/*
 * Copyright 2022 GlobalFoundries PDK Authors
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

library(gf180mcu_fd_sc_mcu7t5v0__tt_025C_3v30) { 
  delay_model : table_lookup ; 
  library_features(report_delay_calculation, report_power_calculation);
  time_unit : 1ns ; 
  voltage_unit : 1V ; 
  current_unit : 1mA ; 
  capacitive_load_unit(1, pf);
  pulling_resistance_unit : 1ohm ; 
  leakage_power_unit : 1uW ; 
  input_threshold_pct_fall : 50 ; 
  input_threshold_pct_rise : 50 ; 
  output_threshold_pct_fall : 50 ; 
  output_threshold_pct_rise : 50 ; 
  slew_derate_from_library : 0.5 ; 
  slew_lower_threshold_pct_fall : 30 ; 
  slew_lower_threshold_pct_rise : 30 ; 
  slew_upper_threshold_pct_fall : 70 ; 
  slew_upper_threshold_pct_rise : 70 ; 
  nom_process : 1 ; 
  nom_temperature : 25 ; 
  nom_voltage : 3.3 ; 
  voltage_map(VNW, 3.3);
  voltage_map(VDD, 3.3);
  voltage_map(VSS, 0);
  voltage_map(VPW, 0);

  operating_conditions(gf180mcu_fd_sc_mcu7t5v0__tt_025C_3v30) { 
    process : 1 ; 
    temperature : 25 ; 
    voltage : 3.3 ; 
  }

  input_voltage(default) { 
    vil : 0 ; 
    vih : 3.3 ; 
    vimin : 0 ; 
    vimax : 3.3 ; 
  }

  output_voltage(default) { 
    vol : 0 ; 
    voh : 3.3 ; 
    vomin : 0 ; 
    vomax : 3.3 ; 
  }

  lu_table_template(cnst_ctin_rtin_10x10) { 
    variable_1 : constrained_pin_transition ; 
    variable_2 : related_pin_transition ; 
    index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
    index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
  }

  lu_table_template(ndw_ntin_nvolt_10x13) { 
    variable_1 : input_net_transition ; 
    variable_2 : normalized_voltage ; 
    index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
    index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13");
  }

  lu_table_template(tmg_ntin_10) { 
    variable_1 : input_net_transition ; 
    index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
  }

  lu_table_template(tmg_ntin_oload_10x10) { 
    variable_1 : input_net_transition ; 
    variable_2 : total_output_net_capacitance ; 
    index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
    index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
  }

  power_lut_template(pwr_tin_10) { 
    variable_1 : input_transition_time ; 
    index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
  }

  power_lut_template(pwr_tin_oload_10x10) { 
    variable_1 : input_transition_time ; 
    variable_2 : total_output_net_capacitance ; 
    index_1("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
    index_2("1, 2, 3, 4, 5, 6, 7, 8, 9, 10");
  }

  normalized_driver_waveform(ndw_ntin_nvolt_10x13) { 
    driver_waveform_name : "driver_waveform_default_fall" ; 
    index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
    index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
    values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
           "0, 0.009903, 0.01981, 0.02971, 0.03961, 0.04951, 0.05942, 0.06932, 0.07922, 0.08912, 0.09903, 0.1089, 0.1188",\
           "0, 0.03589, 0.07177, 0.1077, 0.1435, 0.1794, 0.2153, 0.2512, 0.2871, 0.323, 0.3589, 0.3948, 0.4306",\
           "0, 0.08551, 0.171, 0.2565, 0.342, 0.4275, 0.513, 0.5986, 0.6841, 0.7696, 0.8551, 0.9406, 1.026",\
           "0, 0.1628, 0.3256, 0.4884, 0.6513, 0.8141, 0.9769, 1.14, 1.303, 1.465, 1.628, 1.791, 1.954",\
           "0, 0.2713, 0.5426, 0.8139, 1.085, 1.356, 1.628, 1.899, 2.17, 2.442, 2.713, 2.984, 3.255",\
           "0, 0.414, 0.828, 1.242, 1.656, 2.07, 2.484, 2.898, 3.312, 3.726, 4.14, 4.554, 4.968",\
           "0, 0.5938, 1.188, 1.782, 2.375, 2.969, 3.563, 4.157, 4.751, 5.345, 5.938, 6.532, 7.126",\
           "0, 0.8134, 1.627, 2.44, 3.253, 4.067, 4.88, 5.693, 6.507, 7.32, 8.134, 8.947, 9.76",\
           "0, 1.075, 2.15, 3.225, 4.3, 5.375, 6.45, 7.525, 8.6, 9.675, 10.75, 11.82, 12.9");
  }

  normalized_driver_waveform(ndw_ntin_nvolt_10x13) { 
    driver_waveform_name : "driver_waveform_default_rise" ; 
    index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
    index_2("0, 0.05, 0.1674, 0.3, 0.4168, 0.5209, 0.6146, 0.7, 0.7786, 0.8518, 0.9205, 0.9857, 1");
    values("0, 0.0025, 0.005, 0.0075, 0.01, 0.0125, 0.015, 0.0175, 0.02, 0.0225, 0.025, 0.0275, 0.03",\
           "0, 0.009903, 0.01981, 0.02971, 0.03961, 0.04951, 0.05942, 0.06932, 0.07922, 0.08912, 0.09903, 0.1089, 0.1188",\
           "0, 0.03589, 0.07177, 0.1077, 0.1435, 0.1794, 0.2153, 0.2512, 0.2871, 0.323, 0.3589, 0.3948, 0.4306",\
           "0, 0.08551, 0.171, 0.2565, 0.342, 0.4275, 0.513, 0.5986, 0.6841, 0.7696, 0.8551, 0.9406, 1.026",\
           "0, 0.1628, 0.3256, 0.4884, 0.6513, 0.8141, 0.9769, 1.14, 1.303, 1.465, 1.628, 1.791, 1.954",\
           "0, 0.2713, 0.5426, 0.8139, 1.085, 1.356, 1.628, 1.899, 2.17, 2.442, 2.713, 2.984, 3.255",\
           "0, 0.414, 0.828, 1.242, 1.656, 2.07, 2.484, 2.898, 3.312, 3.726, 4.14, 4.554, 4.968",\
           "0, 0.5938, 1.188, 1.782, 2.375, 2.969, 3.563, 4.157, 4.751, 5.345, 5.938, 6.532, 7.126",\
           "0, 0.8134, 1.627, 2.44, 3.253, 4.067, 4.88, 5.693, 6.507, 7.32, 8.134, 8.947, 9.76",\
           "0, 1.075, 2.15, 3.225, 4.3, 5.375, 6.45, 7.525, 8.6, 9.675, 10.75, 11.82, 12.9");
  }


  cell(gf180mcu_fd_sc_mcu7t5v0__addf_1) {
    area : 72.441600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B&!CI" ;
      value : "0.0001243044" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B&CI" ;
      value : "0.0001154373" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B&!CI" ;
      value : "0.000121473" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B&CI" ;
      value : "0.0001232649" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B&!CI" ;
      value : "0.0001192092" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B&CI" ;
      value : "0.0001214829" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B&!CI" ;
      value : "0.0001124937" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B&CI" ;
      value : "0.0001190211" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001243044" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A) {
      capacitance : 0.01156 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(B) {
      capacitance : 0.01124 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CI) {
      capacitance : 0.009417 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CO) {
      direction : output ;
      function : "((A&B)|(A&CI)|(B&CI))" ;
      max_capacitance : 0.3582 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1393, 0.1363, 0.1297, 0.1247, 0.1218, 0.1195, 0.1179, 0.117, 0.1164, 0.1159",\
                 "0.1389, 0.1358, 0.1292, 0.1243, 0.1212, 0.119, 0.1176, 0.1167, 0.116, 0.1156",\
                 "0.1385, 0.1354, 0.1289, 0.124, 0.1209, 0.1186, 0.1172, 0.1163, 0.1157, 0.1152",\
                 "0.1393, 0.1362, 0.1296, 0.1247, 0.1217, 0.1194, 0.1179, 0.1171, 0.1164, 0.1159",\
                 "0.1444, 0.1409, 0.1339, 0.1284, 0.125, 0.1227, 0.121, 0.12, 0.1193, 0.1188",\
                 "0.1537, 0.1501, 0.1423, 0.136, 0.1319, 0.1292, 0.1272, 0.126, 0.125, 0.1244",\
                 "0.1678, 0.1638, 0.155, 0.1476, 0.1424, 0.139, 0.1367, 0.1352, 0.1341, 0.1333",\
                 "0.1863, 0.1819, 0.1719, 0.1632, 0.1569, 0.1526, 0.1493, 0.1473, 0.146, 0.145",\
                 "0.2092, 0.2049, 0.1935, 0.183, 0.1754, 0.1701, 0.1664, 0.1637, 0.1618, 0.1604",\
                 "0.2364, 0.2313, 0.2192, 0.207, 0.198, 0.191, 0.1864, 0.1831, 0.1806, 0.1789");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.06386, 0.06247, 0.06021, 0.05874, 0.05865, 0.05908, 0.05935, 0.06002, 0.06024, 0.06371",\
                 "0.06354, 0.06214, 0.05978, 0.05825, 0.05832, 0.05888, 0.05905, 0.05939, 0.05994, 0.06314",\
                 "0.06314, 0.06171, 0.05929, 0.05794, 0.05775, 0.05837, 0.05861, 0.05885, 0.05957, 0.06338",\
                 "0.06418, 0.06271, 0.06008, 0.05844, 0.05808, 0.05854, 0.05881, 0.05902, 0.05937, 0.06333",\
                 "0.06872, 0.06677, 0.06377, 0.06142, 0.06063, 0.06083, 0.06081, 0.06105, 0.06164, 0.06591",\
                 "0.07659, 0.07459, 0.07051, 0.06728, 0.06587, 0.06547, 0.06528, 0.06509, 0.06574, 0.07136",\
                 "0.08829, 0.08579, 0.08114, 0.07662, 0.07418, 0.07329, 0.0726, 0.07189, 0.07266, 0.07922",\
                 "0.1041, 0.101, 0.09502, 0.08951, 0.08578, 0.08367, 0.08348, 0.08273, 0.08274, 0.09113",\
                 "0.1233, 0.1196, 0.1127, 0.106, 0.1012, 0.09786, 0.09629, 0.09629, 0.09624, 0.1087",\
                 "0.1463, 0.142, 0.1338, 0.1263, 0.1203, 0.1155, 0.1126, 0.1117, 0.1137, 0.1321");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1332, 0.1302, 0.1246, 0.1205, 0.1182, 0.1164, 0.1152, 0.1144, 0.1139, 0.1136",\
                 "0.133, 0.13, 0.1243, 0.1204, 0.118, 0.1162, 0.115, 0.1143, 0.1138, 0.1135",\
                 "0.1327, 0.1298, 0.1241, 0.1201, 0.1178, 0.1159, 0.1148, 0.1141, 0.1136, 0.1132",\
                 "0.1332, 0.1301, 0.1244, 0.1203, 0.1181, 0.1163, 0.115, 0.1143, 0.1137, 0.1134",\
                 "0.1375, 0.1344, 0.1281, 0.1234, 0.1207, 0.1187, 0.1174, 0.1166, 0.116, 0.1156",\
                 "0.1461, 0.1428, 0.1358, 0.1303, 0.1268, 0.1243, 0.1227, 0.1218, 0.1211, 0.1205",\
                 "0.1601, 0.1563, 0.148, 0.1415, 0.1368, 0.1338, 0.1319, 0.1305, 0.1296, 0.129",\
                 "0.1784, 0.1742, 0.165, 0.1567, 0.1511, 0.147, 0.1444, 0.1426, 0.1416, 0.1406",\
                 "0.2016, 0.197, 0.1866, 0.1765, 0.1693, 0.1645, 0.161, 0.1588, 0.1572, 0.1558",\
                 "0.2287, 0.2237, 0.2123, 0.2005, 0.1919, 0.1855, 0.1813, 0.1783, 0.1762, 0.1745");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.06851, 0.06688, 0.06437, 0.06242, 0.06226, 0.06272, 0.0628, 0.06313, 0.06408, 0.06755",\
                 "0.06807, 0.06642, 0.06404, 0.06197, 0.06177, 0.06227, 0.06264, 0.06301, 0.06339, 0.0667",\
                 "0.06756, 0.06593, 0.06344, 0.0615, 0.06124, 0.06164, 0.06191, 0.06228, 0.06286, 0.067",\
                 "0.06872, 0.06706, 0.06441, 0.06229, 0.06183, 0.06213, 0.06243, 0.0627, 0.06306, 0.06725",\
                 "0.07342, 0.07155, 0.06842, 0.06569, 0.06461, 0.06461, 0.06468, 0.06492, 0.06542, 0.06959",\
                 "0.08138, 0.07923, 0.07525, 0.07173, 0.07012, 0.06966, 0.06927, 0.06908, 0.06953, 0.07482",\
                 "0.09301, 0.09049, 0.08554, 0.08113, 0.07852, 0.07747, 0.07668, 0.0763, 0.0769, 0.08392",\
                 "0.1083, 0.1052, 0.09953, 0.09387, 0.09005, 0.08816, 0.08758, 0.0866, 0.0867, 0.09529",\
                 "0.127, 0.1234, 0.1168, 0.1102, 0.1054, 0.1022, 0.1005, 0.1008, 0.1005, 0.1127",\
                 "0.1495, 0.1452, 0.1377, 0.13, 0.1241, 0.1195, 0.1166, 0.1156, 0.1185, 0.1364");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1387, 0.1355, 0.129, 0.124, 0.121, 0.1187, 0.1172, 0.1164, 0.1157, 0.1152",\
                 "0.1384, 0.1352, 0.1287, 0.1237, 0.1208, 0.1185, 0.1169, 0.116, 0.1154, 0.1149",\
                 "0.1378, 0.1345, 0.1281, 0.1231, 0.1201, 0.1179, 0.1163, 0.1155, 0.1148, 0.1144",\
                 "0.1384, 0.1351, 0.1285, 0.1236, 0.1207, 0.1184, 0.117, 0.1161, 0.1154, 0.115",\
                 "0.1428, 0.1395, 0.1324, 0.1271, 0.1237, 0.1212, 0.1196, 0.1187, 0.118, 0.1175",\
                 "0.1532, 0.1495, 0.1413, 0.1348, 0.1304, 0.1273, 0.1253, 0.124, 0.1232, 0.1224",\
                 "0.1667, 0.1629, 0.1533, 0.1454, 0.14, 0.1364, 0.1338, 0.1321, 0.131, 0.1301",\
                 "0.1838, 0.1794, 0.1691, 0.1595, 0.153, 0.1478, 0.1449, 0.1428, 0.1412, 0.1401",\
                 "0.2049, 0.2002, 0.1885, 0.1775, 0.1693, 0.1636, 0.1593, 0.1566, 0.1544, 0.1531",\
                 "0.2303, 0.2251, 0.2121, 0.1992, 0.1898, 0.1824, 0.1774, 0.1738, 0.1712, 0.1692");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.06552, 0.06398, 0.0617, 0.06029, 0.0601, 0.06076, 0.06084, 0.06104, 0.06172, 0.06582",\
                 "0.06541, 0.06395, 0.06152, 0.06011, 0.06008, 0.06068, 0.06068, 0.06122, 0.0618, 0.06461",\
                 "0.06513, 0.06369, 0.06127, 0.05981, 0.05965, 0.06034, 0.06042, 0.06089, 0.06134, 0.06544",\
                 "0.06611, 0.06458, 0.06184, 0.06012, 0.05973, 0.06033, 0.06037, 0.06071, 0.06137, 0.06495",\
                 "0.06964, 0.06772, 0.06467, 0.06231, 0.06149, 0.06172, 0.06196, 0.06197, 0.0625, 0.067",\
                 "0.07664, 0.07447, 0.07038, 0.06732, 0.06587, 0.06558, 0.06529, 0.06516, 0.06581, 0.07142",\
                 "0.08727, 0.08461, 0.07955, 0.07545, 0.07289, 0.07219, 0.07134, 0.07115, 0.07148, 0.07798",\
                 "0.1013, 0.09805, 0.09202, 0.08665, 0.08286, 0.08074, 0.08062, 0.0802, 0.08057, 0.08868",\
                 "0.1185, 0.1147, 0.1077, 0.1009, 0.09619, 0.09283, 0.09102, 0.09149, 0.09216, 0.1035",\
                 "0.1387, 0.1344, 0.1261, 0.1185, 0.1128, 0.1082, 0.105, 0.1039, 0.1061, 0.1249");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1314, 0.1285, 0.1231, 0.1193, 0.1169, 0.1151, 0.114, 0.1133, 0.1128, 0.1124",\
                 "0.1309, 0.128, 0.1225, 0.1188, 0.1165, 0.1147, 0.1136, 0.1129, 0.1124, 0.112",\
                 "0.1303, 0.1273, 0.122, 0.1182, 0.1159, 0.1141, 0.1129, 0.1122, 0.1117, 0.1113",\
                 "0.1304, 0.1275, 0.122, 0.1182, 0.1159, 0.1141, 0.1128, 0.1123, 0.1118, 0.1114",\
                 "0.1343, 0.1312, 0.1251, 0.1208, 0.1182, 0.1162, 0.1147, 0.1141, 0.1134, 0.113",\
                 "0.142, 0.1387, 0.132, 0.1268, 0.1236, 0.1213, 0.1197, 0.1188, 0.1181, 0.1177",\
                 "0.1551, 0.1514, 0.1435, 0.1371, 0.1328, 0.1299, 0.1281, 0.1268, 0.1259, 0.1253",\
                 "0.1725, 0.1685, 0.1594, 0.1511, 0.146, 0.1418, 0.1394, 0.1376, 0.1364, 0.1355",\
                 "0.1944, 0.1898, 0.1796, 0.1698, 0.1629, 0.1581, 0.1547, 0.1524, 0.1508, 0.1496",\
                 "0.2201, 0.2154, 0.2038, 0.1922, 0.1838, 0.1777, 0.1735, 0.1706, 0.1685, 0.167");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.07335, 0.07171, 0.06928, 0.06735, 0.06706, 0.06762, 0.06792, 0.06803, 0.06901, 0.07257",\
                 "0.07339, 0.07172, 0.0693, 0.06735, 0.06706, 0.06762, 0.06795, 0.06816, 0.06868, 0.07158",\
                 "0.07318, 0.07155, 0.06908, 0.06715, 0.06686, 0.06729, 0.06742, 0.06796, 0.06831, 0.07192",\
                 "0.07426, 0.07259, 0.06992, 0.06778, 0.06739, 0.06772, 0.06779, 0.06807, 0.06855, 0.07294",\
                 "0.07963, 0.07755, 0.07437, 0.07134, 0.07016, 0.07015, 0.0702, 0.0704, 0.07034, 0.07535",\
                 "0.08764, 0.08543, 0.0811, 0.07734, 0.07557, 0.07487, 0.07425, 0.07403, 0.07444, 0.08054",\
                 "0.09935, 0.09653, 0.09142, 0.08661, 0.08365, 0.08213, 0.08112, 0.08069, 0.081, 0.08811",\
                 "0.1144, 0.1112, 0.1053, 0.09906, 0.09517, 0.0927, 0.09175, 0.09103, 0.09092, 0.1004",\
                 "0.1331, 0.1292, 0.1222, 0.115, 0.1098, 0.106, 0.1041, 0.104, 0.1039, 0.1177",\
                 "0.1553, 0.151, 0.1426, 0.1345, 0.1282, 0.1232, 0.12, 0.1189, 0.1214, 0.1418");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1216, 0.1187, 0.113, 0.109, 0.1067, 0.1049, 0.1037, 0.103, 0.1025, 0.1021",\
                 "0.1216, 0.1187, 0.113, 0.109, 0.1067, 0.1048, 0.1037, 0.1029, 0.1025, 0.1021",\
                 "0.1216, 0.1187, 0.113, 0.109, 0.1066, 0.1049, 0.1037, 0.103, 0.1025, 0.1021",\
                 "0.1226, 0.1195, 0.1139, 0.1099, 0.1075, 0.1057, 0.1046, 0.1039, 0.1034, 0.1031",\
                 "0.1279, 0.1248, 0.1184, 0.1136, 0.1108, 0.1086, 0.1072, 0.1064, 0.106, 0.1056",\
                 "0.1379, 0.1343, 0.1268, 0.1208, 0.117, 0.1142, 0.1124, 0.1113, 0.1106, 0.1101",\
                 "0.1515, 0.1475, 0.1386, 0.131, 0.1261, 0.1226, 0.1203, 0.1189, 0.1179, 0.1172",\
                 "0.1684, 0.1638, 0.1535, 0.1447, 0.1383, 0.1339, 0.1308, 0.1288, 0.1273, 0.1263",\
                 "0.1893, 0.1843, 0.1724, 0.1618, 0.1542, 0.1485, 0.1446, 0.1418, 0.1402, 0.1388",\
                 "0.214, 0.2085, 0.1956, 0.1829, 0.1737, 0.1665, 0.1615, 0.158, 0.1558, 0.154");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.07259, 0.0711, 0.06878, 0.06727, 0.06708, 0.06774, 0.06785, 0.06809, 0.06873, 0.0718",\
                 "0.07269, 0.0713, 0.06885, 0.06739, 0.06713, 0.06769, 0.06773, 0.0681, 0.06882, 0.07294",\
                 "0.07294, 0.07141, 0.06893, 0.06751, 0.06722, 0.06788, 0.06798, 0.06819, 0.06891, 0.07331",\
                 "0.07506, 0.0735, 0.07062, 0.06866, 0.06808, 0.06857, 0.06861, 0.06878, 0.06966, 0.07332",\
                 "0.08067, 0.07866, 0.07504, 0.07215, 0.07087, 0.0708, 0.07061, 0.07059, 0.07128, 0.07552",\
                 "0.0887, 0.08645, 0.0818, 0.07797, 0.07583, 0.0751, 0.07445, 0.07432, 0.07457, 0.08003",\
                 "0.1001, 0.09724, 0.09186, 0.08682, 0.0835, 0.08218, 0.08093, 0.08051, 0.08085, 0.08721",\
                 "0.1147, 0.1112, 0.1046, 0.09853, 0.09395, 0.09121, 0.09053, 0.08988, 0.08959, 0.09822",\
                 "0.1324, 0.1282, 0.1206, 0.1131, 0.1077, 0.1035, 0.1011, 0.1011, 0.1016, 0.1144",\
                 "0.1532, 0.1484, 0.1395, 0.1312, 0.1245, 0.1192, 0.1152, 0.1138, 0.116, 0.1352");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1231, 0.1201, 0.1146, 0.1107, 0.1083, 0.1064, 0.1052, 0.1044, 0.1039, 0.1035",\
                 "0.123, 0.1201, 0.1145, 0.1107, 0.1083, 0.1064, 0.1052, 0.1044, 0.1039, 0.1035",\
                 "0.123, 0.1201, 0.1145, 0.1106, 0.1083, 0.1064, 0.1052, 0.1044, 0.1039, 0.1035",\
                 "0.1241, 0.1213, 0.1157, 0.1117, 0.1092, 0.1074, 0.1061, 0.1054, 0.1049, 0.1045",\
                 "0.1301, 0.127, 0.1205, 0.1157, 0.1128, 0.1107, 0.1092, 0.1083, 0.1078, 0.1073",\
                 "0.1406, 0.1369, 0.1293, 0.1232, 0.1193, 0.1164, 0.1146, 0.1134, 0.1126, 0.112",\
                 "0.1542, 0.1504, 0.1415, 0.1338, 0.1288, 0.1252, 0.1228, 0.1212, 0.1201, 0.1193",\
                 "0.1718, 0.1673, 0.1569, 0.1478, 0.1412, 0.1366, 0.1334, 0.1312, 0.1297, 0.1286",\
                 "0.1931, 0.1884, 0.1767, 0.1653, 0.1574, 0.1516, 0.1474, 0.1445, 0.1425, 0.1409",\
                 "0.218, 0.2128, 0.1998, 0.1869, 0.1771, 0.1699, 0.1645, 0.1608, 0.1581, 0.1562");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.07108, 0.0696, 0.06729, 0.0658, 0.06574, 0.06623, 0.06647, 0.06691, 0.06746, 0.07059",\
                 "0.07118, 0.06979, 0.0674, 0.06588, 0.06582, 0.06641, 0.06669, 0.06696, 0.06747, 0.07075",\
                 "0.07141, 0.06999, 0.06748, 0.0661, 0.06594, 0.06653, 0.06677, 0.06711, 0.06769, 0.07137",\
                 "0.07305, 0.07156, 0.06883, 0.06704, 0.06665, 0.06711, 0.06719, 0.06749, 0.06829, 0.0719",\
                 "0.07821, 0.07635, 0.07316, 0.07017, 0.06915, 0.06912, 0.06912, 0.06907, 0.06983, 0.07499",\
                 "0.08577, 0.08357, 0.07939, 0.0758, 0.07393, 0.0732, 0.07265, 0.07275, 0.07336, 0.07846",\
                 "0.09656, 0.09393, 0.08891, 0.08411, 0.08131, 0.08009, 0.079, 0.07898, 0.07896, 0.08566",\
                 "0.1106, 0.1075, 0.1012, 0.09536, 0.09128, 0.089, 0.08861, 0.08776, 0.08808, 0.09647",\
                 "0.128, 0.1241, 0.1166, 0.1097, 0.1045, 0.1008, 0.09869, 0.09896, 0.09919, 0.1114",\
                 "0.1484, 0.1438, 0.1354, 0.1275, 0.1213, 0.1164, 0.1127, 0.1114, 0.114, 0.1336");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.7689, 0.8234, 0.9654, 1.164, 1.412, 1.714, 2.082, 2.533, 3.078, 3.726",\
                 "0.7795, 0.8338, 0.9757, 1.174, 1.423, 1.724, 2.093, 2.543, 3.088, 3.736",\
                 "0.8181, 0.8728, 1.014, 1.213, 1.461, 1.763, 2.131, 2.582, 3.127, 3.775",\
                 "0.8964, 0.9508, 1.093, 1.291, 1.539, 1.841, 2.209, 2.659, 3.204, 3.852",\
                 "1.036, 1.09, 1.233, 1.431, 1.68, 1.981, 2.349, 2.8, 3.344, 3.992",\
                 "1.226, 1.282, 1.43, 1.633, 1.885, 2.188, 2.556, 3.006, 3.551, 4.199",\
                 "1.466, 1.526, 1.678, 1.887, 2.144, 2.452, 2.822, 3.273, 3.817, 4.465",\
                 "1.752, 1.814, 1.974, 2.191, 2.456, 2.769, 3.142, 3.594, 4.139, 4.787",\
                 "2.076, 2.142, 2.311, 2.539, 2.815, 3.137, 3.516, 3.97, 4.516, 5.163",\
                 "2.439, 2.509, 2.687, 2.927, 3.217, 3.551, 3.939, 4.399, 4.947, 5.596");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.5366, 0.5852, 0.7283, 0.9657, 1.32, 1.81, 2.452, 3.26, 4.247, 5.425",\
                 "0.548, 0.5964, 0.7398, 0.9772, 1.331, 1.822, 2.464, 3.272, 4.258, 5.436",\
                 "0.5787, 0.627, 0.7703, 1.008, 1.362, 1.852, 2.494, 3.303, 4.289, 5.467",\
                 "0.6273, 0.6755, 0.8185, 1.056, 1.409, 1.899, 2.541, 3.35, 4.336, 5.514",\
                 "0.6816, 0.731, 0.8767, 1.115, 1.468, 1.958, 2.6, 3.408, 4.394, 5.572",\
                 "0.7227, 0.7746, 0.9237, 1.165, 1.518, 2.007, 2.648, 3.456, 4.441, 5.62",\
                 "0.7411, 0.7956, 0.9503, 1.196, 1.551, 2.039, 2.679, 3.486, 4.472, 5.648",\
                 "0.7314, 0.7891, 0.9495, 1.203, 1.562, 2.051, 2.69, 3.496, 4.481, 5.655",\
                 "0.6884, 0.75, 0.9181, 1.179, 1.546, 2.039, 2.679, 3.484, 4.468, 5.642",\
                 "0.6116, 0.6772, 0.8528, 1.123, 1.498, 1.999, 2.644, 3.45, 4.433, 5.606");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.224, 0.2744, 0.4053, 0.6074, 0.8944, 1.29, 1.835, 2.551, 3.448, 4.529",\
                 "0.2244, 0.2735, 0.4047, 0.6074, 0.8942, 1.29, 1.835, 2.551, 3.449, 4.53",\
                 "0.2246, 0.2739, 0.4046, 0.607, 0.894, 1.29, 1.834, 2.551, 3.448, 4.529",\
                 "0.224, 0.274, 0.4046, 0.6072, 0.8942, 1.29, 1.834, 2.551, 3.449, 4.531",\
                 "0.2298, 0.2792, 0.409, 0.6106, 0.8962, 1.291, 1.835, 2.552, 3.449, 4.531",\
                 "0.2446, 0.2964, 0.4292, 0.628, 0.9088, 1.299, 1.839, 2.553, 3.45, 4.532",\
                 "0.2634, 0.317, 0.4516, 0.6524, 0.9324, 1.316, 1.849, 2.559, 3.452, 4.534",\
                 "0.2906, 0.3458, 0.4846, 0.6858, 0.9626, 1.339, 1.865, 2.568, 3.457, 4.536",\
                 "0.32, 0.3786, 0.5256, 0.7304, 1.007, 1.377, 1.892, 2.583, 3.464, 4.538",\
                 "0.3498, 0.4132, 0.5686, 0.7806, 1.063, 1.433, 1.938, 2.613, 3.482, 4.546");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.164, 0.2245, 0.4211, 0.7886, 1.389, 2.239, 3.364, 4.786, 6.524, 8.599",\
                 "0.164, 0.2252, 0.4205, 0.7887, 1.389, 2.238, 3.365, 4.79, 6.523, 8.596",\
                 "0.1641, 0.2251, 0.4215, 0.7888, 1.389, 2.239, 3.362, 4.784, 6.527, 8.601",\
                 "0.1638, 0.225, 0.4222, 0.7892, 1.389, 2.239, 3.362, 4.784, 6.527, 8.601",\
                 "0.1746, 0.2354, 0.4322, 0.7948, 1.39, 2.239, 3.365, 4.791, 6.523, 8.601",\
                 "0.1884, 0.2486, 0.4462, 0.8056, 1.396, 2.241, 3.366, 4.793, 6.524, 8.604",\
                 "0.2066, 0.267, 0.4646, 0.822, 1.403, 2.244, 3.369, 4.796, 6.526, 8.602",\
                 "0.2284, 0.2896, 0.4904, 0.8482, 1.421, 2.252, 3.369, 4.789, 6.53, 8.599",\
                 "0.2528, 0.3154, 0.5174, 0.879, 1.451, 2.272, 3.378, 4.791, 6.525, 8.594",\
                 "0.2786, 0.3438, 0.546, 0.9132, 1.487, 2.308, 3.403, 4.803, 6.529, 8.596");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.731, 0.7825, 0.9188, 1.113, 1.359, 1.661, 2.029, 2.48, 3.025, 3.672",\
                 "0.746, 0.7978, 0.9342, 1.128, 1.374, 1.676, 2.044, 2.495, 3.04, 3.688",\
                 "0.7964, 0.848, 0.9843, 1.178, 1.425, 1.726, 2.095, 2.545, 3.09, 3.738",\
                 "0.8782, 0.93, 1.066, 1.26, 1.506, 1.808, 2.176, 2.627, 3.172, 3.82",\
                 "1.008, 1.06, 1.197, 1.392, 1.639, 1.94, 2.309, 2.759, 3.304, 3.952",\
                 "1.184, 1.238, 1.38, 1.58, 1.832, 2.135, 2.505, 2.955, 3.5, 4.147",\
                 "1.413, 1.47, 1.618, 1.824, 2.081, 2.389, 2.761, 3.213, 3.757, 4.405",\
                 "1.688, 1.749, 1.904, 2.12, 2.385, 2.7, 3.075, 3.528, 4.073, 4.721",\
                 "2.004, 2.068, 2.233, 2.46, 2.738, 3.062, 3.444, 3.899, 4.445, 5.093",\
                 "2.359, 2.427, 2.602, 2.841, 3.133, 3.471, 3.863, 4.325, 4.874, 5.522");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.5489, 0.5977, 0.7416, 0.98, 1.334, 1.825, 2.468, 3.277, 4.264, 5.439",\
                 "0.5551, 0.6037, 0.7477, 0.9858, 1.34, 1.831, 2.474, 3.282, 4.269, 5.446",\
                 "0.577, 0.6259, 0.7696, 1.008, 1.362, 1.853, 2.495, 3.304, 4.291, 5.466",\
                 "0.6249, 0.6735, 0.8171, 1.055, 1.408, 1.899, 2.542, 3.35, 4.337, 5.513",\
                 "0.6831, 0.7329, 0.8786, 1.117, 1.47, 1.96, 2.602, 3.41, 4.396, 5.573",\
                 "0.7278, 0.7796, 0.9284, 1.169, 1.522, 2.012, 2.653, 3.461, 4.447, 5.624",\
                 "0.7504, 0.8041, 0.9573, 1.202, 1.557, 2.046, 2.686, 3.494, 4.479, 5.654",\
                 "0.7439, 0.8004, 0.9588, 1.21, 1.568, 2.058, 2.698, 3.505, 4.49, 5.665",\
                 "0.7044, 0.7641, 0.9283, 1.186, 1.552, 2.046, 2.688, 3.493, 4.478, 5.652",\
                 "0.6287, 0.6922, 0.8633, 1.129, 1.502, 2.003, 2.65, 3.458, 4.442, 5.616");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.2068, 0.2555, 0.3852, 0.5929, 0.8868, 1.287, 1.833, 2.55, 3.446, 4.528",\
                 "0.2077, 0.2569, 0.3853, 0.5926, 0.8864, 1.287, 1.833, 2.551, 3.446, 4.529",\
                 "0.2068, 0.2555, 0.3852, 0.5928, 0.8864, 1.287, 1.833, 2.549, 3.446, 4.527",\
                 "0.2068, 0.2554, 0.3854, 0.5926, 0.8866, 1.287, 1.833, 2.551, 3.447, 4.53",\
                 "0.216, 0.2632, 0.3918, 0.5972, 0.8896, 1.289, 1.834, 2.55, 3.446, 4.526",\
                 "0.2296, 0.2806, 0.4124, 0.6174, 0.9048, 1.298, 1.839, 2.553, 3.447, 4.526",\
                 "0.25, 0.3016, 0.4358, 0.643, 0.9296, 1.318, 1.852, 2.56, 3.451, 4.531",\
                 "0.2776, 0.3312, 0.4712, 0.6786, 0.9624, 1.344, 1.87, 2.571, 3.455, 4.534",\
                 "0.3058, 0.3644, 0.512, 0.7248, 1.011, 1.385, 1.898, 2.586, 3.464, 4.534",\
                 "0.338, 0.3996, 0.5564, 0.7772, 1.071, 1.445, 1.948, 2.62, 3.482, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1682, 0.2288, 0.4246, 0.7927, 1.391, 2.241, 3.367, 4.793, 6.524, 8.603",\
                 "0.1678, 0.2284, 0.4246, 0.7918, 1.39, 2.241, 3.369, 4.79, 6.528, 8.599",\
                 "0.1678, 0.2284, 0.4245, 0.7924, 1.39, 2.242, 3.367, 4.788, 6.524, 8.601",\
                 "0.1674, 0.2284, 0.4248, 0.792, 1.391, 2.241, 3.365, 4.795, 6.526, 8.603",\
                 "0.1772, 0.2376, 0.433, 0.7964, 1.392, 2.242, 3.368, 4.792, 6.524, 8.597",\
                 "0.1884, 0.2488, 0.4456, 0.806, 1.397, 2.243, 3.368, 4.785, 6.529, 8.599",\
                 "0.2046, 0.265, 0.4632, 0.821, 1.405, 2.247, 3.369, 4.796, 6.526, 8.602",\
                 "0.2238, 0.2846, 0.4836, 0.844, 1.422, 2.256, 3.373, 4.79, 6.526, 8.6",\
                 "0.245, 0.3062, 0.5072, 0.8718, 1.45, 2.277, 3.384, 4.795, 6.529, 8.599",\
                 "0.2672, 0.3304, 0.5326, 0.9014, 1.482, 2.311, 3.41, 4.81, 6.535, 8.599");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.7689, 0.8234, 0.9654, 1.164, 1.412, 1.714, 2.082, 2.533, 3.078, 3.726",\
                 "0.7795, 0.8338, 0.9757, 1.174, 1.423, 1.724, 2.093, 2.543, 3.088, 3.736",\
                 "0.8181, 0.8728, 1.014, 1.213, 1.461, 1.763, 2.131, 2.582, 3.127, 3.775",\
                 "0.8964, 0.9508, 1.093, 1.291, 1.539, 1.841, 2.209, 2.659, 3.204, 3.852",\
                 "1.036, 1.09, 1.233, 1.431, 1.68, 1.981, 2.349, 2.8, 3.344, 3.992",\
                 "1.226, 1.282, 1.43, 1.633, 1.885, 2.188, 2.556, 3.006, 3.551, 4.199",\
                 "1.466, 1.526, 1.678, 1.887, 2.144, 2.452, 2.822, 3.273, 3.817, 4.465",\
                 "1.752, 1.814, 1.974, 2.191, 2.456, 2.769, 3.142, 3.594, 4.139, 4.787",\
                 "2.076, 2.142, 2.311, 2.539, 2.815, 3.137, 3.516, 3.97, 4.516, 5.163",\
                 "2.439, 2.509, 2.687, 2.927, 3.217, 3.551, 3.939, 4.399, 4.947, 5.596");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.5489, 0.5977, 0.7416, 0.98, 1.334, 1.825, 2.468, 3.277, 4.264, 5.439",\
                 "0.5551, 0.6037, 0.7477, 0.9858, 1.34, 1.831, 2.474, 3.282, 4.269, 5.446",\
                 "0.577, 0.6259, 0.7696, 1.008, 1.362, 1.853, 2.495, 3.304, 4.291, 5.466",\
                 "0.6249, 0.6735, 0.8171, 1.055, 1.408, 1.899, 2.542, 3.35, 4.337, 5.513",\
                 "0.6831, 0.7329, 0.8786, 1.117, 1.47, 1.96, 2.602, 3.41, 4.396, 5.573",\
                 "0.7278, 0.7796, 0.9284, 1.169, 1.522, 2.012, 2.653, 3.461, 4.447, 5.624",\
                 "0.7504, 0.8041, 0.9573, 1.202, 1.557, 2.046, 2.686, 3.494, 4.479, 5.654",\
                 "0.7439, 0.8004, 0.9588, 1.21, 1.568, 2.058, 2.698, 3.505, 4.49, 5.665",\
                 "0.7044, 0.7641, 0.9283, 1.186, 1.552, 2.046, 2.688, 3.493, 4.478, 5.652",\
                 "0.6287, 0.6922, 0.8633, 1.129, 1.502, 2.003, 2.65, 3.458, 4.442, 5.616");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.224, 0.2744, 0.4053, 0.6074, 0.8944, 1.29, 1.835, 2.551, 3.448, 4.529",\
                 "0.2244, 0.2735, 0.4047, 0.6074, 0.8942, 1.29, 1.835, 2.551, 3.449, 4.53",\
                 "0.2246, 0.2739, 0.4046, 0.607, 0.894, 1.29, 1.834, 2.551, 3.448, 4.529",\
                 "0.224, 0.274, 0.4046, 0.6072, 0.8942, 1.29, 1.834, 2.551, 3.449, 4.531",\
                 "0.2298, 0.2792, 0.409, 0.6106, 0.8962, 1.291, 1.835, 2.552, 3.449, 4.531",\
                 "0.2446, 0.2964, 0.4292, 0.628, 0.9088, 1.299, 1.839, 2.553, 3.45, 4.532",\
                 "0.2634, 0.317, 0.4516, 0.6524, 0.9324, 1.316, 1.849, 2.559, 3.452, 4.534",\
                 "0.2906, 0.3458, 0.4846, 0.6858, 0.9626, 1.339, 1.865, 2.568, 3.457, 4.536",\
                 "0.32, 0.3786, 0.5256, 0.7304, 1.007, 1.377, 1.892, 2.583, 3.464, 4.538",\
                 "0.3498, 0.4132, 0.5686, 0.7806, 1.063, 1.433, 1.938, 2.613, 3.482, 4.546");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.164, 0.2245, 0.4211, 0.7886, 1.389, 2.239, 3.364, 4.786, 6.524, 8.599",\
                 "0.164, 0.2252, 0.4205, 0.7887, 1.389, 2.238, 3.365, 4.79, 6.523, 8.596",\
                 "0.1641, 0.2251, 0.4215, 0.7888, 1.389, 2.239, 3.362, 4.784, 6.527, 8.601",\
                 "0.1638, 0.225, 0.4222, 0.7892, 1.389, 2.239, 3.362, 4.784, 6.527, 8.601",\
                 "0.1746, 0.2354, 0.4322, 0.7948, 1.39, 2.239, 3.365, 4.791, 6.523, 8.601",\
                 "0.1884, 0.2486, 0.4462, 0.8056, 1.396, 2.241, 3.366, 4.793, 6.524, 8.604",\
                 "0.2066, 0.267, 0.4646, 0.822, 1.403, 2.244, 3.369, 4.796, 6.526, 8.602",\
                 "0.2284, 0.2896, 0.4904, 0.8482, 1.421, 2.252, 3.369, 4.789, 6.53, 8.599",\
                 "0.2528, 0.3154, 0.5174, 0.879, 1.451, 2.272, 3.378, 4.791, 6.525, 8.594",\
                 "0.2786, 0.3438, 0.546, 0.9132, 1.487, 2.308, 3.403, 4.803, 6.529, 8.596");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.769, 0.8236, 0.9654, 1.164, 1.413, 1.714, 2.083, 2.533, 3.078, 3.726",\
                 "0.7794, 0.834, 0.9759, 1.175, 1.423, 1.725, 2.093, 2.543, 3.088, 3.737",\
                 "0.8252, 0.8799, 1.022, 1.221, 1.469, 1.77, 2.139, 2.589, 3.134, 3.782",\
                 "0.9382, 0.9927, 1.134, 1.333, 1.581, 1.883, 2.251, 2.701, 3.246, 3.894",\
                 "1.136, 1.19, 1.332, 1.53, 1.778, 2.08, 2.448, 2.898, 3.443, 4.091",\
                 "1.398, 1.455, 1.602, 1.804, 2.054, 2.356, 2.724, 3.174, 3.719, 4.367",\
                 "1.708, 1.768, 1.922, 2.13, 2.387, 2.692, 3.062, 3.513, 4.057, 4.705",\
                 "2.073, 2.137, 2.297, 2.513, 2.775, 3.085, 3.457, 3.909, 4.453, 5.101",\
                 "2.492, 2.559, 2.729, 2.955, 3.224, 3.539, 3.913, 4.365, 4.911, 5.559",\
                 "2.964, 3.035, 3.215, 3.453, 3.733, 4.055, 4.434, 4.888, 5.434, 6.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.5047, 0.5539, 0.6994, 0.9394, 1.294, 1.785, 2.427, 3.235, 4.221, 5.398",\
                 "0.5188, 0.5682, 0.7135, 0.9535, 1.308, 1.799, 2.441, 3.249, 4.236, 5.413",\
                 "0.5506, 0.5997, 0.7452, 0.9851, 1.339, 1.83, 2.473, 3.281, 4.267, 5.444",\
                 "0.5969, 0.6463, 0.7919, 1.032, 1.385, 1.876, 2.518, 3.326, 4.312, 5.49",\
                 "0.6374, 0.6888, 0.839, 1.082, 1.437, 1.927, 2.569, 3.377, 4.362, 5.541",\
                 "0.6614, 0.7149, 0.8689, 1.116, 1.472, 1.964, 2.605, 3.412, 4.398, 5.575",\
                 "0.6568, 0.7127, 0.8716, 1.124, 1.482, 1.973, 2.615, 3.422, 4.408, 5.583",\
                 "0.615, 0.6738, 0.8391, 1.099, 1.463, 1.954, 2.595, 3.402, 4.388, 5.562",\
                 "0.5307, 0.593, 0.7651, 1.033, 1.405, 1.902, 2.544, 3.35, 4.335, 5.51",\
                 "0.4014, 0.4676, 0.6462, 0.923, 1.304, 1.808, 2.456, 3.265, 4.249, 5.423");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.2242, 0.274, 0.4049, 0.6076, 0.894, 1.29, 1.835, 2.552, 3.448, 4.53",\
                 "0.2242, 0.2738, 0.4049, 0.6076, 0.894, 1.29, 1.835, 2.551, 3.448, 4.529",\
                 "0.2238, 0.2754, 0.4048, 0.6076, 0.8936, 1.29, 1.834, 2.551, 3.449, 4.53",\
                 "0.2252, 0.2742, 0.4044, 0.6074, 0.8938, 1.29, 1.834, 2.551, 3.449, 4.531",\
                 "0.2266, 0.2772, 0.4074, 0.6096, 0.8954, 1.291, 1.835, 2.551, 3.447, 4.53",\
                 "0.2502, 0.3006, 0.4298, 0.6264, 0.9068, 1.298, 1.838, 2.553, 3.45, 4.531",\
                 "0.2746, 0.3282, 0.4578, 0.6536, 0.9306, 1.314, 1.848, 2.557, 3.451, 4.531",\
                 "0.3018, 0.357, 0.492, 0.684, 0.9564, 1.335, 1.863, 2.566, 3.456, 4.533",\
                 "0.3328, 0.3922, 0.5318, 0.723, 0.9896, 1.359, 1.878, 2.577, 3.463, 4.538",\
                 "0.3662, 0.4302, 0.5804, 0.7724, 1.034, 1.394, 1.901, 2.591, 3.473, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1668, 0.229, 0.4269, 0.7923, 1.39, 2.24, 3.365, 4.795, 6.525, 8.602",\
                 "0.1665, 0.2285, 0.4267, 0.7923, 1.39, 2.24, 3.364, 4.786, 6.521, 8.601",\
                 "0.1667, 0.2288, 0.4262, 0.7919, 1.39, 2.24, 3.365, 4.794, 6.525, 8.602",\
                 "0.1695, 0.2308, 0.4288, 0.7936, 1.39, 2.24, 3.365, 4.789, 6.522, 8.596",\
                 "0.1816, 0.2444, 0.4424, 0.8038, 1.394, 2.24, 3.366, 4.791, 6.522, 8.597",\
                 "0.1954, 0.2576, 0.4576, 0.8166, 1.404, 2.246, 3.366, 4.795, 6.525, 8.602",\
                 "0.212, 0.2756, 0.4796, 0.835, 1.412, 2.251, 3.372, 4.792, 6.524, 8.6",\
                 "0.2328, 0.296, 0.504, 0.863, 1.433, 2.259, 3.374, 4.794, 6.53, 8.598",\
                 "0.2576, 0.322, 0.5302, 0.8954, 1.465, 2.282, 3.387, 4.796, 6.53, 8.598",\
                 "0.2828, 0.349, 0.5572, 0.9298, 1.501, 2.319, 3.417, 4.81, 6.535, 8.603");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.6791, 0.7319, 0.8719, 1.073, 1.328, 1.638, 2.013, 2.467, 3.013, 3.662",\
                 "0.6941, 0.7467, 0.8868, 1.088, 1.343, 1.653, 2.028, 2.482, 3.028, 3.676",\
                 "0.7404, 0.7931, 0.9331, 1.134, 1.389, 1.699, 2.074, 2.528, 3.074, 3.723",\
                 "0.822, 0.8744, 1.014, 1.214, 1.469, 1.779, 2.154, 2.608, 3.155, 3.803",\
                 "0.947, 1, 1.141, 1.343, 1.599, 1.909, 2.284, 2.738, 3.285, 3.933",\
                 "1.112, 1.165, 1.308, 1.515, 1.778, 2.092, 2.469, 2.924, 3.47, 4.119",\
                 "1.321, 1.377, 1.523, 1.734, 2.002, 2.323, 2.705, 3.163, 3.71, 4.358",\
                 "1.564, 1.623, 1.777, 1.996, 2.274, 2.601, 2.988, 3.449, 3.999, 4.648",\
                 "1.837, 1.9, 2.064, 2.293, 2.583, 2.923, 3.317, 3.782, 4.334, 4.985",\
                 "2.141, 2.207, 2.381, 2.622, 2.923, 3.278, 3.687, 4.162, 4.718, 5.37");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.5535, 0.6021, 0.7464, 0.9846, 1.339, 1.83, 2.473, 3.282, 4.268, 5.443",\
                 "0.5656, 0.614, 0.7582, 0.9964, 1.351, 1.842, 2.485, 3.293, 4.279, 5.457",\
                 "0.607, 0.6558, 0.7997, 1.038, 1.392, 1.883, 2.526, 3.334, 4.321, 5.497",\
                 "0.6909, 0.7393, 0.8825, 1.12, 1.474, 1.965, 2.607, 3.416, 4.402, 5.579",\
                 "0.7945, 0.8435, 0.9884, 1.226, 1.578, 2.068, 2.71, 3.518, 4.504, 5.68",\
                 "0.8783, 0.9292, 1.077, 1.316, 1.669, 2.158, 2.799, 3.606, 4.592, 5.768",\
                 "0.9425, 0.996, 1.147, 1.389, 1.741, 2.229, 2.87, 3.677, 4.662, 5.838",\
                 "0.9818, 1.039, 1.196, 1.442, 1.796, 2.284, 2.923, 3.73, 4.715, 5.89",\
                 "0.9961, 1.056, 1.22, 1.473, 1.831, 2.32, 2.959, 3.765, 4.749, 5.923",\
                 "0.9826, 1.047, 1.217, 1.478, 1.843, 2.336, 2.978, 3.783, 4.767, 5.941");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.2059, 0.2569, 0.3952, 0.6115, 0.9134, 1.316, 1.857, 2.566, 3.453, 4.53",\
                 "0.2057, 0.2573, 0.3946, 0.6123, 0.9134, 1.316, 1.857, 2.565, 3.453, 4.529",\
                 "0.2055, 0.2564, 0.3948, 0.612, 0.9134, 1.316, 1.857, 2.565, 3.453, 4.531",\
                 "0.2046, 0.2558, 0.3944, 0.6114, 0.9136, 1.316, 1.856, 2.566, 3.455, 4.533",\
                 "0.2118, 0.2642, 0.4024, 0.6182, 0.9178, 1.319, 1.858, 2.566, 3.455, 4.534",\
                 "0.2214, 0.2734, 0.4162, 0.6402, 0.9412, 1.335, 1.866, 2.571, 3.456, 4.53",\
                 "0.2442, 0.2958, 0.4352, 0.6612, 0.9664, 1.362, 1.89, 2.585, 3.464, 4.534",\
                 "0.2734, 0.327, 0.4694, 0.6952, 1.002, 1.392, 1.914, 2.605, 3.48, 4.547",\
                 "0.303, 0.361, 0.509, 0.7392, 1.055, 1.442, 1.951, 2.629, 3.494, 4.555",\
                 "0.3358, 0.3972, 0.5532, 0.7878, 1.112, 1.511, 2.016, 2.675, 3.523, 4.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1679, 0.2288, 0.4252, 0.7921, 1.391, 2.242, 3.369, 4.794, 6.523, 8.603",\
                 "0.1678, 0.229, 0.4246, 0.7928, 1.391, 2.241, 3.369, 4.793, 6.524, 8.602",\
                 "0.1679, 0.2285, 0.4243, 0.7926, 1.391, 2.241, 3.364, 4.795, 6.527, 8.603",\
                 "0.1666, 0.2276, 0.4242, 0.7924, 1.39, 2.241, 3.365, 4.786, 6.528, 8.596",\
                 "0.1764, 0.2366, 0.4316, 0.7962, 1.392, 2.241, 3.368, 4.787, 6.529, 8.597",\
                 "0.191, 0.2504, 0.445, 0.8058, 1.397, 2.244, 3.368, 4.786, 6.528, 8.597",\
                 "0.2084, 0.2662, 0.4612, 0.816, 1.403, 2.249, 3.369, 4.797, 6.528, 8.604",\
                 "0.23, 0.288, 0.4812, 0.8348, 1.413, 2.254, 3.373, 4.794, 6.529, 8.597",\
                 "0.2542, 0.3122, 0.5054, 0.86, 1.434, 2.265, 3.378, 4.795, 6.532, 8.602",\
                 "0.279, 0.341, 0.5344, 0.8892, 1.461, 2.289, 3.396, 4.805, 6.537, 8.602");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.769, 0.8236, 0.9654, 1.164, 1.413, 1.714, 2.083, 2.533, 3.078, 3.726",\
                 "0.7794, 0.834, 0.9759, 1.175, 1.423, 1.725, 2.093, 2.543, 3.088, 3.737",\
                 "0.8252, 0.8799, 1.022, 1.221, 1.469, 1.77, 2.139, 2.589, 3.134, 3.782",\
                 "0.9382, 0.9927, 1.134, 1.333, 1.581, 1.883, 2.251, 2.701, 3.246, 3.894",\
                 "1.136, 1.19, 1.332, 1.53, 1.778, 2.08, 2.448, 2.898, 3.443, 4.091",\
                 "1.398, 1.455, 1.602, 1.804, 2.054, 2.356, 2.724, 3.174, 3.719, 4.367",\
                 "1.708, 1.768, 1.922, 2.13, 2.387, 2.692, 3.062, 3.513, 4.057, 4.705",\
                 "2.073, 2.137, 2.297, 2.513, 2.775, 3.085, 3.457, 3.909, 4.453, 5.101",\
                 "2.492, 2.559, 2.729, 2.955, 3.224, 3.539, 3.913, 4.365, 4.911, 5.559",\
                 "2.964, 3.035, 3.215, 3.453, 3.733, 4.055, 4.434, 4.888, 5.434, 6.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.5535, 0.6021, 0.7464, 0.9846, 1.339, 1.83, 2.473, 3.282, 4.268, 5.443",\
                 "0.5656, 0.614, 0.7582, 0.9964, 1.351, 1.842, 2.485, 3.293, 4.279, 5.457",\
                 "0.607, 0.6558, 0.7997, 1.038, 1.392, 1.883, 2.526, 3.334, 4.321, 5.497",\
                 "0.6909, 0.7393, 0.8825, 1.12, 1.474, 1.965, 2.607, 3.416, 4.402, 5.579",\
                 "0.7945, 0.8435, 0.9884, 1.226, 1.578, 2.068, 2.71, 3.518, 4.504, 5.68",\
                 "0.8783, 0.9292, 1.077, 1.316, 1.669, 2.158, 2.799, 3.606, 4.592, 5.768",\
                 "0.9425, 0.996, 1.147, 1.389, 1.741, 2.229, 2.87, 3.677, 4.662, 5.838",\
                 "0.9818, 1.039, 1.196, 1.442, 1.796, 2.284, 2.923, 3.73, 4.715, 5.89",\
                 "0.9961, 1.056, 1.22, 1.473, 1.831, 2.32, 2.959, 3.765, 4.749, 5.923",\
                 "0.9826, 1.047, 1.217, 1.478, 1.843, 2.336, 2.978, 3.783, 4.767, 5.941");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.2059, 0.2569, 0.3952, 0.6115, 0.9134, 1.316, 1.857, 2.566, 3.453, 4.53",\
                 "0.2057, 0.2573, 0.3946, 0.6123, 0.9134, 1.316, 1.857, 2.565, 3.453, 4.529",\
                 "0.2055, 0.2564, 0.3948, 0.612, 0.9134, 1.316, 1.857, 2.565, 3.453, 4.531",\
                 "0.2046, 0.2558, 0.3944, 0.6114, 0.9136, 1.316, 1.856, 2.566, 3.455, 4.533",\
                 "0.2118, 0.2642, 0.4024, 0.6182, 0.9178, 1.319, 1.858, 2.566, 3.455, 4.534",\
                 "0.2214, 0.2734, 0.4162, 0.6402, 0.9412, 1.335, 1.866, 2.571, 3.456, 4.53",\
                 "0.2442, 0.2958, 0.4352, 0.6612, 0.9664, 1.362, 1.89, 2.585, 3.464, 4.534",\
                 "0.2734, 0.327, 0.4694, 0.6952, 1.002, 1.392, 1.914, 2.605, 3.48, 4.547",\
                 "0.303, 0.361, 0.509, 0.7392, 1.055, 1.442, 1.951, 2.629, 3.494, 4.555",\
                 "0.3358, 0.3972, 0.5532, 0.7878, 1.112, 1.511, 2.016, 2.675, 3.523, 4.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1679, 0.2288, 0.4252, 0.7921, 1.391, 2.242, 3.369, 4.794, 6.523, 8.603",\
                 "0.1678, 0.229, 0.4246, 0.7928, 1.391, 2.241, 3.369, 4.793, 6.524, 8.602",\
                 "0.1679, 0.2285, 0.4243, 0.7926, 1.391, 2.241, 3.364, 4.795, 6.527, 8.603",\
                 "0.1666, 0.2276, 0.4242, 0.7924, 1.39, 2.241, 3.365, 4.786, 6.528, 8.596",\
                 "0.1764, 0.2366, 0.4316, 0.7962, 1.392, 2.241, 3.368, 4.787, 6.529, 8.597",\
                 "0.191, 0.2504, 0.445, 0.8058, 1.397, 2.244, 3.368, 4.786, 6.528, 8.597",\
                 "0.2084, 0.2662, 0.4612, 0.816, 1.403, 2.249, 3.369, 4.797, 6.528, 8.604",\
                 "0.23, 0.288, 0.4812, 0.8348, 1.413, 2.254, 3.373, 4.794, 6.529, 8.597",\
                 "0.2542, 0.3122, 0.5054, 0.86, 1.434, 2.265, 3.378, 4.795, 6.532, 8.602",\
                 "0.279, 0.341, 0.5344, 0.8892, 1.461, 2.289, 3.396, 4.805, 6.537, 8.602");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.6349, 0.6869, 0.8233, 1.017, 1.264, 1.565, 1.933, 2.384, 2.929, 3.577",\
                 "0.6501, 0.7022, 0.8385, 1.032, 1.279, 1.58, 1.949, 2.399, 2.944, 3.592",\
                 "0.7048, 0.7566, 0.8929, 1.087, 1.333, 1.634, 2.003, 2.453, 2.998, 3.646",\
                 "0.8244, 0.8762, 1.012, 1.206, 1.452, 1.753, 2.122, 2.572, 3.117, 3.765",\
                 "1.022, 1.074, 1.21, 1.404, 1.65, 1.951, 2.319, 2.77, 3.315, 3.963",\
                 "1.268, 1.323, 1.464, 1.663, 1.912, 2.215, 2.583, 3.033, 3.578, 4.226",\
                 "1.556, 1.614, 1.761, 1.966, 2.221, 2.528, 2.898, 3.349, 3.894, 4.541",\
                 "1.889, 1.951, 2.108, 2.32, 2.581, 2.891, 3.264, 3.716, 4.261, 4.908",\
                 "2.264, 2.331, 2.498, 2.723, 2.993, 3.309, 3.684, 4.138, 4.683, 5.331",\
                 "2.682, 2.752, 2.93, 3.169, 3.453, 3.779, 4.161, 4.617, 5.163, 5.81");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.461, 0.51, 0.6557, 0.8955, 1.25, 1.741, 2.383, 3.191, 4.177, 5.355",\
                 "0.4736, 0.5229, 0.6683, 0.9082, 1.262, 1.753, 2.396, 3.203, 4.19, 5.365",\
                 "0.5173, 0.5664, 0.7119, 0.9516, 1.306, 1.797, 2.439, 3.247, 4.234, 5.41",\
                 "0.5999, 0.6488, 0.7936, 1.032, 1.386, 1.877, 2.519, 3.327, 4.313, 5.49",\
                 "0.6821, 0.7325, 0.8794, 1.12, 1.473, 1.962, 2.603, 3.411, 4.397, 5.574",\
                 "0.742, 0.7948, 0.945, 1.187, 1.54, 2.029, 2.67, 3.476, 4.462, 5.639",\
                 "0.776, 0.8319, 0.9875, 1.233, 1.587, 2.074, 2.714, 3.52, 4.505, 5.68",\
                 "0.7774, 0.8367, 0.9987, 1.252, 1.609, 2.095, 2.733, 3.539, 4.523, 5.697",\
                 "0.743, 0.8062, 0.9766, 1.237, 1.6, 2.09, 2.727, 3.531, 4.515, 5.688",\
                 "0.669, 0.7368, 0.9157, 1.185, 1.556, 2.051, 2.692, 3.496, 4.478, 5.651");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.2063, 0.2562, 0.3849, 0.5924, 0.886, 1.287, 1.833, 2.551, 3.447, 4.53",\
                 "0.2063, 0.2552, 0.3849, 0.5926, 0.8862, 1.287, 1.833, 2.55, 3.446, 4.527",\
                 "0.2068, 0.255, 0.3849, 0.5924, 0.886, 1.287, 1.833, 2.551, 3.446, 4.528",\
                 "0.2058, 0.2546, 0.3846, 0.5926, 0.886, 1.286, 1.833, 2.55, 3.445, 4.527",\
                 "0.2136, 0.2612, 0.3902, 0.5962, 0.8886, 1.288, 1.834, 2.55, 3.446, 4.526",\
                 "0.2384, 0.2868, 0.4136, 0.6166, 0.9032, 1.296, 1.838, 2.552, 3.448, 4.526",\
                 "0.2628, 0.3138, 0.4424, 0.6422, 0.9266, 1.315, 1.85, 2.558, 3.449, 4.53",\
                 "0.2922, 0.3484, 0.478, 0.6754, 0.9534, 1.334, 1.864, 2.568, 3.457, 4.534",\
                 "0.327, 0.3856, 0.5244, 0.7216, 0.993, 1.363, 1.882, 2.579, 3.464, 4.537",\
                 "0.364, 0.4276, 0.5766, 0.7782, 1.046, 1.409, 1.914, 2.599, 3.473, 4.542");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1667, 0.2288, 0.427, 0.7923, 1.391, 2.24, 3.365, 4.793, 6.523, 8.596",\
                 "0.1667, 0.229, 0.4268, 0.7921, 1.39, 2.239, 3.362, 4.795, 6.526, 8.601",\
                 "0.1673, 0.2283, 0.4265, 0.7919, 1.39, 2.24, 3.365, 4.795, 6.526, 8.602",\
                 "0.1678, 0.2298, 0.4284, 0.793, 1.391, 2.24, 3.365, 4.784, 6.52, 8.6",\
                 "0.1812, 0.242, 0.4394, 0.8, 1.393, 2.24, 3.365, 4.795, 6.526, 8.6",\
                 "0.1964, 0.2566, 0.4532, 0.8112, 1.399, 2.243, 3.366, 4.79, 6.526, 8.598",\
                 "0.2186, 0.2772, 0.4722, 0.826, 1.407, 2.247, 3.368, 4.793, 6.523, 8.594",\
                 "0.2432, 0.3028, 0.4982, 0.8512, 1.421, 2.252, 3.371, 4.79, 6.532, 8.596",\
                 "0.2702, 0.3326, 0.5278, 0.881, 1.447, 2.267, 3.375, 4.795, 6.526, 8.602",\
                 "0.2978, 0.3626, 0.5598, 0.915, 1.479, 2.298, 3.395, 4.8, 6.531, 8.598");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.5965, 0.65, 0.7921, 0.9942, 1.25, 1.56, 1.935, 2.389, 2.935, 3.584",\
                 "0.6114, 0.665, 0.8069, 1.009, 1.265, 1.575, 1.95, 2.404, 2.95, 3.599",\
                 "0.666, 0.7194, 0.8616, 1.064, 1.319, 1.629, 2.004, 2.458, 3.005, 3.653",\
                 "0.7869, 0.8402, 0.9818, 1.184, 1.439, 1.75, 2.125, 2.579, 3.125, 3.773",\
                 "0.983, 1.037, 1.179, 1.381, 1.637, 1.947, 2.322, 2.776, 3.323, 3.971",\
                 "1.223, 1.28, 1.429, 1.637, 1.896, 2.208, 2.584, 3.038, 3.584, 4.232",\
                 "1.507, 1.568, 1.724, 1.938, 2.204, 2.521, 2.899, 3.354, 3.9, 4.548",\
                 "1.835, 1.899, 2.065, 2.289, 2.562, 2.884, 3.265, 3.722, 4.269, 4.917",\
                 "2.204, 2.273, 2.451, 2.688, 2.971, 3.3, 3.685, 4.144, 4.692, 5.34",\
                 "2.615, 2.688, 2.878, 3.131, 3.428, 3.769, 4.162, 4.624, 5.172, 5.821");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.4858, 0.5342, 0.6773, 0.9147, 1.269, 1.759, 2.401, 3.21, 4.195, 5.374",\
                 "0.4986, 0.547, 0.6901, 0.9276, 1.282, 1.772, 2.414, 3.222, 4.209, 5.386",\
                 "0.5421, 0.5904, 0.7335, 0.971, 1.325, 1.815, 2.457, 3.266, 4.252, 5.43",\
                 "0.626, 0.6741, 0.8168, 1.053, 1.407, 1.897, 2.539, 3.347, 4.333, 5.512",\
                 "0.7145, 0.764, 0.9086, 1.146, 1.498, 1.987, 2.628, 3.436, 4.422, 5.598",\
                 "0.7805, 0.8315, 0.9785, 1.217, 1.57, 2.058, 2.699, 3.506, 4.492, 5.668",\
                 "0.8194, 0.8734, 1.025, 1.267, 1.619, 2.106, 2.746, 3.552, 4.538, 5.713",\
                 "0.8268, 0.8839, 1.041, 1.289, 1.643, 2.129, 2.768, 3.574, 4.558, 5.732",\
                 "0.7982, 0.8588, 1.023, 1.278, 1.637, 2.126, 2.764, 3.568, 4.552, 5.726",\
                 "0.7293, 0.794, 0.9666, 1.229, 1.595, 2.089, 2.73, 3.534, 4.518, 5.691");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.2092, 0.2612, 0.3996, 0.615, 0.9152, 1.317, 1.857, 2.565, 3.454, 4.53",\
                 "0.2089, 0.2613, 0.3999, 0.6153, 0.9156, 1.317, 1.857, 2.565, 3.453, 4.53",\
                 "0.2093, 0.2612, 0.3996, 0.6154, 0.9156, 1.317, 1.858, 2.565, 3.453, 4.529",\
                 "0.2082, 0.261, 0.4, 0.6154, 0.9156, 1.318, 1.858, 2.566, 3.453, 4.53",\
                 "0.2194, 0.2706, 0.4072, 0.6204, 0.9194, 1.32, 1.859, 2.566, 3.454, 4.531",\
                 "0.2444, 0.2978, 0.4334, 0.643, 0.9358, 1.33, 1.864, 2.568, 3.455, 4.532",\
                 "0.2712, 0.3278, 0.465, 0.6722, 0.9628, 1.351, 1.879, 2.576, 3.458, 4.531",\
                 "0.3026, 0.3644, 0.5058, 0.7096, 0.994, 1.375, 1.896, 2.589, 3.468, 4.539",\
                 "0.3394, 0.405, 0.5572, 0.7602, 1.039, 1.41, 1.919, 2.604, 3.477, 4.544",\
                 "0.3748, 0.4474, 0.6126, 0.8206, 1.097, 1.461, 1.959, 2.627, 3.49, 4.551");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1639, 0.2244, 0.4208, 0.7888, 1.389, 2.239, 3.365, 4.79, 6.523, 8.603",\
                 "0.1641, 0.225, 0.4208, 0.7886, 1.389, 2.239, 3.362, 4.786, 6.525, 8.603",\
                 "0.164, 0.2251, 0.4214, 0.7888, 1.389, 2.239, 3.362, 4.789, 6.522, 8.599",\
                 "0.164, 0.225, 0.4222, 0.789, 1.389, 2.239, 3.365, 4.792, 6.523, 8.602",\
                 "0.1748, 0.2356, 0.4308, 0.7948, 1.39, 2.239, 3.362, 4.795, 6.526, 8.601",\
                 "0.1894, 0.248, 0.4434, 0.8038, 1.396, 2.241, 3.365, 4.786, 6.522, 8.598",\
                 "0.21, 0.2674, 0.4612, 0.8158, 1.401, 2.245, 3.369, 4.787, 6.526, 8.6",\
                 "0.2308, 0.2908, 0.4836, 0.8368, 1.413, 2.248, 3.369, 4.789, 6.53, 8.599",\
                 "0.2566, 0.3166, 0.5104, 0.8636, 1.436, 2.262, 3.374, 4.792, 6.528, 8.603",\
                 "0.2818, 0.345, 0.5398, 0.8948, 1.464, 2.289, 3.392, 4.798, 6.531, 8.6");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.5965, 0.65, 0.7921, 0.9942, 1.25, 1.56, 1.935, 2.389, 2.935, 3.584",\
                 "0.6114, 0.665, 0.8069, 1.009, 1.265, 1.575, 1.95, 2.404, 2.95, 3.599",\
                 "0.666, 0.7194, 0.8616, 1.064, 1.319, 1.629, 2.004, 2.458, 3.005, 3.653",\
                 "0.7869, 0.8402, 0.9818, 1.184, 1.439, 1.75, 2.125, 2.579, 3.125, 3.773",\
                 "0.983, 1.037, 1.179, 1.381, 1.637, 1.947, 2.322, 2.776, 3.323, 3.971",\
                 "1.223, 1.28, 1.429, 1.637, 1.896, 2.208, 2.584, 3.038, 3.584, 4.232",\
                 "1.507, 1.568, 1.724, 1.938, 2.204, 2.521, 2.899, 3.354, 3.9, 4.548",\
                 "1.835, 1.899, 2.065, 2.289, 2.562, 2.884, 3.265, 3.722, 4.269, 4.917",\
                 "2.204, 2.273, 2.451, 2.688, 2.971, 3.3, 3.685, 4.144, 4.692, 5.34",\
                 "2.615, 2.688, 2.878, 3.131, 3.428, 3.769, 4.162, 4.624, 5.172, 5.821");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.4858, 0.5342, 0.6773, 0.9147, 1.269, 1.759, 2.401, 3.21, 4.195, 5.374",\
                 "0.4986, 0.547, 0.6901, 0.9276, 1.282, 1.772, 2.414, 3.222, 4.209, 5.386",\
                 "0.5421, 0.5904, 0.7335, 0.971, 1.325, 1.815, 2.457, 3.266, 4.252, 5.43",\
                 "0.626, 0.6741, 0.8168, 1.053, 1.407, 1.897, 2.539, 3.347, 4.333, 5.512",\
                 "0.7145, 0.764, 0.9086, 1.146, 1.498, 1.987, 2.628, 3.436, 4.422, 5.598",\
                 "0.7805, 0.8315, 0.9785, 1.217, 1.57, 2.058, 2.699, 3.506, 4.492, 5.668",\
                 "0.8194, 0.8734, 1.025, 1.267, 1.619, 2.106, 2.746, 3.552, 4.538, 5.713",\
                 "0.8268, 0.8839, 1.041, 1.289, 1.643, 2.129, 2.768, 3.574, 4.558, 5.732",\
                 "0.7982, 0.8588, 1.023, 1.278, 1.637, 2.126, 2.764, 3.568, 4.552, 5.726",\
                 "0.7293, 0.794, 0.9666, 1.229, 1.595, 2.089, 2.73, 3.534, 4.518, 5.691");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.2092, 0.2612, 0.3996, 0.615, 0.9152, 1.317, 1.857, 2.565, 3.454, 4.53",\
                 "0.2089, 0.2613, 0.3999, 0.6153, 0.9156, 1.317, 1.857, 2.565, 3.453, 4.53",\
                 "0.2093, 0.2612, 0.3996, 0.6154, 0.9156, 1.317, 1.858, 2.565, 3.453, 4.529",\
                 "0.2082, 0.261, 0.4, 0.6154, 0.9156, 1.318, 1.858, 2.566, 3.453, 4.53",\
                 "0.2194, 0.2706, 0.4072, 0.6204, 0.9194, 1.32, 1.859, 2.566, 3.454, 4.531",\
                 "0.2444, 0.2978, 0.4334, 0.643, 0.9358, 1.33, 1.864, 2.568, 3.455, 4.532",\
                 "0.2712, 0.3278, 0.465, 0.6722, 0.9628, 1.351, 1.879, 2.576, 3.458, 4.531",\
                 "0.3026, 0.3644, 0.5058, 0.7096, 0.994, 1.375, 1.896, 2.589, 3.468, 4.539",\
                 "0.3394, 0.405, 0.5572, 0.7602, 1.039, 1.41, 1.919, 2.604, 3.477, 4.544",\
                 "0.3748, 0.4474, 0.6126, 0.8206, 1.097, 1.461, 1.959, 2.627, 3.49, 4.551");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003465, 0.01212, 0.02865, 0.05439, 0.09052, 0.1381, 0.198, 0.2711, 0.3582");
          values("0.1639, 0.2244, 0.4208, 0.7888, 1.389, 2.239, 3.365, 4.79, 6.523, 8.603",\
                 "0.1641, 0.225, 0.4208, 0.7886, 1.389, 2.239, 3.362, 4.786, 6.525, 8.603",\
                 "0.164, 0.2251, 0.4214, 0.7888, 1.389, 2.239, 3.362, 4.789, 6.522, 8.599",\
                 "0.164, 0.225, 0.4222, 0.789, 1.389, 2.239, 3.365, 4.792, 6.523, 8.602",\
                 "0.1748, 0.2356, 0.4308, 0.7948, 1.39, 2.239, 3.362, 4.795, 6.526, 8.601",\
                 "0.1894, 0.248, 0.4434, 0.8038, 1.396, 2.241, 3.365, 4.786, 6.522, 8.598",\
                 "0.21, 0.2674, 0.4612, 0.8158, 1.401, 2.245, 3.369, 4.787, 6.526, 8.6",\
                 "0.2308, 0.2908, 0.4836, 0.8368, 1.413, 2.248, 3.369, 4.789, 6.53, 8.599",\
                 "0.2566, 0.3166, 0.5104, 0.8636, 1.436, 2.262, 3.374, 4.792, 6.528, 8.603",\
                 "0.2818, 0.345, 0.5398, 0.8948, 1.464, 2.289, 3.392, 4.798, 6.531, 8.6");
        }
      }
    }

    pin(S) {
      direction : output ;
      function : "(A^B^CI)" ;
      max_capacitance : 0.358 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1603, 0.157, 0.1503, 0.1455, 0.1423, 0.1404, 0.139, 0.1381, 0.1374, 0.137",\
                 "0.1592, 0.1558, 0.1492, 0.1443, 0.1412, 0.1392, 0.1378, 0.1369, 0.1363, 0.1358",\
                 "0.1582, 0.1548, 0.1482, 0.1434, 0.1402, 0.1382, 0.1369, 0.1359, 0.1353, 0.1349",\
                 "0.1587, 0.1553, 0.1487, 0.1438, 0.1406, 0.1386, 0.1373, 0.1364, 0.1357, 0.1353",\
                 "0.1645, 0.161, 0.1541, 0.1489, 0.1455, 0.1434, 0.1419, 0.141, 0.1403, 0.1398",\
                 "0.1773, 0.1736, 0.1662, 0.1603, 0.1565, 0.1541, 0.1524, 0.1513, 0.1505, 0.15",\
                 "0.198, 0.1941, 0.1859, 0.1791, 0.1745, 0.1715, 0.1694, 0.1681, 0.1671, 0.1665",\
                 "0.227, 0.2228, 0.2135, 0.2054, 0.1997, 0.1958, 0.1932, 0.1915, 0.1902, 0.1893",\
                 "0.2635, 0.259, 0.2485, 0.239, 0.2319, 0.2271, 0.2238, 0.2214, 0.2197, 0.2186",\
                 "0.3074, 0.3026, 0.2909, 0.2798, 0.2714, 0.2653, 0.2611, 0.2581, 0.2559, 0.2544");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.03508, 0.03414, 0.03294, 0.03255, 0.03271, 0.03323, 0.0339, 0.03436, 0.0351, 0.03831",\
                 "0.0345, 0.03359, 0.03244, 0.03202, 0.03218, 0.03283, 0.03334, 0.03384, 0.03454, 0.03789",\
                 "0.03397, 0.03307, 0.03185, 0.0314, 0.03152, 0.03197, 0.03261, 0.03321, 0.03391, 0.03836",\
                 "0.03578, 0.03478, 0.03319, 0.03232, 0.03228, 0.03266, 0.03337, 0.0341, 0.03454, 0.03841",\
                 "0.04181, 0.04039, 0.03828, 0.03714, 0.03644, 0.03669, 0.03713, 0.03757, 0.03842, 0.04289",\
                 "0.0534, 0.0517, 0.04837, 0.04612, 0.04568, 0.04491, 0.04486, 0.04525, 0.04615, 0.05204",\
                 "0.07121, 0.06899, 0.06466, 0.0613, 0.05914, 0.059, 0.05862, 0.05839, 0.05903, 0.0651",\
                 "0.0956, 0.09264, 0.0876, 0.08284, 0.07934, 0.07771, 0.07789, 0.07766, 0.07761, 0.08565",\
                 "0.1263, 0.1229, 0.1166, 0.1107, 0.1061, 0.1035, 0.1022, 0.1027, 0.1032, 0.1139",\
                 "0.1642, 0.1602, 0.1526, 0.1456, 0.1396, 0.1355, 0.1335, 0.1321, 0.1343, 0.151");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "!B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.06708, 0.06493, 0.06166, 0.05935, 0.05787, 0.05737, 0.05711, 0.05688, 0.05675, 0.05661",\
                 "0.06675, 0.06457, 0.06124, 0.059, 0.05748, 0.05702, 0.05675, 0.05652, 0.05636, 0.05626",\
                 "0.06627, 0.06409, 0.06079, 0.05851, 0.05703, 0.05657, 0.05627, 0.05607, 0.05587, 0.05577",\
                 "0.06671, 0.06457, 0.06127, 0.05892, 0.05744, 0.05694, 0.05668, 0.05648, 0.05632, 0.05622",\
                 "0.06952, 0.06734, 0.06398, 0.06163, 0.06028, 0.05979, 0.05949, 0.05926, 0.05913, 0.05899",\
                 "0.07528, 0.07307, 0.06957, 0.06729, 0.06581, 0.06515, 0.06495, 0.06462, 0.06445, 0.06442",\
                 "0.08429, 0.08211, 0.07848, 0.07604, 0.07469, 0.07396, 0.07343, 0.07323, 0.07304, 0.07294",\
                 "0.09685, 0.09458, 0.09098, 0.08851, 0.08689, 0.08639, 0.0859, 0.08563, 0.08544, 0.0853",\
                 "0.1132, 0.1108, 0.1071, 0.1045, 0.1029, 0.1022, 0.1018, 0.1017, 0.1015, 0.1013",\
                 "0.133, 0.1307, 0.1269, 0.1242, 0.1224, 0.1218, 0.1214, 0.1211, 0.1209, 0.1208");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1287, 0.1273, 0.1249, 0.1235, 0.1231, 0.1231, 0.1235, 0.1241, 0.1248, 0.1294",\
                 "0.1283, 0.1269, 0.1245, 0.123, 0.1226, 0.1226, 0.1233, 0.1235, 0.1243, 0.1288",\
                 "0.128, 0.1264, 0.1241, 0.1228, 0.1222, 0.1223, 0.1229, 0.123, 0.1239, 0.1286",\
                 "0.1287, 0.1272, 0.125, 0.1235, 0.1229, 0.123, 0.1233, 0.1237, 0.1246, 0.1298",\
                 "0.1324, 0.1308, 0.1284, 0.1271, 0.1265, 0.1266, 0.1269, 0.1272, 0.1282, 0.1336",\
                 "0.1399, 0.1384, 0.136, 0.1343, 0.1337, 0.1337, 0.134, 0.1344, 0.1355, 0.1434",\
                 "0.1513, 0.1498, 0.1469, 0.1453, 0.1447, 0.1446, 0.1449, 0.1455, 0.1464, 0.1572",\
                 "0.1672, 0.1654, 0.1624, 0.1606, 0.1599, 0.1601, 0.1599, 0.1602, 0.1617, 0.1768",\
                 "0.1871, 0.1853, 0.182, 0.18, 0.1788, 0.1787, 0.1798, 0.1797, 0.1824, 0.2052",\
                 "0.2109, 0.2092, 0.2056, 0.2034, 0.202, 0.2011, 0.2014, 0.2035, 0.2085, 0.2496");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.07045, 0.06841, 0.06524, 0.06299, 0.06154, 0.06101, 0.06072, 0.06045, 0.06029, 0.06016",\
                 "0.07017, 0.06802, 0.06479, 0.06258, 0.06106, 0.06037, 0.0601, 0.05987, 0.05968, 0.05954",\
                 "0.06969, 0.06761, 0.06435, 0.06207, 0.06055, 0.05999, 0.05963, 0.05936, 0.05916, 0.05903",\
                 "0.07036, 0.06825, 0.06501, 0.06274, 0.06125, 0.06063, 0.06033, 0.06003, 0.05987, 0.05973",\
                 "0.07359, 0.07144, 0.06817, 0.06583, 0.06431, 0.06362, 0.06332, 0.06309, 0.06293, 0.06279",\
                 "0.07972, 0.07748, 0.07395, 0.07167, 0.07015, 0.06953, 0.06916, 0.06893, 0.06873, 0.0686",\
                 "0.08867, 0.08646, 0.08276, 0.08045, 0.07907, 0.07831, 0.07778, 0.07748, 0.07725, 0.07712",\
                 "0.1011, 0.09876, 0.0952, 0.09266, 0.0913, 0.09054, 0.09002, 0.08978, 0.08942, 0.08939",\
                 "0.1171, 0.1148, 0.1112, 0.1086, 0.107, 0.1063, 0.1059, 0.1055, 0.1053, 0.1051",\
                 "0.1367, 0.1343, 0.1307, 0.128, 0.1263, 0.1255, 0.1251, 0.1248, 0.1245, 0.1244");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1237, 0.1225, 0.1207, 0.1196, 0.1193, 0.1194, 0.12, 0.1207, 0.1213, 0.1259",\
                 "0.1236, 0.1224, 0.1204, 0.1194, 0.1191, 0.1193, 0.1197, 0.1203, 0.1212, 0.1255",\
                 "0.1233, 0.1221, 0.1201, 0.1191, 0.1188, 0.119, 0.1197, 0.12, 0.121, 0.1255",\
                 "0.1236, 0.1224, 0.1203, 0.1194, 0.1191, 0.1193, 0.1199, 0.1204, 0.121, 0.1258",\
                 "0.1267, 0.1254, 0.1234, 0.1223, 0.122, 0.1223, 0.1228, 0.1233, 0.1241, 0.13",\
                 "0.1334, 0.1319, 0.1299, 0.1288, 0.1284, 0.1286, 0.1292, 0.1296, 0.1304, 0.1379",\
                 "0.1442, 0.143, 0.1404, 0.1392, 0.1391, 0.139, 0.1394, 0.1402, 0.1412, 0.151",\
                 "0.1599, 0.1584, 0.1561, 0.1543, 0.1537, 0.1544, 0.1546, 0.1545, 0.1563, 0.171",\
                 "0.1795, 0.1781, 0.1752, 0.1737, 0.1724, 0.1726, 0.1739, 0.1742, 0.1763, 0.2001",\
                 "0.2035, 0.2018, 0.1988, 0.1968, 0.1957, 0.195, 0.1958, 0.1981, 0.2026, 0.243");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.148, 0.1458, 0.1422, 0.14, 0.1386, 0.1379, 0.1374, 0.1371, 0.1368, 0.1367",\
                 "0.1476, 0.1453, 0.1417, 0.1396, 0.1382, 0.1374, 0.1369, 0.1366, 0.1364, 0.1362",\
                 "0.1471, 0.1448, 0.1412, 0.139, 0.1377, 0.1369, 0.1364, 0.1361, 0.1358, 0.1357",\
                 "0.1481, 0.1458, 0.142, 0.1397, 0.1383, 0.1375, 0.137, 0.1367, 0.1365, 0.1363",\
                 "0.155, 0.1524, 0.148, 0.1451, 0.1434, 0.1424, 0.1417, 0.1413, 0.141, 0.1408",\
                 "0.1686, 0.1657, 0.1605, 0.1567, 0.1543, 0.153, 0.1521, 0.1515, 0.1511, 0.1508",\
                 "0.1907, 0.1873, 0.1808, 0.1759, 0.1726, 0.1706, 0.1694, 0.1685, 0.1679, 0.1675",\
                 "0.2205, 0.2166, 0.2089, 0.2025, 0.1981, 0.1953, 0.1935, 0.1922, 0.1914, 0.1909",\
                 "0.2574, 0.2532, 0.2441, 0.2361, 0.2305, 0.2267, 0.2242, 0.2225, 0.2213, 0.2205",\
                 "0.3012, 0.2968, 0.2864, 0.277, 0.27, 0.2651, 0.2618, 0.2595, 0.2579, 0.2568");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.03803, 0.03641, 0.03405, 0.03276, 0.03229, 0.03225, 0.03259, 0.03322, 0.03389, 0.03741",\
                 "0.03662, 0.035, 0.03272, 0.03134, 0.03087, 0.03103, 0.03117, 0.0318, 0.03247, 0.03609",\
                 "0.03481, 0.03321, 0.03095, 0.02953, 0.02916, 0.02925, 0.02985, 0.03012, 0.03076, 0.03458",\
                 "0.03604, 0.03447, 0.03182, 0.03019, 0.02965, 0.02987, 0.03028, 0.03055, 0.03115, 0.03595",\
                 "0.04188, 0.04008, 0.03722, 0.03537, 0.03434, 0.03416, 0.03428, 0.03477, 0.03556, 0.03977",\
                 "0.05363, 0.05149, 0.04773, 0.04504, 0.04407, 0.04344, 0.04319, 0.04352, 0.04438, 0.04925",\
                 "0.07149, 0.06899, 0.06459, 0.06065, 0.05879, 0.05842, 0.05771, 0.05777, 0.05806, 0.06453",\
                 "0.09566, 0.09273, 0.08758, 0.08269, 0.07948, 0.07779, 0.0784, 0.07764, 0.07777, 0.08621",\
                 "0.1262, 0.1228, 0.1166, 0.1107, 0.1067, 0.1043, 0.1033, 0.1041, 0.104, 0.1156",\
                 "0.1634, 0.1594, 0.1522, 0.1455, 0.1402, 0.1363, 0.1346, 0.1341, 0.1368, 0.1544");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1572, 0.1538, 0.1471, 0.1422, 0.139, 0.137, 0.1357, 0.1348, 0.1341, 0.1337",\
                 "0.1566, 0.1532, 0.1466, 0.1417, 0.1385, 0.1365, 0.1351, 0.1342, 0.1336, 0.1331",\
                 "0.156, 0.1525, 0.1459, 0.141, 0.1378, 0.1358, 0.1345, 0.1335, 0.1329, 0.1324",\
                 "0.1571, 0.1537, 0.147, 0.1421, 0.1388, 0.1368, 0.1355, 0.1346, 0.1339, 0.1335",\
                 "0.164, 0.1605, 0.1533, 0.1479, 0.1445, 0.1422, 0.1407, 0.1396, 0.1389, 0.1384",\
                 "0.1763, 0.1726, 0.1648, 0.1588, 0.1549, 0.1522, 0.1505, 0.1493, 0.1485, 0.1479",\
                 "0.1938, 0.1899, 0.1816, 0.1749, 0.1702, 0.1672, 0.1651, 0.1638, 0.1628, 0.1621",\
                 "0.2178, 0.2136, 0.2044, 0.1966, 0.1912, 0.1875, 0.1849, 0.1832, 0.182, 0.1812",\
                 "0.2483, 0.2439, 0.2337, 0.2246, 0.2179, 0.2134, 0.2102, 0.2081, 0.2065, 0.2055",\
                 "0.2851, 0.2803, 0.2691, 0.2586, 0.2506, 0.2452, 0.2412, 0.2385, 0.2366, 0.2352");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.03144, 0.03056, 0.02973, 0.02954, 0.02982, 0.03051, 0.03115, 0.03161, 0.03265, 0.03602",\
                 "0.03135, 0.03063, 0.02972, 0.02957, 0.02979, 0.03034, 0.03098, 0.03148, 0.03235, 0.0356",\
                 "0.03116, 0.03032, 0.02931, 0.02921, 0.02943, 0.03011, 0.03049, 0.03115, 0.03248, 0.03551",\
                 "0.03326, 0.03228, 0.03094, 0.03036, 0.03038, 0.03094, 0.03154, 0.03204, 0.03284, 0.03744",\
                 "0.03898, 0.03769, 0.03556, 0.03475, 0.03424, 0.03457, 0.03484, 0.03554, 0.03636, 0.04069",\
                 "0.04955, 0.04783, 0.04479, 0.0428, 0.04243, 0.04212, 0.04223, 0.04244, 0.04337, 0.04819",\
                 "0.06516, 0.06291, 0.05906, 0.0557, 0.05398, 0.0538, 0.05385, 0.05366, 0.05427, 0.06059",\
                 "0.08582, 0.08323, 0.07827, 0.07382, 0.07097, 0.06981, 0.06982, 0.07042, 0.0708, 0.07804",\
                 "0.1118, 0.1086, 0.1024, 0.09712, 0.09285, 0.0905, 0.08939, 0.09038, 0.09158, 0.1027",\
                 "0.1435, 0.1396, 0.1325, 0.1262, 0.1208, 0.1171, 0.1148, 0.1144, 0.1167, 0.1338");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.06988, 0.0675, 0.06371, 0.06097, 0.05932, 0.05856, 0.05816, 0.05787, 0.05767, 0.05754",\
                 "0.06982, 0.06741, 0.06362, 0.06088, 0.0592, 0.05847, 0.05811, 0.05781, 0.05764, 0.05748",\
                 "0.06944, 0.0671, 0.06324, 0.0605, 0.05882, 0.05809, 0.05776, 0.05746, 0.05726, 0.05713",\
                 "0.06968, 0.06727, 0.06344, 0.06073, 0.05895, 0.05826, 0.05786, 0.0576, 0.0574, 0.05727",\
                 "0.07159, 0.06921, 0.06535, 0.06265, 0.06103, 0.06037, 0.05997, 0.05971, 0.05951, 0.05935",\
                 "0.07635, 0.07397, 0.07008, 0.06737, 0.06579, 0.06506, 0.06467, 0.06437, 0.06417, 0.06404",\
                 "0.08377, 0.08133, 0.0775, 0.07492, 0.07337, 0.07255, 0.07205, 0.07172, 0.07156, 0.07143",\
                 "0.09439, 0.09218, 0.08822, 0.08555, 0.084, 0.08327, 0.08291, 0.08265, 0.08245, 0.08228",\
                 "0.1084, 0.106, 0.1022, 0.09941, 0.09779, 0.09703, 0.09667, 0.0964, 0.09621, 0.09611",\
                 "0.1254, 0.1233, 0.1194, 0.1166, 0.1149, 0.1141, 0.1138, 0.1135, 0.1132, 0.1131");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1279, 0.1266, 0.1242, 0.1228, 0.1223, 0.1224, 0.1228, 0.1232, 0.1241, 0.1282",\
                 "0.1276, 0.1262, 0.1238, 0.1225, 0.1221, 0.1221, 0.1225, 0.1229, 0.1238, 0.1281",\
                 "0.1271, 0.1256, 0.1232, 0.1219, 0.1214, 0.1215, 0.1219, 0.1225, 0.1236, 0.1275",\
                 "0.1276, 0.1262, 0.1238, 0.1225, 0.1219, 0.1221, 0.1225, 0.1227, 0.1236, 0.1288",\
                 "0.1308, 0.1294, 0.1271, 0.1257, 0.1252, 0.1253, 0.1257, 0.1259, 0.1269, 0.1335",\
                 "0.1384, 0.1369, 0.1343, 0.1329, 0.1323, 0.1322, 0.1326, 0.1332, 0.1342, 0.1418",\
                 "0.149, 0.1474, 0.145, 0.1433, 0.1423, 0.1423, 0.1425, 0.1429, 0.1441, 0.1557",\
                 "0.1634, 0.1617, 0.1587, 0.1566, 0.156, 0.156, 0.1562, 0.1565, 0.1582, 0.175",\
                 "0.1813, 0.1796, 0.1766, 0.1741, 0.173, 0.1727, 0.1737, 0.174, 0.1764, 0.2048",\
                 "0.2032, 0.2014, 0.1979, 0.1953, 0.1938, 0.193, 0.1941, 0.1957, 0.2023, 0.2506");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.07534, 0.07323, 0.07006, 0.06785, 0.0664, 0.06577, 0.06551, 0.06531, 0.06511, 0.06498",\
                 "0.07538, 0.07334, 0.07014, 0.06786, 0.06637, 0.06585, 0.06552, 0.06529, 0.06512, 0.06499",\
                 "0.0751, 0.07305, 0.06988, 0.06767, 0.06622, 0.06566, 0.06533, 0.06506, 0.06493, 0.0648",\
                 "0.07572, 0.07364, 0.07048, 0.06823, 0.06678, 0.06622, 0.06592, 0.06566, 0.06549, 0.06536",\
                 "0.07897, 0.07686, 0.07369, 0.07142, 0.06996, 0.0694, 0.06911, 0.06884, 0.06871, 0.06858",\
                 "0.08498, 0.08284, 0.07947, 0.07709, 0.07571, 0.07518, 0.07488, 0.07459, 0.07439, 0.07429",\
                 "0.09379, 0.09152, 0.08805, 0.08581, 0.08442, 0.08363, 0.08336, 0.08294, 0.08274, 0.08261",\
                 "0.1062, 0.104, 0.1003, 0.09785, 0.09633, 0.0956, 0.09517, 0.09494, 0.09471, 0.09455",\
                 "0.1218, 0.1196, 0.1159, 0.1132, 0.1118, 0.111, 0.1106, 0.1104, 0.1101, 0.11",\
                 "0.1412, 0.1388, 0.135, 0.1323, 0.1306, 0.1298, 0.1294, 0.1292, 0.129, 0.1289");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1234, 0.1219, 0.1197, 0.1184, 0.1179, 0.118, 0.1184, 0.1189, 0.1198, 0.1245",\
                 "0.1228, 0.1214, 0.1192, 0.1179, 0.1174, 0.1176, 0.1179, 0.1184, 0.1195, 0.124",\
                 "0.1222, 0.1209, 0.1184, 0.1173, 0.1169, 0.1171, 0.1174, 0.1181, 0.1187, 0.1233",\
                 "0.1223, 0.1208, 0.1186, 0.1173, 0.1168, 0.1169, 0.1177, 0.1178, 0.1192, 0.124",\
                 "0.1249, 0.1234, 0.1213, 0.1198, 0.1193, 0.1195, 0.1199, 0.1201, 0.1211, 0.1269",\
                 "0.1306, 0.1292, 0.127, 0.1255, 0.125, 0.1251, 0.1254, 0.1259, 0.127, 0.1341",\
                 "0.1405, 0.1392, 0.1363, 0.1351, 0.1346, 0.1346, 0.1351, 0.1355, 0.1367, 0.1462",\
                 "0.1549, 0.1534, 0.1508, 0.149, 0.1483, 0.1489, 0.1492, 0.1497, 0.1508, 0.1651",\
                 "0.173, 0.1715, 0.1688, 0.1671, 0.1658, 0.1659, 0.1671, 0.1674, 0.1697, 0.192",\
                 "0.1952, 0.1936, 0.1908, 0.1887, 0.1876, 0.187, 0.1876, 0.1895, 0.194, 0.233");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1325, 0.1305, 0.1275, 0.1256, 0.1245, 0.1239, 0.1235, 0.1232, 0.123, 0.1229",\
                 "0.1322, 0.1302, 0.127, 0.1253, 0.1242, 0.1236, 0.1232, 0.1229, 0.1227, 0.1226",\
                 "0.1315, 0.1294, 0.1263, 0.1245, 0.1234, 0.1228, 0.1224, 0.1221, 0.122, 0.1219",\
                 "0.1325, 0.1304, 0.1271, 0.1251, 0.124, 0.1233, 0.1229, 0.1227, 0.1225, 0.1224",\
                 "0.1392, 0.1368, 0.1328, 0.1302, 0.1288, 0.1279, 0.1274, 0.127, 0.1268, 0.1267",\
                 "0.1524, 0.1496, 0.1447, 0.1413, 0.1392, 0.1379, 0.1372, 0.1367, 0.1364, 0.1362",\
                 "0.1733, 0.17, 0.1639, 0.1592, 0.1562, 0.1544, 0.1532, 0.1524, 0.1519, 0.1516",\
                 "0.2011, 0.1974, 0.1899, 0.1837, 0.1797, 0.1771, 0.1754, 0.1743, 0.1735, 0.173",\
                 "0.2355, 0.2312, 0.2224, 0.2149, 0.2096, 0.206, 0.2037, 0.202, 0.201, 0.2002",\
                 "0.2762, 0.2718, 0.2615, 0.2525, 0.2458, 0.2412, 0.2381, 0.236, 0.2345, 0.2334");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.04518, 0.04359, 0.04122, 0.03988, 0.03935, 0.03944, 0.03971, 0.04024, 0.04088, 0.04457",\
                 "0.0446, 0.04301, 0.04072, 0.03926, 0.03885, 0.03894, 0.03955, 0.03978, 0.04042, 0.04391",\
                 "0.04398, 0.04238, 0.03983, 0.03846, 0.03796, 0.03835, 0.03843, 0.03896, 0.03992, 0.04339",\
                 "0.04589, 0.04421, 0.04159, 0.03985, 0.03908, 0.03934, 0.03935, 0.04011, 0.04118, 0.04443",\
                 "0.05228, 0.05041, 0.04736, 0.04526, 0.04406, 0.04386, 0.04423, 0.0444, 0.04499, 0.04947",\
                 "0.06402, 0.06192, 0.05797, 0.0551, 0.0538, 0.05303, 0.05255, 0.05292, 0.05355, 0.05886",\
                 "0.08157, 0.07903, 0.07432, 0.07034, 0.06802, 0.06749, 0.06674, 0.06631, 0.06697, 0.07427",\
                 "0.1049, 0.1018, 0.09626, 0.09133, 0.08789, 0.08606, 0.08591, 0.08542, 0.08565, 0.09454",\
                 "0.1341, 0.1306, 0.1239, 0.1181, 0.1138, 0.1106, 0.1094, 0.1098, 0.1104, 0.1233",\
                 "0.169, 0.165, 0.1575, 0.1505, 0.1451, 0.141, 0.1386, 0.1382, 0.1409, 0.1604");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1442, 0.1408, 0.1342, 0.1293, 0.1261, 0.1241, 0.1228, 0.1219, 0.1212, 0.1208",\
                 "0.1433, 0.1399, 0.1333, 0.1285, 0.1253, 0.1233, 0.122, 0.121, 0.1204, 0.12",\
                 "0.1418, 0.1384, 0.1318, 0.127, 0.1238, 0.1219, 0.1205, 0.1196, 0.1189, 0.1185",\
                 "0.1429, 0.1395, 0.1329, 0.128, 0.1249, 0.1229, 0.1216, 0.1207, 0.1201, 0.1196",\
                 "0.1488, 0.1453, 0.1385, 0.1334, 0.13, 0.1279, 0.1265, 0.1255, 0.1249, 0.1244",\
                 "0.1614, 0.1576, 0.1499, 0.1439, 0.1399, 0.1374, 0.1357, 0.1345, 0.1338, 0.1332",\
                 "0.1783, 0.1743, 0.1657, 0.1588, 0.154, 0.1509, 0.1488, 0.1474, 0.1465, 0.1458",\
                 "0.2003, 0.196, 0.1866, 0.1784, 0.1728, 0.169, 0.1665, 0.1648, 0.1636, 0.1627",\
                 "0.2282, 0.2235, 0.2131, 0.2036, 0.1969, 0.1922, 0.1891, 0.1869, 0.1854, 0.1843",\
                 "0.2618, 0.2568, 0.2453, 0.2346, 0.2266, 0.2207, 0.2168, 0.2141, 0.2121, 0.2107");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.05213, 0.0513, 0.05021, 0.04985, 0.05003, 0.05042, 0.05106, 0.05153, 0.05226, 0.05557",\
                 "0.05231, 0.05142, 0.05029, 0.04998, 0.0502, 0.05075, 0.05129, 0.05156, 0.05253, 0.05581",\
                 "0.05228, 0.05132, 0.05022, 0.04988, 0.05013, 0.05055, 0.05123, 0.05162, 0.05243, 0.05638",\
                 "0.05418, 0.05321, 0.05174, 0.05123, 0.05129, 0.05177, 0.05222, 0.05268, 0.05355, 0.05708",\
                 "0.05942, 0.05804, 0.056, 0.05522, 0.05488, 0.05504, 0.05542, 0.05611, 0.0568, 0.06123",\
                 "0.06924, 0.06743, 0.06449, 0.06248, 0.06228, 0.0621, 0.06228, 0.06248, 0.06317, 0.06817",\
                 "0.08362, 0.08148, 0.07738, 0.07417, 0.07247, 0.0726, 0.07258, 0.07248, 0.07342, 0.07925",\
                 "0.1026, 0.09988, 0.09494, 0.09047, 0.08788, 0.08662, 0.08683, 0.08766, 0.08843, 0.09513",\
                 "0.1265, 0.1232, 0.117, 0.1118, 0.1079, 0.1053, 0.1042, 0.105, 0.1069, 0.1165",\
                 "0.155, 0.151, 0.144, 0.1374, 0.1328, 0.129, 0.1269, 0.1262, 0.1288, 0.1449");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.07692, 0.07447, 0.07068, 0.06797, 0.06629, 0.0655, 0.06513, 0.06484, 0.06464, 0.06451",\
                 "0.07697, 0.0746, 0.0708, 0.06803, 0.06638, 0.06565, 0.06523, 0.06496, 0.06476, 0.0646",\
                 "0.07706, 0.07472, 0.07086, 0.06815, 0.06647, 0.06574, 0.06535, 0.06505, 0.06485, 0.06472",\
                 "0.07814, 0.07573, 0.07191, 0.06917, 0.06745, 0.06666, 0.06633, 0.06603, 0.06583, 0.06567",\
                 "0.08108, 0.07871, 0.07485, 0.0723, 0.07065, 0.06986, 0.06957, 0.06927, 0.06907, 0.06891",\
                 "0.08637, 0.08396, 0.0803, 0.07763, 0.07608, 0.07548, 0.07512, 0.07486, 0.07466, 0.07456",\
                 "0.0941, 0.09189, 0.08829, 0.08579, 0.08443, 0.08377, 0.08321, 0.08295, 0.08282, 0.08268",\
                 "0.1052, 0.1029, 0.0994, 0.09705, 0.0957, 0.09501, 0.09468, 0.09458, 0.09438, 0.09425",\
                 "0.1196, 0.1173, 0.1138, 0.1112, 0.1098, 0.1093, 0.109, 0.1088, 0.1086, 0.1085",\
                 "0.1371, 0.1349, 0.1313, 0.1287, 0.1273, 0.1267, 0.1264, 0.1262, 0.1261, 0.126");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1123, 0.1112, 0.1091, 0.1081, 0.1077, 0.1079, 0.1083, 0.109, 0.1097, 0.1136",\
                 "0.1123, 0.111, 0.1091, 0.108, 0.1077, 0.1078, 0.1083, 0.1089, 0.1095, 0.1138",\
                 "0.1124, 0.1111, 0.1091, 0.108, 0.1077, 0.1078, 0.1082, 0.1087, 0.1102, 0.1137",\
                 "0.1132, 0.1119, 0.1099, 0.1089, 0.1086, 0.1087, 0.1091, 0.1095, 0.1103, 0.1156",\
                 "0.1168, 0.1155, 0.1135, 0.1124, 0.112, 0.1122, 0.1126, 0.1129, 0.114, 0.1201",\
                 "0.1237, 0.1223, 0.1204, 0.1192, 0.1187, 0.1189, 0.1193, 0.1198, 0.1208, 0.1289",\
                 "0.1335, 0.132, 0.1302, 0.1288, 0.1284, 0.1285, 0.1289, 0.1295, 0.1307, 0.1407",\
                 "0.1471, 0.1458, 0.1436, 0.1417, 0.1414, 0.142, 0.142, 0.1424, 0.1442, 0.16",\
                 "0.1645, 0.1629, 0.1603, 0.1586, 0.1577, 0.1581, 0.1591, 0.1593, 0.1625, 0.1879",\
                 "0.1854, 0.1837, 0.1808, 0.179, 0.178, 0.1774, 0.1784, 0.1799, 0.1853, 0.2301");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.07426, 0.07211, 0.06881, 0.0664, 0.06498, 0.06449, 0.06422, 0.06403, 0.06386, 0.06373",\
                 "0.07427, 0.07212, 0.06882, 0.06651, 0.06503, 0.06457, 0.06427, 0.06407, 0.06391, 0.06381",\
                 "0.07444, 0.07233, 0.06893, 0.06669, 0.06524, 0.06474, 0.06438, 0.06418, 0.06402, 0.06392",\
                 "0.07533, 0.07315, 0.06981, 0.0675, 0.06602, 0.06549, 0.06526, 0.06503, 0.06486, 0.06477",\
                 "0.07813, 0.07605, 0.07258, 0.07027, 0.06895, 0.06839, 0.06826, 0.06816, 0.068, 0.06786",\
                 "0.0832, 0.08103, 0.07753, 0.07555, 0.07403, 0.07367, 0.0734, 0.07307, 0.07317, 0.07304",\
                 "0.09072, 0.08864, 0.0854, 0.08322, 0.08214, 0.08138, 0.08098, 0.08088, 0.08075, 0.08065",\
                 "0.1015, 0.09953, 0.09633, 0.09415, 0.09274, 0.09217, 0.09198, 0.09178, 0.09158, 0.09148",\
                 "0.1156, 0.1134, 0.1102, 0.1078, 0.1066, 0.1061, 0.1059, 0.1057, 0.1055, 0.1054",\
                 "0.1332, 0.1309, 0.1276, 0.1252, 0.1238, 0.1233, 0.1231, 0.123, 0.1229, 0.1228");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1148, 0.1134, 0.1111, 0.1097, 0.1093, 0.1094, 0.1098, 0.1103, 0.1112, 0.1151",\
                 "0.1148, 0.1133, 0.1112, 0.1098, 0.1092, 0.1095, 0.1098, 0.1102, 0.1111, 0.1154",\
                 "0.1147, 0.1133, 0.1111, 0.1097, 0.1092, 0.1095, 0.1097, 0.1101, 0.111, 0.1155",\
                 "0.1157, 0.1144, 0.1121, 0.1107, 0.1102, 0.1104, 0.1108, 0.1115, 0.112, 0.1171",\
                 "0.1197, 0.1183, 0.116, 0.1145, 0.1141, 0.1142, 0.1146, 0.1152, 0.1158, 0.1216",\
                 "0.1268, 0.1253, 0.1232, 0.1216, 0.1211, 0.1212, 0.1215, 0.122, 0.1229, 0.1304",\
                 "0.1369, 0.1355, 0.1329, 0.1317, 0.131, 0.131, 0.1314, 0.132, 0.1331, 0.1432",\
                 "0.1508, 0.1491, 0.1468, 0.1449, 0.1444, 0.1448, 0.145, 0.1454, 0.1468, 0.1625",\
                 "0.1685, 0.1668, 0.1639, 0.1621, 0.1609, 0.1613, 0.1619, 0.1625, 0.1655, 0.1903",\
                 "0.1895, 0.1878, 0.1848, 0.1828, 0.1817, 0.1811, 0.1816, 0.1831, 0.1893, 0.2337");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1268, 0.1248, 0.1219, 0.1201, 0.119, 0.1184, 0.118, 0.1177, 0.1175, 0.1174",\
                 "0.1265, 0.1245, 0.1216, 0.1198, 0.1187, 0.1181, 0.1177, 0.1174, 0.1172, 0.1171",\
                 "0.1255, 0.1235, 0.1206, 0.1188, 0.1178, 0.1171, 0.1167, 0.1164, 0.1162, 0.1161",\
                 "0.1267, 0.1246, 0.1215, 0.1195, 0.1184, 0.1178, 0.1173, 0.1171, 0.1169, 0.1167",\
                 "0.1327, 0.1304, 0.1266, 0.1243, 0.123, 0.1222, 0.1217, 0.1214, 0.1211, 0.1209",\
                 "0.1451, 0.1424, 0.1378, 0.1347, 0.1328, 0.1317, 0.131, 0.1305, 0.1302, 0.13",\
                 "0.1651, 0.1619, 0.156, 0.1516, 0.1489, 0.1472, 0.1462, 0.1455, 0.145, 0.1446",\
                 "0.1917, 0.1881, 0.1807, 0.175, 0.1711, 0.1687, 0.1672, 0.1662, 0.1654, 0.1649",\
                 "0.2245, 0.2205, 0.2118, 0.2044, 0.1995, 0.1962, 0.1941, 0.1926, 0.1916, 0.1909",\
                 "0.2636, 0.2591, 0.2492, 0.2403, 0.2341, 0.2298, 0.2269, 0.225, 0.2236, 0.2226");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.05655, 0.0549, 0.05265, 0.05131, 0.0507, 0.05089, 0.05127, 0.0517, 0.05257, 0.05655",\
                 "0.05629, 0.05474, 0.05224, 0.05098, 0.05064, 0.05066, 0.05113, 0.05157, 0.05224, 0.05556",\
                 "0.0556, 0.05407, 0.05166, 0.05028, 0.04984, 0.05007, 0.05031, 0.05091, 0.05151, 0.05504",\
                 "0.05714, 0.05559, 0.05295, 0.05127, 0.05077, 0.05102, 0.0511, 0.0517, 0.05247, 0.05665",\
                 "0.06368, 0.06176, 0.05885, 0.05655, 0.05535, 0.05521, 0.05539, 0.05573, 0.05638, 0.06103",\
                 "0.07494, 0.07273, 0.06876, 0.06589, 0.06436, 0.06356, 0.06325, 0.06338, 0.06438, 0.07032",\
                 "0.09177, 0.08908, 0.08445, 0.08031, 0.07809, 0.07729, 0.07641, 0.07625, 0.07661, 0.08376",\
                 "0.1142, 0.1111, 0.1056, 0.1002, 0.09684, 0.09508, 0.09496, 0.09433, 0.09418, 0.1041",\
                 "0.1424, 0.1388, 0.1324, 0.1266, 0.122, 0.119, 0.1179, 0.1185, 0.1181, 0.1316",\
                 "0.1766, 0.1723, 0.1649, 0.1579, 0.1523, 0.1488, 0.1458, 0.1456, 0.1483, 0.1698");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.9778, 1.025, 1.151, 1.335, 1.578, 1.894, 2.299, 2.806, 3.424, 4.16",\
                 "0.9894, 1.036, 1.162, 1.347, 1.59, 1.906, 2.311, 2.817, 3.435, 4.171",\
                 "1.02, 1.067, 1.192, 1.377, 1.62, 1.936, 2.341, 2.848, 3.466, 4.202",\
                 "1.067, 1.114, 1.239, 1.424, 1.667, 1.983, 2.388, 2.895, 3.512, 4.249",\
                 "1.125, 1.172, 1.297, 1.482, 1.725, 2.041, 2.446, 2.952, 3.57, 4.306",\
                 "1.171, 1.218, 1.344, 1.529, 1.772, 2.088, 2.493, 3, 3.617, 4.354",\
                 "1.194, 1.241, 1.367, 1.552, 1.796, 2.111, 2.516, 3.022, 3.64, 4.376",\
                 "1.188, 1.235, 1.361, 1.545, 1.788, 2.104, 2.509, 3.015, 3.633, 4.369",\
                 "1.154, 1.201, 1.325, 1.509, 1.75, 2.065, 2.469, 2.976, 3.593, 4.329",\
                 "1.088, 1.135, 1.259, 1.442, 1.683, 1.997, 2.401, 2.907, 3.524, 4.261");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("1.179, 1.226, 1.362, 1.592, 1.94, 2.427, 3.068, 3.876, 4.863, 6.04",\
                 "1.192, 1.239, 1.375, 1.605, 1.953, 2.44, 3.081, 3.889, 4.876, 6.053",\
                 "1.231, 1.278, 1.414, 1.644, 1.992, 2.479, 3.12, 3.928, 4.913, 6.089",\
                 "1.309, 1.356, 1.492, 1.722, 2.07, 2.557, 3.198, 4.006, 4.991, 6.167",\
                 "1.449, 1.495, 1.631, 1.861, 2.209, 2.696, 3.337, 4.145, 5.13, 6.307",\
                 "1.647, 1.694, 1.83, 2.061, 2.408, 2.895, 3.536, 4.344, 5.329, 6.506",\
                 "1.898, 1.944, 2.081, 2.311, 2.658, 3.145, 3.786, 4.594, 5.58, 6.755",\
                 "2.195, 2.242, 2.379, 2.609, 2.956, 3.443, 4.083, 4.891, 5.878, 7.053",\
                 "2.533, 2.58, 2.718, 2.948, 3.295, 3.781, 4.421, 5.229, 6.214, 7.391",\
                 "2.91, 2.958, 3.096, 3.327, 3.672, 4.158, 4.798, 5.606, 6.592, 7.766");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1742, 0.2199, 0.349, 0.5648, 0.8936, 1.375, 2.028, 2.873, 3.908, 5.148",\
                 "0.1741, 0.22, 0.3492, 0.5656, 0.8928, 1.375, 2.03, 2.87, 3.91, 5.144",\
                 "0.1744, 0.2194, 0.349, 0.5656, 0.8946, 1.375, 2.03, 2.87, 3.91, 5.142",\
                 "0.1746, 0.2196, 0.3494, 0.5654, 0.894, 1.375, 2.03, 2.871, 3.91, 5.146",\
                 "0.1746, 0.22, 0.3496, 0.566, 0.8946, 1.375, 2.029, 2.872, 3.909, 5.147",\
                 "0.1762, 0.2212, 0.3508, 0.566, 0.893, 1.373, 2.029, 2.871, 3.909, 5.146",\
                 "0.178, 0.2226, 0.3514, 0.5672, 0.8952, 1.374, 2.027, 2.872, 3.908, 5.148",\
                 "0.1778, 0.223, 0.351, 0.5656, 0.895, 1.375, 2.029, 2.868, 3.903, 5.145",\
                 "0.1786, 0.2234, 0.3498, 0.5632, 0.89, 1.372, 2.027, 2.869, 3.904, 5.138",\
                 "0.1804, 0.2242, 0.35, 0.561, 0.8886, 1.37, 2.027, 2.869, 3.903, 5.138");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1586, 0.2158, 0.406, 0.7728, 1.375, 2.232, 3.364, 4.783, 6.522, 8.601",\
                 "0.159, 0.2164, 0.406, 0.7726, 1.373, 2.232, 3.36, 4.782, 6.522, 8.598",\
                 "0.1592, 0.2162, 0.406, 0.773, 1.374, 2.232, 3.36, 4.781, 6.524, 8.592",\
                 "0.159, 0.2162, 0.4058, 0.7728, 1.375, 2.229, 3.364, 4.785, 6.524, 8.597",\
                 "0.1596, 0.2162, 0.4064, 0.7728, 1.375, 2.23, 3.364, 4.785, 6.524, 8.599",\
                 "0.1596, 0.2176, 0.4078, 0.7736, 1.374, 2.232, 3.36, 4.785, 6.524, 8.601",\
                 "0.162, 0.22, 0.4092, 0.7742, 1.374, 2.232, 3.362, 4.781, 6.523, 8.598",\
                 "0.1654, 0.2226, 0.4114, 0.7752, 1.375, 2.231, 3.361, 4.784, 6.524, 8.592",\
                 "0.1698, 0.226, 0.4138, 0.7766, 1.376, 2.231, 3.359, 4.783, 6.519, 8.597",\
                 "0.1746, 0.2304, 0.4172, 0.7768, 1.376, 2.23, 3.359, 4.782, 6.518, 8.594");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.9486, 0.9975, 1.13, 1.325, 1.578, 1.901, 2.309, 2.817, 3.435, 4.171",\
                 "0.9556, 1.005, 1.138, 1.334, 1.588, 1.911, 2.319, 2.827, 3.445, 4.181",\
                 "0.9778, 1.028, 1.161, 1.357, 1.611, 1.934, 2.343, 2.85, 3.468, 4.204",\
                 "1.024, 1.074, 1.208, 1.403, 1.658, 1.981, 2.389, 2.897, 3.515, 4.251",\
                 "1.085, 1.135, 1.268, 1.465, 1.719, 2.042, 2.45, 2.958, 3.575, 4.312",\
                 "1.135, 1.185, 1.319, 1.515, 1.769, 2.092, 2.5, 3.008, 3.626, 4.362",\
                 "1.16, 1.21, 1.343, 1.54, 1.795, 2.118, 2.526, 3.033, 3.651, 4.387",\
                 "1.156, 1.205, 1.339, 1.534, 1.789, 2.112, 2.52, 3.027, 3.645, 4.381",\
                 "1.121, 1.171, 1.304, 1.499, 1.751, 2.073, 2.481, 2.988, 3.605, 4.342",\
                 "1.055, 1.105, 1.238, 1.431, 1.683, 2.003, 2.41, 2.917, 3.535, 4.271");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("1.162, 1.207, 1.34, 1.568, 1.916, 2.403, 3.045, 3.853, 4.84, 6.017",\
                 "1.178, 1.223, 1.355, 1.584, 1.932, 2.419, 3.06, 3.868, 4.855, 6.032",\
                 "1.228, 1.273, 1.406, 1.634, 1.982, 2.469, 3.111, 3.919, 4.906, 6.083",\
                 "1.309, 1.354, 1.487, 1.715, 2.063, 2.551, 3.192, 4, 4.987, 6.164",\
                 "1.44, 1.485, 1.617, 1.846, 2.194, 2.681, 3.322, 4.13, 5.117, 6.294",\
                 "1.626, 1.67, 1.803, 2.032, 2.379, 2.867, 3.508, 4.316, 5.303, 6.48",\
                 "1.864, 1.91, 2.043, 2.271, 2.618, 3.106, 3.747, 4.555, 5.542, 6.718",\
                 "2.153, 2.198, 2.332, 2.56, 2.907, 3.394, 4.035, 4.843, 5.829, 7.006",\
                 "2.484, 2.53, 2.663, 2.891, 3.238, 3.725, 4.366, 5.173, 6.158, 7.334",\
                 "2.855, 2.901, 3.035, 3.262, 3.609, 4.095, 4.736, 5.544, 6.53, 7.705");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1777, 0.2275, 0.3676, 0.5924, 0.9216, 1.396, 2.042, 2.875, 3.909, 5.148",\
                 "0.1799, 0.2302, 0.3698, 0.5938, 0.9226, 1.395, 2.042, 2.877, 3.909, 5.141",\
                 "0.1812, 0.2312, 0.3706, 0.594, 0.924, 1.397, 2.042, 2.876, 3.911, 5.146",\
                 "0.1806, 0.2312, 0.3708, 0.5954, 0.924, 1.397, 2.042, 2.877, 3.911, 5.145",\
                 "0.181, 0.2316, 0.3706, 0.5944, 0.9244, 1.398, 2.042, 2.878, 3.908, 5.147",\
                 "0.182, 0.2332, 0.3716, 0.5952, 0.9228, 1.395, 2.043, 2.874, 3.909, 5.142",\
                 "0.184, 0.2348, 0.3738, 0.5972, 0.9246, 1.396, 2.039, 2.874, 3.91, 5.147",\
                 "0.1842, 0.2344, 0.3726, 0.5954, 0.9242, 1.397, 2.041, 2.873, 3.904, 5.145",\
                 "0.185, 0.2346, 0.3716, 0.593, 0.9196, 1.394, 2.038, 2.873, 3.905, 5.14",\
                 "0.1868, 0.2358, 0.3708, 0.5908, 0.9168, 1.389, 2.036, 2.873, 3.907, 5.139");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1514, 0.2086, 0.3972, 0.7684, 1.374, 2.233, 3.364, 4.783, 6.522, 8.601",\
                 "0.151, 0.2074, 0.3974, 0.7686, 1.374, 2.233, 3.361, 4.784, 6.524, 8.599",\
                 "0.1512, 0.2082, 0.397, 0.7686, 1.373, 2.233, 3.36, 4.784, 6.525, 8.597",\
                 "0.1514, 0.2076, 0.3974, 0.7686, 1.374, 2.23, 3.364, 4.783, 6.521, 8.601",\
                 "0.1512, 0.2078, 0.3976, 0.7688, 1.374, 2.231, 3.363, 4.782, 6.522, 8.598",\
                 "0.152, 0.2094, 0.3984, 0.769, 1.373, 2.233, 3.36, 4.784, 6.521, 8.596",\
                 "0.1542, 0.2106, 0.3998, 0.7696, 1.373, 2.229, 3.358, 4.784, 6.521, 8.599",\
                 "0.1568, 0.2142, 0.401, 0.7704, 1.374, 2.231, 3.36, 4.792, 6.524, 8.593",\
                 "0.1596, 0.2154, 0.4024, 0.7708, 1.375, 2.233, 3.359, 4.783, 6.52, 8.592",\
                 "0.1632, 0.2194, 0.405, 0.771, 1.375, 2.231, 3.364, 4.781, 6.52, 8.59");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.9486, 0.9975, 1.13, 1.325, 1.578, 1.901, 2.309, 2.817, 3.435, 4.171",\
                 "0.9556, 1.005, 1.138, 1.334, 1.588, 1.911, 2.319, 2.827, 3.445, 4.181",\
                 "0.9778, 1.028, 1.161, 1.357, 1.611, 1.934, 2.343, 2.85, 3.468, 4.204",\
                 "1.024, 1.074, 1.208, 1.403, 1.658, 1.981, 2.389, 2.897, 3.515, 4.251",\
                 "1.085, 1.135, 1.268, 1.465, 1.719, 2.042, 2.45, 2.958, 3.575, 4.312",\
                 "1.135, 1.185, 1.319, 1.515, 1.769, 2.092, 2.5, 3.008, 3.626, 4.362",\
                 "1.16, 1.21, 1.343, 1.54, 1.795, 2.118, 2.526, 3.033, 3.651, 4.387",\
                 "1.156, 1.205, 1.339, 1.534, 1.789, 2.112, 2.52, 3.027, 3.645, 4.381",\
                 "1.121, 1.171, 1.304, 1.499, 1.751, 2.073, 2.481, 2.988, 3.605, 4.342",\
                 "1.055, 1.105, 1.238, 1.431, 1.683, 2.003, 2.41, 2.917, 3.535, 4.271");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("1.179, 1.226, 1.362, 1.592, 1.94, 2.427, 3.068, 3.876, 4.863, 6.04",\
                 "1.192, 1.239, 1.375, 1.605, 1.953, 2.44, 3.081, 3.889, 4.876, 6.053",\
                 "1.231, 1.278, 1.414, 1.644, 1.992, 2.479, 3.12, 3.928, 4.913, 6.089",\
                 "1.309, 1.356, 1.492, 1.722, 2.07, 2.557, 3.198, 4.006, 4.991, 6.167",\
                 "1.449, 1.495, 1.631, 1.861, 2.209, 2.696, 3.337, 4.145, 5.13, 6.307",\
                 "1.647, 1.694, 1.83, 2.061, 2.408, 2.895, 3.536, 4.344, 5.329, 6.506",\
                 "1.898, 1.944, 2.081, 2.311, 2.658, 3.145, 3.786, 4.594, 5.58, 6.755",\
                 "2.195, 2.242, 2.379, 2.609, 2.956, 3.443, 4.083, 4.891, 5.878, 7.053",\
                 "2.533, 2.58, 2.718, 2.948, 3.295, 3.781, 4.421, 5.229, 6.214, 7.391",\
                 "2.91, 2.958, 3.096, 3.327, 3.672, 4.158, 4.798, 5.606, 6.592, 7.766");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1742, 0.2199, 0.349, 0.5648, 0.8936, 1.375, 2.028, 2.873, 3.908, 5.148",\
                 "0.1741, 0.22, 0.3492, 0.5656, 0.8928, 1.375, 2.03, 2.87, 3.91, 5.144",\
                 "0.1744, 0.2194, 0.349, 0.5656, 0.8946, 1.375, 2.03, 2.87, 3.91, 5.142",\
                 "0.1746, 0.2196, 0.3494, 0.5654, 0.894, 1.375, 2.03, 2.871, 3.91, 5.146",\
                 "0.1746, 0.22, 0.3496, 0.566, 0.8946, 1.375, 2.029, 2.872, 3.909, 5.147",\
                 "0.1762, 0.2212, 0.3508, 0.566, 0.893, 1.373, 2.029, 2.871, 3.909, 5.146",\
                 "0.178, 0.2226, 0.3514, 0.5672, 0.8952, 1.374, 2.027, 2.872, 3.908, 5.148",\
                 "0.1778, 0.223, 0.351, 0.5656, 0.895, 1.375, 2.029, 2.868, 3.903, 5.145",\
                 "0.1786, 0.2234, 0.3498, 0.5632, 0.89, 1.372, 2.027, 2.869, 3.904, 5.138",\
                 "0.1804, 0.2242, 0.35, 0.561, 0.8886, 1.37, 2.027, 2.869, 3.903, 5.138");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1514, 0.2086, 0.3972, 0.7684, 1.374, 2.233, 3.364, 4.783, 6.522, 8.601",\
                 "0.151, 0.2074, 0.3974, 0.7686, 1.374, 2.233, 3.361, 4.784, 6.524, 8.599",\
                 "0.1512, 0.2082, 0.397, 0.7686, 1.373, 2.233, 3.36, 4.784, 6.525, 8.597",\
                 "0.1514, 0.2076, 0.3974, 0.7686, 1.374, 2.23, 3.364, 4.783, 6.521, 8.601",\
                 "0.1512, 0.2078, 0.3976, 0.7688, 1.374, 2.231, 3.363, 4.782, 6.522, 8.598",\
                 "0.152, 0.2094, 0.3984, 0.769, 1.373, 2.233, 3.36, 4.784, 6.521, 8.596",\
                 "0.1542, 0.2106, 0.3998, 0.7696, 1.373, 2.229, 3.358, 4.784, 6.521, 8.599",\
                 "0.1568, 0.2142, 0.401, 0.7704, 1.374, 2.231, 3.36, 4.792, 6.524, 8.593",\
                 "0.1596, 0.2154, 0.4024, 0.7708, 1.375, 2.233, 3.359, 4.783, 6.52, 8.592",\
                 "0.1632, 0.2194, 0.405, 0.771, 1.375, 2.231, 3.364, 4.781, 6.52, 8.59");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.8973, 0.9556, 1.11, 1.326, 1.597, 1.932, 2.347, 2.858, 3.477, 4.214",\
                 "0.9081, 0.9666, 1.12, 1.336, 1.608, 1.943, 2.358, 2.869, 3.488, 4.224",\
                 "0.9391, 0.9976, 1.151, 1.367, 1.639, 1.974, 2.389, 2.9, 3.519, 4.255",\
                 "0.9927, 1.051, 1.205, 1.421, 1.692, 2.027, 2.442, 2.953, 3.572, 4.309",\
                 "1.103, 1.161, 1.315, 1.531, 1.802, 2.137, 2.552, 3.063, 3.682, 4.418",\
                 "1.279, 1.339, 1.496, 1.715, 1.989, 2.325, 2.74, 3.251, 3.869, 4.606",\
                 "1.527, 1.588, 1.749, 1.972, 2.249, 2.588, 3.004, 3.515, 4.134, 4.87",\
                 "1.833, 1.898, 2.065, 2.295, 2.578, 2.921, 3.339, 3.851, 4.47, 5.206",\
                 "2.188, 2.256, 2.433, 2.674, 2.967, 3.318, 3.741, 4.254, 4.873, 5.61",\
                 "2.589, 2.662, 2.848, 3.102, 3.41, 3.774, 4.206, 4.724, 5.346, 6.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.4146, 0.4595, 0.5943, 0.8251, 1.175, 1.664, 2.306, 3.115, 4.102, 5.278",\
                 "0.4267, 0.4716, 0.6065, 0.8374, 1.187, 1.676, 2.319, 3.126, 4.114, 5.29",\
                 "0.458, 0.503, 0.6374, 0.8683, 1.218, 1.707, 2.349, 3.157, 4.145, 5.321",\
                 "0.5032, 0.5486, 0.6829, 0.9131, 1.262, 1.751, 2.393, 3.201, 4.189, 5.366",\
                 "0.5391, 0.5858, 0.7235, 0.9544, 1.303, 1.791, 2.433, 3.242, 4.227, 5.403",\
                 "0.5497, 0.5985, 0.74, 0.9734, 1.322, 1.809, 2.45, 3.259, 4.245, 5.419",\
                 "0.5258, 0.5778, 0.7245, 0.9634, 1.314, 1.8, 2.441, 3.248, 4.234, 5.411",\
                 "0.4628, 0.5178, 0.6724, 0.9171, 1.272, 1.762, 2.403, 3.209, 4.194, 5.37",\
                 "0.3578, 0.4175, 0.579, 0.832, 1.194, 1.69, 2.335, 3.142, 4.126, 5.3",\
                 "0.2105, 0.2744, 0.4441, 0.7058, 1.075, 1.578, 2.231, 3.042, 4.027, 5.201");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.2443, 0.3011, 0.445, 0.6676, 0.9908, 1.451, 2.078, 2.903, 3.927, 5.159",\
                 "0.2437, 0.2998, 0.4458, 0.6684, 0.9908, 1.45, 2.081, 2.903, 3.929, 5.16",\
                 "0.2438, 0.2998, 0.4456, 0.6686, 0.9908, 1.45, 2.081, 2.903, 3.929, 5.16",\
                 "0.245, 0.3, 0.4452, 0.6686, 0.9904, 1.451, 2.081, 2.903, 3.929, 5.161",\
                 "0.2474, 0.3034, 0.448, 0.6712, 0.9922, 1.451, 2.081, 2.902, 3.927, 5.161",\
                 "0.2584, 0.3156, 0.4614, 0.6828, 1, 1.456, 2.084, 2.906, 3.929, 5.158",\
                 "0.2728, 0.333, 0.4794, 0.7018, 1.018, 1.468, 2.091, 2.909, 3.932, 5.16",\
                 "0.3, 0.359, 0.5096, 0.73, 1.042, 1.488, 2.101, 2.912, 3.933, 5.165",\
                 "0.3294, 0.3938, 0.551, 0.7732, 1.085, 1.519, 2.125, 2.927, 3.936, 5.165",\
                 "0.3618, 0.4294, 0.5974, 0.8282, 1.146, 1.579, 2.17, 2.953, 3.956, 5.169");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1456, 0.2032, 0.3956, 0.7701, 1.376, 2.234, 3.362, 4.787, 6.524, 8.602",\
                 "0.1458, 0.2045, 0.3959, 0.77, 1.376, 2.232, 3.362, 4.787, 6.526, 8.602",\
                 "0.1457, 0.2045, 0.396, 0.77, 1.376, 2.231, 3.361, 4.787, 6.526, 8.601",\
                 "0.1485, 0.2063, 0.3968, 0.7706, 1.375, 2.231, 3.362, 4.784, 6.527, 8.6",\
                 "0.1606, 0.2184, 0.4076, 0.775, 1.376, 2.233, 3.362, 4.787, 6.526, 8.596",\
                 "0.176, 0.2338, 0.4226, 0.7842, 1.38, 2.238, 3.363, 4.785, 6.521, 8.597",\
                 "0.1966, 0.2526, 0.444, 0.8028, 1.389, 2.239, 3.364, 4.792, 6.524, 8.595",\
                 "0.2202, 0.2778, 0.4694, 0.827, 1.414, 2.252, 3.37, 4.787, 6.536, 8.606",\
                 "0.247, 0.3058, 0.4978, 0.8586, 1.443, 2.281, 3.389, 4.797, 6.525, 8.607",\
                 "0.2764, 0.3388, 0.5294, 0.8892, 1.477, 2.324, 3.427, 4.826, 6.538, 8.598");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.6255, 0.674, 0.8027, 0.9899, 1.235, 1.552, 1.957, 2.463, 3.081, 3.818",\
                 "0.6405, 0.6891, 0.8179, 1.005, 1.25, 1.567, 1.972, 2.478, 3.096, 3.833",\
                 "0.6907, 0.7393, 0.8682, 1.055, 1.3, 1.617, 2.022, 2.529, 3.147, 3.883",\
                 "0.7719, 0.8203, 0.9489, 1.136, 1.381, 1.697, 2.102, 2.609, 3.227, 3.964",\
                 "0.8957, 0.9453, 1.077, 1.265, 1.511, 1.828, 2.233, 2.739, 3.357, 4.094",\
                 "1.066, 1.118, 1.254, 1.449, 1.699, 2.017, 2.423, 2.929, 3.547, 4.283",\
                 "1.286, 1.341, 1.484, 1.686, 1.941, 2.263, 2.67, 3.176, 3.793, 4.53",\
                 "1.548, 1.607, 1.76, 1.971, 2.236, 2.563, 2.972, 3.479, 4.097, 4.832",\
                 "1.851, 1.914, 2.074, 2.298, 2.575, 2.914, 3.328, 3.837, 4.455, 5.191",\
                 "2.193, 2.26, 2.43, 2.666, 2.957, 3.309, 3.735, 4.25, 4.87, 5.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.5412, 0.59, 0.7342, 0.9725, 1.325, 1.813, 2.456, 3.265, 4.252, 5.428",\
                 "0.5482, 0.597, 0.7412, 0.9795, 1.332, 1.82, 2.463, 3.272, 4.259, 5.434",\
                 "0.5584, 0.6072, 0.7516, 0.99, 1.342, 1.831, 2.473, 3.282, 4.27, 5.445",\
                 "0.5775, 0.6264, 0.7702, 1.008, 1.36, 1.849, 2.491, 3.3, 4.287, 5.462",\
                 "0.597, 0.6471, 0.7932, 1.032, 1.384, 1.872, 2.514, 3.323, 4.311, 5.487",\
                 "0.6052, 0.657, 0.8061, 1.048, 1.4, 1.888, 2.53, 3.338, 4.325, 5.502",\
                 "0.5907, 0.645, 0.7992, 1.046, 1.402, 1.89, 2.531, 3.339, 4.325, 5.502",\
                 "0.5483, 0.6052, 0.765, 1.02, 1.383, 1.875, 2.516, 3.324, 4.309, 5.484",\
                 "0.4738, 0.534, 0.6992, 0.9623, 1.334, 1.836, 2.482, 3.29, 4.275, 5.45",\
                 "0.3653, 0.4283, 0.5998, 0.8699, 1.251, 1.764, 2.421, 3.235, 4.222, 5.396");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1818, 0.2286, 0.3577, 0.5714, 0.8988, 1.377, 2.031, 2.876, 3.911, 5.149",\
                 "0.1818, 0.2279, 0.3573, 0.5715, 0.8998, 1.378, 2.032, 2.872, 3.912, 5.149",\
                 "0.1822, 0.2284, 0.3574, 0.572, 0.899, 1.377, 2.03, 2.876, 3.911, 5.147",\
                 "0.182, 0.2284, 0.3576, 0.5718, 0.8994, 1.378, 2.032, 2.875, 3.909, 5.152",\
                 "0.1936, 0.241, 0.3684, 0.5784, 0.9038, 1.379, 2.034, 2.873, 3.912, 5.152",\
                 "0.2088, 0.258, 0.388, 0.5992, 0.9168, 1.386, 2.033, 2.873, 3.913, 5.153",\
                 "0.2338, 0.2824, 0.4156, 0.6244, 0.9376, 1.4, 2.041, 2.879, 3.913, 5.152",\
                 "0.2602, 0.314, 0.452, 0.6636, 0.9736, 1.424, 2.055, 2.882, 3.913, 5.151",\
                 "0.29, 0.3474, 0.4934, 0.7102, 1.022, 1.466, 2.082, 2.896, 3.917, 5.146",\
                 "0.3208, 0.3822, 0.5356, 0.7602, 1.081, 1.529, 2.133, 2.931, 3.935, 5.153");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1694, 0.2294, 0.4244, 0.7904, 1.388, 2.241, 3.366, 4.796, 6.529, 8.605",\
                 "0.1694, 0.2292, 0.4242, 0.7901, 1.388, 2.242, 3.367, 4.792, 6.531, 8.605",\
                 "0.1691, 0.2298, 0.4243, 0.7909, 1.385, 2.24, 3.368, 4.792, 6.531, 8.605",\
                 "0.1693, 0.2297, 0.4258, 0.7918, 1.387, 2.238, 3.367, 4.792, 6.532, 8.603",\
                 "0.1774, 0.2378, 0.4326, 0.7952, 1.389, 2.24, 3.366, 4.791, 6.528, 8.606",\
                 "0.1902, 0.2496, 0.447, 0.8056, 1.391, 2.243, 3.367, 4.792, 6.533, 8.601",\
                 "0.2064, 0.2668, 0.4656, 0.8244, 1.403, 2.247, 3.372, 4.791, 6.53, 8.603",\
                 "0.224, 0.286, 0.4874, 0.8532, 1.43, 2.264, 3.378, 4.794, 6.528, 8.6",\
                 "0.245, 0.3076, 0.5114, 0.8842, 1.467, 2.298, 3.398, 4.803, 6.531, 8.618",\
                 "0.2658, 0.3292, 0.5358, 0.9166, 1.51, 2.347, 3.443, 4.833, 6.545, 8.604");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.8973, 0.9556, 1.11, 1.326, 1.597, 1.932, 2.347, 2.858, 3.477, 4.214",\
                 "0.9081, 0.9666, 1.12, 1.336, 1.608, 1.943, 2.358, 2.869, 3.488, 4.224",\
                 "0.9391, 0.9976, 1.151, 1.367, 1.639, 1.974, 2.389, 2.9, 3.519, 4.255",\
                 "0.9927, 1.051, 1.205, 1.421, 1.692, 2.027, 2.442, 2.953, 3.572, 4.309",\
                 "1.103, 1.161, 1.315, 1.531, 1.802, 2.137, 2.552, 3.063, 3.682, 4.418",\
                 "1.279, 1.339, 1.496, 1.715, 1.989, 2.325, 2.74, 3.251, 3.869, 4.606",\
                 "1.527, 1.588, 1.749, 1.972, 2.249, 2.588, 3.004, 3.515, 4.134, 4.87",\
                 "1.833, 1.898, 2.065, 2.295, 2.578, 2.921, 3.339, 3.851, 4.47, 5.206",\
                 "2.188, 2.256, 2.433, 2.674, 2.967, 3.318, 3.741, 4.254, 4.873, 5.61",\
                 "2.589, 2.662, 2.848, 3.102, 3.41, 3.774, 4.206, 4.724, 5.346, 6.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.5412, 0.59, 0.7342, 0.9725, 1.325, 1.813, 2.456, 3.265, 4.252, 5.428",\
                 "0.5482, 0.597, 0.7412, 0.9795, 1.332, 1.82, 2.463, 3.272, 4.259, 5.434",\
                 "0.5584, 0.6072, 0.7516, 0.99, 1.342, 1.831, 2.473, 3.282, 4.27, 5.445",\
                 "0.5775, 0.6264, 0.7702, 1.008, 1.36, 1.849, 2.491, 3.3, 4.287, 5.462",\
                 "0.597, 0.6471, 0.7932, 1.032, 1.384, 1.872, 2.514, 3.323, 4.311, 5.487",\
                 "0.6052, 0.657, 0.8061, 1.048, 1.4, 1.888, 2.53, 3.338, 4.325, 5.502",\
                 "0.5907, 0.645, 0.7992, 1.046, 1.402, 1.89, 2.531, 3.339, 4.325, 5.502",\
                 "0.5483, 0.6052, 0.765, 1.02, 1.383, 1.875, 2.516, 3.324, 4.309, 5.484",\
                 "0.4738, 0.534, 0.6992, 0.9623, 1.334, 1.836, 2.482, 3.29, 4.275, 5.45",\
                 "0.3653, 0.4283, 0.5998, 0.8699, 1.251, 1.764, 2.421, 3.235, 4.222, 5.396");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.2443, 0.3011, 0.445, 0.6676, 0.9908, 1.451, 2.078, 2.903, 3.927, 5.159",\
                 "0.2437, 0.2998, 0.4458, 0.6684, 0.9908, 1.45, 2.081, 2.903, 3.929, 5.16",\
                 "0.2438, 0.2998, 0.4456, 0.6686, 0.9908, 1.45, 2.081, 2.903, 3.929, 5.16",\
                 "0.245, 0.3, 0.4452, 0.6686, 0.9904, 1.451, 2.081, 2.903, 3.929, 5.161",\
                 "0.2474, 0.3034, 0.448, 0.6712, 0.9922, 1.451, 2.081, 2.902, 3.927, 5.161",\
                 "0.2584, 0.3156, 0.4614, 0.6828, 1, 1.456, 2.084, 2.906, 3.929, 5.158",\
                 "0.2728, 0.333, 0.4794, 0.7018, 1.018, 1.468, 2.091, 2.909, 3.932, 5.16",\
                 "0.3, 0.359, 0.5096, 0.73, 1.042, 1.488, 2.101, 2.912, 3.933, 5.165",\
                 "0.3294, 0.3938, 0.551, 0.7732, 1.085, 1.519, 2.125, 2.927, 3.936, 5.165",\
                 "0.3618, 0.4294, 0.5974, 0.8282, 1.146, 1.579, 2.17, 2.953, 3.956, 5.169");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1694, 0.2294, 0.4244, 0.7904, 1.388, 2.241, 3.366, 4.796, 6.529, 8.605",\
                 "0.1694, 0.2292, 0.4242, 0.7901, 1.388, 2.242, 3.367, 4.792, 6.531, 8.605",\
                 "0.1691, 0.2298, 0.4243, 0.7909, 1.385, 2.24, 3.368, 4.792, 6.531, 8.605",\
                 "0.1693, 0.2297, 0.4258, 0.7918, 1.387, 2.238, 3.367, 4.792, 6.532, 8.603",\
                 "0.1774, 0.2378, 0.4326, 0.7952, 1.389, 2.24, 3.366, 4.791, 6.528, 8.606",\
                 "0.1902, 0.2496, 0.447, 0.8056, 1.391, 2.243, 3.367, 4.792, 6.533, 8.601",\
                 "0.2064, 0.2668, 0.4656, 0.8244, 1.403, 2.247, 3.372, 4.791, 6.53, 8.603",\
                 "0.224, 0.286, 0.4874, 0.8532, 1.43, 2.264, 3.378, 4.794, 6.528, 8.6",\
                 "0.245, 0.3076, 0.5114, 0.8842, 1.467, 2.298, 3.398, 4.803, 6.531, 8.618",\
                 "0.2658, 0.3292, 0.5358, 0.9166, 1.51, 2.347, 3.443, 4.833, 6.545, 8.604");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.9936, 1.042, 1.171, 1.358, 1.603, 1.92, 2.325, 2.832, 3.45, 4.186",\
                 "1.009, 1.057, 1.186, 1.373, 1.618, 1.935, 2.34, 2.847, 3.465, 4.201",\
                 "1.041, 1.089, 1.218, 1.406, 1.65, 1.967, 2.373, 2.879, 3.497, 4.234",\
                 "1.079, 1.127, 1.256, 1.444, 1.689, 2.006, 2.411, 2.918, 3.535, 4.272",\
                 "1.12, 1.169, 1.297, 1.484, 1.73, 2.046, 2.452, 2.958, 3.576, 4.313",\
                 "1.153, 1.201, 1.328, 1.514, 1.758, 2.074, 2.48, 2.986, 3.604, 4.341",\
                 "1.149, 1.197, 1.323, 1.509, 1.753, 2.069, 2.474, 2.981, 3.599, 4.336",\
                 "1.108, 1.155, 1.281, 1.465, 1.709, 2.025, 2.43, 2.937, 3.555, 4.291",\
                 "1.028, 1.075, 1.2, 1.383, 1.624, 1.939, 2.344, 2.85, 3.468, 4.205",\
                 "0.9068, 0.9547, 1.079, 1.261, 1.502, 1.816, 2.22, 2.726, 3.344, 4.08");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("1.179, 1.226, 1.362, 1.592, 1.94, 2.428, 3.069, 3.877, 4.863, 6.04",\
                 "1.19, 1.236, 1.373, 1.603, 1.951, 2.438, 3.079, 3.887, 4.873, 6.048",\
                 "1.236, 1.282, 1.419, 1.649, 1.997, 2.484, 3.125, 3.932, 4.919, 6.095",\
                 "1.348, 1.394, 1.53, 1.761, 2.109, 2.596, 3.237, 4.044, 5.031, 6.206",\
                 "1.544, 1.591, 1.727, 1.957, 2.305, 2.792, 3.433, 4.241, 5.227, 6.402",\
                 "1.815, 1.861, 1.998, 2.228, 2.576, 3.063, 3.704, 4.511, 5.497, 6.675",\
                 "2.138, 2.185, 2.322, 2.552, 2.899, 3.386, 4.027, 4.834, 5.821, 6.997",\
                 "2.518, 2.564, 2.702, 2.932, 3.278, 3.765, 4.406, 5.213, 6.2, 7.377",\
                 "2.953, 3, 3.138, 3.368, 3.715, 4.2, 4.841, 5.648, 6.634, 7.81",\
                 "3.442, 3.49, 3.628, 3.858, 4.205, 4.691, 5.332, 6.139, 7.124, 8.299");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1845, 0.2308, 0.3594, 0.5732, 0.9006, 1.378, 2.032, 2.871, 3.91, 5.143",\
                 "0.1842, 0.2302, 0.3596, 0.5738, 0.899, 1.378, 2.033, 2.874, 3.91, 5.149",\
                 "0.1844, 0.2308, 0.3604, 0.5732, 0.9012, 1.379, 2.032, 2.874, 3.91, 5.148",\
                 "0.1846, 0.2306, 0.3606, 0.5734, 0.8994, 1.379, 2.033, 2.874, 3.911, 5.146",\
                 "0.1842, 0.23, 0.3592, 0.5742, 0.8996, 1.378, 2.032, 2.874, 3.91, 5.146",\
                 "0.1832, 0.2286, 0.3562, 0.5702, 0.8964, 1.377, 2.032, 2.873, 3.91, 5.144",\
                 "0.1814, 0.2268, 0.3548, 0.569, 0.8968, 1.377, 2.03, 2.873, 3.909, 5.148",\
                 "0.1802, 0.2252, 0.3528, 0.5676, 0.8958, 1.375, 2.03, 2.871, 3.905, 5.143",\
                 "0.1806, 0.2246, 0.3506, 0.5632, 0.89, 1.372, 2.028, 2.87, 3.905, 5.141",\
                 "0.1814, 0.2258, 0.35, 0.561, 0.8882, 1.371, 2.027, 2.872, 3.906, 5.145");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1586, 0.2162, 0.406, 0.7728, 1.374, 2.231, 3.361, 4.782, 6.523, 8.598",\
                 "0.159, 0.217, 0.406, 0.7728, 1.374, 2.229, 3.364, 4.784, 6.523, 8.592",\
                 "0.1592, 0.2158, 0.4064, 0.7728, 1.374, 2.231, 3.362, 4.782, 6.521, 8.595",\
                 "0.159, 0.216, 0.406, 0.7728, 1.373, 2.231, 3.363, 4.783, 6.523, 8.592",\
                 "0.1592, 0.2172, 0.406, 0.773, 1.375, 2.232, 3.363, 4.784, 6.524, 8.595",\
                 "0.1606, 0.2184, 0.407, 0.7736, 1.373, 2.232, 3.359, 4.783, 6.524, 8.595",\
                 "0.1628, 0.2206, 0.409, 0.7738, 1.374, 2.229, 3.364, 4.784, 6.521, 8.599",\
                 "0.166, 0.2232, 0.4118, 0.7752, 1.374, 2.229, 3.363, 4.783, 6.523, 8.599",\
                 "0.1698, 0.2266, 0.414, 0.7766, 1.375, 2.233, 3.36, 4.786, 6.518, 8.598",\
                 "0.1744, 0.2306, 0.4178, 0.7782, 1.376, 2.232, 3.359, 4.784, 6.522, 8.594");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.9521, 1.001, 1.133, 1.329, 1.582, 1.905, 2.313, 2.821, 3.439, 4.175",\
                 "0.9643, 1.013, 1.145, 1.34, 1.594, 1.917, 2.325, 2.833, 3.451, 4.187",\
                 "1.005, 1.054, 1.186, 1.382, 1.635, 1.958, 2.366, 2.874, 3.492, 4.228",\
                 "1.087, 1.136, 1.268, 1.463, 1.717, 2.04, 2.448, 2.956, 3.574, 4.31",\
                 "1.192, 1.241, 1.373, 1.568, 1.822, 2.145, 2.553, 3.061, 3.678, 4.415",\
                 "1.282, 1.331, 1.463, 1.658, 1.911, 2.235, 2.643, 3.15, 3.768, 4.505",\
                 "1.352, 1.401, 1.533, 1.728, 1.982, 2.305, 2.713, 3.22, 3.838, 4.574",\
                 "1.396, 1.445, 1.577, 1.773, 2.027, 2.35, 2.758, 3.265, 3.882, 4.618",\
                 "1.417, 1.466, 1.598, 1.793, 2.045, 2.368, 2.776, 3.283, 3.9, 4.636",\
                 "1.414, 1.463, 1.595, 1.788, 2.04, 2.362, 2.77, 3.278, 3.896, 4.632");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("1.153, 1.198, 1.333, 1.563, 1.912, 2.4, 3.042, 3.85, 4.836, 6.011",\
                 "1.169, 1.214, 1.349, 1.579, 1.928, 2.416, 3.058, 3.865, 4.853, 6.027",\
                 "1.215, 1.261, 1.395, 1.625, 1.974, 2.463, 3.104, 3.912, 4.899, 6.074",\
                 "1.294, 1.339, 1.474, 1.704, 2.053, 2.541, 3.182, 3.991, 4.977, 6.152",\
                 "1.417, 1.463, 1.598, 1.827, 2.176, 2.664, 3.306, 4.113, 5.099, 6.277",\
                 "1.588, 1.633, 1.768, 1.997, 2.346, 2.834, 3.475, 4.283, 5.27, 6.446",\
                 "1.804, 1.85, 1.984, 2.213, 2.561, 3.048, 3.69, 4.498, 5.485, 6.662",\
                 "2.059, 2.105, 2.239, 2.468, 2.815, 3.303, 3.944, 4.752, 5.738, 6.914",\
                 "2.345, 2.391, 2.526, 2.753, 3.101, 3.588, 4.229, 5.037, 6.023, 7.198",\
                 "2.663, 2.709, 2.844, 3.071, 3.418, 3.905, 4.547, 5.355, 6.341, 7.516");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1778, 0.2275, 0.3674, 0.5922, 0.9236, 1.395, 2.042, 2.878, 3.908, 5.147",\
                 "0.1775, 0.2274, 0.3674, 0.5924, 0.9224, 1.396, 2.042, 2.877, 3.908, 5.147",\
                 "0.1784, 0.2274, 0.367, 0.5922, 0.9236, 1.397, 2.041, 2.875, 3.908, 5.148",\
                 "0.1776, 0.2274, 0.3668, 0.5926, 0.9236, 1.396, 2.041, 2.875, 3.908, 5.148",\
                 "0.1772, 0.2272, 0.368, 0.5934, 0.9236, 1.397, 2.041, 2.875, 3.909, 5.148",\
                 "0.1786, 0.228, 0.3678, 0.592, 0.9214, 1.397, 2.041, 2.878, 3.907, 5.146",\
                 "0.1802, 0.2298, 0.3696, 0.5936, 0.9244, 1.393, 2.038, 2.874, 3.907, 5.146",\
                 "0.1818, 0.2318, 0.3708, 0.5952, 0.9244, 1.394, 2.039, 2.872, 3.904, 5.142",\
                 "0.1828, 0.2316, 0.3704, 0.593, 0.9234, 1.393, 2.04, 2.873, 3.905, 5.136",\
                 "0.1848, 0.2328, 0.3694, 0.591, 0.9182, 1.392, 2.04, 2.877, 3.906, 5.137");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1558, 0.2134, 0.4028, 0.7734, 1.377, 2.233, 3.366, 4.787, 6.522, 8.599",\
                 "0.156, 0.2134, 0.4024, 0.7734, 1.376, 2.234, 3.366, 4.788, 6.522, 8.596",\
                 "0.1556, 0.2134, 0.4028, 0.7736, 1.378, 2.235, 3.361, 4.784, 6.524, 8.6",\
                 "0.156, 0.2136, 0.403, 0.7738, 1.376, 2.236, 3.362, 4.792, 6.52, 8.594",\
                 "0.1562, 0.214, 0.4026, 0.7738, 1.378, 2.234, 3.365, 4.785, 6.524, 8.599",\
                 "0.1566, 0.2132, 0.4026, 0.773, 1.378, 2.235, 3.366, 4.782, 6.526, 8.597",\
                 "0.1564, 0.2136, 0.4024, 0.7722, 1.377, 2.235, 3.365, 4.788, 6.524, 8.599",\
                 "0.1578, 0.215, 0.4032, 0.7724, 1.377, 2.232, 3.364, 4.786, 6.526, 8.599",\
                 "0.16, 0.2164, 0.4038, 0.7722, 1.376, 2.235, 3.36, 4.784, 6.521, 8.596",\
                 "0.163, 0.2186, 0.4048, 0.7718, 1.377, 2.236, 3.363, 4.785, 6.521, 8.598");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.9521, 1.001, 1.133, 1.329, 1.582, 1.905, 2.313, 2.821, 3.439, 4.175",\
                 "0.9643, 1.013, 1.145, 1.34, 1.594, 1.917, 2.325, 2.833, 3.451, 4.187",\
                 "1.005, 1.054, 1.186, 1.382, 1.635, 1.958, 2.366, 2.874, 3.492, 4.228",\
                 "1.087, 1.136, 1.268, 1.463, 1.717, 2.04, 2.448, 2.956, 3.574, 4.31",\
                 "1.192, 1.241, 1.373, 1.568, 1.822, 2.145, 2.553, 3.061, 3.678, 4.415",\
                 "1.282, 1.331, 1.463, 1.658, 1.911, 2.235, 2.643, 3.15, 3.768, 4.505",\
                 "1.352, 1.401, 1.533, 1.728, 1.982, 2.305, 2.713, 3.22, 3.838, 4.574",\
                 "1.396, 1.445, 1.577, 1.773, 2.027, 2.35, 2.758, 3.265, 3.882, 4.618",\
                 "1.417, 1.466, 1.598, 1.793, 2.045, 2.368, 2.776, 3.283, 3.9, 4.636",\
                 "1.414, 1.463, 1.595, 1.788, 2.04, 2.362, 2.77, 3.278, 3.896, 4.632");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("1.179, 1.226, 1.362, 1.592, 1.94, 2.428, 3.069, 3.877, 4.863, 6.04",\
                 "1.19, 1.236, 1.373, 1.603, 1.951, 2.438, 3.079, 3.887, 4.873, 6.048",\
                 "1.236, 1.282, 1.419, 1.649, 1.997, 2.484, 3.125, 3.932, 4.919, 6.095",\
                 "1.348, 1.394, 1.53, 1.761, 2.109, 2.596, 3.237, 4.044, 5.031, 6.206",\
                 "1.544, 1.591, 1.727, 1.957, 2.305, 2.792, 3.433, 4.241, 5.227, 6.402",\
                 "1.815, 1.861, 1.998, 2.228, 2.576, 3.063, 3.704, 4.511, 5.497, 6.675",\
                 "2.138, 2.185, 2.322, 2.552, 2.899, 3.386, 4.027, 4.834, 5.821, 6.997",\
                 "2.518, 2.564, 2.702, 2.932, 3.278, 3.765, 4.406, 5.213, 6.2, 7.377",\
                 "2.953, 3, 3.138, 3.368, 3.715, 4.2, 4.841, 5.648, 6.634, 7.81",\
                 "3.442, 3.49, 3.628, 3.858, 4.205, 4.691, 5.332, 6.139, 7.124, 8.299");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1845, 0.2308, 0.3594, 0.5732, 0.9006, 1.378, 2.032, 2.871, 3.91, 5.143",\
                 "0.1842, 0.2302, 0.3596, 0.5738, 0.899, 1.378, 2.033, 2.874, 3.91, 5.149",\
                 "0.1844, 0.2308, 0.3604, 0.5732, 0.9012, 1.379, 2.032, 2.874, 3.91, 5.148",\
                 "0.1846, 0.2306, 0.3606, 0.5734, 0.8994, 1.379, 2.033, 2.874, 3.911, 5.146",\
                 "0.1842, 0.23, 0.3592, 0.5742, 0.8996, 1.378, 2.032, 2.874, 3.91, 5.146",\
                 "0.1832, 0.2286, 0.3562, 0.5702, 0.8964, 1.377, 2.032, 2.873, 3.91, 5.144",\
                 "0.1814, 0.2268, 0.3548, 0.569, 0.8968, 1.377, 2.03, 2.873, 3.909, 5.148",\
                 "0.1802, 0.2252, 0.3528, 0.5676, 0.8958, 1.375, 2.03, 2.871, 3.905, 5.143",\
                 "0.1806, 0.2246, 0.3506, 0.5632, 0.89, 1.372, 2.028, 2.87, 3.905, 5.141",\
                 "0.1814, 0.2258, 0.35, 0.561, 0.8882, 1.371, 2.027, 2.872, 3.906, 5.145");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1558, 0.2134, 0.4028, 0.7734, 1.377, 2.233, 3.366, 4.787, 6.522, 8.599",\
                 "0.156, 0.2134, 0.4024, 0.7734, 1.376, 2.234, 3.366, 4.788, 6.522, 8.596",\
                 "0.1556, 0.2134, 0.4028, 0.7736, 1.378, 2.235, 3.361, 4.784, 6.524, 8.6",\
                 "0.156, 0.2136, 0.403, 0.7738, 1.376, 2.236, 3.362, 4.792, 6.52, 8.594",\
                 "0.1562, 0.214, 0.4026, 0.7738, 1.378, 2.234, 3.365, 4.785, 6.524, 8.599",\
                 "0.1566, 0.2132, 0.4026, 0.773, 1.378, 2.235, 3.366, 4.782, 6.526, 8.597",\
                 "0.1564, 0.2136, 0.4024, 0.7722, 1.377, 2.235, 3.365, 4.788, 6.524, 8.599",\
                 "0.1578, 0.215, 0.4032, 0.7724, 1.377, 2.232, 3.364, 4.786, 6.526, 8.599",\
                 "0.16, 0.2164, 0.4038, 0.7722, 1.376, 2.235, 3.36, 4.784, 6.521, 8.596",\
                 "0.163, 0.2186, 0.4048, 0.7718, 1.377, 2.236, 3.363, 4.785, 6.521, 8.598");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.8945, 0.9531, 1.107, 1.323, 1.595, 1.931, 2.346, 2.857, 3.476, 4.213",\
                 "0.9028, 0.9614, 1.115, 1.332, 1.604, 1.939, 2.354, 2.865, 3.484, 4.221",\
                 "0.9348, 0.9934, 1.147, 1.364, 1.635, 1.971, 2.386, 2.897, 3.516, 4.253",\
                 "1.011, 1.07, 1.224, 1.44, 1.712, 2.047, 2.463, 2.973, 3.593, 4.33",\
                 "1.163, 1.221, 1.375, 1.592, 1.864, 2.199, 2.614, 3.125, 3.744, 4.481",\
                 "1.382, 1.442, 1.601, 1.822, 2.097, 2.434, 2.85, 3.361, 3.98, 4.716",\
                 "1.674, 1.736, 1.898, 2.122, 2.401, 2.742, 3.16, 3.672, 4.291, 5.027",\
                 "2.035, 2.099, 2.265, 2.494, 2.777, 3.12, 3.54, 4.054, 4.674, 5.411",\
                 "2.459, 2.525, 2.699, 2.936, 3.225, 3.572, 3.994, 4.508, 5.13, 5.867",\
                 "2.941, 3.012, 3.194, 3.44, 3.739, 4.094, 4.521, 5.037, 5.659, 6.398");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.3919, 0.4358, 0.5685, 0.7971, 1.146, 1.634, 2.276, 3.084, 4.069, 5.247",\
                 "0.4053, 0.4494, 0.5818, 0.8104, 1.159, 1.647, 2.289, 3.098, 4.085, 5.258",\
                 "0.4374, 0.4811, 0.6136, 0.8421, 1.191, 1.679, 2.32, 3.13, 4.116, 5.293",\
                 "0.4797, 0.5242, 0.6569, 0.8853, 1.234, 1.722, 2.363, 3.172, 4.16, 5.336",\
                 "0.5084, 0.5545, 0.6904, 0.9198, 1.268, 1.755, 2.397, 3.205, 4.191, 5.368",\
                 "0.507, 0.5554, 0.696, 0.9277, 1.275, 1.762, 2.403, 3.211, 4.197, 5.373",\
                 "0.4656, 0.5169, 0.6632, 0.9001, 1.249, 1.735, 2.375, 3.182, 4.168, 5.343",\
                 "0.3778, 0.4328, 0.5858, 0.829, 1.183, 1.672, 2.311, 3.118, 4.103, 5.278",\
                 "0.2423, 0.3011, 0.4604, 0.7111, 1.07, 1.565, 2.208, 3.016, 4.001, 5.174",\
                 "0.0549, 0.1176, 0.2861, 0.5445, 0.909, 1.409, 2.061, 2.872, 3.857, 5.032");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.2445, 0.3005, 0.4466, 0.6688, 0.9924, 1.45, 2.083, 2.905, 3.929, 5.159",\
                 "0.2456, 0.3019, 0.4462, 0.6696, 0.992, 1.451, 2.083, 2.904, 3.93, 5.159",\
                 "0.2444, 0.3006, 0.447, 0.669, 0.9926, 1.45, 2.083, 2.905, 3.929, 5.159",\
                 "0.2454, 0.3012, 0.4468, 0.67, 0.9918, 1.452, 2.081, 2.905, 3.929, 5.159",\
                 "0.2498, 0.3058, 0.451, 0.674, 0.9942, 1.453, 2.083, 2.902, 3.932, 5.163",\
                 "0.264, 0.3214, 0.4678, 0.6876, 1.005, 1.461, 2.087, 2.905, 3.932, 5.163",\
                 "0.276, 0.3348, 0.4846, 0.7068, 1.023, 1.474, 2.096, 2.913, 3.93, 5.167",\
                 "0.2946, 0.355, 0.5058, 0.726, 1.041, 1.488, 2.109, 2.923, 3.94, 5.163",\
                 "0.3204, 0.3836, 0.5394, 0.7572, 1.068, 1.508, 2.122, 2.931, 3.947, 5.173",\
                 "0.3494, 0.4162, 0.577, 0.8008, 1.111, 1.543, 2.146, 2.943, 3.955, 5.178");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1408, 0.1979, 0.3889, 0.7649, 1.371, 2.23, 3.361, 4.786, 6.522, 8.599",\
                 "0.1408, 0.1989, 0.3892, 0.7645, 1.371, 2.232, 3.361, 4.786, 6.528, 8.597",\
                 "0.1406, 0.198, 0.389, 0.7641, 1.371, 2.229, 3.359, 4.786, 6.526, 8.597",\
                 "0.1457, 0.2024, 0.3914, 0.7652, 1.372, 2.23, 3.361, 4.786, 6.524, 8.603",\
                 "0.1558, 0.2138, 0.4024, 0.7706, 1.375, 2.23, 3.361, 4.786, 6.526, 8.6",\
                 "0.173, 0.23, 0.417, 0.7794, 1.377, 2.231, 3.363, 4.784, 6.525, 8.598",\
                 "0.1926, 0.2492, 0.4384, 0.7966, 1.385, 2.234, 3.362, 4.788, 6.535, 8.592",\
                 "0.2154, 0.2742, 0.4638, 0.819, 1.405, 2.248, 3.367, 4.785, 6.526, 8.603",\
                 "0.2402, 0.3, 0.4906, 0.8466, 1.43, 2.274, 3.383, 4.792, 6.524, 8.594",\
                 "0.2678, 0.3292, 0.5204, 0.8754, 1.459, 2.309, 3.42, 4.816, 6.533, 8.597");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.5891, 0.6359, 0.7616, 0.946, 1.189, 1.505, 1.91, 2.416, 3.034, 3.771",\
                 "0.6056, 0.6525, 0.7781, 0.9625, 1.206, 1.522, 1.926, 2.433, 3.051, 3.787",\
                 "0.6534, 0.7003, 0.826, 1.01, 1.254, 1.569, 1.974, 2.481, 3.099, 3.835",\
                 "0.7319, 0.7787, 0.904, 1.088, 1.331, 1.647, 2.052, 2.559, 3.176, 3.913",\
                 "0.8484, 0.8971, 1.026, 1.213, 1.457, 1.773, 2.178, 2.684, 3.302, 4.039",\
                 "1.006, 1.056, 1.19, 1.383, 1.632, 1.95, 2.355, 2.862, 3.479, 4.215",\
                 "1.202, 1.256, 1.397, 1.598, 1.853, 2.175, 2.582, 3.088, 3.705, 4.441",\
                 "1.43, 1.489, 1.639, 1.851, 2.117, 2.446, 2.855, 3.362, 3.979, 4.715",\
                 "1.69, 1.752, 1.912, 2.136, 2.415, 2.756, 3.173, 3.682, 4.299, 5.035",\
                 "1.979, 2.045, 2.215, 2.45, 2.744, 3.099, 3.529, 4.047, 4.667, 5.404");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.538, 0.587, 0.7315, 0.9703, 1.323, 1.812, 2.454, 3.264, 4.252, 5.427",\
                 "0.545, 0.594, 0.7387, 0.9774, 1.33, 1.819, 2.462, 3.271, 4.259, 5.434",\
                 "0.5662, 0.6153, 0.7595, 0.9985, 1.351, 1.84, 2.483, 3.293, 4.28, 5.457",\
                 "0.6111, 0.6601, 0.8046, 1.043, 1.396, 1.885, 2.528, 3.336, 4.322, 5.5",\
                 "0.664, 0.7142, 0.8603, 1.101, 1.454, 1.943, 2.585, 3.394, 4.382, 5.558",\
                 "0.7112, 0.7625, 0.9103, 1.151, 1.505, 1.994, 2.637, 3.446, 4.433, 5.61",\
                 "0.7417, 0.7952, 0.9466, 1.191, 1.544, 2.034, 2.676, 3.485, 4.473, 5.648",\
                 "0.7502, 0.806, 0.9625, 1.212, 1.57, 2.06, 2.702, 3.511, 4.498, 5.674",\
                 "0.7338, 0.7929, 0.9544, 1.211, 1.575, 2.07, 2.714, 3.522, 4.51, 5.687",\
                 "0.6897, 0.7519, 0.9201, 1.183, 1.554, 2.058, 2.709, 3.52, 4.507, 5.683");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1721, 0.218, 0.3478, 0.5638, 0.8944, 1.373, 2.029, 2.873, 3.911, 5.15",\
                 "0.172, 0.2176, 0.347, 0.5633, 0.8922, 1.374, 2.031, 2.873, 3.911, 5.151",\
                 "0.1727, 0.2177, 0.3473, 0.564, 0.8946, 1.374, 2.03, 2.874, 3.912, 5.151",\
                 "0.1732, 0.2186, 0.3482, 0.5642, 0.894, 1.374, 2.031, 2.872, 3.912, 5.152",\
                 "0.1862, 0.232, 0.3602, 0.5722, 0.8972, 1.376, 2.03, 2.875, 3.911, 5.148",\
                 "0.2014, 0.25, 0.3806, 0.5924, 0.913, 1.384, 2.033, 2.874, 3.912, 5.151",\
                 "0.2264, 0.2786, 0.4112, 0.6222, 0.937, 1.399, 2.04, 2.875, 3.911, 5.148",\
                 "0.254, 0.308, 0.4478, 0.664, 0.976, 1.426, 2.055, 2.882, 3.911, 5.149",\
                 "0.2846, 0.3436, 0.4884, 0.7114, 1.03, 1.474, 2.087, 2.897, 3.916, 5.146",\
                 "0.318, 0.3782, 0.5322, 0.7626, 1.089, 1.538, 2.147, 2.939, 3.941, 5.154");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1699, 0.2302, 0.4257, 0.7918, 1.386, 2.24, 3.37, 4.792, 6.532, 8.606",\
                 "0.1696, 0.2303, 0.4256, 0.7922, 1.386, 2.242, 3.369, 4.793, 6.532, 8.607",\
                 "0.1701, 0.23, 0.4266, 0.7933, 1.386, 2.24, 3.369, 4.792, 6.531, 8.607",\
                 "0.1711, 0.2316, 0.4276, 0.7928, 1.388, 2.239, 3.368, 4.794, 6.528, 8.612",\
                 "0.1788, 0.2394, 0.4362, 0.8006, 1.391, 2.241, 3.37, 4.794, 6.532, 8.607",\
                 "0.1896, 0.2494, 0.4452, 0.808, 1.398, 2.249, 3.372, 4.792, 6.533, 8.606",\
                 "0.2062, 0.2652, 0.462, 0.819, 1.403, 2.252, 3.379, 4.805, 6.532, 8.601",\
                 "0.2252, 0.2834, 0.4808, 0.8418, 1.419, 2.26, 3.384, 4.803, 6.535, 8.606",\
                 "0.2474, 0.3074, 0.5038, 0.8686, 1.447, 2.285, 3.395, 4.809, 6.544, 8.622",\
                 "0.2704, 0.332, 0.528, 0.8962, 1.481, 2.32, 3.423, 4.824, 6.549, 8.615");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.8945, 0.9531, 1.107, 1.323, 1.595, 1.931, 2.346, 2.857, 3.476, 4.213",\
                 "0.9028, 0.9614, 1.115, 1.332, 1.604, 1.939, 2.354, 2.865, 3.484, 4.221",\
                 "0.9348, 0.9934, 1.147, 1.364, 1.635, 1.971, 2.386, 2.897, 3.516, 4.253",\
                 "1.011, 1.07, 1.224, 1.44, 1.712, 2.047, 2.463, 2.973, 3.593, 4.33",\
                 "1.163, 1.221, 1.375, 1.592, 1.864, 2.199, 2.614, 3.125, 3.744, 4.481",\
                 "1.382, 1.442, 1.601, 1.822, 2.097, 2.434, 2.85, 3.361, 3.98, 4.716",\
                 "1.674, 1.736, 1.898, 2.122, 2.401, 2.742, 3.16, 3.672, 4.291, 5.027",\
                 "2.035, 2.099, 2.265, 2.494, 2.777, 3.12, 3.54, 4.054, 4.674, 5.411",\
                 "2.459, 2.525, 2.699, 2.936, 3.225, 3.572, 3.994, 4.508, 5.13, 5.867",\
                 "2.941, 3.012, 3.194, 3.44, 3.739, 4.094, 4.521, 5.037, 5.659, 6.398");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.538, 0.587, 0.7315, 0.9703, 1.323, 1.812, 2.454, 3.264, 4.252, 5.427",\
                 "0.545, 0.594, 0.7387, 0.9774, 1.33, 1.819, 2.462, 3.271, 4.259, 5.434",\
                 "0.5662, 0.6153, 0.7595, 0.9985, 1.351, 1.84, 2.483, 3.293, 4.28, 5.457",\
                 "0.6111, 0.6601, 0.8046, 1.043, 1.396, 1.885, 2.528, 3.336, 4.322, 5.5",\
                 "0.664, 0.7142, 0.8603, 1.101, 1.454, 1.943, 2.585, 3.394, 4.382, 5.558",\
                 "0.7112, 0.7625, 0.9103, 1.151, 1.505, 1.994, 2.637, 3.446, 4.433, 5.61",\
                 "0.7417, 0.7952, 0.9466, 1.191, 1.544, 2.034, 2.676, 3.485, 4.473, 5.648",\
                 "0.7502, 0.806, 0.9625, 1.212, 1.57, 2.06, 2.702, 3.511, 4.498, 5.674",\
                 "0.7338, 0.7929, 0.9544, 1.211, 1.575, 2.07, 2.714, 3.522, 4.51, 5.687",\
                 "0.6897, 0.7519, 0.9201, 1.183, 1.554, 2.058, 2.709, 3.52, 4.507, 5.683");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.2445, 0.3005, 0.4466, 0.6688, 0.9924, 1.45, 2.083, 2.905, 3.929, 5.159",\
                 "0.2456, 0.3019, 0.4462, 0.6696, 0.992, 1.451, 2.083, 2.904, 3.93, 5.159",\
                 "0.2444, 0.3006, 0.447, 0.669, 0.9926, 1.45, 2.083, 2.905, 3.929, 5.159",\
                 "0.2454, 0.3012, 0.4468, 0.67, 0.9918, 1.452, 2.081, 2.905, 3.929, 5.159",\
                 "0.2498, 0.3058, 0.451, 0.674, 0.9942, 1.453, 2.083, 2.902, 3.932, 5.163",\
                 "0.264, 0.3214, 0.4678, 0.6876, 1.005, 1.461, 2.087, 2.905, 3.932, 5.163",\
                 "0.276, 0.3348, 0.4846, 0.7068, 1.023, 1.474, 2.096, 2.913, 3.93, 5.167",\
                 "0.2946, 0.355, 0.5058, 0.726, 1.041, 1.488, 2.109, 2.923, 3.94, 5.163",\
                 "0.3204, 0.3836, 0.5394, 0.7572, 1.068, 1.508, 2.122, 2.931, 3.947, 5.173",\
                 "0.3494, 0.4162, 0.577, 0.8008, 1.111, 1.543, 2.146, 2.943, 3.955, 5.178");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1699, 0.2302, 0.4257, 0.7918, 1.386, 2.24, 3.37, 4.792, 6.532, 8.606",\
                 "0.1696, 0.2303, 0.4256, 0.7922, 1.386, 2.242, 3.369, 4.793, 6.532, 8.607",\
                 "0.1701, 0.23, 0.4266, 0.7933, 1.386, 2.24, 3.369, 4.792, 6.531, 8.607",\
                 "0.1711, 0.2316, 0.4276, 0.7928, 1.388, 2.239, 3.368, 4.794, 6.528, 8.612",\
                 "0.1788, 0.2394, 0.4362, 0.8006, 1.391, 2.241, 3.37, 4.794, 6.532, 8.607",\
                 "0.1896, 0.2494, 0.4452, 0.808, 1.398, 2.249, 3.372, 4.792, 6.533, 8.606",\
                 "0.2062, 0.2652, 0.462, 0.819, 1.403, 2.252, 3.379, 4.805, 6.532, 8.601",\
                 "0.2252, 0.2834, 0.4808, 0.8418, 1.419, 2.26, 3.384, 4.803, 6.535, 8.606",\
                 "0.2474, 0.3074, 0.5038, 0.8686, 1.447, 2.285, 3.395, 4.809, 6.544, 8.622",\
                 "0.2704, 0.332, 0.528, 0.8962, 1.481, 2.32, 3.423, 4.824, 6.549, 8.615");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.9507, 0.9993, 1.128, 1.315, 1.561, 1.877, 2.283, 2.789, 3.407, 4.144",\
                 "0.9634, 1.012, 1.141, 1.328, 1.573, 1.89, 2.295, 2.802, 3.42, 4.156",\
                 "1.005, 1.054, 1.183, 1.371, 1.616, 1.933, 2.338, 2.844, 3.462, 4.199",\
                 "1.079, 1.127, 1.256, 1.444, 1.689, 2.006, 2.411, 2.917, 3.535, 4.271",\
                 "1.157, 1.205, 1.334, 1.521, 1.766, 2.083, 2.488, 2.995, 3.613, 4.349",\
                 "1.221, 1.267, 1.393, 1.579, 1.825, 2.143, 2.549, 3.056, 3.674, 4.41",\
                 "1.253, 1.299, 1.423, 1.608, 1.853, 2.171, 2.578, 3.087, 3.706, 4.443",\
                 "1.253, 1.298, 1.422, 1.607, 1.851, 2.168, 2.575, 3.085, 3.705, 4.443",\
                 "1.222, 1.267, 1.39, 1.572, 1.815, 2.132, 2.538, 3.047, 3.667, 4.405",\
                 "1.157, 1.202, 1.324, 1.505, 1.747, 2.065, 2.474, 2.984, 3.604, 4.343");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("1.06, 1.105, 1.238, 1.466, 1.814, 2.301, 2.943, 3.75, 4.737, 5.914",\
                 "1.075, 1.12, 1.253, 1.481, 1.829, 2.317, 2.958, 3.766, 4.753, 5.93",\
                 "1.13, 1.175, 1.307, 1.536, 1.883, 2.371, 3.012, 3.82, 4.807, 5.983",\
                 "1.247, 1.292, 1.425, 1.654, 2.001, 2.489, 3.13, 3.938, 4.925, 6.1",\
                 "1.441, 1.485, 1.618, 1.846, 2.194, 2.682, 3.323, 4.131, 5.117, 6.293",\
                 "1.693, 1.738, 1.871, 2.099, 2.447, 2.935, 3.576, 4.384, 5.369, 6.546",\
                 "1.99, 2.035, 2.169, 2.397, 2.744, 3.232, 3.873, 4.681, 5.668, 6.844",\
                 "2.336, 2.381, 2.515, 2.743, 3.09, 3.577, 4.219, 5.027, 6.013, 7.19",\
                 "2.726, 2.772, 2.906, 3.134, 3.481, 3.968, 4.609, 5.417, 6.402, 7.579",\
                 "3.161, 3.207, 3.341, 3.569, 3.917, 4.404, 5.046, 5.854, 6.839, 8.015");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1845, 0.2304, 0.3604, 0.5732, 0.8998, 1.378, 2.033, 2.874, 3.911, 5.146",\
                 "0.1845, 0.2312, 0.3598, 0.574, 0.9002, 1.379, 2.033, 2.875, 3.911, 5.15",\
                 "0.1842, 0.231, 0.3606, 0.5734, 0.9014, 1.379, 2.033, 2.874, 3.91, 5.147",\
                 "0.1848, 0.2306, 0.3606, 0.5734, 0.9008, 1.378, 2.033, 2.874, 3.911, 5.149",\
                 "0.1838, 0.2302, 0.36, 0.5734, 0.9012, 1.378, 2.032, 2.874, 3.91, 5.15",\
                 "0.1784, 0.223, 0.3532, 0.5708, 0.9012, 1.382, 2.035, 2.873, 3.91, 5.15",\
                 "0.1742, 0.2186, 0.3506, 0.5698, 0.9008, 1.382, 2.039, 2.879, 3.912, 5.152",\
                 "0.1726, 0.2166, 0.348, 0.5676, 0.8984, 1.382, 2.04, 2.881, 3.918, 5.151",\
                 "0.1716, 0.2156, 0.3456, 0.5618, 0.8938, 1.378, 2.036, 2.88, 3.919, 5.154",\
                 "0.173, 0.216, 0.3448, 0.5592, 0.8932, 1.382, 2.043, 2.884, 3.921, 5.154");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1512, 0.2084, 0.3972, 0.7688, 1.374, 2.23, 3.362, 4.783, 6.522, 8.598",\
                 "0.1518, 0.2088, 0.3976, 0.7686, 1.373, 2.23, 3.359, 4.784, 6.525, 8.599",\
                 "0.1514, 0.2078, 0.3976, 0.7686, 1.373, 2.23, 3.364, 4.782, 6.519, 8.604",\
                 "0.1518, 0.2088, 0.3972, 0.7686, 1.374, 2.229, 3.364, 4.783, 6.525, 8.594",\
                 "0.1518, 0.2092, 0.398, 0.7686, 1.374, 2.229, 3.363, 4.785, 6.524, 8.592",\
                 "0.1516, 0.2096, 0.399, 0.7692, 1.374, 2.229, 3.365, 4.785, 6.524, 8.598",\
                 "0.1536, 0.2104, 0.3988, 0.7696, 1.375, 2.233, 3.359, 4.792, 6.523, 8.601",\
                 "0.1558, 0.2124, 0.4004, 0.7704, 1.375, 2.231, 3.36, 4.79, 6.521, 8.598",\
                 "0.1598, 0.2164, 0.4028, 0.771, 1.376, 2.231, 3.359, 4.788, 6.525, 8.592",\
                 "0.164, 0.2202, 0.4054, 0.7738, 1.378, 2.235, 3.36, 4.784, 6.518, 8.602");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.9252, 0.9723, 1.098, 1.282, 1.526, 1.842, 2.247, 2.753, 3.371, 4.107",\
                 "0.9377, 0.9849, 1.11, 1.295, 1.538, 1.854, 2.259, 2.766, 3.384, 4.12",\
                 "0.9806, 1.027, 1.153, 1.338, 1.581, 1.897, 2.302, 2.808, 3.426, 4.162",\
                 "1.056, 1.103, 1.229, 1.413, 1.657, 1.973, 2.377, 2.884, 3.502, 4.238",\
                 "1.139, 1.186, 1.311, 1.496, 1.739, 2.055, 2.46, 2.967, 3.585, 4.321",\
                 "1.211, 1.256, 1.379, 1.563, 1.805, 2.122, 2.527, 3.033, 3.651, 4.388",\
                 "1.252, 1.297, 1.42, 1.603, 1.846, 2.162, 2.566, 3.073, 3.691, 4.427",\
                 "1.26, 1.306, 1.428, 1.61, 1.853, 2.169, 2.574, 3.08, 3.698, 4.434",\
                 "1.236, 1.281, 1.403, 1.584, 1.825, 2.14, 2.545, 3.052, 3.669, 4.406",\
                 "1.177, 1.222, 1.342, 1.523, 1.764, 2.08, 2.488, 2.997, 3.616, 4.352");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("1.073, 1.118, 1.253, 1.483, 1.832, 2.32, 2.962, 3.77, 4.756, 5.933",\
                 "1.088, 1.133, 1.268, 1.498, 1.847, 2.335, 2.976, 3.784, 4.77, 5.947",\
                 "1.142, 1.188, 1.323, 1.552, 1.901, 2.389, 3.031, 3.839, 4.825, 6.001",\
                 "1.262, 1.307, 1.442, 1.671, 2.021, 2.508, 3.15, 3.958, 4.945, 6.122",\
                 "1.455, 1.501, 1.636, 1.865, 2.214, 2.702, 3.344, 4.152, 5.137, 6.315",\
                 "1.704, 1.749, 1.885, 2.115, 2.464, 2.952, 3.594, 4.402, 5.388, 6.565",\
                 "1.996, 2.042, 2.176, 2.407, 2.756, 3.245, 3.887, 4.696, 5.683, 6.859",\
                 "2.336, 2.382, 2.517, 2.747, 3.096, 3.585, 4.228, 5.036, 6.023, 7.2",\
                 "2.722, 2.768, 2.903, 3.133, 3.481, 3.97, 4.612, 5.422, 6.408, 7.584",\
                 "3.15, 3.197, 3.333, 3.563, 3.911, 4.4, 5.042, 5.852, 6.839, 8.016");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1742, 0.2198, 0.3502, 0.5656, 0.894, 1.375, 2.03, 2.87, 3.91, 5.144",\
                 "0.1744, 0.2198, 0.3498, 0.5656, 0.8942, 1.375, 2.03, 2.87, 3.91, 5.142",\
                 "0.1744, 0.2204, 0.3494, 0.5656, 0.894, 1.375, 2.03, 2.87, 3.91, 5.142",\
                 "0.1744, 0.2196, 0.3492, 0.5656, 0.894, 1.375, 2.03, 2.871, 3.91, 5.146",\
                 "0.174, 0.2194, 0.349, 0.5656, 0.8952, 1.374, 2.029, 2.872, 3.908, 5.149",\
                 "0.1702, 0.2144, 0.3444, 0.5614, 0.892, 1.375, 2.031, 2.872, 3.907, 5.146",\
                 "0.1694, 0.213, 0.3448, 0.5616, 0.893, 1.372, 2.028, 2.871, 3.907, 5.148",\
                 "0.168, 0.2126, 0.3434, 0.561, 0.892, 1.374, 2.027, 2.869, 3.906, 5.146",\
                 "0.1682, 0.2116, 0.3418, 0.5586, 0.8876, 1.372, 2.027, 2.87, 3.904, 5.14",\
                 "0.169, 0.2128, 0.341, 0.555, 0.8894, 1.377, 2.039, 2.878, 3.908, 5.14");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1562, 0.2128, 0.4028, 0.7738, 1.376, 2.233, 3.366, 4.786, 6.522, 8.595",\
                 "0.1562, 0.2134, 0.403, 0.7732, 1.377, 2.235, 3.364, 4.784, 6.525, 8.6",\
                 "0.156, 0.2134, 0.403, 0.7732, 1.378, 2.235, 3.364, 4.784, 6.525, 8.6",\
                 "0.1562, 0.2128, 0.4028, 0.7738, 1.376, 2.233, 3.367, 4.785, 6.523, 8.598",\
                 "0.1564, 0.2138, 0.4032, 0.7734, 1.378, 2.235, 3.364, 4.784, 6.523, 8.597",\
                 "0.1566, 0.2144, 0.4048, 0.7748, 1.379, 2.233, 3.366, 4.782, 6.522, 8.598",\
                 "0.1574, 0.215, 0.405, 0.7762, 1.38, 2.235, 3.368, 4.789, 6.525, 8.6",\
                 "0.1604, 0.2166, 0.4056, 0.7758, 1.381, 2.238, 3.368, 4.788, 6.526, 8.594",\
                 "0.1638, 0.2194, 0.4072, 0.7762, 1.38, 2.238, 3.368, 4.793, 6.528, 8.608",\
                 "0.1678, 0.2234, 0.4098, 0.7772, 1.382, 2.239, 3.366, 4.792, 6.528, 8.602");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.9507, 0.9993, 1.128, 1.315, 1.561, 1.877, 2.283, 2.789, 3.407, 4.144",\
                 "0.9634, 1.012, 1.141, 1.328, 1.573, 1.89, 2.295, 2.802, 3.42, 4.156",\
                 "1.005, 1.054, 1.183, 1.371, 1.616, 1.933, 2.338, 2.844, 3.462, 4.199",\
                 "1.079, 1.127, 1.256, 1.444, 1.689, 2.006, 2.411, 2.917, 3.535, 4.271",\
                 "1.157, 1.205, 1.334, 1.521, 1.766, 2.083, 2.488, 2.995, 3.613, 4.349",\
                 "1.221, 1.267, 1.393, 1.579, 1.825, 2.143, 2.549, 3.056, 3.674, 4.41",\
                 "1.253, 1.299, 1.423, 1.608, 1.853, 2.171, 2.578, 3.087, 3.706, 4.443",\
                 "1.253, 1.298, 1.422, 1.607, 1.851, 2.168, 2.575, 3.085, 3.705, 4.443",\
                 "1.222, 1.267, 1.39, 1.572, 1.815, 2.132, 2.538, 3.047, 3.667, 4.405",\
                 "1.157, 1.202, 1.324, 1.505, 1.747, 2.065, 2.474, 2.984, 3.604, 4.343");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("1.073, 1.118, 1.253, 1.483, 1.832, 2.32, 2.962, 3.77, 4.756, 5.933",\
                 "1.088, 1.133, 1.268, 1.498, 1.847, 2.335, 2.976, 3.784, 4.77, 5.947",\
                 "1.142, 1.188, 1.323, 1.552, 1.901, 2.389, 3.031, 3.839, 4.825, 6.001",\
                 "1.262, 1.307, 1.442, 1.671, 2.021, 2.508, 3.15, 3.958, 4.945, 6.122",\
                 "1.455, 1.501, 1.636, 1.865, 2.214, 2.702, 3.344, 4.152, 5.137, 6.315",\
                 "1.704, 1.749, 1.885, 2.115, 2.464, 2.952, 3.594, 4.402, 5.388, 6.565",\
                 "1.996, 2.042, 2.176, 2.407, 2.756, 3.245, 3.887, 4.696, 5.683, 6.859",\
                 "2.336, 2.382, 2.517, 2.747, 3.096, 3.585, 4.228, 5.036, 6.023, 7.2",\
                 "2.722, 2.768, 2.903, 3.133, 3.481, 3.97, 4.612, 5.422, 6.408, 7.584",\
                 "3.15, 3.197, 3.333, 3.563, 3.911, 4.4, 5.042, 5.852, 6.839, 8.016");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1845, 0.2304, 0.3604, 0.5732, 0.8998, 1.378, 2.033, 2.874, 3.911, 5.146",\
                 "0.1845, 0.2312, 0.3598, 0.574, 0.9002, 1.379, 2.033, 2.875, 3.911, 5.15",\
                 "0.1842, 0.231, 0.3606, 0.5734, 0.9014, 1.379, 2.033, 2.874, 3.91, 5.147",\
                 "0.1848, 0.2306, 0.3606, 0.5734, 0.9008, 1.378, 2.033, 2.874, 3.911, 5.149",\
                 "0.1838, 0.2302, 0.36, 0.5734, 0.9012, 1.378, 2.032, 2.874, 3.91, 5.15",\
                 "0.1784, 0.223, 0.3532, 0.5708, 0.9012, 1.382, 2.035, 2.873, 3.91, 5.15",\
                 "0.1742, 0.2186, 0.3506, 0.5698, 0.9008, 1.382, 2.039, 2.879, 3.912, 5.152",\
                 "0.1726, 0.2166, 0.348, 0.5676, 0.8984, 1.382, 2.04, 2.881, 3.918, 5.151",\
                 "0.1716, 0.2156, 0.3456, 0.5618, 0.8938, 1.378, 2.036, 2.88, 3.919, 5.154",\
                 "0.173, 0.216, 0.3448, 0.5592, 0.8932, 1.382, 2.043, 2.884, 3.921, 5.154");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1562, 0.2128, 0.4028, 0.7738, 1.376, 2.233, 3.366, 4.786, 6.522, 8.595",\
                 "0.1562, 0.2134, 0.403, 0.7732, 1.377, 2.235, 3.364, 4.784, 6.525, 8.6",\
                 "0.156, 0.2134, 0.403, 0.7732, 1.378, 2.235, 3.364, 4.784, 6.525, 8.6",\
                 "0.1562, 0.2128, 0.4028, 0.7738, 1.376, 2.233, 3.367, 4.785, 6.523, 8.598",\
                 "0.1564, 0.2138, 0.4032, 0.7734, 1.378, 2.235, 3.364, 4.784, 6.523, 8.597",\
                 "0.1566, 0.2144, 0.4048, 0.7748, 1.379, 2.233, 3.366, 4.782, 6.522, 8.598",\
                 "0.1574, 0.215, 0.405, 0.7762, 1.38, 2.235, 3.368, 4.789, 6.525, 8.6",\
                 "0.1604, 0.2166, 0.4056, 0.7758, 1.381, 2.238, 3.368, 4.788, 6.526, 8.594",\
                 "0.1638, 0.2194, 0.4072, 0.7762, 1.38, 2.238, 3.368, 4.793, 6.528, 8.608",\
                 "0.1678, 0.2234, 0.4098, 0.7772, 1.382, 2.239, 3.366, 4.792, 6.528, 8.602");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.8459, 0.9043, 1.058, 1.275, 1.546, 1.882, 2.297, 2.807, 3.427, 4.164",\
                 "0.8499, 0.9086, 1.062, 1.279, 1.55, 1.886, 2.301, 2.811, 3.431, 4.167",\
                 "0.8829, 0.9412, 1.095, 1.311, 1.583, 1.918, 2.333, 2.843, 3.463, 4.199",\
                 "0.9899, 1.048, 1.202, 1.418, 1.689, 2.025, 2.439, 2.95, 3.569, 4.306",\
                 "1.192, 1.25, 1.403, 1.619, 1.89, 2.225, 2.64, 3.15, 3.769, 4.506",\
                 "1.474, 1.533, 1.688, 1.905, 2.177, 2.513, 2.928, 3.438, 4.057, 4.794",\
                 "1.818, 1.879, 2.038, 2.258, 2.534, 2.872, 3.288, 3.798, 4.416, 5.153",\
                 "2.232, 2.296, 2.459, 2.683, 2.96, 3.3, 3.718, 4.229, 4.848, 5.585",\
                 "2.718, 2.784, 2.954, 3.183, 3.464, 3.805, 4.223, 4.736, 5.356, 6.092",\
                 "3.273, 3.343, 3.522, 3.759, 4.045, 4.39, 4.81, 5.321, 5.943, 6.681");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.3849, 0.4304, 0.5661, 0.7967, 1.146, 1.633, 2.275, 3.083, 4.07, 5.248",\
                 "0.3987, 0.4442, 0.5799, 0.8107, 1.16, 1.647, 2.289, 3.097, 4.084, 5.261",\
                 "0.4247, 0.4701, 0.6059, 0.8367, 1.185, 1.673, 2.315, 3.123, 4.11, 5.288",\
                 "0.4502, 0.4971, 0.6353, 0.8667, 1.216, 1.703, 2.345, 3.152, 4.139, 5.314",\
                 "0.4609, 0.5094, 0.6511, 0.8858, 1.236, 1.724, 2.365, 3.172, 4.16, 5.336",\
                 "0.4418, 0.4922, 0.639, 0.8765, 1.227, 1.715, 2.357, 3.164, 4.15, 5.326",\
                 "0.38, 0.4328, 0.5849, 0.8281, 1.18, 1.668, 2.31, 3.118, 4.103, 5.279",\
                 "0.2678, 0.3239, 0.4817, 0.732, 1.09, 1.58, 2.221, 3.029, 4.016, 5.191",\
                 "0.1015, 0.1611, 0.3251, 0.5829, 0.9466, 1.443, 2.088, 2.896, 3.882, 5.058",\
                 "-0.1236, -0.0593, 0.1119, 0.3779, 0.7474, 1.249, 1.902, 2.716, 3.702, 4.878");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.2439, 0.3004, 0.4461, 0.6694, 0.992, 1.45, 2.08, 2.904, 3.93, 5.163",\
                 "0.2447, 0.3003, 0.4455, 0.6686, 0.9914, 1.449, 2.082, 2.904, 3.928, 5.158",\
                 "0.2437, 0.301, 0.446, 0.6684, 0.9908, 1.451, 2.081, 2.903, 3.927, 5.159",\
                 "0.244, 0.3, 0.4452, 0.668, 0.9908, 1.45, 2.081, 2.904, 3.93, 5.158",\
                 "0.2442, 0.3002, 0.4474, 0.6688, 0.9918, 1.45, 2.079, 2.903, 3.926, 5.163",\
                 "0.2596, 0.3154, 0.4592, 0.6784, 0.9988, 1.454, 2.081, 2.905, 3.926, 5.164",\
                 "0.278, 0.3356, 0.477, 0.697, 1.014, 1.465, 2.089, 2.905, 3.932, 5.164",\
                 "0.2994, 0.3568, 0.4992, 0.7136, 1.028, 1.477, 2.099, 2.915, 3.93, 5.165",\
                 "0.3252, 0.3848, 0.5288, 0.7382, 1.045, 1.49, 2.108, 2.923, 3.94, 5.169",\
                 "0.356, 0.4194, 0.5668, 0.7734, 1.077, 1.51, 2.122, 2.93, 3.946, 5.17");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1469, 0.2058, 0.3966, 0.768, 1.374, 2.23, 3.358, 4.783, 6.528, 8.599",\
                 "0.1469, 0.2059, 0.397, 0.7678, 1.375, 2.228, 3.36, 4.785, 6.525, 8.598",\
                 "0.1466, 0.2057, 0.397, 0.7682, 1.373, 2.228, 3.358, 4.784, 6.525, 8.602",\
                 "0.1539, 0.2126, 0.4019, 0.77, 1.372, 2.229, 3.363, 4.782, 6.525, 8.599",\
                 "0.164, 0.2234, 0.4144, 0.7804, 1.378, 2.233, 3.358, 4.782, 6.525, 8.596",\
                 "0.1782, 0.2388, 0.4314, 0.7888, 1.384, 2.236, 3.365, 4.786, 6.522, 8.596",\
                 "0.1964, 0.257, 0.4536, 0.8094, 1.391, 2.24, 3.367, 4.788, 6.529, 8.595",\
                 "0.221, 0.2788, 0.479, 0.834, 1.412, 2.251, 3.371, 4.791, 6.528, 8.605",\
                 "0.248, 0.307, 0.5036, 0.863, 1.44, 2.28, 3.391, 4.797, 6.531, 8.602",\
                 "0.2748, 0.3354, 0.5322, 0.8928, 1.469, 2.313, 3.425, 4.825, 6.542, 8.602");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.5484, 0.5969, 0.7288, 0.9236, 1.177, 1.5, 1.908, 2.415, 3.033, 3.77",\
                 "0.5642, 0.6126, 0.7447, 0.9394, 1.193, 1.516, 1.924, 2.431, 3.049, 3.785",\
                 "0.6076, 0.6562, 0.7881, 0.9829, 1.236, 1.559, 1.967, 2.475, 3.093, 3.829",\
                 "0.6812, 0.7297, 0.861, 1.056, 1.309, 1.632, 2.04, 2.548, 3.166, 3.902",\
                 "0.7846, 0.8332, 0.9675, 1.168, 1.424, 1.748, 2.157, 2.664, 3.282, 4.018",\
                 "0.9273, 0.9767, 1.112, 1.316, 1.579, 1.909, 2.32, 2.828, 3.446, 4.182",\
                 "1.1, 1.153, 1.295, 1.505, 1.775, 2.109, 2.524, 3.035, 3.654, 4.389",\
                 "1.298, 1.355, 1.504, 1.723, 2.006, 2.35, 2.769, 3.281, 3.902, 4.639",\
                 "1.518, 1.579, 1.738, 1.966, 2.262, 2.621, 3.051, 3.568, 4.19, 4.929",\
                 "1.76, 1.824, 1.993, 2.233, 2.54, 2.914, 3.361, 3.892, 4.519, 5.258");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.5334, 0.5823, 0.7268, 0.9654, 1.318, 1.807, 2.449, 3.257, 4.244, 5.42",\
                 "0.5438, 0.5928, 0.7368, 0.9755, 1.328, 1.817, 2.46, 3.268, 4.256, 5.431",\
                 "0.5794, 0.6282, 0.7723, 1.011, 1.363, 1.852, 2.494, 3.304, 4.291, 5.467",\
                 "0.6537, 0.7023, 0.8459, 1.084, 1.435, 1.924, 2.566, 3.376, 4.361, 5.538",\
                 "0.7396, 0.7887, 0.9335, 1.172, 1.523, 2.011, 2.652, 3.462, 4.449, 5.624",\
                 "0.8143, 0.8641, 1.01, 1.248, 1.6, 2.088, 2.729, 3.537, 4.522, 5.699",\
                 "0.8754, 0.9273, 1.075, 1.315, 1.666, 2.154, 2.795, 3.603, 4.591, 5.767",\
                 "0.9191, 0.9735, 1.126, 1.369, 1.722, 2.209, 2.851, 3.659, 4.644, 5.82",\
                 "0.9435, 1.001, 1.159, 1.408, 1.765, 2.257, 2.897, 3.705, 4.69, 5.865",\
                 "0.9471, 1.008, 1.172, 1.428, 1.791, 2.288, 2.934, 3.741, 4.727, 5.902");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1741, 0.2236, 0.3651, 0.5902, 0.9219, 1.395, 2.041, 2.877, 3.911, 5.151",\
                 "0.174, 0.2238, 0.3647, 0.5907, 0.9224, 1.396, 2.04, 2.878, 3.912, 5.148",\
                 "0.1745, 0.2236, 0.3645, 0.59, 0.9216, 1.396, 2.042, 2.876, 3.908, 5.15",\
                 "0.1752, 0.2244, 0.3652, 0.5908, 0.9222, 1.396, 2.042, 2.877, 3.908, 5.145",\
                 "0.1806, 0.2322, 0.3786, 0.6046, 0.9316, 1.4, 2.042, 2.878, 3.908, 5.15",\
                 "0.1956, 0.2438, 0.39, 0.6254, 0.9548, 1.417, 2.054, 2.882, 3.913, 5.144",\
                 "0.22, 0.2706, 0.4158, 0.653, 0.98, 1.441, 2.071, 2.893, 3.913, 5.149",\
                 "0.2484, 0.3018, 0.4492, 0.6932, 1.026, 1.476, 2.093, 2.908, 3.926, 5.155",\
                 "0.2786, 0.3366, 0.4874, 0.7352, 1.083, 1.536, 2.139, 2.933, 3.94, 5.161",\
                 "0.3108, 0.3712, 0.5298, 0.7794, 1.14, 1.608, 2.215, 2.996, 3.975, 5.183");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1698, 0.2301, 0.4253, 0.791, 1.387, 2.239, 3.372, 4.793, 6.531, 8.6",\
                 "0.1695, 0.2295, 0.4258, 0.7914, 1.388, 2.24, 3.369, 4.792, 6.532, 8.605",\
                 "0.1694, 0.2296, 0.4254, 0.7916, 1.385, 2.238, 3.369, 4.79, 6.531, 8.605",\
                 "0.1686, 0.2286, 0.4254, 0.7908, 1.385, 2.239, 3.366, 4.792, 6.528, 8.609",\
                 "0.177, 0.2366, 0.432, 0.7948, 1.387, 2.238, 3.372, 4.792, 6.53, 8.611",\
                 "0.188, 0.2462, 0.4406, 0.8028, 1.393, 2.243, 3.373, 4.789, 6.53, 8.602",\
                 "0.2036, 0.2612, 0.4532, 0.8116, 1.398, 2.247, 3.375, 4.798, 6.531, 8.602",\
                 "0.2238, 0.28, 0.4718, 0.8288, 1.408, 2.254, 3.377, 4.799, 6.537, 8.602",\
                 "0.2462, 0.304, 0.4938, 0.8508, 1.431, 2.269, 3.385, 4.805, 6.534, 8.617",\
                 "0.2718, 0.3292, 0.518, 0.8772, 1.46, 2.299, 3.408, 4.813, 6.541, 8.608");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.8459, 0.9043, 1.058, 1.275, 1.546, 1.882, 2.297, 2.807, 3.427, 4.164",\
                 "0.8499, 0.9086, 1.062, 1.279, 1.55, 1.886, 2.301, 2.811, 3.431, 4.167",\
                 "0.8829, 0.9412, 1.095, 1.311, 1.583, 1.918, 2.333, 2.843, 3.463, 4.199",\
                 "0.9899, 1.048, 1.202, 1.418, 1.689, 2.025, 2.439, 2.95, 3.569, 4.306",\
                 "1.192, 1.25, 1.403, 1.619, 1.89, 2.225, 2.64, 3.15, 3.769, 4.506",\
                 "1.474, 1.533, 1.688, 1.905, 2.177, 2.513, 2.928, 3.438, 4.057, 4.794",\
                 "1.818, 1.879, 2.038, 2.258, 2.534, 2.872, 3.288, 3.798, 4.416, 5.153",\
                 "2.232, 2.296, 2.459, 2.683, 2.96, 3.3, 3.718, 4.229, 4.848, 5.585",\
                 "2.718, 2.784, 2.954, 3.183, 3.464, 3.805, 4.223, 4.736, 5.356, 6.092",\
                 "3.273, 3.343, 3.522, 3.759, 4.045, 4.39, 4.81, 5.321, 5.943, 6.681");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.5334, 0.5823, 0.7268, 0.9654, 1.318, 1.807, 2.449, 3.257, 4.244, 5.42",\
                 "0.5438, 0.5928, 0.7368, 0.9755, 1.328, 1.817, 2.46, 3.268, 4.256, 5.431",\
                 "0.5794, 0.6282, 0.7723, 1.011, 1.363, 1.852, 2.494, 3.304, 4.291, 5.467",\
                 "0.6537, 0.7023, 0.8459, 1.084, 1.435, 1.924, 2.566, 3.376, 4.361, 5.538",\
                 "0.7396, 0.7887, 0.9335, 1.172, 1.523, 2.011, 2.652, 3.462, 4.449, 5.624",\
                 "0.8143, 0.8641, 1.01, 1.248, 1.6, 2.088, 2.729, 3.537, 4.522, 5.699",\
                 "0.8754, 0.9273, 1.075, 1.315, 1.666, 2.154, 2.795, 3.603, 4.591, 5.767",\
                 "0.9191, 0.9735, 1.126, 1.369, 1.722, 2.209, 2.851, 3.659, 4.644, 5.82",\
                 "0.9435, 1.001, 1.159, 1.408, 1.765, 2.257, 2.897, 3.705, 4.69, 5.865",\
                 "0.9471, 1.008, 1.172, 1.428, 1.791, 2.288, 2.934, 3.741, 4.727, 5.902");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1741, 0.2236, 0.3651, 0.5902, 0.9219, 1.395, 2.041, 2.877, 3.911, 5.151",\
                 "0.174, 0.2238, 0.3647, 0.5907, 0.9224, 1.396, 2.04, 2.878, 3.912, 5.148",\
                 "0.1745, 0.2236, 0.3645, 0.59, 0.9216, 1.396, 2.042, 2.876, 3.908, 5.15",\
                 "0.1752, 0.2244, 0.3652, 0.5908, 0.9222, 1.396, 2.042, 2.877, 3.908, 5.145",\
                 "0.1806, 0.2322, 0.3786, 0.6046, 0.9316, 1.4, 2.042, 2.878, 3.908, 5.15",\
                 "0.1956, 0.2438, 0.39, 0.6254, 0.9548, 1.417, 2.054, 2.882, 3.913, 5.144",\
                 "0.22, 0.2706, 0.4158, 0.653, 0.98, 1.441, 2.071, 2.893, 3.913, 5.149",\
                 "0.2484, 0.3018, 0.4492, 0.6932, 1.026, 1.476, 2.093, 2.908, 3.926, 5.155",\
                 "0.2786, 0.3366, 0.4874, 0.7352, 1.083, 1.536, 2.139, 2.933, 3.94, 5.161",\
                 "0.3108, 0.3712, 0.5298, 0.7794, 1.14, 1.608, 2.215, 2.996, 3.975, 5.183");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.358");
          values("0.1698, 0.2301, 0.4253, 0.791, 1.387, 2.239, 3.372, 4.793, 6.531, 8.6",\
                 "0.1695, 0.2295, 0.4258, 0.7914, 1.388, 2.24, 3.369, 4.792, 6.532, 8.605",\
                 "0.1694, 0.2296, 0.4254, 0.7916, 1.385, 2.238, 3.369, 4.79, 6.531, 8.605",\
                 "0.1686, 0.2286, 0.4254, 0.7908, 1.385, 2.239, 3.366, 4.792, 6.528, 8.609",\
                 "0.177, 0.2366, 0.432, 0.7948, 1.387, 2.238, 3.372, 4.792, 6.53, 8.611",\
                 "0.188, 0.2462, 0.4406, 0.8028, 1.393, 2.243, 3.373, 4.789, 6.53, 8.602",\
                 "0.2036, 0.2612, 0.4532, 0.8116, 1.398, 2.247, 3.375, 4.798, 6.531, 8.602",\
                 "0.2238, 0.28, 0.4718, 0.8288, 1.408, 2.254, 3.377, 4.799, 6.537, 8.602",\
                 "0.2462, 0.304, 0.4938, 0.8508, 1.431, 2.269, 3.385, 4.805, 6.534, 8.617",\
                 "0.2718, 0.3292, 0.518, 0.8772, 1.46, 2.299, 3.408, 4.813, 6.541, 8.608");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__addf_2) {
    area : 79.027200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B&!CI" ;
      value : "0.0001473615" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B&CI" ;
      value : "0.0001380159" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B&!CI" ;
      value : "0.000144078" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B&CI" ;
      value : "0.0001458666" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B&!CI" ;
      value : "0.0001418109" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B&CI" ;
      value : "0.0001440648" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B&!CI" ;
      value : "0.0001350789" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B&CI" ;
      value : "0.00014124" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001473615" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A) {
      capacitance : 0.01168 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(B) {
      capacitance : 0.01146 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CI) {
      capacitance : 0.009442 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CO) {
      direction : output ;
      function : "((A&B)|(A&CI)|(B&CI))" ;
      max_capacitance : 0.7051 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2032, 0.1944, 0.1772, 0.1635, 0.1553, 0.1501, 0.1466, 0.1443, 0.1427, 0.1416",\
                 "0.2032, 0.1944, 0.1766, 0.163, 0.1548, 0.1493, 0.1463, 0.144, 0.1424, 0.1413",\
                 "0.2026, 0.1941, 0.1764, 0.1629, 0.1544, 0.1491, 0.1459, 0.1437, 0.1422, 0.141",\
                 "0.2033, 0.195, 0.1772, 0.1634, 0.1552, 0.1499, 0.1467, 0.1445, 0.1429, 0.1418",\
                 "0.2094, 0.2007, 0.1822, 0.1672, 0.1584, 0.1528, 0.1488, 0.1468, 0.1451, 0.1439",\
                 "0.2219, 0.2128, 0.1927, 0.1758, 0.1656, 0.1589, 0.1545, 0.1517, 0.1494, 0.148",\
                 "0.2403, 0.2307, 0.2084, 0.1891, 0.1767, 0.1686, 0.1633, 0.1595, 0.1569, 0.1551",\
                 "0.265, 0.2549, 0.2303, 0.207, 0.1923, 0.182, 0.1756, 0.1703, 0.1671, 0.1648",\
                 "0.2955, 0.2847, 0.2577, 0.2307, 0.2126, 0.2004, 0.1917, 0.1854, 0.1818, 0.1787",\
                 "0.3307, 0.319, 0.2901, 0.2595, 0.2378, 0.2224, 0.2117, 0.2045, 0.1987, 0.1948");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.12, 0.114, 0.1058, 0.1007, 0.09894, 0.09902, 0.09924, 0.1001, 0.1003, 0.1069",\
                 "0.1197, 0.1137, 0.1056, 0.1001, 0.09852, 0.09864, 0.09876, 0.09958, 0.1007, 0.1072",\
                 "0.1191, 0.1132, 0.1052, 0.09962, 0.09807, 0.09815, 0.09827, 0.0984, 0.09919, 0.1065",\
                 "0.1201, 0.1141, 0.1059, 0.1002, 0.09809, 0.09801, 0.09819, 0.09809, 0.09923, 0.1077",\
                 "0.1267, 0.1201, 0.1108, 0.1037, 0.1008, 0.09993, 0.09958, 0.09955, 0.1014, 0.11",\
                 "0.1377, 0.1302, 0.1191, 0.1108, 0.1061, 0.1043, 0.103, 0.1027, 0.1036, 0.1134",\
                 "0.1542, 0.1455, 0.1322, 0.1215, 0.1148, 0.1119, 0.1096, 0.109, 0.109, 0.1226",\
                 "0.1754, 0.1654, 0.1499, 0.137, 0.1271, 0.1218, 0.1202, 0.1182, 0.1176, 0.1351",\
                 "0.2014, 0.1903, 0.1718, 0.1561, 0.1445, 0.1363, 0.1325, 0.1317, 0.1312, 0.157",\
                 "0.232, 0.2199, 0.1983, 0.1798, 0.1659, 0.1549, 0.1478, 0.1459, 0.1486, 0.1896");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1975, 0.1892, 0.1727, 0.1604, 0.1529, 0.1486, 0.1457, 0.1437, 0.1423, 0.1413",\
                 "0.1972, 0.1891, 0.1725, 0.1603, 0.1526, 0.1484, 0.1455, 0.1435, 0.1422, 0.1412",\
                 "0.1972, 0.1887, 0.1722, 0.16, 0.1524, 0.1479, 0.1451, 0.1433, 0.1419, 0.1407",\
                 "0.1978, 0.1894, 0.1726, 0.1604, 0.1528, 0.1484, 0.1455, 0.1435, 0.142, 0.141",\
                 "0.2031, 0.1943, 0.1769, 0.1637, 0.1557, 0.1507, 0.1475, 0.1455, 0.1438, 0.1428",\
                 "0.2152, 0.206, 0.1869, 0.1715, 0.1621, 0.1561, 0.1524, 0.1496, 0.1477, 0.1464",\
                 "0.2331, 0.2231, 0.202, 0.1843, 0.1728, 0.1655, 0.1607, 0.1574, 0.1551, 0.1534",\
                 "0.2573, 0.2473, 0.2237, 0.2017, 0.1879, 0.1787, 0.1726, 0.1676, 0.1646, 0.1628",\
                 "0.2882, 0.277, 0.251, 0.225, 0.208, 0.1961, 0.1879, 0.1824, 0.1784, 0.1755",\
                 "0.3235, 0.3117, 0.2834, 0.2538, 0.2332, 0.218, 0.2082, 0.2014, 0.1958, 0.192");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1254, 0.1191, 0.1106, 0.1045, 0.1024, 0.102, 0.1021, 0.1024, 0.1035, 0.1092",\
                 "0.1249, 0.1187, 0.11, 0.1041, 0.1019, 0.1017, 0.1019, 0.1019, 0.1027, 0.1101",\
                 "0.1243, 0.1181, 0.1098, 0.1036, 0.1015, 0.1011, 0.1011, 0.1013, 0.1021, 0.1091",\
                 "0.1255, 0.1192, 0.1106, 0.1041, 0.1017, 0.1012, 0.1014, 0.101, 0.1025, 0.1106",\
                 "0.1319, 0.1252, 0.1157, 0.1079, 0.1044, 0.1032, 0.103, 0.1028, 0.1033, 0.1126",\
                 "0.143, 0.1353, 0.1241, 0.1152, 0.1103, 0.108, 0.1069, 0.1069, 0.1071, 0.1173",\
                 "0.159, 0.1503, 0.1372, 0.1257, 0.1189, 0.1157, 0.1135, 0.1122, 0.1125, 0.1257",\
                 "0.1798, 0.1699, 0.1543, 0.1412, 0.1315, 0.126, 0.1243, 0.1224, 0.1211, 0.1402",\
                 "0.2051, 0.1941, 0.1757, 0.1603, 0.1483, 0.14, 0.1362, 0.1345, 0.135, 0.1607",\
                 "0.2349, 0.2227, 0.2013, 0.1835, 0.1698, 0.1586, 0.1521, 0.1497, 0.1534, 0.195");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2022, 0.1935, 0.1761, 0.1621, 0.1542, 0.149, 0.1455, 0.1432, 0.1416, 0.1407",\
                 "0.2022, 0.1934, 0.1757, 0.1623, 0.1538, 0.1487, 0.1451, 0.1428, 0.1412, 0.1401",\
                 "0.2018, 0.1931, 0.1753, 0.1614, 0.1534, 0.1482, 0.1447, 0.1424, 0.1408, 0.1397",\
                 "0.2022, 0.1938, 0.1757, 0.1621, 0.154, 0.1487, 0.1455, 0.1432, 0.1416, 0.1405",\
                 "0.2073, 0.1986, 0.1803, 0.1658, 0.1567, 0.1508, 0.1474, 0.1451, 0.1435, 0.1422",\
                 "0.222, 0.2124, 0.1917, 0.1744, 0.1633, 0.1563, 0.1517, 0.1488, 0.1465, 0.1451",\
                 "0.2421, 0.2319, 0.2083, 0.1872, 0.1743, 0.1655, 0.1595, 0.1554, 0.1529, 0.1509",\
                 "0.2655, 0.2546, 0.2286, 0.2042, 0.1884, 0.1772, 0.17, 0.1649, 0.1614, 0.1586",\
                 "0.2948, 0.2831, 0.2544, 0.2265, 0.2065, 0.1929, 0.1841, 0.1776, 0.1728, 0.1697",\
                 "0.3287, 0.3169, 0.2856, 0.2528, 0.2295, 0.213, 0.2017, 0.1936, 0.1877, 0.1831");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1226, 0.1167, 0.1084, 0.1031, 0.1014, 0.1015, 0.1014, 0.1016, 0.1031, 0.1097",\
                 "0.1224, 0.1164, 0.1086, 0.103, 0.1012, 0.1013, 0.1014, 0.1016, 0.1027, 0.1094",\
                 "0.1221, 0.1162, 0.1082, 0.1026, 0.1009, 0.101, 0.1012, 0.1013, 0.1021, 0.1097",\
                 "0.1234, 0.1173, 0.1089, 0.1029, 0.1008, 0.1008, 0.101, 0.1011, 0.1016, 0.1098",\
                 "0.1295, 0.1224, 0.1131, 0.1057, 0.1027, 0.1019, 0.1018, 0.102, 0.1021, 0.1121",\
                 "0.1395, 0.1317, 0.1202, 0.1114, 0.1072, 0.1053, 0.1042, 0.1038, 0.1044, 0.1168",\
                 "0.1546, 0.1455, 0.132, 0.1211, 0.1144, 0.1116, 0.1095, 0.1083, 0.1085, 0.1233",\
                 "0.1743, 0.164, 0.1476, 0.1342, 0.1251, 0.1197, 0.1182, 0.1161, 0.1171, 0.1326",\
                 "0.1981, 0.1867, 0.1672, 0.1512, 0.14, 0.1314, 0.1272, 0.1269, 0.127, 0.1529",\
                 "0.2255, 0.2132, 0.1907, 0.1723, 0.1585, 0.1478, 0.1403, 0.1376, 0.1426, 0.1817");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1962, 0.1876, 0.172, 0.1599, 0.1525, 0.1481, 0.1452, 0.1431, 0.1417, 0.1407",\
                 "0.1959, 0.1872, 0.1715, 0.1595, 0.152, 0.1476, 0.1447, 0.1427, 0.1412, 0.1403",\
                 "0.1949, 0.1867, 0.1709, 0.1589, 0.1515, 0.1475, 0.1446, 0.142, 0.1406, 0.1397",\
                 "0.195, 0.1867, 0.171, 0.1589, 0.1517, 0.147, 0.144, 0.1422, 0.1408, 0.1399",\
                 "0.2004, 0.1918, 0.1749, 0.162, 0.1537, 0.1491, 0.1458, 0.1436, 0.142, 0.1411",\
                 "0.2117, 0.2024, 0.1839, 0.1684, 0.1593, 0.1536, 0.1498, 0.1473, 0.1454, 0.1442",\
                 "0.2287, 0.2183, 0.1978, 0.1799, 0.169, 0.162, 0.1569, 0.1542, 0.152, 0.1503",\
                 "0.2518, 0.2407, 0.2177, 0.1967, 0.1826, 0.1733, 0.1678, 0.1639, 0.1606, 0.1584",\
                 "0.2806, 0.2691, 0.2436, 0.2184, 0.2006, 0.1894, 0.1814, 0.176, 0.1724, 0.1694",\
                 "0.3148, 0.3022, 0.2742, 0.2449, 0.2238, 0.2097, 0.2001, 0.1933, 0.1878, 0.1845");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1307, 0.1244, 0.1161, 0.1097, 0.1077, 0.1073, 0.1068, 0.1083, 0.1088, 0.1154",\
                 "0.1307, 0.1243, 0.1158, 0.1098, 0.1078, 0.1074, 0.1076, 0.1077, 0.1092, 0.115",\
                 "0.1303, 0.1241, 0.1154, 0.1095, 0.1076, 0.1072, 0.1072, 0.1074, 0.1085, 0.1149",\
                 "0.1311, 0.125, 0.1161, 0.1099, 0.1078, 0.1072, 0.1073, 0.1072, 0.108, 0.1169",\
                 "0.1384, 0.1316, 0.1221, 0.114, 0.1102, 0.1085, 0.1079, 0.1075, 0.1086, 0.1178",\
                 "0.151, 0.1428, 0.1311, 0.1214, 0.1158, 0.1128, 0.1114, 0.1105, 0.1107, 0.1221",\
                 "0.1677, 0.1584, 0.1444, 0.1323, 0.1247, 0.1205, 0.1178, 0.1166, 0.1169, 0.1313",\
                 "0.1891, 0.1784, 0.162, 0.1473, 0.1368, 0.1311, 0.1274, 0.1248, 0.1248, 0.1446",\
                 "0.2147, 0.2029, 0.1833, 0.1667, 0.1539, 0.1444, 0.1398, 0.1381, 0.1376, 0.1656",\
                 "0.245, 0.2321, 0.209, 0.1896, 0.1745, 0.163, 0.1548, 0.1514, 0.1547, 0.2009");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1856, 0.1769, 0.1606, 0.1486, 0.1411, 0.1366, 0.1337, 0.1315, 0.1303, 0.1293",\
                 "0.1856, 0.1771, 0.1605, 0.1485, 0.1411, 0.1366, 0.1337, 0.1318, 0.1302, 0.1294",\
                 "0.1855, 0.1772, 0.1604, 0.1485, 0.1409, 0.1367, 0.1335, 0.1317, 0.1304, 0.1294",\
                 "0.1864, 0.1781, 0.1614, 0.1492, 0.1418, 0.1375, 0.1343, 0.1325, 0.1312, 0.1303",\
                 "0.1929, 0.1841, 0.1666, 0.153, 0.1449, 0.1397, 0.1366, 0.1346, 0.133, 0.1319",\
                 "0.2078, 0.198, 0.178, 0.1615, 0.1512, 0.1448, 0.1406, 0.1377, 0.1358, 0.1343",\
                 "0.2274, 0.2169, 0.1934, 0.1738, 0.1608, 0.1526, 0.1472, 0.1435, 0.1405, 0.1389",\
                 "0.2509, 0.2392, 0.2138, 0.1896, 0.1745, 0.1635, 0.1564, 0.1515, 0.148, 0.1456",\
                 "0.2798, 0.2678, 0.2393, 0.2109, 0.1922, 0.1784, 0.17, 0.1634, 0.1583, 0.1554",\
                 "0.313, 0.3008, 0.2696, 0.2372, 0.2139, 0.1978, 0.1864, 0.1781, 0.1723, 0.168");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1303, 0.1245, 0.1164, 0.1106, 0.1087, 0.1089, 0.1091, 0.1091, 0.1102, 0.1167",\
                 "0.1304, 0.1242, 0.1163, 0.1108, 0.1089, 0.109, 0.1092, 0.11, 0.1098, 0.1174",\
                 "0.1306, 0.1244, 0.1166, 0.1109, 0.1091, 0.1091, 0.1093, 0.1098, 0.1102, 0.1179",\
                 "0.1326, 0.1264, 0.1182, 0.1119, 0.1096, 0.1094, 0.1095, 0.1095, 0.1103, 0.1188",\
                 "0.1415, 0.1346, 0.1244, 0.1163, 0.1124, 0.1111, 0.1103, 0.1108, 0.111, 0.1199",\
                 "0.1539, 0.1457, 0.1335, 0.1234, 0.1171, 0.1144, 0.1128, 0.112, 0.1129, 0.1236",\
                 "0.1709, 0.161, 0.1461, 0.1333, 0.1255, 0.1212, 0.1181, 0.117, 0.1166, 0.1304",\
                 "0.1917, 0.1807, 0.1627, 0.1479, 0.1367, 0.1299, 0.1272, 0.1242, 0.1242, 0.1414",\
                 "0.2168, 0.2043, 0.1831, 0.1656, 0.1524, 0.1419, 0.1362, 0.1355, 0.135, 0.1603",\
                 "0.2458, 0.2324, 0.2076, 0.1871, 0.1716, 0.1591, 0.1503, 0.1456, 0.1503, 0.1922");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1883, 0.1797, 0.1635, 0.1514, 0.1442, 0.1394, 0.1362, 0.1342, 0.1328, 0.1317",\
                 "0.1882, 0.1799, 0.1636, 0.1514, 0.1442, 0.1394, 0.1362, 0.1342, 0.1329, 0.1316",\
                 "0.1883, 0.1798, 0.1635, 0.1514, 0.1437, 0.1392, 0.1364, 0.1342, 0.1327, 0.1315",\
                 "0.1891, 0.1808, 0.1646, 0.1523, 0.145, 0.1405, 0.1369, 0.1353, 0.1339, 0.1328",\
                 "0.1963, 0.1877, 0.1702, 0.1564, 0.1478, 0.1422, 0.1391, 0.1372, 0.1353, 0.1343",\
                 "0.2118, 0.2022, 0.182, 0.1653, 0.155, 0.1483, 0.1438, 0.1407, 0.1387, 0.1372",\
                 "0.2317, 0.2211, 0.1984, 0.1778, 0.1649, 0.156, 0.15, 0.146, 0.1432, 0.1412",\
                 "0.2553, 0.2446, 0.2189, 0.1947, 0.1782, 0.1673, 0.1597, 0.1547, 0.151, 0.1483",\
                 "0.2851, 0.2733, 0.2451, 0.2164, 0.1965, 0.1822, 0.1733, 0.1663, 0.1614, 0.1578",\
                 "0.3192, 0.3066, 0.276, 0.2426, 0.2189, 0.2017, 0.1901, 0.1814, 0.175, 0.1703");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1278, 0.1218, 0.1136, 0.1083, 0.1067, 0.1068, 0.1066, 0.107, 0.1078, 0.1151",\
                 "0.1279, 0.1219, 0.1139, 0.1083, 0.1068, 0.1069, 0.1067, 0.1078, 0.108, 0.1153",\
                 "0.128, 0.1221, 0.1141, 0.1085, 0.107, 0.107, 0.1069, 0.1077, 0.1084, 0.1157",\
                 "0.1295, 0.1235, 0.1154, 0.1094, 0.1073, 0.1072, 0.1073, 0.1075, 0.109, 0.1168",\
                 "0.1378, 0.1308, 0.1212, 0.1134, 0.1099, 0.1088, 0.1076, 0.1077, 0.1095, 0.1185",\
                 "0.1498, 0.1414, 0.1295, 0.1203, 0.1145, 0.112, 0.1106, 0.1096, 0.1108, 0.1215",\
                 "0.1655, 0.1561, 0.142, 0.1301, 0.1227, 0.1188, 0.1154, 0.1143, 0.1139, 0.1289",\
                 "0.186, 0.175, 0.1583, 0.1439, 0.1332, 0.1271, 0.1242, 0.1221, 0.1208, 0.1396",\
                 "0.2105, 0.198, 0.1783, 0.1612, 0.1483, 0.1385, 0.134, 0.1326, 0.1334, 0.1588",\
                 "0.239, 0.2256, 0.2019, 0.1823, 0.1675, 0.1551, 0.1473, 0.1432, 0.148, 0.1885");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.7827, 0.8465, 1.001, 1.209, 1.463, 1.769, 2.139, 2.586, 3.124, 3.764",\
                 "0.7941, 0.8578, 1.012, 1.22, 1.474, 1.78, 2.15, 2.597, 3.135, 3.775",\
                 "0.8333, 0.8967, 1.051, 1.259, 1.513, 1.819, 2.189, 2.636, 3.174, 3.813",\
                 "0.9101, 0.9737, 1.128, 1.335, 1.59, 1.896, 2.265, 2.712, 3.251, 3.89",\
                 "1.046, 1.11, 1.264, 1.471, 1.725, 2.032, 2.401, 2.848, 3.386, 4.025",\
                 "1.229, 1.295, 1.454, 1.666, 1.924, 2.231, 2.601, 3.048, 3.586, 4.225",\
                 "1.46, 1.528, 1.693, 1.911, 2.174, 2.486, 2.858, 3.306, 3.844, 4.482",\
                 "1.732, 1.804, 1.975, 2.202, 2.473, 2.79, 3.166, 3.615, 4.154, 4.792",\
                 "2.039, 2.115, 2.296, 2.534, 2.815, 3.142, 3.523, 3.975, 4.515, 5.153",\
                 "2.382, 2.461, 2.652, 2.901, 3.195, 3.535, 3.926, 4.384, 4.927, 5.566");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.6086, 0.6651, 0.82, 1.067, 1.424, 1.916, 2.562, 3.372, 4.361, 5.54",\
                 "0.6197, 0.6762, 0.8308, 1.078, 1.434, 1.927, 2.572, 3.383, 4.371, 5.55",\
                 "0.6485, 0.7048, 0.8595, 1.107, 1.463, 1.956, 2.601, 3.411, 4.401, 5.58",\
                 "0.6972, 0.7535, 0.9081, 1.155, 1.511, 2.003, 2.649, 3.459, 4.448, 5.627",\
                 "0.7628, 0.8209, 0.9773, 1.225, 1.58, 2.072, 2.717, 3.527, 4.515, 5.694",\
                 "0.8214, 0.8816, 1.042, 1.293, 1.65, 2.141, 2.784, 3.594, 4.582, 5.762",\
                 "0.8655, 0.9291, 1.094, 1.349, 1.707, 2.197, 2.84, 3.649, 4.636, 5.815",\
                 "0.8866, 0.9536, 1.125, 1.387, 1.749, 2.239, 2.881, 3.689, 4.675, 5.853",\
                 "0.8812, 0.9524, 1.132, 1.401, 1.769, 2.263, 2.905, 3.711, 4.697, 5.873",\
                 "0.8455, 0.9209, 1.108, 1.386, 1.763, 2.264, 2.91, 3.716, 4.7, 5.877");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2123, 0.2737, 0.4135, 0.6186, 0.9054, 1.297, 1.829, 2.527, 3.405, 4.472",\
                 "0.2128, 0.2721, 0.4135, 0.6182, 0.9046, 1.297, 1.829, 2.527, 3.406, 4.472",\
                 "0.2131, 0.2734, 0.4134, 0.618, 0.9052, 1.297, 1.829, 2.526, 3.403, 4.471",\
                 "0.2128, 0.272, 0.4132, 0.6182, 0.9052, 1.297, 1.829, 2.526, 3.403, 4.471",\
                 "0.2176, 0.2766, 0.4176, 0.621, 0.9074, 1.298, 1.829, 2.526, 3.405, 4.469",\
                 "0.2336, 0.2948, 0.4372, 0.6388, 0.92, 1.306, 1.833, 2.527, 3.405, 4.471",\
                 "0.2506, 0.3152, 0.4612, 0.6644, 0.9458, 1.326, 1.846, 2.535, 3.41, 4.472",\
                 "0.2774, 0.3446, 0.495, 0.6992, 0.978, 1.353, 1.865, 2.546, 3.412, 4.476",\
                 "0.3078, 0.3794, 0.5368, 0.7454, 1.025, 1.394, 1.894, 2.565, 3.424, 4.475",\
                 "0.3392, 0.413, 0.5822, 0.798, 1.083, 1.452, 1.942, 2.599, 3.445, 4.486");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1524, 0.2159, 0.4209, 0.7837, 1.374, 2.228, 3.354, 4.781, 6.526, 8.607",\
                 "0.1523, 0.216, 0.4206, 0.7839, 1.373, 2.228, 3.356, 4.779, 6.518, 8.599",\
                 "0.1521, 0.2164, 0.4209, 0.784, 1.373, 2.228, 3.355, 4.783, 6.53, 8.601",\
                 "0.1522, 0.2164, 0.4206, 0.7844, 1.373, 2.228, 3.353, 4.777, 6.52, 8.596",\
                 "0.1614, 0.225, 0.4282, 0.7882, 1.375, 2.228, 3.354, 4.778, 6.518, 8.597",\
                 "0.1742, 0.2386, 0.443, 0.8014, 1.382, 2.23, 3.355, 4.782, 6.529, 8.602",\
                 "0.1912, 0.2566, 0.4616, 0.8178, 1.391, 2.235, 3.358, 4.782, 6.521, 8.609",\
                 "0.2126, 0.2798, 0.4834, 0.843, 1.408, 2.241, 3.36, 4.779, 6.528, 8.601",\
                 "0.2368, 0.3066, 0.5104, 0.8738, 1.436, 2.26, 3.368, 4.783, 6.522, 8.609",\
                 "0.2636, 0.3366, 0.541, 0.909, 1.474, 2.293, 3.39, 4.794, 6.532, 8.599");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.7621, 0.8238, 0.9734, 1.178, 1.431, 1.737, 2.107, 2.555, 3.093, 3.732",\
                 "0.7778, 0.8395, 0.9891, 1.193, 1.446, 1.753, 2.123, 2.57, 3.109, 3.748",\
                 "0.8271, 0.8885, 1.039, 1.243, 1.495, 1.802, 2.172, 2.619, 3.158, 3.797",\
                 "0.9065, 0.9683, 1.118, 1.322, 1.575, 1.881, 2.251, 2.699, 3.237, 3.876",\
                 "1.036, 1.097, 1.248, 1.452, 1.704, 2.011, 2.381, 2.828, 3.367, 4.006",\
                 "1.209, 1.273, 1.428, 1.637, 1.894, 2.202, 2.573, 3.02, 3.559, 4.198",\
                 "1.43, 1.497, 1.658, 1.873, 2.136, 2.449, 2.823, 3.271, 3.81, 4.448",\
                 "1.695, 1.766, 1.934, 2.159, 2.429, 2.748, 3.125, 3.576, 4.115, 4.753",\
                 "1.998, 2.072, 2.25, 2.485, 2.767, 3.096, 3.479, 3.933, 4.473, 5.111",\
                 "2.334, 2.413, 2.6, 2.848, 3.144, 3.487, 3.88, 4.34, 4.883, 5.522");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.6284, 0.6854, 0.841, 1.088, 1.445, 1.938, 2.584, 3.394, 4.383, 5.563",\
                 "0.6335, 0.6904, 0.8458, 1.094, 1.45, 1.943, 2.589, 3.399, 4.388, 5.568",\
                 "0.6553, 0.7122, 0.8678, 1.115, 1.472, 1.964, 2.61, 3.421, 4.409, 5.589",\
                 "0.7037, 0.7605, 0.9157, 1.163, 1.519, 2.011, 2.657, 3.468, 4.457, 5.636",\
                 "0.7726, 0.831, 0.9877, 1.235, 1.59, 2.082, 2.727, 3.537, 4.526, 5.706",\
                 "0.8353, 0.8956, 1.056, 1.306, 1.663, 2.154, 2.798, 3.607, 4.596, 5.774",\
                 "0.8829, 0.9458, 1.11, 1.365, 1.722, 2.213, 2.856, 3.665, 4.652, 5.831",\
                 "0.9073, 0.9736, 1.144, 1.404, 1.765, 2.256, 2.898, 3.706, 4.693, 5.871",\
                 "0.9047, 0.9748, 1.151, 1.419, 1.786, 2.28, 2.923, 3.73, 4.716, 5.893",\
                 "0.871, 0.9446, 1.128, 1.404, 1.779, 2.28, 2.927, 3.735, 4.72, 5.896");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2012, 0.2598, 0.3991, 0.6076, 0.8994, 1.296, 1.829, 2.527, 3.405, 4.47",\
                 "0.2011, 0.2608, 0.3992, 0.6074, 0.8988, 1.296, 1.829, 2.526, 3.403, 4.468",\
                 "0.2022, 0.2612, 0.399, 0.607, 0.8994, 1.296, 1.829, 2.527, 3.405, 4.47",\
                 "0.2012, 0.2596, 0.399, 0.607, 0.8996, 1.296, 1.829, 2.527, 3.405, 4.47",\
                 "0.2072, 0.2652, 0.404, 0.611, 0.902, 1.297, 1.83, 2.526, 3.406, 4.465",\
                 "0.2222, 0.2836, 0.4246, 0.6298, 0.916, 1.306, 1.834, 2.528, 3.407, 4.469",\
                 "0.242, 0.3046, 0.4492, 0.6566, 0.9432, 1.328, 1.848, 2.536, 3.41, 4.47",\
                 "0.2688, 0.335, 0.4848, 0.6922, 0.9776, 1.356, 1.87, 2.549, 3.416, 4.475",\
                 "0.2998, 0.3694, 0.5274, 0.7398, 1.027, 1.399, 1.9, 2.569, 3.424, 4.474",\
                 "0.332, 0.4048, 0.5726, 0.7938, 1.087, 1.461, 1.95, 2.602, 3.449, 4.484");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1563, 0.2196, 0.4237, 0.7867, 1.376, 2.229, 3.358, 4.778, 6.527, 8.601",\
                 "0.156, 0.2203, 0.4236, 0.7865, 1.376, 2.229, 3.357, 4.778, 6.53, 8.601",\
                 "0.1558, 0.22, 0.4235, 0.7862, 1.375, 2.228, 3.358, 4.777, 6.53, 8.602",\
                 "0.156, 0.2202, 0.4234, 0.7868, 1.375, 2.229, 3.356, 4.784, 6.53, 8.601",\
                 "0.1642, 0.2272, 0.43, 0.79, 1.377, 2.228, 3.357, 4.778, 6.53, 8.603",\
                 "0.1762, 0.2404, 0.4428, 0.8022, 1.383, 2.231, 3.358, 4.783, 6.526, 8.6",\
                 "0.192, 0.2566, 0.4592, 0.8176, 1.392, 2.236, 3.36, 4.779, 6.53, 8.603",\
                 "0.2108, 0.2774, 0.4804, 0.84, 1.408, 2.244, 3.362, 4.786, 6.532, 8.6",\
                 "0.2326, 0.3014, 0.5048, 0.869, 1.435, 2.262, 3.371, 4.786, 6.524, 8.602",\
                 "0.2568, 0.328, 0.5322, 0.901, 1.47, 2.295, 3.395, 4.799, 6.532, 8.599");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.7827, 0.8465, 1.001, 1.209, 1.463, 1.769, 2.139, 2.586, 3.124, 3.764",\
                 "0.7941, 0.8578, 1.012, 1.22, 1.474, 1.78, 2.15, 2.597, 3.135, 3.775",\
                 "0.8333, 0.8967, 1.051, 1.259, 1.513, 1.819, 2.189, 2.636, 3.174, 3.813",\
                 "0.9101, 0.9737, 1.128, 1.335, 1.59, 1.896, 2.265, 2.712, 3.251, 3.89",\
                 "1.046, 1.11, 1.264, 1.471, 1.725, 2.032, 2.401, 2.848, 3.386, 4.025",\
                 "1.229, 1.295, 1.454, 1.666, 1.924, 2.231, 2.601, 3.048, 3.586, 4.225",\
                 "1.46, 1.528, 1.693, 1.911, 2.174, 2.486, 2.858, 3.306, 3.844, 4.482",\
                 "1.732, 1.804, 1.975, 2.202, 2.473, 2.79, 3.166, 3.615, 4.154, 4.792",\
                 "2.039, 2.115, 2.296, 2.534, 2.815, 3.142, 3.523, 3.975, 4.515, 5.153",\
                 "2.382, 2.461, 2.652, 2.901, 3.195, 3.535, 3.926, 4.384, 4.927, 5.566");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.6284, 0.6854, 0.841, 1.088, 1.445, 1.938, 2.584, 3.394, 4.383, 5.563",\
                 "0.6335, 0.6904, 0.8458, 1.094, 1.45, 1.943, 2.589, 3.399, 4.388, 5.568",\
                 "0.6553, 0.7122, 0.8678, 1.115, 1.472, 1.964, 2.61, 3.421, 4.409, 5.589",\
                 "0.7037, 0.7605, 0.9157, 1.163, 1.519, 2.011, 2.657, 3.468, 4.457, 5.636",\
                 "0.7726, 0.831, 0.9877, 1.235, 1.59, 2.082, 2.727, 3.537, 4.526, 5.706",\
                 "0.8353, 0.8956, 1.056, 1.306, 1.663, 2.154, 2.798, 3.607, 4.596, 5.774",\
                 "0.8829, 0.9458, 1.11, 1.365, 1.722, 2.213, 2.856, 3.665, 4.652, 5.831",\
                 "0.9073, 0.9736, 1.144, 1.404, 1.765, 2.256, 2.898, 3.706, 4.693, 5.871",\
                 "0.9047, 0.9748, 1.151, 1.419, 1.786, 2.28, 2.923, 3.73, 4.716, 5.893",\
                 "0.871, 0.9446, 1.128, 1.404, 1.779, 2.28, 2.927, 3.735, 4.72, 5.896");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2123, 0.2737, 0.4135, 0.6186, 0.9054, 1.297, 1.829, 2.527, 3.405, 4.472",\
                 "0.2128, 0.2721, 0.4135, 0.6182, 0.9046, 1.297, 1.829, 2.527, 3.406, 4.472",\
                 "0.2131, 0.2734, 0.4134, 0.618, 0.9052, 1.297, 1.829, 2.526, 3.403, 4.471",\
                 "0.2128, 0.272, 0.4132, 0.6182, 0.9052, 1.297, 1.829, 2.526, 3.403, 4.471",\
                 "0.2176, 0.2766, 0.4176, 0.621, 0.9074, 1.298, 1.829, 2.526, 3.405, 4.469",\
                 "0.2336, 0.2948, 0.4372, 0.6388, 0.92, 1.306, 1.833, 2.527, 3.405, 4.471",\
                 "0.2506, 0.3152, 0.4612, 0.6644, 0.9458, 1.326, 1.846, 2.535, 3.41, 4.472",\
                 "0.2774, 0.3446, 0.495, 0.6992, 0.978, 1.353, 1.865, 2.546, 3.412, 4.476",\
                 "0.3078, 0.3794, 0.5368, 0.7454, 1.025, 1.394, 1.894, 2.565, 3.424, 4.475",\
                 "0.3392, 0.413, 0.5822, 0.798, 1.083, 1.452, 1.942, 2.599, 3.445, 4.486");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1524, 0.2159, 0.4209, 0.7837, 1.374, 2.228, 3.354, 4.781, 6.526, 8.607",\
                 "0.1523, 0.216, 0.4206, 0.7839, 1.373, 2.228, 3.356, 4.779, 6.518, 8.599",\
                 "0.1521, 0.2164, 0.4209, 0.784, 1.373, 2.228, 3.355, 4.783, 6.53, 8.601",\
                 "0.1522, 0.2164, 0.4206, 0.7844, 1.373, 2.228, 3.353, 4.777, 6.52, 8.596",\
                 "0.1614, 0.225, 0.4282, 0.7882, 1.375, 2.228, 3.354, 4.778, 6.518, 8.597",\
                 "0.1742, 0.2386, 0.443, 0.8014, 1.382, 2.23, 3.355, 4.782, 6.529, 8.602",\
                 "0.1912, 0.2566, 0.4616, 0.8178, 1.391, 2.235, 3.358, 4.782, 6.521, 8.609",\
                 "0.2126, 0.2798, 0.4834, 0.843, 1.408, 2.241, 3.36, 4.779, 6.528, 8.601",\
                 "0.2368, 0.3066, 0.5104, 0.8738, 1.436, 2.26, 3.368, 4.783, 6.522, 8.609",\
                 "0.2636, 0.3366, 0.541, 0.909, 1.474, 2.293, 3.39, 4.794, 6.532, 8.599");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.7821, 0.8459, 1, 1.208, 1.462, 1.769, 2.138, 2.585, 3.124, 3.763",\
                 "0.7937, 0.8573, 1.011, 1.219, 1.474, 1.78, 2.149, 2.597, 3.135, 3.774",\
                 "0.8418, 0.9055, 1.059, 1.267, 1.522, 1.828, 2.197, 2.644, 3.183, 3.822",\
                 "0.9533, 1.017, 1.171, 1.379, 1.633, 1.939, 2.308, 2.756, 3.294, 3.933",\
                 "1.148, 1.212, 1.365, 1.572, 1.826, 2.132, 2.501, 2.949, 3.487, 4.126",\
                 "1.408, 1.474, 1.632, 1.842, 2.098, 2.405, 2.774, 3.221, 3.759, 4.398",\
                 "1.71, 1.78, 1.946, 2.164, 2.426, 2.737, 3.108, 3.555, 4.093, 4.732",\
                 "2.064, 2.138, 2.312, 2.538, 2.806, 3.121, 3.495, 3.944, 4.482, 5.12",\
                 "2.469, 2.547, 2.73, 2.966, 3.243, 3.563, 3.94, 4.39, 4.929, 5.567",\
                 "2.923, 3.004, 3.199, 3.448, 3.734, 4.063, 4.445, 4.897, 5.435, 6.073");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.5727, 0.6301, 0.7872, 1.037, 1.395, 1.888, 2.534, 3.344, 4.333, 5.511",\
                 "0.5868, 0.6444, 0.8018, 1.052, 1.409, 1.902, 2.548, 3.358, 4.347, 5.526",\
                 "0.6167, 0.6742, 0.8314, 1.081, 1.439, 1.932, 2.578, 3.388, 4.377, 5.555",\
                 "0.665, 0.7223, 0.879, 1.129, 1.486, 1.979, 2.624, 3.435, 4.424, 5.603",\
                 "0.7185, 0.7782, 0.9388, 1.191, 1.549, 2.041, 2.686, 3.496, 4.485, 5.664",\
                 "0.7606, 0.8228, 0.9874, 1.244, 1.604, 2.097, 2.741, 3.551, 4.539, 5.718",\
                 "0.7824, 0.8477, 1.017, 1.278, 1.64, 2.133, 2.778, 3.587, 4.575, 5.753",\
                 "0.7737, 0.8417, 1.017, 1.285, 1.652, 2.145, 2.789, 3.598, 4.585, 5.763",\
                 "0.7271, 0.7993, 0.9816, 1.257, 1.632, 2.13, 2.773, 3.581, 4.568, 5.745",\
                 "0.6386, 0.7156, 0.9058, 1.19, 1.573, 2.079, 2.727, 3.535, 4.521, 5.698");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2121, 0.2739, 0.4134, 0.6182, 0.9056, 1.297, 1.829, 2.526, 3.404, 4.471",\
                 "0.2129, 0.2728, 0.4133, 0.6184, 0.9052, 1.297, 1.829, 2.527, 3.404, 4.472",\
                 "0.2128, 0.2726, 0.4134, 0.618, 0.9052, 1.297, 1.828, 2.526, 3.403, 4.471",\
                 "0.2132, 0.2724, 0.4136, 0.6186, 0.9054, 1.297, 1.828, 2.526, 3.406, 4.472",\
                 "0.2142, 0.274, 0.4152, 0.6204, 0.907, 1.298, 1.829, 2.526, 3.406, 4.468",\
                 "0.2392, 0.2998, 0.4378, 0.6368, 0.918, 1.304, 1.832, 2.527, 3.404, 4.471",\
                 "0.264, 0.3294, 0.4704, 0.668, 0.9454, 1.324, 1.843, 2.533, 3.408, 4.473",\
                 "0.2908, 0.3588, 0.5072, 0.7022, 0.9756, 1.349, 1.863, 2.546, 3.413, 4.476",\
                 "0.326, 0.3954, 0.55, 0.7454, 1.013, 1.378, 1.881, 2.558, 3.423, 4.478",\
                 "0.36, 0.4384, 0.6002, 0.7992, 1.062, 1.418, 1.909, 2.577, 3.433, 4.484");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.155, 0.2197, 0.426, 0.7895, 1.376, 2.229, 3.356, 4.781, 6.523, 8.598",\
                 "0.1551, 0.2194, 0.4259, 0.7896, 1.376, 2.228, 3.356, 4.778, 6.522, 8.595",\
                 "0.155, 0.2196, 0.4257, 0.7896, 1.376, 2.228, 3.356, 4.783, 6.527, 8.599",\
                 "0.1552, 0.2198, 0.4264, 0.79, 1.376, 2.228, 3.355, 4.783, 6.528, 8.596",\
                 "0.1676, 0.2326, 0.4376, 0.7978, 1.379, 2.228, 3.355, 4.78, 6.529, 8.598",\
                 "0.1796, 0.2464, 0.4528, 0.8138, 1.391, 2.234, 3.357, 4.783, 6.528, 8.593",\
                 "0.1956, 0.265, 0.472, 0.8316, 1.401, 2.242, 3.364, 4.786, 6.529, 8.593",\
                 "0.2162, 0.2858, 0.4962, 0.859, 1.42, 2.25, 3.366, 4.785, 6.528, 8.613",\
                 "0.2404, 0.3116, 0.5232, 0.8918, 1.453, 2.27, 3.375, 4.791, 6.526, 8.601",\
                 "0.2672, 0.3418, 0.5526, 0.927, 1.491, 2.308, 3.399, 4.799, 6.53, 8.603");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.7181, 0.7803, 0.9338, 1.144, 1.405, 1.719, 2.096, 2.548, 3.088, 3.728",\
                 "0.7341, 0.7961, 0.9497, 1.16, 1.421, 1.735, 2.112, 2.563, 3.104, 3.744",\
                 "0.7798, 0.8418, 0.9954, 1.206, 1.467, 1.781, 2.157, 2.609, 3.15, 3.79",\
                 "0.8581, 0.9201, 1.073, 1.283, 1.544, 1.858, 2.235, 2.686, 3.227, 3.867",\
                 "0.9837, 1.046, 1.199, 1.41, 1.671, 1.985, 2.362, 2.813, 3.354, 3.994",\
                 "1.147, 1.209, 1.364, 1.58, 1.847, 2.165, 2.544, 2.996, 3.536, 4.176",\
                 "1.35, 1.415, 1.574, 1.793, 2.065, 2.39, 2.774, 3.228, 3.77, 4.41",\
                 "1.585, 1.654, 1.822, 2.047, 2.328, 2.659, 3.047, 3.505, 4.05, 4.69",\
                 "1.847, 1.921, 2.097, 2.334, 2.624, 2.967, 3.363, 3.825, 4.371, 5.014",\
                 "2.135, 2.212, 2.398, 2.646, 2.949, 3.306, 3.715, 4.187, 4.737, 5.381");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.6358, 0.6927, 0.8483, 1.096, 1.453, 1.945, 2.591, 3.401, 4.391, 5.569",\
                 "0.6474, 0.7044, 0.8598, 1.108, 1.464, 1.957, 2.603, 3.413, 4.402, 5.582",\
                 "0.6882, 0.7452, 0.9005, 1.148, 1.505, 1.998, 2.643, 3.454, 4.443, 5.622",\
                 "0.7719, 0.8288, 0.9838, 1.231, 1.587, 2.08, 2.725, 3.536, 4.525, 5.703",\
                 "0.8924, 0.95, 1.106, 1.352, 1.707, 2.198, 2.842, 3.653, 4.642, 5.821",\
                 "1.001, 1.061, 1.22, 1.469, 1.824, 2.314, 2.957, 3.767, 4.755, 5.934",\
                 "1.093, 1.156, 1.32, 1.571, 1.926, 2.416, 3.059, 3.867, 4.855, 6.033",\
                 "1.168, 1.235, 1.404, 1.66, 2.016, 2.505, 3.146, 3.954, 4.941, 6.119",\
                 "1.221, 1.292, 1.469, 1.732, 2.092, 2.581, 3.222, 4.028, 5.014, 6.19",\
                 "1.254, 1.329, 1.513, 1.783, 2.151, 2.643, 3.284, 4.09, 5.075, 6.25");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2003, 0.2601, 0.4073, 0.6248, 0.9236, 1.323, 1.853, 2.544, 3.413, 4.475",\
                 "0.2001, 0.2608, 0.4073, 0.6246, 0.9238, 1.323, 1.852, 2.544, 3.415, 4.47",\
                 "0.2002, 0.2614, 0.4072, 0.6244, 0.9236, 1.323, 1.853, 2.544, 3.415, 4.472",\
                 "0.1994, 0.2596, 0.4064, 0.6248, 0.9234, 1.323, 1.853, 2.544, 3.415, 4.47",\
                 "0.2044, 0.2658, 0.4128, 0.6288, 0.927, 1.325, 1.855, 2.544, 3.413, 4.471",\
                 "0.2168, 0.2768, 0.4274, 0.651, 0.9488, 1.34, 1.862, 2.548, 3.415, 4.475",\
                 "0.2376, 0.2992, 0.4466, 0.672, 0.9756, 1.369, 1.886, 2.563, 3.425, 4.476",\
                 "0.2664, 0.3318, 0.4812, 0.7044, 1.01, 1.4, 1.911, 2.584, 3.438, 4.485",\
                 "0.2972, 0.3654, 0.5234, 0.7488, 1.061, 1.45, 1.949, 2.61, 3.456, 4.497",\
                 "0.3304, 0.4028, 0.5708, 0.7996, 1.119, 1.517, 2.013, 2.658, 3.486, 4.512");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1563, 0.22, 0.4238, 0.7869, 1.376, 2.229, 3.358, 4.784, 6.522, 8.597",\
                 "0.1569, 0.22, 0.4237, 0.787, 1.376, 2.23, 3.358, 4.781, 6.528, 8.601",\
                 "0.1555, 0.2193, 0.4235, 0.7862, 1.375, 2.228, 3.357, 4.78, 6.526, 8.6",\
                 "0.1552, 0.2198, 0.4236, 0.7866, 1.375, 2.229, 3.357, 4.783, 6.519, 8.597",\
                 "0.163, 0.2262, 0.428, 0.789, 1.376, 2.229, 3.357, 4.781, 6.525, 8.609",\
                 "0.1788, 0.2424, 0.4432, 0.8014, 1.383, 2.231, 3.358, 4.778, 6.529, 8.603",\
                 "0.198, 0.262, 0.46, 0.815, 1.391, 2.236, 3.361, 4.785, 6.526, 8.602",\
                 "0.221, 0.286, 0.4812, 0.8346, 1.402, 2.242, 3.364, 4.788, 6.53, 8.601",\
                 "0.2444, 0.3122, 0.5076, 0.8608, 1.421, 2.253, 3.37, 4.787, 6.528, 8.604",\
                 "0.271, 0.3408, 0.5386, 0.8924, 1.45, 2.274, 3.381, 4.799, 6.527, 8.604");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.7821, 0.8459, 1, 1.208, 1.462, 1.769, 2.138, 2.585, 3.124, 3.763",\
                 "0.7937, 0.8573, 1.011, 1.219, 1.474, 1.78, 2.149, 2.597, 3.135, 3.774",\
                 "0.8418, 0.9055, 1.059, 1.267, 1.522, 1.828, 2.197, 2.644, 3.183, 3.822",\
                 "0.9533, 1.017, 1.171, 1.379, 1.633, 1.939, 2.308, 2.756, 3.294, 3.933",\
                 "1.148, 1.212, 1.365, 1.572, 1.826, 2.132, 2.501, 2.949, 3.487, 4.126",\
                 "1.408, 1.474, 1.632, 1.842, 2.098, 2.405, 2.774, 3.221, 3.759, 4.398",\
                 "1.71, 1.78, 1.946, 2.164, 2.426, 2.737, 3.108, 3.555, 4.093, 4.732",\
                 "2.064, 2.138, 2.312, 2.538, 2.806, 3.121, 3.495, 3.944, 4.482, 5.12",\
                 "2.469, 2.547, 2.73, 2.966, 3.243, 3.563, 3.94, 4.39, 4.929, 5.567",\
                 "2.923, 3.004, 3.199, 3.448, 3.734, 4.063, 4.445, 4.897, 5.435, 6.073");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.6358, 0.6927, 0.8483, 1.096, 1.453, 1.945, 2.591, 3.401, 4.391, 5.569",\
                 "0.6474, 0.7044, 0.8598, 1.108, 1.464, 1.957, 2.603, 3.413, 4.402, 5.582",\
                 "0.6882, 0.7452, 0.9005, 1.148, 1.505, 1.998, 2.643, 3.454, 4.443, 5.622",\
                 "0.7719, 0.8288, 0.9838, 1.231, 1.587, 2.08, 2.725, 3.536, 4.525, 5.703",\
                 "0.8924, 0.95, 1.106, 1.352, 1.707, 2.198, 2.842, 3.653, 4.642, 5.821",\
                 "1.001, 1.061, 1.22, 1.469, 1.824, 2.314, 2.957, 3.767, 4.755, 5.934",\
                 "1.093, 1.156, 1.32, 1.571, 1.926, 2.416, 3.059, 3.867, 4.855, 6.033",\
                 "1.168, 1.235, 1.404, 1.66, 2.016, 2.505, 3.146, 3.954, 4.941, 6.119",\
                 "1.221, 1.292, 1.469, 1.732, 2.092, 2.581, 3.222, 4.028, 5.014, 6.19",\
                 "1.254, 1.329, 1.513, 1.783, 2.151, 2.643, 3.284, 4.09, 5.075, 6.25");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2003, 0.2601, 0.4073, 0.6248, 0.9236, 1.323, 1.853, 2.544, 3.413, 4.475",\
                 "0.2001, 0.2608, 0.4073, 0.6246, 0.9238, 1.323, 1.852, 2.544, 3.415, 4.47",\
                 "0.2002, 0.2614, 0.4072, 0.6244, 0.9236, 1.323, 1.853, 2.544, 3.415, 4.472",\
                 "0.1994, 0.2596, 0.4064, 0.6248, 0.9234, 1.323, 1.853, 2.544, 3.415, 4.47",\
                 "0.2044, 0.2658, 0.4128, 0.6288, 0.927, 1.325, 1.855, 2.544, 3.413, 4.471",\
                 "0.2168, 0.2768, 0.4274, 0.651, 0.9488, 1.34, 1.862, 2.548, 3.415, 4.475",\
                 "0.2376, 0.2992, 0.4466, 0.672, 0.9756, 1.369, 1.886, 2.563, 3.425, 4.476",\
                 "0.2664, 0.3318, 0.4812, 0.7044, 1.01, 1.4, 1.911, 2.584, 3.438, 4.485",\
                 "0.2972, 0.3654, 0.5234, 0.7488, 1.061, 1.45, 1.949, 2.61, 3.456, 4.497",\
                 "0.3304, 0.4028, 0.5708, 0.7996, 1.119, 1.517, 2.013, 2.658, 3.486, 4.512");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.155, 0.2197, 0.426, 0.7895, 1.376, 2.229, 3.356, 4.781, 6.523, 8.598",\
                 "0.1551, 0.2194, 0.4259, 0.7896, 1.376, 2.228, 3.356, 4.778, 6.522, 8.595",\
                 "0.155, 0.2196, 0.4257, 0.7896, 1.376, 2.228, 3.356, 4.783, 6.527, 8.599",\
                 "0.1552, 0.2198, 0.4264, 0.79, 1.376, 2.228, 3.355, 4.783, 6.528, 8.596",\
                 "0.1676, 0.2326, 0.4376, 0.7978, 1.379, 2.228, 3.355, 4.78, 6.529, 8.598",\
                 "0.1796, 0.2464, 0.4528, 0.8138, 1.391, 2.234, 3.357, 4.783, 6.528, 8.593",\
                 "0.1956, 0.265, 0.472, 0.8316, 1.401, 2.242, 3.364, 4.786, 6.529, 8.593",\
                 "0.2162, 0.2858, 0.4962, 0.859, 1.42, 2.25, 3.366, 4.785, 6.528, 8.613",\
                 "0.2404, 0.3116, 0.5232, 0.8918, 1.453, 2.27, 3.375, 4.791, 6.526, 8.601",\
                 "0.2672, 0.3418, 0.5526, 0.927, 1.491, 2.308, 3.399, 4.799, 6.53, 8.603");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.6822, 0.7439, 0.8937, 1.098, 1.351, 1.657, 2.027, 2.475, 3.013, 3.652",\
                 "0.6977, 0.7594, 0.9091, 1.113, 1.366, 1.673, 2.042, 2.49, 3.028, 3.668",\
                 "0.7519, 0.8134, 0.9633, 1.167, 1.42, 1.727, 2.096, 2.544, 3.083, 3.722",\
                 "0.8683, 0.93, 1.08, 1.284, 1.536, 1.842, 2.212, 2.66, 3.199, 3.838",\
                 "1.064, 1.125, 1.275, 1.478, 1.73, 2.036, 2.406, 2.854, 3.392, 4.032",\
                 "1.311, 1.376, 1.53, 1.738, 1.993, 2.3, 2.67, 3.117, 3.655, 4.294",\
                 "1.595, 1.663, 1.825, 2.04, 2.301, 2.613, 2.984, 3.432, 3.97, 4.609",\
                 "1.921, 1.994, 2.165, 2.388, 2.655, 2.971, 3.345, 3.795, 4.333, 4.971",\
                 "2.287, 2.363, 2.545, 2.781, 3.057, 3.38, 3.757, 4.208, 4.747, 5.385",\
                 "2.69, 2.771, 2.965, 3.214, 3.504, 3.837, 4.221, 4.674, 5.214, 5.852");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.5377, 0.595, 0.7522, 1.002, 1.36, 1.853, 2.498, 3.309, 4.297, 5.476",\
                 "0.5504, 0.6077, 0.765, 1.015, 1.373, 1.865, 2.511, 3.321, 4.31, 5.489",\
                 "0.5937, 0.651, 0.8082, 1.058, 1.416, 1.909, 2.554, 3.364, 4.353, 5.532",\
                 "0.679, 0.7363, 0.8929, 1.142, 1.499, 1.992, 2.637, 3.448, 4.436, 5.615",\
                 "0.7843, 0.8434, 1.001, 1.251, 1.607, 2.098, 2.743, 3.552, 4.541, 5.719",\
                 "0.8702, 0.9322, 1.094, 1.347, 1.703, 2.194, 2.837, 3.645, 4.633, 5.812",\
                 "0.9355, 1.001, 1.168, 1.423, 1.781, 2.271, 2.913, 3.721, 4.708, 5.886",\
                 "0.9742, 1.044, 1.219, 1.481, 1.84, 2.329, 2.969, 3.776, 4.762, 5.939",\
                 "0.982, 1.056, 1.239, 1.509, 1.876, 2.365, 3.004, 3.809, 4.795, 5.97",\
                 "0.9558, 1.035, 1.228, 1.506, 1.88, 2.375, 3.016, 3.82, 4.804, 5.979");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2012, 0.2604, 0.3987, 0.6072, 0.8994, 1.295, 1.829, 2.527, 3.405, 4.47",\
                 "0.201, 0.2604, 0.3988, 0.6072, 0.8994, 1.295, 1.829, 2.527, 3.404, 4.47",\
                 "0.2007, 0.2608, 0.399, 0.607, 0.8994, 1.295, 1.829, 2.527, 3.405, 4.47",\
                 "0.201, 0.2592, 0.3986, 0.607, 0.8996, 1.296, 1.829, 2.527, 3.405, 4.469",\
                 "0.205, 0.2628, 0.4024, 0.6104, 0.9016, 1.297, 1.829, 2.526, 3.405, 4.469",\
                 "0.232, 0.291, 0.427, 0.6298, 0.9146, 1.305, 1.834, 2.528, 3.407, 4.466",\
                 "0.2578, 0.3202, 0.4602, 0.6602, 0.943, 1.326, 1.847, 2.535, 3.409, 4.468",\
                 "0.2884, 0.3562, 0.499, 0.6968, 0.9744, 1.351, 1.865, 2.548, 3.416, 4.472",\
                 "0.3242, 0.3946, 0.548, 0.7456, 1.017, 1.383, 1.886, 2.561, 3.424, 4.476",\
                 "0.3618, 0.4378, 0.6018, 0.807, 1.075, 1.433, 1.922, 2.584, 3.435, 4.482");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1546, 0.2198, 0.426, 0.7897, 1.376, 2.229, 3.356, 4.777, 6.521, 8.594",\
                 "0.1546, 0.2195, 0.426, 0.7895, 1.376, 2.228, 3.355, 4.781, 6.515, 8.596",\
                 "0.1546, 0.2195, 0.4256, 0.7896, 1.376, 2.228, 3.355, 4.782, 6.521, 8.596",\
                 "0.155, 0.2196, 0.4262, 0.7898, 1.376, 2.228, 3.355, 4.775, 6.524, 8.599",\
                 "0.1668, 0.2314, 0.436, 0.7952, 1.378, 2.228, 3.356, 4.781, 6.525, 8.599",\
                 "0.1848, 0.2484, 0.4524, 0.81, 1.387, 2.233, 3.357, 4.781, 6.523, 8.599",\
                 "0.206, 0.2712, 0.4704, 0.8262, 1.396, 2.238, 3.36, 4.781, 6.527, 8.599",\
                 "0.2316, 0.3, 0.4962, 0.85, 1.41, 2.244, 3.362, 4.783, 6.525, 8.604",\
                 "0.2588, 0.329, 0.5286, 0.8824, 1.436, 2.256, 3.368, 4.783, 6.523, 8.597",\
                 "0.2886, 0.3636, 0.5622, 0.9178, 1.47, 2.285, 3.383, 4.788, 6.53, 8.599");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.6477, 0.7105, 0.8659, 1.077, 1.339, 1.653, 2.03, 2.482, 3.022, 3.662",\
                 "0.6629, 0.7258, 0.8811, 1.093, 1.354, 1.669, 2.045, 2.497, 3.037, 3.677",\
                 "0.717, 0.78, 0.9352, 1.147, 1.408, 1.723, 2.099, 2.551, 3.092, 3.731",\
                 "0.8342, 0.8973, 1.052, 1.264, 1.525, 1.84, 2.216, 2.668, 3.208, 3.849",\
                 "1.03, 1.092, 1.247, 1.458, 1.719, 2.034, 2.41, 2.862, 3.402, 4.042",\
                 "1.272, 1.338, 1.5, 1.716, 1.98, 2.296, 2.672, 3.124, 3.664, 4.304",\
                 "1.552, 1.623, 1.792, 2.016, 2.286, 2.607, 2.987, 3.439, 3.979, 4.618",\
                 "1.874, 1.948, 2.128, 2.361, 2.639, 2.966, 3.348, 3.803, 4.344, 4.983",\
                 "2.233, 2.313, 2.505, 2.751, 3.039, 3.373, 3.76, 4.216, 4.758, 5.398",\
                 "2.632, 2.716, 2.919, 3.181, 3.483, 3.829, 4.223, 4.683, 5.226, 5.866");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.5667, 0.623, 0.7779, 1.025, 1.382, 1.874, 2.52, 3.33, 4.319, 5.497",\
                 "0.5797, 0.636, 0.7908, 1.038, 1.394, 1.887, 2.532, 3.343, 4.332, 5.512",\
                 "0.6229, 0.6795, 0.8341, 1.081, 1.438, 1.93, 2.576, 3.386, 4.375, 5.555",\
                 "0.7081, 0.7645, 0.9191, 1.166, 1.522, 2.014, 2.659, 3.469, 4.458, 5.637",\
                 "0.8191, 0.8768, 1.032, 1.279, 1.633, 2.124, 2.769, 3.579, 4.567, 5.745",\
                 "0.9108, 0.9709, 1.13, 1.379, 1.734, 2.224, 2.867, 3.676, 4.664, 5.842",\
                 "0.9815, 1.045, 1.208, 1.46, 1.815, 2.304, 2.947, 3.754, 4.742, 5.921",\
                 "1.026, 1.093, 1.263, 1.521, 1.877, 2.365, 3.005, 3.813, 4.799, 5.976",\
                 "1.039, 1.111, 1.289, 1.553, 1.915, 2.403, 3.043, 3.848, 4.834, 6.009",\
                 "1.019, 1.095, 1.281, 1.553, 1.922, 2.416, 3.056, 3.86, 4.845, 6.02");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2015, 0.2641, 0.4118, 0.6279, 0.9262, 1.324, 1.854, 2.544, 3.415, 4.474",\
                 "0.2021, 0.2642, 0.412, 0.628, 0.926, 1.324, 1.854, 2.544, 3.413, 4.473",\
                 "0.2017, 0.264, 0.4118, 0.628, 0.926, 1.324, 1.854, 2.544, 3.415, 4.473",\
                 "0.201, 0.264, 0.412, 0.628, 0.9262, 1.324, 1.854, 2.543, 3.413, 4.471",\
                 "0.2076, 0.27, 0.4168, 0.632, 0.929, 1.326, 1.855, 2.544, 3.413, 4.475",\
                 "0.235, 0.2994, 0.4452, 0.654, 0.9444, 1.336, 1.861, 2.547, 3.415, 4.473",\
                 "0.2616, 0.3298, 0.4804, 0.686, 0.9752, 1.36, 1.876, 2.556, 3.418, 4.476",\
                 "0.2936, 0.3672, 0.5234, 0.7262, 1.011, 1.389, 1.898, 2.571, 3.427, 4.477",\
                 "0.33, 0.409, 0.5756, 0.7788, 1.057, 1.426, 1.924, 2.589, 3.439, 4.482",\
                 "0.3678, 0.4524, 0.6334, 0.844, 1.119, 1.481, 1.965, 2.613, 3.455, 4.491");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1524, 0.2165, 0.4208, 0.7838, 1.373, 2.228, 3.356, 4.783, 6.53, 8.599",\
                 "0.1524, 0.2161, 0.4207, 0.7839, 1.373, 2.228, 3.356, 4.781, 6.53, 8.6",\
                 "0.152, 0.2158, 0.421, 0.7838, 1.373, 2.228, 3.356, 4.783, 6.526, 8.601",\
                 "0.152, 0.2166, 0.4208, 0.784, 1.373, 2.228, 3.354, 4.783, 6.519, 8.599",\
                 "0.1624, 0.225, 0.4276, 0.7886, 1.375, 2.227, 3.356, 4.778, 6.518, 8.598",\
                 "0.1786, 0.2412, 0.4424, 0.801, 1.382, 2.23, 3.355, 4.778, 6.519, 8.597",\
                 "0.1988, 0.2616, 0.46, 0.815, 1.39, 2.236, 3.358, 4.784, 6.53, 8.601",\
                 "0.222, 0.2884, 0.4838, 0.8362, 1.402, 2.239, 3.361, 4.781, 6.53, 8.607",\
                 "0.2484, 0.3166, 0.5116, 0.8658, 1.424, 2.252, 3.366, 4.784, 6.525, 8.606",\
                 "0.276, 0.3486, 0.544, 0.8994, 1.456, 2.277, 3.378, 4.789, 6.529, 8.6");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.6477, 0.7105, 0.8659, 1.077, 1.339, 1.653, 2.03, 2.482, 3.022, 3.662",\
                 "0.6629, 0.7258, 0.8811, 1.093, 1.354, 1.669, 2.045, 2.497, 3.037, 3.677",\
                 "0.717, 0.78, 0.9352, 1.147, 1.408, 1.723, 2.099, 2.551, 3.092, 3.731",\
                 "0.8342, 0.8973, 1.052, 1.264, 1.525, 1.84, 2.216, 2.668, 3.208, 3.849",\
                 "1.03, 1.092, 1.247, 1.458, 1.719, 2.034, 2.41, 2.862, 3.402, 4.042",\
                 "1.272, 1.338, 1.5, 1.716, 1.98, 2.296, 2.672, 3.124, 3.664, 4.304",\
                 "1.552, 1.623, 1.792, 2.016, 2.286, 2.607, 2.987, 3.439, 3.979, 4.618",\
                 "1.874, 1.948, 2.128, 2.361, 2.639, 2.966, 3.348, 3.803, 4.344, 4.983",\
                 "2.233, 2.313, 2.505, 2.751, 3.039, 3.373, 3.76, 4.216, 4.758, 5.398",\
                 "2.632, 2.716, 2.919, 3.181, 3.483, 3.829, 4.223, 4.683, 5.226, 5.866");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.5667, 0.623, 0.7779, 1.025, 1.382, 1.874, 2.52, 3.33, 4.319, 5.497",\
                 "0.5797, 0.636, 0.7908, 1.038, 1.394, 1.887, 2.532, 3.343, 4.332, 5.512",\
                 "0.6229, 0.6795, 0.8341, 1.081, 1.438, 1.93, 2.576, 3.386, 4.375, 5.555",\
                 "0.7081, 0.7645, 0.9191, 1.166, 1.522, 2.014, 2.659, 3.469, 4.458, 5.637",\
                 "0.8191, 0.8768, 1.032, 1.279, 1.633, 2.124, 2.769, 3.579, 4.567, 5.745",\
                 "0.9108, 0.9709, 1.13, 1.379, 1.734, 2.224, 2.867, 3.676, 4.664, 5.842",\
                 "0.9815, 1.045, 1.208, 1.46, 1.815, 2.304, 2.947, 3.754, 4.742, 5.921",\
                 "1.026, 1.093, 1.263, 1.521, 1.877, 2.365, 3.005, 3.813, 4.799, 5.976",\
                 "1.039, 1.111, 1.289, 1.553, 1.915, 2.403, 3.043, 3.848, 4.834, 6.009",\
                 "1.019, 1.095, 1.281, 1.553, 1.922, 2.416, 3.056, 3.86, 4.845, 6.02");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.2015, 0.2641, 0.4118, 0.6279, 0.9262, 1.324, 1.854, 2.544, 3.415, 4.474",\
                 "0.2021, 0.2642, 0.412, 0.628, 0.926, 1.324, 1.854, 2.544, 3.413, 4.473",\
                 "0.2017, 0.264, 0.4118, 0.628, 0.926, 1.324, 1.854, 2.544, 3.415, 4.473",\
                 "0.201, 0.264, 0.412, 0.628, 0.9262, 1.324, 1.854, 2.543, 3.413, 4.471",\
                 "0.2076, 0.27, 0.4168, 0.632, 0.929, 1.326, 1.855, 2.544, 3.413, 4.475",\
                 "0.235, 0.2994, 0.4452, 0.654, 0.9444, 1.336, 1.861, 2.547, 3.415, 4.473",\
                 "0.2616, 0.3298, 0.4804, 0.686, 0.9752, 1.36, 1.876, 2.556, 3.418, 4.476",\
                 "0.2936, 0.3672, 0.5234, 0.7262, 1.011, 1.389, 1.898, 2.571, 3.427, 4.477",\
                 "0.33, 0.409, 0.5756, 0.7788, 1.057, 1.426, 1.924, 2.589, 3.439, 4.482",\
                 "0.3678, 0.4524, 0.6334, 0.844, 1.119, 1.481, 1.965, 2.613, 3.455, 4.491");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00586, 0.02292, 0.0555, 0.1063, 0.1775, 0.2712, 0.3892, 0.5333, 0.7051");
          values("0.1524, 0.2165, 0.4208, 0.7838, 1.373, 2.228, 3.356, 4.783, 6.53, 8.599",\
                 "0.1524, 0.2161, 0.4207, 0.7839, 1.373, 2.228, 3.356, 4.781, 6.53, 8.6",\
                 "0.152, 0.2158, 0.421, 0.7838, 1.373, 2.228, 3.356, 4.783, 6.526, 8.601",\
                 "0.152, 0.2166, 0.4208, 0.784, 1.373, 2.228, 3.354, 4.783, 6.519, 8.599",\
                 "0.1624, 0.225, 0.4276, 0.7886, 1.375, 2.227, 3.356, 4.778, 6.518, 8.598",\
                 "0.1786, 0.2412, 0.4424, 0.801, 1.382, 2.23, 3.355, 4.778, 6.519, 8.597",\
                 "0.1988, 0.2616, 0.46, 0.815, 1.39, 2.236, 3.358, 4.784, 6.53, 8.601",\
                 "0.222, 0.2884, 0.4838, 0.8362, 1.402, 2.239, 3.361, 4.781, 6.53, 8.607",\
                 "0.2484, 0.3166, 0.5116, 0.8658, 1.424, 2.252, 3.366, 4.784, 6.525, 8.606",\
                 "0.276, 0.3486, 0.544, 0.8994, 1.456, 2.277, 3.378, 4.789, 6.529, 8.6");
        }
      }
    }

    pin(S) {
      direction : output ;
      function : "(A^B^CI)" ;
      max_capacitance : 0.6571 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2623, 0.2524, 0.2309, 0.2125, 0.2011, 0.1937, 0.1887, 0.1852, 0.1827, 0.1809",\
                 "0.261, 0.2511, 0.2296, 0.2112, 0.1997, 0.1924, 0.1875, 0.184, 0.1814, 0.1796",\
                 "0.2601, 0.2502, 0.2288, 0.2103, 0.1989, 0.1916, 0.1866, 0.1831, 0.1806, 0.1787",\
                 "0.2604, 0.2505, 0.229, 0.2105, 0.1991, 0.1918, 0.1868, 0.1833, 0.1808, 0.179",\
                 "0.2659, 0.256, 0.2343, 0.2154, 0.2038, 0.1962, 0.191, 0.1875, 0.1849, 0.183",\
                 "0.2811, 0.2708, 0.2482, 0.2281, 0.2155, 0.2074, 0.2017, 0.1978, 0.195, 0.193",\
                 "0.3055, 0.295, 0.2712, 0.2493, 0.2351, 0.2257, 0.2194, 0.2148, 0.2117, 0.2093",\
                 "0.3413, 0.3303, 0.305, 0.2805, 0.264, 0.2528, 0.2451, 0.2396, 0.2356, 0.2329",\
                 "0.3885, 0.3769, 0.3494, 0.3215, 0.302, 0.2884, 0.279, 0.2724, 0.2674, 0.2638",\
                 "0.4453, 0.4332, 0.4037, 0.3723, 0.3492, 0.3329, 0.3212, 0.3129, 0.3067, 0.3021");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.07475, 0.07035, 0.06481, 0.06182, 0.06103, 0.06146, 0.06204, 0.06306, 0.06494, 0.07073",\
                 "0.07427, 0.06984, 0.06435, 0.06126, 0.06037, 0.0608, 0.06141, 0.0624, 0.06395, 0.07083",\
                 "0.07368, 0.06929, 0.06378, 0.0606, 0.05965, 0.06004, 0.06068, 0.06141, 0.06329, 0.07137",\
                 "0.07582, 0.07131, 0.06544, 0.06169, 0.06031, 0.06054, 0.06114, 0.06207, 0.06395, 0.07092",\
                 "0.0849, 0.07949, 0.07269, 0.06793, 0.06536, 0.06506, 0.06484, 0.0657, 0.06725, 0.07615",\
                 "0.101, 0.09469, 0.08594, 0.07918, 0.07568, 0.07387, 0.07302, 0.07362, 0.0745, 0.08599",\
                 "0.1254, 0.1178, 0.1065, 0.09766, 0.09133, 0.09073, 0.0885, 0.08682, 0.08803, 0.1003",\
                 "0.1576, 0.1484, 0.135, 0.1238, 0.1154, 0.1106, 0.1095, 0.1082, 0.1078, 0.1229",\
                 "0.198, 0.1875, 0.1712, 0.1574, 0.1468, 0.1393, 0.1353, 0.1352, 0.1355, 0.1567",\
                 "0.2466, 0.2348, 0.2153, 0.1991, 0.1869, 0.1759, 0.1696, 0.1672, 0.1698, 0.2012");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "!B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1324, 0.1244, 0.1094, 0.09952, 0.09421, 0.09101, 0.08896, 0.08751, 0.08652, 0.0858",\
                 "0.1319, 0.1238, 0.1089, 0.09925, 0.09381, 0.09051, 0.08846, 0.08701, 0.08602, 0.0853",\
                 "0.1315, 0.1233, 0.1084, 0.09878, 0.09333, 0.09013, 0.08802, 0.08657, 0.08558, 0.08485",\
                 "0.1321, 0.1241, 0.1089, 0.09932, 0.09391, 0.09067, 0.0886, 0.08718, 0.08619, 0.08549",\
                 "0.1362, 0.1282, 0.1132, 0.1035, 0.09823, 0.09502, 0.09288, 0.09153, 0.0905, 0.08981",\
                 "0.1443, 0.1361, 0.121, 0.111, 0.1054, 0.1022, 0.1001, 0.09865, 0.09762, 0.09693",\
                 "0.1565, 0.1482, 0.1329, 0.1229, 0.1173, 0.1138, 0.1115, 0.11, 0.1091, 0.1083",\
                 "0.1735, 0.1649, 0.1491, 0.139, 0.1329, 0.1295, 0.1271, 0.1256, 0.1245, 0.1237",\
                 "0.194, 0.1856, 0.17, 0.1595, 0.1534, 0.1496, 0.1473, 0.1457, 0.1447, 0.1439",\
                 "0.2197, 0.2113, 0.1952, 0.1842, 0.1781, 0.1744, 0.172, 0.1704, 0.1693, 0.1686");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1863, 0.1805, 0.1728, 0.1673, 0.1641, 0.1633, 0.1631, 0.1638, 0.1653, 0.1735",\
                 "0.1859, 0.1802, 0.1723, 0.1669, 0.1634, 0.1627, 0.1625, 0.1635, 0.1647, 0.173",\
                 "0.1856, 0.1799, 0.1722, 0.1664, 0.1637, 0.1625, 0.1622, 0.1625, 0.1641, 0.1738",\
                 "0.1863, 0.1805, 0.1728, 0.1673, 0.1644, 0.1632, 0.1633, 0.1641, 0.1656, 0.1743",\
                 "0.1907, 0.185, 0.1771, 0.1717, 0.169, 0.1678, 0.1672, 0.1676, 0.1695, 0.1812",\
                 "0.2007, 0.195, 0.1866, 0.1809, 0.1775, 0.1765, 0.1762, 0.1774, 0.1787, 0.1936",\
                 "0.2153, 0.2094, 0.2011, 0.1954, 0.1918, 0.1904, 0.19, 0.1906, 0.1925, 0.2123",\
                 "0.2365, 0.2304, 0.2212, 0.2144, 0.2111, 0.2099, 0.2094, 0.2094, 0.2127, 0.2418",\
                 "0.2626, 0.2562, 0.2471, 0.2395, 0.2348, 0.2334, 0.2345, 0.2338, 0.2384, 0.2856",\
                 "0.2941, 0.2873, 0.2775, 0.27, 0.2647, 0.2619, 0.2619, 0.2647, 0.2735, 0.3525");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.136, 0.1282, 0.1135, 0.1039, 0.09879, 0.09549, 0.09341, 0.09192, 0.09083, 0.09014",\
                 "0.1358, 0.1279, 0.1131, 0.1035, 0.09837, 0.09497, 0.09286, 0.09134, 0.09028, 0.08952",\
                 "0.1354, 0.1276, 0.1127, 0.103, 0.09774, 0.09437, 0.0921, 0.09058, 0.08956, 0.0888",\
                 "0.1361, 0.1282, 0.1133, 0.1037, 0.09827, 0.095, 0.09276, 0.09124, 0.09015, 0.08939",\
                 "0.1405, 0.1326, 0.1178, 0.1081, 0.1027, 0.09938, 0.09713, 0.09558, 0.09446, 0.0937",\
                 "0.1485, 0.1408, 0.1257, 0.1157, 0.1102, 0.1067, 0.1044, 0.1029, 0.1018, 0.101",\
                 "0.1606, 0.1526, 0.1374, 0.1274, 0.1218, 0.1182, 0.1159, 0.1143, 0.1131, 0.1122",\
                 "0.1777, 0.1696, 0.1539, 0.1434, 0.1373, 0.1338, 0.1312, 0.1296, 0.1285, 0.1276",\
                 "0.1981, 0.19, 0.1741, 0.1635, 0.1576, 0.1539, 0.1515, 0.1498, 0.1486, 0.1478",\
                 "0.2225, 0.2145, 0.1983, 0.1878, 0.1817, 0.1779, 0.175, 0.1737, 0.1724, 0.1715");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1816, 0.1762, 0.1687, 0.1637, 0.1611, 0.1606, 0.1606, 0.1614, 0.163, 0.1711",\
                 "0.1814, 0.1759, 0.1684, 0.1637, 0.1609, 0.1603, 0.1606, 0.1609, 0.1621, 0.172",\
                 "0.1811, 0.1756, 0.1684, 0.1634, 0.1607, 0.16, 0.1602, 0.1608, 0.1623, 0.1712",\
                 "0.1814, 0.1761, 0.1688, 0.1637, 0.161, 0.1604, 0.1604, 0.1611, 0.163, 0.174",\
                 "0.1853, 0.1798, 0.1726, 0.1674, 0.1648, 0.1641, 0.1644, 0.1646, 0.1664, 0.1791",\
                 "0.1942, 0.1891, 0.1814, 0.1761, 0.1732, 0.1725, 0.1725, 0.173, 0.1746, 0.1892",\
                 "0.2087, 0.203, 0.1952, 0.1901, 0.1871, 0.1857, 0.1858, 0.1861, 0.1884, 0.2092",\
                 "0.2294, 0.2236, 0.2153, 0.2087, 0.2063, 0.2053, 0.2047, 0.2052, 0.2081, 0.2371",\
                 "0.2554, 0.2494, 0.2407, 0.2339, 0.2293, 0.2288, 0.2301, 0.2303, 0.234, 0.2798",\
                 "0.2867, 0.2803, 0.2712, 0.264, 0.2595, 0.2574, 0.2571, 0.2598, 0.2692, 0.3482");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2233, 0.2154, 0.2007, 0.1911, 0.1855, 0.182, 0.1798, 0.1783, 0.1773, 0.1765",\
                 "0.2228, 0.215, 0.2003, 0.1906, 0.185, 0.1816, 0.1794, 0.1778, 0.1768, 0.1761",\
                 "0.2224, 0.2146, 0.1999, 0.1902, 0.1846, 0.1812, 0.179, 0.1774, 0.1764, 0.1757",\
                 "0.2231, 0.2152, 0.2004, 0.1906, 0.185, 0.1815, 0.1793, 0.1778, 0.1768, 0.176",\
                 "0.2314, 0.2232, 0.2073, 0.1966, 0.1902, 0.1863, 0.1838, 0.1821, 0.1809, 0.1801",\
                 "0.249, 0.2403, 0.2227, 0.2099, 0.2022, 0.1974, 0.1942, 0.1921, 0.1906, 0.1896",\
                 "0.2771, 0.2676, 0.2479, 0.2322, 0.2225, 0.2163, 0.2122, 0.2094, 0.2074, 0.2061",\
                 "0.3158, 0.3056, 0.2833, 0.2643, 0.2519, 0.2436, 0.2382, 0.2344, 0.2317, 0.2299",\
                 "0.364, 0.3531, 0.3284, 0.3054, 0.29, 0.2793, 0.272, 0.267, 0.2636, 0.261",\
                 "0.4206, 0.4091, 0.3818, 0.355, 0.336, 0.3228, 0.3136, 0.3072, 0.3025, 0.2991");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.09051, 0.08353, 0.0747, 0.06845, 0.06551, 0.06422, 0.06473, 0.06464, 0.06618, 0.07251",\
                 "0.0889, 0.08192, 0.07301, 0.06696, 0.06386, 0.06297, 0.06255, 0.06299, 0.0642, 0.07228",\
                 "0.08705, 0.08007, 0.07139, 0.06505, 0.06208, 0.06086, 0.06127, 0.06101, 0.06255, 0.06942",\
                 "0.08793, 0.08107, 0.07203, 0.06544, 0.06201, 0.06105, 0.06084, 0.06101, 0.06288, 0.06983",\
                 "0.09568, 0.08842, 0.07892, 0.07181, 0.06746, 0.06607, 0.06523, 0.06629, 0.06684, 0.07529",\
                 "0.1106, 0.1025, 0.09104, 0.08313, 0.07868, 0.07541, 0.0743, 0.07454, 0.07542, 0.0848",\
                 "0.1334, 0.1244, 0.1113, 0.1011, 0.09485, 0.09227, 0.08968, 0.08831, 0.08861, 0.1018",\
                 "0.1642, 0.1542, 0.1389, 0.1274, 0.118, 0.1132, 0.1119, 0.1101, 0.1087, 0.1267",\
                 "0.2026, 0.1917, 0.174, 0.1607, 0.1499, 0.1418, 0.1388, 0.1385, 0.1384, 0.1593",\
                 "0.2488, 0.237, 0.2167, 0.2007, 0.1882, 0.1784, 0.1721, 0.1704, 0.174, 0.2085");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2591, 0.2492, 0.2277, 0.2092, 0.1977, 0.1904, 0.1853, 0.1818, 0.1793, 0.1774",\
                 "0.2584, 0.2485, 0.2271, 0.2085, 0.197, 0.1897, 0.1847, 0.1811, 0.1786, 0.1767",\
                 "0.2578, 0.248, 0.2264, 0.2079, 0.1965, 0.189, 0.184, 0.1805, 0.178, 0.1761",\
                 "0.2588, 0.2488, 0.2273, 0.2087, 0.1972, 0.1898, 0.1847, 0.1812, 0.1787, 0.1769",\
                 "0.2656, 0.2556, 0.2336, 0.2144, 0.2027, 0.1949, 0.1896, 0.186, 0.1833, 0.1814",\
                 "0.2814, 0.271, 0.2481, 0.2275, 0.2145, 0.206, 0.2001, 0.196, 0.193, 0.1909",\
                 "0.3032, 0.2926, 0.2685, 0.2462, 0.2317, 0.2222, 0.2157, 0.211, 0.2077, 0.2053",\
                 "0.3328, 0.3218, 0.2965, 0.2719, 0.2556, 0.2446, 0.237, 0.2316, 0.2279, 0.225",\
                 "0.3717, 0.3602, 0.3332, 0.306, 0.2872, 0.2741, 0.2651, 0.2587, 0.2541, 0.2507",\
                 "0.4196, 0.4075, 0.3786, 0.3482, 0.3263, 0.3109, 0.3001, 0.2923, 0.2867, 0.2824");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.06953, 0.06553, 0.06067, 0.05808, 0.05759, 0.05805, 0.05882, 0.06011, 0.06166, 0.06811",\
                 "0.06953, 0.0655, 0.06059, 0.05805, 0.05755, 0.05805, 0.05882, 0.06011, 0.06166, 0.06778",\
                 "0.0694, 0.06537, 0.06035, 0.05762, 0.05726, 0.05791, 0.05856, 0.06011, 0.061, 0.06765",\
                 "0.07206, 0.06784, 0.06222, 0.05901, 0.05815, 0.05838, 0.05912, 0.06011, 0.06166, 0.06895",\
                 "0.08094, 0.07601, 0.06928, 0.06521, 0.06287, 0.0626, 0.06314, 0.06407, 0.06529, 0.07386",\
                 "0.09621, 0.08997, 0.08126, 0.07524, 0.0726, 0.07082, 0.0703, 0.07034, 0.07221, 0.08162",\
                 "0.1184, 0.1107, 0.09999, 0.09141, 0.08626, 0.08501, 0.08374, 0.08255, 0.08343, 0.0955",\
                 "0.147, 0.138, 0.1247, 0.1138, 0.1058, 0.1018, 0.1017, 0.1009, 0.1006, 0.1165",\
                 "0.1822, 0.1717, 0.1556, 0.1424, 0.1323, 0.1254, 0.1225, 0.1231, 0.1243, 0.1446",\
                 "0.2239, 0.2125, 0.1932, 0.1789, 0.1658, 0.1567, 0.1502, 0.1485, 0.152, 0.1843");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1365, 0.1283, 0.1123, 0.1018, 0.09579, 0.09209, 0.08965, 0.088, 0.08688, 0.08602",\
                 "0.1364, 0.1282, 0.1124, 0.1018, 0.09562, 0.09203, 0.08959, 0.08797, 0.08685, 0.08596",\
                 "0.1362, 0.1279, 0.112, 0.1014, 0.09523, 0.0916, 0.08916, 0.08751, 0.08639, 0.08553",\
                 "0.1367, 0.1284, 0.1125, 0.1017, 0.09571, 0.09211, 0.0896, 0.08799, 0.08686, 0.08604",\
                 "0.1399, 0.1317, 0.1159, 0.1053, 0.09922, 0.09555, 0.09304, 0.09139, 0.09024, 0.08945",\
                 "0.1466, 0.1382, 0.1224, 0.1116, 0.1055, 0.1018, 0.09934, 0.09775, 0.0966, 0.0958",\
                 "0.1574, 0.1491, 0.1328, 0.1221, 0.1161, 0.1123, 0.1098, 0.1081, 0.1071, 0.1063",\
                 "0.172, 0.1635, 0.1474, 0.1364, 0.1301, 0.1264, 0.1241, 0.1224, 0.1212, 0.1204",\
                 "0.1902, 0.1821, 0.1657, 0.1547, 0.1485, 0.1449, 0.1424, 0.1408, 0.1396, 0.1387",\
                 "0.2128, 0.2042, 0.1878, 0.1765, 0.1701, 0.1664, 0.164, 0.1624, 0.1613, 0.1605");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1852, 0.1794, 0.1716, 0.1662, 0.163, 0.1622, 0.1621, 0.1626, 0.1644, 0.1723",\
                 "0.185, 0.1792, 0.1713, 0.1659, 0.1628, 0.1619, 0.1617, 0.1622, 0.1637, 0.1723",\
                 "0.1844, 0.1787, 0.1709, 0.1654, 0.1622, 0.1614, 0.1612, 0.1617, 0.1632, 0.1721",\
                 "0.1848, 0.1792, 0.1713, 0.166, 0.1627, 0.1622, 0.1619, 0.1621, 0.1633, 0.1744",\
                 "0.1887, 0.1828, 0.1751, 0.1701, 0.167, 0.1661, 0.1655, 0.1661, 0.1676, 0.1798",\
                 "0.1995, 0.1937, 0.1854, 0.1796, 0.1765, 0.1756, 0.1756, 0.1763, 0.1783, 0.193",\
                 "0.2142, 0.2084, 0.1999, 0.1943, 0.1901, 0.189, 0.1892, 0.1888, 0.191, 0.2124",\
                 "0.2339, 0.2277, 0.219, 0.2122, 0.2094, 0.2075, 0.2069, 0.2074, 0.21, 0.243",\
                 "0.2587, 0.2522, 0.2431, 0.2356, 0.2312, 0.2303, 0.2299, 0.2297, 0.2354, 0.2893",\
                 "0.2887, 0.282, 0.2722, 0.264, 0.2588, 0.2561, 0.2571, 0.2578, 0.271, 0.3658");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1414, 0.1336, 0.1188, 0.1092, 0.104, 0.1008, 0.09865, 0.0971, 0.09611, 0.09538",\
                 "0.1413, 0.1334, 0.1188, 0.1093, 0.104, 0.1008, 0.09866, 0.09718, 0.09612, 0.09533",\
                 "0.141, 0.1331, 0.1185, 0.1089, 0.1038, 0.1006, 0.09837, 0.09686, 0.09587, 0.09514",\
                 "0.1416, 0.1337, 0.1191, 0.1095, 0.1043, 0.1011, 0.09904, 0.09746, 0.0964, 0.09561",\
                 "0.1462, 0.1384, 0.1238, 0.1143, 0.109, 0.1058, 0.1036, 0.1022, 0.1011, 0.1004",\
                 "0.1548, 0.1469, 0.1323, 0.1222, 0.1169, 0.1137, 0.1115, 0.11, 0.1089, 0.1084",\
                 "0.1671, 0.1592, 0.1441, 0.1344, 0.1287, 0.1252, 0.1229, 0.1213, 0.1202, 0.1196",\
                 "0.1839, 0.1759, 0.1605, 0.1502, 0.1446, 0.1411, 0.1387, 0.1371, 0.136, 0.1351",\
                 "0.2048, 0.1966, 0.1809, 0.1704, 0.1645, 0.1609, 0.1584, 0.1569, 0.1557, 0.1549",\
                 "0.2293, 0.2208, 0.2056, 0.1946, 0.1884, 0.1847, 0.1823, 0.1807, 0.1795, 0.1786");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1822, 0.1765, 0.1686, 0.1631, 0.1597, 0.1588, 0.1588, 0.1598, 0.1604, 0.1685",\
                 "0.1818, 0.176, 0.1683, 0.1625, 0.1593, 0.1584, 0.1584, 0.1597, 0.1599, 0.1685",\
                 "0.1812, 0.1754, 0.1677, 0.1619, 0.1589, 0.1578, 0.1578, 0.1586, 0.1595, 0.1687",\
                 "0.1813, 0.1757, 0.1678, 0.1619, 0.1589, 0.158, 0.1578, 0.1586, 0.1595, 0.1688",\
                 "0.1849, 0.1791, 0.1712, 0.1653, 0.1622, 0.1613, 0.1611, 0.1618, 0.1627, 0.1739",\
                 "0.1926, 0.1868, 0.1789, 0.1728, 0.1695, 0.1684, 0.1686, 0.1693, 0.1703, 0.1845",\
                 "0.2057, 0.1997, 0.1913, 0.1856, 0.1823, 0.181, 0.1807, 0.1817, 0.1823, 0.2019",\
                 "0.2244, 0.2185, 0.2099, 0.2034, 0.2001, 0.1993, 0.1986, 0.1992, 0.2012, 0.2292",\
                 "0.2485, 0.2423, 0.2337, 0.2267, 0.2222, 0.2209, 0.2224, 0.2219, 0.2265, 0.2708",\
                 "0.2777, 0.2712, 0.262, 0.2552, 0.25, 0.2479, 0.2481, 0.2509, 0.2591, 0.334");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2044, 0.1968, 0.1829, 0.1743, 0.1693, 0.1663, 0.1643, 0.163, 0.1621, 0.1615",\
                 "0.2042, 0.1966, 0.1826, 0.174, 0.1691, 0.166, 0.1641, 0.1628, 0.1619, 0.1612",\
                 "0.2036, 0.196, 0.1821, 0.1734, 0.1685, 0.1654, 0.1634, 0.1621, 0.1613, 0.1606",\
                 "0.2043, 0.1966, 0.1826, 0.1738, 0.1687, 0.1657, 0.1637, 0.1624, 0.1615, 0.1609",\
                 "0.2128, 0.2048, 0.1896, 0.1796, 0.1738, 0.1703, 0.168, 0.1665, 0.1654, 0.1647",\
                 "0.2301, 0.2214, 0.2043, 0.1923, 0.1851, 0.1808, 0.1779, 0.176, 0.1747, 0.1737",\
                 "0.2572, 0.2478, 0.2284, 0.2134, 0.2043, 0.1984, 0.1946, 0.192, 0.1903, 0.189",\
                 "0.2945, 0.2843, 0.2622, 0.2437, 0.2318, 0.2239, 0.2188, 0.2152, 0.2128, 0.211",\
                 "0.34, 0.329, 0.3044, 0.282, 0.2671, 0.2569, 0.25, 0.2453, 0.2419, 0.2395",\
                 "0.3932, 0.3815, 0.3545, 0.3284, 0.31, 0.2971, 0.2885, 0.2824, 0.278, 0.2747");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.09838, 0.09134, 0.08235, 0.07635, 0.07308, 0.07189, 0.0723, 0.07211, 0.07333, 0.07965",\
                 "0.09783, 0.09093, 0.08182, 0.07576, 0.07255, 0.0715, 0.07122, 0.07178, 0.073, 0.07976",\
                 "0.09713, 0.09, 0.08113, 0.0747, 0.07173, 0.07054, 0.07049, 0.07112, 0.07201, 0.0793",\
                 "0.09888, 0.09213, 0.08263, 0.07595, 0.07246, 0.0714, 0.07148, 0.07211, 0.07299, 0.07994",\
                 "0.1076, 0.1001, 0.09004, 0.08269, 0.07853, 0.07632, 0.0758, 0.07607, 0.07695, 0.08584",\
                 "0.1228, 0.1145, 0.103, 0.09486, 0.08958, 0.08605, 0.08524, 0.08432, 0.0852, 0.09578",\
                 "0.1457, 0.1366, 0.1232, 0.1124, 0.1058, 0.1023, 0.09973, 0.09809, 0.09906, 0.1116",\
                 "0.1762, 0.1659, 0.1503, 0.1379, 0.1292, 0.1238, 0.1213, 0.1195, 0.1192, 0.1351",\
                 "0.2142, 0.2028, 0.1846, 0.1703, 0.1588, 0.1506, 0.1468, 0.1456, 0.1452, 0.1712",\
                 "0.259, 0.2468, 0.2264, 0.2098, 0.196, 0.1859, 0.1784, 0.1762, 0.1792, 0.2184");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2447, 0.2348, 0.2134, 0.1949, 0.1834, 0.1761, 0.171, 0.1676, 0.165, 0.1632",\
                 "0.244, 0.2341, 0.2127, 0.1941, 0.1828, 0.1754, 0.1704, 0.1669, 0.1644, 0.1625",\
                 "0.2425, 0.2326, 0.2111, 0.1927, 0.1813, 0.174, 0.169, 0.1655, 0.163, 0.1612",\
                 "0.2432, 0.2333, 0.2118, 0.1933, 0.182, 0.1746, 0.1697, 0.1662, 0.1637, 0.1619",\
                 "0.2484, 0.2384, 0.2167, 0.198, 0.1864, 0.179, 0.174, 0.1705, 0.1679, 0.1661",\
                 "0.2642, 0.2539, 0.231, 0.2106, 0.1978, 0.1894, 0.1837, 0.1797, 0.177, 0.1749",\
                 "0.2888, 0.2779, 0.2531, 0.2304, 0.2153, 0.2054, 0.1987, 0.1941, 0.1907, 0.1883",\
                 "0.3187, 0.3071, 0.2804, 0.2552, 0.2381, 0.2265, 0.2186, 0.2129, 0.209, 0.2061",\
                 "0.3555, 0.3434, 0.315, 0.2866, 0.2671, 0.2534, 0.244, 0.2374, 0.2325, 0.229",\
                 "0.4001, 0.3876, 0.3572, 0.3257, 0.3029, 0.2871, 0.2756, 0.2677, 0.2618, 0.2575");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.08857, 0.08435, 0.07908, 0.07611, 0.07532, 0.07591, 0.07662, 0.07778, 0.07899, 0.08544",\
                 "0.08893, 0.08451, 0.07922, 0.07634, 0.07584, 0.07627, 0.07691, 0.07778, 0.07932, 0.08544",\
                 "0.08894, 0.08466, 0.07921, 0.07637, 0.07578, 0.07637, 0.07688, 0.07844, 0.07899, 0.08631",\
                 "0.0921, 0.08754, 0.08163, 0.07806, 0.07697, 0.07716, 0.07767, 0.07877, 0.08031, 0.08794",\
                 "0.09985, 0.09449, 0.0874, 0.0834, 0.08122, 0.08099, 0.0811, 0.08174, 0.08361, 0.09208",\
                 "0.1141, 0.1077, 0.09885, 0.09264, 0.0905, 0.08861, 0.08807, 0.08801, 0.08988, 0.1002",\
                 "0.135, 0.127, 0.1162, 0.1072, 0.1023, 0.1012, 0.1002, 0.09989, 0.1004, 0.111",\
                 "0.1619, 0.1526, 0.1389, 0.1281, 0.1203, 0.1164, 0.1161, 0.1156, 0.1156, 0.1306",\
                 "0.1947, 0.184, 0.168, 0.1553, 0.1446, 0.1381, 0.1346, 0.1348, 0.1364, 0.1566",\
                 "0.2335, 0.2216, 0.2023, 0.1872, 0.1748, 0.1653, 0.1598, 0.1575, 0.1608, 0.1931");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1442, 0.136, 0.1201, 0.1095, 0.1033, 0.0996, 0.09722, 0.09557, 0.09445, 0.09359",\
                 "0.1443, 0.136, 0.1202, 0.1096, 0.1035, 0.09973, 0.09738, 0.09573, 0.09461, 0.09375",\
                 "0.1445, 0.1362, 0.1203, 0.1098, 0.1035, 0.09985, 0.09745, 0.09576, 0.09464, 0.09378",\
                 "0.1457, 0.1375, 0.1217, 0.1108, 0.1047, 0.1011, 0.09856, 0.09691, 0.09599, 0.09516",\
                 "0.151, 0.1427, 0.1267, 0.1162, 0.11, 0.1063, 0.104, 0.1023, 0.1012, 0.1004",\
                 "0.159, 0.1509, 0.1345, 0.124, 0.1184, 0.1146, 0.1118, 0.1106, 0.1093, 0.1082",\
                 "0.1705, 0.1618, 0.1458, 0.1357, 0.1293, 0.1256, 0.1233, 0.1218, 0.1207, 0.1199",\
                 "0.186, 0.1777, 0.1611, 0.1508, 0.1453, 0.1418, 0.1393, 0.1379, 0.1367, 0.136",\
                 "0.2047, 0.1961, 0.1799, 0.1698, 0.1635, 0.1602, 0.1581, 0.1566, 0.1556, 0.1549",\
                 "0.2274, 0.2191, 0.2029, 0.1926, 0.1863, 0.1829, 0.1806, 0.1791, 0.1781, 0.1774");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1695, 0.1643, 0.1567, 0.1518, 0.149, 0.1484, 0.1484, 0.149, 0.1515, 0.1589",\
                 "0.1697, 0.1642, 0.1567, 0.1517, 0.149, 0.1485, 0.1484, 0.149, 0.1506, 0.1594",\
                 "0.1696, 0.1642, 0.1566, 0.1517, 0.149, 0.1484, 0.1483, 0.149, 0.1506, 0.1589",\
                 "0.1704, 0.1649, 0.1575, 0.1526, 0.1498, 0.1492, 0.1491, 0.1495, 0.1514, 0.161",\
                 "0.1748, 0.1694, 0.1619, 0.1567, 0.154, 0.1535, 0.1533, 0.1538, 0.1557, 0.1673",\
                 "0.185, 0.1795, 0.1719, 0.1665, 0.1636, 0.1628, 0.163, 0.1637, 0.1656, 0.1798",\
                 "0.1986, 0.193, 0.1858, 0.1802, 0.1772, 0.1764, 0.1763, 0.177, 0.1789, 0.1992",\
                 "0.2176, 0.212, 0.2038, 0.1979, 0.1952, 0.194, 0.1935, 0.1938, 0.197, 0.2281",\
                 "0.2417, 0.2356, 0.2269, 0.221, 0.2167, 0.2161, 0.2167, 0.2168, 0.2214, 0.2723",\
                 "0.2711, 0.2646, 0.2556, 0.2484, 0.2443, 0.2418, 0.2432, 0.2446, 0.2558, 0.3456");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1401, 0.132, 0.117, 0.1074, 0.1019, 0.09862, 0.09654, 0.09512, 0.09413, 0.09341",\
                 "0.1402, 0.1321, 0.1172, 0.1075, 0.102, 0.09878, 0.09664, 0.09518, 0.09419, 0.09347",\
                 "0.1404, 0.1323, 0.1173, 0.1077, 0.1022, 0.09899, 0.09685, 0.0954, 0.09444, 0.09362",\
                 "0.1414, 0.1334, 0.1183, 0.1087, 0.1031, 0.09983, 0.09771, 0.09643, 0.09544, 0.09474",\
                 "0.1462, 0.1382, 0.1231, 0.1135, 0.1079, 0.1046, 0.1025, 0.1011, 0.1002, 0.09961",\
                 "0.1537, 0.1457, 0.1308, 0.1212, 0.1153, 0.1119, 0.11, 0.1087, 0.1077, 0.1071",\
                 "0.1651, 0.1569, 0.1417, 0.1319, 0.1268, 0.1236, 0.1213, 0.12, 0.1191, 0.1184",\
                 "0.1804, 0.1715, 0.1568, 0.1468, 0.1418, 0.1383, 0.1364, 0.1349, 0.1337, 0.1334",\
                 "0.1986, 0.1907, 0.1752, 0.1655, 0.1599, 0.1565, 0.1548, 0.1534, 0.1525, 0.1517",\
                 "0.2217, 0.2132, 0.1973, 0.1875, 0.1818, 0.1785, 0.1765, 0.1751, 0.1741, 0.1734");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1739, 0.1681, 0.1603, 0.1545, 0.1514, 0.1505, 0.1508, 0.1508, 0.1524, 0.1602",\
                 "0.1738, 0.1681, 0.1603, 0.1545, 0.1513, 0.1504, 0.1505, 0.1505, 0.1521, 0.1602",\
                 "0.1738, 0.1681, 0.1602, 0.1544, 0.1516, 0.1504, 0.1503, 0.1512, 0.1528, 0.1609",\
                 "0.1748, 0.169, 0.1612, 0.1554, 0.1522, 0.1513, 0.1515, 0.1512, 0.1528, 0.1624",\
                 "0.1795, 0.174, 0.1661, 0.1601, 0.1569, 0.1558, 0.1558, 0.1573, 0.1576, 0.1686",\
                 "0.1903, 0.1844, 0.1763, 0.1702, 0.1669, 0.1658, 0.1656, 0.1663, 0.1676, 0.1821",\
                 "0.2044, 0.1983, 0.1903, 0.1844, 0.181, 0.1798, 0.1798, 0.1802, 0.1822, 0.2036",\
                 "0.2235, 0.2176, 0.209, 0.2028, 0.1996, 0.198, 0.1974, 0.1977, 0.2019, 0.2322",\
                 "0.2481, 0.2417, 0.2328, 0.2261, 0.2218, 0.2211, 0.2211, 0.2209, 0.2269, 0.2762",\
                 "0.2779, 0.2712, 0.2618, 0.2542, 0.25, 0.2472, 0.2483, 0.2495, 0.261, 0.3487");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.197, 0.1896, 0.1761, 0.1675, 0.1626, 0.1596, 0.1576, 0.1562, 0.1553, 0.1545",\
                 "0.1969, 0.1895, 0.176, 0.1674, 0.1625, 0.1595, 0.1575, 0.1561, 0.1552, 0.1544",\
                 "0.196, 0.1887, 0.1752, 0.1666, 0.1616, 0.1586, 0.1566, 0.1553, 0.1543, 0.1536",\
                 "0.1966, 0.1892, 0.1755, 0.1668, 0.1618, 0.1588, 0.1568, 0.1555, 0.1545, 0.1538",\
                 "0.2048, 0.1969, 0.1821, 0.1722, 0.1666, 0.1633, 0.161, 0.1594, 0.1583, 0.1576",\
                 "0.2204, 0.212, 0.1954, 0.1837, 0.177, 0.1728, 0.1701, 0.1683, 0.167, 0.1661",\
                 "0.2467, 0.2373, 0.2185, 0.2038, 0.1951, 0.1895, 0.1858, 0.1834, 0.1817, 0.1805",\
                 "0.2826, 0.2723, 0.2506, 0.2324, 0.2207, 0.2135, 0.2086, 0.2052, 0.2028, 0.2012",\
                 "0.3263, 0.3153, 0.2909, 0.2689, 0.2544, 0.2445, 0.2382, 0.2337, 0.2305, 0.2282",\
                 "0.3774, 0.3657, 0.3387, 0.3129, 0.295, 0.2829, 0.2745, 0.2687, 0.2646, 0.2615");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1108, 0.1038, 0.09487, 0.08871, 0.08567, 0.08455, 0.08453, 0.08477, 0.08565, 0.09297",\
                 "0.1105, 0.1037, 0.09472, 0.08831, 0.08541, 0.08428, 0.0843, 0.08444, 0.08598, 0.09241",\
                 "0.1098, 0.1029, 0.09404, 0.08765, 0.08485, 0.08359, 0.08367, 0.08411, 0.08532, 0.09328",\
                 "0.1108, 0.104, 0.09497, 0.08868, 0.08528, 0.08412, 0.08423, 0.08411, 0.08598, 0.09402",\
                 "0.12, 0.1127, 0.103, 0.09544, 0.09089, 0.08897, 0.08866, 0.08873, 0.08961, 0.09893",\
                 "0.136, 0.1278, 0.1161, 0.1081, 0.1019, 0.09854, 0.09727, 0.09632, 0.09687, 0.1086",\
                 "0.159, 0.1496, 0.1361, 0.1255, 0.1188, 0.1138, 0.111, 0.1104, 0.1114, 0.1243",\
                 "0.1894, 0.179, 0.1631, 0.1505, 0.1408, 0.1351, 0.132, 0.1302, 0.1299, 0.1467",\
                 "0.2272, 0.2153, 0.1969, 0.1822, 0.1706, 0.162, 0.1578, 0.1556, 0.1559, 0.1823",\
                 "0.2719, 0.2587, 0.2373, 0.2211, 0.2064, 0.1956, 0.1885, 0.1856, 0.1886, 0.2308");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.191, 1.245, 1.378, 1.561, 1.787, 2.063, 2.401, 2.815, 3.316, 3.912",\
                 "1.202, 1.255, 1.389, 1.571, 1.797, 2.073, 2.412, 2.826, 3.327, 3.923",\
                 "1.23, 1.284, 1.417, 1.6, 1.826, 2.102, 2.44, 2.855, 3.356, 3.952",\
                 "1.277, 1.331, 1.465, 1.647, 1.873, 2.149, 2.488, 2.902, 3.403, 3.999",\
                 "1.346, 1.4, 1.534, 1.716, 1.942, 2.218, 2.557, 2.971, 3.472, 4.068",\
                 "1.413, 1.467, 1.601, 1.783, 2.01, 2.286, 2.624, 3.038, 3.539, 4.135",\
                 "1.465, 1.519, 1.653, 1.836, 2.062, 2.338, 2.677, 3.091, 3.592, 4.187",\
                 "1.493, 1.547, 1.681, 1.865, 2.091, 2.367, 2.706, 3.12, 3.621, 4.216",\
                 "1.496, 1.551, 1.685, 1.868, 2.094, 2.37, 2.708, 3.122, 3.623, 4.219",\
                 "1.475, 1.529, 1.663, 1.845, 2.07, 2.344, 2.681, 3.095, 3.596, 4.191");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.378, 1.431, 1.578, 1.816, 2.165, 2.651, 3.291, 4.098, 5.083, 6.259",\
                 "1.391, 1.444, 1.591, 1.829, 2.178, 2.664, 3.304, 4.111, 5.097, 6.273",\
                 "1.431, 1.484, 1.631, 1.869, 2.218, 2.704, 3.344, 4.15, 5.136, 6.31",\
                 "1.507, 1.56, 1.708, 1.946, 2.294, 2.78, 3.42, 4.227, 5.212, 6.389",\
                 "1.643, 1.695, 1.843, 2.081, 2.43, 2.915, 3.555, 4.362, 5.347, 6.521",\
                 "1.838, 1.891, 2.039, 2.277, 2.625, 3.111, 3.751, 4.558, 5.543, 6.718",\
                 "2.084, 2.137, 2.285, 2.523, 2.871, 3.357, 3.997, 4.803, 5.789, 6.965",\
                 "2.375, 2.428, 2.577, 2.815, 3.163, 3.648, 4.287, 5.094, 6.079, 7.255",\
                 "2.705, 2.759, 2.909, 3.146, 3.494, 3.979, 4.618, 5.424, 6.408, 7.584",\
                 "3.072, 3.127, 3.276, 3.514, 3.862, 4.346, 4.984, 5.79, 6.774, 7.948");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.19, 0.2404, 0.3642, 0.551, 0.8132, 1.185, 1.69, 2.351, 3.178, 4.174",\
                 "0.19, 0.2402, 0.3642, 0.552, 0.8138, 1.185, 1.69, 2.351, 3.178, 4.174",\
                 "0.1906, 0.2402, 0.3644, 0.552, 0.8138, 1.185, 1.69, 2.351, 3.178, 4.174",\
                 "0.19, 0.2416, 0.3642, 0.5518, 0.8138, 1.185, 1.69, 2.351, 3.177, 4.174",\
                 "0.1902, 0.24, 0.364, 0.5512, 0.8136, 1.184, 1.689, 2.352, 3.179, 4.174",\
                 "0.1912, 0.2414, 0.3648, 0.552, 0.8142, 1.185, 1.689, 2.35, 3.177, 4.172",\
                 "0.1934, 0.2432, 0.3674, 0.5534, 0.8148, 1.184, 1.688, 2.35, 3.175, 4.174",\
                 "0.1948, 0.2458, 0.3688, 0.5546, 0.8174, 1.185, 1.691, 2.348, 3.172, 4.169",\
                 "0.197, 0.2462, 0.3696, 0.5548, 0.816, 1.186, 1.691, 2.348, 3.174, 4.166",\
                 "0.1986, 0.2484, 0.3694, 0.5534, 0.8132, 1.18, 1.688, 2.346, 3.174, 4.169");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1546, 0.2154, 0.4118, 0.772, 1.36, 2.21, 3.343, 4.772, 6.511, 8.582",\
                 "0.1542, 0.2146, 0.4126, 0.7724, 1.36, 2.211, 3.344, 4.768, 6.505, 8.579",\
                 "0.155, 0.2144, 0.412, 0.772, 1.36, 2.212, 3.343, 4.772, 6.506, 8.573",\
                 "0.1548, 0.2152, 0.4128, 0.7716, 1.36, 2.213, 3.344, 4.765, 6.502, 8.579",\
                 "0.155, 0.216, 0.4126, 0.7722, 1.361, 2.211, 3.343, 4.772, 6.511, 8.576",\
                 "0.1562, 0.2166, 0.4132, 0.7726, 1.361, 2.212, 3.344, 4.765, 6.503, 8.578",\
                 "0.158, 0.218, 0.415, 0.774, 1.362, 2.214, 3.344, 4.767, 6.505, 8.579",\
                 "0.1618, 0.2212, 0.4174, 0.7766, 1.362, 2.212, 3.342, 4.77, 6.513, 8.577",\
                 "0.1658, 0.2258, 0.4206, 0.7776, 1.364, 2.211, 3.339, 4.762, 6.502, 8.577",\
                 "0.1718, 0.2292, 0.4236, 0.7792, 1.365, 2.213, 3.34, 4.762, 6.5, 8.574");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.169, 1.224, 1.361, 1.551, 1.787, 2.072, 2.416, 2.834, 3.337, 3.933",\
                 "1.175, 1.23, 1.369, 1.56, 1.796, 2.081, 2.426, 2.843, 3.346, 3.942",\
                 "1.196, 1.252, 1.391, 1.582, 1.819, 2.104, 2.449, 2.866, 3.369, 3.965",\
                 "1.243, 1.298, 1.438, 1.629, 1.866, 2.151, 2.496, 2.914, 3.416, 4.012",\
                 "1.315, 1.37, 1.509, 1.7, 1.937, 2.222, 2.567, 2.985, 3.487, 4.083",\
                 "1.385, 1.44, 1.58, 1.771, 2.008, 2.293, 2.638, 3.056, 3.558, 4.154",\
                 "1.439, 1.495, 1.634, 1.826, 2.063, 2.348, 2.693, 3.111, 3.613, 4.209",\
                 "1.47, 1.526, 1.665, 1.858, 2.094, 2.38, 2.725, 3.143, 3.645, 4.241",\
                 "1.474, 1.53, 1.669, 1.861, 2.097, 2.382, 2.727, 3.145, 3.648, 4.244",\
                 "1.451, 1.507, 1.647, 1.838, 2.073, 2.357, 2.7, 3.117, 3.619, 4.216");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.382, 1.433, 1.577, 1.812, 2.16, 2.646, 3.287, 4.094, 5.08, 6.256",\
                 "1.398, 1.449, 1.593, 1.828, 2.176, 2.662, 3.303, 4.11, 5.096, 6.271",\
                 "1.446, 1.498, 1.642, 1.877, 2.225, 2.711, 3.352, 4.158, 5.144, 6.321",\
                 "1.526, 1.577, 1.721, 1.956, 2.304, 2.79, 3.431, 4.237, 5.224, 6.398",\
                 "1.655, 1.706, 1.85, 2.085, 2.433, 2.919, 3.56, 4.367, 5.353, 6.528",\
                 "1.842, 1.893, 2.037, 2.272, 2.62, 3.106, 3.746, 4.553, 5.539, 6.716",\
                 "2.078, 2.13, 2.275, 2.51, 2.857, 3.343, 3.983, 4.79, 5.776, 6.95",\
                 "2.364, 2.416, 2.561, 2.795, 3.143, 3.628, 4.268, 5.075, 6.06, 7.235",\
                 "2.69, 2.743, 2.888, 3.123, 3.47, 3.955, 4.594, 5.4, 6.385, 7.56",\
                 "3.053, 3.107, 3.252, 3.487, 3.833, 4.318, 4.957, 5.764, 6.748, 7.922");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1896, 0.2418, 0.3748, 0.5726, 0.8424, 1.212, 1.714, 2.365, 3.185, 4.176",\
                 "0.19, 0.2446, 0.378, 0.5732, 0.843, 1.212, 1.714, 2.365, 3.186, 4.174",\
                 "0.1904, 0.2452, 0.3794, 0.5754, 0.8448, 1.215, 1.712, 2.366, 3.186, 4.173",\
                 "0.1908, 0.2464, 0.379, 0.5754, 0.8446, 1.213, 1.714, 2.365, 3.182, 4.177",\
                 "0.1902, 0.2452, 0.3798, 0.5756, 0.8452, 1.214, 1.715, 2.364, 3.185, 4.177",\
                 "0.1914, 0.2468, 0.3808, 0.576, 0.8454, 1.215, 1.714, 2.365, 3.185, 4.177",\
                 "0.1936, 0.2482, 0.383, 0.578, 0.8466, 1.213, 1.712, 2.366, 3.186, 4.176",\
                 "0.1958, 0.2514, 0.3846, 0.579, 0.8478, 1.216, 1.714, 2.363, 3.18, 4.17",\
                 "0.1972, 0.2516, 0.3846, 0.5784, 0.848, 1.215, 1.714, 2.366, 3.181, 4.169",\
                 "0.1988, 0.2534, 0.3848, 0.5774, 0.8432, 1.21, 1.711, 2.363, 3.183, 4.171");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1492, 0.2084, 0.4038, 0.7654, 1.359, 2.212, 3.344, 4.772, 6.505, 8.58",\
                 "0.1496, 0.2084, 0.4038, 0.7654, 1.358, 2.212, 3.339, 4.771, 6.503, 8.575",\
                 "0.1502, 0.2084, 0.4044, 0.7656, 1.36, 2.212, 3.339, 4.772, 6.514, 8.579",\
                 "0.1488, 0.2086, 0.4038, 0.7654, 1.358, 2.212, 3.343, 4.772, 6.506, 8.573",\
                 "0.1502, 0.2088, 0.4038, 0.7654, 1.36, 2.214, 3.34, 4.771, 6.503, 8.58",\
                 "0.1498, 0.2092, 0.4048, 0.7656, 1.36, 2.213, 3.341, 4.765, 6.504, 8.575",\
                 "0.1526, 0.2114, 0.406, 0.7668, 1.359, 2.213, 3.341, 4.771, 6.502, 8.573",\
                 "0.1562, 0.2134, 0.408, 0.7698, 1.361, 2.212, 3.344, 4.77, 6.515, 8.574",\
                 "0.1588, 0.2172, 0.4114, 0.7704, 1.36, 2.213, 3.339, 4.763, 6.508, 8.583",\
                 "0.1652, 0.221, 0.415, 0.7718, 1.363, 2.213, 3.341, 4.762, 6.5, 8.588");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.169, 1.224, 1.361, 1.551, 1.787, 2.072, 2.416, 2.834, 3.337, 3.933",\
                 "1.175, 1.23, 1.369, 1.56, 1.796, 2.081, 2.426, 2.843, 3.346, 3.942",\
                 "1.196, 1.252, 1.391, 1.582, 1.819, 2.104, 2.449, 2.866, 3.369, 3.965",\
                 "1.243, 1.298, 1.438, 1.629, 1.866, 2.151, 2.496, 2.914, 3.416, 4.012",\
                 "1.315, 1.37, 1.509, 1.7, 1.937, 2.222, 2.567, 2.985, 3.487, 4.083",\
                 "1.385, 1.44, 1.58, 1.771, 2.008, 2.293, 2.638, 3.056, 3.558, 4.154",\
                 "1.439, 1.495, 1.634, 1.826, 2.063, 2.348, 2.693, 3.111, 3.613, 4.209",\
                 "1.47, 1.526, 1.665, 1.858, 2.094, 2.38, 2.725, 3.143, 3.645, 4.241",\
                 "1.474, 1.53, 1.669, 1.861, 2.097, 2.382, 2.727, 3.145, 3.648, 4.244",\
                 "1.451, 1.507, 1.647, 1.838, 2.073, 2.357, 2.7, 3.117, 3.619, 4.216");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.378, 1.431, 1.578, 1.816, 2.165, 2.651, 3.291, 4.098, 5.083, 6.259",\
                 "1.391, 1.444, 1.591, 1.829, 2.178, 2.664, 3.304, 4.111, 5.097, 6.273",\
                 "1.431, 1.484, 1.631, 1.869, 2.218, 2.704, 3.344, 4.15, 5.136, 6.31",\
                 "1.507, 1.56, 1.708, 1.946, 2.294, 2.78, 3.42, 4.227, 5.212, 6.389",\
                 "1.643, 1.695, 1.843, 2.081, 2.43, 2.915, 3.555, 4.362, 5.347, 6.521",\
                 "1.838, 1.891, 2.039, 2.277, 2.625, 3.111, 3.751, 4.558, 5.543, 6.718",\
                 "2.084, 2.137, 2.285, 2.523, 2.871, 3.357, 3.997, 4.803, 5.789, 6.965",\
                 "2.375, 2.428, 2.577, 2.815, 3.163, 3.648, 4.287, 5.094, 6.079, 7.255",\
                 "2.705, 2.759, 2.909, 3.146, 3.494, 3.979, 4.618, 5.424, 6.408, 7.584",\
                 "3.072, 3.127, 3.276, 3.514, 3.862, 4.346, 4.984, 5.79, 6.774, 7.948");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1896, 0.2418, 0.3748, 0.5726, 0.8424, 1.212, 1.714, 2.365, 3.185, 4.176",\
                 "0.19, 0.2446, 0.378, 0.5732, 0.843, 1.212, 1.714, 2.365, 3.186, 4.174",\
                 "0.1904, 0.2452, 0.3794, 0.5754, 0.8448, 1.215, 1.712, 2.366, 3.186, 4.173",\
                 "0.1908, 0.2464, 0.379, 0.5754, 0.8446, 1.213, 1.714, 2.365, 3.182, 4.177",\
                 "0.1902, 0.2452, 0.3798, 0.5756, 0.8452, 1.214, 1.715, 2.364, 3.185, 4.177",\
                 "0.1914, 0.2468, 0.3808, 0.576, 0.8454, 1.215, 1.714, 2.365, 3.185, 4.177",\
                 "0.1936, 0.2482, 0.383, 0.578, 0.8466, 1.213, 1.712, 2.366, 3.186, 4.176",\
                 "0.1958, 0.2514, 0.3846, 0.579, 0.8478, 1.216, 1.714, 2.363, 3.18, 4.17",\
                 "0.1972, 0.2516, 0.3846, 0.5784, 0.848, 1.215, 1.714, 2.366, 3.181, 4.169",\
                 "0.1988, 0.2534, 0.3848, 0.5774, 0.8432, 1.21, 1.711, 2.363, 3.183, 4.171");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1492, 0.2084, 0.4038, 0.7654, 1.359, 2.212, 3.344, 4.772, 6.505, 8.58",\
                 "0.1496, 0.2084, 0.4038, 0.7654, 1.358, 2.212, 3.339, 4.771, 6.503, 8.575",\
                 "0.1502, 0.2084, 0.4044, 0.7656, 1.36, 2.212, 3.339, 4.772, 6.514, 8.579",\
                 "0.1488, 0.2086, 0.4038, 0.7654, 1.358, 2.212, 3.343, 4.772, 6.506, 8.573",\
                 "0.1502, 0.2088, 0.4038, 0.7654, 1.36, 2.214, 3.34, 4.771, 6.503, 8.58",\
                 "0.1498, 0.2092, 0.4048, 0.7656, 1.36, 2.213, 3.341, 4.765, 6.504, 8.575",\
                 "0.1526, 0.2114, 0.406, 0.7668, 1.359, 2.213, 3.341, 4.771, 6.502, 8.573",\
                 "0.1562, 0.2134, 0.408, 0.7698, 1.361, 2.212, 3.344, 4.77, 6.515, 8.574",\
                 "0.1588, 0.2172, 0.4114, 0.7704, 1.36, 2.213, 3.339, 4.763, 6.508, 8.583",\
                 "0.1652, 0.221, 0.415, 0.7718, 1.363, 2.213, 3.341, 4.762, 6.5, 8.588");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.033, 1.099, 1.261, 1.48, 1.743, 2.049, 2.41, 2.838, 3.346, 3.944",\
                 "1.044, 1.11, 1.273, 1.492, 1.754, 2.061, 2.421, 2.849, 3.357, 3.956",\
                 "1.077, 1.142, 1.305, 1.524, 1.787, 2.093, 2.453, 2.881, 3.389, 3.988",\
                 "1.128, 1.194, 1.356, 1.575, 1.838, 2.144, 2.505, 2.933, 3.441, 4.039",\
                 "1.232, 1.298, 1.46, 1.679, 1.941, 2.247, 2.608, 3.035, 3.543, 4.142",\
                 "1.403, 1.47, 1.635, 1.856, 2.119, 2.426, 2.787, 3.215, 3.722, 4.321",\
                 "1.645, 1.713, 1.881, 2.106, 2.373, 2.683, 3.046, 3.475, 3.983, 4.581",\
                 "1.953, 2.023, 2.196, 2.426, 2.698, 3.013, 3.378, 3.809, 4.317, 4.916",\
                 "2.312, 2.387, 2.567, 2.807, 3.087, 3.408, 3.779, 4.212, 4.722, 5.321",\
                 "2.719, 2.798, 2.987, 3.238, 3.531, 3.864, 4.243, 4.682, 5.195, 5.795");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.5094, 0.56, 0.7045, 0.9413, 1.292, 1.78, 2.423, 3.23, 4.217, 5.393",\
                 "0.5219, 0.5724, 0.717, 0.9536, 1.305, 1.793, 2.435, 3.243, 4.228, 5.404",\
                 "0.5532, 0.6039, 0.7483, 0.9849, 1.336, 1.824, 2.466, 3.274, 4.259, 5.435",\
                 "0.6022, 0.6527, 0.7967, 1.033, 1.383, 1.871, 2.512, 3.322, 4.307, 5.484",\
                 "0.6547, 0.707, 0.8535, 1.09, 1.44, 1.927, 2.568, 3.376, 4.361, 5.538",\
                 "0.689, 0.7435, 0.8937, 1.133, 1.482, 1.968, 2.608, 3.416, 4.4, 5.575",\
                 "0.6941, 0.7517, 0.9066, 1.151, 1.501, 1.986, 2.625, 3.431, 4.416, 5.59",\
                 "0.6629, 0.7243, 0.8854, 1.136, 1.49, 1.976, 2.613, 3.419, 4.403, 5.577",\
                 "0.5923, 0.6577, 0.8259, 1.083, 1.444, 1.935, 2.574, 3.379, 4.361, 5.534",\
                 "0.4791, 0.5489, 0.7256, 0.9915, 1.36, 1.856, 2.502, 3.309, 4.291, 5.463");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2647, 0.3288, 0.4772, 0.6816, 0.9518, 1.313, 1.798, 2.43, 3.232, 4.212",\
                 "0.2656, 0.329, 0.4772, 0.6818, 0.952, 1.313, 1.799, 2.431, 3.234, 4.213",\
                 "0.2642, 0.329, 0.478, 0.6814, 0.9518, 1.313, 1.798, 2.43, 3.232, 4.211",\
                 "0.2644, 0.3276, 0.4774, 0.6816, 0.952, 1.313, 1.798, 2.433, 3.231, 4.213",\
                 "0.2654, 0.3282, 0.478, 0.6832, 0.953, 1.314, 1.799, 2.433, 3.23, 4.212",\
                 "0.276, 0.3398, 0.4908, 0.6924, 0.96, 1.319, 1.801, 2.432, 3.233, 4.213",\
                 "0.289, 0.3544, 0.507, 0.7126, 0.9786, 1.333, 1.811, 2.438, 3.237, 4.21",\
                 "0.3124, 0.3786, 0.5346, 0.7402, 1.006, 1.356, 1.828, 2.45, 3.244, 4.219",\
                 "0.344, 0.4146, 0.5758, 0.7822, 1.046, 1.391, 1.855, 2.471, 3.256, 4.22",\
                 "0.3808, 0.4536, 0.6236, 0.84, 1.104, 1.448, 1.902, 2.505, 3.276, 4.233");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1383, 0.1994, 0.3974, 0.7629, 1.361, 2.216, 3.342, 4.773, 6.507, 8.581",\
                 "0.138, 0.1993, 0.3967, 0.7624, 1.361, 2.216, 3.344, 4.765, 6.51, 8.581",\
                 "0.138, 0.1994, 0.3967, 0.7636, 1.361, 2.213, 3.343, 4.765, 6.51, 8.579",\
                 "0.1387, 0.1996, 0.3976, 0.7628, 1.358, 2.215, 3.344, 4.767, 6.51, 8.582",\
                 "0.1498, 0.2098, 0.4076, 0.7686, 1.362, 2.216, 3.347, 4.766, 6.507, 8.581",\
                 "0.164, 0.224, 0.4226, 0.7794, 1.365, 2.216, 3.348, 4.768, 6.506, 8.578",\
                 "0.1842, 0.245, 0.441, 0.7968, 1.375, 2.218, 3.345, 4.766, 6.504, 8.578",\
                 "0.207, 0.2676, 0.466, 0.824, 1.394, 2.228, 3.348, 4.77, 6.515, 8.589",\
                 "0.2338, 0.2982, 0.4946, 0.8538, 1.423, 2.255, 3.362, 4.774, 6.506, 8.589",\
                 "0.2638, 0.33, 0.5254, 0.89, 1.46, 2.291, 3.397, 4.793, 6.516, 8.578");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.7162, 0.7713, 0.9073, 1.092, 1.32, 1.597, 1.936, 2.35, 2.851, 3.447",\
                 "0.7313, 0.7863, 0.9227, 1.108, 1.335, 1.612, 1.951, 2.366, 2.867, 3.463",\
                 "0.7827, 0.8378, 0.974, 1.159, 1.387, 1.664, 2.002, 2.417, 2.918, 3.514",\
                 "0.8635, 0.9186, 1.055, 1.239, 1.467, 1.744, 2.083, 2.497, 2.998, 3.594",\
                 "0.9893, 1.045, 1.182, 1.368, 1.596, 1.872, 2.211, 2.626, 3.127, 3.722",\
                 "1.16, 1.218, 1.36, 1.551, 1.784, 2.063, 2.402, 2.817, 3.318, 3.914",\
                 "1.383, 1.443, 1.59, 1.788, 2.026, 2.31, 2.653, 3.068, 3.569, 4.164",\
                 "1.649, 1.713, 1.869, 2.076, 2.323, 2.613, 2.959, 3.376, 3.877, 4.472",\
                 "1.956, 2.024, 2.189, 2.408, 2.666, 2.967, 3.319, 3.74, 4.242, 4.837",\
                 "2.303, 2.375, 2.549, 2.779, 3.051, 3.365, 3.729, 4.156, 4.662, 5.259");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.6814, 0.7377, 0.8935, 1.143, 1.499, 1.988, 2.63, 3.438, 4.425, 5.601",\
                 "0.6882, 0.7445, 0.9001, 1.15, 1.506, 1.995, 2.637, 3.446, 4.431, 5.606",\
                 "0.6987, 0.7549, 0.911, 1.16, 1.517, 2.005, 2.647, 3.455, 4.442, 5.616",\
                 "0.7177, 0.774, 0.9294, 1.179, 1.535, 2.024, 2.665, 3.473, 4.46, 5.634",\
                 "0.7473, 0.8046, 0.9614, 1.211, 1.566, 2.055, 2.696, 3.504, 4.49, 5.666",\
                 "0.7705, 0.8294, 0.9889, 1.241, 1.597, 2.085, 2.726, 3.533, 4.519, 5.694",\
                 "0.7784, 0.84, 1.003, 1.259, 1.618, 2.106, 2.745, 3.552, 4.538, 5.713",\
                 "0.7626, 0.8267, 0.9949, 1.258, 1.623, 2.112, 2.751, 3.557, 4.541, 5.716",\
                 "0.7175, 0.7846, 0.9593, 1.23, 1.603, 2.099, 2.741, 3.546, 4.53, 5.703",\
                 "0.64, 0.7103, 0.8912, 1.169, 1.551, 2.057, 2.707, 3.516, 4.499, 5.672");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1928, 0.2439, 0.3698, 0.5563, 0.8178, 1.186, 1.692, 2.351, 3.18, 4.175",\
                 "0.1934, 0.2452, 0.3696, 0.5556, 0.8182, 1.186, 1.692, 2.354, 3.179, 4.175",\
                 "0.193, 0.2454, 0.3704, 0.5564, 0.8182, 1.186, 1.692, 2.353, 3.179, 4.175",\
                 "0.193, 0.244, 0.3696, 0.5568, 0.818, 1.187, 1.69, 2.353, 3.179, 4.174",\
                 "0.2014, 0.2534, 0.3764, 0.5608, 0.8218, 1.189, 1.693, 2.354, 3.178, 4.175",\
                 "0.2166, 0.2704, 0.398, 0.5808, 0.8366, 1.198, 1.696, 2.356, 3.179, 4.176",\
                 "0.2374, 0.294, 0.425, 0.6094, 0.8644, 1.218, 1.71, 2.361, 3.184, 4.176",\
                 "0.2676, 0.3264, 0.4628, 0.6492, 0.901, 1.248, 1.732, 2.373, 3.186, 4.176",\
                 "0.2996, 0.3628, 0.5072, 0.6974, 0.9526, 1.295, 1.766, 2.396, 3.198, 4.179",\
                 "0.334, 0.4006, 0.5536, 0.7528, 1.013, 1.358, 1.821, 2.435, 3.224, 4.194");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1695, 0.2324, 0.4375, 0.8019, 1.385, 2.229, 3.356, 4.783, 6.527, 8.59",\
                 "0.1697, 0.2328, 0.4377, 0.8032, 1.384, 2.225, 3.353, 4.775, 6.521, 8.587",\
                 "0.1697, 0.2328, 0.4388, 0.8024, 1.385, 2.229, 3.352, 4.783, 6.524, 8.584",\
                 "0.1702, 0.2328, 0.438, 0.8018, 1.384, 2.227, 3.356, 4.779, 6.517, 8.594",\
                 "0.1764, 0.239, 0.4432, 0.8054, 1.383, 2.23, 3.354, 4.777, 6.525, 8.589",\
                 "0.188, 0.25, 0.4544, 0.8162, 1.389, 2.23, 3.352, 4.777, 6.517, 8.6",\
                 "0.2026, 0.2658, 0.4704, 0.8326, 1.401, 2.233, 3.359, 4.777, 6.518, 8.59",\
                 "0.2208, 0.2858, 0.4926, 0.859, 1.424, 2.247, 3.361, 4.779, 6.515, 8.587",\
                 "0.2404, 0.308, 0.5156, 0.8906, 1.458, 2.276, 3.377, 4.787, 6.517, 8.604",\
                 "0.2638, 0.3344, 0.542, 0.923, 1.502, 2.322, 3.414, 4.805, 6.526, 8.588");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.033, 1.099, 1.261, 1.48, 1.743, 2.049, 2.41, 2.838, 3.346, 3.944",\
                 "1.044, 1.11, 1.273, 1.492, 1.754, 2.061, 2.421, 2.849, 3.357, 3.956",\
                 "1.077, 1.142, 1.305, 1.524, 1.787, 2.093, 2.453, 2.881, 3.389, 3.988",\
                 "1.128, 1.194, 1.356, 1.575, 1.838, 2.144, 2.505, 2.933, 3.441, 4.039",\
                 "1.232, 1.298, 1.46, 1.679, 1.941, 2.247, 2.608, 3.035, 3.543, 4.142",\
                 "1.403, 1.47, 1.635, 1.856, 2.119, 2.426, 2.787, 3.215, 3.722, 4.321",\
                 "1.645, 1.713, 1.881, 2.106, 2.373, 2.683, 3.046, 3.475, 3.983, 4.581",\
                 "1.953, 2.023, 2.196, 2.426, 2.698, 3.013, 3.378, 3.809, 4.317, 4.916",\
                 "2.312, 2.387, 2.567, 2.807, 3.087, 3.408, 3.779, 4.212, 4.722, 5.321",\
                 "2.719, 2.798, 2.987, 3.238, 3.531, 3.864, 4.243, 4.682, 5.195, 5.795");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.6814, 0.7377, 0.8935, 1.143, 1.499, 1.988, 2.63, 3.438, 4.425, 5.601",\
                 "0.6882, 0.7445, 0.9001, 1.15, 1.506, 1.995, 2.637, 3.446, 4.431, 5.606",\
                 "0.6987, 0.7549, 0.911, 1.16, 1.517, 2.005, 2.647, 3.455, 4.442, 5.616",\
                 "0.7177, 0.774, 0.9294, 1.179, 1.535, 2.024, 2.665, 3.473, 4.46, 5.634",\
                 "0.7473, 0.8046, 0.9614, 1.211, 1.566, 2.055, 2.696, 3.504, 4.49, 5.666",\
                 "0.7705, 0.8294, 0.9889, 1.241, 1.597, 2.085, 2.726, 3.533, 4.519, 5.694",\
                 "0.7784, 0.84, 1.003, 1.259, 1.618, 2.106, 2.745, 3.552, 4.538, 5.713",\
                 "0.7626, 0.8267, 0.9949, 1.258, 1.623, 2.112, 2.751, 3.557, 4.541, 5.716",\
                 "0.7175, 0.7846, 0.9593, 1.23, 1.603, 2.099, 2.741, 3.546, 4.53, 5.703",\
                 "0.64, 0.7103, 0.8912, 1.169, 1.551, 2.057, 2.707, 3.516, 4.499, 5.672");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2647, 0.3288, 0.4772, 0.6816, 0.9518, 1.313, 1.798, 2.43, 3.232, 4.212",\
                 "0.2656, 0.329, 0.4772, 0.6818, 0.952, 1.313, 1.799, 2.431, 3.234, 4.213",\
                 "0.2642, 0.329, 0.478, 0.6814, 0.9518, 1.313, 1.798, 2.43, 3.232, 4.211",\
                 "0.2644, 0.3276, 0.4774, 0.6816, 0.952, 1.313, 1.798, 2.433, 3.231, 4.213",\
                 "0.2654, 0.3282, 0.478, 0.6832, 0.953, 1.314, 1.799, 2.433, 3.23, 4.212",\
                 "0.276, 0.3398, 0.4908, 0.6924, 0.96, 1.319, 1.801, 2.432, 3.233, 4.213",\
                 "0.289, 0.3544, 0.507, 0.7126, 0.9786, 1.333, 1.811, 2.438, 3.237, 4.21",\
                 "0.3124, 0.3786, 0.5346, 0.7402, 1.006, 1.356, 1.828, 2.45, 3.244, 4.219",\
                 "0.344, 0.4146, 0.5758, 0.7822, 1.046, 1.391, 1.855, 2.471, 3.256, 4.22",\
                 "0.3808, 0.4536, 0.6236, 0.84, 1.104, 1.448, 1.902, 2.505, 3.276, 4.233");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1695, 0.2324, 0.4375, 0.8019, 1.385, 2.229, 3.356, 4.783, 6.527, 8.59",\
                 "0.1697, 0.2328, 0.4377, 0.8032, 1.384, 2.225, 3.353, 4.775, 6.521, 8.587",\
                 "0.1697, 0.2328, 0.4388, 0.8024, 1.385, 2.229, 3.352, 4.783, 6.524, 8.584",\
                 "0.1702, 0.2328, 0.438, 0.8018, 1.384, 2.227, 3.356, 4.779, 6.517, 8.594",\
                 "0.1764, 0.239, 0.4432, 0.8054, 1.383, 2.23, 3.354, 4.777, 6.525, 8.589",\
                 "0.188, 0.25, 0.4544, 0.8162, 1.389, 2.23, 3.352, 4.777, 6.517, 8.6",\
                 "0.2026, 0.2658, 0.4704, 0.8326, 1.401, 2.233, 3.359, 4.777, 6.518, 8.59",\
                 "0.2208, 0.2858, 0.4926, 0.859, 1.424, 2.247, 3.361, 4.779, 6.515, 8.587",\
                 "0.2404, 0.308, 0.5156, 0.8906, 1.458, 2.276, 3.377, 4.787, 6.517, 8.604",\
                 "0.2638, 0.3344, 0.542, 0.923, 1.502, 2.322, 3.414, 4.805, 6.526, 8.588");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.199, 1.255, 1.392, 1.578, 1.806, 2.083, 2.422, 2.837, 3.338, 3.934",\
                 "1.215, 1.27, 1.407, 1.593, 1.821, 2.098, 2.437, 2.852, 3.353, 3.949",\
                 "1.245, 1.301, 1.438, 1.624, 1.852, 2.129, 2.468, 2.883, 3.384, 3.98",\
                 "1.287, 1.343, 1.48, 1.666, 1.894, 2.171, 2.51, 2.924, 3.426, 4.021",\
                 "1.34, 1.396, 1.533, 1.718, 1.947, 2.224, 2.563, 2.978, 3.479, 4.075",\
                 "1.392, 1.448, 1.585, 1.77, 1.998, 2.274, 2.613, 3.028, 3.529, 4.125",\
                 "1.423, 1.479, 1.614, 1.798, 2.025, 2.301, 2.64, 3.055, 3.556, 4.152",\
                 "1.419, 1.474, 1.609, 1.792, 2.019, 2.296, 2.634, 3.049, 3.55, 4.146",\
                 "1.378, 1.433, 1.567, 1.75, 1.976, 2.252, 2.59, 3.005, 3.505, 4.101",\
                 "1.301, 1.356, 1.489, 1.671, 1.896, 2.17, 2.507, 2.92, 3.421, 4.017");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.377, 1.43, 1.578, 1.816, 2.165, 2.65, 3.291, 4.097, 5.083, 6.259",\
                 "1.389, 1.441, 1.589, 1.827, 2.176, 2.661, 3.302, 4.108, 5.094, 6.268",\
                 "1.436, 1.489, 1.637, 1.875, 2.224, 2.709, 3.35, 4.156, 5.142, 6.316",\
                 "1.548, 1.6, 1.748, 1.986, 2.335, 2.82, 3.46, 4.267, 5.253, 6.428",\
                 "1.74, 1.793, 1.94, 2.178, 2.527, 3.013, 3.653, 4.46, 5.445, 6.62",\
                 "2.011, 2.064, 2.211, 2.449, 2.798, 3.284, 3.924, 4.73, 5.716, 6.892",\
                 "2.335, 2.388, 2.536, 2.775, 3.123, 3.608, 4.247, 5.054, 6.04, 7.217",\
                 "2.712, 2.765, 2.913, 3.151, 3.5, 3.985, 4.624, 5.43, 6.416, 7.593",\
                 "3.142, 3.196, 3.345, 3.583, 3.931, 4.416, 5.054, 5.86, 6.845, 8.02",\
                 "3.625, 3.679, 3.829, 4.067, 4.415, 4.899, 5.538, 6.343, 7.328, 8.501");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1998, 0.2522, 0.3758, 0.5614, 0.822, 1.19, 1.693, 2.351, 3.18, 4.175",\
                 "0.1992, 0.252, 0.3762, 0.5616, 0.8224, 1.19, 1.693, 2.351, 3.176, 4.175",\
                 "0.1998, 0.251, 0.3758, 0.5616, 0.822, 1.19, 1.694, 2.354, 3.18, 4.175",\
                 "0.1992, 0.251, 0.3764, 0.5612, 0.8222, 1.191, 1.694, 2.354, 3.18, 4.175",\
                 "0.2, 0.2512, 0.3764, 0.5618, 0.8228, 1.191, 1.694, 2.351, 3.179, 4.173",\
                 "0.2002, 0.2504, 0.3748, 0.5596, 0.8202, 1.189, 1.692, 2.353, 3.179, 4.175",\
                 "0.2002, 0.2504, 0.3732, 0.558, 0.8196, 1.187, 1.691, 2.353, 3.18, 4.176",\
                 "0.199, 0.2492, 0.372, 0.5574, 0.8188, 1.186, 1.692, 2.35, 3.174, 4.171",\
                 "0.1988, 0.2488, 0.371, 0.5554, 0.818, 1.185, 1.69, 2.35, 3.174, 4.168",\
                 "0.2002, 0.25, 0.3708, 0.5524, 0.8122, 1.179, 1.686, 2.348, 3.173, 4.17");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1554, 0.2154, 0.4126, 0.7724, 1.361, 2.21, 3.344, 4.772, 6.502, 8.583",\
                 "0.1552, 0.2152, 0.4126, 0.7722, 1.36, 2.212, 3.342, 4.772, 6.508, 8.574",\
                 "0.155, 0.2152, 0.4124, 0.7722, 1.36, 2.212, 3.342, 4.772, 6.509, 8.574",\
                 "0.1552, 0.2158, 0.4122, 0.7722, 1.36, 2.213, 3.339, 4.771, 6.499, 8.576",\
                 "0.1558, 0.2154, 0.4124, 0.7724, 1.36, 2.213, 3.343, 4.772, 6.512, 8.575",\
                 "0.156, 0.2166, 0.4136, 0.7728, 1.36, 2.213, 3.344, 4.765, 6.501, 8.579",\
                 "0.1596, 0.218, 0.415, 0.7738, 1.361, 2.214, 3.342, 4.762, 6.504, 8.578",\
                 "0.1614, 0.221, 0.4174, 0.7764, 1.361, 2.211, 3.343, 4.768, 6.502, 8.575",\
                 "0.1652, 0.2244, 0.4212, 0.7776, 1.362, 2.212, 3.338, 4.761, 6.513, 8.576",\
                 "0.1716, 0.23, 0.4248, 0.7802, 1.364, 2.213, 3.342, 4.764, 6.502, 8.588");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.175, 1.23, 1.368, 1.558, 1.794, 2.079, 2.423, 2.841, 3.344, 3.94",\
                 "1.187, 1.242, 1.38, 1.57, 1.806, 2.09, 2.435, 2.853, 3.356, 3.952",\
                 "1.228, 1.282, 1.42, 1.61, 1.846, 2.131, 2.476, 2.894, 3.396, 3.992",\
                 "1.309, 1.364, 1.502, 1.692, 1.928, 2.213, 2.557, 2.975, 3.478, 4.074",\
                 "1.429, 1.484, 1.622, 1.812, 2.047, 2.332, 2.677, 3.095, 3.597, 4.194",\
                 "1.547, 1.601, 1.739, 1.929, 2.165, 2.449, 2.794, 3.212, 3.715, 4.311",\
                 "1.649, 1.704, 1.842, 2.032, 2.268, 2.552, 2.897, 3.315, 3.817, 4.414",\
                 "1.733, 1.788, 1.926, 2.117, 2.353, 2.638, 2.983, 3.4, 3.903, 4.499",\
                 "1.797, 1.852, 1.991, 2.181, 2.418, 2.703, 3.048, 3.466, 3.968, 4.564",\
                 "1.842, 1.897, 2.036, 2.227, 2.462, 2.746, 3.091, 3.508, 4.01, 4.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.385, 1.437, 1.583, 1.819, 2.168, 2.654, 3.295, 4.102, 5.088, 6.264",\
                 "1.402, 1.454, 1.6, 1.836, 2.185, 2.671, 3.312, 4.119, 5.105, 6.281",\
                 "1.448, 1.5, 1.646, 1.882, 2.231, 2.717, 3.358, 4.165, 5.151, 6.327",\
                 "1.524, 1.576, 1.722, 1.958, 2.306, 2.793, 3.433, 4.241, 5.227, 6.403",\
                 "1.647, 1.699, 1.844, 2.08, 2.429, 2.915, 3.556, 4.363, 5.349, 6.525",\
                 "1.818, 1.87, 2.016, 2.252, 2.6, 3.086, 3.727, 4.534, 5.52, 6.696",\
                 "2.034, 2.087, 2.232, 2.468, 2.816, 3.302, 3.942, 4.749, 5.734, 6.911",\
                 "2.288, 2.341, 2.486, 2.721, 3.069, 3.555, 4.195, 5.002, 5.987, 7.163",\
                 "2.571, 2.624, 2.77, 3.005, 3.352, 3.838, 4.477, 5.284, 6.269, 7.445",\
                 "2.882, 2.935, 3.081, 3.316, 3.663, 4.148, 4.787, 5.594, 6.58, 7.754");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1896, 0.2426, 0.375, 0.573, 0.8436, 1.215, 1.714, 2.365, 3.186, 4.177",\
                 "0.1892, 0.2424, 0.3754, 0.573, 0.843, 1.213, 1.714, 2.367, 3.186, 4.177",\
                 "0.1892, 0.2422, 0.3748, 0.5728, 0.843, 1.214, 1.714, 2.365, 3.185, 4.177",\
                 "0.1898, 0.2424, 0.3752, 0.5728, 0.8428, 1.212, 1.714, 2.367, 3.184, 4.177",\
                 "0.1894, 0.2422, 0.375, 0.5728, 0.8432, 1.213, 1.713, 2.365, 3.182, 4.177",\
                 "0.1898, 0.243, 0.3752, 0.5724, 0.8436, 1.213, 1.714, 2.365, 3.186, 4.176",\
                 "0.192, 0.2448, 0.3774, 0.574, 0.8434, 1.213, 1.713, 2.366, 3.184, 4.172",\
                 "0.1944, 0.2476, 0.3798, 0.5764, 0.8456, 1.215, 1.712, 2.363, 3.181, 4.171",\
                 "0.1974, 0.2498, 0.3814, 0.5778, 0.8462, 1.214, 1.712, 2.365, 3.179, 4.169",\
                 "0.1984, 0.2514, 0.383, 0.5766, 0.8446, 1.215, 1.711, 2.364, 3.18, 4.169");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1546, 0.2132, 0.409, 0.77, 1.361, 2.215, 3.346, 4.766, 6.504, 8.576",\
                 "0.1546, 0.2132, 0.409, 0.7704, 1.362, 2.216, 3.346, 4.766, 6.503, 8.577",\
                 "0.154, 0.2134, 0.409, 0.7702, 1.362, 2.217, 3.346, 4.767, 6.503, 8.577",\
                 "0.1536, 0.213, 0.4092, 0.7704, 1.364, 2.217, 3.342, 4.768, 6.504, 8.579",\
                 "0.1546, 0.2134, 0.4096, 0.7706, 1.364, 2.217, 3.343, 4.771, 6.5, 8.58",\
                 "0.1546, 0.2142, 0.4094, 0.7704, 1.361, 2.217, 3.346, 4.77, 6.503, 8.579",\
                 "0.1566, 0.2148, 0.4104, 0.7698, 1.361, 2.216, 3.342, 4.768, 6.517, 8.579",\
                 "0.1572, 0.2158, 0.4108, 0.7704, 1.362, 2.215, 3.34, 4.769, 6.516, 8.58",\
                 "0.1604, 0.2186, 0.4134, 0.7716, 1.363, 2.213, 3.342, 4.767, 6.51, 8.592",\
                 "0.1646, 0.2216, 0.4148, 0.7722, 1.363, 2.216, 3.343, 4.764, 6.504, 8.586");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.175, 1.23, 1.368, 1.558, 1.794, 2.079, 2.423, 2.841, 3.344, 3.94",\
                 "1.187, 1.242, 1.38, 1.57, 1.806, 2.09, 2.435, 2.853, 3.356, 3.952",\
                 "1.228, 1.282, 1.42, 1.61, 1.846, 2.131, 2.476, 2.894, 3.396, 3.992",\
                 "1.309, 1.364, 1.502, 1.692, 1.928, 2.213, 2.557, 2.975, 3.478, 4.074",\
                 "1.429, 1.484, 1.622, 1.812, 2.047, 2.332, 2.677, 3.095, 3.597, 4.194",\
                 "1.547, 1.601, 1.739, 1.929, 2.165, 2.449, 2.794, 3.212, 3.715, 4.311",\
                 "1.649, 1.704, 1.842, 2.032, 2.268, 2.552, 2.897, 3.315, 3.817, 4.414",\
                 "1.733, 1.788, 1.926, 2.117, 2.353, 2.638, 2.983, 3.4, 3.903, 4.499",\
                 "1.797, 1.852, 1.991, 2.181, 2.418, 2.703, 3.048, 3.466, 3.968, 4.564",\
                 "1.842, 1.897, 2.036, 2.227, 2.462, 2.746, 3.091, 3.508, 4.01, 4.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.377, 1.43, 1.578, 1.816, 2.165, 2.65, 3.291, 4.097, 5.083, 6.259",\
                 "1.389, 1.441, 1.589, 1.827, 2.176, 2.661, 3.302, 4.108, 5.094, 6.268",\
                 "1.436, 1.489, 1.637, 1.875, 2.224, 2.709, 3.35, 4.156, 5.142, 6.316",\
                 "1.548, 1.6, 1.748, 1.986, 2.335, 2.82, 3.46, 4.267, 5.253, 6.428",\
                 "1.74, 1.793, 1.94, 2.178, 2.527, 3.013, 3.653, 4.46, 5.445, 6.62",\
                 "2.011, 2.064, 2.211, 2.449, 2.798, 3.284, 3.924, 4.73, 5.716, 6.892",\
                 "2.335, 2.388, 2.536, 2.775, 3.123, 3.608, 4.247, 5.054, 6.04, 7.217",\
                 "2.712, 2.765, 2.913, 3.151, 3.5, 3.985, 4.624, 5.43, 6.416, 7.593",\
                 "3.142, 3.196, 3.345, 3.583, 3.931, 4.416, 5.054, 5.86, 6.845, 8.02",\
                 "3.625, 3.679, 3.829, 4.067, 4.415, 4.899, 5.538, 6.343, 7.328, 8.501");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1896, 0.2426, 0.375, 0.573, 0.8436, 1.215, 1.714, 2.365, 3.186, 4.177",\
                 "0.1892, 0.2424, 0.3754, 0.573, 0.843, 1.213, 1.714, 2.367, 3.186, 4.177",\
                 "0.1892, 0.2422, 0.3748, 0.5728, 0.843, 1.214, 1.714, 2.365, 3.185, 4.177",\
                 "0.1898, 0.2424, 0.3752, 0.5728, 0.8428, 1.212, 1.714, 2.367, 3.184, 4.177",\
                 "0.1894, 0.2422, 0.375, 0.5728, 0.8432, 1.213, 1.713, 2.365, 3.182, 4.177",\
                 "0.1898, 0.243, 0.3752, 0.5724, 0.8436, 1.213, 1.714, 2.365, 3.186, 4.176",\
                 "0.192, 0.2448, 0.3774, 0.574, 0.8434, 1.213, 1.713, 2.366, 3.184, 4.172",\
                 "0.1944, 0.2476, 0.3798, 0.5764, 0.8456, 1.215, 1.712, 2.363, 3.181, 4.171",\
                 "0.1974, 0.2498, 0.3814, 0.5778, 0.8462, 1.214, 1.712, 2.365, 3.179, 4.169",\
                 "0.1984, 0.2514, 0.383, 0.5766, 0.8446, 1.215, 1.711, 2.364, 3.18, 4.169");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1546, 0.2132, 0.409, 0.77, 1.361, 2.215, 3.346, 4.766, 6.504, 8.576",\
                 "0.1546, 0.2132, 0.409, 0.7704, 1.362, 2.216, 3.346, 4.766, 6.503, 8.577",\
                 "0.154, 0.2134, 0.409, 0.7702, 1.362, 2.217, 3.346, 4.767, 6.503, 8.577",\
                 "0.1536, 0.213, 0.4092, 0.7704, 1.364, 2.217, 3.342, 4.768, 6.504, 8.579",\
                 "0.1546, 0.2134, 0.4096, 0.7706, 1.364, 2.217, 3.343, 4.771, 6.5, 8.58",\
                 "0.1546, 0.2142, 0.4094, 0.7704, 1.361, 2.217, 3.346, 4.77, 6.503, 8.579",\
                 "0.1566, 0.2148, 0.4104, 0.7698, 1.361, 2.216, 3.342, 4.768, 6.517, 8.579",\
                 "0.1572, 0.2158, 0.4108, 0.7704, 1.362, 2.215, 3.34, 4.769, 6.516, 8.58",\
                 "0.1604, 0.2186, 0.4134, 0.7716, 1.363, 2.213, 3.342, 4.767, 6.51, 8.592",\
                 "0.1646, 0.2216, 0.4148, 0.7722, 1.363, 2.216, 3.343, 4.764, 6.504, 8.586");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.03, 1.096, 1.258, 1.478, 1.741, 2.047, 2.408, 2.836, 3.344, 3.943",\
                 "1.039, 1.105, 1.268, 1.486, 1.75, 2.056, 2.417, 2.845, 3.353, 3.952",\
                 "1.072, 1.138, 1.301, 1.52, 1.782, 2.089, 2.45, 2.878, 3.386, 3.985",\
                 "1.145, 1.211, 1.374, 1.593, 1.856, 2.162, 2.523, 2.951, 3.46, 4.058",\
                 "1.291, 1.357, 1.52, 1.739, 2.001, 2.307, 2.668, 3.097, 3.605, 4.204",\
                 "1.511, 1.578, 1.744, 1.966, 2.229, 2.537, 2.898, 3.327, 3.835, 4.433",\
                 "1.8, 1.869, 2.038, 2.265, 2.534, 2.846, 3.21, 3.639, 4.148, 4.746",\
                 "2.163, 2.234, 2.406, 2.637, 2.911, 3.226, 3.593, 4.025, 4.535, 5.134",\
                 "2.593, 2.666, 2.845, 3.082, 3.361, 3.681, 4.051, 4.484, 4.996, 5.596",\
                 "3.084, 3.16, 3.347, 3.594, 3.88, 4.208, 4.583, 5.019, 5.532, 6.133");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.4822, 0.5322, 0.6749, 0.9101, 1.26, 1.748, 2.389, 3.198, 4.185, 5.359",\
                 "0.4955, 0.5456, 0.6884, 0.9236, 1.273, 1.761, 2.402, 3.212, 4.198, 5.373",\
                 "0.5283, 0.5783, 0.721, 0.9561, 1.306, 1.794, 2.434, 3.243, 4.23, 5.407",\
                 "0.5768, 0.6266, 0.7692, 1.004, 1.353, 1.84, 2.482, 3.289, 4.274, 5.453",\
                 "0.6232, 0.675, 0.8204, 1.056, 1.405, 1.891, 2.533, 3.34, 4.324, 5.5",\
                 "0.6473, 0.7014, 0.8502, 1.089, 1.437, 1.923, 2.562, 3.37, 4.356, 5.531",\
                 "0.6365, 0.6936, 0.8479, 1.091, 1.44, 1.925, 2.563, 3.369, 4.354, 5.528",\
                 "0.5832, 0.644, 0.8037, 1.053, 1.407, 1.891, 2.529, 3.334, 4.318, 5.491",\
                 "0.4822, 0.5472, 0.7136, 0.9706, 1.33, 1.819, 2.457, 3.261, 4.244, 5.417",\
                 "0.3317, 0.4007, 0.5755, 0.8403, 1.205, 1.699, 2.344, 3.151, 4.134, 5.306");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2652, 0.3284, 0.4782, 0.6828, 0.9528, 1.314, 1.799, 2.431, 3.232, 4.214",\
                 "0.2662, 0.3294, 0.4782, 0.6828, 0.9528, 1.314, 1.799, 2.432, 3.234, 4.213",\
                 "0.2654, 0.3282, 0.4778, 0.683, 0.9534, 1.314, 1.799, 2.434, 3.231, 4.214",\
                 "0.2656, 0.3284, 0.4786, 0.6828, 0.953, 1.314, 1.799, 2.432, 3.235, 4.214",\
                 "0.2668, 0.33, 0.4798, 0.685, 0.955, 1.317, 1.8, 2.435, 3.233, 4.209",\
                 "0.2814, 0.3458, 0.4958, 0.6964, 0.9642, 1.322, 1.804, 2.434, 3.236, 4.212",\
                 "0.2938, 0.3598, 0.5138, 0.72, 0.9864, 1.339, 1.815, 2.442, 3.24, 4.215",\
                 "0.3118, 0.378, 0.5356, 0.742, 1.008, 1.361, 1.834, 2.458, 3.249, 4.217",\
                 "0.3376, 0.4068, 0.5666, 0.7734, 1.036, 1.386, 1.852, 2.473, 3.262, 4.228",\
                 "0.3694, 0.4414, 0.6068, 0.8176, 1.079, 1.423, 1.881, 2.494, 3.275, 4.238");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1336, 0.1946, 0.3921, 0.758, 1.357, 2.211, 3.342, 4.766, 6.506, 8.579",\
                 "0.1341, 0.195, 0.3921, 0.7579, 1.357, 2.211, 3.341, 4.766, 6.506, 8.58",\
                 "0.1341, 0.195, 0.3912, 0.7581, 1.358, 2.214, 3.341, 4.771, 6.506, 8.582",\
                 "0.1351, 0.196, 0.3932, 0.7586, 1.357, 2.21, 3.34, 4.769, 6.502, 8.58",\
                 "0.1462, 0.2068, 0.4034, 0.7642, 1.357, 2.211, 3.342, 4.767, 6.504, 8.577",\
                 "0.1612, 0.221, 0.4194, 0.7748, 1.361, 2.214, 3.339, 4.762, 6.506, 8.577",\
                 "0.1814, 0.2412, 0.4382, 0.7928, 1.372, 2.215, 3.343, 4.763, 6.5, 8.575",\
                 "0.2038, 0.2656, 0.462, 0.8176, 1.388, 2.226, 3.347, 4.766, 6.507, 8.576",\
                 "0.23, 0.2934, 0.491, 0.8488, 1.417, 2.248, 3.359, 4.771, 6.504, 8.577",\
                 "0.2584, 0.3234, 0.5192, 0.8784, 1.448, 2.28, 3.392, 4.794, 6.511, 8.577");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.683, 0.7365, 0.869, 1.051, 1.276, 1.552, 1.89, 2.304, 2.805, 3.401",\
                 "0.7003, 0.7537, 0.8863, 1.068, 1.293, 1.569, 1.907, 2.322, 2.822, 3.418",\
                 "0.7497, 0.8035, 0.9362, 1.118, 1.344, 1.619, 1.957, 2.371, 2.873, 3.469",\
                 "0.8285, 0.8819, 1.014, 1.196, 1.421, 1.697, 2.035, 2.449, 2.95, 3.546",\
                 "0.949, 1.004, 1.138, 1.32, 1.546, 1.822, 2.16, 2.574, 3.075, 3.671",\
                 "1.109, 1.165, 1.304, 1.493, 1.724, 2.002, 2.342, 2.756, 3.257, 3.852",\
                 "1.312, 1.371, 1.516, 1.711, 1.949, 2.232, 2.574, 2.989, 3.49, 4.086",\
                 "1.548, 1.611, 1.765, 1.971, 2.218, 2.508, 2.854, 3.271, 3.772, 4.368",\
                 "1.816, 1.883, 2.045, 2.263, 2.523, 2.824, 3.179, 3.599, 4.102, 4.697",\
                 "2.113, 2.184, 2.356, 2.586, 2.859, 3.175, 3.541, 3.971, 4.478, 5.075");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.6791, 0.7355, 0.8914, 1.141, 1.498, 1.987, 2.629, 3.438, 4.424, 5.599",\
                 "0.6862, 0.7426, 0.8984, 1.148, 1.505, 1.995, 2.637, 3.444, 4.431, 5.605",\
                 "0.7076, 0.7637, 0.92, 1.169, 1.526, 2.016, 2.658, 3.465, 4.453, 5.626",\
                 "0.7536, 0.8101, 0.966, 1.215, 1.572, 2.061, 2.703, 3.512, 4.499, 5.674",\
                 "0.8206, 0.878, 1.035, 1.286, 1.642, 2.131, 2.772, 3.581, 4.568, 5.744",\
                 "0.8878, 0.9467, 1.106, 1.357, 1.715, 2.204, 2.845, 3.653, 4.64, 5.816",\
                 "0.9458, 1.006, 1.168, 1.422, 1.78, 2.268, 2.909, 3.717, 4.702, 5.878",\
                 "0.9861, 1.049, 1.215, 1.473, 1.834, 2.322, 2.962, 3.769, 4.754, 5.928",\
                 "1.004, 1.071, 1.241, 1.506, 1.871, 2.362, 3.002, 3.808, 4.793, 5.967",\
                 "0.9976, 1.067, 1.245, 1.516, 1.888, 2.385, 3.029, 3.835, 4.819, 5.993");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1838, 0.2339, 0.3582, 0.5468, 0.8098, 1.182, 1.688, 2.351, 3.175, 4.174",\
                 "0.1842, 0.234, 0.3584, 0.5459, 0.81, 1.182, 1.689, 2.351, 3.178, 4.172",\
                 "0.1839, 0.2349, 0.3586, 0.5458, 0.8102, 1.181, 1.687, 2.35, 3.177, 4.174",\
                 "0.1842, 0.2344, 0.3584, 0.5462, 0.8104, 1.182, 1.688, 2.351, 3.178, 4.169",\
                 "0.194, 0.244, 0.3668, 0.5522, 0.8142, 1.184, 1.689, 2.352, 3.179, 4.174",\
                 "0.2096, 0.262, 0.3892, 0.5742, 0.8312, 1.194, 1.696, 2.354, 3.176, 4.175",\
                 "0.233, 0.2872, 0.4172, 0.6028, 0.8592, 1.216, 1.709, 2.361, 3.182, 4.175",\
                 "0.2646, 0.3216, 0.4572, 0.6454, 0.8998, 1.248, 1.732, 2.372, 3.186, 4.174",\
                 "0.2954, 0.3572, 0.5014, 0.6958, 0.9548, 1.3, 1.77, 2.398, 3.198, 4.179",\
                 "0.3304, 0.3974, 0.549, 0.7508, 1.016, 1.367, 1.83, 2.448, 3.227, 4.194");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1702, 0.2334, 0.4382, 0.8028, 1.386, 2.23, 3.357, 4.78, 6.522, 8.587",\
                 "0.1712, 0.2333, 0.439, 0.8042, 1.386, 2.23, 3.353, 4.782, 6.524, 8.586",\
                 "0.1703, 0.2332, 0.439, 0.8046, 1.386, 2.23, 3.356, 4.781, 6.526, 8.586",\
                 "0.1708, 0.2342, 0.4398, 0.8052, 1.386, 2.23, 3.357, 4.778, 6.528, 8.6",\
                 "0.1782, 0.2414, 0.446, 0.8084, 1.389, 2.232, 3.356, 4.779, 6.518, 8.589",\
                 "0.188, 0.251, 0.456, 0.819, 1.395, 2.234, 3.36, 4.787, 6.515, 8.589",\
                 "0.2022, 0.266, 0.4688, 0.8308, 1.403, 2.241, 3.367, 4.783, 6.522, 8.587",\
                 "0.2214, 0.2856, 0.4876, 0.8502, 1.416, 2.248, 3.367, 4.789, 6.527, 8.604",\
                 "0.2434, 0.3086, 0.5094, 0.8762, 1.441, 2.264, 3.377, 4.791, 6.528, 8.601",\
                 "0.2702, 0.3352, 0.535, 0.9074, 1.476, 2.297, 3.397, 4.804, 6.531, 8.598");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.03, 1.096, 1.258, 1.478, 1.741, 2.047, 2.408, 2.836, 3.344, 3.943",\
                 "1.039, 1.105, 1.268, 1.486, 1.75, 2.056, 2.417, 2.845, 3.353, 3.952",\
                 "1.072, 1.138, 1.301, 1.52, 1.782, 2.089, 2.45, 2.878, 3.386, 3.985",\
                 "1.145, 1.211, 1.374, 1.593, 1.856, 2.162, 2.523, 2.951, 3.46, 4.058",\
                 "1.291, 1.357, 1.52, 1.739, 2.001, 2.307, 2.668, 3.097, 3.605, 4.204",\
                 "1.511, 1.578, 1.744, 1.966, 2.229, 2.537, 2.898, 3.327, 3.835, 4.433",\
                 "1.8, 1.869, 2.038, 2.265, 2.534, 2.846, 3.21, 3.639, 4.148, 4.746",\
                 "2.163, 2.234, 2.406, 2.637, 2.911, 3.226, 3.593, 4.025, 4.535, 5.134",\
                 "2.593, 2.666, 2.845, 3.082, 3.361, 3.681, 4.051, 4.484, 4.996, 5.596",\
                 "3.084, 3.16, 3.347, 3.594, 3.88, 4.208, 4.583, 5.019, 5.532, 6.133");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.6791, 0.7355, 0.8914, 1.141, 1.498, 1.987, 2.629, 3.438, 4.424, 5.599",\
                 "0.6862, 0.7426, 0.8984, 1.148, 1.505, 1.995, 2.637, 3.444, 4.431, 5.605",\
                 "0.7076, 0.7637, 0.92, 1.169, 1.526, 2.016, 2.658, 3.465, 4.453, 5.626",\
                 "0.7536, 0.8101, 0.966, 1.215, 1.572, 2.061, 2.703, 3.512, 4.499, 5.674",\
                 "0.8206, 0.878, 1.035, 1.286, 1.642, 2.131, 2.772, 3.581, 4.568, 5.744",\
                 "0.8878, 0.9467, 1.106, 1.357, 1.715, 2.204, 2.845, 3.653, 4.64, 5.816",\
                 "0.9458, 1.006, 1.168, 1.422, 1.78, 2.268, 2.909, 3.717, 4.702, 5.878",\
                 "0.9861, 1.049, 1.215, 1.473, 1.834, 2.322, 2.962, 3.769, 4.754, 5.928",\
                 "1.004, 1.071, 1.241, 1.506, 1.871, 2.362, 3.002, 3.808, 4.793, 5.967",\
                 "0.9976, 1.067, 1.245, 1.516, 1.888, 2.385, 3.029, 3.835, 4.819, 5.993");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2652, 0.3284, 0.4782, 0.6828, 0.9528, 1.314, 1.799, 2.431, 3.232, 4.214",\
                 "0.2662, 0.3294, 0.4782, 0.6828, 0.9528, 1.314, 1.799, 2.432, 3.234, 4.213",\
                 "0.2654, 0.3282, 0.4778, 0.683, 0.9534, 1.314, 1.799, 2.434, 3.231, 4.214",\
                 "0.2656, 0.3284, 0.4786, 0.6828, 0.953, 1.314, 1.799, 2.432, 3.235, 4.214",\
                 "0.2668, 0.33, 0.4798, 0.685, 0.955, 1.317, 1.8, 2.435, 3.233, 4.209",\
                 "0.2814, 0.3458, 0.4958, 0.6964, 0.9642, 1.322, 1.804, 2.434, 3.236, 4.212",\
                 "0.2938, 0.3598, 0.5138, 0.72, 0.9864, 1.339, 1.815, 2.442, 3.24, 4.215",\
                 "0.3118, 0.378, 0.5356, 0.742, 1.008, 1.361, 1.834, 2.458, 3.249, 4.217",\
                 "0.3376, 0.4068, 0.5666, 0.7734, 1.036, 1.386, 1.852, 2.473, 3.262, 4.228",\
                 "0.3694, 0.4414, 0.6068, 0.8176, 1.079, 1.423, 1.881, 2.494, 3.275, 4.238");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1702, 0.2334, 0.4382, 0.8028, 1.386, 2.23, 3.357, 4.78, 6.522, 8.587",\
                 "0.1712, 0.2333, 0.439, 0.8042, 1.386, 2.23, 3.353, 4.782, 6.524, 8.586",\
                 "0.1703, 0.2332, 0.439, 0.8046, 1.386, 2.23, 3.356, 4.781, 6.526, 8.586",\
                 "0.1708, 0.2342, 0.4398, 0.8052, 1.386, 2.23, 3.357, 4.778, 6.528, 8.6",\
                 "0.1782, 0.2414, 0.446, 0.8084, 1.389, 2.232, 3.356, 4.779, 6.518, 8.589",\
                 "0.188, 0.251, 0.456, 0.819, 1.395, 2.234, 3.36, 4.787, 6.515, 8.589",\
                 "0.2022, 0.266, 0.4688, 0.8308, 1.403, 2.241, 3.367, 4.783, 6.522, 8.587",\
                 "0.2214, 0.2856, 0.4876, 0.8502, 1.416, 2.248, 3.367, 4.789, 6.527, 8.604",\
                 "0.2434, 0.3086, 0.5094, 0.8762, 1.441, 2.264, 3.377, 4.791, 6.528, 8.601",\
                 "0.2702, 0.3352, 0.535, 0.9074, 1.476, 2.297, 3.397, 4.804, 6.531, 8.598");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.165, 1.221, 1.358, 1.544, 1.773, 2.05, 2.389, 2.803, 3.304, 3.9",\
                 "1.178, 1.234, 1.371, 1.557, 1.785, 2.062, 2.402, 2.816, 3.317, 3.913",\
                 "1.221, 1.277, 1.414, 1.6, 1.828, 2.105, 2.444, 2.859, 3.36, 3.956",\
                 "1.3, 1.356, 1.493, 1.679, 1.907, 2.184, 2.523, 2.938, 3.439, 4.035",\
                 "1.399, 1.455, 1.592, 1.778, 2.006, 2.284, 2.623, 3.037, 3.538, 4.134",\
                 "1.493, 1.549, 1.684, 1.869, 2.098, 2.374, 2.714, 3.128, 3.63, 4.225",\
                 "1.569, 1.623, 1.755, 1.937, 2.164, 2.441, 2.782, 3.198, 3.699, 4.295",\
                 "1.614, 1.667, 1.798, 1.979, 2.206, 2.484, 2.824, 3.24, 3.743, 4.34",\
                 "1.628, 1.681, 1.811, 1.993, 2.219, 2.495, 2.835, 3.25, 3.753, 4.35",\
                 "1.613, 1.666, 1.796, 1.977, 2.201, 2.476, 2.815, 3.23, 3.732, 4.33");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.294, 1.346, 1.489, 1.725, 2.073, 2.559, 3.199, 4.006, 4.992, 6.168",\
                 "1.31, 1.361, 1.505, 1.74, 2.088, 2.574, 3.214, 4.022, 5.007, 6.182",\
                 "1.364, 1.415, 1.559, 1.794, 2.142, 2.628, 3.269, 4.075, 5.061, 6.236",\
                 "1.479, 1.53, 1.674, 1.91, 2.258, 2.744, 3.384, 4.192, 5.176, 6.351",\
                 "1.67, 1.721, 1.866, 2.1, 2.448, 2.935, 3.575, 4.382, 5.367, 6.542",\
                 "1.927, 1.979, 2.123, 2.358, 2.706, 3.192, 3.832, 4.639, 5.625, 6.801",\
                 "2.229, 2.281, 2.426, 2.66, 3.008, 3.495, 4.135, 4.941, 5.927, 7.104",\
                 "2.576, 2.628, 2.772, 3.008, 3.355, 3.841, 4.481, 5.288, 6.274, 7.451",\
                 "2.967, 3.019, 3.165, 3.401, 3.748, 4.233, 4.873, 5.679, 6.664, 7.84",\
                 "3.4, 3.453, 3.599, 3.835, 4.182, 4.667, 5.307, 6.113, 7.098, 8.272");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.199, 0.2512, 0.3758, 0.561, 0.8216, 1.188, 1.692, 2.353, 3.18, 4.174",\
                 "0.1994, 0.2512, 0.376, 0.5614, 0.823, 1.188, 1.694, 2.354, 3.179, 4.175",\
                 "0.1996, 0.2512, 0.3758, 0.5612, 0.8222, 1.191, 1.694, 2.353, 3.179, 4.175",\
                 "0.1994, 0.2512, 0.376, 0.5618, 0.8222, 1.19, 1.693, 2.352, 3.18, 4.175",\
                 "0.1994, 0.2522, 0.377, 0.562, 0.8228, 1.19, 1.693, 2.352, 3.178, 4.175",\
                 "0.1982, 0.2492, 0.3736, 0.5596, 0.823, 1.19, 1.694, 2.354, 3.179, 4.174",\
                 "0.1976, 0.2456, 0.3664, 0.555, 0.8198, 1.191, 1.697, 2.358, 3.182, 4.177",\
                 "0.1948, 0.2428, 0.3642, 0.5534, 0.8188, 1.189, 1.697, 2.358, 3.183, 4.177",\
                 "0.194, 0.2418, 0.3634, 0.5522, 0.8168, 1.189, 1.697, 2.359, 3.184, 4.178",\
                 "0.1944, 0.2438, 0.3626, 0.5494, 0.8116, 1.184, 1.691, 2.354, 3.181, 4.181");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1498, 0.2088, 0.4046, 0.7656, 1.36, 2.212, 3.344, 4.772, 6.503, 8.579",\
                 "0.1492, 0.2086, 0.4036, 0.7654, 1.36, 2.213, 3.342, 4.765, 6.501, 8.576",\
                 "0.1492, 0.2086, 0.4042, 0.766, 1.36, 2.211, 3.344, 4.772, 6.513, 8.577",\
                 "0.1498, 0.2086, 0.4046, 0.7654, 1.36, 2.214, 3.343, 4.766, 6.512, 8.577",\
                 "0.151, 0.209, 0.4044, 0.766, 1.36, 2.213, 3.342, 4.765, 6.51, 8.575",\
                 "0.1504, 0.2094, 0.4056, 0.766, 1.359, 2.213, 3.344, 4.766, 6.501, 8.577",\
                 "0.1528, 0.211, 0.4062, 0.767, 1.36, 2.214, 3.343, 4.771, 6.509, 8.576",\
                 "0.1542, 0.2142, 0.4082, 0.7688, 1.359, 2.212, 3.344, 4.765, 6.506, 8.574",\
                 "0.1584, 0.2176, 0.4118, 0.771, 1.363, 2.213, 3.341, 4.764, 6.499, 8.579",\
                 "0.164, 0.2216, 0.4152, 0.7732, 1.364, 2.216, 3.342, 4.764, 6.508, 8.576");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.147, 1.201, 1.334, 1.516, 1.743, 2.019, 2.357, 2.771, 3.272, 3.868",\
                 "1.16, 1.214, 1.347, 1.529, 1.755, 2.031, 2.37, 2.784, 3.285, 3.881",\
                 "1.202, 1.256, 1.39, 1.572, 1.798, 2.074, 2.413, 2.827, 3.328, 3.924",\
                 "1.282, 1.336, 1.47, 1.652, 1.878, 2.154, 2.493, 2.907, 3.408, 4.004",\
                 "1.385, 1.439, 1.573, 1.756, 1.982, 2.257, 2.596, 3.01, 3.511, 4.107",\
                 "1.484, 1.538, 1.671, 1.852, 2.078, 2.353, 2.692, 3.106, 3.607, 4.203",\
                 "1.566, 1.619, 1.749, 1.93, 2.155, 2.43, 2.769, 3.183, 3.684, 4.28",\
                 "1.619, 1.671, 1.801, 1.981, 2.207, 2.482, 2.82, 3.234, 3.735, 4.331",\
                 "1.639, 1.693, 1.822, 2.002, 2.227, 2.502, 2.84, 3.254, 3.755, 4.351",\
                 "1.631, 1.683, 1.813, 1.992, 2.216, 2.49, 2.827, 3.241, 3.742, 4.338");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.318, 1.37, 1.516, 1.752, 2.101, 2.587, 3.227, 4.034, 5.02, 6.197",\
                 "1.333, 1.386, 1.531, 1.767, 2.116, 2.603, 3.243, 4.05, 5.036, 6.212",\
                 "1.387, 1.44, 1.585, 1.821, 2.17, 2.657, 3.297, 4.104, 5.09, 6.266",\
                 "1.504, 1.556, 1.702, 1.938, 2.287, 2.773, 3.414, 4.221, 5.206, 6.383",\
                 "1.696, 1.748, 1.894, 2.13, 2.478, 2.964, 3.605, 4.412, 5.398, 6.574",\
                 "1.952, 2.004, 2.15, 2.386, 2.734, 3.221, 3.861, 4.668, 5.654, 6.83",\
                 "2.249, 2.301, 2.447, 2.684, 3.034, 3.52, 4.161, 4.968, 5.954, 7.129",\
                 "2.591, 2.644, 2.79, 3.027, 3.376, 3.863, 4.504, 5.312, 6.298, 7.472",\
                 "2.978, 3.031, 3.178, 3.414, 3.763, 4.25, 4.891, 5.699, 6.685, 7.86",\
                 "3.407, 3.46, 3.608, 3.844, 4.192, 4.678, 5.319, 6.127, 7.113, 8.288");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1906, 0.24, 0.3644, 0.5522, 0.8138, 1.185, 1.69, 2.351, 3.178, 4.174",\
                 "0.1906, 0.24, 0.3644, 0.552, 0.8138, 1.185, 1.69, 2.351, 3.178, 4.174",\
                 "0.1904, 0.2402, 0.3646, 0.552, 0.8138, 1.185, 1.69, 2.351, 3.178, 4.174",\
                 "0.1902, 0.2408, 0.3648, 0.5522, 0.8136, 1.185, 1.691, 2.349, 3.176, 4.174",\
                 "0.1906, 0.2412, 0.3644, 0.5524, 0.814, 1.185, 1.691, 2.349, 3.178, 4.174",\
                 "0.189, 0.239, 0.3608, 0.5484, 0.8126, 1.184, 1.69, 2.35, 3.177, 4.175",\
                 "0.1896, 0.2378, 0.3592, 0.5468, 0.8118, 1.182, 1.688, 2.351, 3.178, 4.173",\
                 "0.1886, 0.2366, 0.359, 0.5476, 0.8132, 1.182, 1.688, 2.348, 3.173, 4.17",\
                 "0.1898, 0.2374, 0.3578, 0.547, 0.8124, 1.182, 1.688, 2.348, 3.175, 4.167",\
                 "0.1904, 0.2388, 0.3584, 0.5444, 0.8076, 1.178, 1.686, 2.347, 3.173, 4.17");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1544, 0.2132, 0.4094, 0.7702, 1.364, 2.217, 3.345, 4.772, 6.517, 8.575",\
                 "0.1544, 0.2132, 0.4096, 0.7702, 1.363, 2.216, 3.346, 4.765, 6.506, 8.58",\
                 "0.1544, 0.213, 0.4098, 0.7698, 1.361, 2.216, 3.342, 4.768, 6.503, 8.576",\
                 "0.154, 0.2136, 0.4088, 0.7702, 1.363, 2.216, 3.346, 4.764, 6.502, 8.576",\
                 "0.1538, 0.2134, 0.4098, 0.7708, 1.362, 2.217, 3.346, 4.766, 6.504, 8.579",\
                 "0.1548, 0.2144, 0.4114, 0.7708, 1.362, 2.214, 3.346, 4.772, 6.503, 8.579",\
                 "0.157, 0.2164, 0.4116, 0.7736, 1.364, 2.218, 3.342, 4.773, 6.506, 8.579",\
                 "0.1586, 0.217, 0.4126, 0.7736, 1.365, 2.219, 3.349, 4.773, 6.504, 8.584",\
                 "0.1628, 0.2208, 0.4154, 0.7748, 1.368, 2.22, 3.348, 4.776, 6.51, 8.594",\
                 "0.1676, 0.2252, 0.419, 0.7772, 1.366, 2.22, 3.349, 4.774, 6.512, 8.59");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.147, 1.201, 1.334, 1.516, 1.743, 2.019, 2.357, 2.771, 3.272, 3.868",\
                 "1.16, 1.214, 1.347, 1.529, 1.755, 2.031, 2.37, 2.784, 3.285, 3.881",\
                 "1.202, 1.256, 1.39, 1.572, 1.798, 2.074, 2.413, 2.827, 3.328, 3.924",\
                 "1.282, 1.336, 1.47, 1.652, 1.878, 2.154, 2.493, 2.907, 3.408, 4.004",\
                 "1.385, 1.439, 1.573, 1.756, 1.982, 2.257, 2.596, 3.01, 3.511, 4.107",\
                 "1.484, 1.538, 1.671, 1.852, 2.078, 2.353, 2.692, 3.106, 3.607, 4.203",\
                 "1.566, 1.619, 1.749, 1.93, 2.155, 2.43, 2.769, 3.183, 3.684, 4.28",\
                 "1.619, 1.671, 1.801, 1.981, 2.207, 2.482, 2.82, 3.234, 3.735, 4.331",\
                 "1.639, 1.693, 1.822, 2.002, 2.227, 2.502, 2.84, 3.254, 3.755, 4.351",\
                 "1.631, 1.683, 1.813, 1.992, 2.216, 2.49, 2.827, 3.241, 3.742, 4.338");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("1.318, 1.37, 1.516, 1.752, 2.101, 2.587, 3.227, 4.034, 5.02, 6.197",\
                 "1.333, 1.386, 1.531, 1.767, 2.116, 2.603, 3.243, 4.05, 5.036, 6.212",\
                 "1.387, 1.44, 1.585, 1.821, 2.17, 2.657, 3.297, 4.104, 5.09, 6.266",\
                 "1.504, 1.556, 1.702, 1.938, 2.287, 2.773, 3.414, 4.221, 5.206, 6.383",\
                 "1.696, 1.748, 1.894, 2.13, 2.478, 2.964, 3.605, 4.412, 5.398, 6.574",\
                 "1.952, 2.004, 2.15, 2.386, 2.734, 3.221, 3.861, 4.668, 5.654, 6.83",\
                 "2.249, 2.301, 2.447, 2.684, 3.034, 3.52, 4.161, 4.968, 5.954, 7.129",\
                 "2.591, 2.644, 2.79, 3.027, 3.376, 3.863, 4.504, 5.312, 6.298, 7.472",\
                 "2.978, 3.031, 3.178, 3.414, 3.763, 4.25, 4.891, 5.699, 6.685, 7.86",\
                 "3.407, 3.46, 3.608, 3.844, 4.192, 4.678, 5.319, 6.127, 7.113, 8.288");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.199, 0.2512, 0.3758, 0.561, 0.8216, 1.188, 1.692, 2.353, 3.18, 4.174",\
                 "0.1994, 0.2512, 0.376, 0.5614, 0.823, 1.188, 1.694, 2.354, 3.179, 4.175",\
                 "0.1996, 0.2512, 0.3758, 0.5612, 0.8222, 1.191, 1.694, 2.353, 3.179, 4.175",\
                 "0.1994, 0.2512, 0.376, 0.5618, 0.8222, 1.19, 1.693, 2.352, 3.18, 4.175",\
                 "0.1994, 0.2522, 0.377, 0.562, 0.8228, 1.19, 1.693, 2.352, 3.178, 4.175",\
                 "0.1982, 0.2492, 0.3736, 0.5596, 0.823, 1.19, 1.694, 2.354, 3.179, 4.174",\
                 "0.1976, 0.2456, 0.3664, 0.555, 0.8198, 1.191, 1.697, 2.358, 3.182, 4.177",\
                 "0.1948, 0.2428, 0.3642, 0.5534, 0.8188, 1.189, 1.697, 2.358, 3.183, 4.177",\
                 "0.194, 0.2418, 0.3634, 0.5522, 0.8168, 1.189, 1.697, 2.359, 3.184, 4.178",\
                 "0.1944, 0.2438, 0.3626, 0.5494, 0.8116, 1.184, 1.691, 2.354, 3.181, 4.181");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1544, 0.2132, 0.4094, 0.7702, 1.364, 2.217, 3.345, 4.772, 6.517, 8.575",\
                 "0.1544, 0.2132, 0.4096, 0.7702, 1.363, 2.216, 3.346, 4.765, 6.506, 8.58",\
                 "0.1544, 0.213, 0.4098, 0.7698, 1.361, 2.216, 3.342, 4.768, 6.503, 8.576",\
                 "0.154, 0.2136, 0.4088, 0.7702, 1.363, 2.216, 3.346, 4.764, 6.502, 8.576",\
                 "0.1538, 0.2134, 0.4098, 0.7708, 1.362, 2.217, 3.346, 4.766, 6.504, 8.579",\
                 "0.1548, 0.2144, 0.4114, 0.7708, 1.362, 2.214, 3.346, 4.772, 6.503, 8.579",\
                 "0.157, 0.2164, 0.4116, 0.7736, 1.364, 2.218, 3.342, 4.773, 6.506, 8.579",\
                 "0.1586, 0.217, 0.4126, 0.7736, 1.365, 2.219, 3.349, 4.773, 6.504, 8.584",\
                 "0.1628, 0.2208, 0.4154, 0.7748, 1.368, 2.22, 3.348, 4.776, 6.51, 8.594",\
                 "0.1676, 0.2252, 0.419, 0.7772, 1.366, 2.22, 3.349, 4.774, 6.512, 8.59");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.9807, 1.047, 1.209, 1.428, 1.691, 1.998, 2.358, 2.786, 3.294, 3.893",\
                 "0.9874, 1.053, 1.216, 1.435, 1.698, 2.004, 2.365, 2.793, 3.301, 3.9",\
                 "1.022, 1.088, 1.25, 1.47, 1.732, 2.038, 2.399, 2.827, 3.335, 3.934",\
                 "1.124, 1.189, 1.352, 1.571, 1.834, 2.14, 2.5, 2.928, 3.436, 4.035",\
                 "1.318, 1.384, 1.546, 1.764, 2.027, 2.333, 2.693, 3.121, 3.629, 4.228",\
                 "1.606, 1.672, 1.835, 2.054, 2.316, 2.622, 2.982, 3.41, 3.918, 4.517",\
                 "1.959, 2.027, 2.195, 2.419, 2.684, 2.993, 3.354, 3.782, 4.29, 4.888",\
                 "2.378, 2.45, 2.623, 2.851, 3.12, 3.433, 3.797, 4.227, 4.735, 5.333",\
                 "2.871, 2.945, 3.125, 3.36, 3.633, 3.948, 4.314, 4.745, 5.255, 5.853",\
                 "3.436, 3.513, 3.7, 3.943, 4.224, 4.543, 4.911, 5.344, 5.854, 6.453");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.4699, 0.5211, 0.6667, 0.9047, 1.255, 1.743, 2.384, 3.191, 4.178, 5.354",\
                 "0.4844, 0.5354, 0.6811, 0.9191, 1.27, 1.757, 2.399, 3.205, 4.193, 5.37",\
                 "0.5133, 0.5645, 0.7102, 0.9482, 1.299, 1.786, 2.428, 3.235, 4.22, 5.397",\
                 "0.5517, 0.6031, 0.7491, 0.9868, 1.337, 1.824, 2.465, 3.273, 4.259, 5.434",\
                 "0.5802, 0.6342, 0.7843, 1.026, 1.377, 1.864, 2.505, 3.312, 4.297, 5.473",\
                 "0.5881, 0.6443, 0.7983, 1.042, 1.394, 1.882, 2.522, 3.329, 4.315, 5.49",\
                 "0.559, 0.6174, 0.7767, 1.026, 1.379, 1.865, 2.506, 3.312, 4.296, 5.471",\
                 "0.4831, 0.5448, 0.7091, 0.9653, 1.323, 1.81, 2.449, 3.255, 4.24, 5.413",\
                 "0.3546, 0.4201, 0.5905, 0.8539, 1.218, 1.709, 2.35, 3.154, 4.139, 5.313",\
                 "0.1701, 0.2399, 0.417, 0.687, 1.058, 1.555, 2.201, 3.01, 3.992, 5.166");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2659, 0.3279, 0.4778, 0.6822, 0.9522, 1.314, 1.798, 2.43, 3.233, 4.212",\
                 "0.265, 0.328, 0.4778, 0.6814, 0.9522, 1.313, 1.798, 2.43, 3.232, 4.212",\
                 "0.2642, 0.3272, 0.4776, 0.6808, 0.9518, 1.313, 1.798, 2.431, 3.234, 4.212",\
                 "0.2646, 0.3272, 0.4774, 0.6818, 0.9524, 1.313, 1.798, 2.43, 3.234, 4.211",\
                 "0.2634, 0.3264, 0.4772, 0.6816, 0.9522, 1.314, 1.798, 2.43, 3.23, 4.21",\
                 "0.2758, 0.338, 0.4862, 0.6886, 0.9584, 1.316, 1.801, 2.432, 3.231, 4.208",\
                 "0.3004, 0.3654, 0.5128, 0.7128, 0.9778, 1.33, 1.81, 2.439, 3.235, 4.209",\
                 "0.324, 0.3896, 0.5404, 0.7392, 1.002, 1.351, 1.825, 2.45, 3.242, 4.218",\
                 "0.3498, 0.4194, 0.5736, 0.7692, 1.027, 1.372, 1.841, 2.463, 3.252, 4.224",\
                 "0.382, 0.4548, 0.6154, 0.8128, 1.061, 1.399, 1.861, 2.475, 3.262, 4.234");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1376, 0.2, 0.3987, 0.7628, 1.359, 2.213, 3.34, 4.768, 6.51, 8.589",\
                 "0.1379, 0.2001, 0.3988, 0.7633, 1.357, 2.214, 3.339, 4.77, 6.506, 8.582",\
                 "0.1382, 0.2, 0.3987, 0.7639, 1.357, 2.21, 3.34, 4.765, 6.501, 8.584",\
                 "0.1428, 0.2033, 0.401, 0.765, 1.359, 2.212, 3.346, 4.767, 6.505, 8.581",\
                 "0.1542, 0.2154, 0.4154, 0.7752, 1.361, 2.214, 3.342, 4.762, 6.504, 8.582",\
                 "0.1676, 0.2292, 0.4302, 0.788, 1.37, 2.216, 3.341, 4.762, 6.505, 8.577",\
                 "0.1858, 0.248, 0.4516, 0.8058, 1.378, 2.223, 3.347, 4.769, 6.505, 8.576",\
                 "0.2098, 0.271, 0.4752, 0.8332, 1.4, 2.23, 3.351, 4.771, 6.51, 8.585",\
                 "0.2338, 0.2982, 0.501, 0.8626, 1.427, 2.254, 3.366, 4.777, 6.51, 8.581",\
                 "0.2634, 0.3286, 0.528, 0.8948, 1.459, 2.291, 3.395, 4.795, 6.518, 8.583");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.6427, 0.6969, 0.8329, 1.022, 1.257, 1.541, 1.886, 2.304, 2.806, 3.402",\
                 "0.6601, 0.7143, 0.8504, 1.04, 1.274, 1.559, 1.903, 2.321, 2.823, 3.42",\
                 "0.7062, 0.7601, 0.8966, 1.085, 1.32, 1.604, 1.949, 2.367, 2.869, 3.466",\
                 "0.7805, 0.8344, 0.9702, 1.159, 1.394, 1.678, 2.023, 2.44, 2.943, 3.539",\
                 "0.8925, 0.9467, 1.084, 1.275, 1.511, 1.796, 2.14, 2.558, 3.061, 3.657",\
                 "1.042, 1.096, 1.234, 1.429, 1.671, 1.961, 2.309, 2.728, 3.23, 3.827",\
                 "1.226, 1.283, 1.426, 1.624, 1.872, 2.168, 2.521, 2.943, 3.447, 4.043",\
                 "1.434, 1.496, 1.648, 1.854, 2.111, 2.415, 2.773, 3.198, 3.705, 4.303",\
                 "1.667, 1.733, 1.893, 2.11, 2.378, 2.694, 3.062, 3.494, 4.002, 4.601",\
                 "1.921, 1.991, 2.16, 2.388, 2.667, 2.998, 3.38, 3.824, 4.34, 4.941");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.6755, 0.7318, 0.8876, 1.137, 1.494, 1.983, 2.625, 3.433, 4.418, 5.595",\
                 "0.6857, 0.742, 0.8982, 1.147, 1.504, 1.993, 2.635, 3.443, 4.43, 5.603",\
                 "0.7214, 0.7777, 0.9337, 1.183, 1.539, 2.028, 2.67, 3.478, 4.464, 5.639",\
                 "0.7957, 0.8518, 1.008, 1.257, 1.613, 2.101, 2.743, 3.551, 4.538, 5.712",\
                 "0.9044, 0.9611, 1.117, 1.365, 1.72, 2.208, 2.848, 3.656, 4.642, 5.818",\
                 "1.007, 1.064, 1.222, 1.471, 1.827, 2.313, 2.953, 3.76, 4.747, 5.921",\
                 "1.099, 1.159, 1.318, 1.568, 1.923, 2.409, 3.049, 3.854, 4.84, 6.015",\
                 "1.178, 1.241, 1.404, 1.657, 2.013, 2.497, 3.135, 3.941, 4.925, 6.099",\
                 "1.24, 1.306, 1.474, 1.732, 2.091, 2.577, 3.214, 4.018, 5.002, 6.174",\
                 "1.284, 1.353, 1.528, 1.792, 2.156, 2.646, 3.285, 4.089, 5.071, 6.244");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1826, 0.235, 0.3681, 0.5661, 0.8388, 1.21, 1.712, 2.365, 3.185, 4.176",\
                 "0.1826, 0.2352, 0.3685, 0.5661, 0.8376, 1.21, 1.712, 2.364, 3.185, 4.176",\
                 "0.1826, 0.2362, 0.3683, 0.5666, 0.8382, 1.21, 1.711, 2.366, 3.185, 4.174",\
                 "0.1822, 0.235, 0.3674, 0.5664, 0.839, 1.21, 1.712, 2.364, 3.186, 4.177",\
                 "0.1886, 0.2428, 0.3774, 0.5746, 0.8448, 1.215, 1.714, 2.367, 3.183, 4.177",\
                 "0.2024, 0.2544, 0.3886, 0.5958, 0.8694, 1.233, 1.723, 2.372, 3.186, 4.175",\
                 "0.228, 0.2814, 0.4132, 0.6178, 0.8956, 1.26, 1.748, 2.389, 3.196, 4.18",\
                 "0.259, 0.3156, 0.4508, 0.6562, 0.937, 1.296, 1.776, 2.409, 3.211, 4.191",\
                 "0.2924, 0.3526, 0.4956, 0.7018, 0.99, 1.354, 1.824, 2.442, 3.232, 4.203",\
                 "0.3272, 0.3912, 0.5444, 0.753, 1.046, 1.424, 1.896, 2.504, 3.275, 4.226");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1697, 0.2332, 0.4388, 0.8033, 1.385, 2.229, 3.353, 4.783, 6.514, 8.59",\
                 "0.1697, 0.2335, 0.4384, 0.8036, 1.385, 2.229, 3.354, 4.783, 6.524, 8.585",\
                 "0.1707, 0.2328, 0.4384, 0.803, 1.384, 2.229, 3.355, 4.783, 6.522, 8.59",\
                 "0.1688, 0.233, 0.4378, 0.8012, 1.382, 2.226, 3.358, 4.784, 6.524, 8.588",\
                 "0.1754, 0.237, 0.441, 0.8048, 1.384, 2.228, 3.358, 4.781, 6.52, 8.59",\
                 "0.187, 0.2496, 0.4516, 0.8134, 1.391, 2.231, 3.357, 4.785, 6.514, 8.59",\
                 "0.2042, 0.2642, 0.464, 0.8232, 1.396, 2.235, 3.36, 4.782, 6.516, 8.59",\
                 "0.2244, 0.2866, 0.482, 0.8408, 1.408, 2.239, 3.361, 4.785, 6.52, 8.603",\
                 "0.2492, 0.311, 0.5052, 0.8636, 1.425, 2.253, 3.366, 4.785, 6.523, 8.588",\
                 "0.2756, 0.3392, 0.5312, 0.8904, 1.453, 2.278, 3.384, 4.792, 6.524, 8.594");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.9807, 1.047, 1.209, 1.428, 1.691, 1.998, 2.358, 2.786, 3.294, 3.893",\
                 "0.9874, 1.053, 1.216, 1.435, 1.698, 2.004, 2.365, 2.793, 3.301, 3.9",\
                 "1.022, 1.088, 1.25, 1.47, 1.732, 2.038, 2.399, 2.827, 3.335, 3.934",\
                 "1.124, 1.189, 1.352, 1.571, 1.834, 2.14, 2.5, 2.928, 3.436, 4.035",\
                 "1.318, 1.384, 1.546, 1.764, 2.027, 2.333, 2.693, 3.121, 3.629, 4.228",\
                 "1.606, 1.672, 1.835, 2.054, 2.316, 2.622, 2.982, 3.41, 3.918, 4.517",\
                 "1.959, 2.027, 2.195, 2.419, 2.684, 2.993, 3.354, 3.782, 4.29, 4.888",\
                 "2.378, 2.45, 2.623, 2.851, 3.12, 3.433, 3.797, 4.227, 4.735, 5.333",\
                 "2.871, 2.945, 3.125, 3.36, 3.633, 3.948, 4.314, 4.745, 5.255, 5.853",\
                 "3.436, 3.513, 3.7, 3.943, 4.224, 4.543, 4.911, 5.344, 5.854, 6.453");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.6755, 0.7318, 0.8876, 1.137, 1.494, 1.983, 2.625, 3.433, 4.418, 5.595",\
                 "0.6857, 0.742, 0.8982, 1.147, 1.504, 1.993, 2.635, 3.443, 4.43, 5.603",\
                 "0.7214, 0.7777, 0.9337, 1.183, 1.539, 2.028, 2.67, 3.478, 4.464, 5.639",\
                 "0.7957, 0.8518, 1.008, 1.257, 1.613, 2.101, 2.743, 3.551, 4.538, 5.712",\
                 "0.9044, 0.9611, 1.117, 1.365, 1.72, 2.208, 2.848, 3.656, 4.642, 5.818",\
                 "1.007, 1.064, 1.222, 1.471, 1.827, 2.313, 2.953, 3.76, 4.747, 5.921",\
                 "1.099, 1.159, 1.318, 1.568, 1.923, 2.409, 3.049, 3.854, 4.84, 6.015",\
                 "1.178, 1.241, 1.404, 1.657, 2.013, 2.497, 3.135, 3.941, 4.925, 6.099",\
                 "1.24, 1.306, 1.474, 1.732, 2.091, 2.577, 3.214, 4.018, 5.002, 6.174",\
                 "1.284, 1.353, 1.528, 1.792, 2.156, 2.646, 3.285, 4.089, 5.071, 6.244");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.2659, 0.3279, 0.4778, 0.6822, 0.9522, 1.314, 1.798, 2.43, 3.233, 4.212",\
                 "0.265, 0.328, 0.4778, 0.6814, 0.9522, 1.313, 1.798, 2.43, 3.232, 4.212",\
                 "0.2642, 0.3272, 0.4776, 0.6808, 0.9518, 1.313, 1.798, 2.431, 3.234, 4.212",\
                 "0.2646, 0.3272, 0.4774, 0.6818, 0.9524, 1.313, 1.798, 2.43, 3.234, 4.211",\
                 "0.2634, 0.3264, 0.4772, 0.6816, 0.9522, 1.314, 1.798, 2.43, 3.23, 4.21",\
                 "0.2758, 0.338, 0.4862, 0.6886, 0.9584, 1.316, 1.801, 2.432, 3.231, 4.208",\
                 "0.3004, 0.3654, 0.5128, 0.7128, 0.9778, 1.33, 1.81, 2.439, 3.235, 4.209",\
                 "0.324, 0.3896, 0.5404, 0.7392, 1.002, 1.351, 1.825, 2.45, 3.242, 4.218",\
                 "0.3498, 0.4194, 0.5736, 0.7692, 1.027, 1.372, 1.841, 2.463, 3.252, 4.224",\
                 "0.382, 0.4548, 0.6154, 0.8128, 1.061, 1.399, 1.861, 2.475, 3.262, 4.234");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005528, 0.02142, 0.05178, 0.09907, 0.1654, 0.2527, 0.3627, 0.497, 0.6571");
          values("0.1697, 0.2332, 0.4388, 0.8033, 1.385, 2.229, 3.353, 4.783, 6.514, 8.59",\
                 "0.1697, 0.2335, 0.4384, 0.8036, 1.385, 2.229, 3.354, 4.783, 6.524, 8.585",\
                 "0.1707, 0.2328, 0.4384, 0.803, 1.384, 2.229, 3.355, 4.783, 6.522, 8.59",\
                 "0.1688, 0.233, 0.4378, 0.8012, 1.382, 2.226, 3.358, 4.784, 6.524, 8.588",\
                 "0.1754, 0.237, 0.441, 0.8048, 1.384, 2.228, 3.358, 4.781, 6.52, 8.59",\
                 "0.187, 0.2496, 0.4516, 0.8134, 1.391, 2.231, 3.357, 4.785, 6.514, 8.59",\
                 "0.2042, 0.2642, 0.464, 0.8232, 1.396, 2.235, 3.36, 4.782, 6.516, 8.59",\
                 "0.2244, 0.2866, 0.482, 0.8408, 1.408, 2.239, 3.361, 4.785, 6.52, 8.603",\
                 "0.2492, 0.311, 0.5052, 0.8636, 1.425, 2.253, 3.366, 4.785, 6.523, 8.588",\
                 "0.2756, 0.3392, 0.5312, 0.8904, 1.453, 2.278, 3.384, 4.792, 6.524, 8.594");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__addf_4) {
    area : 96.588800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B&!CI" ;
      value : "0.0001932249" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B&CI" ;
      value : "0.0001832259" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B&!CI" ;
      value : "0.0001893012" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B&CI" ;
      value : "0.0001910106" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B&!CI" ;
      value : "0.0001870374" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B&CI" ;
      value : "0.0001892055" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B&!CI" ;
      value : "0.0001802229" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B&CI" ;
      value : "0.0001855293" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001932249" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A) {
      capacitance : 0.01172 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(B) {
      capacitance : 0.01142 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CI) {
      capacitance : 0.009256 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CO) {
      direction : output ;
      function : "((A&B)|(A&CI)|(B&CI))" ;
      max_capacitance : 1.43 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.408, 0.385, 0.3344, 0.285, 0.2521, 0.2312, 0.2181, 0.208, 0.2015, 0.1964",\
                 "0.408, 0.3849, 0.3339, 0.2848, 0.2509, 0.2309, 0.2176, 0.2082, 0.2013, 0.1964",\
                 "0.408, 0.384, 0.3338, 0.2843, 0.251, 0.2304, 0.2169, 0.2074, 0.2007, 0.1954",\
                 "0.4081, 0.3847, 0.3342, 0.2847, 0.2515, 0.2311, 0.2174, 0.2079, 0.2013, 0.1965",\
                 "0.4121, 0.3886, 0.3378, 0.2874, 0.2534, 0.2328, 0.2191, 0.2094, 0.2026, 0.1976",\
                 "0.4267, 0.4023, 0.3497, 0.2962, 0.2597, 0.2372, 0.2226, 0.2114, 0.2042, 0.1985",\
                 "0.4508, 0.4262, 0.3705, 0.3119, 0.2712, 0.2454, 0.2278, 0.2156, 0.207, 0.2007",\
                 "0.4835, 0.4572, 0.3987, 0.3337, 0.2872, 0.2565, 0.2365, 0.2218, 0.2114, 0.2043",\
                 "0.5251, 0.4983, 0.4356, 0.3636, 0.3094, 0.2743, 0.2496, 0.232, 0.2192, 0.2103",\
                 "0.5757, 0.5482, 0.4815, 0.4006, 0.3383, 0.2968, 0.2675, 0.2459, 0.23, 0.2192");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3086, 0.288, 0.2601, 0.2405, 0.2281, 0.2214, 0.2205, 0.2202, 0.2215, 0.2345",\
                 "0.3082, 0.2871, 0.2598, 0.2397, 0.2279, 0.2212, 0.2203, 0.2202, 0.2212, 0.2356",\
                 "0.3078, 0.2871, 0.2593, 0.2394, 0.2274, 0.2209, 0.2197, 0.219, 0.2196, 0.2359",\
                 "0.308, 0.2869, 0.2597, 0.2395, 0.2274, 0.2206, 0.2194, 0.2196, 0.221, 0.2377",\
                 "0.3152, 0.2939, 0.2651, 0.2432, 0.2288, 0.2212, 0.219, 0.2183, 0.2204, 0.2389",\
                 "0.3318, 0.3089, 0.2766, 0.2523, 0.2346, 0.2243, 0.2205, 0.2188, 0.2176, 0.2416",\
                 "0.3554, 0.3308, 0.2932, 0.2648, 0.244, 0.2303, 0.2245, 0.2207, 0.2204, 0.25",\
                 "0.3865, 0.3597, 0.3171, 0.2836, 0.2565, 0.24, 0.2319, 0.225, 0.2247, 0.2632",\
                 "0.4248, 0.3963, 0.3472, 0.3084, 0.2757, 0.2537, 0.2416, 0.2345, 0.2318, 0.2915",\
                 "0.4689, 0.439, 0.3833, 0.3373, 0.2993, 0.2717, 0.252, 0.2434, 0.2479, 0.3398");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3986, 0.376, 0.3259, 0.2794, 0.2481, 0.2293, 0.217, 0.2086, 0.2024, 0.1978",\
                 "0.3987, 0.3755, 0.3258, 0.2797, 0.2483, 0.2289, 0.2167, 0.208, 0.2019, 0.1975",\
                 "0.3982, 0.3752, 0.3257, 0.2794, 0.2477, 0.229, 0.2166, 0.2081, 0.2021, 0.1976",\
                 "0.3993, 0.3754, 0.3256, 0.2797, 0.2484, 0.2297, 0.2173, 0.2086, 0.2026, 0.198",\
                 "0.4026, 0.379, 0.329, 0.2818, 0.2496, 0.2306, 0.2183, 0.2095, 0.2029, 0.1987",\
                 "0.4168, 0.3928, 0.3407, 0.2903, 0.2556, 0.2348, 0.2204, 0.2107, 0.2038, 0.1988",\
                 "0.4409, 0.4159, 0.3606, 0.3047, 0.2663, 0.242, 0.2256, 0.2143, 0.2062, 0.2004",\
                 "0.473, 0.4474, 0.3885, 0.3266, 0.2822, 0.2527, 0.2334, 0.2197, 0.2105, 0.203",\
                 "0.5151, 0.488, 0.4253, 0.3561, 0.3038, 0.27, 0.2467, 0.2299, 0.2178, 0.2091",\
                 "0.5651, 0.5374, 0.471, 0.393, 0.3332, 0.2917, 0.2638, 0.2437, 0.2285, 0.2172");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3147, 0.2936, 0.2646, 0.2443, 0.2313, 0.2242, 0.222, 0.222, 0.2236, 0.2367",\
                 "0.3147, 0.2932, 0.2646, 0.2446, 0.2314, 0.2243, 0.2222, 0.2218, 0.2221, 0.2348",\
                 "0.314, 0.2928, 0.2646, 0.2441, 0.2308, 0.2237, 0.2215, 0.2208, 0.2215, 0.2374",\
                 "0.3147, 0.2934, 0.2649, 0.2446, 0.2308, 0.2234, 0.2215, 0.2208, 0.2235, 0.2385",\
                 "0.3214, 0.2996, 0.2705, 0.2478, 0.2327, 0.2243, 0.2215, 0.2201, 0.2212, 0.2388",\
                 "0.3381, 0.3151, 0.2816, 0.2575, 0.2387, 0.228, 0.2232, 0.2214, 0.2223, 0.2442",\
                 "0.3612, 0.3365, 0.2988, 0.2703, 0.2481, 0.2342, 0.2271, 0.2239, 0.222, 0.2522",\
                 "0.3914, 0.365, 0.3224, 0.2878, 0.2603, 0.2439, 0.2351, 0.2286, 0.2279, 0.268",\
                 "0.4289, 0.4007, 0.3523, 0.3126, 0.2806, 0.2569, 0.2445, 0.238, 0.2346, 0.294",\
                 "0.4725, 0.4425, 0.3869, 0.341, 0.3032, 0.2753, 0.256, 0.2484, 0.2529, 0.345");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.4072, 0.3838, 0.3334, 0.2838, 0.2505, 0.2302, 0.2164, 0.2069, 0.2002, 0.1955",\
                 "0.407, 0.3835, 0.3333, 0.2837, 0.2503, 0.2301, 0.2164, 0.2071, 0.2003, 0.1954",\
                 "0.4064, 0.3832, 0.3326, 0.2831, 0.2499, 0.2291, 0.2157, 0.2065, 0.1999, 0.1951",\
                 "0.4066, 0.3835, 0.3328, 0.2833, 0.2505, 0.2299, 0.2164, 0.2067, 0.2, 0.1951",\
                 "0.4099, 0.3865, 0.3358, 0.286, 0.2521, 0.2312, 0.2178, 0.2082, 0.2014, 0.1967",\
                 "0.425, 0.401, 0.3481, 0.2949, 0.2583, 0.235, 0.2197, 0.2093, 0.2012, 0.1965",\
                 "0.4558, 0.4303, 0.3724, 0.3118, 0.2691, 0.2418, 0.2227, 0.2102, 0.2009, 0.1942",\
                 "0.4927, 0.4657, 0.4031, 0.3343, 0.285, 0.2519, 0.2296, 0.2137, 0.203, 0.1947",\
                 "0.5344, 0.5065, 0.4401, 0.3627, 0.3055, 0.2672, 0.2406, 0.2209, 0.2069, 0.1972",\
                 "0.5836, 0.5551, 0.4848, 0.398, 0.3328, 0.2869, 0.2549, 0.2314, 0.2146, 0.2021");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3137, 0.2928, 0.265, 0.2452, 0.2332, 0.2261, 0.2252, 0.2252, 0.2265, 0.2389",\
                 "0.3137, 0.2932, 0.2649, 0.2451, 0.2331, 0.2265, 0.2253, 0.2255, 0.2252, 0.2386",\
                 "0.3134, 0.2923, 0.2649, 0.245, 0.2329, 0.2262, 0.225, 0.225, 0.2247, 0.2392",\
                 "0.3137, 0.2929, 0.2651, 0.2452, 0.2328, 0.2263, 0.2251, 0.2251, 0.2264, 0.2438",\
                 "0.322, 0.3004, 0.2708, 0.2483, 0.234, 0.2259, 0.2237, 0.223, 0.2248, 0.2427",\
                 "0.3379, 0.3146, 0.2807, 0.2562, 0.2382, 0.2279, 0.224, 0.2223, 0.2235, 0.2461",\
                 "0.3592, 0.3346, 0.2958, 0.2668, 0.2457, 0.2325, 0.2264, 0.2235, 0.2236, 0.2513",\
                 "0.389, 0.3625, 0.3176, 0.2842, 0.2569, 0.2408, 0.232, 0.2255, 0.2244, 0.2634",\
                 "0.425, 0.3967, 0.3452, 0.3053, 0.2728, 0.25, 0.2369, 0.2324, 0.2304, 0.2849",\
                 "0.4663, 0.4363, 0.3775, 0.331, 0.293, 0.2654, 0.245, 0.2355, 0.2408, 0.3337");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3989, 0.3759, 0.3268, 0.2822, 0.2508, 0.232, 0.2193, 0.2106, 0.2041, 0.1995",\
                 "0.3984, 0.3759, 0.3266, 0.2815, 0.2502, 0.2312, 0.219, 0.2102, 0.2037, 0.1991",\
                 "0.3984, 0.3753, 0.3256, 0.281, 0.2497, 0.2316, 0.2185, 0.2097, 0.2037, 0.199",\
                 "0.3976, 0.3751, 0.3259, 0.2803, 0.2498, 0.2311, 0.2184, 0.2093, 0.2036, 0.1991",\
                 "0.4011, 0.378, 0.3288, 0.2827, 0.2507, 0.2322, 0.2197, 0.2102, 0.2041, 0.1993",\
                 "0.4156, 0.3918, 0.3398, 0.29, 0.2563, 0.2351, 0.2208, 0.2114, 0.2043, 0.1992",\
                 "0.438, 0.4133, 0.3581, 0.3036, 0.2653, 0.2414, 0.2248, 0.2135, 0.2058, 0.1997",\
                 "0.469, 0.4433, 0.3845, 0.3235, 0.2785, 0.2507, 0.2315, 0.2173, 0.2078, 0.2016",\
                 "0.5095, 0.4824, 0.4198, 0.3512, 0.2995, 0.2652, 0.2421, 0.2253, 0.214, 0.2054",\
                 "0.5586, 0.5301, 0.463, 0.3861, 0.3253, 0.2859, 0.2573, 0.2371, 0.2222, 0.2114");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.32, 0.2987, 0.2703, 0.2494, 0.2365, 0.2292, 0.227, 0.2273, 0.2289, 0.2429",\
                 "0.32, 0.2989, 0.2702, 0.2492, 0.2361, 0.229, 0.2274, 0.2274, 0.229, 0.2436",\
                 "0.3197, 0.2987, 0.2698, 0.2494, 0.2365, 0.229, 0.2271, 0.2271, 0.2291, 0.2443",\
                 "0.3198, 0.2983, 0.2705, 0.2496, 0.2362, 0.2288, 0.2266, 0.2262, 0.2272, 0.2428",\
                 "0.327, 0.3052, 0.2759, 0.2533, 0.238, 0.2294, 0.2262, 0.2248, 0.2276, 0.2451",\
                 "0.348, 0.3241, 0.2908, 0.2635, 0.2444, 0.2314, 0.2262, 0.2232, 0.2237, 0.2471",\
                 "0.3755, 0.3493, 0.3098, 0.2781, 0.2543, 0.2381, 0.2293, 0.2251, 0.2249, 0.2558",\
                 "0.4091, 0.3806, 0.3341, 0.298, 0.2682, 0.2487, 0.2369, 0.2288, 0.2271, 0.2725",\
                 "0.4493, 0.4185, 0.3651, 0.323, 0.287, 0.2611, 0.2483, 0.2372, 0.2354, 0.3007",\
                 "0.495, 0.4626, 0.4025, 0.3527, 0.312, 0.2798, 0.2581, 0.249, 0.251, 0.358");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3869, 0.364, 0.3141, 0.2678, 0.2363, 0.2175, 0.205, 0.1962, 0.1901, 0.1858",\
                 "0.3871, 0.3637, 0.3141, 0.2679, 0.2366, 0.2176, 0.2055, 0.1968, 0.1907, 0.1859",\
                 "0.3869, 0.3638, 0.3141, 0.2673, 0.2363, 0.2177, 0.2049, 0.1964, 0.1904, 0.1862",\
                 "0.3877, 0.3643, 0.3146, 0.268, 0.2375, 0.2187, 0.206, 0.1973, 0.1912, 0.1868",\
                 "0.3917, 0.368, 0.3181, 0.2712, 0.2389, 0.2199, 0.207, 0.1987, 0.1929, 0.1882",\
                 "0.409, 0.3843, 0.3316, 0.2806, 0.2448, 0.2232, 0.2088, 0.1988, 0.1915, 0.1866",\
                 "0.4399, 0.4138, 0.3557, 0.2967, 0.2557, 0.229, 0.211, 0.1988, 0.1897, 0.1833",\
                 "0.4761, 0.4488, 0.3861, 0.318, 0.2698, 0.238, 0.2157, 0.2005, 0.1897, 0.1815",\
                 "0.5189, 0.4901, 0.4226, 0.3459, 0.2888, 0.2506, 0.2239, 0.2056, 0.192, 0.182",\
                 "0.5684, 0.5388, 0.4679, 0.3809, 0.3151, 0.2696, 0.2373, 0.214, 0.1968, 0.1844");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3214, 0.3001, 0.2729, 0.2528, 0.2402, 0.2341, 0.2326, 0.2325, 0.2325, 0.2453",\
                 "0.3218, 0.3007, 0.2726, 0.2532, 0.2408, 0.2346, 0.2334, 0.233, 0.2336, 0.2463",\
                 "0.3221, 0.3011, 0.2728, 0.2533, 0.2411, 0.2347, 0.2332, 0.2331, 0.2341, 0.2474",\
                 "0.3224, 0.3017, 0.2742, 0.2542, 0.241, 0.2344, 0.2332, 0.2328, 0.2345, 0.2515",\
                 "0.333, 0.3117, 0.2817, 0.2586, 0.2432, 0.2348, 0.2319, 0.2309, 0.2323, 0.2492",\
                 "0.3558, 0.3315, 0.2969, 0.2698, 0.2489, 0.2367, 0.2308, 0.229, 0.2263, 0.2495",\
                 "0.3829, 0.3564, 0.3153, 0.2824, 0.2582, 0.2417, 0.2332, 0.2274, 0.2265, 0.2581",\
                 "0.4167, 0.3873, 0.3385, 0.301, 0.2696, 0.2502, 0.2378, 0.2297, 0.2277, 0.2659",\
                 "0.4561, 0.4251, 0.3682, 0.3241, 0.2882, 0.2605, 0.2431, 0.2356, 0.2324, 0.2925",\
                 "0.5014, 0.4683, 0.4033, 0.3511, 0.3098, 0.2759, 0.2519, 0.2397, 0.2437, 0.3407");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3918, 0.3685, 0.3195, 0.2736, 0.2423, 0.2229, 0.21, 0.2012, 0.1945, 0.19",\
                 "0.3919, 0.3686, 0.3193, 0.2737, 0.2419, 0.2232, 0.21, 0.2011, 0.1945, 0.1902",\
                 "0.3917, 0.3688, 0.3191, 0.2735, 0.2424, 0.2235, 0.2108, 0.2011, 0.1947, 0.1902",\
                 "0.3924, 0.3692, 0.32, 0.2747, 0.2421, 0.2229, 0.2114, 0.2013, 0.1955, 0.1907",\
                 "0.3966, 0.3735, 0.3237, 0.2774, 0.2445, 0.2251, 0.2125, 0.2033, 0.1967, 0.1922",\
                 "0.4153, 0.3909, 0.338, 0.2868, 0.2502, 0.2285, 0.2136, 0.2029, 0.1953, 0.19",\
                 "0.4468, 0.4208, 0.3627, 0.3043, 0.2619, 0.2349, 0.2166, 0.2036, 0.1941, 0.1873",\
                 "0.4843, 0.4563, 0.3936, 0.3261, 0.2762, 0.2437, 0.2211, 0.2048, 0.1933, 0.1851",\
                 "0.5261, 0.499, 0.4309, 0.3549, 0.2956, 0.2565, 0.2304, 0.2107, 0.1957, 0.1851",\
                 "0.5775, 0.5486, 0.4764, 0.3906, 0.3231, 0.2759, 0.2425, 0.2192, 0.2015, 0.1885");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3165, 0.2952, 0.2677, 0.2482, 0.2359, 0.2294, 0.2285, 0.2274, 0.2271, 0.2418",\
                 "0.3165, 0.2955, 0.268, 0.2478, 0.2359, 0.2294, 0.2282, 0.2275, 0.2288, 0.2422",\
                 "0.3166, 0.2958, 0.2681, 0.2485, 0.236, 0.2296, 0.2287, 0.2284, 0.2293, 0.2436",\
                 "0.3173, 0.2963, 0.269, 0.2488, 0.2363, 0.2295, 0.2283, 0.2275, 0.2302, 0.2462",\
                 "0.3259, 0.3049, 0.2756, 0.2535, 0.2384, 0.2297, 0.2275, 0.2258, 0.2283, 0.2474",\
                 "0.3478, 0.324, 0.2905, 0.2634, 0.2436, 0.2314, 0.2266, 0.2239, 0.2237, 0.2466",\
                 "0.3745, 0.348, 0.3078, 0.2759, 0.2526, 0.2358, 0.2283, 0.2238, 0.2206, 0.2513",\
                 "0.4073, 0.3784, 0.3313, 0.2935, 0.2635, 0.2445, 0.2334, 0.2246, 0.2236, 0.2651",\
                 "0.4461, 0.4153, 0.3612, 0.3168, 0.2821, 0.2555, 0.2404, 0.2319, 0.2284, 0.29",\
                 "0.4911, 0.4586, 0.3951, 0.3446, 0.3042, 0.2712, 0.2492, 0.2385, 0.2423, 0.3395");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.077, 1.15, 1.328, 1.567, 1.856, 2.194, 2.591, 3.06, 3.615, 4.267",\
                 "1.089, 1.162, 1.34, 1.579, 1.867, 2.205, 2.603, 3.072, 3.626, 4.278",\
                 "1.129, 1.202, 1.379, 1.618, 1.907, 2.245, 2.642, 3.111, 3.666, 4.318",\
                 "1.203, 1.276, 1.453, 1.692, 1.981, 2.319, 2.716, 3.185, 3.74, 4.392",\
                 "1.335, 1.408, 1.585, 1.824, 2.112, 2.45, 2.847, 3.316, 3.87, 4.523",\
                 "1.53, 1.604, 1.783, 2.022, 2.311, 2.649, 3.046, 3.515, 4.069, 4.721",\
                 "1.773, 1.849, 2.033, 2.278, 2.572, 2.913, 3.312, 3.781, 4.336, 4.987",\
                 "2.067, 2.145, 2.334, 2.585, 2.885, 3.233, 3.635, 4.107, 4.661, 5.313",\
                 "2.404, 2.486, 2.682, 2.941, 3.249, 3.604, 4.011, 4.486, 5.042, 5.694",\
                 "2.78, 2.865, 3.07, 3.341, 3.659, 4.023, 4.439, 4.919, 5.477, 6.13");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.8292, 0.894, 1.063, 1.328, 1.694, 2.187, 2.831, 3.641, 4.628, 5.805",\
                 "0.8403, 0.905, 1.074, 1.339, 1.705, 2.198, 2.842, 3.652, 4.639, 5.815",\
                 "0.8686, 0.9334, 1.103, 1.367, 1.733, 2.226, 2.87, 3.681, 4.668, 5.844",\
                 "0.917, 0.9817, 1.152, 1.415, 1.781, 2.274, 2.918, 3.729, 4.716, 5.892",\
                 "0.9946, 1.06, 1.229, 1.493, 1.858, 2.35, 2.994, 3.804, 4.791, 5.967",\
                 "1.076, 1.143, 1.317, 1.584, 1.95, 2.441, 3.084, 3.893, 4.88, 6.055",\
                 "1.148, 1.218, 1.395, 1.666, 2.035, 2.527, 3.169, 3.977, 4.963, 6.137",\
                 "1.204, 1.277, 1.46, 1.736, 2.108, 2.6, 3.241, 4.048, 5.032, 6.206",\
                 "1.235, 1.311, 1.502, 1.785, 2.163, 2.657, 3.297, 4.102, 5.085, 6.258",\
                 "1.239, 1.319, 1.518, 1.807, 2.194, 2.693, 3.334, 4.139, 5.121, 6.293");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.292, 0.364, 0.5268, 0.7524, 1.054, 1.451, 1.977, 2.662, 3.531, 4.588",\
                 "0.292, 0.364, 0.5266, 0.7522, 1.054, 1.45, 1.978, 2.662, 3.531, 4.589",\
                 "0.2916, 0.362, 0.527, 0.752, 1.054, 1.45, 1.977, 2.662, 3.531, 4.587",\
                 "0.2912, 0.3622, 0.5266, 0.7526, 1.054, 1.45, 1.977, 2.662, 3.53, 4.588",\
                 "0.2908, 0.3616, 0.5266, 0.7524, 1.054, 1.451, 1.978, 2.662, 3.531, 4.591",\
                 "0.3048, 0.3754, 0.538, 0.761, 1.06, 1.455, 1.98, 2.665, 3.53, 4.593",\
                 "0.3228, 0.3956, 0.5638, 0.7892, 1.084, 1.473, 1.991, 2.67, 3.535, 4.593",\
                 "0.3464, 0.4216, 0.5942, 0.8212, 1.117, 1.504, 2.015, 2.684, 3.543, 4.594",\
                 "0.38, 0.4568, 0.6334, 0.8636, 1.159, 1.542, 2.046, 2.708, 3.554, 4.6",\
                 "0.4162, 0.4976, 0.683, 0.9186, 1.215, 1.595, 2.091, 2.741, 3.575, 4.614");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2009, 0.2682, 0.4769, 0.8438, 1.412, 2.245, 3.368, 4.79, 6.524, 8.604",\
                 "0.1998, 0.268, 0.477, 0.8448, 1.412, 2.245, 3.369, 4.792, 6.529, 8.601",\
                 "0.2007, 0.2688, 0.478, 0.8438, 1.412, 2.245, 3.369, 4.791, 6.528, 8.599",\
                 "0.1998, 0.2674, 0.476, 0.8448, 1.412, 2.245, 3.37, 4.792, 6.529, 8.602",\
                 "0.204, 0.271, 0.4794, 0.8458, 1.413, 2.246, 3.369, 4.792, 6.529, 8.599",\
                 "0.2182, 0.2868, 0.4944, 0.8598, 1.421, 2.249, 3.371, 4.792, 6.522, 8.603",\
                 "0.2356, 0.3052, 0.512, 0.8786, 1.435, 2.256, 3.372, 4.791, 6.527, 8.597",\
                 "0.2578, 0.3284, 0.534, 0.9034, 1.453, 2.266, 3.379, 4.792, 6.525, 8.603",\
                 "0.285, 0.3574, 0.5634, 0.933, 1.48, 2.283, 3.386, 4.797, 6.527, 8.599",\
                 "0.3148, 0.3896, 0.5992, 0.968, 1.518, 2.312, 3.404, 4.804, 6.53, 8.599");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.054, 1.125, 1.299, 1.534, 1.821, 2.158, 2.556, 3.025, 3.58, 4.232",\
                 "1.07, 1.141, 1.315, 1.55, 1.837, 2.174, 2.572, 3.041, 3.596, 4.248",\
                 "1.12, 1.191, 1.365, 1.6, 1.886, 2.224, 2.621, 3.09, 3.645, 4.298",\
                 "1.198, 1.269, 1.442, 1.677, 1.964, 2.301, 2.699, 3.168, 3.723, 4.375",\
                 "1.325, 1.397, 1.57, 1.804, 2.091, 2.428, 2.825, 3.295, 3.849, 4.502",\
                 "1.513, 1.585, 1.761, 1.996, 2.283, 2.621, 3.018, 3.487, 4.042, 4.694",\
                 "1.747, 1.821, 2.003, 2.244, 2.536, 2.878, 3.277, 3.747, 4.301, 4.953",\
                 "2.035, 2.111, 2.297, 2.545, 2.843, 3.191, 3.595, 4.067, 4.622, 5.274",\
                 "2.367, 2.447, 2.641, 2.897, 3.203, 3.558, 3.967, 4.443, 5, 5.652",\
                 "2.738, 2.822, 3.025, 3.292, 3.61, 3.975, 4.392, 4.873, 5.433, 6.086");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.8481, 0.9133, 1.083, 1.348, 1.714, 2.207, 2.851, 3.661, 4.649, 5.825",\
                 "0.8538, 0.9186, 1.088, 1.353, 1.719, 2.212, 2.856, 3.666, 4.654, 5.83",\
                 "0.8754, 0.9405, 1.11, 1.374, 1.74, 2.233, 2.877, 3.688, 4.675, 5.851",\
                 "0.9228, 0.9881, 1.158, 1.422, 1.788, 2.28, 2.924, 3.735, 4.722, 5.898",\
                 "1.002, 1.067, 1.237, 1.5, 1.866, 2.358, 3.001, 3.811, 4.798, 5.974",\
                 "1.086, 1.154, 1.327, 1.594, 1.959, 2.451, 3.093, 3.903, 4.889, 6.065",\
                 "1.162, 1.232, 1.409, 1.679, 2.047, 2.539, 3.18, 3.988, 4.974, 6.149",\
                 "1.22, 1.293, 1.475, 1.75, 2.121, 2.613, 3.254, 4.061, 5.045, 6.22",\
                 "1.253, 1.33, 1.52, 1.8, 2.177, 2.671, 3.311, 4.117, 5.1, 6.273",\
                 "1.259, 1.339, 1.535, 1.823, 2.207, 2.707, 3.349, 4.154, 5.137, 6.309");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2816, 0.3506, 0.512, 0.739, 1.044, 1.446, 1.976, 2.662, 3.529, 4.588",\
                 "0.2814, 0.3504, 0.5126, 0.7396, 1.045, 1.446, 1.976, 2.662, 3.529, 4.587",\
                 "0.2818, 0.3506, 0.5126, 0.7394, 1.045, 1.446, 1.976, 2.662, 3.527, 4.59",\
                 "0.2816, 0.3504, 0.5124, 0.7392, 1.045, 1.446, 1.976, 2.663, 3.53, 4.591",\
                 "0.281, 0.3504, 0.5124, 0.741, 1.045, 1.447, 1.976, 2.663, 3.527, 4.591",\
                 "0.2956, 0.365, 0.526, 0.75, 1.052, 1.452, 1.979, 2.665, 3.528, 4.59",\
                 "0.3146, 0.3852, 0.5512, 0.7772, 1.077, 1.47, 1.991, 2.672, 3.533, 4.593",\
                 "0.3388, 0.4108, 0.5812, 0.8114, 1.111, 1.503, 2.017, 2.688, 3.541, 4.599",\
                 "0.3728, 0.4488, 0.6228, 0.8534, 1.153, 1.542, 2.049, 2.711, 3.556, 4.604",\
                 "0.409, 0.4892, 0.6722, 0.9088, 1.211, 1.597, 2.093, 2.743, 3.581, 4.616");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2033, 0.2714, 0.4798, 0.847, 1.414, 2.247, 3.371, 4.793, 6.53, 8.606",\
                 "0.2033, 0.2718, 0.479, 0.847, 1.414, 2.247, 3.372, 4.792, 6.529, 8.603",\
                 "0.2032, 0.2718, 0.4798, 0.8458, 1.414, 2.246, 3.371, 4.793, 6.529, 8.602",\
                 "0.204, 0.2712, 0.4802, 0.8456, 1.414, 2.246, 3.371, 4.793, 6.53, 8.6",\
                 "0.2066, 0.2736, 0.4814, 0.8472, 1.415, 2.247, 3.371, 4.793, 6.53, 8.603",\
                 "0.2206, 0.2894, 0.4958, 0.8594, 1.421, 2.249, 3.371, 4.792, 6.528, 8.605",\
                 "0.2368, 0.3064, 0.5126, 0.877, 1.434, 2.256, 3.374, 4.791, 6.524, 8.606",\
                 "0.2574, 0.3286, 0.5334, 0.9006, 1.452, 2.266, 3.379, 4.794, 6.527, 8.606",\
                 "0.284, 0.356, 0.5614, 0.9296, 1.479, 2.283, 3.387, 4.798, 6.529, 8.608",\
                 "0.3114, 0.3862, 0.5924, 0.9644, 1.515, 2.312, 3.404, 4.808, 6.532, 8.603");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.077, 1.15, 1.328, 1.567, 1.856, 2.194, 2.591, 3.06, 3.615, 4.267",\
                 "1.089, 1.162, 1.34, 1.579, 1.867, 2.205, 2.603, 3.072, 3.626, 4.278",\
                 "1.129, 1.202, 1.379, 1.618, 1.907, 2.245, 2.642, 3.111, 3.666, 4.318",\
                 "1.203, 1.276, 1.453, 1.692, 1.981, 2.319, 2.716, 3.185, 3.74, 4.392",\
                 "1.335, 1.408, 1.585, 1.824, 2.112, 2.45, 2.847, 3.316, 3.87, 4.523",\
                 "1.53, 1.604, 1.783, 2.022, 2.311, 2.649, 3.046, 3.515, 4.069, 4.721",\
                 "1.773, 1.849, 2.033, 2.278, 2.572, 2.913, 3.312, 3.781, 4.336, 4.987",\
                 "2.067, 2.145, 2.334, 2.585, 2.885, 3.233, 3.635, 4.107, 4.661, 5.313",\
                 "2.404, 2.486, 2.682, 2.941, 3.249, 3.604, 4.011, 4.486, 5.042, 5.694",\
                 "2.78, 2.865, 3.07, 3.341, 3.659, 4.023, 4.439, 4.919, 5.477, 6.13");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.8481, 0.9133, 1.083, 1.348, 1.714, 2.207, 2.851, 3.661, 4.649, 5.825",\
                 "0.8538, 0.9186, 1.088, 1.353, 1.719, 2.212, 2.856, 3.666, 4.654, 5.83",\
                 "0.8754, 0.9405, 1.11, 1.374, 1.74, 2.233, 2.877, 3.688, 4.675, 5.851",\
                 "0.9228, 0.9881, 1.158, 1.422, 1.788, 2.28, 2.924, 3.735, 4.722, 5.898",\
                 "1.002, 1.067, 1.237, 1.5, 1.866, 2.358, 3.001, 3.811, 4.798, 5.974",\
                 "1.086, 1.154, 1.327, 1.594, 1.959, 2.451, 3.093, 3.903, 4.889, 6.065",\
                 "1.162, 1.232, 1.409, 1.679, 2.047, 2.539, 3.18, 3.988, 4.974, 6.149",\
                 "1.22, 1.293, 1.475, 1.75, 2.121, 2.613, 3.254, 4.061, 5.045, 6.22",\
                 "1.253, 1.33, 1.52, 1.8, 2.177, 2.671, 3.311, 4.117, 5.1, 6.273",\
                 "1.259, 1.339, 1.535, 1.823, 2.207, 2.707, 3.349, 4.154, 5.137, 6.309");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2816, 0.3506, 0.512, 0.739, 1.044, 1.446, 1.976, 2.662, 3.529, 4.588",\
                 "0.2814, 0.3504, 0.5126, 0.7396, 1.045, 1.446, 1.976, 2.662, 3.529, 4.587",\
                 "0.2818, 0.3506, 0.5126, 0.7394, 1.045, 1.446, 1.976, 2.662, 3.527, 4.59",\
                 "0.2816, 0.3504, 0.5124, 0.7392, 1.045, 1.446, 1.976, 2.663, 3.53, 4.591",\
                 "0.281, 0.3504, 0.5124, 0.741, 1.045, 1.447, 1.976, 2.663, 3.527, 4.591",\
                 "0.2956, 0.365, 0.526, 0.75, 1.052, 1.452, 1.979, 2.665, 3.528, 4.59",\
                 "0.3146, 0.3852, 0.5512, 0.7772, 1.077, 1.47, 1.991, 2.672, 3.533, 4.593",\
                 "0.3388, 0.4108, 0.5812, 0.8114, 1.111, 1.503, 2.017, 2.688, 3.541, 4.599",\
                 "0.3728, 0.4488, 0.6228, 0.8534, 1.153, 1.542, 2.049, 2.711, 3.556, 4.604",\
                 "0.409, 0.4892, 0.6722, 0.9088, 1.211, 1.597, 2.093, 2.743, 3.581, 4.616");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2033, 0.2714, 0.4798, 0.847, 1.414, 2.247, 3.371, 4.793, 6.53, 8.606",\
                 "0.2033, 0.2718, 0.479, 0.847, 1.414, 2.247, 3.372, 4.792, 6.529, 8.603",\
                 "0.2032, 0.2718, 0.4798, 0.8458, 1.414, 2.246, 3.371, 4.793, 6.529, 8.602",\
                 "0.204, 0.2712, 0.4802, 0.8456, 1.414, 2.246, 3.371, 4.793, 6.53, 8.6",\
                 "0.2066, 0.2736, 0.4814, 0.8472, 1.415, 2.247, 3.371, 4.793, 6.53, 8.603",\
                 "0.2206, 0.2894, 0.4958, 0.8594, 1.421, 2.249, 3.371, 4.792, 6.528, 8.605",\
                 "0.2368, 0.3064, 0.5126, 0.877, 1.434, 2.256, 3.374, 4.791, 6.524, 8.606",\
                 "0.2574, 0.3286, 0.5334, 0.9006, 1.452, 2.266, 3.379, 4.794, 6.527, 8.606",\
                 "0.284, 0.356, 0.5614, 0.9296, 1.479, 2.283, 3.387, 4.798, 6.529, 8.608",\
                 "0.3114, 0.3862, 0.5924, 0.9644, 1.515, 2.312, 3.404, 4.808, 6.532, 8.603");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.075, 1.148, 1.326, 1.564, 1.853, 2.191, 2.589, 3.058, 3.612, 4.264",\
                 "1.087, 1.16, 1.338, 1.577, 1.865, 2.204, 2.601, 3.07, 3.625, 4.277",\
                 "1.136, 1.209, 1.387, 1.626, 1.914, 2.253, 2.65, 3.119, 3.673, 4.326",\
                 "1.245, 1.318, 1.495, 1.734, 2.023, 2.361, 2.758, 3.227, 3.782, 4.434",\
                 "1.434, 1.507, 1.684, 1.923, 2.211, 2.549, 2.946, 3.415, 3.969, 4.622",\
                 "1.713, 1.786, 1.963, 2.201, 2.489, 2.827, 3.224, 3.692, 4.246, 4.898",\
                 "2.047, 2.124, 2.308, 2.552, 2.843, 3.183, 3.581, 4.049, 4.603, 5.255",\
                 "2.428, 2.509, 2.701, 2.954, 3.252, 3.599, 4, 4.469, 5.023, 5.674",\
                 "2.866, 2.949, 3.149, 3.412, 3.718, 4.07, 4.475, 4.948, 5.503, 6.154",\
                 "3.358, 3.446, 3.655, 3.927, 4.242, 4.602, 5.012, 5.487, 6.043, 6.695");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.7897, 0.8554, 1.027, 1.293, 1.662, 2.156, 2.8, 3.611, 4.598, 5.774",\
                 "0.8041, 0.87, 1.041, 1.308, 1.677, 2.171, 2.815, 3.625, 4.612, 5.788",\
                 "0.8343, 0.8999, 1.072, 1.338, 1.707, 2.201, 2.845, 3.656, 4.643, 5.819",\
                 "0.8824, 0.9483, 1.119, 1.386, 1.755, 2.249, 2.893, 3.703, 4.69, 5.867",\
                 "0.9549, 1.021, 1.194, 1.46, 1.828, 2.321, 2.965, 3.775, 4.762, 5.938",\
                 "1.021, 1.09, 1.268, 1.539, 1.909, 2.403, 3.045, 3.855, 4.841, 6.017",\
                 "1.075, 1.147, 1.328, 1.603, 1.977, 2.472, 3.115, 3.923, 4.909, 6.084",\
                 "1.105, 1.179, 1.367, 1.647, 2.024, 2.519, 3.162, 3.97, 4.955, 6.129",\
                 "1.102, 1.179, 1.373, 1.661, 2.045, 2.543, 3.184, 3.991, 4.976, 6.149",\
                 "1.059, 1.141, 1.342, 1.637, 2.03, 2.534, 3.178, 3.984, 4.967, 6.14");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2918, 0.3624, 0.5266, 0.753, 1.054, 1.451, 1.977, 2.663, 3.528, 4.589",\
                 "0.292, 0.3624, 0.527, 0.7526, 1.054, 1.451, 1.978, 2.663, 3.531, 4.593",\
                 "0.2916, 0.3622, 0.5262, 0.7528, 1.053, 1.45, 1.977, 2.662, 3.53, 4.588",\
                 "0.2914, 0.362, 0.5268, 0.7524, 1.053, 1.45, 1.977, 2.662, 3.531, 4.592",\
                 "0.2906, 0.3618, 0.5262, 0.7534, 1.054, 1.451, 1.978, 2.662, 3.527, 4.589",\
                 "0.2998, 0.3706, 0.5348, 0.7584, 1.059, 1.454, 1.98, 2.664, 3.532, 4.59",\
                 "0.335, 0.4078, 0.5706, 0.7904, 1.082, 1.471, 1.989, 2.669, 3.534, 4.594",\
                 "0.367, 0.4434, 0.6124, 0.8328, 1.123, 1.504, 2.013, 2.684, 3.541, 4.592",\
                 "0.4006, 0.4794, 0.6574, 0.8786, 1.165, 1.542, 2.044, 2.705, 3.554, 4.6",\
                 "0.4406, 0.5232, 0.7072, 0.9334, 1.215, 1.585, 2.077, 2.73, 3.57, 4.61");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2022, 0.27, 0.4813, 0.851, 1.417, 2.248, 3.37, 4.79, 6.524, 8.605",\
                 "0.2023, 0.2711, 0.4827, 0.8506, 1.417, 2.247, 3.369, 4.791, 6.529, 8.592",\
                 "0.2019, 0.2704, 0.4804, 0.852, 1.417, 2.247, 3.369, 4.791, 6.523, 8.592",\
                 "0.2018, 0.27, 0.4808, 0.8516, 1.417, 2.247, 3.371, 4.791, 6.527, 8.603",\
                 "0.2096, 0.2782, 0.4858, 0.854, 1.419, 2.248, 3.369, 4.791, 6.528, 8.598",\
                 "0.2246, 0.2946, 0.5038, 0.8716, 1.43, 2.253, 3.372, 4.79, 6.528, 8.602",\
                 "0.2404, 0.3134, 0.5218, 0.893, 1.447, 2.265, 3.378, 4.792, 6.527, 8.604",\
                 "0.2616, 0.3372, 0.5464, 0.9158, 1.466, 2.276, 3.385, 4.799, 6.528, 8.595",\
                 "0.2888, 0.3636, 0.5776, 0.9484, 1.496, 2.294, 3.393, 4.803, 6.533, 8.61",\
                 "0.3206, 0.397, 0.6112, 0.9852, 1.536, 2.327, 3.412, 4.814, 6.535, 8.602");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.005, 1.077, 1.254, 1.495, 1.788, 2.133, 2.538, 3.013, 3.571, 4.226",\
                 "1.023, 1.094, 1.271, 1.511, 1.805, 2.15, 2.555, 3.03, 3.588, 4.243",\
                 "1.069, 1.141, 1.318, 1.558, 1.852, 2.197, 2.602, 3.077, 3.635, 4.29",\
                 "1.145, 1.217, 1.394, 1.634, 1.927, 2.273, 2.677, 3.152, 3.711, 4.365",\
                 "1.273, 1.344, 1.52, 1.76, 2.052, 2.398, 2.802, 3.277, 3.836, 4.49",\
                 "1.453, 1.525, 1.702, 1.944, 2.238, 2.584, 2.989, 3.464, 4.022, 4.677",\
                 "1.675, 1.748, 1.927, 2.172, 2.472, 2.825, 3.233, 3.71, 4.269, 4.923",\
                 "1.94, 2.015, 2.199, 2.448, 2.753, 3.111, 3.526, 4.006, 4.567, 5.222",\
                 "2.238, 2.317, 2.509, 2.765, 3.078, 3.443, 3.864, 4.349, 4.913, 5.57",\
                 "2.563, 2.646, 2.848, 3.116, 3.438, 3.816, 4.246, 4.736, 5.304, 5.962");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.8556, 0.9208, 1.09, 1.355, 1.721, 2.214, 2.858, 3.669, 4.656, 5.832",\
                 "0.8673, 0.9327, 1.103, 1.366, 1.733, 2.226, 2.87, 3.681, 4.668, 5.844",\
                 "0.9087, 0.9738, 1.143, 1.408, 1.774, 2.267, 2.911, 3.722, 4.709, 5.885",\
                 "0.9912, 1.056, 1.226, 1.49, 1.856, 2.349, 2.993, 3.803, 4.791, 5.967",\
                 "1.125, 1.19, 1.359, 1.623, 1.987, 2.479, 3.123, 3.933, 4.919, 6.095",\
                 "1.273, 1.34, 1.513, 1.777, 2.141, 2.631, 3.273, 4.082, 5.068, 6.244",\
                 "1.403, 1.473, 1.65, 1.918, 2.284, 2.774, 3.414, 4.222, 5.207, 6.382",\
                 "1.516, 1.59, 1.773, 2.045, 2.413, 2.902, 3.541, 4.347, 5.331, 6.505",\
                 "1.612, 1.689, 1.88, 2.157, 2.528, 3.018, 3.656, 4.46, 5.443, 6.615",\
                 "1.686, 1.768, 1.967, 2.251, 2.629, 3.121, 3.758, 4.56, 5.542, 6.714");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2798, 0.3526, 0.5196, 0.7538, 1.067, 1.475, 2.005, 2.688, 3.548, 4.599",\
                 "0.2798, 0.3516, 0.5198, 0.7538, 1.067, 1.474, 2.005, 2.687, 3.547, 4.602",\
                 "0.2806, 0.353, 0.5196, 0.754, 1.067, 1.475, 2.005, 2.686, 3.549, 4.602",\
                 "0.2804, 0.3508, 0.5192, 0.7536, 1.067, 1.474, 2.005, 2.687, 3.548, 4.601",\
                 "0.2782, 0.35, 0.5182, 0.7538, 1.067, 1.474, 2.005, 2.688, 3.547, 4.6",\
                 "0.2914, 0.3606, 0.5326, 0.7656, 1.077, 1.481, 2.009, 2.689, 3.55, 4.602",\
                 "0.31, 0.3794, 0.5488, 0.7908, 1.107, 1.508, 2.027, 2.7, 3.554, 4.604",\
                 "0.336, 0.4074, 0.5764, 0.8172, 1.138, 1.542, 2.06, 2.727, 3.572, 4.612",\
                 "0.371, 0.447, 0.6206, 0.8588, 1.179, 1.583, 2.096, 2.755, 3.593, 4.627",\
                 "0.4098, 0.4892, 0.6712, 0.9132, 1.237, 1.644, 2.148, 2.795, 3.621, 4.646");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2044, 0.2717, 0.4798, 0.847, 1.414, 2.246, 3.37, 4.793, 6.53, 8.602",\
                 "0.2047, 0.2715, 0.479, 0.8462, 1.414, 2.247, 3.37, 4.793, 6.529, 8.6",\
                 "0.204, 0.272, 0.4798, 0.8466, 1.414, 2.246, 3.369, 4.792, 6.528, 8.603",\
                 "0.2034, 0.2704, 0.48, 0.8458, 1.413, 2.246, 3.371, 4.793, 6.529, 8.603",\
                 "0.2044, 0.272, 0.48, 0.8474, 1.414, 2.247, 3.371, 4.793, 6.53, 8.595",\
                 "0.2232, 0.2908, 0.4942, 0.8584, 1.42, 2.249, 3.372, 4.793, 6.528, 8.605",\
                 "0.247, 0.3144, 0.515, 0.8782, 1.434, 2.256, 3.374, 4.79, 6.526, 8.606",\
                 "0.2728, 0.3414, 0.5404, 0.8998, 1.45, 2.266, 3.378, 4.797, 6.531, 8.602",\
                 "0.303, 0.373, 0.5698, 0.928, 1.471, 2.277, 3.385, 4.803, 6.536, 8.595",\
                 "0.3356, 0.4084, 0.6088, 0.963, 1.502, 2.297, 3.395, 4.806, 6.534, 8.603");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.075, 1.148, 1.326, 1.564, 1.853, 2.191, 2.589, 3.058, 3.612, 4.264",\
                 "1.087, 1.16, 1.338, 1.577, 1.865, 2.204, 2.601, 3.07, 3.625, 4.277",\
                 "1.136, 1.209, 1.387, 1.626, 1.914, 2.253, 2.65, 3.119, 3.673, 4.326",\
                 "1.245, 1.318, 1.495, 1.734, 2.023, 2.361, 2.758, 3.227, 3.782, 4.434",\
                 "1.434, 1.507, 1.684, 1.923, 2.211, 2.549, 2.946, 3.415, 3.969, 4.622",\
                 "1.713, 1.786, 1.963, 2.201, 2.489, 2.827, 3.224, 3.692, 4.246, 4.898",\
                 "2.047, 2.124, 2.308, 2.552, 2.843, 3.183, 3.581, 4.049, 4.603, 5.255",\
                 "2.428, 2.509, 2.701, 2.954, 3.252, 3.599, 4, 4.469, 5.023, 5.674",\
                 "2.866, 2.949, 3.149, 3.412, 3.718, 4.07, 4.475, 4.948, 5.503, 6.154",\
                 "3.358, 3.446, 3.655, 3.927, 4.242, 4.602, 5.012, 5.487, 6.043, 6.695");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.8556, 0.9208, 1.09, 1.355, 1.721, 2.214, 2.858, 3.669, 4.656, 5.832",\
                 "0.8673, 0.9327, 1.103, 1.366, 1.733, 2.226, 2.87, 3.681, 4.668, 5.844",\
                 "0.9087, 0.9738, 1.143, 1.408, 1.774, 2.267, 2.911, 3.722, 4.709, 5.885",\
                 "0.9912, 1.056, 1.226, 1.49, 1.856, 2.349, 2.993, 3.803, 4.791, 5.967",\
                 "1.125, 1.19, 1.359, 1.623, 1.987, 2.479, 3.123, 3.933, 4.919, 6.095",\
                 "1.273, 1.34, 1.513, 1.777, 2.141, 2.631, 3.273, 4.082, 5.068, 6.244",\
                 "1.403, 1.473, 1.65, 1.918, 2.284, 2.774, 3.414, 4.222, 5.207, 6.382",\
                 "1.516, 1.59, 1.773, 2.045, 2.413, 2.902, 3.541, 4.347, 5.331, 6.505",\
                 "1.612, 1.689, 1.88, 2.157, 2.528, 3.018, 3.656, 4.46, 5.443, 6.615",\
                 "1.686, 1.768, 1.967, 2.251, 2.629, 3.121, 3.758, 4.56, 5.542, 6.714");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2798, 0.3526, 0.5196, 0.7538, 1.067, 1.475, 2.005, 2.688, 3.548, 4.599",\
                 "0.2798, 0.3516, 0.5198, 0.7538, 1.067, 1.474, 2.005, 2.687, 3.547, 4.602",\
                 "0.2806, 0.353, 0.5196, 0.754, 1.067, 1.475, 2.005, 2.686, 3.549, 4.602",\
                 "0.2804, 0.3508, 0.5192, 0.7536, 1.067, 1.474, 2.005, 2.687, 3.548, 4.601",\
                 "0.2782, 0.35, 0.5182, 0.7538, 1.067, 1.474, 2.005, 2.688, 3.547, 4.6",\
                 "0.2914, 0.3606, 0.5326, 0.7656, 1.077, 1.481, 2.009, 2.689, 3.55, 4.602",\
                 "0.31, 0.3794, 0.5488, 0.7908, 1.107, 1.508, 2.027, 2.7, 3.554, 4.604",\
                 "0.336, 0.4074, 0.5764, 0.8172, 1.138, 1.542, 2.06, 2.727, 3.572, 4.612",\
                 "0.371, 0.447, 0.6206, 0.8588, 1.179, 1.583, 2.096, 2.755, 3.593, 4.627",\
                 "0.4098, 0.4892, 0.6712, 0.9132, 1.237, 1.644, 2.148, 2.795, 3.621, 4.646");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2022, 0.27, 0.4813, 0.851, 1.417, 2.248, 3.37, 4.79, 6.524, 8.605",\
                 "0.2023, 0.2711, 0.4827, 0.8506, 1.417, 2.247, 3.369, 4.791, 6.529, 8.592",\
                 "0.2019, 0.2704, 0.4804, 0.852, 1.417, 2.247, 3.369, 4.791, 6.523, 8.592",\
                 "0.2018, 0.27, 0.4808, 0.8516, 1.417, 2.247, 3.371, 4.791, 6.527, 8.603",\
                 "0.2096, 0.2782, 0.4858, 0.854, 1.419, 2.248, 3.369, 4.791, 6.528, 8.598",\
                 "0.2246, 0.2946, 0.5038, 0.8716, 1.43, 2.253, 3.372, 4.79, 6.528, 8.602",\
                 "0.2404, 0.3134, 0.5218, 0.893, 1.447, 2.265, 3.378, 4.792, 6.527, 8.604",\
                 "0.2616, 0.3372, 0.5464, 0.9158, 1.466, 2.276, 3.385, 4.799, 6.528, 8.595",\
                 "0.2888, 0.3636, 0.5776, 0.9484, 1.496, 2.294, 3.393, 4.803, 6.533, 8.61",\
                 "0.3206, 0.397, 0.6112, 0.9852, 1.536, 2.327, 3.412, 4.814, 6.535, 8.602");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.9769, 1.048, 1.222, 1.457, 1.743, 2.081, 2.478, 2.947, 3.502, 4.155",\
                 "0.993, 1.064, 1.238, 1.473, 1.759, 2.097, 2.494, 2.964, 3.518, 4.171",\
                 "1.047, 1.118, 1.292, 1.527, 1.813, 2.151, 2.548, 3.017, 3.572, 4.225",\
                 "1.16, 1.231, 1.405, 1.64, 1.926, 2.263, 2.661, 3.13, 3.685, 4.337",\
                 "1.351, 1.422, 1.596, 1.831, 2.117, 2.454, 2.851, 3.321, 3.875, 4.528",\
                 "1.626, 1.698, 1.871, 2.105, 2.391, 2.728, 3.126, 3.594, 4.149, 4.801",\
                 "1.945, 2.02, 2.201, 2.442, 2.732, 3.072, 3.47, 3.939, 4.493, 5.144",\
                 "2.305, 2.384, 2.574, 2.822, 3.119, 3.465, 3.867, 4.338, 4.892, 5.543",\
                 "2.711, 2.794, 2.991, 3.25, 3.555, 3.907, 4.313, 4.787, 5.342, 5.993",\
                 "3.161, 3.248, 3.455, 3.726, 4.041, 4.402, 4.813, 5.289, 5.846, 6.498");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.7553, 0.8208, 0.9923, 1.259, 1.627, 2.121, 2.765, 3.576, 4.563, 5.739",\
                 "0.7685, 0.8339, 1.005, 1.272, 1.641, 2.134, 2.779, 3.589, 4.576, 5.752",\
                 "0.8116, 0.8772, 1.048, 1.315, 1.684, 2.178, 2.822, 3.632, 4.62, 5.796",\
                 "0.8958, 0.9616, 1.133, 1.4, 1.768, 2.262, 2.906, 3.716, 4.703, 5.88",\
                 "1.027, 1.093, 1.263, 1.529, 1.895, 2.388, 3.031, 3.841, 4.828, 6.004",\
                 "1.155, 1.224, 1.399, 1.667, 2.034, 2.525, 3.166, 3.975, 4.961, 6.136",\
                 "1.261, 1.333, 1.513, 1.785, 2.155, 2.646, 3.286, 4.093, 5.077, 6.252",\
                 "1.345, 1.421, 1.607, 1.884, 2.255, 2.747, 3.385, 4.191, 5.174, 6.348",\
                 "1.401, 1.481, 1.677, 1.96, 2.337, 2.828, 3.464, 4.269, 5.25, 6.422",\
                 "1.424, 1.509, 1.714, 2.006, 2.389, 2.885, 3.521, 4.323, 5.304, 6.474");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2811, 0.3502, 0.512, 0.7386, 1.044, 1.446, 1.976, 2.661, 3.53, 4.586",\
                 "0.281, 0.3504, 0.512, 0.7386, 1.045, 1.446, 1.976, 2.663, 3.53, 4.588",\
                 "0.282, 0.3502, 0.5126, 0.7388, 1.044, 1.446, 1.975, 2.662, 3.527, 4.592",\
                 "0.2818, 0.35, 0.512, 0.7404, 1.044, 1.446, 1.976, 2.662, 3.531, 4.589",\
                 "0.2802, 0.3494, 0.512, 0.7398, 1.045, 1.446, 1.976, 2.662, 3.527, 4.592",\
                 "0.2948, 0.3632, 0.5228, 0.749, 1.052, 1.451, 1.979, 2.664, 3.532, 4.588",\
                 "0.3296, 0.4004, 0.5628, 0.7808, 1.077, 1.469, 1.991, 2.67, 3.535, 4.59",\
                 "0.3624, 0.4374, 0.6046, 0.824, 1.118, 1.504, 2.015, 2.685, 3.543, 4.598",\
                 "0.4008, 0.4776, 0.6528, 0.8724, 1.162, 1.543, 2.047, 2.709, 3.555, 4.603",\
                 "0.4458, 0.5256, 0.7088, 0.9334, 1.219, 1.591, 2.083, 2.734, 3.574, 4.614");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2012, 0.2701, 0.4807, 0.8522, 1.417, 2.247, 3.368, 4.789, 6.529, 8.593",\
                 "0.2012, 0.2702, 0.4805, 0.85, 1.417, 2.247, 3.371, 4.79, 6.524, 8.593",\
                 "0.2011, 0.2704, 0.4804, 0.8514, 1.417, 2.247, 3.371, 4.79, 6.525, 8.605",\
                 "0.2014, 0.2704, 0.4814, 0.8506, 1.417, 2.247, 3.371, 4.789, 6.525, 8.6",\
                 "0.206, 0.275, 0.4852, 0.854, 1.418, 2.248, 3.369, 4.791, 6.528, 8.605",\
                 "0.229, 0.2962, 0.5024, 0.8686, 1.427, 2.251, 3.37, 4.791, 6.522, 8.604",\
                 "0.2526, 0.3222, 0.5244, 0.8896, 1.443, 2.26, 3.374, 4.793, 6.527, 8.602",\
                 "0.282, 0.3526, 0.5528, 0.9134, 1.461, 2.271, 3.38, 4.795, 6.531, 8.595",\
                 "0.3156, 0.3898, 0.5876, 0.9468, 1.487, 2.284, 3.388, 4.798, 6.531, 8.606",\
                 "0.3514, 0.4278, 0.6302, 0.9888, 1.524, 2.309, 3.399, 4.806, 6.531, 8.601");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.9417, 1.014, 1.193, 1.434, 1.728, 2.074, 2.479, 2.954, 3.512, 4.167",\
                 "0.9577, 1.03, 1.209, 1.451, 1.744, 2.09, 2.495, 2.97, 3.528, 4.183",\
                 "1.012, 1.084, 1.262, 1.504, 1.798, 2.144, 2.549, 3.024, 3.582, 4.237",\
                 "1.125, 1.197, 1.376, 1.618, 1.911, 2.257, 2.662, 3.137, 3.695, 4.35",\
                 "1.317, 1.39, 1.568, 1.809, 2.103, 2.448, 2.853, 3.328, 3.886, 4.541",\
                 "1.59, 1.664, 1.843, 2.084, 2.377, 2.722, 3.127, 3.602, 4.16, 4.814",\
                 "1.905, 1.982, 2.17, 2.418, 2.716, 3.064, 3.47, 3.945, 4.503, 5.157",\
                 "2.263, 2.344, 2.54, 2.797, 3.102, 3.457, 3.867, 4.344, 4.903, 5.556",\
                 "2.666, 2.75, 2.955, 3.223, 3.536, 3.898, 4.313, 4.794, 5.354, 6.007",\
                 "3.112, 3.2, 3.416, 3.696, 4.021, 4.392, 4.812, 5.297, 5.859, 6.513");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.7878, 0.8523, 1.022, 1.286, 1.652, 2.145, 2.789, 3.6, 4.587, 5.763",\
                 "0.801, 0.8657, 1.035, 1.299, 1.666, 2.158, 2.803, 3.613, 4.6, 5.776",\
                 "0.844, 0.9089, 1.078, 1.342, 1.709, 2.202, 2.846, 3.656, 4.643, 5.82",\
                 "0.928, 0.9931, 1.163, 1.427, 1.793, 2.285, 2.929, 3.74, 4.727, 5.903",\
                 "1.06, 1.125, 1.294, 1.557, 1.922, 2.413, 3.057, 3.867, 4.854, 6.029",\
                 "1.195, 1.262, 1.434, 1.7, 2.064, 2.554, 3.196, 4.004, 4.99, 6.165",\
                 "1.306, 1.377, 1.554, 1.822, 2.189, 2.678, 3.319, 4.126, 5.111, 6.285",\
                 "1.396, 1.47, 1.653, 1.924, 2.293, 2.782, 3.421, 4.227, 5.211, 6.384",\
                 "1.457, 1.535, 1.727, 2.004, 2.377, 2.866, 3.503, 4.308, 5.29, 6.461",\
                 "1.485, 1.567, 1.768, 2.054, 2.433, 2.926, 3.562, 4.364, 5.345, 6.516");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2816, 0.3547, 0.5248, 0.7578, 1.069, 1.476, 2.006, 2.687, 3.549, 4.603",\
                 "0.2828, 0.3553, 0.5244, 0.757, 1.069, 1.476, 2.005, 2.688, 3.546, 4.603",\
                 "0.2822, 0.3552, 0.5242, 0.7566, 1.069, 1.476, 2.005, 2.687, 3.549, 4.599",\
                 "0.2826, 0.3554, 0.5248, 0.7568, 1.069, 1.476, 2.006, 2.688, 3.548, 4.599",\
                 "0.2806, 0.3542, 0.5256, 0.7586, 1.07, 1.477, 2.006, 2.688, 3.549, 4.599",\
                 "0.2992, 0.371, 0.538, 0.7674, 1.077, 1.482, 2.01, 2.69, 3.55, 4.599",\
                 "0.3334, 0.4098, 0.58, 0.8038, 1.106, 1.502, 2.023, 2.697, 3.554, 4.604",\
                 "0.3672, 0.447, 0.6248, 0.849, 1.148, 1.539, 2.05, 2.716, 3.561, 4.606",\
                 "0.4052, 0.4896, 0.6762, 0.9002, 1.194, 1.581, 2.085, 2.742, 3.58, 4.619",\
                 "0.4518, 0.5388, 0.736, 0.9646, 1.254, 1.633, 2.126, 2.769, 3.598, 4.63");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2009, 0.268, 0.4763, 0.8438, 1.412, 2.245, 3.368, 4.791, 6.525, 8.605",\
                 "0.2009, 0.2684, 0.4764, 0.8448, 1.412, 2.245, 3.37, 4.791, 6.523, 8.603",\
                 "0.2008, 0.2682, 0.4768, 0.8438, 1.412, 2.245, 3.368, 4.79, 6.527, 8.605",\
                 "0.1994, 0.267, 0.476, 0.8456, 1.412, 2.245, 3.37, 4.791, 6.529, 8.596",\
                 "0.2024, 0.27, 0.4776, 0.8462, 1.413, 2.246, 3.369, 4.79, 6.529, 8.599",\
                 "0.2248, 0.2918, 0.4954, 0.8592, 1.42, 2.248, 3.371, 4.791, 6.523, 8.603",\
                 "0.2484, 0.3144, 0.516, 0.8786, 1.435, 2.256, 3.374, 4.791, 6.521, 8.595",\
                 "0.2752, 0.344, 0.5422, 0.9016, 1.451, 2.266, 3.378, 4.795, 6.531, 8.605",\
                 "0.3068, 0.3802, 0.5748, 0.9326, 1.474, 2.277, 3.384, 4.798, 6.532, 8.6",\
                 "0.3418, 0.417, 0.6142, 0.973, 1.507, 2.299, 3.393, 4.803, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.9417, 1.014, 1.193, 1.434, 1.728, 2.074, 2.479, 2.954, 3.512, 4.167",\
                 "0.9577, 1.03, 1.209, 1.451, 1.744, 2.09, 2.495, 2.97, 3.528, 4.183",\
                 "1.012, 1.084, 1.262, 1.504, 1.798, 2.144, 2.549, 3.024, 3.582, 4.237",\
                 "1.125, 1.197, 1.376, 1.618, 1.911, 2.257, 2.662, 3.137, 3.695, 4.35",\
                 "1.317, 1.39, 1.568, 1.809, 2.103, 2.448, 2.853, 3.328, 3.886, 4.541",\
                 "1.59, 1.664, 1.843, 2.084, 2.377, 2.722, 3.127, 3.602, 4.16, 4.814",\
                 "1.905, 1.982, 2.17, 2.418, 2.716, 3.064, 3.47, 3.945, 4.503, 5.157",\
                 "2.263, 2.344, 2.54, 2.797, 3.102, 3.457, 3.867, 4.344, 4.903, 5.556",\
                 "2.666, 2.75, 2.955, 3.223, 3.536, 3.898, 4.313, 4.794, 5.354, 6.007",\
                 "3.112, 3.2, 3.416, 3.696, 4.021, 4.392, 4.812, 5.297, 5.859, 6.513");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.7878, 0.8523, 1.022, 1.286, 1.652, 2.145, 2.789, 3.6, 4.587, 5.763",\
                 "0.801, 0.8657, 1.035, 1.299, 1.666, 2.158, 2.803, 3.613, 4.6, 5.776",\
                 "0.844, 0.9089, 1.078, 1.342, 1.709, 2.202, 2.846, 3.656, 4.643, 5.82",\
                 "0.928, 0.9931, 1.163, 1.427, 1.793, 2.285, 2.929, 3.74, 4.727, 5.903",\
                 "1.06, 1.125, 1.294, 1.557, 1.922, 2.413, 3.057, 3.867, 4.854, 6.029",\
                 "1.195, 1.262, 1.434, 1.7, 2.064, 2.554, 3.196, 4.004, 4.99, 6.165",\
                 "1.306, 1.377, 1.554, 1.822, 2.189, 2.678, 3.319, 4.126, 5.111, 6.285",\
                 "1.396, 1.47, 1.653, 1.924, 2.293, 2.782, 3.421, 4.227, 5.211, 6.384",\
                 "1.457, 1.535, 1.727, 2.004, 2.377, 2.866, 3.503, 4.308, 5.29, 6.461",\
                 "1.485, 1.567, 1.768, 2.054, 2.433, 2.926, 3.562, 4.364, 5.345, 6.516");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2816, 0.3547, 0.5248, 0.7578, 1.069, 1.476, 2.006, 2.687, 3.549, 4.603",\
                 "0.2828, 0.3553, 0.5244, 0.757, 1.069, 1.476, 2.005, 2.688, 3.546, 4.603",\
                 "0.2822, 0.3552, 0.5242, 0.7566, 1.069, 1.476, 2.005, 2.687, 3.549, 4.599",\
                 "0.2826, 0.3554, 0.5248, 0.7568, 1.069, 1.476, 2.006, 2.688, 3.548, 4.599",\
                 "0.2806, 0.3542, 0.5256, 0.7586, 1.07, 1.477, 2.006, 2.688, 3.549, 4.599",\
                 "0.2992, 0.371, 0.538, 0.7674, 1.077, 1.482, 2.01, 2.69, 3.55, 4.599",\
                 "0.3334, 0.4098, 0.58, 0.8038, 1.106, 1.502, 2.023, 2.697, 3.554, 4.604",\
                 "0.3672, 0.447, 0.6248, 0.849, 1.148, 1.539, 2.05, 2.716, 3.561, 4.606",\
                 "0.4052, 0.4896, 0.6762, 0.9002, 1.194, 1.581, 2.085, 2.742, 3.58, 4.619",\
                 "0.4518, 0.5388, 0.736, 0.9646, 1.254, 1.633, 2.126, 2.769, 3.598, 4.63");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2012, 0.2701, 0.4807, 0.8522, 1.417, 2.247, 3.368, 4.789, 6.529, 8.593",\
                 "0.2012, 0.2702, 0.4805, 0.85, 1.417, 2.247, 3.371, 4.79, 6.524, 8.593",\
                 "0.2011, 0.2704, 0.4804, 0.8514, 1.417, 2.247, 3.371, 4.79, 6.525, 8.605",\
                 "0.2014, 0.2704, 0.4814, 0.8506, 1.417, 2.247, 3.371, 4.789, 6.525, 8.6",\
                 "0.206, 0.275, 0.4852, 0.854, 1.418, 2.248, 3.369, 4.791, 6.528, 8.605",\
                 "0.229, 0.2962, 0.5024, 0.8686, 1.427, 2.251, 3.37, 4.791, 6.522, 8.604",\
                 "0.2526, 0.3222, 0.5244, 0.8896, 1.443, 2.26, 3.374, 4.793, 6.527, 8.602",\
                 "0.282, 0.3526, 0.5528, 0.9134, 1.461, 2.271, 3.38, 4.795, 6.531, 8.595",\
                 "0.3156, 0.3898, 0.5876, 0.9468, 1.487, 2.284, 3.388, 4.798, 6.531, 8.606",\
                 "0.3514, 0.4278, 0.6302, 0.9888, 1.524, 2.309, 3.399, 4.806, 6.531, 8.601");
        }
      }
    }

    pin(S) {
      direction : output ;
      function : "(A^B^CI)" ;
      max_capacitance : 1.282 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.5817, 0.556, 0.4939, 0.4265, 0.3778, 0.3464, 0.3251, 0.3096, 0.2981, 0.2896",\
                 "0.5805, 0.5547, 0.4927, 0.4253, 0.3766, 0.3452, 0.3237, 0.3083, 0.2969, 0.2883",\
                 "0.5797, 0.554, 0.4917, 0.4245, 0.3758, 0.3445, 0.3231, 0.3076, 0.2961, 0.2876",\
                 "0.5796, 0.5539, 0.4917, 0.4243, 0.3756, 0.3441, 0.323, 0.3075, 0.2961, 0.2875",\
                 "0.5829, 0.5572, 0.4949, 0.4275, 0.3786, 0.3475, 0.3258, 0.3104, 0.2989, 0.2904",\
                 "0.597, 0.5711, 0.5083, 0.4398, 0.3899, 0.358, 0.3357, 0.3197, 0.3079, 0.2992",\
                 "0.6256, 0.5994, 0.5351, 0.4645, 0.4121, 0.378, 0.3542, 0.3372, 0.3247, 0.3153",\
                 "0.6681, 0.6414, 0.5754, 0.5015, 0.4448, 0.4078, 0.3818, 0.3632, 0.3491, 0.3387",\
                 "0.7269, 0.6997, 0.6316, 0.5535, 0.4914, 0.4498, 0.4207, 0.3992, 0.3832, 0.3712",\
                 "0.8048, 0.7766, 0.7056, 0.6217, 0.5527, 0.505, 0.471, 0.4463, 0.4275, 0.4133");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2064, 0.1889, 0.1672, 0.1538, 0.1462, 0.1431, 0.1424, 0.144, 0.1448, 0.158",\
                 "0.2058, 0.1889, 0.1668, 0.1532, 0.1458, 0.1427, 0.1417, 0.1413, 0.1441, 0.1592",\
                 "0.2054, 0.1884, 0.1664, 0.1527, 0.1452, 0.1421, 0.1411, 0.1407, 0.1425, 0.1564",\
                 "0.2065, 0.1892, 0.1679, 0.1529, 0.1454, 0.1418, 0.1417, 0.142, 0.1438, 0.1581",\
                 "0.2195, 0.2017, 0.1788, 0.162, 0.1524, 0.1474, 0.145, 0.1449, 0.1471, 0.1655",\
                 "0.2445, 0.2246, 0.1972, 0.1785, 0.1657, 0.1583, 0.1546, 0.1532, 0.1553, 0.1759",\
                 "0.2809, 0.259, 0.2265, 0.2031, 0.1876, 0.1787, 0.1718, 0.1688, 0.1684, 0.1956",\
                 "0.3294, 0.3051, 0.2669, 0.2398, 0.2166, 0.2048, 0.1985, 0.1929, 0.1888, 0.2246",\
                 "0.3898, 0.3633, 0.3184, 0.2854, 0.2574, 0.2384, 0.2289, 0.2243, 0.2237, 0.2709",\
                 "0.4618, 0.4335, 0.381, 0.3413, 0.3106, 0.2866, 0.2678, 0.2607, 0.2634, 0.337");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "!B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3341, 0.3117, 0.2623, 0.2182, 0.1919, 0.1753, 0.1644, 0.1568, 0.1513, 0.1473",\
                 "0.3337, 0.3115, 0.262, 0.2186, 0.1922, 0.1757, 0.1643, 0.1567, 0.1512, 0.1473",\
                 "0.3334, 0.3112, 0.2618, 0.2177, 0.1914, 0.1749, 0.1638, 0.1562, 0.1507, 0.1468",\
                 "0.3335, 0.3115, 0.2621, 0.218, 0.1919, 0.1754, 0.1643, 0.1565, 0.1511, 0.1471",\
                 "0.3392, 0.317, 0.2676, 0.2234, 0.1972, 0.1805, 0.1695, 0.1618, 0.1563, 0.1523",\
                 "0.3513, 0.3289, 0.2792, 0.2351, 0.2085, 0.1914, 0.1806, 0.1728, 0.1673, 0.1633",\
                 "0.3692, 0.3467, 0.2968, 0.2528, 0.226, 0.2093, 0.1979, 0.189, 0.1834, 0.1793",\
                 "0.3945, 0.3718, 0.3213, 0.2759, 0.2488, 0.2313, 0.2198, 0.2117, 0.2059, 0.2017",\
                 "0.4263, 0.4034, 0.3525, 0.3065, 0.2787, 0.2609, 0.2489, 0.2407, 0.2346, 0.2304",\
                 "0.4637, 0.4407, 0.3893, 0.3425, 0.3138, 0.2956, 0.2835, 0.2749, 0.2689, 0.2646");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3897, 0.3693, 0.3412, 0.3202, 0.3055, 0.2966, 0.292, 0.2906, 0.2917, 0.3105",\
                 "0.3895, 0.3686, 0.3403, 0.3192, 0.3047, 0.2958, 0.2918, 0.2898, 0.2919, 0.3092",\
                 "0.3889, 0.3682, 0.3403, 0.3189, 0.3043, 0.2962, 0.2919, 0.2898, 0.2902, 0.3097",\
                 "0.3893, 0.3689, 0.3407, 0.3201, 0.305, 0.2965, 0.2918, 0.2901, 0.2915, 0.3127",\
                 "0.3931, 0.3724, 0.3443, 0.3235, 0.309, 0.3005, 0.2955, 0.2942, 0.2964, 0.3241",\
                 "0.4057, 0.385, 0.3566, 0.3359, 0.3211, 0.3118, 0.3075, 0.3052, 0.3091, 0.3405",\
                 "0.4271, 0.4064, 0.3776, 0.3563, 0.3409, 0.3314, 0.3261, 0.3245, 0.3289, 0.3746",\
                 "0.4571, 0.4359, 0.4065, 0.384, 0.3695, 0.3583, 0.3534, 0.3519, 0.3556, 0.4284",\
                 "0.4965, 0.475, 0.4439, 0.4207, 0.4037, 0.3954, 0.3891, 0.3852, 0.3969, 0.5141",\
                 "0.5448, 0.5221, 0.4904, 0.4663, 0.4473, 0.4364, 0.4327, 0.4298, 0.4551, 0.6583");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3382, 0.3162, 0.2673, 0.2235, 0.1972, 0.1807, 0.1695, 0.1616, 0.1561, 0.152",\
                 "0.3382, 0.3162, 0.2671, 0.223, 0.1966, 0.1799, 0.1685, 0.1607, 0.155, 0.1509",\
                 "0.338, 0.3161, 0.267, 0.2229, 0.1965, 0.1796, 0.1683, 0.1603, 0.1545, 0.1503",\
                 "0.3384, 0.3165, 0.2672, 0.223, 0.1966, 0.1798, 0.1683, 0.1602, 0.1545, 0.1503",\
                 "0.3441, 0.3222, 0.2728, 0.2284, 0.2022, 0.1854, 0.1739, 0.1659, 0.1602, 0.156",\
                 "0.3557, 0.3336, 0.2848, 0.2403, 0.2137, 0.1967, 0.1852, 0.177, 0.1713, 0.1671",\
                 "0.374, 0.3525, 0.3024, 0.2576, 0.231, 0.2132, 0.2015, 0.1932, 0.1876, 0.1833",\
                 "0.3993, 0.377, 0.3268, 0.2813, 0.2532, 0.2361, 0.2241, 0.2156, 0.2097, 0.2053",\
                 "0.4307, 0.4083, 0.3572, 0.3101, 0.2819, 0.2638, 0.2515, 0.2429, 0.2366, 0.2321",\
                 "0.4668, 0.4441, 0.3928, 0.3458, 0.3171, 0.2986, 0.286, 0.2772, 0.2709, 0.2664");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3796, 0.3593, 0.3321, 0.3121, 0.2989, 0.2911, 0.2874, 0.285, 0.2861, 0.3056",\
                 "0.379, 0.3591, 0.3321, 0.3115, 0.2983, 0.2903, 0.2867, 0.2853, 0.2847, 0.3057",\
                 "0.3789, 0.3591, 0.3318, 0.3117, 0.2986, 0.2904, 0.2864, 0.2853, 0.2867, 0.3069",\
                 "0.3793, 0.3591, 0.3319, 0.3125, 0.2988, 0.2909, 0.2866, 0.2852, 0.2866, 0.3088",\
                 "0.3825, 0.3623, 0.3353, 0.3148, 0.3018, 0.2938, 0.2895, 0.2889, 0.2888, 0.3166",\
                 "0.3947, 0.3749, 0.3473, 0.3269, 0.3136, 0.3052, 0.3012, 0.3006, 0.3018, 0.337",\
                 "0.4155, 0.3954, 0.3678, 0.3472, 0.3332, 0.3243, 0.32, 0.3187, 0.3215, 0.3693",\
                 "0.4452, 0.4246, 0.396, 0.375, 0.3609, 0.3516, 0.3469, 0.3451, 0.3508, 0.4213",\
                 "0.4845, 0.4631, 0.4336, 0.4115, 0.3957, 0.3875, 0.3816, 0.3789, 0.3903, 0.5079",\
                 "0.5327, 0.5107, 0.4798, 0.4574, 0.4394, 0.43, 0.4253, 0.424, 0.45, 0.6511");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.4533, 0.4314, 0.383, 0.3396, 0.3139, 0.2974, 0.2866, 0.279, 0.2736, 0.2696",\
                 "0.4529, 0.431, 0.3826, 0.3393, 0.3137, 0.297, 0.2862, 0.2786, 0.2732, 0.2692",\
                 "0.4524, 0.4306, 0.3822, 0.3389, 0.3131, 0.2966, 0.2858, 0.2782, 0.2728, 0.2689",\
                 "0.4526, 0.4307, 0.3823, 0.3389, 0.3132, 0.2967, 0.286, 0.2783, 0.2729, 0.269",\
                 "0.4586, 0.4366, 0.3877, 0.3436, 0.3175, 0.3007, 0.2895, 0.2817, 0.2762, 0.2721",\
                 "0.4812, 0.4588, 0.4078, 0.3606, 0.3317, 0.3132, 0.3008, 0.2921, 0.2858, 0.2812",\
                 "0.5188, 0.4954, 0.4414, 0.3893, 0.3563, 0.3349, 0.3202, 0.3101, 0.3028, 0.2975",\
                 "0.5712, 0.5467, 0.4892, 0.4313, 0.3925, 0.3672, 0.3495, 0.3372, 0.3282, 0.3217",\
                 "0.64, 0.6145, 0.553, 0.4877, 0.4421, 0.4111, 0.3893, 0.3743, 0.3629, 0.3547",\
                 "0.7231, 0.6965, 0.6305, 0.5578, 0.5039, 0.4667, 0.4401, 0.4212, 0.4073, 0.3969");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2586, 0.2356, 0.2009, 0.1778, 0.1636, 0.1559, 0.1516, 0.1492, 0.1503, 0.1626",\
                 "0.2568, 0.2343, 0.1995, 0.1772, 0.1621, 0.1542, 0.1496, 0.1485, 0.1487, 0.164",\
                 "0.2552, 0.2323, 0.1975, 0.1748, 0.1603, 0.1526, 0.1483, 0.1462, 0.1467, 0.1607",\
                 "0.2552, 0.2323, 0.1976, 0.1747, 0.1601, 0.1519, 0.1473, 0.1452, 0.146, 0.1619",\
                 "0.2635, 0.2406, 0.2051, 0.1816, 0.1657, 0.1562, 0.1512, 0.1485, 0.1513, 0.1655",\
                 "0.2842, 0.2604, 0.2224, 0.1977, 0.1799, 0.1687, 0.1618, 0.1594, 0.1611, 0.1827",\
                 "0.3153, 0.2903, 0.2487, 0.2195, 0.2011, 0.1882, 0.1786, 0.1741, 0.175, 0.1982",\
                 "0.359, 0.3326, 0.2861, 0.2537, 0.2296, 0.2149, 0.205, 0.1978, 0.1957, 0.2309",\
                 "0.4135, 0.3859, 0.334, 0.2972, 0.2672, 0.2473, 0.2364, 0.2302, 0.2276, 0.2745",\
                 "0.4796, 0.4508, 0.392, 0.3497, 0.3171, 0.2908, 0.2733, 0.2666, 0.2689, 0.3504");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.579, 0.5533, 0.4911, 0.4237, 0.3749, 0.3433, 0.322, 0.3064, 0.295, 0.2864",\
                 "0.5783, 0.5526, 0.4904, 0.423, 0.3742, 0.3428, 0.3211, 0.3057, 0.2943, 0.2857",\
                 "0.5779, 0.5521, 0.4899, 0.4225, 0.3737, 0.3423, 0.3207, 0.3052, 0.2938, 0.2852",\
                 "0.5783, 0.5525, 0.4904, 0.4228, 0.374, 0.3424, 0.3211, 0.3056, 0.2941, 0.2855",\
                 "0.5825, 0.5567, 0.4944, 0.4268, 0.3776, 0.3461, 0.3244, 0.3089, 0.2975, 0.2889",\
                 "0.5976, 0.5717, 0.5087, 0.4399, 0.3894, 0.357, 0.3346, 0.3184, 0.3065, 0.2975",\
                 "0.6275, 0.6011, 0.5365, 0.4651, 0.4116, 0.3769, 0.3527, 0.3352, 0.3222, 0.3124",\
                 "0.6667, 0.6397, 0.5734, 0.4985, 0.4412, 0.4035, 0.3771, 0.3578, 0.3436, 0.3329",\
                 "0.7161, 0.6886, 0.62, 0.5418, 0.4791, 0.438, 0.4087, 0.3876, 0.3718, 0.3598",\
                 "0.7795, 0.7515, 0.6805, 0.5976, 0.5296, 0.4833, 0.4502, 0.4261, 0.4081, 0.3942");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.1986, 0.1819, 0.1616, 0.1481, 0.1417, 0.1391, 0.1385, 0.1407, 0.1412, 0.1539",\
                 "0.1987, 0.1821, 0.1618, 0.1485, 0.1418, 0.1391, 0.1385, 0.1384, 0.1412, 0.1544",\
                 "0.1986, 0.1822, 0.1618, 0.1479, 0.1416, 0.1391, 0.1388, 0.14, 0.1408, 0.1548",\
                 "0.2003, 0.1837, 0.1634, 0.1492, 0.1423, 0.1391, 0.1388, 0.1394, 0.1415, 0.1565",\
                 "0.2142, 0.1963, 0.1742, 0.1581, 0.1493, 0.1451, 0.1431, 0.144, 0.1451, 0.163",\
                 "0.2386, 0.2189, 0.1922, 0.1746, 0.1629, 0.1553, 0.152, 0.1526, 0.1523, 0.1725",\
                 "0.2735, 0.2513, 0.22, 0.1966, 0.1819, 0.1731, 0.1672, 0.1649, 0.1665, 0.189",\
                 "0.3188, 0.2949, 0.2563, 0.2298, 0.2078, 0.1966, 0.1919, 0.187, 0.1849, 0.2193",\
                 "0.374, 0.3474, 0.3032, 0.2709, 0.2448, 0.2263, 0.216, 0.2141, 0.2112, 0.2568",\
                 "0.4385, 0.4099, 0.3579, 0.3199, 0.2898, 0.2662, 0.25, 0.2413, 0.2476, 0.3185");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3397, 0.3167, 0.2674, 0.2218, 0.1939, 0.1763, 0.1645, 0.1556, 0.1497, 0.1454",\
                 "0.3393, 0.3172, 0.2671, 0.2212, 0.1936, 0.1759, 0.164, 0.1557, 0.1498, 0.1455",\
                 "0.3391, 0.3168, 0.267, 0.2211, 0.1933, 0.1758, 0.1641, 0.1558, 0.1499, 0.1456",\
                 "0.3399, 0.3175, 0.2673, 0.2215, 0.1936, 0.1759, 0.164, 0.1557, 0.1498, 0.1456",\
                 "0.346, 0.3234, 0.2732, 0.2272, 0.1993, 0.1816, 0.1697, 0.1613, 0.1554, 0.1511",\
                 "0.3564, 0.3339, 0.2837, 0.2373, 0.2094, 0.1914, 0.1794, 0.1709, 0.165, 0.1607",\
                 "0.3728, 0.3501, 0.2994, 0.2536, 0.2253, 0.2075, 0.1954, 0.187, 0.181, 0.1766",\
                 "0.3963, 0.3732, 0.3222, 0.2759, 0.2475, 0.2292, 0.2169, 0.2084, 0.2023, 0.1979",\
                 "0.4257, 0.4019, 0.3504, 0.3032, 0.2748, 0.2562, 0.2438, 0.2352, 0.2292, 0.2244",\
                 "0.4591, 0.4363, 0.3842, 0.3366, 0.3075, 0.2889, 0.2763, 0.2676, 0.2611, 0.2567");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3885, 0.3681, 0.3398, 0.3188, 0.3043, 0.2956, 0.291, 0.2893, 0.2913, 0.3085",\
                 "0.3882, 0.3678, 0.3397, 0.3187, 0.3042, 0.2954, 0.2915, 0.2887, 0.2902, 0.3111",\
                 "0.3878, 0.3673, 0.3391, 0.3182, 0.304, 0.2947, 0.2904, 0.2886, 0.291, 0.3093",\
                 "0.3882, 0.3678, 0.3392, 0.3183, 0.3037, 0.2949, 0.2906, 0.2889, 0.2906, 0.3131",\
                 "0.3912, 0.3706, 0.3422, 0.3215, 0.3071, 0.2982, 0.2943, 0.2923, 0.2936, 0.322",\
                 "0.4041, 0.3836, 0.355, 0.3343, 0.32, 0.3108, 0.3068, 0.3042, 0.3071, 0.3432",\
                 "0.4298, 0.4092, 0.38, 0.3582, 0.3432, 0.334, 0.3297, 0.3271, 0.3301, 0.3869",\
                 "0.4626, 0.4415, 0.4115, 0.3896, 0.3732, 0.3632, 0.3579, 0.3561, 0.362, 0.4436",\
                 "0.5019, 0.4801, 0.449, 0.4269, 0.4092, 0.3999, 0.3926, 0.3901, 0.4031, 0.542",\
                 "0.5485, 0.5266, 0.4944, 0.4695, 0.4503, 0.4403, 0.4359, 0.4331, 0.4672, 0.7162");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&!CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3437, 0.3217, 0.2724, 0.2285, 0.2023, 0.1857, 0.1745, 0.1667, 0.161, 0.1569",\
                 "0.3437, 0.3218, 0.2728, 0.2284, 0.2023, 0.1857, 0.1744, 0.1666, 0.161, 0.1569",\
                 "0.3432, 0.3213, 0.2724, 0.2286, 0.2023, 0.1857, 0.1744, 0.1666, 0.1609, 0.1569",\
                 "0.3436, 0.3217, 0.2728, 0.2289, 0.2027, 0.186, 0.1747, 0.1669, 0.1613, 0.1572",\
                 "0.3492, 0.3272, 0.2787, 0.2345, 0.2082, 0.1914, 0.1801, 0.1724, 0.1668, 0.1627",\
                 "0.3648, 0.3428, 0.2938, 0.2497, 0.2232, 0.2065, 0.1952, 0.1874, 0.1817, 0.1776",\
                 "0.3848, 0.3629, 0.3137, 0.2691, 0.2423, 0.2255, 0.2141, 0.2061, 0.2003, 0.1961",\
                 "0.4106, 0.3893, 0.3389, 0.2952, 0.2672, 0.2497, 0.2383, 0.23, 0.2242, 0.2199",\
                 "0.4431, 0.4207, 0.3709, 0.3248, 0.2968, 0.2791, 0.2671, 0.2586, 0.2526, 0.2481",\
                 "0.4818, 0.4593, 0.4092, 0.3608, 0.3337, 0.3153, 0.3029, 0.2942, 0.2881, 0.2836");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3817, 0.3613, 0.3331, 0.3121, 0.298, 0.29, 0.2847, 0.2826, 0.2827, 0.3019",\
                 "0.3815, 0.3609, 0.3325, 0.3117, 0.2979, 0.2896, 0.2843, 0.2829, 0.2837, 0.3017",\
                 "0.3807, 0.3605, 0.3322, 0.3108, 0.2977, 0.2883, 0.284, 0.2835, 0.282, 0.3019",\
                 "0.3805, 0.3601, 0.3319, 0.3109, 0.2974, 0.2885, 0.2839, 0.2818, 0.2826, 0.3064",\
                 "0.3836, 0.3633, 0.3347, 0.314, 0.3003, 0.2913, 0.2867, 0.2867, 0.286, 0.312",\
                 "0.3954, 0.3749, 0.3465, 0.325, 0.3113, 0.3024, 0.2977, 0.2955, 0.2986, 0.3307",\
                 "0.4145, 0.3942, 0.3652, 0.3439, 0.3287, 0.3199, 0.3146, 0.3126, 0.3157, 0.3636",\
                 "0.4425, 0.4214, 0.3919, 0.3703, 0.3559, 0.3463, 0.341, 0.3392, 0.3423, 0.4152",\
                 "0.4798, 0.4584, 0.4277, 0.4049, 0.3892, 0.3814, 0.3751, 0.3725, 0.3819, 0.496",\
                 "0.5255, 0.5035, 0.4718, 0.4491, 0.4305, 0.4201, 0.4178, 0.415, 0.438, 0.6325");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A&CI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.4306, 0.4088, 0.3612, 0.3195, 0.2956, 0.2801, 0.27, 0.263, 0.258, 0.2544",\
                 "0.4305, 0.4087, 0.3611, 0.3193, 0.2955, 0.28, 0.2698, 0.2629, 0.2579, 0.2542",\
                 "0.4301, 0.4083, 0.3607, 0.3191, 0.2948, 0.2794, 0.2695, 0.2624, 0.2574, 0.2538",\
                 "0.4302, 0.4084, 0.3607, 0.3191, 0.2949, 0.2795, 0.2694, 0.2624, 0.2574, 0.2538",\
                 "0.4366, 0.4145, 0.3664, 0.3239, 0.299, 0.2834, 0.273, 0.2657, 0.2606, 0.2568",\
                 "0.4598, 0.4371, 0.3867, 0.3409, 0.3132, 0.2957, 0.2839, 0.2757, 0.2699, 0.2655",\
                 "0.4972, 0.4734, 0.4198, 0.3689, 0.3368, 0.3164, 0.3025, 0.2928, 0.2858, 0.2808",\
                 "0.5491, 0.5242, 0.467, 0.4098, 0.3723, 0.3473, 0.3304, 0.3185, 0.3098, 0.3035",\
                 "0.6169, 0.5912, 0.5292, 0.4646, 0.4195, 0.3891, 0.3682, 0.3533, 0.3425, 0.3346",\
                 "0.6974, 0.6704, 0.6042, 0.5317, 0.4781, 0.4423, 0.4164, 0.3978, 0.3842, 0.374");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2666, 0.2437, 0.2092, 0.1861, 0.1711, 0.1633, 0.1587, 0.1576, 0.1578, 0.1701",\
                 "0.2659, 0.2429, 0.2086, 0.1854, 0.171, 0.1627, 0.158, 0.1556, 0.1568, 0.1703",\
                 "0.2653, 0.2422, 0.2079, 0.1847, 0.1704, 0.162, 0.157, 0.1563, 0.1567, 0.1695",\
                 "0.2662, 0.2432, 0.2085, 0.1857, 0.1705, 0.1627, 0.1574, 0.1553, 0.1564, 0.1715",\
                 "0.2758, 0.2526, 0.2169, 0.1932, 0.1766, 0.1673, 0.162, 0.1589, 0.1607, 0.1771",\
                 "0.2985, 0.2742, 0.2357, 0.21, 0.1918, 0.1802, 0.1725, 0.1701, 0.1696, 0.1922",\
                 "0.3311, 0.3056, 0.264, 0.2343, 0.2149, 0.2003, 0.1907, 0.1855, 0.1857, 0.2132",\
                 "0.3759, 0.3489, 0.3015, 0.269, 0.243, 0.2277, 0.2154, 0.2072, 0.2054, 0.2425",\
                 "0.4325, 0.4041, 0.3511, 0.3135, 0.2833, 0.26, 0.2481, 0.2396, 0.2376, 0.2943",\
                 "0.4996, 0.4695, 0.4102, 0.3675, 0.3329, 0.3056, 0.2867, 0.2785, 0.2795, 0.3679");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.5647, 0.5389, 0.4769, 0.4094, 0.3605, 0.3293, 0.3079, 0.2923, 0.2809, 0.2723",\
                 "0.5641, 0.5383, 0.4763, 0.4089, 0.3601, 0.3286, 0.3074, 0.2919, 0.2804, 0.2719",\
                 "0.5628, 0.537, 0.4749, 0.4076, 0.3589, 0.3275, 0.3062, 0.2907, 0.2793, 0.2707",\
                 "0.5629, 0.5372, 0.475, 0.4076, 0.359, 0.3277, 0.3062, 0.2908, 0.2794, 0.2709",\
                 "0.566, 0.5402, 0.4781, 0.4106, 0.3617, 0.3305, 0.3091, 0.2937, 0.2824, 0.2738",\
                 "0.5775, 0.5517, 0.4893, 0.421, 0.3712, 0.3394, 0.3174, 0.3015, 0.2898, 0.2811",\
                 "0.61, 0.5836, 0.5189, 0.4476, 0.3944, 0.3596, 0.3353, 0.3179, 0.3051, 0.2954",\
                 "0.66, 0.6323, 0.5641, 0.4874, 0.4285, 0.3895, 0.3621, 0.3419, 0.3273, 0.3162",\
                 "0.7162, 0.6877, 0.6162, 0.5339, 0.4688, 0.425, 0.3943, 0.3714, 0.3546, 0.342",\
                 "0.7802, 0.7511, 0.6762, 0.5887, 0.5172, 0.4684, 0.4333, 0.4076, 0.3883, 0.3738");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2199, 0.2028, 0.1815, 0.1675, 0.1599, 0.1574, 0.1564, 0.157, 0.1591, 0.1714",\
                 "0.2201, 0.2031, 0.1819, 0.1672, 0.1607, 0.1577, 0.1571, 0.158, 0.1591, 0.174",\
                 "0.2203, 0.2033, 0.1819, 0.1678, 0.1604, 0.1577, 0.1571, 0.1586, 0.1591, 0.1727",\
                 "0.2223, 0.2054, 0.1836, 0.169, 0.1618, 0.1587, 0.1574, 0.1583, 0.1611, 0.1751",\
                 "0.2364, 0.2181, 0.1943, 0.1777, 0.1683, 0.1637, 0.162, 0.1632, 0.1657, 0.1806",\
                 "0.2585, 0.2386, 0.2105, 0.1921, 0.1808, 0.1732, 0.1699, 0.1692, 0.1713, 0.1904",\
                 "0.2917, 0.2695, 0.2366, 0.2137, 0.1975, 0.1904, 0.1848, 0.182, 0.1818, 0.2074",\
                 "0.3351, 0.3109, 0.2717, 0.244, 0.223, 0.2109, 0.2062, 0.2017, 0.2012, 0.2314",\
                 "0.3876, 0.3609, 0.315, 0.2825, 0.2562, 0.2369, 0.2273, 0.2254, 0.2258, 0.2689",\
                 "0.4485, 0.4199, 0.3673, 0.3289, 0.2983, 0.2742, 0.2594, 0.2513, 0.2563, 0.325");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "!A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3474, 0.325, 0.2749, 0.2291, 0.2014, 0.1837, 0.1718, 0.1634, 0.1575, 0.1532",\
                 "0.3477, 0.3251, 0.275, 0.2291, 0.2016, 0.1836, 0.1716, 0.1635, 0.1575, 0.1533",\
                 "0.3476, 0.3256, 0.2751, 0.2293, 0.2016, 0.1841, 0.1719, 0.1636, 0.1577, 0.1535",\
                 "0.3487, 0.326, 0.2763, 0.2303, 0.2025, 0.1847, 0.173, 0.1645, 0.1586, 0.1544",\
                 "0.3568, 0.3344, 0.2844, 0.2381, 0.2104, 0.193, 0.1807, 0.1722, 0.1662, 0.162",\
                 "0.3729, 0.3505, 0.3, 0.2535, 0.226, 0.2083, 0.1957, 0.1879, 0.1812, 0.1767",\
                 "0.3921, 0.3701, 0.3193, 0.273, 0.2451, 0.2272, 0.2152, 0.2068, 0.2001, 0.1962",\
                 "0.4183, 0.3949, 0.3435, 0.2973, 0.2693, 0.2518, 0.2396, 0.2313, 0.2254, 0.2208",\
                 "0.4501, 0.4268, 0.3744, 0.3276, 0.2997, 0.282, 0.2699, 0.2616, 0.2557, 0.2516",\
                 "0.4857, 0.4622, 0.4104, 0.3641, 0.3357, 0.3166, 0.3051, 0.2963, 0.291, 0.2868");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3678, 0.3475, 0.3204, 0.2998, 0.2867, 0.2783, 0.2744, 0.2726, 0.274, 0.2908",\
                 "0.3677, 0.3478, 0.3204, 0.2998, 0.2868, 0.2783, 0.2743, 0.2729, 0.274, 0.291",\
                 "0.3677, 0.3475, 0.3203, 0.2996, 0.2866, 0.2781, 0.2741, 0.2727, 0.2738, 0.292",\
                 "0.3682, 0.3481, 0.321, 0.3005, 0.2871, 0.2791, 0.2757, 0.2737, 0.2748, 0.2967",\
                 "0.3718, 0.3517, 0.3242, 0.3044, 0.2911, 0.2828, 0.2788, 0.2775, 0.2797, 0.3045",\
                 "0.3859, 0.3656, 0.3384, 0.3178, 0.304, 0.2963, 0.292, 0.2901, 0.2939, 0.328",\
                 "0.412, 0.3914, 0.3633, 0.3424, 0.3279, 0.3192, 0.3149, 0.3129, 0.316, 0.367",\
                 "0.4435, 0.4228, 0.3941, 0.3735, 0.3583, 0.3495, 0.3442, 0.3424, 0.35, 0.429",\
                 "0.4824, 0.4614, 0.4316, 0.4087, 0.3935, 0.3858, 0.3802, 0.3783, 0.3914, 0.5219",\
                 "0.5297, 0.5079, 0.4773, 0.454, 0.4365, 0.4272, 0.4232, 0.4209, 0.4534, 0.6857");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3418, 0.3195, 0.27, 0.226, 0.1997, 0.183, 0.1719, 0.1643, 0.1588, 0.155",\
                 "0.342, 0.3197, 0.2702, 0.2262, 0.1998, 0.1829, 0.1718, 0.1643, 0.1588, 0.1548",\
                 "0.3424, 0.3196, 0.2705, 0.2263, 0.1999, 0.1834, 0.1721, 0.1646, 0.1595, 0.1556",\
                 "0.3433, 0.3207, 0.2712, 0.227, 0.2008, 0.1842, 0.1727, 0.1653, 0.1597, 0.156",\
                 "0.3502, 0.328, 0.2781, 0.2338, 0.2076, 0.1912, 0.18, 0.1723, 0.1663, 0.1628",\
                 "0.3653, 0.3434, 0.2931, 0.2487, 0.223, 0.2063, 0.195, 0.187, 0.1814, 0.1774",\
                 "0.3839, 0.362, 0.3116, 0.2675, 0.2412, 0.2245, 0.2133, 0.2055, 0.2, 0.196",\
                 "0.4091, 0.3866, 0.3363, 0.2916, 0.2645, 0.2476, 0.2362, 0.2283, 0.2227, 0.2186",\
                 "0.4406, 0.4172, 0.3665, 0.3211, 0.2946, 0.2766, 0.2651, 0.2572, 0.2514, 0.2474",\
                 "0.4762, 0.4533, 0.4026, 0.3563, 0.328, 0.3108, 0.3, 0.2917, 0.2856, 0.282");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3739, 0.3533, 0.3256, 0.304, 0.2901, 0.2817, 0.2774, 0.2753, 0.2757, 0.294",\
                 "0.374, 0.3534, 0.3255, 0.304, 0.2904, 0.2814, 0.2771, 0.2766, 0.2751, 0.2932",\
                 "0.374, 0.3533, 0.3255, 0.3044, 0.2909, 0.2815, 0.2772, 0.2767, 0.2752, 0.2945",\
                 "0.3747, 0.3541, 0.326, 0.3056, 0.2915, 0.2822, 0.2779, 0.2779, 0.2766, 0.2994",\
                 "0.379, 0.3583, 0.3295, 0.3098, 0.2956, 0.2863, 0.2824, 0.2801, 0.2816, 0.3095",\
                 "0.3935, 0.3731, 0.3448, 0.3241, 0.3093, 0.3004, 0.2961, 0.2938, 0.2963, 0.331",\
                 "0.4203, 0.3993, 0.3701, 0.3487, 0.3335, 0.3242, 0.3199, 0.3183, 0.3193, 0.3722",\
                 "0.4526, 0.4314, 0.4017, 0.3799, 0.3651, 0.355, 0.3501, 0.3476, 0.3549, 0.4325",\
                 "0.4917, 0.4702, 0.4398, 0.4166, 0.4012, 0.3918, 0.3865, 0.385, 0.3993, 0.5295",\
                 "0.5396, 0.5176, 0.4863, 0.4618, 0.4452, 0.4351, 0.4311, 0.4281, 0.4599, 0.6985");
        }
      }

      internal_power() {
        related_pin : "CI" ;
        when : "A&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.4219, 0.4004, 0.3534, 0.3123, 0.2882, 0.2731, 0.2628, 0.2557, 0.2505, 0.2468",\
                 "0.422, 0.4006, 0.3535, 0.3124, 0.2883, 0.2732, 0.2629, 0.2558, 0.2506, 0.2469",\
                 "0.4214, 0.3999, 0.3529, 0.3117, 0.2877, 0.2726, 0.2624, 0.2552, 0.25, 0.2463",\
                 "0.4212, 0.3998, 0.3527, 0.3114, 0.2873, 0.2723, 0.2621, 0.255, 0.2499, 0.2462",\
                 "0.4272, 0.4056, 0.3583, 0.3162, 0.2913, 0.2759, 0.2654, 0.2581, 0.2528, 0.2489",\
                 "0.4495, 0.4273, 0.3773, 0.3318, 0.3046, 0.2874, 0.2756, 0.2676, 0.2617, 0.2573",\
                 "0.4847, 0.4612, 0.4082, 0.3579, 0.3262, 0.3063, 0.2928, 0.2833, 0.2765, 0.2714",\
                 "0.5355, 0.5108, 0.4536, 0.3969, 0.3596, 0.3351, 0.3188, 0.3072, 0.2989, 0.2927",\
                 "0.6017, 0.5759, 0.5141, 0.4498, 0.405, 0.3752, 0.355, 0.3404, 0.3299, 0.322",\
                 "0.6802, 0.6532, 0.5868, 0.5146, 0.4618, 0.4257, 0.4007, 0.3826, 0.3694, 0.3593");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2788, 0.2558, 0.2208, 0.1988, 0.1839, 0.1757, 0.1714, 0.1703, 0.1708, 0.1828",\
                 "0.2786, 0.2556, 0.221, 0.1982, 0.1836, 0.1763, 0.171, 0.1696, 0.1708, 0.183",\
                 "0.2779, 0.255, 0.22, 0.1977, 0.1828, 0.175, 0.17, 0.1693, 0.1707, 0.1837",\
                 "0.2783, 0.2554, 0.221, 0.1978, 0.1833, 0.1753, 0.171, 0.1686, 0.1707, 0.186",\
                 "0.2865, 0.2636, 0.2283, 0.2046, 0.1886, 0.18, 0.1753, 0.1719, 0.174, 0.1903",\
                 "0.314, 0.2897, 0.2519, 0.2257, 0.2062, 0.1945, 0.1869, 0.1822, 0.1822, 0.2054",\
                 "0.3515, 0.3254, 0.2819, 0.2517, 0.2306, 0.2146, 0.204, 0.1988, 0.198, 0.2261",\
                 "0.3992, 0.3709, 0.3226, 0.2878, 0.2611, 0.2443, 0.2311, 0.2216, 0.22, 0.2589",\
                 "0.4579, 0.4279, 0.3726, 0.3336, 0.3021, 0.2783, 0.2644, 0.2534, 0.2509, 0.3085",\
                 "0.5277, 0.4957, 0.4336, 0.3888, 0.3523, 0.3222, 0.3011, 0.2931, 0.2937, 0.3898");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.818, 1.882, 2.04, 2.255, 2.515, 2.82, 3.176, 3.597, 4.095, 4.681",\
                 "1.829, 1.893, 2.051, 2.265, 2.526, 2.83, 3.187, 3.608, 4.106, 4.692",\
                 "1.857, 1.921, 2.08, 2.294, 2.554, 2.859, 3.215, 3.637, 4.135, 4.72",\
                 "1.905, 1.969, 2.127, 2.342, 2.602, 2.907, 3.263, 3.684, 4.182, 4.768",\
                 "1.981, 2.045, 2.203, 2.418, 2.678, 2.982, 3.339, 3.76, 4.258, 4.844",\
                 "2.073, 2.137, 2.296, 2.51, 2.771, 3.075, 3.431, 3.853, 4.351, 4.936",\
                 "2.16, 2.224, 2.383, 2.598, 2.858, 3.162, 3.519, 3.94, 4.438, 5.024",\
                 "2.231, 2.296, 2.454, 2.669, 2.929, 3.234, 3.591, 4.012, 4.51, 5.095",\
                 "2.278, 2.343, 2.502, 2.718, 2.978, 3.283, 3.64, 4.061, 4.559, 5.144",\
                 "2.299, 2.364, 2.524, 2.739, 3, 3.305, 3.662, 4.083, 4.58, 5.166");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("2.074, 2.135, 2.296, 2.549, 2.905, 3.391, 4.028, 4.833, 5.816, 6.992",\
                 "2.088, 2.148, 2.309, 2.563, 2.919, 3.404, 4.042, 4.847, 5.831, 7.004",\
                 "2.128, 2.188, 2.35, 2.603, 2.959, 3.445, 4.082, 4.887, 5.871, 7.045",\
                 "2.202, 2.263, 2.424, 2.677, 3.033, 3.518, 4.156, 4.961, 5.944, 7.119",\
                 "2.333, 2.393, 2.554, 2.808, 3.164, 3.649, 4.287, 5.091, 6.075, 7.25",\
                 "2.531, 2.592, 2.753, 3.007, 3.363, 3.848, 4.486, 5.29, 6.274, 7.448",\
                 "2.795, 2.856, 3.017, 3.271, 3.626, 4.112, 4.748, 5.553, 6.537, 7.71",\
                 "3.111, 3.172, 3.334, 3.588, 3.944, 4.428, 5.065, 5.87, 6.853, 8.027",\
                 "3.478, 3.539, 3.701, 3.956, 4.311, 4.795, 5.432, 6.235, 7.218, 8.393",\
                 "3.89, 3.952, 4.115, 4.369, 4.724, 5.208, 5.844, 6.647, 7.63, 8.802");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2884, 0.348, 0.4926, 0.6966, 0.9666, 1.32, 1.792, 2.407, 3.185, 4.141",\
                 "0.2882, 0.3486, 0.4936, 0.6968, 0.9656, 1.322, 1.792, 2.409, 3.188, 4.142",\
                 "0.2884, 0.3498, 0.4928, 0.696, 0.9672, 1.321, 1.792, 2.407, 3.185, 4.137",\
                 "0.289, 0.348, 0.4936, 0.6952, 0.966, 1.321, 1.793, 2.407, 3.184, 4.14",\
                 "0.2882, 0.3484, 0.4928, 0.696, 0.9672, 1.32, 1.792, 2.407, 3.188, 4.139",\
                 "0.2884, 0.3484, 0.493, 0.6962, 0.967, 1.322, 1.794, 2.407, 3.187, 4.139",\
                 "0.2906, 0.3506, 0.4948, 0.698, 0.967, 1.322, 1.793, 2.409, 3.186, 4.139",\
                 "0.2944, 0.3534, 0.4982, 0.6996, 0.9692, 1.323, 1.793, 2.406, 3.188, 4.141",\
                 "0.297, 0.3572, 0.5018, 0.7028, 0.9726, 1.325, 1.795, 2.408, 3.184, 4.135",\
                 "0.301, 0.3608, 0.504, 0.7044, 0.9742, 1.326, 1.796, 2.407, 3.188, 4.135");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2108, 0.273, 0.4744, 0.8342, 1.4, 2.236, 3.359, 4.778, 6.526, 8.592",\
                 "0.211, 0.272, 0.4734, 0.834, 1.403, 2.236, 3.355, 4.779, 6.525, 8.604",\
                 "0.2104, 0.2726, 0.4736, 0.8332, 1.4, 2.236, 3.355, 4.783, 6.525, 8.605",\
                 "0.2108, 0.2722, 0.4726, 0.8328, 1.4, 2.236, 3.355, 4.783, 6.526, 8.593",\
                 "0.2104, 0.272, 0.4734, 0.8354, 1.401, 2.236, 3.355, 4.783, 6.526, 8.591",\
                 "0.2108, 0.2728, 0.4746, 0.8346, 1.403, 2.236, 3.356, 4.782, 6.518, 8.605",\
                 "0.2128, 0.274, 0.475, 0.8354, 1.402, 2.237, 3.36, 4.779, 6.519, 8.603",\
                 "0.2156, 0.2776, 0.477, 0.838, 1.402, 2.237, 3.359, 4.778, 6.524, 8.591",\
                 "0.2204, 0.2814, 0.4806, 0.8396, 1.405, 2.236, 3.358, 4.776, 6.525, 8.584",\
                 "0.2266, 0.2868, 0.4852, 0.8444, 1.408, 2.236, 3.356, 4.776, 6.522, 8.6");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.793, 1.858, 2.019, 2.238, 2.505, 2.817, 3.181, 3.608, 4.11, 4.697",\
                 "1.8, 1.865, 2.026, 2.247, 2.514, 2.827, 3.191, 3.618, 4.119, 4.707",\
                 "1.822, 1.886, 2.049, 2.27, 2.537, 2.85, 3.214, 3.641, 4.143, 4.73",\
                 "1.869, 1.934, 2.096, 2.317, 2.584, 2.897, 3.261, 3.688, 4.19, 4.778",\
                 "1.946, 2.011, 2.173, 2.394, 2.661, 2.974, 3.338, 3.765, 4.267, 4.855",\
                 "2.04, 2.105, 2.268, 2.489, 2.756, 3.069, 3.433, 3.86, 4.362, 4.95",\
                 "2.13, 2.195, 2.358, 2.579, 2.847, 3.159, 3.523, 3.95, 4.452, 5.04",\
                 "2.203, 2.268, 2.431, 2.652, 2.92, 3.233, 3.597, 4.024, 4.526, 5.113",\
                 "2.251, 2.316, 2.48, 2.702, 2.97, 3.283, 3.647, 4.074, 4.576, 5.163",\
                 "2.272, 2.338, 2.501, 2.723, 2.991, 3.305, 3.669, 4.096, 4.597, 5.185");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("2.072, 2.131, 2.29, 2.54, 2.894, 3.379, 4.017, 4.822, 5.807, 6.98",\
                 "2.089, 2.148, 2.306, 2.556, 2.911, 3.395, 4.034, 4.839, 5.823, 6.998",\
                 "2.138, 2.197, 2.355, 2.606, 2.96, 3.445, 4.083, 4.888, 5.873, 7.046",\
                 "2.216, 2.275, 2.433, 2.684, 3.038, 3.523, 4.161, 4.966, 5.95, 7.124",\
                 "2.342, 2.401, 2.56, 2.81, 3.164, 3.649, 4.287, 5.092, 6.076, 7.251",\
                 "2.534, 2.593, 2.752, 3.002, 3.356, 3.841, 4.479, 5.284, 6.269, 7.442",\
                 "2.791, 2.85, 3.009, 3.259, 3.613, 4.097, 4.735, 5.54, 6.524, 7.698",\
                 "3.101, 3.161, 3.32, 3.57, 3.924, 4.408, 5.046, 5.85, 6.834, 8.009",\
                 "3.464, 3.524, 3.683, 3.934, 4.287, 4.771, 5.408, 6.212, 7.196, 8.37",\
                 "3.873, 3.934, 4.093, 4.345, 4.698, 5.182, 5.818, 6.621, 7.605, 8.778");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2872, 0.3492, 0.5002, 0.7098, 0.9892, 1.349, 1.822, 2.433, 3.204, 4.152",\
                 "0.2878, 0.3514, 0.5032, 0.711, 0.9908, 1.35, 1.821, 2.432, 3.206, 4.152",\
                 "0.2888, 0.3522, 0.5048, 0.7136, 0.9926, 1.351, 1.824, 2.434, 3.207, 4.153",\
                 "0.288, 0.352, 0.5046, 0.713, 0.9922, 1.351, 1.821, 2.432, 3.207, 4.149",\
                 "0.2884, 0.3522, 0.505, 0.7134, 0.9922, 1.351, 1.821, 2.434, 3.205, 4.152",\
                 "0.2882, 0.3524, 0.5054, 0.7138, 0.9932, 1.351, 1.823, 2.432, 3.204, 4.147",\
                 "0.29, 0.3546, 0.5074, 0.7154, 0.9918, 1.352, 1.824, 2.431, 3.206, 4.153",\
                 "0.2934, 0.3574, 0.5104, 0.7178, 0.995, 1.353, 1.823, 2.434, 3.207, 4.152",\
                 "0.2976, 0.3614, 0.5142, 0.721, 0.997, 1.355, 1.825, 2.434, 3.202, 4.145",\
                 "0.3012, 0.3638, 0.5162, 0.723, 0.9986, 1.357, 1.825, 2.434, 3.206, 4.147");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2052, 0.2656, 0.466, 0.8248, 1.395, 2.232, 3.359, 4.781, 6.525, 8.596",\
                 "0.2044, 0.2654, 0.4664, 0.8254, 1.397, 2.233, 3.356, 4.781, 6.523, 8.593",\
                 "0.2058, 0.2664, 0.4658, 0.8254, 1.397, 2.234, 3.359, 4.782, 6.518, 8.598",\
                 "0.205, 0.2654, 0.4654, 0.8256, 1.397, 2.233, 3.359, 4.777, 6.518, 8.591",\
                 "0.2044, 0.2664, 0.4666, 0.8248, 1.397, 2.232, 3.36, 4.778, 6.523, 8.591",\
                 "0.2064, 0.267, 0.465, 0.8268, 1.397, 2.234, 3.36, 4.782, 6.519, 8.594",\
                 "0.2076, 0.2688, 0.4668, 0.8272, 1.396, 2.234, 3.355, 4.781, 6.517, 8.591",\
                 "0.2108, 0.2704, 0.4694, 0.828, 1.397, 2.233, 3.356, 4.776, 6.526, 8.589",\
                 "0.2142, 0.2746, 0.472, 0.831, 1.398, 2.234, 3.359, 4.781, 6.515, 8.588",\
                 "0.2206, 0.2794, 0.4772, 0.8338, 1.403, 2.234, 3.356, 4.776, 6.522, 8.6");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.793, 1.858, 2.019, 2.238, 2.505, 2.817, 3.181, 3.608, 4.11, 4.697",\
                 "1.8, 1.865, 2.026, 2.247, 2.514, 2.827, 3.191, 3.618, 4.119, 4.707",\
                 "1.822, 1.886, 2.049, 2.27, 2.537, 2.85, 3.214, 3.641, 4.143, 4.73",\
                 "1.869, 1.934, 2.096, 2.317, 2.584, 2.897, 3.261, 3.688, 4.19, 4.778",\
                 "1.946, 2.011, 2.173, 2.394, 2.661, 2.974, 3.338, 3.765, 4.267, 4.855",\
                 "2.04, 2.105, 2.268, 2.489, 2.756, 3.069, 3.433, 3.86, 4.362, 4.95",\
                 "2.13, 2.195, 2.358, 2.579, 2.847, 3.159, 3.523, 3.95, 4.452, 5.04",\
                 "2.203, 2.268, 2.431, 2.652, 2.92, 3.233, 3.597, 4.024, 4.526, 5.113",\
                 "2.251, 2.316, 2.48, 2.702, 2.97, 3.283, 3.647, 4.074, 4.576, 5.163",\
                 "2.272, 2.338, 2.501, 2.723, 2.991, 3.305, 3.669, 4.096, 4.597, 5.185");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("2.074, 2.135, 2.296, 2.549, 2.905, 3.391, 4.028, 4.833, 5.816, 6.992",\
                 "2.088, 2.148, 2.309, 2.563, 2.919, 3.404, 4.042, 4.847, 5.831, 7.004",\
                 "2.128, 2.188, 2.35, 2.603, 2.959, 3.445, 4.082, 4.887, 5.871, 7.045",\
                 "2.202, 2.263, 2.424, 2.677, 3.033, 3.518, 4.156, 4.961, 5.944, 7.119",\
                 "2.333, 2.393, 2.554, 2.808, 3.164, 3.649, 4.287, 5.091, 6.075, 7.25",\
                 "2.531, 2.592, 2.753, 3.007, 3.363, 3.848, 4.486, 5.29, 6.274, 7.448",\
                 "2.795, 2.856, 3.017, 3.271, 3.626, 4.112, 4.748, 5.553, 6.537, 7.71",\
                 "3.111, 3.172, 3.334, 3.588, 3.944, 4.428, 5.065, 5.87, 6.853, 8.027",\
                 "3.478, 3.539, 3.701, 3.956, 4.311, 4.795, 5.432, 6.235, 7.218, 8.393",\
                 "3.89, 3.952, 4.115, 4.369, 4.724, 5.208, 5.844, 6.647, 7.63, 8.802");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2872, 0.3492, 0.5002, 0.7098, 0.9892, 1.349, 1.822, 2.433, 3.204, 4.152",\
                 "0.2878, 0.3514, 0.5032, 0.711, 0.9908, 1.35, 1.821, 2.432, 3.206, 4.152",\
                 "0.2888, 0.3522, 0.5048, 0.7136, 0.9926, 1.351, 1.824, 2.434, 3.207, 4.153",\
                 "0.288, 0.352, 0.5046, 0.713, 0.9922, 1.351, 1.821, 2.432, 3.207, 4.149",\
                 "0.2884, 0.3522, 0.505, 0.7134, 0.9922, 1.351, 1.821, 2.434, 3.205, 4.152",\
                 "0.2882, 0.3524, 0.5054, 0.7138, 0.9932, 1.351, 1.823, 2.432, 3.204, 4.147",\
                 "0.29, 0.3546, 0.5074, 0.7154, 0.9918, 1.352, 1.824, 2.431, 3.206, 4.153",\
                 "0.2934, 0.3574, 0.5104, 0.7178, 0.995, 1.353, 1.823, 2.434, 3.207, 4.152",\
                 "0.2976, 0.3614, 0.5142, 0.721, 0.997, 1.355, 1.825, 2.434, 3.202, 4.145",\
                 "0.3012, 0.3638, 0.5162, 0.723, 0.9986, 1.357, 1.825, 2.434, 3.206, 4.147");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2108, 0.273, 0.4744, 0.8342, 1.4, 2.236, 3.359, 4.778, 6.526, 8.592",\
                 "0.211, 0.272, 0.4734, 0.834, 1.403, 2.236, 3.355, 4.779, 6.525, 8.604",\
                 "0.2104, 0.2726, 0.4736, 0.8332, 1.4, 2.236, 3.355, 4.783, 6.525, 8.605",\
                 "0.2108, 0.2722, 0.4726, 0.8328, 1.4, 2.236, 3.355, 4.783, 6.526, 8.593",\
                 "0.2104, 0.272, 0.4734, 0.8354, 1.401, 2.236, 3.355, 4.783, 6.526, 8.591",\
                 "0.2108, 0.2728, 0.4746, 0.8346, 1.403, 2.236, 3.356, 4.782, 6.518, 8.605",\
                 "0.2128, 0.274, 0.475, 0.8354, 1.402, 2.237, 3.36, 4.779, 6.519, 8.603",\
                 "0.2156, 0.2776, 0.477, 0.838, 1.402, 2.237, 3.359, 4.778, 6.524, 8.591",\
                 "0.2204, 0.2814, 0.4806, 0.8396, 1.405, 2.236, 3.358, 4.776, 6.525, 8.584",\
                 "0.2266, 0.2868, 0.4852, 0.8444, 1.408, 2.236, 3.356, 4.776, 6.522, 8.6");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b0 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!B&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.511, 1.587, 1.777, 2.034, 2.341, 2.692, 3.089, 3.541, 4.061, 4.659",\
                 "1.522, 1.598, 1.788, 2.046, 2.352, 2.703, 3.1, 3.552, 4.072, 4.671",\
                 "1.556, 1.632, 1.822, 2.079, 2.386, 2.737, 3.134, 3.586, 4.106, 4.705",\
                 "1.605, 1.681, 1.871, 2.129, 2.435, 2.786, 3.183, 3.635, 4.155, 4.754",\
                 "1.699, 1.775, 1.965, 2.223, 2.529, 2.88, 3.277, 3.729, 4.249, 4.848",\
                 "1.868, 1.944, 2.133, 2.39, 2.697, 3.048, 3.444, 3.896, 4.416, 5.014",\
                 "2.111, 2.188, 2.381, 2.641, 2.948, 3.3, 3.697, 4.15, 4.67, 5.269",\
                 "2.431, 2.509, 2.704, 2.967, 3.279, 3.635, 4.035, 4.489, 5.009, 5.608",\
                 "2.823, 2.902, 3.101, 3.368, 3.685, 4.045, 4.449, 4.906, 5.429, 6.029",\
                 "3.276, 3.359, 3.564, 3.839, 4.162, 4.528, 4.938, 5.399, 5.924, 6.525");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.7224, 0.7795, 0.9368, 1.188, 1.545, 2.033, 2.675, 3.482, 4.469, 5.641",\
                 "0.7347, 0.7922, 0.9493, 1.201, 1.558, 2.046, 2.687, 3.494, 4.479, 5.656",\
                 "0.766, 0.8234, 0.9806, 1.232, 1.589, 2.078, 2.718, 3.525, 4.511, 5.685",\
                 "0.8151, 0.8725, 1.03, 1.281, 1.637, 2.125, 2.766, 3.573, 4.56, 5.733",\
                 "0.8855, 0.9436, 1.102, 1.352, 1.708, 2.195, 2.835, 3.642, 4.628, 5.804",\
                 "0.9472, 1.008, 1.169, 1.423, 1.779, 2.265, 2.904, 3.711, 4.696, 5.869",\
                 "0.9881, 1.051, 1.216, 1.474, 1.832, 2.318, 2.955, 3.76, 4.743, 5.917",\
                 "0.9969, 1.063, 1.233, 1.497, 1.858, 2.344, 2.98, 3.783, 4.765, 5.939",\
                 "0.9679, 1.037, 1.215, 1.484, 1.851, 2.34, 2.975, 3.776, 4.758, 5.929",\
                 "0.8957, 0.9691, 1.155, 1.431, 1.806, 2.301, 2.939, 3.739, 4.718, 5.889");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.397, 0.471, 0.649, 0.8848, 1.177, 1.544, 2.005, 2.595, 3.338, 4.257",\
                 "0.397, 0.4708, 0.649, 0.8848, 1.177, 1.544, 2.002, 2.593, 3.338, 4.257",\
                 "0.3986, 0.4716, 0.6492, 0.8854, 1.177, 1.542, 2.005, 2.595, 3.339, 4.257",\
                 "0.3974, 0.4712, 0.649, 0.885, 1.177, 1.543, 2.006, 2.595, 3.338, 4.253",\
                 "0.3972, 0.471, 0.6488, 0.8856, 1.177, 1.543, 2.005, 2.596, 3.338, 4.254",\
                 "0.3992, 0.4732, 0.6502, 0.8876, 1.179, 1.545, 2.006, 2.596, 3.34, 4.254",\
                 "0.4154, 0.4894, 0.6682, 0.902, 1.19, 1.554, 2.012, 2.599, 3.339, 4.259",\
                 "0.4284, 0.504, 0.6868, 0.9244, 1.215, 1.575, 2.029, 2.611, 3.35, 4.262",\
                 "0.4552, 0.5308, 0.7156, 0.9544, 1.246, 1.605, 2.056, 2.633, 3.363, 4.274",\
                 "0.4946, 0.5714, 0.76, 1, 1.291, 1.645, 2.092, 2.661, 3.388, 4.292");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.184, 0.2473, 0.4515, 0.8142, 1.393, 2.233, 3.36, 4.788, 6.532, 8.596",\
                 "0.1853, 0.2472, 0.4517, 0.8144, 1.392, 2.232, 3.359, 4.782, 6.521, 8.601",\
                 "0.1853, 0.2472, 0.452, 0.8144, 1.392, 2.232, 3.357, 4.782, 6.526, 8.591",\
                 "0.1834, 0.2468, 0.4524, 0.8148, 1.393, 2.233, 3.361, 4.786, 6.529, 8.592",\
                 "0.1916, 0.253, 0.4554, 0.818, 1.394, 2.232, 3.361, 4.78, 6.524, 8.595",\
                 "0.2062, 0.2692, 0.4712, 0.8312, 1.399, 2.236, 3.361, 4.782, 6.531, 8.598",\
                 "0.2258, 0.2896, 0.4896, 0.8504, 1.412, 2.24, 3.36, 4.779, 6.527, 8.603",\
                 "0.251, 0.316, 0.5148, 0.8758, 1.43, 2.25, 3.362, 4.789, 6.526, 8.593",\
                 "0.281, 0.3478, 0.5442, 0.9082, 1.461, 2.269, 3.373, 4.785, 6.522, 8.599",\
                 "0.315, 0.383, 0.5804, 0.945, 1.499, 2.304, 3.399, 4.797, 6.526, 8.592");
        }
      }

      timing() {
        related_pin : "A" ;
        sdf_cond : "B===1'b1 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "B&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.04, 1.105, 1.266, 1.484, 1.747, 2.053, 2.41, 2.832, 3.331, 3.917",\
                 "1.056, 1.121, 1.282, 1.499, 1.762, 2.068, 2.426, 2.847, 3.346, 3.932",\
                 "1.107, 1.173, 1.334, 1.552, 1.814, 2.12, 2.478, 2.9, 3.398, 3.984",\
                 "1.187, 1.252, 1.413, 1.631, 1.894, 2.2, 2.557, 2.979, 3.477, 4.063",\
                 "1.314, 1.379, 1.54, 1.758, 2.02, 2.326, 2.683, 3.105, 3.603, 4.189",\
                 "1.501, 1.567, 1.731, 1.95, 2.213, 2.519, 2.877, 3.298, 3.797, 4.382",\
                 "1.74, 1.808, 1.976, 2.201, 2.47, 2.78, 3.14, 3.562, 4.061, 4.646",\
                 "2.037, 2.106, 2.279, 2.511, 2.785, 3.102, 3.466, 3.891, 4.391, 4.976",\
                 "2.383, 2.456, 2.636, 2.875, 3.158, 3.483, 3.853, 4.281, 4.783, 5.369",\
                 "2.773, 2.85, 3.039, 3.29, 3.583, 3.919, 4.297, 4.731, 5.235, 5.822");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.9716, 1.036, 1.208, 1.477, 1.849, 2.343, 2.985, 3.791, 4.776, 5.952",\
                 "0.9787, 1.044, 1.215, 1.484, 1.856, 2.35, 2.992, 3.799, 4.783, 5.961",\
                 "0.9894, 1.054, 1.226, 1.495, 1.867, 2.361, 3.002, 3.809, 4.794, 5.971",\
                 "1.007, 1.072, 1.243, 1.512, 1.884, 2.378, 3.02, 3.827, 4.812, 5.989",\
                 "1.043, 1.107, 1.279, 1.548, 1.918, 2.412, 3.053, 3.86, 4.846, 6.021",\
                 "1.081, 1.147, 1.322, 1.592, 1.964, 2.457, 3.097, 3.903, 4.889, 6.064",\
                 "1.11, 1.178, 1.356, 1.629, 2.003, 2.497, 3.136, 3.942, 4.925, 6.099",\
                 "1.122, 1.193, 1.375, 1.653, 2.03, 2.526, 3.164, 3.968, 4.951, 6.123",\
                 "1.108, 1.181, 1.369, 1.653, 2.037, 2.537, 3.177, 3.98, 4.961, 6.132",\
                 "1.063, 1.139, 1.334, 1.624, 2.017, 2.525, 3.169, 3.973, 4.954, 6.124");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2873, 0.3488, 0.4966, 0.701, 0.9706, 1.326, 1.796, 2.41, 3.191, 4.141",\
                 "0.2872, 0.3488, 0.4966, 0.701, 0.9718, 1.325, 1.797, 2.41, 3.191, 4.142",\
                 "0.287, 0.3486, 0.4966, 0.701, 0.9724, 1.325, 1.795, 2.409, 3.187, 4.139",\
                 "0.287, 0.349, 0.4968, 0.7008, 0.9718, 1.325, 1.795, 2.41, 3.19, 4.142",\
                 "0.2874, 0.3486, 0.497, 0.7018, 0.9724, 1.326, 1.797, 2.411, 3.189, 4.143",\
                 "0.3042, 0.3642, 0.5116, 0.712, 0.9802, 1.331, 1.799, 2.412, 3.191, 4.143",\
                 "0.3232, 0.3854, 0.5374, 0.7424, 1.007, 1.35, 1.813, 2.421, 3.194, 4.142",\
                 "0.3474, 0.4134, 0.57, 0.7746, 1.042, 1.385, 1.838, 2.437, 3.205, 4.15",\
                 "0.3856, 0.4534, 0.6136, 0.8216, 1.087, 1.426, 1.874, 2.462, 3.22, 4.155",\
                 "0.427, 0.4974, 0.665, 0.8808, 1.145, 1.484, 1.921, 2.499, 3.246, 4.17");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2332, 0.2997, 0.5092, 0.8836, 1.45, 2.271, 3.381, 4.803, 6.537, 8.615",\
                 "0.2328, 0.301, 0.5094, 0.8828, 1.448, 2.271, 3.382, 4.798, 6.542, 8.611",\
                 "0.2336, 0.3, 0.5092, 0.883, 1.45, 2.27, 3.381, 4.799, 6.533, 8.611",\
                 "0.233, 0.2994, 0.5092, 0.883, 1.45, 2.271, 3.382, 4.799, 6.537, 8.61",\
                 "0.2346, 0.3014, 0.5116, 0.8844, 1.451, 2.268, 3.38, 4.802, 6.54, 8.619",\
                 "0.2468, 0.314, 0.5204, 0.8936, 1.455, 2.271, 3.383, 4.796, 6.536, 8.611",\
                 "0.2608, 0.3294, 0.5364, 0.909, 1.467, 2.278, 3.382, 4.8, 6.545, 8.615",\
                 "0.282, 0.3506, 0.557, 0.9316, 1.487, 2.291, 3.39, 4.801, 6.536, 8.611",\
                 "0.305, 0.3758, 0.5838, 0.9626, 1.521, 2.315, 3.401, 4.806, 6.542, 8.612",\
                 "0.332, 0.405, 0.614, 0.9976, 1.563, 2.355, 3.431, 4.826, 6.543, 8.61");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.511, 1.587, 1.777, 2.034, 2.341, 2.692, 3.089, 3.541, 4.061, 4.659",\
                 "1.522, 1.598, 1.788, 2.046, 2.352, 2.703, 3.1, 3.552, 4.072, 4.671",\
                 "1.556, 1.632, 1.822, 2.079, 2.386, 2.737, 3.134, 3.586, 4.106, 4.705",\
                 "1.605, 1.681, 1.871, 2.129, 2.435, 2.786, 3.183, 3.635, 4.155, 4.754",\
                 "1.699, 1.775, 1.965, 2.223, 2.529, 2.88, 3.277, 3.729, 4.249, 4.848",\
                 "1.868, 1.944, 2.133, 2.39, 2.697, 3.048, 3.444, 3.896, 4.416, 5.014",\
                 "2.111, 2.188, 2.381, 2.641, 2.948, 3.3, 3.697, 4.15, 4.67, 5.269",\
                 "2.431, 2.509, 2.704, 2.967, 3.279, 3.635, 4.035, 4.489, 5.009, 5.608",\
                 "2.823, 2.902, 3.101, 3.368, 3.685, 4.045, 4.449, 4.906, 5.429, 6.029",\
                 "3.276, 3.359, 3.564, 3.839, 4.162, 4.528, 4.938, 5.399, 5.924, 6.525");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.9716, 1.036, 1.208, 1.477, 1.849, 2.343, 2.985, 3.791, 4.776, 5.952",\
                 "0.9787, 1.044, 1.215, 1.484, 1.856, 2.35, 2.992, 3.799, 4.783, 5.961",\
                 "0.9894, 1.054, 1.226, 1.495, 1.867, 2.361, 3.002, 3.809, 4.794, 5.971",\
                 "1.007, 1.072, 1.243, 1.512, 1.884, 2.378, 3.02, 3.827, 4.812, 5.989",\
                 "1.043, 1.107, 1.279, 1.548, 1.918, 2.412, 3.053, 3.86, 4.846, 6.021",\
                 "1.081, 1.147, 1.322, 1.592, 1.964, 2.457, 3.097, 3.903, 4.889, 6.064",\
                 "1.11, 1.178, 1.356, 1.629, 2.003, 2.497, 3.136, 3.942, 4.925, 6.099",\
                 "1.122, 1.193, 1.375, 1.653, 2.03, 2.526, 3.164, 3.968, 4.951, 6.123",\
                 "1.108, 1.181, 1.369, 1.653, 2.037, 2.537, 3.177, 3.98, 4.961, 6.132",\
                 "1.063, 1.139, 1.334, 1.624, 2.017, 2.525, 3.169, 3.973, 4.954, 6.124");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.397, 0.471, 0.649, 0.8848, 1.177, 1.544, 2.005, 2.595, 3.338, 4.257",\
                 "0.397, 0.4708, 0.649, 0.8848, 1.177, 1.544, 2.002, 2.593, 3.338, 4.257",\
                 "0.3986, 0.4716, 0.6492, 0.8854, 1.177, 1.542, 2.005, 2.595, 3.339, 4.257",\
                 "0.3974, 0.4712, 0.649, 0.885, 1.177, 1.543, 2.006, 2.595, 3.338, 4.253",\
                 "0.3972, 0.471, 0.6488, 0.8856, 1.177, 1.543, 2.005, 2.596, 3.338, 4.254",\
                 "0.3992, 0.4732, 0.6502, 0.8876, 1.179, 1.545, 2.006, 2.596, 3.34, 4.254",\
                 "0.4154, 0.4894, 0.6682, 0.902, 1.19, 1.554, 2.012, 2.599, 3.339, 4.259",\
                 "0.4284, 0.504, 0.6868, 0.9244, 1.215, 1.575, 2.029, 2.611, 3.35, 4.262",\
                 "0.4552, 0.5308, 0.7156, 0.9544, 1.246, 1.605, 2.056, 2.633, 3.363, 4.274",\
                 "0.4946, 0.5714, 0.76, 1, 1.291, 1.645, 2.092, 2.661, 3.388, 4.292");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2332, 0.2997, 0.5092, 0.8836, 1.45, 2.271, 3.381, 4.803, 6.537, 8.615",\
                 "0.2328, 0.301, 0.5094, 0.8828, 1.448, 2.271, 3.382, 4.798, 6.542, 8.611",\
                 "0.2336, 0.3, 0.5092, 0.883, 1.45, 2.27, 3.381, 4.799, 6.533, 8.611",\
                 "0.233, 0.2994, 0.5092, 0.883, 1.45, 2.271, 3.382, 4.799, 6.537, 8.61",\
                 "0.2346, 0.3014, 0.5116, 0.8844, 1.451, 2.268, 3.38, 4.802, 6.54, 8.619",\
                 "0.2468, 0.314, 0.5204, 0.8936, 1.455, 2.271, 3.383, 4.796, 6.536, 8.611",\
                 "0.2608, 0.3294, 0.5364, 0.909, 1.467, 2.278, 3.382, 4.8, 6.545, 8.615",\
                 "0.282, 0.3506, 0.557, 0.9316, 1.487, 2.291, 3.39, 4.801, 6.536, 8.611",\
                 "0.305, 0.3758, 0.5838, 0.9626, 1.521, 2.315, 3.401, 4.806, 6.542, 8.612",\
                 "0.332, 0.405, 0.614, 0.9976, 1.563, 2.355, 3.431, 4.826, 6.543, 8.61");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.825, 1.89, 2.051, 2.27, 2.532, 2.838, 3.196, 3.618, 4.116, 4.702",\
                 "1.84, 1.905, 2.067, 2.285, 2.548, 2.854, 3.211, 3.633, 4.131, 4.717",\
                 "1.871, 1.937, 2.099, 2.317, 2.579, 2.885, 3.243, 3.665, 4.163, 4.749",\
                 "1.917, 1.982, 2.144, 2.362, 2.625, 2.931, 3.288, 3.71, 4.208, 4.794",\
                 "1.982, 2.048, 2.21, 2.428, 2.691, 2.997, 3.354, 3.776, 4.274, 4.86",\
                 "2.058, 2.124, 2.286, 2.504, 2.767, 3.073, 3.431, 3.852, 4.351, 4.936",\
                 "2.13, 2.195, 2.356, 2.574, 2.836, 3.142, 3.499, 3.921, 4.419, 5.005",\
                 "2.177, 2.242, 2.404, 2.619, 2.88, 3.185, 3.543, 3.964, 4.462, 5.048",\
                 "2.188, 2.254, 2.414, 2.63, 2.891, 3.196, 3.553, 3.974, 4.472, 5.058",\
                 "2.161, 2.226, 2.386, 2.601, 2.862, 3.167, 3.524, 3.945, 4.443, 5.029");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("2.072, 2.132, 2.293, 2.547, 2.903, 3.388, 4.025, 4.83, 5.814, 6.989",\
                 "2.084, 2.144, 2.306, 2.559, 2.915, 3.401, 4.038, 4.843, 5.826, 7.001",\
                 "2.133, 2.193, 2.354, 2.608, 2.964, 3.449, 4.087, 4.891, 5.875, 7.05",\
                 "2.241, 2.301, 2.462, 2.716, 3.072, 3.557, 4.195, 5, 5.983, 7.159",\
                 "2.429, 2.489, 2.65, 2.904, 3.26, 3.745, 4.383, 5.188, 6.171, 7.346",\
                 "2.706, 2.767, 2.928, 3.182, 3.538, 4.023, 4.661, 5.465, 6.448, 7.624",\
                 "3.064, 3.125, 3.286, 3.54, 3.895, 4.38, 5.018, 5.822, 6.807, 7.981",\
                 "3.482, 3.543, 3.705, 3.958, 4.313, 4.798, 5.435, 6.24, 7.224, 8.396",\
                 "3.955, 4.016, 4.178, 4.433, 4.788, 5.272, 5.908, 6.712, 7.695, 8.869",\
                 "4.487, 4.549, 4.712, 4.966, 5.321, 5.805, 6.441, 7.244, 8.226, 9.399");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2952, 0.3576, 0.5046, 0.7082, 0.977, 1.328, 1.798, 2.412, 3.191, 4.137",\
                 "0.296, 0.3576, 0.5046, 0.7072, 0.9766, 1.329, 1.798, 2.412, 3.189, 4.138",\
                 "0.296, 0.3578, 0.5046, 0.7088, 0.9766, 1.328, 1.799, 2.413, 3.188, 4.14",\
                 "0.2964, 0.3576, 0.505, 0.7074, 0.9772, 1.328, 1.797, 2.41, 3.191, 4.14",\
                 "0.2962, 0.3596, 0.5052, 0.7078, 0.977, 1.328, 1.799, 2.41, 3.191, 4.142",\
                 "0.2968, 0.3584, 0.5054, 0.71, 0.9776, 1.329, 1.799, 2.411, 3.191, 4.143",\
                 "0.2968, 0.358, 0.5054, 0.7066, 0.9748, 1.328, 1.797, 2.412, 3.191, 4.142",\
                 "0.2992, 0.3612, 0.5046, 0.7048, 0.9742, 1.326, 1.796, 2.409, 3.189, 4.142",\
                 "0.3012, 0.3612, 0.5062, 0.7064, 0.9756, 1.329, 1.797, 2.409, 3.185, 4.135",\
                 "0.3022, 0.3624, 0.506, 0.7076, 0.975, 1.328, 1.797, 2.412, 3.186, 4.135");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2108, 0.2728, 0.474, 0.8332, 1.401, 2.237, 3.36, 4.782, 6.525, 8.589",\
                 "0.2106, 0.2718, 0.4726, 0.8346, 1.403, 2.236, 3.359, 4.781, 6.526, 8.592",\
                 "0.2112, 0.2726, 0.474, 0.8332, 1.401, 2.237, 3.36, 4.783, 6.526, 8.59",\
                 "0.2106, 0.2722, 0.4738, 0.8336, 1.403, 2.236, 3.355, 4.781, 6.526, 8.593",\
                 "0.2114, 0.2734, 0.4744, 0.8338, 1.401, 2.236, 3.359, 4.776, 6.525, 8.593",\
                 "0.2114, 0.2736, 0.474, 0.8348, 1.401, 2.236, 3.359, 4.781, 6.526, 8.593",\
                 "0.2128, 0.2746, 0.475, 0.8374, 1.402, 2.235, 3.358, 4.778, 6.516, 8.592",\
                 "0.2164, 0.2778, 0.4772, 0.8392, 1.404, 2.237, 3.359, 4.782, 6.514, 8.603",\
                 "0.2212, 0.2822, 0.4812, 0.839, 1.404, 2.234, 3.358, 4.782, 6.522, 8.59",\
                 "0.226, 0.288, 0.4846, 0.845, 1.408, 2.238, 3.354, 4.778, 6.516, 8.602");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.8, 1.865, 2.026, 2.245, 2.513, 2.825, 3.189, 3.616, 4.118, 4.705",\
                 "1.812, 1.877, 2.038, 2.257, 2.524, 2.837, 3.201, 3.628, 4.129, 4.717",\
                 "1.853, 1.918, 2.079, 2.298, 2.565, 2.878, 3.242, 3.669, 4.17, 4.758",\
                 "1.935, 2, 2.16, 2.38, 2.647, 2.959, 3.324, 3.75, 4.252, 4.84",\
                 "2.066, 2.13, 2.291, 2.511, 2.777, 3.089, 3.453, 3.881, 4.382, 4.97",\
                 "2.221, 2.285, 2.446, 2.665, 2.932, 3.245, 3.609, 4.036, 4.537, 5.125",\
                 "2.369, 2.433, 2.594, 2.813, 3.08, 3.393, 3.757, 4.184, 4.685, 5.273",\
                 "2.502, 2.567, 2.728, 2.948, 3.215, 3.527, 3.891, 4.318, 4.819, 5.407",\
                 "2.619, 2.684, 2.845, 3.065, 3.332, 3.645, 4.009, 4.436, 4.937, 5.525",\
                 "2.716, 2.781, 2.943, 3.164, 3.431, 3.744, 4.108, 4.535, 5.037, 5.624");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("2.076, 2.136, 2.295, 2.546, 2.901, 3.386, 4.024, 4.829, 5.814, 6.987",\
                 "2.094, 2.153, 2.313, 2.564, 2.919, 3.404, 4.042, 4.847, 5.831, 7.006",\
                 "2.141, 2.201, 2.36, 2.611, 2.966, 3.452, 4.09, 4.895, 5.879, 7.054",\
                 "2.216, 2.276, 2.435, 2.686, 3.042, 3.526, 4.164, 4.969, 5.954, 7.128",\
                 "2.339, 2.399, 2.558, 2.809, 3.164, 3.65, 4.288, 5.093, 6.077, 7.251",\
                 "2.522, 2.582, 2.741, 2.992, 3.347, 3.832, 4.47, 5.275, 6.259, 7.434",\
                 "2.76, 2.82, 2.979, 3.231, 3.585, 4.07, 4.707, 5.513, 6.497, 7.67",\
                 "3.045, 3.105, 3.265, 3.516, 3.87, 4.355, 4.993, 5.797, 6.781, 7.955",\
                 "3.372, 3.432, 3.592, 3.843, 4.197, 4.681, 5.318, 6.122, 7.106, 8.279",\
                 "3.733, 3.794, 3.955, 4.206, 4.56, 5.044, 5.681, 6.485, 7.468, 8.642");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2876, 0.3498, 0.5002, 0.7106, 0.9896, 1.349, 1.821, 2.432, 3.204, 4.149",\
                 "0.2874, 0.3496, 0.5006, 0.7104, 0.99, 1.35, 1.821, 2.433, 3.205, 4.147",\
                 "0.2872, 0.3496, 0.5004, 0.7106, 0.99, 1.349, 1.822, 2.433, 3.205, 4.153",\
                 "0.2882, 0.3494, 0.5002, 0.7106, 0.9894, 1.35, 1.82, 2.433, 3.206, 4.149",\
                 "0.2876, 0.3498, 0.5002, 0.7104, 0.9902, 1.35, 1.82, 2.431, 3.207, 4.15",\
                 "0.2872, 0.3496, 0.5012, 0.7104, 0.9906, 1.35, 1.821, 2.434, 3.203, 4.153",\
                 "0.2902, 0.353, 0.5016, 0.7108, 0.991, 1.35, 1.822, 2.434, 3.207, 4.149",\
                 "0.2916, 0.3542, 0.5042, 0.7132, 0.991, 1.351, 1.82, 2.433, 3.206, 4.152",\
                 "0.296, 0.3574, 0.5082, 0.716, 0.9946, 1.353, 1.822, 2.431, 3.203, 4.148",\
                 "0.2994, 0.3616, 0.512, 0.7198, 0.997, 1.356, 1.826, 2.434, 3.203, 4.143");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2094, 0.2694, 0.4692, 0.8298, 1.399, 2.234, 3.361, 4.784, 6.525, 8.604",\
                 "0.2086, 0.2696, 0.47, 0.8292, 1.399, 2.236, 3.361, 4.78, 6.526, 8.593",\
                 "0.2094, 0.2702, 0.4688, 0.8304, 1.398, 2.237, 3.361, 4.785, 6.525, 8.59",\
                 "0.21, 0.2706, 0.4698, 0.8292, 1.4, 2.237, 3.361, 4.783, 6.525, 8.596",\
                 "0.2098, 0.2704, 0.4692, 0.8304, 1.401, 2.237, 3.358, 4.785, 6.525, 8.591",\
                 "0.21, 0.2712, 0.4694, 0.8302, 1.401, 2.236, 3.361, 4.783, 6.525, 8.589",\
                 "0.2112, 0.2732, 0.4704, 0.83, 1.399, 2.237, 3.361, 4.784, 6.52, 8.594",\
                 "0.2138, 0.2754, 0.4734, 0.831, 1.399, 2.234, 3.356, 4.782, 6.519, 8.589",\
                 "0.2168, 0.2774, 0.4742, 0.8336, 1.4, 2.235, 3.358, 4.779, 6.521, 8.602",\
                 "0.2218, 0.2828, 0.4782, 0.8368, 1.404, 2.236, 3.358, 4.778, 6.516, 8.592");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.8, 1.865, 2.026, 2.245, 2.513, 2.825, 3.189, 3.616, 4.118, 4.705",\
                 "1.812, 1.877, 2.038, 2.257, 2.524, 2.837, 3.201, 3.628, 4.129, 4.717",\
                 "1.853, 1.918, 2.079, 2.298, 2.565, 2.878, 3.242, 3.669, 4.17, 4.758",\
                 "1.935, 2, 2.16, 2.38, 2.647, 2.959, 3.324, 3.75, 4.252, 4.84",\
                 "2.066, 2.13, 2.291, 2.511, 2.777, 3.089, 3.453, 3.881, 4.382, 4.97",\
                 "2.221, 2.285, 2.446, 2.665, 2.932, 3.245, 3.609, 4.036, 4.537, 5.125",\
                 "2.369, 2.433, 2.594, 2.813, 3.08, 3.393, 3.757, 4.184, 4.685, 5.273",\
                 "2.502, 2.567, 2.728, 2.948, 3.215, 3.527, 3.891, 4.318, 4.819, 5.407",\
                 "2.619, 2.684, 2.845, 3.065, 3.332, 3.645, 4.009, 4.436, 4.937, 5.525",\
                 "2.716, 2.781, 2.943, 3.164, 3.431, 3.744, 4.108, 4.535, 5.037, 5.624");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("2.072, 2.132, 2.293, 2.547, 2.903, 3.388, 4.025, 4.83, 5.814, 6.989",\
                 "2.084, 2.144, 2.306, 2.559, 2.915, 3.401, 4.038, 4.843, 5.826, 7.001",\
                 "2.133, 2.193, 2.354, 2.608, 2.964, 3.449, 4.087, 4.891, 5.875, 7.05",\
                 "2.241, 2.301, 2.462, 2.716, 3.072, 3.557, 4.195, 5, 5.983, 7.159",\
                 "2.429, 2.489, 2.65, 2.904, 3.26, 3.745, 4.383, 5.188, 6.171, 7.346",\
                 "2.706, 2.767, 2.928, 3.182, 3.538, 4.023, 4.661, 5.465, 6.448, 7.624",\
                 "3.064, 3.125, 3.286, 3.54, 3.895, 4.38, 5.018, 5.822, 6.807, 7.981",\
                 "3.482, 3.543, 3.705, 3.958, 4.313, 4.798, 5.435, 6.24, 7.224, 8.396",\
                 "3.955, 4.016, 4.178, 4.433, 4.788, 5.272, 5.908, 6.712, 7.695, 8.869",\
                 "4.487, 4.549, 4.712, 4.966, 5.321, 5.805, 6.441, 7.244, 8.226, 9.399");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2876, 0.3498, 0.5002, 0.7106, 0.9896, 1.349, 1.821, 2.432, 3.204, 4.149",\
                 "0.2874, 0.3496, 0.5006, 0.7104, 0.99, 1.35, 1.821, 2.433, 3.205, 4.147",\
                 "0.2872, 0.3496, 0.5004, 0.7106, 0.99, 1.349, 1.822, 2.433, 3.205, 4.153",\
                 "0.2882, 0.3494, 0.5002, 0.7106, 0.9894, 1.35, 1.82, 2.433, 3.206, 4.149",\
                 "0.2876, 0.3498, 0.5002, 0.7104, 0.9902, 1.35, 1.82, 2.431, 3.207, 4.15",\
                 "0.2872, 0.3496, 0.5012, 0.7104, 0.9906, 1.35, 1.821, 2.434, 3.203, 4.153",\
                 "0.2902, 0.353, 0.5016, 0.7108, 0.991, 1.35, 1.822, 2.434, 3.207, 4.149",\
                 "0.2916, 0.3542, 0.5042, 0.7132, 0.991, 1.351, 1.82, 2.433, 3.206, 4.152",\
                 "0.296, 0.3574, 0.5082, 0.716, 0.9946, 1.353, 1.822, 2.431, 3.203, 4.148",\
                 "0.2994, 0.3616, 0.512, 0.7198, 0.997, 1.356, 1.826, 2.434, 3.203, 4.143");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2094, 0.2694, 0.4692, 0.8298, 1.399, 2.234, 3.361, 4.784, 6.525, 8.604",\
                 "0.2086, 0.2696, 0.47, 0.8292, 1.399, 2.236, 3.361, 4.78, 6.526, 8.593",\
                 "0.2094, 0.2702, 0.4688, 0.8304, 1.398, 2.237, 3.361, 4.785, 6.525, 8.59",\
                 "0.21, 0.2706, 0.4698, 0.8292, 1.4, 2.237, 3.361, 4.783, 6.525, 8.596",\
                 "0.2098, 0.2704, 0.4692, 0.8304, 1.401, 2.237, 3.358, 4.785, 6.525, 8.591",\
                 "0.21, 0.2712, 0.4694, 0.8302, 1.401, 2.236, 3.361, 4.783, 6.525, 8.589",\
                 "0.2112, 0.2732, 0.4704, 0.83, 1.399, 2.237, 3.361, 4.784, 6.52, 8.594",\
                 "0.2138, 0.2754, 0.4734, 0.831, 1.399, 2.234, 3.356, 4.782, 6.519, 8.589",\
                 "0.2168, 0.2774, 0.4742, 0.8336, 1.4, 2.235, 3.358, 4.779, 6.521, 8.602",\
                 "0.2218, 0.2828, 0.4782, 0.8368, 1.404, 2.236, 3.358, 4.778, 6.516, 8.592");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b0 && CI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&!CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.509, 1.585, 1.775, 2.033, 2.339, 2.691, 3.088, 3.54, 4.06, 4.659",\
                 "1.518, 1.594, 1.785, 2.042, 2.349, 2.7, 3.097, 3.549, 4.069, 4.669",\
                 "1.552, 1.629, 1.819, 2.076, 2.383, 2.734, 3.131, 3.584, 4.104, 4.703",\
                 "1.622, 1.698, 1.888, 2.146, 2.453, 2.804, 3.201, 3.653, 4.173, 4.772",\
                 "1.758, 1.835, 2.025, 2.282, 2.589, 2.94, 3.337, 3.79, 4.31, 4.909",\
                 "1.981, 2.057, 2.248, 2.504, 2.811, 3.162, 3.559, 4.011, 4.531, 5.13",\
                 "2.282, 2.36, 2.553, 2.813, 3.121, 3.473, 3.871, 4.324, 4.844, 5.443",\
                 "2.658, 2.737, 2.934, 3.199, 3.512, 3.869, 4.27, 4.724, 5.245, 5.844",\
                 "3.114, 3.195, 3.394, 3.662, 3.98, 4.341, 4.747, 5.205, 5.728, 6.328",\
                 "3.646, 3.728, 3.933, 4.206, 4.529, 4.896, 5.304, 5.766, 6.292, 6.893");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.6921, 0.7491, 0.9055, 1.156, 1.512, 2, 2.641, 3.448, 4.435, 5.611",\
                 "0.7058, 0.7626, 0.9191, 1.169, 1.525, 2.013, 2.654, 3.46, 4.447, 5.624",\
                 "0.7382, 0.7951, 0.9519, 1.202, 1.558, 2.046, 2.687, 3.495, 4.481, 5.654",\
                 "0.7881, 0.8452, 1.002, 1.251, 1.607, 2.095, 2.735, 3.543, 4.53, 5.703",\
                 "0.8556, 0.9133, 1.071, 1.321, 1.676, 2.163, 2.802, 3.609, 4.595, 5.771",\
                 "0.9101, 0.9703, 1.131, 1.384, 1.74, 2.226, 2.865, 3.671, 4.656, 5.832",\
                 "0.939, 1.001, 1.166, 1.423, 1.781, 2.266, 2.903, 3.707, 4.691, 5.866",\
                 "0.9296, 0.9951, 1.165, 1.428, 1.789, 2.274, 2.91, 3.713, 4.695, 5.868",\
                 "0.8751, 0.9444, 1.121, 1.39, 1.756, 2.244, 2.879, 3.68, 4.661, 5.832",\
                 "0.7696, 0.8428, 1.028, 1.303, 1.677, 2.17, 2.807, 3.608, 4.588, 5.757");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3976, 0.472, 0.6498, 0.8856, 1.178, 1.545, 2.006, 2.596, 3.339, 4.258",\
                 "0.3978, 0.4738, 0.65, 0.8856, 1.178, 1.543, 2.006, 2.596, 3.34, 4.258",\
                 "0.3976, 0.4722, 0.6502, 0.8858, 1.178, 1.543, 2.006, 2.596, 3.34, 4.258",\
                 "0.3984, 0.4718, 0.65, 0.8858, 1.178, 1.545, 2.007, 2.596, 3.339, 4.254",\
                 "0.3986, 0.4722, 0.6508, 0.8866, 1.179, 1.544, 2.007, 2.597, 3.341, 4.255",\
                 "0.401, 0.4744, 0.6536, 0.8888, 1.181, 1.548, 2.009, 2.599, 3.341, 4.258",\
                 "0.4194, 0.4948, 0.6728, 0.9056, 1.195, 1.557, 2.015, 2.604, 3.344, 4.26",\
                 "0.4366, 0.512, 0.6962, 0.9344, 1.223, 1.582, 2.033, 2.616, 3.353, 4.265",\
                 "0.456, 0.5334, 0.719, 0.9606, 1.251, 1.61, 2.062, 2.638, 3.373, 4.279",\
                 "0.4864, 0.5636, 0.7528, 0.9958, 1.285, 1.645, 2.09, 2.664, 3.392, 4.29");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.1803, 0.2423, 0.4476, 0.81, 1.386, 2.229, 3.355, 4.784, 6.532, 8.592",\
                 "0.1799, 0.2429, 0.447, 0.8114, 1.387, 2.229, 3.354, 4.781, 6.523, 8.593",\
                 "0.1807, 0.2431, 0.448, 0.8102, 1.388, 2.228, 3.357, 4.789, 6.53, 8.595",\
                 "0.1806, 0.242, 0.4486, 0.811, 1.389, 2.231, 3.357, 4.781, 6.53, 8.593",\
                 "0.1886, 0.2508, 0.4528, 0.8146, 1.391, 2.23, 3.359, 4.784, 6.523, 8.594",\
                 "0.2038, 0.2658, 0.468, 0.828, 1.396, 2.234, 3.359, 4.783, 6.521, 8.589",\
                 "0.2234, 0.2874, 0.4876, 0.8464, 1.409, 2.238, 3.359, 4.78, 6.524, 8.591",\
                 "0.2496, 0.3132, 0.5132, 0.873, 1.427, 2.248, 3.361, 4.782, 6.518, 8.595",\
                 "0.2778, 0.3438, 0.5416, 0.9058, 1.456, 2.266, 3.37, 4.783, 6.519, 8.593",\
                 "0.313, 0.3798, 0.5768, 0.9394, 1.491, 2.297, 3.391, 4.794, 6.521, 8.589");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A===1'b1 && CI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&CI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.007, 1.071, 1.228, 1.443, 1.703, 2.007, 2.364, 2.785, 3.283, 3.869",\
                 "1.025, 1.088, 1.246, 1.461, 1.721, 2.025, 2.381, 2.803, 3.301, 3.887",\
                 "1.076, 1.14, 1.297, 1.512, 1.772, 2.077, 2.433, 2.854, 3.352, 3.938",\
                 "1.154, 1.217, 1.375, 1.589, 1.85, 2.154, 2.51, 2.932, 3.43, 4.016",\
                 "1.278, 1.341, 1.499, 1.713, 1.973, 2.277, 2.633, 3.055, 3.553, 4.139",\
                 "1.457, 1.522, 1.682, 1.898, 2.159, 2.464, 2.821, 3.242, 3.74, 4.325",\
                 "1.681, 1.748, 1.913, 2.135, 2.402, 2.712, 3.071, 3.493, 3.991, 4.576",\
                 "1.954, 2.023, 2.194, 2.422, 2.696, 3.012, 3.376, 3.801, 4.3, 4.885",\
                 "2.266, 2.339, 2.517, 2.756, 3.038, 3.362, 3.732, 4.16, 4.662, 5.248",\
                 "2.613, 2.688, 2.876, 3.126, 3.42, 3.756, 4.136, 4.571, 5.075, 5.662");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.9697, 1.035, 1.206, 1.476, 1.848, 2.342, 2.984, 3.791, 4.776, 5.951",\
                 "0.977, 1.042, 1.214, 1.483, 1.855, 2.35, 2.992, 3.798, 4.783, 5.959",\
                 "0.9985, 1.063, 1.235, 1.505, 1.877, 2.371, 3.013, 3.82, 4.804, 5.98",\
                 "1.044, 1.109, 1.28, 1.55, 1.922, 2.417, 3.059, 3.865, 4.852, 6.028",\
                 "1.121, 1.186, 1.358, 1.627, 1.998, 2.492, 3.133, 3.94, 4.926, 6.103",\
                 "1.21, 1.277, 1.451, 1.722, 2.094, 2.588, 3.229, 4.035, 5.02, 6.196",\
                 "1.297, 1.365, 1.542, 1.815, 2.188, 2.683, 3.323, 4.128, 5.113, 6.288",\
                 "1.372, 1.442, 1.622, 1.898, 2.273, 2.767, 3.407, 4.211, 5.195, 6.367",\
                 "1.428, 1.5, 1.686, 1.966, 2.346, 2.841, 3.479, 4.283, 5.265, 6.436",\
                 "1.461, 1.537, 1.728, 2.013, 2.398, 2.898, 3.537, 4.34, 5.321, 6.492");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2791, 0.3394, 0.485, 0.6896, 0.9618, 1.317, 1.791, 2.406, 3.186, 4.137",\
                 "0.2792, 0.3394, 0.4846, 0.69, 0.962, 1.318, 1.791, 2.406, 3.186, 4.137",\
                 "0.2794, 0.3394, 0.4846, 0.69, 0.9618, 1.317, 1.791, 2.406, 3.188, 4.139",\
                 "0.2796, 0.3394, 0.485, 0.6896, 0.962, 1.318, 1.791, 2.406, 3.186, 4.14",\
                 "0.2798, 0.3402, 0.4856, 0.6904, 0.9626, 1.319, 1.792, 2.406, 3.185, 4.14",\
                 "0.2968, 0.3576, 0.502, 0.7024, 0.9716, 1.324, 1.796, 2.41, 3.188, 4.14",\
                 "0.317, 0.3788, 0.5288, 0.7334, 0.9992, 1.346, 1.809, 2.419, 3.192, 4.143",\
                 "0.3458, 0.4096, 0.5626, 0.7684, 1.037, 1.381, 1.836, 2.435, 3.202, 4.148",\
                 "0.3856, 0.4516, 0.6096, 0.818, 1.083, 1.426, 1.873, 2.465, 3.219, 4.155",\
                 "0.4268, 0.4954, 0.6622, 0.8788, 1.15, 1.489, 1.926, 2.504, 3.25, 4.171");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2344, 0.3002, 0.5106, 0.884, 1.451, 2.271, 3.383, 4.8, 6.543, 8.61",\
                 "0.2349, 0.3008, 0.5106, 0.885, 1.45, 2.271, 3.383, 4.805, 6.541, 8.613",\
                 "0.2346, 0.3008, 0.5108, 0.8852, 1.451, 2.271, 3.383, 4.801, 6.543, 8.611",\
                 "0.2338, 0.3016, 0.5114, 0.884, 1.451, 2.272, 3.384, 4.805, 6.541, 8.626",\
                 "0.2364, 0.304, 0.5116, 0.8856, 1.453, 2.273, 3.382, 4.804, 6.549, 8.625",\
                 "0.2488, 0.3162, 0.523, 0.8964, 1.46, 2.275, 3.386, 4.802, 6.538, 8.611",\
                 "0.263, 0.331, 0.5366, 0.9102, 1.47, 2.286, 3.388, 4.807, 6.538, 8.612",\
                 "0.2834, 0.3518, 0.556, 0.9286, 1.485, 2.294, 3.395, 4.812, 6.548, 8.619",\
                 "0.31, 0.3782, 0.5826, 0.954, 1.508, 2.306, 3.406, 4.813, 6.552, 8.623",\
                 "0.338, 0.4078, 0.6112, 0.9858, 1.541, 2.334, 3.421, 4.819, 6.55, 8.623");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.509, 1.585, 1.775, 2.033, 2.339, 2.691, 3.088, 3.54, 4.06, 4.659",\
                 "1.518, 1.594, 1.785, 2.042, 2.349, 2.7, 3.097, 3.549, 4.069, 4.669",\
                 "1.552, 1.629, 1.819, 2.076, 2.383, 2.734, 3.131, 3.584, 4.104, 4.703",\
                 "1.622, 1.698, 1.888, 2.146, 2.453, 2.804, 3.201, 3.653, 4.173, 4.772",\
                 "1.758, 1.835, 2.025, 2.282, 2.589, 2.94, 3.337, 3.79, 4.31, 4.909",\
                 "1.981, 2.057, 2.248, 2.504, 2.811, 3.162, 3.559, 4.011, 4.531, 5.13",\
                 "2.282, 2.36, 2.553, 2.813, 3.121, 3.473, 3.871, 4.324, 4.844, 5.443",\
                 "2.658, 2.737, 2.934, 3.199, 3.512, 3.869, 4.27, 4.724, 5.245, 5.844",\
                 "3.114, 3.195, 3.394, 3.662, 3.98, 4.341, 4.747, 5.205, 5.728, 6.328",\
                 "3.646, 3.728, 3.933, 4.206, 4.529, 4.896, 5.304, 5.766, 6.292, 6.893");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.9697, 1.035, 1.206, 1.476, 1.848, 2.342, 2.984, 3.791, 4.776, 5.951",\
                 "0.977, 1.042, 1.214, 1.483, 1.855, 2.35, 2.992, 3.798, 4.783, 5.959",\
                 "0.9985, 1.063, 1.235, 1.505, 1.877, 2.371, 3.013, 3.82, 4.804, 5.98",\
                 "1.044, 1.109, 1.28, 1.55, 1.922, 2.417, 3.059, 3.865, 4.852, 6.028",\
                 "1.121, 1.186, 1.358, 1.627, 1.998, 2.492, 3.133, 3.94, 4.926, 6.103",\
                 "1.21, 1.277, 1.451, 1.722, 2.094, 2.588, 3.229, 4.035, 5.02, 6.196",\
                 "1.297, 1.365, 1.542, 1.815, 2.188, 2.683, 3.323, 4.128, 5.113, 6.288",\
                 "1.372, 1.442, 1.622, 1.898, 2.273, 2.767, 3.407, 4.211, 5.195, 6.367",\
                 "1.428, 1.5, 1.686, 1.966, 2.346, 2.841, 3.479, 4.283, 5.265, 6.436",\
                 "1.461, 1.537, 1.728, 2.013, 2.398, 2.898, 3.537, 4.34, 5.321, 6.492");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3976, 0.472, 0.6498, 0.8856, 1.178, 1.545, 2.006, 2.596, 3.339, 4.258",\
                 "0.3978, 0.4738, 0.65, 0.8856, 1.178, 1.543, 2.006, 2.596, 3.34, 4.258",\
                 "0.3976, 0.4722, 0.6502, 0.8858, 1.178, 1.543, 2.006, 2.596, 3.34, 4.258",\
                 "0.3984, 0.4718, 0.65, 0.8858, 1.178, 1.545, 2.007, 2.596, 3.339, 4.254",\
                 "0.3986, 0.4722, 0.6508, 0.8866, 1.179, 1.544, 2.007, 2.597, 3.341, 4.255",\
                 "0.401, 0.4744, 0.6536, 0.8888, 1.181, 1.548, 2.009, 2.599, 3.341, 4.258",\
                 "0.4194, 0.4948, 0.6728, 0.9056, 1.195, 1.557, 2.015, 2.604, 3.344, 4.26",\
                 "0.4366, 0.512, 0.6962, 0.9344, 1.223, 1.582, 2.033, 2.616, 3.353, 4.265",\
                 "0.456, 0.5334, 0.719, 0.9606, 1.251, 1.61, 2.062, 2.638, 3.373, 4.279",\
                 "0.4864, 0.5636, 0.7528, 0.9958, 1.285, 1.645, 2.09, 2.664, 3.392, 4.29");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2344, 0.3002, 0.5106, 0.884, 1.451, 2.271, 3.383, 4.8, 6.543, 8.61",\
                 "0.2349, 0.3008, 0.5106, 0.885, 1.45, 2.271, 3.383, 4.805, 6.541, 8.613",\
                 "0.2346, 0.3008, 0.5108, 0.8852, 1.451, 2.271, 3.383, 4.801, 6.543, 8.611",\
                 "0.2338, 0.3016, 0.5114, 0.884, 1.451, 2.272, 3.384, 4.805, 6.541, 8.626",\
                 "0.2364, 0.304, 0.5116, 0.8856, 1.453, 2.273, 3.382, 4.804, 6.549, 8.625",\
                 "0.2488, 0.3162, 0.523, 0.8964, 1.46, 2.275, 3.386, 4.802, 6.538, 8.611",\
                 "0.263, 0.331, 0.5366, 0.9102, 1.47, 2.286, 3.388, 4.807, 6.538, 8.612",\
                 "0.2834, 0.3518, 0.556, 0.9286, 1.485, 2.294, 3.395, 4.812, 6.548, 8.619",\
                 "0.31, 0.3782, 0.5826, 0.954, 1.508, 2.306, 3.406, 4.813, 6.552, 8.623",\
                 "0.338, 0.4078, 0.6112, 0.9858, 1.541, 2.334, 3.421, 4.819, 6.55, 8.623");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.791, 1.857, 2.019, 2.237, 2.499, 2.805, 3.163, 3.585, 4.083, 4.669",\
                 "1.805, 1.87, 2.032, 2.25, 2.512, 2.819, 3.177, 3.598, 4.096, 4.682",\
                 "1.847, 1.913, 2.075, 2.293, 2.555, 2.862, 3.219, 3.641, 4.139, 4.725",\
                 "1.93, 1.995, 2.157, 2.375, 2.637, 2.944, 3.301, 3.723, 4.221, 4.807",\
                 "2.051, 2.116, 2.278, 2.496, 2.759, 3.065, 3.423, 3.844, 4.343, 4.928",\
                 "2.184, 2.25, 2.412, 2.63, 2.892, 3.198, 3.556, 3.978, 4.476, 5.062",\
                 "2.309, 2.374, 2.535, 2.753, 3.015, 3.321, 3.678, 4.1, 4.598, 5.184",\
                 "2.416, 2.48, 2.64, 2.854, 3.114, 3.419, 3.778, 4.2, 4.699, 5.285",\
                 "2.494, 2.558, 2.715, 2.928, 3.187, 3.492, 3.85, 4.273, 4.772, 5.359",\
                 "2.539, 2.603, 2.76, 2.972, 3.231, 3.536, 3.893, 4.316, 4.815, 5.402");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.988, 2.047, 2.205, 2.455, 2.81, 3.294, 3.932, 4.737, 5.722, 6.894",\
                 "2.004, 2.063, 2.221, 2.471, 2.826, 3.31, 3.948, 4.753, 5.738, 6.91",\
                 "2.058, 2.117, 2.275, 2.525, 2.88, 3.365, 4.002, 4.807, 5.792, 6.965",\
                 "2.17, 2.23, 2.388, 2.638, 2.992, 3.477, 4.115, 4.92, 5.905, 7.078",\
                 "2.36, 2.419, 2.577, 2.828, 3.182, 3.667, 4.305, 5.11, 6.094, 7.268",\
                 "2.631, 2.691, 2.85, 3.1, 3.454, 3.938, 4.576, 5.381, 6.365, 7.54",\
                 "2.975, 3.034, 3.193, 3.443, 3.797, 4.282, 4.919, 5.723, 6.708, 7.882",\
                 "3.368, 3.428, 3.587, 3.838, 4.191, 4.676, 5.313, 6.118, 7.101, 8.276",\
                 "3.81, 3.87, 4.029, 4.28, 4.634, 5.118, 5.755, 6.559, 7.543, 8.716",\
                 "4.301, 4.361, 4.522, 4.773, 5.126, 5.61, 6.246, 7.05, 8.033, 9.207");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2964, 0.3576, 0.5048, 0.7076, 0.9768, 1.329, 1.798, 2.412, 3.191, 4.141",\
                 "0.296, 0.3576, 0.5046, 0.7088, 0.9772, 1.328, 1.798, 2.411, 3.191, 4.142",\
                 "0.297, 0.3578, 0.5046, 0.7088, 0.9778, 1.328, 1.797, 2.411, 3.189, 4.142",\
                 "0.2962, 0.3578, 0.5048, 0.7086, 0.9772, 1.329, 1.798, 2.412, 3.189, 4.142",\
                 "0.2962, 0.3582, 0.5052, 0.708, 0.977, 1.329, 1.798, 2.413, 3.188, 4.139",\
                 "0.2966, 0.3586, 0.5056, 0.7098, 0.9774, 1.33, 1.799, 2.413, 3.189, 4.143",\
                 "0.2964, 0.358, 0.5046, 0.7068, 0.9766, 1.328, 1.799, 2.411, 3.188, 4.143",\
                 "0.299, 0.36, 0.5008, 0.7006, 0.973, 1.328, 1.799, 2.415, 3.192, 4.141",\
                 "0.2984, 0.3586, 0.4972, 0.6984, 0.9714, 1.327, 1.8, 2.414, 3.194, 4.146",\
                 "0.2998, 0.3562, 0.4976, 0.6996, 0.972, 1.327, 1.8, 2.415, 3.195, 4.148");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2056, 0.2658, 0.4668, 0.8274, 1.394, 2.234, 3.358, 4.783, 6.519, 8.602",\
                 "0.2056, 0.2668, 0.4668, 0.8276, 1.395, 2.234, 3.358, 4.783, 6.518, 8.601",\
                 "0.2056, 0.2656, 0.4668, 0.8276, 1.394, 2.234, 3.359, 4.783, 6.519, 8.601",\
                 "0.2058, 0.2662, 0.4664, 0.8252, 1.396, 2.234, 3.359, 4.783, 6.518, 8.593",\
                 "0.2062, 0.266, 0.4652, 0.8248, 1.395, 2.234, 3.355, 4.782, 6.525, 8.587",\
                 "0.2066, 0.2676, 0.4666, 0.8264, 1.397, 2.233, 3.359, 4.783, 6.525, 8.59",\
                 "0.2076, 0.2684, 0.4672, 0.827, 1.398, 2.235, 3.359, 4.781, 6.525, 8.593",\
                 "0.211, 0.2714, 0.4698, 0.8288, 1.397, 2.233, 3.356, 4.781, 6.525, 8.591",\
                 "0.2152, 0.2748, 0.473, 0.8302, 1.398, 2.235, 3.356, 4.784, 6.524, 8.604",\
                 "0.22, 0.2802, 0.4764, 0.8356, 1.4, 2.236, 3.356, 4.776, 6.52, 8.594");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.774, 1.838, 1.996, 2.211, 2.471, 2.776, 3.132, 3.553, 4.051, 4.637",\
                 "1.787, 1.851, 2.009, 2.224, 2.484, 2.789, 3.145, 3.566, 4.064, 4.65",\
                 "1.83, 1.894, 2.052, 2.267, 2.527, 2.831, 3.188, 3.609, 4.107, 4.693",\
                 "1.912, 1.976, 2.134, 2.349, 2.609, 2.914, 3.27, 3.691, 4.189, 4.775",\
                 "2.035, 2.099, 2.258, 2.472, 2.733, 3.037, 3.393, 3.815, 4.313, 4.898",\
                 "2.172, 2.236, 2.395, 2.609, 2.869, 3.174, 3.53, 3.952, 4.45, 5.035",\
                 "2.301, 2.365, 2.523, 2.737, 2.996, 3.301, 3.657, 4.078, 4.576, 5.162",\
                 "2.412, 2.476, 2.633, 2.845, 3.104, 3.407, 3.764, 4.185, 4.683, 5.268",\
                 "2.495, 2.559, 2.716, 2.927, 3.185, 3.489, 3.845, 4.266, 4.764, 5.349",\
                 "2.546, 2.61, 2.766, 2.978, 3.236, 3.54, 3.896, 4.317, 4.814, 5.401");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("2.017, 2.076, 2.236, 2.487, 2.842, 3.327, 3.965, 4.77, 5.755, 6.929",\
                 "2.033, 2.092, 2.252, 2.503, 2.858, 3.343, 3.981, 4.786, 5.77, 6.945",\
                 "2.087, 2.146, 2.306, 2.557, 2.912, 3.397, 4.035, 4.84, 5.824, 6.999",\
                 "2.2, 2.259, 2.419, 2.67, 3.025, 3.51, 4.148, 4.954, 5.938, 7.112",\
                 "2.39, 2.45, 2.609, 2.861, 3.215, 3.701, 4.338, 5.143, 6.128, 7.301",\
                 "2.662, 2.722, 2.882, 3.133, 3.488, 3.973, 4.611, 5.415, 6.4, 7.574",\
                 "3.004, 3.064, 3.224, 3.475, 3.829, 4.314, 4.952, 5.758, 6.742, 7.914",\
                 "3.395, 3.455, 3.615, 3.867, 4.223, 4.708, 5.345, 6.15, 7.133, 8.307",\
                 "3.833, 3.893, 4.053, 4.306, 4.661, 5.146, 5.784, 6.589, 7.572, 8.746",\
                 "4.321, 4.382, 4.542, 4.794, 5.15, 5.634, 6.271, 7.076, 8.06, 9.234");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2884, 0.3484, 0.4928, 0.696, 0.9666, 1.321, 1.792, 2.407, 3.187, 4.139",\
                 "0.2884, 0.3488, 0.4928, 0.6968, 0.9668, 1.32, 1.793, 2.407, 3.186, 4.141",\
                 "0.2884, 0.3488, 0.4928, 0.6958, 0.967, 1.322, 1.794, 2.407, 3.184, 4.136",\
                 "0.288, 0.3488, 0.4928, 0.6958, 0.9668, 1.321, 1.792, 2.409, 3.186, 4.141",\
                 "0.289, 0.3486, 0.4932, 0.6958, 0.9672, 1.321, 1.794, 2.406, 3.185, 4.14",\
                 "0.289, 0.3494, 0.4936, 0.6968, 0.9678, 1.322, 1.794, 2.407, 3.187, 4.14",\
                 "0.2886, 0.3492, 0.492, 0.6946, 0.9656, 1.321, 1.793, 2.408, 3.187, 4.138",\
                 "0.2914, 0.351, 0.4916, 0.6928, 0.9652, 1.318, 1.792, 2.406, 3.185, 4.141",\
                 "0.293, 0.3506, 0.491, 0.6924, 0.964, 1.32, 1.791, 2.407, 3.183, 4.135",\
                 "0.2934, 0.352, 0.4928, 0.6946, 0.9666, 1.322, 1.792, 2.406, 3.185, 4.136");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2104, 0.27, 0.4702, 0.8294, 1.399, 2.236, 3.361, 4.779, 6.517, 8.589",\
                 "0.2088, 0.2698, 0.4688, 0.8304, 1.4, 2.237, 3.362, 4.785, 6.525, 8.59",\
                 "0.2094, 0.2696, 0.4688, 0.8302, 1.398, 2.237, 3.361, 4.785, 6.525, 8.59",\
                 "0.2104, 0.2698, 0.47, 0.8286, 1.4, 2.237, 3.361, 4.785, 6.525, 8.594",\
                 "0.2094, 0.2708, 0.47, 0.829, 1.401, 2.237, 3.36, 4.782, 6.519, 8.597",\
                 "0.2098, 0.2708, 0.4704, 0.8312, 1.401, 2.237, 3.36, 4.783, 6.526, 8.59",\
                 "0.2112, 0.2728, 0.4716, 0.8324, 1.399, 2.237, 3.359, 4.782, 6.52, 8.604",\
                 "0.215, 0.275, 0.474, 0.8344, 1.403, 2.239, 3.357, 4.782, 6.526, 8.602",\
                 "0.2178, 0.2784, 0.477, 0.836, 1.404, 2.24, 3.359, 4.787, 6.525, 8.604",\
                 "0.2228, 0.2824, 0.4796, 0.8384, 1.404, 2.24, 3.364, 4.782, 6.516, 8.6");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.791, 1.857, 2.019, 2.237, 2.499, 2.805, 3.163, 3.585, 4.083, 4.669",\
                 "1.805, 1.87, 2.032, 2.25, 2.512, 2.819, 3.177, 3.598, 4.096, 4.682",\
                 "1.847, 1.913, 2.075, 2.293, 2.555, 2.862, 3.219, 3.641, 4.139, 4.725",\
                 "1.93, 1.995, 2.157, 2.375, 2.637, 2.944, 3.301, 3.723, 4.221, 4.807",\
                 "2.051, 2.116, 2.278, 2.496, 2.759, 3.065, 3.423, 3.844, 4.343, 4.928",\
                 "2.184, 2.25, 2.412, 2.63, 2.892, 3.198, 3.556, 3.978, 4.476, 5.062",\
                 "2.309, 2.374, 2.535, 2.753, 3.015, 3.321, 3.678, 4.1, 4.598, 5.184",\
                 "2.416, 2.48, 2.64, 2.854, 3.114, 3.419, 3.778, 4.2, 4.699, 5.285",\
                 "2.494, 2.558, 2.715, 2.928, 3.187, 3.492, 3.85, 4.273, 4.772, 5.359",\
                 "2.539, 2.603, 2.76, 2.972, 3.231, 3.536, 3.893, 4.316, 4.815, 5.402");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("2.017, 2.076, 2.236, 2.487, 2.842, 3.327, 3.965, 4.77, 5.755, 6.929",\
                 "2.033, 2.092, 2.252, 2.503, 2.858, 3.343, 3.981, 4.786, 5.77, 6.945",\
                 "2.087, 2.146, 2.306, 2.557, 2.912, 3.397, 4.035, 4.84, 5.824, 6.999",\
                 "2.2, 2.259, 2.419, 2.67, 3.025, 3.51, 4.148, 4.954, 5.938, 7.112",\
                 "2.39, 2.45, 2.609, 2.861, 3.215, 3.701, 4.338, 5.143, 6.128, 7.301",\
                 "2.662, 2.722, 2.882, 3.133, 3.488, 3.973, 4.611, 5.415, 6.4, 7.574",\
                 "3.004, 3.064, 3.224, 3.475, 3.829, 4.314, 4.952, 5.758, 6.742, 7.914",\
                 "3.395, 3.455, 3.615, 3.867, 4.223, 4.708, 5.345, 6.15, 7.133, 8.307",\
                 "3.833, 3.893, 4.053, 4.306, 4.661, 5.146, 5.784, 6.589, 7.572, 8.746",\
                 "4.321, 4.382, 4.542, 4.794, 5.15, 5.634, 6.271, 7.076, 8.06, 9.234");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2964, 0.3576, 0.5048, 0.7076, 0.9768, 1.329, 1.798, 2.412, 3.191, 4.141",\
                 "0.296, 0.3576, 0.5046, 0.7088, 0.9772, 1.328, 1.798, 2.411, 3.191, 4.142",\
                 "0.297, 0.3578, 0.5046, 0.7088, 0.9778, 1.328, 1.797, 2.411, 3.189, 4.142",\
                 "0.2962, 0.3578, 0.5048, 0.7086, 0.9772, 1.329, 1.798, 2.412, 3.189, 4.142",\
                 "0.2962, 0.3582, 0.5052, 0.708, 0.977, 1.329, 1.798, 2.413, 3.188, 4.139",\
                 "0.2966, 0.3586, 0.5056, 0.7098, 0.9774, 1.33, 1.799, 2.413, 3.189, 4.143",\
                 "0.2964, 0.358, 0.5046, 0.7068, 0.9766, 1.328, 1.799, 2.411, 3.188, 4.143",\
                 "0.299, 0.36, 0.5008, 0.7006, 0.973, 1.328, 1.799, 2.415, 3.192, 4.141",\
                 "0.2984, 0.3586, 0.4972, 0.6984, 0.9714, 1.327, 1.8, 2.414, 3.194, 4.146",\
                 "0.2998, 0.3562, 0.4976, 0.6996, 0.972, 1.327, 1.8, 2.415, 3.195, 4.148");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2104, 0.27, 0.4702, 0.8294, 1.399, 2.236, 3.361, 4.779, 6.517, 8.589",\
                 "0.2088, 0.2698, 0.4688, 0.8304, 1.4, 2.237, 3.362, 4.785, 6.525, 8.59",\
                 "0.2094, 0.2696, 0.4688, 0.8302, 1.398, 2.237, 3.361, 4.785, 6.525, 8.59",\
                 "0.2104, 0.2698, 0.47, 0.8286, 1.4, 2.237, 3.361, 4.785, 6.525, 8.594",\
                 "0.2094, 0.2708, 0.47, 0.829, 1.401, 2.237, 3.36, 4.782, 6.519, 8.597",\
                 "0.2098, 0.2708, 0.4704, 0.8312, 1.401, 2.237, 3.36, 4.783, 6.526, 8.59",\
                 "0.2112, 0.2728, 0.4716, 0.8324, 1.399, 2.237, 3.359, 4.782, 6.52, 8.604",\
                 "0.215, 0.275, 0.474, 0.8344, 1.403, 2.239, 3.357, 4.782, 6.526, 8.602",\
                 "0.2178, 0.2784, 0.477, 0.836, 1.404, 2.24, 3.359, 4.787, 6.525, 8.604",\
                 "0.2228, 0.2824, 0.4796, 0.8384, 1.404, 2.24, 3.364, 4.782, 6.516, 8.6");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b0 && B===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A&!B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.461, 1.537, 1.727, 1.985, 2.291, 2.643, 3.04, 3.492, 4.012, 4.611",\
                 "1.47, 1.546, 1.736, 1.994, 2.3, 2.651, 3.048, 3.501, 4.021, 4.62",\
                 "1.507, 1.583, 1.773, 2.03, 2.337, 2.688, 3.085, 3.537, 4.057, 4.656",\
                 "1.602, 1.678, 1.868, 2.126, 2.432, 2.783, 3.18, 3.632, 4.152, 4.751",\
                 "1.784, 1.86, 2.05, 2.307, 2.613, 2.964, 3.361, 3.813, 4.333, 4.932",\
                 "2.067, 2.143, 2.333, 2.59, 2.896, 3.246, 3.643, 4.095, 4.615, 5.214",\
                 "2.452, 2.529, 2.719, 2.976, 3.282, 3.633, 4.029, 4.481, 5.001, 5.6",\
                 "2.906, 2.985, 3.182, 3.445, 3.755, 4.108, 4.506, 4.959, 5.478, 6.076",\
                 "3.432, 3.514, 3.716, 3.984, 4.3, 4.658, 5.061, 5.516, 6.037, 6.636",\
                 "4.037, 4.121, 4.33, 4.605, 4.927, 5.29, 5.696, 6.154, 6.677, 7.277");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.6815, 0.7394, 0.8984, 1.151, 1.509, 1.998, 2.638, 3.445, 4.43, 5.604",\
                 "0.6963, 0.7542, 0.9132, 1.166, 1.524, 2.013, 2.653, 3.46, 4.447, 5.622",\
                 "0.7267, 0.785, 0.9436, 1.197, 1.555, 2.043, 2.684, 3.491, 4.476, 5.65",\
                 "0.77, 0.8282, 0.9869, 1.24, 1.598, 2.086, 2.727, 3.534, 4.518, 5.692",\
                 "0.8242, 0.8838, 1.045, 1.299, 1.656, 2.144, 2.784, 3.591, 4.576, 5.751",\
                 "0.8627, 0.9249, 1.089, 1.348, 1.708, 2.196, 2.835, 3.641, 4.626, 5.8",\
                 "0.8759, 0.94, 1.109, 1.371, 1.733, 2.221, 2.86, 3.664, 4.648, 5.822",\
                 "0.8481, 0.9151, 1.089, 1.357, 1.723, 2.21, 2.847, 3.652, 4.634, 5.807",\
                 "0.7707, 0.8403, 1.02, 1.294, 1.666, 2.157, 2.793, 3.595, 4.578, 5.75",\
                 "0.6363, 0.7099, 0.8973, 1.178, 1.556, 2.052, 2.692, 3.494, 4.475, 5.646");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3978, 0.472, 0.6498, 0.8852, 1.177, 1.543, 2.006, 2.596, 3.339, 4.258",\
                 "0.3974, 0.4716, 0.6498, 0.8852, 1.178, 1.543, 2.007, 2.596, 3.338, 4.257",\
                 "0.3978, 0.4732, 0.649, 0.8846, 1.177, 1.543, 2.006, 2.595, 3.338, 4.255",\
                 "0.397, 0.4714, 0.6492, 0.885, 1.177, 1.543, 2.005, 2.595, 3.337, 4.256",\
                 "0.3972, 0.4714, 0.6494, 0.8848, 1.177, 1.543, 2.004, 2.595, 3.337, 4.255",\
                 "0.3966, 0.4712, 0.6494, 0.8856, 1.177, 1.544, 2.006, 2.596, 3.34, 4.253",\
                 "0.4158, 0.4894, 0.6636, 0.8974, 1.189, 1.552, 2.012, 2.6, 3.339, 4.258",\
                 "0.4504, 0.5248, 0.702, 0.9318, 1.218, 1.573, 2.027, 2.609, 3.348, 4.263",\
                 "0.4814, 0.5566, 0.7402, 0.9722, 1.255, 1.608, 2.055, 2.631, 3.365, 4.272",\
                 "0.5148, 0.5916, 0.7786, 1.013, 1.291, 1.642, 2.086, 2.656, 3.384, 4.282");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.1843, 0.2478, 0.4541, 0.8169, 1.393, 2.232, 3.354, 4.78, 6.518, 8.588",\
                 "0.1843, 0.2483, 0.4541, 0.8182, 1.391, 2.233, 3.356, 4.784, 6.529, 8.594",\
                 "0.1849, 0.2478, 0.4542, 0.8176, 1.394, 2.232, 3.355, 4.785, 6.515, 8.591",\
                 "0.1848, 0.249, 0.455, 0.8176, 1.394, 2.232, 3.353, 4.779, 6.524, 8.589",\
                 "0.1962, 0.2594, 0.4632, 0.8228, 1.396, 2.232, 3.356, 4.779, 6.52, 8.593",\
                 "0.2122, 0.2752, 0.4796, 0.8414, 1.407, 2.238, 3.359, 4.778, 6.529, 8.607",\
                 "0.2282, 0.296, 0.4996, 0.8606, 1.419, 2.245, 3.364, 4.781, 6.521, 8.595",\
                 "0.252, 0.319, 0.5238, 0.8864, 1.439, 2.255, 3.367, 4.786, 6.526, 8.595",\
                 "0.282, 0.349, 0.5524, 0.92, 1.469, 2.275, 3.376, 4.79, 6.524, 8.596",\
                 "0.3154, 0.3834, 0.5842, 0.9548, 1.507, 2.307, 3.398, 4.799, 6.528, 8.595");
        }
      }

      timing() {
        related_pin : "CI" ;
        sdf_cond : "A===1'b1 && B===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A&B" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.9654, 1.03, 1.19, 1.409, 1.675, 1.988, 2.352, 2.778, 3.28, 3.868",\
                 "0.9843, 1.048, 1.209, 1.428, 1.694, 2.007, 2.371, 2.797, 3.299, 3.887",\
                 "1.033, 1.097, 1.257, 1.476, 1.743, 2.055, 2.419, 2.846, 3.347, 3.935",\
                 "1.106, 1.17, 1.33, 1.55, 1.816, 2.128, 2.492, 2.919, 3.421, 4.008",\
                 "1.226, 1.29, 1.449, 1.668, 1.934, 2.246, 2.61, 3.037, 3.539, 4.127",\
                 "1.396, 1.459, 1.62, 1.841, 2.11, 2.424, 2.788, 3.215, 3.717, 4.305",\
                 "1.608, 1.673, 1.835, 2.059, 2.333, 2.653, 3.022, 3.451, 3.954, 4.542",\
                 "1.859, 1.928, 2.095, 2.323, 2.602, 2.928, 3.303, 3.737, 4.243, 4.832",\
                 "2.141, 2.212, 2.389, 2.625, 2.912, 3.246, 3.627, 4.066, 4.574, 5.166",\
                 "2.45, 2.525, 2.71, 2.957, 3.254, 3.601, 3.993, 4.44, 4.953, 5.546");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.9652, 1.03, 1.201, 1.471, 1.843, 2.337, 2.979, 3.786, 4.771, 5.946",\
                 "0.9761, 1.041, 1.212, 1.482, 1.853, 2.348, 2.99, 3.797, 4.782, 5.957",\
                 "1.012, 1.077, 1.248, 1.518, 1.889, 2.383, 3.025, 3.832, 4.817, 5.991",\
                 "1.085, 1.149, 1.321, 1.59, 1.962, 2.456, 3.097, 3.904, 4.889, 6.067",\
                 "1.205, 1.27, 1.441, 1.71, 2.08, 2.574, 3.215, 4.022, 5.007, 6.184",\
                 "1.347, 1.412, 1.585, 1.854, 2.224, 2.716, 3.355, 4.16, 5.145, 6.321",\
                 "1.477, 1.544, 1.719, 1.989, 2.36, 2.853, 3.49, 4.294, 5.278, 6.453",\
                 "1.596, 1.666, 1.844, 2.116, 2.487, 2.979, 3.616, 4.418, 5.401, 6.571",\
                 "1.7, 1.773, 1.956, 2.232, 2.605, 3.096, 3.732, 4.532, 5.513, 6.683",\
                 "1.786, 1.862, 2.053, 2.333, 2.711, 3.204, 3.838, 4.637, 5.617, 6.786");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2778, 0.3394, 0.4906, 0.7024, 0.984, 1.345, 1.818, 2.431, 3.204, 4.152",\
                 "0.2773, 0.3398, 0.4904, 0.7026, 0.9842, 1.346, 1.818, 2.43, 3.204, 4.149",\
                 "0.2774, 0.3398, 0.4908, 0.7026, 0.9834, 1.346, 1.82, 2.43, 3.204, 4.152",\
                 "0.2774, 0.3398, 0.4918, 0.7022, 0.9834, 1.346, 1.819, 2.43, 3.204, 4.151",\
                 "0.2772, 0.3394, 0.4914, 0.703, 0.9852, 1.346, 1.819, 2.431, 3.205, 4.146",\
                 "0.2904, 0.3524, 0.5068, 0.7196, 0.997, 1.356, 1.826, 2.433, 3.207, 4.153",\
                 "0.3112, 0.3722, 0.5232, 0.7426, 1.028, 1.385, 1.847, 2.45, 3.215, 4.154",\
                 "0.343, 0.4052, 0.5568, 0.7712, 1.06, 1.419, 1.879, 2.476, 3.234, 4.168",\
                 "0.382, 0.4488, 0.6046, 0.8182, 1.106, 1.466, 1.921, 2.509, 3.258, 4.183",\
                 "0.4236, 0.4928, 0.6584, 0.8766, 1.166, 1.533, 1.981, 2.555, 3.292, 4.206");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2334, 0.3021, 0.5092, 0.8834, 1.45, 2.271, 3.383, 4.8, 6.547, 8.61",\
                 "0.2336, 0.3002, 0.5094, 0.883, 1.449, 2.271, 3.382, 4.797, 6.545, 8.615",\
                 "0.2334, 0.3002, 0.5096, 0.8842, 1.45, 2.269, 3.382, 4.796, 6.543, 8.607",\
                 "0.233, 0.2998, 0.5098, 0.8834, 1.45, 2.27, 3.381, 4.798, 6.543, 8.606",\
                 "0.2332, 0.3004, 0.5094, 0.884, 1.449, 2.271, 3.382, 4.799, 6.545, 8.624",\
                 "0.2474, 0.314, 0.5196, 0.892, 1.454, 2.273, 3.38, 4.803, 6.537, 8.608",\
                 "0.2674, 0.3326, 0.535, 0.908, 1.466, 2.28, 3.386, 4.803, 6.539, 8.625",\
                 "0.291, 0.3558, 0.5548, 0.9236, 1.48, 2.29, 3.391, 4.805, 6.541, 8.618",\
                 "0.3214, 0.3862, 0.5826, 0.9486, 1.498, 2.298, 3.397, 4.808, 6.552, 8.616",\
                 "0.3558, 0.4222, 0.6154, 0.9784, 1.526, 2.317, 3.408, 4.813, 6.546, 8.614");
        }
      }

      timing() {
        related_pin : "CI" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("1.461, 1.537, 1.727, 1.985, 2.291, 2.643, 3.04, 3.492, 4.012, 4.611",\
                 "1.47, 1.546, 1.736, 1.994, 2.3, 2.651, 3.048, 3.501, 4.021, 4.62",\
                 "1.507, 1.583, 1.773, 2.03, 2.337, 2.688, 3.085, 3.537, 4.057, 4.656",\
                 "1.602, 1.678, 1.868, 2.126, 2.432, 2.783, 3.18, 3.632, 4.152, 4.751",\
                 "1.784, 1.86, 2.05, 2.307, 2.613, 2.964, 3.361, 3.813, 4.333, 4.932",\
                 "2.067, 2.143, 2.333, 2.59, 2.896, 3.246, 3.643, 4.095, 4.615, 5.214",\
                 "2.452, 2.529, 2.719, 2.976, 3.282, 3.633, 4.029, 4.481, 5.001, 5.6",\
                 "2.906, 2.985, 3.182, 3.445, 3.755, 4.108, 4.506, 4.959, 5.478, 6.076",\
                 "3.432, 3.514, 3.716, 3.984, 4.3, 4.658, 5.061, 5.516, 6.037, 6.636",\
                 "4.037, 4.121, 4.33, 4.605, 4.927, 5.29, 5.696, 6.154, 6.677, 7.277");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.9652, 1.03, 1.201, 1.471, 1.843, 2.337, 2.979, 3.786, 4.771, 5.946",\
                 "0.9761, 1.041, 1.212, 1.482, 1.853, 2.348, 2.99, 3.797, 4.782, 5.957",\
                 "1.012, 1.077, 1.248, 1.518, 1.889, 2.383, 3.025, 3.832, 4.817, 5.991",\
                 "1.085, 1.149, 1.321, 1.59, 1.962, 2.456, 3.097, 3.904, 4.889, 6.067",\
                 "1.205, 1.27, 1.441, 1.71, 2.08, 2.574, 3.215, 4.022, 5.007, 6.184",\
                 "1.347, 1.412, 1.585, 1.854, 2.224, 2.716, 3.355, 4.16, 5.145, 6.321",\
                 "1.477, 1.544, 1.719, 1.989, 2.36, 2.853, 3.49, 4.294, 5.278, 6.453",\
                 "1.596, 1.666, 1.844, 2.116, 2.487, 2.979, 3.616, 4.418, 5.401, 6.571",\
                 "1.7, 1.773, 1.956, 2.232, 2.605, 3.096, 3.732, 4.532, 5.513, 6.683",\
                 "1.786, 1.862, 2.053, 2.333, 2.711, 3.204, 3.838, 4.637, 5.617, 6.786");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.3978, 0.472, 0.6498, 0.8852, 1.177, 1.543, 2.006, 2.596, 3.339, 4.258",\
                 "0.3974, 0.4716, 0.6498, 0.8852, 1.178, 1.543, 2.007, 2.596, 3.338, 4.257",\
                 "0.3978, 0.4732, 0.649, 0.8846, 1.177, 1.543, 2.006, 2.595, 3.338, 4.255",\
                 "0.397, 0.4714, 0.6492, 0.885, 1.177, 1.543, 2.005, 2.595, 3.337, 4.256",\
                 "0.3972, 0.4714, 0.6494, 0.8848, 1.177, 1.543, 2.004, 2.595, 3.337, 4.255",\
                 "0.3966, 0.4712, 0.6494, 0.8856, 1.177, 1.544, 2.006, 2.596, 3.34, 4.253",\
                 "0.4158, 0.4894, 0.6636, 0.8974, 1.189, 1.552, 2.012, 2.6, 3.339, 4.258",\
                 "0.4504, 0.5248, 0.702, 0.9318, 1.218, 1.573, 2.027, 2.609, 3.348, 4.263",\
                 "0.4814, 0.5566, 0.7402, 0.9722, 1.255, 1.608, 2.055, 2.631, 3.365, 4.272",\
                 "0.5148, 0.5916, 0.7786, 1.013, 1.291, 1.642, 2.086, 2.656, 3.384, 4.282");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009839, 0.04086, 0.1001, 0.1924, 0.3219, 0.4924, 0.7071, 0.9692, 1.282");
          values("0.2334, 0.3021, 0.5092, 0.8834, 1.45, 2.271, 3.383, 4.8, 6.547, 8.61",\
                 "0.2336, 0.3002, 0.5094, 0.883, 1.449, 2.271, 3.382, 4.797, 6.545, 8.615",\
                 "0.2334, 0.3002, 0.5096, 0.8842, 1.45, 2.269, 3.382, 4.796, 6.543, 8.607",\
                 "0.233, 0.2998, 0.5098, 0.8834, 1.45, 2.27, 3.381, 4.798, 6.543, 8.606",\
                 "0.2332, 0.3004, 0.5094, 0.884, 1.449, 2.271, 3.382, 4.799, 6.545, 8.624",\
                 "0.2474, 0.314, 0.5196, 0.892, 1.454, 2.273, 3.38, 4.803, 6.537, 8.608",\
                 "0.2674, 0.3326, 0.535, 0.908, 1.466, 2.28, 3.386, 4.803, 6.539, 8.625",\
                 "0.291, 0.3558, 0.5548, 0.9236, 1.48, 2.29, 3.391, 4.805, 6.541, 8.618",\
                 "0.3214, 0.3862, 0.5826, 0.9486, 1.498, 2.298, 3.397, 4.808, 6.552, 8.616",\
                 "0.3558, 0.4222, 0.6154, 0.9784, 1.526, 2.317, 3.408, 4.813, 6.546, 8.614");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__addh_1) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B" ;
      value : "7.85598e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B" ;
      value : "0.0001092234" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B" ;
      value : "7.83222e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B" ;
      value : "0.0001142592" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001142592" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A) {
      capacitance : 0.006344 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(B) {
      capacitance : 0.005309 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CO) {
      direction : output ;
      function : "(A&B)" ;
      max_capacitance : 0.3598 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1018, 0.1002, 0.09829, 0.0971, 0.09661, 0.09591, 0.09562, 0.09549, 0.09539, 0.09532",\
                 "0.1016, 0.1, 0.09805, 0.09686, 0.0964, 0.09574, 0.09545, 0.09535, 0.09525, 0.09518",\
                 "0.1019, 0.1003, 0.09824, 0.09706, 0.09663, 0.09597, 0.09567, 0.09554, 0.09547, 0.09541",\
                 "0.1049, 0.1031, 0.1005, 0.09898, 0.09835, 0.09759, 0.09723, 0.09713, 0.09697, 0.0969",\
                 "0.113, 0.1106, 0.1067, 0.1042, 0.1029, 0.1017, 0.1011, 0.1008, 0.1006, 0.1005",\
                 "0.1243, 0.1214, 0.1164, 0.1126, 0.1105, 0.1088, 0.1078, 0.1073, 0.107, 0.1068",\
                 "0.14, 0.1365, 0.1298, 0.1246, 0.1214, 0.1194, 0.1181, 0.1171, 0.1167, 0.1164",\
                 "0.159, 0.155, 0.1471, 0.1404, 0.136, 0.1328, 0.1312, 0.1299, 0.1291, 0.1286",\
                 "0.1825, 0.178, 0.1684, 0.1604, 0.1547, 0.1507, 0.1482, 0.1465, 0.1453, 0.1441",\
                 "0.2101, 0.2055, 0.1944, 0.1845, 0.1774, 0.1721, 0.1687, 0.1664, 0.1648, 0.1636");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.07795, 0.07704, 0.07586, 0.07548, 0.07615, 0.07659, 0.077, 0.07749, 0.07817, 0.08141",\
                 "0.07781, 0.07699, 0.07571, 0.07536, 0.07603, 0.07644, 0.07686, 0.07735, 0.07799, 0.08209",\
                 "0.07775, 0.07678, 0.07556, 0.07504, 0.07568, 0.07612, 0.07653, 0.07706, 0.07786, 0.08167",\
                 "0.07975, 0.07872, 0.0769, 0.07594, 0.07638, 0.07676, 0.07737, 0.07753, 0.0783, 0.08256",\
                 "0.08473, 0.08334, 0.08088, 0.07938, 0.07926, 0.07934, 0.07955, 0.07994, 0.08113, 0.08451",\
                 "0.09351, 0.09165, 0.08828, 0.08607, 0.08529, 0.08491, 0.08489, 0.08512, 0.08579, 0.09056",\
                 "0.1057, 0.1034, 0.09925, 0.09601, 0.09417, 0.09392, 0.0937, 0.0933, 0.09428, 0.09968",\
                 "0.1216, 0.1188, 0.1139, 0.1094, 0.1064, 0.1052, 0.1052, 0.1051, 0.1052, 0.1132",\
                 "0.141, 0.1378, 0.1319, 0.1264, 0.1226, 0.1199, 0.1189, 0.1198, 0.1205, 0.132",\
                 "0.1644, 0.1604, 0.1535, 0.1471, 0.1423, 0.1385, 0.1363, 0.1361, 0.1388, 0.1564");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.0942, 0.09284, 0.09132, 0.0904, 0.0901, 0.08951, 0.08921, 0.08908, 0.08908, 0.08908",\
                 "0.09402, 0.09267, 0.09112, 0.09023, 0.0899, 0.08934, 0.08904, 0.08904, 0.08884, 0.08877",\
                 "0.09396, 0.09264, 0.09109, 0.09014, 0.08984, 0.08931, 0.08901, 0.08895, 0.08895, 0.08892",\
                 "0.09722, 0.09557, 0.09336, 0.09197, 0.09151, 0.09088, 0.09055, 0.09045, 0.09035, 0.09026",\
                 "0.1053, 0.103, 0.09943, 0.09715, 0.096, 0.09501, 0.09442, 0.09418, 0.09402, 0.09392",\
                 "0.1167, 0.1139, 0.109, 0.1053, 0.1034, 0.102, 0.101, 0.1007, 0.1003, 0.1002",\
                 "0.1319, 0.1284, 0.1219, 0.117, 0.1139, 0.1118, 0.1107, 0.1099, 0.1093, 0.1089",\
                 "0.1507, 0.1468, 0.1385, 0.1323, 0.128, 0.1251, 0.1233, 0.1221, 0.1213, 0.1208",\
                 "0.1738, 0.1693, 0.1597, 0.1515, 0.1459, 0.142, 0.1397, 0.1378, 0.1365, 0.1358",\
                 "0.2008, 0.196, 0.1848, 0.1751, 0.1678, 0.1626, 0.1593, 0.157, 0.1555, 0.1543");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.07545, 0.07458, 0.0733, 0.07295, 0.07369, 0.07413, 0.07441, 0.075, 0.07561, 0.07928",\
                 "0.07519, 0.07431, 0.07306, 0.07281, 0.07338, 0.07402, 0.07427, 0.07469, 0.07533, 0.07883",\
                 "0.07533, 0.07437, 0.07307, 0.0726, 0.07323, 0.07368, 0.07409, 0.07461, 0.07528, 0.07883",\
                 "0.0784, 0.07727, 0.07532, 0.07411, 0.07438, 0.07463, 0.07504, 0.07523, 0.07601, 0.08007",\
                 "0.08428, 0.08264, 0.07981, 0.07811, 0.07773, 0.07754, 0.07789, 0.07798, 0.07877, 0.08315",\
                 "0.09332, 0.09139, 0.08776, 0.08501, 0.0837, 0.08316, 0.08311, 0.0831, 0.0843, 0.08902",\
                 "0.1061, 0.1036, 0.09884, 0.09504, 0.09284, 0.09226, 0.09165, 0.09161, 0.09147, 0.0983",\
                 "0.1221, 0.1189, 0.1136, 0.1084, 0.1052, 0.1034, 0.1032, 0.103, 0.1031, 0.1107",\
                 "0.1416, 0.138, 0.1312, 0.1253, 0.121, 0.1178, 0.1165, 0.1172, 0.1176, 0.13",\
                 "0.1645, 0.1603, 0.1522, 0.1454, 0.1401, 0.1359, 0.1332, 0.1328, 0.1355, 0.1539");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.3975, 0.4377, 0.5437, 0.6985, 0.9065, 1.181, 1.537, 1.985, 2.531, 3.182",\
                 "0.4137, 0.4539, 0.5599, 0.7148, 0.9227, 1.198, 1.553, 2.001, 2.547, 3.198",\
                 "0.4797, 0.5199, 0.6257, 0.7807, 0.9887, 1.264, 1.62, 2.067, 2.613, 3.264",\
                 "0.6154, 0.6553, 0.7612, 0.9159, 1.124, 1.399, 1.755, 2.202, 2.748, 3.399",\
                 "0.7993, 0.8429, 0.9547, 1.114, 1.323, 1.598, 1.953, 2.4, 2.946, 3.597",\
                 "1.016, 1.063, 1.183, 1.349, 1.564, 1.84, 2.196, 2.643, 3.188, 3.839",\
                 "1.271, 1.322, 1.45, 1.625, 1.845, 2.123, 2.48, 2.926, 3.472, 4.122",\
                 "1.566, 1.62, 1.759, 1.944, 2.171, 2.453, 2.809, 3.256, 3.801, 4.451",\
                 "1.899, 1.958, 2.106, 2.303, 2.541, 2.83, 3.188, 3.635, 4.18, 4.83",\
                 "2.274, 2.337, 2.496, 2.706, 2.955, 3.253, 3.617, 4.066, 4.611, 5.261");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.3764, 0.4208, 0.5552, 0.7859, 1.137, 1.625, 2.267, 3.076, 4.065, 5.242",\
                 "0.386, 0.4307, 0.5649, 0.7955, 1.146, 1.635, 2.277, 3.086, 4.074, 5.252",\
                 "0.4121, 0.4566, 0.5907, 0.8211, 1.172, 1.66, 2.302, 3.111, 4.1, 5.274",\
                 "0.457, 0.5022, 0.6368, 0.8668, 1.217, 1.705, 2.347, 3.156, 4.145, 5.321",\
                 "0.4948, 0.5417, 0.679, 0.9104, 1.26, 1.748, 2.389, 3.198, 4.185, 5.363",\
                 "0.5151, 0.5635, 0.7046, 0.9381, 1.287, 1.775, 2.416, 3.224, 4.211, 5.388",\
                 "0.5074, 0.5583, 0.7049, 0.9433, 1.294, 1.78, 2.42, 3.228, 4.214, 5.391",\
                 "0.4671, 0.5214, 0.6744, 0.9185, 1.273, 1.761, 2.4, 3.208, 4.193, 5.369",\
                 "0.3912, 0.4487, 0.608, 0.8595, 1.221, 1.714, 2.356, 3.162, 4.147, 5.322",\
                 "0.2777, 0.3384, 0.504, 0.763, 1.131, 1.631, 2.28, 3.089, 4.074, 5.249");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1416, 0.1783, 0.2864, 0.4706, 0.7642, 1.196, 1.781, 2.53, 3.445, 4.54",\
                 "0.1415, 0.1783, 0.2864, 0.4714, 0.7642, 1.196, 1.781, 2.53, 3.446, 4.539",\
                 "0.1416, 0.1785, 0.2869, 0.4709, 0.7643, 1.196, 1.78, 2.53, 3.445, 4.541",\
                 "0.1449, 0.1816, 0.2892, 0.4726, 0.7652, 1.196, 1.781, 2.53, 3.446, 4.541",\
                 "0.1684, 0.2054, 0.3084, 0.4854, 0.771, 1.198, 1.781, 2.53, 3.444, 4.538",\
                 "0.1918, 0.2314, 0.3356, 0.5104, 0.7872, 1.205, 1.784, 2.531, 3.446, 4.541",\
                 "0.218, 0.2606, 0.3664, 0.5384, 0.8074, 1.216, 1.79, 2.533, 3.446, 4.539",\
                 "0.2476, 0.2946, 0.4034, 0.5738, 0.8342, 1.231, 1.796, 2.536, 3.449, 4.543",\
                 "0.2778, 0.3304, 0.4454, 0.6178, 0.872, 1.257, 1.809, 2.541, 3.451, 4.541",\
                 "0.3104, 0.3642, 0.4904, 0.6674, 0.9192, 1.295, 1.836, 2.556, 3.459, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1451, 0.2037, 0.3951, 0.7713, 1.376, 2.231, 3.367, 4.789, 6.531, 8.602",\
                 "0.145, 0.2041, 0.3951, 0.7711, 1.376, 2.231, 3.367, 4.786, 6.531, 8.609",\
                 "0.145, 0.2029, 0.3952, 0.7711, 1.376, 2.231, 3.367, 4.788, 6.531, 8.601",\
                 "0.1506, 0.2084, 0.3982, 0.7722, 1.376, 2.231, 3.364, 4.788, 6.528, 8.609",\
                 "0.1594, 0.2188, 0.409, 0.7784, 1.378, 2.231, 3.367, 4.788, 6.528, 8.612",\
                 "0.174, 0.2324, 0.4224, 0.786, 1.381, 2.234, 3.367, 4.789, 6.531, 8.611",\
                 "0.1912, 0.249, 0.4416, 0.8006, 1.387, 2.235, 3.364, 4.787, 6.528, 8.608",\
                 "0.2108, 0.2696, 0.4644, 0.8244, 1.405, 2.245, 3.365, 4.789, 6.528, 8.6",\
                 "0.2328, 0.2924, 0.4888, 0.8496, 1.432, 2.267, 3.378, 4.792, 6.527, 8.613",\
                 "0.2548, 0.3154, 0.5128, 0.8774, 1.463, 2.301, 3.41, 4.81, 6.531, 8.602");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.37, 0.4089, 0.5128, 0.6663, 0.8735, 1.148, 1.504, 1.951, 2.497, 3.148",\
                 "0.3865, 0.4254, 0.5294, 0.6828, 0.89, 1.164, 1.52, 1.968, 2.514, 3.165",\
                 "0.4507, 0.4892, 0.5933, 0.7468, 0.9541, 1.229, 1.584, 2.032, 2.578, 3.229",\
                 "0.5824, 0.6213, 0.7252, 0.8789, 1.086, 1.361, 1.716, 2.164, 2.71, 3.361",\
                 "0.7544, 0.7968, 0.9071, 1.066, 1.275, 1.55, 1.905, 2.352, 2.898, 3.549",\
                 "0.9546, 1.001, 1.119, 1.285, 1.5, 1.776, 2.132, 2.578, 3.124, 3.774",\
                 "1.186, 1.237, 1.364, 1.539, 1.759, 2.038, 2.394, 2.841, 3.386, 4.037",\
                 "1.448, 1.502, 1.64, 1.827, 2.056, 2.34, 2.696, 3.143, 3.688, 4.338",\
                 "1.74, 1.799, 1.947, 2.147, 2.388, 2.68, 3.041, 3.488, 4.033, 4.683",\
                 "2.064, 2.127, 2.285, 2.499, 2.754, 3.057, 3.425, 3.877, 4.423, 5.073");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.363, 0.4079, 0.5421, 0.7726, 1.124, 1.612, 2.254, 3.063, 4.051, 5.229",\
                 "0.3744, 0.4189, 0.5533, 0.7839, 1.135, 1.623, 2.265, 3.074, 4.063, 5.24",\
                 "0.4184, 0.4627, 0.5969, 0.8272, 1.178, 1.666, 2.309, 3.118, 4.106, 5.284",\
                 "0.494, 0.5391, 0.6731, 0.9025, 1.252, 1.74, 2.382, 3.191, 4.179, 5.357",\
                 "0.5577, 0.604, 0.7409, 0.9714, 1.321, 1.808, 2.449, 3.258, 4.246, 5.423",\
                 "0.6036, 0.6522, 0.7925, 1.024, 1.372, 1.86, 2.5, 3.309, 4.295, 5.472",\
                 "0.6271, 0.6781, 0.8237, 1.058, 1.407, 1.892, 2.533, 3.34, 4.328, 5.502",\
                 "0.6238, 0.6783, 0.8307, 1.071, 1.422, 1.907, 2.546, 3.353, 4.339, 5.515",\
                 "0.5909, 0.6491, 0.8082, 1.056, 1.411, 1.9, 2.539, 3.345, 4.33, 5.506",\
                 "0.5258, 0.5879, 0.7544, 1.01, 1.372, 1.865, 2.509, 3.316, 4.3, 5.475");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1338, 0.1705, 0.2809, 0.4669, 0.7613, 1.194, 1.78, 2.529, 3.446, 4.54",\
                 "0.1338, 0.1705, 0.2806, 0.4669, 0.7612, 1.194, 1.78, 2.53, 3.444, 4.539",\
                 "0.1338, 0.1709, 0.2806, 0.467, 0.7617, 1.194, 1.78, 2.529, 3.444, 4.536",\
                 "0.1391, 0.1757, 0.2842, 0.469, 0.7626, 1.195, 1.78, 2.529, 3.445, 4.539",\
                 "0.163, 0.1996, 0.3056, 0.4844, 0.7692, 1.196, 1.781, 2.529, 3.445, 4.54",\
                 "0.1868, 0.226, 0.3324, 0.51, 0.7868, 1.204, 1.783, 2.53, 3.446, 4.541",\
                 "0.216, 0.2566, 0.3646, 0.5396, 0.8084, 1.216, 1.789, 2.532, 3.447, 4.54",\
                 "0.245, 0.2912, 0.405, 0.5806, 0.8404, 1.234, 1.797, 2.535, 3.448, 4.539",\
                 "0.2784, 0.3272, 0.4482, 0.6282, 0.885, 1.268, 1.817, 2.543, 3.453, 4.54",\
                 "0.3106, 0.3646, 0.4958, 0.6802, 0.937, 1.315, 1.854, 2.569, 3.464, 4.546");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1451, 0.2041, 0.395, 0.7717, 1.376, 2.232, 3.368, 4.786, 6.53, 8.607",\
                 "0.145, 0.2033, 0.395, 0.772, 1.376, 2.231, 3.367, 4.788, 6.531, 8.606",\
                 "0.145, 0.2031, 0.3949, 0.771, 1.376, 2.231, 3.367, 4.789, 6.531, 8.604",\
                 "0.1504, 0.2087, 0.3984, 0.7728, 1.376, 2.232, 3.366, 4.789, 6.531, 8.607",\
                 "0.1628, 0.2198, 0.4094, 0.7786, 1.378, 2.233, 3.366, 4.789, 6.532, 8.607",\
                 "0.1778, 0.2346, 0.422, 0.785, 1.383, 2.236, 3.366, 4.789, 6.527, 8.606",\
                 "0.1976, 0.2546, 0.442, 0.7968, 1.386, 2.24, 3.367, 4.791, 6.53, 8.603",\
                 "0.22, 0.2762, 0.465, 0.8176, 1.399, 2.242, 3.371, 4.791, 6.531, 8.605",\
                 "0.2442, 0.303, 0.4904, 0.8424, 1.421, 2.257, 3.375, 4.793, 6.53, 8.612",\
                 "0.2678, 0.3298, 0.5204, 0.8716, 1.448, 2.286, 3.4, 4.802, 6.533, 8.602");
        }
      }
    }

    pin(S) {
      direction : output ;
      function : "(A^B)" ;
      max_capacitance : 0.3594 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1019, 0.09976, 0.09646, 0.09457, 0.09338, 0.09272, 0.09227, 0.092, 0.09176, 0.09162",\
                 "0.1009, 0.09878, 0.09544, 0.09359, 0.09241, 0.09174, 0.09133, 0.09097, 0.09078, 0.09067",\
                 "0.1005, 0.09831, 0.0951, 0.09312, 0.09198, 0.09131, 0.09089, 0.09061, 0.09038, 0.09025",\
                 "0.1037, 0.1015, 0.09796, 0.09581, 0.09457, 0.09385, 0.09337, 0.09311, 0.09289, 0.09276",\
                 "0.1137, 0.111, 0.1064, 0.1033, 0.1016, 0.1006, 0.09993, 0.09951, 0.09925, 0.09906",\
                 "0.1282, 0.1251, 0.1193, 0.1154, 0.113, 0.1114, 0.1106, 0.11, 0.1095, 0.1093",\
                 "0.1483, 0.1446, 0.1377, 0.1325, 0.1292, 0.127, 0.1257, 0.1248, 0.1243, 0.1239",\
                 "0.1741, 0.17, 0.1616, 0.1551, 0.1506, 0.1477, 0.1459, 0.1446, 0.1437, 0.1432",\
                 "0.2059, 0.2013, 0.1915, 0.1833, 0.1777, 0.1737, 0.1713, 0.1696, 0.1684, 0.1676",\
                 "0.2436, 0.2386, 0.2276, 0.2177, 0.2106, 0.2057, 0.2023, 0.2001, 0.1985, 0.1974");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.04482, 0.04413, 0.0435, 0.04358, 0.04402, 0.04468, 0.04535, 0.0459, 0.04689, 0.04977",\
                 "0.04489, 0.04422, 0.04372, 0.04374, 0.04422, 0.04475, 0.04538, 0.046, 0.04692, 0.05001",\
                 "0.04553, 0.04487, 0.04408, 0.04411, 0.04442, 0.04511, 0.04571, 0.04666, 0.04735, 0.05057",\
                 "0.04966, 0.04881, 0.04736, 0.04662, 0.0467, 0.04729, 0.04789, 0.04867, 0.04996, 0.05326",\
                 "0.05759, 0.05625, 0.05384, 0.05275, 0.05204, 0.05237, 0.05277, 0.05332, 0.05456, 0.05898",\
                 "0.06996, 0.06809, 0.06479, 0.06242, 0.06191, 0.06145, 0.06122, 0.06177, 0.06251, 0.06756",\
                 "0.08685, 0.08466, 0.0807, 0.07698, 0.07478, 0.07518, 0.07462, 0.07434, 0.07472, 0.08153",\
                 "0.109, 0.1062, 0.1012, 0.09654, 0.09316, 0.09158, 0.09224, 0.09196, 0.092, 0.09923",\
                 "0.136, 0.1325, 0.1264, 0.1211, 0.1164, 0.1139, 0.1128, 0.1135, 0.1143, 0.1253",\
                 "0.1684, 0.1644, 0.1573, 0.1503, 0.1455, 0.1416, 0.1393, 0.1386, 0.1414, 0.1582");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.0808, 0.07941, 0.07756, 0.07621, 0.07525, 0.07486, 0.07499, 0.07495, 0.07492, 0.07489",\
                 "0.08074, 0.07935, 0.07744, 0.07609, 0.07516, 0.07477, 0.07486, 0.0748, 0.07477, 0.07477",\
                 "0.08035, 0.07896, 0.07712, 0.07576, 0.07481, 0.07441, 0.07454, 0.07448, 0.07444, 0.07441",\
                 "0.08115, 0.0797, 0.07785, 0.07667, 0.07558, 0.07521, 0.07535, 0.07528, 0.07518, 0.07515",\
                 "0.08437, 0.08295, 0.08104, 0.07968, 0.07883, 0.07846, 0.07853, 0.07843, 0.07836, 0.0784",\
                 "0.0907, 0.08928, 0.08727, 0.08608, 0.08525, 0.08479, 0.08479, 0.08473, 0.08476, 0.08473",\
                 "0.1005, 0.09892, 0.09681, 0.09552, 0.09453, 0.09433, 0.09417, 0.09394, 0.09387, 0.09394",\
                 "0.1139, 0.1122, 0.1098, 0.1084, 0.1076, 0.1069, 0.1069, 0.1069, 0.1067, 0.1066",\
                 "0.1311, 0.1294, 0.1268, 0.1251, 0.1241, 0.1236, 0.1237, 0.1234, 0.1234, 0.1233",\
                 "0.1516, 0.15, 0.147, 0.1452, 0.1444, 0.1438, 0.1435, 0.1431, 0.1431, 0.143");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.09941, 0.09853, 0.09722, 0.09671, 0.09692, 0.09726, 0.09792, 0.09887, 0.09926, 0.1031",\
                 "0.09919, 0.09826, 0.09701, 0.09652, 0.0967, 0.09713, 0.09759, 0.09861, 0.09897, 0.1027",\
                 "0.09939, 0.09852, 0.09717, 0.09674, 0.09692, 0.09721, 0.09787, 0.09889, 0.09925, 0.1035",\
                 "0.1014, 0.1003, 0.099, 0.09855, 0.09873, 0.099, 0.09952, 0.1002, 0.1017, 0.1053",\
                 "0.1064, 0.1055, 0.1041, 0.1035, 0.1036, 0.1039, 0.1046, 0.1051, 0.1067, 0.1111",\
                 "0.1145, 0.1135, 0.112, 0.1115, 0.1115, 0.1119, 0.1125, 0.113, 0.1147, 0.1213",\
                 "0.1261, 0.1252, 0.1235, 0.123, 0.1232, 0.1236, 0.1239, 0.1246, 0.1256, 0.1351",\
                 "0.1423, 0.1411, 0.1393, 0.1384, 0.1383, 0.1393, 0.1396, 0.1401, 0.1417, 0.1552",\
                 "0.1622, 0.1609, 0.1589, 0.1579, 0.1574, 0.1578, 0.159, 0.1597, 0.1622, 0.1843",\
                 "0.1862, 0.1849, 0.1826, 0.1814, 0.1805, 0.1807, 0.1812, 0.1835, 0.1882, 0.2269");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1082, 0.1061, 0.1028, 0.1009, 0.09969, 0.09901, 0.09857, 0.09829, 0.09806, 0.09793",\
                 "0.1079, 0.1057, 0.1024, 0.1005, 0.09935, 0.09869, 0.09824, 0.09797, 0.09773, 0.09759",\
                 "0.107, 0.1049, 0.1016, 0.09962, 0.09849, 0.09786, 0.09739, 0.09713, 0.09691, 0.09678",\
                 "0.1096, 0.1073, 0.1038, 0.1017, 0.1004, 0.09967, 0.09924, 0.09894, 0.09869, 0.09854",\
                 "0.1185, 0.1159, 0.1116, 0.1088, 0.1072, 0.1062, 0.1056, 0.1053, 0.105, 0.1048",\
                 "0.1333, 0.1304, 0.1252, 0.1215, 0.1193, 0.118, 0.1172, 0.1166, 0.1163, 0.116",\
                 "0.1552, 0.1518, 0.1453, 0.1406, 0.1375, 0.1356, 0.1344, 0.1336, 0.1331, 0.1327",\
                 "0.1836, 0.1798, 0.172, 0.1659, 0.1618, 0.1592, 0.1575, 0.1564, 0.1556, 0.1551",\
                 "0.2185, 0.2144, 0.2053, 0.1977, 0.1924, 0.1889, 0.1867, 0.1851, 0.184, 0.1832",\
                 "0.2602, 0.2557, 0.2454, 0.2361, 0.2296, 0.2251, 0.2221, 0.22, 0.2186, 0.2175");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.05341, 0.05264, 0.05156, 0.05146, 0.05177, 0.0524, 0.05316, 0.05358, 0.05427, 0.05841",\
                 "0.05284, 0.05202, 0.05104, 0.05096, 0.05121, 0.0519, 0.05266, 0.05308, 0.05414, 0.05709",\
                 "0.053, 0.0522, 0.05112, 0.05086, 0.05108, 0.05164, 0.05253, 0.05295, 0.05378, 0.0579",\
                 "0.05702, 0.05605, 0.05441, 0.05354, 0.05349, 0.05398, 0.05471, 0.055, 0.05585, 0.06026",\
                 "0.06543, 0.06401, 0.06164, 0.06024, 0.05946, 0.05946, 0.05992, 0.06081, 0.06181, 0.06573",\
                 "0.07893, 0.07712, 0.07386, 0.07113, 0.07051, 0.06982, 0.06995, 0.07034, 0.0707, 0.07611",\
                 "0.09794, 0.09573, 0.09131, 0.08779, 0.08583, 0.08523, 0.085, 0.08466, 0.08556, 0.0914",\
                 "0.1226, 0.1198, 0.1147, 0.1102, 0.1067, 0.1049, 0.105, 0.1052, 0.1052, 0.1132",\
                 "0.1532, 0.1499, 0.1439, 0.1381, 0.1337, 0.1306, 0.1295, 0.1301, 0.1311, 0.1428",\
                 "0.1899, 0.186, 0.179, 0.1726, 0.167, 0.1628, 0.1605, 0.1591, 0.1617, 0.1805");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.0782, 0.07678, 0.07493, 0.07371, 0.07276, 0.07243, 0.07246, 0.07239, 0.07236, 0.07229",\
                 "0.07796, 0.07661, 0.0747, 0.07358, 0.07249, 0.07216, 0.07226, 0.07219, 0.07212, 0.07209",\
                 "0.07788, 0.07652, 0.07458, 0.07332, 0.07233, 0.07194, 0.07204, 0.07194, 0.0719, 0.07187",\
                 "0.07921, 0.07789, 0.07588, 0.07469, 0.07363, 0.0734, 0.0734, 0.07337, 0.07334, 0.07324",\
                 "0.08285, 0.08153, 0.07952, 0.0783, 0.07734, 0.07685, 0.07691, 0.07688, 0.07685, 0.07678",\
                 "0.08945, 0.08793, 0.08592, 0.08467, 0.08387, 0.08348, 0.08348, 0.08344, 0.08341, 0.08341",\
                 "0.09931, 0.09789, 0.09565, 0.0943, 0.0936, 0.09321, 0.09304, 0.09298, 0.09288, 0.09288",\
                 "0.1129, 0.1112, 0.1089, 0.1074, 0.1065, 0.1059, 0.1061, 0.1058, 0.1058, 0.1057",\
                 "0.1297, 0.1281, 0.1255, 0.1238, 0.1227, 0.1222, 0.1221, 0.1221, 0.122, 0.1218",\
                 "0.15, 0.1481, 0.1453, 0.1436, 0.1422, 0.1415, 0.1414, 0.1412, 0.1411, 0.1411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.09212, 0.09125, 0.09021, 0.09007, 0.09044, 0.09101, 0.09154, 0.09199, 0.09291, 0.09678",\
                 "0.09198, 0.09111, 0.09013, 0.08991, 0.09019, 0.09068, 0.09128, 0.0919, 0.09285, 0.09689",\
                 "0.09182, 0.09108, 0.08997, 0.08976, 0.09017, 0.09067, 0.09123, 0.09188, 0.09271, 0.09712",\
                 "0.09369, 0.09285, 0.09177, 0.09154, 0.09189, 0.09238, 0.09304, 0.0935, 0.0945, 0.09919",\
                 "0.09872, 0.09784, 0.0968, 0.09641, 0.09675, 0.09728, 0.09775, 0.09876, 0.09935, 0.1048",\
                 "0.1069, 0.106, 0.1045, 0.1043, 0.1044, 0.1048, 0.1055, 0.1058, 0.107, 0.1145",\
                 "0.1185, 0.1176, 0.116, 0.1153, 0.1158, 0.1159, 0.1164, 0.1173, 0.118, 0.1267",\
                 "0.1343, 0.1332, 0.1313, 0.1304, 0.1302, 0.1312, 0.1317, 0.1318, 0.1337, 0.1463",\
                 "0.1536, 0.1523, 0.1503, 0.1492, 0.1486, 0.1492, 0.1504, 0.1507, 0.1532, 0.1734",\
                 "0.1771, 0.1758, 0.1733, 0.1717, 0.1711, 0.1709, 0.1719, 0.1736, 0.1777, 0.2135");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.712, 0.7499, 0.8492, 0.9956, 1.196, 1.468, 1.823, 2.27, 2.815, 3.465",\
                 "0.7217, 0.7596, 0.8589, 1.005, 1.206, 1.477, 1.832, 2.279, 2.825, 3.475",\
                 "0.7454, 0.7832, 0.8826, 1.029, 1.23, 1.501, 1.856, 2.303, 2.849, 3.499",\
                 "0.7848, 0.8227, 0.9223, 1.068, 1.269, 1.541, 1.896, 2.343, 2.888, 3.538",\
                 "0.8265, 0.8638, 0.9625, 1.108, 1.309, 1.581, 1.936, 2.383, 2.929, 3.579",\
                 "0.8533, 0.8904, 0.9892, 1.136, 1.336, 1.608, 1.962, 2.409, 2.955, 3.605",\
                 "0.8555, 0.8931, 0.9928, 1.139, 1.34, 1.612, 1.966, 2.413, 2.958, 3.608",\
                 "0.8269, 0.8646, 0.9654, 1.113, 1.315, 1.586, 1.941, 2.388, 2.933, 3.583",\
                 "0.7632, 0.8021, 0.9035, 1.052, 1.255, 1.53, 1.887, 2.335, 2.88, 3.529",\
                 "0.6618, 0.7014, 0.8043, 0.9533, 1.159, 1.436, 1.796, 2.244, 2.789, 3.438");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.7709, 0.8148, 0.9469, 1.175, 1.523, 2.011, 2.651, 3.459, 4.446, 5.622",\
                 "0.7873, 0.8311, 0.9632, 1.191, 1.539, 2.027, 2.669, 3.476, 4.463, 5.639",\
                 "0.8537, 0.8976, 1.029, 1.258, 1.606, 2.093, 2.735, 3.542, 4.528, 5.705",\
                 "0.9865, 1.03, 1.162, 1.39, 1.738, 2.226, 2.867, 3.676, 4.662, 5.835",\
                 "1.174, 1.218, 1.35, 1.578, 1.926, 2.414, 3.055, 3.864, 4.849, 6.024",\
                 "1.398, 1.442, 1.575, 1.803, 2.151, 2.639, 3.281, 4.089, 5.073, 6.249",\
                 "1.663, 1.707, 1.84, 2.069, 2.416, 2.904, 3.546, 4.353, 5.34, 6.516",\
                 "1.971, 2.015, 2.148, 2.376, 2.724, 3.212, 3.853, 4.66, 5.646, 6.822",\
                 "2.32, 2.364, 2.498, 2.727, 3.074, 3.561, 4.203, 5.01, 5.995, 7.17",\
                 "2.711, 2.757, 2.891, 3.119, 3.466, 3.953, 4.594, 5.402, 6.388, 7.563");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1374, 0.1723, 0.2718, 0.4507, 0.7492, 1.188, 1.78, 2.528, 3.441, 4.533",\
                 "0.1375, 0.1719, 0.2718, 0.4508, 0.749, 1.188, 1.78, 2.529, 3.445, 4.533",\
                 "0.1375, 0.1723, 0.2719, 0.4506, 0.7492, 1.188, 1.78, 2.528, 3.442, 4.533",\
                 "0.1384, 0.1724, 0.2718, 0.4512, 0.7486, 1.188, 1.78, 2.528, 3.445, 4.538",\
                 "0.1364, 0.1692, 0.2696, 0.45, 0.7496, 1.187, 1.78, 2.529, 3.442, 4.537",\
                 "0.1362, 0.171, 0.2716, 0.4508, 0.7474, 1.186, 1.777, 2.528, 3.445, 4.535",\
                 "0.139, 0.1734, 0.2736, 0.453, 0.7484, 1.186, 1.776, 2.524, 3.442, 4.532",\
                 "0.1434, 0.1772, 0.277, 0.4558, 0.752, 1.189, 1.779, 2.525, 3.438, 4.53",\
                 "0.1472, 0.1814, 0.2806, 0.459, 0.7578, 1.199, 1.787, 2.529, 3.44, 4.531",\
                 "0.1512, 0.1852, 0.2844, 0.464, 0.7644, 1.209, 1.795, 2.534, 3.44, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1465, 0.2035, 0.3944, 0.768, 1.375, 2.234, 3.361, 4.785, 6.526, 8.597",\
                 "0.1465, 0.2044, 0.3945, 0.7678, 1.375, 2.234, 3.362, 4.784, 6.53, 8.594",\
                 "0.1467, 0.2034, 0.3944, 0.7676, 1.374, 2.234, 3.362, 4.785, 6.525, 8.597",\
                 "0.1464, 0.2048, 0.3944, 0.7684, 1.375, 2.233, 3.359, 4.787, 6.527, 8.595",\
                 "0.1464, 0.205, 0.3952, 0.7696, 1.374, 2.234, 3.361, 4.787, 6.524, 8.601",\
                 "0.1476, 0.2054, 0.3956, 0.7694, 1.375, 2.234, 3.362, 4.786, 6.523, 8.596",\
                 "0.1494, 0.2072, 0.3972, 0.769, 1.375, 2.233, 3.36, 4.783, 6.521, 8.594",\
                 "0.1518, 0.2094, 0.3986, 0.7698, 1.375, 2.232, 3.364, 4.789, 6.519, 8.591",\
                 "0.1542, 0.2124, 0.4016, 0.7708, 1.374, 2.231, 3.36, 4.784, 6.518, 8.591",\
                 "0.1578, 0.216, 0.4036, 0.7714, 1.376, 2.231, 3.362, 4.782, 6.522, 8.598");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.4887, 0.5321, 0.6488, 0.8198, 1.042, 1.325, 1.685, 2.133, 2.678, 3.328",\
                 "0.5004, 0.544, 0.6609, 0.8317, 1.054, 1.337, 1.697, 2.144, 2.69, 3.34",\
                 "0.553, 0.5964, 0.7131, 0.884, 1.106, 1.389, 1.749, 2.197, 2.742, 3.392",\
                 "0.6771, 0.7203, 0.8366, 1.007, 1.229, 1.512, 1.872, 2.32, 2.865, 3.515",\
                 "0.8649, 0.9097, 1.028, 1.201, 1.424, 1.708, 2.067, 2.515, 3.06, 3.71",\
                 "1.096, 1.143, 1.267, 1.444, 1.671, 1.957, 2.317, 2.764, 3.31, 3.959",\
                 "1.376, 1.426, 1.556, 1.737, 1.967, 2.257, 2.618, 3.067, 3.612, 4.261",\
                 "1.702, 1.756, 1.894, 2.084, 2.32, 2.611, 2.973, 3.422, 3.969, 4.618",\
                 "2.075, 2.133, 2.28, 2.48, 2.726, 3.023, 3.389, 3.838, 4.384, 5.034",\
                 "2.494, 2.556, 2.713, 2.924, 3.182, 3.49, 3.863, 4.315, 4.862, 5.512");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.3162, 0.3594, 0.4902, 0.7181, 1.067, 1.554, 2.197, 3.003, 3.991, 5.165",\
                 "0.3294, 0.3723, 0.5034, 0.7314, 1.08, 1.567, 2.21, 3.017, 4.002, 5.18",\
                 "0.3739, 0.4169, 0.5475, 0.7751, 1.123, 1.612, 2.254, 3.061, 4.049, 5.224",\
                 "0.4376, 0.481, 0.6119, 0.8388, 1.186, 1.674, 2.316, 3.125, 4.113, 5.287",\
                 "0.4803, 0.5249, 0.6574, 0.8847, 1.232, 1.719, 2.361, 3.17, 4.156, 5.331",\
                 "0.4959, 0.5423, 0.6779, 0.9054, 1.252, 1.738, 2.378, 3.186, 4.174, 5.35",\
                 "0.4765, 0.5254, 0.6666, 0.8981, 1.243, 1.729, 2.369, 3.175, 4.161, 5.338",\
                 "0.4185, 0.4708, 0.6178, 0.8537, 1.203, 1.689, 2.329, 3.134, 4.119, 5.292",\
                 "0.3191, 0.3743, 0.5276, 0.7701, 1.123, 1.613, 2.255, 3.061, 4.044, 5.218",\
                 "0.1759, 0.2354, 0.3961, 0.6434, 1.002, 1.497, 2.145, 2.953, 3.937, 5.111");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1673, 0.2086, 0.328, 0.5241, 0.8146, 1.231, 1.804, 2.543, 3.456, 4.55",\
                 "0.1674, 0.2089, 0.3277, 0.5233, 0.8146, 1.232, 1.804, 2.541, 3.456, 4.549",\
                 "0.1669, 0.2084, 0.3287, 0.5244, 0.814, 1.232, 1.802, 2.542, 3.454, 4.545",\
                 "0.1678, 0.2098, 0.329, 0.5248, 0.8154, 1.233, 1.803, 2.542, 3.457, 4.545",\
                 "0.1842, 0.2252, 0.3424, 0.5332, 0.82, 1.236, 1.804, 2.543, 3.457, 4.55",\
                 "0.2046, 0.2456, 0.361, 0.5524, 0.8342, 1.245, 1.809, 2.545, 3.454, 4.55",\
                 "0.2288, 0.2712, 0.3856, 0.5734, 0.8504, 1.256, 1.817, 2.55, 3.455, 4.549",\
                 "0.258, 0.3046, 0.4194, 0.6044, 0.8752, 1.271, 1.827, 2.557, 3.462, 4.548",\
                 "0.2894, 0.339, 0.4614, 0.645, 0.9136, 1.3, 1.842, 2.564, 3.465, 4.549",\
                 "0.3216, 0.3764, 0.507, 0.6928, 0.963, 1.344, 1.88, 2.584, 3.475, 4.555");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1396, 0.1982, 0.3884, 0.765, 1.373, 2.231, 3.36, 4.788, 6.525, 8.609",\
                 "0.1393, 0.1971, 0.3881, 0.7649, 1.372, 2.234, 3.363, 4.793, 6.533, 8.603",\
                 "0.1402, 0.197, 0.3887, 0.7649, 1.373, 2.23, 3.362, 4.786, 6.526, 8.602",\
                 "0.1461, 0.2032, 0.3932, 0.766, 1.372, 2.232, 3.361, 4.79, 6.529, 8.6",\
                 "0.157, 0.2134, 0.4016, 0.7724, 1.377, 2.231, 3.362, 4.789, 6.526, 8.6",\
                 "0.1734, 0.2292, 0.4144, 0.7772, 1.378, 2.235, 3.364, 4.785, 6.523, 8.603",\
                 "0.1928, 0.2488, 0.4336, 0.7916, 1.383, 2.236, 3.365, 4.786, 6.523, 8.6",\
                 "0.2176, 0.272, 0.4562, 0.8112, 1.4, 2.245, 3.367, 4.787, 6.536, 8.597",\
                 "0.24, 0.2974, 0.4826, 0.8334, 1.423, 2.268, 3.38, 4.792, 6.524, 8.599",\
                 "0.266, 0.323, 0.5092, 0.8584, 1.446, 2.3, 3.413, 4.808, 6.528, 8.595");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.6975, 0.7353, 0.8349, 0.9807, 1.181, 1.453, 1.808, 2.255, 2.8, 3.451",\
                 "0.7098, 0.7477, 0.8472, 0.9932, 1.194, 1.465, 1.82, 2.267, 2.813, 3.463",\
                 "0.7523, 0.7899, 0.8898, 1.036, 1.237, 1.508, 1.863, 2.31, 2.856, 3.506",\
                 "0.8233, 0.8612, 0.9609, 1.107, 1.308, 1.579, 1.934, 2.381, 2.927, 3.577",\
                 "0.8898, 0.9272, 1.026, 1.172, 1.373, 1.645, 2, 2.447, 2.993, 3.643",\
                 "0.9409, 0.9781, 1.077, 1.223, 1.424, 1.695, 2.05, 2.498, 3.043, 3.693",\
                 "0.9738, 1.011, 1.111, 1.257, 1.458, 1.73, 2.085, 2.531, 3.077, 3.727",\
                 "0.9827, 1.021, 1.121, 1.268, 1.469, 1.741, 2.096, 2.542, 3.088, 3.737",\
                 "0.9628, 1.002, 1.103, 1.251, 1.452, 1.724, 2.079, 2.526, 3.071, 3.721",\
                 "0.9126, 0.9518, 1.054, 1.203, 1.405, 1.677, 2.032, 2.478, 3.024, 3.673");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.7068, 0.7501, 0.8819, 1.11, 1.458, 1.945, 2.586, 3.395, 4.383, 5.559",\
                 "0.7233, 0.7669, 0.8985, 1.126, 1.474, 1.962, 2.603, 3.41, 4.399, 5.574",\
                 "0.7872, 0.831, 0.9625, 1.19, 1.538, 2.026, 2.667, 3.474, 4.463, 5.638",\
                 "0.917, 0.9606, 1.092, 1.32, 1.668, 2.155, 2.797, 3.605, 4.593, 5.77",\
                 "1.095, 1.138, 1.27, 1.498, 1.846, 2.333, 2.975, 3.781, 4.771, 5.946",\
                 "1.304, 1.348, 1.48, 1.707, 2.055, 2.542, 3.183, 3.993, 4.98, 6.157",\
                 "1.547, 1.592, 1.724, 1.952, 2.299, 2.786, 3.427, 4.235, 5.221, 6.394",\
                 "1.824, 1.869, 2.001, 2.229, 2.576, 3.063, 3.703, 4.511, 5.497, 6.674",\
                 "2.133, 2.178, 2.312, 2.539, 2.886, 3.373, 4.013, 4.82, 5.805, 6.979",\
                 "2.473, 2.519, 2.654, 2.881, 3.228, 3.714, 4.354, 5.161, 6.146, 7.32");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1374, 0.1717, 0.2714, 0.4508, 0.7488, 1.187, 1.779, 2.528, 3.445, 4.537",\
                 "0.1377, 0.1722, 0.2717, 0.4511, 0.749, 1.189, 1.78, 2.528, 3.445, 4.537",\
                 "0.1375, 0.1725, 0.2718, 0.451, 0.7492, 1.188, 1.78, 2.527, 3.443, 4.536",\
                 "0.1384, 0.1728, 0.2722, 0.4512, 0.7486, 1.188, 1.78, 2.528, 3.444, 4.537",\
                 "0.1366, 0.1706, 0.2708, 0.4514, 0.749, 1.188, 1.78, 2.527, 3.442, 4.537",\
                 "0.1362, 0.1706, 0.2714, 0.4514, 0.7472, 1.186, 1.779, 2.529, 3.445, 4.536",\
                 "0.1384, 0.1726, 0.2736, 0.4526, 0.7488, 1.187, 1.777, 2.525, 3.443, 4.535",\
                 "0.1426, 0.176, 0.276, 0.4548, 0.75, 1.188, 1.777, 2.525, 3.44, 4.531",\
                 "0.146, 0.1798, 0.2804, 0.4574, 0.7516, 1.188, 1.78, 2.527, 3.443, 4.53",\
                 "0.151, 0.1844, 0.2836, 0.4614, 0.7526, 1.189, 1.78, 2.526, 3.441, 4.53");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1436, 0.2023, 0.3915, 0.7657, 1.372, 2.231, 3.359, 4.786, 6.525, 8.598",\
                 "0.1436, 0.2011, 0.3915, 0.7658, 1.373, 2.233, 3.361, 4.785, 6.524, 8.6",\
                 "0.1438, 0.2022, 0.3914, 0.7662, 1.373, 2.232, 3.361, 4.784, 6.523, 8.6",\
                 "0.1444, 0.2012, 0.3914, 0.7664, 1.372, 2.231, 3.36, 4.789, 6.527, 8.6",\
                 "0.1456, 0.2032, 0.3922, 0.7662, 1.373, 2.232, 3.361, 4.783, 6.523, 8.599",\
                 "0.1466, 0.2042, 0.3932, 0.7662, 1.371, 2.229, 3.36, 4.785, 6.527, 8.603",\
                 "0.15, 0.2064, 0.3954, 0.7674, 1.371, 2.23, 3.36, 4.782, 6.531, 8.6",\
                 "0.152, 0.2098, 0.3982, 0.7682, 1.373, 2.229, 3.358, 4.791, 6.519, 8.597",\
                 "0.1564, 0.2142, 0.4016, 0.77, 1.374, 2.23, 3.358, 4.779, 6.522, 8.592",\
                 "0.1598, 0.2182, 0.4062, 0.771, 1.374, 2.228, 3.36, 4.786, 6.515, 8.6");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.5275, 0.571, 0.6877, 0.8588, 1.081, 1.364, 1.724, 2.171, 2.717, 3.367",\
                 "0.5417, 0.5851, 0.702, 0.8731, 1.095, 1.378, 1.738, 2.186, 2.731, 3.382",\
                 "0.5786, 0.6221, 0.7384, 0.9097, 1.132, 1.415, 1.775, 2.222, 2.768, 3.418",\
                 "0.6596, 0.703, 0.8194, 0.9902, 1.212, 1.496, 1.855, 2.303, 2.849, 3.499",\
                 "0.789, 0.8342, 0.9544, 1.128, 1.352, 1.636, 1.995, 2.443, 2.989, 3.639",\
                 "0.9655, 1.012, 1.137, 1.316, 1.544, 1.831, 2.191, 2.639, 3.184, 3.834",\
                 "1.182, 1.233, 1.364, 1.55, 1.784, 2.075, 2.437, 2.885, 3.43, 4.079",\
                 "1.434, 1.487, 1.627, 1.824, 2.069, 2.366, 2.731, 3.179, 3.725, 4.375",\
                 "1.718, 1.774, 1.923, 2.131, 2.389, 2.699, 3.073, 3.525, 4.071, 4.721",\
                 "2.035, 2.095, 2.252, 2.472, 2.744, 3.069, 3.457, 3.92, 4.47, 5.12");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.3531, 0.3967, 0.5283, 0.7565, 1.105, 1.593, 2.234, 3.042, 4.029, 5.205",\
                 "0.3639, 0.4073, 0.5391, 0.7673, 1.116, 1.604, 2.245, 3.053, 4.039, 5.215",\
                 "0.4068, 0.4502, 0.5817, 0.8096, 1.158, 1.646, 2.287, 3.097, 4.083, 5.258",\
                 "0.479, 0.5227, 0.6539, 0.8811, 1.229, 1.716, 2.358, 3.166, 4.153, 5.329",\
                 "0.5376, 0.5819, 0.7145, 0.9418, 1.289, 1.776, 2.417, 3.224, 4.209, 5.384",\
                 "0.5742, 0.6203, 0.7556, 0.9828, 1.329, 1.816, 2.456, 3.263, 4.249, 5.424",\
                 "0.5846, 0.633, 0.7722, 1.003, 1.349, 1.834, 2.474, 3.28, 4.265, 5.439",\
                 "0.5667, 0.6179, 0.7626, 0.9981, 1.347, 1.832, 2.47, 3.277, 4.262, 5.436",\
                 "0.5169, 0.5717, 0.7234, 0.9642, 1.316, 1.806, 2.446, 3.252, 4.236, 5.41",\
                 "0.4359, 0.4942, 0.6527, 0.9001, 1.258, 1.752, 2.397, 3.204, 4.188, 5.361");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1672, 0.2089, 0.3281, 0.5244, 0.8143, 1.232, 1.802, 2.542, 3.457, 4.544",\
                 "0.1671, 0.2086, 0.3279, 0.524, 0.8146, 1.231, 1.803, 2.543, 3.456, 4.55",\
                 "0.1671, 0.2089, 0.3279, 0.5232, 0.8126, 1.231, 1.804, 2.543, 3.456, 4.55",\
                 "0.1688, 0.2104, 0.3296, 0.524, 0.8136, 1.232, 1.804, 2.542, 3.457, 4.549",\
                 "0.1818, 0.2246, 0.3426, 0.5338, 0.8212, 1.235, 1.805, 2.543, 3.457, 4.55",\
                 "0.1972, 0.2404, 0.3602, 0.5542, 0.8358, 1.244, 1.808, 2.544, 3.457, 4.546",\
                 "0.221, 0.267, 0.3884, 0.5798, 0.8572, 1.261, 1.819, 2.549, 3.457, 4.549",\
                 "0.2472, 0.2958, 0.4232, 0.6196, 0.8964, 1.287, 1.832, 2.554, 3.458, 4.548",\
                 "0.2752, 0.3276, 0.4628, 0.667, 0.9512, 1.339, 1.868, 2.576, 3.469, 4.548",\
                 "0.3056, 0.362, 0.5042, 0.7142, 1.009, 1.405, 1.936, 2.625, 3.495, 4.56");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1429, 0.2004, 0.3914, 0.7666, 1.376, 2.231, 3.36, 4.786, 6.525, 8.602",\
                 "0.143, 0.2005, 0.3915, 0.7665, 1.373, 2.231, 3.361, 4.787, 6.523, 8.597",\
                 "0.143, 0.2003, 0.3917, 0.7672, 1.373, 2.233, 3.36, 4.784, 6.527, 8.599",\
                 "0.1476, 0.2044, 0.394, 0.7678, 1.374, 2.232, 3.362, 4.787, 6.522, 8.601",\
                 "0.1574, 0.2146, 0.4024, 0.7744, 1.375, 2.234, 3.36, 4.783, 6.524, 8.595",\
                 "0.1714, 0.2278, 0.414, 0.7788, 1.379, 2.235, 3.364, 4.782, 6.521, 8.595",\
                 "0.1906, 0.2456, 0.4312, 0.7912, 1.385, 2.239, 3.366, 4.784, 6.519, 8.592",\
                 "0.211, 0.2666, 0.4526, 0.808, 1.4, 2.246, 3.367, 4.788, 6.525, 8.607",\
                 "0.2364, 0.2914, 0.4762, 0.8324, 1.42, 2.266, 3.378, 4.791, 6.525, 8.598",\
                 "0.2594, 0.3158, 0.5024, 0.8558, 1.446, 2.295, 3.408, 4.809, 6.53, 8.597");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__addh_2) {
    area : 48.294400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B" ;
      value : "0.0001009338" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B" ;
      value : "0.0001316667" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B" ;
      value : "0.0001010163" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B" ;
      value : "0.0001363725" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001363725" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A) {
      capacitance : 0.008909 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(B) {
      capacitance : 0.007629 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CO) {
      direction : output ;
      function : "(A&B)" ;
      max_capacitance : 0.718 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.1522, 0.1489, 0.1457, 0.1441, 0.1432, 0.1427, 0.1426, 0.1423, 0.1424, 0.1422",\
                 "0.1518, 0.1487, 0.1453, 0.1438, 0.1429, 0.1423, 0.1422, 0.1421, 0.142, 0.1419",\
                 "0.1525, 0.1491, 0.1456, 0.144, 0.1433, 0.1427, 0.1427, 0.1426, 0.1426, 0.1425",\
                 "0.1595, 0.1554, 0.15, 0.1474, 0.146, 0.1454, 0.145, 0.1449, 0.1447, 0.1447",\
                 "0.1745, 0.1687, 0.1605, 0.1559, 0.153, 0.1517, 0.151, 0.1505, 0.1503, 0.1501",\
                 "0.1954, 0.188, 0.1768, 0.1695, 0.1655, 0.1631, 0.1617, 0.161, 0.1604, 0.1601",\
                 "0.2221, 0.2138, 0.1991, 0.1891, 0.183, 0.1795, 0.1771, 0.1756, 0.1752, 0.1743",\
                 "0.2559, 0.2463, 0.2287, 0.2154, 0.2066, 0.2013, 0.1982, 0.1959, 0.1948, 0.1938",\
                 "0.2964, 0.2862, 0.2649, 0.2484, 0.237, 0.2297, 0.2251, 0.2221, 0.2203, 0.2187",\
                 "0.3442, 0.3327, 0.3083, 0.2878, 0.2739, 0.2644, 0.2583, 0.2542, 0.2513, 0.2493");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.1266, 0.124, 0.1214, 0.1212, 0.1223, 0.1228, 0.1238, 0.125, 0.1264, 0.1329",\
                 "0.1263, 0.1238, 0.1209, 0.1209, 0.122, 0.1226, 0.1232, 0.1247, 0.1264, 0.1341",\
                 "0.1261, 0.1236, 0.1204, 0.1201, 0.1211, 0.122, 0.1229, 0.124, 0.1257, 0.1332",\
                 "0.1298, 0.1268, 0.1226, 0.1213, 0.1218, 0.1222, 0.1232, 0.124, 0.1257, 0.1342",\
                 "0.1391, 0.1351, 0.1294, 0.1268, 0.1266, 0.1264, 0.1267, 0.1278, 0.1298, 0.1385",\
                 "0.1552, 0.1499, 0.1423, 0.1377, 0.1366, 0.1357, 0.1354, 0.1364, 0.1378, 0.1496",\
                 "0.1774, 0.1711, 0.1616, 0.1544, 0.1509, 0.1502, 0.1498, 0.1494, 0.1505, 0.1637",\
                 "0.2055, 0.1979, 0.1862, 0.1773, 0.171, 0.1683, 0.1696, 0.1694, 0.1694, 0.1853",\
                 "0.2403, 0.2313, 0.2173, 0.2059, 0.1983, 0.1929, 0.1916, 0.1934, 0.1948, 0.2177",\
                 "0.2815, 0.2711, 0.2544, 0.2418, 0.2318, 0.2245, 0.2208, 0.2203, 0.2265, 0.2613");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.1391, 0.1363, 0.1338, 0.1328, 0.1322, 0.1319, 0.1316, 0.1315, 0.1316, 0.1315",\
                 "0.1387, 0.1358, 0.1335, 0.1324, 0.1318, 0.1313, 0.1313, 0.1312, 0.1311, 0.131",\
                 "0.139, 0.1361, 0.1335, 0.1323, 0.1318, 0.1314, 0.1313, 0.1313, 0.1312, 0.1312",\
                 "0.1464, 0.1425, 0.1378, 0.1356, 0.1344, 0.1338, 0.1337, 0.1334, 0.1333, 0.1332",\
                 "0.1615, 0.1557, 0.1478, 0.1435, 0.1414, 0.1401, 0.1396, 0.1391, 0.1389, 0.1388",\
                 "0.182, 0.1746, 0.1638, 0.1568, 0.153, 0.1508, 0.1497, 0.149, 0.1484, 0.148",\
                 "0.2085, 0.1999, 0.1855, 0.1757, 0.1697, 0.1661, 0.1643, 0.1629, 0.1619, 0.1615",\
                 "0.2418, 0.2319, 0.2138, 0.201, 0.1926, 0.1877, 0.1845, 0.1823, 0.1812, 0.1803",\
                 "0.2814, 0.2707, 0.2485, 0.233, 0.2218, 0.2144, 0.2102, 0.2073, 0.2053, 0.2039",\
                 "0.3274, 0.316, 0.2911, 0.2707, 0.2569, 0.2477, 0.2415, 0.2375, 0.2348, 0.2328");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.1227, 0.1202, 0.1173, 0.1173, 0.1184, 0.1191, 0.1196, 0.1211, 0.1228, 0.1299",\
                 "0.1223, 0.1198, 0.1169, 0.117, 0.1181, 0.1186, 0.1193, 0.1208, 0.1225, 0.1296",\
                 "0.1224, 0.12, 0.1167, 0.1165, 0.1174, 0.1184, 0.1192, 0.1204, 0.1221, 0.1296",\
                 "0.1283, 0.1249, 0.1202, 0.1186, 0.1187, 0.119, 0.1196, 0.121, 0.1227, 0.1309",\
                 "0.139, 0.1346, 0.1284, 0.1249, 0.1238, 0.1234, 0.1237, 0.1242, 0.126, 0.136",\
                 "0.1556, 0.1501, 0.1418, 0.1362, 0.134, 0.1328, 0.1323, 0.1327, 0.1345, 0.1448",\
                 "0.1784, 0.1714, 0.1607, 0.153, 0.1487, 0.1477, 0.1466, 0.1459, 0.148, 0.1599",\
                 "0.207, 0.1986, 0.1856, 0.1759, 0.1686, 0.1655, 0.1656, 0.1648, 0.1651, 0.1812",\
                 "0.242, 0.2319, 0.2161, 0.2043, 0.1949, 0.1892, 0.1863, 0.1885, 0.1893, 0.2138",\
                 "0.2829, 0.2712, 0.2529, 0.2384, 0.2276, 0.2199, 0.215, 0.2137, 0.2205, 0.2573");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.3117, 0.3534, 0.4563, 0.6041, 0.8065, 1.079, 1.434, 1.881, 2.427, 3.078",\
                 "0.3281, 0.3696, 0.4727, 0.6205, 0.8229, 1.095, 1.45, 1.898, 2.444, 3.094",\
                 "0.3939, 0.4357, 0.5384, 0.6862, 0.8886, 1.161, 1.516, 1.964, 2.509, 3.16",\
                 "0.5226, 0.5649, 0.6684, 0.8165, 1.019, 1.291, 1.646, 2.094, 2.64, 3.29",\
                 "0.681, 0.7282, 0.8396, 0.9936, 1.198, 1.47, 1.825, 2.271, 2.817, 3.468",\
                 "0.8669, 0.9183, 1.038, 1.199, 1.407, 1.681, 2.035, 2.482, 3.027, 3.678",\
                 "1.083, 1.139, 1.268, 1.437, 1.65, 1.925, 2.28, 2.726, 3.272, 3.922",\
                 "1.328, 1.388, 1.528, 1.709, 1.929, 2.207, 2.562, 3.008, 3.553, 4.203",\
                 "1.603, 1.669, 1.819, 2.012, 2.243, 2.526, 2.883, 3.33, 3.875, 4.524",\
                 "1.91, 1.98, 2.142, 2.348, 2.59, 2.882, 3.245, 3.694, 4.239, 4.889");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.3387, 0.3861, 0.5227, 0.7539, 1.106, 1.596, 2.241, 3.053, 4.045, 5.226",\
                 "0.3484, 0.3961, 0.5326, 0.7638, 1.116, 1.606, 2.25, 3.062, 4.054, 5.232",\
                 "0.3757, 0.4233, 0.5595, 0.7904, 1.142, 1.633, 2.277, 3.088, 4.08, 5.259",\
                 "0.4229, 0.4713, 0.6085, 0.8391, 1.19, 1.681, 2.325, 3.137, 4.127, 5.307",\
                 "0.4668, 0.5171, 0.6572, 0.8889, 1.24, 1.73, 2.373, 3.186, 4.177, 5.359",\
                 "0.4984, 0.5509, 0.6949, 0.9284, 1.279, 1.768, 2.411, 3.222, 4.214, 5.393",\
                 "0.509, 0.5649, 0.7149, 0.9526, 1.303, 1.791, 2.434, 3.244, 4.234, 5.415",\
                 "0.4937, 0.5534, 0.71, 0.9546, 1.31, 1.799, 2.44, 3.25, 4.24, 5.419",\
                 "0.4503, 0.5142, 0.6778, 0.9294, 1.291, 1.786, 2.429, 3.238, 4.227, 5.406",\
                 "0.3764, 0.4442, 0.6149, 0.8747, 1.243, 1.745, 2.395, 3.206, 4.195, 5.374");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.102, 0.1408, 0.2478, 0.432, 0.7315, 1.17, 1.762, 2.511, 3.429, 4.525",\
                 "0.102, 0.141, 0.2478, 0.4321, 0.7314, 1.17, 1.762, 2.512, 3.426, 4.521",\
                 "0.1021, 0.1408, 0.248, 0.432, 0.7315, 1.17, 1.762, 2.512, 3.426, 4.521",\
                 "0.1106, 0.1485, 0.2528, 0.4346, 0.7324, 1.17, 1.761, 2.512, 3.427, 4.521",\
                 "0.1328, 0.1734, 0.2746, 0.4506, 0.7396, 1.172, 1.762, 2.511, 3.428, 4.522",\
                 "0.1544, 0.1982, 0.3004, 0.4722, 0.753, 1.178, 1.765, 2.512, 3.43, 4.521",\
                 "0.1796, 0.2266, 0.331, 0.4992, 0.7698, 1.186, 1.768, 2.515, 3.431, 4.525",\
                 "0.2064, 0.2574, 0.3678, 0.535, 0.7954, 1.2, 1.773, 2.517, 3.431, 4.524",\
                 "0.235, 0.2926, 0.4092, 0.5772, 0.8316, 1.225, 1.788, 2.523, 3.433, 4.523",\
                 "0.2626, 0.3242, 0.4536, 0.6246, 0.8742, 1.261, 1.815, 2.54, 3.441, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.1092, 0.1699, 0.3621, 0.7407, 1.349, 2.211, 3.343, 4.776, 6.523, 8.603",\
                 "0.109, 0.1696, 0.3623, 0.7404, 1.35, 2.211, 3.349, 4.775, 6.524, 8.601",\
                 "0.1088, 0.1694, 0.3621, 0.7409, 1.349, 2.21, 3.349, 4.775, 6.524, 8.601",\
                 "0.1149, 0.1749, 0.366, 0.7414, 1.349, 2.21, 3.348, 4.775, 6.523, 8.603",\
                 "0.1242, 0.1838, 0.376, 0.7472, 1.351, 2.208, 3.344, 4.773, 6.522, 8.605",\
                 "0.1384, 0.1976, 0.3888, 0.7536, 1.355, 2.212, 3.349, 4.775, 6.524, 8.606",\
                 "0.1546, 0.2152, 0.4082, 0.7684, 1.359, 2.215, 3.346, 4.778, 6.522, 8.601",\
                 "0.1738, 0.2354, 0.43, 0.79, 1.376, 2.219, 3.347, 4.774, 6.524, 8.602",\
                 "0.1942, 0.257, 0.4542, 0.816, 1.403, 2.243, 3.358, 4.776, 6.52, 8.619",\
                 "0.2146, 0.2814, 0.4778, 0.8432, 1.433, 2.275, 3.383, 4.793, 6.525, 8.6");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.2876, 0.3279, 0.4289, 0.5756, 0.7774, 1.049, 1.405, 1.852, 2.398, 3.049",\
                 "0.3042, 0.3444, 0.4455, 0.5922, 0.794, 1.066, 1.421, 1.868, 2.414, 3.065",\
                 "0.3686, 0.4087, 0.5096, 0.6564, 0.8583, 1.13, 1.485, 1.933, 2.479, 3.129",\
                 "0.4912, 0.5328, 0.635, 0.7825, 0.9843, 1.256, 1.611, 2.058, 2.604, 3.255",\
                 "0.637, 0.6831, 0.7931, 0.947, 1.151, 1.423, 1.778, 2.225, 2.771, 3.421",\
                 "0.8057, 0.8558, 0.9744, 1.135, 1.344, 1.617, 1.972, 2.419, 2.964, 3.614",\
                 "0.996, 1.051, 1.18, 1.351, 1.565, 1.84, 2.194, 2.641, 3.186, 3.837",\
                 "1.208, 1.268, 1.408, 1.591, 1.814, 2.093, 2.449, 2.895, 3.44, 4.09",\
                 "1.441, 1.505, 1.657, 1.854, 2.088, 2.375, 2.735, 3.182, 3.727, 4.377",\
                 "1.696, 1.766, 1.927, 2.139, 2.386, 2.682, 3.05, 3.503, 4.049, 4.699");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.3247, 0.3721, 0.5087, 0.7399, 1.092, 1.582, 2.227, 3.038, 4.03, 5.209",\
                 "0.3358, 0.3833, 0.5199, 0.7511, 1.103, 1.593, 2.238, 3.049, 4.041, 5.22",\
                 "0.3807, 0.4283, 0.5645, 0.7953, 1.147, 1.638, 2.282, 3.093, 4.085, 5.264",\
                 "0.4581, 0.5063, 0.6428, 0.8727, 1.224, 1.714, 2.358, 3.169, 4.161, 5.34",\
                 "0.5268, 0.5772, 0.7166, 0.9475, 1.298, 1.787, 2.43, 3.242, 4.234, 5.414",\
                 "0.5848, 0.6377, 0.7803, 1.012, 1.361, 1.85, 2.493, 3.305, 4.296, 5.477",\
                 "0.626, 0.6822, 0.8307, 1.065, 1.414, 1.901, 2.544, 3.355, 4.345, 5.529",\
                 "0.648, 0.7088, 0.8639, 1.104, 1.455, 1.942, 2.583, 3.393, 4.382, 5.562",\
                 "0.6486, 0.7136, 0.8766, 1.123, 1.479, 1.969, 2.61, 3.419, 4.408, 5.587",\
                 "0.6253, 0.6944, 0.8664, 1.121, 1.482, 1.977, 2.622, 3.432, 4.419, 5.598");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.09598, 0.1341, 0.2429, 0.43, 0.7296, 1.169, 1.761, 2.511, 3.429, 4.524",\
                 "0.09564, 0.1343, 0.2429, 0.43, 0.7296, 1.169, 1.761, 2.511, 3.429, 4.521",\
                 "0.09574, 0.1344, 0.2433, 0.4298, 0.7295, 1.169, 1.761, 2.51, 3.428, 4.523",\
                 "0.1071, 0.1443, 0.2495, 0.433, 0.7308, 1.169, 1.761, 2.511, 3.43, 4.524",\
                 "0.1294, 0.168, 0.2724, 0.4502, 0.7388, 1.171, 1.762, 2.51, 3.429, 4.519",\
                 "0.1516, 0.194, 0.2988, 0.473, 0.7526, 1.179, 1.764, 2.511, 3.43, 4.52",\
                 "0.1768, 0.224, 0.332, 0.5028, 0.7718, 1.187, 1.768, 2.514, 3.431, 4.525",\
                 "0.2044, 0.2572, 0.3708, 0.5438, 0.8036, 1.204, 1.774, 2.517, 3.43, 4.52",\
                 "0.234, 0.2916, 0.4142, 0.5898, 0.8448, 1.238, 1.796, 2.526, 3.434, 4.523",\
                 "0.2634, 0.324, 0.4594, 0.6408, 0.893, 1.281, 1.835, 2.556, 3.449, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005949, 0.02332, 0.0565, 0.1082, 0.1807, 0.2761, 0.3964, 0.5431, 0.718");
          values("0.1089, 0.1699, 0.362, 0.7408, 1.349, 2.211, 3.349, 4.775, 6.524, 8.601",\
                 "0.1092, 0.1688, 0.3623, 0.7408, 1.35, 2.211, 3.349, 4.775, 6.524, 8.601",\
                 "0.1087, 0.1694, 0.3621, 0.7406, 1.349, 2.209, 3.349, 4.775, 6.524, 8.601",\
                 "0.1159, 0.175, 0.3659, 0.742, 1.35, 2.211, 3.349, 4.775, 6.524, 8.603",\
                 "0.1278, 0.1856, 0.3762, 0.7484, 1.352, 2.21, 3.343, 4.775, 6.523, 8.607",\
                 "0.1422, 0.2, 0.3886, 0.753, 1.356, 2.214, 3.347, 4.774, 6.521, 8.603",\
                 "0.1626, 0.2198, 0.4074, 0.7638, 1.358, 2.215, 3.347, 4.783, 6.52, 8.605",\
                 "0.1826, 0.2428, 0.4296, 0.7834, 1.369, 2.218, 3.349, 4.777, 6.519, 8.605",\
                 "0.2048, 0.267, 0.4554, 0.807, 1.391, 2.234, 3.352, 4.778, 6.522, 8.61",\
                 "0.2288, 0.2934, 0.4828, 0.8338, 1.417, 2.258, 3.371, 4.785, 6.524, 8.602");
        }
      }
    }

    pin(S) {
      direction : output ;
      function : "(A^B)" ;
      max_capacitance : 0.5703 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1694, 0.1648, 0.1576, 0.1537, 0.1515, 0.1501, 0.1492, 0.1486, 0.1482, 0.1479",\
                 "0.1673, 0.1628, 0.1556, 0.1517, 0.1495, 0.1481, 0.1472, 0.1466, 0.1462, 0.1459",\
                 "0.1662, 0.1617, 0.1545, 0.1505, 0.1483, 0.147, 0.1461, 0.1455, 0.1452, 0.1449",\
                 "0.1718, 0.167, 0.1592, 0.1549, 0.1524, 0.151, 0.1501, 0.1495, 0.149, 0.1488",\
                 "0.1884, 0.1829, 0.1733, 0.1672, 0.1638, 0.1618, 0.1605, 0.1596, 0.159, 0.1586",\
                 "0.212, 0.2056, 0.1938, 0.186, 0.1815, 0.1786, 0.1769, 0.1757, 0.175, 0.1744",\
                 "0.2433, 0.2362, 0.2222, 0.2123, 0.2062, 0.2024, 0.2001, 0.1984, 0.1973, 0.1966",\
                 "0.2835, 0.2757, 0.2596, 0.2472, 0.2393, 0.2341, 0.2309, 0.2287, 0.2271, 0.2261",\
                 "0.3331, 0.3246, 0.3061, 0.2909, 0.2808, 0.2742, 0.2698, 0.2668, 0.2647, 0.2632",\
                 "0.3917, 0.3827, 0.362, 0.3436, 0.3313, 0.3228, 0.3171, 0.3133, 0.3104, 0.3084");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.05662, 0.05559, 0.05494, 0.05558, 0.05671, 0.05801, 0.05947, 0.06049, 0.06203, 0.06777",\
                 "0.05675, 0.05579, 0.05504, 0.05574, 0.05697, 0.05821, 0.05928, 0.06049, 0.0617, 0.06744",\
                 "0.05812, 0.05704, 0.05592, 0.05631, 0.05723, 0.05864, 0.0602, 0.06115, 0.06269, 0.06853",\
                 "0.06532, 0.06356, 0.06151, 0.06043, 0.0607, 0.06177, 0.06337, 0.06445, 0.06599, 0.07196",\
                 "0.07805, 0.07576, 0.07203, 0.0702, 0.06911, 0.06936, 0.0704, 0.07138, 0.07386, 0.08077",\
                 "0.09806, 0.09468, 0.08928, 0.08505, 0.08436, 0.08372, 0.08399, 0.08425, 0.08607, 0.09495",\
                 "0.1252, 0.121, 0.1141, 0.1081, 0.1047, 0.104, 0.1041, 0.1034, 0.1048, 0.1153",\
                 "0.1599, 0.1545, 0.146, 0.138, 0.1337, 0.1306, 0.1315, 0.131, 0.1311, 0.1419",\
                 "0.2027, 0.1961, 0.1856, 0.1765, 0.1696, 0.1654, 0.1627, 0.165, 0.1652, 0.1812",\
                 "0.2536, 0.2457, 0.2337, 0.2222, 0.2135, 0.2071, 0.2044, 0.2029, 0.2069, 0.2309");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1311, 0.1278, 0.1232, 0.1207, 0.1192, 0.1189, 0.1185, 0.1183, 0.1181, 0.118",\
                 "0.1308, 0.1275, 0.1229, 0.1204, 0.119, 0.1185, 0.1182, 0.118, 0.1179, 0.1178",\
                 "0.1301, 0.1269, 0.1224, 0.1197, 0.1183, 0.1178, 0.1175, 0.1173, 0.1171, 0.117",\
                 "0.1318, 0.1286, 0.1239, 0.1213, 0.12, 0.1196, 0.1191, 0.1189, 0.1187, 0.1187",\
                 "0.1375, 0.1345, 0.1297, 0.1276, 0.1262, 0.1254, 0.1255, 0.1249, 0.1247, 0.1246",\
                 "0.1499, 0.1464, 0.142, 0.1393, 0.1383, 0.1377, 0.137, 0.1366, 0.1364, 0.1364",\
                 "0.1684, 0.1647, 0.1597, 0.1572, 0.1558, 0.155, 0.1546, 0.1543, 0.1543, 0.1541",\
                 "0.193, 0.1892, 0.1838, 0.1807, 0.1791, 0.1788, 0.1785, 0.1781, 0.1779, 0.1779",\
                 "0.224, 0.22, 0.2138, 0.2106, 0.2089, 0.2081, 0.2078, 0.2075, 0.2073, 0.2072",\
                 "0.2606, 0.2568, 0.2505, 0.2468, 0.2449, 0.2437, 0.2433, 0.2431, 0.2428, 0.2427");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1485, 0.147, 0.1451, 0.1447, 0.1454, 0.1464, 0.1475, 0.1487, 0.1499, 0.1561",\
                 "0.1481, 0.1466, 0.1448, 0.1443, 0.1451, 0.146, 0.1472, 0.1481, 0.1496, 0.1559",\
                 "0.1484, 0.147, 0.1452, 0.1446, 0.1452, 0.1464, 0.1474, 0.1484, 0.1503, 0.1563",\
                 "0.1522, 0.1508, 0.1489, 0.1485, 0.1492, 0.1503, 0.1514, 0.1522, 0.1547, 0.1599",\
                 "0.1617, 0.1601, 0.1583, 0.1578, 0.1582, 0.1596, 0.1602, 0.1613, 0.1625, 0.1712",\
                 "0.1766, 0.1751, 0.1728, 0.1727, 0.1727, 0.1738, 0.1749, 0.1759, 0.1776, 0.1876",\
                 "0.1987, 0.1968, 0.1945, 0.1934, 0.1944, 0.1953, 0.1962, 0.1971, 0.1989, 0.2122",\
                 "0.227, 0.2251, 0.2225, 0.2208, 0.221, 0.223, 0.2242, 0.225, 0.2272, 0.2469",\
                 "0.2622, 0.26, 0.2568, 0.2554, 0.2548, 0.2557, 0.258, 0.2597, 0.2635, 0.2945",\
                 "0.3048, 0.3023, 0.2987, 0.2964, 0.2961, 0.2954, 0.2971, 0.3005, 0.3077, 0.3619");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1791, 0.1746, 0.1674, 0.1635, 0.1613, 0.1598, 0.159, 0.1584, 0.158, 0.1577",\
                 "0.1782, 0.1737, 0.1665, 0.1626, 0.1604, 0.159, 0.1581, 0.1575, 0.1571, 0.1568",\
                 "0.1765, 0.1718, 0.1646, 0.1607, 0.1585, 0.1571, 0.1563, 0.1557, 0.1552, 0.155",\
                 "0.1804, 0.1756, 0.1679, 0.1636, 0.1611, 0.1596, 0.1587, 0.158, 0.1576, 0.1573",\
                 "0.1946, 0.1893, 0.1802, 0.1747, 0.1715, 0.1696, 0.1685, 0.1677, 0.1672, 0.1668",\
                 "0.218, 0.2122, 0.2014, 0.1945, 0.1904, 0.1879, 0.1864, 0.1854, 0.1846, 0.1842",\
                 "0.2523, 0.2459, 0.2332, 0.224, 0.2186, 0.2153, 0.2131, 0.2116, 0.2106, 0.2099",\
                 "0.2971, 0.2899, 0.275, 0.2635, 0.2562, 0.2518, 0.2487, 0.2468, 0.2453, 0.2443",\
                 "0.352, 0.3441, 0.3273, 0.3131, 0.3036, 0.2975, 0.2936, 0.2908, 0.289, 0.2876",\
                 "0.4174, 0.4091, 0.3902, 0.3729, 0.3615, 0.3536, 0.3484, 0.3447, 0.3421, 0.3404");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.07268, 0.07141, 0.0701, 0.07021, 0.07104, 0.07228, 0.07354, 0.07469, 0.0759, 0.08098",\
                 "0.07195, 0.07068, 0.06937, 0.06948, 0.07045, 0.07162, 0.07275, 0.0737, 0.07524, 0.0807",\
                 "0.07211, 0.07088, 0.06932, 0.06909, 0.06992, 0.07122, 0.07255, 0.07337, 0.07491, 0.08141",\
                 "0.07896, 0.07739, 0.07484, 0.07344, 0.07342, 0.07456, 0.07546, 0.07667, 0.07821, 0.08451",\
                 "0.09286, 0.09031, 0.08605, 0.08417, 0.08289, 0.08297, 0.08397, 0.08492, 0.08708, 0.09299",\
                 "0.1143, 0.1109, 0.1053, 0.1011, 0.09972, 0.09921, 0.09918, 0.09944, 0.1009, 0.1089",\
                 "0.1446, 0.1403, 0.1334, 0.1277, 0.1239, 0.123, 0.1228, 0.1229, 0.1236, 0.1326",\
                 "0.1836, 0.1782, 0.1697, 0.1622, 0.1566, 0.1538, 0.1534, 0.1544, 0.1545, 0.1668",\
                 "0.2318, 0.2255, 0.2158, 0.2063, 0.1992, 0.194, 0.192, 0.1927, 0.1943, 0.2115",\
                 "0.2898, 0.2823, 0.2705, 0.2594, 0.251, 0.2444, 0.2397, 0.2379, 0.2418, 0.2699");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1271, 0.1239, 0.1192, 0.1168, 0.1153, 0.1149, 0.1146, 0.1144, 0.1142, 0.1141",\
                 "0.1267, 0.1234, 0.1189, 0.1165, 0.1149, 0.1144, 0.1143, 0.1141, 0.1139, 0.1138",\
                 "0.1264, 0.1232, 0.1187, 0.1161, 0.1147, 0.1143, 0.1139, 0.1137, 0.1137, 0.1136",\
                 "0.1292, 0.1259, 0.1212, 0.1188, 0.1175, 0.1171, 0.1168, 0.1165, 0.1163, 0.1161",\
                 "0.1364, 0.133, 0.1285, 0.1259, 0.1245, 0.1241, 0.1238, 0.1237, 0.1235, 0.1234",\
                 "0.1488, 0.1453, 0.1408, 0.1382, 0.1371, 0.1364, 0.1359, 0.1359, 0.1357, 0.1357",\
                 "0.1674, 0.1639, 0.1589, 0.1562, 0.1547, 0.1542, 0.1538, 0.1536, 0.1533, 0.1532",\
                 "0.1915, 0.188, 0.1827, 0.1796, 0.1781, 0.1775, 0.1769, 0.1767, 0.1765, 0.1763",\
                 "0.2222, 0.2183, 0.2126, 0.209, 0.2073, 0.2066, 0.2062, 0.206, 0.2057, 0.2055",\
                 "0.2584, 0.254, 0.2483, 0.2442, 0.242, 0.2411, 0.2406, 0.2403, 0.2401, 0.2398");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1358, 0.1346, 0.1332, 0.1332, 0.1342, 0.1352, 0.1365, 0.1375, 0.139, 0.1449",\
                 "0.1354, 0.1341, 0.1328, 0.1329, 0.1337, 0.1348, 0.1364, 0.1375, 0.1384, 0.1446",\
                 "0.1353, 0.134, 0.1327, 0.1328, 0.1337, 0.1352, 0.1361, 0.1372, 0.1388, 0.1444",\
                 "0.1392, 0.1379, 0.1365, 0.1365, 0.1377, 0.1385, 0.1395, 0.1408, 0.142, 0.1492",\
                 "0.1485, 0.1472, 0.1457, 0.1454, 0.1461, 0.1471, 0.1482, 0.15, 0.1509, 0.1594",\
                 "0.1635, 0.1618, 0.1598, 0.1599, 0.1602, 0.1611, 0.1624, 0.163, 0.165, 0.1753",\
                 "0.1852, 0.1833, 0.1808, 0.1797, 0.1809, 0.182, 0.1826, 0.1837, 0.1861, 0.2",\
                 "0.2126, 0.2108, 0.2082, 0.2062, 0.2066, 0.2084, 0.2099, 0.2102, 0.2124, 0.2321",\
                 "0.2469, 0.2447, 0.2416, 0.2396, 0.2389, 0.2394, 0.242, 0.2437, 0.2466, 0.2763",\
                 "0.2875, 0.2852, 0.2814, 0.2794, 0.2785, 0.2782, 0.2792, 0.2826, 0.2892, 0.3387");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.6635, 0.701, 0.7915, 0.9162, 1.081, 1.298, 1.581, 1.936, 2.369, 2.886",\
                 "0.6734, 0.7107, 0.8012, 0.926, 1.09, 1.308, 1.59, 1.945, 2.379, 2.896",\
                 "0.6975, 0.7349, 0.8255, 0.9502, 1.114, 1.332, 1.615, 1.97, 2.403, 2.92",\
                 "0.738, 0.7754, 0.866, 0.991, 1.155, 1.373, 1.655, 2.01, 2.444, 2.96",\
                 "0.7875, 0.8242, 0.9131, 1.038, 1.202, 1.419, 1.702, 2.057, 2.491, 3.007",\
                 "0.8276, 0.8637, 0.9533, 1.078, 1.242, 1.459, 1.741, 2.096, 2.529, 3.046",\
                 "0.8492, 0.8859, 0.9761, 1.102, 1.266, 1.484, 1.765, 2.12, 2.553, 3.069",\
                 "0.8472, 0.8849, 0.9759, 1.102, 1.267, 1.485, 1.768, 2.123, 2.556, 3.072",\
                 "0.8182, 0.8562, 0.9488, 1.076, 1.242, 1.462, 1.746, 2.103, 2.536, 3.052",\
                 "0.7589, 0.7978, 0.8917, 1.02, 1.187, 1.409, 1.696, 2.055, 2.49, 3.008");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.6397, 0.6832, 0.8126, 1.039, 1.388, 1.876, 2.518, 3.327, 4.314, 5.49",\
                 "0.6564, 0.6999, 0.8293, 1.056, 1.404, 1.893, 2.535, 3.344, 4.331, 5.506",\
                 "0.7227, 0.766, 0.8955, 1.122, 1.47, 1.959, 2.601, 3.41, 4.396, 5.573",\
                 "0.8501, 0.8932, 1.023, 1.25, 1.598, 2.086, 2.728, 3.537, 4.524, 5.697",\
                 "1.017, 1.061, 1.191, 1.417, 1.766, 2.254, 2.897, 3.704, 4.691, 5.868",\
                 "1.213, 1.257, 1.387, 1.613, 1.962, 2.45, 3.092, 3.901, 4.888, 6.064",\
                 "1.442, 1.485, 1.616, 1.842, 2.19, 2.679, 3.321, 4.129, 5.116, 6.292",\
                 "1.703, 1.747, 1.878, 2.104, 2.452, 2.94, 3.581, 4.39, 5.376, 6.552",\
                 "1.997, 2.04, 2.171, 2.398, 2.746, 3.233, 3.875, 4.683, 5.669, 6.844",\
                 "2.322, 2.367, 2.499, 2.725, 3.071, 3.558, 4.2, 5.008, 5.995, 7.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.117, 0.1478, 0.23, 0.371, 0.6003, 0.9444, 1.411, 2.006, 2.733, 3.602",\
                 "0.1161, 0.148, 0.2296, 0.3712, 0.6013, 0.9434, 1.41, 2.006, 2.735, 3.604",\
                 "0.1163, 0.148, 0.2301, 0.371, 0.6012, 0.9444, 1.411, 2.006, 2.733, 3.603",\
                 "0.1174, 0.1488, 0.2306, 0.3712, 0.6008, 0.9448, 1.412, 2.006, 2.732, 3.604",\
                 "0.1146, 0.1452, 0.2278, 0.3696, 0.601, 0.9436, 1.412, 2.006, 2.733, 3.603",\
                 "0.1148, 0.1458, 0.2284, 0.3706, 0.6004, 0.9416, 1.407, 2.003, 2.731, 3.603",\
                 "0.1178, 0.1492, 0.232, 0.3724, 0.6006, 0.9436, 1.409, 2, 2.727, 3.598",\
                 "0.1212, 0.1526, 0.2348, 0.375, 0.603, 0.9458, 1.41, 2.002, 2.727, 3.593",\
                 "0.1254, 0.157, 0.2386, 0.3786, 0.607, 0.952, 1.418, 2.007, 2.732, 3.594",\
                 "0.1296, 0.1618, 0.2428, 0.3818, 0.613, 0.961, 1.429, 2.019, 2.74, 3.6");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1149, 0.173, 0.3649, 0.7442, 1.353, 2.213, 3.346, 4.771, 6.51, 8.591",\
                 "0.1149, 0.173, 0.3649, 0.7442, 1.353, 2.213, 3.346, 4.77, 6.511, 8.59",\
                 "0.1147, 0.1734, 0.3647, 0.7442, 1.353, 2.212, 3.345, 4.772, 6.513, 8.591",\
                 "0.115, 0.1738, 0.365, 0.7442, 1.353, 2.213, 3.346, 4.773, 6.515, 8.584",\
                 "0.115, 0.1742, 0.366, 0.7442, 1.354, 2.213, 3.345, 4.773, 6.515, 8.587",\
                 "0.1166, 0.1748, 0.3668, 0.7458, 1.355, 2.213, 3.345, 4.772, 6.512, 8.588",\
                 "0.1174, 0.177, 0.367, 0.7454, 1.354, 2.214, 3.348, 4.77, 6.512, 8.587",\
                 "0.1198, 0.1786, 0.369, 0.7458, 1.354, 2.214, 3.345, 4.769, 6.511, 8.585",\
                 "0.1224, 0.1812, 0.3712, 0.7464, 1.354, 2.213, 3.344, 4.768, 6.515, 8.594",\
                 "0.1264, 0.1844, 0.3744, 0.7478, 1.355, 2.214, 3.344, 4.769, 6.508, 8.586");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.4455, 0.4875, 0.5936, 0.742, 0.9289, 1.161, 1.451, 1.808, 2.242, 2.759",\
                 "0.4556, 0.4977, 0.6038, 0.7522, 0.9391, 1.172, 1.461, 1.818, 2.252, 2.769",\
                 "0.5061, 0.548, 0.654, 0.8024, 0.9893, 1.222, 1.511, 1.869, 2.303, 2.819",\
                 "0.6305, 0.6722, 0.7778, 0.9261, 1.113, 1.346, 1.635, 1.992, 2.426, 2.943",\
                 "0.8147, 0.8587, 0.9678, 1.119, 1.307, 1.541, 1.83, 2.187, 2.621, 3.138",\
                 "1.041, 1.088, 1.202, 1.358, 1.551, 1.787, 2.078, 2.435, 2.868, 3.385",\
                 "1.317, 1.366, 1.487, 1.647, 1.844, 2.082, 2.375, 2.734, 3.168, 3.684",\
                 "1.642, 1.695, 1.824, 1.992, 2.194, 2.435, 2.729, 3.088, 3.523, 4.04",\
                 "2.015, 2.072, 2.209, 2.388, 2.598, 2.847, 3.144, 3.503, 3.938, 4.455",\
                 "2.438, 2.498, 2.644, 2.835, 3.056, 3.314, 3.617, 3.982, 4.416, 4.933");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.2691, 0.312, 0.4404, 0.6673, 1.016, 1.505, 2.148, 2.956, 3.944, 5.123",\
                 "0.2827, 0.3255, 0.4538, 0.6807, 1.029, 1.518, 2.161, 2.967, 3.954, 5.133",\
                 "0.329, 0.3715, 0.4994, 0.7258, 1.074, 1.563, 2.206, 3.015, 4.003, 5.182",\
                 "0.3875, 0.4306, 0.5594, 0.7848, 1.132, 1.62, 2.262, 3.073, 4.061, 5.235",\
                 "0.4234, 0.4678, 0.5976, 0.8225, 1.169, 1.656, 2.299, 3.108, 4.096, 5.273",\
                 "0.4295, 0.4756, 0.6086, 0.833, 1.179, 1.665, 2.306, 3.115, 4.101, 5.28",\
                 "0.3994, 0.4483, 0.5858, 0.8129, 1.158, 1.643, 2.283, 3.09, 4.077, 5.253",\
                 "0.3291, 0.3807, 0.524, 0.755, 1.103, 1.589, 2.228, 3.033, 4.018, 5.193",\
                 "0.216, 0.2711, 0.4202, 0.6556, 1.006, 1.496, 2.136, 2.942, 3.926, 5.1",\
                 "0.0575, 0.1165, 0.2726, 0.5132, 0.8657, 1.358, 2.007, 2.814, 3.797, 4.972");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1411, 0.1797, 0.2817, 0.4419, 0.6718, 0.9986, 1.445, 2.024, 2.746, 3.614",\
                 "0.1412, 0.1795, 0.281, 0.4419, 0.6717, 0.9988, 1.445, 2.024, 2.746, 3.614",\
                 "0.141, 0.1794, 0.2819, 0.4423, 0.6728, 0.9996, 1.446, 2.025, 2.748, 3.614",\
                 "0.1426, 0.1808, 0.2828, 0.4432, 0.6726, 0.9998, 1.446, 2.025, 2.745, 3.614",\
                 "0.1616, 0.2, 0.2978, 0.4546, 0.6802, 1.003, 1.448, 2.027, 2.745, 3.614",\
                 "0.1814, 0.2216, 0.3184, 0.4744, 0.6972, 1.015, 1.455, 2.03, 2.749, 3.612",\
                 "0.203, 0.2448, 0.3428, 0.494, 0.7136, 1.029, 1.465, 2.037, 2.753, 3.613",\
                 "0.2294, 0.2742, 0.3776, 0.5236, 0.738, 1.044, 1.475, 2.046, 2.758, 3.619",\
                 "0.2576, 0.3062, 0.416, 0.564, 0.7742, 1.071, 1.492, 2.052, 2.763, 3.621",\
                 "0.2884, 0.3406, 0.4588, 0.6104, 0.8212, 1.114, 1.525, 2.074, 2.772, 3.628");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1092, 0.1675, 0.3595, 0.7415, 1.352, 2.213, 3.347, 4.772, 6.516, 8.595",\
                 "0.1095, 0.1682, 0.3598, 0.7417, 1.353, 2.215, 3.346, 4.777, 6.523, 8.592",\
                 "0.1097, 0.1682, 0.3599, 0.743, 1.352, 2.213, 3.347, 4.771, 6.516, 8.594",\
                 "0.1162, 0.1745, 0.3655, 0.7428, 1.353, 2.212, 3.344, 4.775, 6.517, 8.598",\
                 "0.1268, 0.1838, 0.3716, 0.748, 1.357, 2.216, 3.344, 4.772, 6.516, 8.59",\
                 "0.142, 0.1982, 0.3838, 0.7524, 1.358, 2.215, 3.345, 4.77, 6.513, 8.594",\
                 "0.1592, 0.216, 0.4008, 0.763, 1.363, 2.217, 3.347, 4.769, 6.509, 8.591",\
                 "0.1798, 0.2358, 0.4212, 0.7798, 1.376, 2.226, 3.349, 4.772, 6.524, 8.589",\
                 "0.2018, 0.2588, 0.445, 0.7984, 1.398, 2.246, 3.361, 4.776, 6.513, 8.605",\
                 "0.2264, 0.2828, 0.468, 0.8196, 1.415, 2.275, 3.39, 4.793, 6.518, 8.586");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.6486, 0.6859, 0.7765, 0.9011, 1.065, 1.283, 1.565, 1.92, 2.354, 2.871",\
                 "0.6605, 0.6978, 0.7883, 0.9129, 1.077, 1.295, 1.577, 1.933, 2.366, 2.883",\
                 "0.7031, 0.7407, 0.8313, 0.9559, 1.12, 1.338, 1.62, 1.975, 2.409, 2.926",\
                 "0.7749, 0.8122, 0.9029, 1.028, 1.192, 1.41, 1.692, 2.047, 2.481, 2.997",\
                 "0.8483, 0.8852, 0.9745, 1.099, 1.264, 1.481, 1.764, 2.119, 2.553, 3.069",\
                 "0.9131, 0.9495, 1.039, 1.164, 1.328, 1.545, 1.827, 2.182, 2.616, 3.133",\
                 "0.9654, 1.002, 1.092, 1.217, 1.382, 1.599, 1.882, 2.236, 2.669, 3.186",\
                 "1.001, 1.038, 1.129, 1.255, 1.42, 1.637, 1.92, 2.275, 2.708, 3.224",\
                 "1.017, 1.055, 1.147, 1.273, 1.438, 1.657, 1.939, 2.294, 2.727, 3.244",\
                 "1.01, 1.048, 1.142, 1.27, 1.435, 1.653, 1.936, 2.291, 2.724, 3.24");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.5828, 0.6259, 0.7547, 0.981, 1.33, 1.818, 2.459, 3.268, 4.256, 5.433",\
                 "0.5995, 0.6427, 0.7713, 0.9979, 1.346, 1.835, 2.476, 3.286, 4.27, 5.446",\
                 "0.6634, 0.7065, 0.8355, 1.062, 1.41, 1.899, 2.54, 3.349, 4.337, 5.514",\
                 "0.7864, 0.8298, 0.9585, 1.185, 1.533, 2.021, 2.664, 3.474, 4.458, 5.633",\
                 "0.9423, 0.986, 1.115, 1.341, 1.689, 2.177, 2.82, 3.629, 4.617, 5.794",\
                 "1.123, 1.166, 1.295, 1.521, 1.869, 2.356, 2.998, 3.807, 4.793, 5.968",\
                 "1.329, 1.372, 1.502, 1.728, 2.075, 2.562, 3.204, 4.012, 5, 6.178",\
                 "1.557, 1.602, 1.732, 1.957, 2.304, 2.792, 3.432, 4.24, 5.225, 6.402",\
                 "1.809, 1.854, 1.985, 2.21, 2.557, 3.044, 3.684, 4.492, 5.477, 6.652",\
                 "2.082, 2.128, 2.26, 2.486, 2.831, 3.318, 3.959, 4.766, 5.752, 6.926");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1164, 0.1483, 0.2294, 0.3707, 0.6009, 0.9444, 1.411, 2.005, 2.732, 3.6",\
                 "0.1162, 0.148, 0.2298, 0.3708, 0.6011, 0.9436, 1.41, 2.006, 2.734, 3.604",\
                 "0.1166, 0.1478, 0.2299, 0.371, 0.6012, 0.9444, 1.41, 2.006, 2.735, 3.604",\
                 "0.1168, 0.149, 0.2302, 0.3714, 0.6006, 0.9444, 1.411, 2.006, 2.735, 3.603",\
                 "0.1156, 0.1462, 0.2282, 0.37, 0.6012, 0.9442, 1.411, 2.006, 2.735, 3.604",\
                 "0.1152, 0.146, 0.2286, 0.3702, 0.6008, 0.942, 1.41, 2.004, 2.734, 3.604",\
                 "0.118, 0.1484, 0.2308, 0.3722, 0.6006, 0.943, 1.409, 2.003, 2.729, 3.599",\
                 "0.121, 0.1518, 0.2336, 0.3744, 0.6028, 0.944, 1.409, 2.003, 2.73, 3.595",\
                 "0.1244, 0.156, 0.2376, 0.3768, 0.6038, 0.9458, 1.411, 2.005, 2.732, 3.596",\
                 "0.129, 0.1606, 0.242, 0.3806, 0.6062, 0.9472, 1.413, 2.004, 2.733, 3.595");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1127, 0.1712, 0.3621, 0.7421, 1.353, 2.212, 3.344, 4.777, 6.513, 8.589",\
                 "0.1128, 0.1705, 0.362, 0.7418, 1.352, 2.211, 3.343, 4.772, 6.519, 8.6",\
                 "0.1129, 0.1706, 0.3621, 0.7424, 1.352, 2.212, 3.345, 4.776, 6.514, 8.588",\
                 "0.1128, 0.171, 0.3622, 0.7422, 1.352, 2.216, 3.348, 4.77, 6.522, 8.603",\
                 "0.1134, 0.1718, 0.363, 0.7436, 1.353, 2.211, 3.345, 4.774, 6.513, 8.592",\
                 "0.1154, 0.174, 0.364, 0.742, 1.351, 2.212, 3.342, 4.777, 6.514, 8.604",\
                 "0.1178, 0.1762, 0.3662, 0.743, 1.353, 2.21, 3.348, 4.769, 6.514, 8.593",\
                 "0.1202, 0.1788, 0.3688, 0.7452, 1.351, 2.213, 3.34, 4.775, 6.508, 8.587",\
                 "0.1238, 0.1824, 0.3716, 0.7448, 1.351, 2.211, 3.342, 4.768, 6.511, 8.582",\
                 "0.1288, 0.1868, 0.3748, 0.7472, 1.353, 2.211, 3.341, 4.767, 6.506, 8.588");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.4914, 0.5335, 0.6396, 0.7881, 0.9749, 1.207, 1.497, 1.854, 2.288, 2.805",\
                 "0.5037, 0.5458, 0.6519, 0.8004, 0.9873, 1.22, 1.509, 1.867, 2.3, 2.817",\
                 "0.5381, 0.5802, 0.6862, 0.8347, 1.022, 1.254, 1.544, 1.901, 2.335, 2.852",\
                 "0.6175, 0.6593, 0.7653, 0.9138, 1.101, 1.333, 1.623, 1.98, 2.414, 2.93",\
                 "0.7424, 0.7862, 0.8966, 1.049, 1.238, 1.472, 1.762, 2.119, 2.553, 3.069",\
                 "0.9169, 0.9626, 1.077, 1.234, 1.428, 1.665, 1.957, 2.314, 2.748, 3.264",\
                 "1.135, 1.183, 1.304, 1.468, 1.667, 1.908, 2.201, 2.56, 2.994, 3.511",\
                 "1.389, 1.441, 1.569, 1.743, 1.952, 2.2, 2.498, 2.857, 3.292, 3.809",\
                 "1.679, 1.735, 1.872, 2.055, 2.277, 2.536, 2.842, 3.206, 3.641, 4.158",\
                 "2.006, 2.064, 2.209, 2.404, 2.638, 2.911, 3.229, 3.604, 4.044, 4.562");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.304, 0.3471, 0.4763, 0.7033, 1.052, 1.541, 2.183, 2.99, 3.977, 5.154",\
                 "0.3153, 0.3586, 0.4879, 0.7148, 1.064, 1.553, 2.195, 3.004, 3.99, 5.167",\
                 "0.3602, 0.4032, 0.5322, 0.7589, 1.108, 1.596, 2.238, 3.047, 4.034, 5.211",\
                 "0.4292, 0.4727, 0.6015, 0.8269, 1.175, 1.663, 2.305, 3.113, 4.1, 5.276",\
                 "0.4809, 0.5249, 0.6547, 0.8802, 1.227, 1.714, 2.355, 3.163, 4.15, 5.324",\
                 "0.5077, 0.5536, 0.6859, 0.9108, 1.256, 1.743, 2.384, 3.192, 4.178, 5.354",\
                 "0.5066, 0.5549, 0.6917, 0.9189, 1.263, 1.748, 2.389, 3.196, 4.181, 5.356",\
                 "0.4744, 0.525, 0.6668, 0.8972, 1.244, 1.73, 2.368, 3.175, 4.16, 5.334",\
                 "0.4086, 0.4632, 0.6109, 0.8458, 1.196, 1.684, 2.324, 3.129, 4.114, 5.288",\
                 "0.3087, 0.3664, 0.5207, 0.7603, 1.114, 1.606, 2.251, 3.058, 4.042, 5.216");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1418, 0.1794, 0.2813, 0.4424, 0.6727, 0.9988, 1.444, 2.025, 2.748, 3.613",\
                 "0.1418, 0.1793, 0.2813, 0.4423, 0.6725, 0.999, 1.444, 2.025, 2.748, 3.613",\
                 "0.1415, 0.1795, 0.2814, 0.4424, 0.672, 0.999, 1.445, 2.025, 2.747, 3.615",\
                 "0.1438, 0.1822, 0.2832, 0.4436, 0.6738, 1.001, 1.444, 2.026, 2.747, 3.614",\
                 "0.157, 0.1974, 0.298, 0.456, 0.6812, 1.004, 1.448, 2.026, 2.748, 3.614",\
                 "0.1704, 0.2116, 0.3146, 0.4738, 0.6982, 1.017, 1.455, 2.03, 2.749, 3.614",\
                 "0.1916, 0.2344, 0.34, 0.4984, 0.7204, 1.033, 1.465, 2.035, 2.751, 3.615",\
                 "0.216, 0.2616, 0.3732, 0.5346, 0.7562, 1.061, 1.482, 2.044, 2.755, 3.615",\
                 "0.2428, 0.2922, 0.41, 0.5776, 0.8048, 1.108, 1.521, 2.069, 2.766, 3.618",\
                 "0.2712, 0.3246, 0.4494, 0.6238, 0.857, 1.168, 1.579, 2.115, 2.794, 3.636");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004929, 0.01872, 0.04506, 0.08609, 0.1437, 0.2194, 0.3149, 0.4314, 0.5703");
          values("0.1122, 0.1712, 0.3632, 0.7436, 1.353, 2.213, 3.346, 4.768, 6.511, 8.588",\
                 "0.1122, 0.1711, 0.3632, 0.7431, 1.353, 2.213, 3.346, 4.77, 6.513, 8.586",\
                 "0.1124, 0.1705, 0.3629, 0.7436, 1.354, 2.213, 3.346, 4.772, 6.512, 8.592",\
                 "0.1173, 0.1755, 0.3664, 0.7444, 1.353, 2.213, 3.345, 4.772, 6.513, 8.59",\
                 "0.1262, 0.1836, 0.3732, 0.749, 1.357, 2.211, 3.343, 4.77, 6.513, 8.581",\
                 "0.1404, 0.1968, 0.3834, 0.753, 1.36, 2.217, 3.35, 4.769, 6.512, 8.586",\
                 "0.1564, 0.2126, 0.3984, 0.7632, 1.363, 2.219, 3.348, 4.771, 6.51, 8.586",\
                 "0.175, 0.2312, 0.4182, 0.7784, 1.376, 2.227, 3.351, 4.773, 6.515, 8.592",\
                 "0.1964, 0.2522, 0.4392, 0.7976, 1.398, 2.245, 3.366, 4.778, 6.512, 8.582",\
                 "0.2184, 0.2762, 0.4622, 0.8198, 1.418, 2.27, 3.386, 4.793, 6.519, 8.586");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__addh_4) {
    area : 87.808000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&!B" ;
      value : "0.0001798962" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A&B" ;
      value : "0.0002413257" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&!B" ;
      value : "0.0001800315" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A&B" ;
      value : "0.0002511762" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002511762" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A) {
      capacitance : 0.01637 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(B) {
      capacitance : 0.01436 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(CO) {
      direction : output ;
      function : "(A&B)" ;
      max_capacitance : 1.162 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.3081, 0.3007, 0.2897, 0.2833, 0.2796, 0.2774, 0.2762, 0.2753, 0.275, 0.2742",\
                 "0.3072, 0.2997, 0.2889, 0.2824, 0.2793, 0.2765, 0.2751, 0.2743, 0.2737, 0.2734",\
                 "0.3082, 0.3002, 0.2893, 0.2829, 0.2797, 0.2772, 0.2759, 0.275, 0.2744, 0.2741",\
                 "0.3193, 0.3107, 0.2966, 0.2886, 0.2841, 0.2813, 0.2799, 0.2788, 0.2782, 0.2777",\
                 "0.3465, 0.3353, 0.316, 0.3032, 0.2964, 0.2918, 0.2893, 0.2872, 0.2864, 0.2856",\
                 "0.3826, 0.3701, 0.3451, 0.3273, 0.3163, 0.3103, 0.3064, 0.304, 0.3022, 0.3013",\
                 "0.4311, 0.4158, 0.3857, 0.3617, 0.3468, 0.3382, 0.3321, 0.328, 0.3257, 0.3235",\
                 "0.4907, 0.4747, 0.4389, 0.4086, 0.3887, 0.376, 0.3686, 0.363, 0.3593, 0.3568",\
                 "0.5621, 0.5456, 0.5052, 0.4671, 0.4417, 0.4247, 0.4141, 0.4067, 0.4013, 0.3978",\
                 "0.646, 0.629, 0.5843, 0.5378, 0.5067, 0.4855, 0.4714, 0.4614, 0.4543, 0.4491");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.2522, 0.2485, 0.2436, 0.2441, 0.246, 0.2478, 0.2497, 0.2531, 0.255, 0.2673",\
                 "0.2518, 0.2483, 0.2431, 0.2436, 0.2453, 0.2473, 0.2495, 0.2519, 0.2552, 0.2668",\
                 "0.2513, 0.2478, 0.2423, 0.2424, 0.2441, 0.2458, 0.2484, 0.2508, 0.2531, 0.2663",\
                 "0.2577, 0.2536, 0.2466, 0.2442, 0.2445, 0.2456, 0.2475, 0.2502, 0.2525, 0.2649",\
                 "0.2739, 0.2684, 0.2585, 0.2537, 0.2521, 0.252, 0.2532, 0.2559, 0.2591, 0.2736",\
                 "0.3007, 0.2933, 0.2815, 0.2729, 0.2692, 0.2671, 0.266, 0.2681, 0.2709, 0.2879",\
                 "0.3388, 0.3292, 0.3149, 0.3017, 0.2938, 0.2918, 0.2903, 0.2894, 0.2915, 0.3133",\
                 "0.3887, 0.3774, 0.3585, 0.3434, 0.3308, 0.3245, 0.3244, 0.3236, 0.3237, 0.3488",\
                 "0.45, 0.4357, 0.4139, 0.3953, 0.3789, 0.369, 0.3632, 0.3651, 0.3678, 0.4051",\
                 "0.5232, 0.5062, 0.48, 0.4572, 0.4387, 0.4255, 0.4158, 0.413, 0.4213, 0.4763");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.2816, 0.2746, 0.2653, 0.2607, 0.2577, 0.2558, 0.2548, 0.2543, 0.2536, 0.2533",\
                 "0.2801, 0.2735, 0.2647, 0.2598, 0.2569, 0.2551, 0.254, 0.2535, 0.2526, 0.2526",\
                 "0.2803, 0.2731, 0.2642, 0.2593, 0.2567, 0.2549, 0.2539, 0.2538, 0.2526, 0.2524",\
                 "0.2928, 0.2847, 0.2719, 0.2651, 0.2612, 0.2587, 0.2574, 0.2567, 0.2561, 0.2555",\
                 "0.3207, 0.3095, 0.2911, 0.2791, 0.2728, 0.2687, 0.2663, 0.2651, 0.2641, 0.2634",\
                 "0.3575, 0.3444, 0.3198, 0.3028, 0.2936, 0.2873, 0.2837, 0.2805, 0.2795, 0.2781",\
                 "0.4054, 0.3903, 0.3597, 0.3368, 0.3222, 0.3142, 0.309, 0.3053, 0.3028, 0.3009",\
                 "0.465, 0.4491, 0.4123, 0.3824, 0.3632, 0.3512, 0.3432, 0.3381, 0.3337, 0.3314",\
                 "0.5355, 0.5186, 0.4771, 0.439, 0.4134, 0.3981, 0.387, 0.3797, 0.3744, 0.371",\
                 "0.6177, 0.5992, 0.5549, 0.5076, 0.4771, 0.4562, 0.4424, 0.4318, 0.425, 0.4198");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.2442, 0.2404, 0.2358, 0.2359, 0.2379, 0.2398, 0.2426, 0.2447, 0.247, 0.2572",\
                 "0.2436, 0.2401, 0.235, 0.2356, 0.2371, 0.2396, 0.2411, 0.2445, 0.2471, 0.2584",\
                 "0.2436, 0.2401, 0.235, 0.2345, 0.236, 0.2383, 0.2405, 0.2429, 0.2458, 0.259",\
                 "0.2538, 0.2493, 0.2411, 0.2383, 0.2378, 0.2389, 0.2401, 0.2432, 0.2461, 0.2596",\
                 "0.272, 0.2658, 0.2556, 0.2493, 0.2463, 0.2458, 0.2476, 0.2484, 0.2529, 0.2685",\
                 "0.3003, 0.2926, 0.2794, 0.2691, 0.264, 0.2611, 0.2603, 0.2611, 0.2642, 0.28",\
                 "0.3403, 0.3297, 0.3132, 0.2998, 0.2902, 0.2868, 0.2844, 0.2825, 0.2842, 0.3052",\
                 "0.3914, 0.3781, 0.357, 0.3408, 0.3267, 0.3185, 0.3177, 0.3156, 0.3166, 0.3409",\
                 "0.4531, 0.4369, 0.4118, 0.392, 0.374, 0.3629, 0.3565, 0.3573, 0.3576, 0.395",\
                 "0.5254, 0.5065, 0.477, 0.4534, 0.4321, 0.416, 0.4043, 0.4013, 0.41, 0.4699");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.325, 0.3613, 0.4479, 0.5636, 0.7077, 0.8899, 1.12, 1.406, 1.755, 2.17",\
                 "0.3409, 0.3771, 0.4639, 0.5794, 0.7235, 0.9058, 1.136, 1.422, 1.77, 2.185",\
                 "0.4064, 0.4428, 0.5293, 0.6449, 0.7891, 0.9714, 1.202, 1.488, 1.836, 2.251",\
                 "0.5389, 0.5758, 0.6628, 0.7788, 0.9231, 1.106, 1.336, 1.622, 1.97, 2.385",\
                 "0.7076, 0.749, 0.8455, 0.9683, 1.116, 1.3, 1.53, 1.816, 2.164, 2.579",\
                 "0.9088, 0.9538, 1.059, 1.19, 1.346, 1.533, 1.765, 2.051, 2.399, 2.813",\
                 "1.147, 1.195, 1.31, 1.451, 1.613, 1.805, 2.038, 2.325, 2.673, 3.087",\
                 "1.422, 1.474, 1.598, 1.751, 1.923, 2.121, 2.357, 2.644, 2.992, 3.406",\
                 "1.735, 1.791, 1.925, 2.09, 2.274, 2.48, 2.721, 3.01, 3.358, 3.773",\
                 "2.087, 2.147, 2.291, 2.469, 2.665, 2.882, 3.13, 3.425, 3.775, 4.19");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.3423, 0.387, 0.5198, 0.7498, 1.102, 1.593, 2.238, 3.052, 4.043, 5.225",\
                 "0.3526, 0.3975, 0.5302, 0.7602, 1.113, 1.604, 2.249, 3.062, 4.053, 5.235",\
                 "0.3803, 0.4252, 0.5575, 0.7872, 1.14, 1.631, 2.276, 3.089, 4.08, 5.261",\
                 "0.4264, 0.4719, 0.6052, 0.8339, 1.185, 1.676, 2.321, 3.133, 4.124, 5.306",\
                 "0.4658, 0.5126, 0.6481, 0.8774, 1.228, 1.717, 2.362, 3.174, 4.166, 5.348",\
                 "0.4877, 0.5363, 0.6755, 0.9056, 1.255, 1.743, 2.386, 3.197, 4.189, 5.371",\
                 "0.4831, 0.5336, 0.6779, 0.9115, 1.261, 1.747, 2.39, 3.2, 4.189, 5.373",\
                 "0.4474, 0.501, 0.6498, 0.8895, 1.242, 1.729, 2.37, 3.18, 4.169, 5.348",\
                 "0.3772, 0.4336, 0.5876, 0.8337, 1.191, 1.683, 2.325, 3.134, 4.123, 5.301",\
                 "0.2707, 0.3301, 0.4899, 0.742, 1.105, 1.603, 2.251, 3.062, 4.049, 5.228");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.1055, 0.1367, 0.2138, 0.3345, 0.5148, 0.7801, 1.144, 1.614, 2.195, 2.891",\
                 "0.1051, 0.137, 0.2139, 0.3345, 0.5148, 0.7803, 1.144, 1.614, 2.195, 2.891",\
                 "0.1055, 0.1369, 0.2138, 0.3346, 0.5148, 0.7804, 1.144, 1.614, 2.195, 2.891",\
                 "0.1129, 0.1434, 0.2186, 0.3366, 0.5164, 0.7812, 1.144, 1.614, 2.195, 2.889",\
                 "0.137, 0.1712, 0.2458, 0.358, 0.5288, 0.7868, 1.146, 1.615, 2.195, 2.889",\
                 "0.1592, 0.1968, 0.2752, 0.386, 0.5526, 0.8026, 1.154, 1.618, 2.196, 2.891",\
                 "0.1848, 0.2246, 0.309, 0.418, 0.579, 0.8204, 1.165, 1.624, 2.2, 2.892",\
                 "0.2126, 0.2564, 0.3492, 0.4588, 0.6136, 0.8448, 1.179, 1.631, 2.204, 2.895",\
                 "0.2418, 0.2904, 0.3906, 0.5056, 0.6578, 0.8812, 1.205, 1.646, 2.212, 2.898",\
                 "0.2738, 0.3262, 0.4354, 0.5562, 0.7092, 0.927, 1.242, 1.673, 2.229, 2.907");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.1076, 0.1687, 0.3634, 0.7446, 1.356, 2.217, 3.353, 4.785, 6.536, 8.617",\
                 "0.1077, 0.1684, 0.3633, 0.7446, 1.356, 2.217, 3.352, 4.786, 6.535, 8.619",\
                 "0.1075, 0.1685, 0.3635, 0.7448, 1.356, 2.217, 3.356, 4.784, 6.535, 8.621",\
                 "0.1126, 0.1733, 0.3666, 0.7456, 1.356, 2.217, 3.352, 4.788, 6.539, 8.625",\
                 "0.1196, 0.181, 0.3756, 0.7504, 1.358, 2.217, 3.35, 4.784, 6.535, 8.617",\
                 "0.1314, 0.1926, 0.3874, 0.7562, 1.36, 2.219, 3.358, 4.784, 6.536, 8.619",\
                 "0.1466, 0.2074, 0.4046, 0.7696, 1.365, 2.219, 3.354, 4.793, 6.534, 8.621",\
                 "0.1636, 0.2242, 0.424, 0.7896, 1.382, 2.227, 3.355, 4.785, 6.529, 8.616",\
                 "0.1816, 0.2418, 0.4448, 0.8124, 1.406, 2.247, 3.367, 4.786, 6.532, 8.63",\
                 "0.2018, 0.2632, 0.4654, 0.8366, 1.433, 2.279, 3.396, 4.804, 6.537, 8.617");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.2972, 0.3315, 0.4146, 0.528, 0.6709, 0.8526, 1.082, 1.368, 1.717, 2.132",\
                 "0.3133, 0.3476, 0.4306, 0.5439, 0.687, 0.8686, 1.098, 1.384, 1.733, 2.148",\
                 "0.3769, 0.4112, 0.4943, 0.6075, 0.7506, 0.9323, 1.162, 1.448, 1.796, 2.211",\
                 "0.5037, 0.5391, 0.6237, 0.7378, 0.8813, 1.063, 1.293, 1.579, 1.927, 2.342",\
                 "0.6594, 0.6992, 0.7926, 0.9143, 1.062, 1.246, 1.476, 1.761, 2.109, 2.524",\
                 "0.8437, 0.8873, 0.9891, 1.12, 1.274, 1.462, 1.693, 1.98, 2.327, 2.742",\
                 "1.057, 1.105, 1.216, 1.357, 1.52, 1.712, 1.945, 2.232, 2.58, 2.994",\
                 "1.299, 1.351, 1.473, 1.626, 1.799, 1.999, 2.236, 2.524, 2.872, 3.286",\
                 "1.571, 1.626, 1.759, 1.924, 2.111, 2.321, 2.565, 2.856, 3.205, 3.619",\
                 "1.872, 1.932, 2.074, 2.253, 2.453, 2.675, 2.928, 3.227, 3.58, 3.996");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.3276, 0.3724, 0.5054, 0.7353, 1.088, 1.579, 2.224, 3.037, 4.027, 5.209",\
                 "0.3393, 0.3841, 0.5168, 0.7468, 1.099, 1.59, 2.236, 3.047, 4.04, 5.222",\
                 "0.3841, 0.429, 0.5616, 0.7911, 1.143, 1.634, 2.279, 3.092, 4.083, 5.265",\
                 "0.4596, 0.5048, 0.6375, 0.8656, 1.216, 1.707, 2.351, 3.164, 4.156, 5.338",\
                 "0.5227, 0.5688, 0.7038, 0.9322, 1.282, 1.771, 2.415, 3.227, 4.217, 5.399",\
                 "0.5693, 0.6172, 0.7547, 0.9829, 1.331, 1.819, 2.462, 3.273, 4.264, 5.444",\
                 "0.594, 0.644, 0.7858, 1.017, 1.364, 1.85, 2.492, 3.302, 4.293, 5.476",\
                 "0.5928, 0.646, 0.7928, 1.029, 1.377, 1.863, 2.503, 3.312, 4.301, 5.48",\
                 "0.5632, 0.6199, 0.7728, 1.014, 1.366, 1.854, 2.494, 3.302, 4.29, 5.469",\
                 "0.5027, 0.563, 0.7221, 0.9699, 1.327, 1.819, 2.462, 3.27, 4.257, 5.435");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.09702, 0.1276, 0.2054, 0.3284, 0.5112, 0.7776, 1.142, 1.613, 2.195, 2.892",\
                 "0.09704, 0.1276, 0.2057, 0.3284, 0.5108, 0.7779, 1.142, 1.613, 2.195, 2.891",\
                 "0.0973, 0.1277, 0.2056, 0.3283, 0.5111, 0.7776, 1.142, 1.613, 2.195, 2.889",\
                 "0.1086, 0.1376, 0.2122, 0.3326, 0.5136, 0.779, 1.143, 1.613, 2.195, 2.891",\
                 "0.1318, 0.164, 0.2396, 0.355, 0.5282, 0.786, 1.146, 1.614, 2.193, 2.889",\
                 "0.1546, 0.1904, 0.2686, 0.3834, 0.5522, 0.8026, 1.154, 1.618, 2.196, 2.891",\
                 "0.1814, 0.2218, 0.3044, 0.4176, 0.581, 0.8216, 1.166, 1.624, 2.199, 2.894",\
                 "0.2108, 0.2538, 0.3454, 0.4622, 0.6214, 0.8518, 1.184, 1.633, 2.204, 2.895",\
                 "0.2424, 0.2898, 0.3892, 0.511, 0.6712, 0.896, 1.217, 1.653, 2.215, 2.899",\
                 "0.2742, 0.3268, 0.4346, 0.5642, 0.7274, 0.948, 1.263, 1.692, 2.242, 2.917");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009011, 0.03713, 0.09083, 0.1745, 0.2919, 0.4463, 0.6409, 0.8785, 1.162");
          values("0.1072, 0.1686, 0.3636, 0.7446, 1.356, 2.219, 3.351, 4.785, 6.537, 8.627",\
                 "0.1077, 0.1683, 0.3634, 0.7447, 1.356, 2.218, 3.351, 4.786, 6.533, 8.619",\
                 "0.1071, 0.1695, 0.3635, 0.7446, 1.356, 2.217, 3.357, 4.787, 6.534, 8.621",\
                 "0.1124, 0.1736, 0.3667, 0.7456, 1.356, 2.219, 3.352, 4.786, 6.535, 8.618",\
                 "0.1224, 0.1834, 0.3762, 0.7516, 1.358, 2.218, 3.351, 4.785, 6.536, 8.622",\
                 "0.1352, 0.1944, 0.3866, 0.756, 1.362, 2.219, 3.358, 4.782, 6.536, 8.619",\
                 "0.1514, 0.2102, 0.4036, 0.7658, 1.364, 2.222, 3.356, 4.793, 6.529, 8.62",\
                 "0.1704, 0.2292, 0.4222, 0.783, 1.376, 2.226, 3.358, 4.787, 6.534, 8.62",\
                 "0.191, 0.2512, 0.4444, 0.804, 1.396, 2.242, 3.365, 4.788, 6.534, 8.631",\
                 "0.2128, 0.2744, 0.4686, 0.828, 1.42, 2.266, 3.388, 4.797, 6.538, 8.617");
        }
      }
    }

    pin(S) {
      direction : output ;
      function : "(A^B)" ;
      max_capacitance : 1.16 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A" ;
        when : "!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.3597, 0.3497, 0.3333, 0.3241, 0.3189, 0.3157, 0.3137, 0.3124, 0.3115, 0.3108",\
                 "0.3565, 0.3462, 0.33, 0.3209, 0.3156, 0.3125, 0.3104, 0.3091, 0.3082, 0.3074",\
                 "0.3551, 0.3447, 0.3285, 0.3192, 0.314, 0.3111, 0.309, 0.3076, 0.3068, 0.306",\
                 "0.3644, 0.3538, 0.3365, 0.3264, 0.3208, 0.3176, 0.3155, 0.314, 0.313, 0.3123",\
                 "0.3967, 0.3844, 0.3629, 0.3492, 0.3414, 0.3368, 0.3337, 0.3317, 0.3304, 0.3295",\
                 "0.4431, 0.4292, 0.4031, 0.3852, 0.3746, 0.3678, 0.3637, 0.3611, 0.3591, 0.3578",\
                 "0.5048, 0.4892, 0.4585, 0.4353, 0.4214, 0.4125, 0.4066, 0.4028, 0.4002, 0.3984",\
                 "0.5841, 0.5672, 0.5314, 0.5027, 0.484, 0.472, 0.464, 0.4589, 0.4553, 0.4527",\
                 "0.6811, 0.6626, 0.6219, 0.5868, 0.5635, 0.5477, 0.5374, 0.5301, 0.5251, 0.5215",\
                 "0.7954, 0.7757, 0.7306, 0.6888, 0.66, 0.6405, 0.6266, 0.6175, 0.6105, 0.6057");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.1285, 0.124, 0.1194, 0.1176, 0.119, 0.1212, 0.1228, 0.1253, 0.1288, 0.1406",\
                 "0.129, 0.1245, 0.1195, 0.1181, 0.1195, 0.1212, 0.1238, 0.126, 0.1294, 0.1413",\
                 "0.13, 0.1258, 0.121, 0.1187, 0.1197, 0.1217, 0.1238, 0.127, 0.1307, 0.1415",\
                 "0.1433, 0.1383, 0.1312, 0.1269, 0.1262, 0.1278, 0.1297, 0.1319, 0.1357, 0.1485",\
                 "0.1686, 0.1619, 0.1516, 0.1456, 0.1419, 0.1413, 0.1429, 0.1461, 0.1482, 0.1629",\
                 "0.2078, 0.199, 0.1849, 0.1746, 0.1714, 0.1684, 0.1674, 0.1685, 0.1725, 0.1892",\
                 "0.2615, 0.2506, 0.2331, 0.2188, 0.2106, 0.2077, 0.206, 0.2038, 0.2074, 0.2282",\
                 "0.3307, 0.3173, 0.2965, 0.2785, 0.2652, 0.2578, 0.2574, 0.2554, 0.2563, 0.2833",\
                 "0.4147, 0.3977, 0.373, 0.3529, 0.335, 0.3238, 0.3195, 0.3211, 0.3203, 0.358",\
                 "0.5139, 0.495, 0.4654, 0.4423, 0.421, 0.407, 0.396, 0.3934, 0.4001, 0.4583");
        }
      }

      internal_power() {
        related_pin : "A" ;
        when : "B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.2611, 0.2538, 0.244, 0.2391, 0.2369, 0.2356, 0.2346, 0.2341, 0.2338, 0.2336",\
                 "0.2605, 0.2533, 0.2437, 0.2386, 0.2362, 0.2349, 0.2341, 0.2337, 0.2334, 0.2332",\
                 "0.2598, 0.2524, 0.2428, 0.2378, 0.2352, 0.2342, 0.2331, 0.2329, 0.2323, 0.232",\
                 "0.2635, 0.2568, 0.2467, 0.2422, 0.2399, 0.2388, 0.2379, 0.2373, 0.2369, 0.2367",\
                 "0.2756, 0.2684, 0.2587, 0.2538, 0.2508, 0.2498, 0.249, 0.2488, 0.2484, 0.2482",\
                 "0.2987, 0.2907, 0.2814, 0.2751, 0.2728, 0.2726, 0.2717, 0.2712, 0.2709, 0.2706",\
                 "0.3333, 0.3248, 0.3142, 0.3088, 0.3058, 0.3046, 0.3038, 0.3031, 0.3027, 0.3024",\
                 "0.3777, 0.37, 0.358, 0.3514, 0.3478, 0.3463, 0.3453, 0.3446, 0.3443, 0.3441",\
                 "0.4341, 0.4258, 0.4131, 0.4061, 0.4021, 0.4002, 0.3994, 0.3987, 0.3983, 0.398",\
                 "0.5015, 0.493, 0.479, 0.4721, 0.4671, 0.4649, 0.4631, 0.4629, 0.4624, 0.4619");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.3022, 0.297, 0.2894, 0.2855, 0.2842, 0.2856, 0.2871, 0.289, 0.2918, 0.3051",\
                 "0.301, 0.296, 0.2886, 0.2844, 0.2837, 0.2846, 0.2862, 0.2881, 0.2912, 0.306",\
                 "0.3019, 0.2967, 0.2889, 0.2852, 0.2841, 0.2853, 0.2869, 0.2887, 0.2919, 0.3072",\
                 "0.3089, 0.3036, 0.2966, 0.292, 0.2914, 0.2926, 0.2942, 0.2967, 0.2991, 0.316",\
                 "0.3284, 0.3229, 0.3152, 0.3109, 0.3101, 0.3112, 0.3128, 0.3146, 0.3176, 0.3374",\
                 "0.3577, 0.3521, 0.3437, 0.3401, 0.3387, 0.3397, 0.3416, 0.3449, 0.3477, 0.3688",\
                 "0.3981, 0.3928, 0.3842, 0.3801, 0.3793, 0.3795, 0.3811, 0.3837, 0.3872, 0.4175",\
                 "0.4516, 0.4458, 0.4372, 0.4317, 0.4303, 0.4322, 0.4338, 0.4344, 0.4387, 0.4874",\
                 "0.5186, 0.5124, 0.5031, 0.4962, 0.4934, 0.495, 0.4976, 0.5009, 0.5081, 0.5815",\
                 "0.5985, 0.5915, 0.582, 0.5739, 0.5707, 0.569, 0.5715, 0.577, 0.5931, 0.7219");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.3793, 0.3692, 0.3529, 0.3436, 0.3385, 0.3353, 0.3334, 0.332, 0.3311, 0.3304",\
                 "0.3785, 0.3684, 0.352, 0.343, 0.3378, 0.3345, 0.3326, 0.3312, 0.3303, 0.3295",\
                 "0.3762, 0.3661, 0.3496, 0.3404, 0.3353, 0.3321, 0.3302, 0.3288, 0.3279, 0.3272",\
                 "0.3836, 0.373, 0.3555, 0.3456, 0.3399, 0.3365, 0.3344, 0.3329, 0.3318, 0.3312",\
                 "0.4103, 0.3986, 0.3784, 0.3657, 0.3587, 0.3543, 0.3516, 0.3499, 0.3485, 0.3476",\
                 "0.4542, 0.4414, 0.4178, 0.4017, 0.3925, 0.3869, 0.3833, 0.3808, 0.3792, 0.3778",\
                 "0.5195, 0.5051, 0.4771, 0.4565, 0.4441, 0.4363, 0.4313, 0.4277, 0.4253, 0.4236",\
                 "0.6045, 0.5887, 0.5558, 0.5302, 0.5135, 0.5029, 0.4959, 0.4914, 0.4879, 0.4856",\
                 "0.7083, 0.6912, 0.654, 0.6225, 0.6011, 0.5872, 0.5781, 0.5717, 0.5672, 0.5641",\
                 "0.8311, 0.8127, 0.7716, 0.7339, 0.7082, 0.6907, 0.6787, 0.6704, 0.6644, 0.6601");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.1578, 0.1528, 0.1463, 0.1441, 0.1445, 0.1467, 0.1486, 0.1508, 0.1533, 0.1638",\
                 "0.1562, 0.1515, 0.1453, 0.1426, 0.1429, 0.1447, 0.147, 0.1488, 0.1516, 0.1629",\
                 "0.1557, 0.1512, 0.1449, 0.1419, 0.142, 0.1437, 0.1457, 0.1482, 0.151, 0.1627",\
                 "0.1676, 0.1625, 0.1547, 0.1495, 0.1482, 0.149, 0.1516, 0.1544, 0.1569, 0.1687",\
                 "0.1945, 0.1875, 0.1773, 0.1702, 0.1657, 0.1652, 0.1665, 0.168, 0.1707, 0.1852",\
                 "0.2361, 0.2273, 0.2138, 0.2034, 0.1983, 0.1949, 0.1942, 0.1947, 0.1973, 0.2162",\
                 "0.2942, 0.2833, 0.2669, 0.2524, 0.2429, 0.2408, 0.2381, 0.2359, 0.2382, 0.2616",\
                 "0.3694, 0.3564, 0.3366, 0.3178, 0.3048, 0.2969, 0.2961, 0.2951, 0.295, 0.3255",\
                 "0.4624, 0.4467, 0.4233, 0.4022, 0.3856, 0.3714, 0.3681, 0.3687, 0.3695, 0.4095",\
                 "0.5729, 0.5549, 0.5268, 0.5028, 0.4812, 0.4662, 0.4555, 0.4529, 0.4607, 0.525");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.2533, 0.246, 0.2358, 0.2315, 0.2293, 0.2278, 0.227, 0.2268, 0.2262, 0.2259",\
                 "0.2523, 0.245, 0.2355, 0.2305, 0.2287, 0.2269, 0.2262, 0.2257, 0.2252, 0.225",\
                 "0.2523, 0.245, 0.2353, 0.2305, 0.2281, 0.2268, 0.226, 0.2256, 0.2252, 0.225",\
                 "0.2587, 0.2514, 0.2413, 0.2365, 0.2346, 0.2328, 0.2321, 0.2315, 0.2312, 0.2309",\
                 "0.2727, 0.2653, 0.2555, 0.2503, 0.2482, 0.2471, 0.246, 0.2457, 0.2454, 0.245",\
                 "0.2968, 0.2889, 0.2791, 0.2736, 0.2714, 0.2701, 0.269, 0.2686, 0.2682, 0.268",\
                 "0.3316, 0.3236, 0.3126, 0.3068, 0.3044, 0.3032, 0.3023, 0.3017, 0.3013, 0.301",\
                 "0.3759, 0.3681, 0.3567, 0.3505, 0.3471, 0.3455, 0.3444, 0.3438, 0.3434, 0.343",\
                 "0.4331, 0.4242, 0.4111, 0.4043, 0.4001, 0.3986, 0.3972, 0.3964, 0.3962, 0.3957",\
                 "0.4998, 0.4898, 0.4758, 0.4686, 0.4637, 0.4616, 0.4604, 0.4596, 0.4589, 0.4583");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.2765, 0.2717, 0.2653, 0.2621, 0.2622, 0.2643, 0.2652, 0.2677, 0.2702, 0.2821",\
                 "0.2756, 0.2709, 0.2647, 0.2614, 0.2617, 0.263, 0.2646, 0.2667, 0.2705, 0.2825",\
                 "0.2752, 0.2706, 0.2643, 0.2611, 0.2612, 0.2627, 0.2646, 0.2671, 0.2689, 0.2842",\
                 "0.2832, 0.2783, 0.2716, 0.2686, 0.2687, 0.2702, 0.2714, 0.2739, 0.277, 0.2921",\
                 "0.302, 0.297, 0.2907, 0.2868, 0.2863, 0.2878, 0.2894, 0.2912, 0.2949, 0.3119",\
                 "0.3316, 0.3263, 0.3187, 0.3155, 0.3146, 0.3155, 0.3177, 0.3213, 0.3234, 0.3459",\
                 "0.3726, 0.3669, 0.3587, 0.3542, 0.3543, 0.3551, 0.3554, 0.358, 0.3625, 0.3927",\
                 "0.4254, 0.4195, 0.4109, 0.4048, 0.4023, 0.4057, 0.4066, 0.4085, 0.413, 0.4559",\
                 "0.4917, 0.4849, 0.4749, 0.4688, 0.4658, 0.467, 0.4706, 0.4723, 0.4793, 0.547",\
                 "0.5699, 0.5631, 0.5523, 0.5442, 0.5406, 0.5385, 0.5418, 0.5476, 0.5618, 0.6777");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.6353, 0.6744, 0.7684, 0.8967, 1.065, 1.286, 1.572, 1.931, 2.37, 2.894",\
                 "0.6456, 0.6848, 0.7784, 0.907, 1.075, 1.296, 1.582, 1.942, 2.381, 2.904",\
                 "0.6704, 0.7097, 0.8036, 0.932, 1.1, 1.321, 1.607, 1.967, 2.406, 2.93",\
                 "0.7108, 0.7501, 0.8441, 0.9724, 1.14, 1.361, 1.647, 2.007, 2.446, 2.97",\
                 "0.7536, 0.7916, 0.8843, 1.013, 1.18, 1.402, 1.688, 2.047, 2.487, 3.01",\
                 "0.7789, 0.8173, 0.9104, 1.039, 1.206, 1.428, 1.713, 2.073, 2.512, 3.036",\
                 "0.7789, 0.818, 0.9119, 1.041, 1.21, 1.43, 1.716, 2.076, 2.514, 3.037",\
                 "0.7485, 0.7885, 0.8838, 1.014, 1.182, 1.404, 1.691, 2.05, 2.489, 3.012",\
                 "0.6837, 0.7244, 0.8206, 0.9516, 1.122, 1.345, 1.634, 1.995, 2.435, 2.958",\
                 "0.5817, 0.623, 0.721, 0.8536, 1.025, 1.251, 1.542, 1.905, 2.344, 2.867");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.7903, 0.8378, 0.9748, 1.205, 1.554, 2.042, 2.685, 3.497, 4.486, 5.661",\
                 "0.8063, 0.8537, 0.9908, 1.221, 1.57, 2.058, 2.702, 3.512, 4.502, 5.68",\
                 "0.8723, 0.9198, 1.057, 1.287, 1.636, 2.124, 2.768, 3.578, 4.567, 5.746",\
                 "1.005, 1.052, 1.189, 1.42, 1.768, 2.257, 2.9, 3.709, 4.7, 5.879",\
                 "1.193, 1.24, 1.377, 1.607, 1.956, 2.445, 3.088, 3.899, 4.887, 6.067",\
                 "1.417, 1.465, 1.602, 1.833, 2.181, 2.67, 3.314, 4.123, 5.111, 6.29",\
                 "1.682, 1.73, 1.867, 2.098, 2.447, 2.935, 3.578, 4.388, 5.378, 6.556",\
                 "1.991, 2.039, 2.177, 2.407, 2.756, 3.244, 3.887, 4.696, 5.685, 6.864",\
                 "2.343, 2.391, 2.53, 2.76, 3.108, 3.596, 4.238, 5.048, 6.037, 7.214",\
                 "2.739, 2.787, 2.926, 3.156, 3.504, 3.992, 4.634, 5.444, 6.433, 7.61");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.1102, 0.1448, 0.2311, 0.3754, 0.6075, 0.9544, 1.424, 2.029, 2.767, 3.645",\
                 "0.1106, 0.1444, 0.2309, 0.3761, 0.6077, 0.9544, 1.426, 2.027, 2.766, 3.649",\
                 "0.1112, 0.1444, 0.2309, 0.376, 0.607, 0.9546, 1.425, 2.028, 2.767, 3.643",\
                 "0.1108, 0.1452, 0.231, 0.3758, 0.6076, 0.9536, 1.425, 2.028, 2.767, 3.645",\
                 "0.1096, 0.143, 0.2296, 0.3748, 0.6078, 0.9552, 1.425, 2.028, 2.767, 3.643",\
                 "0.1112, 0.1442, 0.231, 0.3766, 0.607, 0.9518, 1.423, 2.025, 2.766, 3.643",\
                 "0.1132, 0.1478, 0.2336, 0.3778, 0.6082, 0.954, 1.424, 2.023, 2.759, 3.641",\
                 "0.117, 0.151, 0.238, 0.3808, 0.6116, 0.9558, 1.425, 2.025, 2.758, 3.637",\
                 "0.1218, 0.1556, 0.2422, 0.3846, 0.616, 0.9644, 1.435, 2.032, 2.764, 3.637",\
                 "0.126, 0.1618, 0.2468, 0.3894, 0.6218, 0.9718, 1.444, 2.037, 2.767, 3.639");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.1206, 0.1815, 0.3753, 0.7464, 1.353, 2.211, 3.346, 4.778, 6.524, 8.597",\
                 "0.1202, 0.1814, 0.3755, 0.7468, 1.352, 2.213, 3.347, 4.777, 6.521, 8.606",\
                 "0.1206, 0.1814, 0.3756, 0.7464, 1.352, 2.214, 3.347, 4.777, 6.521, 8.606",\
                 "0.1204, 0.182, 0.3756, 0.747, 1.354, 2.211, 3.349, 4.774, 6.52, 8.605",\
                 "0.1204, 0.1824, 0.3766, 0.7468, 1.354, 2.213, 3.347, 4.778, 6.522, 8.605",\
                 "0.122, 0.1828, 0.3766, 0.7488, 1.352, 2.212, 3.347, 4.774, 6.517, 8.609",\
                 "0.1228, 0.1832, 0.3786, 0.7488, 1.354, 2.214, 3.351, 4.775, 6.521, 8.602",\
                 "0.125, 0.186, 0.3794, 0.7486, 1.352, 2.212, 3.349, 4.783, 6.518, 8.6",\
                 "0.1268, 0.1888, 0.3814, 0.7496, 1.355, 2.213, 3.345, 4.774, 6.517, 8.598",\
                 "0.1294, 0.191, 0.3842, 0.751, 1.354, 2.212, 3.346, 4.772, 6.518, 8.606");
        }
      }

      timing() {
        related_pin : "A" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.4536, 0.4988, 0.6104, 0.7643, 0.9567, 1.195, 1.489, 1.852, 2.291, 2.815",\
                 "0.466, 0.5113, 0.6229, 0.7768, 0.9694, 1.207, 1.502, 1.864, 2.304, 2.827",\
                 "0.5179, 0.563, 0.6746, 0.8284, 1.021, 1.259, 1.553, 1.916, 2.355, 2.879",\
                 "0.6379, 0.6828, 0.7936, 0.9476, 1.14, 1.378, 1.672, 2.035, 2.475, 2.998",\
                 "0.813, 0.8606, 0.9752, 1.132, 1.326, 1.564, 1.859, 2.221, 2.661, 3.184",\
                 "1.023, 1.074, 1.195, 1.357, 1.556, 1.798, 2.094, 2.457, 2.896, 3.419",\
                 "1.274, 1.329, 1.457, 1.625, 1.828, 2.073, 2.371, 2.736, 3.175, 3.698",\
                 "1.563, 1.622, 1.76, 1.937, 2.147, 2.396, 2.695, 3.06, 3.501, 4.025",\
                 "1.89, 1.952, 2.1, 2.289, 2.51, 2.767, 3.07, 3.436, 3.877, 4.4",\
                 "2.256, 2.322, 2.479, 2.681, 2.913, 3.18, 3.492, 3.863, 4.306, 4.829");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.3437, 0.39, 0.5265, 0.7569, 1.107, 1.596, 2.24, 3.052, 4.041, 5.222",\
                 "0.3573, 0.4036, 0.5401, 0.7705, 1.12, 1.609, 2.253, 3.065, 4.055, 5.236",\
                 "0.4029, 0.4497, 0.5858, 0.8159, 1.165, 1.654, 2.298, 3.11, 4.099, 5.28",\
                 "0.4805, 0.5277, 0.6635, 0.8926, 1.241, 1.73, 2.373, 3.185, 4.174, 5.354",\
                 "0.5456, 0.5938, 0.7317, 0.9614, 1.309, 1.796, 2.439, 3.251, 4.24, 5.418",\
                 "0.5897, 0.64, 0.7803, 1.011, 1.357, 1.844, 2.485, 3.294, 4.286, 5.466",\
                 "0.6067, 0.6604, 0.8052, 1.038, 1.384, 1.868, 2.509, 3.317, 4.305, 5.485",\
                 "0.5928, 0.6498, 0.8013, 1.039, 1.387, 1.871, 2.51, 3.317, 4.304, 5.481",\
                 "0.5437, 0.6044, 0.7627, 1.008, 1.359, 1.846, 2.485, 3.291, 4.277, 5.454",\
                 "0.4587, 0.5234, 0.6886, 0.9407, 1.295, 1.789, 2.432, 3.24, 4.224, 5.399");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.14, 0.1815, 0.2875, 0.4521, 0.6855, 1.016, 1.465, 2.051, 2.779, 3.658",\
                 "0.1406, 0.1816, 0.2872, 0.4527, 0.6861, 1.017, 1.464, 2.051, 2.78, 3.654",\
                 "0.1402, 0.1817, 0.2881, 0.452, 0.6862, 1.017, 1.466, 2.051, 2.78, 3.657",\
                 "0.1412, 0.183, 0.2886, 0.4526, 0.687, 1.015, 1.466, 2.052, 2.781, 3.654",\
                 "0.1614, 0.2026, 0.3052, 0.4646, 0.694, 1.02, 1.467, 2.051, 2.78, 3.658",\
                 "0.1822, 0.2264, 0.3288, 0.488, 0.713, 1.033, 1.475, 2.055, 2.779, 3.657",\
                 "0.207, 0.253, 0.3574, 0.5114, 0.7334, 1.051, 1.487, 2.063, 2.785, 3.659",\
                 "0.235, 0.2854, 0.3958, 0.5476, 0.7622, 1.068, 1.5, 2.071, 2.792, 3.663",\
                 "0.2654, 0.3204, 0.4386, 0.593, 0.8048, 1.103, 1.521, 2.083, 2.799, 3.665",\
                 "0.2994, 0.3574, 0.4848, 0.6444, 0.8558, 1.153, 1.561, 2.11, 2.812, 3.674");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.1143, 0.1762, 0.37, 0.7434, 1.35, 2.213, 3.351, 4.779, 6.523, 8.609",\
                 "0.1144, 0.1765, 0.3696, 0.7434, 1.349, 2.21, 3.348, 4.778, 6.522, 8.609",\
                 "0.1146, 0.1752, 0.3698, 0.7437, 1.35, 2.214, 3.346, 4.776, 6.524, 8.607",\
                 "0.1197, 0.1797, 0.3726, 0.7446, 1.353, 2.211, 3.349, 4.778, 6.523, 8.605",\
                 "0.13, 0.1894, 0.3822, 0.7512, 1.352, 2.215, 3.349, 4.779, 6.521, 8.604",\
                 "0.1464, 0.204, 0.3952, 0.7562, 1.357, 2.217, 3.351, 4.775, 6.525, 8.606",\
                 "0.1648, 0.2222, 0.4132, 0.7682, 1.36, 2.217, 3.348, 4.783, 6.517, 8.605",\
                 "0.1864, 0.2456, 0.4356, 0.7886, 1.374, 2.224, 3.351, 4.777, 6.527, 8.598",\
                 "0.2096, 0.2706, 0.4604, 0.8126, 1.394, 2.241, 3.358, 4.78, 6.52, 8.605",\
                 "0.2332, 0.2956, 0.4868, 0.8376, 1.419, 2.266, 3.386, 4.791, 6.524, 8.598");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.6194, 0.6585, 0.7523, 0.8806, 1.048, 1.269, 1.555, 1.915, 2.354, 2.878",\
                 "0.6321, 0.6712, 0.7649, 0.8935, 1.061, 1.282, 1.568, 1.928, 2.367, 2.89",\
                 "0.6754, 0.7146, 0.8083, 0.9369, 1.105, 1.326, 1.612, 1.972, 2.411, 2.934",\
                 "0.7451, 0.7842, 0.8783, 1.007, 1.174, 1.395, 1.682, 2.041, 2.48, 3.004",\
                 "0.8093, 0.8479, 0.941, 1.069, 1.237, 1.458, 1.745, 2.104, 2.543, 3.067",\
                 "0.8579, 0.8962, 0.9893, 1.118, 1.286, 1.507, 1.793, 2.152, 2.591, 3.115",\
                 "0.8862, 0.9253, 1.019, 1.148, 1.316, 1.537, 1.823, 2.183, 2.621, 3.144",\
                 "0.8902, 0.9299, 1.025, 1.155, 1.324, 1.545, 1.831, 2.19, 2.629, 3.152",\
                 "0.8667, 0.9073, 1.003, 1.134, 1.303, 1.524, 1.811, 2.17, 2.609, 3.132",\
                 "0.8121, 0.8532, 0.9508, 1.083, 1.253, 1.474, 1.761, 2.12, 2.559, 3.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.7166, 0.7638, 0.9004, 1.13, 1.479, 1.968, 2.61, 3.423, 4.409, 5.588",\
                 "0.7327, 0.7795, 0.9163, 1.146, 1.495, 1.984, 2.626, 3.438, 4.426, 5.606",\
                 "0.7959, 0.8434, 0.98, 1.21, 1.559, 2.047, 2.691, 3.502, 4.489, 5.669",\
                 "0.9257, 0.9729, 1.11, 1.34, 1.688, 2.177, 2.819, 3.632, 4.618, 5.798",\
                 "1.102, 1.15, 1.287, 1.516, 1.865, 2.353, 2.997, 3.808, 4.794, 5.973",\
                 "1.312, 1.359, 1.496, 1.726, 2.074, 2.562, 3.206, 4.015, 5.008, 6.188",\
                 "1.556, 1.604, 1.741, 1.971, 2.319, 2.807, 3.449, 4.259, 5.251, 6.429",\
                 "1.836, 1.884, 2.022, 2.252, 2.599, 3.087, 3.729, 4.538, 5.527, 6.708",\
                 "2.149, 2.197, 2.336, 2.566, 2.913, 3.401, 4.043, 4.852, 5.839, 7.017",\
                 "2.496, 2.545, 2.685, 2.915, 3.262, 3.749, 4.391, 5.2, 6.187, 7.364");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.1103, 0.1444, 0.2309, 0.3758, 0.6075, 0.9534, 1.424, 2.028, 2.766, 3.647",\
                 "0.1107, 0.1446, 0.2308, 0.3759, 0.6076, 0.9544, 1.426, 2.027, 2.766, 3.648",\
                 "0.1112, 0.1446, 0.231, 0.3758, 0.6076, 0.9544, 1.426, 2.028, 2.766, 3.649",\
                 "0.111, 0.1456, 0.2316, 0.3758, 0.6076, 0.9548, 1.426, 2.029, 2.767, 3.648",\
                 "0.1102, 0.1434, 0.2302, 0.3758, 0.6086, 0.9532, 1.427, 2.028, 2.764, 3.648",\
                 "0.1108, 0.144, 0.2312, 0.376, 0.6084, 0.9522, 1.423, 2.027, 2.766, 3.643",\
                 "0.1136, 0.147, 0.2338, 0.3778, 0.608, 0.9536, 1.424, 2.024, 2.761, 3.642",\
                 "0.1168, 0.1508, 0.2368, 0.3802, 0.6096, 0.9554, 1.425, 2.027, 2.761, 3.637",\
                 "0.1222, 0.1552, 0.2412, 0.3832, 0.6122, 0.9564, 1.427, 2.026, 2.763, 3.641",\
                 "0.1264, 0.1612, 0.2462, 0.3876, 0.6146, 0.9578, 1.427, 2.026, 2.764, 3.639");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.1181, 0.1794, 0.3726, 0.7444, 1.351, 2.211, 3.345, 4.778, 6.529, 8.619",\
                 "0.118, 0.1796, 0.373, 0.7448, 1.35, 2.211, 3.345, 4.785, 6.523, 8.607",\
                 "0.1181, 0.1795, 0.3726, 0.7444, 1.353, 2.213, 3.35, 4.776, 6.532, 8.608",\
                 "0.1186, 0.1794, 0.3726, 0.745, 1.353, 2.214, 3.347, 4.778, 6.53, 8.621",\
                 "0.1194, 0.1796, 0.374, 0.7448, 1.35, 2.215, 3.346, 4.776, 6.527, 8.616",\
                 "0.1206, 0.1814, 0.375, 0.7454, 1.35, 2.215, 3.346, 4.774, 6.526, 8.608",\
                 "0.1224, 0.1834, 0.3772, 0.7462, 1.35, 2.211, 3.35, 4.775, 6.522, 8.606",\
                 "0.1254, 0.1858, 0.38, 0.7476, 1.35, 2.209, 3.342, 4.78, 6.514, 8.601",\
                 "0.1288, 0.1892, 0.3826, 0.7494, 1.352, 2.211, 3.346, 4.772, 6.526, 8.594",\
                 "0.133, 0.1932, 0.3862, 0.7508, 1.351, 2.213, 3.343, 4.777, 6.514, 8.61");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.4913, 0.5365, 0.6481, 0.802, 0.9945, 1.232, 1.527, 1.889, 2.329, 2.852",\
                 "0.5061, 0.5514, 0.663, 0.817, 1.009, 1.247, 1.542, 1.904, 2.344, 2.867",\
                 "0.5425, 0.588, 0.6997, 0.8537, 1.046, 1.284, 1.578, 1.941, 2.381, 2.904",\
                 "0.6194, 0.6644, 0.7757, 0.9297, 1.122, 1.36, 1.655, 2.017, 2.457, 2.98",\
                 "0.735, 0.7823, 0.8981, 1.056, 1.251, 1.49, 1.784, 2.147, 2.586, 3.11",\
                 "0.8901, 0.9396, 1.06, 1.223, 1.423, 1.666, 1.963, 2.326, 2.765, 3.288",\
                 "1.079, 1.131, 1.259, 1.43, 1.636, 1.883, 2.182, 2.546, 2.986, 3.509",\
                 "1.294, 1.351, 1.486, 1.667, 1.884, 2.139, 2.443, 2.808, 3.249, 3.772",\
                 "1.535, 1.595, 1.74, 1.931, 2.161, 2.428, 2.741, 3.112, 3.554, 4.077",\
                 "1.8, 1.864, 2.017, 2.221, 2.463, 2.743, 3.069, 3.451, 3.9, 4.425");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.3867, 0.4336, 0.5705, 0.8014, 1.151, 1.64, 2.283, 3.093, 4.082, 5.263",\
                 "0.3977, 0.4448, 0.5816, 0.8121, 1.162, 1.651, 2.295, 3.106, 4.093, 5.274",\
                 "0.4414, 0.4887, 0.6254, 0.8558, 1.205, 1.694, 2.338, 3.149, 4.138, 5.314",\
                 "0.5252, 0.5725, 0.7087, 0.938, 1.286, 1.775, 2.418, 3.228, 4.216, 5.397",\
                 "0.6058, 0.6537, 0.7921, 1.022, 1.369, 1.856, 2.499, 3.31, 4.299, 5.478",\
                 "0.671, 0.7211, 0.8616, 1.092, 1.438, 1.924, 2.566, 3.375, 4.363, 5.54",\
                 "0.7173, 0.7698, 0.9144, 1.147, 1.492, 1.977, 2.618, 3.426, 4.413, 5.591",\
                 "0.7419, 0.7978, 0.9479, 1.184, 1.531, 2.014, 2.653, 3.462, 4.449, 5.626",\
                 "0.7439, 0.8035, 0.9595, 1.203, 1.552, 2.038, 2.678, 3.484, 4.47, 5.646",\
                 "0.7213, 0.7844, 0.9471, 1.196, 1.551, 2.041, 2.684, 3.49, 4.475, 5.651");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.1403, 0.1818, 0.2873, 0.4526, 0.6862, 1.016, 1.465, 2.051, 2.779, 3.657",\
                 "0.1405, 0.182, 0.2873, 0.4522, 0.6857, 1.016, 1.465, 2.051, 2.78, 3.656",\
                 "0.1404, 0.1821, 0.2874, 0.4522, 0.6862, 1.016, 1.465, 2.051, 2.78, 3.657",\
                 "0.1422, 0.1838, 0.2892, 0.4538, 0.687, 1.016, 1.465, 2.052, 2.78, 3.655",\
                 "0.1558, 0.1984, 0.3046, 0.4658, 0.6942, 1.021, 1.468, 2.052, 2.781, 3.655",\
                 "0.1712, 0.2152, 0.3232, 0.4864, 0.714, 1.034, 1.475, 2.055, 2.78, 3.658",\
                 "0.1928, 0.2402, 0.3516, 0.513, 0.7396, 1.054, 1.487, 2.061, 2.785, 3.659",\
                 "0.2188, 0.2688, 0.3854, 0.5536, 0.7786, 1.087, 1.508, 2.074, 2.789, 3.658",\
                 "0.2464, 0.3016, 0.4248, 0.597, 0.8286, 1.137, 1.551, 2.1, 2.802, 3.664",\
                 "0.275, 0.3338, 0.466, 0.644, 0.8818, 1.198, 1.614, 2.157, 2.84, 3.687");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008998, 0.03707, 0.09069, 0.1742, 0.2914, 0.4456, 0.6399, 0.8771, 1.16");
          values("0.1178, 0.179, 0.3736, 0.7459, 1.354, 2.211, 3.345, 4.777, 6.524, 8.6",\
                 "0.1176, 0.1789, 0.3733, 0.7454, 1.352, 2.213, 3.347, 4.776, 6.525, 8.6",\
                 "0.1175, 0.1788, 0.3734, 0.7452, 1.354, 2.212, 3.346, 4.778, 6.523, 8.598",\
                 "0.12, 0.1808, 0.3744, 0.7462, 1.352, 2.212, 3.347, 4.775, 6.518, 8.602",\
                 "0.1302, 0.1902, 0.3838, 0.7518, 1.355, 2.213, 3.347, 4.774, 6.519, 8.602",\
                 "0.1444, 0.2026, 0.3948, 0.7586, 1.357, 2.215, 3.351, 4.773, 6.519, 8.601",\
                 "0.161, 0.2196, 0.411, 0.7676, 1.361, 2.217, 3.35, 4.783, 6.517, 8.598",\
                 "0.182, 0.239, 0.4296, 0.7854, 1.371, 2.221, 3.356, 4.779, 6.523, 8.596",\
                 "0.2044, 0.2626, 0.4542, 0.807, 1.391, 2.239, 3.358, 4.78, 6.523, 8.604",\
                 "0.2254, 0.2868, 0.478, 0.832, 1.415, 2.262, 3.377, 4.789, 6.527, 8.599");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__and2_1) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "4.45071e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "4.51836e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "6.17265e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "5.55984e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.17265e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.002759 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008944, 0.0089, 0.008874, 0.00886, 0.00887, 0.008895, 0.008883, \
                 0.008883, 0.00888, 0.008873");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005743, -0.005739, -0.005747, -0.005736, -0.005743, -0.005756, \
                 -0.005744, -0.005763, -0.005769, -0.005779");
        }
      }
    }

    pin(A2) {
      capacitance : 0.002753 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008837, 0.008247, 0.007997, 0.007989, 0.00797, 0.007979, 0.007968, \
                 0.007967, 0.007972, 0.007982");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007982, -0.007972, -0.007954, -0.007952, -0.007936, -0.007953, \
                 -0.007956, -0.007971, -0.007963, -0.007956");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2)" ;
      max_capacitance : 0.3579 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.07656, 0.07604, 0.07574, 0.07547, 0.07537, 0.07536, 0.07532, 0.0753, 0.07528, 0.07527",\
                 "0.07614, 0.07559, 0.07536, 0.07509, 0.075, 0.07495, 0.07495, 0.07496, 0.07489, 0.07488",\
                 "0.07669, 0.07607, 0.07562, 0.07543, 0.07534, 0.07535, 0.07534, 0.07532, 0.07531, 0.0753",\
                 "0.08268, 0.08165, 0.0803, 0.07964, 0.07936, 0.0792, 0.07914, 0.0791, 0.07907, 0.07905",\
                 "0.09434, 0.09263, 0.09015, 0.0887, 0.08792, 0.08755, 0.0873, 0.08711, 0.08706, 0.08705",\
                 "0.1118, 0.1094, 0.1057, 0.1031, 0.1016, 0.1009, 0.1003, 0.1001, 0.09992, 0.09977",\
                 "0.1356, 0.1325, 0.1272, 0.1234, 0.1211, 0.1197, 0.1189, 0.1184, 0.1181, 0.1178",\
                 "0.1658, 0.1621, 0.1552, 0.15, 0.1466, 0.1445, 0.1432, 0.1424, 0.1418, 0.1415",\
                 "0.2024, 0.1981, 0.1897, 0.1831, 0.1785, 0.1755, 0.1737, 0.1724, 0.1715, 0.171",\
                 "0.2456, 0.2409, 0.2309, 0.2227, 0.217, 0.213, 0.2104, 0.2087, 0.2076, 0.2067");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.04489, 0.04434, 0.04376, 0.04383, 0.04394, 0.044, 0.04389, 0.04401, 0.04344, 0.0467",\
                 "0.04458, 0.04393, 0.04351, 0.04347, 0.04374, 0.0437, 0.04385, 0.04381, 0.04311, 0.04571",\
                 "0.04526, 0.04463, 0.04387, 0.04376, 0.04381, 0.04386, 0.04405, 0.04404, 0.04422, 0.04651",\
                 "0.05031, 0.04931, 0.04765, 0.047, 0.04671, 0.04667, 0.04653, 0.04632, 0.04633, 0.05019",\
                 "0.05968, 0.05834, 0.05605, 0.05429, 0.05348, 0.0533, 0.05313, 0.05311, 0.05316, 0.05708",\
                 "0.07423, 0.07243, 0.06937, 0.06706, 0.06529, 0.06413, 0.06359, 0.06354, 0.06357, 0.06754",\
                 "0.09421, 0.09194, 0.08801, 0.08462, 0.08235, 0.08063, 0.07949, 0.07833, 0.07885, 0.0849",\
                 "0.1199, 0.117, 0.1121, 0.1079, 0.1048, 0.1027, 0.1012, 0.09908, 0.0991, 0.1064",\
                 "0.1512, 0.1477, 0.1419, 0.1366, 0.1324, 0.1298, 0.1278, 0.1263, 0.1248, 0.1359",\
                 "0.1885, 0.1845, 0.1776, 0.1713, 0.1661, 0.1629, 0.1603, 0.1584, 0.1578, 0.1744");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.08446, 0.08378, 0.08307, 0.08271, 0.08254, 0.0824, 0.08234, 0.0823, 0.08228, 0.08227",\
                 "0.08404, 0.08338, 0.08272, 0.08232, 0.08212, 0.08204, 0.08198, 0.08193, 0.08191, 0.08189",\
                 "0.08481, 0.08408, 0.0833, 0.08287, 0.08276, 0.08268, 0.08262, 0.08259, 0.08257, 0.08256",\
                 "0.09104, 0.08982, 0.08828, 0.08742, 0.08704, 0.08684, 0.08672, 0.08666, 0.08662, 0.08659",\
                 "0.1033, 0.1015, 0.09881, 0.0971, 0.09625, 0.09574, 0.09552, 0.09533, 0.09522, 0.09515",\
                 "0.1218, 0.1193, 0.1154, 0.1125, 0.111, 0.11, 0.1095, 0.1092, 0.109, 0.1088",\
                 "0.1468, 0.1436, 0.1381, 0.1342, 0.1316, 0.1302, 0.1294, 0.1287, 0.1284, 0.1281",\
                 "0.1784, 0.1747, 0.1677, 0.1623, 0.1587, 0.1564, 0.155, 0.1541, 0.1536, 0.1532",\
                 "0.2168, 0.2126, 0.2041, 0.1972, 0.1924, 0.1892, 0.1872, 0.1859, 0.185, 0.1844",\
                 "0.2622, 0.2576, 0.2476, 0.2391, 0.233, 0.2288, 0.226, 0.2242, 0.2229, 0.222");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.04485, 0.04422, 0.04366, 0.04376, 0.04397, 0.04406, 0.04402, 0.04401, 0.044, 0.04604",\
                 "0.04456, 0.04394, 0.04338, 0.04337, 0.04351, 0.04353, 0.04339, 0.04361, 0.04298, 0.04637",\
                 "0.0448, 0.04416, 0.04345, 0.0434, 0.04345, 0.04347, 0.04332, 0.04318, 0.04375, 0.04585",\
                 "0.04889, 0.04798, 0.04657, 0.04604, 0.04592, 0.04591, 0.0457, 0.04546, 0.0462, 0.0493",\
                 "0.05781, 0.05654, 0.05461, 0.05314, 0.05249, 0.05221, 0.05197, 0.05222, 0.05227, 0.05609",\
                 "0.07224, 0.0706, 0.06777, 0.06578, 0.0644, 0.06356, 0.06326, 0.06305, 0.06251, 0.06764",\
                 "0.0924, 0.09029, 0.08661, 0.08369, 0.08192, 0.08033, 0.07936, 0.07869, 0.07865, 0.08442",\
                 "0.1183, 0.1158, 0.1111, 0.1072, 0.1047, 0.1029, 0.1015, 0.09938, 0.09943, 0.1065",\
                 "0.1503, 0.1471, 0.1417, 0.1368, 0.1335, 0.1314, 0.1294, 0.1272, 0.1264, 0.1369",\
                 "0.1885, 0.1848, 0.1784, 0.1724, 0.1682, 0.1655, 0.1629, 0.1615, 0.161, 0.1753");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.2734, 0.3059, 0.3953, 0.5331, 0.729, 0.9981, 1.352, 1.797, 2.341, 2.989",\
                 "0.2901, 0.3226, 0.412, 0.5496, 0.7455, 1.015, 1.368, 1.814, 2.357, 3.005",\
                 "0.356, 0.3882, 0.4776, 0.6152, 0.8113, 1.08, 1.434, 1.879, 2.423, 3.071",\
                 "0.4777, 0.5115, 0.6029, 0.7415, 0.9376, 1.207, 1.56, 2.005, 2.549, 3.197",\
                 "0.6264, 0.6631, 0.7605, 0.9039, 1.102, 1.371, 1.724, 2.169, 2.713, 3.361",\
                 "0.8013, 0.8418, 0.9464, 1.097, 1.297, 1.568, 1.92, 2.365, 2.908, 3.556",\
                 "1, 1.045, 1.159, 1.319, 1.526, 1.797, 2.15, 2.595, 3.137, 3.784",\
                 "1.224, 1.273, 1.398, 1.568, 1.785, 2.063, 2.418, 2.862, 3.405, 4.051",\
                 "1.474, 1.527, 1.662, 1.845, 2.071, 2.358, 2.721, 3.169, 3.712, 4.358",\
                 "1.752, 1.808, 1.954, 2.149, 2.387, 2.683, 3.055, 3.512, 4.06, 4.708");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.3056, 0.3479, 0.4764, 0.7029, 1.051, 1.539, 2.181, 2.99, 3.976, 5.15",\
                 "0.3158, 0.3578, 0.4868, 0.7133, 1.062, 1.549, 2.191, 2.999, 3.987, 5.162",\
                 "0.3581, 0.4003, 0.5284, 0.7544, 1.102, 1.591, 2.232, 3.04, 4.028, 5.204",\
                 "0.4188, 0.4615, 0.5905, 0.8161, 1.163, 1.651, 2.293, 3.101, 4.088, 5.262",\
                 "0.4672, 0.5108, 0.6413, 0.8671, 1.214, 1.7, 2.342, 3.15, 4.136, 5.313",\
                 "0.5002, 0.5458, 0.6792, 0.9049, 1.25, 1.737, 2.377, 3.184, 4.171, 5.348",\
                 "0.5126, 0.5606, 0.6989, 0.928, 1.273, 1.758, 2.399, 3.205, 4.191, 5.367",\
                 "0.5005, 0.5514, 0.6957, 0.9304, 1.279, 1.766, 2.404, 3.211, 4.196, 5.369",\
                 "0.4617, 0.5156, 0.6658, 0.9069, 1.261, 1.753, 2.394, 3.2, 4.183, 5.356",\
                 "0.3946, 0.4517, 0.6082, 0.8558, 1.216, 1.715, 2.362, 3.171, 4.154, 5.328");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.1067, 0.1406, 0.2427, 0.4288, 0.734, 1.178, 1.77, 2.519, 3.432, 4.521",\
                 "0.1067, 0.1404, 0.2428, 0.4288, 0.7338, 1.178, 1.77, 2.519, 3.432, 4.521",\
                 "0.1072, 0.1412, 0.243, 0.4288, 0.7338, 1.178, 1.77, 2.519, 3.433, 4.521",\
                 "0.1198, 0.1524, 0.2505, 0.4326, 0.7348, 1.179, 1.771, 2.519, 3.432, 4.521",\
                 "0.141, 0.1738, 0.2718, 0.4476, 0.7416, 1.18, 1.771, 2.519, 3.432, 4.521",\
                 "0.167, 0.2014, 0.2988, 0.4686, 0.7532, 1.185, 1.773, 2.518, 3.432, 4.52",\
                 "0.1958, 0.2334, 0.3332, 0.5004, 0.7754, 1.196, 1.776, 2.519, 3.43, 4.518",\
                 "0.2262, 0.2672, 0.3712, 0.5398, 0.8108, 1.222, 1.789, 2.525, 3.432, 4.517",\
                 "0.2582, 0.303, 0.4138, 0.5844, 0.852, 1.261, 1.824, 2.545, 3.442, 4.521",\
                 "0.2908, 0.3398, 0.4586, 0.6324, 0.8976, 1.307, 1.873, 2.59, 3.472, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.1354, 0.1928, 0.3833, 0.7639, 1.374, 2.234, 3.364, 4.789, 6.531, 8.607",\
                 "0.1358, 0.1927, 0.3833, 0.7639, 1.374, 2.233, 3.365, 4.792, 6.53, 8.607",\
                 "0.1359, 0.193, 0.3835, 0.764, 1.374, 2.233, 3.365, 4.792, 6.53, 8.607",\
                 "0.1435, 0.2008, 0.3886, 0.765, 1.374, 2.233, 3.364, 4.789, 6.531, 8.607",\
                 "0.1538, 0.2102, 0.3966, 0.7696, 1.375, 2.233, 3.363, 4.791, 6.533, 8.603",\
                 "0.168, 0.2244, 0.409, 0.7752, 1.379, 2.236, 3.364, 4.79, 6.529, 8.604",\
                 "0.187, 0.2426, 0.4276, 0.7882, 1.382, 2.24, 3.365, 4.789, 6.525, 8.602",\
                 "0.2088, 0.2638, 0.4498, 0.8086, 1.399, 2.246, 3.369, 4.788, 6.528, 8.601",\
                 "0.2318, 0.2884, 0.4744, 0.8328, 1.425, 2.267, 3.381, 4.794, 6.525, 8.594",\
                 "0.2564, 0.3142, 0.501, 0.859, 1.455, 2.305, 3.411, 4.811, 6.531, 8.599");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.2976, 0.3313, 0.4226, 0.5615, 0.7578, 1.027, 1.381, 1.826, 2.369, 3.017",\
                 "0.3142, 0.3479, 0.4392, 0.5781, 0.7745, 1.044, 1.397, 1.842, 2.386, 3.033",\
                 "0.3817, 0.4153, 0.5064, 0.6454, 0.8419, 1.111, 1.465, 1.91, 2.453, 3.101",\
                 "0.5111, 0.5455, 0.6378, 0.7772, 0.9737, 1.243, 1.596, 2.042, 2.585, 3.233",\
                 "0.6737, 0.7116, 0.81, 0.9543, 1.152, 1.421, 1.774, 2.219, 2.762, 3.41",\
                 "0.8692, 0.9106, 1.016, 1.166, 1.366, 1.636, 1.989, 2.434, 2.976, 3.624",\
                 "1.097, 1.143, 1.257, 1.415, 1.621, 1.891, 2.244, 2.689, 3.231, 3.879",\
                 "1.359, 1.409, 1.533, 1.702, 1.915, 2.19, 2.544, 2.988, 3.531, 4.177",\
                 "1.657, 1.711, 1.846, 2.025, 2.247, 2.53, 2.888, 3.334, 3.877, 4.523",\
                 "1.992, 2.05, 2.195, 2.386, 2.619, 2.91, 3.277, 3.728, 4.274, 4.921");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.3192, 0.3615, 0.4901, 0.7168, 1.065, 1.553, 2.195, 3.003, 3.989, 5.166",\
                 "0.3277, 0.37, 0.4987, 0.7253, 1.073, 1.561, 2.203, 3.012, 3.999, 5.173",\
                 "0.3516, 0.3938, 0.522, 0.7482, 1.096, 1.584, 2.226, 3.035, 4.02, 5.198",\
                 "0.3869, 0.4301, 0.5596, 0.7854, 1.133, 1.621, 2.263, 3.071, 4.058, 5.232",\
                 "0.4135, 0.4577, 0.5895, 0.8155, 1.163, 1.65, 2.291, 3.098, 4.086, 5.262",\
                 "0.4205, 0.4666, 0.6025, 0.8303, 1.177, 1.663, 2.303, 3.111, 4.098, 5.274",\
                 "0.4011, 0.4495, 0.5906, 0.8242, 1.172, 1.658, 2.297, 3.104, 4.09, 5.265",\
                 "0.3506, 0.4017, 0.5487, 0.7885, 1.143, 1.632, 2.271, 3.077, 4.061, 5.235",\
                 "0.2667, 0.3204, 0.4735, 0.7204, 1.082, 1.578, 2.222, 3.027, 4.012, 5.185",\
                 "0.147, 0.2042, 0.3624, 0.6162, 0.9857, 1.492, 2.145, 2.956, 3.94, 5.113");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.1138, 0.1475, 0.2478, 0.432, 0.7354, 1.179, 1.771, 2.519, 3.431, 4.52",\
                 "0.1135, 0.1474, 0.2478, 0.4319, 0.7352, 1.179, 1.771, 2.519, 3.432, 4.519",\
                 "0.1138, 0.1476, 0.2482, 0.432, 0.7355, 1.179, 1.771, 2.519, 3.431, 4.519",\
                 "0.1244, 0.1562, 0.2538, 0.4348, 0.7364, 1.179, 1.771, 2.519, 3.432, 4.521",\
                 "0.146, 0.1786, 0.275, 0.449, 0.7418, 1.181, 1.771, 2.518, 3.432, 4.521",\
                 "0.1708, 0.2052, 0.2992, 0.4682, 0.7532, 1.185, 1.773, 2.519, 3.431, 4.52",\
                 "0.1984, 0.2358, 0.3312, 0.4954, 0.7702, 1.194, 1.776, 2.519, 3.431, 4.519",\
                 "0.2278, 0.2694, 0.3702, 0.532, 0.7994, 1.212, 1.785, 2.524, 3.432, 4.519",\
                 "0.2596, 0.3052, 0.4098, 0.5728, 0.8372, 1.244, 1.808, 2.536, 3.438, 4.521",\
                 "0.2926, 0.342, 0.4556, 0.6188, 0.8796, 1.285, 1.847, 2.568, 3.455, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05436, 0.09046, 0.138, 0.1978, 0.2709, 0.3579");
          values("0.1357, 0.1931, 0.3834, 0.7629, 1.374, 2.233, 3.363, 4.791, 6.532, 8.607",\
                 "0.136, 0.193, 0.3832, 0.7635, 1.374, 2.234, 3.364, 4.789, 6.53, 8.607",\
                 "0.1359, 0.193, 0.3835, 0.7635, 1.373, 2.234, 3.365, 4.79, 6.532, 8.607",\
                 "0.143, 0.2, 0.3879, 0.765, 1.374, 2.234, 3.365, 4.789, 6.529, 8.607",\
                 "0.1522, 0.2096, 0.3966, 0.7682, 1.373, 2.233, 3.365, 4.792, 6.532, 8.607",\
                 "0.1664, 0.2242, 0.4114, 0.776, 1.377, 2.233, 3.362, 4.788, 6.53, 8.603",\
                 "0.1836, 0.2416, 0.4322, 0.7938, 1.385, 2.235, 3.363, 4.788, 6.526, 8.602",\
                 "0.2028, 0.2606, 0.4544, 0.8176, 1.409, 2.247, 3.367, 4.785, 6.522, 8.6",\
                 "0.224, 0.2824, 0.4774, 0.8454, 1.44, 2.281, 3.386, 4.792, 6.525, 8.592",\
                 "0.247, 0.3064, 0.5012, 0.8734, 1.475, 2.322, 3.427, 4.817, 6.534, 8.597");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__and2_2) {
    area : 19.756800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "5.58426e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "5.59218e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "7.21677e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "6.6924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.21677e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.0044 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01638, 0.01634, 0.01626, 0.0163, 0.01627, 0.01629, 0.01628, \
                 0.01628, 0.01628, 0.01628");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0102, -0.0102, -0.0102, -0.01023, -0.0102, -0.01025, -0.01026, \
                 -0.01028, -0.01028, -0.0103");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004437 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01598, 0.01472, 0.01428, 0.01428, 0.01424, 0.01428, 0.01426, \
                 0.01426, 0.01428, 0.01427");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01428, -0.01424, -0.01423, -0.01421, -0.01418, -0.01423, -0.0142, \
                 -0.01422, -0.01422, -0.01423");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2)" ;
      max_capacitance : 0.7179 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1321, 0.1301, 0.1286, 0.1286, 0.1283, 0.1284, 0.1284, 0.1284, 0.1284, 0.1284",\
                 "0.1311, 0.129, 0.1278, 0.1277, 0.1275, 0.1273, 0.1274, 0.1274, 0.1274, 0.1274",\
                 "0.1316, 0.1293, 0.1278, 0.1276, 0.1276, 0.1275, 0.1276, 0.1276, 0.1276, 0.1276",\
                 "0.1433, 0.1397, 0.1361, 0.1345, 0.1342, 0.1339, 0.1338, 0.1337, 0.1337, 0.1337",\
                 "0.1644, 0.1592, 0.153, 0.1499, 0.1485, 0.1477, 0.1474, 0.1472, 0.1471, 0.147",\
                 "0.1956, 0.1888, 0.1796, 0.1743, 0.1717, 0.1703, 0.1692, 0.1688, 0.1686, 0.1684",\
                 "0.2371, 0.2289, 0.2164, 0.2087, 0.2042, 0.2017, 0.2003, 0.1994, 0.1988, 0.1984",\
                 "0.2898, 0.2804, 0.2642, 0.2536, 0.2472, 0.2433, 0.2409, 0.2396, 0.2386, 0.2379",\
                 "0.3532, 0.3427, 0.3232, 0.3095, 0.3007, 0.2952, 0.2918, 0.2898, 0.2884, 0.2873",\
                 "0.4278, 0.4167, 0.394, 0.3768, 0.3656, 0.3584, 0.3537, 0.3506, 0.3485, 0.3472");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.07537, 0.07397, 0.07329, 0.07409, 0.07531, 0.07645, 0.07788, 0.07925, 0.08048, 0.0891",\
                 "0.07485, 0.07366, 0.07276, 0.07343, 0.07472, 0.07612, 0.07725, 0.07925, 0.08183, 0.08745",\
                 "0.07632, 0.07464, 0.07333, 0.07366, 0.07469, 0.07609, 0.07755, 0.07892, 0.08084, 0.08972",\
                 "0.08591, 0.08327, 0.08063, 0.07957, 0.07987, 0.0813, 0.08256, 0.08453, 0.08711, 0.09378",\
                 "0.1033, 0.09978, 0.09473, 0.0927, 0.09188, 0.09236, 0.09339, 0.09476, 0.09638, 0.1054",\
                 "0.1299, 0.125, 0.1183, 0.1135, 0.1129, 0.1128, 0.1126, 0.1132, 0.1145, 0.1253",\
                 "0.1659, 0.1598, 0.151, 0.1446, 0.1404, 0.1407, 0.1408, 0.141, 0.142, 0.1543",\
                 "0.2119, 0.204, 0.1931, 0.1844, 0.1786, 0.1764, 0.1782, 0.1778, 0.1783, 0.1931",\
                 "0.2676, 0.258, 0.2449, 0.2339, 0.2271, 0.2226, 0.2209, 0.2244, 0.225, 0.2476",\
                 "0.334, 0.3226, 0.3066, 0.2944, 0.2852, 0.2786, 0.2752, 0.2752, 0.282, 0.3164");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1492, 0.1465, 0.1443, 0.1437, 0.1432, 0.143, 0.143, 0.143, 0.1429, 0.1429",\
                 "0.1483, 0.1455, 0.1433, 0.1426, 0.1424, 0.1423, 0.1422, 0.142, 0.1421, 0.142",\
                 "0.1493, 0.1464, 0.144, 0.1432, 0.1431, 0.1429, 0.1428, 0.1428, 0.1428, 0.1428",\
                 "0.161, 0.157, 0.1528, 0.1508, 0.1501, 0.1498, 0.1496, 0.1496, 0.1495, 0.1494",\
                 "0.1831, 0.1777, 0.1707, 0.1672, 0.1654, 0.1645, 0.164, 0.1638, 0.1636, 0.1635",\
                 "0.2153, 0.2084, 0.1987, 0.1929, 0.1898, 0.1882, 0.1873, 0.1867, 0.1864, 0.1862",\
                 "0.2584, 0.2504, 0.2374, 0.2292, 0.2243, 0.2216, 0.2201, 0.2191, 0.2184, 0.2181",\
                 "0.3126, 0.3037, 0.2873, 0.2763, 0.2693, 0.2653, 0.2628, 0.2612, 0.2602, 0.2596",\
                 "0.3786, 0.3684, 0.3488, 0.3347, 0.3254, 0.3196, 0.3161, 0.3138, 0.3123, 0.3112",\
                 "0.456, 0.4448, 0.4223, 0.4049, 0.3931, 0.3855, 0.3806, 0.3773, 0.3751, 0.3737");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.07542, 0.074, 0.07335, 0.07416, 0.07525, 0.07648, 0.07788, 0.07958, 0.0815, 0.08811",\
                 "0.07477, 0.07324, 0.07259, 0.07346, 0.07469, 0.07619, 0.07722, 0.07859, 0.08084, 0.08712",\
                 "0.07531, 0.0736, 0.07239, 0.073, 0.07403, 0.07556, 0.07672, 0.07826, 0.08051, 0.08774",\
                 "0.08275, 0.0804, 0.07823, 0.07769, 0.07828, 0.07969, 0.08085, 0.08255, 0.08447, 0.09246",\
                 "0.0989, 0.09554, 0.09149, 0.09019, 0.08983, 0.09025, 0.09147, 0.09278, 0.09539, 0.1041",\
                 "0.1248, 0.1202, 0.1145, 0.1101, 0.11, 0.11, 0.1101, 0.1109, 0.1126, 0.1229",\
                 "0.1609, 0.1552, 0.147, 0.1414, 0.138, 0.1389, 0.1389, 0.1393, 0.14, 0.1523",\
                 "0.2066, 0.1995, 0.1892, 0.1814, 0.1765, 0.1748, 0.1759, 0.1769, 0.1773, 0.193",\
                 "0.2628, 0.2543, 0.242, 0.2326, 0.225, 0.2214, 0.2202, 0.2227, 0.225, 0.2456",\
                 "0.3299, 0.3199, 0.3052, 0.2937, 0.2852, 0.2797, 0.277, 0.2768, 0.2819, 0.3151");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.2498, 0.2864, 0.3796, 0.5183, 0.715, 0.9854, 1.34, 1.787, 2.334, 2.986",\
                 "0.2656, 0.3022, 0.3953, 0.5341, 0.7308, 1.001, 1.356, 1.804, 2.35, 3.002",\
                 "0.3303, 0.3667, 0.4596, 0.5983, 0.795, 1.065, 1.421, 1.868, 2.414, 3.066",\
                 "0.4484, 0.4867, 0.5822, 0.7222, 0.9189, 1.189, 1.544, 1.991, 2.537, 3.187",\
                 "0.5903, 0.6325, 0.7346, 0.8794, 1.078, 1.349, 1.703, 2.15, 2.695, 3.346",\
                 "0.7586, 0.805, 0.9149, 1.066, 1.267, 1.537, 1.893, 2.339, 2.884, 3.534",\
                 "0.9521, 1.003, 1.122, 1.282, 1.488, 1.76, 2.114, 2.56, 3.105, 3.755",\
                 "1.171, 1.226, 1.356, 1.526, 1.74, 2.016, 2.371, 2.818, 3.363, 4.012",\
                 "1.415, 1.475, 1.615, 1.798, 2.021, 2.305, 2.665, 3.113, 3.658, 4.308",\
                 "1.687, 1.751, 1.902, 2.096, 2.331, 2.624, 2.992, 3.447, 3.994, 4.643");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.253, 0.2972, 0.4264, 0.6534, 1.003, 1.493, 2.138, 2.949, 3.939, 5.125",\
                 "0.2641, 0.3085, 0.4376, 0.6646, 1.014, 1.505, 2.15, 2.962, 3.955, 5.137",\
                 "0.3092, 0.3531, 0.4815, 0.7082, 1.058, 1.548, 2.193, 3.004, 3.994, 5.18",\
                 "0.3687, 0.4137, 0.5433, 0.7693, 1.118, 1.609, 2.254, 3.065, 4.058, 5.236",\
                 "0.4149, 0.4616, 0.5927, 0.8179, 1.167, 1.656, 2.301, 3.111, 4.102, 5.286",\
                 "0.445, 0.4939, 0.6286, 0.8538, 1.201, 1.69, 2.333, 3.145, 4.136, 5.318",\
                 "0.4534, 0.5059, 0.646, 0.8748, 1.22, 1.708, 2.351, 3.162, 4.154, 5.335",\
                 "0.4376, 0.4937, 0.6401, 0.8735, 1.223, 1.711, 2.353, 3.163, 4.152, 5.332",\
                 "0.3954, 0.4553, 0.6089, 0.8469, 1.202, 1.694, 2.338, 3.146, 4.135, 5.315",\
                 "0.3257, 0.3892, 0.5496, 0.7943, 1.152, 1.651, 2.301, 3.112, 4.1, 5.279");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.08412, 0.1207, 0.2244, 0.4117, 0.7204, 1.166, 1.761, 2.515, 3.43, 4.533",\
                 "0.08414, 0.1208, 0.2243, 0.4116, 0.72, 1.167, 1.762, 2.513, 3.436, 4.533",\
                 "0.08436, 0.1214, 0.2256, 0.4129, 0.7198, 1.165, 1.763, 2.515, 3.434, 4.531",\
                 "0.09852, 0.1337, 0.2339, 0.416, 0.7208, 1.166, 1.763, 2.514, 3.433, 4.529",\
                 "0.1174, 0.154, 0.254, 0.4306, 0.727, 1.168, 1.762, 2.515, 3.434, 4.531",\
                 "0.1402, 0.1798, 0.2784, 0.449, 0.7364, 1.173, 1.764, 2.512, 3.43, 4.53",\
                 "0.1638, 0.2074, 0.3104, 0.4766, 0.7524, 1.18, 1.766, 2.513, 3.429, 4.524",\
                 "0.1916, 0.2404, 0.3454, 0.512, 0.7822, 1.198, 1.773, 2.517, 3.43, 4.521",\
                 "0.2194, 0.271, 0.3864, 0.5532, 0.8202, 1.231, 1.798, 2.529, 3.434, 4.522",\
                 "0.2472, 0.3044, 0.4272, 0.5992, 0.8626, 1.272, 1.84, 2.561, 3.451, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.09558, 0.1531, 0.3456, 0.73, 1.342, 2.206, 3.343, 4.777, 6.529, 8.611",\
                 "0.09532, 0.1535, 0.3453, 0.7298, 1.342, 2.206, 3.344, 4.773, 6.525, 8.604",\
                 "0.09578, 0.1545, 0.3455, 0.7294, 1.343, 2.21, 3.343, 4.777, 6.53, 8.611",\
                 "0.104, 0.1618, 0.3511, 0.7316, 1.345, 2.206, 3.342, 4.774, 6.526, 8.615",\
                 "0.1158, 0.172, 0.3582, 0.7358, 1.347, 2.207, 3.342, 4.777, 6.529, 8.607",\
                 "0.1318, 0.187, 0.3694, 0.739, 1.349, 2.21, 3.343, 4.772, 6.529, 8.605",\
                 "0.1498, 0.205, 0.3876, 0.751, 1.352, 2.211, 3.345, 4.779, 6.518, 8.6",\
                 "0.1726, 0.2278, 0.4084, 0.7686, 1.367, 2.218, 3.346, 4.774, 6.526, 8.598",\
                 "0.193, 0.25, 0.4326, 0.7886, 1.39, 2.237, 3.357, 4.776, 6.518, 8.603",\
                 "0.2146, 0.2746, 0.4582, 0.8122, 1.414, 2.271, 3.382, 4.793, 6.523, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.278, 0.3164, 0.4118, 0.5517, 0.7489, 1.019, 1.374, 1.822, 2.367, 3.019",\
                 "0.2939, 0.3323, 0.4278, 0.5677, 0.7649, 1.035, 1.39, 1.837, 2.383, 3.035",\
                 "0.3604, 0.3986, 0.4938, 0.6338, 0.831, 1.102, 1.457, 1.904, 2.45, 3.101",\
                 "0.4873, 0.527, 0.6237, 0.7643, 0.9612, 1.232, 1.587, 2.034, 2.58, 3.23",\
                 "0.6438, 0.6876, 0.7914, 0.9366, 1.135, 1.405, 1.76, 2.207, 2.753, 3.403",\
                 "0.8321, 0.8797, 0.9908, 1.141, 1.342, 1.613, 1.968, 2.414, 2.96, 3.61",\
                 "1.053, 1.105, 1.225, 1.383, 1.587, 1.859, 2.213, 2.66, 3.205, 3.855",\
                 "1.308, 1.364, 1.494, 1.662, 1.872, 2.145, 2.5, 2.946, 3.492, 4.141",\
                 "1.597, 1.658, 1.799, 1.976, 2.195, 2.474, 2.832, 3.278, 3.823, 4.473",\
                 "1.923, 1.988, 2.139, 2.329, 2.558, 2.844, 3.207, 3.657, 4.202, 4.852");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.2672, 0.3114, 0.4406, 0.6676, 1.018, 1.507, 2.152, 2.965, 3.956, 5.137",\
                 "0.2769, 0.3211, 0.4504, 0.6775, 1.027, 1.518, 2.163, 2.976, 3.968, 5.149",\
                 "0.3042, 0.3481, 0.4768, 0.7036, 1.054, 1.544, 2.189, 3.001, 3.993, 5.177",\
                 "0.3413, 0.3868, 0.5169, 0.7434, 1.093, 1.583, 2.228, 3.04, 4.033, 5.211",\
                 "0.3688, 0.4155, 0.5484, 0.7747, 1.124, 1.612, 2.258, 3.071, 4.061, 5.241",\
                 "0.376, 0.4253, 0.563, 0.7901, 1.138, 1.627, 2.27, 3.081, 4.074, 5.255",\
                 "0.3566, 0.4095, 0.5525, 0.7851, 1.133, 1.621, 2.264, 3.074, 4.065, 5.247",\
                 "0.3074, 0.3637, 0.513, 0.7508, 1.105, 1.595, 2.237, 3.047, 4.036, 5.215",\
                 "0.2259, 0.2865, 0.4422, 0.6856, 1.045, 1.542, 2.188, 2.997, 3.986, 5.165",\
                 "0.1099, 0.1742, 0.3362, 0.5873, 0.9518, 1.456, 2.11, 2.924, 3.912, 5.09");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.09162, 0.1281, 0.2304, 0.4152, 0.7217, 1.167, 1.762, 2.516, 3.435, 4.526",\
                 "0.0922, 0.1281, 0.2303, 0.4146, 0.722, 1.168, 1.763, 2.516, 3.435, 4.523",\
                 "0.09184, 0.1283, 0.2311, 0.4154, 0.722, 1.167, 1.761, 2.515, 3.431, 4.527",\
                 "0.1034, 0.1381, 0.237, 0.4176, 0.7208, 1.168, 1.761, 2.515, 3.434, 4.529",\
                 "0.1228, 0.1598, 0.2568, 0.4314, 0.727, 1.17, 1.762, 2.515, 3.434, 4.526",\
                 "0.1438, 0.1834, 0.2794, 0.448, 0.7374, 1.174, 1.764, 2.513, 3.432, 4.527",\
                 "0.167, 0.2114, 0.309, 0.4716, 0.7486, 1.178, 1.766, 2.514, 3.431, 4.52",\
                 "0.1926, 0.2414, 0.3424, 0.5034, 0.771, 1.19, 1.771, 2.517, 3.429, 4.523",\
                 "0.2202, 0.2722, 0.3808, 0.5402, 0.8028, 1.215, 1.787, 2.524, 3.435, 4.523",\
                 "0.2482, 0.305, 0.4222, 0.5828, 0.8424, 1.249, 1.815, 2.542, 3.443, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.0956, 0.1531, 0.3456, 0.7301, 1.345, 2.207, 3.346, 4.773, 6.521, 8.603",\
                 "0.09536, 0.1533, 0.3452, 0.7302, 1.343, 2.208, 3.343, 4.776, 6.525, 8.604",\
                 "0.09548, 0.154, 0.3458, 0.7301, 1.343, 2.206, 3.344, 4.774, 6.525, 8.607",\
                 "0.1029, 0.1614, 0.3508, 0.732, 1.343, 2.207, 3.343, 4.774, 6.525, 8.615",\
                 "0.1128, 0.171, 0.359, 0.7342, 1.346, 2.209, 3.342, 4.775, 6.519, 8.606",\
                 "0.1278, 0.1852, 0.372, 0.741, 1.346, 2.208, 3.342, 4.771, 6.52, 8.607",\
                 "0.1454, 0.2022, 0.3902, 0.7554, 1.353, 2.21, 3.342, 4.772, 6.516, 8.601",\
                 "0.1652, 0.2224, 0.4118, 0.7762, 1.372, 2.222, 3.344, 4.77, 6.527, 8.596",\
                 "0.1838, 0.243, 0.4334, 0.799, 1.399, 2.245, 3.36, 4.774, 6.516, 8.613",\
                 "0.2046, 0.266, 0.4578, 0.8228, 1.428, 2.284, 3.394, 4.797, 6.522, 8.596");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__and2_4) {
    area : 37.318400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "8.99019e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "9.0057e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "0.000122562" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "0.0001121142" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000122562" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008745 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03401, 0.03393, 0.03387, 0.03383, 0.0338, 0.03386, 0.03384, \
                 0.03384, 0.03382, 0.03382");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02251, -0.02249, -0.02253, -0.02254, -0.02252, -0.02263, -0.02264, \
                 -0.02266, -0.02268, -0.02274");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009062 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03333, 0.03091, 0.03009, 0.03003, 0.02998, 0.03005, 0.03004, \
                 0.03003, 0.03005, 0.03003");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03006, -0.02996, -0.02991, -0.02988, -0.0299, -0.02995, -0.02994, \
                 -0.02992, -0.02994, -0.02997");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2)" ;
      max_capacitance : 1.434 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.246, 0.2427, 0.2413, 0.2415, 0.2418, 0.2416, 0.2416, 0.2417, 0.2417, 0.2417",\
                 "0.2441, 0.2406, 0.2396, 0.2396, 0.2396, 0.2396, 0.2397, 0.2399, 0.2399, 0.2399",\
                 "0.246, 0.2419, 0.24, 0.24, 0.2402, 0.2405, 0.2406, 0.2407, 0.2407, 0.2407",\
                 "0.2696, 0.2628, 0.2564, 0.2541, 0.2536, 0.2533, 0.2534, 0.2533, 0.2532, 0.2532",\
                 "0.3121, 0.3017, 0.2899, 0.2851, 0.2826, 0.2812, 0.2809, 0.2808, 0.2806, 0.2802",\
                 "0.3748, 0.361, 0.3436, 0.3337, 0.3291, 0.3265, 0.3251, 0.3242, 0.3239, 0.3235",\
                 "0.4583, 0.4417, 0.4174, 0.4027, 0.3951, 0.3903, 0.3876, 0.386, 0.3851, 0.3844",\
                 "0.5631, 0.5441, 0.5127, 0.4926, 0.4802, 0.4735, 0.4696, 0.4669, 0.4652, 0.464",\
                 "0.6896, 0.6686, 0.6303, 0.604, 0.5876, 0.5777, 0.5715, 0.5676, 0.5651, 0.5632",\
                 "0.8387, 0.8158, 0.7712, 0.7385, 0.7174, 0.7042, 0.6954, 0.6898, 0.686, 0.6834");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.1514, 0.1483, 0.1469, 0.1487, 0.151, 0.1539, 0.1556, 0.1584, 0.1633, 0.177",\
                 "0.1502, 0.1469, 0.1456, 0.1472, 0.1497, 0.152, 0.1546, 0.1584, 0.1611, 0.1757",\
                 "0.1532, 0.1494, 0.1468, 0.1473, 0.1495, 0.1523, 0.1549, 0.1584, 0.1617, 0.1769",\
                 "0.1724, 0.167, 0.1613, 0.1593, 0.1602, 0.1625, 0.1658, 0.1696, 0.172, 0.1873",\
                 "0.2078, 0.1998, 0.1901, 0.1863, 0.1848, 0.186, 0.1879, 0.1924, 0.1945, 0.2122",\
                 "0.2618, 0.2518, 0.2368, 0.2285, 0.2277, 0.2265, 0.2262, 0.2283, 0.2318, 0.2534",\
                 "0.3351, 0.3217, 0.3036, 0.2895, 0.2839, 0.2836, 0.2846, 0.2851, 0.287, 0.3122",\
                 "0.4279, 0.4108, 0.3883, 0.3718, 0.3604, 0.3552, 0.3599, 0.3602, 0.36, 0.3911",\
                 "0.5402, 0.5201, 0.4926, 0.4716, 0.4583, 0.4496, 0.4466, 0.4519, 0.455, 0.5017",\
                 "0.6734, 0.6499, 0.6171, 0.5923, 0.5762, 0.5628, 0.5579, 0.5565, 0.5697, 0.639");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.2777, 0.2732, 0.27, 0.2694, 0.2694, 0.2693, 0.2692, 0.2691, 0.2692, 0.2692",\
                 "0.2759, 0.2713, 0.2682, 0.2677, 0.2674, 0.2673, 0.2673, 0.2674, 0.2674, 0.2674",\
                 "0.2785, 0.2735, 0.2699, 0.2692, 0.2693, 0.2693, 0.2693, 0.2694, 0.2694, 0.2694",\
                 "0.3028, 0.2951, 0.2875, 0.2847, 0.2838, 0.2831, 0.283, 0.283, 0.2829, 0.2828",\
                 "0.3472, 0.3363, 0.3237, 0.3177, 0.3146, 0.3135, 0.3127, 0.3123, 0.3119, 0.3117",\
                 "0.4123, 0.3984, 0.38, 0.3693, 0.3641, 0.3612, 0.3595, 0.3586, 0.3582, 0.3578",\
                 "0.4991, 0.4826, 0.4575, 0.4423, 0.4334, 0.4285, 0.4257, 0.424, 0.4229, 0.4222",\
                 "0.6084, 0.5893, 0.5578, 0.5367, 0.5235, 0.5163, 0.5118, 0.5092, 0.5074, 0.506",\
                 "0.7397, 0.7189, 0.6811, 0.6536, 0.6363, 0.6257, 0.6192, 0.615, 0.6123, 0.6104",\
                 "0.8946, 0.8723, 0.8278, 0.7944, 0.7722, 0.7577, 0.7488, 0.7429, 0.739, 0.7363");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.1515, 0.1485, 0.1471, 0.1486, 0.1506, 0.1539, 0.1556, 0.1584, 0.164, 0.177",\
                 "0.15, 0.1467, 0.1455, 0.1473, 0.1496, 0.152, 0.1546, 0.1577, 0.1621, 0.174",\
                 "0.151, 0.1474, 0.1449, 0.1459, 0.1484, 0.1506, 0.1536, 0.1564, 0.1614, 0.1743",\
                 "0.1662, 0.1609, 0.1568, 0.1557, 0.1571, 0.1596, 0.1622, 0.165, 0.169, 0.1834",\
                 "0.1995, 0.1922, 0.1837, 0.1814, 0.1809, 0.182, 0.1843, 0.1871, 0.1922, 0.2063",\
                 "0.2524, 0.243, 0.2302, 0.2225, 0.2219, 0.2226, 0.2232, 0.2247, 0.2291, 0.2492",\
                 "0.3258, 0.3134, 0.2973, 0.286, 0.2801, 0.281, 0.2813, 0.2815, 0.2837, 0.3074",\
                 "0.4185, 0.4034, 0.3826, 0.3665, 0.357, 0.3533, 0.3572, 0.3575, 0.3607, 0.3936",\
                 "0.5322, 0.514, 0.489, 0.4705, 0.4555, 0.4486, 0.4466, 0.4519, 0.4556, 0.5006",\
                 "0.6674, 0.6463, 0.6167, 0.5932, 0.578, 0.5664, 0.5605, 0.5608, 0.5735, 0.6421");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.2287, 0.2657, 0.3595, 0.5012, 0.7058, 0.989, 1.361, 1.831, 2.404, 3.085",\
                 "0.2448, 0.2818, 0.3754, 0.5172, 0.7218, 1.005, 1.378, 1.847, 2.42, 3.103",\
                 "0.3097, 0.3465, 0.4398, 0.5816, 0.7862, 1.069, 1.442, 1.911, 2.483, 3.165",\
                 "0.422, 0.461, 0.5578, 0.7009, 0.9056, 1.189, 1.561, 2.03, 2.603, 3.286",\
                 "0.5553, 0.598, 0.7011, 0.8488, 1.055, 1.338, 1.71, 2.178, 2.752, 3.434",\
                 "0.711, 0.7586, 0.8695, 1.023, 1.231, 1.514, 1.886, 2.355, 2.926, 3.609",\
                 "0.8884, 0.9405, 1.062, 1.223, 1.437, 1.72, 2.092, 2.561, 3.132, 3.814",\
                 "1.087, 1.144, 1.275, 1.448, 1.669, 1.958, 2.331, 2.799, 3.371, 4.052",\
                 "1.308, 1.369, 1.512, 1.696, 1.927, 2.222, 2.601, 3.072, 3.643, 4.324",\
                 "1.553, 1.619, 1.771, 1.969, 2.208, 2.513, 2.9, 3.377, 3.951, 4.632");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.2463, 0.2914, 0.421, 0.6482, 0.9981, 1.489, 2.134, 2.945, 3.937, 5.123",\
                 "0.2573, 0.3022, 0.4319, 0.6591, 1.009, 1.499, 2.144, 2.957, 3.948, 5.134",\
                 "0.3023, 0.3468, 0.4757, 0.7026, 1.053, 1.543, 2.189, 3.002, 3.994, 5.172",\
                 "0.3619, 0.4078, 0.5379, 0.7641, 1.113, 1.603, 2.247, 3.062, 4.055, 5.237",\
                 "0.4107, 0.4581, 0.5899, 0.8153, 1.164, 1.654, 2.299, 3.111, 4.104, 5.286",\
                 "0.4456, 0.4961, 0.6308, 0.8567, 1.204, 1.694, 2.337, 3.15, 4.142, 5.323",\
                 "0.4624, 0.5162, 0.6569, 0.8852, 1.232, 1.72, 2.365, 3.175, 4.167, 5.35",\
                 "0.4578, 0.5156, 0.6627, 0.8958, 1.247, 1.735, 2.377, 3.188, 4.178, 5.359",\
                 "0.4298, 0.4919, 0.6459, 0.8847, 1.24, 1.734, 2.377, 3.187, 4.176, 5.357",\
                 "0.3775, 0.443, 0.6043, 0.8496, 1.211, 1.71, 2.36, 3.172, 4.161, 5.34");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.07636, 0.1143, 0.2215, 0.4204, 0.7478, 1.218, 1.844, 2.634, 3.601, 4.744",\
                 "0.07658, 0.1148, 0.222, 0.4204, 0.7478, 1.218, 1.845, 2.633, 3.601, 4.752",\
                 "0.07714, 0.1148, 0.2227, 0.4207, 0.748, 1.218, 1.843, 2.631, 3.598, 4.746",\
                 "0.09194, 0.1288, 0.2319, 0.425, 0.7484, 1.218, 1.845, 2.632, 3.601, 4.752",\
                 "0.1104, 0.1488, 0.251, 0.4384, 0.7534, 1.221, 1.845, 2.635, 3.599, 4.745",\
                 "0.1324, 0.1734, 0.2754, 0.454, 0.7616, 1.223, 1.845, 2.632, 3.597, 4.744",\
                 "0.158, 0.202, 0.3076, 0.4816, 0.7784, 1.229, 1.848, 2.632, 3.594, 4.743",\
                 "0.1832, 0.2328, 0.3434, 0.5164, 0.806, 1.249, 1.855, 2.638, 3.593, 4.738",\
                 "0.2104, 0.2638, 0.381, 0.556, 0.8426, 1.282, 1.881, 2.647, 3.598, 4.739",\
                 "0.2386, 0.2952, 0.4222, 0.6002, 0.8824, 1.324, 1.924, 2.682, 3.616, 4.746");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.08992, 0.148, 0.3404, 0.7256, 1.339, 2.204, 3.339, 4.779, 6.523, 8.611",\
                 "0.0899, 0.1481, 0.3401, 0.7252, 1.341, 2.201, 3.343, 4.77, 6.523, 8.612",\
                 "0.08996, 0.1493, 0.3405, 0.7253, 1.338, 2.202, 3.339, 4.774, 6.521, 8.616",\
                 "0.09926, 0.1573, 0.3463, 0.7264, 1.339, 2.205, 3.338, 4.774, 6.519, 8.605",\
                 "0.1106, 0.1668, 0.3534, 0.731, 1.342, 2.202, 3.339, 4.771, 6.522, 8.607",\
                 "0.1274, 0.1824, 0.365, 0.7354, 1.345, 2.206, 3.338, 4.767, 6.52, 8.602",\
                 "0.1462, 0.201, 0.382, 0.7464, 1.348, 2.206, 3.341, 4.772, 6.516, 8.596",\
                 "0.1668, 0.2218, 0.4042, 0.764, 1.363, 2.213, 3.343, 4.771, 6.526, 8.597",\
                 "0.1868, 0.2454, 0.4274, 0.7842, 1.386, 2.233, 3.353, 4.775, 6.518, 8.61",\
                 "0.2086, 0.2712, 0.454, 0.8082, 1.411, 2.269, 3.38, 4.79, 6.519, 8.598");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.2541, 0.2926, 0.3883, 0.531, 0.7359, 1.019, 1.392, 1.861, 2.433, 3.116",\
                 "0.2702, 0.3088, 0.4045, 0.5472, 0.7522, 1.036, 1.408, 1.877, 2.449, 3.132",\
                 "0.3369, 0.3752, 0.4706, 0.6135, 0.8185, 1.102, 1.474, 1.944, 2.516, 3.198",\
                 "0.4587, 0.4991, 0.5965, 0.7402, 0.945, 1.228, 1.601, 2.069, 2.642, 3.324",\
                 "0.6062, 0.6509, 0.7547, 0.9029, 1.109, 1.392, 1.764, 2.233, 2.805, 3.487",\
                 "0.7827, 0.8316, 0.9431, 1.096, 1.304, 1.587, 1.959, 2.428, 2.999, 3.681",\
                 "0.9884, 1.042, 1.163, 1.323, 1.534, 1.817, 2.189, 2.657, 3.229, 3.911",\
                 "1.224, 1.282, 1.413, 1.582, 1.8, 2.085, 2.457, 2.925, 3.497, 4.179",\
                 "1.49, 1.553, 1.695, 1.875, 2.1, 2.391, 2.766, 3.235, 3.806, 4.488",\
                 "1.789, 1.856, 2.009, 2.2, 2.435, 2.733, 3.114, 3.587, 4.159, 4.841");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.2605, 0.3054, 0.435, 0.6621, 1.012, 1.503, 2.148, 2.959, 3.952, 5.137",\
                 "0.2699, 0.3148, 0.4445, 0.6718, 1.022, 1.512, 2.158, 2.971, 3.964, 5.146",\
                 "0.2969, 0.3416, 0.4707, 0.6977, 1.048, 1.538, 2.184, 2.997, 3.99, 5.171",\
                 "0.3341, 0.3802, 0.5112, 0.7379, 1.087, 1.578, 2.223, 3.035, 4.029, 5.21",\
                 "0.3637, 0.4116, 0.5449, 0.7715, 1.12, 1.61, 2.255, 3.068, 4.06, 5.237",\
                 "0.3753, 0.426, 0.5637, 0.7919, 1.14, 1.629, 2.273, 3.084, 4.078, 5.26",\
                 "0.3633, 0.4174, 0.5615, 0.7945, 1.144, 1.631, 2.274, 3.085, 4.076, 5.259",\
                 "0.3238, 0.3818, 0.5321, 0.7708, 1.125, 1.616, 2.259, 3.069, 4.059, 5.239",\
                 "0.255, 0.317, 0.4743, 0.7195, 1.08, 1.578, 2.224, 3.033, 4.024, 5.203",\
                 "0.1549, 0.2209, 0.3845, 0.6365, 1.005, 1.51, 2.165, 2.978, 3.966, 5.146");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.08308, 0.1205, 0.2263, 0.4228, 0.7483, 1.218, 1.845, 2.634, 3.597, 4.743",\
                 "0.08304, 0.1205, 0.2263, 0.4228, 0.7488, 1.219, 1.845, 2.635, 3.599, 4.747",\
                 "0.08368, 0.1212, 0.2267, 0.4231, 0.7489, 1.22, 1.844, 2.633, 3.597, 4.747",\
                 "0.09608, 0.1321, 0.2336, 0.4256, 0.749, 1.218, 1.845, 2.635, 3.598, 4.745",\
                 "0.1152, 0.1528, 0.2534, 0.4376, 0.7548, 1.22, 1.845, 2.631, 3.595, 4.745",\
                 "0.1368, 0.1764, 0.2752, 0.4532, 0.7616, 1.225, 1.845, 2.632, 3.594, 4.745",\
                 "0.1592, 0.204, 0.3042, 0.476, 0.7734, 1.23, 1.847, 2.632, 3.592, 4.742",\
                 "0.1838, 0.2342, 0.3374, 0.5074, 0.795, 1.241, 1.853, 2.637, 3.593, 4.737",\
                 "0.2118, 0.2648, 0.3754, 0.543, 0.8262, 1.265, 1.868, 2.643, 3.597, 4.739",\
                 "0.2392, 0.2974, 0.416, 0.583, 0.8628, 1.301, 1.9, 2.663, 3.608, 4.747");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04562, 0.1119, 0.2153, 0.3602, 0.551, 0.7913, 1.085, 1.434");
          values("0.0897, 0.148, 0.3405, 0.7252, 1.34, 2.203, 3.339, 4.779, 6.523, 8.611",\
                 "0.08988, 0.148, 0.3401, 0.7258, 1.339, 2.202, 3.341, 4.772, 6.524, 8.6",\
                 "0.08976, 0.1492, 0.3407, 0.7252, 1.339, 2.204, 3.34, 4.773, 6.524, 8.603",\
                 "0.09782, 0.1564, 0.3461, 0.7261, 1.338, 2.206, 3.34, 4.772, 6.524, 8.609",\
                 "0.1086, 0.1656, 0.3534, 0.7304, 1.34, 2.202, 3.342, 4.772, 6.52, 8.615",\
                 "0.1236, 0.1806, 0.368, 0.7364, 1.342, 2.204, 3.341, 4.769, 6.518, 8.606",\
                 "0.14, 0.1984, 0.386, 0.7506, 1.35, 2.205, 3.338, 4.775, 6.515, 8.602",\
                 "0.1594, 0.2186, 0.4082, 0.7716, 1.37, 2.216, 3.341, 4.768, 6.523, 8.594",\
                 "0.1782, 0.2396, 0.4292, 0.7956, 1.398, 2.243, 3.357, 4.772, 6.517, 8.605",\
                 "0.1996, 0.261, 0.4542, 0.8194, 1.426, 2.283, 3.394, 4.794, 6.519, 8.595");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__and3_1) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "4.44543e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "4.44642e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "4.45467e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "4.49592e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "6.11391e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "6.14955e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "7.7748e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "6.69108e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.7748e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.002784 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00816, 0.008124, 0.008072, 0.008084, 0.008089, 0.008095, 0.008085, \
                 0.00808, 0.008085, 0.008069");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004836, -0.004826, -0.004824, -0.004832, -0.004849, -0.004852, \
                 -0.00486, -0.004866, -0.004862, -0.004877");
        }
      }

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008143, 0.008128, 0.008079, 0.008077, 0.008087, 0.008095, 0.008087, \
                 0.008077, 0.008083, 0.008086");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004832, -0.004836, -0.004824, -0.004834, -0.004853, -0.004852, \
                 -0.004845, -0.004865, -0.004866, -0.00488");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008105, 0.008108, 0.008073, 0.008083, 0.008087, 0.008093, 0.008088, \
                 0.008081, 0.008086, 0.008081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003635, 0.003627, 0.003613, 0.003591, 0.003562, 0.003547, 0.00354, \
                 0.003524, 0.003512, 0.003486");
        }
      }
    }

    pin(A2) {
      capacitance : 0.002715 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009887, 0.009959, 0.01011, 0.01028, 0.01045, 0.01055, 0.01061, \
                 0.01067, 0.01068, 0.01069");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007172, -0.007153, -0.007127, -0.007132, -0.007135, -0.00713, \
                 -0.007129, -0.007125, -0.007128, -0.007133");
        }
      }

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008378, 0.007577, 0.007205, 0.007154, 0.007162, 0.007152, 0.007153, \
                 0.007153, 0.00715, 0.007154");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007143, -0.007139, -0.007131, -0.00712, -0.007138, -0.007137, \
                 -0.007127, -0.007132, -0.007141, -0.007133");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007968, 0.007961, 0.00793, 0.00793, 0.007937, 0.007941, 0.007929, \
                 0.007929, 0.007919, 0.007914");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005035, -0.005042, -0.005022, -0.005027, -0.005047, -0.005061, \
                 -0.005054, -0.005076, -0.005094, -0.005126");
        }
      }
    }

    pin(A3) {
      capacitance : 0.002744 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007189, 0.007176, 0.007144, 0.007138, 0.007161, 0.007164, 0.007156, \
                 0.007152, 0.007146, 0.007156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007154, -0.007149, -0.007119, -0.007119, -0.00713, -0.00713, \
                 -0.007124, -0.007125, -0.007125, -0.007125");
        }
      }

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007584, 0.007209, 0.007159, 0.007146, 0.007148, 0.007156, 0.007155, \
                 0.00715, 0.007159, 0.007149");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007146, -0.007148, -0.007127, -0.007119, -0.007134, -0.007133, \
                 -0.00713, -0.007129, -0.007123, -0.007126");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007682, 0.007191, 0.007155, 0.007146, 0.007158, 0.007159, 0.00716, \
                 0.007151, 0.007149, 0.007157");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007157, -0.007151, -0.007139, -0.007124, -0.007133, -0.007132, \
                 -0.007128, -0.00713, -0.007128, -0.007126");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2&A3)" ;
      max_capacitance : 0.358 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.08854, 0.08752, 0.08625, 0.08575, 0.08555, 0.0853, 0.0852, 0.08511, 0.08516, 0.08508",\
                 "0.0885, 0.08753, 0.08628, 0.08571, 0.08548, 0.08527, 0.08513, 0.08508, 0.08504, 0.08501",\
                 "0.08861, 0.08756, 0.08633, 0.08579, 0.0855, 0.0853, 0.08523, 0.08519, 0.08516, 0.08514",\
                 "0.09305, 0.09156, 0.08964, 0.08868, 0.08814, 0.0879, 0.08775, 0.08767, 0.08762, 0.08758",\
                 "0.1033, 0.1012, 0.09805, 0.096, 0.09496, 0.09438, 0.09405, 0.09387, 0.09377, 0.09367",\
                 "0.1188, 0.1161, 0.1115, 0.1084, 0.1065, 0.1054, 0.1048, 0.1045, 0.1042, 0.104",\
                 "0.1401, 0.1368, 0.1307, 0.1261, 0.1233, 0.1215, 0.1204, 0.1197, 0.1193, 0.119",\
                 "0.1672, 0.1634, 0.1557, 0.1496, 0.1456, 0.143, 0.1413, 0.1402, 0.1395, 0.139",\
                 "0.2002, 0.1958, 0.1866, 0.179, 0.1735, 0.17, 0.1676, 0.1661, 0.165, 0.1642",\
                 "0.2392, 0.2343, 0.2236, 0.2144, 0.2076, 0.2029, 0.1997, 0.1975, 0.196, 0.1949");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.05375, 0.05239, 0.05046, 0.04943, 0.04934, 0.04953, 0.04999, 0.05062, 0.05195, 0.05492",\
                 "0.05352, 0.05215, 0.05025, 0.0492, 0.04911, 0.0494, 0.04996, 0.05045, 0.05172, 0.05492",\
                 "0.05368, 0.05238, 0.05031, 0.04933, 0.04914, 0.0495, 0.0498, 0.05068, 0.05172, 0.05572",\
                 "0.05744, 0.05595, 0.05352, 0.05197, 0.05149, 0.05158, 0.05211, 0.05257, 0.05364, 0.05775",\
                 "0.06533, 0.06357, 0.06065, 0.05841, 0.05733, 0.05716, 0.05729, 0.05781, 0.05887, 0.06346",\
                 "0.078, 0.07575, 0.07188, 0.06893, 0.06756, 0.06676, 0.06656, 0.06676, 0.06779, 0.07317",\
                 "0.0959, 0.09313, 0.08823, 0.08395, 0.08181, 0.08125, 0.08032, 0.07979, 0.08041, 0.08727",\
                 "0.1189, 0.1156, 0.1099, 0.1048, 0.1008, 0.09936, 0.09926, 0.09906, 0.0987, 0.1072",\
                 "0.147, 0.1432, 0.1363, 0.13, 0.1258, 0.1222, 0.121, 0.1217, 0.1216, 0.1341",\
                 "0.1807, 0.1763, 0.1683, 0.1613, 0.1559, 0.151, 0.1486, 0.148, 0.1511, 0.1703");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.0976, 0.09636, 0.09473, 0.09395, 0.0935, 0.09323, 0.09312, 0.09302, 0.09296, 0.09292",\
                 "0.09736, 0.09611, 0.09457, 0.09375, 0.09327, 0.09308, 0.09294, 0.09283, 0.09276, 0.09271",\
                 "0.0975, 0.0962, 0.09462, 0.09379, 0.09336, 0.09312, 0.093, 0.09293, 0.09288, 0.09284",\
                 "0.1018, 0.1002, 0.09803, 0.09674, 0.09619, 0.09589, 0.09572, 0.09563, 0.09555, 0.09546",\
                 "0.1125, 0.1103, 0.1069, 0.1046, 0.1034, 0.1028, 0.1023, 0.1021, 0.1019, 0.1018",\
                 "0.1286, 0.1258, 0.1211, 0.1177, 0.1156, 0.1144, 0.1137, 0.1132, 0.1129, 0.1127",\
                 "0.1508, 0.1474, 0.1412, 0.1363, 0.1332, 0.1314, 0.1302, 0.1294, 0.1289, 0.1286",\
                 "0.1789, 0.1751, 0.1673, 0.1609, 0.1566, 0.1539, 0.1521, 0.1509, 0.1502, 0.1496",\
                 "0.2132, 0.2088, 0.1995, 0.1915, 0.1859, 0.1821, 0.1796, 0.1779, 0.1768, 0.176",\
                 "0.2536, 0.2487, 0.2381, 0.2283, 0.2213, 0.2164, 0.213, 0.2108, 0.2091, 0.208");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.05374, 0.05236, 0.05045, 0.04943, 0.04934, 0.04954, 0.05009, 0.05082, 0.05186, 0.05525",\
                 "0.05346, 0.05214, 0.05025, 0.0492, 0.04901, 0.0493, 0.0497, 0.05036, 0.05163, 0.05459",\
                 "0.05337, 0.05201, 0.05006, 0.04897, 0.04872, 0.04907, 0.04943, 0.05016, 0.05113, 0.05507",\
                 "0.05638, 0.05494, 0.05257, 0.05111, 0.05073, 0.05099, 0.05118, 0.05181, 0.05308, 0.05676",\
                 "0.06359, 0.06174, 0.05904, 0.05709, 0.05611, 0.05597, 0.05636, 0.05673, 0.05748, 0.0619",\
                 "0.07592, 0.07387, 0.07008, 0.06732, 0.06608, 0.06538, 0.06547, 0.06544, 0.06627, 0.07162",\
                 "0.09352, 0.09098, 0.08632, 0.08233, 0.08027, 0.0797, 0.07937, 0.0788, 0.07982, 0.08581",\
                 "0.1166, 0.1136, 0.1082, 0.1032, 0.09941, 0.09818, 0.09788, 0.09738, 0.09781, 0.1062",\
                 "0.145, 0.1412, 0.135, 0.1291, 0.1249, 0.1219, 0.1207, 0.1211, 0.1222, 0.1336",\
                 "0.1788, 0.1747, 0.1672, 0.1607, 0.155, 0.1514, 0.1488, 0.1483, 0.1511, 0.1696");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.1066, 0.1051, 0.1031, 0.1021, 0.1014, 0.1011, 0.1009, 0.1008, 0.1007, 0.1007",\
                 "0.1061, 0.1047, 0.1027, 0.1017, 0.101, 0.1008, 0.1005, 0.1004, 0.1003, 0.1002",\
                 "0.1064, 0.1049, 0.1028, 0.1019, 0.1012, 0.101, 0.1008, 0.1006, 0.1006, 0.1005",\
                 "0.1105, 0.1088, 0.1063, 0.1049, 0.1042, 0.1038, 0.1036, 0.1034, 0.1033, 0.1033",\
                 "0.1217, 0.1194, 0.1157, 0.1133, 0.1118, 0.1111, 0.1106, 0.1104, 0.1102, 0.1101",\
                 "0.1385, 0.1357, 0.1307, 0.127, 0.1248, 0.1235, 0.1227, 0.1223, 0.1219, 0.1217",\
                 "0.1618, 0.1584, 0.1521, 0.147, 0.1436, 0.1417, 0.1404, 0.1396, 0.1391, 0.1387",\
                 "0.1917, 0.1878, 0.1799, 0.1734, 0.1689, 0.1659, 0.164, 0.1629, 0.162, 0.1614",\
                 "0.2282, 0.2238, 0.2144, 0.2063, 0.2004, 0.1964, 0.1938, 0.192, 0.1908, 0.19",\
                 "0.2715, 0.2667, 0.2559, 0.246, 0.2387, 0.2335, 0.23, 0.2276, 0.226, 0.2248");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.05374, 0.05237, 0.05046, 0.0494, 0.04928, 0.04957, 0.05009, 0.05055, 0.05182, 0.05525",\
                 "0.05353, 0.05211, 0.05027, 0.0492, 0.04898, 0.0493, 0.04967, 0.05036, 0.05139, 0.05516",\
                 "0.05313, 0.05184, 0.04988, 0.04877, 0.04865, 0.04894, 0.0495, 0.05016, 0.0512, 0.05474",\
                 "0.05555, 0.05413, 0.05189, 0.05052, 0.05014, 0.05049, 0.05092, 0.05121, 0.05265, 0.05643",\
                 "0.06218, 0.06037, 0.05765, 0.05606, 0.05532, 0.05528, 0.05554, 0.056, 0.05679, 0.06157",\
                 "0.07432, 0.07233, 0.06861, 0.0662, 0.06565, 0.06501, 0.06465, 0.06484, 0.06588, 0.07171",\
                 "0.09243, 0.08987, 0.0856, 0.08204, 0.08003, 0.0799, 0.07937, 0.07897, 0.08041, 0.08699",\
                 "0.1164, 0.1134, 0.1079, 0.1037, 0.1006, 0.09887, 0.09907, 0.09886, 0.09892, 0.1072",\
                 "0.146, 0.1425, 0.1364, 0.1307, 0.1266, 0.1239, 0.1232, 0.1244, 0.1244, 0.136",\
                 "0.1817, 0.1778, 0.1705, 0.1637, 0.1588, 0.1549, 0.1531, 0.1524, 0.1555, 0.1721");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.3432, 0.3808, 0.4825, 0.6353, 0.8457, 1.13, 1.5, 1.967, 2.537, 3.215",\
                 "0.3612, 0.3986, 0.5005, 0.6533, 0.8637, 1.147, 1.518, 1.985, 2.555, 3.233",\
                 "0.4263, 0.4637, 0.5655, 0.7181, 0.9286, 1.212, 1.583, 2.05, 2.62, 3.298",\
                 "0.5546, 0.5923, 0.6944, 0.8474, 1.058, 1.342, 1.712, 2.179, 2.749, 3.427",\
                 "0.7158, 0.7569, 0.8656, 1.024, 1.236, 1.52, 1.89, 2.356, 2.926, 3.605",\
                 "0.9008, 0.9461, 1.063, 1.228, 1.444, 1.73, 2.1, 2.566, 3.135, 3.814",\
                 "1.11, 1.159, 1.286, 1.461, 1.684, 1.971, 2.342, 2.807, 3.376, 4.054",\
                 "1.341, 1.396, 1.532, 1.719, 1.954, 2.246, 2.618, 3.084, 3.652, 4.331",\
                 "1.596, 1.655, 1.803, 2.003, 2.248, 2.551, 2.928, 3.396, 3.965, 4.642",\
                 "1.877, 1.939, 2.098, 2.313, 2.57, 2.882, 3.269, 3.744, 4.317, 4.995");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.4336, 0.4819, 0.6253, 0.8626, 1.213, 1.701, 2.342, 3.151, 4.138, 5.315",\
                 "0.4427, 0.491, 0.6346, 0.8719, 1.223, 1.71, 2.352, 3.16, 4.148, 5.325",\
                 "0.4799, 0.5284, 0.6716, 0.9088, 1.259, 1.747, 2.388, 3.196, 4.185, 5.363",\
                 "0.5517, 0.5999, 0.7429, 0.9794, 1.329, 1.817, 2.458, 3.266, 4.255, 5.43",\
                 "0.6199, 0.6694, 0.8141, 1.052, 1.402, 1.889, 2.53, 3.339, 4.326, 5.501",\
                 "0.6791, 0.7294, 0.8758, 1.115, 1.465, 1.952, 2.591, 3.4, 4.383, 5.562",\
                 "0.7228, 0.7756, 0.9259, 1.167, 1.517, 2.002, 2.643, 3.449, 4.434, 5.612",\
                 "0.7466, 0.8027, 0.9582, 1.205, 1.557, 2.043, 2.682, 3.489, 4.473, 5.647",\
                 "0.7472, 0.8063, 0.968, 1.221, 1.58, 2.07, 2.708, 3.513, 4.498, 5.672",\
                 "0.7213, 0.7845, 0.9536, 1.214, 1.58, 2.076, 2.72, 3.526, 4.51, 5.684");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.1259, 0.1633, 0.275, 0.4684, 0.7819, 1.238, 1.858, 2.639, 3.597, 4.745",\
                 "0.1261, 0.1634, 0.2745, 0.4684, 0.7811, 1.24, 1.857, 2.639, 3.597, 4.744",\
                 "0.1261, 0.1632, 0.2752, 0.4683, 0.7809, 1.24, 1.857, 2.638, 3.599, 4.742",\
                 "0.1334, 0.1694, 0.2792, 0.4706, 0.782, 1.24, 1.858, 2.64, 3.597, 4.744",\
                 "0.1574, 0.1944, 0.3012, 0.4864, 0.7896, 1.242, 1.857, 2.642, 3.601, 4.747",\
                 "0.1838, 0.2216, 0.3292, 0.5116, 0.8044, 1.248, 1.859, 2.642, 3.601, 4.746",\
                 "0.214, 0.2566, 0.3662, 0.5454, 0.826, 1.259, 1.863, 2.64, 3.599, 4.741",\
                 "0.2472, 0.292, 0.408, 0.5878, 0.8632, 1.282, 1.875, 2.645, 3.597, 4.737",\
                 "0.2808, 0.331, 0.4538, 0.636, 0.9104, 1.322, 1.902, 2.66, 3.603, 4.736",\
                 "0.3154, 0.3704, 0.5018, 0.6888, 0.9626, 1.372, 1.949, 2.698, 3.625, 4.749");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.1639, 0.2246, 0.4203, 0.7854, 1.381, 2.235, 3.367, 4.789, 6.53, 8.605",\
                 "0.1639, 0.2247, 0.4196, 0.7855, 1.38, 2.237, 3.363, 4.792, 6.531, 8.606",\
                 "0.1633, 0.2245, 0.4201, 0.7857, 1.38, 2.232, 3.364, 4.789, 6.532, 8.607",\
                 "0.1667, 0.2268, 0.4228, 0.7868, 1.383, 2.235, 3.363, 4.789, 6.528, 8.603",\
                 "0.1762, 0.2356, 0.4324, 0.7952, 1.382, 2.238, 3.364, 4.788, 6.527, 8.604",\
                 "0.1888, 0.2472, 0.4424, 0.801, 1.39, 2.241, 3.364, 4.786, 6.525, 8.601",\
                 "0.2096, 0.2664, 0.4598, 0.813, 1.393, 2.241, 3.37, 4.796, 6.522, 8.597",\
                 "0.2314, 0.289, 0.4818, 0.836, 1.407, 2.246, 3.374, 4.794, 6.536, 8.596",\
                 "0.2556, 0.3154, 0.5064, 0.8618, 1.433, 2.265, 3.378, 4.795, 6.53, 8.615",\
                 "0.2832, 0.3438, 0.5342, 0.8918, 1.466, 2.298, 3.401, 4.805, 6.536, 8.601");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.374, 0.413, 0.5172, 0.6714, 0.8824, 1.167, 1.537, 2.004, 2.574, 3.253",\
                 "0.3912, 0.4301, 0.5341, 0.6885, 0.8996, 1.184, 1.554, 2.021, 2.591, 3.27",\
                 "0.4566, 0.4955, 0.5995, 0.7539, 0.9649, 1.249, 1.62, 2.086, 2.656, 3.335",\
                 "0.5886, 0.6277, 0.7316, 0.8857, 1.097, 1.381, 1.752, 2.218, 2.788, 3.468",\
                 "0.7623, 0.8046, 0.9151, 1.074, 1.286, 1.57, 1.94, 2.407, 2.976, 3.655",\
                 "0.964, 1.01, 1.128, 1.294, 1.511, 1.796, 2.166, 2.632, 3.201, 3.879",\
                 "1.196, 1.247, 1.375, 1.549, 1.772, 2.058, 2.429, 2.894, 3.463, 4.142",\
                 "1.459, 1.514, 1.652, 1.838, 2.068, 2.359, 2.731, 3.196, 3.765, 4.442",\
                 "1.752, 1.811, 1.961, 2.159, 2.4, 2.699, 3.074, 3.54, 4.109, 4.786",\
                 "2.078, 2.14, 2.302, 2.513, 2.766, 3.075, 3.457, 3.928, 4.497, 5.176");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.4598, 0.5081, 0.6517, 0.889, 1.24, 1.727, 2.369, 3.177, 4.165, 5.343",\
                 "0.4677, 0.5163, 0.6597, 0.8969, 1.248, 1.735, 2.376, 3.186, 4.173, 5.351",\
                 "0.4904, 0.5384, 0.6818, 0.9191, 1.27, 1.757, 2.398, 3.207, 4.196, 5.371",\
                 "0.5356, 0.5841, 0.7274, 0.9643, 1.315, 1.802, 2.444, 3.252, 4.239, 5.417",\
                 "0.5817, 0.6315, 0.777, 1.016, 1.366, 1.853, 2.494, 3.303, 4.289, 5.462",\
                 "0.619, 0.6702, 0.8182, 1.058, 1.408, 1.895, 2.536, 3.342, 4.331, 5.509",\
                 "0.6367, 0.6902, 0.8426, 1.087, 1.438, 1.924, 2.564, 3.371, 4.356, 5.534",\
                 "0.6304, 0.6866, 0.845, 1.096, 1.451, 1.939, 2.577, 3.383, 4.368, 5.543",\
                 "0.5942, 0.6537, 0.8185, 1.077, 1.442, 1.934, 2.574, 3.379, 4.364, 5.537",\
                 "0.5265, 0.59, 0.7606, 1.028, 1.399, 1.902, 2.55, 3.357, 4.341, 5.515");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.1343, 0.1718, 0.281, 0.4729, 0.7841, 1.241, 1.859, 2.642, 3.601, 4.74",\
                 "0.134, 0.1713, 0.2814, 0.4737, 0.784, 1.241, 1.857, 2.641, 3.601, 4.743",\
                 "0.1346, 0.1719, 0.2811, 0.4728, 0.7828, 1.241, 1.858, 2.641, 3.598, 4.745",\
                 "0.139, 0.1756, 0.2848, 0.4754, 0.7848, 1.241, 1.856, 2.642, 3.602, 4.743",\
                 "0.1626, 0.2002, 0.305, 0.4878, 0.7902, 1.242, 1.856, 2.642, 3.598, 4.745",\
                 "0.19, 0.228, 0.3328, 0.5132, 0.8042, 1.248, 1.86, 2.642, 3.601, 4.744",\
                 "0.2186, 0.2612, 0.368, 0.5428, 0.8254, 1.259, 1.864, 2.643, 3.6, 4.741",\
                 "0.2494, 0.2966, 0.4096, 0.5828, 0.8554, 1.277, 1.872, 2.644, 3.599, 4.734",\
                 "0.285, 0.335, 0.4548, 0.6292, 0.898, 1.312, 1.892, 2.654, 3.601, 4.737",\
                 "0.3188, 0.3748, 0.5028, 0.6796, 0.9462, 1.354, 1.93, 2.684, 3.617, 4.746");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.1639, 0.2247, 0.4203, 0.7854, 1.382, 2.235, 3.363, 4.79, 6.531, 8.607",\
                 "0.1635, 0.2243, 0.4203, 0.7859, 1.38, 2.232, 3.362, 4.789, 6.531, 8.604",\
                 "0.163, 0.2247, 0.4202, 0.7855, 1.38, 2.234, 3.364, 4.788, 6.527, 8.603",\
                 "0.1666, 0.2273, 0.4226, 0.7876, 1.381, 2.233, 3.363, 4.789, 6.531, 8.607",\
                 "0.1768, 0.237, 0.4326, 0.7942, 1.385, 2.236, 3.365, 4.789, 6.539, 8.612",\
                 "0.1882, 0.249, 0.4448, 0.8026, 1.388, 2.238, 3.364, 4.79, 6.529, 8.607",\
                 "0.2066, 0.2664, 0.4626, 0.8168, 1.395, 2.241, 3.367, 4.792, 6.523, 8.598",\
                 "0.2268, 0.288, 0.4854, 0.8432, 1.414, 2.247, 3.369, 4.789, 6.538, 8.597",\
                 "0.2506, 0.3118, 0.5102, 0.8726, 1.445, 2.271, 3.379, 4.794, 6.526, 8.6",\
                 "0.2748, 0.3374, 0.538, 0.903, 1.481, 2.313, 3.411, 4.808, 6.534, 8.597");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.4016, 0.4417, 0.5484, 0.7049, 0.9172, 1.202, 1.573, 2.04, 2.61, 3.288",\
                 "0.4174, 0.4575, 0.5642, 0.7206, 0.933, 1.218, 1.588, 2.055, 2.625, 3.304",\
                 "0.4832, 0.5234, 0.6299, 0.7862, 0.9988, 1.283, 1.654, 2.121, 2.691, 3.37",\
                 "0.6184, 0.6583, 0.7647, 0.921, 1.133, 1.418, 1.789, 2.255, 2.825, 3.505",\
                 "0.804, 0.847, 0.9586, 1.119, 1.332, 1.616, 1.987, 2.453, 3.023, 3.702",\
                 "1.022, 1.07, 1.189, 1.356, 1.573, 1.859, 2.229, 2.695, 3.264, 3.943",\
                 "1.279, 1.329, 1.459, 1.634, 1.856, 2.143, 2.513, 2.979, 3.548, 4.226",\
                 "1.573, 1.629, 1.768, 1.953, 2.183, 2.473, 2.845, 3.31, 3.878, 4.556",\
                 "1.907, 1.967, 2.117, 2.314, 2.554, 2.851, 3.225, 3.691, 4.259, 4.937",\
                 "2.284, 2.348, 2.509, 2.719, 2.97, 3.276, 3.656, 4.125, 4.694, 5.372");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.4739, 0.5222, 0.6656, 0.9029, 1.254, 1.741, 2.383, 3.191, 4.18, 5.357",\
                 "0.4823, 0.5306, 0.6742, 0.9114, 1.262, 1.75, 2.39, 3.199, 4.188, 5.364",\
                 "0.4946, 0.5433, 0.6864, 0.9236, 1.274, 1.762, 2.403, 3.211, 4.2, 5.377",\
                 "0.5137, 0.5623, 0.7057, 0.9428, 1.293, 1.781, 2.422, 3.231, 4.218, 5.394",\
                 "0.528, 0.5775, 0.7237, 0.9626, 1.313, 1.8, 2.441, 3.25, 4.237, 5.413",\
                 "0.5301, 0.5818, 0.7307, 0.9725, 1.324, 1.811, 2.451, 3.259, 4.246, 5.422",\
                 "0.5083, 0.5624, 0.7173, 0.9652, 1.319, 1.805, 2.445, 3.251, 4.237, 5.41",\
                 "0.4556, 0.5125, 0.673, 0.9296, 1.291, 1.78, 2.42, 3.225, 4.21, 5.385",\
                 "0.3674, 0.428, 0.5946, 0.8591, 1.23, 1.729, 2.373, 3.179, 4.163, 5.337",\
                 "0.2421, 0.3055, 0.4781, 0.7501, 1.131, 1.642, 2.297, 3.108, 4.092, 5.266");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.1414, 0.1792, 0.2887, 0.4789, 0.7873, 1.243, 1.859, 2.643, 3.599, 4.745",\
                 "0.1417, 0.1793, 0.289, 0.4788, 0.786, 1.243, 1.859, 2.643, 3.601, 4.745",\
                 "0.1414, 0.1791, 0.2888, 0.4791, 0.7865, 1.243, 1.86, 2.643, 3.602, 4.744",\
                 "0.1443, 0.1816, 0.2916, 0.48, 0.7878, 1.244, 1.859, 2.642, 3.602, 4.741",\
                 "0.1674, 0.2056, 0.309, 0.4906, 0.7936, 1.244, 1.859, 2.642, 3.601, 4.745",\
                 "0.1946, 0.233, 0.3376, 0.515, 0.8058, 1.25, 1.859, 2.643, 3.601, 4.738",\
                 "0.2218, 0.2652, 0.3704, 0.5436, 0.8266, 1.259, 1.864, 2.644, 3.6, 4.742",\
                 "0.2528, 0.2998, 0.4106, 0.5814, 0.8532, 1.275, 1.873, 2.646, 3.599, 4.74",\
                 "0.285, 0.3368, 0.455, 0.6256, 0.892, 1.306, 1.888, 2.656, 3.601, 4.738",\
                 "0.3198, 0.3754, 0.5014, 0.6742, 0.939, 1.345, 1.921, 2.676, 3.616, 4.744");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003464, 0.01211, 0.02863, 0.05437, 0.09048, 0.138, 0.1979, 0.2709, 0.358");
          values("0.1639, 0.2246, 0.4203, 0.7854, 1.38, 2.237, 3.363, 4.793, 6.531, 8.607",\
                 "0.1638, 0.2249, 0.4206, 0.7859, 1.38, 2.233, 3.364, 4.789, 6.527, 8.602",\
                 "0.1634, 0.2243, 0.4203, 0.7857, 1.38, 2.236, 3.365, 4.79, 6.531, 8.607",\
                 "0.166, 0.2268, 0.423, 0.7872, 1.38, 2.234, 3.364, 4.795, 6.529, 8.605",\
                 "0.1756, 0.236, 0.4316, 0.7928, 1.385, 2.237, 3.368, 4.79, 6.54, 8.604",\
                 "0.1888, 0.2486, 0.4466, 0.8038, 1.386, 2.237, 3.369, 4.787, 6.529, 8.603",\
                 "0.2056, 0.2656, 0.4668, 0.8236, 1.397, 2.239, 3.365, 4.789, 6.523, 8.599",\
                 "0.2254, 0.287, 0.4904, 0.853, 1.425, 2.253, 3.368, 4.787, 6.536, 8.595",\
                 "0.2464, 0.3086, 0.5146, 0.885, 1.465, 2.287, 3.391, 4.792, 6.525, 8.594",\
                 "0.2682, 0.3344, 0.5396, 0.9202, 1.507, 2.34, 3.433, 4.82, 6.532, 8.597");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__and3_2) {
    area : 24.147200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "5.58426e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "5.58426e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "5.58657e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "5.59218e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "7.21116e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "7.21644e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "8.80011e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "7.83519e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.80011e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004303 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01523, 0.01515, 0.01511, 0.01512, 0.01511, 0.01511, 0.01513, \
                 0.01511, 0.0151, 0.0151");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008949, -0.008954, -0.008974, -0.008963, -0.008953, -0.00902, \
                 -0.009015, -0.009023, -0.009031, -0.009068");
        }
      }

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01523, 0.01516, 0.0151, 0.01513, 0.0151, 0.01513, 0.01512, 0.01513, \
                 0.01511, 0.01512");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008952, -0.00893, -0.00897, -0.008975, -0.008968, -0.009002, \
                 -0.00902, -0.009033, -0.009034, -0.009061");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01518, 0.01512, 0.01511, 0.01513, 0.0151, 0.01513, 0.01512, \
                 0.01513, 0.01511, 0.01513");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007743, 0.007759, 0.007713, 0.007656, 0.007628, 0.007578, 0.007575, \
                 0.007563, 0.007505, 0.007473");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004119 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01875, 0.01889, 0.01922, 0.01957, 0.01992, 0.02015, 0.02029, \
                 0.02036, 0.02043, 0.02047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01314, -0.0131, -0.01309, -0.01306, -0.01305, -0.01308, -0.01306, \
                 -0.01308, -0.01306, -0.01309");
        }
      }

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01556, 0.01387, 0.01315, 0.0131, 0.0131, 0.01311, 0.01311, 0.01311, \
                 0.01311, 0.0131");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0131, -0.01307, -0.01307, -0.01306, -0.01304, -0.01307, -0.01307, \
                 -0.01307, -0.01306, -0.01309");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01482, 0.0148, 0.01479, 0.01478, 0.01476, 0.01478, 0.01476, \
                 0.01474, 0.01473, 0.01472");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009864, -0.009856, -0.009848, -0.009826, -0.009843, -0.00987, \
                 -0.009907, -0.009938, -0.009968, -0.01003");
        }
      }
    }

    pin(A3) {
      capacitance : 0.004086 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01319, 0.01315, 0.01309, 0.01312, 0.01309, 0.01313, 0.01311, \
                 0.01313, 0.0131, 0.01312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01311, -0.01308, -0.01306, -0.01304, -0.01303, -0.01306, -0.01306, \
                 -0.01306, -0.01307, -0.01307");
        }
      }

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01364, 0.01319, 0.0131, 0.0131, 0.01308, 0.01311, 0.01312, 0.01312, \
                 0.01311, 0.01312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01309, -0.01307, -0.01308, -0.01308, -0.01305, -0.01307, -0.01308, \
                 -0.01308, -0.01307, -0.01307");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01405, 0.01316, 0.0131, 0.01311, 0.01309, 0.01311, 0.01313, \
                 0.01312, 0.01312, 0.01312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01312, -0.01309, -0.01307, -0.01305, -0.01305, -0.01307, -0.01307, \
                 -0.01308, -0.01307, -0.01308");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2&A3)" ;
      max_capacitance : 0.7175 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.1391, 0.1362, 0.134, 0.1331, 0.1329, 0.1325, 0.1324, 0.1324, 0.1323, 0.1323",\
                 "0.1388, 0.136, 0.1335, 0.1328, 0.1325, 0.1322, 0.1321, 0.132, 0.132, 0.132",\
                 "0.1388, 0.1359, 0.1334, 0.1326, 0.1323, 0.1322, 0.132, 0.1319, 0.132, 0.1319",\
                 "0.1485, 0.1444, 0.1398, 0.138, 0.1371, 0.1368, 0.1366, 0.1365, 0.1364, 0.1363",\
                 "0.168, 0.1622, 0.1551, 0.1512, 0.1491, 0.1481, 0.1477, 0.1473, 0.1471, 0.147",\
                 "0.1967, 0.1896, 0.179, 0.1728, 0.1694, 0.1675, 0.1665, 0.1657, 0.1655, 0.1652",\
                 "0.2354, 0.2269, 0.2129, 0.2037, 0.1983, 0.1954, 0.1934, 0.1922, 0.1915, 0.191",\
                 "0.284, 0.2743, 0.2567, 0.2445, 0.2368, 0.2323, 0.2293, 0.2275, 0.2262, 0.2254",\
                 "0.3425, 0.3318, 0.3108, 0.2953, 0.285, 0.2787, 0.2745, 0.2718, 0.2699, 0.2688",\
                 "0.4111, 0.3996, 0.3756, 0.3564, 0.3432, 0.3348, 0.3291, 0.3256, 0.323, 0.3212");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.09161, 0.08844, 0.08518, 0.08416, 0.0844, 0.08511, 0.0863, 0.08771, 0.08938, 0.09607",\
                 "0.09128, 0.08811, 0.08452, 0.0837, 0.08391, 0.08521, 0.086, 0.08738, 0.08971, 0.0964",\
                 "0.09165, 0.08842, 0.08495, 0.08356, 0.08374, 0.08514, 0.08594, 0.08705, 0.08971, 0.09668",\
                 "0.09967, 0.09595, 0.09112, 0.08868, 0.08833, 0.0889, 0.08987, 0.09134, 0.09334, 0.1007",\
                 "0.1151, 0.1102, 0.1039, 0.1006, 0.09866, 0.09847, 0.0993, 0.1009, 0.1033, 0.1112",\
                 "0.1392, 0.1332, 0.1249, 0.1189, 0.1172, 0.1158, 0.1156, 0.1161, 0.1181, 0.1299",\
                 "0.1723, 0.1649, 0.1546, 0.1467, 0.1424, 0.1415, 0.1405, 0.1401, 0.1423, 0.1554",\
                 "0.2148, 0.2058, 0.193, 0.1829, 0.1759, 0.1729, 0.1739, 0.1728, 0.173, 0.1903",\
                 "0.2663, 0.2559, 0.2406, 0.228, 0.2198, 0.2132, 0.2117, 0.2144, 0.2141, 0.2386",\
                 "0.3272, 0.3153, 0.2973, 0.2833, 0.2729, 0.2647, 0.2597, 0.2585, 0.2659, 0.3025");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.1579, 0.1545, 0.1511, 0.1496, 0.1491, 0.1488, 0.1486, 0.1484, 0.1483, 0.1482",\
                 "0.1573, 0.1538, 0.1504, 0.1491, 0.1484, 0.1481, 0.1479, 0.1478, 0.1477, 0.1476",\
                 "0.1574, 0.1537, 0.1502, 0.1489, 0.1482, 0.148, 0.1478, 0.1477, 0.1476, 0.1476",\
                 "0.1663, 0.1619, 0.1568, 0.1544, 0.1533, 0.1528, 0.1525, 0.1523, 0.1522, 0.1521",\
                 "0.1867, 0.1809, 0.1728, 0.1683, 0.1659, 0.1648, 0.1641, 0.1637, 0.1635, 0.1633",\
                 "0.2163, 0.2091, 0.198, 0.1911, 0.1872, 0.185, 0.1838, 0.1831, 0.1826, 0.1823",\
                 "0.2559, 0.2475, 0.2331, 0.2233, 0.2175, 0.2141, 0.2122, 0.2108, 0.2101, 0.2094",\
                 "0.3058, 0.2962, 0.2784, 0.2658, 0.2575, 0.2525, 0.2495, 0.2475, 0.2461, 0.2453",\
                 "0.3661, 0.3556, 0.3346, 0.3184, 0.3074, 0.3007, 0.2963, 0.2935, 0.2915, 0.2902",\
                 "0.437, 0.4257, 0.4015, 0.3817, 0.3682, 0.3591, 0.3533, 0.3492, 0.3464, 0.3446");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.09171, 0.08855, 0.08489, 0.08413, 0.08434, 0.08544, 0.08624, 0.08738, 0.08971, 0.09607",\
                 "0.09131, 0.08798, 0.08446, 0.08357, 0.08381, 0.08511, 0.08591, 0.08705, 0.08971, 0.09654",\
                 "0.09093, 0.08777, 0.08439, 0.08291, 0.08312, 0.08399, 0.08515, 0.08639, 0.08839, 0.09536",\
                 "0.09723, 0.09363, 0.08914, 0.08696, 0.08668, 0.08742, 0.08838, 0.09035, 0.09202, 0.09942",\
                 "0.1112, 0.1065, 0.1005, 0.09766, 0.09605, 0.0963, 0.09742, 0.0986, 0.1003, 0.1087",\
                 "0.1345, 0.1288, 0.1209, 0.115, 0.1136, 0.1131, 0.1126, 0.1135, 0.1152, 0.1262",\
                 "0.1674, 0.1604, 0.1509, 0.1426, 0.1384, 0.1377, 0.1372, 0.1372, 0.1386, 0.1505",\
                 "0.2096, 0.2013, 0.1889, 0.1791, 0.173, 0.1696, 0.1703, 0.1698, 0.1697, 0.1869",\
                 "0.261, 0.2513, 0.237, 0.225, 0.2162, 0.211, 0.2097, 0.2107, 0.2121, 0.2361",\
                 "0.3219, 0.3107, 0.2939, 0.2803, 0.27, 0.2621, 0.2586, 0.2569, 0.2638, 0.2992");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.176, 0.1719, 0.1675, 0.1657, 0.1647, 0.1641, 0.1638, 0.1636, 0.1635, 0.1634",\
                 "0.175, 0.171, 0.1666, 0.1647, 0.1638, 0.1632, 0.1628, 0.1626, 0.1625, 0.1624",\
                 "0.1752, 0.1711, 0.1666, 0.1647, 0.1639, 0.1633, 0.163, 0.1628, 0.1627, 0.1626",\
                 "0.1838, 0.179, 0.1732, 0.1703, 0.169, 0.1683, 0.168, 0.1677, 0.1676, 0.1675",\
                 "0.205, 0.1988, 0.1902, 0.1853, 0.1825, 0.1811, 0.1802, 0.1798, 0.1795, 0.1793",\
                 "0.2357, 0.2282, 0.2166, 0.2093, 0.2049, 0.2025, 0.2011, 0.2002, 0.1997, 0.1994",\
                 "0.2768, 0.2684, 0.2535, 0.2433, 0.237, 0.2334, 0.2312, 0.2299, 0.229, 0.2284",\
                 "0.3292, 0.3198, 0.3017, 0.2885, 0.2799, 0.2746, 0.2713, 0.2692, 0.2677, 0.2668",\
                 "0.3927, 0.3822, 0.3613, 0.3446, 0.3338, 0.3264, 0.3218, 0.3186, 0.3166, 0.3151",\
                 "0.468, 0.4567, 0.4324, 0.4125, 0.3987, 0.3892, 0.383, 0.3788, 0.3758, 0.3739");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.09176, 0.08859, 0.08499, 0.08419, 0.08437, 0.0854, 0.08623, 0.08771, 0.09004, 0.09673",\
                 "0.09129, 0.08809, 0.08446, 0.08366, 0.08384, 0.08484, 0.08607, 0.08705, 0.08971, 0.09654",\
                 "0.09045, 0.08739, 0.084, 0.08257, 0.08285, 0.08415, 0.08495, 0.08606, 0.08806, 0.09569",\
                 "0.09526, 0.09164, 0.08746, 0.08574, 0.08559, 0.08663, 0.08749, 0.0887, 0.0907, 0.09843",\
                 "0.1078, 0.1034, 0.09769, 0.09548, 0.09424, 0.09471, 0.09551, 0.09695, 0.09865, 0.1074",\
                 "0.1307, 0.1253, 0.118, 0.113, 0.1123, 0.1116, 0.1115, 0.1121, 0.1135, 0.125",\
                 "0.164, 0.1575, 0.1477, 0.1407, 0.1372, 0.137, 0.1371, 0.1366, 0.1383, 0.1502",\
                 "0.2074, 0.1996, 0.1881, 0.1791, 0.1731, 0.1709, 0.1718, 0.1718, 0.172, 0.1877",\
                 "0.2608, 0.2517, 0.2381, 0.2271, 0.2192, 0.2143, 0.2125, 0.2157, 0.2157, 0.239",\
                 "0.3248, 0.3145, 0.2984, 0.285, 0.2759, 0.2685, 0.2651, 0.2642, 0.2694, 0.3042");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.2853, 0.3244, 0.4232, 0.5675, 0.767, 1.038, 1.393, 1.84, 2.386, 3.035",\
                 "0.3026, 0.3417, 0.4404, 0.5849, 0.7844, 1.055, 1.41, 1.857, 2.402, 3.054",\
                 "0.3667, 0.4056, 0.5043, 0.6486, 0.8482, 1.119, 1.474, 1.921, 2.466, 3.118",\
                 "0.4883, 0.5286, 0.6287, 0.7735, 0.9732, 1.244, 1.599, 2.046, 2.591, 3.241",\
                 "0.6336, 0.678, 0.7851, 0.936, 1.138, 1.409, 1.763, 2.21, 2.755, 3.406",\
                 "0.8019, 0.8506, 0.9658, 1.124, 1.329, 1.601, 1.956, 2.402, 2.947, 3.598",\
                 "0.9923, 1.046, 1.172, 1.339, 1.549, 1.823, 2.177, 2.624, 3.168, 3.817",\
                 "1.205, 1.263, 1.399, 1.578, 1.798, 2.076, 2.431, 2.877, 3.421, 4.071",\
                 "1.439, 1.502, 1.65, 1.841, 2.071, 2.357, 2.718, 3.165, 3.709, 4.358",\
                 "1.697, 1.764, 1.922, 2.127, 2.369, 2.665, 3.032, 3.486, 4.032, 4.682");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.3463, 0.396, 0.5376, 0.7716, 1.122, 1.611, 2.256, 3.069, 4.057, 5.237",\
                 "0.3565, 0.4062, 0.5476, 0.7816, 1.132, 1.622, 2.266, 3.077, 4.067, 5.248",\
                 "0.3965, 0.446, 0.5875, 0.8212, 1.172, 1.661, 2.306, 3.118, 4.109, 5.29",\
                 "0.4666, 0.5168, 0.6582, 0.8914, 1.241, 1.73, 2.375, 3.185, 4.175, 5.355",\
                 "0.5307, 0.5816, 0.724, 0.9584, 1.308, 1.797, 2.44, 3.251, 4.243, 5.423",\
                 "0.5852, 0.6376, 0.7823, 1.016, 1.366, 1.855, 2.497, 3.309, 4.297, 5.481",\
                 "0.6236, 0.6794, 0.8283, 1.065, 1.413, 1.9, 2.543, 3.353, 4.343, 5.524",\
                 "0.6434, 0.7032, 0.8573, 1.099, 1.449, 1.936, 2.578, 3.388, 4.377, 5.555",\
                 "0.6405, 0.7043, 0.865, 1.112, 1.469, 1.959, 2.6, 3.409, 4.397, 5.576",\
                 "0.614, 0.6822, 0.8502, 1.105, 1.466, 1.963, 2.609, 3.418, 4.406, 5.584");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.09396, 0.1317, 0.2395, 0.4249, 0.7261, 1.17, 1.761, 2.513, 3.428, 4.524",\
                 "0.09412, 0.132, 0.2395, 0.4243, 0.7271, 1.168, 1.762, 2.514, 3.433, 4.529",\
                 "0.09406, 0.1321, 0.2397, 0.4247, 0.7262, 1.17, 1.761, 2.514, 3.433, 4.525",\
                 "0.1055, 0.1422, 0.2462, 0.4282, 0.7284, 1.17, 1.762, 2.514, 3.431, 4.527",\
                 "0.127, 0.1654, 0.2694, 0.4448, 0.7348, 1.171, 1.761, 2.513, 3.433, 4.528",\
                 "0.15, 0.1932, 0.295, 0.4676, 0.75, 1.178, 1.764, 2.514, 3.431, 4.526",\
                 "0.1768, 0.222, 0.3292, 0.4962, 0.7676, 1.187, 1.768, 2.513, 3.429, 4.518",\
                 "0.205, 0.2552, 0.3684, 0.536, 0.7998, 1.205, 1.777, 2.518, 3.428, 4.52",\
                 "0.235, 0.2914, 0.4116, 0.5816, 0.8412, 1.242, 1.801, 2.528, 3.435, 4.521",\
                 "0.2662, 0.3248, 0.4564, 0.631, 0.8878, 1.284, 1.842, 2.559, 3.453, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.117, 0.1792, 0.3748, 0.7453, 1.351, 2.212, 3.344, 4.774, 6.53, 8.62",\
                 "0.1175, 0.179, 0.3749, 0.7454, 1.348, 2.208, 3.347, 4.78, 6.521, 8.607",\
                 "0.1175, 0.1792, 0.3753, 0.7456, 1.351, 2.209, 3.349, 4.776, 6.52, 8.604",\
                 "0.1228, 0.1833, 0.3787, 0.7464, 1.349, 2.209, 3.344, 4.78, 6.523, 8.61",\
                 "0.1324, 0.1922, 0.3874, 0.7546, 1.355, 2.212, 3.346, 4.777, 6.522, 8.604",\
                 "0.146, 0.2036, 0.397, 0.759, 1.357, 2.214, 3.348, 4.771, 6.525, 8.605",\
                 "0.1654, 0.2232, 0.4134, 0.7696, 1.361, 2.217, 3.348, 4.778, 6.515, 8.604",\
                 "0.188, 0.246, 0.434, 0.7896, 1.374, 2.22, 3.351, 4.777, 6.521, 8.597",\
                 "0.2092, 0.271, 0.4588, 0.813, 1.398, 2.238, 3.356, 4.782, 6.523, 8.61",\
                 "0.2322, 0.296, 0.4852, 0.8388, 1.424, 2.268, 3.379, 4.792, 6.526, 8.602");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.3191, 0.3602, 0.4616, 0.6075, 0.8077, 1.079, 1.434, 1.881, 2.427, 3.077",\
                 "0.3356, 0.3768, 0.4782, 0.624, 0.8243, 1.096, 1.45, 1.897, 2.443, 3.093",\
                 "0.4, 0.4411, 0.5423, 0.6882, 0.8885, 1.16, 1.515, 1.962, 2.507, 3.157",\
                 "0.5278, 0.5693, 0.6711, 0.8172, 1.017, 1.289, 1.643, 2.09, 2.636, 3.286",\
                 "0.6867, 0.7329, 0.8421, 0.9937, 1.196, 1.467, 1.821, 2.267, 2.812, 3.463",\
                 "0.8727, 0.923, 1.04, 1.199, 1.404, 1.676, 2.03, 2.476, 3.021, 3.671",\
                 "1.087, 1.142, 1.269, 1.435, 1.645, 1.918, 2.272, 2.719, 3.264, 3.913",\
                 "1.33, 1.39, 1.528, 1.704, 1.921, 2.197, 2.552, 2.997, 3.542, 4.192",\
                 "1.602, 1.667, 1.816, 2.004, 2.23, 2.513, 2.869, 3.316, 3.86, 4.509",\
                 "1.905, 1.974, 2.133, 2.334, 2.571, 2.862, 3.225, 3.675, 4.22, 4.869");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.3738, 0.4235, 0.5648, 0.7989, 1.149, 1.639, 2.282, 3.095, 4.084, 5.264",\
                 "0.3828, 0.4323, 0.5738, 0.808, 1.158, 1.648, 2.292, 3.102, 4.094, 5.275",\
                 "0.4085, 0.4579, 0.5994, 0.8332, 1.184, 1.673, 2.317, 3.13, 4.118, 5.299",\
                 "0.4549, 0.5054, 0.6475, 0.8811, 1.231, 1.72, 2.364, 3.174, 4.167, 5.348",\
                 "0.5007, 0.5523, 0.6962, 0.9314, 1.282, 1.771, 2.414, 3.227, 4.214, 5.393",\
                 "0.5362, 0.59, 0.7368, 0.9727, 1.322, 1.811, 2.454, 3.264, 4.256, 5.437",\
                 "0.5527, 0.6092, 0.7613, 1.001, 1.351, 1.838, 2.481, 3.291, 4.28, 5.462",\
                 "0.5449, 0.6056, 0.7632, 1.009, 1.363, 1.851, 2.492, 3.302, 4.291, 5.47",\
                 "0.5102, 0.5748, 0.7397, 0.992, 1.353, 1.847, 2.49, 3.298, 4.286, 5.465",\
                 "0.4466, 0.515, 0.6868, 0.9466, 1.314, 1.815, 2.465, 3.275, 4.264, 5.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.1024, 0.1404, 0.2456, 0.4294, 0.7285, 1.17, 1.763, 2.513, 3.428, 4.528",\
                 "0.1021, 0.1405, 0.2453, 0.4287, 0.7292, 1.171, 1.764, 2.514, 3.429, 4.528",\
                 "0.1024, 0.1406, 0.2461, 0.429, 0.7287, 1.171, 1.764, 2.513, 3.428, 4.527",\
                 "0.1104, 0.1478, 0.251, 0.4316, 0.7302, 1.171, 1.763, 2.513, 3.433, 4.525",\
                 "0.1332, 0.1724, 0.2716, 0.4462, 0.7366, 1.173, 1.762, 2.512, 3.433, 4.526",\
                 "0.1548, 0.1982, 0.298, 0.4682, 0.7486, 1.177, 1.765, 2.514, 3.431, 4.524",\
                 "0.1804, 0.2278, 0.3302, 0.4944, 0.7652, 1.185, 1.768, 2.516, 3.431, 4.523",\
                 "0.2078, 0.2594, 0.3676, 0.5306, 0.7906, 1.199, 1.776, 2.517, 3.429, 4.519",\
                 "0.2374, 0.2938, 0.4096, 0.5708, 0.827, 1.226, 1.79, 2.524, 3.433, 4.521",\
                 "0.2682, 0.3292, 0.4548, 0.6186, 0.8712, 1.266, 1.822, 2.545, 3.443, 4.526");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.1175, 0.1791, 0.375, 0.7453, 1.349, 2.213, 3.345, 4.783, 6.523, 8.61",\
                 "0.1176, 0.1792, 0.3757, 0.7455, 1.348, 2.208, 3.348, 4.777, 6.521, 8.603",\
                 "0.1168, 0.1793, 0.3752, 0.7457, 1.351, 2.212, 3.344, 4.774, 6.53, 8.62",\
                 "0.1224, 0.1837, 0.3786, 0.7464, 1.351, 2.21, 3.348, 4.776, 6.523, 8.6",\
                 "0.1322, 0.1926, 0.3886, 0.7546, 1.351, 2.209, 3.345, 4.774, 6.527, 8.609",\
                 "0.1452, 0.2052, 0.3998, 0.7606, 1.356, 2.215, 3.346, 4.774, 6.522, 8.606",\
                 "0.1622, 0.2228, 0.418, 0.7746, 1.363, 2.214, 3.349, 4.773, 6.517, 8.602",\
                 "0.1832, 0.2446, 0.4388, 0.7962, 1.378, 2.22, 3.348, 4.775, 6.531, 8.593",\
                 "0.2044, 0.2684, 0.4626, 0.8228, 1.405, 2.243, 3.357, 4.778, 6.519, 8.599",\
                 "0.2262, 0.292, 0.4868, 0.851, 1.436, 2.28, 3.389, 4.791, 6.522, 8.597");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.3478, 0.3906, 0.4947, 0.643, 0.8444, 1.116, 1.471, 1.918, 2.464, 3.114",\
                 "0.363, 0.4058, 0.5102, 0.6583, 0.8597, 1.132, 1.487, 1.934, 2.479, 3.129",\
                 "0.4282, 0.4709, 0.5749, 0.7233, 0.9247, 1.196, 1.552, 1.999, 2.544, 3.195",\
                 "0.5607, 0.6034, 0.7075, 0.8557, 1.057, 1.329, 1.684, 2.131, 2.676, 3.327",\
                 "0.7331, 0.7804, 0.8917, 1.044, 1.246, 1.518, 1.872, 2.319, 2.865, 3.514",\
                 "0.9356, 0.9873, 1.107, 1.265, 1.471, 1.744, 2.098, 2.544, 3.09, 3.74",\
                 "1.174, 1.23, 1.358, 1.525, 1.734, 2.007, 2.362, 2.808, 3.353, 4.002",\
                 "1.449, 1.509, 1.648, 1.824, 2.04, 2.315, 2.67, 3.115, 3.66, 4.31",\
                 "1.761, 1.826, 1.976, 2.162, 2.386, 2.667, 3.023, 3.469, 4.013, 4.663",\
                 "2.112, 2.181, 2.341, 2.541, 2.775, 3.062, 3.423, 3.872, 4.417, 5.066");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.3876, 0.4372, 0.5786, 0.8127, 1.163, 1.653, 2.297, 3.108, 4.098, 5.279",\
                 "0.397, 0.4468, 0.588, 0.8222, 1.173, 1.662, 2.307, 3.119, 4.108, 5.29",\
                 "0.4132, 0.4627, 0.6041, 0.838, 1.188, 1.678, 2.323, 3.135, 4.125, 5.307",\
                 "0.4351, 0.4853, 0.6275, 0.8612, 1.212, 1.701, 2.346, 3.156, 4.148, 5.329",\
                 "0.4516, 0.5035, 0.6481, 0.8835, 1.234, 1.723, 2.367, 3.179, 4.17, 5.351",\
                 "0.4555, 0.5095, 0.6581, 0.896, 1.246, 1.734, 2.377, 3.187, 4.18, 5.361",\
                 "0.4356, 0.493, 0.6467, 0.8907, 1.243, 1.73, 2.373, 3.182, 4.172, 5.354",\
                 "0.3865, 0.4474, 0.6076, 0.8586, 1.218, 1.709, 2.35, 3.16, 4.148, 5.327",\
                 "0.3047, 0.369, 0.5357, 0.7952, 1.162, 1.661, 2.307, 3.116, 4.103, 5.281",\
                 "0.1874, 0.2554, 0.4285, 0.6953, 1.071, 1.58, 2.236, 3.049, 4.035, 5.214");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.1097, 0.1481, 0.2532, 0.4353, 0.7331, 1.173, 1.764, 2.515, 3.433, 4.527",\
                 "0.1101, 0.1485, 0.253, 0.4355, 0.7332, 1.172, 1.765, 2.515, 3.434, 4.527",\
                 "0.11, 0.1489, 0.2535, 0.4357, 0.7329, 1.172, 1.765, 2.516, 3.434, 4.523",\
                 "0.1146, 0.1525, 0.2562, 0.437, 0.7326, 1.172, 1.765, 2.515, 3.432, 4.521",\
                 "0.137, 0.1784, 0.2766, 0.4496, 0.7392, 1.174, 1.765, 2.514, 3.429, 4.527",\
                 "0.1598, 0.2032, 0.3028, 0.471, 0.7502, 1.179, 1.766, 2.513, 3.432, 4.523",\
                 "0.1844, 0.2314, 0.332, 0.4948, 0.7656, 1.186, 1.768, 2.514, 3.431, 4.523",\
                 "0.2102, 0.2634, 0.3694, 0.5274, 0.7898, 1.199, 1.774, 2.517, 3.429, 4.52",\
                 "0.239, 0.2952, 0.4088, 0.5658, 0.8216, 1.221, 1.787, 2.524, 3.435, 4.521",\
                 "0.2688, 0.3304, 0.4528, 0.6112, 0.8614, 1.257, 1.814, 2.541, 3.443, 4.527");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005945, 0.0233, 0.05645, 0.1081, 0.1806, 0.2759, 0.396, 0.5427, 0.7175");
          values("0.1175, 0.1792, 0.375, 0.7453, 1.348, 2.213, 3.347, 4.781, 6.521, 8.607",\
                 "0.1176, 0.1791, 0.3747, 0.7453, 1.348, 2.209, 3.344, 4.774, 6.521, 8.6",\
                 "0.1171, 0.1791, 0.3752, 0.7459, 1.348, 2.208, 3.344, 4.776, 6.521, 8.603",\
                 "0.1221, 0.1828, 0.3777, 0.7472, 1.352, 2.209, 3.344, 4.774, 6.525, 8.601",\
                 "0.13, 0.1914, 0.3872, 0.7528, 1.351, 2.209, 3.344, 4.774, 6.524, 8.602",\
                 "0.1428, 0.2052, 0.401, 0.7612, 1.356, 2.211, 3.348, 4.776, 6.522, 8.608",\
                 "0.16, 0.2212, 0.4218, 0.7802, 1.364, 2.212, 3.346, 4.774, 6.513, 8.6",\
                 "0.1782, 0.2414, 0.4428, 0.8064, 1.387, 2.224, 3.348, 4.773, 6.529, 8.596",\
                 "0.1976, 0.2636, 0.4652, 0.8362, 1.422, 2.256, 3.367, 4.779, 6.516, 8.601",\
                 "0.2194, 0.2866, 0.4896, 0.8654, 1.457, 2.303, 3.404, 4.805, 6.522, 8.597");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__and3_4) {
    area : 43.904000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "8.99052e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "8.99052e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "8.99514e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "9.00636e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "0.0001224696" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "0.0001225719" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "0.0001542618" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "0.0001352769" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001542618" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009005 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03655, 0.03645, 0.03626, 0.0363, 0.03633, 0.0364, 0.03641, 0.03641, \
                 0.03634, 0.03641");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02432, -0.02424, -0.02426, -0.02431, -0.02429, -0.02444, -0.02446, \
                 -0.02444, -0.02447, -0.02452");
        }
      }

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03655, 0.03648, 0.0363, 0.03633, 0.03634, 0.03643, 0.03638, \
                 0.03636, 0.03634, 0.03633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02432, -0.02426, -0.0243, -0.02435, -0.02433, -0.02446, -0.02446, \
                 -0.02447, -0.02452, -0.02457");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03643, 0.03643, 0.03629, 0.03631, 0.03629, 0.0364, 0.03637, \
                 0.03638, 0.03633, 0.03632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004854, 0.004871, 0.004799, 0.004699, 0.004676, 0.004596, 0.004528, \
                 0.004463, 0.004409, 0.004348");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009435 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04344, 0.04371, 0.04439, 0.0451, 0.04564, 0.04613, 0.04638, \
                 0.04651, 0.04667, 0.04669");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03267, -0.03255, -0.03251, -0.03252, -0.03246, -0.03253, -0.03253, \
                 -0.03254, -0.03255, -0.03252");
        }
      }

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03731, 0.03405, 0.03268, 0.03258, 0.03257, 0.03265, 0.03263, \
                 0.03266, 0.03264, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03256, -0.03252, -0.03251, -0.0325, -0.03243, -0.03252, -0.03254, \
                 -0.03253, -0.03252, -0.03253");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03584, 0.03578, 0.03576, 0.03573, 0.03569, 0.03572, 0.03568, \
                 0.03567, 0.03564, 0.03562");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02859, -0.02849, -0.02846, -0.02852, -0.0285, -0.02863, -0.02862, \
                 -0.0287, -0.02876, -0.02884");
        }
      }
    }

    pin(A3) {
      capacitance : 0.01016 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03278, 0.03271, 0.03264, 0.03258, 0.03257, 0.03265, 0.03263, \
                 0.03264, 0.03269, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03267, -0.03258, -0.03255, -0.03245, -0.03243, -0.03254, -0.03252, \
                 -0.03251, -0.03252, -0.03252");
        }
      }

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03376, 0.03269, 0.03257, 0.03261, 0.03258, 0.03267, 0.03266, \
                 0.03267, 0.03262, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03261, -0.03257, -0.0325, -0.03249, -0.03248, -0.03255, -0.03255, \
                 -0.03254, -0.03253, -0.03253");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03436, 0.03274, 0.03266, 0.03258, 0.03257, 0.03262, 0.03267, \
                 0.03265, 0.03264, 0.03266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03266, -0.03257, -0.03255, -0.03247, -0.03246, -0.03254, -0.03252, \
                 -0.03251, -0.03261, -0.03252");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2&A3)" ;
      max_capacitance : 1.44 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.2602, 0.2568, 0.2556, 0.256, 0.2561, 0.2559, 0.2559, 0.256, 0.256, 0.256",\
                 "0.2597, 0.2563, 0.2551, 0.2556, 0.2553, 0.2554, 0.2554, 0.2555, 0.2555, 0.2555",\
                 "0.2613, 0.2575, 0.2554, 0.2557, 0.2559, 0.2558, 0.2561, 0.2562, 0.2562, 0.2562",\
                 "0.2828, 0.276, 0.2695, 0.2675, 0.267, 0.2664, 0.2663, 0.2663, 0.2663, 0.2663",\
                 "0.3228, 0.3124, 0.3006, 0.2947, 0.2922, 0.2911, 0.2905, 0.2902, 0.29, 0.2898",\
                 "0.3831, 0.3692, 0.3507, 0.3405, 0.3354, 0.3327, 0.3308, 0.33, 0.3294, 0.329",\
                 "0.4634, 0.4467, 0.4216, 0.4056, 0.3971, 0.392, 0.3889, 0.387, 0.3858, 0.3851",\
                 "0.564, 0.5453, 0.5128, 0.4913, 0.4776, 0.4698, 0.4657, 0.4622, 0.4606, 0.4592",\
                 "0.6858, 0.6644, 0.6252, 0.5972, 0.5791, 0.5683, 0.5612, 0.5568, 0.554, 0.5518",\
                 "0.8285, 0.8055, 0.7597, 0.7254, 0.7022, 0.6875, 0.6776, 0.6714, 0.6672, 0.6642");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.1791, 0.1722, 0.1646, 0.1625, 0.1628, 0.1651, 0.1666, 0.1705, 0.1741, 0.1878",\
                 "0.1778, 0.1705, 0.163, 0.1611, 0.1615, 0.1638, 0.1652, 0.1681, 0.1721, 0.1861",\
                 "0.1781, 0.1709, 0.1634, 0.1605, 0.1611, 0.1638, 0.1652, 0.1681, 0.1718, 0.187",\
                 "0.1949, 0.1865, 0.1766, 0.1719, 0.1709, 0.1727, 0.1738, 0.1771, 0.1824, 0.1968",\
                 "0.2277, 0.2172, 0.2043, 0.1975, 0.1943, 0.1948, 0.1963, 0.1978, 0.2016, 0.2216",\
                 "0.2791, 0.2661, 0.249, 0.2383, 0.2348, 0.2324, 0.2322, 0.2335, 0.2369, 0.2589",\
                 "0.3496, 0.3338, 0.313, 0.2965, 0.2903, 0.2882, 0.286, 0.2856, 0.2872, 0.3153",\
                 "0.4395, 0.4204, 0.3951, 0.3738, 0.3623, 0.3555, 0.3589, 0.3568, 0.356, 0.3968",\
                 "0.5493, 0.5272, 0.4963, 0.4731, 0.4561, 0.4449, 0.4418, 0.4469, 0.45, 0.5016",\
                 "0.6791, 0.654, 0.6185, 0.5914, 0.5703, 0.5568, 0.549, 0.5474, 0.5619, 0.6417");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.2942, 0.2899, 0.2869, 0.2866, 0.2864, 0.2863, 0.2862, 0.2861, 0.2861, 0.2861",\
                 "0.293, 0.2884, 0.2859, 0.2852, 0.2849, 0.2853, 0.2849, 0.2849, 0.2849, 0.2849",\
                 "0.2943, 0.2894, 0.2861, 0.2853, 0.2856, 0.2855, 0.2856, 0.2856, 0.2856, 0.2856",\
                 "0.3159, 0.3083, 0.3006, 0.298, 0.2968, 0.2964, 0.2962, 0.2961, 0.2961, 0.296",\
                 "0.3575, 0.3469, 0.3338, 0.3273, 0.3239, 0.3225, 0.3218, 0.3212, 0.3211, 0.3209",\
                 "0.4201, 0.406, 0.3869, 0.3757, 0.3693, 0.3662, 0.3644, 0.3633, 0.3627, 0.3624",\
                 "0.5036, 0.487, 0.4608, 0.4441, 0.4341, 0.4287, 0.4254, 0.4235, 0.4222, 0.4214",\
                 "0.6082, 0.5893, 0.5564, 0.5336, 0.5189, 0.5106, 0.5054, 0.5023, 0.5002, 0.4986",\
                 "0.7343, 0.7132, 0.6734, 0.6443, 0.6251, 0.6132, 0.6056, 0.6009, 0.5977, 0.5954",\
                 "0.8819, 0.8588, 0.8138, 0.7777, 0.7529, 0.737, 0.7269, 0.7199, 0.7158, 0.7122");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.1791, 0.1719, 0.1645, 0.1626, 0.1629, 0.1651, 0.1666, 0.1691, 0.1725, 0.1881",\
                 "0.1776, 0.1705, 0.1629, 0.161, 0.1614, 0.1638, 0.1656, 0.1688, 0.1738, 0.1851",\
                 "0.1764, 0.1691, 0.1618, 0.1589, 0.1596, 0.1618, 0.1633, 0.1655, 0.1698, 0.1837",\
                 "0.1898, 0.1816, 0.1723, 0.1678, 0.1671, 0.1687, 0.1699, 0.1728, 0.1791, 0.1932",\
                 "0.2198, 0.2096, 0.1974, 0.1919, 0.1887, 0.1895, 0.1907, 0.1929, 0.1963, 0.2144",\
                 "0.2705, 0.2581, 0.2424, 0.2319, 0.229, 0.2271, 0.2266, 0.2279, 0.2317, 0.2549",\
                 "0.3411, 0.3263, 0.3066, 0.2913, 0.2838, 0.2836, 0.2821, 0.282, 0.2829, 0.3127",\
                 "0.4318, 0.4141, 0.3894, 0.3707, 0.3584, 0.3519, 0.354, 0.3528, 0.3537, 0.3871",\
                 "0.5424, 0.5219, 0.4924, 0.4694, 0.4543, 0.4436, 0.4405, 0.4459, 0.446, 0.4972",\
                 "0.6731, 0.6496, 0.6165, 0.5888, 0.5677, 0.5561, 0.548, 0.5494, 0.5615, 0.6407");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.324, 0.3184, 0.3144, 0.3129, 0.3125, 0.3123, 0.3122, 0.3122, 0.3121, 0.3121",\
                 "0.3221, 0.3166, 0.3124, 0.3117, 0.3108, 0.3105, 0.3104, 0.3103, 0.3103, 0.3103",\
                 "0.3235, 0.3177, 0.3132, 0.3123, 0.3117, 0.3114, 0.3114, 0.3114, 0.3115, 0.3114",\
                 "0.3455, 0.3373, 0.3288, 0.3251, 0.3239, 0.3234, 0.3232, 0.323, 0.323, 0.3229",\
                 "0.3893, 0.3779, 0.364, 0.3569, 0.3527, 0.3512, 0.3504, 0.3498, 0.3496, 0.3492",\
                 "0.455, 0.4407, 0.4207, 0.4085, 0.4017, 0.3985, 0.3964, 0.3951, 0.3944, 0.3939",\
                 "0.5438, 0.5269, 0.5002, 0.4826, 0.4721, 0.466, 0.4626, 0.4603, 0.4589, 0.4581",\
                 "0.656, 0.6366, 0.6036, 0.5798, 0.5645, 0.5555, 0.55, 0.5465, 0.5443, 0.5426",\
                 "0.7916, 0.7707, 0.7308, 0.7007, 0.6801, 0.6672, 0.6596, 0.6542, 0.6509, 0.6487",\
                 "0.9515, 0.9288, 0.8829, 0.8463, 0.8201, 0.8033, 0.7926, 0.7848, 0.78, 0.7769");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.1791, 0.172, 0.1644, 0.1628, 0.1628, 0.1651, 0.1666, 0.1691, 0.1745, 0.1864",\
                 "0.1776, 0.1704, 0.1629, 0.1612, 0.1614, 0.1638, 0.1649, 0.1681, 0.1731, 0.1867",\
                 "0.1753, 0.1682, 0.1609, 0.1582, 0.1586, 0.1608, 0.1623, 0.1648, 0.1702, 0.1834",\
                 "0.1858, 0.1779, 0.169, 0.1652, 0.1651, 0.1664, 0.1689, 0.1714, 0.1745, 0.1905",\
                 "0.2139, 0.2043, 0.1923, 0.1882, 0.1856, 0.1869, 0.1877, 0.1919, 0.197, 0.2128",\
                 "0.2653, 0.2531, 0.2379, 0.2286, 0.2276, 0.2255, 0.2253, 0.2266, 0.2333, 0.2524",\
                 "0.3384, 0.3243, 0.3043, 0.292, 0.2841, 0.2842, 0.2847, 0.2855, 0.2858, 0.3125",\
                 "0.4336, 0.4167, 0.3929, 0.3749, 0.3644, 0.3595, 0.3619, 0.3624, 0.3638, 0.3974",\
                 "0.5502, 0.5311, 0.5021, 0.4806, 0.4661, 0.4571, 0.456, 0.461, 0.4615, 0.5101",\
                 "0.689, 0.6676, 0.6349, 0.608, 0.5892, 0.5773, 0.5708, 0.5706, 0.5854, 0.6564");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.2312, 0.2692, 0.3654, 0.5107, 0.72, 1.01, 1.39, 1.87, 2.455, 3.154",\
                 "0.2489, 0.2868, 0.3831, 0.5284, 0.7378, 1.027, 1.408, 1.887, 2.473, 3.171",\
                 "0.3137, 0.3513, 0.4472, 0.5927, 0.8021, 1.092, 1.472, 1.952, 2.537, 3.235",\
                 "0.4209, 0.4611, 0.5604, 0.7074, 0.9165, 1.206, 1.586, 2.066, 2.651, 3.35",\
                 "0.5411, 0.5856, 0.6915, 0.8437, 1.055, 1.344, 1.724, 2.203, 2.789, 3.486",\
                 "0.6739, 0.7234, 0.8382, 0.997, 1.211, 1.5, 1.881, 2.359, 2.944, 3.642",\
                 "0.8178, 0.8722, 0.9984, 1.166, 1.385, 1.676, 2.056, 2.536, 3.12, 3.817",\
                 "0.9719, 1.031, 1.169, 1.349, 1.576, 1.872, 2.254, 2.732, 3.317, 4.013",\
                 "1.138, 1.202, 1.35, 1.542, 1.779, 2.082, 2.47, 2.951, 3.535, 4.232",\
                 "1.316, 1.384, 1.543, 1.748, 1.996, 2.307, 2.702, 3.191, 3.78, 4.476");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.3469, 0.398, 0.5413, 0.776, 1.127, 1.616, 2.261, 3.072, 4.065, 5.246",\
                 "0.3561, 0.4073, 0.5502, 0.7853, 1.136, 1.625, 2.27, 3.083, 4.071, 5.255",\
                 "0.3956, 0.4468, 0.5897, 0.8243, 1.175, 1.665, 2.309, 3.121, 4.112, 5.295",\
                 "0.4693, 0.5212, 0.6643, 0.8983, 1.248, 1.738, 2.383, 3.194, 4.186, 5.368",\
                 "0.5438, 0.5965, 0.7408, 0.9762, 1.326, 1.815, 2.46, 3.272, 4.263, 5.444",\
                 "0.6177, 0.6719, 0.8181, 1.053, 1.403, 1.892, 2.535, 3.347, 4.338, 5.518",\
                 "0.6851, 0.7429, 0.8935, 1.13, 1.479, 1.967, 2.611, 3.421, 4.412, 5.591",\
                 "0.743, 0.8049, 0.9608, 1.202, 1.556, 2.041, 2.683, 3.494, 4.484, 5.664",\
                 "0.7896, 0.8553, 1.018, 1.267, 1.623, 2.114, 2.756, 3.565, 4.555, 5.734",\
                 "0.8222, 0.8924, 1.063, 1.319, 1.682, 2.179, 2.826, 3.635, 4.624, 5.805");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.07666, 0.1158, 0.2264, 0.4293, 0.7626, 1.245, 1.884, 2.691, 3.674, 4.856",\
                 "0.07682, 0.1157, 0.2264, 0.4293, 0.7633, 1.245, 1.884, 2.692, 3.679, 4.852",\
                 "0.0771, 0.1164, 0.2268, 0.4297, 0.7633, 1.244, 1.883, 2.688, 3.678, 4.853",\
                 "0.09224, 0.1298, 0.2363, 0.4334, 0.7628, 1.244, 1.883, 2.69, 3.672, 4.856",\
                 "0.1126, 0.1516, 0.2574, 0.4478, 0.7694, 1.246, 1.884, 2.692, 3.678, 4.846",\
                 "0.1358, 0.1786, 0.284, 0.4682, 0.7796, 1.249, 1.884, 2.69, 3.675, 4.853",\
                 "0.162, 0.2092, 0.3184, 0.497, 0.7974, 1.258, 1.889, 2.689, 3.67, 4.842",\
                 "0.1882, 0.242, 0.3562, 0.5336, 0.828, 1.279, 1.898, 2.693, 3.671, 4.84",\
                 "0.2152, 0.2724, 0.3972, 0.576, 0.8654, 1.313, 1.925, 2.708, 3.68, 4.844",\
                 "0.2444, 0.306, 0.4378, 0.621, 0.9058, 1.352, 1.969, 2.746, 3.7, 4.853");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.1122, 0.174, 0.3705, 0.7409, 1.346, 2.207, 3.343, 4.773, 6.519, 8.6",\
                 "0.112, 0.1741, 0.3709, 0.7401, 1.345, 2.207, 3.338, 4.772, 6.524, 8.599",\
                 "0.1116, 0.1742, 0.3709, 0.7401, 1.343, 2.204, 3.344, 4.776, 6.52, 8.6",\
                 "0.1171, 0.1781, 0.3739, 0.7418, 1.343, 2.208, 3.339, 4.771, 6.522, 8.601",\
                 "0.1256, 0.1858, 0.3824, 0.7492, 1.347, 2.205, 3.34, 4.772, 6.519, 8.602",\
                 "0.1402, 0.1986, 0.3912, 0.7532, 1.352, 2.208, 3.343, 4.769, 6.528, 8.602",\
                 "0.1594, 0.2166, 0.4072, 0.7638, 1.354, 2.212, 3.346, 4.769, 6.516, 8.6",\
                 "0.1782, 0.237, 0.4274, 0.7834, 1.367, 2.216, 3.347, 4.775, 6.515, 8.592",\
                 "0.2008, 0.263, 0.4514, 0.8082, 1.391, 2.229, 3.35, 4.779, 6.522, 8.609",\
                 "0.2242, 0.2882, 0.4762, 0.8336, 1.419, 2.262, 3.372, 4.784, 6.522, 8.601");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.2573, 0.2968, 0.3949, 0.5411, 0.7509, 1.041, 1.421, 1.9, 2.486, 3.183",\
                 "0.2743, 0.3137, 0.4117, 0.5582, 0.7679, 1.058, 1.438, 1.918, 2.503, 3.2",\
                 "0.3393, 0.3785, 0.4764, 0.6227, 0.8325, 1.122, 1.503, 1.982, 2.567, 3.265",\
                 "0.4552, 0.4965, 0.5966, 0.7437, 0.9534, 1.243, 1.623, 2.102, 2.688, 3.386",\
                 "0.5883, 0.6342, 0.7416, 0.8936, 1.105, 1.394, 1.774, 2.254, 2.838, 3.536",\
                 "0.7395, 0.7904, 0.9063, 1.064, 1.277, 1.567, 1.947, 2.426, 3.01, 3.707",\
                 "0.9076, 0.9635, 1.09, 1.256, 1.474, 1.764, 2.144, 2.622, 3.206, 3.903",\
                 "1.093, 1.154, 1.292, 1.469, 1.693, 1.986, 2.366, 2.845, 3.429, 4.126",\
                 "1.296, 1.362, 1.51, 1.7, 1.933, 2.232, 2.617, 3.096, 3.68, 4.377",\
                 "1.518, 1.588, 1.748, 1.95, 2.192, 2.499, 2.89, 3.375, 3.962, 4.658");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.3745, 0.4258, 0.569, 0.8037, 1.155, 1.644, 2.288, 3.102, 4.092, 5.274",\
                 "0.3827, 0.4341, 0.5771, 0.8118, 1.163, 1.653, 2.297, 3.107, 4.101, 5.28",\
                 "0.4074, 0.4586, 0.6014, 0.8361, 1.187, 1.677, 2.321, 3.134, 4.122, 5.303",\
                 "0.4563, 0.5084, 0.6522, 0.8866, 1.237, 1.726, 2.371, 3.183, 4.175, 5.356",\
                 "0.5108, 0.5643, 0.7103, 0.9464, 1.297, 1.786, 2.43, 3.241, 4.232, 5.412",\
                 "0.5644, 0.6202, 0.7689, 1.006, 1.356, 1.845, 2.488, 3.3, 4.291, 5.473",\
                 "0.6077, 0.6667, 0.8206, 1.062, 1.411, 1.9, 2.543, 3.353, 4.343, 5.523",\
                 "0.6365, 0.6993, 0.8593, 1.107, 1.462, 1.95, 2.592, 3.402, 4.391, 5.571",\
                 "0.6477, 0.715, 0.8819, 1.137, 1.5, 1.993, 2.635, 3.445, 4.434, 5.613",\
                 "0.64, 0.7111, 0.8858, 1.148, 1.518, 2.021, 2.671, 3.482, 4.469, 5.649");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.08276, 0.1215, 0.2306, 0.4319, 0.7641, 1.245, 1.884, 2.692, 3.672, 4.85",\
                 "0.08284, 0.1215, 0.2312, 0.4314, 0.7643, 1.245, 1.883, 2.691, 3.673, 4.851",\
                 "0.083, 0.1217, 0.2308, 0.4316, 0.7643, 1.245, 1.884, 2.692, 3.675, 4.847",\
                 "0.09628, 0.1333, 0.2381, 0.4342, 0.7652, 1.245, 1.885, 2.692, 3.676, 4.844",\
                 "0.1162, 0.1558, 0.2592, 0.448, 0.7696, 1.247, 1.883, 2.688, 3.676, 4.848",\
                 "0.1402, 0.182, 0.2844, 0.4666, 0.7784, 1.251, 1.885, 2.69, 3.673, 4.848",\
                 "0.1644, 0.2118, 0.3154, 0.4936, 0.793, 1.257, 1.887, 2.69, 3.672, 4.845",\
                 "0.1918, 0.2438, 0.3534, 0.5266, 0.8188, 1.273, 1.896, 2.693, 3.671, 4.844",\
                 "0.2192, 0.2772, 0.3936, 0.5654, 0.8524, 1.3, 1.916, 2.704, 3.676, 4.844",\
                 "0.247, 0.3092, 0.4368, 0.61, 0.891, 1.335, 1.949, 2.73, 3.692, 4.849");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.1124, 0.174, 0.3704, 0.7409, 1.343, 2.208, 3.343, 4.77, 6.531, 8.602",\
                 "0.1122, 0.1741, 0.3704, 0.7416, 1.343, 2.204, 3.345, 4.769, 6.521, 8.619",\
                 "0.1119, 0.1744, 0.3707, 0.7403, 1.346, 2.205, 3.34, 4.77, 6.526, 8.616",\
                 "0.1174, 0.1787, 0.3741, 0.7418, 1.343, 2.204, 3.339, 4.78, 6.52, 8.599",\
                 "0.1272, 0.1876, 0.3842, 0.7502, 1.349, 2.206, 3.343, 4.777, 6.529, 8.614",\
                 "0.1386, 0.1996, 0.3942, 0.7548, 1.351, 2.209, 3.344, 4.771, 6.52, 8.6",\
                 "0.1568, 0.217, 0.4124, 0.7678, 1.356, 2.211, 3.343, 4.775, 6.512, 8.6",\
                 "0.1762, 0.2394, 0.433, 0.792, 1.371, 2.214, 3.344, 4.773, 6.528, 8.597",\
                 "0.197, 0.262, 0.4572, 0.8194, 1.401, 2.239, 3.353, 4.774, 6.517, 8.612",\
                 "0.2176, 0.285, 0.4836, 0.8492, 1.434, 2.275, 3.38, 4.785, 6.522, 8.596");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.2764, 0.3171, 0.4174, 0.5653, 0.7757, 1.066, 1.446, 1.926, 2.511, 3.209",\
                 "0.2926, 0.3332, 0.4335, 0.5813, 0.7918, 1.082, 1.463, 1.942, 2.527, 3.225",\
                 "0.3581, 0.3986, 0.4986, 0.6464, 0.8571, 1.147, 1.528, 2.007, 2.592, 3.29",\
                 "0.4806, 0.5225, 0.6239, 0.7721, 0.9823, 1.272, 1.653, 2.132, 2.718, 3.414",\
                 "0.6257, 0.6725, 0.7809, 0.9339, 1.146, 1.435, 1.815, 2.294, 2.879, 3.576",\
                 "0.7944, 0.846, 0.9627, 1.121, 1.334, 1.624, 2.004, 2.483, 3.068, 3.765",\
                 "0.987, 1.043, 1.17, 1.336, 1.553, 1.843, 2.223, 2.702, 3.287, 3.983",\
                 "1.204, 1.266, 1.404, 1.579, 1.803, 2.095, 2.475, 2.954, 3.538, 4.235",\
                 "1.448, 1.514, 1.664, 1.85, 2.081, 2.38, 2.763, 3.243, 3.827, 4.523",\
                 "1.719, 1.79, 1.951, 2.15, 2.389, 2.695, 3.085, 3.568, 4.154, 4.85");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.3871, 0.4383, 0.5812, 0.8162, 1.167, 1.657, 2.301, 3.113, 4.103, 5.284",\
                 "0.3953, 0.4466, 0.5896, 0.8245, 1.175, 1.665, 2.309, 3.121, 4.112, 5.293",\
                 "0.4096, 0.4607, 0.6038, 0.8385, 1.189, 1.679, 2.323, 3.136, 4.128, 5.31",\
                 "0.4329, 0.4852, 0.6289, 0.8635, 1.214, 1.704, 2.349, 3.161, 4.153, 5.335",\
                 "0.4575, 0.5113, 0.6574, 0.894, 1.245, 1.734, 2.378, 3.189, 4.181, 5.364",\
                 "0.4775, 0.5337, 0.6843, 0.923, 1.273, 1.762, 2.405, 3.216, 4.206, 5.391",\
                 "0.4822, 0.5417, 0.6976, 0.9432, 1.296, 1.784, 2.427, 3.237, 4.227, 5.407",\
                 "0.4659, 0.5293, 0.6925, 0.9458, 1.306, 1.797, 2.439, 3.249, 4.238, 5.417",\
                 "0.4257, 0.4931, 0.6627, 0.925, 1.296, 1.796, 2.442, 3.251, 4.239, 5.419",\
                 "0.3593, 0.4305, 0.6071, 0.8777, 1.258, 1.771, 2.427, 3.24, 4.228, 5.407");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.0877, 0.1266, 0.2361, 0.4351, 0.7658, 1.245, 1.885, 2.689, 3.674, 4.845",\
                 "0.08772, 0.1269, 0.2359, 0.4361, 0.7656, 1.247, 1.885, 2.692, 3.677, 4.848",\
                 "0.08816, 0.127, 0.2358, 0.4348, 0.7665, 1.245, 1.883, 2.692, 3.677, 4.849",\
                 "0.09912, 0.1362, 0.2414, 0.4376, 0.7668, 1.245, 1.885, 2.688, 3.672, 4.85",\
                 "0.1204, 0.1592, 0.262, 0.45, 0.7708, 1.247, 1.885, 2.691, 3.676, 4.85",\
                 "0.1426, 0.1848, 0.2868, 0.4674, 0.78, 1.25, 1.885, 2.691, 3.671, 4.849",\
                 "0.1672, 0.2158, 0.3176, 0.4926, 0.793, 1.257, 1.888, 2.689, 3.673, 4.846",\
                 "0.1936, 0.246, 0.3526, 0.524, 0.816, 1.27, 1.894, 2.693, 3.673, 4.842",\
                 "0.2224, 0.2792, 0.393, 0.5614, 0.8478, 1.295, 1.912, 2.7, 3.677, 4.844",\
                 "0.2498, 0.3124, 0.4364, 0.604, 0.8842, 1.329, 1.945, 2.723, 3.689, 4.849");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.553, 0.7943, 1.089, 1.44");
          values("0.1118, 0.1742, 0.3708, 0.7402, 1.346, 2.208, 3.342, 4.778, 6.519, 8.607",\
                 "0.1122, 0.1739, 0.3706, 0.7401, 1.346, 2.208, 3.343, 4.775, 6.517, 8.604",\
                 "0.1119, 0.1742, 0.3706, 0.7406, 1.346, 2.207, 3.343, 4.773, 6.517, 8.604",\
                 "0.1165, 0.1778, 0.3734, 0.7418, 1.346, 2.204, 3.34, 4.771, 6.521, 8.604",\
                 "0.1242, 0.1868, 0.3826, 0.7478, 1.348, 2.207, 3.34, 4.771, 6.519, 8.604",\
                 "0.1384, 0.1994, 0.3958, 0.7564, 1.35, 2.209, 3.343, 4.774, 6.515, 8.606",\
                 "0.153, 0.2172, 0.4166, 0.7758, 1.358, 2.208, 3.339, 4.769, 6.517, 8.598",\
                 "0.1726, 0.2378, 0.4394, 0.8042, 1.383, 2.221, 3.343, 4.77, 6.516, 8.591",\
                 "0.1912, 0.2584, 0.4636, 0.8362, 1.42, 2.253, 3.363, 4.772, 6.514, 8.61",\
                 "0.2106, 0.2814, 0.4878, 0.8686, 1.463, 2.306, 3.399, 4.791, 6.52, 8.594");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__and4_1) {
    area : 24.147200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "4.43916e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "4.43916e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "4.43916e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "4.43949e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "4.44477e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "4.44477e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "4.4484e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "4.46556e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "6.09543e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "6.09576e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "6.09972e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "6.11391e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "7.70979e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "7.72761e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "9.31887e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "7.83354e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "9.31887e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.002928 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009096, 0.009065, 0.009025, 0.009012, 0.009014, 0.009013, 0.009025, \
                 0.009009, 0.009023, 0.009021");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005473, -0.005463, -0.00548, -0.005476, -0.005478, -0.005494, \
                 -0.005501, -0.005504, -0.005508, -0.005529");
        }
      }

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009094, 0.009066, 0.009015, 0.009019, 0.009013, 0.009031, 0.009023, \
                 0.009019, 0.009029, 0.009014");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005469, -0.005466, -0.005478, -0.005479, -0.005482, -0.005504, \
                 -0.005501, -0.005511, -0.005513, -0.005527");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009094, 0.009056, 0.009012, 0.009023, 0.009019, 0.009027, 0.00902, \
                 0.009016, 0.009026, 0.009011");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00547, -0.005465, -0.005478, -0.00548, -0.00548, -0.005502, \
                 -0.005503, -0.00551, -0.005507, -0.005523");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009082, 0.00906, 0.009036, 0.009038, 0.009008, 0.009027, 0.009024, \
                 0.009018, 0.009016, 0.009014");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005472, -0.00547, -0.005476, -0.005486, -0.005487, -0.005487, \
                 -0.005499, -0.005498, -0.005522, -0.00553");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009052, 0.009038, 0.009016, 0.009019, 0.009014, 0.009023, 0.009028, \
                 0.009022, 0.009027, 0.009019");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00372, 0.003735, 0.003709, 0.003672, 0.003656, 0.003638, 0.003621, \
                 0.003622, 0.003607, 0.003572");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009044, 0.009039, 0.009019, 0.009024, 0.009006, 0.009021, 0.009023, \
                 0.009019, 0.009017, 0.009013");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003727, 0.003733, 0.003709, 0.003674, 0.003664, 0.003635, 0.003626, \
                 0.003609, 0.003604, 0.003563");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009044, 0.009039, 0.009019, 0.009022, 0.009005, 0.009021, 0.009021, \
                 0.009018, 0.009016, 0.009014");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01278, 0.01279, 0.01277, 0.01273, 0.0127, 0.01267, 0.01265, \
                 0.01262, 0.01261, 0.01256");
        }
      }
    }

    pin(A2) {
      capacitance : 0.003002 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01123, 0.01127, 0.0114, 0.01155, 0.01169, 0.01178, 0.01184, \
                 0.01187, 0.01189, 0.01191");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00801, -0.007974, -0.00796, -0.007939, -0.00794, -0.007963, \
                 -0.007958, -0.007958, -0.007951, -0.007955");
        }
      }

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01098, 0.01105, 0.0112, 0.0114, 0.01157, 0.01169, 0.01177, 0.01182, \
                 0.01184, 0.01185");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008008, -0.007983, -0.00796, -0.007949, -0.007945, -0.00796, \
                 -0.007956, -0.007954, -0.007955, -0.007961");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01003, 0.009844, 0.009841, 0.009913, 0.009984, 0.01008, 0.01015, \
                 0.01019, 0.01023, 0.01024");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007992, -0.007974, -0.007952, -0.007948, -0.007948, -0.007959, \
                 -0.00796, -0.007955, -0.007955, -0.007959");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009418, 0.008557, 0.008058, 0.00798, 0.007971, 0.007988, 0.007979, \
                 0.007982, 0.007983, 0.007982");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00797, -0.007963, -0.007958, -0.007956, -0.00795, -0.00796, \
                 -0.007964, -0.007962, -0.007971, -0.007959");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008889, 0.008869, 0.008852, 0.00885, 0.008836, 0.008854, 0.008851, \
                 0.008838, 0.008835, 0.008811");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005787, -0.005771, -0.005763, -0.005766, -0.005779, -0.005805, \
                 -0.005804, -0.005829, -0.005842, -0.005878");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008868, 0.008868, 0.008853, 0.008856, 0.008842, 0.008853, 0.008842, \
                 0.008837, 0.008825, 0.008816");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005786, -0.005772, -0.005771, -0.005768, -0.005784, -0.005794, \
                 -0.005806, -0.00582, -0.005846, -0.005876");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008904, 0.008893, 0.008873, 0.008879, 0.008866, 0.008873, 0.008863, \
                 0.008859, 0.008853, 0.008843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003282, 0.003301, 0.003287, 0.003268, 0.003257, 0.003218, 0.003195, \
                 0.003162, 0.003133, 0.003082");
        }
      }
    }

    pin(A3) {
      capacitance : 0.002928 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009266, 0.00927, 0.009249, 0.009222, 0.009177, 0.009165, 0.009133, \
                 0.009092, 0.00904, 0.008997");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008025, -0.007973, -0.007967, -0.007947, -0.007943, -0.007962, \
                 -0.007959, -0.007958, -0.007957, -0.007971");
        }
      }

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00807, 0.00801, 0.007985, 0.007968, 0.007966, 0.00799, 0.007984, \
                 0.007982, 0.007984, 0.00799");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007976, -0.007957, -0.007955, -0.007943, -0.007942, -0.007958, \
                 -0.007963, -0.007962, -0.007953, -0.007955");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01008, 0.01028, 0.01033, 0.0104, 0.01042, 0.01047, 0.01049, \
                 0.0105, 0.01049, 0.01045");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007993, -0.007976, -0.00796, -0.007947, -0.007949, -0.00796, \
                 -0.007962, -0.00796, -0.007959, -0.007957");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008932, 0.008189, 0.007981, 0.007963, 0.007968, 0.007987, 0.00798, \
                 0.00799, 0.007988, 0.00798");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007972, -0.007961, -0.007952, -0.007955, -0.007947, -0.007957, \
                 -0.007964, -0.007963, -0.007954, -0.007957");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01042, 0.01047, 0.0106, 0.01073, 0.01086, 0.01097, 0.01104, \
                 0.01108, 0.01111, 0.0111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008012, -0.007989, -0.007962, -0.007954, -0.007947, -0.007964, \
                 -0.007962, -0.007962, -0.007954, -0.007981");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008913, 0.00811, 0.00799, 0.007979, 0.007981, 0.007984, 0.007981, \
                 0.007987, 0.007987, 0.007983");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007977, -0.00796, -0.007956, -0.007949, -0.007945, -0.007955, \
                 -0.007964, -0.007965, -0.007959, -0.007962");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008457, 0.008456, 0.008449, 0.008459, 0.008448, 0.00845, 0.008435, \
                 0.008424, 0.008403, 0.008386");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006329, -0.006321, -0.006313, -0.006333, -0.006326, -0.006346, \
                 -0.006363, -0.006387, -0.006417, -0.00646");
        }
      }
    }

    pin(A4) {
      capacitance : 0.002815 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008038, 0.008015, 0.007992, 0.007979, 0.00798, 0.007987, 0.00799, \
                 0.007994, 0.007985, 0.007982");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007986, -0.00796, -0.007948, -0.007945, -0.007938, -0.007952, \
                 -0.007952, -0.007955, -0.007957, -0.007952");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008027, 0.008012, 0.007992, 0.007977, 0.007961, 0.007981, 0.007985, \
                 0.007991, 0.007985, 0.007994");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00798, -0.007953, -0.007946, -0.007953, -0.007945, -0.007959, \
                 -0.007961, -0.007964, -0.007953, -0.007962");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008026, 0.008016, 0.007987, 0.007979, 0.007974, 0.007981, 0.007989, \
                 0.007996, 0.007983, 0.007987");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007989, -0.007963, -0.007952, -0.007942, -0.00794, -0.007953, \
                 -0.007953, -0.007961, -0.007955, -0.007956");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008029, 0.008008, 0.007973, 0.007972, 0.007969, 0.007983, 0.007985, \
                 0.007985, 0.007981, 0.007985");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007976, -0.007955, -0.007972, -0.007953, -0.007949, -0.007963, \
                 -0.007968, -0.007961, -0.007962, -0.007958");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008026, 0.008016, 0.007981, 0.007979, 0.007976, 0.007981, 0.00799, \
                 0.007995, 0.00798, 0.007991");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007989, -0.007963, -0.007952, -0.007942, -0.007945, -0.007953, \
                 -0.007952, -0.007952, -0.007949, -0.007954");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008037, 0.008012, 0.007999, 0.007984, 0.00797, 0.007984, 0.007981, \
                 0.007992, 0.007991, 0.007987");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007977, -0.007961, -0.007969, -0.007952, -0.007948, -0.007964, \
                 -0.007959, -0.007962, -0.007961, -0.007964");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008179, 0.008015, 0.007985, 0.00798, 0.007974, 0.007977, 0.007988, \
                 0.007995, 0.007983, 0.007993");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007986, -0.007965, -0.007959, -0.007952, -0.007951, -0.007958, \
                 -0.007954, -0.007956, -0.007954, -0.007959");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2&A3&A4)" ;
      max_capacitance : 0.3591 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.09634, 0.09533, 0.09412, 0.09358, 0.09335, 0.09313, 0.093, 0.09294, 0.0929, 0.09288",\
                 "0.09638, 0.09545, 0.09419, 0.09371, 0.09338, 0.0933, 0.09314, 0.09306, 0.093, 0.093",\
                 "0.09662, 0.0956, 0.09434, 0.09394, 0.09359, 0.09339, 0.09332, 0.09327, 0.09326, 0.09323",\
                 "0.1009, 0.09946, 0.09757, 0.09659, 0.09607, 0.09577, 0.09562, 0.09553, 0.09547, 0.09544",\
                 "0.1108, 0.1087, 0.1056, 0.1034, 0.1024, 0.1018, 0.1014, 0.1012, 0.1011, 0.101",\
                 "0.1261, 0.1234, 0.1187, 0.1154, 0.1134, 0.1123, 0.1116, 0.1112, 0.1109, 0.1107",\
                 "0.1472, 0.1439, 0.1376, 0.1328, 0.1298, 0.128, 0.1267, 0.1261, 0.1256, 0.1252",\
                 "0.1741, 0.1702, 0.1623, 0.156, 0.1516, 0.149, 0.1472, 0.146, 0.1452, 0.1446",\
                 "0.2068, 0.2023, 0.193, 0.1849, 0.1793, 0.1755, 0.173, 0.1713, 0.1701, 0.1693",\
                 "0.2455, 0.2406, 0.2297, 0.22, 0.2129, 0.2078, 0.2045, 0.2022, 0.2005, 0.1993");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.06121, 0.05942, 0.0563, 0.05432, 0.05337, 0.05332, 0.05363, 0.05388, 0.05465, 0.05787",\
                 "0.06109, 0.05914, 0.056, 0.05399, 0.0531, 0.05306, 0.05311, 0.05378, 0.05491, 0.0582",\
                 "0.06109, 0.05922, 0.05619, 0.05405, 0.05307, 0.05306, 0.05314, 0.05365, 0.05438, 0.05801",\
                 "0.06382, 0.06186, 0.05865, 0.05623, 0.05515, 0.05497, 0.05499, 0.0555, 0.05623, 0.06094",\
                 "0.07153, 0.0692, 0.06563, 0.06257, 0.06099, 0.06045, 0.0603, 0.06032, 0.06146, 0.06632",\
                 "0.08368, 0.08123, 0.07669, 0.07319, 0.07125, 0.06975, 0.06934, 0.06952, 0.07005, 0.07595",\
                 "0.1014, 0.09843, 0.09316, 0.0885, 0.08561, 0.08411, 0.08323, 0.08276, 0.08325, 0.09095",\
                 "0.1244, 0.1209, 0.1147, 0.1091, 0.1047, 0.103, 0.102, 0.1014, 0.1009, 0.1105",\
                 "0.1528, 0.1487, 0.1413, 0.135, 0.1298, 0.126, 0.1246, 0.1247, 0.1254, 0.1382",\
                 "0.1867, 0.182, 0.1738, 0.1661, 0.1595, 0.1548, 0.1519, 0.1513, 0.1546, 0.1768");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1061, 0.1049, 0.1034, 0.1026, 0.1021, 0.1019, 0.1017, 0.1016, 0.1016, 0.1015",\
                 "0.1062, 0.105, 0.1034, 0.1027, 0.1022, 0.102, 0.1019, 0.1018, 0.1017, 0.1016",\
                 "0.1063, 0.1051, 0.1035, 0.1028, 0.1023, 0.1021, 0.102, 0.1019, 0.1018, 0.1018",\
                 "0.1103, 0.1088, 0.1066, 0.1054, 0.1048, 0.1045, 0.1043, 0.1042, 0.1041, 0.104",\
                 "0.1206, 0.1185, 0.115, 0.1127, 0.1114, 0.1107, 0.1103, 0.11, 0.1098, 0.1097",\
                 "0.1365, 0.1336, 0.1288, 0.1253, 0.123, 0.1218, 0.1211, 0.1205, 0.1202, 0.12",\
                 "0.1584, 0.155, 0.1485, 0.1435, 0.1401, 0.1382, 0.1369, 0.136, 0.1355, 0.1351",\
                 "0.1862, 0.1823, 0.1743, 0.1677, 0.1631, 0.1601, 0.1581, 0.1569, 0.156, 0.1554",\
                 "0.2201, 0.2158, 0.2061, 0.1978, 0.1918, 0.1876, 0.185, 0.1831, 0.1818, 0.181",\
                 "0.2601, 0.2553, 0.2443, 0.2342, 0.2265, 0.2213, 0.2177, 0.2151, 0.2133, 0.2121");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.06123, 0.0594, 0.05638, 0.05422, 0.0533, 0.05325, 0.05334, 0.05385, 0.05465, 0.05787",\
                 "0.06099, 0.05912, 0.0561, 0.05395, 0.05307, 0.05302, 0.05304, 0.05355, 0.05468, 0.05844",\
                 "0.06064, 0.05882, 0.05576, 0.05366, 0.05271, 0.05266, 0.05301, 0.05322, 0.05396, 0.05769",\
                 "0.06304, 0.06102, 0.05772, 0.05524, 0.05423, 0.05408, 0.05426, 0.05474, 0.05544, 0.06028",\
                 "0.06988, 0.06756, 0.06413, 0.06118, 0.05967, 0.05909, 0.05891, 0.05949, 0.06031, 0.06467",\
                 "0.08172, 0.07919, 0.07476, 0.07134, 0.06937, 0.06837, 0.06802, 0.06787, 0.0689, 0.07439",\
                 "0.09917, 0.09624, 0.09111, 0.08672, 0.08383, 0.08259, 0.08162, 0.08111, 0.08173, 0.0894",\
                 "0.1223, 0.1189, 0.1127, 0.1071, 0.1028, 0.1009, 0.1004, 0.09959, 0.09996, 0.1085",\
                 "0.1508, 0.147, 0.1398, 0.1335, 0.1278, 0.1246, 0.1233, 0.1233, 0.1235, 0.1366",\
                 "0.185, 0.1805, 0.1724, 0.165, 0.1589, 0.1541, 0.151, 0.1504, 0.1533, 0.1737");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1163, 0.115, 0.1131, 0.112, 0.1114, 0.111, 0.1108, 0.1107, 0.1106, 0.1106",\
                 "0.116, 0.1146, 0.1127, 0.1117, 0.111, 0.1107, 0.1105, 0.1103, 0.1103, 0.1102",\
                 "0.116, 0.1146, 0.1126, 0.1116, 0.111, 0.1107, 0.1105, 0.1104, 0.1103, 0.1103",\
                 "0.1197, 0.1181, 0.1156, 0.1142, 0.1135, 0.1131, 0.1129, 0.1127, 0.1126, 0.1125",\
                 "0.1304, 0.1282, 0.1244, 0.1219, 0.1205, 0.1196, 0.1192, 0.1189, 0.1187, 0.1186",\
                 "0.1469, 0.144, 0.139, 0.1351, 0.1328, 0.1314, 0.1305, 0.13, 0.1296, 0.1294",\
                 "0.1699, 0.1664, 0.1598, 0.1545, 0.1509, 0.1487, 0.1474, 0.1465, 0.1459, 0.1455",\
                 "0.1994, 0.1954, 0.1872, 0.1802, 0.1753, 0.1722, 0.1701, 0.1688, 0.1679, 0.1671",\
                 "0.2354, 0.2309, 0.2212, 0.2125, 0.2062, 0.2018, 0.1989, 0.197, 0.1956, 0.1947",\
                 "0.2779, 0.2731, 0.262, 0.2516, 0.2436, 0.2379, 0.234, 0.2314, 0.2296, 0.2283");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.06125, 0.05934, 0.05624, 0.05422, 0.05333, 0.05325, 0.0533, 0.05375, 0.05495, 0.05877",\
                 "0.06097, 0.05912, 0.05611, 0.05392, 0.0531, 0.05302, 0.05337, 0.05359, 0.05432, 0.05778",\
                 "0.06049, 0.05855, 0.05554, 0.05339, 0.05248, 0.05243, 0.05251, 0.05289, 0.05415, 0.05825",\
                 "0.06224, 0.06018, 0.05691, 0.05461, 0.05357, 0.05339, 0.05337, 0.05375, 0.05445, 0.0584",\
                 "0.06832, 0.06617, 0.06272, 0.06006, 0.05861, 0.05817, 0.05806, 0.05834, 0.05899, 0.06411",\
                 "0.08004, 0.0775, 0.07315, 0.0697, 0.06812, 0.06705, 0.06677, 0.06712, 0.06808, 0.07383",\
                 "0.09798, 0.09509, 0.08989, 0.0854, 0.08277, 0.0822, 0.08116, 0.08104, 0.0812, 0.0877",\
                 "0.122, 0.1186, 0.1125, 0.1072, 0.1033, 0.1011, 0.1008, 0.09992, 0.1001, 0.1091",\
                 "0.1518, 0.148, 0.141, 0.1345, 0.1298, 0.1264, 0.1249, 0.1254, 0.1254, 0.1379",\
                 "0.1877, 0.1832, 0.1752, 0.1677, 0.1619, 0.1577, 0.1546, 0.1542, 0.157, 0.1769");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1259, 0.1243, 0.122, 0.1208, 0.12, 0.1196, 0.1194, 0.1192, 0.119, 0.119",\
                 "0.1253, 0.1237, 0.1214, 0.1202, 0.1194, 0.119, 0.1187, 0.1185, 0.1184, 0.1184",\
                 "0.1253, 0.1237, 0.1214, 0.1202, 0.1194, 0.119, 0.1187, 0.1186, 0.1185, 0.1184",\
                 "0.1289, 0.1271, 0.1244, 0.1228, 0.122, 0.1215, 0.1212, 0.121, 0.1209, 0.1208",\
                 "0.14, 0.1377, 0.1337, 0.1309, 0.1293, 0.1284, 0.1279, 0.1276, 0.1274, 0.1272",\
                 "0.1573, 0.1544, 0.149, 0.1449, 0.1423, 0.1409, 0.1399, 0.1393, 0.139, 0.1387",\
                 "0.1815, 0.1781, 0.1711, 0.1656, 0.1618, 0.1595, 0.158, 0.157, 0.1565, 0.156",\
                 "0.213, 0.2089, 0.2005, 0.1933, 0.1882, 0.1848, 0.1826, 0.1812, 0.1801, 0.1794",\
                 "0.2515, 0.2471, 0.2372, 0.2282, 0.2215, 0.2169, 0.2138, 0.2117, 0.2103, 0.2092",\
                 "0.2974, 0.2925, 0.2812, 0.2705, 0.2622, 0.2562, 0.2521, 0.2492, 0.2472, 0.2458");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.06124, 0.05939, 0.05635, 0.05418, 0.0533, 0.05325, 0.0533, 0.05392, 0.05445, 0.05877",\
                 "0.06098, 0.05907, 0.05609, 0.05392, 0.05304, 0.05302, 0.05317, 0.05355, 0.05432, 0.05778",\
                 "0.06035, 0.05846, 0.05544, 0.05316, 0.05244, 0.0524, 0.05268, 0.05273, 0.05359, 0.05759",\
                 "0.06161, 0.05958, 0.05631, 0.05405, 0.05307, 0.05299, 0.05291, 0.05349, 0.05422, 0.0583",\
                 "0.06718, 0.06503, 0.0616, 0.05907, 0.05772, 0.05731, 0.05726, 0.05778, 0.05852, 0.06312",\
                 "0.0788, 0.07634, 0.07206, 0.0689, 0.06746, 0.06645, 0.06611, 0.06636, 0.06755, 0.07293",\
                 "0.09702, 0.09412, 0.08918, 0.08484, 0.08247, 0.0819, 0.08099, 0.08074, 0.08126, 0.08788",\
                 "0.1218, 0.1185, 0.1124, 0.1073, 0.1037, 0.1019, 0.1021, 0.101, 0.1012, 0.1102",\
                 "0.1531, 0.1492, 0.1424, 0.1362, 0.1315, 0.1288, 0.1275, 0.1276, 0.1281, 0.1404",\
                 "0.1907, 0.1864, 0.1784, 0.1714, 0.1654, 0.1616, 0.159, 0.1584, 0.161, 0.1798");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.3366, 0.3729, 0.4715, 0.6191, 0.8215, 1.094, 1.448, 1.895, 2.44, 3.09",\
                 "0.3553, 0.3916, 0.4902, 0.6377, 0.8402, 1.112, 1.467, 1.913, 2.459, 3.108",\
                 "0.4207, 0.457, 0.5556, 0.703, 0.9055, 1.178, 1.532, 1.979, 2.524, 3.174",\
                 "0.5453, 0.582, 0.681, 0.829, 1.031, 1.304, 1.658, 2.104, 2.65, 3.3",\
                 "0.6943, 0.7346, 0.841, 0.9948, 1.2, 1.472, 1.826, 2.272, 2.817, 3.467",\
                 "0.8592, 0.9034, 1.018, 1.18, 1.39, 1.664, 2.018, 2.464, 3.008, 3.658",\
                 "1.039, 1.088, 1.213, 1.385, 1.601, 1.878, 2.233, 2.679, 3.224, 3.872",\
                 "1.232, 1.285, 1.421, 1.606, 1.833, 2.117, 2.473, 2.919, 3.464, 4.112",\
                 "1.439, 1.497, 1.645, 1.842, 2.083, 2.374, 2.737, 3.186, 3.73, 4.378",\
                 "1.661, 1.723, 1.882, 2.094, 2.346, 2.649, 3.022, 3.477, 4.026, 4.675");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.5373, 0.5894, 0.7426, 0.9913, 1.348, 1.836, 2.477, 3.284, 4.269, 5.447",\
                 "0.5461, 0.5982, 0.7509, 1, 1.357, 1.845, 2.486, 3.293, 4.276, 5.455",\
                 "0.5807, 0.6326, 0.7859, 1.035, 1.391, 1.88, 2.52, 3.327, 4.312, 5.49",\
                 "0.6543, 0.7062, 0.8588, 1.107, 1.463, 1.951, 2.592, 3.399, 4.383, 5.561",\
                 "0.7406, 0.793, 0.9471, 1.196, 1.553, 2.04, 2.68, 3.486, 4.471, 5.649",\
                 "0.8261, 0.8795, 1.034, 1.283, 1.641, 2.129, 2.768, 3.574, 4.56, 5.736",\
                 "0.9096, 0.9642, 1.12, 1.371, 1.727, 2.215, 2.855, 3.66, 4.644, 5.816",\
                 "0.9822, 1.04, 1.2, 1.455, 1.813, 2.3, 2.938, 3.744, 4.728, 5.9",\
                 "1.042, 1.103, 1.268, 1.529, 1.894, 2.382, 3.019, 3.824, 4.808, 5.981",\
                 "1.087, 1.151, 1.323, 1.591, 1.961, 2.456, 3.098, 3.902, 4.885, 6.057");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.124, 0.1596, 0.2667, 0.4531, 0.7506, 1.187, 1.777, 2.527, 3.445, 4.533",\
                 "0.1235, 0.1597, 0.2671, 0.4529, 0.7503, 1.188, 1.777, 2.525, 3.444, 4.535",\
                 "0.1237, 0.1595, 0.267, 0.4531, 0.751, 1.187, 1.777, 2.526, 3.445, 4.534",\
                 "0.1321, 0.1665, 0.272, 0.4558, 0.7504, 1.187, 1.777, 2.527, 3.444, 4.534",\
                 "0.1562, 0.1922, 0.2958, 0.4724, 0.7588, 1.19, 1.779, 2.528, 3.443, 4.54",\
                 "0.1846, 0.2224, 0.325, 0.4994, 0.7768, 1.198, 1.78, 2.528, 3.442, 4.536",\
                 "0.2152, 0.2574, 0.364, 0.534, 0.8016, 1.213, 1.786, 2.528, 3.442, 4.532",\
                 "0.2496, 0.295, 0.407, 0.5786, 0.8406, 1.239, 1.798, 2.535, 3.442, 4.534",\
                 "0.2832, 0.3334, 0.454, 0.6296, 0.8886, 1.279, 1.83, 2.553, 3.449, 4.534",\
                 "0.318, 0.3732, 0.5032, 0.6834, 0.9418, 1.327, 1.875, 2.591, 3.477, 4.548");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1886, 0.2518, 0.4557, 0.8205, 1.398, 2.24, 3.366, 4.787, 6.526, 8.599",\
                 "0.1892, 0.2518, 0.456, 0.8209, 1.399, 2.239, 3.364, 4.788, 6.523, 8.6",\
                 "0.1886, 0.2519, 0.4562, 0.8202, 1.398, 2.239, 3.366, 4.787, 6.525, 8.599",\
                 "0.1894, 0.2514, 0.4572, 0.821, 1.399, 2.244, 3.363, 4.788, 6.524, 8.601",\
                 "0.1968, 0.259, 0.4646, 0.8276, 1.403, 2.245, 3.365, 4.785, 6.527, 8.596",\
                 "0.2058, 0.2674, 0.4726, 0.8338, 1.41, 2.246, 3.367, 4.786, 6.526, 8.597",\
                 "0.2212, 0.282, 0.4834, 0.8438, 1.416, 2.253, 3.373, 4.79, 6.52, 8.594",\
                 "0.244, 0.3028, 0.5032, 0.8618, 1.424, 2.256, 3.376, 4.795, 6.523, 8.594",\
                 "0.265, 0.3252, 0.5252, 0.8878, 1.449, 2.268, 3.381, 4.796, 6.533, 8.615",\
                 "0.2922, 0.3534, 0.5522, 0.9166, 1.483, 2.299, 3.398, 4.804, 6.534, 8.599");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.3673, 0.4049, 0.5058, 0.655, 0.858, 1.13, 1.485, 1.932, 2.477, 3.126",\
                 "0.3858, 0.4235, 0.5244, 0.6733, 0.8766, 1.149, 1.504, 1.95, 2.495, 3.145",\
                 "0.451, 0.4887, 0.5894, 0.7385, 0.9416, 1.214, 1.569, 2.015, 2.56, 3.21",\
                 "0.5788, 0.6168, 0.7174, 0.8668, 1.07, 1.342, 1.696, 2.143, 2.688, 3.338",\
                 "0.7396, 0.7816, 0.8891, 1.043, 1.248, 1.521, 1.875, 2.321, 2.866, 3.515",\
                 "0.9198, 0.9657, 1.082, 1.244, 1.453, 1.727, 2.082, 2.528, 3.072, 3.722",\
                 "1.12, 1.171, 1.297, 1.469, 1.684, 1.96, 2.315, 2.761, 3.305, 3.954",\
                 "1.34, 1.395, 1.532, 1.715, 1.941, 2.222, 2.578, 3.024, 3.567, 4.216",\
                 "1.58, 1.639, 1.788, 1.984, 2.221, 2.51, 2.871, 3.318, 3.862, 4.51",\
                 "1.84, 1.904, 2.064, 2.275, 2.523, 2.822, 3.191, 3.643, 4.189, 4.839");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.5775, 0.6297, 0.783, 1.032, 1.388, 1.877, 2.517, 3.324, 4.309, 5.487",\
                 "0.5851, 0.6372, 0.7904, 1.039, 1.395, 1.884, 2.525, 3.332, 4.315, 5.494",\
                 "0.6061, 0.6586, 0.8115, 1.06, 1.417, 1.905, 2.546, 3.353, 4.338, 5.515",\
                 "0.6555, 0.7076, 0.8603, 1.109, 1.465, 1.953, 2.593, 3.4, 4.385, 5.562",\
                 "0.7189, 0.7718, 0.9267, 1.177, 1.533, 2.021, 2.661, 3.468, 4.454, 5.626",\
                 "0.7847, 0.8388, 0.9948, 1.246, 1.603, 2.092, 2.731, 3.537, 4.521, 5.699",\
                 "0.8457, 0.9011, 1.06, 1.314, 1.671, 2.159, 2.799, 3.604, 4.587, 5.761",\
                 "0.8931, 0.9517, 1.115, 1.374, 1.734, 2.222, 2.86, 3.666, 4.65, 5.822",\
                 "0.923, 0.9847, 1.154, 1.42, 1.788, 2.279, 2.917, 3.722, 4.705, 5.878",\
                 "0.9323, 0.9972, 1.173, 1.446, 1.823, 2.323, 2.967, 3.771, 4.753, 5.926");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1316, 0.1675, 0.2732, 0.4568, 0.7516, 1.189, 1.778, 2.526, 3.441, 4.54",\
                 "0.1316, 0.1674, 0.2732, 0.4577, 0.7521, 1.188, 1.778, 2.528, 3.446, 4.535",\
                 "0.132, 0.1671, 0.2731, 0.4571, 0.753, 1.188, 1.778, 2.528, 3.445, 4.538",\
                 "0.1373, 0.1721, 0.277, 0.459, 0.7534, 1.19, 1.779, 2.528, 3.446, 4.54",\
                 "0.162, 0.1982, 0.299, 0.4742, 0.761, 1.192, 1.779, 2.528, 3.445, 4.539",\
                 "0.1894, 0.2274, 0.328, 0.5006, 0.7766, 1.198, 1.781, 2.525, 3.445, 4.538",\
                 "0.2204, 0.2622, 0.3666, 0.5338, 0.7988, 1.21, 1.786, 2.527, 3.442, 4.535",\
                 "0.2538, 0.2996, 0.4096, 0.5756, 0.8342, 1.234, 1.797, 2.532, 3.442, 4.533",\
                 "0.2892, 0.34, 0.4584, 0.6238, 0.8784, 1.268, 1.82, 2.545, 3.448, 4.533",\
                 "0.3248, 0.3802, 0.5088, 0.6778, 0.9296, 1.314, 1.858, 2.576, 3.467, 4.543");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1886, 0.2519, 0.4563, 0.8209, 1.399, 2.239, 3.367, 4.788, 6.524, 8.6",\
                 "0.1894, 0.2515, 0.4563, 0.8207, 1.398, 2.239, 3.363, 4.788, 6.522, 8.601",\
                 "0.1889, 0.2515, 0.456, 0.8204, 1.398, 2.24, 3.366, 4.787, 6.526, 8.599",\
                 "0.1898, 0.2526, 0.457, 0.8202, 1.399, 2.24, 3.371, 4.786, 6.529, 8.6",\
                 "0.1982, 0.26, 0.4652, 0.8272, 1.403, 2.245, 3.365, 4.788, 6.524, 8.607",\
                 "0.2074, 0.269, 0.4732, 0.8354, 1.409, 2.246, 3.366, 4.786, 6.524, 8.595",\
                 "0.2228, 0.2844, 0.4888, 0.846, 1.416, 2.251, 3.372, 4.79, 6.523, 8.59",\
                 "0.243, 0.3058, 0.5078, 0.868, 1.429, 2.255, 3.374, 4.795, 6.523, 8.593",\
                 "0.2646, 0.3296, 0.5318, 0.8976, 1.458, 2.275, 3.381, 4.795, 6.53, 8.595",\
                 "0.2908, 0.3542, 0.5574, 0.9282, 1.497, 2.314, 3.405, 4.804, 6.532, 8.597");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.3967, 0.4355, 0.5386, 0.6902, 0.8944, 1.167, 1.522, 1.969, 2.514, 3.164",\
                 "0.4131, 0.452, 0.5552, 0.7067, 0.9108, 1.184, 1.539, 1.985, 2.53, 3.18",\
                 "0.4777, 0.5165, 0.6195, 0.7707, 0.9752, 1.248, 1.603, 2.049, 2.595, 3.245",\
                 "0.608, 0.6468, 0.7498, 0.9009, 1.105, 1.378, 1.733, 2.18, 2.725, 3.375",\
                 "0.7803, 0.8228, 0.9316, 1.087, 1.293, 1.565, 1.92, 2.366, 2.911, 3.561",\
                 "0.9747, 1.022, 1.139, 1.302, 1.512, 1.786, 2.141, 2.587, 3.131, 3.781",\
                 "1.196, 1.247, 1.375, 1.547, 1.763, 2.039, 2.394, 2.839, 3.384, 4.033",\
                 "1.443, 1.498, 1.637, 1.82, 2.045, 2.325, 2.681, 3.127, 3.671, 4.319",\
                 "1.716, 1.777, 1.927, 2.122, 2.357, 2.646, 3.005, 3.452, 3.996, 4.644",\
                 "2.019, 2.083, 2.244, 2.455, 2.702, 2.998, 3.365, 3.817, 4.363, 5.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.6047, 0.6568, 0.8095, 1.059, 1.415, 1.904, 2.544, 3.352, 4.335, 5.513",\
                 "0.6122, 0.6645, 0.8177, 1.066, 1.423, 1.911, 2.552, 3.359, 4.344, 5.521",\
                 "0.6253, 0.6774, 0.8305, 1.079, 1.436, 1.924, 2.565, 3.372, 4.356, 5.534",\
                 "0.6498, 0.7017, 0.8546, 1.103, 1.459, 1.948, 2.588, 3.395, 4.382, 5.556",\
                 "0.6822, 0.7356, 0.8906, 1.141, 1.498, 1.985, 2.625, 3.433, 4.419, 5.594",\
                 "0.717, 0.7711, 0.9282, 1.18, 1.538, 2.026, 2.666, 3.472, 4.456, 5.633",\
                 "0.7438, 0.8003, 0.961, 1.217, 1.576, 2.063, 2.703, 3.508, 4.493, 5.668",\
                 "0.7527, 0.8122, 0.978, 1.242, 1.606, 2.094, 2.733, 3.538, 4.522, 5.695",\
                 "0.7382, 0.8009, 0.9727, 1.244, 1.618, 2.114, 2.754, 3.558, 4.542, 5.714",\
                 "0.6963, 0.7626, 0.9415, 1.22, 1.605, 2.113, 2.761, 3.567, 4.55, 5.722");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1383, 0.1754, 0.2803, 0.4621, 0.7568, 1.191, 1.778, 2.528, 3.446, 4.537",\
                 "0.1389, 0.1748, 0.28, 0.4622, 0.757, 1.191, 1.778, 2.527, 3.446, 4.538",\
                 "0.1386, 0.1751, 0.2802, 0.4633, 0.7563, 1.191, 1.778, 2.525, 3.443, 4.534",\
                 "0.142, 0.1778, 0.2832, 0.465, 0.7574, 1.191, 1.78, 2.529, 3.444, 4.534",\
                 "0.1678, 0.2032, 0.3028, 0.4766, 0.7638, 1.192, 1.78, 2.529, 3.446, 4.539",\
                 "0.1942, 0.2328, 0.3332, 0.5036, 0.778, 1.199, 1.78, 2.529, 3.446, 4.539",\
                 "0.2248, 0.268, 0.3692, 0.535, 0.8004, 1.211, 1.786, 2.528, 3.442, 4.537",\
                 "0.2582, 0.3046, 0.4128, 0.5758, 0.8324, 1.23, 1.798, 2.533, 3.443, 4.532",\
                 "0.2936, 0.3438, 0.4594, 0.6228, 0.8756, 1.264, 1.818, 2.545, 3.451, 4.534",\
                 "0.331, 0.3844, 0.5106, 0.6768, 0.9248, 1.306, 1.854, 2.57, 3.464, 4.542");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1893, 0.2514, 0.4561, 0.8192, 1.398, 2.24, 3.364, 4.788, 6.523, 8.601",\
                 "0.1887, 0.2517, 0.4563, 0.8206, 1.398, 2.24, 3.366, 4.787, 6.526, 8.598",\
                 "0.1889, 0.2512, 0.4557, 0.819, 1.399, 2.239, 3.364, 4.787, 6.525, 8.601",\
                 "0.1898, 0.2528, 0.4574, 0.8198, 1.399, 2.24, 3.363, 4.788, 6.526, 8.612",\
                 "0.1974, 0.2604, 0.4648, 0.827, 1.403, 2.245, 3.369, 4.788, 6.527, 8.597",\
                 "0.2076, 0.2692, 0.4738, 0.836, 1.409, 2.244, 3.369, 4.786, 6.522, 8.599",\
                 "0.2238, 0.2864, 0.4914, 0.8498, 1.417, 2.249, 3.37, 4.786, 6.522, 8.597",\
                 "0.2434, 0.3062, 0.5152, 0.8782, 1.438, 2.257, 3.375, 4.79, 6.527, 8.59",\
                 "0.265, 0.33, 0.5396, 0.9114, 1.474, 2.284, 3.383, 4.794, 6.526, 8.595",\
                 "0.2896, 0.3554, 0.566, 0.9466, 1.519, 2.333, 3.417, 4.807, 6.53, 8.594");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.4186, 0.4586, 0.5641, 0.7179, 0.924, 1.198, 1.554, 2, 2.546, 3.196",\
                 "0.4341, 0.4741, 0.5798, 0.7337, 0.9399, 1.214, 1.569, 2.016, 2.561, 3.211",\
                 "0.4986, 0.5385, 0.6441, 0.798, 1.004, 1.278, 1.634, 2.081, 2.626, 3.276",\
                 "0.6311, 0.671, 0.7759, 0.9296, 1.136, 1.41, 1.765, 2.212, 2.757, 3.407",\
                 "0.8143, 0.8571, 0.9674, 1.124, 1.331, 1.605, 1.96, 2.406, 2.951, 3.601",\
                 "1.023, 1.071, 1.189, 1.354, 1.565, 1.84, 2.195, 2.641, 3.186, 3.835",\
                 "1.265, 1.316, 1.446, 1.618, 1.835, 2.111, 2.467, 2.913, 3.457, 4.107",\
                 "1.54, 1.596, 1.736, 1.919, 2.144, 2.425, 2.781, 3.227, 3.771, 4.42",\
                 "1.851, 1.911, 2.062, 2.257, 2.493, 2.78, 3.139, 3.585, 4.13, 4.778",\
                 "2.199, 2.264, 2.426, 2.635, 2.881, 3.177, 3.543, 3.993, 4.539, 5.187");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.6183, 0.6702, 0.8236, 1.072, 1.429, 1.917, 2.558, 3.365, 4.352, 5.526",\
                 "0.6267, 0.6788, 0.832, 1.081, 1.437, 1.926, 2.566, 3.373, 4.358, 5.536",\
                 "0.6358, 0.6878, 0.8412, 1.09, 1.446, 1.935, 2.575, 3.383, 4.369, 5.545",\
                 "0.6433, 0.6951, 0.8481, 1.097, 1.453, 1.941, 2.582, 3.388, 4.373, 5.551",\
                 "0.6478, 0.7008, 0.8559, 1.106, 1.463, 1.951, 2.591, 3.398, 4.382, 5.56",\
                 "0.6475, 0.7019, 0.8588, 1.112, 1.469, 1.958, 2.597, 3.403, 4.388, 5.564",\
                 "0.6305, 0.6875, 0.8502, 1.109, 1.469, 1.957, 2.596, 3.402, 4.387, 5.562",\
                 "0.5898, 0.6497, 0.8181, 1.086, 1.456, 1.947, 2.586, 3.391, 4.374, 5.548",\
                 "0.5197, 0.5829, 0.7583, 1.035, 1.417, 1.92, 2.563, 3.367, 4.35, 5.523",\
                 "0.4165, 0.4829, 0.6648, 0.9513, 1.345, 1.862, 2.519, 3.328, 4.31, 5.483");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1453, 0.1815, 0.2878, 0.4709, 0.7612, 1.195, 1.782, 2.53, 3.443, 4.533",\
                 "0.1454, 0.1818, 0.2878, 0.4704, 0.7612, 1.195, 1.782, 2.53, 3.447, 4.539",\
                 "0.145, 0.1816, 0.2879, 0.4706, 0.7617, 1.194, 1.781, 2.53, 3.447, 4.538",\
                 "0.1472, 0.1838, 0.2892, 0.4714, 0.7616, 1.196, 1.782, 2.531, 3.445, 4.538",\
                 "0.1708, 0.2074, 0.3076, 0.4816, 0.767, 1.196, 1.782, 2.529, 3.445, 4.536",\
                 "0.1984, 0.2372, 0.3378, 0.5076, 0.782, 1.203, 1.784, 2.53, 3.446, 4.534",\
                 "0.2286, 0.2714, 0.3732, 0.5386, 0.804, 1.215, 1.788, 2.531, 3.444, 4.537",\
                 "0.262, 0.3082, 0.4168, 0.577, 0.8344, 1.232, 1.798, 2.536, 3.445, 4.534",\
                 "0.296, 0.3474, 0.4634, 0.624, 0.8734, 1.263, 1.816, 2.547, 3.45, 4.534",\
                 "0.3338, 0.3892, 0.5134, 0.6764, 0.9236, 1.305, 1.851, 2.569, 3.464, 4.545");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003472, 0.01215, 0.02871, 0.05453, 0.09074, 0.1384, 0.1984, 0.2717, 0.3591");
          values("0.1894, 0.2519, 0.4563, 0.8208, 1.399, 2.239, 3.363, 4.785, 6.526, 8.6",\
                 "0.1894, 0.2514, 0.4562, 0.8207, 1.399, 2.239, 3.37, 4.788, 6.525, 8.6",\
                 "0.1892, 0.2519, 0.456, 0.8194, 1.401, 2.244, 3.364, 4.786, 6.527, 8.597",\
                 "0.1892, 0.2518, 0.457, 0.8196, 1.398, 2.245, 3.365, 4.788, 6.524, 8.599",\
                 "0.1964, 0.2602, 0.4648, 0.8246, 1.401, 2.244, 3.367, 4.788, 6.523, 8.596",\
                 "0.2072, 0.269, 0.4742, 0.8354, 1.408, 2.246, 3.371, 4.791, 6.524, 8.598",\
                 "0.2258, 0.2886, 0.495, 0.8562, 1.418, 2.248, 3.367, 4.786, 6.523, 8.596",\
                 "0.2438, 0.3096, 0.52, 0.8882, 1.448, 2.262, 3.372, 4.789, 6.523, 8.587",\
                 "0.2652, 0.333, 0.5482, 0.925, 1.493, 2.303, 3.39, 4.793, 6.523, 8.598",\
                 "0.2872, 0.3572, 0.5738, 0.965, 1.547, 2.362, 3.444, 4.817, 6.532, 8.592");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__and4_2) {
    area : 28.537600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "5.58459e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "5.58459e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "5.58459e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "5.58459e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "5.5869e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "5.5869e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "5.58822e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "5.59251e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "7.21149e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "7.21149e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "7.21314e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "7.21677e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "8.79516e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "8.80044e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "0.0001036068" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "8.96874e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001036068" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004099 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01349, 0.0134, 0.01339, 0.01337, 0.01336, 0.01337, 0.01338, \
                 0.01337, 0.01338, 0.01336");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007326, -0.007308, -0.007332, -0.007334, -0.007345, -0.007387, \
                 -0.007375, -0.007396, -0.007403, -0.00743");
        }
      }

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0135, 0.01341, 0.01338, 0.01338, 0.01337, 0.01339, 0.01338, \
                 0.01337, 0.01337, 0.01338");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007328, -0.007311, -0.007326, -0.007339, -0.007358, -0.007383, \
                 -0.007387, -0.007401, -0.007403, -0.007434");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0135, 0.01341, 0.0134, 0.01338, 0.01337, 0.0134, 0.01339, 0.01338, \
                 0.01336, 0.01337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007327, -0.007311, -0.007323, -0.00734, -0.007358, -0.007391, \
                 -0.00738, -0.007407, -0.007415, -0.007432");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01348, 0.01341, 0.0134, 0.01338, 0.01337, 0.0134, 0.01338, 0.0134, \
                 0.01337, 0.01337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007329, -0.007321, -0.007326, -0.007326, -0.007358, -0.007379, \
                 -0.007391, -0.0074, -0.007403, -0.007437");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01343, 0.01337, 0.01338, 0.01335, 0.01337, 0.0134, 0.01338, \
                 0.01336, 0.01337, 0.01338");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009457, 0.009472, 0.009418, 0.009398, 0.00933, 0.00931, 0.009301, \
                 0.009268, 0.00924, 0.009177");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01342, 0.01337, 0.01339, 0.01337, 0.01337, 0.0134, 0.01337, \
                 0.01339, 0.01338, 0.01337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009454, 0.009464, 0.009407, 0.009404, 0.009345, 0.009336, 0.009299, \
                 0.009269, 0.009246, 0.009194");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01342, 0.01337, 0.0134, 0.01337, 0.01336, 0.0134, 0.01338, 0.0134, \
                 0.01338, 0.01336");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02601, 0.02602, 0.02597, 0.02593, 0.02593, 0.02585, 0.02579, \
                 0.02577, 0.02571, 0.02561");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004046 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01749, 0.01761, 0.01788, 0.01819, 0.01845, 0.01861, 0.01875, \
                 0.01882, 0.01887, 0.01891");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01139, -0.01133, -0.01132, -0.01131, -0.01129, -0.01132, -0.01132, \
                 -0.01131, -0.01132, -0.01131");
        }
      }

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01702, 0.01716, 0.01749, 0.01787, 0.01821, 0.01844, 0.01859, \
                 0.01867, 0.01874, 0.01877");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01138, -0.01135, -0.01133, -0.01131, -0.0113, -0.01132, -0.01132, \
                 -0.01133, -0.01132, -0.01132");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01516, 0.01479, 0.01478, 0.0149, 0.01505, 0.01521, 0.01534, \
                 0.01542, 0.01549, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01134, -0.01132, -0.01131, -0.0113, -0.01132, -0.01132, \
                 -0.01133, -0.01131, -0.01132");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.014, 0.0124, 0.01144, 0.01134, 0.01134, 0.01137, 0.01136, 0.01136, \
                 0.01135, 0.01136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01133, -0.01132, -0.01132, -0.01132, -0.0113, -0.01133, -0.01133, \
                 -0.01133, -0.01132, -0.01132");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0131, 0.01309, 0.01307, 0.01305, 0.01304, 0.01305, 0.01303, \
                 0.01302, 0.01302, 0.01299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008079, -0.008058, -0.008051, -0.008065, -0.008076, -0.008094, \
                 -0.008114, -0.008166, -0.008197, -0.008244");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01309, 0.01309, 0.01307, 0.01306, 0.01304, 0.01304, 0.01302, \
                 0.01301, 0.01301, 0.01299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008082, -0.008062, -0.008071, -0.008063, -0.00808, -0.008129, \
                 -0.008125, -0.008156, -0.008195, -0.008249");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01314, 0.01314, 0.01309, 0.0131, 0.01307, 0.01309, 0.01306, \
                 0.01305, 0.01305, 0.01303");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00851, 0.008537, 0.008513, 0.008481, 0.008442, 0.008391, 0.008346, \
                 0.008297, 0.008247, 0.008156");
        }
      }
    }

    pin(A3) {
      capacitance : 0.00403 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01372, 0.01375, 0.01372, 0.01367, 0.01359, 0.01354, 0.01347, \
                 0.01339, 0.0133, 0.01322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01141, -0.01136, -0.01132, -0.01132, -0.0113, -0.01132, -0.01132, \
                 -0.01132, -0.01132, -0.01132");
        }
      }

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01144, 0.01137, 0.01135, 0.01134, 0.01134, 0.01136, 0.01136, \
                 0.01137, 0.01135, 0.01136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01135, -0.01132, -0.0113, -0.0113, -0.0113, -0.01132, -0.01132, \
                 -0.01132, -0.01131, -0.01132");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01519, 0.01557, 0.01572, 0.01581, 0.01588, 0.01596, 0.01599, \
                 0.016, 0.01598, 0.01591");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01137, -0.01134, -0.01132, -0.0113, -0.0113, -0.01132, -0.01133, \
                 -0.01132, -0.01131, -0.01134");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01288, 0.01156, 0.01135, 0.01134, 0.01134, 0.01137, 0.01137, \
                 0.01136, 0.01136, 0.01136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01134, -0.01132, -0.01131, -0.01133, -0.01131, -0.01133, -0.01133, \
                 -0.01133, -0.01132, -0.01132");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01593, 0.01604, 0.01629, 0.01657, 0.01682, 0.01701, 0.01714, \
                 0.01722, 0.01727, 0.01727");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01138, -0.01136, -0.01133, -0.01132, -0.01131, -0.01133, -0.01132, \
                 -0.01133, -0.01132, -0.01133");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.013, 0.01148, 0.01136, 0.01135, 0.01134, 0.01136, 0.01136, 0.01136, \
                 0.01136, 0.01137");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01134, -0.01132, -0.01131, -0.01132, -0.0113, -0.01132, -0.01133, \
                 -0.01133, -0.01132, -0.01132");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01228, 0.01227, 0.01227, 0.01225, 0.01226, 0.01225, 0.01223, \
                 0.01219, 0.01216, 0.01213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009107, -0.009091, -0.009089, -0.009105, -0.009106, -0.009153, \
                 -0.009163, -0.009203, -0.009262, -0.00934");
        }
      }
    }

    pin(A4) {
      capacitance : 0.00397 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01143, 0.0114, 0.01136, 0.01137, 0.01134, 0.01137, 0.01137, \
                 0.01137, 0.01137, 0.01136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01133, -0.01131, -0.01129, -0.01129, -0.01131, -0.01131, \
                 -0.01131, -0.01131, -0.01132");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01141, 0.01141, 0.01135, 0.01135, 0.01133, 0.01137, 0.01135, \
                 0.01136, 0.01136, 0.01136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01135, -0.01133, -0.01132, -0.01132, -0.01131, -0.01132, -0.01133, \
                 -0.01132, -0.01132, -0.01133");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01142, 0.01139, 0.01135, 0.01137, 0.01134, 0.01136, 0.01136, \
                 0.01137, 0.01136, 0.01135");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01134, -0.01131, -0.0113, -0.0113, -0.01132, -0.01132, \
                 -0.01132, -0.01132, -0.01132");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01141, 0.01141, 0.01135, 0.01136, 0.01135, 0.01136, 0.01136, \
                 0.01136, 0.01137, 0.01137");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01134, -0.01133, -0.01132, -0.01132, -0.01131, -0.01133, -0.01133, \
                 -0.01132, -0.01132, -0.01133");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01142, 0.01139, 0.01135, 0.01137, 0.01134, 0.01137, 0.01136, \
                 0.01137, 0.01136, 0.01136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01134, -0.01131, -0.0113, -0.0113, -0.01132, -0.01131, \
                 -0.01133, -0.01132, -0.01135");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01142, 0.01141, 0.01135, 0.01136, 0.01133, 0.01136, 0.01136, \
                 0.01137, 0.01136, 0.01136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01134, -0.01134, -0.01133, -0.01133, -0.01132, -0.01133, -0.01133, \
                 -0.01133, -0.01132, -0.01132");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01161, 0.0114, 0.01136, 0.01137, 0.01134, 0.01136, 0.01135, \
                 0.01137, 0.01137, 0.01136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01134, -0.01133, -0.01131, -0.01131, -0.01132, -0.01132, \
                 -0.01131, -0.01132, -0.01132");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2&A3&A4)" ;
      max_capacitance : 0.7198 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1492, 0.1455, 0.1415, 0.1399, 0.1392, 0.1386, 0.1382, 0.1382, 0.138, 0.138",\
                 "0.1491, 0.1453, 0.1414, 0.1398, 0.139, 0.1385, 0.1382, 0.1381, 0.1379, 0.1379",\
                 "0.1492, 0.1451, 0.1412, 0.1395, 0.1388, 0.1386, 0.1382, 0.1381, 0.1379, 0.1379",\
                 "0.1566, 0.1518, 0.1463, 0.1438, 0.1424, 0.1418, 0.1415, 0.1413, 0.1412, 0.1411",\
                 "0.175, 0.1687, 0.1601, 0.1552, 0.1528, 0.1513, 0.1507, 0.1501, 0.1497, 0.1495",\
                 "0.2015, 0.1939, 0.1817, 0.1743, 0.1702, 0.1678, 0.1664, 0.1655, 0.165, 0.1646",\
                 "0.2371, 0.228, 0.2125, 0.2021, 0.1958, 0.192, 0.1898, 0.1882, 0.1872, 0.1866",\
                 "0.282, 0.272, 0.2527, 0.2387, 0.2301, 0.2245, 0.221, 0.2188, 0.2173, 0.2163",\
                 "0.3361, 0.3251, 0.3022, 0.2848, 0.2733, 0.2658, 0.2608, 0.2576, 0.2553, 0.2538",\
                 "0.3993, 0.3874, 0.3616, 0.3403, 0.3258, 0.3159, 0.3092, 0.3047, 0.3018, 0.2995");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1016, 0.09674, 0.09075, 0.08758, 0.08653, 0.0872, 0.0877, 0.08902, 0.09136, 0.09854",\
                 "0.1013, 0.0963, 0.09036, 0.08695, 0.0862, 0.08667, 0.08744, 0.08869, 0.09004, 0.09722",\
                 "0.1014, 0.09653, 0.09036, 0.08718, 0.08617, 0.08667, 0.08744, 0.08869, 0.09004, 0.09751",\
                 "0.1073, 0.102, 0.09528, 0.09098, 0.08957, 0.08977, 0.09021, 0.09133, 0.09301, 0.1019",\
                 "0.1207, 0.1147, 0.1071, 0.1017, 0.09884, 0.09806, 0.0983, 0.09925, 0.1006, 0.1097",\
                 "0.1422, 0.1352, 0.1249, 0.1178, 0.1148, 0.1126, 0.1124, 0.1121, 0.1139, 0.126",\
                 "0.1726, 0.1643, 0.1523, 0.1429, 0.1373, 0.1354, 0.1343, 0.1332, 0.1344, 0.1478",\
                 "0.2115, 0.2017, 0.1867, 0.1756, 0.1675, 0.1637, 0.1626, 0.1616, 0.1605, 0.1787",\
                 "0.2587, 0.2473, 0.2306, 0.2162, 0.2061, 0.199, 0.1964, 0.1982, 0.1983, 0.2233",\
                 "0.3144, 0.3017, 0.2818, 0.2663, 0.2543, 0.2447, 0.239, 0.2367, 0.2435, 0.2828");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1689, 0.1644, 0.1592, 0.1569, 0.1557, 0.155, 0.1547, 0.1544, 0.1542, 0.1541",\
                 "0.1687, 0.1643, 0.1592, 0.1568, 0.1557, 0.155, 0.1546, 0.1543, 0.1541, 0.154",\
                 "0.1686, 0.164, 0.1589, 0.1565, 0.1553, 0.1548, 0.1544, 0.1541, 0.154, 0.1539",\
                 "0.1751, 0.17, 0.1635, 0.1603, 0.1589, 0.1581, 0.1576, 0.1573, 0.1571, 0.157",\
                 "0.194, 0.1874, 0.178, 0.1723, 0.1696, 0.1679, 0.1669, 0.1664, 0.166, 0.1657",\
                 "0.2209, 0.2132, 0.2005, 0.1924, 0.1876, 0.1849, 0.1834, 0.1823, 0.1817, 0.1813",\
                 "0.2573, 0.2483, 0.2323, 0.2212, 0.2142, 0.2102, 0.2076, 0.206, 0.2049, 0.2041",\
                 "0.3032, 0.2933, 0.2735, 0.2591, 0.2498, 0.2437, 0.24, 0.2375, 0.2359, 0.2348",\
                 "0.3585, 0.3474, 0.3247, 0.3067, 0.2944, 0.2863, 0.2811, 0.2775, 0.2751, 0.2735",\
                 "0.4232, 0.4114, 0.3857, 0.3636, 0.3484, 0.3378, 0.3309, 0.3262, 0.3228, 0.3205");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1017, 0.09662, 0.09079, 0.08739, 0.08667, 0.08701, 0.08771, 0.08902, 0.0907, 0.09789",\
                 "0.1012, 0.09637, 0.0904, 0.08709, 0.0864, 0.08671, 0.08744, 0.08836, 0.09037, 0.09803",\
                 "0.1008, 0.09596, 0.09003, 0.08659, 0.08568, 0.08628, 0.08662, 0.0877, 0.08938, 0.09653",\
                 "0.1058, 0.1006, 0.09373, 0.08973, 0.08828, 0.08836, 0.08893, 0.09001, 0.09268, 0.1003",\
                 "0.1179, 0.1119, 0.1039, 0.0991, 0.09643, 0.09592, 0.09609, 0.09661, 0.09865, 0.1077",\
                 "0.1384, 0.1315, 0.1218, 0.1145, 0.1118, 0.1096, 0.1093, 0.1098, 0.1112, 0.1222",\
                 "0.1681, 0.1599, 0.1481, 0.1386, 0.1338, 0.1321, 0.1307, 0.1296, 0.1304, 0.1442",\
                 "0.2066, 0.1971, 0.183, 0.1715, 0.1629, 0.1596, 0.1591, 0.1589, 0.1575, 0.1749",\
                 "0.2536, 0.243, 0.2263, 0.2122, 0.2028, 0.1958, 0.1931, 0.1939, 0.1943, 0.2207",\
                 "0.309, 0.2968, 0.2777, 0.262, 0.2508, 0.2415, 0.2354, 0.2344, 0.2405, 0.279");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1889, 0.1838, 0.1775, 0.1745, 0.1728, 0.172, 0.1714, 0.171, 0.1707, 0.1706",\
                 "0.188, 0.183, 0.1766, 0.1737, 0.1719, 0.171, 0.1705, 0.1701, 0.1699, 0.1698",\
                 "0.1877, 0.1827, 0.1762, 0.1733, 0.1716, 0.1708, 0.1701, 0.1697, 0.1695, 0.1695",\
                 "0.1932, 0.1878, 0.1806, 0.1769, 0.175, 0.174, 0.1734, 0.173, 0.1728, 0.1726",\
                 "0.2124, 0.2057, 0.1956, 0.1893, 0.1861, 0.1843, 0.1831, 0.1825, 0.182, 0.1817",\
                 "0.2403, 0.2324, 0.2191, 0.2103, 0.2051, 0.2021, 0.2004, 0.1992, 0.1984, 0.1979",\
                 "0.2776, 0.2686, 0.2521, 0.2405, 0.2329, 0.2286, 0.2258, 0.224, 0.2228, 0.2219",\
                 "0.3252, 0.3151, 0.2954, 0.2805, 0.2703, 0.264, 0.26, 0.2574, 0.2556, 0.2544",\
                 "0.3826, 0.3717, 0.3488, 0.3303, 0.3174, 0.3089, 0.3034, 0.2997, 0.2971, 0.2954",\
                 "0.4503, 0.4387, 0.4126, 0.3906, 0.3745, 0.3635, 0.3563, 0.3514, 0.3479, 0.3454");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1016, 0.09663, 0.09082, 0.08755, 0.08666, 0.08717, 0.08767, 0.08902, 0.09169, 0.09869",\
                 "0.1012, 0.09627, 0.09039, 0.08705, 0.08633, 0.08681, 0.08734, 0.08836, 0.09136, 0.09836",\
                 "0.1005, 0.0955, 0.08957, 0.08646, 0.08548, 0.08575, 0.08639, 0.0877, 0.09004, 0.09799",\
                 "0.1043, 0.099, 0.09231, 0.08841, 0.08719, 0.0872, 0.08771, 0.08869, 0.09037, 0.1001",\
                 "0.1148, 0.109, 0.1014, 0.09662, 0.09452, 0.09433, 0.09457, 0.09496, 0.097, 0.1067",\
                 "0.1347, 0.128, 0.1185, 0.1119, 0.1095, 0.1077, 0.1073, 0.1078, 0.1102, 0.1211",\
                 "0.1647, 0.1567, 0.1451, 0.1361, 0.131, 0.1301, 0.1287, 0.1283, 0.1291, 0.1423",\
                 "0.2039, 0.1947, 0.1807, 0.1698, 0.1616, 0.1579, 0.1585, 0.1576, 0.1572, 0.1741",\
                 "0.2521, 0.2419, 0.2254, 0.2127, 0.2033, 0.1973, 0.1947, 0.1952, 0.1963, 0.2192",\
                 "0.3094, 0.2981, 0.2793, 0.2638, 0.2521, 0.2441, 0.2388, 0.238, 0.2434, 0.2787");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.2075, 0.202, 0.1945, 0.1908, 0.1887, 0.1876, 0.1868, 0.1863, 0.186, 0.1858",\
                 "0.2064, 0.2009, 0.1935, 0.1899, 0.1877, 0.1865, 0.1857, 0.1852, 0.1849, 0.1847",\
                 "0.2062, 0.2006, 0.1933, 0.1895, 0.1873, 0.1863, 0.1855, 0.185, 0.1847, 0.1845",\
                 "0.2112, 0.2054, 0.1974, 0.193, 0.1908, 0.1895, 0.1889, 0.1884, 0.1881, 0.1879",\
                 "0.2305, 0.2236, 0.2128, 0.2062, 0.2023, 0.2002, 0.199, 0.1982, 0.1977, 0.1974",\
                 "0.2594, 0.2513, 0.2374, 0.228, 0.2224, 0.2192, 0.2172, 0.2159, 0.2151, 0.2145",\
                 "0.2979, 0.2889, 0.2719, 0.2597, 0.2517, 0.247, 0.244, 0.2421, 0.2408, 0.2399",\
                 "0.3473, 0.3372, 0.3172, 0.3017, 0.2913, 0.2845, 0.2804, 0.2776, 0.2757, 0.2743",\
                 "0.4074, 0.3966, 0.3734, 0.3547, 0.3413, 0.3325, 0.3266, 0.3226, 0.3199, 0.3182",\
                 "0.4785, 0.467, 0.4412, 0.4186, 0.4022, 0.3909, 0.3832, 0.3781, 0.3744, 0.3719");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1016, 0.09662, 0.09059, 0.08755, 0.08676, 0.08707, 0.08754, 0.08869, 0.09037, 0.09803",\
                 "0.1012, 0.09627, 0.09039, 0.08705, 0.08627, 0.08681, 0.08731, 0.08836, 0.0907, 0.09836",\
                 "0.1003, 0.09544, 0.08931, 0.08626, 0.08538, 0.08578, 0.08626, 0.08737, 0.08938, 0.09733",\
                 "0.1029, 0.09777, 0.09122, 0.08762, 0.0864, 0.08654, 0.08725, 0.08803, 0.09004, 0.09762",\
                 "0.1123, 0.1064, 0.09907, 0.09544, 0.09313, 0.09298, 0.09319, 0.09463, 0.09601, 0.1061",\
                 "0.1312, 0.1247, 0.1156, 0.1093, 0.1078, 0.1065, 0.1061, 0.1068, 0.1086, 0.1193",\
                 "0.1603, 0.1526, 0.1415, 0.1335, 0.1292, 0.1286, 0.1279, 0.1273, 0.1284, 0.1408",\
                 "0.1998, 0.1909, 0.1773, 0.1678, 0.1607, 0.1579, 0.1587, 0.1576, 0.1575, 0.1739",\
                 "0.2491, 0.2393, 0.2233, 0.2108, 0.2024, 0.1973, 0.1953, 0.1969, 0.1976, 0.2213",\
                 "0.3084, 0.2975, 0.2796, 0.2642, 0.2542, 0.2463, 0.2419, 0.2411, 0.2467, 0.2817");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.3307, 0.3728, 0.478, 0.6291, 0.8326, 1.105, 1.459, 1.904, 2.449, 3.097",\
                 "0.3488, 0.3908, 0.4961, 0.6474, 0.8507, 1.123, 1.477, 1.922, 2.467, 3.115",\
                 "0.4131, 0.4552, 0.5601, 0.7114, 0.9148, 1.187, 1.541, 1.987, 2.531, 3.18",\
                 "0.5396, 0.5818, 0.6872, 0.8385, 1.042, 1.314, 1.668, 2.114, 2.658, 3.306",\
                 "0.6949, 0.7417, 0.8544, 1.012, 1.217, 1.489, 1.843, 2.288, 2.832, 3.481",\
                 "0.8726, 0.9233, 1.045, 1.209, 1.42, 1.694, 2.047, 2.493, 3.036, 3.684",\
                 "1.073, 1.129, 1.261, 1.435, 1.651, 1.927, 2.281, 2.726, 3.269, 3.917",\
                 "1.297, 1.358, 1.5, 1.686, 1.912, 2.192, 2.547, 2.992, 3.534, 4.182",\
                 "1.543, 1.608, 1.762, 1.96, 2.198, 2.486, 2.846, 3.291, 3.833, 4.481",\
                 "1.811, 1.88, 2.046, 2.258, 2.508, 2.807, 3.174, 3.625, 4.169, 4.816");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.4274, 0.482, 0.6342, 0.8791, 1.234, 1.723, 2.366, 3.177, 4.165, 5.345",\
                 "0.4371, 0.4914, 0.6441, 0.8889, 1.243, 1.733, 2.376, 3.187, 4.176, 5.353",\
                 "0.474, 0.5286, 0.6805, 0.9257, 1.28, 1.77, 2.413, 3.224, 4.213, 5.39",\
                 "0.5466, 0.6009, 0.753, 0.9969, 1.351, 1.84, 2.483, 3.293, 4.282, 5.46",\
                 "0.62, 0.6751, 0.8279, 1.074, 1.428, 1.916, 2.558, 3.37, 4.359, 5.537",\
                 "0.6869, 0.7431, 0.8961, 1.141, 1.496, 1.985, 2.627, 3.436, 4.426, 5.607",\
                 "0.7417, 0.8006, 0.957, 1.203, 1.556, 2.045, 2.687, 3.496, 4.483, 5.663",\
                 "0.7779, 0.8409, 1.001, 1.252, 1.609, 2.095, 2.735, 3.545, 4.532, 5.71",\
                 "0.7941, 0.8609, 1.028, 1.284, 1.645, 2.135, 2.775, 3.584, 4.572, 5.749",\
                 "0.7861, 0.8577, 1.033, 1.296, 1.662, 2.158, 2.802, 3.609, 4.596, 5.775");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1063, 0.1465, 0.2567, 0.4425, 0.7379, 1.173, 1.761, 2.51, 3.425, 4.515",\
                 "0.1062, 0.146, 0.2565, 0.442, 0.7377, 1.173, 1.761, 2.506, 3.424, 4.517",\
                 "0.1067, 0.1461, 0.2573, 0.4418, 0.7377, 1.173, 1.76, 2.509, 3.421, 4.514",\
                 "0.1135, 0.1525, 0.2612, 0.4446, 0.7386, 1.173, 1.759, 2.509, 3.423, 4.517",\
                 "0.1374, 0.178, 0.2842, 0.4612, 0.7468, 1.176, 1.762, 2.509, 3.425, 4.518",\
                 "0.161, 0.2058, 0.3122, 0.4864, 0.7628, 1.183, 1.765, 2.51, 3.425, 4.519",\
                 "0.1892, 0.2372, 0.3474, 0.5176, 0.7842, 1.195, 1.769, 2.511, 3.421, 4.514",\
                 "0.218, 0.2726, 0.3894, 0.5606, 0.818, 1.217, 1.78, 2.514, 3.422, 4.512",\
                 "0.25, 0.3082, 0.4346, 0.6076, 0.8642, 1.251, 1.802, 2.524, 3.426, 4.511",\
                 "0.2824, 0.3454, 0.4818, 0.6612, 0.917, 1.298, 1.841, 2.553, 3.445, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1385, 0.2028, 0.4071, 0.772, 1.36, 2.216, 3.346, 4.774, 6.52, 8.594",\
                 "0.1387, 0.2027, 0.4063, 0.7726, 1.36, 2.211, 3.343, 4.774, 6.528, 8.605",\
                 "0.1388, 0.2029, 0.4071, 0.7725, 1.361, 2.213, 3.342, 4.774, 6.528, 8.606",\
                 "0.1409, 0.2044, 0.4094, 0.7736, 1.361, 2.217, 3.345, 4.777, 6.524, 8.6",\
                 "0.1476, 0.2116, 0.4166, 0.7822, 1.367, 2.212, 3.35, 4.772, 6.528, 8.613",\
                 "0.16, 0.222, 0.4238, 0.7878, 1.373, 2.223, 3.35, 4.772, 6.519, 8.596",\
                 "0.1792, 0.2406, 0.4374, 0.7966, 1.376, 2.224, 3.354, 4.779, 6.527, 8.597",\
                 "0.2018, 0.2632, 0.459, 0.8162, 1.387, 2.227, 3.355, 4.781, 6.528, 8.594",\
                 "0.2242, 0.2872, 0.4806, 0.8392, 1.41, 2.242, 3.36, 4.785, 6.523, 8.614",\
                 "0.2504, 0.3158, 0.5084, 0.868, 1.44, 2.271, 3.379, 4.79, 6.526, 8.598");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.37, 0.4143, 0.5228, 0.6756, 0.8801, 1.152, 1.507, 1.953, 2.496, 3.145",\
                 "0.3881, 0.4323, 0.5409, 0.6939, 0.8982, 1.171, 1.525, 1.971, 2.515, 3.164",\
                 "0.452, 0.4964, 0.6047, 0.7577, 0.9621, 1.234, 1.589, 2.034, 2.579, 3.228",\
                 "0.5816, 0.6261, 0.7341, 0.8869, 1.091, 1.364, 1.718, 2.163, 2.708, 3.357",\
                 "0.751, 0.7997, 0.9146, 1.072, 1.278, 1.55, 1.904, 2.35, 2.893, 3.542",\
                 "0.9442, 0.9972, 1.121, 1.287, 1.497, 1.771, 2.124, 2.569, 3.113, 3.761",\
                 "1.167, 1.225, 1.358, 1.532, 1.748, 2.023, 2.377, 2.822, 3.365, 4.013",\
                 "1.418, 1.48, 1.625, 1.809, 2.033, 2.312, 2.666, 3.11, 3.653, 4.301",\
                 "1.697, 1.763, 1.92, 2.116, 2.35, 2.636, 2.993, 3.437, 3.98, 4.627",\
                 "2.004, 2.076, 2.243, 2.454, 2.699, 2.993, 3.356, 3.804, 4.346, 4.994");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.4678, 0.5223, 0.6748, 0.9197, 1.275, 1.764, 2.406, 3.218, 4.207, 5.388",\
                 "0.4765, 0.531, 0.6833, 0.9282, 1.283, 1.772, 2.415, 3.227, 4.215, 5.397",\
                 "0.5007, 0.5553, 0.7077, 0.9525, 1.307, 1.796, 2.439, 3.249, 4.241, 5.419",\
                 "0.5508, 0.6056, 0.7578, 1.002, 1.356, 1.845, 2.488, 3.3, 4.287, 5.468",\
                 "0.6059, 0.6618, 0.816, 1.063, 1.417, 1.906, 2.548, 3.358, 4.349, 5.529",\
                 "0.6562, 0.7137, 0.8699, 1.117, 1.471, 1.961, 2.603, 3.413, 4.403, 5.582",\
                 "0.6917, 0.7523, 0.9122, 1.162, 1.516, 2.004, 2.647, 3.455, 4.443, 5.621",\
                 "0.7071, 0.7708, 0.936, 1.191, 1.549, 2.037, 2.678, 3.487, 4.474, 5.651",\
                 "0.6969, 0.7654, 0.9363, 1.198, 1.563, 2.055, 2.696, 3.503, 4.491, 5.669",\
                 "0.6593, 0.7313, 0.9108, 1.179, 1.552, 2.051, 2.698, 3.506, 4.492, 5.669");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.116, 0.1565, 0.2643, 0.448, 0.7412, 1.175, 1.763, 2.511, 3.426, 4.519",\
                 "0.1156, 0.1566, 0.2647, 0.4473, 0.7399, 1.173, 1.763, 2.511, 3.426, 4.514",\
                 "0.1157, 0.1562, 0.2646, 0.447, 0.741, 1.175, 1.763, 2.51, 3.426, 4.513",\
                 "0.1198, 0.16, 0.267, 0.4492, 0.7406, 1.174, 1.761, 2.509, 3.425, 4.516",\
                 "0.1432, 0.185, 0.2892, 0.4626, 0.748, 1.175, 1.763, 2.51, 3.426, 4.514",\
                 "0.167, 0.213, 0.3184, 0.4884, 0.7628, 1.183, 1.764, 2.511, 3.425, 4.517",\
                 "0.1938, 0.2432, 0.3514, 0.5176, 0.7838, 1.195, 1.768, 2.51, 3.421, 4.515",\
                 "0.2228, 0.2772, 0.3922, 0.556, 0.8118, 1.21, 1.776, 2.514, 3.423, 4.512",\
                 "0.2532, 0.3132, 0.4364, 0.6004, 0.852, 1.239, 1.793, 2.524, 3.428, 4.513",\
                 "0.287, 0.3508, 0.4856, 0.6526, 0.9002, 1.278, 1.825, 2.541, 3.437, 4.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1394, 0.2031, 0.4066, 0.772, 1.362, 2.213, 3.348, 4.772, 6.518, 8.602",\
                 "0.1386, 0.2032, 0.4071, 0.7719, 1.361, 2.213, 3.348, 4.771, 6.518, 8.602",\
                 "0.1385, 0.203, 0.4071, 0.7723, 1.361, 2.216, 3.35, 4.773, 6.517, 8.612",\
                 "0.1422, 0.2054, 0.4088, 0.7734, 1.361, 2.213, 3.348, 4.773, 6.515, 8.598",\
                 "0.1502, 0.2142, 0.4182, 0.7818, 1.365, 2.216, 3.35, 4.771, 6.518, 8.598",\
                 "0.1618, 0.2242, 0.428, 0.7888, 1.372, 2.22, 3.344, 4.773, 6.517, 8.599",\
                 "0.1792, 0.242, 0.4438, 0.8012, 1.377, 2.222, 3.349, 4.78, 6.522, 8.595",\
                 "0.199, 0.2632, 0.464, 0.8226, 1.393, 2.228, 3.354, 4.779, 6.526, 8.596",\
                 "0.2218, 0.2878, 0.4888, 0.8502, 1.419, 2.248, 3.359, 4.78, 6.52, 8.609",\
                 "0.2466, 0.3154, 0.5134, 0.8792, 1.451, 2.282, 3.383, 4.791, 6.522, 8.597");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.4076, 0.4538, 0.5656, 0.7212, 0.927, 1.2, 1.555, 2, 2.545, 3.193",\
                 "0.4234, 0.4695, 0.5812, 0.737, 0.9429, 1.216, 1.57, 2.016, 2.56, 3.209",\
                 "0.4867, 0.5327, 0.6443, 0.8001, 1.006, 1.279, 1.634, 2.079, 2.623, 3.272",\
                 "0.6185, 0.6645, 0.7755, 0.931, 1.137, 1.41, 1.764, 2.21, 2.755, 3.403",\
                 "0.8004, 0.8504, 0.9673, 1.126, 1.333, 1.605, 1.96, 2.405, 2.949, 3.598",\
                 "1.009, 1.064, 1.19, 1.357, 1.568, 1.842, 2.195, 2.64, 3.184, 3.833",\
                 "1.252, 1.311, 1.447, 1.622, 1.838, 2.113, 2.467, 2.913, 3.456, 4.103",\
                 "1.53, 1.594, 1.74, 1.925, 2.148, 2.425, 2.78, 3.225, 3.768, 4.415",\
                 "1.843, 1.91, 2.069, 2.265, 2.497, 2.781, 3.137, 3.582, 4.125, 4.772",\
                 "2.192, 2.264, 2.433, 2.642, 2.885, 3.176, 3.538, 3.985, 4.528, 5.175");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.4946, 0.5491, 0.7016, 0.9464, 1.301, 1.79, 2.433, 3.245, 4.231, 5.413",\
                 "0.5036, 0.558, 0.7104, 0.9554, 1.31, 1.799, 2.442, 3.254, 4.24, 5.422",\
                 "0.5204, 0.5746, 0.7273, 0.9721, 1.326, 1.816, 2.459, 3.27, 4.257, 5.439",\
                 "0.5472, 0.602, 0.7543, 0.9988, 1.353, 1.842, 2.485, 3.296, 4.286, 5.467",\
                 "0.5746, 0.631, 0.7858, 1.032, 1.387, 1.876, 2.518, 3.33, 4.319, 5.5",\
                 "0.5973, 0.6557, 0.8127, 1.062, 1.416, 1.906, 2.548, 3.356, 4.346, 5.523",\
                 "0.603, 0.6643, 0.8259, 1.078, 1.435, 1.923, 2.565, 3.374, 4.362, 5.543",\
                 "0.5832, 0.6484, 0.8158, 1.076, 1.437, 1.926, 2.567, 3.376, 4.363, 5.541",\
                 "0.5341, 0.6026, 0.7769, 1.045, 1.415, 1.911, 2.553, 3.36, 4.348, 5.525",\
                 "0.452, 0.525, 0.7068, 0.9814, 1.36, 1.866, 2.516, 3.326, 4.312, 5.489");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1246, 0.1666, 0.2734, 0.4549, 0.7452, 1.177, 1.764, 2.511, 3.425, 4.519",\
                 "0.1243, 0.1658, 0.2735, 0.4548, 0.744, 1.178, 1.764, 2.509, 3.426, 4.516",\
                 "0.1243, 0.1659, 0.2736, 0.4549, 0.7454, 1.177, 1.764, 2.509, 3.425, 4.518",\
                 "0.1258, 0.1674, 0.2752, 0.4558, 0.7464, 1.178, 1.764, 2.511, 3.423, 4.518",\
                 "0.1486, 0.191, 0.2932, 0.4662, 0.7504, 1.179, 1.764, 2.511, 3.423, 4.518",\
                 "0.1722, 0.219, 0.3236, 0.4924, 0.7654, 1.184, 1.766, 2.51, 3.426, 4.513",\
                 "0.1984, 0.249, 0.3568, 0.5202, 0.7844, 1.195, 1.77, 2.512, 3.425, 4.51",\
                 "0.2268, 0.282, 0.3956, 0.555, 0.8116, 1.21, 1.778, 2.514, 3.424, 4.513",\
                 "0.2562, 0.3166, 0.44, 0.5984, 0.8472, 1.236, 1.79, 2.521, 3.427, 4.512",\
                 "0.2898, 0.3538, 0.4848, 0.6478, 0.8928, 1.27, 1.818, 2.539, 3.435, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.139, 0.2027, 0.4071, 0.7718, 1.361, 2.216, 3.347, 4.773, 6.515, 8.597",\
                 "0.1387, 0.2031, 0.407, 0.7718, 1.361, 2.216, 3.347, 4.773, 6.515, 8.597",\
                 "0.1387, 0.2031, 0.4062, 0.7719, 1.361, 2.213, 3.344, 4.773, 6.52, 8.598",\
                 "0.1422, 0.2049, 0.4092, 0.7728, 1.363, 2.213, 3.35, 4.773, 6.519, 8.602",\
                 "0.1498, 0.2136, 0.4184, 0.7808, 1.364, 2.216, 3.349, 4.771, 6.519, 8.602",\
                 "0.1622, 0.2252, 0.4288, 0.789, 1.371, 2.219, 3.35, 4.777, 6.52, 8.598",\
                 "0.178, 0.2416, 0.4468, 0.8052, 1.378, 2.221, 3.35, 4.775, 6.517, 8.593",\
                 "0.1982, 0.263, 0.4674, 0.8312, 1.398, 2.23, 3.353, 4.776, 6.529, 8.592",\
                 "0.2192, 0.2892, 0.4928, 0.8624, 1.433, 2.256, 3.361, 4.779, 6.517, 8.607",\
                 "0.2428, 0.3124, 0.5176, 0.8942, 1.469, 2.297, 3.395, 4.794, 6.522, 8.594");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.4366, 0.4843, 0.5992, 0.758, 0.9659, 1.24, 1.595, 2.042, 2.586, 3.234",\
                 "0.4511, 0.4989, 0.6137, 0.7725, 0.9806, 1.255, 1.61, 2.056, 2.6, 3.249",\
                 "0.5146, 0.5625, 0.6772, 0.836, 1.044, 1.318, 1.674, 2.12, 2.664, 3.313",\
                 "0.6482, 0.6958, 0.8099, 0.9685, 1.177, 1.451, 1.806, 2.252, 2.797, 3.446",\
                 "0.8412, 0.8921, 1.011, 1.172, 1.38, 1.654, 2.009, 2.455, 2.998, 3.647",\
                 "1.065, 1.121, 1.25, 1.418, 1.63, 1.905, 2.259, 2.705, 3.248, 3.896",\
                 "1.329, 1.388, 1.526, 1.702, 1.919, 2.196, 2.55, 2.995, 3.539, 4.187",\
                 "1.634, 1.698, 1.846, 2.031, 2.254, 2.533, 2.888, 3.333, 3.876, 4.524",\
                 "1.982, 2.051, 2.209, 2.405, 2.637, 2.92, 3.276, 3.722, 4.264, 4.912",\
                 "2.374, 2.447, 2.616, 2.825, 3.067, 3.357, 3.718, 4.163, 4.707, 5.354");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.5082, 0.5627, 0.7149, 0.9599, 1.315, 1.804, 2.447, 3.258, 4.248, 5.429",\
                 "0.5179, 0.5722, 0.7247, 0.9696, 1.324, 1.814, 2.456, 3.268, 4.255, 5.436",\
                 "0.531, 0.5855, 0.7376, 0.9827, 1.337, 1.827, 2.469, 3.281, 4.27, 5.451",\
                 "0.5415, 0.5964, 0.7486, 0.9932, 1.348, 1.837, 2.48, 3.29, 4.281, 5.46",\
                 "0.5433, 0.5992, 0.7542, 1.001, 1.356, 1.845, 2.487, 3.298, 4.289, 5.468",\
                 "0.5327, 0.591, 0.7489, 0.9979, 1.354, 1.843, 2.485, 3.295, 4.283, 5.464",\
                 "0.4993, 0.5605, 0.7236, 0.9792, 1.337, 1.826, 2.468, 3.277, 4.265, 5.446",\
                 "0.4353, 0.5001, 0.6697, 0.9338, 1.3, 1.793, 2.434, 3.242, 4.23, 5.407",\
                 "0.3375, 0.4061, 0.5819, 0.8541, 1.232, 1.733, 2.379, 3.187, 4.173, 5.351",\
                 "0.2021, 0.2742, 0.4572, 0.737, 1.125, 1.638, 2.296, 3.108, 4.095, 5.271");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.1316, 0.1745, 0.2828, 0.4641, 0.752, 1.182, 1.766, 2.513, 3.427, 4.519",\
                 "0.1324, 0.1748, 0.283, 0.4636, 0.7521, 1.182, 1.766, 2.513, 3.427, 4.519",\
                 "0.1325, 0.1742, 0.2831, 0.4642, 0.7522, 1.182, 1.765, 2.513, 3.428, 4.519",\
                 "0.1324, 0.1752, 0.2836, 0.4646, 0.7528, 1.181, 1.766, 2.51, 3.428, 4.519",\
                 "0.1534, 0.196, 0.2992, 0.4722, 0.7556, 1.184, 1.765, 2.513, 3.426, 4.519",\
                 "0.1772, 0.2246, 0.3298, 0.497, 0.7704, 1.188, 1.769, 2.513, 3.424, 4.517",\
                 "0.2024, 0.2546, 0.3614, 0.5256, 0.7886, 1.2, 1.771, 2.513, 3.427, 4.513",\
                 "0.2296, 0.286, 0.3998, 0.5586, 0.8124, 1.211, 1.779, 2.516, 3.424, 4.513",\
                 "0.2594, 0.3192, 0.4416, 0.5994, 0.845, 1.235, 1.791, 2.521, 3.429, 4.513",\
                 "0.2902, 0.3546, 0.4864, 0.6442, 0.8878, 1.265, 1.814, 2.537, 3.434, 4.519");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005961, 0.02338, 0.05664, 0.1085, 0.1812, 0.2768, 0.3973, 0.5445, 0.7198");
          values("0.139, 0.2027, 0.4075, 0.7719, 1.361, 2.212, 3.35, 4.773, 6.519, 8.603",\
                 "0.1387, 0.2031, 0.407, 0.7719, 1.362, 2.216, 3.347, 4.773, 6.518, 8.597",\
                 "0.1386, 0.2025, 0.4075, 0.7722, 1.361, 2.212, 3.35, 4.773, 6.519, 8.602",\
                 "0.141, 0.2037, 0.4082, 0.7726, 1.361, 2.216, 3.345, 4.772, 6.518, 8.597",\
                 "0.148, 0.2114, 0.4164, 0.7786, 1.364, 2.213, 3.35, 4.776, 6.519, 8.596",\
                 "0.1592, 0.2236, 0.4286, 0.7892, 1.369, 2.216, 3.346, 4.781, 6.516, 8.6",\
                 "0.1748, 0.2412, 0.448, 0.8094, 1.379, 2.22, 3.346, 4.777, 6.52, 8.595",\
                 "0.1938, 0.2614, 0.4706, 0.8404, 1.408, 2.234, 3.35, 4.772, 6.528, 8.605",\
                 "0.2136, 0.2844, 0.495, 0.8724, 1.449, 2.268, 3.372, 4.778, 6.514, 8.6",\
                 "0.2348, 0.3076, 0.5202, 0.9062, 1.49, 2.323, 3.416, 4.802, 6.522, 8.595");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__and4_4) {
    area : 52.684800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "8.99085e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "8.99085e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "8.99085e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "8.99085e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "8.99547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "8.99547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "8.99811e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "9.00702e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "0.0001225422" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "0.0001225455" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "0.0001225785" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "0.0001226511" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "0.0001543146" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "0.0001544169" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "0.0001857207" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "0.0001581294" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001857207" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008551 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03301, 0.03285, 0.03276, 0.03278, 0.03276, 0.03278, 0.03284, \
                 0.03283, 0.03274, 0.0328");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02292, -0.02287, -0.02293, -0.02293, -0.02291, -0.02301, -0.02304, \
                 -0.02301, -0.02306, -0.02308");
        }
      }

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03297, 0.03283, 0.03277, 0.03279, 0.03279, 0.03283, 0.03283, \
                 0.03286, 0.03279, 0.03279");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02292, -0.02287, -0.02291, -0.02291, -0.02291, -0.02304, -0.02302, \
                 -0.02301, -0.02305, -0.0231");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.033, 0.03283, 0.03277, 0.03279, 0.03277, 0.03281, 0.03281, 0.03284, \
                 0.03278, 0.03282");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02292, -0.02287, -0.0229, -0.02292, -0.02289, -0.02302, -0.02304, \
                 -0.02303, -0.02306, -0.0231");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03295, 0.03285, 0.03279, 0.03277, 0.03273, 0.03278, 0.03283, \
                 0.03282, 0.03279, 0.03279");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02293, -0.02289, -0.02293, -0.02295, -0.02292, -0.02301, -0.02303, \
                 -0.02308, -0.02306, -0.02312");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03293, 0.03283, 0.03277, 0.03278, 0.03273, 0.03284, 0.03282, \
                 0.03285, 0.03277, 0.0328");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004013, 0.004081, 0.003986, 0.003904, 0.003922, 0.003819, 0.003762, \
                 0.00372, 0.003648, 0.003604");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03287, 0.03279, 0.03275, 0.03278, 0.03274, 0.03278, 0.03283, \
                 0.03281, 0.0328, 0.03279");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004049, 0.004054, 0.003997, 0.003931, 0.003864, 0.003793, 0.003746, \
                 0.003717, 0.003654, 0.003583");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03287, 0.03279, 0.03275, 0.03279, 0.03274, 0.0328, 0.03283, \
                 0.03282, 0.03279, 0.03281");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03009, 0.03012, 0.03008, 0.02992, 0.02988, 0.02978, 0.02967, \
                 0.02963, 0.02958, 0.02946");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008735 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03935, 0.03949, 0.0399, 0.04037, 0.04078, 0.04109, 0.04128, \
                 0.04139, 0.0415, 0.04151");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02966, -0.02958, -0.0295, -0.02948, -0.02946, -0.02955, -0.02953, \
                 -0.02951, -0.0295, -0.02953");
        }
      }

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03859, 0.03874, 0.0393, 0.03987, 0.0404, 0.04077, 0.04097, 0.04116, \
                 0.04126, 0.04131");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02967, -0.02958, -0.02954, -0.02952, -0.02947, -0.02953, -0.02951, \
                 -0.02952, -0.02953, -0.02952");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03566, 0.03512, 0.03508, 0.03526, 0.03551, 0.03581, 0.03602, \
                 0.03615, 0.03623, 0.03628");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02961, -0.02951, -0.02952, -0.02945, -0.02947, -0.02955, -0.02954, \
                 -0.02953, -0.02953, -0.02953");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03377, 0.03125, 0.02979, 0.02965, 0.02955, 0.02964, 0.02962, \
                 0.02965, 0.02964, 0.0296");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02956, -0.02951, -0.02949, -0.02953, -0.02948, -0.02954, -0.02955, \
                 -0.02954, -0.02952, -0.02954");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03242, 0.03235, 0.03234, 0.03228, 0.03226, 0.03236, 0.03225, \
                 0.03225, 0.03225, 0.03222");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02392, -0.02387, -0.02389, -0.02388, -0.02387, -0.02397, -0.02398, \
                 -0.02407, -0.02408, -0.02418");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03239, 0.03238, 0.03234, 0.03227, 0.03229, 0.03232, 0.03228, \
                 0.03224, 0.03223, 0.03222");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02393, -0.02389, -0.0239, -0.02386, -0.02389, -0.02398, -0.02402, \
                 -0.02405, -0.0241, -0.02419");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03243, 0.03243, 0.03237, 0.03234, 0.03234, 0.03238, 0.03235, \
                 0.0323, 0.03232, 0.03229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002158, 0.00225, 0.00219, 0.002117, 0.00207, 0.001968, 0.001899, \
                 0.001834, 0.001733, 0.001582");
        }
      }
    }

    pin(A3) {
      capacitance : 0.009113 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03342, 0.03346, 0.03342, 0.03325, 0.03316, 0.03309, 0.03294, \
                 0.03282, 0.03278, 0.03267");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02965, -0.02955, -0.02946, -0.02947, -0.02949, -0.02953, -0.02951, \
                 -0.02953, -0.02953, -0.0295");
        }
      }

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02979, 0.02965, 0.02961, 0.02955, 0.02956, 0.02963, 0.02963, \
                 0.02964, 0.02964, 0.02966");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02956, -0.0295, -0.02951, -0.02945, -0.02944, -0.02955, -0.02954, \
                 -0.02954, -0.02954, -0.02955");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03576, 0.0364, 0.03655, 0.03672, 0.03684, 0.037, 0.03702, 0.03704, \
                 0.03701, 0.03691");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02961, -0.02955, -0.0295, -0.02947, -0.02948, -0.02951, -0.02955, \
                 -0.02954, -0.02954, -0.02952");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03207, 0.03001, 0.02962, 0.0295, 0.02959, 0.02965, 0.02965, \
                 0.02964, 0.02959, 0.02964");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02954, -0.02951, -0.02951, -0.0295, -0.02947, -0.02954, -0.02954, \
                 -0.02956, -0.02953, -0.02951");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0369, 0.03707, 0.03751, 0.03787, 0.0383, 0.03864, 0.03884, 0.03898, \
                 0.03906, 0.03899");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02964, -0.02957, -0.02952, -0.02952, -0.0295, -0.02954, -0.02952, \
                 -0.0295, -0.02954, -0.02953");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03226, 0.02984, 0.02959, 0.02956, 0.02957, 0.02963, 0.02963, \
                 0.02962, 0.02963, 0.02962");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02956, -0.02952, -0.0295, -0.02946, -0.02946, -0.02953, -0.02955, \
                 -0.02956, -0.02952, -0.02953");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03112, 0.03112, 0.03104, 0.03101, 0.03102, 0.03103, 0.03102, \
                 0.03097, 0.03092, 0.03087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02606, -0.02602, -0.02603, -0.02608, -0.02608, -0.02616, -0.0262, \
                 -0.02626, -0.02633, -0.02647");
        }
      }
    }

    pin(A4) {
      capacitance : 0.009942 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0298, 0.02969, 0.02962, 0.02958, 0.0296, 0.02965, 0.02961, 0.02964, \
                 0.02963, 0.0297");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02959, -0.02951, -0.02953, -0.02943, -0.02944, -0.02951, -0.02951, \
                 -0.02952, -0.02952, -0.02953");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02975, 0.02963, 0.0296, 0.02957, 0.02957, 0.02964, 0.02961, \
                 0.02963, 0.02962, 0.02963");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02956, -0.02955, -0.02949, -0.02949, -0.02948, -0.02952, -0.02953, \
                 -0.02953, -0.02953, -0.02953");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02979, 0.02974, 0.02963, 0.02962, 0.02959, 0.02962, 0.02962, \
                 0.02964, 0.02963, 0.02969");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02959, -0.02958, -0.02954, -0.02945, -0.02947, -0.02953, -0.02951, \
                 -0.02953, -0.0295, -0.02951");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02974, 0.02967, 0.02966, 0.02955, 0.02958, 0.02966, 0.02963, \
                 0.02963, 0.02962, 0.02964");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02955, -0.02954, -0.02948, -0.02953, -0.02946, -0.02954, -0.02953, \
                 -0.02956, -0.02953, -0.02954");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02979, 0.02969, 0.02963, 0.02962, 0.02959, 0.02965, 0.02962, \
                 0.02964, 0.02965, 0.02969");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02959, -0.02958, -0.02957, -0.02945, -0.02948, -0.02952, -0.02952, \
                 -0.02953, -0.0295, -0.02953");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02975, 0.02965, 0.02961, 0.02957, 0.02956, 0.02964, 0.02965, \
                 0.02965, 0.02962, 0.02963");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02955, -0.02955, -0.02949, -0.02951, -0.02948, -0.02955, -0.02953, \
                 -0.02954, -0.02954, -0.02955");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03011, 0.02969, 0.02964, 0.02959, 0.02959, 0.02964, 0.02964, \
                 0.02965, 0.02965, 0.02963");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02959, -0.02957, -0.02956, -0.02947, -0.02946, -0.02953, -0.02952, \
                 -0.02954, -0.02953, -0.02955");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1&A2&A3&A4)" ;
      max_capacitance : 1.439 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2626, 0.2588, 0.2563, 0.2561, 0.2563, 0.2561, 0.256, 0.2561, 0.2561, 0.2561",\
                 "0.2628, 0.2589, 0.2565, 0.2563, 0.2565, 0.2563, 0.2564, 0.2564, 0.2564, 0.2564",\
                 "0.2642, 0.2598, 0.2571, 0.2568, 0.2569, 0.2571, 0.2572, 0.2572, 0.2573, 0.2573",\
                 "0.2817, 0.2746, 0.268, 0.2653, 0.2648, 0.2644, 0.2643, 0.2643, 0.2643, 0.2643",\
                 "0.3153, 0.305, 0.293, 0.2869, 0.2838, 0.2825, 0.2819, 0.2815, 0.2814, 0.2813",\
                 "0.3666, 0.3529, 0.3341, 0.3233, 0.3176, 0.3147, 0.3128, 0.3118, 0.3113, 0.311",\
                 "0.4353, 0.4187, 0.3933, 0.3768, 0.3674, 0.3619, 0.359, 0.3568, 0.3557, 0.3548",\
                 "0.5216, 0.5025, 0.4705, 0.4477, 0.4337, 0.4255, 0.4202, 0.4172, 0.4151, 0.4138",\
                 "0.6257, 0.6043, 0.5656, 0.5368, 0.5179, 0.5057, 0.4982, 0.4933, 0.4902, 0.4879",\
                 "0.7475, 0.7247, 0.6795, 0.6445, 0.6206, 0.6041, 0.5938, 0.5869, 0.5823, 0.5789");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2101, 0.1972, 0.1823, 0.1746, 0.1711, 0.1714, 0.172, 0.1731, 0.1769, 0.1917",\
                 "0.209, 0.1964, 0.1816, 0.1734, 0.1704, 0.1704, 0.1713, 0.1721, 0.1756, 0.1907",\
                 "0.2086, 0.196, 0.1811, 0.1728, 0.1695, 0.1697, 0.17, 0.1714, 0.1749, 0.1907",\
                 "0.2182, 0.2051, 0.1891, 0.1799, 0.1759, 0.1757, 0.1769, 0.1767, 0.1806, 0.1965",\
                 "0.2457, 0.2311, 0.2128, 0.201, 0.1956, 0.1942, 0.1938, 0.1945, 0.1984, 0.218",\
                 "0.2877, 0.2711, 0.2496, 0.2352, 0.228, 0.2239, 0.2241, 0.2235, 0.2269, 0.2496",\
                 "0.347, 0.3284, 0.3025, 0.2832, 0.2749, 0.2704, 0.2667, 0.2666, 0.2689, 0.2983",\
                 "0.4242, 0.403, 0.3722, 0.3503, 0.335, 0.3281, 0.3271, 0.3234, 0.3269, 0.3641",\
                 "0.5179, 0.4946, 0.459, 0.4319, 0.4129, 0.4011, 0.3967, 0.399, 0.3998, 0.4582",\
                 "0.629, 0.6034, 0.5629, 0.5317, 0.5071, 0.4898, 0.4805, 0.4813, 0.4931, 0.5913");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2913, 0.2865, 0.2828, 0.2818, 0.2815, 0.2814, 0.2814, 0.2814, 0.2813, 0.2813",\
                 "0.2914, 0.2865, 0.2829, 0.282, 0.2816, 0.2815, 0.2815, 0.2815, 0.2815, 0.2815",\
                 "0.2924, 0.2873, 0.2833, 0.2822, 0.2821, 0.2821, 0.2821, 0.2822, 0.2822, 0.2822",\
                 "0.3095, 0.302, 0.2942, 0.2911, 0.2901, 0.2897, 0.2895, 0.2894, 0.2893, 0.2893",\
                 "0.3446, 0.3338, 0.3206, 0.3137, 0.3102, 0.3086, 0.3079, 0.3074, 0.3071, 0.3069",\
                 "0.3971, 0.3836, 0.3642, 0.3522, 0.3459, 0.3426, 0.3408, 0.3395, 0.3388, 0.3384",\
                 "0.4687, 0.452, 0.426, 0.4082, 0.3979, 0.392, 0.3884, 0.3863, 0.3851, 0.3842",\
                 "0.5583, 0.539, 0.5062, 0.4824, 0.4674, 0.4583, 0.4528, 0.4494, 0.4472, 0.4455",\
                 "0.6654, 0.6443, 0.6051, 0.575, 0.5546, 0.5419, 0.5339, 0.5286, 0.5252, 0.5227",\
                 "0.7916, 0.7683, 0.7227, 0.6863, 0.6607, 0.6438, 0.6326, 0.6251, 0.62, 0.6166");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.21, 0.1973, 0.1827, 0.1739, 0.1713, 0.1714, 0.1727, 0.1734, 0.1766, 0.1908",\
                 "0.2089, 0.1961, 0.1813, 0.1727, 0.1704, 0.1704, 0.1717, 0.1724, 0.1756, 0.1894",\
                 "0.2072, 0.1943, 0.1797, 0.1714, 0.1682, 0.1684, 0.169, 0.1704, 0.1736, 0.1913",\
                 "0.2156, 0.2025, 0.1865, 0.1769, 0.173, 0.1731, 0.1733, 0.1744, 0.1789, 0.1974",\
                 "0.2398, 0.2254, 0.2077, 0.1964, 0.1908, 0.1899, 0.1898, 0.1902, 0.1948, 0.2157",\
                 "0.2801, 0.2642, 0.2424, 0.2285, 0.2223, 0.2189, 0.2189, 0.2179, 0.2216, 0.2446",\
                 "0.3395, 0.3214, 0.2962, 0.2772, 0.2683, 0.2645, 0.2618, 0.261, 0.2636, 0.2924",\
                 "0.4165, 0.3965, 0.3671, 0.3434, 0.3294, 0.3229, 0.3215, 0.3201, 0.3202, 0.3619",\
                 "0.5109, 0.4889, 0.4543, 0.4268, 0.4077, 0.3981, 0.3941, 0.3963, 0.3969, 0.4545",\
                 "0.6231, 0.599, 0.5593, 0.5291, 0.5057, 0.4895, 0.4815, 0.4794, 0.493, 0.5847");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3213, 0.3155, 0.3107, 0.3093, 0.3085, 0.3082, 0.308, 0.3079, 0.3078, 0.3078",\
                 "0.3201, 0.3141, 0.3092, 0.3081, 0.3074, 0.3066, 0.3066, 0.3065, 0.3065, 0.3064",\
                 "0.3205, 0.3145, 0.309, 0.3079, 0.3072, 0.307, 0.3068, 0.3068, 0.3067, 0.3068",\
                 "0.3366, 0.3286, 0.3203, 0.3167, 0.3153, 0.3146, 0.3143, 0.3142, 0.3141, 0.3141",\
                 "0.3733, 0.3622, 0.3482, 0.3404, 0.3364, 0.3347, 0.3337, 0.3332, 0.3328, 0.3326",\
                 "0.4288, 0.4147, 0.3941, 0.3814, 0.3745, 0.3709, 0.3685, 0.3674, 0.3666, 0.3661",\
                 "0.504, 0.4872, 0.4602, 0.4417, 0.4303, 0.4239, 0.4204, 0.4177, 0.4163, 0.4153",\
                 "0.5991, 0.5798, 0.5462, 0.5216, 0.5053, 0.4957, 0.4897, 0.4858, 0.4833, 0.4817",\
                 "0.7137, 0.6926, 0.6527, 0.6214, 0.6001, 0.586, 0.5774, 0.5717, 0.568, 0.5655",\
                 "0.8487, 0.8258, 0.7796, 0.742, 0.7147, 0.6967, 0.6848, 0.6767, 0.6714, 0.6676");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2101, 0.1976, 0.1827, 0.1744, 0.1714, 0.1714, 0.1723, 0.1731, 0.1769, 0.1911",\
                 "0.2088, 0.1964, 0.1815, 0.1729, 0.1703, 0.1704, 0.171, 0.1717, 0.1753, 0.1904",\
                 "0.2064, 0.1937, 0.1787, 0.1707, 0.1677, 0.1678, 0.169, 0.1701, 0.173, 0.187",\
                 "0.2126, 0.1994, 0.1835, 0.1743, 0.1707, 0.1707, 0.1713, 0.1717, 0.1749, 0.1912",\
                 "0.2346, 0.2201, 0.2029, 0.1922, 0.1872, 0.1863, 0.1868, 0.1876, 0.1915, 0.2114",\
                 "0.2744, 0.2588, 0.2379, 0.2242, 0.2199, 0.2153, 0.2152, 0.2153, 0.219, 0.2447",\
                 "0.3357, 0.3179, 0.2934, 0.2754, 0.2664, 0.2645, 0.2621, 0.2604, 0.263, 0.2915",\
                 "0.4164, 0.397, 0.3679, 0.346, 0.3317, 0.3258, 0.3261, 0.3227, 0.3245, 0.3591",\
                 "0.5159, 0.4948, 0.4603, 0.4344, 0.4159, 0.405, 0.4003, 0.4036, 0.4047, 0.4597",\
                 "0.6343, 0.6108, 0.5718, 0.5405, 0.5192, 0.5054, 0.4957, 0.4959, 0.5067, 0.5929");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3487, 0.3421, 0.3358, 0.3339, 0.3325, 0.3321, 0.3318, 0.3317, 0.3316, 0.3316",\
                 "0.347, 0.3403, 0.3343, 0.3322, 0.3308, 0.3304, 0.3302, 0.33, 0.33, 0.3299",\
                 "0.347, 0.3401, 0.3334, 0.3315, 0.3306, 0.3302, 0.3301, 0.33, 0.33, 0.3299",\
                 "0.3626, 0.3542, 0.3451, 0.341, 0.3391, 0.3384, 0.3381, 0.3379, 0.3378, 0.3377",\
                 "0.4012, 0.3898, 0.3748, 0.3664, 0.3622, 0.3599, 0.3588, 0.3582, 0.3579, 0.3575",\
                 "0.4598, 0.4452, 0.4241, 0.4104, 0.4029, 0.3987, 0.3964, 0.3949, 0.3939, 0.3934",\
                 "0.5398, 0.5227, 0.4953, 0.4752, 0.4635, 0.4566, 0.4523, 0.4497, 0.4481, 0.4471",\
                 "0.6421, 0.623, 0.5887, 0.5623, 0.5452, 0.5349, 0.5283, 0.5241, 0.5214, 0.5195",\
                 "0.7668, 0.7453, 0.7047, 0.6721, 0.6491, 0.6344, 0.6249, 0.6188, 0.6146, 0.6117",\
                 "0.914, 0.8909, 0.8438, 0.8048, 0.7755, 0.756, 0.7434, 0.7346, 0.7285, 0.7245");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.21, 0.1972, 0.1827, 0.1746, 0.1714, 0.1714, 0.1723, 0.1731, 0.1766, 0.1917",\
                 "0.2089, 0.1962, 0.1815, 0.1733, 0.1703, 0.1704, 0.1713, 0.1724, 0.1753, 0.1897",\
                 "0.2061, 0.1933, 0.1789, 0.1704, 0.1675, 0.1674, 0.1687, 0.1698, 0.1726, 0.19",\
                 "0.2103, 0.1971, 0.1817, 0.1727, 0.1693, 0.1684, 0.1694, 0.1704, 0.1736, 0.1915",\
                 "0.2302, 0.2165, 0.1989, 0.1895, 0.1847, 0.1833, 0.1839, 0.1846, 0.1882, 0.2061",\
                 "0.2703, 0.2549, 0.2348, 0.2216, 0.2169, 0.214, 0.2132, 0.2146, 0.218, 0.2395",\
                 "0.3338, 0.3163, 0.292, 0.2748, 0.2669, 0.2648, 0.2621, 0.263, 0.2622, 0.289",\
                 "0.4186, 0.3993, 0.3701, 0.3496, 0.3359, 0.3298, 0.3307, 0.3297, 0.3301, 0.3626",\
                 "0.5237, 0.5022, 0.4678, 0.4422, 0.4265, 0.4149, 0.4126, 0.4155, 0.4165, 0.4667",\
                 "0.6484, 0.6258, 0.5869, 0.5563, 0.5379, 0.5229, 0.5142, 0.5137, 0.5267, 0.6018");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2635, 0.3072, 0.4187, 0.5875, 0.8306, 1.167, 1.609, 2.166, 2.846, 3.657",\
                 "0.2821, 0.3258, 0.4373, 0.6061, 0.8492, 1.185, 1.628, 2.184, 2.865, 3.676",\
                 "0.3475, 0.3911, 0.5022, 0.671, 0.9142, 1.251, 1.693, 2.25, 2.93, 3.742",\
                 "0.4597, 0.505, 0.6183, 0.7878, 1.031, 1.367, 1.809, 2.365, 3.047, 3.858",\
                 "0.5809, 0.631, 0.7517, 0.9262, 1.171, 1.507, 1.949, 2.505, 3.185, 3.996",\
                 "0.708, 0.7633, 0.8937, 1.075, 1.322, 1.658, 2.099, 2.655, 3.334, 4.147",\
                 "0.8393, 0.9005, 1.042, 1.233, 1.485, 1.821, 2.262, 2.819, 3.498, 4.307",\
                 "0.9732, 1.04, 1.193, 1.397, 1.657, 1.998, 2.44, 2.996, 3.674, 4.483",\
                 "1.111, 1.183, 1.347, 1.564, 1.834, 2.182, 2.629, 3.186, 3.863, 4.673",\
                 "1.252, 1.329, 1.505, 1.735, 2.015, 2.371, 2.826, 3.389, 4.07, 4.879");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4835, 0.5449, 0.7068, 0.9598, 1.318, 1.809, 2.452, 3.263, 4.254, 5.432",\
                 "0.4919, 0.5532, 0.7151, 0.9682, 1.327, 1.817, 2.461, 3.271, 4.263, 5.444",\
                 "0.5273, 0.5885, 0.7504, 1.003, 1.362, 1.852, 2.496, 3.307, 4.297, 5.479",\
                 "0.6064, 0.6677, 0.8289, 1.082, 1.44, 1.93, 2.574, 3.385, 4.376, 5.554",\
                 "0.7047, 0.7668, 0.9294, 1.184, 1.542, 2.032, 2.675, 3.486, 4.476, 5.657",\
                 "0.8094, 0.8731, 1.037, 1.291, 1.65, 2.141, 2.784, 3.594, 4.584, 5.763",\
                 "0.9215, 0.9874, 1.153, 1.408, 1.767, 2.258, 2.901, 3.711, 4.7, 5.881",\
                 "1.034, 1.104, 1.275, 1.534, 1.894, 2.383, 3.025, 3.835, 4.824, 6.003",\
                 "1.143, 1.218, 1.397, 1.661, 2.026, 2.517, 3.157, 3.967, 4.956, 6.134",\
                 "1.249, 1.328, 1.515, 1.787, 2.159, 2.655, 3.299, 4.106, 5.095, 6.273");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.08614, 0.1323, 0.2602, 0.4963, 0.8844, 1.444, 2.188, 3.127, 4.27, 5.639",\
                 "0.0863, 0.1319, 0.2608, 0.4963, 0.8844, 1.444, 2.188, 3.127, 4.27, 5.639",\
                 "0.08638, 0.1321, 0.2607, 0.4966, 0.8842, 1.444, 2.187, 3.124, 4.275, 5.644",\
                 "0.09926, 0.1428, 0.2679, 0.4988, 0.885, 1.442, 2.188, 3.127, 4.274, 5.643",\
                 "0.1198, 0.1658, 0.2908, 0.5136, 0.89, 1.444, 2.186, 3.124, 4.269, 5.637",\
                 "0.1446, 0.1946, 0.3176, 0.5338, 0.899, 1.448, 2.188, 3.124, 4.271, 5.642",\
                 "0.1722, 0.2262, 0.3536, 0.5644, 0.918, 1.455, 2.19, 3.124, 4.268, 5.635",\
                 "0.2006, 0.26, 0.395, 0.603, 0.9484, 1.474, 2.2, 3.125, 4.265, 5.63",\
                 "0.2282, 0.293, 0.4374, 0.6476, 0.9862, 1.507, 2.221, 3.138, 4.27, 5.627",\
                 "0.2578, 0.3288, 0.4812, 0.6954, 1.028, 1.546, 2.263, 3.168, 4.287, 5.636");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.145, 0.2118, 0.4187, 0.7826, 1.364, 2.214, 3.346, 4.771, 6.518, 8.606",\
                 "0.1447, 0.2122, 0.4185, 0.7823, 1.367, 2.214, 3.348, 4.769, 6.518, 8.597",\
                 "0.1443, 0.212, 0.4189, 0.7842, 1.364, 2.214, 3.342, 4.769, 6.517, 8.598",\
                 "0.1453, 0.2124, 0.4188, 0.783, 1.365, 2.21, 3.342, 4.778, 6.517, 8.61",\
                 "0.154, 0.2204, 0.427, 0.7896, 1.368, 2.215, 3.339, 4.769, 6.518, 8.597",\
                 "0.166, 0.2314, 0.4348, 0.7976, 1.376, 2.22, 3.343, 4.77, 6.517, 8.607",\
                 "0.1804, 0.2458, 0.4456, 0.8052, 1.381, 2.224, 3.353, 4.775, 6.516, 8.598",\
                 "0.2014, 0.2684, 0.465, 0.8214, 1.388, 2.227, 3.352, 4.778, 6.517, 8.596",\
                 "0.2242, 0.2934, 0.4896, 0.8476, 1.407, 2.233, 3.352, 4.78, 6.524, 8.61",\
                 "0.2478, 0.3212, 0.5162, 0.877, 1.44, 2.259, 3.368, 4.79, 6.523, 8.601");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.288, 0.333, 0.446, 0.6157, 0.8591, 1.196, 1.638, 2.195, 2.874, 3.684",\
                 "0.3064, 0.3514, 0.4644, 0.6341, 0.8775, 1.214, 1.656, 2.213, 2.893, 3.702",\
                 "0.3715, 0.4164, 0.5291, 0.6989, 0.9423, 1.279, 1.721, 2.278, 2.957, 3.768",\
                 "0.4897, 0.5361, 0.6499, 0.8198, 1.063, 1.399, 1.841, 2.398, 3.078, 3.888",\
                 "0.6223, 0.6732, 0.7951, 0.9698, 1.214, 1.55, 1.992, 2.548, 3.228, 4.037",\
                 "0.7646, 0.8214, 0.9516, 1.133, 1.379, 1.716, 2.157, 2.713, 3.392, 4.202",\
                 "0.9156, 0.9781, 1.119, 1.31, 1.56, 1.896, 2.337, 2.893, 3.572, 4.381",\
                 "1.075, 1.143, 1.296, 1.497, 1.755, 2.094, 2.535, 3.09, 3.769, 4.578",\
                 "1.242, 1.316, 1.481, 1.695, 1.962, 2.307, 2.751, 3.307, 3.985, 4.794",\
                 "1.419, 1.497, 1.676, 1.903, 2.179, 2.531, 2.981, 3.542, 4.221, 5.03");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.524, 0.5853, 0.7474, 1.001, 1.359, 1.849, 2.493, 3.304, 4.295, 5.476",\
                 "0.531, 0.5924, 0.7543, 1.008, 1.366, 1.856, 2.5, 3.311, 4.302, 5.483",\
                 "0.5528, 0.6142, 0.7762, 1.029, 1.388, 1.878, 2.522, 3.333, 4.324, 5.504",\
                 "0.6072, 0.6686, 0.83, 1.083, 1.441, 1.931, 2.575, 3.386, 4.375, 5.556",\
                 "0.6808, 0.7439, 0.908, 1.163, 1.521, 2.011, 2.654, 3.464, 4.454, 5.635",\
                 "0.766, 0.8305, 0.996, 1.252, 1.612, 2.103, 2.746, 3.556, 4.547, 5.727",\
                 "0.856, 0.9238, 1.093, 1.35, 1.711, 2.201, 2.844, 3.653, 4.643, 5.823",\
                 "0.9428, 1.014, 1.19, 1.453, 1.815, 2.305, 2.948, 3.757, 4.746, 5.925",\
                 "1.023, 1.098, 1.281, 1.551, 1.921, 2.414, 3.056, 3.865, 4.853, 6.031",\
                 "1.094, 1.174, 1.365, 1.644, 2.023, 2.523, 3.168, 3.976, 4.964, 6.143");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.09156, 0.1372, 0.2644, 0.4986, 0.8853, 1.445, 2.188, 3.126, 4.273, 5.636",\
                 "0.09176, 0.1369, 0.2648, 0.4985, 0.8846, 1.445, 2.186, 3.122, 4.27, 5.638",\
                 "0.09168, 0.1375, 0.2647, 0.4985, 0.8844, 1.445, 2.188, 3.127, 4.273, 5.632",\
                 "0.1025, 0.146, 0.2706, 0.5012, 0.885, 1.444, 2.186, 3.124, 4.269, 5.636",\
                 "0.1238, 0.17, 0.2924, 0.5136, 0.8898, 1.444, 2.188, 3.125, 4.266, 5.637",\
                 "0.1478, 0.1972, 0.3182, 0.5328, 0.8996, 1.448, 2.189, 3.125, 4.267, 5.63",\
                 "0.1754, 0.2288, 0.3526, 0.5606, 0.9158, 1.454, 2.19, 3.125, 4.268, 5.628",\
                 "0.205, 0.2634, 0.3924, 0.5974, 0.9414, 1.47, 2.197, 3.126, 4.265, 5.626",\
                 "0.2322, 0.2974, 0.436, 0.64, 0.9752, 1.496, 2.213, 3.134, 4.268, 5.627",\
                 "0.2614, 0.3322, 0.4796, 0.6866, 1.016, 1.533, 2.249, 3.158, 4.281, 5.632");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.145, 0.2117, 0.4181, 0.7827, 1.364, 2.214, 3.341, 4.77, 6.518, 8.599",\
                 "0.145, 0.2118, 0.4182, 0.7828, 1.367, 2.214, 3.341, 4.771, 6.518, 8.599",\
                 "0.1449, 0.2119, 0.418, 0.7824, 1.364, 2.214, 3.344, 4.771, 6.518, 8.599",\
                 "0.1464, 0.2132, 0.4198, 0.7832, 1.365, 2.211, 3.341, 4.769, 6.519, 8.598",\
                 "0.1552, 0.2224, 0.4284, 0.7896, 1.366, 2.214, 3.347, 4.773, 6.516, 8.598",\
                 "0.1648, 0.2326, 0.4366, 0.7996, 1.375, 2.216, 3.343, 4.77, 6.517, 8.599",\
                 "0.1806, 0.2476, 0.4496, 0.8096, 1.38, 2.221, 3.351, 4.771, 6.516, 8.597",\
                 "0.2008, 0.27, 0.472, 0.8292, 1.392, 2.227, 3.349, 4.776, 6.526, 8.594",\
                 "0.2212, 0.2942, 0.4948, 0.8594, 1.417, 2.239, 3.355, 4.777, 6.519, 8.6",\
                 "0.2448, 0.32, 0.5232, 0.891, 1.455, 2.272, 3.37, 4.783, 6.52, 8.6");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3108, 0.3571, 0.4721, 0.6432, 0.8874, 1.224, 1.666, 2.223, 2.902, 3.713",\
                 "0.3275, 0.3738, 0.489, 0.66, 0.9041, 1.241, 1.683, 2.24, 2.919, 3.729",\
                 "0.392, 0.4382, 0.5531, 0.7242, 0.9684, 1.305, 1.747, 2.304, 2.984, 3.794",\
                 "0.5149, 0.5618, 0.6769, 0.8479, 1.092, 1.428, 1.87, 2.428, 3.107, 3.917",\
                 "0.6586, 0.7107, 0.833, 1.008, 1.253, 1.589, 2.031, 2.587, 3.267, 4.077",\
                 "0.8157, 0.8726, 1.004, 1.186, 1.433, 1.769, 2.21, 2.766, 3.446, 4.256",\
                 "0.9864, 1.049, 1.191, 1.381, 1.631, 1.968, 2.409, 2.964, 3.643, 4.453",\
                 "1.171, 1.24, 1.394, 1.594, 1.851, 2.19, 2.631, 3.186, 3.865, 4.674",\
                 "1.371, 1.446, 1.613, 1.825, 2.09, 2.434, 2.878, 3.433, 4.112, 4.921",\
                 "1.588, 1.668, 1.846, 2.071, 2.346, 2.698, 3.147, 3.706, 4.385, 5.194");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.5512, 0.6125, 0.7744, 1.027, 1.386, 1.876, 2.52, 3.33, 4.321, 5.502",\
                 "0.5583, 0.6199, 0.7818, 1.035, 1.393, 1.884, 2.527, 3.337, 4.329, 5.511",\
                 "0.572, 0.6332, 0.7952, 1.048, 1.407, 1.897, 2.541, 3.352, 4.343, 5.524",\
                 "0.6008, 0.6623, 0.8239, 1.077, 1.435, 1.925, 2.568, 3.379, 4.371, 5.549",\
                 "0.643, 0.7063, 0.8706, 1.126, 1.485, 1.975, 2.618, 3.428, 4.417, 5.6",\
                 "0.6963, 0.7616, 0.9281, 1.185, 1.546, 2.036, 2.679, 3.489, 4.48, 5.657",\
                 "0.7519, 0.8203, 0.9921, 1.253, 1.614, 2.104, 2.747, 3.557, 4.545, 5.725",\
                 "0.7998, 0.872, 1.05, 1.318, 1.685, 2.176, 2.818, 3.628, 4.616, 5.793",\
                 "0.835, 0.9117, 1.098, 1.375, 1.751, 2.248, 2.89, 3.699, 4.687, 5.865",\
                 "0.8545, 0.9355, 1.131, 1.416, 1.804, 2.313, 2.962, 3.771, 4.758, 5.936");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.09662, 0.1424, 0.2698, 0.5022, 0.8873, 1.446, 2.188, 3.127, 4.272, 5.636",\
                 "0.09638, 0.1422, 0.2694, 0.5018, 0.8867, 1.445, 2.189, 3.127, 4.272, 5.637",\
                 "0.09678, 0.1421, 0.2697, 0.5019, 0.8872, 1.445, 2.186, 3.126, 4.272, 5.633",\
                 "0.1048, 0.149, 0.2744, 0.504, 0.8876, 1.445, 2.189, 3.124, 4.272, 5.635",\
                 "0.1274, 0.1728, 0.2948, 0.5162, 0.8914, 1.446, 2.189, 3.126, 4.269, 5.63",\
                 "0.1514, 0.2024, 0.3208, 0.535, 0.9008, 1.449, 2.188, 3.122, 4.266, 5.63",\
                 "0.1774, 0.2332, 0.3542, 0.5608, 0.9146, 1.455, 2.19, 3.125, 4.265, 5.629",\
                 "0.206, 0.267, 0.3942, 0.5956, 0.9394, 1.468, 2.196, 3.126, 4.267, 5.631",\
                 "0.2374, 0.302, 0.436, 0.6376, 0.9724, 1.495, 2.213, 3.136, 4.269, 5.626",\
                 "0.2658, 0.3368, 0.4804, 0.684, 1.012, 1.53, 2.242, 3.156, 4.284, 5.633");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1449, 0.2122, 0.4182, 0.7822, 1.366, 2.214, 3.347, 4.768, 6.518, 8.601",\
                 "0.1446, 0.2122, 0.4183, 0.7825, 1.367, 2.214, 3.347, 4.769, 6.518, 8.599",\
                 "0.1447, 0.212, 0.4182, 0.7824, 1.367, 2.214, 3.341, 4.771, 6.518, 8.596",\
                 "0.1463, 0.2126, 0.4192, 0.7832, 1.365, 2.214, 3.347, 4.772, 6.516, 8.609",\
                 "0.1556, 0.2218, 0.4278, 0.7906, 1.368, 2.215, 3.342, 4.774, 6.516, 8.599",\
                 "0.1644, 0.2318, 0.4376, 0.7984, 1.376, 2.216, 3.346, 4.769, 6.518, 8.596",\
                 "0.1808, 0.2496, 0.4538, 0.8132, 1.381, 2.219, 3.345, 4.777, 6.523, 8.594",\
                 "0.1982, 0.2712, 0.4776, 0.8398, 1.398, 2.226, 3.347, 4.776, 6.518, 8.61",\
                 "0.2198, 0.2948, 0.5024, 0.8732, 1.433, 2.247, 3.357, 4.777, 6.518, 8.592",\
                 "0.244, 0.3206, 0.532, 0.9082, 1.479, 2.293, 3.382, 4.786, 6.52, 8.597");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3264, 0.3737, 0.491, 0.6643, 0.9098, 1.247, 1.69, 2.246, 2.926, 3.736",\
                 "0.3423, 0.3899, 0.5072, 0.6804, 0.9259, 1.263, 1.706, 2.263, 2.942, 3.752",\
                 "0.4069, 0.4541, 0.5714, 0.7447, 0.9901, 1.327, 1.77, 2.327, 3.007, 3.817",\
                 "0.5337, 0.5814, 0.6981, 0.871, 1.116, 1.453, 1.896, 2.452, 3.132, 3.942",\
                 "0.6874, 0.7405, 0.8641, 1.041, 1.286, 1.623, 2.064, 2.621, 3.301, 4.111",\
                 "0.859, 0.9167, 1.049, 1.232, 1.479, 1.815, 2.257, 2.813, 3.493, 4.303",\
                 "1.05, 1.114, 1.256, 1.447, 1.697, 2.034, 2.475, 3.031, 3.71, 4.519",\
                 "1.263, 1.332, 1.486, 1.687, 1.944, 2.282, 2.723, 3.279, 3.957, 4.766",\
                 "1.499, 1.573, 1.74, 1.952, 2.217, 2.56, 3.004, 3.559, 4.238, 5.047",\
                 "1.759, 1.839, 2.018, 2.243, 2.516, 2.867, 3.316, 3.875, 4.553, 5.363");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.5642, 0.6257, 0.7876, 1.041, 1.399, 1.89, 2.533, 3.343, 4.335, 5.517",\
                 "0.5723, 0.6338, 0.7956, 1.049, 1.407, 1.898, 2.541, 3.353, 4.343, 5.524",\
                 "0.582, 0.6432, 0.8052, 1.058, 1.417, 1.907, 2.551, 3.362, 4.353, 5.534",\
                 "0.5933, 0.6547, 0.8164, 1.069, 1.428, 1.918, 2.562, 3.373, 4.363, 5.545",\
                 "0.6072, 0.6707, 0.8344, 1.09, 1.449, 1.939, 2.582, 3.393, 4.383, 5.563",\
                 "0.6254, 0.6906, 0.8578, 1.115, 1.475, 1.966, 2.609, 3.419, 4.408, 5.586",\
                 "0.6374, 0.7059, 0.8795, 1.143, 1.506, 1.996, 2.639, 3.448, 4.437, 5.619",\
                 "0.6348, 0.7078, 0.8891, 1.163, 1.534, 2.027, 2.669, 3.478, 4.466, 5.645",\
                 "0.6132, 0.6901, 0.8801, 1.164, 1.549, 2.052, 2.697, 3.505, 4.493, 5.671",\
                 "0.569, 0.6503, 0.8497, 1.143, 1.542, 2.061, 2.718, 3.529, 4.516, 5.694");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1012, 0.1476, 0.2756, 0.5074, 0.8907, 1.447, 2.19, 3.127, 4.268, 5.635",\
                 "0.1015, 0.147, 0.2758, 0.5065, 0.8903, 1.447, 2.19, 3.124, 4.271, 5.636",\
                 "0.1012, 0.1472, 0.2752, 0.5071, 0.8907, 1.448, 2.189, 3.127, 4.272, 5.633",\
                 "0.1073, 0.1517, 0.2782, 0.5082, 0.8896, 1.447, 2.189, 3.126, 4.266, 5.637",\
                 "0.1298, 0.1758, 0.2986, 0.5188, 0.8944, 1.447, 2.187, 3.128, 4.266, 5.632",\
                 "0.1538, 0.2032, 0.3242, 0.5378, 0.9024, 1.45, 2.189, 3.124, 4.267, 5.635",\
                 "0.1812, 0.2348, 0.358, 0.5632, 0.9164, 1.457, 2.191, 3.124, 4.27, 5.635",\
                 "0.2092, 0.2714, 0.3958, 0.5976, 0.9394, 1.469, 2.196, 3.128, 4.267, 5.627",\
                 "0.2396, 0.3054, 0.4384, 0.638, 0.9728, 1.494, 2.212, 3.134, 4.27, 5.629",\
                 "0.2718, 0.3422, 0.4844, 0.6828, 1.012, 1.528, 2.241, 3.155, 4.281, 5.631");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1447, 0.212, 0.4183, 0.7823, 1.367, 2.214, 3.348, 4.769, 6.518, 8.598",\
                 "0.145, 0.2122, 0.4184, 0.7823, 1.367, 2.214, 3.341, 4.771, 6.518, 8.597",\
                 "0.1446, 0.2118, 0.4183, 0.7822, 1.367, 2.214, 3.341, 4.771, 6.518, 8.596",\
                 "0.1458, 0.213, 0.419, 0.7832, 1.365, 2.212, 3.341, 4.769, 6.518, 8.598",\
                 "0.1532, 0.22, 0.4276, 0.7894, 1.368, 2.214, 3.341, 4.769, 6.517, 8.613",\
                 "0.1638, 0.232, 0.438, 0.7992, 1.373, 2.216, 3.346, 4.777, 6.517, 8.6",\
                 "0.1806, 0.2504, 0.457, 0.8172, 1.383, 2.218, 3.344, 4.773, 6.515, 8.595",\
                 "0.1988, 0.2738, 0.4824, 0.8502, 1.409, 2.228, 3.349, 4.77, 6.516, 8.608",\
                 "0.219, 0.2966, 0.5122, 0.8894, 1.456, 2.264, 3.361, 4.777, 6.512, 8.597",\
                 "0.2396, 0.3212, 0.5418, 0.9296, 1.511, 2.324, 3.405, 4.792, 6.52, 8.592");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__antenna) {
    area : 4.390400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "3.267198e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VSS" ;
      when : "!I" ;
      value : "2.178198e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "2.178198e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VSS" ;
      when : "I" ;
      value : "3.267198e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178198e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VSS" ;
      value : "3.267198e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.001114 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004188, 0.004186, 0.004188, 0.004185, 0.00419, 0.004212, 0.004209, \
                 0.004215, 0.00421, 0.00421");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00419, -0.004191, -0.004197, -0.004197, -0.004198, -0.00421, \
                 -0.004212, -0.004213, -0.004214, -0.004209");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi21_1) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B" ;
      value : "4.39131e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B" ;
      value : "6.59472e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B" ;
      value : "4.39956e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B" ;
      value : "6.68118e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B" ;
      value : "6.02382e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B" ;
      value : "6.68118e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B" ;
      value : "4.48437e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B" ;
      value : "4.48437e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.68118e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004753 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.01846, 0.01847, 0.01843, 0.01838, 0.01836, 0.01833, \
                 0.01832, 0.01829, 0.01829");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01236, -0.01235, -0.01233, -0.01231, -0.01229, -0.0123, -0.01231, \
                 -0.01231, -0.01233, -0.01235");
        }
      }

      internal_power() {
        when : "!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004885, 0.004876, 0.004883, 0.004896, 0.004887, 0.004915, 0.004911, \
                 0.004911, 0.004915, 0.004912");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004898, -0.00491, -0.004907, -0.004914, -0.00491, -0.004922, \
                 -0.004933, -0.004938, -0.004946, -0.004954");
        }
      }

      internal_power() {
        when : "A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01956, 0.01955, 0.01951, 0.01948, 0.01946, 0.01947, 0.01945, \
                 0.01942, 0.01939, 0.01933");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004932, -0.004947, -0.00494, -0.004937, -0.004937, -0.004948, \
                 -0.004952, -0.004958, -0.004959, -0.004957");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004645 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01799, 0.01684, 0.01645, 0.01639, 0.01632, 0.01633, 0.0163, \
                 0.01628, 0.01626, 0.01625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01647, -0.01644, -0.01644, -0.01641, -0.01635, -0.01632, -0.01629, \
                 -0.01626, -0.01625, -0.01625");
        }
      }

      internal_power() {
        when : "!A1&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004888, 0.004879, 0.004886, 0.004892, 0.004895, 0.004911, 0.004914, \
                 0.004916, 0.004915, 0.004915");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004906, -0.004906, -0.004912, -0.00491, -0.00491, -0.004924, \
                 -0.004934, -0.004937, -0.004945, -0.004954");
        }
      }

      internal_power() {
        when : "A1&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01957, 0.01955, 0.0195, 0.01949, 0.01947, 0.01947, 0.01945, \
                 0.01942, 0.01939, 0.01933");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004938, -0.004938, -0.004938, -0.004937, -0.00494, -0.004952, \
                 -0.004957, -0.004956, -0.004954, -0.004955");
        }
      }
    }

    pin(B) {
      capacitance : 0.003919 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01625, 0.01621, 0.01618, 0.01622, 0.01622, 0.01625, 0.01621, \
                 0.01622, 0.01625, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01357, -0.01416, -0.01491, -0.01533, -0.0155, -0.01564, -0.01573, \
                 -0.01577, -0.0158, -0.01584");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B))|((!A2)&(!B)))" ;
      max_capacitance : 0.1815 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.002959, 0.003084, 0.003272, 0.003412, 0.00348, 0.003504, 0.003531, 0.003548, 0.003558, 0.003567",\
                 "0.002713, 0.002951, 0.003424, 0.00376, 0.00397, 0.004092, 0.00416, 0.004209, 0.004245, 0.004267",\
                 "0.003986, 0.00406, 0.00429, 0.004533, 0.004703, 0.004815, 0.004884, 0.004944, 0.004966, 0.005004",\
                 "0.009063, 0.008757, 0.008028, 0.007367, 0.006859, 0.006485, 0.006218, 0.006011, 0.005865, 0.005756",\
                 "0.01971, 0.01884, 0.01671, 0.0144, 0.01249, 0.01093, 0.009803, 0.0089, 0.008208, 0.007672",\
                 "0.03663, 0.03528, 0.03162, 0.02717, 0.0232, 0.01988, 0.01719, 0.01503, 0.01334, 0.01198",\
                 "0.06033, 0.05853, 0.05343, 0.04672, 0.04013, 0.03441, 0.02965, 0.02571, 0.02247, 0.01983",\
                 "0.09111, 0.08892, 0.08256, 0.07364, 0.06422, 0.05566, 0.04829, 0.04211, 0.03675, 0.03236",\
                 "0.1293, 0.1268, 0.1193, 0.1084, 0.09619, 0.08447, 0.07411, 0.06504, 0.05721, 0.05053",\
                 "0.1753, 0.1725, 0.1641, 0.1513, 0.1365, 0.1215, 0.1077, 0.09538, 0.08472, 0.07539");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.05118, 0.05151, 0.05212, 0.05257, 0.05299, 0.0533, 0.05372, 0.05391, 0.05453, 0.0563",\
                 "0.04961, 0.05005, 0.05104, 0.05195, 0.05273, 0.05326, 0.05382, 0.05411, 0.05502, 0.0565",\
                 "0.05057, 0.05055, 0.0507, 0.05124, 0.05207, 0.05274, 0.05349, 0.05384, 0.05476, 0.05714",\
                 "0.05745, 0.0569, 0.05568, 0.05442, 0.05392, 0.05383, 0.05418, 0.05453, 0.05498, 0.05732",\
                 "0.07054, 0.06951, 0.06684, 0.06381, 0.06111, 0.0592, 0.05811, 0.05757, 0.05751, 0.05921",\
                 "0.09034, 0.08878, 0.08476, 0.07976, 0.07491, 0.07052, 0.06725, 0.0649, 0.06361, 0.06504",\
                 "0.1175, 0.1155, 0.1101, 0.1028, 0.09576, 0.08923, 0.08319, 0.0783, 0.07484, 0.07557",\
                 "0.1525, 0.1501, 0.1433, 0.1341, 0.1243, 0.1151, 0.1067, 0.09892, 0.09307, 0.09349",\
                 "0.1957, 0.1931, 0.1849, 0.1736, 0.1613, 0.1492, 0.1382, 0.1279, 0.1192, 0.1211",\
                 "0.2477, 0.2447, 0.2355, 0.2222, 0.2074, 0.1923, 0.1782, 0.1651, 0.1552, 0.1622");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.003028, 0.003139, 0.003334, 0.003445, 0.003505, 0.003535, 0.003557, 0.003582, 0.003588, 0.0036",\
                 "0.002506, 0.00279, 0.003331, 0.003735, 0.003951, 0.004081, 0.004167, 0.004214, 0.004246, 0.004268",\
                 "0.002857, 0.003057, 0.003571, 0.004059, 0.004393, 0.004613, 0.004755, 0.004842, 0.004901, 0.004941",\
                 "0.0073, 0.007137, 0.006771, 0.006471, 0.006257, 0.006062, 0.005916, 0.005799, 0.005703, 0.005627",\
                 "0.01749, 0.01682, 0.01509, 0.01326, 0.0117, 0.01044, 0.009458, 0.008684, 0.008067, 0.007592",\
                 "0.03429, 0.03313, 0.02989, 0.02592, 0.02235, 0.01936, 0.01692, 0.01495, 0.01333, 0.01206",\
                 "0.05809, 0.05646, 0.05176, 0.04555, 0.03942, 0.03405, 0.02959, 0.02588, 0.02278, 0.0202",\
                 "0.08925, 0.08721, 0.08116, 0.07275, 0.06386, 0.0557, 0.04863, 0.04259, 0.03747, 0.03317",\
                 "0.1281, 0.1257, 0.1185, 0.1079, 0.09632, 0.08501, 0.07489, 0.06611, 0.05852, 0.05197",\
                 "0.1749, 0.1722, 0.1639, 0.1515, 0.1372, 0.1228, 0.1093, 0.09733, 0.08669, 0.07756");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.06644, 0.0665, 0.06665, 0.06681, 0.06709, 0.06745, 0.06788, 0.06823, 0.06885, 0.07088",\
                 "0.06519, 0.06535, 0.0657, 0.06606, 0.06649, 0.06699, 0.06745, 0.0678, 0.06842, 0.07057",\
                 "0.06625, 0.06616, 0.06605, 0.06608, 0.06643, 0.06679, 0.06728, 0.06764, 0.06854, 0.07082",\
                 "0.07318, 0.07271, 0.07137, 0.0699, 0.0691, 0.06874, 0.06854, 0.06879, 0.06881, 0.0711",\
                 "0.08656, 0.08561, 0.08312, 0.07981, 0.07692, 0.07458, 0.07319, 0.07226, 0.07193, 0.07387",\
                 "0.1069, 0.1056, 0.1018, 0.09672, 0.09157, 0.08692, 0.08326, 0.08041, 0.07882, 0.08026",\
                 "0.1349, 0.1332, 0.1284, 0.1212, 0.1136, 0.1064, 0.09999, 0.09479, 0.0911, 0.09154",\
                 "0.1707, 0.1688, 0.1631, 0.1542, 0.1441, 0.1342, 0.1249, 0.1169, 0.1105, 0.1105",\
                 "0.2152, 0.213, 0.2063, 0.196, 0.1834, 0.1706, 0.1587, 0.1472, 0.1381, 0.1397",\
                 "0.2684, 0.2661, 0.2587, 0.2469, 0.2324, 0.2166, 0.2014, 0.1871, 0.1761, 0.1836");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.02392, 0.02392, 0.02389, 0.02396, 0.02398, 0.02403, 0.02404, 0.02403, 0.02403, 0.02403",\
                 "0.02327, 0.02325, 0.0233, 0.02332, 0.0234, 0.02341, 0.02342, 0.02343, 0.02342, 0.02342",\
                 "0.0233, 0.02325, 0.02319, 0.02307, 0.02309, 0.02306, 0.02304, 0.02301, 0.02305, 0.02302",\
                 "0.02714, 0.02693, 0.02623, 0.02547, 0.02483, 0.02431, 0.02396, 0.02371, 0.02353, 0.02338",\
                 "0.03723, 0.03659, 0.03481, 0.03258, 0.03058, 0.02888, 0.02757, 0.02655, 0.02578, 0.02523",\
                 "0.05446, 0.05342, 0.05042, 0.04632, 0.04214, 0.03845, 0.03545, 0.03311, 0.03115, 0.02965",\
                 "0.07949, 0.07808, 0.07382, 0.06753, 0.06088, 0.05459, 0.04917, 0.04472, 0.04106, 0.03809",\
                 "0.1128, 0.111, 0.1056, 0.09728, 0.08781, 0.07852, 0.07016, 0.06291, 0.05683, 0.05182",\
                 "0.1546, 0.1525, 0.146, 0.1358, 0.1236, 0.1112, 0.09937, 0.08892, 0.07984, 0.072",\
                 "0.2052, 0.2029, 0.1955, 0.1837, 0.1689, 0.153, 0.1377, 0.1236, 0.111, 0.09997");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.07688, 0.077, 0.07721, 0.07741, 0.07768, 0.07795, 0.07818, 0.07859, 0.07907, 0.07982",\
                 "0.07592, 0.07612, 0.07657, 0.07701, 0.07742, 0.07779, 0.07818, 0.07853, 0.07884, 0.07973",\
                 "0.07523, 0.07537, 0.07576, 0.07627, 0.07692, 0.07742, 0.07791, 0.0783, 0.07891, 0.07979",\
                 "0.07851, 0.07825, 0.07778, 0.07748, 0.07748, 0.07775, 0.07804, 0.0784, 0.07894, 0.08006",\
                 "0.08925, 0.08845, 0.0863, 0.08437, 0.08273, 0.08171, 0.08098, 0.08084, 0.08065, 0.08107",\
                 "0.1092, 0.1077, 0.1037, 0.09907, 0.09501, 0.09181, 0.08923, 0.08721, 0.08629, 0.0853",\
                 "0.1382, 0.1362, 0.1305, 0.1229, 0.1156, 0.1096, 0.1046, 0.1003, 0.09702, 0.09458",\
                 "0.1761, 0.1737, 0.1666, 0.1565, 0.1455, 0.1359, 0.1281, 0.1212, 0.1152, 0.1104",\
                 "0.223, 0.2204, 0.2121, 0.1997, 0.1859, 0.1723, 0.1603, 0.1504, 0.1416, 0.1349",\
                 "0.2796, 0.2766, 0.2673, 0.253, 0.2359, 0.219, 0.2028, 0.1888, 0.1768, 0.1688");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.02113, 0.02113, 0.02107, 0.02114, 0.02119, 0.02118, 0.0212, 0.0212, 0.0212, 0.0212",\
                 "0.02034, 0.02031, 0.02032, 0.0203, 0.02038, 0.0204, 0.0204, 0.02042, 0.02041, 0.02043",\
                 "0.02018, 0.02009, 0.01997, 0.01983, 0.01975, 0.01972, 0.0197, 0.01969, 0.01967, 0.01966",\
                 "0.02411, 0.02375, 0.02291, 0.02204, 0.02133, 0.02077, 0.02042, 0.02016, 0.02001, 0.01989",\
                 "0.03424, 0.0335, 0.03137, 0.02887, 0.02672, 0.02497, 0.02369, 0.0227, 0.022, 0.02144",\
                 "0.05158, 0.05034, 0.04673, 0.04212, 0.0377, 0.034, 0.031, 0.02872, 0.02687, 0.02548",\
                 "0.07669, 0.07499, 0.06988, 0.06291, 0.05575, 0.04928, 0.04387, 0.03953, 0.03601, 0.03318",\
                 "0.1098, 0.1077, 0.1013, 0.09195, 0.08174, 0.07214, 0.06366, 0.05654, 0.05066, 0.04582",\
                 "0.1513, 0.149, 0.1414, 0.1298, 0.1166, 0.1035, 0.09155, 0.08101, 0.07208, 0.06463",\
                 "0.2016, 0.199, 0.1904, 0.1769, 0.1607, 0.144, 0.1281, 0.114, 0.1015, 0.09069");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.06853, 0.06866, 0.06885, 0.06905, 0.06933, 0.06957, 0.06989, 0.07028, 0.0708, 0.07257",\
                 "0.06756, 0.06783, 0.06828, 0.06869, 0.06913, 0.06943, 0.06983, 0.07031, 0.0707, 0.07253",\
                 "0.06681, 0.06696, 0.06733, 0.06787, 0.06854, 0.06904, 0.06953, 0.07028, 0.0705, 0.07237",\
                 "0.06972, 0.06952, 0.06905, 0.06882, 0.06893, 0.0692, 0.06956, 0.06998, 0.07102, 0.073",\
                 "0.07987, 0.07906, 0.07712, 0.07522, 0.07379, 0.07277, 0.0723, 0.07222, 0.07221, 0.07451",\
                 "0.09924, 0.09774, 0.0938, 0.08935, 0.0856, 0.08237, 0.07989, 0.0783, 0.07727, 0.0791",\
                 "0.1277, 0.1257, 0.1199, 0.1125, 0.1055, 0.09976, 0.09467, 0.0906, 0.08769, 0.08886",\
                 "0.1651, 0.1627, 0.1555, 0.1453, 0.1348, 0.1256, 0.1178, 0.1109, 0.1054, 0.1057",\
                 "0.2116, 0.2088, 0.2005, 0.188, 0.1743, 0.1612, 0.1498, 0.1398, 0.1317, 0.1318",\
                 "0.2676, 0.2645, 0.255, 0.2407, 0.2239, 0.2068, 0.1914, 0.1779, 0.1676, 0.1712");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.02114, 0.02113, 0.02112, 0.02116, 0.02119, 0.02121, 0.02122, 0.02121, 0.02121, 0.02119",\
                 "0.02031, 0.0203, 0.02034, 0.02035, 0.02039, 0.0204, 0.02042, 0.02041, 0.0204, 0.02041",\
                 "0.02015, 0.02009, 0.01998, 0.01985, 0.01978, 0.01973, 0.0197, 0.01968, 0.01965, 0.01963",\
                 "0.02406, 0.02371, 0.02291, 0.02203, 0.02132, 0.0208, 0.02045, 0.02015, 0.02, 0.01986",\
                 "0.03416, 0.03341, 0.03133, 0.0289, 0.02672, 0.02498, 0.02368, 0.02272, 0.02199, 0.02143",\
                 "0.05144, 0.05019, 0.04667, 0.04211, 0.03767, 0.03395, 0.031, 0.02871, 0.02689, 0.02546",\
                 "0.07646, 0.07481, 0.06977, 0.06281, 0.05568, 0.04923, 0.04386, 0.03947, 0.03597, 0.03317",\
                 "0.1095, 0.1075, 0.1012, 0.09186, 0.08166, 0.07204, 0.06362, 0.05647, 0.05064, 0.04583",\
                 "0.151, 0.1486, 0.1412, 0.1297, 0.1164, 0.1034, 0.09144, 0.08095, 0.07205, 0.06461",\
                 "0.2012, 0.1986, 0.1901, 0.1767, 0.1605, 0.144, 0.1281, 0.1139, 0.1014, 0.09059");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.08546, 0.08553, 0.08573, 0.08595, 0.08631, 0.08664, 0.0871, 0.08762, 0.08816, 0.08979",\
                 "0.08471, 0.08487, 0.08519, 0.08559, 0.08604, 0.08648, 0.08687, 0.08755, 0.0881, 0.08999",\
                 "0.08384, 0.08394, 0.08431, 0.08482, 0.08545, 0.08605, 0.0867, 0.08742, 0.08777, 0.09049",\
                 "0.08615, 0.086, 0.08578, 0.08562, 0.08585, 0.08622, 0.08661, 0.08735, 0.08813, 0.09025",\
                 "0.09523, 0.09461, 0.09317, 0.09164, 0.09043, 0.08955, 0.08921, 0.0894, 0.08954, 0.09205",\
                 "0.1134, 0.1122, 0.1089, 0.1051, 0.1017, 0.09885, 0.09674, 0.09518, 0.09465, 0.09641",\
                 "0.1408, 0.1391, 0.1342, 0.1276, 0.1212, 0.1158, 0.1112, 0.1075, 0.1049, 0.106",\
                 "0.1775, 0.1754, 0.1689, 0.1598, 0.1501, 0.1415, 0.1339, 0.1273, 0.1224, 0.1229",\
                 "0.2234, 0.2209, 0.2133, 0.2019, 0.1888, 0.1764, 0.1657, 0.1557, 0.1481, 0.1493",\
                 "0.2789, 0.2761, 0.2674, 0.254, 0.238, 0.2217, 0.2069, 0.1936, 0.1837, 0.1883");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.08426, 0.09928, 0.1511, 0.2492, 0.4018, 0.6156, 0.8967, 1.252, 1.685, 2.201",\
                 "0.09619, 0.1113, 0.1636, 0.2622, 0.415, 0.6293, 0.9105, 1.266, 1.699, 2.215",\
                 "0.1262, 0.1465, 0.208, 0.3078, 0.4605, 0.6742, 0.956, 1.311, 1.744, 2.259",\
                 "0.1372, 0.1654, 0.2498, 0.381, 0.5485, 0.762, 1.043, 1.396, 1.829, 2.344",\
                 "0.1206, 0.1577, 0.2673, 0.4338, 0.6457, 0.8951, 1.181, 1.534, 1.965, 2.48",\
                 "0.0736, 0.1195, 0.255, 0.4599, 0.7153, 1.015, 1.354, 1.73, 2.16, 2.672",\
                 "-0.0065, 0.0479, 0.2091, 0.4536, 0.7558, 1.105, 1.5, 1.938, 2.412, 2.932",\
                 "-0.1225, -0.0595, 0.1282, 0.4106, 0.7617, 1.164, 1.615, 2.113, 2.653, 3.235",\
                 "-0.277, -0.2051, 0.0086, 0.3291, 0.7294, 1.188, 1.698, 2.253, 2.858, 3.51",\
                 "-0.4722, -0.3911, -0.1517, 0.2084, 0.6546, 1.171, 1.74, 2.36, 3.028, 3.748");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1539, 0.1873, 0.3021, 0.5178, 0.8511, 1.32, 1.934, 2.708, 3.654, 4.78",\
                 "0.1625, 0.1962, 0.3126, 0.5306, 0.8658, 1.334, 1.95, 2.724, 3.672, 4.797",\
                 "0.2222, 0.2535, 0.3654, 0.5812, 0.9168, 1.386, 2.003, 2.776, 3.724, 4.855",\
                 "0.3267, 0.3655, 0.4888, 0.6989, 1.028, 1.494, 2.109, 2.884, 3.828, 4.954",\
                 "0.4663, 0.5118, 0.6547, 0.8936, 1.222, 1.679, 2.288, 3.057, 4.001, 5.123",\
                 "0.6399, 0.6943, 0.8595, 1.128, 1.496, 1.956, 2.555, 3.316, 4.254, 5.373",\
                 "0.8485, 0.9137, 1.105, 1.405, 1.812, 2.319, 2.924, 3.674, 4.6, 5.713",\
                 "1.095, 1.169, 1.39, 1.728, 2.17, 2.724, 3.382, 4.141, 5.056, 6.158",\
                 "1.377, 1.463, 1.715, 2.096, 2.58, 3.175, 3.887, 4.704, 5.628, 6.717",\
                 "1.7, 1.797, 2.079, 2.506, 3.041, 3.679, 4.436, 5.315, 6.301, 7.4");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1008, 0.1258, 0.2136, 0.3808, 0.6422, 1.007, 1.488, 2.093, 2.834, 3.717",\
                 "0.1004, 0.1255, 0.2133, 0.3807, 0.6422, 1.007, 1.488, 2.093, 2.834, 3.718",\
                 "0.1392, 0.1625, 0.2338, 0.3826, 0.6419, 1.006, 1.488, 2.095, 2.835, 3.715",\
                 "0.2057, 0.2337, 0.3225, 0.4681, 0.6755, 1.009, 1.487, 2.093, 2.834, 3.717",\
                 "0.2957, 0.3311, 0.4358, 0.6042, 0.8324, 1.117, 1.521, 2.095, 2.832, 3.715",\
                 "0.4028, 0.447, 0.5756, 0.7682, 1.023, 1.343, 1.721, 2.202, 2.863, 3.713",\
                 "0.527, 0.5816, 0.7352, 0.9624, 1.245, 1.595, 2.016, 2.496, 3.067, 3.813",\
                 "0.668, 0.7318, 0.9144, 1.182, 1.504, 1.883, 2.336, 2.861, 3.458, 4.129",\
                 "0.8214, 0.9004, 1.112, 1.417, 1.788, 2.211, 2.692, 3.255, 3.897, 4.61",\
                 "0.9864, 1.077, 1.328, 1.674, 2.093, 2.566, 3.093, 3.686, 4.369, 5.128");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.2373, 0.2952, 0.4938, 0.8709, 1.455, 2.277, 3.356, 4.72, 6.376, 8.349",\
                 "0.2357, 0.2943, 0.4942, 0.8709, 1.457, 2.28, 3.357, 4.72, 6.378, 8.355",\
                 "0.2442, 0.295, 0.492, 0.8701, 1.455, 2.277, 3.359, 4.716, 6.376, 8.362",\
                 "0.3014, 0.357, 0.5303, 0.871, 1.455, 2.276, 3.357, 4.721, 6.372, 8.355",\
                 "0.3778, 0.433, 0.6282, 0.9584, 1.473, 2.278, 3.358, 4.721, 6.385, 8.351",\
                 "0.482, 0.5408, 0.7374, 1.099, 1.603, 2.321, 3.354, 4.719, 6.377, 8.361",\
                 "0.604, 0.6708, 0.8828, 1.25, 1.799, 2.494, 3.436, 4.728, 6.379, 8.351",\
                 "0.7434, 0.8212, 1.056, 1.435, 2.001, 2.75, 3.652, 4.833, 6.396, 8.361",\
                 "0.8982, 0.9858, 1.246, 1.657, 2.232, 3.012, 3.978, 5.104, 6.547, 8.4",\
                 "1.063, 1.166, 1.461, 1.908, 2.5, 3.296, 4.307, 5.49, 6.868, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.09857, 0.1135, 0.1653, 0.2633, 0.4159, 0.6298, 0.9113, 1.265, 1.698, 2.215",\
                 "0.1086, 0.1238, 0.1763, 0.275, 0.428, 0.6419, 0.9237, 1.278, 1.711, 2.227",\
                 "0.1266, 0.1448, 0.203, 0.3034, 0.4566, 0.6712, 0.9529, 1.307, 1.74, 2.257",\
                 "0.1293, 0.1534, 0.2272, 0.3458, 0.5097, 0.7245, 1.006, 1.36, 1.793, 2.308",\
                 "0.1016, 0.134, 0.23, 0.3764, 0.5655, 0.8024, 1.091, 1.444, 1.876, 2.391",\
                 "0.039, 0.0795, 0.1995, 0.3801, 0.6053, 0.873, 1.19, 1.562, 1.996, 2.51",\
                 "-0.0624, -0.014, 0.1304, 0.3478, 0.6158, 0.9249, 1.277, 1.681, 2.145, 2.669",\
                 "-0.2044, -0.148, 0.0204, 0.2739, 0.5871, 0.945, 1.343, 1.786, 2.284, 2.844",\
                 "-0.3903, -0.326, -0.1337, 0.1567, 0.5149, 0.9245, 1.375, 1.868, 2.407, 3.006",\
                 "-0.6234, -0.5505, -0.3349, -0.0071, 0.3961, 0.8573, 1.365, 1.915, 2.506, 3.148");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.2039, 0.2365, 0.35, 0.5649, 0.8988, 1.366, 1.981, 2.755, 3.7, 4.83",\
                 "0.2137, 0.2467, 0.3612, 0.5768, 0.9115, 1.379, 1.995, 2.768, 3.713, 4.843",\
                 "0.2733, 0.305, 0.4168, 0.6313, 0.9649, 1.433, 2.049, 2.821, 3.77, 4.899",\
                 "0.3944, 0.4299, 0.5441, 0.7517, 1.081, 1.545, 2.157, 2.931, 3.874, 4.999",\
                 "0.5532, 0.5938, 0.7266, 0.9537, 1.277, 1.733, 2.339, 3.108, 4.049, 5.17",\
                 "0.7557, 0.8017, 0.9501, 1.205, 1.56, 2.014, 2.611, 3.37, 4.306, 5.423",\
                 "1.001, 1.055, 1.223, 1.502, 1.892, 2.386, 2.983, 3.732, 4.656, 5.765",\
                 "1.291, 1.352, 1.545, 1.852, 2.273, 2.81, 3.454, 4.206, 5.118, 6.216",\
                 "1.629, 1.699, 1.914, 2.257, 2.711, 3.283, 3.978, 4.78, 5.698, 6.782",\
                 "2.016, 2.094, 2.335, 2.715, 3.209, 3.817, 4.552, 5.414, 6.385, 7.475");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1006, 0.1256, 0.2136, 0.3806, 0.6417, 1.008, 1.488, 2.094, 2.835, 3.715",\
                 "0.1005, 0.1255, 0.2135, 0.3807, 0.6422, 1.008, 1.488, 2.093, 2.834, 3.714",\
                 "0.1281, 0.1505, 0.2272, 0.3824, 0.6406, 1.007, 1.488, 2.094, 2.834, 3.717",\
                 "0.1895, 0.2118, 0.2898, 0.4377, 0.6656, 1.01, 1.487, 2.092, 2.833, 3.712",\
                 "0.2773, 0.3043, 0.3901, 0.5374, 0.7636, 1.082, 1.515, 2.099, 2.832, 3.714",\
                 "0.3842, 0.417, 0.517, 0.679, 0.9068, 1.224, 1.643, 2.173, 2.861, 3.717",\
                 "0.5088, 0.5468, 0.665, 0.8522, 1.096, 1.413, 1.828, 2.356, 2.996, 3.798",\
                 "0.6456, 0.693, 0.8314, 1.045, 1.319, 1.653, 2.068, 2.592, 3.233, 3.994",\
                 "0.7912, 0.8488, 1.016, 1.259, 1.569, 1.932, 2.361, 2.881, 3.524, 4.287",\
                 "0.946, 1.013, 1.212, 1.494, 1.84, 2.24, 2.702, 3.234, 3.868, 4.631");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.3153, 0.3729, 0.5723, 0.9492, 1.535, 2.356, 3.436, 4.794, 6.453, 8.43",\
                 "0.3148, 0.3724, 0.572, 0.949, 1.535, 2.356, 3.437, 4.794, 6.453, 8.43",\
                 "0.3135, 0.3693, 0.5703, 0.9491, 1.535, 2.356, 3.436, 4.792, 6.454, 8.436",\
                 "0.3705, 0.4223, 0.5935, 0.9481, 1.534, 2.356, 3.435, 4.796, 6.452, 8.426",\
                 "0.4398, 0.498, 0.6908, 1.017, 1.545, 2.355, 3.434, 4.795, 6.456, 8.431",\
                 "0.5326, 0.594, 0.7984, 1.159, 1.662, 2.388, 3.435, 4.794, 6.455, 8.433",\
                 "0.6492, 0.7154, 0.9262, 1.304, 1.855, 2.551, 3.499, 4.8, 6.453, 8.43",\
                 "0.7812, 0.8556, 1.086, 1.473, 2.052, 2.802, 3.711, 4.9, 6.469, 8.432",\
                 "0.9304, 1.013, 1.266, 1.675, 2.263, 3.059, 4.021, 5.161, 6.614, 8.465",\
                 "1.094, 1.187, 1.467, 1.908, 2.51, 3.324, 4.345, 5.531, 6.921, 8.65");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.141, 0.157, 0.2111, 0.3106, 0.4615, 0.671, 0.9453, 1.29, 1.71, 2.211",\
                 "0.1544, 0.1704, 0.2245, 0.3238, 0.4749, 0.6845, 0.9588, 1.303, 1.723, 2.224",\
                 "0.2067, 0.2229, 0.276, 0.3747, 0.5254, 0.7349, 1.009, 1.354, 1.774, 2.274",\
                 "0.2656, 0.2883, 0.3589, 0.4738, 0.6271, 0.8351, 1.109, 1.453, 1.872, 2.372",\
                 "0.309, 0.3375, 0.4261, 0.5721, 0.765, 0.995, 1.268, 1.61, 2.028, 2.527",\
                 "0.3343, 0.3679, 0.4766, 0.6516, 0.8844, 1.164, 1.483, 1.837, 2.254, 2.751",\
                 "0.3392, 0.3788, 0.5061, 0.7124, 0.9848, 1.31, 1.685, 2.101, 2.551, 3.049",\
                 "0.3244, 0.3706, 0.5161, 0.7535, 1.065, 1.437, 1.863, 2.339, 2.858, 3.414",\
                 "0.2898, 0.3411, 0.5035, 0.7724, 1.123, 1.543, 2.02, 2.553, 3.136, 3.764",\
                 "0.2313, 0.2883, 0.4689, 0.7678, 1.158, 1.625, 2.156, 2.743, 3.388, 4.084");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1817, 0.2068, 0.2938, 0.4568, 0.7097, 1.065, 1.531, 2.119, 2.836, 3.693",\
                 "0.1963, 0.2221, 0.3097, 0.4735, 0.727, 1.082, 1.549, 2.137, 2.855, 3.709",\
                 "0.247, 0.2732, 0.3612, 0.5259, 0.78, 1.136, 1.603, 2.191, 2.909, 3.765",\
                 "0.3166, 0.3487, 0.4505, 0.6215, 0.875, 1.23, 1.696, 2.285, 3.002, 3.86",\
                 "0.4066, 0.4453, 0.5634, 0.7601, 1.03, 1.383, 1.847, 2.433, 3.149, 4.003",\
                 "0.5181, 0.5647, 0.7053, 0.9269, 1.227, 1.606, 2.07, 2.651, 3.364, 4.214",\
                 "0.6534, 0.7073, 0.8731, 1.126, 1.456, 1.868, 2.366, 2.951, 3.657, 4.503",\
                 "0.8071, 0.8718, 1.061, 1.352, 1.719, 2.165, 2.699, 3.324, 4.039, 4.88",\
                 "0.9835, 1.055, 1.271, 1.6, 2.013, 2.5, 3.069, 3.734, 4.493, 5.349",\
                 "1.181, 1.262, 1.502, 1.872, 2.331, 2.867, 3.48, 4.182, 4.986, 5.89");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1644, 0.1904, 0.2786, 0.4421, 0.6931, 1.043, 1.504, 2.083, 2.789, 3.631",\
                 "0.1646, 0.1903, 0.2782, 0.4417, 0.6928, 1.043, 1.503, 2.082, 2.787, 3.63",\
                 "0.1805, 0.2017, 0.2799, 0.4414, 0.6924, 1.043, 1.503, 2.082, 2.788, 3.631",\
                 "0.2669, 0.2937, 0.3739, 0.5001, 0.7086, 1.044, 1.504, 2.083, 2.788, 3.631",\
                 "0.3702, 0.401, 0.5004, 0.6594, 0.865, 1.127, 1.523, 2.083, 2.788, 3.631",\
                 "0.488, 0.5286, 0.647, 0.8328, 1.078, 1.374, 1.713, 2.172, 2.807, 3.631",\
                 "0.6228, 0.6712, 0.8138, 1.029, 1.307, 1.649, 2.04, 2.468, 3.001, 3.712",\
                 "0.774, 0.8328, 0.9982, 1.251, 1.564, 1.941, 2.382, 2.878, 3.411, 4.024",\
                 "0.9316, 1, 1.197, 1.492, 1.848, 2.266, 2.745, 3.294, 3.901, 4.545",\
                 "1.104, 1.183, 1.412, 1.75, 2.156, 2.618, 3.142, 3.733, 4.401, 5.119");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.2181, 0.26, 0.4078, 0.691, 1.134, 1.75, 2.567, 3.597, 4.846, 6.331",\
                 "0.2193, 0.2606, 0.4077, 0.6921, 1.133, 1.75, 2.566, 3.597, 4.847, 6.327",\
                 "0.2332, 0.269, 0.4091, 0.6909, 1.134, 1.75, 2.566, 3.593, 4.847, 6.333",\
                 "0.3056, 0.3421, 0.4646, 0.7081, 1.134, 1.752, 2.567, 3.593, 4.847, 6.343",\
                 "0.4132, 0.4462, 0.5718, 0.814, 1.186, 1.76, 2.568, 3.593, 4.848, 6.329",\
                 "0.5558, 0.59, 0.7118, 0.9536, 1.334, 1.855, 2.594, 3.591, 4.841, 6.339",\
                 "0.711, 0.7502, 0.8858, 1.129, 1.514, 2.051, 2.736, 3.656, 4.85, 6.34",\
                 "0.8794, 0.924, 1.077, 1.342, 1.729, 2.274, 2.981, 3.847, 4.961, 6.372",\
                 "1.062, 1.111, 1.283, 1.581, 1.991, 2.535, 3.256, 4.144, 5.201, 6.52",\
                 "1.257, 1.312, 1.504, 1.836, 2.282, 2.845, 3.571, 4.477, 5.553, 6.818");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1143, 0.131, 0.1868, 0.2876, 0.4396, 0.6497, 0.9244, 1.269, 1.69, 2.19",\
                 "0.1276, 0.1442, 0.1999, 0.3005, 0.4526, 0.6628, 0.9374, 1.282, 1.703, 2.203",\
                 "0.1785, 0.1963, 0.2516, 0.3507, 0.5025, 0.7125, 0.987, 1.332, 1.752, 2.253",\
                 "0.2261, 0.2507, 0.3268, 0.4475, 0.6038, 0.8125, 1.086, 1.431, 1.85, 2.351",\
                 "0.2551, 0.2864, 0.3834, 0.537, 0.7359, 0.9705, 1.245, 1.588, 2.006, 2.505",\
                 "0.2638, 0.3016, 0.4194, 0.6058, 0.8463, 1.133, 1.456, 1.814, 2.23, 2.727",\
                 "0.2511, 0.2955, 0.434, 0.6533, 0.9363, 1.27, 1.65, 2.071, 2.525, 3.025",\
                 "0.2168, 0.2676, 0.4254, 0.6782, 1.002, 1.385, 1.819, 2.301, 2.825, 3.384",\
                 "0.1608, 0.2177, 0.3939, 0.6777, 1.045, 1.476, 1.965, 2.505, 3.094, 3.728",\
                 "0.0825, 0.1449, 0.339, 0.6522, 1.06, 1.542, 2.086, 2.684, 3.336, 4.038");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.2169, 0.2497, 0.3629, 0.5779, 0.9107, 1.378, 1.992, 2.767, 3.711, 4.841",\
                 "0.2303, 0.2637, 0.3783, 0.5938, 0.9281, 1.395, 2.01, 2.785, 3.731, 4.855",\
                 "0.2762, 0.3098, 0.4244, 0.6406, 0.9754, 1.444, 2.059, 2.836, 3.778, 4.906",\
                 "0.3395, 0.3774, 0.5006, 0.7174, 1.05, 1.517, 2.132, 2.907, 3.855, 4.98",\
                 "0.4263, 0.4683, 0.6024, 0.8362, 1.173, 1.636, 2.246, 3.02, 3.962, 5.088",\
                 "0.5372, 0.5863, 0.739, 0.9892, 1.347, 1.817, 2.421, 3.187, 4.125, 5.246",\
                 "0.6717, 0.7301, 0.905, 1.182, 1.558, 2.052, 2.667, 3.424, 4.355, 5.469",\
                 "0.8297, 0.8956, 1.096, 1.406, 1.813, 2.327, 2.968, 3.74, 4.662, 5.767",\
                 "1.009, 1.084, 1.31, 1.657, 2.103, 2.648, 3.311, 4.112, 5.052, 6.148",\
                 "1.212, 1.296, 1.547, 1.933, 2.424, 3.01, 3.703, 4.527, 5.499, 6.616");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1469, 0.1727, 0.261, 0.4234, 0.6728, 1.023, 1.482, 2.06, 2.768, 3.609",\
                 "0.1447, 0.1717, 0.2596, 0.423, 0.6732, 1.023, 1.482, 2.061, 2.768, 3.609",\
                 "0.173, 0.1919, 0.2642, 0.4215, 0.6727, 1.022, 1.482, 2.061, 2.767, 3.608",\
                 "0.2594, 0.2853, 0.3658, 0.491, 0.6927, 1.023, 1.482, 2.062, 2.768, 3.608",\
                 "0.3657, 0.3983, 0.4956, 0.6518, 0.8576, 1.115, 1.506, 2.063, 2.767, 3.608",\
                 "0.4918, 0.5318, 0.6492, 0.8312, 1.073, 1.367, 1.702, 2.158, 2.788, 3.61",\
                 "0.6354, 0.6848, 0.8266, 1.038, 1.31, 1.647, 2.034, 2.463, 2.99, 3.699",\
                 "0.7966, 0.8558, 1.024, 1.273, 1.58, 1.946, 2.386, 2.877, 3.406, 4.017",\
                 "0.9732, 1.044, 1.242, 1.53, 1.879, 2.284, 2.756, 3.302, 3.899, 4.544",\
                 "1.172, 1.251, 1.481, 1.811, 2.206, 2.658, 3.167, 3.747, 4.407, 5.122");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.244, 0.2988, 0.4954, 0.8703, 1.455, 2.279, 3.353, 4.712, 6.374, 8.35",\
                 "0.2442, 0.2993, 0.4947, 0.8703, 1.457, 2.277, 3.354, 4.716, 6.371, 8.36",\
                 "0.2529, 0.3045, 0.4961, 0.8706, 1.455, 2.275, 3.36, 4.719, 6.383, 8.353",\
                 "0.3063, 0.3571, 0.5308, 0.8772, 1.457, 2.276, 3.359, 4.719, 6.38, 8.353",\
                 "0.388, 0.4362, 0.6124, 0.95, 1.48, 2.277, 3.355, 4.718, 6.374, 8.349",\
                 "0.5128, 0.5618, 0.7296, 1.062, 1.584, 2.328, 3.363, 4.72, 6.38, 8.35",\
                 "0.6556, 0.7094, 0.8888, 1.211, 1.732, 2.463, 3.44, 4.74, 6.381, 8.354",\
                 "0.8106, 0.8702, 1.069, 1.409, 1.915, 2.652, 3.61, 4.842, 6.422, 8.367",\
                 "0.978, 1.044, 1.266, 1.641, 2.153, 2.867, 3.836, 5.048, 6.558, 8.432",\
                 "1.16, 1.235, 1.478, 1.884, 2.431, 3.142, 4.095, 5.322, 6.797, 8.596");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1197, 0.1364, 0.1928, 0.2946, 0.4481, 0.6592, 0.9341, 1.279, 1.699, 2.2",\
                 "0.1328, 0.1495, 0.2058, 0.3076, 0.4611, 0.6722, 0.9472, 1.292, 1.712, 2.213",\
                 "0.185, 0.2023, 0.2573, 0.3578, 0.511, 0.722, 0.9967, 1.342, 1.762, 2.262",\
                 "0.2377, 0.2617, 0.3368, 0.4564, 0.6124, 0.8219, 1.096, 1.44, 1.86, 2.36",\
                 "0.2747, 0.3049, 0.399, 0.5504, 0.7477, 0.9805, 1.255, 1.598, 2.016, 2.515",\
                 "0.2938, 0.3292, 0.4421, 0.6245, 0.862, 1.146, 1.468, 1.824, 2.24, 2.737",\
                 "0.2917, 0.3331, 0.4641, 0.6769, 0.9549, 1.285, 1.664, 2.083, 2.535, 3.035",\
                 "0.2679, 0.3143, 0.4634, 0.7062, 1.025, 1.404, 1.835, 2.315, 2.837, 3.395",\
                 "0.2214, 0.273, 0.4386, 0.7118, 1.071, 1.499, 1.983, 2.52, 3.109, 3.739",\
                 "0.1526, 0.2091, 0.3906, 0.6923, 1.092, 1.567, 2.107, 2.701, 3.351, 4.052");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.2751, 0.3079, 0.4217, 0.6368, 0.9706, 1.439, 2.054, 2.828, 3.772, 4.899",\
                 "0.2898, 0.3226, 0.4372, 0.653, 0.9874, 1.456, 2.071, 2.845, 3.79, 4.916",\
                 "0.3357, 0.369, 0.4835, 0.7002, 1.035, 1.504, 2.121, 2.897, 3.84, 4.971",\
                 "0.4063, 0.442, 0.5612, 0.7762, 1.11, 1.578, 2.192, 2.969, 3.915, 5.04",\
                 "0.4999, 0.5388, 0.6681, 0.8978, 1.232, 1.695, 2.307, 3.079, 4.023, 5.151",\
                 "0.6237, 0.6679, 0.8104, 1.054, 1.408, 1.875, 2.48, 3.246, 4.187, 5.307",\
                 "0.7723, 0.8236, 0.9851, 1.251, 1.622, 2.113, 2.726, 3.483, 4.415, 5.528",\
                 "0.9446, 1.004, 1.186, 1.482, 1.88, 2.39, 3.029, 3.799, 4.721, 5.826",\
                 "1.14, 1.205, 1.412, 1.741, 2.176, 2.714, 3.374, 4.172, 5.11, 6.206",\
                 "1.357, 1.43, 1.661, 2.026, 2.502, 3.079, 3.768, 4.59, 5.559, 6.675");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1927, 0.2175, 0.3027, 0.4635, 0.7133, 1.063, 1.523, 2.102, 2.808, 3.65",\
                 "0.1907, 0.2161, 0.3021, 0.4633, 0.713, 1.062, 1.523, 2.1, 2.807, 3.648",\
                 "0.2178, 0.2357, 0.3064, 0.4623, 0.7132, 1.062, 1.523, 2.102, 2.807, 3.649",\
                 "0.3242, 0.3455, 0.4155, 0.5323, 0.7328, 1.063, 1.522, 2.101, 2.807, 3.649",\
                 "0.4533, 0.4774, 0.5604, 0.7054, 0.9, 1.155, 1.546, 2.102, 2.807, 3.649",\
                 "0.6014, 0.6322, 0.7308, 0.8962, 1.126, 1.411, 1.744, 2.196, 2.829, 3.65",\
                 "0.7702, 0.8086, 0.9266, 1.118, 1.374, 1.698, 2.08, 2.504, 3.031, 3.736",\
                 "0.9594, 1.005, 1.146, 1.365, 1.652, 2.009, 2.435, 2.922, 3.449, 4.057",\
                 "1.167, 1.22, 1.384, 1.64, 1.966, 2.356, 2.817, 3.354, 3.947, 4.587",\
                 "1.393, 1.456, 1.645, 1.938, 2.307, 2.74, 3.236, 3.807, 4.458, 5.17");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.3179, 0.3747, 0.5718, 0.9495, 1.534, 2.356, 3.435, 4.795, 6.453, 8.423",\
                 "0.3188, 0.3748, 0.5721, 0.9488, 1.535, 2.357, 3.435, 4.797, 6.449, 8.427",\
                 "0.321, 0.3764, 0.5728, 0.9494, 1.535, 2.356, 3.436, 4.797, 6.45, 8.435",\
                 "0.3698, 0.4203, 0.5961, 0.9516, 1.534, 2.356, 3.433, 4.796, 6.457, 8.43",\
                 "0.4436, 0.4958, 0.6782, 1.015, 1.552, 2.356, 3.435, 4.795, 6.454, 8.435",\
                 "0.5634, 0.6122, 0.7854, 1.126, 1.651, 2.398, 3.439, 4.794, 6.455, 8.432",\
                 "0.7078, 0.7614, 0.9424, 1.27, 1.798, 2.531, 3.513, 4.81, 6.454, 8.43",\
                 "0.866, 0.9272, 1.125, 1.465, 1.978, 2.715, 3.679, 4.916, 6.489, 8.433",\
                 "1.038, 1.107, 1.328, 1.694, 2.212, 2.933, 3.905, 5.118, 6.628, 8.496",\
                 "1.225, 1.301, 1.543, 1.944, 2.49, 3.201, 4.164, 5.39, 6.869, 8.669");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.141, 0.157, 0.2111, 0.3106, 0.4615, 0.671, 0.9453, 1.29, 1.71, 2.211",\
                 "0.1544, 0.1704, 0.2245, 0.3238, 0.4749, 0.6845, 0.9588, 1.303, 1.723, 2.224",\
                 "0.2067, 0.2229, 0.276, 0.3747, 0.5254, 0.7349, 1.009, 1.354, 1.774, 2.274",\
                 "0.2656, 0.2883, 0.3589, 0.4738, 0.6271, 0.8351, 1.109, 1.453, 1.872, 2.372",\
                 "0.309, 0.3375, 0.4261, 0.5721, 0.765, 0.995, 1.268, 1.61, 2.028, 2.527",\
                 "0.3343, 0.3679, 0.4766, 0.6516, 0.8844, 1.164, 1.483, 1.837, 2.254, 2.751",\
                 "0.3392, 0.3788, 0.5061, 0.7124, 0.9848, 1.31, 1.685, 2.101, 2.551, 3.049",\
                 "0.3244, 0.3706, 0.5161, 0.7535, 1.065, 1.437, 1.863, 2.339, 2.858, 3.414",\
                 "0.2898, 0.3411, 0.5035, 0.7724, 1.123, 1.543, 2.02, 2.553, 3.136, 3.764",\
                 "0.2313, 0.2883, 0.4689, 0.7678, 1.158, 1.625, 2.156, 2.743, 3.388, 4.084");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.2751, 0.3079, 0.4217, 0.6368, 0.9706, 1.439, 2.054, 2.828, 3.772, 4.899",\
                 "0.2898, 0.3226, 0.4372, 0.653, 0.9874, 1.456, 2.071, 2.845, 3.79, 4.916",\
                 "0.3357, 0.369, 0.4835, 0.7002, 1.035, 1.504, 2.121, 2.897, 3.84, 4.971",\
                 "0.4063, 0.442, 0.5612, 0.7762, 1.11, 1.578, 2.192, 2.969, 3.915, 5.04",\
                 "0.4999, 0.5388, 0.6681, 0.8978, 1.232, 1.695, 2.307, 3.079, 4.023, 5.151",\
                 "0.6237, 0.6679, 0.8104, 1.054, 1.408, 1.875, 2.48, 3.246, 4.187, 5.307",\
                 "0.7723, 0.8236, 0.9851, 1.251, 1.622, 2.113, 2.726, 3.483, 4.415, 5.528",\
                 "0.9446, 1.004, 1.186, 1.482, 1.88, 2.39, 3.029, 3.799, 4.721, 5.826",\
                 "1.14, 1.205, 1.412, 1.741, 2.176, 2.714, 3.374, 4.172, 5.11, 6.206",\
                 "1.357, 1.43, 1.661, 2.026, 2.502, 3.079, 3.768, 4.59, 5.559, 6.675");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.1927, 0.2175, 0.3027, 0.4635, 0.7133, 1.063, 1.523, 2.102, 2.808, 3.65",\
                 "0.1907, 0.2161, 0.3021, 0.4633, 0.713, 1.062, 1.523, 2.1, 2.807, 3.648",\
                 "0.2178, 0.2357, 0.3064, 0.4623, 0.7132, 1.062, 1.523, 2.102, 2.807, 3.649",\
                 "0.3242, 0.3455, 0.4155, 0.5323, 0.7328, 1.063, 1.522, 2.101, 2.807, 3.649",\
                 "0.4533, 0.4774, 0.5604, 0.7054, 0.9, 1.155, 1.546, 2.102, 2.807, 3.649",\
                 "0.6014, 0.6322, 0.7308, 0.8962, 1.126, 1.411, 1.744, 2.196, 2.829, 3.65",\
                 "0.7702, 0.8086, 0.9266, 1.118, 1.374, 1.698, 2.08, 2.504, 3.031, 3.736",\
                 "0.9594, 1.005, 1.146, 1.365, 1.652, 2.009, 2.435, 2.922, 3.449, 4.057",\
                 "1.167, 1.22, 1.384, 1.64, 1.966, 2.356, 2.817, 3.354, 3.947, 4.587",\
                 "1.393, 1.456, 1.645, 1.938, 2.307, 2.74, 3.236, 3.807, 4.458, 5.17");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002246, 0.00662, 0.01497, 0.02799, 0.04625, 0.07028, 0.1005, 0.1375, 0.1815");
          values("0.3179, 0.3747, 0.5718, 0.9495, 1.534, 2.356, 3.435, 4.795, 6.453, 8.423",\
                 "0.3188, 0.3748, 0.5721, 0.9488, 1.535, 2.357, 3.435, 4.797, 6.449, 8.427",\
                 "0.321, 0.3764, 0.5728, 0.9494, 1.535, 2.356, 3.436, 4.797, 6.45, 8.435",\
                 "0.3698, 0.4203, 0.5961, 0.9516, 1.534, 2.356, 3.433, 4.796, 6.457, 8.43",\
                 "0.4436, 0.4958, 0.6782, 1.015, 1.552, 2.356, 3.435, 4.795, 6.454, 8.435",\
                 "0.5634, 0.6122, 0.7854, 1.126, 1.651, 2.398, 3.439, 4.794, 6.455, 8.432",\
                 "0.7078, 0.7614, 0.9424, 1.27, 1.798, 2.531, 3.513, 4.81, 6.454, 8.43",\
                 "0.866, 0.9272, 1.125, 1.465, 1.978, 2.715, 3.679, 4.916, 6.489, 8.433",\
                 "1.038, 1.107, 1.328, 1.694, 2.212, 2.933, 3.905, 5.118, 6.628, 8.496",\
                 "1.225, 1.301, 1.543, 1.944, 2.49, 3.201, 4.164, 5.39, 6.869, 8.669");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi21_2) {
    area : 28.537600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B" ;
      value : "6.59703e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B" ;
      value : "0.0001101045" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B" ;
      value : "6.61287e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B" ;
      value : "0.0001118337" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B" ;
      value : "9.86304e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B" ;
      value : "0.0001118337" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B" ;
      value : "6.79074e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B" ;
      value : "6.79206e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001118337" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009094 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03656, 0.0366, 0.03657, 0.03648, 0.03639, 0.03639, 0.03634, \
                 0.03635, 0.03633, 0.03631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02609, -0.02608, -0.02605, -0.02599, -0.02596, -0.026, -0.02602, \
                 -0.02603, -0.02605, -0.02607");
        }
      }

      internal_power() {
        when : "!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009631, 0.009626, 0.009661, 0.009654, 0.009639, 0.009689, 0.009699, \
                 0.009699, 0.009702, 0.009712");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009636, -0.009635, -0.009651, -0.009666, -0.00969, -0.00971, \
                 -0.00972, -0.009729, -0.009757, -0.00977");
        }
      }

      internal_power() {
        when : "A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03594, 0.03586, 0.0358, 0.03577, 0.03572, 0.03575, 0.03571, \
                 0.03566, 0.03562, 0.03551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009717, -0.009728, -0.009743, -0.009757, -0.009745, -0.009779, \
                 -0.009791, -0.009781, -0.009788, -0.009784");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009524 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03576, 0.03357, 0.03282, 0.03266, 0.03254, 0.03255, 0.03254, \
                 0.03251, 0.03249, 0.03249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03276, -0.03278, -0.03272, -0.03261, -0.03254, -0.03254, -0.03251, \
                 -0.03248, -0.03245, -0.03246");
        }
      }

      internal_power() {
        when : "!A1&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009647, 0.009637, 0.009659, 0.009668, 0.009657, 0.009699, 0.009701, \
                 0.009701, 0.009698, 0.009705");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009658, -0.009656, -0.009659, -0.009675, -0.009682, -0.009712, \
                 -0.009722, -0.009735, -0.009745, -0.009769");
        }
      }

      internal_power() {
        when : "A1&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03593, 0.03587, 0.03581, 0.03576, 0.03574, 0.03577, 0.03571, \
                 0.03567, 0.03561, 0.03551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009745, -0.00973, -0.00975, -0.00975, -0.009745, -0.009782, \
                 -0.00978, -0.009781, -0.009779, -0.009789");
        }
      }
    }

    pin(B) {
      capacitance : 0.007744 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03256, 0.03249, 0.03247, 0.03244, 0.03247, 0.03252, 0.03251, \
                 0.03251, 0.0325, 0.03251");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02668, -0.02807, -0.0297, -0.03052, -0.03091, -0.03124, -0.03141, \
                 -0.03151, -0.03158, -0.03163");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B))|((!A2)&(!B)))" ;
      max_capacitance : 0.3628 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.00701, 0.00733, 0.007721, 0.007987, 0.008118, 0.008209, 0.008265, 0.008299, 0.008317, 0.008336",\
                 "0.006527, 0.007027, 0.008014, 0.008742, 0.009162, 0.009403, 0.009555, 0.009668, 0.00971, 0.009758",\
                 "0.008944, 0.009136, 0.009652, 0.01016, 0.01055, 0.0108, 0.01097, 0.01109, 0.01114, 0.01118",\
                 "0.019, 0.01835, 0.0169, 0.01561, 0.01463, 0.01394, 0.01342, 0.01307, 0.01281, 0.01262",\
                 "0.04013, 0.03837, 0.03401, 0.02937, 0.02553, 0.02253, 0.0203, 0.01854, 0.01728, 0.01627",\
                 "0.0737, 0.07098, 0.06338, 0.0544, 0.04645, 0.03984, 0.03463, 0.03044, 0.02715, 0.02451",\
                 "0.1205, 0.1168, 0.1064, 0.09276, 0.07958, 0.0683, 0.05884, 0.05108, 0.04476, 0.03967",\
                 "0.1812, 0.1767, 0.1638, 0.1458, 0.1268, 0.1098, 0.09524, 0.08288, 0.07251, 0.0639",\
                 "0.2565, 0.2514, 0.2362, 0.2141, 0.1896, 0.1663, 0.1456, 0.1277, 0.1124, 0.09922",\
                 "0.347, 0.3414, 0.3242, 0.2985, 0.2687, 0.2388, 0.2113, 0.1872, 0.166, 0.1474");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1031, 0.1038, 0.1051, 0.1058, 0.1067, 0.1074, 0.1082, 0.1086, 0.1098, 0.1132",\
                 "0.1001, 0.101, 0.103, 0.1047, 0.1062, 0.1073, 0.1084, 0.1097, 0.1101, 0.1141",\
                 "0.1023, 0.1022, 0.1025, 0.1035, 0.105, 0.1063, 0.1076, 0.1085, 0.1106, 0.1147",\
                 "0.116, 0.1149, 0.1123, 0.1099, 0.1088, 0.1087, 0.1091, 0.11, 0.1108, 0.1143",\
                 "0.1418, 0.1397, 0.1343, 0.1278, 0.1226, 0.119, 0.1166, 0.1157, 0.1153, 0.1193",\
                 "0.181, 0.1778, 0.1694, 0.159, 0.1496, 0.1409, 0.1343, 0.1301, 0.1272, 0.1307",\
                 "0.2344, 0.2302, 0.219, 0.2045, 0.1898, 0.1768, 0.1648, 0.1556, 0.149, 0.1508",\
                 "0.3031, 0.2983, 0.2842, 0.2654, 0.2454, 0.2275, 0.2107, 0.1954, 0.1838, 0.185",\
                 "0.3881, 0.3825, 0.3659, 0.3431, 0.3179, 0.2939, 0.2718, 0.2515, 0.2343, 0.2385",\
                 "0.4903, 0.484, 0.4654, 0.4382, 0.4079, 0.3779, 0.3497, 0.3235, 0.3043, 0.3192");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.007187, 0.00744, 0.007836, 0.008059, 0.00821, 0.008279, 0.008329, 0.008355, 0.008377, 0.008394",\
                 "0.006065, 0.006667, 0.007821, 0.008653, 0.009138, 0.009394, 0.009553, 0.009626, 0.009699, 0.009743",\
                 "0.00676, 0.007204, 0.008263, 0.009265, 0.009937, 0.01039, 0.01068, 0.01087, 0.011, 0.01107",\
                 "0.01577, 0.01535, 0.01455, 0.01398, 0.01356, 0.01321, 0.01291, 0.01269, 0.01253, 0.01239",\
                 "0.03613, 0.0347, 0.0311, 0.02733, 0.02419, 0.02166, 0.01976, 0.01825, 0.01703, 0.01612",\
                 "0.06959, 0.06712, 0.06042, 0.05232, 0.0451, 0.03909, 0.03428, 0.03038, 0.02724, 0.02472",\
                 "0.1168, 0.1134, 0.1037, 0.09102, 0.07863, 0.06801, 0.05902, 0.05169, 0.04556, 0.0405",\
                 "0.1785, 0.1742, 0.1619, 0.1447, 0.1268, 0.1103, 0.09629, 0.08439, 0.07428, 0.06572",\
                 "0.2552, 0.2502, 0.2355, 0.2142, 0.1906, 0.1681, 0.1478, 0.1304, 0.1153, 0.1024",\
                 "0.3477, 0.342, 0.3253, 0.3001, 0.2713, 0.2422, 0.2154, 0.1915, 0.1706, 0.1523");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.131, 0.1311, 0.1314, 0.1317, 0.1323, 0.1331, 0.134, 0.1352, 0.1361, 0.1399",\
                 "0.1286, 0.1289, 0.1296, 0.1303, 0.1312, 0.1322, 0.1331, 0.1343, 0.1351, 0.1401",\
                 "0.131, 0.1307, 0.1304, 0.1305, 0.1311, 0.1319, 0.1328, 0.1336, 0.1354, 0.139",\
                 "0.1448, 0.1437, 0.141, 0.138, 0.1363, 0.1353, 0.1354, 0.1359, 0.137, 0.1407",\
                 "0.1714, 0.1693, 0.1641, 0.1573, 0.1514, 0.147, 0.1437, 0.1424, 0.1421, 0.146",\
                 "0.2117, 0.209, 0.2011, 0.1905, 0.18, 0.1707, 0.1635, 0.1584, 0.1547, 0.1576",\
                 "0.2666, 0.2633, 0.2532, 0.2386, 0.2232, 0.2087, 0.1961, 0.1858, 0.1785, 0.1797",\
                 "0.3375, 0.3336, 0.3215, 0.3034, 0.2826, 0.263, 0.2443, 0.2285, 0.2156, 0.2164",\
                 "0.4248, 0.4204, 0.4067, 0.3853, 0.3599, 0.3343, 0.3099, 0.2879, 0.27, 0.2727",\
                 "0.5296, 0.5248, 0.5098, 0.4859, 0.4563, 0.4241, 0.3934, 0.3649, 0.3435, 0.3577");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.04577, 0.04576, 0.04575, 0.04587, 0.04593, 0.04595, 0.04598, 0.046, 0.04603, 0.04598",\
                 "0.04448, 0.04457, 0.04457, 0.04467, 0.04477, 0.04481, 0.04484, 0.04485, 0.04487, 0.04488",\
                 "0.04473, 0.04465, 0.04448, 0.04427, 0.04427, 0.04421, 0.0442, 0.04414, 0.04411, 0.04408",\
                 "0.05309, 0.05257, 0.05111, 0.04944, 0.04808, 0.04692, 0.04616, 0.04561, 0.04519, 0.04489",\
                 "0.07431, 0.0729, 0.06931, 0.06454, 0.06024, 0.05662, 0.05385, 0.0517, 0.05007, 0.04881",\
                 "0.1103, 0.1081, 0.1018, 0.09311, 0.08438, 0.07668, 0.07046, 0.06549, 0.06144, 0.05834",\
                 "0.1623, 0.1594, 0.1503, 0.1374, 0.1235, 0.1104, 0.0992, 0.08993, 0.08234, 0.07613",\
                 "0.2311, 0.2275, 0.2161, 0.1989, 0.1792, 0.1602, 0.1429, 0.128, 0.1153, 0.1048",\
                 "0.3171, 0.3131, 0.2996, 0.2785, 0.2534, 0.2277, 0.2035, 0.1819, 0.1631, 0.1471",\
                 "0.4214, 0.4168, 0.4017, 0.3771, 0.3467, 0.3143, 0.2829, 0.254, 0.228, 0.2052");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.156, 0.1563, 0.1568, 0.1573, 0.1579, 0.1584, 0.1592, 0.1597, 0.1608, 0.1621",\
                 "0.1537, 0.1542, 0.1554, 0.1564, 0.1574, 0.1579, 0.1587, 0.1597, 0.1607, 0.1618",\
                 "0.1523, 0.1527, 0.1534, 0.1545, 0.1558, 0.1571, 0.1583, 0.1592, 0.1598, 0.1608",\
                 "0.1597, 0.1592, 0.1581, 0.1573, 0.1573, 0.1578, 0.1586, 0.1593, 0.1604, 0.1627",\
                 "0.1832, 0.1813, 0.1769, 0.1724, 0.1687, 0.166, 0.1648, 0.1642, 0.1644, 0.1646",\
                 "0.2253, 0.2223, 0.2137, 0.2038, 0.1951, 0.188, 0.1823, 0.178, 0.176, 0.1747",\
                 "0.2858, 0.2817, 0.2695, 0.2539, 0.2384, 0.2257, 0.215, 0.2057, 0.1991, 0.1943",\
                 "0.3643, 0.3593, 0.3446, 0.3237, 0.3013, 0.2815, 0.2648, 0.25, 0.2375, 0.2279",\
                 "0.4614, 0.4558, 0.4387, 0.4133, 0.3848, 0.357, 0.3326, 0.3118, 0.2935, 0.2782",\
                 "0.5784, 0.5721, 0.5531, 0.5239, 0.4891, 0.4545, 0.4212, 0.3925, 0.3675, 0.3504");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.04032, 0.0403, 0.04026, 0.04028, 0.04033, 0.04035, 0.04038, 0.04039, 0.0404, 0.0404",\
                 "0.03857, 0.03866, 0.03867, 0.03867, 0.03873, 0.03879, 0.0388, 0.0388, 0.03878, 0.03884",\
                 "0.03854, 0.03844, 0.03811, 0.03785, 0.03763, 0.03753, 0.03753, 0.0375, 0.03743, 0.03741",\
                 "0.04706, 0.04632, 0.0444, 0.04257, 0.04102, 0.03987, 0.0391, 0.03851, 0.03812, 0.03783",\
                 "0.06849, 0.0668, 0.06238, 0.05705, 0.05248, 0.04882, 0.04609, 0.04399, 0.04245, 0.04128",\
                 "0.1047, 0.102, 0.09444, 0.08489, 0.07554, 0.06772, 0.06147, 0.05667, 0.05282, 0.04988",\
                 "0.1567, 0.1531, 0.1425, 0.1279, 0.113, 0.0996, 0.08839, 0.07939, 0.07205, 0.06616",\
                 "0.2251, 0.2208, 0.2075, 0.1881, 0.1671, 0.1472, 0.1296, 0.1149, 0.1028, 0.0927",\
                 "0.3107, 0.3056, 0.29, 0.2662, 0.239, 0.212, 0.1874, 0.1658, 0.1475, 0.132",\
                 "0.4141, 0.4086, 0.391, 0.3631, 0.3298, 0.2959, 0.2633, 0.2341, 0.2084, 0.1862");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1394, 0.1397, 0.1402, 0.1406, 0.1412, 0.1417, 0.1423, 0.1431, 0.1443, 0.1474",\
                 "0.137, 0.1376, 0.1387, 0.1396, 0.1405, 0.1415, 0.142, 0.1429, 0.144, 0.1471",\
                 "0.1355, 0.1358, 0.1366, 0.1377, 0.1392, 0.1402, 0.1414, 0.1422, 0.1435, 0.1473",\
                 "0.1421, 0.1417, 0.1407, 0.14, 0.1401, 0.1407, 0.1415, 0.1427, 0.1437, 0.1476",\
                 "0.1644, 0.1625, 0.1583, 0.1539, 0.1506, 0.1484, 0.1474, 0.1467, 0.1474, 0.1517",\
                 "0.2052, 0.2021, 0.1937, 0.184, 0.1759, 0.1691, 0.1637, 0.1601, 0.1578, 0.1613",\
                 "0.2647, 0.2605, 0.2484, 0.233, 0.2183, 0.206, 0.1953, 0.1867, 0.1804, 0.1821",\
                 "0.3423, 0.3373, 0.3223, 0.3014, 0.2797, 0.2608, 0.244, 0.2297, 0.218, 0.2179",\
                 "0.4384, 0.4326, 0.4154, 0.3899, 0.3617, 0.3348, 0.3114, 0.2906, 0.2736, 0.2733",\
                 "0.554, 0.5477, 0.5283, 0.499, 0.4648, 0.4305, 0.3984, 0.3709, 0.3492, 0.3554");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.04025, 0.04025, 0.04024, 0.0403, 0.04035, 0.04038, 0.04041, 0.04039, 0.04039, 0.04035",\
                 "0.03863, 0.03863, 0.03867, 0.03872, 0.03875, 0.03877, 0.0388, 0.03879, 0.03875, 0.03874",\
                 "0.03856, 0.03841, 0.03813, 0.03788, 0.03766, 0.03759, 0.03754, 0.03744, 0.03738, 0.03734",\
                 "0.04702, 0.04626, 0.04447, 0.04258, 0.04104, 0.03988, 0.03912, 0.03856, 0.03815, 0.03785",\
                 "0.06834, 0.06665, 0.06235, 0.05707, 0.05244, 0.04885, 0.04608, 0.04401, 0.04247, 0.04124",\
                 "0.1044, 0.1018, 0.09427, 0.08477, 0.0755, 0.06778, 0.06152, 0.05669, 0.05287, 0.04985",\
                 "0.1563, 0.1527, 0.1422, 0.1278, 0.113, 0.09961, 0.08846, 0.07942, 0.07201, 0.06615",\
                 "0.2246, 0.2204, 0.2071, 0.1879, 0.167, 0.1471, 0.1296, 0.1149, 0.1026, 0.0927",\
                 "0.3101, 0.3052, 0.2896, 0.2659, 0.2389, 0.2118, 0.1873, 0.1657, 0.1474, 0.132",\
                 "0.4134, 0.4079, 0.3904, 0.3628, 0.3296, 0.2957, 0.2632, 0.2339, 0.2083, 0.1861");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1705, 0.1707, 0.1711, 0.1716, 0.1723, 0.1728, 0.1738, 0.1745, 0.1759, 0.1798",\
                 "0.1686, 0.1689, 0.1698, 0.1706, 0.1718, 0.1725, 0.1737, 0.1747, 0.1758, 0.1798",\
                 "0.1667, 0.1669, 0.1678, 0.1689, 0.1703, 0.1715, 0.1728, 0.1741, 0.1755, 0.1796",\
                 "0.1721, 0.1719, 0.1712, 0.1707, 0.1711, 0.1719, 0.1726, 0.1741, 0.1754, 0.1802",\
                 "0.1921, 0.1907, 0.1874, 0.1839, 0.1812, 0.1793, 0.1785, 0.1784, 0.1788, 0.1836",\
                 "0.2307, 0.2283, 0.2213, 0.213, 0.2055, 0.1993, 0.1946, 0.1915, 0.1895, 0.1935",\
                 "0.2886, 0.2849, 0.2744, 0.2605, 0.247, 0.2355, 0.2255, 0.2172, 0.2117, 0.214",\
                 "0.3646, 0.3602, 0.3469, 0.3279, 0.3077, 0.2894, 0.2739, 0.2594, 0.249, 0.2497",\
                 "0.4597, 0.4545, 0.4389, 0.4153, 0.3886, 0.363, 0.3405, 0.3202, 0.3034, 0.3047",\
                 "0.5745, 0.5687, 0.5508, 0.523, 0.4906, 0.4576, 0.4267, 0.3995, 0.3787, 0.3869");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.08392, 0.09976, 0.1544, 0.2582, 0.4193, 0.6455, 0.943, 1.318, 1.776, 2.322",\
                 "0.09556, 0.1115, 0.167, 0.2713, 0.4329, 0.6591, 0.9567, 1.331, 1.79, 2.335",\
                 "0.1254, 0.1468, 0.2115, 0.3167, 0.478, 0.7045, 1.002, 1.377, 1.835, 2.38",\
                 "0.1365, 0.1662, 0.2549, 0.3919, 0.5664, 0.7919, 1.089, 1.463, 1.92, 2.466",\
                 "0.1213, 0.1601, 0.275, 0.4481, 0.6681, 0.9272, 1.227, 1.599, 2.056, 2.599",\
                 "0.0772, 0.1249, 0.2671, 0.479, 0.744, 1.055, 1.407, 1.796, 2.25, 2.792",\
                 "0.0011, 0.0587, 0.2267, 0.4798, 0.7923, 1.154, 1.562, 2.015, 2.507, 3.052",\
                 "-0.1089, -0.0423, 0.1529, 0.4453, 0.8077, 1.224, 1.687, 2.203, 2.762, 3.365",\
                 "-0.2555, -0.1798, 0.0427, 0.3744, 0.7873, 1.259, 1.783, 2.357, 2.983, 3.657",\
                 "-0.4413, -0.3561, -0.1061, 0.2663, 0.7274, 1.256, 1.842, 2.48, 3.169, 3.914");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1434, 0.1771, 0.2923, 0.5082, 0.8435, 1.312, 1.929, 2.705, 3.655, 4.782",\
                 "0.1522, 0.1859, 0.3026, 0.521, 0.8578, 1.328, 1.946, 2.724, 3.669, 4.802",\
                 "0.2119, 0.2437, 0.3558, 0.5725, 0.9088, 1.38, 1.998, 2.775, 3.727, 4.857",\
                 "0.3125, 0.3521, 0.4777, 0.6899, 1.021, 1.488, 2.105, 2.882, 3.828, 4.957",\
                 "0.4464, 0.4937, 0.6399, 0.8814, 1.213, 1.672, 2.282, 3.055, 4, 5.127",\
                 "0.6132, 0.67, 0.8396, 1.112, 1.484, 1.947, 2.548, 3.312, 4.252, 5.376",\
                 "0.8126, 0.8785, 1.077, 1.383, 1.794, 2.305, 2.913, 3.668, 4.598, 5.714",\
                 "1.046, 1.124, 1.352, 1.698, 2.146, 2.705, 3.368, 4.131, 5.051, 6.155",\
                 "1.314, 1.405, 1.664, 2.056, 2.548, 3.148, 3.865, 4.688, 5.617, 6.711",\
                 "1.622, 1.723, 2.017, 2.454, 2.999, 3.643, 4.407, 5.291, 6.285, 7.39");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.09769, 0.1245, 0.2172, 0.3943, 0.6691, 1.056, 1.565, 2.205, 2.988, 3.922",\
                 "0.09764, 0.1241, 0.217, 0.3942, 0.6707, 1.055, 1.564, 2.206, 2.988, 3.92",\
                 "0.136, 0.1607, 0.2363, 0.3951, 0.669, 1.057, 1.564, 2.207, 2.988, 3.921",\
                 "0.2013, 0.2311, 0.325, 0.4787, 0.6981, 1.057, 1.563, 2.205, 2.989, 3.921",\
                 "0.2897, 0.3285, 0.4381, 0.6138, 0.8544, 1.155, 1.59, 2.206, 2.987, 3.92",\
                 "0.3952, 0.4426, 0.5786, 0.7802, 1.046, 1.382, 1.779, 2.299, 3.006, 3.918",\
                 "0.5182, 0.5756, 0.7376, 0.9748, 1.271, 1.637, 2.076, 2.58, 3.194, 4",\
                 "0.656, 0.7246, 0.9168, 1.194, 1.53, 1.926, 2.399, 2.952, 3.573, 4.289",\
                 "0.8092, 0.8898, 1.113, 1.433, 1.816, 2.254, 2.757, 3.351, 4.019, 4.767",\
                 "0.9718, 1.069, 1.329, 1.692, 2.13, 2.616, 3.16, 3.782, 4.495, 5.293");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.2206, 0.278, 0.4785, 0.8567, 1.445, 2.267, 3.353, 4.718, 6.375, 8.371",\
                 "0.2189, 0.2775, 0.4782, 0.8566, 1.445, 2.265, 3.352, 4.716, 6.386, 8.361",\
                 "0.2306, 0.2805, 0.4758, 0.8549, 1.442, 2.268, 3.349, 4.71, 6.384, 8.364",\
                 "0.2867, 0.3431, 0.5181, 0.8579, 1.444, 2.265, 3.353, 4.715, 6.375, 8.368",\
                 "0.3642, 0.4202, 0.6138, 0.9476, 1.462, 2.267, 3.351, 4.717, 6.389, 8.366",\
                 "0.4676, 0.5306, 0.7278, 1.089, 1.596, 2.312, 3.353, 4.713, 6.378, 8.361",\
                 "0.5896, 0.6618, 0.8744, 1.245, 1.792, 2.49, 3.432, 4.722, 6.378, 8.371",\
                 "0.7278, 0.8104, 1.049, 1.433, 1.997, 2.749, 3.653, 4.834, 6.392, 8.37",\
                 "0.8784, 0.973, 1.245, 1.66, 2.232, 3.017, 3.98, 5.109, 6.56, 8.41",\
                 "1.04, 1.151, 1.456, 1.914, 2.509, 3.302, 4.321, 5.501, 6.881, 8.614");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.09743, 0.1132, 0.1678, 0.2716, 0.4328, 0.6591, 0.9567, 1.331, 1.789, 2.335",\
                 "0.1071, 0.1233, 0.1788, 0.283, 0.4449, 0.6714, 0.9685, 1.344, 1.802, 2.346",\
                 "0.1248, 0.144, 0.2055, 0.3114, 0.4734, 0.7, 0.9979, 1.373, 1.831, 2.376",\
                 "0.1274, 0.1531, 0.2306, 0.355, 0.5268, 0.7535, 1.051, 1.425, 1.883, 2.428",\
                 "0.1007, 0.135, 0.2356, 0.3877, 0.5855, 0.833, 1.136, 1.509, 1.966, 2.511",\
                 "0.0404, 0.0829, 0.2085, 0.396, 0.6297, 0.9079, 1.24, 1.629, 2.086, 2.63",\
                 "-0.0572, -0.0061, 0.1443, 0.3699, 0.6463, 0.9663, 1.332, 1.755, 2.238, 2.789",\
                 "-0.1942, -0.1347, 0.0407, 0.3031, 0.6271, 0.9954, 1.407, 1.867, 2.387, 2.971",\
                 "-0.3738, -0.306, -0.1048, 0.1946, 0.5642, 0.9853, 1.451, 1.959, 2.519, 3.143",\
                 "-0.5975, -0.5224, -0.2968, 0.0418, 0.4564, 0.9317, 1.454, 2.02, 2.631, 3.298");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1889, 0.2216, 0.3354, 0.5503, 0.885, 1.354, 1.971, 2.748, 3.697, 4.822",\
                 "0.1989, 0.2319, 0.3466, 0.563, 0.898, 1.367, 1.985, 2.762, 3.709, 4.841",\
                 "0.2589, 0.2903, 0.4025, 0.6171, 0.9518, 1.421, 2.038, 2.814, 3.765, 4.89",\
                 "0.3761, 0.4121, 0.5289, 0.7376, 1.067, 1.532, 2.147, 2.921, 3.87, 4.995",\
                 "0.5297, 0.5713, 0.7068, 0.9371, 1.262, 1.719, 2.326, 3.098, 4.042, 5.17",\
                 "0.7246, 0.7732, 0.925, 1.183, 1.542, 1.998, 2.597, 3.359, 4.296, 5.416",\
                 "0.9604, 1.017, 1.19, 1.474, 1.869, 2.367, 2.967, 3.718, 4.645, 5.759",\
                 "1.24, 1.304, 1.502, 1.816, 2.242, 2.784, 3.432, 4.188, 5.103, 6.205",\
                 "1.564, 1.637, 1.86, 2.211, 2.671, 3.25, 3.949, 4.759, 5.679, 6.766",\
                 "1.935, 2.017, 2.268, 2.658, 3.159, 3.774, 4.516, 5.382, 6.359, 7.456");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.09777, 0.1244, 0.2172, 0.3943, 0.6707, 1.057, 1.564, 2.206, 2.988, 3.924",\
                 "0.0977, 0.1242, 0.2172, 0.3948, 0.6705, 1.057, 1.565, 2.206, 2.989, 3.917",\
                 "0.1252, 0.1493, 0.2304, 0.3955, 0.6706, 1.056, 1.565, 2.205, 2.991, 3.92",\
                 "0.186, 0.2104, 0.2922, 0.449, 0.6914, 1.058, 1.564, 2.204, 2.987, 3.918",\
                 "0.2726, 0.3015, 0.3916, 0.5472, 0.7894, 1.125, 1.588, 2.206, 2.987, 3.92",\
                 "0.3778, 0.4134, 0.5192, 0.6896, 0.9302, 1.266, 1.709, 2.276, 3.01, 3.919",\
                 "0.5002, 0.5416, 0.6674, 0.8622, 1.119, 1.453, 1.894, 2.452, 3.133, 3.984",\
                 "0.6348, 0.6854, 0.8326, 1.058, 1.343, 1.692, 2.129, 2.685, 3.367, 4.174",\
                 "0.779, 0.84, 1.017, 1.272, 1.594, 1.974, 2.422, 2.973, 3.653, 4.462",\
                 "0.931, 1.005, 1.214, 1.508, 1.868, 2.284, 2.766, 3.326, 3.997, 4.81");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.292, 0.3497, 0.5486, 0.9265, 1.514, 2.337, 3.419, 4.783, 6.447, 8.423",\
                 "0.2914, 0.3485, 0.549, 0.9273, 1.514, 2.337, 3.42, 4.783, 6.443, 8.431",\
                 "0.2917, 0.3464, 0.5476, 0.9269, 1.514, 2.337, 3.42, 4.781, 6.448, 8.426",\
                 "0.3494, 0.4031, 0.5749, 0.9267, 1.513, 2.336, 3.419, 4.783, 6.448, 8.422",\
                 "0.4196, 0.478, 0.6722, 1.002, 1.526, 2.336, 3.418, 4.782, 6.447, 8.431",\
                 "0.5148, 0.577, 0.7794, 1.143, 1.648, 2.372, 3.419, 4.78, 6.445, 8.426",\
                 "0.631, 0.6998, 0.9128, 1.291, 1.843, 2.54, 3.487, 4.787, 6.443, 8.427",\
                 "0.7636, 0.8398, 1.075, 1.465, 2.042, 2.794, 3.703, 4.893, 6.462, 8.425",\
                 "0.9104, 0.997, 1.258, 1.671, 2.26, 3.056, 4.02, 5.157, 6.608, 8.461",\
                 "1.076, 1.172, 1.46, 1.909, 2.512, 3.325, 4.344, 5.535, 6.923, 8.654");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1233, 0.1381, 0.1879, 0.2792, 0.418, 0.6102, 0.8618, 1.178, 1.563, 2.022",\
                 "0.1366, 0.1518, 0.2017, 0.2929, 0.4315, 0.6239, 0.8754, 1.192, 1.577, 2.036",\
                 "0.1883, 0.204, 0.2537, 0.3441, 0.4824, 0.6747, 0.9262, 1.242, 1.628, 2.087",\
                 "0.2392, 0.261, 0.3294, 0.4402, 0.5846, 0.7756, 1.026, 1.342, 1.727, 2.185",\
                 "0.2718, 0.2998, 0.3868, 0.5273, 0.7129, 0.9327, 1.187, 1.5, 1.884, 2.342",\
                 "0.2846, 0.3182, 0.4243, 0.5952, 0.819, 1.087, 1.391, 1.726, 2.11, 2.566",\
                 "0.2761, 0.3144, 0.4396, 0.6415, 0.9044, 1.217, 1.575, 1.972, 2.401, 2.865",\
                 "0.244, 0.2886, 0.4327, 0.6641, 0.9665, 1.326, 1.734, 2.188, 2.683, 3.213",\
                 "0.1877, 0.2385, 0.3998, 0.6613, 1.004, 1.41, 1.87, 2.379, 2.935, 3.535",\
                 "0.108, 0.1652, 0.3434, 0.6339, 1.015, 1.468, 1.98, 2.545, 3.16, 3.825");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.173, 0.1984, 0.2856, 0.4493, 0.7029, 1.059, 1.527, 2.117, 2.836, 3.694",\
                 "0.187, 0.2127, 0.3008, 0.4656, 0.7202, 1.076, 1.545, 2.134, 2.854, 3.712",\
                 "0.2364, 0.2631, 0.3522, 0.5174, 0.7724, 1.129, 1.598, 2.188, 2.908, 3.766",\
                 "0.3048, 0.3376, 0.4407, 0.6132, 0.8676, 1.223, 1.691, 2.281, 3.001, 3.86",\
                 "0.3968, 0.4366, 0.5559, 0.7523, 1.023, 1.377, 1.842, 2.429, 3.148, 4.005",\
                 "0.5133, 0.561, 0.7024, 0.9235, 1.223, 1.603, 2.067, 2.649, 3.364, 4.217",\
                 "0.6553, 0.7107, 0.8761, 1.129, 1.457, 1.869, 2.366, 2.952, 3.661, 4.508",\
                 "0.8186, 0.8836, 1.075, 1.364, 1.729, 2.172, 2.706, 3.329, 4.046, 4.887",\
                 "1.006, 1.079, 1.297, 1.624, 2.033, 2.517, 3.084, 3.747, 4.507, 5.362",\
                 "1.218, 1.3, 1.543, 1.911, 2.367, 2.897, 3.505, 4.205, 5.007, 5.91");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1411, 0.1651, 0.2458, 0.396, 0.6256, 0.9473, 1.369, 1.899, 2.546, 3.317",\
                 "0.1405, 0.1646, 0.2459, 0.3956, 0.626, 0.947, 1.369, 1.9, 2.547, 3.318",\
                 "0.1645, 0.1828, 0.2514, 0.3955, 0.6259, 0.9465, 1.369, 1.9, 2.547, 3.318",\
                 "0.2458, 0.2718, 0.3485, 0.468, 0.6506, 0.9484, 1.368, 1.899, 2.546, 3.318",\
                 "0.3442, 0.3748, 0.4708, 0.6212, 0.8166, 1.054, 1.402, 1.902, 2.546, 3.319",\
                 "0.4592, 0.4974, 0.6144, 0.791, 1.022, 1.302, 1.616, 2.021, 2.583, 3.323",\
                 "0.5888, 0.6356, 0.7756, 0.984, 1.249, 1.569, 1.937, 2.343, 2.816, 3.439",\
                 "0.7294, 0.7886, 0.9548, 1.201, 1.501, 1.856, 2.271, 2.736, 3.241, 3.797",\
                 "0.8842, 0.954, 1.149, 1.435, 1.778, 2.173, 2.626, 3.142, 3.71, 4.321",\
                 "1.056, 1.134, 1.36, 1.691, 2.08, 2.521, 3.018, 3.573, 4.196, 4.872");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.2051, 0.2468, 0.3953, 0.6785, 1.123, 1.741, 2.558, 3.593, 4.842, 6.343",\
                 "0.2056, 0.2473, 0.3945, 0.679, 1.122, 1.742, 2.56, 3.591, 4.843, 6.332",\
                 "0.2228, 0.2581, 0.3963, 0.6791, 1.122, 1.742, 2.559, 3.588, 4.848, 6.342",\
                 "0.2945, 0.3308, 0.4549, 0.6975, 1.124, 1.743, 2.56, 3.589, 4.847, 6.347",\
                 "0.3994, 0.4328, 0.558, 0.803, 1.175, 1.751, 2.56, 3.585, 4.843, 6.335",\
                 "0.536, 0.57, 0.6934, 0.9386, 1.323, 1.846, 2.588, 3.591, 4.84, 6.338",\
                 "0.6862, 0.7254, 0.8614, 1.107, 1.498, 2.038, 2.728, 3.652, 4.853, 6.335",\
                 "0.85, 0.8936, 1.047, 1.314, 1.704, 2.256, 2.969, 3.839, 4.958, 6.369",\
                 "1.026, 1.075, 1.248, 1.546, 1.954, 2.505, 3.235, 4.133, 5.194, 6.517",\
                 "1.217, 1.27, 1.462, 1.794, 2.242, 2.804, 3.54, 4.457, 5.543, 6.808");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.09895, 0.1145, 0.1659, 0.2584, 0.398, 0.5908, 0.8427, 1.159, 1.545, 2.004",\
                 "0.1126, 0.1279, 0.1791, 0.2716, 0.4112, 0.604, 0.856, 1.172, 1.558, 2.017",\
                 "0.1609, 0.1786, 0.2315, 0.3225, 0.4616, 0.6543, 0.9062, 1.222, 1.608, 2.067",\
                 "0.2002, 0.2246, 0.2988, 0.4151, 0.5633, 0.7548, 1.006, 1.321, 1.707, 2.165",\
                 "0.2186, 0.2499, 0.3453, 0.4943, 0.6853, 0.9095, 1.165, 1.48, 1.864, 2.321",\
                 "0.2147, 0.2526, 0.3688, 0.5511, 0.7825, 1.057, 1.366, 1.704, 2.088, 2.544",\
                 "0.1871, 0.2318, 0.3682, 0.5827, 0.8569, 1.178, 1.542, 1.944, 2.376, 2.842",\
                 "0.1362, 0.1864, 0.3422, 0.5887, 0.9052, 1.276, 1.692, 2.153, 2.652, 3.185",\
                 "0.0606, 0.1167, 0.2913, 0.5683, 0.9257, 1.346, 1.816, 2.333, 2.896, 3.5",\
                 "-0.041, 0.0207, 0.2136, 0.5195, 0.9177, 1.386, 1.912, 2.487, 3.11, 3.781");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.2057, 0.2387, 0.3531, 0.568, 0.9026, 1.371, 1.987, 2.764, 3.714, 4.842",\
                 "0.2181, 0.2518, 0.3672, 0.584, 0.9191, 1.388, 2.005, 2.782, 3.73, 4.863",\
                 "0.2631, 0.2969, 0.4122, 0.6294, 0.9659, 1.435, 2.053, 2.83, 3.779, 4.908",\
                 "0.3256, 0.3637, 0.4881, 0.7061, 1.04, 1.509, 2.125, 2.904, 3.851, 4.981",\
                 "0.4145, 0.4571, 0.592, 0.8265, 1.164, 1.628, 2.241, 3.015, 3.963, 5.093",\
                 "0.5303, 0.5812, 0.7341, 0.9839, 1.341, 1.812, 2.417, 3.184, 4.125, 5.251",\
                 "0.673, 0.7319, 0.9075, 1.184, 1.559, 2.052, 2.668, 3.427, 4.358, 5.475",\
                 "0.8394, 0.9078, 1.109, 1.418, 1.823, 2.335, 2.976, 3.748, 4.671, 5.778",\
                 "1.031, 1.108, 1.336, 1.682, 2.125, 2.667, 3.328, 4.128, 5.068, 6.165",\
                 "1.248, 1.333, 1.588, 1.974, 2.462, 3.043, 3.731, 4.554, 5.524, 6.641");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1249, 0.1489, 0.23, 0.3791, 0.6078, 0.9287, 1.35, 1.88, 2.527, 3.298",\
                 "0.1224, 0.1471, 0.2288, 0.3784, 0.608, 0.9282, 1.349, 1.88, 2.528, 3.299",\
                 "0.1579, 0.1764, 0.2382, 0.3772, 0.6074, 0.9283, 1.35, 1.88, 2.527, 3.299",\
                 "0.2398, 0.2649, 0.3413, 0.4611, 0.6373, 0.9296, 1.35, 1.881, 2.527, 3.298",\
                 "0.3424, 0.3738, 0.4672, 0.616, 0.8098, 1.045, 1.387, 1.884, 2.527, 3.299",\
                 "0.4624, 0.5026, 0.6178, 0.7912, 1.018, 1.296, 1.609, 2.008, 2.565, 3.303",\
                 "0.6014, 0.6514, 0.79, 0.9946, 1.251, 1.565, 1.932, 2.338, 2.806, 3.428",\
                 "0.7578, 0.8166, 0.983, 1.223, 1.516, 1.862, 2.271, 2.734, 3.238, 3.79",\
                 "0.933, 1.002, 1.197, 1.478, 1.811, 2.196, 2.638, 3.147, 3.712, 4.323",\
                 "1.128, 1.208, 1.433, 1.754, 2.136, 2.563, 3.042, 3.589, 4.202, 4.876");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.2269, 0.2819, 0.4793, 0.8553, 1.445, 2.267, 3.35, 4.71, 6.374, 8.359",\
                 "0.2275, 0.2823, 0.4786, 0.8564, 1.445, 2.265, 3.351, 4.71, 6.378, 8.366",\
                 "0.2381, 0.2888, 0.4795, 0.8555, 1.444, 2.265, 3.353, 4.718, 6.372, 8.374",\
                 "0.2903, 0.3423, 0.5171, 0.8629, 1.443, 2.269, 3.352, 4.716, 6.376, 8.369",\
                 "0.3722, 0.42, 0.5972, 0.9358, 1.468, 2.266, 3.346, 4.718, 6.379, 8.373",\
                 "0.4932, 0.542, 0.7106, 1.045, 1.571, 2.316, 3.358, 4.714, 6.381, 8.361",\
                 "0.6302, 0.6846, 0.8666, 1.188, 1.713, 2.451, 3.431, 4.737, 6.386, 8.373",\
                 "0.779, 0.8416, 1.04, 1.382, 1.889, 2.633, 3.599, 4.839, 6.425, 8.378",\
                 "0.9426, 1.011, 1.232, 1.603, 2.12, 2.844, 3.818, 5.04, 6.556, 8.43",\
                 "1.119, 1.193, 1.438, 1.844, 2.389, 3.105, 4.068, 5.303, 6.793, 8.597");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1031, 0.1188, 0.1707, 0.2642, 0.4049, 0.5986, 0.8508, 1.167, 1.553, 2.012",\
                 "0.1168, 0.1323, 0.1839, 0.2774, 0.4181, 0.6118, 0.864, 1.18, 1.566, 2.025",\
                 "0.1668, 0.1839, 0.2363, 0.3282, 0.4686, 0.6621, 0.9142, 1.23, 1.616, 2.075",\
                 "0.2109, 0.2345, 0.3073, 0.4227, 0.5704, 0.7626, 1.014, 1.33, 1.715, 2.173",\
                 "0.2366, 0.2664, 0.3592, 0.5058, 0.6953, 0.9182, 1.174, 1.488, 1.871, 2.329",\
                 "0.2424, 0.2779, 0.3891, 0.5672, 0.7964, 1.068, 1.376, 1.713, 2.097, 2.552",\
                 "0.2252, 0.2658, 0.3955, 0.6039, 0.874, 1.192, 1.554, 1.954, 2.385, 2.851",\
                 "0.1832, 0.2294, 0.3763, 0.6153, 0.9255, 1.292, 1.706, 2.164, 2.662, 3.195",\
                 "0.117, 0.1681, 0.3312, 0.5997, 0.95, 1.364, 1.832, 2.347, 2.907, 3.51",\
                 "0.0246, 0.0809, 0.2602, 0.5559, 0.9461, 1.408, 1.93, 2.502, 3.124, 3.793");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.259, 0.292, 0.4061, 0.6219, 0.9564, 1.425, 2.041, 2.818, 3.767, 4.894",\
                 "0.2726, 0.3061, 0.421, 0.6376, 0.9732, 1.441, 2.059, 2.836, 3.782, 4.915",\
                 "0.318, 0.3512, 0.466, 0.6834, 1.019, 1.49, 2.108, 2.883, 3.832, 4.961",\
                 "0.387, 0.4234, 0.5439, 0.7596, 1.094, 1.563, 2.179, 2.956, 3.903, 5.033",\
                 "0.4828, 0.5223, 0.6521, 0.8826, 1.218, 1.682, 2.294, 3.069, 4.014, 5.144",\
                 "0.6105, 0.6561, 0.7992, 1.043, 1.397, 1.865, 2.47, 3.237, 4.178, 5.303",\
                 "0.7668, 0.8186, 0.9811, 1.247, 1.617, 2.107, 2.72, 3.478, 4.411, 5.526",\
                 "0.9473, 1.007, 1.192, 1.487, 1.883, 2.393, 3.03, 3.799, 4.723, 5.83",\
                 "1.152, 1.22, 1.429, 1.758, 2.191, 2.726, 3.385, 4.182, 5.119, 6.215",\
                 "1.384, 1.459, 1.692, 2.058, 2.531, 3.105, 3.789, 4.61, 5.578, 6.693");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1627, 0.1859, 0.2648, 0.4125, 0.641, 0.9622, 1.384, 1.914, 2.561, 3.331",\
                 "0.1602, 0.1842, 0.2641, 0.4122, 0.6414, 0.9621, 1.384, 1.914, 2.56, 3.332",\
                 "0.1973, 0.2129, 0.2735, 0.4113, 0.6409, 0.962, 1.383, 1.914, 2.561, 3.332",\
                 "0.2977, 0.3183, 0.3854, 0.4962, 0.671, 0.9642, 1.384, 1.913, 2.561, 3.332",\
                 "0.4205, 0.4446, 0.5252, 0.6612, 0.8476, 1.078, 1.423, 1.918, 2.56, 3.333",\
                 "0.5622, 0.594, 0.6906, 0.8474, 1.066, 1.335, 1.643, 2.042, 2.601, 3.337",\
                 "0.7262, 0.763, 0.8792, 1.063, 1.308, 1.614, 1.972, 2.373, 2.839, 3.461",\
                 "0.9076, 0.9532, 1.091, 1.306, 1.582, 1.917, 2.318, 2.774, 3.275, 3.823",\
                 "1.11, 1.163, 1.324, 1.575, 1.886, 2.256, 2.691, 3.191, 3.752, 4.359",\
                 "1.332, 1.394, 1.58, 1.866, 2.224, 2.632, 3.106, 3.641, 4.249, 4.918");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.2951, 0.3512, 0.5489, 0.9272, 1.514, 2.335, 3.417, 4.778, 6.444, 8.421",\
                 "0.2948, 0.3518, 0.5498, 0.9267, 1.514, 2.336, 3.418, 4.781, 6.438, 8.426",\
                 "0.299, 0.3534, 0.5502, 0.9274, 1.514, 2.337, 3.42, 4.78, 6.442, 8.423",\
                 "0.3494, 0.4007, 0.576, 0.9302, 1.513, 2.337, 3.417, 4.783, 6.444, 8.425",\
                 "0.422, 0.4736, 0.6564, 0.995, 1.533, 2.337, 3.418, 4.783, 6.442, 8.43",\
                 "0.539, 0.5884, 0.7624, 1.105, 1.631, 2.381, 3.423, 4.78, 6.444, 8.427",\
                 "0.6768, 0.733, 0.914, 1.243, 1.773, 2.511, 3.496, 4.797, 6.443, 8.426",\
                 "0.8308, 0.8932, 1.092, 1.431, 1.947, 2.692, 3.66, 4.901, 6.479, 8.427",\
                 "0.997, 1.067, 1.287, 1.654, 2.171, 2.9, 3.88, 5.101, 6.617, 8.49",\
                 "1.179, 1.255, 1.499, 1.899, 2.446, 3.159, 4.128, 5.366, 6.851, 8.659");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1233, 0.1381, 0.1879, 0.2792, 0.418, 0.6102, 0.8618, 1.178, 1.563, 2.022",\
                 "0.1366, 0.1518, 0.2017, 0.2929, 0.4315, 0.6239, 0.8754, 1.192, 1.577, 2.036",\
                 "0.1883, 0.204, 0.2537, 0.3441, 0.4824, 0.6747, 0.9262, 1.242, 1.628, 2.087",\
                 "0.2392, 0.261, 0.3294, 0.4402, 0.5846, 0.7756, 1.026, 1.342, 1.727, 2.185",\
                 "0.2718, 0.2998, 0.3868, 0.5273, 0.7129, 0.9327, 1.187, 1.5, 1.884, 2.342",\
                 "0.2846, 0.3182, 0.4243, 0.5952, 0.819, 1.087, 1.391, 1.726, 2.11, 2.566",\
                 "0.2761, 0.3144, 0.4396, 0.6415, 0.9044, 1.217, 1.575, 1.972, 2.401, 2.865",\
                 "0.244, 0.2886, 0.4327, 0.6641, 0.9665, 1.326, 1.734, 2.188, 2.683, 3.213",\
                 "0.1877, 0.2385, 0.3998, 0.6613, 1.004, 1.41, 1.87, 2.379, 2.935, 3.535",\
                 "0.108, 0.1652, 0.3434, 0.6339, 1.015, 1.468, 1.98, 2.545, 3.16, 3.825");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.259, 0.292, 0.4061, 0.6219, 0.9564, 1.425, 2.041, 2.818, 3.767, 4.894",\
                 "0.2726, 0.3061, 0.421, 0.6376, 0.9732, 1.441, 2.059, 2.836, 3.782, 4.915",\
                 "0.318, 0.3512, 0.466, 0.6834, 1.019, 1.49, 2.108, 2.883, 3.832, 4.961",\
                 "0.387, 0.4234, 0.5439, 0.7596, 1.094, 1.563, 2.179, 2.956, 3.903, 5.033",\
                 "0.4828, 0.5223, 0.6521, 0.8826, 1.218, 1.682, 2.294, 3.069, 4.014, 5.144",\
                 "0.6105, 0.6561, 0.7992, 1.043, 1.397, 1.865, 2.47, 3.237, 4.178, 5.303",\
                 "0.7668, 0.8186, 0.9811, 1.247, 1.617, 2.107, 2.72, 3.478, 4.411, 5.526",\
                 "0.9473, 1.007, 1.192, 1.487, 1.883, 2.393, 3.03, 3.799, 4.723, 5.83",\
                 "1.152, 1.22, 1.429, 1.758, 2.191, 2.726, 3.385, 4.182, 5.119, 6.215",\
                 "1.384, 1.459, 1.692, 2.058, 2.531, 3.105, 3.789, 4.61, 5.578, 6.693");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.1627, 0.1859, 0.2648, 0.4125, 0.641, 0.9622, 1.384, 1.914, 2.561, 3.331",\
                 "0.1602, 0.1842, 0.2641, 0.4122, 0.6414, 0.9621, 1.384, 1.914, 2.56, 3.332",\
                 "0.1973, 0.2129, 0.2735, 0.4113, 0.6409, 0.962, 1.383, 1.914, 2.561, 3.332",\
                 "0.2977, 0.3183, 0.3854, 0.4962, 0.671, 0.9642, 1.384, 1.913, 2.561, 3.332",\
                 "0.4205, 0.4446, 0.5252, 0.6612, 0.8476, 1.078, 1.423, 1.918, 2.56, 3.333",\
                 "0.5622, 0.594, 0.6906, 0.8474, 1.066, 1.335, 1.643, 2.042, 2.601, 3.337",\
                 "0.7262, 0.763, 0.8792, 1.063, 1.308, 1.614, 1.972, 2.373, 2.839, 3.461",\
                 "0.9076, 0.9532, 1.091, 1.306, 1.582, 1.917, 2.318, 2.774, 3.275, 3.823",\
                 "1.11, 1.163, 1.324, 1.575, 1.886, 2.256, 2.691, 3.191, 3.752, 4.359",\
                 "1.332, 1.394, 1.58, 1.866, 2.224, 2.632, 3.106, 3.641, 4.249, 4.918");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003497, 0.01226, 0.029, 0.05507, 0.09166, 0.1398, 0.2005, 0.2745, 0.3628");
          values("0.2951, 0.3512, 0.5489, 0.9272, 1.514, 2.335, 3.417, 4.778, 6.444, 8.421",\
                 "0.2948, 0.3518, 0.5498, 0.9267, 1.514, 2.336, 3.418, 4.781, 6.438, 8.426",\
                 "0.299, 0.3534, 0.5502, 0.9274, 1.514, 2.337, 3.42, 4.78, 6.442, 8.423",\
                 "0.3494, 0.4007, 0.576, 0.9302, 1.513, 2.337, 3.417, 4.783, 6.444, 8.425",\
                 "0.422, 0.4736, 0.6564, 0.995, 1.533, 2.337, 3.418, 4.783, 6.442, 8.43",\
                 "0.539, 0.5884, 0.7624, 1.105, 1.631, 2.381, 3.423, 4.78, 6.444, 8.427",\
                 "0.6768, 0.733, 0.914, 1.243, 1.773, 2.511, 3.496, 4.797, 6.443, 8.426",\
                 "0.8308, 0.8932, 1.092, 1.431, 1.947, 2.692, 3.66, 4.901, 6.479, 8.427",\
                 "0.997, 1.067, 1.287, 1.654, 2.171, 2.9, 3.88, 5.101, 6.617, 8.49",\
                 "1.179, 1.255, 1.499, 1.899, 2.446, 3.159, 4.128, 5.366, 6.851, 8.659");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi21_4) {
    area : 52.684800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B" ;
      value : "0.0001103091" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B" ;
      value : "0.000198429" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B" ;
      value : "0.0001106325" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B" ;
      value : "0.0002018643" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B" ;
      value : "0.0001756029" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B" ;
      value : "0.0002018643" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B" ;
      value : "0.0001140051" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B" ;
      value : "0.0001140117" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002018643" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01896 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07265, 0.07271, 0.07256, 0.07238, 0.07226, 0.07229, 0.07225, \
                 0.07227, 0.07227, 0.07227");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05066, -0.05066, -0.05059, -0.05043, -0.0504, -0.05052, -0.05058, \
                 -0.05059, -0.05061, -0.05066");
        }
      }

      internal_power() {
        when : "!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01886, 0.01882, 0.01889, 0.01891, 0.01888, 0.01901, 0.01899, \
                 0.01901, 0.019, 0.01901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01884, -0.01883, -0.01891, -0.01894, -0.01892, -0.01901, -0.01903, \
                 -0.01905, -0.01909, -0.01912");
        }
      }

      internal_power() {
        when : "A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.068, 0.06792, 0.06785, 0.06777, 0.0677, 0.06773, 0.06765, 0.06757, \
                 0.06746, 0.06728");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01903, -0.01904, -0.01907, -0.01909, -0.0191, -0.01915, -0.01917, \
                 -0.01916, -0.01918, -0.01918");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01929 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07104, 0.06638, 0.0646, 0.06432, 0.06416, 0.06418, 0.06417, \
                 0.06419, 0.06415, 0.06417");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06455, -0.06454, -0.06441, -0.06423, -0.06408, -0.06414, -0.06413, \
                 -0.06407, -0.064, -0.064");
        }
      }

      internal_power() {
        when : "!A1&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01891, 0.01889, 0.0189, 0.01895, 0.0189, 0.019, 0.01902, 0.019, \
                 0.019, 0.01901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01888, -0.01887, -0.01893, -0.01894, -0.01893, -0.019, -0.01901, \
                 -0.01906, -0.01909, -0.01911");
        }
      }

      internal_power() {
        when : "A1&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06804, 0.06792, 0.06784, 0.06774, 0.06768, 0.06774, 0.06764, \
                 0.06757, 0.06746, 0.06728");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01906, -0.01908, -0.01911, -0.01913, -0.01909, -0.01917, -0.01918, \
                 -0.01918, -0.01917, -0.01918");
        }
      }
    }

    pin(B) {
      capacitance : 0.01488 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06421, 0.06409, 0.06402, 0.06406, 0.06407, 0.06433, 0.06417, \
                 0.06418, 0.06414, 0.06421");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0521, -0.05523, -0.0585, -0.06021, -0.06105, -0.06162, -0.06198, \
                 -0.06216, -0.0623, -0.06242");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B))|((!A2)&(!B)))" ;
      max_capacitance : 0.7155 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.01146, 0.01214, 0.01302, 0.01358, 0.01382, 0.014, 0.01411, 0.01418, 0.01422, 0.01425",\
                 "0.01057, 0.01158, 0.01366, 0.01509, 0.01593, 0.01644, 0.01672, 0.0169, 0.01701, 0.01709",\
                 "0.01582, 0.01615, 0.01711, 0.01802, 0.01878, 0.01922, 0.0195, 0.01971, 0.01984, 0.01991",\
                 "0.03665, 0.03524, 0.03211, 0.0294, 0.02733, 0.02581, 0.02469, 0.02382, 0.02328, 0.02281",\
                 "0.07976, 0.07623, 0.06715, 0.05776, 0.04987, 0.04374, 0.03903, 0.0354, 0.03268, 0.03055",\
                 "0.1479, 0.1425, 0.127, 0.1088, 0.09252, 0.07915, 0.0685, 0.05987, 0.05314, 0.04772",\
                 "0.2426, 0.2352, 0.2142, 0.1866, 0.1601, 0.1372, 0.1181, 0.1023, 0.08942, 0.07905",\
                 "0.3651, 0.3562, 0.3301, 0.294, 0.2562, 0.2218, 0.1923, 0.1674, 0.1462, 0.1288",\
                 "0.517, 0.5069, 0.4764, 0.4323, 0.3831, 0.3363, 0.2949, 0.2587, 0.2274, 0.2009",\
                 "0.6997, 0.6884, 0.6543, 0.6025, 0.5432, 0.4834, 0.4281, 0.3793, 0.3365, 0.2992");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2097, 0.2113, 0.2141, 0.2158, 0.2176, 0.219, 0.221, 0.2223, 0.2234, 0.2307",\
                 "0.2032, 0.2051, 0.2096, 0.2133, 0.2165, 0.2192, 0.2213, 0.2236, 0.2247, 0.2315",\
                 "0.208, 0.2078, 0.2083, 0.2104, 0.2138, 0.2164, 0.2192, 0.2217, 0.2254, 0.2318",\
                 "0.2364, 0.2341, 0.2287, 0.2235, 0.2214, 0.2214, 0.2222, 0.224, 0.2258, 0.2348",\
                 "0.2893, 0.2847, 0.2738, 0.261, 0.25, 0.2424, 0.2375, 0.2355, 0.235, 0.2418",\
                 "0.3687, 0.3623, 0.3456, 0.3248, 0.3052, 0.2878, 0.2747, 0.2651, 0.2595, 0.2659",\
                 "0.4773, 0.469, 0.4464, 0.4169, 0.3885, 0.3621, 0.3379, 0.3186, 0.3048, 0.307",\
                 "0.6167, 0.6068, 0.579, 0.5417, 0.502, 0.4659, 0.4319, 0.4004, 0.3772, 0.3789",\
                 "0.7889, 0.7778, 0.7444, 0.6991, 0.6489, 0.6009, 0.5573, 0.5159, 0.4815, 0.4878",\
                 "0.9958, 0.9831, 0.9461, 0.8922, 0.8326, 0.7723, 0.7161, 0.6644, 0.6251, 0.6535");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.01188, 0.0124, 0.01325, 0.01377, 0.01402, 0.01417, 0.01428, 0.01433, 0.01437, 0.01441",\
                 "0.009634, 0.01087, 0.01331, 0.01495, 0.0159, 0.01642, 0.01674, 0.01693, 0.01705, 0.01714",\
                 "0.0112, 0.01215, 0.01427, 0.01623, 0.0176, 0.01846, 0.01904, 0.01938, 0.01956, 0.01975",\
                 "0.02973, 0.02894, 0.0273, 0.02604, 0.02511, 0.02429, 0.02362, 0.02311, 0.02276, 0.02245",\
                 "0.07124, 0.06838, 0.06104, 0.05336, 0.04688, 0.04181, 0.03781, 0.03468, 0.03221, 0.03026",\
                 "0.139, 0.1339, 0.1204, 0.1041, 0.08956, 0.07745, 0.06765, 0.05968, 0.05331, 0.04813",\
                 "0.2341, 0.2272, 0.2079, 0.1825, 0.1577, 0.1362, 0.1182, 0.1033, 0.09085, 0.0807",\
                 "0.3584, 0.3498, 0.3251, 0.291, 0.255, 0.222, 0.1938, 0.1698, 0.1495, 0.1322",\
                 "0.5128, 0.503, 0.4734, 0.4309, 0.3841, 0.3388, 0.2985, 0.2633, 0.2329, 0.207",\
                 "0.6988, 0.6876, 0.6542, 0.604, 0.5467, 0.489, 0.4351, 0.3869, 0.345, 0.3086");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2691, 0.2694, 0.27, 0.2708, 0.2719, 0.2733, 0.2751, 0.2774, 0.2799, 0.2866",\
                 "0.2639, 0.2645, 0.2661, 0.2676, 0.2694, 0.2711, 0.2731, 0.2748, 0.2782, 0.2851",\
                 "0.2688, 0.2682, 0.2677, 0.2678, 0.2693, 0.2705, 0.2725, 0.2748, 0.2783, 0.2861",\
                 "0.2971, 0.2949, 0.2894, 0.2834, 0.2798, 0.2775, 0.2777, 0.279, 0.2799, 0.2882",\
                 "0.351, 0.347, 0.3367, 0.3233, 0.3113, 0.302, 0.2964, 0.2926, 0.2922, 0.2984",\
                 "0.4325, 0.4271, 0.4114, 0.3908, 0.3697, 0.3509, 0.3363, 0.3256, 0.3183, 0.3243",\
                 "0.5438, 0.5373, 0.5174, 0.4884, 0.458, 0.4291, 0.4036, 0.382, 0.3662, 0.3697",\
                 "0.6866, 0.6789, 0.6555, 0.6198, 0.5791, 0.5399, 0.5023, 0.4694, 0.4436, 0.4448",\
                 "0.8632, 0.8544, 0.8276, 0.7857, 0.7356, 0.6843, 0.6361, 0.5914, 0.5545, 0.5598",\
                 "1.075, 1.065, 1.036, 0.9881, 0.9304, 0.8668, 0.8067, 0.7502, 0.7058, 0.7343");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.08521, 0.08528, 0.08525, 0.08546, 0.08554, 0.08562, 0.08574, 0.08575, 0.08574, 0.08566",\
                 "0.08258, 0.08262, 0.08273, 0.08298, 0.08324, 0.08337, 0.0834, 0.08344, 0.0834, 0.08344",\
                 "0.08292, 0.08284, 0.08244, 0.08209, 0.08202, 0.08196, 0.08192, 0.08199, 0.08184, 0.08171",\
                 "0.09911, 0.09799, 0.09506, 0.09202, 0.08928, 0.0871, 0.08566, 0.08467, 0.08395, 0.08334",\
                 "0.1401, 0.1374, 0.1301, 0.121, 0.1126, 0.1056, 0.1002, 0.09611, 0.09305, 0.09074",\
                 "0.2097, 0.2055, 0.1928, 0.176, 0.1589, 0.144, 0.1318, 0.1222, 0.1145, 0.1085",\
                 "0.3104, 0.3044, 0.2869, 0.2611, 0.234, 0.2085, 0.1867, 0.1688, 0.1541, 0.1421",\
                 "0.4433, 0.4362, 0.4137, 0.3799, 0.3413, 0.3041, 0.2705, 0.2414, 0.2173, 0.1969",\
                 "0.6098, 0.6016, 0.5754, 0.5337, 0.4845, 0.4341, 0.387, 0.3449, 0.3087, 0.2775",\
                 "0.8114, 0.8022, 0.7725, 0.7243, 0.6647, 0.6015, 0.5397, 0.483, 0.4329, 0.3889");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.3123, 0.3129, 0.3138, 0.3145, 0.3159, 0.3168, 0.3178, 0.319, 0.3207, 0.324",\
                 "0.3083, 0.3091, 0.3113, 0.313, 0.3148, 0.316, 0.3178, 0.319, 0.3214, 0.3234",\
                 "0.3058, 0.3064, 0.3076, 0.3101, 0.3124, 0.3146, 0.3168, 0.3183, 0.3207, 0.3234",\
                 "0.3204, 0.3193, 0.3172, 0.3156, 0.3155, 0.3165, 0.3174, 0.3193, 0.322, 0.3242",\
                 "0.3657, 0.3621, 0.3529, 0.3439, 0.3371, 0.3324, 0.3293, 0.3289, 0.328, 0.3285",\
                 "0.4472, 0.4405, 0.4237, 0.4037, 0.387, 0.3739, 0.3633, 0.3556, 0.3511, 0.3489",\
                 "0.5637, 0.555, 0.5316, 0.5, 0.4701, 0.4451, 0.4247, 0.4071, 0.394, 0.3848",\
                 "0.7148, 0.7049, 0.6756, 0.6343, 0.5902, 0.5514, 0.5194, 0.4906, 0.4666, 0.4485",\
                 "0.9022, 0.8909, 0.8575, 0.8072, 0.7507, 0.6955, 0.6484, 0.6084, 0.5732, 0.5443",\
                 "1.128, 1.115, 1.077, 1.019, 0.9506, 0.8816, 0.8177, 0.7608, 0.7136, 0.6812");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.07446, 0.07419, 0.07426, 0.07444, 0.07461, 0.07452, 0.07463, 0.07465, 0.07461, 0.07466",\
                 "0.07099, 0.07113, 0.0711, 0.0712, 0.07131, 0.0714, 0.07143, 0.07147, 0.07144, 0.07152",\
                 "0.07087, 0.07063, 0.06997, 0.06953, 0.06911, 0.06898, 0.06896, 0.06887, 0.06875, 0.06875",\
                 "0.08724, 0.08581, 0.0822, 0.07849, 0.07552, 0.07327, 0.07168, 0.07084, 0.07003, 0.06951",\
                 "0.1289, 0.1258, 0.1168, 0.1064, 0.09737, 0.09035, 0.08498, 0.08106, 0.07805, 0.07595",\
                 "0.199, 0.1938, 0.1787, 0.1597, 0.1414, 0.1264, 0.1144, 0.1049, 0.09769, 0.09201",\
                 "0.2998, 0.2925, 0.2717, 0.243, 0.2138, 0.1876, 0.1659, 0.1483, 0.1342, 0.1229",\
                 "0.4324, 0.4237, 0.3975, 0.3593, 0.3176, 0.2789, 0.2449, 0.2162, 0.1926, 0.1732",\
                 "0.598, 0.5881, 0.5572, 0.5103, 0.4567, 0.404, 0.3557, 0.3139, 0.278, 0.2484",\
                 "0.7979, 0.7872, 0.7524, 0.6976, 0.6326, 0.5657, 0.5021, 0.4452, 0.395, 0.3519");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2794, 0.28, 0.281, 0.2817, 0.2826, 0.2837, 0.2851, 0.287, 0.2884, 0.2959",\
                 "0.2754, 0.2761, 0.2783, 0.28, 0.2818, 0.2831, 0.285, 0.2867, 0.2884, 0.2949",\
                 "0.2725, 0.2732, 0.2746, 0.2768, 0.2792, 0.2817, 0.2839, 0.285, 0.2881, 0.2955",\
                 "0.2858, 0.2847, 0.2827, 0.2814, 0.2817, 0.2832, 0.284, 0.286, 0.2895, 0.2966",\
                 "0.3288, 0.3252, 0.3164, 0.3084, 0.3018, 0.2976, 0.2954, 0.2949, 0.2951, 0.3043",\
                 "0.4079, 0.4014, 0.3847, 0.3657, 0.3497, 0.3364, 0.3267, 0.3197, 0.3156, 0.3227",\
                 "0.5227, 0.5141, 0.49, 0.4593, 0.4305, 0.4072, 0.3867, 0.3694, 0.3575, 0.3616",\
                 "0.6722, 0.662, 0.6323, 0.5912, 0.5485, 0.5105, 0.4788, 0.4509, 0.4283, 0.4289",\
                 "0.8576, 0.8461, 0.812, 0.7615, 0.7055, 0.6526, 0.6068, 0.5664, 0.5338, 0.5343",\
                 "1.08, 1.068, 1.03, 0.9708, 0.9029, 0.8357, 0.7738, 0.72, 0.6771, 0.6911");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.07436, 0.07435, 0.07425, 0.07441, 0.07456, 0.0746, 0.07464, 0.07461, 0.0746, 0.07458",\
                 "0.07106, 0.07104, 0.07107, 0.07122, 0.07136, 0.07145, 0.07145, 0.07143, 0.07141, 0.07136",\
                 "0.07075, 0.07057, 0.07002, 0.06958, 0.06922, 0.06905, 0.0689, 0.06877, 0.06869, 0.06861",\
                 "0.08723, 0.08569, 0.08221, 0.0785, 0.07547, 0.07336, 0.07186, 0.07073, 0.06999, 0.06943",\
                 "0.1286, 0.1253, 0.1165, 0.1063, 0.09742, 0.09036, 0.08507, 0.08099, 0.07805, 0.07592",\
                 "0.1985, 0.1933, 0.1785, 0.1596, 0.1413, 0.1264, 0.1145, 0.105, 0.09771, 0.09202",\
                 "0.2989, 0.2919, 0.2712, 0.2428, 0.2136, 0.1875, 0.1659, 0.1483, 0.1342, 0.1229",\
                 "0.4312, 0.4227, 0.3968, 0.3588, 0.3174, 0.2788, 0.2447, 0.2163, 0.1928, 0.1733",\
                 "0.5966, 0.5869, 0.5563, 0.5098, 0.4563, 0.4037, 0.3556, 0.3138, 0.278, 0.2481",\
                 "0.7964, 0.7857, 0.7512, 0.6969, 0.6321, 0.5651, 0.5017, 0.4449, 0.3951, 0.352");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.3449, 0.3454, 0.3461, 0.3469, 0.3484, 0.3496, 0.3509, 0.3537, 0.3552, 0.3631",\
                 "0.3418, 0.3425, 0.3439, 0.3455, 0.3474, 0.3491, 0.3505, 0.3534, 0.3542, 0.3621",\
                 "0.3384, 0.3389, 0.3402, 0.3423, 0.345, 0.3471, 0.3495, 0.352, 0.3542, 0.3621",\
                 "0.349, 0.3485, 0.3471, 0.3462, 0.3468, 0.3481, 0.3495, 0.353, 0.3559, 0.3643",\
                 "0.3871, 0.3847, 0.3783, 0.3712, 0.3662, 0.3623, 0.3611, 0.3609, 0.3619, 0.3711",\
                 "0.4618, 0.4567, 0.443, 0.4267, 0.4123, 0.4008, 0.3914, 0.3857, 0.382, 0.3908",\
                 "0.5728, 0.5656, 0.545, 0.5177, 0.4913, 0.4686, 0.4499, 0.4349, 0.424, 0.4291",\
                 "0.7195, 0.7107, 0.6845, 0.6468, 0.6072, 0.5719, 0.5409, 0.5147, 0.4937, 0.4963",\
                 "0.9026, 0.8925, 0.8613, 0.8146, 0.7619, 0.7119, 0.6682, 0.6288, 0.5973, 0.6015",\
                 "1.124, 1.112, 1.077, 1.022, 0.9577, 0.8928, 0.8328, 0.7804, 0.7403, 0.7568");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.07719, 0.09216, 0.1436, 0.2407, 0.3917, 0.6035, 0.8823, 1.234, 1.663, 2.174",\
                 "0.08906, 0.1041, 0.1559, 0.2537, 0.4053, 0.6173, 0.8961, 1.248, 1.677, 2.187",\
                 "0.1159, 0.1369, 0.1995, 0.2991, 0.4503, 0.6627, 0.9414, 1.293, 1.722, 2.233",\
                 "0.1223, 0.1515, 0.2379, 0.3705, 0.5383, 0.7499, 1.028, 1.378, 1.807, 2.317",\
                 "0.1007, 0.139, 0.2518, 0.4201, 0.6323, 0.8813, 1.167, 1.515, 1.942, 2.453",\
                 "0.0478, 0.0953, 0.2339, 0.4424, 0.6991, 0.9985, 1.337, 1.711, 2.137, 2.644",\
                 "-0.0383, 0.0186, 0.1841, 0.4318, 0.7356, 1.086, 1.48, 1.916, 2.389, 2.904",\
                 "-0.1607, -0.0946, 0.0976, 0.3848, 0.7378, 1.142, 1.591, 2.087, 2.625, 3.205",\
                 "-0.3222, -0.2469, -0.0275, 0.2982, 0.7003, 1.16, 1.67, 2.223, 2.827, 3.476",\
                 "-0.5247, -0.4402, -0.1937, 0.1718, 0.6214, 1.139, 1.708, 2.327, 2.992, 3.708");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1406, 0.1744, 0.2903, 0.5068, 0.8422, 1.312, 1.93, 2.708, 3.654, 4.786",\
                 "0.1488, 0.1827, 0.3003, 0.5188, 0.8561, 1.327, 1.946, 2.724, 3.672, 4.801",\
                 "0.2086, 0.2407, 0.353, 0.5697, 0.9069, 1.378, 1.997, 2.775, 3.727, 4.854",\
                 "0.3101, 0.35, 0.4757, 0.688, 1.019, 1.487, 2.103, 2.881, 3.83, 4.959",\
                 "0.4467, 0.4941, 0.64, 0.882, 1.212, 1.671, 2.281, 3.055, 4.001, 5.127",\
                 "0.6174, 0.6742, 0.8431, 1.116, 1.486, 1.949, 2.55, 3.314, 4.254, 5.379",\
                 "0.8233, 0.8907, 1.087, 1.392, 1.801, 2.312, 2.919, 3.673, 4.603, 5.717",\
                 "1.065, 1.143, 1.372, 1.715, 2.16, 2.718, 3.378, 4.14, 5.058, 6.164",\
                 "1.346, 1.436, 1.694, 2.083, 2.57, 3.168, 3.884, 4.703, 5.632, 6.724",\
                 "1.666, 1.768, 2.062, 2.494, 3.034, 3.674, 4.435, 5.316, 6.306, 7.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.08833, 0.1136, 0.2005, 0.366, 0.6234, 0.9859, 1.463, 2.063, 2.797, 3.67",\
                 "0.08834, 0.1132, 0.2005, 0.3666, 0.6249, 0.987, 1.463, 2.063, 2.796, 3.67",\
                 "0.1273, 0.1512, 0.2239, 0.368, 0.6249, 0.9867, 1.464, 2.064, 2.796, 3.669",\
                 "0.1911, 0.2203, 0.3101, 0.4568, 0.6609, 0.989, 1.462, 2.063, 2.796, 3.671",\
                 "0.2773, 0.3148, 0.4219, 0.5898, 0.8182, 1.102, 1.5, 2.065, 2.795, 3.669",\
                 "0.3816, 0.4262, 0.5594, 0.754, 1.008, 1.327, 1.702, 2.176, 2.827, 3.669",\
                 "0.4998, 0.5556, 0.7154, 0.9458, 1.23, 1.577, 1.995, 2.476, 3.039, 3.773",\
                 "0.636, 0.7024, 0.8906, 1.161, 1.485, 1.865, 2.313, 2.838, 3.429, 4.096",\
                 "0.7806, 0.8632, 1.087, 1.395, 1.766, 2.189, 2.669, 3.229, 3.864, 4.577",\
                 "0.9386, 1.035, 1.297, 1.653, 2.074, 2.543, 3.07, 3.658, 4.339, 5.093");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2123, 0.2702, 0.4701, 0.8482, 1.438, 2.262, 3.344, 4.714, 6.378, 8.36",\
                 "0.2105, 0.2691, 0.4703, 0.8487, 1.436, 2.261, 3.345, 4.709, 6.374, 8.366",\
                 "0.2236, 0.2731, 0.4678, 0.8476, 1.436, 2.262, 3.343, 4.708, 6.38, 8.37",\
                 "0.2768, 0.3337, 0.5103, 0.8499, 1.436, 2.258, 3.343, 4.71, 6.373, 8.362",\
                 "0.3518, 0.4078, 0.604, 0.9386, 1.455, 2.261, 3.346, 4.716, 6.378, 8.363",\
                 "0.4532, 0.5136, 0.714, 1.077, 1.586, 2.303, 3.344, 4.714, 6.378, 8.363",\
                 "0.5732, 0.6422, 0.8568, 1.228, 1.779, 2.479, 3.424, 4.718, 6.371, 8.359",\
                 "0.706, 0.7874, 1.027, 1.412, 1.978, 2.735, 3.642, 4.828, 6.4, 8.362",\
                 "0.8538, 0.9474, 1.218, 1.632, 2.206, 2.997, 3.962, 5.097, 6.556, 8.405",\
                 "1.014, 1.12, 1.432, 1.879, 2.473, 3.275, 4.298, 5.482, 6.865, 8.59");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.0908, 0.1057, 0.1569, 0.2542, 0.4051, 0.6169, 0.8961, 1.247, 1.676, 2.187",\
                 "0.1006, 0.1158, 0.168, 0.2658, 0.417, 0.6293, 0.9084, 1.259, 1.687, 2.2",\
                 "0.1167, 0.1353, 0.194, 0.294, 0.446, 0.6579, 0.9374, 1.289, 1.717, 2.23",\
                 "0.1156, 0.1409, 0.2161, 0.3351, 0.4985, 0.7116, 0.9903, 1.341, 1.77, 2.281",\
                 "0.08326, 0.117, 0.2155, 0.3632, 0.5527, 0.7886, 1.075, 1.425, 1.853, 2.364",\
                 "0.0158, 0.0576, 0.181, 0.3643, 0.5905, 0.8572, 1.173, 1.543, 1.973, 2.482",\
                 "-0.0911, -0.0407, 0.1077, 0.3279, 0.5974, 0.9068, 1.258, 1.66, 2.12, 2.64",\
                 "-0.2389, -0.18, -0.0072, 0.2498, 0.5655, 0.9238, 1.321, 1.762, 2.258, 2.814",\
                 "-0.4306, -0.3637, -0.1666, 0.1278, 0.4888, 0.8988, 1.351, 1.841, 2.378, 2.972",\
                 "-0.6689, -0.5953, -0.3727, -0.0412, 0.3654, 0.8279, 1.335, 1.884, 2.474, 3.113");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1898, 0.2226, 0.3368, 0.5522, 0.8868, 1.357, 1.974, 2.752, 3.702, 4.828",\
                 "0.1992, 0.2325, 0.3474, 0.5641, 0.8995, 1.37, 1.987, 2.765, 3.715, 4.842",\
                 "0.2596, 0.2911, 0.4034, 0.6184, 0.9534, 1.423, 2.04, 2.818, 3.769, 4.899",\
                 "0.3782, 0.4142, 0.531, 0.7395, 1.069, 1.534, 2.149, 2.926, 3.872, 5.001",\
                 "0.5352, 0.5764, 0.7114, 0.9411, 1.266, 1.723, 2.331, 3.102, 4.047, 5.173",\
                 "0.735, 0.7825, 0.934, 1.191, 1.549, 2.004, 2.603, 3.365, 4.301, 5.426",\
                 "0.978, 1.033, 1.206, 1.487, 1.881, 2.378, 2.977, 3.728, 4.655, 5.769",\
                 "1.266, 1.329, 1.526, 1.838, 2.261, 2.801, 3.447, 4.201, 5.116, 6.218",\
                 "1.602, 1.674, 1.895, 2.243, 2.7, 3.275, 3.972, 4.778, 5.697, 6.785",\
                 "1.987, 2.069, 2.316, 2.701, 3.2, 3.809, 4.548, 5.412, 6.386, 7.479");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.08852, 0.1134, 0.2005, 0.3661, 0.6235, 0.9866, 1.463, 2.064, 2.797, 3.67",\
                 "0.08838, 0.1133, 0.2004, 0.3661, 0.624, 0.9856, 1.463, 2.063, 2.797, 3.672",\
                 "0.1171, 0.1396, 0.2161, 0.3684, 0.6245, 0.9856, 1.463, 2.064, 2.796, 3.674",\
                 "0.1783, 0.2013, 0.2787, 0.4252, 0.6504, 0.9905, 1.462, 2.063, 2.796, 3.672",\
                 "0.2637, 0.2912, 0.3785, 0.5248, 0.7492, 1.065, 1.493, 2.066, 2.795, 3.669",\
                 "0.3674, 0.4008, 0.5034, 0.666, 0.892, 1.205, 1.621, 2.146, 2.827, 3.672",\
                 "0.4896, 0.5282, 0.649, 0.8378, 1.08, 1.396, 1.808, 2.329, 2.965, 3.755",\
                 "0.6196, 0.6696, 0.8138, 1.029, 1.303, 1.635, 2.049, 2.568, 3.203, 3.957",\
                 "0.7594, 0.8196, 0.994, 1.24, 1.551, 1.914, 2.341, 2.856, 3.496, 4.248",\
                 "0.9078, 0.9804, 1.186, 1.472, 1.822, 2.22, 2.681, 3.21, 3.841, 4.595");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2885, 0.3462, 0.5456, 0.9243, 1.512, 2.336, 3.42, 4.785, 6.451, 8.428",\
                 "0.2878, 0.346, 0.5457, 0.9245, 1.512, 2.337, 3.419, 4.781, 6.452, 8.428",\
                 "0.2883, 0.3432, 0.5448, 0.9241, 1.512, 2.335, 3.419, 4.782, 6.45, 8.436",\
                 "0.3456, 0.3995, 0.5711, 0.924, 1.511, 2.335, 3.418, 4.783, 6.445, 8.429",\
                 "0.4124, 0.4718, 0.667, 0.9968, 1.524, 2.334, 3.418, 4.783, 6.45, 8.432",\
                 "0.5048, 0.5658, 0.7708, 1.137, 1.643, 2.37, 3.419, 4.782, 6.448, 8.434",\
                 "0.6168, 0.6854, 0.899, 1.281, 1.835, 2.534, 3.484, 4.787, 6.447, 8.431",\
                 "0.7446, 0.8214, 1.056, 1.448, 2.029, 2.785, 3.696, 4.891, 6.464, 8.431",\
                 "0.8878, 0.9742, 1.234, 1.648, 2.239, 3.037, 4.007, 5.15, 6.607, 8.464",\
                 "1.047, 1.144, 1.432, 1.879, 2.484, 3.301, 4.328, 5.519, 6.916, 8.65");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1302, 0.1461, 0.1997, 0.2983, 0.4475, 0.6548, 0.9263, 1.267, 1.683, 2.179",\
                 "0.1435, 0.1594, 0.2131, 0.3114, 0.461, 0.6683, 0.9397, 1.281, 1.697, 2.192",\
                 "0.1952, 0.2117, 0.2648, 0.3624, 0.5114, 0.7187, 0.9901, 1.331, 1.747, 2.242",\
                 "0.2494, 0.272, 0.3444, 0.4605, 0.6133, 0.8191, 1.09, 1.43, 1.846, 2.341",\
                 "0.2873, 0.316, 0.4069, 0.5546, 0.7482, 0.978, 1.249, 1.588, 2.002, 2.496",\
                 "0.3066, 0.3419, 0.4514, 0.6293, 0.8634, 1.143, 1.462, 1.815, 2.227, 2.719",\
                 "0.306, 0.3468, 0.4775, 0.6856, 0.9595, 1.285, 1.659, 2.074, 2.523, 3.018",\
                 "0.2855, 0.3332, 0.4809, 0.7211, 1.034, 1.407, 1.833, 2.308, 2.825, 3.378",\
                 "0.2437, 0.296, 0.4636, 0.7335, 1.087, 1.508, 1.986, 2.517, 3.098, 3.724",\
                 "0.1792, 0.2367, 0.4232, 0.7235, 1.118, 1.585, 2.116, 2.703, 3.345, 4.039");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1672, 0.1925, 0.2797, 0.4436, 0.6978, 1.054, 1.522, 2.112, 2.833, 3.691",\
                 "0.1814, 0.2074, 0.2954, 0.4603, 0.7147, 1.071, 1.54, 2.13, 2.85, 3.709",\
                 "0.2309, 0.2579, 0.3471, 0.5121, 0.7671, 1.124, 1.594, 2.184, 2.904, 3.763",\
                 "0.2976, 0.331, 0.4352, 0.6081, 0.8621, 1.218, 1.687, 2.277, 2.998, 3.856",\
                 "0.3854, 0.4257, 0.5476, 0.7453, 1.018, 1.372, 1.837, 2.426, 3.144, 4.001",\
                 "0.4954, 0.5443, 0.6887, 0.9125, 1.214, 1.596, 2.061, 2.644, 3.359, 4.214",\
                 "0.6274, 0.6844, 0.8542, 1.112, 1.444, 1.858, 2.357, 2.944, 3.653, 4.502",\
                 "0.78, 0.8469, 1.043, 1.337, 1.708, 2.155, 2.692, 3.318, 4.036, 4.879",\
                 "0.9554, 1.029, 1.253, 1.586, 2.002, 2.491, 3.063, 3.729, 4.492, 5.349",\
                 "1.151, 1.234, 1.483, 1.858, 2.322, 2.86, 3.476, 4.18, 4.986, 5.892");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1483, 0.1737, 0.2615, 0.4234, 0.6719, 1.019, 1.474, 2.048, 2.747, 3.58",\
                 "0.1476, 0.1738, 0.2613, 0.423, 0.6714, 1.018, 1.473, 2.047, 2.747, 3.58",\
                 "0.1687, 0.1894, 0.2647, 0.4227, 0.6711, 1.019, 1.475, 2.047, 2.747, 3.58",\
                 "0.2525, 0.2783, 0.3605, 0.4873, 0.6899, 1.019, 1.475, 2.048, 2.746, 3.58",\
                 "0.3492, 0.3827, 0.4844, 0.6434, 0.85, 1.108, 1.496, 2.048, 2.747, 3.58",\
                 "0.4646, 0.5054, 0.6298, 0.815, 1.061, 1.356, 1.692, 2.143, 2.769, 3.582",\
                 "0.595, 0.6448, 0.7904, 1.009, 1.289, 1.629, 2.019, 2.446, 2.969, 3.668",\
                 "0.7376, 0.7984, 0.9722, 1.228, 1.544, 1.919, 2.363, 2.853, 3.383, 3.988",\
                 "0.893, 0.9616, 1.17, 1.467, 1.829, 2.243, 2.719, 3.269, 3.869, 4.511",\
                 "1.061, 1.143, 1.379, 1.724, 2.131, 2.596, 3.116, 3.703, 4.361, 5.079");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.199, 0.2401, 0.3883, 0.6726, 1.117, 1.736, 2.556, 3.587, 4.845, 6.34",\
                 "0.1994, 0.241, 0.3884, 0.6727, 1.117, 1.738, 2.553, 3.585, 4.835, 6.339",\
                 "0.2174, 0.2529, 0.3903, 0.673, 1.116, 1.738, 2.557, 3.585, 4.836, 6.335",\
                 "0.2897, 0.3253, 0.4499, 0.6926, 1.118, 1.739, 2.556, 3.583, 4.845, 6.339",\
                 "0.3978, 0.4306, 0.5544, 0.7994, 1.171, 1.746, 2.555, 3.586, 4.843, 6.342",\
                 "0.5366, 0.5712, 0.6948, 0.9374, 1.322, 1.843, 2.582, 3.588, 4.844, 6.332",\
                 "0.689, 0.7284, 0.866, 1.112, 1.499, 2.038, 2.727, 3.648, 4.851, 6.332",\
                 "0.8524, 0.8976, 1.055, 1.326, 1.712, 2.262, 2.972, 3.84, 4.956, 6.37",\
                 "1.03, 1.079, 1.256, 1.557, 1.975, 2.521, 3.242, 4.135, 5.198, 6.529",\
                 "1.223, 1.278, 1.473, 1.81, 2.262, 2.828, 3.554, 4.463, 5.552, 6.819");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1044, 0.121, 0.1764, 0.2758, 0.4262, 0.634, 0.9058, 1.247, 1.663, 2.159",\
                 "0.1177, 0.1342, 0.1894, 0.2889, 0.4392, 0.647, 0.9188, 1.26, 1.676, 2.172",\
                 "0.1669, 0.1852, 0.2412, 0.3393, 0.4892, 0.6969, 0.9686, 1.31, 1.726, 2.221",\
                 "0.2089, 0.2347, 0.3125, 0.4342, 0.5905, 0.7968, 1.067, 1.408, 1.824, 2.319",\
                 "0.2326, 0.2649, 0.3643, 0.5191, 0.7194, 0.954, 1.227, 1.566, 1.98, 2.474",\
                 "0.2354, 0.2745, 0.3952, 0.584, 0.8258, 1.112, 1.435, 1.791, 2.204, 2.696",\
                 "0.2169, 0.2623, 0.4041, 0.6265, 0.9108, 1.245, 1.625, 2.045, 2.497, 2.993",\
                 "0.1764, 0.2285, 0.3903, 0.6456, 0.972, 1.356, 1.79, 2.271, 2.793, 3.35",\
                 "0.1139, 0.1724, 0.353, 0.6399, 1.009, 1.442, 1.931, 2.469, 3.056, 3.688",\
                 "0.028, 0.0928, 0.2914, 0.6079, 1.02, 1.502, 2.046, 2.643, 3.293, 3.994");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1985, 0.2317, 0.3456, 0.561, 0.8952, 1.364, 1.981, 2.76, 3.706, 4.84",\
                 "0.2114, 0.2452, 0.3606, 0.5767, 0.9119, 1.381, 1.999, 2.777, 3.726, 4.855",\
                 "0.2563, 0.2903, 0.4056, 0.6227, 0.9589, 1.429, 2.047, 2.824, 3.774, 4.905",\
                 "0.3173, 0.3556, 0.4807, 0.6992, 1.033, 1.503, 2.119, 2.897, 3.848, 4.977",\
                 "0.4019, 0.446, 0.5824, 0.8183, 1.157, 1.621, 2.234, 3.009, 3.955, 5.088",\
                 "0.5113, 0.5629, 0.7193, 0.9721, 1.331, 1.803, 2.409, 3.177, 4.119, 5.244",\
                 "0.6449, 0.7052, 0.8848, 1.165, 1.544, 2.039, 2.657, 3.416, 4.35, 5.468",\
                 "0.7999, 0.8697, 1.075, 1.391, 1.8, 2.316, 2.959, 3.733, 4.658, 5.767",\
                 "0.9779, 1.056, 1.289, 1.642, 2.092, 2.639, 3.304, 4.107, 5.049, 6.149",\
                 "1.178, 1.267, 1.526, 1.918, 2.413, 3.003, 3.698, 4.525, 5.497, 6.619");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1306, 0.1566, 0.2443, 0.4045, 0.6517, 0.9985, 1.454, 2.027, 2.726, 3.559",\
                 "0.1287, 0.1549, 0.2427, 0.4041, 0.6514, 0.9976, 1.453, 2.026, 2.726, 3.559",\
                 "0.1613, 0.181, 0.25, 0.4031, 0.6516, 0.9988, 1.454, 2.026, 2.727, 3.559",\
                 "0.2435, 0.2706, 0.3523, 0.4789, 0.6747, 0.9991, 1.453, 2.026, 2.726, 3.559",\
                 "0.3468, 0.3795, 0.4786, 0.637, 0.8422, 1.097, 1.481, 2.029, 2.726, 3.559",\
                 "0.4678, 0.5094, 0.6306, 0.8136, 1.054, 1.349, 1.683, 2.129, 2.748, 3.56",\
                 "0.606, 0.6566, 0.804, 1.019, 1.291, 1.624, 2.014, 2.44, 2.958, 3.653",\
                 "0.7604, 0.8234, 0.9994, 1.249, 1.557, 1.925, 2.357, 2.849, 3.38, 3.982",\
                 "0.934, 1.007, 1.213, 1.505, 1.855, 2.261, 2.73, 3.269, 3.87, 4.514",\
                 "1.125, 1.211, 1.448, 1.783, 2.184, 2.631, 3.137, 3.718, 4.371, 5.084");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2193, 0.274, 0.4704, 0.848, 1.437, 2.261, 3.343, 4.708, 6.38, 8.355",\
                 "0.2195, 0.2744, 0.4713, 0.849, 1.437, 2.26, 3.34, 4.708, 6.37, 8.359",\
                 "0.2314, 0.2809, 0.4713, 0.8488, 1.436, 2.26, 3.346, 4.71, 6.369, 8.356",\
                 "0.2835, 0.3349, 0.5102, 0.8555, 1.436, 2.26, 3.346, 4.705, 6.378, 8.353",\
                 "0.3678, 0.416, 0.5912, 0.9294, 1.46, 2.26, 3.341, 4.706, 6.372, 8.366",\
                 "0.491, 0.5412, 0.709, 1.041, 1.567, 2.309, 3.35, 4.71, 6.374, 8.356",\
                 "0.6294, 0.6832, 0.8658, 1.19, 1.713, 2.447, 3.43, 4.73, 6.38, 8.364",\
                 "0.778, 0.841, 1.042, 1.39, 1.894, 2.635, 3.598, 4.837, 6.42, 8.358",\
                 "0.9416, 1.011, 1.236, 1.611, 2.131, 2.853, 3.824, 5.041, 6.558, 8.439",\
                 "1.122, 1.195, 1.445, 1.858, 2.413, 3.126, 4.081, 5.309, 6.797, 8.6");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1093, 0.1264, 0.182, 0.2828, 0.4344, 0.6432, 0.9151, 1.256, 1.672, 2.168",\
                 "0.1227, 0.1395, 0.1952, 0.2957, 0.4474, 0.6562, 0.9281, 1.269, 1.685, 2.181",\
                 "0.1735, 0.1915, 0.2469, 0.3461, 0.4974, 0.706, 0.978, 1.319, 1.735, 2.231",\
                 "0.2212, 0.2458, 0.3222, 0.4429, 0.5987, 0.8058, 1.077, 1.418, 1.833, 2.328",\
                 "0.2528, 0.2839, 0.3797, 0.5328, 0.7307, 0.9639, 1.236, 1.575, 1.989, 2.483",\
                 "0.2665, 0.303, 0.418, 0.6025, 0.8408, 1.125, 1.447, 1.801, 2.213, 2.706",\
                 "0.2584, 0.3005, 0.4344, 0.6498, 0.9293, 1.261, 1.639, 2.057, 2.508, 3.003",\
                 "0.2282, 0.2759, 0.4276, 0.6737, 0.9943, 1.374, 1.805, 2.284, 2.804, 3.361",\
                 "0.1759, 0.2283, 0.3968, 0.6735, 1.035, 1.464, 1.948, 2.485, 3.07, 3.7",\
                 "0.0998, 0.1579, 0.3428, 0.6479, 1.05, 1.526, 2.066, 2.66, 3.308, 4.008");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2556, 0.2886, 0.4026, 0.6188, 0.9537, 1.423, 2.04, 2.817, 3.765, 4.895",\
                 "0.2697, 0.303, 0.4181, 0.6349, 0.97, 1.441, 2.057, 2.835, 3.782, 4.912",\
                 "0.3151, 0.3484, 0.4632, 0.6809, 1.017, 1.487, 2.105, 2.882, 3.831, 4.961",\
                 "0.3836, 0.4198, 0.5408, 0.7566, 1.091, 1.561, 2.177, 2.956, 3.906, 5.034",\
                 "0.4768, 0.5167, 0.647, 0.8785, 1.214, 1.678, 2.292, 3.068, 4.013, 5.143",\
                 "0.5991, 0.6448, 0.7901, 1.036, 1.391, 1.86, 2.467, 3.235, 4.177, 5.302",\
                 "0.7472, 0.7999, 0.9647, 1.234, 1.606, 2.098, 2.713, 3.473, 4.406, 5.524",\
                 "0.9179, 0.978, 1.166, 1.466, 1.866, 2.378, 3.018, 3.79, 4.714, 5.823",\
                 "1.111, 1.18, 1.39, 1.725, 2.162, 2.702, 3.365, 4.166, 5.105, 6.205",\
                 "1.328, 1.404, 1.639, 2.01, 2.49, 3.07, 3.76, 4.584, 5.556, 6.675");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1751, 0.1996, 0.2843, 0.4434, 0.691, 1.037, 1.492, 2.065, 2.764, 3.598",\
                 "0.1728, 0.1981, 0.2836, 0.4432, 0.691, 1.037, 1.493, 2.065, 2.764, 3.598",\
                 "0.2062, 0.2229, 0.2905, 0.4423, 0.6908, 1.037, 1.492, 2.064, 2.765, 3.597",\
                 "0.3093, 0.3306, 0.4013, 0.5186, 0.714, 1.038, 1.493, 2.066, 2.764, 3.598",\
                 "0.4338, 0.4587, 0.5442, 0.6892, 0.8844, 1.136, 1.52, 2.066, 2.764, 3.598",\
                 "0.5788, 0.6104, 0.7116, 0.8782, 1.107, 1.392, 1.722, 2.168, 2.788, 3.6",\
                 "0.7436, 0.7824, 0.905, 1.095, 1.352, 1.679, 2.058, 2.479, 2.996, 3.693",\
                 "0.9276, 0.975, 1.119, 1.342, 1.631, 1.986, 2.411, 2.895, 3.42, 4.02",\
                 "1.13, 1.186, 1.355, 1.613, 1.94, 2.331, 2.79, 3.32, 3.915, 4.551",\
                 "1.354, 1.417, 1.611, 1.91, 2.282, 2.711, 3.205, 3.776, 4.424, 5.13");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2916, 0.348, 0.5461, 0.9248, 1.512, 2.336, 3.419, 4.784, 6.443, 8.426",\
                 "0.2918, 0.348, 0.5464, 0.9248, 1.512, 2.336, 3.418, 4.783, 6.444, 8.425",\
                 "0.2957, 0.35, 0.5465, 0.9247, 1.512, 2.335, 3.419, 4.781, 6.447, 8.427",\
                 "0.3455, 0.3979, 0.5732, 0.9276, 1.511, 2.336, 3.417, 4.785, 6.45, 8.43",\
                 "0.4206, 0.4716, 0.655, 0.993, 1.532, 2.335, 3.418, 4.784, 6.449, 8.432",\
                 "0.5388, 0.59, 0.7642, 1.106, 1.631, 2.38, 3.422, 4.782, 6.447, 8.434",\
                 "0.6798, 0.7354, 0.9202, 1.248, 1.777, 2.512, 3.497, 4.798, 6.447, 8.431",\
                 "0.8354, 0.8978, 1.099, 1.446, 1.955, 2.696, 3.665, 4.904, 6.483, 8.432",\
                 "1.002, 1.072, 1.297, 1.669, 2.188, 2.911, 3.889, 5.107, 6.622, 8.496",\
                 "1.183, 1.262, 1.51, 1.914, 2.468, 3.182, 4.144, 5.376, 6.862, 8.669");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1302, 0.1461, 0.1997, 0.2983, 0.4475, 0.6548, 0.9263, 1.267, 1.683, 2.179",\
                 "0.1435, 0.1594, 0.2131, 0.3114, 0.461, 0.6683, 0.9397, 1.281, 1.697, 2.192",\
                 "0.1952, 0.2117, 0.2648, 0.3624, 0.5114, 0.7187, 0.9901, 1.331, 1.747, 2.242",\
                 "0.2494, 0.272, 0.3444, 0.4605, 0.6133, 0.8191, 1.09, 1.43, 1.846, 2.341",\
                 "0.2873, 0.316, 0.4069, 0.5546, 0.7482, 0.978, 1.249, 1.588, 2.002, 2.496",\
                 "0.3066, 0.3419, 0.4514, 0.6293, 0.8634, 1.143, 1.462, 1.815, 2.227, 2.719",\
                 "0.306, 0.3468, 0.4775, 0.6856, 0.9595, 1.285, 1.659, 2.074, 2.523, 3.018",\
                 "0.2855, 0.3332, 0.4809, 0.7211, 1.034, 1.407, 1.833, 2.308, 2.825, 3.378",\
                 "0.2437, 0.296, 0.4636, 0.7335, 1.087, 1.508, 1.986, 2.517, 3.098, 3.724",\
                 "0.1792, 0.2367, 0.4232, 0.7235, 1.118, 1.585, 2.116, 2.703, 3.345, 4.039");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2556, 0.2886, 0.4026, 0.6188, 0.9537, 1.423, 2.04, 2.817, 3.765, 4.895",\
                 "0.2697, 0.303, 0.4181, 0.6349, 0.97, 1.441, 2.057, 2.835, 3.782, 4.912",\
                 "0.3151, 0.3484, 0.4632, 0.6809, 1.017, 1.487, 2.105, 2.882, 3.831, 4.961",\
                 "0.3836, 0.4198, 0.5408, 0.7566, 1.091, 1.561, 2.177, 2.956, 3.906, 5.034",\
                 "0.4768, 0.5167, 0.647, 0.8785, 1.214, 1.678, 2.292, 3.068, 4.013, 5.143",\
                 "0.5991, 0.6448, 0.7901, 1.036, 1.391, 1.86, 2.467, 3.235, 4.177, 5.302",\
                 "0.7472, 0.7999, 0.9647, 1.234, 1.606, 2.098, 2.713, 3.473, 4.406, 5.524",\
                 "0.9179, 0.978, 1.166, 1.466, 1.866, 2.378, 3.018, 3.79, 4.714, 5.823",\
                 "1.111, 1.18, 1.39, 1.725, 2.162, 2.702, 3.365, 4.166, 5.105, 6.205",\
                 "1.328, 1.404, 1.639, 2.01, 2.49, 3.07, 3.76, 4.584, 5.556, 6.675");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.1751, 0.1996, 0.2843, 0.4434, 0.691, 1.037, 1.492, 2.065, 2.764, 3.598",\
                 "0.1728, 0.1981, 0.2836, 0.4432, 0.691, 1.037, 1.493, 2.065, 2.764, 3.598",\
                 "0.2062, 0.2229, 0.2905, 0.4423, 0.6908, 1.037, 1.492, 2.064, 2.765, 3.597",\
                 "0.3093, 0.3306, 0.4013, 0.5186, 0.714, 1.038, 1.493, 2.066, 2.764, 3.598",\
                 "0.4338, 0.4587, 0.5442, 0.6892, 0.8844, 1.136, 1.52, 2.066, 2.764, 3.598",\
                 "0.5788, 0.6104, 0.7116, 0.8782, 1.107, 1.392, 1.722, 2.168, 2.788, 3.6",\
                 "0.7436, 0.7824, 0.905, 1.095, 1.352, 1.679, 2.058, 2.479, 2.996, 3.693",\
                 "0.9276, 0.975, 1.119, 1.342, 1.631, 1.986, 2.411, 2.895, 3.42, 4.02",\
                 "1.13, 1.186, 1.355, 1.613, 1.94, 2.331, 2.79, 3.32, 3.915, 4.551",\
                 "1.354, 1.417, 1.611, 1.91, 2.282, 2.711, 3.205, 3.776, 4.424, 5.13");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005932, 0.02324, 0.0563, 0.1078, 0.1801, 0.2752, 0.3949, 0.5412, 0.7155");
          values("0.2916, 0.348, 0.5461, 0.9248, 1.512, 2.336, 3.419, 4.784, 6.443, 8.426",\
                 "0.2918, 0.348, 0.5464, 0.9248, 1.512, 2.336, 3.418, 4.783, 6.444, 8.425",\
                 "0.2957, 0.35, 0.5465, 0.9247, 1.512, 2.335, 3.419, 4.781, 6.447, 8.427",\
                 "0.3455, 0.3979, 0.5732, 0.9276, 1.511, 2.336, 3.417, 4.785, 6.45, 8.43",\
                 "0.4206, 0.4716, 0.655, 0.993, 1.532, 2.335, 3.418, 4.784, 6.449, 8.432",\
                 "0.5388, 0.59, 0.7642, 1.106, 1.631, 2.38, 3.422, 4.782, 6.447, 8.434",\
                 "0.6798, 0.7354, 0.9202, 1.248, 1.777, 2.512, 3.497, 4.798, 6.447, 8.431",\
                 "0.8354, 0.8978, 1.099, 1.446, 1.955, 2.696, 3.665, 4.904, 6.483, 8.432",\
                 "1.002, 1.072, 1.297, 1.669, 2.188, 2.911, 3.889, 5.107, 6.622, 8.496",\
                 "1.183, 1.262, 1.51, 1.914, 2.468, 3.182, 4.144, 5.376, 6.862, 8.669");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi22_1) {
    area : 19.756800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2" ;
      value : "4.3857e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2" ;
      value : "6.00996e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2" ;
      value : "7.35702e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2" ;
      value : "4.3857e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2" ;
      value : "6.01788e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2" ;
      value : "7.43688e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2" ;
      value : "6.00996e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2" ;
      value : "6.01788e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2" ;
      value : "7.64247e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2" ;
      value : "7.43688e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2" ;
      value : "4.48437e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2" ;
      value : "4.48437e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2" ;
      value : "4.48437e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2" ;
      value : "4.48701e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.64247e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004838 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01846, 0.01844, 0.01845, 0.01839, 0.01833, 0.01831, 0.01829, \
                 0.01828, 0.01828, 0.01827");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01244, -0.01241, -0.0124, -0.01237, -0.01235, -0.01237, -0.01238, \
                 -0.01239, -0.0124, -0.01243");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01846, 0.01848, 0.01845, 0.01841, 0.01836, 0.01835, 0.01832, \
                 0.0183, 0.01828, 0.01828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01246, -0.01245, -0.01242, -0.01239, -0.01238, -0.01239, -0.0124, \
                 -0.0124, -0.01241, -0.01243");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01845, 0.01845, 0.01844, 0.01843, 0.01836, 0.01834, 0.01831, \
                 0.0183, 0.01828, 0.01827");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01246, -0.01244, -0.01242, -0.0124, -0.01238, -0.01239, -0.0124, \
                 -0.0124, -0.01241, -0.01243");
        }
      }

      internal_power() {
        when : "!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00484, 0.004834, 0.004837, 0.004843, 0.004844, 0.004874, 0.004869, \
                 0.004872, 0.00487, 0.004871");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004868, -0.004865, -0.00487, -0.004867, -0.004873, -0.004888, \
                 -0.00489, -0.00489, -0.004895, -0.004898");
        }
      }

      internal_power() {
        when : "A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02414, 0.02413, 0.02407, 0.02404, 0.02402, 0.02401, 0.02399, \
                 0.02395, 0.02391, 0.02384");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004878, -0.004877, -0.004891, -0.004892, -0.004886, -0.004896, \
                 -0.004901, -0.004898, -0.004902, -0.004901");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004757 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01802, 0.01683, 0.01645, 0.01636, 0.01632, 0.0163, 0.01628, \
                 0.01627, 0.01626, 0.01625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01645, -0.01645, -0.01643, -0.01636, -0.0163, -0.01629, -0.01628, \
                 -0.01625, -0.01622, -0.01623");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01798, 0.01682, 0.01645, 0.0164, 0.01634, 0.01631, 0.01629, \
                 0.01629, 0.01626, 0.01625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01646, -0.01645, -0.01645, -0.01639, -0.01634, -0.01632, -0.0163, \
                 -0.01628, -0.01624, -0.01624");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01798, 0.01682, 0.01645, 0.01638, 0.01633, 0.01631, 0.01629, \
                 0.01628, 0.01626, 0.01625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01646, -0.01645, -0.01646, -0.01639, -0.01635, -0.01633, -0.0163, \
                 -0.01626, -0.01625, -0.01624");
        }
      }

      internal_power() {
        when : "!A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004841, 0.00484, 0.004849, 0.004846, 0.004849, 0.004869, 0.004874, \
                 0.004869, 0.004872, 0.004869");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00487, -0.004873, -0.004874, -0.004874, -0.004881, -0.004893, \
                 -0.004888, -0.004887, -0.004895, -0.004896");
        }
      }

      internal_power() {
        when : "A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02415, 0.02414, 0.02408, 0.02404, 0.02402, 0.02402, 0.02399, \
                 0.02395, 0.02391, 0.02384");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004882, -0.004883, -0.004886, -0.004885, -0.004885, -0.0049, \
                 -0.004901, -0.004899, -0.004901, -0.004899");
        }
      }
    }

    pin(B1) {
      capacitance : 0.004611 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01837, 0.01832, 0.01838, 0.01832, 0.0183, 0.01831, 0.01827, \
                 0.01828, 0.01827, 0.01827");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0122, -0.01219, -0.01222, -0.01222, -0.01222, -0.01227, -0.01228, \
                 -0.01229, -0.01232, -0.01233");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01839, 0.01835, 0.01831, 0.01835, 0.01833, 0.01831, 0.0183, \
                 0.01827, 0.01828, 0.01828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0122, -0.01218, -0.01222, -0.0122, -0.01221, -0.01225, -0.01228, \
                 -0.01228, -0.0123, -0.01233");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01839, 0.01833, 0.01831, 0.01835, 0.01831, 0.01831, 0.01831, \
                 0.01827, 0.01828, 0.01828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01222, -0.01218, -0.01221, -0.01221, -0.01222, -0.01226, -0.01227, \
                 -0.01229, -0.0123, -0.01234");
        }
      }

      internal_power() {
        when : "A1&A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01623, 0.01621, 0.01623, 0.01621, 0.01627, 0.01624, \
                 0.01625, 0.01626, 0.01625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01621, -0.01618, -0.01615, -0.01616, -0.01615, -0.01618, -0.0162, \
                 -0.01619, -0.01618, -0.01621");
        }
      }

      internal_power() {
        when : "A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01625, 0.01626, 0.01624, 0.01623, 0.01624, 0.01628, 0.01627, \
                 0.01627, 0.01627, 0.01626");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01347, -0.01384, -0.01465, -0.01515, -0.01538, -0.01555, -0.01564, \
                 -0.0157, -0.01575, -0.01579");
        }
      }
    }

    pin(B2) {
      capacitance : 0.004473 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01793, 0.01673, 0.01637, 0.01632, 0.01627, 0.01627, 0.01626, \
                 0.01626, 0.01626, 0.01626");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01633, -0.01627, -0.0163, -0.01627, -0.01624, -0.01624, -0.01624, \
                 -0.01622, -0.01623, -0.01625");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01794, 0.01673, 0.01635, 0.01631, 0.01627, 0.01628, 0.01626, \
                 0.01624, 0.01625, 0.01625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01631, -0.01626, -0.01628, -0.01626, -0.01624, -0.01625, -0.01624, \
                 -0.01623, -0.01622, -0.01622");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01793, 0.01674, 0.01635, 0.01631, 0.01626, 0.01627, 0.01626, \
                 0.01624, 0.01625, 0.01625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01631, -0.01626, -0.01627, -0.01626, -0.01623, -0.01625, -0.01624, \
                 -0.01623, -0.01623, -0.01622");
        }
      }

      internal_power() {
        when : "A1&A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01625, 0.01622, 0.01624, 0.01619, 0.01625, 0.01625, \
                 0.01624, 0.01626, 0.01626");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01622, -0.01616, -0.01618, -0.01615, -0.01616, -0.01619, -0.01619, \
                 -0.0162, -0.0162, -0.01619");
        }
      }

      internal_power() {
        when : "A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01626, 0.01624, 0.01626, 0.01626, 0.01626, 0.01626, 0.01628, \
                 0.01627, 0.01626, 0.01627");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01385, -0.01464, -0.01514, -0.01538, -0.01556, -0.01565, \
                 -0.01572, -0.01576, -0.01578");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1))|((!A1)&(!B2))|((!A2)&(!B1))|((!A2)&(!B2)))" ;
      max_capacitance : 0.2411 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.002792, 0.002942, 0.003146, 0.003274, 0.00332, 0.003361, 0.003386, 0.003394, 0.003403, 0.003413",\
                 "0.002328, 0.002616, 0.003111, 0.003449, 0.003632, 0.003733, 0.003792, 0.003835, 0.003859, 0.003869",\
                 "0.003402, 0.003496, 0.003698, 0.003919, 0.004079, 0.004187, 0.004237, 0.004276, 0.00431, 0.004322",\
                 "0.009213, 0.008665, 0.00761, 0.006723, 0.006075, 0.005655, 0.005364, 0.005163, 0.005007, 0.004929",\
                 "0.02141, 0.0201, 0.01709, 0.01413, 0.01173, 0.01003, 0.008728, 0.007803, 0.007125, 0.006614",\
                 "0.04059, 0.03861, 0.03348, 0.0278, 0.0229, 0.01903, 0.01604, 0.01376, 0.01197, 0.01062",\
                 "0.06716, 0.06461, 0.05756, 0.0488, 0.04077, 0.03407, 0.02864, 0.02428, 0.02084, 0.0181",\
                 "0.1015, 0.09846, 0.08973, 0.07808, 0.06642, 0.05635, 0.04781, 0.04076, 0.03505, 0.03033",\
                 "0.1441, 0.1406, 0.1304, 0.116, 0.1008, 0.08672, 0.07469, 0.06435, 0.05563, 0.04835",\
                 "0.1952, 0.1913, 0.1799, 0.1631, 0.1444, 0.1261, 0.11, 0.09598, 0.08377, 0.07331");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.05215, 0.05256, 0.05314, 0.05348, 0.05381, 0.05423, 0.05467, 0.05514, 0.05588, 0.05825",\
                 "0.0507, 0.05121, 0.05229, 0.05312, 0.05374, 0.05426, 0.05491, 0.0554, 0.05607, 0.05819",\
                 "0.05193, 0.05189, 0.05204, 0.05262, 0.05331, 0.05393, 0.05458, 0.05517, 0.05604, 0.05841",\
                 "0.05951, 0.05875, 0.05718, 0.05578, 0.05509, 0.05508, 0.05537, 0.0557, 0.05634, 0.05901",\
                 "0.07402, 0.07248, 0.0689, 0.06526, 0.06216, 0.06017, 0.05906, 0.05853, 0.05857, 0.06085",\
                 "0.09603, 0.09387, 0.08822, 0.08194, 0.07631, 0.07148, 0.06781, 0.06579, 0.06437, 0.06636",\
                 "0.126, 0.1233, 0.1158, 0.1066, 0.09789, 0.09033, 0.08371, 0.07885, 0.07545, 0.07728",\
                 "0.1647, 0.1614, 0.1523, 0.1403, 0.128, 0.1172, 0.1076, 0.09908, 0.09275, 0.09465",\
                 "0.2123, 0.2086, 0.1979, 0.1832, 0.1675, 0.1528, 0.1402, 0.1284, 0.119, 0.1233",\
                 "0.2697, 0.2656, 0.2535, 0.2362, 0.2172, 0.1986, 0.1817, 0.1669, 0.1558, 0.168");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.002889, 0.003049, 0.003246, 0.003339, 0.003411, 0.003451, 0.003467, 0.003478, 0.003488, 0.003493",\
                 "0.002608, 0.002893, 0.003387, 0.003717, 0.003886, 0.003997, 0.004052, 0.00409, 0.004105, 0.004121",\
                 "0.003955, 0.004044, 0.0043, 0.00453, 0.004675, 0.004772, 0.00484, 0.00488, 0.004903, 0.004922",\
                 "0.009086, 0.008673, 0.007835, 0.007137, 0.00664, 0.006258, 0.006009, 0.005835, 0.005714, 0.005623",\
                 "0.01961, 0.01855, 0.01604, 0.01358, 0.01161, 0.01014, 0.009066, 0.008257, 0.00764, 0.007199",\
                 "0.03644, 0.03472, 0.03034, 0.02545, 0.02131, 0.01803, 0.01548, 0.01349, 0.01195, 0.01073",\
                 "0.05999, 0.05769, 0.05148, 0.04386, 0.03691, 0.03113, 0.02648, 0.02274, 0.01978, 0.01732",\
                 "0.09066, 0.08785, 0.07996, 0.06964, 0.05945, 0.05067, 0.04328, 0.03718, 0.03221, 0.02807",\
                 "0.1288, 0.1255, 0.1161, 0.1032, 0.08963, 0.07731, 0.06678, 0.05782, 0.0503, 0.04394",\
                 "0.1746, 0.171, 0.1604, 0.145, 0.1282, 0.112, 0.09784, 0.08548, 0.07497, 0.06589");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.05214, 0.05254, 0.05312, 0.05362, 0.054, 0.05442, 0.0549, 0.0552, 0.05729, 0.07183",\
                 "0.05062, 0.05117, 0.05222, 0.05317, 0.0539, 0.05448, 0.05516, 0.05547, 0.05749, 0.07247",\
                 "0.05157, 0.05157, 0.05181, 0.05256, 0.05334, 0.05409, 0.05467, 0.05539, 0.05747, 0.07319",\
                 "0.05845, 0.0578, 0.05629, 0.0552, 0.05482, 0.05498, 0.05536, 0.05579, 0.05825, 0.07515",\
                 "0.0715, 0.0702, 0.06698, 0.06363, 0.06106, 0.05943, 0.05866, 0.05819, 0.06034, 0.07875",\
                 "0.09125, 0.08929, 0.08435, 0.07868, 0.07343, 0.0693, 0.06625, 0.06461, 0.06604, 0.08811",\
                 "0.1183, 0.1158, 0.1091, 0.1008, 0.09307, 0.08613, 0.08008, 0.07597, 0.07666, 0.1039",\
                 "0.1532, 0.1501, 0.1417, 0.1309, 0.1202, 0.1104, 0.1016, 0.0944, 0.09445, 0.1298",\
                 "0.1963, 0.1928, 0.1826, 0.1695, 0.1556, 0.1427, 0.1308, 0.1207, 0.1221, 0.1727",\
                 "0.2482, 0.2442, 0.2328, 0.2169, 0.1999, 0.1835, 0.1686, 0.1566, 0.1638, 0.2431");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.002878, 0.003051, 0.003252, 0.003375, 0.003409, 0.003442, 0.003458, 0.003471, 0.003478, 0.003481",\
                 "0.002616, 0.002906, 0.003399, 0.003729, 0.003904, 0.003987, 0.004047, 0.004081, 0.004107, 0.004132",\
                 "0.003973, 0.004066, 0.004298, 0.004531, 0.004679, 0.00478, 0.004834, 0.004862, 0.004883, 0.004903",\
                 "0.009048, 0.008659, 0.00783, 0.007141, 0.006634, 0.006262, 0.006006, 0.005832, 0.0057, 0.005612",\
                 "0.01945, 0.01844, 0.01598, 0.01355, 0.01163, 0.01016, 0.009075, 0.008257, 0.007641, 0.007189",\
                 "0.03617, 0.03452, 0.03022, 0.0254, 0.02129, 0.01799, 0.01544, 0.01349, 0.01194, 0.01074",\
                 "0.05959, 0.05736, 0.05127, 0.04376, 0.03687, 0.0311, 0.02646, 0.02276, 0.01976, 0.01734",\
                 "0.09011, 0.08739, 0.07966, 0.06945, 0.05935, 0.05061, 0.04325, 0.03716, 0.03218, 0.02809",\
                 "0.1281, 0.1249, 0.1157, 0.103, 0.0895, 0.07727, 0.06668, 0.05775, 0.05028, 0.04391",\
                 "0.1738, 0.1703, 0.1598, 0.1447, 0.1279, 0.1118, 0.09773, 0.0854, 0.07484, 0.06585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.06927, 0.0695, 0.06998, 0.07043, 0.07084, 0.07136, 0.07168, 0.07254, 0.07469, 0.08996",\
                 "0.06804, 0.06842, 0.06924, 0.07002, 0.07074, 0.07143, 0.0722, 0.07277, 0.07507, 0.0904",\
                 "0.0683, 0.06836, 0.06874, 0.0694, 0.07025, 0.07103, 0.07171, 0.0727, 0.07498, 0.09128",\
                 "0.07416, 0.07369, 0.07263, 0.0719, 0.0717, 0.07192, 0.07237, 0.0729, 0.07566, 0.0933",\
                 "0.08628, 0.08529, 0.0827, 0.07979, 0.07748, 0.07625, 0.07547, 0.07543, 0.07756, 0.09758",\
                 "0.1052, 0.1037, 0.09941, 0.09444, 0.08969, 0.08585, 0.08326, 0.08169, 0.08355, 0.1057",\
                 "0.1314, 0.1294, 0.1236, 0.1162, 0.1089, 0.1022, 0.09692, 0.09287, 0.09409, 0.1221",\
                 "0.1656, 0.163, 0.1556, 0.1456, 0.1356, 0.1261, 0.1178, 0.1112, 0.1117, 0.1485",\
                 "0.2081, 0.2051, 0.196, 0.1838, 0.1707, 0.1583, 0.1467, 0.1371, 0.1395, 0.1916",\
                 "0.2595, 0.256, 0.2455, 0.2307, 0.2147, 0.1989, 0.1843, 0.1726, 0.181, 0.2625");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.002894, 0.003022, 0.003206, 0.003328, 0.003375, 0.003411, 0.003429, 0.00344, 0.003448, 0.003457",\
                 "0.002125, 0.002477, 0.003062, 0.003439, 0.003627, 0.003741, 0.003802, 0.003839, 0.003865, 0.00388",\
                 "0.002247, 0.002484, 0.003039, 0.003511, 0.00383, 0.004028, 0.004147, 0.004221, 0.004268, 0.004302",\
                 "0.007291, 0.006964, 0.006328, 0.005852, 0.00552, 0.005279, 0.005106, 0.004976, 0.004879, 0.004817",\
                 "0.01905, 0.01798, 0.01546, 0.01297, 0.01104, 0.00956, 0.008468, 0.007633, 0.007011, 0.006541",\
                 "0.03832, 0.03651, 0.03185, 0.02663, 0.02218, 0.01863, 0.01586, 0.01371, 0.01203, 0.0107",\
                 "0.06531, 0.06286, 0.05623, 0.0479, 0.04032, 0.03391, 0.02877, 0.02462, 0.02127, 0.01854",\
                 "0.1004, 0.09746, 0.08903, 0.07778, 0.06654, 0.05673, 0.04846, 0.04165, 0.03599, 0.03133",\
                 "0.144, 0.1406, 0.1306, 0.1166, 0.1017, 0.08793, 0.07604, 0.06593, 0.05738, 0.05012",\
                 "0.1965, 0.1927, 0.1813, 0.1648, 0.1464, 0.1284, 0.1124, 0.09837, 0.08651, 0.07611");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.0672, 0.06723, 0.06744, 0.0676, 0.06783, 0.06839, 0.06893, 0.06939, 0.07043, 0.073",\
                 "0.06601, 0.06619, 0.06658, 0.06692, 0.06731, 0.06779, 0.06837, 0.06897, 0.06987, 0.07244",\
                 "0.0674, 0.06724, 0.06709, 0.06709, 0.06734, 0.06779, 0.06831, 0.06893, 0.06984, 0.07263",\
                 "0.07508, 0.07435, 0.07264, 0.07093, 0.06998, 0.06947, 0.06956, 0.06994, 0.07036, 0.0731",\
                 "0.09007, 0.08866, 0.08521, 0.08114, 0.0777, 0.07535, 0.07411, 0.07324, 0.07293, 0.07587",\
                 "0.1127, 0.1109, 0.1056, 0.09905, 0.09278, 0.08753, 0.08375, 0.08116, 0.07944, 0.0816",\
                 "0.1439, 0.1416, 0.1348, 0.1255, 0.116, 0.1076, 0.1006, 0.09493, 0.09117, 0.09295",\
                 "0.1838, 0.1812, 0.1732, 0.1613, 0.1483, 0.1366, 0.1257, 0.1171, 0.11, 0.112",\
                 "0.2331, 0.2301, 0.221, 0.2072, 0.1909, 0.1751, 0.1608, 0.1478, 0.1382, 0.1422",\
                 "0.2923, 0.289, 0.279, 0.2634, 0.2444, 0.2243, 0.2058, 0.1891, 0.1772, 0.1897");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.002961, 0.0031, 0.003296, 0.003376, 0.003438, 0.003469, 0.003486, 0.003498, 0.003507, 0.003515",\
                 "0.00239, 0.002737, 0.003331, 0.003691, 0.003887, 0.003993, 0.004051, 0.00409, 0.004113, 0.004129",\
                 "0.00283, 0.003087, 0.003651, 0.00413, 0.004433, 0.004629, 0.00474, 0.004815, 0.004861, 0.00489",\
                 "0.007352, 0.007128, 0.006684, 0.006394, 0.006134, 0.005944, 0.00579, 0.005674, 0.00559, 0.005535",\
                 "0.01749, 0.01662, 0.01457, 0.0126, 0.01101, 0.009775, 0.008822, 0.008113, 0.007558, 0.007142",\
                 "0.0342, 0.03264, 0.02875, 0.02439, 0.0207, 0.01771, 0.01533, 0.01347, 0.01202, 0.01085",\
                 "0.05788, 0.05574, 0.05001, 0.04291, 0.03645, 0.03102, 0.02662, 0.02302, 0.02013, 0.01778",\
                 "0.08889, 0.08623, 0.07874, 0.06901, 0.0593, 0.05087, 0.04378, 0.03792, 0.03301, 0.02897",\
                 "0.1276, 0.1245, 0.1154, 0.1031, 0.09007, 0.0781, 0.06787, 0.05913, 0.05174, 0.04543",\
                 "0.1743, 0.1708, 0.1604, 0.1455, 0.1292, 0.1136, 0.09962, 0.08754, 0.07715, 0.06826");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.06717, 0.06724, 0.06739, 0.0676, 0.06795, 0.06844, 0.06872, 0.06948, 0.07173, 0.08694",\
                 "0.06596, 0.06615, 0.06652, 0.0669, 0.06739, 0.06794, 0.06859, 0.06915, 0.07127, 0.08682",\
                 "0.06706, 0.06694, 0.06681, 0.06701, 0.06739, 0.06784, 0.06846, 0.06892, 0.07128, 0.0876",\
                 "0.07401, 0.0734, 0.07173, 0.07038, 0.0696, 0.0693, 0.06944, 0.06974, 0.07193, 0.08973",\
                 "0.08733, 0.08617, 0.08305, 0.07941, 0.07643, 0.07448, 0.07327, 0.0728, 0.07503, 0.09397",\
                 "0.1077, 0.106, 0.1013, 0.09541, 0.08977, 0.08527, 0.08172, 0.07972, 0.08118, 0.1033",\
                 "0.1355, 0.1335, 0.1273, 0.1189, 0.1106, 0.1029, 0.09664, 0.09213, 0.09266, 0.1201",\
                 "0.1714, 0.1689, 0.1614, 0.1509, 0.1394, 0.1288, 0.1193, 0.1113, 0.1117, 0.1473",\
                 "0.2157, 0.2129, 0.2044, 0.1916, 0.1772, 0.1633, 0.1503, 0.1395, 0.1406, 0.192",\
                 "0.2688, 0.2657, 0.2563, 0.2417, 0.2245, 0.207, 0.1908, 0.1773, 0.1845, 0.2648");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.002974, 0.003095, 0.003302, 0.003401, 0.00344, 0.003467, 0.003482, 0.003491, 0.003497, 0.003502",\
                 "0.002406, 0.002766, 0.003346, 0.00371, 0.003887, 0.003989, 0.004044, 0.004079, 0.0041, 0.004115",\
                 "0.002854, 0.003118, 0.003654, 0.004129, 0.004433, 0.00463, 0.004737, 0.004806, 0.004851, 0.00488",\
                 "0.007327, 0.007116, 0.006684, 0.006381, 0.006134, 0.005945, 0.005788, 0.00567, 0.005585, 0.005523",\
                 "0.01737, 0.0165, 0.01454, 0.01257, 0.01101, 0.009774, 0.008823, 0.008108, 0.007554, 0.007134",\
                 "0.03395, 0.03245, 0.02866, 0.02438, 0.02067, 0.01769, 0.01533, 0.01346, 0.01202, 0.01085",\
                 "0.05752, 0.05545, 0.04982, 0.04281, 0.03641, 0.03099, 0.0266, 0.02302, 0.02014, 0.01778",\
                 "0.08844, 0.08583, 0.07849, 0.06885, 0.05921, 0.05083, 0.04378, 0.03792, 0.03304, 0.02897",\
                 "0.127, 0.124, 0.1151, 0.1029, 0.08995, 0.07804, 0.06784, 0.05909, 0.05173, 0.04545",\
                 "0.1736, 0.1702, 0.16, 0.1452, 0.1291, 0.1135, 0.09952, 0.08747, 0.0771, 0.06817");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.08392, 0.08399, 0.0841, 0.08437, 0.08468, 0.08514, 0.08554, 0.08621, 0.08842, 0.1039",\
                 "0.08287, 0.083, 0.08329, 0.08368, 0.08415, 0.08478, 0.08528, 0.08578, 0.08807, 0.1037",\
                 "0.08361, 0.08353, 0.08352, 0.08368, 0.08402, 0.08455, 0.08502, 0.08588, 0.08808, 0.1047",\
                 "0.08977, 0.08926, 0.08801, 0.08686, 0.08613, 0.08597, 0.08614, 0.08646, 0.08886, 0.1068",\
                 "0.1023, 0.1013, 0.09868, 0.09547, 0.09277, 0.09101, 0.08983, 0.08956, 0.09145, 0.1116",\
                 "0.122, 0.1205, 0.1164, 0.111, 0.1058, 0.1014, 0.09812, 0.09621, 0.09786, 0.1208",\
                 "0.1491, 0.1473, 0.1417, 0.1341, 0.1263, 0.119, 0.1129, 0.1085, 0.1091, 0.1372",\
                 "0.1845, 0.1823, 0.1754, 0.1655, 0.1548, 0.1444, 0.1351, 0.1277, 0.128, 0.1648",\
                 "0.2283, 0.2257, 0.2179, 0.206, 0.1922, 0.1788, 0.1662, 0.1556, 0.157, 0.2097",\
                 "0.281, 0.2782, 0.2694, 0.2556, 0.2391, 0.2221, 0.2062, 0.1932, 0.2014, 0.2831");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.02866, 0.0286, 0.02858, 0.02864, 0.02866, 0.0287, 0.0287, 0.0287, 0.02872, 0.02866",\
                 "0.02802, 0.02799, 0.028, 0.02804, 0.02811, 0.02816, 0.02814, 0.02814, 0.02815, 0.02814",\
                 "0.02794, 0.02789, 0.02776, 0.02771, 0.02772, 0.0277, 0.0277, 0.02769, 0.0277, 0.02764",\
                 "0.03177, 0.03145, 0.0307, 0.02991, 0.02922, 0.02876, 0.02843, 0.02822, 0.02806, 0.02792",\
                 "0.04198, 0.04121, 0.03912, 0.03668, 0.03456, 0.03288, 0.0316, 0.03068, 0.02999, 0.02948",\
                 "0.05979, 0.0585, 0.05476, 0.05003, 0.04554, 0.0418, 0.03888, 0.03652, 0.03475, 0.03335",\
                 "0.08575, 0.08399, 0.07864, 0.07123, 0.06375, 0.05713, 0.05169, 0.04727, 0.04373, 0.0409",\
                 "0.1205, 0.1182, 0.1113, 0.1012, 0.09036, 0.08034, 0.0716, 0.06433, 0.05834, 0.05341",\
                 "0.1642, 0.1615, 0.1532, 0.1406, 0.1263, 0.1124, 0.09988, 0.08902, 0.07983, 0.07218",\
                 "0.2172, 0.2143, 0.2047, 0.1898, 0.1722, 0.1542, 0.1375, 0.1224, 0.1094, 0.0984");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.08603, 0.08637, 0.0869, 0.08728, 0.08763, 0.08795, 0.08847, 0.08899, 0.08954, 0.09183",\
                 "0.08408, 0.08466, 0.08582, 0.08683, 0.0875, 0.08795, 0.0886, 0.08896, 0.08983, 0.09199",\
                 "0.08224, 0.08261, 0.0837, 0.08515, 0.08634, 0.08732, 0.08817, 0.08886, 0.08964, 0.09227",\
                 "0.08502, 0.08483, 0.0847, 0.08506, 0.08578, 0.08683, 0.08741, 0.08817, 0.08943, 0.09235",\
                 "0.09567, 0.09471, 0.09266, 0.09094, 0.08988, 0.08944, 0.08962, 0.08969, 0.09044, 0.0936",\
                 "0.1163, 0.1146, 0.1099, 0.1051, 0.1013, 0.09835, 0.09642, 0.09535, 0.09458, 0.09798",\
                 "0.1469, 0.1444, 0.1375, 0.1289, 0.1216, 0.1156, 0.1105, 0.1067, 0.1045, 0.1078",\
                 "0.187, 0.184, 0.1752, 0.1633, 0.1518, 0.1418, 0.1337, 0.1268, 0.1215, 0.1247",\
                 "0.2369, 0.2334, 0.2231, 0.2083, 0.1926, 0.1783, 0.1662, 0.1557, 0.1476, 0.1521",\
                 "0.2969, 0.2931, 0.2815, 0.2642, 0.2447, 0.2257, 0.2085, 0.1942, 0.1845, 0.1957");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.0258, 0.02579, 0.02578, 0.02577, 0.02581, 0.02584, 0.02582, 0.02583, 0.02584, 0.02583",\
                 "0.02506, 0.02506, 0.02508, 0.02507, 0.02512, 0.02513, 0.02515, 0.02514, 0.02512, 0.02514",\
                 "0.02483, 0.02476, 0.02462, 0.0245, 0.02442, 0.02437, 0.02436, 0.02435, 0.02436, 0.02432",\
                 "0.0286, 0.02819, 0.02725, 0.02634, 0.02563, 0.02517, 0.02486, 0.02463, 0.02449, 0.02437",\
                 "0.03882, 0.03786, 0.03544, 0.03273, 0.0305, 0.02888, 0.02762, 0.02675, 0.02612, 0.02565",\
                 "0.05663, 0.05506, 0.05075, 0.04553, 0.04085, 0.03713, 0.03423, 0.03205, 0.03038, 0.02911",\
                 "0.08266, 0.08041, 0.07419, 0.06602, 0.05819, 0.05151, 0.0461, 0.04194, 0.03857, 0.03592",\
                 "0.1172, 0.1145, 0.1064, 0.09526, 0.0838, 0.0735, 0.0648, 0.0577, 0.05201, 0.04741",\
                 "0.1606, 0.1574, 0.1477, 0.1337, 0.1184, 0.1041, 0.09147, 0.08087, 0.07202, 0.06469",\
                 "0.2132, 0.2096, 0.1986, 0.1819, 0.1628, 0.1441, 0.1272, 0.1123, 0.09965, 0.08898");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.07761, 0.07795, 0.07847, 0.07884, 0.07934, 0.07956, 0.08008, 0.08048, 0.08253, 0.09776",\
                 "0.07566, 0.07626, 0.07745, 0.0784, 0.07921, 0.07963, 0.08011, 0.08074, 0.08266, 0.09814",\
                 "0.07376, 0.07415, 0.07528, 0.07671, 0.07789, 0.0789, 0.07975, 0.08064, 0.08303, 0.09898",\
                 "0.0761, 0.07593, 0.07588, 0.07638, 0.07723, 0.07818, 0.07922, 0.08004, 0.08285, 0.1",\
                 "0.08586, 0.08493, 0.0832, 0.0815, 0.08059, 0.08039, 0.08057, 0.08125, 0.08387, 0.1036",\
                 "0.1056, 0.1038, 0.09939, 0.09496, 0.09145, 0.08867, 0.08694, 0.08613, 0.08846, 0.1107",\
                 "0.1354, 0.1328, 0.126, 0.118, 0.1109, 0.1051, 0.1003, 0.097, 0.09834, 0.1244",\
                 "0.1749, 0.1718, 0.1629, 0.1513, 0.1403, 0.1309, 0.1228, 0.1161, 0.1163, 0.1493",\
                 "0.2242, 0.2207, 0.2101, 0.1957, 0.1801, 0.1664, 0.1546, 0.1448, 0.1446, 0.1891",\
                 "0.2835, 0.2796, 0.2678, 0.2505, 0.2312, 0.2128, 0.1967, 0.184, 0.1871, 0.2528");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.0258, 0.02579, 0.02578, 0.02579, 0.02583, 0.02584, 0.02584, 0.02583, 0.02581, 0.02579",\
                 "0.02507, 0.02505, 0.02507, 0.02507, 0.02511, 0.02514, 0.02512, 0.02511, 0.02512, 0.02509",\
                 "0.02479, 0.02472, 0.02459, 0.02449, 0.02444, 0.0244, 0.02437, 0.02434, 0.0243, 0.0243",\
                 "0.02857, 0.02816, 0.02723, 0.02633, 0.02564, 0.02517, 0.02484, 0.02461, 0.02445, 0.02434",\
                 "0.03876, 0.03779, 0.03537, 0.03271, 0.03049, 0.02887, 0.02765, 0.02676, 0.02612, 0.02563",\
                 "0.05653, 0.05497, 0.05069, 0.04552, 0.04082, 0.03714, 0.03423, 0.03204, 0.03037, 0.02909",\
                 "0.08244, 0.08028, 0.0741, 0.06601, 0.05817, 0.05149, 0.04608, 0.04192, 0.03857, 0.03592",\
                 "0.1169, 0.1142, 0.1062, 0.09516, 0.08372, 0.07343, 0.06475, 0.05775, 0.05203, 0.04737",\
                 "0.1603, 0.1571, 0.1475, 0.1335, 0.1183, 0.1041, 0.09141, 0.08079, 0.07197, 0.06467",\
                 "0.2128, 0.2093, 0.1983, 0.1816, 0.1627, 0.1441, 0.1271, 0.1123, 0.09961, 0.08889");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.09461, 0.09481, 0.09525, 0.09562, 0.09606, 0.09654, 0.09705, 0.09768, 0.09993, 0.1155",\
                 "0.09314, 0.09353, 0.09437, 0.09521, 0.09596, 0.09654, 0.09719, 0.09798, 0.1001, 0.1162",\
                 "0.09098, 0.09132, 0.09233, 0.09361, 0.09487, 0.09572, 0.09659, 0.09742, 0.1004, 0.1168",\
                 "0.09251, 0.09252, 0.09258, 0.09315, 0.09408, 0.09503, 0.0961, 0.09716, 0.1, 0.118",\
                 "0.1013, 0.1006, 0.09931, 0.098, 0.09738, 0.0973, 0.09755, 0.0982, 0.1013, 0.121",\
                 "0.1197, 0.1183, 0.1147, 0.1108, 0.1077, 0.1053, 0.1038, 0.1031, 0.1054, 0.1289",\
                 "0.1485, 0.1464, 0.1404, 0.1333, 0.1267, 0.1213, 0.1171, 0.1141, 0.1157, 0.143",\
                 "0.1873, 0.1845, 0.1766, 0.166, 0.1556, 0.1467, 0.1389, 0.1329, 0.1336, 0.1678",\
                 "0.2359, 0.2328, 0.2231, 0.2095, 0.1951, 0.1818, 0.1705, 0.1611, 0.1618, 0.2077",\
                 "0.2948, 0.2912, 0.2803, 0.2641, 0.2455, 0.228, 0.2124, 0.1998, 0.2036, 0.2716");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.02858, 0.02858, 0.02855, 0.02861, 0.02866, 0.02865, 0.02866, 0.02865, 0.02865, 0.02864",\
                 "0.02801, 0.02803, 0.028, 0.02807, 0.02812, 0.02816, 0.02816, 0.02815, 0.02816, 0.02815",\
                 "0.02741, 0.02742, 0.02748, 0.0275, 0.02758, 0.02763, 0.02765, 0.02766, 0.02767, 0.02764",\
                 "0.03055, 0.03031, 0.02979, 0.02926, 0.02879, 0.02848, 0.02823, 0.02806, 0.02793, 0.02784",\
                 "0.04031, 0.03966, 0.03786, 0.03579, 0.03391, 0.03248, 0.03133, 0.0305, 0.02986, 0.02938",\
                 "0.0581, 0.0569, 0.05348, 0.04917, 0.04501, 0.0415, 0.0387, 0.03647, 0.03476, 0.03343",\
                 "0.0846, 0.08285, 0.07765, 0.07066, 0.06359, 0.05722, 0.05197, 0.04766, 0.04421, 0.04136",\
                 "0.1201, 0.1179, 0.1111, 0.1013, 0.0909, 0.08109, 0.07254, 0.06539, 0.05943, 0.05455",\
                 "0.1651, 0.1624, 0.1541, 0.1418, 0.1278, 0.1141, 0.1018, 0.09109, 0.08187, 0.07422",\
                 "0.2199, 0.2168, 0.2072, 0.1924, 0.1749, 0.1573, 0.1406, 0.1258, 0.1129, 0.1017");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.101, 0.1011, 0.1011, 0.1013, 0.1016, 0.102, 0.1025, 0.1031, 0.1037, 0.1067",\
                 "0.09984, 0.09999, 0.1003, 0.1007, 0.1011, 0.1015, 0.1021, 0.1028, 0.1037, 0.1064",\
                 "0.09861, 0.0988, 0.09926, 0.09988, 0.1005, 0.1011, 0.1018, 0.1025, 0.1033, 0.1064",\
                 "0.101, 0.1008, 0.1006, 0.1005, 0.1008, 0.1013, 0.1017, 0.1026, 0.1032, 0.1067",\
                 "0.1118, 0.1109, 0.1089, 0.1068, 0.1054, 0.1046, 0.1042, 0.1043, 0.1051, 0.1081",\
                 "0.1334, 0.1317, 0.1272, 0.1221, 0.1177, 0.1142, 0.1119, 0.1104, 0.1096, 0.1129",\
                 "0.1655, 0.1633, 0.1568, 0.1479, 0.1397, 0.1328, 0.1273, 0.1229, 0.1203, 0.1233",\
                 "0.2075, 0.2049, 0.1968, 0.1849, 0.1724, 0.1613, 0.152, 0.1442, 0.1386, 0.1411",\
                 "0.2596, 0.2566, 0.2474, 0.2333, 0.2168, 0.201, 0.1873, 0.1754, 0.1661, 0.1706",\
                 "0.3223, 0.319, 0.3088, 0.2928, 0.273, 0.2525, 0.2337, 0.2175, 0.2061, 0.2164");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.02579, 0.02579, 0.02573, 0.02578, 0.0258, 0.02581, 0.02583, 0.02582, 0.02581, 0.02582",\
                 "0.02505, 0.02505, 0.02507, 0.02506, 0.02508, 0.02512, 0.02512, 0.02512, 0.02511, 0.02511",\
                 "0.02433, 0.02431, 0.02431, 0.02429, 0.0243, 0.02432, 0.02433, 0.02431, 0.0243, 0.02431",\
                 "0.02737, 0.02707, 0.02641, 0.02576, 0.02528, 0.02488, 0.02467, 0.02449, 0.02438, 0.02429",\
                 "0.03712, 0.03627, 0.03418, 0.03188, 0.02996, 0.02849, 0.02739, 0.02659, 0.02602, 0.02557",\
                 "0.05492, 0.05344, 0.04947, 0.04469, 0.04039, 0.03689, 0.03418, 0.03208, 0.03045, 0.02921",\
                 "0.08134, 0.07919, 0.07324, 0.06549, 0.05808, 0.05166, 0.04646, 0.04231, 0.03903, 0.03638",\
                 "0.1167, 0.114, 0.1061, 0.09532, 0.08429, 0.07429, 0.0658, 0.0588, 0.05313, 0.04849",\
                 "0.1614, 0.1582, 0.1486, 0.1347, 0.1198, 0.1058, 0.09339, 0.08284, 0.07402, 0.06668",\
                 "0.2157, 0.212, 0.2009, 0.1843, 0.1655, 0.1471, 0.1303, 0.1156, 0.1029, 0.09218");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.09263, 0.09267, 0.09279, 0.09297, 0.0934, 0.09382, 0.0942, 0.09506, 0.09684, 0.1126",\
                 "0.09144, 0.09161, 0.09198, 0.09239, 0.0928, 0.09332, 0.0937, 0.09479, 0.09669, 0.1127",\
                 "0.09016, 0.09034, 0.09086, 0.09154, 0.09218, 0.09289, 0.0934, 0.0942, 0.09678, 0.1129",\
                 "0.09211, 0.09202, 0.09177, 0.0919, 0.09228, 0.09286, 0.09347, 0.09423, 0.0964, 0.1147",\
                 "0.1019, 0.1011, 0.09923, 0.09741, 0.09614, 0.09573, 0.09558, 0.09567, 0.09833, 0.1186",\
                 "0.1223, 0.1207, 0.1166, 0.1118, 0.1077, 0.1046, 0.1026, 0.1013, 0.1036, 0.1263",\
                 "0.1536, 0.1513, 0.145, 0.1365, 0.1287, 0.1222, 0.117, 0.1133, 0.1142, 0.1412",\
                 "0.1948, 0.1922, 0.1843, 0.1727, 0.1605, 0.15, 0.1408, 0.1336, 0.1335, 0.167",\
                 "0.2462, 0.2432, 0.2341, 0.22, 0.2039, 0.1888, 0.1753, 0.1644, 0.1639, 0.2088",\
                 "0.308, 0.3048, 0.2947, 0.2787, 0.2593, 0.2393, 0.221, 0.2064, 0.209, 0.2756");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.02577, 0.02578, 0.02577, 0.02577, 0.0258, 0.02581, 0.0258, 0.02579, 0.02578, 0.02578",\
                 "0.02504, 0.02505, 0.02506, 0.02508, 0.0251, 0.02513, 0.02512, 0.02511, 0.02511, 0.02509",\
                 "0.0243, 0.02432, 0.02431, 0.02432, 0.02433, 0.02434, 0.02432, 0.02431, 0.02431, 0.02429",\
                 "0.02736, 0.02706, 0.02642, 0.02576, 0.02529, 0.02491, 0.02467, 0.02449, 0.02437, 0.02426",\
                 "0.03707, 0.03624, 0.03419, 0.03188, 0.02997, 0.02852, 0.02742, 0.02662, 0.02602, 0.02556",\
                 "0.05478, 0.05333, 0.04941, 0.04468, 0.04036, 0.03687, 0.03418, 0.03209, 0.03045, 0.02918",\
                 "0.08119, 0.07902, 0.07312, 0.06548, 0.05804, 0.05165, 0.04646, 0.04231, 0.03903, 0.03638",\
                 "0.1165, 0.1138, 0.106, 0.09524, 0.08426, 0.07424, 0.06577, 0.05879, 0.05308, 0.04847",\
                 "0.1611, 0.1579, 0.1484, 0.1346, 0.1198, 0.1057, 0.09333, 0.08281, 0.07401, 0.06659",\
                 "0.2154, 0.2117, 0.2007, 0.1841, 0.1654, 0.1471, 0.1303, 0.1155, 0.1029, 0.09216");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1093, 0.1093, 0.1094, 0.1096, 0.1099, 0.1103, 0.111, 0.1116, 0.1136, 0.1298",\
                 "0.1083, 0.1084, 0.1086, 0.109, 0.1095, 0.1099, 0.1104, 0.1112, 0.1133, 0.1293",\
                 "0.107, 0.1072, 0.1076, 0.1082, 0.1088, 0.1094, 0.11, 0.1107, 0.1133, 0.1303",\
                 "0.1085, 0.1085, 0.1083, 0.1085, 0.1088, 0.1094, 0.11, 0.1109, 0.1134, 0.1317",\
                 "0.1174, 0.1167, 0.1153, 0.1138, 0.1127, 0.1122, 0.112, 0.1123, 0.1152, 0.1356",\
                 "0.1367, 0.1354, 0.1318, 0.1276, 0.1239, 0.121, 0.1191, 0.1178, 0.1202, 0.1434",\
                 "0.167, 0.1651, 0.1593, 0.1518, 0.1446, 0.1384, 0.1332, 0.1296, 0.131, 0.1584",\
                 "0.2076, 0.2052, 0.1979, 0.1871, 0.1758, 0.1657, 0.1569, 0.1497, 0.1499, 0.1841",\
                 "0.2585, 0.2557, 0.2472, 0.2339, 0.2186, 0.2039, 0.1908, 0.1804, 0.1801, 0.2263",\
                 "0.32, 0.317, 0.3073, 0.2921, 0.2733, 0.254, 0.2364, 0.222, 0.2253, 0.2935");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.08528, 0.1052, 0.1744, 0.3056, 0.5097, 0.7958, 1.172, 1.646, 2.225, 2.917",\
                 "0.09667, 0.1168, 0.1864, 0.318, 0.5223, 0.8089, 1.185, 1.659, 2.237, 2.927",\
                 "0.1264, 0.153, 0.2314, 0.363, 0.5672, 0.8531, 1.23, 1.704, 2.283, 2.972",\
                 "0.1406, 0.177, 0.2834, 0.4461, 0.6554, 0.9405, 1.316, 1.79, 2.369, 3.057",\
                 "0.1331, 0.18, 0.3157, 0.5191, 0.7772, 1.08, 1.454, 1.926, 2.503, 3.192",\
                 "0.1008, 0.158, 0.3244, 0.5704, 0.8778, 1.24, 1.651, 2.123, 2.697, 3.384",\
                 "0.0413, 0.1095, 0.3053, 0.5959, 0.9545, 1.373, 1.85, 2.376, 2.958, 3.641",\
                 "-0.0476, 0.0312, 0.2569, 0.5927, 1.005, 1.482, 2.019, 2.618, 3.268, 3.972",\
                 "-0.1683, -0.0782, 0.1784, 0.5577, 1.025, 1.561, 2.162, 2.828, 3.555, 4.338",\
                 "-0.3232, -0.2218, 0.0659, 0.4884, 1.012, 1.61, 2.277, 3.008, 3.807, 4.671");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1239, 0.1572, 0.2716, 0.4872, 0.8222, 1.291, 1.91, 2.687, 3.638, 4.77",\
                 "0.1358, 0.1695, 0.2853, 0.5029, 0.8383, 1.308, 1.927, 2.705, 3.655, 4.784",\
                 "0.1966, 0.2305, 0.3432, 0.5596, 0.8954, 1.365, 1.984, 2.762, 3.713, 4.845",\
                 "0.2908, 0.334, 0.4671, 0.6824, 1.014, 1.482, 2.099, 2.876, 3.827, 4.954",\
                 "0.4132, 0.4659, 0.624, 0.8771, 1.212, 1.674, 2.286, 3.061, 4.008, 5.138",\
                 "0.5627, 0.6268, 0.8135, 1.104, 1.489, 1.957, 2.56, 3.329, 4.271, 5.395",\
                 "0.7387, 0.8157, 1.035, 1.365, 1.796, 2.323, 2.937, 3.696, 4.63, 5.749",\
                 "0.9444, 1.034, 1.288, 1.663, 2.139, 2.722, 3.401, 4.17, 5.096, 6.207",\
                 "1.18, 1.282, 1.574, 1.998, 2.525, 3.158, 3.902, 4.741, 5.678, 6.779",\
                 "1.449, 1.563, 1.891, 2.368, 2.951, 3.637, 4.438, 5.351, 6.36, 7.475");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1026, 0.1364, 0.2535, 0.4779, 0.8271, 1.316, 1.959, 2.766, 3.756, 4.942",\
                 "0.1026, 0.1361, 0.2536, 0.4772, 0.8256, 1.316, 1.958, 2.77, 3.753, 4.934",\
                 "0.1419, 0.1731, 0.2676, 0.4777, 0.8268, 1.315, 1.957, 2.768, 3.756, 4.934",\
                 "0.2088, 0.2453, 0.3602, 0.544, 0.8378, 1.314, 1.957, 2.768, 3.756, 4.932",\
                 "0.2991, 0.3448, 0.4774, 0.6908, 0.9776, 1.371, 1.961, 2.768, 3.758, 4.94",\
                 "0.4052, 0.4616, 0.6214, 0.8602, 1.187, 1.588, 2.089, 2.8, 3.756, 4.936",\
                 "0.5272, 0.5952, 0.7876, 1.063, 1.416, 1.863, 2.389, 3.015, 3.852, 4.947",\
                 "0.665, 0.7452, 0.9716, 1.292, 1.684, 2.162, 2.736, 3.4, 4.157, 5.132",\
                 "0.8164, 0.9118, 1.172, 1.546, 1.985, 2.496, 3.114, 3.827, 4.633, 5.537",\
                 "0.981, 1.092, 1.392, 1.814, 2.311, 2.875, 3.522, 4.28, 5.149, 6.105");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1763, 0.2342, 0.4324, 0.8112, 1.402, 2.229, 3.318, 4.687, 6.363, 8.362",\
                 "0.1758, 0.2328, 0.4336, 0.8123, 1.399, 2.226, 3.318, 4.686, 6.363, 8.352",\
                 "0.1969, 0.2434, 0.4315, 0.8114, 1.4, 2.228, 3.318, 4.683, 6.365, 8.359",\
                 "0.2598, 0.3149, 0.4855, 0.8163, 1.398, 2.227, 3.317, 4.682, 6.363, 8.348",\
                 "0.344, 0.4022, 0.5968, 0.918, 1.423, 2.227, 3.315, 4.681, 6.352, 8.358",\
                 "0.4512, 0.517, 0.722, 1.082, 1.574, 2.273, 3.313, 4.681, 6.359, 8.354",\
                 "0.573, 0.653, 0.8804, 1.258, 1.801, 2.472, 3.398, 4.694, 6.356, 8.353",\
                 "0.7068, 0.801, 1.063, 1.465, 2.038, 2.772, 3.645, 4.816, 6.368, 8.35",\
                 "0.8514, 0.9614, 1.264, 1.707, 2.296, 3.082, 4.017, 5.109, 6.542, 8.389",\
                 "1.01, 1.135, 1.481, 1.975, 2.6, 3.403, 4.413, 5.549, 6.888, 8.602");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.0855, 0.1054, 0.1745, 0.3057, 0.5097, 0.7957, 1.172, 1.647, 2.226, 2.917",\
                 "0.09726, 0.1174, 0.1873, 0.3185, 0.5227, 0.8092, 1.186, 1.659, 2.239, 2.928",\
                 "0.1281, 0.1546, 0.2326, 0.3642, 0.5682, 0.8545, 1.231, 1.706, 2.285, 2.973",\
                 "0.1402, 0.177, 0.2842, 0.447, 0.6566, 0.9416, 1.317, 1.791, 2.37, 3.06",\
                 "0.1253, 0.1733, 0.3113, 0.5174, 0.7769, 1.081, 1.455, 1.927, 2.504, 3.194",\
                 "0.0793, 0.1386, 0.3102, 0.5616, 0.8732, 1.238, 1.649, 2.122, 2.698, 3.385",\
                 "0.0005, 0.0714, 0.2748, 0.5741, 0.9408, 1.365, 1.845, 2.373, 2.956, 3.64",\
                 "-0.1141, -0.0317, 0.2041, 0.5524, 0.9748, 1.462, 2.007, 2.609, 3.262, 3.968",\
                 "-0.2669, -0.173, 0.0961, 0.4905, 0.9738, 1.525, 2.136, 2.808, 3.541, 4.328",\
                 "-0.4604, -0.355, -0.0529, 0.3886, 0.9317, 1.547, 2.228, 2.973, 3.783, 4.652");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1502, 0.194, 0.3458, 0.6318, 1.075, 1.697, 2.515, 3.543, 4.802, 6.297",\
                 "0.1596, 0.2036, 0.3572, 0.6452, 1.09, 1.713, 2.532, 3.56, 4.816, 6.318",\
                 "0.2206, 0.2616, 0.4101, 0.6973, 1.143, 1.766, 2.584, 3.615, 4.87, 6.368",\
                 "0.3265, 0.3772, 0.5343, 0.8128, 1.253, 1.873, 2.691, 3.719, 4.978, 6.476",\
                 "0.4662, 0.5259, 0.7097, 1.01, 1.442, 2.054, 2.866, 3.89, 5.146, 6.64",\
                 "0.6415, 0.7119, 0.9224, 1.263, 1.721, 2.325, 3.127, 4.146, 5.394, 6.886",\
                 "0.8497, 0.9339, 1.177, 1.553, 2.064, 2.695, 3.486, 4.496, 5.734, 7.221",\
                 "1.095, 1.193, 1.472, 1.891, 2.446, 3.138, 3.955, 4.951, 6.179, 7.654",\
                 "1.377, 1.49, 1.807, 2.276, 2.876, 3.621, 4.507, 5.523, 6.739, 8.2",\
                 "1.701, 1.826, 2.184, 2.706, 3.36, 4.154, 5.102, 6.191, 7.422, 8.87");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.103, 0.1365, 0.2537, 0.4774, 0.8264, 1.315, 1.957, 2.768, 3.759, 4.94",\
                 "0.1026, 0.1361, 0.2538, 0.4781, 0.8265, 1.315, 1.957, 2.768, 3.758, 4.933",\
                 "0.1412, 0.172, 0.2669, 0.4777, 0.8263, 1.314, 1.957, 2.769, 3.758, 4.932",\
                 "0.2074, 0.2454, 0.3598, 0.543, 0.8378, 1.314, 1.958, 2.767, 3.759, 4.939",\
                 "0.2973, 0.3448, 0.4776, 0.6918, 0.9784, 1.368, 1.961, 2.768, 3.758, 4.938",\
                 "0.4048, 0.462, 0.626, 0.8648, 1.189, 1.591, 2.091, 2.8, 3.757, 4.936",\
                 "0.5298, 0.5992, 0.7938, 1.074, 1.426, 1.868, 2.395, 3.016, 3.849, 4.947",\
                 "0.672, 0.755, 0.9832, 1.308, 1.7, 2.176, 2.747, 3.407, 4.162, 5.13",\
                 "0.8258, 0.9264, 1.19, 1.565, 2.009, 2.522, 3.132, 3.842, 4.645, 5.541",\
                 "0.9928, 1.11, 1.421, 1.841, 2.344, 2.909, 3.555, 4.311, 5.161, 6.117");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2401, 0.3189, 0.5842, 1.085, 1.864, 2.955, 4.397, 6.205, 8.405, 11.04",\
                 "0.2381, 0.3167, 0.5849, 1.086, 1.863, 2.954, 4.394, 6.206, 8.415, 11.04",\
                 "0.2451, 0.3142, 0.5827, 1.086, 1.863, 2.954, 4.388, 6.192, 8.415, 11.05",\
                 "0.3034, 0.3765, 0.6049, 1.084, 1.866, 2.959, 4.39, 6.196, 8.404, 11.04",\
                 "0.3808, 0.4552, 0.707, 1.137, 1.865, 2.958, 4.388, 6.199, 8.416, 11.03",\
                 "0.487, 0.5642, 0.8234, 1.288, 1.949, 2.962, 4.391, 6.196, 8.403, 11.03",\
                 "0.6094, 0.6972, 0.969, 1.454, 2.148, 3.074, 4.401, 6.199, 8.415, 11.04",\
                 "0.7494, 0.8504, 1.148, 1.64, 2.378, 3.319, 4.548, 6.23, 8.408, 11.04",\
                 "0.9046, 1.021, 1.352, 1.868, 2.621, 3.627, 4.835, 6.396, 8.445, 11.05",\
                 "1.072, 1.205, 1.577, 2.131, 2.894, 3.935, 5.217, 6.721, 8.648, 11.1");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.08893, 0.1091, 0.1793, 0.3123, 0.5182, 0.8051, 1.181, 1.655, 2.234, 2.924",\
                 "0.1006, 0.1212, 0.1918, 0.3252, 0.5314, 0.8184, 1.195, 1.669, 2.248, 2.937",\
                 "0.1336, 0.16, 0.2377, 0.3709, 0.5769, 0.864, 1.24, 1.714, 2.293, 2.982",\
                 "0.1502, 0.1865, 0.293, 0.4553, 0.6654, 0.9512, 1.327, 1.8, 2.379, 3.068",\
                 "0.143, 0.1894, 0.3254, 0.5295, 0.7879, 1.09, 1.464, 1.937, 2.514, 3.202",\
                 "0.1082, 0.1645, 0.3307, 0.5782, 0.887, 1.25, 1.66, 2.132, 2.707, 3.394",\
                 "0.0427, 0.1081, 0.3033, 0.5955, 0.9574, 1.379, 1.857, 2.383, 2.967, 3.651",\
                 "-0.0579, 0.0167, 0.2399, 0.5784, 0.9963, 1.478, 2.021, 2.621, 3.273, 3.978",\
                 "-0.1975, -0.1131, 0.1392, 0.5219, 0.9973, 1.544, 2.152, 2.822, 3.553, 4.339",\
                 "-0.3777, -0.2835, -0.0015, 0.4253, 0.9584, 1.57, 2.249, 2.99, 3.796, 4.665");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2086, 0.2525, 0.4045, 0.6907, 1.135, 1.757, 2.574, 3.604, 4.864, 6.36",\
                 "0.2189, 0.2633, 0.417, 0.7051, 1.15, 1.773, 2.593, 3.621, 4.881, 6.378",\
                 "0.2756, 0.3181, 0.469, 0.7567, 1.202, 1.826, 2.645, 3.677, 4.932, 6.43",\
                 "0.3934, 0.4407, 0.5909, 0.8713, 1.312, 1.934, 2.751, 3.78, 5.038, 6.54",\
                 "0.5451, 0.6, 0.7758, 1.068, 1.5, 2.114, 2.926, 3.954, 5.208, 6.706",\
                 "0.7345, 0.7978, 0.9957, 1.328, 1.779, 2.383, 3.188, 4.207, 5.457, 6.949",\
                 "0.9605, 1.034, 1.259, 1.625, 2.128, 2.753, 3.546, 4.554, 5.796, 7.283",\
                 "1.223, 1.309, 1.566, 1.968, 2.515, 3.201, 4.012, 5.011, 6.239, 7.715",\
                 "1.525, 1.623, 1.912, 2.361, 2.95, 3.69, 4.569, 5.581, 6.797, 8.261",\
                 "1.867, 1.977, 2.302, 2.801, 3.439, 4.226, 5.17, 6.253, 7.48, 8.929");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1417, 0.1761, 0.2944, 0.5184, 0.8667, 1.357, 1.997, 2.81, 3.796, 4.976",\
                 "0.1417, 0.1762, 0.2946, 0.5185, 0.8675, 1.355, 1.999, 2.81, 3.797, 4.973",\
                 "0.1887, 0.216, 0.308, 0.5186, 0.867, 1.355, 1.999, 2.81, 3.799, 4.975",\
                 "0.274, 0.3053, 0.4092, 0.5852, 0.8791, 1.355, 1.997, 2.81, 3.796, 4.974",\
                 "0.3888, 0.425, 0.5415, 0.7426, 1.021, 1.413, 2.004, 2.808, 3.797, 4.974",\
                 "0.5256, 0.5688, 0.705, 0.9272, 1.24, 1.634, 2.132, 2.843, 3.8, 4.978",\
                 "0.6814, 0.7326, 0.8934, 1.148, 1.485, 1.918, 2.438, 3.058, 3.895, 4.994",\
                 "0.8568, 0.9152, 1.103, 1.394, 1.768, 2.233, 2.797, 3.451, 4.204, 5.175",\
                 "1.045, 1.118, 1.331, 1.668, 2.088, 2.587, 3.187, 3.891, 4.688, 5.585",\
                 "1.25, 1.336, 1.584, 1.963, 2.432, 2.985, 3.618, 4.361, 5.213, 6.162");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3201, 0.397, 0.6629, 1.164, 1.943, 3.035, 4.469, 6.277, 8.484, 11.12",\
                 "0.3188, 0.3966, 0.6625, 1.164, 1.943, 3.035, 4.473, 6.278, 8.484, 11.11",\
                 "0.3141, 0.3912, 0.6608, 1.164, 1.943, 3.035, 4.47, 6.279, 8.484, 11.12",\
                 "0.3718, 0.4394, 0.6712, 1.162, 1.943, 3.035, 4.471, 6.277, 8.489, 11.12",\
                 "0.4466, 0.522, 0.7718, 1.202, 1.943, 3.035, 4.47, 6.279, 8.489, 11.12",\
                 "0.5494, 0.6268, 0.8906, 1.351, 2.014, 3.038, 4.47, 6.279, 8.487, 11.12",\
                 "0.6792, 0.765, 1.033, 1.521, 2.209, 3.14, 4.48, 6.277, 8.484, 11.12",\
                 "0.8276, 0.9238, 1.213, 1.709, 2.445, 3.38, 4.61, 6.297, 8.483, 11.12",\
                 "0.9926, 1.101, 1.42, 1.931, 2.689, 3.691, 4.897, 6.458, 8.515, 11.11",\
                 "1.172, 1.294, 1.647, 2.195, 2.962, 4.009, 5.28, 6.785, 8.704, 11.16");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.08528, 0.1052, 0.1744, 0.3056, 0.5097, 0.7958, 1.172, 1.646, 2.225, 2.917",\
                 "0.09667, 0.1168, 0.1864, 0.318, 0.5223, 0.8089, 1.185, 1.659, 2.237, 2.927",\
                 "0.1264, 0.153, 0.2314, 0.363, 0.5672, 0.8531, 1.23, 1.704, 2.283, 2.972",\
                 "0.1406, 0.177, 0.2834, 0.4461, 0.6554, 0.9405, 1.316, 1.79, 2.369, 3.057",\
                 "0.1331, 0.18, 0.3157, 0.5191, 0.7772, 1.08, 1.454, 1.926, 2.503, 3.192",\
                 "0.1008, 0.158, 0.3244, 0.5704, 0.8778, 1.24, 1.651, 2.123, 2.697, 3.384",\
                 "0.0413, 0.1095, 0.3053, 0.5959, 0.9545, 1.373, 1.85, 2.376, 2.958, 3.641",\
                 "-0.0476, 0.0312, 0.2569, 0.5927, 1.005, 1.482, 2.019, 2.618, 3.268, 3.972",\
                 "-0.1683, -0.0782, 0.1784, 0.5577, 1.025, 1.561, 2.162, 2.828, 3.555, 4.338",\
                 "-0.3232, -0.2218, 0.0659, 0.4884, 1.012, 1.61, 2.277, 3.008, 3.807, 4.671");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2086, 0.2525, 0.4045, 0.6907, 1.135, 1.757, 2.574, 3.604, 4.864, 6.36",\
                 "0.2189, 0.2633, 0.417, 0.7051, 1.15, 1.773, 2.593, 3.621, 4.881, 6.378",\
                 "0.2756, 0.3181, 0.469, 0.7567, 1.202, 1.826, 2.645, 3.677, 4.932, 6.43",\
                 "0.3934, 0.4407, 0.5909, 0.8713, 1.312, 1.934, 2.751, 3.78, 5.038, 6.54",\
                 "0.5451, 0.6, 0.7758, 1.068, 1.5, 2.114, 2.926, 3.954, 5.208, 6.706",\
                 "0.7345, 0.7978, 0.9957, 1.328, 1.779, 2.383, 3.188, 4.207, 5.457, 6.949",\
                 "0.9605, 1.034, 1.259, 1.625, 2.128, 2.753, 3.546, 4.554, 5.796, 7.283",\
                 "1.223, 1.309, 1.566, 1.968, 2.515, 3.201, 4.012, 5.011, 6.239, 7.715",\
                 "1.525, 1.623, 1.912, 2.361, 2.95, 3.69, 4.569, 5.581, 6.797, 8.261",\
                 "1.867, 1.977, 2.302, 2.801, 3.439, 4.226, 5.17, 6.253, 7.48, 8.929");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1417, 0.1761, 0.2944, 0.5184, 0.8667, 1.357, 1.997, 2.81, 3.796, 4.976",\
                 "0.1417, 0.1762, 0.2946, 0.5185, 0.8675, 1.355, 1.999, 2.81, 3.797, 4.973",\
                 "0.1887, 0.216, 0.308, 0.5186, 0.867, 1.355, 1.999, 2.81, 3.799, 4.975",\
                 "0.274, 0.3053, 0.4092, 0.5852, 0.8791, 1.355, 1.997, 2.81, 3.796, 4.974",\
                 "0.3888, 0.425, 0.5415, 0.7426, 1.021, 1.413, 2.004, 2.808, 3.797, 4.974",\
                 "0.5256, 0.5688, 0.705, 0.9272, 1.24, 1.634, 2.132, 2.843, 3.8, 4.978",\
                 "0.6814, 0.7326, 0.8934, 1.148, 1.485, 1.918, 2.438, 3.058, 3.895, 4.994",\
                 "0.8568, 0.9152, 1.103, 1.394, 1.768, 2.233, 2.797, 3.451, 4.204, 5.175",\
                 "1.045, 1.118, 1.331, 1.668, 2.088, 2.587, 3.187, 3.891, 4.688, 5.585",\
                 "1.25, 1.336, 1.584, 1.963, 2.432, 2.985, 3.618, 4.361, 5.213, 6.162");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3201, 0.397, 0.6629, 1.164, 1.943, 3.035, 4.469, 6.277, 8.484, 11.12",\
                 "0.3188, 0.3966, 0.6625, 1.164, 1.943, 3.035, 4.473, 6.278, 8.484, 11.11",\
                 "0.3141, 0.3912, 0.6608, 1.164, 1.943, 3.035, 4.47, 6.279, 8.484, 11.12",\
                 "0.3718, 0.4394, 0.6712, 1.162, 1.943, 3.035, 4.471, 6.277, 8.489, 11.12",\
                 "0.4466, 0.522, 0.7718, 1.202, 1.943, 3.035, 4.47, 6.279, 8.489, 11.12",\
                 "0.5494, 0.6268, 0.8906, 1.351, 2.014, 3.038, 4.47, 6.279, 8.487, 11.12",\
                 "0.6792, 0.765, 1.033, 1.521, 2.209, 3.14, 4.48, 6.277, 8.484, 11.12",\
                 "0.8276, 0.9238, 1.213, 1.709, 2.445, 3.38, 4.61, 6.297, 8.483, 11.12",\
                 "0.9926, 1.101, 1.42, 1.931, 2.689, 3.691, 4.897, 6.458, 8.515, 11.11",\
                 "1.172, 1.294, 1.647, 2.195, 2.962, 4.009, 5.28, 6.785, 8.704, 11.16");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.09953, 0.1194, 0.1885, 0.3193, 0.5236, 0.8098, 1.186, 1.661, 2.239, 2.931",\
                 "0.109, 0.1292, 0.1993, 0.3309, 0.5349, 0.8217, 1.198, 1.673, 2.252, 2.942",\
                 "0.1264, 0.1505, 0.2263, 0.3586, 0.5633, 0.8501, 1.226, 1.701, 2.281, 2.971",\
                 "0.1313, 0.1627, 0.2564, 0.4072, 0.6172, 0.9029, 1.279, 1.753, 2.331, 3.024",\
                 "0.1104, 0.152, 0.2715, 0.4508, 0.688, 0.9886, 1.364, 1.837, 2.416, 3.105",\
                 "0.0602, 0.1112, 0.2592, 0.4769, 0.7488, 1.081, 1.482, 1.959, 2.535, 3.223",\
                 "-0.0227, 0.0382, 0.2143, 0.4732, 0.7914, 1.163, 1.599, 2.109, 2.696, 3.383",\
                 "-0.1403, -0.0699, 0.1346, 0.4353, 0.8027, 1.225, 1.704, 2.251, 2.877, 3.585",\
                 "-0.2962, -0.2153, 0.017, 0.3591, 0.7787, 1.255, 1.788, 2.381, 3.048, 3.797",\
                 "-0.4925, -0.4018, -0.1401, 0.2431, 0.7136, 1.249, 1.841, 2.489, 3.204, 3.997");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1605, 0.1933, 0.307, 0.5224, 0.8566, 1.326, 1.944, 2.723, 3.67, 4.805",\
                 "0.1731, 0.2063, 0.3207, 0.5367, 0.8714, 1.341, 1.958, 2.738, 3.688, 4.817",\
                 "0.2367, 0.2687, 0.381, 0.5959, 0.9306, 1.399, 2.017, 2.794, 3.747, 4.875",\
                 "0.3475, 0.3869, 0.5102, 0.721, 1.052, 1.517, 2.134, 2.911, 3.861, 4.993",\
                 "0.4906, 0.5364, 0.6825, 0.9234, 1.253, 1.713, 2.323, 3.095, 4.042, 5.173",\
                 "0.6684, 0.7231, 0.8898, 1.165, 1.537, 1.998, 2.602, 3.369, 4.307, 5.432",\
                 "0.8819, 0.9456, 1.139, 1.445, 1.861, 2.374, 2.982, 3.738, 4.671, 5.79",\
                 "1.133, 1.207, 1.428, 1.771, 2.223, 2.79, 3.455, 4.219, 5.143, 6.249",\
                 "1.423, 1.507, 1.758, 2.142, 2.636, 3.246, 3.973, 4.8, 5.73, 6.827",\
                 "1.755, 1.849, 2.131, 2.558, 3.1, 3.753, 4.532, 5.428, 6.424, 7.531");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1028, 0.1363, 0.2537, 0.4773, 0.8257, 1.316, 1.959, 2.769, 3.755, 4.942",\
                 "0.1028, 0.1362, 0.2538, 0.4777, 0.8249, 1.316, 1.958, 2.769, 3.76, 4.94",\
                 "0.1308, 0.1608, 0.2634, 0.4769, 0.8249, 1.315, 1.958, 2.77, 3.76, 4.941",\
                 "0.193, 0.2227, 0.326, 0.5219, 0.8372, 1.314, 1.958, 2.767, 3.759, 4.944",\
                 "0.2819, 0.3163, 0.4252, 0.6206, 0.9254, 1.356, 1.964, 2.767, 3.757, 4.936",\
                 "0.3878, 0.43, 0.5566, 0.761, 1.063, 1.491, 2.052, 2.801, 3.76, 4.931",\
                 "0.5104, 0.5602, 0.7098, 0.9404, 1.251, 1.674, 2.235, 2.939, 3.84, 4.956",\
                 "0.6448, 0.705, 0.8798, 1.144, 1.482, 1.911, 2.468, 3.173, 4.03, 5.08",\
                 "0.7918, 0.8626, 1.066, 1.367, 1.744, 2.197, 2.751, 3.459, 4.32, 5.34",\
                 "0.946, 1.032, 1.269, 1.609, 2.029, 2.519, 3.093, 3.793, 4.659, 5.681");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2333, 0.2909, 0.4906, 0.87, 1.459, 2.286, 3.372, 4.743, 6.418, 8.412",\
                 "0.2328, 0.2904, 0.4905, 0.8702, 1.459, 2.285, 3.373, 4.742, 6.413, 8.407",\
                 "0.2412, 0.2934, 0.4898, 0.8697, 1.459, 2.286, 3.373, 4.744, 6.414, 8.408",\
                 "0.3088, 0.3624, 0.5287, 0.8716, 1.458, 2.285, 3.373, 4.743, 6.413, 8.406",\
                 "0.3874, 0.4486, 0.6414, 0.9604, 1.474, 2.284, 3.372, 4.743, 6.414, 8.406",\
                 "0.4884, 0.5554, 0.7632, 1.125, 1.614, 2.325, 3.373, 4.741, 6.413, 8.406",\
                 "0.6062, 0.6824, 0.9092, 1.295, 1.839, 2.512, 3.445, 4.747, 6.412, 8.403",\
                 "0.7408, 0.8274, 1.081, 1.486, 2.069, 2.806, 3.684, 4.857, 6.427, 8.402",\
                 "0.8878, 0.9878, 1.274, 1.71, 2.314, 3.104, 4.046, 5.148, 6.58, 8.436",\
                 "1.046, 1.161, 1.485, 1.965, 2.591, 3.414, 4.427, 5.577, 6.925, 8.636");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.09967, 0.1196, 0.1885, 0.3197, 0.5237, 0.8094, 1.186, 1.661, 2.24, 2.929",\
                 "0.1096, 0.1298, 0.1999, 0.3315, 0.5358, 0.8217, 1.198, 1.672, 2.252, 2.941",\
                 "0.128, 0.152, 0.2277, 0.3601, 0.5645, 0.8508, 1.228, 1.702, 2.281, 2.971",\
                 "0.1318, 0.1635, 0.2575, 0.4084, 0.6185, 0.9044, 1.281, 1.755, 2.334, 3.023",\
                 "0.1055, 0.1476, 0.2686, 0.4498, 0.6878, 0.989, 1.365, 1.838, 2.417, 3.105",\
                 "0.0443, 0.0967, 0.248, 0.4695, 0.7447, 1.079, 1.481, 1.958, 2.535, 3.223",\
                 "-0.0561, 0.0073, 0.189, 0.455, 0.7791, 1.155, 1.594, 2.105, 2.694, 3.381",\
                 "-0.1968, -0.1231, 0.0893, 0.4003, 0.7769, 1.207, 1.691, 2.242, 2.87, 3.581",\
                 "-0.3811, -0.2976, -0.0548, 0.3005, 0.7333, 1.222, 1.764, 2.362, 3.034, 3.786",\
                 "-0.6117, -0.5187, -0.2452, 0.156, 0.6421, 1.194, 1.799, 2.458, 3.178, 3.977");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1992, 0.2424, 0.393, 0.6785, 1.122, 1.744, 2.561, 3.59, 4.851, 6.346",\
                 "0.2097, 0.2532, 0.4048, 0.691, 1.135, 1.758, 2.576, 3.606, 4.864, 6.361",\
                 "0.2704, 0.312, 0.4607, 0.7459, 1.19, 1.812, 2.631, 3.659, 4.917, 6.417",\
                 "0.3928, 0.4394, 0.587, 0.8646, 1.304, 1.922, 2.738, 3.766, 5.023, 6.524",\
                 "0.5522, 0.6058, 0.7778, 1.066, 1.495, 2.106, 2.916, 3.942, 5.197, 6.69",\
                 "0.7553, 0.8159, 1.008, 1.334, 1.78, 2.38, 3.181, 4.198, 5.447, 6.937",\
                 "1, 1.071, 1.287, 1.643, 2.138, 2.756, 3.545, 4.551, 5.79, 7.275",\
                 "1.291, 1.371, 1.616, 2.004, 2.538, 3.215, 4.02, 5.012, 6.238, 7.711",\
                 "1.628, 1.72, 1.995, 2.422, 2.993, 3.718, 4.587, 5.592, 6.803, 8.262",\
                 "2.014, 2.117, 2.423, 2.896, 3.511, 4.277, 5.205, 6.276, 7.497, 8.939");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1028, 0.1363, 0.2538, 0.4772, 0.8265, 1.314, 1.958, 2.768, 3.759, 4.936",\
                 "0.1027, 0.1363, 0.2539, 0.4777, 0.8266, 1.314, 1.958, 2.769, 3.76, 4.934",\
                 "0.13, 0.1602, 0.2631, 0.4775, 0.8266, 1.315, 1.957, 2.77, 3.757, 4.939",\
                 "0.1913, 0.2216, 0.3256, 0.5213, 0.837, 1.314, 1.957, 2.768, 3.756, 4.938",\
                 "0.2791, 0.3142, 0.4243, 0.6208, 0.9258, 1.356, 1.963, 2.767, 3.757, 4.938",\
                 "0.3856, 0.4286, 0.5576, 0.7628, 1.065, 1.492, 2.052, 2.8, 3.757, 4.932",\
                 "0.5098, 0.5606, 0.712, 0.944, 1.256, 1.677, 2.238, 2.94, 3.836, 4.96",\
                 "0.647, 0.7106, 0.8854, 1.152, 1.492, 1.917, 2.474, 3.178, 4.032, 5.085",\
                 "0.793, 0.8682, 1.077, 1.379, 1.755, 2.209, 2.765, 3.468, 4.323, 5.343",\
                 "0.9484, 1.038, 1.288, 1.63, 2.05, 2.539, 3.114, 3.81, 4.667, 5.691");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3188, 0.3966, 0.6624, 1.164, 1.943, 3.035, 4.469, 6.277, 8.484, 11.1",\
                 "0.318, 0.3955, 0.6623, 1.164, 1.943, 3.035, 4.471, 6.277, 8.483, 11.11",\
                 "0.3147, 0.3905, 0.6605, 1.163, 1.943, 3.035, 4.472, 6.272, 8.485, 11.11",\
                 "0.3713, 0.4398, 0.6718, 1.162, 1.942, 3.035, 4.471, 6.277, 8.488, 11.12",\
                 "0.4422, 0.5188, 0.7698, 1.202, 1.943, 3.034, 4.471, 6.278, 8.488, 11.12",\
                 "0.5366, 0.6162, 0.8838, 1.346, 2.013, 3.038, 4.47, 6.278, 8.486, 11.12",\
                 "0.6546, 0.7402, 1.015, 1.511, 2.203, 3.137, 4.48, 6.277, 8.485, 11.12",\
                 "0.7876, 0.8852, 1.179, 1.684, 2.432, 3.375, 4.608, 6.298, 8.482, 11.11",\
                 "0.9366, 1.045, 1.368, 1.892, 2.663, 3.674, 4.886, 6.454, 8.516, 11.11",\
                 "1.102, 1.224, 1.579, 2.135, 2.913, 3.975, 5.258, 6.771, 8.7, 11.16");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1031, 0.1233, 0.1933, 0.3262, 0.5321, 0.819, 1.195, 1.669, 2.248, 2.938",\
                 "0.113, 0.1336, 0.2045, 0.338, 0.5441, 0.8312, 1.208, 1.682, 2.26, 2.95",\
                 "0.1327, 0.1567, 0.2328, 0.3667, 0.5732, 0.8604, 1.237, 1.711, 2.29, 2.979",\
                 "0.1396, 0.1709, 0.2645, 0.4162, 0.6274, 0.9141, 1.29, 1.764, 2.343, 3.032",\
                 "0.1195, 0.1601, 0.2794, 0.4597, 0.698, 0.999, 1.375, 1.848, 2.426, 3.115",\
                 "0.0666, 0.1166, 0.2643, 0.4832, 0.7569, 1.09, 1.491, 1.969, 2.545, 3.232",\
                 "-0.0217, 0.0371, 0.2118, 0.4729, 0.7936, 1.167, 1.605, 2.116, 2.705, 3.391",\
                 "-0.1507, -0.083, 0.1191, 0.4226, 0.7945, 1.221, 1.703, 2.253, 2.881, 3.591",\
                 "-0.3241, -0.2471, -0.0178, 0.3274, 0.7538, 1.239, 1.778, 2.375, 3.045, 3.797",\
                 "-0.5434, -0.4582, -0.2011, 0.1876, 0.6664, 1.213, 1.815, 2.471, 3.191, 3.989");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2572, 0.3005, 0.4515, 0.7373, 1.181, 1.803, 2.62, 3.65, 4.91, 6.405",\
                 "0.2684, 0.3121, 0.4636, 0.75, 1.194, 1.817, 2.635, 3.665, 4.924, 6.42",\
                 "0.3267, 0.3693, 0.5193, 0.8047, 1.249, 1.871, 2.689, 3.721, 4.976, 6.477",\
                 "0.4544, 0.4984, 0.6434, 0.9226, 1.362, 1.981, 2.797, 3.825, 5.084, 6.58",\
                 "0.6234, 0.6744, 0.8401, 1.123, 1.553, 2.164, 2.974, 4.002, 5.254, 6.75",\
                 "0.8354, 0.8923, 1.078, 1.396, 1.837, 2.438, 3.239, 4.257, 5.506, 6.995",\
                 "1.094, 1.158, 1.363, 1.712, 2.199, 2.813, 3.603, 4.609, 5.848, 7.333",\
                 "1.397, 1.47, 1.7, 2.078, 2.605, 3.275, 4.076, 5.07, 6.296, 7.77",\
                 "1.749, 1.831, 2.089, 2.502, 3.064, 3.784, 4.647, 5.65, 6.861, 8.32",\
                 "2.15, 2.242, 2.528, 2.984, 3.585, 4.346, 5.269, 6.334, 7.554, 8.997");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1417, 0.1762, 0.2945, 0.5185, 0.8673, 1.356, 2, 2.81, 3.799, 4.977",\
                 "0.1418, 0.1763, 0.2945, 0.5185, 0.867, 1.356, 1.999, 2.81, 3.799, 4.978",\
                 "0.1737, 0.2025, 0.3043, 0.5188, 0.8675, 1.356, 1.998, 2.81, 3.799, 4.976",\
                 "0.2463, 0.273, 0.3713, 0.5632, 0.8788, 1.357, 2, 2.81, 3.797, 4.978",\
                 "0.3529, 0.3819, 0.4794, 0.6678, 0.9688, 1.397, 2.007, 2.81, 3.798, 4.974",\
                 "0.4824, 0.515, 0.6252, 0.8196, 1.113, 1.536, 2.094, 2.84, 3.802, 4.976",\
                 "0.6316, 0.6692, 0.7952, 1.008, 1.308, 1.725, 2.282, 2.983, 3.878, 5.001",\
                 "0.7958, 0.8422, 0.9856, 1.228, 1.551, 1.968, 2.52, 3.221, 4.076, 5.128",\
                 "0.9722, 1.026, 1.196, 1.468, 1.825, 2.267, 2.815, 3.511, 4.368, 5.386",\
                 "1.156, 1.224, 1.425, 1.731, 2.127, 2.604, 3.169, 3.86, 4.715, 5.736");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3965, 0.4729, 0.7395, 1.241, 2.022, 3.114, 4.549, 6.357, 8.565, 11.19",\
                 "0.3954, 0.4731, 0.739, 1.242, 2.022, 3.115, 4.551, 6.358, 8.564, 11.19",\
                 "0.3909, 0.4694, 0.7384, 1.242, 2.021, 3.114, 4.549, 6.361, 8.565, 11.19",\
                 "0.4337, 0.4998, 0.7419, 1.241, 2.021, 3.114, 4.551, 6.357, 8.566, 11.2",\
                 "0.5114, 0.588, 0.831, 1.27, 2.02, 3.113, 4.551, 6.359, 8.564, 11.2",\
                 "0.6056, 0.6858, 0.9516, 1.408, 2.08, 3.116, 4.548, 6.358, 8.566, 11.2",\
                 "0.726, 0.81, 1.085, 1.578, 2.263, 3.205, 4.558, 6.357, 8.565, 11.2",\
                 "0.8684, 0.9604, 1.248, 1.756, 2.498, 3.434, 4.677, 6.374, 8.565, 11.2",\
                 "1.024, 1.127, 1.439, 1.96, 2.733, 3.738, 4.949, 6.524, 8.593, 11.19",\
                 "1.2, 1.312, 1.656, 2.201, 2.985, 4.043, 5.321, 6.835, 8.772, 11.24");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.09953, 0.1194, 0.1885, 0.3193, 0.5236, 0.8098, 1.186, 1.661, 2.239, 2.931",\
                 "0.109, 0.1292, 0.1993, 0.3309, 0.5349, 0.8217, 1.198, 1.673, 2.252, 2.942",\
                 "0.1264, 0.1505, 0.2263, 0.3586, 0.5633, 0.8501, 1.226, 1.701, 2.281, 2.971",\
                 "0.1313, 0.1627, 0.2564, 0.4072, 0.6172, 0.9029, 1.279, 1.753, 2.331, 3.024",\
                 "0.1104, 0.152, 0.2715, 0.4508, 0.688, 0.9886, 1.364, 1.837, 2.416, 3.105",\
                 "0.0602, 0.1112, 0.2592, 0.4769, 0.7488, 1.081, 1.482, 1.959, 2.535, 3.223",\
                 "-0.0227, 0.0382, 0.2143, 0.4732, 0.7914, 1.163, 1.599, 2.109, 2.696, 3.383",\
                 "-0.1403, -0.0699, 0.1346, 0.4353, 0.8027, 1.225, 1.704, 2.251, 2.877, 3.585",\
                 "-0.2962, -0.2153, 0.017, 0.3591, 0.7787, 1.255, 1.788, 2.381, 3.048, 3.797",\
                 "-0.4925, -0.4018, -0.1401, 0.2431, 0.7136, 1.249, 1.841, 2.489, 3.204, 3.997");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2572, 0.3005, 0.4515, 0.7373, 1.181, 1.803, 2.62, 3.65, 4.91, 6.405",\
                 "0.2684, 0.3121, 0.4636, 0.75, 1.194, 1.817, 2.635, 3.665, 4.924, 6.42",\
                 "0.3267, 0.3693, 0.5193, 0.8047, 1.249, 1.871, 2.689, 3.721, 4.976, 6.477",\
                 "0.4544, 0.4984, 0.6434, 0.9226, 1.362, 1.981, 2.797, 3.825, 5.084, 6.58",\
                 "0.6234, 0.6744, 0.8401, 1.123, 1.553, 2.164, 2.974, 4.002, 5.254, 6.75",\
                 "0.8354, 0.8923, 1.078, 1.396, 1.837, 2.438, 3.239, 4.257, 5.506, 6.995",\
                 "1.094, 1.158, 1.363, 1.712, 2.199, 2.813, 3.603, 4.609, 5.848, 7.333",\
                 "1.397, 1.47, 1.7, 2.078, 2.605, 3.275, 4.076, 5.07, 6.296, 7.77",\
                 "1.749, 1.831, 2.089, 2.502, 3.064, 3.784, 4.647, 5.65, 6.861, 8.32",\
                 "2.15, 2.242, 2.528, 2.984, 3.585, 4.346, 5.269, 6.334, 7.554, 8.997");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1417, 0.1762, 0.2945, 0.5185, 0.8673, 1.356, 2, 2.81, 3.799, 4.977",\
                 "0.1418, 0.1763, 0.2945, 0.5185, 0.867, 1.356, 1.999, 2.81, 3.799, 4.978",\
                 "0.1737, 0.2025, 0.3043, 0.5188, 0.8675, 1.356, 1.998, 2.81, 3.799, 4.976",\
                 "0.2463, 0.273, 0.3713, 0.5632, 0.8788, 1.357, 2, 2.81, 3.797, 4.978",\
                 "0.3529, 0.3819, 0.4794, 0.6678, 0.9688, 1.397, 2.007, 2.81, 3.798, 4.974",\
                 "0.4824, 0.515, 0.6252, 0.8196, 1.113, 1.536, 2.094, 2.84, 3.802, 4.976",\
                 "0.6316, 0.6692, 0.7952, 1.008, 1.308, 1.725, 2.282, 2.983, 3.878, 5.001",\
                 "0.7958, 0.8422, 0.9856, 1.228, 1.551, 1.968, 2.52, 3.221, 4.076, 5.128",\
                 "0.9722, 1.026, 1.196, 1.468, 1.825, 2.267, 2.815, 3.511, 4.368, 5.386",\
                 "1.156, 1.224, 1.425, 1.731, 2.127, 2.604, 3.169, 3.86, 4.715, 5.736");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3965, 0.4729, 0.7395, 1.241, 2.022, 3.114, 4.549, 6.357, 8.565, 11.19",\
                 "0.3954, 0.4731, 0.739, 1.242, 2.022, 3.115, 4.551, 6.358, 8.564, 11.19",\
                 "0.3909, 0.4694, 0.7384, 1.242, 2.021, 3.114, 4.549, 6.361, 8.565, 11.19",\
                 "0.4337, 0.4998, 0.7419, 1.241, 2.021, 3.114, 4.551, 6.357, 8.566, 11.2",\
                 "0.5114, 0.588, 0.831, 1.27, 2.02, 3.113, 4.551, 6.359, 8.564, 11.2",\
                 "0.6056, 0.6858, 0.9516, 1.408, 2.08, 3.116, 4.548, 6.358, 8.566, 11.2",\
                 "0.726, 0.81, 1.085, 1.578, 2.263, 3.205, 4.558, 6.357, 8.565, 11.2",\
                 "0.8684, 0.9604, 1.248, 1.756, 2.498, 3.434, 4.677, 6.374, 8.565, 11.2",\
                 "1.024, 1.127, 1.439, 1.96, 2.733, 3.738, 4.949, 6.524, 8.593, 11.19",\
                 "1.2, 1.312, 1.656, 2.201, 2.985, 4.043, 5.321, 6.835, 8.772, 11.24");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1598, 0.1818, 0.2572, 0.3943, 0.6026, 0.8915, 1.27, 1.745, 2.325, 3.015",\
                 "0.1708, 0.1928, 0.2683, 0.4055, 0.6137, 0.9027, 1.281, 1.756, 2.336, 3.027",\
                 "0.2165, 0.2384, 0.3121, 0.4488, 0.6569, 0.9458, 1.324, 1.799, 2.379, 3.069",\
                 "0.2706, 0.3, 0.3908, 0.5376, 0.7443, 1.032, 1.41, 1.885, 2.464, 3.154",\
                 "0.307, 0.343, 0.4558, 0.6381, 0.8786, 1.172, 1.547, 2.021, 2.599, 3.288",\
                 "0.3214, 0.365, 0.5008, 0.7176, 1.003, 1.349, 1.746, 2.217, 2.793, 3.48",\
                 "0.3134, 0.3639, 0.5225, 0.7757, 1.105, 1.503, 1.963, 2.476, 3.054, 3.738",\
                 "0.2821, 0.3395, 0.5201, 0.8094, 1.185, 1.635, 2.153, 2.735, 3.373, 4.071",\
                 "0.2238, 0.2895, 0.4919, 0.8175, 1.24, 1.743, 2.318, 2.964, 3.676, 4.447",\
                 "0.1412, 0.2127, 0.4359, 0.7976, 1.268, 1.826, 2.459, 3.166, 3.948, 4.796");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2084, 0.2432, 0.3589, 0.5768, 0.9128, 1.385, 2.005, 2.787, 3.742, 4.88",\
                 "0.2196, 0.2554, 0.3737, 0.593, 0.9306, 1.403, 2.025, 2.807, 3.761, 4.899",\
                 "0.2685, 0.304, 0.4229, 0.6435, 0.9835, 1.457, 2.08, 2.862, 3.817, 4.955",\
                 "0.342, 0.384, 0.5155, 0.7376, 1.076, 1.55, 2.172, 2.955, 3.91, 5.048",\
                 "0.4383, 0.4874, 0.6376, 0.8868, 1.23, 1.7, 2.32, 3.101, 4.055, 5.192",\
                 "0.5609, 0.6204, 0.7945, 1.07, 1.447, 1.925, 2.539, 3.316, 4.265, 5.401",\
                 "0.7115, 0.7814, 0.9847, 1.292, 1.7, 2.217, 2.842, 3.612, 4.556, 5.688",\
                 "0.8882, 0.9691, 1.204, 1.551, 1.995, 2.548, 3.217, 4.001, 4.937, 6.059",\
                 "1.091, 1.182, 1.449, 1.843, 2.332, 2.922, 3.63, 4.462, 5.414, 6.529",\
                 "1.32, 1.424, 1.722, 2.163, 2.705, 3.342, 4.089, 4.965, 5.969, 7.101");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1962, 0.232, 0.3554, 0.5834, 0.9343, 1.423, 2.068, 2.879, 3.868, 5.045",\
                 "0.1958, 0.2319, 0.3551, 0.5831, 0.9344, 1.425, 2.068, 2.879, 3.867, 5.046",\
                 "0.2054, 0.2372, 0.3539, 0.5831, 0.9335, 1.423, 2.068, 2.878, 3.867, 5.044",\
                 "0.2829, 0.3194, 0.4301, 0.6151, 0.9363, 1.424, 2.067, 2.878, 3.867, 5.046",\
                 "0.3812, 0.424, 0.5542, 0.7642, 1.046, 1.458, 2.069, 2.878, 3.867, 5.046",\
                 "0.5006, 0.5518, 0.702, 0.9384, 1.259, 1.655, 2.173, 2.901, 3.867, 5.046",\
                 "0.6372, 0.6988, 0.8794, 1.142, 1.493, 1.935, 2.458, 3.092, 3.943, 5.056",\
                 "0.789, 0.8616, 1.069, 1.374, 1.759, 2.239, 2.809, 3.47, 4.233, 5.218",\
                 "0.9524, 1.037, 1.28, 1.628, 2.059, 2.571, 3.184, 3.897, 4.703, 5.609",\
                 "1.132, 1.228, 1.508, 1.906, 2.388, 2.948, 3.593, 4.352, 5.212, 6.17");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2273, 0.2824, 0.4791, 0.859, 1.446, 2.267, 3.352, 4.713, 6.374, 8.358",\
                 "0.2285, 0.2825, 0.4795, 0.857, 1.446, 2.268, 3.35, 4.722, 6.379, 8.373",\
                 "0.2389, 0.289, 0.4803, 0.8578, 1.447, 2.268, 3.35, 4.716, 6.372, 8.35",\
                 "0.3097, 0.3575, 0.5201, 0.8633, 1.446, 2.269, 3.355, 4.72, 6.376, 8.353",\
                 "0.4112, 0.457, 0.6276, 0.946, 1.466, 2.267, 3.352, 4.717, 6.384, 8.362",\
                 "0.5546, 0.5984, 0.7606, 1.09, 1.588, 2.318, 3.356, 4.712, 6.384, 8.365",\
                 "0.7164, 0.7648, 0.9334, 1.257, 1.775, 2.475, 3.434, 4.727, 6.376, 8.356",\
                 "0.8902, 0.9466, 1.134, 1.468, 1.984, 2.71, 3.629, 4.838, 6.405, 8.371",\
                 "1.075, 1.137, 1.349, 1.713, 2.231, 2.965, 3.918, 5.08, 6.554, 8.422",\
                 "1.273, 1.343, 1.583, 1.981, 2.529, 3.26, 4.232, 5.421, 6.835, 8.604");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1275, 0.1514, 0.2293, 0.3687, 0.5785, 0.8684, 1.247, 1.723, 2.303, 2.994",\
                 "0.1386, 0.1623, 0.2402, 0.3796, 0.5894, 0.8793, 1.258, 1.734, 2.314, 3.005",\
                 "0.1845, 0.2086, 0.2842, 0.4224, 0.6319, 0.9217, 1.301, 1.776, 2.356, 3.047",\
                 "0.2275, 0.2597, 0.3574, 0.5105, 0.7189, 1.007, 1.386, 1.861, 2.441, 3.131",\
                 "0.2488, 0.2896, 0.4121, 0.6025, 0.85, 1.147, 1.523, 1.997, 2.574, 3.265",\
                 "0.2471, 0.2961, 0.4433, 0.6729, 0.9668, 1.318, 1.72, 2.192, 2.768, 3.455",\
                 "0.2199, 0.2764, 0.4492, 0.7169, 1.06, 1.465, 1.931, 2.448, 3.028, 3.713",\
                 "0.1669, 0.2316, 0.4279, 0.7348, 1.127, 1.587, 2.112, 2.699, 3.343, 4.043",\
                 "0.0881, 0.1598, 0.3783, 0.7228, 1.164, 1.681, 2.267, 2.92, 3.637, 4.413",\
                 "-0.0189, 0.0605, 0.3017, 0.6827, 1.171, 1.746, 2.394, 3.111, 3.899, 4.754");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2502, 0.295, 0.4469, 0.7329, 1.177, 1.797, 2.615, 3.646, 4.9, 6.402",\
                 "0.2596, 0.3055, 0.4604, 0.749, 1.194, 1.816, 2.633, 3.664, 4.92, 6.419",\
                 "0.3035, 0.3491, 0.5043, 0.7949, 1.242, 1.866, 2.685, 3.717, 4.975, 6.475",\
                 "0.3711, 0.4211, 0.5821, 0.8697, 1.316, 1.94, 2.761, 3.79, 5.052, 6.549",\
                 "0.4638, 0.5181, 0.6918, 0.9938, 1.435, 2.054, 2.871, 3.901, 5.159, 6.659",\
                 "0.5856, 0.6492, 0.84, 1.159, 1.619, 2.232, 3.04, 4.064, 5.318, 6.811",\
                 "0.7366, 0.8105, 1.028, 1.37, 1.849, 2.483, 3.283, 4.296, 5.542, 7.029",\
                 "0.9158, 1.001, 1.249, 1.626, 2.128, 2.785, 3.608, 4.611, 5.843, 7.323",\
                 "1.123, 1.22, 1.499, 1.918, 2.459, 3.137, 3.986, 5.012, 6.233, 7.697",\
                 "1.357, 1.465, 1.778, 2.244, 2.831, 3.544, 4.416, 5.473, 6.714, 8.167");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1761, 0.2132, 0.3358, 0.5633, 0.9133, 1.401, 2.047, 2.857, 3.843, 5.024",\
                 "0.1739, 0.211, 0.3352, 0.5625, 0.9135, 1.403, 2.047, 2.856, 3.845, 5.024",\
                 "0.1947, 0.2236, 0.3338, 0.5608, 0.9127, 1.402, 2.046, 2.857, 3.845, 5.023",\
                 "0.2753, 0.3107, 0.4199, 0.6013, 0.9158, 1.402, 2.045, 2.857, 3.846, 5.024",\
                 "0.3796, 0.4222, 0.5492, 0.7544, 1.034, 1.441, 2.049, 2.856, 3.845, 5.023",\
                 "0.5078, 0.56, 0.7064, 0.9366, 1.251, 1.645, 2.158, 2.88, 3.846, 5.022",\
                 "0.6536, 0.7158, 0.891, 1.15, 1.494, 1.929, 2.451, 3.08, 3.927, 5.036",\
                 "0.819, 0.8936, 1.101, 1.398, 1.771, 2.239, 2.805, 3.461, 4.224, 5.201",\
                 "1.004, 1.092, 1.331, 1.67, 2.087, 2.586, 3.189, 3.896, 4.697, 5.6",\
                 "1.213, 1.308, 1.583, 1.974, 2.437, 2.978, 3.613, 4.359, 5.215, 6.167");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2512, 0.3246, 0.5863, 1.087, 1.866, 2.957, 4.387, 6.195, 8.413, 11.03",\
                 "0.2524, 0.3251, 0.5864, 1.087, 1.866, 2.954, 4.392, 6.2, 8.412, 11.04",\
                 "0.2591, 0.3295, 0.5869, 1.086, 1.865, 2.954, 4.39, 6.203, 8.409, 11.04",\
                 "0.3105, 0.3778, 0.6091, 1.086, 1.866, 2.952, 4.393, 6.201, 8.418, 11.04",\
                 "0.3834, 0.4494, 0.6894, 1.135, 1.872, 2.956, 4.388, 6.195, 8.422, 11.05",\
                 "0.506, 0.5698, 0.7946, 1.247, 1.943, 2.973, 4.391, 6.202, 8.407, 11.04",\
                 "0.6544, 0.7254, 0.9494, 1.383, 2.086, 3.065, 4.422, 6.206, 8.406, 11.03",\
                 "0.8158, 0.8906, 1.139, 1.569, 2.257, 3.243, 4.535, 6.245, 8.421, 11.04",\
                 "0.9852, 1.071, 1.345, 1.799, 2.474, 3.455, 4.743, 6.389, 8.46, 11.06",\
                 "1.174, 1.267, 1.569, 2.062, 2.743, 3.703, 5, 6.621, 8.635, 11.14");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1337, 0.1578, 0.2363, 0.3771, 0.5882, 0.8785, 1.257, 1.733, 2.313, 3.003",\
                 "0.1448, 0.1687, 0.2471, 0.3879, 0.599, 0.8893, 1.268, 1.744, 2.324, 3.014",\
                 "0.1915, 0.2153, 0.291, 0.4307, 0.6415, 0.9317, 1.31, 1.786, 2.366, 3.057",\
                 "0.2396, 0.2711, 0.3673, 0.5195, 0.7286, 1.018, 1.396, 1.871, 2.45, 3.141",\
                 "0.2692, 0.308, 0.4272, 0.6157, 0.861, 1.157, 1.533, 2.006, 2.585, 3.274",\
                 "0.2774, 0.323, 0.4652, 0.6897, 0.9808, 1.33, 1.73, 2.202, 2.778, 3.466",\
                 "0.2603, 0.313, 0.4772, 0.7389, 1.076, 1.479, 1.943, 2.459, 3.039, 3.722",\
                 "0.2168, 0.2759, 0.4622, 0.7604, 1.146, 1.603, 2.126, 2.712, 3.353, 4.053",\
                 "0.1473, 0.2122, 0.4191, 0.7536, 1.187, 1.701, 2.283, 2.934, 3.649, 4.424",\
                 "0.0499, 0.1218, 0.3479, 0.7171, 1.198, 1.768, 2.412, 3.127, 3.913, 4.767");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3093, 0.3535, 0.5057, 0.792, 1.236, 1.859, 2.675, 3.707, 4.965, 6.46",\
                 "0.3211, 0.3658, 0.5199, 0.8083, 1.254, 1.876, 2.695, 3.726, 4.981, 6.481",\
                 "0.3643, 0.4094, 0.5642, 0.8543, 1.302, 1.925, 2.745, 3.777, 5.037, 6.537",\
                 "0.4375, 0.4853, 0.6414, 0.929, 1.376, 2, 2.82, 3.851, 5.11, 6.609",\
                 "0.5355, 0.5864, 0.7558, 1.053, 1.494, 2.114, 2.932, 3.961, 5.219, 6.717",\
                 "0.6692, 0.7262, 0.9073, 1.222, 1.678, 2.291, 3.099, 4.124, 5.376, 6.876",\
                 "0.8338, 0.8998, 1.102, 1.435, 1.911, 2.542, 3.342, 4.356, 5.602, 7.09",\
                 "1.028, 1.103, 1.332, 1.696, 2.192, 2.846, 3.666, 4.67, 5.903, 7.382",\
                 "1.249, 1.335, 1.593, 1.994, 2.525, 3.199, 4.046, 5.07, 6.291, 7.756",\
                 "1.499, 1.594, 1.882, 2.327, 2.901, 3.608, 4.478, 5.532, 6.773, 8.226");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2278, 0.2622, 0.3809, 0.6059, 0.9552, 1.444, 2.087, 2.897, 3.885, 5.064",\
                 "0.2255, 0.2606, 0.3803, 0.6055, 0.9554, 1.444, 2.086, 2.897, 3.885, 5.064",\
                 "0.2448, 0.272, 0.3789, 0.6043, 0.9552, 1.444, 2.086, 2.897, 3.887, 5.064",\
                 "0.3413, 0.371, 0.4688, 0.6445, 0.9589, 1.445, 2.088, 2.896, 3.887, 5.064",\
                 "0.4648, 0.499, 0.6102, 0.8038, 1.077, 1.483, 2.09, 2.897, 3.885, 5.064",\
                 "0.6146, 0.6554, 0.7816, 0.9962, 1.301, 1.688, 2.199, 2.923, 3.887, 5.064",\
                 "0.7854, 0.8342, 0.9838, 1.221, 1.552, 1.978, 2.492, 3.122, 3.972, 5.076",\
                 "0.9752, 1.034, 1.209, 1.48, 1.84, 2.295, 2.854, 3.506, 4.265, 5.243",\
                 "1.188, 1.256, 1.459, 1.767, 2.164, 2.654, 3.243, 3.946, 4.741, 5.643",\
                 "1.423, 1.5, 1.731, 2.081, 2.523, 3.049, 3.675, 4.416, 5.263, 6.209");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3248, 0.4, 0.6624, 1.164, 1.944, 3.036, 4.468, 6.278, 8.483, 11.11",\
                 "0.3257, 0.4001, 0.6628, 1.164, 1.943, 3.033, 4.47, 6.277, 8.481, 11.11",\
                 "0.3279, 0.4019, 0.6633, 1.164, 1.943, 3.034, 4.466, 6.275, 8.489, 11.11",\
                 "0.3725, 0.4385, 0.6762, 1.164, 1.943, 3.034, 4.469, 6.28, 8.485, 11.11",\
                 "0.4412, 0.5106, 0.7546, 1.203, 1.945, 3.034, 4.469, 6.277, 8.488, 11.12",\
                 "0.5558, 0.6204, 0.8556, 1.313, 2.011, 3.045, 4.469, 6.277, 8.488, 11.12",\
                 "0.703, 0.7722, 1.002, 1.447, 2.155, 3.136, 4.492, 6.277, 8.485, 11.12",\
                 "0.8662, 0.9422, 1.191, 1.624, 2.323, 3.31, 4.607, 6.316, 8.485, 11.12",\
                 "1.042, 1.129, 1.401, 1.857, 2.533, 3.52, 4.812, 6.455, 8.542, 11.12",\
                 "1.232, 1.328, 1.63, 2.118, 2.802, 3.764, 5.067, 6.693, 8.706, 11.2");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1598, 0.1818, 0.2572, 0.3943, 0.6026, 0.8915, 1.27, 1.745, 2.325, 3.015",\
                 "0.1708, 0.1928, 0.2683, 0.4055, 0.6137, 0.9027, 1.281, 1.756, 2.336, 3.027",\
                 "0.2165, 0.2384, 0.3121, 0.4488, 0.6569, 0.9458, 1.324, 1.799, 2.379, 3.069",\
                 "0.2706, 0.3, 0.3908, 0.5376, 0.7443, 1.032, 1.41, 1.885, 2.464, 3.154",\
                 "0.307, 0.343, 0.4558, 0.6381, 0.8786, 1.172, 1.547, 2.021, 2.599, 3.288",\
                 "0.3214, 0.365, 0.5008, 0.7176, 1.003, 1.349, 1.746, 2.217, 2.793, 3.48",\
                 "0.3134, 0.3639, 0.5225, 0.7757, 1.105, 1.503, 1.963, 2.476, 3.054, 3.738",\
                 "0.2821, 0.3395, 0.5201, 0.8094, 1.185, 1.635, 2.153, 2.735, 3.373, 4.071",\
                 "0.2238, 0.2895, 0.4919, 0.8175, 1.24, 1.743, 2.318, 2.964, 3.676, 4.447",\
                 "0.1412, 0.2127, 0.4359, 0.7976, 1.268, 1.826, 2.459, 3.166, 3.948, 4.796");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3093, 0.3535, 0.5057, 0.792, 1.236, 1.859, 2.675, 3.707, 4.965, 6.46",\
                 "0.3211, 0.3658, 0.5199, 0.8083, 1.254, 1.876, 2.695, 3.726, 4.981, 6.481",\
                 "0.3643, 0.4094, 0.5642, 0.8543, 1.302, 1.925, 2.745, 3.777, 5.037, 6.537",\
                 "0.4375, 0.4853, 0.6414, 0.929, 1.376, 2, 2.82, 3.851, 5.11, 6.609",\
                 "0.5355, 0.5864, 0.7558, 1.053, 1.494, 2.114, 2.932, 3.961, 5.219, 6.717",\
                 "0.6692, 0.7262, 0.9073, 1.222, 1.678, 2.291, 3.099, 4.124, 5.376, 6.876",\
                 "0.8338, 0.8998, 1.102, 1.435, 1.911, 2.542, 3.342, 4.356, 5.602, 7.09",\
                 "1.028, 1.103, 1.332, 1.696, 2.192, 2.846, 3.666, 4.67, 5.903, 7.382",\
                 "1.249, 1.335, 1.593, 1.994, 2.525, 3.199, 4.046, 5.07, 6.291, 7.756",\
                 "1.499, 1.594, 1.882, 2.327, 2.901, 3.608, 4.478, 5.532, 6.773, 8.226");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2278, 0.2622, 0.3809, 0.6059, 0.9552, 1.444, 2.087, 2.897, 3.885, 5.064",\
                 "0.2255, 0.2606, 0.3803, 0.6055, 0.9554, 1.444, 2.086, 2.897, 3.885, 5.064",\
                 "0.2448, 0.272, 0.3789, 0.6043, 0.9552, 1.444, 2.086, 2.897, 3.887, 5.064",\
                 "0.3413, 0.371, 0.4688, 0.6445, 0.9589, 1.445, 2.088, 2.896, 3.887, 5.064",\
                 "0.4648, 0.499, 0.6102, 0.8038, 1.077, 1.483, 2.09, 2.897, 3.885, 5.064",\
                 "0.6146, 0.6554, 0.7816, 0.9962, 1.301, 1.688, 2.199, 2.923, 3.887, 5.064",\
                 "0.7854, 0.8342, 0.9838, 1.221, 1.552, 1.978, 2.492, 3.122, 3.972, 5.076",\
                 "0.9752, 1.034, 1.209, 1.48, 1.84, 2.295, 2.854, 3.506, 4.265, 5.243",\
                 "1.188, 1.256, 1.459, 1.767, 2.164, 2.654, 3.243, 3.946, 4.741, 5.643",\
                 "1.423, 1.5, 1.731, 2.081, 2.523, 3.049, 3.675, 4.416, 5.263, 6.209");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3248, 0.4, 0.6624, 1.164, 1.944, 3.036, 4.468, 6.278, 8.483, 11.11",\
                 "0.3257, 0.4001, 0.6628, 1.164, 1.943, 3.033, 4.47, 6.277, 8.481, 11.11",\
                 "0.3279, 0.4019, 0.6633, 1.164, 1.943, 3.034, 4.466, 6.275, 8.489, 11.11",\
                 "0.3725, 0.4385, 0.6762, 1.164, 1.943, 3.034, 4.469, 6.28, 8.485, 11.11",\
                 "0.4412, 0.5106, 0.7546, 1.203, 1.945, 3.034, 4.469, 6.277, 8.488, 11.12",\
                 "0.5558, 0.6204, 0.8556, 1.313, 2.011, 3.045, 4.469, 6.277, 8.488, 11.12",\
                 "0.703, 0.7722, 1.002, 1.447, 2.155, 3.136, 4.492, 6.277, 8.485, 11.12",\
                 "0.8662, 0.9422, 1.191, 1.624, 2.323, 3.31, 4.607, 6.316, 8.485, 11.12",\
                 "1.042, 1.129, 1.401, 1.857, 2.533, 3.52, 4.812, 6.455, 8.542, 11.12",\
                 "1.232, 1.328, 1.63, 2.118, 2.802, 3.764, 5.067, 6.693, 8.706, 11.2");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1735, 0.196, 0.2715, 0.4083, 0.6166, 0.9056, 1.284, 1.759, 2.339, 3.03",\
                 "0.1836, 0.2062, 0.2812, 0.4183, 0.6267, 0.9156, 1.294, 1.769, 2.349, 3.04",\
                 "0.2108, 0.2335, 0.3082, 0.4451, 0.6535, 0.9425, 1.321, 1.796, 2.376, 3.067",\
                 "0.2424, 0.2688, 0.3533, 0.4982, 0.7068, 0.9952, 1.373, 1.848, 2.428, 3.118",\
                 "0.2596, 0.2916, 0.3921, 0.5568, 0.7859, 1.081, 1.458, 1.932, 2.511, 3.201",\
                 "0.2512, 0.2908, 0.4116, 0.6047, 0.8613, 1.184, 1.579, 2.054, 2.631, 3.319",\
                 "0.2143, 0.2607, 0.4029, 0.6291, 0.9228, 1.279, 1.706, 2.209, 2.794, 3.48",\
                 "0.1478, 0.2003, 0.3632, 0.6242, 0.9604, 1.36, 1.824, 2.362, 2.981, 3.685",\
                 "0.0495, 0.1072, 0.2919, 0.5869, 0.9665, 1.415, 1.926, 2.505, 3.162, 3.904",\
                 "-0.0834, -0.0173, 0.1865, 0.5146, 0.9381, 1.438, 2.003, 2.632, 3.332, 4.115");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2463, 0.2794, 0.3947, 0.6116, 0.9484, 1.42, 2.041, 2.823, 3.778, 4.916",\
                 "0.2605, 0.2942, 0.4101, 0.6276, 0.9646, 1.437, 2.058, 2.84, 3.795, 4.933",\
                 "0.3124, 0.3466, 0.463, 0.6814, 1.019, 1.492, 2.114, 2.896, 3.851, 4.989",\
                 "0.3954, 0.4344, 0.559, 0.7778, 1.114, 1.587, 2.207, 2.99, 3.945, 5.083",\
                 "0.5064, 0.5507, 0.6916, 0.9318, 1.271, 1.739, 2.357, 3.137, 4.092, 5.228",\
                 "0.6569, 0.7076, 0.8645, 1.127, 1.495, 1.967, 2.58, 3.355, 4.305, 5.438",\
                 "0.8429, 0.9013, 1.081, 1.366, 1.761, 2.269, 2.888, 3.655, 4.597, 5.726",\
                 "1.063, 1.131, 1.335, 1.653, 2.075, 2.613, 3.272, 4.048, 4.982, 6.101",\
                 "1.316, 1.393, 1.625, 1.98, 2.44, 3.008, 3.702, 4.522, 5.466, 6.576",\
                 "1.606, 1.692, 1.951, 2.347, 2.85, 3.457, 4.182, 5.043, 6.035, 7.158");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1956, 0.2321, 0.3552, 0.5835, 0.9335, 1.423, 2.068, 2.877, 3.867, 5.046",\
                 "0.1957, 0.2323, 0.3552, 0.5834, 0.9344, 1.423, 2.068, 2.878, 3.867, 5.046",\
                 "0.2031, 0.2367, 0.3548, 0.5829, 0.9341, 1.423, 2.069, 2.878, 3.867, 5.043",\
                 "0.2588, 0.2922, 0.4036, 0.6065, 0.9381, 1.425, 2.068, 2.879, 3.868, 5.045",\
                 "0.3462, 0.3819, 0.4962, 0.6998, 1.01, 1.454, 2.071, 2.878, 3.866, 5.045",\
                 "0.4594, 0.5002, 0.6262, 0.8352, 1.145, 1.576, 2.145, 2.901, 3.869, 5.045",\
                 "0.5886, 0.638, 0.7818, 1.01, 1.324, 1.755, 2.321, 3.03, 3.934, 5.061",\
                 "0.732, 0.7888, 0.9582, 1.215, 1.553, 1.984, 2.546, 3.259, 4.119, 5.182",\
                 "0.8924, 0.9564, 1.155, 1.445, 1.812, 2.266, 2.828, 3.538, 4.402, 5.428",\
                 "1.069, 1.142, 1.364, 1.696, 2.103, 2.586, 3.165, 3.87, 4.74, 5.765");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2832, 0.3391, 0.5377, 0.9157, 1.503, 2.327, 3.408, 4.77, 6.435, 8.417",\
                 "0.2835, 0.3395, 0.5377, 0.9155, 1.503, 2.326, 3.408, 4.772, 6.435, 8.419",\
                 "0.2884, 0.3422, 0.5382, 0.9156, 1.503, 2.327, 3.409, 4.77, 6.436, 8.42",\
                 "0.3527, 0.4003, 0.567, 0.9193, 1.503, 2.327, 3.409, 4.771, 6.435, 8.418",\
                 "0.4462, 0.4968, 0.672, 0.992, 1.52, 2.327, 3.409, 4.772, 6.438, 8.418",\
                 "0.5736, 0.6236, 0.7976, 1.134, 1.634, 2.367, 3.412, 4.772, 6.436, 8.419",\
                 "0.7228, 0.776, 0.9554, 1.293, 1.818, 2.52, 3.481, 4.781, 6.436, 8.419",\
                 "0.8862, 0.9476, 1.143, 1.485, 2.015, 2.75, 3.676, 4.886, 6.459, 8.42",\
                 "1.066, 1.134, 1.352, 1.717, 2.247, 2.994, 3.955, 5.12, 6.599, 8.463",\
                 "1.256, 1.333, 1.578, 1.974, 2.523, 3.269, 4.25, 5.452, 6.879, 8.642");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1417, 0.1655, 0.2433, 0.3828, 0.5926, 0.8825, 1.261, 1.737, 2.317, 3.008",\
                 "0.1515, 0.1752, 0.2531, 0.3925, 0.6023, 0.8921, 1.271, 1.747, 2.327, 3.018",\
                 "0.1784, 0.2026, 0.2798, 0.4188, 0.6286, 0.9185, 1.297, 1.773, 2.353, 3.044",\
                 "0.2033, 0.2321, 0.3217, 0.4704, 0.6812, 0.9706, 1.349, 1.825, 2.405, 3.095",\
                 "0.2073, 0.2434, 0.3526, 0.5246, 0.7575, 1.055, 1.433, 1.908, 2.487, 3.177",\
                 "0.1828, 0.227, 0.3594, 0.5636, 0.8275, 1.155, 1.552, 2.029, 2.606, 3.295",\
                 "0.1269, 0.1782, 0.3352, 0.5761, 0.881, 1.244, 1.675, 2.181, 2.767, 3.454",\
                 "0.0402, 0.0986, 0.2769, 0.5547, 0.905, 1.316, 1.786, 2.328, 2.95, 3.657",\
                 "-0.0814, -0.0166, 0.1851, 0.4975, 0.8959, 1.358, 1.879, 2.464, 3.125, 3.871",\
                 "-0.2396, -0.1672, 0.0562, 0.4041, 0.848, 1.365, 1.943, 2.581, 3.287, 4.074");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3005, 0.3439, 0.4943, 0.7796, 1.224, 1.846, 2.663, 3.693, 4.949, 6.452",\
                 "0.3128, 0.3572, 0.5088, 0.7952, 1.239, 1.862, 2.678, 3.713, 4.965, 6.469",\
                 "0.3608, 0.405, 0.5572, 0.8446, 1.289, 1.913, 2.73, 3.761, 5.021, 6.52",\
                 "0.4354, 0.4826, 0.6375, 0.9229, 1.367, 1.99, 2.806, 3.838, 5.097, 6.596",\
                 "0.5388, 0.589, 0.7554, 1.051, 1.489, 2.107, 2.923, 3.949, 5.207, 6.708",\
                 "0.6862, 0.7418, 0.9178, 1.226, 1.678, 2.288, 3.094, 4.116, 5.369, 6.862",\
                 "0.8729, 0.936, 1.131, 1.454, 1.921, 2.546, 3.342, 4.353, 5.597, 7.084",\
                 "1.097, 1.169, 1.387, 1.737, 2.219, 2.863, 3.675, 4.673, 5.903, 7.378",\
                 "1.356, 1.437, 1.683, 2.066, 2.577, 3.236, 4.071, 5.085, 6.301, 7.763",\
                 "1.652, 1.743, 2.016, 2.438, 2.988, 3.672, 4.523, 5.565, 6.796, 8.242");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1752, 0.2124, 0.3362, 0.5624, 0.9132, 1.403, 2.047, 2.855, 3.845, 5.023",\
                 "0.1737, 0.2111, 0.3348, 0.5623, 0.9132, 1.402, 2.046, 2.856, 3.844, 5.022",\
                 "0.1884, 0.2203, 0.3353, 0.5623, 0.9132, 1.403, 2.046, 2.856, 3.843, 5.024",\
                 "0.2506, 0.2826, 0.3906, 0.5902, 0.9177, 1.402, 2.046, 2.857, 3.844, 5.023",\
                 "0.3467, 0.3817, 0.4906, 0.6884, 0.9948, 1.433, 2.051, 2.856, 3.845, 5.022",\
                 "0.4694, 0.5088, 0.6308, 0.8314, 1.135, 1.562, 2.127, 2.882, 3.847, 5.022",\
                 "0.6098, 0.6576, 0.7972, 1.017, 1.325, 1.747, 2.308, 3.015, 3.916, 5.042",\
                 "0.7724, 0.828, 0.9896, 1.236, 1.563, 1.985, 2.541, 3.246, 4.104, 5.163",\
                 "0.954, 1.019, 1.205, 1.482, 1.84, 2.279, 2.83, 3.532, 4.391, 5.414",\
                 "1.153, 1.233, 1.442, 1.757, 2.146, 2.617, 3.183, 3.875, 4.73, 5.758");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3262, 0.4002, 0.6632, 1.164, 1.944, 3.036, 4.468, 6.281, 8.481, 11.12",\
                 "0.3262, 0.4012, 0.6634, 1.165, 1.943, 3.037, 4.468, 6.281, 8.479, 11.12",\
                 "0.329, 0.4026, 0.6634, 1.164, 1.943, 3.036, 4.467, 6.274, 8.49, 11.12",\
                 "0.3733, 0.4399, 0.6776, 1.165, 1.943, 3.036, 4.469, 6.279, 8.483, 11.12",\
                 "0.4408, 0.5114, 0.7554, 1.204, 1.946, 3.035, 4.472, 6.276, 8.491, 11.12",\
                 "0.5478, 0.6158, 0.8526, 1.312, 2.012, 3.046, 4.469, 6.278, 8.488, 11.12",\
                 "0.682, 0.7548, 0.9906, 1.439, 2.151, 3.135, 4.493, 6.278, 8.486, 11.12",\
                 "0.8362, 0.914, 1.166, 1.608, 2.311, 3.305, 4.606, 6.316, 8.486, 11.12",\
                 "1.003, 1.09, 1.366, 1.823, 2.51, 3.504, 4.805, 6.452, 8.541, 11.12",\
                 "1.182, 1.28, 1.586, 2.08, 2.762, 3.737, 5.05, 6.681, 8.702, 11.19");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1479, 0.1717, 0.2503, 0.3912, 0.6022, 0.8925, 1.271, 1.747, 2.327, 3.018",\
                 "0.1576, 0.1815, 0.2601, 0.4008, 0.6119, 0.9022, 1.281, 1.757, 2.337, 3.027",\
                 "0.1852, 0.2092, 0.2868, 0.4271, 0.6382, 0.9284, 1.307, 1.783, 2.363, 3.054",\
                 "0.2128, 0.2412, 0.3303, 0.4793, 0.6908, 0.9807, 1.359, 1.835, 2.414, 3.105",\
                 "0.2229, 0.2577, 0.3647, 0.5356, 0.7682, 1.066, 1.443, 1.918, 2.497, 3.187",\
                 "0.207, 0.2485, 0.3765, 0.5778, 0.8397, 1.166, 1.563, 2.039, 2.616, 3.305",\
                 "0.1607, 0.2085, 0.3584, 0.5938, 0.8954, 1.257, 1.686, 2.191, 2.777, 3.464",\
                 "0.0826, 0.1363, 0.306, 0.5769, 0.9227, 1.33, 1.798, 2.34, 2.961, 3.667",\
                 "-0.0299, 0.0301, 0.2193, 0.5244, 0.9164, 1.375, 1.893, 2.476, 3.137, 3.882",\
                 "-0.1789, -0.1127, 0.0974, 0.4342, 0.8715, 1.384, 1.959, 2.594, 3.299, 4.086");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3585, 0.4019, 0.5527, 0.8386, 1.282, 1.904, 2.723, 3.756, 5.007, 6.511",\
                 "0.3719, 0.4156, 0.5672, 0.8538, 1.298, 1.919, 2.738, 3.772, 5.024, 6.527",\
                 "0.42, 0.4638, 0.616, 0.9038, 1.348, 1.971, 2.79, 3.82, 5.078, 6.579",\
                 "0.4986, 0.544, 0.6961, 0.9819, 1.426, 2.048, 2.866, 3.897, 5.156, 6.655",\
                 "0.6061, 0.6544, 0.8174, 1.109, 1.547, 2.165, 2.981, 4.007, 5.266, 6.765",\
                 "0.7597, 0.8117, 0.9821, 1.287, 1.736, 2.345, 3.152, 4.175, 5.427, 6.921",\
                 "0.9565, 1.014, 1.2, 1.517, 1.982, 2.604, 3.4, 4.411, 5.655, 7.143",\
                 "1.192, 1.257, 1.463, 1.803, 2.281, 2.923, 3.732, 4.731, 5.96, 7.436",\
                 "1.463, 1.537, 1.766, 2.137, 2.64, 3.296, 4.13, 5.143, 6.357, 7.819",\
                 "1.771, 1.854, 2.109, 2.516, 3.055, 3.734, 4.584, 5.624, 6.853, 8.299");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2269, 0.2616, 0.3806, 0.6057, 0.9552, 1.444, 2.088, 2.898, 3.887, 5.064",\
                 "0.2255, 0.2606, 0.3802, 0.6053, 0.9556, 1.443, 2.088, 2.897, 3.885, 5.063",\
                 "0.2385, 0.2688, 0.3809, 0.6051, 0.9553, 1.444, 2.088, 2.896, 3.886, 5.064",\
                 "0.3085, 0.3368, 0.4382, 0.6336, 0.9608, 1.444, 2.086, 2.896, 3.885, 5.064",\
                 "0.4181, 0.4467, 0.545, 0.7358, 1.038, 1.476, 2.093, 2.898, 3.886, 5.064",\
                 "0.5574, 0.5892, 0.6954, 0.8846, 1.183, 1.606, 2.17, 2.926, 3.888, 5.064",\
                 "0.7182, 0.756, 0.8754, 1.079, 1.375, 1.794, 2.351, 3.056, 3.959, 5.084",\
                 "0.9024, 0.9452, 1.082, 1.308, 1.62, 2.036, 2.586, 3.291, 4.148, 5.206",\
                 "1.106, 1.156, 1.313, 1.567, 1.906, 2.333, 2.881, 3.58, 4.435, 5.456",\
                 "1.333, 1.394, 1.567, 1.852, 2.222, 2.68, 3.233, 3.924, 4.776, 5.801");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3999, 0.475, 0.7397, 1.242, 2.022, 3.112, 4.55, 6.362, 8.562, 11.2",\
                 "0.3995, 0.4755, 0.7399, 1.243, 2.022, 3.113, 4.547, 6.362, 8.559, 11.2",\
                 "0.4011, 0.4765, 0.7397, 1.242, 2.021, 3.114, 4.546, 6.355, 8.565, 11.2",\
                 "0.4345, 0.5021, 0.7475, 1.242, 2.021, 3.112, 4.549, 6.36, 8.563, 11.2",\
                 "0.5042, 0.5762, 0.8198, 1.273, 2.023, 3.114, 4.55, 6.357, 8.571, 11.2",\
                 "0.6038, 0.6736, 0.9172, 1.378, 2.082, 3.122, 4.549, 6.358, 8.567, 11.2",\
                 "0.7392, 0.81, 1.048, 1.506, 2.217, 3.206, 4.569, 6.357, 8.566, 11.2",\
                 "0.8938, 0.9732, 1.223, 1.669, 2.379, 3.372, 4.677, 6.392, 8.565, 11.2",\
                 "1.067, 1.154, 1.425, 1.881, 2.575, 3.573, 4.873, 6.525, 8.616, 11.2",\
                 "1.255, 1.352, 1.647, 2.134, 2.824, 3.803, 5.117, 6.751, 8.774, 11.27");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.1735, 0.196, 0.2715, 0.4083, 0.6166, 0.9056, 1.284, 1.759, 2.339, 3.03",\
                 "0.1836, 0.2062, 0.2812, 0.4183, 0.6267, 0.9156, 1.294, 1.769, 2.349, 3.04",\
                 "0.2108, 0.2335, 0.3082, 0.4451, 0.6535, 0.9425, 1.321, 1.796, 2.376, 3.067",\
                 "0.2424, 0.2688, 0.3533, 0.4982, 0.7068, 0.9952, 1.373, 1.848, 2.428, 3.118",\
                 "0.2596, 0.2916, 0.3921, 0.5568, 0.7859, 1.081, 1.458, 1.932, 2.511, 3.201",\
                 "0.2512, 0.2908, 0.4116, 0.6047, 0.8613, 1.184, 1.579, 2.054, 2.631, 3.319",\
                 "0.2143, 0.2607, 0.4029, 0.6291, 0.9228, 1.279, 1.706, 2.209, 2.794, 3.48",\
                 "0.1478, 0.2003, 0.3632, 0.6242, 0.9604, 1.36, 1.824, 2.362, 2.981, 3.685",\
                 "0.0495, 0.1072, 0.2919, 0.5869, 0.9665, 1.415, 1.926, 2.505, 3.162, 3.904",\
                 "-0.0834, -0.0173, 0.1865, 0.5146, 0.9381, 1.438, 2.003, 2.632, 3.332, 4.115");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3585, 0.4019, 0.5527, 0.8386, 1.282, 1.904, 2.723, 3.756, 5.007, 6.511",\
                 "0.3719, 0.4156, 0.5672, 0.8538, 1.298, 1.919, 2.738, 3.772, 5.024, 6.527",\
                 "0.42, 0.4638, 0.616, 0.9038, 1.348, 1.971, 2.79, 3.82, 5.078, 6.579",\
                 "0.4986, 0.544, 0.6961, 0.9819, 1.426, 2.048, 2.866, 3.897, 5.156, 6.655",\
                 "0.6061, 0.6544, 0.8174, 1.109, 1.547, 2.165, 2.981, 4.007, 5.266, 6.765",\
                 "0.7597, 0.8117, 0.9821, 1.287, 1.736, 2.345, 3.152, 4.175, 5.427, 6.921",\
                 "0.9565, 1.014, 1.2, 1.517, 1.982, 2.604, 3.4, 4.411, 5.655, 7.143",\
                 "1.192, 1.257, 1.463, 1.803, 2.281, 2.923, 3.732, 4.731, 5.96, 7.436",\
                 "1.463, 1.537, 1.766, 2.137, 2.64, 3.296, 4.13, 5.143, 6.357, 7.819",\
                 "1.771, 1.854, 2.109, 2.516, 3.055, 3.734, 4.584, 5.624, 6.853, 8.299");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.2269, 0.2616, 0.3806, 0.6057, 0.9552, 1.444, 2.088, 2.898, 3.887, 5.064",\
                 "0.2255, 0.2606, 0.3802, 0.6053, 0.9556, 1.443, 2.088, 2.897, 3.885, 5.063",\
                 "0.2385, 0.2688, 0.3809, 0.6051, 0.9553, 1.444, 2.088, 2.896, 3.886, 5.064",\
                 "0.3085, 0.3368, 0.4382, 0.6336, 0.9608, 1.444, 2.086, 2.896, 3.885, 5.064",\
                 "0.4181, 0.4467, 0.545, 0.7358, 1.038, 1.476, 2.093, 2.898, 3.886, 5.064",\
                 "0.5574, 0.5892, 0.6954, 0.8846, 1.183, 1.606, 2.17, 2.926, 3.888, 5.064",\
                 "0.7182, 0.756, 0.8754, 1.079, 1.375, 1.794, 2.351, 3.056, 3.959, 5.084",\
                 "0.9024, 0.9452, 1.082, 1.308, 1.62, 2.036, 2.586, 3.291, 4.148, 5.206",\
                 "1.106, 1.156, 1.313, 1.567, 1.906, 2.333, 2.881, 3.58, 4.435, 5.456",\
                 "1.333, 1.394, 1.567, 1.852, 2.222, 2.68, 3.233, 3.924, 4.776, 5.801");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002657, 0.008474, 0.01958, 0.03689, 0.06117, 0.09312, 0.1334, 0.1825, 0.2411");
          values("0.3999, 0.475, 0.7397, 1.242, 2.022, 3.112, 4.55, 6.362, 8.562, 11.2",\
                 "0.3995, 0.4755, 0.7399, 1.243, 2.022, 3.113, 4.547, 6.362, 8.559, 11.2",\
                 "0.4011, 0.4765, 0.7397, 1.242, 2.021, 3.114, 4.546, 6.355, 8.565, 11.2",\
                 "0.4345, 0.5021, 0.7475, 1.242, 2.021, 3.112, 4.549, 6.36, 8.563, 11.2",\
                 "0.5042, 0.5762, 0.8198, 1.273, 2.023, 3.114, 4.55, 6.357, 8.571, 11.2",\
                 "0.6038, 0.6736, 0.9172, 1.378, 2.082, 3.122, 4.549, 6.358, 8.567, 11.2",\
                 "0.7392, 0.81, 1.048, 1.506, 2.217, 3.206, 4.569, 6.357, 8.566, 11.2",\
                 "0.8938, 0.9732, 1.223, 1.669, 2.379, 3.372, 4.677, 6.392, 8.565, 11.2",\
                 "1.067, 1.154, 1.425, 1.881, 2.575, 3.573, 4.873, 6.525, 8.616, 11.2",\
                 "1.255, 1.352, 1.647, 2.134, 2.824, 3.803, 5.117, 6.751, 8.774, 11.27");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi22_2) {
    area : 35.123200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2" ;
      value : "6.59307e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2" ;
      value : "9.84159e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2" ;
      value : "0.0001253802" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2" ;
      value : "6.59307e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2" ;
      value : "6.60891e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2" ;
      value : "9.85776e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2" ;
      value : "0.0001269774" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2" ;
      value : "9.84159e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2" ;
      value : "9.85776e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2" ;
      value : "0.0001310661" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2" ;
      value : "0.0001269774" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2" ;
      value : "6.79074e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2" ;
      value : "6.79074e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2" ;
      value : "6.79074e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2" ;
      value : "6.79041e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001310661" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009257 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0368, 0.03683, 0.03673, 0.03663, 0.03653, 0.03656, 0.03654, \
                 0.03653, 0.03653, 0.03651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02478, -0.02475, -0.02468, -0.02464, -0.02462, -0.02467, -0.02467, \
                 -0.0247, -0.02471, -0.02476");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03674, 0.03678, 0.03678, 0.03668, 0.03659, 0.03658, 0.03655, \
                 0.03653, 0.03652, 0.03652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02478, -0.02479, -0.0247, -0.02468, -0.02463, -0.02468, -0.02469, \
                 -0.02472, -0.02475, -0.02478");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03674, 0.03678, 0.03678, 0.03668, 0.03657, 0.03658, 0.03654, \
                 0.03654, 0.03653, 0.03651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02477, -0.02479, -0.02471, -0.02468, -0.02463, -0.02469, -0.0247, \
                 -0.02472, -0.02474, -0.02478");
        }
      }

      internal_power() {
        when : "!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009591, 0.009569, 0.009593, 0.009628, 0.009608, 0.009653, 0.009661, \
                 0.00965, 0.009657, 0.009654");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009631, -0.009635, -0.009658, -0.009664, -0.009669, -0.009699, \
                 -0.009696, -0.009709, -0.009712, -0.009717");
        }
      }

      internal_power() {
        when : "A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04351, 0.04347, 0.04337, 0.04334, 0.04327, 0.04328, 0.04324, \
                 0.04318, 0.04309, 0.04296");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009654, -0.009652, -0.009696, -0.009691, -0.009693, -0.009709, \
                 -0.009731, -0.009722, -0.00972, -0.009721");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009695 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.036, 0.03361, 0.03278, 0.03259, 0.03252, 0.03254, 0.03251, 0.03251, \
                 0.03251, 0.03251");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03276, -0.03277, -0.03268, -0.03255, -0.03248, -0.03249, -0.03248, \
                 -0.03245, -0.03243, -0.03242");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03595, 0.03355, 0.03281, 0.03266, 0.03255, 0.03255, 0.03252, \
                 0.03251, 0.0325, 0.0325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03273, -0.03279, -0.03274, -0.03261, -0.03254, -0.03253, -0.0325, \
                 -0.03247, -0.03249, -0.0325");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03595, 0.03354, 0.03281, 0.03266, 0.03255, 0.03255, 0.03253, \
                 0.03252, 0.03251, 0.0325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03273, -0.03278, -0.03273, -0.03261, -0.03253, -0.03253, -0.0325, \
                 -0.03248, -0.03246, -0.03245");
        }
      }

      internal_power() {
        when : "!A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009607, 0.009573, 0.009597, 0.009609, 0.009614, 0.009655, 0.009658, \
                 0.009654, 0.009658, 0.00966");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009646, -0.00964, -0.009657, -0.009653, -0.00966, -0.009695, \
                 -0.009697, -0.009701, -0.00971, -0.009714");
        }
      }

      internal_power() {
        when : "A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04352, 0.04347, 0.0434, 0.04333, 0.04329, 0.04329, 0.04324, \
                 0.04318, 0.0431, 0.04297");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009681, -0.009683, -0.009698, -0.009702, -0.009686, -0.009721, \
                 -0.009726, -0.00972, -0.009724, -0.009721");
        }
      }
    }

    pin(B1) {
      capacitance : 0.008815 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03666, 0.03662, 0.03672, 0.03663, 0.03655, 0.03657, 0.03651, \
                 0.0365, 0.03656, 0.0365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02482, -0.02473, -0.02479, -0.0248, -0.0248, -0.02493, -0.02494, \
                 -0.02496, -0.02499, -0.02504");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03668, 0.03657, 0.03664, 0.03665, 0.03659, 0.03657, 0.03655, \
                 0.03654, 0.03648, 0.03654");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02481, -0.02471, -0.02475, -0.02478, -0.02478, -0.02491, -0.02495, \
                 -0.02495, -0.025, -0.02504");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03669, 0.03657, 0.03665, 0.03663, 0.03657, 0.03656, 0.03656, \
                 0.03655, 0.03649, 0.03653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02481, -0.02471, -0.02475, -0.02478, -0.02479, -0.02491, -0.02494, \
                 -0.02496, -0.025, -0.02503");
        }
      }

      internal_power() {
        when : "A1&A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03254, 0.03245, 0.0324, 0.03246, 0.03241, 0.0325, 0.03251, 0.03247, \
                 0.03251, 0.0325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03241, -0.03233, -0.03228, -0.03231, -0.0323, -0.03237, -0.03242, \
                 -0.03238, -0.0324, -0.03244");
        }
      }

      internal_power() {
        when : "A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03248, 0.03243, 0.03244, 0.03245, 0.03244, 0.03248, 0.0325, \
                 0.03251, 0.03249, 0.0325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02682, -0.02764, -0.02925, -0.03032, -0.03076, -0.0311, -0.03128, \
                 -0.03142, -0.0315, -0.03155");
        }
      }
    }

    pin(B2) {
      capacitance : 0.009034 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03584, 0.03342, 0.03267, 0.03255, 0.03247, 0.03253, 0.03251, \
                 0.03249, 0.0325, 0.0325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03256, -0.03249, -0.03254, -0.03243, -0.03241, -0.03243, -0.03243, \
                 -0.03243, -0.03241, -0.03243");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03586, 0.03338, 0.03265, 0.03254, 0.03249, 0.03253, 0.03251, \
                 0.03249, 0.03247, 0.03249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03253, -0.03244, -0.03246, -0.03244, -0.03239, -0.03244, -0.03246, \
                 -0.03242, -0.03242, -0.03244");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03587, 0.03338, 0.03265, 0.03256, 0.03248, 0.03253, 0.0325, \
                 0.03249, 0.03248, 0.0325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03253, -0.03244, -0.03249, -0.03245, -0.03239, -0.03244, -0.03245, \
                 -0.03243, -0.03242, -0.03243");
        }
      }

      internal_power() {
        when : "A1&A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03259, 0.03249, 0.03246, 0.03244, 0.03241, 0.03252, 0.03251, \
                 0.03246, 0.03248, 0.0325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03245, -0.0323, -0.03231, -0.03232, -0.0323, -0.03234, -0.0324, \
                 -0.03239, -0.0324, -0.0324");
        }
      }

      internal_power() {
        when : "A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0325, 0.03246, 0.03245, 0.03245, 0.03252, 0.0325, 0.03252, 0.03251, \
                 0.03251, 0.03247");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02679, -0.02764, -0.0293, -0.03028, -0.03076, -0.0311, -0.0313, \
                 -0.03141, -0.03149, -0.03156");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1))|((!A1)&(!B2))|((!A2)&(!B1))|((!A2)&(!B2)))" ;
      max_capacitance : 0.4804 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.005495, 0.005865, 0.006303, 0.006554, 0.00668, 0.006755, 0.006798, 0.006826, 0.006834, 0.00686",\
                 "0.004612, 0.005219, 0.006228, 0.006932, 0.007319, 0.007565, 0.007681, 0.007746, 0.007791, 0.007825",\
                 "0.00684, 0.00699, 0.007403, 0.007885, 0.008217, 0.008411, 0.00854, 0.008624, 0.008664, 0.008721",\
                 "0.01865, 0.01751, 0.01524, 0.01344, 0.01215, 0.01133, 0.01072, 0.01034, 0.01005, 0.00986",\
                 "0.04338, 0.04062, 0.03437, 0.0283, 0.02363, 0.02011, 0.01752, 0.01563, 0.01427, 0.01324",\
                 "0.08191, 0.07788, 0.06745, 0.05577, 0.04588, 0.03804, 0.03213, 0.02751, 0.02395, 0.02122",\
                 "0.1353, 0.13, 0.1157, 0.098, 0.08172, 0.06822, 0.05729, 0.0486, 0.04175, 0.0362",\
                 "0.2042, 0.1979, 0.1801, 0.1566, 0.1331, 0.1127, 0.09569, 0.08162, 0.07011, 0.06069",\
                 "0.2894, 0.2822, 0.2615, 0.2326, 0.202, 0.1738, 0.1496, 0.1288, 0.1114, 0.09679",\
                 "0.3917, 0.3839, 0.3606, 0.3268, 0.2892, 0.2527, 0.2203, 0.192, 0.1676, 0.1467");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1085, 0.1095, 0.1107, 0.1114, 0.112, 0.1129, 0.1138, 0.1148, 0.1159, 0.1189",\
                 "0.1057, 0.1068, 0.1089, 0.1106, 0.1119, 0.113, 0.1141, 0.1151, 0.1166, 0.1208",\
                 "0.1084, 0.1082, 0.1085, 0.1096, 0.1111, 0.1124, 0.1136, 0.1147, 0.1166, 0.1212",\
                 "0.1237, 0.1222, 0.119, 0.1161, 0.1147, 0.1149, 0.1153, 0.1157, 0.1172, 0.1224",\
                 "0.153, 0.1499, 0.1426, 0.1352, 0.1288, 0.1251, 0.1225, 0.1215, 0.1218, 0.127",\
                 "0.1972, 0.1929, 0.1816, 0.1684, 0.1572, 0.1475, 0.1406, 0.1358, 0.1332, 0.1367",\
                 "0.2576, 0.252, 0.2367, 0.2179, 0.2004, 0.1851, 0.1719, 0.1617, 0.1551, 0.1582",\
                 "0.3349, 0.3283, 0.3095, 0.2853, 0.2606, 0.2389, 0.2197, 0.2031, 0.1903, 0.1943",\
                 "0.4305, 0.4228, 0.4012, 0.3712, 0.3398, 0.3103, 0.285, 0.2612, 0.2429, 0.2512",\
                 "0.545, 0.5367, 0.5124, 0.4773, 0.4394, 0.4018, 0.368, 0.3385, 0.3162, 0.3403");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.005697, 0.006036, 0.006529, 0.006738, 0.006854, 0.006927, 0.006968, 0.006994, 0.007013, 0.007026",\
                 "0.005221, 0.005816, 0.006845, 0.007526, 0.007904, 0.008099, 0.008205, 0.008279, 0.008329, 0.00836",\
                 "0.007924, 0.008132, 0.008635, 0.009112, 0.009438, 0.009637, 0.009757, 0.009841, 0.009895, 0.00992",\
                 "0.0183, 0.01742, 0.01566, 0.0143, 0.01324, 0.01253, 0.01203, 0.01169, 0.01144, 0.01126",\
                 "0.03968, 0.03744, 0.03222, 0.02721, 0.02335, 0.02034, 0.01816, 0.01651, 0.01532, 0.01442",\
                 "0.07355, 0.07001, 0.06099, 0.05102, 0.04273, 0.03609, 0.0309, 0.02695, 0.0239, 0.02152",\
                 "0.1209, 0.1162, 0.1034, 0.08802, 0.07392, 0.06241, 0.05295, 0.04549, 0.03957, 0.03474",\
                 "0.1824, 0.1766, 0.1606, 0.1396, 0.1191, 0.1014, 0.08668, 0.07443, 0.06444, 0.05624",\
                 "0.2586, 0.252, 0.2331, 0.207, 0.1796, 0.1549, 0.1337, 0.1156, 0.1006, 0.0878",\
                 "0.3505, 0.3432, 0.3216, 0.2906, 0.2567, 0.2243, 0.1957, 0.1711, 0.1499, 0.1317");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1086, 0.1094, 0.1107, 0.1116, 0.1125, 0.1133, 0.114, 0.115, 0.1188, 0.1482",\
                 "0.1055, 0.1066, 0.1089, 0.1108, 0.1122, 0.1135, 0.1146, 0.1163, 0.1194, 0.1485",\
                 "0.1076, 0.1075, 0.108, 0.1094, 0.1111, 0.1126, 0.1136, 0.1156, 0.1192, 0.152",\
                 "0.1215, 0.1201, 0.1171, 0.1148, 0.1141, 0.1145, 0.1151, 0.1166, 0.1209, 0.1536",\
                 "0.1478, 0.1451, 0.1386, 0.1319, 0.1265, 0.1232, 0.1218, 0.1212, 0.1252, 0.1623",\
                 "0.1876, 0.1835, 0.1733, 0.1621, 0.1515, 0.143, 0.137, 0.1332, 0.1363, 0.1801",\
                 "0.2418, 0.2367, 0.223, 0.2063, 0.1908, 0.1765, 0.1649, 0.1566, 0.1576, 0.2114",\
                 "0.3118, 0.3054, 0.2883, 0.2665, 0.2449, 0.2255, 0.2075, 0.1929, 0.193, 0.2633",\
                 "0.3981, 0.3909, 0.3704, 0.3438, 0.3157, 0.2898, 0.2664, 0.2458, 0.2484, 0.3479",\
                 "0.5019, 0.4938, 0.4706, 0.4388, 0.4044, 0.3718, 0.3417, 0.3177, 0.3311, 0.4878");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.005725, 0.006123, 0.006545, 0.006756, 0.006859, 0.006923, 0.006958, 0.006981, 0.006995, 0.007006",\
                 "0.005227, 0.005822, 0.00687, 0.00755, 0.00789, 0.008088, 0.008194, 0.008275, 0.008308, 0.008318",\
                 "0.007966, 0.008152, 0.008629, 0.009121, 0.009442, 0.009635, 0.009747, 0.009826, 0.009871, 0.009909",\
                 "0.01823, 0.01738, 0.01566, 0.01428, 0.01325, 0.01252, 0.01201, 0.01168, 0.01142, 0.01125",\
                 "0.03933, 0.03715, 0.03214, 0.02722, 0.02329, 0.02034, 0.01816, 0.01651, 0.01531, 0.0144",\
                 "0.07302, 0.06958, 0.06078, 0.05099, 0.04265, 0.03607, 0.03089, 0.02702, 0.02391, 0.02149",\
                 "0.1201, 0.1155, 0.1031, 0.0878, 0.07394, 0.06234, 0.05293, 0.04548, 0.03957, 0.03473",\
                 "0.1813, 0.1757, 0.16, 0.1394, 0.119, 0.1013, 0.08662, 0.07439, 0.06444, 0.05622",\
                 "0.2573, 0.2509, 0.2324, 0.2066, 0.1794, 0.1547, 0.1335, 0.1156, 0.1005, 0.0879",\
                 "0.3489, 0.3418, 0.3207, 0.2901, 0.2564, 0.2241, 0.1957, 0.171, 0.1498, 0.1317");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1425, 0.143, 0.144, 0.1449, 0.1458, 0.1468, 0.1477, 0.1489, 0.154, 0.1835",\
                 "0.14, 0.1408, 0.1425, 0.1442, 0.1456, 0.147, 0.1484, 0.1501, 0.1543, 0.1844",\
                 "0.1406, 0.1407, 0.1414, 0.1428, 0.1445, 0.1461, 0.1477, 0.1496, 0.1537, 0.1862",\
                 "0.1525, 0.1515, 0.1494, 0.1476, 0.1472, 0.1479, 0.1489, 0.1499, 0.1554, 0.1905",\
                 "0.1769, 0.1748, 0.1696, 0.1636, 0.1593, 0.1565, 0.1553, 0.1547, 0.16, 0.1989",\
                 "0.2149, 0.2117, 0.2033, 0.1931, 0.1834, 0.1759, 0.1706, 0.1667, 0.171, 0.2153",\
                 "0.2676, 0.2634, 0.2516, 0.2366, 0.222, 0.2087, 0.198, 0.19, 0.1921, 0.2472",\
                 "0.3362, 0.3307, 0.3156, 0.2958, 0.2756, 0.2568, 0.2398, 0.2263, 0.227, 0.2997",\
                 "0.4214, 0.4151, 0.3967, 0.3719, 0.3455, 0.3207, 0.2977, 0.2785, 0.2825, 0.385",\
                 "0.5243, 0.517, 0.4957, 0.4659, 0.4337, 0.4021, 0.3729, 0.3493, 0.3656, 0.5258");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.005728, 0.006034, 0.006445, 0.006674, 0.006787, 0.006855, 0.006885, 0.006912, 0.006931, 0.006929",\
                 "0.004152, 0.004889, 0.006132, 0.006892, 0.00731, 0.007526, 0.007649, 0.007719, 0.007788, 0.007817",\
                 "0.004373, 0.004882, 0.006023, 0.007033, 0.007666, 0.008053, 0.008325, 0.008468, 0.008546, 0.008621",\
                 "0.01472, 0.01401, 0.01267, 0.01174, 0.01105, 0.01058, 0.01022, 0.009982, 0.009775, 0.009653",\
                 "0.03853, 0.03631, 0.03106, 0.02605, 0.02212, 0.01916, 0.01695, 0.01532, 0.01404, 0.0131",\
                 "0.07731, 0.07358, 0.06408, 0.05346, 0.04447, 0.03733, 0.03181, 0.02747, 0.02406, 0.02142",\
                 "0.1315, 0.1266, 0.113, 0.09615, 0.08084, 0.06803, 0.05763, 0.04928, 0.04256, 0.03715",\
                 "0.202, 0.196, 0.1788, 0.156, 0.1334, 0.1136, 0.09712, 0.08336, 0.07207, 0.06266",\
                 "0.2894, 0.2824, 0.2621, 0.2339, 0.2038, 0.1762, 0.1522, 0.132, 0.1149, 0.1004",\
                 "0.3944, 0.3867, 0.3638, 0.3304, 0.2934, 0.2574, 0.2249, 0.1969, 0.1731, 0.1524");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1388, 0.139, 0.1394, 0.1398, 0.1404, 0.1411, 0.1424, 0.1438, 0.144, 0.1499",\
                 "0.1365, 0.1368, 0.1377, 0.1384, 0.1391, 0.1402, 0.1415, 0.1427, 0.1446, 0.1495",\
                 "0.1394, 0.139, 0.1387, 0.1387, 0.1391, 0.1401, 0.1412, 0.1425, 0.144, 0.1495",\
                 "0.155, 0.1535, 0.1499, 0.1464, 0.1445, 0.1433, 0.1435, 0.1444, 0.1453, 0.1515",\
                 "0.1851, 0.1822, 0.1751, 0.167, 0.1602, 0.1553, 0.1521, 0.1508, 0.1505, 0.156",\
                 "0.2308, 0.2269, 0.2161, 0.2028, 0.1902, 0.1798, 0.1722, 0.1669, 0.1638, 0.168",\
                 "0.2932, 0.2884, 0.2748, 0.2556, 0.2368, 0.2199, 0.2054, 0.195, 0.1871, 0.1899",\
                 "0.3731, 0.3677, 0.3515, 0.3277, 0.3016, 0.2782, 0.2565, 0.2383, 0.2252, 0.2289",\
                 "0.4718, 0.4658, 0.4473, 0.4193, 0.3869, 0.3549, 0.3262, 0.3002, 0.281, 0.2881",\
                 "0.5901, 0.5835, 0.5633, 0.532, 0.4935, 0.4538, 0.4166, 0.3829, 0.3592, 0.3827");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.005895, 0.006201, 0.006627, 0.006839, 0.006935, 0.006998, 0.007033, 0.007057, 0.007077, 0.007092",\
                 "0.004714, 0.005481, 0.006723, 0.007465, 0.007853, 0.008083, 0.00821, 0.008278, 0.008329, 0.008352",\
                 "0.005574, 0.006098, 0.007299, 0.008291, 0.008935, 0.009316, 0.009543, 0.009686, 0.00977, 0.00981",\
                 "0.01474, 0.01426, 0.01339, 0.01278, 0.01229, 0.01189, 0.0116, 0.01138, 0.01122, 0.01111",\
                 "0.03523, 0.03347, 0.02925, 0.02523, 0.02204, 0.01955, 0.01765, 0.01623, 0.01513, 0.0143",\
                 "0.06894, 0.06582, 0.0578, 0.04893, 0.04146, 0.03544, 0.03072, 0.02699, 0.02404, 0.02171",\
                 "0.1166, 0.1122, 0.1005, 0.08616, 0.07303, 0.06216, 0.05333, 0.04607, 0.04026, 0.03558",\
                 "0.1789, 0.1734, 0.1582, 0.1383, 0.1188, 0.1019, 0.0877, 0.07589, 0.06611, 0.05804",\
                 "0.2563, 0.25, 0.2317, 0.2067, 0.1805, 0.1564, 0.1358, 0.1184, 0.1036, 0.09107",\
                 "0.3499, 0.3428, 0.3217, 0.2917, 0.259, 0.2275, 0.1995, 0.1752, 0.1545, 0.1365");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1388, 0.139, 0.1394, 0.1399, 0.1406, 0.1414, 0.1423, 0.1437, 0.1487, 0.1778",\
                 "0.1364, 0.1367, 0.1376, 0.1385, 0.1395, 0.1404, 0.1417, 0.1433, 0.1473, 0.1775",\
                 "0.1387, 0.1384, 0.1382, 0.1385, 0.1393, 0.1402, 0.1413, 0.1424, 0.1469, 0.1796",\
                 "0.1527, 0.1513, 0.1481, 0.1452, 0.1437, 0.1432, 0.1436, 0.1441, 0.1484, 0.1832",\
                 "0.1796, 0.1772, 0.1708, 0.1634, 0.1573, 0.1532, 0.1511, 0.1501, 0.154, 0.1919",\
                 "0.2204, 0.217, 0.2073, 0.1955, 0.1841, 0.1747, 0.1682, 0.1641, 0.167, 0.2107",\
                 "0.2763, 0.2719, 0.2595, 0.2427, 0.2257, 0.2101, 0.198, 0.1888, 0.1897, 0.2436",\
                 "0.3481, 0.3429, 0.3281, 0.3065, 0.2836, 0.2623, 0.2434, 0.2279, 0.227, 0.298",\
                 "0.4367, 0.431, 0.4139, 0.3884, 0.3595, 0.3315, 0.3056, 0.2836, 0.2851, 0.3863",\
                 "0.543, 0.5368, 0.5178, 0.4886, 0.454, 0.4189, 0.3861, 0.3592, 0.3727, 0.5313");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.005911, 0.006227, 0.006645, 0.00685, 0.006937, 0.006993, 0.007023, 0.007041, 0.007054, 0.007064",\
                 "0.004782, 0.005485, 0.006731, 0.007479, 0.007883, 0.008072, 0.008182, 0.008267, 0.008307, 0.008332",\
                 "0.005638, 0.006173, 0.007278, 0.008296, 0.008933, 0.009326, 0.009528, 0.009667, 0.009759, 0.009818",\
                 "0.01466, 0.01423, 0.0134, 0.01276, 0.01228, 0.0119, 0.0116, 0.01137, 0.01121, 0.01108",\
                 "0.03497, 0.03326, 0.0292, 0.02518, 0.02202, 0.01953, 0.01765, 0.01622, 0.01512, 0.01429",\
                 "0.06845, 0.06542, 0.05763, 0.04886, 0.04143, 0.03542, 0.03069, 0.02698, 0.02403, 0.02173",\
                 "0.1158, 0.1116, 0.1001, 0.08598, 0.07299, 0.0621, 0.05329, 0.04609, 0.04027, 0.03557",\
                 "0.1779, 0.1726, 0.1577, 0.1381, 0.1187, 0.1018, 0.08763, 0.07588, 0.06613, 0.05798",\
                 "0.2553, 0.249, 0.231, 0.2063, 0.1803, 0.1563, 0.1357, 0.1183, 0.1036, 0.09107",\
                 "0.3486, 0.3416, 0.3209, 0.2911, 0.2587, 0.2274, 0.1995, 0.1752, 0.1544, 0.1365");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.172, 0.1721, 0.1724, 0.1729, 0.1736, 0.1744, 0.1757, 0.1768, 0.1803, 0.2108",\
                 "0.1698, 0.1701, 0.1708, 0.1715, 0.1725, 0.1734, 0.1745, 0.1757, 0.1802, 0.2114",\
                 "0.1713, 0.1713, 0.1712, 0.1715, 0.1722, 0.1732, 0.1743, 0.175, 0.18, 0.2132",\
                 "0.1838, 0.1827, 0.18, 0.1778, 0.1763, 0.176, 0.1763, 0.177, 0.1813, 0.2162",\
                 "0.209, 0.207, 0.2017, 0.195, 0.1896, 0.1859, 0.184, 0.1825, 0.1869, 0.2251",\
                 "0.2485, 0.2455, 0.237, 0.2263, 0.2156, 0.2072, 0.2006, 0.1967, 0.1996, 0.2442",\
                 "0.303, 0.2993, 0.2881, 0.2726, 0.2568, 0.242, 0.23, 0.2212, 0.2219, 0.277",\
                 "0.3738, 0.3693, 0.3554, 0.3354, 0.314, 0.2932, 0.275, 0.2599, 0.2596, 0.3317",\
                 "0.4614, 0.4564, 0.4405, 0.4165, 0.3887, 0.3621, 0.3361, 0.3152, 0.3178, 0.4205",\
                 "0.5671, 0.5615, 0.5438, 0.5159, 0.4829, 0.4488, 0.417, 0.3906, 0.4052, 0.5671");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.05226, 0.05224, 0.05221, 0.05233, 0.05238, 0.05241, 0.05242, 0.05244, 0.05248, 0.05238",\
                 "0.05097, 0.05111, 0.05109, 0.05123, 0.05129, 0.05135, 0.05135, 0.0514, 0.0514, 0.05134",\
                 "0.05105, 0.05091, 0.0507, 0.05057, 0.05056, 0.05057, 0.05057, 0.05057, 0.05056, 0.05047",\
                 "0.05899, 0.05827, 0.05676, 0.05502, 0.05365, 0.05269, 0.05203, 0.05159, 0.05127, 0.05103",\
                 "0.07985, 0.07826, 0.07381, 0.06883, 0.06444, 0.06108, 0.05844, 0.05658, 0.05516, 0.05418",\
                 "0.1159, 0.1132, 0.1055, 0.09581, 0.08673, 0.07907, 0.07304, 0.06836, 0.06475, 0.06195",\
                 "0.1685, 0.1647, 0.1536, 0.1386, 0.1233, 0.1099, 0.09881, 0.0899, 0.08281, 0.07705",\
                 "0.2383, 0.2336, 0.2194, 0.1989, 0.1768, 0.1566, 0.1389, 0.1242, 0.1122, 0.1022",\
                 "0.326, 0.3205, 0.3036, 0.2781, 0.249, 0.221, 0.1957, 0.1738, 0.1554, 0.14",\
                 "0.4323, 0.4263, 0.4069, 0.3766, 0.3409, 0.3047, 0.271, 0.2408, 0.2146, 0.1924");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1742, 0.175, 0.1762, 0.1769, 0.1777, 0.1784, 0.1793, 0.18, 0.1809, 0.1861",\
                 "0.1703, 0.1716, 0.1741, 0.176, 0.1774, 0.1785, 0.1797, 0.1803, 0.1816, 0.1871",\
                 "0.1669, 0.1675, 0.1699, 0.1725, 0.175, 0.177, 0.1784, 0.1801, 0.1816, 0.1871",\
                 "0.1731, 0.1728, 0.1723, 0.1729, 0.1744, 0.1762, 0.1779, 0.179, 0.1812, 0.1874",\
                 "0.1956, 0.1936, 0.1892, 0.1853, 0.1828, 0.1817, 0.1818, 0.1819, 0.1828, 0.1893",\
                 "0.2378, 0.2341, 0.2245, 0.2144, 0.2065, 0.1997, 0.1961, 0.1937, 0.1922, 0.1993",\
                 "0.2995, 0.2944, 0.2801, 0.2626, 0.2475, 0.2352, 0.2244, 0.2169, 0.2124, 0.2182",\
                 "0.3801, 0.3738, 0.3561, 0.332, 0.308, 0.2882, 0.2713, 0.2569, 0.2463, 0.252",\
                 "0.4801, 0.4732, 0.4522, 0.4218, 0.3903, 0.361, 0.3369, 0.3154, 0.299, 0.307",\
                 "0.6005, 0.5924, 0.5691, 0.5341, 0.4944, 0.4559, 0.422, 0.3935, 0.373, 0.3949");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.04669, 0.04671, 0.04667, 0.0467, 0.04671, 0.04675, 0.04676, 0.04674, 0.04676, 0.04675",\
                 "0.0452, 0.04514, 0.04521, 0.04523, 0.04532, 0.04536, 0.04532, 0.04532, 0.04534, 0.04533",\
                 "0.0448, 0.04463, 0.04436, 0.04406, 0.04396, 0.04391, 0.04389, 0.04389, 0.04381, 0.0438",\
                 "0.0528, 0.05185, 0.04987, 0.04796, 0.04651, 0.04557, 0.04488, 0.04447, 0.04418, 0.04391",\
                 "0.07377, 0.07176, 0.06664, 0.06101, 0.05653, 0.05316, 0.05057, 0.04877, 0.04751, 0.04658",\
                 "0.11, 0.1066, 0.09765, 0.08698, 0.07741, 0.06975, 0.06398, 0.05949, 0.0561, 0.05352",\
                 "0.1625, 0.1579, 0.1449, 0.1284, 0.1123, 0.09876, 0.08793, 0.07937, 0.07264, 0.06727",\
                 "0.232, 0.2263, 0.2097, 0.187, 0.1638, 0.1429, 0.1254, 0.1111, 0.09956, 0.09025",\
                 "0.3191, 0.3126, 0.2929, 0.2643, 0.2334, 0.2043, 0.179, 0.1573, 0.1396, 0.1249",\
                 "0.4246, 0.4172, 0.3948, 0.361, 0.3225, 0.2847, 0.2505, 0.2206, 0.1952, 0.1735");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1575, 0.1582, 0.1594, 0.1602, 0.1608, 0.1616, 0.1626, 0.1634, 0.1675, 0.197",\
                 "0.1535, 0.1549, 0.1573, 0.1593, 0.1606, 0.1617, 0.163, 0.1649, 0.1675, 0.1983",\
                 "0.1499, 0.1506, 0.153, 0.1557, 0.1582, 0.1604, 0.1615, 0.163, 0.1677, 0.1994",\
                 "0.1553, 0.155, 0.1547, 0.1554, 0.1571, 0.159, 0.1606, 0.163, 0.1673, 0.2018",\
                 "0.1762, 0.1742, 0.1701, 0.1664, 0.1645, 0.1638, 0.1641, 0.1649, 0.1701, 0.2078",\
                 "0.2167, 0.2129, 0.2037, 0.1943, 0.1867, 0.1808, 0.1772, 0.175, 0.1793, 0.2235",\
                 "0.277, 0.2718, 0.2577, 0.241, 0.2266, 0.2147, 0.2045, 0.1979, 0.2003, 0.251",\
                 "0.3565, 0.3502, 0.3322, 0.3086, 0.2856, 0.2665, 0.2499, 0.2363, 0.2362, 0.3006",\
                 "0.4552, 0.4481, 0.4268, 0.3971, 0.3658, 0.3382, 0.314, 0.294, 0.292, 0.38",\
                 "0.5742, 0.5662, 0.5423, 0.5075, 0.4686, 0.4314, 0.3989, 0.3724, 0.3778, 0.5074");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.04669, 0.04668, 0.04666, 0.04669, 0.04676, 0.04679, 0.04676, 0.04675, 0.04672, 0.0467",\
                 "0.04522, 0.04519, 0.04523, 0.04526, 0.04535, 0.04538, 0.04536, 0.04532, 0.0453, 0.0453",\
                 "0.04476, 0.04463, 0.04435, 0.04414, 0.04402, 0.04395, 0.04389, 0.04383, 0.04378, 0.04374",\
                 "0.05264, 0.05184, 0.04987, 0.04796, 0.04656, 0.04558, 0.04493, 0.04447, 0.04414, 0.04388",\
                 "0.07361, 0.07165, 0.06654, 0.061, 0.05649, 0.05314, 0.05063, 0.0488, 0.04749, 0.04655",\
                 "0.1097, 0.1064, 0.09758, 0.08691, 0.07736, 0.06978, 0.06398, 0.05951, 0.05611, 0.05356",\
                 "0.162, 0.1575, 0.1448, 0.1283, 0.1123, 0.09877, 0.08798, 0.07938, 0.07255, 0.06725",\
                 "0.2314, 0.2259, 0.2094, 0.1869, 0.1637, 0.1428, 0.1254, 0.1112, 0.09957, 0.09028",\
                 "0.3184, 0.3119, 0.2924, 0.264, 0.2332, 0.2042, 0.1789, 0.1573, 0.1397, 0.125",\
                 "0.4238, 0.4167, 0.3943, 0.3607, 0.3224, 0.2846, 0.2504, 0.2205, 0.195, 0.1735");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1916, 0.1921, 0.1929, 0.1937, 0.1946, 0.1955, 0.1962, 0.1979, 0.2021, 0.2326",\
                 "0.1886, 0.1895, 0.1912, 0.193, 0.1944, 0.1955, 0.1969, 0.1983, 0.2027, 0.2339",\
                 "0.1843, 0.185, 0.1871, 0.1897, 0.1922, 0.1939, 0.1955, 0.1973, 0.2028, 0.2347",\
                 "0.1881, 0.188, 0.1881, 0.1892, 0.191, 0.1926, 0.1951, 0.1968, 0.2025, 0.2377",\
                 "0.2068, 0.2053, 0.2024, 0.1994, 0.1977, 0.1977, 0.198, 0.1993, 0.2046, 0.2451",\
                 "0.2449, 0.242, 0.2342, 0.2261, 0.2191, 0.2143, 0.2109, 0.2093, 0.2145, 0.2594",\
                 "0.3032, 0.2987, 0.2865, 0.2715, 0.2583, 0.2469, 0.2381, 0.2318, 0.2342, 0.2879",\
                 "0.3811, 0.3756, 0.3595, 0.3379, 0.3164, 0.2981, 0.2822, 0.2699, 0.2705, 0.3367",\
                 "0.4787, 0.4722, 0.4529, 0.4252, 0.396, 0.3688, 0.3454, 0.3265, 0.3273, 0.4173",\
                 "0.5967, 0.5894, 0.5673, 0.5344, 0.4969, 0.4615, 0.43, 0.4045, 0.4117, 0.545");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.05226, 0.05226, 0.05227, 0.0523, 0.05242, 0.05242, 0.05244, 0.05243, 0.05246, 0.05233",\
                 "0.05099, 0.05112, 0.05106, 0.05122, 0.05131, 0.05137, 0.05143, 0.0514, 0.05141, 0.05135",\
                 "0.04993, 0.04994, 0.05006, 0.05013, 0.05031, 0.05038, 0.05048, 0.05044, 0.05052, 0.05042",\
                 "0.05653, 0.05598, 0.05487, 0.05374, 0.05279, 0.0521, 0.0516, 0.05126, 0.05102, 0.05087",\
                 "0.07645, 0.07515, 0.07137, 0.06702, 0.06325, 0.06031, 0.05795, 0.0562, 0.05493, 0.05395",\
                 "0.1127, 0.1101, 0.1031, 0.09407, 0.08559, 0.07849, 0.07286, 0.06834, 0.06487, 0.06216",\
                 "0.1662, 0.1625, 0.1519, 0.1375, 0.1229, 0.1102, 0.09954, 0.09077, 0.08377, 0.07808",\
                 "0.2377, 0.2332, 0.2193, 0.1992, 0.1779, 0.1581, 0.1408, 0.1264, 0.1145, 0.1045",\
                 "0.3281, 0.3225, 0.3057, 0.2803, 0.2522, 0.2245, 0.1997, 0.1779, 0.1595, 0.144",\
                 "0.4377, 0.4317, 0.4122, 0.3819, 0.3466, 0.3109, 0.2774, 0.2477, 0.2215, 0.1991");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2039, 0.2041, 0.2043, 0.2045, 0.2053, 0.2059, 0.2071, 0.2083, 0.21, 0.2152",\
                 "0.2016, 0.2019, 0.2026, 0.2034, 0.2042, 0.2051, 0.2062, 0.2077, 0.2092, 0.2145",\
                 "0.1992, 0.1995, 0.2004, 0.2016, 0.2031, 0.2042, 0.2056, 0.2071, 0.2089, 0.2148",\
                 "0.2048, 0.2043, 0.2036, 0.2034, 0.2037, 0.2046, 0.2057, 0.2071, 0.2092, 0.2148",\
                 "0.2274, 0.2256, 0.221, 0.2167, 0.2134, 0.2117, 0.2111, 0.2109, 0.2118, 0.2173",\
                 "0.2716, 0.2682, 0.2588, 0.2481, 0.2388, 0.2317, 0.2267, 0.2238, 0.2219, 0.2281",\
                 "0.3365, 0.3318, 0.3185, 0.3005, 0.2833, 0.2693, 0.258, 0.2495, 0.2434, 0.2482",\
                 "0.4206, 0.4152, 0.3992, 0.3749, 0.3493, 0.3268, 0.3077, 0.2918, 0.2805, 0.285",\
                 "0.525, 0.519, 0.5004, 0.4718, 0.4383, 0.4062, 0.3783, 0.3542, 0.3364, 0.3439",\
                 "0.6504, 0.6438, 0.6234, 0.5908, 0.551, 0.5098, 0.4721, 0.4388, 0.4157, 0.4364");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.0467, 0.04669, 0.04667, 0.04671, 0.04675, 0.04678, 0.04677, 0.04677, 0.04676, 0.04677",\
                 "0.04514, 0.04517, 0.0452, 0.04518, 0.04527, 0.04532, 0.04535, 0.04535, 0.04536, 0.04534",\
                 "0.04376, 0.04377, 0.04376, 0.04374, 0.04376, 0.04377, 0.04378, 0.04381, 0.04376, 0.0438",\
                 "0.05022, 0.04959, 0.04817, 0.04682, 0.0458, 0.04503, 0.04453, 0.04419, 0.04396, 0.04378",\
                 "0.07022, 0.06856, 0.0641, 0.05938, 0.0554, 0.05244, 0.05016, 0.04851, 0.04731, 0.04642",\
                 "0.1065, 0.1034, 0.09517, 0.08533, 0.07646, 0.06934, 0.06381, 0.05958, 0.05626, 0.05373",\
                 "0.1599, 0.1555, 0.1431, 0.1274, 0.1122, 0.0991, 0.08854, 0.08022, 0.07358, 0.06821",\
                 "0.2312, 0.2256, 0.2094, 0.1873, 0.1649, 0.1446, 0.1274, 0.1132, 0.1018, 0.09246",\
                 "0.3209, 0.3143, 0.2946, 0.2665, 0.2363, 0.2079, 0.1829, 0.1615, 0.1437, 0.1289",\
                 "0.4299, 0.4224, 0.3997, 0.366, 0.3279, 0.2908, 0.257, 0.2273, 0.2018, 0.1801");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1872, 0.1873, 0.1875, 0.188, 0.1886, 0.1893, 0.1902, 0.1917, 0.1961, 0.2263",\
                 "0.1848, 0.1851, 0.186, 0.1868, 0.1877, 0.1885, 0.1897, 0.1909, 0.1954, 0.2262",\
                 "0.1823, 0.1827, 0.1837, 0.1851, 0.1865, 0.1877, 0.1887, 0.1901, 0.1952, 0.2277",\
                 "0.187, 0.1867, 0.186, 0.186, 0.1868, 0.1878, 0.1889, 0.1907, 0.1959, 0.2304",\
                 "0.2077, 0.206, 0.2019, 0.198, 0.1951, 0.1938, 0.1934, 0.1941, 0.1992, 0.2374",\
                 "0.2498, 0.2467, 0.2377, 0.2276, 0.219, 0.2124, 0.2077, 0.2057, 0.2088, 0.254",\
                 "0.3131, 0.3086, 0.2953, 0.278, 0.2622, 0.2485, 0.2377, 0.2297, 0.2312, 0.2839",\
                 "0.3959, 0.3906, 0.3744, 0.351, 0.3262, 0.3046, 0.2861, 0.271, 0.2702, 0.3356",\
                 "0.499, 0.4929, 0.4744, 0.4462, 0.4134, 0.3823, 0.3552, 0.3331, 0.3311, 0.4189",\
                 "0.6228, 0.6161, 0.5956, 0.5634, 0.5238, 0.4837, 0.4471, 0.4173, 0.4213, 0.5521");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.0467, 0.04672, 0.04669, 0.04669, 0.04674, 0.04676, 0.04675, 0.04674, 0.04671, 0.04669",\
                 "0.04514, 0.04516, 0.04521, 0.04524, 0.04529, 0.04533, 0.04532, 0.04533, 0.04531, 0.04529",\
                 "0.04376, 0.04374, 0.04374, 0.04376, 0.04378, 0.04381, 0.04378, 0.04375, 0.04372, 0.0437",\
                 "0.05022, 0.04957, 0.04819, 0.04683, 0.04581, 0.04509, 0.04455, 0.0442, 0.04394, 0.04374",\
                 "0.0702, 0.06849, 0.06409, 0.05936, 0.05542, 0.05243, 0.05016, 0.04851, 0.04732, 0.04638",\
                 "0.1062, 0.1032, 0.09502, 0.0853, 0.07646, 0.06936, 0.06386, 0.05958, 0.05626, 0.05373",\
                 "0.1595, 0.1552, 0.1429, 0.1273, 0.1122, 0.09911, 0.0886, 0.08024, 0.07353, 0.06825",\
                 "0.2307, 0.2251, 0.2091, 0.1872, 0.1647, 0.1446, 0.1274, 0.1133, 0.1018, 0.09248",\
                 "0.3204, 0.3138, 0.2942, 0.2663, 0.2362, 0.2079, 0.1828, 0.1615, 0.1437, 0.129",\
                 "0.4291, 0.4218, 0.3992, 0.3657, 0.3277, 0.2906, 0.257, 0.2272, 0.2017, 0.1803");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2205, 0.2206, 0.2208, 0.2214, 0.222, 0.2225, 0.2238, 0.225, 0.229, 0.2605",\
                 "0.2185, 0.2187, 0.2194, 0.22, 0.221, 0.2216, 0.2227, 0.2241, 0.229, 0.2598",\
                 "0.2161, 0.2164, 0.2173, 0.2184, 0.2197, 0.2209, 0.2221, 0.2233, 0.2284, 0.2613",\
                 "0.2198, 0.2196, 0.2191, 0.2193, 0.2199, 0.2209, 0.2222, 0.2239, 0.2294, 0.2643",\
                 "0.2386, 0.2371, 0.2341, 0.2306, 0.228, 0.2268, 0.2265, 0.227, 0.2325, 0.2723",\
                 "0.2784, 0.2756, 0.2679, 0.2592, 0.2513, 0.2452, 0.2409, 0.2383, 0.2426, 0.2876",\
                 "0.3398, 0.3358, 0.3241, 0.3082, 0.2937, 0.2806, 0.2702, 0.2625, 0.2646, 0.3181",\
                 "0.4215, 0.4167, 0.4017, 0.3798, 0.3566, 0.3357, 0.3178, 0.3038, 0.3025, 0.3694",\
                 "0.5234, 0.518, 0.5007, 0.4738, 0.4427, 0.4132, 0.3865, 0.365, 0.3636, 0.4529",\
                 "0.6465, 0.6404, 0.621, 0.5904, 0.5527, 0.5134, 0.4778, 0.449, 0.4539, 0.5867");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.08189, 0.1018, 0.1707, 0.3019, 0.5053, 0.791, 1.168, 1.642, 2.218, 2.907",\
                 "0.09315, 0.1133, 0.183, 0.3145, 0.5184, 0.8045, 1.181, 1.655, 2.233, 2.92",\
                 "0.1215, 0.1486, 0.2277, 0.3592, 0.5631, 0.8492, 1.225, 1.699, 2.276, 2.965",\
                 "0.1338, 0.1708, 0.2783, 0.4418, 0.6514, 0.9359, 1.311, 1.784, 2.362, 3.053",\
                 "0.124, 0.1722, 0.3094, 0.5135, 0.7724, 1.076, 1.449, 1.92, 2.498, 3.184",\
                 "0.0898, 0.1481, 0.3165, 0.5641, 0.8722, 1.235, 1.646, 2.117, 2.691, 3.376",\
                 "0.0279, 0.0977, 0.2962, 0.5883, 0.9481, 1.368, 1.844, 2.37, 2.953, 3.634",\
                 "-0.0628, 0.0175, 0.247, 0.5836, 0.9973, 1.474, 2.013, 2.611, 3.262, 3.966",\
                 "-0.1863, -0.0941, 0.1658, 0.5465, 1.016, 1.553, 2.155, 2.82, 3.547, 4.33",\
                 "-0.3432, -0.2399, 0.052, 0.4777, 0.9979, 1.6, 2.266, 3, 3.8, 4.662");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1188, 0.1523, 0.2669, 0.4824, 0.8165, 1.286, 1.903, 2.679, 3.628, 4.759",\
                 "0.1306, 0.1641, 0.2803, 0.4975, 0.8332, 1.303, 1.921, 2.697, 3.646, 4.78",\
                 "0.1909, 0.2254, 0.3382, 0.5545, 0.8903, 1.361, 1.977, 2.755, 3.704, 4.839",\
                 "0.2833, 0.3272, 0.4615, 0.6774, 1.009, 1.477, 2.092, 2.869, 3.82, 4.949",\
                 "0.4038, 0.4577, 0.6173, 0.8715, 1.207, 1.669, 2.28, 3.054, 4.001, 5.132",\
                 "0.5501, 0.6168, 0.8055, 1.097, 1.483, 1.952, 2.555, 3.322, 4.264, 5.39",\
                 "0.7251, 0.8036, 1.026, 1.357, 1.789, 2.317, 2.931, 3.69, 4.623, 5.744",\
                 "0.9272, 1.019, 1.278, 1.655, 2.132, 2.715, 3.395, 4.165, 5.09, 6.201",\
                 "1.161, 1.266, 1.562, 1.989, 2.518, 3.15, 3.895, 4.734, 5.672, 6.772",\
                 "1.428, 1.545, 1.878, 2.358, 2.942, 3.629, 4.431, 5.344, 6.353, 7.468");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.09683, 0.1304, 0.2475, 0.4713, 0.82, 1.307, 1.951, 2.761, 3.742, 4.922",\
                 "0.0966, 0.1301, 0.2475, 0.4713, 0.8191, 1.309, 1.95, 2.761, 3.751, 4.919",\
                 "0.1365, 0.1675, 0.2625, 0.4708, 0.8186, 1.308, 1.95, 2.76, 3.745, 4.922",\
                 "0.2024, 0.2391, 0.3544, 0.5391, 0.8318, 1.307, 1.949, 2.758, 3.745, 4.932",\
                 "0.291, 0.3366, 0.4705, 0.6842, 0.973, 1.365, 1.954, 2.758, 3.747, 4.927",\
                 "0.395, 0.4528, 0.6154, 0.8538, 1.181, 1.582, 2.083, 2.792, 3.748, 4.923",\
                 "0.5176, 0.5842, 0.779, 1.059, 1.41, 1.858, 2.384, 3.007, 3.839, 4.939",\
                 "0.6498, 0.7318, 0.961, 1.284, 1.677, 2.154, 2.729, 3.392, 4.149, 5.117",\
                 "0.7974, 0.8958, 1.164, 1.536, 1.975, 2.492, 3.104, 3.819, 4.624, 5.53",\
                 "0.9618, 1.075, 1.38, 1.801, 2.303, 2.866, 3.513, 4.271, 5.135, 6.093");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1665, 0.2243, 0.4222, 0.8007, 1.39, 2.218, 3.303, 4.672, 6.344, 8.334",\
                 "0.1659, 0.2237, 0.422, 0.8007, 1.391, 2.216, 3.305, 4.672, 6.345, 8.345",\
                 "0.1894, 0.2356, 0.4214, 0.8013, 1.389, 2.214, 3.304, 4.675, 6.342, 8.346",\
                 "0.2493, 0.3052, 0.4773, 0.8069, 1.39, 2.215, 3.305, 4.675, 6.351, 8.336",\
                 "0.3342, 0.3916, 0.5868, 0.91, 1.413, 2.216, 3.304, 4.671, 6.342, 8.343",\
                 "0.4378, 0.5074, 0.7144, 1.075, 1.565, 2.264, 3.301, 4.673, 6.347, 8.336",\
                 "0.5592, 0.6396, 0.8688, 1.247, 1.791, 2.464, 3.388, 4.682, 6.34, 8.337",\
                 "0.6884, 0.7856, 1.051, 1.455, 2.026, 2.764, 3.634, 4.803, 6.358, 8.337",\
                 "0.8322, 0.9428, 1.249, 1.694, 2.288, 3.074, 4.007, 5.099, 6.533, 8.377",\
                 "0.9862, 1.115, 1.466, 1.96, 2.588, 3.393, 4.399, 5.542, 6.879, 8.576");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.08205, 0.1019, 0.171, 0.3019, 0.5054, 0.7915, 1.167, 1.64, 2.218, 2.908",\
                 "0.09378, 0.1139, 0.1837, 0.315, 0.5187, 0.8046, 1.181, 1.654, 2.233, 2.921",\
                 "0.1231, 0.1501, 0.229, 0.3605, 0.5645, 0.8502, 1.226, 1.699, 2.278, 2.966",\
                 "0.133, 0.1706, 0.279, 0.4428, 0.6525, 0.9371, 1.313, 1.785, 2.363, 3.052",\
                 "0.1156, 0.1647, 0.305, 0.5118, 0.7718, 1.076, 1.45, 1.921, 2.498, 3.187",\
                 "0.0676, 0.1277, 0.3018, 0.5541, 0.8673, 1.233, 1.644, 2.117, 2.69, 3.377",\
                 "-0.0136, 0.0586, 0.2651, 0.5663, 0.9342, 1.359, 1.838, 2.367, 2.95, 3.633",\
                 "-0.1304, -0.0464, 0.1926, 0.543, 0.9679, 1.455, 2, 2.601, 3.255, 3.961",\
                 "-0.2858, -0.1897, 0.0831, 0.4798, 0.9649, 1.516, 2.128, 2.801, 3.532, 4.319",\
                 "-0.4814, -0.3737, -0.0673, 0.3766, 0.9195, 1.539, 2.222, 2.965, 3.773, 4.644");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1447, 0.189, 0.3407, 0.6263, 1.07, 1.691, 2.508, 3.538, 4.793, 6.293",\
                 "0.1539, 0.1982, 0.3522, 0.6404, 1.085, 1.707, 2.525, 3.557, 4.811, 6.307",\
                 "0.2148, 0.256, 0.4046, 0.6917, 1.137, 1.759, 2.577, 3.608, 4.862, 6.368",\
                 "0.3184, 0.3698, 0.5285, 0.8072, 1.247, 1.867, 2.683, 3.715, 4.969, 6.464",\
                 "0.457, 0.5172, 0.7025, 1.005, 1.436, 2.048, 2.86, 3.886, 5.139, 6.633",\
                 "0.6292, 0.7013, 0.9136, 1.256, 1.716, 2.319, 3.121, 4.137, 5.386, 6.878",\
                 "0.8351, 0.9212, 1.167, 1.545, 2.057, 2.688, 3.48, 4.487, 5.727, 7.213",\
                 "1.078, 1.178, 1.46, 1.882, 2.438, 3.131, 3.948, 4.943, 6.171, 7.645",\
                 "1.358, 1.472, 1.794, 2.267, 2.867, 3.614, 4.5, 5.516, 6.73, 8.191",\
                 "1.677, 1.807, 2.17, 2.695, 3.351, 4.145, 5.095, 6.184, 7.413, 8.862");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.09683, 0.1301, 0.2478, 0.4717, 0.8186, 1.308, 1.949, 2.76, 3.748, 4.925",\
                 "0.0966, 0.1303, 0.2475, 0.4709, 0.8197, 1.308, 1.949, 2.76, 3.749, 4.922",\
                 "0.1356, 0.1664, 0.2621, 0.471, 0.8195, 1.307, 1.949, 2.76, 3.748, 4.927",\
                 "0.2011, 0.2389, 0.3542, 0.5384, 0.8314, 1.307, 1.949, 2.759, 3.749, 4.927",\
                 "0.2889, 0.3373, 0.4711, 0.6856, 0.9728, 1.365, 1.953, 2.758, 3.747, 4.924",\
                 "0.3958, 0.4536, 0.6176, 0.8592, 1.182, 1.584, 2.083, 2.792, 3.745, 4.925",\
                 "0.5174, 0.5886, 0.7858, 1.065, 1.419, 1.864, 2.387, 3.009, 3.84, 4.94",\
                 "0.6556, 0.7418, 0.9728, 1.3, 1.694, 2.169, 2.74, 3.398, 4.154, 5.122",\
                 "0.8072, 0.9108, 1.179, 1.556, 2, 2.516, 3.125, 3.833, 4.635, 5.531",\
                 "0.9708, 1.092, 1.409, 1.83, 2.335, 2.902, 3.548, 4.297, 5.156, 6.109");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2272, 0.3045, 0.5701, 1.071, 1.851, 2.94, 4.37, 6.183, 8.386, 11.01",\
                 "0.2248, 0.3034, 0.571, 1.071, 1.849, 2.94, 4.38, 6.187, 8.387, 11.02",\
                 "0.2342, 0.3025, 0.5688, 1.071, 1.848, 2.94, 4.38, 6.18, 8.397, 11.03",\
                 "0.2906, 0.3644, 0.5937, 1.069, 1.849, 2.94, 4.378, 6.184, 8.389, 11.03",\
                 "0.3678, 0.4416, 0.6956, 1.125, 1.849, 2.942, 4.372, 6.187, 8.382, 11",\
                 "0.4708, 0.5502, 0.8094, 1.276, 1.936, 2.947, 4.371, 6.18, 8.386, 11.01",\
                 "0.5918, 0.6824, 0.9552, 1.443, 2.137, 3.06, 4.389, 6.188, 8.384, 11.02",\
                 "0.7308, 0.8328, 1.133, 1.627, 2.367, 3.308, 4.533, 6.208, 8.391, 11.02",\
                 "0.8822, 1.001, 1.336, 1.854, 2.607, 3.614, 4.82, 6.382, 8.429, 11.03",\
                 "1.044, 1.182, 1.558, 2.117, 2.879, 3.928, 5.203, 6.704, 8.632, 11.08");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.0853, 0.1055, 0.1757, 0.3085, 0.5141, 0.8006, 1.176, 1.65, 2.228, 2.916",\
                 "0.09706, 0.1176, 0.1883, 0.3215, 0.5274, 0.814, 1.19, 1.663, 2.241, 2.93",\
                 "0.1288, 0.1555, 0.234, 0.3671, 0.5729, 0.8595, 1.235, 1.709, 2.287, 2.975",\
                 "0.1433, 0.1803, 0.2877, 0.4511, 0.6613, 0.9466, 1.322, 1.795, 2.372, 3.06",\
                 "0.134, 0.1812, 0.3188, 0.5244, 0.783, 1.086, 1.459, 1.93, 2.507, 3.194",\
                 "0.0971, 0.1546, 0.3224, 0.5714, 0.8813, 1.245, 1.655, 2.126, 2.701, 3.386",\
                 "0.0299, 0.096, 0.2937, 0.5877, 0.9509, 1.373, 1.851, 2.377, 2.96, 3.642",\
                 "-0.073, 0.0032, 0.2286, 0.5689, 0.9884, 1.471, 2.013, 2.614, 3.266, 3.971",\
                 "-0.2147, -0.1286, 0.1266, 0.5118, 0.9885, 1.535, 2.144, 2.815, 3.545, 4.331",\
                 "-0.3969, -0.3009, -0.0158, 0.4138, 0.9484, 1.561, 2.241, 2.981, 3.787, 4.656");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2026, 0.2467, 0.3986, 0.6846, 1.129, 1.749, 2.566, 3.596, 4.857, 6.349",\
                 "0.2126, 0.2572, 0.4108, 0.6987, 1.143, 1.766, 2.584, 3.615, 4.87, 6.364",\
                 "0.2693, 0.3119, 0.4628, 0.7503, 1.195, 1.818, 2.635, 3.666, 4.921, 6.422",\
                 "0.3854, 0.4334, 0.5845, 0.8643, 1.305, 1.925, 2.743, 3.77, 5.029, 6.526",\
                 "0.5353, 0.5906, 0.7679, 1.061, 1.493, 2.106, 2.918, 3.944, 5.2, 6.696",\
                 "0.723, 0.7872, 0.9867, 1.32, 1.772, 2.376, 3.179, 4.195, 5.445, 6.936",\
                 "0.9467, 1.022, 1.248, 1.616, 2.12, 2.745, 3.538, 4.544, 5.784, 7.268",\
                 "1.207, 1.293, 1.553, 1.958, 2.506, 3.193, 4.004, 5.001, 6.229, 7.703",\
                 "1.507, 1.606, 1.899, 2.35, 2.94, 3.68, 4.559, 5.571, 6.788, 8.249",\
                 "1.847, 1.957, 2.287, 2.788, 3.428, 4.216, 5.159, 6.243, 7.47, 8.917");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1351, 0.1696, 0.2879, 0.5117, 0.8596, 1.348, 1.991, 2.8, 3.789, 4.96",\
                 "0.135, 0.1697, 0.2879, 0.5116, 0.86, 1.347, 1.989, 2.801, 3.788, 4.962",\
                 "0.1831, 0.2108, 0.3022, 0.5117, 0.8606, 1.349, 1.99, 2.798, 3.787, 4.963",\
                 "0.2677, 0.2993, 0.4034, 0.5796, 0.8723, 1.347, 1.991, 2.799, 3.788, 4.966",\
                 "0.3815, 0.4183, 0.5344, 0.7368, 1.015, 1.406, 1.995, 2.801, 3.788, 4.961",\
                 "0.5172, 0.5606, 0.6982, 0.9204, 1.233, 1.628, 2.126, 2.833, 3.79, 4.964",\
                 "0.6706, 0.723, 0.8848, 1.14, 1.478, 1.911, 2.432, 3.051, 3.882, 4.977",\
                 "0.8432, 0.904, 1.093, 1.386, 1.761, 2.225, 2.788, 3.444, 4.196, 5.163",\
                 "1.031, 1.103, 1.32, 1.659, 2.081, 2.58, 3.178, 3.883, 4.679, 5.574",\
                 "1.233, 1.318, 1.569, 1.951, 2.423, 2.974, 3.611, 4.352, 5.202, 6.15");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3059, 0.3823, 0.6474, 1.148, 1.926, 3.017, 4.45, 6.257, 8.466, 11.09",\
                 "0.3046, 0.382, 0.6474, 1.148, 1.926, 3.017, 4.454, 6.259, 8.461, 11.08",\
                 "0.3012, 0.3771, 0.6459, 1.148, 1.926, 3.016, 4.449, 6.259, 8.46, 11.09",\
                 "0.3592, 0.4282, 0.6578, 1.146, 1.926, 3.016, 4.452, 6.254, 8.462, 11.09",\
                 "0.432, 0.5094, 0.759, 1.189, 1.926, 3.016, 4.451, 6.257, 8.465, 11.09",\
                 "0.5336, 0.6134, 0.8764, 1.339, 1.999, 3.02, 4.45, 6.256, 8.463, 11.09",\
                 "0.663, 0.7492, 1.02, 1.51, 2.195, 3.124, 4.461, 6.255, 8.461, 11.09",\
                 "0.8098, 0.9098, 1.196, 1.695, 2.43, 3.367, 4.593, 6.277, 8.461, 11.09",\
                 "0.9704, 1.079, 1.402, 1.918, 2.674, 3.678, 4.88, 6.436, 8.494, 11.09",\
                 "1.148, 1.274, 1.629, 2.179, 2.946, 3.991, 5.264, 6.767, 8.684, 11.14");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.08189, 0.1018, 0.1707, 0.3019, 0.5053, 0.791, 1.168, 1.642, 2.218, 2.907",\
                 "0.09315, 0.1133, 0.183, 0.3145, 0.5184, 0.8045, 1.181, 1.655, 2.233, 2.92",\
                 "0.1215, 0.1486, 0.2277, 0.3592, 0.5631, 0.8492, 1.225, 1.699, 2.276, 2.965",\
                 "0.1338, 0.1708, 0.2783, 0.4418, 0.6514, 0.9359, 1.311, 1.784, 2.362, 3.053",\
                 "0.124, 0.1722, 0.3094, 0.5135, 0.7724, 1.076, 1.449, 1.92, 2.498, 3.184",\
                 "0.0898, 0.1481, 0.3165, 0.5641, 0.8722, 1.235, 1.646, 2.117, 2.691, 3.376",\
                 "0.0279, 0.0977, 0.2962, 0.5883, 0.9481, 1.368, 1.844, 2.37, 2.953, 3.634",\
                 "-0.0628, 0.0175, 0.247, 0.5836, 0.9973, 1.474, 2.013, 2.611, 3.262, 3.966",\
                 "-0.1863, -0.0941, 0.1658, 0.5465, 1.016, 1.553, 2.155, 2.82, 3.547, 4.33",\
                 "-0.3432, -0.2399, 0.052, 0.4777, 0.9979, 1.6, 2.266, 3, 3.8, 4.662");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2026, 0.2467, 0.3986, 0.6846, 1.129, 1.749, 2.566, 3.596, 4.857, 6.349",\
                 "0.2126, 0.2572, 0.4108, 0.6987, 1.143, 1.766, 2.584, 3.615, 4.87, 6.364",\
                 "0.2693, 0.3119, 0.4628, 0.7503, 1.195, 1.818, 2.635, 3.666, 4.921, 6.422",\
                 "0.3854, 0.4334, 0.5845, 0.8643, 1.305, 1.925, 2.743, 3.77, 5.029, 6.526",\
                 "0.5353, 0.5906, 0.7679, 1.061, 1.493, 2.106, 2.918, 3.944, 5.2, 6.696",\
                 "0.723, 0.7872, 0.9867, 1.32, 1.772, 2.376, 3.179, 4.195, 5.445, 6.936",\
                 "0.9467, 1.022, 1.248, 1.616, 2.12, 2.745, 3.538, 4.544, 5.784, 7.268",\
                 "1.207, 1.293, 1.553, 1.958, 2.506, 3.193, 4.004, 5.001, 6.229, 7.703",\
                 "1.507, 1.606, 1.899, 2.35, 2.94, 3.68, 4.559, 5.571, 6.788, 8.249",\
                 "1.847, 1.957, 2.287, 2.788, 3.428, 4.216, 5.159, 6.243, 7.47, 8.917");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1351, 0.1696, 0.2879, 0.5117, 0.8596, 1.348, 1.991, 2.8, 3.789, 4.96",\
                 "0.135, 0.1697, 0.2879, 0.5116, 0.86, 1.347, 1.989, 2.801, 3.788, 4.962",\
                 "0.1831, 0.2108, 0.3022, 0.5117, 0.8606, 1.349, 1.99, 2.798, 3.787, 4.963",\
                 "0.2677, 0.2993, 0.4034, 0.5796, 0.8723, 1.347, 1.991, 2.799, 3.788, 4.966",\
                 "0.3815, 0.4183, 0.5344, 0.7368, 1.015, 1.406, 1.995, 2.801, 3.788, 4.961",\
                 "0.5172, 0.5606, 0.6982, 0.9204, 1.233, 1.628, 2.126, 2.833, 3.79, 4.964",\
                 "0.6706, 0.723, 0.8848, 1.14, 1.478, 1.911, 2.432, 3.051, 3.882, 4.977",\
                 "0.8432, 0.904, 1.093, 1.386, 1.761, 2.225, 2.788, 3.444, 4.196, 5.163",\
                 "1.031, 1.103, 1.32, 1.659, 2.081, 2.58, 3.178, 3.883, 4.679, 5.574",\
                 "1.233, 1.318, 1.569, 1.951, 2.423, 2.974, 3.611, 4.352, 5.202, 6.15");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3059, 0.3823, 0.6474, 1.148, 1.926, 3.017, 4.45, 6.257, 8.466, 11.09",\
                 "0.3046, 0.382, 0.6474, 1.148, 1.926, 3.017, 4.454, 6.259, 8.461, 11.08",\
                 "0.3012, 0.3771, 0.6459, 1.148, 1.926, 3.016, 4.449, 6.259, 8.46, 11.09",\
                 "0.3592, 0.4282, 0.6578, 1.146, 1.926, 3.016, 4.452, 6.254, 8.462, 11.09",\
                 "0.432, 0.5094, 0.759, 1.189, 1.926, 3.016, 4.451, 6.257, 8.465, 11.09",\
                 "0.5336, 0.6134, 0.8764, 1.339, 1.999, 3.02, 4.45, 6.256, 8.463, 11.09",\
                 "0.663, 0.7492, 1.02, 1.51, 2.195, 3.124, 4.461, 6.255, 8.461, 11.09",\
                 "0.8098, 0.9098, 1.196, 1.695, 2.43, 3.367, 4.593, 6.277, 8.461, 11.09",\
                 "0.9704, 1.079, 1.402, 1.918, 2.674, 3.678, 4.88, 6.436, 8.494, 11.09",\
                 "1.148, 1.274, 1.629, 2.179, 2.946, 3.991, 5.264, 6.767, 8.684, 11.14");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.09607, 0.1159, 0.185, 0.316, 0.5194, 0.805, 1.181, 1.655, 2.234, 2.921",\
                 "0.1055, 0.1258, 0.1958, 0.3273, 0.5309, 0.8175, 1.193, 1.666, 2.245, 2.935",\
                 "0.1221, 0.1464, 0.2226, 0.3551, 0.5592, 0.8456, 1.222, 1.696, 2.274, 2.963",\
                 "0.1251, 0.1575, 0.252, 0.4032, 0.6132, 0.8986, 1.275, 1.747, 2.325, 3.016",\
                 "0.1025, 0.145, 0.2659, 0.4463, 0.6835, 0.9841, 1.359, 1.831, 2.409, 3.097",\
                 "0.0505, 0.1025, 0.2524, 0.4713, 0.7439, 1.076, 1.477, 1.954, 2.528, 3.215",\
                 "-0.0342, 0.0282, 0.206, 0.4665, 0.7856, 1.157, 1.593, 2.102, 2.69, 3.375",\
                 "-0.1538, -0.0816, 0.1251, 0.4274, 0.7964, 1.219, 1.698, 2.245, 2.87, 3.578",\
                 "-0.3113, -0.2295, 0.0061, 0.3503, 0.7704, 1.249, 1.781, 2.374, 3.041, 3.789",\
                 "-0.5098, -0.4177, -0.1526, 0.2329, 0.7047, 1.242, 1.834, 2.482, 3.196, 3.989");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1555, 0.1881, 0.3019, 0.5169, 0.8511, 1.319, 1.936, 2.711, 3.659, 4.792",\
                 "0.168, 0.2011, 0.3155, 0.5312, 0.8655, 1.335, 1.951, 2.73, 3.675, 4.809",\
                 "0.2315, 0.2636, 0.3757, 0.5901, 0.9247, 1.393, 2.01, 2.787, 3.735, 4.866",\
                 "0.3408, 0.3805, 0.5045, 0.7156, 1.046, 1.511, 2.125, 2.901, 3.851, 4.981",\
                 "0.4824, 0.5289, 0.6756, 0.9176, 1.247, 1.706, 2.315, 3.086, 4.031, 5.158",\
                 "0.6589, 0.7144, 0.8824, 1.158, 1.531, 1.993, 2.595, 3.36, 4.299, 5.422",\
                 "0.8709, 0.9353, 1.13, 1.437, 1.853, 2.367, 2.974, 3.73, 4.661, 5.78",\
                 "1.12, 1.195, 1.417, 1.761, 2.216, 2.783, 3.448, 4.21, 5.132, 6.238",\
                 "1.408, 1.494, 1.746, 2.132, 2.628, 3.238, 3.965, 4.79, 5.72, 6.816",\
                 "1.737, 1.833, 2.118, 2.547, 3.09, 3.745, 4.523, 5.418, 6.413, 7.519");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.09694, 0.1304, 0.2477, 0.4714, 0.8196, 1.308, 1.95, 2.762, 3.751, 4.921",\
                 "0.09676, 0.1302, 0.2478, 0.4711, 0.8185, 1.309, 1.949, 2.76, 3.748, 4.928",\
                 "0.1255, 0.1554, 0.258, 0.4712, 0.8186, 1.308, 1.95, 2.762, 3.746, 4.927",\
                 "0.1873, 0.2178, 0.3207, 0.5164, 0.8309, 1.307, 1.949, 2.759, 3.749, 4.93",\
                 "0.2751, 0.3106, 0.4199, 0.6146, 0.9198, 1.349, 1.959, 2.76, 3.747, 4.926",\
                 "0.3804, 0.4232, 0.551, 0.7572, 1.058, 1.484, 2.044, 2.792, 3.749, 4.922",\
                 "0.5008, 0.5518, 0.7032, 0.9338, 1.244, 1.666, 2.228, 2.931, 3.83, 4.946",\
                 "0.6352, 0.695, 0.8718, 1.139, 1.476, 1.904, 2.458, 3.164, 4.02, 5.072",\
                 "0.778, 0.8526, 1.057, 1.36, 1.735, 2.19, 2.745, 3.45, 4.31, 5.33",\
                 "0.9304, 1.017, 1.261, 1.604, 2.023, 2.513, 3.088, 3.784, 4.642, 5.671");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2233, 0.2807, 0.48, 0.8584, 1.447, 2.272, 3.357, 4.726, 6.388, 8.387",\
                 "0.2227, 0.2802, 0.4797, 0.8587, 1.447, 2.273, 3.36, 4.726, 6.394, 8.384",\
                 "0.2326, 0.2841, 0.4792, 0.8582, 1.447, 2.273, 3.358, 4.725, 6.394, 8.391",\
                 "0.2989, 0.3539, 0.5204, 0.8609, 1.447, 2.272, 3.359, 4.726, 6.395, 8.39",\
                 "0.3768, 0.4374, 0.6328, 0.9522, 1.463, 2.271, 3.357, 4.725, 6.395, 8.388",\
                 "0.477, 0.5436, 0.7536, 1.115, 1.605, 2.313, 3.358, 4.724, 6.395, 8.383",\
                 "0.593, 0.6688, 0.8992, 1.283, 1.829, 2.502, 3.433, 4.73, 6.392, 8.384",\
                 "0.724, 0.8116, 1.069, 1.477, 2.056, 2.795, 3.672, 4.843, 6.409, 8.381",\
                 "0.8684, 0.9698, 1.263, 1.699, 2.302, 3.094, 4.034, 5.135, 6.566, 8.415",\
                 "1.025, 1.143, 1.471, 1.951, 2.579, 3.4, 4.413, 5.564, 6.91, 8.616");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.09623, 0.1161, 0.1852, 0.3158, 0.5198, 0.805, 1.181, 1.655, 2.233, 2.923",\
                 "0.106, 0.1264, 0.1962, 0.3278, 0.5319, 0.8178, 1.194, 1.668, 2.246, 2.933",\
                 "0.1237, 0.148, 0.224, 0.3563, 0.5608, 0.8466, 1.223, 1.697, 2.275, 2.963",\
                 "0.1256, 0.1581, 0.253, 0.4044, 0.6146, 0.9, 1.276, 1.75, 2.327, 3.016",\
                 "0.09718, 0.1402, 0.2629, 0.4451, 0.6835, 0.9846, 1.36, 1.833, 2.41, 3.097",\
                 "0.0337, 0.0876, 0.2408, 0.4639, 0.74, 1.074, 1.476, 1.953, 2.529, 3.216",\
                 "-0.0685, -0.0039, 0.1802, 0.4483, 0.7729, 1.15, 1.589, 2.099, 2.688, 3.373",\
                 "-0.2114, -0.1357, 0.0793, 0.3917, 0.7702, 1.201, 1.685, 2.235, 2.864, 3.573",\
                 "-0.3976, -0.3121, -0.0661, 0.2915, 0.7257, 1.216, 1.757, 2.356, 3.026, 3.778",\
                 "-0.6309, -0.5343, -0.258, 0.1455, 0.6329, 1.186, 1.791, 2.45, 3.171, 3.969");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1941, 0.2372, 0.3877, 0.673, 1.116, 1.737, 2.554, 3.583, 4.843, 6.334",\
                 "0.2043, 0.248, 0.3994, 0.6851, 1.129, 1.751, 2.567, 3.599, 4.853, 6.348",\
                 "0.2649, 0.3067, 0.4551, 0.7398, 1.183, 1.805, 2.622, 3.649, 4.905, 6.408",\
                 "0.3856, 0.4324, 0.5813, 0.8585, 1.296, 1.915, 2.73, 3.757, 5.01, 6.509",\
                 "0.5441, 0.5978, 0.7707, 1.06, 1.489, 2.098, 2.908, 3.931, 5.184, 6.678",\
                 "0.7449, 0.8063, 0.9997, 1.327, 1.774, 2.373, 3.173, 4.188, 5.435, 6.923",\
                 "0.9884, 1.06, 1.277, 1.634, 2.13, 2.748, 3.536, 4.541, 5.778, 7.261",\
                 "1.276, 1.358, 1.605, 1.995, 2.529, 3.206, 4.012, 5.003, 6.227, 7.697",\
                 "1.612, 1.705, 1.982, 2.413, 2.984, 3.709, 4.579, 5.583, 6.792, 8.248",\
                 "1.996, 2.1, 2.41, 2.885, 3.5, 4.268, 5.194, 6.265, 7.485, 8.926");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.09693, 0.1304, 0.2477, 0.4719, 0.8198, 1.307, 1.949, 2.76, 3.749, 4.926",\
                 "0.09674, 0.1302, 0.2476, 0.4719, 0.8199, 1.308, 1.949, 2.759, 3.749, 4.923",\
                 "0.1247, 0.1551, 0.2575, 0.4705, 0.8196, 1.307, 1.949, 2.761, 3.749, 4.923",\
                 "0.1856, 0.2164, 0.3203, 0.5161, 0.8298, 1.307, 1.949, 2.759, 3.745, 4.927",\
                 "0.2725, 0.3086, 0.4196, 0.6154, 0.9196, 1.349, 1.955, 2.758, 3.747, 4.926",\
                 "0.3778, 0.4216, 0.5508, 0.7582, 1.059, 1.486, 2.045, 2.792, 3.749, 4.921",\
                 "0.5012, 0.5522, 0.7044, 0.9394, 1.249, 1.672, 2.23, 2.932, 3.828, 4.945",\
                 "0.6364, 0.6992, 0.877, 1.145, 1.485, 1.911, 2.468, 3.17, 4.024, 5.073",\
                 "0.7808, 0.857, 1.07, 1.373, 1.751, 2.204, 2.757, 3.459, 4.318, 5.333",\
                 "0.9338, 1.023, 1.274, 1.621, 2.041, 2.533, 3.109, 3.803, 4.661, 5.68");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3053, 0.3827, 0.6471, 1.148, 1.926, 3.017, 4.449, 6.255, 8.465, 11.09",\
                 "0.3046, 0.3815, 0.6478, 1.149, 1.926, 3.018, 4.452, 6.259, 8.459, 11.08",\
                 "0.3021, 0.3769, 0.6463, 1.148, 1.926, 3.017, 4.449, 6.25, 8.454, 11.09",\
                 "0.3592, 0.4285, 0.6596, 1.147, 1.925, 3.016, 4.451, 6.255, 8.453, 11.09",\
                 "0.4278, 0.5062, 0.7574, 1.189, 1.926, 3.016, 4.45, 6.255, 8.46, 11.09",\
                 "0.5226, 0.6028, 0.8696, 1.334, 1.998, 3.02, 4.45, 6.255, 8.462, 11.09",\
                 "0.6376, 0.7266, 1.002, 1.496, 2.19, 3.122, 4.461, 6.255, 8.461, 11.09",\
                 "0.7694, 0.8676, 1.165, 1.67, 2.419, 3.358, 4.591, 6.275, 8.459, 11.09",\
                 "0.916, 1.026, 1.352, 1.879, 2.647, 3.658, 4.872, 6.435, 8.49, 11.09",\
                 "1.078, 1.203, 1.563, 2.119, 2.899, 3.958, 5.243, 6.753, 8.678, 11.13");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.09953, 0.1199, 0.1898, 0.3226, 0.5281, 0.8145, 1.19, 1.664, 2.241, 2.93",\
                 "0.1095, 0.1301, 0.2009, 0.3343, 0.5401, 0.8268, 1.203, 1.676, 2.254, 2.943",\
                 "0.1283, 0.1527, 0.2291, 0.363, 0.5692, 0.856, 1.232, 1.706, 2.283, 2.972",\
                 "0.1336, 0.1656, 0.2601, 0.4121, 0.6233, 0.9096, 1.285, 1.758, 2.336, 3.025",\
                 "0.1112, 0.153, 0.2736, 0.4549, 0.6936, 0.9944, 1.37, 1.842, 2.419, 3.107",\
                 "0.0569, 0.1076, 0.2572, 0.4774, 0.7518, 1.085, 1.486, 1.963, 2.538, 3.225",\
                 "-0.0332, 0.0266, 0.2034, 0.4662, 0.7875, 1.162, 1.6, 2.11, 2.698, 3.384",\
                 "-0.1641, -0.095, 0.1092, 0.4144, 0.7877, 1.215, 1.697, 2.247, 2.874, 3.584",\
                 "-0.3391, -0.2612, -0.0292, 0.3181, 0.7463, 1.232, 1.771, 2.368, 3.038, 3.789",\
                 "-0.5601, -0.4739, -0.2136, 0.1767, 0.6574, 1.205, 1.807, 2.464, 3.184, 3.981");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2514, 0.2948, 0.4456, 0.7308, 1.174, 1.795, 2.613, 3.641, 4.894, 6.392",\
                 "0.2624, 0.306, 0.4574, 0.7437, 1.187, 1.809, 2.625, 3.654, 4.909, 6.407",\
                 "0.3205, 0.3631, 0.5128, 0.7979, 1.241, 1.863, 2.679, 3.707, 4.962, 6.465",\
                 "0.4473, 0.4914, 0.6366, 0.9157, 1.354, 1.972, 2.788, 3.816, 5.07, 6.562",\
                 "0.6146, 0.6659, 0.8328, 1.116, 1.545, 2.155, 2.965, 3.988, 5.24, 6.732",\
                 "0.8252, 0.8829, 1.068, 1.388, 1.829, 2.429, 3.229, 4.245, 5.491, 6.981",\
                 "1.082, 1.147, 1.353, 1.702, 2.19, 2.804, 3.593, 4.598, 5.834, 7.317",\
                 "1.383, 1.458, 1.689, 2.068, 2.595, 3.265, 4.068, 5.059, 6.283, 7.753",\
                 "1.732, 1.816, 2.076, 2.491, 3.053, 3.774, 4.636, 5.638, 6.848, 8.304",\
                 "2.133, 2.226, 2.514, 2.97, 3.574, 4.335, 5.258, 6.323, 7.539, 8.981");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1351, 0.1696, 0.2878, 0.5116, 0.86, 1.349, 1.991, 2.801, 3.788, 4.96",\
                 "0.1352, 0.1697, 0.2879, 0.5116, 0.8593, 1.348, 1.991, 2.799, 3.788, 4.965",\
                 "0.1681, 0.1968, 0.2981, 0.5119, 0.8592, 1.348, 1.991, 2.799, 3.789, 4.96",\
                 "0.2412, 0.2675, 0.3652, 0.5574, 0.872, 1.348, 1.991, 2.798, 3.788, 4.963",\
                 "0.3475, 0.376, 0.4736, 0.662, 0.9618, 1.391, 1.997, 2.801, 3.788, 4.963",\
                 "0.4764, 0.5088, 0.6186, 0.8118, 1.108, 1.529, 2.086, 2.833, 3.789, 4.965",\
                 "0.6242, 0.6622, 0.7882, 1.002, 1.303, 1.718, 2.274, 2.974, 3.869, 4.989",\
                 "0.787, 0.834, 0.978, 1.221, 1.543, 1.962, 2.513, 3.213, 4.064, 5.116",\
                 "0.9606, 1.016, 1.188, 1.461, 1.819, 2.261, 2.81, 3.503, 4.361, 5.375",\
                 "1.142, 1.211, 1.413, 1.723, 2.119, 2.596, 3.164, 3.852, 4.706, 5.731");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3812, 0.4588, 0.7242, 1.225, 2.004, 3.095, 4.53, 6.333, 8.534, 11.16",\
                 "0.3814, 0.4575, 0.7233, 1.225, 2.004, 3.095, 4.526, 6.332, 8.533, 11.17",\
                 "0.3767, 0.4542, 0.7227, 1.226, 2.003, 3.095, 4.528, 6.328, 8.537, 11.17",\
                 "0.4217, 0.4881, 0.7275, 1.224, 2.003, 3.094, 4.529, 6.336, 8.537, 11.16",\
                 "0.4976, 0.5748, 0.8188, 1.255, 2.003, 3.093, 4.527, 6.333, 8.538, 11.16",\
                 "0.5908, 0.6724, 0.9376, 1.395, 2.064, 3.097, 4.527, 6.334, 8.539, 11.16",\
                 "0.7092, 0.7954, 1.071, 1.563, 2.252, 3.189, 4.536, 6.333, 8.537, 11.17",\
                 "0.8496, 0.9432, 1.233, 1.74, 2.482, 3.418, 4.657, 6.349, 8.536, 11.16",\
                 "1.004, 1.109, 1.424, 1.945, 2.716, 3.721, 4.93, 6.501, 8.563, 11.16",\
                 "1.178, 1.291, 1.638, 2.185, 2.969, 4.025, 5.304, 6.816, 8.746, 11.21");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.09607, 0.1159, 0.185, 0.316, 0.5194, 0.805, 1.181, 1.655, 2.234, 2.921",\
                 "0.1055, 0.1258, 0.1958, 0.3273, 0.5309, 0.8175, 1.193, 1.666, 2.245, 2.935",\
                 "0.1221, 0.1464, 0.2226, 0.3551, 0.5592, 0.8456, 1.222, 1.696, 2.274, 2.963",\
                 "0.1251, 0.1575, 0.252, 0.4032, 0.6132, 0.8986, 1.275, 1.747, 2.325, 3.016",\
                 "0.1025, 0.145, 0.2659, 0.4463, 0.6835, 0.9841, 1.359, 1.831, 2.409, 3.097",\
                 "0.0505, 0.1025, 0.2524, 0.4713, 0.7439, 1.076, 1.477, 1.954, 2.528, 3.215",\
                 "-0.0342, 0.0282, 0.206, 0.4665, 0.7856, 1.157, 1.593, 2.102, 2.69, 3.375",\
                 "-0.1538, -0.0816, 0.1251, 0.4274, 0.7964, 1.219, 1.698, 2.245, 2.87, 3.578",\
                 "-0.3113, -0.2295, 0.0061, 0.3503, 0.7704, 1.249, 1.781, 2.374, 3.041, 3.789",\
                 "-0.5098, -0.4177, -0.1526, 0.2329, 0.7047, 1.242, 1.834, 2.482, 3.196, 3.989");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2514, 0.2948, 0.4456, 0.7308, 1.174, 1.795, 2.613, 3.641, 4.894, 6.392",\
                 "0.2624, 0.306, 0.4574, 0.7437, 1.187, 1.809, 2.625, 3.654, 4.909, 6.407",\
                 "0.3205, 0.3631, 0.5128, 0.7979, 1.241, 1.863, 2.679, 3.707, 4.962, 6.465",\
                 "0.4473, 0.4914, 0.6366, 0.9157, 1.354, 1.972, 2.788, 3.816, 5.07, 6.562",\
                 "0.6146, 0.6659, 0.8328, 1.116, 1.545, 2.155, 2.965, 3.988, 5.24, 6.732",\
                 "0.8252, 0.8829, 1.068, 1.388, 1.829, 2.429, 3.229, 4.245, 5.491, 6.981",\
                 "1.082, 1.147, 1.353, 1.702, 2.19, 2.804, 3.593, 4.598, 5.834, 7.317",\
                 "1.383, 1.458, 1.689, 2.068, 2.595, 3.265, 4.068, 5.059, 6.283, 7.753",\
                 "1.732, 1.816, 2.076, 2.491, 3.053, 3.774, 4.636, 5.638, 6.848, 8.304",\
                 "2.133, 2.226, 2.514, 2.97, 3.574, 4.335, 5.258, 6.323, 7.539, 8.981");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1351, 0.1696, 0.2878, 0.5116, 0.86, 1.349, 1.991, 2.801, 3.788, 4.96",\
                 "0.1352, 0.1697, 0.2879, 0.5116, 0.8593, 1.348, 1.991, 2.799, 3.788, 4.965",\
                 "0.1681, 0.1968, 0.2981, 0.5119, 0.8592, 1.348, 1.991, 2.799, 3.789, 4.96",\
                 "0.2412, 0.2675, 0.3652, 0.5574, 0.872, 1.348, 1.991, 2.798, 3.788, 4.963",\
                 "0.3475, 0.376, 0.4736, 0.662, 0.9618, 1.391, 1.997, 2.801, 3.788, 4.963",\
                 "0.4764, 0.5088, 0.6186, 0.8118, 1.108, 1.529, 2.086, 2.833, 3.789, 4.965",\
                 "0.6242, 0.6622, 0.7882, 1.002, 1.303, 1.718, 2.274, 2.974, 3.869, 4.989",\
                 "0.787, 0.834, 0.978, 1.221, 1.543, 1.962, 2.513, 3.213, 4.064, 5.116",\
                 "0.9606, 1.016, 1.188, 1.461, 1.819, 2.261, 2.81, 3.503, 4.361, 5.375",\
                 "1.142, 1.211, 1.413, 1.723, 2.119, 2.596, 3.164, 3.852, 4.706, 5.731");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3812, 0.4588, 0.7242, 1.225, 2.004, 3.095, 4.53, 6.333, 8.534, 11.16",\
                 "0.3814, 0.4575, 0.7233, 1.225, 2.004, 3.095, 4.526, 6.332, 8.533, 11.17",\
                 "0.3767, 0.4542, 0.7227, 1.226, 2.003, 3.095, 4.528, 6.328, 8.537, 11.17",\
                 "0.4217, 0.4881, 0.7275, 1.224, 2.003, 3.094, 4.529, 6.336, 8.537, 11.16",\
                 "0.4976, 0.5748, 0.8188, 1.255, 2.003, 3.093, 4.527, 6.333, 8.538, 11.16",\
                 "0.5908, 0.6724, 0.9376, 1.395, 2.064, 3.097, 4.527, 6.334, 8.539, 11.16",\
                 "0.7092, 0.7954, 1.071, 1.563, 2.252, 3.189, 4.536, 6.333, 8.537, 11.17",\
                 "0.8496, 0.9432, 1.233, 1.74, 2.482, 3.418, 4.657, 6.349, 8.536, 11.16",\
                 "1.004, 1.109, 1.424, 1.945, 2.716, 3.721, 4.93, 6.501, 8.563, 11.16",\
                 "1.178, 1.291, 1.638, 2.185, 2.969, 4.025, 5.304, 6.816, 8.746, 11.21");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1527, 0.1748, 0.2496, 0.3863, 0.5938, 0.882, 1.26, 1.734, 2.313, 3.002",\
                 "0.1634, 0.1861, 0.261, 0.3974, 0.6049, 0.8932, 1.271, 1.745, 2.325, 3.014",\
                 "0.2091, 0.2312, 0.3047, 0.4406, 0.6481, 0.9363, 1.314, 1.789, 2.368, 3.057",\
                 "0.2603, 0.2897, 0.3816, 0.5293, 0.7356, 1.022, 1.399, 1.874, 2.452, 3.141",\
                 "0.2931, 0.3299, 0.4438, 0.6276, 0.869, 1.163, 1.537, 2.01, 2.586, 3.275",\
                 "0.3047, 0.3494, 0.4862, 0.7048, 0.9918, 1.338, 1.736, 2.207, 2.781, 3.468",\
                 "0.2937, 0.3458, 0.5058, 0.761, 1.092, 1.491, 1.951, 2.465, 3.044, 3.726",\
                 "0.2592, 0.318, 0.5006, 0.7927, 1.171, 1.621, 2.14, 2.722, 3.361, 4.058",\
                 "0.1986, 0.2636, 0.47, 0.7982, 1.223, 1.728, 2.304, 2.95, 3.662, 4.432",\
                 "0.1113, 0.1859, 0.4123, 0.7763, 1.248, 1.808, 2.443, 3.151, 3.932, 4.781");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1974, 0.2318, 0.3477, 0.565, 0.9011, 1.373, 1.993, 2.774, 3.727, 4.864",\
                 "0.2083, 0.2437, 0.3624, 0.5815, 0.9187, 1.391, 2.012, 2.793, 3.747, 4.883",\
                 "0.2566, 0.2924, 0.4109, 0.6319, 0.971, 1.445, 2.066, 2.849, 3.802, 4.939",\
                 "0.3281, 0.3708, 0.5032, 0.7253, 1.064, 1.537, 2.158, 2.94, 3.895, 5.032",\
                 "0.4236, 0.4735, 0.625, 0.8746, 1.218, 1.687, 2.306, 3.086, 4.04, 5.175",\
                 "0.5452, 0.6059, 0.7818, 1.057, 1.435, 1.912, 2.527, 3.301, 4.251, 5.386",\
                 "0.6946, 0.7657, 0.9707, 1.28, 1.688, 2.206, 2.83, 3.599, 4.542, 5.672",\
                 "0.8693, 0.9523, 1.189, 1.538, 1.983, 2.536, 3.204, 3.986, 4.922, 6.043",\
                 "1.069, 1.163, 1.434, 1.828, 2.32, 2.909, 3.618, 4.448, 5.4, 6.512",\
                 "1.297, 1.401, 1.705, 2.148, 2.691, 3.329, 4.076, 4.951, 5.955, 7.086");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1843, 0.2206, 0.3434, 0.571, 0.921, 1.41, 2.054, 2.863, 3.851, 5.028",\
                 "0.1843, 0.2207, 0.3432, 0.5707, 0.9212, 1.411, 2.054, 2.862, 3.851, 5.026",\
                 "0.1967, 0.2277, 0.3429, 0.5702, 0.9211, 1.411, 2.054, 2.862, 3.851, 5.027",\
                 "0.2724, 0.3096, 0.4205, 0.6055, 0.9239, 1.411, 2.054, 2.863, 3.85, 5.028",\
                 "0.3694, 0.4125, 0.544, 0.7546, 1.037, 1.448, 2.056, 2.862, 3.85, 5.027",\
                 "0.487, 0.5388, 0.6914, 0.9276, 1.249, 1.645, 2.161, 2.886, 3.852, 5.028",\
                 "0.6204, 0.6828, 0.8636, 1.132, 1.483, 1.925, 2.447, 3.08, 3.929, 5.038",\
                 "0.7666, 0.8436, 1.054, 1.362, 1.747, 2.225, 2.797, 3.459, 4.22, 5.201",\
                 "0.9284, 1.016, 1.261, 1.615, 2.049, 2.558, 3.173, 3.885, 4.69, 5.594",\
                 "1.105, 1.203, 1.487, 1.89, 2.374, 2.932, 3.58, 4.338, 5.2, 6.156");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2148, 0.2699, 0.4669, 0.8443, 1.432, 2.254, 3.336, 4.699, 6.366, 8.342",\
                 "0.2162, 0.2706, 0.4671, 0.845, 1.431, 2.254, 3.333, 4.701, 6.368, 8.336",\
                 "0.2285, 0.278, 0.4681, 0.8444, 1.432, 2.254, 3.335, 4.694, 6.364, 8.346",\
                 "0.3007, 0.3475, 0.5104, 0.8518, 1.433, 2.253, 3.335, 4.704, 6.361, 8.337",\
                 "0.4018, 0.4464, 0.6174, 0.936, 1.456, 2.253, 3.337, 4.704, 6.368, 8.334",\
                 "0.5436, 0.587, 0.7494, 1.079, 1.577, 2.303, 3.341, 4.696, 6.356, 8.336",\
                 "0.7006, 0.7506, 0.9216, 1.245, 1.765, 2.463, 3.415, 4.714, 6.359, 8.342",\
                 "0.8712, 0.9262, 1.12, 1.453, 1.972, 2.697, 3.617, 4.82, 6.392, 8.353",\
                 "1.051, 1.114, 1.332, 1.698, 2.216, 2.951, 3.904, 5.068, 6.537, 8.39",\
                 "1.245, 1.315, 1.559, 1.968, 2.513, 3.246, 4.214, 5.404, 6.818, 8.574");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1218, 0.1455, 0.223, 0.3615, 0.5704, 0.8595, 1.238, 1.713, 2.292, 2.981",\
                 "0.1328, 0.1563, 0.2336, 0.3723, 0.5812, 0.8702, 1.248, 1.723, 2.302, 2.992",\
                 "0.1776, 0.2021, 0.2778, 0.4151, 0.6237, 0.9127, 1.291, 1.766, 2.345, 3.035",\
                 "0.2175, 0.2502, 0.3488, 0.5027, 0.7107, 0.9985, 1.376, 1.85, 2.429, 3.118",\
                 "0.2356, 0.2773, 0.4011, 0.5929, 0.8408, 1.138, 1.513, 1.985, 2.563, 3.252",\
                 "0.23, 0.2804, 0.4295, 0.6602, 0.9558, 1.307, 1.71, 2.182, 2.756, 3.443",\
                 "0.2006, 0.2585, 0.4329, 0.7036, 1.047, 1.453, 1.919, 2.437, 3.017, 3.7",\
                 "0.1448, 0.2106, 0.4091, 0.7181, 1.111, 1.573, 2.099, 2.687, 3.33, 4.03",\
                 "0.0633, 0.1364, 0.3576, 0.7049, 1.148, 1.666, 2.252, 2.905, 3.624, 4.399",\
                 "-0.0466, 0.0343, 0.2787, 0.6622, 1.153, 1.73, 2.378, 3.096, 3.884, 4.739");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2361, 0.281, 0.4332, 0.7192, 1.162, 1.783, 2.6, 3.629, 4.888, 6.382",\
                 "0.2451, 0.2914, 0.4466, 0.735, 1.179, 1.801, 2.619, 3.652, 4.904, 6.401",\
                 "0.2884, 0.3341, 0.4889, 0.7789, 1.226, 1.851, 2.668, 3.699, 4.956, 6.454",\
                 "0.3542, 0.4043, 0.5663, 0.8535, 1.299, 1.923, 2.742, 3.775, 5.028, 6.53",\
                 "0.4463, 0.5013, 0.6755, 0.9777, 1.419, 2.037, 2.853, 3.882, 5.137, 6.633",\
                 "0.5672, 0.6317, 0.8249, 1.143, 1.604, 2.215, 3.023, 4.045, 5.297, 6.791",\
                 "0.7173, 0.7932, 1.012, 1.356, 1.834, 2.468, 3.267, 4.279, 5.523, 7.011",\
                 "0.895, 0.9818, 1.233, 1.612, 2.114, 2.77, 3.591, 4.594, 5.825, 7.302",\
                 "1.099, 1.198, 1.482, 1.903, 2.444, 3.122, 3.971, 4.996, 6.215, 7.679",\
                 "1.331, 1.441, 1.759, 2.227, 2.816, 3.529, 4.4, 5.456, 6.697, 8.149");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1654, 0.2018, 0.324, 0.5516, 0.8993, 1.389, 2.031, 2.84, 3.828, 5.005",\
                 "0.1632, 0.2006, 0.3235, 0.5507, 0.9002, 1.389, 2.032, 2.841, 3.827, 5.005",\
                 "0.1868, 0.2157, 0.3233, 0.5493, 0.8996, 1.389, 2.031, 2.841, 3.827, 5.005",\
                 "0.2649, 0.3014, 0.411, 0.5921, 0.9034, 1.389, 2.032, 2.84, 3.829, 5.007",\
                 "0.3678, 0.4106, 0.5384, 0.745, 1.025, 1.43, 2.034, 2.84, 3.829, 5.004",\
                 "0.4936, 0.5446, 0.6948, 0.926, 1.24, 1.635, 2.147, 2.866, 3.83, 5.006",\
                 "0.6356, 0.7008, 0.878, 1.14, 1.482, 1.918, 2.439, 3.069, 3.912, 5.017",\
                 "0.799, 0.8746, 1.083, 1.385, 1.761, 2.226, 2.794, 3.45, 4.211, 5.187",\
                 "0.9798, 1.069, 1.313, 1.658, 2.074, 2.574, 3.176, 3.883, 4.684, 5.587",\
                 "1.183, 1.288, 1.563, 1.957, 2.422, 2.965, 3.6, 4.344, 5.204, 6.153");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.237, 0.3106, 0.5713, 1.071, 1.85, 2.939, 4.374, 6.179, 8.382, 11.01",\
                 "0.2376, 0.3114, 0.5714, 1.071, 1.849, 2.938, 4.374, 6.187, 8.385, 11.03",\
                 "0.2455, 0.3153, 0.5724, 1.072, 1.85, 2.942, 4.377, 6.176, 8.38, 11.03",\
                 "0.297, 0.3655, 0.5961, 1.072, 1.847, 2.939, 4.371, 6.186, 8.395, 11.02",\
                 "0.3728, 0.4372, 0.678, 1.122, 1.856, 2.943, 4.37, 6.183, 8.396, 11.01",\
                 "0.4954, 0.559, 0.7836, 1.235, 1.929, 2.958, 4.379, 6.187, 8.4, 11.02",\
                 "0.639, 0.709, 0.938, 1.371, 2.074, 3.05, 4.403, 6.19, 8.382, 11.02",\
                 "0.7952, 0.875, 1.123, 1.554, 2.242, 3.229, 4.521, 6.224, 8.401, 11.01",\
                 "0.962, 1.05, 1.328, 1.786, 2.459, 3.438, 4.728, 6.366, 8.451, 11.04",\
                 "1.144, 1.24, 1.549, 2.051, 2.728, 3.686, 4.986, 6.606, 8.619, 11.12");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1278, 0.1517, 0.2297, 0.3696, 0.5799, 0.8694, 1.248, 1.722, 2.301, 2.991",\
                 "0.1388, 0.1624, 0.2404, 0.3804, 0.5907, 0.8802, 1.258, 1.733, 2.312, 3.002",\
                 "0.1846, 0.2088, 0.2844, 0.4232, 0.6333, 0.9226, 1.301, 1.775, 2.354, 3.044",\
                 "0.2295, 0.2615, 0.3587, 0.5117, 0.7203, 1.008, 1.385, 1.86, 2.438, 3.128",\
                 "0.256, 0.2955, 0.4162, 0.6058, 0.8518, 1.148, 1.523, 1.996, 2.572, 3.261",\
                 "0.2613, 0.3079, 0.4515, 0.6774, 0.9699, 1.32, 1.72, 2.192, 2.766, 3.453",\
                 "0.2418, 0.295, 0.4611, 0.7247, 1.063, 1.467, 1.931, 2.448, 3.027, 3.71",\
                 "0.196, 0.2557, 0.4439, 0.7444, 1.132, 1.59, 2.114, 2.699, 3.341, 4.041",\
                 "0.1243, 0.1904, 0.3989, 0.7356, 1.171, 1.686, 2.268, 2.92, 3.636, 4.41",\
                 "0.0245, 0.0974, 0.3259, 0.6974, 1.18, 1.751, 2.396, 3.112, 3.898, 4.751");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2954, 0.3397, 0.4914, 0.7771, 1.221, 1.842, 2.658, 3.687, 4.945, 6.439",\
                 "0.3068, 0.3518, 0.5057, 0.7938, 1.239, 1.861, 2.677, 3.708, 4.962, 6.458",\
                 "0.3494, 0.3942, 0.5485, 0.8388, 1.286, 1.908, 2.727, 3.757, 5.014, 6.511",\
                 "0.4209, 0.469, 0.6256, 0.9126, 1.358, 1.982, 2.802, 3.833, 5.086, 6.585",\
                 "0.5192, 0.5704, 0.7395, 1.037, 1.477, 2.096, 2.912, 3.941, 5.195, 6.697",\
                 "0.6527, 0.7106, 0.8925, 1.206, 1.662, 2.273, 3.081, 4.104, 5.355, 6.849",\
                 "0.8163, 0.8832, 1.087, 1.42, 1.896, 2.526, 3.325, 4.337, 5.58, 7.068",\
                 "1.008, 1.086, 1.317, 1.682, 2.177, 2.83, 3.649, 4.651, 5.882, 7.36",\
                 "1.229, 1.315, 1.576, 1.98, 2.511, 3.184, 4.03, 5.052, 6.272, 7.736",\
                 "1.476, 1.573, 1.864, 2.311, 2.886, 3.593, 4.461, 5.515, 6.754, 8.206");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2164, 0.2506, 0.369, 0.5933, 0.9424, 1.431, 2.072, 2.882, 3.87, 5.046",\
                 "0.2142, 0.2492, 0.3685, 0.5933, 0.9424, 1.431, 2.073, 2.881, 3.869, 5.046",\
                 "0.2368, 0.2634, 0.3682, 0.5924, 0.9423, 1.43, 2.073, 2.881, 3.87, 5.045",\
                 "0.3315, 0.3615, 0.4604, 0.6354, 0.9467, 1.43, 2.074, 2.881, 3.869, 5.047",\
                 "0.4542, 0.4882, 0.6004, 0.7952, 1.068, 1.471, 2.077, 2.881, 3.87, 5.046",\
                 "0.6014, 0.6426, 0.7706, 0.9856, 1.291, 1.679, 2.189, 2.906, 3.871, 5.046",\
                 "0.77, 0.8196, 0.9694, 1.212, 1.541, 1.967, 2.485, 3.11, 3.954, 5.059",\
                 "0.959, 1.018, 1.193, 1.469, 1.828, 2.283, 2.843, 3.495, 4.252, 5.228",\
                 "1.168, 1.239, 1.442, 1.753, 2.15, 2.637, 3.231, 3.932, 4.73, 5.629",\
                 "1.401, 1.48, 1.714, 2.068, 2.509, 3.037, 3.66, 4.402, 5.251, 6.199");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3106, 0.3856, 0.6487, 1.148, 1.927, 3.017, 4.448, 6.255, 8.461, 11.08",\
                 "0.3109, 0.3857, 0.6479, 1.149, 1.927, 3.016, 4.447, 6.255, 8.452, 11.08",\
                 "0.3136, 0.3865, 0.6479, 1.149, 1.926, 3.016, 4.447, 6.25, 8.459, 11.09",\
                 "0.3603, 0.4264, 0.6629, 1.149, 1.925, 3.015, 4.452, 6.258, 8.457, 11.09",\
                 "0.4286, 0.4984, 0.7422, 1.19, 1.929, 3.016, 4.45, 6.256, 8.463, 11.09",\
                 "0.5434, 0.6098, 0.8428, 1.3, 1.998, 3.028, 4.449, 6.256, 8.462, 11.09",\
                 "0.6886, 0.7594, 0.9896, 1.433, 2.14, 3.119, 4.473, 6.256, 8.461, 11.09",\
                 "0.8488, 0.9264, 1.183, 1.612, 2.309, 3.294, 4.589, 6.295, 8.46, 11.09",\
                 "1.02, 1.109, 1.385, 1.843, 2.519, 3.503, 4.795, 6.436, 8.518, 11.09",\
                 "1.207, 1.303, 1.61, 2.102, 2.786, 3.748, 5.051, 6.673, 8.682, 11.17");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1527, 0.1748, 0.2496, 0.3863, 0.5938, 0.882, 1.26, 1.734, 2.313, 3.002",\
                 "0.1634, 0.1861, 0.261, 0.3974, 0.6049, 0.8932, 1.271, 1.745, 2.325, 3.014",\
                 "0.2091, 0.2312, 0.3047, 0.4406, 0.6481, 0.9363, 1.314, 1.789, 2.368, 3.057",\
                 "0.2603, 0.2897, 0.3816, 0.5293, 0.7356, 1.022, 1.399, 1.874, 2.452, 3.141",\
                 "0.2931, 0.3299, 0.4438, 0.6276, 0.869, 1.163, 1.537, 2.01, 2.586, 3.275",\
                 "0.3047, 0.3494, 0.4862, 0.7048, 0.9918, 1.338, 1.736, 2.207, 2.781, 3.468",\
                 "0.2937, 0.3458, 0.5058, 0.761, 1.092, 1.491, 1.951, 2.465, 3.044, 3.726",\
                 "0.2592, 0.318, 0.5006, 0.7927, 1.171, 1.621, 2.14, 2.722, 3.361, 4.058",\
                 "0.1986, 0.2636, 0.47, 0.7982, 1.223, 1.728, 2.304, 2.95, 3.662, 4.432",\
                 "0.1113, 0.1859, 0.4123, 0.7763, 1.248, 1.808, 2.443, 3.151, 3.932, 4.781");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2954, 0.3397, 0.4914, 0.7771, 1.221, 1.842, 2.658, 3.687, 4.945, 6.439",\
                 "0.3068, 0.3518, 0.5057, 0.7938, 1.239, 1.861, 2.677, 3.708, 4.962, 6.458",\
                 "0.3494, 0.3942, 0.5485, 0.8388, 1.286, 1.908, 2.727, 3.757, 5.014, 6.511",\
                 "0.4209, 0.469, 0.6256, 0.9126, 1.358, 1.982, 2.802, 3.833, 5.086, 6.585",\
                 "0.5192, 0.5704, 0.7395, 1.037, 1.477, 2.096, 2.912, 3.941, 5.195, 6.697",\
                 "0.6527, 0.7106, 0.8925, 1.206, 1.662, 2.273, 3.081, 4.104, 5.355, 6.849",\
                 "0.8163, 0.8832, 1.087, 1.42, 1.896, 2.526, 3.325, 4.337, 5.58, 7.068",\
                 "1.008, 1.086, 1.317, 1.682, 2.177, 2.83, 3.649, 4.651, 5.882, 7.36",\
                 "1.229, 1.315, 1.576, 1.98, 2.511, 3.184, 4.03, 5.052, 6.272, 7.736",\
                 "1.476, 1.573, 1.864, 2.311, 2.886, 3.593, 4.461, 5.515, 6.754, 8.206");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2164, 0.2506, 0.369, 0.5933, 0.9424, 1.431, 2.072, 2.882, 3.87, 5.046",\
                 "0.2142, 0.2492, 0.3685, 0.5933, 0.9424, 1.431, 2.073, 2.881, 3.869, 5.046",\
                 "0.2368, 0.2634, 0.3682, 0.5924, 0.9423, 1.43, 2.073, 2.881, 3.87, 5.045",\
                 "0.3315, 0.3615, 0.4604, 0.6354, 0.9467, 1.43, 2.074, 2.881, 3.869, 5.047",\
                 "0.4542, 0.4882, 0.6004, 0.7952, 1.068, 1.471, 2.077, 2.881, 3.87, 5.046",\
                 "0.6014, 0.6426, 0.7706, 0.9856, 1.291, 1.679, 2.189, 2.906, 3.871, 5.046",\
                 "0.77, 0.8196, 0.9694, 1.212, 1.541, 1.967, 2.485, 3.11, 3.954, 5.059",\
                 "0.959, 1.018, 1.193, 1.469, 1.828, 2.283, 2.843, 3.495, 4.252, 5.228",\
                 "1.168, 1.239, 1.442, 1.753, 2.15, 2.637, 3.231, 3.932, 4.73, 5.629",\
                 "1.401, 1.48, 1.714, 2.068, 2.509, 3.037, 3.66, 4.402, 5.251, 6.199");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3106, 0.3856, 0.6487, 1.148, 1.927, 3.017, 4.448, 6.255, 8.461, 11.08",\
                 "0.3109, 0.3857, 0.6479, 1.149, 1.927, 3.016, 4.447, 6.255, 8.452, 11.08",\
                 "0.3136, 0.3865, 0.6479, 1.149, 1.926, 3.016, 4.447, 6.25, 8.459, 11.09",\
                 "0.3603, 0.4264, 0.6629, 1.149, 1.925, 3.015, 4.452, 6.258, 8.457, 11.09",\
                 "0.4286, 0.4984, 0.7422, 1.19, 1.929, 3.016, 4.45, 6.256, 8.463, 11.09",\
                 "0.5434, 0.6098, 0.8428, 1.3, 1.998, 3.028, 4.449, 6.256, 8.462, 11.09",\
                 "0.6886, 0.7594, 0.9896, 1.433, 2.14, 3.119, 4.473, 6.256, 8.461, 11.09",\
                 "0.8488, 0.9264, 1.183, 1.612, 2.309, 3.294, 4.589, 6.295, 8.46, 11.09",\
                 "1.02, 1.109, 1.385, 1.843, 2.519, 3.503, 4.795, 6.436, 8.518, 11.09",\
                 "1.207, 1.303, 1.61, 2.102, 2.786, 3.748, 5.051, 6.673, 8.682, 11.17");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1662, 0.1886, 0.2636, 0.3999, 0.6076, 0.8958, 1.273, 1.748, 2.327, 3.016",\
                 "0.1758, 0.1986, 0.2732, 0.4098, 0.6175, 0.9058, 1.283, 1.758, 2.337, 3.027",\
                 "0.203, 0.2258, 0.3003, 0.4365, 0.6444, 0.9328, 1.31, 1.785, 2.364, 3.053",\
                 "0.2328, 0.2594, 0.3444, 0.4895, 0.6977, 0.9854, 1.363, 1.837, 2.416, 3.105",\
                 "0.2472, 0.28, 0.3817, 0.5472, 0.776, 1.072, 1.448, 1.921, 2.498, 3.187",\
                 "0.2367, 0.2757, 0.3985, 0.5933, 0.8502, 1.174, 1.569, 2.043, 2.619, 3.306",\
                 "0.1967, 0.2433, 0.3876, 0.616, 0.9108, 1.268, 1.695, 2.198, 2.781, 3.467",\
                 "0.1271, 0.1808, 0.3458, 0.6086, 0.9465, 1.347, 1.812, 2.349, 2.968, 3.672",\
                 "0.0267, 0.086, 0.2724, 0.5689, 0.9513, 1.401, 1.913, 2.491, 3.148, 3.891",\
                 "-0.1089, -0.0421, 0.1654, 0.4943, 0.9211, 1.423, 1.989, 2.617, 3.318, 4.1");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2347, 0.2676, 0.3824, 0.5991, 0.9356, 1.407, 2.027, 2.808, 3.761, 4.898",\
                 "0.2482, 0.2823, 0.3981, 0.6153, 0.9519, 1.423, 2.044, 2.824, 3.778, 4.915",\
                 "0.2999, 0.334, 0.4504, 0.6684, 1.006, 1.478, 2.099, 2.88, 3.834, 4.971",\
                 "0.3818, 0.4209, 0.5462, 0.7648, 1.101, 1.572, 2.193, 2.974, 3.928, 5.064",\
                 "0.4928, 0.5372, 0.6784, 0.9192, 1.257, 1.725, 2.343, 3.121, 4.073, 5.208",\
                 "0.6425, 0.6942, 0.8521, 1.114, 1.482, 1.954, 2.566, 3.34, 4.286, 5.419",\
                 "0.8275, 0.8874, 1.068, 1.355, 1.748, 2.256, 2.874, 3.641, 4.581, 5.707",\
                 "1.046, 1.115, 1.321, 1.641, 2.063, 2.601, 3.258, 4.034, 4.966, 6.084",\
                 "1.298, 1.376, 1.61, 1.967, 2.427, 2.995, 3.688, 4.507, 5.451, 6.559",\
                 "1.585, 1.672, 1.934, 2.333, 2.837, 3.443, 4.169, 5.028, 6.02, 7.141");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1841, 0.2206, 0.344, 0.5707, 0.921, 1.411, 2.054, 2.864, 3.85, 5.026",\
                 "0.1839, 0.2207, 0.3435, 0.571, 0.9214, 1.41, 2.052, 2.862, 3.851, 5.025",\
                 "0.1936, 0.2265, 0.3435, 0.5705, 0.9212, 1.411, 2.053, 2.863, 3.85, 5.026",\
                 "0.2483, 0.2825, 0.3943, 0.5962, 0.9257, 1.409, 2.053, 2.862, 3.85, 5.027",\
                 "0.336, 0.3725, 0.4866, 0.6904, 0.9992, 1.44, 2.056, 2.863, 3.85, 5.027",\
                 "0.448, 0.4888, 0.6162, 0.8244, 1.134, 1.565, 2.132, 2.888, 3.852, 5.026",\
                 "0.575, 0.6246, 0.771, 0.9988, 1.314, 1.744, 2.31, 3.017, 3.919, 5.044",\
                 "0.7174, 0.774, 0.9456, 1.203, 1.54, 1.973, 2.536, 3.246, 4.106, 5.164",\
                 "0.8732, 0.9422, 1.139, 1.434, 1.801, 2.251, 2.816, 3.523, 4.39, 5.412",\
                 "1.044, 1.124, 1.348, 1.682, 2.091, 2.574, 3.154, 3.857, 4.723, 5.753");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2704, 0.3262, 0.5242, 0.9019, 1.489, 2.311, 3.391, 4.753, 6.413, 8.392",\
                 "0.2704, 0.3265, 0.5247, 0.9017, 1.489, 2.311, 3.391, 4.751, 6.412, 8.392",\
                 "0.2761, 0.3297, 0.525, 0.9022, 1.488, 2.311, 3.392, 4.752, 6.414, 8.396",\
                 "0.342, 0.3906, 0.5563, 0.9054, 1.489, 2.311, 3.392, 4.753, 6.416, 8.394",\
                 "0.4352, 0.485, 0.6616, 0.9808, 1.507, 2.311, 3.392, 4.753, 6.414, 8.395",\
                 "0.5612, 0.6112, 0.7842, 1.121, 1.623, 2.353, 3.395, 4.753, 6.414, 8.395",\
                 "0.7062, 0.7604, 0.9424, 1.278, 1.804, 2.508, 3.465, 4.762, 6.415, 8.394",\
                 "0.8676, 0.9284, 1.127, 1.471, 2, 2.735, 3.661, 4.869, 6.439, 8.397",\
                 "1.042, 1.111, 1.332, 1.702, 2.232, 2.979, 3.939, 5.105, 6.579, 8.441",\
                 "1.227, 1.306, 1.557, 1.956, 2.508, 3.254, 4.238, 5.436, 6.859, 8.62");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1358, 0.1594, 0.2366, 0.3752, 0.5841, 0.8731, 1.251, 1.726, 2.305, 2.995",\
                 "0.1454, 0.169, 0.2463, 0.3848, 0.5937, 0.8828, 1.261, 1.736, 2.315, 3.005",\
                 "0.1716, 0.1958, 0.273, 0.411, 0.62, 0.9092, 1.287, 1.762, 2.341, 3.031",\
                 "0.1943, 0.2235, 0.3136, 0.4624, 0.6727, 0.9613, 1.339, 1.814, 2.393, 3.082",\
                 "0.1955, 0.2324, 0.3426, 0.5154, 0.7483, 1.046, 1.423, 1.897, 2.475, 3.164",\
                 "0.168, 0.213, 0.3472, 0.5531, 0.8172, 1.145, 1.542, 2.018, 2.594, 3.282",\
                 "0.1098, 0.1622, 0.3202, 0.5628, 0.8692, 1.233, 1.663, 2.169, 2.755, 3.441",\
                 "0.0205, 0.0798, 0.2607, 0.5405, 0.8924, 1.304, 1.774, 2.316, 2.938, 3.643",\
                 "-0.1039, -0.037, 0.166, 0.482, 0.8812, 1.345, 1.866, 2.45, 3.112, 3.857",\
                 "-0.2641, -0.1901, 0.0359, 0.3862, 0.8323, 1.35, 1.929, 2.567, 3.273, 4.06");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2859, 0.3293, 0.4797, 0.7644, 1.208, 1.829, 2.645, 3.674, 4.933, 6.427",\
                 "0.2981, 0.3422, 0.4938, 0.7796, 1.224, 1.844, 2.661, 3.69, 4.946, 6.443",\
                 "0.3449, 0.3891, 0.5411, 0.8286, 1.273, 1.896, 2.712, 3.741, 4.999, 6.496",\
                 "0.4181, 0.4654, 0.6211, 0.9061, 1.349, 1.972, 2.788, 3.818, 5.077, 6.57",\
                 "0.5222, 0.5727, 0.7388, 1.034, 1.471, 2.088, 2.902, 3.928, 5.186, 6.678",\
                 "0.6692, 0.7257, 0.9025, 1.211, 1.662, 2.27, 3.075, 4.097, 5.345, 6.839",\
                 "0.8559, 0.9199, 1.117, 1.439, 1.906, 2.53, 3.324, 4.333, 5.573, 7.06",\
                 "1.078, 1.151, 1.372, 1.722, 2.205, 2.847, 3.659, 4.654, 5.882, 7.357",\
                 "1.336, 1.418, 1.666, 2.052, 2.563, 3.221, 4.054, 5.068, 6.281, 7.741",\
                 "1.63, 1.721, 1.998, 2.423, 2.973, 3.656, 4.507, 5.547, 6.776, 8.221");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1643, 0.201, 0.3235, 0.5501, 0.9001, 1.388, 2.032, 2.841, 3.827, 5.004",\
                 "0.163, 0.2002, 0.323, 0.5505, 0.9003, 1.389, 2.032, 2.84, 3.829, 5.005",\
                 "0.1792, 0.211, 0.3247, 0.5499, 0.9003, 1.389, 2.031, 2.842, 3.827, 5.005",\
                 "0.2409, 0.2732, 0.3812, 0.5801, 0.9057, 1.388, 2.032, 2.84, 3.828, 5.006",\
                 "0.337, 0.3717, 0.4812, 0.6782, 0.9846, 1.422, 2.036, 2.841, 3.828, 5.005",\
                 "0.456, 0.4982, 0.62, 0.8218, 1.124, 1.551, 2.115, 2.867, 3.83, 5.006",\
                 "0.596, 0.645, 0.7856, 1.008, 1.313, 1.737, 2.295, 3.001, 3.901, 5.026",\
                 "0.7562, 0.8122, 0.9774, 1.227, 1.55, 1.974, 2.53, 3.234, 4.091, 5.147",\
                 "0.9358, 1.001, 1.19, 1.471, 1.827, 2.268, 2.819, 3.518, 4.379, 5.398",\
                 "1.132, 1.21, 1.426, 1.744, 2.134, 2.605, 3.167, 3.862, 4.714, 5.741");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3106, 0.3854, 0.6481, 1.148, 1.926, 3.016, 4.448, 6.251, 8.463, 11.08",\
                 "0.3107, 0.3855, 0.6482, 1.148, 1.927, 3.016, 4.448, 6.257, 8.458, 11.08",\
                 "0.3132, 0.3869, 0.6477, 1.148, 1.926, 3.018, 4.449, 6.251, 8.459, 11.09",\
                 "0.3602, 0.4274, 0.6634, 1.148, 1.925, 3.018, 4.449, 6.26, 8.463, 11.08",\
                 "0.428, 0.4976, 0.742, 1.19, 1.929, 3.015, 4.45, 6.258, 8.464, 11.09",\
                 "0.5348, 0.6038, 0.839, 1.297, 1.998, 3.028, 4.449, 6.258, 8.462, 11.09",\
                 "0.667, 0.741, 0.9778, 1.425, 2.135, 3.119, 4.474, 6.256, 8.459, 11.09",\
                 "0.8168, 0.8968, 1.151, 1.592, 2.296, 3.288, 4.587, 6.295, 8.463, 11.09",\
                 "0.9798, 1.072, 1.349, 1.81, 2.494, 3.489, 4.788, 6.431, 8.518, 11.09",\
                 "1.156, 1.257, 1.569, 2.059, 2.746, 3.718, 5.033, 6.664, 8.681, 11.17");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1417, 0.1654, 0.2434, 0.3834, 0.5937, 0.8832, 1.261, 1.736, 2.315, 3.005",\
                 "0.1513, 0.1751, 0.253, 0.3929, 0.6032, 0.8927, 1.271, 1.746, 2.325, 3.014",\
                 "0.1781, 0.2024, 0.2797, 0.4192, 0.6296, 0.9191, 1.297, 1.772, 2.351, 3.041",\
                 "0.2039, 0.2326, 0.3221, 0.4713, 0.6823, 0.9713, 1.349, 1.824, 2.402, 3.092",\
                 "0.2115, 0.2465, 0.3546, 0.5262, 0.7591, 1.057, 1.433, 1.907, 2.485, 3.174",\
                 "0.1927, 0.235, 0.3645, 0.5671, 0.8297, 1.156, 1.553, 2.028, 2.604, 3.292",\
                 "0.1442, 0.1928, 0.344, 0.5813, 0.8838, 1.245, 1.675, 2.18, 2.765, 3.451",\
                 "0.064, 0.1185, 0.2899, 0.5628, 0.9099, 1.318, 1.787, 2.328, 2.949, 3.654",\
                 "-0.0508, 0.0103, 0.2015, 0.5084, 0.9019, 1.361, 1.88, 2.463, 3.124, 3.868",\
                 "-0.2019, -0.1347, 0.0778, 0.4166, 0.8556, 1.369, 1.945, 2.581, 3.286, 4.072");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3437, 0.387, 0.5377, 0.8231, 1.267, 1.886, 2.703, 3.733, 4.986, 6.483",\
                 "0.3569, 0.4007, 0.552, 0.838, 1.282, 1.902, 2.719, 3.748, 5.005, 6.499",\
                 "0.4041, 0.4479, 0.5999, 0.8868, 1.331, 1.953, 2.77, 3.798, 5.056, 6.551",\
                 "0.4815, 0.5273, 0.6793, 0.9643, 1.408, 2.028, 2.846, 3.875, 5.134, 6.626",\
                 "0.5893, 0.6377, 0.8013, 1.092, 1.529, 2.145, 2.96, 3.986, 5.242, 6.739",\
                 "0.7441, 0.7961, 0.9667, 1.272, 1.719, 2.327, 3.132, 4.152, 5.403, 6.894",\
                 "0.9403, 0.9987, 1.185, 1.502, 1.966, 2.587, 3.381, 4.39, 5.629, 7.116",\
                 "1.174, 1.241, 1.448, 1.788, 2.265, 2.906, 3.715, 4.711, 5.939, 7.41",\
                 "1.444, 1.519, 1.75, 2.122, 2.626, 3.281, 4.113, 5.124, 6.336, 7.796",\
                 "1.751, 1.834, 2.091, 2.5, 3.04, 3.718, 4.567, 5.605, 6.832, 8.276");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2156, 0.2499, 0.3688, 0.5934, 0.9424, 1.431, 2.074, 2.882, 3.87, 5.046",\
                 "0.2142, 0.2491, 0.3684, 0.5932, 0.9421, 1.431, 2.072, 2.881, 3.87, 5.045",\
                 "0.2295, 0.2592, 0.3697, 0.5927, 0.9422, 1.43, 2.073, 2.881, 3.87, 5.046",\
                 "0.2994, 0.3278, 0.4286, 0.6232, 0.9488, 1.431, 2.072, 2.881, 3.87, 5.047",\
                 "0.4091, 0.4375, 0.5358, 0.726, 1.027, 1.465, 2.077, 2.883, 3.869, 5.045",\
                 "0.5468, 0.5796, 0.6858, 0.8744, 1.171, 1.595, 2.157, 2.911, 3.873, 5.046",\
                 "0.7076, 0.7446, 0.8644, 1.07, 1.365, 1.784, 2.34, 3.044, 3.942, 5.066",\
                 "0.8888, 0.933, 1.071, 1.297, 1.61, 2.024, 2.576, 3.277, 4.133, 5.189",\
                 "1.094, 1.143, 1.301, 1.555, 1.894, 2.324, 2.868, 3.564, 4.423, 5.441",\
                 "1.315, 1.378, 1.553, 1.839, 2.21, 2.667, 3.224, 3.911, 4.761, 5.788");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3843, 0.4595, 0.7241, 1.225, 2.004, 3.093, 4.526, 6.332, 8.531, 11.15",\
                 "0.3839, 0.4599, 0.7239, 1.225, 2.004, 3.093, 4.525, 6.333, 8.538, 11.15",\
                 "0.3851, 0.4604, 0.7239, 1.225, 2.003, 3.094, 4.526, 6.331, 8.535, 11.16",\
                 "0.4217, 0.4887, 0.7335, 1.225, 2.003, 3.093, 4.527, 6.334, 8.54, 11.16",\
                 "0.49, 0.563, 0.806, 1.258, 2.005, 3.093, 4.527, 6.333, 8.541, 11.17",\
                 "0.591, 0.6594, 0.9032, 1.364, 2.065, 3.103, 4.527, 6.333, 8.538, 11.17",\
                 "0.7246, 0.795, 1.034, 1.49, 2.201, 3.188, 4.548, 6.332, 8.535, 11.17",\
                 "0.8786, 0.957, 1.207, 1.654, 2.363, 3.354, 4.657, 6.368, 8.538, 11.16",\
                 "1.047, 1.135, 1.408, 1.866, 2.558, 3.555, 4.853, 6.502, 8.59, 11.17",\
                 "1.23, 1.328, 1.63, 2.117, 2.805, 3.784, 5.096, 6.729, 8.749, 11.24");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.1662, 0.1886, 0.2636, 0.3999, 0.6076, 0.8958, 1.273, 1.748, 2.327, 3.016",\
                 "0.1758, 0.1986, 0.2732, 0.4098, 0.6175, 0.9058, 1.283, 1.758, 2.337, 3.027",\
                 "0.203, 0.2258, 0.3003, 0.4365, 0.6444, 0.9328, 1.31, 1.785, 2.364, 3.053",\
                 "0.2328, 0.2594, 0.3444, 0.4895, 0.6977, 0.9854, 1.363, 1.837, 2.416, 3.105",\
                 "0.2472, 0.28, 0.3817, 0.5472, 0.776, 1.072, 1.448, 1.921, 2.498, 3.187",\
                 "0.2367, 0.2757, 0.3985, 0.5933, 0.8502, 1.174, 1.569, 2.043, 2.619, 3.306",\
                 "0.1967, 0.2433, 0.3876, 0.616, 0.9108, 1.268, 1.695, 2.198, 2.781, 3.467",\
                 "0.1271, 0.1808, 0.3458, 0.6086, 0.9465, 1.347, 1.812, 2.349, 2.968, 3.672",\
                 "0.0267, 0.086, 0.2724, 0.5689, 0.9513, 1.401, 1.913, 2.491, 3.148, 3.891",\
                 "-0.1089, -0.0421, 0.1654, 0.4943, 0.9211, 1.423, 1.989, 2.617, 3.318, 4.1");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3437, 0.387, 0.5377, 0.8231, 1.267, 1.886, 2.703, 3.733, 4.986, 6.483",\
                 "0.3569, 0.4007, 0.552, 0.838, 1.282, 1.902, 2.719, 3.748, 5.005, 6.499",\
                 "0.4041, 0.4479, 0.5999, 0.8868, 1.331, 1.953, 2.77, 3.798, 5.056, 6.551",\
                 "0.4815, 0.5273, 0.6793, 0.9643, 1.408, 2.028, 2.846, 3.875, 5.134, 6.626",\
                 "0.5893, 0.6377, 0.8013, 1.092, 1.529, 2.145, 2.96, 3.986, 5.242, 6.739",\
                 "0.7441, 0.7961, 0.9667, 1.272, 1.719, 2.327, 3.132, 4.152, 5.403, 6.894",\
                 "0.9403, 0.9987, 1.185, 1.502, 1.966, 2.587, 3.381, 4.39, 5.629, 7.116",\
                 "1.174, 1.241, 1.448, 1.788, 2.265, 2.906, 3.715, 4.711, 5.939, 7.41",\
                 "1.444, 1.519, 1.75, 2.122, 2.626, 3.281, 4.113, 5.124, 6.336, 7.796",\
                 "1.751, 1.834, 2.091, 2.5, 3.04, 3.718, 4.567, 5.605, 6.832, 8.276");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.2156, 0.2499, 0.3688, 0.5934, 0.9424, 1.431, 2.074, 2.882, 3.87, 5.046",\
                 "0.2142, 0.2491, 0.3684, 0.5932, 0.9421, 1.431, 2.072, 2.881, 3.87, 5.045",\
                 "0.2295, 0.2592, 0.3697, 0.5927, 0.9422, 1.43, 2.073, 2.881, 3.87, 5.046",\
                 "0.2994, 0.3278, 0.4286, 0.6232, 0.9488, 1.431, 2.072, 2.881, 3.87, 5.047",\
                 "0.4091, 0.4375, 0.5358, 0.726, 1.027, 1.465, 2.077, 2.883, 3.869, 5.045",\
                 "0.5468, 0.5796, 0.6858, 0.8744, 1.171, 1.595, 2.157, 2.911, 3.873, 5.046",\
                 "0.7076, 0.7446, 0.8644, 1.07, 1.365, 1.784, 2.34, 3.044, 3.942, 5.066",\
                 "0.8888, 0.933, 1.071, 1.297, 1.61, 2.024, 2.576, 3.277, 4.133, 5.189",\
                 "1.094, 1.143, 1.301, 1.555, 1.894, 2.324, 2.868, 3.564, 4.423, 5.441",\
                 "1.315, 1.378, 1.553, 1.839, 2.21, 2.667, 3.224, 3.911, 4.761, 5.788");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004309, 0.01593, 0.03811, 0.07267, 0.1212, 0.185, 0.2653, 0.3635, 0.4804");
          values("0.3843, 0.4595, 0.7241, 1.225, 2.004, 3.093, 4.526, 6.332, 8.531, 11.15",\
                 "0.3839, 0.4599, 0.7239, 1.225, 2.004, 3.093, 4.525, 6.333, 8.538, 11.15",\
                 "0.3851, 0.4604, 0.7239, 1.225, 2.003, 3.094, 4.526, 6.331, 8.535, 11.16",\
                 "0.4217, 0.4887, 0.7335, 1.225, 2.003, 3.093, 4.527, 6.334, 8.54, 11.16",\
                 "0.49, 0.563, 0.806, 1.258, 2.005, 3.093, 4.527, 6.333, 8.541, 11.17",\
                 "0.591, 0.6594, 0.9032, 1.364, 2.065, 3.103, 4.527, 6.333, 8.538, 11.17",\
                 "0.7246, 0.795, 1.034, 1.49, 2.201, 3.188, 4.548, 6.332, 8.535, 11.17",\
                 "0.8786, 0.957, 1.207, 1.654, 2.363, 3.354, 4.657, 6.368, 8.538, 11.16",\
                 "1.047, 1.135, 1.408, 1.866, 2.558, 3.555, 4.853, 6.502, 8.59, 11.17",\
                 "1.23, 1.328, 1.63, 2.117, 2.805, 3.784, 5.096, 6.729, 8.749, 11.24");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi22_4) {
    area : 70.246400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2" ;
      value : "0.000109758" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2" ;
      value : "0.0001100781" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2" ;
      value : "0.0001750485" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2" ;
      value : "0.0002290266" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2" ;
      value : "0.0001100781" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2" ;
      value : "0.0001753719" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2" ;
      value : "0.000232023" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2" ;
      value : "0.0001750485" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2" ;
      value : "0.0001753719" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2" ;
      value : "0.0002403423" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2" ;
      value : "0.000232023" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2" ;
      value : "0.0001133352" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002403423" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01759 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06706, 0.06695, 0.0668, 0.06662, 0.0665, 0.06652, 0.06652, 0.06654, \
                 0.06653, 0.06655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04287, -0.04274, -0.04269, -0.0426, -0.04261, -0.04274, -0.04274, \
                 -0.0428, -0.04279, -0.04291");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06689, 0.06693, 0.06683, 0.06664, 0.06654, 0.06655, 0.06653, \
                 0.06651, 0.06654, 0.06648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04288, -0.0428, -0.0428, -0.04265, -0.04268, -0.04275, -0.04277, \
                 -0.04283, -0.04289, -0.04299");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0669, 0.06692, 0.06683, 0.06665, 0.06654, 0.06657, 0.06653, \
                 0.06652, 0.0665, 0.06649");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04288, -0.0428, -0.04278, -0.04265, -0.04272, -0.04273, -0.0428, \
                 -0.04282, -0.04289, -0.04297");
        }
      }

      internal_power() {
        when : "!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01711, 0.01708, 0.0171, 0.01712, 0.01712, 0.01721, 0.0172, 0.01722, \
                 0.01722, 0.01722");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01718, -0.01715, -0.0172, -0.01722, -0.01723, -0.01729, -0.01729, \
                 -0.01729, -0.01731, -0.01732");
        }
      }

      internal_power() {
        when : "A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08115, 0.08111, 0.08088, 0.08084, 0.08074, 0.08077, 0.08065, \
                 0.08053, 0.08041, 0.08018");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01722, -0.0172, -0.01728, -0.0173, -0.01726, -0.01733, -0.01732, \
                 -0.01733, -0.01732, -0.01733");
        }
      }
    }

    pin(A2) {
      capacitance : 0.0183 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06553, 0.06057, 0.05879, 0.05856, 0.05843, 0.05845, 0.05846, \
                 0.05846, 0.05843, 0.05846");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05884, -0.05876, -0.05861, -0.0584, -0.05833, -0.05837, -0.05833, \
                 -0.05832, -0.05829, -0.05828");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06534, 0.06051, 0.05886, 0.0586, 0.05845, 0.05847, 0.05847, \
                 0.05845, 0.05845, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05882, -0.05876, -0.05869, -0.05851, -0.05839, -0.05844, -0.05838, \
                 -0.05837, -0.0584, -0.05829");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06535, 0.06051, 0.05886, 0.0586, 0.05845, 0.05846, 0.05846, \
                 0.05844, 0.05845, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05882, -0.05876, -0.05869, -0.05849, -0.05838, -0.05843, -0.0584, \
                 -0.05836, -0.05832, -0.05838");
        }
      }

      internal_power() {
        when : "!A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01713, 0.0171, 0.01714, 0.01715, 0.01713, 0.01722, 0.01723, \
                 0.01722, 0.01722, 0.01722");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01721, -0.0172, -0.01719, -0.01723, -0.01723, -0.0173, -0.0173, \
                 -0.0173, -0.01731, -0.01731");
        }
      }

      internal_power() {
        when : "A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08121, 0.08107, 0.0809, 0.08084, 0.08075, 0.08076, 0.08067, \
                 0.08057, 0.08045, 0.08017");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01725, -0.01728, -0.01728, -0.01729, -0.01727, -0.01734, -0.01733, \
                 -0.01732, -0.01732, -0.01733");
        }
      }
    }

    pin(B1) {
      capacitance : 0.01753 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0667, 0.06669, 0.06651, 0.06657, 0.0665, 0.06662, 0.06657, 0.06656, \
                 0.06657, 0.06659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0423, -0.04229, -0.04238, -0.0423, -0.04234, -0.04257, -0.04255, \
                 -0.04267, -0.04267, -0.04276");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06672, 0.06662, 0.0665, 0.06661, 0.0665, 0.06663, 0.06657, 0.06654, \
                 0.06652, 0.06656");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0423, -0.04227, -0.04235, -0.04232, -0.04228, -0.04256, -0.04259, \
                 -0.04263, -0.04267, -0.04282");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06672, 0.06662, 0.06647, 0.06661, 0.0664, 0.06667, 0.06655, \
                 0.06656, 0.06653, 0.06656");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04231, -0.04226, -0.04235, -0.04236, -0.04229, -0.04254, -0.04258, \
                 -0.04264, -0.04267, -0.04285");
        }
      }

      internal_power() {
        when : "A1&A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05847, 0.05839, 0.05822, 0.05829, 0.05834, 0.05853, 0.05844, \
                 0.05852, 0.05843, 0.05844");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0583, -0.05819, -0.05804, -0.05807, -0.058, -0.05819, -0.05825, \
                 -0.05823, -0.05825, -0.05821");
        }
      }

      internal_power() {
        when : "A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05777, 0.05772, 0.05773, 0.05778, 0.05772, 0.05779, 0.05784, \
                 0.05781, 0.05779, 0.0578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04772, -0.04934, -0.05224, -0.0542, -0.05512, -0.05578, -0.05616, \
                 -0.05638, -0.05654, -0.05665");
        }
      }
    }

    pin(B2) {
      capacitance : 0.01794 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06522, 0.06031, 0.05872, 0.05844, 0.05838, 0.05844, 0.05844, \
                 0.05842, 0.05841, 0.05854");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0584, -0.05837, -0.05829, -0.05823, -0.05822, -0.05834, -0.05831, \
                 -0.05834, -0.05826, -0.05828");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06527, 0.0603, 0.0587, 0.05843, 0.05838, 0.05849, 0.05845, 0.05842, \
                 0.05845, 0.05854");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05833, -0.0583, -0.05831, -0.05823, -0.05819, -0.05833, -0.05833, \
                 -0.05828, -0.05824, -0.0583");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06527, 0.06032, 0.0587, 0.05843, 0.05836, 0.05847, 0.05849, \
                 0.05843, 0.05845, 0.05856");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05835, -0.0583, -0.05831, -0.05822, -0.05817, -0.05834, -0.05832, \
                 -0.05827, -0.05825, -0.05829");
        }
      }

      internal_power() {
        when : "A1&A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05862, 0.0585, 0.05843, 0.05832, 0.05832, 0.05845, 0.05847, \
                 0.05841, 0.05848, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05821, -0.05815, -0.05807, -0.05809, -0.05816, -0.05827, -0.05824, \
                 -0.05825, -0.05825, -0.05823");
        }
      }

      internal_power() {
        when : "A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05787, 0.05778, 0.05782, 0.05772, 0.05778, 0.05774, 0.05777, \
                 0.05779, 0.0578, 0.05782");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04769, -0.0493, -0.05229, -0.05417, -0.0551, -0.05584, -0.05615, \
                 -0.0564, -0.05653, -0.05667");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1))|((!A1)&(!B2))|((!A2)&(!B1))|((!A2)&(!B2)))" ;
      max_capacitance : 0.863 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.01065, 0.0112, 0.012, 0.01238, 0.01258, 0.01272, 0.01281, 0.01287, 0.01294, 0.01291",\
                 "0.009104, 0.01008, 0.01191, 0.01314, 0.01379, 0.01417, 0.01439, 0.01452, 0.01461, 0.01468",\
                 "0.01368, 0.01383, 0.01456, 0.01524, 0.01568, 0.01597, 0.01614, 0.01629, 0.01636, 0.01639",\
                 "0.03601, 0.03384, 0.02967, 0.02621, 0.02365, 0.0219, 0.0206, 0.01977, 0.01916, 0.01871",\
                 "0.0821, 0.07732, 0.06584, 0.05461, 0.04574, 0.03906, 0.03406, 0.03042, 0.02764, 0.02567",\
                 "0.1541, 0.1468, 0.128, 0.1067, 0.08836, 0.07371, 0.06229, 0.05347, 0.04668, 0.04135",\
                 "0.2539, 0.2445, 0.2185, 0.1862, 0.1562, 0.1312, 0.1108, 0.0944, 0.08109, 0.07063",\
                 "0.3826, 0.3713, 0.3394, 0.2966, 0.2535, 0.2157, 0.1841, 0.1575, 0.1359, 0.1179",\
                 "0.542, 0.5293, 0.4918, 0.4396, 0.3832, 0.3312, 0.2859, 0.2476, 0.215, 0.1876",\
                 "0.7337, 0.7195, 0.6775, 0.616, 0.5472, 0.4802, 0.4198, 0.3673, 0.3223, 0.2832");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2172, 0.2189, 0.2213, 0.2229, 0.2242, 0.2256, 0.2274, 0.2299, 0.2315, 0.2368",\
                 "0.2112, 0.2132, 0.2175, 0.2209, 0.2235, 0.2257, 0.2277, 0.2299, 0.2325, 0.2406",\
                 "0.216, 0.2157, 0.2163, 0.2185, 0.2212, 0.2241, 0.2268, 0.2289, 0.2315, 0.2411",\
                 "0.245, 0.2421, 0.2363, 0.2309, 0.2289, 0.2287, 0.2294, 0.2306, 0.2335, 0.2428",\
                 "0.3, 0.2946, 0.2818, 0.268, 0.2562, 0.2488, 0.2442, 0.2418, 0.2412, 0.2511",\
                 "0.3832, 0.3753, 0.3555, 0.3321, 0.3108, 0.2925, 0.2792, 0.2699, 0.2637, 0.2706",\
                 "0.4968, 0.4866, 0.46, 0.4264, 0.3947, 0.3654, 0.3406, 0.3213, 0.3066, 0.3131",\
                 "0.6427, 0.6306, 0.5977, 0.5546, 0.5098, 0.47, 0.4333, 0.4012, 0.3765, 0.3832",\
                 "0.8227, 0.8091, 0.7701, 0.7173, 0.6605, 0.607, 0.5597, 0.514, 0.4789, 0.4947",\
                 "1.039, 1.024, 0.9806, 0.9173, 0.8493, 0.7813, 0.7191, 0.6635, 0.6212, 0.6661");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.01103, 0.01157, 0.01232, 0.01274, 0.0129, 0.01305, 0.01312, 0.01317, 0.0132, 0.01322",\
                 "0.01015, 0.01118, 0.01299, 0.01407, 0.01472, 0.01511, 0.01531, 0.01544, 0.01553, 0.01559",\
                 "0.01567, 0.01587, 0.01664, 0.01741, 0.01783, 0.0181, 0.01829, 0.0184, 0.01847, 0.01851",\
                 "0.03521, 0.03361, 0.03036, 0.02763, 0.02553, 0.024, 0.02292, 0.02214, 0.0216, 0.02118",\
                 "0.07502, 0.07092, 0.06161, 0.05239, 0.04496, 0.0392, 0.035, 0.03183, 0.02937, 0.02758",\
                 "0.1379, 0.1318, 0.1157, 0.09751, 0.08204, 0.06958, 0.05973, 0.05218, 0.04623, 0.04158",\
                 "0.226, 0.2175, 0.1949, 0.1668, 0.1411, 0.1197, 0.1022, 0.08799, 0.07663, 0.06731",\
                 "0.3402, 0.33, 0.3015, 0.2637, 0.2261, 0.1934, 0.1661, 0.1434, 0.1243, 0.1088",\
                 "0.4821, 0.4705, 0.4365, 0.3895, 0.3398, 0.2944, 0.2551, 0.2219, 0.1936, 0.1696",\
                 "0.6533, 0.6404, 0.6015, 0.5458, 0.4843, 0.4251, 0.3723, 0.3269, 0.2874, 0.2536");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2171, 0.2187, 0.2213, 0.2232, 0.2249, 0.2263, 0.2284, 0.2309, 0.2366, 0.2898",\
                 "0.2109, 0.213, 0.2173, 0.2212, 0.2242, 0.227, 0.2287, 0.2302, 0.24, 0.2919",\
                 "0.2144, 0.2144, 0.2154, 0.2181, 0.2215, 0.2244, 0.2277, 0.2292, 0.2376, 0.2942",\
                 "0.2407, 0.2382, 0.2328, 0.2287, 0.2272, 0.2279, 0.2294, 0.2309, 0.2385, 0.302",\
                 "0.2901, 0.2853, 0.2737, 0.2612, 0.2511, 0.2451, 0.2419, 0.2414, 0.2492, 0.3163",\
                 "0.3645, 0.3574, 0.3398, 0.3192, 0.2998, 0.2838, 0.2719, 0.2655, 0.2702, 0.3498",\
                 "0.466, 0.4569, 0.4329, 0.4033, 0.3751, 0.3488, 0.3263, 0.3107, 0.3116, 0.4091",\
                 "0.5971, 0.5859, 0.5556, 0.5172, 0.4781, 0.4429, 0.4088, 0.3815, 0.381, 0.5086",\
                 "0.7593, 0.7463, 0.7102, 0.6628, 0.6133, 0.5667, 0.5226, 0.484, 0.4875, 0.6685",\
                 "0.9542, 0.94, 0.898, 0.8415, 0.7809, 0.7217, 0.6663, 0.6224, 0.6466, 0.9305");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.01107, 0.01159, 0.0124, 0.0128, 0.01291, 0.01304, 0.01311, 0.01314, 0.01317, 0.01319",\
                 "0.0102, 0.0112, 0.01301, 0.01413, 0.01474, 0.0151, 0.0153, 0.01542, 0.0155, 0.01556",\
                 "0.01573, 0.01591, 0.01667, 0.01743, 0.01784, 0.0181, 0.01827, 0.01837, 0.01845, 0.01849",\
                 "0.03507, 0.03352, 0.03039, 0.02764, 0.02552, 0.024, 0.02291, 0.02213, 0.02159, 0.02115",\
                 "0.07431, 0.07047, 0.06141, 0.05233, 0.04493, 0.0392, 0.03496, 0.03183, 0.02939, 0.02757",\
                 "0.1368, 0.1307, 0.1152, 0.09727, 0.08187, 0.06954, 0.05973, 0.05219, 0.04622, 0.04157",\
                 "0.2243, 0.2162, 0.194, 0.1665, 0.1409, 0.1195, 0.1021, 0.088, 0.07641, 0.0673",\
                 "0.3382, 0.3283, 0.3002, 0.263, 0.2258, 0.1933, 0.166, 0.1433, 0.1245, 0.1089",\
                 "0.4796, 0.4683, 0.435, 0.3885, 0.3393, 0.2941, 0.2549, 0.2218, 0.1935, 0.1697",\
                 "0.6502, 0.6375, 0.5996, 0.5446, 0.4836, 0.4248, 0.3723, 0.3267, 0.2872, 0.2535");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2861, 0.2871, 0.289, 0.2908, 0.2923, 0.2942, 0.2966, 0.2996, 0.3065, 0.3613",\
                 "0.2811, 0.2825, 0.2857, 0.2892, 0.2919, 0.2944, 0.2973, 0.2996, 0.3075, 0.3633",\
                 "0.2816, 0.2818, 0.2832, 0.2862, 0.2894, 0.2926, 0.295, 0.2976, 0.307, 0.3665",\
                 "0.304, 0.3022, 0.2983, 0.2954, 0.295, 0.2958, 0.2979, 0.2999, 0.3081, 0.373",\
                 "0.3495, 0.346, 0.3368, 0.3263, 0.3174, 0.3123, 0.3098, 0.3094, 0.3185, 0.3881",\
                 "0.4205, 0.415, 0.4004, 0.3822, 0.3644, 0.3503, 0.3399, 0.3332, 0.3402, 0.4228",\
                 "0.519, 0.5116, 0.4914, 0.4647, 0.4388, 0.4136, 0.393, 0.378, 0.3816, 0.4809",\
                 "0.6473, 0.6379, 0.6116, 0.5769, 0.5408, 0.5063, 0.4742, 0.4486, 0.4505, 0.5813",\
                 "0.807, 0.7958, 0.7637, 0.7205, 0.6735, 0.629, 0.5859, 0.55, 0.5563, 0.7434",\
                 "0.9997, 0.9869, 0.9495, 0.897, 0.8399, 0.783, 0.7299, 0.6867, 0.716, 1.008");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.01099, 0.0115, 0.01222, 0.01263, 0.01281, 0.01293, 0.01296, 0.01302, 0.01307, 0.01311",\
                 "0.008386, 0.009622, 0.01177, 0.01309, 0.0138, 0.01419, 0.01441, 0.01452, 0.01461, 0.01466",\
                 "0.009146, 0.009977, 0.01186, 0.01352, 0.0146, 0.01525, 0.01566, 0.0159, 0.01605, 0.01616",\
                 "0.02838, 0.02712, 0.0247, 0.02283, 0.02146, 0.02044, 0.01961, 0.01906, 0.01859, 0.01826",\
                 "0.0726, 0.06864, 0.05931, 0.05013, 0.04283, 0.03711, 0.03287, 0.02962, 0.02714, 0.02525",\
                 "0.1444, 0.1378, 0.1209, 0.1018, 0.08522, 0.07198, 0.06148, 0.05324, 0.04677, 0.0417",\
                 "0.2454, 0.2364, 0.2123, 0.1821, 0.1539, 0.1302, 0.1109, 0.09529, 0.08254, 0.07222",\
                 "0.3764, 0.3655, 0.3348, 0.2941, 0.2527, 0.2163, 0.1858, 0.1603, 0.139, 0.1214",\
                 "0.5391, 0.5265, 0.4902, 0.4395, 0.3852, 0.3345, 0.2902, 0.2528, 0.2209, 0.1935",\
                 "0.7348, 0.7211, 0.6798, 0.6198, 0.5526, 0.487, 0.4275, 0.3758, 0.3315, 0.293");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2782, 0.2786, 0.2791, 0.2798, 0.2808, 0.2821, 0.2842, 0.286, 0.2896, 0.2991",\
                 "0.2734, 0.2741, 0.2757, 0.2771, 0.2788, 0.2804, 0.2825, 0.285, 0.2879, 0.2973",\
                 "0.2785, 0.2779, 0.2772, 0.2775, 0.2784, 0.2803, 0.2822, 0.2844, 0.2879, 0.2972",\
                 "0.3079, 0.3051, 0.2988, 0.2925, 0.2889, 0.2868, 0.2868, 0.2883, 0.2903, 0.3005",\
                 "0.3639, 0.3593, 0.3465, 0.3319, 0.3191, 0.3097, 0.3043, 0.3015, 0.3007, 0.3107",\
                 "0.4495, 0.443, 0.4242, 0.4004, 0.3771, 0.3574, 0.3426, 0.3319, 0.3265, 0.3337",\
                 "0.5663, 0.5582, 0.534, 0.5005, 0.4664, 0.4351, 0.4079, 0.3873, 0.3727, 0.3776",\
                 "0.7164, 0.7072, 0.6785, 0.6369, 0.5901, 0.5467, 0.5063, 0.4725, 0.4462, 0.4518",\
                 "0.9017, 0.8911, 0.8587, 0.8092, 0.7511, 0.6942, 0.6409, 0.5929, 0.5552, 0.5677",\
                 "1.124, 1.112, 1.077, 1.021, 0.9529, 0.8806, 0.8134, 0.7512, 0.7056, 0.7479");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.01127, 0.0118, 0.01252, 0.01285, 0.01305, 0.01316, 0.01322, 0.01325, 0.0133, 0.0133",\
                 "0.009312, 0.01058, 0.01276, 0.01401, 0.01473, 0.01511, 0.01532, 0.01546, 0.01554, 0.01559",\
                 "0.01126, 0.01217, 0.0141, 0.01577, 0.01681, 0.01743, 0.01783, 0.01804, 0.0182, 0.0183",\
                 "0.02849, 0.02756, 0.02594, 0.02466, 0.0236, 0.02268, 0.02199, 0.0215, 0.02113, 0.02086",\
                 "0.06638, 0.06317, 0.05578, 0.0484, 0.04237, 0.03763, 0.03395, 0.03113, 0.02894, 0.02727",\
                 "0.1285, 0.1231, 0.109, 0.09299, 0.07926, 0.06805, 0.05909, 0.05208, 0.04643, 0.04197",\
                 "0.2166, 0.209, 0.1883, 0.1627, 0.1387, 0.1187, 0.1023, 0.08868, 0.0778, 0.06886",\
                 "0.3318, 0.3223, 0.2954, 0.2601, 0.2247, 0.1935, 0.1674, 0.1456, 0.1273, 0.1121",\
                 "0.4757, 0.4644, 0.4318, 0.3872, 0.34, 0.2962, 0.2584, 0.226, 0.1986, 0.1753",\
                 "0.6492, 0.6365, 0.5988, 0.5453, 0.4865, 0.4297, 0.378, 0.3336, 0.2951, 0.2619");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2781, 0.2784, 0.279, 0.2798, 0.2811, 0.2828, 0.2844, 0.2869, 0.2965, 0.3494",\
                 "0.2732, 0.2738, 0.2754, 0.2772, 0.2789, 0.2808, 0.2833, 0.2853, 0.2922, 0.3491",\
                 "0.2772, 0.2767, 0.2763, 0.2769, 0.2783, 0.2801, 0.2827, 0.285, 0.2931, 0.3504",\
                 "0.3037, 0.3011, 0.2953, 0.2903, 0.287, 0.2861, 0.2866, 0.2879, 0.2958, 0.3602",\
                 "0.3535, 0.3493, 0.3383, 0.3249, 0.3137, 0.306, 0.3018, 0.3001, 0.3071, 0.3747",\
                 "0.4297, 0.4238, 0.4073, 0.386, 0.3652, 0.3479, 0.3352, 0.3265, 0.3316, 0.4107",\
                 "0.5339, 0.5262, 0.5047, 0.4752, 0.445, 0.4162, 0.3929, 0.3753, 0.3752, 0.4733",\
                 "0.6676, 0.6589, 0.6329, 0.5951, 0.5551, 0.5157, 0.48, 0.4505, 0.4494, 0.5777",\
                 "0.8332, 0.8233, 0.7933, 0.7488, 0.6977, 0.6472, 0.5994, 0.5591, 0.5612, 0.7447",\
                 "1.032, 1.021, 0.9877, 0.9365, 0.8756, 0.8129, 0.7533, 0.7041, 0.7284, 1.017");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.01136, 0.01182, 0.01254, 0.0129, 0.01305, 0.01316, 0.01321, 0.01326, 0.01327, 0.01326",\
                 "0.009462, 0.01067, 0.01279, 0.01409, 0.01474, 0.01509, 0.0153, 0.01542, 0.01551, 0.01556",\
                 "0.01142, 0.0123, 0.01412, 0.01578, 0.01682, 0.01743, 0.01782, 0.01802, 0.01817, 0.01826",\
                 "0.02837, 0.02751, 0.02593, 0.02468, 0.02359, 0.02269, 0.02199, 0.02149, 0.0211, 0.02082",\
                 "0.06581, 0.06286, 0.05563, 0.04833, 0.04236, 0.03762, 0.03395, 0.03113, 0.02892, 0.02727",\
                 "0.1276, 0.1224, 0.1086, 0.09286, 0.07916, 0.06807, 0.05909, 0.05207, 0.04639, 0.04192",\
                 "0.2152, 0.2077, 0.1876, 0.1623, 0.1386, 0.1186, 0.1022, 0.08871, 0.0778, 0.06885",\
                 "0.3301, 0.3206, 0.2943, 0.2595, 0.2244, 0.1935, 0.1673, 0.1456, 0.1273, 0.1121",\
                 "0.4734, 0.4625, 0.4304, 0.3864, 0.3395, 0.296, 0.2582, 0.2259, 0.1985, 0.1752",\
                 "0.6465, 0.6343, 0.5973, 0.5443, 0.486, 0.4293, 0.3778, 0.3337, 0.2949, 0.2619");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3454, 0.3457, 0.3463, 0.347, 0.3483, 0.35, 0.3517, 0.3536, 0.3633, 0.4178",\
                 "0.3412, 0.3417, 0.3429, 0.3443, 0.3462, 0.348, 0.3503, 0.3519, 0.36, 0.4175",\
                 "0.3437, 0.3435, 0.3434, 0.3443, 0.3454, 0.3472, 0.3497, 0.3523, 0.3603, 0.4185",\
                 "0.3669, 0.3649, 0.3603, 0.3561, 0.3539, 0.3531, 0.353, 0.3546, 0.3636, 0.4295",\
                 "0.4137, 0.4104, 0.4009, 0.3896, 0.3791, 0.3725, 0.3682, 0.3668, 0.3736, 0.4439",\
                 "0.487, 0.4821, 0.4677, 0.4489, 0.4296, 0.4131, 0.4008, 0.3925, 0.3981, 0.481",\
                 "0.5886, 0.5822, 0.5629, 0.536, 0.5081, 0.4805, 0.4576, 0.4403, 0.4422, 0.5414",\
                 "0.7206, 0.7128, 0.6891, 0.6544, 0.6163, 0.5785, 0.5443, 0.5158, 0.5151, 0.647",\
                 "0.8843, 0.8754, 0.8479, 0.8063, 0.7572, 0.7091, 0.6627, 0.6228, 0.6263, 0.8161",\
                 "1.082, 1.072, 1.041, 0.9924, 0.9337, 0.8736, 0.8152, 0.7674, 0.796, 1.091");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.09675, 0.09681, 0.09669, 0.09691, 0.09699, 0.09706, 0.09709, 0.09709, 0.09719, 0.09715",\
                 "0.09476, 0.09469, 0.09473, 0.09477, 0.09504, 0.09509, 0.09516, 0.09521, 0.09517, 0.09524",\
                 "0.09498, 0.09482, 0.0944, 0.09399, 0.09388, 0.0939, 0.09389, 0.09379, 0.09371, 0.09373",\
                 "0.11, 0.1089, 0.1057, 0.1026, 0.09997, 0.09816, 0.09682, 0.09588, 0.09525, 0.0948",\
                 "0.1493, 0.1465, 0.1385, 0.1292, 0.1211, 0.1145, 0.1094, 0.1057, 0.103, 0.101",\
                 "0.217, 0.2119, 0.1984, 0.1805, 0.1634, 0.1491, 0.1378, 0.1287, 0.1218, 0.1164",\
                 "0.3153, 0.3086, 0.2887, 0.2612, 0.2333, 0.2081, 0.1872, 0.1705, 0.157, 0.146",\
                 "0.4464, 0.4378, 0.4124, 0.3749, 0.3346, 0.2967, 0.2639, 0.2362, 0.2135, 0.1948",\
                 "0.611, 0.601, 0.5703, 0.5237, 0.4707, 0.4188, 0.372, 0.3311, 0.2965, 0.2674",\
                 "0.8105, 0.7994, 0.7643, 0.709, 0.6438, 0.5772, 0.5146, 0.4591, 0.4102, 0.3681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3415, 0.343, 0.3453, 0.3468, 0.3483, 0.3497, 0.3515, 0.3534, 0.3556, 0.3644",\
                 "0.3335, 0.3359, 0.3408, 0.3447, 0.3476, 0.3499, 0.3521, 0.353, 0.3553, 0.3654",\
                 "0.3265, 0.3277, 0.3319, 0.3376, 0.3423, 0.3463, 0.3492, 0.3524, 0.3553, 0.3653",\
                 "0.3377, 0.3371, 0.3363, 0.3374, 0.3404, 0.3444, 0.3469, 0.3501, 0.3544, 0.3655",\
                 "0.3799, 0.3763, 0.3682, 0.361, 0.3567, 0.3548, 0.3545, 0.355, 0.3584, 0.3685",\
                 "0.4597, 0.4533, 0.4358, 0.4171, 0.4022, 0.3903, 0.3828, 0.3784, 0.3754, 0.3869",\
                 "0.5765, 0.5669, 0.5421, 0.5096, 0.4818, 0.4585, 0.4386, 0.4226, 0.4133, 0.4252",\
                 "0.7288, 0.7175, 0.6857, 0.6425, 0.5985, 0.5612, 0.529, 0.5022, 0.4812, 0.4906",\
                 "0.9178, 0.9053, 0.8675, 0.8133, 0.7555, 0.7016, 0.6564, 0.6153, 0.5845, 0.5981",\
                 "1.146, 1.132, 1.089, 1.026, 0.9548, 0.8843, 0.8214, 0.7671, 0.7284, 0.7669");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.08677, 0.08674, 0.08671, 0.08662, 0.08681, 0.08688, 0.0869, 0.0869, 0.08691, 0.08691",\
                 "0.08408, 0.08408, 0.08415, 0.08417, 0.08421, 0.08433, 0.08439, 0.08435, 0.08437, 0.08434",\
                 "0.08364, 0.08348, 0.08284, 0.0823, 0.08202, 0.08189, 0.08189, 0.08178, 0.08176, 0.08166",\
                 "0.09862, 0.097, 0.09334, 0.08979, 0.08706, 0.08507, 0.08381, 0.08299, 0.08234, 0.08192",\
                 "0.1379, 0.1343, 0.125, 0.1147, 0.1063, 0.09995, 0.09509, 0.09161, 0.08913, 0.08717",\
                 "0.2056, 0.1997, 0.1834, 0.164, 0.1462, 0.1318, 0.121, 0.1125, 0.1059, 0.101",\
                 "0.3039, 0.2956, 0.2722, 0.2419, 0.2126, 0.1873, 0.1671, 0.1509, 0.138, 0.1277",\
                 "0.4339, 0.4237, 0.3938, 0.3524, 0.3099, 0.2714, 0.2388, 0.2121, 0.1902, 0.1724",\
                 "0.597, 0.5852, 0.5495, 0.4975, 0.4411, 0.3877, 0.3405, 0.3004, 0.267, 0.2393",\
                 "0.7949, 0.7816, 0.7407, 0.679, 0.6089, 0.5396, 0.4763, 0.421, 0.3734, 0.3329");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3112, 0.3128, 0.315, 0.3167, 0.3179, 0.3194, 0.3211, 0.3226, 0.3298, 0.3853",\
                 "0.3032, 0.3057, 0.3106, 0.3146, 0.3173, 0.3195, 0.3221, 0.3246, 0.3315, 0.3858",\
                 "0.2959, 0.2972, 0.3014, 0.3071, 0.3119, 0.3156, 0.3185, 0.3223, 0.3304, 0.3906",\
                 "0.3054, 0.3049, 0.3042, 0.3059, 0.3093, 0.313, 0.3165, 0.3209, 0.3294, 0.3927",\
                 "0.3441, 0.3407, 0.3335, 0.3271, 0.3231, 0.322, 0.3228, 0.3242, 0.335, 0.4063",\
                 "0.4204, 0.4138, 0.3976, 0.3805, 0.3661, 0.3548, 0.3482, 0.3447, 0.3523, 0.4326",\
                 "0.5343, 0.525, 0.5, 0.4696, 0.4428, 0.4204, 0.4013, 0.3885, 0.3926, 0.4868",\
                 "0.6844, 0.6729, 0.6408, 0.5983, 0.5565, 0.5212, 0.4896, 0.4634, 0.4624, 0.5794",\
                 "0.871, 0.8581, 0.8198, 0.7664, 0.71, 0.6589, 0.6134, 0.5758, 0.5716, 0.7316",\
                 "1.096, 1.082, 1.039, 0.9758, 0.9061, 0.8376, 0.7769, 0.7279, 0.7371, 0.9725");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.08677, 0.08675, 0.0867, 0.08674, 0.08684, 0.08691, 0.0869, 0.08686, 0.0868, 0.0868",\
                 "0.0841, 0.08412, 0.08418, 0.08422, 0.0843, 0.08438, 0.08437, 0.08433, 0.08432, 0.08431",\
                 "0.08368, 0.08335, 0.0829, 0.08242, 0.08212, 0.08195, 0.0818, 0.0817, 0.08159, 0.08154",\
                 "0.09847, 0.0969, 0.09333, 0.08977, 0.08711, 0.08522, 0.08389, 0.08296, 0.08231, 0.08181",\
                 "0.1377, 0.1341, 0.1249, 0.1147, 0.1062, 0.09994, 0.09513, 0.09162, 0.08904, 0.08711",\
                 "0.2052, 0.1992, 0.1832, 0.1638, 0.1461, 0.1318, 0.121, 0.1125, 0.106, 0.1009",\
                 "0.303, 0.2949, 0.2717, 0.2417, 0.2124, 0.1873, 0.1669, 0.1509, 0.138, 0.1277",\
                 "0.4328, 0.4228, 0.3931, 0.3522, 0.3096, 0.2712, 0.2387, 0.212, 0.1902, 0.1724",\
                 "0.5958, 0.5843, 0.5486, 0.4972, 0.4408, 0.3875, 0.3403, 0.3003, 0.267, 0.2394",\
                 "0.7935, 0.7802, 0.7396, 0.6784, 0.6084, 0.5393, 0.4761, 0.4205, 0.3731, 0.3329");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.38, 0.3808, 0.3825, 0.3841, 0.3858, 0.3871, 0.3897, 0.3916, 0.3997, 0.4551",\
                 "0.3739, 0.3755, 0.379, 0.3824, 0.3852, 0.3877, 0.3904, 0.392, 0.4007, 0.4581",\
                 "0.3653, 0.3665, 0.3702, 0.3752, 0.38, 0.3837, 0.3871, 0.3913, 0.3999, 0.4604",\
                 "0.3716, 0.3715, 0.3717, 0.3736, 0.3771, 0.381, 0.3848, 0.3893, 0.3993, 0.4644",\
                 "0.4058, 0.4036, 0.3982, 0.3929, 0.3902, 0.3897, 0.3907, 0.3926, 0.4046, 0.4776",\
                 "0.4772, 0.4721, 0.4589, 0.4442, 0.4313, 0.4222, 0.4158, 0.4124, 0.4215, 0.5048",\
                 "0.5871, 0.5794, 0.5577, 0.5309, 0.5062, 0.4851, 0.4686, 0.4562, 0.4606, 0.5574",\
                 "0.734, 0.7244, 0.6957, 0.6571, 0.6183, 0.584, 0.5547, 0.5301, 0.5313, 0.6534",\
                 "0.9186, 0.9072, 0.8724, 0.8227, 0.7701, 0.7209, 0.6777, 0.6412, 0.641, 0.8043",\
                 "1.141, 1.128, 1.089, 1.03, 0.9626, 0.8985, 0.8403, 0.7919, 0.8049, 1.047");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.09674, 0.09692, 0.09677, 0.09684, 0.09697, 0.09697, 0.09702, 0.09709, 0.09701, 0.097",\
                 "0.09478, 0.09471, 0.09498, 0.09499, 0.0952, 0.09527, 0.09534, 0.09537, 0.09532, 0.09532",\
                 "0.09291, 0.09294, 0.09311, 0.09309, 0.0933, 0.09352, 0.09354, 0.09361, 0.09364, 0.09364",\
                 "0.1052, 0.1044, 0.1023, 0.1, 0.09836, 0.09696, 0.09593, 0.09527, 0.09478, 0.09442",\
                 "0.1426, 0.1401, 0.1333, 0.1255, 0.1183, 0.1128, 0.1082, 0.105, 0.1025, 0.1006",\
                 "0.2098, 0.2054, 0.1928, 0.1764, 0.1609, 0.1477, 0.137, 0.1287, 0.1219, 0.1166",\
                 "0.3095, 0.3028, 0.2842, 0.2581, 0.2317, 0.2079, 0.1879, 0.1717, 0.1585, 0.1477",\
                 "0.4429, 0.4348, 0.4098, 0.3738, 0.3354, 0.2989, 0.2668, 0.2399, 0.2174, 0.1986",\
                 "0.6117, 0.6017, 0.5714, 0.526, 0.4744, 0.424, 0.3781, 0.338, 0.3036, 0.2745",\
                 "0.8167, 0.8057, 0.7704, 0.7159, 0.6519, 0.5867, 0.5252, 0.4703, 0.422, 0.3799");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.4023, 0.4024, 0.4029, 0.4034, 0.4044, 0.406, 0.4079, 0.4108, 0.4131, 0.4234",\
                 "0.3973, 0.398, 0.3995, 0.401, 0.4025, 0.4041, 0.4063, 0.4088, 0.4108, 0.4214",\
                 "0.3924, 0.393, 0.3949, 0.3974, 0.3998, 0.4022, 0.4046, 0.4075, 0.4108, 0.4199",\
                 "0.4021, 0.4015, 0.4001, 0.3997, 0.4008, 0.4028, 0.4046, 0.4075, 0.4105, 0.4219",\
                 "0.4442, 0.4411, 0.4332, 0.4248, 0.4189, 0.4161, 0.4145, 0.4147, 0.4155, 0.4275",\
                 "0.5273, 0.5212, 0.5044, 0.4851, 0.4681, 0.4545, 0.4455, 0.4395, 0.4362, 0.4465",\
                 "0.6491, 0.6406, 0.6169, 0.585, 0.5538, 0.5275, 0.5059, 0.4893, 0.4781, 0.4878",\
                 "0.8072, 0.7979, 0.7694, 0.7263, 0.68, 0.6385, 0.6023, 0.5728, 0.5503, 0.5576",\
                 "1.004, 0.9934, 0.9604, 0.91, 0.8495, 0.7909, 0.7395, 0.6942, 0.6585, 0.6725",\
                 "1.24, 1.229, 1.192, 1.135, 1.063, 0.9886, 0.9186, 0.8572, 0.8125, 0.8497");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.08673, 0.08672, 0.08672, 0.08673, 0.08671, 0.08683, 0.08682, 0.08685, 0.08682, 0.08687",\
                 "0.08416, 0.08418, 0.08425, 0.08427, 0.08426, 0.08441, 0.08445, 0.08446, 0.08443, 0.08443",\
                 "0.08176, 0.08179, 0.08172, 0.08163, 0.08157, 0.08162, 0.08162, 0.08159, 0.08161, 0.08159",\
                 "0.09387, 0.09267, 0.09013, 0.08759, 0.08565, 0.08413, 0.08324, 0.08253, 0.08201, 0.08163",\
                 "0.1309, 0.1279, 0.12, 0.1115, 0.1041, 0.09845, 0.09415, 0.091, 0.08869, 0.08687",\
                 "0.1982, 0.1927, 0.1779, 0.1604, 0.144, 0.1309, 0.1205, 0.1125, 0.1061, 0.1012",\
                 "0.2975, 0.2894, 0.2676, 0.2391, 0.2115, 0.1875, 0.1678, 0.1521, 0.1395, 0.1294",\
                 "0.4301, 0.4202, 0.3911, 0.3514, 0.3107, 0.2736, 0.2419, 0.2153, 0.1939, 0.1762",\
                 "0.5974, 0.5858, 0.5503, 0.4995, 0.4447, 0.3929, 0.3468, 0.3075, 0.2741, 0.2462",\
                 "0.8008, 0.7873, 0.7462, 0.6853, 0.6165, 0.5489, 0.487, 0.4321, 0.3848, 0.3445");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.372, 0.3723, 0.3727, 0.3735, 0.3746, 0.3758, 0.3777, 0.3797, 0.3879, 0.4442",\
                 "0.367, 0.3677, 0.3692, 0.3708, 0.3725, 0.3744, 0.3764, 0.3797, 0.3864, 0.4433",\
                 "0.362, 0.3626, 0.3646, 0.3671, 0.3696, 0.372, 0.3741, 0.378, 0.3863, 0.4459",\
                 "0.3699, 0.3694, 0.3684, 0.3685, 0.3702, 0.3717, 0.3744, 0.378, 0.3867, 0.4518",\
                 "0.4081, 0.405, 0.3983, 0.3908, 0.3857, 0.3836, 0.3824, 0.3833, 0.3936, 0.4641",\
                 "0.4867, 0.481, 0.4653, 0.4475, 0.4316, 0.4195, 0.4107, 0.4064, 0.4129, 0.4945",\
                 "0.6054, 0.5975, 0.5743, 0.5434, 0.5139, 0.489, 0.4685, 0.4539, 0.4569, 0.5517",\
                 "0.7611, 0.7516, 0.7232, 0.6811, 0.6366, 0.5967, 0.5622, 0.534, 0.5312, 0.6495",\
                 "0.9548, 0.9442, 0.9115, 0.8611, 0.8025, 0.7464, 0.6961, 0.6539, 0.6493, 0.8094",\
                 "1.188, 1.176, 1.14, 1.082, 1.013, 0.9399, 0.8728, 0.8166, 0.8231, 1.062");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.08673, 0.08672, 0.08671, 0.08673, 0.0868, 0.08689, 0.08686, 0.08683, 0.08678, 0.08677",\
                 "0.08414, 0.0842, 0.08427, 0.0843, 0.08437, 0.08445, 0.08446, 0.08444, 0.08439, 0.08434",\
                 "0.08173, 0.0817, 0.08174, 0.08172, 0.08168, 0.0817, 0.08166, 0.08162, 0.08155, 0.08151",\
                 "0.09375, 0.09266, 0.09015, 0.0876, 0.08564, 0.08425, 0.08324, 0.0825, 0.08195, 0.08158",\
                 "0.1307, 0.1277, 0.12, 0.1114, 0.104, 0.09843, 0.09417, 0.091, 0.08862, 0.0868",\
                 "0.1976, 0.1923, 0.1778, 0.1603, 0.144, 0.1308, 0.1205, 0.1125, 0.1061, 0.1012",\
                 "0.2966, 0.2889, 0.2671, 0.2389, 0.2114, 0.1874, 0.1678, 0.1521, 0.1395, 0.1295",\
                 "0.429, 0.4192, 0.3905, 0.3512, 0.3104, 0.2736, 0.2417, 0.2153, 0.1939, 0.1764",\
                 "0.5962, 0.5846, 0.5494, 0.499, 0.4444, 0.3928, 0.3466, 0.3074, 0.274, 0.2462",\
                 "0.7992, 0.7861, 0.7452, 0.6846, 0.6162, 0.5487, 0.487, 0.4321, 0.3848, 0.3443");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.4391, 0.4392, 0.4398, 0.4403, 0.4417, 0.4431, 0.4447, 0.4473, 0.4551, 0.5126",\
                 "0.4349, 0.4353, 0.4365, 0.4378, 0.4393, 0.4411, 0.4434, 0.4457, 0.4536, 0.5114",\
                 "0.4298, 0.4304, 0.4321, 0.4344, 0.4369, 0.439, 0.4421, 0.4434, 0.4538, 0.5139",\
                 "0.4361, 0.4356, 0.4352, 0.4354, 0.4372, 0.4389, 0.4408, 0.444, 0.4535, 0.5195",\
                 "0.4702, 0.4681, 0.4629, 0.4568, 0.4525, 0.4499, 0.4494, 0.4499, 0.4601, 0.532",\
                 "0.5445, 0.5397, 0.5266, 0.5111, 0.4964, 0.485, 0.4768, 0.472, 0.4799, 0.5633",\
                 "0.6596, 0.6525, 0.632, 0.6044, 0.5772, 0.5529, 0.5335, 0.5195, 0.5214, 0.6213",\
                 "0.8126, 0.8045, 0.778, 0.7395, 0.6978, 0.6599, 0.6259, 0.5993, 0.5963, 0.7186",\
                 "1.005, 0.9948, 0.9646, 0.917, 0.8615, 0.8076, 0.7591, 0.7173, 0.7139, 0.8804",\
                 "1.236, 1.225, 1.191, 1.136, 1.069, 0.9987, 0.9345, 0.8799, 0.8892, 1.133");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.0775, 0.09541, 0.1571, 0.2744, 0.4563, 0.7121, 1.048, 1.472, 1.99, 2.604",\
                 "0.089, 0.1071, 0.1692, 0.2869, 0.469, 0.7248, 1.061, 1.485, 2.002, 2.618",\
                 "0.1155, 0.1404, 0.2136, 0.3318, 0.5141, 0.7697, 1.106, 1.53, 2.046, 2.662",\
                 "0.1236, 0.1579, 0.2581, 0.4099, 0.6024, 0.8568, 1.192, 1.616, 2.133, 2.747",\
                 "0.1067, 0.1512, 0.2801, 0.4714, 0.7128, 0.9951, 1.33, 1.752, 2.267, 2.882",\
                 "0.0616, 0.1168, 0.2752, 0.5084, 0.7975, 1.137, 1.52, 1.948, 2.461, 3.074",\
                 "-0.0138, 0.0512, 0.2392, 0.5157, 0.856, 1.249, 1.694, 2.186, 2.72, 3.332",\
                 "-0.1228, -0.047, 0.1694, 0.4903, 0.8817, 1.333, 1.838, 2.396, 3.004, 3.656",\
                 "-0.2672, -0.1811, 0.066, 0.4269, 0.874, 1.383, 1.95, 2.574, 3.253, 3.984",\
                 "-0.45, -0.3527, -0.0759, 0.3285, 0.8273, 1.397, 2.028, 2.718, 3.467, 4.274");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.127, 0.1606, 0.2758, 0.4919, 0.8269, 1.297, 1.915, 2.695, 3.643, 4.776",\
                 "0.138, 0.1719, 0.2885, 0.5064, 0.8431, 1.314, 1.932, 2.712, 3.664, 4.795",\
                 "0.1995, 0.2331, 0.3462, 0.563, 0.8991, 1.371, 1.991, 2.771, 3.72, 4.854",\
                 "0.297, 0.3398, 0.4718, 0.6866, 1.019, 1.488, 2.105, 2.884, 3.836, 4.97",\
                 "0.4262, 0.4779, 0.6338, 0.8847, 1.219, 1.68, 2.294, 3.068, 4.016, 5.148",\
                 "0.5859, 0.6486, 0.8309, 1.118, 1.5, 1.967, 2.572, 3.338, 4.283, 5.408",\
                 "0.7767, 0.8515, 1.066, 1.39, 1.817, 2.339, 2.951, 3.71, 4.644, 5.764",\
                 "1, 1.087, 1.336, 1.704, 2.172, 2.75, 3.424, 4.191, 5.116, 6.226",\
                 "1.259, 1.358, 1.643, 2.058, 2.576, 3.2, 3.937, 4.771, 5.705, 6.806",\
                 "1.553, 1.666, 1.987, 2.452, 3.024, 3.699, 4.491, 5.397, 6.399, 7.511");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.09245, 0.1227, 0.2274, 0.4273, 0.738, 1.176, 1.75, 2.477, 3.361, 4.408",\
                 "0.09238, 0.1224, 0.2275, 0.4273, 0.738, 1.175, 1.75, 2.475, 3.359, 4.405",\
                 "0.1333, 0.1614, 0.2465, 0.4281, 0.7396, 1.175, 1.751, 2.476, 3.354, 4.408",\
                 "0.1995, 0.2334, 0.3384, 0.5071, 0.7597, 1.175, 1.75, 2.474, 3.358, 4.413",\
                 "0.2876, 0.3306, 0.453, 0.6486, 0.9142, 1.254, 1.763, 2.473, 3.358, 4.412",\
                 "0.3916, 0.4452, 0.5948, 0.8164, 1.114, 1.482, 1.925, 2.536, 3.361, 4.409",\
                 "0.5126, 0.5774, 0.7578, 1.016, 1.342, 1.749, 2.23, 2.789, 3.508, 4.449",\
                 "0.648, 0.7254, 0.94, 1.239, 1.606, 2.042, 2.567, 3.174, 3.855, 4.69",\
                 "0.7954, 0.8902, 1.138, 1.483, 1.898, 2.378, 2.936, 3.587, 4.327, 5.139",\
                 "0.9578, 1.066, 1.353, 1.747, 2.219, 2.748, 3.341, 4.035, 4.826, 5.701");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1768, 0.2347, 0.4332, 0.8127, 1.404, 2.23, 3.32, 4.697, 6.37, 8.353",\
                 "0.1764, 0.2333, 0.4343, 0.8125, 1.404, 2.23, 3.322, 4.695, 6.373, 8.365",\
                 "0.1965, 0.2432, 0.4324, 0.813, 1.403, 2.229, 3.321, 4.698, 6.37, 8.371",\
                 "0.2565, 0.3129, 0.4841, 0.8167, 1.402, 2.231, 3.32, 4.692, 6.375, 8.376",\
                 "0.3364, 0.3968, 0.5914, 0.9166, 1.422, 2.229, 3.317, 4.694, 6.366, 8.371",\
                 "0.44, 0.5064, 0.7148, 1.077, 1.568, 2.277, 3.323, 4.692, 6.363, 8.366",\
                 "0.5598, 0.6364, 0.8638, 1.245, 1.79, 2.467, 3.401, 4.699, 6.37, 8.369",\
                 "0.693, 0.7834, 1.042, 1.442, 2.021, 2.758, 3.637, 4.812, 6.387, 8.359",\
                 "0.837, 0.9422, 1.239, 1.676, 2.267, 3.056, 4, 5.102, 6.546, 8.392",\
                 "0.9938, 1.116, 1.45, 1.933, 2.557, 3.367, 4.376, 5.531, 6.881, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.07775, 0.09554, 0.1574, 0.2745, 0.4564, 0.7122, 1.049, 1.472, 1.989, 2.605",\
                 "0.08954, 0.1075, 0.1697, 0.2872, 0.4699, 0.7254, 1.062, 1.486, 2.003, 2.618",\
                 "0.117, 0.1418, 0.2148, 0.3329, 0.5152, 0.771, 1.107, 1.531, 2.048, 2.664",\
                 "0.1231, 0.1577, 0.2585, 0.4108, 0.6034, 0.858, 1.194, 1.617, 2.134, 2.75",\
                 "0.0987, 0.1446, 0.2758, 0.4697, 0.7123, 0.9948, 1.331, 1.752, 2.267, 2.882",\
                 "0.0403, 0.0973, 0.2608, 0.4995, 0.7921, 1.134, 1.518, 1.948, 2.461, 3.074",\
                 "-0.0537, 0.0139, 0.2083, 0.4939, 0.8414, 1.239, 1.688, 2.182, 2.718, 3.33",\
                 "-0.188, -0.1088, 0.1176, 0.4492, 0.8526, 1.313, 1.824, 2.386, 2.997, 3.652",\
                 "-0.3638, -0.2735, -0.0155, 0.361, 0.8226, 1.346, 1.923, 2.553, 3.239, 3.973",\
                 "-0.5843, -0.4835, -0.1928, 0.2303, 0.7474, 1.336, 1.982, 2.684, 3.441, 4.254");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1545, 0.1991, 0.3511, 0.6376, 1.082, 1.704, 2.524, 3.556, 4.812, 6.309",\
                 "0.1628, 0.2074, 0.3621, 0.6508, 1.097, 1.721, 2.54, 3.571, 4.833, 6.327",\
                 "0.224, 0.2651, 0.4139, 0.7017, 1.148, 1.772, 2.594, 3.623, 4.881, 6.384",\
                 "0.3333, 0.3834, 0.5397, 0.8183, 1.259, 1.88, 2.699, 3.728, 4.987, 6.487",\
                 "0.48, 0.5383, 0.7201, 1.019, 1.45, 2.062, 2.875, 3.903, 5.16, 6.655",\
                 "0.6646, 0.7337, 0.9404, 1.278, 1.734, 2.337, 3.139, 4.158, 5.408, 6.902",\
                 "0.8878, 0.9688, 1.206, 1.579, 2.086, 2.713, 3.504, 4.512, 5.75, 7.238",\
                 "1.151, 1.246, 1.518, 1.931, 2.479, 3.167, 3.979, 4.974, 6.202, 7.676",\
                 "1.456, 1.564, 1.875, 2.334, 2.926, 3.665, 4.543, 5.556, 6.769, 8.229",\
                 "1.805, 1.93, 2.278, 2.789, 3.432, 4.216, 5.157, 6.239, 7.464, 8.91");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.09263, 0.1226, 0.2277, 0.4274, 0.7381, 1.176, 1.749, 2.475, 3.359, 4.413",\
                 "0.09238, 0.1224, 0.2275, 0.4281, 0.7393, 1.175, 1.75, 2.474, 3.358, 4.408",\
                 "0.1323, 0.1608, 0.2459, 0.428, 0.7395, 1.175, 1.751, 2.474, 3.359, 4.412",\
                 "0.1983, 0.2325, 0.3379, 0.5063, 0.7597, 1.175, 1.75, 2.474, 3.359, 4.411",\
                 "0.2855, 0.3294, 0.4542, 0.65, 0.9134, 1.253, 1.764, 2.473, 3.356, 4.411",\
                 "0.3904, 0.4442, 0.598, 0.8226, 1.116, 1.484, 1.926, 2.534, 3.363, 4.408",\
                 "0.5134, 0.5786, 0.762, 1.024, 1.35, 1.753, 2.236, 2.791, 3.507, 4.45",\
                 "0.65, 0.7318, 0.9468, 1.25, 1.621, 2.056, 2.578, 3.181, 3.86, 4.691",\
                 "0.7984, 0.8958, 1.152, 1.503, 1.919, 2.398, 2.955, 3.605, 4.337, 5.146",\
                 "0.9594, 1.075, 1.375, 1.773, 2.246, 2.776, 3.374, 4.061, 4.844, 5.715");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2412, 0.3186, 0.5858, 1.087, 1.867, 2.962, 4.401, 6.212, 8.413, 11.06",\
                 "0.2388, 0.3181, 0.5843, 1.087, 1.866, 2.961, 4.402, 6.206, 8.427, 11.06",\
                 "0.2449, 0.3148, 0.5839, 1.087, 1.868, 2.963, 4.401, 6.211, 8.428, 11.06",\
                 "0.3012, 0.375, 0.6047, 1.085, 1.868, 2.963, 4.398, 6.208, 8.427, 11.05",\
                 "0.3738, 0.449, 0.7032, 1.136, 1.866, 2.962, 4.403, 6.209, 8.424, 11.04",\
                 "0.4752, 0.5528, 0.8122, 1.282, 1.946, 2.968, 4.401, 6.206, 8.431, 11.06",\
                 "0.594, 0.6812, 0.9532, 1.443, 2.14, 3.071, 4.415, 6.209, 8.421, 11.06",\
                 "0.7308, 0.8292, 1.125, 1.62, 2.365, 3.309, 4.546, 6.236, 8.426, 11.06",\
                 "0.8836, 0.9944, 1.32, 1.836, 2.593, 3.607, 4.82, 6.394, 8.457, 11.07",\
                 "1.049, 1.177, 1.536, 2.087, 2.853, 3.904, 5.192, 6.706, 8.64, 11.11");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.08102, 0.09924, 0.1617, 0.2807, 0.4648, 0.7214, 1.058, 1.481, 1.998, 2.614",\
                 "0.09281, 0.1111, 0.1744, 0.2935, 0.4779, 0.7347, 1.071, 1.495, 2.011, 2.627",\
                 "0.123, 0.1474, 0.2199, 0.3392, 0.5234, 0.7801, 1.116, 1.54, 2.057, 2.673",\
                 "0.1335, 0.1677, 0.2675, 0.4192, 0.6119, 0.8673, 1.203, 1.626, 2.142, 2.758",\
                 "0.1177, 0.1621, 0.2902, 0.4823, 0.7236, 1.005, 1.34, 1.762, 2.277, 2.891",\
                 "0.0716, 0.1248, 0.2826, 0.5169, 0.8071, 1.146, 1.529, 1.958, 2.47, 3.083",\
                 "-0.0081, 0.0536, 0.2386, 0.5164, 0.8593, 1.255, 1.701, 2.193, 2.728, 3.34",\
                 "-0.1274, -0.0564, 0.1556, 0.4774, 0.8742, 1.33, 1.839, 2.4, 3.009, 3.662",\
                 "-0.2893, -0.2091, 0.0312, 0.3954, 0.8481, 1.366, 1.94, 2.569, 3.252, 3.986",\
                 "-0.4951, -0.4059, -0.1374, 0.2694, 0.7776, 1.359, 2.002, 2.701, 3.456, 4.268");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2202, 0.2647, 0.4171, 0.704, 1.148, 1.771, 2.591, 3.623, 4.878, 6.375",\
                 "0.2298, 0.2746, 0.4287, 0.7177, 1.163, 1.787, 2.607, 3.638, 4.897, 6.394",\
                 "0.2857, 0.3285, 0.4801, 0.7684, 1.215, 1.84, 2.659, 3.69, 4.951, 6.45",\
                 "0.4072, 0.4537, 0.6029, 0.8835, 1.325, 1.947, 2.765, 3.796, 5.052, 6.555",\
                 "0.5652, 0.6193, 0.7928, 1.083, 1.514, 2.128, 2.94, 3.969, 5.226, 6.72",\
                 "0.7657, 0.827, 1.022, 1.35, 1.798, 2.401, 3.205, 4.224, 5.475, 6.969",\
                 "1.007, 1.078, 1.297, 1.658, 2.156, 2.777, 3.568, 4.577, 5.818, 7.304",\
                 "1.29, 1.372, 1.62, 2.016, 2.556, 3.236, 4.043, 5.039, 6.268, 7.742",\
                 "1.615, 1.709, 1.989, 2.428, 3.007, 3.739, 4.612, 5.62, 6.833, 8.295",\
                 "1.986, 2.09, 2.406, 2.891, 3.518, 4.295, 5.229, 6.305, 7.528, 8.975");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1308, 0.1621, 0.268, 0.4684, 0.7798, 1.217, 1.791, 2.514, 3.396, 4.45",\
                 "0.131, 0.1621, 0.268, 0.4684, 0.7793, 1.217, 1.792, 2.513, 3.396, 4.449",\
                 "0.1811, 0.2062, 0.2868, 0.4691, 0.7801, 1.217, 1.79, 2.515, 3.398, 4.446",\
                 "0.2674, 0.2953, 0.3894, 0.549, 0.803, 1.217, 1.79, 2.513, 3.395, 4.449",\
                 "0.3818, 0.4151, 0.5203, 0.7032, 0.9578, 1.296, 1.806, 2.515, 3.396, 4.45",\
                 "0.5182, 0.5576, 0.683, 0.887, 1.17, 1.53, 1.968, 2.576, 3.403, 4.448",\
                 "0.6734, 0.7202, 0.8674, 1.103, 1.414, 1.806, 2.281, 2.833, 3.551, 4.494",\
                 "0.847, 0.9022, 1.074, 1.344, 1.694, 2.117, 2.631, 3.227, 3.903, 4.732",\
                 "1.035, 1.104, 1.302, 1.612, 2.003, 2.467, 3.014, 3.653, 4.384, 5.19",\
                 "1.236, 1.315, 1.55, 1.902, 2.34, 2.853, 3.438, 4.116, 4.894, 5.762");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3297, 0.4066, 0.6721, 1.174, 1.954, 3.048, 4.485, 6.296, 8.498, 11.13",\
                 "0.3289, 0.4062, 0.6717, 1.174, 1.954, 3.048, 4.487, 6.292, 8.501, 11.13",\
                 "0.3235, 0.4017, 0.6713, 1.174, 1.954, 3.048, 4.484, 6.289, 8.501, 11.14",\
                 "0.3776, 0.4448, 0.6787, 1.172, 1.953, 3.047, 4.485, 6.293, 8.499, 11.14",\
                 "0.4486, 0.5258, 0.7754, 1.208, 1.953, 3.046, 4.483, 6.294, 8.506, 11.13",\
                 "0.5456, 0.6242, 0.8892, 1.352, 2.019, 3.049, 4.484, 6.293, 8.504, 11.14",\
                 "0.6724, 0.7556, 1.025, 1.516, 2.208, 3.145, 4.492, 6.292, 8.502, 11.14",\
                 "0.8158, 0.9102, 1.195, 1.695, 2.437, 3.378, 4.616, 6.31, 8.503, 11.14",\
                 "0.9758, 1.081, 1.396, 1.907, 2.673, 3.678, 4.891, 6.463, 8.531, 11.14",\
                 "1.155, 1.272, 1.616, 2.158, 2.929, 3.983, 5.262, 6.777, 8.71, 11.18");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.0775, 0.09541, 0.1571, 0.2744, 0.4563, 0.7121, 1.048, 1.472, 1.99, 2.604",\
                 "0.089, 0.1071, 0.1692, 0.2869, 0.469, 0.7248, 1.061, 1.485, 2.002, 2.618",\
                 "0.1155, 0.1404, 0.2136, 0.3318, 0.5141, 0.7697, 1.106, 1.53, 2.046, 2.662",\
                 "0.1236, 0.1579, 0.2581, 0.4099, 0.6024, 0.8568, 1.192, 1.616, 2.133, 2.747",\
                 "0.1067, 0.1512, 0.2801, 0.4714, 0.7128, 0.9951, 1.33, 1.752, 2.267, 2.882",\
                 "0.0616, 0.1168, 0.2752, 0.5084, 0.7975, 1.137, 1.52, 1.948, 2.461, 3.074",\
                 "-0.0138, 0.0512, 0.2392, 0.5157, 0.856, 1.249, 1.694, 2.186, 2.72, 3.332",\
                 "-0.1228, -0.047, 0.1694, 0.4903, 0.8817, 1.333, 1.838, 2.396, 3.004, 3.656",\
                 "-0.2672, -0.1811, 0.066, 0.4269, 0.874, 1.383, 1.95, 2.574, 3.253, 3.984",\
                 "-0.45, -0.3527, -0.0759, 0.3285, 0.8273, 1.397, 2.028, 2.718, 3.467, 4.274");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2202, 0.2647, 0.4171, 0.704, 1.148, 1.771, 2.591, 3.623, 4.878, 6.375",\
                 "0.2298, 0.2746, 0.4287, 0.7177, 1.163, 1.787, 2.607, 3.638, 4.897, 6.394",\
                 "0.2857, 0.3285, 0.4801, 0.7684, 1.215, 1.84, 2.659, 3.69, 4.951, 6.45",\
                 "0.4072, 0.4537, 0.6029, 0.8835, 1.325, 1.947, 2.765, 3.796, 5.052, 6.555",\
                 "0.5652, 0.6193, 0.7928, 1.083, 1.514, 2.128, 2.94, 3.969, 5.226, 6.72",\
                 "0.7657, 0.827, 1.022, 1.35, 1.798, 2.401, 3.205, 4.224, 5.475, 6.969",\
                 "1.007, 1.078, 1.297, 1.658, 2.156, 2.777, 3.568, 4.577, 5.818, 7.304",\
                 "1.29, 1.372, 1.62, 2.016, 2.556, 3.236, 4.043, 5.039, 6.268, 7.742",\
                 "1.615, 1.709, 1.989, 2.428, 3.007, 3.739, 4.612, 5.62, 6.833, 8.295",\
                 "1.986, 2.09, 2.406, 2.891, 3.518, 4.295, 5.229, 6.305, 7.528, 8.975");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1308, 0.1621, 0.268, 0.4684, 0.7798, 1.217, 1.791, 2.514, 3.396, 4.45",\
                 "0.131, 0.1621, 0.268, 0.4684, 0.7793, 1.217, 1.792, 2.513, 3.396, 4.449",\
                 "0.1811, 0.2062, 0.2868, 0.4691, 0.7801, 1.217, 1.79, 2.515, 3.398, 4.446",\
                 "0.2674, 0.2953, 0.3894, 0.549, 0.803, 1.217, 1.79, 2.513, 3.395, 4.449",\
                 "0.3818, 0.4151, 0.5203, 0.7032, 0.9578, 1.296, 1.806, 2.515, 3.396, 4.45",\
                 "0.5182, 0.5576, 0.683, 0.887, 1.17, 1.53, 1.968, 2.576, 3.403, 4.448",\
                 "0.6734, 0.7202, 0.8674, 1.103, 1.414, 1.806, 2.281, 2.833, 3.551, 4.494",\
                 "0.847, 0.9022, 1.074, 1.344, 1.694, 2.117, 2.631, 3.227, 3.903, 4.732",\
                 "1.035, 1.104, 1.302, 1.612, 2.003, 2.467, 3.014, 3.653, 4.384, 5.19",\
                 "1.236, 1.315, 1.55, 1.902, 2.34, 2.853, 3.438, 4.116, 4.894, 5.762");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3297, 0.4066, 0.6721, 1.174, 1.954, 3.048, 4.485, 6.296, 8.498, 11.13",\
                 "0.3289, 0.4062, 0.6717, 1.174, 1.954, 3.048, 4.487, 6.292, 8.501, 11.13",\
                 "0.3235, 0.4017, 0.6713, 1.174, 1.954, 3.048, 4.484, 6.289, 8.501, 11.14",\
                 "0.3776, 0.4448, 0.6787, 1.172, 1.953, 3.047, 4.485, 6.293, 8.499, 11.14",\
                 "0.4486, 0.5258, 0.7754, 1.208, 1.953, 3.046, 4.483, 6.294, 8.506, 11.13",\
                 "0.5456, 0.6242, 0.8892, 1.352, 2.019, 3.049, 4.484, 6.293, 8.504, 11.14",\
                 "0.6724, 0.7556, 1.025, 1.516, 2.208, 3.145, 4.492, 6.292, 8.502, 11.14",\
                 "0.8158, 0.9102, 1.195, 1.695, 2.437, 3.378, 4.616, 6.31, 8.503, 11.14",\
                 "0.9758, 1.081, 1.396, 1.907, 2.673, 3.678, 4.891, 6.463, 8.531, 11.14",\
                 "1.155, 1.272, 1.616, 2.158, 2.929, 3.983, 5.262, 6.777, 8.71, 11.18");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.0917, 0.1095, 0.1712, 0.2883, 0.4705, 0.7263, 1.062, 1.485, 2.004, 2.62",\
                 "0.1014, 0.1195, 0.1819, 0.2996, 0.4822, 0.7376, 1.074, 1.497, 2.016, 2.632",\
                 "0.1172, 0.1393, 0.2086, 0.3275, 0.5105, 0.7663, 1.103, 1.526, 2.043, 2.659",\
                 "0.117, 0.1469, 0.2343, 0.3729, 0.5639, 0.8192, 1.155, 1.579, 2.095, 2.712",\
                 "0.08835, 0.1276, 0.2408, 0.4092, 0.6276, 0.9022, 1.24, 1.663, 2.178, 2.794",\
                 "0.0269, 0.0756, 0.2162, 0.4227, 0.6777, 0.984, 1.351, 1.783, 2.298, 2.913",\
                 "-0.0703, -0.0121, 0.1561, 0.4031, 0.7037, 1.052, 1.454, 1.92, 2.456, 3.072",\
                 "-0.2056, -0.138, 0.0576, 0.3444, 0.6941, 1.093, 1.54, 2.045, 2.619, 3.266",\
                 "-0.382, -0.3053, -0.0827, 0.2447, 0.6449, 1.098, 1.6, 2.152, 2.768, 3.455",\
                 "-0.6031, -0.5165, -0.267, 0.1017, 0.5497, 1.062, 1.622, 2.232, 2.897, 3.628");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1685, 0.2013, 0.3152, 0.5309, 0.8659, 1.336, 1.953, 2.732, 3.68, 4.816",\
                 "0.1804, 0.2136, 0.3284, 0.5445, 0.8803, 1.35, 1.967, 2.749, 3.699, 4.831",\
                 "0.2442, 0.2761, 0.3887, 0.6038, 0.9389, 1.409, 2.027, 2.806, 3.755, 4.888",\
                 "0.3594, 0.3981, 0.5195, 0.7301, 1.061, 1.527, 2.143, 2.92, 3.87, 4.999",\
                 "0.5093, 0.554, 0.6976, 0.9359, 1.264, 1.724, 2.333, 3.108, 4.055, 5.186",\
                 "0.6983, 0.7511, 0.9141, 1.185, 1.553, 2.014, 2.616, 3.381, 4.322, 5.446",\
                 "0.926, 0.9881, 1.175, 1.476, 1.886, 2.395, 3, 3.757, 4.689, 5.806",\
                 "1.196, 1.267, 1.481, 1.816, 2.262, 2.823, 3.482, 4.242, 5.165, 6.273",\
                 "1.509, 1.59, 1.833, 2.207, 2.692, 3.295, 4.014, 4.833, 5.761, 6.857",\
                 "1.867, 1.959, 2.231, 2.646, 3.177, 3.82, 4.59, 5.477, 6.466, 7.569");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.09252, 0.1226, 0.2274, 0.4275, 0.7388, 1.177, 1.751, 2.475, 3.361, 4.413",\
                 "0.09246, 0.1224, 0.2274, 0.4281, 0.7399, 1.174, 1.748, 2.476, 3.359, 4.413",\
                 "0.1222, 0.1489, 0.2403, 0.4282, 0.7392, 1.176, 1.749, 2.473, 3.355, 4.405",\
                 "0.1847, 0.2121, 0.3041, 0.4797, 0.7559, 1.176, 1.75, 2.473, 3.359, 4.409",\
                 "0.2733, 0.3051, 0.405, 0.5792, 0.8508, 1.231, 1.767, 2.473, 3.355, 4.412",\
                 "0.3788, 0.4172, 0.5344, 0.7222, 0.9916, 1.372, 1.87, 2.526, 3.365, 4.408",\
                 "0.5012, 0.5468, 0.6848, 0.8976, 1.181, 1.557, 2.057, 2.685, 3.468, 4.454",\
                 "0.6342, 0.6928, 0.8522, 1.097, 1.41, 1.795, 2.292, 2.92, 3.689, 4.608",\
                 "0.776, 0.8442, 1.038, 1.316, 1.667, 2.083, 2.584, 3.209, 3.976, 4.891",\
                 "0.9274, 1.008, 1.237, 1.555, 1.946, 2.399, 2.93, 3.555, 4.318, 5.235");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2405, 0.2978, 0.498, 0.8778, 1.468, 2.296, 3.383, 4.752, 6.431, 8.43",\
                 "0.2403, 0.2977, 0.4979, 0.8777, 1.468, 2.296, 3.384, 4.755, 6.429, 8.424",\
                 "0.2466, 0.2991, 0.4973, 0.8775, 1.468, 2.295, 3.384, 4.754, 6.428, 8.428",\
                 "0.312, 0.3664, 0.5328, 0.8791, 1.467, 2.295, 3.384, 4.755, 6.429, 8.422",\
                 "0.3868, 0.448, 0.643, 0.9634, 1.482, 2.294, 3.383, 4.755, 6.428, 8.426",\
                 "0.4848, 0.5508, 0.7596, 1.123, 1.614, 2.332, 3.384, 4.754, 6.428, 8.422",\
                 "0.5982, 0.6736, 0.8986, 1.285, 1.834, 2.512, 3.451, 4.759, 6.426, 8.421",\
                 "0.729, 0.8134, 1.064, 1.47, 2.055, 2.797, 3.682, 4.863, 6.44, 8.419",\
                 "0.8732, 0.9706, 1.252, 1.684, 2.289, 3.09, 4.034, 5.145, 6.586, 8.449",\
                 "1.03, 1.141, 1.454, 1.928, 2.555, 3.384, 4.402, 5.559, 6.919, 8.644");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.09184, 0.1095, 0.1715, 0.2884, 0.4705, 0.726, 1.062, 1.485, 2.003, 2.62",\
                 "0.1019, 0.1201, 0.1825, 0.3002, 0.4823, 0.7385, 1.074, 1.498, 2.016, 2.631",\
                 "0.1187, 0.1407, 0.2098, 0.3287, 0.5116, 0.7672, 1.104, 1.527, 2.045, 2.662",\
                 "0.1174, 0.1474, 0.2352, 0.3739, 0.5651, 0.8206, 1.157, 1.58, 2.097, 2.715",\
                 "0.08332, 0.1233, 0.2381, 0.4079, 0.6272, 0.9021, 1.241, 1.664, 2.179, 2.795",\
                 "0.0116, 0.0616, 0.2055, 0.4153, 0.6737, 0.9817, 1.35, 1.782, 2.298, 2.913",\
                 "-0.1025, -0.0421, 0.1315, 0.3848, 0.6914, 1.043, 1.448, 1.917, 2.454, 3.07",\
                 "-0.2603, -0.1898, 0.0137, 0.3098, 0.6689, 1.075, 1.527, 2.036, 2.612, 3.26",\
                 "-0.4641, -0.3842, -0.1522, 0.1882, 0.6005, 1.065, 1.575, 2.134, 2.753, 3.444",\
                 "-0.7175, -0.6282, -0.368, 0.0164, 0.4811, 1.007, 1.58, 2.201, 2.872, 3.609");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2103, 0.2538, 0.4044, 0.69, 1.134, 1.757, 2.574, 3.605, 4.867, 6.361",\
                 "0.2199, 0.2636, 0.4156, 0.7022, 1.147, 1.769, 2.589, 3.617, 4.875, 6.378",\
                 "0.2803, 0.3223, 0.4712, 0.7564, 1.2, 1.823, 2.643, 3.672, 4.931, 6.432",\
                 "0.4066, 0.4521, 0.599, 0.8767, 1.315, 1.934, 2.751, 3.78, 5.036, 6.536",\
                 "0.5725, 0.6253, 0.795, 1.081, 1.51, 2.12, 2.93, 3.956, 5.211, 6.705",\
                 "0.7852, 0.8445, 1.034, 1.356, 1.799, 2.399, 3.198, 4.215, 5.463, 6.956",\
                 "1.045, 1.113, 1.325, 1.675, 2.165, 2.78, 3.568, 4.572, 5.809, 7.293",\
                 "1.353, 1.431, 1.669, 2.051, 2.579, 3.249, 4.05, 5.042, 6.265, 7.737",\
                 "1.713, 1.8, 2.068, 2.487, 3.049, 3.768, 4.63, 5.631, 6.839, 8.297",\
                 "2.126, 2.224, 2.522, 2.984, 3.586, 4.344, 5.265, 6.328, 7.543, 8.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.09253, 0.1225, 0.2276, 0.4274, 0.7396, 1.174, 1.749, 2.474, 3.36, 4.414",\
                 "0.09254, 0.1224, 0.2276, 0.4275, 0.7381, 1.176, 1.75, 2.474, 3.359, 4.406",\
                 "0.1215, 0.1482, 0.2399, 0.4274, 0.7392, 1.176, 1.751, 2.474, 3.36, 4.412",\
                 "0.1836, 0.2109, 0.3031, 0.4788, 0.755, 1.175, 1.749, 2.474, 3.359, 4.416",\
                 "0.2699, 0.3026, 0.404, 0.5794, 0.8514, 1.231, 1.766, 2.474, 3.357, 4.409",\
                 "0.3756, 0.4148, 0.5338, 0.7234, 0.9928, 1.373, 1.87, 2.526, 3.371, 4.409",\
                 "0.4988, 0.5458, 0.6858, 0.9002, 1.186, 1.561, 2.059, 2.686, 3.468, 4.453",\
                 "0.6334, 0.6912, 0.8554, 1.103, 1.416, 1.804, 2.299, 2.926, 3.691, 4.61",\
                 "0.7748, 0.8456, 1.045, 1.324, 1.677, 2.098, 2.597, 3.219, 3.986, 4.896",\
                 "0.9274, 1.011, 1.246, 1.569, 1.961, 2.416, 2.949, 3.572, 4.332, 5.241");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3291, 0.4057, 0.6718, 1.174, 1.953, 3.047, 4.481, 6.292, 8.506, 11.13",\
                 "0.3275, 0.4057, 0.6717, 1.173, 1.953, 3.047, 4.486, 6.291, 8.5, 11.13",\
                 "0.3238, 0.4009, 0.6704, 1.174, 1.953, 3.046, 4.485, 6.295, 8.501, 11.13",\
                 "0.3773, 0.4452, 0.6797, 1.172, 1.953, 3.046, 4.484, 6.291, 8.494, 11.14",\
                 "0.4448, 0.5226, 0.7742, 1.209, 1.953, 3.046, 4.482, 6.294, 8.506, 11.13",\
                 "0.5336, 0.6156, 0.8824, 1.348, 2.019, 3.049, 4.483, 6.293, 8.503, 11.14",\
                 "0.647, 0.7326, 1.009, 1.506, 2.202, 3.141, 4.491, 6.291, 8.502, 11.14",\
                 "0.775, 0.8712, 1.164, 1.672, 2.423, 3.369, 4.613, 6.309, 8.499, 11.13",\
                 "0.921, 1.028, 1.345, 1.868, 2.644, 3.661, 4.879, 6.457, 8.529, 11.13",\
                 "1.08, 1.198, 1.549, 2.097, 2.883, 3.952, 5.24, 6.766, 8.702, 11.18");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.09522, 0.1133, 0.1759, 0.2946, 0.4787, 0.7353, 1.072, 1.495, 2.012, 2.628",\
                 "0.1053, 0.1237, 0.1871, 0.3063, 0.4907, 0.7475, 1.084, 1.507, 2.024, 2.64",\
                 "0.1234, 0.1454, 0.2149, 0.3351, 0.5197, 0.7765, 1.113, 1.537, 2.053, 2.669",\
                 "0.1254, 0.1549, 0.2421, 0.3816, 0.5736, 0.8302, 1.166, 1.59, 2.106, 2.722",\
                 "0.09777, 0.1367, 0.249, 0.4179, 0.6374, 0.9122, 1.251, 1.673, 2.189, 2.804",\
                 "0.0355, 0.0827, 0.2227, 0.4295, 0.6859, 0.9934, 1.36, 1.793, 2.308, 2.922",\
                 "-0.0658, -0.0099, 0.1556, 0.4037, 0.7066, 1.056, 1.46, 1.928, 2.464, 3.08",\
                 "-0.2109, -0.1468, 0.0454, 0.3339, 0.6875, 1.09, 1.54, 2.048, 2.623, 3.271",\
                 "-0.403, -0.3306, -0.1127, 0.2167, 0.6227, 1.082, 1.59, 2.147, 2.765, 3.455",\
                 "-0.6457, -0.5648, -0.3212, 0.0503, 0.5066, 1.027, 1.597, 2.215, 2.885, 3.621");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2756, 0.3191, 0.4699, 0.7561, 1.2, 1.823, 2.64, 3.671, 4.934, 6.427",\
                 "0.286, 0.3296, 0.4816, 0.7685, 1.213, 1.836, 2.655, 3.684, 4.941, 6.444",\
                 "0.3439, 0.3866, 0.5368, 0.8227, 1.267, 1.889, 2.709, 3.738, 4.995, 6.498",\
                 "0.4744, 0.5172, 0.6616, 0.941, 1.381, 2, 2.816, 3.846, 5.104, 6.606",\
                 "0.6506, 0.7004, 0.8638, 1.144, 1.574, 2.185, 2.996, 4.022, 5.275, 6.769",\
                 "0.8731, 0.9283, 1.11, 1.425, 1.862, 2.462, 3.263, 4.28, 5.529, 7.02",\
                 "1.145, 1.207, 1.407, 1.751, 2.234, 2.844, 3.631, 4.637, 5.875, 7.358",\
                 "1.468, 1.539, 1.761, 2.131, 2.653, 3.316, 4.113, 5.104, 6.329, 7.802",\
                 "1.843, 1.922, 2.17, 2.574, 3.128, 3.84, 4.696, 5.694, 6.903, 8.36",\
                 "2.272, 2.359, 2.635, 3.078, 3.669, 4.422, 5.335, 6.393, 7.606, 9.047");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1309, 0.162, 0.2682, 0.4684, 0.78, 1.217, 1.79, 2.516, 3.396, 4.448",\
                 "0.1311, 0.1621, 0.2681, 0.4687, 0.7806, 1.217, 1.791, 2.514, 3.396, 4.453",\
                 "0.1656, 0.1911, 0.2809, 0.4692, 0.7817, 1.217, 1.792, 2.513, 3.396, 4.447",\
                 "0.2406, 0.2638, 0.3502, 0.5212, 0.7976, 1.218, 1.792, 2.516, 3.397, 4.451",\
                 "0.3476, 0.3725, 0.4602, 0.627, 0.8948, 1.273, 1.806, 2.517, 3.395, 4.448",\
                 "0.4774, 0.5064, 0.6046, 0.7798, 1.042, 1.418, 1.913, 2.568, 3.411, 4.449",\
                 "0.627, 0.66, 0.7738, 0.9672, 1.24, 1.611, 2.105, 2.728, 3.511, 4.495",\
                 "0.7902, 0.831, 0.9622, 1.183, 1.479, 1.857, 2.348, 2.971, 3.734, 4.652",\
                 "0.9628, 1.013, 1.171, 1.419, 1.75, 2.156, 2.649, 3.266, 4.03, 4.939",\
                 "1.148, 1.206, 1.394, 1.677, 2.046, 2.484, 3.006, 3.626, 4.378, 5.287");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.4154, 0.4921, 0.7579, 1.261, 2.041, 3.135, 4.57, 6.381, 8.596, 11.22",\
                 "0.4147, 0.4911, 0.7584, 1.261, 2.042, 3.135, 4.575, 6.379, 8.589, 11.22",\
                 "0.4106, 0.4885, 0.7578, 1.26, 2.041, 3.135, 4.574, 6.385, 8.59, 11.22",\
                 "0.4465, 0.5139, 0.7595, 1.26, 2.041, 3.135, 4.573, 6.381, 8.59, 11.23",\
                 "0.5244, 0.6012, 0.8418, 1.284, 2.04, 3.134, 4.572, 6.383, 8.59, 11.22",\
                 "0.6132, 0.6928, 0.9602, 1.415, 2.093, 3.136, 4.571, 6.382, 8.593, 11.22",\
                 "0.7282, 0.813, 1.088, 1.582, 2.27, 3.218, 4.578, 6.381, 8.59, 11.23",\
                 "0.8642, 0.9546, 1.241, 1.753, 2.498, 3.438, 4.689, 6.395, 8.589, 11.22",\
                 "1.015, 1.117, 1.425, 1.948, 2.724, 3.733, 4.949, 6.536, 8.613, 11.22",\
                 "1.186, 1.297, 1.633, 2.175, 2.962, 4.025, 5.311, 6.835, 8.78, 11.26");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.0917, 0.1095, 0.1712, 0.2883, 0.4705, 0.7263, 1.062, 1.485, 2.004, 2.62",\
                 "0.1014, 0.1195, 0.1819, 0.2996, 0.4822, 0.7376, 1.074, 1.497, 2.016, 2.632",\
                 "0.1172, 0.1393, 0.2086, 0.3275, 0.5105, 0.7663, 1.103, 1.526, 2.043, 2.659",\
                 "0.117, 0.1469, 0.2343, 0.3729, 0.5639, 0.8192, 1.155, 1.579, 2.095, 2.712",\
                 "0.08835, 0.1276, 0.2408, 0.4092, 0.6276, 0.9022, 1.24, 1.663, 2.178, 2.794",\
                 "0.0269, 0.0756, 0.2162, 0.4227, 0.6777, 0.984, 1.351, 1.783, 2.298, 2.913",\
                 "-0.0703, -0.0121, 0.1561, 0.4031, 0.7037, 1.052, 1.454, 1.92, 2.456, 3.072",\
                 "-0.2056, -0.138, 0.0576, 0.3444, 0.6941, 1.093, 1.54, 2.045, 2.619, 3.266",\
                 "-0.382, -0.3053, -0.0827, 0.2447, 0.6449, 1.098, 1.6, 2.152, 2.768, 3.455",\
                 "-0.6031, -0.5165, -0.267, 0.1017, 0.5497, 1.062, 1.622, 2.232, 2.897, 3.628");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2756, 0.3191, 0.4699, 0.7561, 1.2, 1.823, 2.64, 3.671, 4.934, 6.427",\
                 "0.286, 0.3296, 0.4816, 0.7685, 1.213, 1.836, 2.655, 3.684, 4.941, 6.444",\
                 "0.3439, 0.3866, 0.5368, 0.8227, 1.267, 1.889, 2.709, 3.738, 4.995, 6.498",\
                 "0.4744, 0.5172, 0.6616, 0.941, 1.381, 2, 2.816, 3.846, 5.104, 6.606",\
                 "0.6506, 0.7004, 0.8638, 1.144, 1.574, 2.185, 2.996, 4.022, 5.275, 6.769",\
                 "0.8731, 0.9283, 1.11, 1.425, 1.862, 2.462, 3.263, 4.28, 5.529, 7.02",\
                 "1.145, 1.207, 1.407, 1.751, 2.234, 2.844, 3.631, 4.637, 5.875, 7.358",\
                 "1.468, 1.539, 1.761, 2.131, 2.653, 3.316, 4.113, 5.104, 6.329, 7.802",\
                 "1.843, 1.922, 2.17, 2.574, 3.128, 3.84, 4.696, 5.694, 6.903, 8.36",\
                 "2.272, 2.359, 2.635, 3.078, 3.669, 4.422, 5.335, 6.393, 7.606, 9.047");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1309, 0.162, 0.2682, 0.4684, 0.78, 1.217, 1.79, 2.516, 3.396, 4.448",\
                 "0.1311, 0.1621, 0.2681, 0.4687, 0.7806, 1.217, 1.791, 2.514, 3.396, 4.453",\
                 "0.1656, 0.1911, 0.2809, 0.4692, 0.7817, 1.217, 1.792, 2.513, 3.396, 4.447",\
                 "0.2406, 0.2638, 0.3502, 0.5212, 0.7976, 1.218, 1.792, 2.516, 3.397, 4.451",\
                 "0.3476, 0.3725, 0.4602, 0.627, 0.8948, 1.273, 1.806, 2.517, 3.395, 4.448",\
                 "0.4774, 0.5064, 0.6046, 0.7798, 1.042, 1.418, 1.913, 2.568, 3.411, 4.449",\
                 "0.627, 0.66, 0.7738, 0.9672, 1.24, 1.611, 2.105, 2.728, 3.511, 4.495",\
                 "0.7902, 0.831, 0.9622, 1.183, 1.479, 1.857, 2.348, 2.971, 3.734, 4.652",\
                 "0.9628, 1.013, 1.171, 1.419, 1.75, 2.156, 2.649, 3.266, 4.03, 4.939",\
                 "1.148, 1.206, 1.394, 1.677, 2.046, 2.484, 3.006, 3.626, 4.378, 5.287");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.4154, 0.4921, 0.7579, 1.261, 2.041, 3.135, 4.57, 6.381, 8.596, 11.22",\
                 "0.4147, 0.4911, 0.7584, 1.261, 2.042, 3.135, 4.575, 6.379, 8.589, 11.22",\
                 "0.4106, 0.4885, 0.7578, 1.26, 2.041, 3.135, 4.574, 6.385, 8.59, 11.22",\
                 "0.4465, 0.5139, 0.7595, 1.26, 2.041, 3.135, 4.573, 6.381, 8.59, 11.23",\
                 "0.5244, 0.6012, 0.8418, 1.284, 2.04, 3.134, 4.572, 6.383, 8.59, 11.22",\
                 "0.6132, 0.6928, 0.9602, 1.415, 2.093, 3.136, 4.571, 6.382, 8.593, 11.22",\
                 "0.7282, 0.813, 1.088, 1.582, 2.27, 3.218, 4.578, 6.381, 8.59, 11.23",\
                 "0.8642, 0.9546, 1.241, 1.753, 2.498, 3.438, 4.689, 6.395, 8.589, 11.22",\
                 "1.015, 1.117, 1.425, 1.948, 2.724, 3.733, 4.949, 6.536, 8.613, 11.22",\
                 "1.186, 1.297, 1.633, 2.175, 2.962, 4.025, 5.311, 6.835, 8.78, 11.26");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1407, 0.1611, 0.2284, 0.3512, 0.5375, 0.7958, 1.134, 1.559, 2.077, 2.694",\
                 "0.152, 0.1721, 0.2398, 0.3625, 0.5488, 0.8071, 1.145, 1.57, 2.088, 2.706",\
                 "0.1972, 0.2177, 0.2839, 0.406, 0.5921, 0.8503, 1.188, 1.613, 2.131, 2.749",\
                 "0.243, 0.2705, 0.3558, 0.4933, 0.6797, 0.9367, 1.274, 1.698, 2.216, 2.833",\
                 "0.2676, 0.3023, 0.4089, 0.5804, 0.8057, 1.076, 1.412, 1.834, 2.351, 2.967",\
                 "0.2675, 0.3091, 0.4386, 0.6449, 0.913, 1.236, 1.606, 2.031, 2.545, 3.159",\
                 "0.241, 0.2902, 0.4414, 0.6824, 0.9956, 1.369, 1.798, 2.277, 2.805, 3.417",\
                 "0.1863, 0.2429, 0.4161, 0.6918, 1.05, 1.475, 1.961, 2.504, 3.101, 3.744",\
                 "0.1042, 0.166, 0.3608, 0.6716, 1.075, 1.554, 2.096, 2.701, 3.365, 4.085",\
                 "-0.0101, 0.0581, 0.2744, 0.6194, 1.069, 1.6, 2.201, 2.868, 3.598, 4.392");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2097, 0.2442, 0.3608, 0.5788, 0.9153, 1.388, 2.009, 2.792, 3.747, 4.886",\
                 "0.22, 0.2555, 0.3749, 0.5948, 0.9331, 1.406, 2.028, 2.811, 3.767, 4.905",\
                 "0.268, 0.3037, 0.4225, 0.6445, 0.9845, 1.46, 2.082, 2.865, 3.822, 4.961",\
                 "0.3429, 0.3846, 0.5158, 0.7377, 1.077, 1.552, 2.175, 2.958, 3.915, 5.054",\
                 "0.4451, 0.4934, 0.6422, 0.889, 1.232, 1.702, 2.322, 3.104, 4.059, 5.197",\
                 "0.579, 0.6369, 0.8081, 1.079, 1.454, 1.931, 2.545, 3.321, 4.272, 5.407",\
                 "0.7444, 0.8127, 1.011, 1.313, 1.716, 2.23, 2.853, 3.621, 4.566, 5.697",\
                 "0.9393, 1.019, 1.247, 1.588, 2.024, 2.571, 3.236, 4.017, 4.952, 6.073",\
                 "1.163, 1.253, 1.515, 1.898, 2.38, 2.961, 3.663, 4.489, 5.439, 6.551",\
                 "1.419, 1.52, 1.812, 2.244, 2.774, 3.401, 4.139, 5.008, 6.006, 7.133");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.174, 0.2073, 0.3163, 0.5203, 0.8335, 1.271, 1.846, 2.572, 3.456, 4.51",\
                 "0.1733, 0.2063, 0.3158, 0.52, 0.834, 1.271, 1.848, 2.571, 3.457, 4.511",\
                 "0.1898, 0.217, 0.3168, 0.5197, 0.8333, 1.272, 1.847, 2.571, 3.455, 4.509",\
                 "0.2652, 0.2989, 0.4012, 0.5658, 0.8415, 1.271, 1.848, 2.572, 3.455, 4.509",\
                 "0.3631, 0.4029, 0.522, 0.714, 0.9722, 1.326, 1.854, 2.571, 3.456, 4.509",\
                 "0.4802, 0.5288, 0.6704, 0.8876, 1.178, 1.543, 1.992, 2.617, 3.459, 4.509",\
                 "0.6162, 0.6718, 0.8388, 1.088, 1.41, 1.813, 2.292, 2.852, 3.583, 4.54",\
                 "0.7626, 0.8306, 1.029, 1.318, 1.674, 2.11, 2.635, 3.235, 3.919, 4.763",\
                 "0.9258, 1.007, 1.237, 1.566, 1.973, 2.44, 3, 3.651, 4.387, 5.203",\
                 "1.107, 1.198, 1.463, 1.839, 2.291, 2.811, 3.404, 4.094, 4.882, 5.76");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2259, 0.2816, 0.4791, 0.858, 1.447, 2.271, 3.351, 4.719, 6.386, 8.38",\
                 "0.2274, 0.2822, 0.4791, 0.8575, 1.445, 2.271, 3.355, 4.722, 6.394, 8.372",\
                 "0.2378, 0.2888, 0.4801, 0.8588, 1.447, 2.271, 3.356, 4.715, 6.383, 8.376",\
                 "0.3082, 0.3563, 0.5197, 0.8623, 1.447, 2.27, 3.352, 4.726, 6.387, 8.366",\
                 "0.4064, 0.4526, 0.6254, 0.945, 1.465, 2.269, 3.36, 4.726, 6.389, 8.383",\
                 "0.5438, 0.5886, 0.7526, 1.085, 1.587, 2.318, 3.356, 4.72, 6.381, 8.365",\
                 "0.6996, 0.7524, 0.9186, 1.246, 1.769, 2.471, 3.434, 4.735, 6.391, 8.372",\
                 "0.8694, 0.9236, 1.112, 1.446, 1.966, 2.699, 3.626, 4.836, 6.405, 8.379",\
                 "1.05, 1.114, 1.324, 1.685, 2.204, 2.946, 3.906, 5.071, 6.555, 8.429",\
                 "1.245, 1.313, 1.552, 1.946, 2.49, 3.23, 4.204, 5.403, 6.827, 8.594");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.112, 0.1334, 0.2034, 0.3282, 0.5159, 0.7751, 1.114, 1.539, 2.058, 2.675",\
                 "0.1235, 0.1446, 0.2143, 0.3392, 0.5269, 0.7861, 1.125, 1.55, 2.069, 2.686",\
                 "0.1672, 0.1901, 0.2591, 0.3823, 0.5697, 0.8287, 1.167, 1.593, 2.111, 2.728",\
                 "0.2018, 0.2324, 0.3245, 0.4678, 0.6568, 0.9147, 1.253, 1.677, 2.195, 2.812",\
                 "0.2118, 0.2509, 0.3673, 0.5472, 0.7785, 1.053, 1.39, 1.813, 2.33, 2.946",\
                 "0.1947, 0.2421, 0.3832, 0.6011, 0.8784, 1.207, 1.582, 2.008, 2.522, 3.137",\
                 "0.1493, 0.2037, 0.3703, 0.6263, 0.9506, 1.332, 1.767, 2.251, 2.781, 3.394",\
                 "0.0744, 0.1361, 0.3253, 0.6196, 0.9924, 1.429, 1.922, 2.471, 3.071, 3.719",\
                 "-0.031, 0.0386, 0.249, 0.5788, 1.001, 1.493, 2.046, 2.658, 3.329, 4.054",\
                 "-0.1691, -0.0926, 0.1408, 0.5058, 0.9751, 1.523, 2.138, 2.814, 3.551, 4.351");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2518, 0.2971, 0.4498, 0.7364, 1.18, 1.802, 2.621, 3.651, 4.909, 6.413",\
                 "0.2596, 0.306, 0.462, 0.7512, 1.197, 1.82, 2.64, 3.671, 4.931, 6.427",\
                 "0.3029, 0.3484, 0.504, 0.7952, 1.243, 1.868, 2.689, 3.722, 4.981, 6.483",\
                 "0.3717, 0.4212, 0.5821, 0.8699, 1.317, 1.942, 2.762, 3.795, 5.056, 6.556",\
                 "0.4698, 0.5235, 0.6958, 0.9968, 1.438, 2.057, 2.874, 3.904, 5.166, 6.668",\
                 "0.6027, 0.6653, 0.8535, 1.169, 1.627, 2.238, 3.047, 4.071, 5.323, 6.82",\
                 "0.769, 0.8421, 1.056, 1.392, 1.867, 2.498, 3.296, 4.309, 5.554, 7.043",\
                 "0.967, 1.051, 1.294, 1.665, 2.161, 2.812, 3.631, 4.632, 5.863, 7.339",\
                 "1.196, 1.29, 1.566, 1.978, 2.51, 3.181, 4.024, 5.045, 6.263, 7.725",\
                 "1.458, 1.564, 1.872, 2.329, 2.906, 3.609, 4.473, 5.523, 6.76, 8.21");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1555, 0.1885, 0.2989, 0.5026, 0.8148, 1.252, 1.827, 2.553, 3.436, 4.488",\
                 "0.153, 0.187, 0.2978, 0.5016, 0.8152, 1.252, 1.827, 2.553, 3.434, 4.49",\
                 "0.1813, 0.2071, 0.3002, 0.5007, 0.8149, 1.252, 1.829, 2.551, 3.436, 4.489",\
                 "0.2596, 0.2926, 0.3927, 0.5552, 0.8237, 1.252, 1.828, 2.552, 3.436, 4.489",\
                 "0.3628, 0.4024, 0.5204, 0.7084, 0.9634, 1.314, 1.835, 2.551, 3.435, 4.489",\
                 "0.4882, 0.537, 0.6754, 0.8868, 1.173, 1.534, 1.981, 2.601, 3.44, 4.49",\
                 "0.6324, 0.6928, 0.8568, 1.1, 1.413, 1.809, 2.287, 2.843, 3.571, 4.523",\
                 "0.7986, 0.8688, 1.063, 1.341, 1.689, 2.115, 2.633, 3.231, 3.912, 4.751",\
                 "0.9854, 1.071, 1.291, 1.61, 2.001, 2.459, 3.008, 3.652, 4.386, 5.197",\
                 "1.195, 1.29, 1.549, 1.91, 2.343, 2.847, 3.427, 4.108, 4.887, 5.761");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.251, 0.325, 0.586, 1.088, 1.867, 2.958, 4.398, 6.206, 8.427, 11.06",\
                 "0.2522, 0.3249, 0.5867, 1.088, 1.865, 2.957, 4.398, 6.209, 8.418, 11.06",\
                 "0.2583, 0.3291, 0.5872, 1.088, 1.868, 2.962, 4.4, 6.204, 8.424, 11.06",\
                 "0.3089, 0.3774, 0.6083, 1.087, 1.869, 2.96, 4.394, 6.213, 8.42, 11.04",\
                 "0.3806, 0.4466, 0.6884, 1.135, 1.874, 2.962, 4.393, 6.212, 8.425, 11.06",\
                 "0.5008, 0.5636, 0.7892, 1.244, 1.942, 2.976, 4.4, 6.212, 8.427, 11.05",\
                 "0.6442, 0.7108, 0.939, 1.374, 2.083, 3.065, 4.427, 6.216, 8.412, 11.06",\
                 "0.8008, 0.8752, 1.123, 1.552, 2.247, 3.237, 4.534, 6.249, 8.427, 11.07",\
                 "0.9712, 1.056, 1.326, 1.777, 2.451, 3.438, 4.737, 6.392, 8.472, 11.07",\
                 "1.155, 1.247, 1.547, 2.038, 2.712, 3.675, 4.987, 6.614, 8.636, 11.15");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.118, 0.1393, 0.2099, 0.336, 0.5252, 0.785, 1.124, 1.549, 2.067, 2.684",\
                 "0.1292, 0.1506, 0.2208, 0.347, 0.5362, 0.796, 1.135, 1.56, 2.078, 2.695",\
                 "0.1744, 0.1967, 0.2654, 0.3901, 0.5789, 0.8387, 1.177, 1.602, 2.121, 2.738",\
                 "0.2144, 0.244, 0.3346, 0.4769, 0.6662, 0.9246, 1.262, 1.687, 2.205, 2.822",\
                 "0.233, 0.2699, 0.3831, 0.5605, 0.7901, 1.063, 1.4, 1.823, 2.339, 2.955",\
                 "0.2271, 0.2709, 0.4057, 0.6192, 0.8929, 1.22, 1.593, 2.019, 2.533, 3.147",\
                 "0.1926, 0.2425, 0.3996, 0.6487, 0.9685, 1.347, 1.78, 2.262, 2.792, 3.404",\
                 "0.1284, 0.1845, 0.3619, 0.6471, 1.014, 1.446, 1.937, 2.484, 3.083, 3.729",\
                 "0.0339, 0.096, 0.2925, 0.6122, 1.026, 1.513, 2.063, 2.673, 3.342, 4.065",\
                 "-0.0938, -0.0252, 0.1915, 0.5434, 1.003, 1.545, 2.157, 2.83, 3.566, 4.364");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3185, 0.3629, 0.5152, 0.8015, 1.247, 1.869, 2.687, 3.717, 4.975, 6.474",\
                 "0.329, 0.3742, 0.5288, 0.8177, 1.263, 1.888, 2.706, 3.736, 4.997, 6.493",\
                 "0.3708, 0.4159, 0.571, 0.8616, 1.311, 1.935, 2.755, 3.789, 5.047, 6.548",\
                 "0.4455, 0.493, 0.6485, 0.9363, 1.383, 2.008, 2.828, 3.862, 5.121, 6.621",\
                 "0.5491, 0.5994, 0.7666, 1.063, 1.503, 2.123, 2.939, 3.969, 5.23, 6.733",\
                 "0.6943, 0.7502, 0.9278, 1.239, 1.692, 2.303, 3.112, 4.136, 5.39, 6.886",\
                 "0.8752, 0.9393, 1.137, 1.464, 1.935, 2.562, 3.361, 4.374, 5.618, 7.106",\
                 "1.089, 1.162, 1.385, 1.742, 2.231, 2.879, 3.695, 4.695, 5.927, 7.405",\
                 "1.335, 1.417, 1.669, 2.061, 2.583, 3.25, 4.091, 5.109, 6.326, 7.79",\
                 "1.611, 1.705, 1.985, 2.42, 2.983, 3.68, 4.541, 5.589, 6.823, 8.272");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.207, 0.2379, 0.3443, 0.5451, 0.8576, 1.295, 1.869, 2.594, 3.478, 4.529",\
                 "0.2043, 0.236, 0.3436, 0.5449, 0.8576, 1.295, 1.87, 2.593, 3.476, 4.529",\
                 "0.2322, 0.2554, 0.3455, 0.5432, 0.8564, 1.294, 1.87, 2.594, 3.478, 4.529",\
                 "0.3287, 0.3554, 0.4436, 0.5986, 0.8669, 1.295, 1.87, 2.593, 3.476, 4.53",\
                 "0.4528, 0.4836, 0.5836, 0.7588, 1.007, 1.356, 1.878, 2.595, 3.477, 4.531",\
                 "0.6018, 0.6392, 0.7564, 0.949, 1.225, 1.58, 2.023, 2.643, 3.482, 4.53",\
                 "0.7734, 0.818, 0.9552, 1.175, 1.473, 1.861, 2.332, 2.885, 3.612, 4.565",\
                 "0.967, 1.019, 1.179, 1.429, 1.76, 2.175, 2.685, 3.278, 3.954, 4.793",\
                 "1.184, 1.245, 1.431, 1.714, 2.082, 2.526, 3.065, 3.706, 4.431, 5.239",\
                 "1.424, 1.494, 1.708, 2.03, 2.438, 2.922, 3.497, 4.166, 4.937, 5.805");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3336, 0.4083, 0.6719, 1.173, 1.954, 3.046, 4.484, 6.292, 8.498, 11.13",\
                 "0.3342, 0.4088, 0.6729, 1.174, 1.953, 3.048, 4.484, 6.292, 8.501, 11.12",\
                 "0.3358, 0.4103, 0.6728, 1.174, 1.954, 3.046, 4.478, 6.295, 8.501, 11.14",\
                 "0.3792, 0.4456, 0.6842, 1.174, 1.953, 3.045, 4.482, 6.296, 8.499, 11.13",\
                 "0.4462, 0.5166, 0.7612, 1.211, 1.956, 3.045, 4.481, 6.29, 8.504, 11.14",\
                 "0.5554, 0.6214, 0.858, 1.319, 2.02, 3.056, 4.482, 6.291, 8.503, 11.14",\
                 "0.6968, 0.769, 0.9994, 1.446, 2.158, 3.144, 4.504, 6.291, 8.5, 11.13",\
                 "0.8596, 0.9354, 1.182, 1.616, 2.319, 3.312, 4.614, 6.327, 8.501, 11.13",\
                 "1.034, 1.12, 1.388, 1.839, 2.52, 3.514, 4.812, 6.462, 8.554, 11.14",\
                 "1.221, 1.316, 1.613, 2.096, 2.777, 3.748, 5.06, 6.689, 8.711, 11.21");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1407, 0.1611, 0.2284, 0.3512, 0.5375, 0.7958, 1.134, 1.559, 2.077, 2.694",\
                 "0.152, 0.1721, 0.2398, 0.3625, 0.5488, 0.8071, 1.145, 1.57, 2.088, 2.706",\
                 "0.1972, 0.2177, 0.2839, 0.406, 0.5921, 0.8503, 1.188, 1.613, 2.131, 2.749",\
                 "0.243, 0.2705, 0.3558, 0.4933, 0.6797, 0.9367, 1.274, 1.698, 2.216, 2.833",\
                 "0.2676, 0.3023, 0.4089, 0.5804, 0.8057, 1.076, 1.412, 1.834, 2.351, 2.967",\
                 "0.2675, 0.3091, 0.4386, 0.6449, 0.913, 1.236, 1.606, 2.031, 2.545, 3.159",\
                 "0.241, 0.2902, 0.4414, 0.6824, 0.9956, 1.369, 1.798, 2.277, 2.805, 3.417",\
                 "0.1863, 0.2429, 0.4161, 0.6918, 1.05, 1.475, 1.961, 2.504, 3.101, 3.744",\
                 "0.1042, 0.166, 0.3608, 0.6716, 1.075, 1.554, 2.096, 2.701, 3.365, 4.085",\
                 "-0.0101, 0.0581, 0.2744, 0.6194, 1.069, 1.6, 2.201, 2.868, 3.598, 4.392");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3185, 0.3629, 0.5152, 0.8015, 1.247, 1.869, 2.687, 3.717, 4.975, 6.474",\
                 "0.329, 0.3742, 0.5288, 0.8177, 1.263, 1.888, 2.706, 3.736, 4.997, 6.493",\
                 "0.3708, 0.4159, 0.571, 0.8616, 1.311, 1.935, 2.755, 3.789, 5.047, 6.548",\
                 "0.4455, 0.493, 0.6485, 0.9363, 1.383, 2.008, 2.828, 3.862, 5.121, 6.621",\
                 "0.5491, 0.5994, 0.7666, 1.063, 1.503, 2.123, 2.939, 3.969, 5.23, 6.733",\
                 "0.6943, 0.7502, 0.9278, 1.239, 1.692, 2.303, 3.112, 4.136, 5.39, 6.886",\
                 "0.8752, 0.9393, 1.137, 1.464, 1.935, 2.562, 3.361, 4.374, 5.618, 7.106",\
                 "1.089, 1.162, 1.385, 1.742, 2.231, 2.879, 3.695, 4.695, 5.927, 7.405",\
                 "1.335, 1.417, 1.669, 2.061, 2.583, 3.25, 4.091, 5.109, 6.326, 7.79",\
                 "1.611, 1.705, 1.985, 2.42, 2.983, 3.68, 4.541, 5.589, 6.823, 8.272");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.207, 0.2379, 0.3443, 0.5451, 0.8576, 1.295, 1.869, 2.594, 3.478, 4.529",\
                 "0.2043, 0.236, 0.3436, 0.5449, 0.8576, 1.295, 1.87, 2.593, 3.476, 4.529",\
                 "0.2322, 0.2554, 0.3455, 0.5432, 0.8564, 1.294, 1.87, 2.594, 3.478, 4.529",\
                 "0.3287, 0.3554, 0.4436, 0.5986, 0.8669, 1.295, 1.87, 2.593, 3.476, 4.53",\
                 "0.4528, 0.4836, 0.5836, 0.7588, 1.007, 1.356, 1.878, 2.595, 3.477, 4.531",\
                 "0.6018, 0.6392, 0.7564, 0.949, 1.225, 1.58, 2.023, 2.643, 3.482, 4.53",\
                 "0.7734, 0.818, 0.9552, 1.175, 1.473, 1.861, 2.332, 2.885, 3.612, 4.565",\
                 "0.967, 1.019, 1.179, 1.429, 1.76, 2.175, 2.685, 3.278, 3.954, 4.793",\
                 "1.184, 1.245, 1.431, 1.714, 2.082, 2.526, 3.065, 3.706, 4.431, 5.239",\
                 "1.424, 1.494, 1.708, 2.03, 2.438, 2.922, 3.497, 4.166, 4.937, 5.805");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3336, 0.4083, 0.6719, 1.173, 1.954, 3.046, 4.484, 6.292, 8.498, 11.13",\
                 "0.3342, 0.4088, 0.6729, 1.174, 1.953, 3.048, 4.484, 6.292, 8.501, 11.12",\
                 "0.3358, 0.4103, 0.6728, 1.174, 1.954, 3.046, 4.478, 6.295, 8.501, 11.14",\
                 "0.3792, 0.4456, 0.6842, 1.174, 1.953, 3.045, 4.482, 6.296, 8.499, 11.13",\
                 "0.4462, 0.5166, 0.7612, 1.211, 1.956, 3.045, 4.481, 6.29, 8.504, 11.14",\
                 "0.5554, 0.6214, 0.858, 1.319, 2.02, 3.056, 4.482, 6.291, 8.503, 11.14",\
                 "0.6968, 0.769, 0.9994, 1.446, 2.158, 3.144, 4.504, 6.291, 8.5, 11.13",\
                 "0.8596, 0.9354, 1.182, 1.616, 2.319, 3.312, 4.614, 6.327, 8.501, 11.13",\
                 "1.034, 1.12, 1.388, 1.839, 2.52, 3.514, 4.812, 6.462, 8.554, 11.14",\
                 "1.221, 1.316, 1.613, 2.096, 2.777, 3.748, 5.06, 6.689, 8.711, 11.21");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1546, 0.1752, 0.2426, 0.3651, 0.5515, 0.8098, 1.148, 1.573, 2.091, 2.708",\
                 "0.1649, 0.1847, 0.2527, 0.3752, 0.5617, 0.82, 1.158, 1.583, 2.101, 2.718",\
                 "0.1916, 0.2123, 0.2797, 0.4022, 0.5886, 0.847, 1.185, 1.61, 2.129, 2.746",\
                 "0.2183, 0.2429, 0.3209, 0.4535, 0.6419, 0.8997, 1.238, 1.662, 2.18, 2.797",\
                 "0.2256, 0.2563, 0.3513, 0.5047, 0.7147, 0.9844, 1.322, 1.746, 2.263, 2.879",\
                 "0.2047, 0.2419, 0.3573, 0.54, 0.7793, 1.077, 1.438, 1.867, 2.382, 2.997",\
                 "0.1512, 0.1951, 0.3319, 0.5473, 0.8254, 1.158, 1.551, 2.011, 2.543, 3.158",\
                 "0.0644, 0.1149, 0.2717, 0.5212, 0.8409, 1.218, 1.65, 2.146, 2.713, 3.355",\
                 "-0.0578, -0.0015, 0.1753, 0.4576, 0.8215, 1.247, 1.728, 2.267, 2.872, 3.553",\
                 "-0.2186, -0.1558, 0.0423, 0.3565, 0.7622, 1.238, 1.775, 2.365, 3.016, 3.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2522, 0.2857, 0.4006, 0.6178, 0.9549, 1.427, 2.048, 2.832, 3.786, 4.925",\
                 "0.2656, 0.2993, 0.4154, 0.6338, 0.971, 1.444, 2.065, 2.848, 3.803, 4.942",\
                 "0.3173, 0.3515, 0.4678, 0.687, 1.025, 1.498, 2.12, 2.903, 3.858, 4.996",\
                 "0.4025, 0.441, 0.5644, 0.7829, 1.12, 1.593, 2.215, 2.997, 3.953, 5.091",\
                 "0.52, 0.5629, 0.7019, 0.9401, 1.278, 1.746, 2.365, 3.145, 4.098, 5.235",\
                 "0.6811, 0.7307, 0.8837, 1.142, 1.507, 1.978, 2.59, 3.365, 4.314, 5.448",\
                 "0.8828, 0.9395, 1.113, 1.394, 1.783, 2.287, 2.904, 3.67, 4.612, 5.739",\
                 "1.122, 1.187, 1.385, 1.696, 2.111, 2.643, 3.296, 4.071, 5.002, 6.12",\
                 "1.398, 1.472, 1.697, 2.044, 2.493, 3.053, 3.741, 4.555, 5.495, 6.603",\
                 "1.714, 1.797, 2.049, 2.434, 2.926, 3.521, 4.239, 5.092, 6.077, 7.196");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1737, 0.2065, 0.3162, 0.5207, 0.8341, 1.272, 1.848, 2.572, 3.455, 4.509",\
                 "0.1732, 0.2058, 0.3156, 0.5206, 0.8337, 1.271, 1.848, 2.571, 3.455, 4.509",\
                 "0.1851, 0.2141, 0.3174, 0.5194, 0.8338, 1.271, 1.847, 2.572, 3.456, 4.509",\
                 "0.2421, 0.2714, 0.3715, 0.5517, 0.8413, 1.273, 1.846, 2.571, 3.455, 4.508",\
                 "0.3309, 0.3625, 0.466, 0.6472, 0.9254, 1.313, 1.856, 2.571, 3.454, 4.509",\
                 "0.4422, 0.4802, 0.5962, 0.786, 1.062, 1.447, 1.95, 2.613, 3.462, 4.509",\
                 "0.571, 0.6176, 0.7508, 0.9596, 1.247, 1.629, 2.132, 2.763, 3.555, 4.544",\
                 "0.7154, 0.768, 0.925, 1.163, 1.471, 1.861, 2.364, 2.996, 3.767, 4.694",\
                 "0.875, 0.9374, 1.117, 1.388, 1.73, 2.145, 2.649, 3.279, 4.051, 4.97",\
                 "1.051, 1.121, 1.325, 1.634, 2.019, 2.462, 2.99, 3.621, 4.387, 5.307");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2888, 0.3455, 0.5441, 0.9225, 1.511, 2.335, 3.418, 4.784, 6.446, 8.431",\
                 "0.2896, 0.3455, 0.5442, 0.9234, 1.511, 2.335, 3.418, 4.784, 6.447, 8.433",\
                 "0.2934, 0.3483, 0.5448, 0.9234, 1.511, 2.335, 3.419, 4.782, 6.446, 8.429",\
                 "0.357, 0.4045, 0.5719, 0.9261, 1.511, 2.336, 3.419, 4.783, 6.449, 8.431",\
                 "0.4462, 0.4966, 0.6752, 0.9964, 1.527, 2.336, 3.419, 4.783, 6.448, 8.433",\
                 "0.567, 0.6174, 0.7938, 1.134, 1.638, 2.374, 3.421, 4.783, 6.449, 8.433",\
                 "0.7094, 0.7632, 0.9448, 1.286, 1.814, 2.523, 3.488, 4.791, 6.448, 8.434",\
                 "0.869, 0.928, 1.123, 1.469, 2.004, 2.745, 3.676, 4.893, 6.47, 8.434",\
                 "1.043, 1.111, 1.325, 1.691, 2.226, 2.982, 3.948, 5.118, 6.606, 8.476",\
                 "1.229, 1.306, 1.544, 1.94, 2.488, 3.242, 4.232, 5.442, 6.873, 8.646");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1262, 0.1476, 0.2174, 0.3423, 0.5299, 0.7891, 1.128, 1.553, 2.071, 2.689",\
                 "0.1363, 0.1575, 0.2273, 0.3521, 0.5397, 0.799, 1.138, 1.563, 2.081, 2.699",\
                 "0.1622, 0.1844, 0.2545, 0.3786, 0.5663, 0.8256, 1.164, 1.59, 2.108, 2.725",\
                 "0.1814, 0.2085, 0.2917, 0.4282, 0.6189, 0.8776, 1.216, 1.641, 2.159, 2.776",\
                 "0.1758, 0.2104, 0.3136, 0.4744, 0.6888, 0.9611, 1.3, 1.724, 2.241, 2.858",\
                 "0.1382, 0.1803, 0.3068, 0.5009, 0.7479, 1.05, 1.413, 1.844, 2.36, 2.976",\
                 "0.0665, 0.1154, 0.2655, 0.4958, 0.7844, 1.124, 1.521, 1.984, 2.518, 3.134",\
                 "-0.0411, 0.0154, 0.1873, 0.4535, 0.7879, 1.175, 1.615, 2.114, 2.684, 3.329",\
                 "-0.187, -0.1236, 0.0706, 0.371, 0.7516, 1.191, 1.683, 2.228, 2.837, 3.521",\
                 "-0.3731, -0.3028, -0.0876, 0.2486, 0.6731, 1.167, 1.715, 2.316, 2.974, 3.698");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3087, 0.3518, 0.5025, 0.7886, 1.232, 1.855, 2.672, 3.703, 4.964, 6.459",\
                 "0.3203, 0.3643, 0.5163, 0.8031, 1.248, 1.87, 2.689, 3.723, 4.976, 6.476",\
                 "0.3668, 0.4111, 0.5638, 0.8517, 1.297, 1.92, 2.74, 3.772, 5.03, 6.529",\
                 "0.443, 0.49, 0.6444, 0.9294, 1.374, 1.996, 2.815, 3.848, 5.105, 6.606",\
                 "0.5527, 0.602, 0.7669, 1.06, 1.498, 2.115, 2.929, 3.959, 5.218, 6.713",\
                 "0.7114, 0.7655, 0.9382, 1.244, 1.693, 2.3, 3.106, 4.13, 5.379, 6.875",\
                 "0.9141, 0.9758, 1.166, 1.484, 1.946, 2.568, 3.362, 4.371, 5.614, 7.099",\
                 "1.158, 1.227, 1.441, 1.783, 2.259, 2.897, 3.705, 4.701, 5.928, 7.401",\
                 "1.44, 1.519, 1.758, 2.133, 2.635, 3.287, 4.116, 5.126, 6.337, 7.796",\
                 "1.763, 1.851, 2.117, 2.531, 3.07, 3.744, 4.589, 5.623, 6.847, 8.29");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1544, 0.1876, 0.2986, 0.501, 0.8149, 1.252, 1.828, 2.552, 3.436, 4.49",\
                 "0.153, 0.1867, 0.2976, 0.501, 0.8149, 1.253, 1.827, 2.552, 3.436, 4.488",\
                 "0.172, 0.2006, 0.3007, 0.5006, 0.8148, 1.253, 1.827, 2.552, 3.436, 4.488",\
                 "0.2361, 0.265, 0.3607, 0.5381, 0.8244, 1.252, 1.828, 2.551, 3.435, 4.489",\
                 "0.3329, 0.3638, 0.4638, 0.639, 0.9126, 1.297, 1.838, 2.552, 3.435, 4.488",\
                 "0.4536, 0.4906, 0.602, 0.785, 1.054, 1.435, 1.935, 2.596, 3.444, 4.489",\
                 "0.595, 0.6372, 0.7674, 0.97, 1.246, 1.622, 2.123, 2.75, 3.538, 4.526",\
                 "0.7592, 0.8078, 0.9576, 1.185, 1.485, 1.868, 2.358, 2.986, 3.756, 4.68",\
                 "0.9398, 1, 1.171, 1.429, 1.757, 2.16, 2.654, 3.277, 4.042, 4.959",\
                 "1.137, 1.208, 1.412, 1.7, 2.061, 2.494, 3.008, 3.628, 4.389, 5.301");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3346, 0.4092, 0.6726, 1.174, 1.954, 3.046, 4.481, 6.293, 8.504, 11.13",\
                 "0.3347, 0.4097, 0.6724, 1.174, 1.954, 3.046, 4.484, 6.297, 8.495, 11.13",\
                 "0.3364, 0.4109, 0.6723, 1.174, 1.954, 3.046, 4.483, 6.296, 8.501, 11.14",\
                 "0.38, 0.4471, 0.6859, 1.175, 1.953, 3.046, 4.483, 6.296, 8.501, 11.14",\
                 "0.4454, 0.5162, 0.7612, 1.213, 1.956, 3.046, 4.482, 6.293, 8.507, 11.13",\
                 "0.5476, 0.6152, 0.8542, 1.317, 2.02, 3.057, 4.482, 6.295, 8.504, 11.14",\
                 "0.6776, 0.7492, 0.9852, 1.439, 2.154, 3.143, 4.504, 6.294, 8.503, 11.13",\
                 "0.8244, 0.9032, 1.155, 1.598, 2.308, 3.305, 4.613, 6.329, 8.504, 11.13",\
                 "0.9888, 1.078, 1.349, 1.805, 2.496, 3.498, 4.804, 6.458, 8.555, 11.14",\
                 "1.169, 1.266, 1.564, 2.047, 2.733, 3.716, 5.04, 6.682, 8.709, 11.21");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.132, 0.1534, 0.2239, 0.3501, 0.5392, 0.799, 1.138, 1.563, 2.081, 2.698",\
                 "0.1421, 0.1634, 0.2337, 0.3599, 0.549, 0.8089, 1.148, 1.573, 2.091, 2.708",\
                 "0.1688, 0.1908, 0.2609, 0.3865, 0.5756, 0.8354, 1.174, 1.599, 2.118, 2.735",\
                 "0.1913, 0.2176, 0.3001, 0.4369, 0.6283, 0.8876, 1.226, 1.651, 2.169, 2.786",\
                 "0.1922, 0.2251, 0.3261, 0.4856, 0.6997, 0.9715, 1.31, 1.734, 2.251, 2.868",\
                 "0.1636, 0.2032, 0.3252, 0.5159, 0.7605, 1.061, 1.424, 1.854, 2.37, 2.985",\
                 "0.1021, 0.1475, 0.2901, 0.5149, 0.7997, 1.137, 1.533, 1.995, 2.528, 3.144",\
                 "0.0049, 0.0565, 0.2182, 0.4768, 0.8059, 1.19, 1.628, 2.126, 2.696, 3.339",\
                 "-0.1317, -0.0735, 0.1082, 0.399, 0.7734, 1.209, 1.698, 2.241, 2.849, 3.532",\
                 "-0.3077, -0.2446, -0.0426, 0.2805, 0.6984, 1.187, 1.732, 2.33, 2.986, 3.711");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3736, 0.4171, 0.568, 0.8537, 1.298, 1.92, 2.737, 3.77, 5.029, 6.524",\
                 "0.3864, 0.4304, 0.5823, 0.8684, 1.313, 1.936, 2.755, 3.788, 5.041, 6.541",\
                 "0.4335, 0.4775, 0.6298, 0.9177, 1.363, 1.986, 2.806, 3.836, 5.095, 6.594",\
                 "0.5135, 0.5583, 0.7097, 0.9954, 1.44, 2.063, 2.88, 3.915, 5.17, 6.672",\
                 "0.6262, 0.6744, 0.8361, 1.125, 1.563, 2.181, 2.995, 4.024, 5.283, 6.778",\
                 "0.7914, 0.8419, 1.009, 1.312, 1.757, 2.365, 3.171, 4.193, 5.445, 6.938",\
                 "1.005, 1.06, 1.241, 1.553, 2.013, 2.631, 3.426, 4.435, 5.677, 7.166",\
                 "1.26, 1.323, 1.523, 1.855, 2.327, 2.963, 3.768, 4.765, 5.992, 7.466",\
                 "1.556, 1.627, 1.849, 2.211, 2.705, 3.355, 4.181, 5.188, 6.4, 7.86",\
                 "1.893, 1.972, 2.219, 2.615, 3.143, 3.812, 4.655, 5.688, 6.91, 8.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2059, 0.2371, 0.3439, 0.5449, 0.8575, 1.294, 1.87, 2.592, 3.478, 4.529",\
                 "0.2045, 0.236, 0.3434, 0.5447, 0.8572, 1.295, 1.87, 2.593, 3.478, 4.529",\
                 "0.2229, 0.2487, 0.3463, 0.5439, 0.8562, 1.294, 1.87, 2.595, 3.478, 4.53",\
                 "0.2955, 0.32, 0.4092, 0.5816, 0.8674, 1.295, 1.87, 2.595, 3.476, 4.53",\
                 "0.4077, 0.4321, 0.5197, 0.6878, 0.956, 1.34, 1.879, 2.594, 3.477, 4.531",\
                 "0.5472, 0.5746, 0.67, 0.841, 1.103, 1.479, 1.978, 2.637, 3.486, 4.529",\
                 "0.7098, 0.7422, 0.849, 1.036, 1.301, 1.67, 2.168, 2.792, 3.582, 4.569",\
                 "0.8948, 0.9326, 1.057, 1.261, 1.547, 1.921, 2.407, 3.031, 3.798, 4.721",\
                 "1.104, 1.147, 1.288, 1.518, 1.827, 2.22, 2.706, 3.325, 4.087, 5.003",\
                 "1.328, 1.385, 1.544, 1.803, 2.143, 2.559, 3.067, 3.681, 4.435, 5.347");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.4173, 0.4934, 0.7583, 1.261, 2.041, 3.134, 4.57, 6.385, 8.588, 11.21",\
                 "0.4171, 0.4931, 0.7587, 1.261, 2.041, 3.135, 4.573, 6.385, 8.583, 11.21",\
                 "0.4186, 0.4944, 0.7586, 1.262, 2.041, 3.134, 4.573, 6.376, 8.59, 11.22",\
                 "0.4488, 0.5174, 0.7653, 1.261, 2.042, 3.133, 4.571, 6.384, 8.589, 11.22",\
                 "0.5172, 0.5908, 0.8344, 1.29, 2.042, 3.134, 4.571, 6.38, 8.594, 11.22",\
                 "0.61, 0.6804, 0.9276, 1.391, 2.099, 3.141, 4.571, 6.38, 8.593, 11.23",\
                 "0.741, 0.811, 1.052, 1.513, 2.229, 3.221, 4.589, 6.38, 8.592, 11.23",\
                 "0.8924, 0.9688, 1.218, 1.668, 2.384, 3.381, 4.693, 6.412, 8.593, 11.23",\
                 "1.061, 1.147, 1.415, 1.87, 2.567, 3.575, 4.881, 6.54, 8.638, 11.23",\
                 "1.247, 1.342, 1.632, 2.114, 2.803, 3.793, 5.116, 6.757, 8.788, 11.29");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.1546, 0.1752, 0.2426, 0.3651, 0.5515, 0.8098, 1.148, 1.573, 2.091, 2.708",\
                 "0.1649, 0.1847, 0.2527, 0.3752, 0.5617, 0.82, 1.158, 1.583, 2.101, 2.718",\
                 "0.1916, 0.2123, 0.2797, 0.4022, 0.5886, 0.847, 1.185, 1.61, 2.129, 2.746",\
                 "0.2183, 0.2429, 0.3209, 0.4535, 0.6419, 0.8997, 1.238, 1.662, 2.18, 2.797",\
                 "0.2256, 0.2563, 0.3513, 0.5047, 0.7147, 0.9844, 1.322, 1.746, 2.263, 2.879",\
                 "0.2047, 0.2419, 0.3573, 0.54, 0.7793, 1.077, 1.438, 1.867, 2.382, 2.997",\
                 "0.1512, 0.1951, 0.3319, 0.5473, 0.8254, 1.158, 1.551, 2.011, 2.543, 3.158",\
                 "0.0644, 0.1149, 0.2717, 0.5212, 0.8409, 1.218, 1.65, 2.146, 2.713, 3.355",\
                 "-0.0578, -0.0015, 0.1753, 0.4576, 0.8215, 1.247, 1.728, 2.267, 2.872, 3.553",\
                 "-0.2186, -0.1558, 0.0423, 0.3565, 0.7622, 1.238, 1.775, 2.365, 3.016, 3.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.3736, 0.4171, 0.568, 0.8537, 1.298, 1.92, 2.737, 3.77, 5.029, 6.524",\
                 "0.3864, 0.4304, 0.5823, 0.8684, 1.313, 1.936, 2.755, 3.788, 5.041, 6.541",\
                 "0.4335, 0.4775, 0.6298, 0.9177, 1.363, 1.986, 2.806, 3.836, 5.095, 6.594",\
                 "0.5135, 0.5583, 0.7097, 0.9954, 1.44, 2.063, 2.88, 3.915, 5.17, 6.672",\
                 "0.6262, 0.6744, 0.8361, 1.125, 1.563, 2.181, 2.995, 4.024, 5.283, 6.778",\
                 "0.7914, 0.8419, 1.009, 1.312, 1.757, 2.365, 3.171, 4.193, 5.445, 6.938",\
                 "1.005, 1.06, 1.241, 1.553, 2.013, 2.631, 3.426, 4.435, 5.677, 7.166",\
                 "1.26, 1.323, 1.523, 1.855, 2.327, 2.963, 3.768, 4.765, 5.992, 7.466",\
                 "1.556, 1.627, 1.849, 2.211, 2.705, 3.355, 4.181, 5.188, 6.4, 7.86",\
                 "1.893, 1.972, 2.219, 2.615, 3.143, 3.812, 4.655, 5.688, 6.91, 8.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.2059, 0.2371, 0.3439, 0.5449, 0.8575, 1.294, 1.87, 2.592, 3.478, 4.529",\
                 "0.2045, 0.236, 0.3434, 0.5447, 0.8572, 1.295, 1.87, 2.593, 3.478, 4.529",\
                 "0.2229, 0.2487, 0.3463, 0.5439, 0.8562, 1.294, 1.87, 2.595, 3.478, 4.53",\
                 "0.2955, 0.32, 0.4092, 0.5816, 0.8674, 1.295, 1.87, 2.595, 3.476, 4.53",\
                 "0.4077, 0.4321, 0.5197, 0.6878, 0.956, 1.34, 1.879, 2.594, 3.477, 4.531",\
                 "0.5472, 0.5746, 0.67, 0.841, 1.103, 1.479, 1.978, 2.637, 3.486, 4.529",\
                 "0.7098, 0.7422, 0.849, 1.036, 1.301, 1.67, 2.168, 2.792, 3.582, 4.569",\
                 "0.8948, 0.9326, 1.057, 1.261, 1.547, 1.921, 2.407, 3.031, 3.798, 4.721",\
                 "1.104, 1.147, 1.288, 1.518, 1.827, 2.22, 2.706, 3.325, 4.087, 5.003",\
                 "1.328, 1.385, 1.544, 1.803, 2.143, 2.559, 3.067, 3.681, 4.435, 5.347");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00695, 0.02783, 0.06772, 0.1299, 0.217, 0.3318, 0.4763, 0.6527, 0.863");
          values("0.4173, 0.4934, 0.7583, 1.261, 2.041, 3.134, 4.57, 6.385, 8.588, 11.21",\
                 "0.4171, 0.4931, 0.7587, 1.261, 2.041, 3.135, 4.573, 6.385, 8.583, 11.21",\
                 "0.4186, 0.4944, 0.7586, 1.262, 2.041, 3.134, 4.573, 6.376, 8.59, 11.22",\
                 "0.4488, 0.5174, 0.7653, 1.261, 2.042, 3.133, 4.571, 6.384, 8.589, 11.22",\
                 "0.5172, 0.5908, 0.8344, 1.29, 2.042, 3.134, 4.571, 6.38, 8.594, 11.22",\
                 "0.61, 0.6804, 0.9276, 1.391, 2.099, 3.141, 4.571, 6.38, 8.593, 11.23",\
                 "0.741, 0.811, 1.052, 1.513, 2.229, 3.221, 4.589, 6.38, 8.592, 11.23",\
                 "0.8924, 0.9688, 1.218, 1.668, 2.384, 3.381, 4.693, 6.412, 8.593, 11.23",\
                 "1.061, 1.147, 1.415, 1.87, 2.567, 3.575, 4.881, 6.54, 8.638, 11.23",\
                 "1.247, 1.342, 1.632, 2.114, 2.803, 3.793, 5.116, 6.757, 8.788, 11.29");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi211_1) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&!C" ;
      value : "5.5176e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&C" ;
      value : "8.01801e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&!C" ;
      value : "6.59571e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&C" ;
      value : "6.59571e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&!C" ;
      value : "5.52552e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&C" ;
      value : "8.09952e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&!C" ;
      value : "6.68217e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&C" ;
      value : "6.68217e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&!C" ;
      value : "7.15209e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&C" ;
      value : "8.09952e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&!C" ;
      value : "6.68217e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&C" ;
      value : "6.68217e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&!C" ;
      value : "4.48437e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&C" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&!C" ;
      value : "4.48206e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&C" ;
      value : "4.48206e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.09952e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004582 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0182, 0.01822, 0.01822, 0.01819, 0.01815, 0.01814, 0.01809, \
                 0.01806, 0.01804, 0.01802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01327, -0.01329, -0.01327, -0.01324, -0.01322, -0.01321, -0.01321, \
                 -0.01321, -0.01322, -0.01324");
        }
      }

      internal_power() {
        when : "!A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004873, 0.004864, 0.004864, 0.004882, 0.004872, 0.004896, 0.004895, \
                 0.004897, 0.004899, 0.004896");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004857, -0.004862, -0.004863, -0.004868, -0.004877, -0.004885, \
                 -0.00489, -0.004899, -0.004907, -0.004913");
        }
      }

      internal_power() {
        when : "!A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004885, 0.004878, 0.004877, 0.004891, 0.00489, 0.004912, 0.004908, \
                 0.004912, 0.004914, 0.004912");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004889, -0.004878, -0.00489, -0.004895, -0.004905, -0.004915, \
                 -0.004918, -0.004926, -0.004938, -0.004945");
        }
      }

      internal_power() {
        when : "!A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004887, 0.004877, 0.004878, 0.004894, 0.004891, 0.004908, 0.004912, \
                 0.004911, 0.004915, 0.004913");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004882, -0.004879, -0.004891, -0.004896, -0.004908, -0.004915, \
                 -0.004922, -0.004928, -0.004938, -0.004945");
        }
      }

      internal_power() {
        when : "A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02963, 0.0296, 0.02954, 0.02951, 0.02948, 0.02947, 0.02943, \
                 0.0294, 0.02933, 0.02925");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004929, -0.004926, -0.004936, -0.00494, -0.004939, -0.004943, \
                 -0.004949, -0.004946, -0.004945, -0.00494");
        }
      }

      internal_power() {
        when : "A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01872, 0.01871, 0.01867, 0.01865, 0.01863, 0.01863, 0.01862, \
                 0.01859, 0.01856, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004933, -0.00493, -0.00494, -0.00494, -0.004943, -0.004951, \
                 -0.004957, -0.004959, -0.004956, -0.004958");
        }
      }

      internal_power() {
        when : "A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01872, 0.0187, 0.01866, 0.01865, 0.01862, 0.01864, 0.01861, \
                 0.01859, 0.01856, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004932, -0.00493, -0.004937, -0.00494, -0.004942, -0.004956, \
                 -0.004958, -0.004956, -0.004957, -0.004959");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004361 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01776, 0.01683, 0.01649, 0.01643, 0.01639, 0.01637, 0.01634, \
                 0.01631, 0.01629, 0.01627");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01647, -0.01647, -0.01649, -0.01647, -0.01641, -0.01638, -0.01634, \
                 -0.01629, -0.01627, -0.01626");
        }
      }

      internal_power() {
        when : "!A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004871, 0.004862, 0.004873, 0.004876, 0.004875, 0.004897, 0.004899, \
                 0.004899, 0.004897, 0.004901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004863, -0.004861, -0.004866, -0.004866, -0.004872, -0.004884, \
                 -0.004892, -0.004896, -0.004907, -0.004915");
        }
      }

      internal_power() {
        when : "!A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004884, 0.004875, 0.004886, 0.004889, 0.004886, 0.004911, 0.004914, \
                 0.004913, 0.004911, 0.004912");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004893, -0.004888, -0.004892, -0.004893, -0.004899, -0.00491, \
                 -0.004919, -0.004926, -0.004938, -0.004947");
        }
      }

      internal_power() {
        when : "!A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004884, 0.004875, 0.004887, 0.00489, 0.00489, 0.004911, 0.004917, \
                 0.004914, 0.004913, 0.004912");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004888, -0.004888, -0.004893, -0.004892, -0.004899, -0.004912, \
                 -0.00492, -0.004926, -0.004937, -0.004948");
        }
      }

      internal_power() {
        when : "A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02963, 0.0296, 0.02954, 0.0295, 0.02947, 0.02947, 0.02943, 0.0294, \
                 0.02933, 0.02925");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004935, -0.004937, -0.004938, -0.004933, -0.004932, -0.004945, \
                 -0.004949, -0.004946, -0.004945, -0.004938");
        }
      }

      internal_power() {
        when : "A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01872, 0.01869, 0.01866, 0.01865, 0.01863, 0.01864, 0.01862, \
                 0.01859, 0.01855, 0.0185");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004938, -0.00494, -0.004941, -0.004937, -0.004944, -0.00495, \
                 -0.004959, -0.004958, -0.004954, -0.004954");
        }
      }

      internal_power() {
        when : "A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01872, 0.01869, 0.01866, 0.01865, 0.01863, 0.01863, 0.01861, \
                 0.01858, 0.01856, 0.0185");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004937, -0.00494, -0.004942, -0.004937, -0.004943, -0.00495, \
                 -0.004957, -0.004956, -0.004953, -0.004955");
        }
      }
    }

    pin(B) {
      capacitance : 0.003931 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01068, 0.01067, 0.01067, 0.01067, 0.01068, 0.01067, 0.01065, \
                 0.01061, 0.01056, 0.01049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006413, -0.006402, -0.006416, -0.006426, -0.006442, -0.006457, \
                 -0.006467, -0.006472, -0.006494, -0.006511");
        }
      }

      internal_power() {
        when : "!A1&A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01059, 0.01057, 0.01058, 0.01058, 0.01057, 0.01057, 0.01056, \
                 0.01052, 0.01046, 0.0104");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006431, -0.006417, -0.006435, -0.006449, -0.006463, -0.006473, \
                 -0.006488, -0.006489, -0.006513, -0.006529");
        }
      }

      internal_power() {
        when : "A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01059, 0.01057, 0.01059, 0.01058, 0.01058, 0.01058, 0.01055, \
                 0.01051, 0.01047, 0.0104");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006431, -0.006418, -0.006436, -0.006455, -0.006463, -0.006478, \
                 -0.006485, -0.006496, -0.006513, -0.006529");
        }
      }

      internal_power() {
        when : "A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01624, 0.01621, 0.0162, 0.01616, 0.01618, 0.01623, 0.01621, \
                 0.01619, 0.01621, 0.01621");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01312, -0.01357, -0.01455, -0.01513, -0.01543, -0.01561, -0.0157, \
                 -0.01576, -0.0158, -0.01583");
        }
      }

      internal_power() {
        when : "A1&A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009834, 0.009829, 0.009849, 0.009846, 0.009864, 0.009878, 0.009878, \
                 0.009882, 0.009878, 0.009871");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01082, -0.01041, -0.01014, -0.01005, -0.01002, -0.01003, -0.01003, \
                 -0.01002, -0.01003, -0.01007");
        }
      }
    }

    pin(C) {
      capacitance : 0.003812 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01624, 0.01622, 0.01622, 0.01624, 0.0162, 0.01626, 0.01624, \
                 0.01623, 0.01623, 0.01623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01457, -0.01508, -0.01557, -0.01575, -0.01583, -0.01592, -0.01596, \
                 -0.01599, -0.016, -0.01601");
        }
      }

      internal_power() {
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01624, 0.01622, 0.01622, 0.01622, 0.01621, 0.01627, 0.01625, \
                 0.01622, 0.01623, 0.01623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01458, -0.01509, -0.01558, -0.01575, -0.01583, -0.01592, -0.01596, \
                 -0.01599, -0.016, -0.01601");
        }
      }

      internal_power() {
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01624, 0.01622, 0.01623, 0.01622, 0.01621, 0.01622, 0.01625, \
                 0.01623, 0.01624, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01458, -0.01509, -0.01558, -0.01575, -0.01583, -0.01592, -0.01595, \
                 -0.01599, -0.016, -0.016");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01621, 0.01617, 0.01617, 0.01616, 0.01617, 0.01622, 0.01621, \
                 0.0162, 0.01621, 0.01622");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01344, -0.01387, -0.0145, -0.01497, -0.01528, -0.01546, -0.01558, \
                 -0.01565, -0.01571, -0.01573");
        }
      }

      internal_power() {
        when : "A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01624, 0.01622, 0.01623, 0.01624, 0.01627, 0.01622, 0.01623, \
                 0.01624, 0.01623, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01489, -0.0152, -0.0156, -0.01575, -0.01584, -0.01592, -0.01595, \
                 -0.01598, -0.01601, -0.01602");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B)&(!C))|((!A2)&(!B)&(!C)))" ;
      max_capacitance : 0.1206 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.00311, 0.003179, 0.003317, 0.003433, 0.003493, 0.003543, 0.003571, 0.003585, 0.0036, 0.003607",\
                 "0.003093, 0.003242, 0.003526, 0.003833, 0.00405, 0.004175, 0.004272, 0.004326, 0.004365, 0.004382",\
                 "0.004513, 0.00456, 0.004739, 0.004944, 0.005133, 0.005255, 0.005355, 0.005415, 0.005458, 0.005491",\
                 "0.008483, 0.00837, 0.008043, 0.007705, 0.007381, 0.007114, 0.006928, 0.006754, 0.006632, 0.006524",\
                 "0.01615, 0.01578, 0.01479, 0.01352, 0.0123, 0.01124, 0.01035, 0.009633, 0.009044, 0.008572",\
                 "0.02874, 0.02812, 0.02626, 0.02375, 0.02123, 0.01894, 0.01695, 0.01532, 0.01392, 0.01277",\
                 "0.04684, 0.04592, 0.04329, 0.0394, 0.0352, 0.03126, 0.02783, 0.02481, 0.02224, 0.02008",\
                 "0.07079, 0.06967, 0.06621, 0.061, 0.05501, 0.04912, 0.04383, 0.03914, 0.03499, 0.03146",\
                 "0.1009, 0.09956, 0.09539, 0.08889, 0.08118, 0.07319, 0.06569, 0.05894, 0.05297, 0.04768",\
                 "0.1375, 0.136, 0.1311, 0.1234, 0.114, 0.1039, 0.09409, 0.08498, 0.07682, 0.06951");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.06241, 0.06255, 0.06284, 0.06318, 0.06345, 0.06372, 0.06402, 0.06423, 0.06458, 0.06588",\
                 "0.06119, 0.06139, 0.06195, 0.06259, 0.06319, 0.06362, 0.06395, 0.06423, 0.06471, 0.06616",\
                 "0.06142, 0.06144, 0.0616, 0.06201, 0.06255, 0.06309, 0.06365, 0.06413, 0.06451, 0.06605",\
                 "0.06659, 0.06633, 0.06564, 0.06482, 0.06435, 0.06421, 0.06431, 0.06467, 0.06494, 0.06631",\
                 "0.0768, 0.07629, 0.07479, 0.07283, 0.0708, 0.06926, 0.06824, 0.06764, 0.06734, 0.06858",\
                 "0.09229, 0.09155, 0.08929, 0.08618, 0.08271, 0.07943, 0.07669, 0.07457, 0.07314, 0.07398",\
                 "0.1137, 0.1126, 0.1096, 0.1052, 0.1003, 0.0955, 0.09075, 0.08671, 0.08358, 0.08378",\
                 "0.1415, 0.1401, 0.1362, 0.1306, 0.1241, 0.1176, 0.1113, 0.1053, 0.1, 0.09954",\
                 "0.176, 0.1744, 0.1697, 0.1627, 0.1547, 0.1463, 0.1382, 0.1303, 0.1236, 0.1232",\
                 "0.2177, 0.2159, 0.2105, 0.2022, 0.1924, 0.1822, 0.1721, 0.1624, 0.1547, 0.1582");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.003169, 0.003231, 0.003352, 0.003454, 0.003512, 0.003539, 0.003564, 0.00358, 0.003592, 0.003591",\
                 "0.002936, 0.003086, 0.003445, 0.003786, 0.004019, 0.004164, 0.004258, 0.004313, 0.004352, 0.004387",\
                 "0.003651, 0.003786, 0.004101, 0.004478, 0.004813, 0.005025, 0.00518, 0.005298, 0.005369, 0.005422",\
                 "0.007299, 0.007238, 0.007106, 0.006984, 0.006866, 0.006753, 0.006651, 0.006554, 0.006476, 0.006416",\
                 "0.01475, 0.01446, 0.01366, 0.01265, 0.01167, 0.01081, 0.01008, 0.00946, 0.008941, 0.008502",\
                 "0.02719, 0.02664, 0.02504, 0.02283, 0.02059, 0.01853, 0.01676, 0.01522, 0.01392, 0.01282",\
                 "0.04523, 0.04443, 0.04202, 0.0385, 0.03462, 0.03099, 0.02778, 0.02494, 0.02249, 0.0204",\
                 "0.0693, 0.06824, 0.06506, 0.06022, 0.05465, 0.04909, 0.04404, 0.03955, 0.03562, 0.03215",\
                 "0.09965, 0.0984, 0.09447, 0.08831, 0.08105, 0.07348, 0.06626, 0.05974, 0.054, 0.04886",\
                 "0.1366, 0.1352, 0.1305, 0.1231, 0.1142, 0.1046, 0.09517, 0.08635, 0.07843, 0.07123");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.07487, 0.07491, 0.07498, 0.07514, 0.07529, 0.07553, 0.07579, 0.07611, 0.07655, 0.07801",\
                 "0.07391, 0.07398, 0.07418, 0.07447, 0.07473, 0.07503, 0.07536, 0.07572, 0.07615, 0.07773",\
                 "0.07454, 0.07449, 0.07444, 0.0745, 0.0747, 0.075, 0.0752, 0.07558, 0.07605, 0.07766",\
                 "0.0799, 0.07965, 0.07889, 0.07793, 0.0772, 0.07675, 0.07662, 0.07657, 0.07678, 0.07837",\
                 "0.09045, 0.08995, 0.08848, 0.08634, 0.0842, 0.08232, 0.08114, 0.0802, 0.07987, 0.08099",\
                 "0.1064, 0.1058, 0.1036, 0.1004, 0.09673, 0.09315, 0.09018, 0.08776, 0.08623, 0.08666",\
                 "0.1286, 0.1277, 0.1248, 0.1205, 0.1154, 0.1101, 0.1052, 0.1009, 0.09749, 0.09721",\
                 "0.1572, 0.1561, 0.1526, 0.1472, 0.1405, 0.1336, 0.1267, 0.1203, 0.1149, 0.1143",\
                 "0.1926, 0.1914, 0.1874, 0.1809, 0.1728, 0.164, 0.1553, 0.1467, 0.1394, 0.1393",\
                 "0.2354, 0.234, 0.2295, 0.222, 0.2125, 0.2021, 0.1913, 0.1807, 0.1723, 0.1758");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.02361, 0.02361, 0.02362, 0.02362, 0.02366, 0.02367, 0.02367, 0.02369, 0.0237, 0.0237",\
                 "0.0238, 0.02381, 0.02386, 0.02387, 0.02393, 0.02396, 0.02397, 0.02398, 0.02399, 0.02401",\
                 "0.02409, 0.02408, 0.02406, 0.02409, 0.02411, 0.02414, 0.02416, 0.02419, 0.02419, 0.0242",\
                 "0.02661, 0.02654, 0.02627, 0.02596, 0.02562, 0.02531, 0.02511, 0.02493, 0.02481, 0.02471",\
                 "0.03361, 0.03335, 0.03257, 0.03146, 0.0303, 0.02926, 0.02837, 0.0276, 0.02697, 0.02653",\
                 "0.04614, 0.04569, 0.04425, 0.04208, 0.03962, 0.03729, 0.03522, 0.03349, 0.03203, 0.03076",\
                 "0.06503, 0.06436, 0.06216, 0.05872, 0.05475, 0.05072, 0.04707, 0.04382, 0.04101, 0.03866",\
                 "0.09059, 0.08969, 0.08676, 0.08205, 0.07637, 0.07047, 0.0648, 0.05963, 0.05506, 0.05114",\
                 "0.1231, 0.122, 0.1184, 0.1125, 0.1052, 0.09713, 0.08926, 0.08185, 0.07516, 0.06921",\
                 "0.1628, 0.1616, 0.1574, 0.1503, 0.1413, 0.1312, 0.121, 0.1111, 0.102, 0.09375");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.08764, 0.08768, 0.08784, 0.088, 0.08817, 0.08837, 0.08867, 0.08894, 0.08918, 0.0897",\
                 "0.08684, 0.08697, 0.08723, 0.08759, 0.08789, 0.08817, 0.08854, 0.08878, 0.08909, 0.08988",\
                 "0.08596, 0.08606, 0.08631, 0.08672, 0.08717, 0.08771, 0.08811, 0.08858, 0.08889, 0.08965",\
                 "0.08753, 0.08746, 0.08735, 0.08729, 0.08744, 0.08774, 0.08801, 0.08848, 0.08889, 0.0895",\
                 "0.09511, 0.09478, 0.09375, 0.09257, 0.09149, 0.09081, 0.09039, 0.09023, 0.09017, 0.09083",\
                 "0.1102, 0.1095, 0.1073, 0.1046, 0.1019, 0.09939, 0.09748, 0.09611, 0.09492, 0.09458",\
                 "0.1328, 0.1318, 0.1287, 0.1241, 0.1193, 0.1149, 0.1108, 0.1075, 0.1049, 0.1033",\
                 "0.1627, 0.1615, 0.1574, 0.1513, 0.1443, 0.1375, 0.1315, 0.1258, 0.1211, 0.118",\
                 "0.2004, 0.1988, 0.1939, 0.1862, 0.1773, 0.1681, 0.1597, 0.1516, 0.1445, 0.1401",\
                 "0.2458, 0.2441, 0.2384, 0.2295, 0.2185, 0.2068, 0.1955, 0.1851, 0.176, 0.1713");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.02082, 0.02081, 0.02081, 0.02083, 0.02085, 0.02086, 0.02087, 0.02087, 0.02089, 0.02087",\
                 "0.02084, 0.02084, 0.02083, 0.02085, 0.02088, 0.02091, 0.02092, 0.02093, 0.02095, 0.02094",\
                 "0.02095, 0.02093, 0.02089, 0.02083, 0.02081, 0.02079, 0.0208, 0.0208, 0.0208, 0.0208",\
                 "0.02347, 0.02336, 0.02302, 0.02261, 0.02219, 0.02183, 0.02157, 0.02141, 0.02123, 0.02114",\
                 "0.0306, 0.0303, 0.02931, 0.02803, 0.02671, 0.02558, 0.02462, 0.02387, 0.02326, 0.02279",\
                 "0.04333, 0.04277, 0.041, 0.03854, 0.03588, 0.03337, 0.03125, 0.02945, 0.028, 0.02679",\
                 "0.06228, 0.06152, 0.0589, 0.05506, 0.05067, 0.04646, 0.04262, 0.03934, 0.03657, 0.03424",\
                 "0.08791, 0.08681, 0.08346, 0.07815, 0.07199, 0.06571, 0.0598, 0.05457, 0.04998, 0.04608",\
                 "0.1204, 0.1191, 0.115, 0.1083, 0.1003, 0.09179, 0.08358, 0.07605, 0.06928, 0.06332",\
                 "0.16, 0.1585, 0.1537, 0.1459, 0.1359, 0.1252, 0.1145, 0.1044, 0.09519, 0.08685");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.07933, 0.07937, 0.07949, 0.07965, 0.07981, 0.08005, 0.08025, 0.08053, 0.08085, 0.08221",\
                 "0.07854, 0.07862, 0.07889, 0.07923, 0.07954, 0.07982, 0.08012, 0.0804, 0.08085, 0.08218",\
                 "0.0776, 0.07768, 0.07797, 0.07839, 0.0789, 0.07933, 0.07976, 0.08013, 0.08061, 0.08204",\
                 "0.07898, 0.07893, 0.07881, 0.07879, 0.07897, 0.07923, 0.07963, 0.07988, 0.08042, 0.08206",\
                 "0.08607, 0.08573, 0.08479, 0.08372, 0.08273, 0.08207, 0.08174, 0.08163, 0.08173, 0.08331",\
                 "0.1006, 0.09991, 0.09788, 0.09522, 0.09268, 0.09035, 0.08844, 0.08711, 0.08637, 0.0875",\
                 "0.1229, 0.1219, 0.1187, 0.1143, 0.1096, 0.1054, 0.1015, 0.09819, 0.09573, 0.09634",\
                 "0.1527, 0.1513, 0.1472, 0.1411, 0.1343, 0.1278, 0.1217, 0.1162, 0.1116, 0.1115",\
                 "0.1899, 0.1884, 0.1834, 0.1757, 0.1668, 0.1578, 0.1495, 0.1418, 0.135, 0.1346",\
                 "0.2351, 0.2333, 0.2276, 0.2185, 0.2076, 0.1961, 0.1852, 0.1753, 0.1672, 0.1688");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.02084, 0.02084, 0.02085, 0.02085, 0.02086, 0.02087, 0.02087, 0.02087, 0.02087, 0.02085",\
                 "0.02085, 0.02086, 0.02086, 0.02088, 0.0209, 0.02091, 0.02092, 0.02093, 0.02092, 0.02092",\
                 "0.02094, 0.02091, 0.0209, 0.02086, 0.02084, 0.02081, 0.02082, 0.0208, 0.02079, 0.02078",\
                 "0.02346, 0.02335, 0.02301, 0.0226, 0.02218, 0.02187, 0.0216, 0.0214, 0.02122, 0.02113",\
                 "0.03057, 0.03026, 0.02932, 0.02802, 0.02672, 0.02559, 0.02463, 0.02389, 0.02324, 0.02277",\
                 "0.04325, 0.0427, 0.04098, 0.03852, 0.03586, 0.03337, 0.03124, 0.02946, 0.02801, 0.02678",\
                 "0.06221, 0.06142, 0.05884, 0.05499, 0.05064, 0.04644, 0.04262, 0.03935, 0.03655, 0.03422",\
                 "0.08773, 0.08669, 0.08334, 0.07807, 0.07192, 0.06567, 0.05977, 0.05456, 0.04998, 0.04605",\
                 "0.1202, 0.1189, 0.1148, 0.1082, 0.1002, 0.09173, 0.08353, 0.07599, 0.06924, 0.06328",\
                 "0.1597, 0.1583, 0.1535, 0.1457, 0.1359, 0.1251, 0.1145, 0.1044, 0.09514, 0.08681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.09357, 0.09362, 0.09372, 0.09387, 0.09405, 0.09428, 0.09455, 0.09493, 0.0953, 0.09683",\
                 "0.09291, 0.093, 0.09321, 0.09351, 0.09382, 0.09408, 0.09438, 0.09477, 0.09524, 0.0968",\
                 "0.09198, 0.09206, 0.09232, 0.09276, 0.09317, 0.09359, 0.09405, 0.09454, 0.09507, 0.09666",\
                 "0.09308, 0.09305, 0.09297, 0.09301, 0.09324, 0.09352, 0.09392, 0.09437, 0.0948, 0.09676",\
                 "0.09945, 0.09918, 0.09847, 0.09756, 0.09675, 0.09623, 0.09597, 0.09592, 0.09618, 0.09791",\
                 "0.1131, 0.1125, 0.1109, 0.1087, 0.1063, 0.1042, 0.1025, 0.1014, 0.1006, 0.1021",\
                 "0.1347, 0.1338, 0.131, 0.1271, 0.1229, 0.1189, 0.1152, 0.1123, 0.11, 0.1107",\
                 "0.1637, 0.1626, 0.1589, 0.1534, 0.147, 0.141, 0.1352, 0.1299, 0.1257, 0.126",\
                 "0.2004, 0.199, 0.1946, 0.1875, 0.1793, 0.1707, 0.1628, 0.1552, 0.1489, 0.1491",\
                 "0.2451, 0.2435, 0.2383, 0.2299, 0.2196, 0.2087, 0.198, 0.1883, 0.1805, 0.1829");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.0336, 0.03359, 0.03359, 0.0336, 0.03358, 0.0336, 0.03361, 0.03362, 0.03362, 0.03363",\
                 "0.03269, 0.03267, 0.03267, 0.03268, 0.0327, 0.03271, 0.0327, 0.03271, 0.0327, 0.0327",\
                 "0.03223, 0.03222, 0.03214, 0.03208, 0.03199, 0.03199, 0.03194, 0.03194, 0.03191, 0.03188",\
                 "0.03471, 0.03456, 0.03428, 0.03378, 0.03334, 0.03289, 0.03262, 0.03237, 0.03222, 0.03207",\
                 "0.04232, 0.04203, 0.0411, 0.03971, 0.03831, 0.03701, 0.03596, 0.03504, 0.03436, 0.03384",\
                 "0.05661, 0.05601, 0.05427, 0.05163, 0.0487, 0.04585, 0.04343, 0.04142, 0.03971, 0.03828",\
                 "0.07827, 0.07743, 0.07482, 0.07069, 0.06585, 0.06098, 0.05659, 0.05275, 0.04951, 0.04673",\
                 "0.1081, 0.107, 0.1035, 0.09771, 0.09076, 0.08355, 0.07665, 0.07044, 0.06506, 0.06046",\
                 "0.1463, 0.145, 0.1406, 0.1334, 0.1242, 0.1144, 0.1047, 0.09568, 0.08769, 0.08047",\
                 "0.1933, 0.1917, 0.1865, 0.1779, 0.1667, 0.1543, 0.1416, 0.1294, 0.1183, 0.1083");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.09883, 0.09887, 0.099, 0.09913, 0.09931, 0.09956, 0.09976, 0.1, 0.1003, 0.1008",\
                 "0.09803, 0.09814, 0.09842, 0.09874, 0.09907, 0.09939, 0.09969, 0.09993, 0.1004, 0.101",\
                 "0.09705, 0.09711, 0.09742, 0.09787, 0.09835, 0.09886, 0.09926, 0.09964, 0.1002, 0.1006",\
                 "0.0978, 0.0978, 0.0978, 0.09791, 0.09817, 0.09857, 0.099, 0.09947, 0.09981, 0.1008",\
                 "0.1046, 0.1043, 0.1035, 0.1025, 0.1018, 0.1012, 0.101, 0.101, 0.1011, 0.1014",\
                 "0.1205, 0.1198, 0.1177, 0.115, 0.1124, 0.1102, 0.1084, 0.1071, 0.1061, 0.1059",\
                 "0.1461, 0.145, 0.1417, 0.1368, 0.1317, 0.1272, 0.1233, 0.1198, 0.117, 0.1154",\
                 "0.1812, 0.1797, 0.1752, 0.1684, 0.1607, 0.1532, 0.1468, 0.1408, 0.1356, 0.1322",\
                 "0.2253, 0.2236, 0.2182, 0.2098, 0.1995, 0.1891, 0.1794, 0.1707, 0.1631, 0.1578",\
                 "0.2786, 0.2768, 0.2708, 0.2609, 0.2485, 0.2351, 0.2221, 0.2101, 0.1998, 0.1931");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.03085, 0.03083, 0.03082, 0.0308, 0.03078, 0.03081, 0.03082, 0.03083, 0.03083, 0.03082",\
                 "0.02988, 0.02984, 0.02985, 0.0298, 0.02983, 0.02983, 0.02985, 0.02984, 0.02985, 0.02985",\
                 "0.02931, 0.02928, 0.02922, 0.02907, 0.02904, 0.02897, 0.02895, 0.02893, 0.02891, 0.02889",\
                 "0.03168, 0.03153, 0.03112, 0.03059, 0.03009, 0.02971, 0.02935, 0.02916, 0.02902, 0.0289",\
                 "0.0393, 0.03895, 0.03783, 0.03626, 0.03478, 0.03345, 0.03241, 0.03157, 0.0309, 0.03042",\
                 "0.05366, 0.05297, 0.0509, 0.04791, 0.04475, 0.04185, 0.03938, 0.03741, 0.03579, 0.03447",\
                 "0.0754, 0.07439, 0.07134, 0.06669, 0.06146, 0.05635, 0.05192, 0.04811, 0.04496, 0.04234",\
                 "0.1052, 0.1039, 0.09976, 0.09333, 0.08585, 0.07823, 0.07118, 0.06499, 0.05967, 0.0552",\
                 "0.1433, 0.1418, 0.1367, 0.1285, 0.1186, 0.1082, 0.09825, 0.08914, 0.08115, 0.07422",\
                 "0.19, 0.1882, 0.1823, 0.1725, 0.1603, 0.147, 0.1339, 0.1216, 0.1105, 0.1006");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.09047, 0.09054, 0.09065, 0.09083, 0.09098, 0.09121, 0.09144, 0.09168, 0.09197, 0.09337",\
                 "0.0897, 0.0898, 0.09007, 0.09043, 0.09076, 0.09104, 0.09131, 0.09158, 0.09197, 0.09338",\
                 "0.08871, 0.08881, 0.08907, 0.08953, 0.08998, 0.09048, 0.09091, 0.09129, 0.0918, 0.09324",\
                 "0.0893, 0.08931, 0.08931, 0.08943, 0.08974, 0.09015, 0.09055, 0.09103, 0.09154, 0.09323",\
                 "0.09541, 0.09513, 0.09443, 0.09357, 0.09285, 0.09246, 0.09227, 0.09225, 0.09249, 0.09427",\
                 "0.1104, 0.1096, 0.1076, 0.1051, 0.1027, 0.1007, 0.099, 0.09783, 0.09697, 0.09828",\
                 "0.135, 0.1339, 0.1306, 0.1259, 0.1212, 0.1169, 0.1132, 0.1097, 0.1073, 0.1077",\
                 "0.1693, 0.1678, 0.1634, 0.1566, 0.1491, 0.1421, 0.1357, 0.1301, 0.1253, 0.1245",\
                 "0.2128, 0.2111, 0.2057, 0.1972, 0.187, 0.177, 0.1676, 0.1594, 0.1522, 0.1506",\
                 "0.2656, 0.2637, 0.2576, 0.2475, 0.2351, 0.222, 0.2094, 0.1981, 0.1887, 0.1882");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.03084, 0.03083, 0.03081, 0.03079, 0.03081, 0.03082, 0.03083, 0.03083, 0.03083, 0.03082",\
                 "0.0299, 0.02988, 0.02986, 0.02985, 0.02985, 0.02985, 0.02985, 0.02986, 0.02986, 0.02985",\
                 "0.0293, 0.02928, 0.02921, 0.02911, 0.02905, 0.029, 0.02896, 0.02894, 0.02891, 0.02891",\
                 "0.03167, 0.03151, 0.03113, 0.03059, 0.03011, 0.02971, 0.0294, 0.0292, 0.02902, 0.02889",\
                 "0.03927, 0.03892, 0.0378, 0.03628, 0.03477, 0.03344, 0.03241, 0.03157, 0.03091, 0.03042",\
                 "0.05354, 0.05286, 0.05085, 0.04789, 0.04473, 0.04185, 0.03941, 0.03741, 0.03579, 0.03447",\
                 "0.07524, 0.07428, 0.07124, 0.06662, 0.06143, 0.05634, 0.05189, 0.0481, 0.04495, 0.04232",\
                 "0.105, 0.1037, 0.09962, 0.09325, 0.08576, 0.07818, 0.07114, 0.06493, 0.05964, 0.0552",\
                 "0.1431, 0.1415, 0.1365, 0.1284, 0.1185, 0.1081, 0.09822, 0.08911, 0.08111, 0.07419",\
                 "0.1897, 0.1879, 0.182, 0.1723, 0.1602, 0.147, 0.1339, 0.1216, 0.1104, 0.1005");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1047, 0.1048, 0.1049, 0.105, 0.1052, 0.1055, 0.1057, 0.1061, 0.1066, 0.108",\
                 "0.1041, 0.1041, 0.1044, 0.1047, 0.105, 0.1053, 0.1056, 0.106, 0.1065, 0.108",\
                 "0.1031, 0.1032, 0.1034, 0.1039, 0.1043, 0.1047, 0.1053, 0.1057, 0.1062, 0.1078",\
                 "0.1034, 0.1035, 0.1035, 0.1037, 0.104, 0.1044, 0.1049, 0.1054, 0.1061, 0.1078",\
                 "0.1089, 0.1088, 0.1081, 0.1075, 0.1069, 0.1066, 0.1065, 0.1066, 0.1069, 0.1088",\
                 "0.1228, 0.1223, 0.1206, 0.1186, 0.1165, 0.1145, 0.113, 0.112, 0.1114, 0.1129",\
                 "0.1466, 0.1457, 0.1428, 0.1386, 0.1345, 0.1305, 0.1268, 0.1239, 0.1216, 0.1223",\
                 "0.1802, 0.1788, 0.1748, 0.1687, 0.1618, 0.1552, 0.1492, 0.1438, 0.1393, 0.139",\
                 "0.2231, 0.2215, 0.2165, 0.2087, 0.1992, 0.1897, 0.1807, 0.1727, 0.1657, 0.165",\
                 "0.2754, 0.2737, 0.2679, 0.2586, 0.2469, 0.2343, 0.2222, 0.2111, 0.2022, 0.202");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.109, 0.1203, 0.1594, 0.2341, 0.3499, 0.5124, 0.7257, 0.995, 1.324, 1.715",\
                 "0.1213, 0.1327, 0.1723, 0.2472, 0.3635, 0.5262, 0.74, 1.009, 1.337, 1.729",\
                 "0.1603, 0.1741, 0.2183, 0.2938, 0.4098, 0.5725, 0.7861, 1.055, 1.384, 1.775",\
                 "0.1842, 0.2032, 0.2638, 0.3641, 0.4967, 0.6608, 0.8737, 1.142, 1.471, 1.861",\
                 "0.1783, 0.2032, 0.2819, 0.4099, 0.5781, 0.7803, 1.011, 1.28, 1.607, 1.997",\
                 "0.1356, 0.167, 0.2658, 0.4245, 0.6298, 0.8739, 1.153, 1.462, 1.801, 2.191",\
                 "0.0547, 0.0921, 0.2101, 0.4015, 0.6467, 0.9353, 1.261, 1.622, 2.017, 2.442",\
                 "-0.0681, -0.0245, 0.1137, 0.3358, 0.6236, 0.959, 1.335, 1.747, 2.198, 2.683",\
                 "-0.235, -0.1849, -0.0273, 0.2275, 0.5549, 0.9407, 1.368, 1.836, 2.341, 2.885",\
                 "-0.448, -0.3919, -0.214, 0.0732, 0.4407, 0.874, 1.357, 1.882, 2.446, 3.05");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.2298, 0.2614, 0.3728, 0.5842, 0.9116, 1.37, 1.973, 2.73, 3.655, 4.759",\
                 "0.2367, 0.2687, 0.3816, 0.5951, 0.9241, 1.384, 1.987, 2.745, 3.671, 4.774",\
                 "0.2913, 0.3213, 0.4298, 0.6416, 0.9706, 1.431, 2.034, 2.794, 3.72, 4.824",\
                 "0.4172, 0.4486, 0.5535, 0.754, 1.076, 1.531, 2.133, 2.892, 3.815, 4.919",\
                 "0.583, 0.619, 0.7396, 0.952, 1.264, 1.71, 2.304, 3.055, 3.977, 5.076",\
                 "0.7924, 0.8335, 0.9678, 1.204, 1.54, 1.98, 2.562, 3.304, 4.217, 5.31",\
                 "1.044, 1.092, 1.244, 1.501, 1.868, 2.342, 2.921, 3.651, 4.552, 5.635",\
                 "1.341, 1.394, 1.568, 1.853, 2.247, 2.756, 3.377, 4.108, 4.996, 6.066",\
                 "1.681, 1.743, 1.938, 2.258, 2.684, 3.224, 3.887, 4.663, 5.556, 6.611",\
                 "2.071, 2.138, 2.359, 2.713, 3.179, 3.754, 4.451, 5.275, 6.218, 7.282");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1388, 0.1578, 0.2244, 0.3516, 0.5502, 0.8274, 1.192, 1.652, 2.215, 2.884",\
                 "0.1386, 0.1576, 0.2245, 0.3514, 0.5504, 0.8273, 1.192, 1.652, 2.214, 2.885",\
                 "0.1721, 0.1884, 0.2412, 0.354, 0.5486, 0.8277, 1.193, 1.651, 2.214, 2.884",\
                 "0.2435, 0.2635, 0.3296, 0.4418, 0.5975, 0.838, 1.192, 1.653, 2.215, 2.885",\
                 "0.3399, 0.3645, 0.4414, 0.5714, 0.7526, 0.9772, 1.265, 1.672, 2.214, 2.884",\
                 "0.457, 0.4882, 0.5822, 0.7322, 0.9338, 1.189, 1.493, 1.847, 2.307, 2.912",\
                 "0.5942, 0.6306, 0.7442, 0.9226, 1.151, 1.428, 1.762, 2.152, 2.588, 3.11",\
                 "0.7504, 0.7938, 0.9268, 1.136, 1.399, 1.709, 2.067, 2.49, 2.967, 3.498",\
                 "0.9246, 0.9766, 1.13, 1.371, 1.673, 2.021, 2.412, 2.86, 3.371, 3.945",\
                 "1.111, 1.171, 1.356, 1.629, 1.969, 2.361, 2.796, 3.276, 3.818, 4.426");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.4396, 0.4984, 0.6985, 1.071, 1.644, 2.447, 3.504, 4.824, 6.451, 8.385",\
                 "0.436, 0.4957, 0.6981, 1.073, 1.646, 2.45, 3.499, 4.829, 6.447, 8.368",\
                 "0.4216, 0.4813, 0.6916, 1.07, 1.645, 2.448, 3.504, 4.829, 6.443, 8.381",\
                 "0.4662, 0.5169, 0.6963, 1.059, 1.645, 2.449, 3.502, 4.832, 6.442, 8.372",\
                 "0.5312, 0.5858, 0.776, 1.109, 1.644, 2.443, 3.498, 4.828, 6.451, 8.381",\
                 "0.6272, 0.682, 0.8692, 1.225, 1.738, 2.466, 3.5, 4.826, 6.446, 8.383",\
                 "0.76, 0.8144, 0.9982, 1.356, 1.898, 2.607, 3.556, 4.828, 6.453, 8.368",\
                 "0.9158, 0.9722, 1.167, 1.517, 2.07, 2.818, 3.738, 4.932, 6.468, 8.38",\
                 "1.084, 1.15, 1.362, 1.722, 2.268, 3.035, 4.005, 5.153, 6.608, 8.422",\
                 "1.272, 1.346, 1.578, 1.966, 2.512, 3.278, 4.275, 5.474, 6.872, 8.598");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1226, 0.1338, 0.173, 0.2475, 0.3633, 0.5257, 0.7394, 1.009, 1.337, 1.729",\
                 "0.1329, 0.1445, 0.1841, 0.2596, 0.3755, 0.5383, 0.752, 1.021, 1.35, 1.741",\
                 "0.1564, 0.1693, 0.2122, 0.2884, 0.4049, 0.568, 0.7818, 1.051, 1.38, 1.772",\
                 "0.1695, 0.1859, 0.239, 0.3293, 0.4565, 0.6221, 0.8356, 1.105, 1.433, 1.825",\
                 "0.1523, 0.174, 0.2428, 0.3546, 0.5036, 0.6905, 0.9178, 1.189, 1.517, 1.907",\
                 "0.0956, 0.1227, 0.2096, 0.3489, 0.5292, 0.7447, 0.998, 1.294, 1.634, 2.025",\
                 "-0.0051, 0.0282, 0.1331, 0.3021, 0.5189, 0.7728, 1.061, 1.386, 1.756, 2.172",\
                 "-0.1528, -0.1136, 0.0106, 0.2091, 0.464, 0.7612, 1.093, 1.458, 1.861, 2.311",\
                 "-0.3499, -0.3048, -0.1622, 0.0665, 0.3594, 0.7018, 1.082, 1.495, 1.943, 2.429",\
                 "-0.5981, -0.5478, -0.3878, -0.1285, 0.2039, 0.5913, 1.022, 1.487, 1.987, 2.521");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.2902, 0.3215, 0.4323, 0.6428, 0.9697, 1.428, 2.03, 2.788, 3.714, 4.817",\
                 "0.2983, 0.3303, 0.4416, 0.6532, 0.9809, 1.44, 2.042, 2.8, 3.726, 4.829",\
                 "0.3543, 0.3848, 0.4938, 0.7036, 1.031, 1.489, 2.091, 2.85, 3.776, 4.879",\
                 "0.4871, 0.5169, 0.6186, 0.8205, 1.141, 1.595, 2.194, 2.95, 3.874, 4.976",\
                 "0.6709, 0.7043, 0.8189, 1.022, 1.332, 1.777, 2.368, 3.118, 4.039, 5.135",\
                 "0.9016, 0.9393, 1.065, 1.291, 1.617, 2.051, 2.631, 3.371, 4.282, 5.373",\
                 "1.186, 1.227, 1.365, 1.608, 1.963, 2.424, 2.997, 3.725, 4.622, 5.704",\
                 "1.521, 1.569, 1.722, 1.986, 2.363, 2.858, 3.465, 4.189, 5.073, 6.141",\
                 "1.912, 1.964, 2.136, 2.425, 2.827, 3.349, 3.996, 4.758, 5.642, 6.695",\
                 "2.358, 2.417, 2.608, 2.926, 3.358, 3.909, 4.588, 5.395, 6.322, 7.377");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1387, 0.1577, 0.2244, 0.3512, 0.5504, 0.8277, 1.192, 1.652, 2.214, 2.884",\
                 "0.1385, 0.1575, 0.2244, 0.3517, 0.5503, 0.8275, 1.191, 1.652, 2.215, 2.885",\
                 "0.1613, 0.178, 0.2362, 0.3535, 0.5497, 0.8276, 1.192, 1.652, 2.215, 2.884",\
                 "0.2202, 0.2378, 0.2966, 0.4098, 0.5832, 0.8379, 1.193, 1.652, 2.214, 2.884",\
                 "0.3094, 0.3289, 0.3942, 0.5078, 0.6814, 0.925, 1.245, 1.672, 2.216, 2.883",\
                 "0.4214, 0.444, 0.5192, 0.6462, 0.8234, 1.066, 1.385, 1.784, 2.284, 2.913",\
                 "0.551, 0.5784, 0.6672, 0.8142, 1.01, 1.257, 1.573, 1.972, 2.461, 3.044",\
                 "0.6994, 0.7332, 0.8348, 1.004, 1.224, 1.492, 1.816, 2.212, 2.7, 3.281",\
                 "0.8586, 0.8982, 1.023, 1.214, 1.463, 1.76, 2.108, 2.511, 2.991, 3.571",\
                 "1.028, 1.077, 1.223, 1.447, 1.726, 2.058, 2.432, 2.862, 3.351, 3.922");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.5428, 0.6003, 0.7988, 1.17, 1.743, 2.545, 3.599, 4.924, 6.542, 8.47",\
                 "0.5405, 0.5985, 0.7983, 1.17, 1.743, 2.545, 3.599, 4.923, 6.542, 8.471",\
                 "0.5289, 0.5894, 0.7945, 1.169, 1.743, 2.545, 3.597, 4.923, 6.541, 8.471",\
                 "0.5515, 0.6029, 0.7885, 1.162, 1.742, 2.544, 3.598, 4.924, 6.543, 8.472",\
                 "0.6194, 0.6744, 0.8606, 1.194, 1.738, 2.543, 3.598, 4.925, 6.544, 8.47",\
                 "0.702, 0.7588, 0.9522, 1.308, 1.82, 2.559, 3.596, 4.924, 6.543, 8.472",\
                 "0.8174, 0.8728, 1.065, 1.432, 1.977, 2.686, 3.643, 4.927, 6.542, 8.472",\
                 "0.9578, 1.016, 1.214, 1.578, 2.142, 2.891, 3.815, 5.012, 6.554, 8.471",\
                 "1.118, 1.182, 1.393, 1.761, 2.323, 3.102, 4.071, 5.229, 6.679, 8.501",\
                 "1.296, 1.367, 1.594, 1.979, 2.542, 3.327, 4.335, 5.535, 6.945, 8.672");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1669, 0.1782, 0.2165, 0.2878, 0.3965, 0.5471, 0.7438, 0.9908, 1.292, 1.65",\
                 "0.1818, 0.193, 0.2315, 0.3026, 0.4113, 0.562, 0.7589, 1.006, 1.307, 1.665",\
                 "0.2342, 0.245, 0.283, 0.3538, 0.4626, 0.6132, 0.8099, 1.057, 1.358, 1.716",\
                 "0.3011, 0.3161, 0.3657, 0.4493, 0.5631, 0.7129, 0.909, 1.155, 1.456, 1.814",\
                 "0.3443, 0.3633, 0.427, 0.5352, 0.6822, 0.861, 1.067, 1.313, 1.611, 1.969",\
                 "0.3607, 0.3844, 0.4623, 0.5947, 0.7739, 0.9931, 1.246, 1.527, 1.835, 2.19",\
                 "0.346, 0.3741, 0.4679, 0.6256, 0.8399, 1.098, 1.395, 1.728, 2.091, 2.48",\
                 "0.3006, 0.3342, 0.4418, 0.6255, 0.8736, 1.173, 1.516, 1.898, 2.316, 2.767",\
                 "0.2227, 0.259, 0.3815, 0.5905, 0.8732, 1.214, 1.605, 2.038, 2.509, 3.018",\
                 "0.1106, 0.1519, 0.2868, 0.5189, 0.8384, 1.222, 1.66, 2.145, 2.671, 3.237");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.3212, 0.349, 0.4424, 0.6204, 0.8956, 1.281, 1.788, 2.428, 3.207, 4.136",\
                 "0.3318, 0.359, 0.4538, 0.6326, 0.9085, 1.295, 1.802, 2.441, 3.221, 4.15",\
                 "0.3743, 0.4014, 0.4963, 0.676, 0.9528, 1.34, 1.849, 2.488, 3.268, 4.198",\
                 "0.4535, 0.4834, 0.583, 0.7614, 1.037, 1.424, 1.931, 2.571, 3.35, 4.281",\
                 "0.5703, 0.6034, 0.7121, 0.9059, 1.185, 1.566, 2.07, 2.706, 3.484, 4.412",\
                 "0.7326, 0.7694, 0.8891, 1.097, 1.397, 1.789, 2.286, 2.917, 3.688, 4.611",\
                 "0.9326, 0.9751, 1.112, 1.341, 1.658, 2.074, 2.588, 3.211, 3.975, 4.89",\
                 "1.168, 1.217, 1.372, 1.628, 1.972, 2.41, 2.951, 3.597, 4.356, 5.261",\
                 "1.436, 1.492, 1.667, 1.954, 2.335, 2.801, 3.368, 4.043, 4.829, 5.734",\
                 "1.739, 1.801, 1.998, 2.318, 2.738, 3.245, 3.841, 4.545, 5.366, 6.3");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1996, 0.2182, 0.2809, 0.398, 0.5781, 0.8299, 1.159, 1.574, 2.08, 2.683",\
                 "0.1999, 0.2181, 0.2806, 0.3984, 0.5785, 0.8294, 1.159, 1.575, 2.081, 2.683",\
                 "0.2072, 0.2231, 0.2816, 0.3975, 0.5785, 0.8297, 1.159, 1.575, 2.081, 2.684",\
                 "0.2997, 0.3168, 0.3727, 0.4642, 0.6074, 0.8344, 1.16, 1.574, 2.081, 2.682",\
                 "0.413, 0.4336, 0.5024, 0.618, 0.774, 0.963, 1.221, 1.589, 2.082, 2.683",\
                 "0.546, 0.572, 0.6546, 0.792, 0.9748, 1.202, 1.463, 1.766, 2.171, 2.709",\
                 "0.6994, 0.7308, 0.8314, 0.9914, 1.201, 1.458, 1.759, 2.102, 2.473, 2.921",\
                 "0.8706, 0.9068, 1.025, 1.215, 1.455, 1.745, 2.08, 2.462, 2.89, 3.346",\
                 "1.055, 1.099, 1.237, 1.46, 1.736, 2.063, 2.43, 2.851, 3.319, 3.835",\
                 "1.259, 1.309, 1.467, 1.722, 2.042, 2.409, 2.82, 3.273, 3.782, 4.343");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.4537, 0.4985, 0.6608, 0.9694, 1.448, 2.118, 3, 4.111, 5.458, 7.077",\
                 "0.453, 0.4993, 0.6608, 0.9694, 1.447, 2.117, 3.001, 4.11, 5.459, 7.082",\
                 "0.4558, 0.5017, 0.6614, 0.9694, 1.448, 2.119, 2.998, 4.111, 5.464, 7.08",\
                 "0.5131, 0.5506, 0.69, 0.9747, 1.447, 2.121, 2.999, 4.111, 5.465, 7.078",\
                 "0.61, 0.6492, 0.79, 1.051, 1.48, 2.122, 3.001, 4.11, 5.464, 7.081",\
                 "0.7458, 0.7802, 0.9142, 1.181, 1.595, 2.184, 3.015, 4.112, 5.461, 7.077",\
                 "0.9188, 0.9544, 1.08, 1.337, 1.757, 2.342, 3.113, 4.148, 5.47, 7.08",\
                 "1.115, 1.153, 1.287, 1.54, 1.949, 2.538, 3.31, 4.285, 5.538, 7.095",\
                 "1.329, 1.371, 1.515, 1.782, 2.185, 2.771, 3.55, 4.523, 5.711, 7.189",\
                 "1.56, 1.605, 1.765, 2.056, 2.473, 3.051, 3.822, 4.807, 5.995, 7.412");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1395, 0.1511, 0.1905, 0.263, 0.3727, 0.5239, 0.7211, 0.9684, 1.269, 1.628",\
                 "0.1541, 0.1655, 0.205, 0.2777, 0.3872, 0.5385, 0.7356, 0.9829, 1.284, 1.642",\
                 "0.2068, 0.2185, 0.2571, 0.3285, 0.4379, 0.5889, 0.7861, 1.033, 1.334, 1.693",\
                 "0.2624, 0.2787, 0.3319, 0.4204, 0.5379, 0.6884, 0.8844, 1.131, 1.432, 1.79",\
                 "0.2922, 0.3138, 0.382, 0.4967, 0.6492, 0.8326, 1.042, 1.288, 1.587, 1.945",\
                 "0.2927, 0.3191, 0.4045, 0.5453, 0.7324, 0.9574, 1.215, 1.5, 1.81, 2.166",\
                 "0.2619, 0.2931, 0.3945, 0.5633, 0.7866, 1.053, 1.357, 1.694, 2.061, 2.453",\
                 "0.1977, 0.2338, 0.3512, 0.5474, 0.8065, 1.117, 1.469, 1.856, 2.279, 2.734",\
                 "0.1007, 0.141, 0.2735, 0.4946, 0.7913, 1.145, 1.547, 1.987, 2.465, 2.978",\
                 "-0.0325, 0.0131, 0.1593, 0.4065, 0.7379, 1.135, 1.586, 2.082, 2.617, 3.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.3676, 0.3999, 0.5111, 0.7218, 1.048, 1.506, 2.107, 2.866, 3.791, 4.894",\
                 "0.3772, 0.4094, 0.5216, 0.7334, 1.061, 1.519, 2.121, 2.88, 3.806, 4.909",\
                 "0.4163, 0.4483, 0.5608, 0.7736, 1.102, 1.561, 2.164, 2.923, 3.849, 4.953",\
                 "0.4851, 0.5196, 0.6343, 0.8452, 1.172, 1.63, 2.233, 2.992, 3.918, 5.021",\
                 "0.5902, 0.626, 0.7478, 0.9697, 1.295, 1.747, 2.346, 3.101, 4.024, 5.126",\
                 "0.7473, 0.786, 0.9145, 1.143, 1.483, 1.937, 2.525, 3.274, 4.191, 5.288",\
                 "0.9464, 0.9902, 1.133, 1.376, 1.725, 2.194, 2.787, 3.524, 4.431, 5.52",\
                 "1.181, 1.232, 1.392, 1.661, 2.029, 2.51, 3.12, 3.863, 4.758, 5.834",\
                 "1.45, 1.508, 1.69, 1.987, 2.386, 2.887, 3.512, 4.275, 5.179, 6.242",\
                 "1.756, 1.82, 2.023, 2.353, 2.789, 3.323, 3.968, 4.748, 5.674, 6.75");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1808, 0.1991, 0.2613, 0.3777, 0.5572, 0.8084, 1.137, 1.552, 2.058, 2.661",\
                 "0.1796, 0.1981, 0.2607, 0.3775, 0.5571, 0.8079, 1.137, 1.551, 2.058, 2.659",\
                 "0.1949, 0.2095, 0.2634, 0.3766, 0.557, 0.8082, 1.138, 1.552, 2.057, 2.66",\
                 "0.2894, 0.3066, 0.3628, 0.4554, 0.5922, 0.8144, 1.137, 1.552, 2.058, 2.659",\
                 "0.4046, 0.4262, 0.495, 0.6098, 0.7648, 0.953, 1.206, 1.569, 2.059, 2.66",\
                 "0.5424, 0.5688, 0.6524, 0.7878, 0.9678, 1.193, 1.454, 1.754, 2.154, 2.689",\
                 "0.7026, 0.7334, 0.833, 0.9932, 1.2, 1.454, 1.754, 2.095, 2.464, 2.908",\
                 "0.878, 0.9172, 1.037, 1.224, 1.463, 1.749, 2.078, 2.46, 2.882, 3.341",\
                 "1.076, 1.121, 1.262, 1.479, 1.756, 2.077, 2.439, 2.852, 3.319, 3.83",\
                 "1.297, 1.349, 1.512, 1.761, 2.079, 2.435, 2.839, 3.284, 3.785, 4.341");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.458, 0.5127, 0.7049, 1.074, 1.644, 2.448, 3.503, 4.825, 6.449, 8.381",\
                 "0.4576, 0.5126, 0.7041, 1.075, 1.644, 2.445, 3.502, 4.828, 6.446, 8.371",\
                 "0.4605, 0.5147, 0.7052, 1.072, 1.646, 2.448, 3.498, 4.826, 6.443, 8.382",\
                 "0.5071, 0.5552, 0.7272, 1.077, 1.645, 2.444, 3.499, 4.832, 6.451, 8.368",\
                 "0.5774, 0.6284, 0.8074, 1.135, 1.664, 2.445, 3.501, 4.822, 6.452, 8.371",\
                 "0.6918, 0.736, 0.9028, 1.237, 1.752, 2.494, 3.506, 4.824, 6.452, 8.375",\
                 "0.8504, 0.8958, 1.048, 1.366, 1.882, 2.604, 3.574, 4.847, 6.442, 8.371",\
                 "1.029, 1.076, 1.24, 1.543, 2.039, 2.765, 3.716, 4.939, 6.487, 8.377",\
                 "1.229, 1.279, 1.455, 1.773, 2.248, 2.952, 3.906, 5.109, 6.597, 8.445",\
                 "1.443, 1.5, 1.691, 2.03, 2.515, 3.195, 4.13, 5.338, 6.808, 8.583");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1447, 0.1565, 0.1963, 0.2696, 0.3802, 0.5324, 0.7299, 0.9773, 1.278, 1.637",\
                 "0.1593, 0.1709, 0.2108, 0.284, 0.3947, 0.5469, 0.7445, 0.9918, 1.293, 1.651",\
                 "0.2124, 0.2239, 0.2626, 0.3349, 0.4453, 0.5973, 0.7949, 1.042, 1.343, 1.702",\
                 "0.2728, 0.2887, 0.3411, 0.4288, 0.5456, 0.6968, 0.8936, 1.14, 1.441, 1.799",\
                 "0.3096, 0.3303, 0.3974, 0.5098, 0.6605, 0.8427, 1.051, 1.297, 1.596, 1.953",\
                 "0.3185, 0.3436, 0.426, 0.5639, 0.748, 0.9707, 1.226, 1.509, 1.819, 2.175",\
                 "0.2962, 0.3258, 0.4231, 0.5866, 0.8057, 1.069, 1.37, 1.706, 2.072, 2.463",\
                 "0.2405, 0.2744, 0.3862, 0.5756, 0.8301, 1.137, 1.485, 1.871, 2.292, 2.745",\
                 "0.1512, 0.189, 0.3147, 0.5292, 0.8197, 1.168, 1.566, 2.003, 2.479, 2.991",\
                 "0.0272, 0.0694, 0.2081, 0.4459, 0.7703, 1.163, 1.609, 2.101, 2.633, 3.203");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.4415, 0.4737, 0.5845, 0.7958, 1.122, 1.58, 2.182, 2.941, 3.866, 4.97",\
                 "0.4519, 0.4841, 0.5962, 0.8074, 1.135, 1.593, 2.196, 2.955, 3.88, 4.984",\
                 "0.491, 0.5231, 0.6352, 0.8482, 1.176, 1.636, 2.239, 2.999, 3.925, 5.028",\
                 "0.5639, 0.5967, 0.7085, 0.9193, 1.246, 1.705, 2.308, 3.067, 3.993, 5.096",\
                 "0.6727, 0.7073, 0.8264, 1.044, 1.368, 1.821, 2.42, 3.176, 4.099, 5.202",\
                 "0.8355, 0.8718, 0.9955, 1.221, 1.557, 2.008, 2.6, 3.348, 4.265, 5.361",\
                 "1.046, 1.087, 1.221, 1.456, 1.802, 2.268, 2.86, 3.597, 4.506, 5.593",\
                 "1.294, 1.341, 1.49, 1.747, 2.107, 2.586, 3.194, 3.935, 4.831, 5.909",\
                 "1.578, 1.63, 1.798, 2.081, 2.47, 2.964, 3.588, 4.349, 5.251, 6.315",\
                 "1.899, 1.957, 2.143, 2.456, 2.879, 3.404, 4.045, 4.823, 5.748, 6.821");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.2215, 0.2392, 0.3, 0.4152, 0.594, 0.8442, 1.174, 1.588, 2.094, 2.696",\
                 "0.2206, 0.2383, 0.2994, 0.415, 0.594, 0.8443, 1.174, 1.588, 2.094, 2.697",\
                 "0.2352, 0.2493, 0.3023, 0.4138, 0.5938, 0.8442, 1.174, 1.589, 2.094, 2.696",\
                 "0.3432, 0.3583, 0.408, 0.4935, 0.6294, 0.8511, 1.174, 1.588, 2.094, 2.696",\
                 "0.476, 0.4937, 0.5546, 0.6596, 0.8074, 0.9906, 1.243, 1.607, 2.095, 2.697",\
                 "0.6342, 0.6554, 0.7278, 0.8496, 1.021, 1.239, 1.494, 1.792, 2.191, 2.725",\
                 "0.8156, 0.8422, 0.9276, 1.069, 1.263, 1.508, 1.801, 2.137, 2.502, 2.945",\
                 "1.017, 1.047, 1.148, 1.316, 1.54, 1.811, 2.133, 2.507, 2.926, 3.377",\
                 "1.238, 1.275, 1.394, 1.588, 1.845, 2.15, 2.501, 2.907, 3.366, 3.874",\
                 "1.484, 1.527, 1.662, 1.887, 2.18, 2.518, 2.91, 3.347, 3.84, 4.391");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.5531, 0.6086, 0.8018, 1.171, 1.742, 2.544, 3.598, 4.924, 6.54, 8.471",\
                 "0.5534, 0.6083, 0.8024, 1.17, 1.743, 2.544, 3.598, 4.922, 6.542, 8.473",\
                 "0.5547, 0.609, 0.8026, 1.171, 1.743, 2.544, 3.598, 4.924, 6.542, 8.47",\
                 "0.5859, 0.6357, 0.8147, 1.172, 1.743, 2.545, 3.598, 4.923, 6.542, 8.47",\
                 "0.6598, 0.7118, 0.8898, 1.22, 1.756, 2.545, 3.599, 4.923, 6.542, 8.471",\
                 "0.7588, 0.8076, 0.9828, 1.323, 1.838, 2.58, 3.602, 4.924, 6.542, 8.47",\
                 "0.9106, 0.9552, 1.12, 1.443, 1.965, 2.691, 3.663, 4.937, 6.543, 8.471",\
                 "1.091, 1.14, 1.305, 1.614, 2.118, 2.849, 3.803, 5.026, 6.573, 8.474",\
                 "1.295, 1.343, 1.522, 1.838, 2.325, 3.035, 3.995, 5.199, 6.69, 8.526",\
                 "1.512, 1.569, 1.76, 2.098, 2.586, 3.271, 4.214, 5.424, 6.892, 8.672");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1669, 0.1782, 0.2165, 0.2878, 0.3965, 0.5471, 0.7438, 0.9908, 1.292, 1.65",\
                 "0.1818, 0.193, 0.2315, 0.3026, 0.4113, 0.562, 0.7589, 1.006, 1.307, 1.665",\
                 "0.2342, 0.245, 0.283, 0.3538, 0.4626, 0.6132, 0.8099, 1.057, 1.358, 1.716",\
                 "0.3011, 0.3161, 0.3657, 0.4493, 0.5631, 0.7129, 0.909, 1.155, 1.456, 1.814",\
                 "0.3443, 0.3633, 0.427, 0.5352, 0.6822, 0.861, 1.067, 1.313, 1.611, 1.969",\
                 "0.3607, 0.3844, 0.4623, 0.5947, 0.7739, 0.9931, 1.246, 1.527, 1.835, 2.19",\
                 "0.346, 0.3741, 0.4679, 0.6256, 0.8399, 1.098, 1.395, 1.728, 2.091, 2.48",\
                 "0.3006, 0.3342, 0.4418, 0.6255, 0.8736, 1.173, 1.516, 1.898, 2.316, 2.767",\
                 "0.2227, 0.259, 0.3815, 0.5905, 0.8732, 1.214, 1.605, 2.038, 2.509, 3.018",\
                 "0.1106, 0.1519, 0.2868, 0.5189, 0.8384, 1.222, 1.66, 2.145, 2.671, 3.237");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.4415, 0.4737, 0.5845, 0.7958, 1.122, 1.58, 2.182, 2.941, 3.866, 4.97",\
                 "0.4519, 0.4841, 0.5962, 0.8074, 1.135, 1.593, 2.196, 2.955, 3.88, 4.984",\
                 "0.491, 0.5231, 0.6352, 0.8482, 1.176, 1.636, 2.239, 2.999, 3.925, 5.028",\
                 "0.5639, 0.5967, 0.7085, 0.9193, 1.246, 1.705, 2.308, 3.067, 3.993, 5.096",\
                 "0.6727, 0.7073, 0.8264, 1.044, 1.368, 1.821, 2.42, 3.176, 4.099, 5.202",\
                 "0.8355, 0.8718, 0.9955, 1.221, 1.557, 2.008, 2.6, 3.348, 4.265, 5.361",\
                 "1.046, 1.087, 1.221, 1.456, 1.802, 2.268, 2.86, 3.597, 4.506, 5.593",\
                 "1.294, 1.341, 1.49, 1.747, 2.107, 2.586, 3.194, 3.935, 4.831, 5.909",\
                 "1.578, 1.63, 1.798, 2.081, 2.47, 2.964, 3.588, 4.349, 5.251, 6.315",\
                 "1.899, 1.957, 2.143, 2.456, 2.879, 3.404, 4.045, 4.823, 5.748, 6.821");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.2215, 0.2392, 0.3, 0.4152, 0.594, 0.8442, 1.174, 1.588, 2.094, 2.696",\
                 "0.2206, 0.2383, 0.2994, 0.415, 0.594, 0.8443, 1.174, 1.588, 2.094, 2.697",\
                 "0.2352, 0.2493, 0.3023, 0.4138, 0.5938, 0.8442, 1.174, 1.589, 2.094, 2.696",\
                 "0.3432, 0.3583, 0.408, 0.4935, 0.6294, 0.8511, 1.174, 1.588, 2.094, 2.696",\
                 "0.476, 0.4937, 0.5546, 0.6596, 0.8074, 0.9906, 1.243, 1.607, 2.095, 2.697",\
                 "0.6342, 0.6554, 0.7278, 0.8496, 1.021, 1.239, 1.494, 1.792, 2.191, 2.725",\
                 "0.8156, 0.8422, 0.9276, 1.069, 1.263, 1.508, 1.801, 2.137, 2.502, 2.945",\
                 "1.017, 1.047, 1.148, 1.316, 1.54, 1.811, 2.133, 2.507, 2.926, 3.377",\
                 "1.238, 1.275, 1.394, 1.588, 1.845, 2.15, 2.501, 2.907, 3.366, 3.874",\
                 "1.484, 1.527, 1.662, 1.887, 2.18, 2.518, 2.91, 3.347, 3.84, 4.391");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.5531, 0.6086, 0.8018, 1.171, 1.742, 2.544, 3.598, 4.924, 6.54, 8.471",\
                 "0.5534, 0.6083, 0.8024, 1.17, 1.743, 2.544, 3.598, 4.922, 6.542, 8.473",\
                 "0.5547, 0.609, 0.8026, 1.171, 1.743, 2.544, 3.598, 4.924, 6.542, 8.47",\
                 "0.5859, 0.6357, 0.8147, 1.172, 1.743, 2.545, 3.598, 4.923, 6.542, 8.47",\
                 "0.6598, 0.7118, 0.8898, 1.22, 1.756, 2.545, 3.599, 4.923, 6.542, 8.471",\
                 "0.7588, 0.8076, 0.9828, 1.323, 1.838, 2.58, 3.602, 4.924, 6.542, 8.47",\
                 "0.9106, 0.9552, 1.12, 1.443, 1.965, 2.691, 3.663, 4.937, 6.543, 8.471",\
                 "1.091, 1.14, 1.305, 1.614, 2.118, 2.849, 3.803, 5.026, 6.573, 8.474",\
                 "1.295, 1.343, 1.522, 1.838, 2.325, 3.035, 3.995, 5.199, 6.69, 8.526",\
                 "1.512, 1.569, 1.76, 2.098, 2.586, 3.271, 4.214, 5.424, 6.892, 8.672");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1836, 0.1959, 0.2368, 0.3107, 0.4228, 0.5762, 0.7751, 1.024, 1.326, 1.685",\
                 "0.1959, 0.2078, 0.249, 0.3231, 0.4351, 0.5885, 0.7874, 1.036, 1.338, 1.697",\
                 "0.2481, 0.2598, 0.2992, 0.3731, 0.4844, 0.6375, 0.8364, 1.085, 1.387, 1.746",\
                 "0.3273, 0.3421, 0.3904, 0.4727, 0.5853, 0.737, 0.9349, 1.183, 1.485, 1.843",\
                 "0.3854, 0.4049, 0.4662, 0.5708, 0.7141, 0.89, 1.094, 1.34, 1.64, 1.998",\
                 "0.4242, 0.446, 0.521, 0.6478, 0.8204, 1.034, 1.282, 1.559, 1.865, 2.221",\
                 "0.4378, 0.4637, 0.5518, 0.7017, 0.9051, 1.154, 1.444, 1.77, 2.128, 2.512",\
                 "0.4289, 0.4592, 0.5598, 0.7316, 0.9649, 1.251, 1.582, 1.954, 2.365, 2.809",\
                 "0.3968, 0.4308, 0.5431, 0.7365, 0.9993, 1.324, 1.697, 2.115, 2.574, 3.073",\
                 "0.3414, 0.3796, 0.5013, 0.7167, 1.01, 1.368, 1.785, 2.25, 2.759, 3.311");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.3561, 0.3833, 0.4773, 0.6549, 0.9303, 1.316, 1.824, 2.462, 3.242, 4.171",\
                 "0.3686, 0.3959, 0.491, 0.6693, 0.9457, 1.332, 1.84, 2.478, 3.258, 4.187",\
                 "0.404, 0.4321, 0.527, 0.7062, 0.9832, 1.371, 1.879, 2.519, 3.299, 4.228",\
                 "0.4564, 0.4855, 0.5841, 0.7629, 1.039, 1.427, 1.935, 2.575, 3.354, 4.285",\
                 "0.5302, 0.5611, 0.6657, 0.8552, 1.135, 1.517, 2.022, 2.659, 3.437, 4.365",\
                 "0.6368, 0.6715, 0.7855, 0.9832, 1.274, 1.665, 2.164, 2.794, 3.567, 4.491",\
                 "0.7713, 0.8107, 0.9385, 1.155, 1.458, 1.859, 2.371, 2.996, 3.759, 4.673",\
                 "0.9317, 0.9761, 1.12, 1.359, 1.687, 2.102, 2.624, 3.264, 4.026, 4.929",\
                 "1.115, 1.164, 1.324, 1.59, 1.947, 2.391, 2.928, 3.581, 4.359, 5.265",\
                 "1.32, 1.375, 1.552, 1.845, 2.236, 2.714, 3.282, 3.948, 4.74, 5.665");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.2335, 0.2524, 0.3169, 0.4362, 0.6184, 0.8709, 1.201, 1.616, 2.124, 2.726",\
                 "0.2324, 0.2518, 0.3168, 0.436, 0.6176, 0.8705, 1.201, 1.616, 2.123, 2.726",\
                 "0.2324, 0.2496, 0.3127, 0.434, 0.618, 0.8699, 1.201, 1.616, 2.122, 2.726",\
                 "0.3266, 0.3436, 0.3978, 0.489, 0.6381, 0.8725, 1.201, 1.616, 2.123, 2.726",\
                 "0.4474, 0.468, 0.5352, 0.6496, 0.8016, 0.9896, 1.253, 1.628, 2.124, 2.725",\
                 "0.5938, 0.6196, 0.6968, 0.8288, 1.007, 1.23, 1.488, 1.792, 2.204, 2.747",\
                 "0.763, 0.7936, 0.8866, 1.037, 1.24, 1.49, 1.788, 2.128, 2.497, 2.95",\
                 "0.9574, 0.9912, 1.101, 1.276, 1.503, 1.781, 2.109, 2.489, 2.912, 3.367",\
                 "1.173, 1.211, 1.341, 1.542, 1.8, 2.106, 2.462, 2.874, 3.345, 3.856",\
                 "1.416, 1.459, 1.606, 1.839, 2.128, 2.468, 2.86, 3.298, 3.798, 4.358");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.4536, 0.4997, 0.6606, 0.9679, 1.448, 2.119, 3, 4.11, 5.459, 7.082",\
                 "0.4536, 0.4998, 0.6607, 0.9682, 1.447, 2.119, 3.001, 4.109, 5.467, 7.082",\
                 "0.4564, 0.501, 0.6605, 0.9679, 1.447, 2.119, 2.997, 4.109, 5.466, 7.081",\
                 "0.4985, 0.5382, 0.6835, 0.9745, 1.448, 2.117, 2.999, 4.111, 5.458, 7.078",\
                 "0.5786, 0.619, 0.7628, 1.038, 1.476, 2.122, 3.001, 4.111, 5.459, 7.072",\
                 "0.7202, 0.755, 0.8826, 1.147, 1.574, 2.182, 3.019, 4.113, 5.46, 7.079",\
                 "0.9062, 0.9394, 1.065, 1.307, 1.714, 2.314, 3.112, 4.156, 5.473, 7.08",\
                 "1.108, 1.145, 1.277, 1.527, 1.91, 2.486, 3.277, 4.281, 5.547, 7.103",\
                 "1.324, 1.365, 1.507, 1.774, 2.172, 2.723, 3.483, 4.48, 5.706, 7.215",\
                 "1.56, 1.601, 1.754, 2.044, 2.465, 3.021, 3.75, 4.723, 5.942, 7.405");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.146, 0.1589, 0.2018, 0.2791, 0.3933, 0.5484, 0.7488, 0.9984, 1.301, 1.661",\
                 "0.1592, 0.1717, 0.2145, 0.2914, 0.4056, 0.5607, 0.7611, 1.011, 1.314, 1.673",\
                 "0.2147, 0.2267, 0.2667, 0.3414, 0.4548, 0.6094, 0.8096, 1.059, 1.362, 1.722",\
                 "0.2815, 0.2979, 0.3509, 0.439, 0.556, 0.7086, 0.9077, 1.157, 1.459, 1.819",\
                 "0.3257, 0.3469, 0.4142, 0.5268, 0.6773, 0.8583, 1.066, 1.313, 1.614, 1.973",\
                 "0.3457, 0.3714, 0.4541, 0.5911, 0.7735, 0.994, 1.248, 1.529, 1.838, 2.194",\
                 "0.3402, 0.3701, 0.4675, 0.6292, 0.8448, 1.103, 1.401, 1.734, 2.095, 2.484",\
                 "0.3087, 0.3433, 0.4542, 0.6407, 0.8888, 1.188, 1.53, 1.909, 2.325, 2.774",\
                 "0.2522, 0.2908, 0.4144, 0.6234, 0.9043, 1.243, 1.63, 2.058, 2.525, 3.03",\
                 "0.1713, 0.2129, 0.3479, 0.5791, 0.8926, 1.271, 1.701, 2.179, 2.699, 3.258");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.4023, 0.4342, 0.5454, 0.7562, 1.082, 1.54, 2.142, 2.9, 3.826, 4.928",\
                 "0.4137, 0.4461, 0.5587, 0.7705, 1.098, 1.556, 2.158, 2.917, 3.842, 4.945",\
                 "0.4484, 0.4806, 0.5934, 0.8058, 1.134, 1.594, 2.197, 2.956, 3.882, 4.986",\
                 "0.4996, 0.5326, 0.6463, 0.8575, 1.186, 1.644, 2.247, 3.007, 3.933, 5.037",\
                 "0.5718, 0.6068, 0.7245, 0.9425, 1.268, 1.723, 2.322, 3.077, 4.002, 5.105",\
                 "0.6804, 0.7179, 0.8433, 1.065, 1.399, 1.853, 2.443, 3.191, 4.109, 5.205",\
                 "0.8161, 0.8593, 0.9988, 1.237, 1.576, 2.037, 2.63, 3.366, 4.272, 5.36",\
                 "0.9802, 1.028, 1.186, 1.447, 1.808, 2.274, 2.872, 3.615, 4.508, 5.581",\
                 "1.169, 1.223, 1.397, 1.687, 2.077, 2.567, 3.172, 3.92, 4.82, 5.882",\
                 "1.38, 1.441, 1.634, 1.953, 2.378, 2.903, 3.53, 4.283, 5.191, 6.261");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.211, 0.2303, 0.2964, 0.4161, 0.5977, 0.8494, 1.179, 1.594, 2.101, 2.703",\
                 "0.2078, 0.2277, 0.2942, 0.4154, 0.5973, 0.8493, 1.18, 1.595, 2.099, 2.703",\
                 "0.2168, 0.2323, 0.2911, 0.4102, 0.5951, 0.8487, 1.179, 1.594, 2.1, 2.704",\
                 "0.3207, 0.3376, 0.3917, 0.4807, 0.6221, 0.8512, 1.179, 1.595, 2.101, 2.704",\
                 "0.4479, 0.469, 0.534, 0.644, 0.7948, 0.98, 1.238, 1.608, 2.101, 2.703",\
                 "0.6032, 0.6286, 0.7062, 0.8336, 1.008, 1.225, 1.481, 1.783, 2.188, 2.727",\
                 "0.7872, 0.8164, 0.907, 1.055, 1.249, 1.492, 1.784, 2.121, 2.488, 2.938",\
                 "0.9968, 1.034, 1.142, 1.31, 1.527, 1.796, 2.114, 2.489, 2.908, 3.365",\
                 "1.238, 1.283, 1.407, 1.599, 1.845, 2.138, 2.484, 2.884, 3.347, 3.854",\
                 "1.507, 1.554, 1.699, 1.927, 2.205, 2.526, 2.898, 3.326, 3.813, 4.367");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.458, 0.5127, 0.7048, 1.072, 1.644, 2.448, 3.498, 4.826, 6.444, 8.363",\
                 "0.4586, 0.5128, 0.7045, 1.072, 1.646, 2.447, 3.498, 4.826, 6.442, 8.379",\
                 "0.4604, 0.5144, 0.705, 1.075, 1.644, 2.447, 3.501, 4.826, 6.444, 8.385",\
                 "0.4923, 0.5419, 0.7191, 1.075, 1.644, 2.446, 3.5, 4.821, 6.445, 8.368",\
                 "0.5538, 0.6042, 0.7832, 1.121, 1.66, 2.445, 3.498, 4.831, 6.446, 8.373",\
                 "0.6776, 0.7218, 0.882, 1.209, 1.736, 2.485, 3.503, 4.823, 6.45, 8.367",\
                 "0.8566, 0.9028, 1.058, 1.353, 1.855, 2.585, 3.57, 4.853, 6.454, 8.37",\
                 "1.058, 1.108, 1.271, 1.567, 2.03, 2.733, 3.696, 4.934, 6.487, 8.374",\
                 "1.278, 1.327, 1.505, 1.826, 2.283, 2.946, 3.875, 5.088, 6.598, 8.444",\
                 "1.511, 1.568, 1.76, 2.104, 2.592, 3.236, 4.118, 5.301, 6.781, 8.584");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1527, 0.1654, 0.2086, 0.2865, 0.4016, 0.5574, 0.758, 1.007, 1.31, 1.67",\
                 "0.1656, 0.1783, 0.2213, 0.2989, 0.4139, 0.5698, 0.7702, 1.02, 1.323, 1.682",\
                 "0.2211, 0.2327, 0.2731, 0.3486, 0.4629, 0.6185, 0.8189, 1.068, 1.371, 1.731",\
                 "0.2932, 0.309, 0.3609, 0.448, 0.5643, 0.7175, 0.9169, 1.166, 1.468, 1.828",\
                 "0.3449, 0.365, 0.4303, 0.5406, 0.6891, 0.8688, 1.075, 1.322, 1.623, 1.982",\
                 "0.3739, 0.3977, 0.4767, 0.6098, 0.7891, 1.007, 1.259, 1.539, 1.847, 2.203",\
                 "0.3771, 0.405, 0.4967, 0.6533, 0.8645, 1.12, 1.415, 1.746, 2.107, 2.494",\
                 "0.3543, 0.3859, 0.4908, 0.6698, 0.9126, 1.208, 1.546, 1.923, 2.338, 2.785",\
                 "0.3061, 0.3411, 0.4577, 0.659, 0.9333, 1.267, 1.65, 2.075, 2.54, 3.044",\
                 "0.2339, 0.2721, 0.3992, 0.6202, 0.9249, 1.296, 1.723, 2.198, 2.715, 3.272");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.476, 0.5082, 0.6193, 0.8303, 1.156, 1.615, 2.217, 2.975, 3.901, 5.004",\
                 "0.4886, 0.5211, 0.6327, 0.8448, 1.172, 1.631, 2.233, 2.992, 3.917, 5.021",\
                 "0.5232, 0.5557, 0.668, 0.8802, 1.209, 1.668, 2.271, 3.031, 3.957, 5.061",\
                 "0.5762, 0.6086, 0.7206, 0.9318, 1.26, 1.719, 2.322, 3.082, 4.009, 5.112",\
                 "0.6511, 0.6853, 0.8017, 1.017, 1.342, 1.796, 2.396, 3.152, 4.077, 5.181",\
                 "0.7661, 0.8015, 0.9219, 1.141, 1.473, 1.925, 2.516, 3.265, 4.183, 5.28",\
                 "0.9134, 0.9536, 1.085, 1.315, 1.651, 2.111, 2.701, 3.439, 4.345, 5.434",\
                 "1.089, 1.134, 1.28, 1.531, 1.884, 2.348, 2.946, 3.686, 4.58, 5.655",\
                 "1.29, 1.339, 1.503, 1.78, 2.16, 2.642, 3.245, 3.993, 4.892, 5.954",\
                 "1.515, 1.57, 1.749, 2.053, 2.468, 2.982, 3.604, 4.356, 5.264, 6.333");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.2572, 0.2755, 0.3386, 0.4558, 0.636, 0.8867, 1.217, 1.632, 2.137, 2.74",\
                 "0.254, 0.2726, 0.3368, 0.455, 0.6353, 0.887, 1.217, 1.631, 2.137, 2.741",\
                 "0.2612, 0.276, 0.3327, 0.4498, 0.6336, 0.8865, 1.216, 1.631, 2.137, 2.739",\
                 "0.376, 0.3903, 0.4376, 0.5204, 0.6605, 0.8881, 1.215, 1.632, 2.137, 2.74",\
                 "0.5213, 0.5384, 0.5942, 0.6944, 0.8372, 1.018, 1.275, 1.644, 2.138, 2.739",\
                 "0.6962, 0.715, 0.7808, 0.8962, 1.061, 1.27, 1.52, 1.819, 2.226, 2.764",\
                 "0.9012, 0.9236, 0.9992, 1.131, 1.311, 1.545, 1.831, 2.161, 2.526, 2.975",\
                 "1.133, 1.162, 1.253, 1.401, 1.603, 1.858, 2.169, 2.537, 2.95, 3.402",\
                 "1.399, 1.431, 1.539, 1.705, 1.932, 2.212, 2.546, 2.939, 3.395, 3.897",\
                 "1.696, 1.736, 1.858, 2.049, 2.305, 2.61, 2.968, 3.384, 3.868, 4.413");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.5534, 0.6085, 0.8024, 1.171, 1.743, 2.544, 3.598, 4.924, 6.544, 8.468",\
                 "0.5534, 0.6088, 0.8019, 1.171, 1.743, 2.544, 3.597, 4.923, 6.541, 8.469",\
                 "0.5541, 0.6091, 0.8021, 1.17, 1.743, 2.544, 3.597, 4.924, 6.541, 8.466",\
                 "0.575, 0.626, 0.8093, 1.172, 1.743, 2.544, 3.597, 4.924, 6.543, 8.469",\
                 "0.6358, 0.688, 0.8688, 1.209, 1.754, 2.545, 3.599, 4.924, 6.542, 8.473",\
                 "0.7416, 0.7884, 0.9594, 1.296, 1.823, 2.578, 3.603, 4.924, 6.542, 8.47",\
                 "0.917, 0.9616, 1.118, 1.427, 1.939, 2.675, 3.662, 4.942, 6.543, 8.471",\
                 "1.118, 1.168, 1.333, 1.632, 2.108, 2.82, 3.786, 5.027, 6.581, 8.476",\
                 "1.339, 1.393, 1.572, 1.888, 2.353, 3.023, 3.962, 5.178, 6.692, 8.538",\
                 "1.576, 1.635, 1.83, 2.173, 2.658, 3.307, 4.198, 5.39, 6.874, 8.678");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.1836, 0.1959, 0.2368, 0.3107, 0.4228, 0.5762, 0.7751, 1.024, 1.326, 1.685",\
                 "0.1959, 0.2078, 0.249, 0.3231, 0.4351, 0.5885, 0.7874, 1.036, 1.338, 1.697",\
                 "0.2481, 0.2598, 0.2992, 0.3731, 0.4844, 0.6375, 0.8364, 1.085, 1.387, 1.746",\
                 "0.3273, 0.3421, 0.3904, 0.4727, 0.5853, 0.737, 0.9349, 1.183, 1.485, 1.843",\
                 "0.3854, 0.4049, 0.4662, 0.5708, 0.7141, 0.89, 1.094, 1.34, 1.64, 1.998",\
                 "0.4242, 0.446, 0.521, 0.6478, 0.8204, 1.034, 1.282, 1.559, 1.865, 2.221",\
                 "0.4378, 0.4637, 0.5518, 0.7017, 0.9051, 1.154, 1.444, 1.77, 2.128, 2.512",\
                 "0.4289, 0.4592, 0.5598, 0.7316, 0.9649, 1.251, 1.582, 1.954, 2.365, 2.809",\
                 "0.3968, 0.4308, 0.5431, 0.7365, 0.9993, 1.324, 1.697, 2.115, 2.574, 3.073",\
                 "0.3414, 0.3796, 0.5013, 0.7167, 1.01, 1.368, 1.785, 2.25, 2.759, 3.311");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.476, 0.5082, 0.6193, 0.8303, 1.156, 1.615, 2.217, 2.975, 3.901, 5.004",\
                 "0.4886, 0.5211, 0.6327, 0.8448, 1.172, 1.631, 2.233, 2.992, 3.917, 5.021",\
                 "0.5232, 0.5557, 0.668, 0.8802, 1.209, 1.668, 2.271, 3.031, 3.957, 5.061",\
                 "0.5762, 0.6086, 0.7206, 0.9318, 1.26, 1.719, 2.322, 3.082, 4.009, 5.112",\
                 "0.6511, 0.6853, 0.8017, 1.017, 1.342, 1.796, 2.396, 3.152, 4.077, 5.181",\
                 "0.7661, 0.8015, 0.9219, 1.141, 1.473, 1.925, 2.516, 3.265, 4.183, 5.28",\
                 "0.9134, 0.9536, 1.085, 1.315, 1.651, 2.111, 2.701, 3.439, 4.345, 5.434",\
                 "1.089, 1.134, 1.28, 1.531, 1.884, 2.348, 2.946, 3.686, 4.58, 5.655",\
                 "1.29, 1.339, 1.503, 1.78, 2.16, 2.642, 3.245, 3.993, 4.892, 5.954",\
                 "1.515, 1.57, 1.749, 2.053, 2.468, 2.982, 3.604, 4.356, 5.264, 6.333");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.2572, 0.2755, 0.3386, 0.4558, 0.636, 0.8867, 1.217, 1.632, 2.137, 2.74",\
                 "0.254, 0.2726, 0.3368, 0.455, 0.6353, 0.887, 1.217, 1.631, 2.137, 2.741",\
                 "0.2612, 0.276, 0.3327, 0.4498, 0.6336, 0.8865, 1.216, 1.631, 2.137, 2.739",\
                 "0.376, 0.3903, 0.4376, 0.5204, 0.6605, 0.8881, 1.215, 1.632, 2.137, 2.74",\
                 "0.5213, 0.5384, 0.5942, 0.6944, 0.8372, 1.018, 1.275, 1.644, 2.138, 2.739",\
                 "0.6962, 0.715, 0.7808, 0.8962, 1.061, 1.27, 1.52, 1.819, 2.226, 2.764",\
                 "0.9012, 0.9236, 0.9992, 1.131, 1.311, 1.545, 1.831, 2.161, 2.526, 2.975",\
                 "1.133, 1.162, 1.253, 1.401, 1.603, 1.858, 2.169, 2.537, 2.95, 3.402",\
                 "1.399, 1.431, 1.539, 1.705, 1.932, 2.212, 2.546, 2.939, 3.395, 3.897",\
                 "1.696, 1.736, 1.858, 2.049, 2.305, 2.61, 2.968, 3.384, 3.868, 4.413");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001826, 0.004723, 0.01026, 0.01888, 0.03098, 0.04689, 0.06695, 0.09143, 0.1206");
          values("0.5534, 0.6085, 0.8024, 1.171, 1.743, 2.544, 3.598, 4.924, 6.544, 8.468",\
                 "0.5534, 0.6088, 0.8019, 1.171, 1.743, 2.544, 3.597, 4.923, 6.541, 8.469",\
                 "0.5541, 0.6091, 0.8021, 1.17, 1.743, 2.544, 3.597, 4.924, 6.541, 8.466",\
                 "0.575, 0.626, 0.8093, 1.172, 1.743, 2.544, 3.597, 4.924, 6.543, 8.469",\
                 "0.6358, 0.688, 0.8688, 1.209, 1.754, 2.545, 3.599, 4.924, 6.542, 8.473",\
                 "0.7416, 0.7884, 0.9594, 1.296, 1.823, 2.578, 3.603, 4.924, 6.542, 8.47",\
                 "0.917, 0.9616, 1.118, 1.427, 1.939, 2.675, 3.662, 4.942, 6.543, 8.471",\
                 "1.118, 1.168, 1.333, 1.632, 2.108, 2.82, 3.786, 5.027, 6.581, 8.476",\
                 "1.339, 1.393, 1.572, 1.888, 2.353, 3.023, 3.962, 5.178, 6.692, 8.538",\
                 "1.576, 1.635, 1.83, 2.173, 2.658, 3.307, 4.198, 5.39, 6.874, 8.678");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi211_2) {
    area : 37.318400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&!C" ;
      value : "8.82948e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&C" ;
      value : "0.0001385274" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&!C" ;
      value : "0.0001100682" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&C" ;
      value : "0.0001100682" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&!C" ;
      value : "8.84532e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&C" ;
      value : "0.0001400883" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&!C" ;
      value : "0.0001117347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&C" ;
      value : "0.0001117347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&!C" ;
      value : "0.0001209516" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&C" ;
      value : "0.0001400883" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&!C" ;
      value : "0.0001117347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&C" ;
      value : "0.0001117347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&!C" ;
      value : "6.78315e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&C" ;
      value : "6.79239e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&!C" ;
      value : "6.79239e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&C" ;
      value : "6.79239e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001400883" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.00887 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03456, 0.03456, 0.03458, 0.03454, 0.03446, 0.03444, 0.03438, \
                 0.03434, 0.03432, 0.0343");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02401, -0.02401, -0.02401, -0.02395, -0.02391, -0.02391, -0.02392, \
                 -0.02394, -0.02397, -0.024");
        }
      }

      internal_power() {
        when : "!A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008783, 0.008757, 0.008787, 0.008793, 0.0088, 0.00884, 0.008832, \
                 0.008841, 0.008838, 0.008835");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008804, -0.008828, -0.008833, -0.008821, -0.008838, -0.008866, \
                 -0.008866, -0.00887, -0.008883, -0.008891");
        }
      }

      internal_power() {
        when : "!A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008801, 0.008773, 0.008806, 0.008806, 0.008823, 0.008857, 0.008853, \
                 0.008853, 0.008862, 0.008856");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008831, -0.008855, -0.008874, -0.008849, -0.008865, -0.008887, \
                 -0.008892, -0.0089, -0.008912, -0.008927");
        }
      }

      internal_power() {
        when : "!A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008797, 0.008773, 0.008805, 0.008812, 0.008816, 0.00886, 0.008858, \
                 0.008851, 0.008858, 0.008861");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008832, -0.008826, -0.008857, -0.008856, -0.008863, -0.008897, \
                 -0.008891, -0.008906, -0.008909, -0.008918");
        }
      }

      internal_power() {
        when : "A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05432, 0.05426, 0.05419, 0.0541, 0.05405, 0.05403, 0.05396, \
                 0.05388, 0.05379, 0.05362");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008871, -0.008866, -0.008881, -0.00889, -0.008884, -0.008901, \
                 -0.008908, -0.008903, -0.008902, -0.008896");
        }
      }

      internal_power() {
        when : "A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03373, 0.03369, 0.03365, 0.03361, 0.03356, 0.03357, 0.03354, \
                 0.03349, 0.03343, 0.03332");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008867, -0.008874, -0.008889, -0.008894, -0.008902, -0.008913, \
                 -0.008918, -0.008921, -0.008926, -0.008924");
        }
      }

      internal_power() {
        when : "A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03373, 0.03369, 0.03363, 0.03359, 0.03357, 0.03357, 0.03354, \
                 0.03349, 0.03344, 0.03335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008874, -0.008874, -0.008887, -0.008905, -0.008891, -0.008911, \
                 -0.008915, -0.008919, -0.008919, -0.008925");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009321 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03372, 0.03153, 0.03079, 0.03066, 0.03059, 0.03056, 0.03052, \
                 0.03049, 0.03047, 0.03045");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03075, -0.03072, -0.03073, -0.03067, -0.03057, -0.03056, -0.0305, \
                 -0.03046, -0.03045, -0.03043");
        }
      }

      internal_power() {
        when : "!A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008788, 0.008768, 0.0088, 0.008804, 0.008797, 0.00884, 0.008841, \
                 0.008842, 0.008843, 0.008844");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008816, -0.008806, -0.008821, -0.008832, -0.008834, -0.008862, \
                 -0.008865, -0.008872, -0.008882, -0.008888");
        }
      }

      internal_power() {
        when : "!A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008809, 0.008791, 0.008815, 0.008826, 0.008816, 0.008855, 0.00886, \
                 0.008858, 0.008861, 0.008859");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008844, -0.008833, -0.008848, -0.00886, -0.008864, -0.00889, \
                 -0.008896, -0.008902, -0.008913, -0.00892");
        }
      }

      internal_power() {
        when : "!A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008805, 0.008786, 0.00882, 0.008835, 0.008816, 0.008858, 0.008857, \
                 0.008859, 0.008858, 0.008857");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008845, -0.008834, -0.008849, -0.008861, -0.008865, -0.0089, \
                 -0.008898, -0.008904, -0.008913, -0.008918");
        }
      }

      internal_power() {
        when : "A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05431, 0.05428, 0.05415, 0.05408, 0.05404, 0.05402, 0.05397, \
                 0.05391, 0.05378, 0.05364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008873, -0.008858, -0.008882, -0.008888, -0.008882, -0.008903, \
                 -0.008911, -0.008898, -0.008896, -0.008896");
        }
      }

      internal_power() {
        when : "A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03373, 0.03369, 0.03364, 0.03359, 0.03356, 0.03357, 0.03353, \
                 0.03349, 0.03344, 0.03333");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00888, -0.008866, -0.00889, -0.008898, -0.008893, -0.008917, \
                 -0.008921, -0.008922, -0.008922, -0.008925");
        }
      }

      internal_power() {
        when : "A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03373, 0.03369, 0.03365, 0.03358, 0.03357, 0.03359, 0.03354, \
                 0.03349, 0.03343, 0.03334");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00888, -0.008866, -0.00889, -0.008901, -0.008889, -0.008926, \
                 -0.008925, -0.008921, -0.008919, -0.008928");
        }
      }
    }

    pin(B) {
      capacitance : 0.008254 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02028, 0.02026, 0.02024, 0.02024, 0.02023, 0.02026, 0.02019, \
                 0.02012, 0.02004, 0.01992");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0118, -0.01178, -0.01181, -0.01183, -0.01182, -0.01186, -0.01187, \
                 -0.01189, -0.0119, -0.01193");
        }
      }

      internal_power() {
        when : "!A1&A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02011, 0.02009, 0.02007, 0.02006, 0.02005, 0.02006, 0.02, 0.01994, \
                 0.01987, 0.01974");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01182, -0.01181, -0.01184, -0.01186, -0.01185, -0.01189, -0.0119, \
                 -0.01192, -0.01193, -0.01196");
        }
      }

      internal_power() {
        when : "A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02011, 0.02009, 0.02008, 0.02006, 0.02006, 0.02006, 0.02001, \
                 0.01995, 0.01986, 0.01974");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01183, -0.01181, -0.01185, -0.01185, -0.01185, -0.01189, -0.0119, \
                 -0.01191, -0.01193, -0.01195");
        }
      }

      internal_power() {
        when : "A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03067, 0.0306, 0.03057, 0.03054, 0.03055, 0.03054, 0.03059, \
                 0.03057, 0.0306, 0.03059");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02388, -0.02457, -0.02647, -0.02784, -0.02856, -0.02897, -0.02917, \
                 -0.02933, -0.0294, -0.02949");
        }
      }

      internal_power() {
        when : "A1&A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01724, 0.01723, 0.01724, 0.01724, 0.01727, 0.01731, 0.0173, \
                 0.01732, 0.01732, 0.01732");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01984, -0.019, -0.01846, -0.01825, -0.0182, -0.01823, -0.01823, \
                 -0.01824, -0.0183, -0.01836");
        }
      }
    }

    pin(C) {
      capacitance : 0.007322 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03044, 0.03034, 0.03036, 0.03036, 0.03041, 0.03047, 0.03044, \
                 0.03045, 0.03041, 0.03042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02705, -0.02812, -0.02923, -0.02951, -0.02968, -0.02986, -0.02988, \
                 -0.02997, -0.03001, -0.03");
        }
      }

      internal_power() {
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03044, 0.03034, 0.03035, 0.03036, 0.0304, 0.03047, 0.03044, \
                 0.03044, 0.0304, 0.03043");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02706, -0.02813, -0.02923, -0.02951, -0.02968, -0.02987, -0.02988, \
                 -0.02996, -0.02999, -0.03");
        }
      }

      internal_power() {
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03044, 0.03036, 0.03044, 0.03045, 0.03042, 0.03045, 0.03042, \
                 0.03044, 0.03042, 0.03042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02707, -0.02813, -0.02921, -0.02952, -0.02971, -0.02987, -0.02988, \
                 -0.02995, -0.03, -0.03");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03058, 0.03055, 0.03055, 0.03058, 0.0306, 0.03065, 0.03064, \
                 0.03061, 0.0306, 0.03058");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02466, -0.02549, -0.0268, -0.02777, -0.02839, -0.02879, -0.02905, \
                 -0.02919, -0.0293, -0.02939");
        }
      }

      internal_power() {
        when : "A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03044, 0.03037, 0.03036, 0.03038, 0.03044, 0.03041, 0.03042, \
                 0.03043, 0.03043, 0.03042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02769, -0.02837, -0.02923, -0.02951, -0.02967, -0.02987, -0.02989, \
                 -0.02994, -0.03, -0.03");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B)&(!C))|((!A2)&(!B)&(!C)))" ;
      max_capacitance : 0.2257 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.005875, 0.006024, 0.006337, 0.006584, 0.006691, 0.006774, 0.006817, 0.006852, 0.006875, 0.006893",\
                 "0.005761, 0.006016, 0.006672, 0.007266, 0.007677, 0.007927, 0.008089, 0.008196, 0.008267, 0.008317",\
                 "0.008966, 0.009058, 0.009365, 0.009652, 0.009943, 0.01012, 0.01027, 0.01035, 0.01042, 0.01046",\
                 "0.01747, 0.01717, 0.01644, 0.01556, 0.01484, 0.0142, 0.01366, 0.01328, 0.01294, 0.01271",\
                 "0.03308, 0.03238, 0.0302, 0.02753, 0.02505, 0.02276, 0.02089, 0.01936, 0.01814, 0.0171",\
                 "0.05817, 0.05689, 0.05325, 0.04817, 0.04304, 0.03847, 0.0345, 0.03106, 0.0282, 0.02588",\
                 "0.09384, 0.09211, 0.08688, 0.07927, 0.07105, 0.06324, 0.05639, 0.0504, 0.04525, 0.04088",\
                 "0.1409, 0.1388, 0.132, 0.1219, 0.1104, 0.09891, 0.0884, 0.07921, 0.07112, 0.06402",\
                 "0.2, 0.1974, 0.1894, 0.1767, 0.162, 0.1466, 0.132, 0.1189, 0.1072, 0.09678",\
                 "0.2716, 0.2686, 0.2593, 0.2444, 0.2264, 0.2073, 0.1883, 0.1706, 0.1547, 0.1405");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1152, 0.1156, 0.1164, 0.1172, 0.1178, 0.1184, 0.1191, 0.1195, 0.1201, 0.1227",\
                 "0.1122, 0.1127, 0.1141, 0.1156, 0.1169, 0.118, 0.1189, 0.1197, 0.1203, 0.123",\
                 "0.1131, 0.1131, 0.1133, 0.1141, 0.1154, 0.1166, 0.1178, 0.1189, 0.1197, 0.1223",\
                 "0.1242, 0.1237, 0.1221, 0.1204, 0.1193, 0.119, 0.1193, 0.1197, 0.1205, 0.1233",\
                 "0.1451, 0.144, 0.1411, 0.137, 0.133, 0.1297, 0.1275, 0.1262, 0.1256, 0.1282",\
                 "0.1762, 0.1747, 0.1703, 0.1642, 0.1575, 0.1508, 0.1451, 0.1408, 0.1376, 0.1384",\
                 "0.2187, 0.2167, 0.2109, 0.2024, 0.1931, 0.1837, 0.1743, 0.1663, 0.1599, 0.1596",\
                 "0.2738, 0.2713, 0.2637, 0.2531, 0.2409, 0.2286, 0.2161, 0.204, 0.1938, 0.1925",\
                 "0.3422, 0.3392, 0.3302, 0.3169, 0.3017, 0.286, 0.2707, 0.2553, 0.2419, 0.2411",\
                 "0.4247, 0.4213, 0.4107, 0.3949, 0.3765, 0.3576, 0.3386, 0.3203, 0.3051, 0.3111");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.005987, 0.006102, 0.006399, 0.006605, 0.006717, 0.006768, 0.006832, 0.006863, 0.006886, 0.006899",\
                 "0.005369, 0.005679, 0.006461, 0.007177, 0.007616, 0.007895, 0.008079, 0.008174, 0.008263, 0.008316",\
                 "0.007078, 0.00731, 0.007933, 0.008651, 0.00923, 0.009639, 0.009905, 0.01009, 0.01022, 0.01031",\
                 "0.01487, 0.01474, 0.01436, 0.01402, 0.01369, 0.01339, 0.0131, 0.01284, 0.01262, 0.01244",\
                 "0.02993, 0.02935, 0.02768, 0.02559, 0.02356, 0.02179, 0.02023, 0.01893, 0.01783, 0.01692",\
                 "0.05456, 0.05349, 0.05038, 0.04604, 0.04149, 0.03741, 0.03385, 0.03075, 0.02813, 0.0259",\
                 "0.08999, 0.08845, 0.08378, 0.07702, 0.06947, 0.06235, 0.05595, 0.05045, 0.04558, 0.04138",\
                 "0.137, 0.135, 0.1289, 0.1196, 0.109, 0.09833, 0.08843, 0.07967, 0.07193, 0.06514",\
                 "0.1963, 0.1938, 0.1863, 0.1746, 0.1607, 0.1464, 0.1325, 0.1199, 0.1086, 0.09866",\
                 "0.2683, 0.2655, 0.2566, 0.2426, 0.2255, 0.2075, 0.1896, 0.1726, 0.1573, 0.1434");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1429, 0.143, 0.1432, 0.1434, 0.1437, 0.1442, 0.1447, 0.1452, 0.1461, 0.149",\
                 "0.1405, 0.1407, 0.1412, 0.1418, 0.1425, 0.1431, 0.1437, 0.1443, 0.1453, 0.1478",\
                 "0.142, 0.1419, 0.1418, 0.1419, 0.1423, 0.1427, 0.1434, 0.144, 0.1449, 0.1476",\
                 "0.1533, 0.1528, 0.1511, 0.1492, 0.1476, 0.1466, 0.1462, 0.1462, 0.1464, 0.1492",\
                 "0.1746, 0.1736, 0.1708, 0.1667, 0.1623, 0.1585, 0.1557, 0.1537, 0.1526, 0.1547",\
                 "0.2064, 0.205, 0.201, 0.1948, 0.1878, 0.1809, 0.1747, 0.1699, 0.1663, 0.1672",\
                 "0.2499, 0.2482, 0.2429, 0.2349, 0.2254, 0.2153, 0.2056, 0.1969, 0.1898, 0.1893",\
                 "0.3062, 0.3042, 0.2978, 0.2876, 0.2754, 0.2623, 0.2492, 0.2367, 0.2261, 0.2241",\
                 "0.3759, 0.3736, 0.3661, 0.3541, 0.3391, 0.3231, 0.3066, 0.2903, 0.2764, 0.2751",\
                 "0.4598, 0.4572, 0.4488, 0.4352, 0.4176, 0.3983, 0.3783, 0.3586, 0.3425, 0.3486");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.04344, 0.04341, 0.04342, 0.04343, 0.04349, 0.04352, 0.04354, 0.04356, 0.04359, 0.04358",\
                 "0.04382, 0.04385, 0.04389, 0.04393, 0.04396, 0.04402, 0.04411, 0.04411, 0.04413, 0.04415",\
                 "0.04464, 0.04463, 0.04452, 0.04444, 0.04445, 0.04449, 0.04449, 0.04458, 0.04457, 0.04455",\
                 "0.04982, 0.04963, 0.0491, 0.04843, 0.04776, 0.0471, 0.04653, 0.04617, 0.04587, 0.04567",\
                 "0.06393, 0.06341, 0.06182, 0.05958, 0.05717, 0.05505, 0.0533, 0.05171, 0.05046, 0.04943",\
                 "0.08874, 0.08779, 0.08499, 0.0807, 0.0759, 0.07138, 0.06725, 0.06372, 0.06078, 0.05828",\
                 "0.1258, 0.1245, 0.1203, 0.1137, 0.1059, 0.09815, 0.0909, 0.08448, 0.07905, 0.07425",\
                 "0.1758, 0.1741, 0.1684, 0.1595, 0.1485, 0.1371, 0.1262, 0.1161, 0.1072, 0.09942",\
                 "0.2393, 0.2372, 0.2303, 0.219, 0.2049, 0.1896, 0.1744, 0.1602, 0.1472, 0.1356",\
                 "0.3168, 0.3144, 0.3063, 0.293, 0.2757, 0.2565, 0.2369, 0.218, 0.2003, 0.1843");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1697, 0.1698, 0.1701, 0.1705, 0.1709, 0.1714, 0.1718, 0.1723, 0.173, 0.1741",\
                 "0.1677, 0.168, 0.1686, 0.1694, 0.1702, 0.1708, 0.1715, 0.172, 0.1726, 0.1739",\
                 "0.1657, 0.1659, 0.1665, 0.1674, 0.1685, 0.1696, 0.1705, 0.1713, 0.172, 0.1738",\
                 "0.1688, 0.1686, 0.1683, 0.1683, 0.1686, 0.1693, 0.17, 0.1709, 0.1718, 0.1731",\
                 "0.1838, 0.1831, 0.1812, 0.1787, 0.1767, 0.1753, 0.1746, 0.1743, 0.1744, 0.1751",\
                 "0.2139, 0.2124, 0.2083, 0.2029, 0.1974, 0.1926, 0.1886, 0.1859, 0.1838, 0.1831",\
                 "0.2588, 0.2567, 0.2507, 0.2418, 0.2324, 0.224, 0.2159, 0.2091, 0.2037, 0.2007",\
                 "0.3179, 0.3154, 0.3075, 0.2958, 0.2825, 0.2696, 0.2575, 0.2465, 0.2369, 0.2308",\
                 "0.3919, 0.3889, 0.3796, 0.3648, 0.3478, 0.3303, 0.314, 0.2985, 0.2847, 0.2756",\
                 "0.4813, 0.478, 0.467, 0.4498, 0.429, 0.4076, 0.3859, 0.3661, 0.3481, 0.3385");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.03821, 0.03817, 0.03819, 0.0382, 0.03824, 0.03824, 0.03827, 0.03828, 0.03828, 0.03829",\
                 "0.03837, 0.03831, 0.03832, 0.03835, 0.03835, 0.03841, 0.03843, 0.03844, 0.03844, 0.03847",\
                 "0.03875, 0.0387, 0.03857, 0.03847, 0.03834, 0.03829, 0.03825, 0.03824, 0.03823, 0.03823",\
                 "0.04407, 0.04371, 0.04302, 0.04212, 0.0412, 0.04055, 0.03994, 0.0395, 0.03919, 0.03896",\
                 "0.0583, 0.05761, 0.05565, 0.05302, 0.05041, 0.0481, 0.04621, 0.04466, 0.04342, 0.04244",\
                 "0.08346, 0.08236, 0.07891, 0.07393, 0.06877, 0.06387, 0.05966, 0.05606, 0.05313, 0.05069",\
                 "0.1207, 0.1191, 0.1141, 0.1066, 0.09805, 0.0899, 0.08236, 0.07592, 0.07041, 0.0658",\
                 "0.1707, 0.1687, 0.1621, 0.1519, 0.14, 0.1278, 0.1165, 0.1063, 0.09736, 0.08965",\
                 "0.2341, 0.2317, 0.2237, 0.2109, 0.1954, 0.1792, 0.1634, 0.1489, 0.1358, 0.1242",\
                 "0.3113, 0.3085, 0.2993, 0.2841, 0.2653, 0.2447, 0.2243, 0.2048, 0.1872, 0.171");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.154, 0.1541, 0.1545, 0.1548, 0.1553, 0.1556, 0.156, 0.1565, 0.1572, 0.1598",\
                 "0.152, 0.1523, 0.153, 0.1538, 0.1545, 0.1551, 0.1556, 0.1563, 0.1569, 0.1597",\
                 "0.15, 0.1501, 0.1507, 0.1518, 0.1528, 0.1538, 0.1547, 0.1555, 0.1565, 0.1594",\
                 "0.1526, 0.1525, 0.1522, 0.1523, 0.1527, 0.1533, 0.1541, 0.1548, 0.1563, 0.1592",\
                 "0.1664, 0.1658, 0.164, 0.1618, 0.1599, 0.1588, 0.1582, 0.1579, 0.1581, 0.1613",\
                 "0.1954, 0.1939, 0.1899, 0.1848, 0.1798, 0.1751, 0.1716, 0.1688, 0.1671, 0.1693",\
                 "0.2395, 0.2375, 0.2313, 0.2228, 0.2138, 0.2056, 0.1979, 0.1914, 0.1866, 0.187",\
                 "0.2983, 0.2956, 0.2876, 0.276, 0.2629, 0.2504, 0.2387, 0.2276, 0.2187, 0.2179",\
                 "0.3716, 0.3685, 0.359, 0.3442, 0.3275, 0.3102, 0.2945, 0.2794, 0.2665, 0.2648",\
                 "0.4604, 0.4568, 0.4458, 0.4284, 0.4079, 0.3863, 0.3656, 0.3464, 0.3306, 0.3334");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.0383, 0.03826, 0.03826, 0.03825, 0.03827, 0.03829, 0.0383, 0.03831, 0.03831, 0.03829",\
                 "0.03836, 0.03836, 0.03839, 0.03837, 0.0384, 0.03843, 0.03844, 0.03846, 0.03845, 0.03844",\
                 "0.0387, 0.03866, 0.03857, 0.03847, 0.0384, 0.03833, 0.03826, 0.03826, 0.0382, 0.03818",\
                 "0.04399, 0.0437, 0.04299, 0.0421, 0.0412, 0.04052, 0.04001, 0.03954, 0.03923, 0.03895",\
                 "0.05817, 0.05755, 0.05564, 0.05305, 0.05046, 0.04815, 0.04623, 0.04467, 0.04344, 0.0424",\
                 "0.08323, 0.08217, 0.07879, 0.07394, 0.06872, 0.06379, 0.0596, 0.05607, 0.0531, 0.05069",\
                 "0.1205, 0.1189, 0.1139, 0.1064, 0.09802, 0.08984, 0.08238, 0.07587, 0.07042, 0.06578",\
                 "0.1703, 0.1684, 0.1618, 0.1518, 0.1399, 0.1278, 0.1164, 0.1063, 0.09728, 0.08961",\
                 "0.2336, 0.2312, 0.2233, 0.2107, 0.1953, 0.1791, 0.1633, 0.1488, 0.1357, 0.1241",\
                 "0.3108, 0.308, 0.2988, 0.2838, 0.2651, 0.2446, 0.2242, 0.2049, 0.1871, 0.171");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1852, 0.1853, 0.1855, 0.1859, 0.1862, 0.1867, 0.1873, 0.1879, 0.1888, 0.1915",\
                 "0.1836, 0.1838, 0.1842, 0.185, 0.1856, 0.1863, 0.1869, 0.1876, 0.1885, 0.1914",\
                 "0.1815, 0.1816, 0.1821, 0.183, 0.1841, 0.1849, 0.1859, 0.1869, 0.1879, 0.1912",\
                 "0.1833, 0.1833, 0.1832, 0.1833, 0.1837, 0.1844, 0.1853, 0.1863, 0.1876, 0.1912",\
                 "0.1955, 0.1951, 0.1937, 0.1922, 0.1906, 0.1896, 0.1892, 0.1892, 0.1897, 0.1932",\
                 "0.2226, 0.2215, 0.2182, 0.214, 0.2095, 0.2055, 0.2022, 0.1997, 0.1985, 0.201",\
                 "0.265, 0.2633, 0.2582, 0.2506, 0.2428, 0.2349, 0.2279, 0.2219, 0.2174, 0.2188",\
                 "0.3221, 0.3199, 0.3129, 0.3026, 0.2907, 0.2793, 0.2679, 0.2577, 0.2494, 0.2492",\
                 "0.3944, 0.3916, 0.3831, 0.3699, 0.3543, 0.3384, 0.3232, 0.3087, 0.296, 0.2961",\
                 "0.482, 0.4789, 0.4689, 0.4529, 0.4337, 0.4137, 0.3935, 0.3749, 0.36, 0.3638");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.06244, 0.06241, 0.06237, 0.06238, 0.06236, 0.06234, 0.06236, 0.06239, 0.06237, 0.0624",\
                 "0.06061, 0.0607, 0.06064, 0.06059, 0.06056, 0.06064, 0.06061, 0.06064, 0.06068, 0.06064",\
                 "0.05995, 0.05989, 0.05977, 0.05945, 0.0594, 0.0593, 0.05929, 0.05924, 0.05917, 0.05914",\
                 "0.06514, 0.0649, 0.06413, 0.06321, 0.06225, 0.06144, 0.06071, 0.06028, 0.05989, 0.05964",\
                 "0.0806, 0.07996, 0.07804, 0.07529, 0.07246, 0.0698, 0.06766, 0.06588, 0.06444, 0.0633",\
                 "0.1091, 0.108, 0.1045, 0.09918, 0.09339, 0.08781, 0.08282, 0.07872, 0.07532, 0.07257",\
                 "0.1521, 0.1506, 0.1453, 0.1372, 0.1276, 0.1182, 0.1094, 0.1018, 0.09529, 0.0898",\
                 "0.2112, 0.209, 0.2019, 0.1908, 0.1772, 0.1631, 0.1496, 0.1374, 0.1268, 0.1176",\
                 "0.2866, 0.284, 0.2754, 0.2612, 0.2435, 0.2243, 0.2055, 0.188, 0.1722, 0.1582",\
                 "0.3791, 0.376, 0.366, 0.349, 0.3273, 0.3032, 0.2788, 0.2552, 0.2334, 0.2138");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1906, 0.1907, 0.191, 0.1915, 0.1919, 0.1922, 0.1928, 0.1932, 0.194, 0.1948",\
                 "0.1886, 0.1889, 0.1896, 0.1904, 0.1911, 0.1917, 0.1922, 0.193, 0.1937, 0.1949",\
                 "0.1865, 0.1867, 0.1874, 0.1884, 0.1895, 0.1904, 0.1915, 0.1923, 0.193, 0.1947",\
                 "0.1879, 0.1878, 0.188, 0.1882, 0.1888, 0.1898, 0.1905, 0.1914, 0.1923, 0.1937",\
                 "0.2015, 0.2009, 0.1993, 0.1975, 0.1959, 0.1949, 0.1945, 0.1944, 0.1949, 0.1959",\
                 "0.2338, 0.2323, 0.228, 0.2226, 0.2175, 0.2129, 0.2092, 0.2068, 0.2049, 0.2041",\
                 "0.2854, 0.2832, 0.2764, 0.2667, 0.2567, 0.2477, 0.2396, 0.2329, 0.2274, 0.2237",\
                 "0.3553, 0.3525, 0.3437, 0.3303, 0.3151, 0.3005, 0.2876, 0.276, 0.2653, 0.2581",\
                 "0.4431, 0.4398, 0.4294, 0.413, 0.3932, 0.3729, 0.3537, 0.3366, 0.3216, 0.3101",\
                 "0.5494, 0.5457, 0.5338, 0.5148, 0.4907, 0.4652, 0.4399, 0.4166, 0.3961, 0.3829");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.05721, 0.05721, 0.05716, 0.05713, 0.05705, 0.05705, 0.05715, 0.05716, 0.05716, 0.05715",\
                 "0.05542, 0.05536, 0.05532, 0.05532, 0.05521, 0.05525, 0.0553, 0.05534, 0.05534, 0.05537",\
                 "0.05446, 0.05438, 0.05417, 0.05397, 0.05378, 0.05367, 0.05364, 0.05361, 0.05359, 0.05359",\
                 "0.05953, 0.05917, 0.05822, 0.05715, 0.05611, 0.05534, 0.05469, 0.05417, 0.05383, 0.05359",\
                 "0.07497, 0.07412, 0.07189, 0.06875, 0.0657, 0.06302, 0.06089, 0.05918, 0.05774, 0.05678",\
                 "0.1036, 0.1022, 0.09808, 0.09211, 0.08583, 0.08006, 0.07509, 0.07113, 0.06788, 0.06525",\
                 "0.1468, 0.1448, 0.1386, 0.1295, 0.1192, 0.1092, 0.1003, 0.09278, 0.08645, 0.08129",\
                 "0.2056, 0.203, 0.1949, 0.1823, 0.1676, 0.1528, 0.139, 0.1267, 0.1162, 0.1073",\
                 "0.2808, 0.2777, 0.2677, 0.2517, 0.2324, 0.2123, 0.1928, 0.1752, 0.1594, 0.1457",\
                 "0.3726, 0.3691, 0.3575, 0.3385, 0.3148, 0.289, 0.2636, 0.2398, 0.2181, 0.1986");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1749, 0.175, 0.1753, 0.1757, 0.1761, 0.1765, 0.177, 0.1774, 0.1782, 0.1808",\
                 "0.1729, 0.1731, 0.1739, 0.1747, 0.1754, 0.176, 0.1766, 0.1769, 0.1778, 0.1805",\
                 "0.1708, 0.171, 0.1717, 0.1726, 0.1737, 0.1747, 0.1756, 0.1764, 0.1775, 0.1803",\
                 "0.1719, 0.1718, 0.172, 0.1723, 0.1729, 0.1737, 0.1746, 0.1758, 0.1766, 0.18",\
                 "0.184, 0.1835, 0.182, 0.1804, 0.179, 0.1782, 0.1778, 0.1779, 0.1784, 0.1817",\
                 "0.2141, 0.2126, 0.2086, 0.2036, 0.1989, 0.1947, 0.1914, 0.1889, 0.1877, 0.1897",\
                 "0.2635, 0.2613, 0.2546, 0.2453, 0.236, 0.2277, 0.22, 0.2135, 0.2085, 0.209",\
                 "0.3319, 0.3291, 0.3201, 0.3069, 0.2923, 0.2785, 0.2662, 0.2547, 0.2453, 0.2433",\
                 "0.4184, 0.4151, 0.4045, 0.3878, 0.3684, 0.3489, 0.3308, 0.3143, 0.3002, 0.2963",\
                 "0.5232, 0.5195, 0.5073, 0.4882, 0.464, 0.4391, 0.4148, 0.3927, 0.3744, 0.3726");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.05721, 0.05721, 0.05716, 0.05713, 0.05712, 0.05712, 0.05714, 0.05716, 0.05716, 0.05715",\
                 "0.05543, 0.05539, 0.05538, 0.05533, 0.0553, 0.0553, 0.05531, 0.05537, 0.05537, 0.05534",\
                 "0.05442, 0.05437, 0.05415, 0.05398, 0.05388, 0.05378, 0.05367, 0.05363, 0.05358, 0.05354",\
                 "0.05941, 0.05914, 0.05824, 0.05718, 0.05612, 0.05531, 0.0547, 0.05424, 0.05386, 0.05361",\
                 "0.07482, 0.07407, 0.07184, 0.06873, 0.06567, 0.06304, 0.06088, 0.0592, 0.05785, 0.0568",\
                 "0.1033, 0.1019, 0.09792, 0.09204, 0.08578, 0.07999, 0.07516, 0.0711, 0.06788, 0.06522",\
                 "0.1465, 0.1445, 0.1384, 0.1293, 0.1191, 0.1092, 0.1003, 0.09278, 0.08645, 0.08127",\
                 "0.2051, 0.2026, 0.1946, 0.1821, 0.1675, 0.1527, 0.1389, 0.1267, 0.1161, 0.1073",\
                 "0.2802, 0.2771, 0.2673, 0.2514, 0.2322, 0.2121, 0.1928, 0.1751, 0.1593, 0.1456",\
                 "0.372, 0.3685, 0.357, 0.3381, 0.3145, 0.2888, 0.2635, 0.2397, 0.218, 0.1986");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.206, 0.2062, 0.2064, 0.2068, 0.2072, 0.2077, 0.2082, 0.2088, 0.2096, 0.2126",\
                 "0.2044, 0.2046, 0.2051, 0.2058, 0.2064, 0.2071, 0.2077, 0.2085, 0.2094, 0.2123",\
                 "0.2022, 0.2024, 0.2029, 0.2039, 0.205, 0.2058, 0.2068, 0.2078, 0.209, 0.2119",\
                 "0.2029, 0.2029, 0.203, 0.2034, 0.204, 0.2049, 0.2058, 0.2069, 0.2082, 0.2117",\
                 "0.2135, 0.2131, 0.212, 0.2108, 0.2096, 0.2091, 0.209, 0.2092, 0.2099, 0.2134",\
                 "0.2411, 0.2401, 0.237, 0.2328, 0.2287, 0.225, 0.2219, 0.2199, 0.2187, 0.2214",\
                 "0.2886, 0.2867, 0.2811, 0.2732, 0.2648, 0.257, 0.2501, 0.2441, 0.2394, 0.2406",\
                 "0.3552, 0.3527, 0.3449, 0.3331, 0.32, 0.3072, 0.2954, 0.2847, 0.2758, 0.2746",\
                 "0.4406, 0.4375, 0.4278, 0.4128, 0.395, 0.3764, 0.3593, 0.3434, 0.3299, 0.3273",\
                 "0.5442, 0.5409, 0.5298, 0.5117, 0.4895, 0.4657, 0.4426, 0.421, 0.4034, 0.4029");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.08829, 0.09791, 0.1317, 0.1959, 0.2958, 0.4353, 0.6187, 0.8502, 1.133, 1.469",\
                 "0.1005, 0.1103, 0.1444, 0.209, 0.3088, 0.4488, 0.6326, 0.8638, 1.146, 1.483",\
                 "0.1334, 0.1463, 0.1878, 0.2555, 0.3553, 0.495, 0.6788, 0.91, 1.192, 1.529",\
                 "0.1452, 0.1635, 0.221, 0.3142, 0.4366, 0.5834, 0.7665, 0.9973, 1.279, 1.615",\
                 "0.1228, 0.1469, 0.223, 0.3439, 0.5004, 0.6864, 0.898, 1.135, 1.416, 1.751",\
                 "0.0603, 0.0907, 0.1858, 0.3372, 0.5293, 0.7573, 1.013, 1.297, 1.606, 1.945",\
                 "-0.0456, -0.0091, 0.1057, 0.2885, 0.5208, 0.7914, 1.094, 1.426, 1.788, 2.176",\
                 "-0.1985, -0.1552, -0.0202, 0.1929, 0.4641, 0.7827, 1.133, 1.517, 1.931, 2.375",\
                 "-0.4, -0.3506, -0.1957, 0.0494, 0.3617, 0.7249, 1.128, 1.565, 2.033, 2.533",\
                 "-0.6515, -0.5969, -0.4226, -0.147, 0.2061, 0.6161, 1.071, 1.564, 2.089, 2.648");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.2068, 0.2389, 0.3509, 0.564, 0.893, 1.354, 1.958, 2.719, 3.648, 4.756",\
                 "0.2121, 0.244, 0.3577, 0.5734, 0.905, 1.367, 1.974, 2.735, 3.664, 4.772",\
                 "0.2702, 0.2991, 0.4065, 0.6185, 0.9498, 1.413, 2.02, 2.783, 3.713, 4.82",\
                 "0.3985, 0.4305, 0.5359, 0.7353, 1.058, 1.515, 2.119, 2.88, 3.808, 4.915",\
                 "0.5693, 0.6054, 0.7267, 0.9396, 1.252, 1.698, 2.293, 3.047, 3.971, 5.075",\
                 "0.7871, 0.8284, 0.9631, 1.2, 1.536, 1.975, 2.557, 3.301, 4.215, 5.312",\
                 "1.052, 1.1, 1.253, 1.509, 1.875, 2.348, 2.927, 3.658, 4.559, 5.646",\
                 "1.364, 1.42, 1.593, 1.878, 2.27, 2.778, 3.396, 4.126, 5.015, 6.088",\
                 "1.73, 1.793, 1.989, 2.304, 2.728, 3.266, 3.925, 4.699, 5.591, 6.648",\
                 "2.148, 2.219, 2.438, 2.789, 3.25, 3.82, 4.513, 5.335, 6.273, 7.336");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.108, 0.1243, 0.1816, 0.2909, 0.4611, 0.7003, 1.013, 1.408, 1.891, 2.467",\
                 "0.1077, 0.1241, 0.1815, 0.291, 0.4611, 0.6998, 1.013, 1.409, 1.891, 2.467",\
                 "0.1456, 0.1607, 0.2085, 0.2989, 0.4615, 0.7006, 1.014, 1.408, 1.892, 2.467",\
                 "0.2125, 0.2307, 0.2913, 0.3929, 0.53, 0.7248, 1.015, 1.408, 1.891, 2.465",\
                 "0.3006, 0.3245, 0.3979, 0.5161, 0.679, 0.8804, 1.123, 1.451, 1.897, 2.466",\
                 "0.4082, 0.4382, 0.5282, 0.6708, 0.8532, 1.081, 1.354, 1.664, 2.038, 2.529",\
                 "0.5342, 0.5696, 0.6794, 0.849, 1.063, 1.315, 1.612, 1.958, 2.35, 2.787",\
                 "0.6776, 0.7214, 0.8514, 1.05, 1.297, 1.583, 1.909, 2.281, 2.711, 3.18",\
                 "0.8328, 0.8864, 1.043, 1.274, 1.557, 1.881, 2.244, 2.648, 3.101, 3.612",\
                 "1.002, 1.065, 1.251, 1.518, 1.838, 2.205, 2.608, 3.051, 3.535, 4.073");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.3964, 0.4561, 0.6614, 1.039, 1.614, 2.421, 3.481, 4.808, 6.441, 8.381",\
                 "0.3902, 0.4529, 0.6594, 1.037, 1.615, 2.422, 3.481, 4.81, 6.432, 8.367",\
                 "0.376, 0.4356, 0.6506, 1.035, 1.613, 2.42, 3.479, 4.818, 6.431, 8.381",\
                 "0.4251, 0.4764, 0.6579, 1.023, 1.615, 2.42, 3.48, 4.812, 6.429, 8.375",\
                 "0.4826, 0.5384, 0.7328, 1.072, 1.612, 2.416, 3.479, 4.81, 6.44, 8.379",\
                 "0.5726, 0.6282, 0.8204, 1.182, 1.701, 2.438, 3.474, 4.808, 6.429, 8.378",\
                 "0.6958, 0.7504, 0.9402, 1.3, 1.852, 2.57, 3.532, 4.808, 6.431, 8.366",\
                 "0.838, 0.8984, 1.094, 1.452, 2.01, 2.77, 3.7, 4.903, 6.457, 8.379",\
                 "0.9966, 1.063, 1.278, 1.645, 2.192, 2.976, 3.956, 5.116, 6.586, 8.408",\
                 "1.173, 1.246, 1.481, 1.87, 2.419, 3.197, 4.209, 5.419, 6.835, 8.576");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1018, 0.1116, 0.1453, 0.2095, 0.3092, 0.4488, 0.6321, 0.8635, 1.146, 1.483",\
                 "0.1121, 0.122, 0.1563, 0.221, 0.3209, 0.4608, 0.6447, 0.8761, 1.159, 1.495",\
                 "0.1323, 0.144, 0.1826, 0.2501, 0.3504, 0.4903, 0.6744, 0.906, 1.189, 1.525",\
                 "0.1363, 0.152, 0.2018, 0.2842, 0.3979, 0.5443, 0.7282, 0.9594, 1.242, 1.579",\
                 "0.1054, 0.1264, 0.1922, 0.2974, 0.4343, 0.6026, 0.8048, 1.043, 1.325, 1.661",\
                 "0.0314, 0.0578, 0.1411, 0.2739, 0.4427, 0.6416, 0.8708, 1.135, 1.436, 1.779",\
                 "-0.0909, -0.0585, 0.0433, 0.2044, 0.4096, 0.6473, 0.9131, 1.209, 1.539, 1.91",\
                 "-0.2641, -0.2258, -0.1057, 0.0853, 0.3268, 0.6073, 0.917, 1.254, 1.621, 2.024",\
                 "-0.4902, -0.4469, -0.3082, -0.088, 0.1914, 0.5145, 0.8725, 1.257, 1.67, 2.113",\
                 "-0.7715, -0.7234, -0.5687, -0.3191, -0.0005, 0.3664, 0.7719, 1.209, 1.673, 2.166");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.2783, 0.31, 0.4212, 0.6324, 0.9608, 1.421, 2.025, 2.785, 3.714, 4.82",\
                 "0.2855, 0.3173, 0.4291, 0.6417, 0.9714, 1.432, 2.037, 2.797, 3.726, 4.834",\
                 "0.3426, 0.3732, 0.4823, 0.6929, 1.021, 1.481, 2.086, 2.847, 3.776, 4.882",\
                 "0.4807, 0.5103, 0.6116, 0.8127, 1.134, 1.589, 2.19, 2.948, 3.874, 4.981",\
                 "0.6704, 0.7043, 0.8185, 1.021, 1.331, 1.776, 2.368, 3.119, 4.041, 5.142",\
                 "0.9111, 0.9483, 1.074, 1.298, 1.623, 2.058, 2.638, 3.38, 4.292, 5.387",\
                 "1.208, 1.249, 1.386, 1.628, 1.982, 2.441, 3.014, 3.741, 4.639, 5.724",\
                 "1.563, 1.61, 1.762, 2.022, 2.397, 2.89, 3.495, 4.218, 5.104, 6.172",\
                 "1.976, 2.029, 2.198, 2.483, 2.882, 3.402, 4.045, 4.804, 5.688, 6.74",\
                 "2.453, 2.511, 2.699, 3.013, 3.438, 3.984, 4.66, 5.463, 6.386, 7.44");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1079, 0.1243, 0.1816, 0.2912, 0.4611, 0.7002, 1.013, 1.409, 1.89, 2.467",\
                 "0.1077, 0.1241, 0.1815, 0.2911, 0.461, 0.6997, 1.014, 1.408, 1.892, 2.467",\
                 "0.1342, 0.1491, 0.1995, 0.2971, 0.4615, 0.6989, 1.014, 1.409, 1.892, 2.467",\
                 "0.1942, 0.2092, 0.261, 0.3576, 0.5071, 0.7184, 1.017, 1.408, 1.891, 2.467",\
                 "0.2797, 0.2972, 0.3557, 0.4567, 0.6066, 0.8162, 1.088, 1.443, 1.9, 2.467",\
                 "0.3838, 0.406, 0.4756, 0.5912, 0.75, 0.959, 1.232, 1.577, 1.995, 2.517",\
                 "0.5072, 0.5336, 0.616, 0.7514, 0.9288, 1.15, 1.424, 1.767, 2.185, 2.682",\
                 "0.6442, 0.6764, 0.7758, 0.9314, 1.135, 1.378, 1.667, 2.011, 2.426, 2.924",\
                 "0.7916, 0.8306, 0.9496, 1.134, 1.363, 1.635, 1.949, 2.308, 2.727, 3.221",\
                 "0.9506, 0.9952, 1.136, 1.353, 1.615, 1.919, 2.261, 2.65, 3.084, 3.581");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.5173, 0.5759, 0.7774, 1.152, 1.727, 2.534, 3.591, 4.921, 6.545, 8.479",\
                 "0.515, 0.5734, 0.777, 1.152, 1.728, 2.533, 3.591, 4.92, 6.545, 8.481",\
                 "0.502, 0.5632, 0.7721, 1.151, 1.727, 2.533, 3.59, 4.92, 6.545, 8.48",\
                 "0.5252, 0.5773, 0.7655, 1.142, 1.726, 2.533, 3.59, 4.922, 6.545, 8.482",\
                 "0.5876, 0.644, 0.8334, 1.172, 1.721, 2.531, 3.591, 4.921, 6.547, 8.481",\
                 "0.664, 0.7208, 0.9194, 1.279, 1.798, 2.544, 3.588, 4.921, 6.546, 8.482",\
                 "0.7672, 0.8248, 1.022, 1.396, 1.946, 2.663, 3.628, 4.923, 6.544, 8.483",\
                 "0.8982, 0.9578, 1.158, 1.528, 2.099, 2.857, 3.791, 4.998, 6.556, 8.48",\
                 "1.046, 1.111, 1.322, 1.696, 2.268, 3.054, 4.032, 5.204, 6.67, 8.508",\
                 "1.209, 1.282, 1.511, 1.897, 2.465, 3.265, 4.287, 5.496, 6.92, 8.664");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1382, 0.1483, 0.1822, 0.2443, 0.339, 0.4695, 0.6398, 0.8531, 1.113, 1.422",\
                 "0.1534, 0.1633, 0.1971, 0.2594, 0.354, 0.4846, 0.6548, 0.8683, 1.128, 1.437",\
                 "0.2062, 0.2164, 0.2496, 0.3113, 0.4058, 0.5361, 0.7064, 0.9197, 1.18, 1.489",\
                 "0.2614, 0.2754, 0.3223, 0.4007, 0.5057, 0.6369, 0.8063, 1.019, 1.279, 1.587",\
                 "0.2904, 0.3092, 0.3695, 0.4707, 0.6069, 0.7729, 0.9623, 1.177, 1.435, 1.743",\
                 "0.2884, 0.3111, 0.3859, 0.5115, 0.6804, 0.8835, 1.117, 1.376, 1.657, 1.966",\
                 "0.2519, 0.2795, 0.3688, 0.5196, 0.7206, 0.9629, 1.239, 1.546, 1.881, 2.239",\
                 "0.1792, 0.2112, 0.315, 0.4913, 0.7259, 1.008, 1.33, 1.684, 2.071, 2.485",\
                 "0.0689, 0.1063, 0.2229, 0.4227, 0.6926, 1.016, 1.383, 1.787, 2.225, 2.694",\
                 "-0.0806, -0.0389, 0.0923, 0.3143, 0.6171, 0.9826, 1.395, 1.852, 2.343, 2.869");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.3125, 0.3406, 0.4356, 0.6138, 0.8909, 1.278, 1.788, 2.429, 3.212, 4.145",\
                 "0.321, 0.3494, 0.4456, 0.625, 0.903, 1.291, 1.801, 2.443, 3.225, 4.158",\
                 "0.3638, 0.3917, 0.4872, 0.6679, 0.9469, 1.336, 1.847, 2.489, 3.272, 4.205",\
                 "0.4418, 0.4728, 0.5732, 0.7535, 1.03, 1.418, 1.929, 2.571, 3.355, 4.288",\
                 "0.5593, 0.5925, 0.7037, 0.899, 1.18, 1.563, 2.069, 2.707, 3.488, 4.419",\
                 "0.7287, 0.7663, 0.8866, 1.095, 1.396, 1.789, 2.287, 2.919, 3.694, 4.62",\
                 "0.9404, 0.9835, 1.121, 1.348, 1.665, 2.081, 2.596, 3.22, 3.985, 4.903",\
                 "1.192, 1.241, 1.397, 1.652, 1.994, 2.429, 2.97, 3.615, 4.375, 5.281",\
                 "1.48, 1.537, 1.714, 1.999, 2.374, 2.837, 3.402, 4.075, 4.86, 5.766",\
                 "1.81, 1.873, 2.071, 2.388, 2.803, 3.304, 3.895, 4.596, 5.414, 6.347");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1633, 0.1797, 0.2344, 0.3361, 0.4921, 0.7091, 0.9936, 1.351, 1.788, 2.307",\
                 "0.1629, 0.179, 0.2338, 0.3356, 0.4924, 0.709, 0.9936, 1.351, 1.787, 2.307",\
                 "0.179, 0.1919, 0.2391, 0.3357, 0.4917, 0.7093, 0.9936, 1.351, 1.788, 2.308",\
                 "0.2674, 0.2842, 0.336, 0.4214, 0.5384, 0.7228, 0.994, 1.352, 1.787, 2.308",\
                 "0.3741, 0.3945, 0.46, 0.5656, 0.708, 0.8796, 1.089, 1.387, 1.793, 2.307",\
                 "0.5008, 0.526, 0.606, 0.7318, 0.8996, 1.106, 1.342, 1.605, 1.931, 2.367",\
                 "0.6444, 0.6778, 0.7716, 0.9246, 1.117, 1.351, 1.623, 1.932, 2.269, 2.64",\
                 "0.8056, 0.8438, 0.9566, 1.138, 1.364, 1.629, 1.934, 2.277, 2.66, 3.077",\
                 "0.984, 1.029, 1.161, 1.37, 1.635, 1.935, 2.274, 2.653, 3.073, 3.535",\
                 "1.182, 1.233, 1.384, 1.625, 1.925, 2.269, 2.65, 3.064, 3.519, 4.02");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.4265, 0.4719, 0.6335, 0.9437, 1.426, 2.098, 2.981, 4.095, 5.453, 7.077",\
                 "0.4273, 0.4722, 0.6336, 0.9438, 1.424, 2.097, 2.983, 4.097, 5.452, 7.077",\
                 "0.43, 0.4746, 0.6351, 0.943, 1.424, 2.099, 2.984, 4.096, 5.452, 7.081",\
                 "0.4893, 0.527, 0.6661, 0.951, 1.426, 2.099, 2.984, 4.098, 5.459, 7.074",\
                 "0.5816, 0.6216, 0.7642, 1.028, 1.457, 2.1, 2.981, 4.098, 5.456, 7.078",\
                 "0.713, 0.7484, 0.8812, 1.153, 1.571, 2.164, 2.996, 4.099, 5.458, 7.079",\
                 "0.8796, 0.914, 1.04, 1.3, 1.726, 2.317, 3.096, 4.131, 5.462, 7.08",\
                 "1.07, 1.105, 1.236, 1.489, 1.904, 2.504, 3.286, 4.265, 5.526, 7.092",\
                 "1.279, 1.318, 1.459, 1.721, 2.126, 2.718, 3.517, 4.498, 5.696, 7.19",\
                 "1.505, 1.545, 1.698, 1.979, 2.4, 2.978, 3.766, 4.769, 5.969, 7.4");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1126, 0.123, 0.1581, 0.222, 0.3177, 0.4489, 0.6196, 0.8334, 1.093, 1.403",\
                 "0.1276, 0.138, 0.173, 0.2367, 0.3323, 0.4636, 0.6343, 0.8481, 1.108, 1.418",\
                 "0.1794, 0.1904, 0.2263, 0.2885, 0.3835, 0.5146, 0.6852, 0.8989, 1.159, 1.468",\
                 "0.2232, 0.2387, 0.2897, 0.3726, 0.482, 0.6151, 0.7848, 0.9977, 1.258, 1.567",\
                 "0.2381, 0.2589, 0.3249, 0.4336, 0.5759, 0.7461, 0.939, 1.156, 1.414, 1.723",\
                 "0.2201, 0.2459, 0.328, 0.4629, 0.6397, 0.8493, 1.087, 1.35, 1.634, 1.945",\
                 "0.1666, 0.1967, 0.2951, 0.457, 0.6689, 0.9195, 1.202, 1.515, 1.853, 2.214",\
                 "0.0761, 0.111, 0.2245, 0.4131, 0.6597, 0.9539, 1.283, 1.645, 2.036, 2.454",\
                 "-0.0533, -0.0135, 0.1149, 0.3271, 0.6106, 0.9471, 1.325, 1.738, 2.182, 2.657",\
                 "-0.2245, -0.1795, -0.0358, 0.2019, 0.5185, 0.8977, 1.324, 1.79, 2.291, 2.822");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.3579, 0.3902, 0.5027, 0.7146, 1.043, 1.502, 2.107, 2.868, 3.797, 4.904",\
                 "0.365, 0.398, 0.5119, 0.7251, 1.055, 1.515, 2.12, 2.881, 3.81, 4.918",\
                 "0.4044, 0.437, 0.5509, 0.7649, 1.095, 1.557, 2.163, 2.925, 3.855, 4.963",\
                 "0.4731, 0.5082, 0.6246, 0.8374, 1.166, 1.626, 2.232, 2.994, 3.926, 5.032",\
                 "0.5794, 0.6164, 0.7394, 0.9625, 1.29, 1.744, 2.345, 3.104, 4.031, 5.138",\
                 "0.743, 0.7826, 0.9119, 1.141, 1.482, 1.937, 2.528, 3.279, 4.198, 5.298",\
                 "0.9529, 0.9979, 1.143, 1.385, 1.733, 2.203, 2.797, 3.536, 4.445, 5.536",\
                 "1.204, 1.256, 1.418, 1.685, 2.051, 2.531, 3.142, 3.885, 4.781, 5.859",\
                 "1.495, 1.554, 1.736, 2.033, 2.428, 2.925, 3.55, 4.311, 5.216, 6.281",\
                 "1.826, 1.891, 2.096, 2.424, 2.856, 3.385, 4.026, 4.804, 5.729, 6.803");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1463, 0.1626, 0.2173, 0.319, 0.4741, 0.6905, 0.9745, 1.332, 1.767, 2.287",\
                 "0.1447, 0.1611, 0.2167, 0.3181, 0.474, 0.6905, 0.9745, 1.332, 1.768, 2.287",\
                 "0.1721, 0.1837, 0.2262, 0.3184, 0.4729, 0.6903, 0.9749, 1.332, 1.767, 2.287",\
                 "0.2602, 0.2768, 0.3289, 0.4136, 0.5285, 0.7075, 0.9759, 1.332, 1.767, 2.287",\
                 "0.3693, 0.3901, 0.454, 0.5594, 0.7002, 0.872, 1.079, 1.372, 1.775, 2.288",\
                 "0.4986, 0.5248, 0.6046, 0.7314, 0.8966, 1.099, 1.335, 1.598, 1.919, 2.352",\
                 "0.648, 0.6798, 0.7768, 0.9274, 1.121, 1.35, 1.621, 1.926, 2.262, 2.631",\
                 "0.8188, 0.8556, 0.9714, 1.149, 1.373, 1.635, 1.934, 2.274, 2.656, 3.071",\
                 "1.011, 1.056, 1.189, 1.394, 1.656, 1.952, 2.287, 2.657, 3.077, 3.535",\
                 "1.223, 1.277, 1.431, 1.666, 1.961, 2.296, 2.67, 3.078, 3.531, 4.026");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.4227, 0.4772, 0.6698, 1.039, 1.615, 2.421, 3.473, 4.808, 6.435, 8.373",\
                 "0.4233, 0.4778, 0.6699, 1.039, 1.616, 2.419, 3.481, 4.808, 6.439, 8.376",\
                 "0.4265, 0.4803, 0.67, 1.039, 1.613, 2.421, 3.479, 4.812, 6.433, 8.367",\
                 "0.4744, 0.5225, 0.6943, 1.044, 1.614, 2.421, 3.481, 4.815, 6.441, 8.368",\
                 "0.5402, 0.5924, 0.773, 1.103, 1.634, 2.422, 3.476, 4.81, 6.44, 8.381",\
                 "0.649, 0.6946, 0.8632, 1.202, 1.721, 2.461, 3.482, 4.808, 6.443, 8.382",\
                 "0.8002, 0.8444, 1.002, 1.319, 1.842, 2.575, 3.55, 4.824, 6.44, 8.37",\
                 "0.975, 1.022, 1.183, 1.488, 1.99, 2.724, 3.686, 4.917, 6.466, 8.371",\
                 "1.169, 1.218, 1.392, 1.704, 2.185, 2.901, 3.869, 5.081, 6.583, 8.433",\
                 "1.38, 1.434, 1.619, 1.95, 2.437, 3.127, 4.077, 5.299, 6.784, 8.573");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1176, 0.1282, 0.1635, 0.228, 0.3246, 0.4569, 0.6283, 0.8423, 1.102, 1.412",\
                 "0.1325, 0.1431, 0.1783, 0.2426, 0.3393, 0.4716, 0.643, 0.857, 1.117, 1.426",\
                 "0.1854, 0.1963, 0.2315, 0.2944, 0.3904, 0.5225, 0.6938, 0.9078, 1.168, 1.477",\
                 "0.2343, 0.2497, 0.2993, 0.3812, 0.4899, 0.6231, 0.7934, 1.007, 1.267, 1.576",\
                 "0.2573, 0.277, 0.3413, 0.4474, 0.5878, 0.7567, 0.9487, 1.165, 1.423, 1.731",\
                 "0.2492, 0.2736, 0.3518, 0.4828, 0.6561, 0.863, 1.099, 1.361, 1.643, 1.954",\
                 "0.2056, 0.2339, 0.327, 0.4828, 0.6901, 0.9374, 1.218, 1.527, 1.864, 2.224",\
                 "0.125, 0.1571, 0.2638, 0.4447, 0.686, 0.9749, 1.301, 1.66, 2.049, 2.466",\
                 "0.0057, 0.042, 0.1617, 0.3655, 0.6417, 0.9724, 1.346, 1.756, 2.198, 2.671",\
                 "-0.1554, -0.1144, 0.0195, 0.2464, 0.5541, 0.9264, 1.348, 1.811, 2.309, 2.838");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.4446, 0.4769, 0.5891, 0.8006, 1.129, 1.589, 2.193, 2.954, 3.882, 4.99",\
                 "0.4534, 0.4861, 0.599, 0.8121, 1.141, 1.601, 2.206, 2.967, 3.897, 5.004",\
                 "0.4923, 0.5244, 0.638, 0.8516, 1.182, 1.644, 2.25, 3.011, 3.941, 5.049",\
                 "0.5656, 0.5988, 0.7116, 0.9232, 1.252, 1.713, 2.318, 3.08, 4.011, 5.12",\
                 "0.676, 0.7109, 0.8313, 1.05, 1.375, 1.83, 2.431, 3.19, 4.117, 5.222",\
                 "0.8461, 0.8824, 1.006, 1.232, 1.569, 2.021, 2.613, 3.364, 4.283, 5.385",\
                 "1.07, 1.11, 1.243, 1.477, 1.823, 2.289, 2.88, 3.619, 4.53, 5.62",\
                 "1.336, 1.382, 1.53, 1.783, 2.141, 2.62, 3.226, 3.968, 4.865, 5.942",\
                 "1.645, 1.696, 1.861, 2.141, 2.523, 3.015, 3.637, 4.397, 5.298, 6.363",\
                 "1.994, 2.051, 2.236, 2.542, 2.958, 3.478, 4.114, 4.89, 5.814, 6.885");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1884, 0.2038, 0.2569, 0.3568, 0.511, 0.7274, 1.011, 1.368, 1.805, 2.324",\
                 "0.1866, 0.2024, 0.2562, 0.3564, 0.5108, 0.7276, 1.011, 1.369, 1.805, 2.323",\
                 "0.2129, 0.224, 0.2654, 0.356, 0.5099, 0.7268, 1.011, 1.369, 1.805, 2.324",\
                 "0.3198, 0.3335, 0.3779, 0.4548, 0.5656, 0.7445, 1.012, 1.368, 1.804, 2.323",\
                 "0.4495, 0.4658, 0.5196, 0.6142, 0.7468, 0.9112, 1.115, 1.408, 1.811, 2.324",\
                 "0.6018, 0.6218, 0.6892, 0.7992, 0.9534, 1.148, 1.377, 1.635, 1.956, 2.39",\
                 "0.7764, 0.8018, 0.8816, 1.013, 1.19, 1.408, 1.67, 1.97, 2.302, 2.669",\
                 "0.974, 1.003, 1.096, 1.253, 1.456, 1.705, 1.993, 2.326, 2.701, 3.112",\
                 "1.195, 1.23, 1.34, 1.519, 1.753, 2.033, 2.352, 2.715, 3.127, 3.58",\
                 "1.439, 1.48, 1.604, 1.806, 2.077, 2.388, 2.748, 3.145, 3.59, 4.079");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.5322, 0.5881, 0.7828, 1.152, 1.728, 2.532, 3.59, 4.92, 6.543, 8.482",\
                 "0.5328, 0.5883, 0.7822, 1.153, 1.728, 2.533, 3.589, 4.92, 6.545, 8.482",\
                 "0.5339, 0.5889, 0.7832, 1.152, 1.728, 2.532, 3.59, 4.92, 6.545, 8.48",\
                 "0.5646, 0.6145, 0.7938, 1.155, 1.728, 2.532, 3.59, 4.92, 6.547, 8.485",\
                 "0.6366, 0.6896, 0.8694, 1.201, 1.74, 2.533, 3.59, 4.92, 6.545, 8.48",\
                 "0.7282, 0.7778, 0.957, 1.3, 1.82, 2.567, 3.593, 4.921, 6.544, 8.48",\
                 "0.8694, 0.9164, 1.082, 1.413, 1.943, 2.674, 3.652, 4.934, 6.546, 8.481",\
                 "1.043, 1.092, 1.257, 1.57, 2.084, 2.826, 3.788, 5.019, 6.574, 8.483",\
                 "1.238, 1.291, 1.465, 1.782, 2.273, 2.996, 3.971, 5.184, 6.686, 8.533",\
                 "1.451, 1.507, 1.695, 2.028, 2.517, 3.216, 4.178, 5.4, 6.881, 8.673");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1382, 0.1483, 0.1822, 0.2443, 0.339, 0.4695, 0.6398, 0.8531, 1.113, 1.422",\
                 "0.1534, 0.1633, 0.1971, 0.2594, 0.354, 0.4846, 0.6548, 0.8683, 1.128, 1.437",\
                 "0.2062, 0.2164, 0.2496, 0.3113, 0.4058, 0.5361, 0.7064, 0.9197, 1.18, 1.489",\
                 "0.2614, 0.2754, 0.3223, 0.4007, 0.5057, 0.6369, 0.8063, 1.019, 1.279, 1.587",\
                 "0.2904, 0.3092, 0.3695, 0.4707, 0.6069, 0.7729, 0.9623, 1.177, 1.435, 1.743",\
                 "0.2884, 0.3111, 0.3859, 0.5115, 0.6804, 0.8835, 1.117, 1.376, 1.657, 1.966",\
                 "0.2519, 0.2795, 0.3688, 0.5196, 0.7206, 0.9629, 1.239, 1.546, 1.881, 2.239",\
                 "0.1792, 0.2112, 0.315, 0.4913, 0.7259, 1.008, 1.33, 1.684, 2.071, 2.485",\
                 "0.0689, 0.1063, 0.2229, 0.4227, 0.6926, 1.016, 1.383, 1.787, 2.225, 2.694",\
                 "-0.0806, -0.0389, 0.0923, 0.3143, 0.6171, 0.9826, 1.395, 1.852, 2.343, 2.869");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.4446, 0.4769, 0.5891, 0.8006, 1.129, 1.589, 2.193, 2.954, 3.882, 4.99",\
                 "0.4534, 0.4861, 0.599, 0.8121, 1.141, 1.601, 2.206, 2.967, 3.897, 5.004",\
                 "0.4923, 0.5244, 0.638, 0.8516, 1.182, 1.644, 2.25, 3.011, 3.941, 5.049",\
                 "0.5656, 0.5988, 0.7116, 0.9232, 1.252, 1.713, 2.318, 3.08, 4.011, 5.12",\
                 "0.676, 0.7109, 0.8313, 1.05, 1.375, 1.83, 2.431, 3.19, 4.117, 5.222",\
                 "0.8461, 0.8824, 1.006, 1.232, 1.569, 2.021, 2.613, 3.364, 4.283, 5.385",\
                 "1.07, 1.11, 1.243, 1.477, 1.823, 2.289, 2.88, 3.619, 4.53, 5.62",\
                 "1.336, 1.382, 1.53, 1.783, 2.141, 2.62, 3.226, 3.968, 4.865, 5.942",\
                 "1.645, 1.696, 1.861, 2.141, 2.523, 3.015, 3.637, 4.397, 5.298, 6.363",\
                 "1.994, 2.051, 2.236, 2.542, 2.958, 3.478, 4.114, 4.89, 5.814, 6.885");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1884, 0.2038, 0.2569, 0.3568, 0.511, 0.7274, 1.011, 1.368, 1.805, 2.324",\
                 "0.1866, 0.2024, 0.2562, 0.3564, 0.5108, 0.7276, 1.011, 1.369, 1.805, 2.323",\
                 "0.2129, 0.224, 0.2654, 0.356, 0.5099, 0.7268, 1.011, 1.369, 1.805, 2.324",\
                 "0.3198, 0.3335, 0.3779, 0.4548, 0.5656, 0.7445, 1.012, 1.368, 1.804, 2.323",\
                 "0.4495, 0.4658, 0.5196, 0.6142, 0.7468, 0.9112, 1.115, 1.408, 1.811, 2.324",\
                 "0.6018, 0.6218, 0.6892, 0.7992, 0.9534, 1.148, 1.377, 1.635, 1.956, 2.39",\
                 "0.7764, 0.8018, 0.8816, 1.013, 1.19, 1.408, 1.67, 1.97, 2.302, 2.669",\
                 "0.974, 1.003, 1.096, 1.253, 1.456, 1.705, 1.993, 2.326, 2.701, 3.112",\
                 "1.195, 1.23, 1.34, 1.519, 1.753, 2.033, 2.352, 2.715, 3.127, 3.58",\
                 "1.439, 1.48, 1.604, 1.806, 2.077, 2.388, 2.748, 3.145, 3.59, 4.079");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.5322, 0.5881, 0.7828, 1.152, 1.728, 2.532, 3.59, 4.92, 6.543, 8.482",\
                 "0.5328, 0.5883, 0.7822, 1.153, 1.728, 2.533, 3.589, 4.92, 6.545, 8.482",\
                 "0.5339, 0.5889, 0.7832, 1.152, 1.728, 2.532, 3.59, 4.92, 6.545, 8.48",\
                 "0.5646, 0.6145, 0.7938, 1.155, 1.728, 2.532, 3.59, 4.92, 6.547, 8.485",\
                 "0.6366, 0.6896, 0.8694, 1.201, 1.74, 2.533, 3.59, 4.92, 6.545, 8.48",\
                 "0.7282, 0.7778, 0.957, 1.3, 1.82, 2.567, 3.593, 4.921, 6.544, 8.48",\
                 "0.8694, 0.9164, 1.082, 1.413, 1.943, 2.674, 3.652, 4.934, 6.546, 8.481",\
                 "1.043, 1.092, 1.257, 1.57, 2.084, 2.826, 3.788, 5.019, 6.574, 8.483",\
                 "1.238, 1.291, 1.465, 1.782, 2.273, 2.996, 3.971, 5.184, 6.686, 8.533",\
                 "1.451, 1.507, 1.695, 2.028, 2.517, 3.216, 4.178, 5.4, 6.881, 8.673");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1499, 0.1606, 0.1969, 0.2624, 0.36, 0.4935, 0.6658, 0.8809, 1.142, 1.453",\
                 "0.1628, 0.1738, 0.2099, 0.2753, 0.3731, 0.5062, 0.6786, 0.8937, 1.155, 1.465",\
                 "0.2174, 0.2275, 0.262, 0.3257, 0.4232, 0.5561, 0.7283, 0.9434, 1.204, 1.515",\
                 "0.2839, 0.2978, 0.3438, 0.4208, 0.5246, 0.6564, 0.8278, 1.042, 1.303, 1.613",\
                 "0.3272, 0.3451, 0.4041, 0.5023, 0.6359, 0.7987, 0.9853, 1.201, 1.46, 1.769",\
                 "0.345, 0.3669, 0.4388, 0.5592, 0.7218, 0.9202, 1.149, 1.405, 1.683, 1.993",\
                 "0.3354, 0.3611, 0.4456, 0.5889, 0.7809, 1.015, 1.284, 1.585, 1.915, 2.269",\
                 "0.2973, 0.327, 0.4237, 0.5887, 0.8119, 1.082, 1.392, 1.738, 2.116, 2.525",\
                 "0.2308, 0.2646, 0.3726, 0.5588, 0.8109, 1.118, 1.47, 1.861, 2.287, 2.748",\
                 "0.1363, 0.1737, 0.2929, 0.4968, 0.7769, 1.121, 1.515, 1.953, 2.429, 2.941");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.3475, 0.3754, 0.4697, 0.6494, 0.9256, 1.313, 1.822, 2.463, 3.247, 4.178",\
                 "0.3589, 0.3871, 0.4828, 0.6628, 0.9405, 1.328, 1.838, 2.479, 3.263, 4.195",\
                 "0.3934, 0.4215, 0.5175, 0.6985, 0.9768, 1.367, 1.877, 2.519, 3.302, 4.235",\
                 "0.445, 0.4748, 0.5744, 0.7551, 1.033, 1.422, 1.932, 2.574, 3.358, 4.291",\
                 "0.5207, 0.5523, 0.6577, 0.8482, 1.129, 1.514, 2.02, 2.66, 3.441, 4.373",\
                 "0.6359, 0.671, 0.7851, 0.9829, 1.274, 1.666, 2.166, 2.798, 3.574, 4.499",\
                 "0.7842, 0.8243, 0.9525, 1.168, 1.469, 1.869, 2.381, 3.007, 3.771, 4.688",\
                 "0.9628, 1.008, 1.152, 1.392, 1.715, 2.127, 2.648, 3.288, 4.049, 4.953",\
                 "1.169, 1.219, 1.382, 1.648, 2, 2.439, 2.971, 3.62, 4.398, 5.302",\
                 "1.404, 1.459, 1.638, 1.932, 2.319, 2.793, 3.351, 4.012, 4.8, 5.722");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1913, 0.2083, 0.2652, 0.369, 0.5259, 0.7445, 1.029, 1.387, 1.825, 2.344",\
                 "0.1898, 0.2065, 0.264, 0.3687, 0.5266, 0.7445, 1.03, 1.388, 1.825, 2.346",\
                 "0.1975, 0.2114, 0.2626, 0.3655, 0.5251, 0.7439, 1.029, 1.388, 1.825, 2.346",\
                 "0.2924, 0.309, 0.3599, 0.4429, 0.5623, 0.7525, 1.029, 1.388, 1.824, 2.345",\
                 "0.4082, 0.4284, 0.491, 0.5958, 0.7326, 0.9018, 1.114, 1.418, 1.829, 2.345",\
                 "0.5488, 0.5736, 0.647, 0.7682, 0.93, 1.13, 1.365, 1.628, 1.958, 2.398",\
                 "0.7124, 0.7402, 0.8308, 0.972, 1.157, 1.383, 1.651, 1.956, 2.292, 2.664",\
                 "0.8992, 0.9332, 1.039, 1.204, 1.414, 1.667, 1.962, 2.303, 2.683, 3.096",\
                 "1.11, 1.149, 1.273, 1.465, 1.705, 1.987, 2.31, 2.679, 3.094, 3.554",\
                 "1.347, 1.393, 1.538, 1.752, 2.027, 2.342, 2.697, 3.095, 3.542, 4.038");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.427, 0.4721, 0.6343, 0.9443, 1.424, 2.099, 2.983, 4.096, 5.459, 7.077",\
                 "0.4275, 0.4726, 0.6345, 0.9439, 1.425, 2.099, 2.982, 4.097, 5.459, 7.08",\
                 "0.4307, 0.4748, 0.634, 0.9438, 1.424, 2.098, 2.984, 4.097, 5.452, 7.081",\
                 "0.4745, 0.5143, 0.6581, 0.9498, 1.426, 2.099, 2.984, 4.098, 5.452, 7.078",\
                 "0.5532, 0.5922, 0.7368, 1.015, 1.453, 2.103, 2.985, 4.1, 5.459, 7.08",\
                 "0.692, 0.7254, 0.8526, 1.121, 1.551, 2.162, 3.001, 4.1, 5.459, 7.079",\
                 "0.875, 0.9094, 1.029, 1.27, 1.683, 2.29, 3.093, 4.144, 5.466, 7.074",\
                 "1.077, 1.111, 1.241, 1.484, 1.868, 2.452, 3.252, 4.264, 5.536, 7.099",\
                 "1.294, 1.331, 1.469, 1.728, 2.116, 2.67, 3.444, 4.453, 5.691, 7.203",\
                 "1.526, 1.567, 1.716, 1.994, 2.407, 2.956, 3.693, 4.685, 5.916, 7.393");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1148, 0.1263, 0.1645, 0.2327, 0.3328, 0.468, 0.642, 0.8582, 1.12, 1.431",\
                 "0.129, 0.1401, 0.1778, 0.2457, 0.3457, 0.4808, 0.6547, 0.8709, 1.133, 1.444",\
                 "0.185, 0.1964, 0.2327, 0.2973, 0.3958, 0.5304, 0.7041, 0.9203, 1.182, 1.493",\
                 "0.2383, 0.2542, 0.3049, 0.3881, 0.4971, 0.6309, 0.8032, 1.018, 1.28, 1.591",\
                 "0.2661, 0.2868, 0.3522, 0.4595, 0.6, 0.7686, 0.9599, 1.177, 1.436, 1.746",\
                 "0.266, 0.2905, 0.3711, 0.503, 0.6759, 0.8819, 1.116, 1.377, 1.658, 1.969",\
                 "0.235, 0.2642, 0.3592, 0.5161, 0.7212, 0.9665, 1.243, 1.55, 1.885, 2.243",\
                 "0.1732, 0.207, 0.3156, 0.4958, 0.7348, 1.02, 1.34, 1.693, 2.079, 2.492",\
                 "0.0821, 0.1193, 0.2406, 0.4434, 0.7152, 1.038, 1.403, 1.806, 2.241, 2.707",\
                 "-0.0406, 0.0007, 0.1339, 0.3577, 0.6595, 1.022, 1.432, 1.883, 2.369, 2.889");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.3927, 0.4253, 0.5378, 0.7498, 1.077, 1.537, 2.141, 2.903, 3.832, 4.939",\
                 "0.4025, 0.4356, 0.5489, 0.7627, 1.092, 1.552, 2.157, 2.918, 3.848, 4.956",\
                 "0.436, 0.4691, 0.5824, 0.7968, 1.127, 1.589, 2.195, 2.958, 3.887, 4.995",\
                 "0.4862, 0.5207, 0.6359, 0.8489, 1.178, 1.639, 2.245, 3.009, 3.939, 5.047",\
                 "0.5613, 0.5968, 0.7155, 0.9353, 1.263, 1.719, 2.321, 3.08, 4.008, 5.115",\
                 "0.6781, 0.7173, 0.8421, 1.064, 1.399, 1.854, 2.446, 3.196, 4.118, 5.218",\
                 "0.8285, 0.8726, 1.013, 1.25, 1.587, 2.048, 2.641, 3.379, 4.288, 5.379",\
                 "1.012, 1.062, 1.22, 1.481, 1.838, 2.301, 2.899, 3.64, 4.535, 5.61",\
                 "1.227, 1.282, 1.458, 1.748, 2.134, 2.618, 3.218, 3.965, 4.864, 5.926",\
                 "1.469, 1.531, 1.726, 2.047, 2.468, 2.985, 3.604, 4.353, 5.259, 6.327");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1676, 0.1855, 0.2446, 0.3506, 0.5084, 0.727, 1.011, 1.369, 1.805, 2.325",\
                 "0.1641, 0.1823, 0.242, 0.3488, 0.5085, 0.726, 1.01, 1.369, 1.806, 2.324",\
                 "0.1895, 0.2014, 0.2467, 0.3443, 0.5055, 0.7253, 1.011, 1.369, 1.806, 2.325",\
                 "0.2892, 0.304, 0.355, 0.4376, 0.552, 0.7365, 1.01, 1.369, 1.806, 2.325",\
                 "0.4107, 0.4306, 0.4922, 0.593, 0.7286, 0.8952, 1.103, 1.402, 1.81, 2.325",\
                 "0.5584, 0.5844, 0.6576, 0.7754, 0.9326, 1.128, 1.36, 1.62, 1.947, 2.383",\
                 "0.7354, 0.7632, 0.8526, 0.9908, 1.171, 1.389, 1.651, 1.951, 2.285, 2.656",\
                 "0.9376, 0.9734, 1.08, 1.239, 1.443, 1.687, 1.974, 2.305, 2.68, 3.093",\
                 "1.174, 1.214, 1.336, 1.526, 1.756, 2.026, 2.335, 2.693, 3.101, 3.558",\
                 "1.444, 1.486, 1.627, 1.841, 2.105, 2.406, 2.742, 3.127, 3.562, 4.049");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.4226, 0.4771, 0.6695, 1.039, 1.613, 2.421, 3.481, 4.81, 6.437, 8.375",\
                 "0.4236, 0.4777, 0.67, 1.039, 1.614, 2.421, 3.477, 4.814, 6.439, 8.365",\
                 "0.4263, 0.4796, 0.6704, 1.039, 1.615, 2.42, 3.479, 4.812, 6.435, 8.366",\
                 "0.4597, 0.5089, 0.686, 1.044, 1.614, 2.42, 3.481, 4.809, 6.432, 8.369",\
                 "0.5174, 0.569, 0.7486, 1.089, 1.63, 2.42, 3.48, 4.808, 6.437, 8.366",\
                 "0.6382, 0.6826, 0.8428, 1.174, 1.704, 2.461, 3.483, 4.815, 6.434, 8.367",\
                 "0.8144, 0.8584, 1.01, 1.308, 1.816, 2.556, 3.546, 4.836, 6.443, 8.366",\
                 "1.016, 1.061, 1.222, 1.516, 1.98, 2.695, 3.667, 4.913, 6.476, 8.383",\
                 "1.233, 1.283, 1.455, 1.764, 2.222, 2.888, 3.837, 5.06, 6.583, 8.442",\
                 "1.47, 1.522, 1.711, 2.044, 2.521, 3.16, 4.055, 5.259, 6.755, 8.569");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.121, 0.1324, 0.1708, 0.2395, 0.3406, 0.4767, 0.651, 0.8673, 1.129, 1.44",\
                 "0.1348, 0.1462, 0.1841, 0.2525, 0.3534, 0.4894, 0.6637, 0.88, 1.142, 1.453",\
                 "0.1917, 0.2029, 0.2387, 0.3039, 0.4034, 0.539, 0.7132, 0.9294, 1.191, 1.502",\
                 "0.2512, 0.2663, 0.3155, 0.3975, 0.5055, 0.6394, 0.8121, 1.028, 1.289, 1.6",\
                 "0.2879, 0.3072, 0.3696, 0.4741, 0.6128, 0.7796, 0.9696, 1.186, 1.446, 1.755",\
                 "0.2978, 0.3208, 0.3966, 0.5237, 0.6926, 0.8959, 1.129, 1.387, 1.667, 1.978",\
                 "0.2775, 0.3045, 0.393, 0.5425, 0.7433, 0.9839, 1.258, 1.564, 1.896, 2.253",\
                 "0.2261, 0.2565, 0.3575, 0.5296, 0.7612, 1.041, 1.358, 1.709, 2.092, 2.504",\
                 "0.1451, 0.1787, 0.2903, 0.4833, 0.7462, 1.063, 1.425, 1.823, 2.256, 2.721",\
                 "0.0332, 0.0702, 0.1927, 0.4043, 0.6958, 1.051, 1.456, 1.904, 2.387, 2.905");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.4796, 0.512, 0.6236, 0.8359, 1.164, 1.623, 2.228, 2.989, 3.918, 5.024",\
                 "0.4908, 0.5234, 0.6365, 0.8493, 1.178, 1.639, 2.244, 3.004, 3.933, 5.041",\
                 "0.5244, 0.5567, 0.6699, 0.8833, 1.214, 1.676, 2.281, 3.043, 3.974, 5.081",\
                 "0.5773, 0.6101, 0.7228, 0.9349, 1.264, 1.726, 2.332, 3.095, 4.025, 5.133",\
                 "0.6546, 0.6886, 0.806, 1.022, 1.348, 1.805, 2.406, 3.166, 4.094, 5.201",\
                 "0.7786, 0.8139, 0.9332, 1.152, 1.485, 1.938, 2.531, 3.282, 4.202, 5.303",\
                 "0.9423, 0.9816, 1.112, 1.34, 1.674, 2.133, 2.724, 3.463, 4.372, 5.463",\
                 "1.14, 1.184, 1.329, 1.577, 1.925, 2.386, 2.983, 3.723, 4.617, 5.694",\
                 "1.369, 1.419, 1.58, 1.854, 2.228, 2.703, 3.303, 4.048, 4.947, 6.008",\
                 "1.627, 1.683, 1.861, 2.162, 2.568, 3.075, 3.688, 4.436, 5.341, 6.409");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.2155, 0.232, 0.2879, 0.3908, 0.5471, 0.7642, 1.048, 1.406, 1.842, 2.361",\
                 "0.2113, 0.2282, 0.2854, 0.3894, 0.5462, 0.764, 1.048, 1.406, 1.843, 2.362",\
                 "0.2342, 0.2454, 0.2891, 0.3844, 0.5431, 0.7634, 1.048, 1.406, 1.842, 2.362",\
                 "0.3511, 0.3633, 0.4057, 0.4793, 0.5904, 0.7737, 1.047, 1.405, 1.842, 2.361",\
                 "0.4933, 0.5076, 0.5589, 0.6474, 0.7744, 0.9344, 1.14, 1.439, 1.846, 2.363",\
                 "0.6636, 0.6834, 0.7426, 0.8446, 0.9896, 1.178, 1.402, 1.658, 1.984, 2.422",\
                 "0.8648, 0.8856, 0.956, 1.076, 1.239, 1.447, 1.701, 1.995, 2.324, 2.694",\
                 "1.095, 1.122, 1.204, 1.34, 1.525, 1.754, 2.03, 2.355, 2.725, 3.134",\
                 "1.364, 1.39, 1.486, 1.642, 1.853, 2.103, 2.402, 2.752, 3.153, 3.603",\
                 "1.657, 1.694, 1.801, 1.984, 2.216, 2.496, 2.819, 3.192, 3.62, 4.103");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.5324, 0.5878, 0.7828, 1.153, 1.728, 2.532, 3.59, 4.92, 6.545, 8.477",\
                 "0.533, 0.5881, 0.7829, 1.152, 1.728, 2.533, 3.59, 4.921, 6.542, 8.481",\
                 "0.5341, 0.589, 0.7831, 1.153, 1.728, 2.533, 3.59, 4.92, 6.547, 8.479",\
                 "0.5545, 0.6058, 0.79, 1.154, 1.728, 2.532, 3.59, 4.921, 6.545, 8.482",\
                 "0.6134, 0.6658, 0.849, 1.191, 1.739, 2.533, 3.591, 4.921, 6.546, 8.481",\
                 "0.712, 0.76, 0.9328, 1.275, 1.806, 2.564, 3.594, 4.921, 6.545, 8.481",\
                 "0.881, 0.926, 1.082, 1.396, 1.914, 2.659, 3.651, 4.938, 6.546, 8.482",\
                 "1.079, 1.129, 1.291, 1.589, 2.07, 2.794, 3.77, 5.019, 6.582, 8.485",\
                 "1.299, 1.352, 1.528, 1.837, 2.3, 2.981, 3.935, 5.164, 6.687, 8.544",\
                 "1.538, 1.594, 1.784, 2.117, 2.595, 3.245, 4.15, 5.358, 6.859, 8.678");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.1499, 0.1606, 0.1969, 0.2624, 0.36, 0.4935, 0.6658, 0.8809, 1.142, 1.453",\
                 "0.1628, 0.1738, 0.2099, 0.2753, 0.3731, 0.5062, 0.6786, 0.8937, 1.155, 1.465",\
                 "0.2174, 0.2275, 0.262, 0.3257, 0.4232, 0.5561, 0.7283, 0.9434, 1.204, 1.515",\
                 "0.2839, 0.2978, 0.3438, 0.4208, 0.5246, 0.6564, 0.8278, 1.042, 1.303, 1.613",\
                 "0.3272, 0.3451, 0.4041, 0.5023, 0.6359, 0.7987, 0.9853, 1.201, 1.46, 1.769",\
                 "0.345, 0.3669, 0.4388, 0.5592, 0.7218, 0.9202, 1.149, 1.405, 1.683, 1.993",\
                 "0.3354, 0.3611, 0.4456, 0.5889, 0.7809, 1.015, 1.284, 1.585, 1.915, 2.269",\
                 "0.2973, 0.327, 0.4237, 0.5887, 0.8119, 1.082, 1.392, 1.738, 2.116, 2.525",\
                 "0.2308, 0.2646, 0.3726, 0.5588, 0.8109, 1.118, 1.47, 1.861, 2.287, 2.748",\
                 "0.1363, 0.1737, 0.2929, 0.4968, 0.7769, 1.121, 1.515, 1.953, 2.429, 2.941");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.4796, 0.512, 0.6236, 0.8359, 1.164, 1.623, 2.228, 2.989, 3.918, 5.024",\
                 "0.4908, 0.5234, 0.6365, 0.8493, 1.178, 1.639, 2.244, 3.004, 3.933, 5.041",\
                 "0.5244, 0.5567, 0.6699, 0.8833, 1.214, 1.676, 2.281, 3.043, 3.974, 5.081",\
                 "0.5773, 0.6101, 0.7228, 0.9349, 1.264, 1.726, 2.332, 3.095, 4.025, 5.133",\
                 "0.6546, 0.6886, 0.806, 1.022, 1.348, 1.805, 2.406, 3.166, 4.094, 5.201",\
                 "0.7786, 0.8139, 0.9332, 1.152, 1.485, 1.938, 2.531, 3.282, 4.202, 5.303",\
                 "0.9423, 0.9816, 1.112, 1.34, 1.674, 2.133, 2.724, 3.463, 4.372, 5.463",\
                 "1.14, 1.184, 1.329, 1.577, 1.925, 2.386, 2.983, 3.723, 4.617, 5.694",\
                 "1.369, 1.419, 1.58, 1.854, 2.228, 2.703, 3.303, 4.048, 4.947, 6.008",\
                 "1.627, 1.683, 1.861, 2.162, 2.568, 3.075, 3.688, 4.436, 5.341, 6.409");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.2155, 0.232, 0.2879, 0.3908, 0.5471, 0.7642, 1.048, 1.406, 1.842, 2.361",\
                 "0.2113, 0.2282, 0.2854, 0.3894, 0.5462, 0.764, 1.048, 1.406, 1.843, 2.362",\
                 "0.2342, 0.2454, 0.2891, 0.3844, 0.5431, 0.7634, 1.048, 1.406, 1.842, 2.362",\
                 "0.3511, 0.3633, 0.4057, 0.4793, 0.5904, 0.7737, 1.047, 1.405, 1.842, 2.361",\
                 "0.4933, 0.5076, 0.5589, 0.6474, 0.7744, 0.9344, 1.14, 1.439, 1.846, 2.363",\
                 "0.6636, 0.6834, 0.7426, 0.8446, 0.9896, 1.178, 1.402, 1.658, 1.984, 2.422",\
                 "0.8648, 0.8856, 0.956, 1.076, 1.239, 1.447, 1.701, 1.995, 2.324, 2.694",\
                 "1.095, 1.122, 1.204, 1.34, 1.525, 1.754, 2.03, 2.355, 2.725, 3.134",\
                 "1.364, 1.39, 1.486, 1.642, 1.853, 2.103, 2.402, 2.752, 3.153, 3.603",\
                 "1.657, 1.694, 1.801, 1.984, 2.216, 2.496, 2.819, 3.192, 3.62, 4.103");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002551, 0.007994, 0.01839, 0.03458, 0.0573, 0.0872, 0.1249, 0.1708, 0.2257");
          values("0.5324, 0.5878, 0.7828, 1.153, 1.728, 2.532, 3.59, 4.92, 6.545, 8.477",\
                 "0.533, 0.5881, 0.7829, 1.152, 1.728, 2.533, 3.59, 4.921, 6.542, 8.481",\
                 "0.5341, 0.589, 0.7831, 1.153, 1.728, 2.533, 3.59, 4.92, 6.547, 8.479",\
                 "0.5545, 0.6058, 0.79, 1.154, 1.728, 2.532, 3.59, 4.921, 6.545, 8.482",\
                 "0.6134, 0.6658, 0.849, 1.191, 1.739, 2.533, 3.591, 4.921, 6.546, 8.481",\
                 "0.712, 0.76, 0.9328, 1.275, 1.806, 2.564, 3.594, 4.921, 6.545, 8.481",\
                 "0.881, 0.926, 1.082, 1.396, 1.914, 2.659, 3.651, 4.938, 6.546, 8.482",\
                 "1.079, 1.129, 1.291, 1.589, 2.07, 2.794, 3.77, 5.019, 6.582, 8.485",\
                 "1.299, 1.352, 1.528, 1.837, 2.3, 2.981, 3.935, 5.164, 6.687, 8.544",\
                 "1.538, 1.594, 1.784, 2.117, 2.595, 3.245, 4.15, 5.358, 6.859, 8.678");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi211_4) {
    area : 79.027200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&!C" ;
      value : "0.0001554432" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&C" ;
      value : "0.0002553144" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&!C" ;
      value : "0.0001984191" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&C" ;
      value : "0.0001984191" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&!C" ;
      value : "0.0001557567" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&C" ;
      value : "0.0002585748" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&!C" ;
      value : "0.0002018841" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&C" ;
      value : "0.0002018874" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&!C" ;
      value : "0.00022077" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&C" ;
      value : "0.0002585748" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&!C" ;
      value : "0.0002018841" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&C" ;
      value : "0.0002018841" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&!C" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&C" ;
      value : "0.0001141173" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&!C" ;
      value : "0.0001141107" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&C" ;
      value : "0.0001141107" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002585748" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01864 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07326, 0.07326, 0.07328, 0.07315, 0.07299, 0.07297, 0.07294, \
                 0.07291, 0.07289, 0.07286");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04968, -0.04967, -0.04964, -0.04952, -0.04943, -0.04955, -0.04955, \
                 -0.04959, -0.04966, -0.04973");
        }
      }

      internal_power() {
        when : "!A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01901, 0.01894, 0.01902, 0.01908, 0.01905, 0.01916, 0.01914, \
                 0.01916, 0.01915, 0.01916");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01906, -0.01909, -0.01909, -0.01911, -0.01913, -0.0192, -0.01921, \
                 -0.01921, -0.01924, -0.01926");
        }
      }

      internal_power() {
        when : "!A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01906, 0.01898, 0.01906, 0.01912, 0.01911, 0.01918, 0.01918, \
                 0.01919, 0.0192, 0.01921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01913, -0.01916, -0.01916, -0.01918, -0.01921, -0.01928, -0.01929, \
                 -0.01929, -0.01933, -0.01935");
        }
      }

      internal_power() {
        when : "!A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01903, 0.01899, 0.01907, 0.01912, 0.0191, 0.01921, 0.01917, \
                 0.0192, 0.0192, 0.01922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01914, -0.01918, -0.01919, -0.01918, -0.01917, -0.01927, -0.01927, \
                 -0.0193, -0.01931, -0.01935");
        }
      }

      internal_power() {
        when : "A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1151, 0.115, 0.1148, 0.1147, 0.1146, 0.1146, 0.1144, 0.1143, \
                 0.1141, 0.1137");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0192, -0.0192, -0.01922, -0.01926, -0.01928, -0.01932, -0.01932, \
                 -0.01931, -0.01931, -0.01929");
        }
      }

      internal_power() {
        when : "A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07356, 0.07347, 0.07339, 0.07328, 0.07323, 0.07324, 0.07317, \
                 0.07307, 0.07293, 0.07277");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01922, -0.01922, -0.01928, -0.01927, -0.01928, -0.01934, -0.01935, \
                 -0.01935, -0.01935, -0.01934");
        }
      }

      internal_power() {
        when : "A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07354, 0.07346, 0.07337, 0.07328, 0.07319, 0.07326, 0.07317, \
                 0.07305, 0.07295, 0.07274");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01922, -0.01927, -0.01928, -0.0193, -0.0193, -0.01935, -0.01935, \
                 -0.01936, -0.01936, -0.01935");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01894 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07173, 0.0672, 0.06576, 0.06552, 0.06539, 0.06536, 0.06531, \
                 0.0653, 0.06527, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06565, -0.06573, -0.06562, -0.06546, -0.0653, -0.06533, -0.06526, \
                 -0.06525, -0.0652, -0.0652");
        }
      }

      internal_power() {
        when : "!A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01903, 0.01904, 0.01905, 0.01908, 0.01906, 0.01915, 0.01916, \
                 0.01916, 0.01915, 0.01916");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01909, -0.01911, -0.01911, -0.01916, -0.01919, -0.01922, \
                 -0.01923, -0.01924, -0.01926");
        }
      }

      internal_power() {
        when : "!A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01907, 0.01908, 0.0191, 0.01912, 0.0191, 0.01919, 0.01919, 0.0192, \
                 0.0192, 0.0192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01916, -0.01916, -0.01918, -0.01918, -0.01923, -0.01927, -0.01929, \
                 -0.0193, -0.01932, -0.01934");
        }
      }

      internal_power() {
        when : "!A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01907, 0.01908, 0.0191, 0.01913, 0.01909, 0.0192, 0.0192, 0.0192, \
                 0.0192, 0.0192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01917, -0.01916, -0.01919, -0.01918, -0.01921, -0.01928, -0.01929, \
                 -0.01929, -0.01932, -0.01935");
        }
      }

      internal_power() {
        when : "A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1151, 0.115, 0.1149, 0.1147, 0.1146, 0.1145, 0.1144, 0.1142, \
                 0.114, 0.1137");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01924, -0.01923, -0.01929, -0.01931, -0.01926, -0.01933, -0.01932, \
                 -0.01931, -0.0193, -0.0193");
        }
      }

      internal_power() {
        when : "A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07358, 0.07347, 0.07338, 0.0733, 0.07318, 0.07326, 0.07315, \
                 0.07309, 0.07294, 0.07274");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01926, -0.01924, -0.0193, -0.01933, -0.01927, -0.01935, -0.01936, \
                 -0.01935, -0.01935, -0.01936");
        }
      }

      internal_power() {
        when : "A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07355, 0.07346, 0.07337, 0.07328, 0.07321, 0.07326, 0.07317, \
                 0.07306, 0.07292, 0.07275");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01925, -0.01925, -0.01928, -0.0193, -0.0193, -0.01937, -0.01936, \
                 -0.01934, -0.01936, -0.01935");
        }
      }
    }

    pin(B) {
      capacitance : 0.01646 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04075, 0.04071, 0.04075, 0.04075, 0.04072, 0.04075, 0.04062, \
                 0.04051, 0.04033, 0.04006");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0253, -0.02529, -0.02536, -0.02541, -0.02542, -0.0255, -0.02551, \
                 -0.02554, -0.0256, -0.02562");
        }
      }

      internal_power() {
        when : "!A1&A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04038, 0.04033, 0.0404, 0.04038, 0.04034, 0.04036, 0.04029, \
                 0.04017, 0.03996, 0.0397");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02537, -0.02535, -0.02542, -0.02549, -0.02547, -0.02555, -0.02557, \
                 -0.02561, -0.02566, -0.0257");
        }
      }

      internal_power() {
        when : "A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0404, 0.04038, 0.04034, 0.04038, 0.04039, 0.04038, 0.04027, \
                 0.04015, 0.03997, 0.0397");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02539, -0.02536, -0.02542, -0.02548, -0.0255, -0.02556, -0.02559, \
                 -0.0256, -0.02566, -0.0257");
        }
      }

      internal_power() {
        when : "A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06554, 0.06538, 0.06536, 0.06529, 0.0653, 0.06532, 0.06533, \
                 0.06531, 0.06535, 0.06539");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05176, -0.05335, -0.05718, -0.06004, -0.06142, -0.06227, -0.0627, \
                 -0.06299, -0.06319, -0.06335");
        }
      }

      internal_power() {
        when : "A1&A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03744, 0.03744, 0.03745, 0.03751, 0.03749, 0.03763, 0.03759, \
                 0.03761, 0.03761, 0.0376");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04265, -0.0408, -0.03958, -0.03915, -0.03898, -0.03901, -0.03901, \
                 -0.03903, -0.03912, -0.03924");
        }
      }
    }

    pin(C) {
      capacitance : 0.01593 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06525, 0.06506, 0.06508, 0.06522, 0.06511, 0.06528, 0.06528, \
                 0.06527, 0.06518, 0.06521");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05797, -0.06032, -0.06251, -0.06324, -0.06353, -0.06394, -0.06406, \
                 -0.06415, -0.06428, -0.06434");
        }
      }

      internal_power() {
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06525, 0.06506, 0.06509, 0.06514, 0.0651, 0.06529, 0.06514, \
                 0.06523, 0.0652, 0.06521");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05801, -0.06034, -0.06251, -0.06318, -0.06354, -0.06393, -0.06406, \
                 -0.06414, -0.06424, -0.06434");
        }
      }

      internal_power() {
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06525, 0.06506, 0.06499, 0.06504, 0.06509, 0.0653, 0.0652, 0.06522, \
                 0.06523, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05803, -0.06035, -0.06252, -0.06319, -0.06355, -0.06394, -0.0641, \
                 -0.06414, -0.06425, -0.06431");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06541, 0.06521, 0.06529, 0.0652, 0.06527, 0.06542, 0.06548, \
                 0.0654, 0.0655, 0.06537");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05314, -0.0549, -0.05764, -0.05973, -0.06093, -0.06193, -0.06233, \
                 -0.06265, -0.06287, -0.06306");
        }
      }

      internal_power() {
        when : "A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06525, 0.06506, 0.06512, 0.06503, 0.0651, 0.06524, 0.06517, \
                 0.06522, 0.0652, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05935, -0.06088, -0.06253, -0.0632, -0.06352, -0.06394, -0.06411, \
                 -0.06415, -0.06427, -0.06428");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B)&(!C))|((!A2)&(!B)&(!C)))" ;
      max_capacitance : 0.4855 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.01191, 0.01233, 0.01306, 0.01361, 0.01389, 0.01404, 0.01416, 0.01424, 0.01428, 0.0143",\
                 "0.01168, 0.0122, 0.01371, 0.0151, 0.01601, 0.01657, 0.01693, 0.01717, 0.01733, 0.01744",\
                 "0.01814, 0.0184, 0.01907, 0.01992, 0.02059, 0.02111, 0.02148, 0.02172, 0.02188, 0.022",\
                 "0.03585, 0.03528, 0.03359, 0.03194, 0.03044, 0.02922, 0.02823, 0.02748, 0.02691, 0.02646",\
                 "0.0686, 0.06688, 0.06224, 0.05662, 0.05133, 0.04668, 0.0429, 0.03977, 0.03722, 0.03519",\
                 "0.1212, 0.1185, 0.1105, 0.09947, 0.08857, 0.07889, 0.07058, 0.06358, 0.05775, 0.05292",\
                 "0.1963, 0.1925, 0.181, 0.1644, 0.1466, 0.1301, 0.1158, 0.1032, 0.09251, 0.08336",\
                 "0.2952, 0.2905, 0.2758, 0.2536, 0.2287, 0.204, 0.182, 0.1625, 0.1455, 0.1307",\
                 "0.4192, 0.4136, 0.3959, 0.3685, 0.3363, 0.3035, 0.2723, 0.2445, 0.2198, 0.1981",\
                 "0.5694, 0.5629, 0.5426, 0.5101, 0.4711, 0.4298, 0.3894, 0.3519, 0.3182, 0.2884");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.2439, 0.2448, 0.2465, 0.2481, 0.2495, 0.2507, 0.2516, 0.2522, 0.2542, 0.2596",\
                 "0.2382, 0.2393, 0.2421, 0.2452, 0.2479, 0.25, 0.2519, 0.253, 0.2549, 0.2605",\
                 "0.2405, 0.2405, 0.2411, 0.2427, 0.2451, 0.2475, 0.2497, 0.2516, 0.2535, 0.2602",\
                 "0.2637, 0.2625, 0.2591, 0.2554, 0.2534, 0.2526, 0.253, 0.2538, 0.2551, 0.2615",\
                 "0.3072, 0.3049, 0.2983, 0.2893, 0.2808, 0.2741, 0.2696, 0.267, 0.2659, 0.2706",\
                 "0.3722, 0.3689, 0.359, 0.3457, 0.3311, 0.3169, 0.305, 0.2959, 0.2902, 0.2933",\
                 "0.4613, 0.4569, 0.4438, 0.4248, 0.4047, 0.3841, 0.3645, 0.3474, 0.335, 0.3349",\
                 "0.5764, 0.5709, 0.5542, 0.5301, 0.5034, 0.4768, 0.45, 0.4244, 0.4037, 0.4018",\
                 "0.7193, 0.7127, 0.6926, 0.663, 0.6298, 0.5955, 0.5621, 0.5303, 0.5014, 0.5014",\
                 "0.8914, 0.884, 0.8606, 0.8257, 0.7856, 0.7438, 0.7026, 0.6629, 0.6311, 0.6447");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.01224, 0.01251, 0.01315, 0.01368, 0.01394, 0.01405, 0.01415, 0.01422, 0.01426, 0.01429",\
                 "0.01069, 0.01152, 0.01331, 0.0149, 0.01591, 0.01649, 0.01688, 0.01713, 0.01728, 0.0174",\
                 "0.01394, 0.0145, 0.01605, 0.01767, 0.01907, 0.02005, 0.0207, 0.02114, 0.02144, 0.02166",\
                 "0.03005, 0.02979, 0.02903, 0.02844, 0.02793, 0.02737, 0.02695, 0.0265, 0.02616, 0.02589",\
                 "0.06165, 0.06037, 0.05673, 0.05233, 0.04819, 0.04446, 0.0414, 0.03877, 0.03658, 0.03477",\
                 "0.1135, 0.1112, 0.1042, 0.09467, 0.08515, 0.07658, 0.06914, 0.06281, 0.05739, 0.05288",\
                 "0.1881, 0.1847, 0.1743, 0.1595, 0.1433, 0.1282, 0.1149, 0.1032, 0.09305, 0.08434",\
                 "0.2871, 0.2827, 0.2691, 0.2488, 0.2258, 0.2029, 0.182, 0.1635, 0.1473, 0.133",\
                 "0.4119, 0.4064, 0.3898, 0.3641, 0.3341, 0.3032, 0.2736, 0.2467, 0.2231, 0.2021",\
                 "0.5633, 0.5571, 0.5375, 0.5069, 0.47, 0.4309, 0.3921, 0.3561, 0.3235, 0.2943");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.3018, 0.3019, 0.3022, 0.3029, 0.3035, 0.3044, 0.3056, 0.3069, 0.3086, 0.3147",\
                 "0.2971, 0.2974, 0.2985, 0.2997, 0.3009, 0.3021, 0.3036, 0.3052, 0.3069, 0.313",\
                 "0.3003, 0.3, 0.2997, 0.2998, 0.3006, 0.3016, 0.303, 0.3043, 0.3063, 0.3127",\
                 "0.3237, 0.3225, 0.319, 0.3148, 0.3114, 0.3095, 0.3087, 0.3087, 0.3095, 0.3156",\
                 "0.3681, 0.366, 0.3596, 0.3506, 0.3412, 0.3335, 0.3278, 0.3237, 0.3216, 0.3271",\
                 "0.4347, 0.4317, 0.4227, 0.4092, 0.3943, 0.3791, 0.3662, 0.3561, 0.3488, 0.3517",\
                 "0.5259, 0.5224, 0.5104, 0.4923, 0.4714, 0.4497, 0.4292, 0.4112, 0.3963, 0.3959",\
                 "0.6438, 0.6394, 0.6249, 0.6024, 0.5758, 0.5475, 0.5186, 0.4917, 0.4699, 0.467",\
                 "0.7895, 0.7845, 0.7682, 0.7414, 0.7083, 0.673, 0.6373, 0.6023, 0.5728, 0.5716",\
                 "0.9651, 0.9594, 0.9408, 0.9104, 0.8717, 0.8293, 0.7852, 0.743, 0.7087, 0.7233");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.09373, 0.09377, 0.09376, 0.09373, 0.09385, 0.09393, 0.09408, 0.09404, 0.09406, 0.0941",\
                 "0.09455, 0.09454, 0.09471, 0.0948, 0.09504, 0.09503, 0.09517, 0.09519, 0.09525, 0.09529",\
                 "0.09558, 0.09552, 0.09556, 0.09543, 0.09571, 0.09586, 0.09595, 0.09595, 0.09602, 0.09602",\
                 "0.1058, 0.1054, 0.1043, 0.1029, 0.1016, 0.1004, 0.09951, 0.09886, 0.09829, 0.09796",\
                 "0.1341, 0.1331, 0.1298, 0.1251, 0.1204, 0.116, 0.1124, 0.1094, 0.107, 0.1051",\
                 "0.1851, 0.183, 0.1769, 0.1678, 0.1579, 0.1483, 0.1399, 0.133, 0.127, 0.122",\
                 "0.2612, 0.2583, 0.2491, 0.2348, 0.2184, 0.2021, 0.1871, 0.174, 0.1628, 0.1534",\
                 "0.3641, 0.3604, 0.3481, 0.3288, 0.3053, 0.281, 0.2579, 0.2372, 0.2187, 0.2029",\
                 "0.4948, 0.4903, 0.4753, 0.4509, 0.4207, 0.3878, 0.3557, 0.3259, 0.2991, 0.2751",\
                 "0.6542, 0.6489, 0.6317, 0.6027, 0.5657, 0.5245, 0.4827, 0.4431, 0.4062, 0.3729");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.3556, 0.3558, 0.3566, 0.357, 0.3578, 0.3588, 0.3598, 0.361, 0.3624, 0.3644",\
                 "0.3523, 0.3527, 0.3541, 0.3553, 0.3566, 0.3578, 0.3591, 0.3604, 0.3617, 0.3644",\
                 "0.3486, 0.349, 0.3503, 0.352, 0.354, 0.3557, 0.3575, 0.3595, 0.3607, 0.3634",\
                 "0.3552, 0.3548, 0.3542, 0.354, 0.3545, 0.3559, 0.3573, 0.3589, 0.3604, 0.3634",\
                 "0.3857, 0.3841, 0.3797, 0.3749, 0.3703, 0.3676, 0.3663, 0.3655, 0.3663, 0.3683",\
                 "0.4467, 0.4435, 0.4344, 0.4226, 0.4116, 0.4015, 0.3939, 0.3884, 0.3844, 0.3825",\
                 "0.5383, 0.5337, 0.5199, 0.5006, 0.481, 0.4628, 0.4466, 0.4333, 0.4223, 0.4167",\
                 "0.6593, 0.6536, 0.6361, 0.6105, 0.5811, 0.5536, 0.5285, 0.5061, 0.4868, 0.4753",\
                 "0.8105, 0.8039, 0.7831, 0.751, 0.7134, 0.6754, 0.6412, 0.6087, 0.5804, 0.5631",\
                 "0.9933, 0.9859, 0.9618, 0.9244, 0.8788, 0.8309, 0.7846, 0.7432, 0.7051, 0.6868");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.08266, 0.08257, 0.08253, 0.08247, 0.08254, 0.08264, 0.08261, 0.08269, 0.08268, 0.08269",\
                 "0.08276, 0.08272, 0.08271, 0.0828, 0.08291, 0.08297, 0.08303, 0.08309, 0.08305, 0.08307",\
                 "0.08309, 0.08297, 0.08278, 0.0825, 0.08254, 0.08245, 0.08244, 0.08243, 0.08242, 0.0824",\
                 "0.09325, 0.09279, 0.09126, 0.08958, 0.08786, 0.08648, 0.08545, 0.08457, 0.08412, 0.08364",\
                 "0.1223, 0.121, 0.1169, 0.1113, 0.1058, 0.1013, 0.09748, 0.09442, 0.09197, 0.09009",\
                 "0.1741, 0.1717, 0.1641, 0.1537, 0.1428, 0.1326, 0.1239, 0.1167, 0.1108, 0.1059",\
                 "0.2509, 0.2474, 0.2365, 0.2202, 0.2023, 0.1849, 0.1694, 0.1561, 0.1449, 0.1355",\
                 "0.354, 0.3496, 0.3351, 0.3132, 0.2876, 0.2619, 0.238, 0.2168, 0.1983, 0.1826",\
                 "0.4847, 0.4793, 0.4619, 0.4345, 0.4012, 0.3665, 0.333, 0.3024, 0.2753, 0.2514",\
                 "0.6436, 0.6376, 0.6177, 0.5851, 0.5443, 0.5004, 0.4569, 0.416, 0.3787, 0.3452");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.3221, 0.3225, 0.3229, 0.3236, 0.3243, 0.3251, 0.3262, 0.3269, 0.3284, 0.3341",\
                 "0.3186, 0.3192, 0.3204, 0.3218, 0.3233, 0.3243, 0.3254, 0.3267, 0.3281, 0.3341",\
                 "0.315, 0.3153, 0.3165, 0.3184, 0.3204, 0.3223, 0.3239, 0.3254, 0.3274, 0.3338",\
                 "0.3206, 0.3203, 0.3199, 0.3199, 0.3205, 0.3218, 0.3232, 0.3248, 0.3267, 0.3334",\
                 "0.3489, 0.3474, 0.3435, 0.3388, 0.335, 0.3325, 0.3314, 0.331, 0.3312, 0.3379",\
                 "0.4079, 0.4047, 0.3958, 0.3846, 0.3738, 0.3647, 0.3573, 0.3521, 0.3489, 0.3547",\
                 "0.498, 0.4933, 0.4797, 0.4609, 0.4419, 0.4247, 0.4088, 0.3955, 0.3859, 0.3891",\
                 "0.6182, 0.6121, 0.5944, 0.5685, 0.5405, 0.5132, 0.4893, 0.467, 0.4481, 0.4487",\
                 "0.7681, 0.7613, 0.7401, 0.7077, 0.6707, 0.634, 0.5998, 0.5688, 0.5418, 0.5403",\
                 "0.9498, 0.942, 0.9178, 0.8798, 0.8344, 0.7871, 0.7423, 0.7008, 0.6689, 0.677");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.08266, 0.08262, 0.0826, 0.08258, 0.08265, 0.0827, 0.08272, 0.08272, 0.08272, 0.08269",\
                 "0.08275, 0.08278, 0.08281, 0.08285, 0.08294, 0.08298, 0.08303, 0.08308, 0.08305, 0.08299",\
                 "0.08305, 0.08293, 0.08284, 0.08264, 0.08254, 0.08252, 0.08247, 0.08248, 0.08241, 0.08238",\
                 "0.09334, 0.09276, 0.09131, 0.0896, 0.08786, 0.08648, 0.08541, 0.08465, 0.0841, 0.08357",\
                 "0.1222, 0.1207, 0.1168, 0.1113, 0.1059, 0.1013, 0.09748, 0.09445, 0.092, 0.09013",\
                 "0.1738, 0.1714, 0.1639, 0.1536, 0.1426, 0.1324, 0.124, 0.1167, 0.1109, 0.106",\
                 "0.2504, 0.2469, 0.236, 0.22, 0.2022, 0.1848, 0.1693, 0.156, 0.1449, 0.1355",\
                 "0.3532, 0.3487, 0.3348, 0.3128, 0.2874, 0.2617, 0.2379, 0.2167, 0.1983, 0.1826",\
                 "0.4836, 0.4783, 0.4613, 0.4339, 0.4008, 0.3663, 0.3327, 0.3023, 0.2752, 0.2513",\
                 "0.6426, 0.6365, 0.6169, 0.5845, 0.5439, 0.5001, 0.4567, 0.4157, 0.3785, 0.345");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.3863, 0.3865, 0.387, 0.3876, 0.3883, 0.3893, 0.3903, 0.3916, 0.3934, 0.3998",\
                 "0.3837, 0.384, 0.3849, 0.3861, 0.3874, 0.3886, 0.3899, 0.3916, 0.3934, 0.3998",\
                 "0.38, 0.3803, 0.3813, 0.383, 0.3849, 0.3865, 0.3884, 0.39, 0.3925, 0.3992",\
                 "0.3839, 0.3838, 0.3836, 0.3839, 0.3847, 0.3862, 0.3877, 0.3896, 0.3924, 0.3994",\
                 "0.409, 0.4081, 0.4049, 0.4013, 0.3982, 0.3962, 0.3956, 0.3952, 0.3966, 0.4037",\
                 "0.4636, 0.4611, 0.4541, 0.4448, 0.4358, 0.4273, 0.4206, 0.4164, 0.4136, 0.4197",\
                 "0.55, 0.5463, 0.5348, 0.5186, 0.5014, 0.4852, 0.4707, 0.4588, 0.4502, 0.4541",\
                 "0.6667, 0.6623, 0.6469, 0.6236, 0.5977, 0.5729, 0.55, 0.5287, 0.512, 0.5128",\
                 "0.8148, 0.8087, 0.79, 0.7606, 0.7264, 0.6916, 0.6595, 0.6288, 0.6041, 0.6053",\
                 "0.994, 0.9873, 0.9652, 0.9305, 0.8882, 0.8438, 0.8002, 0.7608, 0.7296, 0.7402");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1317, 0.1314, 0.1316, 0.1315, 0.1315, 0.1315, 0.1315, 0.1315, 0.1316, 0.1316",\
                 "0.1278, 0.1278, 0.1277, 0.1278, 0.1278, 0.1278, 0.1279, 0.1279, 0.1278, 0.1279",\
                 "0.1261, 0.126, 0.1257, 0.1253, 0.125, 0.1249, 0.1249, 0.1248, 0.1247, 0.1246",\
                 "0.1364, 0.1358, 0.1345, 0.1323, 0.1305, 0.1286, 0.1275, 0.1266, 0.1259, 0.1254",\
                 "0.1676, 0.1662, 0.162, 0.1565, 0.1506, 0.1452, 0.141, 0.1373, 0.1346, 0.1325",\
                 "0.2252, 0.2227, 0.2153, 0.2043, 0.1921, 0.1806, 0.1708, 0.1625, 0.1557, 0.1501",\
                 "0.3127, 0.3093, 0.2982, 0.281, 0.2611, 0.2412, 0.2232, 0.2079, 0.1947, 0.1837",\
                 "0.4328, 0.4281, 0.4133, 0.3896, 0.361, 0.3315, 0.3035, 0.2785, 0.2568, 0.2382",\
                 "0.5863, 0.5809, 0.5624, 0.5326, 0.495, 0.4549, 0.4156, 0.3794, 0.3468, 0.318",\
                 "0.7747, 0.7683, 0.7469, 0.711, 0.6654, 0.6144, 0.5631, 0.514, 0.4689, 0.4288");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4004, 0.4006, 0.4012, 0.4019, 0.4025, 0.4035, 0.4046, 0.4056, 0.4066, 0.4086",\
                 "0.3969, 0.3973, 0.3987, 0.4, 0.4013, 0.4026, 0.404, 0.4052, 0.4066, 0.4086",\
                 "0.3929, 0.3934, 0.3948, 0.3967, 0.3987, 0.4007, 0.4024, 0.4042, 0.4059, 0.4083",\
                 "0.3963, 0.3965, 0.3963, 0.3966, 0.3977, 0.3994, 0.401, 0.4026, 0.4049, 0.4083",\
                 "0.4244, 0.423, 0.4195, 0.4151, 0.4121, 0.4102, 0.4092, 0.4089, 0.4095, 0.4116",\
                 "0.4889, 0.4858, 0.4768, 0.4652, 0.4547, 0.4454, 0.4381, 0.4326, 0.4289, 0.428",\
                 "0.5927, 0.5879, 0.5734, 0.5528, 0.5317, 0.5134, 0.4971, 0.4831, 0.4728, 0.4663",\
                 "0.7337, 0.7275, 0.7086, 0.6797, 0.6475, 0.6172, 0.5904, 0.5666, 0.5463, 0.5331",\
                 "0.9111, 0.9038, 0.8812, 0.846, 0.8034, 0.7602, 0.7207, 0.6862, 0.6555, 0.6339",\
                 "1.125, 1.117, 1.092, 1.051, 0.9998, 0.9441, 0.8916, 0.8428, 0.8009, 0.7749");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1204, 0.1205, 0.1203, 0.1203, 0.1202, 0.1203, 0.1203, 0.1204, 0.1204, 0.1204",\
                 "0.1166, 0.1165, 0.1165, 0.1164, 0.1164, 0.1163, 0.1165, 0.1164, 0.1165, 0.1164",\
                 "0.1144, 0.1143, 0.1139, 0.1134, 0.1131, 0.1129, 0.1128, 0.1127, 0.1127, 0.1126",\
                 "0.1244, 0.1237, 0.1218, 0.1196, 0.1175, 0.1158, 0.1145, 0.1137, 0.1131, 0.1126",\
                 "0.1557, 0.1541, 0.1492, 0.1427, 0.1364, 0.131, 0.1267, 0.1232, 0.1206, 0.1187",\
                 "0.2138, 0.2109, 0.2021, 0.1897, 0.1765, 0.1645, 0.1547, 0.1465, 0.1401, 0.1348",\
                 "0.302, 0.2977, 0.2846, 0.2651, 0.2435, 0.2228, 0.2045, 0.1891, 0.1765, 0.1659",\
                 "0.4221, 0.4167, 0.3993, 0.3724, 0.3414, 0.3102, 0.2814, 0.2564, 0.2351, 0.217",\
                 "0.5753, 0.5688, 0.5477, 0.5138, 0.4728, 0.4305, 0.3899, 0.353, 0.3208, 0.2928",\
                 "0.7627, 0.7552, 0.7307, 0.6902, 0.6401, 0.5859, 0.5325, 0.4826, 0.4376, 0.398");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.3668, 0.367, 0.3676, 0.3683, 0.369, 0.3698, 0.3708, 0.3716, 0.373, 0.3783",\
                 "0.3633, 0.3639, 0.3651, 0.3665, 0.3679, 0.369, 0.3701, 0.3714, 0.3729, 0.3783",\
                 "0.3594, 0.36, 0.3612, 0.363, 0.3651, 0.3671, 0.3687, 0.3706, 0.3723, 0.3787",\
                 "0.3621, 0.3621, 0.3621, 0.3626, 0.3638, 0.3656, 0.3671, 0.369, 0.3709, 0.378",\
                 "0.3873, 0.3859, 0.3827, 0.3791, 0.3761, 0.3745, 0.3737, 0.3738, 0.3748, 0.3815",\
                 "0.4479, 0.4447, 0.436, 0.4251, 0.4157, 0.4069, 0.4002, 0.3955, 0.3931, 0.3969",\
                 "0.5477, 0.5429, 0.5284, 0.5084, 0.4888, 0.4715, 0.4561, 0.4427, 0.4335, 0.4353",\
                 "0.6856, 0.6795, 0.6604, 0.6318, 0.6007, 0.5717, 0.5461, 0.5234, 0.5043, 0.5016",\
                 "0.8605, 0.8532, 0.8304, 0.7944, 0.7524, 0.7108, 0.6731, 0.6397, 0.6109, 0.6052",\
                 "1.072, 1.064, 1.038, 0.9967, 0.9452, 0.8913, 0.8404, 0.7935, 0.7564, 0.7552");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1205, 0.1205, 0.1204, 0.1203, 0.1203, 0.1203, 0.1204, 0.1204, 0.1204, 0.1204",\
                 "0.1166, 0.1166, 0.1165, 0.1165, 0.1164, 0.1164, 0.1165, 0.1165, 0.1165, 0.1165",\
                 "0.1143, 0.1141, 0.1139, 0.1135, 0.1132, 0.113, 0.1128, 0.1128, 0.1126, 0.1126",\
                 "0.1243, 0.1236, 0.1218, 0.1196, 0.1175, 0.1159, 0.1146, 0.1138, 0.1131, 0.1126",\
                 "0.1556, 0.1538, 0.1491, 0.1426, 0.1364, 0.131, 0.1266, 0.1233, 0.1207, 0.1187",\
                 "0.2134, 0.2106, 0.2018, 0.1895, 0.1764, 0.1646, 0.1547, 0.1466, 0.1401, 0.1348",\
                 "0.3013, 0.2972, 0.2843, 0.2649, 0.2434, 0.2226, 0.2045, 0.1891, 0.1765, 0.166",\
                 "0.4213, 0.4159, 0.3986, 0.372, 0.3411, 0.31, 0.2813, 0.2564, 0.235, 0.217",\
                 "0.5744, 0.5678, 0.5468, 0.5132, 0.4725, 0.4303, 0.3898, 0.3529, 0.3207, 0.2928",\
                 "0.7615, 0.754, 0.7296, 0.6897, 0.6396, 0.5856, 0.5323, 0.4823, 0.4374, 0.3977");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4311, 0.4313, 0.4318, 0.4324, 0.4331, 0.434, 0.435, 0.4365, 0.4383, 0.4444",\
                 "0.4284, 0.4287, 0.4296, 0.4308, 0.432, 0.4332, 0.4345, 0.4362, 0.438, 0.4444",\
                 "0.4244, 0.4246, 0.4258, 0.4277, 0.4295, 0.4313, 0.4333, 0.4349, 0.4373, 0.4444",\
                 "0.426, 0.4261, 0.426, 0.4269, 0.4281, 0.4298, 0.4316, 0.4335, 0.4359, 0.4437",\
                 "0.4478, 0.447, 0.4448, 0.4419, 0.4396, 0.4382, 0.438, 0.4385, 0.4398, 0.4472",\
                 "0.5039, 0.5013, 0.4944, 0.4858, 0.477, 0.4696, 0.4636, 0.4593, 0.4575, 0.4633",\
                 "0.5992, 0.5954, 0.5829, 0.5659, 0.5484, 0.5323, 0.5183, 0.5063, 0.4978, 0.5007",\
                 "0.7338, 0.7284, 0.7114, 0.686, 0.6577, 0.6308, 0.6071, 0.5852, 0.5676, 0.567",\
                 "0.9059, 0.8997, 0.8788, 0.8462, 0.807, 0.7684, 0.7323, 0.6995, 0.6725, 0.6699",\
                 "1.116, 1.109, 1.085, 1.046, 0.9976, 0.9467, 0.8975, 0.8525, 0.8166, 0.8168");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.09084, 0.1016, 0.1386, 0.2088, 0.3177, 0.4703, 0.6709, 0.9238, 1.233, 1.6",\
                 "0.103, 0.1138, 0.1513, 0.2218, 0.3312, 0.4838, 0.6849, 0.9379, 1.247, 1.614",\
                 "0.137, 0.151, 0.1954, 0.2683, 0.3775, 0.5302, 0.7309, 0.984, 1.292, 1.661",\
                 "0.1513, 0.1709, 0.2323, 0.3315, 0.4617, 0.6188, 0.8188, 1.071, 1.379, 1.747",\
                 "0.1328, 0.1588, 0.2395, 0.3675, 0.5331, 0.7302, 0.9542, 1.209, 1.516, 1.882",\
                 "0.0765, 0.1088, 0.2101, 0.3698, 0.5733, 0.8113, 1.083, 1.383, 1.709, 2.076",\
                 "-0.0214, 0.0178, 0.1391, 0.3313, 0.5758, 0.8598, 1.177, 1.528, 1.91, 2.321",\
                 "-0.1633, -0.117, 0.0253, 0.2497, 0.5359, 0.8671, 1.235, 1.637, 2.073, 2.543",\
                 "-0.3511, -0.2983, -0.1349, 0.122, 0.4492, 0.8291, 1.249, 1.706, 2.198, 2.725",\
                 "-0.5875, -0.5287, -0.3454, -0.0553, 0.3131, 0.7407, 1.218, 1.731, 2.281, 2.867");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1927, 0.2247, 0.3373, 0.5511, 0.882, 1.345, 1.953, 2.719, 3.653, 4.768",\
                 "0.1991, 0.2312, 0.3452, 0.5618, 0.8949, 1.359, 1.969, 2.735, 3.67, 4.784",\
                 "0.2583, 0.287, 0.3947, 0.6077, 0.9408, 1.406, 2.016, 2.783, 3.719, 4.834",\
                 "0.3826, 0.4151, 0.5228, 0.7232, 1.048, 1.508, 2.115, 2.88, 3.814, 4.929",\
                 "0.5472, 0.5842, 0.708, 0.9239, 1.238, 1.688, 2.287, 3.045, 3.975, 5.085",\
                 "0.7556, 0.7984, 0.937, 1.178, 1.519, 1.962, 2.548, 3.296, 4.219, 5.322",\
                 "1.008, 1.058, 1.216, 1.478, 1.85, 2.328, 2.913, 3.648, 4.558, 5.65",\
                 "1.306, 1.364, 1.545, 1.836, 2.235, 2.749, 3.374, 4.11, 5.007, 6.087",\
                 "1.653, 1.718, 1.921, 2.248, 2.68, 3.225, 3.892, 4.674, 5.573, 6.639",\
                 "2.048, 2.121, 2.351, 2.713, 3.186, 3.765, 4.468, 5.297, 6.245, 7.315");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1099, 0.1282, 0.1907, 0.3103, 0.4964, 0.7577, 1.1, 1.532, 2.06, 2.69",\
                 "0.1099, 0.1279, 0.1907, 0.3107, 0.4969, 0.7579, 1.1, 1.532, 2.061, 2.69",\
                 "0.1469, 0.163, 0.2145, 0.3155, 0.4966, 0.7581, 1.1, 1.532, 2.061, 2.689",\
                 "0.2128, 0.2325, 0.298, 0.4078, 0.5566, 0.7743, 1.101, 1.532, 2.061, 2.69",\
                 "0.3016, 0.3269, 0.4058, 0.5332, 0.7076, 0.9244, 1.191, 1.561, 2.063, 2.689",\
                 "0.409, 0.4404, 0.5378, 0.6884, 0.884, 1.13, 1.422, 1.756, 2.177, 2.727",\
                 "0.535, 0.5732, 0.6902, 0.8704, 1.097, 1.366, 1.685, 2.058, 2.475, 2.956",\
                 "0.6794, 0.727, 0.8658, 1.075, 1.337, 1.641, 1.985, 2.386, 2.843, 3.352",\
                 "0.838, 0.8942, 1.06, 1.301, 1.602, 1.943, 2.327, 2.754, 3.24, 3.792",\
                 "1.006, 1.073, 1.27, 1.55, 1.889, 2.275, 2.698, 3.167, 3.686, 4.264");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.3718, 0.4347, 0.6408, 1.019, 1.601, 2.411, 3.473, 4.819, 6.453, 8.406",\
                 "0.3676, 0.4296, 0.6389, 1.019, 1.599, 2.411, 3.477, 4.816, 6.449, 8.395",\
                 "0.355, 0.415, 0.6287, 1.017, 1.599, 2.411, 3.474, 4.814, 6.453, 8.393",\
                 "0.4059, 0.4597, 0.6402, 1.005, 1.599, 2.409, 3.477, 4.815, 6.454, 8.405",\
                 "0.4676, 0.5224, 0.7168, 1.059, 1.598, 2.406, 3.472, 4.814, 6.448, 8.392",\
                 "0.5624, 0.6168, 0.808, 1.171, 1.693, 2.43, 3.473, 4.812, 6.446, 8.403",\
                 "0.6866, 0.7436, 0.9344, 1.293, 1.847, 2.568, 3.53, 4.817, 6.444, 8.39",\
                 "0.8302, 0.894, 1.096, 1.451, 2.01, 2.771, 3.705, 4.916, 6.465, 8.401",\
                 "0.991, 1.061, 1.28, 1.649, 2.202, 2.986, 3.967, 5.13, 6.603, 8.43",\
                 "1.171, 1.245, 1.486, 1.881, 2.437, 3.214, 4.228, 5.443, 6.863, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1054, 0.1159, 0.1528, 0.2233, 0.332, 0.4846, 0.6852, 0.9382, 1.247, 1.615",\
                 "0.1157, 0.1265, 0.1641, 0.2349, 0.3441, 0.4971, 0.6977, 0.9507, 1.26, 1.627",\
                 "0.1365, 0.1492, 0.1911, 0.2641, 0.3737, 0.5271, 0.728, 0.981, 1.29, 1.658",\
                 "0.1426, 0.1594, 0.2127, 0.3009, 0.4233, 0.581, 0.7819, 1.035, 1.343, 1.711",\
                 "0.115, 0.1375, 0.2075, 0.319, 0.4646, 0.6444, 0.8617, 1.119, 1.427, 1.794",\
                 "0.0457, 0.0744, 0.1628, 0.3029, 0.4814, 0.6915, 0.9353, 1.218, 1.542, 1.913",\
                 "-0.0692, -0.0344, 0.0734, 0.2433, 0.4587, 0.7083, 0.9884, 1.302, 1.656, 2.053",\
                 "-0.233, -0.1925, -0.0651, 0.1355, 0.3893, 0.6826, 1.007, 1.362, 1.751, 2.181",\
                 "-0.4475, -0.4017, -0.2553, -0.0235, 0.269, 0.6069, 0.9804, 1.384, 1.818, 2.287",\
                 "-0.7165, -0.6635, -0.4999, -0.238, 0.0948, 0.4768, 0.9014, 1.358, 1.843, 2.362");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.2622, 0.2936, 0.4057, 0.6183, 0.9488, 1.411, 2.02, 2.784, 3.718, 4.832",\
                 "0.2694, 0.3016, 0.4143, 0.6283, 0.9594, 1.423, 2.031, 2.797, 3.731, 4.844",\
                 "0.3272, 0.3577, 0.4672, 0.6792, 1.009, 1.472, 2.081, 2.846, 3.781, 4.895",\
                 "0.4628, 0.493, 0.5955, 0.7979, 1.121, 1.579, 2.184, 2.947, 3.879, 4.992",\
                 "0.6464, 0.6811, 0.7971, 1.004, 1.316, 1.763, 2.36, 3.116, 4.045, 5.152",\
                 "0.8794, 0.9176, 1.046, 1.275, 1.604, 2.042, 2.627, 3.372, 4.291, 5.393",\
                 "1.166, 1.209, 1.349, 1.596, 1.953, 2.419, 2.997, 3.73, 4.635, 5.726",\
                 "1.506, 1.555, 1.713, 1.979, 2.361, 2.86, 3.47, 4.199, 5.091, 6.168",\
                 "1.903, 1.958, 2.135, 2.428, 2.833, 3.359, 4.01, 4.777, 5.668, 6.728",\
                 "2.36, 2.421, 2.616, 2.939, 3.375, 3.928, 4.61, 5.423, 6.355, 7.418");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1102, 0.1279, 0.1908, 0.3104, 0.4962, 0.7577, 1.1, 1.532, 2.06, 2.69",\
                 "0.11, 0.1279, 0.1907, 0.3105, 0.4961, 0.7577, 1.099, 1.532, 2.06, 2.689",\
                 "0.1355, 0.1516, 0.2068, 0.3149, 0.4965, 0.7582, 1.1, 1.532, 2.061, 2.69",\
                 "0.1952, 0.2116, 0.2676, 0.374, 0.5368, 0.7736, 1.102, 1.533, 2.06, 2.688",\
                 "0.2807, 0.2999, 0.3629, 0.4717, 0.6358, 0.8644, 1.164, 1.561, 2.063, 2.691",\
                 "0.3856, 0.409, 0.4838, 0.608, 0.7778, 1.007, 1.305, 1.683, 2.144, 2.729",\
                 "0.5096, 0.5374, 0.6256, 0.7712, 0.9614, 1.199, 1.495, 1.87, 2.33, 2.872",\
                 "0.6476, 0.6822, 0.7884, 0.955, 1.171, 1.43, 1.738, 2.112, 2.567, 3.116",\
                 "0.7958, 0.8386, 0.9664, 1.158, 1.405, 1.692, 2.026, 2.411, 2.868, 3.407",\
                 "0.9556, 1.008, 1.157, 1.383, 1.659, 1.981, 2.344, 2.759, 3.223, 3.764");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4907, 0.5501, 0.7529, 1.129, 1.709, 2.519, 3.583, 4.92, 6.554, 8.499",\
                 "0.4876, 0.5475, 0.7514, 1.129, 1.709, 2.519, 3.583, 4.923, 6.554, 8.499",\
                 "0.4739, 0.5355, 0.7468, 1.128, 1.708, 2.518, 3.583, 4.92, 6.554, 8.502",\
                 "0.5035, 0.5557, 0.7424, 1.119, 1.707, 2.518, 3.582, 4.921, 6.555, 8.502",\
                 "0.5654, 0.6228, 0.815, 1.154, 1.703, 2.517, 3.582, 4.921, 6.556, 8.501",\
                 "0.6458, 0.7026, 0.9014, 1.264, 1.785, 2.532, 3.581, 4.921, 6.555, 8.503",\
                 "0.7554, 0.8116, 1.009, 1.381, 1.937, 2.656, 3.625, 4.923, 6.555, 8.502",\
                 "0.8882, 0.9482, 1.152, 1.522, 2.097, 2.855, 3.792, 5.002, 6.565, 8.502",\
                 "1.038, 1.104, 1.321, 1.696, 2.271, 3.059, 4.042, 5.215, 6.686, 8.53",\
                 "1.202, 1.278, 1.514, 1.908, 2.478, 3.274, 4.301, 5.516, 6.943, 8.692");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1591, 0.171, 0.2108, 0.284, 0.3958, 0.55, 0.7516, 1.004, 1.312, 1.679",\
                 "0.1739, 0.1856, 0.2255, 0.299, 0.4108, 0.5651, 0.7667, 1.019, 1.327, 1.694",\
                 "0.2266, 0.238, 0.2772, 0.3501, 0.4617, 0.6161, 0.8176, 1.07, 1.378, 1.745",\
                 "0.2908, 0.3069, 0.3586, 0.4455, 0.5622, 0.7158, 0.9165, 1.168, 1.476, 1.843",\
                 "0.3319, 0.3521, 0.4184, 0.5303, 0.6812, 0.8639, 1.074, 1.326, 1.632, 1.997",\
                 "0.346, 0.3704, 0.4526, 0.5895, 0.7737, 0.9973, 1.255, 1.541, 1.855, 2.219",\
                 "0.3308, 0.3597, 0.4571, 0.6197, 0.8385, 1.103, 1.406, 1.745, 2.114, 2.509",\
                 "0.2834, 0.318, 0.4301, 0.619, 0.8731, 1.18, 1.529, 1.918, 2.343, 2.801",\
                 "0.2037, 0.242, 0.3697, 0.5854, 0.8751, 1.223, 1.621, 2.06, 2.539, 3.057",\
                 "0.0909, 0.1329, 0.2749, 0.5149, 0.8411, 1.231, 1.678, 2.171, 2.706, 3.28");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.2965, 0.3248, 0.4197, 0.5989, 0.8777, 1.267, 1.78, 2.424, 3.212, 4.15",\
                 "0.3065, 0.3348, 0.4307, 0.6115, 0.8905, 1.281, 1.793, 2.438, 3.226, 4.164",\
                 "0.3493, 0.3778, 0.4736, 0.6551, 0.9352, 1.327, 1.84, 2.486, 3.273, 4.212",\
                 "0.4252, 0.4564, 0.559, 0.7411, 1.02, 1.41, 1.923, 2.568, 3.356, 4.295",\
                 "0.5368, 0.5713, 0.6833, 0.8827, 1.166, 1.552, 2.061, 2.703, 3.489, 4.426",\
                 "0.6903, 0.7306, 0.8562, 1.07, 1.376, 1.772, 2.275, 2.911, 3.692, 4.623",\
                 "0.8826, 0.9281, 1.072, 1.308, 1.634, 2.055, 2.575, 3.206, 3.977, 4.902",\
                 "1.109, 1.161, 1.325, 1.591, 1.944, 2.389, 2.937, 3.589, 4.356, 5.271",\
                 "1.367, 1.427, 1.613, 1.911, 2.302, 2.777, 3.35, 4.034, 4.828, 5.742",\
                 "1.66, 1.726, 1.935, 2.268, 2.7, 3.216, 3.822, 4.534, 5.362, 6.307");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1854, 0.2043, 0.2695, 0.39, 0.575, 0.8329, 1.171, 1.596, 2.113, 2.729",\
                 "0.1853, 0.204, 0.2694, 0.39, 0.5745, 0.8328, 1.17, 1.594, 2.113, 2.73",\
                 "0.1938, 0.2106, 0.2705, 0.3895, 0.5746, 0.832, 1.171, 1.594, 2.113, 2.73",\
                 "0.2836, 0.3024, 0.3615, 0.4571, 0.6035, 0.8367, 1.17, 1.595, 2.112, 2.73",\
                 "0.3923, 0.4156, 0.4888, 0.609, 0.77, 0.9644, 1.229, 1.608, 2.114, 2.729",\
                 "0.5226, 0.5496, 0.6384, 0.7808, 0.971, 1.202, 1.47, 1.779, 2.197, 2.751",\
                 "0.67, 0.7036, 0.812, 0.9778, 1.194, 1.46, 1.768, 2.116, 2.495, 2.957",\
                 "0.8332, 0.8738, 1.001, 1.199, 1.449, 1.745, 2.086, 2.481, 2.912, 3.379",\
                 "1.013, 1.061, 1.209, 1.441, 1.729, 2.061, 2.44, 2.866, 3.345, 3.87",\
                 "1.21, 1.263, 1.439, 1.704, 2.034, 2.408, 2.828, 3.288, 3.806, 4.378");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4082, 0.4533, 0.6164, 0.9276, 1.412, 2.089, 2.979, 4.1, 5.469, 7.098",\
                 "0.4086, 0.4536, 0.6165, 0.9277, 1.412, 2.089, 2.978, 4.099, 5.462, 7.102",\
                 "0.4127, 0.4571, 0.6171, 0.9272, 1.411, 2.089, 2.977, 4.101, 5.462, 7.097",\
                 "0.4752, 0.5126, 0.6501, 0.9359, 1.412, 2.091, 2.98, 4.101, 5.469, 7.091",\
                 "0.5722, 0.6114, 0.7518, 1.016, 1.443, 2.091, 2.98, 4.098, 5.47, 7.1",\
                 "0.7148, 0.7504, 0.8794, 1.149, 1.564, 2.158, 2.995, 4.101, 5.469, 7.099",\
                 "0.893, 0.9262, 1.052, 1.307, 1.73, 2.317, 3.095, 4.137, 5.468, 7.099",\
                 "1.088, 1.126, 1.258, 1.513, 1.922, 2.516, 3.294, 4.275, 5.54, 7.114",\
                 "1.301, 1.342, 1.487, 1.758, 2.163, 2.749, 3.539, 4.517, 5.715, 7.216",\
                 "1.53, 1.577, 1.735, 2.026, 2.453, 3.03, 3.807, 4.808, 6.001, 7.433");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1296, 0.142, 0.1833, 0.2583, 0.3711, 0.5262, 0.7282, 0.9814, 1.289, 1.656",\
                 "0.1444, 0.1566, 0.1978, 0.2729, 0.3856, 0.5408, 0.7428, 0.996, 1.304, 1.671",\
                 "0.1972, 0.2097, 0.25, 0.3237, 0.4361, 0.5911, 0.7931, 1.046, 1.354, 1.721",\
                 "0.2495, 0.2669, 0.3228, 0.415, 0.5362, 0.6902, 0.8915, 1.144, 1.452, 1.818",\
                 "0.2763, 0.2991, 0.3715, 0.4903, 0.6467, 0.8351, 1.049, 1.301, 1.607, 1.972",\
                 "0.2742, 0.3021, 0.3917, 0.5384, 0.7308, 0.9605, 1.223, 1.513, 1.829, 2.194",\
                 "0.2406, 0.2738, 0.3799, 0.5545, 0.7845, 1.058, 1.366, 1.71, 2.083, 2.481",\
                 "0.1745, 0.2126, 0.3353, 0.5382, 0.8049, 1.123, 1.48, 1.876, 2.305, 2.767",\
                 "0.0759, 0.1188, 0.2566, 0.4862, 0.7898, 1.152, 1.561, 2.009, 2.494, 3.016",\
                 "-0.0576, -0.0106, 0.1436, 0.3983, 0.7382, 1.146, 1.604, 2.108, 2.65, 3.231");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.3383, 0.3713, 0.4841, 0.697, 1.027, 1.489, 2.097, 2.862, 3.797, 4.911",\
                 "0.3474, 0.3805, 0.4942, 0.7088, 1.04, 1.502, 2.11, 2.876, 3.811, 4.925",\
                 "0.387, 0.42, 0.5345, 0.7499, 1.082, 1.545, 2.155, 2.921, 3.856, 4.97",\
                 "0.4536, 0.4895, 0.6078, 0.8221, 1.152, 1.615, 2.224, 2.99, 3.926, 5.039",\
                 "0.555, 0.592, 0.7174, 0.9434, 1.274, 1.732, 2.336, 3.099, 4.032, 5.143",\
                 "0.7048, 0.7464, 0.8801, 1.114, 1.459, 1.919, 2.515, 3.27, 4.197, 5.304",\
                 "0.8942, 0.9419, 1.093, 1.343, 1.699, 2.174, 2.775, 3.519, 4.434, 5.535",\
                 "1.12, 1.174, 1.345, 1.623, 1.999, 2.486, 3.104, 3.856, 4.761, 5.847",\
                 "1.38, 1.441, 1.634, 1.942, 2.352, 2.861, 3.494, 4.266, 5.179, 6.253",\
                 "1.674, 1.743, 1.958, 2.302, 2.749, 3.294, 3.947, 4.735, 5.672, 6.759");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1658, 0.1849, 0.2497, 0.3697, 0.5537, 0.8102, 1.148, 1.572, 2.089, 2.706",\
                 "0.1647, 0.1838, 0.249, 0.3691, 0.5529, 0.8103, 1.148, 1.572, 2.089, 2.706",\
                 "0.1827, 0.1977, 0.252, 0.3678, 0.5528, 0.8106, 1.147, 1.572, 2.089, 2.707",\
                 "0.2735, 0.2924, 0.3517, 0.4485, 0.5883, 0.8166, 1.147, 1.572, 2.09, 2.706",\
                 "0.3849, 0.4074, 0.482, 0.6008, 0.761, 0.954, 1.214, 1.588, 2.091, 2.706",\
                 "0.5178, 0.5462, 0.6346, 0.7776, 0.9624, 1.193, 1.461, 1.769, 2.18, 2.73",\
                 "0.6704, 0.7056, 0.8124, 0.9794, 1.193, 1.454, 1.76, 2.109, 2.486, 2.944",\
                 "0.8418, 0.8836, 1.013, 1.208, 1.457, 1.749, 2.085, 2.478, 2.905, 3.371",\
                 "1.032, 1.081, 1.234, 1.463, 1.745, 2.077, 2.447, 2.868, 3.345, 3.866",\
                 "1.245, 1.307, 1.474, 1.738, 2.069, 2.435, 2.846, 3.301, 3.813, 4.378");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4016, 0.456, 0.6497, 1.021, 1.598, 2.41, 3.472, 4.817, 6.45, 8.388",\
                 "0.4021, 0.4566, 0.6497, 1.023, 1.601, 2.41, 3.477, 4.812, 6.441, 8.4",\
                 "0.406, 0.4594, 0.6504, 1.023, 1.6, 2.41, 3.475, 4.814, 6.45, 8.397",\
                 "0.457, 0.5048, 0.6762, 1.027, 1.6, 2.411, 3.475, 4.818, 6.451, 8.405",\
                 "0.5254, 0.576, 0.7566, 1.089, 1.622, 2.412, 3.474, 4.815, 6.454, 8.406",\
                 "0.647, 0.6914, 0.8562, 1.191, 1.712, 2.457, 3.479, 4.811, 6.442, 8.4",\
                 "0.807, 0.851, 1.008, 1.321, 1.84, 2.572, 3.55, 4.835, 6.446, 8.39",\
                 "0.985, 1.035, 1.202, 1.505, 1.999, 2.731, 3.692, 4.93, 6.491, 8.406",\
                 "1.184, 1.238, 1.415, 1.736, 2.215, 2.921, 3.889, 5.097, 6.601, 8.456",\
                 "1.394, 1.452, 1.648, 1.992, 2.485, 3.168, 4.11, 5.326, 6.807, 8.608");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1355, 0.1479, 0.1896, 0.2654, 0.3794, 0.5357, 0.7383, 0.9916, 1.3, 1.666",\
                 "0.1503, 0.1624, 0.2042, 0.28, 0.394, 0.5502, 0.7529, 1.006, 1.314, 1.681",\
                 "0.2036, 0.2159, 0.2561, 0.3307, 0.4444, 0.6006, 0.8032, 1.056, 1.364, 1.731",\
                 "0.2613, 0.2784, 0.3333, 0.4244, 0.5447, 0.6999, 0.9014, 1.154, 1.462, 1.828",\
                 "0.2961, 0.3178, 0.3882, 0.5049, 0.6602, 0.8467, 1.059, 1.31, 1.617, 1.983",\
                 "0.3046, 0.3309, 0.4162, 0.5591, 0.748, 0.9756, 1.236, 1.525, 1.84, 2.204",\
                 "0.2819, 0.3127, 0.413, 0.5816, 0.8066, 1.076, 1.383, 1.724, 2.095, 2.493",\
                 "0.2258, 0.261, 0.3766, 0.5715, 0.832, 1.144, 1.499, 1.892, 2.32, 2.78",\
                 "0.1368, 0.176, 0.3053, 0.5255, 0.8223, 1.178, 1.583, 2.028, 2.511, 3.031",\
                 "0.013, 0.0568, 0.1999, 0.4439, 0.7753, 1.175, 1.629, 2.129, 2.668, 3.247");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4218, 0.4542, 0.5672, 0.7799, 1.11, 1.572, 2.18, 2.946, 3.881, 4.995",\
                 "0.4319, 0.4642, 0.5782, 0.7917, 1.123, 1.586, 2.194, 2.96, 3.894, 5.009",\
                 "0.4716, 0.5042, 0.618, 0.8332, 1.165, 1.629, 2.238, 3.005, 3.939, 5.054",\
                 "0.5436, 0.5775, 0.6915, 0.905, 1.235, 1.698, 2.307, 3.074, 4.01, 5.123",\
                 "0.6495, 0.6852, 0.807, 1.028, 1.356, 1.814, 2.419, 3.182, 4.116, 5.227",\
                 "0.8072, 0.8451, 0.972, 1.202, 1.544, 2, 2.596, 3.353, 4.279, 5.386",\
                 "1.012, 1.054, 1.193, 1.434, 1.785, 2.257, 2.855, 3.6, 4.517, 5.617",\
                 "1.253, 1.302, 1.458, 1.72, 2.087, 2.572, 3.188, 3.937, 4.841, 5.928",\
                 "1.531, 1.585, 1.76, 2.05, 2.446, 2.948, 3.578, 4.347, 5.26, 6.333",\
                 "1.843, 1.903, 2.098, 2.42, 2.852, 3.386, 4.033, 4.82, 5.754, 6.838");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.2139, 0.2321, 0.2945, 0.4127, 0.5958, 0.852, 1.189, 1.614, 2.132, 2.748",\
                 "0.2127, 0.231, 0.294, 0.4124, 0.5957, 0.8523, 1.189, 1.613, 2.131, 2.748",\
                 "0.2295, 0.2436, 0.2972, 0.4108, 0.5952, 0.852, 1.19, 1.614, 2.131, 2.748",\
                 "0.3378, 0.353, 0.4045, 0.4925, 0.6312, 0.8579, 1.19, 1.613, 2.132, 2.749",\
                 "0.47, 0.4889, 0.5506, 0.6586, 0.8098, 0.9966, 1.256, 1.63, 2.133, 2.748",\
                 "0.6268, 0.649, 0.723, 0.8502, 1.023, 1.245, 1.507, 1.81, 2.222, 2.773",\
                 "0.8046, 0.8324, 0.922, 1.068, 1.266, 1.516, 1.814, 2.155, 2.528, 2.985",\
                 "1.005, 1.039, 1.143, 1.315, 1.543, 1.821, 2.148, 2.531, 2.954, 3.416",\
                 "1.226, 1.263, 1.387, 1.59, 1.847, 2.161, 2.518, 2.93, 3.401, 3.914",\
                 "1.469, 1.514, 1.655, 1.884, 2.18, 2.53, 2.928, 3.372, 3.875, 4.436");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.5069, 0.5623, 0.7582, 1.13, 1.708, 2.518, 3.582, 4.92, 6.552, 8.503",\
                 "0.5071, 0.5623, 0.7583, 1.13, 1.708, 2.518, 3.581, 4.921, 6.553, 8.504",\
                 "0.508, 0.5636, 0.758, 1.131, 1.708, 2.519, 3.582, 4.92, 6.553, 8.501",\
                 "0.5429, 0.5925, 0.7723, 1.132, 1.708, 2.518, 3.582, 4.92, 6.556, 8.501",\
                 "0.615, 0.6684, 0.8492, 1.182, 1.723, 2.519, 3.582, 4.92, 6.556, 8.502",\
                 "0.718, 0.7666, 0.9422, 1.285, 1.806, 2.555, 3.586, 4.921, 6.554, 8.501",\
                 "0.8724, 0.919, 1.082, 1.409, 1.935, 2.667, 3.647, 4.935, 6.555, 8.503",\
                 "1.052, 1.101, 1.27, 1.582, 2.089, 2.826, 3.789, 5.024, 6.585, 8.504",\
                 "1.252, 1.308, 1.486, 1.809, 2.297, 3.013, 3.981, 5.195, 6.702, 8.557",\
                 "1.469, 1.527, 1.728, 2.066, 2.563, 3.256, 4.203, 5.422, 6.907, 8.703");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1591, 0.171, 0.2108, 0.284, 0.3958, 0.55, 0.7516, 1.004, 1.312, 1.679",\
                 "0.1739, 0.1856, 0.2255, 0.299, 0.4108, 0.5651, 0.7667, 1.019, 1.327, 1.694",\
                 "0.2266, 0.238, 0.2772, 0.3501, 0.4617, 0.6161, 0.8176, 1.07, 1.378, 1.745",\
                 "0.2908, 0.3069, 0.3586, 0.4455, 0.5622, 0.7158, 0.9165, 1.168, 1.476, 1.843",\
                 "0.3319, 0.3521, 0.4184, 0.5303, 0.6812, 0.8639, 1.074, 1.326, 1.632, 1.997",\
                 "0.346, 0.3704, 0.4526, 0.5895, 0.7737, 0.9973, 1.255, 1.541, 1.855, 2.219",\
                 "0.3308, 0.3597, 0.4571, 0.6197, 0.8385, 1.103, 1.406, 1.745, 2.114, 2.509",\
                 "0.2834, 0.318, 0.4301, 0.619, 0.8731, 1.18, 1.529, 1.918, 2.343, 2.801",\
                 "0.2037, 0.242, 0.3697, 0.5854, 0.8751, 1.223, 1.621, 2.06, 2.539, 3.057",\
                 "0.0909, 0.1329, 0.2749, 0.5149, 0.8411, 1.231, 1.678, 2.171, 2.706, 3.28");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4218, 0.4542, 0.5672, 0.7799, 1.11, 1.572, 2.18, 2.946, 3.881, 4.995",\
                 "0.4319, 0.4642, 0.5782, 0.7917, 1.123, 1.586, 2.194, 2.96, 3.894, 5.009",\
                 "0.4716, 0.5042, 0.618, 0.8332, 1.165, 1.629, 2.238, 3.005, 3.939, 5.054",\
                 "0.5436, 0.5775, 0.6915, 0.905, 1.235, 1.698, 2.307, 3.074, 4.01, 5.123",\
                 "0.6495, 0.6852, 0.807, 1.028, 1.356, 1.814, 2.419, 3.182, 4.116, 5.227",\
                 "0.8072, 0.8451, 0.972, 1.202, 1.544, 2, 2.596, 3.353, 4.279, 5.386",\
                 "1.012, 1.054, 1.193, 1.434, 1.785, 2.257, 2.855, 3.6, 4.517, 5.617",\
                 "1.253, 1.302, 1.458, 1.72, 2.087, 2.572, 3.188, 3.937, 4.841, 5.928",\
                 "1.531, 1.585, 1.76, 2.05, 2.446, 2.948, 3.578, 4.347, 5.26, 6.333",\
                 "1.843, 1.903, 2.098, 2.42, 2.852, 3.386, 4.033, 4.82, 5.754, 6.838");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.2139, 0.2321, 0.2945, 0.4127, 0.5958, 0.852, 1.189, 1.614, 2.132, 2.748",\
                 "0.2127, 0.231, 0.294, 0.4124, 0.5957, 0.8523, 1.189, 1.613, 2.131, 2.748",\
                 "0.2295, 0.2436, 0.2972, 0.4108, 0.5952, 0.852, 1.19, 1.614, 2.131, 2.748",\
                 "0.3378, 0.353, 0.4045, 0.4925, 0.6312, 0.8579, 1.19, 1.613, 2.132, 2.749",\
                 "0.47, 0.4889, 0.5506, 0.6586, 0.8098, 0.9966, 1.256, 1.63, 2.133, 2.748",\
                 "0.6268, 0.649, 0.723, 0.8502, 1.023, 1.245, 1.507, 1.81, 2.222, 2.773",\
                 "0.8046, 0.8324, 0.922, 1.068, 1.266, 1.516, 1.814, 2.155, 2.528, 2.985",\
                 "1.005, 1.039, 1.143, 1.315, 1.543, 1.821, 2.148, 2.531, 2.954, 3.416",\
                 "1.226, 1.263, 1.387, 1.59, 1.847, 2.161, 2.518, 2.93, 3.401, 3.914",\
                 "1.469, 1.514, 1.655, 1.884, 2.18, 2.53, 2.928, 3.372, 3.875, 4.436");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.5069, 0.5623, 0.7582, 1.13, 1.708, 2.518, 3.582, 4.92, 6.552, 8.503",\
                 "0.5071, 0.5623, 0.7583, 1.13, 1.708, 2.518, 3.581, 4.921, 6.553, 8.504",\
                 "0.508, 0.5636, 0.758, 1.131, 1.708, 2.519, 3.582, 4.92, 6.553, 8.501",\
                 "0.5429, 0.5925, 0.7723, 1.132, 1.708, 2.518, 3.582, 4.92, 6.556, 8.501",\
                 "0.615, 0.6684, 0.8492, 1.182, 1.723, 2.519, 3.582, 4.92, 6.556, 8.502",\
                 "0.718, 0.7666, 0.9422, 1.285, 1.806, 2.555, 3.586, 4.921, 6.554, 8.501",\
                 "0.8724, 0.919, 1.082, 1.409, 1.935, 2.667, 3.647, 4.935, 6.555, 8.503",\
                 "1.052, 1.101, 1.27, 1.582, 2.089, 2.826, 3.789, 5.024, 6.585, 8.504",\
                 "1.252, 1.308, 1.486, 1.809, 2.297, 3.013, 3.981, 5.195, 6.702, 8.557",\
                 "1.469, 1.527, 1.728, 2.066, 2.563, 3.256, 4.203, 5.422, 6.907, 8.703");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.175, 0.1872, 0.2298, 0.3068, 0.4215, 0.5787, 0.7825, 1.037, 1.346, 1.714",\
                 "0.1871, 0.1997, 0.2421, 0.3188, 0.4339, 0.5912, 0.7949, 1.049, 1.359, 1.726",\
                 "0.24, 0.2519, 0.2927, 0.3687, 0.4834, 0.6401, 0.844, 1.098, 1.408, 1.775",\
                 "0.3166, 0.332, 0.3828, 0.468, 0.5842, 0.7395, 0.9422, 1.196, 1.505, 1.872",\
                 "0.3735, 0.3928, 0.4562, 0.5653, 0.7126, 0.8923, 1.101, 1.353, 1.66, 2.027",\
                 "0.4091, 0.433, 0.5105, 0.6415, 0.8185, 1.037, 1.29, 1.572, 1.885, 2.249",\
                 "0.4221, 0.4498, 0.5412, 0.6954, 0.9043, 1.158, 1.454, 1.786, 2.151, 2.542",\
                 "0.4126, 0.4445, 0.5487, 0.7257, 0.9641, 1.258, 1.595, 1.973, 2.391, 2.842",\
                 "0.3808, 0.4161, 0.5319, 0.7309, 1.002, 1.332, 1.712, 2.137, 2.604, 3.112",\
                 "0.325, 0.3633, 0.4923, 0.711, 1.013, 1.379, 1.803, 2.276, 2.793, 3.353");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.3303, 0.3571, 0.4528, 0.6327, 0.9107, 1.301, 1.812, 2.458, 3.245, 4.183",\
                 "0.3419, 0.3705, 0.4665, 0.6472, 0.9259, 1.316, 1.829, 2.474, 3.262, 4.2",\
                 "0.3771, 0.4054, 0.5015, 0.683, 0.9635, 1.355, 1.868, 2.514, 3.302, 4.24",\
                 "0.4267, 0.4569, 0.5581, 0.7401, 1.019, 1.41, 1.923, 2.569, 3.357, 4.296",\
                 "0.4981, 0.53, 0.6376, 0.8302, 1.114, 1.501, 2.011, 2.654, 3.44, 4.378",\
                 "0.5973, 0.6342, 0.7539, 0.9562, 1.251, 1.648, 2.152, 2.788, 3.568, 4.501",\
                 "0.724, 0.7659, 0.9007, 1.124, 1.433, 1.84, 2.357, 2.989, 3.76, 4.684",\
                 "0.8769, 0.9233, 1.075, 1.323, 1.657, 2.08, 2.608, 3.256, 4.026, 4.938",\
                 "1.052, 1.104, 1.272, 1.549, 1.914, 2.366, 2.91, 3.569, 4.356, 5.272",\
                 "1.249, 1.307, 1.493, 1.797, 2.198, 2.684, 3.26, 3.936, 4.735, 5.67");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.2181, 0.2379, 0.3049, 0.4278, 0.614, 0.8732, 1.212, 1.637, 2.156, 2.773",\
                 "0.2167, 0.237, 0.3041, 0.4273, 0.6138, 0.8734, 1.211, 1.637, 2.156, 2.773",\
                 "0.2173, 0.2352, 0.3002, 0.4253, 0.6139, 0.8729, 1.211, 1.637, 2.156, 2.773",\
                 "0.3104, 0.3284, 0.3871, 0.4813, 0.6341, 0.8747, 1.211, 1.637, 2.155, 2.772",\
                 "0.4278, 0.4498, 0.522, 0.6394, 0.7976, 0.9904, 1.262, 1.647, 2.156, 2.773",\
                 "0.5704, 0.5958, 0.6794, 0.8172, 1.002, 1.231, 1.495, 1.808, 2.231, 2.791",\
                 "0.7352, 0.7674, 0.8656, 1.023, 1.232, 1.489, 1.796, 2.141, 2.52, 2.988",\
                 "0.9226, 0.9606, 1.077, 1.261, 1.494, 1.779, 2.116, 2.507, 2.937, 3.401",\
                 "1.132, 1.176, 1.314, 1.524, 1.79, 2.105, 2.47, 2.891, 3.371, 3.892",\
                 "1.363, 1.419, 1.573, 1.818, 2.116, 2.466, 2.864, 3.315, 3.826, 4.4");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.408, 0.4535, 0.6165, 0.9279, 1.412, 2.09, 2.979, 4.097, 5.463, 7.097",\
                 "0.4089, 0.4544, 0.6166, 0.9277, 1.412, 2.089, 2.98, 4.1, 5.463, 7.09",\
                 "0.4125, 0.4566, 0.6172, 0.9278, 1.412, 2.087, 2.977, 4.097, 5.468, 7.097",\
                 "0.4591, 0.4987, 0.643, 0.9347, 1.412, 2.09, 2.977, 4.099, 5.47, 7.1",\
                 "0.5406, 0.5808, 0.7232, 1.001, 1.441, 2.094, 2.977, 4.1, 5.463, 7.091",\
                 "0.6904, 0.7228, 0.8478, 1.111, 1.543, 2.156, 2.999, 4.102, 5.463, 7.098",\
                 "0.877, 0.9108, 1.034, 1.277, 1.684, 2.289, 3.093, 4.146, 5.477, 7.097",\
                 "1.079, 1.115, 1.246, 1.498, 1.884, 2.463, 3.258, 4.272, 5.549, 7.126",\
                 "1.295, 1.334, 1.476, 1.745, 2.146, 2.697, 3.467, 4.474, 5.71, 7.231",\
                 "1.529, 1.571, 1.722, 2.013, 2.439, 3.004, 3.738, 4.719, 5.949, 7.427");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1349, 0.1484, 0.1934, 0.2732, 0.3909, 0.5502, 0.7555, 1.011, 1.321, 1.689",\
                 "0.1481, 0.1615, 0.2061, 0.2856, 0.4033, 0.5626, 0.7678, 1.023, 1.333, 1.702",\
                 "0.2045, 0.2173, 0.2589, 0.3358, 0.4523, 0.6112, 0.8163, 1.072, 1.382, 1.75",\
                 "0.268, 0.2854, 0.3413, 0.433, 0.5537, 0.7102, 0.9142, 1.169, 1.479, 1.847",\
                 "0.3094, 0.3317, 0.4029, 0.5197, 0.6743, 0.8603, 1.072, 1.326, 1.634, 2.001",\
                 "0.327, 0.3534, 0.4398, 0.5828, 0.7704, 0.9964, 1.256, 1.542, 1.857, 2.222",\
                 "0.3188, 0.3505, 0.4523, 0.62, 0.8422, 1.107, 1.411, 1.749, 2.118, 2.513",\
                 "0.2862, 0.3223, 0.4387, 0.6319, 0.8874, 1.193, 1.541, 1.927, 2.351, 2.807",\
                 "0.2288, 0.2688, 0.3991, 0.6144, 0.9045, 1.251, 1.644, 2.079, 2.555, 3.068",\
                 "0.1476, 0.1912, 0.3333, 0.5713, 0.8929, 1.279, 1.718, 2.204, 2.732, 3.3");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.3715, 0.4046, 0.5176, 0.7306, 1.06, 1.522, 2.13, 2.895, 3.83, 4.944",\
                 "0.3825, 0.4161, 0.5301, 0.7444, 1.075, 1.538, 2.146, 2.912, 3.847, 4.961",\
                 "0.4166, 0.4502, 0.5643, 0.7799, 1.111, 1.575, 2.184, 2.952, 3.887, 5.001",\
                 "0.4656, 0.5006, 0.6172, 0.8316, 1.163, 1.626, 2.235, 3.002, 3.938, 5.052",\
                 "0.5361, 0.5722, 0.6936, 0.9149, 1.245, 1.704, 2.309, 3.073, 4.006, 5.12",\
                 "0.6385, 0.678, 0.8084, 1.035, 1.374, 1.833, 2.43, 3.185, 4.113, 5.219",\
                 "0.7658, 0.8118, 0.9582, 1.204, 1.549, 2.015, 2.615, 3.359, 4.275, 5.374",\
                 "0.9195, 0.9728, 1.137, 1.408, 1.777, 2.25, 2.856, 3.605, 4.509, 5.594",\
                 "1.099, 1.157, 1.342, 1.642, 2.042, 2.54, 3.152, 3.908, 4.819, 5.891",\
                 "1.303, 1.367, 1.57, 1.9, 2.337, 2.871, 3.508, 4.269, 5.188, 6.268");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1935, 0.2143, 0.283, 0.4068, 0.5937, 0.8513, 1.19, 1.614, 2.132, 2.75",\
                 "0.1902, 0.2118, 0.2809, 0.406, 0.5929, 0.8515, 1.19, 1.615, 2.133, 2.75",\
                 "0.2029, 0.2184, 0.278, 0.4006, 0.5912, 0.8508, 1.189, 1.613, 2.132, 2.75",\
                 "0.3041, 0.3221, 0.38, 0.4733, 0.6178, 0.8523, 1.189, 1.613, 2.133, 2.75",\
                 "0.428, 0.4502, 0.52, 0.6348, 0.79, 0.9806, 1.246, 1.626, 2.132, 2.749",\
                 "0.578, 0.6052, 0.6884, 0.8224, 0.9994, 1.225, 1.487, 1.796, 2.215, 2.77",\
                 "0.756, 0.7894, 0.889, 1.042, 1.243, 1.491, 1.791, 2.134, 2.512, 2.974",\
                 "0.9618, 0.9998, 1.119, 1.295, 1.521, 1.795, 2.121, 2.504, 2.932, 3.397",\
                 "1.195, 1.243, 1.378, 1.58, 1.836, 2.138, 2.491, 2.902, 3.37, 3.889",\
                 "1.46, 1.509, 1.668, 1.905, 2.195, 2.524, 2.905, 3.342, 3.841, 4.407");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4018, 0.4561, 0.6493, 1.023, 1.598, 2.411, 3.473, 4.818, 6.45, 8.406",\
                 "0.4026, 0.4568, 0.6499, 1.023, 1.601, 2.41, 3.476, 4.812, 6.44, 8.395",\
                 "0.4055, 0.4588, 0.6505, 1.023, 1.601, 2.41, 3.474, 4.813, 6.449, 8.393",\
                 "0.4421, 0.4905, 0.6675, 1.024, 1.6, 2.41, 3.474, 4.811, 6.45, 8.396",\
                 "0.5016, 0.5516, 0.7312, 1.073, 1.616, 2.41, 3.476, 4.812, 6.449, 8.402",\
                 "0.6326, 0.6756, 0.8356, 1.164, 1.693, 2.451, 3.48, 4.81, 6.447, 8.406",\
                 "0.8118, 0.856, 1.013, 1.314, 1.814, 2.552, 3.544, 4.835, 6.45, 8.39",\
                 "1.012, 1.059, 1.227, 1.531, 1.997, 2.705, 3.672, 4.921, 6.498, 8.412",\
                 "1.228, 1.28, 1.463, 1.786, 2.256, 2.916, 3.855, 5.076, 6.602, 8.475",\
                 "1.462, 1.517, 1.715, 2.065, 2.564, 3.211, 4.099, 5.291, 6.786, 8.603");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.1422, 0.1557, 0.201, 0.2815, 0.4003, 0.5604, 0.766, 1.022, 1.332, 1.7",\
                 "0.1551, 0.1685, 0.2136, 0.294, 0.4125, 0.5726, 0.7782, 1.034, 1.344, 1.712",\
                 "0.2118, 0.2241, 0.2658, 0.3438, 0.4615, 0.6214, 0.8269, 1.082, 1.392, 1.76",\
                 "0.2816, 0.2983, 0.3528, 0.443, 0.5629, 0.7203, 0.9247, 1.179, 1.489, 1.857",\
                 "0.3319, 0.3529, 0.4211, 0.5354, 0.6879, 0.8719, 1.083, 1.336, 1.644, 2.011",\
                 "0.3598, 0.3849, 0.4665, 0.6044, 0.7886, 1.012, 1.268, 1.554, 1.867, 2.232",\
                 "0.3633, 0.3922, 0.4871, 0.6482, 0.8648, 1.126, 1.427, 1.763, 2.13, 2.524",\
                 "0.3407, 0.3734, 0.4816, 0.6656, 0.9142, 1.215, 1.559, 1.944, 2.365, 2.82",\
                 "0.2935, 0.3297, 0.4497, 0.656, 0.9364, 1.276, 1.666, 2.098, 2.571, 3.083",\
                 "0.2227, 0.262, 0.3926, 0.6192, 0.9302, 1.309, 1.743, 2.226, 2.75, 3.317");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4549, 0.4874, 0.5996, 0.8133, 1.143, 1.606, 2.213, 2.979, 3.914, 5.027",\
                 "0.4671, 0.4997, 0.6135, 0.8272, 1.158, 1.621, 2.229, 2.996, 3.93, 5.043",\
                 "0.5013, 0.5345, 0.648, 0.8633, 1.195, 1.659, 2.268, 3.035, 3.97, 5.084",\
                 "0.5537, 0.5871, 0.7009, 0.9151, 1.246, 1.709, 2.318, 3.086, 4.021, 5.135",\
                 "0.6268, 0.6619, 0.7802, 0.9992, 1.327, 1.786, 2.392, 3.156, 4.089, 5.203",\
                 "0.7382, 0.7749, 0.8979, 1.121, 1.457, 1.915, 2.511, 3.268, 4.195, 5.302",\
                 "0.879, 0.9207, 1.056, 1.292, 1.633, 2.098, 2.696, 3.441, 4.357, 5.456",\
                 "1.048, 1.094, 1.247, 1.504, 1.863, 2.333, 2.937, 3.686, 4.589, 5.674",\
                 "1.241, 1.294, 1.462, 1.747, 2.134, 2.625, 3.234, 3.99, 4.899, 5.971",\
                 "1.46, 1.517, 1.702, 2.016, 2.437, 2.961, 3.591, 4.351, 5.268, 6.348");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.2487, 0.2676, 0.3325, 0.4529, 0.6372, 0.8942, 1.232, 1.656, 2.174, 2.791",\
                 "0.2449, 0.2644, 0.3304, 0.4518, 0.6367, 0.8938, 1.232, 1.657, 2.175, 2.792",\
                 "0.2547, 0.2697, 0.3266, 0.4462, 0.6348, 0.8938, 1.232, 1.657, 2.175, 2.793",\
                 "0.3711, 0.3857, 0.4343, 0.5192, 0.6617, 0.8949, 1.23, 1.657, 2.175, 2.791",\
                 "0.5152, 0.5331, 0.5902, 0.6936, 0.8388, 1.024, 1.287, 1.668, 2.175, 2.792",\
                 "0.6886, 0.7088, 0.7768, 0.8944, 1.06, 1.276, 1.532, 1.838, 2.258, 2.814",\
                 "0.8918, 0.9166, 0.9966, 1.128, 1.315, 1.552, 1.846, 2.181, 2.554, 3.016",\
                 "1.124, 1.153, 1.249, 1.4, 1.606, 1.865, 2.183, 2.557, 2.981, 3.438",\
                 "1.388, 1.421, 1.532, 1.704, 1.935, 2.221, 2.561, 2.962, 3.429, 3.939",\
                 "1.681, 1.725, 1.846, 2.051, 2.305, 2.618, 2.985, 3.411, 3.903, 4.459");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.507, 0.5624, 0.758, 1.131, 1.709, 2.518, 3.581, 4.92, 6.553, 8.501",\
                 "0.5071, 0.5624, 0.7577, 1.13, 1.708, 2.518, 3.581, 4.921, 6.554, 8.498",\
                 "0.5081, 0.5632, 0.7579, 1.131, 1.708, 2.518, 3.582, 4.92, 6.557, 8.504",\
                 "0.5313, 0.5827, 0.7674, 1.132, 1.708, 2.518, 3.582, 4.921, 6.554, 8.5",\
                 "0.5922, 0.6442, 0.8274, 1.171, 1.72, 2.519, 3.582, 4.921, 6.555, 8.502",\
                 "0.7012, 0.7484, 0.919, 1.258, 1.791, 2.552, 3.587, 4.921, 6.556, 8.501",\
                 "0.8766, 0.923, 1.082, 1.392, 1.908, 2.65, 3.647, 4.938, 6.556, 8.503",\
                 "1.076, 1.127, 1.298, 1.602, 2.078, 2.797, 3.772, 5.025, 6.593, 8.507",\
                 "1.294, 1.349, 1.534, 1.858, 2.329, 3.002, 3.949, 5.177, 6.704, 8.568",\
                 "1.529, 1.587, 1.79, 2.14, 2.634, 3.288, 4.187, 5.389, 6.887, 8.708");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.175, 0.1872, 0.2298, 0.3068, 0.4215, 0.5787, 0.7825, 1.037, 1.346, 1.714",\
                 "0.1871, 0.1997, 0.2421, 0.3188, 0.4339, 0.5912, 0.7949, 1.049, 1.359, 1.726",\
                 "0.24, 0.2519, 0.2927, 0.3687, 0.4834, 0.6401, 0.844, 1.098, 1.408, 1.775",\
                 "0.3166, 0.332, 0.3828, 0.468, 0.5842, 0.7395, 0.9422, 1.196, 1.505, 1.872",\
                 "0.3735, 0.3928, 0.4562, 0.5653, 0.7126, 0.8923, 1.101, 1.353, 1.66, 2.027",\
                 "0.4091, 0.433, 0.5105, 0.6415, 0.8185, 1.037, 1.29, 1.572, 1.885, 2.249",\
                 "0.4221, 0.4498, 0.5412, 0.6954, 0.9043, 1.158, 1.454, 1.786, 2.151, 2.542",\
                 "0.4126, 0.4445, 0.5487, 0.7257, 0.9641, 1.258, 1.595, 1.973, 2.391, 2.842",\
                 "0.3808, 0.4161, 0.5319, 0.7309, 1.002, 1.332, 1.712, 2.137, 2.604, 3.112",\
                 "0.325, 0.3633, 0.4923, 0.711, 1.013, 1.379, 1.803, 2.276, 2.793, 3.353");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.4549, 0.4874, 0.5996, 0.8133, 1.143, 1.606, 2.213, 2.979, 3.914, 5.027",\
                 "0.4671, 0.4997, 0.6135, 0.8272, 1.158, 1.621, 2.229, 2.996, 3.93, 5.043",\
                 "0.5013, 0.5345, 0.648, 0.8633, 1.195, 1.659, 2.268, 3.035, 3.97, 5.084",\
                 "0.5537, 0.5871, 0.7009, 0.9151, 1.246, 1.709, 2.318, 3.086, 4.021, 5.135",\
                 "0.6268, 0.6619, 0.7802, 0.9992, 1.327, 1.786, 2.392, 3.156, 4.089, 5.203",\
                 "0.7382, 0.7749, 0.8979, 1.121, 1.457, 1.915, 2.511, 3.268, 4.195, 5.302",\
                 "0.879, 0.9207, 1.056, 1.292, 1.633, 2.098, 2.696, 3.441, 4.357, 5.456",\
                 "1.048, 1.094, 1.247, 1.504, 1.863, 2.333, 2.937, 3.686, 4.589, 5.674",\
                 "1.241, 1.294, 1.462, 1.747, 2.134, 2.625, 3.234, 3.99, 4.899, 5.971",\
                 "1.46, 1.517, 1.702, 2.016, 2.437, 2.961, 3.591, 4.351, 5.268, 6.348");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.2487, 0.2676, 0.3325, 0.4529, 0.6372, 0.8942, 1.232, 1.656, 2.174, 2.791",\
                 "0.2449, 0.2644, 0.3304, 0.4518, 0.6367, 0.8938, 1.232, 1.657, 2.175, 2.792",\
                 "0.2547, 0.2697, 0.3266, 0.4462, 0.6348, 0.8938, 1.232, 1.657, 2.175, 2.793",\
                 "0.3711, 0.3857, 0.4343, 0.5192, 0.6617, 0.8949, 1.23, 1.657, 2.175, 2.791",\
                 "0.5152, 0.5331, 0.5902, 0.6936, 0.8388, 1.024, 1.287, 1.668, 2.175, 2.792",\
                 "0.6886, 0.7088, 0.7768, 0.8944, 1.06, 1.276, 1.532, 1.838, 2.258, 2.814",\
                 "0.8918, 0.9166, 0.9966, 1.128, 1.315, 1.552, 1.846, 2.181, 2.554, 3.016",\
                 "1.124, 1.153, 1.249, 1.4, 1.606, 1.865, 2.183, 2.557, 2.981, 3.438",\
                 "1.388, 1.421, 1.532, 1.704, 1.935, 2.221, 2.561, 2.962, 3.429, 3.939",\
                 "1.681, 1.725, 1.846, 2.051, 2.305, 2.618, 2.985, 3.411, 3.903, 4.459");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004344, 0.01608, 0.0385, 0.07343, 0.1224, 0.1869, 0.2682, 0.3673, 0.4855");
          values("0.507, 0.5624, 0.758, 1.131, 1.709, 2.518, 3.581, 4.92, 6.553, 8.501",\
                 "0.5071, 0.5624, 0.7577, 1.13, 1.708, 2.518, 3.581, 4.921, 6.554, 8.498",\
                 "0.5081, 0.5632, 0.7579, 1.131, 1.708, 2.518, 3.582, 4.92, 6.557, 8.504",\
                 "0.5313, 0.5827, 0.7674, 1.132, 1.708, 2.518, 3.582, 4.921, 6.554, 8.5",\
                 "0.5922, 0.6442, 0.8274, 1.171, 1.72, 2.519, 3.582, 4.921, 6.555, 8.502",\
                 "0.7012, 0.7484, 0.919, 1.258, 1.791, 2.552, 3.587, 4.921, 6.556, 8.501",\
                 "0.8766, 0.923, 1.082, 1.392, 1.908, 2.65, 3.647, 4.938, 6.556, 8.503",\
                 "1.076, 1.127, 1.298, 1.602, 2.078, 2.797, 3.772, 5.025, 6.593, 8.507",\
                 "1.294, 1.349, 1.534, 1.858, 2.329, 3.002, 3.949, 5.177, 6.704, 8.568",\
                 "1.529, 1.587, 1.79, 2.14, 2.634, 3.288, 4.187, 5.389, 6.887, 8.708");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi221_1) {
    area : 24.147200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C" ;
      value : "5.49714e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C" ;
      value : "6.59604e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C" ;
      value : "5.50506e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C" ;
      value : "6.59604e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C" ;
      value : "7.13196e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C" ;
      value : "6.59604e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C" ;
      value : "8.76117e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C" ;
      value : "6.59967e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C" ;
      value : "5.50506e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C" ;
      value : "6.6825e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C" ;
      value : "5.51265e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C" ;
      value : "6.6825e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C" ;
      value : "7.13955e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C" ;
      value : "6.6825e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C" ;
      value : "8.8407e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C" ;
      value : "6.68613e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C" ;
      value : "7.13163e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C" ;
      value : "6.6825e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C" ;
      value : "7.13955e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C" ;
      value : "6.6825e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C" ;
      value : "8.76645e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C" ;
      value : "6.6825e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C" ;
      value : "8.8407e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C" ;
      value : "6.68613e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C" ;
      value : "4.48437e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C" ;
      value : "4.4814e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C" ;
      value : "4.48437e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C" ;
      value : "4.4814e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C" ;
      value : "4.48437e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C" ;
      value : "4.4814e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C" ;
      value : "4.48503e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C" ;
      value : "4.48503e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.8407e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004448 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01819, 0.01822, 0.01821, 0.01817, 0.01814, 0.01811, 0.01808, \
                 0.01806, 0.01803, 0.01802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01327, -0.0133, -0.01327, -0.01324, -0.01322, -0.01322, -0.01321, \
                 -0.01321, -0.01322, -0.01325");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004846, 0.004841, 0.00485, 0.004859, 0.00485, 0.004876, 0.004876, \
                 0.004876, 0.004876, 0.004876");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004853, -0.00486, -0.004845, -0.004857, -0.004863, -0.004878, \
                 -0.004886, -0.004892, -0.004903, -0.00491");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01819, 0.01822, 0.01822, 0.01819, 0.01815, 0.01814, 0.01811, \
                 0.01807, 0.01804, 0.01802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01328, -0.0133, -0.01328, -0.01326, -0.01323, -0.01323, -0.01322, \
                 -0.01322, -0.01323, -0.01325");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004846, 0.004835, 0.00485, 0.004853, 0.00485, 0.004877, 0.004872, \
                 0.004875, 0.004878, 0.004876");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004853, -0.004859, -0.004845, -0.004857, -0.004862, -0.004877, \
                 -0.004886, -0.004892, -0.004901, -0.004911");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01819, 0.01822, 0.01822, 0.01819, 0.01815, 0.01813, 0.01811, \
                 0.01806, 0.01804, 0.01803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01329, -0.0133, -0.01328, -0.01325, -0.01323, -0.01323, -0.01322, \
                 -0.01322, -0.01323, -0.01325");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004846, 0.004839, 0.004851, 0.004854, 0.004851, 0.004874, 0.004873, \
                 0.004876, 0.004878, 0.004877");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004853, -0.00486, -0.004856, -0.004856, -0.00486, -0.004879, \
                 -0.004887, -0.004889, -0.004902, -0.00491");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004833, 0.004828, 0.004837, 0.004841, 0.004841, 0.004858, 0.004861, \
                 0.004862, 0.004867, 0.004865");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004814, -0.004821, -0.004803, -0.004814, -0.004823, -0.004839, \
                 -0.004846, -0.004851, -0.004864, -0.004873");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004845, 0.00484, 0.004852, 0.004852, 0.004849, 0.004879, 0.004873, \
                 0.004876, 0.004877, 0.004878");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004852, -0.00486, -0.004849, -0.004858, -0.004861, -0.004877, \
                 -0.004887, -0.004893, -0.0049, -0.004913");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0183, 0.01826, 0.01823, 0.01821, 0.0182, 0.01819, 0.01818, 0.01816, \
                 0.01813, 0.01808");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004896, -0.004903, -0.00491, -0.004904, -0.004903, -0.004914, \
                 -0.004921, -0.004918, -0.004922, -0.004921");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01828, 0.01826, 0.01823, 0.01821, 0.0182, 0.01819, 0.01818, \
                 0.01816, 0.01813, 0.01808");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004895, -0.004903, -0.00491, -0.004902, -0.004901, -0.004916, \
                 -0.004921, -0.00492, -0.004919, -0.00492");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01828, 0.01827, 0.01823, 0.01821, 0.0182, 0.01821, 0.01818, \
                 0.01815, 0.01813, 0.01808");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004896, -0.004899, -0.00491, -0.004905, -0.004902, -0.004916, \
                 -0.00492, -0.004919, -0.00492, -0.004921");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03512, 0.03509, 0.03503, 0.03498, 0.03496, 0.03493, 0.03489, \
                 0.03483, 0.03475, 0.03465");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004883, -0.004893, -0.004897, -0.004895, -0.004888, -0.004903, \
                 -0.004905, -0.004904, -0.004906, -0.004908");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0183, 0.01827, 0.01823, 0.01821, 0.0182, 0.01821, 0.01818, 0.01816, \
                 0.01813, 0.01808");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004895, -0.004905, -0.004911, -0.004908, -0.004909, -0.004918, \
                 -0.004922, -0.004921, -0.004919, -0.00492");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004473 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01776, 0.01684, 0.01648, 0.01641, 0.01637, 0.01635, 0.01632, \
                 0.01629, 0.01627, 0.01626");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01647, -0.01647, -0.01648, -0.01644, -0.01639, -0.01635, -0.01632, \
                 -0.01627, -0.01628, -0.01625");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00485, 0.004836, 0.004845, 0.00485, 0.004856, 0.004876, 0.004881, \
                 0.004877, 0.004878, 0.004879");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004853, -0.004855, -0.004863, -0.004863, -0.004869, -0.004878, \
                 -0.004887, -0.004892, -0.0049, -0.00491");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01776, 0.01683, 0.0165, 0.01643, 0.0164, 0.01637, 0.01634, 0.01631, \
                 0.01629, 0.01627");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01646, -0.01647, -0.0165, -0.01646, -0.01641, -0.01638, -0.01633, \
                 -0.0163, -0.01629, -0.01626");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00485, 0.004837, 0.004845, 0.00485, 0.004856, 0.004876, 0.004878, \
                 0.004879, 0.004879, 0.004877");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004853, -0.004855, -0.004862, -0.004863, -0.004869, -0.004879, \
                 -0.004887, -0.004892, -0.0049, -0.004911");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01776, 0.01683, 0.0165, 0.01643, 0.0164, 0.01637, 0.01634, 0.01631, \
                 0.01629, 0.01628");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01646, -0.01647, -0.0165, -0.01647, -0.01641, -0.01639, -0.01634, \
                 -0.01629, -0.01629, -0.01627");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004849, 0.004837, 0.004846, 0.00485, 0.004857, 0.004876, 0.004878, \
                 0.004878, 0.004878, 0.00488");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004853, -0.004855, -0.004859, -0.004862, -0.004864, -0.00488, \
                 -0.004886, -0.004892, -0.004901, -0.004911");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004837, 0.004824, 0.004834, 0.004836, 0.004843, 0.004863, 0.004865, \
                 0.004863, 0.004863, 0.004865");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004814, -0.004816, -0.00482, -0.004825, -0.004826, -0.004837, \
                 -0.004845, -0.004854, -0.004863, -0.004871");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004849, 0.004837, 0.004846, 0.00485, 0.004858, 0.004878, 0.004882, \
                 0.004878, 0.004876, 0.004878");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004853, -0.004855, -0.004859, -0.004863, -0.004866, -0.004881, \
                 -0.004885, -0.004892, -0.004903, -0.004915");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01829, 0.01826, 0.01823, 0.01822, 0.0182, 0.0182, 0.01818, 0.01815, \
                 0.01812, 0.01808");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004907, -0.004894, -0.004905, -0.004903, -0.004898, -0.004916, \
                 -0.004923, -0.004922, -0.004921, -0.004919");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01829, 0.01826, 0.01822, 0.01822, 0.01819, 0.01819, 0.01818, \
                 0.01815, 0.01812, 0.01808");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004907, -0.004894, -0.004905, -0.004903, -0.004898, -0.004916, \
                 -0.004921, -0.004918, -0.004919, -0.004919");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01829, 0.01826, 0.01823, 0.01821, 0.0182, 0.0182, 0.01818, 0.01816, \
                 0.01812, 0.01808");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004907, -0.004895, -0.004906, -0.004905, -0.004896, -0.004914, \
                 -0.004922, -0.004917, -0.004918, -0.004918");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03512, 0.0351, 0.03504, 0.035, 0.03496, 0.03494, 0.03488, 0.03484, \
                 0.03476, 0.03466");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004891, -0.004882, -0.004893, -0.004895, -0.004889, -0.004904, \
                 -0.004908, -0.004906, -0.004906, -0.004907");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01829, 0.01826, 0.01822, 0.01821, 0.01819, 0.0182, 0.01818, \
                 0.01816, 0.01812, 0.01808");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004907, -0.004896, -0.004906, -0.00491, -0.004898, -0.004915, \
                 -0.004923, -0.00492, -0.004918, -0.00492");
        }
      }
    }

    pin(B1) {
      capacitance : 0.004371 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01814, 0.0181, 0.0181, 0.01808, 0.01806, 0.01807, 0.01805, 0.01804, \
                 0.01803, 0.01802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01317, -0.01316, -0.01315, -0.01316, -0.01316, -0.01321, -0.01322, \
                 -0.01323, -0.01325, -0.01327");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01623, 0.01624, 0.01622, 0.01626, 0.01624, \
                 0.01626, 0.01623, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01621, -0.01618, -0.01616, -0.01615, -0.01614, -0.0162, -0.0162, \
                 -0.01618, -0.0162, -0.0162");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01629, 0.01627, 0.01628, 0.0163, 0.01632, 0.01634, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01372, -0.01413, -0.01487, -0.01532, -0.01548, -0.01564, -0.01573, \
                 -0.01577, -0.01581, -0.01582");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01813, 0.0181, 0.0181, 0.01807, 0.01806, 0.01807, 0.01805, 0.01804, \
                 0.01803, 0.01802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01317, -0.01316, -0.01315, -0.01316, -0.01317, -0.01321, -0.01323, \
                 -0.01324, -0.01326, -0.01328");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01623, 0.01626, 0.01622, 0.01626, 0.01624, \
                 0.01626, 0.01624, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01621, -0.01618, -0.01616, -0.01615, -0.01614, -0.0162, -0.01619, \
                 -0.01619, -0.01619, -0.0162");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01629, 0.01627, 0.01627, 0.0163, 0.01632, 0.01634, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01372, -0.01413, -0.01487, -0.01532, -0.01548, -0.01564, -0.01573, \
                 -0.01577, -0.0158, -0.01582");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01813, 0.0181, 0.0181, 0.01808, 0.01805, 0.01808, 0.01806, 0.01805, \
                 0.01804, 0.01801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01317, -0.01316, -0.01315, -0.01316, -0.01317, -0.01321, -0.01323, \
                 -0.01323, -0.01325, -0.01328");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01628, 0.01628, 0.01623, 0.01623, 0.01623, 0.01627, 0.01625, \
                 0.01625, 0.01625, 0.01623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01621, -0.01618, -0.01616, -0.01615, -0.01614, -0.0162, -0.01619, \
                 -0.01619, -0.01623, -0.01621");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01628, 0.01626, 0.01627, 0.01629, 0.0163, 0.01633, \
                 0.01631, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01372, -0.01413, -0.01487, -0.01532, -0.01548, -0.01564, -0.01573, \
                 -0.01577, -0.01581, -0.01583");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01626, 0.01625, 0.01624, 0.01624, 0.01622, 0.01626, 0.01624, \
                 0.01625, 0.01625, 0.01627");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01622, -0.01617, -0.01617, -0.01618, -0.01616, -0.01619, -0.0162, \
                 -0.0162, -0.0162, -0.0162");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01628, 0.01628, 0.01623, 0.01625, 0.01622, 0.01626, 0.01626, \
                 0.01624, 0.01624, 0.01626");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01621, -0.01618, -0.01616, -0.01615, -0.01614, -0.01618, -0.01617, \
                 -0.0162, -0.0162, -0.01619");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01626, 0.01624, 0.01624, 0.01626, 0.01624, 0.01626, 0.01628, \
                 0.01627, 0.01626, 0.01626");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01316, -0.01351, -0.0142, -0.01474, -0.01509, -0.01534, -0.01548, \
                 -0.01556, -0.01562, -0.01566");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01628, 0.01627, 0.01627, 0.0163, 0.01631, 0.0163, 0.01631, \
                 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01374, -0.01413, -0.01488, -0.01531, -0.0155, -0.01564, -0.01572, \
                 -0.01577, -0.0158, -0.01583");
        }
      }
    }

    pin(B2) {
      capacitance : 0.004225 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01771, 0.01665, 0.01635, 0.01632, 0.01627, 0.01629, 0.01627, \
                 0.01626, 0.01624, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0163, -0.01624, -0.01628, -0.01627, -0.01624, -0.01625, -0.01624, \
                 -0.01623, -0.01622, -0.01621");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01624, 0.01622, 0.01624, 0.01621, 0.01626, 0.01626, \
                 0.01626, 0.01628, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0162, -0.01616, -0.01617, -0.01614, -0.01616, -0.0162, -0.01619, \
                 -0.01622, -0.01621, -0.0162");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.0163, 0.01629, 0.01628, 0.01628, 0.01631, 0.01629, 0.01631, \
                 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01371, -0.0141, -0.01489, -0.01531, -0.01548, -0.01564, -0.01572, \
                 -0.01577, -0.01581, -0.01582");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01773, 0.01664, 0.01634, 0.0163, 0.01627, 0.01627, 0.01626, \
                 0.01625, 0.01627, 0.01625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01628, -0.01623, -0.01627, -0.01624, -0.01624, -0.01625, -0.01624, \
                 -0.01623, -0.01621, -0.01621");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01624, 0.01623, 0.01624, 0.01621, 0.01625, 0.01626, \
                 0.01626, 0.01627, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0162, -0.01616, -0.01617, -0.01614, -0.01615, -0.01621, -0.01619, \
                 -0.01622, -0.01624, -0.0162");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.0163, 0.01629, 0.01628, 0.01628, 0.0163, 0.0163, 0.01631, \
                 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01371, -0.0141, -0.01489, -0.01531, -0.01548, -0.01564, -0.01572, \
                 -0.01576, -0.0158, -0.01583");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01773, 0.01664, 0.01634, 0.01631, 0.01627, 0.01627, 0.01626, \
                 0.01625, 0.01627, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01628, -0.01623, -0.01626, -0.01624, -0.01623, -0.01625, -0.01624, \
                 -0.01623, -0.01622, -0.01624");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01624, 0.01622, 0.01624, 0.01621, 0.01625, 0.01626, \
                 0.01626, 0.01628, 0.01625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0162, -0.01616, -0.01617, -0.01614, -0.01615, -0.01621, -0.01619, \
                 -0.01619, -0.01624, -0.0162");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.0163, 0.01629, 0.01627, 0.01627, 0.0163, 0.01631, 0.0163, \
                 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01371, -0.0141, -0.01489, -0.01531, -0.01548, -0.01564, -0.01572, \
                 -0.01577, -0.01581, -0.01583");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01623, 0.01623, 0.01623, 0.01622, 0.01625, 0.01625, \
                 0.01626, 0.01625, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01621, -0.01615, -0.01619, -0.01616, -0.01616, -0.0162, -0.0162, \
                 -0.0162, -0.0162, -0.0162");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01628, 0.01624, 0.01623, 0.01624, 0.01621, 0.01625, 0.01625, \
                 0.01626, 0.01627, 0.01624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01619, -0.01616, -0.01617, -0.01614, -0.01616, -0.01621, -0.01619, \
                 -0.01623, -0.01621, -0.0162");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01626, 0.01627, 0.01626, 0.01624, 0.01624, 0.01629, 0.01627, \
                 0.01628, 0.01626, 0.01626");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01316, -0.01349, -0.01419, -0.01475, -0.01509, -0.01534, -0.01547, \
                 -0.01556, -0.01561, -0.01566");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.0163, 0.01629, 0.01626, 0.01629, 0.01629, 0.0163, 0.01631, \
                 0.01632, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01373, -0.0141, -0.01489, -0.0153, -0.01549, -0.01564, -0.01573, \
                 -0.01577, -0.0158, -0.01583");
        }
      }
    }

    pin(C) {
      capacitance : 0.003899 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0167, 0.01668, 0.0167, 0.01668, 0.01666, 0.01664, 0.01661, 0.01656, \
                 0.0165, 0.0164");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005984, -0.005973, -0.005991, -0.005995, -0.006006, -0.006016, \
                 -0.006029, -0.006042, -0.006056, -0.006073");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01656, 0.01655, 0.01657, 0.01655, 0.01652, 0.01651, 0.01649, \
                 0.01643, 0.01637, 0.01627");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006001, -0.005995, -0.006009, -0.006011, -0.006023, -0.006036, \
                 -0.006048, -0.006058, -0.006076, -0.006089");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01656, 0.01654, 0.01657, 0.01654, 0.01652, 0.01652, 0.01648, \
                 0.01643, 0.01636, 0.01627");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006001, -0.005995, -0.006009, -0.006014, -0.006023, -0.00604, \
                 -0.006045, -0.006057, -0.006073, -0.006091");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01626, 0.01624, 0.01621, 0.0162, 0.01619, 0.0162, 0.01622, 0.0162, \
                 0.0162, 0.01621");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01328, -0.01386, -0.01469, -0.0152, -0.01546, -0.01561, -0.01569, \
                 -0.01574, -0.01579, -0.01582");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01624, 0.01622, 0.01622, 0.0162, 0.01618, 0.01619, 0.01621, \
                 0.0162, 0.01621, 0.01621");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0132, -0.01366, -0.01453, -0.0151, -0.01542, -0.0156, -0.01568, \
                 -0.01575, -0.01578, -0.01582");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01624, 0.01623, 0.01621, 0.01619, 0.01617, 0.01619, 0.01622, \
                 0.0162, 0.01621, 0.0162");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01319, -0.01367, -0.01455, -0.0151, -0.01541, -0.01559, -0.01568, \
                 -0.01575, -0.01578, -0.01582");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009464, 0.009447, 0.009463, 0.009471, 0.009479, 0.009497, 0.009501, \
                 0.009495, 0.009498, 0.009497");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01051, -0.01052, -0.01054, -0.01055, -0.01056, -0.01061, -0.01062, \
                 -0.01063, -0.01065, -0.01068");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1)&(!C))|((!A1)&(!B2)&(!C))|((!A2)&(!B1)&(!C))|((!A2)&(!B2)&(!C)))" ;
      max_capacitance : 0.1449 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.004303, 0.004373, 0.004516, 0.004614, 0.004676, 0.004706, 0.004735, 0.004758, 0.004771, 0.004779",\
                 "0.004234, 0.00438, 0.00469, 0.004989, 0.005196, 0.00532, 0.0054, 0.005454, 0.005486, 0.005514",\
                 "0.005406, 0.005483, 0.005678, 0.005904, 0.006098, 0.006218, 0.006323, 0.006383, 0.006417, 0.006465",\
                 "0.009476, 0.009319, 0.008931, 0.008514, 0.00816, 0.007892, 0.007671, 0.007527, 0.0074, 0.007318",\
                 "0.01793, 0.01744, 0.01616, 0.01457, 0.01317, 0.01199, 0.01104, 0.01026, 0.009668, 0.009207",\
                 "0.03191, 0.03105, 0.02869, 0.02557, 0.02259, 0.01994, 0.01773, 0.01595, 0.01448, 0.01328",\
                 "0.05185, 0.0507, 0.04725, 0.04244, 0.03739, 0.03293, 0.02901, 0.02566, 0.02291, 0.02058",\
                 "0.07817, 0.07674, 0.0723, 0.0658, 0.05859, 0.05179, 0.04574, 0.04047, 0.03591, 0.03211",\
                 "0.1111, 0.1094, 0.1041, 0.09603, 0.08667, 0.07731, 0.06872, 0.06119, 0.0545, 0.04871",\
                 "0.151, 0.1491, 0.143, 0.1334, 0.122, 0.1101, 0.09876, 0.08845, 0.0794, 0.07131");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.06287, 0.06301, 0.06332, 0.06366, 0.06396, 0.06426, 0.06459, 0.06477, 0.06524, 0.06675",\
                 "0.06169, 0.06192, 0.06251, 0.06317, 0.06375, 0.06419, 0.06465, 0.0649, 0.06571, 0.06685",\
                 "0.06196, 0.06196, 0.06218, 0.06262, 0.0632, 0.06376, 0.06432, 0.06487, 0.06524, 0.06707",\
                 "0.06738, 0.06704, 0.06628, 0.06543, 0.06496, 0.06499, 0.06508, 0.06533, 0.06557, 0.06748",\
                 "0.07823, 0.07758, 0.0758, 0.07359, 0.07133, 0.0698, 0.06874, 0.06812, 0.06802, 0.06944",\
                 "0.09493, 0.09394, 0.09117, 0.08742, 0.08358, 0.07993, 0.07713, 0.07512, 0.07371, 0.07474",\
                 "0.1181, 0.1168, 0.1129, 0.1076, 0.102, 0.0965, 0.09155, 0.08726, 0.08413, 0.08469",\
                 "0.1481, 0.1465, 0.1417, 0.1347, 0.1271, 0.1197, 0.1124, 0.1059, 0.1004, 0.1005",\
                 "0.1855, 0.1836, 0.1778, 0.1693, 0.1596, 0.1498, 0.1406, 0.1318, 0.1244, 0.1251",\
                 "0.2306, 0.2284, 0.2218, 0.2117, 0.1999, 0.1877, 0.1761, 0.165, 0.1568, 0.1616");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.004299, 0.004367, 0.004522, 0.004631, 0.004684, 0.004719, 0.004745, 0.004759, 0.004769, 0.004778",\
                 "0.004262, 0.004414, 0.00473, 0.005033, 0.005239, 0.005355, 0.005437, 0.005486, 0.005515, 0.005544",\
                 "0.005626, 0.005703, 0.005892, 0.006105, 0.00629, 0.006402, 0.006498, 0.00655, 0.00659, 0.006628",\
                 "0.009664, 0.009495, 0.009158, 0.008769, 0.00844, 0.00817, 0.007967, 0.00781, 0.007699, 0.007609",\
                 "0.01731, 0.01689, 0.01576, 0.01438, 0.01309, 0.01204, 0.01117, 0.01045, 0.009886, 0.009453",\
                 "0.02983, 0.02911, 0.02702, 0.02425, 0.02161, 0.01927, 0.01729, 0.01564, 0.01432, 0.01324",\
                 "0.04782, 0.04678, 0.04373, 0.03941, 0.03497, 0.03093, 0.02747, 0.02448, 0.02199, 0.0199",\
                 "0.07169, 0.07037, 0.0664, 0.06053, 0.0541, 0.04799, 0.0426, 0.03787, 0.0338, 0.03035",\
                 "0.1017, 0.1002, 0.09533, 0.08797, 0.07951, 0.07109, 0.06343, 0.0566, 0.05064, 0.0454",\
                 "0.1382, 0.1365, 0.1308, 0.122, 0.1116, 0.1008, 0.09057, 0.08137, 0.07318, 0.06588");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.06289, 0.06303, 0.06335, 0.06369, 0.06399, 0.06429, 0.06455, 0.0649, 0.06569, 0.0707",\
                 "0.0617, 0.06194, 0.06254, 0.06323, 0.06378, 0.06422, 0.06471, 0.06497, 0.06586, 0.07102",\
                 "0.06191, 0.06193, 0.06215, 0.06262, 0.06323, 0.06376, 0.06428, 0.06497, 0.06553, 0.07113",\
                 "0.06707, 0.06676, 0.06596, 0.06521, 0.06478, 0.06478, 0.06498, 0.0652, 0.06607, 0.07194",\
                 "0.07724, 0.07665, 0.07497, 0.0728, 0.07077, 0.06934, 0.06834, 0.06787, 0.06805, 0.07446",\
                 "0.09273, 0.09185, 0.08926, 0.08579, 0.0821, 0.07874, 0.076, 0.07423, 0.0737, 0.08061",\
                 "0.1141, 0.1129, 0.1094, 0.1044, 0.09929, 0.09399, 0.08923, 0.0854, 0.08369, 0.09117",\
                 "0.1418, 0.1403, 0.1358, 0.1294, 0.1225, 0.1155, 0.1088, 0.1027, 0.09937, 0.1095",\
                 "0.1763, 0.1744, 0.169, 0.1613, 0.1524, 0.1436, 0.1349, 0.1267, 0.1224, 0.1377",\
                 "0.218, 0.2159, 0.2096, 0.2002, 0.1894, 0.1784, 0.1678, 0.1579, 0.1552, 0.181");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.004302, 0.00438, 0.004523, 0.00464, 0.004704, 0.004729, 0.004749, 0.00476, 0.004768, 0.004776",\
                 "0.00427, 0.004422, 0.004732, 0.005045, 0.005261, 0.005365, 0.005441, 0.005486, 0.005515, 0.005542",\
                 "0.005642, 0.005707, 0.005898, 0.006095, 0.006298, 0.006411, 0.006505, 0.006556, 0.006588, 0.006628",\
                 "0.009644, 0.009485, 0.009143, 0.008769, 0.008439, 0.008162, 0.00797, 0.007822, 0.007697, 0.007607",\
                 "0.01724, 0.01683, 0.01573, 0.01438, 0.01309, 0.01203, 0.01116, 0.01045, 0.00989, 0.009455",\
                 "0.02967, 0.02895, 0.02689, 0.0242, 0.02158, 0.01926, 0.01727, 0.01563, 0.01431, 0.01323",\
                 "0.04757, 0.04658, 0.04359, 0.03934, 0.0349, 0.03091, 0.02745, 0.02447, 0.02199, 0.01988",\
                 "0.07138, 0.07008, 0.06619, 0.0604, 0.05402, 0.04794, 0.04255, 0.03787, 0.03377, 0.03034",\
                 "0.1014, 0.09981, 0.09503, 0.08781, 0.0794, 0.07101, 0.06337, 0.05655, 0.0506, 0.04539",\
                 "0.1377, 0.136, 0.1304, 0.1218, 0.1114, 0.1007, 0.09049, 0.08129, 0.07311, 0.06582");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.0772, 0.0773, 0.07757, 0.07786, 0.07816, 0.07848, 0.07881, 0.0792, 0.08003, 0.08544",\
                 "0.07627, 0.07645, 0.07691, 0.07743, 0.07795, 0.07845, 0.07888, 0.07936, 0.08019, 0.08579",\
                 "0.07612, 0.07619, 0.07642, 0.07687, 0.07742, 0.07799, 0.07862, 0.0792, 0.08016, 0.08587",\
                 "0.08057, 0.08038, 0.07976, 0.07921, 0.07888, 0.07901, 0.07924, 0.07956, 0.08057, 0.08661",\
                 "0.09016, 0.08967, 0.08826, 0.08639, 0.08462, 0.08333, 0.08254, 0.08225, 0.08275, 0.08929",\
                 "0.105, 0.1043, 0.1021, 0.09899, 0.0956, 0.09254, 0.09013, 0.08835, 0.08778, 0.09537",\
                 "0.1258, 0.1248, 0.1217, 0.1174, 0.1124, 0.1075, 0.103, 0.09939, 0.0978, 0.1063",\
                 "0.1529, 0.1516, 0.1477, 0.1419, 0.1354, 0.1287, 0.1223, 0.1165, 0.1136, 0.1245",\
                 "0.1869, 0.1853, 0.1805, 0.1733, 0.1649, 0.1565, 0.148, 0.1402, 0.1365, 0.1527",\
                 "0.2281, 0.2262, 0.2205, 0.2119, 0.2018, 0.1912, 0.1808, 0.1713, 0.1689, 0.1962");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.004325, 0.004375, 0.004525, 0.00461, 0.00467, 0.004703, 0.004728, 0.004748, 0.004759, 0.004767",\
                 "0.004046, 0.004236, 0.004606, 0.004957, 0.005169, 0.005296, 0.005393, 0.005452, 0.005478, 0.005503",\
                 "0.004548, 0.004689, 0.005063, 0.005481, 0.00581, 0.00603, 0.006182, 0.006282, 0.006348, 0.006396",\
                 "0.008222, 0.008134, 0.007948, 0.007803, 0.007667, 0.007545, 0.007433, 0.007339, 0.007269, 0.007214",\
                 "0.01642, 0.01603, 0.01496, 0.01371, 0.01255, 0.01157, 0.01076, 0.01011, 0.009567, 0.009148",\
                 "0.0303, 0.02956, 0.02745, 0.02465, 0.02198, 0.0196, 0.01758, 0.01589, 0.01452, 0.01338",\
                 "0.05035, 0.04927, 0.04612, 0.04166, 0.03699, 0.03271, 0.02905, 0.02589, 0.02323, 0.02097",\
                 "0.07693, 0.07556, 0.07138, 0.06528, 0.05847, 0.05193, 0.04615, 0.04107, 0.03671, 0.03292",\
                 "0.1103, 0.1087, 0.1036, 0.09589, 0.08694, 0.078, 0.06966, 0.06229, 0.05585, 0.05016",\
                 "0.1509, 0.149, 0.1431, 0.1339, 0.1229, 0.1114, 0.1004, 0.09031, 0.08134, 0.07346");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.07529, 0.07532, 0.07542, 0.07559, 0.0758, 0.07607, 0.0764, 0.07673, 0.07722, 0.07885",\
                 "0.07434, 0.07442, 0.07465, 0.07495, 0.07528, 0.07557, 0.076, 0.07633, 0.07685, 0.07865",\
                 "0.07504, 0.075, 0.07493, 0.07505, 0.07526, 0.07551, 0.0759, 0.07643, 0.07672, 0.07857",\
                 "0.08067, 0.08032, 0.07943, 0.0784, 0.07767, 0.07722, 0.07715, 0.07729, 0.07746, 0.07922",\
                 "0.09192, 0.09136, 0.0895, 0.08706, 0.08474, 0.08277, 0.08144, 0.08072, 0.0803, 0.0818",\
                 "0.1093, 0.1084, 0.1057, 0.1018, 0.09771, 0.09382, 0.09055, 0.08818, 0.08665, 0.08743",\
                 "0.1333, 0.1322, 0.1286, 0.1232, 0.1172, 0.1112, 0.1058, 0.1012, 0.09786, 0.09821",\
                 "0.1644, 0.1631, 0.1587, 0.1519, 0.144, 0.136, 0.1281, 0.121, 0.1156, 0.1151",\
                 "0.2029, 0.2014, 0.1963, 0.1883, 0.1785, 0.168, 0.1581, 0.1486, 0.1407, 0.1411",\
                 "0.2493, 0.2476, 0.242, 0.2329, 0.2215, 0.2085, 0.1959, 0.184, 0.1746, 0.1794");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.004329, 0.004393, 0.004535, 0.004625, 0.004682, 0.004713, 0.004733, 0.004753, 0.004763, 0.00477",\
                 "0.004078, 0.004275, 0.004662, 0.004999, 0.005211, 0.005333, 0.005426, 0.005482, 0.00551, 0.005532",\
                 "0.004778, 0.004916, 0.005284, 0.005688, 0.006006, 0.006216, 0.00636, 0.006453, 0.00652, 0.006564",\
                 "0.008475, 0.008399, 0.008244, 0.008109, 0.007978, 0.007854, 0.00774, 0.007644, 0.00757, 0.007514",\
                 "0.01592, 0.01559, 0.01467, 0.01358, 0.01255, 0.01167, 0.01092, 0.01031, 0.009814, 0.009407",\
                 "0.02831, 0.02767, 0.02584, 0.02343, 0.02106, 0.01896, 0.01715, 0.01564, 0.01437, 0.01333",\
                 "0.04629, 0.04533, 0.04258, 0.03867, 0.03456, 0.03079, 0.02752, 0.0247, 0.02229, 0.02025",\
                 "0.07025, 0.06906, 0.06533, 0.05993, 0.05389, 0.04808, 0.04291, 0.03842, 0.03447, 0.03111",\
                 "0.1006, 0.09908, 0.09449, 0.08755, 0.07961, 0.07156, 0.06414, 0.05756, 0.05177, 0.04668",\
                 "0.1375, 0.1358, 0.1304, 0.1219, 0.112, 0.1018, 0.09187, 0.08289, 0.07487, 0.06775");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.07532, 0.07536, 0.07547, 0.07559, 0.07579, 0.07606, 0.07642, 0.07677, 0.07746, 0.08275",\
                 "0.07436, 0.07445, 0.07467, 0.07497, 0.0753, 0.0756, 0.07599, 0.07634, 0.0773, 0.08268",\
                 "0.07499, 0.07496, 0.0749, 0.07503, 0.0752, 0.07556, 0.07593, 0.07638, 0.07724, 0.08285",\
                 "0.08036, 0.08001, 0.07918, 0.07818, 0.07752, 0.07711, 0.07705, 0.0771, 0.07785, 0.08386",\
                 "0.09093, 0.09035, 0.08858, 0.08624, 0.08401, 0.0823, 0.08104, 0.08029, 0.08042, 0.08691",\
                 "0.1069, 0.1061, 0.1036, 0.1, 0.09612, 0.09246, 0.08949, 0.08724, 0.08657, 0.09325",\
                 "0.129, 0.1279, 0.1246, 0.1197, 0.1142, 0.1085, 0.1034, 0.09921, 0.09709, 0.1051",\
                 "0.1576, 0.1563, 0.1523, 0.146, 0.1389, 0.1313, 0.124, 0.1175, 0.1141, 0.1242",\
                 "0.193, 0.1916, 0.1868, 0.1795, 0.1704, 0.161, 0.1515, 0.1429, 0.1385, 0.1536",\
                 "0.2357, 0.2341, 0.2288, 0.2203, 0.2096, 0.1981, 0.1866, 0.1758, 0.1727, 0.1989");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.00433, 0.004394, 0.004533, 0.004636, 0.004699, 0.004725, 0.004737, 0.004753, 0.004761, 0.004767",\
                 "0.004107, 0.004281, 0.00466, 0.00501, 0.005223, 0.005341, 0.00543, 0.005483, 0.005508, 0.00553",\
                 "0.0048, 0.00493, 0.005285, 0.005694, 0.006011, 0.006226, 0.006363, 0.006455, 0.006518, 0.00656",\
                 "0.008478, 0.008397, 0.008251, 0.00811, 0.007975, 0.007855, 0.007743, 0.007646, 0.00757, 0.007511",\
                 "0.01586, 0.01553, 0.01465, 0.01357, 0.01255, 0.01167, 0.01093, 0.01031, 0.009813, 0.009407",\
                 "0.02816, 0.02756, 0.02577, 0.02338, 0.02103, 0.01895, 0.01714, 0.01564, 0.01437, 0.01334",\
                 "0.04607, 0.04514, 0.04242, 0.03857, 0.0345, 0.03077, 0.0275, 0.02468, 0.02228, 0.02025",\
                 "0.06997, 0.06879, 0.06511, 0.05978, 0.05377, 0.04803, 0.04289, 0.03837, 0.03446, 0.0311",\
                 "0.1002, 0.09875, 0.09422, 0.08737, 0.07946, 0.07147, 0.06407, 0.05753, 0.05172, 0.04666",\
                 "0.137, 0.1353, 0.13, 0.1217, 0.1119, 0.1017, 0.09181, 0.0828, 0.07477, 0.06768");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.08947, 0.08949, 0.08956, 0.08974, 0.08996, 0.09021, 0.09048, 0.0908, 0.09176, 0.09722",\
                 "0.08861, 0.08866, 0.08885, 0.0891, 0.0894, 0.08974, 0.09012, 0.09049, 0.0914, 0.09695",\
                 "0.08904, 0.08903, 0.08902, 0.08915, 0.08933, 0.08965, 0.09002, 0.09049, 0.09128, 0.09706",\
                 "0.09382, 0.09352, 0.09286, 0.09207, 0.09144, 0.0912, 0.09114, 0.09121, 0.09202, 0.09823",\
                 "0.1038, 0.1033, 0.1018, 0.0998, 0.09781, 0.09618, 0.09507, 0.09435, 0.09472, 0.1012",\
                 "0.1193, 0.1186, 0.1164, 0.1131, 0.1094, 0.106, 0.1033, 0.1011, 0.1004, 0.1078",\
                 "0.1409, 0.1399, 0.137, 0.1325, 0.1273, 0.1219, 0.1171, 0.113, 0.111, 0.1194",\
                 "0.1691, 0.1679, 0.1642, 0.1584, 0.1516, 0.1444, 0.1374, 0.131, 0.1277, 0.1386",\
                 "0.2041, 0.2027, 0.1984, 0.1914, 0.1829, 0.1738, 0.1647, 0.1562, 0.1521, 0.1677",\
                 "0.2465, 0.245, 0.24, 0.2319, 0.2217, 0.2106, 0.1995, 0.189, 0.1862, 0.2137");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.04064, 0.04061, 0.04058, 0.04057, 0.04058, 0.0406, 0.0406, 0.0406, 0.04062, 0.04059",\
                 "0.0398, 0.03978, 0.03977, 0.03974, 0.03973, 0.0398, 0.03978, 0.03979, 0.03978, 0.03978",\
                 "0.03911, 0.03908, 0.039, 0.03892, 0.03889, 0.03888, 0.03886, 0.03887, 0.03882, 0.03882",\
                 "0.04118, 0.04108, 0.04072, 0.04027, 0.03981, 0.03949, 0.03923, 0.03906, 0.0389, 0.03876",\
                 "0.04836, 0.04804, 0.04702, 0.04564, 0.04425, 0.04303, 0.042, 0.04122, 0.04064, 0.04018",\
                 "0.06236, 0.06169, 0.05976, 0.05693, 0.05392, 0.05119, 0.04881, 0.04687, 0.0453, 0.04403",\
                 "0.08393, 0.08297, 0.08001, 0.07549, 0.07036, 0.06542, 0.06104, 0.05731, 0.05424, 0.05168",\
                 "0.1139, 0.1126, 0.1085, 0.1022, 0.09466, 0.08709, 0.0801, 0.07394, 0.06869, 0.06428",\
                 "0.1525, 0.1509, 0.1458, 0.1376, 0.1276, 0.1171, 0.1071, 0.09797, 0.08999, 0.08303",\
                 "0.2001, 0.1982, 0.1922, 0.1822, 0.1698, 0.1562, 0.1429, 0.1304, 0.1191, 0.1091");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1108, 0.1109, 0.1112, 0.1114, 0.1117, 0.1119, 0.1123, 0.1126, 0.113, 0.1147",\
                 "0.1094, 0.1097, 0.1103, 0.1109, 0.1115, 0.112, 0.1123, 0.1128, 0.1132, 0.1151",\
                 "0.1072, 0.1075, 0.1082, 0.1092, 0.1102, 0.111, 0.1116, 0.1122, 0.113, 0.1149",\
                 "0.107, 0.1071, 0.1074, 0.108, 0.1088, 0.1097, 0.1107, 0.1115, 0.1121, 0.1144",\
                 "0.1121, 0.1119, 0.1114, 0.1109, 0.1107, 0.1109, 0.1113, 0.1118, 0.1124, 0.115",\
                 "0.1265, 0.1258, 0.1238, 0.1216, 0.1195, 0.1179, 0.1168, 0.1162, 0.116, 0.1182",\
                 "0.1514, 0.1502, 0.1467, 0.1419, 0.1373, 0.1333, 0.1298, 0.1272, 0.1252, 0.1271",\
                 "0.1866, 0.1849, 0.18, 0.1728, 0.165, 0.158, 0.1518, 0.1464, 0.1421, 0.1431",\
                 "0.2315, 0.2295, 0.2235, 0.2143, 0.2034, 0.1929, 0.1834, 0.175, 0.1684, 0.1691",\
                 "0.2861, 0.2839, 0.2769, 0.266, 0.2526, 0.2384, 0.2253, 0.2138, 0.2048, 0.2074");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.0378, 0.0378, 0.03773, 0.03775, 0.03773, 0.03775, 0.03777, 0.03777, 0.03777, 0.03776",\
                 "0.03696, 0.03697, 0.03691, 0.03689, 0.03689, 0.03689, 0.03692, 0.03694, 0.03692, 0.03691",\
                 "0.03617, 0.03614, 0.03607, 0.03597, 0.0359, 0.03587, 0.03586, 0.03584, 0.03582, 0.03583",\
                 "0.0381, 0.03794, 0.03755, 0.03705, 0.03661, 0.03624, 0.036, 0.03582, 0.03569, 0.03557",\
                 "0.04528, 0.04483, 0.04367, 0.04215, 0.04067, 0.03945, 0.03844, 0.03769, 0.03716, 0.03673",\
                 "0.0593, 0.0585, 0.05622, 0.0531, 0.04993, 0.04709, 0.04475, 0.0429, 0.04139, 0.04025",\
                 "0.08091, 0.07976, 0.07627, 0.07124, 0.06578, 0.06066, 0.05629, 0.05268, 0.04966, 0.04726",\
                 "0.1108, 0.1093, 0.1046, 0.09745, 0.0894, 0.08154, 0.0744, 0.06835, 0.06324, 0.05899",\
                 "0.1493, 0.1474, 0.1415, 0.1323, 0.1215, 0.1106, 0.1004, 0.0912, 0.08337, 0.07665",\
                 "0.1966, 0.1944, 0.1876, 0.1764, 0.1628, 0.1486, 0.1349, 0.1223, 0.1111, 0.1014");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1024, 0.1025, 0.1028, 0.1031, 0.1033, 0.1036, 0.1039, 0.1042, 0.105, 0.1103",\
                 "0.1011, 0.1013, 0.102, 0.1026, 0.1031, 0.1036, 0.104, 0.1044, 0.1052, 0.1106",\
                 "0.09885, 0.0991, 0.09982, 0.1008, 0.1018, 0.1026, 0.1033, 0.1038, 0.1049, 0.1107",\
                 "0.09854, 0.09864, 0.09893, 0.09955, 0.1004, 0.1013, 0.1022, 0.103, 0.1042, 0.1106",\
                 "0.1031, 0.1028, 0.1024, 0.102, 0.1019, 0.1021, 0.1026, 0.103, 0.1044, 0.1115",\
                 "0.1163, 0.1156, 0.1138, 0.1118, 0.1099, 0.1084, 0.1074, 0.1071, 0.1076, 0.1154",\
                 "0.14, 0.1389, 0.1354, 0.1309, 0.1266, 0.1228, 0.1196, 0.1171, 0.1164, 0.1248",\
                 "0.1741, 0.1725, 0.1676, 0.1605, 0.1532, 0.1467, 0.1407, 0.1356, 0.1327, 0.1424",\
                 "0.2182, 0.2163, 0.2102, 0.201, 0.1905, 0.1804, 0.1715, 0.1635, 0.1589, 0.171",\
                 "0.2721, 0.2699, 0.2628, 0.2517, 0.2386, 0.2249, 0.2123, 0.2014, 0.1962, 0.2143");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.0378, 0.0378, 0.03778, 0.03776, 0.03776, 0.03777, 0.03778, 0.03778, 0.03777, 0.03776",\
                 "0.03698, 0.03697, 0.03695, 0.03694, 0.03692, 0.03693, 0.03693, 0.03694, 0.03693, 0.03691",\
                 "0.03617, 0.03615, 0.03607, 0.036, 0.03595, 0.03591, 0.03588, 0.03585, 0.03583, 0.03581",\
                 "0.03811, 0.03795, 0.03755, 0.03704, 0.03662, 0.03629, 0.03603, 0.03584, 0.03571, 0.03559",\
                 "0.04524, 0.04484, 0.04365, 0.04213, 0.04067, 0.03944, 0.03849, 0.03773, 0.03718, 0.03672",\
                 "0.05918, 0.05842, 0.0562, 0.05307, 0.0499, 0.04708, 0.04475, 0.04291, 0.04141, 0.04024",\
                 "0.08078, 0.07964, 0.07621, 0.07118, 0.06574, 0.06066, 0.05629, 0.05267, 0.04967, 0.04724",\
                 "0.1106, 0.1091, 0.1045, 0.09738, 0.08938, 0.0815, 0.0744, 0.06832, 0.06323, 0.059",\
                 "0.149, 0.1472, 0.1414, 0.1322, 0.1215, 0.1106, 0.1003, 0.09117, 0.08335, 0.07664",\
                 "0.1963, 0.1942, 0.1873, 0.1763, 0.1627, 0.1486, 0.1349, 0.1223, 0.1111, 0.1012");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1167, 0.1168, 0.1171, 0.1173, 0.1175, 0.1178, 0.1182, 0.1186, 0.1195, 0.1252",\
                 "0.1157, 0.1159, 0.1164, 0.1169, 0.1174, 0.1178, 0.1183, 0.1187, 0.1197, 0.1255",\
                 "0.1135, 0.1137, 0.1143, 0.1152, 0.1161, 0.1169, 0.1176, 0.1182, 0.1193, 0.1255",\
                 "0.1129, 0.1129, 0.1133, 0.1139, 0.1148, 0.1157, 0.1166, 0.1174, 0.1188, 0.1255",\
                 "0.1168, 0.1167, 0.1164, 0.1161, 0.1161, 0.1164, 0.117, 0.1176, 0.1189, 0.1264",\
                 "0.1292, 0.1286, 0.1272, 0.1254, 0.1238, 0.1225, 0.1217, 0.1213, 0.1222, 0.13",\
                 "0.1519, 0.1509, 0.1479, 0.1439, 0.14, 0.1365, 0.1336, 0.1314, 0.1308, 0.1395",\
                 "0.1852, 0.1838, 0.1793, 0.173, 0.1663, 0.1599, 0.1543, 0.1495, 0.1472, 0.1572",\
                 "0.2286, 0.2269, 0.2212, 0.2127, 0.2029, 0.1933, 0.1848, 0.1769, 0.173, 0.1858",\
                 "0.282, 0.28, 0.2734, 0.263, 0.2504, 0.2375, 0.2252, 0.2147, 0.2098, 0.2293");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.04062, 0.04059, 0.04058, 0.04055, 0.04055, 0.0406, 0.0406, 0.04061, 0.0406, 0.04061",\
                 "0.03977, 0.03981, 0.03976, 0.03973, 0.03972, 0.03976, 0.03979, 0.03977, 0.03979, 0.03977",\
                 "0.0389, 0.03889, 0.03887, 0.03882, 0.03881, 0.03882, 0.03883, 0.03882, 0.0388, 0.03881",\
                 "0.04054, 0.04044, 0.04017, 0.03985, 0.03955, 0.03924, 0.03906, 0.03891, 0.03878, 0.03871",\
                 "0.0475, 0.0472, 0.0463, 0.0451, 0.04384, 0.04277, 0.04188, 0.04111, 0.04054, 0.0401",\
                 "0.0615, 0.0609, 0.05904, 0.05645, 0.05363, 0.05097, 0.04876, 0.04692, 0.04537, 0.04416",\
                 "0.08353, 0.08259, 0.07967, 0.07537, 0.07047, 0.06566, 0.06144, 0.05777, 0.05473, 0.05219",\
                 "0.1143, 0.113, 0.109, 0.1027, 0.09544, 0.08806, 0.08116, 0.07505, 0.06988, 0.06541",\
                 "0.1541, 0.1526, 0.1474, 0.1392, 0.1294, 0.1191, 0.1092, 0.1002, 0.09215, 0.0852",\
                 "0.2034, 0.2015, 0.1954, 0.1854, 0.173, 0.1596, 0.1463, 0.1339, 0.1227, 0.1126");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.123, 0.123, 0.1231, 0.1233, 0.1234, 0.1237, 0.1239, 0.1243, 0.1248, 0.1269",\
                 "0.1221, 0.1222, 0.1224, 0.1227, 0.1229, 0.1232, 0.1236, 0.1241, 0.1245, 0.1264",\
                 "0.1209, 0.121, 0.1214, 0.1218, 0.1223, 0.1228, 0.1231, 0.1237, 0.1243, 0.1264",\
                 "0.1208, 0.1209, 0.121, 0.1213, 0.1218, 0.1222, 0.1228, 0.1235, 0.1241, 0.1264",\
                 "0.1257, 0.1255, 0.125, 0.1244, 0.124, 0.1238, 0.1239, 0.1241, 0.1247, 0.127",\
                 "0.1408, 0.1401, 0.1382, 0.1357, 0.1334, 0.1315, 0.1301, 0.1291, 0.1287, 0.1309",\
                 "0.1674, 0.1663, 0.1627, 0.1578, 0.1527, 0.148, 0.1442, 0.1411, 0.1389, 0.1402",\
                 "0.2049, 0.2034, 0.1987, 0.1913, 0.183, 0.1751, 0.168, 0.162, 0.1571, 0.1575",\
                 "0.2523, 0.2506, 0.245, 0.2361, 0.2248, 0.2132, 0.2026, 0.193, 0.1854, 0.1853",\
                 "0.3098, 0.308, 0.3018, 0.2914, 0.278, 0.2631, 0.2483, 0.2352, 0.2246, 0.2264");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.03779, 0.0378, 0.03776, 0.03773, 0.03772, 0.03774, 0.03778, 0.03778, 0.03778, 0.03777",\
                 "0.03697, 0.03695, 0.0369, 0.03688, 0.03687, 0.03688, 0.03691, 0.03695, 0.03691, 0.03693",\
                 "0.03598, 0.03597, 0.03593, 0.03588, 0.03584, 0.03583, 0.03583, 0.03582, 0.03584, 0.0358",\
                 "0.03747, 0.03735, 0.03705, 0.03668, 0.03634, 0.03606, 0.03587, 0.03573, 0.03564, 0.03554",\
                 "0.04436, 0.044, 0.04291, 0.04153, 0.04026, 0.03916, 0.03831, 0.0376, 0.03708, 0.03669",\
                 "0.05831, 0.0576, 0.05553, 0.05259, 0.04959, 0.04689, 0.0447, 0.04292, 0.04147, 0.04031",\
                 "0.08038, 0.0793, 0.07593, 0.07112, 0.06585, 0.06092, 0.05664, 0.05307, 0.05013, 0.04773",\
                 "0.1111, 0.1096, 0.1049, 0.09797, 0.09012, 0.08247, 0.07551, 0.06948, 0.06436, 0.0601",\
                 "0.1508, 0.1489, 0.143, 0.134, 0.1233, 0.1125, 0.1024, 0.09333, 0.08547, 0.07869",\
                 "0.1998, 0.1975, 0.1906, 0.1794, 0.1659, 0.1518, 0.1382, 0.1258, 0.1145, 0.1047");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1147, 0.1147, 0.1148, 0.1149, 0.1151, 0.1154, 0.1156, 0.116, 0.117, 0.1226",\
                 "0.1138, 0.1139, 0.1141, 0.1143, 0.1146, 0.1149, 0.1152, 0.1156, 0.1166, 0.1223",\
                 "0.1126, 0.1127, 0.113, 0.1134, 0.1139, 0.1143, 0.1148, 0.1153, 0.1163, 0.1223",\
                 "0.1123, 0.1124, 0.1126, 0.1129, 0.1133, 0.1138, 0.1144, 0.1149, 0.1161, 0.1226",\
                 "0.1167, 0.1165, 0.116, 0.1155, 0.1152, 0.1152, 0.1154, 0.1156, 0.1167, 0.124",\
                 "0.1304, 0.1298, 0.128, 0.1258, 0.1237, 0.122, 0.1208, 0.12, 0.1204, 0.1283",\
                 "0.1556, 0.1545, 0.1511, 0.1464, 0.1418, 0.1375, 0.1338, 0.1309, 0.13, 0.1385",\
                 "0.1919, 0.1904, 0.1858, 0.1787, 0.1708, 0.1633, 0.1566, 0.1509, 0.1478, 0.1572",\
                 "0.2383, 0.2367, 0.2311, 0.2222, 0.2112, 0.2002, 0.19, 0.1809, 0.1758, 0.1876",\
                 "0.295, 0.2931, 0.2868, 0.2765, 0.2633, 0.2487, 0.2347, 0.2222, 0.2158, 0.2341");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.0378, 0.0378, 0.03779, 0.03777, 0.03777, 0.03778, 0.03779, 0.03779, 0.03778, 0.03777",\
                 "0.03698, 0.03697, 0.03695, 0.03693, 0.03692, 0.03692, 0.03692, 0.03692, 0.03692, 0.03691",\
                 "0.03597, 0.03597, 0.03593, 0.0359, 0.03588, 0.03587, 0.03585, 0.03583, 0.03582, 0.0358",\
                 "0.03749, 0.03738, 0.03706, 0.03667, 0.03634, 0.03609, 0.0359, 0.03575, 0.03563, 0.03554",\
                 "0.04432, 0.04398, 0.0429, 0.04155, 0.04027, 0.03917, 0.0383, 0.03762, 0.03708, 0.03667",\
                 "0.05827, 0.05755, 0.05545, 0.05257, 0.04957, 0.04691, 0.0447, 0.04292, 0.04147, 0.04032",\
                 "0.08027, 0.07917, 0.07585, 0.07105, 0.06583, 0.06093, 0.05663, 0.05309, 0.05015, 0.04773",\
                 "0.1109, 0.1094, 0.1048, 0.09793, 0.09007, 0.08245, 0.07546, 0.06947, 0.06437, 0.06007",\
                 "0.1505, 0.1487, 0.1429, 0.1338, 0.1232, 0.1125, 0.1024, 0.0933, 0.08545, 0.0787",\
                 "0.1994, 0.1974, 0.1904, 0.1793, 0.1658, 0.1517, 0.1382, 0.1258, 0.1145, 0.1046");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1289, 0.1289, 0.129, 0.129, 0.1292, 0.1295, 0.1298, 0.1302, 0.1311, 0.1368",\
                 "0.1281, 0.1281, 0.1283, 0.1285, 0.1287, 0.129, 0.1294, 0.1298, 0.1307, 0.1366",\
                 "0.1269, 0.127, 0.1273, 0.1277, 0.1281, 0.1286, 0.129, 0.1295, 0.1305, 0.1367",\
                 "0.1266, 0.1267, 0.1268, 0.1272, 0.1276, 0.1281, 0.1286, 0.1292, 0.1303, 0.137",\
                 "0.1305, 0.1303, 0.13, 0.1295, 0.1293, 0.1293, 0.1295, 0.1298, 0.1307, 0.1383",\
                 "0.1433, 0.1428, 0.1413, 0.1394, 0.1375, 0.1359, 0.1348, 0.1341, 0.1345, 0.1424",\
                 "0.1675, 0.1666, 0.1636, 0.1594, 0.1551, 0.1511, 0.1476, 0.1449, 0.144, 0.1528",\
                 "0.203, 0.2017, 0.1975, 0.191, 0.1836, 0.1765, 0.17, 0.1646, 0.1615, 0.1713",\
                 "0.2491, 0.2474, 0.2423, 0.2338, 0.2235, 0.213, 0.2032, 0.1943, 0.1895, 0.202",\
                 "0.3053, 0.3034, 0.2976, 0.2877, 0.275, 0.2611, 0.2475, 0.2352, 0.2295, 0.2485");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.02395, 0.02393, 0.02398, 0.02397, 0.02399, 0.02401, 0.02403, 0.02404, 0.02404, 0.02404",\
                 "0.02385, 0.02386, 0.02385, 0.02391, 0.02397, 0.02399, 0.02402, 0.02403, 0.02405, 0.02404",\
                 "0.02401, 0.024, 0.02399, 0.02397, 0.024, 0.02401, 0.02403, 0.02404, 0.02403, 0.02404",\
                 "0.02699, 0.02687, 0.02649, 0.026, 0.02561, 0.0252, 0.02494, 0.02475, 0.02461, 0.0245",\
                 "0.035, 0.03467, 0.03352, 0.03209, 0.03064, 0.02936, 0.0283, 0.02745, 0.02678, 0.02628",\
                 "0.04927, 0.04862, 0.04666, 0.04386, 0.04076, 0.03795, 0.03558, 0.03353, 0.03191, 0.03057",\
                 "0.07053, 0.06958, 0.06664, 0.06225, 0.05731, 0.05242, 0.04805, 0.04435, 0.04124, 0.03863",\
                 "0.09901, 0.09785, 0.09404, 0.08803, 0.08091, 0.07373, 0.06698, 0.06101, 0.05582, 0.05144",\
                 "0.1352, 0.1337, 0.1292, 0.1217, 0.1125, 0.1027, 0.09333, 0.08466, 0.07704, 0.0703",\
                 "0.1792, 0.1777, 0.1723, 0.1634, 0.1522, 0.1399, 0.1277, 0.1161, 0.1055, 0.09612");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.08847, 0.08857, 0.08869, 0.08886, 0.0891, 0.08927, 0.0896, 0.08992, 0.09017, 0.09093",\
                 "0.0877, 0.08782, 0.08815, 0.08845, 0.08877, 0.08911, 0.08947, 0.08982, 0.09027, 0.09063",\
                 "0.08689, 0.087, 0.08732, 0.08773, 0.08824, 0.08871, 0.08917, 0.08952, 0.09011, 0.09053",\
                 "0.0891, 0.08895, 0.08872, 0.08861, 0.08871, 0.08898, 0.0892, 0.08972, 0.09017, 0.09079",\
                 "0.0976, 0.09715, 0.09583, 0.09446, 0.09319, 0.09238, 0.09194, 0.09153, 0.09139, 0.09191",\
                 "0.1144, 0.1134, 0.1107, 0.1074, 0.1042, 0.1015, 0.09924, 0.0977, 0.09657, 0.09622",\
                 "0.1392, 0.1379, 0.1338, 0.1283, 0.1227, 0.1177, 0.1134, 0.1096, 0.1067, 0.1048",\
                 "0.1722, 0.1705, 0.1655, 0.1578, 0.1494, 0.1415, 0.1349, 0.1287, 0.1234, 0.1199",\
                 "0.2134, 0.2114, 0.2054, 0.1959, 0.1851, 0.1741, 0.1644, 0.1557, 0.148, 0.1425",\
                 "0.2631, 0.2609, 0.254, 0.243, 0.2297, 0.216, 0.2029, 0.1909, 0.1806, 0.1743");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.02409, 0.02406, 0.0241, 0.02411, 0.02414, 0.02416, 0.02417, 0.02416, 0.02416, 0.02418",\
                 "0.02419, 0.02422, 0.02423, 0.02428, 0.0243, 0.02433, 0.02435, 0.02439, 0.02438, 0.0244",\
                 "0.02469, 0.02468, 0.02467, 0.02466, 0.0247, 0.02471, 0.02473, 0.02474, 0.02474, 0.02474",\
                 "0.02734, 0.02724, 0.02694, 0.02656, 0.02621, 0.02589, 0.02567, 0.02551, 0.02539, 0.02529",\
                 "0.03429, 0.034, 0.03312, 0.03188, 0.03068, 0.02958, 0.02867, 0.02794, 0.0274, 0.02693",\
                 "0.04683, 0.04627, 0.0446, 0.04218, 0.03955, 0.03715, 0.03507, 0.03333, 0.03192, 0.03079",\
                 "0.06566, 0.06487, 0.06231, 0.05842, 0.05411, 0.04993, 0.04609, 0.04289, 0.04018, 0.0379",\
                 "0.09108, 0.09002, 0.08659, 0.08124, 0.07501, 0.06875, 0.06286, 0.05765, 0.05315, 0.04931",\
                 "0.1235, 0.1222, 0.1181, 0.1113, 0.1031, 0.09445, 0.08623, 0.07861, 0.07192, 0.06608",\
                 "0.1632, 0.1617, 0.1568, 0.1487, 0.1386, 0.1276, 0.1168, 0.1066, 0.09722, 0.08895");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.08847, 0.08854, 0.08869, 0.08883, 0.08903, 0.08927, 0.0896, 0.08991, 0.0903, 0.09203",\
                 "0.0877, 0.08782, 0.08815, 0.08847, 0.0888, 0.08911, 0.08943, 0.08977, 0.09026, 0.09203",\
                 "0.08683, 0.08693, 0.08724, 0.0877, 0.08824, 0.08868, 0.08914, 0.08964, 0.0901, 0.09209",\
                 "0.08852, 0.08841, 0.08827, 0.08821, 0.08841, 0.08878, 0.08917, 0.08954, 0.09024, 0.09214",\
                 "0.09607, 0.09568, 0.09455, 0.09325, 0.0922, 0.09152, 0.09118, 0.09099, 0.09133, 0.09343",\
                 "0.1111, 0.1103, 0.1079, 0.1049, 0.102, 0.09953, 0.09765, 0.09627, 0.0956, 0.09754",\
                 "0.1338, 0.1325, 0.1288, 0.1238, 0.1188, 0.1142, 0.1102, 0.1067, 0.1045, 0.1057",\
                 "0.1637, 0.1621, 0.1573, 0.1504, 0.143, 0.1359, 0.1295, 0.1238, 0.1194, 0.1207",\
                 "0.2012, 0.1993, 0.1936, 0.1849, 0.1751, 0.1655, 0.1567, 0.1485, 0.1422, 0.1439",\
                 "0.2466, 0.2445, 0.2379, 0.2275, 0.2156, 0.2031, 0.1914, 0.1808, 0.1732, 0.1787");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.0241, 0.02409, 0.02409, 0.02412, 0.02415, 0.02417, 0.02417, 0.02415, 0.02415, 0.02414",\
                 "0.02422, 0.02423, 0.02425, 0.02427, 0.02431, 0.02435, 0.02436, 0.02435, 0.02434, 0.02434",\
                 "0.02469, 0.02469, 0.02468, 0.0247, 0.02471, 0.02473, 0.02473, 0.02472, 0.02471, 0.02472",\
                 "0.02732, 0.02723, 0.02695, 0.02656, 0.02622, 0.02592, 0.02569, 0.02549, 0.02536, 0.02526",\
                 "0.03427, 0.03395, 0.03308, 0.03185, 0.03065, 0.02958, 0.02866, 0.02794, 0.02737, 0.02693",\
                 "0.04675, 0.04622, 0.04455, 0.04216, 0.03954, 0.03715, 0.03507, 0.03335, 0.03193, 0.03074",\
                 "0.06556, 0.06473, 0.0622, 0.05837, 0.05405, 0.04989, 0.04609, 0.04286, 0.04015, 0.03788",\
                 "0.09094, 0.08991, 0.08648, 0.08118, 0.07499, 0.0687, 0.06284, 0.05765, 0.05316, 0.04932",\
                 "0.1233, 0.122, 0.1179, 0.1112, 0.103, 0.09441, 0.08615, 0.07859, 0.07188, 0.06602",\
                 "0.163, 0.1615, 0.1566, 0.1486, 0.1385, 0.1275, 0.1167, 0.1065, 0.0972, 0.0889");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1027, 0.1027, 0.1028, 0.103, 0.1032, 0.1035, 0.1038, 0.1041, 0.1048, 0.1066",\
                 "0.1021, 0.1021, 0.1023, 0.1026, 0.1029, 0.1033, 0.1037, 0.104, 0.1046, 0.1065",\
                 "0.1011, 0.1012, 0.1015, 0.1019, 0.1024, 0.1029, 0.1034, 0.1038, 0.1045, 0.1065",\
                 "0.1025, 0.1024, 0.1023, 0.1023, 0.1026, 0.1029, 0.1033, 0.1038, 0.1044, 0.1067",\
                 "0.1093, 0.109, 0.1081, 0.1071, 0.1062, 0.1056, 0.1053, 0.1053, 0.1056, 0.108",\
                 "0.1235, 0.1228, 0.1208, 0.1183, 0.1156, 0.1133, 0.1116, 0.1105, 0.1099, 0.1119",\
                 "0.1453, 0.1443, 0.1411, 0.1366, 0.132, 0.1277, 0.1238, 0.1207, 0.1189, 0.1205",\
                 "0.1747, 0.1733, 0.1691, 0.1628, 0.1559, 0.1492, 0.1431, 0.1375, 0.1337, 0.135",\
                 "0.2116, 0.21, 0.2048, 0.1968, 0.1876, 0.1783, 0.1698, 0.1618, 0.1558, 0.1581",\
                 "0.2566, 0.2547, 0.2486, 0.2391, 0.2277, 0.2157, 0.2044, 0.194, 0.1864, 0.1929");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.02113, 0.02117, 0.02115, 0.02115, 0.02119, 0.02119, 0.0212, 0.0212, 0.02122, 0.02122",\
                 "0.02088, 0.02089, 0.02089, 0.0209, 0.02093, 0.02095, 0.02096, 0.02097, 0.02097, 0.02098",\
                 "0.0209, 0.02086, 0.02081, 0.0207, 0.02069, 0.02068, 0.02067, 0.02066, 0.02066, 0.02066",\
                 "0.02383, 0.02365, 0.02318, 0.02261, 0.02211, 0.0217, 0.0214, 0.0212, 0.02103, 0.02091",\
                 "0.03195, 0.03151, 0.03021, 0.02852, 0.02695, 0.02558, 0.02449, 0.02366, 0.02299, 0.02252",\
                 "0.04635, 0.04561, 0.04324, 0.04006, 0.03673, 0.0338, 0.03135, 0.02937, 0.02776, 0.02648",\
                 "0.06769, 0.06654, 0.06314, 0.05815, 0.05284, 0.04768, 0.04327, 0.03956, 0.03648, 0.03398",\
                 "0.09617, 0.09478, 0.09032, 0.08358, 0.07587, 0.06834, 0.06143, 0.05541, 0.05036, 0.04603",\
                 "0.1322, 0.1305, 0.1252, 0.1168, 0.1068, 0.09649, 0.08677, 0.07804, 0.07043, 0.06384",\
                 "0.176, 0.1741, 0.168, 0.158, 0.1458, 0.1327, 0.12, 0.1083, 0.09762, 0.08831");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.08015, 0.0802, 0.08032, 0.08053, 0.08074, 0.08092, 0.08118, 0.0815, 0.08201, 0.08367",\
                 "0.07936, 0.07947, 0.0798, 0.08012, 0.08047, 0.08083, 0.08105, 0.08143, 0.08187, 0.08331",\
                 "0.07851, 0.07862, 0.07892, 0.07938, 0.07985, 0.0804, 0.08072, 0.0811, 0.08164, 0.0833",\
                 "0.08045, 0.08034, 0.08012, 0.08005, 0.08017, 0.08043, 0.08079, 0.08124, 0.08187, 0.08345",\
                 "0.08849, 0.08802, 0.0869, 0.08547, 0.08433, 0.08353, 0.08316, 0.08294, 0.08304, 0.08508",\
                 "0.1047, 0.1038, 0.1011, 0.09792, 0.09491, 0.09224, 0.09016, 0.08865, 0.08797, 0.08913",\
                 "0.1292, 0.1278, 0.1238, 0.1183, 0.113, 0.1081, 0.1038, 0.1002, 0.09759, 0.09814",\
                 "0.1618, 0.1601, 0.1549, 0.1474, 0.1393, 0.1317, 0.125, 0.1189, 0.114, 0.1139",\
                 "0.2027, 0.2007, 0.1945, 0.185, 0.1743, 0.1637, 0.1542, 0.1456, 0.1385, 0.1382",\
                 "0.2519, 0.2497, 0.2427, 0.2316, 0.2185, 0.205, 0.1921, 0.1808, 0.1716, 0.174");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.02132, 0.02129, 0.02128, 0.02128, 0.02131, 0.02134, 0.02136, 0.02136, 0.02136, 0.02136",\
                 "0.02126, 0.0212, 0.02121, 0.02126, 0.02128, 0.02131, 0.02132, 0.02134, 0.02133, 0.02132",\
                 "0.02155, 0.02151, 0.02148, 0.02136, 0.02138, 0.02136, 0.02137, 0.02134, 0.02135, 0.02133",\
                 "0.02417, 0.02405, 0.02366, 0.02318, 0.02276, 0.02239, 0.02214, 0.02197, 0.02182, 0.02173",\
                 "0.03129, 0.0309, 0.0298, 0.02839, 0.02703, 0.02586, 0.02495, 0.02419, 0.02363, 0.0232",\
                 "0.04397, 0.04331, 0.04127, 0.03855, 0.03571, 0.03313, 0.03101, 0.02931, 0.0279, 0.02677",\
                 "0.06288, 0.06187, 0.0589, 0.05461, 0.04993, 0.04549, 0.04164, 0.0384, 0.03572, 0.0335",\
                 "0.08841, 0.08712, 0.08318, 0.07722, 0.07047, 0.06389, 0.05782, 0.05258, 0.04807, 0.04429",\
                 "0.1208, 0.1193, 0.1144, 0.1069, 0.09803, 0.08895, 0.08046, 0.07275, 0.06601, 0.06025",\
                 "0.1603, 0.1586, 0.153, 0.1439, 0.133, 0.1214, 0.1101, 0.09972, 0.09037, 0.08211");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.08016, 0.08021, 0.08033, 0.08053, 0.08072, 0.08095, 0.08118, 0.08147, 0.08223, 0.08754",\
                 "0.07938, 0.0795, 0.07983, 0.08016, 0.08053, 0.08079, 0.08108, 0.08147, 0.08223, 0.0876",\
                 "0.07846, 0.07856, 0.0789, 0.0794, 0.07986, 0.08036, 0.08069, 0.08107, 0.08214, 0.08771",\
                 "0.07993, 0.07986, 0.07974, 0.07976, 0.08002, 0.08029, 0.08069, 0.08111, 0.08209, 0.0881",\
                 "0.087, 0.08663, 0.08556, 0.08442, 0.08346, 0.08283, 0.08253, 0.08246, 0.083, 0.08983",\
                 "0.1016, 0.1007, 0.09839, 0.09557, 0.09276, 0.09042, 0.08864, 0.08753, 0.0874, 0.09468",\
                 "0.1238, 0.1226, 0.1189, 0.114, 0.1092, 0.1047, 0.1007, 0.09755, 0.09629, 0.1045",\
                 "0.1536, 0.1519, 0.1472, 0.1403, 0.133, 0.1263, 0.1199, 0.1144, 0.1115, 0.1214",\
                 "0.1907, 0.1889, 0.1831, 0.1745, 0.1647, 0.1553, 0.1466, 0.1387, 0.1345, 0.148",\
                 "0.2359, 0.2338, 0.2271, 0.2166, 0.2047, 0.1925, 0.181, 0.1709, 0.1671, 0.1887");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.02131, 0.02131, 0.02131, 0.02131, 0.02132, 0.02134, 0.02135, 0.02136, 0.02135, 0.02135",\
                 "0.02124, 0.02125, 0.02127, 0.02128, 0.0213, 0.02131, 0.02132, 0.02131, 0.02132, 0.02131",\
                 "0.02155, 0.02153, 0.02149, 0.02144, 0.02141, 0.02139, 0.02138, 0.02136, 0.02134, 0.02133",\
                 "0.02417, 0.02403, 0.02368, 0.02318, 0.02276, 0.0224, 0.02217, 0.02197, 0.02183, 0.0217",\
                 "0.03125, 0.03088, 0.02979, 0.02838, 0.02704, 0.02587, 0.02495, 0.02421, 0.02364, 0.02318",\
                 "0.04389, 0.04321, 0.04125, 0.03852, 0.03568, 0.03316, 0.03102, 0.02932, 0.0279, 0.02677",\
                 "0.06276, 0.06179, 0.05881, 0.05455, 0.04988, 0.04549, 0.04164, 0.0384, 0.03571, 0.03349",\
                 "0.0882, 0.08696, 0.08308, 0.07715, 0.07042, 0.06385, 0.05779, 0.05251, 0.04809, 0.04431",\
                 "0.1206, 0.1191, 0.1143, 0.1068, 0.09794, 0.08889, 0.08041, 0.07271, 0.06598, 0.06019",\
                 "0.1601, 0.1583, 0.1528, 0.1438, 0.1329, 0.1213, 0.1101, 0.09961, 0.0903, 0.08204");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.09432, 0.09437, 0.09451, 0.0947, 0.09488, 0.09515, 0.09548, 0.0959, 0.09683, 0.1024",\
                 "0.09372, 0.0938, 0.09405, 0.09437, 0.09461, 0.09498, 0.09538, 0.0958, 0.0967, 0.1024",\
                 "0.09278, 0.0929, 0.09318, 0.09363, 0.09412, 0.09456, 0.09508, 0.09557, 0.09667, 0.1025",\
                 "0.09391, 0.09389, 0.09381, 0.09391, 0.09415, 0.09449, 0.09495, 0.09547, 0.09655, 0.103",\
                 "0.1003, 0.1001, 0.09924, 0.09826, 0.09742, 0.09696, 0.0968, 0.09684, 0.09773, 0.1047",\
                 "0.114, 0.1133, 0.1114, 0.1089, 0.1065, 0.1043, 0.1028, 0.1017, 0.1019, 0.1095",\
                 "0.1355, 0.1345, 0.1313, 0.1269, 0.1224, 0.1182, 0.1146, 0.1117, 0.1107, 0.1193",\
                 "0.1645, 0.1631, 0.1589, 0.1527, 0.1459, 0.1394, 0.1335, 0.1283, 0.1258, 0.1362",\
                 "0.2012, 0.1996, 0.1943, 0.1863, 0.1772, 0.1682, 0.1597, 0.1522, 0.1486, 0.1628",\
                 "0.2459, 0.244, 0.2378, 0.2282, 0.2167, 0.2051, 0.1941, 0.1842, 0.1808, 0.2039");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.02119, 0.02118, 0.02116, 0.02119, 0.02119, 0.02121, 0.02121, 0.0212, 0.0212, 0.02119",\
                 "0.02088, 0.02089, 0.02091, 0.02093, 0.02095, 0.02096, 0.02096, 0.02097, 0.02096, 0.02097",\
                 "0.02089, 0.02086, 0.02082, 0.02076, 0.02072, 0.02069, 0.02067, 0.02066, 0.02064, 0.02063",\
                 "0.02383, 0.02364, 0.02318, 0.02261, 0.02211, 0.02171, 0.02143, 0.02121, 0.02103, 0.0209",\
                 "0.03191, 0.03145, 0.03019, 0.02853, 0.02694, 0.02559, 0.0245, 0.02366, 0.023, 0.02252",\
                 "0.04627, 0.04551, 0.0432, 0.04003, 0.03675, 0.0338, 0.03134, 0.02938, 0.02777, 0.02647",\
                 "0.06755, 0.06645, 0.06303, 0.05811, 0.05282, 0.04767, 0.04325, 0.03954, 0.03652, 0.03398",\
                 "0.096, 0.09459, 0.09024, 0.0835, 0.07586, 0.06828, 0.06141, 0.05542, 0.05031, 0.04603",\
                 "0.1319, 0.1303, 0.125, 0.1167, 0.1067, 0.09644, 0.08675, 0.07798, 0.07037, 0.06385",\
                 "0.1757, 0.1739, 0.1678, 0.1579, 0.1457, 0.1326, 0.12, 0.1082, 0.09763, 0.0883");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.09439, 0.09444, 0.09455, 0.09473, 0.09498, 0.09519, 0.09551, 0.09598, 0.0964, 0.09819",\
                 "0.09377, 0.09386, 0.09411, 0.09442, 0.09475, 0.09505, 0.09548, 0.09585, 0.09634, 0.09812",\
                 "0.09289, 0.09296, 0.09325, 0.09367, 0.09412, 0.09463, 0.09512, 0.09562, 0.0962, 0.09808",\
                 "0.0944, 0.09436, 0.09423, 0.09424, 0.09439, 0.09469, 0.09515, 0.09558, 0.09637, 0.09827",\
                 "0.1017, 0.1014, 0.1004, 0.09936, 0.09841, 0.09776, 0.09743, 0.09733, 0.0976, 0.0997",\
                 "0.1171, 0.1162, 0.1141, 0.1113, 0.1086, 0.1062, 0.1043, 0.103, 0.1022, 0.1041",\
                 "0.1407, 0.1396, 0.1361, 0.1312, 0.1262, 0.1216, 0.1177, 0.1144, 0.112, 0.113",\
                 "0.1727, 0.1712, 0.1666, 0.1596, 0.1521, 0.1449, 0.1385, 0.1328, 0.1281, 0.1284",\
                 "0.213, 0.2112, 0.2056, 0.1969, 0.1868, 0.1766, 0.1675, 0.1592, 0.1523, 0.1527",\
                 "0.2619, 0.2599, 0.2533, 0.2431, 0.2305, 0.2174, 0.205, 0.1939, 0.1851, 0.1881");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.02133, 0.02132, 0.02131, 0.02132, 0.02134, 0.02136, 0.02137, 0.02137, 0.02136, 0.02135",\
                 "0.02125, 0.02125, 0.02125, 0.02127, 0.02128, 0.0213, 0.02132, 0.02132, 0.02131, 0.0213",\
                 "0.02154, 0.02153, 0.02149, 0.02144, 0.02141, 0.02138, 0.02137, 0.02136, 0.02133, 0.02133",\
                 "0.02417, 0.02404, 0.02365, 0.02319, 0.02275, 0.02242, 0.02216, 0.02197, 0.02182, 0.0217",\
                 "0.03123, 0.03088, 0.02978, 0.02839, 0.02703, 0.02586, 0.02496, 0.02423, 0.02364, 0.02319",\
                 "0.04389, 0.04321, 0.04125, 0.03855, 0.03571, 0.03315, 0.03105, 0.0293, 0.02791, 0.02678",\
                 "0.06277, 0.0618, 0.05882, 0.05454, 0.04992, 0.04551, 0.04165, 0.03843, 0.03573, 0.03349",\
                 "0.08822, 0.08696, 0.08309, 0.07716, 0.07043, 0.06384, 0.05782, 0.05256, 0.04808, 0.0443",\
                 "0.1206, 0.1191, 0.1143, 0.1068, 0.09797, 0.08892, 0.08044, 0.07273, 0.06601, 0.06022",\
                 "0.1601, 0.1584, 0.1528, 0.1438, 0.1329, 0.1213, 0.1101, 0.09966, 0.09032, 0.08207");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.09439, 0.09444, 0.09457, 0.09471, 0.09498, 0.09518, 0.09554, 0.09593, 0.0969, 0.1024",\
                 "0.09375, 0.09386, 0.09409, 0.09443, 0.09468, 0.09502, 0.09541, 0.09586, 0.09683, 0.1024",\
                 "0.09284, 0.09293, 0.09323, 0.09363, 0.09412, 0.09462, 0.09515, 0.09553, 0.09674, 0.1026",\
                 "0.09397, 0.09395, 0.09386, 0.09396, 0.09422, 0.09459, 0.09498, 0.09547, 0.09658, 0.103",\
                 "0.1004, 0.1001, 0.0993, 0.0983, 0.09752, 0.097, 0.09683, 0.09684, 0.0976, 0.1047",\
                 "0.1141, 0.1134, 0.1115, 0.109, 0.1065, 0.1043, 0.1028, 0.1018, 0.102, 0.1095",\
                 "0.1355, 0.1345, 0.1313, 0.127, 0.1225, 0.1183, 0.1147, 0.1118, 0.1107, 0.1193",\
                 "0.1646, 0.1632, 0.159, 0.1527, 0.1459, 0.1395, 0.1335, 0.1284, 0.1257, 0.1362",\
                 "0.2013, 0.1996, 0.1944, 0.1864, 0.1773, 0.1682, 0.16, 0.1523, 0.1486, 0.1629",\
                 "0.2459, 0.244, 0.2379, 0.2283, 0.2169, 0.2053, 0.1941, 0.1843, 0.1809, 0.2038");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.02132, 0.02131, 0.0213, 0.02132, 0.02132, 0.02135, 0.02136, 0.02135, 0.02134, 0.02134",\
                 "0.02126, 0.02125, 0.02125, 0.02128, 0.02128, 0.02131, 0.02133, 0.02132, 0.02131, 0.02132",\
                 "0.02153, 0.0215, 0.02147, 0.02143, 0.0214, 0.02138, 0.02137, 0.02135, 0.02134, 0.02133",\
                 "0.02416, 0.02404, 0.02366, 0.02318, 0.02276, 0.0224, 0.02216, 0.02197, 0.02182, 0.0217",\
                 "0.0312, 0.03084, 0.02976, 0.02836, 0.02702, 0.02586, 0.02494, 0.0242, 0.02364, 0.02319",\
                 "0.04382, 0.04316, 0.04121, 0.03851, 0.03567, 0.03314, 0.03102, 0.02931, 0.02792, 0.02677",\
                 "0.06265, 0.06168, 0.05875, 0.0545, 0.04988, 0.04548, 0.04165, 0.03839, 0.03573, 0.0335",\
                 "0.08809, 0.08683, 0.08295, 0.0771, 0.0704, 0.06383, 0.05778, 0.05253, 0.04808, 0.0443",\
                 "0.1204, 0.1189, 0.1141, 0.1067, 0.09788, 0.08885, 0.08036, 0.07269, 0.06596, 0.06017",\
                 "0.1599, 0.1582, 0.1526, 0.1437, 0.1327, 0.1212, 0.11, 0.0996, 0.09028, 0.08204");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1086, 0.1086, 0.1087, 0.1089, 0.1091, 0.1093, 0.1097, 0.11, 0.111, 0.1165",\
                 "0.108, 0.1081, 0.1083, 0.1086, 0.1088, 0.1092, 0.1095, 0.11, 0.1109, 0.1166",\
                 "0.1071, 0.1072, 0.1075, 0.1078, 0.1083, 0.1088, 0.1093, 0.1098, 0.1108, 0.1168",\
                 "0.108, 0.108, 0.1079, 0.1081, 0.1083, 0.1086, 0.1091, 0.1096, 0.1107, 0.1173",\
                 "0.1139, 0.1136, 0.113, 0.1122, 0.1115, 0.111, 0.1109, 0.1109, 0.1117, 0.119",\
                 "0.1268, 0.1262, 0.1247, 0.1224, 0.1202, 0.1182, 0.1168, 0.1157, 0.116, 0.1238",\
                 "0.1475, 0.1465, 0.1439, 0.14, 0.1358, 0.1319, 0.1283, 0.1257, 0.1248, 0.1335",\
                 "0.1759, 0.1747, 0.1709, 0.1652, 0.1589, 0.1527, 0.147, 0.142, 0.1397, 0.1506",\
                 "0.2121, 0.2106, 0.2057, 0.1984, 0.1898, 0.1812, 0.1732, 0.1657, 0.1624, 0.1773",\
                 "0.2563, 0.2544, 0.2487, 0.2398, 0.229, 0.2178, 0.207, 0.1975, 0.1946, 0.2182");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1109, 0.1244, 0.1716, 0.2613, 0.4006, 0.5961, 0.8529, 1.177, 1.572, 2.043",\
                 "0.123, 0.1368, 0.1844, 0.2746, 0.414, 0.6097, 0.867, 1.191, 1.586, 2.057",\
                 "0.1618, 0.1783, 0.2302, 0.3203, 0.4601, 0.6555, 0.9127, 1.236, 1.632, 2.103",\
                 "0.1865, 0.2094, 0.2806, 0.3965, 0.5482, 0.7434, 0.9996, 1.323, 1.718, 2.189",\
                 "0.1852, 0.2143, 0.3062, 0.4526, 0.6447, 0.8744, 1.138, 1.46, 1.854, 2.324",\
                 "0.151, 0.1874, 0.3015, 0.4822, 0.7141, 0.9895, 1.304, 1.654, 2.049, 2.517",\
                 "0.0827, 0.1263, 0.262, 0.4783, 0.7529, 1.075, 1.442, 1.85, 2.294, 2.775",\
                 "-0.0219, 0.0286, 0.1862, 0.4373, 0.7569, 1.129, 1.548, 2.011, 2.517, 3.063",\
                 "-0.1662, -0.1083, 0.0719, 0.3569, 0.7189, 1.145, 1.62, 2.14, 2.706, 3.317",\
                 "-0.3519, -0.2871, -0.0842, 0.2352, 0.6425, 1.122, 1.653, 2.234, 2.86, 3.534");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2112, 0.2433, 0.3552, 0.5672, 0.8959, 1.356, 1.962, 2.722, 3.652, 4.761",\
                 "0.2198, 0.2525, 0.3655, 0.5797, 0.9093, 1.371, 1.976, 2.738, 3.671, 4.777",\
                 "0.2752, 0.3057, 0.4159, 0.6285, 0.9585, 1.421, 2.027, 2.79, 3.72, 4.831",\
                 "0.3933, 0.4272, 0.5382, 0.7423, 1.066, 1.525, 2.129, 2.891, 3.82, 4.927",\
                 "0.547, 0.586, 0.7144, 0.9369, 1.254, 1.704, 2.301, 3.058, 3.986, 5.089",\
                 "0.7395, 0.7847, 0.9293, 1.178, 1.527, 1.974, 2.562, 3.31, 4.23, 5.33",\
                 "0.9691, 1.022, 1.187, 1.462, 1.845, 2.332, 2.922, 3.659, 4.568, 5.659",\
                 "1.238, 1.298, 1.488, 1.793, 2.208, 2.737, 3.372, 4.115, 5.011, 6.091",\
                 "1.544, 1.613, 1.83, 2.173, 2.624, 3.189, 3.872, 4.666, 5.572, 6.639",\
                 "1.895, 1.971, 2.214, 2.597, 3.092, 3.696, 4.42, 5.269, 6.231, 7.309");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.142, 0.1647, 0.2451, 0.398, 0.6369, 0.9698, 1.409, 1.963, 2.64, 3.447",\
                 "0.1417, 0.1647, 0.2448, 0.398, 0.6358, 0.9705, 1.409, 1.963, 2.639, 3.446",\
                 "0.1754, 0.1944, 0.2585, 0.3981, 0.6365, 0.9703, 1.409, 1.964, 2.64, 3.447",\
                 "0.2476, 0.2713, 0.349, 0.4801, 0.669, 0.9732, 1.409, 1.962, 2.64, 3.445",\
                 "0.346, 0.3745, 0.4649, 0.6158, 0.8258, 1.088, 1.45, 1.967, 2.638, 3.446",\
                 "0.4664, 0.5016, 0.6102, 0.7814, 1.014, 1.31, 1.66, 2.095, 2.683, 3.446",\
                 "0.6046, 0.6474, 0.777, 0.9788, 1.237, 1.558, 1.946, 2.397, 2.914, 3.576",\
                 "0.7612, 0.8116, 0.9654, 1.201, 1.497, 1.846, 2.262, 2.75, 3.304, 3.921",\
                 "0.9362, 0.9944, 1.173, 1.442, 1.778, 2.171, 2.616, 3.138, 3.73, 4.394",\
                 "1.123, 1.194, 1.398, 1.705, 2.09, 2.523, 3.011, 3.561, 4.193, 4.897");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3685, 0.4264, 0.6249, 0.9956, 1.573, 2.378, 3.438, 4.773, 6.41, 8.355",\
                 "0.3663, 0.4246, 0.6235, 0.996, 1.575, 2.379, 3.442, 4.771, 6.412, 8.345",\
                 "0.3585, 0.4154, 0.6208, 0.997, 1.571, 2.377, 3.442, 4.779, 6.41, 8.357",\
                 "0.414, 0.4645, 0.6365, 0.9921, 1.571, 2.381, 3.442, 4.781, 6.401, 8.356",\
                 "0.4862, 0.5406, 0.728, 1.055, 1.578, 2.375, 3.442, 4.78, 6.41, 8.341",\
                 "0.5906, 0.6448, 0.8362, 1.187, 1.69, 2.411, 3.444, 4.781, 6.414, 8.353",\
                 "0.7272, 0.784, 0.9758, 1.333, 1.873, 2.569, 3.51, 4.781, 6.402, 8.357",\
                 "0.8826, 0.9452, 1.153, 1.512, 2.065, 2.806, 3.711, 4.896, 6.418, 8.35",\
                 "1.053, 1.125, 1.354, 1.734, 2.283, 3.054, 4.009, 5.14, 6.583, 8.39",\
                 "1.241, 1.325, 1.586, 1.987, 2.548, 3.321, 4.316, 5.5, 6.879, 8.594");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1109, 0.1246, 0.1716, 0.2612, 0.4008, 0.5959, 0.853, 1.177, 1.572, 2.043",\
                 "0.1232, 0.1369, 0.1844, 0.2747, 0.4142, 0.6098, 0.867, 1.19, 1.586, 2.057",\
                 "0.1625, 0.1789, 0.2307, 0.3208, 0.4606, 0.6561, 0.913, 1.237, 1.632, 2.103",\
                 "0.1877, 0.2101, 0.2814, 0.3972, 0.5489, 0.744, 1.001, 1.324, 1.719, 2.189",\
                 "0.183, 0.2125, 0.3047, 0.4521, 0.6447, 0.8743, 1.139, 1.46, 1.854, 2.324",\
                 "0.1415, 0.1788, 0.294, 0.4764, 0.7098, 0.9874, 1.303, 1.653, 2.049, 2.517",\
                 "0.0618, 0.106, 0.2447, 0.4637, 0.7425, 1.068, 1.437, 1.846, 2.291, 2.773",\
                 "-0.0597, -0.008, 0.1536, 0.408, 0.7348, 1.112, 1.536, 2.002, 2.511, 3.058",\
                 "-0.2258, -0.1663, 0.0186, 0.3107, 0.6836, 1.116, 1.596, 2.122, 2.693, 3.307",\
                 "-0.4383, -0.371, -0.1637, 0.1647, 0.5849, 1.072, 1.614, 2.201, 2.836, 3.515");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2307, 0.2685, 0.402, 0.6556, 1.05, 1.601, 2.325, 3.238, 4.351, 5.678",\
                 "0.2381, 0.2764, 0.411, 0.6675, 1.063, 1.616, 2.341, 3.254, 4.368, 5.695",\
                 "0.2932, 0.329, 0.4596, 0.714, 1.11, 1.663, 2.389, 3.304, 4.417, 5.745",\
                 "0.4203, 0.458, 0.582, 0.8256, 1.214, 1.764, 2.488, 3.399, 4.513, 5.841",\
                 "0.5873, 0.6303, 0.7732, 1.022, 1.399, 1.938, 2.654, 3.562, 4.671, 5.996",\
                 "0.7979, 0.8468, 1.005, 1.283, 1.676, 2.204, 2.909, 3.806, 4.908, 6.226",\
                 "1.051, 1.108, 1.286, 1.589, 2.019, 2.568, 3.262, 4.147, 5.238, 6.546",\
                 "1.349, 1.414, 1.615, 1.948, 2.409, 3.004, 3.723, 4.596, 5.671, 6.968",\
                 "1.692, 1.765, 1.993, 2.362, 2.856, 3.488, 4.259, 5.158, 6.223, 7.504",\
                 "2.082, 2.165, 2.42, 2.829, 3.364, 4.032, 4.847, 5.803, 6.893, 8.165");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.142, 0.1648, 0.2449, 0.3975, 0.6367, 0.9701, 1.409, 1.963, 2.64, 3.446",\
                 "0.1418, 0.1647, 0.245, 0.3978, 0.6369, 0.9704, 1.409, 1.963, 2.64, 3.446",\
                 "0.175, 0.194, 0.2582, 0.3982, 0.6366, 0.9702, 1.41, 1.962, 2.639, 3.446",\
                 "0.2466, 0.2704, 0.3487, 0.479, 0.669, 0.9731, 1.409, 1.963, 2.64, 3.446",\
                 "0.3431, 0.3727, 0.4634, 0.6164, 0.8256, 1.087, 1.451, 1.966, 2.639, 3.445",\
                 "0.4612, 0.4974, 0.6078, 0.782, 1.017, 1.312, 1.66, 2.095, 2.684, 3.447",\
                 "0.599, 0.6418, 0.774, 0.9784, 1.241, 1.563, 1.95, 2.399, 2.915, 3.578",\
                 "0.7556, 0.8066, 0.962, 1.202, 1.5, 1.852, 2.269, 2.756, 3.308, 3.925",\
                 "0.932, 0.9934, 1.173, 1.447, 1.785, 2.18, 2.627, 3.148, 3.739, 4.402",\
                 "1.119, 1.19, 1.401, 1.714, 2.099, 2.539, 3.03, 3.579, 4.21, 4.917");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4455, 0.517, 0.7599, 1.209, 1.898, 2.868, 4.133, 5.731, 7.671, 9.989",\
                 "0.4414, 0.5141, 0.7595, 1.209, 1.9, 2.864, 4.138, 5.732, 7.672, 10",\
                 "0.4263, 0.4996, 0.7529, 1.21, 1.901, 2.865, 4.132, 5.733, 7.684, 10.01",\
                 "0.4716, 0.5321, 0.7514, 1.199, 1.898, 2.864, 4.131, 5.728, 7.67, 9.99",\
                 "0.5388, 0.6046, 0.8308, 1.23, 1.893, 2.863, 4.129, 5.728, 7.683, 9.998",\
                 "0.6352, 0.6994, 0.9272, 1.349, 1.962, 2.869, 4.136, 5.733, 7.683, 10",\
                 "0.7672, 0.8344, 1.054, 1.485, 2.125, 2.973, 4.156, 5.729, 7.681, 10.01",\
                 "0.9234, 0.9942, 1.223, 1.646, 2.307, 3.183, 4.294, 5.772, 7.674, 9.991",\
                 "1.093, 1.172, 1.423, 1.853, 2.512, 3.421, 4.55, 5.948, 7.738, 10.01",\
                 "1.287, 1.371, 1.643, 2.094, 2.749, 3.673, 4.852, 6.251, 7.962, 10.09");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1147, 0.1286, 0.1764, 0.2674, 0.4083, 0.6048, 0.8621, 1.186, 1.581, 2.052",\
                 "0.127, 0.141, 0.1891, 0.2806, 0.4218, 0.6185, 0.876, 1.2, 1.595, 2.066",\
                 "0.1678, 0.1842, 0.2358, 0.327, 0.4681, 0.6648, 0.9222, 1.246, 1.641, 2.112",\
                 "0.1971, 0.2192, 0.29, 0.4056, 0.5572, 0.7529, 1.01, 1.333, 1.727, 2.198",\
                 "0.1989, 0.2276, 0.3184, 0.4647, 0.6561, 0.8846, 1.148, 1.47, 1.863, 2.333",\
                 "0.1667, 0.2027, 0.3145, 0.4938, 0.725, 1, 1.315, 1.664, 2.058, 2.526",\
                 "0.0969, 0.1389, 0.2726, 0.4864, 0.7608, 1.084, 1.45, 1.858, 2.302, 2.784",\
                 "-0.0137, 0.0349, 0.1887, 0.4376, 0.757, 1.132, 1.552, 2.016, 2.523, 3.069",\
                 "-0.1689, -0.1134, 0.0616, 0.3441, 0.7105, 1.137, 1.616, 2.138, 2.707, 3.319",\
                 "-0.3702, -0.3082, -0.1114, 0.2052, 0.6158, 1.098, 1.635, 2.221, 2.852, 3.529");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3033, 0.3416, 0.4756, 0.7295, 1.124, 1.675, 2.4, 3.312, 4.427, 5.754",\
                 "0.3118, 0.3506, 0.486, 0.7419, 1.137, 1.69, 2.415, 3.329, 4.443, 5.77",\
                 "0.3626, 0.4003, 0.5333, 0.7886, 1.184, 1.738, 2.465, 3.379, 4.492, 5.821",\
                 "0.4908, 0.5268, 0.6509, 0.8978, 1.288, 1.838, 2.562, 3.475, 4.589, 5.916",\
                 "0.6684, 0.7095, 0.8478, 1.092, 1.471, 2.011, 2.729, 3.637, 4.746, 6.07",\
                 "0.8891, 0.935, 1.088, 1.36, 1.746, 2.275, 2.981, 3.88, 4.981, 6.303",\
                 "1.156, 1.208, 1.376, 1.672, 2.095, 2.639, 3.333, 4.219, 5.31, 6.62",\
                 "1.469, 1.527, 1.717, 2.037, 2.49, 3.08, 3.794, 4.668, 5.745, 7.041",\
                 "1.828, 1.893, 2.106, 2.459, 2.943, 3.569, 4.333, 5.229, 6.294, 7.578",\
                 "2.235, 2.309, 2.545, 2.934, 3.458, 4.118, 4.927, 5.879, 6.964, 8.237");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1803, 0.2036, 0.2842, 0.4374, 0.6761, 1.009, 1.449, 2.004, 2.681, 3.485",\
                 "0.1805, 0.2036, 0.2842, 0.4373, 0.6762, 1.011, 1.45, 2.003, 2.68, 3.485",\
                 "0.2164, 0.2337, 0.2976, 0.4382, 0.6759, 1.009, 1.45, 2.003, 2.68, 3.485",\
                 "0.3036, 0.3251, 0.3965, 0.5206, 0.7088, 1.013, 1.449, 2.004, 2.681, 3.483",\
                 "0.4196, 0.4442, 0.525, 0.668, 0.8704, 1.128, 1.49, 2.006, 2.68, 3.481",\
                 "0.5614, 0.5912, 0.6866, 0.845, 1.069, 1.358, 1.702, 2.135, 2.721, 3.487",\
                 "0.7266, 0.7592, 0.8714, 1.057, 1.303, 1.616, 1.998, 2.441, 2.956, 3.62",\
                 "0.9098, 0.949, 1.08, 1.295, 1.576, 1.914, 2.322, 2.806, 3.353, 3.965",\
                 "1.113, 1.163, 1.313, 1.557, 1.874, 2.251, 2.688, 3.201, 3.788, 4.448",\
                 "1.334, 1.389, 1.563, 1.842, 2.2, 2.62, 3.098, 3.639, 4.259, 4.965");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5512, 0.6213, 0.8604, 1.307, 1.996, 2.961, 4.229, 5.824, 7.773, 10.09",\
                 "0.549, 0.6194, 0.8598, 1.307, 1.997, 2.961, 4.229, 5.824, 7.773, 10.09",\
                 "0.5371, 0.6097, 0.8565, 1.307, 1.997, 2.961, 4.23, 5.827, 7.771, 10.09",\
                 "0.5561, 0.6188, 0.8457, 1.3, 1.996, 2.962, 4.23, 5.825, 7.773, 10.09",\
                 "0.6296, 0.6946, 0.914, 1.318, 1.99, 2.961, 4.23, 5.826, 7.771, 10.09",\
                 "0.7198, 0.7862, 1.016, 1.432, 2.048, 2.961, 4.228, 5.826, 7.773, 10.1",\
                 "0.8466, 0.9118, 1.14, 1.576, 2.207, 3.059, 4.243, 5.824, 7.773, 10.1",\
                 "1.003, 1.074, 1.302, 1.732, 2.395, 3.266, 4.379, 5.859, 7.774, 10.1",\
                 "1.184, 1.259, 1.502, 1.932, 2.597, 3.508, 4.631, 6.033, 7.832, 10.1",\
                 "1.379, 1.463, 1.729, 2.174, 2.836, 3.763, 4.938, 6.334, 8.044, 10.18");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1109, 0.1244, 0.1716, 0.2613, 0.4006, 0.5961, 0.8529, 1.177, 1.572, 2.043",\
                 "0.123, 0.1368, 0.1844, 0.2746, 0.414, 0.6097, 0.867, 1.191, 1.586, 2.057",\
                 "0.1618, 0.1783, 0.2302, 0.3203, 0.4601, 0.6555, 0.9127, 1.236, 1.632, 2.103",\
                 "0.1865, 0.2094, 0.2806, 0.3965, 0.5482, 0.7434, 0.9996, 1.323, 1.718, 2.189",\
                 "0.1852, 0.2143, 0.3062, 0.4526, 0.6447, 0.8744, 1.138, 1.46, 1.854, 2.324",\
                 "0.151, 0.1874, 0.3015, 0.4822, 0.7141, 0.9895, 1.304, 1.654, 2.049, 2.517",\
                 "0.0827, 0.1263, 0.262, 0.4783, 0.7529, 1.075, 1.442, 1.85, 2.294, 2.775",\
                 "-0.0219, 0.0286, 0.1862, 0.4373, 0.7569, 1.129, 1.548, 2.011, 2.517, 3.063",\
                 "-0.1662, -0.1083, 0.0719, 0.3569, 0.7189, 1.145, 1.62, 2.14, 2.706, 3.317",\
                 "-0.3519, -0.2871, -0.0842, 0.2352, 0.6425, 1.122, 1.653, 2.234, 2.86, 3.534");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3033, 0.3416, 0.4756, 0.7295, 1.124, 1.675, 2.4, 3.312, 4.427, 5.754",\
                 "0.3118, 0.3506, 0.486, 0.7419, 1.137, 1.69, 2.415, 3.329, 4.443, 5.77",\
                 "0.3626, 0.4003, 0.5333, 0.7886, 1.184, 1.738, 2.465, 3.379, 4.492, 5.821",\
                 "0.4908, 0.5268, 0.6509, 0.8978, 1.288, 1.838, 2.562, 3.475, 4.589, 5.916",\
                 "0.6684, 0.7095, 0.8478, 1.092, 1.471, 2.011, 2.729, 3.637, 4.746, 6.07",\
                 "0.8891, 0.935, 1.088, 1.36, 1.746, 2.275, 2.981, 3.88, 4.981, 6.303",\
                 "1.156, 1.208, 1.376, 1.672, 2.095, 2.639, 3.333, 4.219, 5.31, 6.62",\
                 "1.469, 1.527, 1.717, 2.037, 2.49, 3.08, 3.794, 4.668, 5.745, 7.041",\
                 "1.828, 1.893, 2.106, 2.459, 2.943, 3.569, 4.333, 5.229, 6.294, 7.578",\
                 "2.235, 2.309, 2.545, 2.934, 3.458, 4.118, 4.927, 5.879, 6.964, 8.237");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1803, 0.2036, 0.2842, 0.4374, 0.6761, 1.009, 1.449, 2.004, 2.681, 3.485",\
                 "0.1805, 0.2036, 0.2842, 0.4373, 0.6762, 1.011, 1.45, 2.003, 2.68, 3.485",\
                 "0.2164, 0.2337, 0.2976, 0.4382, 0.6759, 1.009, 1.45, 2.003, 2.68, 3.485",\
                 "0.3036, 0.3251, 0.3965, 0.5206, 0.7088, 1.013, 1.449, 2.004, 2.681, 3.483",\
                 "0.4196, 0.4442, 0.525, 0.668, 0.8704, 1.128, 1.49, 2.006, 2.68, 3.481",\
                 "0.5614, 0.5912, 0.6866, 0.845, 1.069, 1.358, 1.702, 2.135, 2.721, 3.487",\
                 "0.7266, 0.7592, 0.8714, 1.057, 1.303, 1.616, 1.998, 2.441, 2.956, 3.62",\
                 "0.9098, 0.949, 1.08, 1.295, 1.576, 1.914, 2.322, 2.806, 3.353, 3.965",\
                 "1.113, 1.163, 1.313, 1.557, 1.874, 2.251, 2.688, 3.201, 3.788, 4.448",\
                 "1.334, 1.389, 1.563, 1.842, 2.2, 2.62, 3.098, 3.639, 4.259, 4.965");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5512, 0.6213, 0.8604, 1.307, 1.996, 2.961, 4.229, 5.824, 7.773, 10.09",\
                 "0.549, 0.6194, 0.8598, 1.307, 1.997, 2.961, 4.229, 5.824, 7.773, 10.09",\
                 "0.5371, 0.6097, 0.8565, 1.307, 1.997, 2.961, 4.23, 5.827, 7.771, 10.09",\
                 "0.5561, 0.6188, 0.8457, 1.3, 1.996, 2.962, 4.23, 5.825, 7.773, 10.09",\
                 "0.6296, 0.6946, 0.914, 1.318, 1.99, 2.961, 4.23, 5.826, 7.771, 10.09",\
                 "0.7198, 0.7862, 1.016, 1.432, 2.048, 2.961, 4.228, 5.826, 7.773, 10.1",\
                 "0.8466, 0.9118, 1.14, 1.576, 2.207, 3.059, 4.243, 5.824, 7.773, 10.1",\
                 "1.003, 1.074, 1.302, 1.732, 2.395, 3.266, 4.379, 5.859, 7.774, 10.1",\
                 "1.184, 1.259, 1.502, 1.932, 2.597, 3.508, 4.631, 6.033, 7.832, 10.1",\
                 "1.379, 1.463, 1.729, 2.174, 2.836, 3.763, 4.938, 6.334, 8.044, 10.18");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1244, 0.138, 0.185, 0.2747, 0.414, 0.6095, 0.8665, 1.19, 1.585, 2.056",\
                 "0.1347, 0.1485, 0.1964, 0.2864, 0.426, 0.6219, 0.879, 1.202, 1.598, 2.069",\
                 "0.1577, 0.1732, 0.2242, 0.3151, 0.4552, 0.651, 0.9086, 1.232, 1.628, 2.1",\
                 "0.1712, 0.1909, 0.2534, 0.3593, 0.5085, 0.7048, 0.9617, 1.286, 1.68, 2.152",\
                 "0.1572, 0.1828, 0.2631, 0.3918, 0.5638, 0.781, 1.046, 1.37, 1.764, 2.234",\
                 "0.1068, 0.1391, 0.2398, 0.3987, 0.6027, 0.8486, 1.141, 1.485, 1.884, 2.353",\
                 "0.0171, 0.0561, 0.1766, 0.3685, 0.6115, 0.8965, 1.223, 1.597, 2.025, 2.51",\
                 "-0.1154, -0.0697, 0.0719, 0.2959, 0.5811, 0.9115, 1.282, 1.694, 2.156, 2.674",\
                 "-0.2928, -0.2409, -0.0782, 0.1786, 0.5051, 0.8838, 1.305, 1.765, 2.268, 2.823",\
                 "-0.5173, -0.4586, -0.2762, 0.0143, 0.3815, 0.8097, 1.284, 1.798, 2.353, 2.953");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2615, 0.2932, 0.4041, 0.6153, 0.9438, 1.404, 2.008, 2.769, 3.699, 4.807",\
                 "0.2712, 0.3032, 0.4149, 0.6271, 0.956, 1.417, 2.021, 2.782, 3.713, 4.821",\
                 "0.3278, 0.3587, 0.4686, 0.6793, 1.008, 1.468, 2.073, 2.836, 3.764, 4.873",\
                 "0.4554, 0.4869, 0.5927, 0.7961, 1.119, 1.575, 2.178, 2.938, 3.866, 4.973",\
                 "0.6264, 0.6624, 0.7837, 0.9961, 1.311, 1.758, 2.354, 3.109, 4.033, 5.137",\
                 "0.842, 0.8821, 1.016, 1.254, 1.592, 2.034, 2.617, 3.364, 4.281, 5.38",\
                 "1.104, 1.15, 1.299, 1.557, 1.926, 2.401, 2.984, 3.718, 4.625, 5.714",\
                 "1.413, 1.465, 1.634, 1.916, 2.311, 2.824, 3.447, 4.181, 5.075, 6.151",\
                 "1.77, 1.831, 2.019, 2.33, 2.755, 3.299, 3.967, 4.747, 5.644, 6.706",\
                 "2.181, 2.246, 2.457, 2.801, 3.262, 3.837, 4.541, 5.371, 6.317, 7.386");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1419, 0.1645, 0.245, 0.3986, 0.637, 0.9702, 1.409, 1.963, 2.64, 3.447",\
                 "0.1417, 0.165, 0.2451, 0.3979, 0.6367, 0.9702, 1.409, 1.964, 2.64, 3.447",\
                 "0.1642, 0.1846, 0.2547, 0.3988, 0.6355, 0.9702, 1.409, 1.963, 2.64, 3.445",\
                 "0.2242, 0.2446, 0.3158, 0.4515, 0.6602, 0.9746, 1.409, 1.963, 2.64, 3.445",\
                 "0.3154, 0.3382, 0.4138, 0.5486, 0.758, 1.05, 1.443, 1.969, 2.639, 3.445",\
                 "0.429, 0.4564, 0.5436, 0.69, 0.8992, 1.191, 1.574, 2.057, 2.676, 3.45",\
                 "0.5612, 0.5928, 0.6964, 0.8638, 1.088, 1.379, 1.76, 2.242, 2.828, 3.548",\
                 "0.7118, 0.749, 0.8676, 1.06, 1.31, 1.618, 2, 2.478, 3.065, 3.765",\
                 "0.8722, 0.9184, 1.059, 1.277, 1.56, 1.896, 2.294, 2.772, 3.354, 4.051",\
                 "1.045, 1.098, 1.265, 1.513, 1.83, 2.203, 2.63, 3.124, 3.703, 4.396");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4522, 0.5091, 0.7059, 1.078, 1.654, 2.46, 3.521, 4.854, 6.483, 8.422",\
                 "0.4509, 0.5082, 0.7058, 1.077, 1.654, 2.46, 3.521, 4.854, 6.482, 8.423",\
                 "0.4433, 0.5017, 0.7039, 1.077, 1.653, 2.46, 3.521, 4.856, 6.48, 8.423",\
                 "0.482, 0.5316, 0.7092, 1.073, 1.653, 2.459, 3.52, 4.856, 6.483, 8.425",\
                 "0.5562, 0.6112, 0.7976, 1.123, 1.656, 2.459, 3.519, 4.854, 6.485, 8.426",\
                 "0.6492, 0.7058, 0.8994, 1.253, 1.756, 2.483, 3.519, 4.855, 6.483, 8.427",\
                 "0.7712, 0.83, 1.028, 1.394, 1.934, 2.631, 3.577, 4.859, 6.483, 8.425",\
                 "0.917, 0.981, 1.186, 1.556, 2.119, 2.862, 3.772, 4.955, 6.499, 8.424",\
                 "1.079, 1.149, 1.374, 1.755, 2.322, 3.1, 4.058, 5.2, 6.64, 8.46",\
                 "1.259, 1.336, 1.582, 1.99, 2.563, 3.353, 4.355, 5.543, 6.931, 8.65");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1244, 0.138, 0.185, 0.2746, 0.4142, 0.6092, 0.8664, 1.19, 1.585, 2.056",\
                 "0.1348, 0.1485, 0.1963, 0.2868, 0.4263, 0.6217, 0.879, 1.203, 1.598, 2.069",\
                 "0.1584, 0.1738, 0.2248, 0.3156, 0.4556, 0.6513, 0.9089, 1.233, 1.627, 2.1",\
                 "0.1722, 0.1919, 0.2544, 0.3601, 0.5092, 0.7056, 0.9624, 1.286, 1.681, 2.152",\
                 "0.1563, 0.182, 0.2625, 0.3915, 0.5638, 0.7813, 1.047, 1.37, 1.765, 2.235",\
                 "0.101, 0.1332, 0.2345, 0.3944, 0.5997, 0.8468, 1.14, 1.484, 1.883, 2.353",\
                 "0.0015, 0.0408, 0.1634, 0.3572, 0.6029, 0.8903, 1.218, 1.594, 2.023, 2.508",\
                 "-0.1447, -0.0983, 0.0459, 0.2734, 0.5629, 0.8968, 1.271, 1.685, 2.15, 2.669",\
                 "-0.3409, -0.2877, -0.121, 0.1415, 0.4733, 0.8585, 1.284, 1.748, 2.256, 2.813",\
                 "-0.5884, -0.5284, -0.3414, -0.0436, 0.3326, 0.7682, 1.25, 1.771, 2.332, 2.935");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.29, 0.3278, 0.4608, 0.7138, 1.107, 1.658, 2.382, 3.294, 4.408, 5.734",\
                 "0.2988, 0.3368, 0.4703, 0.7247, 1.119, 1.67, 2.395, 3.307, 4.421, 5.748",\
                 "0.3553, 0.392, 0.523, 0.7757, 1.169, 1.72, 2.445, 3.359, 4.47, 5.798",\
                 "0.4893, 0.5242, 0.6469, 0.891, 1.278, 1.825, 2.547, 3.457, 4.569, 5.895",\
                 "0.6744, 0.7146, 0.85, 1.09, 1.466, 2.004, 2.718, 3.622, 4.729, 6.053",\
                 "0.9064, 0.9508, 1.1, 1.367, 1.749, 2.274, 2.976, 3.871, 4.971, 6.286",\
                 "1.191, 1.241, 1.404, 1.691, 2.108, 2.645, 3.335, 4.217, 5.304, 6.609",\
                 "1.528, 1.584, 1.765, 2.075, 2.519, 3.098, 3.804, 4.673, 5.746, 7.038",\
                 "1.92, 1.983, 2.185, 2.522, 2.991, 3.605, 4.358, 5.246, 6.306, 7.582",\
                 "2.368, 2.438, 2.662, 3.032, 3.534, 4.177, 4.972, 5.911, 6.99, 8.252");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1418, 0.1648, 0.245, 0.398, 0.6366, 0.9702, 1.409, 1.963, 2.64, 3.444",\
                 "0.1417, 0.1646, 0.2451, 0.3982, 0.6368, 0.9697, 1.409, 1.963, 2.64, 3.446",\
                 "0.1641, 0.1844, 0.2546, 0.3987, 0.6354, 0.9699, 1.409, 1.963, 2.639, 3.445",\
                 "0.223, 0.2437, 0.3152, 0.4507, 0.6601, 0.9737, 1.409, 1.963, 2.639, 3.446",\
                 "0.3125, 0.3358, 0.4117, 0.5484, 0.7582, 1.049, 1.442, 1.969, 2.638, 3.445",\
                 "0.424, 0.4516, 0.5408, 0.6894, 0.8998, 1.191, 1.575, 2.057, 2.679, 3.453",\
                 "0.554, 0.5868, 0.6916, 0.8608, 1.088, 1.38, 1.761, 2.243, 2.828, 3.546",\
                 "0.7044, 0.742, 0.8626, 1.057, 1.31, 1.622, 2.002, 2.481, 3.068, 3.767",\
                 "0.863, 0.9102, 1.054, 1.276, 1.559, 1.899, 2.299, 2.778, 3.359, 4.058",\
                 "1.034, 1.091, 1.26, 1.514, 1.834, 2.209, 2.638, 3.134, 3.713, 4.406");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5495, 0.6197, 0.8594, 1.307, 1.996, 2.961, 4.229, 5.822, 7.77, 10.09",\
                 "0.5471, 0.618, 0.8595, 1.306, 1.996, 2.961, 4.229, 5.822, 7.77, 10.09",\
                 "0.5351, 0.6075, 0.8557, 1.306, 1.996, 2.961, 4.229, 5.825, 7.769, 10.09",\
                 "0.5571, 0.619, 0.8461, 1.3, 1.995, 2.961, 4.228, 5.822, 7.77, 10.09",\
                 "0.6282, 0.694, 0.9126, 1.319, 1.989, 2.96, 4.228, 5.824, 7.77, 10.09",\
                 "0.71, 0.777, 1.011, 1.429, 2.046, 2.961, 4.227, 5.824, 7.771, 10.09",\
                 "0.827, 0.892, 1.124, 1.563, 2.2, 3.056, 4.241, 5.822, 7.771, 10.09",\
                 "0.967, 1.039, 1.272, 1.711, 2.379, 3.254, 4.374, 5.856, 7.77, 10.09",\
                 "1.128, 1.205, 1.452, 1.892, 2.567, 3.489, 4.618, 6.025, 7.828, 10.1",\
                 "1.308, 1.39, 1.66, 2.112, 2.785, 3.729, 4.913, 6.317, 8.032, 10.18");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1282, 0.1421, 0.1899, 0.2807, 0.4217, 0.6181, 0.8754, 1.199, 1.594, 2.065",\
                 "0.1387, 0.1526, 0.201, 0.2926, 0.4339, 0.6306, 0.888, 1.212, 1.607, 2.078",\
                 "0.1631, 0.1786, 0.2299, 0.3218, 0.4634, 0.6603, 0.9179, 1.242, 1.637, 2.108",\
                 "0.1795, 0.1989, 0.2615, 0.3677, 0.5174, 0.7146, 0.9718, 1.295, 1.69, 2.161",\
                 "0.1686, 0.1937, 0.2732, 0.4015, 0.5738, 0.7912, 1.056, 1.38, 1.774, 2.244",\
                 "0.1201, 0.1516, 0.2509, 0.4084, 0.6121, 0.8582, 1.151, 1.494, 1.893, 2.362",\
                 "0.0299, 0.0674, 0.186, 0.3761, 0.6183, 0.9035, 1.23, 1.605, 2.033, 2.518",\
                 "-0.1069, -0.063, 0.0754, 0.2972, 0.582, 0.9127, 1.284, 1.697, 2.161, 2.68",\
                 "-0.2937, -0.2436, -0.0848, 0.1698, 0.4963, 0.8771, 1.3, 1.763, 2.268, 2.825",\
                 "-0.5318, -0.4763, -0.2979, -0.0101, 0.3587, 0.79, 1.268, 1.786, 2.345, 2.948");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3629, 0.4012, 0.5341, 0.7874, 1.181, 1.733, 2.457, 3.369, 4.483, 5.81",\
                 "0.3724, 0.4106, 0.5444, 0.7987, 1.193, 1.745, 2.469, 3.382, 4.496, 5.823",\
                 "0.4266, 0.464, 0.5962, 0.8496, 1.243, 1.795, 2.52, 3.433, 4.545, 5.874",\
                 "0.5559, 0.5908, 0.7166, 0.9631, 1.351, 1.899, 2.621, 3.531, 4.644, 5.97",\
                 "0.7506, 0.7896, 0.9214, 1.16, 1.538, 2.077, 2.792, 3.697, 4.806, 6.128",\
                 "0.9903, 1.033, 1.179, 1.441, 1.818, 2.345, 3.049, 3.945, 5.044, 6.362",\
                 "1.284, 1.331, 1.488, 1.771, 2.182, 2.715, 3.407, 4.289, 5.377, 6.684",\
                 "1.634, 1.685, 1.857, 2.159, 2.598, 3.173, 3.875, 4.744, 5.819, 7.112",\
                 "2.037, 2.096, 2.285, 2.612, 3.076, 3.684, 4.434, 5.317, 6.377, 7.654",\
                 "2.499, 2.564, 2.773, 3.13, 3.622, 4.259, 5.05, 5.985, 7.06, 8.324");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1804, 0.2036, 0.2842, 0.4373, 0.6757, 1.01, 1.45, 2.003, 2.68, 3.486",\
                 "0.1804, 0.2036, 0.2842, 0.4373, 0.6759, 1.009, 1.45, 2.004, 2.68, 3.485",\
                 "0.2046, 0.2237, 0.2941, 0.4385, 0.6759, 1.011, 1.449, 2.003, 2.68, 3.486",\
                 "0.2718, 0.2913, 0.3594, 0.4921, 0.7002, 1.015, 1.45, 2.001, 2.681, 3.483",\
                 "0.3764, 0.3959, 0.4645, 0.5952, 0.8014, 1.089, 1.484, 2.01, 2.678, 3.482",\
                 "0.5054, 0.5286, 0.6066, 0.7438, 0.947, 1.235, 1.616, 2.098, 2.72, 3.492",\
                 "0.6566, 0.6836, 0.7726, 0.9272, 1.143, 1.43, 1.806, 2.285, 2.869, 3.588",\
                 "0.8274, 0.859, 0.9624, 1.136, 1.374, 1.675, 2.052, 2.526, 3.113, 3.808",\
                 "1.015, 1.051, 1.171, 1.369, 1.635, 1.961, 2.354, 2.828, 3.404, 4.1",\
                 "1.209, 1.255, 1.398, 1.623, 1.919, 2.28, 2.699, 3.184, 3.762, 4.453");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.6517, 0.7204, 0.9593, 1.405, 2.095, 3.061, 4.328, 5.924, 7.873, 10.19",\
                 "0.6501, 0.7197, 0.9589, 1.405, 2.095, 3.061, 4.33, 5.924, 7.873, 10.19",\
                 "0.6427, 0.7138, 0.9569, 1.404, 2.095, 3.061, 4.33, 5.927, 7.871, 10.19",\
                 "0.645, 0.7096, 0.9435, 1.402, 2.095, 3.06, 4.329, 5.924, 7.873, 10.19",\
                 "0.7188, 0.783, 0.9976, 1.409, 2.09, 3.06, 4.329, 5.926, 7.875, 10.19",\
                 "0.8018, 0.8682, 1.101, 1.512, 2.134, 3.059, 4.328, 5.926, 7.874, 10.2",\
                 "0.9118, 0.9812, 1.215, 1.652, 2.283, 3.142, 4.338, 5.924, 7.873, 10.2",\
                 "1.054, 1.122, 1.358, 1.802, 2.469, 3.338, 4.462, 5.953, 7.872, 10.19",\
                 "1.219, 1.296, 1.538, 1.98, 2.658, 3.578, 4.701, 6.115, 7.924, 10.2",\
                 "1.407, 1.486, 1.747, 2.199, 2.875, 3.819, 5, 6.401, 8.124, 10.28");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1244, 0.138, 0.185, 0.2747, 0.414, 0.6095, 0.8665, 1.19, 1.585, 2.056",\
                 "0.1347, 0.1485, 0.1964, 0.2864, 0.426, 0.6219, 0.879, 1.202, 1.598, 2.069",\
                 "0.1577, 0.1732, 0.2242, 0.3151, 0.4552, 0.651, 0.9086, 1.232, 1.628, 2.1",\
                 "0.1712, 0.1909, 0.2534, 0.3593, 0.5085, 0.7048, 0.9617, 1.286, 1.68, 2.152",\
                 "0.1572, 0.1828, 0.2631, 0.3918, 0.5638, 0.781, 1.046, 1.37, 1.764, 2.234",\
                 "0.1068, 0.1391, 0.2398, 0.3987, 0.6027, 0.8486, 1.141, 1.485, 1.884, 2.353",\
                 "0.0171, 0.0561, 0.1766, 0.3685, 0.6115, 0.8965, 1.223, 1.597, 2.025, 2.51",\
                 "-0.1154, -0.0697, 0.0719, 0.2959, 0.5811, 0.9115, 1.282, 1.694, 2.156, 2.674",\
                 "-0.2928, -0.2409, -0.0782, 0.1786, 0.5051, 0.8838, 1.305, 1.765, 2.268, 2.823",\
                 "-0.5173, -0.4586, -0.2762, 0.0143, 0.3815, 0.8097, 1.284, 1.798, 2.353, 2.953");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3629, 0.4012, 0.5341, 0.7874, 1.181, 1.733, 2.457, 3.369, 4.483, 5.81",\
                 "0.3724, 0.4106, 0.5444, 0.7987, 1.193, 1.745, 2.469, 3.382, 4.496, 5.823",\
                 "0.4266, 0.464, 0.5962, 0.8496, 1.243, 1.795, 2.52, 3.433, 4.545, 5.874",\
                 "0.5559, 0.5908, 0.7166, 0.9631, 1.351, 1.899, 2.621, 3.531, 4.644, 5.97",\
                 "0.7506, 0.7896, 0.9214, 1.16, 1.538, 2.077, 2.792, 3.697, 4.806, 6.128",\
                 "0.9903, 1.033, 1.179, 1.441, 1.818, 2.345, 3.049, 3.945, 5.044, 6.362",\
                 "1.284, 1.331, 1.488, 1.771, 2.182, 2.715, 3.407, 4.289, 5.377, 6.684",\
                 "1.634, 1.685, 1.857, 2.159, 2.598, 3.173, 3.875, 4.744, 5.819, 7.112",\
                 "2.037, 2.096, 2.285, 2.612, 3.076, 3.684, 4.434, 5.317, 6.377, 7.654",\
                 "2.499, 2.564, 2.773, 3.13, 3.622, 4.259, 5.05, 5.985, 7.06, 8.324");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1804, 0.2036, 0.2842, 0.4373, 0.6757, 1.01, 1.45, 2.003, 2.68, 3.486",\
                 "0.1804, 0.2036, 0.2842, 0.4373, 0.6759, 1.009, 1.45, 2.004, 2.68, 3.485",\
                 "0.2046, 0.2237, 0.2941, 0.4385, 0.6759, 1.011, 1.449, 2.003, 2.68, 3.486",\
                 "0.2718, 0.2913, 0.3594, 0.4921, 0.7002, 1.015, 1.45, 2.001, 2.681, 3.483",\
                 "0.3764, 0.3959, 0.4645, 0.5952, 0.8014, 1.089, 1.484, 2.01, 2.678, 3.482",\
                 "0.5054, 0.5286, 0.6066, 0.7438, 0.947, 1.235, 1.616, 2.098, 2.72, 3.492",\
                 "0.6566, 0.6836, 0.7726, 0.9272, 1.143, 1.43, 1.806, 2.285, 2.869, 3.588",\
                 "0.8274, 0.859, 0.9624, 1.136, 1.374, 1.675, 2.052, 2.526, 3.113, 3.808",\
                 "1.015, 1.051, 1.171, 1.369, 1.635, 1.961, 2.354, 2.828, 3.404, 4.1",\
                 "1.209, 1.255, 1.398, 1.623, 1.919, 2.28, 2.699, 3.184, 3.762, 4.453");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.6517, 0.7204, 0.9593, 1.405, 2.095, 3.061, 4.328, 5.924, 7.873, 10.19",\
                 "0.6501, 0.7197, 0.9589, 1.405, 2.095, 3.061, 4.33, 5.924, 7.873, 10.19",\
                 "0.6427, 0.7138, 0.9569, 1.404, 2.095, 3.061, 4.33, 5.927, 7.871, 10.19",\
                 "0.645, 0.7096, 0.9435, 1.402, 2.095, 3.06, 4.329, 5.924, 7.873, 10.19",\
                 "0.7188, 0.783, 0.9976, 1.409, 2.09, 3.06, 4.329, 5.926, 7.875, 10.19",\
                 "0.8018, 0.8682, 1.101, 1.512, 2.134, 3.059, 4.328, 5.926, 7.874, 10.2",\
                 "0.9118, 0.9812, 1.215, 1.652, 2.283, 3.142, 4.338, 5.924, 7.873, 10.2",\
                 "1.054, 1.122, 1.358, 1.802, 2.469, 3.338, 4.462, 5.953, 7.872, 10.19",\
                 "1.219, 1.296, 1.538, 1.98, 2.658, 3.578, 4.701, 6.115, 7.924, 10.2",\
                 "1.407, 1.486, 1.747, 2.199, 2.875, 3.819, 5, 6.401, 8.124, 10.28");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2175, 0.2336, 0.2885, 0.3876, 0.536, 0.7389, 1.001, 1.329, 1.728, 2.201",\
                 "0.2277, 0.2436, 0.2988, 0.398, 0.5464, 0.7492, 1.012, 1.34, 1.738, 2.211",\
                 "0.2724, 0.2879, 0.3414, 0.4401, 0.5883, 0.7908, 1.053, 1.381, 1.779, 2.253",\
                 "0.3488, 0.3673, 0.4273, 0.5295, 0.6751, 0.8762, 1.138, 1.465, 1.863, 2.336",\
                 "0.4063, 0.4292, 0.5039, 0.6302, 0.8029, 1.016, 1.276, 1.602, 1.998, 2.47",\
                 "0.4408, 0.4681, 0.5578, 0.7083, 0.914, 1.167, 1.463, 1.798, 2.194, 2.664",\
                 "0.4507, 0.4826, 0.5871, 0.7637, 1.001, 1.293, 1.635, 2.022, 2.45, 2.924",\
                 "0.4359, 0.4713, 0.59, 0.791, 1.064, 1.396, 1.782, 2.218, 2.703, 3.231",\
                 "0.3929, 0.4343, 0.5662, 0.792, 1.099, 1.472, 1.904, 2.388, 2.926, 3.515",\
                 "0.3266, 0.3701, 0.5149, 0.7653, 1.105, 1.52, 1.999, 2.534, 3.124, 3.768");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4058, 0.4384, 0.5524, 0.7664, 1.099, 1.562, 2.173, 2.942, 3.88, 4.998",\
                 "0.4161, 0.4491, 0.5654, 0.7814, 1.115, 1.58, 2.191, 2.961, 3.899, 5.018",\
                 "0.4523, 0.4864, 0.6023, 0.8208, 1.157, 1.624, 2.237, 3.007, 3.946, 5.065",\
                 "0.5104, 0.5452, 0.6625, 0.8799, 1.215, 1.683, 2.297, 3.068, 4.008, 5.128",\
                 "0.5831, 0.6208, 0.7459, 0.9727, 1.307, 1.771, 2.382, 3.152, 4.091, 5.21",\
                 "0.6926, 0.7332, 0.8666, 1.101, 1.449, 1.914, 2.517, 3.28, 4.215, 5.33",\
                 "0.8322, 0.8785, 1.028, 1.277, 1.634, 2.113, 2.721, 3.474, 4.398, 5.506",\
                 "1.002, 1.054, 1.221, 1.496, 1.873, 2.361, 2.984, 3.744, 4.657, 5.753",\
                 "1.199, 1.258, 1.445, 1.749, 2.157, 2.665, 3.297, 4.073, 4.997, 6.082",\
                 "1.422, 1.487, 1.693, 2.03, 2.475, 3.017, 3.669, 4.455, 5.396, 6.493");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2927, 0.3186, 0.4052, 0.565, 0.8074, 1.144, 1.586, 2.142, 2.818, 3.625",\
                 "0.2918, 0.317, 0.4044, 0.5645, 0.8069, 1.144, 1.586, 2.141, 2.818, 3.624",\
                 "0.2844, 0.3095, 0.3986, 0.562, 0.8072, 1.144, 1.586, 2.141, 2.819, 3.624",\
                 "0.3643, 0.3867, 0.4602, 0.59, 0.8104, 1.143, 1.586, 2.14, 2.818, 3.624",\
                 "0.4824, 0.5098, 0.5944, 0.7384, 0.9376, 1.208, 1.602, 2.142, 2.818, 3.624",\
                 "0.6316, 0.6624, 0.759, 0.9184, 1.141, 1.426, 1.773, 2.228, 2.841, 3.627",\
                 "0.8036, 0.839, 0.9518, 1.132, 1.375, 1.687, 2.065, 2.506, 3.039, 3.725",\
                 "1.003, 1.043, 1.173, 1.377, 1.647, 1.98, 2.386, 2.867, 3.417, 4.036",\
                 "1.224, 1.273, 1.422, 1.657, 1.954, 2.312, 2.744, 3.255, 3.844, 4.504",\
                 "1.471, 1.526, 1.696, 1.964, 2.294, 2.69, 3.152, 3.683, 4.305, 5.007");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4641, 0.5194, 0.7142, 1.085, 1.663, 2.467, 3.531, 4.86, 6.494, 8.428",\
                 "0.4646, 0.5196, 0.7129, 1.085, 1.66, 2.468, 3.529, 4.866, 6.488, 8.431",\
                 "0.4675, 0.5214, 0.7141, 1.085, 1.66, 2.468, 3.528, 4.863, 6.497, 8.438",\
                 "0.5011, 0.5495, 0.7276, 1.087, 1.66, 2.467, 3.529, 4.867, 6.494, 8.436",\
                 "0.5754, 0.6254, 0.8026, 1.135, 1.676, 2.47, 3.527, 4.864, 6.495, 8.433",\
                 "0.7012, 0.7448, 0.9068, 1.238, 1.759, 2.511, 3.533, 4.865, 6.496, 8.443",\
                 "0.8894, 0.931, 1.079, 1.38, 1.891, 2.62, 3.599, 4.884, 6.493, 8.443",\
                 "1.101, 1.144, 1.297, 1.589, 2.064, 2.782, 3.743, 4.982, 6.534, 8.442",\
                 "1.326, 1.372, 1.536, 1.846, 2.308, 2.987, 3.94, 5.149, 6.653, 8.507",\
                 "1.566, 1.618, 1.795, 2.124, 2.604, 3.263, 4.178, 5.382, 6.862, 8.66");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.171, 0.1884, 0.2461, 0.3494, 0.5011, 0.7064, 0.9709, 1.3, 1.7, 2.174",\
                 "0.1821, 0.1993, 0.2567, 0.3596, 0.5114, 0.7166, 0.9812, 1.31, 1.71, 2.184",\
                 "0.2314, 0.2472, 0.3014, 0.4021, 0.5529, 0.7579, 1.022, 1.352, 1.751, 2.225",\
                 "0.2971, 0.3176, 0.3833, 0.4918, 0.6403, 0.8431, 1.107, 1.435, 1.834, 2.308",\
                 "0.3401, 0.3657, 0.4473, 0.5828, 0.7632, 0.9817, 1.244, 1.571, 1.969, 2.442",\
                 "0.3563, 0.3871, 0.4861, 0.6491, 0.8645, 1.125, 1.427, 1.767, 2.163, 2.633",\
                 "0.3452, 0.3809, 0.4966, 0.688, 0.94, 1.242, 1.592, 1.984, 2.417, 2.893",\
                 "0.305, 0.3463, 0.4785, 0.6973, 0.9855, 1.332, 1.728, 2.173, 2.663, 3.196",\
                 "0.2373, 0.2835, 0.4296, 0.6765, 1.001, 1.392, 1.838, 2.333, 2.877, 3.471",\
                 "0.1435, 0.1928, 0.3535, 0.6221, 0.9846, 1.421, 1.916, 2.465, 3.064, 3.715");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4566, 0.4959, 0.6307, 0.8842, 1.277, 1.829, 2.553, 3.466, 4.58, 5.908",\
                 "0.4653, 0.5052, 0.6422, 0.8993, 1.294, 1.846, 2.572, 3.485, 4.599, 5.927",\
                 "0.4997, 0.5394, 0.6772, 0.9367, 1.334, 1.889, 2.616, 3.53, 4.646, 5.974",\
                 "0.5563, 0.5968, 0.7339, 0.991, 1.388, 1.944, 2.672, 3.588, 4.704, 6.033",\
                 "0.6289, 0.6708, 0.8143, 1.076, 1.469, 2.02, 2.746, 3.659, 4.775, 6.103",\
                 "0.7403, 0.7849, 0.9318, 1.198, 1.599, 2.144, 2.86, 3.768, 4.878, 6.202",\
                 "0.8833, 0.9337, 1.096, 1.372, 1.776, 2.329, 3.039, 3.933, 5.033, 6.347",\
                 "1.057, 1.114, 1.296, 1.597, 2.013, 2.569, 3.287, 4.174, 5.257, 6.56",\
                 "1.259, 1.323, 1.528, 1.859, 2.305, 2.871, 3.592, 4.488, 5.565, 6.847",\
                 "1.491, 1.561, 1.787, 2.152, 2.637, 3.233, 3.962, 4.862, 5.948, 7.226");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2639, 0.2908, 0.3805, 0.5407, 0.7849, 1.122, 1.562, 2.117, 2.794, 3.6",\
                 "0.2611, 0.2883, 0.3785, 0.5414, 0.7842, 1.122, 1.563, 2.118, 2.794, 3.6",\
                 "0.2606, 0.2841, 0.3693, 0.5355, 0.7833, 1.121, 1.563, 2.118, 2.794, 3.599",\
                 "0.3547, 0.3777, 0.4499, 0.5753, 0.7886, 1.118, 1.562, 2.117, 2.793, 3.599",\
                 "0.483, 0.5082, 0.591, 0.7316, 0.9274, 1.192, 1.582, 2.117, 2.793, 3.6",\
                 "0.6394, 0.672, 0.765, 0.9204, 1.138, 1.418, 1.761, 2.212, 2.819, 3.601",\
                 "0.8274, 0.8636, 0.9734, 1.151, 1.383, 1.687, 2.058, 2.495, 3.024, 3.707",\
                 "1.042, 1.087, 1.217, 1.412, 1.672, 1.992, 2.391, 2.861, 3.405, 4.024",\
                 "1.288, 1.339, 1.489, 1.714, 1.998, 2.345, 2.764, 3.262, 3.84, 4.498",\
                 "1.568, 1.622, 1.793, 2.05, 2.369, 2.745, 3.185, 3.706, 4.314, 5.006");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4695, 0.5354, 0.7661, 1.209, 1.899, 2.865, 4.131, 5.73, 7.674, 9.99",\
                 "0.4704, 0.535, 0.7664, 1.211, 1.898, 2.864, 4.132, 5.728, 7.679, 10.01",\
                 "0.4724, 0.5375, 0.7674, 1.211, 1.9, 2.861, 4.133, 5.726, 7.676, 9.993",\
                 "0.4975, 0.5571, 0.7748, 1.21, 1.899, 2.865, 4.132, 5.727, 7.671, 9.995",\
                 "0.5552, 0.6184, 0.8342, 1.243, 1.903, 2.862, 4.135, 5.734, 7.676, 9.992",\
                 "0.6572, 0.7126, 0.9174, 1.327, 1.964, 2.885, 4.13, 5.731, 7.672, 9.99",\
                 "0.834, 0.8868, 1.071, 1.446, 2.074, 2.965, 4.175, 5.738, 7.673, 9.997",\
                 "1.043, 1.099, 1.29, 1.64, 2.223, 3.103, 4.273, 5.795, 7.7, 10",\
                 "1.269, 1.333, 1.535, 1.901, 2.452, 3.278, 4.436, 5.916, 7.776, 10.03",\
                 "1.514, 1.577, 1.803, 2.194, 2.75, 3.532, 4.643, 6.111, 7.915, 10.14");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1796, 0.1968, 0.2549, 0.3587, 0.5112, 0.7167, 0.9811, 1.31, 1.709, 2.184",\
                 "0.1903, 0.2077, 0.2655, 0.3691, 0.5214, 0.7269, 0.9913, 1.32, 1.72, 2.194",\
                 "0.2391, 0.2549, 0.3097, 0.4114, 0.563, 0.7682, 1.032, 1.362, 1.761, 2.235",\
                 "0.3102, 0.33, 0.3944, 0.5017, 0.6502, 0.8533, 1.117, 1.445, 1.844, 2.318",\
                 "0.3606, 0.3848, 0.4644, 0.5971, 0.7755, 0.9926, 1.254, 1.581, 1.979, 2.451",\
                 "0.3857, 0.4147, 0.5093, 0.6678, 0.8799, 1.139, 1.439, 1.777, 2.173, 2.644",\
                 "0.3832, 0.4166, 0.5263, 0.7111, 0.9586, 1.258, 1.605, 1.996, 2.427, 2.903",\
                 "0.3516, 0.3895, 0.5145, 0.7254, 1.009, 1.351, 1.744, 2.187, 2.675, 3.207",\
                 "0.2922, 0.3344, 0.4732, 0.7095, 1.028, 1.413, 1.855, 2.348, 2.891, 3.484",\
                 "0.2062, 0.2517, 0.403, 0.663, 1.016, 1.445, 1.937, 2.482, 3.079, 3.729");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5312, 0.5704, 0.7047, 0.9585, 1.352, 1.903, 2.627, 3.539, 4.654, 5.981",\
                 "0.5416, 0.5812, 0.7174, 0.9736, 1.368, 1.92, 2.645, 3.558, 4.673, 6",\
                 "0.5769, 0.6166, 0.7534, 1.011, 1.409, 1.963, 2.691, 3.605, 4.72, 6.048",\
                 "0.6336, 0.6729, 0.8091, 1.066, 1.463, 2.018, 2.746, 3.662, 4.778, 6.107",\
                 "0.7098, 0.7505, 0.8917, 1.15, 1.543, 2.094, 2.82, 3.733, 4.848, 6.177",\
                 "0.8248, 0.8672, 1.01, 1.275, 1.673, 2.216, 2.934, 3.841, 4.95, 6.275",\
                 "0.9779, 1.025, 1.179, 1.448, 1.851, 2.402, 3.111, 4.006, 5.105, 6.421",\
                 "1.164, 1.216, 1.386, 1.678, 2.088, 2.642, 3.359, 4.244, 5.33, 6.631",\
                 "1.379, 1.438, 1.627, 1.946, 2.382, 2.945, 3.665, 4.559, 5.636, 6.92",\
                 "1.623, 1.688, 1.899, 2.248, 2.719, 3.308, 4.034, 4.934, 6.02, 7.296");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3184, 0.3433, 0.4285, 0.5863, 0.8274, 1.163, 1.605, 2.158, 2.834, 3.64",\
                 "0.3154, 0.3406, 0.4266, 0.5855, 0.8268, 1.163, 1.603, 2.159, 2.835, 3.64",\
                 "0.3135, 0.3357, 0.4177, 0.5803, 0.8252, 1.163, 1.604, 2.157, 2.833, 3.639",\
                 "0.4155, 0.4348, 0.5004, 0.6205, 0.8317, 1.16, 1.602, 2.157, 2.833, 3.639",\
                 "0.5589, 0.58, 0.6528, 0.783, 0.972, 1.235, 1.623, 2.159, 2.835, 3.641",\
                 "0.7352, 0.7606, 0.8402, 0.9838, 1.191, 1.464, 1.802, 2.252, 2.859, 3.641",\
                 "0.9408, 0.9706, 1.065, 1.221, 1.445, 1.739, 2.105, 2.538, 3.065, 3.747",\
                 "1.179, 1.214, 1.324, 1.5, 1.742, 2.054, 2.443, 2.909, 3.45, 4.065",\
                 "1.451, 1.491, 1.613, 1.813, 2.082, 2.414, 2.822, 3.317, 3.889, 4.541",\
                 "1.757, 1.804, 1.941, 2.166, 2.466, 2.823, 3.252, 3.765, 4.366, 5.056");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5645, 0.6314, 0.8646, 1.308, 1.996, 2.96, 4.226, 5.821, 7.771, 10.09",\
                 "0.5646, 0.6313, 0.8638, 1.308, 1.996, 2.96, 4.228, 5.822, 7.767, 10.09",\
                 "0.5661, 0.6324, 0.8643, 1.307, 1.996, 2.96, 4.228, 5.822, 7.771, 10.09",\
                 "0.5813, 0.6431, 0.8682, 1.308, 1.996, 2.96, 4.227, 5.822, 7.77, 10.09",\
                 "0.6404, 0.704, 0.9196, 1.332, 1.999, 2.96, 4.228, 5.822, 7.769, 10.09",\
                 "0.7282, 0.7866, 1.001, 1.414, 2.053, 2.975, 4.228, 5.824, 7.769, 10.09",\
                 "0.8926, 0.9474, 1.138, 1.526, 2.16, 3.055, 4.262, 5.826, 7.771, 10.09",\
                 "1.1, 1.158, 1.354, 1.71, 2.304, 3.188, 4.364, 5.881, 7.781, 10.09",\
                 "1.33, 1.391, 1.599, 1.963, 2.521, 3.363, 4.524, 6.006, 7.858, 10.11",\
                 "1.573, 1.642, 1.867, 2.256, 2.818, 3.605, 4.727, 6.197, 8.008, 10.21");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2175, 0.2336, 0.2885, 0.3876, 0.536, 0.7389, 1.001, 1.329, 1.728, 2.201",\
                 "0.2277, 0.2436, 0.2988, 0.398, 0.5464, 0.7492, 1.012, 1.34, 1.738, 2.211",\
                 "0.2724, 0.2879, 0.3414, 0.4401, 0.5883, 0.7908, 1.053, 1.381, 1.779, 2.253",\
                 "0.3488, 0.3673, 0.4273, 0.5295, 0.6751, 0.8762, 1.138, 1.465, 1.863, 2.336",\
                 "0.4063, 0.4292, 0.5039, 0.6302, 0.8029, 1.016, 1.276, 1.602, 1.998, 2.47",\
                 "0.4408, 0.4681, 0.5578, 0.7083, 0.914, 1.167, 1.463, 1.798, 2.194, 2.664",\
                 "0.4507, 0.4826, 0.5871, 0.7637, 1.001, 1.293, 1.635, 2.022, 2.45, 2.924",\
                 "0.4359, 0.4713, 0.59, 0.791, 1.064, 1.396, 1.782, 2.218, 2.703, 3.231",\
                 "0.3929, 0.4343, 0.5662, 0.792, 1.099, 1.472, 1.904, 2.388, 2.926, 3.515",\
                 "0.3266, 0.3701, 0.5149, 0.7653, 1.105, 1.52, 1.999, 2.534, 3.124, 3.768");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5312, 0.5704, 0.7047, 0.9585, 1.352, 1.903, 2.627, 3.539, 4.654, 5.981",\
                 "0.5416, 0.5812, 0.7174, 0.9736, 1.368, 1.92, 2.645, 3.558, 4.673, 6",\
                 "0.5769, 0.6166, 0.7534, 1.011, 1.409, 1.963, 2.691, 3.605, 4.72, 6.048",\
                 "0.6336, 0.6729, 0.8091, 1.066, 1.463, 2.018, 2.746, 3.662, 4.778, 6.107",\
                 "0.7098, 0.7505, 0.8917, 1.15, 1.543, 2.094, 2.82, 3.733, 4.848, 6.177",\
                 "0.8248, 0.8672, 1.01, 1.275, 1.673, 2.216, 2.934, 3.841, 4.95, 6.275",\
                 "0.9779, 1.025, 1.179, 1.448, 1.851, 2.402, 3.111, 4.006, 5.105, 6.421",\
                 "1.164, 1.216, 1.386, 1.678, 2.088, 2.642, 3.359, 4.244, 5.33, 6.631",\
                 "1.379, 1.438, 1.627, 1.946, 2.382, 2.945, 3.665, 4.559, 5.636, 6.92",\
                 "1.623, 1.688, 1.899, 2.248, 2.719, 3.308, 4.034, 4.934, 6.02, 7.296");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3184, 0.3433, 0.4285, 0.5863, 0.8274, 1.163, 1.605, 2.158, 2.834, 3.64",\
                 "0.3154, 0.3406, 0.4266, 0.5855, 0.8268, 1.163, 1.603, 2.159, 2.835, 3.64",\
                 "0.3135, 0.3357, 0.4177, 0.5803, 0.8252, 1.163, 1.604, 2.157, 2.833, 3.639",\
                 "0.4155, 0.4348, 0.5004, 0.6205, 0.8317, 1.16, 1.602, 2.157, 2.833, 3.639",\
                 "0.5589, 0.58, 0.6528, 0.783, 0.972, 1.235, 1.623, 2.159, 2.835, 3.641",\
                 "0.7352, 0.7606, 0.8402, 0.9838, 1.191, 1.464, 1.802, 2.252, 2.859, 3.641",\
                 "0.9408, 0.9706, 1.065, 1.221, 1.445, 1.739, 2.105, 2.538, 3.065, 3.747",\
                 "1.179, 1.214, 1.324, 1.5, 1.742, 2.054, 2.443, 2.909, 3.45, 4.065",\
                 "1.451, 1.491, 1.613, 1.813, 2.082, 2.414, 2.822, 3.317, 3.889, 4.541",\
                 "1.757, 1.804, 1.941, 2.166, 2.466, 2.823, 3.252, 3.765, 4.366, 5.056");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5645, 0.6314, 0.8646, 1.308, 1.996, 2.96, 4.226, 5.821, 7.771, 10.09",\
                 "0.5646, 0.6313, 0.8638, 1.308, 1.996, 2.96, 4.228, 5.822, 7.767, 10.09",\
                 "0.5661, 0.6324, 0.8643, 1.307, 1.996, 2.96, 4.228, 5.822, 7.771, 10.09",\
                 "0.5813, 0.6431, 0.8682, 1.308, 1.996, 2.96, 4.227, 5.822, 7.77, 10.09",\
                 "0.6404, 0.704, 0.9196, 1.332, 1.999, 2.96, 4.228, 5.822, 7.769, 10.09",\
                 "0.7282, 0.7866, 1.001, 1.414, 2.053, 2.975, 4.228, 5.824, 7.769, 10.09",\
                 "0.8926, 0.9474, 1.138, 1.526, 2.16, 3.055, 4.262, 5.826, 7.771, 10.09",\
                 "1.1, 1.158, 1.354, 1.71, 2.304, 3.188, 4.364, 5.881, 7.781, 10.09",\
                 "1.33, 1.391, 1.599, 1.963, 2.521, 3.363, 4.524, 6.006, 7.858, 10.11",\
                 "1.573, 1.642, 1.867, 2.256, 2.818, 3.605, 4.727, 6.197, 8.008, 10.21");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2307, 0.2469, 0.3017, 0.4013, 0.5494, 0.752, 1.015, 1.343, 1.741, 2.214",\
                 "0.2393, 0.2561, 0.3108, 0.4099, 0.5584, 0.761, 1.024, 1.351, 1.75, 2.223",\
                 "0.2666, 0.2824, 0.3365, 0.4353, 0.5836, 0.7864, 1.049, 1.377, 1.775, 2.249",\
                 "0.31, 0.3273, 0.3854, 0.488, 0.6361, 0.838, 1.1, 1.428, 1.826, 2.299",\
                 "0.3423, 0.3627, 0.4299, 0.5461, 0.7096, 0.9213, 1.184, 1.511, 1.908, 2.381",\
                 "0.3503, 0.3751, 0.4551, 0.591, 0.7759, 1.009, 1.294, 1.631, 2.028, 2.5",\
                 "0.3274, 0.3563, 0.4514, 0.6102, 0.8236, 1.086, 1.396, 1.76, 2.181, 2.66",\
                 "0.2723, 0.3055, 0.4135, 0.5969, 0.8429, 1.14, 1.486, 1.879, 2.33, 2.839",\
                 "0.1842, 0.2209, 0.3424, 0.5485, 0.8284, 1.165, 1.55, 1.984, 2.467, 3.008",\
                 "0.0608, 0.1023, 0.2359, 0.4641, 0.7763, 1.152, 1.582, 2.061, 2.588, 3.166");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4568, 0.4888, 0.6013, 0.815, 1.147, 1.611, 2.222, 2.991, 3.93, 5.048",\
                 "0.4696, 0.5022, 0.6151, 0.8295, 1.162, 1.626, 2.237, 3.007, 3.945, 5.064",\
                 "0.5123, 0.5446, 0.6589, 0.8744, 1.207, 1.673, 2.285, 3.054, 3.993, 5.111",\
                 "0.574, 0.6074, 0.7221, 0.9367, 1.27, 1.736, 2.348, 3.118, 4.057, 5.176",\
                 "0.6543, 0.6895, 0.8117, 1.033, 1.364, 1.827, 2.437, 3.204, 4.143, 5.26",\
                 "0.7804, 0.8184, 0.9435, 1.171, 1.513, 1.973, 2.575, 3.336, 4.269, 5.383",\
                 "0.9534, 0.9946, 1.13, 1.366, 1.712, 2.183, 2.785, 3.535, 4.458, 5.563",\
                 "1.167, 1.213, 1.363, 1.618, 1.974, 2.45, 3.062, 3.815, 4.724, 5.816",\
                 "1.418, 1.469, 1.635, 1.913, 2.294, 2.781, 3.398, 4.163, 5.077, 6.154",\
                 "1.702, 1.759, 1.943, 2.248, 2.66, 3.173, 3.801, 4.571, 5.498, 6.584");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.292, 0.3179, 0.405, 0.5644, 0.8068, 1.145, 1.586, 2.142, 2.819, 3.624",\
                 "0.2912, 0.3172, 0.4044, 0.5643, 0.8069, 1.145, 1.585, 2.142, 2.818, 3.625",\
                 "0.2883, 0.3134, 0.4003, 0.5629, 0.8068, 1.145, 1.585, 2.141, 2.818, 3.624",\
                 "0.3407, 0.364, 0.4423, 0.5845, 0.8128, 1.144, 1.585, 2.141, 2.817, 3.624",\
                 "0.4354, 0.459, 0.5364, 0.679, 0.8944, 1.192, 1.603, 2.142, 2.817, 3.625",\
                 "0.5666, 0.5922, 0.6752, 0.8184, 1.032, 1.328, 1.714, 2.21, 2.843, 3.628",\
                 "0.7254, 0.7552, 0.848, 1.002, 1.22, 1.513, 1.896, 2.382, 2.974, 3.705",\
                 "0.9086, 0.9438, 1.048, 1.222, 1.455, 1.753, 2.133, 2.615, 3.204, 3.906",\
                 "1.118, 1.156, 1.279, 1.471, 1.726, 2.041, 2.428, 2.903, 3.486, 4.19",\
                 "1.351, 1.392, 1.531, 1.75, 2.033, 2.371, 2.775, 3.257, 3.834, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5446, 0.6001, 0.7946, 1.166, 1.743, 2.55, 3.611, 4.945, 6.576, 8.517",\
                 "0.5449, 0.6003, 0.7947, 1.166, 1.743, 2.55, 3.611, 4.945, 6.575, 8.517",\
                 "0.5459, 0.601, 0.795, 1.167, 1.742, 2.55, 3.61, 4.946, 6.575, 8.517",\
                 "0.5689, 0.62, 0.8029, 1.167, 1.743, 2.55, 3.61, 4.946, 6.575, 8.515",\
                 "0.643, 0.694, 0.872, 1.208, 1.753, 2.551, 3.611, 4.946, 6.575, 8.516",\
                 "0.7512, 0.799, 0.9688, 1.307, 1.83, 2.583, 3.615, 4.947, 6.575, 8.517",\
                 "0.92, 0.965, 1.119, 1.436, 1.957, 2.691, 3.675, 4.96, 6.576, 8.518",\
                 "1.119, 1.166, 1.324, 1.624, 2.116, 2.846, 3.812, 5.05, 6.609, 8.521",\
                 "1.338, 1.387, 1.559, 1.866, 2.339, 3.034, 3.997, 5.217, 6.729, 8.578",\
                 "1.573, 1.627, 1.811, 2.138, 2.617, 3.287, 4.219, 5.439, 6.926, 8.727");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1847, 0.202, 0.2596, 0.3626, 0.5143, 0.7196, 0.9842, 1.314, 1.713, 2.187",\
                 "0.1942, 0.2113, 0.2688, 0.3717, 0.5233, 0.7285, 0.9931, 1.322, 1.722, 2.196",\
                 "0.2237, 0.2401, 0.2957, 0.3972, 0.5485, 0.7537, 1.018, 1.348, 1.747, 2.221",\
                 "0.261, 0.2798, 0.342, 0.449, 0.6006, 0.8046, 1.069, 1.398, 1.797, 2.271",\
                 "0.2813, 0.3043, 0.3782, 0.501, 0.6704, 0.8864, 1.152, 1.48, 1.878, 2.352",\
                 "0.2723, 0.3002, 0.3891, 0.5356, 0.7292, 0.9693, 1.258, 1.599, 1.998, 2.47",\
                 "0.2283, 0.2615, 0.3671, 0.5399, 0.766, 1.038, 1.355, 1.723, 2.147, 2.629",\
                 "0.15, 0.1873, 0.3079, 0.5087, 0.7702, 1.081, 1.436, 1.837, 2.291, 2.803",\
                 "0.0351, 0.0772, 0.2122, 0.4383, 0.7363, 1.089, 1.488, 1.931, 2.421, 2.967",\
                 "-0.1182, -0.0716, 0.078, 0.3285, 0.662, 1.058, 1.505, 1.996, 2.532, 3.116");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5174, 0.556, 0.6897, 0.9422, 1.336, 1.886, 2.611, 3.524, 4.639, 5.965",\
                 "0.5292, 0.5679, 0.702, 0.9561, 1.35, 1.901, 2.626, 3.539, 4.654, 5.981",\
                 "0.5709, 0.6096, 0.7447, 0.9998, 1.395, 1.947, 2.672, 3.586, 4.701, 6.029",\
                 "0.6303, 0.6694, 0.8042, 1.059, 1.454, 2.007, 2.732, 3.647, 4.762, 6.09",\
                 "0.7086, 0.7494, 0.8893, 1.146, 1.537, 2.086, 2.811, 3.721, 4.836, 6.164",\
                 "0.8348, 0.8766, 1.017, 1.277, 1.673, 2.213, 2.928, 3.833, 4.941, 6.264",\
                 "1.012, 1.058, 1.206, 1.469, 1.864, 2.41, 3.114, 4.004, 5.101, 6.414",\
                 "1.234, 1.284, 1.447, 1.726, 2.124, 2.668, 3.376, 4.255, 5.335, 6.633",\
                 "1.495, 1.551, 1.732, 2.034, 2.452, 2.998, 3.705, 4.588, 5.656, 6.933",\
                 "1.794, 1.856, 2.055, 2.388, 2.835, 3.4, 4.107, 4.99, 6.062, 7.329");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2627, 0.2897, 0.3793, 0.5421, 0.7858, 1.122, 1.563, 2.116, 2.794, 3.6",\
                 "0.2609, 0.2881, 0.3782, 0.5405, 0.785, 1.121, 1.563, 2.118, 2.794, 3.601",\
                 "0.2619, 0.2864, 0.3731, 0.5371, 0.7831, 1.122, 1.563, 2.117, 2.794, 3.6",\
                 "0.3265, 0.349, 0.4261, 0.5659, 0.791, 1.12, 1.562, 2.117, 2.793, 3.6",\
                 "0.4322, 0.4545, 0.5304, 0.669, 0.8796, 1.173, 1.582, 2.12, 2.793, 3.601",\
                 "0.5728, 0.5986, 0.6798, 0.8198, 1.025, 1.315, 1.698, 2.19, 2.822, 3.603",\
                 "0.7444, 0.773, 0.864, 1.015, 1.226, 1.511, 1.888, 2.367, 2.956, 3.686",\
                 "0.9432, 0.977, 1.081, 1.249, 1.474, 1.765, 2.134, 2.606, 3.191, 3.889",\
                 "1.173, 1.21, 1.329, 1.517, 1.763, 2.067, 2.441, 2.906, 3.485, 4.18",\
                 "1.433, 1.477, 1.611, 1.821, 2.095, 2.422, 2.807, 3.274, 3.84, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.565, 0.6317, 0.8647, 1.308, 1.997, 2.961, 4.229, 5.826, 7.774, 10.09",\
                 "0.5653, 0.6315, 0.8646, 1.307, 1.997, 2.962, 4.228, 5.824, 7.774, 10.09",\
                 "0.5667, 0.6325, 0.8648, 1.307, 1.996, 2.96, 4.228, 5.824, 7.772, 10.09",\
                 "0.5821, 0.6435, 0.8686, 1.308, 1.996, 2.961, 4.228, 5.825, 7.771, 10.09",\
                 "0.6408, 0.7034, 0.9204, 1.333, 2, 2.961, 4.23, 5.824, 7.772, 10.1",\
                 "0.7252, 0.7844, 0.998, 1.414, 2.054, 2.976, 4.229, 5.826, 7.773, 10.09",\
                 "0.8798, 0.9354, 1.129, 1.52, 2.157, 3.054, 4.263, 5.829, 7.774, 10.09",\
                 "1.076, 1.135, 1.326, 1.689, 2.291, 3.181, 4.362, 5.882, 7.784, 10.09",\
                 "1.296, 1.357, 1.562, 1.926, 2.491, 3.343, 4.515, 6.004, 7.857, 10.12",\
                 "1.535, 1.604, 1.824, 2.208, 2.767, 3.57, 4.703, 6.182, 8.002, 10.21");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1932, 0.2103, 0.2684, 0.3721, 0.5245, 0.73, 0.9943, 1.324, 1.723, 2.197",\
                 "0.2024, 0.2196, 0.2776, 0.381, 0.5334, 0.7389, 1.003, 1.332, 1.732, 2.206",\
                 "0.2317, 0.2482, 0.3041, 0.4065, 0.5585, 0.764, 1.028, 1.357, 1.757, 2.231",\
                 "0.2719, 0.2907, 0.3523, 0.459, 0.6107, 0.815, 1.079, 1.408, 1.807, 2.281",\
                 "0.2976, 0.3198, 0.3918, 0.5134, 0.682, 0.8972, 1.162, 1.49, 1.888, 2.362",\
                 "0.2963, 0.3228, 0.4084, 0.5514, 0.7429, 0.9814, 1.269, 1.609, 2.008, 2.48",\
                 "0.2609, 0.2917, 0.3923, 0.5597, 0.7826, 1.052, 1.367, 1.735, 2.158, 2.639",\
                 "0.1897, 0.2247, 0.3398, 0.533, 0.7893, 1.097, 1.45, 1.849, 2.302, 2.813",\
                 "0.0828, 0.122, 0.2498, 0.4675, 0.7595, 1.108, 1.504, 1.944, 2.434, 2.978",\
                 "-0.062, -0.0188, 0.123, 0.3633, 0.6884, 1.08, 1.523, 2.012, 2.545, 3.129");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5913, 0.6299, 0.7633, 1.016, 1.409, 1.96, 2.685, 3.598, 4.712, 6.039",\
                 "0.6035, 0.6424, 0.7766, 1.03, 1.424, 1.975, 2.7, 3.613, 4.727, 6.055",\
                 "0.6457, 0.6841, 0.8192, 1.074, 1.469, 2.021, 2.747, 3.66, 4.775, 6.102",\
                 "0.7054, 0.7441, 0.8787, 1.134, 1.528, 2.081, 2.806, 3.721, 4.836, 6.165",\
                 "0.787, 0.8271, 0.9651, 1.22, 1.61, 2.16, 2.884, 3.795, 4.909, 6.236",\
                 "0.9139, 0.9542, 1.093, 1.352, 1.745, 2.286, 3.001, 3.907, 5.014, 6.337",\
                 "1.098, 1.141, 1.284, 1.542, 1.937, 2.481, 3.185, 4.077, 5.174, 6.486",\
                 "1.328, 1.375, 1.531, 1.802, 2.196, 2.739, 3.447, 4.327, 5.406, 6.704",\
                 "1.6, 1.652, 1.823, 2.115, 2.526, 3.069, 3.776, 4.659, 5.726, 7.005",\
                 "1.91, 1.967, 2.156, 2.474, 2.913, 3.472, 4.177, 5.061, 6.133, 7.399");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3173, 0.3422, 0.4276, 0.586, 0.8277, 1.163, 1.605, 2.158, 2.834, 3.638",\
                 "0.3151, 0.3402, 0.4262, 0.5854, 0.8276, 1.164, 1.603, 2.158, 2.835, 3.638",\
                 "0.3156, 0.3389, 0.4219, 0.5821, 0.826, 1.163, 1.604, 2.158, 2.835, 3.638",\
                 "0.3832, 0.4034, 0.4753, 0.611, 0.8347, 1.162, 1.604, 2.158, 2.834, 3.638",\
                 "0.4983, 0.5172, 0.5868, 0.7174, 0.9248, 1.216, 1.623, 2.161, 2.834, 3.638",\
                 "0.6534, 0.6746, 0.7456, 0.8752, 1.075, 1.361, 1.739, 2.232, 2.863, 3.644",\
                 "0.8412, 0.8652, 0.9424, 1.08, 1.281, 1.559, 1.934, 2.41, 2.998, 3.727",\
                 "1.061, 1.087, 1.175, 1.324, 1.537, 1.819, 2.183, 2.651, 3.234, 3.931",\
                 "1.309, 1.34, 1.442, 1.609, 1.835, 2.131, 2.494, 2.954, 3.529, 4.222",\
                 "1.592, 1.626, 1.738, 1.926, 2.178, 2.491, 2.868, 3.327, 3.89, 4.573");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.66, 0.7281, 0.9616, 1.406, 2.095, 3.06, 4.329, 5.926, 7.874, 10.19",\
                 "0.6605, 0.7274, 0.9614, 1.406, 2.095, 3.06, 4.328, 5.925, 7.872, 10.19",\
                 "0.6609, 0.7274, 0.9622, 1.406, 2.096, 3.06, 4.328, 5.924, 7.872, 10.19",\
                 "0.6698, 0.7343, 0.964, 1.406, 2.095, 3.06, 4.328, 5.924, 7.873, 10.19",\
                 "0.7274, 0.7898, 1.006, 1.425, 2.098, 3.06, 4.329, 5.924, 7.872, 10.19",\
                 "0.8042, 0.865, 1.085, 1.501, 2.144, 3.072, 4.328, 5.926, 7.872, 10.19",\
                 "0.9454, 1.003, 1.205, 1.605, 2.246, 3.145, 4.358, 5.928, 7.873, 10.19",\
                 "1.14, 1.198, 1.393, 1.763, 2.377, 3.271, 4.454, 5.976, 7.882, 10.19",\
                 "1.361, 1.426, 1.629, 1.995, 2.568, 3.43, 4.605, 6.097, 7.952, 10.22",\
                 "1.604, 1.671, 1.891, 2.273, 2.837, 3.649, 4.793, 6.272, 8.095, 10.31");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2307, 0.2469, 0.3017, 0.4013, 0.5494, 0.752, 1.015, 1.343, 1.741, 2.214",\
                 "0.2393, 0.2561, 0.3108, 0.4099, 0.5584, 0.761, 1.024, 1.351, 1.75, 2.223",\
                 "0.2666, 0.2824, 0.3365, 0.4353, 0.5836, 0.7864, 1.049, 1.377, 1.775, 2.249",\
                 "0.31, 0.3273, 0.3854, 0.488, 0.6361, 0.838, 1.1, 1.428, 1.826, 2.299",\
                 "0.3423, 0.3627, 0.4299, 0.5461, 0.7096, 0.9213, 1.184, 1.511, 1.908, 2.381",\
                 "0.3503, 0.3751, 0.4551, 0.591, 0.7759, 1.009, 1.294, 1.631, 2.028, 2.5",\
                 "0.3274, 0.3563, 0.4514, 0.6102, 0.8236, 1.086, 1.396, 1.76, 2.181, 2.66",\
                 "0.2723, 0.3055, 0.4135, 0.5969, 0.8429, 1.14, 1.486, 1.879, 2.33, 2.839",\
                 "0.1842, 0.2209, 0.3424, 0.5485, 0.8284, 1.165, 1.55, 1.984, 2.467, 3.008",\
                 "0.0608, 0.1023, 0.2359, 0.4641, 0.7763, 1.152, 1.582, 2.061, 2.588, 3.166");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5913, 0.6299, 0.7633, 1.016, 1.409, 1.96, 2.685, 3.598, 4.712, 6.039",\
                 "0.6035, 0.6424, 0.7766, 1.03, 1.424, 1.975, 2.7, 3.613, 4.727, 6.055",\
                 "0.6457, 0.6841, 0.8192, 1.074, 1.469, 2.021, 2.747, 3.66, 4.775, 6.102",\
                 "0.7054, 0.7441, 0.8787, 1.134, 1.528, 2.081, 2.806, 3.721, 4.836, 6.165",\
                 "0.787, 0.8271, 0.9651, 1.22, 1.61, 2.16, 2.884, 3.795, 4.909, 6.236",\
                 "0.9139, 0.9542, 1.093, 1.352, 1.745, 2.286, 3.001, 3.907, 5.014, 6.337",\
                 "1.098, 1.141, 1.284, 1.542, 1.937, 2.481, 3.185, 4.077, 5.174, 6.486",\
                 "1.328, 1.375, 1.531, 1.802, 2.196, 2.739, 3.447, 4.327, 5.406, 6.704",\
                 "1.6, 1.652, 1.823, 2.115, 2.526, 3.069, 3.776, 4.659, 5.726, 7.005",\
                 "1.91, 1.967, 2.156, 2.474, 2.913, 3.472, 4.177, 5.061, 6.133, 7.399");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3173, 0.3422, 0.4276, 0.586, 0.8277, 1.163, 1.605, 2.158, 2.834, 3.638",\
                 "0.3151, 0.3402, 0.4262, 0.5854, 0.8276, 1.164, 1.603, 2.158, 2.835, 3.638",\
                 "0.3156, 0.3389, 0.4219, 0.5821, 0.826, 1.163, 1.604, 2.158, 2.835, 3.638",\
                 "0.3832, 0.4034, 0.4753, 0.611, 0.8347, 1.162, 1.604, 2.158, 2.834, 3.638",\
                 "0.4983, 0.5172, 0.5868, 0.7174, 0.9248, 1.216, 1.623, 2.161, 2.834, 3.638",\
                 "0.6534, 0.6746, 0.7456, 0.8752, 1.075, 1.361, 1.739, 2.232, 2.863, 3.644",\
                 "0.8412, 0.8652, 0.9424, 1.08, 1.281, 1.559, 1.934, 2.41, 2.998, 3.727",\
                 "1.061, 1.087, 1.175, 1.324, 1.537, 1.819, 2.183, 2.651, 3.234, 3.931",\
                 "1.309, 1.34, 1.442, 1.609, 1.835, 2.131, 2.494, 2.954, 3.529, 4.222",\
                 "1.592, 1.626, 1.738, 1.926, 2.178, 2.491, 2.868, 3.327, 3.89, 4.573");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.66, 0.7281, 0.9616, 1.406, 2.095, 3.06, 4.329, 5.926, 7.874, 10.19",\
                 "0.6605, 0.7274, 0.9614, 1.406, 2.095, 3.06, 4.328, 5.925, 7.872, 10.19",\
                 "0.6609, 0.7274, 0.9622, 1.406, 2.096, 3.06, 4.328, 5.924, 7.872, 10.19",\
                 "0.6698, 0.7343, 0.964, 1.406, 2.095, 3.06, 4.328, 5.924, 7.873, 10.19",\
                 "0.7274, 0.7898, 1.006, 1.425, 2.098, 3.06, 4.329, 5.924, 7.872, 10.19",\
                 "0.8042, 0.865, 1.085, 1.501, 2.144, 3.072, 4.328, 5.926, 7.872, 10.19",\
                 "0.9454, 1.003, 1.205, 1.605, 2.246, 3.145, 4.358, 5.928, 7.873, 10.19",\
                 "1.14, 1.198, 1.393, 1.763, 2.377, 3.271, 4.454, 5.976, 7.882, 10.19",\
                 "1.361, 1.426, 1.629, 1.995, 2.568, 3.43, 4.605, 6.097, 7.952, 10.22",\
                 "1.604, 1.671, 1.891, 2.273, 2.837, 3.649, 4.793, 6.272, 8.095, 10.31");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.168, 0.1812, 0.2274, 0.3126, 0.4427, 0.6233, 0.8598, 1.157, 1.518, 1.949",\
                 "0.1821, 0.1957, 0.2414, 0.327, 0.4572, 0.6377, 0.8741, 1.171, 1.533, 1.964",\
                 "0.2342, 0.2472, 0.2928, 0.3778, 0.5077, 0.6884, 0.9248, 1.222, 1.583, 2.014",\
                 "0.3025, 0.3202, 0.3787, 0.4759, 0.6086, 0.788, 1.024, 1.32, 1.681, 2.112",\
                 "0.3504, 0.373, 0.447, 0.5721, 0.7403, 0.9441, 1.182, 1.477, 1.837, 2.267",\
                 "0.3766, 0.4039, 0.4951, 0.6466, 0.8494, 1.098, 1.384, 1.7, 2.061, 2.488",\
                 "0.3777, 0.4113, 0.5175, 0.6972, 0.9372, 1.228, 1.563, 1.938, 2.345, 2.785",\
                 "0.3538, 0.392, 0.5151, 0.7217, 0.9993, 1.333, 1.716, 2.145, 2.615, 3.119",\
                 "0.3034, 0.3463, 0.4859, 0.7205, 1.033, 1.413, 1.845, 2.327, 2.855, 3.424",\
                 "0.2266, 0.2729, 0.4281, 0.6894, 1.042, 1.463, 1.946, 2.481, 3.067, 3.698");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2638, 0.2895, 0.3793, 0.5509, 0.8156, 1.187, 1.675, 2.29, 3.041, 3.936",\
                 "0.2761, 0.3026, 0.3935, 0.5653, 0.8303, 1.202, 1.691, 2.306, 3.057, 3.952",\
                 "0.3232, 0.3497, 0.441, 0.6134, 0.8793, 1.252, 1.741, 2.357, 3.108, 4.003",\
                 "0.402, 0.4323, 0.5306, 0.7038, 0.9692, 1.341, 1.829, 2.444, 3.196, 4.091",\
                 "0.5109, 0.5443, 0.6549, 0.8479, 1.121, 1.488, 1.974, 2.586, 3.335, 4.229",\
                 "0.6519, 0.6918, 0.8175, 1.029, 1.327, 1.711, 2.192, 2.799, 3.544, 4.434",\
                 "0.8229, 0.8693, 1.014, 1.252, 1.573, 1.985, 2.491, 3.096, 3.832, 4.716",\
                 "1.021, 1.075, 1.241, 1.509, 1.863, 2.303, 2.84, 3.475, 4.214, 5.089",\
                 "1.246, 1.306, 1.496, 1.797, 2.19, 2.666, 3.233, 3.903, 4.677, 5.558",\
                 "1.497, 1.566, 1.776, 2.115, 2.551, 3.071, 3.676, 4.379, 5.191, 6.111");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.203, 0.2246, 0.2998, 0.4407, 0.6571, 0.9594, 1.355, 1.855, 2.464, 3.19",\
                 "0.2028, 0.2248, 0.2996, 0.4405, 0.6567, 0.9595, 1.356, 1.855, 2.464, 3.189",\
                 "0.2104, 0.2299, 0.3001, 0.4401, 0.6569, 0.9595, 1.355, 1.856, 2.464, 3.188",\
                 "0.3031, 0.3235, 0.3896, 0.4972, 0.6758, 0.9603, 1.355, 1.856, 2.463, 3.188",\
                 "0.415, 0.44, 0.5232, 0.6566, 0.8364, 1.06, 1.39, 1.859, 2.464, 3.189",\
                 "0.5472, 0.5782, 0.674, 0.8326, 1.046, 1.307, 1.604, 1.984, 2.507, 3.195",\
                 "0.6968, 0.7334, 0.8526, 1.037, 1.277, 1.576, 1.922, 2.309, 2.752, 3.331",\
                 "0.8652, 0.9092, 1.045, 1.263, 1.538, 1.865, 2.255, 2.696, 3.179, 3.702",\
                 "1.045, 1.096, 1.258, 1.511, 1.823, 2.189, 2.612, 3.097, 3.638, 4.225",\
                 "1.241, 1.3, 1.486, 1.776, 2.134, 2.544, 3.006, 3.529, 4.115, 4.761");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.355, 0.3984, 0.5546, 0.8523, 1.313, 1.959, 2.811, 3.885, 5.187, 6.752",\
                 "0.355, 0.3992, 0.5553, 0.8516, 1.313, 1.961, 2.811, 3.883, 5.191, 6.75",\
                 "0.3593, 0.4021, 0.5548, 0.8515, 1.312, 1.959, 2.811, 3.878, 5.191, 6.74",\
                 "0.4255, 0.4624, 0.592, 0.8607, 1.314, 1.962, 2.809, 3.883, 5.187, 6.747",\
                 "0.5266, 0.5636, 0.6972, 0.9484, 1.35, 1.965, 2.813, 3.884, 5.183, 6.742",\
                 "0.6704, 0.7048, 0.8306, 1.085, 1.483, 2.039, 2.828, 3.884, 5.19, 6.752",\
                 "0.8428, 0.8786, 1.012, 1.254, 1.655, 2.216, 2.947, 3.931, 5.198, 6.757",\
                 "1.029, 1.07, 1.213, 1.468, 1.862, 2.432, 3.168, 4.088, 5.274, 6.771",\
                 "1.232, 1.279, 1.437, 1.718, 2.118, 2.677, 3.43, 4.357, 5.483, 6.892",\
                 "1.449, 1.5, 1.677, 1.982, 2.411, 2.974, 3.721, 4.667, 5.802, 7.144");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1682, 0.1814, 0.2275, 0.3129, 0.443, 0.6237, 0.86, 1.157, 1.519, 1.95",\
                 "0.1826, 0.1964, 0.2423, 0.3274, 0.4577, 0.6384, 0.8748, 1.172, 1.533, 1.965",\
                 "0.2356, 0.2486, 0.2942, 0.3792, 0.5092, 0.6899, 0.9262, 1.223, 1.585, 2.016",\
                 "0.3033, 0.3212, 0.3798, 0.4775, 0.6099, 0.7895, 1.025, 1.322, 1.683, 2.114",\
                 "0.3475, 0.3702, 0.4455, 0.5716, 0.7406, 0.9447, 1.183, 1.478, 1.839, 2.268",\
                 "0.3647, 0.3929, 0.485, 0.6397, 0.8456, 1.096, 1.383, 1.7, 2.061, 2.489",\
                 "0.3519, 0.3849, 0.4952, 0.6793, 0.9235, 1.219, 1.557, 1.934, 2.343, 2.783",\
                 "0.306, 0.346, 0.4728, 0.6868, 0.9713, 1.313, 1.702, 2.135, 2.607, 3.114",\
                 "0.2289, 0.2723, 0.418, 0.6619, 0.9848, 1.374, 1.816, 2.305, 2.838, 3.412",\
                 "0.1158, 0.1655, 0.3264, 0.5985, 0.9642, 1.4, 1.897, 2.443, 3.036, 3.675");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.319, 0.3511, 0.4645, 0.6777, 1.009, 1.473, 2.084, 2.853, 3.79, 4.909",\
                 "0.3296, 0.3621, 0.4762, 0.6906, 1.023, 1.488, 2.098, 2.867, 3.806, 4.923",\
                 "0.3726, 0.4055, 0.5197, 0.7347, 1.068, 1.533, 2.145, 2.915, 3.853, 4.971",\
                 "0.4535, 0.4892, 0.6064, 0.8206, 1.152, 1.617, 2.228, 2.997, 3.935, 5.054",\
                 "0.5718, 0.6111, 0.7399, 0.9683, 1.299, 1.759, 2.365, 3.132, 4.069, 5.185",\
                 "0.7354, 0.7794, 0.9205, 1.166, 1.517, 1.979, 2.578, 3.338, 4.269, 5.381",\
                 "0.9375, 0.9879, 1.148, 1.414, 1.787, 2.274, 2.878, 3.628, 4.55, 5.656",\
                 "1.174, 1.232, 1.414, 1.71, 2.109, 2.621, 3.255, 4.013, 4.925, 6.021",\
                 "1.443, 1.509, 1.715, 2.046, 2.483, 3.024, 3.687, 4.479, 5.401, 6.485",\
                 "1.748, 1.821, 2.052, 2.42, 2.901, 3.482, 4.175, 5, 5.96, 7.055");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2031, 0.2245, 0.2996, 0.4404, 0.657, 0.9588, 1.357, 1.855, 2.464, 3.189",\
                 "0.2023, 0.2248, 0.3001, 0.4404, 0.6568, 0.9593, 1.355, 1.854, 2.464, 3.189",\
                 "0.2099, 0.2295, 0.2999, 0.4401, 0.6569, 0.9594, 1.355, 1.855, 2.465, 3.189",\
                 "0.3023, 0.323, 0.389, 0.4963, 0.6754, 0.9605, 1.356, 1.856, 2.464, 3.188",\
                 "0.4156, 0.4412, 0.522, 0.6572, 0.8368, 1.06, 1.39, 1.859, 2.463, 3.188",\
                 "0.5492, 0.5804, 0.6782, 0.837, 1.051, 1.309, 1.605, 1.983, 2.506, 3.194",\
                 "0.703, 0.741, 0.857, 1.043, 1.285, 1.581, 1.927, 2.313, 2.754, 3.331",\
                 "0.8724, 0.918, 1.058, 1.274, 1.551, 1.879, 2.264, 2.704, 3.185, 3.707",\
                 "1.06, 1.111, 1.275, 1.53, 1.845, 2.212, 2.634, 3.115, 3.652, 4.234",\
                 "1.263, 1.323, 1.51, 1.802, 2.164, 2.576, 3.038, 3.558, 4.14, 4.78");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4639, 0.5197, 0.7137, 1.084, 1.661, 2.468, 3.527, 4.861, 6.491, 8.433",\
                 "0.4637, 0.5192, 0.7139, 1.085, 1.66, 2.466, 3.529, 4.861, 6.488, 8.443",\
                 "0.466, 0.5202, 0.7143, 1.084, 1.662, 2.467, 3.526, 4.86, 6.495, 8.444",\
                 "0.5182, 0.565, 0.7367, 1.088, 1.661, 2.469, 3.53, 4.86, 6.497, 8.437",\
                 "0.6144, 0.6622, 0.8324, 1.15, 1.678, 2.469, 3.529, 4.864, 6.49, 8.444",\
                 "0.7494, 0.7928, 0.9554, 1.279, 1.777, 2.507, 3.532, 4.862, 6.496, 8.441",\
                 "0.9234, 0.968, 1.12, 1.435, 1.941, 2.641, 3.601, 4.876, 6.489, 8.436",\
                 "1.121, 1.166, 1.328, 1.632, 2.13, 2.845, 3.769, 4.975, 6.521, 8.438",\
                 "1.336, 1.386, 1.559, 1.878, 2.365, 3.075, 4.016, 5.181, 6.652, 8.489",\
                 "1.567, 1.621, 1.81, 2.153, 2.651, 3.348, 4.29, 5.472, 6.894, 8.654");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1739, 0.1874, 0.2337, 0.3199, 0.4511, 0.6323, 0.8688, 1.166, 1.527, 1.958",\
                 "0.1886, 0.202, 0.2485, 0.3346, 0.4659, 0.6472, 0.8837, 1.181, 1.542, 1.973",\
                 "0.2411, 0.2544, 0.3002, 0.3862, 0.5174, 0.6987, 0.9352, 1.232, 1.594, 2.025",\
                 "0.313, 0.3306, 0.3883, 0.4855, 0.6181, 0.7983, 1.034, 1.331, 1.692, 2.123",\
                 "0.3631, 0.3853, 0.4592, 0.5834, 0.7512, 0.9541, 1.192, 1.487, 1.847, 2.277",\
                 "0.387, 0.4145, 0.5044, 0.656, 0.8599, 1.108, 1.393, 1.709, 2.07, 2.498",\
                 "0.3814, 0.4135, 0.5199, 0.6999, 0.9408, 1.233, 1.57, 1.945, 2.353, 2.792",\
                 "0.3431, 0.3806, 0.5039, 0.712, 0.9922, 1.33, 1.717, 2.148, 2.619, 3.124",\
                 "0.2715, 0.3139, 0.4536, 0.6913, 1.009, 1.395, 1.834, 2.32, 2.851, 3.424",\
                 "0.1671, 0.2141, 0.3686, 0.6338, 0.9914, 1.423, 1.917, 2.46, 3.051, 3.688");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3807, 0.4133, 0.5262, 0.7394, 1.072, 1.536, 2.146, 2.915, 3.854, 4.973",\
                 "0.3925, 0.4249, 0.538, 0.7528, 1.086, 1.55, 2.161, 2.931, 3.869, 4.987",\
                 "0.436, 0.4681, 0.5823, 0.7973, 1.131, 1.596, 2.208, 2.978, 3.916, 5.035",\
                 "0.5209, 0.5546, 0.669, 0.8827, 1.215, 1.679, 2.291, 3.06, 3.999, 5.118",\
                 "0.6455, 0.6825, 0.8079, 1.031, 1.36, 1.821, 2.428, 3.196, 4.132, 5.25",\
                 "0.8177, 0.8585, 0.9933, 1.233, 1.581, 2.039, 2.64, 3.4, 4.333, 5.445",\
                 "1.032, 1.078, 1.229, 1.485, 1.853, 2.338, 2.939, 3.69, 4.613, 5.72",\
                 "1.281, 1.334, 1.504, 1.788, 2.18, 2.688, 3.319, 4.074, 4.987, 6.082",\
                 "1.566, 1.625, 1.816, 2.133, 2.558, 3.093, 3.754, 4.542, 5.462, 6.547",\
                 "1.885, 1.952, 2.165, 2.516, 2.983, 3.554, 4.244, 5.066, 6.023, 7.117");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2425, 0.2639, 0.3379, 0.4774, 0.6938, 0.9957, 1.393, 1.89, 2.5, 3.226",\
                 "0.2424, 0.2637, 0.3378, 0.4774, 0.6934, 0.9955, 1.393, 1.891, 2.5, 3.226",\
                 "0.2495, 0.2687, 0.3381, 0.477, 0.6932, 0.9963, 1.392, 1.892, 2.5, 3.225",\
                 "0.3513, 0.3703, 0.43, 0.5335, 0.7118, 0.9971, 1.392, 1.892, 2.5, 3.226",\
                 "0.4804, 0.5024, 0.5764, 0.703, 0.8752, 1.097, 1.426, 1.894, 2.5, 3.225",\
                 "0.6312, 0.6584, 0.7458, 0.894, 1.097, 1.35, 1.642, 2.02, 2.543, 3.231",\
                 "0.806, 0.8366, 0.9404, 1.113, 1.343, 1.632, 1.97, 2.351, 2.791, 3.368",\
                 "0.9974, 1.034, 1.159, 1.357, 1.62, 1.939, 2.316, 2.75, 3.224, 3.744",\
                 "1.205, 1.249, 1.393, 1.627, 1.925, 2.279, 2.69, 3.167, 3.698, 4.275",\
                 "1.432, 1.484, 1.654, 1.916, 2.254, 2.652, 3.104, 3.615, 4.192, 4.826");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5442, 0.5995, 0.7946, 1.166, 1.743, 2.55, 3.611, 4.946, 6.576, 8.515",\
                 "0.544, 0.5997, 0.7945, 1.166, 1.743, 2.55, 3.61, 4.945, 6.575, 8.517",\
                 "0.5444, 0.6002, 0.7943, 1.166, 1.743, 2.55, 3.611, 4.944, 6.575, 8.517",\
                 "0.581, 0.6304, 0.8077, 1.168, 1.744, 2.55, 3.611, 4.946, 6.576, 8.516",\
                 "0.6764, 0.726, 0.897, 1.219, 1.754, 2.551, 3.611, 4.946, 6.576, 8.515",\
                 "0.801, 0.848, 1.018, 1.346, 1.845, 2.582, 3.614, 4.946, 6.575, 8.517",\
                 "0.969, 1.014, 1.176, 1.498, 2.01, 2.711, 3.673, 4.954, 6.576, 8.517",\
                 "1.166, 1.213, 1.379, 1.691, 2.198, 2.915, 3.84, 5.048, 6.599, 8.517",\
                 "1.383, 1.436, 1.612, 1.932, 2.43, 3.144, 4.085, 5.252, 6.725, 8.562",\
                 "1.619, 1.676, 1.867, 2.21, 2.709, 3.413, 4.362, 5.541, 6.968, 8.722");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1407, 0.1546, 0.2017, 0.2882, 0.4192, 0.6005, 0.8372, 1.134, 1.496, 1.927",\
                 "0.1545, 0.1684, 0.2155, 0.3019, 0.4331, 0.6143, 0.851, 1.148, 1.51, 1.941",\
                 "0.2069, 0.2209, 0.2669, 0.3523, 0.4832, 0.6643, 0.901, 1.198, 1.56, 1.991",\
                 "0.2638, 0.2833, 0.3457, 0.4481, 0.5837, 0.7636, 0.9995, 1.296, 1.658, 2.088",\
                 "0.2986, 0.3238, 0.4039, 0.5349, 0.709, 0.9172, 1.158, 1.452, 1.813, 2.243",\
                 "0.3093, 0.3396, 0.4372, 0.5981, 0.8098, 1.064, 1.354, 1.675, 2.036, 2.463",\
                 "0.2934, 0.3293, 0.4457, 0.6355, 0.8861, 1.185, 1.526, 1.906, 2.317, 2.759",\
                 "0.251, 0.2919, 0.4261, 0.645, 0.9348, 1.28, 1.671, 2.105, 2.58, 3.088",\
                 "0.1819, 0.2275, 0.3772, 0.6263, 0.9541, 1.345, 1.788, 2.277, 2.811, 3.385",\
                 "0.0835, 0.1346, 0.2988, 0.5756, 0.9421, 1.379, 1.875, 2.42, 3.012, 3.65");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3086, 0.341, 0.4522, 0.6635, 0.9918, 1.451, 2.056, 2.818, 3.747, 4.857",\
                 "0.3209, 0.3532, 0.4653, 0.6777, 1.006, 1.467, 2.071, 2.833, 3.763, 4.872",\
                 "0.3636, 0.3959, 0.5084, 0.7217, 1.051, 1.512, 2.118, 2.88, 3.811, 4.918",\
                 "0.4322, 0.4672, 0.5839, 0.7957, 1.124, 1.583, 2.189, 2.951, 3.883, 4.99",\
                 "0.5314, 0.569, 0.6941, 0.9182, 1.247, 1.701, 2.303, 3.061, 3.989, 5.098",\
                 "0.6694, 0.7117, 0.8474, 1.083, 1.428, 1.887, 2.48, 3.232, 4.155, 5.257",\
                 "0.8399, 0.8882, 1.042, 1.297, 1.656, 2.133, 2.734, 3.476, 4.39, 5.484",\
                 "1.039, 1.095, 1.268, 1.552, 1.935, 2.428, 3.05, 3.803, 4.707, 5.79",\
                 "1.267, 1.329, 1.525, 1.841, 2.258, 2.777, 3.417, 4.194, 5.111, 6.185",\
                 "1.522, 1.591, 1.811, 2.161, 2.619, 3.176, 3.84, 4.637, 5.58, 6.67");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1837, 0.2054, 0.2797, 0.42, 0.6352, 0.9375, 1.333, 1.833, 2.44, 3.165",\
                 "0.1828, 0.2043, 0.2794, 0.4193, 0.6355, 0.937, 1.333, 1.831, 2.441, 3.166",\
                 "0.1982, 0.2156, 0.2814, 0.4185, 0.6354, 0.9369, 1.333, 1.833, 2.441, 3.166",\
                 "0.2933, 0.3145, 0.3798, 0.4867, 0.6589, 0.9384, 1.332, 1.832, 2.441, 3.165",\
                 "0.4078, 0.4334, 0.5136, 0.6486, 0.8272, 1.048, 1.373, 1.837, 2.441, 3.166",\
                 "0.5456, 0.5778, 0.6736, 0.8288, 1.039, 1.298, 1.595, 1.969, 2.489, 3.172",\
                 "0.7032, 0.7404, 0.8566, 1.038, 1.275, 1.568, 1.915, 2.302, 2.743, 3.316",\
                 "0.8798, 0.9244, 1.063, 1.276, 1.545, 1.869, 2.251, 2.691, 3.173, 3.696",\
                 "1.074, 1.128, 1.291, 1.538, 1.843, 2.205, 2.619, 3.1, 3.636, 4.221",\
                 "1.289, 1.348, 1.536, 1.822, 2.171, 2.574, 3.026, 3.542, 4.121, 4.762");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3793, 0.4342, 0.6268, 0.9965, 1.574, 2.379, 3.441, 4.781, 6.413, 8.358",\
                 "0.379, 0.4337, 0.6275, 0.9978, 1.574, 2.379, 3.442, 4.78, 6.412, 8.353",\
                 "0.3827, 0.4358, 0.6282, 0.998, 1.572, 2.379, 3.44, 4.773, 6.408, 8.353",\
                 "0.4327, 0.4812, 0.6528, 1.002, 1.571, 2.377, 3.44, 4.781, 6.412, 8.347",\
                 "0.5062, 0.5562, 0.7334, 1.063, 1.591, 2.382, 3.443, 4.777, 6.41, 8.36",\
                 "0.6302, 0.6762, 0.8408, 1.171, 1.687, 2.426, 3.446, 4.777, 6.413, 8.348",\
                 "0.7866, 0.835, 0.9994, 1.311, 1.826, 2.548, 3.517, 4.791, 6.404, 8.352",\
                 "0.9602, 1.013, 1.189, 1.505, 1.999, 2.722, 3.673, 4.901, 6.442, 8.362",\
                 "1.148, 1.206, 1.401, 1.736, 2.225, 2.931, 3.882, 5.081, 6.577, 8.421",\
                 "1.349, 1.414, 1.631, 1.994, 2.508, 3.19, 4.126, 5.333, 6.798, 8.577");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1409, 0.1548, 0.202, 0.2884, 0.4195, 0.6007, 0.8374, 1.135, 1.496, 1.928",\
                 "0.1553, 0.1692, 0.2162, 0.3028, 0.4338, 0.6151, 0.8518, 1.149, 1.511, 1.942",\
                 "0.2084, 0.2224, 0.2683, 0.3537, 0.4847, 0.6659, 0.9025, 1.2, 1.562, 1.993",\
                 "0.2651, 0.2843, 0.3471, 0.4494, 0.5851, 0.7652, 1.001, 1.298, 1.66, 2.09",\
                 "0.2958, 0.3211, 0.4023, 0.5346, 0.7093, 0.9181, 1.159, 1.454, 1.814, 2.244",\
                 "0.2975, 0.3291, 0.429, 0.5924, 0.8065, 1.062, 1.353, 1.675, 2.037, 2.464",\
                 "0.2674, 0.3047, 0.4237, 0.6192, 0.8741, 1.177, 1.521, 1.903, 2.315, 2.757",\
                 "0.2042, 0.2469, 0.3851, 0.6113, 0.9091, 1.261, 1.657, 2.096, 2.573, 3.084",\
                 "0.1073, 0.1559, 0.3113, 0.5682, 0.9084, 1.309, 1.762, 2.258, 2.796, 3.375",\
                 "-0.0242, 0.0294, 0.2025, 0.4885, 0.87, 1.321, 1.829, 2.385, 2.986, 3.629");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3673, 0.4056, 0.5396, 0.7931, 1.185, 1.736, 2.461, 3.374, 4.487, 5.815",\
                 "0.3774, 0.4158, 0.551, 0.8052, 1.2, 1.751, 2.475, 3.389, 4.503, 5.829",\
                 "0.4166, 0.4552, 0.5906, 0.8463, 1.241, 1.793, 2.519, 3.432, 4.547, 5.874",\
                 "0.4861, 0.5274, 0.664, 0.9173, 1.311, 1.862, 2.587, 3.501, 4.615, 5.942",\
                 "0.5926, 0.6361, 0.7807, 1.043, 1.432, 1.977, 2.698, 3.608, 4.72, 6.048",\
                 "0.7507, 0.7973, 0.9491, 1.221, 1.623, 2.163, 2.875, 3.777, 4.883, 6.205",\
                 "0.9507, 1.004, 1.172, 1.457, 1.87, 2.427, 3.131, 4.022, 5.118, 6.431",\
                 "1.187, 1.247, 1.437, 1.748, 2.178, 2.748, 3.471, 4.356, 5.439, 6.739",\
                 "1.458, 1.526, 1.739, 2.083, 2.544, 3.132, 3.873, 4.776, 5.852, 7.136",\
                 "1.764, 1.841, 2.078, 2.458, 2.96, 3.578, 4.336, 5.261, 6.358, 7.636");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1838, 0.2055, 0.2797, 0.4197, 0.6353, 0.937, 1.334, 1.831, 2.441, 3.166",\
                 "0.1825, 0.2051, 0.2799, 0.4196, 0.6354, 0.937, 1.334, 1.832, 2.441, 3.166",\
                 "0.1976, 0.2149, 0.2814, 0.4186, 0.635, 0.9373, 1.332, 1.831, 2.44, 3.166",\
                 "0.2921, 0.3128, 0.3788, 0.4862, 0.6584, 0.9391, 1.333, 1.832, 2.441, 3.166",\
                 "0.4077, 0.4328, 0.5144, 0.6478, 0.827, 1.049, 1.373, 1.837, 2.44, 3.165",\
                 "0.5462, 0.578, 0.6752, 0.8316, 1.041, 1.3, 1.595, 1.969, 2.488, 3.172",\
                 "0.7058, 0.744, 0.8594, 1.043, 1.282, 1.576, 1.92, 2.305, 2.743, 3.316",\
                 "0.8812, 0.9272, 1.067, 1.283, 1.557, 1.88, 2.261, 2.698, 3.178, 3.697",\
                 "1.082, 1.134, 1.299, 1.552, 1.859, 2.222, 2.637, 3.114, 3.647, 4.229",\
                 "1.303, 1.364, 1.551, 1.836, 2.195, 2.599, 3.055, 3.566, 4.143, 4.779");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4702, 0.5356, 0.7662, 1.211, 1.898, 2.862, 4.135, 5.724, 7.685, 9.996",\
                 "0.4701, 0.5358, 0.7672, 1.209, 1.899, 2.864, 4.131, 5.731, 7.676, 9.988",\
                 "0.4729, 0.5374, 0.7677, 1.212, 1.897, 2.865, 4.136, 5.733, 7.677, 10",\
                 "0.5156, 0.5741, 0.7846, 1.212, 1.898, 2.867, 4.132, 5.729, 7.684, 10",\
                 "0.5852, 0.6478, 0.8616, 1.258, 1.909, 2.865, 4.137, 5.731, 7.685, 9.99",\
                 "0.6984, 0.7532, 0.9582, 1.361, 1.981, 2.889, 4.135, 5.727, 7.682, 9.995",\
                 "0.8568, 0.91, 1.099, 1.484, 2.111, 2.981, 4.17, 5.73, 7.674, 10",\
                 "1.038, 1.094, 1.289, 1.658, 2.265, 3.14, 4.29, 5.797, 7.695, 10",\
                 "1.236, 1.3, 1.509, 1.883, 2.465, 3.326, 4.479, 5.931, 7.769, 10.02",\
                 "1.451, 1.521, 1.752, 2.148, 2.726, 3.562, 4.707, 6.153, 7.928, 10.13");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1461, 0.1601, 0.2079, 0.2952, 0.4274, 0.6093, 0.8463, 1.143, 1.505, 1.936",\
                 "0.1606, 0.1745, 0.2222, 0.3095, 0.4417, 0.6237, 0.8606, 1.158, 1.52, 1.951",\
                 "0.214, 0.2277, 0.274, 0.3606, 0.4926, 0.6745, 0.9114, 1.208, 1.57, 2.001",\
                 "0.2753, 0.2944, 0.3561, 0.4577, 0.5931, 0.7736, 1.01, 1.307, 1.668, 2.099",\
                 "0.3129, 0.3376, 0.4166, 0.5472, 0.7204, 0.9277, 1.167, 1.462, 1.823, 2.253",\
                 "0.323, 0.3526, 0.4496, 0.6095, 0.8208, 1.075, 1.365, 1.684, 2.045, 2.474",\
                 "0.3013, 0.3367, 0.451, 0.641, 0.8921, 1.192, 1.534, 1.914, 2.325, 2.766",\
                 "0.2461, 0.2865, 0.4186, 0.6391, 0.9306, 1.279, 1.672, 2.109, 2.585, 3.094",\
                 "0.1574, 0.2026, 0.3509, 0.601, 0.9339, 1.33, 1.779, 2.273, 2.809, 3.387",\
                 "0.0336, 0.0839, 0.2483, 0.5262, 0.8994, 1.344, 1.849, 2.403, 3.001, 3.643");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4411, 0.4793, 0.6134, 0.8668, 1.26, 1.811, 2.535, 3.448, 4.563, 5.891",\
                 "0.4523, 0.4904, 0.6251, 0.8798, 1.273, 1.825, 2.55, 3.464, 4.577, 5.905",\
                 "0.4915, 0.5302, 0.6649, 0.9207, 1.315, 1.868, 2.593, 3.507, 4.623, 5.95",\
                 "0.5642, 0.6033, 0.7382, 0.9914, 1.385, 1.937, 2.662, 3.576, 4.691, 6.018",\
                 "0.674, 0.7165, 0.8588, 1.117, 1.505, 2.052, 2.773, 3.683, 4.796, 6.122",\
                 "0.8383, 0.8819, 1.029, 1.298, 1.697, 2.236, 2.949, 3.851, 4.957, 6.279",\
                 "1.05, 1.099, 1.257, 1.535, 1.946, 2.5, 3.204, 4.096, 5.192, 6.506",\
                 "1.3, 1.354, 1.531, 1.831, 2.255, 2.823, 3.544, 4.428, 5.51, 6.812",\
                 "1.584, 1.646, 1.844, 2.174, 2.625, 3.208, 3.946, 4.849, 5.924, 7.209",\
                 "1.906, 1.975, 2.195, 2.558, 3.046, 3.657, 4.413, 5.336, 6.43, 7.709");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2242, 0.2453, 0.3184, 0.4569, 0.6723, 0.9733, 1.37, 1.869, 2.477, 3.202",\
                 "0.2232, 0.2444, 0.318, 0.4567, 0.672, 0.9735, 1.37, 1.869, 2.476, 3.203",\
                 "0.2371, 0.2544, 0.3193, 0.4556, 0.6719, 0.9739, 1.37, 1.869, 2.476, 3.202",\
                 "0.3452, 0.3631, 0.4223, 0.5237, 0.6948, 0.9746, 1.37, 1.869, 2.477, 3.203",\
                 "0.4772, 0.4989, 0.571, 0.6954, 0.8666, 1.085, 1.409, 1.873, 2.477, 3.202",\
                 "0.6348, 0.6614, 0.7482, 0.8908, 1.091, 1.342, 1.632, 2.005, 2.524, 3.209",\
                 "0.8156, 0.8472, 0.9478, 1.116, 1.341, 1.627, 1.963, 2.344, 2.779, 3.352",\
                 "1.016, 1.056, 1.174, 1.37, 1.627, 1.939, 2.312, 2.743, 3.217, 3.735",\
                 "1.241, 1.285, 1.425, 1.654, 1.943, 2.291, 2.696, 3.165, 3.692, 4.269",\
                 "1.486, 1.546, 1.699, 1.956, 2.29, 2.676, 3.121, 3.624, 4.195, 4.824");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5649, 0.6313, 0.8646, 1.308, 1.997, 2.961, 4.229, 5.825, 7.77, 10.1",\
                 "0.5649, 0.6312, 0.8646, 1.308, 1.997, 2.961, 4.23, 5.826, 7.773, 10.09",\
                 "0.5661, 0.632, 0.8646, 1.308, 1.997, 2.961, 4.228, 5.824, 7.774, 10.09",\
                 "0.595, 0.6555, 0.8735, 1.309, 1.997, 2.961, 4.229, 5.826, 7.773, 10.09",\
                 "0.6694, 0.731, 0.9442, 1.346, 2.002, 2.961, 4.229, 5.825, 7.773, 10.09",\
                 "0.7664, 0.8248, 1.038, 1.446, 2.068, 2.979, 4.229, 5.825, 7.772, 10.09",\
                 "0.9178, 0.974, 1.171, 1.567, 2.196, 3.07, 4.263, 5.828, 7.773, 10.1",\
                 "1.1, 1.158, 1.355, 1.731, 2.347, 3.227, 4.379, 5.882, 7.779, 10.1",\
                 "1.299, 1.363, 1.574, 1.952, 2.543, 3.413, 4.567, 6.022, 7.855, 10.11",\
                 "1.522, 1.589, 1.815, 2.213, 2.798, 3.641, 4.791, 6.24, 8.023, 10.21");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.146, 0.1599, 0.2076, 0.2949, 0.4271, 0.6091, 0.8461, 1.143, 1.505, 1.936",\
                 "0.1599, 0.1737, 0.2213, 0.3087, 0.4409, 0.6229, 0.8599, 1.157, 1.519, 1.95",\
                 "0.2126, 0.2262, 0.2725, 0.3591, 0.4911, 0.673, 0.9099, 1.207, 1.569, 2",\
                 "0.2742, 0.2932, 0.3547, 0.4563, 0.5917, 0.7723, 1.008, 1.305, 1.667, 2.097",\
                 "0.3157, 0.34, 0.418, 0.5476, 0.7201, 0.9268, 1.167, 1.462, 1.821, 2.251",\
                 "0.3344, 0.3636, 0.4583, 0.6157, 0.8244, 1.077, 1.365, 1.684, 2.045, 2.472",\
                 "0.3277, 0.3614, 0.4725, 0.658, 0.9042, 1.2, 1.539, 1.917, 2.327, 2.767",\
                 "0.293, 0.3318, 0.4595, 0.6726, 0.9565, 1.297, 1.686, 2.119, 2.591, 3.098",\
                 "0.2307, 0.2742, 0.4169, 0.6576, 0.9791, 1.366, 1.805, 2.292, 2.824, 3.398",\
                 "0.1413, 0.1892, 0.3458, 0.6127, 0.9713, 1.403, 1.895, 2.438, 3.028, 3.663");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.3697, 0.4018, 0.5135, 0.7248, 1.053, 1.513, 2.117, 2.879, 3.808, 4.918",\
                 "0.3823, 0.4146, 0.5269, 0.7394, 1.068, 1.528, 2.133, 2.895, 3.824, 4.933",\
                 "0.4254, 0.4577, 0.5698, 0.783, 1.112, 1.574, 2.179, 2.941, 3.871, 4.98",\
                 "0.4986, 0.5323, 0.6457, 0.8569, 1.185, 1.646, 2.251, 3.012, 3.945, 5.051",\
                 "0.6022, 0.6377, 0.7598, 0.9813, 1.307, 1.763, 2.364, 3.123, 4.051, 5.16",\
                 "0.7487, 0.7876, 0.9173, 1.149, 1.491, 1.947, 2.54, 3.293, 4.215, 5.319",\
                 "0.9301, 0.9748, 1.119, 1.366, 1.72, 2.195, 2.793, 3.536, 4.451, 5.545",\
                 "1.142, 1.193, 1.355, 1.627, 2.002, 2.493, 3.112, 3.863, 4.766, 5.849",\
                 "1.383, 1.439, 1.622, 1.923, 2.33, 2.843, 3.481, 4.256, 5.17, 6.244",\
                 "1.651, 1.715, 1.918, 2.252, 2.698, 3.245, 3.906, 4.7, 5.642, 6.729");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2243, 0.2453, 0.3186, 0.457, 0.672, 0.9738, 1.37, 1.869, 2.478, 3.202",\
                 "0.2232, 0.2445, 0.3181, 0.4567, 0.6723, 0.9739, 1.37, 1.868, 2.478, 3.203",\
                 "0.2382, 0.255, 0.32, 0.4557, 0.6721, 0.9738, 1.369, 1.868, 2.477, 3.202",\
                 "0.3465, 0.3649, 0.4238, 0.525, 0.6961, 0.9756, 1.37, 1.868, 2.476, 3.203",\
                 "0.4779, 0.4998, 0.5714, 0.6956, 0.8682, 1.085, 1.409, 1.874, 2.477, 3.202",\
                 "0.6348, 0.6624, 0.7452, 0.8892, 1.092, 1.341, 1.632, 2.005, 2.526, 3.208",\
                 "0.8138, 0.8444, 0.9452, 1.11, 1.335, 1.619, 1.959, 2.34, 2.777, 3.353",\
                 "1.013, 1.051, 1.169, 1.361, 1.616, 1.929, 2.302, 2.737, 3.212, 3.732",\
                 "1.231, 1.276, 1.417, 1.637, 1.926, 2.273, 2.679, 3.151, 3.68, 4.263",\
                 "1.47, 1.522, 1.683, 1.94, 2.266, 2.651, 3.093, 3.6, 4.172, 4.811");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4584, 0.5136, 0.7077, 1.077, 1.653, 2.459, 3.518, 4.855, 6.483, 8.426",\
                 "0.4574, 0.5139, 0.7077, 1.078, 1.654, 2.459, 3.519, 4.855, 6.482, 8.423",\
                 "0.4599, 0.5147, 0.7079, 1.077, 1.653, 2.459, 3.518, 4.852, 6.482, 8.425",\
                 "0.4977, 0.5468, 0.7242, 1.08, 1.653, 2.459, 3.521, 4.854, 6.486, 8.423",\
                 "0.5718, 0.6238, 0.8022, 1.133, 1.668, 2.459, 3.52, 4.853, 6.483, 8.428",\
                 "0.6852, 0.731, 0.9042, 1.24, 1.756, 2.498, 3.524, 4.854, 6.484, 8.428",\
                 "0.8402, 0.8892, 1.054, 1.375, 1.896, 2.619, 3.59, 4.869, 6.483, 8.426",\
                 "1.015, 1.066, 1.246, 1.562, 2.064, 2.793, 3.745, 4.967, 6.517, 8.427",\
                 "1.208, 1.267, 1.459, 1.795, 2.285, 2.995, 3.955, 5.154, 6.644, 8.485",\
                 "1.415, 1.482, 1.693, 2.055, 2.565, 3.254, 4.197, 5.402, 6.867, 8.645");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1461, 0.1601, 0.2079, 0.2952, 0.4274, 0.6094, 0.8463, 1.143, 1.505, 1.936",\
                 "0.1605, 0.1745, 0.2221, 0.3095, 0.4417, 0.6237, 0.8607, 1.158, 1.52, 1.951",\
                 "0.214, 0.2276, 0.2739, 0.3605, 0.4925, 0.6744, 0.9113, 1.208, 1.57, 2.001",\
                 "0.2752, 0.2945, 0.3561, 0.4577, 0.5931, 0.7739, 1.01, 1.307, 1.668, 2.099",\
                 "0.3127, 0.3376, 0.4166, 0.5472, 0.7205, 0.9277, 1.168, 1.463, 1.823, 2.253",\
                 "0.3231, 0.3529, 0.4498, 0.6097, 0.8207, 1.075, 1.365, 1.684, 2.045, 2.473",\
                 "0.3013, 0.3368, 0.4511, 0.6411, 0.8924, 1.192, 1.534, 1.914, 2.325, 2.766",\
                 "0.2465, 0.2866, 0.4189, 0.6394, 0.9308, 1.279, 1.673, 2.109, 2.585, 3.094",\
                 "0.1578, 0.2029, 0.3512, 0.6014, 0.9337, 1.33, 1.779, 2.273, 2.81, 3.387",\
                 "0.0341, 0.0844, 0.2488, 0.5265, 0.8988, 1.345, 1.849, 2.403, 3.001, 3.643");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.4414, 0.4799, 0.6134, 0.8663, 1.259, 1.81, 2.535, 3.447, 4.561, 5.889",\
                 "0.452, 0.4904, 0.6251, 0.8797, 1.273, 1.824, 2.549, 3.463, 4.576, 5.903",\
                 "0.4916, 0.5305, 0.665, 0.9202, 1.315, 1.867, 2.593, 3.506, 4.621, 5.947",\
                 "0.5643, 0.6036, 0.7381, 0.9914, 1.385, 1.936, 2.661, 3.574, 4.689, 6.015",\
                 "0.6743, 0.716, 0.8584, 1.116, 1.505, 2.051, 2.772, 3.682, 4.794, 6.12",\
                 "0.8384, 0.882, 1.03, 1.297, 1.696, 2.235, 2.948, 3.851, 4.957, 6.278",\
                 "1.05, 1.099, 1.257, 1.536, 1.946, 2.499, 3.203, 4.095, 5.19, 6.504",\
                 "1.299, 1.354, 1.531, 1.831, 2.255, 2.823, 3.543, 4.427, 5.509, 6.81",\
                 "1.584, 1.646, 1.844, 2.174, 2.624, 3.208, 3.947, 4.847, 5.922, 7.208",\
                 "1.906, 1.975, 2.195, 2.558, 3.046, 3.657, 4.412, 5.335, 6.429, 7.707");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2243, 0.2454, 0.3185, 0.457, 0.6725, 0.9738, 1.37, 1.869, 2.477, 3.201",\
                 "0.2234, 0.2445, 0.3181, 0.4569, 0.6719, 0.9741, 1.37, 1.869, 2.477, 3.202",\
                 "0.2374, 0.2545, 0.3196, 0.4558, 0.6721, 0.9737, 1.37, 1.869, 2.477, 3.203",\
                 "0.3453, 0.3634, 0.4225, 0.5239, 0.6954, 0.9756, 1.37, 1.869, 2.477, 3.203",\
                 "0.4777, 0.4993, 0.5714, 0.6968, 0.8676, 1.085, 1.409, 1.874, 2.476, 3.203",\
                 "0.6352, 0.6628, 0.7474, 0.8918, 1.093, 1.342, 1.633, 2.006, 2.525, 3.209",\
                 "0.815, 0.8472, 0.948, 1.116, 1.343, 1.627, 1.963, 2.342, 2.78, 3.352",\
                 "1.017, 1.055, 1.175, 1.369, 1.627, 1.939, 2.313, 2.742, 3.219, 3.737",\
                 "1.241, 1.285, 1.425, 1.654, 1.942, 2.29, 2.696, 3.165, 3.693, 4.27",\
                 "1.487, 1.547, 1.699, 1.956, 2.286, 2.677, 3.121, 3.626, 4.195, 4.824");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.5651, 0.6318, 0.8646, 1.307, 1.996, 2.96, 4.227, 5.821, 7.767, 10.09",\
                 "0.5651, 0.6313, 0.8639, 1.307, 1.996, 2.96, 4.227, 5.824, 7.772, 10.09",\
                 "0.566, 0.6324, 0.8648, 1.307, 1.996, 2.96, 4.226, 5.823, 7.772, 10.09",\
                 "0.5955, 0.6557, 0.8733, 1.309, 1.997, 2.96, 4.227, 5.822, 7.77, 10.09",\
                 "0.6682, 0.732, 0.9444, 1.346, 2.002, 2.96, 4.228, 5.822, 7.769, 10.09",\
                 "0.7668, 0.8258, 1.039, 1.445, 2.067, 2.978, 4.228, 5.824, 7.769, 10.09",\
                 "0.9178, 0.974, 1.17, 1.565, 2.195, 3.069, 4.262, 5.825, 7.77, 10.09",\
                 "1.098, 1.158, 1.355, 1.731, 2.347, 3.226, 4.378, 5.88, 7.776, 10.09",\
                 "1.301, 1.363, 1.575, 1.952, 2.543, 3.411, 4.565, 6.02, 7.852, 10.11",\
                 "1.522, 1.59, 1.817, 2.215, 2.798, 3.64, 4.786, 6.239, 8.018, 10.21");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.1522, 0.1663, 0.2146, 0.3028, 0.4358, 0.6182, 0.8552, 1.152, 1.514, 1.945",\
                 "0.1665, 0.1807, 0.2289, 0.317, 0.4501, 0.6326, 0.8696, 1.167, 1.529, 1.96",\
                 "0.2204, 0.2338, 0.2805, 0.368, 0.501, 0.6833, 0.9204, 1.217, 1.579, 2.01",\
                 "0.2874, 0.3059, 0.3664, 0.4667, 0.6016, 0.7826, 1.019, 1.316, 1.677, 2.107",\
                 "0.3326, 0.3562, 0.4324, 0.5605, 0.7317, 0.9373, 1.177, 1.472, 1.832, 2.262",\
                 "0.3494, 0.3778, 0.4708, 0.627, 0.835, 1.087, 1.375, 1.693, 2.054, 2.482",\
                 "0.3341, 0.3674, 0.4773, 0.6626, 0.9098, 1.207, 1.546, 1.925, 2.335, 2.776",\
                 "0.2853, 0.3237, 0.4508, 0.6649, 0.9516, 1.296, 1.687, 2.122, 2.597, 3.104",\
                 "0.2036, 0.2466, 0.389, 0.6324, 0.9583, 1.351, 1.796, 2.288, 2.823, 3.399",\
                 "0.088, 0.1358, 0.2928, 0.5626, 0.9276, 1.368, 1.869, 2.42, 3.016, 3.656");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.515, 0.5533, 0.687, 0.9401, 1.334, 1.885, 2.61, 3.522, 4.636, 5.964",\
                 "0.5263, 0.5651, 0.6992, 0.9533, 1.347, 1.899, 2.624, 3.538, 4.651, 5.979",\
                 "0.5662, 0.605, 0.7395, 0.9945, 1.389, 1.942, 2.668, 3.581, 4.695, 6.024",\
                 "0.6397, 0.6783, 0.8115, 1.065, 1.459, 2.011, 2.736, 3.65, 4.764, 6.093",\
                 "0.7543, 0.7952, 0.9355, 1.19, 1.578, 2.125, 2.846, 3.757, 4.869, 6.196",\
                 "0.9215, 0.9642, 1.109, 1.373, 1.769, 2.308, 3.022, 3.925, 5.031, 6.354",\
                 "1.141, 1.187, 1.34, 1.614, 2.022, 2.572, 3.275, 4.169, 5.264, 6.578",\
                 "1.403, 1.453, 1.621, 1.912, 2.332, 2.897, 3.616, 4.5, 5.583, 6.884",\
                 "1.7, 1.758, 1.943, 2.261, 2.704, 3.285, 4.021, 4.92, 5.995, 7.281",\
                 "2.035, 2.098, 2.305, 2.654, 3.13, 3.735, 4.488, 5.408, 6.502, 7.779");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2647, 0.2853, 0.3572, 0.4947, 0.7097, 1.01, 1.407, 1.905, 2.513, 3.24",\
                 "0.2637, 0.2844, 0.3567, 0.4944, 0.7096, 1.01, 1.407, 1.906, 2.515, 3.238",\
                 "0.2769, 0.2937, 0.3578, 0.4936, 0.7091, 1.01, 1.407, 1.905, 2.515, 3.24",\
                 "0.3952, 0.411, 0.4647, 0.5612, 0.7326, 1.013, 1.407, 1.905, 2.513, 3.239",\
                 "0.5429, 0.5617, 0.6264, 0.7424, 0.9068, 1.122, 1.445, 1.909, 2.515, 3.239",\
                 "0.7188, 0.7418, 0.8176, 0.9498, 1.14, 1.384, 1.67, 2.042, 2.562, 3.246",\
                 "0.9186, 0.9446, 1.034, 1.187, 1.4, 1.676, 2.007, 2.382, 2.815, 3.39",\
                 "1.142, 1.173, 1.278, 1.454, 1.696, 1.998, 2.363, 2.787, 3.257, 3.772",\
                 "1.388, 1.425, 1.548, 1.752, 2.023, 2.358, 2.754, 3.216, 3.738, 4.311",\
                 "1.661, 1.702, 1.84, 2.071, 2.38, 2.754, 3.187, 3.681, 4.246, 4.87");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.66, 0.7268, 0.9621, 1.405, 2.095, 3.06, 4.327, 5.924, 7.87, 10.19",\
                 "0.6601, 0.7276, 0.9604, 1.406, 2.095, 3.06, 4.329, 5.926, 7.872, 10.2",\
                 "0.6611, 0.7273, 0.9605, 1.406, 2.095, 3.06, 4.327, 5.925, 7.869, 10.19",\
                 "0.6797, 0.7418, 0.9668, 1.406, 2.095, 3.059, 4.328, 5.924, 7.873, 10.19",\
                 "0.7532, 0.8156, 1.026, 1.434, 2.099, 3.061, 4.328, 5.924, 7.873, 10.19",\
                 "0.8432, 0.9068, 1.121, 1.53, 2.156, 3.074, 4.329, 5.925, 7.873, 10.2",\
                 "0.9818, 1.04, 1.245, 1.649, 2.281, 3.159, 4.358, 5.927, 7.873, 10.19",\
                 "1.165, 1.223, 1.422, 1.808, 2.433, 3.313, 4.468, 5.975, 7.88, 10.19",\
                 "1.37, 1.432, 1.643, 2.022, 2.623, 3.497, 4.653, 6.112, 7.949, 10.21",\
                 "1.594, 1.662, 1.889, 2.283, 2.872, 3.722, 4.877, 6.329, 8.112, 10.3");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.168, 0.1812, 0.2274, 0.3126, 0.4427, 0.6233, 0.8598, 1.157, 1.518, 1.949",\
                 "0.1821, 0.1957, 0.2414, 0.327, 0.4572, 0.6377, 0.8741, 1.171, 1.533, 1.964",\
                 "0.2342, 0.2472, 0.2928, 0.3778, 0.5077, 0.6884, 0.9248, 1.222, 1.583, 2.014",\
                 "0.3025, 0.3202, 0.3787, 0.4759, 0.6086, 0.788, 1.024, 1.32, 1.681, 2.112",\
                 "0.3504, 0.373, 0.447, 0.5721, 0.7403, 0.9441, 1.182, 1.477, 1.837, 2.267",\
                 "0.3766, 0.4039, 0.4951, 0.6466, 0.8494, 1.098, 1.384, 1.7, 2.061, 2.488",\
                 "0.3777, 0.4113, 0.5175, 0.6972, 0.9372, 1.228, 1.563, 1.938, 2.345, 2.785",\
                 "0.3538, 0.392, 0.5151, 0.7217, 0.9993, 1.333, 1.716, 2.145, 2.615, 3.119",\
                 "0.3034, 0.3463, 0.4859, 0.7205, 1.033, 1.413, 1.845, 2.327, 2.855, 3.424",\
                 "0.2266, 0.2729, 0.4281, 0.6894, 1.042, 1.463, 1.946, 2.481, 3.067, 3.698");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.515, 0.5533, 0.687, 0.9401, 1.334, 1.885, 2.61, 3.522, 4.636, 5.964",\
                 "0.5263, 0.5651, 0.6992, 0.9533, 1.347, 1.899, 2.624, 3.538, 4.651, 5.979",\
                 "0.5662, 0.605, 0.7395, 0.9945, 1.389, 1.942, 2.668, 3.581, 4.695, 6.024",\
                 "0.6397, 0.6783, 0.8115, 1.065, 1.459, 2.011, 2.736, 3.65, 4.764, 6.093",\
                 "0.7543, 0.7952, 0.9355, 1.19, 1.578, 2.125, 2.846, 3.757, 4.869, 6.196",\
                 "0.9215, 0.9642, 1.109, 1.373, 1.769, 2.308, 3.022, 3.925, 5.031, 6.354",\
                 "1.141, 1.187, 1.34, 1.614, 2.022, 2.572, 3.275, 4.169, 5.264, 6.578",\
                 "1.403, 1.453, 1.621, 1.912, 2.332, 2.897, 3.616, 4.5, 5.583, 6.884",\
                 "1.7, 1.758, 1.943, 2.261, 2.704, 3.285, 4.021, 4.92, 5.995, 7.281",\
                 "2.035, 2.098, 2.305, 2.654, 3.13, 3.735, 4.488, 5.408, 6.502, 7.779");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.2647, 0.2853, 0.3572, 0.4947, 0.7097, 1.01, 1.407, 1.905, 2.513, 3.24",\
                 "0.2637, 0.2844, 0.3567, 0.4944, 0.7096, 1.01, 1.407, 1.906, 2.515, 3.238",\
                 "0.2769, 0.2937, 0.3578, 0.4936, 0.7091, 1.01, 1.407, 1.905, 2.515, 3.24",\
                 "0.3952, 0.411, 0.4647, 0.5612, 0.7326, 1.013, 1.407, 1.905, 2.513, 3.239",\
                 "0.5429, 0.5617, 0.6264, 0.7424, 0.9068, 1.122, 1.445, 1.909, 2.515, 3.239",\
                 "0.7188, 0.7418, 0.8176, 0.9498, 1.14, 1.384, 1.67, 2.042, 2.562, 3.246",\
                 "0.9186, 0.9446, 1.034, 1.187, 1.4, 1.676, 2.007, 2.382, 2.815, 3.39",\
                 "1.142, 1.173, 1.278, 1.454, 1.696, 1.998, 2.363, 2.787, 3.257, 3.772",\
                 "1.388, 1.425, 1.548, 1.752, 2.023, 2.358, 2.754, 3.216, 3.738, 4.311",\
                 "1.661, 1.702, 1.84, 2.071, 2.38, 2.754, 3.187, 3.681, 4.246, 4.87");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001993, 0.005481, 0.01214, 0.02251, 0.03707, 0.05623, 0.08036, 0.1098, 0.1449");
          values("0.66, 0.7268, 0.9621, 1.405, 2.095, 3.06, 4.327, 5.924, 7.87, 10.19",\
                 "0.6601, 0.7276, 0.9604, 1.406, 2.095, 3.06, 4.329, 5.926, 7.872, 10.2",\
                 "0.6611, 0.7273, 0.9605, 1.406, 2.095, 3.06, 4.327, 5.925, 7.869, 10.19",\
                 "0.6797, 0.7418, 0.9668, 1.406, 2.095, 3.059, 4.328, 5.924, 7.873, 10.19",\
                 "0.7532, 0.8156, 1.026, 1.434, 2.099, 3.061, 4.328, 5.924, 7.873, 10.19",\
                 "0.8432, 0.9068, 1.121, 1.53, 2.156, 3.074, 4.329, 5.925, 7.873, 10.2",\
                 "0.9818, 1.04, 1.245, 1.649, 2.281, 3.159, 4.358, 5.927, 7.873, 10.19",\
                 "1.165, 1.223, 1.422, 1.808, 2.433, 3.313, 4.468, 5.975, 7.88, 10.19",\
                 "1.37, 1.432, 1.643, 2.022, 2.623, 3.497, 4.653, 6.112, 7.949, 10.21",\
                 "1.594, 1.662, 1.889, 2.283, 2.872, 3.722, 4.877, 6.329, 8.112, 10.3");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi221_2) {
    area : 50.489600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C" ;
      value : "8.82816e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C" ;
      value : "0.0001100319" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C" ;
      value : "8.84367e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C" ;
      value : "0.0001100319" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C" ;
      value : "0.0001209714" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C" ;
      value : "0.0001100286" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C" ;
      value : "0.0001533609" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C" ;
      value : "0.0001100253" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C" ;
      value : "8.84367e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C" ;
      value : "0.0001116786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C" ;
      value : "8.85951e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C" ;
      value : "0.0001116786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C" ;
      value : "0.0001211265" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C" ;
      value : "0.0001116786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C" ;
      value : "0.000154869" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C" ;
      value : "0.0001116753" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C" ;
      value : "0.0001209714" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C" ;
      value : "0.0001116786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C" ;
      value : "0.0001211265" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C" ;
      value : "0.0001116786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C" ;
      value : "0.0001536579" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C" ;
      value : "0.0001116786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C" ;
      value : "0.000154869" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C" ;
      value : "0.0001116753" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C" ;
      value : "6.78117e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C" ;
      value : "6.80724e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C" ;
      value : "6.78117e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C" ;
      value : "6.80724e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C" ;
      value : "6.78117e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C" ;
      value : "6.80724e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C" ;
      value : "6.80625e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C" ;
      value : "6.80691e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000154869" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009143 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0337, 0.03372, 0.03373, 0.03364, 0.03356, 0.03353, 0.03349, \
                 0.03347, 0.03346, 0.03343");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02394, -0.02394, -0.0239, -0.02385, -0.02381, -0.02382, -0.02382, \
                 -0.02385, -0.02387, -0.02389");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008431, 0.008406, 0.008434, 0.008446, 0.00845, 0.008494, 0.008485, \
                 0.008492, 0.008493, 0.008489");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008475, -0.00847, -0.008502, -0.008493, -0.008507, -0.008521, \
                 -0.008526, -0.008529, -0.008538, -0.008547");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0337, 0.03372, 0.03374, 0.03368, 0.03359, 0.03357, 0.03352, \
                 0.0335, 0.03348, 0.03343");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02395, -0.02396, -0.02393, -0.02388, -0.02382, -0.02383, -0.02384, \
                 -0.02384, -0.02388, -0.0239");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008431, 0.008406, 0.008434, 0.008448, 0.008453, 0.008491, 0.008488, \
                 0.008494, 0.008492, 0.008494");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008477, -0.008481, -0.008502, -0.008492, -0.008507, -0.008523, \
                 -0.008524, -0.00853, -0.008538, -0.008544");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03371, 0.03372, 0.03374, 0.0337, 0.0336, 0.03357, 0.03352, 0.0335, \
                 0.03347, 0.03344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02395, -0.02396, -0.02393, -0.02388, -0.02383, -0.02383, -0.02384, \
                 -0.02385, -0.02388, -0.02391");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008431, 0.008411, 0.008444, 0.008447, 0.008446, 0.008494, 0.008498, \
                 0.008491, 0.008494, 0.008493");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008473, -0.008488, -0.008487, -0.008499, -0.008508, -0.008538, \
                 -0.008529, -0.00853, -0.008535, -0.008542");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00842, 0.008396, 0.008419, 0.008446, 0.00844, 0.008477, 0.008469, \
                 0.00848, 0.008481, 0.008482");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008456, -0.008464, -0.008466, -0.008471, -0.008483, -0.008507, \
                 -0.008515, -0.008516, -0.008518, -0.008527");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008429, 0.008408, 0.008443, 0.008455, 0.008449, 0.008486, 0.008491, \
                 0.008491, 0.008491, 0.008494");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008474, -0.008468, -0.00849, -0.008488, -0.008495, -0.00852, \
                 -0.008529, -0.00854, -0.008542, -0.008538");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03298, 0.03296, 0.03289, 0.03284, 0.0328, 0.03282, 0.0328, 0.03274, \
                 0.03268, 0.03259");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008495, -0.008491, -0.008515, -0.008511, -0.008523, -0.008538, \
                 -0.008548, -0.008539, -0.008546, -0.008548");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03298, 0.03296, 0.03289, 0.03285, 0.0328, 0.03283, 0.03279, \
                 0.03275, 0.03268, 0.0326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008496, -0.008491, -0.008515, -0.008512, -0.008523, -0.008535, \
                 -0.008547, -0.008543, -0.00854, -0.008544");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03299, 0.03296, 0.03289, 0.03283, 0.03281, 0.03283, 0.03279, \
                 0.03275, 0.03268, 0.03259");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008498, -0.008493, -0.008516, -0.008514, -0.00852, -0.008544, \
                 -0.008543, -0.008547, -0.008548, -0.008547");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06386, 0.06382, 0.06374, 0.06364, 0.06357, 0.06353, 0.06345, \
                 0.06334, 0.06321, 0.06299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008488, -0.008482, -0.008504, -0.008504, -0.008507, -0.008527, \
                 -0.008536, -0.008532, -0.008533, -0.008532");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03298, 0.03296, 0.0329, 0.03283, 0.03283, 0.03284, 0.03279, \
                 0.03275, 0.03269, 0.03259");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008498, -0.008492, -0.008517, -0.008512, -0.008517, -0.008543, \
                 -0.008547, -0.008544, -0.008547, -0.008547");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008479 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03292, 0.03095, 0.03025, 0.0301, 0.03002, 0.03, 0.02997, 0.02995, \
                 0.02992, 0.0299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03019, -0.03019, -0.03019, -0.03011, -0.03002, -0.02999, -0.02997, \
                 -0.0299, -0.02989, -0.02987");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008451, 0.008433, 0.008447, 0.008456, 0.008448, 0.008487, 0.008491, \
                 0.008488, 0.008491, 0.008491");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008474, -0.008495, -0.008501, -0.008499, -0.008502, -0.008523, \
                 -0.008523, -0.008532, -0.008541, -0.008532");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03292, 0.03095, 0.03026, 0.03016, 0.03006, 0.03003, 0.02998, \
                 0.02996, 0.02993, 0.0299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03019, -0.0302, -0.03021, -0.03015, -0.03006, -0.03001, -0.02997, \
                 -0.02992, -0.02991, -0.02989");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008451, 0.008433, 0.008447, 0.008456, 0.008446, 0.008492, 0.008495, \
                 0.008489, 0.008494, 0.008491");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008475, -0.008495, -0.008501, -0.008499, -0.008502, -0.008524, \
                 -0.008523, -0.008531, -0.008539, -0.008538");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03292, 0.03096, 0.03026, 0.03014, 0.03006, 0.03003, 0.02998, \
                 0.02997, 0.02994, 0.0299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03019, -0.0302, -0.03021, -0.03016, -0.03006, -0.03001, -0.02997, \
                 -0.02992, -0.0299, -0.02992");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008451, 0.008435, 0.008448, 0.008456, 0.008449, 0.0085, 0.008493, \
                 0.008491, 0.008494, 0.008495");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008475, -0.008495, -0.008501, -0.008495, -0.00851, -0.008527, \
                 -0.008532, -0.008528, -0.008533, -0.008535");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008439, 0.008421, 0.008434, 0.008448, 0.008439, 0.008478, 0.008483, \
                 0.008477, 0.008477, 0.008481");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008456, -0.008476, -0.008482, -0.008476, -0.008487, -0.008506, \
                 -0.008504, -0.008517, -0.008525, -0.008529");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008451, 0.008433, 0.008448, 0.008453, 0.008452, 0.008491, 0.008493, \
                 0.008488, 0.008489, 0.008492");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008474, -0.008495, -0.008502, -0.008502, -0.008511, -0.008529, \
                 -0.008528, -0.008531, -0.008534, -0.008539");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.033, 0.03294, 0.03289, 0.03286, 0.03282, 0.03284, 0.0328, 0.03275, \
                 0.03268, 0.03259");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008495, -0.008498, -0.00852, -0.008513, -0.008518, -0.00855, \
                 -0.008548, -0.008537, -0.008543, -0.008545");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.033, 0.03294, 0.03289, 0.03285, 0.03282, 0.03283, 0.03279, 0.03274, \
                 0.03268, 0.0326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008497, -0.008497, -0.00852, -0.008513, -0.00852, -0.00855, \
                 -0.008548, -0.008537, -0.008546, -0.008548");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.033, 0.03294, 0.03289, 0.03286, 0.03281, 0.03283, 0.0328, 0.03275, \
                 0.03268, 0.0326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008506, -0.008512, -0.008531, -0.00852, -0.008525, -0.008541, \
                 -0.00855, -0.008541, -0.008544, -0.008543");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06387, 0.06381, 0.06373, 0.06363, 0.06355, 0.06354, 0.06346, \
                 0.06335, 0.0632, 0.06299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008497, -0.008488, -0.00852, -0.008514, -0.008505, -0.008531, \
                 -0.008535, -0.008535, -0.008531, -0.008527");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.033, 0.03294, 0.03289, 0.03285, 0.03281, 0.03283, 0.03279, 0.03275, \
                 0.03268, 0.0326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008506, -0.008512, -0.00852, -0.008518, -0.008515, -0.008538, \
                 -0.008551, -0.008548, -0.008547, -0.008549");
        }
      }
    }

    pin(B1) {
      capacitance : 0.008646 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03361, 0.03355, 0.03353, 0.0335, 0.03347, 0.03355, 0.03344, \
                 0.03347, 0.03346, 0.03344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02192, -0.02189, -0.02187, -0.02192, -0.0219, -0.02203, -0.02206, \
                 -0.02205, -0.0221, -0.02214");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02992, 0.02985, 0.02988, 0.02986, 0.02984, 0.02988, 0.02989, \
                 0.02988, 0.02989, 0.02987");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0298, -0.02975, -0.02969, -0.02971, -0.0297, -0.0298, -0.0298, \
                 -0.02984, -0.02984, -0.02983");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02985, 0.02988, 0.02986, 0.02985, 0.02983, 0.02989, 0.02991, \
                 0.02992, 0.02991, 0.02992");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02518, -0.026, -0.02739, -0.02814, -0.02849, -0.02878, -0.02892, \
                 -0.02903, -0.02909, -0.02911");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03359, 0.03355, 0.03352, 0.03354, 0.03347, 0.03356, 0.03343, \
                 0.03349, 0.03344, 0.03345");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02192, -0.02189, -0.02186, -0.0219, -0.02189, -0.02201, -0.02204, \
                 -0.02207, -0.02211, -0.02215");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02992, 0.02985, 0.02986, 0.02983, 0.02987, 0.02987, 0.0299, \
                 0.02989, 0.02989, 0.02987");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0298, -0.02975, -0.02969, -0.02971, -0.0297, -0.02979, -0.0298, \
                 -0.0298, -0.02982, -0.02979");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02985, 0.02988, 0.02986, 0.02985, 0.02983, 0.0299, 0.02989, \
                 0.02991, 0.02992, 0.0299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02519, -0.026, -0.02739, -0.02814, -0.02849, -0.02879, -0.02892, \
                 -0.02903, -0.02909, -0.02911");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03359, 0.03354, 0.03352, 0.03354, 0.03347, 0.03357, 0.03345, \
                 0.03348, 0.03344, 0.03344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02192, -0.02189, -0.02186, -0.0219, -0.02189, -0.02199, -0.02206, \
                 -0.02208, -0.0221, -0.02215");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02989, 0.02985, 0.02987, 0.02981, 0.02984, 0.02992, 0.02988, \
                 0.02991, 0.0299, 0.02991");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02979, -0.02975, -0.02969, -0.02974, -0.02969, -0.02978, -0.0298, \
                 -0.02979, -0.02982, -0.02981");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02985, 0.02987, 0.02989, 0.02986, 0.02987, 0.02989, 0.02993, \
                 0.02991, 0.02995, 0.0299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02519, -0.026, -0.02739, -0.02814, -0.0285, -0.02879, -0.02891, \
                 -0.02901, -0.02908, -0.02912");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02991, 0.02989, 0.0299, 0.02988, 0.02982, 0.02988, 0.02991, \
                 0.02988, 0.02991, 0.02992");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02984, -0.02977, -0.02974, -0.02972, -0.0297, -0.02979, -0.02981, \
                 -0.0298, -0.02981, -0.0298");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02991, 0.02985, 0.02991, 0.0299, 0.02985, 0.02992, 0.02988, \
                 0.02989, 0.02991, 0.02987");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02979, -0.02975, -0.02969, -0.02972, -0.0297, -0.02979, -0.0298, \
                 -0.02981, -0.02984, -0.0298");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03031, 0.03033, 0.03034, 0.03034, 0.03035, 0.03035, 0.03035, \
                 0.03036, 0.0304, 0.03038");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02355, -0.0243, -0.0256, -0.02672, -0.02744, -0.02798, -0.02826, \
                 -0.02845, -0.0286, -0.0287");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02985, 0.02987, 0.02989, 0.02986, 0.02983, 0.02991, 0.02993, \
                 0.02992, 0.02992, 0.02989");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02524, -0.02601, -0.02739, -0.02814, -0.02851, -0.02878, -0.02892, \
                 -0.02902, -0.02908, -0.02912");
        }
      }
    }

    pin(B2) {
      capacitance : 0.009055 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0329, 0.03079, 0.03001, 0.02991, 0.02993, 0.02994, 0.02991, \
                 0.02992, 0.02989, 0.02992");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02996, -0.02988, -0.0299, -0.02989, -0.02982, -0.02989, -0.02984, \
                 -0.02984, -0.02983, -0.02984");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02998, 0.02993, 0.02984, 0.02985, 0.02986, 0.02989, 0.02987, \
                 0.02989, 0.02993, 0.02992");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02981, -0.02979, -0.02974, -0.0297, -0.02971, -0.02981, -0.02981, \
                 -0.02983, -0.02982, -0.02981");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02986, 0.02986, 0.02986, 0.02984, 0.02985, 0.02989, 0.02993, \
                 0.0299, 0.0299, 0.02989");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0252, -0.026, -0.02738, -0.02817, -0.02849, -0.0288, -0.02891, \
                 -0.02902, -0.02908, -0.02914");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0329, 0.03076, 0.02999, 0.02992, 0.02994, 0.02994, 0.02989, \
                 0.0299, 0.02994, 0.02989");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02993, -0.02987, -0.02993, -0.02986, -0.02981, -0.02987, -0.02985, \
                 -0.02984, -0.02983, -0.02986");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02998, 0.02993, 0.02984, 0.02987, 0.02986, 0.02989, 0.02988, \
                 0.0299, 0.02993, 0.02992");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02981, -0.02979, -0.02974, -0.0297, -0.02971, -0.02981, -0.02981, \
                 -0.02982, -0.02983, -0.02981");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02988, 0.02986, 0.02986, 0.02984, 0.02985, 0.0299, 0.02991, \
                 0.0299, 0.02991, 0.02987");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0252, -0.026, -0.02738, -0.02817, -0.0285, -0.0288, -0.02891, \
                 -0.02901, -0.02907, -0.02914");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0329, 0.03074, 0.02999, 0.02991, 0.02991, 0.02994, 0.0299, 0.0299, \
                 0.02993, 0.02987");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02993, -0.02987, -0.02993, -0.02987, -0.02983, -0.02987, -0.02983, \
                 -0.02982, -0.02985, -0.02984");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02998, 0.02995, 0.02984, 0.02985, 0.02987, 0.02989, 0.02988, \
                 0.02989, 0.02993, 0.0299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02981, -0.02979, -0.02974, -0.0297, -0.02971, -0.02981, -0.02981, \
                 -0.02982, -0.02983, -0.02981");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02988, 0.02985, 0.02985, 0.02983, 0.02986, 0.02988, 0.02992, \
                 0.0299, 0.02988, 0.0299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0252, -0.026, -0.02738, -0.0282, -0.0285, -0.0288, -0.02894, \
                 -0.02903, -0.02907, -0.02914");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02996, 0.03001, 0.02986, 0.02982, 0.02987, 0.02989, 0.0299, \
                 0.0299, 0.02987, 0.0299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02985, -0.02977, -0.02981, -0.02976, -0.02974, -0.02979, -0.0298, \
                 -0.02979, -0.0298, -0.02979");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02998, 0.02993, 0.02984, 0.02989, 0.02987, 0.02988, 0.02988, \
                 0.02991, 0.02993, 0.02991");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02981, -0.02979, -0.02974, -0.0297, -0.02971, -0.0298, -0.02981, \
                 -0.02981, -0.02983, -0.02981");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03034, 0.03034, 0.03035, 0.03033, 0.03032, 0.03037, 0.03038, \
                 0.03035, 0.03035, 0.03036");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02355, -0.02433, -0.02558, -0.02676, -0.02745, -0.028, -0.02827, \
                 -0.02845, -0.02858, -0.02868");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02988, 0.02985, 0.02988, 0.02986, 0.02991, 0.02991, 0.02989, \
                 0.02988, 0.02991, 0.02991");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02525, -0.02601, -0.02741, -0.02815, -0.02848, -0.02881, -0.02894, \
                 -0.02904, -0.02908, -0.02913");
        }
      }
    }

    pin(C) {
      capacitance : 0.009012 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03064, 0.0306, 0.03061, 0.03058, 0.03054, 0.03055, 0.03047, \
                 0.03038, 0.03026, 0.03008");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01069, -0.01065, -0.0107, -0.0107, -0.0107, -0.01073, -0.01074, \
                 -0.01076, -0.01076, -0.01077");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03038, 0.03035, 0.03035, 0.03033, 0.03029, 0.03027, 0.03021, \
                 0.03012, 0.03, 0.02981");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01067, -0.01071, -0.01072, -0.01072, -0.01076, -0.01077, \
                 -0.01078, -0.01078, -0.01079");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03038, 0.03035, 0.03035, 0.03033, 0.03029, 0.03027, 0.0302, \
                 0.03012, 0.02999, 0.02981");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01067, -0.01071, -0.01071, -0.01072, -0.01076, -0.01077, \
                 -0.01077, -0.01078, -0.01079");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03047, 0.03043, 0.03036, 0.03031, 0.03029, 0.03035, 0.03035, \
                 0.03035, 0.03034, 0.03032");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02334, -0.024, -0.02581, -0.02724, -0.0279, -0.0283, -0.02852, \
                 -0.02865, -0.02875, -0.02883");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03043, 0.03041, 0.0304, 0.03032, 0.03031, 0.03034, 0.03033, \
                 0.03034, 0.03035, 0.03035");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0232, -0.02373, -0.02535, -0.02692, -0.02771, -0.02823, -0.02849, \
                 -0.02863, -0.02873, -0.02884");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03041, 0.03039, 0.0304, 0.03028, 0.0303, 0.03035, 0.03033, 0.03037, \
                 0.03033, 0.03034");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0232, -0.02371, -0.02536, -0.02691, -0.02774, -0.02822, -0.02847, \
                 -0.02864, -0.02873, -0.02883");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01604, 0.01603, 0.01607, 0.01607, 0.01608, 0.01612, 0.01611, \
                 0.01612, 0.01612, 0.01612");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01821, -0.01809, -0.01798, -0.018, -0.01796, -0.01803, -0.01803, \
                 -0.01803, -0.01804, -0.01804");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1)&(!C))|((!A1)&(!B2)&(!C))|((!A2)&(!B1)&(!C))|((!A2)&(!B2)&(!C)))" ;
      max_capacitance : 0.2649 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.005969, 0.00609, 0.00632, 0.006492, 0.006597, 0.006662, 0.006682, 0.006714, 0.006738, 0.006756",\
                 "0.005832, 0.006074, 0.006633, 0.007146, 0.007488, 0.007686, 0.007837, 0.007935, 0.007999, 0.008033",\
                 "0.008319, 0.00841, 0.00869, 0.009031, 0.009315, 0.009508, 0.009651, 0.009748, 0.009833, 0.009879",\
                 "0.01619, 0.01585, 0.01518, 0.01432, 0.01359, 0.01297, 0.01251, 0.01216, 0.01189, 0.01169",\
                 "0.03213, 0.03127, 0.02889, 0.02606, 0.02335, 0.02105, 0.01915, 0.01768, 0.01648, 0.01552",\
                 "0.05827, 0.05681, 0.05257, 0.04691, 0.04133, 0.03643, 0.03219, 0.02877, 0.02595, 0.0236",\
                 "0.0957, 0.09367, 0.08759, 0.07887, 0.06967, 0.06128, 0.05388, 0.04759, 0.04227, 0.03786",\
                 "0.1452, 0.1426, 0.1347, 0.1231, 0.1099, 0.09724, 0.08597, 0.07616, 0.06752, 0.0602",\
                 "0.2073, 0.2043, 0.1948, 0.1802, 0.1632, 0.1459, 0.13, 0.1159, 0.1033, 0.09239",\
                 "0.2825, 0.2791, 0.2681, 0.2508, 0.23, 0.2082, 0.1872, 0.168, 0.151, 0.1358");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1383, 0.1386, 0.1392, 0.1398, 0.1404, 0.1409, 0.1415, 0.1419, 0.1427, 0.1463",\
                 "0.136, 0.1364, 0.1375, 0.1387, 0.1399, 0.1408, 0.1417, 0.1424, 0.1436, 0.1457",\
                 "0.1363, 0.1364, 0.1367, 0.1376, 0.1387, 0.1398, 0.1409, 0.142, 0.1426, 0.1459",\
                 "0.1467, 0.1461, 0.1446, 0.1431, 0.1421, 0.1421, 0.1422, 0.1429, 0.1435, 0.1464",\
                 "0.1673, 0.1662, 0.163, 0.1588, 0.1547, 0.1517, 0.1499, 0.1487, 0.148, 0.1508",\
                 "0.1989, 0.1972, 0.1924, 0.1857, 0.1785, 0.1717, 0.1663, 0.162, 0.1591, 0.1611",\
                 "0.2427, 0.2405, 0.2339, 0.2241, 0.2139, 0.2038, 0.1941, 0.186, 0.1801, 0.1807",\
                 "0.2998, 0.2969, 0.2884, 0.276, 0.2622, 0.2486, 0.235, 0.2227, 0.2125, 0.2118",\
                 "0.3707, 0.3673, 0.3571, 0.3418, 0.3243, 0.3064, 0.2894, 0.2731, 0.2588, 0.2597",\
                 "0.4564, 0.4525, 0.4406, 0.4224, 0.4015, 0.3793, 0.358, 0.3375, 0.3216, 0.3297");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.005957, 0.006069, 0.006327, 0.006527, 0.0066, 0.00666, 0.006696, 0.006723, 0.006743, 0.006755",\
                 "0.005884, 0.006119, 0.006689, 0.007225, 0.007562, 0.007753, 0.007898, 0.007983, 0.008055, 0.008077",\
                 "0.008694, 0.00879, 0.009039, 0.009369, 0.009637, 0.009829, 0.009951, 0.01004, 0.01011, 0.01015",\
                 "0.0165, 0.01619, 0.01557, 0.01477, 0.01407, 0.01347, 0.01301, 0.01267, 0.0124, 0.0122",\
                 "0.03099, 0.03024, 0.02816, 0.02567, 0.02319, 0.02111, 0.01939, 0.01797, 0.01685, 0.01596",\
                 "0.05437, 0.05313, 0.04937, 0.04442, 0.03952, 0.03511, 0.03133, 0.02818, 0.02561, 0.02346",\
                 "0.08803, 0.08622, 0.08079, 0.07313, 0.06491, 0.05746, 0.05087, 0.04523, 0.04049, 0.03646",\
                 "0.1328, 0.1305, 0.1234, 0.113, 0.1013, 0.08991, 0.07984, 0.07101, 0.06334, 0.05677",\
                 "0.1892, 0.1865, 0.1778, 0.1646, 0.1493, 0.1339, 0.1195, 0.1069, 0.09564, 0.08583",\
                 "0.2579, 0.2547, 0.2445, 0.2288, 0.2099, 0.1902, 0.1713, 0.1541, 0.1387, 0.1251");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1384, 0.1386, 0.1393, 0.1399, 0.1405, 0.141, 0.1416, 0.1424, 0.1432, 0.1529",\
                 "0.136, 0.1364, 0.1375, 0.1389, 0.14, 0.1409, 0.1415, 0.1423, 0.144, 0.153",\
                 "0.1363, 0.1363, 0.1367, 0.1376, 0.1387, 0.1399, 0.141, 0.1417, 0.1436, 0.1535",\
                 "0.1461, 0.1456, 0.1442, 0.1427, 0.1419, 0.1418, 0.1422, 0.1427, 0.1439, 0.1549",\
                 "0.1655, 0.1645, 0.1615, 0.1575, 0.1536, 0.1508, 0.1488, 0.1479, 0.1481, 0.1601",\
                 "0.1949, 0.1933, 0.1888, 0.1826, 0.1757, 0.1692, 0.1642, 0.1605, 0.1594, 0.1716",\
                 "0.2351, 0.2331, 0.227, 0.2182, 0.2087, 0.1989, 0.1899, 0.1825, 0.1787, 0.1931",\
                 "0.2876, 0.2849, 0.2771, 0.2658, 0.2533, 0.2405, 0.2277, 0.2162, 0.2098, 0.2281",\
                 "0.3527, 0.3496, 0.34, 0.3261, 0.3104, 0.2941, 0.2783, 0.2628, 0.2549, 0.282",\
                 "0.4317, 0.4281, 0.4169, 0.4002, 0.3809, 0.3611, 0.3416, 0.3232, 0.3181, 0.3647");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.005959, 0.006088, 0.006326, 0.006547, 0.006636, 0.006698, 0.006716, 0.006729, 0.006742, 0.006752",\
                 "0.005894, 0.00613, 0.006698, 0.007241, 0.007591, 0.007793, 0.007917, 0.007992, 0.008058, 0.008074",\
                 "0.00872, 0.008769, 0.009057, 0.009377, 0.009647, 0.009832, 0.009966, 0.01004, 0.01011, 0.01015",\
                 "0.01648, 0.01621, 0.01556, 0.01475, 0.01406, 0.01347, 0.01302, 0.01267, 0.0124, 0.01219",\
                 "0.03083, 0.03009, 0.02811, 0.02563, 0.02316, 0.02111, 0.01937, 0.01797, 0.01687, 0.01595",\
                 "0.05409, 0.05284, 0.04923, 0.04433, 0.03947, 0.0351, 0.0313, 0.02817, 0.02561, 0.02344",\
                 "0.08759, 0.08584, 0.08052, 0.07296, 0.06484, 0.0574, 0.05084, 0.04522, 0.04045, 0.03643",\
                 "0.1322, 0.13, 0.123, 0.1127, 0.1011, 0.08984, 0.07977, 0.07097, 0.06331, 0.05675",\
                 "0.1885, 0.1858, 0.1773, 0.1643, 0.1491, 0.1338, 0.1195, 0.1068, 0.0956, 0.0858",\
                 "0.257, 0.2539, 0.2439, 0.2283, 0.2097, 0.1901, 0.1712, 0.1541, 0.1387, 0.125");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.169, 0.1692, 0.1697, 0.1702, 0.1707, 0.1714, 0.1721, 0.1729, 0.1748, 0.1843",\
                 "0.1671, 0.1674, 0.1683, 0.1693, 0.1704, 0.1713, 0.1722, 0.1729, 0.1748, 0.1848",\
                 "0.1667, 0.1668, 0.1672, 0.1681, 0.1692, 0.1704, 0.1714, 0.1724, 0.1744, 0.1851",\
                 "0.1751, 0.1747, 0.1737, 0.1726, 0.1721, 0.1723, 0.1725, 0.1734, 0.1752, 0.1864",\
                 "0.1932, 0.1924, 0.1898, 0.1865, 0.1831, 0.1807, 0.1793, 0.1783, 0.1795, 0.1915",\
                 "0.2214, 0.2202, 0.2164, 0.2108, 0.2044, 0.1989, 0.1941, 0.1907, 0.1898, 0.2032",\
                 "0.2606, 0.2589, 0.2536, 0.2459, 0.2368, 0.2278, 0.2195, 0.2124, 0.2092, 0.2241",\
                 "0.3118, 0.3096, 0.3028, 0.2927, 0.2809, 0.2686, 0.2565, 0.2458, 0.2403, 0.2593",\
                 "0.3759, 0.3732, 0.3647, 0.3521, 0.3373, 0.3221, 0.3064, 0.2917, 0.2849, 0.3139",\
                 "0.4539, 0.4507, 0.4406, 0.4253, 0.4074, 0.3884, 0.3696, 0.3517, 0.3477, 0.3969");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.006047, 0.006143, 0.006369, 0.006511, 0.006603, 0.006654, 0.006701, 0.006724, 0.006742, 0.006757",\
                 "0.005582, 0.005861, 0.0065, 0.00707, 0.007445, 0.007691, 0.007824, 0.007952, 0.007994, 0.008044",\
                 "0.006678, 0.006948, 0.007523, 0.008217, 0.008756, 0.009126, 0.009404, 0.009553, 0.00967, 0.009769",\
                 "0.01378, 0.01363, 0.01325, 0.01291, 0.0126, 0.01227, 0.01201, 0.01179, 0.01161, 0.01147",\
                 "0.02918, 0.0285, 0.02664, 0.02432, 0.02213, 0.02024, 0.01865, 0.01732, 0.01626, 0.0154",\
                 "0.05505, 0.05381, 0.05006, 0.04511, 0.04005, 0.03566, 0.03186, 0.02864, 0.02596, 0.02376",\
                 "0.09255, 0.09066, 0.0851, 0.07716, 0.06861, 0.06071, 0.0539, 0.04796, 0.04289, 0.03857",\
                 "0.1424, 0.1399, 0.1326, 0.1216, 0.1093, 0.09731, 0.08652, 0.07707, 0.06883, 0.0617",\
                 "0.205, 0.2022, 0.1932, 0.1793, 0.1631, 0.1467, 0.1312, 0.1175, 0.1055, 0.09485",\
                 "0.2813, 0.278, 0.2674, 0.2508, 0.2309, 0.21, 0.1898, 0.1709, 0.1542, 0.1394");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1632, 0.1633, 0.1635, 0.1638, 0.1642, 0.1646, 0.1653, 0.1658, 0.1671, 0.1698",\
                 "0.1614, 0.1615, 0.1619, 0.1625, 0.1631, 0.1637, 0.1645, 0.1654, 0.166, 0.1694",\
                 "0.1626, 0.1626, 0.1625, 0.1626, 0.163, 0.1635, 0.1642, 0.1649, 0.1659, 0.1692",\
                 "0.1734, 0.1728, 0.1712, 0.1692, 0.1679, 0.167, 0.1669, 0.167, 0.1674, 0.1706",\
                 "0.1948, 0.1936, 0.1904, 0.186, 0.1814, 0.1779, 0.1754, 0.174, 0.173, 0.1757",\
                 "0.2275, 0.226, 0.2213, 0.2143, 0.2066, 0.1995, 0.1933, 0.1885, 0.1853, 0.1865",\
                 "0.2729, 0.2709, 0.2646, 0.2551, 0.2443, 0.2331, 0.2228, 0.214, 0.2074, 0.2073",\
                 "0.3317, 0.3293, 0.3216, 0.3095, 0.2953, 0.2807, 0.2663, 0.2528, 0.2419, 0.2409",\
                 "0.4046, 0.4019, 0.393, 0.3787, 0.361, 0.3423, 0.324, 0.3059, 0.2912, 0.2915",\
                 "0.4925, 0.4895, 0.4794, 0.4631, 0.4427, 0.4196, 0.3966, 0.3742, 0.3572, 0.3651");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.006043, 0.00614, 0.006384, 0.006545, 0.006636, 0.006679, 0.006714, 0.006738, 0.006753, 0.006769",\
                 "0.005614, 0.005907, 0.006569, 0.007145, 0.007518, 0.00775, 0.007879, 0.008003, 0.008043, 0.008093",\
                 "0.007052, 0.007296, 0.007887, 0.008542, 0.009077, 0.009424, 0.009679, 0.009853, 0.009943, 0.01002",\
                 "0.01425, 0.01411, 0.01379, 0.01345, 0.0131, 0.0128, 0.01254, 0.01233, 0.01215, 0.012",\
                 "0.02832, 0.0277, 0.02606, 0.02405, 0.02207, 0.02036, 0.01892, 0.01768, 0.01667, 0.01587",\
                 "0.05139, 0.05028, 0.04707, 0.04272, 0.03835, 0.03441, 0.03099, 0.02808, 0.02565, 0.02361",\
                 "0.08489, 0.08325, 0.07841, 0.07144, 0.06395, 0.05696, 0.05088, 0.04558, 0.041, 0.03711",\
                 "0.1297, 0.1275, 0.121, 0.1114, 0.1005, 0.08985, 0.08022, 0.07187, 0.06447, 0.05807",\
                 "0.1863, 0.1837, 0.1756, 0.1633, 0.149, 0.1344, 0.1206, 0.1084, 0.0976, 0.08801",\
                 "0.2555, 0.2524, 0.2428, 0.2279, 0.21, 0.1914, 0.1733, 0.1565, 0.1416, 0.1283");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1633, 0.1634, 0.1635, 0.1638, 0.1641, 0.1648, 0.1653, 0.1661, 0.1675, 0.1774",\
                 "0.1614, 0.1615, 0.1619, 0.1625, 0.1631, 0.1637, 0.1645, 0.1651, 0.1669, 0.1769",\
                 "0.1625, 0.1625, 0.1624, 0.1625, 0.1629, 0.1635, 0.1644, 0.165, 0.1667, 0.177",\
                 "0.1728, 0.1722, 0.1707, 0.1688, 0.1675, 0.1667, 0.1666, 0.1667, 0.1683, 0.1792",\
                 "0.1928, 0.1918, 0.1888, 0.1845, 0.1803, 0.1769, 0.1746, 0.173, 0.1735, 0.185",\
                 "0.2231, 0.2216, 0.2174, 0.2109, 0.2037, 0.1968, 0.191, 0.1868, 0.1851, 0.1976",\
                 "0.2647, 0.2628, 0.2571, 0.2483, 0.2382, 0.228, 0.2183, 0.2104, 0.2063, 0.2202",\
                 "0.3186, 0.3165, 0.3093, 0.2983, 0.2854, 0.2717, 0.2583, 0.2458, 0.2392, 0.2576",\
                 "0.3856, 0.3829, 0.3746, 0.3616, 0.3455, 0.3285, 0.3111, 0.295, 0.2867, 0.3143",\
                 "0.4663, 0.4633, 0.454, 0.4387, 0.4198, 0.399, 0.3783, 0.3589, 0.3525, 0.4008");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.006048, 0.006147, 0.006381, 0.006565, 0.006666, 0.006707, 0.006732, 0.006744, 0.006757, 0.006764",\
                 "0.005649, 0.005924, 0.006575, 0.007163, 0.007544, 0.007774, 0.007897, 0.008, 0.008047, 0.008091",\
                 "0.007103, 0.007309, 0.007895, 0.008554, 0.009084, 0.00944, 0.009695, 0.009863, 0.009951, 0.01002",\
                 "0.01423, 0.01411, 0.01382, 0.01345, 0.0131, 0.0128, 0.01256, 0.01233, 0.01214, 0.012",\
                 "0.02817, 0.0276, 0.026, 0.02402, 0.02206, 0.02035, 0.01889, 0.01769, 0.01667, 0.01588",\
                 "0.05115, 0.05005, 0.04688, 0.04266, 0.0383, 0.03439, 0.03097, 0.02807, 0.02565, 0.02361",\
                 "0.08446, 0.08291, 0.07816, 0.07127, 0.06388, 0.05696, 0.05087, 0.04557, 0.04096, 0.03712",\
                 "0.1292, 0.1271, 0.1206, 0.1111, 0.1004, 0.08977, 0.08019, 0.07182, 0.06445, 0.05807",\
                 "0.1857, 0.1832, 0.1752, 0.163, 0.1488, 0.1342, 0.1206, 0.1084, 0.09749, 0.08801",\
                 "0.2548, 0.2518, 0.2423, 0.2275, 0.2098, 0.1912, 0.1732, 0.1565, 0.1416, 0.1282");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1936, 0.1936, 0.1937, 0.194, 0.1944, 0.1948, 0.1955, 0.1961, 0.1978, 0.208",\
                 "0.1919, 0.192, 0.1923, 0.1928, 0.1933, 0.194, 0.1945, 0.1953, 0.197, 0.2074",\
                 "0.1926, 0.1926, 0.1926, 0.1928, 0.1932, 0.1937, 0.1944, 0.1953, 0.1968, 0.2075",\
                 "0.2017, 0.2012, 0.2, 0.1985, 0.1975, 0.1968, 0.1967, 0.1968, 0.1983, 0.2101",\
                 "0.2205, 0.2197, 0.2172, 0.2133, 0.2097, 0.2066, 0.2044, 0.203, 0.2036, 0.2155",\
                 "0.2499, 0.2486, 0.2447, 0.2389, 0.2322, 0.2259, 0.2206, 0.2165, 0.2152, 0.2282",\
                 "0.2905, 0.2888, 0.2837, 0.2759, 0.2663, 0.2565, 0.2473, 0.2398, 0.2357, 0.251",\
                 "0.3435, 0.3414, 0.335, 0.3249, 0.3128, 0.2998, 0.2869, 0.2747, 0.2683, 0.2878",\
                 "0.4096, 0.4072, 0.3996, 0.3873, 0.3723, 0.3561, 0.3391, 0.3234, 0.3155, 0.3447",\
                 "0.4896, 0.4869, 0.4783, 0.4641, 0.4461, 0.4262, 0.4059, 0.3868, 0.3818, 0.4317");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.07265, 0.07263, 0.07254, 0.07247, 0.07252, 0.07254, 0.07257, 0.07257, 0.07256, 0.07257",\
                 "0.07114, 0.07106, 0.07103, 0.07099, 0.071, 0.07103, 0.07112, 0.07108, 0.07109, 0.07106",\
                 "0.06988, 0.06983, 0.0697, 0.06953, 0.06946, 0.06943, 0.06942, 0.06942, 0.06939, 0.06934",\
                 "0.07373, 0.07352, 0.0729, 0.07212, 0.07133, 0.07056, 0.07011, 0.06978, 0.06952, 0.06931",\
                 "0.08728, 0.08661, 0.08479, 0.0823, 0.07978, 0.07758, 0.07567, 0.07414, 0.07296, 0.07209",\
                 "0.1134, 0.1122, 0.1088, 0.1037, 0.09824, 0.09314, 0.08874, 0.08517, 0.0821, 0.07972",\
                 "0.1539, 0.1522, 0.147, 0.1388, 0.1296, 0.1205, 0.1123, 0.1053, 0.0995, 0.09462",\
                 "0.2104, 0.2081, 0.2008, 0.1893, 0.1758, 0.1619, 0.1489, 0.1374, 0.1274, 0.1191",\
                 "0.2835, 0.2807, 0.2714, 0.2566, 0.2383, 0.2191, 0.2006, 0.1836, 0.1686, 0.1554",\
                 "0.3737, 0.3704, 0.3594, 0.3413, 0.3186, 0.2938, 0.2691, 0.2458, 0.2249, 0.2061");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2399, 0.2401, 0.2407, 0.2412, 0.2417, 0.2422, 0.2428, 0.2434, 0.2441, 0.2479",\
                 "0.2372, 0.2377, 0.2389, 0.2402, 0.2413, 0.2421, 0.2428, 0.2437, 0.2445, 0.248",\
                 "0.2329, 0.2333, 0.2347, 0.2366, 0.2384, 0.24, 0.2413, 0.2425, 0.244, 0.2477",\
                 "0.232, 0.2322, 0.2327, 0.234, 0.2357, 0.2375, 0.2392, 0.2408, 0.2424, 0.247",\
                 "0.2408, 0.2404, 0.2396, 0.2389, 0.2386, 0.2391, 0.2401, 0.2412, 0.2426, 0.2473",\
                 "0.2671, 0.2659, 0.2627, 0.2587, 0.2552, 0.2523, 0.2503, 0.2494, 0.249, 0.2537",\
                 "0.3141, 0.3119, 0.3058, 0.2973, 0.2889, 0.2817, 0.2753, 0.27, 0.2668, 0.2699",\
                 "0.381, 0.3782, 0.3693, 0.3563, 0.3423, 0.3294, 0.3178, 0.3077, 0.2995, 0.3011",\
                 "0.4667, 0.4635, 0.4527, 0.4356, 0.4161, 0.3968, 0.3792, 0.3633, 0.351, 0.3515",\
                 "0.5713, 0.5675, 0.5551, 0.5349, 0.5103, 0.4849, 0.4605, 0.4385, 0.4214, 0.4265");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.06739, 0.06739, 0.0673, 0.06727, 0.0673, 0.06726, 0.0673, 0.06733, 0.06733, 0.06734",\
                 "0.06588, 0.06583, 0.06578, 0.06573, 0.06571, 0.06574, 0.06577, 0.06582, 0.06584, 0.06579",\
                 "0.06447, 0.06441, 0.06429, 0.06411, 0.06396, 0.06391, 0.06387, 0.06384, 0.06381, 0.06379",\
                 "0.06801, 0.06772, 0.06699, 0.06613, 0.06533, 0.06464, 0.06415, 0.06382, 0.06357, 0.06342",\
                 "0.08136, 0.08056, 0.07853, 0.07578, 0.07309, 0.07082, 0.06901, 0.0676, 0.0665, 0.06567",\
                 "0.1073, 0.1061, 0.1021, 0.09641, 0.09058, 0.08543, 0.0811, 0.07761, 0.07476, 0.07247",\
                 "0.1479, 0.1459, 0.1398, 0.1307, 0.1208, 0.1115, 0.1033, 0.09639, 0.09083, 0.08621",\
                 "0.2043, 0.2015, 0.1931, 0.1803, 0.1657, 0.1513, 0.1381, 0.1267, 0.117, 0.109",\
                 "0.2768, 0.2736, 0.263, 0.2464, 0.2268, 0.2066, 0.1878, 0.1708, 0.1559, 0.1432",\
                 "0.3664, 0.3627, 0.35, 0.3299, 0.3052, 0.2792, 0.2537, 0.2305, 0.2094, 0.191");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2244, 0.2246, 0.2251, 0.2256, 0.2261, 0.2267, 0.2272, 0.2279, 0.2293, 0.2393",\
                 "0.2217, 0.2221, 0.2234, 0.2246, 0.2257, 0.2266, 0.2273, 0.228, 0.2297, 0.2399",\
                 "0.2174, 0.2178, 0.219, 0.2209, 0.2228, 0.2245, 0.2257, 0.227, 0.2288, 0.2397",\
                 "0.2163, 0.2165, 0.2171, 0.2184, 0.22, 0.2218, 0.2235, 0.2251, 0.2277, 0.2396",\
                 "0.2239, 0.2236, 0.2229, 0.2223, 0.2224, 0.2229, 0.224, 0.2251, 0.2274, 0.2408",\
                 "0.2478, 0.2467, 0.2438, 0.2403, 0.237, 0.2344, 0.2327, 0.2321, 0.2333, 0.2475",\
                 "0.2921, 0.29, 0.2841, 0.2762, 0.2687, 0.2616, 0.2558, 0.2512, 0.2497, 0.2658",\
                 "0.3567, 0.3538, 0.3452, 0.3326, 0.3194, 0.3072, 0.2964, 0.2868, 0.2816, 0.2989",\
                 "0.4407, 0.4372, 0.4263, 0.4097, 0.3907, 0.3723, 0.3558, 0.3408, 0.3324, 0.3544",\
                 "0.5436, 0.5396, 0.527, 0.5067, 0.4826, 0.458, 0.4347, 0.4145, 0.4045, 0.4375");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.06742, 0.06741, 0.06738, 0.06735, 0.06733, 0.06734, 0.06736, 0.06736, 0.06734, 0.06732",\
                 "0.06589, 0.06589, 0.06586, 0.06583, 0.06582, 0.06582, 0.06583, 0.06583, 0.06582, 0.06581",\
                 "0.06445, 0.06441, 0.06428, 0.06416, 0.06405, 0.06397, 0.06392, 0.06387, 0.06382, 0.0638",\
                 "0.06801, 0.06775, 0.06702, 0.06613, 0.06532, 0.06469, 0.06423, 0.06386, 0.06362, 0.06341",\
                 "0.0813, 0.08057, 0.07846, 0.07573, 0.07306, 0.0708, 0.06904, 0.0676, 0.06652, 0.0657",\
                 "0.1072, 0.1059, 0.1019, 0.09637, 0.09057, 0.08542, 0.0811, 0.07758, 0.07475, 0.07249",\
                 "0.1477, 0.1457, 0.1396, 0.1306, 0.1207, 0.1114, 0.1032, 0.09643, 0.09082, 0.08621",\
                 "0.2039, 0.2012, 0.1929, 0.1802, 0.1656, 0.1512, 0.1381, 0.1266, 0.117, 0.109",\
                 "0.2763, 0.2731, 0.2626, 0.2461, 0.2266, 0.2066, 0.1877, 0.1707, 0.1558, 0.1431",\
                 "0.3658, 0.362, 0.3496, 0.3296, 0.305, 0.279, 0.2536, 0.2303, 0.2093, 0.1908");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2532, 0.2533, 0.2538, 0.2542, 0.2548, 0.2553, 0.256, 0.2567, 0.2583, 0.2689",\
                 "0.2511, 0.2514, 0.2524, 0.2534, 0.2543, 0.2552, 0.2561, 0.2569, 0.2589, 0.2695",\
                 "0.2469, 0.2473, 0.2483, 0.25, 0.2517, 0.2532, 0.2546, 0.2559, 0.2581, 0.2695",\
                 "0.2452, 0.2454, 0.246, 0.2472, 0.2489, 0.2508, 0.2525, 0.2542, 0.2568, 0.2694",\
                 "0.2518, 0.2515, 0.251, 0.2507, 0.2508, 0.2516, 0.2528, 0.254, 0.2567, 0.2706",\
                 "0.274, 0.2731, 0.2707, 0.2677, 0.2648, 0.2626, 0.2613, 0.2609, 0.2622, 0.2777",\
                 "0.3162, 0.3144, 0.3093, 0.3024, 0.2958, 0.2893, 0.284, 0.2797, 0.279, 0.2954",\
                 "0.379, 0.3766, 0.369, 0.3576, 0.3454, 0.3341, 0.3236, 0.3147, 0.3104, 0.3295",\
                 "0.4618, 0.4586, 0.4488, 0.4334, 0.4158, 0.3983, 0.3825, 0.3679, 0.3606, 0.384",\
                 "0.5638, 0.5601, 0.5482, 0.5295, 0.5067, 0.4832, 0.4609, 0.4407, 0.4319, 0.4677");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.07254, 0.07258, 0.0725, 0.07246, 0.07248, 0.07249, 0.07259, 0.07255, 0.07259, 0.07256",\
                 "0.07111, 0.07116, 0.07106, 0.07101, 0.07102, 0.07102, 0.07113, 0.07111, 0.0711, 0.07112",\
                 "0.0695, 0.06948, 0.06943, 0.06933, 0.06931, 0.06931, 0.06934, 0.06937, 0.06934, 0.06934",\
                 "0.07244, 0.07225, 0.07182, 0.07123, 0.0707, 0.07014, 0.06979, 0.0695, 0.06932, 0.06913",\
                 "0.08526, 0.08471, 0.08321, 0.08097, 0.0788, 0.07683, 0.07522, 0.0738, 0.07273, 0.0719",\
                 "0.1112, 0.1102, 0.107, 0.1024, 0.09726, 0.09255, 0.0884, 0.08499, 0.0821, 0.07973",\
                 "0.1525, 0.1509, 0.1457, 0.1381, 0.1292, 0.1206, 0.1126, 0.1059, 0.1001, 0.09536",\
                 "0.2101, 0.2079, 0.2007, 0.1897, 0.1766, 0.1631, 0.1505, 0.1392, 0.1293, 0.121",\
                 "0.2851, 0.2824, 0.2733, 0.2586, 0.2409, 0.2221, 0.2038, 0.1872, 0.1722, 0.1592",\
                 "0.3781, 0.3748, 0.3639, 0.3459, 0.3233, 0.2989, 0.2747, 0.2517, 0.2308, 0.212");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2665, 0.2665, 0.2666, 0.2669, 0.2671, 0.2676, 0.2681, 0.269, 0.2702, 0.2735",\
                 "0.2646, 0.2647, 0.2651, 0.2657, 0.2661, 0.2667, 0.2673, 0.2681, 0.2693, 0.2725",\
                 "0.2622, 0.2624, 0.263, 0.2639, 0.2648, 0.2656, 0.2665, 0.2675, 0.2684, 0.2726",\
                 "0.2617, 0.2618, 0.2621, 0.2628, 0.2636, 0.2645, 0.2655, 0.2668, 0.2682, 0.2721",\
                 "0.2699, 0.2696, 0.2687, 0.2679, 0.2673, 0.2671, 0.2674, 0.2679, 0.2691, 0.2738",\
                 "0.2972, 0.296, 0.2927, 0.2888, 0.2846, 0.2813, 0.2788, 0.2772, 0.2768, 0.2806",\
                 "0.347, 0.3452, 0.3389, 0.3302, 0.3211, 0.3128, 0.3057, 0.3, 0.2957, 0.2987",\
                 "0.4181, 0.4154, 0.4071, 0.3941, 0.3791, 0.3647, 0.3515, 0.3401, 0.331, 0.3325",\
                 "0.5085, 0.5055, 0.4956, 0.4794, 0.4591, 0.438, 0.4183, 0.4002, 0.386, 0.3862",\
                 "0.6182, 0.6148, 0.6039, 0.5851, 0.5607, 0.5336, 0.5066, 0.4823, 0.4626, 0.4657");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.06736, 0.06733, 0.06733, 0.06729, 0.06723, 0.06724, 0.06729, 0.06736, 0.06736, 0.06734",\
                 "0.06591, 0.06587, 0.06585, 0.06577, 0.06578, 0.06575, 0.06577, 0.06578, 0.06585, 0.06581",\
                 "0.06414, 0.0641, 0.06404, 0.06397, 0.06384, 0.06382, 0.06383, 0.06384, 0.06378, 0.06383",\
                 "0.0667, 0.06653, 0.066, 0.06534, 0.06475, 0.06425, 0.06387, 0.06365, 0.06343, 0.0633",\
                 "0.07934, 0.07869, 0.07687, 0.07451, 0.07217, 0.07017, 0.06862, 0.06729, 0.06629, 0.06556",\
                 "0.1051, 0.1039, 0.1003, 0.09508, 0.08971, 0.08485, 0.08082, 0.07749, 0.07475, 0.07257",\
                 "0.1462, 0.1442, 0.1384, 0.1299, 0.1205, 0.1115, 0.1036, 0.09697, 0.09145, 0.08691",\
                 "0.2037, 0.201, 0.1928, 0.1804, 0.1664, 0.1525, 0.1396, 0.1283, 0.1189, 0.1108",\
                 "0.2782, 0.275, 0.2645, 0.2483, 0.229, 0.2095, 0.1909, 0.1742, 0.1594, 0.1468",\
                 "0.3705, 0.3667, 0.3541, 0.3341, 0.3097, 0.284, 0.2591, 0.2361, 0.2154, 0.1969");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.251, 0.2511, 0.2512, 0.2514, 0.2517, 0.2521, 0.2527, 0.2534, 0.2555, 0.2656",\
                 "0.2491, 0.2493, 0.2496, 0.2502, 0.2506, 0.2511, 0.2518, 0.2526, 0.2542, 0.2649",\
                 "0.2467, 0.2469, 0.2475, 0.2483, 0.2492, 0.2501, 0.251, 0.252, 0.2539, 0.265",\
                 "0.2461, 0.2461, 0.2465, 0.2471, 0.248, 0.249, 0.2501, 0.2512, 0.2535, 0.2655",\
                 "0.2531, 0.2528, 0.2522, 0.2514, 0.2509, 0.251, 0.2514, 0.252, 0.2542, 0.2677",\
                 "0.2776, 0.2766, 0.2738, 0.2699, 0.2664, 0.2634, 0.2614, 0.2601, 0.261, 0.2753",\
                 "0.3242, 0.3223, 0.3167, 0.3086, 0.3003, 0.2925, 0.2859, 0.2806, 0.279, 0.2946",\
                 "0.3926, 0.39, 0.3819, 0.3694, 0.3553, 0.342, 0.3297, 0.3188, 0.3132, 0.3306",\
                 "0.4809, 0.478, 0.4682, 0.452, 0.4325, 0.4127, 0.3938, 0.3771, 0.3672, 0.3892",\
                 "0.5888, 0.5854, 0.5742, 0.5557, 0.5316, 0.5054, 0.4798, 0.4566, 0.4451, 0.4785");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.06739, 0.06738, 0.06735, 0.06733, 0.06731, 0.06731, 0.06734, 0.06735, 0.06733, 0.06732",\
                 "0.06593, 0.06593, 0.06589, 0.06586, 0.06582, 0.06583, 0.06583, 0.06582, 0.06583, 0.06582",\
                 "0.06411, 0.06409, 0.06403, 0.06398, 0.06393, 0.06391, 0.0639, 0.06385, 0.0638, 0.06379",\
                 "0.06672, 0.06653, 0.06602, 0.06533, 0.06474, 0.06429, 0.06394, 0.06365, 0.06346, 0.06328",\
                 "0.07922, 0.07864, 0.07687, 0.07449, 0.07215, 0.07016, 0.06861, 0.06733, 0.06633, 0.06556",\
                 "0.1049, 0.1038, 0.1001, 0.09501, 0.08967, 0.08483, 0.08079, 0.07747, 0.07475, 0.07258",\
                 "0.146, 0.1441, 0.1383, 0.1298, 0.1204, 0.1114, 0.1036, 0.09693, 0.09144, 0.08689",\
                 "0.2033, 0.2007, 0.1926, 0.1803, 0.1663, 0.1524, 0.1396, 0.1284, 0.1188, 0.1108",\
                 "0.2778, 0.2745, 0.2642, 0.2481, 0.2289, 0.2093, 0.1908, 0.1741, 0.1594, 0.1467",\
                 "0.37, 0.3661, 0.3537, 0.3338, 0.3096, 0.2839, 0.259, 0.2361, 0.2153, 0.1968");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2795, 0.2795, 0.2796, 0.2798, 0.2801, 0.2807, 0.2811, 0.2819, 0.2834, 0.2943",\
                 "0.2778, 0.2779, 0.2783, 0.2787, 0.2791, 0.2796, 0.2802, 0.2811, 0.2828, 0.2938",\
                 "0.2756, 0.2758, 0.2763, 0.2771, 0.2778, 0.2787, 0.2795, 0.2804, 0.2823, 0.2939",\
                 "0.2747, 0.2748, 0.2751, 0.2757, 0.2766, 0.2776, 0.2785, 0.2796, 0.2819, 0.2943",\
                 "0.2809, 0.2808, 0.2802, 0.2796, 0.2794, 0.2795, 0.2798, 0.2805, 0.2827, 0.2965",\
                 "0.3038, 0.303, 0.3007, 0.2975, 0.2941, 0.2915, 0.2894, 0.2884, 0.2895, 0.3045",\
                 "0.3485, 0.3469, 0.3418, 0.3346, 0.3272, 0.3199, 0.3135, 0.3086, 0.3071, 0.3233",\
                 "0.4153, 0.413, 0.4056, 0.3942, 0.3811, 0.3685, 0.3567, 0.3462, 0.3409, 0.3594",\
                 "0.5025, 0.4998, 0.4906, 0.4757, 0.4571, 0.4382, 0.4202, 0.4039, 0.3949, 0.4179",\
                 "0.6096, 0.6064, 0.596, 0.5782, 0.5553, 0.5302, 0.5054, 0.4832, 0.4722, 0.5074");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.04227, 0.04221, 0.04227, 0.04226, 0.04227, 0.04231, 0.04237, 0.04236, 0.04238, 0.04238",\
                 "0.04216, 0.04218, 0.0422, 0.04218, 0.04225, 0.04231, 0.04233, 0.04235, 0.04239, 0.04241",\
                 "0.04255, 0.04254, 0.04248, 0.04239, 0.04237, 0.04241, 0.04242, 0.0424, 0.0424, 0.04243",\
                 "0.04821, 0.04797, 0.04731, 0.04642, 0.0456, 0.04485, 0.04428, 0.04388, 0.04356, 0.04334",\
                 "0.06341, 0.06284, 0.0609, 0.05825, 0.05554, 0.0531, 0.05102, 0.04935, 0.04805, 0.04701",\
                 "0.09063, 0.08939, 0.0859, 0.08087, 0.0752, 0.06994, 0.0653, 0.0615, 0.0583, 0.05572",\
                 "0.1311, 0.1294, 0.1242, 0.1162, 0.1071, 0.09808, 0.08991, 0.0828, 0.0768, 0.07171",\
                 "0.1857, 0.1835, 0.1766, 0.1658, 0.1527, 0.1394, 0.1269, 0.1156, 0.1057, 0.09731",\
                 "0.2549, 0.2523, 0.2441, 0.2304, 0.2135, 0.1956, 0.1781, 0.1618, 0.1474, 0.1345",\
                 "0.3396, 0.3366, 0.3268, 0.3108, 0.2902, 0.2676, 0.2447, 0.2232, 0.2031, 0.1853");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1989, 0.199, 0.1993, 0.1996, 0.2001, 0.2003, 0.201, 0.2016, 0.2024, 0.2029",\
                 "0.1972, 0.1974, 0.198, 0.1987, 0.1994, 0.2, 0.2005, 0.2014, 0.2022, 0.2033",\
                 "0.1953, 0.1954, 0.1961, 0.197, 0.198, 0.199, 0.1998, 0.2009, 0.2018, 0.2031",\
                 "0.1985, 0.1984, 0.1981, 0.198, 0.1983, 0.1989, 0.1998, 0.2006, 0.2015, 0.2031",\
                 "0.2139, 0.2132, 0.2111, 0.2087, 0.2065, 0.205, 0.2045, 0.2041, 0.2044, 0.2047",\
                 "0.2454, 0.2437, 0.2391, 0.2332, 0.2276, 0.2224, 0.2187, 0.2156, 0.2139, 0.2133",\
                 "0.2934, 0.291, 0.2839, 0.274, 0.2638, 0.2544, 0.2462, 0.2392, 0.2337, 0.2302",\
                 "0.357, 0.354, 0.345, 0.3312, 0.316, 0.3017, 0.2889, 0.2772, 0.2668, 0.2599",\
                 "0.4368, 0.4335, 0.4226, 0.4055, 0.3857, 0.3656, 0.3475, 0.3305, 0.3158, 0.3057",\
                 "0.5336, 0.5296, 0.5171, 0.4972, 0.4731, 0.4478, 0.4232, 0.4009, 0.3812, 0.3693");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.04245, 0.04251, 0.04248, 0.04248, 0.04252, 0.0426, 0.04259, 0.04265, 0.04262, 0.04264",\
                 "0.04273, 0.04284, 0.04282, 0.04282, 0.04288, 0.04294, 0.04298, 0.043, 0.04305, 0.04304",\
                 "0.04381, 0.0438, 0.04375, 0.04367, 0.04368, 0.04369, 0.04368, 0.04369, 0.0437, 0.04372",\
                 "0.04885, 0.04867, 0.04813, 0.04744, 0.04676, 0.04608, 0.04562, 0.04525, 0.04497, 0.04477",\
                 "0.0621, 0.06154, 0.0599, 0.05774, 0.05543, 0.05337, 0.05163, 0.05013, 0.04901, 0.04812",\
                 "0.08582, 0.08488, 0.08179, 0.07757, 0.0727, 0.06822, 0.06423, 0.06093, 0.05816, 0.05592",\
                 "0.1215, 0.12, 0.1155, 0.1085, 0.1007, 0.09302, 0.08594, 0.07971, 0.07456, 0.07013",\
                 "0.1698, 0.1679, 0.1619, 0.1523, 0.141, 0.1295, 0.1185, 0.1088, 0.1002, 0.09278",\
                 "0.2316, 0.2294, 0.2219, 0.2097, 0.1948, 0.179, 0.1638, 0.1496, 0.137, 0.1257",\
                 "0.3074, 0.3047, 0.2958, 0.2812, 0.2628, 0.2428, 0.2227, 0.2037, 0.1864, 0.1707");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1988, 0.199, 0.1992, 0.1996, 0.2, 0.2004, 0.201, 0.2018, 0.2023, 0.2056",\
                 "0.1972, 0.1975, 0.1981, 0.1987, 0.1994, 0.2001, 0.2007, 0.2013, 0.2021, 0.2052",\
                 "0.1951, 0.1954, 0.196, 0.197, 0.198, 0.199, 0.2, 0.2008, 0.2017, 0.2055",\
                 "0.1975, 0.1975, 0.1973, 0.1975, 0.1979, 0.1986, 0.1996, 0.2006, 0.2016, 0.2051",\
                 "0.2109, 0.2102, 0.2085, 0.2063, 0.2046, 0.2035, 0.2031, 0.2032, 0.2035, 0.2075",\
                 "0.239, 0.2376, 0.2335, 0.2283, 0.2231, 0.2187, 0.2153, 0.213, 0.2117, 0.2151",\
                 "0.2822, 0.2801, 0.2738, 0.2649, 0.2559, 0.2472, 0.2397, 0.2337, 0.2293, 0.2318",\
                 "0.3398, 0.3371, 0.3287, 0.3165, 0.303, 0.2901, 0.2781, 0.2676, 0.259, 0.2615",\
                 "0.4121, 0.4088, 0.3986, 0.3833, 0.3656, 0.3476, 0.3314, 0.316, 0.3036, 0.3069",\
                 "0.4998, 0.4961, 0.4842, 0.4659, 0.4443, 0.4215, 0.3998, 0.3802, 0.3649, 0.375");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.04254, 0.04251, 0.04248, 0.04252, 0.04256, 0.0426, 0.04261, 0.04262, 0.0426, 0.04259",\
                 "0.0428, 0.04281, 0.04284, 0.04287, 0.04291, 0.04295, 0.04298, 0.043, 0.04297, 0.04297",\
                 "0.04379, 0.04377, 0.04373, 0.04372, 0.04369, 0.0437, 0.0437, 0.04369, 0.04364, 0.04362",\
                 "0.04887, 0.04868, 0.04817, 0.04745, 0.04675, 0.04615, 0.04566, 0.04523, 0.04496, 0.04473",\
                 "0.06211, 0.06151, 0.05994, 0.05772, 0.05543, 0.05338, 0.05163, 0.05021, 0.04899, 0.0481",\
                 "0.08572, 0.08472, 0.08178, 0.07741, 0.07273, 0.06822, 0.06423, 0.06098, 0.05821, 0.05588",\
                 "0.1213, 0.1198, 0.1154, 0.1085, 0.1007, 0.09296, 0.0859, 0.0798, 0.07453, 0.07013",\
                 "0.1696, 0.1678, 0.1617, 0.1522, 0.141, 0.1295, 0.1185, 0.1087, 0.1002, 0.09276",\
                 "0.2314, 0.2291, 0.2217, 0.2096, 0.1947, 0.179, 0.1637, 0.1495, 0.1369, 0.1257",\
                 "0.307, 0.3044, 0.2957, 0.2811, 0.2628, 0.2428, 0.2227, 0.2037, 0.1863, 0.1706");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2292, 0.2293, 0.2295, 0.2299, 0.2302, 0.2307, 0.2313, 0.2322, 0.2331, 0.2366",\
                 "0.2279, 0.228, 0.2285, 0.2291, 0.2297, 0.2303, 0.231, 0.232, 0.2328, 0.2365",\
                 "0.2259, 0.226, 0.2265, 0.2274, 0.2284, 0.2293, 0.2303, 0.2314, 0.2326, 0.2364",\
                 "0.2276, 0.2274, 0.2275, 0.2277, 0.2281, 0.229, 0.2298, 0.231, 0.2321, 0.2366",\
                 "0.2395, 0.2391, 0.2376, 0.236, 0.2345, 0.2338, 0.2333, 0.2335, 0.2339, 0.2384",\
                 "0.2659, 0.2647, 0.2615, 0.2569, 0.2524, 0.2485, 0.2452, 0.2431, 0.2421, 0.2457",\
                 "0.3075, 0.3057, 0.3002, 0.2925, 0.2842, 0.2761, 0.2694, 0.2634, 0.2598, 0.2628",\
                 "0.3638, 0.3613, 0.354, 0.343, 0.3306, 0.3185, 0.3072, 0.2968, 0.2892, 0.2916",\
                 "0.435, 0.4322, 0.4229, 0.4089, 0.3923, 0.3755, 0.3597, 0.3446, 0.3333, 0.3373",\
                 "0.5217, 0.5182, 0.5076, 0.4905, 0.4699, 0.4486, 0.4276, 0.4083, 0.3941, 0.4052");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.03712, 0.03713, 0.0371, 0.03709, 0.03713, 0.03717, 0.03717, 0.03718, 0.0372, 0.03718",\
                 "0.03674, 0.03671, 0.03672, 0.03672, 0.03677, 0.03681, 0.0368, 0.03681, 0.03684, 0.03683",\
                 "0.0368, 0.03675, 0.03662, 0.03647, 0.03636, 0.03628, 0.03626, 0.03627, 0.03622, 0.03622",\
                 "0.04233, 0.04201, 0.04115, 0.04012, 0.03913, 0.03831, 0.03771, 0.03729, 0.03695, 0.03676",\
                 "0.05763, 0.05686, 0.05454, 0.05149, 0.04853, 0.04594, 0.04386, 0.04221, 0.04092, 0.03993",\
                 "0.08487, 0.08347, 0.07934, 0.0736, 0.06752, 0.062, 0.05739, 0.0536, 0.05048, 0.04794",\
                 "0.1253, 0.1233, 0.1173, 0.1083, 0.09853, 0.08914, 0.08077, 0.07366, 0.0678, 0.0629",\
                 "0.1797, 0.1771, 0.1693, 0.1571, 0.1431, 0.1291, 0.1162, 0.1049, 0.09515, 0.08688",\
                 "0.2487, 0.2457, 0.2361, 0.2208, 0.2025, 0.1835, 0.1656, 0.1491, 0.1346, 0.122",\
                 "0.3327, 0.3293, 0.3182, 0.3001, 0.2776, 0.2536, 0.23, 0.2079, 0.1879, 0.1702");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1834, 0.1835, 0.1837, 0.1842, 0.1845, 0.1849, 0.1854, 0.1859, 0.1867, 0.19",\
                 "0.1817, 0.182, 0.1825, 0.1832, 0.1839, 0.1846, 0.1851, 0.1857, 0.1864, 0.1894",\
                 "0.1798, 0.18, 0.1806, 0.1815, 0.1826, 0.1836, 0.1843, 0.185, 0.186, 0.189",\
                 "0.1825, 0.1824, 0.1821, 0.1822, 0.1826, 0.1832, 0.184, 0.1848, 0.1862, 0.1892",\
                 "0.1966, 0.1959, 0.1939, 0.1917, 0.1898, 0.1886, 0.188, 0.1879, 0.1883, 0.1915",\
                 "0.2267, 0.225, 0.2206, 0.2152, 0.2099, 0.2051, 0.2014, 0.1988, 0.1973, 0.1995",\
                 "0.2734, 0.271, 0.2642, 0.2546, 0.2449, 0.2361, 0.2279, 0.2211, 0.2162, 0.2174",\
                 "0.3364, 0.3334, 0.3242, 0.3107, 0.296, 0.2822, 0.2696, 0.2582, 0.2487, 0.2483",\
                 "0.4156, 0.4119, 0.4009, 0.384, 0.3645, 0.3451, 0.3274, 0.3111, 0.2972, 0.2958",\
                 "0.5112, 0.5072, 0.4945, 0.4744, 0.4505, 0.4255, 0.4019, 0.3808, 0.3631, 0.3673");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.03739, 0.03739, 0.03733, 0.03732, 0.03737, 0.03738, 0.03741, 0.03743, 0.03743, 0.03742",\
                 "0.03736, 0.03739, 0.03731, 0.03735, 0.03736, 0.03742, 0.03741, 0.03743, 0.03746, 0.03747",\
                 "0.038, 0.03801, 0.03789, 0.03773, 0.03761, 0.03756, 0.03753, 0.03753, 0.03752, 0.03751",\
                 "0.04304, 0.04276, 0.04203, 0.04116, 0.04031, 0.03966, 0.03909, 0.03871, 0.03841, 0.03821",\
                 "0.05634, 0.05567, 0.05374, 0.05117, 0.0486, 0.04644, 0.04466, 0.04315, 0.04207, 0.0412",\
                 "0.08021, 0.07902, 0.07546, 0.07061, 0.06541, 0.06068, 0.05661, 0.05331, 0.05062, 0.04836",\
                 "0.116, 0.1142, 0.109, 0.1013, 0.09277, 0.08463, 0.07742, 0.07122, 0.06605, 0.06179",\
                 "0.1643, 0.1621, 0.1551, 0.1445, 0.1323, 0.1201, 0.1089, 0.09899, 0.09045, 0.0832",\
                 "0.226, 0.2233, 0.2146, 0.2012, 0.185, 0.1684, 0.1527, 0.1383, 0.1257, 0.1145",\
                 "0.3014, 0.2983, 0.2882, 0.2719, 0.252, 0.2307, 0.21, 0.1907, 0.1731, 0.1575");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1834, 0.1835, 0.1838, 0.1842, 0.1845, 0.185, 0.1854, 0.1861, 0.1875, 0.1971",\
                 "0.1817, 0.182, 0.1826, 0.1834, 0.184, 0.1846, 0.1852, 0.1859, 0.1875, 0.1972",\
                 "0.1797, 0.1799, 0.1805, 0.1815, 0.1825, 0.1835, 0.1844, 0.1853, 0.187, 0.1975",\
                 "0.1816, 0.1815, 0.1814, 0.1816, 0.1823, 0.1829, 0.1838, 0.1847, 0.1866, 0.1978",\
                 "0.1938, 0.1933, 0.1915, 0.1895, 0.1881, 0.1872, 0.1867, 0.1869, 0.1885, 0.2009",\
                 "0.2205, 0.2191, 0.2152, 0.2103, 0.2056, 0.2013, 0.1983, 0.1961, 0.1964, 0.2097",\
                 "0.2627, 0.2606, 0.2543, 0.2458, 0.2372, 0.2289, 0.2217, 0.2161, 0.2137, 0.2285",\
                 "0.3197, 0.3169, 0.3085, 0.2965, 0.2834, 0.2708, 0.2594, 0.2487, 0.2434, 0.2613",\
                 "0.3914, 0.3881, 0.3778, 0.3623, 0.345, 0.3277, 0.312, 0.297, 0.289, 0.3134",\
                 "0.4785, 0.4747, 0.4627, 0.444, 0.4227, 0.4006, 0.3796, 0.3607, 0.3531, 0.3928");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.03742, 0.0374, 0.03736, 0.03736, 0.03738, 0.0374, 0.03742, 0.03743, 0.03742, 0.0374",\
                 "0.0374, 0.0374, 0.03738, 0.03739, 0.0374, 0.03742, 0.03744, 0.03746, 0.03744, 0.03744",\
                 "0.038, 0.03795, 0.03784, 0.03775, 0.03765, 0.0376, 0.03756, 0.03753, 0.03749, 0.03746",\
                 "0.04302, 0.04275, 0.04204, 0.04115, 0.0403, 0.03964, 0.0391, 0.03872, 0.03843, 0.03819",\
                 "0.05629, 0.05562, 0.05371, 0.05117, 0.0486, 0.04642, 0.04464, 0.04322, 0.04207, 0.0412",\
                 "0.08009, 0.07895, 0.07543, 0.07056, 0.0654, 0.06063, 0.05663, 0.05334, 0.05066, 0.0484",\
                 "0.1158, 0.114, 0.1088, 0.1012, 0.09274, 0.08461, 0.07741, 0.07126, 0.06607, 0.06175",\
                 "0.164, 0.1619, 0.155, 0.1444, 0.1322, 0.1201, 0.1089, 0.09898, 0.09045, 0.08321",\
                 "0.2256, 0.223, 0.2144, 0.201, 0.185, 0.1684, 0.1527, 0.1382, 0.1256, 0.1146",\
                 "0.3009, 0.2979, 0.2879, 0.2717, 0.2519, 0.2307, 0.21, 0.1907, 0.173, 0.1575");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2138, 0.2139, 0.2141, 0.2144, 0.2148, 0.2153, 0.2159, 0.2166, 0.2184, 0.2285",\
                 "0.2124, 0.2126, 0.2131, 0.2137, 0.2142, 0.2149, 0.2157, 0.2165, 0.2182, 0.2286",\
                 "0.2104, 0.2106, 0.2111, 0.212, 0.2131, 0.2139, 0.2149, 0.2159, 0.2179, 0.2288",\
                 "0.2117, 0.2117, 0.2117, 0.2119, 0.2125, 0.2134, 0.2143, 0.2154, 0.2175, 0.2295",\
                 "0.2225, 0.222, 0.2208, 0.2194, 0.218, 0.2175, 0.2173, 0.2175, 0.2195, 0.2326",\
                 "0.2476, 0.2465, 0.2434, 0.2391, 0.2349, 0.2312, 0.2285, 0.2266, 0.2271, 0.2412",\
                 "0.2881, 0.2864, 0.281, 0.2735, 0.2655, 0.258, 0.2514, 0.246, 0.2442, 0.2599",\
                 "0.3436, 0.3413, 0.3339, 0.3231, 0.311, 0.2993, 0.2882, 0.2783, 0.274, 0.2928",\
                 "0.4144, 0.4114, 0.4022, 0.3882, 0.3719, 0.3556, 0.3401, 0.3258, 0.3187, 0.3451",\
                 "0.5002, 0.4968, 0.486, 0.4692, 0.4487, 0.4277, 0.4073, 0.389, 0.3824, 0.4249");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.03717, 0.03718, 0.03714, 0.03715, 0.03716, 0.03718, 0.0372, 0.0372, 0.03719, 0.03718",\
                 "0.03674, 0.03677, 0.03676, 0.03676, 0.03678, 0.0368, 0.03683, 0.03683, 0.03682, 0.03679",\
                 "0.03681, 0.03673, 0.03663, 0.0365, 0.03639, 0.03632, 0.03627, 0.03624, 0.03619, 0.03617",\
                 "0.04232, 0.042, 0.04116, 0.04012, 0.03909, 0.03834, 0.03774, 0.03729, 0.03697, 0.0367",\
                 "0.05753, 0.05676, 0.05452, 0.05145, 0.04848, 0.04593, 0.04387, 0.04224, 0.04092, 0.03995",\
                 "0.08469, 0.08332, 0.07927, 0.07348, 0.06746, 0.06204, 0.05738, 0.05356, 0.05051, 0.04794",\
                 "0.125, 0.1231, 0.1171, 0.1082, 0.09844, 0.08903, 0.08071, 0.07366, 0.06777, 0.06288",\
                 "0.1793, 0.1768, 0.169, 0.1569, 0.143, 0.129, 0.1161, 0.1048, 0.09509, 0.08684",\
                 "0.2481, 0.2452, 0.2357, 0.2206, 0.2023, 0.1834, 0.1653, 0.149, 0.1345, 0.1219",\
                 "0.3322, 0.3288, 0.3178, 0.2998, 0.2774, 0.2534, 0.2298, 0.2078, 0.1878, 0.17");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.212, 0.2121, 0.2123, 0.2127, 0.2131, 0.2136, 0.2142, 0.2149, 0.2158, 0.2191",\
                 "0.2107, 0.2108, 0.2113, 0.2119, 0.2126, 0.2132, 0.2139, 0.2147, 0.2158, 0.2189",\
                 "0.2087, 0.2088, 0.2094, 0.2103, 0.2113, 0.2123, 0.2131, 0.2141, 0.2152, 0.2187",\
                 "0.2107, 0.2106, 0.2105, 0.2107, 0.2112, 0.2119, 0.2129, 0.2138, 0.2152, 0.2188",\
                 "0.2235, 0.2231, 0.2215, 0.2196, 0.2182, 0.2171, 0.2167, 0.2169, 0.2173, 0.2211",\
                 "0.2518, 0.2505, 0.2468, 0.2422, 0.2373, 0.2332, 0.2298, 0.2274, 0.226, 0.2291",\
                 "0.2969, 0.2949, 0.2888, 0.2804, 0.2714, 0.263, 0.2555, 0.2494, 0.2449, 0.2469",\
                 "0.3584, 0.356, 0.3477, 0.3355, 0.3218, 0.3088, 0.297, 0.286, 0.2771, 0.2778",\
                 "0.4365, 0.4333, 0.4234, 0.4076, 0.3895, 0.371, 0.354, 0.3378, 0.3251, 0.3256",\
                 "0.5312, 0.5277, 0.5159, 0.4973, 0.4745, 0.4509, 0.4279, 0.407, 0.3903, 0.3955");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.03743, 0.03742, 0.03737, 0.03737, 0.03739, 0.03742, 0.03743, 0.03744, 0.03743, 0.03743",\
                 "0.0374, 0.0374, 0.0374, 0.03739, 0.0374, 0.03743, 0.03744, 0.03746, 0.03744, 0.03742",\
                 "0.03802, 0.03796, 0.03787, 0.03775, 0.03766, 0.03759, 0.03757, 0.03751, 0.03749, 0.03745",\
                 "0.04301, 0.04274, 0.04205, 0.04114, 0.0403, 0.03964, 0.03914, 0.03871, 0.03841, 0.03816",\
                 "0.05622, 0.05562, 0.05368, 0.05115, 0.04861, 0.04643, 0.04468, 0.04321, 0.04205, 0.04119",\
                 "0.08008, 0.07893, 0.0754, 0.07053, 0.06538, 0.06064, 0.05666, 0.05332, 0.05062, 0.04837",\
                 "0.1157, 0.114, 0.1089, 0.1012, 0.09272, 0.08463, 0.07735, 0.07124, 0.06606, 0.06179",\
                 "0.164, 0.1618, 0.1549, 0.1444, 0.1322, 0.12, 0.1088, 0.09898, 0.09046, 0.08321",\
                 "0.2256, 0.2229, 0.2143, 0.201, 0.1849, 0.1683, 0.1526, 0.1381, 0.1255, 0.1146",\
                 "0.3009, 0.2978, 0.2878, 0.2716, 0.2518, 0.2306, 0.2099, 0.1906, 0.173, 0.1574");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.212, 0.2121, 0.2124, 0.2127, 0.2132, 0.2136, 0.2142, 0.215, 0.2166, 0.227",\
                 "0.2107, 0.2108, 0.2113, 0.2119, 0.2125, 0.2132, 0.214, 0.2147, 0.2166, 0.227",\
                 "0.2087, 0.2088, 0.2094, 0.2102, 0.2111, 0.2123, 0.2132, 0.2142, 0.216, 0.2271",\
                 "0.21, 0.2099, 0.2099, 0.2102, 0.2107, 0.2116, 0.2126, 0.2137, 0.2158, 0.2275",\
                 "0.2208, 0.2205, 0.2192, 0.2177, 0.2164, 0.2157, 0.2156, 0.2158, 0.2177, 0.2308",\
                 "0.246, 0.2449, 0.2418, 0.2375, 0.2332, 0.2295, 0.2267, 0.225, 0.2253, 0.2393",\
                 "0.2866, 0.2848, 0.2795, 0.2718, 0.2639, 0.2563, 0.2497, 0.2443, 0.2425, 0.2584",\
                 "0.3422, 0.3398, 0.3325, 0.3215, 0.3094, 0.2975, 0.2866, 0.2769, 0.2722, 0.2914",\
                 "0.4129, 0.41, 0.4006, 0.3864, 0.3704, 0.3542, 0.3384, 0.3243, 0.3174, 0.3436",\
                 "0.4988, 0.4954, 0.4845, 0.4675, 0.4472, 0.426, 0.4056, 0.3874, 0.3809, 0.423");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.03743, 0.03739, 0.03736, 0.03736, 0.03738, 0.0374, 0.03742, 0.03743, 0.03743, 0.03741",\
                 "0.03739, 0.03739, 0.0374, 0.03739, 0.0374, 0.03742, 0.03744, 0.03746, 0.03745, 0.03744",\
                 "0.03798, 0.03794, 0.03788, 0.03775, 0.03768, 0.03759, 0.03755, 0.03751, 0.03746, 0.03743",\
                 "0.04297, 0.04274, 0.04201, 0.04112, 0.0403, 0.03962, 0.03912, 0.03872, 0.03842, 0.03818",\
                 "0.05617, 0.05554, 0.05366, 0.05113, 0.04862, 0.04642, 0.04461, 0.04319, 0.04205, 0.04123",\
                 "0.07996, 0.0788, 0.07532, 0.07052, 0.06534, 0.06062, 0.05665, 0.05331, 0.05061, 0.04838",\
                 "0.1155, 0.1138, 0.1087, 0.1011, 0.09268, 0.08457, 0.07733, 0.07121, 0.06601, 0.06175",\
                 "0.1638, 0.1616, 0.1548, 0.1443, 0.1321, 0.12, 0.1088, 0.09896, 0.09046, 0.08316",\
                 "0.2253, 0.2226, 0.2142, 0.2008, 0.1848, 0.1683, 0.1526, 0.1382, 0.1256, 0.1146",\
                 "0.3006, 0.2975, 0.2876, 0.2715, 0.2517, 0.2306, 0.2099, 0.1906, 0.173, 0.1574");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2423, 0.2424, 0.2426, 0.2429, 0.2433, 0.2438, 0.2444, 0.2451, 0.2465, 0.2574",\
                 "0.2412, 0.2413, 0.2417, 0.2422, 0.2429, 0.2435, 0.2441, 0.2449, 0.2468, 0.2574",\
                 "0.2392, 0.2393, 0.2399, 0.2406, 0.2415, 0.2424, 0.2433, 0.2444, 0.2464, 0.2575",\
                 "0.24, 0.24, 0.2402, 0.2405, 0.241, 0.2419, 0.2428, 0.2438, 0.2459, 0.2579",\
                 "0.25, 0.2496, 0.2486, 0.2474, 0.2463, 0.2458, 0.2457, 0.246, 0.2477, 0.2613",\
                 "0.2736, 0.2727, 0.2701, 0.2665, 0.2626, 0.2592, 0.2565, 0.2549, 0.2553, 0.2703",\
                 "0.3127, 0.3111, 0.3065, 0.2998, 0.2924, 0.2854, 0.279, 0.2739, 0.2725, 0.2891",\
                 "0.3669, 0.3648, 0.3582, 0.3484, 0.3373, 0.3261, 0.3157, 0.3061, 0.3018, 0.3219",\
                 "0.4365, 0.4336, 0.4254, 0.4124, 0.3972, 0.3817, 0.3667, 0.353, 0.3465, 0.374",\
                 "0.5214, 0.5182, 0.5083, 0.4923, 0.4732, 0.4531, 0.4335, 0.4156, 0.41, 0.454");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1087, 0.1211, 0.1639, 0.2457, 0.3727, 0.5506, 0.7849, 1.08, 1.44, 1.869",\
                 "0.1209, 0.1333, 0.1767, 0.2588, 0.3859, 0.564, 0.7982, 1.093, 1.454, 1.882",\
                 "0.1593, 0.1744, 0.2224, 0.3047, 0.4318, 0.6101, 0.8444, 1.139, 1.499, 1.928",\
                 "0.1828, 0.2035, 0.2695, 0.3773, 0.5196, 0.698, 0.9316, 1.226, 1.586, 2.014",\
                 "0.1775, 0.2047, 0.2899, 0.4275, 0.6076, 0.8231, 1.07, 1.363, 1.721, 2.149",\
                 "0.1373, 0.1709, 0.2777, 0.4474, 0.6663, 0.9262, 1.223, 1.552, 1.916, 2.343",\
                 "0.0603, 0.1004, 0.228, 0.4314, 0.6917, 0.9977, 1.344, 1.728, 2.147, 2.598",\
                 "-0.0566, -0.0093, 0.1388, 0.3744, 0.6795, 1.033, 1.431, 1.869, 2.347, 2.862",\
                 "-0.2167, -0.1619, 0.0071, 0.2761, 0.6232, 1.029, 1.48, 1.975, 2.511, 3.088",\
                 "-0.4207, -0.3594, -0.1695, 0.1343, 0.5231, 0.9786, 1.487, 2.041, 2.636, 3.273");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2241, 0.2558, 0.3672, 0.5788, 0.9066, 1.366, 1.969, 2.729, 3.657, 4.766",\
                 "0.2324, 0.2646, 0.3776, 0.591, 0.9208, 1.381, 1.986, 2.747, 3.676, 4.779",\
                 "0.2882, 0.3184, 0.4278, 0.6398, 0.9697, 1.43, 2.036, 2.798, 3.725, 4.83",\
                 "0.4122, 0.4446, 0.5523, 0.755, 1.078, 1.536, 2.138, 2.899, 3.825, 4.93",\
                 "0.5736, 0.6115, 0.7364, 0.9535, 1.269, 1.717, 2.313, 3.068, 3.991, 5.093",\
                 "0.7778, 0.8208, 0.9609, 1.204, 1.547, 1.991, 2.576, 3.322, 4.238, 5.335",\
                 "1.023, 1.072, 1.231, 1.498, 1.875, 2.356, 2.941, 3.675, 4.581, 5.667",\
                 "1.31, 1.367, 1.548, 1.845, 2.251, 2.772, 3.401, 4.138, 5.031, 6.107",\
                 "1.639, 1.704, 1.91, 2.243, 2.683, 3.238, 3.914, 4.7, 5.599, 6.661",\
                 "2.016, 2.089, 2.32, 2.689, 3.17, 3.763, 4.478, 5.318, 6.27, 7.341");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1416, 0.1623, 0.2355, 0.3748, 0.5919, 0.8964, 1.296, 1.801, 2.418, 3.152",\
                 "0.1412, 0.1621, 0.2354, 0.375, 0.5927, 0.8964, 1.296, 1.801, 2.417, 3.152",\
                 "0.1759, 0.1935, 0.2514, 0.3764, 0.5909, 0.8965, 1.296, 1.801, 2.418, 3.153",\
                 "0.2493, 0.2711, 0.3421, 0.4622, 0.6333, 0.9029, 1.296, 1.801, 2.417, 3.151",\
                 "0.3477, 0.3741, 0.4571, 0.5964, 0.791, 1.032, 1.355, 1.811, 2.417, 3.151",\
                 "0.469, 0.5, 0.6014, 0.7608, 0.977, 1.251, 1.576, 1.965, 2.484, 3.162",\
                 "0.6062, 0.6466, 0.7666, 0.9558, 1.199, 1.496, 1.855, 2.273, 2.745, 3.33",\
                 "0.7656, 0.8108, 0.9524, 1.175, 1.451, 1.779, 2.165, 2.618, 3.132, 3.701",\
                 "0.9398, 0.9956, 1.16, 1.414, 1.732, 2.101, 2.517, 2.999, 3.553, 4.166",\
                 "1.129, 1.193, 1.387, 1.675, 2.035, 2.446, 2.909, 3.42, 4.006, 4.662");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.4003, 0.4577, 0.6567, 1.031, 1.606, 2.409, 3.47, 4.803, 6.424, 8.371",\
                 "0.3969, 0.4557, 0.6562, 1.031, 1.607, 2.412, 3.468, 4.798, 6.431, 8.366",\
                 "0.3863, 0.4451, 0.6515, 1.03, 1.605, 2.409, 3.468, 4.802, 6.428, 8.373",\
                 "0.4384, 0.4872, 0.6627, 1.021, 1.604, 2.41, 3.466, 4.804, 6.431, 8.364",\
                 "0.5094, 0.5648, 0.7514, 1.077, 1.607, 2.407, 3.471, 4.806, 6.431, 8.373",\
                 "0.6116, 0.6658, 0.8546, 1.208, 1.711, 2.434, 3.471, 4.803, 6.43, 8.36",\
                 "0.7444, 0.8004, 0.9926, 1.349, 1.888, 2.584, 3.534, 4.805, 6.431, 8.373",\
                 "0.8992, 0.9626, 1.162, 1.521, 2.077, 2.816, 3.724, 4.907, 6.447, 8.375",\
                 "1.073, 1.141, 1.363, 1.732, 2.285, 3.054, 4.014, 5.147, 6.588, 8.411",\
                 "1.263, 1.339, 1.578, 1.98, 2.542, 3.313, 4.315, 5.494, 6.879, 8.59");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1087, 0.1212, 0.164, 0.2456, 0.3727, 0.5508, 0.7846, 1.08, 1.439, 1.869",\
                 "0.1208, 0.1334, 0.1767, 0.2588, 0.3859, 0.5643, 0.7984, 1.094, 1.454, 1.883",\
                 "0.1599, 0.1749, 0.2228, 0.3051, 0.4322, 0.6102, 0.8448, 1.139, 1.5, 1.929",\
                 "0.1834, 0.2042, 0.2702, 0.3781, 0.5202, 0.6987, 0.9321, 1.226, 1.586, 2.015",\
                 "0.1758, 0.2028, 0.2884, 0.4267, 0.607, 0.8231, 1.07, 1.363, 1.722, 2.15",\
                 "0.129, 0.1635, 0.2707, 0.442, 0.6627, 0.924, 1.222, 1.551, 1.916, 2.342",\
                 "0.041, 0.082, 0.211, 0.4179, 0.6818, 0.9901, 1.339, 1.725, 2.144, 2.597",\
                 "-0.0919, -0.0435, 0.108, 0.3481, 0.658, 1.017, 1.419, 1.861, 2.341, 2.857",\
                 "-0.2721, -0.2168, -0.0429, 0.2324, 0.5871, 0.9993, 1.457, 1.957, 2.496, 3.077",\
                 "-0.5024, -0.4397, -0.2444, 0.0668, 0.4655, 0.9311, 1.449, 2.009, 2.612, 3.255");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2434, 0.2811, 0.4139, 0.6673, 1.06, 1.611, 2.334, 3.245, 4.355, 5.681",\
                 "0.2505, 0.2888, 0.4228, 0.6785, 1.074, 1.625, 2.349, 3.26, 4.371, 5.697",\
                 "0.3064, 0.3418, 0.4714, 0.7252, 1.121, 1.673, 2.399, 3.31, 4.422, 5.748",\
                 "0.439, 0.4754, 0.5966, 0.8387, 1.227, 1.775, 2.497, 3.407, 4.519, 5.843",\
                 "0.6147, 0.6566, 0.7959, 1.039, 1.414, 1.952, 2.666, 3.57, 4.677, 5.999",\
                 "0.837, 0.8833, 1.038, 1.31, 1.697, 2.221, 2.924, 3.819, 4.917, 6.232",\
                 "1.106, 1.159, 1.331, 1.627, 2.05, 2.593, 3.284, 4.164, 5.251, 6.555",\
                 "1.421, 1.482, 1.677, 2, 2.453, 3.04, 3.751, 4.621, 5.692, 6.983",\
                 "1.786, 1.855, 2.074, 2.431, 2.915, 3.538, 4.301, 5.192, 6.253, 7.527",\
                 "2.204, 2.281, 2.525, 2.919, 3.443, 4.1, 4.905, 5.852, 6.936, 8.198");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1416, 0.1624, 0.2353, 0.3751, 0.5928, 0.8963, 1.296, 1.8, 2.415, 3.152",\
                 "0.1413, 0.1621, 0.2354, 0.3747, 0.591, 0.8966, 1.297, 1.801, 2.417, 3.152",\
                 "0.1753, 0.1932, 0.2512, 0.3763, 0.5909, 0.8958, 1.295, 1.8, 2.417, 3.152",\
                 "0.248, 0.2699, 0.3413, 0.4621, 0.6329, 0.9028, 1.296, 1.801, 2.417, 3.152",\
                 "0.345, 0.3712, 0.4567, 0.5972, 0.7912, 1.032, 1.355, 1.81, 2.417, 3.151",\
                 "0.4628, 0.4956, 0.5976, 0.7606, 0.9782, 1.251, 1.578, 1.966, 2.484, 3.162",\
                 "0.5998, 0.6394, 0.7624, 0.9544, 1.2, 1.5, 1.858, 2.276, 2.748, 3.331",\
                 "0.7582, 0.8044, 0.9496, 1.173, 1.454, 1.786, 2.173, 2.629, 3.137, 3.704",\
                 "0.931, 0.9864, 1.157, 1.414, 1.735, 2.106, 2.528, 3.01, 3.56, 4.174",\
                 "1.119, 1.185, 1.384, 1.677, 2.04, 2.454, 2.922, 3.436, 4.02, 4.673");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.4827, 0.5542, 0.7998, 1.25, 1.941, 2.908, 4.173, 5.767, 7.716, 10.02",\
                 "0.4768, 0.5506, 0.7983, 1.252, 1.94, 2.905, 4.171, 5.768, 7.701, 10.04",\
                 "0.4599, 0.5347, 0.7908, 1.25, 1.943, 2.906, 4.174, 5.768, 7.711, 10.04",\
                 "0.4989, 0.5602, 0.784, 1.239, 1.938, 2.905, 4.174, 5.766, 7.716, 10.03",\
                 "0.5676, 0.6338, 0.8578, 1.264, 1.928, 2.901, 4.173, 5.763, 7.717, 10.03",\
                 "0.662, 0.7252, 0.9536, 1.376, 1.993, 2.904, 4.171, 5.758, 7.708, 10.04",\
                 "0.7884, 0.852, 1.078, 1.507, 2.147, 3.001, 4.181, 5.769, 7.7, 10.03",\
                 "0.9428, 1.011, 1.236, 1.661, 2.323, 3.2, 4.315, 5.801, 7.717, 10.03",\
                 "1.115, 1.19, 1.435, 1.856, 2.518, 3.433, 4.562, 5.968, 7.774, 10.04",\
                 "1.303, 1.388, 1.65, 2.093, 2.748, 3.675, 4.857, 6.258, 7.976, 10.12");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1125, 0.1252, 0.1687, 0.2517, 0.3802, 0.5597, 0.7946, 1.09, 1.45, 1.879",\
                 "0.1248, 0.1375, 0.1815, 0.2647, 0.3935, 0.5732, 0.8082, 1.103, 1.463, 1.892",\
                 "0.1653, 0.1802, 0.2279, 0.3111, 0.4398, 0.6194, 0.8543, 1.149, 1.509, 1.938",\
                 "0.1931, 0.2137, 0.2791, 0.3865, 0.5285, 0.7078, 0.9418, 1.236, 1.596, 2.025",\
                 "0.1918, 0.2183, 0.3028, 0.4398, 0.6191, 0.8344, 1.08, 1.374, 1.732, 2.16",\
                 "0.155, 0.188, 0.2927, 0.4608, 0.6787, 0.9381, 1.234, 1.562, 1.926, 2.352",\
                 "0.0785, 0.117, 0.2415, 0.4429, 0.7021, 1.007, 1.353, 1.738, 2.157, 2.607",\
                 "-0.0423, 0.0029, 0.1463, 0.38, 0.683, 1.038, 1.436, 1.876, 2.355, 2.87",\
                 "-0.2105, -0.1594, 0.0044, 0.2703, 0.6172, 1.024, 1.479, 1.975, 2.513, 3.091",\
                 "-0.4282, -0.371, -0.1874, 0.112, 0.5007, 0.9606, 1.472, 2.03, 2.629, 3.271");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3272, 0.3656, 0.4992, 0.7527, 1.146, 1.696, 2.42, 3.329, 4.442, 5.764",\
                 "0.3359, 0.3743, 0.5092, 0.7646, 1.159, 1.711, 2.435, 3.345, 4.456, 5.781",\
                 "0.3869, 0.4243, 0.5571, 0.8116, 1.207, 1.758, 2.483, 3.394, 4.506, 5.832",\
                 "0.518, 0.5526, 0.676, 0.9224, 1.312, 1.86, 2.582, 3.493, 4.602, 5.927",\
                 "0.7058, 0.7458, 0.8795, 1.119, 1.497, 2.035, 2.751, 3.655, 4.762, 6.082",\
                 "0.9383, 0.9823, 1.132, 1.397, 1.776, 2.303, 3.007, 3.902, 5, 6.316",\
                 "1.22, 1.27, 1.432, 1.721, 2.136, 2.674, 3.365, 4.246, 5.334, 6.636",\
                 "1.553, 1.608, 1.789, 2.1, 2.546, 3.126, 3.832, 4.702, 5.776, 7.066",\
                 "1.935, 1.997, 2.199, 2.539, 3.013, 3.631, 4.386, 5.272, 6.333, 7.609",\
                 "2.37, 2.44, 2.664, 3.039, 3.547, 4.196, 4.996, 5.937, 7.015, 8.279");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1823, 0.2037, 0.2773, 0.4169, 0.6344, 0.9391, 1.339, 1.844, 2.458, 3.195",\
                 "0.1824, 0.2036, 0.2774, 0.4168, 0.6344, 0.9385, 1.338, 1.845, 2.46, 3.195",\
                 "0.22, 0.2355, 0.2933, 0.4185, 0.6342, 0.9391, 1.339, 1.842, 2.459, 3.192",\
                 "0.3093, 0.3286, 0.3934, 0.5073, 0.6759, 0.9453, 1.339, 1.845, 2.461, 3.194",\
                 "0.4275, 0.4494, 0.5233, 0.6536, 0.8406, 1.076, 1.398, 1.855, 2.46, 3.195",\
                 "0.57, 0.5962, 0.6832, 0.8304, 1.037, 1.303, 1.624, 2.008, 2.528, 3.206",\
                 "0.7354, 0.767, 0.8688, 1.041, 1.27, 1.559, 1.914, 2.323, 2.79, 3.377",\
                 "0.9242, 0.9584, 1.078, 1.277, 1.537, 1.855, 2.232, 2.677, 3.186, 3.749",\
                 "1.129, 1.172, 1.311, 1.536, 1.832, 2.186, 2.596, 3.07, 3.613, 4.224",\
                 "1.351, 1.401, 1.562, 1.818, 2.153, 2.546, 2.999, 3.505, 4.08, 4.731");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.6063, 0.6765, 0.9169, 1.364, 2.053, 3.016, 4.282, 5.874, 7.819, 10.13",\
                 "0.6036, 0.6748, 0.9166, 1.364, 2.053, 3.016, 4.282, 5.872, 7.814, 10.13",\
                 "0.5913, 0.6647, 0.9118, 1.363, 2.053, 3.016, 4.28, 5.872, 7.816, 10.13",\
                 "0.5991, 0.6639, 0.8963, 1.356, 2.052, 3.016, 4.281, 5.874, 7.815, 10.13",\
                 "0.6732, 0.7392, 0.955, 1.365, 2.045, 3.015, 4.281, 5.874, 7.818, 10.13",\
                 "0.7604, 0.827, 1.058, 1.471, 2.091, 3.012, 4.279, 5.873, 7.817, 10.13",\
                 "0.883, 0.9466, 1.178, 1.609, 2.241, 3.098, 4.289, 5.871, 7.816, 10.13",\
                 "1.037, 1.103, 1.33, 1.763, 2.426, 3.295, 4.414, 5.899, 7.816, 10.13",\
                 "1.214, 1.286, 1.524, 1.952, 2.62, 3.532, 4.656, 6.062, 7.867, 10.14",\
                 "1.41, 1.49, 1.747, 2.183, 2.844, 3.778, 4.952, 6.351, 8.068, 10.21");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1087, 0.1211, 0.1639, 0.2457, 0.3727, 0.5506, 0.7849, 1.08, 1.44, 1.869",\
                 "0.1209, 0.1333, 0.1767, 0.2588, 0.3859, 0.564, 0.7982, 1.093, 1.454, 1.882",\
                 "0.1593, 0.1744, 0.2224, 0.3047, 0.4318, 0.6101, 0.8444, 1.139, 1.499, 1.928",\
                 "0.1828, 0.2035, 0.2695, 0.3773, 0.5196, 0.698, 0.9316, 1.226, 1.586, 2.014",\
                 "0.1775, 0.2047, 0.2899, 0.4275, 0.6076, 0.8231, 1.07, 1.363, 1.721, 2.149",\
                 "0.1373, 0.1709, 0.2777, 0.4474, 0.6663, 0.9262, 1.223, 1.552, 1.916, 2.343",\
                 "0.0603, 0.1004, 0.228, 0.4314, 0.6917, 0.9977, 1.344, 1.728, 2.147, 2.598",\
                 "-0.0566, -0.0093, 0.1388, 0.3744, 0.6795, 1.033, 1.431, 1.869, 2.347, 2.862",\
                 "-0.2167, -0.1619, 0.0071, 0.2761, 0.6232, 1.029, 1.48, 1.975, 2.511, 3.088",\
                 "-0.4207, -0.3594, -0.1695, 0.1343, 0.5231, 0.9786, 1.487, 2.041, 2.636, 3.273");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3272, 0.3656, 0.4992, 0.7527, 1.146, 1.696, 2.42, 3.329, 4.442, 5.764",\
                 "0.3359, 0.3743, 0.5092, 0.7646, 1.159, 1.711, 2.435, 3.345, 4.456, 5.781",\
                 "0.3869, 0.4243, 0.5571, 0.8116, 1.207, 1.758, 2.483, 3.394, 4.506, 5.832",\
                 "0.518, 0.5526, 0.676, 0.9224, 1.312, 1.86, 2.582, 3.493, 4.602, 5.927",\
                 "0.7058, 0.7458, 0.8795, 1.119, 1.497, 2.035, 2.751, 3.655, 4.762, 6.082",\
                 "0.9383, 0.9823, 1.132, 1.397, 1.776, 2.303, 3.007, 3.902, 5, 6.316",\
                 "1.22, 1.27, 1.432, 1.721, 2.136, 2.674, 3.365, 4.246, 5.334, 6.636",\
                 "1.553, 1.608, 1.789, 2.1, 2.546, 3.126, 3.832, 4.702, 5.776, 7.066",\
                 "1.935, 1.997, 2.199, 2.539, 3.013, 3.631, 4.386, 5.272, 6.333, 7.609",\
                 "2.37, 2.44, 2.664, 3.039, 3.547, 4.196, 4.996, 5.937, 7.015, 8.279");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1823, 0.2037, 0.2773, 0.4169, 0.6344, 0.9391, 1.339, 1.844, 2.458, 3.195",\
                 "0.1824, 0.2036, 0.2774, 0.4168, 0.6344, 0.9385, 1.338, 1.845, 2.46, 3.195",\
                 "0.22, 0.2355, 0.2933, 0.4185, 0.6342, 0.9391, 1.339, 1.842, 2.459, 3.192",\
                 "0.3093, 0.3286, 0.3934, 0.5073, 0.6759, 0.9453, 1.339, 1.845, 2.461, 3.194",\
                 "0.4275, 0.4494, 0.5233, 0.6536, 0.8406, 1.076, 1.398, 1.855, 2.46, 3.195",\
                 "0.57, 0.5962, 0.6832, 0.8304, 1.037, 1.303, 1.624, 2.008, 2.528, 3.206",\
                 "0.7354, 0.767, 0.8688, 1.041, 1.27, 1.559, 1.914, 2.323, 2.79, 3.377",\
                 "0.9242, 0.9584, 1.078, 1.277, 1.537, 1.855, 2.232, 2.677, 3.186, 3.749",\
                 "1.129, 1.172, 1.311, 1.536, 1.832, 2.186, 2.596, 3.07, 3.613, 4.224",\
                 "1.351, 1.401, 1.562, 1.818, 2.153, 2.546, 2.999, 3.505, 4.08, 4.731");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.6063, 0.6765, 0.9169, 1.364, 2.053, 3.016, 4.282, 5.874, 7.819, 10.13",\
                 "0.6036, 0.6748, 0.9166, 1.364, 2.053, 3.016, 4.282, 5.872, 7.814, 10.13",\
                 "0.5913, 0.6647, 0.9118, 1.363, 2.053, 3.016, 4.28, 5.872, 7.816, 10.13",\
                 "0.5991, 0.6639, 0.8963, 1.356, 2.052, 3.016, 4.281, 5.874, 7.815, 10.13",\
                 "0.6732, 0.7392, 0.955, 1.365, 2.045, 3.015, 4.281, 5.874, 7.818, 10.13",\
                 "0.7604, 0.827, 1.058, 1.471, 2.091, 3.012, 4.279, 5.873, 7.817, 10.13",\
                 "0.883, 0.9466, 1.178, 1.609, 2.241, 3.098, 4.289, 5.871, 7.816, 10.13",\
                 "1.037, 1.103, 1.33, 1.763, 2.426, 3.295, 4.414, 5.899, 7.816, 10.13",\
                 "1.214, 1.286, 1.524, 1.952, 2.62, 3.532, 4.656, 6.062, 7.867, 10.14",\
                 "1.41, 1.49, 1.747, 2.183, 2.844, 3.778, 4.952, 6.351, 8.068, 10.21");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1223, 0.1346, 0.1776, 0.2593, 0.386, 0.5641, 0.798, 1.093, 1.454, 1.883",\
                 "0.1326, 0.1452, 0.1887, 0.2708, 0.3979, 0.5761, 0.8105, 1.106, 1.466, 1.895",\
                 "0.1556, 0.1697, 0.2165, 0.2996, 0.427, 0.6056, 0.8399, 1.135, 1.495, 1.925",\
                 "0.1681, 0.1861, 0.2438, 0.3416, 0.4793, 0.6592, 0.8935, 1.188, 1.548, 1.977",\
                 "0.1513, 0.1747, 0.2494, 0.3698, 0.5298, 0.7315, 0.9769, 1.272, 1.632, 2.06",\
                 "0.0959, 0.1256, 0.2195, 0.3688, 0.561, 0.7915, 1.064, 1.382, 1.75, 2.178",\
                 "-0.0014, 0.0345, 0.1475, 0.3282, 0.5586, 0.8282, 1.134, 1.484, 1.882, 2.331",\
                 "-0.1442, -0.1017, 0.0314, 0.2427, 0.5133, 0.8269, 1.178, 1.566, 1.998, 2.481",\
                 "-0.335, -0.2865, -0.1333, 0.1096, 0.4197, 0.7817, 1.182, 1.619, 2.093, 2.612",\
                 "-0.5752, -0.521, -0.3494, -0.0743, 0.2764, 0.6843, 1.138, 1.628, 2.155, 2.721");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2789, 0.3105, 0.4212, 0.6324, 0.96, 1.419, 2.023, 2.782, 3.713, 4.816",\
                 "0.2885, 0.3203, 0.4319, 0.6435, 0.972, 1.431, 2.036, 2.797, 3.723, 4.829",\
                 "0.3458, 0.3768, 0.4864, 0.6966, 1.024, 1.484, 2.088, 2.847, 3.775, 4.881",\
                 "0.4777, 0.5087, 0.6122, 0.8151, 1.138, 1.592, 2.193, 2.953, 3.878, 4.982",\
                 "0.6576, 0.6923, 0.8105, 1.018, 1.331, 1.778, 2.372, 3.125, 4.048, 5.148",\
                 "0.8833, 0.9222, 1.053, 1.285, 1.617, 2.056, 2.639, 3.383, 4.297, 5.392",\
                 "1.159, 1.204, 1.348, 1.6, 1.963, 2.431, 3.009, 3.741, 4.645, 5.729",\
                 "1.486, 1.537, 1.698, 1.972, 2.36, 2.866, 3.482, 4.212, 5.102, 6.174",\
                 "1.866, 1.922, 2.102, 2.404, 2.819, 3.355, 4.015, 4.787, 5.679, 6.737",\
                 "2.3, 2.363, 2.562, 2.895, 3.345, 3.91, 4.606, 5.426, 6.364, 7.427");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1413, 0.1623, 0.2355, 0.3748, 0.5926, 0.8962, 1.296, 1.801, 2.417, 3.151",\
                 "0.1412, 0.1623, 0.2353, 0.3747, 0.5924, 0.8967, 1.296, 1.801, 2.417, 3.152",\
                 "0.1646, 0.183, 0.2464, 0.3762, 0.5922, 0.8966, 1.296, 1.801, 2.418, 3.151",\
                 "0.2252, 0.2441, 0.3086, 0.4322, 0.6212, 0.9037, 1.296, 1.801, 2.416, 3.152",\
                 "0.3173, 0.3383, 0.4068, 0.5312, 0.7204, 0.9872, 1.34, 1.814, 2.416, 3.151",\
                 "0.4302, 0.455, 0.5356, 0.6712, 0.863, 1.128, 1.477, 1.915, 2.473, 3.169",\
                 "0.5628, 0.5924, 0.6874, 0.8436, 1.052, 1.32, 1.665, 2.103, 2.637, 3.281",\
                 "0.7126, 0.75, 0.8576, 1.036, 1.271, 1.558, 1.906, 2.342, 2.876, 3.514",\
                 "0.8754, 0.9172, 1.047, 1.25, 1.515, 1.829, 2.202, 2.64, 3.168, 3.802",\
                 "1.047, 1.097, 1.251, 1.488, 1.783, 2.133, 2.533, 2.993, 3.525, 4.153");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.4916, 0.5488, 0.7472, 1.119, 1.694, 2.5, 3.559, 4.89, 6.52, 8.453",\
                 "0.4903, 0.5478, 0.7471, 1.119, 1.694, 2.5, 3.559, 4.893, 6.516, 8.456",\
                 "0.4821, 0.5414, 0.7444, 1.119, 1.694, 2.5, 3.558, 4.889, 6.515, 8.453",\
                 "0.5125, 0.5623, 0.7443, 1.113, 1.693, 2.499, 3.558, 4.891, 6.516, 8.455",\
                 "0.5876, 0.6428, 0.8266, 1.154, 1.694, 2.498, 3.558, 4.891, 6.518, 8.453",\
                 "0.6776, 0.7346, 0.929, 1.28, 1.784, 2.519, 3.556, 4.889, 6.517, 8.457",\
                 "0.7976, 0.8536, 1.051, 1.417, 1.957, 2.656, 3.609, 4.894, 6.517, 8.455",\
                 "0.9404, 1.002, 1.204, 1.573, 2.14, 2.88, 3.793, 4.982, 6.531, 8.454",\
                 "1.102, 1.17, 1.386, 1.765, 2.333, 3.111, 4.071, 5.215, 6.66, 8.484",\
                 "1.281, 1.354, 1.592, 1.99, 2.561, 3.352, 4.361, 5.547, 6.944, 8.662");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1223, 0.1346, 0.1776, 0.2593, 0.3862, 0.564, 0.7983, 1.093, 1.453, 1.882",\
                 "0.1327, 0.1453, 0.1887, 0.2709, 0.398, 0.5764, 0.8106, 1.106, 1.466, 1.895",\
                 "0.1562, 0.1702, 0.2169, 0.2999, 0.4274, 0.606, 0.8405, 1.136, 1.496, 1.925",\
                 "0.169, 0.187, 0.2447, 0.3424, 0.4799, 0.66, 0.894, 1.189, 1.549, 1.978",\
                 "0.1506, 0.1742, 0.2489, 0.3695, 0.5298, 0.7317, 0.9773, 1.272, 1.632, 2.06",\
                 "0.0907, 0.1208, 0.2149, 0.3649, 0.558, 0.7897, 1.062, 1.382, 1.75, 2.178",\
                 "-0.0151, 0.0212, 0.1355, 0.3176, 0.55, 0.8215, 1.13, 1.48, 1.879, 2.329",\
                 "-0.171, -0.1282, 0.007, 0.222, 0.496, 0.8132, 1.167, 1.558, 1.992, 2.476",\
                 "-0.3795, -0.3298, -0.1738, 0.0743, 0.3896, 0.7567, 1.161, 1.602, 2.08, 2.603",\
                 "-0.6418, -0.5868, -0.4105, -0.1288, 0.2298, 0.6444, 1.104, 1.6, 2.133, 2.703");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3088, 0.3464, 0.4786, 0.7314, 1.124, 1.674, 2.398, 3.309, 4.419, 5.745",\
                 "0.3175, 0.3552, 0.488, 0.7419, 1.135, 1.686, 2.41, 3.32, 4.432, 5.757",\
                 "0.3744, 0.411, 0.5416, 0.7934, 1.186, 1.736, 2.46, 3.372, 4.483, 5.808",\
                 "0.512, 0.5459, 0.6676, 0.9106, 1.297, 1.843, 2.564, 3.471, 4.583, 5.906",\
                 "0.7067, 0.7459, 0.8778, 1.114, 1.489, 2.024, 2.737, 3.64, 4.744, 6.065",\
                 "0.9496, 0.9926, 1.139, 1.4, 1.776, 2.299, 2.999, 3.891, 4.988, 6.3",\
                 "1.248, 1.295, 1.454, 1.735, 2.145, 2.677, 3.364, 4.243, 5.328, 6.628",\
                 "1.602, 1.656, 1.83, 2.133, 2.57, 3.142, 3.841, 4.706, 5.775, 7.064",\
                 "2.015, 2.075, 2.267, 2.596, 3.057, 3.663, 4.409, 5.289, 6.344, 7.615",\
                 "2.488, 2.553, 2.767, 3.126, 3.617, 4.251, 5.039, 5.97, 7.039, 8.296");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1413, 0.1623, 0.2354, 0.3748, 0.5925, 0.8956, 1.296, 1.801, 2.417, 3.15",\
                 "0.1413, 0.1622, 0.2354, 0.3748, 0.5927, 0.8966, 1.296, 1.801, 2.417, 3.152",\
                 "0.1643, 0.183, 0.2465, 0.3761, 0.5922, 0.8966, 1.296, 1.801, 2.417, 3.151",\
                 "0.224, 0.2433, 0.308, 0.4319, 0.621, 0.9029, 1.296, 1.801, 2.417, 3.151",\
                 "0.3142, 0.335, 0.405, 0.5302, 0.721, 0.9868, 1.34, 1.812, 2.416, 3.151",\
                 "0.4248, 0.4506, 0.5318, 0.6696, 0.8624, 1.13, 1.478, 1.914, 2.474, 3.167",\
                 "0.555, 0.5854, 0.6812, 0.8398, 1.051, 1.319, 1.667, 2.104, 2.639, 3.281",\
                 "0.7036, 0.7398, 0.8524, 1.032, 1.269, 1.559, 1.911, 2.345, 2.877, 3.515",\
                 "0.863, 0.9074, 1.042, 1.246, 1.512, 1.832, 2.206, 2.645, 3.174, 3.81",\
                 "1.036, 1.085, 1.244, 1.483, 1.781, 2.134, 2.537, 3.001, 3.533, 4.16");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5967, 0.6682, 0.9106, 1.359, 2.048, 3.012, 4.278, 5.872, 7.814, 10.13",\
                 "0.5945, 0.6656, 0.9098, 1.359, 2.048, 3.011, 4.278, 5.869, 7.814, 10.13",\
                 "0.5818, 0.6555, 0.905, 1.358, 2.048, 3.012, 4.278, 5.873, 7.814, 10.13",\
                 "0.595, 0.6587, 0.8906, 1.35, 2.047, 3.012, 4.278, 5.871, 7.817, 10.13",\
                 "0.6664, 0.7318, 0.9496, 1.361, 2.039, 3.011, 4.277, 5.871, 7.817, 10.13",\
                 "0.7462, 0.8138, 1.048, 1.464, 2.086, 3.008, 4.276, 5.871, 7.816, 10.13",\
                 "0.8568, 0.924, 1.157, 1.595, 2.232, 3.093, 4.286, 5.869, 7.814, 10.13",\
                 "0.995, 1.064, 1.297, 1.739, 2.407, 3.283, 4.407, 5.897, 7.815, 10.13",\
                 "1.156, 1.23, 1.472, 1.91, 2.588, 3.511, 4.642, 6.055, 7.863, 10.14",\
                 "1.333, 1.414, 1.674, 2.121, 2.796, 3.742, 4.928, 6.333, 8.058, 10.21");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1261, 0.1385, 0.1822, 0.2651, 0.3936, 0.5731, 0.8079, 1.103, 1.463, 1.892",\
                 "0.1365, 0.1492, 0.1933, 0.2767, 0.4056, 0.5852, 0.8202, 1.115, 1.475, 1.904",\
                 "0.1609, 0.175, 0.222, 0.306, 0.4351, 0.6149, 0.8501, 1.145, 1.505, 1.934",\
                 "0.1763, 0.1942, 0.2519, 0.35, 0.4883, 0.6693, 0.904, 1.199, 1.559, 1.988",\
                 "0.163, 0.1862, 0.2598, 0.3797, 0.5402, 0.7421, 0.9877, 1.283, 1.642, 2.071",\
                 "0.1106, 0.1395, 0.2316, 0.3797, 0.5714, 0.8019, 1.074, 1.393, 1.76, 2.188",\
                 "0.0147, 0.0491, 0.1597, 0.3382, 0.567, 0.836, 1.143, 1.492, 1.891, 2.34",\
                 "-0.1306, -0.09, 0.0389, 0.2477, 0.5171, 0.8307, 1.183, 1.571, 2.004, 2.487",\
                 "-0.3287, -0.2823, -0.134, 0.1059, 0.4151, 0.7773, 1.179, 1.617, 2.094, 2.616",\
                 "-0.5806, -0.5289, -0.3625, -0.0915, 0.2591, 0.6688, 1.125, 1.618, 2.148, 2.717");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3933, 0.4311, 0.5637, 0.8168, 1.21, 1.759, 2.482, 3.392, 4.503, 5.828",\
                 "0.4024, 0.4406, 0.574, 0.8275, 1.221, 1.771, 2.494, 3.405, 4.516, 5.841",\
                 "0.4571, 0.4946, 0.6265, 0.8788, 1.271, 1.822, 2.545, 3.457, 4.566, 5.892",\
                 "0.588, 0.6227, 0.7482, 0.9943, 1.382, 1.928, 2.648, 3.556, 4.666, 5.993",\
                 "0.7926, 0.8305, 0.9586, 1.194, 1.571, 2.108, 2.821, 3.723, 4.828, 6.148",\
                 "1.044, 1.086, 1.227, 1.483, 1.856, 2.38, 3.082, 3.974, 5.072, 6.384",\
                 "1.351, 1.396, 1.549, 1.827, 2.23, 2.757, 3.445, 4.325, 5.409, 6.711",\
                 "1.718, 1.767, 1.933, 2.228, 2.66, 3.225, 3.922, 4.786, 5.857, 7.146",\
                 "2.144, 2.199, 2.381, 2.697, 3.153, 3.753, 4.493, 5.369, 6.424, 7.697",\
                 "2.631, 2.692, 2.892, 3.236, 3.717, 4.346, 5.127, 6.052, 7.118, 8.375");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1825, 0.2036, 0.2773, 0.4169, 0.6337, 0.9393, 1.339, 1.844, 2.461, 3.192",\
                 "0.1825, 0.2037, 0.2773, 0.4168, 0.6341, 0.9393, 1.339, 1.843, 2.46, 3.195",\
                 "0.2076, 0.2249, 0.2887, 0.419, 0.6342, 0.939, 1.339, 1.845, 2.461, 3.192",\
                 "0.2764, 0.2941, 0.3555, 0.476, 0.664, 0.9468, 1.339, 1.844, 2.459, 3.195",\
                 "0.3821, 0.3999, 0.4625, 0.5804, 0.7676, 1.03, 1.383, 1.857, 2.46, 3.193",\
                 "0.5126, 0.5336, 0.6034, 0.7298, 0.9148, 1.177, 1.523, 1.959, 2.518, 3.209",\
                 "0.6648, 0.6892, 0.77, 0.9112, 1.11, 1.372, 1.717, 2.152, 2.682, 3.325",\
                 "0.8382, 0.8658, 0.9604, 1.12, 1.34, 1.619, 1.965, 2.394, 2.925, 3.56",\
                 "1.025, 1.059, 1.17, 1.351, 1.596, 1.901, 2.265, 2.7, 3.223, 3.855",\
                 "1.223, 1.264, 1.393, 1.603, 1.879, 2.213, 2.604, 3.059, 3.587, 4.211");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.717, 0.7861, 1.026, 1.473, 2.162, 3.126, 4.393, 5.984, 7.928, 10.24",\
                 "0.7155, 0.7852, 1.025, 1.472, 2.162, 3.126, 4.39, 5.984, 7.928, 10.24",\
                 "0.7078, 0.7793, 1.022, 1.472, 2.162, 3.125, 4.393, 5.986, 7.926, 10.24",\
                 "0.701, 0.7681, 1.007, 1.468, 2.161, 3.125, 4.392, 5.984, 7.928, 10.25",\
                 "0.7712, 0.8328, 1.048, 1.467, 2.155, 3.125, 4.391, 5.985, 7.931, 10.24",\
                 "0.8536, 0.9226, 1.152, 1.56, 2.188, 3.121, 4.39, 5.984, 7.93, 10.24",\
                 "0.9568, 1.026, 1.264, 1.698, 2.329, 3.193, 4.396, 5.983, 7.929, 10.25",\
                 "1.095, 1.164, 1.397, 1.843, 2.509, 3.379, 4.508, 6.005, 7.929, 10.24",\
                 "1.26, 1.331, 1.571, 2.011, 2.695, 3.611, 4.737, 6.154, 7.97, 10.25",\
                 "1.445, 1.522, 1.775, 2.218, 2.902, 3.846, 5.027, 6.427, 8.158, 10.32");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1223, 0.1346, 0.1776, 0.2593, 0.386, 0.5641, 0.798, 1.093, 1.454, 1.883",\
                 "0.1326, 0.1452, 0.1887, 0.2708, 0.3979, 0.5761, 0.8105, 1.106, 1.466, 1.895",\
                 "0.1556, 0.1697, 0.2165, 0.2996, 0.427, 0.6056, 0.8399, 1.135, 1.495, 1.925",\
                 "0.1681, 0.1861, 0.2438, 0.3416, 0.4793, 0.6592, 0.8935, 1.188, 1.548, 1.977",\
                 "0.1513, 0.1747, 0.2494, 0.3698, 0.5298, 0.7315, 0.9769, 1.272, 1.632, 2.06",\
                 "0.0959, 0.1256, 0.2195, 0.3688, 0.561, 0.7915, 1.064, 1.382, 1.75, 2.178",\
                 "-0.0014, 0.0345, 0.1475, 0.3282, 0.5586, 0.8282, 1.134, 1.484, 1.882, 2.331",\
                 "-0.1442, -0.1017, 0.0314, 0.2427, 0.5133, 0.8269, 1.178, 1.566, 1.998, 2.481",\
                 "-0.335, -0.2865, -0.1333, 0.1096, 0.4197, 0.7817, 1.182, 1.619, 2.093, 2.612",\
                 "-0.5752, -0.521, -0.3494, -0.0743, 0.2764, 0.6843, 1.138, 1.628, 2.155, 2.721");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3933, 0.4311, 0.5637, 0.8168, 1.21, 1.759, 2.482, 3.392, 4.503, 5.828",\
                 "0.4024, 0.4406, 0.574, 0.8275, 1.221, 1.771, 2.494, 3.405, 4.516, 5.841",\
                 "0.4571, 0.4946, 0.6265, 0.8788, 1.271, 1.822, 2.545, 3.457, 4.566, 5.892",\
                 "0.588, 0.6227, 0.7482, 0.9943, 1.382, 1.928, 2.648, 3.556, 4.666, 5.993",\
                 "0.7926, 0.8305, 0.9586, 1.194, 1.571, 2.108, 2.821, 3.723, 4.828, 6.148",\
                 "1.044, 1.086, 1.227, 1.483, 1.856, 2.38, 3.082, 3.974, 5.072, 6.384",\
                 "1.351, 1.396, 1.549, 1.827, 2.23, 2.757, 3.445, 4.325, 5.409, 6.711",\
                 "1.718, 1.767, 1.933, 2.228, 2.66, 3.225, 3.922, 4.786, 5.857, 7.146",\
                 "2.144, 2.199, 2.381, 2.697, 3.153, 3.753, 4.493, 5.369, 6.424, 7.697",\
                 "2.631, 2.692, 2.892, 3.236, 3.717, 4.346, 5.127, 6.052, 7.118, 8.375");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1825, 0.2036, 0.2773, 0.4169, 0.6337, 0.9393, 1.339, 1.844, 2.461, 3.192",\
                 "0.1825, 0.2037, 0.2773, 0.4168, 0.6341, 0.9393, 1.339, 1.843, 2.46, 3.195",\
                 "0.2076, 0.2249, 0.2887, 0.419, 0.6342, 0.939, 1.339, 1.845, 2.461, 3.192",\
                 "0.2764, 0.2941, 0.3555, 0.476, 0.664, 0.9468, 1.339, 1.844, 2.459, 3.195",\
                 "0.3821, 0.3999, 0.4625, 0.5804, 0.7676, 1.03, 1.383, 1.857, 2.46, 3.193",\
                 "0.5126, 0.5336, 0.6034, 0.7298, 0.9148, 1.177, 1.523, 1.959, 2.518, 3.209",\
                 "0.6648, 0.6892, 0.77, 0.9112, 1.11, 1.372, 1.717, 2.152, 2.682, 3.325",\
                 "0.8382, 0.8658, 0.9604, 1.12, 1.34, 1.619, 1.965, 2.394, 2.925, 3.56",\
                 "1.025, 1.059, 1.17, 1.351, 1.596, 1.901, 2.265, 2.7, 3.223, 3.855",\
                 "1.223, 1.264, 1.393, 1.603, 1.879, 2.213, 2.604, 3.059, 3.587, 4.211");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.717, 0.7861, 1.026, 1.473, 2.162, 3.126, 4.393, 5.984, 7.928, 10.24",\
                 "0.7155, 0.7852, 1.025, 1.472, 2.162, 3.126, 4.39, 5.984, 7.928, 10.24",\
                 "0.7078, 0.7793, 1.022, 1.472, 2.162, 3.125, 4.393, 5.986, 7.926, 10.24",\
                 "0.701, 0.7681, 1.007, 1.468, 2.161, 3.125, 4.392, 5.984, 7.928, 10.25",\
                 "0.7712, 0.8328, 1.048, 1.467, 2.155, 3.125, 4.391, 5.985, 7.931, 10.24",\
                 "0.8536, 0.9226, 1.152, 1.56, 2.188, 3.121, 4.39, 5.984, 7.93, 10.24",\
                 "0.9568, 1.026, 1.264, 1.698, 2.329, 3.193, 4.396, 5.983, 7.929, 10.25",\
                 "1.095, 1.164, 1.397, 1.843, 2.509, 3.379, 4.508, 6.005, 7.929, 10.24",\
                 "1.26, 1.331, 1.571, 2.011, 2.695, 3.611, 4.737, 6.154, 7.97, 10.25",\
                 "1.445, 1.522, 1.775, 2.218, 2.902, 3.846, 5.027, 6.427, 8.158, 10.32");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2101, 0.2249, 0.2754, 0.3666, 0.5031, 0.6887, 0.9287, 1.228, 1.592, 2.024",\
                 "0.2206, 0.2353, 0.2858, 0.377, 0.5135, 0.6991, 0.9392, 1.239, 1.602, 2.034",\
                 "0.2658, 0.28, 0.329, 0.4194, 0.5553, 0.7409, 0.981, 1.28, 1.644, 2.076",\
                 "0.3404, 0.3576, 0.4134, 0.5086, 0.6425, 0.8265, 1.066, 1.365, 1.728, 2.159",\
                 "0.3942, 0.4154, 0.4851, 0.603, 0.7652, 0.9645, 1.204, 1.501, 1.863, 2.293",\
                 "0.4225, 0.4468, 0.5314, 0.6731, 0.8655, 1.104, 1.382, 1.697, 2.058, 2.486",\
                 "0.4208, 0.4517, 0.5498, 0.7159, 0.9408, 1.217, 1.539, 1.903, 2.306, 2.745",\
                 "0.392, 0.4257, 0.5381, 0.7285, 0.9873, 1.302, 1.667, 2.079, 2.535, 3.033",\
                 "0.3327, 0.3698, 0.4959, 0.7095, 1.001, 1.357, 1.767, 2.227, 2.734, 3.288",\
                 "0.2428, 0.2844, 0.4228, 0.6588, 0.9846, 1.379, 1.835, 2.346, 2.905, 3.513");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.4438, 0.4763, 0.591, 0.8046, 1.136, 1.6, 2.208, 2.976, 3.912, 5.028",\
                 "0.4533, 0.4863, 0.6023, 0.819, 1.152, 1.617, 2.227, 2.995, 3.931, 5.048",\
                 "0.4891, 0.5228, 0.6388, 0.8571, 1.192, 1.66, 2.271, 3.041, 3.978, 5.096",\
                 "0.5474, 0.5819, 0.6984, 0.9155, 1.25, 1.718, 2.331, 3.101, 4.04, 5.158",\
                 "0.6229, 0.6591, 0.7837, 1.008, 1.342, 1.806, 2.416, 3.185, 4.123, 5.24",\
                 "0.7396, 0.7779, 0.9078, 1.14, 1.486, 1.949, 2.552, 3.314, 4.247, 5.361",\
                 "0.892, 0.9362, 1.081, 1.325, 1.677, 2.154, 2.759, 3.51, 4.433, 5.538",\
                 "1.08, 1.131, 1.291, 1.559, 1.928, 2.412, 3.03, 3.787, 4.697, 5.79",\
                 "1.299, 1.356, 1.536, 1.831, 2.229, 2.731, 3.357, 4.127, 5.047, 6.126",\
                 "1.548, 1.61, 1.81, 2.137, 2.57, 3.104, 3.746, 4.526, 5.46, 6.551");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2903, 0.3132, 0.393, 0.5388, 0.7613, 1.069, 1.471, 1.978, 2.595, 3.328",\
                 "0.2888, 0.3127, 0.3927, 0.539, 0.761, 1.069, 1.471, 1.978, 2.594, 3.329",\
                 "0.2818, 0.3049, 0.3858, 0.536, 0.7601, 1.068, 1.47, 1.976, 2.593, 3.329",\
                 "0.3639, 0.3851, 0.4522, 0.5696, 0.7664, 1.066, 1.471, 1.977, 2.595, 3.328",\
                 "0.4838, 0.5084, 0.587, 0.7198, 0.9036, 1.146, 1.497, 1.978, 2.594, 3.328",\
                 "0.6336, 0.6626, 0.7502, 0.8996, 1.105, 1.369, 1.686, 2.093, 2.636, 3.334",\
                 "0.8102, 0.8422, 0.9482, 1.115, 1.339, 1.626, 1.975, 2.385, 2.862, 3.468",\
                 "1.011, 1.049, 1.17, 1.361, 1.611, 1.918, 2.294, 2.736, 3.246, 3.813",\
                 "1.238, 1.282, 1.42, 1.638, 1.919, 2.253, 2.653, 3.122, 3.664, 4.278",\
                 "1.495, 1.541, 1.704, 1.946, 2.257, 2.629, 3.053, 3.549, 4.12, 4.768");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5068, 0.5615, 0.7565, 1.127, 1.702, 2.508, 3.568, 4.899, 6.525, 8.471",\
                 "0.5074, 0.5619, 0.7565, 1.126, 1.703, 2.506, 3.567, 4.901, 6.525, 8.471",\
                 "0.5096, 0.564, 0.7573, 1.127, 1.703, 2.507, 3.567, 4.9, 6.532, 8.468",\
                 "0.5381, 0.587, 0.767, 1.128, 1.702, 2.507, 3.565, 4.901, 6.53, 8.472",\
                 "0.6136, 0.663, 0.8396, 1.173, 1.715, 2.508, 3.569, 4.904, 6.531, 8.471",\
                 "0.7308, 0.7744, 0.9414, 1.274, 1.794, 2.546, 3.569, 4.903, 6.53, 8.471",\
                 "0.919, 0.9604, 1.106, 1.412, 1.925, 2.654, 3.639, 4.917, 6.53, 8.473",\
                 "1.134, 1.177, 1.325, 1.612, 2.091, 2.811, 3.774, 5.007, 6.558, 8.47",\
                 "1.368, 1.412, 1.569, 1.868, 2.327, 3.009, 3.966, 5.176, 6.687, 8.526",\
                 "1.616, 1.664, 1.834, 2.152, 2.625, 3.273, 4.195, 5.403, 6.883, 8.683");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1643, 0.1802, 0.2333, 0.3284, 0.4682, 0.6566, 0.8989, 1.2, 1.565, 1.997",\
                 "0.1757, 0.1914, 0.2443, 0.339, 0.4786, 0.6671, 0.9093, 1.21, 1.575, 2.008",\
                 "0.226, 0.2403, 0.2898, 0.382, 0.5206, 0.7087, 0.9508, 1.252, 1.617, 2.049",\
                 "0.2895, 0.3083, 0.3696, 0.471, 0.6085, 0.7939, 1.035, 1.335, 1.7, 2.132",\
                 "0.328, 0.352, 0.4285, 0.5558, 0.7252, 0.9307, 1.173, 1.471, 1.834, 2.265",\
                 "0.3374, 0.3661, 0.4591, 0.6132, 0.8156, 1.063, 1.346, 1.666, 2.028, 2.458",\
                 "0.3152, 0.3492, 0.4589, 0.6392, 0.8781, 1.165, 1.495, 1.865, 2.272, 2.715",\
                 "0.2606, 0.2993, 0.4249, 0.6321, 0.9082, 1.238, 1.614, 2.034, 2.496, 2.998",\
                 "0.1751, 0.2177, 0.3572, 0.5917, 0.9022, 1.276, 1.701, 2.171, 2.686, 3.246",\
                 "0.0569, 0.1038, 0.2568, 0.5141, 0.8617, 1.277, 1.752, 2.275, 2.845, 3.461");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5023, 0.5414, 0.676, 0.9299, 1.322, 1.872, 2.595, 3.506, 4.617, 5.942",\
                 "0.5099, 0.55, 0.6869, 0.9432, 1.338, 1.89, 2.614, 3.524, 4.637, 5.962",\
                 "0.5431, 0.5829, 0.721, 0.9797, 1.377, 1.931, 2.657, 3.57, 4.683, 6.008",\
                 "0.6003, 0.6402, 0.7769, 1.034, 1.431, 1.986, 2.713, 3.627, 4.741, 6.068",\
                 "0.6745, 0.7167, 0.859, 1.119, 1.512, 2.061, 2.787, 3.698, 4.812, 6.139",\
                 "0.7928, 0.8354, 0.9798, 1.245, 1.644, 2.186, 2.901, 3.808, 4.915, 6.237",\
                 "0.9492, 0.9977, 1.155, 1.426, 1.828, 2.377, 3.085, 3.977, 5.073, 6.388",\
                 "1.141, 1.197, 1.372, 1.665, 2.075, 2.626, 3.341, 4.224, 5.305, 6.603",\
                 "1.369, 1.43, 1.626, 1.948, 2.385, 2.943, 3.659, 4.55, 5.622, 6.901",\
                 "1.628, 1.696, 1.913, 2.268, 2.74, 3.326, 4.047, 4.941, 6.02, 7.292");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2607, 0.2847, 0.368, 0.5171, 0.7391, 1.047, 1.45, 1.956, 2.572, 3.305",\
                 "0.2571, 0.2823, 0.3664, 0.5163, 0.7395, 1.048, 1.45, 1.955, 2.573, 3.307",\
                 "0.259, 0.2797, 0.3565, 0.509, 0.7364, 1.046, 1.449, 1.955, 2.573, 3.308",\
                 "0.3557, 0.3763, 0.4433, 0.5579, 0.7463, 1.043, 1.448, 1.955, 2.572, 3.307",\
                 "0.4844, 0.5078, 0.5844, 0.7128, 0.8952, 1.134, 1.477, 1.957, 2.571, 3.307",\
                 "0.6432, 0.6714, 0.7588, 0.9042, 1.104, 1.362, 1.676, 2.077, 2.613, 3.312",\
                 "0.8316, 0.8648, 0.968, 1.132, 1.351, 1.627, 1.97, 2.377, 2.85, 3.452",\
                 "1.051, 1.089, 1.21, 1.395, 1.636, 1.937, 2.298, 2.736, 3.238, 3.804",\
                 "1.303, 1.344, 1.481, 1.694, 1.963, 2.289, 2.674, 3.131, 3.666, 4.272",\
                 "1.586, 1.638, 1.791, 2.036, 2.334, 2.685, 3.098, 3.575, 4.134, 4.775");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.513, 0.5786, 0.8103, 1.252, 1.942, 2.906, 4.166, 5.763, 7.707, 10.03",\
                 "0.5143, 0.5791, 0.8104, 1.253, 1.941, 2.901, 4.17, 5.769, 7.71, 10.02",\
                 "0.5165, 0.5812, 0.8104, 1.252, 1.941, 2.906, 4.165, 5.762, 7.707, 10.02",\
                 "0.536, 0.5964, 0.817, 1.253, 1.939, 2.906, 4.174, 5.759, 7.704, 10.03",\
                 "0.5962, 0.6586, 0.873, 1.283, 1.944, 2.904, 4.173, 5.758, 7.707, 10.02",\
                 "0.6864, 0.7428, 0.9518, 1.365, 2.001, 2.92, 4.167, 5.764, 7.703, 10.04",\
                 "0.8594, 0.9124, 1.095, 1.476, 2.107, 2.999, 4.205, 5.767, 7.7, 10.02",\
                 "1.075, 1.13, 1.312, 1.66, 2.249, 3.132, 4.306, 5.829, 7.728, 10.02",\
                 "1.309, 1.369, 1.562, 1.916, 2.462, 3.3, 4.464, 5.942, 7.793, 10.06",\
                 "1.563, 1.624, 1.836, 2.213, 2.759, 3.541, 4.664, 6.128, 7.938, 10.16");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1727, 0.1885, 0.242, 0.3377, 0.4781, 0.6669, 0.9091, 1.21, 1.575, 2.007",\
                 "0.1839, 0.1996, 0.2528, 0.3482, 0.4886, 0.6773, 0.9195, 1.22, 1.585, 2.018",\
                 "0.2335, 0.248, 0.2979, 0.3911, 0.5305, 0.7189, 0.961, 1.262, 1.626, 2.059",\
                 "0.3028, 0.3212, 0.381, 0.4812, 0.6184, 0.8041, 1.045, 1.345, 1.71, 2.142",\
                 "0.3494, 0.3721, 0.446, 0.5705, 0.7376, 0.9419, 1.183, 1.481, 1.844, 2.276",\
                 "0.367, 0.3942, 0.4832, 0.6326, 0.8328, 1.076, 1.359, 1.676, 2.039, 2.467",\
                 "0.3543, 0.3857, 0.489, 0.6636, 0.8986, 1.182, 1.509, 1.878, 2.283, 2.726",\
                 "0.3081, 0.344, 0.4621, 0.6625, 0.9319, 1.258, 1.63, 2.048, 2.508, 3.009",\
                 "0.2307, 0.2703, 0.4014, 0.6263, 0.9309, 1.298, 1.72, 2.187, 2.7, 3.259",\
                 "0.1219, 0.165, 0.3084, 0.5558, 0.8937, 1.304, 1.773, 2.294, 2.861, 3.475");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5843, 0.6234, 0.7572, 1.011, 1.404, 1.954, 2.677, 3.588, 4.7, 6.025",\
                 "0.5942, 0.6336, 0.7695, 1.025, 1.42, 1.971, 2.695, 3.607, 4.719, 6.045",\
                 "0.6276, 0.6676, 0.8044, 1.062, 1.46, 2.014, 2.739, 3.652, 4.766, 6.091",\
                 "0.6845, 0.7237, 0.8593, 1.116, 1.513, 2.068, 2.795, 3.71, 4.824, 6.151",\
                 "0.7624, 0.8034, 0.9432, 1.2, 1.593, 2.143, 2.868, 3.781, 4.895, 6.221",\
                 "0.8828, 0.9238, 1.065, 1.328, 1.724, 2.267, 2.983, 3.889, 4.997, 6.321",\
                 "1.049, 1.094, 1.243, 1.508, 1.909, 2.458, 3.164, 4.058, 5.155, 6.47",\
                 "1.254, 1.304, 1.469, 1.752, 2.157, 2.707, 3.421, 4.303, 5.386, 6.685",\
                 "1.494, 1.55, 1.734, 2.043, 2.469, 3.024, 3.739, 4.629, 5.701, 6.981",\
                 "1.767, 1.83, 2.032, 2.371, 2.83, 3.408, 4.127, 5.02, 6.099, 7.37");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3149, 0.3379, 0.4166, 0.5619, 0.7826, 1.089, 1.49, 1.996, 2.613, 3.347",\
                 "0.3116, 0.3349, 0.4144, 0.5605, 0.782, 1.089, 1.491, 1.996, 2.613, 3.347",\
                 "0.3118, 0.3318, 0.4057, 0.5543, 0.7804, 1.089, 1.49, 1.996, 2.613, 3.347",\
                 "0.4168, 0.4349, 0.4939, 0.6027, 0.791, 1.085, 1.489, 1.995, 2.613, 3.347",\
                 "0.5615, 0.5817, 0.6476, 0.7668, 0.941, 1.176, 1.519, 1.997, 2.613, 3.347",\
                 "0.7392, 0.7622, 0.837, 0.9694, 1.158, 1.409, 1.718, 2.119, 2.657, 3.354",\
                 "0.9486, 0.9742, 1.061, 1.208, 1.414, 1.685, 2.019, 2.42, 2.891, 3.494",\
                 "1.19, 1.222, 1.321, 1.485, 1.712, 1.998, 2.353, 2.784, 3.283, 3.844",\
                 "1.468, 1.501, 1.616, 1.803, 2.049, 2.36, 2.736, 3.188, 3.715, 4.318",\
                 "1.772, 1.815, 1.945, 2.152, 2.433, 2.767, 3.168, 3.636, 4.191, 4.827");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.617, 0.6845, 0.9173, 1.36, 2.048, 3.011, 4.277, 5.87, 7.813, 10.13",\
                 "0.6177, 0.6841, 0.9174, 1.36, 2.048, 3.011, 4.276, 5.868, 7.812, 10.13",\
                 "0.6187, 0.6847, 0.9176, 1.36, 2.048, 3.011, 4.276, 5.869, 7.816, 10.13",\
                 "0.629, 0.693, 0.9204, 1.361, 2.048, 3.011, 4.277, 5.869, 7.813, 10.13",\
                 "0.6898, 0.7518, 0.9662, 1.381, 2.051, 3.011, 4.276, 5.868, 7.814, 10.13",\
                 "0.7678, 0.8282, 1.046, 1.461, 2.1, 3.025, 4.277, 5.871, 7.814, 10.13",\
                 "0.9252, 0.978, 1.174, 1.566, 2.205, 3.099, 4.307, 5.873, 7.815, 10.13",\
                 "1.136, 1.195, 1.378, 1.736, 2.341, 3.229, 4.406, 5.924, 7.825, 10.13",\
                 "1.372, 1.433, 1.629, 1.985, 2.543, 3.394, 4.562, 6.046, 7.895, 10.15",\
                 "1.624, 1.689, 1.902, 2.278, 2.827, 3.625, 4.755, 6.227, 8.042, 10.25");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2101, 0.2249, 0.2754, 0.3666, 0.5031, 0.6887, 0.9287, 1.228, 1.592, 2.024",\
                 "0.2206, 0.2353, 0.2858, 0.377, 0.5135, 0.6991, 0.9392, 1.239, 1.602, 2.034",\
                 "0.2658, 0.28, 0.329, 0.4194, 0.5553, 0.7409, 0.981, 1.28, 1.644, 2.076",\
                 "0.3404, 0.3576, 0.4134, 0.5086, 0.6425, 0.8265, 1.066, 1.365, 1.728, 2.159",\
                 "0.3942, 0.4154, 0.4851, 0.603, 0.7652, 0.9645, 1.204, 1.501, 1.863, 2.293",\
                 "0.4225, 0.4468, 0.5314, 0.6731, 0.8655, 1.104, 1.382, 1.697, 2.058, 2.486",\
                 "0.4208, 0.4517, 0.5498, 0.7159, 0.9408, 1.217, 1.539, 1.903, 2.306, 2.745",\
                 "0.392, 0.4257, 0.5381, 0.7285, 0.9873, 1.302, 1.667, 2.079, 2.535, 3.033",\
                 "0.3327, 0.3698, 0.4959, 0.7095, 1.001, 1.357, 1.767, 2.227, 2.734, 3.288",\
                 "0.2428, 0.2844, 0.4228, 0.6588, 0.9846, 1.379, 1.835, 2.346, 2.905, 3.513");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5843, 0.6234, 0.7572, 1.011, 1.404, 1.954, 2.677, 3.588, 4.7, 6.025",\
                 "0.5942, 0.6336, 0.7695, 1.025, 1.42, 1.971, 2.695, 3.607, 4.719, 6.045",\
                 "0.6276, 0.6676, 0.8044, 1.062, 1.46, 2.014, 2.739, 3.652, 4.766, 6.091",\
                 "0.6845, 0.7237, 0.8593, 1.116, 1.513, 2.068, 2.795, 3.71, 4.824, 6.151",\
                 "0.7624, 0.8034, 0.9432, 1.2, 1.593, 2.143, 2.868, 3.781, 4.895, 6.221",\
                 "0.8828, 0.9238, 1.065, 1.328, 1.724, 2.267, 2.983, 3.889, 4.997, 6.321",\
                 "1.049, 1.094, 1.243, 1.508, 1.909, 2.458, 3.164, 4.058, 5.155, 6.47",\
                 "1.254, 1.304, 1.469, 1.752, 2.157, 2.707, 3.421, 4.303, 5.386, 6.685",\
                 "1.494, 1.55, 1.734, 2.043, 2.469, 3.024, 3.739, 4.629, 5.701, 6.981",\
                 "1.767, 1.83, 2.032, 2.371, 2.83, 3.408, 4.127, 5.02, 6.099, 7.37");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3149, 0.3379, 0.4166, 0.5619, 0.7826, 1.089, 1.49, 1.996, 2.613, 3.347",\
                 "0.3116, 0.3349, 0.4144, 0.5605, 0.782, 1.089, 1.491, 1.996, 2.613, 3.347",\
                 "0.3118, 0.3318, 0.4057, 0.5543, 0.7804, 1.089, 1.49, 1.996, 2.613, 3.347",\
                 "0.4168, 0.4349, 0.4939, 0.6027, 0.791, 1.085, 1.489, 1.995, 2.613, 3.347",\
                 "0.5615, 0.5817, 0.6476, 0.7668, 0.941, 1.176, 1.519, 1.997, 2.613, 3.347",\
                 "0.7392, 0.7622, 0.837, 0.9694, 1.158, 1.409, 1.718, 2.119, 2.657, 3.354",\
                 "0.9486, 0.9742, 1.061, 1.208, 1.414, 1.685, 2.019, 2.42, 2.891, 3.494",\
                 "1.19, 1.222, 1.321, 1.485, 1.712, 1.998, 2.353, 2.784, 3.283, 3.844",\
                 "1.468, 1.501, 1.616, 1.803, 2.049, 2.36, 2.736, 3.188, 3.715, 4.318",\
                 "1.772, 1.815, 1.945, 2.152, 2.433, 2.767, 3.168, 3.636, 4.191, 4.827");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.617, 0.6845, 0.9173, 1.36, 2.048, 3.011, 4.277, 5.87, 7.813, 10.13",\
                 "0.6177, 0.6841, 0.9174, 1.36, 2.048, 3.011, 4.276, 5.868, 7.812, 10.13",\
                 "0.6187, 0.6847, 0.9176, 1.36, 2.048, 3.011, 4.276, 5.869, 7.816, 10.13",\
                 "0.629, 0.693, 0.9204, 1.361, 2.048, 3.011, 4.277, 5.869, 7.813, 10.13",\
                 "0.6898, 0.7518, 0.9662, 1.381, 2.051, 3.011, 4.276, 5.868, 7.814, 10.13",\
                 "0.7678, 0.8282, 1.046, 1.461, 2.1, 3.025, 4.277, 5.871, 7.814, 10.13",\
                 "0.9252, 0.978, 1.174, 1.566, 2.205, 3.099, 4.307, 5.873, 7.815, 10.13",\
                 "1.136, 1.195, 1.378, 1.736, 2.341, 3.229, 4.406, 5.924, 7.825, 10.13",\
                 "1.372, 1.433, 1.629, 1.985, 2.543, 3.394, 4.562, 6.046, 7.895, 10.15",\
                 "1.624, 1.689, 1.902, 2.278, 2.827, 3.625, 4.755, 6.227, 8.042, 10.25");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2244, 0.2395, 0.29, 0.381, 0.5176, 0.7031, 0.9432, 1.243, 1.606, 2.038",\
                 "0.2339, 0.249, 0.2994, 0.3905, 0.5268, 0.7125, 0.9526, 1.252, 1.616, 2.047",\
                 "0.2616, 0.276, 0.3256, 0.4165, 0.5525, 0.7383, 0.9784, 1.278, 1.641, 2.073",\
                 "0.3041, 0.3198, 0.3738, 0.4686, 0.6049, 0.7897, 1.03, 1.329, 1.692, 2.124",\
                 "0.3334, 0.3523, 0.415, 0.5225, 0.6745, 0.8709, 1.113, 1.411, 1.774, 2.205",\
                 "0.3355, 0.3586, 0.4338, 0.5609, 0.7342, 0.9521, 1.216, 1.529, 1.894, 2.324",\
                 "0.3044, 0.3314, 0.4199, 0.5695, 0.7713, 1.018, 1.309, 1.648, 2.038, 2.481",\
                 "0.2368, 0.2677, 0.37, 0.5428, 0.7765, 1.059, 1.385, 1.754, 2.173, 2.646",\
                 "0.133, 0.1673, 0.2824, 0.4781, 0.7428, 1.063, 1.43, 1.841, 2.294, 2.799",\
                 "-0.0094, 0.0284, 0.1553, 0.3732, 0.6686, 1.028, 1.438, 1.894, 2.393, 2.937");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5043, 0.5367, 0.6486, 0.8618, 1.193, 1.656, 2.265, 3.032, 3.967, 5.083",\
                 "0.5162, 0.5489, 0.6619, 0.8754, 1.207, 1.67, 2.28, 3.047, 3.983, 5.098",\
                 "0.5581, 0.5908, 0.7043, 0.9196, 1.252, 1.717, 2.327, 3.094, 4.031, 5.146",\
                 "0.6205, 0.6536, 0.7679, 0.9822, 1.315, 1.78, 2.39, 3.158, 4.095, 5.212",\
                 "0.7029, 0.7385, 0.8583, 1.078, 1.409, 1.87, 2.478, 3.244, 4.18, 5.296",\
                 "0.8349, 0.8706, 0.9932, 1.22, 1.559, 2.018, 2.617, 3.377, 4.309, 5.419",\
                 "1.021, 1.06, 1.192, 1.422, 1.765, 2.234, 2.831, 3.579, 4.498, 5.601",\
                 "1.253, 1.297, 1.441, 1.688, 2.039, 2.51, 3.118, 3.866, 4.771, 5.859",\
                 "1.527, 1.576, 1.735, 2.004, 2.376, 2.855, 3.466, 4.225, 5.134, 6.206",\
                 "1.839, 1.893, 2.069, 2.364, 2.764, 3.268, 3.887, 4.65, 5.571, 6.649");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2897, 0.313, 0.3929, 0.5391, 0.7611, 1.068, 1.471, 1.977, 2.595, 3.329",\
                 "0.2892, 0.3123, 0.3923, 0.5386, 0.7609, 1.069, 1.471, 1.976, 2.594, 3.329",\
                 "0.2857, 0.3086, 0.3878, 0.5364, 0.7599, 1.068, 1.471, 1.977, 2.595, 3.329",\
                 "0.3392, 0.3605, 0.4321, 0.5615, 0.7677, 1.068, 1.471, 1.978, 2.594, 3.328",\
                 "0.4354, 0.4574, 0.5278, 0.6578, 0.8542, 1.124, 1.494, 1.982, 2.594, 3.328",\
                 "0.569, 0.592, 0.6674, 0.7996, 0.9942, 1.264, 1.616, 2.061, 2.631, 3.34",\
                 "0.729, 0.7556, 0.8418, 0.9842, 1.184, 1.451, 1.801, 2.242, 2.778, 3.437",\
                 "0.915, 0.945, 1.043, 1.203, 1.42, 1.693, 2.041, 2.478, 3.014, 3.654",\
                 "1.125, 1.161, 1.273, 1.452, 1.689, 1.982, 2.339, 2.771, 3.3, 3.937",\
                 "1.365, 1.403, 1.529, 1.731, 1.995, 2.312, 2.686, 3.127, 3.654, 4.283");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5997, 0.6547, 0.8493, 1.221, 1.796, 2.602, 3.659, 4.992, 6.618, 8.553",\
                 "0.6, 0.6549, 0.8493, 1.221, 1.796, 2.602, 3.66, 4.991, 6.618, 8.554",\
                 "0.6009, 0.6557, 0.8496, 1.221, 1.796, 2.602, 3.66, 4.991, 6.616, 8.554",\
                 "0.6179, 0.6693, 0.8554, 1.221, 1.796, 2.601, 3.66, 4.991, 6.617, 8.555",\
                 "0.6916, 0.743, 0.9194, 1.256, 1.804, 2.603, 3.661, 4.993, 6.618, 8.554",\
                 "0.7928, 0.8406, 1.015, 1.354, 1.877, 2.632, 3.664, 4.992, 6.619, 8.554",\
                 "0.9558, 0.9996, 1.157, 1.478, 2.001, 2.735, 3.72, 5.006, 6.618, 8.555",\
                 "1.155, 1.2, 1.356, 1.656, 2.154, 2.884, 3.853, 5.091, 6.649, 8.558",\
                 "1.379, 1.425, 1.589, 1.891, 2.363, 3.066, 4.032, 5.253, 6.764, 8.613",\
                 "1.618, 1.671, 1.845, 2.167, 2.637, 3.308, 4.244, 5.468, 6.956, 8.755");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1792, 0.195, 0.2481, 0.3431, 0.4827, 0.6711, 0.9134, 1.215, 1.579, 2.012",\
                 "0.1892, 0.2049, 0.2578, 0.3526, 0.4921, 0.6805, 0.9227, 1.224, 1.588, 2.021",\
                 "0.2195, 0.2346, 0.2855, 0.3787, 0.5177, 0.7061, 0.9483, 1.249, 1.614, 2.047",\
                 "0.2557, 0.2732, 0.3307, 0.4299, 0.5701, 0.7571, 0.9988, 1.3, 1.665, 2.097",\
                 "0.2729, 0.2941, 0.3632, 0.478, 0.6357, 0.8365, 1.082, 1.382, 1.746, 2.178",\
                 "0.2582, 0.2843, 0.3675, 0.5053, 0.6877, 0.9122, 1.181, 1.497, 1.864, 2.295",\
                 "0.2057, 0.2363, 0.3357, 0.4987, 0.7133, 0.9705, 1.268, 1.612, 2.005, 2.451",\
                 "0.114, 0.1495, 0.2631, 0.4531, 0.7028, 0.9984, 1.335, 1.712, 2.135, 2.611",\
                 "-0.0173, 0.0228, 0.1513, 0.3651, 0.6498, 0.9872, 1.368, 1.787, 2.249, 2.759",\
                 "-0.1901, -0.1467, -0.003, 0.2356, 0.5529, 0.9326, 1.359, 1.828, 2.337, 2.888");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5743, 0.6123, 0.7452, 0.9983, 1.39, 1.94, 2.662, 3.573, 4.684, 6.007",\
                 "0.5854, 0.6237, 0.7578, 1.012, 1.404, 1.954, 2.677, 3.588, 4.698, 6.022",\
                 "0.6258, 0.6643, 0.7995, 1.054, 1.448, 1.999, 2.723, 3.634, 4.745, 6.07",\
                 "0.6859, 0.7246, 0.8593, 1.113, 1.507, 2.059, 2.783, 3.695, 4.807, 6.132",\
                 "0.766, 0.8064, 0.9453, 1.2, 1.591, 2.139, 2.86, 3.77, 4.881, 6.206",\
                 "0.8964, 0.9365, 1.075, 1.334, 1.728, 2.267, 2.981, 3.884, 4.988, 6.307",\
                 "1.086, 1.129, 1.274, 1.532, 1.925, 2.468, 3.169, 4.058, 5.152, 6.461",\
                 "1.326, 1.375, 1.531, 1.803, 2.195, 2.736, 3.44, 4.316, 5.39, 6.685",\
                 "1.613, 1.667, 1.84, 2.132, 2.541, 3.08, 3.782, 4.66, 5.721, 6.994",\
                 "1.942, 2.001, 2.191, 2.511, 2.947, 3.502, 4.202, 5.079, 6.145, 7.404");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2587, 0.284, 0.3667, 0.5156, 0.7397, 1.047, 1.45, 1.955, 2.571, 3.305",\
                 "0.2567, 0.282, 0.365, 0.5152, 0.7381, 1.047, 1.449, 1.955, 2.573, 3.307",\
                 "0.2592, 0.2816, 0.3609, 0.5107, 0.7381, 1.047, 1.449, 1.956, 2.571, 3.308",\
                 "0.3252, 0.3456, 0.4158, 0.5442, 0.7475, 1.046, 1.448, 1.956, 2.572, 3.306",\
                 "0.4332, 0.4531, 0.5232, 0.6484, 0.8408, 1.108, 1.476, 1.96, 2.572, 3.308",\
                 "0.5748, 0.5974, 0.6726, 0.8022, 0.9902, 1.253, 1.602, 2.043, 2.612, 3.316",\
                 "0.7458, 0.773, 0.8568, 0.9974, 1.192, 1.452, 1.796, 2.23, 2.763, 3.419",\
                 "0.9454, 0.9766, 1.073, 1.232, 1.44, 1.707, 2.046, 2.475, 3.002, 3.64",\
                 "1.178, 1.213, 1.319, 1.495, 1.73, 2.013, 2.356, 2.781, 3.299, 3.93",\
                 "1.44, 1.48, 1.603, 1.799, 2.055, 2.358, 2.721, 3.149, 3.666, 4.286");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.624, 0.6894, 0.9229, 1.366, 2.053, 3.015, 4.28, 5.873, 7.815, 10.12",\
                 "0.6239, 0.6905, 0.9222, 1.365, 2.053, 3.016, 4.28, 5.874, 7.815, 10.13",\
                 "0.6252, 0.691, 0.9231, 1.365, 2.053, 3.015, 4.279, 5.871, 7.813, 10.13",\
                 "0.6351, 0.6986, 0.9258, 1.366, 2.053, 3.015, 4.279, 5.871, 7.815, 10.13",\
                 "0.6942, 0.7566, 0.9714, 1.387, 2.056, 3.015, 4.281, 5.871, 7.816, 10.13",\
                 "0.7704, 0.831, 1.048, 1.465, 2.105, 3.029, 4.281, 5.873, 7.815, 10.13",\
                 "0.9152, 0.9704, 1.168, 1.565, 2.205, 3.102, 4.311, 5.875, 7.816, 10.13",\
                 "1.11, 1.166, 1.355, 1.724, 2.332, 3.226, 4.406, 5.926, 7.826, 10.13",\
                 "1.331, 1.391, 1.59, 1.949, 2.52, 3.379, 4.554, 6.043, 7.895, 10.15",\
                 "1.575, 1.638, 1.85, 2.224, 2.781, 3.592, 4.735, 6.213, 8.036, 10.24");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1874, 0.2033, 0.2568, 0.3522, 0.4926, 0.6814, 0.9236, 1.225, 1.589, 2.022",\
                 "0.1973, 0.2131, 0.2664, 0.3617, 0.502, 0.6908, 0.9329, 1.234, 1.598, 2.031",\
                 "0.2275, 0.2426, 0.2938, 0.3878, 0.5277, 0.7163, 0.9585, 1.259, 1.624, 2.056",\
                 "0.2666, 0.2839, 0.3408, 0.4398, 0.5801, 0.7674, 1.009, 1.31, 1.674, 2.107",\
                 "0.2894, 0.31, 0.3771, 0.4906, 0.6475, 0.8473, 1.092, 1.392, 1.756, 2.188",\
                 "0.2825, 0.3072, 0.3872, 0.5216, 0.7018, 0.9247, 1.192, 1.508, 1.874, 2.305",\
                 "0.2382, 0.267, 0.3616, 0.5197, 0.7304, 0.9846, 1.281, 1.623, 2.016, 2.461",\
                 "0.1552, 0.1878, 0.2959, 0.479, 0.7227, 1.015, 1.349, 1.724, 2.147, 2.622",\
                 "0.0318, 0.0688, 0.1899, 0.3962, 0.6742, 1.007, 1.384, 1.802, 2.262, 2.771",\
                 "-0.1336, -0.0928, 0.0421, 0.2709, 0.5812, 0.955, 1.378, 1.844, 2.351, 2.9");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.6557, 0.6937, 0.8267, 1.079, 1.471, 2.021, 2.744, 3.654, 4.766, 6.09",\
                 "0.667, 0.7058, 0.8391, 1.093, 1.485, 2.035, 2.759, 3.67, 4.781, 6.105",\
                 "0.7082, 0.7466, 0.8811, 1.136, 1.53, 2.081, 2.805, 3.716, 4.828, 6.153",\
                 "0.7682, 0.8066, 0.9405, 1.195, 1.589, 2.141, 2.865, 3.777, 4.89, 6.215",\
                 "0.8516, 0.8911, 1.028, 1.281, 1.671, 2.22, 2.942, 3.853, 4.964, 6.289",\
                 "0.9812, 1.021, 1.159, 1.416, 1.807, 2.347, 3.061, 3.965, 5.07, 6.39",\
                 "1.176, 1.217, 1.357, 1.613, 2.006, 2.547, 3.248, 4.138, 5.232, 6.543",\
                 "1.425, 1.47, 1.62, 1.884, 2.274, 2.815, 3.519, 4.393, 5.471, 6.765",\
                 "1.722, 1.772, 1.935, 2.219, 2.62, 3.158, 3.86, 4.738, 5.8, 7.073",\
                 "2.063, 2.117, 2.297, 2.604, 3.031, 3.58, 4.279, 5.157, 6.222, 7.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3136, 0.3366, 0.4155, 0.5612, 0.7824, 1.088, 1.491, 1.996, 2.612, 3.347",\
                 "0.3113, 0.3346, 0.4141, 0.5603, 0.782, 1.089, 1.491, 1.995, 2.611, 3.347",\
                 "0.3128, 0.3342, 0.4099, 0.5563, 0.7803, 1.088, 1.491, 1.997, 2.613, 3.346",\
                 "0.3825, 0.4009, 0.4662, 0.5896, 0.7914, 1.088, 1.49, 1.995, 2.612, 3.347",\
                 "0.4996, 0.5168, 0.5802, 0.699, 0.8866, 1.151, 1.517, 2.002, 2.613, 3.347",\
                 "0.6556, 0.6748, 0.7402, 0.8592, 1.04, 1.299, 1.644, 2.085, 2.654, 3.358",\
                 "0.8446, 0.8666, 0.9374, 1.064, 1.248, 1.502, 1.842, 2.272, 2.805, 3.459",\
                 "1.064, 1.089, 1.17, 1.31, 1.505, 1.763, 2.095, 2.519, 3.046, 3.681",\
                 "1.317, 1.345, 1.433, 1.588, 1.803, 2.076, 2.411, 2.831, 3.347, 3.976",\
                 "1.601, 1.633, 1.734, 1.905, 2.141, 2.43, 2.782, 3.204, 3.717, 4.332");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.7287, 0.7961, 1.03, 1.473, 2.162, 3.125, 4.39, 5.982, 7.929, 10.24",\
                 "0.7281, 0.7963, 1.029, 1.474, 2.162, 3.125, 4.39, 5.985, 7.929, 10.24",\
                 "0.7287, 0.7953, 1.03, 1.473, 2.161, 3.125, 4.39, 5.983, 7.926, 10.24",\
                 "0.7342, 0.8002, 1.031, 1.474, 2.162, 3.125, 4.39, 5.983, 7.928, 10.24",\
                 "0.7882, 0.85, 1.067, 1.488, 2.163, 3.125, 4.391, 5.983, 7.927, 10.25",\
                 "0.8604, 0.9248, 1.144, 1.561, 2.205, 3.134, 4.391, 5.984, 7.927, 10.24",\
                 "0.9894, 1.048, 1.252, 1.66, 2.304, 3.204, 4.417, 5.986, 7.929, 10.24",\
                 "1.18, 1.236, 1.43, 1.807, 2.427, 3.325, 4.508, 6.032, 7.936, 10.24",\
                 "1.402, 1.463, 1.66, 2.022, 2.605, 3.477, 4.654, 6.145, 8.003, 10.26",\
                 "1.646, 1.709, 1.923, 2.295, 2.854, 3.681, 4.833, 6.316, 8.139, 10.35");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2244, 0.2395, 0.29, 0.381, 0.5176, 0.7031, 0.9432, 1.243, 1.606, 2.038",\
                 "0.2339, 0.249, 0.2994, 0.3905, 0.5268, 0.7125, 0.9526, 1.252, 1.616, 2.047",\
                 "0.2616, 0.276, 0.3256, 0.4165, 0.5525, 0.7383, 0.9784, 1.278, 1.641, 2.073",\
                 "0.3041, 0.3198, 0.3738, 0.4686, 0.6049, 0.7897, 1.03, 1.329, 1.692, 2.124",\
                 "0.3334, 0.3523, 0.415, 0.5225, 0.6745, 0.8709, 1.113, 1.411, 1.774, 2.205",\
                 "0.3355, 0.3586, 0.4338, 0.5609, 0.7342, 0.9521, 1.216, 1.529, 1.894, 2.324",\
                 "0.3044, 0.3314, 0.4199, 0.5695, 0.7713, 1.018, 1.309, 1.648, 2.038, 2.481",\
                 "0.2368, 0.2677, 0.37, 0.5428, 0.7765, 1.059, 1.385, 1.754, 2.173, 2.646",\
                 "0.133, 0.1673, 0.2824, 0.4781, 0.7428, 1.063, 1.43, 1.841, 2.294, 2.799",\
                 "-0.0094, 0.0284, 0.1553, 0.3732, 0.6686, 1.028, 1.438, 1.894, 2.393, 2.937");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.6557, 0.6937, 0.8267, 1.079, 1.471, 2.021, 2.744, 3.654, 4.766, 6.09",\
                 "0.667, 0.7058, 0.8391, 1.093, 1.485, 2.035, 2.759, 3.67, 4.781, 6.105",\
                 "0.7082, 0.7466, 0.8811, 1.136, 1.53, 2.081, 2.805, 3.716, 4.828, 6.153",\
                 "0.7682, 0.8066, 0.9405, 1.195, 1.589, 2.141, 2.865, 3.777, 4.89, 6.215",\
                 "0.8516, 0.8911, 1.028, 1.281, 1.671, 2.22, 2.942, 3.853, 4.964, 6.289",\
                 "0.9812, 1.021, 1.159, 1.416, 1.807, 2.347, 3.061, 3.965, 5.07, 6.39",\
                 "1.176, 1.217, 1.357, 1.613, 2.006, 2.547, 3.248, 4.138, 5.232, 6.543",\
                 "1.425, 1.47, 1.62, 1.884, 2.274, 2.815, 3.519, 4.393, 5.471, 6.765",\
                 "1.722, 1.772, 1.935, 2.219, 2.62, 3.158, 3.86, 4.738, 5.8, 7.073",\
                 "2.063, 2.117, 2.297, 2.604, 3.031, 3.58, 4.279, 5.157, 6.222, 7.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3136, 0.3366, 0.4155, 0.5612, 0.7824, 1.088, 1.491, 1.996, 2.612, 3.347",\
                 "0.3113, 0.3346, 0.4141, 0.5603, 0.782, 1.089, 1.491, 1.995, 2.611, 3.347",\
                 "0.3128, 0.3342, 0.4099, 0.5563, 0.7803, 1.088, 1.491, 1.997, 2.613, 3.346",\
                 "0.3825, 0.4009, 0.4662, 0.5896, 0.7914, 1.088, 1.49, 1.995, 2.612, 3.347",\
                 "0.4996, 0.5168, 0.5802, 0.699, 0.8866, 1.151, 1.517, 2.002, 2.613, 3.347",\
                 "0.6556, 0.6748, 0.7402, 0.8592, 1.04, 1.299, 1.644, 2.085, 2.654, 3.358",\
                 "0.8446, 0.8666, 0.9374, 1.064, 1.248, 1.502, 1.842, 2.272, 2.805, 3.459",\
                 "1.064, 1.089, 1.17, 1.31, 1.505, 1.763, 2.095, 2.519, 3.046, 3.681",\
                 "1.317, 1.345, 1.433, 1.588, 1.803, 2.076, 2.411, 2.831, 3.347, 3.976",\
                 "1.601, 1.633, 1.734, 1.905, 2.141, 2.43, 2.782, 3.204, 3.717, 4.332");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.7287, 0.7961, 1.03, 1.473, 2.162, 3.125, 4.39, 5.982, 7.929, 10.24",\
                 "0.7281, 0.7963, 1.029, 1.474, 2.162, 3.125, 4.39, 5.985, 7.929, 10.24",\
                 "0.7287, 0.7953, 1.03, 1.473, 2.161, 3.125, 4.39, 5.983, 7.926, 10.24",\
                 "0.7342, 0.8002, 1.031, 1.474, 2.162, 3.125, 4.39, 5.983, 7.928, 10.24",\
                 "0.7882, 0.85, 1.067, 1.488, 2.163, 3.125, 4.391, 5.983, 7.927, 10.25",\
                 "0.8604, 0.9248, 1.144, 1.561, 2.205, 3.134, 4.391, 5.984, 7.927, 10.24",\
                 "0.9894, 1.048, 1.252, 1.66, 2.304, 3.204, 4.417, 5.986, 7.929, 10.24",\
                 "1.18, 1.236, 1.43, 1.807, 2.427, 3.325, 4.508, 6.032, 7.936, 10.24",\
                 "1.402, 1.463, 1.66, 2.022, 2.605, 3.477, 4.654, 6.145, 8.003, 10.26",\
                 "1.646, 1.709, 1.923, 2.295, 2.854, 3.681, 4.833, 6.316, 8.139, 10.35");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1589, 0.1707, 0.2116, 0.2871, 0.4021, 0.5611, 0.7687, 1.029, 1.346, 1.724",\
                 "0.1729, 0.1852, 0.2261, 0.3015, 0.4167, 0.5755, 0.783, 1.043, 1.361, 1.738",\
                 "0.2259, 0.2376, 0.2777, 0.3524, 0.4674, 0.6264, 0.8338, 1.094, 1.411, 1.789",\
                 "0.2907, 0.3069, 0.3594, 0.4485, 0.5681, 0.7261, 0.9328, 1.193, 1.509, 1.886",\
                 "0.3322, 0.3528, 0.4209, 0.5349, 0.6889, 0.8761, 1.091, 1.35, 1.665, 2.042",\
                 "0.3484, 0.3738, 0.4569, 0.5969, 0.7845, 1.013, 1.275, 1.567, 1.888, 2.264",\
                 "0.3361, 0.3664, 0.4648, 0.6309, 0.8524, 1.122, 1.431, 1.777, 2.153, 2.555",\
                 "0.2933, 0.3286, 0.4423, 0.6342, 0.8921, 1.202, 1.559, 1.954, 2.388, 2.854",\
                 "0.2205, 0.2593, 0.3879, 0.6051, 0.8978, 1.252, 1.656, 2.103, 2.59, 3.118",\
                 "0.1147, 0.1576, 0.3, 0.5425, 0.87, 1.268, 1.72, 2.22, 2.763, 3.348");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2944, 0.3201, 0.4106, 0.5815, 0.8457, 1.216, 1.704, 2.317, 3.066, 3.959",\
                 "0.3066, 0.333, 0.4241, 0.5955, 0.8603, 1.232, 1.719, 2.333, 3.082, 3.976",\
                 "0.3538, 0.3806, 0.4715, 0.6441, 0.9097, 1.282, 1.77, 2.384, 3.134, 4.027",\
                 "0.4363, 0.4654, 0.5622, 0.7349, 0.9996, 1.371, 1.858, 2.472, 3.222, 4.115",\
                 "0.5495, 0.5822, 0.6904, 0.8808, 1.151, 1.519, 2.003, 2.614, 3.362, 4.253",\
                 "0.7026, 0.7405, 0.8616, 1.068, 1.362, 1.743, 2.223, 2.829, 3.572, 4.459",\
                 "0.8923, 0.9358, 1.074, 1.304, 1.619, 2.026, 2.528, 3.129, 3.864, 4.744",\
                 "1.114, 1.165, 1.323, 1.581, 1.925, 2.357, 2.888, 3.517, 4.251, 5.123",\
                 "1.368, 1.425, 1.604, 1.894, 2.274, 2.739, 3.298, 3.959, 4.727, 5.602",\
                 "1.654, 1.718, 1.919, 2.243, 2.664, 3.17, 3.761, 4.454, 5.257, 6.169");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.197, 0.2162, 0.282, 0.4057, 0.5964, 0.8614, 1.209, 1.646, 2.179, 2.813",\
                 "0.1963, 0.2156, 0.2822, 0.4061, 0.5962, 0.8614, 1.209, 1.645, 2.179, 2.814",\
                 "0.2057, 0.2225, 0.2836, 0.4049, 0.5962, 0.8609, 1.209, 1.646, 2.179, 2.814",\
                 "0.2999, 0.3182, 0.3773, 0.4731, 0.6235, 0.8648, 1.208, 1.646, 2.179, 2.813",\
                 "0.4126, 0.4356, 0.5084, 0.6292, 0.7924, 0.9894, 1.263, 1.658, 2.179, 2.814",\
                 "0.5474, 0.574, 0.6624, 0.8046, 0.9956, 1.231, 1.502, 1.821, 2.256, 2.831",\
                 "0.6986, 0.7318, 0.837, 1.006, 1.224, 1.492, 1.806, 2.16, 2.547, 3.026",\
                 "0.8672, 0.9072, 1.033, 1.231, 1.48, 1.779, 2.13, 2.53, 2.97, 3.443",\
                 "1.053, 1.098, 1.244, 1.474, 1.762, 2.1, 2.486, 2.92, 3.409, 3.943",\
                 "1.257, 1.308, 1.479, 1.737, 2.068, 2.449, 2.874, 3.345, 3.874, 4.458");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3867, 0.4313, 0.5862, 0.8825, 1.344, 1.988, 2.84, 3.908, 5.211, 6.76",\
                 "0.3874, 0.4311, 0.5856, 0.8826, 1.343, 1.989, 2.837, 3.908, 5.218, 6.778",\
                 "0.3904, 0.4336, 0.5865, 0.8824, 1.343, 1.99, 2.837, 3.91, 5.209, 6.762",\
                 "0.4496, 0.4855, 0.6168, 0.8897, 1.345, 1.989, 2.84, 3.909, 5.218, 6.773",\
                 "0.5492, 0.5874, 0.7208, 0.9722, 1.376, 1.993, 2.839, 3.906, 5.216, 6.758",\
                 "0.6894, 0.7248, 0.8514, 1.108, 1.505, 2.064, 2.857, 3.906, 5.214, 6.773",\
                 "0.8614, 0.8972, 1.024, 1.272, 1.674, 2.233, 2.967, 3.953, 5.22, 6.761",\
                 "1.053, 1.091, 1.227, 1.476, 1.874, 2.444, 3.181, 4.105, 5.295, 6.787",\
                 "1.261, 1.303, 1.455, 1.719, 2.116, 2.682, 3.436, 4.363, 5.494, 6.907",\
                 "1.482, 1.532, 1.696, 1.986, 2.405, 2.965, 3.713, 4.666, 5.8, 7.148");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1588, 0.171, 0.2119, 0.2873, 0.4025, 0.5613, 0.7688, 1.029, 1.346, 1.724",\
                 "0.1735, 0.1858, 0.2267, 0.3025, 0.4173, 0.5762, 0.7838, 1.044, 1.361, 1.739",\
                 "0.2272, 0.2388, 0.2789, 0.3538, 0.4687, 0.6277, 0.8352, 1.096, 1.413, 1.79",\
                 "0.2919, 0.308, 0.3609, 0.4497, 0.5694, 0.7274, 0.9342, 1.194, 1.511, 1.888",\
                 "0.3299, 0.3509, 0.4191, 0.5345, 0.689, 0.8764, 1.092, 1.351, 1.666, 2.043",\
                 "0.3376, 0.3634, 0.4478, 0.5905, 0.7801, 1.01, 1.274, 1.566, 1.888, 2.264",\
                 "0.3112, 0.3418, 0.4433, 0.6129, 0.8393, 1.113, 1.425, 1.772, 2.15, 2.553",\
                 "0.2486, 0.2841, 0.402, 0.5989, 0.8642, 1.183, 1.543, 1.944, 2.38, 2.849",\
                 "0.1478, 0.1884, 0.3224, 0.5485, 0.85, 1.214, 1.626, 2.08, 2.574, 3.106",\
                 "0.0082, 0.0538, 0.2028, 0.4547, 0.795, 1.204, 1.669, 2.18, 2.733, 3.324");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.3566, 0.3896, 0.5025, 0.7156, 1.047, 1.51, 2.119, 2.887, 3.824, 4.939",\
                 "0.3671, 0.4, 0.514, 0.7282, 1.06, 1.524, 2.134, 2.901, 3.838, 4.954",\
                 "0.4106, 0.4429, 0.5572, 0.7723, 1.105, 1.57, 2.181, 2.949, 3.886, 5.003",\
                 "0.4933, 0.5279, 0.6435, 0.8576, 1.189, 1.653, 2.264, 3.032, 3.969, 5.086",\
                 "0.6147, 0.6527, 0.78, 1.006, 1.335, 1.795, 2.401, 3.167, 4.102, 5.217",\
                 "0.7889, 0.8311, 0.9686, 1.21, 1.558, 2.017, 2.615, 3.373, 4.303, 5.414",\
                 "1.009, 1.057, 1.211, 1.469, 1.837, 2.32, 2.92, 3.668, 4.588, 5.691",\
                 "1.27, 1.324, 1.498, 1.784, 2.174, 2.68, 3.308, 4.061, 4.97, 6.062",\
                 "1.569, 1.631, 1.826, 2.145, 2.569, 3.1, 3.756, 4.54, 5.456, 6.536",\
                 "1.908, 1.978, 2.197, 2.55, 3.015, 3.582, 4.265, 5.081, 6.031, 7.119");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1967, 0.216, 0.2821, 0.4058, 0.5961, 0.8607, 1.209, 1.646, 2.179, 2.813",\
                 "0.1965, 0.2157, 0.2826, 0.4062, 0.5963, 0.861, 1.208, 1.645, 2.178, 2.814",\
                 "0.2052, 0.2221, 0.2829, 0.4049, 0.5956, 0.861, 1.209, 1.645, 2.178, 2.813",\
                 "0.2994, 0.3177, 0.3763, 0.4721, 0.6234, 0.8648, 1.208, 1.646, 2.179, 2.814",\
                 "0.4129, 0.436, 0.5088, 0.6306, 0.7924, 0.9888, 1.263, 1.656, 2.179, 2.814",\
                 "0.5496, 0.5764, 0.6642, 0.8076, 0.9994, 1.234, 1.503, 1.823, 2.255, 2.832",\
                 "0.703, 0.7366, 0.8436, 1.012, 1.233, 1.498, 1.811, 2.164, 2.548, 3.026",\
                 "0.8752, 0.9146, 1.042, 1.24, 1.492, 1.795, 2.141, 2.542, 2.978, 3.448",\
                 "1.064, 1.111, 1.26, 1.491, 1.78, 2.121, 2.504, 2.936, 3.424, 3.956",\
                 "1.277, 1.328, 1.5, 1.759, 2.093, 2.474, 2.902, 3.375, 3.9, 4.48");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5065, 0.5623, 0.7554, 1.127, 1.704, 2.507, 3.569, 4.903, 6.529, 8.467",\
                 "0.5069, 0.5622, 0.7566, 1.127, 1.703, 2.509, 3.568, 4.899, 6.524, 8.472",\
                 "0.5086, 0.563, 0.7559, 1.127, 1.701, 2.509, 3.569, 4.896, 6.524, 8.47",\
                 "0.5521, 0.5999, 0.7741, 1.129, 1.703, 2.509, 3.568, 4.902, 6.531, 8.46",\
                 "0.6486, 0.6982, 0.8666, 1.186, 1.717, 2.507, 3.565, 4.904, 6.525, 8.462",\
                 "0.7782, 0.8218, 0.9872, 1.313, 1.81, 2.543, 3.572, 4.901, 6.526, 8.467",\
                 "0.9492, 0.9908, 1.146, 1.461, 1.972, 2.672, 3.633, 4.912, 6.528, 8.466",\
                 "1.147, 1.19, 1.347, 1.652, 2.154, 2.871, 3.795, 5.005, 6.551, 8.474",\
                 "1.364, 1.411, 1.578, 1.888, 2.378, 3.091, 4.034, 5.2, 6.678, 8.516",\
                 "1.602, 1.652, 1.829, 2.16, 2.651, 3.352, 4.303, 5.492, 6.909, 8.672");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1646, 0.1766, 0.2178, 0.2942, 0.4101, 0.57, 0.7779, 1.038, 1.355, 1.733",\
                 "0.1793, 0.1913, 0.2327, 0.309, 0.4249, 0.5848, 0.7928, 1.053, 1.37, 1.748",\
                 "0.2324, 0.2441, 0.2846, 0.3605, 0.4765, 0.6363, 0.8443, 1.105, 1.422, 1.799",\
                 "0.3014, 0.3172, 0.3696, 0.4578, 0.5772, 0.7358, 0.9433, 1.203, 1.52, 1.897",\
                 "0.3459, 0.3663, 0.4333, 0.547, 0.7002, 0.8867, 1.101, 1.36, 1.675, 2.051",\
                 "0.361, 0.3861, 0.4685, 0.6074, 0.7952, 1.023, 1.286, 1.577, 1.898, 2.273",\
                 "0.3431, 0.3724, 0.4699, 0.6357, 0.859, 1.129, 1.439, 1.785, 2.161, 2.563",\
                 "0.2879, 0.3221, 0.4352, 0.6275, 0.887, 1.201, 1.56, 1.958, 2.393, 2.86",\
                 "0.1949, 0.2339, 0.3616, 0.5806, 0.8777, 1.236, 1.645, 2.097, 2.589, 3.119",\
                 "0.0635, 0.1071, 0.249, 0.4936, 0.8272, 1.231, 1.691, 2.199, 2.749, 3.34");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.4291, 0.4609, 0.5742, 0.7871, 1.118, 1.581, 2.191, 2.957, 3.893, 5.009",\
                 "0.4399, 0.4725, 0.5862, 0.8, 1.132, 1.596, 2.205, 2.972, 3.908, 5.024",\
                 "0.4833, 0.5162, 0.6297, 0.8445, 1.178, 1.642, 2.252, 3.02, 3.957, 5.073",\
                 "0.5691, 0.6027, 0.7156, 0.9295, 1.261, 1.725, 2.335, 3.103, 4.04, 5.156",\
                 "0.6985, 0.7351, 0.858, 1.078, 1.406, 1.866, 2.472, 3.237, 4.172, 5.286",\
                 "0.8803, 0.9199, 1.051, 1.286, 1.63, 2.087, 2.685, 3.444, 4.374, 5.483",\
                 "1.112, 1.156, 1.3, 1.55, 1.913, 2.391, 2.989, 3.736, 4.657, 5.761",\
                 "1.387, 1.436, 1.598, 1.871, 2.254, 2.755, 3.38, 4.129, 5.039, 6.13",\
                 "1.702, 1.758, 1.938, 2.241, 2.653, 3.178, 3.83, 4.61, 5.523, 6.603",\
                 "2.057, 2.12, 2.321, 2.656, 3.106, 3.663, 4.341, 5.153, 6.101, 7.187");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2382, 0.2569, 0.3221, 0.4443, 0.6337, 0.8981, 1.246, 1.684, 2.216, 2.851",\
                 "0.238, 0.2567, 0.3218, 0.4443, 0.6337, 0.8989, 1.246, 1.684, 2.215, 2.85",\
                 "0.2463, 0.2628, 0.3225, 0.4437, 0.6336, 0.8983, 1.246, 1.683, 2.215, 2.852",\
                 "0.3512, 0.3674, 0.4207, 0.5112, 0.6608, 0.9026, 1.246, 1.682, 2.216, 2.851",\
                 "0.482, 0.5024, 0.5672, 0.68, 0.8346, 1.026, 1.301, 1.694, 2.216, 2.851",\
                 "0.6362, 0.6596, 0.7378, 0.8696, 1.052, 1.279, 1.544, 1.859, 2.294, 2.869",\
                 "0.811, 0.8392, 0.9326, 1.089, 1.293, 1.552, 1.858, 2.205, 2.586, 3.066",\
                 "1.005, 1.04, 1.149, 1.33, 1.569, 1.856, 2.196, 2.589, 3.02, 3.486",\
                 "1.219, 1.258, 1.389, 1.596, 1.867, 2.194, 2.566, 2.992, 3.472, 3.998",\
                 "1.456, 1.498, 1.645, 1.883, 2.196, 2.558, 2.972, 3.434, 3.953, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5989, 0.6549, 0.849, 1.221, 1.796, 2.601, 3.66, 4.993, 6.617, 8.555",\
                 "0.5994, 0.6549, 0.8491, 1.221, 1.796, 2.602, 3.66, 4.993, 6.618, 8.554",\
                 "0.6001, 0.655, 0.8496, 1.221, 1.796, 2.602, 3.659, 4.991, 6.617, 8.555",\
                 "0.6274, 0.6772, 0.8579, 1.221, 1.796, 2.602, 3.66, 4.993, 6.616, 8.554",\
                 "0.7226, 0.7718, 0.9402, 1.265, 1.805, 2.603, 3.66, 4.992, 6.616, 8.555",\
                 "0.8404, 0.89, 1.062, 1.389, 1.889, 2.63, 3.663, 4.993, 6.617, 8.554",\
                 "1.002, 1.046, 1.211, 1.538, 2.049, 2.751, 3.716, 5, 6.618, 8.556",\
                 "1.198, 1.244, 1.405, 1.721, 2.23, 2.948, 3.874, 5.086, 6.638, 8.556",\
                 "1.417, 1.466, 1.637, 1.952, 2.449, 3.172, 4.112, 5.281, 6.756, 8.595",\
                 "1.657, 1.707, 1.891, 2.223, 2.717, 3.427, 4.381, 5.561, 6.987, 8.748");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.132, 0.1444, 0.1868, 0.2639, 0.38, 0.5398, 0.7479, 1.009, 1.326, 1.704",\
                 "0.1463, 0.1587, 0.2008, 0.2778, 0.394, 0.5538, 0.7619, 1.023, 1.34, 1.718",\
                 "0.1994, 0.2119, 0.2531, 0.3286, 0.4443, 0.604, 0.812, 1.073, 1.39, 1.768",\
                 "0.2528, 0.2709, 0.3278, 0.4214, 0.5447, 0.7033, 0.9106, 1.171, 1.488, 1.865",\
                 "0.282, 0.3051, 0.3783, 0.4991, 0.6587, 0.8501, 1.068, 1.328, 1.643, 2.02",\
                 "0.2822, 0.3107, 0.4008, 0.5495, 0.7453, 0.9794, 1.247, 1.542, 1.865, 2.24",\
                 "0.2525, 0.2855, 0.393, 0.5691, 0.8025, 1.079, 1.395, 1.745, 2.125, 2.531",\
                 "0.1914, 0.2294, 0.3527, 0.5571, 0.8278, 1.149, 1.514, 1.916, 2.354, 2.824",\
                 "0.0979, 0.1408, 0.2791, 0.5109, 0.8172, 1.185, 1.599, 2.055, 2.549, 3.08",\
                 "-0.0294, 0.0184, 0.1723, 0.4277, 0.7724, 1.182, 1.648, 2.16, 2.711, 3.302");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.346, 0.3783, 0.4895, 0.7008, 1.028, 1.486, 2.09, 2.849, 3.777, 4.883",\
                 "0.3571, 0.3897, 0.5021, 0.7145, 1.042, 1.501, 2.105, 2.865, 3.793, 4.898",\
                 "0.4012, 0.4337, 0.5462, 0.759, 1.089, 1.548, 2.152, 2.914, 3.842, 4.948",\
                 "0.4743, 0.5086, 0.6235, 0.8346, 1.163, 1.622, 2.226, 2.987, 3.917, 5.021",\
                 "0.5772, 0.6136, 0.7367, 0.9591, 1.286, 1.741, 2.34, 3.098, 4.024, 5.128",\
                 "0.7261, 0.7665, 0.8975, 1.13, 1.472, 1.927, 2.519, 3.269, 4.19, 5.289",\
                 "0.9134, 0.9593, 1.107, 1.355, 1.709, 2.182, 2.778, 3.518, 4.429, 5.52",\
                 "1.136, 1.189, 1.356, 1.629, 2.003, 2.49, 3.106, 3.854, 4.753, 5.833",\
                 "1.393, 1.453, 1.639, 1.943, 2.348, 2.858, 3.49, 4.26, 5.169, 6.237",\
                 "1.683, 1.748, 1.958, 2.294, 2.738, 3.282, 3.935, 4.723, 5.657, 6.739");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1788, 0.1984, 0.2644, 0.3885, 0.5774, 0.8413, 1.189, 1.626, 2.159, 2.794",\
                 "0.1777, 0.1974, 0.264, 0.3876, 0.5766, 0.8416, 1.189, 1.625, 2.159, 2.794",\
                 "0.1963, 0.211, 0.2674, 0.3855, 0.5764, 0.8419, 1.188, 1.626, 2.158, 2.793",\
                 "0.2927, 0.3111, 0.3696, 0.4658, 0.61, 0.8459, 1.189, 1.626, 2.158, 2.792",\
                 "0.41, 0.4321, 0.5046, 0.6234, 0.785, 0.9802, 1.25, 1.639, 2.159, 2.793",\
                 "0.549, 0.5776, 0.6634, 0.8032, 0.9918, 1.225, 1.496, 1.812, 2.24, 2.813",\
                 "0.7088, 0.742, 0.8474, 1.012, 1.228, 1.492, 1.801, 2.154, 2.539, 3.014",\
                 "0.8888, 0.9292, 1.053, 1.247, 1.493, 1.788, 2.131, 2.526, 2.967, 3.437",\
                 "1.09, 1.136, 1.281, 1.508, 1.788, 2.119, 2.499, 2.925, 3.413, 3.941",\
                 "1.314, 1.367, 1.533, 1.791, 2.114, 2.482, 2.899, 3.364, 3.883, 4.466");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.4141, 0.4687, 0.6606, 1.031, 1.604, 2.411, 3.471, 4.795, 6.431, 8.375",\
                 "0.4146, 0.469, 0.6607, 1.031, 1.604, 2.413, 3.466, 4.799, 6.425, 8.373",\
                 "0.4173, 0.4704, 0.6624, 1.03, 1.607, 2.413, 3.466, 4.802, 6.427, 8.361",\
                 "0.4609, 0.5083, 0.6813, 1.033, 1.604, 2.41, 3.47, 4.8, 6.424, 8.36",\
                 "0.5322, 0.5848, 0.762, 1.09, 1.621, 2.41, 3.471, 4.805, 6.433, 8.362",\
                 "0.6492, 0.6946, 0.863, 1.197, 1.712, 2.455, 3.469, 4.8, 6.435, 8.368",\
                 "0.8072, 0.8534, 1.013, 1.329, 1.846, 2.569, 3.541, 4.814, 6.431, 8.37",\
                 "0.9834, 1.033, 1.205, 1.513, 2.011, 2.739, 3.69, 4.915, 6.464, 8.377",\
                 "1.177, 1.232, 1.415, 1.743, 2.227, 2.934, 3.892, 5.091, 6.597, 8.431",\
                 "1.387, 1.447, 1.648, 2.003, 2.5, 3.185, 4.125, 5.334, 6.801, 8.576");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1323, 0.1448, 0.187, 0.2641, 0.3802, 0.54, 0.7481, 1.009, 1.326, 1.704",\
                 "0.147, 0.1594, 0.2015, 0.2786, 0.3946, 0.5544, 0.7626, 1.023, 1.341, 1.719",\
                 "0.2006, 0.2133, 0.2544, 0.3299, 0.4456, 0.6053, 0.8134, 1.074, 1.392, 1.769",\
                 "0.2543, 0.272, 0.3289, 0.4223, 0.5459, 0.7047, 0.912, 1.172, 1.489, 1.867",\
                 "0.2796, 0.3029, 0.377, 0.4983, 0.6587, 0.8509, 1.069, 1.328, 1.644, 2.021",\
                 "0.2719, 0.3004, 0.3927, 0.5436, 0.7413, 0.9775, 1.246, 1.542, 1.866, 2.241",\
                 "0.2281, 0.2627, 0.3724, 0.5529, 0.7905, 1.072, 1.39, 1.742, 2.123, 2.529",\
                 "0.1475, 0.1869, 0.3146, 0.5254, 0.8017, 1.131, 1.5, 1.906, 2.347, 2.82",\
                 "0.0281, 0.0731, 0.2168, 0.4565, 0.7736, 1.149, 1.572, 2.034, 2.534, 3.07",\
                 "-0.1325, -0.0822, 0.0789, 0.3449, 0.701, 1.125, 1.602, 2.123, 2.684, 3.281");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.4123, 0.4513, 0.5851, 0.8383, 1.23, 1.78, 2.503, 3.413, 4.525, 5.85",\
                 "0.4216, 0.4607, 0.5962, 0.8502, 1.243, 1.794, 2.517, 3.428, 4.54, 5.864",\
                 "0.4616, 0.5009, 0.6363, 0.8915, 1.286, 1.838, 2.562, 3.473, 4.586, 5.911",\
                 "0.5347, 0.5749, 0.7103, 0.9638, 1.357, 1.907, 2.632, 3.544, 4.656, 5.98",\
                 "0.6436, 0.6859, 0.8298, 1.089, 1.478, 2.023, 2.743, 3.651, 4.762, 6.086",\
                 "0.8094, 0.8546, 1.003, 1.272, 1.672, 2.209, 2.92, 3.821, 4.925, 6.243",\
                 "1.027, 1.077, 1.239, 1.518, 1.928, 2.48, 3.182, 4.07, 5.163, 6.472",\
                 "1.287, 1.344, 1.525, 1.826, 2.249, 2.814, 3.533, 4.412, 5.491, 6.788",\
                 "1.588, 1.652, 1.854, 2.186, 2.636, 3.216, 3.95, 4.847, 5.917, 7.195",\
                 "1.93, 2.002, 2.227, 2.592, 3.08, 3.686, 4.436, 5.351, 6.44, 7.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1792, 0.1986, 0.2644, 0.3883, 0.5771, 0.842, 1.188, 1.625, 2.159, 2.794",\
                 "0.1777, 0.1973, 0.2643, 0.3876, 0.5775, 0.8413, 1.189, 1.625, 2.158, 2.793",\
                 "0.1956, 0.2104, 0.2671, 0.3857, 0.5769, 0.8414, 1.189, 1.625, 2.158, 2.793",\
                 "0.2921, 0.3101, 0.3688, 0.4652, 0.6097, 0.8463, 1.189, 1.625, 2.157, 2.794",\
                 "0.409, 0.4307, 0.5044, 0.6236, 0.7846, 0.9798, 1.25, 1.638, 2.159, 2.792",\
                 "0.5476, 0.5762, 0.6642, 0.8064, 0.9936, 1.227, 1.496, 1.812, 2.242, 2.814",\
                 "0.7072, 0.7418, 0.8476, 1.016, 1.233, 1.496, 1.807, 2.157, 2.541, 3.014",\
                 "0.8888, 0.9302, 1.055, 1.254, 1.501, 1.795, 2.141, 2.536, 2.971, 3.443",\
                 "1.094, 1.14, 1.286, 1.513, 1.798, 2.131, 2.511, 2.941, 3.422, 3.951",\
                 "1.318, 1.373, 1.539, 1.803, 2.126, 2.499, 2.919, 3.385, 3.905, 4.48");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5141, 0.5797, 0.8098, 1.254, 1.941, 2.906, 4.174, 5.762, 7.706, 10.03",\
                 "0.5145, 0.58, 0.8103, 1.255, 1.942, 2.906, 4.167, 5.762, 7.708, 10.03",\
                 "0.5166, 0.5809, 0.8104, 1.254, 1.941, 2.906, 4.17, 5.763, 7.708, 10.03",\
                 "0.552, 0.6099, 0.8231, 1.255, 1.941, 2.905, 4.168, 5.767, 7.717, 10.03",\
                 "0.622, 0.6836, 0.8974, 1.297, 1.947, 2.908, 4.169, 5.763, 7.713, 10.02",\
                 "0.7252, 0.7828, 0.9902, 1.397, 2.016, 2.923, 4.171, 5.764, 7.707, 10.04",\
                 "0.8784, 0.9328, 1.124, 1.516, 2.141, 3.013, 4.208, 5.765, 7.71, 10.04",\
                 "1.061, 1.118, 1.308, 1.676, 2.29, 3.167, 4.317, 5.823, 7.721, 10.02",\
                 "1.264, 1.323, 1.525, 1.893, 2.481, 3.348, 4.5, 5.954, 7.801, 10.03",\
                 "1.487, 1.551, 1.766, 2.152, 2.726, 3.562, 4.712, 6.165, 7.944, 10.13");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1373, 0.1501, 0.1927, 0.2704, 0.3877, 0.5485, 0.7572, 1.018, 1.335, 1.713",\
                 "0.152, 0.1646, 0.2072, 0.2849, 0.4021, 0.5629, 0.7716, 1.033, 1.35, 1.728",\
                 "0.2063, 0.2186, 0.2597, 0.3363, 0.4531, 0.6138, 0.8224, 1.083, 1.401, 1.778",\
                 "0.2645, 0.282, 0.3381, 0.4307, 0.5536, 0.7131, 0.9209, 1.181, 1.498, 1.876",\
                 "0.2971, 0.3193, 0.3915, 0.5114, 0.6702, 0.861, 1.078, 1.338, 1.654, 2.03",\
                 "0.2986, 0.3258, 0.4144, 0.5621, 0.757, 0.9909, 1.257, 1.552, 1.875, 2.25",\
                 "0.2646, 0.2968, 0.4019, 0.5776, 0.8108, 1.088, 1.404, 1.754, 2.134, 2.539",\
                 "0.1928, 0.2297, 0.351, 0.5552, 0.826, 1.15, 1.517, 1.921, 2.36, 2.831",\
                 "0.0827, 0.124, 0.2602, 0.4917, 0.8017, 1.172, 1.592, 2.052, 2.549, 3.083",\
                 "-0.0682, -0.0222, 0.1297, 0.3865, 0.7346, 1.152, 1.624, 2.143, 2.7, 3.297");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.4986, 0.5367, 0.6701, 0.9229, 1.315, 1.865, 2.588, 3.497, 4.609, 5.933",\
                 "0.5087, 0.5473, 0.6821, 0.9355, 1.329, 1.879, 2.602, 3.513, 4.624, 5.948",\
                 "0.5486, 0.5879, 0.7224, 0.977, 1.372, 1.923, 2.647, 3.558, 4.67, 5.994",\
                 "0.6232, 0.6621, 0.7957, 1.049, 1.442, 1.993, 2.717, 3.628, 4.74, 6.066",\
                 "0.7365, 0.7777, 0.9185, 1.174, 1.562, 2.108, 2.827, 3.736, 4.847, 6.169",\
                 "0.9077, 0.95, 1.095, 1.36, 1.755, 2.293, 3.004, 3.906, 5.009, 6.326",\
                 "1.135, 1.181, 1.335, 1.608, 2.014, 2.563, 3.264, 4.153, 5.246, 6.554",\
                 "1.409, 1.461, 1.629, 1.92, 2.338, 2.899, 3.614, 4.492, 5.572, 6.869",\
                 "1.726, 1.784, 1.971, 2.288, 2.727, 3.303, 4.034, 4.928, 5.996, 7.277",\
                 "2.083, 2.148, 2.356, 2.704, 3.176, 3.774, 4.521, 5.434, 6.52, 7.791");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2214, 0.24, 0.3048, 0.4265, 0.615, 0.8791, 1.226, 1.663, 2.196, 2.83",\
                 "0.2199, 0.2388, 0.3042, 0.4262, 0.615, 0.8793, 1.226, 1.664, 2.195, 2.831",\
                 "0.2366, 0.2511, 0.3067, 0.4244, 0.6145, 0.8792, 1.226, 1.664, 2.196, 2.831",\
                 "0.3478, 0.3633, 0.4151, 0.5039, 0.6478, 0.8838, 1.226, 1.662, 2.196, 2.831",\
                 "0.4835, 0.5018, 0.5654, 0.6744, 0.8278, 1.018, 1.287, 1.677, 2.197, 2.832",\
                 "0.6434, 0.6672, 0.7422, 0.8706, 1.047, 1.272, 1.535, 1.849, 2.279, 2.85",\
                 "0.826, 0.856, 0.9434, 1.094, 1.298, 1.552, 1.853, 2.198, 2.578, 3.054",\
                 "1.031, 1.065, 1.171, 1.348, 1.579, 1.86, 2.196, 2.582, 3.015, 3.48",\
                 "1.262, 1.299, 1.423, 1.624, 1.889, 2.208, 2.574, 2.996, 3.471, 3.995",\
                 "1.516, 1.564, 1.701, 1.933, 2.23, 2.586, 2.991, 3.447, 3.962, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.6239, 0.6898, 0.9221, 1.365, 2.052, 3.015, 4.28, 5.871, 7.813, 10.13",\
                 "0.6241, 0.6895, 0.9227, 1.365, 2.052, 3.015, 4.28, 5.872, 7.814, 10.12",\
                 "0.6247, 0.6905, 0.9225, 1.365, 2.053, 3.015, 4.28, 5.872, 7.814, 10.13",\
                 "0.6455, 0.707, 0.9292, 1.366, 2.053, 3.016, 4.28, 5.872, 7.815, 10.13",\
                 "0.72, 0.782, 0.9916, 1.396, 2.057, 3.016, 4.281, 5.872, 7.816, 10.13",\
                 "0.8098, 0.8708, 1.087, 1.493, 2.117, 3.03, 4.281, 5.873, 7.815, 10.13",\
                 "0.9506, 1.006, 1.209, 1.608, 2.24, 3.116, 4.311, 5.875, 7.816, 10.13",\
                 "1.131, 1.188, 1.383, 1.763, 2.385, 3.266, 4.42, 5.924, 7.821, 10.13",\
                 "1.335, 1.396, 1.6, 1.971, 2.571, 3.444, 4.599, 6.057, 7.893, 10.14",\
                 "1.562, 1.625, 1.84, 2.23, 2.811, 3.657, 4.812, 6.265, 8.048, 10.24");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1372, 0.1497, 0.1925, 0.2702, 0.3873, 0.548, 0.7564, 1.017, 1.335, 1.712",\
                 "0.1514, 0.1639, 0.2064, 0.2842, 0.4014, 0.562, 0.7704, 1.031, 1.349, 1.726",\
                 "0.205, 0.2174, 0.2585, 0.3349, 0.4517, 0.6121, 0.8205, 1.081, 1.399, 1.776",\
                 "0.2634, 0.2808, 0.3368, 0.4294, 0.5522, 0.7115, 0.9191, 1.179, 1.496, 1.874",\
                 "0.2992, 0.3213, 0.393, 0.5117, 0.6699, 0.8598, 1.077, 1.336, 1.652, 2.028",\
                 "0.308, 0.3348, 0.4218, 0.5669, 0.7598, 0.9919, 1.258, 1.552, 1.874, 2.25",\
                 "0.2867, 0.3182, 0.4204, 0.592, 0.8213, 1.095, 1.408, 1.757, 2.136, 2.54",\
                 "0.2332, 0.269, 0.3866, 0.5847, 0.8495, 1.168, 1.529, 1.929, 2.366, 2.834",\
                 "0.1479, 0.1878, 0.3195, 0.5434, 0.8441, 1.206, 1.617, 2.07, 2.562, 3.093",\
                 "0.0289, 0.0733, 0.2185, 0.4659, 0.8027, 1.208, 1.669, 2.177, 2.726, 3.316");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.4133, 0.4457, 0.5569, 0.7678, 1.095, 1.554, 2.158, 2.918, 3.846, 4.952",\
                 "0.4255, 0.4575, 0.5703, 0.7818, 1.11, 1.57, 2.173, 2.934, 3.862, 4.968",\
                 "0.4696, 0.5015, 0.6142, 0.8273, 1.157, 1.617, 2.221, 2.982, 3.911, 5.017",\
                 "0.5458, 0.5788, 0.6912, 0.9022, 1.23, 1.69, 2.294, 3.055, 3.984, 5.09",\
                 "0.6535, 0.6889, 0.8092, 1.028, 1.353, 1.808, 2.409, 3.168, 4.092, 5.198",\
                 "0.8087, 0.8464, 0.9726, 1.201, 1.54, 1.994, 2.586, 3.337, 4.258, 5.358",\
                 "1.008, 1.05, 1.188, 1.429, 1.779, 2.25, 2.844, 3.585, 4.496, 5.59",\
                 "1.244, 1.291, 1.446, 1.708, 2.076, 2.56, 3.174, 3.92, 4.82, 5.902",\
                 "1.513, 1.567, 1.741, 2.03, 2.426, 2.929, 3.559, 4.327, 5.236, 6.304",\
                 "1.817, 1.878, 2.07, 2.39, 2.821, 3.356, 4.006, 4.792, 5.724, 6.805");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.219, 0.2376, 0.3022, 0.424, 0.6129, 0.8768, 1.224, 1.66, 2.194, 2.828",\
                 "0.2174, 0.2364, 0.3015, 0.4238, 0.6125, 0.8763, 1.223, 1.66, 2.194, 2.828",\
                 "0.2352, 0.2495, 0.3046, 0.4219, 0.6121, 0.8771, 1.224, 1.661, 2.193, 2.828",\
                 "0.3456, 0.3622, 0.4134, 0.5027, 0.6458, 0.8819, 1.224, 1.661, 2.193, 2.827",\
                 "0.4801, 0.4983, 0.5624, 0.6718, 0.8254, 1.016, 1.285, 1.673, 2.193, 2.828",\
                 "0.639, 0.662, 0.7378, 0.8636, 1.042, 1.268, 1.533, 1.846, 2.275, 2.847",\
                 "0.8192, 0.848, 0.9362, 1.086, 1.289, 1.543, 1.846, 2.193, 2.574, 3.05",\
                 "1.023, 1.056, 1.161, 1.334, 1.567, 1.846, 2.183, 2.572, 3.006, 3.473",\
                 "1.247, 1.285, 1.413, 1.611, 1.872, 2.19, 2.556, 2.977, 3.459, 3.983",\
                 "1.497, 1.539, 1.681, 1.912, 2.21, 2.562, 2.966, 3.421, 3.937, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.501, 0.5562, 0.7499, 1.119, 1.694, 2.499, 3.556, 4.889, 6.514, 8.455",\
                 "0.5012, 0.5557, 0.7503, 1.119, 1.694, 2.499, 3.557, 4.889, 6.514, 8.455",\
                 "0.5023, 0.5571, 0.7502, 1.12, 1.695, 2.499, 3.557, 4.888, 6.513, 8.451",\
                 "0.532, 0.5818, 0.7616, 1.121, 1.694, 2.499, 3.557, 4.89, 6.517, 8.454",\
                 "0.6064, 0.6576, 0.8362, 1.167, 1.706, 2.499, 3.558, 4.892, 6.515, 8.455",\
                 "0.7106, 0.7598, 0.934, 1.273, 1.788, 2.534, 3.561, 4.89, 6.517, 8.453",\
                 "0.863, 0.911, 1.075, 1.402, 1.923, 2.649, 3.622, 4.903, 6.516, 8.456",\
                 "1.041, 1.091, 1.264, 1.577, 2.085, 2.815, 3.77, 4.994, 6.547, 8.457",\
                 "1.239, 1.294, 1.476, 1.804, 2.295, 3.009, 3.972, 5.174, 6.668, 8.511",\
                 "1.454, 1.514, 1.713, 2.061, 2.562, 3.257, 4.202, 5.414, 6.884, 8.664");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1373, 0.1499, 0.1925, 0.2704, 0.3875, 0.5482, 0.7566, 1.017, 1.335, 1.713",\
                 "0.152, 0.1646, 0.2071, 0.285, 0.402, 0.5626, 0.7711, 1.032, 1.349, 1.727",\
                 "0.2063, 0.2187, 0.2597, 0.3362, 0.453, 0.6135, 0.8219, 1.083, 1.4, 1.778",\
                 "0.2646, 0.2819, 0.3381, 0.4308, 0.5535, 0.7128, 0.9205, 1.181, 1.498, 1.875",\
                 "0.2969, 0.3191, 0.3911, 0.5111, 0.67, 0.8606, 1.077, 1.337, 1.653, 2.03",\
                 "0.2977, 0.325, 0.4136, 0.5613, 0.756, 0.9899, 1.257, 1.552, 1.875, 2.25",\
                 "0.2626, 0.2952, 0.4005, 0.5762, 0.8093, 1.087, 1.403, 1.753, 2.133, 2.538",\
                 "0.1899, 0.227, 0.3484, 0.5529, 0.8242, 1.149, 1.515, 1.92, 2.359, 2.83",\
                 "0.079, 0.1205, 0.257, 0.4893, 0.7997, 1.171, 1.591, 2.05, 2.548, 3.082",\
                 "-0.073, -0.0264, 0.1259, 0.3836, 0.7321, 1.15, 1.623, 2.142, 2.699, 3.295");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.494, 0.5323, 0.666, 0.9188, 1.312, 1.862, 2.585, 3.496, 4.607, 5.932",\
                 "0.5039, 0.5426, 0.6773, 0.9314, 1.325, 1.875, 2.599, 3.51, 4.623, 5.947",\
                 "0.5447, 0.5834, 0.7181, 0.973, 1.367, 1.919, 2.644, 3.556, 4.668, 5.994",\
                 "0.6187, 0.6576, 0.7912, 1.045, 1.438, 1.989, 2.714, 3.626, 4.739, 6.064",\
                 "0.7317, 0.7738, 0.9144, 1.17, 1.558, 2.104, 2.824, 3.733, 4.843, 6.169",\
                 "0.9029, 0.9452, 1.09, 1.356, 1.752, 2.289, 3.001, 3.903, 5.007, 6.326",\
                 "1.13, 1.176, 1.33, 1.603, 2.011, 2.559, 3.261, 4.151, 5.245, 6.553",\
                 "1.403, 1.454, 1.625, 1.916, 2.334, 2.896, 3.612, 4.491, 5.571, 6.868",\
                 "1.719, 1.778, 1.965, 2.283, 2.723, 3.299, 4.031, 4.926, 5.995, 7.278",\
                 "2.075, 2.14, 2.35, 2.699, 3.172, 3.77, 4.518, 5.432, 6.518, 7.789");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.219, 0.2377, 0.3023, 0.424, 0.6128, 0.8772, 1.224, 1.66, 2.193, 2.828",\
                 "0.2175, 0.2365, 0.3017, 0.4238, 0.6124, 0.8771, 1.224, 1.661, 2.194, 2.829",\
                 "0.2344, 0.2488, 0.3042, 0.4219, 0.612, 0.877, 1.224, 1.661, 2.194, 2.829",\
                 "0.3444, 0.3604, 0.4121, 0.5017, 0.6454, 0.8817, 1.224, 1.661, 2.194, 2.827",\
                 "0.4796, 0.4978, 0.5618, 0.672, 0.8254, 1.015, 1.284, 1.674, 2.194, 2.828",\
                 "0.6378, 0.661, 0.7372, 0.8666, 1.044, 1.27, 1.534, 1.847, 2.275, 2.849",\
                 "0.819, 0.8468, 0.9376, 1.09, 1.293, 1.547, 1.85, 2.195, 2.576, 3.05",\
                 "1.023, 1.057, 1.164, 1.339, 1.573, 1.859, 2.192, 2.583, 3.012, 3.477",\
                 "1.252, 1.29, 1.414, 1.617, 1.883, 2.203, 2.571, 2.992, 3.47, 3.992",\
                 "1.504, 1.548, 1.693, 1.924, 2.224, 2.58, 2.987, 3.444, 3.957, 4.526");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.6182, 0.6838, 0.9168, 1.36, 2.048, 3.011, 4.276, 5.87, 7.813, 10.13",\
                 "0.6179, 0.6842, 0.9175, 1.359, 2.048, 3.011, 4.276, 5.869, 7.816, 10.13",\
                 "0.6189, 0.6847, 0.9171, 1.36, 2.048, 3.011, 4.276, 5.869, 7.813, 10.13",\
                 "0.6408, 0.702, 0.924, 1.361, 2.048, 3.011, 4.276, 5.869, 7.814, 10.13",\
                 "0.7146, 0.7764, 0.9872, 1.392, 2.053, 3.012, 4.277, 5.87, 7.814, 10.13",\
                 "0.806, 0.866, 1.08, 1.488, 2.112, 3.027, 4.277, 5.871, 7.815, 10.13",\
                 "0.9476, 1.003, 1.204, 1.609, 2.236, 3.11, 4.308, 5.873, 7.814, 10.13",\
                 "1.127, 1.184, 1.379, 1.76, 2.384, 3.263, 4.416, 5.921, 7.82, 10.13",\
                 "1.333, 1.392, 1.595, 1.969, 2.565, 3.445, 4.596, 6.055, 7.89, 10.15",\
                 "1.555, 1.621, 1.837, 2.227, 2.806, 3.653, 4.81, 6.264, 8.047, 10.24");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1432, 0.1561, 0.199, 0.2777, 0.3957, 0.557, 0.7658, 1.027, 1.344, 1.722",\
                 "0.1578, 0.1705, 0.2135, 0.2921, 0.4101, 0.5715, 0.7803, 1.041, 1.359, 1.736",\
                 "0.2124, 0.2246, 0.2658, 0.3433, 0.461, 0.6223, 0.831, 1.092, 1.409, 1.787",\
                 "0.2768, 0.2937, 0.3484, 0.4397, 0.5618, 0.7217, 0.9294, 1.19, 1.507, 1.884",\
                 "0.3172, 0.3384, 0.4081, 0.525, 0.6818, 0.8708, 1.087, 1.346, 1.662, 2.039",\
                 "0.3257, 0.3515, 0.4363, 0.58, 0.7717, 1.003, 1.268, 1.562, 1.884, 2.259",\
                 "0.2977, 0.3284, 0.4289, 0.5995, 0.8286, 1.103, 1.417, 1.766, 2.144, 2.548",\
                 "0.232, 0.2672, 0.3834, 0.5815, 0.8475, 1.168, 1.531, 1.934, 2.372, 2.841",\
                 "0.1288, 0.1682, 0.2985, 0.5233, 0.8272, 1.193, 1.61, 2.067, 2.563, 3.095",\
                 "-0.014, 0.0298, 0.1744, 0.4234, 0.7644, 1.176, 1.645, 2.161, 2.715, 3.31");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5798, 0.6178, 0.7514, 1.004, 1.397, 1.947, 2.67, 3.58, 4.691, 6.016",\
                 "0.591, 0.629, 0.7635, 1.017, 1.41, 1.961, 2.684, 3.595, 4.706, 6.031",\
                 "0.6311, 0.6695, 0.8041, 1.059, 1.453, 2.005, 2.729, 3.641, 4.753, 6.077",\
                 "0.7053, 0.7437, 0.8767, 1.131, 1.523, 2.075, 2.799, 3.71, 4.823, 6.148",\
                 "0.8238, 0.8639, 1.002, 1.254, 1.642, 2.189, 2.91, 3.818, 4.928, 6.253",\
                 "0.9966, 1.038, 1.18, 1.443, 1.835, 2.373, 3.085, 3.987, 5.091, 6.409",\
                 "1.231, 1.275, 1.423, 1.692, 2.096, 2.642, 3.343, 4.233, 5.328, 6.637",\
                 "1.516, 1.565, 1.725, 2.007, 2.421, 2.981, 3.694, 4.572, 5.653, 6.95",\
                 "1.845, 1.898, 2.075, 2.381, 2.813, 3.385, 4.115, 5.007, 6.074, 7.356",\
                 "2.216, 2.276, 2.471, 2.804, 3.267, 3.859, 4.603, 5.515, 6.599, 7.87");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2613, 0.2794, 0.3426, 0.4634, 0.6513, 0.9152, 1.262, 1.698, 2.232, 2.866",\
                 "0.2599, 0.2782, 0.342, 0.4631, 0.6512, 0.9144, 1.261, 1.698, 2.231, 2.866",\
                 "0.2754, 0.2897, 0.3442, 0.4612, 0.6507, 0.9152, 1.262, 1.698, 2.23, 2.865",\
                 "0.3975, 0.4109, 0.4572, 0.5405, 0.6837, 0.9201, 1.262, 1.699, 2.232, 2.866",\
                 "0.5478, 0.5641, 0.621, 0.7222, 0.868, 1.054, 1.323, 1.711, 2.231, 2.865",\
                 "0.7264, 0.7456, 0.8116, 0.9296, 1.097, 1.316, 1.573, 1.885, 2.316, 2.885",\
                 "0.9306, 0.9538, 1.029, 1.166, 1.358, 1.601, 1.898, 2.238, 2.614, 3.087",\
                 "1.156, 1.184, 1.274, 1.431, 1.649, 1.922, 2.247, 2.631, 3.055, 3.516",\
                 "1.407, 1.444, 1.545, 1.725, 1.972, 2.277, 2.632, 3.048, 3.519, 4.036",\
                 "1.689, 1.727, 1.846, 2.049, 2.329, 2.665, 3.058, 3.506, 4.013, 4.576");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.728, 0.7957, 1.029, 1.473, 2.162, 3.125, 4.391, 5.982, 7.926, 10.24",\
                 "0.7286, 0.7947, 1.029, 1.474, 2.161, 3.125, 4.391, 5.985, 7.928, 10.24",\
                 "0.7293, 0.7955, 1.029, 1.474, 2.162, 3.125, 4.391, 5.984, 7.928, 10.24",\
                 "0.7396, 0.8048, 1.033, 1.474, 2.162, 3.124, 4.391, 5.983, 7.928, 10.25",\
                 "0.812, 0.8722, 1.083, 1.495, 2.164, 3.124, 4.393, 5.983, 7.927, 10.24",\
                 "0.898, 0.9602, 1.18, 1.584, 2.214, 3.136, 4.391, 5.985, 7.928, 10.24",\
                 "1.026, 1.084, 1.294, 1.703, 2.334, 3.214, 4.417, 5.985, 7.928, 10.24",\
                 "1.202, 1.26, 1.461, 1.851, 2.479, 3.361, 4.519, 6.029, 7.932, 10.24",\
                 "1.409, 1.468, 1.672, 2.053, 2.659, 3.539, 4.696, 6.159, 7.998, 10.26",\
                 "1.636, 1.7, 1.918, 2.306, 2.892, 3.75, 4.91, 6.363, 8.152, 10.34");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.1589, 0.1707, 0.2116, 0.2871, 0.4021, 0.5611, 0.7687, 1.029, 1.346, 1.724",\
                 "0.1729, 0.1852, 0.2261, 0.3015, 0.4167, 0.5755, 0.783, 1.043, 1.361, 1.738",\
                 "0.2259, 0.2376, 0.2777, 0.3524, 0.4674, 0.6264, 0.8338, 1.094, 1.411, 1.789",\
                 "0.2907, 0.3069, 0.3594, 0.4485, 0.5681, 0.7261, 0.9328, 1.193, 1.509, 1.886",\
                 "0.3322, 0.3528, 0.4209, 0.5349, 0.6889, 0.8761, 1.091, 1.35, 1.665, 2.042",\
                 "0.3484, 0.3738, 0.4569, 0.5969, 0.7845, 1.013, 1.275, 1.567, 1.888, 2.264",\
                 "0.3361, 0.3664, 0.4648, 0.6309, 0.8524, 1.122, 1.431, 1.777, 2.153, 2.555",\
                 "0.2933, 0.3286, 0.4423, 0.6342, 0.8921, 1.202, 1.559, 1.954, 2.388, 2.854",\
                 "0.2205, 0.2593, 0.3879, 0.6051, 0.8978, 1.252, 1.656, 2.103, 2.59, 3.118",\
                 "0.1147, 0.1576, 0.3, 0.5425, 0.87, 1.268, 1.72, 2.22, 2.763, 3.348");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.5798, 0.6178, 0.7514, 1.004, 1.397, 1.947, 2.67, 3.58, 4.691, 6.016",\
                 "0.591, 0.629, 0.7635, 1.017, 1.41, 1.961, 2.684, 3.595, 4.706, 6.031",\
                 "0.6311, 0.6695, 0.8041, 1.059, 1.453, 2.005, 2.729, 3.641, 4.753, 6.077",\
                 "0.7053, 0.7437, 0.8767, 1.131, 1.523, 2.075, 2.799, 3.71, 4.823, 6.148",\
                 "0.8238, 0.8639, 1.002, 1.254, 1.642, 2.189, 2.91, 3.818, 4.928, 6.253",\
                 "0.9966, 1.038, 1.18, 1.443, 1.835, 2.373, 3.085, 3.987, 5.091, 6.409",\
                 "1.231, 1.275, 1.423, 1.692, 2.096, 2.642, 3.343, 4.233, 5.328, 6.637",\
                 "1.516, 1.565, 1.725, 2.007, 2.421, 2.981, 3.694, 4.572, 5.653, 6.95",\
                 "1.845, 1.898, 2.075, 2.381, 2.813, 3.385, 4.115, 5.007, 6.074, 7.356",\
                 "2.216, 2.276, 2.471, 2.804, 3.267, 3.859, 4.603, 5.515, 6.599, 7.87");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.2613, 0.2794, 0.3426, 0.4634, 0.6513, 0.9152, 1.262, 1.698, 2.232, 2.866",\
                 "0.2599, 0.2782, 0.342, 0.4631, 0.6512, 0.9144, 1.261, 1.698, 2.231, 2.866",\
                 "0.2754, 0.2897, 0.3442, 0.4612, 0.6507, 0.9152, 1.262, 1.698, 2.23, 2.865",\
                 "0.3975, 0.4109, 0.4572, 0.5405, 0.6837, 0.9201, 1.262, 1.699, 2.232, 2.866",\
                 "0.5478, 0.5641, 0.621, 0.7222, 0.868, 1.054, 1.323, 1.711, 2.231, 2.865",\
                 "0.7264, 0.7456, 0.8116, 0.9296, 1.097, 1.316, 1.573, 1.885, 2.316, 2.885",\
                 "0.9306, 0.9538, 1.029, 1.166, 1.358, 1.601, 1.898, 2.238, 2.614, 3.087",\
                 "1.156, 1.184, 1.274, 1.431, 1.649, 1.922, 2.247, 2.631, 3.055, 3.516",\
                 "1.407, 1.444, 1.545, 1.725, 1.972, 2.277, 2.632, 3.048, 3.519, 4.036",\
                 "1.689, 1.727, 1.846, 2.049, 2.329, 2.665, 3.058, 3.506, 4.013, 4.576");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002821, 0.009214, 0.02142, 0.04044, 0.06713, 0.1022, 0.1465, 0.2005, 0.2649");
          values("0.728, 0.7957, 1.029, 1.473, 2.162, 3.125, 4.391, 5.982, 7.926, 10.24",\
                 "0.7286, 0.7947, 1.029, 1.474, 2.161, 3.125, 4.391, 5.985, 7.928, 10.24",\
                 "0.7293, 0.7955, 1.029, 1.474, 2.162, 3.125, 4.391, 5.984, 7.928, 10.24",\
                 "0.7396, 0.8048, 1.033, 1.474, 2.162, 3.124, 4.391, 5.983, 7.928, 10.25",\
                 "0.812, 0.8722, 1.083, 1.495, 2.164, 3.124, 4.393, 5.983, 7.927, 10.24",\
                 "0.898, 0.9602, 1.18, 1.584, 2.214, 3.136, 4.391, 5.985, 7.928, 10.24",\
                 "1.026, 1.084, 1.294, 1.703, 2.334, 3.214, 4.417, 5.985, 7.928, 10.24",\
                 "1.202, 1.26, 1.461, 1.851, 2.479, 3.361, 4.519, 6.029, 7.932, 10.24",\
                 "1.409, 1.468, 1.672, 2.053, 2.659, 3.539, 4.696, 6.159, 7.998, 10.26",\
                 "1.636, 1.7, 1.918, 2.306, 2.892, 3.75, 4.91, 6.363, 8.152, 10.34");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi221_4) {
    area : 87.808000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C" ;
      value : "0.00015444" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C" ;
      value : "0.0001984422" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C" ;
      value : "0.0001547535" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C" ;
      value : "0.0001984422" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C" ;
      value : "0.0002197635" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C" ;
      value : "0.0001984422" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C" ;
      value : "0.0002848824" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C" ;
      value : "0.0001984554" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C" ;
      value : "0.0001547535" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C" ;
      value : "0.0002019006" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C" ;
      value : "0.000155067" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C" ;
      value : "0.0002018973" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C" ;
      value : "0.0002200803" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C" ;
      value : "0.0002019006" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C" ;
      value : "0.0002880603" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C" ;
      value : "0.0002019171" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C" ;
      value : "0.0002197635" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C" ;
      value : "0.0002019006" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C" ;
      value : "0.0002200803" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C" ;
      value : "0.0002019006" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C" ;
      value : "0.0002850903" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C" ;
      value : "0.0002019006" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C" ;
      value : "0.0002880636" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C" ;
      value : "0.0002019171" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C" ;
      value : "0.0001140381" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C" ;
      value : "0.0001140348" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C" ;
      value : "0.0001140381" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C" ;
      value : "0.0001140348" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C" ;
      value : "0.0001140381" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C" ;
      value : "0.0001140348" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C" ;
      value : "0.0001140447" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C" ;
      value : "0.0001140513" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002880636" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01919 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07291, 0.07296, 0.07296, 0.07285, 0.07267, 0.07267, 0.07262, \
                 0.07261, 0.0726, 0.07258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05, -0.05007, -0.04996, -0.04985, -0.04983, -0.04987, -0.04991, \
                 -0.04995, -0.04997, -0.05009");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01907, 0.019, 0.01906, 0.01911, 0.01909, 0.0192, 0.01919, 0.0192, \
                 0.01921, 0.0192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01904, -0.01911, -0.01913, -0.01915, -0.01923, -0.01924, \
                 -0.01927, -0.01929, -0.01932");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07296, 0.073, 0.073, 0.07293, 0.07275, 0.07274, 0.07266, 0.07263, \
                 0.07262, 0.07259");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05, -0.05009, -0.05001, -0.0499, -0.04982, -0.04989, -0.04993, \
                 -0.04997, -0.04998, -0.05007");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01906, 0.019, 0.01906, 0.01911, 0.0191, 0.01921, 0.01919, 0.0192, \
                 0.01921, 0.0192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01904, -0.01911, -0.01913, -0.01915, -0.01923, -0.01923, \
                 -0.01926, -0.01929, -0.01933");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07296, 0.07297, 0.073, 0.07292, 0.07274, 0.07272, 0.07267, 0.07264, \
                 0.07262, 0.0726");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05001, -0.05009, -0.05001, -0.04994, -0.04982, -0.04987, -0.04992, \
                 -0.04996, -0.04997, -0.05009");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01906, 0.01901, 0.01908, 0.01908, 0.01911, 0.0192, 0.01919, \
                 0.0192, 0.01921, 0.01921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01904, -0.01913, -0.01911, -0.01915, -0.01922, -0.01923, \
                 -0.01926, -0.01929, -0.01933");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01901, 0.01896, 0.01904, 0.01905, 0.01904, 0.01915, 0.01914, \
                 0.01914, 0.01916, 0.01915");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01891, -0.01888, -0.01899, -0.01895, -0.01897, -0.01906, -0.01908, \
                 -0.0191, -0.01914, -0.01918");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01904, 0.01901, 0.0191, 0.01912, 0.01911, 0.01921, 0.01918, \
                 0.0192, 0.01921, 0.0192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01904, -0.01913, -0.01911, -0.01916, -0.01921, -0.01922, \
                 -0.01927, -0.01929, -0.01933");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06877, 0.06867, 0.06854, 0.06854, 0.06843, 0.06851, 0.06844, \
                 0.06832, 0.06822, 0.06805");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01925, -0.01926, -0.0193, -0.01933, -0.0193, -0.01936, -0.01937, \
                 -0.01936, -0.01938, -0.01938");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06878, 0.06868, 0.06854, 0.06856, 0.06844, 0.06852, 0.06843, \
                 0.06834, 0.06822, 0.06805");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01925, -0.01926, -0.0193, -0.01932, -0.01931, -0.01936, -0.01937, \
                 -0.01936, -0.01938, -0.01937");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06878, 0.06868, 0.06862, 0.06853, 0.06845, 0.06851, 0.06843, \
                 0.06835, 0.06822, 0.06805");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01926, -0.01926, -0.0193, -0.01933, -0.01928, -0.01936, -0.01938, \
                 -0.01937, -0.01936, -0.01938");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1206, 0.1204, 0.1204, 0.1202, 0.12, 0.12, 0.1199, 0.1197, 0.1195, \
                 0.1191");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01919, -0.0192, -0.01924, -0.01925, -0.01924, -0.0193, -0.01931, \
                 -0.01931, -0.01931, -0.01933");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06876, 0.06868, 0.06857, 0.06853, 0.0685, 0.06849, 0.06842, \
                 0.06834, 0.06822, 0.06806");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01925, -0.01926, -0.01931, -0.01938, -0.01932, -0.01937, -0.01936, \
                 -0.01937, -0.01937, -0.01937");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01828 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07143, 0.06694, 0.06548, 0.06523, 0.06508, 0.06509, 0.06505, \
                 0.06501, 0.06499, 0.06497");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06538, -0.06548, -0.06532, -0.06519, -0.06502, -0.06503, -0.06498, \
                 -0.06494, -0.06497, -0.06498");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0191, 0.01907, 0.0191, 0.01912, 0.01912, 0.0192, 0.01921, 0.01921, \
                 0.01921, 0.0192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01909, -0.01909, -0.01917, -0.01912, -0.01916, -0.01922, -0.01923, \
                 -0.01927, -0.01931, -0.01932");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07141, 0.06693, 0.06549, 0.06528, 0.06512, 0.06511, 0.06505, \
                 0.06504, 0.06499, 0.06497");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06539, -0.06544, -0.06538, -0.06526, -0.06514, -0.06506, -0.06501, \
                 -0.06499, -0.06495, -0.06493");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0191, 0.01907, 0.0191, 0.01912, 0.01912, 0.0192, 0.01919, 0.01919, \
                 0.0192, 0.0192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01909, -0.01909, -0.01914, -0.01912, -0.01916, -0.01922, -0.01923, \
                 -0.01926, -0.0193, -0.01933");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07141, 0.06695, 0.06549, 0.0653, 0.06515, 0.06513, 0.06506, \
                 0.06504, 0.065, 0.06498");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06539, -0.06543, -0.06538, -0.06528, -0.06507, -0.06506, -0.06502, \
                 -0.06498, -0.06495, -0.06496");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0191, 0.01908, 0.0191, 0.01912, 0.01911, 0.01921, 0.0192, 0.0192, \
                 0.01921, 0.0192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01909, -0.0191, -0.01916, -0.01914, -0.01916, -0.01922, -0.01923, \
                 -0.01925, -0.0193, -0.01933");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01906, 0.01903, 0.01906, 0.01907, 0.01909, 0.01916, 0.01915, \
                 0.01915, 0.01916, 0.01915");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01893, -0.01896, -0.019, -0.01897, -0.01901, -0.01905, -0.01909, \
                 -0.0191, -0.01914, -0.01918");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0191, 0.01908, 0.01911, 0.01912, 0.01912, 0.0192, 0.0192, 0.0192, \
                 0.01921, 0.0192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01909, -0.01909, -0.01912, -0.01913, -0.01916, -0.01921, -0.01923, \
                 -0.01927, -0.0193, -0.01932");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06881, 0.06873, 0.06859, 0.06853, 0.06843, 0.06848, 0.06844, \
                 0.06836, 0.06818, 0.06803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01927, -0.01924, -0.01933, -0.01933, -0.01929, -0.01938, -0.01937, \
                 -0.01938, -0.01937, -0.01937");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06881, 0.06873, 0.06859, 0.06853, 0.06843, 0.06849, 0.06845, \
                 0.06835, 0.06819, 0.06803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01927, -0.01925, -0.01933, -0.01933, -0.0193, -0.01938, -0.01936, \
                 -0.01937, -0.01937, -0.01938");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06881, 0.06873, 0.06859, 0.06852, 0.06843, 0.06852, 0.06843, \
                 0.06835, 0.06823, 0.06808");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01927, -0.01928, -0.0193, -0.01931, -0.01931, -0.01938, -0.01939, \
                 -0.01936, -0.01937, -0.01937");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1206, 0.1206, 0.1204, 0.1202, 0.1201, 0.12, 0.1199, 0.1197, \
                 0.1195, 0.1191");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01921, -0.01922, -0.01925, -0.01925, -0.01925, -0.01932, -0.01932, \
                 -0.01931, -0.01931, -0.01932");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06879, 0.06872, 0.06859, 0.06855, 0.06843, 0.0685, 0.06843, \
                 0.06834, 0.06822, 0.06803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01927, -0.01924, -0.01931, -0.01931, -0.0193, -0.01937, -0.01937, \
                 -0.01937, -0.01937, -0.01937");
        }
      }
    }

    pin(B1) {
      capacitance : 0.0175 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06305, 0.06291, 0.0629, 0.06294, 0.0628, 0.06284, 0.06277, 0.06281, \
                 0.06278, 0.06281");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03874, -0.03875, -0.03877, -0.03883, -0.03875, -0.039, -0.03902, \
                 -0.03909, -0.03918, -0.03927");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05522, 0.05504, 0.05515, 0.05506, 0.05512, 0.05519, 0.05521, \
                 0.05524, 0.05521, 0.05516");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05497, -0.05492, -0.05481, -0.05485, -0.05476, -0.05498, -0.05497, \
                 -0.055, -0.05499, -0.05499");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05515, 0.05506, 0.05513, 0.05516, 0.05517, 0.05523, 0.05526, \
                 0.05521, 0.05522, 0.05521");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04557, -0.04718, -0.05009, -0.05165, -0.05233, -0.05289, -0.05318, \
                 -0.05338, -0.0535, -0.05361");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06303, 0.0629, 0.06282, 0.06295, 0.06276, 0.06287, 0.06273, \
                 0.06283, 0.0628, 0.06282");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03874, -0.03875, -0.03876, -0.0388, -0.03875, -0.039, -0.03908, \
                 -0.03908, -0.03916, -0.03927");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05523, 0.05504, 0.05515, 0.05506, 0.0551, 0.05521, 0.05521, \
                 0.05522, 0.05523, 0.05513");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05497, -0.05492, -0.05481, -0.05485, -0.05477, -0.055, -0.05498, \
                 -0.05501, -0.05501, -0.05498");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05515, 0.05506, 0.05509, 0.05528, 0.05509, 0.05517, 0.05525, \
                 0.05522, 0.05521, 0.0552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04558, -0.04718, -0.0501, -0.05164, -0.05234, -0.05287, -0.05318, \
                 -0.05339, -0.05352, -0.05361");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06303, 0.06291, 0.06283, 0.06295, 0.06279, 0.06289, 0.06274, \
                 0.06282, 0.06281, 0.06279");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03874, -0.03874, -0.03875, -0.0388, -0.03873, -0.039, -0.03909, \
                 -0.03905, -0.03915, -0.03931");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05517, 0.05504, 0.05511, 0.05509, 0.0551, 0.05521, 0.05517, \
                 0.05522, 0.05514, 0.05519");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05497, -0.05492, -0.05481, -0.05483, -0.05481, -0.05498, -0.055, \
                 -0.05498, -0.05501, -0.05499");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05515, 0.05507, 0.0551, 0.0551, 0.05513, 0.05521, 0.05517, 0.05523, \
                 0.05522, 0.05524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04558, -0.04716, -0.05009, -0.05169, -0.05233, -0.05292, -0.05317, \
                 -0.05337, -0.05349, -0.0536");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05519, 0.05509, 0.05514, 0.05505, 0.05515, 0.05516, 0.05519, \
                 0.05513, 0.05516, 0.05514");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05504, -0.05495, -0.05484, -0.05486, -0.05474, -0.05499, -0.05501, \
                 -0.055, -0.055, -0.0551");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0552, 0.05505, 0.05495, 0.0551, 0.0551, 0.05521, 0.05514, 0.05514, \
                 0.05518, 0.05516");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05497, -0.05491, -0.05485, -0.05487, -0.05475, -0.055, -0.05497, \
                 -0.05507, -0.05501, -0.05497");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05516, 0.05509, 0.05517, 0.05507, 0.05508, 0.05524, 0.05521, \
                 0.0552, 0.05522, 0.05516");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04375, -0.04504, -0.04733, -0.04948, -0.05079, -0.0518, -0.05225, \
                 -0.05261, -0.05276, -0.05298");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05519, 0.05506, 0.05513, 0.05502, 0.05511, 0.05516, 0.05527, \
                 0.0552, 0.05523, 0.05518");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04572, -0.04716, -0.05009, -0.05167, -0.05234, -0.0529, -0.05318, \
                 -0.05337, -0.0535, -0.05361");
        }
      }
    }

    pin(B2) {
      capacitance : 0.0168 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0616, 0.05679, 0.05538, 0.05528, 0.05518, 0.05518, 0.0552, 0.05521, \
                 0.05517, 0.05518");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05515, -0.0551, -0.05517, -0.05506, -0.05487, -0.05508, -0.05505, \
                 -0.05504, -0.05517, -0.05504");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05529, 0.05512, 0.0551, 0.05507, 0.05507, 0.05517, 0.05515, \
                 0.0552, 0.05516, 0.05518");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05501, -0.05491, -0.05493, -0.05479, -0.05477, -0.05498, -0.05499, \
                 -0.05503, -0.05499, -0.05497");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05519, 0.05511, 0.05513, 0.05511, 0.05509, 0.05524, 0.05516, \
                 0.05515, 0.05522, 0.05521");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04561, -0.04717, -0.05013, -0.05165, -0.05233, -0.05293, -0.05317, \
                 -0.05335, -0.05348, -0.05359");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0616, 0.05677, 0.05533, 0.05526, 0.05517, 0.05522, 0.05517, \
                 0.05519, 0.05515, 0.05517");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05513, -0.05507, -0.05515, -0.05505, -0.05492, -0.05508, -0.05502, \
                 -0.05507, -0.05503, -0.05502");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05529, 0.05512, 0.05513, 0.05506, 0.05508, 0.05519, 0.05515, \
                 0.05521, 0.05514, 0.05516");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05501, -0.05491, -0.05493, -0.05479, -0.05476, -0.05498, -0.05501, \
                 -0.05499, -0.055, -0.05497");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05519, 0.05511, 0.05517, 0.0551, 0.0551, 0.05523, 0.05517, 0.0552, \
                 0.05524, 0.05517");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04559, -0.04717, -0.05013, -0.05158, -0.05231, -0.05292, -0.05317, \
                 -0.05336, -0.05348, -0.05361");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0616, 0.05677, 0.05534, 0.05528, 0.05517, 0.05514, 0.05518, \
                 0.05522, 0.05514, 0.05518");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05512, -0.05507, -0.05515, -0.05505, -0.05493, -0.05507, -0.05503, \
                 -0.05506, -0.05512, -0.05503");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05529, 0.05512, 0.0551, 0.05507, 0.05502, 0.05519, 0.05515, \
                 0.05519, 0.05514, 0.05518");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05501, -0.05491, -0.05493, -0.05479, -0.05474, -0.05499, -0.05501, \
                 -0.05499, -0.055, -0.05498");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05519, 0.05512, 0.05508, 0.0551, 0.0551, 0.05522, 0.05524, 0.05522, \
                 0.05515, 0.05519");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04559, -0.04717, -0.05013, -0.05165, -0.05239, -0.05291, -0.05319, \
                 -0.05333, -0.0535, -0.05361");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05527, 0.05515, 0.05513, 0.05513, 0.05503, 0.05515, 0.05516, \
                 0.05519, 0.05515, 0.05515");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05505, -0.05498, -0.05499, -0.05488, -0.05475, -0.05499, -0.05498, \
                 -0.05499, -0.055, -0.05499");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05529, 0.05512, 0.05513, 0.05506, 0.05506, 0.05516, 0.05515, \
                 0.0552, 0.05516, 0.05518");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05501, -0.0549, -0.05493, -0.05479, -0.05477, -0.05498, -0.05499, \
                 -0.05503, -0.05508, -0.05498");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05519, 0.05513, 0.05516, 0.05518, 0.05517, 0.05513, 0.05523, \
                 0.0552, 0.05528, 0.05518");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04369, -0.045, -0.04735, -0.04952, -0.05077, -0.05172, -0.05225, \
                 -0.05256, -0.0528, -0.053");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05519, 0.05515, 0.05507, 0.05507, 0.05503, 0.05515, 0.05514, \
                 0.05513, 0.05517, 0.05519");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04576, -0.04718, -0.05013, -0.05162, -0.0523, -0.05293, -0.05319, \
                 -0.05337, -0.0535, -0.05362");
        }
      }
    }

    pin(C) {
      capacitance : 0.01491 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0516, 0.05154, 0.05154, 0.0516, 0.05151, 0.0515, 0.05138, 0.05123, \
                 0.05103, 0.05069");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02306, -0.02304, -0.02312, -0.02314, -0.02317, -0.02323, -0.02326, \
                 -0.0233, -0.02337, -0.02342");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05119, 0.05112, 0.05113, 0.05115, 0.05112, 0.05106, 0.05094, \
                 0.0508, 0.05059, 0.05027");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02313, -0.02311, -0.02316, -0.0232, -0.02323, -0.02331, -0.02332, \
                 -0.02337, -0.02343, -0.02349");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05118, 0.05111, 0.05119, 0.05117, 0.05112, 0.05109, 0.05094, \
                 0.05078, 0.05061, 0.05026");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02312, -0.02311, -0.0232, -0.02322, -0.02321, -0.02333, -0.02334, \
                 -0.02339, -0.02344, -0.02351");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06523, 0.06514, 0.06498, 0.06496, 0.06497, 0.065, 0.06503, 0.06501, \
                 0.06496, 0.06497");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05201, -0.05442, -0.05823, -0.06052, -0.06153, -0.06228, -0.06258, \
                 -0.06283, -0.06303, -0.06314");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06517, 0.06506, 0.06504, 0.06508, 0.06487, 0.06508, 0.065, 0.06504, \
                 0.06499, 0.06496");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0516, -0.05353, -0.05734, -0.05996, -0.06133, -0.06214, -0.06255, \
                 -0.06279, -0.06294, -0.06313");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06516, 0.06506, 0.06502, 0.06497, 0.06488, 0.06498, 0.06503, \
                 0.06496, 0.06499, 0.06503");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05158, -0.05353, -0.05733, -0.05995, -0.06133, -0.06212, -0.06256, \
                 -0.0628, -0.06298, -0.06313");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03542, 0.03542, 0.03541, 0.03552, 0.03552, 0.03558, 0.03561, \
                 0.03555, 0.03558, 0.03557");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04018, -0.03968, -0.03934, -0.03922, -0.03918, -0.03926, -0.03927, \
                 -0.03934, -0.03936, -0.03947");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1)&(!C))|((!A1)&(!B2)&(!C))|((!A2)&(!B1)&(!C))|((!A2)&(!B2)&(!C)))" ;
      max_capacitance : 0.5577 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.01246, 0.01275, 0.01338, 0.01373, 0.01401, 0.01417, 0.01429, 0.01436, 0.0144, 0.01444",\
                 "0.01214, 0.0128, 0.01419, 0.01541, 0.01618, 0.01669, 0.01702, 0.01723, 0.01738, 0.01751",\
                 "0.01762, 0.01792, 0.01863, 0.01943, 0.02014, 0.02059, 0.02094, 0.02116, 0.02131, 0.02142",\
                 "0.0347, 0.03401, 0.03242, 0.03066, 0.02914, 0.02785, 0.02696, 0.02623, 0.02566, 0.02524",\
                 "0.06912, 0.06725, 0.06199, 0.05569, 0.05, 0.0451, 0.04107, 0.03791, 0.0354, 0.0334",\
                 "0.1256, 0.1224, 0.113, 0.1006, 0.08853, 0.07795, 0.06907, 0.06157, 0.05567, 0.0507",\
                 "0.2059, 0.2014, 0.188, 0.1691, 0.1491, 0.1311, 0.1154, 0.102, 0.09061, 0.08126",\
                 "0.3118, 0.3061, 0.2889, 0.2635, 0.2352, 0.2081, 0.184, 0.1629, 0.1446, 0.1291",\
                 "0.4442, 0.4376, 0.417, 0.3856, 0.3488, 0.3121, 0.2778, 0.2476, 0.2211, 0.1977",\
                 "0.6046, 0.5971, 0.5735, 0.5363, 0.4916, 0.445, 0.4001, 0.3591, 0.3227, 0.2905");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2794, 0.2801, 0.2816, 0.283, 0.2844, 0.2855, 0.2869, 0.2878, 0.2895, 0.2956",\
                 "0.274, 0.275, 0.2777, 0.2808, 0.2832, 0.2852, 0.2871, 0.2882, 0.2902, 0.2966",\
                 "0.2753, 0.2753, 0.2761, 0.278, 0.2805, 0.2832, 0.2855, 0.2875, 0.2895, 0.2957",\
                 "0.298, 0.2967, 0.2933, 0.2899, 0.2881, 0.2877, 0.2884, 0.2888, 0.2908, 0.2985",\
                 "0.3425, 0.3399, 0.333, 0.3238, 0.315, 0.3084, 0.3043, 0.3016, 0.3003, 0.3057",\
                 "0.4104, 0.4066, 0.3959, 0.3813, 0.3659, 0.3511, 0.3394, 0.3299, 0.3243, 0.3279",\
                 "0.5042, 0.4992, 0.4844, 0.4636, 0.4415, 0.4198, 0.3989, 0.3818, 0.369, 0.3697",\
                 "0.6258, 0.6196, 0.6009, 0.574, 0.5443, 0.5154, 0.4867, 0.4602, 0.4389, 0.4374",\
                 "0.777, 0.7696, 0.7472, 0.714, 0.6764, 0.6387, 0.6021, 0.5673, 0.5374, 0.5396",\
                 "0.9595, 0.9511, 0.9249, 0.8861, 0.8409, 0.7936, 0.7482, 0.7053, 0.6702, 0.6886");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.01244, 0.01275, 0.0134, 0.01381, 0.01406, 0.01426, 0.01431, 0.01437, 0.01441, 0.01445",\
                 "0.01238, 0.01295, 0.01431, 0.01562, 0.01637, 0.01686, 0.01717, 0.01737, 0.0175, 0.01763",\
                 "0.01862, 0.0189, 0.01958, 0.02033, 0.02101, 0.02142, 0.02173, 0.02193, 0.02206, 0.02217",\
                 "0.03543, 0.03479, 0.03334, 0.03175, 0.03029, 0.02908, 0.02822, 0.02749, 0.02694, 0.02652",\
                 "0.06619, 0.06446, 0.06002, 0.0546, 0.0495, 0.04514, 0.04153, 0.03866, 0.03624, 0.03437",\
                 "0.1157, 0.1131, 0.105, 0.09428, 0.0839, 0.07466, 0.0667, 0.06009, 0.05465, 0.0502",\
                 "0.187, 0.183, 0.1714, 0.1548, 0.1375, 0.1219, 0.108, 0.0962, 0.08611, 0.07767",\
                 "0.2813, 0.2764, 0.2612, 0.2389, 0.214, 0.1901, 0.169, 0.1504, 0.1342, 0.1205",\
                 "0.4003, 0.3942, 0.3758, 0.3478, 0.3152, 0.2827, 0.2525, 0.2258, 0.2024, 0.1818",\
                 "0.5446, 0.5378, 0.5163, 0.4826, 0.4429, 0.4012, 0.3614, 0.3253, 0.2931, 0.2644");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2795, 0.2802, 0.2818, 0.2832, 0.2845, 0.2857, 0.2871, 0.2879, 0.2915, 0.3138",\
                 "0.2741, 0.2751, 0.2779, 0.2808, 0.2833, 0.2855, 0.287, 0.2879, 0.2922, 0.3162",\
                 "0.275, 0.2751, 0.2759, 0.2779, 0.2805, 0.2831, 0.2852, 0.2866, 0.2914, 0.3164",\
                 "0.2963, 0.2952, 0.292, 0.2889, 0.2871, 0.2871, 0.2877, 0.2889, 0.2926, 0.32",\
                 "0.3377, 0.3354, 0.3289, 0.3204, 0.3121, 0.3056, 0.3019, 0.3003, 0.3016, 0.3308",\
                 "0.4, 0.3964, 0.3866, 0.3731, 0.3587, 0.3452, 0.3341, 0.3262, 0.3243, 0.3565",\
                 "0.485, 0.4805, 0.4674, 0.4488, 0.4283, 0.4078, 0.3887, 0.3732, 0.3666, 0.4027",\
                 "0.5955, 0.5898, 0.5728, 0.5488, 0.5224, 0.4954, 0.4688, 0.4441, 0.4326, 0.4791",\
                 "0.7329, 0.7261, 0.7054, 0.6758, 0.6424, 0.6083, 0.5748, 0.5428, 0.5282, 0.5963",\
                 "0.899, 0.8911, 0.8668, 0.8311, 0.791, 0.7489, 0.7083, 0.6706, 0.6625, 0.7768");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.01242, 0.01276, 0.01339, 0.01387, 0.01414, 0.01433, 0.01434, 0.01439, 0.01442, 0.01444",\
                 "0.01234, 0.01299, 0.01436, 0.01565, 0.01644, 0.01692, 0.0172, 0.01738, 0.01753, 0.01762",\
                 "0.01871, 0.01892, 0.01959, 0.02035, 0.02103, 0.02146, 0.02175, 0.02193, 0.02206, 0.02216",\
                 "0.03534, 0.03476, 0.03331, 0.03174, 0.03028, 0.02913, 0.0282, 0.02751, 0.02693, 0.0265",\
                 "0.06578, 0.06423, 0.05986, 0.05449, 0.04949, 0.0451, 0.04153, 0.03864, 0.03625, 0.03439",\
                 "0.1151, 0.1124, 0.1046, 0.09406, 0.08383, 0.07461, 0.06668, 0.06008, 0.05464, 0.05019",\
                 "0.1858, 0.1821, 0.1707, 0.1544, 0.1374, 0.1216, 0.1079, 0.09611, 0.08613, 0.07766",\
                 "0.2801, 0.2752, 0.2603, 0.2383, 0.2136, 0.1899, 0.1688, 0.1503, 0.1342, 0.1203",\
                 "0.3986, 0.3927, 0.3745, 0.3469, 0.3147, 0.2823, 0.2523, 0.2257, 0.2023, 0.1816",\
                 "0.5426, 0.536, 0.5146, 0.4815, 0.4421, 0.4007, 0.3611, 0.325, 0.2929, 0.2642");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3448, 0.3453, 0.3464, 0.3477, 0.3489, 0.3502, 0.3516, 0.3531, 0.3571, 0.3811",\
                 "0.3405, 0.3413, 0.3433, 0.3457, 0.3479, 0.35, 0.3518, 0.3538, 0.3581, 0.3828",\
                 "0.3397, 0.34, 0.341, 0.3429, 0.3454, 0.3477, 0.3501, 0.3525, 0.3571, 0.3837",\
                 "0.3578, 0.357, 0.3546, 0.3526, 0.3514, 0.3513, 0.3527, 0.3541, 0.3582, 0.3866",\
                 "0.3966, 0.3947, 0.3891, 0.3819, 0.3749, 0.3697, 0.3661, 0.3642, 0.3675, 0.3978",\
                 "0.456, 0.4533, 0.4451, 0.4329, 0.4197, 0.4077, 0.3978, 0.3908, 0.3898, 0.4239",\
                 "0.5387, 0.5349, 0.5236, 0.5073, 0.4881, 0.4691, 0.4511, 0.4365, 0.4312, 0.4692",\
                 "0.6465, 0.6416, 0.6272, 0.6056, 0.581, 0.5554, 0.5295, 0.5069, 0.497, 0.5464",\
                 "0.7815, 0.7756, 0.7575, 0.7308, 0.6997, 0.6674, 0.6345, 0.6043, 0.5921, 0.6648",\
                 "0.9454, 0.9384, 0.9168, 0.8844, 0.8471, 0.8071, 0.7668, 0.731, 0.7264, 0.8472");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.01255, 0.01285, 0.0134, 0.01377, 0.01402, 0.01415, 0.01426, 0.01428, 0.01433, 0.01436",\
                 "0.01146, 0.01219, 0.01378, 0.01524, 0.0161, 0.01664, 0.01701, 0.01723, 0.01738, 0.01748",\
                 "0.01373, 0.01429, 0.01583, 0.01752, 0.01883, 0.01972, 0.02031, 0.02072, 0.02097, 0.02122",\
                 "0.02899, 0.02868, 0.02792, 0.02731, 0.0268, 0.02622, 0.02574, 0.02531, 0.02498, 0.0247",\
                 "0.06214, 0.0607, 0.05656, 0.05162, 0.047, 0.04303, 0.03975, 0.03697, 0.03476, 0.03301",\
                 "0.1178, 0.1151, 0.1069, 0.09609, 0.08529, 0.076, 0.06791, 0.06114, 0.05547, 0.05083",\
                 "0.1981, 0.194, 0.1818, 0.1647, 0.1464, 0.1294, 0.1149, 0.1023, 0.09158, 0.08241",\
                 "0.3045, 0.2992, 0.2832, 0.2596, 0.2332, 0.2076, 0.1845, 0.1644, 0.147, 0.1318",\
                 "0.4382, 0.4319, 0.4123, 0.3824, 0.348, 0.313, 0.2801, 0.2509, 0.2251, 0.2025",\
                 "0.6006, 0.5934, 0.5705, 0.5349, 0.4923, 0.4477, 0.4046, 0.3649, 0.3293, 0.2976");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3357, 0.3359, 0.3363, 0.337, 0.3377, 0.3388, 0.3401, 0.3419, 0.3443, 0.3501",\
                 "0.3314, 0.3318, 0.3327, 0.334, 0.3354, 0.3367, 0.3385, 0.3402, 0.3417, 0.3485",\
                 "0.3341, 0.334, 0.3338, 0.3341, 0.335, 0.3361, 0.3377, 0.3392, 0.3413, 0.3495",\
                 "0.3575, 0.3561, 0.3527, 0.3484, 0.3453, 0.3436, 0.343, 0.3432, 0.3443, 0.3517",\
                 "0.4031, 0.4009, 0.3938, 0.384, 0.3747, 0.3667, 0.3614, 0.358, 0.3564, 0.3612",\
                 "0.4733, 0.4698, 0.4594, 0.4447, 0.4281, 0.4129, 0.3996, 0.3897, 0.3824, 0.3865",\
                 "0.5699, 0.5656, 0.5518, 0.5316, 0.5085, 0.4849, 0.4629, 0.4442, 0.4304, 0.4293",\
                 "0.6951, 0.6899, 0.6733, 0.6477, 0.6173, 0.5863, 0.5549, 0.5272, 0.5036, 0.502",\
                 "0.8501, 0.844, 0.8252, 0.7947, 0.7573, 0.7168, 0.6776, 0.6398, 0.6086, 0.6096",\
                 "1.037, 1.03, 1.009, 0.9742, 0.9299, 0.8817, 0.833, 0.7857, 0.7484, 0.7674");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.01254, 0.01282, 0.01344, 0.01384, 0.01408, 0.01419, 0.01429, 0.0143, 0.01434, 0.01437",\
                 "0.0116, 0.01231, 0.01396, 0.01544, 0.01628, 0.01681, 0.01717, 0.01738, 0.01751, 0.01761",\
                 "0.01479, 0.01535, 0.01683, 0.01838, 0.01972, 0.02056, 0.02111, 0.02148, 0.02174, 0.0219",\
                 "0.03012, 0.02987, 0.0292, 0.02865, 0.0281, 0.02758, 0.02709, 0.02664, 0.02628, 0.02601",\
                 "0.05979, 0.05857, 0.05506, 0.0509, 0.04682, 0.04334, 0.04032, 0.03779, 0.03578, 0.03411",\
                 "0.1086, 0.1063, 0.09933, 0.09018, 0.08103, 0.07286, 0.06573, 0.05972, 0.05464, 0.05041",\
                 "0.1793, 0.1758, 0.1654, 0.1507, 0.1349, 0.1204, 0.1075, 0.09647, 0.08694, 0.07882",\
                 "0.2737, 0.2691, 0.2551, 0.2347, 0.2117, 0.1894, 0.1693, 0.1517, 0.1363, 0.1229",\
                 "0.3928, 0.3872, 0.3699, 0.3437, 0.3136, 0.283, 0.2541, 0.2285, 0.2059, 0.1859",\
                 "0.5381, 0.5317, 0.511, 0.4794, 0.4418, 0.4026, 0.3646, 0.3298, 0.2986, 0.2708");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3358, 0.336, 0.3364, 0.3371, 0.3377, 0.3388, 0.34, 0.3415, 0.3455, 0.3698",\
                 "0.3314, 0.3318, 0.3328, 0.334, 0.3353, 0.3369, 0.3381, 0.3399, 0.3439, 0.3685",\
                 "0.3339, 0.3338, 0.3336, 0.3339, 0.335, 0.3363, 0.3375, 0.3392, 0.3432, 0.3691",\
                 "0.3558, 0.3545, 0.3513, 0.3472, 0.3444, 0.343, 0.3425, 0.3429, 0.346, 0.3736",\
                 "0.3981, 0.3962, 0.3893, 0.3804, 0.3714, 0.3642, 0.3591, 0.3563, 0.3579, 0.3865",\
                 "0.462, 0.4589, 0.4497, 0.4357, 0.4206, 0.406, 0.3936, 0.3849, 0.3822, 0.4136",\
                 "0.5496, 0.5455, 0.5332, 0.5151, 0.4938, 0.4715, 0.4518, 0.4351, 0.4268, 0.4635",\
                 "0.6627, 0.658, 0.6428, 0.6196, 0.5926, 0.5641, 0.5353, 0.5102, 0.497, 0.544",\
                 "0.8032, 0.7978, 0.7801, 0.7525, 0.7188, 0.6834, 0.647, 0.6132, 0.5986, 0.6678",\
                 "0.9726, 0.9664, 0.9467, 0.9143, 0.8745, 0.8313, 0.7876, 0.747, 0.7401, 0.8562");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.01258, 0.01288, 0.01344, 0.01388, 0.01416, 0.01425, 0.01429, 0.01432, 0.01435, 0.01437",\
                 "0.0117, 0.01237, 0.014, 0.01547, 0.01634, 0.01686, 0.01719, 0.01739, 0.01751, 0.01761",\
                 "0.01493, 0.01544, 0.01686, 0.0184, 0.01973, 0.0206, 0.02113, 0.02149, 0.02173, 0.02189",\
                 "0.03004, 0.02984, 0.02923, 0.02866, 0.02811, 0.02759, 0.02709, 0.02666, 0.02629, 0.026",\
                 "0.05955, 0.05832, 0.05498, 0.05091, 0.04683, 0.04331, 0.04031, 0.0378, 0.03578, 0.03411",\
                 "0.1081, 0.1057, 0.099, 0.09, 0.08093, 0.07276, 0.06572, 0.0597, 0.05463, 0.0504",\
                 "0.1784, 0.175, 0.1648, 0.1503, 0.1347, 0.1202, 0.1074, 0.09643, 0.08693, 0.07881",\
                 "0.2724, 0.2679, 0.2541, 0.2341, 0.2113, 0.1892, 0.1693, 0.1515, 0.1363, 0.1228",\
                 "0.3914, 0.3859, 0.3687, 0.3429, 0.313, 0.2825, 0.254, 0.2284, 0.2058, 0.1858",\
                 "0.5363, 0.5299, 0.5097, 0.4783, 0.4411, 0.4021, 0.3643, 0.3296, 0.2982, 0.2706");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4003, 0.4004, 0.4007, 0.4013, 0.402, 0.4031, 0.4044, 0.4056, 0.4095, 0.4344",\
                 "0.3963, 0.3966, 0.3974, 0.3984, 0.3996, 0.401, 0.4022, 0.4039, 0.4081, 0.4331",\
                 "0.3979, 0.3978, 0.3978, 0.3982, 0.3991, 0.4003, 0.4016, 0.4033, 0.4074, 0.4344",\
                 "0.417, 0.416, 0.4134, 0.4104, 0.4081, 0.4068, 0.4066, 0.4071, 0.4106, 0.4389",\
                 "0.457, 0.4552, 0.4498, 0.4418, 0.4338, 0.4273, 0.4225, 0.42, 0.4215, 0.4515",\
                 "0.5187, 0.5161, 0.5078, 0.4954, 0.4814, 0.4681, 0.4566, 0.4479, 0.446, 0.4793",\
                 "0.604, 0.6005, 0.5898, 0.573, 0.553, 0.5325, 0.5134, 0.4971, 0.4903, 0.529",\
                 "0.7153, 0.7112, 0.6977, 0.6762, 0.6506, 0.6231, 0.5957, 0.5711, 0.5594, 0.6093",\
                 "0.8541, 0.8492, 0.8331, 0.8074, 0.7755, 0.7414, 0.7064, 0.674, 0.6603, 0.7342",\
                 "1.022, 1.016, 0.9978, 0.9682, 0.9302, 0.889, 0.8468, 0.8069, 0.801, 0.9239");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1433, 0.1435, 0.1434, 0.1432, 0.1432, 0.1434, 0.1434, 0.1434, 0.1434, 0.1434",\
                 "0.1407, 0.1408, 0.1407, 0.1406, 0.1406, 0.1407, 0.1407, 0.1407, 0.1407, 0.1408",\
                 "0.139, 0.139, 0.1387, 0.1383, 0.1382, 0.1381, 0.138, 0.138, 0.1379, 0.1379",\
                 "0.1475, 0.1472, 0.1458, 0.1441, 0.1425, 0.1409, 0.1399, 0.1393, 0.1387, 0.1382",\
                 "0.1751, 0.1739, 0.1701, 0.165, 0.1596, 0.155, 0.1513, 0.1482, 0.1458, 0.1439",\
                 "0.2273, 0.2253, 0.2179, 0.2076, 0.1964, 0.1861, 0.1772, 0.17, 0.164, 0.1591",\
                 "0.308, 0.3046, 0.2934, 0.2767, 0.2582, 0.2399, 0.2236, 0.2096, 0.1981, 0.1884",\
                 "0.4195, 0.4147, 0.3997, 0.3765, 0.3488, 0.3213, 0.2955, 0.2726, 0.253, 0.2364",\
                 "0.5631, 0.5574, 0.5386, 0.5083, 0.4715, 0.4331, 0.3965, 0.3628, 0.3332, 0.3076",\
                 "0.7403, 0.7334, 0.7111, 0.6743, 0.6283, 0.5791, 0.5299, 0.4841, 0.4429, 0.4061");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.46, 0.4606, 0.4618, 0.4632, 0.4641, 0.4654, 0.4663, 0.4675, 0.4695, 0.4789",\
                 "0.4536, 0.4547, 0.4575, 0.4609, 0.4629, 0.4651, 0.4667, 0.4682, 0.4705, 0.4806",\
                 "0.4445, 0.4455, 0.4483, 0.4528, 0.4567, 0.4605, 0.4635, 0.4659, 0.4691, 0.479",\
                 "0.4435, 0.4438, 0.445, 0.4477, 0.4511, 0.4549, 0.4589, 0.4619, 0.4662, 0.4776",\
                 "0.464, 0.4632, 0.4611, 0.4589, 0.4586, 0.459, 0.4609, 0.4629, 0.4661, 0.4786",\
                 "0.5208, 0.5181, 0.5106, 0.5015, 0.4933, 0.4868, 0.4826, 0.4804, 0.4802, 0.4931",\
                 "0.6177, 0.6132, 0.5997, 0.5813, 0.5637, 0.5476, 0.5335, 0.5225, 0.5165, 0.5271",\
                 "0.7523, 0.7463, 0.728, 0.7005, 0.6711, 0.6444, 0.6202, 0.5986, 0.583, 0.5923",\
                 "0.9233, 0.9158, 0.8933, 0.8585, 0.8185, 0.779, 0.7431, 0.7102, 0.686, 0.696",\
                 "1.131, 1.122, 1.096, 1.055, 1.006, 0.9534, 0.9044, 0.86, 0.8278, 0.8525");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1323, 0.1324, 0.1323, 0.1321, 0.1321, 0.1321, 0.1323, 0.1322, 0.1322, 0.1322",\
                 "0.1296, 0.1296, 0.1296, 0.1294, 0.1293, 0.1294, 0.1295, 0.1295, 0.1295, 0.1295",\
                 "0.1275, 0.1274, 0.1271, 0.1267, 0.1265, 0.1263, 0.1263, 0.1262, 0.1262, 0.1262",\
                 "0.1355, 0.135, 0.1334, 0.1315, 0.1298, 0.1284, 0.1274, 0.1267, 0.1262, 0.1257",\
                 "0.163, 0.1616, 0.1571, 0.1514, 0.1458, 0.1412, 0.1375, 0.1344, 0.1323, 0.1306",\
                 "0.2157, 0.2129, 0.2045, 0.1929, 0.181, 0.1704, 0.1618, 0.1547, 0.149, 0.1444",\
                 "0.2966, 0.2923, 0.2796, 0.2612, 0.241, 0.2221, 0.2058, 0.1921, 0.181, 0.1717",\
                 "0.408, 0.4025, 0.3851, 0.359, 0.3296, 0.3007, 0.2745, 0.2519, 0.2328, 0.2167",\
                 "0.5514, 0.5446, 0.523, 0.4891, 0.4495, 0.4096, 0.3721, 0.3384, 0.309, 0.2843",\
                 "0.7275, 0.7195, 0.6941, 0.6534, 0.6035, 0.5517, 0.5013, 0.4555, 0.4142, 0.378");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4265, 0.427, 0.4284, 0.4295, 0.4306, 0.4318, 0.4328, 0.4341, 0.4373, 0.462",\
                 "0.42, 0.4212, 0.4241, 0.4273, 0.4295, 0.4314, 0.4331, 0.4344, 0.4383, 0.4637",\
                 "0.411, 0.412, 0.4148, 0.4191, 0.4233, 0.4269, 0.4296, 0.4324, 0.4372, 0.4633",\
                 "0.4097, 0.41, 0.4113, 0.4138, 0.4175, 0.4213, 0.425, 0.4283, 0.4341, 0.4625",\
                 "0.4278, 0.4271, 0.4252, 0.4237, 0.4232, 0.4242, 0.4261, 0.4287, 0.4338, 0.4657",\
                 "0.4802, 0.4776, 0.4706, 0.4626, 0.4548, 0.4491, 0.4453, 0.4437, 0.4467, 0.4823",\
                 "0.5726, 0.5681, 0.5551, 0.5379, 0.5212, 0.506, 0.4931, 0.4835, 0.4819, 0.5208",\
                 "0.7038, 0.6975, 0.6792, 0.6526, 0.6249, 0.5992, 0.5761, 0.5557, 0.5466, 0.5921",\
                 "0.8717, 0.8643, 0.8415, 0.8073, 0.768, 0.7306, 0.6962, 0.6651, 0.65, 0.7087",\
                 "1.077, 1.068, 1.042, 1, 0.951, 0.901, 0.8542, 0.8134, 0.7973, 0.8854");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1324, 0.1324, 0.1323, 0.1322, 0.1322, 0.1322, 0.1323, 0.1323, 0.1322, 0.1322",\
                 "0.1297, 0.1296, 0.1296, 0.1295, 0.1294, 0.1295, 0.1295, 0.1295, 0.1295, 0.1295",\
                 "0.1275, 0.1274, 0.1271, 0.1268, 0.1266, 0.1265, 0.1264, 0.1262, 0.1262, 0.1261",\
                 "0.1355, 0.1349, 0.1335, 0.1315, 0.1298, 0.1285, 0.1275, 0.1268, 0.1262, 0.1258",\
                 "0.1629, 0.1614, 0.157, 0.1513, 0.1458, 0.1411, 0.1375, 0.1346, 0.1324, 0.1306",\
                 "0.2153, 0.2125, 0.2043, 0.1928, 0.181, 0.1704, 0.1618, 0.1547, 0.149, 0.1444",\
                 "0.296, 0.2918, 0.2791, 0.2609, 0.2409, 0.2221, 0.2058, 0.1921, 0.1809, 0.1717",\
                 "0.4071, 0.4017, 0.3846, 0.3587, 0.3294, 0.3005, 0.2744, 0.2517, 0.2327, 0.2167",\
                 "0.5503, 0.5434, 0.5222, 0.4886, 0.4493, 0.4093, 0.3719, 0.3383, 0.309, 0.2841",\
                 "0.7262, 0.7183, 0.6931, 0.6526, 0.6031, 0.5513, 0.501, 0.4552, 0.414, 0.3778");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4906, 0.4911, 0.492, 0.4931, 0.4941, 0.4954, 0.4968, 0.4984, 0.5026, 0.5287",\
                 "0.4858, 0.4866, 0.4887, 0.491, 0.4934, 0.4954, 0.497, 0.499, 0.5032, 0.5297",\
                 "0.4766, 0.4775, 0.48, 0.4835, 0.4873, 0.4908, 0.4938, 0.4964, 0.5018, 0.5297",\
                 "0.4737, 0.4742, 0.4754, 0.478, 0.4815, 0.4854, 0.4892, 0.4928, 0.4984, 0.5299",\
                 "0.4893, 0.4888, 0.4877, 0.4866, 0.4866, 0.4877, 0.4903, 0.493, 0.4988, 0.5334",\
                 "0.5378, 0.5357, 0.5303, 0.5232, 0.5169, 0.5118, 0.5087, 0.5074, 0.5113, 0.5483",\
                 "0.6256, 0.6218, 0.611, 0.5958, 0.5811, 0.5672, 0.5556, 0.5465, 0.5461, 0.5873",\
                 "0.7531, 0.7479, 0.7321, 0.7084, 0.6828, 0.6589, 0.637, 0.6181, 0.6108, 0.659",\
                 "0.9187, 0.9119, 0.8913, 0.86, 0.8241, 0.7884, 0.7551, 0.7256, 0.7127, 0.7758",\
                 "1.121, 1.114, 1.09, 1.051, 1.005, 0.9577, 0.9122, 0.8716, 0.8588, 0.9531");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1433, 0.1434, 0.1434, 0.1432, 0.1432, 0.1434, 0.1434, 0.1434, 0.1434, 0.1433",\
                 "0.1409, 0.1409, 0.1407, 0.1406, 0.1406, 0.1407, 0.1408, 0.1408, 0.1407, 0.1408",\
                 "0.1381, 0.1381, 0.138, 0.1378, 0.1378, 0.1377, 0.1379, 0.1378, 0.1378, 0.1378",\
                 "0.1447, 0.1444, 0.1434, 0.1421, 0.1411, 0.1399, 0.1392, 0.1386, 0.1382, 0.1378",\
                 "0.1707, 0.1697, 0.1665, 0.162, 0.1574, 0.1534, 0.1502, 0.1473, 0.1451, 0.1435",\
                 "0.2223, 0.2205, 0.2141, 0.2044, 0.1942, 0.1848, 0.1765, 0.1696, 0.1639, 0.1591",\
                 "0.3038, 0.3003, 0.2901, 0.2745, 0.2569, 0.2396, 0.2241, 0.2105, 0.1993, 0.1899",\
                 "0.417, 0.4123, 0.3979, 0.3754, 0.3492, 0.3227, 0.2978, 0.2755, 0.2563, 0.2398",\
                 "0.5636, 0.5578, 0.5394, 0.5102, 0.4744, 0.4375, 0.4017, 0.3689, 0.3397, 0.3141",\
                 "0.7449, 0.7382, 0.7161, 0.68, 0.6352, 0.5867, 0.5388, 0.4941, 0.4535, 0.4167");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5169, 0.5168, 0.5171, 0.5178, 0.5184, 0.5192, 0.5203, 0.522, 0.5239, 0.5334",\
                 "0.5126, 0.5131, 0.5138, 0.5151, 0.516, 0.5172, 0.5185, 0.5203, 0.5226, 0.5328",\
                 "0.5074, 0.5079, 0.5092, 0.5111, 0.5131, 0.5147, 0.5166, 0.5187, 0.521, 0.5312",\
                 "0.5066, 0.5068, 0.5073, 0.5089, 0.5107, 0.5125, 0.5147, 0.517, 0.5199, 0.5321",\
                 "0.5259, 0.5251, 0.5229, 0.5208, 0.5193, 0.5189, 0.5195, 0.5203, 0.5221, 0.5348",\
                 "0.5844, 0.5818, 0.5745, 0.5654, 0.556, 0.5484, 0.5432, 0.54, 0.5388, 0.551",\
                 "0.6864, 0.6823, 0.6691, 0.6504, 0.6314, 0.6136, 0.5983, 0.5856, 0.5781, 0.5884",\
                 "0.828, 0.8224, 0.8052, 0.778, 0.7472, 0.7178, 0.6905, 0.6663, 0.648, 0.6579",\
                 "1.007, 1, 0.9799, 0.9468, 0.9054, 0.8631, 0.8235, 0.7867, 0.7581, 0.7677",\
                 "1.223, 1.216, 1.193, 1.155, 1.106, 1.051, 0.998, 0.9489, 0.9116, 0.9344");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1323, 0.1322, 0.1322, 0.1322, 0.132, 0.132, 0.1322, 0.1322, 0.1323, 0.1322",\
                 "0.1297, 0.1296, 0.1295, 0.1294, 0.1293, 0.1294, 0.1294, 0.1295, 0.1296, 0.1295",\
                 "0.1267, 0.1266, 0.1265, 0.1263, 0.1261, 0.1261, 0.1261, 0.1261, 0.1261, 0.1261",\
                 "0.1327, 0.1323, 0.1311, 0.1298, 0.1286, 0.1275, 0.1267, 0.1262, 0.1258, 0.1255",\
                 "0.1586, 0.1573, 0.1534, 0.1485, 0.1437, 0.1397, 0.1365, 0.1338, 0.1318, 0.1302",\
                 "0.2104, 0.2078, 0.2004, 0.1899, 0.179, 0.1692, 0.161, 0.1543, 0.149, 0.1445",\
                 "0.2918, 0.288, 0.2758, 0.2584, 0.2398, 0.2219, 0.2061, 0.193, 0.182, 0.173",\
                 "0.4049, 0.3995, 0.383, 0.358, 0.3299, 0.3022, 0.2769, 0.2548, 0.2359, 0.2201",\
                 "0.551, 0.5443, 0.5232, 0.4907, 0.4524, 0.4136, 0.3772, 0.3444, 0.3154, 0.2904",\
                 "0.7318, 0.7238, 0.6983, 0.6582, 0.61, 0.5591, 0.5103, 0.465, 0.4244, 0.3882");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4834, 0.4835, 0.4837, 0.4843, 0.4848, 0.4858, 0.487, 0.4884, 0.492, 0.5183",\
                 "0.4792, 0.4797, 0.4804, 0.4815, 0.4825, 0.4838, 0.4852, 0.4871, 0.4913, 0.5174",\
                 "0.4739, 0.4744, 0.4758, 0.4775, 0.4795, 0.4813, 0.4833, 0.4851, 0.4899, 0.5177",\
                 "0.4729, 0.4732, 0.4737, 0.475, 0.477, 0.479, 0.4814, 0.4838, 0.4881, 0.5182",\
                 "0.4896, 0.489, 0.4873, 0.4853, 0.484, 0.4839, 0.4848, 0.4863, 0.4911, 0.524",\
                 "0.5432, 0.5407, 0.5341, 0.5258, 0.5173, 0.5106, 0.5061, 0.5033, 0.5056, 0.5416",\
                 "0.6397, 0.6357, 0.6233, 0.606, 0.588, 0.5715, 0.5574, 0.5461, 0.5435, 0.5832",\
                 "0.7772, 0.7719, 0.7549, 0.729, 0.6995, 0.6717, 0.6457, 0.6236, 0.613, 0.6586",\
                 "0.953, 0.9465, 0.9262, 0.8936, 0.8539, 0.8129, 0.7749, 0.7404, 0.7225, 0.7827",\
                 "1.166, 1.159, 1.136, 1.098, 1.05, 0.9969, 0.9455, 0.8995, 0.881, 0.9707");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&!C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1323, 0.1323, 0.1322, 0.1322, 0.1322, 0.1322, 0.1322, 0.1323, 0.1322, 0.1322",\
                 "0.1297, 0.1297, 0.1296, 0.1295, 0.1295, 0.1295, 0.1295, 0.1295, 0.1295, 0.1295",\
                 "0.1266, 0.1266, 0.1265, 0.1264, 0.1263, 0.1262, 0.1262, 0.1261, 0.1261, 0.126",\
                 "0.1327, 0.1323, 0.1312, 0.1298, 0.1286, 0.1276, 0.1268, 0.1263, 0.1258, 0.1255",\
                 "0.1584, 0.1572, 0.1534, 0.1485, 0.1438, 0.1397, 0.1365, 0.1339, 0.1318, 0.1302",\
                 "0.2101, 0.2077, 0.2001, 0.1898, 0.1789, 0.1692, 0.161, 0.1543, 0.149, 0.1446",\
                 "0.2912, 0.2874, 0.2755, 0.2583, 0.2396, 0.2218, 0.2061, 0.193, 0.182, 0.1729",\
                 "0.4041, 0.3988, 0.3825, 0.3577, 0.3297, 0.3022, 0.2769, 0.2547, 0.2358, 0.22",\
                 "0.5502, 0.5434, 0.5226, 0.4901, 0.452, 0.4134, 0.3771, 0.3443, 0.3153, 0.2903",\
                 "0.7305, 0.7226, 0.6976, 0.6577, 0.6094, 0.5588, 0.51, 0.4649, 0.4242, 0.3881");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5467, 0.5468, 0.547, 0.5474, 0.5481, 0.5491, 0.5502, 0.5515, 0.5556, 0.5826",\
                 "0.5431, 0.5434, 0.544, 0.5449, 0.5462, 0.5472, 0.5485, 0.5501, 0.5546, 0.5814",\
                 "0.5382, 0.5385, 0.5395, 0.5414, 0.5429, 0.5448, 0.5465, 0.5487, 0.5532, 0.5813",\
                 "0.5367, 0.5368, 0.5375, 0.5387, 0.5405, 0.5424, 0.5447, 0.547, 0.5521, 0.5822",\
                 "0.5513, 0.551, 0.5495, 0.5479, 0.547, 0.5471, 0.5481, 0.549, 0.5541, 0.5884",\
                 "0.6008, 0.599, 0.5937, 0.5865, 0.579, 0.573, 0.5685, 0.566, 0.5692, 0.606",\
                 "0.6935, 0.69, 0.6791, 0.664, 0.6477, 0.6323, 0.6188, 0.608, 0.6063, 0.6474",\
                 "0.8279, 0.8231, 0.8077, 0.784, 0.7571, 0.7306, 0.706, 0.6847, 0.6755, 0.7239",\
                 "1.001, 0.9957, 0.9765, 0.946, 0.9088, 0.8701, 0.8333, 0.8004, 0.7845, 0.8475",\
                 "1.213, 1.206, 1.185, 1.149, 1.103, 1.052, 1.002, 0.9582, 0.9417, 1.035");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.0875, 0.08745, 0.08755, 0.08757, 0.08762, 0.08769, 0.08776, 0.08779, 0.08781, 0.0878",\
                 "0.08732, 0.08742, 0.08737, 0.08751, 0.08777, 0.08784, 0.08793, 0.08798, 0.08803, 0.08808",\
                 "0.08807, 0.08801, 0.08799, 0.08795, 0.08801, 0.08811, 0.08816, 0.08821, 0.08825, 0.08819",\
                 "0.09987, 0.09924, 0.09789, 0.09614, 0.09453, 0.09304, 0.09203, 0.09115, 0.09059, 0.09007",\
                 "0.1315, 0.1301, 0.126, 0.1204, 0.1147, 0.1096, 0.1055, 0.1022, 0.09948, 0.09736",\
                 "0.188, 0.1856, 0.1778, 0.1668, 0.1549, 0.1439, 0.1344, 0.1267, 0.1202, 0.1148",\
                 "0.2718, 0.2682, 0.257, 0.2399, 0.2205, 0.2016, 0.1845, 0.1699, 0.1575, 0.1471",\
                 "0.3845, 0.38, 0.3653, 0.3418, 0.3141, 0.2861, 0.26, 0.2365, 0.2162, 0.1989",\
                 "0.5272, 0.5217, 0.5036, 0.4747, 0.439, 0.401, 0.3645, 0.3306, 0.3008, 0.2743",\
                 "0.7011, 0.6948, 0.674, 0.6398, 0.5962, 0.5484, 0.5009, 0.4558, 0.4143, 0.3771");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3837, 0.3838, 0.3845, 0.3851, 0.3859, 0.3869, 0.3878, 0.3895, 0.3906, 0.3932",\
                 "0.3804, 0.381, 0.3822, 0.3835, 0.3847, 0.3862, 0.3874, 0.3891, 0.3903, 0.3932",\
                 "0.3767, 0.3772, 0.3786, 0.3802, 0.3826, 0.3845, 0.3864, 0.3881, 0.3896, 0.3926",\
                 "0.3854, 0.3851, 0.3842, 0.3836, 0.3841, 0.3851, 0.3861, 0.3881, 0.3896, 0.3916",\
                 "0.4195, 0.4178, 0.4128, 0.407, 0.4023, 0.3987, 0.3964, 0.3957, 0.3959, 0.3973",\
                 "0.4861, 0.4825, 0.472, 0.459, 0.4462, 0.4355, 0.4266, 0.4208, 0.4154, 0.4146",\
                 "0.5848, 0.5798, 0.5642, 0.5424, 0.5202, 0.5005, 0.483, 0.468, 0.4563, 0.4498",\
                 "0.7154, 0.7091, 0.6888, 0.6595, 0.6268, 0.5962, 0.5694, 0.5446, 0.5239, 0.5099",\
                 "0.8785, 0.8708, 0.847, 0.8109, 0.7686, 0.7258, 0.6878, 0.653, 0.6217, 0.6015",\
                 "1.075, 1.066, 1.04, 0.9973, 0.9455, 0.8923, 0.8402, 0.7943, 0.7529, 0.7303");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.08816, 0.08805, 0.08813, 0.08812, 0.08829, 0.08833, 0.0884, 0.08842, 0.08846, 0.08848",\
                 "0.08898, 0.08895, 0.08912, 0.08917, 0.08934, 0.08949, 0.08958, 0.08961, 0.08966, 0.0897",\
                 "0.0911, 0.09104, 0.09104, 0.091, 0.09113, 0.09125, 0.09132, 0.09136, 0.09139, 0.09141",\
                 "0.1014, 0.101, 0.09999, 0.09863, 0.09732, 0.09598, 0.09512, 0.09454, 0.09398, 0.09361",\
                 "0.1285, 0.1273, 0.1239, 0.1194, 0.1147, 0.1106, 0.1071, 0.1042, 0.1019, 0.1002",\
                 "0.1769, 0.175, 0.1686, 0.1593, 0.1495, 0.1401, 0.1322, 0.1255, 0.12, 0.1156",\
                 "0.2498, 0.2468, 0.2373, 0.2224, 0.2061, 0.19, 0.1756, 0.1631, 0.1526, 0.1438",\
                 "0.3485, 0.3446, 0.3316, 0.3114, 0.2877, 0.2636, 0.2412, 0.2212, 0.2038, 0.1888",\
                 "0.4745, 0.4694, 0.4535, 0.428, 0.3967, 0.3637, 0.3323, 0.3032, 0.2772, 0.2546",\
                 "0.6285, 0.6226, 0.604, 0.5731, 0.5345, 0.4928, 0.4513, 0.4122, 0.3765, 0.3446");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3836, 0.3839, 0.3844, 0.3852, 0.386, 0.3869, 0.3879, 0.3893, 0.391, 0.3993",\
                 "0.3803, 0.3809, 0.3822, 0.3837, 0.3852, 0.3864, 0.3874, 0.389, 0.3906, 0.3996",\
                 "0.3767, 0.377, 0.3783, 0.3803, 0.3825, 0.3843, 0.3861, 0.388, 0.39, 0.3994",\
                 "0.3827, 0.3826, 0.3821, 0.3821, 0.3829, 0.384, 0.3859, 0.3874, 0.3903, 0.401",\
                 "0.4125, 0.4109, 0.4069, 0.4015, 0.3974, 0.3949, 0.3937, 0.3936, 0.3945, 0.405",\
                 "0.4713, 0.468, 0.459, 0.4474, 0.436, 0.4266, 0.4194, 0.4141, 0.4115, 0.4221",\
                 "0.5596, 0.5548, 0.541, 0.5218, 0.5024, 0.4843, 0.4681, 0.4555, 0.4468, 0.4573",\
                 "0.6763, 0.6703, 0.6523, 0.626, 0.5973, 0.5708, 0.5453, 0.5231, 0.5074, 0.5168",\
                 "0.8224, 0.8154, 0.7932, 0.7606, 0.7231, 0.6862, 0.6521, 0.6198, 0.5959, 0.6104",\
                 "0.9996, 0.9914, 0.966, 0.927, 0.8809, 0.8337, 0.7889, 0.7475, 0.7195, 0.7527");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.08812, 0.08809, 0.08813, 0.08822, 0.08828, 0.08835, 0.08839, 0.0884, 0.08836, 0.08832",\
                 "0.08904, 0.08907, 0.08914, 0.08928, 0.08939, 0.08951, 0.08958, 0.08956, 0.08957, 0.0895",\
                 "0.09108, 0.09109, 0.09111, 0.09115, 0.09123, 0.09127, 0.09133, 0.09131, 0.09129, 0.09132",\
                 "0.1014, 0.1009, 0.1, 0.09854, 0.09727, 0.09608, 0.09516, 0.09445, 0.09393, 0.09353",\
                 "0.1284, 0.1272, 0.1239, 0.1193, 0.1146, 0.1105, 0.1071, 0.1041, 0.1019, 0.1",\
                 "0.1768, 0.1748, 0.1684, 0.1593, 0.1495, 0.1402, 0.1323, 0.1256, 0.12, 0.1154",\
                 "0.2495, 0.2465, 0.2369, 0.2224, 0.206, 0.19, 0.1756, 0.163, 0.1526, 0.1438",\
                 "0.3481, 0.3441, 0.3312, 0.3111, 0.2875, 0.2636, 0.2411, 0.221, 0.2038, 0.1888",\
                 "0.4737, 0.4687, 0.4529, 0.4275, 0.3963, 0.3635, 0.3322, 0.3031, 0.2773, 0.2547",\
                 "0.6275, 0.6217, 0.6032, 0.5726, 0.5342, 0.4924, 0.4509, 0.412, 0.3762, 0.3444");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4482, 0.4483, 0.4487, 0.4495, 0.4503, 0.4513, 0.4525, 0.4544, 0.456, 0.4657",\
                 "0.4455, 0.4459, 0.447, 0.4484, 0.4494, 0.4508, 0.4519, 0.4537, 0.4566, 0.4664",\
                 "0.4418, 0.4422, 0.4432, 0.445, 0.447, 0.449, 0.4507, 0.4531, 0.4556, 0.4656",\
                 "0.4464, 0.4463, 0.446, 0.4464, 0.4472, 0.4485, 0.4502, 0.4524, 0.4549, 0.4668",\
                 "0.473, 0.4716, 0.4684, 0.4646, 0.4609, 0.459, 0.458, 0.458, 0.4601, 0.4711",\
                 "0.5279, 0.5254, 0.5181, 0.5081, 0.498, 0.4893, 0.4827, 0.4783, 0.4761, 0.4877",\
                 "0.6129, 0.6089, 0.5971, 0.58, 0.5626, 0.5457, 0.5309, 0.5186, 0.5115, 0.5219",\
                 "0.7268, 0.7216, 0.7057, 0.682, 0.6559, 0.6305, 0.6067, 0.5855, 0.5707, 0.5821",\
                 "0.8704, 0.8642, 0.8447, 0.8149, 0.7797, 0.7447, 0.712, 0.6811, 0.6592, 0.6764",\
                 "1.045, 1.038, 1.015, 0.9789, 0.9358, 0.8909, 0.8475, 0.8078, 0.7809, 0.8184");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.07635, 0.07638, 0.07627, 0.07637, 0.07642, 0.07653, 0.07651, 0.07659, 0.07655, 0.07655",\
                 "0.07551, 0.07534, 0.0755, 0.0755, 0.0757, 0.07572, 0.07578, 0.07582, 0.07588, 0.07588",\
                 "0.07569, 0.07555, 0.07535, 0.0751, 0.07493, 0.07484, 0.07482, 0.0748, 0.07478, 0.07476",\
                 "0.08738, 0.08662, 0.08475, 0.0826, 0.08069, 0.07895, 0.07775, 0.07696, 0.07629, 0.07586",\
                 "0.1196, 0.1179, 0.1128, 0.1063, 0.1001, 0.09469, 0.09047, 0.08705, 0.08442, 0.08246",\
                 "0.1767, 0.1736, 0.1646, 0.1521, 0.1391, 0.1278, 0.118, 0.1101, 0.1037, 0.0986",\
                 "0.2608, 0.2564, 0.2434, 0.224, 0.2031, 0.1831, 0.1658, 0.151, 0.1389, 0.1287",\
                 "0.3733, 0.3679, 0.3508, 0.3247, 0.2948, 0.2653, 0.2383, 0.2146, 0.1944, 0.1775",\
                 "0.5155, 0.5091, 0.4885, 0.4559, 0.4171, 0.3771, 0.3393, 0.3049, 0.2749, 0.2489",\
                 "0.6887, 0.6813, 0.6574, 0.6191, 0.5715, 0.521, 0.4712, 0.4252, 0.3835, 0.3468");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3503, 0.3505, 0.3511, 0.3517, 0.3525, 0.3535, 0.3549, 0.3561, 0.3575, 0.3632",\
                 "0.3471, 0.3475, 0.3487, 0.3502, 0.3516, 0.3527, 0.354, 0.3558, 0.3572, 0.3633",\
                 "0.3433, 0.3437, 0.3451, 0.3469, 0.349, 0.3508, 0.3526, 0.3542, 0.3562, 0.3627",\
                 "0.3508, 0.3505, 0.3496, 0.3494, 0.35, 0.3511, 0.3523, 0.3545, 0.3568, 0.3635",\
                 "0.3832, 0.3814, 0.3769, 0.3712, 0.3665, 0.3636, 0.3617, 0.361, 0.3614, 0.3693",\
                 "0.4475, 0.444, 0.4337, 0.4212, 0.4093, 0.3986, 0.3904, 0.3851, 0.3808, 0.3866",\
                 "0.5448, 0.5395, 0.5241, 0.5027, 0.4814, 0.4621, 0.4451, 0.4306, 0.4202, 0.422",\
                 "0.674, 0.6675, 0.6474, 0.6185, 0.5865, 0.5568, 0.5303, 0.5062, 0.4866, 0.4858",\
                 "0.8359, 0.8281, 0.804, 0.7673, 0.7257, 0.6843, 0.6469, 0.6132, 0.5843, 0.5834",\
                 "1.031, 1.022, 0.9951, 0.9523, 0.9009, 0.8485, 0.7983, 0.754, 0.7173, 0.7262");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.07697, 0.07679, 0.07682, 0.07694, 0.07703, 0.07705, 0.07709, 0.07714, 0.07717, 0.0772",\
                 "0.07722, 0.07715, 0.07718, 0.07722, 0.07729, 0.0774, 0.07745, 0.07746, 0.07749, 0.07751",\
                 "0.07858, 0.07854, 0.07836, 0.07802, 0.07795, 0.07791, 0.0779, 0.07786, 0.07786, 0.07786",\
                 "0.08904, 0.08841, 0.08693, 0.08514, 0.08352, 0.08201, 0.0812, 0.08039, 0.07982, 0.07943",\
                 "0.1165, 0.1152, 0.111, 0.1055, 0.1003, 0.09589, 0.09228, 0.08933, 0.08711, 0.08543",\
                 "0.1659, 0.1632, 0.1557, 0.1453, 0.1344, 0.1247, 0.1163, 0.1097, 0.1042, 0.09973",\
                 "0.2391, 0.2355, 0.2241, 0.2078, 0.1899, 0.1731, 0.1582, 0.1456, 0.1353, 0.1264",\
                 "0.3382, 0.3333, 0.3184, 0.2959, 0.2702, 0.2448, 0.2217, 0.2013, 0.1841, 0.1694",\
                 "0.4638, 0.4581, 0.4398, 0.4113, 0.3773, 0.3428, 0.3102, 0.2807, 0.2547, 0.2323",\
                 "0.6175, 0.6108, 0.5895, 0.555, 0.5132, 0.469, 0.4258, 0.3861, 0.3502, 0.3183");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3503, 0.3505, 0.351, 0.3518, 0.3526, 0.3536, 0.3546, 0.3555, 0.3591, 0.3833",\
                 "0.347, 0.3475, 0.3489, 0.3503, 0.3517, 0.3528, 0.3539, 0.3552, 0.3591, 0.3834",\
                 "0.3432, 0.3436, 0.3449, 0.3468, 0.3489, 0.3509, 0.3527, 0.3542, 0.359, 0.384",\
                 "0.3486, 0.3483, 0.3479, 0.348, 0.3489, 0.3503, 0.3519, 0.3538, 0.3583, 0.3858",\
                 "0.3763, 0.3747, 0.3708, 0.3661, 0.3625, 0.3602, 0.3591, 0.359, 0.3626, 0.393",\
                 "0.4332, 0.43, 0.4211, 0.41, 0.3993, 0.39, 0.3832, 0.3787, 0.379, 0.4122",\
                 "0.5203, 0.5155, 0.5016, 0.4829, 0.4641, 0.4463, 0.4308, 0.4185, 0.4152, 0.4522",\
                 "0.6361, 0.6299, 0.6117, 0.5858, 0.5577, 0.5311, 0.507, 0.4853, 0.4758, 0.5215",\
                 "0.7811, 0.7742, 0.7519, 0.719, 0.682, 0.6457, 0.6124, 0.5818, 0.5661, 0.6297",\
                 "0.9573, 0.9492, 0.9233, 0.884, 0.8379, 0.7914, 0.7479, 0.7091, 0.6982, 0.7951");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.077, 0.07701, 0.07698, 0.077, 0.07706, 0.07711, 0.07716, 0.07717, 0.07716, 0.0771",\
                 "0.07721, 0.07723, 0.07726, 0.07729, 0.07735, 0.07742, 0.07747, 0.07748, 0.07745, 0.07741",\
                 "0.07856, 0.07848, 0.07839, 0.07819, 0.07807, 0.07799, 0.07794, 0.07789, 0.07783, 0.07779",\
                 "0.08893, 0.08835, 0.08695, 0.08514, 0.08351, 0.08218, 0.08121, 0.08039, 0.07984, 0.07935",\
                 "0.1164, 0.115, 0.1109, 0.1055, 0.1003, 0.09581, 0.09227, 0.08935, 0.08713, 0.08542",\
                 "0.1655, 0.1629, 0.1555, 0.1452, 0.1344, 0.1246, 0.1165, 0.1097, 0.1042, 0.09968",\
                 "0.2387, 0.235, 0.2239, 0.2076, 0.1899, 0.173, 0.1581, 0.1456, 0.1352, 0.1265",\
                 "0.3374, 0.3328, 0.3179, 0.2956, 0.27, 0.2448, 0.2216, 0.2012, 0.1839, 0.1693",\
                 "0.4631, 0.4573, 0.4392, 0.4107, 0.3771, 0.3425, 0.31, 0.2805, 0.2545, 0.2322",\
                 "0.6164, 0.6098, 0.5886, 0.5546, 0.5128, 0.4687, 0.4256, 0.3858, 0.35, 0.3182");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4148, 0.4151, 0.4155, 0.4162, 0.417, 0.418, 0.4194, 0.4211, 0.4251, 0.4503",\
                 "0.4122, 0.4126, 0.4136, 0.4148, 0.416, 0.4176, 0.4189, 0.4205, 0.4241, 0.45",\
                 "0.4084, 0.4088, 0.4099, 0.4116, 0.4136, 0.4155, 0.4175, 0.4191, 0.4243, 0.4509",\
                 "0.4123, 0.4123, 0.412, 0.4124, 0.4134, 0.4149, 0.4168, 0.4188, 0.4235, 0.4531",\
                 "0.437, 0.436, 0.4328, 0.4292, 0.4261, 0.4247, 0.4236, 0.4243, 0.4285, 0.4603",\
                 "0.4901, 0.4877, 0.4805, 0.471, 0.4616, 0.4534, 0.4474, 0.4433, 0.4446, 0.4793",\
                 "0.5735, 0.5695, 0.5579, 0.5413, 0.5245, 0.5081, 0.4939, 0.4828, 0.4798, 0.52",\
                 "0.6865, 0.6812, 0.6652, 0.642, 0.6164, 0.5916, 0.5681, 0.5483, 0.5403, 0.5891",\
                 "0.8293, 0.8229, 0.8031, 0.7732, 0.739, 0.7046, 0.6721, 0.643, 0.6311, 0.6975",\
                 "1.003, 0.9955, 0.9722, 0.9362, 0.8932, 0.8493, 0.806, 0.7691, 0.7599, 0.8644");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.07646, 0.0764, 0.07639, 0.07641, 0.07645, 0.07651, 0.07654, 0.07653, 0.07654, 0.07649",\
                 "0.07556, 0.07553, 0.07559, 0.07561, 0.0757, 0.07577, 0.07581, 0.07583, 0.07578, 0.07574",\
                 "0.07559, 0.07552, 0.07536, 0.07515, 0.07499, 0.0749, 0.07483, 0.07477, 0.07474, 0.07465",\
                 "0.08728, 0.08659, 0.08478, 0.08261, 0.08065, 0.07907, 0.07782, 0.07692, 0.07626, 0.07576",\
                 "0.1194, 0.1178, 0.1128, 0.1063, 0.09993, 0.09469, 0.09045, 0.0871, 0.08447, 0.08237",\
                 "0.1763, 0.1732, 0.1644, 0.152, 0.1391, 0.1276, 0.118, 0.11, 0.1037, 0.0985",\
                 "0.2603, 0.256, 0.2431, 0.2237, 0.2029, 0.183, 0.1655, 0.1509, 0.1388, 0.1288",\
                 "0.3726, 0.3671, 0.3503, 0.3244, 0.2946, 0.2652, 0.2381, 0.2145, 0.1944, 0.1775",\
                 "0.5144, 0.5081, 0.4878, 0.4555, 0.4167, 0.3768, 0.339, 0.3047, 0.2747, 0.2488",\
                 "0.6874, 0.6802, 0.6566, 0.6184, 0.5711, 0.5206, 0.4712, 0.4249, 0.3833, 0.3467");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4139, 0.4141, 0.4146, 0.4155, 0.4162, 0.4172, 0.4183, 0.4201, 0.4219, 0.4287",\
                 "0.4113, 0.4117, 0.4125, 0.4138, 0.4154, 0.4164, 0.4182, 0.4195, 0.4219, 0.4288",\
                 "0.4076, 0.408, 0.4092, 0.4109, 0.4129, 0.4146, 0.4165, 0.4191, 0.4209, 0.4285",\
                 "0.4134, 0.4133, 0.4127, 0.4128, 0.4135, 0.4146, 0.4169, 0.4185, 0.4205, 0.4287",\
                 "0.4422, 0.4409, 0.4376, 0.4332, 0.4293, 0.4268, 0.4257, 0.4254, 0.4261, 0.4346",\
                 "0.5027, 0.4998, 0.4914, 0.481, 0.4699, 0.4607, 0.4533, 0.4478, 0.4448, 0.4515",\
                 "0.5965, 0.592, 0.5785, 0.56, 0.5407, 0.5225, 0.5068, 0.4934, 0.4839, 0.4879",\
                 "0.7227, 0.7171, 0.6991, 0.6727, 0.6434, 0.6155, 0.5903, 0.5675, 0.5496, 0.5511",\
                 "0.8822, 0.8751, 0.8535, 0.8197, 0.781, 0.7419, 0.7061, 0.6726, 0.6462, 0.6488",\
                 "1.075, 1.067, 1.042, 1.003, 0.9544, 0.9042, 0.8558, 0.8124, 0.7776, 0.7897");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.07702, 0.07698, 0.07697, 0.077, 0.07706, 0.07712, 0.07715, 0.07717, 0.07715, 0.07713",\
                 "0.07723, 0.0772, 0.07726, 0.07728, 0.07734, 0.07741, 0.07745, 0.07747, 0.07747, 0.07741",\
                 "0.07857, 0.07846, 0.07836, 0.07818, 0.07804, 0.078, 0.07793, 0.07789, 0.07783, 0.07778",\
                 "0.08899, 0.08831, 0.08694, 0.08518, 0.08351, 0.08217, 0.08121, 0.08041, 0.07973, 0.07932",\
                 "0.1164, 0.115, 0.1109, 0.1055, 0.1003, 0.09585, 0.09228, 0.08936, 0.0871, 0.08532",\
                 "0.1654, 0.163, 0.1555, 0.1452, 0.1343, 0.1247, 0.1164, 0.1097, 0.1042, 0.09979",\
                 "0.2387, 0.235, 0.2238, 0.2076, 0.1898, 0.1729, 0.1581, 0.1455, 0.1352, 0.1264",\
                 "0.3375, 0.3328, 0.3179, 0.2956, 0.27, 0.2447, 0.2215, 0.2012, 0.1839, 0.1693",\
                 "0.463, 0.4574, 0.4392, 0.4108, 0.3771, 0.3426, 0.31, 0.2805, 0.2545, 0.232",\
                 "0.6164, 0.6098, 0.5886, 0.5545, 0.5128, 0.4687, 0.4256, 0.3858, 0.35, 0.3182");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4139, 0.4141, 0.4146, 0.4153, 0.4161, 0.4171, 0.4185, 0.4202, 0.4241, 0.4493",\
                 "0.4113, 0.4117, 0.4126, 0.4138, 0.4151, 0.4164, 0.418, 0.4195, 0.4238, 0.4491",\
                 "0.4074, 0.4079, 0.409, 0.4106, 0.4127, 0.4146, 0.4166, 0.4185, 0.4233, 0.45",\
                 "0.4114, 0.4113, 0.4111, 0.4115, 0.4125, 0.4139, 0.4158, 0.4178, 0.4229, 0.4522",\
                 "0.4363, 0.435, 0.4319, 0.4281, 0.4252, 0.4235, 0.4229, 0.4233, 0.4273, 0.4587",\
                 "0.4894, 0.4868, 0.4796, 0.4701, 0.4606, 0.4525, 0.4463, 0.4423, 0.4436, 0.4786",\
                 "0.5727, 0.5687, 0.5571, 0.5407, 0.5236, 0.507, 0.4932, 0.4818, 0.4791, 0.5187",\
                 "0.6858, 0.6805, 0.6645, 0.6412, 0.6154, 0.5904, 0.5675, 0.5476, 0.5393, 0.5881",\
                 "0.8285, 0.8222, 0.8022, 0.7724, 0.738, 0.7035, 0.6712, 0.642, 0.6298, 0.6962",\
                 "1.002, 0.9948, 0.9716, 0.9353, 0.8924, 0.8484, 0.8057, 0.7682, 0.7596, 0.8634");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.07704, 0.077, 0.07697, 0.077, 0.07705, 0.07711, 0.07715, 0.07714, 0.07713, 0.07712",\
                 "0.07716, 0.07718, 0.07726, 0.07729, 0.07734, 0.0774, 0.07744, 0.07744, 0.07744, 0.0774",\
                 "0.07854, 0.07842, 0.07835, 0.07817, 0.07808, 0.07798, 0.07794, 0.07787, 0.07781, 0.07776",\
                 "0.08892, 0.08827, 0.08689, 0.08512, 0.08348, 0.08216, 0.08121, 0.08037, 0.07981, 0.07938",\
                 "0.1163, 0.1149, 0.1108, 0.1055, 0.1002, 0.09576, 0.09231, 0.08935, 0.08712, 0.08532",\
                 "0.1653, 0.1627, 0.1553, 0.145, 0.1343, 0.1245, 0.1163, 0.1097, 0.1042, 0.0997",\
                 "0.2383, 0.2346, 0.2235, 0.2073, 0.1897, 0.1729, 0.1581, 0.1455, 0.1352, 0.1264",\
                 "0.3368, 0.3322, 0.3174, 0.2952, 0.2697, 0.2447, 0.2214, 0.2011, 0.1839, 0.1693",\
                 "0.4623, 0.4566, 0.4385, 0.4103, 0.3768, 0.3423, 0.3099, 0.2804, 0.2544, 0.232",\
                 "0.6155, 0.6089, 0.5879, 0.5539, 0.5124, 0.4684, 0.4254, 0.3857, 0.3498, 0.3181");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4783, 0.4785, 0.479, 0.4796, 0.4805, 0.4815, 0.4826, 0.4842, 0.4883, 0.5145",\
                 "0.4761, 0.4765, 0.4772, 0.4783, 0.4795, 0.4807, 0.4821, 0.4835, 0.4877, 0.5136",\
                 "0.4725, 0.4728, 0.4737, 0.4754, 0.4771, 0.4789, 0.4807, 0.4827, 0.4873, 0.5152",\
                 "0.4753, 0.4752, 0.4752, 0.4757, 0.4771, 0.4782, 0.48, 0.4821, 0.4868, 0.5164",\
                 "0.4974, 0.4968, 0.4944, 0.4914, 0.4886, 0.4876, 0.4867, 0.487, 0.4918, 0.5247",\
                 "0.5475, 0.5456, 0.5397, 0.5314, 0.523, 0.5153, 0.5097, 0.5057, 0.5075, 0.5444",\
                 "0.6277, 0.6243, 0.6145, 0.5997, 0.5841, 0.569, 0.5557, 0.545, 0.5423, 0.5845",\
                 "0.7375, 0.733, 0.7193, 0.6982, 0.6746, 0.6511, 0.6288, 0.6092, 0.6018, 0.653",\
                 "0.8779, 0.8721, 0.8544, 0.8273, 0.7951, 0.7625, 0.7314, 0.7032, 0.6927, 0.7619",\
                 "1.05, 1.043, 1.021, 0.9881, 0.948, 0.9054, 0.8646, 0.8282, 0.821, 0.9301");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1005, 0.1126, 0.155, 0.2356, 0.3606, 0.5358, 0.7661, 1.057, 1.412, 1.834",\
                 "0.1127, 0.1249, 0.1676, 0.2488, 0.374, 0.5495, 0.7803, 1.071, 1.425, 1.848",\
                 "0.1491, 0.1644, 0.2131, 0.2947, 0.4198, 0.5955, 0.826, 1.117, 1.471, 1.894",\
                 "0.1683, 0.1895, 0.2566, 0.3651, 0.5071, 0.6835, 0.9133, 1.203, 1.557, 1.98",\
                 "0.1578, 0.1857, 0.273, 0.4117, 0.5919, 0.8067, 1.051, 1.341, 1.694, 2.115",\
                 "0.1124, 0.1472, 0.2564, 0.4278, 0.6472, 0.9064, 1.202, 1.528, 1.889, 2.308",\
                 "0.0297, 0.0715, 0.2013, 0.4077, 0.6691, 0.9744, 1.319, 1.7, 2.116, 2.564",\
                 "-0.0932, -0.0446, 0.1072, 0.3469, 0.652, 1.007, 1.403, 1.837, 2.311, 2.822",\
                 "-0.2588, -0.2033, -0.0294, 0.2432, 0.5921, 0.9975, 1.448, 1.94, 2.471, 3.043",\
                 "-0.4693, -0.4067, -0.212, 0.0955, 0.4855, 0.942, 1.45, 2.001, 2.593, 3.226");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2113, 0.2437, 0.3562, 0.569, 0.8988, 1.361, 1.968, 2.732, 3.664, 4.777",\
                 "0.2186, 0.2514, 0.3652, 0.5806, 0.9122, 1.375, 1.984, 2.747, 3.681, 4.792",\
                 "0.2742, 0.3046, 0.4148, 0.6281, 0.9602, 1.423, 2.033, 2.797, 3.731, 4.843",\
                 "0.3948, 0.4284, 0.5386, 0.7429, 1.068, 1.527, 2.134, 2.897, 3.83, 4.943",\
                 "0.5533, 0.5916, 0.7192, 0.9399, 1.258, 1.708, 2.307, 3.064, 3.995, 5.101",\
                 "0.7538, 0.798, 0.9408, 1.187, 1.534, 1.981, 2.569, 3.318, 4.239, 5.342",\
                 "0.9949, 1.047, 1.209, 1.48, 1.859, 2.345, 2.933, 3.67, 4.581, 5.675",\
                 "1.278, 1.337, 1.523, 1.824, 2.234, 2.758, 3.391, 4.133, 5.031, 6.111",\
                 "1.604, 1.673, 1.883, 2.22, 2.664, 3.223, 3.902, 4.692, 5.597, 6.665",\
                 "1.978, 2.054, 2.29, 2.665, 3.152, 3.746, 4.466, 5.308, 6.265, 7.341");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1269, 0.1474, 0.2195, 0.3563, 0.5708, 0.8698, 1.264, 1.76, 2.366, 3.09",\
                 "0.1268, 0.1473, 0.2192, 0.3567, 0.5711, 0.8701, 1.263, 1.76, 2.367, 3.089",\
                 "0.1624, 0.1808, 0.2378, 0.3589, 0.5692, 0.87, 1.263, 1.76, 2.367, 3.09",\
                 "0.2328, 0.2547, 0.327, 0.4475, 0.6153, 0.8778, 1.263, 1.759, 2.367, 3.089",\
                 "0.3291, 0.3565, 0.4394, 0.5786, 0.7712, 1.011, 1.327, 1.772, 2.365, 3.089",\
                 "0.4444, 0.4772, 0.5806, 0.7432, 0.9566, 1.227, 1.551, 1.932, 2.439, 3.102",\
                 "0.5782, 0.6184, 0.7428, 0.935, 1.178, 1.472, 1.826, 2.241, 2.705, 3.279",\
                 "0.7322, 0.7796, 0.9254, 1.149, 1.426, 1.753, 2.136, 2.581, 3.092, 3.656",\
                 "0.8992, 0.9568, 1.127, 1.385, 1.702, 2.07, 2.484, 2.96, 3.507, 4.115",\
                 "1.08, 1.149, 1.35, 1.641, 2.003, 2.413, 2.874, 3.381, 3.956, 4.607");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3693, 0.4268, 0.6265, 0.9997, 1.58, 2.387, 3.453, 4.791, 6.431, 8.38",\
                 "0.3664, 0.4255, 0.6258, 0.9993, 1.577, 2.388, 3.449, 4.79, 6.432, 8.379",\
                 "0.3575, 0.4168, 0.6213, 0.9992, 1.577, 2.388, 3.453, 4.794, 6.429, 8.371",\
                 "0.4109, 0.4621, 0.6355, 0.9949, 1.576, 2.388, 3.454, 4.794, 6.429, 8.372",\
                 "0.4778, 0.5328, 0.7238, 1.054, 1.585, 2.386, 3.453, 4.794, 6.428, 8.371",\
                 "0.5778, 0.6334, 0.8232, 1.181, 1.689, 2.414, 3.455, 4.794, 6.43, 8.376",\
                 "0.7062, 0.7648, 0.9556, 1.317, 1.863, 2.567, 3.515, 4.798, 6.429, 8.372",\
                 "0.8562, 0.9216, 1.127, 1.486, 2.045, 2.795, 3.708, 4.901, 6.448, 8.382",\
                 "1.023, 1.095, 1.319, 1.694, 2.253, 3.027, 3.997, 5.137, 6.594, 8.403",\
                 "1.209, 1.289, 1.533, 1.942, 2.503, 3.281, 4.284, 5.479, 6.873, 8.606");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1004, 0.1127, 0.155, 0.2357, 0.3607, 0.5358, 0.7664, 1.056, 1.411, 1.834",\
                 "0.1128, 0.125, 0.1678, 0.2486, 0.3743, 0.5495, 0.7801, 1.071, 1.425, 1.848",\
                 "0.1498, 0.1651, 0.2137, 0.2953, 0.4204, 0.5959, 0.8266, 1.117, 1.472, 1.894",\
                 "0.1691, 0.1904, 0.2574, 0.3659, 0.5078, 0.6842, 0.9141, 1.204, 1.558, 1.981",\
                 "0.1555, 0.1838, 0.2712, 0.4106, 0.5914, 0.8066, 1.052, 1.341, 1.694, 2.115",\
                 "0.1028, 0.1379, 0.2479, 0.4212, 0.6428, 0.9037, 1.2, 1.527, 1.888, 2.308",\
                 "0.0074, 0.0497, 0.182, 0.3915, 0.6567, 0.9657, 1.313, 1.697, 2.113, 2.562",\
                 "-0.1339, -0.084, 0.0714, 0.3161, 0.6276, 0.9877, 1.389, 1.827, 2.304, 2.817",\
                 "-0.3235, -0.2655, -0.0884, 0.1928, 0.5499, 0.9635, 1.421, 1.919, 2.456, 3.031",\
                 "-0.5629, -0.4993, -0.2977, 0.0185, 0.4213, 0.8876, 1.406, 1.964, 2.565, 3.204");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2337, 0.2727, 0.4099, 0.6717, 1.076, 1.644, 2.388, 3.326, 4.471, 5.835",\
                 "0.2393, 0.2785, 0.4179, 0.6821, 1.089, 1.657, 2.403, 3.342, 4.487, 5.853",\
                 "0.2945, 0.3309, 0.4649, 0.7269, 1.135, 1.703, 2.45, 3.39, 4.536, 5.901",\
                 "0.4253, 0.4632, 0.5893, 0.8388, 1.238, 1.803, 2.547, 3.484, 4.629, 5.995",\
                 "0.5992, 0.6422, 0.7865, 1.039, 1.425, 1.978, 2.714, 3.646, 4.786, 6.149",\
                 "0.8199, 0.8685, 1.028, 1.308, 1.706, 2.247, 2.97, 3.891, 5.023, 6.378",\
                 "1.087, 1.143, 1.322, 1.625, 2.059, 2.616, 3.327, 4.235, 5.354, 6.698",\
                 "1.403, 1.467, 1.669, 1.999, 2.463, 3.064, 3.794, 4.689, 5.793, 7.124",\
                 "1.769, 1.842, 2.068, 2.434, 2.928, 3.566, 4.346, 5.259, 6.35, 7.663",\
                 "2.187, 2.27, 2.522, 2.925, 3.459, 4.131, 4.953, 5.922, 7.031, 8.331");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.127, 0.1476, 0.2194, 0.3565, 0.5705, 0.8701, 1.263, 1.76, 2.366, 3.088",\
                 "0.1267, 0.1473, 0.2194, 0.3561, 0.5701, 0.8704, 1.264, 1.76, 2.366, 3.089",\
                 "0.162, 0.1804, 0.2376, 0.3589, 0.5694, 0.8701, 1.263, 1.76, 2.367, 3.09",\
                 "0.2316, 0.2537, 0.3263, 0.447, 0.6149, 0.8777, 1.263, 1.759, 2.366, 3.089",\
                 "0.3259, 0.3527, 0.4389, 0.5782, 0.7716, 1.011, 1.328, 1.771, 2.365, 3.089",\
                 "0.4386, 0.4726, 0.5768, 0.7422, 0.9568, 1.229, 1.551, 1.932, 2.44, 3.105",\
                 "0.5698, 0.6118, 0.7384, 0.9308, 1.179, 1.476, 1.83, 2.243, 2.707, 3.281",\
                 "0.7224, 0.7708, 0.9206, 1.147, 1.429, 1.759, 2.143, 2.591, 3.096, 3.658",\
                 "0.8894, 0.947, 1.123, 1.385, 1.707, 2.08, 2.496, 2.974, 3.519, 4.123",\
                 "1.066, 1.137, 1.348, 1.645, 2.009, 2.424, 2.891, 3.404, 3.976, 4.624");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4586, 0.5326, 0.7844, 1.246, 1.956, 2.948, 4.253, 5.889, 7.885, 10.28",\
                 "0.4549, 0.5289, 0.7832, 1.246, 1.958, 2.947, 4.243, 5.895, 7.886, 10.27",\
                 "0.4363, 0.5127, 0.7759, 1.244, 1.958, 2.946, 4.243, 5.895, 7.891, 10.27",\
                 "0.4781, 0.5418, 0.7706, 1.234, 1.955, 2.944, 4.248, 5.883, 7.897, 10.27",\
                 "0.539, 0.6076, 0.8432, 1.26, 1.946, 2.943, 4.247, 5.883, 7.883, 10.27",\
                 "0.6292, 0.6954, 0.9318, 1.37, 2.006, 2.949, 4.248, 5.888, 7.884, 10.27",\
                 "0.7526, 0.8194, 1.051, 1.498, 2.156, 3.038, 4.261, 5.887, 7.886, 10.27",\
                 "0.902, 0.9736, 1.206, 1.643, 2.329, 3.233, 4.387, 5.916, 7.892, 10.28",\
                 "1.067, 1.145, 1.397, 1.833, 2.516, 3.459, 4.624, 6.073, 7.948, 10.29",\
                 "1.252, 1.338, 1.609, 2.064, 2.74, 3.692, 4.91, 6.356, 8.146, 10.36");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1041, 0.1165, 0.1595, 0.2412, 0.3678, 0.5446, 0.7759, 1.066, 1.421, 1.843",\
                 "0.1163, 0.129, 0.1724, 0.2544, 0.3813, 0.5584, 0.7897, 1.08, 1.435, 1.857",\
                 "0.1552, 0.1705, 0.2188, 0.301, 0.4278, 0.6047, 0.8361, 1.127, 1.481, 1.903",\
                 "0.1787, 0.1998, 0.2662, 0.3744, 0.5161, 0.6932, 0.9237, 1.214, 1.568, 1.99",\
                 "0.1722, 0.1994, 0.2855, 0.4236, 0.6035, 0.8179, 1.062, 1.351, 1.704, 2.125",\
                 "0.1291, 0.1633, 0.27, 0.4403, 0.6589, 0.9177, 1.212, 1.538, 1.899, 2.318",\
                 "0.0459, 0.0858, 0.2127, 0.4167, 0.6773, 0.9827, 1.328, 1.71, 2.125, 2.572",\
                 "-0.0822, -0.0359, 0.1108, 0.3478, 0.6528, 1.008, 1.406, 1.843, 2.318, 2.829",\
                 "-0.259, -0.2063, -0.0392, 0.2307, 0.5802, 0.9876, 1.442, 1.936, 2.471, 3.046",\
                 "-0.4861, -0.4272, -0.2394, 0.0643, 0.4561, 0.9167, 1.429, 1.986, 2.582, 3.22");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3215, 0.3612, 0.4992, 0.761, 1.166, 1.733, 2.478, 3.416, 4.561, 5.925",\
                 "0.329, 0.3688, 0.5082, 0.7722, 1.179, 1.748, 2.493, 3.432, 4.577, 5.943",\
                 "0.3787, 0.4173, 0.5546, 0.8168, 1.224, 1.794, 2.54, 3.48, 4.626, 5.992",\
                 "0.5089, 0.5445, 0.6723, 0.9268, 1.328, 1.892, 2.638, 3.575, 4.72, 6.086",\
                 "0.6946, 0.7358, 0.8741, 1.122, 1.512, 2.066, 2.802, 3.735, 4.876, 6.237",\
                 "0.926, 0.9713, 1.125, 1.398, 1.79, 2.333, 3.057, 3.98, 5.113, 6.468",\
                 "1.209, 1.259, 1.427, 1.723, 2.149, 2.702, 3.413, 4.322, 5.443, 6.788",\
                 "1.542, 1.599, 1.785, 2.104, 2.56, 3.155, 3.879, 4.775, 5.882, 7.213",\
                 "1.926, 1.99, 2.198, 2.546, 3.031, 3.661, 4.435, 5.344, 6.436, 7.751",\
                 "2.363, 2.436, 2.666, 3.049, 3.569, 4.231, 5.048, 6.012, 7.117, 8.418");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1672, 0.1881, 0.2607, 0.3983, 0.6122, 0.9122, 1.305, 1.803, 2.409, 3.132",\
                 "0.1673, 0.1881, 0.2608, 0.3983, 0.612, 0.9119, 1.306, 1.804, 2.407, 3.128",\
                 "0.2076, 0.2234, 0.2793, 0.4007, 0.6122, 0.9122, 1.306, 1.802, 2.409, 3.13",\
                 "0.2945, 0.3136, 0.3787, 0.4927, 0.657, 0.9197, 1.306, 1.801, 2.408, 3.132",\
                 "0.4106, 0.4331, 0.5067, 0.6362, 0.8216, 1.055, 1.368, 1.815, 2.408, 3.131",\
                 "0.5502, 0.5766, 0.6646, 0.8126, 1.017, 1.28, 1.597, 1.975, 2.48, 3.145",\
                 "0.7112, 0.7436, 0.8472, 1.019, 1.248, 1.535, 1.883, 2.29, 2.752, 3.324",\
                 "0.896, 0.9326, 1.053, 1.252, 1.513, 1.828, 2.203, 2.645, 3.145, 3.702",\
                 "1.096, 1.141, 1.281, 1.509, 1.805, 2.159, 2.565, 3.033, 3.574, 4.173",\
                 "1.31, 1.364, 1.53, 1.788, 2.124, 2.517, 2.967, 3.467, 4.035, 4.675");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5865, 0.6584, 0.9048, 1.364, 2.073, 3.064, 4.365, 6.004, 8.006, 10.39",\
                 "0.5846, 0.657, 0.9045, 1.364, 2.072, 3.064, 4.365, 6.004, 8.005, 10.39",\
                 "0.5717, 0.6472, 0.9005, 1.363, 2.072, 3.064, 4.365, 6.005, 8.005, 10.39",\
                 "0.5826, 0.6482, 0.8861, 1.358, 2.072, 3.064, 4.367, 6.005, 8.004, 10.39",\
                 "0.6516, 0.7196, 0.9446, 1.367, 2.066, 3.064, 4.366, 6.006, 8.005, 10.39",\
                 "0.732, 0.8002, 1.041, 1.471, 2.11, 3.061, 4.365, 6.005, 8.007, 10.39",\
                 "0.85, 0.9156, 1.153, 1.602, 2.256, 3.143, 4.373, 6.004, 8.007, 10.39",\
                 "1.001, 1.068, 1.303, 1.749, 2.433, 3.333, 4.491, 6.028, 8.005, 10.39",\
                 "1.172, 1.246, 1.491, 1.932, 2.622, 3.564, 4.725, 6.18, 8.05, 10.39",\
                 "1.363, 1.445, 1.707, 2.161, 2.841, 3.803, 5.014, 6.456, 8.238, 10.46");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1005, 0.1126, 0.155, 0.2356, 0.3606, 0.5358, 0.7661, 1.057, 1.412, 1.834",\
                 "0.1127, 0.1249, 0.1676, 0.2488, 0.374, 0.5495, 0.7803, 1.071, 1.425, 1.848",\
                 "0.1491, 0.1644, 0.2131, 0.2947, 0.4198, 0.5955, 0.826, 1.117, 1.471, 1.894",\
                 "0.1683, 0.1895, 0.2566, 0.3651, 0.5071, 0.6835, 0.9133, 1.203, 1.557, 1.98",\
                 "0.1578, 0.1857, 0.273, 0.4117, 0.5919, 0.8067, 1.051, 1.341, 1.694, 2.115",\
                 "0.1124, 0.1472, 0.2564, 0.4278, 0.6472, 0.9064, 1.202, 1.528, 1.889, 2.308",\
                 "0.0297, 0.0715, 0.2013, 0.4077, 0.6691, 0.9744, 1.319, 1.7, 2.116, 2.564",\
                 "-0.0932, -0.0446, 0.1072, 0.3469, 0.652, 1.007, 1.403, 1.837, 2.311, 2.822",\
                 "-0.2588, -0.2033, -0.0294, 0.2432, 0.5921, 0.9975, 1.448, 1.94, 2.471, 3.043",\
                 "-0.4693, -0.4067, -0.212, 0.0955, 0.4855, 0.942, 1.45, 2.001, 2.593, 3.226");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3215, 0.3612, 0.4992, 0.761, 1.166, 1.733, 2.478, 3.416, 4.561, 5.925",\
                 "0.329, 0.3688, 0.5082, 0.7722, 1.179, 1.748, 2.493, 3.432, 4.577, 5.943",\
                 "0.3787, 0.4173, 0.5546, 0.8168, 1.224, 1.794, 2.54, 3.48, 4.626, 5.992",\
                 "0.5089, 0.5445, 0.6723, 0.9268, 1.328, 1.892, 2.638, 3.575, 4.72, 6.086",\
                 "0.6946, 0.7358, 0.8741, 1.122, 1.512, 2.066, 2.802, 3.735, 4.876, 6.237",\
                 "0.926, 0.9713, 1.125, 1.398, 1.79, 2.333, 3.057, 3.98, 5.113, 6.468",\
                 "1.209, 1.259, 1.427, 1.723, 2.149, 2.702, 3.413, 4.322, 5.443, 6.788",\
                 "1.542, 1.599, 1.785, 2.104, 2.56, 3.155, 3.879, 4.775, 5.882, 7.213",\
                 "1.926, 1.99, 2.198, 2.546, 3.031, 3.661, 4.435, 5.344, 6.436, 7.751",\
                 "2.363, 2.436, 2.666, 3.049, 3.569, 4.231, 5.048, 6.012, 7.117, 8.418");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1672, 0.1881, 0.2607, 0.3983, 0.6122, 0.9122, 1.305, 1.803, 2.409, 3.132",\
                 "0.1673, 0.1881, 0.2608, 0.3983, 0.612, 0.9119, 1.306, 1.804, 2.407, 3.128",\
                 "0.2076, 0.2234, 0.2793, 0.4007, 0.6122, 0.9122, 1.306, 1.802, 2.409, 3.13",\
                 "0.2945, 0.3136, 0.3787, 0.4927, 0.657, 0.9197, 1.306, 1.801, 2.408, 3.132",\
                 "0.4106, 0.4331, 0.5067, 0.6362, 0.8216, 1.055, 1.368, 1.815, 2.408, 3.131",\
                 "0.5502, 0.5766, 0.6646, 0.8126, 1.017, 1.28, 1.597, 1.975, 2.48, 3.145",\
                 "0.7112, 0.7436, 0.8472, 1.019, 1.248, 1.535, 1.883, 2.29, 2.752, 3.324",\
                 "0.896, 0.9326, 1.053, 1.252, 1.513, 1.828, 2.203, 2.645, 3.145, 3.702",\
                 "1.096, 1.141, 1.281, 1.509, 1.805, 2.159, 2.565, 3.033, 3.574, 4.173",\
                 "1.31, 1.364, 1.53, 1.788, 2.124, 2.517, 2.967, 3.467, 4.035, 4.675");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5865, 0.6584, 0.9048, 1.364, 2.073, 3.064, 4.365, 6.004, 8.006, 10.39",\
                 "0.5846, 0.657, 0.9045, 1.364, 2.072, 3.064, 4.365, 6.004, 8.005, 10.39",\
                 "0.5717, 0.6472, 0.9005, 1.363, 2.072, 3.064, 4.365, 6.005, 8.005, 10.39",\
                 "0.5826, 0.6482, 0.8861, 1.358, 2.072, 3.064, 4.367, 6.005, 8.004, 10.39",\
                 "0.6516, 0.7196, 0.9446, 1.367, 2.066, 3.064, 4.366, 6.006, 8.005, 10.39",\
                 "0.732, 0.8002, 1.041, 1.471, 2.11, 3.061, 4.365, 6.005, 8.007, 10.39",\
                 "0.85, 0.9156, 1.153, 1.602, 2.256, 3.143, 4.373, 6.004, 8.007, 10.39",\
                 "1.001, 1.068, 1.303, 1.749, 2.433, 3.333, 4.491, 6.028, 8.005, 10.39",\
                 "1.172, 1.246, 1.491, 1.932, 2.622, 3.564, 4.725, 6.18, 8.05, 10.39",\
                 "1.363, 1.445, 1.707, 2.161, 2.841, 3.803, 5.014, 6.456, 8.238, 10.46");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1149, 0.1269, 0.1694, 0.2497, 0.3746, 0.55, 0.7806, 1.071, 1.426, 1.848",\
                 "0.1253, 0.1376, 0.1807, 0.2616, 0.3868, 0.5623, 0.7928, 1.083, 1.438, 1.861",\
                 "0.1472, 0.1613, 0.2082, 0.2905, 0.4161, 0.5919, 0.8229, 1.113, 1.468, 1.89",\
                 "0.1566, 0.1751, 0.2335, 0.3312, 0.4679, 0.6458, 0.8762, 1.167, 1.521, 1.943",\
                 "0.1355, 0.1598, 0.2358, 0.3571, 0.5169, 0.7168, 0.9597, 1.251, 1.605, 2.027",\
                 "0.0755, 0.1062, 0.202, 0.353, 0.5457, 0.7751, 1.045, 1.36, 1.724, 2.145",\
                 "-0.027, 0.0101, 0.1257, 0.3087, 0.5398, 0.8088, 1.113, 1.459, 1.853, 2.297",\
                 "-0.175, -0.1314, 0.0047, 0.2189, 0.4909, 0.8049, 1.155, 1.54, 1.968, 2.445",\
                 "-0.3709, -0.3207, -0.165, 0.0817, 0.3933, 0.755, 1.154, 1.589, 2.06, 2.575",\
                 "-0.6164, -0.5612, -0.3858, -0.1069, 0.2457, 0.6537, 1.107, 1.594, 2.119, 2.679");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2707, 0.3027, 0.4141, 0.6262, 0.9557, 1.418, 2.025, 2.79, 3.724, 4.834",\
                 "0.2796, 0.3117, 0.4242, 0.6373, 0.9672, 1.429, 2.038, 2.802, 3.734, 4.848",\
                 "0.3356, 0.3669, 0.4773, 0.689, 1.019, 1.48, 2.088, 2.852, 3.785, 4.901",\
                 "0.4663, 0.4973, 0.6027, 0.8069, 1.131, 1.588, 2.193, 2.955, 3.886, 4.999",\
                 "0.6429, 0.6785, 0.7983, 1.009, 1.324, 1.772, 2.37, 3.126, 4.055, 5.16",\
                 "0.867, 0.9064, 1.038, 1.273, 1.609, 2.05, 2.636, 3.383, 4.303, 5.406",\
                 "1.141, 1.185, 1.331, 1.585, 1.952, 2.424, 3.005, 3.741, 4.649, 5.739",\
                 "1.466, 1.517, 1.68, 1.957, 2.348, 2.857, 3.476, 4.21, 5.105, 6.183",\
                 "1.843, 1.9, 2.084, 2.389, 2.806, 3.344, 4.007, 4.784, 5.68, 6.745",\
                 "2.276, 2.34, 2.543, 2.879, 3.33, 3.899, 4.597, 5.422, 6.364, 7.432");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1269, 0.1473, 0.2195, 0.3565, 0.571, 0.8699, 1.263, 1.759, 2.366, 3.09",\
                 "0.1268, 0.1473, 0.2193, 0.3565, 0.571, 0.8703, 1.264, 1.76, 2.367, 3.089",\
                 "0.151, 0.1694, 0.2321, 0.3587, 0.5705, 0.8698, 1.263, 1.76, 2.366, 3.09",\
                 "0.2117, 0.23, 0.2936, 0.4154, 0.6017, 0.8773, 1.263, 1.76, 2.366, 3.09",\
                 "0.3016, 0.3234, 0.3928, 0.5142, 0.7018, 0.9634, 1.31, 1.775, 2.366, 3.089",\
                 "0.4128, 0.4384, 0.5198, 0.654, 0.844, 1.105, 1.448, 1.878, 2.423, 3.109",\
                 "0.543, 0.5726, 0.6684, 0.8242, 1.032, 1.295, 1.635, 2.066, 2.594, 3.225",\
                 "0.6886, 0.725, 0.8358, 1.017, 1.249, 1.534, 1.878, 2.305, 2.831, 3.458",\
                 "0.8452, 0.8888, 1.024, 1.227, 1.493, 1.805, 2.172, 2.603, 3.122, 3.747",\
                 "1.011, 1.064, 1.223, 1.461, 1.758, 2.104, 2.502, 2.956, 3.479, 4.098");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4663, 0.5236, 0.7215, 1.095, 1.672, 2.482, 3.546, 4.886, 6.521, 8.463",\
                 "0.465, 0.5224, 0.7214, 1.095, 1.672, 2.482, 3.546, 4.886, 6.518, 8.466",\
                 "0.4567, 0.516, 0.7187, 1.094, 1.672, 2.482, 3.545, 4.883, 6.518, 8.47",\
                 "0.4909, 0.541, 0.7212, 1.09, 1.672, 2.482, 3.546, 4.884, 6.517, 8.47",\
                 "0.5612, 0.6164, 0.8046, 1.134, 1.673, 2.481, 3.545, 4.885, 6.52, 8.466",\
                 "0.6468, 0.7042, 0.9016, 1.257, 1.766, 2.503, 3.545, 4.884, 6.519, 8.468",\
                 "0.7626, 0.8226, 1.02, 1.389, 1.936, 2.642, 3.597, 4.888, 6.518, 8.466",\
                 "0.9022, 0.9646, 1.17, 1.543, 2.113, 2.861, 3.781, 4.976, 6.531, 8.465",\
                 "1.06, 1.127, 1.35, 1.733, 2.302, 3.089, 4.055, 5.209, 6.662, 8.497",\
                 "1.232, 1.307, 1.549, 1.951, 2.529, 3.323, 4.341, 5.539, 6.945, 8.672");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1149, 0.127, 0.1694, 0.2499, 0.3749, 0.5499, 0.7803, 1.071, 1.425, 1.848",\
                 "0.1254, 0.1378, 0.1808, 0.2618, 0.3871, 0.5626, 0.7932, 1.083, 1.438, 1.861",\
                 "0.1479, 0.162, 0.2087, 0.291, 0.4166, 0.5925, 0.8233, 1.114, 1.468, 1.891",\
                 "0.1577, 0.1761, 0.2345, 0.3321, 0.4688, 0.6465, 0.877, 1.168, 1.522, 1.944",\
                 "0.1346, 0.159, 0.2351, 0.3567, 0.5168, 0.7171, 0.9601, 1.251, 1.606, 2.027",\
                 "0.0693, 0.1002, 0.1964, 0.3484, 0.5424, 0.7728, 1.043, 1.359, 1.723, 2.145",\
                 "-0.043, -0.0055, 0.1114, 0.2964, 0.5298, 0.8014, 1.109, 1.456, 1.85, 2.295",\
                 "-0.206, -0.1616, -0.0229, 0.1952, 0.4709, 0.7887, 1.143, 1.531, 1.96, 2.438",\
                 "-0.4221, -0.3708, -0.2112, 0.0413, 0.359, 0.7272, 1.132, 1.571, 2.046, 2.563",\
                 "-0.6928, -0.6355, -0.4551, -0.1695, 0.1926, 0.6086, 1.069, 1.564, 2.094, 2.659");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3063, 0.345, 0.4816, 0.7422, 1.147, 1.714, 2.458, 3.396, 4.541, 5.906",\
                 "0.3133, 0.3523, 0.4903, 0.7519, 1.157, 1.724, 2.469, 3.407, 4.552, 5.917",\
                 "0.3692, 0.407, 0.542, 0.8018, 1.206, 1.773, 2.519, 3.456, 4.602, 5.967",\
                 "0.506, 0.5412, 0.667, 0.9176, 1.316, 1.878, 2.62, 3.555, 4.699, 6.063",\
                 "0.6988, 0.7397, 0.8755, 1.12, 1.506, 2.057, 2.791, 3.721, 4.858, 6.219",\
                 "0.9414, 0.9858, 1.136, 1.404, 1.792, 2.331, 3.051, 3.969, 5.099, 6.451",\
                 "1.24, 1.289, 1.452, 1.742, 2.161, 2.707, 3.415, 4.32, 5.436, 6.778",\
                 "1.595, 1.651, 1.829, 2.139, 2.587, 3.173, 3.89, 4.781, 5.883, 7.209",\
                 "2.01, 2.072, 2.27, 2.606, 3.077, 3.697, 4.46, 5.362, 6.449, 7.757",\
                 "2.486, 2.555, 2.775, 3.139, 3.64, 4.288, 5.092, 6.044, 7.142, 8.436");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1269, 0.1476, 0.2194, 0.3565, 0.5706, 0.8704, 1.263, 1.76, 2.366, 3.089",\
                 "0.1267, 0.1473, 0.2191, 0.3566, 0.5701, 0.8701, 1.263, 1.759, 2.367, 3.089",\
                 "0.1507, 0.1691, 0.2319, 0.359, 0.5705, 0.8701, 1.264, 1.76, 2.366, 3.089",\
                 "0.2107, 0.2291, 0.2934, 0.415, 0.6015, 0.8774, 1.264, 1.76, 2.367, 3.088",\
                 "0.2985, 0.3196, 0.3897, 0.5138, 0.7014, 0.963, 1.31, 1.775, 2.367, 3.089",\
                 "0.4062, 0.4326, 0.5146, 0.652, 0.844, 1.105, 1.448, 1.878, 2.425, 3.107",\
                 "0.5344, 0.5646, 0.662, 0.8206, 1.031, 1.298, 1.638, 2.069, 2.595, 3.225",\
                 "0.6784, 0.7152, 0.8288, 1.012, 1.247, 1.537, 1.881, 2.311, 2.836, 3.46",\
                 "0.8322, 0.878, 1.015, 1.224, 1.49, 1.806, 2.176, 2.611, 3.13, 3.754",\
                 "0.998, 1.052, 1.215, 1.457, 1.756, 2.107, 2.507, 2.964, 3.491, 4.107");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.583, 0.6552, 0.9028, 1.362, 2.071, 3.063, 4.364, 6.003, 8.003, 10.39",\
                 "0.5802, 0.6534, 0.9016, 1.362, 2.071, 3.063, 4.364, 6.002, 8.003, 10.39",\
                 "0.5676, 0.6431, 0.8977, 1.361, 2.07, 3.063, 4.364, 6.003, 8.004, 10.39",\
                 "0.5819, 0.6467, 0.8846, 1.355, 2.071, 3.062, 4.365, 6.004, 8.003, 10.39",\
                 "0.6468, 0.7158, 0.9422, 1.366, 2.064, 3.062, 4.365, 6.004, 8.004, 10.39",\
                 "0.723, 0.7932, 1.035, 1.466, 2.108, 3.06, 4.364, 6.003, 8.005, 10.39",\
                 "0.8286, 0.898, 1.14, 1.592, 2.25, 3.138, 4.37, 6.002, 8.005, 10.39",\
                 "0.962, 1.033, 1.274, 1.729, 2.42, 3.323, 4.486, 6.026, 8.004, 10.39",\
                 "1.117, 1.193, 1.443, 1.894, 2.594, 3.545, 4.712, 6.174, 8.047, 10.39",\
                 "1.288, 1.371, 1.64, 2.1, 2.794, 3.769, 4.992, 6.441, 8.228, 10.46");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1185, 0.1307, 0.1738, 0.2554, 0.382, 0.5587, 0.79, 1.081, 1.435, 1.857",\
                 "0.129, 0.1415, 0.1852, 0.2673, 0.3943, 0.5713, 0.8027, 1.093, 1.448, 1.87",\
                 "0.1526, 0.1667, 0.2138, 0.2968, 0.4241, 0.6012, 0.8328, 1.123, 1.478, 1.901",\
                 "0.1649, 0.1835, 0.2414, 0.3395, 0.477, 0.6557, 0.8868, 1.177, 1.532, 1.954",\
                 "0.1474, 0.1711, 0.246, 0.367, 0.5271, 0.7274, 0.9702, 1.262, 1.615, 2.037",\
                 "0.0895, 0.1194, 0.2137, 0.3633, 0.5555, 0.7849, 1.055, 1.37, 1.733, 2.155",\
                 "-0.0124, 0.0232, 0.1359, 0.3169, 0.5473, 0.8161, 1.121, 1.468, 1.862, 2.306",\
                 "-0.1642, -0.1225, 0.0095, 0.221, 0.4922, 0.8064, 1.157, 1.544, 1.973, 2.451",\
                 "-0.3691, -0.3217, -0.1703, 0.0733, 0.3847, 0.7477, 1.149, 1.586, 2.059, 2.576",\
                 "-0.6299, -0.577, -0.4065, -0.1314, 0.2222, 0.6332, 1.09, 1.581, 2.109, 2.673");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3946, 0.4338, 0.5709, 0.8316, 1.236, 1.803, 2.548, 3.486, 4.631, 5.995",\
                 "0.4026, 0.4418, 0.5797, 0.8414, 1.247, 1.815, 2.559, 3.498, 4.643, 6.008",\
                 "0.4559, 0.4945, 0.6307, 0.8912, 1.296, 1.863, 2.609, 3.546, 4.692, 6.058",\
                 "0.5855, 0.6217, 0.7517, 1.005, 1.404, 1.967, 2.709, 3.646, 4.789, 6.154",\
                 "0.789, 0.8279, 0.9603, 1.204, 1.592, 2.145, 2.88, 3.811, 4.949, 6.309",\
                 "1.04, 1.083, 1.229, 1.492, 1.876, 2.416, 3.139, 4.057, 5.19, 6.542",\
                 "1.348, 1.394, 1.552, 1.836, 2.249, 2.792, 3.501, 4.407, 5.525, 6.866",\
                 "1.716, 1.767, 1.937, 2.239, 2.681, 3.26, 3.975, 4.866, 5.969, 7.297",\
                 "2.145, 2.201, 2.389, 2.711, 3.176, 3.789, 4.548, 5.447, 6.534, 7.846",\
                 "2.636, 2.698, 2.903, 3.253, 3.745, 4.387, 5.186, 6.131, 7.226, 8.522");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1673, 0.1882, 0.2607, 0.3982, 0.6122, 0.9124, 1.306, 1.803, 2.409, 3.131",\
                 "0.1673, 0.1882, 0.2608, 0.3983, 0.6121, 0.9121, 1.306, 1.803, 2.407, 3.132",\
                 "0.1941, 0.2116, 0.2736, 0.401, 0.6122, 0.9118, 1.306, 1.804, 2.41, 3.131",\
                 "0.2634, 0.2802, 0.3409, 0.4592, 0.6438, 0.921, 1.306, 1.803, 2.41, 3.132",\
                 "0.368, 0.3859, 0.4481, 0.5648, 0.7476, 1.007, 1.353, 1.817, 2.409, 3.131",\
                 "0.4974, 0.5176, 0.5878, 0.713, 0.8962, 1.154, 1.493, 1.921, 2.467, 3.152",\
                 "0.6476, 0.6718, 0.753, 0.8946, 1.092, 1.351, 1.686, 2.115, 2.638, 3.268",\
                 "0.8176, 0.8458, 0.9402, 1.099, 1.318, 1.595, 1.934, 2.359, 2.882, 3.505",\
                 "1, 1.035, 1.148, 1.329, 1.574, 1.875, 2.238, 2.665, 3.18, 3.802",\
                 "1.195, 1.237, 1.369, 1.578, 1.853, 2.186, 2.574, 3.024, 3.544, 4.158");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.7055, 0.7765, 1.022, 1.48, 2.19, 3.183, 4.486, 6.125, 8.127, 10.51",\
                 "0.7049, 0.7762, 1.021, 1.481, 2.19, 3.183, 4.485, 6.125, 8.126, 10.51",\
                 "0.6971, 0.7704, 1.02, 1.48, 2.19, 3.182, 4.485, 6.125, 8.126, 10.51",\
                 "0.6914, 0.7602, 1.006, 1.478, 2.19, 3.182, 4.485, 6.127, 8.125, 10.51",\
                 "0.7576, 0.8232, 1.045, 1.477, 2.185, 3.182, 4.486, 6.126, 8.127, 10.51",\
                 "0.8346, 0.9054, 1.145, 1.567, 2.216, 3.179, 4.485, 6.124, 8.129, 10.51",\
                 "0.9334, 1.004, 1.25, 1.7, 2.352, 3.245, 4.489, 6.125, 8.127, 10.51",\
                 "1.065, 1.137, 1.38, 1.839, 2.527, 3.423, 4.593, 6.143, 8.126, 10.51",\
                 "1.224, 1.299, 1.546, 2.001, 2.708, 3.652, 4.813, 6.281, 8.162, 10.51",\
                 "1.404, 1.485, 1.744, 2.204, 2.907, 3.882, 5.095, 6.543, 8.336, 10.57");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1149, 0.1269, 0.1694, 0.2497, 0.3746, 0.55, 0.7806, 1.071, 1.426, 1.848",\
                 "0.1253, 0.1376, 0.1807, 0.2616, 0.3868, 0.5623, 0.7928, 1.083, 1.438, 1.861",\
                 "0.1472, 0.1613, 0.2082, 0.2905, 0.4161, 0.5919, 0.8229, 1.113, 1.468, 1.89",\
                 "0.1566, 0.1751, 0.2335, 0.3312, 0.4679, 0.6458, 0.8762, 1.167, 1.521, 1.943",\
                 "0.1355, 0.1598, 0.2358, 0.3571, 0.5169, 0.7168, 0.9597, 1.251, 1.605, 2.027",\
                 "0.0755, 0.1062, 0.202, 0.353, 0.5457, 0.7751, 1.045, 1.36, 1.724, 2.145",\
                 "-0.027, 0.0101, 0.1257, 0.3087, 0.5398, 0.8088, 1.113, 1.459, 1.853, 2.297",\
                 "-0.175, -0.1314, 0.0047, 0.2189, 0.4909, 0.8049, 1.155, 1.54, 1.968, 2.445",\
                 "-0.3709, -0.3207, -0.165, 0.0817, 0.3933, 0.755, 1.154, 1.589, 2.06, 2.575",\
                 "-0.6164, -0.5612, -0.3858, -0.1069, 0.2457, 0.6537, 1.107, 1.594, 2.119, 2.679");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3946, 0.4338, 0.5709, 0.8316, 1.236, 1.803, 2.548, 3.486, 4.631, 5.995",\
                 "0.4026, 0.4418, 0.5797, 0.8414, 1.247, 1.815, 2.559, 3.498, 4.643, 6.008",\
                 "0.4559, 0.4945, 0.6307, 0.8912, 1.296, 1.863, 2.609, 3.546, 4.692, 6.058",\
                 "0.5855, 0.6217, 0.7517, 1.005, 1.404, 1.967, 2.709, 3.646, 4.789, 6.154",\
                 "0.789, 0.8279, 0.9603, 1.204, 1.592, 2.145, 2.88, 3.811, 4.949, 6.309",\
                 "1.04, 1.083, 1.229, 1.492, 1.876, 2.416, 3.139, 4.057, 5.19, 6.542",\
                 "1.348, 1.394, 1.552, 1.836, 2.249, 2.792, 3.501, 4.407, 5.525, 6.866",\
                 "1.716, 1.767, 1.937, 2.239, 2.681, 3.26, 3.975, 4.866, 5.969, 7.297",\
                 "2.145, 2.201, 2.389, 2.711, 3.176, 3.789, 4.548, 5.447, 6.534, 7.846",\
                 "2.636, 2.698, 2.903, 3.253, 3.745, 4.387, 5.186, 6.131, 7.226, 8.522");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1673, 0.1882, 0.2607, 0.3982, 0.6122, 0.9124, 1.306, 1.803, 2.409, 3.131",\
                 "0.1673, 0.1882, 0.2608, 0.3983, 0.6121, 0.9121, 1.306, 1.803, 2.407, 3.132",\
                 "0.1941, 0.2116, 0.2736, 0.401, 0.6122, 0.9118, 1.306, 1.804, 2.41, 3.131",\
                 "0.2634, 0.2802, 0.3409, 0.4592, 0.6438, 0.921, 1.306, 1.803, 2.41, 3.132",\
                 "0.368, 0.3859, 0.4481, 0.5648, 0.7476, 1.007, 1.353, 1.817, 2.409, 3.131",\
                 "0.4974, 0.5176, 0.5878, 0.713, 0.8962, 1.154, 1.493, 1.921, 2.467, 3.152",\
                 "0.6476, 0.6718, 0.753, 0.8946, 1.092, 1.351, 1.686, 2.115, 2.638, 3.268",\
                 "0.8176, 0.8458, 0.9402, 1.099, 1.318, 1.595, 1.934, 2.359, 2.882, 3.505",\
                 "1, 1.035, 1.148, 1.329, 1.574, 1.875, 2.238, 2.665, 3.18, 3.802",\
                 "1.195, 1.237, 1.369, 1.578, 1.853, 2.186, 2.574, 3.024, 3.544, 4.158");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.7055, 0.7765, 1.022, 1.48, 2.19, 3.183, 4.486, 6.125, 8.127, 10.51",\
                 "0.7049, 0.7762, 1.021, 1.481, 2.19, 3.183, 4.485, 6.125, 8.126, 10.51",\
                 "0.6971, 0.7704, 1.02, 1.48, 2.19, 3.182, 4.485, 6.125, 8.126, 10.51",\
                 "0.6914, 0.7602, 1.006, 1.478, 2.19, 3.182, 4.485, 6.127, 8.125, 10.51",\
                 "0.7576, 0.8232, 1.045, 1.477, 2.185, 3.182, 4.486, 6.126, 8.127, 10.51",\
                 "0.8346, 0.9054, 1.145, 1.567, 2.216, 3.179, 4.485, 6.124, 8.129, 10.51",\
                 "0.9334, 1.004, 1.25, 1.7, 2.352, 3.245, 4.489, 6.125, 8.127, 10.51",\
                 "1.065, 1.137, 1.38, 1.839, 2.527, 3.423, 4.593, 6.143, 8.126, 10.51",\
                 "1.224, 1.299, 1.546, 2.001, 2.708, 3.652, 4.813, 6.281, 8.162, 10.51",\
                 "1.404, 1.485, 1.744, 2.204, 2.907, 3.882, 5.095, 6.543, 8.336, 10.57");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1902, 0.2052, 0.2543, 0.3429, 0.4763, 0.6579, 0.8933, 1.188, 1.545, 1.97",\
                 "0.201, 0.2161, 0.2651, 0.354, 0.4868, 0.6686, 0.9041, 1.198, 1.556, 1.981",\
                 "0.2475, 0.2614, 0.3087, 0.397, 0.5296, 0.711, 0.9465, 1.241, 1.598, 2.023",\
                 "0.3148, 0.3322, 0.3888, 0.4847, 0.6169, 0.7969, 1.032, 1.325, 1.682, 2.107",\
                 "0.3573, 0.3794, 0.4498, 0.5699, 0.7327, 0.9328, 1.169, 1.461, 1.817, 2.241",\
                 "0.3711, 0.3979, 0.4834, 0.6287, 0.8238, 1.063, 1.342, 1.655, 2.012, 2.434",\
                 "0.3536, 0.3845, 0.4855, 0.6555, 0.8853, 1.164, 1.487, 1.852, 2.254, 2.691",\
                 "0.3014, 0.338, 0.4534, 0.6498, 0.9134, 1.234, 1.603, 2.016, 2.473, 2.968",\
                 "0.217, 0.2562, 0.3867, 0.6075, 0.9057, 1.269, 1.685, 2.149, 2.658, 3.212",\
                 "0.0974, 0.1411, 0.2845, 0.5293, 0.8613, 1.266, 1.73, 2.247, 2.809, 3.421");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4192, 0.4537, 0.5721, 0.795, 1.14, 1.624, 2.26, 3.059, 4.035, 5.2",\
                 "0.4271, 0.4619, 0.5835, 0.8095, 1.157, 1.642, 2.278, 3.078, 4.055, 5.219",\
                 "0.4628, 0.4978, 0.6189, 0.8469, 1.197, 1.684, 2.323, 3.124, 4.103, 5.267",\
                 "0.5249, 0.5612, 0.6831, 0.9087, 1.258, 1.746, 2.385, 3.188, 4.167, 5.332",\
                 "0.6093, 0.648, 0.7785, 1.013, 1.36, 1.843, 2.48, 3.28, 4.259, 5.424",\
                 "0.7409, 0.7834, 0.9193, 1.163, 1.523, 2.004, 2.632, 3.426, 4.399, 5.559",\
                 "0.9165, 0.9633, 1.114, 1.369, 1.739, 2.234, 2.861, 3.643, 4.606, 5.759",\
                 "1.13, 1.185, 1.353, 1.631, 2.015, 2.52, 3.165, 3.949, 4.898, 6.037",\
                 "1.38, 1.44, 1.629, 1.936, 2.349, 2.87, 3.524, 4.328, 5.281, 6.404",\
                 "1.663, 1.729, 1.94, 2.28, 2.728, 3.28, 3.949, 4.765, 5.739, 6.87");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2579, 0.2806, 0.3583, 0.5021, 0.7195, 1.022, 1.418, 1.917, 2.524, 3.247",\
                 "0.2561, 0.2797, 0.3582, 0.5016, 0.7192, 1.022, 1.418, 1.916, 2.524, 3.247",\
                 "0.2539, 0.2757, 0.3524, 0.4987, 0.7192, 1.022, 1.418, 1.917, 2.524, 3.246",\
                 "0.3386, 0.3594, 0.4276, 0.5428, 0.7309, 1.021, 1.417, 1.916, 2.524, 3.247",\
                 "0.4548, 0.4802, 0.5582, 0.6902, 0.8754, 1.112, 1.451, 1.92, 2.524, 3.246",\
                 "0.597, 0.6274, 0.7188, 0.8694, 1.074, 1.336, 1.65, 2.045, 2.571, 3.254",\
                 "0.7652, 0.7988, 0.9056, 1.078, 1.305, 1.594, 1.939, 2.345, 2.811, 3.401",\
                 "0.956, 0.9962, 1.12, 1.317, 1.573, 1.883, 2.256, 2.694, 3.199, 3.757",\
                 "1.171, 1.217, 1.362, 1.586, 1.871, 2.212, 2.612, 3.081, 3.617, 4.224",\
                 "1.414, 1.466, 1.633, 1.883, 2.202, 2.58, 3.013, 3.51, 4.076, 4.716");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4895, 0.547, 0.7495, 1.136, 1.735, 2.575, 3.678, 5.064, 6.754, 8.78",\
                 "0.4902, 0.5471, 0.7495, 1.135, 1.736, 2.575, 3.673, 5.066, 6.759, 8.785",\
                 "0.4924, 0.5484, 0.7504, 1.136, 1.735, 2.572, 3.678, 5.067, 6.755, 8.781",\
                 "0.5262, 0.5762, 0.7611, 1.138, 1.735, 2.573, 3.678, 5.066, 6.763, 8.786",\
                 "0.6074, 0.6596, 0.8406, 1.183, 1.747, 2.575, 3.677, 5.063, 6.758, 8.78",\
                 "0.7288, 0.774, 0.945, 1.291, 1.827, 2.607, 3.681, 5.069, 6.757, 8.785",\
                 "0.91, 0.9506, 1.103, 1.425, 1.962, 2.717, 3.741, 5.075, 6.764, 8.782",\
                 "1.119, 1.159, 1.312, 1.614, 2.125, 2.881, 3.877, 5.163, 6.784, 8.786",\
                 "1.342, 1.388, 1.549, 1.857, 2.342, 3.073, 4.074, 5.332, 6.903, 8.832",\
                 "1.585, 1.634, 1.808, 2.135, 2.623, 3.321, 4.299, 5.56, 7.099, 8.974");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1493, 0.1648, 0.2164, 0.3086, 0.4445, 0.6284, 0.8657, 1.161, 1.52, 1.945",\
                 "0.161, 0.1763, 0.2275, 0.3194, 0.4552, 0.6392, 0.8763, 1.172, 1.53, 1.956",\
                 "0.2109, 0.2254, 0.2734, 0.3629, 0.4976, 0.6813, 0.9184, 1.214, 1.572, 1.998",\
                 "0.2662, 0.2855, 0.3473, 0.4493, 0.5857, 0.767, 1.003, 1.298, 1.656, 2.081",\
                 "0.2943, 0.3186, 0.3966, 0.5255, 0.6954, 0.901, 1.14, 1.434, 1.79, 2.214",\
                 "0.2905, 0.3202, 0.4157, 0.5711, 0.7773, 1.024, 1.308, 1.626, 1.984, 2.407",\
                 "0.252, 0.287, 0.3997, 0.5846, 0.8269, 1.116, 1.447, 1.817, 2.222, 2.663",\
                 "0.178, 0.218, 0.347, 0.5604, 0.8407, 1.173, 1.552, 1.973, 2.435, 2.935",\
                 "0.0692, 0.1141, 0.2576, 0.4973, 0.8154, 1.194, 1.623, 2.095, 2.613, 3.173",\
                 "-0.0765, -0.0279, 0.1307, 0.3963, 0.7481, 1.172, 1.652, 2.181, 2.755, 3.372");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4693, 0.5097, 0.6484, 0.91, 1.314, 1.881, 2.626, 3.564, 4.709, 6.073",\
                 "0.4757, 0.517, 0.6589, 0.9238, 1.33, 1.898, 2.644, 3.583, 4.728, 6.093",\
                 "0.5086, 0.5498, 0.6924, 0.9586, 1.369, 1.94, 2.687, 3.628, 4.776, 6.14",\
                 "0.5697, 0.611, 0.752, 1.016, 1.425, 1.997, 2.746, 3.687, 4.836, 6.202",\
                 "0.6524, 0.6955, 0.8437, 1.111, 1.515, 2.082, 2.828, 3.768, 4.915, 6.28",\
                 "0.7833, 0.8288, 0.9792, 1.254, 1.664, 2.223, 2.959, 3.891, 5.032, 6.394",\
                 "0.96, 1.011, 1.175, 1.456, 1.87, 2.437, 3.163, 4.082, 5.212, 6.562",\
                 "1.177, 1.235, 1.417, 1.72, 2.143, 2.713, 3.449, 4.357, 5.47, 6.808",\
                 "1.433, 1.497, 1.701, 2.034, 2.482, 3.059, 3.8, 4.718, 5.82, 7.137",\
                 "1.723, 1.795, 2.023, 2.388, 2.874, 3.475, 4.221, 5.147, 6.259, 7.565");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2309, 0.2545, 0.3344, 0.4802, 0.6985, 1, 1.397, 1.893, 2.502, 3.225",\
                 "0.2273, 0.2517, 0.333, 0.4792, 0.6988, 1, 1.396, 1.894, 2.501, 3.223",\
                 "0.2362, 0.2557, 0.3276, 0.4735, 0.6968, 0.9998, 1.395, 1.894, 2.501, 3.224",\
                 "0.3306, 0.3512, 0.4186, 0.5314, 0.7126, 0.998, 1.395, 1.893, 2.501, 3.224",\
                 "0.453, 0.4775, 0.5548, 0.6842, 0.866, 1.1, 1.433, 1.897, 2.5, 3.225",\
                 "0.6034, 0.6324, 0.7246, 0.8708, 1.071, 1.329, 1.64, 2.03, 2.553, 3.232",\
                 "0.7798, 0.8152, 0.9232, 1.089, 1.312, 1.59, 1.932, 2.334, 2.8, 3.386",\
                 "0.9838, 1.025, 1.152, 1.343, 1.593, 1.894, 2.259, 2.691, 3.191, 3.747",\
                 "1.219, 1.27, 1.412, 1.632, 1.907, 2.238, 2.628, 3.085, 3.62, 4.218",\
                 "1.487, 1.542, 1.701, 1.952, 2.262, 2.622, 3.042, 3.526, 4.083, 4.726");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4854, 0.5524, 0.7916, 1.247, 1.955, 2.946, 4.244, 5.884, 7.893, 10.28",\
                 "0.4857, 0.5528, 0.7914, 1.248, 1.953, 2.946, 4.243, 5.888, 7.887, 10.28",\
                 "0.4884, 0.5552, 0.7916, 1.247, 1.953, 2.947, 4.246, 5.886, 7.883, 10.27",\
                 "0.5139, 0.5743, 0.7992, 1.249, 1.956, 2.944, 4.244, 5.892, 7.895, 10.28",\
                 "0.5776, 0.6404, 0.8614, 1.279, 1.961, 2.946, 4.245, 5.891, 7.893, 10.28",\
                 "0.6746, 0.7316, 0.9458, 1.368, 2.017, 2.964, 4.25, 5.886, 7.883, 10.28",\
                 "0.8426, 0.8962, 1.085, 1.481, 2.13, 3.041, 4.285, 5.898, 7.885, 10.28",\
                 "1.046, 1.102, 1.289, 1.653, 2.271, 3.181, 4.382, 5.937, 7.904, 10.27",\
                 "1.268, 1.327, 1.527, 1.893, 2.473, 3.347, 4.546, 6.064, 7.977, 10.29",\
                 "1.514, 1.573, 1.788, 2.179, 2.74, 3.573, 4.743, 6.253, 8.112, 10.38");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1568, 0.1725, 0.2243, 0.3172, 0.4541, 0.6387, 0.876, 1.171, 1.53, 1.955",\
                 "0.1684, 0.1839, 0.2354, 0.3281, 0.4648, 0.6495, 0.8868, 1.182, 1.54, 1.966",\
                 "0.2184, 0.2324, 0.2809, 0.3714, 0.5073, 0.6916, 0.9288, 1.224, 1.582, 2.008",\
                 "0.2793, 0.2981, 0.3587, 0.4594, 0.5953, 0.7773, 1.013, 1.308, 1.666, 2.091",\
                 "0.3156, 0.339, 0.4145, 0.5403, 0.7084, 0.9124, 1.151, 1.444, 1.801, 2.225",\
                 "0.3215, 0.3496, 0.4404, 0.5919, 0.7939, 1.038, 1.321, 1.637, 1.995, 2.417",\
                 "0.2932, 0.3257, 0.4319, 0.6098, 0.8475, 1.133, 1.461, 1.829, 2.234, 2.673",\
                 "0.2288, 0.2656, 0.3865, 0.5915, 0.8649, 1.194, 1.57, 1.988, 2.448, 2.948",\
                 "0.1292, 0.17, 0.3045, 0.5344, 0.8444, 1.217, 1.643, 2.113, 2.628, 3.186",\
                 "-0.007, 0.0378, 0.1857, 0.4389, 0.7836, 1.201, 1.675, 2.201, 2.771, 3.387");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5583, 0.5983, 0.7367, 0.9981, 1.402, 1.969, 2.715, 3.653, 4.798, 6.163",\
                 "0.5674, 0.608, 0.7488, 1.012, 1.419, 1.987, 2.733, 3.672, 4.817, 6.182",\
                 "0.6008, 0.6416, 0.7828, 1.049, 1.458, 2.029, 2.778, 3.717, 4.865, 6.23",\
                 "0.6612, 0.7015, 0.841, 1.106, 1.515, 2.086, 2.835, 3.777, 4.924, 6.291",\
                 "0.7482, 0.7906, 0.9353, 1.199, 1.604, 2.17, 2.917, 3.857, 5.004, 6.371",\
                 "0.8827, 0.9258, 1.072, 1.344, 1.752, 2.309, 3.047, 3.979, 5.121, 6.483",\
                 "1.07, 1.116, 1.271, 1.546, 1.96, 2.524, 3.249, 4.17, 5.299, 6.652",\
                 "1.3, 1.353, 1.524, 1.814, 2.232, 2.802, 3.536, 4.442, 5.556, 6.894",\
                 "1.571, 1.629, 1.818, 2.135, 2.573, 3.148, 3.887, 4.804, 5.905, 7.225",\
                 "1.877, 1.942, 2.152, 2.498, 2.97, 3.564, 4.308, 5.233, 6.345, 7.651");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2863, 0.3087, 0.3847, 0.5261, 0.7429, 1.044, 1.439, 1.937, 2.541, 3.267",\
                 "0.283, 0.306, 0.383, 0.5253, 0.7425, 1.044, 1.439, 1.935, 2.544, 3.267",\
                 "0.2899, 0.3084, 0.3774, 0.5199, 0.7405, 1.043, 1.438, 1.936, 2.544, 3.265",\
                 "0.3955, 0.4128, 0.472, 0.5781, 0.757, 1.042, 1.439, 1.937, 2.544, 3.267",\
                 "0.5358, 0.5562, 0.6216, 0.7426, 0.914, 1.144, 1.475, 1.941, 2.544, 3.267",\
                 "0.7068, 0.7296, 0.806, 0.937, 1.128, 1.377, 1.684, 2.073, 2.595, 3.275",\
                 "0.9064, 0.933, 1.022, 1.171, 1.38, 1.648, 1.982, 2.38, 2.843, 3.428",\
                 "1.136, 1.168, 1.272, 1.44, 1.672, 1.96, 2.317, 2.744, 3.236, 3.789",\
                 "1.397, 1.437, 1.552, 1.746, 1.997, 2.314, 2.693, 3.143, 3.672, 4.265",\
                 "1.693, 1.736, 1.867, 2.085, 2.368, 2.712, 3.117, 3.591, 4.141, 4.777");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.598, 0.6673, 0.9065, 1.364, 2.071, 3.062, 4.364, 6.003, 8.002, 10.39",\
                 "0.599, 0.6664, 0.9071, 1.363, 2.071, 3.062, 4.363, 6.003, 8.002, 10.39",\
                 "0.5997, 0.6682, 0.9075, 1.363, 2.071, 3.062, 4.365, 6.001, 8.004, 10.39",\
                 "0.6122, 0.6768, 0.9104, 1.363, 2.071, 3.062, 4.364, 6.001, 8.001, 10.39",\
                 "0.6778, 0.742, 0.9606, 1.385, 2.073, 3.062, 4.365, 6.002, 8.003, 10.39",\
                 "0.7606, 0.8218, 1.046, 1.47, 2.123, 3.073, 4.364, 6.004, 8.004, 10.39",\
                 "0.9102, 0.9668, 1.17, 1.579, 2.234, 3.149, 4.391, 6.005, 8.004, 10.39",\
                 "1.111, 1.167, 1.363, 1.738, 2.369, 3.285, 4.491, 6.051, 8.009, 10.39",\
                 "1.334, 1.394, 1.598, 1.969, 2.557, 3.449, 4.651, 6.173, 8.077, 10.4",\
                 "1.577, 1.643, 1.859, 2.247, 2.818, 3.664, 4.846, 6.359, 8.223, 10.49");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1902, 0.2052, 0.2543, 0.3429, 0.4763, 0.6579, 0.8933, 1.188, 1.545, 1.97",\
                 "0.201, 0.2161, 0.2651, 0.354, 0.4868, 0.6686, 0.9041, 1.198, 1.556, 1.981",\
                 "0.2475, 0.2614, 0.3087, 0.397, 0.5296, 0.711, 0.9465, 1.241, 1.598, 2.023",\
                 "0.3148, 0.3322, 0.3888, 0.4847, 0.6169, 0.7969, 1.032, 1.325, 1.682, 2.107",\
                 "0.3573, 0.3794, 0.4498, 0.5699, 0.7327, 0.9328, 1.169, 1.461, 1.817, 2.241",\
                 "0.3711, 0.3979, 0.4834, 0.6287, 0.8238, 1.063, 1.342, 1.655, 2.012, 2.434",\
                 "0.3536, 0.3845, 0.4855, 0.6555, 0.8853, 1.164, 1.487, 1.852, 2.254, 2.691",\
                 "0.3014, 0.338, 0.4534, 0.6498, 0.9134, 1.234, 1.603, 2.016, 2.473, 2.968",\
                 "0.217, 0.2562, 0.3867, 0.6075, 0.9057, 1.269, 1.685, 2.149, 2.658, 3.212",\
                 "0.0974, 0.1411, 0.2845, 0.5293, 0.8613, 1.266, 1.73, 2.247, 2.809, 3.421");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5583, 0.5983, 0.7367, 0.9981, 1.402, 1.969, 2.715, 3.653, 4.798, 6.163",\
                 "0.5674, 0.608, 0.7488, 1.012, 1.419, 1.987, 2.733, 3.672, 4.817, 6.182",\
                 "0.6008, 0.6416, 0.7828, 1.049, 1.458, 2.029, 2.778, 3.717, 4.865, 6.23",\
                 "0.6612, 0.7015, 0.841, 1.106, 1.515, 2.086, 2.835, 3.777, 4.924, 6.291",\
                 "0.7482, 0.7906, 0.9353, 1.199, 1.604, 2.17, 2.917, 3.857, 5.004, 6.371",\
                 "0.8827, 0.9258, 1.072, 1.344, 1.752, 2.309, 3.047, 3.979, 5.121, 6.483",\
                 "1.07, 1.116, 1.271, 1.546, 1.96, 2.524, 3.249, 4.17, 5.299, 6.652",\
                 "1.3, 1.353, 1.524, 1.814, 2.232, 2.802, 3.536, 4.442, 5.556, 6.894",\
                 "1.571, 1.629, 1.818, 2.135, 2.573, 3.148, 3.887, 4.804, 5.905, 7.225",\
                 "1.877, 1.942, 2.152, 2.498, 2.97, 3.564, 4.308, 5.233, 6.345, 7.651");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2863, 0.3087, 0.3847, 0.5261, 0.7429, 1.044, 1.439, 1.937, 2.541, 3.267",\
                 "0.283, 0.306, 0.383, 0.5253, 0.7425, 1.044, 1.439, 1.935, 2.544, 3.267",\
                 "0.2899, 0.3084, 0.3774, 0.5199, 0.7405, 1.043, 1.438, 1.936, 2.544, 3.265",\
                 "0.3955, 0.4128, 0.472, 0.5781, 0.757, 1.042, 1.439, 1.937, 2.544, 3.267",\
                 "0.5358, 0.5562, 0.6216, 0.7426, 0.914, 1.144, 1.475, 1.941, 2.544, 3.267",\
                 "0.7068, 0.7296, 0.806, 0.937, 1.128, 1.377, 1.684, 2.073, 2.595, 3.275",\
                 "0.9064, 0.933, 1.022, 1.171, 1.38, 1.648, 1.982, 2.38, 2.843, 3.428",\
                 "1.136, 1.168, 1.272, 1.44, 1.672, 1.96, 2.317, 2.744, 3.236, 3.789",\
                 "1.397, 1.437, 1.552, 1.746, 1.997, 2.314, 2.693, 3.143, 3.672, 4.265",\
                 "1.693, 1.736, 1.867, 2.085, 2.368, 2.712, 3.117, 3.591, 4.141, 4.777");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.598, 0.6673, 0.9065, 1.364, 2.071, 3.062, 4.364, 6.003, 8.002, 10.39",\
                 "0.599, 0.6664, 0.9071, 1.363, 2.071, 3.062, 4.363, 6.003, 8.002, 10.39",\
                 "0.5997, 0.6682, 0.9075, 1.363, 2.071, 3.062, 4.365, 6.001, 8.004, 10.39",\
                 "0.6122, 0.6768, 0.9104, 1.363, 2.071, 3.062, 4.364, 6.001, 8.001, 10.39",\
                 "0.6778, 0.742, 0.9606, 1.385, 2.073, 3.062, 4.365, 6.002, 8.003, 10.39",\
                 "0.7606, 0.8218, 1.046, 1.47, 2.123, 3.073, 4.364, 6.004, 8.004, 10.39",\
                 "0.9102, 0.9668, 1.17, 1.579, 2.234, 3.149, 4.391, 6.005, 8.004, 10.39",\
                 "1.111, 1.167, 1.363, 1.738, 2.369, 3.285, 4.491, 6.051, 8.009, 10.39",\
                 "1.334, 1.394, 1.598, 1.969, 2.557, 3.449, 4.651, 6.173, 8.077, 10.4",\
                 "1.577, 1.643, 1.859, 2.247, 2.818, 3.664, 4.846, 6.359, 8.223, 10.49");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2047, 0.2197, 0.2687, 0.3573, 0.4904, 0.6722, 0.9077, 1.202, 1.559, 1.984",\
                 "0.215, 0.2294, 0.2784, 0.3672, 0.5003, 0.6819, 0.9175, 1.212, 1.569, 1.994",\
                 "0.243, 0.2571, 0.3053, 0.3938, 0.5264, 0.7082, 0.9439, 1.238, 1.595, 2.02",\
                 "0.2812, 0.2973, 0.3509, 0.4445, 0.579, 0.7601, 0.9953, 1.289, 1.647, 2.072",\
                 "0.303, 0.3226, 0.3858, 0.494, 0.6448, 0.8395, 1.079, 1.372, 1.729, 2.153",\
                 "0.2942, 0.3177, 0.3944, 0.5232, 0.6978, 0.915, 1.177, 1.488, 1.848, 2.271",\
                 "0.2479, 0.2759, 0.3673, 0.5194, 0.7249, 0.9733, 1.264, 1.6, 1.987, 2.427",\
                 "0.1626, 0.1944, 0.3, 0.4769, 0.715, 1, 1.329, 1.698, 2.116, 2.585",\
                 "0.037, 0.0735, 0.1914, 0.3927, 0.6632, 0.9888, 1.359, 1.771, 2.227, 2.73",\
                 "-0.1325, -0.0926, 0.0398, 0.2647, 0.5677, 0.9331, 1.349, 1.809, 2.31, 2.853");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4832, 0.5168, 0.6342, 0.8563, 1.202, 1.684, 2.32, 3.12, 4.097, 5.261",\
                 "0.495, 0.5287, 0.6469, 0.8698, 1.216, 1.699, 2.335, 3.135, 4.112, 5.277",\
                 "0.5365, 0.5702, 0.6898, 0.9135, 1.261, 1.746, 2.382, 3.183, 4.16, 5.324",\
                 "0.603, 0.6373, 0.7564, 0.9804, 1.327, 1.812, 2.449, 3.25, 4.228, 5.392",\
                 "0.6958, 0.7324, 0.8586, 1.088, 1.431, 1.913, 2.547, 3.346, 4.322, 5.486",\
                 "0.8441, 0.8819, 1.011, 1.247, 1.6, 2.077, 2.702, 3.495, 4.465, 5.625",\
                 "1.052, 1.093, 1.23, 1.471, 1.83, 2.318, 2.938, 3.718, 4.677, 5.827",\
                 "1.31, 1.355, 1.507, 1.762, 2.128, 2.622, 3.256, 4.032, 4.975, 6.112",\
                 "1.611, 1.663, 1.829, 2.109, 2.494, 2.996, 3.637, 4.429, 5.371, 6.49",\
                 "1.956, 2.013, 2.198, 2.504, 2.919, 3.441, 4.09, 4.891, 5.851, 6.972");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2566, 0.2802, 0.358, 0.5018, 0.7195, 1.022, 1.417, 1.916, 2.523, 3.247",\
                 "0.2565, 0.2794, 0.3581, 0.5016, 0.7196, 1.022, 1.417, 1.917, 2.524, 3.247",\
                 "0.2561, 0.2781, 0.3549, 0.4999, 0.7187, 1.022, 1.419, 1.917, 2.524, 3.246",\
                 "0.3123, 0.333, 0.4037, 0.5301, 0.7303, 1.023, 1.417, 1.916, 2.522, 3.247",\
                 "0.4083, 0.429, 0.5006, 0.6278, 0.8204, 1.085, 1.446, 1.923, 2.522, 3.246",\
                 "0.5356, 0.56, 0.6374, 0.7704, 0.961, 1.226, 1.572, 2.008, 2.566, 3.259",\
                 "0.6906, 0.717, 0.8048, 0.9504, 1.152, 1.415, 1.758, 2.192, 2.719, 3.363",\
                 "0.8678, 0.9004, 0.9988, 1.161, 1.381, 1.654, 2, 2.43, 2.956, 3.586",\
                 "1.071, 1.105, 1.22, 1.403, 1.644, 1.941, 2.296, 2.725, 3.246, 3.874",\
                 "1.297, 1.337, 1.467, 1.671, 1.939, 2.26, 2.638, 3.079, 3.601, 4.221");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5876, 0.6456, 0.8481, 1.235, 1.834, 2.674, 3.776, 5.164, 6.858, 8.877",\
                 "0.5876, 0.6455, 0.848, 1.235, 1.835, 2.674, 3.777, 5.166, 6.859, 8.877",\
                 "0.5886, 0.646, 0.849, 1.235, 1.835, 2.675, 3.777, 5.166, 6.86, 8.878",\
                 "0.6088, 0.6621, 0.8545, 1.236, 1.835, 2.674, 3.777, 5.165, 6.859, 8.879",\
                 "0.6886, 0.7412, 0.9234, 1.271, 1.841, 2.674, 3.777, 5.165, 6.859, 8.877",\
                 "0.791, 0.842, 1.023, 1.375, 1.915, 2.699, 3.779, 5.166, 6.86, 8.878",\
                 "0.9446, 0.9902, 1.158, 1.498, 2.044, 2.803, 3.83, 5.174, 6.86, 8.879",\
                 "1.133, 1.179, 1.344, 1.665, 2.193, 2.961, 3.963, 5.253, 6.882, 8.88",\
                 "1.346, 1.394, 1.565, 1.884, 2.388, 3.138, 4.15, 5.414, 6.989, 8.923",\
                 "1.578, 1.632, 1.81, 2.142, 2.638, 3.362, 4.361, 5.634, 7.181, 9.058");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1641, 0.1795, 0.231, 0.3231, 0.4589, 0.6428, 0.88, 1.175, 1.534, 1.959",\
                 "0.1743, 0.1896, 0.2408, 0.3328, 0.4685, 0.6525, 0.8897, 1.185, 1.543, 1.969",\
                 "0.2043, 0.2193, 0.269, 0.3594, 0.4947, 0.6786, 0.9157, 1.211, 1.57, 1.995",\
                 "0.2361, 0.2537, 0.3109, 0.409, 0.5471, 0.73, 0.9668, 1.262, 1.62, 2.046",\
                 "0.2457, 0.2673, 0.3371, 0.4521, 0.6089, 0.8075, 1.05, 1.344, 1.702, 2.127",\
                 "0.2202, 0.2468, 0.3321, 0.4707, 0.6545, 0.8781, 1.145, 1.458, 1.82, 2.244",\
                 "0.1547, 0.1862, 0.2877, 0.454, 0.6705, 0.9285, 1.226, 1.567, 1.956, 2.398",\
                 "0.0479, 0.0843, 0.2013, 0.3939, 0.6463, 0.9445, 1.282, 1.659, 2.08, 2.553",\
                 "-0.1032, -0.0622, 0.0711, 0.29, 0.5779, 0.9188, 1.302, 1.723, 2.184, 2.692",\
                 "-0.299, -0.2541, -0.1056, 0.1385, 0.4613, 0.8462, 1.277, 1.748, 2.259, 2.809");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5452, 0.584, 0.721, 0.982, 1.386, 1.952, 2.697, 3.635, 4.781, 6.145",\
                 "0.5552, 0.5949, 0.7333, 0.9944, 1.399, 1.966, 2.711, 3.65, 4.795, 6.16",\
                 "0.5956, 0.6354, 0.7741, 1.037, 1.444, 2.012, 2.758, 3.697, 4.843, 6.207",\
                 "0.6593, 0.6991, 0.8379, 1.1, 1.506, 2.074, 2.821, 3.76, 4.907, 6.273",\
                 "0.7486, 0.7905, 0.9341, 1.197, 1.599, 2.163, 2.907, 3.845, 4.99, 6.354",\
                 "0.8938, 0.9361, 1.08, 1.349, 1.752, 2.307, 3.042, 3.971, 5.11, 6.47",\
                 "1.103, 1.149, 1.298, 1.566, 1.973, 2.531, 3.252, 4.168, 5.295, 6.645",\
                 "1.367, 1.417, 1.58, 1.86, 2.266, 2.826, 3.552, 4.452, 5.56, 6.895",\
                 "1.679, 1.735, 1.913, 2.216, 2.637, 3.197, 3.925, 4.831, 5.923, 7.237",\
                 "2.036, 2.098, 2.296, 2.625, 3.075, 3.647, 4.375, 5.285, 6.384, 7.68");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2291, 0.2537, 0.334, 0.4793, 0.6982, 1.001, 1.396, 1.894, 2.501, 3.223",\
                 "0.2271, 0.2516, 0.3331, 0.479, 0.6986, 1.001, 1.396, 1.894, 2.501, 3.225",\
                 "0.234, 0.2553, 0.3307, 0.4754, 0.6964, 1.001, 1.395, 1.894, 2.501, 3.225",\
                 "0.3003, 0.3201, 0.3881, 0.514, 0.7105, 1.001, 1.395, 1.894, 2.501, 3.223",\
                 "0.4059, 0.4257, 0.4947, 0.6176, 0.807, 1.069, 1.427, 1.9, 2.502, 3.224",\
                 "0.5402, 0.5648, 0.6406, 0.7692, 0.9554, 1.214, 1.557, 1.99, 2.545, 3.236",\
                 "0.7038, 0.7306, 0.8172, 0.9586, 1.155, 1.414, 1.75, 2.18, 2.704, 3.344",\
                 "0.8946, 0.925, 1.023, 1.181, 1.395, 1.663, 2.001, 2.422, 2.944, 3.57",\
                 "1.114, 1.149, 1.261, 1.442, 1.673, 1.959, 2.308, 2.728, 3.244, 3.863",\
                 "1.355, 1.396, 1.528, 1.731, 1.983, 2.295, 2.664, 3.095, 3.608, 4.221");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.6003, 0.6692, 0.9091, 1.365, 2.072, 3.063, 4.366, 6.005, 8.006, 10.39",\
                 "0.6006, 0.6685, 0.9084, 1.365, 2.073, 3.063, 4.364, 6.004, 8.003, 10.39",\
                 "0.6017, 0.6692, 0.9093, 1.365, 2.073, 3.063, 4.365, 6.004, 8.005, 10.39",\
                 "0.6141, 0.679, 0.912, 1.365, 2.073, 3.063, 4.365, 6.004, 8.005, 10.39",\
                 "0.6792, 0.743, 0.9628, 1.387, 2.075, 3.064, 4.366, 6.004, 8.005, 10.39",\
                 "0.7588, 0.8216, 1.045, 1.471, 2.125, 3.075, 4.365, 6.006, 8.006, 10.39",\
                 "0.8972, 0.9548, 1.16, 1.573, 2.231, 3.15, 4.393, 6.006, 8.006, 10.39",\
                 "1.079, 1.136, 1.334, 1.72, 2.359, 3.279, 4.49, 6.052, 8.011, 10.39",\
                 "1.288, 1.347, 1.554, 1.932, 2.533, 3.434, 4.643, 6.17, 8.078, 10.41",\
                 "1.516, 1.581, 1.8, 2.187, 2.768, 3.63, 4.825, 6.348, 8.216, 10.49");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1716, 0.187, 0.2389, 0.3317, 0.4685, 0.6531, 0.8904, 1.186, 1.544, 1.969",\
                 "0.1819, 0.1972, 0.2487, 0.3415, 0.4782, 0.6628, 0.9001, 1.195, 1.554, 1.979",\
                 "0.212, 0.2268, 0.2766, 0.368, 0.5043, 0.6888, 0.9262, 1.221, 1.58, 2.005",\
                 "0.2466, 0.2639, 0.3206, 0.4187, 0.5569, 0.7403, 0.9772, 1.272, 1.631, 2.056",\
                 "0.2621, 0.283, 0.351, 0.4647, 0.6206, 0.8187, 1.06, 1.355, 1.712, 2.137",\
                 "0.2452, 0.2707, 0.352, 0.4878, 0.6685, 0.8907, 1.156, 1.468, 1.83, 2.255",\
                 "0.1888, 0.2184, 0.3147, 0.4753, 0.6878, 0.9428, 1.239, 1.578, 1.968, 2.409",\
                 "0.0909, 0.1246, 0.2349, 0.421, 0.6677, 0.9619, 1.297, 1.672, 2.092, 2.564",\
                 "-0.0508, -0.013, 0.1115, 0.3215, 0.6032, 0.9395, 1.319, 1.738, 2.198, 2.704",\
                 "-0.2391, -0.1966, -0.0583, 0.1768, 0.4911, 0.8698, 1.297, 1.765, 2.274, 2.823");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.6327, 0.6724, 0.809, 1.069, 1.474, 2.041, 2.786, 3.724, 4.87, 6.235",\
                 "0.6441, 0.6836, 0.8219, 1.083, 1.488, 2.055, 2.8, 3.739, 4.884, 6.249",\
                 "0.685, 0.7251, 0.8633, 1.126, 1.532, 2.101, 2.846, 3.786, 4.932, 6.296",\
                 "0.7484, 0.7882, 0.9268, 1.189, 1.595, 2.163, 2.91, 3.849, 4.996, 6.362",\
                 "0.8418, 0.8829, 1.024, 1.284, 1.686, 2.251, 2.996, 3.934, 5.078, 6.444",\
                 "0.9866, 1.028, 1.171, 1.437, 1.839, 2.394, 3.129, 4.061, 5.2, 6.56",\
                 "1.202, 1.244, 1.388, 1.655, 2.06, 2.617, 3.338, 4.255, 5.383, 6.733",\
                 "1.475, 1.522, 1.676, 1.948, 2.353, 2.912, 3.637, 4.538, 5.647, 6.982",\
                 "1.799, 1.85, 2.018, 2.309, 2.724, 3.283, 4.01, 4.916, 6.008, 7.323",\
                 "2.168, 2.225, 2.41, 2.726, 3.165, 3.733, 4.46, 5.37, 6.469, 7.764");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2849, 0.3074, 0.3839, 0.5256, 0.7429, 1.045, 1.439, 1.935, 2.543, 3.267",\
                 "0.2829, 0.3058, 0.3827, 0.5249, 0.7429, 1.043, 1.439, 1.937, 2.543, 3.267",\
                 "0.2883, 0.3085, 0.3808, 0.5218, 0.7418, 1.044, 1.439, 1.937, 2.544, 3.265",\
                 "0.36, 0.3775, 0.4405, 0.5608, 0.7558, 1.044, 1.437, 1.936, 2.543, 3.267",\
                 "0.4761, 0.4927, 0.5537, 0.6698, 0.8538, 1.113, 1.47, 1.944, 2.544, 3.267",\
                 "0.6268, 0.6474, 0.711, 0.8288, 1.008, 1.262, 1.602, 2.033, 2.589, 3.28",\
                 "0.8094, 0.8308, 0.9028, 1.029, 1.214, 1.465, 1.797, 2.224, 2.746, 3.387",\
                 "1.021, 1.044, 1.126, 1.265, 1.464, 1.723, 2.053, 2.471, 2.99, 3.613",\
                 "1.262, 1.29, 1.381, 1.539, 1.753, 2.026, 2.365, 2.782, 3.293, 3.91",\
                 "1.531, 1.562, 1.667, 1.843, 2.08, 2.371, 2.729, 3.152, 3.662, 4.27");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.7134, 0.7831, 1.024, 1.481, 2.19, 3.182, 4.484, 6.123, 8.127, 10.51",\
                 "0.7136, 0.7823, 1.024, 1.482, 2.191, 3.182, 4.483, 6.125, 8.123, 10.51",\
                 "0.7141, 0.7835, 1.024, 1.482, 2.19, 3.182, 4.484, 6.125, 8.127, 10.51",\
                 "0.7198, 0.7874, 1.026, 1.482, 2.189, 3.181, 4.484, 6.123, 8.124, 10.51",\
                 "0.7796, 0.8428, 1.064, 1.496, 2.191, 3.182, 4.486, 6.126, 8.127, 10.51",\
                 "0.8552, 0.9206, 1.148, 1.573, 2.233, 3.19, 4.485, 6.127, 8.126, 10.51",\
                 "0.9774, 1.039, 1.253, 1.675, 2.336, 3.259, 4.508, 6.126, 8.128, 10.51",\
                 "1.155, 1.213, 1.416, 1.813, 2.462, 3.385, 4.599, 6.167, 8.132, 10.51",\
                 "1.362, 1.424, 1.63, 2.01, 2.628, 3.538, 4.75, 6.279, 8.192, 10.53",\
                 "1.594, 1.66, 1.88, 2.266, 2.856, 3.728, 4.932, 6.456, 8.329, 10.6");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2047, 0.2197, 0.2687, 0.3573, 0.4904, 0.6722, 0.9077, 1.202, 1.559, 1.984",\
                 "0.215, 0.2294, 0.2784, 0.3672, 0.5003, 0.6819, 0.9175, 1.212, 1.569, 1.994",\
                 "0.243, 0.2571, 0.3053, 0.3938, 0.5264, 0.7082, 0.9439, 1.238, 1.595, 2.02",\
                 "0.2812, 0.2973, 0.3509, 0.4445, 0.579, 0.7601, 0.9953, 1.289, 1.647, 2.072",\
                 "0.303, 0.3226, 0.3858, 0.494, 0.6448, 0.8395, 1.079, 1.372, 1.729, 2.153",\
                 "0.2942, 0.3177, 0.3944, 0.5232, 0.6978, 0.915, 1.177, 1.488, 1.848, 2.271",\
                 "0.2479, 0.2759, 0.3673, 0.5194, 0.7249, 0.9733, 1.264, 1.6, 1.987, 2.427",\
                 "0.1626, 0.1944, 0.3, 0.4769, 0.715, 1, 1.329, 1.698, 2.116, 2.585",\
                 "0.037, 0.0735, 0.1914, 0.3927, 0.6632, 0.9888, 1.359, 1.771, 2.227, 2.73",\
                 "-0.1325, -0.0926, 0.0398, 0.2647, 0.5677, 0.9331, 1.349, 1.809, 2.31, 2.853");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.6327, 0.6724, 0.809, 1.069, 1.474, 2.041, 2.786, 3.724, 4.87, 6.235",\
                 "0.6441, 0.6836, 0.8219, 1.083, 1.488, 2.055, 2.8, 3.739, 4.884, 6.249",\
                 "0.685, 0.7251, 0.8633, 1.126, 1.532, 2.101, 2.846, 3.786, 4.932, 6.296",\
                 "0.7484, 0.7882, 0.9268, 1.189, 1.595, 2.163, 2.91, 3.849, 4.996, 6.362",\
                 "0.8418, 0.8829, 1.024, 1.284, 1.686, 2.251, 2.996, 3.934, 5.078, 6.444",\
                 "0.9866, 1.028, 1.171, 1.437, 1.839, 2.394, 3.129, 4.061, 5.2, 6.56",\
                 "1.202, 1.244, 1.388, 1.655, 2.06, 2.617, 3.338, 4.255, 5.383, 6.733",\
                 "1.475, 1.522, 1.676, 1.948, 2.353, 2.912, 3.637, 4.538, 5.647, 6.982",\
                 "1.799, 1.85, 2.018, 2.309, 2.724, 3.283, 4.01, 4.916, 6.008, 7.323",\
                 "2.168, 2.225, 2.41, 2.726, 3.165, 3.733, 4.46, 5.37, 6.469, 7.764");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2849, 0.3074, 0.3839, 0.5256, 0.7429, 1.045, 1.439, 1.935, 2.543, 3.267",\
                 "0.2829, 0.3058, 0.3827, 0.5249, 0.7429, 1.043, 1.439, 1.937, 2.543, 3.267",\
                 "0.2883, 0.3085, 0.3808, 0.5218, 0.7418, 1.044, 1.439, 1.937, 2.544, 3.265",\
                 "0.36, 0.3775, 0.4405, 0.5608, 0.7558, 1.044, 1.437, 1.936, 2.543, 3.267",\
                 "0.4761, 0.4927, 0.5537, 0.6698, 0.8538, 1.113, 1.47, 1.944, 2.544, 3.267",\
                 "0.6268, 0.6474, 0.711, 0.8288, 1.008, 1.262, 1.602, 2.033, 2.589, 3.28",\
                 "0.8094, 0.8308, 0.9028, 1.029, 1.214, 1.465, 1.797, 2.224, 2.746, 3.387",\
                 "1.021, 1.044, 1.126, 1.265, 1.464, 1.723, 2.053, 2.471, 2.99, 3.613",\
                 "1.262, 1.29, 1.381, 1.539, 1.753, 2.026, 2.365, 2.782, 3.293, 3.91",\
                 "1.531, 1.562, 1.667, 1.843, 2.08, 2.371, 2.729, 3.152, 3.662, 4.27");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.7134, 0.7831, 1.024, 1.481, 2.19, 3.182, 4.484, 6.123, 8.127, 10.51",\
                 "0.7136, 0.7823, 1.024, 1.482, 2.191, 3.182, 4.483, 6.125, 8.123, 10.51",\
                 "0.7141, 0.7835, 1.024, 1.482, 2.19, 3.182, 4.484, 6.125, 8.127, 10.51",\
                 "0.7198, 0.7874, 1.026, 1.482, 2.189, 3.181, 4.484, 6.123, 8.124, 10.51",\
                 "0.7796, 0.8428, 1.064, 1.496, 2.191, 3.182, 4.486, 6.126, 8.127, 10.51",\
                 "0.8552, 0.9206, 1.148, 1.573, 2.233, 3.19, 4.485, 6.127, 8.126, 10.51",\
                 "0.9774, 1.039, 1.253, 1.675, 2.336, 3.259, 4.508, 6.126, 8.128, 10.51",\
                 "1.155, 1.213, 1.416, 1.813, 2.462, 3.385, 4.599, 6.167, 8.132, 10.51",\
                 "1.362, 1.424, 1.63, 2.01, 2.628, 3.538, 4.75, 6.279, 8.192, 10.53",\
                 "1.594, 1.66, 1.88, 2.266, 2.856, 3.728, 4.932, 6.456, 8.329, 10.6");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.16, 0.1728, 0.2163, 0.2967, 0.4198, 0.5903, 0.8135, 1.094, 1.435, 1.841",\
                 "0.1743, 0.1873, 0.2306, 0.3112, 0.4342, 0.6049, 0.828, 1.108, 1.45, 1.856",\
                 "0.2268, 0.2393, 0.2822, 0.3622, 0.4853, 0.6559, 0.8789, 1.159, 1.5, 1.907",\
                 "0.2915, 0.3091, 0.3652, 0.4595, 0.5864, 0.7557, 0.9781, 1.258, 1.599, 2.005",\
                 "0.3351, 0.357, 0.429, 0.5494, 0.7123, 0.9094, 1.137, 1.415, 1.755, 2.159",\
                 "0.355, 0.3819, 0.4697, 0.6166, 0.8147, 1.055, 1.331, 1.637, 1.978, 2.382",\
                 "0.3489, 0.3804, 0.4855, 0.6599, 0.8928, 1.175, 1.5, 1.862, 2.256, 2.677",\
                 "0.3153, 0.3528, 0.4728, 0.6747, 0.9441, 1.27, 1.641, 2.056, 2.51, 2.998",\
                 "0.2525, 0.2945, 0.431, 0.6591, 0.9669, 1.336, 1.756, 2.223, 2.734, 3.285",\
                 "0.1607, 0.2073, 0.359, 0.6133, 0.9576, 1.37, 1.842, 2.362, 2.929, 3.54");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.269, 0.2956, 0.387, 0.5599, 0.8279, 1.204, 1.698, 2.321, 3.081, 3.987",\
                 "0.2808, 0.3077, 0.3998, 0.5736, 0.8426, 1.219, 1.714, 2.337, 3.097, 4.003",\
                 "0.3266, 0.3539, 0.446, 0.6207, 0.8905, 1.268, 1.763, 2.386, 3.147, 4.053",\
                 "0.4055, 0.4356, 0.5351, 0.7106, 0.9791, 1.355, 1.85, 2.473, 3.234, 4.139",\
                 "0.5156, 0.5497, 0.6605, 0.8548, 1.13, 1.502, 1.993, 2.614, 3.372, 4.277",\
                 "0.6615, 0.7012, 0.8272, 1.038, 1.338, 1.726, 2.212, 2.827, 3.58, 4.481",\
                 "0.8396, 0.8857, 1.031, 1.267, 1.589, 2.003, 2.513, 3.124, 3.869, 4.764",\
                 "1.047, 1.1, 1.266, 1.532, 1.885, 2.326, 2.866, 3.505, 4.251, 5.136",\
                 "1.281, 1.342, 1.53, 1.831, 2.222, 2.697, 3.265, 3.939, 4.718, 5.607",\
                 "1.546, 1.614, 1.825, 2.161, 2.595, 3.114, 3.717, 4.423, 5.238, 6.165");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1918, 0.2128, 0.2836, 0.416, 0.6208, 0.9063, 1.279, 1.75, 2.326, 3.01",\
                 "0.1918, 0.2124, 0.2833, 0.4165, 0.6208, 0.9062, 1.279, 1.75, 2.325, 3.01",\
                 "0.2016, 0.2194, 0.2846, 0.4156, 0.6209, 0.9058, 1.28, 1.75, 2.324, 3.01",\
                 "0.2938, 0.3135, 0.3769, 0.4796, 0.6439, 0.9083, 1.279, 1.751, 2.325, 3.008",\
                 "0.404, 0.4288, 0.5064, 0.6362, 0.8102, 1.021, 1.324, 1.757, 2.325, 3.009",\
                 "0.5344, 0.5648, 0.6588, 0.8106, 1.015, 1.265, 1.551, 1.9, 2.382, 3.019",\
                 "0.6836, 0.7196, 0.832, 1.011, 1.244, 1.528, 1.862, 2.234, 2.649, 3.182",\
                 "0.8484, 0.8924, 1.026, 1.236, 1.502, 1.816, 2.188, 2.61, 3.076, 3.575",\
                 "1.027, 1.077, 1.239, 1.479, 1.783, 2.138, 2.544, 3.006, 3.528, 4.089",\
                 "1.221, 1.28, 1.466, 1.742, 2.091, 2.49, 2.938, 3.435, 3.995, 4.613");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3629, 0.4073, 0.564, 0.8653, 1.333, 1.988, 2.847, 3.934, 5.259, 6.826",\
                 "0.3631, 0.4069, 0.5648, 0.8641, 1.333, 1.987, 2.846, 3.935, 5.25, 6.838",\
                 "0.3675, 0.4104, 0.5653, 0.8656, 1.333, 1.989, 2.849, 3.934, 5.253, 6.836",\
                 "0.4325, 0.4696, 0.6015, 0.8743, 1.333, 1.988, 2.847, 3.935, 5.258, 6.829",\
                 "0.5308, 0.5694, 0.7054, 0.96, 1.368, 1.992, 2.846, 3.93, 5.262, 6.831",\
                 "0.6732, 0.708, 0.8352, 1.095, 1.498, 2.065, 2.868, 3.935, 5.252, 6.838",\
                 "0.8422, 0.8814, 1.008, 1.259, 1.67, 2.235, 2.98, 3.976, 5.262, 6.829",\
                 "1.029, 1.069, 1.214, 1.468, 1.868, 2.447, 3.194, 4.131, 5.335, 6.849",\
                 "1.232, 1.278, 1.434, 1.71, 2.116, 2.686, 3.448, 4.391, 5.538, 6.974",\
                 "1.449, 1.498, 1.674, 1.978, 2.406, 2.975, 3.733, 4.696, 5.845, 7.213");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1603, 0.1732, 0.2166, 0.2971, 0.4201, 0.5906, 0.8137, 1.094, 1.435, 1.842",\
                 "0.1752, 0.1879, 0.2314, 0.3121, 0.4352, 0.6058, 0.8288, 1.109, 1.45, 1.857",\
                 "0.2284, 0.2409, 0.2838, 0.3641, 0.4869, 0.6575, 0.8806, 1.161, 1.502, 1.908",\
                 "0.2927, 0.3102, 0.3662, 0.4608, 0.5877, 0.7574, 0.9795, 1.259, 1.6, 2.007",\
                 "0.3325, 0.3542, 0.4272, 0.5492, 0.7125, 0.9098, 1.138, 1.416, 1.756, 2.161",\
                 "0.3416, 0.3691, 0.4599, 0.6095, 0.8102, 1.052, 1.33, 1.636, 1.979, 2.382",\
                 "0.3197, 0.3526, 0.4603, 0.6396, 0.8783, 1.165, 1.493, 1.857, 2.253, 2.676",\
                 "0.2624, 0.3006, 0.4258, 0.6343, 0.9132, 1.246, 1.625, 2.044, 2.501, 2.992",\
                 "0.1697, 0.2135, 0.3545, 0.5933, 0.9126, 1.292, 1.723, 2.198, 2.715, 3.271",\
                 "0.0403, 0.0882, 0.2467, 0.5131, 0.8716, 1.299, 1.785, 2.318, 2.894, 3.514");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3338, 0.3679, 0.4856, 0.7074, 1.053, 1.535, 2.171, 2.971, 3.947, 5.111",\
                 "0.3438, 0.3777, 0.4969, 0.7197, 1.066, 1.549, 2.185, 2.986, 3.961, 5.125",\
                 "0.3848, 0.4189, 0.5382, 0.7621, 1.109, 1.594, 2.23, 3.031, 4.007, 5.171",\
                 "0.4651, 0.5019, 0.6231, 0.8459, 1.191, 1.675, 2.311, 3.111, 4.089, 5.252",\
                 "0.5857, 0.6255, 0.7588, 0.9935, 1.336, 1.815, 2.446, 3.244, 4.219, 5.382",\
                 "0.7564, 0.8006, 0.9445, 1.195, 1.557, 2.035, 2.658, 3.448, 4.417, 5.576",\
                 "0.9691, 1.02, 1.182, 1.451, 1.834, 2.335, 2.959, 3.739, 4.698, 5.848",\
                 "1.219, 1.278, 1.46, 1.76, 2.165, 2.691, 3.343, 4.125, 5.073, 6.213",\
                 "1.505, 1.571, 1.778, 2.112, 2.553, 3.105, 3.785, 4.599, 5.551, 6.676",\
                 "1.829, 1.903, 2.135, 2.506, 2.99, 3.579, 4.287, 5.133, 6.119, 7.251");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1918, 0.2128, 0.2835, 0.4168, 0.6208, 0.906, 1.279, 1.752, 2.325, 3.008",\
                 "0.1915, 0.2124, 0.2833, 0.4167, 0.621, 0.9058, 1.279, 1.751, 2.324, 3.009",\
                 "0.2009, 0.219, 0.2844, 0.4161, 0.6208, 0.9056, 1.279, 1.751, 2.325, 3.008",\
                 "0.2926, 0.3129, 0.3759, 0.4787, 0.6432, 0.9082, 1.279, 1.75, 2.325, 3.008",\
                 "0.4039, 0.4294, 0.5078, 0.6366, 0.8096, 1.021, 1.324, 1.756, 2.324, 3.009",\
                 "0.537, 0.5676, 0.6616, 0.8148, 1.019, 1.267, 1.552, 1.901, 2.382, 3.018",\
                 "0.6886, 0.7248, 0.8402, 1.02, 1.252, 1.535, 1.867, 2.238, 2.651, 3.182",\
                 "0.8574, 0.901, 1.039, 1.247, 1.516, 1.832, 2.201, 2.62, 3.085, 3.58",\
                 "1.042, 1.094, 1.252, 1.5, 1.807, 2.161, 2.566, 3.027, 3.54, 4.101",\
                 "1.247, 1.306, 1.489, 1.771, 2.121, 2.523, 2.97, 3.467, 4.024, 4.636");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4904, 0.5468, 0.75, 1.136, 1.734, 2.573, 3.678, 5.062, 6.758, 8.779",\
                 "0.4905, 0.547, 0.75, 1.136, 1.736, 2.575, 3.675, 5.068, 6.758, 8.782",\
                 "0.4924, 0.5485, 0.7499, 1.135, 1.735, 2.574, 3.676, 5.061, 6.754, 8.773",\
                 "0.5419, 0.5906, 0.7706, 1.138, 1.736, 2.573, 3.679, 5.064, 6.765, 8.784",\
                 "0.6354, 0.6864, 0.8638, 1.195, 1.748, 2.573, 3.678, 5.068, 6.756, 8.779",\
                 "0.765, 0.8102, 0.9818, 1.321, 1.841, 2.608, 3.681, 5.066, 6.762, 8.784",\
                 "0.9352, 0.9792, 1.139, 1.468, 2.001, 2.733, 3.737, 5.074, 6.755, 8.785",\
                 "1.132, 1.176, 1.341, 1.658, 2.181, 2.928, 3.894, 5.158, 6.782, 8.776",\
                 "1.345, 1.396, 1.57, 1.897, 2.405, 3.154, 4.133, 5.351, 6.893, 8.818",\
                 "1.58, 1.635, 1.825, 2.168, 2.678, 3.41, 4.399, 5.634, 7.12, 8.96");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1663, 0.179, 0.2229, 0.3044, 0.4285, 0.6, 0.8235, 1.104, 1.445, 1.851",\
                 "0.181, 0.1938, 0.2378, 0.3194, 0.4436, 0.6152, 0.8386, 1.119, 1.46, 1.867",\
                 "0.234, 0.2466, 0.2899, 0.3712, 0.4954, 0.6669, 0.8904, 1.17, 1.512, 1.918",\
                 "0.3033, 0.3201, 0.3757, 0.4693, 0.5961, 0.7668, 0.9895, 1.269, 1.61, 2.016",\
                 "0.3489, 0.3704, 0.442, 0.5625, 0.7246, 0.9203, 1.148, 1.426, 1.766, 2.171",\
                 "0.3669, 0.3936, 0.481, 0.6283, 0.826, 1.066, 1.341, 1.647, 1.989, 2.392",\
                 "0.353, 0.3848, 0.4884, 0.6635, 0.8982, 1.182, 1.507, 1.87, 2.264, 2.686",\
                 "0.3042, 0.3408, 0.4612, 0.6641, 0.9371, 1.266, 1.642, 2.059, 2.515, 3.004",\
                 "0.2192, 0.2605, 0.3966, 0.6286, 0.9398, 1.316, 1.743, 2.215, 2.73, 3.285",\
                 "0.098, 0.1442, 0.2948, 0.5538, 0.9047, 1.326, 1.808, 2.338, 2.911, 3.53");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4097, 0.4438, 0.5613, 0.7834, 1.129, 1.612, 2.248, 3.048, 4.025, 5.189",\
                 "0.42, 0.4545, 0.5733, 0.7962, 1.142, 1.626, 2.262, 3.062, 4.038, 5.203",\
                 "0.4617, 0.4962, 0.6146, 0.8385, 1.186, 1.671, 2.307, 3.108, 4.085, 5.249",\
                 "0.5463, 0.5813, 0.6996, 0.922, 1.267, 1.752, 2.388, 3.188, 4.165, 5.329",\
                 "0.6742, 0.7121, 0.8407, 1.071, 1.412, 1.891, 2.523, 3.321, 4.297, 5.458",\
                 "0.8534, 0.8948, 1.032, 1.277, 1.634, 2.109, 2.733, 3.525, 4.494, 5.653",\
                 "1.08, 1.126, 1.277, 1.537, 1.914, 2.411, 3.033, 3.814, 4.774, 5.924",\
                 "1.345, 1.398, 1.567, 1.852, 2.25, 2.771, 3.419, 4.2, 5.149, 6.289",\
                 "1.649, 1.708, 1.898, 2.214, 2.643, 3.188, 3.864, 4.675, 5.627, 6.751",\
                 "1.99, 2.057, 2.269, 2.618, 3.087, 3.665, 4.369, 5.212, 6.196, 7.326");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2362, 0.2563, 0.326, 0.4576, 0.6614, 0.9467, 1.321, 1.792, 2.365, 3.049",\
                 "0.2359, 0.2561, 0.3259, 0.4576, 0.6614, 0.9468, 1.32, 1.791, 2.365, 3.05",\
                 "0.2449, 0.2624, 0.3269, 0.4573, 0.6614, 0.9468, 1.321, 1.791, 2.366, 3.049",\
                 "0.3487, 0.366, 0.423, 0.5207, 0.6847, 0.9488, 1.32, 1.791, 2.366, 3.05",\
                 "0.4778, 0.4992, 0.5696, 0.6898, 0.8538, 1.061, 1.364, 1.797, 2.366, 3.05",\
                 "0.6312, 0.6572, 0.7398, 0.8804, 1.073, 1.315, 1.594, 1.942, 2.423, 3.06",\
                 "0.805, 0.8358, 0.9362, 1.098, 1.318, 1.592, 1.916, 2.282, 2.692, 3.223",\
                 "0.998, 1.035, 1.154, 1.344, 1.593, 1.898, 2.258, 2.671, 3.128, 3.621",\
                 "1.209, 1.253, 1.392, 1.613, 1.897, 2.239, 2.632, 3.085, 3.591, 4.147",\
                 "1.446, 1.49, 1.648, 1.905, 2.23, 2.611, 3.044, 3.532, 4.083, 4.687");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5874, 0.6448, 0.8482, 1.235, 1.835, 2.674, 3.777, 5.164, 6.858, 8.877",\
                 "0.587, 0.6456, 0.8489, 1.235, 1.835, 2.674, 3.776, 5.165, 6.859, 8.878",\
                 "0.5878, 0.6458, 0.8482, 1.235, 1.835, 2.674, 3.777, 5.164, 6.86, 8.876",\
                 "0.6203, 0.672, 0.8589, 1.236, 1.835, 2.674, 3.777, 5.165, 6.859, 8.877",\
                 "0.7134, 0.765, 0.9418, 1.281, 1.843, 2.674, 3.777, 5.165, 6.859, 8.877",\
                 "0.829, 0.8792, 1.06, 1.403, 1.926, 2.701, 3.779, 5.166, 6.86, 8.879",\
                 "0.9906, 1.038, 1.209, 1.55, 2.083, 2.818, 3.828, 5.171, 6.86, 8.879",\
                 "1.186, 1.234, 1.403, 1.733, 2.265, 3.012, 3.981, 5.25, 6.875, 8.881",\
                 "1.402, 1.455, 1.635, 1.962, 2.482, 3.234, 4.216, 5.435, 6.985, 8.911",\
                 "1.64, 1.695, 1.888, 2.234, 2.751, 3.489, 4.484, 5.715, 7.209, 9.052");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1334, 0.1466, 0.1912, 0.2731, 0.3969, 0.568, 0.7915, 1.072, 1.413, 1.82",\
                 "0.1475, 0.1606, 0.2051, 0.287, 0.4109, 0.582, 0.8055, 1.086, 1.427, 1.834",\
                 "0.1997, 0.2132, 0.2571, 0.3377, 0.4613, 0.6323, 0.8557, 1.136, 1.478, 1.884",\
                 "0.2531, 0.272, 0.3325, 0.4314, 0.5619, 0.7318, 0.9543, 1.234, 1.576, 1.982",\
                 "0.2835, 0.3079, 0.3856, 0.5126, 0.6814, 0.8826, 1.113, 1.391, 1.731, 2.136",\
                 "0.2876, 0.3177, 0.4133, 0.57, 0.7749, 1.021, 1.301, 1.611, 1.955, 2.358",\
                 "0.2643, 0.2998, 0.4128, 0.5991, 0.8424, 1.132, 1.462, 1.83, 2.227, 2.652",\
                 "0.2119, 0.2526, 0.3829, 0.5985, 0.8805, 1.216, 1.595, 2.017, 2.475, 2.967",\
                 "0.131, 0.1765, 0.3224, 0.5649, 0.8859, 1.269, 1.699, 2.174, 2.691, 3.247",\
                 "0.019, 0.0694, 0.2305, 0.5007, 0.8584, 1.286, 1.77, 2.301, 2.876, 3.493");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3129, 0.3455, 0.4571, 0.6695, 0.9982, 1.459, 2.066, 2.83, 3.762, 4.874",\
                 "0.3242, 0.3569, 0.4695, 0.6832, 1.013, 1.474, 2.081, 2.846, 3.778, 4.889",\
                 "0.366, 0.3985, 0.5116, 0.7257, 1.057, 1.519, 2.126, 2.891, 3.824, 4.937",\
                 "0.4345, 0.4693, 0.5868, 0.7995, 1.129, 1.59, 2.197, 2.962, 3.897, 5.007",\
                 "0.5352, 0.5729, 0.6976, 0.9225, 1.252, 1.708, 2.311, 3.072, 4.003, 5.114",\
                 "0.6779, 0.7196, 0.8551, 1.09, 1.436, 1.895, 2.489, 3.244, 4.168, 5.276",\
                 "0.8557, 0.903, 1.055, 1.309, 1.667, 2.145, 2.746, 3.49, 4.405, 5.502",\
                 "1.063, 1.118, 1.291, 1.572, 1.953, 2.446, 3.067, 3.821, 4.726, 5.812",\
                 "1.301, 1.364, 1.558, 1.871, 2.287, 2.802, 3.441, 4.218, 5.135, 6.21",\
                 "1.568, 1.638, 1.857, 2.205, 2.658, 3.212, 3.874, 4.67, 5.612, 6.702");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1734, 0.1935, 0.2643, 0.3961, 0.6, 0.8842, 1.259, 1.729, 2.303, 2.986",\
                 "0.1722, 0.1932, 0.2639, 0.3962, 0.5998, 0.8848, 1.258, 1.728, 2.302, 2.987",\
                 "0.1907, 0.2068, 0.267, 0.3951, 0.5993, 0.8841, 1.258, 1.728, 2.302, 2.985",\
                 "0.2845, 0.304, 0.3675, 0.4704, 0.6287, 0.8872, 1.258, 1.728, 2.303, 2.986",\
                 "0.3982, 0.4219, 0.5004, 0.628, 0.8006, 1.01, 1.307, 1.738, 2.303, 2.987",\
                 "0.5322, 0.5644, 0.657, 0.807, 1.008, 1.257, 1.543, 1.889, 2.366, 2.998",\
                 "0.689, 0.7248, 0.838, 1.017, 1.242, 1.524, 1.855, 2.226, 2.639, 3.168",\
                 "0.8624, 0.9062, 1.043, 1.249, 1.51, 1.82, 2.187, 2.606, 3.072, 3.568",\
                 "1.055, 1.107, 1.265, 1.506, 1.806, 2.154, 2.552, 3.009, 3.523, 4.087",\
                 "1.271, 1.329, 1.509, 1.788, 2.128, 2.52, 2.958, 3.448, 4.001, 4.618");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.381, 0.4356, 0.6299, 1.001, 1.577, 2.386, 3.453, 4.795, 6.43, 8.379",\
                 "0.381, 0.4356, 0.6292, 1.002, 1.577, 2.385, 3.453, 4.795, 6.431, 8.375",\
                 "0.3845, 0.4381, 0.6297, 1.002, 1.579, 2.387, 3.45, 4.79, 6.424, 8.375",\
                 "0.4351, 0.4844, 0.6553, 1.005, 1.577, 2.389, 3.448, 4.795, 6.423, 8.376",\
                 "0.506, 0.5574, 0.7362, 1.067, 1.598, 2.387, 3.453, 4.794, 6.43, 8.384",\
                 "0.6278, 0.673, 0.8408, 1.172, 1.691, 2.435, 3.453, 4.796, 6.431, 8.379",\
                 "0.7824, 0.832, 0.9922, 1.309, 1.826, 2.553, 3.527, 4.813, 6.427, 8.378",\
                 "0.9562, 1.008, 1.181, 1.496, 1.993, 2.721, 3.679, 4.912, 6.458, 8.369",\
                 "1.143, 1.201, 1.393, 1.727, 2.214, 2.922, 3.883, 5.088, 6.594, 8.43",\
                 "1.345, 1.408, 1.62, 1.983, 2.492, 3.178, 4.12, 5.334, 6.808, 8.595");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1337, 0.1469, 0.1914, 0.2734, 0.3972, 0.5683, 0.7917, 1.072, 1.414, 1.82",\
                 "0.1483, 0.1614, 0.2062, 0.288, 0.4118, 0.5829, 0.8063, 1.087, 1.428, 1.835",\
                 "0.2013, 0.2149, 0.2587, 0.3394, 0.463, 0.634, 0.8574, 1.138, 1.479, 1.886",\
                 "0.2545, 0.2733, 0.3339, 0.4331, 0.5634, 0.7335, 0.9562, 1.236, 1.577, 1.984",\
                 "0.2798, 0.305, 0.3836, 0.5118, 0.6817, 0.8831, 1.114, 1.392, 1.732, 2.138",\
                 "0.2748, 0.3056, 0.4029, 0.563, 0.7704, 1.019, 1.3, 1.611, 1.954, 2.359",\
                 "0.2354, 0.2718, 0.389, 0.5793, 0.8284, 1.123, 1.457, 1.825, 2.225, 2.651",\
                 "0.16, 0.2024, 0.3377, 0.5596, 0.8514, 1.194, 1.58, 2.006, 2.467, 2.961",\
                 "0.0485, 0.0963, 0.2491, 0.5025, 0.8345, 1.227, 1.669, 2.152, 2.674, 3.234",\
                 "-0.1019, -0.048, 0.1226, 0.4044, 0.7772, 1.22, 1.718, 2.262, 2.845, 3.469");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.3813, 0.4212, 0.5591, 0.8186, 1.223, 1.789, 2.534, 3.472, 4.617, 5.982",\
                 "0.3902, 0.4303, 0.569, 0.8312, 1.235, 1.803, 2.547, 3.486, 4.63, 5.996",\
                 "0.4281, 0.468, 0.6072, 0.8699, 1.276, 1.844, 2.59, 3.529, 4.675, 6.039",\
                 "0.4969, 0.5392, 0.6795, 0.9404, 1.344, 1.912, 2.657, 3.597, 4.742, 6.107",\
                 "0.6052, 0.6488, 0.7975, 1.066, 1.466, 2.026, 2.767, 3.703, 4.846, 6.21",\
                 "0.7704, 0.8173, 0.9711, 1.248, 1.659, 2.213, 2.945, 3.873, 5.009, 6.366",\
                 "0.9803, 1.033, 1.204, 1.492, 1.914, 2.481, 3.204, 4.12, 5.245, 6.595",\
                 "1.23, 1.291, 1.481, 1.795, 2.23, 2.812, 3.551, 4.457, 5.568, 6.905",\
                 "1.518, 1.587, 1.8, 2.145, 2.611, 3.207, 3.963, 4.887, 5.987, 7.307",\
                 "1.843, 1.92, 2.158, 2.541, 3.044, 3.669, 4.441, 5.384, 6.504, 7.814");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1735, 0.194, 0.2646, 0.3959, 0.5996, 0.8847, 1.258, 1.729, 2.302, 2.986",\
                 "0.1723, 0.1931, 0.2638, 0.3957, 0.5999, 0.8843, 1.257, 1.728, 2.302, 2.987",\
                 "0.1899, 0.2059, 0.2668, 0.3954, 0.5998, 0.8847, 1.258, 1.729, 2.303, 2.985",\
                 "0.2828, 0.3032, 0.3662, 0.4696, 0.6284, 0.8876, 1.257, 1.729, 2.302, 2.985",\
                 "0.3965, 0.4209, 0.4998, 0.6292, 0.8002, 1.01, 1.307, 1.737, 2.303, 2.986",\
                 "0.5316, 0.5628, 0.6586, 0.809, 1.01, 1.258, 1.544, 1.888, 2.365, 2.997",\
                 "0.6888, 0.7256, 0.8424, 1.019, 1.25, 1.529, 1.86, 2.229, 2.641, 3.168",\
                 "0.8638, 0.909, 1.047, 1.255, 1.521, 1.832, 2.198, 2.615, 3.079, 3.572",\
                 "1.062, 1.117, 1.273, 1.519, 1.82, 2.172, 2.569, 3.027, 3.537, 4.095",\
                 "1.285, 1.342, 1.524, 1.804, 2.147, 2.544, 2.983, 3.474, 4.026, 4.635");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4864, 0.5537, 0.7915, 1.248, 1.955, 2.944, 4.248, 5.887, 7.898, 10.27",\
                 "0.4867, 0.554, 0.7919, 1.248, 1.954, 2.947, 4.252, 5.888, 7.894, 10.28",\
                 "0.4889, 0.5551, 0.7921, 1.246, 1.955, 2.947, 4.25, 5.892, 7.895, 10.27",\
                 "0.5316, 0.5917, 0.8083, 1.25, 1.954, 2.947, 4.249, 5.885, 7.886, 10.28",\
                 "0.6018, 0.6626, 0.885, 1.295, 1.965, 2.946, 4.253, 5.886, 7.898, 10.27",\
                 "0.7072, 0.763, 0.975, 1.394, 2.033, 2.965, 4.251, 5.892, 7.886, 10.28",\
                 "0.8614, 0.9166, 1.111, 1.51, 2.157, 3.055, 4.288, 5.893, 7.89, 10.28",\
                 "1.041, 1.099, 1.298, 1.676, 2.304, 3.209, 4.393, 5.94, 7.888, 10.28",\
                 "1.241, 1.301, 1.512, 1.893, 2.492, 3.387, 4.574, 6.074, 7.977, 10.28",\
                 "1.456, 1.525, 1.75, 2.152, 2.744, 3.605, 4.791, 6.282, 8.121, 10.37");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1393, 0.1525, 0.1975, 0.2802, 0.4053, 0.5776, 0.8015, 1.082, 1.424, 1.83",\
                 "0.1536, 0.1669, 0.2122, 0.2948, 0.4199, 0.5922, 0.8161, 1.097, 1.438, 1.845",\
                 "0.2073, 0.2205, 0.2644, 0.3462, 0.4711, 0.6433, 0.8672, 1.148, 1.489, 1.896",\
                 "0.2654, 0.284, 0.3436, 0.4417, 0.5718, 0.7428, 0.966, 1.246, 1.587, 1.994",\
                 "0.2989, 0.3227, 0.3994, 0.5258, 0.6936, 0.8941, 1.124, 1.402, 1.743, 2.148",\
                 "0.3033, 0.3322, 0.4261, 0.5821, 0.7871, 1.033, 1.313, 1.622, 1.965, 2.369",\
                 "0.2736, 0.3081, 0.4194, 0.6048, 0.8492, 1.14, 1.471, 1.839, 2.236, 2.66",\
                 "0.2081, 0.2475, 0.3762, 0.5916, 0.8758, 1.215, 1.598, 2.021, 2.481, 2.973",\
                 "0.1065, 0.1505, 0.295, 0.5392, 0.8643, 1.252, 1.69, 2.169, 2.689, 3.248",\
                 "-0.0339, 0.0155, 0.1756, 0.4471, 0.8121, 1.249, 1.741, 2.281, 2.862, 3.485");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4708, 0.5102, 0.648, 0.9082, 1.312, 1.879, 2.624, 3.563, 4.707, 6.072",\
                 "0.4804, 0.5203, 0.6589, 0.9203, 1.325, 1.893, 2.637, 3.576, 4.721, 6.086",\
                 "0.5182, 0.5581, 0.6974, 0.9596, 1.366, 1.934, 2.68, 3.619, 4.765, 6.13",\
                 "0.5907, 0.6308, 0.7689, 1.03, 1.434, 2.002, 2.748, 3.687, 4.833, 6.196",\
                 "0.7032, 0.746, 0.8908, 1.155, 1.554, 2.116, 2.857, 3.793, 4.937, 6.301",\
                 "0.8731, 0.9172, 1.067, 1.34, 1.747, 2.301, 3.033, 3.962, 5.099, 6.457",\
                 "1.096, 1.145, 1.304, 1.585, 2.004, 2.569, 3.291, 4.207, 5.334, 6.685",\
                 "1.362, 1.416, 1.592, 1.893, 2.323, 2.902, 3.638, 4.543, 5.656, 6.994",\
                 "1.666, 1.727, 1.924, 2.252, 2.707, 3.299, 4.052, 4.973, 6.074, 7.395",\
                 "2.009, 2.077, 2.295, 2.658, 3.147, 3.763, 4.531, 5.472, 6.59, 7.901");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2183, 0.2381, 0.3071, 0.4378, 0.6406, 0.9252, 1.299, 1.77, 2.343, 3.026",\
                 "0.2173, 0.2373, 0.3068, 0.4375, 0.6404, 0.9248, 1.299, 1.77, 2.343, 3.028",\
                 "0.2339, 0.2495, 0.3096, 0.4364, 0.6402, 0.9251, 1.298, 1.77, 2.343, 3.027",\
                 "0.3434, 0.3601, 0.4158, 0.5111, 0.669, 0.9283, 1.298, 1.77, 2.344, 3.027",\
                 "0.4763, 0.4969, 0.565, 0.6826, 0.8464, 1.051, 1.348, 1.778, 2.343, 3.028",\
                 "0.6346, 0.6606, 0.741, 0.8778, 1.068, 1.307, 1.585, 1.929, 2.406, 3.038",\
                 "0.8158, 0.846, 0.942, 1.102, 1.317, 1.588, 1.909, 2.274, 2.682, 3.208",\
                 "1.02, 1.054, 1.171, 1.354, 1.601, 1.9, 2.256, 2.666, 3.124, 3.613",\
                 "1.245, 1.287, 1.42, 1.637, 1.915, 2.252, 2.636, 3.085, 3.588, 4.141",\
                 "1.498, 1.542, 1.698, 1.939, 2.257, 2.634, 3.06, 3.54, 4.084, 4.689");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.6003, 0.6693, 0.9089, 1.364, 2.073, 3.063, 4.365, 6.006, 8.006, 10.39",\
                 "0.6004, 0.6682, 0.9091, 1.364, 2.073, 3.063, 4.365, 6.004, 8.002, 10.39",\
                 "0.6015, 0.6696, 0.9091, 1.364, 2.072, 3.064, 4.365, 6.003, 8.004, 10.39",\
                 "0.6284, 0.6908, 0.9162, 1.365, 2.073, 3.063, 4.365, 6.004, 8.006, 10.38",\
                 "0.7002, 0.7656, 0.984, 1.399, 2.077, 3.064, 4.365, 6.004, 8.005, 10.39",\
                 "0.791, 0.8538, 1.074, 1.495, 2.137, 3.078, 4.365, 6.006, 8.006, 10.39",\
                 "0.9342, 0.9916, 1.197, 1.612, 2.26, 3.162, 4.395, 6.007, 8.007, 10.39",\
                 "1.113, 1.174, 1.375, 1.765, 2.405, 3.312, 4.501, 6.053, 8.01, 10.39",\
                 "1.313, 1.378, 1.592, 1.975, 2.589, 3.492, 4.68, 6.183, 8.076, 10.4",\
                 "1.539, 1.605, 1.83, 2.231, 2.831, 3.703, 4.896, 6.388, 8.232, 10.49");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1387, 0.1521, 0.1972, 0.2799, 0.405, 0.5772, 0.8011, 1.081, 1.423, 1.83",\
                 "0.1528, 0.1662, 0.2112, 0.2939, 0.419, 0.5912, 0.8151, 1.096, 1.437, 1.844",\
                 "0.2057, 0.219, 0.2628, 0.3446, 0.4694, 0.6415, 0.8654, 1.146, 1.487, 1.894",\
                 "0.2642, 0.2827, 0.3421, 0.4402, 0.5703, 0.741, 0.9639, 1.244, 1.585, 1.992",\
                 "0.3017, 0.3253, 0.4011, 0.5268, 0.6933, 0.8932, 1.123, 1.401, 1.741, 2.146",\
                 "0.3156, 0.3439, 0.4359, 0.589, 0.7911, 1.035, 1.314, 1.622, 1.965, 2.368",\
                 "0.3019, 0.3353, 0.4432, 0.6232, 0.8625, 1.149, 1.476, 1.842, 2.238, 2.662",\
                 "0.2589, 0.2967, 0.4206, 0.6284, 0.9044, 1.236, 1.612, 2.031, 2.488, 2.979",\
                 "0.1865, 0.2287, 0.367, 0.6019, 0.9155, 1.291, 1.72, 2.191, 2.705, 3.26",\
                 "0.0844, 0.131, 0.2832, 0.5425, 0.8927, 1.314, 1.793, 2.321, 2.893, 3.508");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.384, 0.4162, 0.5285, 0.7409, 1.07, 1.531, 2.138, 2.903, 3.836, 4.947",\
                 "0.396, 0.4288, 0.5413, 0.7543, 1.085, 1.546, 2.153, 2.918, 3.851, 4.964",\
                 "0.4379, 0.4704, 0.5835, 0.7976, 1.128, 1.591, 2.199, 2.964, 3.897, 5.009",\
                 "0.5114, 0.545, 0.6586, 0.8707, 1.2, 1.662, 2.27, 3.035, 3.968, 5.08",\
                 "0.6167, 0.6523, 0.7744, 0.9954, 1.322, 1.779, 2.383, 3.145, 4.075, 5.187",\
                 "0.7681, 0.8066, 0.9352, 1.167, 1.508, 1.965, 2.561, 3.315, 4.24, 5.347",\
                 "0.9582, 1.002, 1.144, 1.389, 1.743, 2.217, 2.816, 3.56, 4.477, 5.575",\
                 "1.181, 1.23, 1.39, 1.658, 2.031, 2.52, 3.139, 3.891, 4.796, 5.884",\
                 "1.434, 1.49, 1.669, 1.966, 2.369, 2.879, 3.515, 4.289, 5.205, 6.281",\
                 "1.718, 1.78, 1.98, 2.309, 2.749, 3.292, 3.949, 4.742, 5.683, 6.773");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2176, 0.2375, 0.3064, 0.437, 0.6401, 0.9247, 1.298, 1.769, 2.342, 3.027",\
                 "0.2165, 0.2366, 0.3061, 0.4368, 0.6397, 0.9246, 1.298, 1.769, 2.343, 3.026",\
                 "0.234, 0.2498, 0.309, 0.4358, 0.6395, 0.9244, 1.298, 1.768, 2.341, 3.027",\
                 "0.3438, 0.3603, 0.4163, 0.5118, 0.669, 0.9279, 1.298, 1.768, 2.343, 3.027",\
                 "0.4767, 0.496, 0.564, 0.6816, 0.8454, 1.05, 1.348, 1.777, 2.342, 3.027",\
                 "0.6336, 0.6594, 0.738, 0.874, 1.064, 1.305, 1.584, 1.928, 2.404, 3.039",\
                 "0.8138, 0.8422, 0.938, 1.098, 1.31, 1.581, 1.904, 2.27, 2.68, 3.208",\
                 "1.014, 1.049, 1.162, 1.346, 1.589, 1.888, 2.244, 2.657, 3.117, 3.608",\
                 "1.235, 1.276, 1.408, 1.622, 1.899, 2.231, 2.617, 3.066, 3.573, 4.131",\
                 "1.477, 1.524, 1.677, 1.922, 2.234, 2.607, 3.034, 3.513, 4.058, 4.667");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4719, 0.528, 0.7235, 1.095, 1.672, 2.481, 3.545, 4.885, 6.519, 8.465",\
                 "0.472, 0.5277, 0.7231, 1.094, 1.673, 2.481, 3.545, 4.882, 6.519, 8.468",\
                 "0.4741, 0.5288, 0.7231, 1.095, 1.672, 2.481, 3.544, 4.884, 6.518, 8.466",\
                 "0.5103, 0.5596, 0.7382, 1.096, 1.672, 2.481, 3.546, 4.885, 6.518, 8.464",\
                 "0.5844, 0.636, 0.8164, 1.147, 1.686, 2.482, 3.545, 4.886, 6.518, 8.469",\
                 "0.6908, 0.7404, 0.9136, 1.253, 1.773, 2.519, 3.548, 4.884, 6.518, 8.465",\
                 "0.8424, 0.8932, 1.057, 1.383, 1.907, 2.637, 3.614, 4.898, 6.518, 8.466",\
                 "1.018, 1.07, 1.246, 1.564, 2.069, 2.804, 3.762, 4.992, 6.551, 8.468",\
                 "1.21, 1.269, 1.459, 1.792, 2.285, 3.002, 3.968, 5.175, 6.675, 8.523",\
                 "1.419, 1.483, 1.689, 2.05, 2.56, 3.252, 4.2, 5.417, 6.89, 8.68");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1393, 0.1524, 0.1975, 0.2802, 0.4053, 0.5775, 0.8013, 1.082, 1.423, 1.83",\
                 "0.1536, 0.1669, 0.2121, 0.2949, 0.4199, 0.5921, 0.8159, 1.096, 1.438, 1.845",\
                 "0.2073, 0.2206, 0.2644, 0.3462, 0.4711, 0.6432, 0.867, 1.147, 1.489, 1.896",\
                 "0.2655, 0.2839, 0.3436, 0.4418, 0.5717, 0.7427, 0.9659, 1.246, 1.587, 1.993",\
                 "0.2984, 0.3228, 0.3993, 0.5259, 0.6936, 0.894, 1.123, 1.402, 1.742, 2.148",\
                 "0.3028, 0.332, 0.4259, 0.5817, 0.7868, 1.032, 1.313, 1.621, 1.965, 2.369",\
                 "0.273, 0.3077, 0.4189, 0.6045, 0.8488, 1.14, 1.471, 1.838, 2.236, 2.66",\
                 "0.2075, 0.2468, 0.3755, 0.5911, 0.8754, 1.215, 1.597, 2.02, 2.481, 2.973",\
                 "0.1057, 0.1497, 0.2942, 0.5387, 0.864, 1.251, 1.689, 2.169, 2.689, 3.248",\
                 "-0.0349, 0.0143, 0.1749, 0.4465, 0.8116, 1.248, 1.741, 2.281, 2.862, 3.485");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.4696, 0.509, 0.6465, 0.9069, 1.311, 1.878, 2.622, 3.56, 4.706, 6.071",\
                 "0.4795, 0.519, 0.6576, 0.9191, 1.324, 1.891, 2.636, 3.575, 4.719, 6.085",\
                 "0.5173, 0.557, 0.6958, 0.9583, 1.364, 1.933, 2.679, 3.618, 4.764, 6.129",\
                 "0.5894, 0.6295, 0.7676, 1.029, 1.433, 2, 2.746, 3.685, 4.831, 6.196",\
                 "0.7017, 0.7444, 0.8896, 1.153, 1.553, 2.115, 2.856, 3.792, 4.935, 6.3",\
                 "0.8718, 0.916, 1.066, 1.339, 1.746, 2.3, 3.032, 3.961, 5.098, 6.456",\
                 "1.094, 1.143, 1.303, 1.584, 2.003, 2.567, 3.29, 4.205, 5.333, 6.683",\
                 "1.36, 1.414, 1.59, 1.891, 2.322, 2.9, 3.637, 4.542, 5.655, 6.993",\
                 "1.664, 1.725, 1.92, 2.251, 2.705, 3.297, 4.05, 4.971, 6.072, 7.393",\
                 "2.006, 2.075, 2.294, 2.655, 3.145, 3.761, 4.53, 5.472, 6.59, 7.9");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2177, 0.2375, 0.3065, 0.4371, 0.6402, 0.9248, 1.298, 1.769, 2.343, 3.027",\
                 "0.2166, 0.2367, 0.306, 0.4369, 0.6399, 0.9248, 1.298, 1.769, 2.342, 3.026",\
                 "0.2332, 0.249, 0.3087, 0.4358, 0.6395, 0.9247, 1.298, 1.769, 2.342, 3.026",\
                 "0.3428, 0.3594, 0.415, 0.5108, 0.6685, 0.9277, 1.298, 1.769, 2.342, 3.027",\
                 "0.4756, 0.4958, 0.564, 0.6826, 0.8446, 1.051, 1.348, 1.777, 2.342, 3.026",\
                 "0.6334, 0.659, 0.7398, 0.8762, 1.067, 1.306, 1.585, 1.928, 2.407, 3.037",\
                 "0.8142, 0.8444, 0.9408, 1.101, 1.318, 1.586, 1.908, 2.273, 2.682, 3.208",\
                 "1.017, 1.052, 1.169, 1.353, 1.601, 1.898, 2.255, 2.664, 3.121, 3.613",\
                 "1.242, 1.283, 1.418, 1.635, 1.913, 2.249, 2.635, 3.084, 3.587, 4.141",\
                 "1.495, 1.539, 1.694, 1.938, 2.255, 2.634, 3.058, 3.539, 4.084, 4.689");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.5987, 0.6676, 0.9074, 1.363, 2.071, 3.061, 4.363, 6.001, 8.003, 10.39",\
                 "0.5988, 0.6676, 0.9075, 1.363, 2.071, 3.062, 4.363, 6.002, 8.001, 10.39",\
                 "0.5999, 0.6683, 0.9077, 1.363, 2.071, 3.062, 4.364, 6.001, 8.004, 10.39",\
                 "0.6267, 0.6894, 0.9147, 1.364, 2.071, 3.061, 4.364, 6.003, 8.003, 10.38",\
                 "0.6998, 0.7638, 0.983, 1.398, 2.076, 3.062, 4.365, 6.003, 8.004, 10.39",\
                 "0.79, 0.8538, 1.073, 1.494, 2.136, 3.077, 4.364, 6.004, 8.004, 10.39",\
                 "0.9318, 0.9906, 1.197, 1.61, 2.259, 3.16, 4.394, 6.004, 8.004, 10.39",\
                 "1.112, 1.171, 1.373, 1.763, 2.403, 3.311, 4.502, 6.051, 8.01, 10.39",\
                 "1.313, 1.377, 1.589, 1.975, 2.587, 3.489, 4.679, 6.181, 8.075, 10.4",\
                 "1.537, 1.602, 1.83, 2.232, 2.83, 3.701, 4.895, 6.389, 8.229, 10.49");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.1453, 0.1589, 0.2043, 0.288, 0.4142, 0.5871, 0.8112, 1.092, 1.433, 1.84",\
                 "0.1599, 0.1733, 0.2189, 0.3026, 0.4288, 0.6017, 0.8259, 1.106, 1.448, 1.855",\
                 "0.2139, 0.227, 0.2711, 0.3539, 0.48, 0.6528, 0.8769, 1.157, 1.499, 1.905",\
                 "0.2786, 0.2966, 0.3547, 0.4516, 0.5808, 0.7523, 0.9758, 1.256, 1.597, 2.003",\
                 "0.3211, 0.3438, 0.4174, 0.5408, 0.706, 0.9046, 1.133, 1.412, 1.752, 2.157",\
                 "0.3331, 0.3604, 0.4503, 0.6014, 0.8029, 1.046, 1.324, 1.632, 1.975, 2.378",\
                 "0.3103, 0.3427, 0.4489, 0.6289, 0.8689, 1.157, 1.485, 1.851, 2.247, 2.671",\
                 "0.2519, 0.2891, 0.4121, 0.6205, 0.8996, 1.235, 1.614, 2.035, 2.494, 2.985",\
                 "0.1583, 0.1996, 0.3376, 0.5741, 0.8928, 1.275, 1.709, 2.186, 2.704, 3.262",\
                 "0.027, 0.0732, 0.2258, 0.4882, 0.8451, 1.276, 1.764, 2.3, 2.879, 3.5");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.559, 0.5982, 0.736, 0.9963, 1.401, 1.968, 2.712, 3.651, 4.796, 6.162",\
                 "0.5695, 0.6095, 0.7473, 1.009, 1.414, 1.981, 2.727, 3.665, 4.811, 6.176",\
                 "0.6076, 0.6478, 0.786, 1.049, 1.455, 2.023, 2.769, 3.708, 4.855, 6.22",\
                 "0.6799, 0.7194, 0.8567, 1.118, 1.523, 2.09, 2.836, 3.776, 4.922, 6.288",\
                 "0.7975, 0.8395, 0.9819, 1.242, 1.641, 2.204, 2.945, 3.882, 5.026, 6.389",\
                 "0.97, 1.013, 1.16, 1.43, 1.834, 2.387, 3.121, 4.05, 5.187, 6.546",\
                 "1.202, 1.247, 1.4, 1.677, 2.093, 2.655, 3.377, 4.295, 5.422, 6.773",\
                 "1.479, 1.53, 1.696, 1.988, 2.414, 2.99, 3.723, 4.629, 5.744, 7.08",\
                 "1.797, 1.853, 2.038, 2.354, 2.8, 3.389, 4.139, 5.058, 6.159, 7.481",\
                 "2.157, 2.218, 2.422, 2.768, 3.245, 3.854, 4.62, 5.559, 6.675, 7.986");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2626, 0.2818, 0.3494, 0.4792, 0.6814, 0.9655, 1.339, 1.809, 2.383, 3.067",\
                 "0.2615, 0.2809, 0.3491, 0.479, 0.6819, 0.9659, 1.339, 1.809, 2.384, 3.066",\
                 "0.2771, 0.2924, 0.3515, 0.4779, 0.6816, 0.9652, 1.34, 1.809, 2.383, 3.067",\
                 "0.3983, 0.4129, 0.463, 0.5527, 0.7097, 0.9686, 1.339, 1.809, 2.383, 3.067",\
                 "0.5491, 0.5668, 0.6264, 0.7352, 0.8904, 1.091, 1.389, 1.818, 2.383, 3.067",\
                 "0.7274, 0.7492, 0.818, 0.9438, 1.123, 1.354, 1.626, 1.968, 2.445, 3.079",\
                 "0.9318, 0.9564, 1.038, 1.181, 1.385, 1.644, 1.958, 2.316, 2.723, 3.249",\
                 "1.159, 1.188, 1.287, 1.45, 1.679, 1.966, 2.313, 2.716, 3.167, 3.654",\
                 "1.413, 1.444, 1.557, 1.749, 2.006, 2.328, 2.702, 3.143, 3.639, 4.189",\
                 "1.691, 1.725, 1.852, 2.071, 2.363, 2.721, 3.134, 3.604, 4.142, 4.741");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.7144, 0.7823, 1.024, 1.481, 2.19, 3.182, 4.484, 6.124, 8.123, 10.51",\
                 "0.7142, 0.7829, 1.025, 1.481, 2.191, 3.182, 4.483, 6.125, 8.124, 10.51",\
                 "0.7137, 0.7833, 1.025, 1.482, 2.19, 3.181, 4.484, 6.123, 8.128, 10.51",\
                 "0.7293, 0.7943, 1.028, 1.481, 2.19, 3.182, 4.485, 6.126, 8.125, 10.51",\
                 "0.8018, 0.8646, 1.082, 1.505, 2.192, 3.182, 4.485, 6.125, 8.127, 10.51",\
                 "0.885, 0.9494, 1.175, 1.596, 2.243, 3.192, 4.485, 6.126, 8.126, 10.51",\
                 "1.015, 1.075, 1.291, 1.711, 2.363, 3.269, 4.509, 6.127, 8.127, 10.52",\
                 "1.19, 1.25, 1.457, 1.858, 2.506, 3.415, 4.609, 6.167, 8.131, 10.51",\
                 "1.395, 1.457, 1.67, 2.06, 2.686, 3.593, 4.784, 6.293, 8.192, 10.52",\
                 "1.619, 1.689, 1.915, 2.316, 2.92, 3.804, 4.998, 6.495, 8.341, 10.6");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.16, 0.1728, 0.2163, 0.2967, 0.4198, 0.5903, 0.8135, 1.094, 1.435, 1.841",\
                 "0.1743, 0.1873, 0.2306, 0.3112, 0.4342, 0.6049, 0.828, 1.108, 1.45, 1.856",\
                 "0.2268, 0.2393, 0.2822, 0.3622, 0.4853, 0.6559, 0.8789, 1.159, 1.5, 1.907",\
                 "0.2915, 0.3091, 0.3652, 0.4595, 0.5864, 0.7557, 0.9781, 1.258, 1.599, 2.005",\
                 "0.3351, 0.357, 0.429, 0.5494, 0.7123, 0.9094, 1.137, 1.415, 1.755, 2.159",\
                 "0.355, 0.3819, 0.4697, 0.6166, 0.8147, 1.055, 1.331, 1.637, 1.978, 2.382",\
                 "0.3489, 0.3804, 0.4855, 0.6599, 0.8928, 1.175, 1.5, 1.862, 2.256, 2.677",\
                 "0.3153, 0.3528, 0.4728, 0.6747, 0.9441, 1.27, 1.641, 2.056, 2.51, 2.998",\
                 "0.2525, 0.2945, 0.431, 0.6591, 0.9669, 1.336, 1.756, 2.223, 2.734, 3.285",\
                 "0.1607, 0.2073, 0.359, 0.6133, 0.9576, 1.37, 1.842, 2.362, 2.929, 3.54");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.559, 0.5982, 0.736, 0.9963, 1.401, 1.968, 2.712, 3.651, 4.796, 6.162",\
                 "0.5695, 0.6095, 0.7473, 1.009, 1.414, 1.981, 2.727, 3.665, 4.811, 6.176",\
                 "0.6076, 0.6478, 0.786, 1.049, 1.455, 2.023, 2.769, 3.708, 4.855, 6.22",\
                 "0.6799, 0.7194, 0.8567, 1.118, 1.523, 2.09, 2.836, 3.776, 4.922, 6.288",\
                 "0.7975, 0.8395, 0.9819, 1.242, 1.641, 2.204, 2.945, 3.882, 5.026, 6.389",\
                 "0.97, 1.013, 1.16, 1.43, 1.834, 2.387, 3.121, 4.05, 5.187, 6.546",\
                 "1.202, 1.247, 1.4, 1.677, 2.093, 2.655, 3.377, 4.295, 5.422, 6.773",\
                 "1.479, 1.53, 1.696, 1.988, 2.414, 2.99, 3.723, 4.629, 5.744, 7.08",\
                 "1.797, 1.853, 2.038, 2.354, 2.8, 3.389, 4.139, 5.058, 6.159, 7.481",\
                 "2.157, 2.218, 2.422, 2.768, 3.245, 3.854, 4.62, 5.559, 6.675, 7.986");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.2626, 0.2818, 0.3494, 0.4792, 0.6814, 0.9655, 1.339, 1.809, 2.383, 3.067",\
                 "0.2615, 0.2809, 0.3491, 0.479, 0.6819, 0.9659, 1.339, 1.809, 2.384, 3.066",\
                 "0.2771, 0.2924, 0.3515, 0.4779, 0.6816, 0.9652, 1.34, 1.809, 2.383, 3.067",\
                 "0.3983, 0.4129, 0.463, 0.5527, 0.7097, 0.9686, 1.339, 1.809, 2.383, 3.067",\
                 "0.5491, 0.5668, 0.6264, 0.7352, 0.8904, 1.091, 1.389, 1.818, 2.383, 3.067",\
                 "0.7274, 0.7492, 0.818, 0.9438, 1.123, 1.354, 1.626, 1.968, 2.445, 3.079",\
                 "0.9318, 0.9564, 1.038, 1.181, 1.385, 1.644, 1.958, 2.316, 2.723, 3.249",\
                 "1.159, 1.188, 1.287, 1.45, 1.679, 1.966, 2.313, 2.716, 3.167, 3.654",\
                 "1.413, 1.444, 1.557, 1.749, 2.006, 2.328, 2.702, 3.143, 3.639, 4.189",\
                 "1.691, 1.725, 1.852, 2.071, 2.363, 2.721, 3.134, 3.604, 4.142, 4.741");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004843, 0.01833, 0.04409, 0.08422, 0.1405, 0.2146, 0.308, 0.4219, 0.5577");
          values("0.7144, 0.7823, 1.024, 1.481, 2.19, 3.182, 4.484, 6.124, 8.123, 10.51",\
                 "0.7142, 0.7829, 1.025, 1.481, 2.191, 3.182, 4.483, 6.125, 8.124, 10.51",\
                 "0.7137, 0.7833, 1.025, 1.482, 2.19, 3.181, 4.484, 6.123, 8.128, 10.51",\
                 "0.7293, 0.7943, 1.028, 1.481, 2.19, 3.182, 4.485, 6.126, 8.125, 10.51",\
                 "0.8018, 0.8646, 1.082, 1.505, 2.192, 3.182, 4.485, 6.125, 8.127, 10.51",\
                 "0.885, 0.9494, 1.175, 1.596, 2.243, 3.192, 4.485, 6.126, 8.126, 10.51",\
                 "1.015, 1.075, 1.291, 1.711, 2.363, 3.269, 4.509, 6.127, 8.127, 10.52",\
                 "1.19, 1.25, 1.457, 1.858, 2.506, 3.415, 4.609, 6.167, 8.131, 10.51",\
                 "1.395, 1.457, 1.67, 2.06, 2.686, 3.593, 4.784, 6.293, 8.192, 10.52",\
                 "1.619, 1.689, 1.915, 2.316, 2.92, 3.804, 4.998, 6.495, 8.341, 10.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi222_1) {
    area : 30.732800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "5.47734e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&C2" ;
      value : "5.48526e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&!C2" ;
      value : "7.10952e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&C2" ;
      value : "0.0001019799" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&!C2" ;
      value : "5.48526e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&C2" ;
      value : "5.49318e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&!C2" ;
      value : "7.11777e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&C2" ;
      value : "0.0001026069" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&!C2" ;
      value : "7.10952e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&C2" ;
      value : "7.11744e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&!C2" ;
      value : "8.74203e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&C2" ;
      value : "0.0001026069" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&!C2" ;
      value : "7.35669e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&C2" ;
      value : "7.35669e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&!C2" ;
      value : "7.35669e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&C2" ;
      value : "7.35735e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&!C2" ;
      value : "5.48526e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&C2" ;
      value : "5.49318e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&!C2" ;
      value : "7.11744e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&C2" ;
      value : "0.0001026234" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&!C2" ;
      value : "5.49318e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&C2" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&!C2" ;
      value : "7.12569e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&C2" ;
      value : "0.00010329" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&!C2" ;
      value : "7.11744e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&C2" ;
      value : "7.12569e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&!C2" ;
      value : "8.74995e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&C2" ;
      value : "0.00010329" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&!C2" ;
      value : "7.43424e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&C2" ;
      value : "7.43424e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&!C2" ;
      value : "7.43424e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&C2" ;
      value : "7.4349e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "7.10952e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&C2" ;
      value : "7.11777e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&!C2" ;
      value : "8.7417e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&C2" ;
      value : "0.0001026234" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&!C2" ;
      value : "7.11744e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&C2" ;
      value : "7.12569e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&!C2" ;
      value : "8.74995e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&C2" ;
      value : "0.00010329" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&!C2" ;
      value : "8.7417e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&C2" ;
      value : "8.74995e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&!C2" ;
      value : "0.0001037421" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&C2" ;
      value : "0.00010329" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&!C2" ;
      value : "7.43424e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&C2" ;
      value : "7.43424e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&!C2" ;
      value : "7.43424e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&C2" ;
      value : "7.4349e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&!C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&!C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&C2" ;
      value : "4.48272e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&!C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&!C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&C2" ;
      value : "4.48239e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&!C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&!C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&C2" ;
      value : "4.48272e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&!C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&!C2" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&C2" ;
      value : "4.48239e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001037421" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.0047 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0177, 0.01772, 0.01773, 0.01769, 0.01765, 0.01761, 0.01759, \
                 0.01757, 0.01755, 0.01753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.011, -0.01099, -0.01099, -0.01095, -0.01093, -0.01095, -0.01095, \
                 -0.01096, -0.01098, -0.011");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01771, 0.01772, 0.01774, 0.01772, 0.01768, 0.01765, 0.01761, \
                 0.01758, 0.01755, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01101, -0.01101, -0.011, -0.01098, -0.01096, -0.01096, -0.01095, \
                 -0.01098, -0.01098, -0.01101");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01771, 0.01772, 0.01774, 0.01772, 0.01768, 0.01765, 0.01761, \
                 0.01758, 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01101, -0.01101, -0.01101, -0.01098, -0.01095, -0.01096, -0.01096, \
                 -0.01097, -0.01098, -0.01101");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004626, 0.004617, 0.004631, 0.004632, 0.004631, 0.004661, 0.004655, \
                 0.004657, 0.004659, 0.004659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004646, -0.004649, -0.004655, -0.004656, -0.004658, -0.004672, \
                 -0.004676, -0.004675, -0.004678, -0.004684");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0177, 0.01773, 0.01772, 0.01769, 0.01765, 0.01763, 0.0176, 0.01759, \
                 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01099, -0.011, -0.011, -0.01098, -0.01096, -0.01096, -0.01096, \
                 -0.01096, -0.01099, -0.01101");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0177, 0.01773, 0.01774, 0.01771, 0.01767, 0.01766, 0.01763, \
                 0.01759, 0.01757, 0.01755");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.011, -0.01101, -0.01101, -0.01099, -0.01096, -0.01097, -0.01097, \
                 -0.01097, -0.01099, -0.01102");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0177, 0.01773, 0.01774, 0.01771, 0.01768, 0.01766, 0.01763, \
                 0.0176, 0.01757, 0.01755");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.011, -0.01101, -0.01101, -0.01099, -0.01096, -0.01097, -0.01097, \
                 -0.01098, -0.01099, -0.01101");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004636, 0.004627, 0.004641, 0.004639, 0.004642, 0.00467, 0.004665, \
                 0.004667, 0.004668, 0.004669");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004656, -0.004659, -0.004666, -0.004664, -0.004671, -0.004682, \
                 -0.004684, -0.004688, -0.004689, -0.004697");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0177, 0.01773, 0.01772, 0.01769, 0.01766, 0.01763, 0.0176, 0.01758, \
                 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.011, -0.011, -0.011, -0.01097, -0.01095, -0.01096, -0.01097, \
                 -0.01096, -0.01099, -0.011");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0177, 0.01773, 0.01774, 0.01771, 0.01767, 0.01765, 0.01763, \
                 0.01761, 0.01757, 0.01756");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01101, -0.01101, -0.01101, -0.01099, -0.01097, -0.01098, -0.01097, \
                 -0.01097, -0.01099, -0.01101");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0177, 0.01773, 0.01774, 0.01771, 0.01769, 0.01766, 0.01763, \
                 0.0176, 0.01757, 0.01755");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01101, -0.01102, -0.01101, -0.01099, -0.01096, -0.01098, -0.01097, \
                 -0.01098, -0.01099, -0.01101");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004636, 0.004629, 0.004645, 0.004644, 0.004642, 0.004664, 0.004665, \
                 0.004667, 0.00467, 0.004669");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004656, -0.00466, -0.004668, -0.004665, -0.004661, -0.004681, \
                 -0.004684, -0.00469, -0.004692, -0.004696");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004644, 0.004639, 0.004652, 0.004654, 0.004647, 0.004676, 0.004673, \
                 0.004676, 0.004676, 0.004675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004668, -0.004671, -0.00468, -0.00468, -0.004685, -0.004692, \
                 -0.004693, -0.004695, -0.004697, -0.004703");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004644, 0.004638, 0.004652, 0.004652, 0.004647, 0.004679, 0.004673, \
                 0.004676, 0.004676, 0.004675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004668, -0.004671, -0.00468, -0.00468, -0.004682, -0.004692, \
                 -0.004694, -0.004695, -0.004697, -0.004701");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004644, 0.00464, 0.004653, 0.004652, 0.00465, 0.004678, 0.004673, \
                 0.004676, 0.004675, 0.004676");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004668, -0.004671, -0.004672, -0.004677, -0.004676, -0.004691, \
                 -0.004692, -0.004699, -0.004699, -0.004702");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004643, 0.004637, 0.004653, 0.004651, 0.004647, 0.004673, 0.004675, \
                 0.004676, 0.004677, 0.004676");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004667, -0.004672, -0.004681, -0.004677, -0.00468, -0.004696, \
                 -0.004694, -0.004697, -0.0047, -0.004701");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04247, 0.04245, 0.04238, 0.0423, 0.04226, 0.04222, 0.04217, \
                 0.0421, 0.04201, 0.04187");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004662, -0.00467, -0.004669, -0.004669, -0.004668, -0.004685, \
                 -0.00469, -0.004687, -0.004689, -0.00469");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03997, 0.03995, 0.03989, 0.03984, 0.03979, 0.03975, 0.0397, \
                 0.03964, 0.03956, 0.03941");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004672, -0.004681, -0.004679, -0.00468, -0.004677, -0.004695, \
                 -0.004697, -0.004699, -0.004699, -0.004698");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03997, 0.03995, 0.03989, 0.03983, 0.03978, 0.03976, 0.03971, \
                 0.03963, 0.03955, 0.03941");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004673, -0.00468, -0.004679, -0.004681, -0.004683, -0.004696, \
                 -0.004699, -0.004697, -0.004699, -0.004698");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02318, 0.02313, 0.02309, 0.02308, 0.02307, 0.02304, \
                 0.02301, 0.02297, 0.02291");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00468, -0.004689, -0.004687, -0.00469, -0.00469, -0.004702, \
                 -0.004708, -0.004702, -0.004705, -0.004703");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02318, 0.02313, 0.02309, 0.02308, 0.02307, 0.02304, \
                 0.02301, 0.02297, 0.02291");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00468, -0.004689, -0.004687, -0.00469, -0.004692, -0.004703, \
                 -0.004706, -0.004707, -0.004706, -0.004706");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02318, 0.02312, 0.0231, 0.02307, 0.02307, 0.02305, \
                 0.02302, 0.02297, 0.0229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00468, -0.004688, -0.004687, -0.00469, -0.004686, -0.004705, \
                 -0.004706, -0.004701, -0.004703, -0.004703");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02318, 0.02313, 0.02309, 0.02307, 0.02307, 0.02305, \
                 0.02301, 0.02297, 0.0229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00468, -0.004688, -0.004688, -0.004686, -0.004685, -0.0047, \
                 -0.004707, -0.004707, -0.004703, -0.004704");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004595 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01724, 0.01606, 0.01571, 0.01565, 0.0156, 0.01558, 0.01555, \
                 0.01553, 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0157, -0.0157, -0.01571, -0.01566, -0.01561, -0.01558, -0.01555, \
                 -0.01552, -0.0155, -0.0155");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01724, 0.01607, 0.01572, 0.01568, 0.01565, 0.01562, 0.01558, \
                 0.01555, 0.01553, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0157, -0.0157, -0.01572, -0.01569, -0.01564, -0.01561, -0.01556, \
                 -0.01553, -0.01552, -0.0155");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01724, 0.01607, 0.01573, 0.01568, 0.01565, 0.01562, 0.01559, \
                 0.01556, 0.01553, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0157, -0.0157, -0.01572, -0.01569, -0.01564, -0.0156, -0.01556, \
                 -0.01554, -0.01552, -0.01551");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004631, 0.004623, 0.004629, 0.00464, 0.004637, 0.004655, 0.004658, \
                 0.004658, 0.004658, 0.004657");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004651, -0.004658, -0.00466, -0.004656, -0.004661, -0.00467, \
                 -0.004674, -0.004676, -0.004683, -0.004685");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.01607, 0.01572, 0.01566, 0.01562, 0.01561, 0.01558, \
                 0.01555, 0.01553, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01571, -0.0157, -0.01574, -0.0157, -0.01564, -0.01561, -0.01557, \
                 -0.01553, -0.01552, -0.01551");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.01607, 0.01573, 0.01567, 0.01564, 0.01562, 0.0156, \
                 0.01556, 0.01554, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0157, -0.01571, -0.01575, -0.01571, -0.01566, -0.01564, -0.01559, \
                 -0.01555, -0.01553, -0.01552");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.01607, 0.01572, 0.01568, 0.01564, 0.01562, 0.01559, \
                 0.01556, 0.01554, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0157, -0.01571, -0.01575, -0.01571, -0.01566, -0.01564, -0.01559, \
                 -0.01555, -0.01553, -0.01551");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004641, 0.004636, 0.004641, 0.004654, 0.004648, 0.004665, 0.004669, \
                 0.004666, 0.004668, 0.004666");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004657, -0.004667, -0.00467, -0.004665, -0.004671, -0.004682, \
                 -0.004685, -0.004684, -0.004691, -0.004696");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.01607, 0.01571, 0.01565, 0.01562, 0.0156, 0.01557, \
                 0.01554, 0.01553, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01571, -0.01571, -0.01573, -0.0157, -0.01564, -0.01561, -0.01557, \
                 -0.01554, -0.01552, -0.01552");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.01607, 0.01573, 0.01569, 0.01564, 0.01562, 0.0156, \
                 0.01556, 0.01554, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01571, -0.01571, -0.01574, -0.01571, -0.01567, -0.01563, -0.01559, \
                 -0.01556, -0.01553, -0.01551");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.01607, 0.01573, 0.01568, 0.01564, 0.01563, 0.01559, \
                 0.01556, 0.01554, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01571, -0.01571, -0.01574, -0.01571, -0.01567, -0.01563, -0.01559, \
                 -0.01555, -0.01553, -0.01551");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004641, 0.004633, 0.00464, 0.004655, 0.004647, 0.004663, 0.004669, \
                 0.004667, 0.004667, 0.004666");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004661, -0.004668, -0.00467, -0.004667, -0.004667, -0.004683, \
                 -0.004685, -0.004686, -0.00469, -0.004696");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004649, 0.004643, 0.00465, 0.004661, 0.004653, 0.004675, 0.004676, \
                 0.004676, 0.004674, 0.004675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004671, -0.004673, -0.004682, -0.004679, -0.004675, -0.004692, \
                 -0.004694, -0.004697, -0.004699, -0.004702");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004649, 0.004643, 0.004647, 0.004665, 0.004655, 0.004674, 0.004676, \
                 0.004677, 0.004676, 0.004675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004668, -0.004674, -0.004682, -0.004679, -0.004675, -0.00469, \
                 -0.004694, -0.004696, -0.004698, -0.004703");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004649, 0.004643, 0.004647, 0.004659, 0.004654, 0.004674, 0.004676, \
                 0.004674, 0.004676, 0.004674");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004671, -0.004681, -0.004682, -0.004675, -0.00468, -0.004689, \
                 -0.004695, -0.004694, -0.004697, -0.004703");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004649, 0.004643, 0.004648, 0.004664, 0.004654, 0.004673, 0.004676, \
                 0.004677, 0.004676, 0.004672");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004669, -0.004675, -0.004682, -0.004679, -0.00468, -0.004692, \
                 -0.004696, -0.004696, -0.0047, -0.004703");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04247, 0.04247, 0.04237, 0.04231, 0.04226, 0.04224, 0.04218, \
                 0.0421, 0.04201, 0.04188");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00467, -0.00467, -0.004667, -0.004674, -0.004668, -0.004687, \
                 -0.00469, -0.004692, -0.004689, -0.004689");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03997, 0.03995, 0.03989, 0.03983, 0.0398, 0.03976, 0.0397, 0.03963, \
                 0.03955, 0.03941");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004681, -0.00468, -0.004678, -0.004684, -0.004678, -0.004697, \
                 -0.004699, -0.004701, -0.004697, -0.004699");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03997, 0.03994, 0.03989, 0.03982, 0.0398, 0.03976, 0.0397, 0.03964, \
                 0.03955, 0.03942");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004681, -0.00468, -0.00468, -0.004684, -0.00468, -0.004702, \
                 -0.004698, -0.004699, -0.004697, -0.004696");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02318, 0.02313, 0.02311, 0.02308, 0.02307, 0.02305, \
                 0.02302, 0.02297, 0.0229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004689, -0.004688, -0.004686, -0.004696, -0.004692, -0.004709, \
                 -0.004708, -0.004704, -0.004703, -0.004703");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02318, 0.02314, 0.0231, 0.02308, 0.02308, 0.02305, \
                 0.02302, 0.02297, 0.0229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004689, -0.004688, -0.004686, -0.004696, -0.004687, -0.00471, \
                 -0.004708, -0.004704, -0.004703, -0.004704");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02318, 0.02314, 0.02311, 0.02308, 0.02307, 0.02305, \
                 0.02301, 0.02297, 0.02291");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004689, -0.004688, -0.004688, -0.004692, -0.004687, -0.004705, \
                 -0.0047, -0.004702, -0.004703, -0.004703");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0232, 0.02318, 0.02313, 0.02311, 0.02308, 0.02308, 0.02306, \
                 0.02302, 0.02297, 0.0229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004689, -0.004688, -0.004688, -0.00469, -0.004683, -0.004706, \
                 -0.004707, -0.004703, -0.004702, -0.004708");
        }
      }
    }

    pin(B1) {
      capacitance : 0.004481 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01769, 0.0177, 0.01766, 0.01766, 0.01761, 0.01759, 0.01757, \
                 0.01754, 0.01754, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008795, -0.008784, -0.008796, -0.008787, -0.008784, -0.008826, \
                 -0.008832, -0.008859, -0.008884, -0.008909");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01768, 0.01769, 0.01768, 0.01767, 0.01764, 0.01765, 0.0176, \
                 0.01757, 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008812, -0.008796, -0.008802, -0.008816, -0.008807, -0.008841, \
                 -0.008851, -0.00887, -0.00889, -0.008918");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01768, 0.01769, 0.01768, 0.01769, 0.01766, 0.01762, 0.01759, \
                 0.0176, 0.01755, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008809, -0.00881, -0.008807, -0.008816, -0.008808, -0.008844, \
                 -0.008849, -0.008869, -0.008889, -0.008918");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00568, 0.005668, 0.005691, 0.005684, 0.005681, 0.00571, 0.005715, \
                 0.005714, 0.005712, 0.005711");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00573, -0.00573, -0.005734, -0.005736, -0.005738, -0.005756, \
                 -0.005764, -0.00577, -0.005775, -0.005786");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01608, 0.01608, 0.01609, 0.0161, 0.01607, 0.01605, 0.01601, \
                 0.01595, 0.01588, 0.01576");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005741, -0.005739, -0.005745, -0.005749, -0.005744, -0.005773, \
                 -0.005779, -0.005773, -0.005779, -0.005791");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01771, 0.01768, 0.01765, 0.01765, 0.01762, 0.0176, 0.01758, \
                 0.01756, 0.01755, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008777, -0.008767, -0.00877, -0.008772, -0.008782, -0.008824, \
                 -0.008831, -0.008848, -0.008871, -0.008905");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01769, 0.01767, 0.01767, 0.01767, 0.01765, 0.01763, 0.01759, \
                 0.01756, 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008798, -0.008796, -0.008797, -0.008801, -0.008795, -0.008836, \
                 -0.008849, -0.008862, -0.008885, -0.008922");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01769, 0.01767, 0.01767, 0.01767, 0.01765, 0.01762, 0.01758, \
                 0.01756, 0.01755, 0.01755");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008799, -0.008792, -0.008795, -0.008802, -0.00879, -0.008827, \
                 -0.008842, -0.008863, -0.008888, -0.008919");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005692, 0.00568, 0.005696, 0.005701, 0.005694, 0.005722, 0.005726, \
                 0.005725, 0.005721, 0.005725");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005744, -0.005741, -0.005756, -0.005751, -0.005758, -0.005774, \
                 -0.005779, -0.005784, -0.005794, -0.005804");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01592, 0.01591, 0.01592, 0.01593, 0.01589, 0.01588, 0.01585, \
                 0.01579, 0.0157, 0.01558");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005754, -0.005753, -0.005756, -0.005762, -0.005754, -0.005782, \
                 -0.005789, -0.005788, -0.005794, -0.005805");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01771, 0.01768, 0.01765, 0.01765, 0.01762, 0.0176, 0.01758, \
                 0.01756, 0.01754, 0.01753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008788, -0.008767, -0.008771, -0.008773, -0.008781, -0.008823, \
                 -0.008829, -0.008847, -0.008872, -0.008905");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01769, 0.01767, 0.01767, 0.01768, 0.01766, 0.01762, 0.0176, \
                 0.01758, 0.01756, 0.01755");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00881, -0.00879, -0.008792, -0.008799, -0.008784, -0.008834, \
                 -0.008839, -0.008854, -0.008888, -0.008918");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01769, 0.01767, 0.01767, 0.01767, 0.01766, 0.01762, 0.01759, \
                 0.01757, 0.01756, 0.01755");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008797, -0.008802, -0.008791, -0.008802, -0.008782, -0.008828, \
                 -0.008841, -0.008855, -0.008887, -0.008919");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005692, 0.005681, 0.0057, 0.005706, 0.005694, 0.005727, 0.005725, \
                 0.005723, 0.005726, 0.005726");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005744, -0.005741, -0.005749, -0.005748, -0.005755, -0.005774, \
                 -0.00578, -0.005784, -0.005791, -0.005807");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01592, 0.01591, 0.01592, 0.01591, 0.0159, 0.01588, 0.01585, \
                 0.01578, 0.0157, 0.01559");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005754, -0.005748, -0.005765, -0.005762, -0.005756, -0.005779, \
                 -0.00579, -0.005789, -0.005794, -0.005805");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01557, 0.01555, 0.01549, 0.01549, 0.01548, 0.0155, 0.01549, \
                 0.01551, 0.0155, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01551, -0.01549, -0.01546, -0.01543, -0.01543, -0.01544, -0.01545, \
                 -0.01545, -0.01544, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01555, 0.01553, 0.0155, 0.01549, 0.01548, 0.01551, 0.0155, 0.01551, \
                 0.01551, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01551, -0.01549, -0.01548, -0.01543, -0.01543, -0.01546, -0.01546, \
                 -0.01545, -0.01545, -0.01548");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01555, 0.01552, 0.01552, 0.01549, 0.01548, 0.0155, 0.0155, 0.0155, \
                 0.01551, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01551, -0.01549, -0.01548, -0.01543, -0.01544, -0.01546, -0.01547, \
                 -0.01545, -0.01549, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008596, 0.008586, 0.008585, 0.008616, 0.008607, 0.008632, 0.008625, \
                 0.00864, 0.008626, 0.008632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009406, -0.009378, -0.009411, -0.009405, -0.009413, -0.009441, \
                 -0.009441, -0.009442, -0.009445, -0.009446");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.01552, 0.01548, 0.01547, 0.01548, 0.01549, 0.01552, \
                 0.01551, 0.01549, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0129, -0.0131, -0.01376, -0.01432, -0.01465, -0.01482, -0.01492, \
                 -0.01498, -0.01501, -0.01505");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.01551, 0.0155, 0.01549, 0.01547, 0.0155, 0.01551, 0.01549, \
                 0.01551, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01287, -0.01299, -0.0136, -0.01419, -0.01455, -0.01479, -0.0149, \
                 -0.01497, -0.01502, -0.01505");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01552, 0.01551, 0.0155, 0.01549, 0.01547, 0.01549, 0.01551, \
                 0.01551, 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01287, -0.01299, -0.0136, -0.0142, -0.01454, -0.01478, -0.0149, \
                 -0.01497, -0.01501, -0.01505");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00905, 0.009041, 0.009062, 0.009072, 0.009068, 0.009085, 0.009094, \
                 0.009093, 0.00909, 0.009091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01004, -0.01002, -0.01003, -0.01002, -0.01001, -0.01007, -0.01005, \
                 -0.01006, -0.01006, -0.01007");
        }
      }
    }

    pin(B2) {
      capacitance : 0.004356 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.01591, 0.01562, 0.0156, 0.01558, 0.01558, 0.01554, \
                 0.01551, 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01565, -0.01562, -0.01564, -0.01561, -0.01556, -0.01555, -0.01552, \
                 -0.0155, -0.01549, -0.01548");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01721, 0.01592, 0.01565, 0.01563, 0.01558, 0.01559, 0.01556, \
                 0.01553, 0.01553, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01566, -0.01565, -0.01566, -0.01564, -0.01561, -0.0156, -0.01557, \
                 -0.01552, -0.01551, -0.0155");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01721, 0.01592, 0.01565, 0.01563, 0.01558, 0.01559, 0.01556, \
                 0.01554, 0.01553, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01566, -0.01564, -0.01566, -0.01564, -0.01561, -0.0156, -0.01556, \
                 -0.01553, -0.01551, -0.0155");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005689, 0.005677, 0.005689, 0.005688, 0.005689, 0.005715, 0.00571, \
                 0.005713, 0.005719, 0.005716");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00573, -0.005729, -0.005742, -0.005734, -0.005739, -0.005756, \
                 -0.005765, -0.005768, -0.005779, -0.005787");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01609, 0.01608, 0.0161, 0.01609, 0.01607, 0.01606, 0.01601, \
                 0.01595, 0.01587, 0.01576");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005739, -0.005737, -0.00574, -0.005748, -0.005741, -0.005773, \
                 -0.005775, -0.005781, -0.005782, -0.005794");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01726, 0.01591, 0.0156, 0.01562, 0.01555, 0.01557, 0.01554, \
                 0.01552, 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01564, -0.0156, -0.0156, -0.0156, -0.01556, -0.01555, -0.01551, \
                 -0.01549, -0.01549, -0.01548");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.0159, 0.01564, 0.01562, 0.01559, 0.01559, 0.01556, \
                 0.01553, 0.01553, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01563, -0.01563, -0.01564, -0.01563, -0.01558, -0.01557, -0.01555, \
                 -0.01552, -0.01551, -0.01549");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.0159, 0.01564, 0.01562, 0.01559, 0.01559, 0.01556, \
                 0.01553, 0.01552, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01563, -0.01563, -0.01565, -0.01563, -0.01559, -0.01558, -0.01555, \
                 -0.01552, -0.0155, -0.01549");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005703, 0.005689, 0.005703, 0.005698, 0.005701, 0.005728, 0.005723, \
                 0.005727, 0.005732, 0.005727");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005745, -0.005744, -0.005752, -0.00575, -0.005754, -0.005771, \
                 -0.005783, -0.005786, -0.005793, -0.0058");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01592, 0.01591, 0.01593, 0.01592, 0.01589, 0.01589, 0.01584, \
                 0.01578, 0.0157, 0.01559");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005752, -0.00575, -0.005753, -0.005761, -0.005755, -0.005784, \
                 -0.005788, -0.00579, -0.005795, -0.005803");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01726, 0.01591, 0.01561, 0.01561, 0.01555, 0.01557, 0.01554, \
                 0.01552, 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01564, -0.0156, -0.01562, -0.0156, -0.01557, -0.01556, -0.01551, \
                 -0.0155, -0.01549, -0.01548");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.0159, 0.01565, 0.01564, 0.01559, 0.01559, 0.01556, \
                 0.01553, 0.01552, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01564, -0.01562, -0.01562, -0.01564, -0.01558, -0.01558, -0.01554, \
                 -0.01553, -0.0155, -0.01549");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01723, 0.0159, 0.01565, 0.01564, 0.01559, 0.01559, 0.01556, \
                 0.01554, 0.01552, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01564, -0.01562, -0.01562, -0.01562, -0.01559, -0.01558, -0.01555, \
                 -0.01553, -0.01552, -0.0155");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005702, 0.005689, 0.005704, 0.0057, 0.005702, 0.005728, 0.005723, \
                 0.005725, 0.00573, 0.00573");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005745, -0.005744, -0.005749, -0.00575, -0.005754, -0.00577, \
                 -0.005779, -0.005788, -0.005796, -0.0058");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01592, 0.01592, 0.01593, 0.01592, 0.0159, 0.01588, 0.01584, \
                 0.01578, 0.0157, 0.01559");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005753, -0.00575, -0.005753, -0.005758, -0.005758, -0.005784, \
                 -0.005788, -0.005793, -0.005797, -0.005802");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01558, 0.01555, 0.01551, 0.01549, 0.01548, 0.01552, 0.01551, \
                 0.0155, 0.01549, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0155, -0.01549, -0.01546, -0.01543, -0.01542, -0.01546, -0.01545, \
                 -0.01544, -0.01547, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01555, 0.01554, 0.0155, 0.0155, 0.01548, 0.01551, 0.01551, 0.01551, \
                 0.01549, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01551, -0.01547, -0.01547, -0.01545, -0.01544, -0.01546, -0.01546, \
                 -0.01544, -0.01544, -0.01546");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01555, 0.01554, 0.0155, 0.0155, 0.01548, 0.01551, 0.01551, 0.01551, \
                 0.0155, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01551, -0.01547, -0.01548, -0.01545, -0.01543, -0.01546, -0.01546, \
                 -0.01545, -0.01545, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008589, 0.008594, 0.008588, 0.008602, 0.008598, 0.008629, 0.008632, \
                 0.008629, 0.008632, 0.008635");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0094, -0.009377, -0.009405, -0.009408, -0.009417, -0.009446, \
                 -0.009443, -0.009445, -0.009446, -0.009442");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.01551, 0.0155, 0.01549, 0.01548, 0.01551, 0.0155, 0.01551, \
                 0.01549, 0.01547");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0129, -0.01309, -0.01377, -0.01432, -0.01462, -0.01483, -0.01492, \
                 -0.01499, -0.01502, -0.01505");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01552, 0.0155, 0.0155, 0.01548, 0.01548, 0.0155, 0.0155, 0.01551, \
                 0.01551, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01287, -0.01299, -0.01359, -0.0142, -0.01456, -0.01478, -0.01489, \
                 -0.01496, -0.015, -0.01505");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01552, 0.0155, 0.0155, 0.0155, 0.01548, 0.01551, 0.01551, 0.0155, \
                 0.0155, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01287, -0.01299, -0.01358, -0.0142, -0.01456, -0.01478, -0.0149, \
                 -0.01496, -0.01501, -0.01505");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009057, 0.00904, 0.009061, 0.009081, 0.009074, 0.009094, 0.009094, \
                 0.009093, 0.009089, 0.009092");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01005, -0.01002, -0.01002, -0.01003, -0.01002, -0.01007, -0.01007, \
                 -0.01006, -0.01007, -0.01007");
        }
      }
    }

    pin(C1) {
      capacitance : 0.004512 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01765, 0.01764, 0.01763, 0.0176, 0.01761, 0.01759, 0.01755, \
                 0.01753, 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01204, -0.01203, -0.01206, -0.01206, -0.01206, -0.0121, -0.01211, \
                 -0.01212, -0.01214, -0.01217");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01766, 0.01763, 0.0176, 0.01762, 0.01759, 0.01762, 0.01757, \
                 0.01755, 0.01755, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01205, -0.01204, -0.01203, -0.01205, -0.01206, -0.01209, -0.01211, \
                 -0.01212, -0.01214, -0.01216");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01765, 0.01762, 0.0176, 0.01761, 0.01759, 0.01759, 0.01756, \
                 0.01755, 0.01756, 0.01756");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01205, -0.01204, -0.01203, -0.01205, -0.01206, -0.01209, -0.01211, \
                 -0.01212, -0.01214, -0.01216");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.01553, 0.01548, 0.01549, 0.01546, 0.01549, 0.01549, \
                 0.0155, 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01543, -0.01542, -0.01542, -0.01541, -0.0154, -0.01544, -0.01545, \
                 -0.01545, -0.01549, -0.01544");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01551, 0.01549, 0.01547, 0.01549, 0.01549, 0.01552, 0.01552, \
                 0.01549, 0.01549, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01279, -0.01325, -0.01403, -0.01447, -0.01468, -0.01486, -0.01494, \
                 -0.01499, -0.01503, -0.01506");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01764, 0.01762, 0.01763, 0.01761, 0.01761, 0.0176, 0.01757, \
                 0.01755, 0.01756, 0.01755");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01204, -0.01204, -0.01205, -0.01204, -0.01206, -0.01209, -0.01212, \
                 -0.01212, -0.01214, -0.01217");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01765, 0.01761, 0.01761, 0.01761, 0.01759, 0.01762, 0.01757, \
                 0.01755, 0.01755, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01205, -0.01203, -0.01203, -0.01204, -0.01205, -0.01209, -0.01211, \
                 -0.01212, -0.01214, -0.01217");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01764, 0.01761, 0.01761, 0.01761, 0.01759, 0.01761, 0.01757, \
                 0.01757, 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01205, -0.01203, -0.01203, -0.01204, -0.01205, -0.01209, -0.01211, \
                 -0.01212, -0.01214, -0.01216");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01554, 0.01553, 0.01548, 0.01549, 0.01546, 0.01549, 0.01549, \
                 0.0155, 0.01551, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01542, -0.01542, -0.01543, -0.01541, -0.01542, -0.01545, -0.01544, \
                 -0.01544, -0.01547, -0.01545");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01551, 0.01549, 0.01547, 0.01549, 0.01549, 0.01551, 0.01552, \
                 0.0155, 0.01552, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01279, -0.01325, -0.01403, -0.01447, -0.01468, -0.01486, -0.01494, \
                 -0.01499, -0.01503, -0.01505");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01765, 0.01762, 0.01763, 0.01761, 0.0176, 0.0176, 0.01758, 0.01756, \
                 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01204, -0.01204, -0.01205, -0.01205, -0.01207, -0.01209, -0.01211, \
                 -0.01212, -0.01215, -0.01217");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01765, 0.01761, 0.01761, 0.01761, 0.01759, 0.01761, 0.01757, \
                 0.01756, 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01205, -0.01203, -0.01203, -0.01204, -0.01205, -0.01209, -0.01211, \
                 -0.01211, -0.01214, -0.01217");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01764, 0.01761, 0.01761, 0.0176, 0.01759, 0.01761, 0.01756, \
                 0.01757, 0.01756, 0.01754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01205, -0.01203, -0.01202, -0.01204, -0.01205, -0.01209, -0.01212, \
                 -0.01212, -0.01214, -0.01217");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.01553, 0.01548, 0.01547, 0.01546, 0.0155, 0.0155, 0.01551, \
                 0.01553, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01543, -0.01542, -0.01541, -0.01541, -0.0154, -0.01544, -0.01543, \
                 -0.01544, -0.01544, -0.01544");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01551, 0.01549, 0.01547, 0.01549, 0.01549, 0.0155, 0.01551, \
                 0.01551, 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01279, -0.01325, -0.01403, -0.01447, -0.0147, -0.01485, -0.01494, \
                 -0.01499, -0.01503, -0.01506");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0155, 0.01553, 0.01549, 0.0155, 0.01547, 0.01551, 0.01549, 0.0155, \
                 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01544, -0.01544, -0.01543, -0.01543, -0.01542, -0.01546, -0.01547, \
                 -0.01545, -0.01545, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01552, 0.0155, 0.01552, 0.01549, 0.01549, 0.01552, 0.01553, \
                 0.01553, 0.01552, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01224, -0.01254, -0.01313, -0.01374, -0.01414, -0.01444, -0.01461, \
                 -0.01471, -0.01478, -0.01484");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01552, 0.01552, 0.01549, 0.01549, 0.01546, 0.01551, 0.01549, \
                 0.01551, 0.01551, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01544, -0.01543, -0.01543, -0.0154, -0.0154, -0.01545, -0.01545, \
                 -0.01544, -0.01545, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01551, 0.0155, 0.01549, 0.01551, 0.0155, 0.01552, 0.01552, 0.0155, \
                 0.01552, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01249, -0.01283, -0.01344, -0.01395, -0.0143, -0.01456, -0.0147, \
                 -0.0148, -0.01485, -0.01491");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.01551, 0.01549, 0.01549, 0.01545, 0.01549, 0.0155, \
                 0.01549, 0.0155, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01544, -0.01543, -0.01544, -0.0154, -0.01542, -0.01544, -0.01545, \
                 -0.01544, -0.01545, -0.01544");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01551, 0.0155, 0.01551, 0.0155, 0.01549, 0.01551, 0.01552, 0.01552, \
                 0.01551, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01249, -0.01283, -0.01344, -0.01394, -0.01429, -0.01456, -0.0147, \
                 -0.0148, -0.01486, -0.01491");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.01553, 0.01548, 0.01551, 0.01547, 0.01551, 0.01551, \
                 0.0155, 0.01551, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01542, -0.01542, -0.01541, -0.0154, -0.0154, -0.01544, -0.01545, \
                 -0.01545, -0.01544, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01551, 0.01549, 0.01548, 0.0155, 0.01549, 0.01551, 0.01553, \
                 0.0155, 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01279, -0.01325, -0.01403, -0.01447, -0.0147, -0.01486, -0.01494, \
                 -0.01499, -0.01502, -0.01507");
        }
      }
    }

    pin(C2) {
      capacitance : 0.004556 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01719, 0.01599, 0.01561, 0.01556, 0.01553, 0.01554, 0.01552, \
                 0.01551, 0.0155, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01556, -0.01551, -0.01555, -0.01553, -0.0155, -0.0155, -0.01549, \
                 -0.01548, -0.01548, -0.01548");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01719, 0.01597, 0.01561, 0.01557, 0.01552, 0.01553, 0.01551, \
                 0.0155, 0.0155, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01556, -0.0155, -0.0155, -0.01553, -0.01549, -0.0155, -0.01549, \
                 -0.01547, -0.01548, -0.01547");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01719, 0.01597, 0.01561, 0.01556, 0.01552, 0.01553, 0.01551, \
                 0.0155, 0.0155, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01556, -0.01551, -0.0155, -0.01553, -0.01549, -0.01551, -0.01548, \
                 -0.01548, -0.01547, -0.01547");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01554, 0.0155, 0.01548, 0.0155, 0.01546, 0.01551, 0.01551, 0.0155, \
                 0.01552, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01547, -0.01541, -0.0154, -0.01541, -0.01541, -0.01544, -0.01545, \
                 -0.01544, -0.01546, -0.01544");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0155, 0.01548, 0.01548, 0.01548, 0.01549, 0.01551, 0.01552, \
                 0.01549, 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0128, -0.01324, -0.01402, -0.01449, -0.01468, -0.01484, -0.01494, \
                 -0.01499, -0.01503, -0.01506");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01719, 0.01597, 0.01561, 0.01556, 0.01552, 0.01554, 0.01551, \
                 0.0155, 0.01551, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01555, -0.0155, -0.01553, -0.01552, -0.01549, -0.01549, -0.01549, \
                 -0.01547, -0.01547, -0.01546");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01719, 0.01595, 0.0156, 0.01555, 0.01551, 0.01554, 0.01553, \
                 0.01551, 0.01551, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01554, -0.01548, -0.01551, -0.0155, -0.01549, -0.0155, -0.01548, \
                 -0.01548, -0.01546, -0.01546");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01719, 0.01595, 0.0156, 0.01555, 0.0155, 0.01555, 0.01551, 0.01551, \
                 0.01552, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01555, -0.01549, -0.0155, -0.01551, -0.01549, -0.0155, -0.01549, \
                 -0.01548, -0.01547, -0.01546");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.0155, 0.01548, 0.01549, 0.01546, 0.01551, 0.01551, \
                 0.01551, 0.01552, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01547, -0.01541, -0.0154, -0.01541, -0.01541, -0.01544, -0.01545, \
                 -0.01544, -0.01544, -0.01544");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0155, 0.01548, 0.0155, 0.01548, 0.01549, 0.0155, 0.01552, 0.0155, \
                 0.01551, 0.0155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0128, -0.01324, -0.01402, -0.01449, -0.01468, -0.01485, -0.01494, \
                 -0.01499, -0.01503, -0.01506");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01719, 0.01597, 0.01561, 0.01556, 0.01552, 0.01554, 0.01551, \
                 0.0155, 0.01551, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01555, -0.0155, -0.01553, -0.01552, -0.01549, -0.01549, -0.01548, \
                 -0.01547, -0.01547, -0.01546");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01719, 0.01595, 0.0156, 0.01555, 0.0155, 0.01553, 0.01551, 0.01551, \
                 0.01552, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01554, -0.01548, -0.0155, -0.0155, -0.01548, -0.0155, -0.01549, \
                 -0.01547, -0.01547, -0.01546");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01719, 0.01595, 0.0156, 0.01555, 0.01551, 0.01554, 0.01551, \
                 0.01551, 0.01551, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01554, -0.01548, -0.0155, -0.0155, -0.01549, -0.0155, -0.01549, \
                 -0.01548, -0.01546, -0.01546");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.0155, 0.01548, 0.01549, 0.01546, 0.01551, 0.01551, \
                 0.0155, 0.01552, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01547, -0.01541, -0.0154, -0.01541, -0.01541, -0.01544, -0.01545, \
                 -0.01544, -0.01546, -0.01544");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0155, 0.01548, 0.0155, 0.01547, 0.0155, 0.0155, 0.01552, 0.0155, \
                 0.01551, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01281, -0.01324, -0.01404, -0.01448, -0.01468, -0.01485, -0.01493, \
                 -0.015, -0.01503, -0.01506");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01554, 0.01549, 0.01549, 0.01549, 0.01547, 0.01551, 0.01549, \
                 0.0155, 0.0155, 0.01548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01549, -0.01543, -0.01542, -0.01542, -0.01542, -0.01545, -0.01546, \
                 -0.01545, -0.01544, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.0155, 0.01554, 0.01552, 0.01549, 0.01552, 0.01552, \
                 0.01553, 0.01551, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01228, -0.01254, -0.01317, -0.01373, -0.01414, -0.01443, -0.0146, \
                 -0.01471, -0.01478, -0.01484");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01554, 0.0155, 0.01549, 0.0155, 0.01546, 0.01551, 0.0155, 0.01549, \
                 0.0155, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01548, -0.01542, -0.01543, -0.0154, -0.01541, -0.01545, -0.01545, \
                 -0.01545, -0.01546, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01552, 0.01549, 0.01552, 0.0155, 0.0155, 0.01552, 0.01552, 0.01553, \
                 0.01551, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01253, -0.01282, -0.01343, -0.01395, -0.0143, -0.01456, -0.01471, \
                 -0.01479, -0.01486, -0.01492");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01554, 0.01549, 0.01549, 0.0155, 0.01545, 0.01552, 0.0155, 0.01549, \
                 0.0155, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01548, -0.01542, -0.01543, -0.0154, -0.01541, -0.01545, -0.01545, \
                 -0.01545, -0.01545, -0.01545");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01551, 0.01549, 0.01552, 0.0155, 0.01548, 0.01551, 0.01553, \
                 0.01552, 0.01552, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01253, -0.01282, -0.01342, -0.01394, -0.01431, -0.01456, -0.01471, \
                 -0.01479, -0.01486, -0.01491");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01553, 0.0155, 0.01548, 0.01549, 0.01546, 0.01551, 0.01551, \
                 0.0155, 0.01552, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01547, -0.01541, -0.0154, -0.01541, -0.01541, -0.01543, -0.01545, \
                 -0.01544, -0.01545, -0.01544");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0155, 0.01547, 0.01549, 0.01548, 0.01549, 0.0155, 0.01551, 0.0155, \
                 0.01551, 0.01549");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01281, -0.01324, -0.01402, -0.01448, -0.01467, -0.01485, -0.01494, \
                 -0.01499, -0.01503, -0.01506");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1)&(!C1))|((!A1)&(!B1)&(!C2))|((!A1)&(!B2)&(!C1))|((!A1)&(!B2)&(!C2))|((!A2)&(!B1)&(!C1))|((!A2)&(!B1)&(!C2))|((!A2)&(!B2)&(!C1))|((!A2)&(!B2)&(!C2)))" ;
      max_capacitance : 0.173 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004069, 0.004158, 0.004274, 0.004347, 0.004394, 0.004422, 0.004442, 0.004464, 0.00447, 0.004478",\
                 "0.003869, 0.004021, 0.004297, 0.004551, 0.004716, 0.004817, 0.004875, 0.004909, 0.004943, 0.004951",\
                 "0.005089, 0.005136, 0.005249, 0.005418, 0.005528, 0.0056, 0.005658, 0.005689, 0.005723, 0.005731",\
                 "0.009711, 0.009459, 0.008902, 0.008293, 0.007795, 0.007411, 0.007124, 0.006901, 0.006735, 0.00663",\
                 "0.01919, 0.01858, 0.01693, 0.015, 0.01327, 0.01184, 0.01071, 0.009841, 0.009158, 0.008626",\
                 "0.03475, 0.03373, 0.03078, 0.02703, 0.02347, 0.02045, 0.01791, 0.01587, 0.01424, 0.01291",\
                 "0.05686, 0.05543, 0.05127, 0.04552, 0.03965, 0.03447, 0.03001, 0.02628, 0.02319, 0.02064",\
                 "0.08595, 0.0842, 0.07887, 0.07112, 0.06272, 0.05489, 0.04803, 0.04217, 0.03714, 0.03289",\
                 "0.1224, 0.1203, 0.114, 0.1043, 0.09339, 0.08267, 0.07289, 0.06442, 0.05698, 0.05054",\
                 "0.1665, 0.1641, 0.1568, 0.1454, 0.132, 0.1183, 0.1054, 0.09388, 0.08366, 0.07471");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.07166, 0.0718, 0.07214, 0.07248, 0.07285, 0.07322, 0.0735, 0.07395, 0.07429, 0.07602",\
                 "0.07036, 0.07062, 0.07127, 0.07199, 0.07262, 0.07316, 0.07363, 0.07415, 0.07461, 0.07643",\
                 "0.07064, 0.07066, 0.07088, 0.07141, 0.07209, 0.07276, 0.0733, 0.07392, 0.07491, 0.07699",\
                 "0.0766, 0.07627, 0.0753, 0.07436, 0.07401, 0.07388, 0.07422, 0.07438, 0.07527, 0.07718",\
                 "0.08859, 0.08783, 0.08579, 0.08322, 0.08084, 0.0792, 0.07798, 0.07765, 0.07744, 0.0794",\
                 "0.1071, 0.106, 0.1027, 0.09847, 0.0942, 0.09022, 0.08693, 0.08481, 0.08335, 0.0852",\
                 "0.1327, 0.1312, 0.1268, 0.1207, 0.1142, 0.1083, 0.1025, 0.09794, 0.09453, 0.09577",\
                 "0.1661, 0.1642, 0.1586, 0.1507, 0.1419, 0.1336, 0.1256, 0.1182, 0.1125, 0.1132",\
                 "0.2076, 0.2053, 0.1986, 0.1886, 0.1777, 0.1667, 0.1561, 0.1466, 0.1384, 0.1402",\
                 "0.2576, 0.2551, 0.2474, 0.2357, 0.2221, 0.2083, 0.1953, 0.1829, 0.1738, 0.1809");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004085, 0.004156, 0.004282, 0.004373, 0.004414, 0.004434, 0.004451, 0.004469, 0.004472, 0.004478",\
                 "0.003897, 0.004037, 0.004338, 0.004598, 0.004762, 0.004853, 0.004908, 0.004931, 0.004971, 0.004986",\
                 "0.005313, 0.005357, 0.005466, 0.005629, 0.005733, 0.005795, 0.005852, 0.005874, 0.005902, 0.005909",\
                 "0.009892, 0.00967, 0.009149, 0.008585, 0.008099, 0.007742, 0.007452, 0.007243, 0.007082, 0.006975",\
                 "0.01842, 0.01788, 0.01644, 0.01474, 0.01319, 0.01193, 0.01088, 0.01006, 0.00944, 0.008929",\
                 "0.0321, 0.03122, 0.02866, 0.02543, 0.02236, 0.01966, 0.01742, 0.0156, 0.01412, 0.01289",\
                 "0.05168, 0.05045, 0.04681, 0.04177, 0.03665, 0.03215, 0.02821, 0.02489, 0.02214, 0.01989",\
                 "0.07764, 0.07606, 0.07133, 0.06453, 0.05716, 0.05026, 0.04424, 0.03904, 0.0346, 0.03081",\
                 "0.1103, 0.1085, 0.1027, 0.09414, 0.08437, 0.07492, 0.06638, 0.05883, 0.0523, 0.04662",\
                 "0.15, 0.1479, 0.1411, 0.1309, 0.119, 0.1067, 0.09527, 0.08502, 0.07608, 0.06818");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.07171, 0.07186, 0.07222, 0.07259, 0.07288, 0.07322, 0.07359, 0.07401, 0.07505, 0.08331",\
                 "0.0704, 0.07067, 0.07135, 0.07208, 0.07271, 0.07322, 0.07372, 0.07424, 0.07563, 0.08339",\
                 "0.07059, 0.07062, 0.07087, 0.0714, 0.07212, 0.07279, 0.07336, 0.07404, 0.07548, 0.0836",\
                 "0.07626, 0.07589, 0.07504, 0.07419, 0.07377, 0.07384, 0.07412, 0.07447, 0.07574, 0.08466",\
                 "0.08748, 0.08676, 0.08488, 0.08235, 0.08011, 0.07863, 0.07755, 0.07704, 0.07818, 0.08788",\
                 "0.1044, 0.1034, 0.1005, 0.09648, 0.09241, 0.08866, 0.08573, 0.08374, 0.08379, 0.0949",\
                 "0.1277, 0.1264, 0.1223, 0.1169, 0.111, 0.1052, 0.0999, 0.09584, 0.09455, 0.1078",\
                 "0.158, 0.1563, 0.1512, 0.1441, 0.1363, 0.1286, 0.1209, 0.1143, 0.112, 0.1292",\
                 "0.1958, 0.1937, 0.1875, 0.1786, 0.1687, 0.1589, 0.1493, 0.1402, 0.1375, 0.1624",\
                 "0.2414, 0.239, 0.2317, 0.2211, 0.2091, 0.1968, 0.1848, 0.1745, 0.1744, 0.2154");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004093, 0.004156, 0.004284, 0.004379, 0.004434, 0.004456, 0.004461, 0.004471, 0.004473, 0.004477",\
                 "0.00391, 0.004045, 0.004331, 0.004603, 0.004777, 0.004874, 0.004918, 0.004936, 0.004971, 0.004984",\
                 "0.005322, 0.005362, 0.005472, 0.005633, 0.005736, 0.005807, 0.005865, 0.005875, 0.005901, 0.005907",\
                 "0.009864, 0.009643, 0.009155, 0.008579, 0.008096, 0.007742, 0.007458, 0.007247, 0.007083, 0.006972",\
                 "0.01832, 0.01781, 0.0164, 0.01473, 0.01319, 0.01192, 0.01088, 0.01006, 0.009432, 0.008928",\
                 "0.03191, 0.03106, 0.02858, 0.02539, 0.02234, 0.01965, 0.01742, 0.01559, 0.01411, 0.01289",\
                 "0.05141, 0.05021, 0.04664, 0.04171, 0.03661, 0.03209, 0.02819, 0.02488, 0.02212, 0.01984",\
                 "0.07728, 0.07575, 0.07111, 0.06439, 0.05708, 0.0502, 0.04419, 0.03902, 0.03458, 0.0308",\
                 "0.1099, 0.1081, 0.1023, 0.09395, 0.08426, 0.07485, 0.06631, 0.05879, 0.05227, 0.0466",\
                 "0.1495, 0.1474, 0.1408, 0.1306, 0.1188, 0.1066, 0.09522, 0.08498, 0.07603, 0.0681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.08811, 0.08823, 0.08852, 0.08885, 0.0892, 0.0896, 0.08999, 0.09056, 0.09174, 0.1003",\
                 "0.08708, 0.08729, 0.08783, 0.08844, 0.089, 0.0896, 0.09015, 0.09076, 0.0922, 0.1005",\
                 "0.0869, 0.08699, 0.08727, 0.0878, 0.08841, 0.08914, 0.08992, 0.09053, 0.09206, 0.1009",\
                 "0.09179, 0.09152, 0.09087, 0.09024, 0.08999, 0.09013, 0.09042, 0.09086, 0.09224, 0.1018",\
                 "0.1023, 0.1018, 0.1001, 0.09799, 0.0961, 0.09475, 0.09401, 0.09343, 0.09464, 0.1051",\
                 "0.1186, 0.1177, 0.1153, 0.1117, 0.1079, 0.1046, 0.1019, 0.09996, 0.1002, 0.112",\
                 "0.1413, 0.1401, 0.1367, 0.1317, 0.1262, 0.1208, 0.1159, 0.112, 0.1111, 0.1249",\
                 "0.171, 0.1694, 0.165, 0.1584, 0.1511, 0.1436, 0.1365, 0.1303, 0.1284, 0.1461",\
                 "0.2081, 0.2062, 0.2007, 0.1926, 0.1832, 0.1738, 0.1644, 0.1558, 0.154, 0.1798",\
                 "0.2531, 0.2509, 0.2444, 0.2346, 0.2232, 0.2114, 0.1998, 0.1896, 0.1907, 0.2331");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004138, 0.004225, 0.004345, 0.004421, 0.004474, 0.004487, 0.004508, 0.004521, 0.00453, 0.004536",\
                 "0.004088, 0.004215, 0.004515, 0.004774, 0.004924, 0.005028, 0.00509, 0.005135, 0.005159, 0.005175",\
                 "0.005484, 0.005543, 0.00567, 0.00583, 0.005945, 0.006018, 0.00607, 0.0061, 0.006115, 0.006144",\
                 "0.009732, 0.009536, 0.009072, 0.008592, 0.008129, 0.007785, 0.007534, 0.007341, 0.007189, 0.007082",\
                 "0.01813, 0.01762, 0.01623, 0.01458, 0.01308, 0.01183, 0.01085, 0.01004, 0.009429, 0.008947",\
                 "0.03189, 0.03103, 0.02848, 0.02523, 0.02216, 0.0195, 0.01728, 0.01548, 0.01403, 0.01284",\
                 "0.05164, 0.05038, 0.0467, 0.04165, 0.03649, 0.03197, 0.02805, 0.02474, 0.02202, 0.01976",\
                 "0.07774, 0.07615, 0.07133, 0.06446, 0.05706, 0.05013, 0.0441, 0.03888, 0.03445, 0.03068",\
                 "0.1106, 0.1086, 0.1028, 0.09417, 0.08439, 0.07483, 0.06627, 0.05877, 0.05216, 0.04648",\
                 "0.1504, 0.1482, 0.1414, 0.1311, 0.119, 0.1067, 0.09518, 0.08497, 0.07597, 0.06801");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.07167, 0.07182, 0.07218, 0.07254, 0.07288, 0.07322, 0.07362, 0.07385, 0.075, 0.08281",\
                 "0.07032, 0.07058, 0.0713, 0.07203, 0.07265, 0.07322, 0.07375, 0.07431, 0.07531, 0.08315",\
                 "0.07039, 0.07043, 0.07072, 0.0713, 0.07199, 0.07266, 0.07329, 0.07378, 0.07507, 0.08345",\
                 "0.07584, 0.07553, 0.07468, 0.07391, 0.07357, 0.07361, 0.07385, 0.07414, 0.07549, 0.08452",\
                 "0.08681, 0.08615, 0.08433, 0.08191, 0.07974, 0.07823, 0.07729, 0.07694, 0.07734, 0.08756",\
                 "0.1036, 0.1026, 0.09971, 0.09591, 0.09192, 0.08813, 0.08547, 0.08351, 0.08336, 0.09434",\
                 "0.1269, 0.1255, 0.1215, 0.1161, 0.1103, 0.1045, 0.09936, 0.09535, 0.09425, 0.1074",\
                 "0.1571, 0.1553, 0.1503, 0.1432, 0.1355, 0.1278, 0.1202, 0.1138, 0.1114, 0.1282",\
                 "0.1948, 0.1927, 0.1865, 0.1777, 0.168, 0.1581, 0.1484, 0.1394, 0.1367, 0.1618",\
                 "0.2404, 0.238, 0.2307, 0.22, 0.2082, 0.196, 0.1842, 0.1736, 0.1735, 0.2145");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004134, 0.004221, 0.004345, 0.004434, 0.004485, 0.004496, 0.004515, 0.004525, 0.004534, 0.004538",\
                 "0.00411, 0.004233, 0.004538, 0.004806, 0.004959, 0.005057, 0.005115, 0.005155, 0.005179, 0.005197",\
                 "0.005648, 0.005708, 0.005832, 0.005982, 0.006079, 0.006164, 0.006191, 0.006226, 0.006246, 0.006271",\
                 "0.0099, 0.009721, 0.009287, 0.008819, 0.00836, 0.008032, 0.007784, 0.007593, 0.007441, 0.007334",\
                 "0.0176, 0.01712, 0.01588, 0.01442, 0.01303, 0.01189, 0.01097, 0.01021, 0.009636, 0.009176",\
                 "0.02986, 0.02909, 0.02687, 0.02402, 0.02129, 0.01889, 0.01687, 0.01526, 0.0139, 0.01282",\
                 "0.04756, 0.04645, 0.04317, 0.03873, 0.03417, 0.03013, 0.02662, 0.02367, 0.02118, 0.01915",\
                 "0.07109, 0.06965, 0.06536, 0.05926, 0.05267, 0.0465, 0.04111, 0.03644, 0.03242, 0.02903",\
                 "0.1008, 0.09909, 0.09382, 0.08609, 0.07731, 0.06877, 0.06109, 0.05431, 0.04847, 0.04339",\
                 "0.137, 0.135, 0.1288, 0.1194, 0.1086, 0.09755, 0.08725, 0.07809, 0.06995, 0.0628");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.07168, 0.07184, 0.07221, 0.07256, 0.07293, 0.07323, 0.07355, 0.07407, 0.07769, 0.09976",\
                 "0.07033, 0.07059, 0.07131, 0.07205, 0.07269, 0.07323, 0.07365, 0.07426, 0.07803, 0.1001",\
                 "0.07034, 0.07037, 0.07066, 0.07127, 0.07197, 0.07267, 0.07335, 0.074, 0.078, 0.1013",\
                 "0.07555, 0.07523, 0.07442, 0.0737, 0.07345, 0.07353, 0.07384, 0.07436, 0.07859, 0.1035",\
                 "0.08589, 0.08526, 0.08351, 0.08121, 0.07916, 0.07782, 0.07691, 0.07696, 0.08137, 0.1083",\
                 "0.1015, 0.1005, 0.09791, 0.09431, 0.09045, 0.08696, 0.08447, 0.08298, 0.0873, 0.1176",\
                 "0.1228, 0.1216, 0.118, 0.113, 0.1075, 0.1021, 0.09732, 0.09398, 0.09848, 0.1349",\
                 "0.1505, 0.1489, 0.1443, 0.1379, 0.1308, 0.1235, 0.1165, 0.1114, 0.1167, 0.1625",\
                 "0.1851, 0.1832, 0.1775, 0.1696, 0.1606, 0.1516, 0.1425, 0.1357, 0.1448, 0.2052",\
                 "0.227, 0.2247, 0.2179, 0.2085, 0.1976, 0.1865, 0.1758, 0.169, 0.1864, 0.2713");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004138, 0.004218, 0.004346, 0.004441, 0.004501, 0.004513, 0.004523, 0.004528, 0.004533, 0.004536",\
                 "0.004114, 0.004242, 0.004542, 0.004812, 0.004969, 0.005072, 0.005121, 0.005157, 0.005178, 0.005194",\
                 "0.005663, 0.005706, 0.005833, 0.005985, 0.006085, 0.006172, 0.006205, 0.006231, 0.006245, 0.006268",\
                 "0.009888, 0.009702, 0.009274, 0.008818, 0.008361, 0.008032, 0.007778, 0.007596, 0.007442, 0.007332",\
                 "0.01751, 0.01705, 0.01585, 0.0144, 0.01302, 0.01188, 0.01095, 0.01021, 0.009626, 0.009174",\
                 "0.02971, 0.02897, 0.02679, 0.02398, 0.02128, 0.01888, 0.01686, 0.01525, 0.01391, 0.01281",\
                 "0.04732, 0.04624, 0.04302, 0.03865, 0.03414, 0.03009, 0.02661, 0.02367, 0.0212, 0.01912",\
                 "0.07076, 0.06937, 0.06515, 0.05912, 0.0526, 0.04647, 0.04108, 0.03642, 0.03242, 0.02902",\
                 "0.1004, 0.09874, 0.09357, 0.0859, 0.07718, 0.06872, 0.06105, 0.05434, 0.04845, 0.04335",\
                 "0.1365, 0.1345, 0.1285, 0.1192, 0.1084, 0.09746, 0.08719, 0.07804, 0.06989, 0.06278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.08809, 0.08821, 0.0885, 0.08884, 0.08915, 0.08952, 0.08997, 0.09059, 0.09448, 0.1171",\
                 "0.08704, 0.08724, 0.08778, 0.08842, 0.08899, 0.08952, 0.09004, 0.09075, 0.0948, 0.1178",\
                 "0.08667, 0.08677, 0.08708, 0.08766, 0.08829, 0.08899, 0.08964, 0.09052, 0.0947, 0.1185",\
                 "0.09113, 0.09089, 0.09029, 0.0898, 0.08961, 0.08979, 0.09017, 0.09084, 0.09535, 0.121",\
                 "0.1008, 0.1003, 0.09882, 0.09688, 0.09513, 0.09394, 0.09325, 0.09328, 0.09791, 0.1257",\
                 "0.1158, 0.115, 0.1128, 0.1095, 0.106, 0.1029, 0.1006, 0.09927, 0.1038, 0.1358",\
                 "0.1366, 0.1355, 0.1324, 0.1279, 0.1229, 0.1178, 0.1133, 0.11, 0.1151, 0.1527",\
                 "0.1637, 0.1623, 0.1584, 0.1524, 0.1458, 0.1389, 0.1321, 0.1272, 0.1334, 0.1804",\
                 "0.1977, 0.196, 0.191, 0.1837, 0.1754, 0.1665, 0.158, 0.1517, 0.1614, 0.224",\
                 "0.2389, 0.237, 0.2309, 0.2222, 0.212, 0.2014, 0.1908, 0.1845, 0.2034, 0.2903");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004162, 0.004223, 0.004347, 0.004436, 0.004485, 0.004498, 0.004511, 0.00452, 0.004528, 0.004532",\
                 "0.004091, 0.004226, 0.004523, 0.004788, 0.004944, 0.00504, 0.0051, 0.005132, 0.00515, 0.005178",\
                 "0.005482, 0.005534, 0.005671, 0.005834, 0.005951, 0.006027, 0.00607, 0.006099, 0.006118, 0.006136",\
                 "0.009722, 0.009525, 0.009072, 0.008589, 0.008127, 0.007803, 0.007553, 0.007344, 0.007181, 0.007079",\
                 "0.01805, 0.01756, 0.01619, 0.01459, 0.01306, 0.01182, 0.01084, 0.01005, 0.009421, 0.008952",\
                 "0.0317, 0.03084, 0.02838, 0.02518, 0.02213, 0.0195, 0.01726, 0.01548, 0.01403, 0.01284",\
                 "0.05134, 0.05012, 0.04651, 0.04154, 0.03646, 0.03194, 0.02804, 0.02476, 0.02201, 0.01976",\
                 "0.07733, 0.07581, 0.07109, 0.06429, 0.05697, 0.05011, 0.04407, 0.03886, 0.03444, 0.03068",\
                 "0.11, 0.1082, 0.1025, 0.09393, 0.08425, 0.07475, 0.06622, 0.05869, 0.05214, 0.04648",\
                 "0.1498, 0.1477, 0.141, 0.1307, 0.1188, 0.1066, 0.09511, 0.08492, 0.07592, 0.06797");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.09139, 0.09152, 0.09179, 0.09213, 0.09244, 0.09287, 0.09339, 0.09393, 0.09492, 0.1031",\
                 "0.09038, 0.09059, 0.09111, 0.09174, 0.09227, 0.09291, 0.09342, 0.09409, 0.09519, 0.1035",\
                 "0.09005, 0.09014, 0.09048, 0.09097, 0.09164, 0.09231, 0.09296, 0.0936, 0.09509, 0.1039",\
                 "0.09463, 0.09435, 0.09377, 0.09324, 0.09306, 0.0932, 0.09359, 0.09399, 0.09549, 0.1049",\
                 "0.1048, 0.1042, 0.1027, 0.1007, 0.09887, 0.09766, 0.09685, 0.09669, 0.09782, 0.108",\
                 "0.1207, 0.12, 0.1176, 0.1141, 0.1106, 0.1073, 0.1047, 0.1031, 0.1035, 0.115",\
                 "0.1432, 0.1421, 0.1388, 0.134, 0.1285, 0.1233, 0.1186, 0.1147, 0.1136, 0.1279",\
                 "0.1727, 0.1712, 0.1669, 0.1606, 0.1534, 0.146, 0.139, 0.1329, 0.1309, 0.1491",\
                 "0.2096, 0.2078, 0.2025, 0.1945, 0.1854, 0.1761, 0.1667, 0.1583, 0.1563, 0.1829",\
                 "0.2546, 0.2525, 0.246, 0.2364, 0.2252, 0.2136, 0.2022, 0.192, 0.193, 0.2359");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004154, 0.004219, 0.004344, 0.004443, 0.004496, 0.004511, 0.004523, 0.004529, 0.004533, 0.004536",\
                 "0.004112, 0.004245, 0.004543, 0.004814, 0.004967, 0.005069, 0.005129, 0.005156, 0.005173, 0.005189",\
                 "0.005651, 0.005701, 0.005836, 0.005986, 0.006086, 0.006173, 0.0062, 0.006224, 0.006247, 0.006271",\
                 "0.009887, 0.009704, 0.009297, 0.008818, 0.008367, 0.008046, 0.00779, 0.007596, 0.007438, 0.007332",\
                 "0.01749, 0.01706, 0.01585, 0.01441, 0.01303, 0.01189, 0.01097, 0.01022, 0.009641, 0.009175",\
                 "0.0297, 0.02894, 0.02678, 0.02398, 0.02128, 0.01887, 0.01686, 0.01525, 0.01391, 0.01281",\
                 "0.04729, 0.04622, 0.04299, 0.03865, 0.03413, 0.03012, 0.02661, 0.02366, 0.02117, 0.01914",\
                 "0.07072, 0.06933, 0.06513, 0.05911, 0.05259, 0.04646, 0.04107, 0.03642, 0.03242, 0.02903",\
                 "0.1004, 0.09869, 0.09351, 0.08587, 0.07719, 0.06872, 0.06104, 0.05433, 0.04845, 0.04337",\
                 "0.1365, 0.1345, 0.1284, 0.1191, 0.1084, 0.09745, 0.08718, 0.07804, 0.0699, 0.06278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.09142, 0.09152, 0.09181, 0.09212, 0.09245, 0.09285, 0.09327, 0.09385, 0.0978, 0.1209",\
                 "0.09041, 0.0906, 0.09112, 0.09174, 0.09232, 0.09289, 0.09337, 0.09412, 0.09805, 0.1214",\
                 "0.09002, 0.09012, 0.09042, 0.09098, 0.09163, 0.09232, 0.09294, 0.09379, 0.09805, 0.1223",\
                 "0.09431, 0.0941, 0.09356, 0.09308, 0.09293, 0.09312, 0.09348, 0.09414, 0.09854, 0.1243",\
                 "0.1039, 0.1034, 0.102, 0.1001, 0.09838, 0.09724, 0.09645, 0.09651, 0.1012, 0.1293",\
                 "0.1188, 0.118, 0.1158, 0.1126, 0.1092, 0.1061, 0.1038, 0.1026, 0.1072, 0.1388",\
                 "0.1395, 0.1384, 0.1354, 0.131, 0.1259, 0.1208, 0.1165, 0.1135, 0.1185, 0.1561",\
                 "0.1664, 0.1651, 0.1611, 0.1554, 0.1488, 0.142, 0.1353, 0.1306, 0.1367, 0.1839",\
                 "0.2003, 0.1986, 0.1937, 0.1866, 0.1784, 0.1697, 0.1609, 0.1549, 0.1648, 0.2274",\
                 "0.2414, 0.2395, 0.2336, 0.225, 0.2149, 0.2044, 0.1939, 0.1877, 0.2068, 0.2941");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004163, 0.004223, 0.004346, 0.004441, 0.004496, 0.00451, 0.004523, 0.004528, 0.004534, 0.004537",\
                 "0.004113, 0.004257, 0.004547, 0.004814, 0.004966, 0.005069, 0.005127, 0.005156, 0.005174, 0.00519",\
                 "0.005654, 0.005706, 0.00583, 0.005984, 0.006097, 0.006174, 0.006199, 0.006226, 0.006247, 0.006273",\
                 "0.009875, 0.009696, 0.009272, 0.008812, 0.008361, 0.008028, 0.007788, 0.007594, 0.007439, 0.00733",\
                 "0.01744, 0.01701, 0.01582, 0.0144, 0.01303, 0.01189, 0.01094, 0.01021, 0.009641, 0.009169",\
                 "0.02957, 0.02883, 0.0267, 0.02394, 0.02124, 0.01886, 0.01685, 0.01525, 0.01391, 0.0128",\
                 "0.04709, 0.04603, 0.04286, 0.03857, 0.03408, 0.03009, 0.02662, 0.02364, 0.02119, 0.01914",\
                 "0.07047, 0.06907, 0.06494, 0.05898, 0.05252, 0.04643, 0.04106, 0.03642, 0.03241, 0.02902",\
                 "0.1, 0.09836, 0.09326, 0.08567, 0.07709, 0.06864, 0.06103, 0.05432, 0.04844, 0.04335",\
                 "0.136, 0.1341, 0.1281, 0.1189, 0.1082, 0.09735, 0.08712, 0.07802, 0.06987, 0.06278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1077, 0.1078, 0.1081, 0.1084, 0.1087, 0.109, 0.1095, 0.11, 0.114, 0.1375",\
                 "0.1069, 0.1071, 0.1075, 0.108, 0.1085, 0.1091, 0.1095, 0.1103, 0.1144, 0.1381",\
                 "0.1064, 0.1065, 0.1068, 0.1073, 0.1079, 0.1085, 0.1091, 0.11, 0.1144, 0.1391",\
                 "0.1101, 0.1099, 0.1095, 0.1092, 0.109, 0.1093, 0.1096, 0.1103, 0.115, 0.1413",\
                 "0.119, 0.1187, 0.1175, 0.1158, 0.1143, 0.1132, 0.1125, 0.1128, 0.1173, 0.1462",\
                 "0.1335, 0.1329, 0.1309, 0.1279, 0.1248, 0.122, 0.1197, 0.1186, 0.1235, 0.1562",\
                 "0.1536, 0.1527, 0.15, 0.1459, 0.1411, 0.1365, 0.1321, 0.1293, 0.1347, 0.1734",\
                 "0.18, 0.1789, 0.1754, 0.1701, 0.1639, 0.1572, 0.151, 0.1463, 0.153, 0.2016",\
                 "0.2134, 0.2118, 0.2075, 0.2009, 0.193, 0.1847, 0.1763, 0.1704, 0.181, 0.2454",\
                 "0.254, 0.2522, 0.2469, 0.2389, 0.2292, 0.219, 0.2089, 0.2032, 0.2234, 0.3127");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004118, 0.004168, 0.004297, 0.004366, 0.004403, 0.004427, 0.00444, 0.004453, 0.00446, 0.004467",\
                 "0.003732, 0.0039, 0.004248, 0.004544, 0.004704, 0.004805, 0.004877, 0.004921, 0.004954, 0.004974",\
                 "0.004082, 0.004228, 0.004581, 0.004936, 0.005207, 0.005393, 0.005509, 0.005581, 0.005635, 0.005673",\
                 "0.0081, 0.007977, 0.007683, 0.007408, 0.007173, 0.006969, 0.006803, 0.006669, 0.006567, 0.00649",\
                 "0.01721, 0.01671, 0.01539, 0.01385, 0.01247, 0.01129, 0.01035, 0.009587, 0.008986, 0.008504",\
                 "0.03257, 0.03167, 0.02909, 0.02578, 0.02263, 0.01989, 0.0176, 0.01573, 0.01418, 0.01294",\
                 "0.05471, 0.05342, 0.04958, 0.04433, 0.0389, 0.03405, 0.02986, 0.02635, 0.0234, 0.02095",\
                 "0.08407, 0.08241, 0.07738, 0.07012, 0.06225, 0.05475, 0.04822, 0.04261, 0.03773, 0.03359",\
                 "0.121, 0.119, 0.1129, 0.1037, 0.09332, 0.08299, 0.07359, 0.0653, 0.05818, 0.0519",\
                 "0.1657, 0.1635, 0.1564, 0.1454, 0.1326, 0.1193, 0.1068, 0.09542, 0.08553, 0.07674");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.08708, 0.08712, 0.08721, 0.08737, 0.08766, 0.08793, 0.08833, 0.08909, 0.08938, 0.09141",\
                 "0.08602, 0.08611, 0.08634, 0.08671, 0.08706, 0.0874, 0.08787, 0.08846, 0.08892, 0.09095",\
                 "0.08676, 0.08672, 0.08667, 0.08677, 0.087, 0.08734, 0.08787, 0.08836, 0.08905, 0.09098",\
                 "0.09297, 0.09258, 0.09152, 0.09042, 0.08964, 0.08918, 0.08913, 0.08932, 0.08967, 0.09177",\
                 "0.1053, 0.1046, 0.1026, 0.09981, 0.09723, 0.09519, 0.09375, 0.09311, 0.09273, 0.09469",\
                 "0.1245, 0.1235, 0.1203, 0.116, 0.1112, 0.107, 0.1035, 0.1008, 0.09943, 0.1008",\
                 "0.1511, 0.1497, 0.1456, 0.1395, 0.1327, 0.1261, 0.12, 0.115, 0.1115, 0.1121",\
                 "0.1855, 0.1838, 0.1788, 0.1711, 0.162, 0.153, 0.1443, 0.1367, 0.1304, 0.1308",\
                 "0.2281, 0.2263, 0.2205, 0.2113, 0.2001, 0.1883, 0.177, 0.1663, 0.1579, 0.1593",\
                 "0.2795, 0.2775, 0.271, 0.2604, 0.2472, 0.2328, 0.2187, 0.2051, 0.195, 0.2022");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004115, 0.004167, 0.004304, 0.00439, 0.004422, 0.004438, 0.004447, 0.004456, 0.004462, 0.004468",\
                 "0.003757, 0.003924, 0.004283, 0.004584, 0.004746, 0.004841, 0.004908, 0.004949, 0.004984, 0.004992",\
                 "0.004318, 0.004463, 0.004793, 0.00515, 0.005412, 0.005589, 0.005695, 0.005764, 0.005816, 0.005851",\
                 "0.008389, 0.008276, 0.008007, 0.007754, 0.007527, 0.007328, 0.007162, 0.007026, 0.006923, 0.006845",\
                 "0.01661, 0.01619, 0.01506, 0.01373, 0.01247, 0.01142, 0.01054, 0.009847, 0.00928, 0.008828",\
                 "0.03009, 0.02932, 0.02712, 0.02429, 0.02156, 0.01917, 0.01715, 0.01548, 0.01409, 0.01293",\
                 "0.04956, 0.04843, 0.04516, 0.04065, 0.03592, 0.03173, 0.02809, 0.02499, 0.02234, 0.02016",\
                 "0.07556, 0.07409, 0.06972, 0.06347, 0.05661, 0.05008, 0.04439, 0.0394, 0.03512, 0.03149",\
                 "0.1084, 0.1066, 0.1012, 0.09321, 0.08412, 0.07512, 0.06687, 0.05965, 0.05332, 0.04782",\
                 "0.1485, 0.1464, 0.1401, 0.1303, 0.119, 0.1073, 0.09635, 0.08635, 0.07762, 0.06991");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.08712, 0.08717, 0.08727, 0.08744, 0.08767, 0.08794, 0.08849, 0.08893, 0.09034, 0.09865",\
                 "0.08604, 0.08614, 0.08639, 0.0867, 0.08708, 0.08748, 0.08793, 0.0884, 0.08988, 0.09784",\
                 "0.08672, 0.08668, 0.08663, 0.08675, 0.08695, 0.08735, 0.0878, 0.08834, 0.08947, 0.09824",\
                 "0.09256, 0.09225, 0.09124, 0.09016, 0.08939, 0.08907, 0.08899, 0.08919, 0.09054, 0.09957",\
                 "0.1041, 0.1034, 0.1016, 0.09889, 0.09642, 0.09454, 0.09318, 0.09252, 0.09325, 0.1032",\
                 "0.1216, 0.1206, 0.1178, 0.1138, 0.1094, 0.1055, 0.1021, 0.09988, 0.09958, 0.1109",\
                 "0.1457, 0.1445, 0.1407, 0.1352, 0.129, 0.1227, 0.1172, 0.1127, 0.1112, 0.1244",\
                 "0.1769, 0.1754, 0.1708, 0.1638, 0.1557, 0.1473, 0.1393, 0.1322, 0.1297, 0.1471",\
                 "0.2155, 0.2138, 0.2084, 0.2, 0.1899, 0.1796, 0.1691, 0.1596, 0.1569, 0.1822",\
                 "0.2622, 0.2603, 0.2542, 0.2445, 0.2324, 0.2197, 0.2069, 0.1956, 0.1954, 0.2371");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004114, 0.00417, 0.0043, 0.004395, 0.004439, 0.004455, 0.004454, 0.004458, 0.004462, 0.004465",\
                 "0.003768, 0.003929, 0.004283, 0.004589, 0.004761, 0.004856, 0.004919, 0.004951, 0.004983, 0.00499",\
                 "0.004351, 0.004472, 0.004797, 0.005156, 0.005418, 0.005599, 0.005703, 0.005765, 0.005815, 0.005848",\
                 "0.008386, 0.008277, 0.008016, 0.007755, 0.007524, 0.007329, 0.007164, 0.00703, 0.006922, 0.006842",\
                 "0.01653, 0.01612, 0.01502, 0.01372, 0.01247, 0.01142, 0.01054, 0.009846, 0.009279, 0.008828",\
                 "0.02993, 0.02917, 0.02706, 0.02424, 0.02154, 0.01916, 0.01714, 0.01547, 0.01408, 0.01293",\
                 "0.04932, 0.04823, 0.04501, 0.04057, 0.03591, 0.0317, 0.02807, 0.02497, 0.02234, 0.02016",\
                 "0.07523, 0.0738, 0.06949, 0.06332, 0.05653, 0.05004, 0.04435, 0.03939, 0.03514, 0.03146",\
                 "0.108, 0.1063, 0.101, 0.09302, 0.08398, 0.075, 0.06681, 0.05963, 0.0533, 0.04779",\
                 "0.148, 0.146, 0.1397, 0.1301, 0.1188, 0.1072, 0.09628, 0.08632, 0.07758, 0.06986");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1033, 0.1034, 0.1035, 0.1036, 0.1039, 0.1042, 0.1045, 0.105, 0.1062, 0.115",\
                 "0.1024, 0.1025, 0.1027, 0.1029, 0.1032, 0.1036, 0.1041, 0.1046, 0.106, 0.1143",\
                 "0.1028, 0.1028, 0.1028, 0.1029, 0.1031, 0.1035, 0.104, 0.1045, 0.1057, 0.1147",\
                 "0.1081, 0.1078, 0.107, 0.1061, 0.1055, 0.1052, 0.1052, 0.1053, 0.1065, 0.1162",\
                 "0.119, 0.1184, 0.1168, 0.1144, 0.1122, 0.1105, 0.1091, 0.1086, 0.1093, 0.1197",\
                 "0.1359, 0.1351, 0.1326, 0.1289, 0.1247, 0.1211, 0.1181, 0.116, 0.1158, 0.1274",\
                 "0.1595, 0.1583, 0.1549, 0.1499, 0.1441, 0.1381, 0.1328, 0.1284, 0.1272, 0.141",\
                 "0.1901, 0.1888, 0.1846, 0.1781, 0.1704, 0.1624, 0.1547, 0.1478, 0.1455, 0.1635",\
                 "0.2284, 0.2269, 0.2218, 0.2139, 0.2044, 0.1944, 0.1841, 0.1749, 0.1725, 0.1991",\
                 "0.2746, 0.2729, 0.2672, 0.258, 0.2466, 0.2342, 0.2218, 0.2107, 0.2111, 0.2541");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004182, 0.004237, 0.004368, 0.004434, 0.004469, 0.004507, 0.004522, 0.004526, 0.004542, 0.004549",\
                 "0.003952, 0.004102, 0.004457, 0.004749, 0.00492, 0.005016, 0.005082, 0.005123, 0.00515, 0.00517",\
                 "0.00452, 0.004666, 0.005011, 0.005367, 0.005629, 0.00581, 0.005928, 0.005996, 0.006043, 0.006078",\
                 "0.008262, 0.008176, 0.007968, 0.00777, 0.007584, 0.007404, 0.00726, 0.00713, 0.007037, 0.006966",\
                 "0.01631, 0.01591, 0.01481, 0.01352, 0.01234, 0.01134, 0.0105, 0.009823, 0.009279, 0.008856",\
                 "0.02985, 0.02906, 0.02688, 0.02407, 0.02137, 0.01901, 0.01701, 0.01536, 0.01398, 0.01287",\
                 "0.04945, 0.04832, 0.04502, 0.04047, 0.03574, 0.03154, 0.02793, 0.02483, 0.02222, 0.02005",\
                 "0.07561, 0.07411, 0.06969, 0.06336, 0.05646, 0.04996, 0.04418, 0.03925, 0.03498, 0.03135",\
                 "0.1086, 0.1068, 0.1013, 0.09319, 0.084, 0.07499, 0.06674, 0.05948, 0.05316, 0.04764",\
                 "0.1488, 0.1467, 0.1402, 0.1304, 0.1189, 0.1073, 0.09624, 0.08622, 0.07746, 0.06978");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.0871, 0.08712, 0.08724, 0.0874, 0.08764, 0.08801, 0.08853, 0.08897, 0.09003, 0.09804",\
                 "0.08598, 0.08608, 0.08634, 0.08667, 0.08705, 0.08749, 0.088, 0.0885, 0.08957, 0.09782",\
                 "0.08655, 0.08651, 0.08648, 0.08665, 0.08692, 0.08725, 0.08777, 0.08814, 0.08946, 0.09813",\
                 "0.09221, 0.09182, 0.09091, 0.08988, 0.08919, 0.0889, 0.08889, 0.089, 0.09026, 0.09947",\
                 "0.1034, 0.1028, 0.101, 0.09846, 0.09602, 0.09415, 0.09292, 0.09223, 0.09294, 0.1031",\
                 "0.1207, 0.1198, 0.1171, 0.1131, 0.1088, 0.1049, 0.1018, 0.09952, 0.09938, 0.1106",\
                 "0.1447, 0.1435, 0.1398, 0.1344, 0.1282, 0.122, 0.1166, 0.1122, 0.1108, 0.124",\
                 "0.1758, 0.1744, 0.1698, 0.1628, 0.1548, 0.1467, 0.1387, 0.1316, 0.1291, 0.1462",\
                 "0.2145, 0.2128, 0.2074, 0.199, 0.1891, 0.1786, 0.1682, 0.1588, 0.1559, 0.1814",\
                 "0.2611, 0.2592, 0.2531, 0.2434, 0.2315, 0.2187, 0.2062, 0.1948, 0.1944, 0.2363");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004179, 0.004235, 0.004373, 0.004447, 0.004489, 0.004515, 0.004528, 0.004531, 0.004545, 0.004551",\
                 "0.003972, 0.004115, 0.004481, 0.004776, 0.004949, 0.005042, 0.005105, 0.005144, 0.005171, 0.005189",\
                 "0.004686, 0.004836, 0.005175, 0.005517, 0.005776, 0.005953, 0.006061, 0.006126, 0.006172, 0.006205",\
                 "0.008532, 0.008425, 0.008247, 0.008041, 0.007846, 0.007666, 0.007517, 0.007394, 0.007295, 0.007218",\
                 "0.01592, 0.01556, 0.01461, 0.01346, 0.01238, 0.01145, 0.01067, 0.01002, 0.009504, 0.009095",\
                 "0.02797, 0.02731, 0.0254, 0.02293, 0.02057, 0.01846, 0.01665, 0.01514, 0.01387, 0.01285",\
                 "0.04546, 0.04448, 0.0416, 0.03762, 0.03346, 0.02977, 0.02653, 0.02375, 0.02141, 0.01942",\
                 "0.06889, 0.06759, 0.0637, 0.05815, 0.05206, 0.04629, 0.04119, 0.03677, 0.03294, 0.02966",\
                 "0.09862, 0.09703, 0.09214, 0.0849, 0.07684, 0.06881, 0.06147, 0.05501, 0.04937, 0.04439",\
                 "0.135, 0.1331, 0.1272, 0.1185, 0.1083, 0.09783, 0.08804, 0.07913, 0.07127, 0.06434");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.08711, 0.08715, 0.08725, 0.0874, 0.08768, 0.08798, 0.0883, 0.08895, 0.09276, 0.1156",\
                 "0.086, 0.08609, 0.08634, 0.08668, 0.08702, 0.08742, 0.08778, 0.08846, 0.09234, 0.1154",\
                 "0.08652, 0.08647, 0.08646, 0.08659, 0.08689, 0.08726, 0.08764, 0.08832, 0.09244, 0.1164",\
                 "0.09188, 0.09154, 0.09063, 0.08971, 0.08904, 0.08884, 0.08867, 0.08908, 0.09333, 0.1187",\
                 "0.1025, 0.1019, 0.1001, 0.09767, 0.09541, 0.09376, 0.09254, 0.09211, 0.09671, 0.1241",\
                 "0.1185, 0.1176, 0.115, 0.1113, 0.1073, 0.1037, 0.1007, 0.09896, 0.1031, 0.1344",\
                 "0.1404, 0.1393, 0.136, 0.131, 0.1252, 0.1194, 0.1144, 0.1107, 0.1153, 0.1522",\
                 "0.1689, 0.1675, 0.1633, 0.157, 0.1497, 0.142, 0.1346, 0.1289, 0.1347, 0.181",\
                 "0.2043, 0.2026, 0.1977, 0.19, 0.181, 0.1715, 0.1619, 0.1547, 0.1638, 0.2255",\
                 "0.2469, 0.2452, 0.2394, 0.2305, 0.2197, 0.2081, 0.1967, 0.1895, 0.2076, 0.2941");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004177, 0.004234, 0.004367, 0.004453, 0.004501, 0.004525, 0.004539, 0.004534, 0.00454, 0.004548",\
                 "0.003979, 0.004125, 0.004475, 0.00478, 0.004963, 0.005054, 0.00511, 0.005146, 0.00517, 0.005188",\
                 "0.004715, 0.004851, 0.005176, 0.005525, 0.005781, 0.005961, 0.006067, 0.006129, 0.006172, 0.006202",\
                 "0.008518, 0.00843, 0.008253, 0.008042, 0.007842, 0.007669, 0.007519, 0.007394, 0.007295, 0.007216",\
                 "0.01586, 0.0155, 0.01458, 0.01345, 0.01238, 0.01144, 0.01066, 0.01002, 0.009504, 0.0091",\
                 "0.02783, 0.02718, 0.02533, 0.02292, 0.02055, 0.01844, 0.01665, 0.01514, 0.01387, 0.01285",\
                 "0.04524, 0.04429, 0.04147, 0.03754, 0.03343, 0.02974, 0.02651, 0.02374, 0.0214, 0.01942",\
                 "0.06861, 0.06735, 0.0635, 0.05801, 0.05199, 0.04626, 0.04113, 0.03674, 0.03292, 0.02966",\
                 "0.09827, 0.09671, 0.09188, 0.08475, 0.07672, 0.06872, 0.06144, 0.05498, 0.04933, 0.04437",\
                 "0.1345, 0.1327, 0.127, 0.1182, 0.1081, 0.09776, 0.08799, 0.07913, 0.07128, 0.06434");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1033, 0.1033, 0.1034, 0.1036, 0.1038, 0.1041, 0.1045, 0.1051, 0.1091, 0.1322",\
                 "0.1023, 0.1024, 0.1026, 0.1029, 0.1032, 0.1036, 0.1041, 0.1046, 0.1087, 0.1322",\
                 "0.1026, 0.1026, 0.1027, 0.1028, 0.103, 0.1035, 0.1038, 0.1045, 0.1087, 0.1331",\
                 "0.1074, 0.1071, 0.1064, 0.1057, 0.1051, 0.1049, 0.1049, 0.1053, 0.1096, 0.1355",\
                 "0.1175, 0.1169, 0.1154, 0.1133, 0.1112, 0.1096, 0.1086, 0.1082, 0.1128, 0.1411",\
                 "0.1329, 0.1322, 0.1299, 0.1266, 0.1228, 0.1192, 0.1166, 0.1149, 0.1195, 0.1517",\
                 "0.1544, 0.1534, 0.1504, 0.1458, 0.1404, 0.1349, 0.13, 0.1266, 0.1313, 0.1695",\
                 "0.1824, 0.1812, 0.1773, 0.1714, 0.1645, 0.1572, 0.1499, 0.1448, 0.1507, 0.1983",\
                 "0.2172, 0.2159, 0.2113, 0.2041, 0.1955, 0.1863, 0.1769, 0.1703, 0.18, 0.2434",\
                 "0.2595, 0.2579, 0.2527, 0.2443, 0.234, 0.2229, 0.2116, 0.2048, 0.224, 0.3125");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004179, 0.004233, 0.004366, 0.004447, 0.004495, 0.004512, 0.004514, 0.004522, 0.004528, 0.004533",\
                 "0.003947, 0.004112, 0.004455, 0.00475, 0.004923, 0.005023, 0.005088, 0.00512, 0.005149, 0.005168",\
                 "0.004539, 0.004663, 0.005005, 0.005372, 0.005637, 0.005807, 0.005919, 0.005995, 0.006043, 0.006076",\
                 "0.008261, 0.008176, 0.007983, 0.007767, 0.007573, 0.007399, 0.007248, 0.007125, 0.007032, 0.006961",\
                 "0.01624, 0.01584, 0.01478, 0.01351, 0.01235, 0.01134, 0.0105, 0.00982, 0.009284, 0.008849",\
                 "0.02967, 0.02892, 0.0268, 0.02403, 0.02134, 0.019, 0.01701, 0.01535, 0.01398, 0.01287",\
                 "0.0492, 0.0481, 0.04486, 0.04037, 0.0357, 0.03151, 0.02791, 0.02483, 0.02223, 0.02005",\
                 "0.07527, 0.07381, 0.06946, 0.06321, 0.05637, 0.04992, 0.04422, 0.03926, 0.03499, 0.03137",\
                 "0.1082, 0.1064, 0.101, 0.093, 0.08391, 0.07492, 0.06669, 0.05945, 0.05312, 0.04764",\
                 "0.1483, 0.1462, 0.1399, 0.1301, 0.1188, 0.1072, 0.09616, 0.0862, 0.07746, 0.06976");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1066, 0.1066, 0.1068, 0.1069, 0.1071, 0.1075, 0.1079, 0.1086, 0.1095, 0.1178",\
                 "0.1057, 0.1057, 0.1059, 0.1062, 0.1066, 0.107, 0.1075, 0.1079, 0.1094, 0.1175",\
                 "0.106, 0.106, 0.106, 0.1062, 0.1065, 0.1068, 0.1071, 0.1078, 0.1089, 0.1178",\
                 "0.1109, 0.1106, 0.1099, 0.1091, 0.1085, 0.1083, 0.1083, 0.1084, 0.1099, 0.1193",\
                 "0.1214, 0.1209, 0.1193, 0.1172, 0.1151, 0.1134, 0.1122, 0.1116, 0.1125, 0.1227",\
                 "0.138, 0.1373, 0.1348, 0.1314, 0.1275, 0.1238, 0.1209, 0.1187, 0.1187, 0.1303",\
                 "0.1614, 0.1603, 0.157, 0.1521, 0.1465, 0.1406, 0.1354, 0.1312, 0.1297, 0.1439",\
                 "0.1919, 0.1905, 0.1865, 0.1801, 0.1727, 0.1647, 0.1571, 0.1504, 0.1479, 0.166",\
                 "0.23, 0.2285, 0.2236, 0.2158, 0.2064, 0.1965, 0.1864, 0.1775, 0.1751, 0.2014",\
                 "0.2761, 0.2744, 0.2688, 0.2599, 0.2485, 0.2363, 0.224, 0.2129, 0.2135, 0.2571");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004176, 0.004232, 0.004367, 0.00445, 0.004507, 0.004527, 0.004528, 0.004534, 0.004536, 0.004539",\
                 "0.00397, 0.004128, 0.004483, 0.004772, 0.004954, 0.005052, 0.005116, 0.005145, 0.005171, 0.005187",\
                 "0.004716, 0.004837, 0.005172, 0.005526, 0.005783, 0.005949, 0.006059, 0.006129, 0.006173, 0.006205",\
                 "0.008516, 0.008431, 0.008259, 0.00804, 0.007842, 0.007682, 0.007517, 0.007395, 0.007295, 0.007219",\
                 "0.01586, 0.0155, 0.01458, 0.01345, 0.01238, 0.01144, 0.01066, 0.01002, 0.009517, 0.009104",\
                 "0.02781, 0.02717, 0.02534, 0.02292, 0.02054, 0.01845, 0.01666, 0.01514, 0.01388, 0.01286",\
                 "0.04523, 0.04429, 0.04146, 0.03753, 0.03344, 0.02976, 0.02651, 0.02374, 0.02139, 0.01941",\
                 "0.06859, 0.06733, 0.06347, 0.05801, 0.05198, 0.04626, 0.04116, 0.03677, 0.03296, 0.02967",\
                 "0.09825, 0.09669, 0.09188, 0.08477, 0.07673, 0.06875, 0.06144, 0.05496, 0.04933, 0.0444",\
                 "0.1345, 0.1327, 0.1269, 0.1182, 0.1081, 0.0978, 0.08795, 0.07911, 0.07126, 0.06433");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1066, 0.1066, 0.1067, 0.1069, 0.1071, 0.1074, 0.1078, 0.1084, 0.1124, 0.1358",\
                 "0.1057, 0.1057, 0.1059, 0.1062, 0.1065, 0.1069, 0.1073, 0.108, 0.112, 0.1355",\
                 "0.1059, 0.1059, 0.106, 0.1061, 0.1064, 0.1068, 0.1071, 0.1078, 0.112, 0.1366",\
                 "0.1106, 0.1103, 0.1097, 0.1089, 0.1084, 0.1081, 0.1082, 0.1086, 0.1129, 0.1389",\
                 "0.1205, 0.12, 0.1186, 0.1164, 0.1145, 0.1129, 0.1118, 0.1117, 0.1159, 0.1445",\
                 "0.1359, 0.1352, 0.1329, 0.1296, 0.1259, 0.1226, 0.1197, 0.1182, 0.1227, 0.1549",\
                 "0.1573, 0.1563, 0.1534, 0.1488, 0.1435, 0.1381, 0.1333, 0.1299, 0.1347, 0.1726",\
                 "0.1851, 0.1839, 0.1802, 0.1744, 0.1676, 0.1602, 0.1532, 0.1479, 0.154, 0.202",\
                 "0.22, 0.2186, 0.2141, 0.2069, 0.1985, 0.1894, 0.1801, 0.1734, 0.1834, 0.2472",\
                 "0.2621, 0.2606, 0.2554, 0.2471, 0.2368, 0.2258, 0.2146, 0.2081, 0.2272, 0.316");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.004174, 0.004227, 0.004366, 0.004448, 0.004508, 0.004524, 0.004528, 0.004533, 0.004536, 0.004541",\
                 "0.003991, 0.004126, 0.004476, 0.004774, 0.004955, 0.005054, 0.005116, 0.005144, 0.005171, 0.005187",\
                 "0.004731, 0.004848, 0.005172, 0.005525, 0.005783, 0.00595, 0.006059, 0.006128, 0.006174, 0.006205",\
                 "0.008505, 0.00843, 0.00826, 0.008033, 0.007839, 0.007681, 0.007518, 0.007393, 0.007296, 0.00722",\
                 "0.01581, 0.01544, 0.01456, 0.01344, 0.01237, 0.01144, 0.01066, 0.01002, 0.009514, 0.009103",\
                 "0.0277, 0.02706, 0.02526, 0.02288, 0.02053, 0.01843, 0.01664, 0.01513, 0.01388, 0.01286",\
                 "0.04504, 0.04412, 0.04132, 0.03746, 0.0334, 0.02974, 0.0265, 0.02373, 0.02138, 0.01941",\
                 "0.06834, 0.06708, 0.0633, 0.05787, 0.05191, 0.04622, 0.04113, 0.03675, 0.03294, 0.02966",\
                 "0.09793, 0.09641, 0.09163, 0.08461, 0.07662, 0.06869, 0.06141, 0.05499, 0.04932, 0.04437",\
                 "0.1341, 0.1323, 0.1266, 0.118, 0.108, 0.0977, 0.08793, 0.07908, 0.07128, 0.06431");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1228, 0.1228, 0.1229, 0.1231, 0.1233, 0.1236, 0.1241, 0.1247, 0.1286, 0.1525",\
                 "0.1219, 0.122, 0.1221, 0.1224, 0.1227, 0.1231, 0.1235, 0.1241, 0.1283, 0.1526",\
                 "0.1221, 0.1221, 0.1221, 0.1223, 0.1225, 0.1229, 0.1232, 0.1239, 0.1283, 0.1534",\
                 "0.1262, 0.1261, 0.1255, 0.1249, 0.1245, 0.1243, 0.1243, 0.1247, 0.1293, 0.1559",\
                 "0.1357, 0.1353, 0.1339, 0.1321, 0.1302, 0.1289, 0.1278, 0.1277, 0.1323, 0.1617",\
                 "0.1505, 0.1499, 0.1479, 0.1449, 0.1414, 0.1382, 0.1357, 0.1342, 0.139, 0.1718",\
                 "0.1715, 0.1706, 0.1679, 0.1637, 0.1587, 0.1536, 0.1489, 0.1458, 0.151, 0.1902",\
                 "0.199, 0.1978, 0.1943, 0.1889, 0.1824, 0.1754, 0.1685, 0.1635, 0.1703, 0.2194",\
                 "0.2333, 0.2321, 0.2279, 0.2212, 0.2132, 0.2044, 0.1953, 0.189, 0.1996, 0.265",\
                 "0.2751, 0.2736, 0.2688, 0.261, 0.2511, 0.2405, 0.2297, 0.2234, 0.2439, 0.3344");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02888, 0.0289, 0.02885, 0.02886, 0.02888, 0.0289, 0.02893, 0.02892, 0.02892, 0.02894",\
                 "0.02883, 0.0288, 0.0288, 0.02884, 0.02887, 0.0289, 0.02894, 0.02893, 0.02893, 0.02893",\
                 "0.029, 0.02899, 0.02894, 0.02891, 0.02891, 0.02891, 0.02892, 0.02894, 0.02893, 0.02892",\
                 "0.03194, 0.03176, 0.03139, 0.0309, 0.03047, 0.03009, 0.02981, 0.02958, 0.02943, 0.02933",\
                 "0.03988, 0.03955, 0.03833, 0.03686, 0.03534, 0.0341, 0.03303, 0.03218, 0.03153, 0.03105",\
                 "0.05422, 0.05357, 0.0514, 0.04842, 0.04528, 0.04245, 0.04001, 0.03808, 0.03643, 0.03513",\
                 "0.07571, 0.07469, 0.07144, 0.06672, 0.06158, 0.0566, 0.05223, 0.04852, 0.04545, 0.04287",\
                 "0.1047, 0.1034, 0.0991, 0.09261, 0.08506, 0.07764, 0.07083, 0.06481, 0.05967, 0.05532",\
                 "0.1416, 0.14, 0.1348, 0.1266, 0.1166, 0.1064, 0.09678, 0.088, 0.08032, 0.07361",\
                 "0.1868, 0.1849, 0.1788, 0.1689, 0.1566, 0.1436, 0.1308, 0.119, 0.1083, 0.09889");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.103, 0.1032, 0.1035, 0.1037, 0.104, 0.1044, 0.1047, 0.1051, 0.1055, 0.1078",\
                 "0.1015, 0.1018, 0.1025, 0.1033, 0.1039, 0.1045, 0.105, 0.1053, 0.1058, 0.1081",\
                 "0.09924, 0.09952, 0.1003, 0.1014, 0.1025, 0.1035, 0.1043, 0.105, 0.1056, 0.1077",\
                 "0.1004, 0.1005, 0.1006, 0.101, 0.1017, 0.1026, 0.1035, 0.1043, 0.1052, 0.1077",\
                 "0.1085, 0.1081, 0.1071, 0.1059, 0.1052, 0.1049, 0.1051, 0.1054, 0.106, 0.1087",\
                 "0.1254, 0.1244, 0.1218, 0.1187, 0.1157, 0.1133, 0.1116, 0.1108, 0.1102, 0.1128",\
                 "0.1511, 0.1497, 0.1455, 0.14, 0.1346, 0.1297, 0.1252, 0.1219, 0.1195, 0.1219",\
                 "0.1853, 0.1835, 0.1781, 0.1704, 0.162, 0.1544, 0.1473, 0.1411, 0.1364, 0.1382",\
                 "0.2283, 0.2262, 0.2197, 0.2098, 0.1988, 0.188, 0.178, 0.169, 0.1617, 0.1646",\
                 "0.2804, 0.2779, 0.2704, 0.2587, 0.245, 0.2311, 0.2176, 0.2059, 0.197, 0.2045");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02902, 0.02898, 0.02895, 0.02896, 0.02898, 0.02902, 0.02903, 0.02902, 0.02903, 0.02903",\
                 "0.02915, 0.02911, 0.0291, 0.02914, 0.02917, 0.0292, 0.0292, 0.02921, 0.02922, 0.02923",\
                 "0.02964, 0.02964, 0.02959, 0.02955, 0.02956, 0.02957, 0.02959, 0.02958, 0.02957, 0.02959",\
                 "0.0323, 0.03219, 0.03184, 0.03146, 0.03108, 0.03072, 0.03049, 0.03032, 0.03017, 0.03009",\
                 "0.03923, 0.03892, 0.03795, 0.03665, 0.03541, 0.03433, 0.03338, 0.03267, 0.0321, 0.03167",\
                 "0.05172, 0.05115, 0.04932, 0.04679, 0.04411, 0.04172, 0.03959, 0.03788, 0.03649, 0.03532",\
                 "0.07053, 0.06958, 0.06687, 0.06279, 0.05838, 0.05413, 0.05034, 0.04711, 0.04447, 0.0422",\
                 "0.09615, 0.09491, 0.09121, 0.08552, 0.07906, 0.07263, 0.06673, 0.06155, 0.05703, 0.05327",\
                 "0.1288, 0.1274, 0.1228, 0.1155, 0.1068, 0.09795, 0.08957, 0.08202, 0.07529, 0.06948",\
                 "0.1691, 0.1674, 0.1618, 0.153, 0.1422, 0.1308, 0.1196, 0.1093, 0.1, 0.09176");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.103, 0.1032, 0.1035, 0.1038, 0.1041, 0.1044, 0.1047, 0.1051, 0.1063, 0.1155",\
                 "0.1015, 0.1018, 0.1025, 0.1033, 0.1039, 0.1045, 0.1049, 0.1054, 0.1069, 0.1161",\
                 "0.09917, 0.09947, 0.1002, 0.1014, 0.1025, 0.1034, 0.1042, 0.1049, 0.1064, 0.1163",\
                 "0.0999, 0.09993, 0.1001, 0.1006, 0.1015, 0.1024, 0.1034, 0.1043, 0.1059, 0.1164",\
                 "0.1069, 0.1065, 0.1056, 0.1047, 0.1041, 0.1041, 0.1044, 0.1047, 0.1068, 0.1186",\
                 "0.1218, 0.121, 0.1188, 0.116, 0.1134, 0.1114, 0.1099, 0.1091, 0.1107, 0.1236",\
                 "0.1449, 0.1436, 0.14, 0.1351, 0.1303, 0.1257, 0.1219, 0.1192, 0.1197, 0.1349",\
                 "0.1757, 0.1741, 0.1692, 0.1624, 0.155, 0.148, 0.1416, 0.1363, 0.1352, 0.1544",\
                 "0.2145, 0.2125, 0.2065, 0.1978, 0.188, 0.1784, 0.1693, 0.1614, 0.1599, 0.1869",\
                 "0.2614, 0.2591, 0.2522, 0.2417, 0.2295, 0.2171, 0.2055, 0.1954, 0.1963, 0.2375");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.029, 0.029, 0.02899, 0.02899, 0.02901, 0.02902, 0.02901, 0.02901, 0.02899, 0.02899",\
                 "0.02912, 0.02913, 0.02913, 0.02917, 0.02918, 0.02921, 0.0292, 0.02921, 0.02921, 0.02919",\
                 "0.02964, 0.02963, 0.02961, 0.02961, 0.02959, 0.02959, 0.02957, 0.02956, 0.02955, 0.02952",\
                 "0.0323, 0.03218, 0.03186, 0.03145, 0.03109, 0.03075, 0.03051, 0.0303, 0.03016, 0.03006",\
                 "0.03919, 0.0389, 0.03793, 0.03666, 0.03541, 0.03431, 0.03341, 0.03268, 0.03208, 0.03164",\
                 "0.05166, 0.05107, 0.04926, 0.04677, 0.04411, 0.04169, 0.0396, 0.0379, 0.03648, 0.03534",\
                 "0.07043, 0.06953, 0.0668, 0.06279, 0.05837, 0.0541, 0.05036, 0.04714, 0.04446, 0.04222",\
                 "0.09597, 0.0948, 0.09113, 0.08548, 0.07903, 0.0726, 0.06669, 0.06149, 0.057, 0.05324",\
                 "0.1287, 0.1272, 0.1226, 0.1154, 0.1068, 0.0979, 0.08952, 0.08196, 0.07526, 0.06947",\
                 "0.1689, 0.1671, 0.1617, 0.1529, 0.1422, 0.1307, 0.1196, 0.1093, 0.09998, 0.09172");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1194, 0.1195, 0.1197, 0.12, 0.1203, 0.1207, 0.1211, 0.1216, 0.1229, 0.1322",\
                 "0.1182, 0.1184, 0.119, 0.1197, 0.1202, 0.1207, 0.1213, 0.1218, 0.1233, 0.133",\
                 "0.1159, 0.1162, 0.1169, 0.1179, 0.1189, 0.1197, 0.1206, 0.1215, 0.1231, 0.1332",\
                 "0.1162, 0.1162, 0.1164, 0.117, 0.1178, 0.1188, 0.1197, 0.1206, 0.1226, 0.1337",\
                 "0.1224, 0.1221, 0.1214, 0.1208, 0.1203, 0.1203, 0.1207, 0.1211, 0.1234, 0.1355",\
                 "0.1364, 0.1358, 0.1339, 0.1315, 0.1292, 0.1274, 0.1262, 0.1255, 0.127, 0.1408",\
                 "0.1586, 0.1576, 0.1545, 0.1502, 0.1456, 0.1413, 0.138, 0.1354, 0.1358, 0.1517",\
                 "0.1888, 0.1874, 0.1831, 0.1769, 0.1701, 0.1634, 0.1573, 0.1522, 0.1516, 0.1716",\
                 "0.2269, 0.2252, 0.2198, 0.2118, 0.2025, 0.1934, 0.1846, 0.177, 0.1762, 0.204",\
                 "0.2733, 0.2713, 0.2649, 0.2551, 0.2437, 0.2319, 0.2206, 0.2108, 0.2127, 0.2551");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02619, 0.02616, 0.02617, 0.02615, 0.02617, 0.02618, 0.02619, 0.02618, 0.0262, 0.02619",\
                 "0.02597, 0.02598, 0.02596, 0.02597, 0.02599, 0.026, 0.02604, 0.02603, 0.02601, 0.02602",\
                 "0.02597, 0.02594, 0.02588, 0.02579, 0.02572, 0.02572, 0.0257, 0.0257, 0.02567, 0.02567",\
                 "0.02876, 0.02857, 0.02809, 0.02751, 0.02701, 0.02659, 0.02631, 0.0261, 0.02597, 0.02585",\
                 "0.03674, 0.03625, 0.03489, 0.03318, 0.0316, 0.03028, 0.02923, 0.02842, 0.02781, 0.02733",\
                 "0.05106, 0.05021, 0.04774, 0.04441, 0.04107, 0.03816, 0.03578, 0.03386, 0.03229, 0.03105",\
                 "0.07247, 0.07123, 0.06752, 0.06232, 0.05683, 0.05169, 0.04729, 0.04363, 0.04065, 0.0382",\
                 "0.1014, 0.09975, 0.09489, 0.08764, 0.0796, 0.07191, 0.06499, 0.05905, 0.054, 0.04981",\
                 "0.138, 0.1361, 0.1301, 0.121, 0.1103, 0.0997, 0.08987, 0.08109, 0.07354, 0.06707",\
                 "0.1828, 0.1806, 0.1736, 0.1626, 0.1494, 0.1357, 0.1226, 0.1108, 0.1001, 0.09085");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.09502, 0.09516, 0.09545, 0.09578, 0.09608, 0.09635, 0.09669, 0.09707, 0.09818, 0.1062",\
                 "0.09346, 0.09379, 0.09453, 0.09532, 0.09588, 0.09642, 0.09682, 0.09737, 0.09853, 0.1067",\
                 "0.09121, 0.09147, 0.09228, 0.09343, 0.09453, 0.09539, 0.09619, 0.09688, 0.09832, 0.1069",\
                 "0.0921, 0.09214, 0.09226, 0.09276, 0.09354, 0.09444, 0.09527, 0.09621, 0.09775, 0.1078",\
                 "0.09942, 0.09907, 0.09804, 0.09711, 0.09647, 0.09645, 0.09659, 0.09694, 0.09845, 0.1093",\
                 "0.1153, 0.1144, 0.112, 0.1091, 0.1063, 0.1041, 0.1026, 0.1018, 0.1027, 0.1143",\
                 "0.1404, 0.139, 0.135, 0.1297, 0.1245, 0.1197, 0.1156, 0.1125, 0.1122, 0.1256",\
                 "0.1741, 0.1723, 0.1669, 0.1593, 0.1514, 0.1439, 0.1371, 0.1311, 0.1293, 0.1458",\
                 "0.2167, 0.2145, 0.208, 0.1982, 0.1874, 0.1768, 0.1674, 0.1587, 0.1554, 0.178",\
                 "0.2682, 0.2658, 0.2581, 0.2464, 0.2331, 0.2194, 0.2066, 0.1955, 0.1936, 0.2278");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02627, 0.02629, 0.02628, 0.02626, 0.02626, 0.02628, 0.0263, 0.0263, 0.0263, 0.0263",\
                 "0.02631, 0.02629, 0.02626, 0.02627, 0.02629, 0.02631, 0.02632, 0.02634, 0.02632, 0.02634",\
                 "0.02658, 0.02655, 0.0265, 0.02641, 0.02635, 0.02633, 0.02632, 0.02632, 0.02631, 0.0263",\
                 "0.02917, 0.029, 0.02857, 0.02809, 0.02766, 0.02729, 0.02704, 0.02686, 0.02672, 0.02662",\
                 "0.0361, 0.03568, 0.03454, 0.03312, 0.03173, 0.0306, 0.02968, 0.02894, 0.02841, 0.02798",\
                 "0.04859, 0.04787, 0.04577, 0.04298, 0.0401, 0.03759, 0.03552, 0.03384, 0.03247, 0.03136",\
                 "0.06743, 0.06633, 0.0632, 0.05871, 0.05398, 0.04956, 0.04574, 0.0426, 0.03996, 0.03778",\
                 "0.09298, 0.09158, 0.08733, 0.08106, 0.07413, 0.06749, 0.06148, 0.05623, 0.05187, 0.04817",\
                 "0.1256, 0.1239, 0.1186, 0.1105, 0.1013, 0.09205, 0.08353, 0.07588, 0.06926, 0.06354",\
                 "0.1656, 0.1636, 0.1573, 0.1476, 0.136, 0.124, 0.1126, 0.1022, 0.09292, 0.08474");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.095, 0.09514, 0.09545, 0.09575, 0.09606, 0.09636, 0.09671, 0.09723, 0.101, 0.124",\
                 "0.09349, 0.09378, 0.09451, 0.0953, 0.09592, 0.09643, 0.09687, 0.09749, 0.1015, 0.1248",\
                 "0.09113, 0.09143, 0.09226, 0.09339, 0.09454, 0.0954, 0.09615, 0.09702, 0.1013, 0.1254",\
                 "0.09164, 0.09167, 0.09188, 0.09246, 0.09332, 0.09428, 0.09519, 0.09626, 0.101, 0.1268",\
                 "0.09788, 0.0976, 0.09676, 0.09601, 0.09559, 0.09563, 0.09595, 0.09655, 0.1019, 0.1303",\
                 "0.112, 0.1113, 0.1091, 0.1066, 0.1041, 0.1023, 0.1011, 0.1009, 0.106, 0.1379",\
                 "0.1345, 0.1332, 0.1297, 0.1251, 0.1204, 0.116, 0.1126, 0.1105, 0.1157, 0.1526",\
                 "0.1649, 0.1632, 0.1584, 0.1517, 0.1447, 0.1379, 0.1315, 0.1272, 0.1331, 0.1774",\
                 "0.2032, 0.2013, 0.1952, 0.1866, 0.1771, 0.1678, 0.159, 0.1525, 0.1605, 0.2183",\
                 "0.2498, 0.2475, 0.2404, 0.23, 0.2179, 0.2059, 0.1948, 0.1872, 0.2016, 0.2798");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02632, 0.02631, 0.0263, 0.02629, 0.0263, 0.02631, 0.0263, 0.02631, 0.02629, 0.02629",\
                 "0.02631, 0.02631, 0.02631, 0.02631, 0.02631, 0.02634, 0.02634, 0.02634, 0.02633, 0.02632",\
                 "0.02658, 0.02655, 0.0265, 0.02643, 0.02638, 0.02636, 0.02633, 0.0263, 0.02629, 0.02628",\
                 "0.02915, 0.029, 0.02859, 0.02809, 0.02766, 0.02733, 0.02706, 0.02685, 0.02671, 0.02659",\
                 "0.03607, 0.03567, 0.03452, 0.03309, 0.03172, 0.03062, 0.02969, 0.02898, 0.0284, 0.02798",\
                 "0.04853, 0.04782, 0.04576, 0.04297, 0.04011, 0.0376, 0.03555, 0.03384, 0.03246, 0.03137",\
                 "0.06729, 0.06626, 0.06311, 0.05868, 0.05397, 0.04959, 0.04575, 0.0426, 0.03996, 0.03778",\
                 "0.0928, 0.0914, 0.08724, 0.081, 0.07409, 0.06746, 0.06145, 0.05622, 0.05186, 0.04817",\
                 "0.1254, 0.1237, 0.1185, 0.1105, 0.1013, 0.09202, 0.0835, 0.07584, 0.06926, 0.06352",\
                 "0.1653, 0.1634, 0.1571, 0.1474, 0.1359, 0.124, 0.1126, 0.1021, 0.09288, 0.0847");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1114, 0.1115, 0.1117, 0.112, 0.1123, 0.1127, 0.113, 0.1137, 0.1178, 0.1415",\
                 "0.1102, 0.1104, 0.111, 0.1116, 0.1122, 0.1127, 0.1132, 0.114, 0.1182, 0.1422",\
                 "0.1079, 0.1081, 0.1088, 0.1099, 0.1109, 0.1118, 0.1125, 0.1135, 0.118, 0.143",\
                 "0.1079, 0.108, 0.1082, 0.1088, 0.1097, 0.1106, 0.1116, 0.1128, 0.1178, 0.1446",\
                 "0.1135, 0.1132, 0.1126, 0.112, 0.1118, 0.1119, 0.1124, 0.1132, 0.1187, 0.1479",\
                 "0.1266, 0.126, 0.1244, 0.1221, 0.1199, 0.1183, 0.1173, 0.1172, 0.1228, 0.1555",\
                 "0.1483, 0.1472, 0.1442, 0.1402, 0.1358, 0.1318, 0.1286, 0.1268, 0.1323, 0.1705",\
                 "0.178, 0.1765, 0.1723, 0.1662, 0.1597, 0.1532, 0.1474, 0.1433, 0.1499, 0.1958",\
                 "0.2157, 0.214, 0.2085, 0.2006, 0.1916, 0.1828, 0.1744, 0.1682, 0.1772, 0.2366",\
                 "0.2617, 0.2596, 0.2532, 0.2435, 0.2324, 0.2207, 0.2098, 0.2027, 0.2185, 0.299");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02621, 0.0262, 0.02618, 0.02618, 0.02619, 0.0262, 0.02621, 0.02619, 0.02618, 0.02618",\
                 "0.02599, 0.02599, 0.026, 0.026, 0.02601, 0.02603, 0.02602, 0.02602, 0.02601, 0.02599",\
                 "0.02597, 0.02594, 0.02588, 0.02581, 0.02576, 0.02574, 0.02572, 0.02569, 0.02568, 0.02566",\
                 "0.02876, 0.02857, 0.02809, 0.02752, 0.02701, 0.02661, 0.02634, 0.02612, 0.02595, 0.02583",\
                 "0.0367, 0.03624, 0.03488, 0.03318, 0.03159, 0.03028, 0.02924, 0.02842, 0.02781, 0.02733",\
                 "0.05097, 0.05015, 0.0477, 0.04439, 0.0411, 0.03817, 0.03577, 0.03385, 0.03228, 0.03106",\
                 "0.07231, 0.0711, 0.06743, 0.06228, 0.05679, 0.05167, 0.0473, 0.04366, 0.04067, 0.0382",\
                 "0.1011, 0.09955, 0.09476, 0.08757, 0.07956, 0.07187, 0.06495, 0.05901, 0.054, 0.04983",\
                 "0.1378, 0.1359, 0.13, 0.1209, 0.1102, 0.09966, 0.08984, 0.08106, 0.07349, 0.06705",\
                 "0.1826, 0.1803, 0.1734, 0.1625, 0.1493, 0.1357, 0.1226, 0.1107, 0.1001, 0.09081");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1126, 0.1127, 0.113, 0.1133, 0.1135, 0.1139, 0.1143, 0.1148, 0.116, 0.1245",\
                 "0.1115, 0.1117, 0.1122, 0.1129, 0.1134, 0.1139, 0.1145, 0.115, 0.1164, 0.125",\
                 "0.1092, 0.1094, 0.1101, 0.1111, 0.1121, 0.113, 0.114, 0.1146, 0.1161, 0.1254",\
                 "0.1096, 0.1096, 0.1098, 0.1103, 0.1112, 0.1121, 0.1129, 0.1139, 0.1156, 0.126",\
                 "0.1161, 0.1158, 0.1151, 0.1143, 0.1138, 0.1139, 0.1141, 0.1147, 0.1163, 0.1273",\
                 "0.1309, 0.1302, 0.1283, 0.1258, 0.1233, 0.1213, 0.12, 0.1194, 0.1203, 0.1328",\
                 "0.155, 0.1537, 0.1503, 0.1457, 0.141, 0.1366, 0.1328, 0.13, 0.1299, 0.144",\
                 "0.1879, 0.1863, 0.1815, 0.1748, 0.1673, 0.1603, 0.154, 0.1484, 0.1469, 0.1643",\
                 "0.2298, 0.2278, 0.2219, 0.2131, 0.2029, 0.1929, 0.1836, 0.1756, 0.173, 0.1967",\
                 "0.2807, 0.2785, 0.2716, 0.2606, 0.248, 0.235, 0.2227, 0.2119, 0.2105, 0.2469");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02633, 0.02631, 0.02629, 0.02629, 0.02629, 0.02631, 0.02631, 0.0263, 0.02629, 0.02628",\
                 "0.02631, 0.02631, 0.02632, 0.02631, 0.02632, 0.02634, 0.02634, 0.02634, 0.02633, 0.02632",\
                 "0.02657, 0.02654, 0.0265, 0.02644, 0.02639, 0.02636, 0.02633, 0.02631, 0.02629, 0.02627",\
                 "0.02915, 0.029, 0.02859, 0.02808, 0.02766, 0.02733, 0.02705, 0.02686, 0.02671, 0.02659",\
                 "0.03607, 0.03564, 0.03454, 0.0331, 0.03173, 0.03061, 0.02969, 0.02897, 0.02842, 0.02798",\
                 "0.04852, 0.04781, 0.04575, 0.04297, 0.04011, 0.0376, 0.03552, 0.03385, 0.03247, 0.03137",\
                 "0.06729, 0.06626, 0.06311, 0.05867, 0.05396, 0.04958, 0.04574, 0.0426, 0.03995, 0.03777",\
                 "0.09277, 0.0914, 0.08724, 0.08101, 0.0741, 0.06746, 0.06145, 0.05621, 0.05186, 0.04819",\
                 "0.1254, 0.1237, 0.1184, 0.1105, 0.1012, 0.09202, 0.08351, 0.07585, 0.06926, 0.06351",\
                 "0.1653, 0.1633, 0.1571, 0.1474, 0.1359, 0.124, 0.1125, 0.1021, 0.09288, 0.08475");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1126, 0.1127, 0.1129, 0.1132, 0.1135, 0.1138, 0.1142, 0.1149, 0.119, 0.1429",\
                 "0.1114, 0.1117, 0.1122, 0.1129, 0.1134, 0.1139, 0.1144, 0.1152, 0.1194, 0.1435",\
                 "0.1091, 0.1094, 0.1101, 0.1111, 0.1121, 0.1131, 0.1137, 0.1147, 0.1192, 0.1443",\
                 "0.1091, 0.1092, 0.1095, 0.11, 0.1109, 0.112, 0.1128, 0.114, 0.119, 0.1458",\
                 "0.1146, 0.1144, 0.1138, 0.1132, 0.113, 0.1131, 0.1135, 0.1145, 0.1199, 0.149",\
                 "0.1278, 0.1272, 0.1255, 0.1233, 0.1212, 0.1196, 0.1185, 0.1183, 0.1241, 0.1566",\
                 "0.1493, 0.1483, 0.1453, 0.1412, 0.1369, 0.133, 0.1297, 0.1279, 0.1338, 0.1715",\
                 "0.1789, 0.1775, 0.1733, 0.1673, 0.1608, 0.1543, 0.1485, 0.1445, 0.1511, 0.1971",\
                 "0.2166, 0.2149, 0.2095, 0.2017, 0.1928, 0.1839, 0.1754, 0.1694, 0.1784, 0.2381",\
                 "0.2626, 0.2605, 0.2542, 0.2445, 0.2334, 0.2219, 0.211, 0.2039, 0.2197, 0.3003");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02632, 0.0263, 0.0263, 0.02628, 0.02629, 0.0263, 0.0263, 0.02629, 0.02629, 0.02628",\
                 "0.02631, 0.02631, 0.02631, 0.02632, 0.02632, 0.02634, 0.02634, 0.02633, 0.02632, 0.02631",\
                 "0.02656, 0.02654, 0.02649, 0.02643, 0.02638, 0.02636, 0.02633, 0.02631, 0.02629, 0.02629",\
                 "0.02914, 0.02899, 0.02857, 0.02808, 0.02766, 0.02732, 0.02705, 0.02685, 0.02671, 0.02659",\
                 "0.03603, 0.03563, 0.03451, 0.03309, 0.03172, 0.03061, 0.02968, 0.02897, 0.02842, 0.02796",\
                 "0.04846, 0.04775, 0.04571, 0.04295, 0.04009, 0.03759, 0.03552, 0.03385, 0.03246, 0.03137",\
                 "0.06718, 0.06616, 0.06305, 0.05863, 0.05394, 0.04956, 0.04574, 0.0426, 0.03995, 0.03778",\
                 "0.09264, 0.09127, 0.08712, 0.08094, 0.07405, 0.06743, 0.06143, 0.0562, 0.05184, 0.04819",\
                 "0.1252, 0.1235, 0.1183, 0.1103, 0.1012, 0.09197, 0.08348, 0.07581, 0.06925, 0.06352",\
                 "0.1651, 0.1632, 0.157, 0.1473, 0.1358, 0.1239, 0.1125, 0.1021, 0.09286, 0.08472");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1289, 0.129, 0.1292, 0.1294, 0.1297, 0.1301, 0.1304, 0.1311, 0.1353, 0.1597",\
                 "0.128, 0.1282, 0.1286, 0.1291, 0.1296, 0.1302, 0.1307, 0.1314, 0.1358, 0.1604",\
                 "0.1258, 0.126, 0.1266, 0.1275, 0.1284, 0.1292, 0.13, 0.1309, 0.1356, 0.1612",\
                 "0.1254, 0.1255, 0.1258, 0.1264, 0.1272, 0.1281, 0.129, 0.1302, 0.1354, 0.1628",\
                 "0.1303, 0.1301, 0.1297, 0.1293, 0.1291, 0.1293, 0.1297, 0.1306, 0.1363, 0.1665",\
                 "0.1427, 0.1423, 0.1408, 0.1389, 0.137, 0.1355, 0.1346, 0.1345, 0.1403, 0.174",\
                 "0.1635, 0.1626, 0.16, 0.1564, 0.1524, 0.1487, 0.1455, 0.1438, 0.1501, 0.189",\
                 "0.1924, 0.1912, 0.1874, 0.1819, 0.1758, 0.1698, 0.1643, 0.1603, 0.1673, 0.2147",\
                 "0.2294, 0.2278, 0.2231, 0.2159, 0.2074, 0.199, 0.1907, 0.1851, 0.1946, 0.2558",\
                 "0.2749, 0.273, 0.2672, 0.2582, 0.2476, 0.2365, 0.2258, 0.2193, 0.2361, 0.3185");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02891, 0.02888, 0.02886, 0.02887, 0.02891, 0.02893, 0.02896, 0.02894, 0.02894, 0.02894",\
                 "0.02884, 0.0288, 0.02883, 0.02885, 0.02889, 0.02894, 0.02894, 0.02895, 0.02895, 0.02895",\
                 "0.0285, 0.02853, 0.02858, 0.02863, 0.02874, 0.02882, 0.02884, 0.02888, 0.02888, 0.02891",\
                 "0.0307, 0.03061, 0.03037, 0.03015, 0.02992, 0.02965, 0.02949, 0.02936, 0.02928, 0.02921",\
                 "0.03808, 0.03777, 0.03689, 0.03565, 0.03447, 0.03342, 0.03257, 0.03183, 0.03128, 0.03084",\
                 "0.05218, 0.05153, 0.04969, 0.04703, 0.04427, 0.04169, 0.03956, 0.03777, 0.03625, 0.03505",\
                 "0.07354, 0.07263, 0.06965, 0.06536, 0.06058, 0.05603, 0.05196, 0.04846, 0.04548, 0.04304",\
                 "0.1028, 0.1015, 0.09751, 0.09142, 0.08443, 0.07739, 0.07091, 0.06517, 0.06015, 0.05593",\
                 "0.1403, 0.1386, 0.1337, 0.1258, 0.1163, 0.1066, 0.09733, 0.08892, 0.08148, 0.07495",\
                 "0.1861, 0.1843, 0.1784, 0.1688, 0.157, 0.1445, 0.1322, 0.1207, 0.1104, 0.101");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1206, 0.1207, 0.1207, 0.1208, 0.121, 0.1213, 0.1217, 0.1222, 0.1229, 0.125",\
                 "0.1195, 0.1196, 0.1198, 0.1201, 0.1204, 0.1208, 0.1212, 0.1217, 0.1222, 0.1244",\
                 "0.1183, 0.1183, 0.1187, 0.1192, 0.1197, 0.1203, 0.1208, 0.1214, 0.1221, 0.1245",\
                 "0.1194, 0.1193, 0.1193, 0.1194, 0.1196, 0.1201, 0.1206, 0.1212, 0.1218, 0.1243",\
                 "0.1272, 0.1269, 0.1258, 0.1246, 0.1235, 0.1231, 0.1227, 0.1228, 0.1232, 0.126",\
                 "0.1445, 0.1436, 0.1412, 0.138, 0.1347, 0.132, 0.13, 0.1287, 0.128, 0.1305",\
                 "0.1713, 0.1701, 0.1661, 0.1606, 0.1547, 0.1492, 0.1446, 0.1408, 0.1384, 0.1404",\
                 "0.207, 0.2055, 0.2005, 0.1928, 0.1841, 0.1757, 0.168, 0.1612, 0.156, 0.1579",\
                 "0.2516, 0.2499, 0.244, 0.2347, 0.2233, 0.2117, 0.2009, 0.1906, 0.1831, 0.1859",\
                 "0.3055, 0.3035, 0.297, 0.2862, 0.2726, 0.258, 0.2436, 0.2303, 0.2205, 0.2281");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02901, 0.02897, 0.02895, 0.02897, 0.02898, 0.029, 0.02901, 0.02901, 0.02902, 0.02902",\
                 "0.02907, 0.0291, 0.0291, 0.02913, 0.02917, 0.0292, 0.02921, 0.02922, 0.02923, 0.02923",\
                 "0.02914, 0.02917, 0.02922, 0.02928, 0.02937, 0.02946, 0.02948, 0.02951, 0.02953, 0.02954",\
                 "0.0312, 0.03117, 0.03097, 0.03076, 0.03057, 0.03038, 0.03022, 0.03011, 0.03004, 0.02996",\
                 "0.03768, 0.03738, 0.03663, 0.03563, 0.03462, 0.03376, 0.03302, 0.03239, 0.03189, 0.03152",\
                 "0.04975, 0.04924, 0.04775, 0.04551, 0.04322, 0.04106, 0.03919, 0.03765, 0.03634, 0.03527",\
                 "0.0684, 0.06766, 0.06514, 0.06151, 0.05751, 0.0536, 0.05011, 0.04709, 0.04453, 0.04239",\
                 "0.094, 0.09292, 0.08949, 0.08425, 0.07827, 0.07226, 0.06676, 0.0618, 0.0575, 0.05381",\
                 "0.1269, 0.1256, 0.1212, 0.1143, 0.1062, 0.09793, 0.08996, 0.08273, 0.07626, 0.0706",\
                 "0.1674, 0.1658, 0.1605, 0.1521, 0.1419, 0.1311, 0.1205, 0.1106, 0.1016, 0.09361");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1206, 0.1206, 0.1207, 0.1208, 0.121, 0.1213, 0.1217, 0.1223, 0.1236, 0.133",\
                 "0.1195, 0.1196, 0.1198, 0.1201, 0.1204, 0.1207, 0.1211, 0.1216, 0.1231, 0.1325",\
                 "0.1182, 0.1183, 0.1186, 0.1192, 0.1197, 0.1202, 0.1208, 0.1212, 0.1228, 0.1329",\
                 "0.1189, 0.1189, 0.1189, 0.1191, 0.1195, 0.12, 0.1205, 0.121, 0.1228, 0.1337",\
                 "0.1255, 0.1252, 0.1243, 0.1234, 0.1225, 0.1222, 0.1222, 0.1222, 0.124, 0.1358",\
                 "0.1408, 0.1401, 0.1379, 0.135, 0.1322, 0.1299, 0.1283, 0.1271, 0.1282, 0.1416",\
                 "0.1646, 0.1636, 0.1601, 0.1552, 0.1499, 0.1451, 0.1411, 0.1379, 0.1381, 0.1536",\
                 "0.1966, 0.1952, 0.1907, 0.1839, 0.1763, 0.1687, 0.1616, 0.1558, 0.1547, 0.1744",\
                 "0.2366, 0.235, 0.2296, 0.2211, 0.2112, 0.201, 0.1912, 0.1827, 0.1811, 0.2081",\
                 "0.285, 0.2831, 0.277, 0.2672, 0.255, 0.2421, 0.2297, 0.2185, 0.2193, 0.2612");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02899, 0.02899, 0.02899, 0.029, 0.02901, 0.02901, 0.02901, 0.02899, 0.02899, 0.02898",\
                 "0.0291, 0.02912, 0.02914, 0.02916, 0.0292, 0.02921, 0.02921, 0.02921, 0.0292, 0.02919",\
                 "0.02914, 0.02917, 0.02923, 0.02932, 0.0294, 0.02946, 0.02948, 0.02949, 0.0295, 0.02948",\
                 "0.03121, 0.03115, 0.03098, 0.03077, 0.03056, 0.03039, 0.03023, 0.0301, 0.03001, 0.02994",\
                 "0.03763, 0.03739, 0.03664, 0.03564, 0.03464, 0.03375, 0.03302, 0.03239, 0.03187, 0.0315",\
                 "0.04978, 0.04923, 0.0477, 0.04553, 0.04322, 0.04108, 0.03919, 0.03764, 0.03635, 0.03527",\
                 "0.06835, 0.06757, 0.06508, 0.06147, 0.05749, 0.05359, 0.05008, 0.04708, 0.04453, 0.04239",\
                 "0.09386, 0.09277, 0.0894, 0.08419, 0.07824, 0.07224, 0.06673, 0.06177, 0.05751, 0.05379",\
                 "0.1267, 0.1254, 0.1211, 0.1143, 0.1062, 0.09786, 0.08994, 0.08267, 0.07627, 0.07056",\
                 "0.1673, 0.1657, 0.1604, 0.1521, 0.1419, 0.131, 0.1205, 0.1106, 0.1016, 0.09358");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1368, 0.1368, 0.1369, 0.137, 0.1372, 0.1375, 0.1378, 0.1384, 0.1397, 0.1492",\
                 "0.1358, 0.1359, 0.136, 0.1363, 0.1366, 0.1369, 0.1374, 0.1379, 0.1393, 0.1488",\
                 "0.1346, 0.1347, 0.135, 0.1355, 0.1359, 0.1364, 0.137, 0.1374, 0.1391, 0.1492",\
                 "0.135, 0.135, 0.1351, 0.1353, 0.1357, 0.1362, 0.1367, 0.1373, 0.1391, 0.1501",\
                 "0.1411, 0.1409, 0.1401, 0.1393, 0.1386, 0.1383, 0.1383, 0.1384, 0.1403, 0.1523",\
                 "0.1555, 0.1549, 0.153, 0.1504, 0.1479, 0.1458, 0.1444, 0.1433, 0.1445, 0.1583",\
                 "0.1786, 0.1776, 0.1745, 0.1702, 0.1652, 0.1607, 0.1568, 0.1537, 0.154, 0.1701",\
                 "0.2099, 0.2086, 0.2045, 0.1983, 0.1911, 0.184, 0.1772, 0.1718, 0.1706, 0.1908",\
                 "0.2495, 0.2479, 0.2431, 0.2351, 0.2256, 0.2159, 0.2062, 0.1979, 0.1967, 0.2251",\
                 "0.2975, 0.2957, 0.29, 0.2808, 0.2692, 0.2567, 0.2445, 0.2339, 0.2351, 0.2784");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02619, 0.02618, 0.02614, 0.02615, 0.02618, 0.0262, 0.0262, 0.0262, 0.02622, 0.0262",\
                 "0.02595, 0.02596, 0.02597, 0.02598, 0.02597, 0.026, 0.02602, 0.02603, 0.02602, 0.02602",\
                 "0.02549, 0.02551, 0.02554, 0.02555, 0.02556, 0.0256, 0.02561, 0.02564, 0.02564, 0.02565",\
                 "0.02757, 0.02745, 0.02716, 0.02683, 0.02653, 0.02625, 0.02606, 0.02593, 0.02582, 0.02575",\
                 "0.03493, 0.03453, 0.03346, 0.03209, 0.03081, 0.02971, 0.02884, 0.02814, 0.02756, 0.02715",\
                 "0.04889, 0.04817, 0.04603, 0.04312, 0.04019, 0.03757, 0.03537, 0.0336, 0.03216, 0.031",\
                 "0.0702, 0.06911, 0.06574, 0.06099, 0.05594, 0.05123, 0.04711, 0.04365, 0.04078, 0.03842",\
                 "0.09932, 0.09781, 0.09324, 0.08647, 0.07901, 0.07171, 0.06519, 0.05947, 0.05456, 0.05048",\
                 "0.1365, 0.1346, 0.1289, 0.1201, 0.1101, 0.09996, 0.09058, 0.08212, 0.07472, 0.06832",\
                 "0.1821, 0.18, 0.1731, 0.1625, 0.1498, 0.1366, 0.124, 0.1125, 0.1021, 0.09306");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1126, 0.1127, 0.1127, 0.1129, 0.113, 0.1133, 0.1137, 0.1142, 0.1155, 0.1239",\
                 "0.1115, 0.1116, 0.1119, 0.1122, 0.1125, 0.1128, 0.1132, 0.1136, 0.115, 0.1237",\
                 "0.1102, 0.1104, 0.1107, 0.1112, 0.1118, 0.1122, 0.1128, 0.1133, 0.1147, 0.1238",\
                 "0.1111, 0.111, 0.111, 0.1112, 0.1115, 0.112, 0.1125, 0.1131, 0.1147, 0.1245",\
                 "0.1181, 0.1178, 0.1169, 0.1158, 0.1149, 0.1145, 0.1143, 0.1145, 0.1159, 0.1271",\
                 "0.1344, 0.1336, 0.1313, 0.1283, 0.1253, 0.1228, 0.121, 0.1199, 0.1206, 0.1326",\
                 "0.1604, 0.1592, 0.1554, 0.15, 0.1445, 0.1394, 0.1349, 0.1315, 0.1309, 0.1446",\
                 "0.1955, 0.194, 0.1891, 0.1816, 0.1732, 0.1652, 0.1577, 0.1513, 0.149, 0.1659",\
                 "0.2395, 0.2377, 0.232, 0.2228, 0.2116, 0.2004, 0.19, 0.1804, 0.177, 0.1998",\
                 "0.2928, 0.2907, 0.2843, 0.2737, 0.2603, 0.2459, 0.232, 0.2198, 0.2173, 0.2527");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02627, 0.02625, 0.02622, 0.02622, 0.02624, 0.02626, 0.02627, 0.02628, 0.02626, 0.02626",\
                 "0.02624, 0.02627, 0.02627, 0.02625, 0.02627, 0.02629, 0.0263, 0.0263, 0.02632, 0.02632",\
                 "0.02613, 0.02615, 0.02619, 0.0262, 0.02622, 0.02626, 0.02629, 0.02628, 0.0263, 0.0263",\
                 "0.02808, 0.02797, 0.02773, 0.02745, 0.0272, 0.02696, 0.0268, 0.02668, 0.02657, 0.0265",\
                 "0.0345, 0.03418, 0.03325, 0.0321, 0.03103, 0.03009, 0.02935, 0.02872, 0.02823, 0.02785",\
                 "0.04664, 0.04603, 0.04422, 0.04179, 0.0393, 0.03706, 0.03518, 0.03364, 0.03236, 0.03132",\
                 "0.06521, 0.06431, 0.06145, 0.05745, 0.05314, 0.04914, 0.04559, 0.04254, 0.04004, 0.03798",\
                 "0.09076, 0.08946, 0.08555, 0.0798, 0.07341, 0.06721, 0.06156, 0.05659, 0.05235, 0.04877",\
                 "0.1236, 0.1219, 0.1169, 0.1094, 0.1008, 0.09207, 0.08396, 0.07666, 0.07025, 0.06468",\
                 "0.1639, 0.162, 0.156, 0.1467, 0.1357, 0.1244, 0.1135, 0.1036, 0.09458, 0.08663");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1126, 0.1126, 0.1127, 0.1129, 0.113, 0.1133, 0.1136, 0.1144, 0.1185, 0.1422",\
                 "0.1115, 0.1116, 0.1118, 0.1121, 0.1124, 0.1128, 0.1131, 0.1138, 0.118, 0.142",\
                 "0.1102, 0.1103, 0.1107, 0.1112, 0.1117, 0.1122, 0.1127, 0.1135, 0.1177, 0.1428",\
                 "0.1106, 0.1106, 0.1107, 0.1109, 0.1114, 0.1119, 0.1124, 0.1133, 0.1181, 0.1447",\
                 "0.1166, 0.1163, 0.1155, 0.1146, 0.114, 0.1137, 0.1138, 0.1143, 0.1195, 0.1487",\
                 "0.1309, 0.1302, 0.1282, 0.1256, 0.123, 0.1209, 0.1194, 0.1188, 0.1242, 0.1568",\
                 "0.1541, 0.153, 0.1496, 0.145, 0.14, 0.1354, 0.1316, 0.1291, 0.1347, 0.1722",\
                 "0.1855, 0.1841, 0.1797, 0.1731, 0.1657, 0.1585, 0.1517, 0.1469, 0.1529, 0.1986",\
                 "0.2251, 0.2233, 0.2181, 0.2098, 0.2, 0.1903, 0.1806, 0.1736, 0.1819, 0.2408",\
                 "0.273, 0.2711, 0.265, 0.2552, 0.2434, 0.2308, 0.2186, 0.2103, 0.2252, 0.3051");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02627, 0.02627, 0.02626, 0.02626, 0.02627, 0.02628, 0.02628, 0.02627, 0.02626, 0.02626",\
                 "0.02627, 0.02627, 0.02628, 0.02629, 0.02629, 0.02632, 0.02632, 0.0263, 0.02631, 0.0263",\
                 "0.02613, 0.02614, 0.02619, 0.02623, 0.02626, 0.02628, 0.02628, 0.0263, 0.02628, 0.02627",\
                 "0.02808, 0.02798, 0.02774, 0.02745, 0.0272, 0.02698, 0.02681, 0.02668, 0.02657, 0.02649",\
                 "0.03445, 0.03413, 0.03326, 0.03212, 0.03103, 0.03009, 0.02934, 0.02872, 0.02823, 0.02784",\
                 "0.04658, 0.04598, 0.04419, 0.04179, 0.03929, 0.03706, 0.03517, 0.03362, 0.03236, 0.03132",\
                 "0.06513, 0.0642, 0.06139, 0.05741, 0.05314, 0.0491, 0.04556, 0.04253, 0.04005, 0.03796",\
                 "0.09059, 0.08931, 0.08546, 0.07974, 0.07336, 0.06716, 0.06152, 0.05657, 0.05235, 0.04875",\
                 "0.1233, 0.1218, 0.1168, 0.1094, 0.1007, 0.09206, 0.08395, 0.07664, 0.07024, 0.06468",\
                 "0.1637, 0.1618, 0.1558, 0.1466, 0.1357, 0.1243, 0.1135, 0.1035, 0.09452, 0.08662");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1288, 0.1288, 0.1289, 0.129, 0.1292, 0.1295, 0.1299, 0.1305, 0.1346, 0.1589",\
                 "0.1278, 0.1279, 0.1281, 0.1283, 0.1286, 0.1289, 0.1293, 0.13, 0.1343, 0.1589",\
                 "0.1266, 0.1267, 0.127, 0.1274, 0.1279, 0.1284, 0.129, 0.1297, 0.1342, 0.1594",\
                 "0.1268, 0.1268, 0.1269, 0.1272, 0.1276, 0.128, 0.1286, 0.1294, 0.1344, 0.1615",\
                 "0.1322, 0.132, 0.1313, 0.1306, 0.1301, 0.1299, 0.1299, 0.1304, 0.1358, 0.1655",\
                 "0.1457, 0.1451, 0.1434, 0.1411, 0.1387, 0.1367, 0.1354, 0.1349, 0.1405, 0.1738",\
                 "0.1681, 0.167, 0.1641, 0.16, 0.1554, 0.151, 0.1474, 0.1452, 0.1508, 0.1894",\
                 "0.1989, 0.1976, 0.1936, 0.1875, 0.1807, 0.1736, 0.1674, 0.1627, 0.1691, 0.2163",\
                 "0.2379, 0.2364, 0.2315, 0.2237, 0.2145, 0.205, 0.1957, 0.1891, 0.1981, 0.2585",\
                 "0.2854, 0.2837, 0.2781, 0.2689, 0.2574, 0.2453, 0.2335, 0.2256, 0.2416, 0.3232");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.02621, 0.02621, 0.02621, 0.0262, 0.02621, 0.02623, 0.02624, 0.02622, 0.02621, 0.02621",\
                 "0.02597, 0.02598, 0.02598, 0.02598, 0.02599, 0.02602, 0.02602, 0.02602, 0.02601, 0.026",\
                 "0.02549, 0.0255, 0.02554, 0.02558, 0.02561, 0.02563, 0.02564, 0.02563, 0.02563, 0.02562",\
                 "0.02758, 0.02747, 0.02717, 0.02683, 0.02652, 0.02629, 0.02609, 0.02594, 0.02582, 0.02574",\
                 "0.03487, 0.03451, 0.03345, 0.0321, 0.0308, 0.02971, 0.02884, 0.02814, 0.02759, 0.02716",\
                 "0.04884, 0.04812, 0.04599, 0.04311, 0.04018, 0.03757, 0.0354, 0.03361, 0.03217, 0.031",\
                 "0.07008, 0.06899, 0.06567, 0.06096, 0.0559, 0.05121, 0.0471, 0.04366, 0.04079, 0.03842",\
                 "0.09912, 0.09763, 0.09314, 0.0864, 0.07893, 0.07171, 0.06517, 0.05945, 0.05458, 0.0505",\
                 "0.1363, 0.1345, 0.1287, 0.1201, 0.11, 0.09992, 0.09053, 0.08209, 0.07472, 0.06833",\
                 "0.1819, 0.1797, 0.1729, 0.1623, 0.1497, 0.1366, 0.124, 0.1125, 0.1021, 0.09305");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.13, 0.13, 0.1301, 0.1303, 0.1304, 0.1308, 0.131, 0.1315, 0.1329, 0.1416",\
                 "0.129, 0.1291, 0.1293, 0.1296, 0.1298, 0.1302, 0.1305, 0.131, 0.1323, 0.1412",\
                 "0.1278, 0.1279, 0.1282, 0.1287, 0.1292, 0.1296, 0.1301, 0.1307, 0.1322, 0.1414",\
                 "0.1284, 0.1284, 0.1284, 0.1286, 0.129, 0.1294, 0.1299, 0.1308, 0.1321, 0.1421",\
                 "0.1348, 0.1345, 0.1338, 0.1329, 0.1321, 0.1318, 0.1318, 0.1317, 0.1333, 0.1443",\
                 "0.1501, 0.1495, 0.1475, 0.1449, 0.1422, 0.1399, 0.1381, 0.137, 0.138, 0.1502",\
                 "0.1751, 0.1741, 0.1708, 0.166, 0.161, 0.1561, 0.152, 0.1485, 0.1482, 0.1625",\
                 "0.2096, 0.2082, 0.2037, 0.1969, 0.1891, 0.1814, 0.1744, 0.1681, 0.1661, 0.1836",\
                 "0.2531, 0.2514, 0.2461, 0.2375, 0.227, 0.2164, 0.2061, 0.197, 0.1942, 0.2177",\
                 "0.3059, 0.304, 0.2979, 0.2878, 0.2751, 0.2613, 0.2479, 0.2361, 0.2343, 0.2706");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.0263, 0.0263, 0.0263, 0.02629, 0.02629, 0.02631, 0.02631, 0.0263, 0.0263, 0.02629",\
                 "0.02628, 0.02628, 0.02629, 0.02629, 0.0263, 0.02632, 0.02632, 0.02632, 0.02631, 0.0263",\
                 "0.02613, 0.02614, 0.02619, 0.02622, 0.02626, 0.02628, 0.02628, 0.02627, 0.02628, 0.02627",\
                 "0.02808, 0.02798, 0.02775, 0.02745, 0.0272, 0.02699, 0.02682, 0.02668, 0.02657, 0.02651",\
                 "0.03445, 0.03415, 0.03325, 0.03213, 0.03103, 0.03009, 0.02934, 0.02872, 0.02822, 0.02785",\
                 "0.04659, 0.04597, 0.0442, 0.0418, 0.03929, 0.03706, 0.03518, 0.03363, 0.03236, 0.03132",\
                 "0.06512, 0.06421, 0.0614, 0.05741, 0.05314, 0.04911, 0.04555, 0.04254, 0.04006, 0.03797",\
                 "0.0906, 0.08936, 0.08546, 0.07974, 0.07339, 0.06719, 0.06153, 0.05659, 0.05235, 0.04875",\
                 "0.1233, 0.1218, 0.1168, 0.1094, 0.1007, 0.09205, 0.08395, 0.07665, 0.07024, 0.06469",\
                 "0.1637, 0.1618, 0.1558, 0.1466, 0.1357, 0.1243, 0.1135, 0.1035, 0.09453, 0.08663");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.13, 0.13, 0.13, 0.1302, 0.1304, 0.1307, 0.131, 0.1316, 0.1358, 0.1605",\
                 "0.129, 0.1291, 0.1293, 0.1295, 0.1298, 0.1301, 0.1305, 0.1312, 0.1354, 0.1601",\
                 "0.1278, 0.1279, 0.1282, 0.1286, 0.1291, 0.1296, 0.1301, 0.1309, 0.1353, 0.1609",\
                 "0.128, 0.128, 0.1281, 0.1283, 0.1288, 0.1292, 0.1298, 0.1307, 0.1356, 0.1626",\
                 "0.1333, 0.1331, 0.1325, 0.1318, 0.1313, 0.131, 0.1311, 0.1316, 0.137, 0.1665",\
                 "0.1468, 0.1462, 0.1445, 0.1423, 0.1399, 0.1379, 0.1366, 0.1362, 0.1416, 0.1751",\
                 "0.1691, 0.1682, 0.1653, 0.1611, 0.1565, 0.1522, 0.1485, 0.1463, 0.1519, 0.1908",\
                 "0.1998, 0.1986, 0.1946, 0.1886, 0.1818, 0.1747, 0.1683, 0.1639, 0.1704, 0.2174",\
                 "0.2389, 0.2374, 0.2325, 0.2248, 0.2156, 0.2061, 0.1968, 0.1903, 0.1993, 0.2598",\
                 "0.2864, 0.2846, 0.279, 0.2699, 0.2585, 0.2464, 0.2345, 0.2269, 0.2427, 0.3247");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.0263, 0.0263, 0.0263, 0.02629, 0.0263, 0.02631, 0.02631, 0.0263, 0.02629, 0.02628",\
                 "0.02627, 0.02626, 0.02628, 0.02629, 0.0263, 0.02632, 0.02632, 0.02632, 0.0263, 0.0263",\
                 "0.02612, 0.02614, 0.02619, 0.02622, 0.02625, 0.02628, 0.02627, 0.02627, 0.02628, 0.02627",\
                 "0.02807, 0.02797, 0.02775, 0.02745, 0.02719, 0.02698, 0.02682, 0.02668, 0.02658, 0.02651",\
                 "0.03444, 0.03411, 0.03324, 0.03211, 0.03102, 0.03009, 0.02934, 0.02872, 0.02822, 0.02785",\
                 "0.04653, 0.04593, 0.04416, 0.04177, 0.03928, 0.03706, 0.03517, 0.03363, 0.03236, 0.03133",\
                 "0.06502, 0.0641, 0.06133, 0.05737, 0.05312, 0.04909, 0.04555, 0.04253, 0.04007, 0.03797",\
                 "0.09047, 0.08922, 0.08537, 0.07967, 0.07334, 0.06716, 0.06153, 0.05657, 0.05233, 0.04878",\
                 "0.1232, 0.1216, 0.1167, 0.1093, 0.1006, 0.09201, 0.08393, 0.07666, 0.07023, 0.06468",\
                 "0.1635, 0.1616, 0.1557, 0.1465, 0.1356, 0.1243, 0.1135, 0.1035, 0.09448, 0.08661");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1461, 0.1462, 0.1462, 0.1464, 0.1466, 0.1468, 0.1472, 0.1478, 0.1521, 0.1771",\
                 "0.1453, 0.1453, 0.1454, 0.1457, 0.1459, 0.1464, 0.1467, 0.1474, 0.1517, 0.1769",\
                 "0.1441, 0.1442, 0.1445, 0.1448, 0.1453, 0.1458, 0.1463, 0.1471, 0.1517, 0.1776",\
                 "0.1442, 0.1442, 0.1443, 0.1445, 0.1449, 0.1454, 0.1459, 0.1469, 0.1519, 0.1798",\
                 "0.1491, 0.1489, 0.1483, 0.1477, 0.1473, 0.1472, 0.1472, 0.1478, 0.1532, 0.1838",\
                 "0.1618, 0.1613, 0.1599, 0.1578, 0.1556, 0.1539, 0.1526, 0.1522, 0.158, 0.1921",\
                 "0.1834, 0.1825, 0.1799, 0.1762, 0.172, 0.1678, 0.1643, 0.1623, 0.1684, 0.2078",\
                 "0.2135, 0.2123, 0.2087, 0.2031, 0.1967, 0.19, 0.1839, 0.1796, 0.1866, 0.2348",\
                 "0.252, 0.2506, 0.2461, 0.2389, 0.2301, 0.2211, 0.2122, 0.2058, 0.2155, 0.2775",\
                 "0.299, 0.2974, 0.2921, 0.2835, 0.2727, 0.261, 0.2496, 0.2422, 0.2592, 0.3428");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.048, 0.04798, 0.04792, 0.04789, 0.04791, 0.04792, 0.04796, 0.04798, 0.04797, 0.04797",\
                 "0.0474, 0.04738, 0.04735, 0.04732, 0.04733, 0.04735, 0.04739, 0.04738, 0.04738, 0.04738",\
                 "0.04697, 0.04694, 0.04685, 0.04679, 0.04671, 0.04669, 0.04667, 0.0467, 0.04668, 0.04666",\
                 "0.04912, 0.04897, 0.04862, 0.04815, 0.0477, 0.04732, 0.04709, 0.0469, 0.04674, 0.04666",\
                 "0.05639, 0.05601, 0.05496, 0.05352, 0.05212, 0.05093, 0.04991, 0.04912, 0.0485, 0.04806",\
                 "0.07045, 0.06978, 0.06778, 0.06492, 0.06186, 0.05904, 0.05669, 0.05477, 0.05317, 0.05194",\
                 "0.0924, 0.09137, 0.08828, 0.08361, 0.07843, 0.07341, 0.06902, 0.06528, 0.06216, 0.05956",\
                 "0.1229, 0.1215, 0.1173, 0.1107, 0.103, 0.09531, 0.08822, 0.08201, 0.07675, 0.07229",\
                 "0.1624, 0.1607, 0.1554, 0.1468, 0.1365, 0.1258, 0.1155, 0.1063, 0.09818, 0.09127",\
                 "0.2113, 0.2093, 0.2029, 0.1924, 0.1795, 0.1655, 0.1519, 0.1392, 0.1278, 0.1176");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1318, 0.132, 0.1323, 0.1326, 0.1329, 0.1331, 0.1336, 0.1339, 0.1346, 0.1366",\
                 "0.1303, 0.1305, 0.1313, 0.1321, 0.1327, 0.1332, 0.1337, 0.1342, 0.1348, 0.1369",\
                 "0.1278, 0.1281, 0.1289, 0.1301, 0.1312, 0.1321, 0.133, 0.1336, 0.1342, 0.1366",\
                 "0.1272, 0.1273, 0.1277, 0.1286, 0.1296, 0.1308, 0.1316, 0.1326, 0.1337, 0.1363",\
                 "0.1317, 0.1315, 0.1311, 0.1308, 0.1308, 0.1312, 0.1318, 0.1327, 0.1335, 0.1366",\
                 "0.1455, 0.1448, 0.1428, 0.1407, 0.1388, 0.1374, 0.1366, 0.1363, 0.1365, 0.1394",\
                 "0.1705, 0.1692, 0.1655, 0.1606, 0.156, 0.1522, 0.1489, 0.1465, 0.1449, 0.1479",\
                 "0.2065, 0.2048, 0.1994, 0.1918, 0.1839, 0.1768, 0.1706, 0.1652, 0.1613, 0.1637",\
                 "0.253, 0.2509, 0.2443, 0.2342, 0.2228, 0.212, 0.2023, 0.194, 0.1875, 0.1899",\
                 "0.3098, 0.3074, 0.2997, 0.2877, 0.2735, 0.2585, 0.2449, 0.2333, 0.2242, 0.2309");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04542, 0.04537, 0.04535, 0.04531, 0.04533, 0.04536, 0.04537, 0.04537, 0.04536, 0.04537",\
                 "0.04467, 0.04467, 0.04461, 0.04459, 0.04459, 0.04462, 0.04465, 0.04463, 0.04463, 0.04463",\
                 "0.04403, 0.04401, 0.04392, 0.04386, 0.04378, 0.04377, 0.04375, 0.04375, 0.04373, 0.0437",\
                 "0.04599, 0.04585, 0.04548, 0.04501, 0.0446, 0.04424, 0.04401, 0.04383, 0.0437, 0.04361",\
                 "0.05298, 0.05261, 0.05153, 0.05012, 0.04871, 0.04756, 0.04658, 0.04582, 0.04527, 0.04483",\
                 "0.06673, 0.06597, 0.06393, 0.06098, 0.05794, 0.05523, 0.05295, 0.05109, 0.04955, 0.0484",\
                 "0.08812, 0.08703, 0.08382, 0.07902, 0.07378, 0.06882, 0.06446, 0.06089, 0.05791, 0.05547",\
                 "0.118, 0.1165, 0.112, 0.1052, 0.09739, 0.08967, 0.08267, 0.07659, 0.0715, 0.06725",\
                 "0.1567, 0.155, 0.1492, 0.1402, 0.1296, 0.1187, 0.1087, 0.09955, 0.09171, 0.08502",\
                 "0.2047, 0.2026, 0.1957, 0.1846, 0.1712, 0.157, 0.1433, 0.1308, 0.1196, 0.1098");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1241, 0.1242, 0.1246, 0.1248, 0.1251, 0.1254, 0.1259, 0.1262, 0.1277, 0.1365",\
                 "0.1225, 0.1228, 0.1236, 0.1243, 0.1249, 0.1254, 0.1259, 0.1265, 0.128, 0.1369",\
                 "0.12, 0.1203, 0.1211, 0.1223, 0.1234, 0.1243, 0.1251, 0.1258, 0.1274, 0.1374",\
                 "0.1193, 0.1194, 0.1198, 0.1207, 0.1218, 0.1229, 0.1239, 0.1249, 0.1269, 0.1375",\
                 "0.1234, 0.1232, 0.1228, 0.1226, 0.1228, 0.1233, 0.124, 0.1247, 0.1267, 0.1385",\
                 "0.1369, 0.1362, 0.1344, 0.1323, 0.1305, 0.1292, 0.1284, 0.1282, 0.1299, 0.143",\
                 "0.1616, 0.1603, 0.1566, 0.152, 0.1476, 0.1436, 0.1404, 0.1381, 0.1386, 0.1535",\
                 "0.1973, 0.1955, 0.1902, 0.1827, 0.1749, 0.168, 0.1617, 0.1567, 0.1557, 0.1736",\
                 "0.2432, 0.241, 0.2344, 0.2245, 0.2133, 0.2027, 0.1933, 0.1851, 0.1827, 0.2061",\
                 "0.2992, 0.2968, 0.2891, 0.2769, 0.2628, 0.2485, 0.2352, 0.2241, 0.2226, 0.2568");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04539, 0.04538, 0.04537, 0.04535, 0.04536, 0.04538, 0.04539, 0.04537, 0.04535, 0.04533",\
                 "0.04466, 0.04465, 0.04464, 0.04463, 0.04462, 0.04464, 0.04466, 0.04464, 0.04461, 0.04461",\
                 "0.04403, 0.044, 0.04394, 0.04388, 0.04384, 0.0438, 0.04376, 0.04373, 0.04371, 0.04367",\
                 "0.04596, 0.04588, 0.0455, 0.04501, 0.0446, 0.04429, 0.04404, 0.04384, 0.04368, 0.04357",\
                 "0.05296, 0.0526, 0.05152, 0.05014, 0.04873, 0.04756, 0.0466, 0.04586, 0.04526, 0.04483",\
                 "0.06662, 0.06593, 0.06387, 0.06098, 0.05795, 0.05522, 0.05296, 0.0511, 0.04958, 0.04839",\
                 "0.08798, 0.08694, 0.08374, 0.07899, 0.07375, 0.06879, 0.06451, 0.06088, 0.05792, 0.05545",\
                 "0.1178, 0.1164, 0.1119, 0.1051, 0.09732, 0.08965, 0.08265, 0.07661, 0.07157, 0.0673",\
                 "0.1565, 0.1547, 0.149, 0.1401, 0.1295, 0.1187, 0.1086, 0.09953, 0.0917, 0.08501",\
                 "0.2044, 0.2023, 0.1955, 0.1845, 0.1711, 0.157, 0.1433, 0.1307, 0.1196, 0.1098");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1437, 0.1439, 0.1441, 0.1444, 0.1447, 0.1451, 0.1455, 0.1459, 0.1474, 0.1568",\
                 "0.1426, 0.1428, 0.1433, 0.1439, 0.1445, 0.145, 0.1456, 0.1461, 0.1476, 0.1574",\
                 "0.1402, 0.1404, 0.141, 0.1421, 0.1431, 0.144, 0.1448, 0.1456, 0.1474, 0.1575",\
                 "0.1391, 0.1392, 0.1397, 0.1404, 0.1415, 0.1425, 0.1437, 0.1446, 0.1467, 0.1577",\
                 "0.1426, 0.1424, 0.1422, 0.1421, 0.1424, 0.1428, 0.1435, 0.1443, 0.1468, 0.1592",\
                 "0.1548, 0.1543, 0.1529, 0.1512, 0.1496, 0.1486, 0.1478, 0.1479, 0.1498, 0.1636",\
                 "0.1782, 0.1771, 0.1741, 0.1701, 0.1661, 0.1627, 0.1597, 0.1576, 0.1585, 0.1742",\
                 "0.2127, 0.2112, 0.2066, 0.1999, 0.193, 0.1864, 0.1806, 0.1758, 0.1753, 0.1939",\
                 "0.2578, 0.256, 0.25, 0.2409, 0.2307, 0.2207, 0.2115, 0.2038, 0.2021, 0.2269",\
                 "0.3133, 0.3111, 0.3041, 0.2928, 0.2794, 0.266, 0.2532, 0.2426, 0.2416, 0.2777");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04516, 0.04514, 0.04511, 0.04506, 0.04505, 0.04507, 0.04508, 0.0451, 0.04512, 0.04512",\
                 "0.04456, 0.04455, 0.04451, 0.04448, 0.04449, 0.04447, 0.04449, 0.04448, 0.0445, 0.04449",\
                 "0.04401, 0.04397, 0.04388, 0.04378, 0.0437, 0.04367, 0.04364, 0.04363, 0.04362, 0.0436",\
                 "0.0459, 0.04573, 0.04529, 0.0448, 0.04435, 0.044, 0.04375, 0.04359, 0.04346, 0.04337",\
                 "0.05298, 0.05253, 0.05127, 0.04974, 0.04827, 0.04708, 0.04613, 0.04538, 0.04485, 0.04445",\
                 "0.06694, 0.0661, 0.06371, 0.06057, 0.05736, 0.05456, 0.05226, 0.05044, 0.04898, 0.0478",\
                 "0.08869, 0.08748, 0.08381, 0.07866, 0.07314, 0.06802, 0.06363, 0.06001, 0.05709, 0.05471",\
                 "0.119, 0.1173, 0.1124, 0.105, 0.09676, 0.08883, 0.08172, 0.07566, 0.07056, 0.06636",\
                 "0.1582, 0.1562, 0.1499, 0.1404, 0.1292, 0.1181, 0.1077, 0.09854, 0.09063, 0.08395",\
                 "0.2065, 0.2042, 0.1969, 0.1851, 0.171, 0.1564, 0.1424, 0.1297, 0.1185, 0.1087");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1238, 0.1239, 0.1242, 0.1245, 0.1248, 0.1251, 0.1254, 0.1258, 0.127, 0.1355",\
                 "0.1222, 0.1225, 0.1233, 0.124, 0.1246, 0.1251, 0.1255, 0.126, 0.1274, 0.1358",\
                 "0.1197, 0.12, 0.1208, 0.122, 0.1232, 0.124, 0.1248, 0.1255, 0.1271, 0.136",\
                 "0.119, 0.1192, 0.1196, 0.1204, 0.1215, 0.1226, 0.1235, 0.1245, 0.1262, 0.1362",\
                 "0.1228, 0.1226, 0.1223, 0.1221, 0.1222, 0.1227, 0.1234, 0.1242, 0.1262, 0.1373",\
                 "0.1349, 0.1343, 0.1327, 0.1308, 0.1291, 0.1279, 0.1272, 0.1272, 0.1287, 0.1411",\
                 "0.158, 0.1568, 0.1533, 0.1489, 0.1449, 0.1413, 0.1383, 0.1362, 0.1368, 0.1513",\
                 "0.1924, 0.1906, 0.1855, 0.1782, 0.171, 0.1644, 0.1587, 0.1537, 0.1527, 0.17",\
                 "0.2376, 0.2355, 0.2288, 0.2191, 0.2083, 0.1982, 0.1891, 0.1813, 0.1789, 0.2013",\
                 "0.2934, 0.2909, 0.2832, 0.2711, 0.2573, 0.2432, 0.2304, 0.2197, 0.2177, 0.2506");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04263, 0.04262, 0.04256, 0.04253, 0.04253, 0.04254, 0.04256, 0.04258, 0.04257, 0.04256",\
                 "0.04189, 0.04188, 0.04183, 0.0418, 0.04178, 0.04179, 0.04181, 0.04182, 0.04184, 0.04181",\
                 "0.04115, 0.04112, 0.04104, 0.04093, 0.04086, 0.04082, 0.04081, 0.04079, 0.04078, 0.04077",\
                 "0.0429, 0.04275, 0.04234, 0.04185, 0.04142, 0.04107, 0.04082, 0.04068, 0.04057, 0.04049",\
                 "0.04977, 0.04932, 0.04808, 0.04653, 0.0451, 0.04397, 0.04305, 0.04234, 0.04184, 0.04145",\
                 "0.06337, 0.06256, 0.06015, 0.05697, 0.05379, 0.05106, 0.04883, 0.0471, 0.04569, 0.04458",\
                 "0.08469, 0.08344, 0.0797, 0.07446, 0.06894, 0.06386, 0.05963, 0.05615, 0.05333, 0.05105",\
                 "0.1144, 0.1127, 0.1075, 0.09997, 0.09173, 0.08379, 0.07681, 0.0709, 0.066, 0.06198",\
                 "0.1529, 0.1508, 0.1443, 0.1343, 0.123, 0.1119, 0.1016, 0.09261, 0.08495, 0.07855",\
                 "0.2004, 0.1979, 0.1901, 0.178, 0.1635, 0.1488, 0.1349, 0.1224, 0.1114, 0.1019");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1161, 0.1162, 0.1165, 0.1168, 0.1171, 0.1174, 0.1177, 0.1183, 0.1223, 0.1456",\
                 "0.1144, 0.1147, 0.1155, 0.1163, 0.1169, 0.1174, 0.1178, 0.1186, 0.1225, 0.1462",\
                 "0.1119, 0.1122, 0.113, 0.1143, 0.1154, 0.1163, 0.117, 0.1179, 0.1221, 0.147",\
                 "0.1112, 0.1113, 0.1117, 0.1126, 0.1137, 0.1149, 0.1158, 0.117, 0.1218, 0.1481",\
                 "0.1147, 0.1145, 0.1143, 0.1141, 0.1143, 0.1148, 0.1156, 0.1166, 0.1221, 0.151",\
                 "0.1268, 0.1262, 0.1246, 0.1227, 0.1211, 0.12, 0.1194, 0.1197, 0.1253, 0.1574",\
                 "0.1499, 0.1486, 0.1452, 0.1409, 0.1367, 0.1333, 0.1303, 0.1287, 0.1345, 0.1709",\
                 "0.1841, 0.1823, 0.1771, 0.17, 0.1629, 0.1564, 0.1504, 0.1463, 0.1518, 0.1951",\
                 "0.2289, 0.2267, 0.22, 0.2104, 0.1998, 0.1899, 0.1808, 0.1741, 0.1808, 0.2351",\
                 "0.284, 0.2815, 0.2736, 0.2616, 0.2478, 0.2342, 0.2219, 0.2132, 0.2244, 0.2958");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04265, 0.04264, 0.04261, 0.04259, 0.04257, 0.04258, 0.04258, 0.04259, 0.04257, 0.04256",\
                 "0.0419, 0.0419, 0.04188, 0.04185, 0.04183, 0.04183, 0.04183, 0.04183, 0.04183, 0.0418",\
                 "0.04113, 0.04112, 0.04104, 0.04097, 0.04091, 0.04088, 0.04084, 0.04081, 0.04078, 0.04076",\
                 "0.04289, 0.04274, 0.04234, 0.04184, 0.04142, 0.0411, 0.04087, 0.04071, 0.04058, 0.04047",\
                 "0.04972, 0.0493, 0.04806, 0.04653, 0.0451, 0.04397, 0.04307, 0.04238, 0.04186, 0.04145",\
                 "0.0633, 0.06247, 0.0601, 0.05692, 0.05376, 0.05104, 0.04883, 0.0471, 0.04571, 0.0446",\
                 "0.08454, 0.08332, 0.07964, 0.07442, 0.06889, 0.06386, 0.05964, 0.05616, 0.05334, 0.05105",\
                 "0.1142, 0.1125, 0.1074, 0.09991, 0.09168, 0.08377, 0.0768, 0.0709, 0.06601, 0.06197",\
                 "0.1526, 0.1505, 0.1441, 0.1342, 0.123, 0.1118, 0.1016, 0.09261, 0.08497, 0.07849",\
                 "0.2, 0.1976, 0.1899, 0.1778, 0.1634, 0.1488, 0.1348, 0.1223, 0.1114, 0.1018");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1358, 0.1358, 0.1361, 0.1364, 0.1367, 0.137, 0.1374, 0.1381, 0.1422, 0.1665",\
                 "0.1346, 0.1348, 0.1353, 0.1359, 0.1365, 0.137, 0.1375, 0.1383, 0.1426, 0.1672",\
                 "0.1321, 0.1323, 0.133, 0.1341, 0.1351, 0.136, 0.1367, 0.1377, 0.1423, 0.168",\
                 "0.131, 0.1311, 0.1316, 0.1324, 0.1335, 0.1345, 0.1356, 0.1368, 0.142, 0.1693",\
                 "0.1339, 0.1338, 0.1336, 0.1336, 0.1339, 0.1345, 0.1352, 0.1365, 0.1423, 0.172",\
                 "0.1448, 0.1444, 0.1432, 0.1417, 0.1404, 0.1394, 0.139, 0.1394, 0.1455, 0.1786",\
                 "0.1666, 0.1656, 0.1629, 0.1592, 0.1554, 0.1522, 0.1496, 0.1483, 0.1544, 0.1922",\
                 "0.1996, 0.1982, 0.1937, 0.1875, 0.181, 0.1748, 0.1694, 0.1657, 0.172, 0.2168",\
                 "0.2435, 0.2416, 0.2357, 0.227, 0.2172, 0.208, 0.1993, 0.1931, 0.2009, 0.2571",\
                 "0.2979, 0.2956, 0.2885, 0.2775, 0.2646, 0.2517, 0.2397, 0.2317, 0.2443, 0.3182");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04518, 0.04516, 0.04514, 0.04512, 0.0451, 0.0451, 0.04511, 0.04511, 0.04512, 0.0451",\
                 "0.04459, 0.04458, 0.04454, 0.04453, 0.04451, 0.04451, 0.0445, 0.04451, 0.04449, 0.04449",\
                 "0.04398, 0.04397, 0.04389, 0.04382, 0.04376, 0.04372, 0.04369, 0.04365, 0.04362, 0.0436",\
                 "0.04589, 0.04573, 0.04529, 0.04479, 0.04436, 0.04405, 0.0438, 0.04363, 0.04349, 0.04337",\
                 "0.05296, 0.05251, 0.05127, 0.04971, 0.04827, 0.04708, 0.04615, 0.04543, 0.04487, 0.04445",\
                 "0.06683, 0.06601, 0.06371, 0.06054, 0.05733, 0.05456, 0.05227, 0.05044, 0.04897, 0.04783",\
                 "0.08854, 0.08735, 0.08375, 0.07861, 0.07309, 0.068, 0.06364, 0.06005, 0.05712, 0.0547",\
                 "0.1188, 0.1172, 0.1123, 0.105, 0.09674, 0.08881, 0.0817, 0.07564, 0.07059, 0.06635",\
                 "0.1579, 0.1559, 0.1498, 0.1402, 0.1292, 0.118, 0.1077, 0.09851, 0.09066, 0.08397",\
                 "0.2063, 0.2039, 0.1966, 0.185, 0.171, 0.1564, 0.1424, 0.1297, 0.1184, 0.1086");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1414, 0.1415, 0.1417, 0.142, 0.1423, 0.1427, 0.143, 0.1435, 0.1449, 0.1537",\
                 "0.1402, 0.1404, 0.1409, 0.1416, 0.1422, 0.1427, 0.1433, 0.1439, 0.1452, 0.154",\
                 "0.1377, 0.1379, 0.1387, 0.1397, 0.1407, 0.1416, 0.1424, 0.1431, 0.1448, 0.1543",\
                 "0.1367, 0.1368, 0.1373, 0.1381, 0.1391, 0.1401, 0.1413, 0.1423, 0.1442, 0.1548",\
                 "0.1398, 0.1397, 0.1396, 0.1395, 0.1397, 0.1403, 0.141, 0.1419, 0.144, 0.1556",\
                 "0.151, 0.1505, 0.1492, 0.1476, 0.1463, 0.1453, 0.1448, 0.1449, 0.1466, 0.1595",\
                 "0.173, 0.1719, 0.1691, 0.1653, 0.1615, 0.1582, 0.1556, 0.1538, 0.1545, 0.1695",\
                 "0.2063, 0.2048, 0.2002, 0.1938, 0.1871, 0.181, 0.1755, 0.1709, 0.1704, 0.1884",\
                 "0.2508, 0.2488, 0.2428, 0.2338, 0.2238, 0.2142, 0.2056, 0.1981, 0.1963, 0.2199",\
                 "0.3059, 0.3036, 0.2966, 0.2852, 0.2722, 0.2588, 0.2465, 0.236, 0.2348, 0.2696");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04264, 0.04263, 0.04261, 0.04258, 0.04257, 0.04258, 0.04258, 0.04259, 0.04258, 0.04256",\
                 "0.0419, 0.04189, 0.04187, 0.04185, 0.04183, 0.04184, 0.04183, 0.04182, 0.04182, 0.04181",\
                 "0.04114, 0.04112, 0.04104, 0.04097, 0.04091, 0.04088, 0.04084, 0.04081, 0.04078, 0.04076",\
                 "0.04292, 0.04275, 0.04234, 0.04184, 0.04142, 0.04111, 0.04087, 0.04071, 0.04058, 0.04048",\
                 "0.04973, 0.04929, 0.04806, 0.04653, 0.04511, 0.04397, 0.04307, 0.04237, 0.04186, 0.04146",\
                 "0.06329, 0.06248, 0.0601, 0.05692, 0.05376, 0.05105, 0.04884, 0.04709, 0.0457, 0.0446",\
                 "0.08456, 0.08332, 0.0796, 0.07442, 0.0689, 0.06387, 0.05964, 0.05616, 0.05333, 0.05105",\
                 "0.1142, 0.1125, 0.1074, 0.09991, 0.09168, 0.08375, 0.0768, 0.07091, 0.06601, 0.06199",\
                 "0.1526, 0.1505, 0.1441, 0.1342, 0.123, 0.1118, 0.1016, 0.09259, 0.08494, 0.07857",\
                 "0.2, 0.1976, 0.1899, 0.1778, 0.1634, 0.1488, 0.1348, 0.1223, 0.1114, 0.1019");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1336, 0.1337, 0.134, 0.1343, 0.1345, 0.135, 0.1353, 0.136, 0.1401, 0.1643",\
                 "0.1324, 0.1326, 0.1332, 0.1338, 0.1344, 0.1349, 0.1354, 0.1361, 0.1404, 0.165",\
                 "0.1299, 0.1301, 0.1309, 0.1319, 0.133, 0.1339, 0.1346, 0.1356, 0.1403, 0.1659",\
                 "0.1289, 0.129, 0.1295, 0.1303, 0.1313, 0.1324, 0.1334, 0.1346, 0.1399, 0.1671",\
                 "0.1317, 0.1317, 0.1315, 0.1315, 0.1317, 0.1324, 0.1332, 0.1344, 0.1401, 0.1697",\
                 "0.1429, 0.1424, 0.1411, 0.1396, 0.1383, 0.1374, 0.1369, 0.1373, 0.1433, 0.1763",\
                 "0.1648, 0.1638, 0.1609, 0.1572, 0.1534, 0.1502, 0.1475, 0.1462, 0.1524, 0.19",\
                 "0.1979, 0.1964, 0.1919, 0.1855, 0.179, 0.1729, 0.1674, 0.1636, 0.17, 0.2145",\
                 "0.2419, 0.24, 0.234, 0.225, 0.2153, 0.2061, 0.1973, 0.191, 0.199, 0.2547",\
                 "0.2964, 0.2941, 0.2869, 0.2759, 0.2629, 0.2498, 0.2379, 0.2297, 0.2423, 0.3158");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04263, 0.04263, 0.04261, 0.04258, 0.04258, 0.04258, 0.04258, 0.04258, 0.04257, 0.04256",\
                 "0.0419, 0.0419, 0.04188, 0.04185, 0.04183, 0.04183, 0.04183, 0.04182, 0.04182, 0.04181",\
                 "0.04113, 0.0411, 0.04103, 0.04096, 0.04091, 0.04087, 0.04084, 0.04081, 0.04079, 0.04077",\
                 "0.04291, 0.04273, 0.04233, 0.04183, 0.04142, 0.0411, 0.04087, 0.04071, 0.04058, 0.04047",\
                 "0.04971, 0.04927, 0.04804, 0.04652, 0.04509, 0.04397, 0.04306, 0.04238, 0.04186, 0.04146",\
                 "0.06322, 0.0624, 0.06006, 0.0569, 0.05374, 0.05104, 0.04884, 0.04709, 0.0457, 0.04461",\
                 "0.08445, 0.08321, 0.07957, 0.07435, 0.06887, 0.06384, 0.05961, 0.05615, 0.05333, 0.05103",\
                 "0.114, 0.1123, 0.1073, 0.09983, 0.09164, 0.08372, 0.07678, 0.0709, 0.066, 0.06199",\
                 "0.1523, 0.1503, 0.1439, 0.1341, 0.1229, 0.1118, 0.1015, 0.09262, 0.08496, 0.07848",\
                 "0.1997, 0.1974, 0.1897, 0.1776, 0.1633, 0.1487, 0.1348, 0.1223, 0.1114, 0.1019");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1533, 0.1533, 0.1535, 0.1538, 0.154, 0.1544, 0.1547, 0.1554, 0.1597, 0.1846",\
                 "0.1523, 0.1524, 0.1529, 0.1534, 0.1539, 0.1544, 0.1549, 0.1556, 0.1601, 0.1853",\
                 "0.15, 0.1502, 0.1508, 0.1516, 0.1525, 0.1534, 0.1541, 0.155, 0.1599, 0.1861",\
                 "0.1486, 0.1488, 0.1492, 0.15, 0.1509, 0.1521, 0.153, 0.1542, 0.1595, 0.1874",\
                 "0.1511, 0.151, 0.151, 0.151, 0.1514, 0.1519, 0.1527, 0.1539, 0.1598, 0.1902",\
                 "0.1613, 0.1609, 0.1599, 0.1586, 0.1574, 0.1566, 0.1563, 0.1567, 0.1629, 0.1969",\
                 "0.1819, 0.1811, 0.1788, 0.1755, 0.1722, 0.1692, 0.1667, 0.1656, 0.172, 0.2108",\
                 "0.214, 0.2126, 0.2087, 0.2032, 0.1972, 0.1913, 0.1862, 0.1826, 0.1896, 0.2357",\
                 "0.2571, 0.2553, 0.25, 0.2419, 0.2328, 0.224, 0.2157, 0.2099, 0.2183, 0.276",\
                 "0.3108, 0.3087, 0.3021, 0.2918, 0.2798, 0.2674, 0.2559, 0.2483, 0.2618, 0.3376");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04797, 0.04795, 0.04791, 0.04788, 0.04789, 0.04793, 0.04797, 0.04798, 0.04797, 0.04796",\
                 "0.0474, 0.04741, 0.04739, 0.04731, 0.04731, 0.04735, 0.04734, 0.04739, 0.04739, 0.04736",\
                 "0.04674, 0.04673, 0.04671, 0.04663, 0.04662, 0.04663, 0.04665, 0.04667, 0.04665, 0.04662",\
                 "0.04843, 0.04833, 0.04806, 0.04771, 0.0474, 0.0471, 0.04693, 0.04678, 0.04666, 0.04657",\
                 "0.05537, 0.05504, 0.05411, 0.05286, 0.05163, 0.05059, 0.0497, 0.04895, 0.04839, 0.04794",\
                 "0.06937, 0.06878, 0.06692, 0.06427, 0.06137, 0.05879, 0.05656, 0.05473, 0.05323, 0.05199",\
                 "0.09166, 0.09063, 0.08767, 0.08325, 0.07833, 0.07349, 0.06925, 0.06559, 0.06258, 0.06003",\
                 "0.1227, 0.1214, 0.1172, 0.1108, 0.1034, 0.096, 0.08907, 0.08301, 0.07776, 0.07328",\
                 "0.1632, 0.1616, 0.1562, 0.1478, 0.1377, 0.1272, 0.1172, 0.1082, 0.1001, 0.09318",\
                 "0.2133, 0.2113, 0.205, 0.1947, 0.1819, 0.1682, 0.1546, 0.1422, 0.1309, 0.1208");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1459, 0.1459, 0.146, 0.1461, 0.1463, 0.1466, 0.1469, 0.1475, 0.1481, 0.1505",\
                 "0.1448, 0.1449, 0.1451, 0.1454, 0.1458, 0.1461, 0.1465, 0.147, 0.1478, 0.15",\
                 "0.1435, 0.1436, 0.144, 0.1445, 0.145, 0.1456, 0.146, 0.1468, 0.1475, 0.1499",\
                 "0.1432, 0.1432, 0.1434, 0.1438, 0.1443, 0.145, 0.1456, 0.1463, 0.1471, 0.15",\
                 "0.1473, 0.1471, 0.1467, 0.1463, 0.146, 0.1461, 0.1463, 0.1467, 0.1476, 0.1505",\
                 "0.1615, 0.1609, 0.1589, 0.1567, 0.1545, 0.1529, 0.1517, 0.1511, 0.151, 0.1538",\
                 "0.1881, 0.1868, 0.1832, 0.1781, 0.1731, 0.1687, 0.1649, 0.162, 0.1602, 0.1632",\
                 "0.2262, 0.2246, 0.2195, 0.2118, 0.2032, 0.1953, 0.1884, 0.1821, 0.1778, 0.1799",\
                 "0.2751, 0.2732, 0.2672, 0.2575, 0.2455, 0.2335, 0.2229, 0.2131, 0.2056, 0.2079",\
                 "0.3346, 0.3325, 0.3256, 0.3143, 0.2999, 0.284, 0.269, 0.2556, 0.2454, 0.2515");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04538, 0.0454, 0.04534, 0.04531, 0.04533, 0.04536, 0.04538, 0.04537, 0.04537, 0.04537",\
                 "0.04467, 0.04464, 0.04462, 0.04458, 0.04459, 0.04461, 0.04466, 0.04464, 0.04465, 0.04462",\
                 "0.04384, 0.04383, 0.04379, 0.04371, 0.0437, 0.0437, 0.04372, 0.04371, 0.04372, 0.04368",\
                 "0.04539, 0.04526, 0.045, 0.04465, 0.04435, 0.04404, 0.04389, 0.04375, 0.04362, 0.04353",\
                 "0.05202, 0.05169, 0.05077, 0.04952, 0.0483, 0.04726, 0.04642, 0.04571, 0.04518, 0.04476",\
                 "0.06568, 0.06504, 0.06307, 0.06039, 0.05754, 0.055, 0.05285, 0.0511, 0.04963, 0.04847",\
                 "0.08739, 0.08629, 0.08324, 0.07873, 0.07369, 0.06898, 0.06475, 0.06124, 0.05832, 0.05592",\
                 "0.1177, 0.1164, 0.112, 0.1054, 0.09781, 0.09033, 0.08354, 0.07761, 0.07254, 0.06828",\
                 "0.1574, 0.1557, 0.15, 0.1412, 0.1309, 0.1204, 0.1104, 0.1015, 0.09365, 0.08687",\
                 "0.2066, 0.2044, 0.1977, 0.1868, 0.1735, 0.1597, 0.1462, 0.1338, 0.1227, 0.1129");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1381, 0.1381, 0.1382, 0.1384, 0.1386, 0.1389, 0.1392, 0.1397, 0.1412, 0.1505",\
                 "0.1371, 0.1372, 0.1374, 0.1377, 0.138, 0.1384, 0.1388, 0.1393, 0.1407, 0.1502",\
                 "0.1357, 0.1358, 0.1362, 0.1367, 0.1373, 0.1378, 0.1383, 0.139, 0.1405, 0.1508",\
                 "0.1352, 0.1353, 0.1356, 0.1361, 0.1366, 0.1371, 0.1379, 0.1385, 0.1403, 0.1513",\
                 "0.1391, 0.1389, 0.1385, 0.1382, 0.138, 0.1381, 0.1384, 0.139, 0.1409, 0.153",\
                 "0.1529, 0.1523, 0.1505, 0.1482, 0.1462, 0.1446, 0.1435, 0.1429, 0.1444, 0.1578",\
                 "0.1791, 0.1778, 0.1743, 0.1693, 0.1644, 0.16, 0.1565, 0.1538, 0.154, 0.1692",\
                 "0.2168, 0.2153, 0.21, 0.2024, 0.1941, 0.1863, 0.1794, 0.1736, 0.1721, 0.1904",\
                 "0.2651, 0.2632, 0.257, 0.2473, 0.2356, 0.224, 0.2134, 0.2041, 0.2013, 0.225",\
                 "0.3238, 0.3217, 0.3148, 0.3033, 0.289, 0.2736, 0.259, 0.2463, 0.2438, 0.2785");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04537, 0.04537, 0.04536, 0.04536, 0.04536, 0.04538, 0.04539, 0.04538, 0.04536, 0.04535",\
                 "0.04466, 0.04466, 0.04464, 0.04462, 0.04462, 0.04463, 0.04463, 0.04463, 0.0446, 0.0446",\
                 "0.04383, 0.04383, 0.04379, 0.04376, 0.04375, 0.04374, 0.04373, 0.04371, 0.04369, 0.04365",\
                 "0.04539, 0.04528, 0.04502, 0.04465, 0.04435, 0.04409, 0.04389, 0.04374, 0.04361, 0.04353",\
                 "0.05199, 0.05169, 0.05076, 0.04953, 0.04831, 0.04725, 0.04642, 0.04572, 0.04517, 0.04476",\
                 "0.06561, 0.06494, 0.06306, 0.06042, 0.05757, 0.05501, 0.05285, 0.05108, 0.04963, 0.04846",\
                 "0.08724, 0.0862, 0.08312, 0.07868, 0.07369, 0.06895, 0.06473, 0.06123, 0.05831, 0.05592",\
                 "0.1176, 0.1162, 0.1119, 0.1053, 0.0978, 0.09034, 0.08354, 0.0776, 0.07254, 0.06832",\
                 "0.1572, 0.1554, 0.1498, 0.1411, 0.1308, 0.1203, 0.1104, 0.1014, 0.09363, 0.08686",\
                 "0.2063, 0.2042, 0.1975, 0.1866, 0.1734, 0.1596, 0.1462, 0.1337, 0.1227, 0.1129");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1576, 0.1576, 0.1577, 0.1579, 0.1581, 0.1583, 0.1587, 0.1592, 0.1607, 0.1703",\
                 "0.1567, 0.1568, 0.1569, 0.1572, 0.1574, 0.1579, 0.1582, 0.1586, 0.1604, 0.1699",\
                 "0.1554, 0.1555, 0.1558, 0.1563, 0.1568, 0.1573, 0.1578, 0.1583, 0.1601, 0.1705",\
                 "0.1549, 0.1549, 0.1552, 0.1556, 0.1561, 0.1567, 0.1574, 0.158, 0.1598, 0.1709",\
                 "0.1582, 0.158, 0.1578, 0.1575, 0.1574, 0.1576, 0.1579, 0.1583, 0.1603, 0.1726",\
                 "0.1708, 0.1704, 0.169, 0.1671, 0.1653, 0.1638, 0.1628, 0.1624, 0.164, 0.1775",\
                 "0.1957, 0.1947, 0.1917, 0.1874, 0.183, 0.1788, 0.1754, 0.1729, 0.1735, 0.1892",\
                 "0.2325, 0.231, 0.2264, 0.2196, 0.2119, 0.2047, 0.198, 0.1926, 0.1912, 0.2104",\
                 "0.28, 0.2783, 0.2726, 0.2636, 0.2528, 0.2417, 0.2315, 0.2228, 0.2203, 0.2446",\
                 "0.3382, 0.3363, 0.3298, 0.3191, 0.3054, 0.2908, 0.2767, 0.2644, 0.2626, 0.2987");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04514, 0.04514, 0.04509, 0.04506, 0.04505, 0.04506, 0.04508, 0.04508, 0.04511, 0.04509",\
                 "0.04457, 0.04455, 0.0445, 0.04447, 0.04445, 0.04446, 0.04448, 0.04449, 0.04447, 0.04449",\
                 "0.04382, 0.04381, 0.04376, 0.04369, 0.04367, 0.04362, 0.04362, 0.04361, 0.04361, 0.04361",\
                 "0.04526, 0.04514, 0.04482, 0.04443, 0.04409, 0.04382, 0.04362, 0.04349, 0.0434, 0.04335",\
                 "0.05194, 0.05156, 0.05046, 0.04911, 0.04786, 0.04677, 0.04594, 0.04525, 0.04475, 0.04439",\
                 "0.06576, 0.06499, 0.06284, 0.05989, 0.05692, 0.05431, 0.05214, 0.05042, 0.049, 0.04786",\
                 "0.08778, 0.08664, 0.08317, 0.07827, 0.07298, 0.06813, 0.06387, 0.06037, 0.05749, 0.05514",\
                 "0.1187, 0.1171, 0.1123, 0.1051, 0.0972, 0.08951, 0.08256, 0.07661, 0.07155, 0.06734",\
                 "0.1588, 0.1568, 0.1507, 0.1413, 0.1304, 0.1195, 0.1093, 0.1003, 0.0925, 0.08582",\
                 "0.2085, 0.2062, 0.1988, 0.1872, 0.1732, 0.159, 0.1452, 0.1327, 0.1215, 0.1117");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1378, 0.1379, 0.1379, 0.1381, 0.1384, 0.1386, 0.1391, 0.1393, 0.1408, 0.1495",\
                 "0.1368, 0.1369, 0.1371, 0.1374, 0.1377, 0.1381, 0.1385, 0.1389, 0.1403, 0.1491",\
                 "0.1354, 0.1355, 0.1359, 0.1365, 0.137, 0.1375, 0.1382, 0.1386, 0.1401, 0.1494",\
                 "0.135, 0.135, 0.1353, 0.1357, 0.1363, 0.1369, 0.1376, 0.1382, 0.1399, 0.15",\
                 "0.1384, 0.1383, 0.1379, 0.1376, 0.1374, 0.1377, 0.138, 0.1385, 0.1402, 0.1516",\
                 "0.1508, 0.1502, 0.1485, 0.1466, 0.1447, 0.1434, 0.1425, 0.1421, 0.1435, 0.1561",\
                 "0.1751, 0.1739, 0.1706, 0.1661, 0.1616, 0.1576, 0.1543, 0.1519, 0.1522, 0.1668",\
                 "0.2114, 0.2098, 0.205, 0.1976, 0.1897, 0.1826, 0.1759, 0.1707, 0.1692, 0.1866",\
                 "0.2589, 0.2571, 0.2511, 0.2415, 0.2303, 0.2191, 0.209, 0.2001, 0.1974, 0.2198",\
                 "0.3172, 0.3151, 0.3083, 0.2971, 0.2829, 0.2679, 0.2537, 0.2417, 0.2388, 0.272");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04261, 0.04259, 0.04256, 0.04256, 0.04255, 0.04254, 0.04256, 0.04257, 0.04259, 0.04258",\
                 "0.04187, 0.04186, 0.04181, 0.04178, 0.04177, 0.04177, 0.04179, 0.04181, 0.04183, 0.04181",\
                 "0.04098, 0.04096, 0.04092, 0.04086, 0.04083, 0.04079, 0.04079, 0.04077, 0.04078, 0.04078",\
                 "0.04232, 0.04219, 0.04188, 0.0415, 0.04119, 0.04092, 0.04074, 0.0406, 0.04052, 0.04046",\
                 "0.04878, 0.0484, 0.04731, 0.04597, 0.04472, 0.0437, 0.0429, 0.04224, 0.04176, 0.04141",\
                 "0.06227, 0.0615, 0.05933, 0.05637, 0.05341, 0.05087, 0.04877, 0.04709, 0.04574, 0.04467",\
                 "0.0838, 0.08262, 0.07907, 0.07411, 0.06885, 0.06401, 0.0599, 0.05652, 0.05373, 0.05148",\
                 "0.114, 0.1123, 0.1074, 0.1001, 0.09216, 0.08453, 0.07769, 0.07189, 0.06701, 0.06296",\
                 "0.1534, 0.1513, 0.1449, 0.1352, 0.1242, 0.1133, 0.1033, 0.09446, 0.08683, 0.08036",\
                 "0.2021, 0.1996, 0.1919, 0.1799, 0.1657, 0.1513, 0.1377, 0.1253, 0.1144, 0.1049");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1301, 0.1301, 0.1302, 0.1303, 0.1306, 0.1308, 0.1312, 0.1319, 0.136, 0.16",\
                 "0.129, 0.1291, 0.1294, 0.1296, 0.13, 0.1304, 0.1307, 0.1314, 0.1356, 0.1598",\
                 "0.1276, 0.1278, 0.1282, 0.1286, 0.1292, 0.1297, 0.1303, 0.1311, 0.1355, 0.1605",\
                 "0.1272, 0.1272, 0.1275, 0.128, 0.1285, 0.1291, 0.1297, 0.1307, 0.1356, 0.1626",\
                 "0.1304, 0.1302, 0.1299, 0.1296, 0.1296, 0.1298, 0.1302, 0.131, 0.1364, 0.1657",\
                 "0.1427, 0.1421, 0.1405, 0.1385, 0.1367, 0.1354, 0.1345, 0.1344, 0.14, 0.1727",\
                 "0.1669, 0.1658, 0.1624, 0.1579, 0.1534, 0.1495, 0.1463, 0.1443, 0.15, 0.187",\
                 "0.203, 0.2014, 0.1965, 0.1893, 0.1815, 0.1743, 0.1677, 0.1633, 0.1688, 0.2127",\
                 "0.25, 0.2481, 0.2421, 0.2325, 0.2215, 0.2106, 0.2005, 0.1929, 0.1997, 0.2545",\
                 "0.3075, 0.3054, 0.2985, 0.2872, 0.2733, 0.2586, 0.245, 0.2349, 0.246, 0.3184");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04263, 0.04262, 0.04261, 0.04258, 0.04257, 0.04258, 0.04258, 0.04259, 0.04258, 0.04256",\
                 "0.04189, 0.04189, 0.04187, 0.04183, 0.04182, 0.04182, 0.04182, 0.04181, 0.04181, 0.04179",\
                 "0.04095, 0.04095, 0.04091, 0.04088, 0.04085, 0.04084, 0.04082, 0.04079, 0.04077, 0.04075",\
                 "0.04231, 0.0422, 0.04188, 0.04149, 0.04118, 0.04095, 0.04077, 0.04063, 0.04052, 0.04044",\
                 "0.04874, 0.04836, 0.04731, 0.04598, 0.04473, 0.0437, 0.04289, 0.04227, 0.04178, 0.04141",\
                 "0.06217, 0.06146, 0.05928, 0.05636, 0.05342, 0.05086, 0.04875, 0.04708, 0.04574, 0.04468",\
                 "0.08367, 0.08249, 0.079, 0.07407, 0.06882, 0.06401, 0.05988, 0.0565, 0.05372, 0.05147",\
                 "0.1138, 0.1122, 0.1073, 0.1001, 0.09212, 0.0845, 0.07769, 0.07184, 0.06697, 0.06296",\
                 "0.1531, 0.151, 0.1447, 0.1351, 0.1241, 0.1133, 0.1033, 0.09445, 0.08682, 0.08034",\
                 "0.2018, 0.1993, 0.1917, 0.1797, 0.1657, 0.1513, 0.1377, 0.1253, 0.1144, 0.1049");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1496, 0.1496, 0.1497, 0.1498, 0.15, 0.1503, 0.1507, 0.1513, 0.1556, 0.1804",\
                 "0.1487, 0.1488, 0.1489, 0.1491, 0.1494, 0.1498, 0.1502, 0.151, 0.1553, 0.18",\
                 "0.1474, 0.1475, 0.1478, 0.1482, 0.1488, 0.1492, 0.1498, 0.1506, 0.1553, 0.1808",\
                 "0.1468, 0.1468, 0.1471, 0.1475, 0.1481, 0.1486, 0.1493, 0.1502, 0.1552, 0.1828",\
                 "0.1495, 0.1495, 0.1492, 0.149, 0.149, 0.1493, 0.1496, 0.1504, 0.156, 0.186",\
                 "0.1608, 0.1604, 0.1591, 0.1574, 0.1559, 0.1546, 0.1539, 0.1539, 0.1598, 0.1934",\
                 "0.1837, 0.1828, 0.1799, 0.1761, 0.1721, 0.1683, 0.1652, 0.1635, 0.1694, 0.2078",\
                 "0.2188, 0.2173, 0.2131, 0.2066, 0.1995, 0.1928, 0.1865, 0.1821, 0.1882, 0.234",\
                 "0.265, 0.2633, 0.2578, 0.249, 0.2387, 0.2285, 0.2186, 0.2115, 0.219, 0.2758",\
                 "0.322, 0.32, 0.3136, 0.303, 0.2898, 0.2758, 0.2626, 0.2532, 0.2656, 0.3402");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04517, 0.04516, 0.04515, 0.04512, 0.0451, 0.0451, 0.04511, 0.0451, 0.04511, 0.0451",\
                 "0.04459, 0.04459, 0.04455, 0.04453, 0.04451, 0.04451, 0.04451, 0.04449, 0.04448, 0.04449",\
                 "0.0438, 0.0438, 0.04376, 0.04372, 0.04369, 0.04368, 0.04366, 0.04364, 0.04362, 0.0436",\
                 "0.04527, 0.04515, 0.04483, 0.04443, 0.04409, 0.04385, 0.04367, 0.04353, 0.04341, 0.04333",\
                 "0.0519, 0.05152, 0.05047, 0.04913, 0.04787, 0.04678, 0.04595, 0.04529, 0.04479, 0.04439",\
                 "0.06569, 0.06495, 0.06282, 0.05989, 0.05693, 0.05431, 0.05216, 0.05042, 0.04899, 0.04789",\
                 "0.08767, 0.08653, 0.08307, 0.07822, 0.07299, 0.06811, 0.06386, 0.06037, 0.05748, 0.05513",\
                 "0.1185, 0.1169, 0.1122, 0.1051, 0.09717, 0.0895, 0.08258, 0.0766, 0.07156, 0.06735",\
                 "0.1586, 0.1566, 0.1505, 0.1412, 0.1303, 0.1194, 0.1093, 0.1003, 0.09252, 0.0858",\
                 "0.2082, 0.2059, 0.1986, 0.187, 0.1731, 0.1589, 0.1451, 0.1326, 0.1215, 0.1117");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1552, 0.1553, 0.1553, 0.1554, 0.1557, 0.156, 0.1563, 0.1567, 0.1582, 0.1671",\
                 "0.1543, 0.1544, 0.1545, 0.1548, 0.1551, 0.1555, 0.1558, 0.1565, 0.1577, 0.1668",\
                 "0.153, 0.1532, 0.1535, 0.1539, 0.1544, 0.155, 0.1554, 0.156, 0.1577, 0.1671",\
                 "0.1525, 0.1525, 0.1528, 0.1532, 0.1537, 0.1544, 0.1549, 0.1556, 0.1574, 0.1679",\
                 "0.1555, 0.1554, 0.1551, 0.1549, 0.1548, 0.155, 0.1555, 0.1559, 0.1577, 0.1692",\
                 "0.1669, 0.1665, 0.1652, 0.1634, 0.1618, 0.1605, 0.1597, 0.1594, 0.1607, 0.1738",\
                 "0.1901, 0.1891, 0.1862, 0.1822, 0.1783, 0.1744, 0.1712, 0.1691, 0.1694, 0.1845",\
                 "0.2255, 0.2241, 0.2197, 0.2131, 0.2057, 0.199, 0.1927, 0.1876, 0.1864, 0.2048",\
                 "0.2723, 0.2706, 0.2651, 0.2561, 0.2456, 0.235, 0.2253, 0.2168, 0.2144, 0.2376",\
                 "0.3301, 0.3281, 0.3219, 0.3112, 0.2978, 0.2833, 0.2696, 0.2578, 0.2556, 0.2905");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04264, 0.04262, 0.04261, 0.04259, 0.04257, 0.04258, 0.04258, 0.04259, 0.04258, 0.04256",\
                 "0.0419, 0.04189, 0.04186, 0.04183, 0.04182, 0.04182, 0.04182, 0.04181, 0.04181, 0.04179",\
                 "0.04096, 0.04096, 0.04091, 0.04088, 0.04085, 0.04084, 0.04081, 0.04079, 0.04077, 0.04076",\
                 "0.04231, 0.0422, 0.04189, 0.0415, 0.04119, 0.04095, 0.04078, 0.04063, 0.04052, 0.04044",\
                 "0.04876, 0.04838, 0.04732, 0.04599, 0.04473, 0.04369, 0.0429, 0.04227, 0.04178, 0.04141",\
                 "0.06218, 0.06145, 0.05927, 0.05636, 0.05342, 0.05086, 0.04875, 0.04708, 0.04574, 0.04468",\
                 "0.0837, 0.0825, 0.07901, 0.07407, 0.06882, 0.06402, 0.05988, 0.05651, 0.05372, 0.05147",\
                 "0.1138, 0.1122, 0.1073, 0.1001, 0.09212, 0.0845, 0.07767, 0.07186, 0.067, 0.06296",\
                 "0.1531, 0.151, 0.1447, 0.1351, 0.1242, 0.1133, 0.1033, 0.09444, 0.08684, 0.08038",\
                 "0.2018, 0.1994, 0.1917, 0.1797, 0.1656, 0.1513, 0.1377, 0.1253, 0.1144, 0.1049");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1475, 0.1475, 0.1476, 0.1477, 0.1479, 0.1482, 0.1486, 0.1493, 0.1536, 0.1781",\
                 "0.1466, 0.1466, 0.1468, 0.147, 0.1473, 0.1477, 0.1481, 0.1488, 0.1531, 0.1781",\
                 "0.1453, 0.1454, 0.1457, 0.1461, 0.1466, 0.1471, 0.1477, 0.1485, 0.1532, 0.1789",\
                 "0.1447, 0.1447, 0.145, 0.1454, 0.146, 0.1466, 0.1473, 0.1481, 0.1531, 0.1808",\
                 "0.1475, 0.1474, 0.1471, 0.1469, 0.1469, 0.1471, 0.1475, 0.1483, 0.1539, 0.184",\
                 "0.1588, 0.1583, 0.1571, 0.1554, 0.1538, 0.1525, 0.1518, 0.1518, 0.1577, 0.1912",\
                 "0.1819, 0.1809, 0.178, 0.1742, 0.17, 0.1663, 0.1631, 0.1615, 0.1674, 0.2055",\
                 "0.2171, 0.2156, 0.2112, 0.2047, 0.1976, 0.1907, 0.1845, 0.18, 0.1862, 0.2313",\
                 "0.2634, 0.2616, 0.2561, 0.2472, 0.2368, 0.2266, 0.2167, 0.2095, 0.2169, 0.2734",\
                 "0.3204, 0.3184, 0.312, 0.3012, 0.2879, 0.274, 0.2606, 0.2513, 0.2633, 0.3377");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.04263, 0.0426, 0.0426, 0.04258, 0.04257, 0.04258, 0.04258, 0.04258, 0.04258, 0.04256",\
                 "0.04188, 0.04189, 0.04186, 0.04183, 0.04182, 0.04182, 0.04182, 0.04181, 0.04181, 0.0418",\
                 "0.04094, 0.04095, 0.04091, 0.04088, 0.04085, 0.04084, 0.04082, 0.04079, 0.04077, 0.04075",\
                 "0.04231, 0.0422, 0.04187, 0.0415, 0.04118, 0.04095, 0.04077, 0.04063, 0.04052, 0.04044",\
                 "0.04871, 0.04835, 0.04729, 0.04597, 0.04474, 0.04369, 0.04289, 0.04227, 0.04179, 0.04141",\
                 "0.06212, 0.0614, 0.05923, 0.05635, 0.05341, 0.05085, 0.04875, 0.04709, 0.04574, 0.04467",\
                 "0.08357, 0.08239, 0.07893, 0.07401, 0.0688, 0.064, 0.05986, 0.0565, 0.05373, 0.05147",\
                 "0.1136, 0.112, 0.1072, 0.09999, 0.09207, 0.08448, 0.07767, 0.07186, 0.06699, 0.06297",\
                 "0.1528, 0.1508, 0.1445, 0.135, 0.1241, 0.1132, 0.1033, 0.09444, 0.08677, 0.08033",\
                 "0.2014, 0.1991, 0.1914, 0.1796, 0.1655, 0.1512, 0.1376, 0.1253, 0.1144, 0.1049");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.167, 0.167, 0.1671, 0.1672, 0.1674, 0.1677, 0.168, 0.1688, 0.1733, 0.1984",\
                 "0.1662, 0.1662, 0.1663, 0.1665, 0.1668, 0.1672, 0.1675, 0.1683, 0.1727, 0.1984",\
                 "0.165, 0.165, 0.1653, 0.1657, 0.1662, 0.1666, 0.1672, 0.168, 0.1727, 0.1993",\
                 "0.1643, 0.1644, 0.1646, 0.1649, 0.1656, 0.166, 0.1667, 0.1676, 0.1728, 0.2013",\
                 "0.1667, 0.1666, 0.1664, 0.1663, 0.1664, 0.1667, 0.167, 0.1678, 0.1735, 0.2045",\
                 "0.1772, 0.1769, 0.1758, 0.1743, 0.1729, 0.1718, 0.171, 0.1712, 0.1771, 0.2117",\
                 "0.1991, 0.1983, 0.1958, 0.1925, 0.1888, 0.1852, 0.1822, 0.1808, 0.187, 0.2263",\
                 "0.2332, 0.2319, 0.228, 0.2221, 0.2156, 0.2091, 0.2032, 0.1991, 0.2057, 0.2525",\
                 "0.2787, 0.2771, 0.272, 0.2639, 0.2541, 0.2444, 0.2349, 0.2282, 0.2364, 0.2946",\
                 "0.3352, 0.3333, 0.3273, 0.3174, 0.3048, 0.2914, 0.2785, 0.2697, 0.283, 0.3596");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1054, 0.1196, 0.1687, 0.2623, 0.4074, 0.6111, 0.8793, 1.217, 1.629, 2.12",\
                 "0.1173, 0.1316, 0.1812, 0.2749, 0.4204, 0.6243, 0.8924, 1.23, 1.642, 2.133",\
                 "0.1547, 0.1721, 0.2266, 0.3204, 0.466, 0.6697, 0.9377, 1.275, 1.687, 2.178",\
                 "0.1773, 0.201, 0.276, 0.3968, 0.5543, 0.7574, 1.025, 1.362, 1.774, 2.265",\
                 "0.1717, 0.2038, 0.3002, 0.4532, 0.6524, 0.8899, 1.163, 1.499, 1.909, 2.4",\
                 "0.1354, 0.1743, 0.2939, 0.4818, 0.7224, 1.008, 1.333, 1.694, 2.105, 2.593",\
                 "0.0635, 0.1093, 0.2521, 0.4768, 0.7619, 1.096, 1.475, 1.895, 2.353, 2.85",\
                 "-0.0457, 0.0077, 0.1732, 0.434, 0.7654, 1.151, 1.583, 2.062, 2.584, 3.146",\
                 "-0.1948, -0.1338, 0.055, 0.3505, 0.7291, 1.167, 1.658, 2.194, 2.779, 3.409",\
                 "-0.3865, -0.3182, -0.1061, 0.2259, 0.6485, 1.143, 1.691, 2.291, 2.937, 3.633");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1998, 0.2319, 0.3432, 0.5555, 0.885, 1.347, 1.953, 2.718, 3.649, 4.762",\
                 "0.2105, 0.2426, 0.3556, 0.5692, 0.9, 1.363, 1.97, 2.735, 3.666, 4.78",\
                 "0.2698, 0.3, 0.4098, 0.6226, 0.9537, 1.416, 2.024, 2.789, 3.724, 4.838",\
                 "0.3906, 0.4254, 0.5372, 0.742, 1.068, 1.527, 2.134, 2.897, 3.832, 4.942",\
                 "0.5457, 0.5862, 0.7184, 0.9437, 1.263, 1.715, 2.315, 3.075, 4.005, 5.115",\
                 "0.7397, 0.7861, 0.9366, 1.192, 1.546, 1.995, 2.585, 3.337, 4.26, 5.366",\
                 "0.9716, 1.026, 1.198, 1.481, 1.873, 2.367, 2.958, 3.7, 4.614, 5.71",\
                 "1.243, 1.306, 1.502, 1.818, 2.244, 2.784, 3.427, 4.172, 5.075, 6.161",\
                 "1.554, 1.626, 1.85, 2.203, 2.668, 3.247, 3.943, 4.745, 5.654, 6.728",\
                 "1.906, 1.989, 2.24, 2.635, 3.145, 3.764, 4.507, 5.369, 6.337, 7.42");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1391, 0.1634, 0.2469, 0.4061, 0.6552, 1.003, 1.459, 2.036, 2.742, 3.582",\
                 "0.1392, 0.163, 0.2469, 0.406, 0.6555, 1.003, 1.459, 2.037, 2.742, 3.582",\
                 "0.1755, 0.1957, 0.2617, 0.4068, 0.6552, 1.003, 1.46, 2.037, 2.743, 3.583",\
                 "0.2499, 0.2738, 0.3546, 0.4894, 0.6874, 1.005, 1.459, 2.037, 2.741, 3.58",\
                 "0.3492, 0.3781, 0.471, 0.6288, 0.844, 1.115, 1.497, 2.039, 2.74, 3.581",\
                 "0.4682, 0.5052, 0.6182, 0.7962, 1.036, 1.342, 1.701, 2.158, 2.777, 3.583",\
                 "0.6066, 0.6538, 0.7848, 0.9952, 1.261, 1.595, 1.996, 2.458, 2.997, 3.698",\
                 "0.7634, 0.815, 0.9728, 1.217, 1.523, 1.883, 2.317, 2.818, 3.388, 4.029",\
                 "0.9364, 0.9978, 1.182, 1.463, 1.807, 2.208, 2.672, 3.211, 3.826, 4.509",\
                 "1.122, 1.196, 1.411, 1.724, 2.119, 2.566, 3.073, 3.64, 4.295, 5.024");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3334, 0.3923, 0.5936, 0.9685, 1.55, 2.361, 3.43, 4.777, 6.42, 8.365",\
                 "0.3318, 0.3909, 0.5922, 0.9691, 1.549, 2.36, 3.427, 4.776, 6.408, 8.364",\
                 "0.3263, 0.3829, 0.5889, 0.9671, 1.549, 2.362, 3.428, 4.773, 6.417, 8.374",\
                 "0.3894, 0.4392, 0.6077, 0.9632, 1.549, 2.362, 3.43, 4.773, 6.418, 8.369",\
                 "0.4696, 0.5242, 0.711, 1.031, 1.557, 2.358, 3.43, 4.776, 6.413, 8.371",\
                 "0.5752, 0.6348, 0.8246, 1.178, 1.671, 2.393, 3.431, 4.773, 6.411, 8.375",\
                 "0.7098, 0.772, 0.9684, 1.335, 1.871, 2.555, 3.496, 4.776, 6.411, 8.372",\
                 "0.8632, 0.9308, 1.145, 1.517, 2.075, 2.813, 3.704, 4.88, 6.435, 8.37",\
                 "1.034, 1.11, 1.347, 1.735, 2.302, 3.08, 4.026, 5.143, 6.585, 8.412",\
                 "1.221, 1.305, 1.571, 1.99, 2.568, 3.362, 4.356, 5.525, 6.888, 8.604");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1054, 0.1196, 0.1687, 0.2621, 0.4076, 0.6111, 0.8789, 1.217, 1.629, 2.121",\
                 "0.1174, 0.1317, 0.1812, 0.275, 0.4203, 0.6242, 0.8923, 1.23, 1.642, 2.134",\
                 "0.1553, 0.1726, 0.227, 0.3209, 0.4664, 0.6702, 0.9377, 1.275, 1.688, 2.179",\
                 "0.178, 0.2018, 0.2768, 0.3976, 0.555, 0.7581, 1.026, 1.363, 1.774, 2.265",\
                 "0.1703, 0.2016, 0.2985, 0.4525, 0.6525, 0.8901, 1.164, 1.5, 1.91, 2.4",\
                 "0.1253, 0.164, 0.2854, 0.4759, 0.7185, 1.006, 1.332, 1.693, 2.104, 2.593",\
                 "0.0405, 0.0874, 0.2323, 0.4608, 0.7503, 1.088, 1.47, 1.892, 2.351, 2.85",\
                 "-0.0878, -0.0328, 0.1366, 0.4032, 0.7412, 1.133, 1.571, 2.053, 2.578, 3.141",\
                 "-0.2617, -0.1986, -0.0045, 0.3004, 0.6872, 1.135, 1.633, 2.175, 2.765, 3.398",\
                 "-0.484, -0.4132, -0.1941, 0.1491, 0.5849, 1.089, 1.649, 2.258, 2.912, 3.613");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2179, 0.2562, 0.3934, 0.658, 1.07, 1.646, 2.404, 3.358, 4.523, 5.915",\
                 "0.2275, 0.2659, 0.4044, 0.6712, 1.084, 1.662, 2.421, 3.376, 4.542, 5.928",\
                 "0.2875, 0.3231, 0.4569, 0.7219, 1.136, 1.714, 2.474, 3.43, 4.596, 5.982",\
                 "0.4194, 0.4578, 0.5859, 0.8388, 1.246, 1.82, 2.578, 3.533, 4.698, 6.083",\
                 "0.5905, 0.6357, 0.7855, 1.043, 1.436, 2.002, 2.751, 3.7, 4.861, 6.246",\
                 "0.8065, 0.8575, 1.025, 1.316, 1.723, 2.275, 3.013, 3.953, 5.107, 6.487",\
                 "1.066, 1.126, 1.313, 1.632, 2.082, 2.651, 3.378, 4.305, 5.447, 6.82",\
                 "1.37, 1.44, 1.653, 2.001, 2.486, 3.106, 3.852, 4.767, 5.896, 7.255",\
                 "1.723, 1.801, 2.041, 2.427, 2.946, 3.61, 4.413, 5.346, 6.461, 7.806",\
                 "2.125, 2.212, 2.479, 2.908, 3.469, 4.17, 5.025, 6.021, 7.153, 8.484");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1394, 0.1633, 0.2468, 0.4063, 0.6551, 1.003, 1.46, 2.037, 2.741, 3.581",\
                 "0.1392, 0.1631, 0.2466, 0.4062, 0.6554, 1.003, 1.46, 2.036, 2.742, 3.581",\
                 "0.1751, 0.1954, 0.2616, 0.4067, 0.6543, 1.003, 1.46, 2.037, 2.741, 3.582",\
                 "0.2487, 0.2733, 0.354, 0.4887, 0.6861, 1.004, 1.459, 2.037, 2.741, 3.582",\
                 "0.3452, 0.3758, 0.4696, 0.6278, 0.8448, 1.115, 1.497, 2.039, 2.741, 3.58",\
                 "0.4626, 0.5002, 0.6148, 0.7944, 1.038, 1.343, 1.702, 2.159, 2.779, 3.582",\
                 "0.5992, 0.6448, 0.781, 0.994, 1.264, 1.599, 1.999, 2.46, 2.998, 3.699",\
                 "0.7562, 0.809, 0.969, 1.216, 1.525, 1.891, 2.323, 2.825, 3.394, 4.031",\
                 "0.9278, 0.9936, 1.18, 1.464, 1.812, 2.22, 2.686, 3.223, 3.835, 4.517",\
                 "1.114, 1.189, 1.41, 1.732, 2.129, 2.58, 3.089, 3.659, 4.31, 5.043");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4112, 0.4888, 0.7533, 1.229, 1.956, 2.97, 4.298, 5.976, 8.02, 10.45",\
                 "0.407, 0.4852, 0.7509, 1.232, 1.958, 2.969, 4.3, 5.976, 8.022, 10.46",\
                 "0.3939, 0.4713, 0.7435, 1.228, 1.957, 2.971, 4.298, 5.975, 8.021, 10.44",\
                 "0.4487, 0.5106, 0.739, 1.217, 1.953, 2.972, 4.303, 5.973, 8.021, 10.45",\
                 "0.5266, 0.5948, 0.826, 1.242, 1.944, 2.971, 4.294, 5.978, 8.025, 10.46",\
                 "0.628, 0.6956, 0.9336, 1.368, 2.008, 2.966, 4.297, 5.978, 8.023, 10.46",\
                 "0.7582, 0.8304, 1.065, 1.518, 2.174, 3.061, 4.307, 5.977, 8.02, 10.45",\
                 "0.9114, 0.9862, 1.23, 1.684, 2.373, 3.275, 4.436, 6.002, 8.015, 10.46",\
                 "1.082, 1.166, 1.431, 1.883, 2.583, 3.535, 4.692, 6.159, 8.069, 10.45",\
                 "1.272, 1.362, 1.65, 2.126, 2.827, 3.801, 5.023, 6.463, 8.268, 10.51");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1091, 0.1236, 0.1733, 0.2681, 0.415, 0.6198, 0.8881, 1.226, 1.638, 2.129",\
                 "0.1211, 0.1356, 0.1858, 0.2808, 0.4279, 0.6329, 0.9013, 1.239, 1.651, 2.142",\
                 "0.1608, 0.1779, 0.2321, 0.327, 0.4739, 0.6788, 0.9471, 1.285, 1.697, 2.188",\
                 "0.1875, 0.2109, 0.2854, 0.4059, 0.5632, 0.7671, 1.035, 1.372, 1.783, 2.274",\
                 "0.1862, 0.2166, 0.3122, 0.4648, 0.6638, 0.9003, 1.173, 1.509, 1.919, 2.409",\
                 "0.1505, 0.1883, 0.3059, 0.493, 0.7333, 1.019, 1.343, 1.703, 2.114, 2.601",\
                 "0.076, 0.1204, 0.2604, 0.4836, 0.7687, 1.103, 1.483, 1.903, 2.361, 2.859",\
                 "-0.041, 0.0102, 0.1717, 0.4315, 0.7632, 1.151, 1.586, 2.067, 2.59, 3.152",\
                 "-0.2041, -0.1458, 0.0384, 0.3333, 0.7136, 1.156, 1.651, 2.191, 2.779, 3.411",\
                 "-0.415, -0.3496, -0.1431, 0.1883, 0.6152, 1.115, 1.67, 2.275, 2.927, 3.627");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2888, 0.328, 0.4665, 0.7321, 1.144, 1.72, 2.478, 3.432, 4.596, 5.988",\
                 "0.2989, 0.3386, 0.4789, 0.7454, 1.159, 1.736, 2.496, 3.45, 4.617, 6.002",\
                 "0.3545, 0.3927, 0.5305, 0.7965, 1.21, 1.788, 2.548, 3.504, 4.67, 6.056",\
                 "0.4895, 0.5261, 0.6541, 0.9113, 1.32, 1.894, 2.651, 3.606, 4.77, 6.158",\
                 "0.6724, 0.7155, 0.8599, 1.112, 1.509, 2.075, 2.826, 3.774, 4.936, 6.322",\
                 "0.8986, 0.9472, 1.108, 1.392, 1.793, 2.347, 3.087, 4.026, 5.18, 6.562",\
                 "1.172, 1.227, 1.405, 1.715, 2.158, 2.722, 3.45, 4.377, 5.522, 6.893",\
                 "1.493, 1.555, 1.754, 2.091, 2.568, 3.182, 3.923, 4.838, 5.968, 7.327",\
                 "1.861, 1.931, 2.154, 2.524, 3.033, 3.691, 4.488, 5.416, 6.533, 7.876",\
                 "2.279, 2.357, 2.607, 3.014, 3.562, 4.256, 5.105, 6.094, 7.224, 8.554");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1778, 0.202, 0.2858, 0.4458, 0.6937, 1.042, 1.5, 2.077, 2.782, 3.62",\
                 "0.1779, 0.202, 0.2859, 0.4455, 0.6938, 1.042, 1.501, 2.076, 2.782, 3.617",\
                 "0.2175, 0.2352, 0.3008, 0.4463, 0.6942, 1.041, 1.501, 2.077, 2.782, 3.621",\
                 "0.3062, 0.3283, 0.402, 0.5301, 0.7262, 1.045, 1.5, 2.075, 2.782, 3.618",\
                 "0.4231, 0.4488, 0.5318, 0.6806, 0.889, 1.155, 1.539, 2.079, 2.78, 3.62",\
                 "0.564, 0.5948, 0.6932, 0.8582, 1.092, 1.389, 1.743, 2.198, 2.817, 3.624",\
                 "0.7262, 0.762, 0.8786, 1.07, 1.327, 1.652, 2.045, 2.502, 3.039, 3.738",\
                 "0.9118, 0.9524, 1.087, 1.309, 1.599, 1.951, 2.376, 2.873, 3.437, 4.075",\
                 "1.113, 1.164, 1.32, 1.571, 1.901, 2.291, 2.747, 3.278, 3.884, 4.561",\
                 "1.332, 1.39, 1.573, 1.856, 2.227, 2.661, 3.157, 3.719, 4.364, 5.087");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5222, 0.598, 0.8555, 1.329, 2.054, 3.066, 4.396, 6.069, 8.107, 10.55",\
                 "0.5189, 0.5948, 0.8542, 1.329, 2.054, 3.066, 4.396, 6.07, 8.112, 10.54",\
                 "0.506, 0.5843, 0.8485, 1.328, 2.054, 3.066, 4.395, 6.069, 8.112, 10.54",\
                 "0.5303, 0.5946, 0.8356, 1.319, 2.053, 3.065, 4.395, 6.069, 8.108, 10.54",\
                 "0.614, 0.6822, 0.9062, 1.332, 2.045, 3.065, 4.394, 6.068, 8.111, 10.55",\
                 "0.7114, 0.7822, 1.021, 1.448, 2.091, 3.061, 4.394, 6.068, 8.111, 10.54",\
                 "0.8382, 0.9086, 1.149, 1.605, 2.253, 3.145, 4.399, 6.066, 8.11, 10.54",\
                 "0.9942, 1.068, 1.312, 1.767, 2.458, 3.353, 4.519, 6.086, 8.108, 10.54",\
                 "1.171, 1.252, 1.508, 1.965, 2.671, 3.62, 4.776, 6.242, 8.146, 10.54",\
                 "1.366, 1.455, 1.735, 2.206, 2.909, 3.891, 5.103, 6.543, 8.338, 10.6");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1055, 0.1198, 0.1688, 0.2624, 0.4075, 0.6111, 0.8791, 1.217, 1.629, 2.12",\
                 "0.1177, 0.132, 0.1816, 0.2754, 0.4208, 0.6247, 0.8925, 1.23, 1.643, 2.134",\
                 "0.1557, 0.1731, 0.2274, 0.3213, 0.4667, 0.6705, 0.9387, 1.276, 1.689, 2.18",\
                 "0.1773, 0.2014, 0.2765, 0.3975, 0.5551, 0.7582, 1.026, 1.363, 1.774, 2.265",\
                 "0.1683, 0.1998, 0.2974, 0.4518, 0.652, 0.8895, 1.164, 1.499, 1.91, 2.399",\
                 "0.122, 0.1615, 0.2836, 0.474, 0.7181, 1.005, 1.332, 1.693, 2.104, 2.591",\
                 "0.0364, 0.0835, 0.2296, 0.4597, 0.749, 1.087, 1.469, 1.891, 2.35, 2.85",\
                 "-0.0922, -0.037, 0.134, 0.401, 0.7399, 1.132, 1.57, 2.053, 2.577, 3.141",\
                 "-0.2662, -0.2031, -0.0077, 0.2976, 0.6848, 1.134, 1.632, 2.175, 2.764, 3.397",\
                 "-0.4882, -0.4169, -0.1981, 0.1467, 0.582, 1.089, 1.649, 2.256, 2.911, 3.612");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2401, 0.2801, 0.4203, 0.6861, 1.098, 1.675, 2.435, 3.389, 4.555, 5.945",\
                 "0.2483, 0.289, 0.4306, 0.6984, 1.112, 1.69, 2.451, 3.408, 4.572, 5.962",\
                 "0.3036, 0.3419, 0.4801, 0.7469, 1.161, 1.74, 2.5, 3.457, 4.623, 6.015",\
                 "0.4321, 0.4721, 0.6039, 0.8608, 1.269, 1.845, 2.603, 3.557, 4.723, 6.113",\
                 "0.6015, 0.6473, 0.7996, 1.061, 1.458, 2.024, 2.775, 3.726, 4.885, 6.274",\
                 "0.8156, 0.867, 1.036, 1.33, 1.741, 2.295, 3.036, 3.978, 5.133, 6.513",\
                 "1.074, 1.134, 1.323, 1.644, 2.096, 2.669, 3.398, 4.328, 5.472, 6.844",\
                 "1.378, 1.448, 1.661, 2.011, 2.499, 3.122, 3.87, 4.787, 5.919, 7.278",\
                 "1.729, 1.808, 2.049, 2.436, 2.957, 3.623, 4.429, 5.364, 6.483, 7.829",\
                 "2.133, 2.22, 2.488, 2.916, 3.479, 4.183, 5.04, 6.038, 7.173, 8.505");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1391, 0.1634, 0.2468, 0.406, 0.655, 1.003, 1.46, 2.037, 2.742, 3.582",\
                 "0.1392, 0.163, 0.2467, 0.406, 0.6547, 1.002, 1.46, 2.036, 2.741, 3.58",\
                 "0.1747, 0.1949, 0.2615, 0.4069, 0.6535, 1.003, 1.459, 2.037, 2.741, 3.582",\
                 "0.249, 0.2736, 0.354, 0.4894, 0.6864, 1.005, 1.459, 2.037, 2.742, 3.582",\
                 "0.3477, 0.3774, 0.4715, 0.6284, 0.8452, 1.114, 1.497, 2.039, 2.74, 3.579",\
                 "0.4666, 0.504, 0.6186, 0.7976, 1.04, 1.343, 1.703, 2.16, 2.777, 3.585",\
                 "0.6056, 0.6506, 0.7886, 0.9984, 1.266, 1.601, 2.001, 2.46, 2.998, 3.7",\
                 "0.7656, 0.8176, 0.9764, 1.223, 1.531, 1.892, 2.324, 2.827, 3.396, 4.031",\
                 "0.9398, 1.001, 1.19, 1.47, 1.817, 2.225, 2.688, 3.227, 3.835, 4.517",\
                 "1.125, 1.2, 1.42, 1.741, 2.134, 2.585, 3.093, 3.662, 4.312, 5.041");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4292, 0.5023, 0.7534, 1.22, 1.944, 2.953, 4.286, 5.955, 8.011, 10.45",\
                 "0.4264, 0.5011, 0.7523, 1.22, 1.945, 2.958, 4.286, 5.963, 8.011, 10.43",\
                 "0.4147, 0.4904, 0.7486, 1.221, 1.942, 2.955, 4.288, 5.963, 7.998, 10.45",\
                 "0.4601, 0.5227, 0.7475, 1.214, 1.941, 2.952, 4.283, 5.962, 8.011, 10.45",\
                 "0.533, 0.6008, 0.832, 1.243, 1.938, 2.958, 4.287, 5.965, 8.004, 10.45",\
                 "0.629, 0.698, 0.9374, 1.371, 2.003, 2.959, 4.284, 5.958, 7.999, 10.44",\
                 "0.7576, 0.8268, 1.065, 1.517, 2.174, 3.056, 4.301, 5.962, 8.013, 10.45",\
                 "0.9096, 0.9862, 1.231, 1.681, 2.374, 3.273, 4.431, 5.995, 8.015, 10.44",\
                 "1.08, 1.164, 1.427, 1.884, 2.583, 3.535, 4.691, 6.161, 8.047, 10.44",\
                 "1.27, 1.359, 1.648, 2.123, 2.825, 3.797, 5.022, 6.46, 8.246, 10.52");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1055, 0.1197, 0.1689, 0.2624, 0.4077, 0.6113, 0.879, 1.217, 1.628, 2.121",\
                 "0.1179, 0.1321, 0.1816, 0.2755, 0.4209, 0.6247, 0.8927, 1.23, 1.643, 2.133",\
                 "0.1562, 0.1735, 0.2278, 0.3216, 0.4673, 0.6708, 0.9387, 1.276, 1.689, 2.18",\
                 "0.1782, 0.2018, 0.277, 0.3981, 0.5554, 0.7588, 1.026, 1.363, 1.775, 2.266",\
                 "0.1668, 0.1984, 0.2963, 0.4509, 0.6518, 0.8899, 1.164, 1.5, 1.911, 2.401",\
                 "0.1154, 0.1547, 0.2777, 0.4701, 0.715, 1.004, 1.331, 1.693, 2.103, 2.592",\
                 "0.0194, 0.0672, 0.215, 0.4477, 0.7394, 1.081, 1.465, 1.889, 2.349, 2.848",\
                 "-0.1241, -0.0678, 0.106, 0.3782, 0.722, 1.119, 1.56, 2.045, 2.572, 3.137",\
                 "-0.3182, -0.2533, -0.0543, 0.2581, 0.6538, 1.109, 1.61, 2.16, 2.753, 3.389",\
                 "-0.5641, -0.4917, -0.266, 0.0863, 0.5323, 1.047, 1.616, 2.23, 2.891, 3.597");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2608, 0.3078, 0.4744, 0.7924, 1.286, 1.978, 2.886, 4.03, 5.428, 7.092",\
                 "0.2676, 0.3147, 0.4833, 0.8046, 1.3, 1.993, 2.902, 4.047, 5.445, 7.11",\
                 "0.3225, 0.3674, 0.5312, 0.851, 1.347, 2.041, 2.952, 4.097, 5.495, 7.161",\
                 "0.4593, 0.5037, 0.6548, 0.9629, 1.452, 2.141, 3.05, 4.194, 5.591, 7.256",\
                 "0.6431, 0.694, 0.8635, 1.162, 1.637, 2.317, 3.217, 4.356, 5.75, 7.411",\
                 "0.8746, 0.9317, 1.12, 1.449, 1.92, 2.584, 3.472, 4.6, 5.987, 7.638",\
                 "1.157, 1.221, 1.427, 1.785, 2.295, 2.956, 3.828, 4.942, 6.316, 7.962",\
                 "1.49, 1.563, 1.793, 2.178, 2.726, 3.43, 4.298, 5.397, 6.753, 8.385",\
                 "1.876, 1.959, 2.216, 2.635, 3.216, 3.967, 4.878, 5.969, 7.309, 8.922",\
                 "2.318, 2.409, 2.695, 3.157, 3.772, 4.563, 5.531, 6.662, 7.993, 9.591");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1391, 0.1634, 0.2469, 0.4063, 0.6554, 1.003, 1.46, 2.036, 2.74, 3.581",\
                 "0.1393, 0.163, 0.2467, 0.4061, 0.6549, 1.003, 1.459, 2.037, 2.741, 3.582",\
                 "0.1744, 0.1947, 0.2614, 0.4069, 0.6554, 1.003, 1.46, 2.037, 2.742, 3.581",\
                 "0.2483, 0.2728, 0.3544, 0.489, 0.6854, 1.005, 1.459, 2.037, 2.741, 3.58",\
                 "0.3446, 0.3747, 0.4708, 0.6284, 0.8444, 1.115, 1.498, 2.039, 2.741, 3.58",\
                 "0.461, 0.4992, 0.6164, 0.7962, 1.04, 1.344, 1.703, 2.16, 2.776, 3.581",\
                 "0.5978, 0.6434, 0.7834, 0.9966, 1.269, 1.603, 2.004, 2.464, 2.998, 3.7",\
                 "0.7552, 0.8098, 0.972, 1.22, 1.531, 1.897, 2.331, 2.832, 3.398, 4.035",\
                 "0.9256, 0.993, 1.182, 1.468, 1.82, 2.232, 2.697, 3.234, 3.845, 4.522",\
                 "1.111, 1.189, 1.412, 1.738, 2.138, 2.593, 3.105, 3.677, 4.328, 5.054");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5162, 0.6083, 0.9159, 1.48, 2.349, 3.558, 5.152, 7.154, 9.601, 12.49",\
                 "0.5114, 0.6047, 0.9156, 1.48, 2.35, 3.559, 5.152, 7.157, 9.6, 12.52",\
                 "0.4949, 0.5889, 0.909, 1.48, 2.349, 3.561, 5.145, 7.156, 9.602, 12.5",\
                 "0.5258, 0.6038, 0.8937, 1.473, 2.348, 3.559, 5.148, 7.151, 9.588, 12.52",\
                 "0.5954, 0.6788, 0.9554, 1.475, 2.338, 3.555, 5.149, 7.151, 9.601, 12.5",\
                 "0.6852, 0.766, 1.054, 1.572, 2.36, 3.554, 5.15, 7.149, 9.604, 12.52",\
                 "0.8064, 0.8856, 1.17, 1.71, 2.493, 3.594, 5.141, 7.144, 9.59, 12.52",\
                 "0.9558, 1.04, 1.322, 1.86, 2.686, 3.758, 5.213, 7.159, 9.585, 12.52",\
                 "1.125, 1.218, 1.508, 2.044, 2.886, 4.007, 5.403, 7.241, 9.607, 12.52",\
                 "1.313, 1.412, 1.727, 2.266, 3.101, 4.26, 5.698, 7.456, 9.698, 12.52");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1093, 0.1237, 0.1734, 0.2682, 0.4151, 0.6199, 0.8882, 1.226, 1.638, 2.129",\
                 "0.1216, 0.1361, 0.1861, 0.2812, 0.4283, 0.6333, 0.9017, 1.239, 1.651, 2.142",\
                 "0.1615, 0.1787, 0.2328, 0.3277, 0.4747, 0.6795, 0.9479, 1.285, 1.697, 2.189",\
                 "0.1875, 0.211, 0.2858, 0.4063, 0.5637, 0.7678, 1.035, 1.372, 1.784, 2.275",\
                 "0.1827, 0.2136, 0.31, 0.4638, 0.6633, 0.9, 1.174, 1.509, 1.919, 2.41",\
                 "0.1402, 0.1786, 0.2983, 0.4874, 0.7298, 1.016, 1.342, 1.702, 2.113, 2.601",\
                 "0.0551, 0.1003, 0.2431, 0.4702, 0.7588, 1.097, 1.478, 1.9, 2.359, 2.857",\
                 "-0.0771, -0.0245, 0.1412, 0.4062, 0.744, 1.137, 1.576, 2.059, 2.584, 3.148",\
                 "-0.2598, -0.1997, -0.0102, 0.2921, 0.6803, 1.13, 1.631, 2.176, 2.766, 3.402",\
                 "-0.4948, -0.4275, -0.2146, 0.1263, 0.5626, 1.072, 1.637, 2.249, 2.907, 3.611");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3478, 0.3955, 0.5631, 0.8817, 1.376, 2.067, 2.977, 4.119, 5.517, 7.181",\
                 "0.3561, 0.4043, 0.5737, 0.8941, 1.389, 2.082, 2.991, 4.136, 5.533, 7.199",\
                 "0.4068, 0.4535, 0.6208, 0.9407, 1.437, 2.131, 3.041, 4.187, 5.585, 7.25",\
                 "0.5393, 0.5823, 0.7392, 1.051, 1.541, 2.231, 3.139, 4.284, 5.68, 7.345",\
                 "0.7359, 0.7849, 0.948, 1.246, 1.725, 2.405, 3.306, 4.445, 5.837, 7.499",\
                 "0.9778, 1.032, 1.214, 1.535, 2.003, 2.671, 3.56, 4.688, 6.074, 7.73",\
                 "1.272, 1.332, 1.529, 1.88, 2.382, 3.04, 3.915, 5.029, 6.404, 8.049",\
                 "1.62, 1.687, 1.904, 2.279, 2.82, 3.516, 4.382, 5.481, 6.839, 8.472",\
                 "2.023, 2.098, 2.338, 2.743, 3.315, 4.058, 4.964, 6.054, 7.396, 9.009",\
                 "2.482, 2.565, 2.831, 3.272, 3.877, 4.661, 5.622, 6.746, 8.078, 9.676");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1778, 0.202, 0.286, 0.4455, 0.6941, 1.042, 1.5, 2.077, 2.782, 3.621",\
                 "0.1778, 0.202, 0.2859, 0.4455, 0.6945, 1.041, 1.501, 2.077, 2.78, 3.62",\
                 "0.217, 0.2346, 0.3006, 0.4464, 0.6934, 1.042, 1.499, 2.078, 2.78, 3.621",\
                 "0.3057, 0.3279, 0.4018, 0.53, 0.7255, 1.044, 1.5, 2.077, 2.781, 3.618",\
                 "0.4226, 0.4487, 0.5323, 0.681, 0.8892, 1.155, 1.537, 2.08, 2.779, 3.62",\
                 "0.563, 0.5938, 0.6944, 0.8608, 1.094, 1.391, 1.745, 2.199, 2.818, 3.625",\
                 "0.7258, 0.7626, 0.8814, 1.075, 1.333, 1.657, 2.049, 2.505, 3.04, 3.738",\
                 "0.9114, 0.954, 1.091, 1.314, 1.606, 1.96, 2.383, 2.879, 3.441, 4.075",\
                 "1.113, 1.166, 1.323, 1.578, 1.91, 2.302, 2.758, 3.287, 3.891, 4.567",\
                 "1.331, 1.392, 1.578, 1.866, 2.237, 2.676, 3.173, 3.736, 4.38, 5.103");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6466, 0.7351, 1.038, 1.598, 2.464, 3.673, 5.264, 7.263, 9.706, 12.62",\
                 "0.6436, 0.7335, 1.037, 1.598, 2.464, 3.674, 5.262, 7.263, 9.704, 12.62",\
                 "0.6311, 0.724, 1.033, 1.598, 2.464, 3.673, 5.262, 7.263, 9.705, 12.62",\
                 "0.6329, 0.7154, 1.015, 1.594, 2.463, 3.673, 5.263, 7.263, 9.703, 12.61",\
                 "0.7068, 0.7874, 1.057, 1.586, 2.459, 3.672, 5.262, 7.263, 9.705, 12.62",\
                 "0.7896, 0.8746, 1.162, 1.671, 2.471, 3.669, 5.262, 7.265, 9.708, 12.62",\
                 "0.905, 0.9858, 1.277, 1.817, 2.593, 3.701, 5.261, 7.263, 9.708, 12.62",\
                 "1.051, 1.137, 1.421, 1.969, 2.788, 3.859, 5.313, 7.266, 9.705, 12.62",\
                 "1.226, 1.315, 1.606, 2.146, 2.993, 4.104, 5.503, 7.335, 9.711, 12.62",\
                 "1.422, 1.518, 1.825, 2.364, 3.205, 4.367, 5.795, 7.558, 9.802, 12.63");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1094, 0.1237, 0.1735, 0.2683, 0.4155, 0.6211, 0.8902, 1.228, 1.64, 2.131",\
                 "0.1216, 0.1361, 0.1861, 0.2814, 0.4288, 0.6345, 0.9037, 1.242, 1.654, 2.145",\
                 "0.1612, 0.1784, 0.2325, 0.3275, 0.4748, 0.6804, 0.9496, 1.287, 1.699, 2.191",\
                 "0.1869, 0.2105, 0.2855, 0.4061, 0.5637, 0.7685, 1.037, 1.374, 1.786, 2.276",\
                 "0.185, 0.2155, 0.3117, 0.4651, 0.6647, 0.9016, 1.175, 1.511, 1.921, 2.411",\
                 "0.1492, 0.1873, 0.306, 0.4941, 0.7351, 1.021, 1.345, 1.705, 2.116, 2.604",\
                 "0.0769, 0.1213, 0.2619, 0.4859, 0.7713, 1.106, 1.486, 1.906, 2.363, 2.861",\
                 "-0.0364, 0.0147, 0.1756, 0.4354, 0.7669, 1.155, 1.589, 2.069, 2.592, 3.154",\
                 "-0.1957, -0.1381, 0.0447, 0.3386, 0.7184, 1.16, 1.655, 2.194, 2.781, 3.413",\
                 "-0.4029, -0.3385, -0.1341, 0.195, 0.6207, 1.119, 1.674, 2.279, 2.93, 3.63");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3278, 0.3683, 0.5088, 0.7747, 1.187, 1.765, 2.524, 3.481, 4.645, 6.035",\
                 "0.3377, 0.3786, 0.5205, 0.7883, 1.202, 1.78, 2.54, 3.497, 4.661, 6.052",\
                 "0.3892, 0.4292, 0.5695, 0.8368, 1.251, 1.83, 2.59, 3.546, 4.713, 6.105",\
                 "0.518, 0.5549, 0.6882, 0.9488, 1.358, 1.934, 2.693, 3.647, 4.814, 6.202",\
                 "0.7006, 0.7443, 0.8893, 1.146, 1.545, 2.112, 2.864, 3.815, 4.978, 6.364",\
                 "0.9263, 0.9748, 1.137, 1.422, 1.826, 2.382, 3.123, 4.066, 5.222, 6.602",\
                 "1.201, 1.256, 1.433, 1.745, 2.188, 2.755, 3.484, 4.415, 5.559, 6.933",\
                 "1.523, 1.585, 1.783, 2.119, 2.598, 3.213, 3.956, 4.874, 6.006, 7.367",\
                 "1.894, 1.963, 2.185, 2.552, 3.063, 3.721, 4.519, 5.45, 6.568, 7.916",\
                 "2.315, 2.393, 2.639, 3.044, 3.59, 4.287, 5.136, 6.127, 7.259, 8.591");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1853, 0.21, 0.2946, 0.4543, 0.7026, 1.051, 1.51, 2.084, 2.789, 3.631",\
                 "0.1854, 0.21, 0.2946, 0.4543, 0.7027, 1.051, 1.509, 2.085, 2.791, 3.627",\
                 "0.2255, 0.243, 0.3094, 0.4552, 0.703, 1.052, 1.509, 2.087, 2.789, 3.629",\
                 "0.3188, 0.3402, 0.4129, 0.5395, 0.7351, 1.055, 1.51, 2.086, 2.791, 3.628",\
                 "0.442, 0.4663, 0.5473, 0.6926, 0.8996, 1.164, 1.548, 2.089, 2.791, 3.63",\
                 "0.5908, 0.62, 0.715, 0.8752, 1.105, 1.4, 1.752, 2.208, 2.828, 3.631",\
                 "0.7616, 0.7956, 0.908, 1.092, 1.345, 1.667, 2.058, 2.513, 3.048, 3.747",\
                 "0.9542, 0.993, 1.122, 1.337, 1.623, 1.969, 2.39, 2.884, 3.45, 4.082",\
                 "1.166, 1.213, 1.36, 1.604, 1.924, 2.311, 2.762, 3.289, 3.895, 4.571",\
                 "1.391, 1.448, 1.619, 1.897, 2.257, 2.685, 3.176, 3.735, 4.377, 5.1");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5511, 0.623, 0.8711, 1.337, 2.06, 3.073, 4.403, 6.078, 8.118, 10.56",\
                 "0.5498, 0.6225, 0.8706, 1.337, 2.06, 3.072, 4.403, 6.079, 8.117, 10.55",\
                 "0.5428, 0.6172, 0.8685, 1.337, 2.06, 3.072, 4.402, 6.075, 8.118, 10.55",\
                 "0.5575, 0.6226, 0.8604, 1.334, 2.06, 3.072, 4.402, 6.075, 8.116, 10.55",\
                 "0.6388, 0.7056, 0.9268, 1.349, 2.057, 3.071, 4.402, 6.077, 8.122, 10.55",\
                 "0.7298, 0.8014, 1.042, 1.465, 2.105, 3.072, 4.401, 6.077, 8.12, 10.55",\
                 "0.8534, 0.9238, 1.168, 1.621, 2.269, 3.157, 4.409, 6.075, 8.12, 10.56",\
                 "1.009, 1.082, 1.326, 1.786, 2.478, 3.367, 4.532, 6.098, 8.12, 10.55",\
                 "1.186, 1.266, 1.523, 1.981, 2.688, 3.636, 4.788, 6.255, 8.16, 10.56",\
                 "1.383, 1.468, 1.748, 2.221, 2.926, 3.903, 5.118, 6.556, 8.352, 10.62");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1093, 0.1237, 0.1735, 0.2682, 0.4155, 0.6212, 0.8902, 1.228, 1.64, 2.131",\
                 "0.1216, 0.1362, 0.1862, 0.2814, 0.4288, 0.6346, 0.9037, 1.242, 1.654, 2.145",\
                 "0.1616, 0.1788, 0.2328, 0.3278, 0.4752, 0.6807, 0.9499, 1.288, 1.7, 2.191",\
                 "0.1876, 0.2111, 0.286, 0.4066, 0.5641, 0.769, 1.037, 1.375, 1.786, 2.277",\
                 "0.183, 0.214, 0.3106, 0.4646, 0.6648, 0.9017, 1.176, 1.511, 1.922, 2.412",\
                 "0.1417, 0.1801, 0.3, 0.4894, 0.7322, 1.019, 1.344, 1.704, 2.115, 2.604",\
                 "0.0593, 0.1046, 0.2471, 0.474, 0.7626, 1.1, 1.481, 1.903, 2.362, 2.86",\
                 "-0.0686, -0.0167, 0.148, 0.4121, 0.7489, 1.141, 1.579, 2.062, 2.587, 3.151",\
                 "-0.2477, -0.1883, -0.0009, 0.2993, 0.6859, 1.135, 1.635, 2.18, 2.77, 3.405",\
                 "-0.4793, -0.4133, -0.2029, 0.1354, 0.5701, 1.078, 1.641, 2.254, 2.911, 3.614");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3649, 0.4129, 0.5806, 0.8996, 1.394, 2.086, 2.995, 4.138, 5.535, 7.2",\
                 "0.3732, 0.4216, 0.5915, 0.9119, 1.408, 2.101, 3.011, 4.154, 5.552, 7.218",\
                 "0.4234, 0.4709, 0.6384, 0.9587, 1.455, 2.149, 3.059, 4.205, 5.603, 7.269",\
                 "0.5544, 0.5982, 0.7563, 1.068, 1.559, 2.249, 3.157, 4.302, 5.697, 7.364",\
                 "0.7536, 0.8024, 0.9646, 1.264, 1.742, 2.423, 3.324, 4.463, 5.856, 7.519",\
                 "0.9972, 1.051, 1.232, 1.552, 2.021, 2.688, 3.578, 4.707, 6.093, 7.747",\
                 "1.294, 1.353, 1.549, 1.899, 2.399, 3.057, 3.933, 5.048, 6.423, 8.067",\
                 "1.645, 1.711, 1.925, 2.3, 2.838, 3.534, 4.4, 5.5, 6.857, 8.491",\
                 "2.051, 2.125, 2.362, 2.764, 3.335, 4.078, 4.98, 6.071, 7.412, 9.028",\
                 "2.513, 2.594, 2.857, 3.294, 3.898, 4.68, 5.641, 6.763, 8.096, 9.693");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1854, 0.21, 0.2946, 0.4543, 0.7027, 1.051, 1.509, 2.086, 2.788, 3.631",\
                 "0.1854, 0.21, 0.2946, 0.4542, 0.7028, 1.051, 1.51, 2.086, 2.79, 3.626",\
                 "0.2252, 0.2427, 0.3092, 0.4552, 0.703, 1.052, 1.509, 2.087, 2.79, 3.627",\
                 "0.3179, 0.3395, 0.4127, 0.5392, 0.7348, 1.054, 1.509, 2.086, 2.79, 3.629",\
                 "0.4392, 0.4643, 0.5461, 0.6924, 0.899, 1.164, 1.548, 2.089, 2.791, 3.629",\
                 "0.5846, 0.614, 0.7118, 0.8756, 1.106, 1.401, 1.754, 2.208, 2.825, 3.632",\
                 "0.7534, 0.7886, 0.9032, 1.092, 1.348, 1.67, 2.06, 2.515, 3.049, 3.747",\
                 "0.9452, 0.9856, 1.118, 1.335, 1.623, 1.974, 2.396, 2.889, 3.451, 4.085",\
                 "1.154, 1.204, 1.354, 1.604, 1.928, 2.318, 2.77, 3.3, 3.904, 4.577",\
                 "1.379, 1.436, 1.614, 1.895, 2.261, 2.695, 3.189, 3.75, 4.393, 5.114");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6707, 0.7589, 1.061, 1.622, 2.487, 3.697, 5.289, 7.288, 9.731, 12.64",\
                 "0.6689, 0.7578, 1.06, 1.621, 2.486, 3.697, 5.289, 7.287, 9.731, 12.64",\
                 "0.6579, 0.7494, 1.057, 1.621, 2.487, 3.697, 5.286, 7.288, 9.73, 12.64",\
                 "0.6542, 0.7378, 1.039, 1.618, 2.487, 3.697, 5.288, 7.289, 9.728, 12.64",\
                 "0.727, 0.8074, 1.077, 1.609, 2.483, 3.697, 5.287, 7.287, 9.73, 12.64",\
                 "0.809, 0.8938, 1.183, 1.691, 2.492, 3.693, 5.286, 7.29, 9.733, 12.64",\
                 "0.922, 1.005, 1.298, 1.837, 2.613, 3.724, 5.284, 7.288, 9.733, 12.64",\
                 "1.07, 1.154, 1.441, 1.991, 2.807, 3.88, 5.336, 7.288, 9.729, 12.64",\
                 "1.244, 1.334, 1.623, 2.172, 3.01, 4.123, 5.524, 7.36, 9.738, 12.64",\
                 "1.44, 1.537, 1.842, 2.383, 3.227, 4.39, 5.816, 7.578, 9.824, 12.65");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1136, 0.1283, 0.179, 0.2753, 0.4242, 0.6307, 0.8998, 1.238, 1.65, 2.141",\
                 "0.1259, 0.1406, 0.1917, 0.2884, 0.4375, 0.6441, 0.9133, 1.251, 1.663, 2.154",\
                 "0.1678, 0.1848, 0.2386, 0.3349, 0.4838, 0.6902, 0.9595, 1.297, 1.709, 2.201",\
                 "0.1993, 0.2224, 0.2962, 0.4161, 0.5731, 0.7783, 1.047, 1.384, 1.796, 2.287",\
                 "0.2044, 0.2338, 0.3273, 0.4788, 0.6768, 0.9123, 1.185, 1.521, 1.931, 2.421",\
                 "0.1741, 0.2096, 0.3238, 0.5081, 0.7471, 1.032, 1.356, 1.714, 2.125, 2.614",\
                 "0.099, 0.1413, 0.277, 0.497, 0.7809, 1.115, 1.494, 1.914, 2.372, 2.87",\
                 "-0.0223, 0.0265, 0.1834, 0.4398, 0.7708, 1.159, 1.595, 2.076, 2.599, 3.161",\
                 "-0.1932, -0.1375, 0.0409, 0.3323, 0.712, 1.156, 1.653, 2.195, 2.783, 3.417",\
                 "-0.4158, -0.3536, -0.1538, 0.1736, 0.6007, 1.103, 1.662, 2.271, 2.926, 3.628");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.454, 0.5019, 0.6702, 0.9886, 1.483, 2.175, 3.084, 4.227, 5.624, 7.289",\
                 "0.4638, 0.5125, 0.6814, 1.002, 1.498, 2.191, 3.099, 4.244, 5.641, 7.306",\
                 "0.5124, 0.5601, 0.7283, 1.049, 1.545, 2.238, 3.149, 4.294, 5.692, 7.357",\
                 "0.636, 0.6809, 0.8427, 1.157, 1.648, 2.339, 3.247, 4.391, 5.788, 7.452",\
                 "0.8422, 0.8891, 1.047, 1.349, 1.83, 2.511, 3.413, 4.553, 5.943, 7.607",\
                 "1.096, 1.148, 1.324, 1.637, 2.106, 2.775, 3.665, 4.795, 6.181, 7.836",\
                 "1.401, 1.458, 1.649, 1.991, 2.484, 3.142, 4.019, 5.135, 6.509, 8.155",\
                 "1.764, 1.826, 2.033, 2.399, 2.931, 3.619, 4.485, 5.585, 6.945, 8.577",\
                 "2.184, 2.252, 2.478, 2.869, 3.432, 4.169, 5.065, 6.155, 7.499, 9.115",\
                 "2.661, 2.737, 2.985, 3.406, 4, 4.776, 5.729, 6.848, 8.179, 9.78");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2262, 0.2503, 0.3347, 0.4945, 0.7436, 1.091, 1.549, 2.125, 2.83, 3.67",\
                 "0.2262, 0.2503, 0.3346, 0.4946, 0.7436, 1.091, 1.549, 2.126, 2.83, 3.667",\
                 "0.2661, 0.283, 0.349, 0.4956, 0.7437, 1.092, 1.55, 2.127, 2.832, 3.672",\
                 "0.3735, 0.3927, 0.4597, 0.5801, 0.7753, 1.094, 1.549, 2.127, 2.828, 3.668",\
                 "0.5117, 0.5331, 0.6063, 0.7436, 0.943, 1.205, 1.587, 2.131, 2.831, 3.672",\
                 "0.6782, 0.7018, 0.7872, 0.9372, 1.159, 1.447, 1.795, 2.247, 2.868, 3.676",\
                 "0.8698, 0.898, 0.9956, 1.167, 1.41, 1.722, 2.107, 2.555, 3.091, 3.79",\
                 "1.084, 1.118, 1.229, 1.425, 1.696, 2.036, 2.449, 2.938, 3.494, 4.125",\
                 "1.321, 1.359, 1.486, 1.71, 2.012, 2.389, 2.832, 3.352, 3.952, 4.621",\
                 "1.574, 1.62, 1.767, 2.018, 2.36, 2.775, 3.256, 3.809, 4.446, 5.165");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7941, 0.8809, 1.179, 1.739, 2.606, 3.817, 5.408, 7.407, 9.851, 12.76",\
                 "0.7926, 0.8795, 1.179, 1.74, 2.606, 3.817, 5.405, 7.407, 9.85, 12.76",\
                 "0.7861, 0.8751, 1.177, 1.739, 2.606, 3.817, 5.405, 7.408, 9.85, 12.76",\
                 "0.7694, 0.8558, 1.166, 1.737, 2.605, 3.816, 5.405, 7.408, 9.851, 12.76",\
                 "0.8314, 0.9088, 1.182, 1.725, 2.603, 3.816, 5.407, 7.409, 9.85, 12.76",\
                 "0.9188, 1.004, 1.287, 1.793, 2.606, 3.812, 5.406, 7.409, 9.854, 12.76",\
                 "1.028, 1.114, 1.407, 1.941, 2.715, 3.835, 5.404, 7.408, 9.853, 12.76",\
                 "1.17, 1.253, 1.549, 2.099, 2.91, 3.98, 5.446, 7.41, 9.852, 12.77",\
                 "1.346, 1.432, 1.723, 2.276, 3.118, 4.223, 5.627, 7.471, 9.856, 12.76",\
                 "1.55, 1.64, 1.94, 2.489, 3.337, 4.494, 5.914, 7.68, 9.938, 12.77");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1054, 0.1196, 0.1687, 0.2623, 0.4074, 0.6111, 0.8793, 1.217, 1.629, 2.12",\
                 "0.1173, 0.1316, 0.1812, 0.2749, 0.4204, 0.6243, 0.8924, 1.23, 1.642, 2.133",\
                 "0.1547, 0.1721, 0.2266, 0.3204, 0.466, 0.6697, 0.9377, 1.275, 1.687, 2.178",\
                 "0.1773, 0.201, 0.276, 0.3968, 0.5543, 0.7574, 1.025, 1.362, 1.774, 2.265",\
                 "0.1717, 0.2038, 0.3002, 0.4532, 0.6524, 0.8899, 1.163, 1.499, 1.909, 2.4",\
                 "0.1354, 0.1743, 0.2939, 0.4818, 0.7224, 1.008, 1.333, 1.694, 2.105, 2.593",\
                 "0.0635, 0.1093, 0.2521, 0.4768, 0.7619, 1.096, 1.475, 1.895, 2.353, 2.85",\
                 "-0.0457, 0.0077, 0.1732, 0.434, 0.7654, 1.151, 1.583, 2.062, 2.584, 3.146",\
                 "-0.1948, -0.1338, 0.055, 0.3505, 0.7291, 1.167, 1.658, 2.194, 2.779, 3.409",\
                 "-0.3865, -0.3182, -0.1061, 0.2259, 0.6485, 1.143, 1.691, 2.291, 2.937, 3.633");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.454, 0.5019, 0.6702, 0.9886, 1.483, 2.175, 3.084, 4.227, 5.624, 7.289",\
                 "0.4638, 0.5125, 0.6814, 1.002, 1.498, 2.191, 3.099, 4.244, 5.641, 7.306",\
                 "0.5124, 0.5601, 0.7283, 1.049, 1.545, 2.238, 3.149, 4.294, 5.692, 7.357",\
                 "0.636, 0.6809, 0.8427, 1.157, 1.648, 2.339, 3.247, 4.391, 5.788, 7.452",\
                 "0.8422, 0.8891, 1.047, 1.349, 1.83, 2.511, 3.413, 4.553, 5.943, 7.607",\
                 "1.096, 1.148, 1.324, 1.637, 2.106, 2.775, 3.665, 4.795, 6.181, 7.836",\
                 "1.401, 1.458, 1.649, 1.991, 2.484, 3.142, 4.019, 5.135, 6.509, 8.155",\
                 "1.764, 1.826, 2.033, 2.399, 2.931, 3.619, 4.485, 5.585, 6.945, 8.577",\
                 "2.184, 2.252, 2.478, 2.869, 3.432, 4.169, 5.065, 6.155, 7.499, 9.115",\
                 "2.661, 2.737, 2.985, 3.406, 4, 4.776, 5.729, 6.848, 8.179, 9.78");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2262, 0.2503, 0.3347, 0.4945, 0.7436, 1.091, 1.549, 2.125, 2.83, 3.67",\
                 "0.2262, 0.2503, 0.3346, 0.4946, 0.7436, 1.091, 1.549, 2.126, 2.83, 3.667",\
                 "0.2661, 0.283, 0.349, 0.4956, 0.7437, 1.092, 1.55, 2.127, 2.832, 3.672",\
                 "0.3735, 0.3927, 0.4597, 0.5801, 0.7753, 1.094, 1.549, 2.127, 2.828, 3.668",\
                 "0.5117, 0.5331, 0.6063, 0.7436, 0.943, 1.205, 1.587, 2.131, 2.831, 3.672",\
                 "0.6782, 0.7018, 0.7872, 0.9372, 1.159, 1.447, 1.795, 2.247, 2.868, 3.676",\
                 "0.8698, 0.898, 0.9956, 1.167, 1.41, 1.722, 2.107, 2.555, 3.091, 3.79",\
                 "1.084, 1.118, 1.229, 1.425, 1.696, 2.036, 2.449, 2.938, 3.494, 4.125",\
                 "1.321, 1.359, 1.486, 1.71, 2.012, 2.389, 2.832, 3.352, 3.952, 4.621",\
                 "1.574, 1.62, 1.767, 2.018, 2.36, 2.775, 3.256, 3.809, 4.446, 5.165");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7941, 0.8809, 1.179, 1.739, 2.606, 3.817, 5.408, 7.407, 9.851, 12.76",\
                 "0.7926, 0.8795, 1.179, 1.74, 2.606, 3.817, 5.405, 7.407, 9.85, 12.76",\
                 "0.7861, 0.8751, 1.177, 1.739, 2.606, 3.817, 5.405, 7.408, 9.85, 12.76",\
                 "0.7694, 0.8558, 1.166, 1.737, 2.605, 3.816, 5.405, 7.408, 9.851, 12.76",\
                 "0.8314, 0.9088, 1.182, 1.725, 2.603, 3.816, 5.407, 7.409, 9.85, 12.76",\
                 "0.9188, 1.004, 1.287, 1.793, 2.606, 3.812, 5.406, 7.409, 9.854, 12.76",\
                 "1.028, 1.114, 1.407, 1.941, 2.715, 3.835, 5.404, 7.408, 9.853, 12.76",\
                 "1.17, 1.253, 1.549, 2.099, 2.91, 3.98, 5.446, 7.41, 9.852, 12.77",\
                 "1.346, 1.432, 1.723, 2.276, 3.118, 4.223, 5.627, 7.471, 9.856, 12.76",\
                 "1.55, 1.64, 1.94, 2.489, 3.337, 4.494, 5.914, 7.68, 9.938, 12.77");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1204, 0.1344, 0.1835, 0.277, 0.4222, 0.6259, 0.8936, 1.231, 1.644, 2.136",\
                 "0.1307, 0.1451, 0.1947, 0.2883, 0.4339, 0.638, 0.9062, 1.244, 1.656, 2.148",\
                 "0.1532, 0.1694, 0.2226, 0.3171, 0.4632, 0.667, 0.9351, 1.273, 1.685, 2.177",\
                 "0.1649, 0.1857, 0.2513, 0.3615, 0.5164, 0.7208, 0.9886, 1.326, 1.739, 2.23",\
                 "0.1486, 0.1758, 0.2602, 0.3944, 0.5729, 0.7984, 1.073, 1.41, 1.821, 2.313",\
                 "0.0959, 0.1297, 0.2354, 0.4009, 0.6128, 0.8675, 1.171, 1.527, 1.942, 2.431",\
                 "0.0031, 0.044, 0.1708, 0.3704, 0.622, 0.9172, 1.254, 1.642, 2.086, 2.588",\
                 "-0.1327, -0.0844, 0.0644, 0.2968, 0.5924, 0.9333, 1.316, 1.741, 2.22, 2.757",\
                 "-0.3138, -0.2589, -0.0884, 0.1785, 0.5173, 0.9077, 1.341, 1.816, 2.337, 2.911",\
                 "-0.5429, -0.4814, -0.2895, 0.0121, 0.3924, 0.8344, 1.323, 1.853, 2.426, 3.045");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2517, 0.2835, 0.3946, 0.6063, 0.9356, 1.397, 2.003, 2.768, 3.698, 4.811",\
                 "0.2629, 0.2951, 0.4069, 0.6195, 0.9489, 1.411, 2.017, 2.782, 3.712, 4.825",\
                 "0.3234, 0.3544, 0.4644, 0.6757, 1.005, 1.466, 2.072, 2.836, 3.772, 4.881",\
                 "0.4555, 0.4872, 0.5938, 0.7983, 1.122, 1.58, 2.185, 2.946, 3.877, 4.989",\
                 "0.6289, 0.6661, 0.7901, 1.005, 1.321, 1.771, 2.369, 3.127, 4.055, 5.163",\
                 "0.8464, 0.8882, 1.027, 1.27, 1.611, 2.055, 2.643, 3.393, 4.315, 5.417",\
                 "1.111, 1.158, 1.313, 1.578, 1.956, 2.436, 3.021, 3.76, 4.672, 5.766",\
                 "1.423, 1.477, 1.651, 1.942, 2.348, 2.872, 3.501, 4.239, 5.138, 6.221",\
                 "1.784, 1.845, 2.04, 2.362, 2.799, 3.357, 4.037, 4.823, 5.725, 6.793",\
                 "2.197, 2.266, 2.483, 2.837, 3.312, 3.903, 4.625, 5.469, 6.422, 7.496");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1393, 0.1631, 0.2469, 0.4062, 0.6549, 1.003, 1.46, 2.037, 2.741, 3.581",\
                 "0.1392, 0.1631, 0.2468, 0.4056, 0.6533, 1.003, 1.459, 2.036, 2.741, 3.581",\
                 "0.1633, 0.1845, 0.2572, 0.4069, 0.6549, 1.003, 1.46, 2.038, 2.743, 3.584",\
                 "0.2256, 0.2469, 0.32, 0.4601, 0.6775, 1.005, 1.459, 2.036, 2.741, 3.581",\
                 "0.3187, 0.3421, 0.4196, 0.559, 0.776, 1.079, 1.492, 2.041, 2.741, 3.581",\
                 "0.4332, 0.4612, 0.5506, 0.7024, 0.9188, 1.221, 1.619, 2.123, 2.775, 3.583",\
                 "0.5664, 0.5998, 0.7046, 0.8768, 1.108, 1.412, 1.806, 2.308, 2.917, 3.671",\
                 "0.7164, 0.757, 0.8776, 1.074, 1.331, 1.649, 2.048, 2.546, 3.156, 3.881",\
                 "0.8792, 0.9266, 1.07, 1.292, 1.583, 1.929, 2.339, 2.84, 3.45, 4.173",\
                 "1.05, 1.107, 1.278, 1.533, 1.857, 2.238, 2.681, 3.191, 3.795, 4.523");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.42, 0.4777, 0.677, 1.053, 1.632, 2.444, 3.511, 4.855, 6.492, 8.446",\
                 "0.4191, 0.4768, 0.6771, 1.052, 1.632, 2.443, 3.511, 4.856, 6.492, 8.445",\
                 "0.4113, 0.4708, 0.6745, 1.052, 1.632, 2.443, 3.511, 4.856, 6.495, 8.446",\
                 "0.4561, 0.5049, 0.6817, 1.048, 1.631, 2.443, 3.511, 4.854, 6.491, 8.446",\
                 "0.5402, 0.5942, 0.7776, 1.098, 1.634, 2.442, 3.51, 4.854, 6.494, 8.449",\
                 "0.6364, 0.694, 0.8914, 1.241, 1.736, 2.466, 3.51, 4.853, 6.494, 8.448",\
                 "0.7592, 0.8188, 1.022, 1.394, 1.93, 2.619, 3.564, 4.857, 6.492, 8.446",\
                 "0.902, 0.9692, 1.182, 1.562, 2.134, 2.868, 3.765, 4.949, 6.505, 8.444",\
                 "1.064, 1.136, 1.37, 1.762, 2.344, 3.131, 4.074, 5.203, 6.643, 8.475",\
                 "1.241, 1.323, 1.576, 1.996, 2.586, 3.393, 4.402, 5.569, 6.946, 8.66");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1204, 0.1344, 0.1835, 0.2768, 0.4222, 0.6257, 0.8939, 1.232, 1.644, 2.135",\
                 "0.1308, 0.1451, 0.1947, 0.2884, 0.4343, 0.6379, 0.9058, 1.244, 1.656, 2.147",\
                 "0.1538, 0.1699, 0.223, 0.3176, 0.4635, 0.6672, 0.9358, 1.273, 1.686, 2.178",\
                 "0.1659, 0.1866, 0.2522, 0.3624, 0.5172, 0.7216, 0.9894, 1.327, 1.739, 2.23",\
                 "0.1479, 0.1751, 0.2595, 0.3941, 0.573, 0.7987, 1.074, 1.411, 1.822, 2.313",\
                 "0.0894, 0.1238, 0.2301, 0.3967, 0.6096, 0.8656, 1.17, 1.527, 1.941, 2.431",\
                 "-0.0136, 0.0278, 0.1564, 0.3584, 0.6129, 0.9102, 1.249, 1.639, 2.084, 2.587",\
                 "-0.165, -0.1161, 0.0358, 0.273, 0.5732, 0.9181, 1.305, 1.733, 2.214, 2.752",\
                 "-0.3673, -0.3109, -0.1364, 0.1374, 0.4829, 0.8801, 1.32, 1.799, 2.323, 2.901",\
                 "-0.6221, -0.5592, -0.3619, -0.0519, 0.3392, 0.7898, 1.287, 1.824, 2.403, 3.026");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.281, 0.3199, 0.4577, 0.722, 1.133, 1.709, 2.467, 3.421, 4.586, 5.977",\
                 "0.2913, 0.3304, 0.4685, 0.7337, 1.145, 1.722, 2.481, 3.435, 4.601, 5.986",\
                 "0.3517, 0.3894, 0.5251, 0.7884, 1.2, 1.776, 2.535, 3.489, 4.652, 6.039",\
                 "0.492, 0.5284, 0.6547, 0.9089, 1.314, 1.887, 2.64, 3.594, 4.758, 6.143",\
                 "0.6833, 0.7254, 0.8667, 1.116, 1.509, 2.072, 2.819, 3.767, 4.925, 6.308",\
                 "0.9212, 0.968, 1.125, 1.404, 1.8, 2.351, 3.086, 4.024, 5.175, 6.551",\
                 "1.213, 1.264, 1.436, 1.739, 2.174, 2.732, 3.456, 4.38, 5.52, 6.887",\
                 "1.557, 1.616, 1.806, 2.132, 2.599, 3.204, 3.938, 4.848, 5.974, 7.328",\
                 "1.957, 2.023, 2.235, 2.588, 3.085, 3.73, 4.515, 5.437, 6.548, 7.887",\
                 "2.415, 2.49, 2.725, 3.111, 3.639, 4.318, 5.151, 6.13, 7.25, 8.574");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1393, 0.1631, 0.2469, 0.4061, 0.6551, 1.003, 1.46, 2.037, 2.741, 3.582",\
                 "0.1393, 0.1631, 0.2468, 0.4061, 0.6553, 1.003, 1.46, 2.037, 2.742, 3.581",\
                 "0.1631, 0.1841, 0.2569, 0.4068, 0.655, 1.002, 1.46, 2.037, 2.741, 3.581",\
                 "0.2247, 0.2461, 0.3194, 0.4598, 0.6773, 1.005, 1.459, 2.036, 2.741, 3.581",\
                 "0.3156, 0.3395, 0.418, 0.5584, 0.7764, 1.078, 1.49, 2.043, 2.739, 3.581",\
                 "0.4268, 0.4562, 0.547, 0.7004, 0.9184, 1.221, 1.621, 2.123, 2.774, 3.584",\
                 "0.5584, 0.5918, 0.6992, 0.8742, 1.108, 1.412, 1.81, 2.31, 2.917, 3.672",\
                 "0.7068, 0.7488, 0.8712, 1.072, 1.331, 1.653, 2.051, 2.548, 3.158, 3.883",\
                 "0.8666, 0.9146, 1.063, 1.289, 1.583, 1.933, 2.347, 2.847, 3.454, 4.179",\
                 "1.037, 1.097, 1.27, 1.531, 1.858, 2.243, 2.688, 3.199, 3.809, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5262, 0.6026, 0.8608, 1.336, 2.061, 3.072, 4.402, 6.076, 8.118, 10.55",\
                 "0.5232, 0.6003, 0.86, 1.335, 2.061, 3.073, 4.403, 6.076, 8.118, 10.54",\
                 "0.5114, 0.5895, 0.8545, 1.334, 2.061, 3.072, 4.402, 6.076, 8.114, 10.55",\
                 "0.5368, 0.6017, 0.8426, 1.325, 2.06, 3.073, 4.402, 6.076, 8.117, 10.55",\
                 "0.6182, 0.6856, 0.9104, 1.337, 2.051, 3.071, 4.402, 6.075, 8.117, 10.55",\
                 "0.7088, 0.7784, 1.02, 1.451, 2.097, 3.068, 4.4, 6.074, 8.116, 10.55",\
                 "0.8246, 0.8946, 1.141, 1.598, 2.254, 3.15, 4.406, 6.072, 8.116, 10.55",\
                 "0.9652, 1.039, 1.288, 1.756, 2.452, 3.351, 4.524, 6.093, 8.113, 10.55",\
                 "1.124, 1.205, 1.468, 1.935, 2.651, 3.607, 4.769, 6.246, 8.151, 10.55",\
                 "1.3, 1.389, 1.672, 2.153, 2.87, 3.862, 5.086, 6.536, 8.338, 10.61");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1242, 0.1383, 0.1881, 0.2828, 0.4297, 0.6345, 0.9029, 1.24, 1.652, 2.144",\
                 "0.1346, 0.1491, 0.1994, 0.2946, 0.4417, 0.6467, 0.9151, 1.253, 1.665, 2.156",\
                 "0.1585, 0.1747, 0.2281, 0.3237, 0.471, 0.6762, 0.9448, 1.282, 1.695, 2.186",\
                 "0.1733, 0.1938, 0.2592, 0.3698, 0.5254, 0.7306, 0.9988, 1.336, 1.748, 2.239",\
                 "0.16, 0.1868, 0.27, 0.4038, 0.5829, 0.8085, 1.084, 1.42, 1.832, 2.322",\
                 "0.1087, 0.1421, 0.2463, 0.4105, 0.6219, 0.8768, 1.18, 1.536, 1.951, 2.44",\
                 "0.015, 0.0544, 0.1787, 0.3771, 0.6283, 0.9232, 1.261, 1.65, 2.094, 2.596",\
                 "-0.1267, -0.0806, 0.0649, 0.2961, 0.5916, 0.9336, 1.318, 1.745, 2.225, 2.763",\
                 "-0.3197, -0.2665, -0.1, 0.1655, 0.5047, 0.8983, 1.335, 1.813, 2.335, 2.912",\
                 "-0.5652, -0.5068, -0.319, -0.018, 0.3647, 0.8108, 1.304, 1.839, 2.416, 3.038");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.353, 0.3926, 0.5313, 0.7961, 1.207, 1.784, 2.541, 3.495, 4.659, 6.051",\
                 "0.3637, 0.4032, 0.5427, 0.8081, 1.22, 1.796, 2.555, 3.509, 4.674, 6.06",\
                 "0.4222, 0.4607, 0.5984, 0.8624, 1.274, 1.85, 2.609, 3.564, 4.726, 6.113",\
                 "0.5582, 0.5941, 0.7239, 0.9818, 1.388, 1.961, 2.716, 3.669, 4.83, 6.217",\
                 "0.7602, 0.8009, 0.938, 1.185, 1.581, 2.145, 2.893, 3.84, 4.998, 6.382",\
                 "1.006, 1.052, 1.205, 1.477, 1.869, 2.422, 3.159, 4.097, 5.25, 6.628",\
                 "1.306, 1.356, 1.522, 1.82, 2.248, 2.802, 3.527, 4.452, 5.593, 6.96",\
                 "1.663, 1.718, 1.899, 2.218, 2.679, 3.277, 4.008, 4.918, 6.046, 7.401",\
                 "2.076, 2.138, 2.337, 2.68, 3.17, 3.809, 4.588, 5.507, 6.618, 7.959",\
                 "2.548, 2.616, 2.837, 3.209, 3.728, 4.401, 5.23, 6.202, 7.32, 8.644");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1778, 0.202, 0.286, 0.4455, 0.6939, 1.042, 1.499, 2.077, 2.782, 3.62",\
                 "0.1779, 0.202, 0.286, 0.4454, 0.6939, 1.041, 1.501, 2.077, 2.782, 3.621",\
                 "0.2038, 0.2237, 0.2965, 0.4467, 0.6942, 1.042, 1.501, 2.077, 2.781, 3.62",\
                 "0.2739, 0.2935, 0.364, 0.5006, 0.7179, 1.047, 1.501, 2.077, 2.779, 3.622",\
                 "0.3796, 0.4002, 0.4707, 0.6052, 0.8194, 1.119, 1.53, 2.083, 2.782, 3.621",\
                 "0.5096, 0.5332, 0.6132, 0.7546, 0.9652, 1.265, 1.661, 2.164, 2.815, 3.626",\
                 "0.661, 0.6884, 0.7804, 0.9394, 1.162, 1.459, 1.853, 2.352, 2.959, 3.716",\
                 "0.8328, 0.8664, 0.9694, 1.149, 1.395, 1.708, 2.097, 2.596, 3.2, 3.925",\
                 "1.018, 1.056, 1.179, 1.382, 1.657, 1.996, 2.399, 2.892, 3.498, 4.222",\
                 "1.215, 1.261, 1.408, 1.636, 1.943, 2.314, 2.748, 3.252, 3.854, 4.576");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6324, 0.7071, 0.9625, 1.434, 2.159, 3.172, 4.502, 6.176, 8.214, 10.65",\
                 "0.6305, 0.7056, 0.9613, 1.435, 2.16, 3.171, 4.502, 6.176, 8.218, 10.64",\
                 "0.6225, 0.698, 0.958, 1.433, 2.159, 3.172, 4.502, 6.176, 8.215, 10.65",\
                 "0.6242, 0.6934, 0.9422, 1.427, 2.159, 3.172, 4.501, 6.176, 8.215, 10.64",\
                 "0.7062, 0.7726, 0.994, 1.429, 2.152, 3.171, 4.501, 6.174, 8.217, 10.65",\
                 "0.798, 0.8688, 1.109, 1.532, 2.185, 3.167, 4.5, 6.175, 8.216, 10.65",\
                 "0.9114, 0.983, 1.231, 1.687, 2.336, 3.237, 4.503, 6.172, 8.216, 10.65",\
                 "1.053, 1.125, 1.377, 1.844, 2.538, 3.431, 4.61, 6.188, 8.213, 10.65",\
                 "1.217, 1.296, 1.554, 2.025, 2.741, 3.691, 4.851, 6.332, 8.247, 10.65",\
                 "1.403, 1.487, 1.761, 2.239, 2.963, 3.951, 5.169, 6.615, 8.426, 10.7");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1205, 0.1345, 0.1835, 0.2769, 0.4223, 0.6258, 0.8941, 1.232, 1.643, 2.135",\
                 "0.1313, 0.1454, 0.1951, 0.2888, 0.4345, 0.6384, 0.9062, 1.244, 1.657, 2.148",\
                 "0.1542, 0.1704, 0.2235, 0.318, 0.464, 0.668, 0.9362, 1.274, 1.686, 2.177",\
                 "0.1657, 0.1865, 0.2522, 0.3623, 0.5173, 0.7217, 0.9895, 1.327, 1.739, 2.23",\
                 "0.1461, 0.1734, 0.2585, 0.3934, 0.5727, 0.7983, 1.074, 1.411, 1.823, 2.313",\
                 "0.0861, 0.1207, 0.2277, 0.3954, 0.6091, 0.8652, 1.169, 1.526, 1.941, 2.431",\
                 "-0.018, 0.0238, 0.1535, 0.3567, 0.6119, 0.9095, 1.249, 1.639, 2.084, 2.587",\
                 "-0.1703, -0.121, 0.0321, 0.2706, 0.5712, 0.9171, 1.304, 1.733, 2.214, 2.752",\
                 "-0.3726, -0.3164, -0.1404, 0.1345, 0.4802, 0.8786, 1.319, 1.799, 2.323, 2.901",\
                 "-0.6285, -0.5641, -0.3667, -0.055, 0.3364, 0.7882, 1.286, 1.823, 2.402, 3.026");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3064, 0.3461, 0.485, 0.7502, 1.162, 1.739, 2.498, 3.454, 4.618, 6.007",\
                 "0.3154, 0.3556, 0.4956, 0.7615, 1.174, 1.751, 2.511, 3.467, 4.631, 6.02",\
                 "0.3722, 0.4114, 0.5494, 0.8143, 1.226, 1.803, 2.562, 3.517, 4.683, 6.074",\
                 "0.5072, 0.5438, 0.6746, 0.9316, 1.338, 1.911, 2.667, 3.62, 4.785, 6.174",\
                 "0.6954, 0.7383, 0.8822, 1.135, 1.531, 2.095, 2.843, 3.792, 4.952, 6.338",\
                 "0.9308, 0.9786, 1.137, 1.419, 1.819, 2.371, 3.109, 4.048, 5.201, 6.58",\
                 "1.22, 1.273, 1.446, 1.752, 2.19, 2.751, 3.476, 4.402, 5.544, 6.913",\
                 "1.565, 1.624, 1.814, 2.142, 2.613, 3.22, 3.957, 4.869, 5.997, 7.353",\
                 "1.964, 2.031, 2.243, 2.598, 3.096, 3.743, 4.532, 5.456, 6.569, 7.91",\
                 "2.423, 2.497, 2.732, 3.119, 3.649, 4.329, 5.167, 6.146, 7.269, 8.595");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1393, 0.1631, 0.2468, 0.4063, 0.655, 1.002, 1.46, 2.037, 2.742, 3.582",\
                 "0.1392, 0.1631, 0.247, 0.4056, 0.6552, 1.003, 1.46, 2.037, 2.741, 3.581",\
                 "0.1632, 0.184, 0.2568, 0.4068, 0.6548, 1.003, 1.459, 2.036, 2.742, 3.582",\
                 "0.2241, 0.246, 0.3193, 0.4598, 0.6772, 1.006, 1.46, 2.036, 2.742, 3.582",\
                 "0.3166, 0.3409, 0.4192, 0.5592, 0.776, 1.078, 1.492, 2.043, 2.741, 3.58",\
                 "0.4308, 0.4586, 0.5506, 0.702, 0.9206, 1.222, 1.619, 2.123, 2.775, 3.584",\
                 "0.5638, 0.597, 0.7032, 0.8764, 1.111, 1.413, 1.809, 2.309, 2.918, 3.675",\
                 "0.7144, 0.756, 0.8778, 1.077, 1.335, 1.655, 2.054, 2.552, 3.159, 3.884",\
                 "0.877, 0.925, 1.072, 1.297, 1.589, 1.936, 2.348, 2.846, 3.452, 4.179",\
                 "1.048, 1.105, 1.28, 1.54, 1.864, 2.246, 2.691, 3.201, 3.805, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5382, 0.6103, 0.8586, 1.325, 2.048, 3.059, 4.391, 6.066, 8.104, 10.54",\
                 "0.5361, 0.6092, 0.8583, 1.325, 2.048, 3.06, 4.391, 6.066, 8.104, 10.54",\
                 "0.528, 0.6031, 0.8563, 1.325, 2.047, 3.06, 4.388, 6.062, 8.105, 10.54",\
                 "0.5484, 0.6129, 0.8487, 1.321, 2.047, 3.06, 4.39, 6.062, 8.107, 10.54",\
                 "0.6258, 0.694, 0.9166, 1.338, 2.044, 3.058, 4.389, 6.063, 8.106, 10.54",\
                 "0.711, 0.7826, 1.027, 1.453, 2.095, 3.059, 4.388, 6.063, 8.108, 10.54",\
                 "0.826, 0.8972, 1.143, 1.601, 2.255, 3.144, 4.398, 6.062, 8.107, 10.54",\
                 "0.963, 1.038, 1.289, 1.755, 2.454, 3.349, 4.517, 6.085, 8.104, 10.54",\
                 "1.122, 1.205, 1.467, 1.936, 2.653, 3.606, 4.768, 6.242, 8.144, 10.55",\
                 "1.299, 1.387, 1.671, 2.152, 2.871, 3.862, 5.087, 6.531, 8.332, 10.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1205, 0.1345, 0.1835, 0.2769, 0.4221, 0.626, 0.8936, 1.232, 1.643, 2.135",\
                 "0.1312, 0.1456, 0.1951, 0.2888, 0.4347, 0.6382, 0.9065, 1.244, 1.657, 2.147",\
                 "0.1547, 0.1708, 0.2239, 0.3183, 0.4643, 0.668, 0.9366, 1.274, 1.686, 2.178",\
                 "0.1666, 0.1873, 0.2528, 0.363, 0.5179, 0.7223, 0.9904, 1.327, 1.74, 2.231",\
                 "0.1458, 0.1731, 0.2582, 0.3932, 0.5726, 0.7986, 1.074, 1.411, 1.823, 2.314",\
                 "0.0823, 0.1168, 0.2241, 0.3923, 0.6067, 0.8639, 1.169, 1.526, 1.94, 2.431",\
                 "-0.03, 0.0122, 0.1431, 0.3476, 0.6049, 0.9044, 1.246, 1.636, 2.081, 2.585",\
                 "-0.1941, -0.1441, 0.011, 0.2525, 0.5564, 0.9058, 1.294, 1.726, 2.208, 2.748",\
                 "-0.4133, -0.3551, -0.1764, 0.1034, 0.4543, 0.8576, 1.302, 1.785, 2.313, 2.893",\
                 "-0.6886, -0.624, -0.4222, -0.1035, 0.2952, 0.754, 1.257, 1.801, 2.384, 3.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3387, 0.386, 0.5521, 0.8698, 1.363, 2.054, 2.962, 4.106, 5.503, 7.168",\
                 "0.3469, 0.394, 0.5613, 0.88, 1.374, 2.066, 2.974, 4.118, 5.515, 7.181",\
                 "0.4036, 0.4495, 0.6144, 0.9313, 1.425, 2.117, 3.026, 4.17, 5.567, 7.232",\
                 "0.5425, 0.5847, 0.7398, 1.048, 1.535, 2.222, 3.127, 4.269, 5.664, 7.329",\
                 "0.7469, 0.7949, 0.9551, 1.25, 1.725, 2.401, 3.3, 4.436, 5.828, 7.487",\
                 "0.9997, 1.052, 1.23, 1.547, 2.011, 2.674, 3.559, 4.684, 6.067, 7.721",\
                 "1.31, 1.368, 1.56, 1.904, 2.398, 3.051, 3.922, 5.031, 6.403, 8.043",\
                 "1.681, 1.745, 1.953, 2.319, 2.849, 3.537, 4.397, 5.493, 6.846, 8.475",\
                 "2.114, 2.184, 2.413, 2.804, 3.363, 4.097, 4.991, 6.074, 7.409, 9.018",\
                 "2.609, 2.689, 2.94, 3.361, 3.949, 4.718, 5.667, 6.78, 8.104, 9.695");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1393, 0.1631, 0.2468, 0.4063, 0.6538, 1.003, 1.46, 2.037, 2.74, 3.581",\
                 "0.1392, 0.163, 0.247, 0.4057, 0.6555, 1.003, 1.459, 2.037, 2.741, 3.582",\
                 "0.1629, 0.184, 0.2567, 0.4069, 0.6548, 1.002, 1.46, 2.037, 2.741, 3.581",\
                 "0.2236, 0.2446, 0.319, 0.4596, 0.677, 1.006, 1.459, 2.035, 2.741, 3.582",\
                 "0.3139, 0.3386, 0.4176, 0.5586, 0.776, 1.078, 1.49, 2.044, 2.741, 3.581",\
                 "0.426, 0.4542, 0.5458, 0.6996, 0.9192, 1.222, 1.62, 2.124, 2.774, 3.583",\
                 "0.5556, 0.5896, 0.6974, 0.8742, 1.11, 1.415, 1.812, 2.311, 2.918, 3.677",\
                 "0.7032, 0.746, 0.8696, 1.073, 1.333, 1.656, 2.054, 2.552, 3.162, 3.886",\
                 "0.8622, 0.9134, 1.064, 1.292, 1.585, 1.938, 2.352, 2.853, 3.457, 4.181",\
                 "1.036, 1.094, 1.27, 1.533, 1.863, 2.248, 2.697, 3.208, 3.817, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6527, 0.742, 1.045, 1.607, 2.472, 3.683, 5.27, 7.271, 9.714, 12.63",\
                 "0.6496, 0.74, 1.044, 1.606, 2.472, 3.683, 5.271, 7.273, 9.715, 12.63",\
                 "0.6376, 0.7304, 1.04, 1.606, 2.472, 3.682, 5.273, 7.272, 9.714, 12.63",\
                 "0.6411, 0.7231, 1.023, 1.602, 2.471, 3.682, 5.273, 7.273, 9.713, 12.62",\
                 "0.7118, 0.7932, 1.064, 1.595, 2.467, 3.681, 5.272, 7.275, 9.719, 12.63",\
                 "0.7892, 0.8762, 1.165, 1.676, 2.479, 3.678, 5.271, 7.274, 9.718, 12.63",\
                 "0.8924, 0.977, 1.273, 1.817, 2.597, 3.709, 5.27, 7.273, 9.717, 12.63",\
                 "1.025, 1.109, 1.405, 1.963, 2.785, 3.862, 5.32, 7.274, 9.714, 12.63",\
                 "1.183, 1.271, 1.568, 2.125, 2.98, 4.097, 5.503, 7.342, 9.722, 12.63",\
                 "1.355, 1.453, 1.767, 2.32, 3.179, 4.352, 5.785, 7.556, 9.806, 12.64");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1243, 0.1384, 0.1883, 0.283, 0.4298, 0.6347, 0.903, 1.241, 1.653, 2.144",\
                 "0.135, 0.1495, 0.1998, 0.295, 0.4421, 0.6471, 0.9155, 1.253, 1.665, 2.156",\
                 "0.1594, 0.1755, 0.2289, 0.3245, 0.4718, 0.677, 0.9455, 1.283, 1.695, 2.186",\
                 "0.1738, 0.1944, 0.2599, 0.3704, 0.526, 0.7314, 0.9995, 1.337, 1.749, 2.24",\
                 "0.1582, 0.1847, 0.2686, 0.4032, 0.5825, 0.8085, 1.084, 1.421, 1.832, 2.323",\
                 "0.1013, 0.135, 0.2403, 0.4062, 0.619, 0.875, 1.179, 1.536, 1.95, 2.44",\
                 "-0.0014, 0.039, 0.1655, 0.3663, 0.6202, 0.9173, 1.257, 1.647, 2.092, 2.595",\
                 "-0.1557, -0.1083, 0.0403, 0.2758, 0.5754, 0.9213, 1.308, 1.738, 2.22, 2.758",\
                 "-0.3655, -0.3113, -0.1398, 0.1315, 0.4766, 0.8761, 1.317, 1.799, 2.325, 2.904",\
                 "-0.6323, -0.5711, -0.3783, -0.07, 0.3215, 0.7752, 1.275, 1.816, 2.397, 3.023");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4266, 0.4744, 0.6412, 0.9589, 1.452, 2.143, 3.051, 4.195, 5.592, 7.257",\
                 "0.4354, 0.4833, 0.651, 0.9694, 1.463, 2.155, 3.065, 4.207, 5.604, 7.27",\
                 "0.49, 0.537, 0.7033, 1.021, 1.514, 2.205, 3.114, 4.259, 5.656, 7.321",\
                 "0.6216, 0.6657, 0.8252, 1.136, 1.623, 2.311, 3.217, 4.359, 5.753, 7.417",\
                 "0.8348, 0.8806, 1.036, 1.335, 1.812, 2.49, 3.388, 4.523, 5.914, 7.575",\
                 "1.096, 1.148, 1.321, 1.631, 2.096, 2.759, 3.647, 4.773, 6.157, 7.81",\
                 "1.415, 1.47, 1.657, 1.995, 2.482, 3.136, 4.007, 5.118, 6.49, 8.133",\
                 "1.796, 1.857, 2.057, 2.416, 2.941, 3.622, 4.481, 5.578, 6.932, 8.561",\
                 "2.24, 2.307, 2.525, 2.906, 3.46, 4.186, 5.074, 6.158, 7.494, 9.105",\
                 "2.75, 2.824, 3.062, 3.469, 4.05, 4.814, 5.754, 6.863, 8.187, 9.782");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1778, 0.202, 0.286, 0.4455, 0.6941, 1.042, 1.501, 2.077, 2.78, 3.62",\
                 "0.1779, 0.202, 0.286, 0.4455, 0.6941, 1.042, 1.5, 2.078, 2.78, 3.619",\
                 "0.2034, 0.2233, 0.2961, 0.4467, 0.6953, 1.041, 1.5, 2.077, 2.782, 3.621",\
                 "0.2726, 0.2927, 0.3631, 0.5003, 0.7176, 1.046, 1.501, 2.078, 2.779, 3.62",\
                 "0.3778, 0.3987, 0.4702, 0.6056, 0.819, 1.118, 1.53, 2.081, 2.782, 3.621",\
                 "0.5084, 0.5314, 0.6116, 0.754, 0.968, 1.267, 1.662, 2.164, 2.817, 3.627",\
                 "0.6588, 0.6868, 0.7788, 0.94, 1.164, 1.461, 1.855, 2.353, 2.96, 3.719",\
                 "0.8302, 0.8622, 0.9682, 1.151, 1.397, 1.71, 2.102, 2.598, 3.204, 3.926",\
                 "1.015, 1.055, 1.179, 1.385, 1.659, 2, 2.406, 2.902, 3.504, 4.225",\
                 "1.213, 1.26, 1.406, 1.642, 1.948, 2.319, 2.757, 3.264, 3.864, 4.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7774, 0.8645, 1.164, 1.725, 2.591, 3.801, 5.391, 7.392, 9.834, 12.75",\
                 "0.7757, 0.8635, 1.164, 1.725, 2.591, 3.801, 5.393, 7.392, 9.834, 12.75",\
                 "0.7687, 0.8582, 1.161, 1.724, 2.59, 3.802, 5.391, 7.393, 9.835, 12.75",\
                 "0.7552, 0.8413, 1.149, 1.722, 2.59, 3.801, 5.393, 7.395, 9.833, 12.74",\
                 "0.8174, 0.8954, 1.169, 1.711, 2.588, 3.801, 5.392, 7.395, 9.835, 12.75",\
                 "0.9016, 0.987, 1.272, 1.779, 2.591, 3.798, 5.391, 7.393, 9.839, 12.75",\
                 "1.001, 1.086, 1.384, 1.922, 2.699, 3.821, 5.389, 7.393, 9.839, 12.75",\
                 "1.13, 1.216, 1.515, 2.071, 2.887, 3.963, 5.431, 7.393, 9.835, 12.75",\
                 "1.29, 1.377, 1.674, 2.234, 3.084, 4.197, 5.604, 7.455, 9.842, 12.75",\
                 "1.47, 1.56, 1.87, 2.426, 3.291, 4.457, 5.886, 7.66, 9.918, 12.76");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1243, 0.1384, 0.1883, 0.2831, 0.4303, 0.6359, 0.905, 1.243, 1.655, 2.146",\
                 "0.1351, 0.1495, 0.1998, 0.295, 0.4425, 0.6483, 0.9174, 1.255, 1.667, 2.158",\
                 "0.1589, 0.1752, 0.2286, 0.3242, 0.4719, 0.6779, 0.9472, 1.285, 1.697, 2.188",\
                 "0.173, 0.1936, 0.2592, 0.3701, 0.5259, 0.732, 1.001, 1.339, 1.751, 2.242",\
                 "0.1589, 0.1854, 0.2693, 0.4037, 0.5834, 0.8099, 1.085, 1.423, 1.834, 2.324",\
                 "0.1065, 0.1403, 0.245, 0.4103, 0.6228, 0.8784, 1.182, 1.538, 1.953, 2.443",\
                 "0.0136, 0.0534, 0.1788, 0.3778, 0.6302, 0.9252, 1.264, 1.652, 2.096, 2.599",\
                 "-0.1254, -0.0792, 0.0666, 0.2982, 0.5942, 0.9362, 1.32, 1.748, 2.227, 2.765",\
                 "-0.3148, -0.2627, -0.0968, 0.1689, 0.5076, 0.9019, 1.338, 1.816, 2.338, 2.915",\
                 "-0.5582, -0.4991, -0.3138, -0.0138, 0.3685, 0.8144, 1.307, 1.842, 2.419, 3.041");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3942, 0.434, 0.5738, 0.8389, 1.251, 1.828, 2.587, 3.543, 4.706, 6.095",\
                 "0.4042, 0.4443, 0.5846, 0.8503, 1.263, 1.84, 2.599, 3.556, 4.722, 6.108",\
                 "0.4591, 0.4986, 0.6379, 0.9031, 1.315, 1.892, 2.651, 3.608, 4.771, 6.161",\
                 "0.5884, 0.6259, 0.7593, 1.019, 1.426, 2, 2.756, 3.708, 4.873, 6.262",\
                 "0.7887, 0.8298, 0.9671, 1.219, 1.617, 2.182, 2.931, 3.879, 5.04, 6.424",\
                 "1.034, 1.079, 1.233, 1.508, 1.903, 2.456, 3.196, 4.134, 5.289, 6.667",\
                 "1.333, 1.383, 1.55, 1.849, 2.279, 2.835, 3.561, 4.489, 5.629, 7",\
                 "1.691, 1.745, 1.926, 2.245, 2.709, 3.308, 4.041, 4.953, 6.082, 7.438",\
                 "2.105, 2.166, 2.365, 2.707, 3.197, 3.839, 4.62, 5.541, 6.653, 7.995",\
                 "2.58, 2.646, 2.866, 3.238, 3.756, 4.43, 5.259, 6.233, 7.354, 8.68");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1854, 0.2099, 0.2946, 0.4544, 0.7027, 1.051, 1.509, 2.085, 2.79, 3.628",\
                 "0.1854, 0.21, 0.2946, 0.4542, 0.7029, 1.051, 1.509, 2.085, 2.788, 3.629",\
                 "0.2118, 0.2315, 0.3049, 0.4555, 0.7026, 1.05, 1.508, 2.086, 2.791, 3.63",\
                 "0.284, 0.3039, 0.3734, 0.5099, 0.7269, 1.055, 1.51, 2.086, 2.791, 3.63",\
                 "0.3944, 0.4149, 0.4833, 0.6168, 0.829, 1.128, 1.543, 2.091, 2.791, 3.63",\
                 "0.531, 0.5534, 0.631, 0.7696, 0.9776, 1.276, 1.67, 2.173, 2.825, 3.636",\
                 "0.6904, 0.7158, 0.804, 0.9582, 1.177, 1.473, 1.866, 2.361, 2.968, 3.722",\
                 "0.869, 0.9002, 0.9984, 1.174, 1.414, 1.722, 2.114, 2.603, 3.214, 3.935",\
                 "1.061, 1.098, 1.215, 1.411, 1.68, 2.011, 2.414, 2.904, 3.507, 4.231",\
                 "1.265, 1.309, 1.449, 1.671, 1.969, 2.332, 2.765, 3.266, 3.871, 4.588");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6568, 0.7275, 0.9751, 1.442, 2.165, 3.178, 4.508, 6.184, 8.222, 10.66",\
                 "0.6556, 0.7275, 0.9749, 1.442, 2.165, 3.178, 4.508, 6.185, 8.228, 10.66",\
                 "0.6517, 0.7243, 0.9735, 1.441, 2.165, 3.178, 4.507, 6.185, 8.224, 10.66",\
                 "0.6511, 0.7201, 0.9663, 1.44, 2.165, 3.177, 4.508, 6.18, 8.226, 10.65",\
                 "0.7298, 0.7944, 1.013, 1.445, 2.162, 3.177, 4.508, 6.182, 8.224, 10.66",\
                 "0.8188, 0.8918, 1.13, 1.548, 2.198, 3.177, 4.507, 6.182, 8.226, 10.66",\
                 "0.9286, 1, 1.251, 1.705, 2.351, 3.249, 4.513, 6.18, 8.226, 10.66",\
                 "1.068, 1.141, 1.395, 1.863, 2.555, 3.444, 4.621, 6.199, 8.224, 10.66",\
                 "1.232, 1.311, 1.569, 2.04, 2.762, 3.706, 4.862, 6.342, 8.259, 10.66",\
                 "1.416, 1.502, 1.775, 2.254, 2.979, 3.968, 5.184, 6.628, 8.438, 10.71");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1243, 0.1384, 0.1883, 0.2832, 0.4303, 0.6359, 0.905, 1.243, 1.655, 2.146",\
                 "0.135, 0.1495, 0.1998, 0.295, 0.4426, 0.6483, 0.9175, 1.255, 1.667, 2.159",\
                 "0.1594, 0.1756, 0.229, 0.3245, 0.4723, 0.6782, 0.9475, 1.285, 1.698, 2.189",\
                 "0.1738, 0.1944, 0.2599, 0.3707, 0.5265, 0.7326, 1.002, 1.339, 1.751, 2.242",\
                 "0.1585, 0.1849, 0.2689, 0.4036, 0.5835, 0.81, 1.086, 1.423, 1.835, 2.325",\
                 "0.1021, 0.1358, 0.2412, 0.4073, 0.6206, 0.8769, 1.182, 1.538, 1.953, 2.443",\
                 "0.0013, 0.0415, 0.1679, 0.3689, 0.6231, 0.9203, 1.26, 1.65, 2.094, 2.597",\
                 "-0.1497, -0.1029, 0.0451, 0.28, 0.579, 0.9248, 1.311, 1.741, 2.222, 2.761",\
                 "-0.3562, -0.302, -0.1329, 0.1378, 0.4819, 0.8803, 1.321, 1.802, 2.328, 2.907",\
                 "-0.6194, -0.5598, -0.3691, -0.0622, 0.3275, 0.7798, 1.279, 1.82, 2.4, 3.026");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4439, 0.4916, 0.6588, 0.9764, 1.47, 2.161, 3.07, 4.212, 5.609, 7.274",\
                 "0.4528, 0.5005, 0.6685, 0.9871, 1.481, 2.173, 3.082, 4.225, 5.621, 7.286",\
                 "0.507, 0.5542, 0.7206, 1.038, 1.532, 2.223, 3.132, 4.276, 5.673, 7.337",\
                 "0.6374, 0.6821, 0.8421, 1.153, 1.641, 2.328, 3.235, 4.376, 5.77, 7.435",\
                 "0.8514, 0.897, 1.053, 1.351, 1.829, 2.507, 3.405, 4.543, 5.932, 7.593",\
                 "1.114, 1.166, 1.338, 1.647, 2.112, 2.777, 3.663, 4.79, 6.173, 7.826",\
                 "1.435, 1.49, 1.676, 2.013, 2.499, 3.152, 4.024, 5.136, 6.507, 8.147",\
                 "1.818, 1.877, 2.077, 2.435, 2.958, 3.638, 4.498, 5.594, 6.949, 8.578",\
                 "2.266, 2.331, 2.547, 2.925, 3.478, 4.203, 5.09, 6.173, 7.512, 9.123",\
                 "2.776, 2.85, 3.086, 3.49, 4.069, 4.831, 5.771, 6.879, 8.203, 9.796");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1854, 0.2099, 0.2946, 0.4543, 0.7028, 1.051, 1.509, 2.086, 2.791, 3.63",\
                 "0.1855, 0.21, 0.2946, 0.4543, 0.7029, 1.051, 1.51, 2.086, 2.791, 3.628",\
                 "0.2116, 0.2313, 0.305, 0.4555, 0.7029, 1.052, 1.509, 2.086, 2.788, 3.631",\
                 "0.2832, 0.3032, 0.3728, 0.5096, 0.7266, 1.055, 1.51, 2.086, 2.791, 3.631",\
                 "0.3914, 0.4119, 0.4818, 0.616, 0.8286, 1.128, 1.542, 2.091, 2.79, 3.627",\
                 "0.526, 0.5484, 0.6262, 0.7666, 0.9774, 1.278, 1.671, 2.173, 2.826, 3.638",\
                 "0.6812, 0.7082, 0.797, 0.9542, 1.175, 1.473, 1.864, 2.362, 2.969, 3.725",\
                 "0.8576, 0.8902, 0.992, 1.169, 1.412, 1.723, 2.112, 2.607, 3.214, 3.935",\
                 "1.048, 1.085, 1.205, 1.406, 1.677, 2.013, 2.419, 2.913, 3.515, 4.237",\
                 "1.251, 1.296, 1.438, 1.666, 1.969, 2.336, 2.769, 3.274, 3.873, 4.592");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.8009, 0.8881, 1.186, 1.748, 2.614, 3.824, 5.416, 7.414, 9.857, 12.77",\
                 "0.7992, 0.887, 1.186, 1.748, 2.613, 3.824, 5.416, 7.415, 9.856, 12.77",\
                 "0.7931, 0.8821, 1.185, 1.747, 2.613, 3.825, 5.413, 7.415, 9.858, 12.77",\
                 "0.7773, 0.8638, 1.173, 1.745, 2.613, 3.824, 5.414, 7.415, 9.856, 12.77",\
                 "0.8366, 0.9148, 1.189, 1.734, 2.611, 3.824, 5.415, 7.417, 9.857, 12.77",\
                 "0.9228, 1.007, 1.292, 1.798, 2.613, 3.82, 5.414, 7.416, 9.86, 12.77",\
                 "1.021, 1.107, 1.406, 1.942, 2.718, 3.842, 5.412, 7.415, 9.858, 12.77",\
                 "1.148, 1.236, 1.533, 2.092, 2.906, 3.983, 5.453, 7.416, 9.859, 12.77",\
                 "1.31, 1.394, 1.695, 2.258, 3.107, 4.216, 5.625, 7.476, 9.863, 12.77",\
                 "1.488, 1.58, 1.887, 2.449, 3.31, 4.476, 5.904, 7.678, 9.94, 12.78");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1288, 0.1431, 0.1938, 0.2903, 0.439, 0.6454, 0.9145, 1.252, 1.665, 2.156",\
                 "0.1393, 0.1541, 0.2053, 0.3021, 0.4513, 0.6578, 0.927, 1.265, 1.677, 2.168",\
                 "0.1647, 0.181, 0.2347, 0.3316, 0.4809, 0.6877, 0.9571, 1.295, 1.707, 2.198",\
                 "0.1825, 0.2029, 0.2682, 0.3793, 0.5355, 0.7421, 1.011, 1.349, 1.761, 2.252",\
                 "0.1741, 0.1996, 0.2816, 0.4149, 0.5942, 0.8202, 1.095, 1.433, 1.844, 2.335",\
                 "0.1277, 0.1593, 0.2603, 0.4228, 0.6335, 0.8883, 1.192, 1.548, 1.963, 2.452",\
                 "0.0349, 0.0726, 0.1932, 0.3885, 0.6388, 0.9331, 1.272, 1.66, 2.104, 2.607",\
                 "-0.1097, -0.0657, 0.0753, 0.3038, 0.598, 0.9401, 1.324, 1.753, 2.233, 2.771",\
                 "-0.3097, -0.259, -0.0971, 0.1656, 0.504, 0.8983, 1.336, 1.816, 2.34, 2.918",\
                 "-0.5661, -0.5096, -0.3272, -0.03, 0.3532, 0.8009, 1.297, 1.834, 2.413, 3.039");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5331, 0.5808, 0.748, 1.066, 1.559, 2.251, 3.159, 4.304, 5.698, 7.363",\
                 "0.5423, 0.5904, 0.758, 1.076, 1.57, 2.262, 3.171, 4.313, 5.71, 7.375",\
                 "0.5957, 0.643, 0.81, 1.128, 1.621, 2.313, 3.221, 4.365, 5.762, 7.426",\
                 "0.7209, 0.7668, 0.9289, 1.241, 1.73, 2.418, 3.324, 4.465, 5.861, 7.523",\
                 "0.9357, 0.9807, 1.135, 1.437, 1.915, 2.594, 3.493, 4.631, 6.02, 7.682",\
                 "1.208, 1.258, 1.427, 1.73, 2.197, 2.863, 3.75, 4.878, 6.262, 7.913",\
                 "1.535, 1.589, 1.772, 2.102, 2.582, 3.237, 4.11, 5.224, 6.594, 8.237",\
                 "1.926, 1.984, 2.178, 2.531, 3.047, 3.722, 4.582, 5.681, 7.034, 8.664",\
                 "2.383, 2.447, 2.655, 3.026, 3.574, 4.292, 5.174, 6.259, 7.596, 9.209",\
                 "2.908, 2.977, 3.202, 3.597, 4.169, 4.925, 5.861, 6.963, 8.288, 9.88");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2262, 0.2504, 0.3346, 0.4948, 0.7431, 1.092, 1.55, 2.127, 2.831, 3.67",\
                 "0.2262, 0.2504, 0.3346, 0.4944, 0.743, 1.092, 1.55, 2.126, 2.832, 3.672",\
                 "0.252, 0.2714, 0.3449, 0.4957, 0.7435, 1.092, 1.549, 2.126, 2.831, 3.669",\
                 "0.3316, 0.35, 0.4169, 0.5505, 0.767, 1.095, 1.549, 2.127, 2.831, 3.67",\
                 "0.4517, 0.4695, 0.5337, 0.6626, 0.8716, 1.168, 1.582, 2.133, 2.831, 3.67",\
                 "0.602, 0.621, 0.6904, 0.8204, 1.026, 1.321, 1.713, 2.214, 2.866, 3.677",\
                 "0.7766, 0.7982, 0.8758, 1.019, 1.23, 1.521, 1.91, 2.404, 3.01, 3.763",\
                 "0.9726, 0.9982, 1.086, 1.245, 1.475, 1.777, 2.162, 2.652, 3.255, 3.978",\
                 "1.185, 1.216, 1.316, 1.495, 1.749, 2.075, 2.471, 2.957, 3.559, 4.277",\
                 "1.413, 1.448, 1.568, 1.77, 2.052, 2.405, 2.829, 3.325, 3.928, 4.638");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.9195, 1.007, 1.305, 1.866, 2.732, 3.943, 5.535, 7.539, 9.976, 12.89",\
                 "0.92, 1.006, 1.305, 1.866, 2.732, 3.943, 5.535, 7.534, 9.976, 12.89",\
                 "0.9164, 1.004, 1.303, 1.866, 2.732, 3.944, 5.532, 7.535, 9.978, 12.89",\
                 "0.8989, 0.9869, 1.297, 1.864, 2.731, 3.943, 5.536, 7.535, 9.978, 12.89",\
                 "0.9398, 1.019, 1.298, 1.853, 2.73, 3.943, 5.535, 7.538, 9.977, 12.89",\
                 "1.034, 1.116, 1.392, 1.902, 2.729, 3.941, 5.533, 7.537, 9.981, 12.89",\
                 "1.135, 1.222, 1.515, 2.043, 2.82, 3.955, 5.531, 7.536, 9.981, 12.89",\
                 "1.259, 1.342, 1.644, 2.202, 3.006, 4.084, 5.564, 7.536, 9.977, 12.89",\
                 "1.412, 1.501, 1.8, 2.368, 3.212, 4.317, 5.73, 7.588, 9.982, 12.89",\
                 "1.597, 1.687, 1.992, 2.556, 3.424, 4.582, 6.004, 7.782, 10.05, 12.9");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1204, 0.1344, 0.1835, 0.277, 0.4222, 0.6259, 0.8936, 1.231, 1.644, 2.136",\
                 "0.1307, 0.1451, 0.1947, 0.2883, 0.4339, 0.638, 0.9062, 1.244, 1.656, 2.148",\
                 "0.1532, 0.1694, 0.2226, 0.3171, 0.4632, 0.667, 0.9351, 1.273, 1.685, 2.177",\
                 "0.1649, 0.1857, 0.2513, 0.3615, 0.5164, 0.7208, 0.9886, 1.326, 1.739, 2.23",\
                 "0.1486, 0.1758, 0.2602, 0.3944, 0.5729, 0.7984, 1.073, 1.41, 1.821, 2.313",\
                 "0.0959, 0.1297, 0.2354, 0.4009, 0.6128, 0.8675, 1.171, 1.527, 1.942, 2.431",\
                 "0.0031, 0.044, 0.1708, 0.3704, 0.622, 0.9172, 1.254, 1.642, 2.086, 2.588",\
                 "-0.1327, -0.0844, 0.0644, 0.2968, 0.5924, 0.9333, 1.316, 1.741, 2.22, 2.757",\
                 "-0.3138, -0.2589, -0.0884, 0.1785, 0.5173, 0.9077, 1.341, 1.816, 2.337, 2.911",\
                 "-0.5429, -0.4814, -0.2895, 0.0121, 0.3924, 0.8344, 1.323, 1.853, 2.426, 3.045");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5331, 0.5808, 0.748, 1.066, 1.559, 2.251, 3.159, 4.304, 5.698, 7.363",\
                 "0.5423, 0.5904, 0.758, 1.076, 1.57, 2.262, 3.171, 4.313, 5.71, 7.375",\
                 "0.5957, 0.643, 0.81, 1.128, 1.621, 2.313, 3.221, 4.365, 5.762, 7.426",\
                 "0.7209, 0.7668, 0.9289, 1.241, 1.73, 2.418, 3.324, 4.465, 5.861, 7.523",\
                 "0.9357, 0.9807, 1.135, 1.437, 1.915, 2.594, 3.493, 4.631, 6.02, 7.682",\
                 "1.208, 1.258, 1.427, 1.73, 2.197, 2.863, 3.75, 4.878, 6.262, 7.913",\
                 "1.535, 1.589, 1.772, 2.102, 2.582, 3.237, 4.11, 5.224, 6.594, 8.237",\
                 "1.926, 1.984, 2.178, 2.531, 3.047, 3.722, 4.582, 5.681, 7.034, 8.664",\
                 "2.383, 2.447, 2.655, 3.026, 3.574, 4.292, 5.174, 6.259, 7.596, 9.209",\
                 "2.908, 2.977, 3.202, 3.597, 4.169, 4.925, 5.861, 6.963, 8.288, 9.88");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2262, 0.2504, 0.3346, 0.4948, 0.7431, 1.092, 1.55, 2.127, 2.831, 3.67",\
                 "0.2262, 0.2504, 0.3346, 0.4944, 0.743, 1.092, 1.55, 2.126, 2.832, 3.672",\
                 "0.252, 0.2714, 0.3449, 0.4957, 0.7435, 1.092, 1.549, 2.126, 2.831, 3.669",\
                 "0.3316, 0.35, 0.4169, 0.5505, 0.767, 1.095, 1.549, 2.127, 2.831, 3.67",\
                 "0.4517, 0.4695, 0.5337, 0.6626, 0.8716, 1.168, 1.582, 2.133, 2.831, 3.67",\
                 "0.602, 0.621, 0.6904, 0.8204, 1.026, 1.321, 1.713, 2.214, 2.866, 3.677",\
                 "0.7766, 0.7982, 0.8758, 1.019, 1.23, 1.521, 1.91, 2.404, 3.01, 3.763",\
                 "0.9726, 0.9982, 1.086, 1.245, 1.475, 1.777, 2.162, 2.652, 3.255, 3.978",\
                 "1.185, 1.216, 1.316, 1.495, 1.749, 2.075, 2.471, 2.957, 3.559, 4.277",\
                 "1.413, 1.448, 1.568, 1.77, 2.052, 2.405, 2.829, 3.325, 3.928, 4.638");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.9195, 1.007, 1.305, 1.866, 2.732, 3.943, 5.535, 7.539, 9.976, 12.89",\
                 "0.92, 1.006, 1.305, 1.866, 2.732, 3.943, 5.535, 7.534, 9.976, 12.89",\
                 "0.9164, 1.004, 1.303, 1.866, 2.732, 3.944, 5.532, 7.535, 9.978, 12.89",\
                 "0.8989, 0.9869, 1.297, 1.864, 2.731, 3.943, 5.536, 7.535, 9.978, 12.89",\
                 "0.9398, 1.019, 1.298, 1.853, 2.73, 3.943, 5.535, 7.538, 9.977, 12.89",\
                 "1.034, 1.116, 1.392, 1.902, 2.729, 3.941, 5.533, 7.537, 9.981, 12.89",\
                 "1.135, 1.222, 1.515, 2.043, 2.82, 3.955, 5.531, 7.536, 9.981, 12.89",\
                 "1.259, 1.342, 1.644, 2.202, 3.006, 4.084, 5.564, 7.536, 9.977, 12.89",\
                 "1.412, 1.501, 1.8, 2.368, 3.212, 4.317, 5.73, 7.588, 9.982, 12.89",\
                 "1.597, 1.687, 1.992, 2.556, 3.424, 4.582, 6.004, 7.782, 10.05, 12.9");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1776, 0.1933, 0.2461, 0.3442, 0.4933, 0.6999, 0.97, 1.309, 1.722, 2.215",\
                 "0.1899, 0.2054, 0.2585, 0.3564, 0.5056, 0.7122, 0.9823, 1.321, 1.735, 2.227",\
                 "0.2355, 0.2506, 0.3029, 0.4005, 0.5496, 0.7561, 1.026, 1.365, 1.779, 2.27",\
                 "0.2941, 0.314, 0.3787, 0.4875, 0.6374, 0.8428, 1.112, 1.451, 1.864, 2.356",\
                 "0.3281, 0.3534, 0.4349, 0.5715, 0.7558, 0.9807, 1.25, 1.587, 1.999, 2.49",\
                 "0.3339, 0.3645, 0.4635, 0.6288, 0.8497, 1.12, 1.433, 1.784, 2.194, 2.683",\
                 "0.3077, 0.344, 0.4614, 0.6563, 0.9166, 1.23, 1.593, 2.001, 2.448, 2.942",\
                 "0.2478, 0.2893, 0.424, 0.6504, 0.9497, 1.31, 1.723, 2.185, 2.695, 3.247",\
                 "0.1533, 0.2005, 0.3526, 0.6072, 0.9477, 1.356, 1.821, 2.338, 2.907, 3.524",\
                 "0.0216, 0.0739, 0.2436, 0.5275, 0.9071, 1.364, 1.883, 2.458, 3.085, 3.766");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.331, 0.3638, 0.4779, 0.6923, 1.025, 1.491, 2.104, 2.875, 3.816, 4.938",\
                 "0.3399, 0.3738, 0.49, 0.7069, 1.041, 1.507, 2.121, 2.892, 3.834, 4.956",\
                 "0.3821, 0.4158, 0.5324, 0.7506, 1.087, 1.556, 2.17, 2.943, 3.886, 5.008",\
                 "0.466, 0.5025, 0.6209, 0.8378, 1.172, 1.641, 2.256, 3.029, 3.972, 5.095",\
                 "0.5848, 0.6248, 0.7574, 0.9888, 1.322, 1.785, 2.398, 3.169, 4.11, 5.232",\
                 "0.7509, 0.7959, 0.9398, 1.19, 1.546, 2.01, 2.614, 3.379, 4.316, 5.435",\
                 "0.9593, 1.011, 1.173, 1.443, 1.821, 2.314, 2.921, 3.677, 4.604, 5.717",\
                 "1.206, 1.265, 1.449, 1.748, 2.151, 2.67, 3.31, 4.071, 4.99, 6.091",\
                 "1.489, 1.557, 1.765, 2.098, 2.536, 3.082, 3.754, 4.552, 5.477, 6.568",\
                 "1.809, 1.885, 2.12, 2.49, 2.971, 3.553, 4.254, 5.086, 6.053, 7.153");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2308, 0.2559, 0.3428, 0.5053, 0.7553, 1.105, 1.564, 2.142, 2.845, 3.685",\
                 "0.2302, 0.2558, 0.343, 0.5051, 0.7557, 1.105, 1.564, 2.142, 2.845, 3.685",\
                 "0.2359, 0.2587, 0.3411, 0.5043, 0.7556, 1.104, 1.563, 2.14, 2.847, 3.685",\
                 "0.3195, 0.3435, 0.4205, 0.5512, 0.7672, 1.105, 1.563, 2.141, 2.846, 3.685",\
                 "0.4273, 0.4556, 0.5468, 0.6982, 0.9084, 1.184, 1.584, 2.141, 2.845, 3.685",\
                 "0.5612, 0.5938, 0.7016, 0.872, 1.111, 1.408, 1.767, 2.237, 2.871, 3.685",\
                 "0.712, 0.7516, 0.8762, 1.076, 1.337, 1.669, 2.063, 2.519, 3.07, 3.783",\
                 "0.8804, 0.9286, 1.074, 1.303, 1.6, 1.957, 2.39, 2.887, 3.453, 4.098",\
                 "1.071, 1.122, 1.293, 1.555, 1.889, 2.285, 2.744, 3.279, 3.892, 4.573",\
                 "1.271, 1.337, 1.529, 1.831, 2.206, 2.645, 3.143, 3.71, 4.361, 5.089");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4138, 0.4688, 0.6648, 1.038, 1.616, 2.429, 3.493, 4.844, 6.487, 8.439",\
                 "0.4134, 0.4689, 0.6645, 1.038, 1.617, 2.429, 3.498, 4.836, 6.478, 8.439",\
                 "0.4166, 0.4706, 0.6649, 1.038, 1.616, 2.429, 3.498, 4.845, 6.487, 8.431",\
                 "0.4686, 0.5146, 0.685, 1.041, 1.617, 2.428, 3.495, 4.841, 6.484, 8.441",\
                 "0.5644, 0.6136, 0.7852, 1.101, 1.631, 2.43, 3.499, 4.835, 6.482, 8.43",\
                 "0.6916, 0.737, 0.9074, 1.236, 1.731, 2.465, 3.499, 4.842, 6.483, 8.438",\
                 "0.8578, 0.9014, 1.061, 1.387, 1.902, 2.601, 3.559, 4.842, 6.475, 8.437",\
                 "1.044, 1.093, 1.256, 1.574, 2.088, 2.814, 3.734, 4.944, 6.502, 8.435",\
                 "1.252, 1.302, 1.48, 1.804, 2.309, 3.039, 3.992, 5.153, 6.627, 8.482",\
                 "1.472, 1.53, 1.724, 2.07, 2.576, 3.298, 4.272, 5.454, 6.876, 8.642");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1779, 0.1934, 0.2464, 0.3444, 0.4935, 0.7001, 0.9701, 1.309, 1.723, 2.215",\
                 "0.1905, 0.2059, 0.2592, 0.3572, 0.5063, 0.7128, 0.9829, 1.322, 1.735, 2.227",\
                 "0.2368, 0.252, 0.3043, 0.4019, 0.551, 0.7574, 1.027, 1.367, 1.78, 2.272",\
                 "0.2951, 0.315, 0.3798, 0.4885, 0.6387, 0.8441, 1.113, 1.452, 1.865, 2.357",\
                 "0.326, 0.3514, 0.4334, 0.5705, 0.7558, 0.981, 1.251, 1.588, 2, 2.49",\
                 "0.3233, 0.3546, 0.4559, 0.623, 0.8463, 1.118, 1.431, 1.783, 2.194, 2.683",\
                 "0.2836, 0.3209, 0.4411, 0.6405, 0.9048, 1.222, 1.588, 1.997, 2.445, 2.941",\
                 "0.2034, 0.2472, 0.3867, 0.6175, 0.9248, 1.291, 1.71, 2.176, 2.689, 3.242",\
                 "0.0826, 0.1316, 0.2896, 0.5532, 0.9038, 1.321, 1.794, 2.319, 2.893, 3.514",\
                 "-0.0828, -0.0279, 0.1492, 0.4431, 0.8362, 1.306, 1.838, 2.423, 3.059, 3.745");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.401, 0.4423, 0.5848, 0.8528, 1.269, 1.851, 2.617, 3.581, 4.758, 6.161",\
                 "0.4073, 0.4496, 0.5947, 0.8656, 1.284, 1.867, 2.633, 3.599, 4.775, 6.177",\
                 "0.4431, 0.4853, 0.631, 0.9041, 1.325, 1.911, 2.679, 3.645, 4.823, 6.226",\
                 "0.5265, 0.5693, 0.7138, 0.9838, 1.403, 1.989, 2.759, 3.726, 4.904, 6.308",\
                 "0.6531, 0.7002, 0.857, 1.133, 1.546, 2.126, 2.891, 3.855, 5.033, 6.436",\
                 "0.8386, 0.8891, 1.055, 1.349, 1.773, 2.345, 3.101, 4.058, 5.23, 6.629",\
                 "1.077, 1.134, 1.315, 1.624, 2.072, 2.658, 3.403, 4.349, 5.511, 6.902",\
                 "1.363, 1.426, 1.629, 1.963, 2.431, 3.045, 3.807, 4.74, 5.889, 7.267",\
                 "1.692, 1.765, 1.992, 2.36, 2.854, 3.493, 4.288, 5.237, 6.373, 7.739",\
                 "2.067, 2.149, 2.402, 2.809, 3.342, 4.01, 4.833, 5.821, 6.972, 8.323");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2308, 0.2561, 0.3426, 0.5053, 0.7556, 1.104, 1.565, 2.141, 2.846, 3.685",\
                 "0.2302, 0.2558, 0.343, 0.505, 0.7555, 1.105, 1.564, 2.142, 2.846, 3.685",\
                 "0.2355, 0.2583, 0.3416, 0.5041, 0.7554, 1.105, 1.563, 2.14, 2.846, 3.685",\
                 "0.3185, 0.3426, 0.4198, 0.5503, 0.7673, 1.105, 1.564, 2.141, 2.846, 3.685",\
                 "0.4268, 0.4554, 0.5464, 0.6988, 0.909, 1.184, 1.585, 2.142, 2.846, 3.686",\
                 "0.56, 0.5946, 0.702, 0.8746, 1.11, 1.41, 1.768, 2.237, 2.87, 3.687",\
                 "0.7148, 0.753, 0.8794, 1.082, 1.343, 1.675, 2.067, 2.522, 3.071, 3.783",\
                 "0.884, 0.9336, 1.079, 1.311, 1.61, 1.967, 2.395, 2.893, 3.458, 4.101",\
                 "1.074, 1.129, 1.302, 1.568, 1.904, 2.3, 2.761, 3.295, 3.903, 4.581",\
                 "1.286, 1.35, 1.543, 1.846, 2.227, 2.668, 3.165, 3.735, 4.381, 5.104");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.541, 0.6114, 0.856, 1.322, 2.044, 3.056, 4.387, 6.058, 8.109, 10.54",\
                 "0.542, 0.6116, 0.8564, 1.322, 2.046, 3.058, 4.386, 6.06, 8.11, 10.55",\
                 "0.5424, 0.6121, 0.8556, 1.323, 2.045, 3.057, 4.385, 6.057, 8.108, 10.55",\
                 "0.5794, 0.6398, 0.8655, 1.323, 2.046, 3.056, 4.389, 6.059, 8.109, 10.54",\
                 "0.6746, 0.736, 0.9468, 1.356, 2.048, 3.057, 4.389, 6.062, 8.112, 10.55",\
                 "0.7888, 0.849, 1.064, 1.475, 2.113, 3.068, 4.386, 6.058, 8.111, 10.55",\
                 "0.9442, 0.9994, 1.204, 1.619, 2.261, 3.158, 4.408, 6.065, 8.112, 10.55",\
                 "1.135, 1.189, 1.385, 1.784, 2.439, 3.336, 4.524, 6.102, 8.112, 10.56",\
                 "1.346, 1.404, 1.605, 1.996, 2.638, 3.557, 4.734, 6.243, 8.162, 10.56",\
                 "1.578, 1.638, 1.855, 2.254, 2.877, 3.795, 5.001, 6.483, 8.32, 10.62");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1843, 0.2, 0.2537, 0.3525, 0.5027, 0.7097, 0.9798, 1.319, 1.732, 2.224",\
                 "0.1969, 0.2125, 0.2662, 0.3652, 0.5153, 0.7224, 0.9925, 1.332, 1.745, 2.237",\
                 "0.2431, 0.2584, 0.3113, 0.41, 0.5601, 0.767, 1.037, 1.376, 1.789, 2.281",\
                 "0.3055, 0.3252, 0.3894, 0.4974, 0.6478, 0.8536, 1.123, 1.462, 1.875, 2.366",\
                 "0.3422, 0.3673, 0.4479, 0.5837, 0.7671, 0.9912, 1.261, 1.598, 2.01, 2.5",\
                 "0.3473, 0.3774, 0.4756, 0.6403, 0.8611, 1.131, 1.442, 1.793, 2.204, 2.693",\
                 "0.3151, 0.3507, 0.4669, 0.6617, 0.9224, 1.237, 1.601, 2.009, 2.456, 2.95",\
                 "0.2421, 0.2832, 0.4179, 0.644, 0.9458, 1.309, 1.725, 2.19, 2.7, 3.252",\
                 "0.1282, 0.1745, 0.3264, 0.584, 0.9278, 1.341, 1.812, 2.334, 2.906, 3.526",\
                 "-0.0292, 0.0223, 0.1921, 0.4788, 0.8658, 1.33, 1.858, 2.44, 3.074, 3.758");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4765, 0.5178, 0.6597, 0.9277, 1.344, 1.926, 2.692, 3.656, 4.833, 6.235",\
                 "0.4848, 0.5268, 0.6708, 0.9409, 1.359, 1.942, 2.709, 3.674, 4.85, 6.252",\
                 "0.5209, 0.563, 0.708, 0.98, 1.401, 1.987, 2.754, 3.72, 4.898, 6.302",\
                 "0.6053, 0.6465, 0.7895, 1.059, 1.479, 2.065, 2.834, 3.8, 4.979, 6.382",\
                 "0.7394, 0.7849, 0.936, 1.207, 1.62, 2.201, 2.966, 3.931, 5.109, 6.51",\
                 "0.9305, 0.9778, 1.139, 1.428, 1.847, 2.419, 3.175, 4.133, 5.304, 6.704",\
                 "1.179, 1.232, 1.404, 1.707, 2.149, 2.73, 3.477, 4.422, 5.585, 6.975",\
                 "1.478, 1.537, 1.727, 2.05, 2.511, 3.121, 3.879, 4.813, 5.963, 7.341",\
                 "1.823, 1.888, 2.1, 2.453, 2.938, 3.573, 4.363, 5.31, 6.446, 7.812",\
                 "2.213, 2.287, 2.522, 2.91, 3.431, 4.092, 4.912, 5.895, 7.044, 8.395");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2761, 0.3004, 0.3852, 0.5463, 0.7955, 1.146, 1.603, 2.18, 2.886, 3.724",\
                 "0.2759, 0.3001, 0.3851, 0.5461, 0.7955, 1.146, 1.603, 2.18, 2.886, 3.725",\
                 "0.2808, 0.303, 0.3842, 0.5459, 0.7957, 1.146, 1.603, 2.181, 2.885, 3.725",\
                 "0.3727, 0.3942, 0.4654, 0.5921, 0.8085, 1.145, 1.605, 2.18, 2.887, 3.724",\
                 "0.4957, 0.521, 0.604, 0.7478, 0.9518, 1.225, 1.626, 2.182, 2.886, 3.724",\
                 "0.6474, 0.6768, 0.771, 0.9336, 1.162, 1.455, 1.808, 2.277, 2.91, 3.726",\
                 "0.8198, 0.8538, 0.9652, 1.151, 1.403, 1.726, 2.113, 2.564, 3.113, 3.824",\
                 "1.012, 1.054, 1.183, 1.396, 1.68, 2.027, 2.447, 2.94, 3.503, 4.141",\
                 "1.224, 1.271, 1.424, 1.667, 1.985, 2.368, 2.82, 3.348, 3.95, 4.625",\
                 "1.46, 1.514, 1.683, 1.961, 2.322, 2.745, 3.231, 3.791, 4.434, 5.153");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6377, 0.7072, 0.9527, 1.419, 2.143, 3.154, 4.484, 6.159, 8.201, 10.63",\
                 "0.6378, 0.7073, 0.9528, 1.419, 2.143, 3.155, 4.484, 6.16, 8.201, 10.63",\
                 "0.6382, 0.7083, 0.953, 1.419, 2.143, 3.155, 4.485, 6.158, 8.201, 10.64",\
                 "0.6594, 0.7233, 0.9572, 1.419, 2.143, 3.155, 4.484, 6.158, 8.201, 10.63",\
                 "0.752, 0.8142, 1.025, 1.445, 2.145, 3.155, 4.484, 6.158, 8.201, 10.64",\
                 "0.8598, 0.9236, 1.144, 1.555, 2.199, 3.162, 4.485, 6.158, 8.201, 10.64",\
                 "1.003, 1.063, 1.278, 1.7, 2.342, 3.244, 4.501, 6.159, 8.202, 10.64",\
                 "1.189, 1.245, 1.452, 1.866, 2.522, 3.419, 4.61, 6.189, 8.204, 10.64",\
                 "1.399, 1.461, 1.669, 2.07, 2.72, 3.642, 4.816, 6.324, 8.251, 10.64",\
                 "1.632, 1.697, 1.917, 2.319, 2.954, 3.877, 5.084, 6.565, 8.412, 10.71");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1486, 0.1649, 0.2198, 0.3197, 0.4702, 0.6777, 0.9484, 1.288, 1.702, 2.194",\
                 "0.1606, 0.1769, 0.2316, 0.3315, 0.482, 0.6895, 0.9603, 1.3, 1.713, 2.206",\
                 "0.2074, 0.2235, 0.2765, 0.3752, 0.5254, 0.7328, 1.003, 1.343, 1.757, 2.249",\
                 "0.2557, 0.2773, 0.3466, 0.4601, 0.6129, 0.819, 1.089, 1.428, 1.841, 2.333",\
                 "0.2769, 0.3052, 0.393, 0.5363, 0.7262, 0.9552, 1.227, 1.564, 1.976, 2.467",\
                 "0.2677, 0.3017, 0.4088, 0.5837, 0.8124, 1.088, 1.405, 1.759, 2.17, 2.659",\
                 "0.2238, 0.264, 0.3913, 0.5988, 0.8687, 1.19, 1.559, 1.971, 2.422, 2.917",\
                 "0.1455, 0.1908, 0.3374, 0.5762, 0.8898, 1.261, 1.681, 2.149, 2.663, 3.218",\
                 "0.0301, 0.0815, 0.2459, 0.516, 0.8717, 1.292, 1.768, 2.293, 2.868, 3.49",\
                 "-0.1234, -0.0668, 0.1162, 0.4152, 0.8117, 1.284, 1.816, 2.401, 3.037, 3.723");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3916, 0.4323, 0.5729, 0.8386, 1.25, 1.827, 2.585, 3.54, 4.706, 6.096",\
                 "0.3993, 0.4407, 0.5836, 0.8523, 1.265, 1.843, 2.602, 3.558, 4.724, 6.115",\
                 "0.4363, 0.4775, 0.6211, 0.8915, 1.308, 1.888, 2.649, 3.606, 4.773, 6.164",\
                 "0.5102, 0.5528, 0.6959, 0.963, 1.378, 1.958, 2.72, 3.677, 4.846, 6.242",\
                 "0.6176, 0.6632, 0.8153, 1.089, 1.498, 2.072, 2.83, 3.785, 4.952, 6.346",\
                 "0.778, 0.8261, 0.9847, 1.27, 1.69, 2.256, 3.005, 3.953, 5.113, 6.499",\
                 "0.9843, 1.039, 1.213, 1.509, 1.942, 2.522, 3.261, 4.197, 5.348, 6.726",\
                 "1.233, 1.294, 1.488, 1.808, 2.255, 2.852, 3.607, 4.532, 5.669, 7.033",\
                 "1.518, 1.588, 1.806, 2.158, 2.631, 3.243, 4.018, 4.961, 6.086, 7.435",\
                 "1.842, 1.92, 2.165, 2.553, 3.065, 3.701, 4.492, 5.457, 6.602, 7.939");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2122, 0.2382, 0.3245, 0.4863, 0.7363, 1.085, 1.543, 2.121, 2.824, 3.664",\
                 "0.211, 0.2364, 0.3238, 0.4862, 0.7363, 1.085, 1.544, 2.121, 2.825, 3.664",\
                 "0.2234, 0.2445, 0.3231, 0.4841, 0.7359, 1.085, 1.543, 2.121, 2.824, 3.663",\
                 "0.3109, 0.3352, 0.4114, 0.5409, 0.751, 1.084, 1.542, 2.121, 2.824, 3.663",\
                 "0.4245, 0.4524, 0.5408, 0.6906, 0.8992, 1.171, 1.568, 2.121, 2.824, 3.664",\
                 "0.5636, 0.597, 0.7006, 0.8704, 1.104, 1.399, 1.757, 2.223, 2.852, 3.666",\
                 "0.7238, 0.7644, 0.886, 1.082, 1.338, 1.662, 2.056, 2.511, 3.058, 3.767",\
                 "0.9054, 0.9526, 1.097, 1.321, 1.611, 1.961, 2.384, 2.88, 3.447, 4.088",\
                 "1.11, 1.165, 1.334, 1.587, 1.913, 2.302, 2.752, 3.283, 3.888, 4.569",\
                 "1.342, 1.399, 1.595, 1.883, 2.246, 2.677, 3.164, 3.723, 4.365, 5.088");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4447, 0.514, 0.7562, 1.221, 1.945, 2.955, 4.286, 5.962, 8.006, 10.45",\
                 "0.4447, 0.5143, 0.7566, 1.222, 1.945, 2.956, 4.282, 5.967, 8.01, 10.45",\
                 "0.4474, 0.5156, 0.7568, 1.222, 1.945, 2.952, 4.289, 5.967, 8.014, 10.45",\
                 "0.4852, 0.5457, 0.7677, 1.223, 1.942, 2.951, 4.286, 5.966, 8.011, 10.45",\
                 "0.5558, 0.6206, 0.8438, 1.26, 1.947, 2.958, 4.289, 5.966, 8.001, 10.44",\
                 "0.6574, 0.7186, 0.9378, 1.364, 2.014, 2.968, 4.287, 5.962, 8.013, 10.44",\
                 "0.8076, 0.8636, 1.068, 1.483, 2.144, 3.058, 4.319, 5.966, 8.012, 10.43",\
                 "0.9808, 1.042, 1.248, 1.644, 2.293, 3.217, 4.424, 6.009, 8.017, 10.45",\
                 "1.174, 1.239, 1.461, 1.853, 2.479, 3.407, 4.613, 6.143, 8.075, 10.46",\
                 "1.386, 1.455, 1.692, 2.111, 2.719, 3.615, 4.839, 6.358, 8.23, 10.54");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1488, 0.1651, 0.2199, 0.3198, 0.4703, 0.6778, 0.9485, 1.288, 1.702, 2.194",\
                 "0.1613, 0.1774, 0.2324, 0.3321, 0.4827, 0.6902, 0.961, 1.3, 1.714, 2.207",\
                 "0.2087, 0.2247, 0.2778, 0.3765, 0.5267, 0.7341, 1.005, 1.344, 1.758, 2.25",\
                 "0.2569, 0.2784, 0.3476, 0.4614, 0.6142, 0.8203, 1.09, 1.429, 1.843, 2.335",\
                 "0.275, 0.3027, 0.3915, 0.5361, 0.7265, 0.9561, 1.228, 1.565, 1.977, 2.468",\
                 "0.2574, 0.2923, 0.4014, 0.5782, 0.81, 1.087, 1.404, 1.759, 2.171, 2.66",\
                 "0.2012, 0.2422, 0.3726, 0.5834, 0.8579, 1.183, 1.555, 1.968, 2.42, 2.916",\
                 "0.1037, 0.1511, 0.3013, 0.5464, 0.8669, 1.244, 1.67, 2.141, 2.658, 3.214",\
                 "-0.0372, 0.0164, 0.1867, 0.4658, 0.8307, 1.261, 1.745, 2.276, 2.855, 3.48",\
                 "-0.2236, -0.164, 0.0266, 0.3376, 0.7478, 1.232, 1.775, 2.37, 3.013, 3.705");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4662, 0.515, 0.6842, 1.002, 1.495, 2.186, 3.095, 4.24, 5.637, 7.301",\
                 "0.4708, 0.5206, 0.6928, 1.015, 1.509, 2.202, 3.111, 4.257, 5.654, 7.319",\
                 "0.5027, 0.5525, 0.725, 1.049, 1.547, 2.243, 3.155, 4.301, 5.7, 7.366",\
                 "0.5749, 0.6246, 0.7952, 1.116, 1.613, 2.308, 3.221, 4.369, 5.768, 7.435",\
                 "0.6882, 0.7405, 0.9188, 1.24, 1.729, 2.419, 3.327, 4.472, 5.871, 7.537",\
                 "0.8631, 0.9172, 1.1, 1.433, 1.924, 2.601, 3.5, 4.638, 6.028, 7.69",\
                 "1.098, 1.158, 1.351, 1.69, 2.195, 2.873, 3.757, 4.881, 6.261, 7.914",\
                 "1.383, 1.45, 1.662, 2.019, 2.535, 3.23, 4.112, 5.22, 6.585, 8.221",\
                 "1.714, 1.789, 2.026, 2.412, 2.945, 3.654, 4.557, 5.661, 7.006, 8.628",\
                 "2.092, 2.176, 2.439, 2.862, 3.426, 4.152, 5.072, 6.197, 7.538, 9.139");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2132, 0.2376, 0.3238, 0.4868, 0.7358, 1.085, 1.542, 2.119, 2.824, 3.664",\
                 "0.2107, 0.2362, 0.3246, 0.4866, 0.7359, 1.084, 1.544, 2.121, 2.825, 3.663",\
                 "0.223, 0.244, 0.3227, 0.4845, 0.735, 1.084, 1.542, 2.12, 2.824, 3.664",\
                 "0.3103, 0.3343, 0.4106, 0.5395, 0.7502, 1.084, 1.543, 2.121, 2.825, 3.663",\
                 "0.4239, 0.4506, 0.5412, 0.6916, 0.899, 1.171, 1.567, 2.121, 2.823, 3.664",\
                 "0.5616, 0.5944, 0.7004, 0.8706, 1.106, 1.401, 1.756, 2.223, 2.851, 3.666",\
                 "0.7202, 0.7612, 0.8866, 1.083, 1.342, 1.666, 2.059, 2.513, 3.059, 3.769",\
                 "0.9008, 0.948, 1.096, 1.323, 1.616, 1.969, 2.394, 2.887, 3.45, 4.09",\
                 "1.106, 1.166, 1.329, 1.593, 1.919, 2.312, 2.766, 3.293, 3.898, 4.575",\
                 "1.332, 1.397, 1.592, 1.885, 2.26, 2.689, 3.183, 3.743, 4.382, 5.106");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5517, 0.6342, 0.9255, 1.482, 2.348, 3.559, 5.15, 7.154, 9.592, 12.51",\
                 "0.5523, 0.635, 0.9262, 1.483, 2.344, 3.558, 5.143, 7.152, 9.591, 12.52",\
                 "0.5539, 0.6361, 0.926, 1.482, 2.347, 3.558, 5.151, 7.154, 9.6, 12.5",\
                 "0.583, 0.6574, 0.9326, 1.482, 2.348, 3.558, 5.143, 7.145, 9.584, 12.51",\
                 "0.6544, 0.7328, 0.9972, 1.509, 2.347, 3.558, 5.15, 7.157, 9.586, 12.51",\
                 "0.7416, 0.8162, 1.089, 1.597, 2.392, 3.559, 5.144, 7.152, 9.6, 12.5",\
                 "0.88, 0.9478, 1.199, 1.712, 2.502, 3.616, 5.159, 7.144, 9.596, 12.5",\
                 "1.057, 1.122, 1.361, 1.848, 2.645, 3.749, 5.227, 7.158, 9.598, 12.51",\
                 "1.253, 1.327, 1.57, 2.035, 2.807, 3.924, 5.375, 7.249, 9.608, 12.52",\
                 "1.473, 1.546, 1.805, 2.273, 3.014, 4.121, 5.587, 7.417, 9.714, 12.54");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1549, 0.1714, 0.2267, 0.3276, 0.4792, 0.6874, 0.9582, 1.298, 1.711, 2.203",\
                 "0.1675, 0.1837, 0.2391, 0.34, 0.4916, 0.6998, 0.9706, 1.31, 1.723, 2.216",\
                 "0.2151, 0.2308, 0.2844, 0.3843, 0.5356, 0.7437, 1.014, 1.354, 1.767, 2.259",\
                 "0.268, 0.2891, 0.3577, 0.4705, 0.6232, 0.8299, 1.1, 1.439, 1.852, 2.344",\
                 "0.2934, 0.3205, 0.4069, 0.5493, 0.7381, 0.9663, 1.237, 1.575, 1.987, 2.478",\
                 "0.285, 0.3177, 0.4231, 0.5966, 0.8247, 1.1, 1.415, 1.769, 2.18, 2.67",\
                 "0.2368, 0.2757, 0.4005, 0.6062, 0.8766, 1.199, 1.568, 1.98, 2.431, 2.926",\
                 "0.1475, 0.1918, 0.3357, 0.5745, 0.8885, 1.262, 1.685, 2.155, 2.669, 3.225",\
                 "0.0156, 0.0656, 0.2271, 0.4981, 0.8568, 1.282, 1.762, 2.291, 2.869, 3.492",\
                 "-0.162, -0.1065, 0.0742, 0.3754, 0.7779, 1.256, 1.796, 2.388, 3.029, 3.719");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.556, 0.6049, 0.7731, 1.091, 1.584, 2.276, 3.185, 4.329, 5.726, 7.39",\
                 "0.5633, 0.6128, 0.7832, 1.104, 1.599, 2.292, 3.201, 4.346, 5.742, 7.408",\
                 "0.5952, 0.6447, 0.8165, 1.139, 1.638, 2.333, 3.244, 4.39, 5.789, 7.455",\
                 "0.667, 0.7157, 0.8846, 1.206, 1.703, 2.398, 3.311, 4.459, 5.858, 7.524",\
                 "0.7849, 0.8363, 1.011, 1.328, 1.818, 2.508, 3.417, 4.562, 5.96, 7.626",\
                 "0.9619, 1.014, 1.194, 1.522, 2.01, 2.689, 3.588, 4.725, 6.118, 7.779",\
                 "1.206, 1.261, 1.447, 1.782, 2.284, 2.96, 3.845, 4.969, 6.348, 8.001",\
                 "1.504, 1.565, 1.766, 2.112, 2.624, 3.317, 4.198, 5.306, 6.672, 8.31",\
                 "1.849, 1.918, 2.139, 2.51, 3.037, 3.743, 4.644, 5.745, 7.093, 8.714",\
                 "2.244, 2.319, 2.563, 2.969, 3.522, 4.242, 5.16, 6.283, 7.623, 9.225");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2593, 0.2835, 0.3679, 0.5277, 0.7774, 1.125, 1.584, 2.16, 2.866, 3.702",\
                 "0.2579, 0.2825, 0.3673, 0.5275, 0.7762, 1.126, 1.583, 2.161, 2.864, 3.704",\
                 "0.2692, 0.2895, 0.3663, 0.526, 0.7765, 1.126, 1.584, 2.16, 2.864, 3.704",\
                 "0.368, 0.3889, 0.458, 0.5817, 0.7921, 1.126, 1.582, 2.159, 2.865, 3.706",\
                 "0.4971, 0.5212, 0.6012, 0.7422, 0.9422, 1.212, 1.608, 2.163, 2.864, 3.704",\
                 "0.654, 0.6824, 0.7746, 0.9336, 1.157, 1.446, 1.798, 2.264, 2.892, 3.707",\
                 "0.8358, 0.8686, 0.9758, 1.157, 1.405, 1.72, 2.105, 2.554, 3.099, 3.809",\
                 "1.039, 1.078, 1.205, 1.41, 1.688, 2.029, 2.445, 2.935, 3.493, 4.13",\
                 "1.273, 1.317, 1.459, 1.694, 2.003, 2.382, 2.824, 3.347, 3.946, 4.618",\
                 "1.524, 1.575, 1.744, 2.005, 2.352, 2.767, 3.249, 3.799, 4.434, 5.148");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6654, 0.7501, 1.043, 1.599, 2.463, 3.673, 5.262, 7.261, 9.706, 12.62",\
                 "0.6654, 0.7501, 1.042, 1.599, 2.463, 3.673, 5.261, 7.262, 9.702, 12.62",\
                 "0.6675, 0.7496, 1.043, 1.599, 2.463, 3.672, 5.261, 7.261, 9.704, 12.62",\
                 "0.6824, 0.761, 1.046, 1.6, 2.464, 3.672, 5.261, 7.264, 9.707, 12.61",\
                 "0.7572, 0.8332, 1.097, 1.615, 2.464, 3.673, 5.262, 7.263, 9.704, 12.62",\
                 "0.8366, 0.9148, 1.19, 1.698, 2.498, 3.675, 5.262, 7.264, 9.704, 12.62",\
                 "0.959, 1.031, 1.296, 1.814, 2.604, 3.726, 5.268, 7.264, 9.705, 12.62",\
                 "1.126, 1.196, 1.445, 1.945, 2.748, 3.852, 5.336, 7.274, 9.705, 12.62",\
                 "1.325, 1.398, 1.645, 2.121, 2.906, 4.028, 5.482, 7.359, 9.725, 12.62",\
                 "1.545, 1.621, 1.882, 2.354, 3.108, 4.219, 5.69, 7.525, 9.822, 12.64");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1548, 0.1713, 0.2266, 0.3275, 0.4794, 0.6878, 0.9588, 1.298, 1.712, 2.204",\
                 "0.1668, 0.1832, 0.2385, 0.3394, 0.4912, 0.6997, 0.9707, 1.31, 1.724, 2.216",\
                 "0.2139, 0.2296, 0.2831, 0.383, 0.5346, 0.743, 1.014, 1.353, 1.767, 2.259",\
                 "0.2671, 0.2883, 0.3565, 0.4693, 0.6222, 0.829, 1.099, 1.438, 1.852, 2.343",\
                 "0.2957, 0.3228, 0.4084, 0.5501, 0.7385, 0.9663, 1.237, 1.574, 1.986, 2.477",\
                 "0.2956, 0.3279, 0.4315, 0.6026, 0.8288, 1.102, 1.417, 1.77, 2.181, 2.67",\
                 "0.2618, 0.2996, 0.4209, 0.6225, 0.8888, 1.207, 1.573, 1.984, 2.433, 2.928",\
                 "0.1924, 0.2351, 0.3742, 0.6061, 0.9131, 1.28, 1.698, 2.164, 2.676, 3.23",\
                 "0.087, 0.1344, 0.2896, 0.5515, 0.8994, 1.315, 1.788, 2.31, 2.882, 3.502",\
                 "-0.0573, -0.0045, 0.1672, 0.456, 0.8454, 1.31, 1.838, 2.42, 3.053, 3.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4716, 0.5122, 0.6526, 0.9183, 1.33, 1.907, 2.665, 3.62, 4.786, 6.176",\
                 "0.4812, 0.5222, 0.6644, 0.9319, 1.345, 1.923, 2.682, 3.638, 4.804, 6.195",\
                 "0.5183, 0.5597, 0.7028, 0.9725, 1.388, 1.968, 2.73, 3.687, 4.854, 6.246",\
                 "0.5936, 0.6346, 0.7764, 1.043, 1.458, 2.038, 2.8, 3.758, 4.926, 6.322",\
                 "0.7063, 0.7501, 0.8992, 1.168, 1.577, 2.152, 2.91, 3.865, 5.032, 6.423",\
                 "0.8714, 0.9168, 1.071, 1.353, 1.769, 2.334, 3.084, 4.033, 5.193, 6.579",\
                 "1.089, 1.139, 1.303, 1.593, 2.024, 2.601, 3.339, 4.276, 5.427, 6.805",\
                 "1.351, 1.407, 1.588, 1.896, 2.338, 2.932, 3.685, 4.609, 5.748, 7.114",\
                 "1.652, 1.715, 1.917, 2.253, 2.717, 3.325, 4.097, 5.038, 6.163, 7.514",\
                 "1.992, 2.063, 2.288, 2.657, 3.155, 3.785, 4.573, 5.537, 6.678, 8.016");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2631, 0.2871, 0.3714, 0.5313, 0.78, 1.128, 1.587, 2.163, 2.867, 3.707",\
                 "0.2617, 0.286, 0.3708, 0.531, 0.7805, 1.129, 1.587, 2.164, 2.87, 3.708",\
                 "0.2732, 0.2935, 0.3702, 0.5293, 0.7797, 1.129, 1.587, 2.163, 2.868, 3.705",\
                 "0.3731, 0.3937, 0.4625, 0.5858, 0.7953, 1.128, 1.587, 2.165, 2.867, 3.708",\
                 "0.5043, 0.5282, 0.6058, 0.7458, 0.9464, 1.216, 1.611, 2.166, 2.869, 3.707",\
                 "0.6652, 0.6926, 0.781, 0.9362, 1.159, 1.449, 1.802, 2.266, 2.894, 3.71",\
                 "0.8474, 0.8798, 0.985, 1.161, 1.406, 1.719, 2.106, 2.556, 3.102, 3.813",\
                 "1.054, 1.092, 1.215, 1.416, 1.688, 2.027, 2.441, 2.932, 3.493, 4.132",\
                 "1.286, 1.329, 1.47, 1.701, 2.003, 2.377, 2.816, 3.339, 3.94, 4.617",\
                 "1.541, 1.596, 1.755, 2.012, 2.352, 2.762, 3.236, 3.786, 4.424, 5.14");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5457, 0.6161, 0.861, 1.325, 2.047, 3.058, 4.388, 6.063, 8.105, 10.54",\
                 "0.5461, 0.6162, 0.8608, 1.325, 2.047, 3.059, 4.388, 6.064, 8.107, 10.54",\
                 "0.548, 0.6174, 0.8611, 1.325, 2.047, 3.058, 4.389, 6.064, 8.107, 10.54",\
                 "0.5704, 0.6343, 0.8662, 1.326, 2.047, 3.059, 4.388, 6.064, 8.105, 10.55",\
                 "0.6456, 0.7106, 0.9306, 1.354, 2.05, 3.058, 4.388, 6.062, 8.106, 10.54",\
                 "0.734, 0.799, 1.026, 1.453, 2.107, 3.07, 4.388, 6.064, 8.106, 10.54",\
                 "0.873, 0.933, 1.147, 1.573, 2.235, 3.153, 4.412, 6.063, 8.108, 10.54",\
                 "1.047, 1.109, 1.319, 1.725, 2.385, 3.309, 4.521, 6.105, 8.109, 10.54",\
                 "1.242, 1.307, 1.53, 1.928, 2.565, 3.496, 4.705, 6.236, 8.17, 10.55",\
                 "1.458, 1.529, 1.766, 2.182, 2.8, 3.705, 4.932, 6.452, 8.328, 10.63");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1549, 0.1714, 0.2268, 0.3277, 0.4796, 0.688, 0.959, 1.299, 1.712, 2.204",\
                 "0.1675, 0.1838, 0.2391, 0.34, 0.4919, 0.7004, 0.9714, 1.311, 1.724, 2.217",\
                 "0.2152, 0.2308, 0.2844, 0.3843, 0.5359, 0.7443, 1.015, 1.355, 1.768, 2.26",\
                 "0.2681, 0.2892, 0.3578, 0.4706, 0.6235, 0.8305, 1.101, 1.44, 1.853, 2.345",\
                 "0.2937, 0.3208, 0.4076, 0.5497, 0.7388, 0.967, 1.238, 1.576, 1.987, 2.479",\
                 "0.2859, 0.3186, 0.4239, 0.5976, 0.8258, 1.101, 1.416, 1.77, 2.181, 2.671",\
                 "0.2392, 0.2777, 0.4025, 0.6078, 0.8779, 1.2, 1.569, 1.981, 2.431, 2.926",\
                 "0.151, 0.195, 0.3383, 0.5766, 0.8902, 1.264, 1.686, 2.156, 2.67, 3.226",\
                 "0.02, 0.0697, 0.2306, 0.5009, 0.8589, 1.284, 1.764, 2.293, 2.87, 3.494",\
                 "-0.1568, -0.1015, 0.0782, 0.3786, 0.7801, 1.259, 1.798, 2.39, 3.03, 3.72");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5624, 0.6114, 0.7796, 1.097, 1.591, 2.282, 3.191, 4.336, 5.733, 7.397",\
                 "0.57, 0.6193, 0.7898, 1.111, 1.606, 2.298, 3.207, 4.353, 5.75, 7.415",\
                 "0.6018, 0.6513, 0.8231, 1.146, 1.644, 2.34, 3.251, 4.397, 5.796, 7.462",\
                 "0.6734, 0.7221, 0.8913, 1.212, 1.709, 2.405, 3.318, 4.466, 5.865, 7.531",\
                 "0.7916, 0.843, 1.017, 1.334, 1.825, 2.514, 3.424, 4.568, 5.967, 7.633",\
                 "0.9687, 1.022, 1.201, 1.53, 2.017, 2.696, 3.595, 4.733, 6.124, 7.786",\
                 "1.213, 1.268, 1.454, 1.789, 2.291, 2.966, 3.852, 4.976, 6.355, 8.008",\
                 "1.512, 1.573, 1.773, 2.119, 2.631, 3.323, 4.205, 5.312, 6.679, 8.318",\
                 "1.858, 1.927, 2.147, 2.518, 3.043, 3.75, 4.65, 5.752, 7.099, 8.722",\
                 "2.254, 2.329, 2.573, 2.976, 3.529, 4.249, 5.167, 6.29, 7.629, 9.233");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2631, 0.2872, 0.3714, 0.5312, 0.7798, 1.128, 1.588, 2.165, 2.867, 3.706",\
                 "0.2618, 0.2861, 0.3709, 0.531, 0.7802, 1.128, 1.586, 2.165, 2.868, 3.706",\
                 "0.2727, 0.2931, 0.37, 0.5294, 0.7798, 1.128, 1.587, 2.163, 2.868, 3.706",\
                 "0.3724, 0.3932, 0.4619, 0.5852, 0.7957, 1.128, 1.587, 2.164, 2.869, 3.706",\
                 "0.5037, 0.527, 0.6056, 0.7464, 0.9456, 1.216, 1.612, 2.166, 2.869, 3.707",\
                 "0.6632, 0.6894, 0.7804, 0.9376, 1.161, 1.449, 1.802, 2.267, 2.897, 3.708",\
                 "0.8444, 0.8774, 0.9834, 1.163, 1.408, 1.724, 2.109, 2.557, 3.104, 3.813",\
                 "1.05, 1.088, 1.214, 1.418, 1.694, 2.035, 2.452, 2.938, 3.496, 4.133",\
                 "1.287, 1.329, 1.472, 1.702, 2.01, 2.388, 2.829, 3.35, 3.951, 4.622",\
                 "1.539, 1.589, 1.756, 2.015, 2.364, 2.774, 3.255, 3.806, 4.439, 5.158");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6736, 0.7582, 1.051, 1.608, 2.472, 3.681, 5.27, 7.27, 9.716, 12.63",\
                 "0.6737, 0.7576, 1.05, 1.608, 2.472, 3.681, 5.27, 7.27, 9.715, 12.62",\
                 "0.675, 0.759, 1.051, 1.607, 2.471, 3.681, 5.27, 7.271, 9.713, 12.63",\
                 "0.6895, 0.7689, 1.054, 1.608, 2.472, 3.681, 5.27, 7.274, 9.716, 12.62",\
                 "0.764, 0.8398, 1.104, 1.623, 2.473, 3.681, 5.271, 7.272, 9.714, 12.62",\
                 "0.8432, 0.9218, 1.198, 1.705, 2.506, 3.684, 5.271, 7.272, 9.715, 12.63",\
                 "0.9644, 1.037, 1.302, 1.821, 2.611, 3.734, 5.277, 7.272, 9.714, 12.63",\
                 "1.133, 1.203, 1.452, 1.956, 2.755, 3.861, 5.344, 7.284, 9.716, 12.63",\
                 "1.331, 1.403, 1.652, 2.13, 2.913, 4.036, 5.491, 7.367, 9.734, 12.63",\
                 "1.549, 1.627, 1.888, 2.358, 3.115, 4.227, 5.698, 7.532, 9.832, 12.65");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1623, 0.1789, 0.2347, 0.3365, 0.4892, 0.6979, 0.9688, 1.308, 1.722, 2.214",\
                 "0.1749, 0.1912, 0.247, 0.3489, 0.5015, 0.7102, 0.9812, 1.321, 1.734, 2.226",\
                 "0.2225, 0.2381, 0.2922, 0.3931, 0.5456, 0.7541, 1.025, 1.364, 1.778, 2.27",\
                 "0.2816, 0.302, 0.369, 0.4805, 0.6331, 0.8403, 1.111, 1.45, 1.863, 2.355",\
                 "0.3154, 0.341, 0.4245, 0.5639, 0.7506, 0.9772, 1.248, 1.585, 1.998, 2.488",\
                 "0.3143, 0.3455, 0.4465, 0.6157, 0.8405, 1.113, 1.427, 1.78, 2.191, 2.68",\
                 "0.2735, 0.3102, 0.43, 0.6298, 0.8959, 1.215, 1.582, 1.992, 2.442, 2.937",\
                 "0.1914, 0.2333, 0.3711, 0.603, 0.9115, 1.281, 1.701, 2.169, 2.682, 3.237",\
                 "0.0677, 0.1144, 0.2691, 0.5317, 0.884, 1.304, 1.782, 2.308, 2.883, 3.506",\
                 "-0.101, -0.0486, 0.1235, 0.4151, 0.8096, 1.282, 1.818, 2.406, 3.045, 3.733");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6523, 0.701, 0.8682, 1.187, 1.68, 2.372, 3.28, 4.425, 5.822, 7.486",\
                 "0.6614, 0.7103, 0.88, 1.2, 1.695, 2.387, 3.297, 4.442, 5.838, 7.504",\
                 "0.6942, 0.7434, 0.9142, 1.237, 1.734, 2.429, 3.34, 4.487, 5.885, 7.551",\
                 "0.7644, 0.8123, 0.9818, 1.302, 1.799, 2.495, 3.407, 4.555, 5.954, 7.621",\
                 "0.886, 0.9367, 1.107, 1.422, 1.913, 2.603, 3.513, 4.658, 6.056, 7.722",\
                 "1.066, 1.117, 1.294, 1.619, 2.104, 2.784, 3.683, 4.82, 6.213, 7.875",\
                 "1.315, 1.368, 1.548, 1.881, 2.379, 3.053, 3.938, 5.063, 6.444, 8.097",\
                 "1.623, 1.68, 1.871, 2.212, 2.721, 3.411, 4.29, 5.4, 6.765, 8.406",\
                 "1.982, 2.045, 2.254, 2.615, 3.135, 3.839, 4.736, 5.837, 7.185, 8.808",\
                 "2.39, 2.46, 2.69, 3.079, 3.623, 4.34, 5.254, 6.375, 7.714, 9.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3089, 0.3323, 0.4149, 0.5737, 0.8216, 1.169, 1.627, 2.204, 2.909, 3.748",\
                 "0.3075, 0.3313, 0.4146, 0.5736, 0.8212, 1.17, 1.627, 2.204, 2.91, 3.747",\
                 "0.3176, 0.3375, 0.4134, 0.572, 0.8214, 1.17, 1.628, 2.206, 2.908, 3.747",\
                 "0.4266, 0.4452, 0.5082, 0.6271, 0.8359, 1.169, 1.628, 2.205, 2.908, 3.748",\
                 "0.5736, 0.5926, 0.6632, 0.796, 0.9892, 1.256, 1.653, 2.207, 2.909, 3.748",\
                 "0.7492, 0.772, 0.8522, 0.999, 1.213, 1.495, 1.842, 2.306, 2.935, 3.751",\
                 "0.95, 0.978, 1.072, 1.235, 1.469, 1.777, 2.155, 2.599, 3.144, 3.852",\
                 "1.179, 1.21, 1.319, 1.504, 1.766, 2.095, 2.503, 2.985, 3.54, 4.174",\
                 "1.437, 1.471, 1.596, 1.802, 2.093, 2.456, 2.888, 3.404, 3.998, 4.665",\
                 "1.712, 1.755, 1.894, 2.132, 2.455, 2.853, 3.321, 3.863, 4.495, 5.2");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7877, 0.8733, 1.168, 1.725, 2.589, 3.8, 5.389, 7.39, 9.836, 12.75",\
                 "0.7886, 0.8728, 1.168, 1.725, 2.59, 3.8, 5.39, 7.392, 9.832, 12.75",\
                 "0.7898, 0.874, 1.168, 1.726, 2.59, 3.8, 5.39, 7.391, 9.831, 12.75",\
                 "0.7973, 0.8792, 1.169, 1.726, 2.59, 3.8, 5.39, 7.393, 9.835, 12.74",\
                 "0.8618, 0.9384, 1.205, 1.734, 2.591, 3.801, 5.391, 7.393, 9.834, 12.74",\
                 "0.9448, 1.024, 1.301, 1.807, 2.617, 3.803, 5.391, 7.392, 9.833, 12.75",\
                 "1.054, 1.129, 1.403, 1.926, 2.715, 3.846, 5.395, 7.394, 9.834, 12.74",\
                 "1.211, 1.285, 1.543, 2.057, 2.86, 3.967, 5.456, 7.401, 9.837, 12.75",\
                 "1.408, 1.482, 1.734, 2.224, 3.018, 4.142, 5.598, 7.478, 9.851, 12.75",\
                 "1.629, 1.708, 1.97, 2.448, 3.213, 4.335, 5.804, 7.641, 9.946, 12.77");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1776, 0.1933, 0.2461, 0.3442, 0.4933, 0.6999, 0.97, 1.309, 1.722, 2.215",\
                 "0.1899, 0.2054, 0.2585, 0.3564, 0.5056, 0.7122, 0.9823, 1.321, 1.735, 2.227",\
                 "0.2355, 0.2506, 0.3029, 0.4005, 0.5496, 0.7561, 1.026, 1.365, 1.779, 2.27",\
                 "0.2941, 0.314, 0.3787, 0.4875, 0.6374, 0.8428, 1.112, 1.451, 1.864, 2.356",\
                 "0.3281, 0.3534, 0.4349, 0.5715, 0.7558, 0.9807, 1.25, 1.587, 1.999, 2.49",\
                 "0.3339, 0.3645, 0.4635, 0.6288, 0.8497, 1.12, 1.433, 1.784, 2.194, 2.683",\
                 "0.3077, 0.344, 0.4614, 0.6563, 0.9166, 1.23, 1.593, 2.001, 2.448, 2.942",\
                 "0.2478, 0.2893, 0.424, 0.6504, 0.9497, 1.31, 1.723, 2.185, 2.695, 3.247",\
                 "0.1533, 0.2005, 0.3526, 0.6072, 0.9477, 1.356, 1.821, 2.338, 2.907, 3.524",\
                 "0.0216, 0.0739, 0.2436, 0.5275, 0.9071, 1.364, 1.883, 2.458, 3.085, 3.766");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6523, 0.701, 0.8682, 1.187, 1.68, 2.372, 3.28, 4.425, 5.822, 7.486",\
                 "0.6614, 0.7103, 0.88, 1.2, 1.695, 2.387, 3.297, 4.442, 5.838, 7.504",\
                 "0.6942, 0.7434, 0.9142, 1.237, 1.734, 2.429, 3.34, 4.487, 5.885, 7.551",\
                 "0.7644, 0.8123, 0.9818, 1.302, 1.799, 2.495, 3.407, 4.555, 5.954, 7.621",\
                 "0.886, 0.9367, 1.107, 1.422, 1.913, 2.603, 3.513, 4.658, 6.056, 7.722",\
                 "1.066, 1.117, 1.294, 1.619, 2.104, 2.784, 3.683, 4.82, 6.213, 7.875",\
                 "1.315, 1.368, 1.548, 1.881, 2.379, 3.053, 3.938, 5.063, 6.444, 8.097",\
                 "1.623, 1.68, 1.871, 2.212, 2.721, 3.411, 4.29, 5.4, 6.765, 8.406",\
                 "1.982, 2.045, 2.254, 2.615, 3.135, 3.839, 4.736, 5.837, 7.185, 8.808",\
                 "2.39, 2.46, 2.69, 3.079, 3.623, 4.34, 5.254, 6.375, 7.714, 9.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3089, 0.3323, 0.4149, 0.5737, 0.8216, 1.169, 1.627, 2.204, 2.909, 3.748",\
                 "0.3075, 0.3313, 0.4146, 0.5736, 0.8212, 1.17, 1.627, 2.204, 2.91, 3.747",\
                 "0.3176, 0.3375, 0.4134, 0.572, 0.8214, 1.17, 1.628, 2.206, 2.908, 3.747",\
                 "0.4266, 0.4452, 0.5082, 0.6271, 0.8359, 1.169, 1.628, 2.205, 2.908, 3.748",\
                 "0.5736, 0.5926, 0.6632, 0.796, 0.9892, 1.256, 1.653, 2.207, 2.909, 3.748",\
                 "0.7492, 0.772, 0.8522, 0.999, 1.213, 1.495, 1.842, 2.306, 2.935, 3.751",\
                 "0.95, 0.978, 1.072, 1.235, 1.469, 1.777, 2.155, 2.599, 3.144, 3.852",\
                 "1.179, 1.21, 1.319, 1.504, 1.766, 2.095, 2.503, 2.985, 3.54, 4.174",\
                 "1.437, 1.471, 1.596, 1.802, 2.093, 2.456, 2.888, 3.404, 3.998, 4.665",\
                 "1.712, 1.755, 1.894, 2.132, 2.455, 2.853, 3.321, 3.863, 4.495, 5.2");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7877, 0.8733, 1.168, 1.725, 2.589, 3.8, 5.389, 7.39, 9.836, 12.75",\
                 "0.7886, 0.8728, 1.168, 1.725, 2.59, 3.8, 5.39, 7.392, 9.832, 12.75",\
                 "0.7898, 0.874, 1.168, 1.726, 2.59, 3.8, 5.39, 7.391, 9.831, 12.75",\
                 "0.7973, 0.8792, 1.169, 1.726, 2.59, 3.8, 5.39, 7.393, 9.835, 12.74",\
                 "0.8618, 0.9384, 1.205, 1.734, 2.591, 3.801, 5.391, 7.393, 9.834, 12.74",\
                 "0.9448, 1.024, 1.301, 1.807, 2.617, 3.803, 5.391, 7.392, 9.833, 12.75",\
                 "1.054, 1.129, 1.403, 1.926, 2.715, 3.846, 5.395, 7.394, 9.834, 12.74",\
                 "1.211, 1.285, 1.543, 2.057, 2.86, 3.967, 5.456, 7.401, 9.837, 12.75",\
                 "1.408, 1.482, 1.734, 2.224, 3.018, 4.142, 5.598, 7.478, 9.851, 12.75",\
                 "1.629, 1.708, 1.97, 2.448, 3.213, 4.335, 5.804, 7.641, 9.946, 12.77");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.195, 0.2105, 0.2636, 0.3615, 0.5107, 0.7172, 0.9872, 1.326, 1.74, 2.232",\
                 "0.2066, 0.2221, 0.2753, 0.3731, 0.5223, 0.729, 0.9991, 1.338, 1.751, 2.244",\
                 "0.2349, 0.2503, 0.3032, 0.4011, 0.5505, 0.7571, 1.027, 1.366, 1.78, 2.272",\
                 "0.2683, 0.2865, 0.3465, 0.452, 0.6036, 0.8098, 1.08, 1.419, 1.832, 2.324",\
                 "0.2843, 0.3066, 0.3788, 0.501, 0.6714, 0.8917, 1.164, 1.502, 1.915, 2.406",\
                 "0.2694, 0.2966, 0.3846, 0.5306, 0.7273, 0.9723, 1.269, 1.621, 2.034, 2.525",\
                 "0.217, 0.2499, 0.3547, 0.5289, 0.7588, 1.037, 1.364, 1.745, 2.184, 2.683",\
                 "0.1263, 0.1638, 0.2853, 0.4874, 0.7547, 1.074, 1.441, 1.856, 2.327, 2.859",\
                 "-0.0065, 0.0371, 0.1747, 0.4051, 0.7095, 1.074, 1.486, 1.946, 2.455, 3.022",\
                 "-0.1835, -0.1344, 0.0205, 0.278, 0.6192, 1.03, 1.493, 2.003, 2.56, 3.168");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3924, 0.4248, 0.5381, 0.7519, 1.085, 1.55, 2.163, 2.934, 3.875, 4.997",\
                 "0.4036, 0.4364, 0.5505, 0.7647, 1.098, 1.564, 2.177, 2.948, 3.889, 5.011",\
                 "0.4503, 0.483, 0.5979, 0.8137, 1.148, 1.614, 2.228, 2.999, 3.941, 5.064",\
                 "0.5406, 0.5743, 0.6893, 0.9039, 1.237, 1.703, 2.316, 3.088, 4.029, 5.152",\
                 "0.6723, 0.7098, 0.8352, 1.059, 1.388, 1.851, 2.46, 3.229, 4.17, 5.291",\
                 "0.8594, 0.8995, 1.033, 1.273, 1.62, 2.078, 2.68, 3.443, 4.377, 5.495",\
                 "1.1, 1.145, 1.29, 1.543, 1.909, 2.392, 2.992, 3.745, 4.671, 5.78",\
                 "1.388, 1.438, 1.601, 1.874, 2.259, 2.765, 3.393, 4.147, 5.061, 6.159",\
                 "1.722, 1.779, 1.96, 2.261, 2.671, 3.198, 3.854, 4.64, 5.558, 6.644",\
                 "2.103, 2.166, 2.368, 2.7, 3.144, 3.698, 4.379, 5.196, 6.149, 7.242");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2305, 0.2559, 0.343, 0.5047, 0.7557, 1.105, 1.565, 2.142, 2.845, 3.685",\
                 "0.2302, 0.2563, 0.343, 0.5054, 0.755, 1.105, 1.564, 2.141, 2.846, 3.685",\
                 "0.2349, 0.2583, 0.3428, 0.5046, 0.7555, 1.105, 1.563, 2.142, 2.846, 3.685",\
                 "0.2912, 0.3143, 0.3929, 0.5364, 0.7658, 1.105, 1.564, 2.141, 2.845, 3.685",\
                 "0.3834, 0.4066, 0.4874, 0.6326, 0.8548, 1.161, 1.584, 2.143, 2.844, 3.687",\
                 "0.505, 0.5318, 0.6206, 0.77, 0.9924, 1.299, 1.7, 2.213, 2.871, 3.688",\
                 "0.647, 0.6786, 0.7792, 0.947, 1.178, 1.484, 1.886, 2.389, 3.004, 3.765",\
                 "0.807, 0.844, 0.961, 1.15, 1.402, 1.719, 2.119, 2.62, 3.236, 3.964",\
                 "0.9854, 1.026, 1.161, 1.377, 1.656, 1.999, 2.411, 2.91, 3.523, 4.254",\
                 "1.179, 1.229, 1.381, 1.623, 1.937, 2.313, 2.75, 3.258, 3.868, 4.593");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5052, 0.561, 0.7568, 1.13, 1.711, 2.521, 3.587, 4.931, 6.569, 8.517",\
                 "0.5052, 0.5611, 0.7573, 1.131, 1.71, 2.522, 3.588, 4.931, 6.568, 8.519",\
                 "0.5059, 0.5621, 0.757, 1.131, 1.71, 2.522, 3.588, 4.93, 6.569, 8.519",\
                 "0.5405, 0.5892, 0.7678, 1.132, 1.711, 2.521, 3.587, 4.93, 6.568, 8.52",\
                 "0.6364, 0.6862, 0.8572, 1.179, 1.719, 2.522, 3.588, 4.93, 6.569, 8.52",\
                 "0.7482, 0.7974, 0.975, 1.308, 1.808, 2.55, 3.59, 4.931, 6.568, 8.52",\
                 "0.891, 0.939, 1.113, 1.451, 1.973, 2.677, 3.645, 4.938, 6.569, 8.521",\
                 "1.061, 1.111, 1.286, 1.62, 2.15, 2.881, 3.809, 5.024, 6.587, 8.52",\
                 "1.251, 1.306, 1.493, 1.828, 2.354, 3.1, 4.055, 5.226, 6.709, 8.559",\
                 "1.46, 1.521, 1.72, 2.074, 2.598, 3.341, 4.318, 5.515, 6.951, 8.716");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1952, 0.2106, 0.2638, 0.3617, 0.5108, 0.7174, 0.9874, 1.327, 1.74, 2.232",\
                 "0.2069, 0.2226, 0.2756, 0.3739, 0.523, 0.7296, 0.9997, 1.339, 1.752, 2.244",\
                 "0.2362, 0.2517, 0.3046, 0.4025, 0.5518, 0.7585, 1.029, 1.368, 1.781, 2.273",\
                 "0.2697, 0.2878, 0.3478, 0.4533, 0.605, 0.8114, 1.081, 1.42, 1.833, 2.325",\
                 "0.2833, 0.3057, 0.3779, 0.5006, 0.6719, 0.8923, 1.165, 1.503, 1.916, 2.408",\
                 "0.2616, 0.2893, 0.3786, 0.5261, 0.7244, 0.9708, 1.269, 1.621, 2.035, 2.525",\
                 "0.1986, 0.2319, 0.3387, 0.5155, 0.7492, 1.03, 1.36, 1.742, 2.182, 2.682",\
                 "0.0912, 0.1297, 0.2539, 0.4616, 0.7335, 1.058, 1.429, 1.847, 2.321, 2.854",\
                 "-0.0647, -0.0202, 0.1226, 0.3586, 0.672, 1.043, 1.463, 1.928, 2.441, 3.012",\
                 "-0.2707, -0.221, -0.0601, 0.207, 0.5601, 0.9798, 1.453, 1.971, 2.534, 3.148");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4786, 0.5194, 0.6608, 0.9278, 1.344, 1.926, 2.691, 3.655, 4.831, 6.234",\
                 "0.4871, 0.5287, 0.6706, 0.9389, 1.355, 1.938, 2.703, 3.668, 4.844, 6.246",\
                 "0.5298, 0.5701, 0.7136, 0.9832, 1.401, 1.985, 2.751, 3.716, 4.892, 6.296",\
                 "0.6161, 0.6573, 0.7993, 1.067, 1.484, 2.067, 2.834, 3.799, 4.976, 6.379",\
                 "0.7561, 0.8002, 0.9498, 1.218, 1.629, 2.208, 2.97, 3.933, 5.108, 6.509",\
                 "0.959, 1.005, 1.163, 1.446, 1.861, 2.43, 3.184, 4.138, 5.308, 6.706",\
                 "1.226, 1.277, 1.442, 1.738, 2.173, 2.749, 3.491, 4.433, 5.594, 6.982",\
                 "1.552, 1.607, 1.788, 2.099, 2.551, 3.151, 3.901, 4.831, 5.976, 7.354",\
                 "1.93, 1.993, 2.192, 2.528, 2.999, 3.621, 4.402, 5.341, 6.47, 7.831",\
                 "2.364, 2.433, 2.653, 3.02, 3.52, 4.163, 4.969, 5.941, 7.08, 8.425");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2305, 0.2558, 0.3429, 0.5053, 0.7552, 1.105, 1.564, 2.142, 2.845, 3.685",\
                 "0.2305, 0.2558, 0.3425, 0.5048, 0.7555, 1.104, 1.563, 2.142, 2.845, 3.686",\
                 "0.2346, 0.2582, 0.3422, 0.5043, 0.7551, 1.105, 1.563, 2.14, 2.844, 3.685",\
                 "0.2906, 0.3135, 0.3921, 0.536, 0.7664, 1.106, 1.564, 2.142, 2.845, 3.686",\
                 "0.3822, 0.4063, 0.4858, 0.632, 0.8542, 1.16, 1.584, 2.142, 2.845, 3.684",\
                 "0.503, 0.5316, 0.6194, 0.772, 0.9918, 1.3, 1.7, 2.213, 2.872, 3.689",\
                 "0.6454, 0.6774, 0.7788, 0.9482, 1.182, 1.486, 1.886, 2.391, 3.004, 3.765",\
                 "0.8048, 0.8418, 0.9606, 1.151, 1.407, 1.726, 2.126, 2.625, 3.239, 3.966",\
                 "0.9864, 1.031, 1.162, 1.38, 1.662, 2.007, 2.42, 2.92, 3.529, 4.259",\
                 "1.181, 1.231, 1.388, 1.632, 1.948, 2.321, 2.763, 3.271, 3.881, 4.606");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6571, 0.7261, 0.9722, 1.439, 2.162, 3.174, 4.504, 6.178, 8.222, 10.65",\
                 "0.657, 0.7265, 0.9718, 1.439, 2.162, 3.174, 4.504, 6.177, 8.22, 10.65",\
                 "0.6572, 0.7272, 0.9725, 1.439, 2.162, 3.174, 4.503, 6.177, 8.221, 10.66",\
                 "0.6771, 0.7411, 0.9768, 1.439, 2.162, 3.173, 4.504, 6.178, 8.222, 10.66",\
                 "0.7672, 0.8286, 1.041, 1.463, 2.164, 3.174, 4.503, 6.178, 8.222, 10.66",\
                 "0.8698, 0.9326, 1.156, 1.569, 2.215, 3.181, 4.504, 6.178, 8.22, 10.65",\
                 "0.9982, 1.06, 1.282, 1.709, 2.354, 3.26, 4.52, 6.178, 8.222, 10.66",\
                 "1.162, 1.223, 1.439, 1.861, 2.527, 3.428, 4.625, 6.208, 8.223, 10.66",\
                 "1.354, 1.417, 1.632, 2.047, 2.714, 3.643, 4.825, 6.336, 8.267, 10.66",\
                 "1.566, 1.633, 1.86, 2.276, 2.928, 3.867, 5.083, 6.571, 8.422, 10.72");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2016, 0.2173, 0.2708, 0.3697, 0.5199, 0.7269, 0.997, 1.336, 1.749, 2.241",\
                 "0.2136, 0.2293, 0.2829, 0.3819, 0.5321, 0.7392, 1.009, 1.348, 1.761, 2.253",\
                 "0.2426, 0.2582, 0.3115, 0.4106, 0.5609, 0.7681, 1.038, 1.377, 1.791, 2.282",\
                 "0.2783, 0.2964, 0.3564, 0.4619, 0.6142, 0.821, 1.091, 1.43, 1.843, 2.335",\
                 "0.296, 0.3181, 0.3897, 0.5115, 0.6824, 0.9024, 1.175, 1.513, 1.926, 2.417",\
                 "0.2809, 0.3076, 0.3947, 0.5404, 0.7367, 0.9821, 1.279, 1.631, 2.045, 2.535",\
                 "0.2246, 0.2565, 0.3602, 0.5335, 0.7642, 1.043, 1.371, 1.753, 2.192, 2.692",\
                 "0.1235, 0.1602, 0.2809, 0.4831, 0.7518, 1.074, 1.442, 1.859, 2.332, 2.864",\
                 "-0.0254, 0.017, 0.1543, 0.3853, 0.6937, 1.061, 1.478, 1.941, 2.453, 3.023",\
                 "-0.2253, -0.1772, -0.0226, 0.2373, 0.5843, 1, 1.469, 1.986, 2.548, 3.16");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5544, 0.5944, 0.7352, 1.003, 1.419, 2.001, 2.766, 3.73, 4.906, 6.309",\
                 "0.5632, 0.6036, 0.7458, 1.014, 1.43, 2.013, 2.779, 3.742, 4.919, 6.322",\
                 "0.6062, 0.6464, 0.7889, 1.059, 1.476, 2.06, 2.826, 3.791, 4.967, 6.37",\
                 "0.6924, 0.7329, 0.8741, 1.142, 1.56, 2.142, 2.909, 3.874, 5.051, 6.453",\
                 "0.8378, 0.8806, 1.026, 1.292, 1.703, 2.282, 3.046, 4.008, 5.183, 6.584",\
                 "1.044, 1.089, 1.243, 1.523, 1.934, 2.503, 3.258, 4.213, 5.383, 6.779",\
                 "1.318, 1.366, 1.526, 1.818, 2.248, 2.821, 3.563, 4.507, 5.667, 7.056",\
                 "1.653, 1.705, 1.877, 2.182, 2.629, 3.226, 3.974, 4.904, 6.05, 7.427",\
                 "2.043, 2.1, 2.29, 2.615, 3.08, 3.698, 4.475, 5.411, 6.541, 7.903",\
                 "2.487, 2.551, 2.76, 3.114, 3.604, 4.243, 5.045, 6.015, 7.151, 8.497");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2761, 0.3005, 0.3851, 0.5462, 0.7956, 1.145, 1.603, 2.182, 2.886, 3.724",\
                 "0.2757, 0.3004, 0.3852, 0.5461, 0.7964, 1.146, 1.604, 2.181, 2.885, 3.724",\
                 "0.2804, 0.3034, 0.3855, 0.5459, 0.7959, 1.146, 1.603, 2.181, 2.886, 3.726",\
                 "0.3403, 0.362, 0.4369, 0.5779, 0.8076, 1.146, 1.603, 2.181, 2.886, 3.724",\
                 "0.4406, 0.4622, 0.5374, 0.6778, 0.8966, 1.201, 1.625, 2.183, 2.886, 3.725",\
                 "0.575, 0.6002, 0.679, 0.8236, 1.039, 1.344, 1.741, 2.253, 2.913, 3.728",\
                 "0.7328, 0.7608, 0.851, 1.01, 1.234, 1.533, 1.93, 2.432, 3.044, 3.806",\
                 "0.9098, 0.942, 1.048, 1.223, 1.467, 1.779, 2.173, 2.67, 3.282, 4.007",\
                 "1.109, 1.147, 1.264, 1.465, 1.733, 2.066, 2.471, 2.967, 3.572, 4.302",\
                 "1.326, 1.367, 1.506, 1.729, 2.028, 2.388, 2.817, 3.324, 3.927, 4.651");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7527, 0.8228, 1.07, 1.537, 2.261, 3.273, 4.604, 6.278, 8.322, 10.75",\
                 "0.7532, 0.8231, 1.07, 1.537, 2.261, 3.274, 4.603, 6.278, 8.322, 10.75",\
                 "0.7525, 0.8231, 1.07, 1.537, 2.261, 3.274, 4.603, 6.277, 8.323, 10.76",\
                 "0.7629, 0.8299, 1.072, 1.537, 2.261, 3.273, 4.604, 6.278, 8.322, 10.76",\
                 "0.845, 0.9058, 1.122, 1.553, 2.261, 3.274, 4.603, 6.278, 8.322, 10.76",\
                 "0.9488, 1.014, 1.239, 1.649, 2.305, 3.278, 4.604, 6.278, 8.321, 10.76",\
                 "1.073, 1.137, 1.362, 1.793, 2.435, 3.349, 4.617, 6.278, 8.322, 10.76",\
                 "1.232, 1.295, 1.516, 1.945, 2.612, 3.513, 4.714, 6.304, 8.323, 10.76",\
                 "1.422, 1.485, 1.707, 2.127, 2.799, 3.728, 4.911, 6.43, 8.363, 10.76",\
                 "1.636, 1.702, 1.932, 2.351, 3.013, 3.955, 5.167, 6.654, 8.512, 10.82");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1661, 0.1823, 0.2371, 0.3369, 0.4874, 0.695, 0.9657, 1.305, 1.719, 2.211",\
                 "0.1774, 0.1937, 0.2484, 0.3483, 0.4987, 0.7063, 0.977, 1.317, 1.73, 2.222",\
                 "0.2058, 0.2222, 0.2764, 0.3757, 0.5263, 0.7339, 1.005, 1.344, 1.758, 2.25",\
                 "0.2336, 0.2532, 0.3162, 0.4248, 0.5788, 0.786, 1.057, 1.396, 1.809, 2.302",\
                 "0.2391, 0.2634, 0.3409, 0.4688, 0.6433, 0.8661, 1.14, 1.479, 1.892, 2.383",\
                 "0.2095, 0.2394, 0.3355, 0.4901, 0.6932, 0.9428, 1.243, 1.596, 2.01, 2.501",\
                 "0.141, 0.1763, 0.2909, 0.4758, 0.716, 1.002, 1.333, 1.717, 2.158, 2.659",\
                 "0.0312, 0.0726, 0.2052, 0.4205, 0.6998, 1.029, 1.403, 1.823, 2.297, 2.831",\
                 "-0.1222, -0.0745, 0.0753, 0.32, 0.6398, 1.016, 1.439, 1.905, 2.419, 2.989",\
                 "-0.3204, -0.2683, -0.1009, 0.1741, 0.5329, 0.9568, 1.432, 1.952, 2.516, 3.129");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4683, 0.5084, 0.648, 0.913, 1.324, 1.901, 2.659, 3.614, 4.78, 6.17",\
                 "0.4781, 0.5187, 0.659, 0.9251, 1.337, 1.914, 2.672, 3.628, 4.793, 6.186",\
                 "0.5213, 0.562, 0.7027, 0.9703, 1.383, 1.961, 2.721, 3.677, 4.842, 6.232",\
                 "0.5993, 0.64, 0.7803, 1.046, 1.458, 2.035, 2.795, 3.75, 4.918, 6.307",\
                 "0.7166, 0.76, 0.9073, 1.174, 1.581, 2.153, 2.908, 3.862, 5.026, 6.419",\
                 "0.8936, 0.938, 1.089, 1.366, 1.778, 2.34, 3.087, 4.033, 5.192, 6.575",\
                 "1.131, 1.18, 1.338, 1.62, 2.043, 2.615, 3.349, 4.282, 5.43, 6.806",\
                 "1.421, 1.475, 1.648, 1.944, 2.376, 2.96, 3.705, 4.624, 5.757, 7.119",\
                 "1.758, 1.817, 2.009, 2.33, 2.778, 3.373, 4.135, 5.066, 6.184, 7.529",\
                 "2.144, 2.21, 2.421, 2.773, 3.249, 3.859, 4.633, 5.585, 6.715, 8.045");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2114, 0.2367, 0.3243, 0.486, 0.7362, 1.085, 1.542, 2.121, 2.823, 3.665",\
                 "0.2105, 0.2361, 0.323, 0.4851, 0.7354, 1.085, 1.542, 2.12, 2.826, 3.663",\
                 "0.2191, 0.2421, 0.3239, 0.4847, 0.7356, 1.085, 1.542, 2.119, 2.825, 3.664",\
                 "0.2818, 0.304, 0.3802, 0.5222, 0.7491, 1.085, 1.542, 2.119, 2.825, 3.663",\
                 "0.3817, 0.4047, 0.4814, 0.623, 0.8412, 1.145, 1.567, 2.122, 2.824, 3.663",\
                 "0.5098, 0.538, 0.6234, 0.7682, 0.9838, 1.288, 1.686, 2.195, 2.851, 3.668",\
                 "0.6612, 0.6924, 0.7892, 0.953, 1.179, 1.479, 1.873, 2.375, 2.987, 3.747",\
                 "0.8348, 0.8706, 0.9828, 1.166, 1.414, 1.722, 2.116, 2.614, 3.225, 3.951",\
                 "1.031, 1.072, 1.2, 1.406, 1.678, 2.011, 2.418, 2.909, 3.514, 4.243",\
                 "1.243, 1.293, 1.441, 1.674, 1.975, 2.337, 2.765, 3.268, 3.868, 4.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5582, 0.628, 0.873, 1.338, 2.059, 3.071, 4.401, 6.077, 8.119, 10.55",\
                 "0.5584, 0.6281, 0.8729, 1.338, 2.059, 3.072, 4.401, 6.073, 8.12, 10.56",\
                 "0.5595, 0.6286, 0.8722, 1.337, 2.059, 3.071, 4.4, 6.073, 8.12, 10.56",\
                 "0.5816, 0.646, 0.8782, 1.338, 2.06, 3.071, 4.401, 6.075, 8.119, 10.55",\
                 "0.655, 0.7202, 0.9414, 1.366, 2.063, 3.072, 4.401, 6.074, 8.119, 10.56",\
                 "0.7402, 0.8042, 1.034, 1.462, 2.119, 3.082, 4.401, 6.077, 8.119, 10.55",\
                 "0.8638, 0.9262, 1.147, 1.576, 2.241, 3.163, 4.425, 6.077, 8.12, 10.56",\
                 "1.02, 1.084, 1.3, 1.717, 2.384, 3.314, 4.53, 6.117, 8.122, 10.55",\
                 "1.199, 1.267, 1.493, 1.902, 2.552, 3.491, 4.708, 6.245, 8.181, 10.56",\
                 "1.4, 1.472, 1.711, 2.134, 2.769, 3.688, 4.925, 6.454, 8.333, 10.64");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1662, 0.1825, 0.2373, 0.337, 0.4876, 0.6951, 0.9658, 1.305, 1.719, 2.211",\
                 "0.178, 0.1943, 0.2491, 0.3489, 0.4994, 0.7069, 0.9777, 1.317, 1.731, 2.223",\
                 "0.2072, 0.2235, 0.2777, 0.3771, 0.5277, 0.7352, 1.006, 1.346, 1.759, 2.252",\
                 "0.2349, 0.2546, 0.3177, 0.4264, 0.5803, 0.7876, 1.058, 1.398, 1.811, 2.303",\
                 "0.2382, 0.2628, 0.3406, 0.4688, 0.6439, 0.867, 1.141, 1.48, 1.893, 2.385",\
                 "0.2034, 0.2336, 0.3299, 0.4862, 0.6909, 0.9415, 1.242, 1.596, 2.011, 2.502",\
                 "0.1246, 0.1608, 0.2771, 0.4642, 0.7074, 0.9956, 1.329, 1.714, 2.156, 2.657",\
                 "-0.0007, 0.0422, 0.1768, 0.3965, 0.6812, 1.015, 1.392, 1.815, 2.291, 2.827",\
                 "-0.1755, -0.1274, 0.0283, 0.2793, 0.6061, 0.9898, 1.418, 1.889, 2.407, 2.98",\
                 "-0.4019, -0.348, -0.1742, 0.1106, 0.4792, 0.9134, 1.395, 1.923, 2.493, 3.112");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5593, 0.6067, 0.7737, 1.092, 1.584, 2.275, 3.184, 4.329, 5.726, 7.39",\
                 "0.5666, 0.6151, 0.7837, 1.101, 1.595, 2.287, 3.196, 4.34, 5.737, 7.402",\
                 "0.6051, 0.6541, 0.8238, 1.143, 1.638, 2.331, 3.24, 4.386, 5.783, 7.449",\
                 "0.6805, 0.7287, 0.8965, 1.215, 1.709, 2.402, 3.312, 4.457, 5.855, 7.52",\
                 "0.803, 0.8538, 1.026, 1.341, 1.829, 2.516, 3.422, 4.564, 5.961, 7.625",\
                 "0.9918, 1.043, 1.218, 1.543, 2.027, 2.703, 3.597, 4.732, 6.122, 7.783",\
                 "1.254, 1.308, 1.487, 1.816, 2.311, 2.981, 3.862, 4.982, 6.36, 8.01",\
                 "1.578, 1.637, 1.829, 2.165, 2.667, 3.351, 4.224, 5.327, 6.688, 8.323",\
                 "1.959, 2.023, 2.233, 2.589, 3.1, 3.796, 4.684, 5.779, 7.119, 8.735",\
                 "2.395, 2.466, 2.695, 3.08, 3.614, 4.319, 5.224, 6.334, 7.664, 9.259");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2115, 0.2367, 0.3241, 0.4866, 0.7361, 1.085, 1.543, 2.12, 2.825, 3.663",\
                 "0.211, 0.2361, 0.3239, 0.4859, 0.7354, 1.085, 1.543, 2.121, 2.824, 3.663",\
                 "0.2191, 0.2419, 0.3242, 0.485, 0.736, 1.085, 1.544, 2.12, 2.824, 3.664",\
                 "0.2804, 0.3026, 0.3794, 0.5218, 0.7489, 1.086, 1.542, 2.119, 2.824, 3.664",\
                 "0.38, 0.4031, 0.4802, 0.6228, 0.8402, 1.145, 1.566, 2.124, 2.823, 3.665",\
                 "0.5066, 0.5324, 0.62, 0.7672, 0.9844, 1.288, 1.686, 2.195, 2.853, 3.669",\
                 "0.6548, 0.6856, 0.7862, 0.9506, 1.177, 1.481, 1.877, 2.377, 2.989, 3.747",\
                 "0.8268, 0.863, 0.977, 1.163, 1.412, 1.726, 2.12, 2.616, 3.227, 3.953",\
                 "1.019, 1.061, 1.191, 1.401, 1.676, 2.015, 2.423, 2.917, 3.523, 4.246",\
                 "1.23, 1.278, 1.431, 1.664, 1.974, 2.342, 2.772, 3.276, 3.88, 4.601");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6893, 0.7727, 1.065, 1.623, 2.487, 3.696, 5.286, 7.29, 9.731, 12.64",\
                 "0.6888, 0.7718, 1.065, 1.622, 2.486, 3.696, 5.285, 7.286, 9.727, 12.64",\
                 "0.6893, 0.7728, 1.066, 1.622, 2.486, 3.696, 5.286, 7.287, 9.727, 12.64",\
                 "0.7036, 0.7824, 1.069, 1.622, 2.486, 3.696, 5.286, 7.287, 9.728, 12.64",\
                 "0.7754, 0.8528, 1.117, 1.638, 2.488, 3.696, 5.286, 7.288, 9.73, 12.64",\
                 "0.851, 0.9308, 1.208, 1.718, 2.52, 3.699, 5.286, 7.288, 9.731, 12.64",\
                 "0.959, 1.035, 1.306, 1.829, 2.621, 3.748, 5.292, 7.288, 9.73, 12.64",\
                 "1.107, 1.181, 1.439, 1.952, 2.761, 3.87, 5.357, 7.298, 9.732, 12.64",\
                 "1.284, 1.361, 1.617, 2.109, 2.909, 4.039, 5.498, 7.378, 9.749, 12.64",\
                 "1.486, 1.565, 1.831, 2.319, 3.091, 4.218, 5.697, 7.54, 9.842, 12.67");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1724, 0.1888, 0.2441, 0.3449, 0.4965, 0.7046, 0.9754, 1.315, 1.728, 2.221",\
                 "0.1842, 0.2006, 0.2559, 0.3566, 0.5083, 0.7165, 0.9873, 1.327, 1.74, 2.232",\
                 "0.2135, 0.2299, 0.2844, 0.3849, 0.5366, 0.7448, 1.016, 1.355, 1.769, 2.261",\
                 "0.2439, 0.2633, 0.3262, 0.435, 0.5894, 0.7972, 1.068, 1.407, 1.821, 2.313",\
                 "0.252, 0.276, 0.3527, 0.4798, 0.6545, 0.8772, 1.151, 1.49, 1.903, 2.395",\
                 "0.2245, 0.2537, 0.3472, 0.501, 0.7037, 0.953, 1.253, 1.606, 2.021, 2.512",\
                 "0.1534, 0.1882, 0.3002, 0.4834, 0.7229, 1.009, 1.341, 1.725, 2.167, 2.667",\
                 "0.0365, 0.0767, 0.2056, 0.42, 0.7002, 1.03, 1.405, 1.827, 2.302, 2.837",\
                 "-0.131, -0.085, 0.063, 0.307, 0.6283, 1.007, 1.433, 1.903, 2.419, 2.991",\
                 "-0.3494, -0.2991, -0.1329, 0.1426, 0.5044, 0.934, 1.413, 1.939, 2.506, 3.123");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6482, 0.6961, 0.8631, 1.18, 1.673, 2.364, 3.273, 4.418, 5.814, 7.48",\
                 "0.6565, 0.7047, 0.873, 1.191, 1.684, 2.375, 3.285, 4.429, 5.825, 7.491",\
                 "0.696, 0.7446, 0.9133, 1.233, 1.728, 2.42, 3.33, 4.475, 5.872, 7.537",\
                 "0.7703, 0.8181, 0.9864, 1.305, 1.799, 2.491, 3.4, 4.547, 5.944, 7.609",\
                 "0.8966, 0.9463, 1.115, 1.429, 1.917, 2.605, 3.511, 4.653, 6.049, 7.713",\
                 "1.086, 1.137, 1.31, 1.632, 2.113, 2.79, 3.686, 4.821, 6.21, 7.87",\
                 "1.352, 1.403, 1.579, 1.906, 2.399, 3.066, 3.948, 5.07, 6.446, 8.096",\
                 "1.685, 1.739, 1.924, 2.255, 2.756, 3.437, 4.31, 5.414, 6.775, 8.412",\
                 "2.075, 2.136, 2.335, 2.682, 3.19, 3.883, 4.769, 5.863, 7.205, 8.821",\
                 "2.523, 2.59, 2.808, 3.18, 3.705, 4.408, 5.31, 6.418, 7.749, 9.345");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2583, 0.2827, 0.3673, 0.5276, 0.7773, 1.124, 1.584, 2.161, 2.864, 3.704",\
                 "0.2577, 0.2823, 0.367, 0.5273, 0.7764, 1.126, 1.584, 2.16, 2.864, 3.704",\
                 "0.2656, 0.2878, 0.3679, 0.5267, 0.7766, 1.126, 1.584, 2.16, 2.865, 3.703",\
                 "0.3329, 0.353, 0.4256, 0.5638, 0.7898, 1.127, 1.584, 2.16, 2.863, 3.704",\
                 "0.4419, 0.462, 0.533, 0.6698, 0.884, 1.186, 1.607, 2.164, 2.864, 3.704",\
                 "0.5836, 0.6056, 0.683, 0.822, 1.032, 1.331, 1.726, 2.236, 2.893, 3.709",\
                 "0.7496, 0.776, 0.8642, 1.014, 1.233, 1.527, 1.921, 2.418, 3.03, 3.788",\
                 "0.9402, 0.9714, 1.067, 1.239, 1.475, 1.779, 2.168, 2.663, 3.269, 3.992",\
                 "1.157, 1.188, 1.299, 1.491, 1.749, 2.076, 2.475, 2.964, 3.569, 4.29",\
                 "1.387, 1.428, 1.557, 1.766, 2.056, 2.411, 2.831, 3.328, 3.927, 4.645");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.8031, 0.8885, 1.182, 1.74, 2.605, 3.815, 5.405, 7.406, 9.853, 12.77",\
                 "0.8031, 0.8872, 1.182, 1.74, 2.605, 3.815, 5.405, 7.407, 9.846, 12.76",\
                 "0.8044, 0.8874, 1.182, 1.741, 2.606, 3.816, 5.405, 7.407, 9.848, 12.76",\
                 "0.8109, 0.8934, 1.184, 1.74, 2.605, 3.816, 5.405, 7.407, 9.849, 12.76",\
                 "0.8746, 0.951, 1.22, 1.749, 2.606, 3.816, 5.405, 7.407, 9.85, 12.76",\
                 "0.9536, 1.034, 1.313, 1.82, 2.631, 3.818, 5.407, 7.407, 9.851, 12.76",\
                 "1.052, 1.13, 1.409, 1.934, 2.726, 3.86, 5.41, 7.408, 9.849, 12.76",\
                 "1.192, 1.267, 1.534, 2.054, 2.866, 3.976, 5.469, 7.417, 9.853, 12.76",\
                 "1.369, 1.446, 1.705, 2.207, 3.016, 4.144, 5.605, 7.491, 9.867, 12.76",\
                 "1.571, 1.651, 1.917, 2.407, 3.192, 4.322, 5.802, 7.646, 9.956, 12.78");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1722, 0.1886, 0.2439, 0.3448, 0.4967, 0.7051, 0.976, 1.316, 1.729, 2.221",\
                 "0.1836, 0.1998, 0.2553, 0.3561, 0.508, 0.7165, 0.9875, 1.327, 1.74, 2.233",\
                 "0.2123, 0.2285, 0.2831, 0.3836, 0.5355, 0.7441, 1.015, 1.355, 1.768, 2.26",\
                 "0.2428, 0.2619, 0.3248, 0.4336, 0.5882, 0.7963, 1.067, 1.406, 1.82, 2.312",\
                 "0.2531, 0.277, 0.3532, 0.4801, 0.6545, 0.877, 1.151, 1.49, 1.902, 2.394",\
                 "0.2313, 0.2604, 0.3531, 0.5054, 0.7069, 0.9551, 1.254, 1.607, 2.021, 2.512",\
                 "0.1718, 0.2057, 0.3156, 0.4959, 0.7326, 1.016, 1.346, 1.729, 2.169, 2.669",\
                 "0.0715, 0.1103, 0.236, 0.4452, 0.72, 1.046, 1.417, 1.836, 2.309, 2.842",\
                 "-0.0729, -0.0291, 0.1128, 0.3499, 0.6636, 1.036, 1.455, 1.919, 2.432, 3.001",\
                 "-0.2635, -0.2151, -0.0559, 0.2092, 0.5604, 0.9794, 1.451, 1.968, 2.53, 3.142");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5475, 0.5877, 0.7269, 0.992, 1.403, 1.98, 2.738, 3.693, 4.858, 6.248",\
                 "0.5582, 0.5983, 0.7388, 1.005, 1.416, 1.993, 2.752, 3.707, 4.872, 6.264",\
                 "0.6017, 0.642, 0.7832, 1.05, 1.463, 2.041, 2.8, 3.756, 4.921, 6.31",\
                 "0.6797, 0.7196, 0.8597, 1.125, 1.537, 2.115, 2.874, 3.83, 4.995, 6.388",\
                 "0.802, 0.8439, 0.9887, 1.252, 1.659, 2.232, 2.989, 3.941, 5.105, 6.494",\
                 "0.9807, 1.024, 1.172, 1.447, 1.855, 2.418, 3.165, 4.111, 5.27, 6.653",\
                 "1.224, 1.27, 1.423, 1.703, 2.124, 2.692, 3.426, 4.36, 5.508, 6.883",\
                 "1.524, 1.574, 1.738, 2.028, 2.456, 3.039, 3.781, 4.701, 5.834, 7.196",\
                 "1.873, 1.927, 2.108, 2.419, 2.86, 3.454, 4.212, 5.141, 6.259, 7.605",\
                 "2.271, 2.332, 2.529, 2.867, 3.334, 3.94, 4.712, 5.661, 6.79, 8.12");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2621, 0.2864, 0.3708, 0.5309, 0.7795, 1.128, 1.587, 2.163, 2.867, 3.707",\
                 "0.2614, 0.2859, 0.3707, 0.5308, 0.7799, 1.129, 1.587, 2.165, 2.868, 3.706",\
                 "0.2693, 0.2916, 0.3714, 0.53, 0.7799, 1.128, 1.586, 2.164, 2.869, 3.706",\
                 "0.3377, 0.3584, 0.4297, 0.5679, 0.794, 1.13, 1.588, 2.164, 2.867, 3.706",\
                 "0.4493, 0.469, 0.5382, 0.6736, 0.8872, 1.189, 1.611, 2.167, 2.869, 3.707",\
                 "0.5936, 0.617, 0.6914, 0.8272, 1.036, 1.334, 1.73, 2.24, 2.896, 3.712",\
                 "0.7634, 0.7886, 0.8746, 1.02, 1.237, 1.53, 1.924, 2.42, 3.033, 3.792",\
                 "0.9578, 0.9896, 1.082, 1.248, 1.48, 1.779, 2.169, 2.663, 3.27, 3.995",\
                 "1.178, 1.208, 1.315, 1.501, 1.755, 2.076, 2.474, 2.962, 3.565, 4.29",\
                 "1.414, 1.453, 1.575, 1.782, 2.063, 2.41, 2.828, 3.322, 3.92, 4.639");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6596, 0.731, 0.9767, 1.442, 2.165, 3.177, 4.506, 6.181, 8.225, 10.66",\
                 "0.6607, 0.7302, 0.9771, 1.442, 2.165, 3.177, 4.506, 6.179, 8.225, 10.66",\
                 "0.6607, 0.7309, 0.9761, 1.442, 2.165, 3.177, 4.505, 6.178, 8.226, 10.66",\
                 "0.6727, 0.7396, 0.9786, 1.443, 2.164, 3.177, 4.507, 6.183, 8.225, 10.66",\
                 "0.7448, 0.809, 1.03, 1.461, 2.166, 3.177, 4.509, 6.18, 8.224, 10.66",\
                 "0.8264, 0.893, 1.125, 1.551, 2.213, 3.184, 4.506, 6.181, 8.224, 10.66",\
                 "0.9422, 1.005, 1.233, 1.667, 2.333, 3.258, 4.526, 6.181, 8.225, 10.66",\
                 "1.096, 1.16, 1.38, 1.804, 2.477, 3.406, 4.625, 6.218, 8.227, 10.66",\
                 "1.277, 1.346, 1.571, 1.983, 2.641, 3.584, 4.801, 6.341, 8.281, 10.67",\
                 "1.479, 1.551, 1.789, 2.211, 2.852, 3.78, 5.015, 6.547, 8.428, 10.74");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1724, 0.1888, 0.2441, 0.3449, 0.4968, 0.7053, 0.9762, 1.316, 1.729, 2.221",\
                 "0.1842, 0.2005, 0.256, 0.3567, 0.5086, 0.7171, 0.9881, 1.328, 1.741, 2.233",\
                 "0.2135, 0.2299, 0.2844, 0.385, 0.5369, 0.7454, 1.016, 1.356, 1.769, 2.262",\
                 "0.2442, 0.2634, 0.3263, 0.4351, 0.5897, 0.7978, 1.069, 1.408, 1.821, 2.314",\
                 "0.2522, 0.2761, 0.3529, 0.48, 0.655, 0.8779, 1.152, 1.491, 1.904, 2.395",\
                 "0.2251, 0.2542, 0.3478, 0.5016, 0.7045, 0.9538, 1.254, 1.607, 2.022, 2.513",\
                 "0.155, 0.1896, 0.3016, 0.4846, 0.7241, 1.01, 1.342, 1.726, 2.167, 2.668",\
                 "0.0392, 0.0791, 0.2081, 0.4216, 0.7015, 1.032, 1.407, 1.828, 2.303, 2.838",\
                 "-0.1273, -0.0817, 0.0659, 0.3091, 0.6302, 1.009, 1.434, 1.904, 2.42, 2.993",\
                 "-0.3451, -0.2947, -0.1294, 0.1452, 0.5067, 0.9358, 1.415, 1.94, 2.507, 3.125");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6542, 0.7025, 0.8693, 1.186, 1.68, 2.37, 3.279, 4.423, 5.82, 7.485",\
                 "0.6626, 0.7111, 0.8792, 1.197, 1.69, 2.382, 3.29, 4.435, 5.832, 7.496",\
                 "0.7026, 0.7507, 0.9196, 1.239, 1.734, 2.426, 3.336, 4.481, 5.878, 7.543",\
                 "0.7766, 0.8245, 0.9926, 1.311, 1.805, 2.497, 3.406, 4.552, 5.951, 7.614",\
                 "0.9034, 0.9529, 1.121, 1.435, 1.923, 2.611, 3.517, 4.658, 6.055, 7.718",\
                 "1.092, 1.143, 1.317, 1.638, 2.119, 2.796, 3.691, 4.827, 6.216, 7.876",\
                 "1.359, 1.41, 1.586, 1.912, 2.404, 3.073, 3.954, 5.075, 6.453, 8.103",\
                 "1.692, 1.747, 1.93, 2.262, 2.762, 3.443, 4.315, 5.42, 6.781, 8.415",\
                 "2.083, 2.144, 2.342, 2.689, 3.197, 3.889, 4.775, 5.87, 7.211, 8.827",\
                 "2.533, 2.599, 2.816, 3.187, 3.712, 4.414, 5.316, 6.425, 7.754, 9.351");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2621, 0.2864, 0.3708, 0.531, 0.7798, 1.129, 1.587, 2.165, 2.868, 3.707",\
                 "0.2615, 0.286, 0.3707, 0.5309, 0.7799, 1.128, 1.587, 2.164, 2.867, 3.705",\
                 "0.2692, 0.2915, 0.3715, 0.5302, 0.7797, 1.129, 1.588, 2.163, 2.868, 3.709",\
                 "0.3369, 0.3574, 0.4293, 0.5674, 0.7928, 1.13, 1.588, 2.164, 2.867, 3.707",\
                 "0.4469, 0.4669, 0.537, 0.6736, 0.8874, 1.189, 1.609, 2.166, 2.867, 3.707",\
                 "0.5896, 0.6114, 0.6884, 0.8266, 1.036, 1.334, 1.73, 2.24, 2.898, 3.711",\
                 "0.7572, 0.7826, 0.8686, 1.02, 1.237, 1.532, 1.924, 2.422, 3.033, 3.792",\
                 "0.9488, 0.9792, 1.075, 1.244, 1.479, 1.785, 2.172, 2.665, 3.272, 3.997",\
                 "1.167, 1.198, 1.308, 1.495, 1.754, 2.081, 2.48, 2.968, 3.572, 4.294",\
                 "1.398, 1.439, 1.567, 1.775, 2.063, 2.416, 2.836, 3.333, 3.931, 4.647");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.8106, 0.8966, 1.19, 1.747, 2.612, 3.823, 5.412, 7.413, 9.859, 12.77",\
                 "0.8116, 0.895, 1.191, 1.748, 2.613, 3.823, 5.412, 7.416, 9.859, 12.77",\
                 "0.8123, 0.8955, 1.19, 1.749, 2.613, 3.823, 5.413, 7.415, 9.855, 12.77",\
                 "0.8188, 0.9012, 1.191, 1.749, 2.613, 3.824, 5.413, 7.415, 9.857, 12.76",\
                 "0.8808, 0.9576, 1.227, 1.757, 2.614, 3.823, 5.413, 7.414, 9.857, 12.76",\
                 "0.9598, 1.042, 1.319, 1.827, 2.639, 3.825, 5.414, 7.414, 9.855, 12.77",\
                 "1.059, 1.139, 1.415, 1.941, 2.734, 3.867, 5.418, 7.415, 9.858, 12.77",\
                 "1.198, 1.274, 1.541, 2.061, 2.873, 3.983, 5.476, 7.424, 9.858, 12.77",\
                 "1.375, 1.452, 1.711, 2.214, 3.021, 4.151, 5.612, 7.498, 9.873, 12.77",\
                 "1.576, 1.657, 1.923, 2.414, 3.198, 4.332, 5.81, 7.653, 9.962, 12.79");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1797, 0.1963, 0.252, 0.3538, 0.5064, 0.7151, 0.986, 1.326, 1.739, 2.231",\
                 "0.1915, 0.208, 0.264, 0.3656, 0.5182, 0.727, 0.9979, 1.337, 1.751, 2.243",\
                 "0.2211, 0.2373, 0.2923, 0.3938, 0.5465, 0.7553, 1.026, 1.366, 1.779, 2.271",\
                 "0.255, 0.2738, 0.3361, 0.4448, 0.5994, 0.8076, 1.078, 1.418, 1.831, 2.323",\
                 "0.2691, 0.292, 0.3666, 0.4921, 0.666, 0.8881, 1.162, 1.501, 1.914, 2.405",\
                 "0.2493, 0.2769, 0.3668, 0.5169, 0.7173, 0.9653, 1.264, 1.617, 2.032, 2.522",\
                 "0.1848, 0.2176, 0.3251, 0.5035, 0.7393, 1.023, 1.354, 1.737, 2.178, 2.678",\
                 "0.0741, 0.1118, 0.236, 0.4446, 0.7197, 1.047, 1.42, 1.84, 2.314, 2.849",\
                 "-0.0859, -0.0426, 0.0989, 0.336, 0.6517, 1.027, 1.45, 1.917, 2.432, 3.004",\
                 "-0.297, -0.2489, -0.0904, 0.1766, 0.5318, 0.9563, 1.432, 1.955, 2.52, 3.137");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7437, 0.7916, 0.9585, 1.276, 1.769, 2.46, 3.368, 4.512, 5.909, 7.572",\
                 "0.7526, 0.8008, 0.9684, 1.286, 1.78, 2.471, 3.379, 4.523, 5.921, 7.585",\
                 "0.7927, 0.8414, 1.009, 1.328, 1.824, 2.515, 3.425, 4.57, 5.967, 7.631",\
                 "0.8667, 0.9143, 1.082, 1.4, 1.894, 2.587, 3.496, 4.642, 6.039, 7.703",\
                 "0.9952, 1.043, 1.209, 1.523, 2.012, 2.7, 3.606, 4.749, 6.144, 7.807",\
                 "1.186, 1.236, 1.408, 1.725, 2.206, 2.883, 3.78, 4.915, 6.305, 7.964",\
                 "1.453, 1.503, 1.677, 2.002, 2.491, 3.158, 4.04, 5.163, 6.541, 8.189",\
                 "1.792, 1.845, 2.024, 2.352, 2.85, 3.529, 4.4, 5.506, 6.868, 8.504",\
                 "2.193, 2.25, 2.441, 2.781, 3.286, 3.977, 4.862, 5.953, 7.295, 8.913",\
                 "2.653, 2.715, 2.922, 3.283, 3.802, 4.503, 5.403, 6.508, 7.838, 9.434");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3079, 0.3315, 0.4146, 0.5735, 0.8216, 1.17, 1.628, 2.205, 2.909, 3.747",\
                 "0.3073, 0.3311, 0.4144, 0.5733, 0.8211, 1.169, 1.628, 2.205, 2.909, 3.747",\
                 "0.3145, 0.336, 0.4151, 0.5727, 0.8215, 1.17, 1.627, 2.203, 2.909, 3.749",\
                 "0.3867, 0.4057, 0.4744, 0.6096, 0.8348, 1.171, 1.628, 2.205, 2.908, 3.747",\
                 "0.506, 0.5235, 0.5888, 0.7204, 0.9296, 1.23, 1.651, 2.209, 2.909, 3.748",\
                 "0.662, 0.6808, 0.75, 0.8798, 1.083, 1.379, 1.771, 2.281, 2.937, 3.752",\
                 "0.8456, 0.8688, 0.9426, 1.082, 1.29, 1.58, 1.969, 2.464, 3.072, 3.832",\
                 "1.057, 1.08, 1.164, 1.318, 1.541, 1.837, 2.221, 2.709, 3.315, 4.037",\
                 "1.289, 1.318, 1.413, 1.584, 1.825, 2.142, 2.532, 3.016, 3.616, 4.336",\
                 "1.545, 1.578, 1.688, 1.874, 2.144, 2.484, 2.895, 3.385, 3.979, 4.694");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.9258, 1.011, 1.307, 1.866, 2.731, 3.942, 5.532, 7.534, 9.98, 12.89",\
                 "0.9251, 1.01, 1.307, 1.865, 2.731, 3.942, 5.532, 7.533, 9.977, 12.89",\
                 "0.9273, 1.011, 1.307, 1.865, 2.731, 3.942, 5.533, 7.535, 9.976, 12.89",\
                 "0.9296, 1.014, 1.308, 1.866, 2.731, 3.943, 5.532, 7.535, 9.978, 12.89",\
                 "0.9802, 1.058, 1.333, 1.871, 2.732, 3.942, 5.532, 7.536, 9.978, 12.88",\
                 "1.066, 1.145, 1.421, 1.932, 2.751, 3.944, 5.533, 7.535, 9.977, 12.89",\
                 "1.158, 1.237, 1.52, 2.046, 2.838, 3.979, 5.536, 7.535, 9.978, 12.89",\
                 "1.29, 1.367, 1.64, 2.166, 2.978, 4.089, 5.589, 7.542, 9.978, 12.89",\
                 "1.46, 1.538, 1.804, 2.314, 3.126, 4.257, 5.72, 7.611, 9.992, 12.89",\
                 "1.664, 1.744, 2.01, 2.508, 3.303, 4.438, 5.916, 7.763, 10.08, 12.91");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.195, 0.2105, 0.2636, 0.3615, 0.5107, 0.7172, 0.9872, 1.326, 1.74, 2.232",\
                 "0.2066, 0.2221, 0.2753, 0.3731, 0.5223, 0.729, 0.9991, 1.338, 1.751, 2.244",\
                 "0.2349, 0.2503, 0.3032, 0.4011, 0.5505, 0.7571, 1.027, 1.366, 1.78, 2.272",\
                 "0.2683, 0.2865, 0.3465, 0.452, 0.6036, 0.8098, 1.08, 1.419, 1.832, 2.324",\
                 "0.2843, 0.3066, 0.3788, 0.501, 0.6714, 0.8917, 1.164, 1.502, 1.915, 2.406",\
                 "0.2694, 0.2966, 0.3846, 0.5306, 0.7273, 0.9723, 1.269, 1.621, 2.034, 2.525",\
                 "0.217, 0.2499, 0.3547, 0.5289, 0.7588, 1.037, 1.364, 1.745, 2.184, 2.683",\
                 "0.1263, 0.1638, 0.2853, 0.4874, 0.7547, 1.074, 1.441, 1.856, 2.327, 2.859",\
                 "-0.0065, 0.0371, 0.1747, 0.4051, 0.7095, 1.074, 1.486, 1.946, 2.455, 3.022",\
                 "-0.1835, -0.1344, 0.0205, 0.278, 0.6192, 1.03, 1.493, 2.003, 2.56, 3.168");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7437, 0.7916, 0.9585, 1.276, 1.769, 2.46, 3.368, 4.512, 5.909, 7.572",\
                 "0.7526, 0.8008, 0.9684, 1.286, 1.78, 2.471, 3.379, 4.523, 5.921, 7.585",\
                 "0.7927, 0.8414, 1.009, 1.328, 1.824, 2.515, 3.425, 4.57, 5.967, 7.631",\
                 "0.8667, 0.9143, 1.082, 1.4, 1.894, 2.587, 3.496, 4.642, 6.039, 7.703",\
                 "0.9952, 1.043, 1.209, 1.523, 2.012, 2.7, 3.606, 4.749, 6.144, 7.807",\
                 "1.186, 1.236, 1.408, 1.725, 2.206, 2.883, 3.78, 4.915, 6.305, 7.964",\
                 "1.453, 1.503, 1.677, 2.002, 2.491, 3.158, 4.04, 5.163, 6.541, 8.189",\
                 "1.792, 1.845, 2.024, 2.352, 2.85, 3.529, 4.4, 5.506, 6.868, 8.504",\
                 "2.193, 2.25, 2.441, 2.781, 3.286, 3.977, 4.862, 5.953, 7.295, 8.913",\
                 "2.653, 2.715, 2.922, 3.283, 3.802, 4.503, 5.403, 6.508, 7.838, 9.434");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3079, 0.3315, 0.4146, 0.5735, 0.8216, 1.17, 1.628, 2.205, 2.909, 3.747",\
                 "0.3073, 0.3311, 0.4144, 0.5733, 0.8211, 1.169, 1.628, 2.205, 2.909, 3.747",\
                 "0.3145, 0.336, 0.4151, 0.5727, 0.8215, 1.17, 1.627, 2.203, 2.909, 3.749",\
                 "0.3867, 0.4057, 0.4744, 0.6096, 0.8348, 1.171, 1.628, 2.205, 2.908, 3.747",\
                 "0.506, 0.5235, 0.5888, 0.7204, 0.9296, 1.23, 1.651, 2.209, 2.909, 3.748",\
                 "0.662, 0.6808, 0.75, 0.8798, 1.083, 1.379, 1.771, 2.281, 2.937, 3.752",\
                 "0.8456, 0.8688, 0.9426, 1.082, 1.29, 1.58, 1.969, 2.464, 3.072, 3.832",\
                 "1.057, 1.08, 1.164, 1.318, 1.541, 1.837, 2.221, 2.709, 3.315, 4.037",\
                 "1.289, 1.318, 1.413, 1.584, 1.825, 2.142, 2.532, 3.016, 3.616, 4.336",\
                 "1.545, 1.578, 1.688, 1.874, 2.144, 2.484, 2.895, 3.385, 3.979, 4.694");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.9258, 1.011, 1.307, 1.866, 2.731, 3.942, 5.532, 7.534, 9.98, 12.89",\
                 "0.9251, 1.01, 1.307, 1.865, 2.731, 3.942, 5.532, 7.533, 9.977, 12.89",\
                 "0.9273, 1.011, 1.307, 1.865, 2.731, 3.942, 5.533, 7.535, 9.976, 12.89",\
                 "0.9296, 1.014, 1.308, 1.866, 2.731, 3.943, 5.532, 7.535, 9.978, 12.89",\
                 "0.9802, 1.058, 1.333, 1.871, 2.732, 3.942, 5.532, 7.536, 9.978, 12.88",\
                 "1.066, 1.145, 1.421, 1.932, 2.751, 3.944, 5.533, 7.535, 9.977, 12.89",\
                 "1.158, 1.237, 1.52, 2.046, 2.838, 3.979, 5.536, 7.535, 9.978, 12.89",\
                 "1.29, 1.367, 1.64, 2.166, 2.978, 4.089, 5.589, 7.542, 9.978, 12.89",\
                 "1.46, 1.538, 1.804, 2.314, 3.126, 4.257, 5.72, 7.611, 9.992, 12.89",\
                 "1.664, 1.744, 2.01, 2.508, 3.303, 4.438, 5.916, 7.763, 10.08, 12.91");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2119, 0.2295, 0.2881, 0.3933, 0.5497, 0.7624, 1.037, 1.38, 1.796, 2.29",\
                 "0.2232, 0.2407, 0.2993, 0.4046, 0.5607, 0.7734, 1.048, 1.391, 1.807, 2.301",\
                 "0.2692, 0.2858, 0.3429, 0.4476, 0.6034, 0.816, 1.091, 1.433, 1.849, 2.343",\
                 "0.3476, 0.367, 0.4307, 0.5375, 0.6904, 0.9012, 1.176, 1.518, 1.933, 2.427",\
                 "0.4053, 0.4289, 0.5083, 0.6404, 0.8206, 1.041, 1.313, 1.654, 2.068, 2.561",\
                 "0.4374, 0.4663, 0.5604, 0.7187, 0.933, 1.196, 1.502, 1.85, 2.262, 2.754",\
                 "0.4411, 0.4739, 0.5847, 0.7702, 1.019, 1.323, 1.678, 2.079, 2.52, 3.012",\
                 "0.4143, 0.4528, 0.579, 0.7905, 1.076, 1.424, 1.825, 2.279, 2.78, 3.325",\
                 "0.3574, 0.3994, 0.5418, 0.7798, 1.102, 1.493, 1.944, 2.449, 3.007, 3.616",\
                 "0.2692, 0.3174, 0.4729, 0.7346, 1.093, 1.529, 2.029, 2.588, 3.202, 3.871");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.414, 0.4472, 0.5618, 0.7768, 1.109, 1.573, 2.184, 2.954, 3.892, 5.011",\
                 "0.4241, 0.4586, 0.575, 0.7922, 1.125, 1.591, 2.202, 2.972, 3.911, 5.03",\
                 "0.4668, 0.5009, 0.6182, 0.8376, 1.173, 1.641, 2.254, 3.024, 3.964, 5.084",\
                 "0.5404, 0.5759, 0.6949, 0.9126, 1.248, 1.718, 2.331, 3.102, 4.044, 5.164",\
                 "0.6293, 0.6691, 0.7994, 1.029, 1.365, 1.83, 2.442, 3.214, 4.154, 5.273",\
                 "0.7549, 0.7984, 0.9369, 1.182, 1.536, 2.004, 2.611, 3.376, 4.313, 5.43",\
                 "0.9167, 0.9653, 1.122, 1.381, 1.751, 2.243, 2.854, 3.611, 4.538, 5.65",\
                 "1.116, 1.171, 1.346, 1.632, 2.021, 2.529, 3.165, 3.93, 4.848, 5.949",\
                 "1.348, 1.411, 1.608, 1.923, 2.344, 2.871, 3.526, 4.319, 5.249, 6.338",\
                 "1.613, 1.683, 1.902, 2.254, 2.712, 3.271, 3.945, 4.759, 5.72, 6.824");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2992, 0.3266, 0.4185, 0.5851, 0.8384, 1.19, 1.65, 2.228, 2.935, 3.774",\
                 "0.2992, 0.3264, 0.4174, 0.5847, 0.8381, 1.19, 1.65, 2.229, 2.935, 3.774",\
                 "0.2889, 0.3157, 0.4097, 0.5814, 0.8385, 1.189, 1.649, 2.228, 2.934, 3.775",\
                 "0.3681, 0.3927, 0.4682, 0.6056, 0.8388, 1.188, 1.649, 2.23, 2.934, 3.773",\
                 "0.4862, 0.5142, 0.604, 0.7548, 0.96, 1.246, 1.661, 2.228, 2.935, 3.773",\
                 "0.633, 0.6648, 0.7654, 0.9358, 1.168, 1.466, 1.823, 2.304, 2.949, 3.774",\
                 "0.7972, 0.8364, 0.9564, 1.15, 1.403, 1.727, 2.119, 2.573, 3.133, 3.857",\
                 "0.988, 1.032, 1.172, 1.391, 1.674, 2.024, 2.45, 2.944, 3.507, 4.154",\
                 "1.198, 1.25, 1.41, 1.657, 1.976, 2.356, 2.809, 3.341, 3.949, 4.626",\
                 "1.428, 1.485, 1.67, 1.95, 2.307, 2.727, 3.216, 3.773, 4.418, 5.143");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4354, 0.4892, 0.6844, 1.058, 1.637, 2.446, 3.513, 4.85, 6.493, 8.441",\
                 "0.4359, 0.4905, 0.6847, 1.058, 1.637, 2.447, 3.514, 4.854, 6.491, 8.438",\
                 "0.4392, 0.4928, 0.6849, 1.058, 1.637, 2.446, 3.515, 4.855, 6.484, 8.43",\
                 "0.4737, 0.5207, 0.6972, 1.06, 1.637, 2.449, 3.511, 4.857, 6.497, 8.43",\
                 "0.5606, 0.6098, 0.7826, 1.109, 1.648, 2.449, 3.515, 4.853, 6.492, 8.445",\
                 "0.6808, 0.7256, 0.8948, 1.23, 1.74, 2.485, 3.516, 4.855, 6.499, 8.438",\
                 "0.865, 0.9064, 1.057, 1.374, 1.893, 2.611, 3.583, 4.869, 6.489, 8.445",\
                 "1.079, 1.119, 1.273, 1.57, 2.072, 2.799, 3.743, 4.966, 6.518, 8.445",\
                 "1.309, 1.353, 1.512, 1.819, 2.298, 3.01, 3.969, 5.162, 6.658, 8.494",\
                 "1.55, 1.6, 1.773, 2.098, 2.588, 3.27, 4.222, 5.429, 6.888, 8.661");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2, 0.2172, 0.2754, 0.38, 0.5353, 0.7472, 1.021, 1.363, 1.779, 2.273",\
                 "0.211, 0.2281, 0.2863, 0.3908, 0.546, 0.7579, 1.032, 1.374, 1.79, 2.283",\
                 "0.2574, 0.2737, 0.3298, 0.4334, 0.5884, 0.8, 1.074, 1.416, 1.832, 2.325",\
                 "0.33, 0.3501, 0.4144, 0.5227, 0.6751, 0.8853, 1.159, 1.5, 1.916, 2.409",\
                 "0.3791, 0.4044, 0.4847, 0.6194, 0.8016, 1.024, 1.296, 1.636, 2.049, 2.542",\
                 "0.3995, 0.4295, 0.5273, 0.6898, 0.9077, 1.173, 1.482, 1.832, 2.244, 2.735",\
                 "0.3891, 0.423, 0.5384, 0.7297, 0.985, 1.293, 1.652, 2.055, 2.498, 2.993",\
                 "0.345, 0.3851, 0.5172, 0.7361, 1.03, 1.385, 1.791, 2.249, 2.753, 3.3",\
                 "0.2668, 0.3132, 0.4601, 0.7075, 1.041, 1.441, 1.899, 2.41, 2.973, 3.585",\
                 "0.1571, 0.2062, 0.369, 0.6423, 1.015, 1.461, 1.971, 2.539, 3.159, 3.833");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4805, 0.5215, 0.6644, 0.9324, 1.348, 1.931, 2.697, 3.661, 4.838, 6.24",\
                 "0.489, 0.531, 0.6767, 0.9471, 1.365, 1.949, 2.715, 3.679, 4.857, 6.259",\
                 "0.5244, 0.5665, 0.7126, 0.9858, 1.407, 1.993, 2.761, 3.727, 4.906, 6.308",\
                 "0.5849, 0.6274, 0.7727, 1.045, 1.465, 2.053, 2.822, 3.789, 4.968, 6.373",\
                 "0.6624, 0.708, 0.8618, 1.138, 1.555, 2.139, 2.906, 3.872, 5.051, 6.455",\
                 "0.7844, 0.8319, 0.9909, 1.277, 1.703, 2.279, 3.038, 3.999, 5.173, 6.574",\
                 "0.95, 1.004, 1.176, 1.471, 1.905, 2.492, 3.242, 4.19, 5.354, 6.746",\
                 "1.155, 1.215, 1.407, 1.725, 2.168, 2.765, 3.526, 4.464, 5.613, 6.992",\
                 "1.397, 1.464, 1.678, 2.026, 2.495, 3.099, 3.872, 4.823, 5.96, 7.321",\
                 "1.671, 1.747, 1.984, 2.365, 2.872, 3.501, 4.282, 5.246, 6.397, 7.747");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2831, 0.3106, 0.4015, 0.5671, 0.8201, 1.171, 1.63, 2.209, 2.913, 3.753",\
                 "0.2817, 0.3084, 0.4004, 0.5666, 0.8196, 1.17, 1.63, 2.209, 2.914, 3.753",\
                 "0.2748, 0.3013, 0.3929, 0.5637, 0.8195, 1.17, 1.63, 2.209, 2.915, 3.753",\
                 "0.3601, 0.3847, 0.4605, 0.5942, 0.8222, 1.169, 1.63, 2.209, 2.913, 3.753",\
                 "0.4824, 0.5098, 0.5994, 0.746, 0.9512, 1.233, 1.643, 2.208, 2.914, 3.753",\
                 "0.6334, 0.6652, 0.7652, 0.9322, 1.162, 1.455, 1.813, 2.29, 2.932, 3.754",\
                 "0.8086, 0.846, 0.9644, 1.153, 1.404, 1.725, 2.113, 2.564, 3.119, 3.841",\
                 "1.01, 1.055, 1.193, 1.406, 1.683, 2.027, 2.445, 2.939, 3.498, 4.144",\
                 "1.239, 1.289, 1.446, 1.687, 1.999, 2.371, 2.818, 3.344, 3.945, 4.623",\
                 "1.495, 1.557, 1.732, 2.005, 2.349, 2.758, 3.233, 3.785, 4.424, 5.144");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5419, 0.6118, 0.8563, 1.322, 2.045, 3.056, 4.389, 6.064, 8.106, 10.53",\
                 "0.5428, 0.6125, 0.8568, 1.322, 2.045, 3.056, 4.385, 6.064, 8.11, 10.53",\
                 "0.5447, 0.614, 0.8567, 1.322, 2.046, 3.057, 4.387, 6.063, 8.105, 10.55",\
                 "0.5673, 0.631, 0.8622, 1.323, 2.045, 3.056, 4.388, 6.06, 8.112, 10.54",\
                 "0.6438, 0.7074, 0.9268, 1.352, 2.048, 3.058, 4.389, 6.065, 8.111, 10.54",\
                 "0.75, 0.8088, 1.024, 1.448, 2.107, 3.071, 4.388, 6.061, 8.111, 10.54",\
                 "0.932, 0.9828, 1.172, 1.573, 2.231, 3.153, 4.413, 6.066, 8.104, 10.55",\
                 "1.15, 1.201, 1.383, 1.752, 2.383, 3.304, 4.522, 6.114, 8.111, 10.55",\
                 "1.385, 1.44, 1.631, 1.996, 2.589, 3.488, 4.7, 6.239, 8.182, 10.56",\
                 "1.637, 1.696, 1.902, 2.287, 2.863, 3.722, 4.914, 6.445, 8.333, 10.65");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2087, 0.226, 0.2845, 0.3899, 0.5466, 0.7593, 1.034, 1.376, 1.791, 2.285",\
                 "0.2196, 0.2369, 0.2953, 0.4007, 0.5573, 0.7699, 1.044, 1.386, 1.802, 2.295",\
                 "0.2654, 0.2819, 0.3387, 0.4432, 0.5995, 0.8121, 1.086, 1.428, 1.844, 2.337",\
                 "0.3425, 0.3621, 0.4255, 0.5327, 0.6859, 0.8974, 1.171, 1.513, 1.928, 2.421",\
                 "0.3986, 0.4231, 0.5016, 0.6349, 0.8153, 1.036, 1.308, 1.648, 2.062, 2.555",\
                 "0.4289, 0.4576, 0.5517, 0.7104, 0.9253, 1.189, 1.496, 1.844, 2.256, 2.747",\
                 "0.4285, 0.4613, 0.5705, 0.7564, 1.007, 1.313, 1.668, 2.069, 2.512, 3.004",\
                 "0.394, 0.4318, 0.5566, 0.7689, 1.056, 1.406, 1.81, 2.265, 2.768, 3.314",\
                 "0.3258, 0.3679, 0.5073, 0.7468, 1.071, 1.466, 1.92, 2.429, 2.99, 3.6",\
                 "0.2249, 0.2707, 0.4238, 0.688, 1.05, 1.49, 1.996, 2.56, 3.178, 3.85");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5712, 0.6119, 0.7541, 1.022, 1.439, 2.021, 2.787, 3.751, 4.928, 6.33",\
                 "0.5813, 0.6235, 0.7677, 1.037, 1.456, 2.039, 2.805, 3.77, 4.947, 6.35",\
                 "0.6177, 0.6592, 0.8046, 1.077, 1.498, 2.083, 2.852, 3.818, 4.995, 6.399",\
                 "0.6786, 0.72, 0.8639, 1.136, 1.557, 2.143, 2.913, 3.88, 5.059, 6.463",\
                 "0.7623, 0.8064, 0.9566, 1.229, 1.645, 2.229, 2.997, 3.963, 5.141, 6.546",\
                 "0.8881, 0.9334, 1.088, 1.371, 1.792, 2.369, 3.128, 4.089, 5.263, 6.663",\
                 "1.065, 1.114, 1.277, 1.565, 1.997, 2.582, 3.33, 4.278, 5.444, 6.835",\
                 "1.284, 1.339, 1.517, 1.823, 2.261, 2.855, 3.615, 4.551, 5.702, 7.081",\
                 "1.541, 1.603, 1.799, 2.13, 2.59, 3.19, 3.962, 4.91, 6.047, 7.41",\
                 "1.831, 1.9, 2.117, 2.48, 2.972, 3.593, 4.372, 5.334, 6.484, 7.834");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3466, 0.3716, 0.4583, 0.6209, 0.8709, 1.221, 1.68, 2.257, 2.964, 3.803",\
                 "0.3451, 0.3701, 0.4574, 0.6204, 0.8713, 1.221, 1.68, 2.259, 2.962, 3.803",\
                 "0.3382, 0.3627, 0.4505, 0.6176, 0.8705, 1.221, 1.681, 2.259, 2.963, 3.802",\
                 "0.4301, 0.4505, 0.5183, 0.6483, 0.8735, 1.219, 1.681, 2.259, 2.963, 3.802",\
                 "0.569, 0.592, 0.6708, 0.807, 1.004, 1.284, 1.695, 2.259, 2.964, 3.803",\
                 "0.7396, 0.7654, 0.8534, 1.005, 1.224, 1.509, 1.862, 2.341, 2.983, 3.805",\
                 "0.938, 0.9684, 1.069, 1.239, 1.477, 1.788, 2.169, 2.616, 3.172, 3.892",\
                 "1.163, 1.202, 1.317, 1.508, 1.767, 2.1, 2.511, 2.995, 3.55, 4.194",\
                 "1.419, 1.46, 1.592, 1.806, 2.097, 2.454, 2.889, 3.408, 4.002, 4.675",\
                 "1.707, 1.751, 1.902, 2.143, 2.462, 2.852, 3.312, 3.857, 4.488, 5.204");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6563, 0.7267, 0.9718, 1.439, 2.162, 3.174, 4.504, 6.178, 8.218, 10.65",\
                 "0.6572, 0.7266, 0.9723, 1.439, 2.162, 3.174, 4.503, 6.178, 8.22, 10.65",\
                 "0.6581, 0.7277, 0.9719, 1.439, 2.162, 3.174, 4.504, 6.177, 8.22, 10.66",\
                 "0.6692, 0.7356, 0.9748, 1.439, 2.162, 3.174, 4.503, 6.178, 8.221, 10.65",\
                 "0.742, 0.805, 1.026, 1.459, 2.164, 3.174, 4.504, 6.177, 8.221, 10.66",\
                 "0.8362, 0.898, 1.124, 1.549, 2.213, 3.184, 4.504, 6.18, 8.222, 10.65",\
                 "0.9962, 1.051, 1.257, 1.672, 2.332, 3.26, 4.528, 6.179, 8.222, 10.66",\
                 "1.208, 1.263, 1.455, 1.839, 2.481, 3.407, 4.631, 6.223, 8.227, 10.65",\
                 "1.441, 1.5, 1.7, 2.073, 2.679, 3.589, 4.804, 6.35, 8.29, 10.67",\
                 "1.695, 1.758, 1.971, 2.36, 2.944, 3.812, 5.019, 6.55, 8.44, 10.75");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1613, 0.1799, 0.242, 0.352, 0.5126, 0.7289, 1.007, 1.352, 1.769, 2.264",\
                 "0.1733, 0.1917, 0.2535, 0.3631, 0.5238, 0.74, 1.018, 1.362, 1.78, 2.275",\
                 "0.2257, 0.2424, 0.2999, 0.4067, 0.5662, 0.7822, 1.06, 1.404, 1.822, 2.317",\
                 "0.2925, 0.3145, 0.3842, 0.4983, 0.6541, 0.8673, 1.144, 1.488, 1.906, 2.401",\
                 "0.3347, 0.362, 0.4487, 0.5915, 0.7797, 1.007, 1.281, 1.624, 2.04, 2.534",\
                 "0.3479, 0.3809, 0.4848, 0.6575, 0.883, 1.155, 1.467, 1.819, 2.233, 2.726",\
                 "0.3298, 0.3683, 0.4913, 0.6921, 0.9559, 1.272, 1.635, 2.041, 2.488, 2.983",\
                 "0.2786, 0.3214, 0.4631, 0.6939, 0.9976, 1.36, 1.772, 2.234, 2.742, 3.291",\
                 "0.1959, 0.244, 0.4006, 0.6606, 1.003, 1.413, 1.879, 2.394, 2.96, 3.574",\
                 "0.0802, 0.1326, 0.3042, 0.5906, 0.9713, 1.429, 1.948, 2.521, 3.144, 3.822");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4831, 0.5247, 0.6663, 0.9325, 1.344, 1.92, 2.677, 3.631, 4.795, 6.184",\
                 "0.4918, 0.5338, 0.6781, 0.9473, 1.36, 1.937, 2.696, 3.65, 4.815, 6.202",\
                 "0.531, 0.5738, 0.719, 0.99, 1.406, 1.986, 2.745, 3.702, 4.867, 6.256",\
                 "0.6033, 0.6459, 0.7909, 1.06, 1.476, 2.058, 2.818, 3.776, 4.943, 6.332",\
                 "0.6912, 0.7373, 0.8901, 1.164, 1.576, 2.154, 2.914, 3.87, 5.037, 6.426",\
                 "0.8162, 0.8641, 1.021, 1.306, 1.728, 2.299, 3.051, 4.003, 5.165, 6.552",\
                 "0.9783, 1.032, 1.202, 1.495, 1.928, 2.51, 3.255, 4.194, 5.347, 6.729",\
                 "1.176, 1.238, 1.427, 1.744, 2.185, 2.779, 3.536, 4.466, 5.607, 6.974",\
                 "1.412, 1.48, 1.692, 2.038, 2.506, 3.109, 3.878, 4.822, 5.952, 7.302",\
                 "1.681, 1.756, 1.993, 2.374, 2.879, 3.506, 4.283, 5.241, 6.385, 7.726");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2647, 0.2939, 0.3905, 0.5631, 0.8193, 1.17, 1.631, 2.209, 2.915, 3.752",\
                 "0.2612, 0.2914, 0.3887, 0.5616, 0.8168, 1.171, 1.631, 2.208, 2.914, 3.754",\
                 "0.2625, 0.2875, 0.3783, 0.5552, 0.816, 1.17, 1.63, 2.208, 2.914, 3.753",\
                 "0.3598, 0.3844, 0.4599, 0.5915, 0.8173, 1.166, 1.63, 2.208, 2.914, 3.753",\
                 "0.4884, 0.5158, 0.6032, 0.7498, 0.9536, 1.231, 1.642, 2.208, 2.913, 3.755",\
                 "0.6442, 0.6764, 0.7786, 0.9422, 1.167, 1.459, 1.813, 2.289, 2.93, 3.755",\
                 "0.8244, 0.8624, 0.9816, 1.168, 1.416, 1.733, 2.115, 2.566, 3.119, 3.84",\
                 "1.031, 1.076, 1.214, 1.427, 1.701, 2.041, 2.456, 2.941, 3.502, 4.144",\
                 "1.265, 1.316, 1.475, 1.716, 2.023, 2.39, 2.832, 3.352, 3.95, 4.627",\
                 "1.526, 1.592, 1.768, 2.04, 2.38, 2.785, 3.251, 3.8, 4.431, 5.149");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.4612, 0.53, 0.7713, 1.236, 1.958, 2.97, 4.299, 5.974, 8.017, 10.46",\
                 "0.4633, 0.5303, 0.7711, 1.236, 1.959, 2.966, 4.297, 5.975, 8.023, 10.45",\
                 "0.4667, 0.533, 0.7733, 1.236, 1.961, 2.972, 4.299, 5.978, 8.022, 10.46",\
                 "0.4891, 0.5503, 0.7782, 1.235, 1.958, 2.969, 4.297, 5.978, 8.021, 10.45",\
                 "0.5554, 0.6196, 0.839, 1.262, 1.962, 2.971, 4.301, 5.977, 8.024, 10.46",\
                 "0.6398, 0.7022, 0.9246, 1.357, 2.016, 2.981, 4.301, 5.971, 8.022, 10.44",\
                 "0.7968, 0.855, 1.057, 1.472, 2.139, 3.064, 4.323, 5.978, 8.024, 10.46",\
                 "0.999, 1.059, 1.261, 1.645, 2.285, 3.216, 4.433, 6.028, 8.021, 10.46",\
                 "1.224, 1.285, 1.502, 1.882, 2.488, 3.392, 4.61, 6.15, 8.086, 10.46",\
                 "1.463, 1.53, 1.758, 2.166, 2.757, 3.624, 4.824, 6.356, 8.242, 10.56");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1557, 0.174, 0.2347, 0.343, 0.5021, 0.717, 0.9933, 1.337, 1.754, 2.249",\
                 "0.1676, 0.1856, 0.246, 0.354, 0.5129, 0.7277, 1.004, 1.348, 1.764, 2.259",\
                 "0.2189, 0.2355, 0.2921, 0.3973, 0.5551, 0.7695, 1.046, 1.39, 1.806, 2.301",\
                 "0.2798, 0.3018, 0.3724, 0.4872, 0.6426, 0.8546, 1.13, 1.473, 1.89, 2.384",\
                 "0.3135, 0.3416, 0.4303, 0.5749, 0.7645, 0.9927, 1.266, 1.608, 2.024, 2.517",\
                 "0.3153, 0.3494, 0.4574, 0.6332, 0.8618, 1.136, 1.45, 1.803, 2.216, 2.708",\
                 "0.2824, 0.3227, 0.4503, 0.6578, 0.9274, 1.247, 1.613, 2.021, 2.469, 2.965",\
                 "0.2133, 0.2599, 0.4066, 0.6455, 0.9575, 1.326, 1.743, 2.207, 2.718, 3.269",\
                 "0.1096, 0.1607, 0.325, 0.5943, 0.9479, 1.367, 1.839, 2.359, 2.93, 3.547",\
                 "-0.0311, 0.025, 0.2056, 0.5038, 0.9001, 1.368, 1.896, 2.476, 3.106, 3.787");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5452, 0.5945, 0.7634, 1.082, 1.575, 2.266, 3.175, 4.319, 5.716, 7.381",\
                 "0.5516, 0.6021, 0.7744, 1.096, 1.591, 2.283, 3.193, 4.339, 5.736, 7.401",\
                 "0.5845, 0.6347, 0.8081, 1.132, 1.631, 2.326, 3.238, 4.384, 5.783, 7.449",\
                 "0.6436, 0.6933, 0.8644, 1.187, 1.686, 2.382, 3.296, 4.444, 5.843, 7.509",\
                 "0.72, 0.7724, 0.9497, 1.271, 1.765, 2.458, 3.369, 4.516, 5.916, 7.582",\
                 "0.843, 0.8953, 1.074, 1.403, 1.897, 2.58, 3.481, 4.622, 6.016, 7.678",\
                 "1.012, 1.071, 1.259, 1.59, 2.089, 2.771, 3.658, 4.786, 6.169, 7.823",\
                 "1.224, 1.29, 1.498, 1.846, 2.346, 3.032, 3.918, 5.026, 6.393, 8.032",\
                 "1.474, 1.548, 1.779, 2.158, 2.676, 3.362, 4.253, 5.358, 6.703, 8.323",\
                 "1.761, 1.843, 2.1, 2.515, 3.067, 3.767, 4.658, 5.77, 7.109, 8.707");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2518, 0.2802, 0.3758, 0.5472, 0.8016, 1.152, 1.611, 2.189, 2.894, 3.734",\
                 "0.2485, 0.2776, 0.3742, 0.5452, 0.8009, 1.152, 1.611, 2.188, 2.894, 3.734",\
                 "0.2541, 0.2778, 0.3648, 0.5385, 0.7983, 1.151, 1.611, 2.188, 2.892, 3.734",\
                 "0.3535, 0.3775, 0.4523, 0.5817, 0.8022, 1.148, 1.61, 2.188, 2.894, 3.734",\
                 "0.4829, 0.51, 0.5968, 0.7424, 0.9446, 1.219, 1.626, 2.189, 2.892, 3.734",\
                 "0.642, 0.6748, 0.7748, 0.9364, 1.161, 1.449, 1.803, 2.274, 2.912, 3.734",\
                 "0.83, 0.868, 0.986, 1.171, 1.414, 1.726, 2.109, 2.557, 3.107, 3.825",\
                 "1.048, 1.096, 1.229, 1.439, 1.708, 2.042, 2.451, 2.937, 3.494, 4.134",\
                 "1.3, 1.352, 1.505, 1.742, 2.042, 2.403, 2.835, 3.348, 3.946, 4.618",\
                 "1.585, 1.644, 1.823, 2.088, 2.42, 2.813, 3.27, 3.807, 4.433, 5.147");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5521, 0.6349, 0.9254, 1.482, 2.349, 3.558, 5.147, 7.148, 9.596, 12.51",\
                 "0.553, 0.6345, 0.9273, 1.482, 2.348, 3.561, 5.15, 7.155, 9.594, 12.51",\
                 "0.5553, 0.6368, 0.9284, 1.484, 2.344, 3.559, 5.149, 7.146, 9.588, 12.52",\
                 "0.5707, 0.6474, 0.9316, 1.482, 2.349, 3.556, 5.144, 7.148, 9.598, 12.51",\
                 "0.6318, 0.71, 0.9766, 1.498, 2.346, 3.557, 5.146, 7.142, 9.593, 12.5",\
                 "0.7106, 0.7848, 1.056, 1.574, 2.384, 3.562, 5.148, 7.151, 9.599, 12.52",\
                 "0.8742, 0.9398, 1.179, 1.678, 2.479, 3.617, 5.161, 7.147, 9.6, 12.51",\
                 "1.087, 1.154, 1.381, 1.832, 2.607, 3.728, 5.235, 7.173, 9.605, 12.51",\
                 "1.325, 1.393, 1.636, 2.066, 2.784, 3.883, 5.36, 7.265, 9.618, 12.51",\
                 "1.583, 1.66, 1.909, 2.358, 3.041, 4.084, 5.541, 7.403, 9.721, 12.56");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1639, 0.1821, 0.2434, 0.3527, 0.5131, 0.729, 1.006, 1.349, 1.766, 2.261",\
                 "0.1756, 0.1938, 0.2546, 0.3636, 0.5239, 0.7397, 1.016, 1.36, 1.777, 2.271",\
                 "0.2265, 0.2431, 0.3002, 0.4068, 0.566, 0.7815, 1.058, 1.402, 1.818, 2.313",\
                 "0.2933, 0.3148, 0.384, 0.4975, 0.6535, 0.8667, 1.142, 1.486, 1.902, 2.396",\
                 "0.3363, 0.3628, 0.4489, 0.5907, 0.7785, 1.005, 1.279, 1.62, 2.036, 2.529",\
                 "0.3497, 0.3814, 0.4846, 0.6549, 0.88, 1.152, 1.464, 1.815, 2.229, 2.72",\
                 "0.3299, 0.3665, 0.4865, 0.6861, 0.9502, 1.267, 1.629, 2.036, 2.482, 2.977",\
                 "0.2732, 0.3149, 0.4517, 0.6808, 0.9849, 1.348, 1.762, 2.225, 2.733, 3.283",\
                 "0.1807, 0.2267, 0.379, 0.6372, 0.9813, 1.393, 1.861, 2.379, 2.946, 3.562",\
                 "0.0519, 0.1026, 0.2693, 0.5537, 0.938, 1.398, 1.921, 2.498, 3.125, 3.804");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6533, 0.7016, 0.8701, 1.189, 1.682, 2.373, 3.282, 4.426, 5.824, 7.489",\
                 "0.6623, 0.7119, 0.8825, 1.204, 1.699, 2.392, 3.301, 4.446, 5.844, 7.508",\
                 "0.6963, 0.7455, 0.9173, 1.241, 1.739, 2.435, 3.346, 4.492, 5.891, 7.557",\
                 "0.7539, 0.8025, 0.9731, 1.295, 1.794, 2.49, 3.404, 4.552, 5.95, 7.618",\
                 "0.8352, 0.8858, 1.059, 1.378, 1.872, 2.566, 3.476, 4.624, 6.023, 7.69",\
                 "0.9576, 1.009, 1.185, 1.512, 2.002, 2.686, 3.588, 4.729, 6.124, 7.787",\
                 "1.138, 1.192, 1.372, 1.699, 2.195, 2.875, 3.763, 4.892, 6.275, 7.929",\
                 "1.364, 1.423, 1.618, 1.956, 2.453, 3.138, 4.022, 5.131, 6.499, 8.14",\
                 "1.631, 1.698, 1.912, 2.274, 2.782, 3.467, 4.357, 5.461, 6.807, 8.429",\
                 "1.935, 2.009, 2.245, 2.639, 3.178, 3.871, 4.761, 5.874, 7.212, 8.81");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3184, 0.345, 0.4352, 0.601, 0.8537, 1.202, 1.662, 2.238, 2.944, 3.783",\
                 "0.315, 0.3418, 0.4331, 0.5999, 0.8529, 1.203, 1.66, 2.238, 2.943, 3.784",\
                 "0.3184, 0.3404, 0.4245, 0.5938, 0.8501, 1.201, 1.66, 2.239, 2.943, 3.783",\
                 "0.4291, 0.4487, 0.5137, 0.6366, 0.8561, 1.198, 1.66, 2.238, 2.942, 3.782",\
                 "0.5782, 0.5998, 0.6736, 0.8056, 0.9982, 1.272, 1.675, 2.237, 2.944, 3.781",\
                 "0.7614, 0.7862, 0.868, 1.014, 1.225, 1.505, 1.854, 2.326, 2.962, 3.784",\
                 "0.9754, 1.004, 1.1, 1.262, 1.49, 1.79, 2.164, 2.607, 3.157, 3.873",\
                 "1.222, 1.258, 1.367, 1.548, 1.797, 2.117, 2.516, 2.993, 3.545, 4.185",\
                 "1.504, 1.545, 1.666, 1.868, 2.144, 2.488, 2.908, 3.413, 4.003, 4.671",\
                 "1.821, 1.867, 2.009, 2.238, 2.533, 2.908, 3.351, 3.881, 4.5, 5.205");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6889, 0.7718, 1.064, 1.623, 2.486, 3.696, 5.284, 7.285, 9.73, 12.64",\
                 "0.6885, 0.7717, 1.064, 1.623, 2.486, 3.697, 5.285, 7.285, 9.731, 12.64",\
                 "0.6894, 0.7728, 1.065, 1.623, 2.487, 3.698, 5.285, 7.286, 9.727, 12.64",\
                 "0.6966, 0.778, 1.067, 1.623, 2.487, 3.696, 5.286, 7.288, 9.725, 12.64",\
                 "0.7526, 0.8296, 1.1, 1.631, 2.487, 3.697, 5.286, 7.287, 9.729, 12.64",\
                 "0.8232, 0.903, 1.181, 1.699, 2.515, 3.699, 5.287, 7.288, 9.731, 12.64",\
                 "0.9606, 1.03, 1.287, 1.802, 2.606, 3.747, 5.293, 7.288, 9.731, 12.64",\
                 "1.166, 1.235, 1.47, 1.944, 2.733, 3.858, 5.36, 7.303, 9.731, 12.64",\
                 "1.404, 1.476, 1.714, 2.159, 2.901, 4.012, 5.491, 7.387, 9.758, 12.64",\
                 "1.662, 1.739, 1.996, 2.449, 3.143, 4.202, 5.67, 7.535, 9.856, 12.68");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1698, 0.1886, 0.2511, 0.3617, 0.5234, 0.7401, 1.018, 1.362, 1.78, 2.275",\
                 "0.1818, 0.2002, 0.2625, 0.3728, 0.5344, 0.7511, 1.029, 1.373, 1.791, 2.286",\
                 "0.2334, 0.2504, 0.3084, 0.4164, 0.5769, 0.7932, 1.071, 1.415, 1.833, 2.328",\
                 "0.3062, 0.3274, 0.3957, 0.5085, 0.6647, 0.8786, 1.155, 1.499, 1.916, 2.411",\
                 "0.3569, 0.3828, 0.4669, 0.6068, 0.7927, 1.018, 1.292, 1.634, 2.05, 2.545",\
                 "0.3797, 0.4105, 0.5111, 0.6775, 0.8996, 1.169, 1.48, 1.83, 2.244, 2.736",\
                 "0.3716, 0.4072, 0.5231, 0.7178, 0.9766, 1.29, 1.65, 2.055, 2.499, 2.994",\
                 "0.3298, 0.3701, 0.5024, 0.7244, 1.022, 1.38, 1.79, 2.249, 2.755, 3.303",\
                 "0.2554, 0.2998, 0.4468, 0.6966, 1.032, 1.436, 1.898, 2.411, 2.975, 3.587",\
                 "0.1483, 0.197, 0.3576, 0.6326, 1.006, 1.455, 1.97, 2.539, 3.162, 3.837");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5643, 0.6047, 0.7458, 1.012, 1.423, 2, 2.757, 3.71, 4.874, 6.263",\
                 "0.5748, 0.6161, 0.7591, 1.027, 1.441, 2.018, 2.775, 3.729, 4.894, 6.281",\
                 "0.615, 0.6567, 0.8001, 1.07, 1.486, 2.065, 2.825, 3.781, 4.947, 6.335",\
                 "0.6871, 0.7287, 0.8717, 1.141, 1.557, 2.137, 2.898, 3.855, 5.023, 6.412",\
                 "0.7808, 0.825, 0.9742, 1.244, 1.656, 2.233, 2.993, 3.95, 5.116, 6.505",\
                 "0.9085, 0.9536, 1.108, 1.389, 1.807, 2.377, 3.13, 4.082, 5.243, 6.63",\
                 "1.081, 1.13, 1.292, 1.58, 2.009, 2.589, 3.333, 4.272, 5.427, 6.806",\
                 "1.292, 1.348, 1.526, 1.831, 2.268, 2.859, 3.615, 4.543, 5.684, 7.052",\
                 "1.54, 1.602, 1.8, 2.132, 2.59, 3.19, 3.956, 4.899, 6.028, 7.379",\
                 "1.825, 1.894, 2.114, 2.476, 2.969, 3.588, 4.363, 5.32, 6.463, 7.802");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3259, 0.3527, 0.4442, 0.6118, 0.865, 1.215, 1.675, 2.253, 2.956, 3.796",\
                 "0.3224, 0.3499, 0.4422, 0.6108, 0.8646, 1.215, 1.676, 2.253, 2.958, 3.795",\
                 "0.3219, 0.3451, 0.4317, 0.6043, 0.8618, 1.215, 1.675, 2.253, 2.958, 3.797",\
                 "0.4277, 0.4483, 0.515, 0.6406, 0.8642, 1.211, 1.674, 2.252, 2.957, 3.797",\
                 "0.5723, 0.5956, 0.6708, 0.806, 1, 1.278, 1.686, 2.252, 2.957, 3.797",\
                 "0.748, 0.774, 0.8598, 1.009, 1.224, 1.508, 1.858, 2.334, 2.975, 3.798",\
                 "0.95, 0.9806, 1.08, 1.248, 1.482, 1.787, 2.165, 2.61, 3.163, 3.884",\
                 "1.18, 1.217, 1.331, 1.521, 1.777, 2.105, 2.513, 2.992, 3.548, 4.189",\
                 "1.44, 1.486, 1.612, 1.827, 2.112, 2.465, 2.896, 3.405, 4, 4.671",\
                 "1.726, 1.773, 1.929, 2.166, 2.481, 2.868, 3.322, 3.862, 4.488, 5.2");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5615, 0.6309, 0.8736, 1.339, 2.06, 3.074, 4.401, 6.073, 8.113, 10.54",\
                 "0.5615, 0.6312, 0.8741, 1.339, 2.061, 3.073, 4.4, 6.074, 8.115, 10.54",\
                 "0.564, 0.6319, 0.8745, 1.338, 2.061, 3.072, 4.4, 6.073, 8.113, 10.55",\
                 "0.5761, 0.6418, 0.8782, 1.339, 2.061, 3.072, 4.4, 6.072, 8.115, 10.55",\
                 "0.6424, 0.706, 0.9262, 1.358, 2.063, 3.072, 4.402, 6.073, 8.114, 10.55",\
                 "0.7206, 0.786, 1.016, 1.447, 2.111, 3.081, 4.401, 6.075, 8.114, 10.55",\
                 "0.8624, 0.9228, 1.136, 1.561, 2.23, 3.158, 4.425, 6.075, 8.116, 10.55",\
                 "1.06, 1.121, 1.326, 1.723, 2.375, 3.306, 4.527, 6.118, 8.119, 10.55",\
                 "1.286, 1.35, 1.565, 1.955, 2.57, 3.485, 4.704, 6.246, 8.184, 10.56",\
                 "1.527, 1.595, 1.827, 2.233, 2.832, 3.708, 4.915, 6.451, 8.338, 10.65");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1638, 0.1821, 0.2433, 0.3525, 0.5125, 0.7279, 1.004, 1.348, 1.764, 2.259",\
                 "0.1755, 0.1937, 0.2544, 0.3633, 0.5233, 0.7385, 1.015, 1.358, 1.775, 2.27",\
                 "0.2264, 0.243, 0.3001, 0.4065, 0.5655, 0.7804, 1.057, 1.4, 1.817, 2.311",\
                 "0.2931, 0.3147, 0.3836, 0.4972, 0.6529, 0.8656, 1.141, 1.484, 1.9, 2.395",\
                 "0.3355, 0.3621, 0.4481, 0.5898, 0.7775, 1.004, 1.277, 1.619, 2.034, 2.528",\
                 "0.3475, 0.3793, 0.4826, 0.6531, 0.8782, 1.15, 1.462, 1.814, 2.227, 2.719",\
                 "0.3252, 0.3623, 0.4827, 0.683, 0.9476, 1.264, 1.628, 2.034, 2.481, 2.976",\
                 "0.2664, 0.3087, 0.4464, 0.6767, 0.9816, 1.345, 1.76, 2.222, 2.731, 3.281",\
                 "0.1722, 0.2189, 0.3724, 0.632, 0.9773, 1.39, 1.858, 2.377, 2.944, 3.561",\
                 "0.0418, 0.0931, 0.2614, 0.5478, 0.9334, 1.395, 1.918, 2.495, 3.123, 3.802");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.642, 0.6905, 0.8589, 1.177, 1.671, 2.362, 3.27, 4.416, 5.813, 7.477",\
                 "0.6513, 0.7007, 0.871, 1.192, 1.687, 2.38, 3.289, 4.435, 5.832, 7.497",\
                 "0.6844, 0.7343, 0.9056, 1.229, 1.727, 2.422, 3.334, 4.48, 5.879, 7.545",\
                 "0.7421, 0.7914, 0.9617, 1.283, 1.782, 2.479, 3.392, 4.54, 5.939, 7.607",\
                 "0.8229, 0.8744, 1.047, 1.367, 1.86, 2.554, 3.464, 4.612, 6.012, 7.679",\
                 "0.946, 0.9971, 1.174, 1.5, 1.991, 2.674, 3.577, 4.717, 6.112, 7.776",\
                 "1.125, 1.18, 1.36, 1.687, 2.184, 2.864, 3.752, 4.88, 6.264, 7.918",\
                 "1.35, 1.41, 1.606, 1.944, 2.442, 3.127, 4.01, 5.119, 6.488, 8.128",\
                 "1.615, 1.683, 1.898, 2.261, 2.771, 3.456, 4.345, 5.449, 6.796, 8.417",\
                 "1.918, 1.992, 2.23, 2.627, 3.166, 3.861, 4.75, 5.862, 7.201, 8.798");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3109, 0.3376, 0.4282, 0.5943, 0.8466, 1.196, 1.656, 2.233, 2.938, 3.775",\
                 "0.3074, 0.3345, 0.4261, 0.5933, 0.8463, 1.196, 1.655, 2.231, 2.936, 3.776",\
                 "0.3113, 0.3333, 0.4174, 0.5873, 0.8441, 1.196, 1.656, 2.233, 2.937, 3.776",\
                 "0.4207, 0.4403, 0.5068, 0.6302, 0.8493, 1.192, 1.655, 2.232, 2.936, 3.777",\
                 "0.5676, 0.5898, 0.6648, 0.7984, 0.9916, 1.265, 1.671, 2.232, 2.937, 3.775",\
                 "0.7478, 0.7738, 0.8574, 1.005, 1.218, 1.498, 1.847, 2.32, 2.958, 3.778",\
                 "0.9588, 0.9884, 1.088, 1.252, 1.481, 1.782, 2.158, 2.601, 3.152, 3.87",\
                 "1.202, 1.239, 1.351, 1.535, 1.787, 2.107, 2.506, 2.986, 3.54, 4.178",\
                 "1.481, 1.522, 1.647, 1.854, 2.132, 2.477, 2.9, 3.406, 3.995, 4.664",\
                 "1.794, 1.837, 1.987, 2.22, 2.524, 2.897, 3.341, 3.871, 4.489, 5.197");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6745, 0.7573, 1.05, 1.607, 2.472, 3.681, 5.27, 7.274, 9.715, 12.62",\
                 "0.674, 0.7579, 1.05, 1.607, 2.472, 3.681, 5.27, 7.27, 9.716, 12.62",\
                 "0.676, 0.7595, 1.05, 1.608, 2.472, 3.681, 5.27, 7.27, 9.71, 12.62",\
                 "0.6834, 0.7638, 1.053, 1.607, 2.472, 3.681, 5.27, 7.271, 9.711, 12.63",\
                 "0.7408, 0.8174, 1.088, 1.617, 2.472, 3.682, 5.271, 7.271, 9.713, 12.62",\
                 "0.8116, 0.8906, 1.167, 1.686, 2.501, 3.684, 5.271, 7.272, 9.714, 12.63",\
                 "0.951, 1.021, 1.276, 1.789, 2.593, 3.733, 5.279, 7.273, 9.717, 12.63",\
                 "1.158, 1.226, 1.459, 1.931, 2.721, 3.845, 5.345, 7.289, 9.715, 12.63",\
                 "1.397, 1.468, 1.706, 2.149, 2.889, 3.999, 5.478, 7.372, 9.742, 12.63",\
                 "1.654, 1.73, 1.986, 2.436, 3.132, 4.19, 5.657, 7.522, 9.84, 12.67");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1741, 0.1922, 0.2537, 0.3637, 0.5245, 0.7403, 1.017, 1.36, 1.777, 2.271",\
                 "0.1852, 0.2034, 0.2648, 0.3745, 0.5353, 0.751, 1.027, 1.371, 1.787, 2.282",\
                 "0.2355, 0.2523, 0.3101, 0.4175, 0.5774, 0.7928, 1.069, 1.413, 1.829, 2.324",\
                 "0.31, 0.3305, 0.3972, 0.5088, 0.6647, 0.8779, 1.153, 1.497, 1.913, 2.407",\
                 "0.3624, 0.3871, 0.4689, 0.6069, 0.792, 1.017, 1.29, 1.631, 2.047, 2.54",\
                 "0.3832, 0.4128, 0.5108, 0.6755, 0.8966, 1.166, 1.476, 1.826, 2.24, 2.731",\
                 "0.3693, 0.4038, 0.5175, 0.7108, 0.9699, 1.283, 1.643, 2.049, 2.494, 2.988",\
                 "0.3194, 0.3587, 0.4888, 0.7103, 1.008, 1.367, 1.779, 2.239, 2.746, 3.294",\
                 "0.2347, 0.2779, 0.4228, 0.6723, 1.009, 1.416, 1.88, 2.395, 2.961, 3.576",\
                 "0.115, 0.1622, 0.3204, 0.5948, 0.9705, 1.424, 1.943, 2.517, 3.142, 3.818");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7494, 0.7975, 0.9656, 1.284, 1.778, 2.468, 3.377, 4.521, 5.918, 7.583",\
                 "0.7607, 0.8093, 0.979, 1.299, 1.794, 2.487, 3.396, 4.541, 5.938, 7.603",\
                 "0.7947, 0.8438, 1.015, 1.337, 1.835, 2.53, 3.441, 4.587, 5.984, 7.651",\
                 "0.8516, 0.8998, 1.07, 1.392, 1.89, 2.586, 3.499, 4.648, 6.045, 7.713",\
                 "0.9359, 0.9854, 1.155, 1.473, 1.968, 2.662, 3.572, 4.719, 6.118, 7.784",\
                 "1.059, 1.11, 1.283, 1.608, 2.096, 2.78, 3.683, 4.823, 6.217, 7.881",\
                 "1.243, 1.295, 1.47, 1.795, 2.29, 2.968, 3.858, 4.986, 6.369, 8.023",\
                 "1.48, 1.535, 1.721, 2.052, 2.547, 3.231, 4.113, 5.223, 6.592, 8.231",\
                 "1.759, 1.82, 2.025, 2.374, 2.877, 3.56, 4.45, 5.552, 6.898, 8.521",\
                 "2.078, 2.146, 2.369, 2.747, 3.275, 3.964, 4.853, 5.965, 7.302, 8.901");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3748, 0.4001, 0.4873, 0.6504, 0.8998, 1.249, 1.707, 2.284, 2.988, 3.825",\
                 "0.3711, 0.3968, 0.4853, 0.6491, 0.8999, 1.248, 1.706, 2.284, 2.987, 3.826",\
                 "0.3729, 0.3942, 0.4759, 0.6429, 0.8975, 1.247, 1.706, 2.283, 2.988, 3.825",\
                 "0.4905, 0.5071, 0.5657, 0.6846, 0.9025, 1.244, 1.706, 2.282, 2.988, 3.827",\
                 "0.6552, 0.6733, 0.7382, 0.861, 1.046, 1.317, 1.722, 2.283, 2.988, 3.826",\
                 "0.856, 0.8774, 0.9466, 1.08, 1.281, 1.553, 1.899, 2.369, 3.008, 3.828",\
                 "1.09, 1.114, 1.194, 1.339, 1.555, 1.849, 2.215, 2.653, 3.203, 3.919",\
                 "1.358, 1.389, 1.477, 1.64, 1.872, 2.181, 2.573, 3.044, 3.591, 4.229",\
                 "1.663, 1.698, 1.797, 1.976, 2.232, 2.562, 2.971, 3.47, 4.054, 4.718",\
                 "2.008, 2.044, 2.157, 2.36, 2.638, 2.992, 3.422, 3.943, 4.556, 5.257");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.8109, 0.8962, 1.19, 1.747, 2.613, 3.822, 5.413, 7.413, 9.857, 12.77",\
                 "0.8109, 0.8957, 1.19, 1.748, 2.613, 3.823, 5.413, 7.413, 9.858, 12.77",\
                 "0.8122, 0.8948, 1.19, 1.748, 2.612, 3.823, 5.413, 7.414, 9.854, 12.76",\
                 "0.8146, 0.8986, 1.19, 1.748, 2.613, 3.823, 5.413, 7.415, 9.853, 12.77",\
                 "0.8604, 0.9382, 1.214, 1.753, 2.614, 3.825, 5.413, 7.414, 9.857, 12.77",\
                 "0.9338, 1.013, 1.293, 1.812, 2.635, 3.824, 5.414, 7.415, 9.857, 12.77",\
                 "1.051, 1.125, 1.392, 1.914, 2.72, 3.866, 5.419, 7.415, 9.858, 12.77",\
                 "1.244, 1.314, 1.557, 2.046, 2.846, 3.972, 5.48, 7.428, 9.857, 12.77",\
                 "1.481, 1.553, 1.796, 2.249, 3.006, 4.126, 5.607, 7.507, 9.881, 12.77",\
                 "1.741, 1.819, 2.074, 2.528, 3.239, 4.311, 5.784, 7.653, 9.976, 12.81");
        }
      }

      timing() {
        related_pin : "C1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2119, 0.2295, 0.2881, 0.3933, 0.5497, 0.7624, 1.037, 1.38, 1.796, 2.29",\
                 "0.2232, 0.2407, 0.2993, 0.4046, 0.5607, 0.7734, 1.048, 1.391, 1.807, 2.301",\
                 "0.2692, 0.2858, 0.3429, 0.4476, 0.6034, 0.816, 1.091, 1.433, 1.849, 2.343",\
                 "0.3476, 0.367, 0.4307, 0.5375, 0.6904, 0.9012, 1.176, 1.518, 1.933, 2.427",\
                 "0.4053, 0.4289, 0.5083, 0.6404, 0.8206, 1.041, 1.313, 1.654, 2.068, 2.561",\
                 "0.4374, 0.4663, 0.5604, 0.7187, 0.933, 1.196, 1.502, 1.85, 2.262, 2.754",\
                 "0.4411, 0.4739, 0.5847, 0.7702, 1.019, 1.323, 1.678, 2.079, 2.52, 3.012",\
                 "0.4143, 0.4528, 0.579, 0.7905, 1.076, 1.424, 1.825, 2.279, 2.78, 3.325",\
                 "0.3574, 0.3994, 0.5418, 0.7798, 1.102, 1.493, 1.944, 2.449, 3.007, 3.616",\
                 "0.2692, 0.3174, 0.4729, 0.7346, 1.093, 1.529, 2.029, 2.588, 3.202, 3.871");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7494, 0.7975, 0.9656, 1.284, 1.778, 2.468, 3.377, 4.521, 5.918, 7.583",\
                 "0.7607, 0.8093, 0.979, 1.299, 1.794, 2.487, 3.396, 4.541, 5.938, 7.603",\
                 "0.7947, 0.8438, 1.015, 1.337, 1.835, 2.53, 3.441, 4.587, 5.984, 7.651",\
                 "0.8516, 0.8998, 1.07, 1.392, 1.89, 2.586, 3.499, 4.648, 6.045, 7.713",\
                 "0.9359, 0.9854, 1.155, 1.473, 1.968, 2.662, 3.572, 4.719, 6.118, 7.784",\
                 "1.059, 1.11, 1.283, 1.608, 2.096, 2.78, 3.683, 4.823, 6.217, 7.881",\
                 "1.243, 1.295, 1.47, 1.795, 2.29, 2.968, 3.858, 4.986, 6.369, 8.023",\
                 "1.48, 1.535, 1.721, 2.052, 2.547, 3.231, 4.113, 5.223, 6.592, 8.231",\
                 "1.759, 1.82, 2.025, 2.374, 2.877, 3.56, 4.45, 5.552, 6.898, 8.521",\
                 "2.078, 2.146, 2.369, 2.747, 3.275, 3.964, 4.853, 5.965, 7.302, 8.901");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3748, 0.4001, 0.4873, 0.6504, 0.8998, 1.249, 1.707, 2.284, 2.988, 3.825",\
                 "0.3711, 0.3968, 0.4853, 0.6491, 0.8999, 1.248, 1.706, 2.284, 2.987, 3.826",\
                 "0.3729, 0.3942, 0.4759, 0.6429, 0.8975, 1.247, 1.706, 2.283, 2.988, 3.825",\
                 "0.4905, 0.5071, 0.5657, 0.6846, 0.9025, 1.244, 1.706, 2.282, 2.988, 3.827",\
                 "0.6552, 0.6733, 0.7382, 0.861, 1.046, 1.317, 1.722, 2.283, 2.988, 3.826",\
                 "0.856, 0.8774, 0.9466, 1.08, 1.281, 1.553, 1.899, 2.369, 3.008, 3.828",\
                 "1.09, 1.114, 1.194, 1.339, 1.555, 1.849, 2.215, 2.653, 3.203, 3.919",\
                 "1.358, 1.389, 1.477, 1.64, 1.872, 2.181, 2.573, 3.044, 3.591, 4.229",\
                 "1.663, 1.698, 1.797, 1.976, 2.232, 2.562, 2.971, 3.47, 4.054, 4.718",\
                 "2.008, 2.044, 2.157, 2.36, 2.638, 2.992, 3.422, 3.943, 4.556, 5.257");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.8109, 0.8962, 1.19, 1.747, 2.613, 3.822, 5.413, 7.413, 9.857, 12.77",\
                 "0.8109, 0.8957, 1.19, 1.748, 2.613, 3.823, 5.413, 7.413, 9.858, 12.77",\
                 "0.8122, 0.8948, 1.19, 1.748, 2.612, 3.823, 5.413, 7.414, 9.854, 12.76",\
                 "0.8146, 0.8986, 1.19, 1.748, 2.613, 3.823, 5.413, 7.415, 9.853, 12.77",\
                 "0.8604, 0.9382, 1.214, 1.753, 2.614, 3.825, 5.413, 7.414, 9.857, 12.77",\
                 "0.9338, 1.013, 1.293, 1.812, 2.635, 3.824, 5.414, 7.415, 9.857, 12.77",\
                 "1.051, 1.125, 1.392, 1.914, 2.72, 3.866, 5.419, 7.415, 9.858, 12.77",\
                 "1.244, 1.314, 1.557, 2.046, 2.846, 3.972, 5.48, 7.428, 9.857, 12.77",\
                 "1.481, 1.553, 1.796, 2.249, 3.006, 4.126, 5.607, 7.507, 9.881, 12.77",\
                 "1.741, 1.819, 2.074, 2.528, 3.239, 4.311, 5.784, 7.653, 9.976, 12.81");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2254, 0.2428, 0.3016, 0.4066, 0.5631, 0.7756, 1.051, 1.393, 1.809, 2.303",\
                 "0.2352, 0.2527, 0.3113, 0.4164, 0.5728, 0.7854, 1.06, 1.403, 1.819, 2.313",\
                 "0.2634, 0.2804, 0.3381, 0.4427, 0.599, 0.8118, 1.087, 1.429, 1.845, 2.339",\
                 "0.3083, 0.3267, 0.3884, 0.4963, 0.6517, 0.8635, 1.138, 1.481, 1.896, 2.391",\
                 "0.3411, 0.3628, 0.4338, 0.5554, 0.7266, 0.9475, 1.222, 1.564, 1.979, 2.472",\
                 "0.3472, 0.3738, 0.4583, 0.6002, 0.7928, 1.036, 1.332, 1.683, 2.098, 2.591",\
                 "0.3214, 0.3522, 0.4513, 0.6168, 0.8406, 1.113, 1.437, 1.815, 2.252, 2.75",\
                 "0.2587, 0.2935, 0.4075, 0.6, 0.8558, 1.166, 1.525, 1.935, 2.402, 2.931",\
                 "0.1595, 0.1984, 0.327, 0.5438, 0.8345, 1.185, 1.588, 2.037, 2.54, 3.102",\
                 "0.0217, 0.0649, 0.2067, 0.4478, 0.7735, 1.166, 1.613, 2.112, 2.659, 3.259");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.463, 0.4962, 0.6095, 0.8232, 1.155, 1.62, 2.23, 2.999, 3.938, 5.056",\
                 "0.4767, 0.5096, 0.6238, 0.8376, 1.17, 1.635, 2.246, 3.015, 3.954, 5.072",\
                 "0.5244, 0.5577, 0.6723, 0.8883, 1.221, 1.687, 2.298, 3.068, 4.008, 5.126",\
                 "0.6028, 0.6366, 0.7522, 0.9684, 1.301, 1.767, 2.379, 3.149, 4.089, 5.208",\
                 "0.7006, 0.7376, 0.8634, 1.087, 1.42, 1.883, 2.493, 3.263, 4.201, 5.32",\
                 "0.8403, 0.8795, 1.011, 1.248, 1.597, 2.06, 2.664, 3.428, 4.362, 5.478",\
                 "1.033, 1.075, 1.217, 1.464, 1.825, 2.307, 2.912, 3.666, 4.593, 5.702",\
                 "1.271, 1.32, 1.477, 1.741, 2.114, 2.609, 3.236, 3.994, 4.908, 6.006",\
                 "1.555, 1.609, 1.783, 2.072, 2.467, 2.974, 3.616, 4.398, 5.318, 6.403",\
                 "1.878, 1.938, 2.132, 2.448, 2.875, 3.407, 4.062, 4.86, 5.808, 6.902");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.299, 0.3269, 0.4182, 0.585, 0.8385, 1.19, 1.65, 2.23, 2.933, 3.774",\
                 "0.2993, 0.3254, 0.4169, 0.585, 0.8384, 1.19, 1.65, 2.228, 2.934, 3.773",\
                 "0.2935, 0.3205, 0.4121, 0.5836, 0.8386, 1.189, 1.651, 2.228, 2.935, 3.774",\
                 "0.3449, 0.3695, 0.4521, 0.6012, 0.8418, 1.189, 1.65, 2.229, 2.935, 3.773",\
                 "0.4374, 0.4628, 0.5452, 0.6954, 0.9202, 1.232, 1.664, 2.231, 2.934, 3.774",\
                 "0.5654, 0.5928, 0.68, 0.8324, 1.058, 1.367, 1.769, 2.29, 2.954, 3.776",\
                 "0.7174, 0.7496, 0.8478, 1.015, 1.243, 1.551, 1.953, 2.459, 3.076, 3.845",\
                 "0.8924, 0.9292, 1.041, 1.226, 1.472, 1.788, 2.188, 2.689, 3.306, 4.036",\
                 "1.088, 1.129, 1.259, 1.464, 1.736, 2.07, 2.478, 2.978, 3.593, 4.324",\
                 "1.306, 1.351, 1.498, 1.731, 2.032, 2.393, 2.819, 3.33, 3.934, 4.661");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5103, 0.5659, 0.7611, 1.135, 1.715, 2.525, 3.589, 4.928, 6.564, 8.511",\
                 "0.5109, 0.5663, 0.7616, 1.134, 1.715, 2.525, 3.589, 4.928, 6.564, 8.512",\
                 "0.5121, 0.5674, 0.7619, 1.135, 1.715, 2.525, 3.589, 4.929, 6.563, 8.512",\
                 "0.5347, 0.5851, 0.7696, 1.136, 1.715, 2.525, 3.589, 4.929, 6.563, 8.512",\
                 "0.6224, 0.6724, 0.8452, 1.176, 1.723, 2.525, 3.59, 4.928, 6.564, 8.511",\
                 "0.7286, 0.7778, 0.956, 1.294, 1.807, 2.555, 3.592, 4.93, 6.564, 8.511",\
                 "0.889, 0.9336, 1.101, 1.43, 1.956, 2.675, 3.651, 4.94, 6.563, 8.513",\
                 "1.082, 1.129, 1.293, 1.608, 2.123, 2.858, 3.808, 5.033, 6.591, 8.513",\
                 "1.299, 1.346, 1.518, 1.838, 2.331, 3.058, 4.025, 5.224, 6.717, 8.566",\
                 "1.531, 1.584, 1.764, 2.097, 2.592, 3.298, 4.263, 5.481, 6.944, 8.724");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2133, 0.2308, 0.2888, 0.3931, 0.5487, 0.7605, 1.035, 1.377, 1.792, 2.286",\
                 "0.223, 0.2404, 0.2983, 0.4027, 0.5581, 0.7698, 1.044, 1.386, 1.802, 2.296",\
                 "0.2513, 0.268, 0.3249, 0.4287, 0.5838, 0.7957, 1.07, 1.412, 1.828, 2.321",\
                 "0.2927, 0.3115, 0.3731, 0.4812, 0.6363, 0.8474, 1.121, 1.463, 1.879, 2.372",\
                 "0.319, 0.3412, 0.4138, 0.5366, 0.7085, 0.93, 1.205, 1.546, 1.96, 2.454",\
                 "0.3155, 0.3421, 0.4289, 0.574, 0.7704, 1.016, 1.313, 1.664, 2.079, 2.571",\
                 "0.275, 0.3065, 0.4107, 0.5822, 0.8099, 1.087, 1.412, 1.792, 2.23, 2.729",\
                 "0.1958, 0.2322, 0.3523, 0.5508, 0.8148, 1.13, 1.494, 1.907, 2.377, 2.907",\
                 "0.0765, 0.1181, 0.253, 0.4782, 0.7791, 1.138, 1.547, 2.003, 2.509, 3.074",\
                 "-0.0854, -0.0393, 0.11, 0.3621, 0.7004, 1.104, 1.561, 2.066, 2.619, 3.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5423, 0.5827, 0.724, 0.9911, 1.407, 1.989, 2.755, 3.719, 4.896, 6.298",\
                 "0.5539, 0.5948, 0.7364, 1.005, 1.422, 2.004, 2.77, 3.733, 4.91, 6.313",\
                 "0.5962, 0.6379, 0.7804, 1.05, 1.468, 2.051, 2.817, 3.783, 4.959, 6.361",\
                 "0.6606, 0.7017, 0.8443, 1.114, 1.532, 2.115, 2.882, 3.848, 5.025, 6.429",\
                 "0.7445, 0.7887, 0.9382, 1.21, 1.624, 2.205, 2.971, 3.935, 5.112, 6.514",\
                 "0.8803, 0.9247, 1.077, 1.357, 1.776, 2.349, 3.106, 4.064, 5.237, 6.634",\
                 "1.077, 1.125, 1.283, 1.566, 1.991, 2.57, 3.316, 4.261, 5.421, 6.811",\
                 "1.326, 1.38, 1.552, 1.847, 2.274, 2.859, 3.612, 4.543, 5.688, 7.064",\
                 "1.621, 1.68, 1.87, 2.188, 2.631, 3.218, 3.978, 4.917, 6.046, 7.402",\
                 "1.958, 2.023, 2.233, 2.58, 3.052, 3.653, 4.415, 5.364, 6.502, 7.843");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2831, 0.3095, 0.4008, 0.5674, 0.8202, 1.171, 1.63, 2.209, 2.914, 3.753",\
                 "0.2812, 0.3093, 0.4, 0.5667, 0.8199, 1.171, 1.631, 2.207, 2.915, 3.753",\
                 "0.2787, 0.3049, 0.3957, 0.5652, 0.8194, 1.171, 1.63, 2.209, 2.914, 3.754",\
                 "0.3347, 0.3587, 0.44, 0.5871, 0.8247, 1.17, 1.631, 2.208, 2.914, 3.753",\
                 "0.4315, 0.4568, 0.5378, 0.6846, 0.9076, 1.217, 1.646, 2.209, 2.914, 3.753",\
                 "0.5652, 0.592, 0.6778, 0.8272, 1.048, 1.354, 1.755, 2.272, 2.935, 3.756",\
                 "0.7246, 0.754, 0.8532, 1.015, 1.24, 1.544, 1.943, 2.445, 3.06, 3.827",\
                 "0.909, 0.9448, 1.056, 1.236, 1.478, 1.788, 2.183, 2.682, 3.294, 4.023",\
                 "1.122, 1.16, 1.287, 1.492, 1.756, 2.082, 2.481, 2.977, 3.584, 4.312",\
                 "1.36, 1.406, 1.546, 1.772, 2.066, 2.416, 2.834, 3.335, 3.936, 4.658");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6381, 0.7082, 0.9531, 1.419, 2.143, 3.154, 4.483, 6.157, 8.199, 10.63",\
                 "0.6388, 0.7084, 0.9529, 1.42, 2.143, 3.155, 4.484, 6.159, 8.201, 10.63",\
                 "0.6398, 0.709, 0.9533, 1.42, 2.143, 3.155, 4.484, 6.157, 8.201, 10.64",\
                 "0.6522, 0.7187, 0.9562, 1.42, 2.143, 3.155, 4.484, 6.158, 8.201, 10.63",\
                 "0.7258, 0.7892, 1.01, 1.442, 2.144, 3.155, 4.485, 6.158, 8.201, 10.64",\
                 "0.8182, 0.8808, 1.105, 1.532, 2.195, 3.165, 4.485, 6.159, 8.201, 10.63",\
                 "0.9716, 1.027, 1.233, 1.65, 2.313, 3.243, 4.51, 6.16, 8.201, 10.64",\
                 "1.167, 1.224, 1.418, 1.808, 2.456, 3.384, 4.61, 6.203, 8.207, 10.64",\
                 "1.39, 1.447, 1.648, 2.026, 2.639, 3.555, 4.778, 6.326, 8.271, 10.65",\
                 "1.635, 1.695, 1.907, 2.293, 2.884, 3.765, 4.979, 6.52, 8.416, 10.73");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2223, 0.2395, 0.2979, 0.4032, 0.5599, 0.7725, 1.047, 1.389, 1.804, 2.298",\
                 "0.2316, 0.2491, 0.3074, 0.4127, 0.5693, 0.7819, 1.056, 1.398, 1.814, 2.307",\
                 "0.2595, 0.2763, 0.3337, 0.4387, 0.5952, 0.8078, 1.082, 1.424, 1.84, 2.333",\
                 "0.3035, 0.3219, 0.3835, 0.4915, 0.6475, 0.8594, 1.133, 1.475, 1.891, 2.384",\
                 "0.3343, 0.3562, 0.4272, 0.5495, 0.7213, 0.9426, 1.217, 1.558, 1.973, 2.466",\
                 "0.3384, 0.3641, 0.4488, 0.5919, 0.7858, 1.03, 1.326, 1.677, 2.091, 2.583",\
                 "0.3077, 0.338, 0.4371, 0.604, 0.8286, 1.103, 1.427, 1.806, 2.243, 2.742",\
                 "0.2376, 0.2721, 0.3858, 0.5789, 0.8371, 1.15, 1.511, 1.922, 2.391, 2.92",\
                 "0.1275, 0.1659, 0.2935, 0.5116, 0.8061, 1.16, 1.566, 2.019, 2.524, 3.088",\
                 "-0.0253, 0.0175, 0.1591, 0.4011, 0.7307, 1.129, 1.582, 2.085, 2.636, 3.239");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6322, 0.6726, 0.8136, 1.081, 1.497, 2.079, 2.844, 3.808, 4.985, 6.387",\
                 "0.6445, 0.6856, 0.8264, 1.095, 1.512, 2.094, 2.86, 3.824, 5, 6.402",\
                 "0.688, 0.7281, 0.8711, 1.14, 1.558, 2.141, 2.908, 3.873, 5.049, 6.453",\
                 "0.7517, 0.7923, 0.9351, 1.204, 1.622, 2.206, 2.973, 3.938, 5.116, 6.519",\
                 "0.8417, 0.8846, 1.031, 1.3, 1.714, 2.295, 3.061, 4.025, 5.201, 6.603",\
                 "0.9784, 1.021, 1.172, 1.449, 1.865, 2.438, 3.196, 4.154, 5.325, 6.724",\
                 "1.182, 1.226, 1.379, 1.658, 2.082, 2.658, 3.404, 4.348, 5.511, 6.901",\
                 "1.44, 1.489, 1.653, 1.941, 2.365, 2.949, 3.699, 4.629, 5.776, 7.152",\
                 "1.747, 1.801, 1.979, 2.286, 2.723, 3.308, 4.066, 5.003, 6.132, 7.49",\
                 "2.098, 2.157, 2.353, 2.685, 3.147, 3.743, 4.504, 5.451, 6.587, 7.929");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3459, 0.371, 0.4577, 0.6208, 0.8709, 1.222, 1.681, 2.259, 2.964, 3.802",\
                 "0.345, 0.3701, 0.4572, 0.6203, 0.8716, 1.222, 1.681, 2.258, 2.963, 3.803",\
                 "0.3422, 0.3666, 0.4533, 0.6186, 0.8715, 1.222, 1.681, 2.259, 2.964, 3.803",\
                 "0.4011, 0.4224, 0.4983, 0.6415, 0.8772, 1.221, 1.681, 2.259, 2.963, 3.802",\
                 "0.5073, 0.529, 0.6028, 0.7426, 0.9602, 1.268, 1.697, 2.259, 2.962, 3.803",\
                 "0.6558, 0.6784, 0.7538, 0.8944, 1.107, 1.409, 1.806, 2.322, 2.986, 3.807",\
                 "0.8338, 0.8584, 0.9442, 1.091, 1.305, 1.602, 1.997, 2.497, 3.11, 3.877",\
                 "1.039, 1.068, 1.163, 1.324, 1.552, 1.852, 2.241, 2.735, 3.347, 4.073",\
                 "1.275, 1.305, 1.412, 1.595, 1.839, 2.154, 2.545, 3.035, 3.639, 4.365",\
                 "1.536, 1.576, 1.693, 1.891, 2.161, 2.498, 2.907, 3.398, 3.993, 4.713");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7524, 0.8236, 1.07, 1.537, 2.261, 3.274, 4.603, 6.278, 8.319, 10.75",\
                 "0.7531, 0.8236, 1.07, 1.537, 2.261, 3.273, 4.604, 6.278, 8.322, 10.75",\
                 "0.7535, 0.8232, 1.07, 1.537, 2.261, 3.274, 4.603, 6.278, 8.322, 10.76",\
                 "0.76, 0.8284, 1.071, 1.537, 2.261, 3.273, 4.604, 6.277, 8.321, 10.75",\
                 "0.8248, 0.8878, 1.111, 1.551, 2.261, 3.274, 4.604, 6.278, 8.321, 10.76",\
                 "0.9134, 0.9786, 1.206, 1.634, 2.304, 3.28, 4.604, 6.279, 8.322, 10.76",\
                 "1.048, 1.109, 1.325, 1.75, 2.415, 3.351, 4.624, 6.28, 8.322, 10.76",\
                 "1.237, 1.295, 1.497, 1.899, 2.558, 3.489, 4.719, 6.318, 8.325, 10.76",\
                 "1.458, 1.518, 1.722, 2.109, 2.734, 3.659, 4.884, 6.436, 8.384, 10.77",\
                 "1.703, 1.766, 1.981, 2.369, 2.971, 3.864, 5.085, 6.628, 8.527, 10.85");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1749, 0.1935, 0.2555, 0.3653, 0.526, 0.7422, 1.02, 1.365, 1.782, 2.278",\
                 "0.1853, 0.2038, 0.2655, 0.3751, 0.5357, 0.752, 1.03, 1.374, 1.792, 2.287",\
                 "0.2172, 0.2349, 0.294, 0.4019, 0.5619, 0.7781, 1.056, 1.4, 1.818, 2.313",\
                 "0.2558, 0.2761, 0.3422, 0.4552, 0.6147, 0.8293, 1.107, 1.451, 1.869, 2.364",\
                 "0.2761, 0.3006, 0.3789, 0.5086, 0.6861, 0.9118, 1.19, 1.533, 1.95, 2.445",\
                 "0.2653, 0.2946, 0.389, 0.5426, 0.7457, 0.9961, 1.297, 1.652, 2.068, 2.562",\
                 "0.2171, 0.2521, 0.3636, 0.545, 0.7815, 1.065, 1.396, 1.779, 2.219, 2.72",\
                 "0.131, 0.1705, 0.2985, 0.5088, 0.7814, 1.106, 1.475, 1.893, 2.365, 2.897",\
                 "0.0043, 0.0495, 0.1923, 0.4299, 0.7415, 1.109, 1.526, 1.986, 2.496, 3.063",\
                 "-0.1637, -0.1148, 0.0451, 0.3086, 0.6565, 1.071, 1.536, 2.047, 2.604, 3.212");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5448, 0.5852, 0.7256, 0.9905, 1.402, 1.977, 2.734, 3.688, 4.853, 6.24",\
                 "0.5567, 0.5977, 0.7386, 1.004, 1.416, 1.992, 2.75, 3.704, 4.868, 6.255",\
                 "0.6032, 0.6446, 0.7862, 1.054, 1.467, 2.043, 2.802, 3.756, 4.921, 6.309",\
                 "0.6787, 0.72, 0.862, 1.129, 1.542, 2.12, 2.879, 3.834, 4.999, 6.387",\
                 "0.7735, 0.8175, 0.966, 1.235, 1.644, 2.22, 2.977, 3.931, 5.096, 6.484",\
                 "0.9092, 0.9537, 1.105, 1.384, 1.8, 2.368, 3.119, 4.068, 5.227, 6.612",\
                 "1.1, 1.148, 1.306, 1.588, 2.012, 2.587, 3.327, 4.264, 5.415, 6.793",\
                 "1.341, 1.394, 1.567, 1.861, 2.288, 2.871, 3.619, 4.543, 5.679, 7.044",\
                 "1.629, 1.689, 1.878, 2.196, 2.639, 3.224, 3.981, 4.914, 6.035, 7.382",\
                 "1.962, 2.028, 2.237, 2.583, 3.055, 3.654, 4.413, 5.357, 6.488, 7.818");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2636, 0.2928, 0.3903, 0.5628, 0.8184, 1.17, 1.631, 2.208, 2.915, 3.754",\
                 "0.2614, 0.291, 0.3886, 0.562, 0.8189, 1.171, 1.631, 2.209, 2.913, 3.753",\
                 "0.2637, 0.2901, 0.3824, 0.5566, 0.8152, 1.171, 1.63, 2.208, 2.914, 3.753",\
                 "0.3302, 0.3548, 0.4353, 0.5833, 0.8206, 1.167, 1.63, 2.209, 2.913, 3.753",\
                 "0.4357, 0.4601, 0.5396, 0.686, 0.9074, 1.216, 1.644, 2.21, 2.913, 3.753",\
                 "0.5762, 0.6014, 0.6874, 0.8348, 1.053, 1.357, 1.755, 2.271, 2.935, 3.756",\
                 "0.7408, 0.7714, 0.8682, 1.028, 1.253, 1.551, 1.947, 2.447, 3.06, 3.826",\
                 "0.9312, 0.9666, 1.077, 1.255, 1.496, 1.801, 2.191, 2.685, 3.296, 4.021",\
                 "1.148, 1.188, 1.314, 1.513, 1.778, 2.1, 2.496, 2.986, 3.588, 4.316",\
                 "1.392, 1.439, 1.581, 1.804, 2.095, 2.439, 2.854, 3.348, 3.945, 4.666");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.5554, 0.6253, 0.8678, 1.332, 2.055, 3.065, 4.395, 6.067, 8.111, 10.54",\
                 "0.5571, 0.6251, 0.8676, 1.331, 2.054, 3.066, 4.394, 6.065, 8.106, 10.54",\
                 "0.5586, 0.6267, 0.8677, 1.332, 2.054, 3.065, 4.393, 6.066, 8.11, 10.54",\
                 "0.5709, 0.6364, 0.8722, 1.333, 2.055, 3.066, 4.394, 6.066, 8.105, 10.54",\
                 "0.637, 0.701, 0.9212, 1.353, 2.056, 3.066, 4.394, 6.066, 8.107, 10.54",\
                 "0.712, 0.7782, 1.008, 1.441, 2.105, 3.075, 4.394, 6.068, 8.107, 10.54",\
                 "0.8464, 0.9076, 1.124, 1.551, 2.221, 3.151, 4.418, 6.068, 8.108, 10.54",\
                 "1.03, 1.093, 1.301, 1.703, 2.359, 3.295, 4.52, 6.111, 8.113, 10.54",\
                 "1.241, 1.308, 1.525, 1.915, 2.541, 3.465, 4.689, 6.237, 8.179, 10.55",\
                 "1.474, 1.54, 1.773, 2.181, 2.785, 3.671, 4.891, 6.432, 8.327, 10.64");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1695, 0.1877, 0.2483, 0.3565, 0.5155, 0.7302, 1.007, 1.35, 1.767, 2.262",\
                 "0.1797, 0.1977, 0.2581, 0.366, 0.5249, 0.7397, 1.016, 1.36, 1.776, 2.271",\
                 "0.2105, 0.228, 0.2861, 0.3923, 0.5508, 0.7654, 1.042, 1.385, 1.802, 2.297",\
                 "0.2454, 0.2658, 0.3318, 0.4444, 0.6032, 0.8165, 1.093, 1.436, 1.853, 2.348",\
                 "0.2591, 0.284, 0.3635, 0.4941, 0.6721, 0.8979, 1.175, 1.518, 1.934, 2.429",\
                 "0.2381, 0.2686, 0.3655, 0.5222, 0.7273, 0.979, 1.28, 1.636, 2.051, 2.545",\
                 "0.177, 0.2129, 0.329, 0.5146, 0.756, 1.042, 1.375, 1.759, 2.201, 2.702",\
                 "0.0736, 0.1159, 0.2486, 0.4663, 0.7462, 1.076, 1.449, 1.869, 2.343, 2.876",\
                 "-0.0723, -0.026, 0.1255, 0.3709, 0.6926, 1.069, 1.491, 1.956, 2.468, 3.038",\
                 "-0.2656, -0.2132, -0.0449, 0.2303, 0.5911, 1.016, 1.49, 2.007, 2.57, 3.181");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6191, 0.6673, 0.8343, 1.152, 1.644, 2.335, 3.243, 4.388, 5.785, 7.449",\
                 "0.6295, 0.6781, 0.8467, 1.165, 1.658, 2.35, 3.258, 4.403, 5.799, 7.464",\
                 "0.6705, 0.7191, 0.8888, 1.208, 1.703, 2.396, 3.305, 4.45, 5.848, 7.513",\
                 "0.7324, 0.7812, 0.95, 1.269, 1.764, 2.457, 3.367, 4.514, 5.912, 7.577",\
                 "0.8146, 0.8652, 1.038, 1.355, 1.847, 2.537, 3.445, 4.59, 5.987, 7.651",\
                 "0.9468, 0.9971, 1.171, 1.494, 1.982, 2.662, 3.561, 4.699, 6.091, 7.752",\
                 "1.147, 1.2, 1.375, 1.695, 2.186, 2.861, 3.744, 4.868, 6.249, 7.901",\
                 "1.405, 1.462, 1.651, 1.977, 2.464, 3.139, 4.015, 5.119, 6.481, 8.117",\
                 "1.714, 1.778, 1.983, 2.331, 2.823, 3.494, 4.372, 5.465, 6.803, 8.418",\
                 "2.069, 2.139, 2.367, 2.742, 3.259, 3.932, 4.805, 5.902, 7.228, 8.816");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2506, 0.2794, 0.375, 0.5451, 0.7995, 1.152, 1.611, 2.189, 2.894, 3.732",\
                 "0.2483, 0.2774, 0.3734, 0.5453, 0.8006, 1.152, 1.611, 2.189, 2.894, 3.733",\
                 "0.253, 0.2786, 0.3685, 0.5408, 0.7977, 1.152, 1.611, 2.189, 2.895, 3.734",\
                 "0.3216, 0.3456, 0.4247, 0.5705, 0.8052, 1.149, 1.611, 2.188, 2.894, 3.733",\
                 "0.4301, 0.4529, 0.5328, 0.6756, 0.8952, 1.201, 1.628, 2.19, 2.894, 3.732",\
                 "0.5704, 0.5966, 0.6834, 0.8298, 1.044, 1.346, 1.741, 2.255, 2.917, 3.735",\
                 "0.7408, 0.7716, 0.8672, 1.027, 1.248, 1.543, 1.935, 2.433, 3.046, 3.811",\
                 "0.9398, 0.974, 1.084, 1.263, 1.499, 1.799, 2.186, 2.677, 3.283, 4.008",\
                 "1.168, 1.208, 1.331, 1.532, 1.789, 2.109, 2.497, 2.981, 3.583, 4.304",\
                 "1.424, 1.472, 1.612, 1.836, 2.118, 2.461, 2.867, 3.354, 3.943, 4.66");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6662, 0.75, 1.042, 1.6, 2.464, 3.672, 5.262, 7.265, 9.706, 12.61",\
                 "0.6669, 0.751, 1.043, 1.599, 2.463, 3.673, 5.262, 7.264, 9.703, 12.61",\
                 "0.668, 0.7505, 1.043, 1.599, 2.463, 3.672, 5.261, 7.262, 9.705, 12.61",\
                 "0.6758, 0.7564, 1.045, 1.6, 2.463, 3.673, 5.262, 7.263, 9.705, 12.61",\
                 "0.733, 0.811, 1.081, 1.61, 2.464, 3.673, 5.262, 7.263, 9.704, 12.61",\
                 "0.8028, 0.8808, 1.158, 1.678, 2.493, 3.675, 5.262, 7.263, 9.706, 12.62",\
                 "0.9336, 1.005, 1.262, 1.776, 2.583, 3.724, 5.269, 7.264, 9.708, 12.62",\
                 "1.123, 1.191, 1.431, 1.909, 2.702, 3.832, 5.335, 7.279, 9.705, 12.62",\
                 "1.343, 1.414, 1.656, 2.108, 2.857, 3.977, 5.462, 7.36, 9.732, 12.62",\
                 "1.586, 1.662, 1.917, 2.37, 3.08, 4.154, 5.63, 7.505, 9.828, 12.66");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1774, 0.1959, 0.2569, 0.3661, 0.5265, 0.7423, 1.019, 1.363, 1.779, 2.274",\
                 "0.1876, 0.2057, 0.2667, 0.3757, 0.5359, 0.7517, 1.028, 1.372, 1.789, 2.283",\
                 "0.2185, 0.2358, 0.2945, 0.4019, 0.5617, 0.7773, 1.054, 1.398, 1.814, 2.309",\
                 "0.2565, 0.2765, 0.3421, 0.4547, 0.6142, 0.8285, 1.105, 1.448, 1.865, 2.36",\
                 "0.2763, 0.3004, 0.3778, 0.5073, 0.6849, 0.9105, 1.188, 1.53, 1.946, 2.441",\
                 "0.265, 0.294, 0.3868, 0.5402, 0.743, 0.9933, 1.294, 1.648, 2.064, 2.557",\
                 "0.2155, 0.2491, 0.3585, 0.5387, 0.7755, 1.059, 1.39, 1.773, 2.214, 2.714",\
                 "0.124, 0.1622, 0.2873, 0.4962, 0.7701, 1.096, 1.466, 1.884, 2.357, 2.889",\
                 "-0.0116, 0.0316, 0.172, 0.4082, 0.7213, 1.092, 1.51, 1.972, 2.483, 3.051",\
                 "-0.1939, -0.1461, 0.0108, 0.2739, 0.6247, 1.042, 1.512, 2.027, 2.586, 3.196");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7257, 0.7735, 0.9412, 1.258, 1.751, 2.442, 3.351, 4.496, 5.893, 7.556",\
                 "0.7371, 0.7858, 0.9537, 1.272, 1.765, 2.456, 3.365, 4.511, 5.907, 7.572",\
                 "0.779, 0.8277, 0.9965, 1.316, 1.81, 2.503, 3.412, 4.559, 5.956, 7.62",\
                 "0.8406, 0.8888, 1.057, 1.377, 1.872, 2.565, 3.475, 4.622, 6.019, 7.684",\
                 "0.9266, 0.9762, 1.145, 1.462, 1.954, 2.645, 3.553, 4.697, 6.095, 7.759",\
                 "1.058, 1.108, 1.28, 1.601, 2.087, 2.768, 3.669, 4.806, 6.199, 7.859",\
                 "1.261, 1.311, 1.482, 1.802, 2.292, 2.964, 3.849, 4.974, 6.355, 8.008",\
                 "1.529, 1.583, 1.762, 2.082, 2.567, 3.243, 4.118, 5.222, 6.586, 8.224",\
                 "1.85, 1.909, 2.103, 2.439, 2.926, 3.597, 4.474, 5.567, 6.907, 8.522",\
                 "2.22, 2.285, 2.496, 2.858, 3.363, 4.034, 4.907, 6.003, 7.33, 8.919");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3172, 0.3437, 0.4343, 0.6004, 0.8532, 1.202, 1.661, 2.239, 2.942, 3.781",\
                 "0.3149, 0.3416, 0.4328, 0.5996, 0.8523, 1.204, 1.662, 2.239, 2.944, 3.783",\
                 "0.3182, 0.3422, 0.4287, 0.5956, 0.8511, 1.203, 1.662, 2.239, 2.942, 3.781",\
                 "0.3916, 0.413, 0.4854, 0.6258, 0.8593, 1.202, 1.66, 2.239, 2.943, 3.783",\
                 "0.5122, 0.5313, 0.6014, 0.736, 0.9492, 1.253, 1.679, 2.239, 2.942, 3.783",\
                 "0.671, 0.692, 0.7642, 0.8986, 1.104, 1.4, 1.792, 2.305, 2.968, 3.786",\
                 "0.8626, 0.8868, 0.9646, 1.107, 1.315, 1.603, 1.991, 2.485, 3.095, 3.86",\
                 "1.084, 1.112, 1.201, 1.357, 1.575, 1.865, 2.244, 2.731, 3.336, 4.059",\
                 "1.34, 1.371, 1.469, 1.64, 1.877, 2.18, 2.563, 3.041, 3.638, 4.356",\
                 "1.626, 1.659, 1.77, 1.963, 2.217, 2.542, 2.938, 3.417, 4.001, 4.716");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.8031, 0.8868, 1.182, 1.74, 2.605, 3.815, 5.406, 7.409, 9.852, 12.76",\
                 "0.8043, 0.8885, 1.182, 1.74, 2.604, 3.815, 5.405, 7.409, 9.85, 12.75",\
                 "0.8039, 0.8887, 1.182, 1.74, 2.605, 3.815, 5.405, 7.41, 9.853, 12.76",\
                 "0.8074, 0.8912, 1.183, 1.74, 2.605, 3.815, 5.405, 7.409, 9.849, 12.76",\
                 "0.8544, 0.9322, 1.208, 1.746, 2.605, 3.816, 5.405, 7.407, 9.851, 12.76",\
                 "0.9236, 1.006, 1.285, 1.805, 2.627, 3.818, 5.407, 7.407, 9.85, 12.76",\
                 "1.037, 1.111, 1.379, 1.903, 2.711, 3.858, 5.411, 7.408, 9.852, 12.76",\
                 "1.213, 1.283, 1.533, 2.026, 2.831, 3.962, 5.472, 7.422, 9.85, 12.76",\
                 "1.432, 1.503, 1.747, 2.212, 2.978, 4.105, 5.594, 7.497, 9.874, 12.76",\
                 "1.676, 1.752, 2.006, 2.466, 3.189, 4.277, 5.762, 7.639, 9.966, 12.8");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1834, 0.2021, 0.2644, 0.3751, 0.5367, 0.7533, 1.031, 1.376, 1.793, 2.288",\
                 "0.1936, 0.2123, 0.2745, 0.3849, 0.5464, 0.7631, 1.041, 1.385, 1.803, 2.298",\
                 "0.2255, 0.2431, 0.3027, 0.4116, 0.5726, 0.7891, 1.067, 1.411, 1.829, 2.324",\
                 "0.2673, 0.2872, 0.3527, 0.4655, 0.6253, 0.8404, 1.118, 1.462, 1.879, 2.374",\
                 "0.2934, 0.317, 0.3931, 0.5216, 0.6984, 0.9234, 1.201, 1.544, 1.961, 2.456",\
                 "0.291, 0.3189, 0.4093, 0.5594, 0.7601, 1.009, 1.309, 1.663, 2.079, 2.573",\
                 "0.2523, 0.2849, 0.3907, 0.5662, 0.7991, 1.08, 1.409, 1.791, 2.231, 2.731",\
                 "0.1745, 0.2113, 0.3323, 0.535, 0.8027, 1.123, 1.49, 1.906, 2.377, 2.909",\
                 "0.0569, 0.098, 0.2331, 0.461, 0.7664, 1.13, 1.542, 2.001, 2.509, 3.075",\
                 "-0.1033, -0.0575, 0.0923, 0.345, 0.6851, 1.094, 1.555, 2.064, 2.619, 3.225");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6247, 0.6647, 0.8047, 1.07, 1.481, 2.056, 2.814, 3.767, 4.931, 6.318",\
                 "0.6373, 0.6775, 0.8182, 1.084, 1.495, 2.071, 2.829, 3.783, 4.947, 6.334",\
                 "0.6847, 0.7252, 0.8664, 1.133, 1.545, 2.123, 2.881, 3.835, 5.001, 6.388",\
                 "0.7602, 0.8008, 0.9419, 1.209, 1.621, 2.199, 2.958, 3.913, 5.079, 6.468",\
                 "0.86, 0.9027, 1.048, 1.314, 1.724, 2.299, 3.057, 4.011, 5.175, 6.562",\
                 "0.9964, 1.04, 1.19, 1.466, 1.878, 2.447, 3.197, 4.146, 5.306, 6.69",\
                 "1.193, 1.238, 1.391, 1.67, 2.092, 2.665, 3.404, 4.342, 5.494, 6.872",\
                 "1.443, 1.493, 1.657, 1.944, 2.369, 2.95, 3.696, 4.62, 5.757, 7.121",\
                 "1.743, 1.798, 1.976, 2.284, 2.72, 3.303, 4.059, 4.99, 6.112, 7.458",\
                 "2.087, 2.147, 2.345, 2.678, 3.138, 3.733, 4.492, 5.434, 6.564, 7.894");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3247, 0.3518, 0.4434, 0.6114, 0.8649, 1.217, 1.676, 2.251, 2.957, 3.797",\
                 "0.3224, 0.3496, 0.4421, 0.6106, 0.8644, 1.216, 1.675, 2.251, 2.958, 3.796",\
                 "0.3233, 0.3482, 0.4366, 0.6063, 0.864, 1.215, 1.674, 2.252, 2.957, 3.796",\
                 "0.3938, 0.4154, 0.49, 0.6329, 0.8684, 1.212, 1.675, 2.252, 2.958, 3.795",\
                 "0.509, 0.5306, 0.6016, 0.7396, 0.956, 1.262, 1.69, 2.254, 2.958, 3.796",\
                 "0.6646, 0.6852, 0.7594, 0.8956, 1.106, 1.406, 1.8, 2.317, 2.98, 3.8",\
                 "0.8466, 0.8718, 0.953, 1.098, 1.312, 1.604, 1.996, 2.492, 3.104, 3.872",\
                 "1.057, 1.086, 1.178, 1.337, 1.564, 1.859, 2.242, 2.734, 3.341, 4.067",\
                 "1.294, 1.327, 1.431, 1.609, 1.852, 2.165, 2.553, 3.038, 3.638, 4.362",\
                 "1.562, 1.598, 1.714, 1.915, 2.185, 2.512, 2.917, 3.404, 3.997, 4.712");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.6559, 0.7263, 0.971, 1.437, 2.16, 3.171, 4.5, 6.173, 8.216, 10.65",\
                 "0.6562, 0.7264, 0.97, 1.437, 2.159, 3.171, 4.5, 6.172, 8.213, 10.65",\
                 "0.6569, 0.7264, 0.9706, 1.436, 2.159, 3.171, 4.5, 6.173, 8.219, 10.65",\
                 "0.664, 0.732, 0.9734, 1.438, 2.159, 3.171, 4.5, 6.173, 8.219, 10.65",\
                 "0.7238, 0.7876, 1.012, 1.45, 2.16, 3.171, 4.503, 6.173, 8.214, 10.64",\
                 "0.8012, 0.8674, 1.101, 1.531, 2.202, 3.178, 4.501, 6.174, 8.213, 10.65",\
                 "0.9232, 0.985, 1.208, 1.644, 2.314, 3.248, 4.521, 6.174, 8.215, 10.65",\
                 "1.1, 1.162, 1.376, 1.788, 2.452, 3.388, 4.617, 6.213, 8.219, 10.65",\
                 "1.311, 1.375, 1.594, 1.991, 2.627, 3.557, 4.784, 6.334, 8.279, 10.66",\
                 "1.545, 1.613, 1.845, 2.251, 2.862, 3.758, 4.986, 6.527, 8.425, 10.74");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1774, 0.1957, 0.2568, 0.3658, 0.5259, 0.7412, 1.018, 1.361, 1.778, 2.272",\
                 "0.1875, 0.2056, 0.2666, 0.3754, 0.5353, 0.7506, 1.027, 1.37, 1.787, 2.282",\
                 "0.2185, 0.2358, 0.2944, 0.4017, 0.5611, 0.7763, 1.053, 1.396, 1.813, 2.307",\
                 "0.2563, 0.2764, 0.3419, 0.4545, 0.6136, 0.8274, 1.103, 1.447, 1.863, 2.358",\
                 "0.2759, 0.3, 0.3774, 0.5067, 0.684, 0.9093, 1.186, 1.529, 1.945, 2.439",\
                 "0.2639, 0.2929, 0.3857, 0.5388, 0.7417, 0.992, 1.292, 1.647, 2.062, 2.555",\
                 "0.2124, 0.2462, 0.356, 0.5364, 0.7736, 1.057, 1.388, 1.772, 2.212, 2.713",\
                 "0.119, 0.1574, 0.2833, 0.4929, 0.7673, 1.093, 1.464, 1.882, 2.355, 2.888",\
                 "-0.0187, 0.0249, 0.1667, 0.4037, 0.718, 1.089, 1.508, 1.971, 2.482, 3.05",\
                 "-0.2024, -0.1542, 0.004, 0.2686, 0.6206, 1.039, 1.509, 2.024, 2.584, 3.194");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.7146, 0.7624, 0.9299, 1.247, 1.74, 2.43, 3.34, 4.484, 5.881, 7.544",\
                 "0.7259, 0.7746, 0.9423, 1.26, 1.754, 2.445, 3.354, 4.499, 5.896, 7.56",\
                 "0.7679, 0.8163, 0.9846, 1.304, 1.799, 2.492, 3.401, 4.547, 5.945, 7.608",\
                 "0.8293, 0.8775, 1.046, 1.365, 1.86, 2.554, 3.465, 4.61, 6.007, 7.673",\
                 "0.9149, 0.9645, 1.134, 1.45, 1.942, 2.633, 3.541, 4.686, 6.084, 7.749",\
                 "1.046, 1.096, 1.268, 1.59, 2.076, 2.757, 3.657, 4.795, 6.187, 7.847",\
                 "1.25, 1.3, 1.471, 1.79, 2.28, 2.953, 3.838, 4.963, 6.344, 7.995",\
                 "1.516, 1.57, 1.75, 2.071, 2.556, 3.232, 4.107, 5.211, 6.574, 8.21",\
                 "1.836, 1.895, 2.091, 2.428, 2.915, 3.586, 4.463, 5.555, 6.894, 8.511",\
                 "2.205, 2.27, 2.483, 2.845, 3.352, 4.022, 4.896, 5.993, 7.319, 8.907");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3098, 0.3366, 0.4274, 0.594, 0.8464, 1.197, 1.656, 2.231, 2.937, 3.775",\
                 "0.3072, 0.3344, 0.4258, 0.5931, 0.8472, 1.197, 1.656, 2.232, 2.937, 3.777",\
                 "0.3108, 0.3351, 0.4217, 0.589, 0.8454, 1.196, 1.655, 2.233, 2.937, 3.776",\
                 "0.3837, 0.4051, 0.4784, 0.6192, 0.8525, 1.195, 1.654, 2.233, 2.937, 3.776",\
                 "0.5028, 0.5223, 0.5934, 0.729, 0.9428, 1.247, 1.672, 2.234, 2.937, 3.777",\
                 "0.6594, 0.6812, 0.7548, 0.89, 1.097, 1.393, 1.786, 2.299, 2.961, 3.779",\
                 "0.8486, 0.8736, 0.9532, 1.097, 1.307, 1.596, 1.984, 2.479, 3.089, 3.854",\
                 "1.069, 1.097, 1.187, 1.346, 1.566, 1.856, 2.237, 2.725, 3.329, 4.052",\
                 "1.321, 1.351, 1.454, 1.626, 1.867, 2.174, 2.554, 3.033, 3.63, 4.35",\
                 "1.606, 1.64, 1.752, 1.949, 2.209, 2.535, 2.93, 3.409, 3.995, 4.709");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.789, 0.8732, 1.168, 1.725, 2.589, 3.8, 5.39, 7.394, 9.837, 12.74",\
                 "0.7889, 0.8742, 1.168, 1.725, 2.591, 3.801, 5.391, 7.394, 9.835, 12.74",\
                 "0.7903, 0.8748, 1.168, 1.725, 2.59, 3.8, 5.39, 7.394, 9.837, 12.74",\
                 "0.7944, 0.8772, 1.169, 1.725, 2.59, 3.8, 5.392, 7.393, 9.834, 12.74",\
                 "0.842, 0.9194, 1.194, 1.731, 2.591, 3.801, 5.391, 7.392, 9.836, 12.75",\
                 "0.9108, 0.9924, 1.272, 1.792, 2.613, 3.802, 5.392, 7.392, 9.834, 12.75",\
                 "1.025, 1.1, 1.366, 1.89, 2.698, 3.844, 5.396, 7.393, 9.837, 12.75",\
                 "1.203, 1.274, 1.521, 2.013, 2.817, 3.948, 5.457, 7.406, 9.836, 12.75",\
                 "1.422, 1.494, 1.739, 2.202, 2.966, 4.091, 5.58, 7.483, 9.86, 12.75",\
                 "1.666, 1.743, 2, 2.456, 3.178, 4.265, 5.748, 7.623, 9.952, 12.78");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.1875, 0.206, 0.2672, 0.377, 0.5379, 0.7536, 1.03, 1.374, 1.79, 2.285",\
                 "0.1973, 0.2156, 0.277, 0.3866, 0.5472, 0.763, 1.039, 1.383, 1.799, 2.294",\
                 "0.2281, 0.2453, 0.3044, 0.4128, 0.573, 0.7887, 1.065, 1.409, 1.825, 2.32",\
                 "0.2704, 0.2896, 0.3541, 0.4662, 0.6255, 0.8398, 1.116, 1.459, 1.876, 2.37",\
                 "0.2972, 0.32, 0.3942, 0.5214, 0.6976, 0.9221, 1.199, 1.541, 1.957, 2.451",\
                 "0.2939, 0.321, 0.4091, 0.5578, 0.7577, 1.006, 1.306, 1.659, 2.075, 2.568",\
                 "0.2502, 0.282, 0.386, 0.5604, 0.7929, 1.074, 1.403, 1.785, 2.225, 2.725",\
                 "0.1645, 0.2007, 0.3199, 0.5222, 0.7906, 1.112, 1.48, 1.897, 2.369, 2.901",\
                 "0.0358, 0.0765, 0.2102, 0.4388, 0.7455, 1.111, 1.526, 1.987, 2.496, 3.064",\
                 "-0.1382, -0.0932, 0.0558, 0.3096, 0.6528, 1.065, 1.531, 2.043, 2.601, 3.209");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.8213, 0.8694, 1.036, 1.353, 1.847, 2.538, 3.446, 4.591, 5.987, 7.65",\
                 "0.8336, 0.8814, 1.049, 1.367, 1.861, 2.552, 3.46, 4.606, 6.002, 7.664",\
                 "0.8756, 0.9241, 1.093, 1.412, 1.906, 2.598, 3.508, 4.654, 6.05, 7.714",\
                 "0.9372, 0.9853, 1.154, 1.473, 1.968, 2.661, 3.571, 4.717, 6.113, 7.779",\
                 "1.025, 1.073, 1.241, 1.557, 2.049, 2.74, 3.648, 4.793, 6.189, 7.855",\
                 "1.156, 1.206, 1.377, 1.695, 2.181, 2.862, 3.763, 4.9, 6.292, 7.955",\
                 "1.36, 1.409, 1.578, 1.897, 2.385, 3.056, 3.943, 5.068, 6.449, 8.1",\
                 "1.634, 1.685, 1.859, 2.175, 2.661, 3.335, 4.209, 5.315, 6.678, 8.314",\
                 "1.964, 2.02, 2.206, 2.534, 3.017, 3.688, 4.564, 5.657, 6.997, 8.613",\
                 "2.345, 2.406, 2.607, 2.958, 3.456, 4.124, 4.998, 6.094, 7.419, 9.01");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3734, 0.3989, 0.4863, 0.6494, 0.9, 1.248, 1.707, 2.282, 2.988, 3.827",\
                 "0.3709, 0.3967, 0.4849, 0.6489, 0.8991, 1.248, 1.707, 2.284, 2.988, 3.826",\
                 "0.3732, 0.3963, 0.4805, 0.6447, 0.8986, 1.248, 1.707, 2.284, 2.988, 3.828",\
                 "0.4498, 0.4694, 0.5374, 0.6741, 0.905, 1.247, 1.705, 2.282, 2.987, 3.828",\
                 "0.5798, 0.5964, 0.6602, 0.7888, 0.9976, 1.298, 1.723, 2.284, 2.988, 3.827",\
                 "0.7522, 0.77, 0.8328, 0.9574, 1.157, 1.448, 1.837, 2.351, 3.011, 3.831",\
                 "0.9606, 0.9796, 1.046, 1.176, 1.373, 1.655, 2.038, 2.53, 3.14, 3.905",\
                 "1.204, 1.223, 1.298, 1.437, 1.643, 1.922, 2.297, 2.781, 3.382, 4.102",\
                 "1.478, 1.501, 1.586, 1.733, 1.954, 2.245, 2.62, 3.092, 3.686, 4.402",\
                 "1.785, 1.812, 1.902, 2.072, 2.311, 2.618, 3.001, 3.474, 4.054, 4.764");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.9257, 1.011, 1.307, 1.866, 2.731, 3.942, 5.533, 7.537, 9.98, 12.89",\
                 "0.9269, 1.01, 1.307, 1.865, 2.731, 3.942, 5.532, 7.536, 9.978, 12.88",\
                 "0.9274, 1.011, 1.307, 1.866, 2.731, 3.942, 5.532, 7.536, 9.978, 12.89",\
                 "0.9284, 1.012, 1.307, 1.866, 2.733, 3.943, 5.532, 7.535, 9.976, 12.89",\
                 "0.964, 1.044, 1.324, 1.869, 2.732, 3.944, 5.532, 7.535, 9.978, 12.89",\
                 "1.038, 1.118, 1.397, 1.919, 2.748, 3.944, 5.534, 7.535, 9.977, 12.89",\
                 "1.135, 1.212, 1.488, 2.017, 2.827, 3.979, 5.537, 7.536, 9.979, 12.89",\
                 "1.299, 1.371, 1.628, 2.136, 2.946, 4.078, 5.592, 7.545, 9.977, 12.89",\
                 "1.513, 1.588, 1.833, 2.309, 3.089, 4.222, 5.711, 7.619, 9.999, 12.89",\
                 "1.76, 1.836, 2.094, 2.552, 3.29, 4.388, 5.877, 7.756, 10.09, 12.92");
        }
      }

      timing() {
        related_pin : "C2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.2254, 0.2428, 0.3016, 0.4066, 0.5631, 0.7756, 1.051, 1.393, 1.809, 2.303",\
                 "0.2352, 0.2527, 0.3113, 0.4164, 0.5728, 0.7854, 1.06, 1.403, 1.819, 2.313",\
                 "0.2634, 0.2804, 0.3381, 0.4427, 0.599, 0.8118, 1.087, 1.429, 1.845, 2.339",\
                 "0.3083, 0.3267, 0.3884, 0.4963, 0.6517, 0.8635, 1.138, 1.481, 1.896, 2.391",\
                 "0.3411, 0.3628, 0.4338, 0.5554, 0.7266, 0.9475, 1.222, 1.564, 1.979, 2.472",\
                 "0.3472, 0.3738, 0.4583, 0.6002, 0.7928, 1.036, 1.332, 1.683, 2.098, 2.591",\
                 "0.3214, 0.3522, 0.4513, 0.6168, 0.8406, 1.113, 1.437, 1.815, 2.252, 2.75",\
                 "0.2587, 0.2935, 0.4075, 0.6, 0.8558, 1.166, 1.525, 1.935, 2.402, 2.931",\
                 "0.1595, 0.1984, 0.327, 0.5438, 0.8345, 1.185, 1.588, 2.037, 2.54, 3.102",\
                 "0.0217, 0.0649, 0.2067, 0.4478, 0.7735, 1.166, 1.613, 2.112, 2.659, 3.259");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.8213, 0.8694, 1.036, 1.353, 1.847, 2.538, 3.446, 4.591, 5.987, 7.65",\
                 "0.8336, 0.8814, 1.049, 1.367, 1.861, 2.552, 3.46, 4.606, 6.002, 7.664",\
                 "0.8756, 0.9241, 1.093, 1.412, 1.906, 2.598, 3.508, 4.654, 6.05, 7.714",\
                 "0.9372, 0.9853, 1.154, 1.473, 1.968, 2.661, 3.571, 4.717, 6.113, 7.779",\
                 "1.025, 1.073, 1.241, 1.557, 2.049, 2.74, 3.648, 4.793, 6.189, 7.855",\
                 "1.156, 1.206, 1.377, 1.695, 2.181, 2.862, 3.763, 4.9, 6.292, 7.955",\
                 "1.36, 1.409, 1.578, 1.897, 2.385, 3.056, 3.943, 5.068, 6.449, 8.1",\
                 "1.634, 1.685, 1.859, 2.175, 2.661, 3.335, 4.209, 5.315, 6.678, 8.314",\
                 "1.964, 2.02, 2.206, 2.534, 3.017, 3.688, 4.564, 5.657, 6.997, 8.613",\
                 "2.345, 2.406, 2.607, 2.958, 3.456, 4.124, 4.998, 6.094, 7.419, 9.01");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.3734, 0.3989, 0.4863, 0.6494, 0.9, 1.248, 1.707, 2.282, 2.988, 3.827",\
                 "0.3709, 0.3967, 0.4849, 0.6489, 0.8991, 1.248, 1.707, 2.284, 2.988, 3.826",\
                 "0.3732, 0.3963, 0.4805, 0.6447, 0.8986, 1.248, 1.707, 2.284, 2.988, 3.828",\
                 "0.4498, 0.4694, 0.5374, 0.6741, 0.905, 1.247, 1.705, 2.282, 2.987, 3.828",\
                 "0.5798, 0.5964, 0.6602, 0.7888, 0.9976, 1.298, 1.723, 2.284, 2.988, 3.827",\
                 "0.7522, 0.77, 0.8328, 0.9574, 1.157, 1.448, 1.837, 2.351, 3.011, 3.831",\
                 "0.9606, 0.9796, 1.046, 1.176, 1.373, 1.655, 2.038, 2.53, 3.14, 3.905",\
                 "1.204, 1.223, 1.298, 1.437, 1.643, 1.922, 2.297, 2.781, 3.382, 4.102",\
                 "1.478, 1.501, 1.586, 1.733, 1.954, 2.245, 2.62, 3.092, 3.686, 4.402",\
                 "1.785, 1.812, 1.902, 2.072, 2.311, 2.618, 3.001, 3.474, 4.054, 4.764");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002187, 0.006354, 0.01431, 0.02671, 0.0441, 0.06699, 0.09582, 0.131, 0.173");
          values("0.9257, 1.011, 1.307, 1.866, 2.731, 3.942, 5.533, 7.537, 9.98, 12.89",\
                 "0.9269, 1.01, 1.307, 1.865, 2.731, 3.942, 5.532, 7.536, 9.978, 12.88",\
                 "0.9274, 1.011, 1.307, 1.866, 2.731, 3.942, 5.532, 7.536, 9.978, 12.89",\
                 "0.9284, 1.012, 1.307, 1.866, 2.733, 3.943, 5.532, 7.535, 9.976, 12.89",\
                 "0.964, 1.044, 1.324, 1.869, 2.732, 3.944, 5.532, 7.535, 9.978, 12.89",\
                 "1.038, 1.118, 1.397, 1.919, 2.748, 3.944, 5.534, 7.535, 9.977, 12.89",\
                 "1.135, 1.212, 1.488, 2.017, 2.827, 3.979, 5.537, 7.536, 9.979, 12.89",\
                 "1.299, 1.371, 1.628, 2.136, 2.946, 4.078, 5.592, 7.545, 9.977, 12.89",\
                 "1.513, 1.588, 1.833, 2.309, 3.089, 4.222, 5.711, 7.619, 9.999, 12.89",\
                 "1.76, 1.836, 2.094, 2.552, 3.29, 4.388, 5.877, 7.756, 10.09, 12.92");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi222_2) {
    area : 54.880000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "8.77602e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&C2" ;
      value : "8.79186e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&!C2" ;
      value : "0.0001204137" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&C2" ;
      value : "0.0001821963" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&!C2" ;
      value : "8.79186e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&C2" ;
      value : "8.80803e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&!C2" ;
      value : "0.0001205721" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&C2" ;
      value : "0.0001834932" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&!C2" ;
      value : "0.0001204137" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&C2" ;
      value : "0.0001205721" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&!C2" ;
      value : "0.0001530639" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&C2" ;
      value : "0.0001834899" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&!C2" ;
      value : "0.0001253802" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&C2" ;
      value : "0.0001253802" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&!C2" ;
      value : "0.0001253802" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&C2" ;
      value : "0.0001253868" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&!C2" ;
      value : "8.79186e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&C2" ;
      value : "8.80803e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&!C2" ;
      value : "0.0001205721" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&C2" ;
      value : "0.0001835361" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&!C2" ;
      value : "8.80803e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&C2" ;
      value : "8.82387e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&!C2" ;
      value : "0.0001207305" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&C2" ;
      value : "0.0001849056" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&!C2" ;
      value : "0.0001205721" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&C2" ;
      value : "0.0001207305" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&!C2" ;
      value : "0.0001532256" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&C2" ;
      value : "0.0001849056" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&!C2" ;
      value : "0.0001269807" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&C2" ;
      value : "0.000126984" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&!C2" ;
      value : "0.0001269807" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&C2" ;
      value : "0.0001269873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "0.0001204137" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&C2" ;
      value : "0.0001205721" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&!C2" ;
      value : "0.0001530639" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&C2" ;
      value : "0.0001835361" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&!C2" ;
      value : "0.0001205721" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&C2" ;
      value : "0.0001207305" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&!C2" ;
      value : "0.0001532223" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&C2" ;
      value : "0.0001849056" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&!C2" ;
      value : "0.0001530639" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&C2" ;
      value : "0.0001532256" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&!C2" ;
      value : "0.0001857174" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&C2" ;
      value : "0.0001849056" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&!C2" ;
      value : "0.0001269807" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&C2" ;
      value : "0.000126984" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&!C2" ;
      value : "0.0001269807" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&C2" ;
      value : "0.0001269873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&!C2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&C2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&!C2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&C2" ;
      value : "6.79173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&!C2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&C2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&!C2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&C2" ;
      value : "6.79173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&!C2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&C2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&!C2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&C2" ;
      value : "6.79173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&!C2" ;
      value : "6.79107e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&C2" ;
      value : "6.79107e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&!C2" ;
      value : "6.79107e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&C2" ;
      value : "6.79173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001857174" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009801 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03684, 0.03685, 0.03687, 0.03677, 0.0367, 0.03666, 0.03662, \
                 0.03661, 0.03658, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02503, -0.02501, -0.02496, -0.0249, -0.02489, -0.02491, -0.02492, \
                 -0.02494, -0.02496, -0.025");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03687, 0.03687, 0.03687, 0.03682, 0.03673, 0.0367, 0.03665, \
                 0.03663, 0.0366, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02504, -0.02503, -0.025, -0.02495, -0.02491, -0.02492, -0.02494, \
                 -0.02495, -0.02499, -0.02504");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03687, 0.03687, 0.03687, 0.03682, 0.03674, 0.0367, 0.03665, \
                 0.03664, 0.0366, 0.03658");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02504, -0.02503, -0.02499, -0.02495, -0.02491, -0.02492, -0.02493, \
                 -0.02496, -0.02499, -0.02504");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009646, 0.009623, 0.009658, 0.009661, 0.009677, 0.009717, 0.009713, \
                 0.009716, 0.009716, 0.009715");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009673, -0.009661, -0.009697, -0.009703, -0.009709, -0.009739, \
                 -0.009747, -0.009751, -0.009762, -0.009771");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03683, 0.03684, 0.03688, 0.0368, 0.03672, 0.03669, 0.03664, \
                 0.03663, 0.0366, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02502, -0.02504, -0.02498, -0.02493, -0.02491, -0.02493, -0.02493, \
                 -0.02497, -0.02499, -0.02503");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03685, 0.03685, 0.03688, 0.03683, 0.03674, 0.03673, 0.03666, \
                 0.03664, 0.03663, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02503, -0.02506, -0.02501, -0.02497, -0.02492, -0.02493, -0.02493, \
                 -0.02497, -0.02499, -0.02504");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03684, 0.03686, 0.03688, 0.03685, 0.03675, 0.03673, 0.03667, \
                 0.03664, 0.03662, 0.0366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02503, -0.02504, -0.02501, -0.02496, -0.02493, -0.02494, -0.02493, \
                 -0.02497, -0.02499, -0.02504");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009669, 0.009647, 0.00968, 0.009684, 0.009698, 0.00974, 0.00973, \
                 0.009739, 0.009738, 0.009738");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009695, -0.009683, -0.00972, -0.009725, -0.009732, -0.009769, \
                 -0.009772, -0.009776, -0.009788, -0.009796");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03683, 0.03685, 0.03688, 0.0368, 0.0367, 0.03669, 0.03664, 0.03663, \
                 0.03661, 0.03658");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02505, -0.02503, -0.02499, -0.02494, -0.02491, -0.02493, -0.02495, \
                 -0.02497, -0.025, -0.02503");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03685, 0.03686, 0.03688, 0.03685, 0.03676, 0.03672, 0.03667, \
                 0.03665, 0.03661, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02506, -0.02505, -0.02501, -0.02496, -0.02491, -0.02493, -0.02494, \
                 -0.02497, -0.02499, -0.02505");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03685, 0.03686, 0.03688, 0.03684, 0.03675, 0.03672, 0.03667, \
                 0.03664, 0.03661, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02506, -0.02503, -0.02502, -0.02498, -0.02493, -0.02493, -0.02494, \
                 -0.02498, -0.02499, -0.02505");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009669, 0.009652, 0.009683, 0.009685, 0.009678, 0.009731, 0.009733, \
                 0.009736, 0.009734, 0.009734");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009694, -0.009686, -0.009727, -0.009712, -0.00974, -0.009764, \
                 -0.009763, -0.009767, -0.009787, -0.009799");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009687, 0.009663, 0.009692, 0.009703, 0.009716, 0.009758, 0.009759, \
                 0.009752, 0.009761, 0.009752");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009731, -0.009718, -0.009761, -0.009757, -0.009751, -0.009791, \
                 -0.009802, -0.0098, -0.009813, -0.009819");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009687, 0.009664, 0.009697, 0.009703, 0.009716, 0.009758, 0.009754, \
                 0.009755, 0.009757, 0.009756");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009731, -0.009718, -0.009762, -0.009757, -0.009752, -0.009785, \
                 -0.009798, -0.009804, -0.009816, -0.009819");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009687, 0.00966, 0.009701, 0.009703, 0.009694, 0.009754, 0.009748, \
                 0.009751, 0.009749, 0.009757");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009731, -0.009722, -0.009752, -0.00974, -0.009775, -0.009798, \
                 -0.0098, -0.009804, -0.009815, -0.009823");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009684, 0.009662, 0.009704, 0.009698, 0.0097, 0.009752, 0.009749, \
                 0.009751, 0.009755, 0.009751");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009728, -0.009722, -0.009755, -0.009759, -0.009762, -0.009795, \
                 -0.009804, -0.009804, -0.009818, -0.009821");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08419, 0.08419, 0.08404, 0.08391, 0.08382, 0.08376, 0.08367, \
                 0.08352, 0.08334, 0.08307");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009718, -0.009707, -0.009753, -0.009733, -0.00975, -0.009775, \
                 -0.00978, -0.00978, -0.009777, -0.009786");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07894, 0.07887, 0.07882, 0.07868, 0.07859, 0.07857, 0.07846, \
                 0.07833, 0.07814, 0.07789");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009747, -0.009731, -0.009776, -0.00976, -0.009772, -0.009798, \
                 -0.009807, -0.009799, -0.0098, -0.009808");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07897, 0.07888, 0.07882, 0.0787, 0.0786, 0.07855, 0.07846, 0.07834, \
                 0.07814, 0.07792");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009742, -0.009732, -0.009764, -0.009786, -0.009774, -0.009794, \
                 -0.009811, -0.009805, -0.009803, -0.009805");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0438, 0.04371, 0.0437, 0.04364, 0.04356, 0.04356, 0.04352, 0.04347, \
                 0.04337, 0.04325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009766, -0.00975, -0.009795, -0.009785, -0.009795, -0.009817, \
                 -0.009824, -0.009817, -0.009826, -0.009825");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04378, 0.04372, 0.0437, 0.04364, 0.04356, 0.04357, 0.04353, \
                 0.04348, 0.04337, 0.04325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009766, -0.009749, -0.009795, -0.009785, -0.009795, -0.009826, \
                 -0.009825, -0.00982, -0.009828, -0.009827");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04378, 0.04373, 0.04367, 0.04364, 0.04357, 0.04356, 0.04352, \
                 0.04346, 0.04337, 0.04327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009763, -0.009751, -0.009783, -0.009785, -0.009795, -0.009822, \
                 -0.009825, -0.009823, -0.00982, -0.009824");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0438, 0.04372, 0.04367, 0.0436, 0.04357, 0.04358, 0.04352, 0.04346, \
                 0.04337, 0.04326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009762, -0.00975, -0.009785, -0.009789, -0.009794, -0.00981, \
                 -0.00983, -0.009821, -0.00982, -0.00983");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008861 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03601, 0.03374, 0.03296, 0.03281, 0.03272, 0.0327, 0.03268, \
                 0.03267, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03293, -0.03293, -0.03289, -0.03279, -0.03269, -0.0327, -0.03265, \
                 -0.03262, -0.03261, -0.0326");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03601, 0.03375, 0.03299, 0.03286, 0.03277, 0.03273, 0.03271, \
                 0.03267, 0.03265, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03293, -0.03293, -0.03293, -0.03283, -0.03274, -0.03271, -0.03268, \
                 -0.03263, -0.03262, -0.03261");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03599, 0.03374, 0.03297, 0.03285, 0.03276, 0.03273, 0.03268, \
                 0.03267, 0.03264, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03293, -0.03293, -0.03293, -0.03283, -0.03274, -0.03271, -0.0327, \
                 -0.03263, -0.03262, -0.03261");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009663, 0.009651, 0.009669, 0.009676, 0.009677, 0.009709, 0.009711, \
                 0.009717, 0.00971, 0.009713");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009691, -0.009707, -0.009708, -0.009698, -0.009715, -0.009737, \
                 -0.009743, -0.00975, -0.00976, -0.009772");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03597, 0.03371, 0.03297, 0.03284, 0.03275, 0.03271, 0.03269, \
                 0.03267, 0.03265, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03291, -0.03293, -0.03292, -0.03283, -0.03273, -0.0327, -0.03267, \
                 -0.03265, -0.03262, -0.0326");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03598, 0.03372, 0.033, 0.03288, 0.03279, 0.03277, 0.03272, 0.03268, \
                 0.03267, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03292, -0.03294, -0.03295, -0.03287, -0.03278, -0.03274, -0.03269, \
                 -0.03265, -0.03265, -0.03263");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03598, 0.03372, 0.03299, 0.03288, 0.03279, 0.03276, 0.03271, \
                 0.03268, 0.03266, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03292, -0.03294, -0.03295, -0.03287, -0.03277, -0.03274, -0.03271, \
                 -0.03265, -0.03263, -0.03262");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009686, 0.009673, 0.009692, 0.009699, 0.009697, 0.009732, 0.009739, \
                 0.009738, 0.009732, 0.009737");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009713, -0.009729, -0.009727, -0.009724, -0.009736, -0.009761, \
                 -0.009769, -0.009772, -0.00979, -0.009801");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03598, 0.03372, 0.03298, 0.03285, 0.03276, 0.03273, 0.03269, \
                 0.03267, 0.03265, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03291, -0.03293, -0.03292, -0.03284, -0.03274, -0.03272, -0.03268, \
                 -0.03263, -0.03263, -0.0326");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03598, 0.03372, 0.033, 0.03288, 0.03279, 0.03277, 0.03271, 0.03268, \
                 0.03267, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03292, -0.03294, -0.03295, -0.03286, -0.03278, -0.03276, -0.0327, \
                 -0.03266, -0.03263, -0.03263");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03598, 0.03372, 0.03299, 0.03288, 0.03279, 0.03277, 0.03272, \
                 0.03268, 0.03265, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03292, -0.03294, -0.03295, -0.03286, -0.03277, -0.03274, -0.03269, \
                 -0.03265, -0.03263, -0.03264");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009685, 0.009674, 0.009693, 0.0097, 0.009701, 0.009731, 0.009734, \
                 0.00974, 0.009732, 0.009736");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009713, -0.009729, -0.009732, -0.009722, -0.009734, -0.009763, \
                 -0.009771, -0.009777, -0.009788, -0.009802");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009704, 0.009692, 0.00971, 0.009717, 0.009722, 0.00975, 0.009754, \
                 0.009753, 0.009753, 0.009754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009748, -0.009765, -0.009766, -0.009764, -0.009771, -0.009794, \
                 -0.009799, -0.009797, -0.009816, -0.009823");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009704, 0.009692, 0.00971, 0.009717, 0.009719, 0.009753, 0.009754, \
                 0.009755, 0.009753, 0.009753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009748, -0.009764, -0.009766, -0.009766, -0.009771, -0.009794, \
                 -0.009797, -0.009801, -0.009809, -0.00982");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009704, 0.009693, 0.009711, 0.009718, 0.009719, 0.00975, 0.009755, \
                 0.009754, 0.009754, 0.009751");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009749, -0.009765, -0.009766, -0.009758, -0.009771, -0.009788, \
                 -0.009799, -0.009799, -0.00981, -0.009825");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009703, 0.009692, 0.009711, 0.009718, 0.009712, 0.009755, 0.009756, \
                 0.009758, 0.009754, 0.009757");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009748, -0.009765, -0.009767, -0.009766, -0.00977, -0.00979, \
                 -0.009795, -0.009803, -0.009808, -0.009818");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08422, 0.08418, 0.08406, 0.08392, 0.0838, 0.08376, 0.08367, \
                 0.08351, 0.08335, 0.08308");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009734, -0.009753, -0.009752, -0.009746, -0.009741, -0.009784, \
                 -0.009783, -0.009785, -0.009785, -0.00978");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07898, 0.07892, 0.07882, 0.07868, 0.0786, 0.07855, 0.07846, \
                 0.07833, 0.07816, 0.07789");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009758, -0.009776, -0.009775, -0.009769, -0.00977, -0.009816, \
                 -0.009802, -0.009806, -0.009804, -0.009808");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07899, 0.07892, 0.07882, 0.0787, 0.0786, 0.07857, 0.07845, 0.07832, \
                 0.07817, 0.07788");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009758, -0.009777, -0.009786, -0.009768, -0.00978, -0.009805, \
                 -0.009808, -0.009798, -0.009807, -0.009807");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04383, 0.04375, 0.04366, 0.0436, 0.04356, 0.04357, 0.04353, \
                 0.04346, 0.04338, 0.04325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009776, -0.009794, -0.009794, -0.00979, -0.009784, -0.009824, \
                 -0.009829, -0.009826, -0.009829, -0.009823");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04383, 0.04376, 0.04366, 0.0436, 0.04356, 0.04357, 0.04352, \
                 0.04346, 0.04338, 0.04324");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009776, -0.009794, -0.009794, -0.00979, -0.009789, -0.009827, \
                 -0.009825, -0.009826, -0.009821, -0.009821");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04383, 0.04376, 0.04367, 0.04361, 0.04355, 0.04357, 0.04352, \
                 0.04347, 0.04338, 0.04325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009777, -0.009795, -0.009805, -0.009787, -0.009795, -0.009822, \
                 -0.00983, -0.00982, -0.009825, -0.009823");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04383, 0.04376, 0.04366, 0.04359, 0.04356, 0.04356, 0.04353, \
                 0.04348, 0.04339, 0.04326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009777, -0.009794, -0.009795, -0.009787, -0.009794, -0.009818, \
                 -0.009829, -0.009826, -0.009823, -0.00982");
        }
      }
    }

    pin(B1) {
      capacitance : 0.009384 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03682, 0.03679, 0.03681, 0.03673, 0.03666, 0.03668, 0.03661, \
                 0.03658, 0.0366, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02411, -0.02411, -0.0241, -0.02406, -0.02406, -0.02412, -0.02414, \
                 -0.02418, -0.02422, -0.02425");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03678, 0.03677, 0.03687, 0.03675, 0.03671, 0.03668, 0.03663, \
                 0.0366, 0.0366, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02412, -0.02414, -0.02413, -0.02411, -0.02408, -0.02417, -0.02417, \
                 -0.0242, -0.02423, -0.02427");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03678, 0.03677, 0.03685, 0.03677, 0.03675, 0.03667, 0.03663, \
                 0.03665, 0.0366, 0.03657");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02412, -0.02414, -0.02417, -0.02411, -0.0241, -0.02416, -0.02417, \
                 -0.0242, -0.02422, -0.02427");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01185, 0.01185, 0.01185, 0.01187, 0.01189, 0.01193, 0.01192, \
                 0.01193, 0.01194, 0.01193");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01193, -0.01193, -0.01195, -0.01196, -0.01197, -0.01201, -0.01202, \
                 -0.01204, -0.01206, -0.01208");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03425, 0.03423, 0.03429, 0.03426, 0.03421, 0.0342, 0.03411, \
                 0.034, 0.03385, 0.03363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01196, -0.01194, -0.01196, -0.01199, -0.01198, -0.01203, -0.01205, \
                 -0.01206, -0.01207, -0.0121");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03684, 0.03676, 0.03678, 0.0367, 0.03667, 0.03667, 0.03666, \
                 0.03662, 0.03657, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0241, -0.02411, -0.02406, -0.02408, -0.02405, -0.02411, -0.02415, \
                 -0.02416, -0.02419, -0.02424");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03679, 0.03674, 0.03678, 0.03674, 0.03674, 0.03666, 0.03665, \
                 0.03664, 0.0366, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02411, -0.02413, -0.02411, -0.02408, -0.02406, -0.02413, -0.02417, \
                 -0.02417, -0.02422, -0.02428");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03678, 0.03675, 0.03678, 0.03676, 0.03673, 0.03667, 0.03665, \
                 0.03663, 0.03661, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02411, -0.02411, -0.02411, -0.02408, -0.02409, -0.02414, -0.02417, \
                 -0.02419, -0.02422, -0.02427");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01189, 0.01188, 0.01188, 0.0119, 0.01192, 0.01196, 0.01196, \
                 0.01196, 0.01196, 0.01196");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01196, -0.01196, -0.01199, -0.01199, -0.012, -0.01204, -0.01205, \
                 -0.01207, -0.0121, -0.01213");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03393, 0.03391, 0.03396, 0.03393, 0.03389, 0.03388, 0.03379, \
                 0.03366, 0.03351, 0.03328");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01199, -0.01196, -0.01198, -0.01202, -0.012, -0.01205, -0.01207, \
                 -0.01209, -0.0121, -0.01212");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03685, 0.03677, 0.03678, 0.0367, 0.03665, 0.03666, 0.03666, \
                 0.0366, 0.03659, 0.03658");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0241, -0.02408, -0.02409, -0.02405, -0.02406, -0.02411, -0.02413, \
                 -0.02416, -0.02418, -0.02426");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03678, 0.03674, 0.03679, 0.03676, 0.03673, 0.03668, 0.03664, \
                 0.03663, 0.0366, 0.0366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02411, -0.0241, -0.02412, -0.02409, -0.02409, -0.02414, -0.02417, \
                 -0.02418, -0.02423, -0.02428");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03678, 0.03674, 0.03678, 0.03674, 0.03674, 0.03668, 0.03665, \
                 0.03664, 0.0366, 0.03659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02411, -0.02409, -0.02411, -0.02409, -0.0241, -0.02414, -0.02418, \
                 -0.02418, -0.02422, -0.02427");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0119, 0.01188, 0.01189, 0.01193, 0.01189, 0.01197, 0.01196, \
                 0.01196, 0.01196, 0.01196");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01196, -0.01196, -0.01198, -0.01198, -0.012, -0.01204, -0.01205, \
                 -0.01207, -0.01209, -0.01212");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03393, 0.03391, 0.03395, 0.03392, 0.03389, 0.03385, 0.03379, \
                 0.03366, 0.03352, 0.03329");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01199, -0.01197, -0.012, -0.01201, -0.012, -0.01205, -0.01207, \
                 -0.01208, -0.0121, -0.01212");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03276, 0.03276, 0.03268, 0.03261, 0.03258, 0.03266, 0.03263, \
                 0.03263, 0.03266, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03266, -0.03261, -0.03252, -0.03249, -0.03251, -0.03254, -0.03256, \
                 -0.03252, -0.03253, -0.0325");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03273, 0.03273, 0.03268, 0.03264, 0.03259, 0.03267, 0.03262, \
                 0.03265, 0.03265, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03265, -0.0326, -0.03256, -0.03251, -0.03251, -0.03256, -0.03256, \
                 -0.03255, -0.03254, -0.03252");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03272, 0.03273, 0.03269, 0.03268, 0.03258, 0.03266, 0.03265, \
                 0.03263, 0.03264, 0.03266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03266, -0.0326, -0.03257, -0.03251, -0.03252, -0.03257, -0.03256, \
                 -0.03254, -0.03253, -0.03254");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01777, 0.01773, 0.01777, 0.01782, 0.01781, 0.01786, 0.01785, \
                 0.01786, 0.01786, 0.01785");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01952, -0.01948, -0.01954, -0.01957, -0.01956, -0.01964, -0.01964, \
                 -0.01963, -0.01965, -0.01964");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03272, 0.03267, 0.03264, 0.0326, 0.03262, 0.03264, 0.03263, \
                 0.03263, 0.03263, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02698, -0.02751, -0.02903, -0.03023, -0.03082, -0.03123, -0.03142, \
                 -0.03155, -0.03162, -0.03169");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03269, 0.03265, 0.03264, 0.03263, 0.03259, 0.03265, 0.03265, \
                 0.03264, 0.03263, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0269, -0.02728, -0.02865, -0.02995, -0.03066, -0.03113, -0.03138, \
                 -0.03151, -0.03162, -0.03169");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03269, 0.03267, 0.03267, 0.03259, 0.03259, 0.03264, 0.03265, \
                 0.03265, 0.03262, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02689, -0.02729, -0.02866, -0.02994, -0.03071, -0.03114, -0.03136, \
                 -0.03151, -0.03162, -0.03169");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01873, 0.01874, 0.01875, 0.01876, 0.01878, 0.01883, 0.01884, \
                 0.01884, 0.01883, 0.01882");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02093, -0.02085, -0.02091, -0.02089, -0.02087, -0.02096, -0.02096, \
                 -0.02099, -0.02098, -0.021");
        }
      }
    }

    pin(B2) {
      capacitance : 0.008787 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03603, 0.03356, 0.03287, 0.03274, 0.03269, 0.03271, 0.03265, \
                 0.03264, 0.03264, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03284, -0.03282, -0.0328, -0.0327, -0.03263, -0.03265, -0.03262, \
                 -0.0326, -0.03259, -0.03256");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03596, 0.03354, 0.03289, 0.03279, 0.03272, 0.03272, 0.03268, \
                 0.03266, 0.03264, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03285, -0.03283, -0.03285, -0.03277, -0.03269, -0.03273, -0.03269, \
                 -0.03261, -0.03261, -0.03261");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03597, 0.03355, 0.0329, 0.0328, 0.03273, 0.03273, 0.03269, 0.03266, \
                 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03285, -0.03285, -0.03285, -0.03277, -0.03267, -0.03271, -0.03267, \
                 -0.03263, -0.03262, -0.0326");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01189, 0.01185, 0.01188, 0.01187, 0.01189, 0.01193, 0.01194, \
                 0.01194, 0.01193, 0.01194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01194, -0.01194, -0.01195, -0.01195, -0.01195, -0.012, -0.01202, \
                 -0.01203, -0.01206, -0.01208");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03427, 0.03422, 0.03431, 0.03425, 0.03418, 0.03418, 0.03411, \
                 0.03399, 0.03383, 0.03363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01195, -0.01196, -0.01199, -0.01199, -0.01199, -0.01203, -0.01204, \
                 -0.01204, -0.01207, -0.01209");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03606, 0.03356, 0.03283, 0.03275, 0.03269, 0.03271, 0.03268, \
                 0.03265, 0.03264, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03282, -0.03276, -0.03277, -0.03268, -0.03261, -0.03265, -0.03263, \
                 -0.03259, -0.03257, -0.03257");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03601, 0.03353, 0.03281, 0.03278, 0.03274, 0.03272, 0.03268, \
                 0.03267, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03282, -0.03279, -0.03278, -0.03273, -0.03267, -0.0327, -0.03265, \
                 -0.03262, -0.03265, -0.03263");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03601, 0.03353, 0.03281, 0.03278, 0.03273, 0.03272, 0.03268, \
                 0.03266, 0.03264, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03282, -0.0328, -0.03278, -0.03273, -0.03266, -0.0327, -0.03266, \
                 -0.03262, -0.0326, -0.03263");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01192, 0.01188, 0.0119, 0.0119, 0.01192, 0.01196, 0.01196, 0.01197, \
                 0.01197, 0.01196");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01197, -0.01197, -0.01198, -0.01198, -0.01199, -0.01204, -0.01206, \
                 -0.01206, -0.01209, -0.01212");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03394, 0.0339, 0.03398, 0.03394, 0.03388, 0.03387, 0.03378, \
                 0.03367, 0.03351, 0.0333");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01198, -0.01198, -0.01199, -0.01201, -0.01202, -0.01207, -0.01207, \
                 -0.01209, -0.0121, -0.01212");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03606, 0.03356, 0.03283, 0.03275, 0.03269, 0.03271, 0.03268, \
                 0.03264, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03282, -0.03276, -0.03277, -0.03268, -0.03261, -0.03266, -0.03262, \
                 -0.03259, -0.03257, -0.03256");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.036, 0.03352, 0.0328, 0.03276, 0.03272, 0.0327, 0.03268, 0.03266, \
                 0.03263, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03282, -0.0328, -0.03278, -0.03273, -0.03266, -0.0327, -0.03265, \
                 -0.03263, -0.03264, -0.03262");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03601, 0.03353, 0.03282, 0.03278, 0.03273, 0.03271, 0.03269, \
                 0.03266, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03281, -0.03281, -0.03279, -0.03273, -0.03267, -0.03269, -0.03266, \
                 -0.03262, -0.03261, -0.03261");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01192, 0.01188, 0.0119, 0.0119, 0.01192, 0.01196, 0.01196, 0.01196, \
                 0.01196, 0.01196");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01197, -0.01197, -0.01198, -0.01198, -0.01199, -0.01204, -0.01205, \
                 -0.01206, -0.01209, -0.01212");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03394, 0.0339, 0.03398, 0.03396, 0.03387, 0.03387, 0.03377, \
                 0.03368, 0.03351, 0.03328");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01198, -0.01198, -0.01199, -0.01201, -0.012, -0.01208, -0.01207, \
                 -0.01208, -0.0121, -0.01212");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03279, 0.03271, 0.03264, 0.0326, 0.0326, 0.03266, 0.03264, 0.03267, \
                 0.03264, 0.03266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0327, -0.03264, -0.03254, -0.0325, -0.03248, -0.03253, -0.03255, \
                 -0.03254, -0.03254, -0.03253");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03275, 0.0327, 0.03268, 0.0326, 0.03261, 0.03263, 0.03264, 0.03265, \
                 0.03264, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03268, -0.03267, -0.03257, -0.0325, -0.03248, -0.03257, -0.03256, \
                 -0.03258, -0.03255, -0.03253");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03275, 0.0327, 0.03268, 0.0326, 0.0326, 0.03264, 0.03263, 0.03266, \
                 0.03263, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03268, -0.03267, -0.03257, -0.0325, -0.03248, -0.03256, -0.03255, \
                 -0.03257, -0.03255, -0.03258");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01779, 0.01776, 0.0178, 0.01778, 0.01782, 0.01787, 0.01787, \
                 0.01786, 0.01785, 0.01785");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01958, -0.01955, -0.01956, -0.01955, -0.01955, -0.01963, -0.01963, \
                 -0.01964, -0.01964, -0.01964");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03273, 0.03265, 0.03265, 0.03259, 0.03256, 0.03264, 0.0326, \
                 0.03265, 0.03264, 0.03267");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02701, -0.02752, -0.02902, -0.03022, -0.03081, -0.03121, -0.03141, \
                 -0.03152, -0.03161, -0.03169");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0327, 0.03263, 0.03264, 0.03261, 0.03257, 0.03265, 0.03266, \
                 0.03266, 0.03262, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02694, -0.02732, -0.02863, -0.02995, -0.03067, -0.03115, -0.03138, \
                 -0.03152, -0.0316, -0.03168");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0327, 0.03263, 0.03267, 0.03262, 0.03259, 0.03261, 0.03263, \
                 0.03262, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02694, -0.02732, -0.02863, -0.02995, -0.03068, -0.03115, -0.03136, \
                 -0.03152, -0.03161, -0.03168");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01875, 0.01872, 0.01877, 0.01876, 0.01877, 0.01884, 0.01882, \
                 0.01884, 0.01883, 0.01883");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02096, -0.02091, -0.02088, -0.02091, -0.02091, -0.02096, -0.02097, \
                 -0.02097, -0.02098, -0.021");
        }
      }
    }

    pin(C1) {
      capacitance : 0.009256 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03677, 0.03669, 0.03678, 0.03669, 0.03664, 0.03666, 0.03662, \
                 0.03658, 0.0366, 0.03661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02537, -0.02534, -0.02539, -0.02541, -0.0254, -0.02548, -0.02548, \
                 -0.02553, -0.02557, -0.0256");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03677, 0.03674, 0.03671, 0.03667, 0.0366, 0.03665, 0.03664, \
                 0.03657, 0.0366, 0.03662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02536, -0.02531, -0.02541, -0.02536, -0.02538, -0.02547, -0.02546, \
                 -0.02552, -0.02554, -0.02559");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03677, 0.03674, 0.03671, 0.03666, 0.03661, 0.03668, 0.03664, \
                 0.03657, 0.03659, 0.0366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02536, -0.02531, -0.0254, -0.02534, -0.02538, -0.02546, -0.02548, \
                 -0.02551, -0.02555, -0.02559");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03267, 0.03264, 0.03259, 0.03262, 0.03256, 0.03265, 0.03264, \
                 0.03259, 0.03265, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03254, -0.03243, -0.03246, -0.03244, -0.03243, -0.03251, -0.03252, \
                 -0.03254, -0.03253, -0.03252");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03261, 0.0326, 0.03259, 0.03261, 0.03264, 0.03266, 0.03268, \
                 0.03265, 0.03264, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02694, -0.02785, -0.02953, -0.03054, -0.03093, -0.03127, -0.03146, \
                 -0.03156, -0.03166, -0.03169");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03675, 0.03669, 0.03672, 0.0367, 0.03662, 0.03669, 0.03663, \
                 0.03664, 0.0366, 0.03664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02537, -0.02528, -0.02538, -0.02537, -0.02539, -0.02547, -0.02548, \
                 -0.02553, -0.02555, -0.02563");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03675, 0.03673, 0.03672, 0.03667, 0.03663, 0.03668, 0.03661, \
                 0.03661, 0.03662, 0.03657");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02536, -0.02529, -0.02541, -0.02534, -0.02538, -0.02546, -0.02549, \
                 -0.02552, -0.02555, -0.0256");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03676, 0.03673, 0.03672, 0.03667, 0.03662, 0.03668, 0.03664, \
                 0.0366, 0.03664, 0.03657");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02536, -0.02532, -0.0254, -0.02533, -0.02537, -0.02546, -0.02549, \
                 -0.02552, -0.02555, -0.0256");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03267, 0.03264, 0.03259, 0.03262, 0.03256, 0.03265, 0.03264, \
                 0.03262, 0.03264, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03254, -0.03243, -0.03246, -0.03244, -0.03243, -0.03251, -0.03251, \
                 -0.03254, -0.03253, -0.03259");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03261, 0.0326, 0.03263, 0.03261, 0.03261, 0.03263, 0.03267, \
                 0.03266, 0.03263, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02694, -0.02785, -0.02953, -0.03054, -0.03092, -0.03128, -0.03146, \
                 -0.03156, -0.03165, -0.03169");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03675, 0.03669, 0.03672, 0.03669, 0.03662, 0.03669, 0.03663, \
                 0.03663, 0.03659, 0.03662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02537, -0.02529, -0.02539, -0.02536, -0.02538, -0.02546, -0.02549, \
                 -0.02552, -0.02556, -0.02562");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03676, 0.03673, 0.03672, 0.03667, 0.03663, 0.03668, 0.03663, \
                 0.03664, 0.03663, 0.03658");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02536, -0.0253, -0.02541, -0.02535, -0.02537, -0.02546, -0.02549, \
                 -0.02551, -0.02554, -0.0256");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03676, 0.03673, 0.03672, 0.03668, 0.03664, 0.03667, 0.03663, \
                 0.03662, 0.03663, 0.03657");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02536, -0.02532, -0.0254, -0.02533, -0.02537, -0.02547, -0.0255, \
                 -0.02551, -0.02555, -0.0256");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03265, 0.03267, 0.03259, 0.03266, 0.03257, 0.03267, 0.03265, \
                 0.0326, 0.03264, 0.03266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03254, -0.03243, -0.03247, -0.03241, -0.03244, -0.03253, -0.03252, \
                 -0.03254, -0.03252, -0.03253");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03266, 0.0326, 0.03262, 0.03258, 0.03263, 0.03264, 0.03266, \
                 0.03265, 0.03264, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02694, -0.02785, -0.02953, -0.03054, -0.03094, -0.03127, -0.03144, \
                 -0.03156, -0.03164, -0.03171");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03266, 0.03267, 0.03261, 0.03262, 0.03259, 0.03264, 0.03264, \
                 0.03263, 0.03264, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03259, -0.03247, -0.03248, -0.03246, -0.03245, -0.03254, -0.03254, \
                 -0.03255, -0.03253, -0.03255");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03268, 0.03263, 0.03268, 0.03266, 0.03265, 0.03261, 0.03268, \
                 0.03266, 0.03265, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02569, -0.02628, -0.02761, -0.02891, -0.02979, -0.03038, -0.03075, \
                 -0.03096, -0.03112, -0.03123");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03266, 0.03267, 0.0326, 0.0326, 0.03258, 0.03263, 0.03262, 0.03265, \
                 0.03263, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03258, -0.03244, -0.03248, -0.03244, -0.03245, -0.03254, -0.03253, \
                 -0.03254, -0.03253, -0.03253");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03265, 0.03261, 0.03266, 0.03263, 0.03264, 0.03263, 0.03264, \
                 0.03265, 0.03265, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02622, -0.02687, -0.02818, -0.02937, -0.03011, -0.03063, -0.03095, \
                 -0.03115, -0.03127, -0.03138");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03265, 0.03265, 0.0326, 0.03267, 0.03255, 0.03266, 0.03266, \
                 0.03262, 0.03264, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03254, -0.03247, -0.0325, -0.03244, -0.03246, -0.03253, -0.03252, \
                 -0.03252, -0.03253, -0.03251");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03265, 0.03261, 0.03265, 0.0326, 0.03263, 0.03265, 0.03267, \
                 0.03267, 0.03264, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02624, -0.02687, -0.02818, -0.02937, -0.0301, -0.03064, -0.03096, \
                 -0.03115, -0.03129, -0.03138");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03267, 0.03267, 0.03259, 0.03261, 0.03256, 0.03263, 0.03267, \
                 0.03261, 0.03263, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03254, -0.03242, -0.03246, -0.03243, -0.03244, -0.03252, -0.03252, \
                 -0.03253, -0.03254, -0.03251");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03265, 0.0326, 0.03261, 0.0326, 0.03263, 0.03267, 0.03266, 0.03262, \
                 0.03263, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02696, -0.02784, -0.02953, -0.03052, -0.03092, -0.03127, -0.03144, \
                 -0.03156, -0.03165, -0.0317");
        }
      }
    }

    pin(C2) {
      capacitance : 0.008987 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03594, 0.03353, 0.03274, 0.03268, 0.03264, 0.03269, 0.03267, \
                 0.03263, 0.03265, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03265, -0.0326, -0.03265, -0.03259, -0.03252, -0.0326, -0.03259, \
                 -0.03256, -0.03255, -0.03256");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03595, 0.03354, 0.03274, 0.03266, 0.03267, 0.03271, 0.0327, \
                 0.03263, 0.03266, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03267, -0.0326, -0.03262, -0.03256, -0.03251, -0.0326, -0.0326, \
                 -0.03257, -0.03256, -0.03256");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03595, 0.03355, 0.03274, 0.03266, 0.03265, 0.0327, 0.03271, \
                 0.03262, 0.03264, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03268, -0.0326, -0.03262, -0.03257, -0.03251, -0.0326, -0.03258, \
                 -0.03257, -0.03256, -0.03258");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0327, 0.03256, 0.03254, 0.03252, 0.03257, 0.03265, 0.03265, \
                 0.0326, 0.03264, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03252, -0.03249, -0.03242, -0.03243, -0.03244, -0.03253, -0.03255, \
                 -0.03253, -0.03251, -0.03252");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03264, 0.03258, 0.03258, 0.03261, 0.03259, 0.03268, 0.03267, \
                 0.03269, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02695, -0.0279, -0.02951, -0.03049, -0.03093, -0.03128, -0.03146, \
                 -0.03158, -0.03166, -0.0317");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03594, 0.03352, 0.03272, 0.03267, 0.03265, 0.03271, 0.03265, \
                 0.03264, 0.03264, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03263, -0.03259, -0.03263, -0.03257, -0.03251, -0.03261, -0.03256, \
                 -0.03258, -0.03255, -0.03258");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03595, 0.03349, 0.03273, 0.03266, 0.03263, 0.03272, 0.03264, \
                 0.03263, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03265, -0.03259, -0.0326, -0.03255, -0.03251, -0.03258, -0.0326, \
                 -0.03257, -0.03257, -0.03255");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03596, 0.0335, 0.03273, 0.03266, 0.03264, 0.03272, 0.03264, \
                 0.03264, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03266, -0.03259, -0.0326, -0.03256, -0.03252, -0.03258, -0.0326, \
                 -0.03256, -0.03257, -0.03256");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03271, 0.03256, 0.03254, 0.03252, 0.03257, 0.03267, 0.03265, \
                 0.0326, 0.03264, 0.03266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03252, -0.03249, -0.03242, -0.03243, -0.03244, -0.03254, -0.03256, \
                 -0.03253, -0.03251, -0.03252");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03264, 0.03258, 0.03258, 0.03263, 0.03258, 0.03266, 0.03269, \
                 0.03269, 0.03264, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02695, -0.0279, -0.02952, -0.03049, -0.03093, -0.03128, -0.03145, \
                 -0.03157, -0.03165, -0.03169");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03594, 0.03352, 0.03272, 0.03268, 0.03265, 0.03271, 0.03265, \
                 0.03264, 0.0326, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03263, -0.03259, -0.03263, -0.03258, -0.03253, -0.03261, -0.03266, \
                 -0.03258, -0.03256, -0.03257");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03595, 0.03349, 0.03273, 0.03266, 0.03264, 0.03271, 0.03265, \
                 0.03263, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03265, -0.03259, -0.0326, -0.03255, -0.03251, -0.03258, -0.03259, \
                 -0.03257, -0.03255, -0.03256");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03595, 0.03353, 0.03273, 0.03267, 0.03264, 0.03273, 0.03265, \
                 0.03263, 0.03264, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03264, -0.03259, -0.0326, -0.03256, -0.03252, -0.03258, -0.03259, \
                 -0.03257, -0.03257, -0.03256");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0327, 0.03256, 0.03254, 0.03252, 0.03257, 0.03265, 0.03265, \
                 0.0326, 0.03264, 0.03266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03252, -0.03249, -0.03242, -0.03243, -0.03244, -0.03253, -0.03255, \
                 -0.03252, -0.03251, -0.03252");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03264, 0.03258, 0.03258, 0.0326, 0.0326, 0.03268, 0.03267, 0.03264, \
                 0.03267, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02695, -0.0279, -0.02949, -0.03048, -0.03094, -0.03128, -0.03147, \
                 -0.03157, -0.03164, -0.03171");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03269, 0.03261, 0.03254, 0.03257, 0.03258, 0.03267, 0.03264, \
                 0.03263, 0.03262, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03257, -0.03253, -0.03249, -0.03248, -0.03243, -0.03257, -0.03253, \
                 -0.03253, -0.03256, -0.03255");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03266, 0.03261, 0.03264, 0.03265, 0.03261, 0.03268, 0.03266, \
                 0.03263, 0.03268, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0257, -0.02632, -0.02762, -0.02888, -0.02976, -0.03042, -0.03075, \
                 -0.03096, -0.03112, -0.03124");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03269, 0.03257, 0.03257, 0.03254, 0.03257, 0.03266, 0.03267, \
                 0.03264, 0.03265, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03255, -0.0325, -0.03249, -0.03243, -0.03241, -0.03252, -0.03257, \
                 -0.03254, -0.03256, -0.03254");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03265, 0.03257, 0.03261, 0.03264, 0.03257, 0.03267, 0.03265, \
                 0.03265, 0.03267, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02624, -0.02692, -0.02822, -0.02934, -0.0301, -0.03068, -0.03096, \
                 -0.03114, -0.03128, -0.03139");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03269, 0.03257, 0.03257, 0.03254, 0.03257, 0.03268, 0.03266, \
                 0.03263, 0.03265, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03256, -0.0325, -0.03249, -0.03244, -0.03241, -0.03253, -0.03256, \
                 -0.03253, -0.03261, -0.03254");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03264, 0.03257, 0.03261, 0.03263, 0.03257, 0.03266, 0.03266, \
                 0.03266, 0.03269, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02623, -0.02692, -0.02824, -0.02934, -0.03011, -0.03063, -0.03093, \
                 -0.03113, -0.03127, -0.03138");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0327, 0.03256, 0.03254, 0.03252, 0.03257, 0.03267, 0.03265, \
                 0.0326, 0.03264, 0.03266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03253, -0.03249, -0.03242, -0.03243, -0.03244, -0.03253, -0.03254, \
                 -0.03252, -0.03253, -0.03254");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03264, 0.03258, 0.03258, 0.03261, 0.03258, 0.03264, 0.03264, \
                 0.03264, 0.03267, 0.03266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.027, -0.0279, -0.02948, -0.03049, -0.03094, -0.03128, -0.03146, \
                 -0.03156, -0.03163, -0.03171");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1)&(!C1))|((!A1)&(!B1)&(!C2))|((!A1)&(!B2)&(!C1))|((!A1)&(!B2)&(!C2))|((!A2)&(!B1)&(!C1))|((!A2)&(!B1)&(!C2))|((!A2)&(!B2)&(!C1))|((!A2)&(!B2)&(!C2)))" ;
      max_capacitance : 0.3646 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006015, 0.006178, 0.00646, 0.006641, 0.006739, 0.006806, 0.006853, 0.00688, 0.0069, 0.006915",\
                 "0.00543, 0.00579, 0.006513, 0.007076, 0.007428, 0.007658, 0.007795, 0.007884, 0.007942, 0.007981",\
                 "0.007866, 0.007965, 0.008358, 0.008733, 0.009044, 0.009249, 0.009394, 0.009479, 0.009549, 0.009584",\
                 "0.01752, 0.01696, 0.01578, 0.01453, 0.01352, 0.01277, 0.01221, 0.01183, 0.01152, 0.01131",\
                 "0.03744, 0.03598, 0.03236, 0.02818, 0.0246, 0.02166, 0.01939, 0.0176, 0.01625, 0.01524",\
                 "0.06984, 0.06752, 0.06105, 0.05294, 0.04544, 0.03901, 0.03389, 0.02972, 0.02636, 0.02373",\
                 "0.1157, 0.1125, 0.1034, 0.09092, 0.07851, 0.06759, 0.05834, 0.0507, 0.04438, 0.03914",\
                 "0.1759, 0.172, 0.1603, 0.1437, 0.1257, 0.1093, 0.095, 0.08278, 0.07242, 0.06372",\
                 "0.2512, 0.2466, 0.2326, 0.212, 0.1886, 0.166, 0.1458, 0.128, 0.1127, 0.09942",\
                 "0.3419, 0.3369, 0.321, 0.2966, 0.268, 0.2391, 0.212, 0.1881, 0.1668, 0.1484");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1476, 0.1479, 0.1486, 0.1493, 0.15, 0.1507, 0.1514, 0.1524, 0.1531, 0.1565",\
                 "0.145, 0.1455, 0.147, 0.1484, 0.1497, 0.1509, 0.1517, 0.1528, 0.1536, 0.1591",\
                 "0.1459, 0.1459, 0.1463, 0.1473, 0.1487, 0.15, 0.1511, 0.1525, 0.1543, 0.1576",\
                 "0.1583, 0.1575, 0.1554, 0.1535, 0.1524, 0.1522, 0.1531, 0.1532, 0.1546, 0.1592",\
                 "0.1832, 0.1815, 0.177, 0.1714, 0.1663, 0.1627, 0.1605, 0.1596, 0.1594, 0.1632",\
                 "0.2215, 0.2188, 0.2116, 0.2023, 0.1932, 0.185, 0.1784, 0.1737, 0.1712, 0.1742",\
                 "0.2743, 0.2709, 0.2611, 0.2476, 0.234, 0.2214, 0.2095, 0.2004, 0.1935, 0.1959",\
                 "0.3427, 0.3387, 0.3263, 0.3086, 0.29, 0.2725, 0.2561, 0.2407, 0.2292, 0.231",\
                 "0.4279, 0.423, 0.4081, 0.3869, 0.3627, 0.3395, 0.3178, 0.2976, 0.2806, 0.2853",\
                 "0.5305, 0.5252, 0.508, 0.4828, 0.4539, 0.4246, 0.3968, 0.3711, 0.3521, 0.3678");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006003, 0.006172, 0.006483, 0.006687, 0.006777, 0.006826, 0.006864, 0.006887, 0.006905, 0.006917",\
                 "0.005505, 0.005851, 0.006588, 0.007183, 0.007519, 0.007734, 0.007866, 0.007948, 0.008003, 0.008039",\
                 "0.008362, 0.008509, 0.008814, 0.009196, 0.009497, 0.009676, 0.0098, 0.009877, 0.009937, 0.009973",\
                 "0.01788, 0.0174, 0.01629, 0.01516, 0.01421, 0.01348, 0.01295, 0.01256, 0.01226, 0.01206",\
                 "0.03573, 0.03451, 0.03129, 0.02773, 0.02448, 0.02184, 0.01976, 0.01815, 0.0169, 0.01592",\
                 "0.06427, 0.0623, 0.0567, 0.04967, 0.04308, 0.03747, 0.03291, 0.02918, 0.0262, 0.02376",\
                 "0.1051, 0.1023, 0.09424, 0.08336, 0.07248, 0.06295, 0.05479, 0.048, 0.0423, 0.03763",\
                 "0.1589, 0.1554, 0.1451, 0.1302, 0.1145, 0.1, 0.08743, 0.07659, 0.06739, 0.05973",\
                 "0.2266, 0.2225, 0.2099, 0.1914, 0.1706, 0.1505, 0.1326, 0.1169, 0.1035, 0.09167",\
                 "0.3087, 0.304, 0.2895, 0.2673, 0.2417, 0.2158, 0.1917, 0.1705, 0.1518, 0.1353");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1477, 0.148, 0.1488, 0.1495, 0.1501, 0.1508, 0.1517, 0.1526, 0.1553, 0.1713",\
                 "0.145, 0.1456, 0.1471, 0.1486, 0.1498, 0.1508, 0.1519, 0.1531, 0.1558, 0.1717",\
                 "0.1458, 0.1459, 0.1463, 0.1474, 0.1487, 0.1501, 0.1512, 0.1525, 0.1549, 0.1727",\
                 "0.1576, 0.1568, 0.1549, 0.153, 0.1521, 0.1521, 0.1525, 0.1535, 0.1562, 0.1757",\
                 "0.1808, 0.1793, 0.1749, 0.1696, 0.1648, 0.1616, 0.1595, 0.159, 0.1608, 0.1811",\
                 "0.2159, 0.2135, 0.2069, 0.1984, 0.1896, 0.182, 0.1761, 0.1722, 0.1721, 0.1957",\
                 "0.2642, 0.261, 0.2519, 0.2399, 0.2275, 0.2153, 0.2044, 0.1961, 0.1937, 0.2213",\
                 "0.3266, 0.3227, 0.3114, 0.2956, 0.2788, 0.2624, 0.2466, 0.2329, 0.2278, 0.2647",\
                 "0.4044, 0.3997, 0.3859, 0.3666, 0.3452, 0.3241, 0.3038, 0.2854, 0.2798, 0.3329",\
                 "0.4981, 0.4929, 0.4768, 0.4538, 0.4277, 0.4012, 0.3762, 0.3541, 0.354, 0.44");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006007, 0.006173, 0.00649, 0.006716, 0.006814, 0.006858, 0.006879, 0.006893, 0.006904, 0.006912",\
                 "0.005503, 0.005875, 0.006595, 0.007206, 0.00756, 0.007766, 0.00788, 0.007954, 0.008004, 0.008033",\
                 "0.008396, 0.008511, 0.008809, 0.009207, 0.009509, 0.009698, 0.009815, 0.009879, 0.009933, 0.009971",\
                 "0.01786, 0.01736, 0.01628, 0.01514, 0.01421, 0.01348, 0.01296, 0.01256, 0.01226, 0.01205",\
                 "0.03552, 0.03435, 0.03121, 0.0277, 0.02446, 0.02187, 0.01976, 0.01815, 0.01689, 0.01592",\
                 "0.0639, 0.06197, 0.05652, 0.04959, 0.04303, 0.03745, 0.0329, 0.02917, 0.02619, 0.02376",\
                 "0.1044, 0.1017, 0.09388, 0.08317, 0.07236, 0.06287, 0.05474, 0.04797, 0.04234, 0.03768",\
                 "0.1581, 0.1547, 0.1446, 0.13, 0.1143, 0.09992, 0.08733, 0.07653, 0.06737, 0.05972",\
                 "0.2256, 0.2216, 0.2092, 0.1909, 0.1703, 0.1503, 0.1325, 0.1168, 0.1033, 0.09164",\
                 "0.3075, 0.303, 0.2887, 0.2667, 0.2413, 0.2155, 0.1917, 0.1703, 0.1516, 0.1353");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1803, 0.1805, 0.1811, 0.1818, 0.1824, 0.1834, 0.1842, 0.1854, 0.1876, 0.2057",\
                 "0.1782, 0.1786, 0.1798, 0.181, 0.1823, 0.1834, 0.1847, 0.1858, 0.1887, 0.2059",\
                 "0.1781, 0.1782, 0.1788, 0.1799, 0.181, 0.1824, 0.1838, 0.1853, 0.188, 0.2065",\
                 "0.1883, 0.1878, 0.1863, 0.1849, 0.1843, 0.1843, 0.1851, 0.1862, 0.1887, 0.2089",\
                 "0.21, 0.2087, 0.2052, 0.2007, 0.1965, 0.1939, 0.1924, 0.1918, 0.194, 0.2151",\
                 "0.2438, 0.2417, 0.2362, 0.2284, 0.2205, 0.2137, 0.2082, 0.2044, 0.2049, 0.2297",\
                 "0.2906, 0.2879, 0.2802, 0.2694, 0.2576, 0.246, 0.236, 0.2283, 0.2263, 0.2555",\
                 "0.3519, 0.3484, 0.3384, 0.324, 0.3083, 0.2926, 0.2775, 0.2646, 0.2608, 0.2987",\
                 "0.4284, 0.4242, 0.4119, 0.3941, 0.3738, 0.3537, 0.3339, 0.3159, 0.3121, 0.3677",\
                 "0.5211, 0.5163, 0.5017, 0.4802, 0.4557, 0.4304, 0.4055, 0.3848, 0.3861, 0.4758");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.00617, 0.006328, 0.006636, 0.00681, 0.006918, 0.006984, 0.00703, 0.007057, 0.007079, 0.007094",\
                 "0.005924, 0.006259, 0.006999, 0.007586, 0.007924, 0.008143, 0.00828, 0.008365, 0.008424, 0.008464",\
                 "0.008735, 0.008859, 0.009234, 0.009636, 0.009936, 0.01013, 0.01027, 0.01035, 0.01042, 0.01046",\
                 "0.01759, 0.01712, 0.01615, 0.01512, 0.01429, 0.01361, 0.01311, 0.01276, 0.01249, 0.0123",\
                 "0.0352, 0.03395, 0.03089, 0.02737, 0.02423, 0.02169, 0.01969, 0.01809, 0.01688, 0.01591",\
                 "0.06394, 0.06193, 0.05632, 0.04924, 0.04274, 0.0372, 0.03264, 0.02899, 0.02604, 0.02363",\
                 "0.105, 0.1022, 0.09407, 0.08303, 0.07215, 0.06257, 0.0544, 0.04763, 0.04211, 0.03745",\
                 "0.1593, 0.1557, 0.1452, 0.1302, 0.1143, 0.09975, 0.08714, 0.07639, 0.06714, 0.05946",\
                 "0.2273, 0.223, 0.2102, 0.1915, 0.1705, 0.1503, 0.1324, 0.1167, 0.1032, 0.09146",\
                 "0.3096, 0.3048, 0.29, 0.2676, 0.2418, 0.2158, 0.1916, 0.1702, 0.1515, 0.1352");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1476, 0.1479, 0.1487, 0.1494, 0.1501, 0.1508, 0.1514, 0.1522, 0.1547, 0.1709",\
                 "0.1449, 0.1455, 0.1469, 0.1486, 0.1498, 0.1508, 0.1518, 0.1525, 0.155, 0.1717",\
                 "0.1453, 0.1455, 0.146, 0.1471, 0.1485, 0.1499, 0.1511, 0.152, 0.1548, 0.1723",\
                 "0.1568, 0.156, 0.1541, 0.1524, 0.1517, 0.1516, 0.1524, 0.1527, 0.1559, 0.1745",\
                 "0.1795, 0.178, 0.1737, 0.1687, 0.1641, 0.161, 0.1592, 0.1585, 0.1599, 0.1808",\
                 "0.2143, 0.212, 0.2055, 0.1971, 0.1886, 0.1812, 0.1752, 0.1713, 0.1716, 0.1943",\
                 "0.2623, 0.2592, 0.2504, 0.2384, 0.2259, 0.214, 0.2033, 0.1949, 0.1928, 0.2207",\
                 "0.3249, 0.3208, 0.3095, 0.2938, 0.2772, 0.261, 0.2453, 0.2317, 0.2267, 0.2634",\
                 "0.4024, 0.3978, 0.384, 0.3648, 0.3434, 0.3224, 0.3024, 0.2836, 0.2781, 0.3305",\
                 "0.4962, 0.4909, 0.4749, 0.4518, 0.4257, 0.3997, 0.3748, 0.3524, 0.3523, 0.4381");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006157, 0.006328, 0.006639, 0.006848, 0.006945, 0.007001, 0.007039, 0.007063, 0.007079, 0.007093",\
                 "0.00597, 0.006333, 0.007048, 0.007656, 0.007999, 0.008203, 0.008334, 0.008415, 0.00847, 0.00851",\
                 "0.009122, 0.00927, 0.009595, 0.009977, 0.01026, 0.01044, 0.01055, 0.01064, 0.0107, 0.01074",\
                 "0.01791, 0.01751, 0.01659, 0.01562, 0.01481, 0.01414, 0.01365, 0.0133, 0.01304, 0.01284",\
                 "0.03394, 0.0329, 0.03017, 0.02704, 0.02417, 0.02183, 0.01994, 0.01848, 0.01733, 0.01645",\
                 "0.05964, 0.05792, 0.05289, 0.04672, 0.041, 0.03599, 0.03187, 0.02854, 0.02586, 0.02363",\
                 "0.09656, 0.09401, 0.08685, 0.07715, 0.06741, 0.05892, 0.05164, 0.04554, 0.04046, 0.03628",\
                 "0.1455, 0.1423, 0.1329, 0.1196, 0.1054, 0.0924, 0.08118, 0.07142, 0.06327, 0.05621",\
                 "0.2073, 0.2035, 0.1918, 0.175, 0.1562, 0.1381, 0.122, 0.1079, 0.09571, 0.0852",\
                 "0.2823, 0.278, 0.2644, 0.2441, 0.2207, 0.1973, 0.1756, 0.1563, 0.1395, 0.1248");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1476, 0.1479, 0.1488, 0.1495, 0.1502, 0.1509, 0.1517, 0.1526, 0.1601, 0.2065",\
                 "0.1449, 0.1455, 0.147, 0.1486, 0.1498, 0.1509, 0.1518, 0.153, 0.1607, 0.2076",\
                 "0.1452, 0.1453, 0.1459, 0.147, 0.1485, 0.1499, 0.1512, 0.1525, 0.1607, 0.2091",\
                 "0.1561, 0.1554, 0.1535, 0.152, 0.1514, 0.1515, 0.1523, 0.153, 0.1618, 0.2141",\
                 "0.1775, 0.1761, 0.1721, 0.1672, 0.1629, 0.1601, 0.1584, 0.158, 0.1671, 0.2242",\
                 "0.2098, 0.2076, 0.2017, 0.1938, 0.1856, 0.1787, 0.1731, 0.1705, 0.1792, 0.2434",\
                 "0.254, 0.2511, 0.2431, 0.2321, 0.2206, 0.209, 0.1992, 0.1921, 0.2021, 0.2782",\
                 "0.3114, 0.3077, 0.2973, 0.2832, 0.268, 0.2526, 0.2378, 0.2271, 0.2385, 0.3347",\
                 "0.3828, 0.3785, 0.3658, 0.348, 0.3287, 0.3095, 0.2906, 0.2762, 0.2948, 0.4219",\
                 "0.4692, 0.4641, 0.4492, 0.428, 0.4046, 0.3807, 0.3581, 0.3439, 0.3789, 0.558");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006154, 0.006325, 0.006642, 0.006864, 0.00698, 0.007034, 0.007048, 0.007066, 0.007077, 0.007088",\
                 "0.006003, 0.006339, 0.007065, 0.007679, 0.008025, 0.008234, 0.008341, 0.008418, 0.00847, 0.008504",\
                 "0.009151, 0.009266, 0.009599, 0.01, 0.01027, 0.01046, 0.01058, 0.01064, 0.0107, 0.01074",\
                 "0.01788, 0.01747, 0.01658, 0.0156, 0.01481, 0.01415, 0.01366, 0.01329, 0.01304, 0.01283",\
                 "0.03375, 0.03275, 0.03007, 0.02701, 0.02417, 0.02183, 0.01995, 0.01846, 0.01734, 0.01645",\
                 "0.05929, 0.0576, 0.05273, 0.04666, 0.04097, 0.03598, 0.03185, 0.02855, 0.02585, 0.02361",\
                 "0.09605, 0.09356, 0.08653, 0.07694, 0.06738, 0.05882, 0.05161, 0.04553, 0.04044, 0.03625",\
                 "0.1449, 0.1418, 0.1325, 0.1193, 0.1052, 0.0924, 0.0811, 0.0714, 0.06317, 0.05619",\
                 "0.2064, 0.2027, 0.1913, 0.1746, 0.156, 0.138, 0.1219, 0.1078, 0.09565, 0.08516",\
                 "0.2813, 0.277, 0.2637, 0.2436, 0.2204, 0.1971, 0.1754, 0.1562, 0.1393, 0.1247");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1802, 0.1804, 0.1811, 0.1817, 0.1824, 0.1832, 0.184, 0.1854, 0.1933, 0.2411",\
                 "0.1781, 0.1785, 0.1797, 0.181, 0.1821, 0.1834, 0.1842, 0.1858, 0.194, 0.2426",\
                 "0.1776, 0.1777, 0.1784, 0.1796, 0.1809, 0.1823, 0.1836, 0.1852, 0.194, 0.2443",\
                 "0.187, 0.1864, 0.185, 0.1839, 0.1836, 0.1839, 0.1846, 0.1859, 0.1954, 0.2487",\
                 "0.207, 0.2058, 0.2025, 0.1983, 0.1946, 0.1921, 0.1908, 0.1909, 0.2004, 0.2594",\
                 "0.2379, 0.2362, 0.2311, 0.2241, 0.2166, 0.2101, 0.2054, 0.2028, 0.2126, 0.2785",\
                 "0.2809, 0.2784, 0.2715, 0.2616, 0.2505, 0.2401, 0.2307, 0.2246, 0.2348, 0.3136",\
                 "0.337, 0.3339, 0.325, 0.3119, 0.2977, 0.2829, 0.269, 0.2589, 0.2718, 0.3712",\
                 "0.4072, 0.4034, 0.3921, 0.3761, 0.3579, 0.3393, 0.3212, 0.3079, 0.3282, 0.4599",\
                 "0.4924, 0.488, 0.4746, 0.4551, 0.433, 0.4103, 0.3878, 0.3742, 0.4137, 0.5965");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.00616, 0.006342, 0.006646, 0.006857, 0.006956, 0.007, 0.007037, 0.007055, 0.007074, 0.007083",\
                 "0.005956, 0.006304, 0.007017, 0.00764, 0.007969, 0.008153, 0.008286, 0.008365, 0.008419, 0.008456",\
                 "0.008766, 0.008863, 0.009242, 0.009662, 0.009952, 0.01015, 0.01029, 0.01036, 0.01042, 0.01045",\
                 "0.01749, 0.01707, 0.01613, 0.01511, 0.01426, 0.01361, 0.01313, 0.01276, 0.01249, 0.01229",\
                 "0.03494, 0.03382, 0.03078, 0.02733, 0.02422, 0.02169, 0.01965, 0.01807, 0.01688, 0.01593",\
                 "0.06352, 0.06159, 0.05611, 0.04914, 0.04269, 0.03715, 0.03265, 0.02899, 0.02606, 0.02364",\
                 "0.1044, 0.1017, 0.09368, 0.08282, 0.07199, 0.06248, 0.05438, 0.04766, 0.042, 0.0375",\
                 "0.1584, 0.155, 0.1446, 0.1299, 0.1141, 0.09958, 0.08706, 0.07628, 0.06711, 0.05946",\
                 "0.2262, 0.2221, 0.2096, 0.191, 0.1702, 0.1502, 0.1323, 0.1166, 0.1031, 0.09146",\
                 "0.3083, 0.3037, 0.2891, 0.267, 0.2414, 0.2155, 0.1914, 0.1701, 0.1513, 0.1351");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1815, 0.1818, 0.1823, 0.1831, 0.1838, 0.1845, 0.1856, 0.1863, 0.189, 0.2063",\
                 "0.1794, 0.1798, 0.181, 0.1823, 0.1836, 0.1846, 0.1859, 0.1867, 0.1894, 0.2068",\
                 "0.1791, 0.1792, 0.1799, 0.181, 0.1824, 0.1837, 0.1849, 0.1863, 0.1894, 0.2077",\
                 "0.1889, 0.1883, 0.1869, 0.1857, 0.1853, 0.1855, 0.1863, 0.1872, 0.19, 0.2098",\
                 "0.21, 0.2089, 0.2053, 0.2011, 0.1972, 0.1945, 0.1933, 0.1924, 0.1945, 0.2161",\
                 "0.2433, 0.2414, 0.2361, 0.2284, 0.2206, 0.2138, 0.2088, 0.2049, 0.2053, 0.2303",\
                 "0.29, 0.2873, 0.2796, 0.269, 0.2574, 0.2463, 0.2363, 0.2284, 0.2269, 0.2562",\
                 "0.351, 0.3477, 0.3377, 0.3235, 0.3078, 0.2924, 0.2776, 0.265, 0.2608, 0.2994",\
                 "0.4274, 0.4232, 0.4111, 0.3934, 0.3734, 0.3531, 0.3338, 0.316, 0.3121, 0.3675",\
                 "0.5201, 0.5153, 0.5008, 0.4795, 0.4551, 0.4299, 0.4057, 0.3843, 0.3863, 0.4762");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.00615, 0.006333, 0.006644, 0.006867, 0.006981, 0.007034, 0.007054, 0.007068, 0.007083, 0.00709",\
                 "0.006002, 0.006339, 0.007063, 0.007682, 0.008038, 0.008226, 0.008347, 0.00842, 0.008472, 0.008506",\
                 "0.009144, 0.009218, 0.009605, 0.01001, 0.01027, 0.01047, 0.01058, 0.01065, 0.0107, 0.01074",\
                 "0.01788, 0.01747, 0.01658, 0.0156, 0.01479, 0.01415, 0.01367, 0.01331, 0.01304, 0.01283",\
                 "0.03374, 0.03274, 0.0301, 0.027, 0.02415, 0.02184, 0.01997, 0.01848, 0.01733, 0.01645",\
                 "0.05928, 0.05757, 0.05272, 0.04666, 0.04096, 0.03596, 0.03186, 0.02855, 0.02586, 0.02361",\
                 "0.09603, 0.09354, 0.08651, 0.07693, 0.06736, 0.05885, 0.05159, 0.04553, 0.04049, 0.03629",\
                 "0.1449, 0.1417, 0.1325, 0.1193, 0.1052, 0.09239, 0.08109, 0.07139, 0.06316, 0.05622",\
                 "0.2063, 0.2027, 0.1912, 0.1746, 0.1559, 0.138, 0.1219, 0.1078, 0.09564, 0.08515",\
                 "0.2812, 0.277, 0.2636, 0.2435, 0.2203, 0.197, 0.1754, 0.1562, 0.1394, 0.1246");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1816, 0.1818, 0.1825, 0.1832, 0.1838, 0.1845, 0.1853, 0.1868, 0.1948, 0.2429",\
                 "0.1794, 0.1799, 0.1811, 0.1824, 0.1835, 0.1846, 0.1856, 0.1872, 0.1954, 0.2437",\
                 "0.179, 0.1791, 0.1798, 0.181, 0.1822, 0.1837, 0.185, 0.1866, 0.1953, 0.2455",\
                 "0.1882, 0.1877, 0.1864, 0.1853, 0.1849, 0.1852, 0.1857, 0.1874, 0.1966, 0.2506",\
                 "0.2083, 0.2072, 0.2038, 0.1997, 0.1958, 0.1936, 0.1923, 0.1923, 0.2017, 0.2606",\
                 "0.2392, 0.2374, 0.2324, 0.2254, 0.2177, 0.2116, 0.2066, 0.2041, 0.214, 0.2799",\
                 "0.2821, 0.2797, 0.2727, 0.2629, 0.252, 0.2414, 0.232, 0.226, 0.2362, 0.315",\
                 "0.3381, 0.335, 0.326, 0.3131, 0.299, 0.2841, 0.2703, 0.2602, 0.2733, 0.3714",\
                 "0.4082, 0.4045, 0.3933, 0.3772, 0.3591, 0.3405, 0.3222, 0.3091, 0.3296, 0.4613",\
                 "0.4934, 0.489, 0.4757, 0.4563, 0.4343, 0.4112, 0.389, 0.3757, 0.4146, 0.5983");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006166, 0.006315, 0.006645, 0.006864, 0.006981, 0.007035, 0.007051, 0.007068, 0.007079, 0.007093",\
                 "0.006025, 0.00634, 0.00707, 0.007693, 0.008035, 0.008226, 0.008345, 0.00842, 0.008475, 0.008506",\
                 "0.009174, 0.009261, 0.009628, 0.009981, 0.01027, 0.01047, 0.01058, 0.01066, 0.0107, 0.01075",\
                 "0.01786, 0.01746, 0.01657, 0.0156, 0.01478, 0.01414, 0.01367, 0.01331, 0.01304, 0.01283",\
                 "0.03363, 0.03258, 0.03005, 0.027, 0.02415, 0.02183, 0.01999, 0.01848, 0.01734, 0.01645",\
                 "0.05896, 0.0573, 0.05256, 0.04659, 0.04092, 0.03594, 0.03184, 0.02853, 0.02581, 0.02361",\
                 "0.09557, 0.09319, 0.08623, 0.07676, 0.06724, 0.05884, 0.05157, 0.0455, 0.04046, 0.03627",\
                 "0.1442, 0.1412, 0.132, 0.119, 0.1051, 0.09225, 0.08105, 0.07133, 0.06319, 0.05625",\
                 "0.2056, 0.202, 0.1906, 0.1742, 0.1557, 0.1378, 0.1218, 0.1078, 0.09565, 0.08512",\
                 "0.2803, 0.2761, 0.2629, 0.243, 0.22, 0.1968, 0.1752, 0.1561, 0.1392, 0.1246");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.214, 0.2142, 0.2147, 0.2153, 0.2159, 0.2167, 0.2175, 0.2189, 0.227, 0.2763",\
                 "0.2123, 0.2126, 0.2136, 0.2146, 0.2157, 0.2168, 0.2177, 0.2193, 0.2278, 0.2776",\
                 "0.2114, 0.2116, 0.2123, 0.2132, 0.2145, 0.2158, 0.2172, 0.2187, 0.2278, 0.2794",\
                 "0.2194, 0.219, 0.218, 0.2172, 0.2169, 0.2173, 0.218, 0.2195, 0.229, 0.2838",\
                 "0.2382, 0.2372, 0.2343, 0.2307, 0.2276, 0.2252, 0.2238, 0.2245, 0.2342, 0.2945",\
                 "0.268, 0.2665, 0.2621, 0.2557, 0.2489, 0.2431, 0.2383, 0.2358, 0.2461, 0.3145",\
                 "0.3098, 0.3077, 0.3014, 0.2925, 0.2822, 0.2719, 0.2633, 0.2575, 0.2685, 0.3497",\
                 "0.3646, 0.3619, 0.354, 0.3421, 0.3285, 0.3143, 0.3011, 0.2912, 0.3057, 0.4069",\
                 "0.4336, 0.4303, 0.4202, 0.4055, 0.3881, 0.3705, 0.3525, 0.3401, 0.3616, 0.4966",\
                 "0.5177, 0.5137, 0.5016, 0.4836, 0.4626, 0.4406, 0.4189, 0.4064, 0.448, 0.635");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006069, 0.006234, 0.006497, 0.006663, 0.006747, 0.006804, 0.006846, 0.006869, 0.006885, 0.0069",\
                 "0.005137, 0.00552, 0.00639, 0.007031, 0.00741, 0.007644, 0.007791, 0.00788, 0.007941, 0.007985",\
                 "0.005846, 0.006166, 0.006973, 0.007817, 0.008452, 0.00885, 0.009095, 0.009282, 0.009393, 0.009472",\
                 "0.01435, 0.01403, 0.01342, 0.01285, 0.01237, 0.01198, 0.01166, 0.01141, 0.01122, 0.01108",\
                 "0.03359, 0.0324, 0.02946, 0.02611, 0.02312, 0.0207, 0.01875, 0.01721, 0.016, 0.01504",\
                 "0.06577, 0.06369, 0.05791, 0.05068, 0.04387, 0.03822, 0.03342, 0.02954, 0.02643, 0.02387",\
                 "0.1119, 0.109, 0.1005, 0.08898, 0.07733, 0.06709, 0.05839, 0.05108, 0.04502, 0.03994",\
                 "0.1728, 0.1692, 0.1581, 0.1423, 0.1253, 0.1096, 0.09584, 0.08405, 0.074, 0.06551",\
                 "0.2492, 0.2449, 0.2315, 0.2116, 0.1893, 0.1674, 0.1476, 0.1304, 0.1154, 0.1025",\
                 "0.3419, 0.3368, 0.3213, 0.2977, 0.2701, 0.242, 0.2155, 0.1919, 0.1712, 0.1529");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1765, 0.1765, 0.1768, 0.1771, 0.1777, 0.1783, 0.1792, 0.1803, 0.1818, 0.1854",\
                 "0.1744, 0.1746, 0.1751, 0.1758, 0.1765, 0.1774, 0.1784, 0.1796, 0.181, 0.1847",\
                 "0.1761, 0.176, 0.1758, 0.176, 0.1765, 0.1771, 0.1781, 0.1794, 0.1809, 0.1849",\
                 "0.1891, 0.1883, 0.1859, 0.1835, 0.1818, 0.1811, 0.181, 0.1813, 0.1821, 0.1865",\
                 "0.2147, 0.2132, 0.2085, 0.2027, 0.1971, 0.1928, 0.1898, 0.1885, 0.1882, 0.192",\
                 "0.2545, 0.2521, 0.2451, 0.2355, 0.2255, 0.2169, 0.2094, 0.2043, 0.2004, 0.2047",\
                 "0.3094, 0.3063, 0.297, 0.2836, 0.2691, 0.2552, 0.2427, 0.2323, 0.2253, 0.2267",\
                 "0.3801, 0.3765, 0.3655, 0.3485, 0.3291, 0.3097, 0.2915, 0.2759, 0.2628, 0.2649",\
                 "0.4679, 0.4639, 0.4512, 0.4311, 0.4067, 0.3818, 0.3578, 0.3358, 0.3177, 0.3215",\
                 "0.5735, 0.569, 0.5548, 0.5321, 0.5036, 0.4723, 0.4423, 0.4138, 0.3934, 0.4089");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006062, 0.006234, 0.006521, 0.006714, 0.006782, 0.006822, 0.006855, 0.006877, 0.006892, 0.006903",\
                 "0.005182, 0.005591, 0.006471, 0.007141, 0.007521, 0.007734, 0.007871, 0.007961, 0.008016, 0.008057",\
                 "0.006373, 0.006681, 0.007485, 0.008287, 0.008904, 0.009285, 0.009511, 0.009686, 0.009793, 0.009863",\
                 "0.01492, 0.01465, 0.01408, 0.01359, 0.01314, 0.01275, 0.01242, 0.01217, 0.01198, 0.01184",\
                 "0.03229, 0.03126, 0.02871, 0.02585, 0.02322, 0.02099, 0.01923, 0.01779, 0.01667, 0.01577",\
                 "0.06048, 0.05873, 0.05381, 0.04761, 0.04179, 0.03673, 0.03253, 0.02908, 0.02622, 0.02393",\
                 "0.1012, 0.09866, 0.09138, 0.08143, 0.07135, 0.06246, 0.05479, 0.04834, 0.04292, 0.03844",\
                 "0.1553, 0.1521, 0.1423, 0.1286, 0.1139, 0.1001, 0.08808, 0.07773, 0.06887, 0.06128",\
                 "0.2236, 0.2197, 0.2078, 0.1903, 0.1706, 0.1514, 0.1341, 0.1189, 0.1058, 0.0944",\
                 "0.3067, 0.3022, 0.2881, 0.267, 0.2426, 0.2178, 0.1945, 0.1737, 0.1554, 0.1393");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1766, 0.1766, 0.1769, 0.1772, 0.1777, 0.1784, 0.1792, 0.1803, 0.1833, 0.1998",\
                 "0.1744, 0.1747, 0.1752, 0.1759, 0.1765, 0.1773, 0.1785, 0.1796, 0.1823, 0.1993",\
                 "0.176, 0.176, 0.1758, 0.176, 0.1765, 0.1771, 0.1781, 0.1793, 0.1818, 0.2008",\
                 "0.1883, 0.1875, 0.1854, 0.183, 0.1814, 0.1806, 0.1806, 0.1814, 0.1835, 0.2027",\
                 "0.2123, 0.2108, 0.2064, 0.2007, 0.1954, 0.1917, 0.189, 0.1874, 0.1895, 0.2102",\
                 "0.2486, 0.2464, 0.24, 0.2312, 0.2217, 0.2135, 0.2068, 0.202, 0.2019, 0.2257",\
                 "0.2984, 0.2956, 0.2871, 0.2749, 0.2616, 0.2484, 0.2367, 0.2277, 0.2249, 0.2529",\
                 "0.3627, 0.3594, 0.3492, 0.3338, 0.3162, 0.2984, 0.2814, 0.267, 0.2616, 0.2983",\
                 "0.4426, 0.4389, 0.4268, 0.4084, 0.3864, 0.364, 0.3419, 0.322, 0.316, 0.3696",\
                 "0.5386, 0.5344, 0.5212, 0.4997, 0.4736, 0.4461, 0.419, 0.3947, 0.3942, 0.4817");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006075, 0.006236, 0.006523, 0.006731, 0.006821, 0.006859, 0.006874, 0.006884, 0.00689, 0.006897",\
                 "0.005214, 0.005642, 0.006475, 0.00716, 0.007551, 0.007769, 0.007888, 0.007963, 0.008014, 0.008051",\
                 "0.006431, 0.006715, 0.007482, 0.008295, 0.008917, 0.009308, 0.009521, 0.009687, 0.009786, 0.009857",\
                 "0.01492, 0.01465, 0.0141, 0.0136, 0.01315, 0.01276, 0.01243, 0.01218, 0.01198, 0.01184",\
                 "0.03213, 0.03114, 0.02866, 0.02582, 0.02318, 0.02098, 0.01923, 0.01779, 0.01667, 0.01577",\
                 "0.06014, 0.05842, 0.05364, 0.04752, 0.04175, 0.0367, 0.03254, 0.02908, 0.02622, 0.02391",\
                 "0.1006, 0.09819, 0.09105, 0.08127, 0.07125, 0.06238, 0.05475, 0.04833, 0.04291, 0.03843",\
                 "0.1546, 0.1514, 0.1419, 0.1283, 0.1137, 0.1, 0.08802, 0.07766, 0.06883, 0.06126",\
                 "0.2227, 0.2189, 0.2071, 0.1898, 0.1703, 0.1512, 0.134, 0.1189, 0.1056, 0.09433",\
                 "0.3057, 0.3012, 0.2874, 0.2664, 0.2422, 0.2176, 0.1944, 0.1735, 0.1552, 0.1393");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2088, 0.2088, 0.209, 0.2094, 0.2099, 0.2106, 0.2113, 0.2121, 0.2148, 0.2324",\
                 "0.2068, 0.207, 0.2075, 0.2081, 0.2086, 0.2095, 0.2106, 0.2116, 0.2146, 0.2325",\
                 "0.208, 0.2079, 0.2079, 0.2082, 0.2086, 0.2094, 0.2103, 0.2113, 0.2139, 0.233",\
                 "0.2189, 0.2183, 0.2165, 0.2147, 0.2134, 0.2126, 0.2126, 0.2132, 0.2156, 0.2354",\
                 "0.2415, 0.2402, 0.2367, 0.2316, 0.2268, 0.2234, 0.221, 0.2196, 0.2213, 0.2429",\
                 "0.2765, 0.2746, 0.2691, 0.2611, 0.2525, 0.2447, 0.2384, 0.2338, 0.2335, 0.2586",\
                 "0.3253, 0.3229, 0.3153, 0.3042, 0.2917, 0.279, 0.2681, 0.259, 0.2566, 0.2853",\
                 "0.3887, 0.3856, 0.3764, 0.3619, 0.3455, 0.3284, 0.3121, 0.298, 0.2937, 0.3312",\
                 "0.4676, 0.4642, 0.4533, 0.4359, 0.4148, 0.3933, 0.3719, 0.353, 0.3474, 0.4034",\
                 "0.5629, 0.559, 0.5466, 0.5264, 0.5011, 0.4746, 0.4485, 0.4248, 0.4266, 0.516");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.00623, 0.006391, 0.006674, 0.00682, 0.006924, 0.006975, 0.007005, 0.007036, 0.007054, 0.007054",\
                 "0.005601, 0.006015, 0.006877, 0.007505, 0.007889, 0.008139, 0.008283, 0.008373, 0.008432, 0.008474",\
                 "0.006798, 0.007107, 0.007961, 0.008768, 0.009367, 0.009749, 0.01, 0.01016, 0.01027, 0.01036",\
                 "0.01471, 0.01445, 0.01402, 0.0136, 0.01325, 0.01288, 0.01262, 0.01239, 0.01222, 0.01209",\
                 "0.03162, 0.03067, 0.02822, 0.02545, 0.02293, 0.02082, 0.01912, 0.01774, 0.01665, 0.0158",\
                 "0.06001, 0.05834, 0.05334, 0.04715, 0.04138, 0.03644, 0.03227, 0.02885, 0.0261, 0.02381",\
                 "0.101, 0.09849, 0.0911, 0.08106, 0.07097, 0.06211, 0.05452, 0.04806, 0.04269, 0.0382",\
                 "0.1555, 0.1522, 0.1424, 0.1285, 0.1136, 0.09982, 0.08773, 0.07739, 0.06856, 0.06105",\
                 "0.2241, 0.2201, 0.208, 0.1903, 0.1705, 0.1512, 0.1338, 0.1186, 0.1055, 0.09419",\
                 "0.3075, 0.3029, 0.2886, 0.2673, 0.2426, 0.2177, 0.1943, 0.1733, 0.1551, 0.139");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1765, 0.1766, 0.1767, 0.1772, 0.1778, 0.1783, 0.1795, 0.1804, 0.1827, 0.1998",\
                 "0.1743, 0.1745, 0.175, 0.1758, 0.1765, 0.1773, 0.1784, 0.1795, 0.182, 0.1989",\
                 "0.1756, 0.1756, 0.1755, 0.1757, 0.1763, 0.177, 0.1783, 0.1789, 0.1816, 0.1999",\
                 "0.1875, 0.1867, 0.1846, 0.1824, 0.181, 0.1804, 0.1804, 0.1807, 0.1833, 0.2033",\
                 "0.2109, 0.2095, 0.2052, 0.1997, 0.1946, 0.1909, 0.1886, 0.1871, 0.1884, 0.2095",\
                 "0.2468, 0.2447, 0.2385, 0.2298, 0.2205, 0.2125, 0.2064, 0.2013, 0.201, 0.2248",\
                 "0.2965, 0.2937, 0.2853, 0.2733, 0.2601, 0.247, 0.2358, 0.2268, 0.2239, 0.2521",\
                 "0.3607, 0.3574, 0.3472, 0.3317, 0.3144, 0.2967, 0.2799, 0.2657, 0.2603, 0.2975",\
                 "0.4403, 0.4367, 0.4248, 0.4065, 0.3845, 0.3621, 0.3402, 0.3204, 0.3147, 0.3683",\
                 "0.5364, 0.5322, 0.5189, 0.4976, 0.4717, 0.4441, 0.4175, 0.3928, 0.3924, 0.4811");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006217, 0.006388, 0.006689, 0.006855, 0.00695, 0.006994, 0.007017, 0.007047, 0.007062, 0.00706",\
                 "0.00564, 0.006055, 0.006933, 0.007582, 0.007952, 0.008194, 0.008327, 0.008413, 0.008476, 0.008517",\
                 "0.007181, 0.007493, 0.008328, 0.00911, 0.00969, 0.01006, 0.01032, 0.01047, 0.01058, 0.01065",\
                 "0.01516, 0.01499, 0.01458, 0.01418, 0.0138, 0.01349, 0.01319, 0.01296, 0.01278, 0.01265",\
                 "0.03072, 0.02987, 0.02773, 0.02531, 0.02299, 0.02108, 0.01946, 0.01817, 0.01715, 0.01632",\
                 "0.05605, 0.0545, 0.05021, 0.04486, 0.03973, 0.03533, 0.03157, 0.02845, 0.02589, 0.02383",\
                 "0.09267, 0.09043, 0.08399, 0.07522, 0.06626, 0.05845, 0.05166, 0.0459, 0.04105, 0.03699",\
                 "0.1416, 0.1387, 0.13, 0.1178, 0.1046, 0.09239, 0.08164, 0.07239, 0.06444, 0.05768",\
                 "0.2036, 0.2, 0.1891, 0.1734, 0.1558, 0.1387, 0.1231, 0.1096, 0.09783, 0.08755",\
                 "0.2791, 0.275, 0.2621, 0.2429, 0.2208, 0.1986, 0.1777, 0.159, 0.1426, 0.1283");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1765, 0.1766, 0.1768, 0.1772, 0.1777, 0.1783, 0.179, 0.1803, 0.1885, 0.2359",\
                 "0.1743, 0.1745, 0.1751, 0.1758, 0.1765, 0.1773, 0.1782, 0.1796, 0.1876, 0.236",\
                 "0.1756, 0.1755, 0.1755, 0.1757, 0.1762, 0.1771, 0.1778, 0.1792, 0.1878, 0.2375",\
                 "0.1869, 0.1861, 0.1841, 0.182, 0.1806, 0.1802, 0.18, 0.181, 0.1898, 0.2429",\
                 "0.2088, 0.2075, 0.2035, 0.1983, 0.1935, 0.1899, 0.1878, 0.1871, 0.1957, 0.2539",\
                 "0.242, 0.2401, 0.2343, 0.2262, 0.2175, 0.2097, 0.2038, 0.2005, 0.2093, 0.2745",\
                 "0.2876, 0.285, 0.2774, 0.2662, 0.2539, 0.2422, 0.231, 0.224, 0.2332, 0.311",\
                 "0.3464, 0.3433, 0.3339, 0.3199, 0.3041, 0.2876, 0.2723, 0.2605, 0.2721, 0.3698",\
                 "0.4196, 0.416, 0.4049, 0.3881, 0.3682, 0.3478, 0.3272, 0.3125, 0.3314, 0.4618",\
                 "0.5078, 0.5038, 0.4912, 0.4716, 0.4479, 0.4232, 0.3984, 0.3826, 0.4201, 0.6017");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006235, 0.006387, 0.006682, 0.006876, 0.006972, 0.007019, 0.007031, 0.007052, 0.007061, 0.007055",\
                 "0.00569, 0.006082, 0.006934, 0.007597, 0.007983, 0.008219, 0.008339, 0.00842, 0.008474, 0.008511",\
                 "0.007239, 0.007536, 0.008332, 0.009118, 0.009704, 0.01009, 0.01033, 0.01047, 0.01058, 0.01064",\
                 "0.01514, 0.01501, 0.01461, 0.01419, 0.01381, 0.0135, 0.01319, 0.01297, 0.01279, 0.01265",\
                 "0.03062, 0.02976, 0.02768, 0.02529, 0.02301, 0.02108, 0.01945, 0.01817, 0.01714, 0.01631",\
                 "0.05573, 0.05423, 0.05009, 0.04477, 0.0397, 0.03531, 0.03155, 0.02845, 0.02588, 0.02384",\
                 "0.09219, 0.09004, 0.08371, 0.07505, 0.0662, 0.05842, 0.05163, 0.04588, 0.04103, 0.03696",\
                 "0.141, 0.1381, 0.1296, 0.1175, 0.1045, 0.09225, 0.08157, 0.07235, 0.06443, 0.05767",\
                 "0.2028, 0.1993, 0.1886, 0.173, 0.1556, 0.1385, 0.1231, 0.1096, 0.0978, 0.08751",\
                 "0.2782, 0.2741, 0.2614, 0.2423, 0.2205, 0.1984, 0.1776, 0.1589, 0.1425, 0.1281");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2087, 0.2088, 0.209, 0.2093, 0.2098, 0.2104, 0.2113, 0.2127, 0.2205, 0.2698",\
                 "0.2068, 0.2069, 0.2074, 0.208, 0.2086, 0.2094, 0.2104, 0.2117, 0.22, 0.2696",\
                 "0.2076, 0.2076, 0.2076, 0.2079, 0.2084, 0.2091, 0.21, 0.2115, 0.2201, 0.2713",\
                 "0.2175, 0.2169, 0.2153, 0.2137, 0.2125, 0.2122, 0.2122, 0.213, 0.2222, 0.2761",\
                 "0.2383, 0.2372, 0.2338, 0.229, 0.2249, 0.2215, 0.2195, 0.2189, 0.2278, 0.2875",\
                 "0.2704, 0.2687, 0.2637, 0.2561, 0.2482, 0.2408, 0.2353, 0.2321, 0.2413, 0.3091",\
                 "0.3149, 0.3127, 0.3058, 0.2957, 0.284, 0.2727, 0.2625, 0.2556, 0.2654, 0.3457",\
                 "0.3728, 0.37, 0.3616, 0.3485, 0.3335, 0.3176, 0.3027, 0.2917, 0.3043, 0.4045",\
                 "0.4451, 0.4417, 0.4316, 0.4159, 0.397, 0.3773, 0.3574, 0.3431, 0.3637, 0.4974",\
                 "0.5324, 0.5287, 0.5173, 0.4986, 0.4756, 0.4518, 0.4281, 0.4135, 0.453, 0.639");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006238, 0.006388, 0.006669, 0.006879, 0.00694, 0.00697, 0.007015, 0.007032, 0.007033, 0.007041",\
                 "0.005622, 0.006035, 0.006889, 0.007553, 0.007941, 0.008153, 0.008288, 0.00837, 0.008425, 0.008464",\
                 "0.006842, 0.007156, 0.007969, 0.008778, 0.009382, 0.009768, 0.01, 0.01017, 0.01029, 0.01036",\
                 "0.01468, 0.01449, 0.01405, 0.01361, 0.01324, 0.01291, 0.01262, 0.01239, 0.01221, 0.01208",\
                 "0.03145, 0.03054, 0.02818, 0.02543, 0.0229, 0.02082, 0.01912, 0.01774, 0.01665, 0.0158",\
                 "0.05962, 0.05795, 0.05318, 0.04709, 0.04135, 0.03642, 0.03224, 0.02885, 0.02606, 0.0238",\
                 "0.1005, 0.09801, 0.09078, 0.08085, 0.07089, 0.06203, 0.05445, 0.04804, 0.04268, 0.03816",\
                 "0.1548, 0.1515, 0.1419, 0.1282, 0.1134, 0.09972, 0.08765, 0.07732, 0.06851, 0.06104",\
                 "0.2232, 0.2193, 0.2074, 0.1898, 0.1702, 0.151, 0.1337, 0.1186, 0.1054, 0.094",\
                 "0.3064, 0.3019, 0.2879, 0.2667, 0.2421, 0.2174, 0.194, 0.1734, 0.155, 0.139");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2101, 0.2102, 0.2103, 0.2107, 0.2112, 0.2118, 0.2127, 0.2135, 0.216, 0.2335",\
                 "0.2082, 0.2083, 0.2088, 0.2094, 0.21, 0.2109, 0.2115, 0.2126, 0.2154, 0.233",\
                 "0.2091, 0.2089, 0.209, 0.2093, 0.2098, 0.2107, 0.2113, 0.2123, 0.2151, 0.2336",\
                 "0.2195, 0.2189, 0.2171, 0.2155, 0.2143, 0.2137, 0.214, 0.2143, 0.2167, 0.2364",\
                 "0.2415, 0.2402, 0.2367, 0.2319, 0.2273, 0.224, 0.2219, 0.2205, 0.2218, 0.2439",\
                 "0.2761, 0.2743, 0.2689, 0.2609, 0.2524, 0.245, 0.2388, 0.2345, 0.2342, 0.2589",\
                 "0.3245, 0.3222, 0.3147, 0.3038, 0.2915, 0.2791, 0.268, 0.2599, 0.2571, 0.2864",\
                 "0.3878, 0.3848, 0.3755, 0.3614, 0.3448, 0.3282, 0.3118, 0.298, 0.2931, 0.3312",\
                 "0.4666, 0.4631, 0.4522, 0.4349, 0.4139, 0.3927, 0.3715, 0.3523, 0.3474, 0.4032",\
                 "0.5618, 0.5579, 0.5455, 0.5254, 0.5006, 0.4738, 0.4478, 0.4245, 0.4253, 0.5165");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006233, 0.006387, 0.006672, 0.006896, 0.006969, 0.006999, 0.007042, 0.00705, 0.007047, 0.007054",\
                 "0.005662, 0.006091, 0.006935, 0.007597, 0.008006, 0.00822, 0.008343, 0.008419, 0.008476, 0.008512",\
                 "0.007242, 0.00753, 0.00834, 0.009118, 0.00971, 0.0101, 0.01033, 0.01048, 0.01058, 0.01064",\
                 "0.01514, 0.01501, 0.01461, 0.0142, 0.01383, 0.01349, 0.0132, 0.01296, 0.01278, 0.01264",\
                 "0.0306, 0.02976, 0.02768, 0.0253, 0.02298, 0.02108, 0.01948, 0.01818, 0.01714, 0.01633",\
                 "0.05572, 0.05422, 0.05009, 0.04478, 0.03971, 0.03531, 0.03155, 0.02845, 0.02589, 0.02384",\
                 "0.0922, 0.09003, 0.08371, 0.07506, 0.06619, 0.0584, 0.05164, 0.04582, 0.04103, 0.03699",\
                 "0.141, 0.1381, 0.1296, 0.1175, 0.1045, 0.09231, 0.08157, 0.07235, 0.06443, 0.05767",\
                 "0.2028, 0.1993, 0.1886, 0.1729, 0.1556, 0.1385, 0.1231, 0.1096, 0.09785, 0.08759",\
                 "0.2782, 0.2741, 0.2614, 0.2423, 0.2205, 0.1983, 0.1775, 0.1589, 0.1425, 0.1281");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2101, 0.2102, 0.2104, 0.2107, 0.2112, 0.2118, 0.2125, 0.2142, 0.2221, 0.2708",\
                 "0.2081, 0.2083, 0.2088, 0.2094, 0.2101, 0.2108, 0.2116, 0.213, 0.2209, 0.2709",\
                 "0.2089, 0.209, 0.209, 0.2092, 0.2097, 0.2105, 0.2114, 0.2126, 0.2215, 0.2726",\
                 "0.2188, 0.2182, 0.2166, 0.215, 0.2139, 0.2135, 0.2135, 0.2146, 0.2235, 0.2779",\
                 "0.2396, 0.2385, 0.235, 0.2304, 0.2261, 0.2229, 0.2208, 0.2205, 0.2296, 0.2891",\
                 "0.2716, 0.2699, 0.2649, 0.2574, 0.2494, 0.2425, 0.2366, 0.2334, 0.2424, 0.3106",\
                 "0.316, 0.3138, 0.307, 0.2969, 0.2853, 0.2737, 0.2638, 0.2567, 0.2669, 0.3466",\
                 "0.3739, 0.3713, 0.3627, 0.3497, 0.3348, 0.319, 0.304, 0.293, 0.306, 0.4063",\
                 "0.4461, 0.443, 0.4328, 0.4171, 0.3984, 0.3786, 0.3586, 0.3446, 0.3648, 0.4986",\
                 "0.5334, 0.5299, 0.5183, 0.4999, 0.4771, 0.4533, 0.4291, 0.4147, 0.4539, 0.6404");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.006225, 0.006397, 0.006672, 0.00689, 0.006966, 0.007, 0.00704, 0.007049, 0.007049, 0.007053",\
                 "0.005698, 0.006093, 0.006942, 0.007612, 0.008004, 0.008221, 0.008342, 0.008419, 0.008476, 0.008515",\
                 "0.007249, 0.007575, 0.008345, 0.009123, 0.009709, 0.0101, 0.01034, 0.01048, 0.01058, 0.01064",\
                 "0.01512, 0.01499, 0.01462, 0.0142, 0.01382, 0.01348, 0.0132, 0.01296, 0.01278, 0.01264",\
                 "0.03046, 0.02969, 0.02763, 0.02527, 0.02297, 0.02107, 0.01945, 0.01817, 0.01714, 0.01632",\
                 "0.05544, 0.05401, 0.04991, 0.04471, 0.03968, 0.03529, 0.03153, 0.02844, 0.02588, 0.02383",\
                 "0.0918, 0.08965, 0.08341, 0.0749, 0.06611, 0.05839, 0.05163, 0.0458, 0.04102, 0.03695",\
                 "0.1404, 0.1376, 0.1292, 0.1172, 0.1043, 0.09215, 0.08151, 0.07233, 0.06441, 0.05765",\
                 "0.2021, 0.1986, 0.1881, 0.1726, 0.1554, 0.1383, 0.123, 0.1095, 0.0978, 0.08751",\
                 "0.2773, 0.2733, 0.2607, 0.2418, 0.2201, 0.1981, 0.1774, 0.1588, 0.1425, 0.1281");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2422, 0.2423, 0.2425, 0.2428, 0.2432, 0.2439, 0.2449, 0.2459, 0.2543, 0.3046",\
                 "0.2405, 0.2406, 0.2409, 0.2415, 0.2421, 0.2429, 0.2436, 0.2451, 0.2536, 0.3038",\
                 "0.2409, 0.2409, 0.241, 0.2414, 0.242, 0.2425, 0.2434, 0.2447, 0.2539, 0.3061",\
                 "0.2498, 0.2494, 0.2481, 0.2468, 0.2458, 0.2453, 0.2455, 0.2464, 0.2559, 0.3113",\
                 "0.2695, 0.2685, 0.2654, 0.2613, 0.2576, 0.2547, 0.2528, 0.2522, 0.2617, 0.3226",\
                 "0.3006, 0.299, 0.2945, 0.2877, 0.2803, 0.2735, 0.268, 0.2652, 0.2746, 0.3445",\
                 "0.3438, 0.3419, 0.3356, 0.3263, 0.3154, 0.3047, 0.295, 0.2879, 0.299, 0.3812",\
                 "0.4009, 0.3984, 0.3906, 0.3784, 0.3644, 0.3491, 0.3346, 0.324, 0.3381, 0.4411",\
                 "0.4723, 0.4693, 0.46, 0.4451, 0.4273, 0.4083, 0.3889, 0.3755, 0.398, 0.5339",\
                 "0.5587, 0.5553, 0.5446, 0.5272, 0.5054, 0.4823, 0.4592, 0.4453, 0.4866, 0.6769");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.05311, 0.05317, 0.05307, 0.05311, 0.05316, 0.0532, 0.05321, 0.05323, 0.05324, 0.05327",\
                 "0.05299, 0.05294, 0.05296, 0.05303, 0.05314, 0.05319, 0.05321, 0.05323, 0.05323, 0.05326",\
                 "0.05328, 0.05325, 0.05317, 0.05314, 0.05319, 0.05321, 0.05327, 0.05323, 0.05326, 0.05326",\
                 "0.05939, 0.0591, 0.05822, 0.05722, 0.05625, 0.05548, 0.05496, 0.05454, 0.0543, 0.05409",\
                 "0.07611, 0.07523, 0.07269, 0.06942, 0.06616, 0.06357, 0.06134, 0.05968, 0.05839, 0.05741",\
                 "0.106, 0.1044, 0.0997, 0.0933, 0.0866, 0.08057, 0.07557, 0.07157, 0.06816, 0.0656",\
                 "0.1505, 0.1482, 0.1412, 0.131, 0.1199, 0.1094, 0.1003, 0.09259, 0.08629, 0.081",\
                 "0.2106, 0.2077, 0.1984, 0.1842, 0.1681, 0.1525, 0.1381, 0.1257, 0.115, 0.1062",\
                 "0.2868, 0.2833, 0.2719, 0.2542, 0.2331, 0.2112, 0.191, 0.1728, 0.1568, 0.1432",\
                 "0.3799, 0.3757, 0.3625, 0.3413, 0.3152, 0.2875, 0.2606, 0.2358, 0.2138, 0.1942");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2117, 0.2121, 0.2127, 0.2134, 0.2138, 0.2147, 0.2154, 0.2162, 0.2173, 0.2216",\
                 "0.2086, 0.2093, 0.2108, 0.2123, 0.2136, 0.2147, 0.2156, 0.2165, 0.2178, 0.222",\
                 "0.2042, 0.2048, 0.2065, 0.2088, 0.2109, 0.2128, 0.2144, 0.2156, 0.2172, 0.2218",\
                 "0.2075, 0.2074, 0.2075, 0.2082, 0.2096, 0.2114, 0.2128, 0.2144, 0.2164, 0.2214",\
                 "0.225, 0.224, 0.2215, 0.2189, 0.217, 0.2165, 0.2166, 0.2171, 0.2183, 0.2236",\
                 "0.2602, 0.2579, 0.2519, 0.2452, 0.2389, 0.2336, 0.2299, 0.2279, 0.2267, 0.2317",\
                 "0.3132, 0.3101, 0.3009, 0.2889, 0.2772, 0.2666, 0.2577, 0.2511, 0.2462, 0.2513",\
                 "0.3837, 0.3797, 0.3677, 0.351, 0.333, 0.3168, 0.3017, 0.2891, 0.2799, 0.2834",\
                 "0.4719, 0.4671, 0.453, 0.4316, 0.4075, 0.3846, 0.3641, 0.3453, 0.3308, 0.3366",\
                 "0.5786, 0.5733, 0.5566, 0.5315, 0.5022, 0.4716, 0.4444, 0.4196, 0.4012, 0.4172");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.05343, 0.05333, 0.05328, 0.05331, 0.0534, 0.0534, 0.05343, 0.05347, 0.05344, 0.05345",\
                 "0.05359, 0.0536, 0.05361, 0.05366, 0.05373, 0.05381, 0.05383, 0.05383, 0.05386, 0.05387",\
                 "0.0546, 0.05459, 0.05451, 0.05449, 0.05454, 0.05455, 0.0546, 0.05463, 0.05462, 0.05462",\
                 "0.06019, 0.05989, 0.05918, 0.05837, 0.05754, 0.05694, 0.05644, 0.05609, 0.05582, 0.05562",\
                 "0.07464, 0.07393, 0.07174, 0.06905, 0.06635, 0.06414, 0.06218, 0.06074, 0.05961, 0.05873",\
                 "0.1007, 0.09936, 0.09537, 0.08992, 0.08419, 0.07912, 0.07479, 0.07131, 0.06841, 0.06605",\
                 "0.1398, 0.1379, 0.1318, 0.123, 0.1136, 0.1045, 0.09657, 0.08998, 0.08436, 0.07984",\
                 "0.193, 0.1904, 0.1823, 0.17, 0.156, 0.1424, 0.1299, 0.1191, 0.1098, 0.1021",\
                 "0.2608, 0.2577, 0.2475, 0.2318, 0.2132, 0.1943, 0.1766, 0.1607, 0.1468, 0.1348",\
                 "0.344, 0.3403, 0.3284, 0.3092, 0.286, 0.2617, 0.2381, 0.2165, 0.1971, 0.18");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2117, 0.212, 0.2126, 0.2133, 0.2139, 0.2145, 0.2154, 0.2163, 0.2186, 0.237",\
                 "0.2085, 0.2092, 0.2108, 0.2124, 0.2135, 0.2146, 0.2155, 0.2166, 0.2191, 0.2379",\
                 "0.2041, 0.2047, 0.2064, 0.2087, 0.2109, 0.2128, 0.2143, 0.2159, 0.2193, 0.2387",\
                 "0.2063, 0.2063, 0.2066, 0.2075, 0.2091, 0.211, 0.2126, 0.2143, 0.2187, 0.2404",\
                 "0.2215, 0.2207, 0.2184, 0.2163, 0.2149, 0.2147, 0.2149, 0.216, 0.2198, 0.2439",\
                 "0.253, 0.251, 0.2459, 0.2396, 0.234, 0.2294, 0.2267, 0.2247, 0.2274, 0.2548",\
                 "0.3008, 0.298, 0.2899, 0.2791, 0.2685, 0.2589, 0.251, 0.2453, 0.2457, 0.2772",\
                 "0.3643, 0.3607, 0.3499, 0.3348, 0.319, 0.3041, 0.2906, 0.2793, 0.2773, 0.3183",\
                 "0.444, 0.4397, 0.4266, 0.4075, 0.3863, 0.3657, 0.3466, 0.3303, 0.3272, 0.3834",\
                 "0.5406, 0.5356, 0.5203, 0.4973, 0.471, 0.4446, 0.4199, 0.3989, 0.4008, 0.4865");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.05336, 0.05337, 0.05335, 0.05338, 0.05341, 0.05345, 0.05343, 0.05337, 0.05339, 0.05339",\
                 "0.05358, 0.05361, 0.05368, 0.05375, 0.05378, 0.05382, 0.05381, 0.05383, 0.05379, 0.05379",\
                 "0.05459, 0.05459, 0.05457, 0.05458, 0.05459, 0.05459, 0.05459, 0.05454, 0.05451, 0.05451",\
                 "0.06012, 0.05986, 0.05919, 0.05834, 0.05759, 0.05694, 0.05644, 0.05605, 0.05578, 0.05555",\
                 "0.0746, 0.07387, 0.07178, 0.06907, 0.0664, 0.06411, 0.06224, 0.06075, 0.05957, 0.05871",\
                 "0.1006, 0.09926, 0.0953, 0.0899, 0.08414, 0.07908, 0.07479, 0.07128, 0.06838, 0.06607",\
                 "0.1396, 0.1377, 0.1317, 0.1229, 0.1135, 0.1044, 0.09656, 0.08992, 0.08436, 0.07985",\
                 "0.1928, 0.1901, 0.1821, 0.1699, 0.1559, 0.1423, 0.1299, 0.119, 0.1099, 0.1021",\
                 "0.2604, 0.2573, 0.2472, 0.2315, 0.213, 0.1941, 0.1765, 0.1607, 0.1468, 0.1348",\
                 "0.3435, 0.3398, 0.3279, 0.3089, 0.2858, 0.2615, 0.238, 0.2164, 0.197, 0.1799");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2441, 0.2444, 0.2449, 0.2455, 0.2461, 0.2468, 0.2479, 0.2485, 0.2515, 0.2709",\
                 "0.2418, 0.2423, 0.2435, 0.2448, 0.2459, 0.2468, 0.248, 0.2493, 0.2524, 0.2719",\
                 "0.2373, 0.2378, 0.2392, 0.2413, 0.2434, 0.2451, 0.2467, 0.2481, 0.2518, 0.2724",\
                 "0.2385, 0.2385, 0.2389, 0.2399, 0.2416, 0.2432, 0.2453, 0.247, 0.251, 0.2741",\
                 "0.2521, 0.2514, 0.2496, 0.2481, 0.247, 0.2468, 0.2473, 0.2485, 0.2527, 0.2782",\
                 "0.2815, 0.28, 0.2758, 0.2704, 0.2653, 0.2615, 0.2587, 0.2575, 0.26, 0.2893",\
                 "0.3277, 0.3252, 0.3182, 0.3087, 0.2988, 0.2899, 0.2827, 0.2771, 0.2777, 0.3114",\
                 "0.3899, 0.3867, 0.3772, 0.3635, 0.3486, 0.3343, 0.3215, 0.3109, 0.3101, 0.3519",\
                 "0.4684, 0.4646, 0.4527, 0.4351, 0.4151, 0.3957, 0.3772, 0.3612, 0.3595, 0.4176",\
                 "0.5639, 0.5593, 0.5454, 0.5238, 0.499, 0.4735, 0.4498, 0.4293, 0.4329, 0.5218");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.0475, 0.04742, 0.04741, 0.04743, 0.04747, 0.0475, 0.04756, 0.04754, 0.04752, 0.04752",\
                 "0.047, 0.04698, 0.04696, 0.04698, 0.04706, 0.0471, 0.04713, 0.04711, 0.04714, 0.04714",\
                 "0.04693, 0.04688, 0.04675, 0.04656, 0.04649, 0.04646, 0.04646, 0.04643, 0.04641, 0.04644",\
                 "0.05287, 0.05245, 0.05137, 0.05014, 0.04911, 0.04826, 0.0477, 0.04729, 0.04698, 0.04678",\
                 "0.06968, 0.06861, 0.06564, 0.06187, 0.05855, 0.05571, 0.05354, 0.05189, 0.05064, 0.04971",\
                 "0.09969, 0.09778, 0.09225, 0.08509, 0.07795, 0.07179, 0.06681, 0.06282, 0.05963, 0.05715",\
                 "0.1442, 0.1415, 0.1333, 0.122, 0.1102, 0.0994, 0.09023, 0.08269, 0.07647, 0.07143",\
                 "0.2041, 0.2006, 0.1899, 0.1742, 0.1571, 0.1408, 0.1262, 0.1138, 0.1035, 0.09488",\
                 "0.28, 0.2757, 0.2628, 0.2429, 0.2202, 0.1976, 0.177, 0.1587, 0.143, 0.1296",\
                 "0.3724, 0.3676, 0.3525, 0.3288, 0.3004, 0.2715, 0.244, 0.219, 0.1969, 0.1778");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1949, 0.1952, 0.1959, 0.1965, 0.1971, 0.1977, 0.1983, 0.1991, 0.2016, 0.2185",\
                 "0.1918, 0.1924, 0.194, 0.1956, 0.1967, 0.1977, 0.1986, 0.1995, 0.202, 0.219",\
                 "0.1874, 0.1879, 0.1896, 0.1919, 0.1941, 0.1959, 0.1973, 0.1986, 0.2016, 0.2202",\
                 "0.19, 0.1899, 0.1901, 0.1909, 0.1925, 0.1941, 0.1959, 0.1975, 0.2006, 0.2202",\
                 "0.2059, 0.2051, 0.2028, 0.2004, 0.1989, 0.1985, 0.1989, 0.1995, 0.2026, 0.2241",\
                 "0.2395, 0.2375, 0.2319, 0.2255, 0.2195, 0.2145, 0.2113, 0.2095, 0.2109, 0.2356",\
                 "0.2915, 0.2884, 0.2793, 0.2676, 0.2564, 0.2465, 0.2378, 0.2313, 0.2304, 0.2585",\
                 "0.361, 0.357, 0.3451, 0.3285, 0.3112, 0.2954, 0.2812, 0.2685, 0.2644, 0.2991",\
                 "0.4484, 0.4436, 0.4292, 0.4081, 0.3845, 0.3623, 0.342, 0.324, 0.3175, 0.3653",\
                 "0.554, 0.5485, 0.5318, 0.5068, 0.4775, 0.4485, 0.4215, 0.3985, 0.3943, 0.4663");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04773, 0.04763, 0.04762, 0.04764, 0.04768, 0.0477, 0.04776, 0.04775, 0.04776, 0.04775",\
                 "0.04767, 0.04764, 0.04762, 0.04766, 0.04771, 0.04775, 0.04776, 0.04777, 0.0478, 0.04777",\
                 "0.04826, 0.04822, 0.0481, 0.04792, 0.04786, 0.04783, 0.04782, 0.04778, 0.04778, 0.04776",\
                 "0.0537, 0.05333, 0.05242, 0.05135, 0.05046, 0.04972, 0.04926, 0.04885, 0.04857, 0.0484",\
                 "0.06832, 0.06737, 0.06488, 0.06169, 0.05882, 0.05649, 0.05452, 0.05307, 0.05197, 0.0511",\
                 "0.09458, 0.09292, 0.08826, 0.08219, 0.07603, 0.07075, 0.06642, 0.06296, 0.06014, 0.05791",\
                 "0.1338, 0.1315, 0.1244, 0.1147, 0.1045, 0.09516, 0.08716, 0.08056, 0.0752, 0.07073",\
                 "0.187, 0.1838, 0.1746, 0.1609, 0.1459, 0.1319, 0.1192, 0.1083, 0.09927, 0.09169",\
                 "0.2546, 0.2509, 0.2393, 0.2219, 0.202, 0.1823, 0.1642, 0.1483, 0.1345, 0.1227",\
                 "0.3374, 0.3331, 0.3195, 0.2983, 0.2734, 0.248, 0.2239, 0.2019, 0.1826, 0.1657");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1949, 0.1952, 0.1958, 0.1965, 0.1972, 0.1977, 0.1984, 0.1996, 0.2073, 0.2554",\
                 "0.1917, 0.1924, 0.194, 0.1955, 0.1967, 0.1978, 0.1987, 0.1999, 0.2078, 0.257",\
                 "0.1872, 0.1878, 0.1895, 0.1919, 0.1942, 0.1959, 0.1973, 0.1991, 0.2078, 0.2582",\
                 "0.1889, 0.1889, 0.1892, 0.1903, 0.1921, 0.1939, 0.1955, 0.1978, 0.2073, 0.2614",\
                 "0.2027, 0.2019, 0.2, 0.1981, 0.1969, 0.1971, 0.1975, 0.1988, 0.2095, 0.2687",\
                 "0.2327, 0.2308, 0.2261, 0.2201, 0.2147, 0.2107, 0.2081, 0.2075, 0.2182, 0.2846",\
                 "0.2795, 0.2767, 0.2686, 0.2585, 0.2485, 0.239, 0.2316, 0.2269, 0.2382, 0.3146",\
                 "0.3423, 0.3387, 0.328, 0.3131, 0.2977, 0.2835, 0.2703, 0.2609, 0.2729, 0.3668",\
                 "0.4214, 0.417, 0.4037, 0.3846, 0.3641, 0.3442, 0.3257, 0.3116, 0.3285, 0.4495",\
                 "0.5172, 0.5122, 0.4966, 0.4736, 0.4478, 0.422, 0.3978, 0.3821, 0.4113, 0.5755");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04775, 0.04774, 0.04771, 0.0477, 0.04771, 0.04775, 0.04775, 0.04774, 0.04771, 0.04769",\
                 "0.04768, 0.04771, 0.0477, 0.04772, 0.04774, 0.04778, 0.04777, 0.04778, 0.04774, 0.04773",\
                 "0.04824, 0.0482, 0.0481, 0.04798, 0.04793, 0.04788, 0.04784, 0.04779, 0.04774, 0.04774",\
                 "0.05366, 0.0533, 0.05242, 0.05136, 0.05049, 0.04977, 0.04926, 0.04887, 0.04856, 0.04837",\
                 "0.06829, 0.06736, 0.06485, 0.06171, 0.05883, 0.05644, 0.05456, 0.0531, 0.05199, 0.05111",\
                 "0.09435, 0.0928, 0.08821, 0.08206, 0.07601, 0.07069, 0.06641, 0.06291, 0.06009, 0.05791",\
                 "0.1335, 0.1312, 0.1243, 0.1146, 0.1044, 0.09515, 0.08721, 0.0806, 0.0752, 0.07073",\
                 "0.1866, 0.1835, 0.1743, 0.1607, 0.1459, 0.1318, 0.1192, 0.1083, 0.09927, 0.09168",\
                 "0.2541, 0.2505, 0.239, 0.2216, 0.2019, 0.1822, 0.1642, 0.1482, 0.1345, 0.1228",\
                 "0.3369, 0.3325, 0.319, 0.298, 0.2732, 0.2478, 0.2237, 0.2019, 0.1825, 0.1656");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2274, 0.2276, 0.2282, 0.2287, 0.2293, 0.23, 0.2309, 0.2323, 0.2406, 0.2906",\
                 "0.225, 0.2254, 0.2267, 0.2279, 0.229, 0.2301, 0.2312, 0.2327, 0.2411, 0.2916",\
                 "0.2204, 0.2209, 0.2224, 0.2245, 0.2265, 0.2283, 0.2299, 0.2319, 0.2411, 0.2934",\
                 "0.2211, 0.2212, 0.2216, 0.2227, 0.2246, 0.2263, 0.2282, 0.2305, 0.2408, 0.2964",\
                 "0.2334, 0.2327, 0.2314, 0.2299, 0.229, 0.2292, 0.23, 0.2319, 0.2425, 0.3044",\
                 "0.2614, 0.26, 0.256, 0.2511, 0.2462, 0.2429, 0.2404, 0.2401, 0.2518, 0.3201",\
                 "0.3065, 0.3042, 0.2973, 0.2882, 0.2788, 0.2704, 0.2631, 0.2592, 0.2712, 0.3507",\
                 "0.3679, 0.3647, 0.3553, 0.3418, 0.3276, 0.3138, 0.3015, 0.2931, 0.3062, 0.4031",\
                 "0.4458, 0.4418, 0.4298, 0.4123, 0.3928, 0.3739, 0.3559, 0.3433, 0.3616, 0.4862",\
                 "0.5404, 0.5359, 0.5217, 0.5003, 0.4759, 0.451, 0.4279, 0.4129, 0.4454, 0.614");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04753, 0.04751, 0.04748, 0.04749, 0.0475, 0.04754, 0.04754, 0.04753, 0.04749, 0.04747",\
                 "0.04702, 0.04703, 0.04704, 0.04708, 0.0471, 0.04715, 0.04716, 0.04714, 0.04712, 0.0471",\
                 "0.04692, 0.04687, 0.04674, 0.04662, 0.04655, 0.0465, 0.04645, 0.04642, 0.04639, 0.04636",\
                 "0.05287, 0.05246, 0.05139, 0.05014, 0.0491, 0.04832, 0.04773, 0.04728, 0.04697, 0.04675",\
                 "0.06962, 0.0685, 0.06554, 0.06185, 0.0585, 0.05571, 0.05358, 0.05193, 0.05063, 0.0497",\
                 "0.09952, 0.09762, 0.09218, 0.08502, 0.07793, 0.07178, 0.06679, 0.06281, 0.05965, 0.05713",\
                 "0.1439, 0.1412, 0.1331, 0.1219, 0.1101, 0.09933, 0.09021, 0.08269, 0.07645, 0.07143",\
                 "0.2036, 0.2002, 0.1897, 0.1741, 0.157, 0.1407, 0.1262, 0.1138, 0.1034, 0.09483",\
                 "0.2794, 0.2753, 0.2623, 0.2427, 0.2201, 0.1975, 0.1769, 0.1586, 0.1429, 0.1296",\
                 "0.3718, 0.367, 0.352, 0.3285, 0.3003, 0.2713, 0.2437, 0.2189, 0.1969, 0.1777");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.228, 0.2283, 0.2287, 0.2294, 0.23, 0.2308, 0.2316, 0.2324, 0.2353, 0.253",\
                 "0.2256, 0.2261, 0.2272, 0.2286, 0.2297, 0.231, 0.2318, 0.2331, 0.2359, 0.2538",\
                 "0.2211, 0.2216, 0.2232, 0.2252, 0.2272, 0.229, 0.2306, 0.2321, 0.2352, 0.2543",\
                 "0.2227, 0.2227, 0.223, 0.224, 0.2256, 0.2275, 0.2291, 0.2309, 0.2352, 0.2552",\
                 "0.237, 0.2363, 0.2345, 0.2328, 0.2315, 0.2314, 0.232, 0.2328, 0.2361, 0.2597",\
                 "0.2683, 0.2668, 0.2623, 0.2566, 0.2514, 0.247, 0.2445, 0.2427, 0.2447, 0.2705",\
                 "0.3186, 0.316, 0.3081, 0.2978, 0.2876, 0.2782, 0.2703, 0.2642, 0.2637, 0.2937",\
                 "0.3866, 0.3831, 0.3726, 0.3573, 0.3412, 0.3263, 0.3128, 0.3011, 0.298, 0.3343",\
                 "0.4726, 0.4684, 0.4555, 0.4357, 0.4139, 0.3925, 0.3728, 0.3559, 0.3506, 0.4003",\
                 "0.5771, 0.5724, 0.5569, 0.5332, 0.5058, 0.4779, 0.4518, 0.4292, 0.4267, 0.5028");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04776, 0.04774, 0.0477, 0.0477, 0.04773, 0.04775, 0.04774, 0.04773, 0.04771, 0.04771",\
                 "0.04767, 0.04769, 0.04767, 0.04769, 0.04771, 0.04775, 0.04776, 0.04774, 0.04772, 0.04773",\
                 "0.04824, 0.04819, 0.04809, 0.04798, 0.04791, 0.04787, 0.04782, 0.04777, 0.04773, 0.04772",\
                 "0.05367, 0.05332, 0.05242, 0.05136, 0.05044, 0.04979, 0.04926, 0.04885, 0.04857, 0.04835",\
                 "0.06826, 0.06738, 0.06481, 0.06169, 0.05886, 0.05647, 0.05455, 0.05311, 0.05196, 0.05111",\
                 "0.09441, 0.09281, 0.08819, 0.08211, 0.07601, 0.0707, 0.0664, 0.06292, 0.0601, 0.05789",\
                 "0.1336, 0.1312, 0.1243, 0.1146, 0.1044, 0.09511, 0.08721, 0.08059, 0.07517, 0.07072",\
                 "0.1866, 0.1835, 0.1743, 0.1607, 0.1459, 0.1318, 0.1191, 0.1083, 0.09926, 0.09169",\
                 "0.2542, 0.2505, 0.239, 0.2216, 0.2019, 0.1822, 0.1641, 0.1482, 0.1344, 0.1227",\
                 "0.3368, 0.3326, 0.3191, 0.298, 0.2732, 0.2478, 0.2237, 0.2019, 0.1825, 0.1656");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.228, 0.2282, 0.2288, 0.2293, 0.2299, 0.2306, 0.2315, 0.2329, 0.2412, 0.2909",\
                 "0.2256, 0.2261, 0.2273, 0.2286, 0.2297, 0.2309, 0.2318, 0.2334, 0.2421, 0.2922",\
                 "0.221, 0.2215, 0.2231, 0.2252, 0.2271, 0.2289, 0.2305, 0.2325, 0.2418, 0.294",\
                 "0.2218, 0.2218, 0.2222, 0.2234, 0.2251, 0.227, 0.2288, 0.2311, 0.2415, 0.2973",\
                 "0.234, 0.2335, 0.2319, 0.2305, 0.2298, 0.23, 0.2306, 0.2324, 0.2435, 0.3044",\
                 "0.262, 0.2606, 0.2567, 0.2517, 0.247, 0.2433, 0.2411, 0.2408, 0.2523, 0.3207",\
                 "0.307, 0.3046, 0.2978, 0.2886, 0.2794, 0.2712, 0.2638, 0.2599, 0.2716, 0.3516",\
                 "0.3685, 0.3653, 0.3558, 0.3423, 0.3281, 0.3145, 0.3021, 0.2935, 0.307, 0.4035",\
                 "0.4463, 0.4423, 0.4304, 0.413, 0.3935, 0.3745, 0.3565, 0.3437, 0.3624, 0.4871",\
                 "0.5409, 0.5364, 0.5222, 0.501, 0.4764, 0.4517, 0.4284, 0.4135, 0.4457, 0.6148");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04775, 0.04774, 0.04769, 0.04769, 0.04772, 0.04774, 0.04773, 0.04772, 0.04771, 0.04769",\
                 "0.04765, 0.04768, 0.04766, 0.04769, 0.04772, 0.04776, 0.04775, 0.04773, 0.04771, 0.04773",\
                 "0.04821, 0.04817, 0.04809, 0.04797, 0.04792, 0.04787, 0.04782, 0.04778, 0.04773, 0.04772",\
                 "0.05363, 0.05328, 0.0524, 0.05135, 0.05046, 0.04978, 0.04922, 0.04885, 0.04858, 0.04835",\
                 "0.06815, 0.06726, 0.06478, 0.06169, 0.0588, 0.05643, 0.05453, 0.05307, 0.05198, 0.05112",\
                 "0.09428, 0.09269, 0.0881, 0.082, 0.07601, 0.07067, 0.0664, 0.06286, 0.0601, 0.05788",\
                 "0.1333, 0.131, 0.1241, 0.1145, 0.1044, 0.0951, 0.08711, 0.08054, 0.07517, 0.0707",\
                 "0.1863, 0.1832, 0.1741, 0.1606, 0.1457, 0.1317, 0.1191, 0.1082, 0.09926, 0.09165",\
                 "0.2538, 0.2501, 0.2386, 0.2214, 0.2017, 0.1821, 0.1641, 0.1481, 0.1344, 0.1226",\
                 "0.3364, 0.332, 0.3187, 0.2977, 0.2729, 0.2476, 0.2235, 0.2018, 0.1825, 0.1656");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2604, 0.2605, 0.261, 0.2615, 0.2621, 0.2628, 0.2636, 0.265, 0.2735, 0.3247",\
                 "0.2585, 0.2588, 0.2597, 0.2609, 0.2619, 0.2628, 0.2639, 0.2653, 0.2743, 0.3258",\
                 "0.2541, 0.2545, 0.2558, 0.2577, 0.2595, 0.2612, 0.2627, 0.2646, 0.2742, 0.3278",\
                 "0.254, 0.2541, 0.2546, 0.2558, 0.2574, 0.2592, 0.261, 0.2633, 0.2738, 0.3307",\
                 "0.265, 0.2646, 0.2635, 0.2623, 0.2618, 0.262, 0.2628, 0.2645, 0.2759, 0.3386",\
                 "0.2915, 0.2902, 0.287, 0.2825, 0.2784, 0.2751, 0.2728, 0.2725, 0.2845, 0.3551",\
                 "0.3347, 0.3328, 0.3268, 0.3186, 0.31, 0.302, 0.2953, 0.2915, 0.3042, 0.3854",\
                 "0.3946, 0.3919, 0.3834, 0.3712, 0.358, 0.3449, 0.3331, 0.3249, 0.3392, 0.4387",\
                 "0.4713, 0.4677, 0.4569, 0.4408, 0.4225, 0.4043, 0.3869, 0.3748, 0.3946, 0.5226",\
                 "0.5647, 0.5606, 0.5476, 0.5278, 0.5047, 0.4808, 0.4581, 0.4441, 0.4789, 0.6512");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.05314, 0.05321, 0.05311, 0.05316, 0.05326, 0.05323, 0.05326, 0.05327, 0.05328, 0.05327",\
                 "0.05283, 0.05299, 0.05297, 0.05303, 0.05316, 0.05319, 0.05324, 0.05323, 0.05324, 0.05325",\
                 "0.05228, 0.05233, 0.0525, 0.05261, 0.05281, 0.05296, 0.05303, 0.0531, 0.05313, 0.05315",\
                 "0.05721, 0.05702, 0.05651, 0.0559, 0.05537, 0.05481, 0.05445, 0.05423, 0.05399, 0.05383",\
                 "0.07314, 0.07246, 0.07033, 0.06758, 0.06494, 0.06266, 0.06082, 0.05926, 0.05809, 0.05718",\
                 "0.1027, 0.1013, 0.09719, 0.09124, 0.08522, 0.07976, 0.07515, 0.07133, 0.0682, 0.06564",\
                 "0.1476, 0.1455, 0.1388, 0.1293, 0.119, 0.1091, 0.1005, 0.09304, 0.08695, 0.08184",\
                 "0.2085, 0.2056, 0.1967, 0.1833, 0.1681, 0.153, 0.1392, 0.1271, 0.1168, 0.108",\
                 "0.2861, 0.2826, 0.2716, 0.2544, 0.234, 0.2131, 0.1934, 0.1757, 0.1601, 0.1464",\
                 "0.3811, 0.3771, 0.3641, 0.3432, 0.3179, 0.291, 0.2649, 0.2407, 0.2188, 0.1995");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2413, 0.2413, 0.2414, 0.2417, 0.2422, 0.2429, 0.2434, 0.2446, 0.2456, 0.2506",\
                 "0.2391, 0.2393, 0.2398, 0.2404, 0.2411, 0.2418, 0.2428, 0.2438, 0.2447, 0.2498",\
                 "0.2368, 0.237, 0.2376, 0.2388, 0.2398, 0.2408, 0.242, 0.2433, 0.2448, 0.2497",\
                 "0.2397, 0.2396, 0.2394, 0.2395, 0.2401, 0.2409, 0.2418, 0.2431, 0.2443, 0.2493",\
                 "0.2571, 0.2562, 0.2537, 0.2509, 0.2485, 0.2471, 0.2464, 0.2465, 0.2472, 0.2522",\
                 "0.2938, 0.2918, 0.286, 0.2787, 0.2714, 0.2657, 0.2614, 0.2587, 0.2572, 0.2622",\
                 "0.3494, 0.3466, 0.3378, 0.3253, 0.3126, 0.3011, 0.291, 0.2833, 0.2776, 0.282",\
                 "0.4231, 0.4196, 0.4085, 0.3915, 0.3725, 0.3546, 0.3384, 0.3244, 0.3135, 0.3176",\
                 "0.5148, 0.5108, 0.4982, 0.4775, 0.4529, 0.4278, 0.4047, 0.3841, 0.3681, 0.3739",\
                 "0.6255, 0.621, 0.6067, 0.5835, 0.5541, 0.522, 0.4917, 0.4635, 0.444, 0.4589");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.05342, 0.05332, 0.05328, 0.0533, 0.05334, 0.05339, 0.05341, 0.0534, 0.05342, 0.05342",\
                 "0.05363, 0.05365, 0.05357, 0.05367, 0.05376, 0.05383, 0.05381, 0.05383, 0.05386, 0.05384",\
                 "0.05365, 0.05371, 0.05387, 0.054, 0.05422, 0.0543, 0.0544, 0.05446, 0.05452, 0.05453",\
                 "0.05821, 0.05807, 0.05764, 0.05717, 0.05676, 0.05628, 0.05597, 0.05575, 0.05559, 0.05545",\
                 "0.07207, 0.07141, 0.06967, 0.0675, 0.06527, 0.0633, 0.06173, 0.06038, 0.05936, 0.05858",\
                 "0.09777, 0.09656, 0.09305, 0.08817, 0.08309, 0.07836, 0.07437, 0.07112, 0.0684, 0.06617",\
                 "0.1368, 0.135, 0.1295, 0.1214, 0.1126, 0.1042, 0.09668, 0.09032, 0.085, 0.08055",\
                 "0.1903, 0.1878, 0.1802, 0.1687, 0.1557, 0.1427, 0.1308, 0.1204, 0.1114, 0.1037",\
                 "0.2588, 0.2557, 0.246, 0.231, 0.2135, 0.1955, 0.1785, 0.1631, 0.1496, 0.1377",\
                 "0.343, 0.3393, 0.3278, 0.3094, 0.2872, 0.2638, 0.2413, 0.2203, 0.2013, 0.1846");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2412, 0.2413, 0.2414, 0.2418, 0.2421, 0.2427, 0.2437, 0.2444, 0.2473, 0.2668",\
                 "0.2391, 0.2394, 0.2398, 0.2404, 0.241, 0.2417, 0.2427, 0.2435, 0.2465, 0.266",\
                 "0.2366, 0.2368, 0.2376, 0.2386, 0.2398, 0.2408, 0.2418, 0.2429, 0.2464, 0.2672",\
                 "0.2387, 0.2386, 0.2385, 0.2389, 0.2395, 0.2404, 0.2416, 0.2426, 0.2462, 0.2692",\
                 "0.2536, 0.2528, 0.2506, 0.2482, 0.2464, 0.2455, 0.2453, 0.2454, 0.2487, 0.2733",\
                 "0.286, 0.2842, 0.2793, 0.2727, 0.2663, 0.2614, 0.2579, 0.2552, 0.2576, 0.2853",\
                 "0.3359, 0.3332, 0.3254, 0.3145, 0.303, 0.2925, 0.2838, 0.2771, 0.2774, 0.3101",\
                 "0.402, 0.3988, 0.3886, 0.3735, 0.3568, 0.3405, 0.3259, 0.3137, 0.3112, 0.3521",\
                 "0.4847, 0.481, 0.469, 0.4504, 0.4284, 0.4065, 0.3856, 0.3676, 0.3642, 0.421",\
                 "0.5844, 0.5802, 0.5668, 0.5452, 0.5187, 0.4904, 0.4638, 0.4408, 0.4415, 0.5293");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.05335, 0.05335, 0.05336, 0.05336, 0.05339, 0.05341, 0.05338, 0.05335, 0.05334, 0.0533",\
                 "0.05355, 0.05358, 0.05365, 0.05372, 0.05379, 0.05384, 0.05383, 0.05384, 0.0538, 0.05377",\
                 "0.05364, 0.05372, 0.05386, 0.05409, 0.05425, 0.05437, 0.05442, 0.05446, 0.05442, 0.05444",\
                 "0.05822, 0.05807, 0.05768, 0.05718, 0.05673, 0.05636, 0.056, 0.05572, 0.05551, 0.05539",\
                 "0.07199, 0.07142, 0.06972, 0.06747, 0.06523, 0.0633, 0.0617, 0.06035, 0.05935, 0.05853",\
                 "0.09759, 0.09641, 0.09296, 0.08816, 0.08307, 0.07838, 0.07442, 0.07113, 0.06839, 0.06614",\
                 "0.1366, 0.1348, 0.1294, 0.1213, 0.1126, 0.1041, 0.09668, 0.09027, 0.08499, 0.08051",\
                 "0.1899, 0.1875, 0.18, 0.1686, 0.1555, 0.1427, 0.1307, 0.1203, 0.1113, 0.1038",\
                 "0.2584, 0.2554, 0.2457, 0.2309, 0.2133, 0.1954, 0.1786, 0.163, 0.1495, 0.1377",\
                 "0.3425, 0.3389, 0.3275, 0.3091, 0.2871, 0.2638, 0.2411, 0.2202, 0.2014, 0.1845");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2733, 0.2734, 0.2735, 0.2739, 0.2743, 0.275, 0.2757, 0.2765, 0.2796, 0.2996",\
                 "0.2714, 0.2716, 0.272, 0.2725, 0.2732, 0.2738, 0.2748, 0.2759, 0.2792, 0.299",\
                 "0.2691, 0.2693, 0.27, 0.271, 0.272, 0.273, 0.2739, 0.2751, 0.2784, 0.2999",\
                 "0.2706, 0.2705, 0.2706, 0.2711, 0.2716, 0.2725, 0.2737, 0.2749, 0.2784, 0.3012",\
                 "0.2841, 0.2834, 0.2818, 0.2797, 0.2781, 0.2773, 0.2772, 0.2774, 0.2809, 0.3065",\
                 "0.3148, 0.3133, 0.309, 0.3032, 0.2976, 0.293, 0.2894, 0.2872, 0.2895, 0.3191",\
                 "0.363, 0.3606, 0.3538, 0.3439, 0.3334, 0.3234, 0.315, 0.3087, 0.3097, 0.3427",\
                 "0.4281, 0.4251, 0.4159, 0.4019, 0.3864, 0.3709, 0.3563, 0.3448, 0.3433, 0.3851",\
                 "0.5096, 0.5063, 0.4951, 0.4777, 0.4569, 0.436, 0.4156, 0.3978, 0.3957, 0.4542",\
                 "0.6086, 0.6047, 0.5922, 0.5718, 0.5461, 0.5193, 0.4936, 0.4706, 0.4727, 0.5626");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04751, 0.0475, 0.04749, 0.04745, 0.0475, 0.04754, 0.04757, 0.04758, 0.04754, 0.04754",\
                 "0.04697, 0.04691, 0.04702, 0.04699, 0.04703, 0.04711, 0.04715, 0.04716, 0.04714, 0.04714",\
                 "0.04601, 0.04605, 0.04611, 0.04615, 0.04621, 0.04629, 0.04631, 0.04635, 0.04634, 0.04631",\
                 "0.05077, 0.05045, 0.04979, 0.04897, 0.0483, 0.04768, 0.04728, 0.047, 0.04677, 0.04661",\
                 "0.0667, 0.06577, 0.06328, 0.06023, 0.05731, 0.05495, 0.05306, 0.05153, 0.0504, 0.04954",\
                 "0.09641, 0.09465, 0.0897, 0.08326, 0.07676, 0.07116, 0.06649, 0.06271, 0.05968, 0.05728",\
                 "0.1411, 0.1385, 0.1309, 0.1204, 0.1094, 0.09925, 0.09044, 0.08315, 0.07715, 0.07225",\
                 "0.2017, 0.1984, 0.1882, 0.1733, 0.1571, 0.1415, 0.1275, 0.1155, 0.1053, 0.09676",\
                 "0.2791, 0.275, 0.2623, 0.2432, 0.2213, 0.1996, 0.1795, 0.1617, 0.1463, 0.133",\
                 "0.3736, 0.3688, 0.3538, 0.3306, 0.3032, 0.2751, 0.2482, 0.2239, 0.2021, 0.1832");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2244, 0.2245, 0.2247, 0.225, 0.2255, 0.226, 0.2268, 0.2277, 0.2304, 0.2481",\
                 "0.2223, 0.2225, 0.223, 0.2237, 0.2242, 0.225, 0.2259, 0.2269, 0.2296, 0.2475",\
                 "0.2198, 0.2201, 0.2208, 0.222, 0.223, 0.2242, 0.2253, 0.2265, 0.2292, 0.2484",\
                 "0.2223, 0.2221, 0.2221, 0.2223, 0.2229, 0.2238, 0.2249, 0.2262, 0.2292, 0.2496",\
                 "0.2381, 0.2373, 0.235, 0.2323, 0.2303, 0.2294, 0.2289, 0.229, 0.2319, 0.255",\
                 "0.2729, 0.271, 0.2656, 0.2586, 0.2522, 0.2467, 0.2428, 0.2402, 0.2417, 0.2665",\
                 "0.3272, 0.3244, 0.3159, 0.3038, 0.2917, 0.2805, 0.271, 0.2641, 0.2622, 0.2911",\
                 "0.3998, 0.3963, 0.3853, 0.3686, 0.3504, 0.333, 0.3174, 0.304, 0.2992, 0.3343",\
                 "0.4904, 0.4863, 0.4738, 0.4532, 0.4291, 0.405, 0.3827, 0.3627, 0.3557, 0.4031",\
                 "0.5998, 0.5953, 0.5811, 0.5578, 0.5285, 0.4977, 0.4683, 0.4423, 0.4365, 0.5101");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04771, 0.04769, 0.04762, 0.04764, 0.04766, 0.04769, 0.04772, 0.04771, 0.04773, 0.04774",\
                 "0.04761, 0.04763, 0.04764, 0.04761, 0.04766, 0.04772, 0.04773, 0.04777, 0.04776, 0.04775",\
                 "0.04735, 0.0474, 0.04749, 0.04752, 0.04758, 0.04764, 0.04768, 0.0477, 0.0477, 0.0477",\
                 "0.05178, 0.05152, 0.05098, 0.05032, 0.04973, 0.0492, 0.04887, 0.04858, 0.0484, 0.04824",\
                 "0.06564, 0.06484, 0.06278, 0.0602, 0.0578, 0.05577, 0.0541, 0.05278, 0.05179, 0.05099",\
                 "0.09145, 0.08998, 0.08588, 0.08038, 0.07494, 0.07013, 0.06604, 0.06279, 0.0601, 0.05799",\
                 "0.1305, 0.1284, 0.122, 0.1131, 0.1037, 0.09496, 0.08737, 0.08102, 0.07579, 0.07146",\
                 "0.1839, 0.1811, 0.1723, 0.1596, 0.1456, 0.1323, 0.1202, 0.1097, 0.1008, 0.09338",\
                 "0.2523, 0.2487, 0.2377, 0.2211, 0.2022, 0.1836, 0.1662, 0.1508, 0.1373, 0.1257",\
                 "0.3363, 0.332, 0.3188, 0.2984, 0.2746, 0.2502, 0.227, 0.2059, 0.187, 0.1704");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2244, 0.2245, 0.2246, 0.2249, 0.2253, 0.2261, 0.2267, 0.2281, 0.2366, 0.286",\
                 "0.2223, 0.2225, 0.223, 0.2236, 0.2243, 0.225, 0.2257, 0.2273, 0.2358, 0.2858",\
                 "0.2198, 0.22, 0.2208, 0.2218, 0.2229, 0.2241, 0.225, 0.2267, 0.2356, 0.2876",\
                 "0.2213, 0.2213, 0.2213, 0.2217, 0.2225, 0.2234, 0.2245, 0.2263, 0.2361, 0.2915",\
                 "0.2348, 0.2341, 0.2321, 0.2299, 0.2285, 0.2277, 0.2277, 0.2287, 0.2394, 0.2996",\
                 "0.2656, 0.2639, 0.2592, 0.2533, 0.2473, 0.2426, 0.2394, 0.2381, 0.2492, 0.3171",\
                 "0.3142, 0.3116, 0.304, 0.2936, 0.2827, 0.2726, 0.2644, 0.2593, 0.2701, 0.3487",\
                 "0.3794, 0.3762, 0.3661, 0.3514, 0.3353, 0.3196, 0.3054, 0.2954, 0.3074, 0.4027",\
                 "0.4612, 0.4575, 0.4456, 0.4272, 0.4058, 0.3845, 0.3641, 0.3489, 0.3657, 0.4888",\
                 "0.56, 0.5558, 0.5424, 0.521, 0.4948, 0.4674, 0.4414, 0.4238, 0.4536, 0.6207");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04773, 0.04772, 0.0477, 0.0477, 0.04771, 0.04774, 0.04774, 0.04771, 0.0477, 0.04768",\
                 "0.04763, 0.04765, 0.04766, 0.04769, 0.04773, 0.04774, 0.04775, 0.04773, 0.04772, 0.04772",\
                 "0.04734, 0.04737, 0.04744, 0.04758, 0.04764, 0.04769, 0.04769, 0.04768, 0.04766, 0.04768",\
                 "0.0518, 0.05158, 0.051, 0.05032, 0.04973, 0.04925, 0.04889, 0.04859, 0.04838, 0.04822",\
                 "0.06557, 0.06483, 0.06279, 0.06021, 0.05777, 0.05574, 0.05411, 0.05279, 0.05177, 0.05098",\
                 "0.09131, 0.08988, 0.08582, 0.0804, 0.07492, 0.07013, 0.06607, 0.06282, 0.06013, 0.05798",\
                 "0.1303, 0.1282, 0.1219, 0.1129, 0.1036, 0.09491, 0.08732, 0.08098, 0.07579, 0.07145",\
                 "0.1836, 0.1808, 0.1721, 0.1595, 0.1455, 0.1322, 0.1201, 0.1097, 0.1008, 0.09336",\
                 "0.2519, 0.2483, 0.2374, 0.2209, 0.2021, 0.1834, 0.1662, 0.1507, 0.1372, 0.1257",\
                 "0.3358, 0.3316, 0.3183, 0.2982, 0.2744, 0.25, 0.2268, 0.2058, 0.1869, 0.1703");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2565, 0.2566, 0.2567, 0.257, 0.2574, 0.2582, 0.2588, 0.2601, 0.2687, 0.3195",\
                 "0.2547, 0.2548, 0.2552, 0.2557, 0.2564, 0.2571, 0.2579, 0.2592, 0.2682, 0.3196",\
                 "0.2523, 0.2525, 0.2532, 0.2541, 0.2551, 0.2561, 0.2572, 0.2588, 0.268, 0.3213",\
                 "0.2533, 0.2533, 0.2535, 0.2539, 0.2546, 0.2556, 0.2567, 0.2584, 0.2685, 0.3246",\
                 "0.2655, 0.265, 0.2634, 0.2616, 0.2604, 0.2597, 0.2596, 0.2607, 0.2717, 0.3335",\
                 "0.2945, 0.2931, 0.2891, 0.2839, 0.2785, 0.2742, 0.2711, 0.2701, 0.2813, 0.3507",\
                 "0.3415, 0.3393, 0.3326, 0.3231, 0.313, 0.3036, 0.2956, 0.2908, 0.3023, 0.3829",\
                 "0.4055, 0.4026, 0.3936, 0.3799, 0.3649, 0.3499, 0.336, 0.3264, 0.3396, 0.4375",\
                 "0.4863, 0.4829, 0.4718, 0.4547, 0.4345, 0.414, 0.3943, 0.3801, 0.3979, 0.5245",\
                 "0.5842, 0.5803, 0.5679, 0.5475, 0.5227, 0.4962, 0.4707, 0.4543, 0.486, 0.6571");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04755, 0.04753, 0.04752, 0.04752, 0.04755, 0.04758, 0.04757, 0.04755, 0.04753, 0.04753",\
                 "0.04699, 0.04701, 0.04703, 0.04705, 0.0471, 0.04712, 0.04714, 0.04711, 0.04711, 0.0471",\
                 "0.04602, 0.04603, 0.04611, 0.04619, 0.04626, 0.04631, 0.04632, 0.04631, 0.04629, 0.04628",\
                 "0.05077, 0.05048, 0.04979, 0.04897, 0.04828, 0.04773, 0.04732, 0.04697, 0.04674, 0.04658",\
                 "0.06666, 0.06575, 0.06327, 0.0602, 0.05731, 0.05494, 0.05305, 0.05155, 0.05041, 0.04953",\
                 "0.09616, 0.09454, 0.08965, 0.0832, 0.07678, 0.07112, 0.06646, 0.0627, 0.0597, 0.05726",\
                 "0.1408, 0.1383, 0.1308, 0.1203, 0.1093, 0.0992, 0.09039, 0.0831, 0.07714, 0.07226",\
                 "0.2014, 0.198, 0.188, 0.1732, 0.157, 0.1414, 0.1274, 0.1154, 0.1053, 0.09674",\
                 "0.2786, 0.2745, 0.2619, 0.2429, 0.2211, 0.1995, 0.1794, 0.1617, 0.1462, 0.1328",\
                 "0.373, 0.3683, 0.3534, 0.3303, 0.303, 0.275, 0.2481, 0.2239, 0.2021, 0.1831");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2572, 0.2572, 0.2574, 0.2577, 0.2581, 0.2589, 0.2595, 0.2604, 0.2632, 0.2815",\
                 "0.2554, 0.2555, 0.2559, 0.2564, 0.2571, 0.2579, 0.2586, 0.2596, 0.2624, 0.2807",\
                 "0.253, 0.2532, 0.2539, 0.2548, 0.2558, 0.2569, 0.2578, 0.2592, 0.262, 0.2815",\
                 "0.2548, 0.2547, 0.2547, 0.255, 0.2558, 0.2566, 0.2575, 0.2589, 0.2619, 0.2837",\
                 "0.2691, 0.2684, 0.2668, 0.2645, 0.2627, 0.2619, 0.2614, 0.2616, 0.2647, 0.2877",\
                 "0.302, 0.3003, 0.2958, 0.2899, 0.2838, 0.2788, 0.2751, 0.2729, 0.2742, 0.3",\
                 "0.3546, 0.3519, 0.3444, 0.3337, 0.3225, 0.3119, 0.3031, 0.296, 0.2949, 0.3244",\
                 "0.4259, 0.4228, 0.4126, 0.3973, 0.3801, 0.3637, 0.3485, 0.3356, 0.3317, 0.3679",\
                 "0.5155, 0.5118, 0.5, 0.481, 0.4581, 0.4348, 0.4132, 0.394, 0.3875, 0.4368",\
                 "0.6241, 0.6199, 0.6067, 0.5847, 0.5566, 0.5266, 0.4981, 0.4728, 0.4686, 0.5444");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04774, 0.04771, 0.0477, 0.0477, 0.04771, 0.04773, 0.04772, 0.04772, 0.04769, 0.04769",\
                 "0.04762, 0.04764, 0.04766, 0.04768, 0.0477, 0.04774, 0.04774, 0.04775, 0.04774, 0.04773",\
                 "0.04734, 0.04736, 0.04745, 0.04754, 0.04762, 0.04765, 0.04765, 0.04766, 0.04768, 0.04765",\
                 "0.0518, 0.05156, 0.051, 0.05031, 0.04972, 0.04926, 0.04888, 0.04857, 0.04836, 0.04823",\
                 "0.06559, 0.06485, 0.06279, 0.06021, 0.05778, 0.05574, 0.05411, 0.0528, 0.05176, 0.05098",\
                 "0.09131, 0.08986, 0.08582, 0.08041, 0.07492, 0.0701, 0.06608, 0.06283, 0.06011, 0.058",\
                 "0.1303, 0.1282, 0.1219, 0.1129, 0.1036, 0.09492, 0.08734, 0.08105, 0.07575, 0.07145",\
                 "0.1837, 0.1808, 0.1722, 0.1594, 0.1455, 0.1322, 0.1201, 0.1096, 0.1008, 0.09336",\
                 "0.252, 0.2484, 0.2374, 0.2209, 0.2022, 0.1834, 0.1662, 0.1507, 0.1372, 0.1257",\
                 "0.3359, 0.3316, 0.3184, 0.2982, 0.2744, 0.2501, 0.2269, 0.2058, 0.1869, 0.1703");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2572, 0.2572, 0.2573, 0.2576, 0.2581, 0.2588, 0.2595, 0.2609, 0.2695, 0.3202",\
                 "0.2553, 0.2555, 0.2558, 0.2564, 0.257, 0.2577, 0.2585, 0.2598, 0.2688, 0.3203",\
                 "0.2529, 0.2532, 0.2538, 0.2547, 0.2557, 0.2567, 0.2578, 0.2593, 0.2685, 0.322",\
                 "0.254, 0.2539, 0.2541, 0.2545, 0.2553, 0.2562, 0.2574, 0.2589, 0.269, 0.3261",\
                 "0.2661, 0.2657, 0.264, 0.2622, 0.2609, 0.2603, 0.2603, 0.2613, 0.2721, 0.3338",\
                 "0.295, 0.2937, 0.2897, 0.2845, 0.2791, 0.2749, 0.2718, 0.2707, 0.2818, 0.3514",\
                 "0.342, 0.3398, 0.3331, 0.3237, 0.3136, 0.3042, 0.2963, 0.2915, 0.3031, 0.3835",\
                 "0.4061, 0.4031, 0.3941, 0.3805, 0.3654, 0.3504, 0.3368, 0.3271, 0.3403, 0.4381",\
                 "0.4869, 0.4835, 0.4725, 0.4553, 0.435, 0.4146, 0.3948, 0.3807, 0.3985, 0.5255",\
                 "0.5847, 0.5809, 0.5684, 0.548, 0.5231, 0.4967, 0.4713, 0.4548, 0.487, 0.6577");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.04773, 0.04771, 0.0477, 0.0477, 0.04772, 0.04774, 0.04774, 0.0477, 0.04769, 0.04769",\
                 "0.04757, 0.04765, 0.04766, 0.04768, 0.04772, 0.04775, 0.04776, 0.04773, 0.04772, 0.0477",\
                 "0.04731, 0.04735, 0.04745, 0.04754, 0.04761, 0.04766, 0.04767, 0.04766, 0.04765, 0.04763",\
                 "0.05179, 0.05155, 0.051, 0.05031, 0.04973, 0.04927, 0.04889, 0.0486, 0.04837, 0.04822",\
                 "0.06553, 0.06477, 0.06277, 0.06018, 0.05776, 0.05573, 0.0541, 0.05278, 0.05177, 0.05097",\
                 "0.09117, 0.08977, 0.08575, 0.08032, 0.07491, 0.0701, 0.06606, 0.0628, 0.06013, 0.05796",\
                 "0.1301, 0.128, 0.1217, 0.1128, 0.1036, 0.09485, 0.08734, 0.08096, 0.07574, 0.07143",\
                 "0.1834, 0.1805, 0.1719, 0.1593, 0.1454, 0.1321, 0.1201, 0.1096, 0.1008, 0.09332",\
                 "0.2515, 0.248, 0.2371, 0.2207, 0.202, 0.1833, 0.1661, 0.1506, 0.1372, 0.1256",\
                 "0.3354, 0.3312, 0.318, 0.2979, 0.2742, 0.2499, 0.2268, 0.2057, 0.1868, 0.1703");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2893, 0.2893, 0.2895, 0.2897, 0.2901, 0.2909, 0.2914, 0.2927, 0.3017, 0.3537",\
                 "0.2876, 0.2877, 0.2881, 0.2885, 0.2891, 0.2897, 0.2905, 0.292, 0.301, 0.3535",\
                 "0.2854, 0.2856, 0.2861, 0.287, 0.2879, 0.2888, 0.2898, 0.2914, 0.3009, 0.3557",\
                 "0.286, 0.286, 0.2862, 0.2867, 0.2874, 0.2883, 0.2895, 0.2912, 0.3016, 0.3595",\
                 "0.2972, 0.2966, 0.2954, 0.2939, 0.2928, 0.2922, 0.2923, 0.2932, 0.3045, 0.3682",\
                 "0.3245, 0.3233, 0.32, 0.3153, 0.3103, 0.3063, 0.3036, 0.3027, 0.3144, 0.3856",\
                 "0.3699, 0.368, 0.3619, 0.3534, 0.3441, 0.3353, 0.3276, 0.3231, 0.3355, 0.4179",\
                 "0.4326, 0.43, 0.4218, 0.4091, 0.395, 0.3807, 0.3675, 0.3582, 0.3725, 0.473",\
                 "0.5124, 0.5092, 0.4991, 0.483, 0.4638, 0.4442, 0.4251, 0.4116, 0.4311, 0.5606",\
                 "0.6095, 0.606, 0.5942, 0.5751, 0.551, 0.5256, 0.5013, 0.4852, 0.5197, 0.6945");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.09328, 0.09324, 0.09309, 0.09307, 0.09306, 0.09311, 0.09321, 0.09323, 0.0932, 0.0932",\
                 "0.09198, 0.09195, 0.09189, 0.09184, 0.09183, 0.0919, 0.09192, 0.09195, 0.09196, 0.09195",\
                 "0.09099, 0.09092, 0.09076, 0.09061, 0.0905, 0.09047, 0.09045, 0.09043, 0.09045, 0.09037",\
                 "0.09543, 0.09522, 0.09436, 0.0934, 0.09242, 0.09171, 0.09129, 0.09084, 0.09054, 0.09038",\
                 "0.1106, 0.1098, 0.1074, 0.1044, 0.1014, 0.09896, 0.09676, 0.09525, 0.09405, 0.09313",\
                 "0.1397, 0.1383, 0.134, 0.1278, 0.1213, 0.1153, 0.1105, 0.1066, 0.1033, 0.1008",\
                 "0.1851, 0.1828, 0.1761, 0.1662, 0.155, 0.1446, 0.1355, 0.1277, 0.1214, 0.116",\
                 "0.2479, 0.245, 0.2359, 0.2217, 0.2054, 0.1892, 0.1744, 0.1616, 0.1506, 0.1416",\
                 "0.3292, 0.3257, 0.3141, 0.2958, 0.2739, 0.2513, 0.23, 0.2108, 0.1941, 0.1798",\
                 "0.4294, 0.4253, 0.4116, 0.3894, 0.3619, 0.3325, 0.3039, 0.2774, 0.2539, 0.2328");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2721, 0.2726, 0.2731, 0.2738, 0.2745, 0.2749, 0.2756, 0.2763, 0.2773, 0.2818",\
                 "0.2691, 0.2698, 0.2713, 0.2729, 0.274, 0.275, 0.276, 0.2769, 0.2781, 0.2827",\
                 "0.2642, 0.2648, 0.2666, 0.269, 0.2712, 0.273, 0.2745, 0.2761, 0.2774, 0.2825",\
                 "0.2634, 0.2636, 0.2645, 0.2661, 0.2683, 0.2704, 0.2725, 0.2742, 0.2761, 0.2824",\
                 "0.2732, 0.2726, 0.2716, 0.2709, 0.2709, 0.2717, 0.2727, 0.2744, 0.2759, 0.2821",\
                 "0.3022, 0.3005, 0.2961, 0.2913, 0.2873, 0.2843, 0.2828, 0.2821, 0.2824, 0.2888",\
                 "0.3537, 0.3509, 0.3427, 0.3321, 0.3224, 0.3143, 0.3074, 0.3025, 0.2995, 0.3049",\
                 "0.4276, 0.4237, 0.4121, 0.3955, 0.3785, 0.3638, 0.3513, 0.34, 0.3321, 0.3372",\
                 "0.5225, 0.518, 0.5034, 0.4821, 0.4578, 0.4349, 0.4148, 0.3977, 0.3844, 0.3897",\
                 "0.6385, 0.6331, 0.6166, 0.5907, 0.5598, 0.5288, 0.5004, 0.4763, 0.4584, 0.4721");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08774, 0.08781, 0.08768, 0.0876, 0.08762, 0.08773, 0.08774, 0.08775, 0.08773, 0.08774",\
                 "0.08616, 0.08622, 0.08609, 0.08607, 0.08609, 0.08616, 0.08617, 0.08618, 0.08616, 0.08612",\
                 "0.0848, 0.08475, 0.08454, 0.08438, 0.08429, 0.08426, 0.08425, 0.08426, 0.08419, 0.0842",\
                 "0.08893, 0.08866, 0.08783, 0.08688, 0.08595, 0.08526, 0.08476, 0.08443, 0.0842, 0.08394",\
                 "0.1035, 0.1028, 0.1004, 0.09729, 0.09435, 0.09194, 0.08988, 0.08836, 0.08723, 0.08639",\
                 "0.1321, 0.1305, 0.1259, 0.1196, 0.1131, 0.1074, 0.1027, 0.09887, 0.09585, 0.09342",\
                 "0.1764, 0.174, 0.167, 0.1567, 0.1454, 0.135, 0.126, 0.1186, 0.1125, 0.1075",\
                 "0.2381, 0.2351, 0.2253, 0.2105, 0.1938, 0.1775, 0.1629, 0.1504, 0.14, 0.1313",\
                 "0.3181, 0.3141, 0.3017, 0.2825, 0.26, 0.2371, 0.2158, 0.1969, 0.1807, 0.1669",\
                 "0.4167, 0.4122, 0.3974, 0.3738, 0.3451, 0.3152, 0.2864, 0.2603, 0.2372, 0.2168");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2558, 0.2561, 0.2568, 0.2574, 0.258, 0.2587, 0.2594, 0.2603, 0.2631, 0.2826",\
                 "0.2527, 0.2534, 0.255, 0.2565, 0.2576, 0.2586, 0.2595, 0.2605, 0.2632, 0.2826",\
                 "0.2478, 0.2484, 0.2502, 0.2526, 0.2548, 0.2567, 0.2581, 0.2596, 0.2629, 0.2834",\
                 "0.2467, 0.2469, 0.2478, 0.2496, 0.2518, 0.2541, 0.2562, 0.2581, 0.2619, 0.284",\
                 "0.2558, 0.2555, 0.2545, 0.2538, 0.2541, 0.2551, 0.2563, 0.2578, 0.2619, 0.286",\
                 "0.2842, 0.2825, 0.2784, 0.2739, 0.27, 0.2672, 0.2655, 0.2651, 0.2685, 0.2958",\
                 "0.3352, 0.3325, 0.3243, 0.3141, 0.3046, 0.2966, 0.2898, 0.2853, 0.2861, 0.3178",\
                 "0.4084, 0.4045, 0.3929, 0.3764, 0.36, 0.3456, 0.3329, 0.3219, 0.3206, 0.3581",\
                 "0.5024, 0.4977, 0.4831, 0.4616, 0.438, 0.4155, 0.396, 0.3791, 0.3745, 0.4236",\
                 "0.6168, 0.6115, 0.5948, 0.5689, 0.5386, 0.5081, 0.4805, 0.4576, 0.4542, 0.5268");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08776, 0.08774, 0.0877, 0.08769, 0.08771, 0.08776, 0.08775, 0.08771, 0.08768, 0.08767",\
                 "0.08621, 0.0862, 0.08616, 0.08614, 0.08615, 0.08618, 0.08618, 0.08615, 0.08613, 0.08611",\
                 "0.08478, 0.08476, 0.0846, 0.08446, 0.08437, 0.08432, 0.08425, 0.0842, 0.08414, 0.08409",\
                 "0.08895, 0.08866, 0.08784, 0.08686, 0.08601, 0.08534, 0.0848, 0.08436, 0.08409, 0.08384",\
                 "0.1035, 0.1026, 0.1003, 0.09729, 0.09433, 0.09193, 0.08987, 0.08838, 0.08723, 0.08628",\
                 "0.1319, 0.1303, 0.1258, 0.1196, 0.1131, 0.1074, 0.1027, 0.09885, 0.0958, 0.09338",\
                 "0.1761, 0.1738, 0.1668, 0.1566, 0.1454, 0.135, 0.1261, 0.1187, 0.1125, 0.1076",\
                 "0.2378, 0.2347, 0.225, 0.2103, 0.1938, 0.1775, 0.1628, 0.1504, 0.14, 0.1312",\
                 "0.3175, 0.3137, 0.3013, 0.2823, 0.2598, 0.2369, 0.2156, 0.1968, 0.1804, 0.1669",\
                 "0.4161, 0.4115, 0.3969, 0.3735, 0.3449, 0.315, 0.2862, 0.2601, 0.237, 0.2167");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2897, 0.2899, 0.2905, 0.291, 0.2916, 0.2924, 0.2933, 0.2941, 0.2971, 0.3173",\
                 "0.2873, 0.2878, 0.289, 0.2903, 0.2913, 0.2925, 0.2934, 0.2945, 0.2977, 0.3183",\
                 "0.2825, 0.283, 0.2845, 0.2866, 0.2887, 0.2904, 0.2922, 0.2936, 0.2975, 0.3181",\
                 "0.2807, 0.2809, 0.2819, 0.2836, 0.2856, 0.2877, 0.2901, 0.2919, 0.296, 0.3192",\
                 "0.2885, 0.2883, 0.2876, 0.2873, 0.2876, 0.2886, 0.2901, 0.2917, 0.2965, 0.322",\
                 "0.3145, 0.3134, 0.3101, 0.3063, 0.3029, 0.3005, 0.2992, 0.2989, 0.3025, 0.3319",\
                 "0.3635, 0.3611, 0.3542, 0.3451, 0.3365, 0.329, 0.3229, 0.3187, 0.3203, 0.353",\
                 "0.4346, 0.4312, 0.4209, 0.4061, 0.391, 0.3772, 0.3649, 0.3554, 0.354, 0.3936",\
                 "0.5274, 0.5232, 0.5099, 0.4898, 0.4678, 0.4466, 0.4276, 0.4111, 0.4084, 0.4593",\
                 "0.6407, 0.6358, 0.6203, 0.5959, 0.567, 0.5382, 0.5116, 0.4891, 0.4869, 0.5624");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08739, 0.08735, 0.08727, 0.08718, 0.08719, 0.08719, 0.08723, 0.08729, 0.08726, 0.08725",\
                 "0.08611, 0.08606, 0.08598, 0.08594, 0.08585, 0.08589, 0.08592, 0.08599, 0.08598, 0.08599",\
                 "0.08485, 0.08477, 0.0846, 0.08436, 0.08422, 0.08417, 0.08411, 0.08409, 0.08407, 0.08405",\
                 "0.08886, 0.08854, 0.08758, 0.08647, 0.08553, 0.08478, 0.0843, 0.08399, 0.08369, 0.08354",\
                 "0.1037, 0.1027, 0.09999, 0.09657, 0.09355, 0.09102, 0.08902, 0.0875, 0.0864, 0.08558",\
                 "0.1327, 0.131, 0.1257, 0.1189, 0.1121, 0.1062, 0.1014, 0.09768, 0.09463, 0.09234",\
                 "0.1778, 0.1752, 0.1672, 0.1561, 0.1443, 0.1336, 0.1245, 0.1171, 0.111, 0.1061",\
                 "0.2404, 0.2369, 0.2261, 0.2103, 0.1928, 0.176, 0.1612, 0.1487, 0.1382, 0.1295",\
                 "0.3211, 0.3169, 0.3035, 0.2829, 0.2593, 0.2356, 0.2141, 0.195, 0.1787, 0.1649",\
                 "0.4208, 0.4157, 0.4, 0.3749, 0.3449, 0.3141, 0.2847, 0.2582, 0.2349, 0.2147");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2552, 0.2555, 0.2562, 0.2568, 0.2574, 0.258, 0.2589, 0.2595, 0.2625, 0.2792",\
                 "0.2521, 0.2528, 0.2543, 0.2559, 0.2571, 0.258, 0.2588, 0.2597, 0.2626, 0.2805",\
                 "0.2473, 0.2478, 0.2496, 0.252, 0.2543, 0.256, 0.2575, 0.2592, 0.262, 0.2805",\
                 "0.2462, 0.2464, 0.2473, 0.249, 0.2512, 0.2533, 0.2552, 0.2572, 0.2611, 0.2816",\
                 "0.2546, 0.254, 0.2532, 0.2526, 0.2529, 0.2537, 0.2552, 0.2567, 0.2606, 0.2835",\
                 "0.2803, 0.2788, 0.2748, 0.2706, 0.2671, 0.2648, 0.2631, 0.2632, 0.2659, 0.2921",\
                 "0.3283, 0.3255, 0.3176, 0.308, 0.2993, 0.292, 0.2856, 0.2813, 0.2828, 0.3131",\
                 "0.3988, 0.395, 0.3836, 0.3679, 0.3523, 0.3386, 0.3265, 0.3163, 0.3143, 0.3503",\
                 "0.4915, 0.4868, 0.4724, 0.4512, 0.4281, 0.4067, 0.388, 0.3722, 0.3666, 0.4141",\
                 "0.6054, 0.6, 0.5832, 0.5573, 0.5276, 0.4977, 0.471, 0.4488, 0.4454, 0.5137");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08204, 0.08199, 0.08188, 0.08184, 0.08182, 0.08187, 0.08193, 0.08192, 0.08194, 0.08191",\
                 "0.08045, 0.0804, 0.08031, 0.08025, 0.08024, 0.08026, 0.08028, 0.0803, 0.08033, 0.0803",\
                 "0.07883, 0.07874, 0.0786, 0.07844, 0.0782, 0.07816, 0.07814, 0.07811, 0.07805, 0.07809",\
                 "0.08263, 0.08227, 0.08133, 0.08024, 0.07936, 0.0787, 0.07819, 0.07792, 0.07764, 0.07743",\
                 "0.09701, 0.096, 0.09327, 0.08997, 0.08693, 0.08451, 0.0826, 0.08112, 0.08015, 0.07935",\
                 "0.1255, 0.1236, 0.1183, 0.1114, 0.1046, 0.09891, 0.09427, 0.09069, 0.08778, 0.08558",\
                 "0.1697, 0.167, 0.1588, 0.1474, 0.1356, 0.125, 0.1162, 0.1089, 0.1032, 0.09845",\
                 "0.2313, 0.2275, 0.2163, 0.2, 0.1823, 0.1656, 0.1511, 0.1388, 0.1288, 0.1204",\
                 "0.3108, 0.3062, 0.292, 0.2707, 0.2466, 0.223, 0.2015, 0.1827, 0.1671, 0.1539",\
                 "0.4088, 0.4036, 0.3867, 0.3604, 0.3297, 0.2986, 0.2695, 0.2433, 0.2204, 0.201");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2389, 0.2393, 0.2399, 0.2405, 0.2411, 0.2418, 0.2425, 0.2436, 0.2516, 0.3004",\
                 "0.2358, 0.2365, 0.238, 0.2396, 0.2407, 0.2417, 0.2427, 0.2442, 0.2521, 0.3018",\
                 "0.2309, 0.2315, 0.2333, 0.2357, 0.2379, 0.2397, 0.2412, 0.2429, 0.2518, 0.3035",\
                 "0.2297, 0.2299, 0.2308, 0.2326, 0.2349, 0.2369, 0.239, 0.241, 0.2513, 0.3063",\
                 "0.2375, 0.2371, 0.2365, 0.2359, 0.2363, 0.2374, 0.2388, 0.2408, 0.2518, 0.3122",\
                 "0.2633, 0.2618, 0.258, 0.2539, 0.2503, 0.2479, 0.2467, 0.247, 0.2584, 0.3252",\
                 "0.3113, 0.3085, 0.3007, 0.2913, 0.2826, 0.275, 0.2689, 0.2654, 0.277, 0.3536",\
                 "0.3817, 0.3777, 0.3663, 0.3507, 0.3354, 0.3217, 0.3096, 0.3009, 0.3127, 0.4032",\
                 "0.4736, 0.4688, 0.4542, 0.433, 0.4105, 0.3896, 0.3706, 0.3568, 0.3707, 0.4845",\
                 "0.5863, 0.5809, 0.5639, 0.5377, 0.5085, 0.4792, 0.4536, 0.4353, 0.4587, 0.6076");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08206, 0.08202, 0.08198, 0.08193, 0.08191, 0.08194, 0.08194, 0.08194, 0.08192, 0.08188",\
                 "0.08046, 0.08045, 0.08041, 0.08035, 0.08032, 0.08034, 0.08032, 0.08033, 0.08031, 0.08027",\
                 "0.07881, 0.07873, 0.07856, 0.07843, 0.07831, 0.07823, 0.07817, 0.07811, 0.07805, 0.07803",\
                 "0.08258, 0.08226, 0.08133, 0.08023, 0.07937, 0.07875, 0.07828, 0.07793, 0.07764, 0.07746",\
                 "0.09692, 0.09594, 0.09328, 0.08992, 0.08692, 0.08451, 0.08265, 0.08119, 0.08017, 0.07932",\
                 "0.1253, 0.1234, 0.1182, 0.1113, 0.1046, 0.09885, 0.09425, 0.09068, 0.08782, 0.08559",\
                 "0.1694, 0.1667, 0.1586, 0.1473, 0.1355, 0.125, 0.1161, 0.109, 0.1032, 0.09849",\
                 "0.2309, 0.2273, 0.216, 0.1999, 0.1822, 0.1655, 0.151, 0.1388, 0.1287, 0.1204",\
                 "0.3102, 0.3057, 0.2917, 0.2705, 0.2464, 0.2229, 0.2014, 0.1827, 0.167, 0.1539",\
                 "0.4081, 0.4028, 0.3861, 0.3601, 0.3295, 0.2984, 0.2693, 0.2431, 0.2203, 0.2008");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2728, 0.2731, 0.2736, 0.2741, 0.2748, 0.2755, 0.2763, 0.2779, 0.2862, 0.3368",\
                 "0.2704, 0.2709, 0.2721, 0.2734, 0.2744, 0.2754, 0.2766, 0.2781, 0.2868, 0.3378",\
                 "0.2656, 0.2661, 0.2676, 0.2698, 0.2718, 0.2736, 0.2752, 0.277, 0.2867, 0.3399",\
                 "0.2637, 0.2639, 0.2648, 0.2666, 0.2687, 0.2708, 0.273, 0.2754, 0.2859, 0.3434",\
                 "0.2703, 0.27, 0.2696, 0.2694, 0.2699, 0.2712, 0.2725, 0.2751, 0.2869, 0.3486",\
                 "0.2939, 0.2928, 0.2899, 0.2864, 0.2834, 0.2815, 0.2803, 0.2811, 0.2936, 0.3627",\
                 "0.3396, 0.3372, 0.3308, 0.3226, 0.3147, 0.3078, 0.3022, 0.2996, 0.3118, 0.3906",\
                 "0.408, 0.4047, 0.3947, 0.3807, 0.3665, 0.3535, 0.3422, 0.3343, 0.3475, 0.4417",\
                 "0.4984, 0.4941, 0.4808, 0.4616, 0.4405, 0.4205, 0.4022, 0.3895, 0.4052, 0.5227",\
                 "0.61, 0.6049, 0.5892, 0.565, 0.537, 0.5095, 0.4844, 0.4671, 0.4925, 0.6476");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08742, 0.0874, 0.08735, 0.08728, 0.08726, 0.08727, 0.08728, 0.08728, 0.08728, 0.08726",\
                 "0.08615, 0.08611, 0.08606, 0.08602, 0.08596, 0.08598, 0.08597, 0.08598, 0.08599, 0.08595",\
                 "0.08482, 0.08477, 0.0846, 0.08446, 0.08434, 0.08426, 0.08419, 0.08412, 0.08408, 0.08403",\
                 "0.08886, 0.0885, 0.08755, 0.08645, 0.08555, 0.08489, 0.0844, 0.08401, 0.08372, 0.08347",\
                 "0.1036, 0.1026, 0.09992, 0.09657, 0.09351, 0.09101, 0.08905, 0.08761, 0.08646, 0.08561",\
                 "0.1325, 0.1307, 0.1256, 0.1188, 0.112, 0.1062, 0.1014, 0.09764, 0.09467, 0.09236",\
                 "0.1775, 0.1749, 0.167, 0.1559, 0.1442, 0.1335, 0.1245, 0.1171, 0.111, 0.1061",\
                 "0.24, 0.2366, 0.2259, 0.2101, 0.1927, 0.1759, 0.1611, 0.1486, 0.1382, 0.1295",\
                 "0.3206, 0.3164, 0.303, 0.2827, 0.2591, 0.2355, 0.2139, 0.1948, 0.1787, 0.165",\
                 "0.4201, 0.4152, 0.3994, 0.3746, 0.3447, 0.314, 0.2846, 0.2581, 0.2349, 0.2146");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2884, 0.2886, 0.2891, 0.2897, 0.2903, 0.2911, 0.2919, 0.2929, 0.2957, 0.314",\
                 "0.2859, 0.2865, 0.2877, 0.289, 0.29, 0.2911, 0.2921, 0.2932, 0.2963, 0.3153",\
                 "0.2811, 0.2816, 0.2832, 0.2854, 0.2873, 0.2892, 0.2907, 0.2927, 0.2956, 0.3155",\
                 "0.2794, 0.2796, 0.2805, 0.2822, 0.2842, 0.2864, 0.289, 0.2908, 0.2942, 0.3163",\
                 "0.2865, 0.2862, 0.2857, 0.2855, 0.2858, 0.287, 0.2883, 0.2902, 0.2944, 0.3184",\
                 "0.3102, 0.3091, 0.306, 0.3024, 0.2995, 0.2973, 0.2966, 0.2967, 0.2997, 0.3272",\
                 "0.356, 0.3536, 0.3472, 0.3387, 0.3306, 0.3237, 0.3182, 0.3143, 0.3159, 0.3474",\
                 "0.4246, 0.4213, 0.4113, 0.3972, 0.3827, 0.3697, 0.3584, 0.3492, 0.3474, 0.3856",\
                 "0.5159, 0.5117, 0.4984, 0.4791, 0.4574, 0.4369, 0.4191, 0.4036, 0.3999, 0.4493",\
                 "0.6287, 0.6238, 0.6082, 0.5838, 0.5555, 0.5273, 0.5013, 0.4798, 0.4772, 0.55");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08206, 0.08202, 0.08199, 0.08194, 0.08192, 0.08194, 0.08194, 0.08195, 0.08192, 0.08188",\
                 "0.08047, 0.08046, 0.0804, 0.08036, 0.08033, 0.08034, 0.08033, 0.08034, 0.08031, 0.08027",\
                 "0.07881, 0.07874, 0.07861, 0.07846, 0.07831, 0.07824, 0.07816, 0.0781, 0.07805, 0.07801",\
                 "0.08259, 0.08225, 0.0813, 0.08024, 0.07938, 0.07875, 0.07829, 0.07792, 0.07764, 0.07744",\
                 "0.09695, 0.09594, 0.09324, 0.0899, 0.0869, 0.08451, 0.08264, 0.08121, 0.08018, 0.07936",\
                 "0.1253, 0.1234, 0.1183, 0.1113, 0.1046, 0.09888, 0.09425, 0.09068, 0.08783, 0.08558",\
                 "0.1694, 0.1667, 0.1586, 0.1473, 0.1355, 0.1249, 0.1161, 0.109, 0.1032, 0.09849",\
                 "0.2309, 0.2272, 0.216, 0.1999, 0.1822, 0.1656, 0.151, 0.1388, 0.1288, 0.1204",\
                 "0.3102, 0.3057, 0.2917, 0.2705, 0.2464, 0.2229, 0.2014, 0.1827, 0.1669, 0.1538",\
                 "0.4081, 0.4028, 0.3862, 0.3601, 0.3295, 0.2984, 0.2692, 0.243, 0.2203, 0.2009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2721, 0.2723, 0.2728, 0.2734, 0.2741, 0.2747, 0.2756, 0.2772, 0.2855, 0.3361",\
                 "0.2696, 0.2702, 0.2714, 0.2727, 0.2737, 0.2747, 0.2758, 0.2773, 0.2861, 0.3376",\
                 "0.2648, 0.2653, 0.2668, 0.2689, 0.271, 0.2729, 0.2744, 0.2763, 0.2858, 0.3392",\
                 "0.263, 0.2632, 0.2641, 0.2658, 0.2679, 0.2703, 0.2722, 0.2747, 0.2851, 0.3422",\
                 "0.2695, 0.2693, 0.2689, 0.2687, 0.2692, 0.2704, 0.2717, 0.2743, 0.2862, 0.3477",\
                 "0.2933, 0.2921, 0.2891, 0.2857, 0.2827, 0.2808, 0.2798, 0.2806, 0.2927, 0.362",\
                 "0.3389, 0.3366, 0.3301, 0.3219, 0.3141, 0.3071, 0.3014, 0.2988, 0.3113, 0.3903",\
                 "0.4075, 0.404, 0.394, 0.3801, 0.3657, 0.3528, 0.3412, 0.3336, 0.3462, 0.4405",\
                 "0.4979, 0.4936, 0.4803, 0.4611, 0.4398, 0.4198, 0.4017, 0.3887, 0.4043, 0.5218",\
                 "0.6094, 0.6045, 0.5888, 0.5643, 0.5364, 0.5088, 0.4835, 0.4664, 0.4925, 0.6465");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08204, 0.082, 0.08197, 0.08193, 0.08192, 0.08193, 0.08195, 0.08194, 0.08191, 0.08188",\
                 "0.08043, 0.08042, 0.08039, 0.08035, 0.08032, 0.08034, 0.08032, 0.08032, 0.0803, 0.08026",\
                 "0.07878, 0.0787, 0.07857, 0.07842, 0.07831, 0.07825, 0.07817, 0.07812, 0.07807, 0.07804",\
                 "0.08259, 0.08223, 0.08129, 0.08021, 0.07936, 0.07876, 0.07827, 0.07793, 0.07763, 0.07745",\
                 "0.09685, 0.09588, 0.09322, 0.08988, 0.08686, 0.0845, 0.08263, 0.08121, 0.08016, 0.07931",\
                 "0.1251, 0.1233, 0.1181, 0.1113, 0.1045, 0.09884, 0.09423, 0.09065, 0.08782, 0.08557",\
                 "0.1692, 0.1665, 0.1585, 0.1472, 0.1354, 0.1249, 0.1161, 0.1089, 0.1032, 0.09847",\
                 "0.2305, 0.2269, 0.2158, 0.1997, 0.1821, 0.1655, 0.1509, 0.1387, 0.1287, 0.1204",\
                 "0.3097, 0.3052, 0.2913, 0.2702, 0.2462, 0.2228, 0.2013, 0.1827, 0.1669, 0.1538",\
                 "0.4075, 0.4022, 0.3857, 0.3597, 0.3292, 0.2983, 0.2691, 0.2429, 0.2203, 0.2009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3058, 0.306, 0.3065, 0.3069, 0.3075, 0.3082, 0.3091, 0.3104, 0.3193, 0.371",\
                 "0.3041, 0.3044, 0.3052, 0.3064, 0.3073, 0.3084, 0.3092, 0.3108, 0.32, 0.3726",\
                 "0.2993, 0.2997, 0.301, 0.3028, 0.3048, 0.3065, 0.3079, 0.3099, 0.3196, 0.3743",\
                 "0.2969, 0.2972, 0.2981, 0.2997, 0.3017, 0.3038, 0.3058, 0.3081, 0.3189, 0.3775",\
                 "0.3026, 0.3025, 0.3021, 0.3022, 0.3028, 0.304, 0.3054, 0.3078, 0.32, 0.3834",\
                 "0.3247, 0.3237, 0.3214, 0.3183, 0.3157, 0.3139, 0.3129, 0.3136, 0.3264, 0.3976",\
                 "0.3682, 0.3662, 0.3606, 0.3534, 0.3461, 0.3395, 0.3344, 0.3317, 0.345, 0.4257",\
                 "0.4345, 0.4316, 0.4228, 0.4102, 0.3971, 0.3847, 0.3737, 0.3663, 0.3802, 0.477",\
                 "0.5232, 0.5195, 0.5075, 0.4895, 0.4699, 0.4507, 0.4333, 0.421, 0.4386, 0.5584",\
                 "0.6336, 0.6291, 0.6144, 0.5917, 0.5655, 0.5389, 0.5146, 0.4981, 0.526, 0.6846");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.09318, 0.09316, 0.09306, 0.09302, 0.09305, 0.09306, 0.09321, 0.0932, 0.09318, 0.09313",\
                 "0.09197, 0.09199, 0.09187, 0.0918, 0.09182, 0.09187, 0.09196, 0.09196, 0.0919, 0.09191",\
                 "0.09054, 0.09053, 0.09051, 0.09034, 0.09034, 0.09035, 0.0904, 0.09044, 0.09036, 0.09036",\
                 "0.09401, 0.09377, 0.09323, 0.09248, 0.09182, 0.09123, 0.09086, 0.0906, 0.09035, 0.0902",\
                 "0.1085, 0.1078, 0.1058, 0.1031, 0.1005, 0.09828, 0.09638, 0.09486, 0.09376, 0.09293",\
                 "0.1376, 0.1363, 0.1322, 0.1265, 0.1203, 0.1149, 0.1103, 0.1066, 0.1034, 0.1009",\
                 "0.1835, 0.1814, 0.175, 0.1655, 0.1549, 0.1448, 0.1359, 0.1284, 0.1222, 0.117",\
                 "0.2479, 0.245, 0.2359, 0.2223, 0.2064, 0.1908, 0.1763, 0.1636, 0.1528, 0.1438",\
                 "0.3313, 0.3278, 0.3164, 0.2983, 0.2768, 0.2546, 0.2338, 0.2147, 0.198, 0.1837",\
                 "0.4346, 0.4304, 0.4167, 0.3947, 0.3674, 0.3383, 0.3101, 0.2839, 0.2605, 0.2397");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3003, 0.3003, 0.3005, 0.3007, 0.3011, 0.3017, 0.3026, 0.3034, 0.3052, 0.3097",\
                 "0.2982, 0.2983, 0.2988, 0.2994, 0.3001, 0.3008, 0.3016, 0.3028, 0.3042, 0.309",\
                 "0.2956, 0.2958, 0.2965, 0.2976, 0.2987, 0.2998, 0.3009, 0.3021, 0.3037, 0.3088",\
                 "0.295, 0.2951, 0.2955, 0.2963, 0.2975, 0.2986, 0.3, 0.3014, 0.3027, 0.309",\
                 "0.3042, 0.3037, 0.3026, 0.3016, 0.301, 0.3011, 0.3013, 0.3024, 0.3039, 0.3103",\
                 "0.3341, 0.3326, 0.3283, 0.3232, 0.3184, 0.315, 0.3125, 0.3113, 0.3105, 0.3176",\
                 "0.389, 0.3863, 0.378, 0.3671, 0.3563, 0.3469, 0.3392, 0.3336, 0.3298, 0.3359",\
                 "0.4671, 0.4637, 0.4527, 0.4359, 0.4176, 0.4009, 0.3863, 0.3738, 0.3652, 0.3697",\
                 "0.5674, 0.5633, 0.55, 0.529, 0.5036, 0.4783, 0.4559, 0.4358, 0.4207, 0.4258",\
                 "0.689, 0.6842, 0.6694, 0.6451, 0.6143, 0.5808, 0.5489, 0.5214, 0.5001, 0.5132");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08774, 0.08774, 0.08761, 0.08758, 0.08761, 0.08769, 0.08774, 0.08769, 0.08771, 0.08767",\
                 "0.08622, 0.08612, 0.08607, 0.08602, 0.08603, 0.08609, 0.08614, 0.08611, 0.08609, 0.08609",\
                 "0.08444, 0.08442, 0.08436, 0.0842, 0.0842, 0.08422, 0.08423, 0.08425, 0.08416, 0.08414",\
                 "0.08758, 0.08737, 0.08677, 0.08608, 0.08542, 0.08483, 0.08446, 0.08418, 0.084, 0.0838",\
                 "0.1015, 0.1008, 0.09874, 0.09605, 0.09347, 0.09129, 0.08944, 0.08808, 0.08698, 0.08621",\
                 "0.1299, 0.1286, 0.1242, 0.1184, 0.1124, 0.107, 0.1025, 0.0989, 0.09591, 0.09356",\
                 "0.1749, 0.1727, 0.1659, 0.1561, 0.1454, 0.1354, 0.1266, 0.1194, 0.1134, 0.1085",\
                 "0.238, 0.2348, 0.2254, 0.2111, 0.195, 0.1792, 0.1649, 0.1525, 0.1422, 0.1334",\
                 "0.3199, 0.316, 0.3038, 0.2848, 0.2628, 0.2404, 0.2196, 0.2009, 0.1847, 0.1709",\
                 "0.4216, 0.417, 0.4022, 0.3788, 0.3504, 0.3211, 0.2927, 0.2667, 0.2437, 0.2235");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2839, 0.2839, 0.284, 0.2845, 0.2849, 0.2856, 0.2864, 0.2871, 0.29, 0.3095",\
                 "0.2818, 0.2819, 0.2825, 0.2831, 0.2837, 0.2844, 0.2854, 0.2862, 0.2893, 0.3096",\
                 "0.2791, 0.2794, 0.2801, 0.2813, 0.2822, 0.2833, 0.2844, 0.2855, 0.2889, 0.3101",\
                 "0.2783, 0.2785, 0.2789, 0.2798, 0.281, 0.2822, 0.2837, 0.285, 0.2887, 0.3115",\
                 "0.2868, 0.2864, 0.2854, 0.2846, 0.2842, 0.2842, 0.2851, 0.286, 0.2898, 0.3148",\
                 "0.316, 0.3146, 0.3104, 0.3056, 0.3012, 0.2976, 0.2956, 0.2941, 0.2971, 0.3248",\
                 "0.3704, 0.3675, 0.3596, 0.3488, 0.3383, 0.329, 0.3216, 0.3159, 0.3163, 0.3485",\
                 "0.4478, 0.4441, 0.4331, 0.4166, 0.3985, 0.3822, 0.3677, 0.3556, 0.3527, 0.3907",\
                 "0.5467, 0.5427, 0.5293, 0.5082, 0.4831, 0.4585, 0.4361, 0.4171, 0.4114, 0.4608",\
                 "0.6667, 0.6621, 0.6472, 0.6226, 0.5917, 0.559, 0.5285, 0.5022, 0.4965, 0.5692");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.0877, 0.08768, 0.08767, 0.08766, 0.08768, 0.08773, 0.08773, 0.0877, 0.08766, 0.08763",\
                 "0.08617, 0.08616, 0.08614, 0.08611, 0.08611, 0.08613, 0.08614, 0.08611, 0.08608, 0.08604",\
                 "0.08442, 0.0844, 0.08434, 0.0843, 0.08427, 0.08425, 0.08422, 0.08417, 0.08414, 0.08408",\
                 "0.08761, 0.08741, 0.0868, 0.08604, 0.08542, 0.0849, 0.0845, 0.08418, 0.08392, 0.08377",\
                 "0.1015, 0.1008, 0.09875, 0.09607, 0.09347, 0.09127, 0.0895, 0.08808, 0.087, 0.08618",\
                 "0.1298, 0.1284, 0.1242, 0.1184, 0.1124, 0.107, 0.1025, 0.09888, 0.09589, 0.09354",\
                 "0.1746, 0.1725, 0.1657, 0.156, 0.1454, 0.1354, 0.1267, 0.1194, 0.1134, 0.1085",\
                 "0.2376, 0.2346, 0.2251, 0.211, 0.1949, 0.1791, 0.1648, 0.1524, 0.1421, 0.1334",\
                 "0.3195, 0.3156, 0.3035, 0.2847, 0.2627, 0.2403, 0.2195, 0.2008, 0.1847, 0.1708",\
                 "0.421, 0.4165, 0.4018, 0.3785, 0.3502, 0.321, 0.2926, 0.2666, 0.2436, 0.2233");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3173, 0.3174, 0.3175, 0.3179, 0.3184, 0.319, 0.3196, 0.3209, 0.3241, 0.3442",\
                 "0.3155, 0.3157, 0.316, 0.3166, 0.3172, 0.3179, 0.3187, 0.3196, 0.3228, 0.3439",\
                 "0.313, 0.3133, 0.3138, 0.3148, 0.3159, 0.3169, 0.3181, 0.319, 0.3225, 0.3441",\
                 "0.312, 0.3121, 0.3126, 0.3135, 0.3147, 0.3159, 0.317, 0.3182, 0.3222, 0.3454",\
                 "0.3195, 0.3192, 0.3184, 0.318, 0.3176, 0.3177, 0.3185, 0.3193, 0.3233, 0.349",\
                 "0.3466, 0.3455, 0.342, 0.3379, 0.334, 0.3306, 0.3285, 0.3275, 0.3304, 0.3598",\
                 "0.3985, 0.3962, 0.3894, 0.3797, 0.3702, 0.3615, 0.3543, 0.3489, 0.3495, 0.3828",\
                 "0.4743, 0.4711, 0.461, 0.4459, 0.4292, 0.4137, 0.3999, 0.3885, 0.3859, 0.4252",\
                 "0.5721, 0.5683, 0.556, 0.5363, 0.5124, 0.4889, 0.4675, 0.4489, 0.444, 0.4951",\
                 "0.6913, 0.6869, 0.6729, 0.6495, 0.6201, 0.5886, 0.5589, 0.5333, 0.5294, 0.6041");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08729, 0.08726, 0.08719, 0.08712, 0.08713, 0.08715, 0.08719, 0.08725, 0.08723, 0.08723",\
                 "0.08606, 0.08603, 0.08594, 0.08587, 0.08583, 0.08586, 0.0859, 0.08593, 0.08589, 0.08594",\
                 "0.08442, 0.08439, 0.0843, 0.08418, 0.08415, 0.08406, 0.08406, 0.08404, 0.08402, 0.08402",\
                 "0.08746, 0.08718, 0.08649, 0.08567, 0.08498, 0.08442, 0.08405, 0.08382, 0.08364, 0.08348",\
                 "0.1015, 0.1006, 0.09824, 0.09527, 0.0926, 0.0904, 0.08865, 0.08727, 0.08629, 0.08551",\
                 "0.1303, 0.1287, 0.124, 0.1175, 0.1112, 0.1057, 0.1012, 0.09767, 0.09473, 0.09241",\
                 "0.1761, 0.1735, 0.166, 0.1553, 0.1441, 0.1338, 0.125, 0.1178, 0.1118, 0.107",\
                 "0.2401, 0.2367, 0.2262, 0.2108, 0.1937, 0.1775, 0.163, 0.1506, 0.1402, 0.1315",\
                 "0.323, 0.3188, 0.3055, 0.2853, 0.262, 0.239, 0.2177, 0.1988, 0.1825, 0.1688",\
                 "0.4256, 0.4206, 0.4048, 0.3798, 0.3501, 0.3197, 0.2909, 0.2646, 0.2413, 0.2212");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2833, 0.2833, 0.2835, 0.2838, 0.2843, 0.2849, 0.2856, 0.2866, 0.2893, 0.3077",\
                 "0.2812, 0.2814, 0.282, 0.2826, 0.2831, 0.2838, 0.2849, 0.2858, 0.2888, 0.3072",\
                 "0.2786, 0.2788, 0.2795, 0.2806, 0.2817, 0.2828, 0.2839, 0.2852, 0.2881, 0.3077",\
                 "0.2778, 0.2779, 0.2784, 0.2793, 0.2804, 0.2817, 0.283, 0.2844, 0.2879, 0.3091",\
                 "0.2855, 0.2851, 0.2842, 0.2834, 0.2831, 0.2835, 0.2842, 0.2851, 0.2887, 0.3122",\
                 "0.3118, 0.3104, 0.3066, 0.3023, 0.2981, 0.2952, 0.2932, 0.2925, 0.2951, 0.3218",\
                 "0.3624, 0.3598, 0.3522, 0.3423, 0.3327, 0.3242, 0.3173, 0.3121, 0.3129, 0.343",\
                 "0.4371, 0.4336, 0.423, 0.4071, 0.3901, 0.3747, 0.3613, 0.3502, 0.347, 0.3837",\
                 "0.5344, 0.5305, 0.5173, 0.4967, 0.4725, 0.449, 0.4279, 0.4095, 0.4035, 0.4511",\
                 "0.6539, 0.6492, 0.6344, 0.6103, 0.58, 0.5481, 0.5181, 0.4928, 0.4867, 0.5574");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08199, 0.08192, 0.08182, 0.0818, 0.08178, 0.08182, 0.08184, 0.08192, 0.08188, 0.08186",\
                 "0.08037, 0.08035, 0.08025, 0.0802, 0.08017, 0.0802, 0.08022, 0.08025, 0.08028, 0.08027",\
                 "0.0785, 0.07847, 0.07839, 0.07825, 0.0782, 0.07813, 0.07812, 0.07811, 0.07814, 0.07809",\
                 "0.08128, 0.08101, 0.08034, 0.07954, 0.07887, 0.07833, 0.07797, 0.07772, 0.07757, 0.07738",\
                 "0.09496, 0.09406, 0.09167, 0.08878, 0.08608, 0.08392, 0.08226, 0.08091, 0.07996, 0.07924",\
                 "0.1231, 0.1214, 0.1167, 0.1102, 0.1039, 0.09848, 0.09414, 0.09069, 0.08794, 0.08577",\
                 "0.1681, 0.1654, 0.1575, 0.1468, 0.1355, 0.1253, 0.1167, 0.1097, 0.104, 0.09935",\
                 "0.2308, 0.2272, 0.2164, 0.2005, 0.1834, 0.1672, 0.1529, 0.1408, 0.1307, 0.1225",\
                 "0.3123, 0.3078, 0.2939, 0.2729, 0.2494, 0.2262, 0.2052, 0.1867, 0.171, 0.1577",\
                 "0.4132, 0.4079, 0.391, 0.365, 0.3348, 0.3041, 0.2755, 0.2496, 0.2268, 0.2072");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.267, 0.267, 0.2672, 0.2675, 0.268, 0.2685, 0.2694, 0.2707, 0.2792, 0.3291",\
                 "0.2649, 0.2651, 0.2656, 0.2662, 0.2669, 0.2675, 0.2685, 0.2697, 0.2786, 0.3292",\
                 "0.2622, 0.2625, 0.2632, 0.2643, 0.2653, 0.2665, 0.2676, 0.2692, 0.2784, 0.3306",\
                 "0.2613, 0.2615, 0.2619, 0.2628, 0.264, 0.2653, 0.2666, 0.2684, 0.2784, 0.3346",\
                 "0.2685, 0.2682, 0.2675, 0.2668, 0.2664, 0.267, 0.2676, 0.2693, 0.2803, 0.3416",\
                 "0.2947, 0.2935, 0.2897, 0.2854, 0.2814, 0.2786, 0.2767, 0.2765, 0.2879, 0.3567",\
                 "0.3454, 0.3428, 0.3352, 0.3253, 0.3157, 0.3074, 0.3003, 0.2965, 0.3079, 0.3854",\
                 "0.4198, 0.4164, 0.4055, 0.3897, 0.3732, 0.3576, 0.344, 0.3344, 0.3458, 0.4378",\
                 "0.5163, 0.5123, 0.499, 0.4783, 0.4543, 0.4313, 0.4098, 0.3943, 0.4083, 0.523",\
                 "0.6342, 0.6295, 0.6146, 0.5904, 0.5602, 0.5288, 0.4997, 0.4788, 0.5013, 0.654");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08199, 0.08198, 0.08193, 0.0819, 0.08189, 0.0819, 0.08191, 0.08192, 0.0819, 0.08186",\
                 "0.08042, 0.08041, 0.08036, 0.08031, 0.08028, 0.08028, 0.08028, 0.08027, 0.08026, 0.08023",\
                 "0.07848, 0.07846, 0.07838, 0.07831, 0.07825, 0.07821, 0.07817, 0.07813, 0.07808, 0.07805",\
                 "0.08128, 0.08104, 0.08037, 0.07953, 0.07885, 0.07839, 0.07802, 0.07774, 0.07754, 0.07736",\
                 "0.09485, 0.09401, 0.09167, 0.08874, 0.08608, 0.08391, 0.08224, 0.08095, 0.07997, 0.07922",\
                 "0.123, 0.1213, 0.1166, 0.1102, 0.1039, 0.0985, 0.09412, 0.09068, 0.08792, 0.08576",\
                 "0.1678, 0.1652, 0.1574, 0.1467, 0.1355, 0.1253, 0.1167, 0.1097, 0.104, 0.09934",\
                 "0.2304, 0.2269, 0.2161, 0.2004, 0.1833, 0.1672, 0.1529, 0.1408, 0.1308, 0.1225",\
                 "0.3118, 0.3073, 0.2935, 0.2727, 0.2492, 0.2261, 0.2052, 0.1867, 0.1709, 0.1576",\
                 "0.4125, 0.4072, 0.3905, 0.3647, 0.3346, 0.3039, 0.2754, 0.2495, 0.2267, 0.2072");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3005, 0.3005, 0.3007, 0.301, 0.3014, 0.302, 0.3028, 0.3041, 0.3131, 0.3645",\
                 "0.2986, 0.2988, 0.2992, 0.2997, 0.3003, 0.301, 0.3019, 0.3035, 0.3122, 0.3643",\
                 "0.2962, 0.2964, 0.2969, 0.2979, 0.2989, 0.3001, 0.3011, 0.3026, 0.3124, 0.3659",\
                 "0.295, 0.2952, 0.2956, 0.2965, 0.2976, 0.2989, 0.3001, 0.302, 0.3123, 0.3701",\
                 "0.3013, 0.3011, 0.3004, 0.3, 0.2999, 0.3003, 0.3011, 0.3026, 0.3141, 0.377",\
                 "0.3256, 0.3246, 0.3216, 0.3178, 0.3143, 0.3117, 0.3099, 0.3099, 0.3219, 0.3921",\
                 "0.374, 0.3718, 0.3653, 0.3566, 0.3478, 0.3398, 0.3332, 0.3296, 0.342, 0.4219",\
                 "0.4466, 0.4434, 0.4336, 0.4193, 0.404, 0.3892, 0.3762, 0.3669, 0.3795, 0.4743",\
                 "0.5417, 0.5379, 0.5258, 0.5064, 0.484, 0.4618, 0.4413, 0.4264, 0.442, 0.5601",\
                 "0.6587, 0.6543, 0.6403, 0.6172, 0.5885, 0.5585, 0.5303, 0.5103, 0.535, 0.6911");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08733, 0.08732, 0.08727, 0.08723, 0.08721, 0.08722, 0.08723, 0.08721, 0.08722, 0.08719",\
                 "0.0861, 0.0861, 0.08603, 0.08597, 0.08593, 0.08595, 0.08594, 0.08592, 0.08591, 0.08589",\
                 "0.0844, 0.08438, 0.0843, 0.08424, 0.08419, 0.08417, 0.08412, 0.08408, 0.08404, 0.08398",\
                 "0.08747, 0.08718, 0.08651, 0.08567, 0.08499, 0.08449, 0.08412, 0.08384, 0.08361, 0.08342",\
                 "0.1014, 0.1006, 0.09823, 0.09529, 0.09259, 0.09037, 0.08867, 0.08732, 0.0863, 0.08551",\
                 "0.1302, 0.1286, 0.1239, 0.1175, 0.1112, 0.1057, 0.1012, 0.09763, 0.09476, 0.09246",\
                 "0.1758, 0.1733, 0.1658, 0.1552, 0.1441, 0.1337, 0.1249, 0.1178, 0.1118, 0.107",\
                 "0.2397, 0.2363, 0.2259, 0.2106, 0.1937, 0.1775, 0.163, 0.1505, 0.1402, 0.1315",\
                 "0.3226, 0.3184, 0.3051, 0.285, 0.2618, 0.2387, 0.2177, 0.1987, 0.1825, 0.1688",\
                 "0.4251, 0.4201, 0.4043, 0.3795, 0.3499, 0.3195, 0.2907, 0.2646, 0.2412, 0.2211");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3161, 0.3161, 0.3162, 0.3166, 0.317, 0.3176, 0.3183, 0.3196, 0.3224, 0.3411",\
                 "0.3142, 0.3144, 0.3148, 0.3153, 0.3159, 0.3167, 0.3176, 0.3185, 0.3214, 0.3403",\
                 "0.3118, 0.312, 0.3126, 0.3136, 0.3146, 0.3157, 0.3166, 0.3183, 0.3211, 0.3413",\
                 "0.3107, 0.3109, 0.3113, 0.3121, 0.3132, 0.3146, 0.3157, 0.3172, 0.321, 0.3424",\
                 "0.3175, 0.3172, 0.3165, 0.3159, 0.3158, 0.3161, 0.3167, 0.3177, 0.3216, 0.3455",\
                 "0.3419, 0.3408, 0.3377, 0.3339, 0.3304, 0.3276, 0.3258, 0.3253, 0.328, 0.3549",\
                 "0.3902, 0.388, 0.3815, 0.3727, 0.3639, 0.3561, 0.3494, 0.3443, 0.3451, 0.3765",\
                 "0.4633, 0.4602, 0.4506, 0.4361, 0.4202, 0.4057, 0.3929, 0.382, 0.3794, 0.4174",\
                 "0.5596, 0.5557, 0.5437, 0.5244, 0.5013, 0.4791, 0.4584, 0.4407, 0.4362, 0.4849",\
                 "0.6779, 0.6736, 0.6596, 0.6368, 0.6076, 0.5767, 0.5482, 0.5237, 0.5189, 0.5918");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.082, 0.08198, 0.08192, 0.0819, 0.08188, 0.0819, 0.0819, 0.08192, 0.08189, 0.08186",\
                 "0.08041, 0.08042, 0.08035, 0.08032, 0.08027, 0.08029, 0.08027, 0.08027, 0.08025, 0.08023",\
                 "0.07849, 0.07846, 0.07838, 0.07831, 0.07826, 0.07822, 0.07818, 0.07813, 0.07809, 0.07805",\
                 "0.08129, 0.08104, 0.08036, 0.07953, 0.07888, 0.0784, 0.07804, 0.07776, 0.07753, 0.07737",\
                 "0.09486, 0.09402, 0.09167, 0.08875, 0.0861, 0.08391, 0.08225, 0.08096, 0.07998, 0.0792",\
                 "0.123, 0.1213, 0.1166, 0.1102, 0.1039, 0.0985, 0.09414, 0.09069, 0.08793, 0.08575",\
                 "0.1678, 0.1652, 0.1574, 0.1467, 0.1355, 0.1253, 0.1167, 0.1097, 0.104, 0.09935",\
                 "0.2304, 0.2269, 0.2161, 0.2003, 0.1833, 0.1672, 0.1529, 0.1408, 0.1308, 0.1225",\
                 "0.3118, 0.3073, 0.2935, 0.2727, 0.2492, 0.2261, 0.2051, 0.1866, 0.1709, 0.1577",\
                 "0.4126, 0.4072, 0.3905, 0.3647, 0.3345, 0.304, 0.2753, 0.2496, 0.2267, 0.2072");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2997, 0.2998, 0.2999, 0.3003, 0.3007, 0.3013, 0.3021, 0.3034, 0.3123, 0.3636",\
                 "0.2979, 0.298, 0.2985, 0.299, 0.2996, 0.3003, 0.3012, 0.3027, 0.3115, 0.3634",\
                 "0.2954, 0.2956, 0.2962, 0.2971, 0.2982, 0.2992, 0.3004, 0.3019, 0.3115, 0.3653",\
                 "0.2942, 0.2944, 0.2949, 0.2957, 0.2969, 0.2982, 0.2994, 0.3013, 0.3116, 0.3695",\
                 "0.3006, 0.3004, 0.2997, 0.2993, 0.2991, 0.2996, 0.3002, 0.3018, 0.3133, 0.3764",\
                 "0.325, 0.3239, 0.3209, 0.3171, 0.3135, 0.3108, 0.3091, 0.3091, 0.3212, 0.3918",\
                 "0.3732, 0.3711, 0.3645, 0.3558, 0.3469, 0.3389, 0.3324, 0.329, 0.3412, 0.4209",\
                 "0.4459, 0.4428, 0.4329, 0.4186, 0.4031, 0.3885, 0.3755, 0.3662, 0.3785, 0.4734",\
                 "0.5411, 0.5374, 0.525, 0.5058, 0.4833, 0.4612, 0.4407, 0.4256, 0.4405, 0.5592",\
                 "0.6581, 0.6538, 0.6398, 0.6165, 0.5878, 0.5578, 0.5296, 0.5097, 0.5342, 0.6902");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.08194, 0.08196, 0.08193, 0.0819, 0.08188, 0.08191, 0.08191, 0.08192, 0.08189, 0.08187",\
                 "0.08037, 0.0804, 0.08035, 0.08031, 0.08028, 0.08029, 0.08028, 0.08026, 0.08026, 0.08024",\
                 "0.07844, 0.07844, 0.07837, 0.0783, 0.07825, 0.07822, 0.07817, 0.07813, 0.07809, 0.07805",\
                 "0.08127, 0.08104, 0.08032, 0.07952, 0.07886, 0.07839, 0.07802, 0.07773, 0.07752, 0.07736",\
                 "0.09476, 0.09394, 0.09161, 0.08872, 0.08606, 0.08391, 0.08222, 0.08094, 0.07996, 0.07921",\
                 "0.1229, 0.1212, 0.1165, 0.1101, 0.1038, 0.09846, 0.09411, 0.09067, 0.08792, 0.08575",\
                 "0.1675, 0.1649, 0.1573, 0.1466, 0.1354, 0.1253, 0.1167, 0.1097, 0.104, 0.09933",\
                 "0.23, 0.2265, 0.2158, 0.2001, 0.1832, 0.1671, 0.1528, 0.1408, 0.1308, 0.1225",\
                 "0.3112, 0.3068, 0.2931, 0.2724, 0.2491, 0.226, 0.2051, 0.1866, 0.1709, 0.1576",\
                 "0.4119, 0.4065, 0.3901, 0.3644, 0.3343, 0.3038, 0.2752, 0.2494, 0.2267, 0.2071");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3333, 0.3333, 0.3334, 0.3338, 0.3341, 0.3347, 0.3355, 0.3369, 0.3457, 0.3983",\
                 "0.3316, 0.3317, 0.332, 0.3325, 0.3331, 0.3337, 0.3346, 0.3362, 0.3451, 0.3984",\
                 "0.3292, 0.3295, 0.33, 0.3308, 0.3317, 0.3327, 0.3338, 0.3355, 0.3455, 0.4003",\
                 "0.3279, 0.3281, 0.3285, 0.3294, 0.3304, 0.3316, 0.3328, 0.3346, 0.3455, 0.4044",\
                 "0.3335, 0.3334, 0.333, 0.3325, 0.3325, 0.333, 0.3337, 0.3354, 0.347, 0.4118",\
                 "0.3563, 0.3553, 0.3529, 0.3496, 0.3465, 0.3438, 0.3425, 0.3424, 0.3549, 0.427",\
                 "0.4024, 0.4005, 0.3951, 0.3871, 0.3791, 0.3715, 0.3653, 0.3618, 0.3748, 0.4567",\
                 "0.4733, 0.4704, 0.4616, 0.4484, 0.4342, 0.4201, 0.4076, 0.3988, 0.4124, 0.5101",\
                 "0.5672, 0.5637, 0.5524, 0.5342, 0.5129, 0.4919, 0.4722, 0.458, 0.4745, 0.5958",\
                 "0.6832, 0.6792, 0.6659, 0.644, 0.6166, 0.5875, 0.5601, 0.5414, 0.5683, 0.7279");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1036, 0.119, 0.1724, 0.2735, 0.4308, 0.6511, 0.9416, 1.307, 1.754, 2.287",\
                 "0.1153, 0.1307, 0.1846, 0.2861, 0.4437, 0.6642, 0.9548, 1.321, 1.767, 2.299",\
                 "0.1521, 0.171, 0.23, 0.3317, 0.4894, 0.7101, 1.001, 1.366, 1.813, 2.345",\
                 "0.1744, 0.2002, 0.2812, 0.4103, 0.578, 0.7979, 1.087, 1.452, 1.899, 2.431",\
                 "0.1713, 0.2048, 0.3085, 0.4715, 0.6826, 0.9334, 1.226, 1.59, 2.034, 2.564",\
                 "0.1375, 0.179, 0.3077, 0.5069, 0.7607, 1.062, 1.406, 1.786, 2.229, 2.758",\
                 "0.0713, 0.121, 0.2735, 0.5108, 0.811, 1.161, 1.561, 2.003, 2.485, 3.017",\
                 "-0.0298, 0.0279, 0.204, 0.4803, 0.8273, 1.231, 1.684, 2.188, 2.737, 3.328",\
                 "-0.1678, -0.1019, 0.0991, 0.4112, 0.8071, 1.265, 1.777, 2.339, 2.954, 3.616",\
                 "-0.3461, -0.272, -0.0458, 0.303, 0.7433, 1.26, 1.831, 2.459, 3.134, 3.866");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1801, 0.2118, 0.3241, 0.5368, 0.8675, 1.331, 1.94, 2.706, 3.643, 4.757",\
                 "0.1909, 0.2231, 0.3364, 0.5511, 0.8829, 1.347, 1.957, 2.724, 3.66, 4.78",\
                 "0.2513, 0.2814, 0.391, 0.6045, 0.9365, 1.401, 2.011, 2.78, 3.719, 4.833",\
                 "0.3661, 0.402, 0.5177, 0.7236, 1.05, 1.512, 2.121, 2.887, 3.823, 4.94",\
                 "0.5131, 0.5554, 0.6916, 0.922, 1.245, 1.698, 2.301, 3.064, 3.997, 5.109",\
                 "0.6961, 0.746, 0.9012, 1.163, 1.522, 1.976, 2.569, 3.323, 4.251, 5.36",\
                 "0.9144, 0.9723, 1.152, 1.443, 1.842, 2.341, 2.938, 3.683, 4.602, 5.704",\
                 "1.167, 1.235, 1.442, 1.767, 2.202, 2.75, 3.4, 4.151, 5.058, 6.151",\
                 "1.458, 1.535, 1.77, 2.137, 2.613, 3.201, 3.906, 4.715, 5.631, 6.71",\
                 "1.787, 1.875, 2.139, 2.55, 3.072, 3.705, 4.456, 5.328, 6.306, 7.396");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1341, 0.1601, 0.2506, 0.4232, 0.6923, 1.068, 1.564, 2.19, 2.952, 3.863",\
                 "0.1339, 0.1599, 0.2503, 0.423, 0.6918, 1.068, 1.565, 2.19, 2.953, 3.865",\
                 "0.1704, 0.1928, 0.2646, 0.4237, 0.6924, 1.069, 1.564, 2.19, 2.952, 3.863",\
                 "0.2426, 0.2693, 0.3564, 0.5015, 0.7185, 1.07, 1.564, 2.189, 2.954, 3.862",\
                 "0.3397, 0.3728, 0.4731, 0.6426, 0.8732, 1.166, 1.59, 2.19, 2.953, 3.862",\
                 "0.4578, 0.4984, 0.6192, 0.809, 1.069, 1.394, 1.78, 2.286, 2.974, 3.861",\
                 "0.5958, 0.6414, 0.7874, 1.009, 1.294, 1.652, 2.078, 2.569, 3.164, 3.947",\
                 "0.7466, 0.8034, 0.9744, 1.235, 1.557, 1.94, 2.402, 2.94, 3.55, 4.243",\
                 "0.916, 0.9844, 1.183, 1.481, 1.845, 2.271, 2.762, 3.337, 3.995, 4.726",\
                 "1.101, 1.177, 1.406, 1.745, 2.161, 2.632, 3.164, 3.772, 4.472, 5.248");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2984, 0.357, 0.5592, 0.9363, 1.519, 2.335, 3.402, 4.755, 6.394, 8.366",\
                 "0.296, 0.3553, 0.5594, 0.9369, 1.517, 2.335, 3.403, 4.752, 6.394, 8.37",\
                 "0.2945, 0.3495, 0.555, 0.9345, 1.517, 2.335, 3.407, 4.757, 6.403, 8.357",\
                 "0.3594, 0.412, 0.58, 0.9321, 1.519, 2.336, 3.406, 4.758, 6.4, 8.363",\
                 "0.4404, 0.4944, 0.683, 1.006, 1.529, 2.333, 3.404, 4.755, 6.4, 8.369",\
                 "0.5512, 0.6054, 0.8002, 1.154, 1.651, 2.369, 3.408, 4.753, 6.397, 8.358",\
                 "0.6828, 0.746, 0.948, 1.313, 1.852, 2.538, 3.478, 4.754, 6.399, 8.361",\
                 "0.8344, 0.9074, 1.127, 1.499, 2.065, 2.802, 3.693, 4.867, 6.425, 8.358",\
                 "1.002, 1.083, 1.329, 1.728, 2.297, 3.072, 4.02, 5.138, 6.57, 8.409",\
                 "1.182, 1.275, 1.552, 1.983, 2.571, 3.36, 4.36, 5.529, 6.892, 8.608");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1036, 0.1189, 0.1724, 0.2737, 0.4308, 0.6514, 0.9416, 1.307, 1.754, 2.285",\
                 "0.1154, 0.1308, 0.1845, 0.2864, 0.444, 0.6647, 0.955, 1.321, 1.767, 2.3",\
                 "0.1528, 0.1717, 0.2306, 0.3322, 0.4898, 0.7103, 1.001, 1.367, 1.813, 2.346",\
                 "0.1753, 0.2011, 0.2819, 0.4111, 0.5787, 0.7986, 1.088, 1.453, 1.899, 2.431",\
                 "0.1687, 0.2027, 0.3067, 0.4708, 0.6826, 0.9338, 1.227, 1.59, 2.035, 2.566",\
                 "0.1265, 0.1691, 0.2989, 0.5005, 0.7563, 1.06, 1.404, 1.785, 2.229, 2.758",\
                 "0.0466, 0.0971, 0.2519, 0.4948, 0.7989, 1.153, 1.555, 1.999, 2.482, 3.016",\
                 "-0.0741, -0.0148, 0.1656, 0.4462, 0.8028, 1.213, 1.672, 2.179, 2.73, 3.324",\
                 "-0.2383, -0.1705, 0.0372, 0.3578, 0.7643, 1.232, 1.753, 2.321, 2.939, 3.605",\
                 "-0.4476, -0.3712, -0.1378, 0.2232, 0.6795, 1.207, 1.79, 2.426, 3.111, 3.846");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1955, 0.2335, 0.371, 0.6365, 1.049, 1.628, 2.389, 3.347, 4.517, 5.907",\
                 "0.2054, 0.2437, 0.3821, 0.6495, 1.064, 1.644, 2.406, 3.365, 4.535, 5.925",\
                 "0.2666, 0.3019, 0.4353, 0.7008, 1.116, 1.696, 2.458, 3.417, 4.585, 5.979",\
                 "0.3927, 0.4329, 0.5637, 0.817, 1.225, 1.802, 2.561, 3.52, 4.687, 6.084",\
                 "0.5558, 0.6029, 0.7563, 1.019, 1.414, 1.982, 2.734, 3.688, 4.852, 6.242",\
                 "0.7609, 0.8149, 0.9874, 1.284, 1.697, 2.253, 2.994, 3.939, 5.096, 6.482",\
                 "1.007, 1.069, 1.265, 1.59, 2.048, 2.624, 3.355, 4.286, 5.434, 6.81",\
                 "1.294, 1.366, 1.59, 1.949, 2.441, 3.07, 3.822, 4.742, 5.876, 7.242",\
                 "1.625, 1.709, 1.96, 2.359, 2.89, 3.561, 4.374, 5.314, 6.436, 7.787",\
                 "2.003, 2.096, 2.379, 2.823, 3.396, 4.108, 4.973, 5.978, 7.118, 8.457");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1341, 0.16, 0.2506, 0.4235, 0.6927, 1.069, 1.564, 2.19, 2.953, 3.864",\
                 "0.1339, 0.1598, 0.2506, 0.4233, 0.6931, 1.069, 1.564, 2.19, 2.953, 3.863",\
                 "0.1701, 0.192, 0.2642, 0.4237, 0.6928, 1.068, 1.564, 2.19, 2.953, 3.862",\
                 "0.2417, 0.2684, 0.3558, 0.501, 0.7184, 1.07, 1.565, 2.189, 2.953, 3.863",\
                 "0.3372, 0.3699, 0.4713, 0.641, 0.873, 1.166, 1.59, 2.19, 2.953, 3.863",\
                 "0.4514, 0.4928, 0.616, 0.8098, 1.07, 1.395, 1.78, 2.287, 2.972, 3.86",\
                 "0.5866, 0.6358, 0.7838, 1.01, 1.299, 1.654, 2.083, 2.571, 3.169, 3.946",\
                 "0.7398, 0.7992, 0.9728, 1.236, 1.562, 1.95, 2.412, 2.947, 3.552, 4.246",\
                 "0.9096, 0.979, 1.183, 1.483, 1.854, 2.284, 2.776, 3.353, 4.004, 4.73",\
                 "1.094, 1.175, 1.411, 1.753, 2.174, 2.65, 3.187, 3.793, 4.491, 5.262");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3657, 0.444, 0.709, 1.19, 1.917, 2.934, 4.266, 5.95, 8.004, 10.45",\
                 "0.361, 0.4402, 0.7067, 1.19, 1.915, 2.931, 4.266, 5.95, 8, 10.45",\
                 "0.3516, 0.4269, 0.6991, 1.186, 1.915, 2.935, 4.269, 5.95, 8.004, 10.45",\
                 "0.4124, 0.4755, 0.7004, 1.174, 1.914, 2.934, 4.269, 5.947, 8.004, 10.45",\
                 "0.4888, 0.5572, 0.7916, 1.208, 1.907, 2.933, 4.27, 5.953, 8.005, 10.45",\
                 "0.5924, 0.6602, 0.9008, 1.338, 1.976, 2.929, 4.264, 5.953, 8.005, 10.44",\
                 "0.7254, 0.7972, 1.034, 1.485, 2.148, 3.033, 4.275, 5.943, 8.005, 10.45",\
                 "0.878, 0.9554, 1.209, 1.657, 2.353, 3.253, 4.412, 5.98, 7.994, 10.45",\
                 "1.048, 1.135, 1.409, 1.869, 2.566, 3.518, 4.683, 6.147, 8.053, 10.43",\
                 "1.234, 1.333, 1.631, 2.12, 2.816, 3.791, 5.018, 6.457, 8.25, 10.52");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1072, 0.1229, 0.1768, 0.2795, 0.4386, 0.6603, 0.9509, 1.317, 1.763, 2.294",\
                 "0.1191, 0.1348, 0.1893, 0.2923, 0.4517, 0.6736, 0.9642, 1.33, 1.776, 2.308",\
                 "0.1582, 0.1769, 0.2356, 0.3385, 0.4976, 0.7194, 1.01, 1.376, 1.822, 2.354",\
                 "0.1848, 0.2102, 0.2906, 0.4194, 0.5871, 0.8077, 1.098, 1.463, 1.908, 2.44",\
                 "0.1845, 0.2176, 0.3204, 0.4831, 0.6939, 0.9439, 1.236, 1.6, 2.044, 2.574",\
                 "0.152, 0.193, 0.3192, 0.5176, 0.7713, 1.073, 1.415, 1.795, 2.239, 2.768",\
                 "0.0828, 0.1304, 0.2806, 0.5168, 0.8171, 1.169, 1.569, 2.011, 2.493, 3.025",\
                 "-0.0264, 0.0288, 0.2013, 0.476, 0.8245, 1.232, 1.687, 2.192, 2.742, 3.334",\
                 "-0.1793, -0.1165, 0.0803, 0.3912, 0.7901, 1.253, 1.77, 2.336, 2.953, 3.617",\
                 "-0.3769, -0.3067, -0.0867, 0.2624, 0.7098, 1.231, 1.811, 2.442, 3.125, 3.86");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2612, 0.3005, 0.44, 0.7062, 1.12, 1.698, 2.46, 3.418, 4.586, 5.984",\
                 "0.2721, 0.3119, 0.4521, 0.72, 1.135, 1.714, 2.477, 3.436, 4.607, 5.997",\
                 "0.3284, 0.3667, 0.5041, 0.7712, 1.186, 1.767, 2.529, 3.488, 4.657, 6.05",\
                 "0.4609, 0.4991, 0.6278, 0.8856, 1.295, 1.872, 2.633, 3.591, 4.758, 6.154",\
                 "0.6354, 0.6797, 0.8279, 1.085, 1.483, 2.052, 2.806, 3.758, 4.924, 6.314",\
                 "0.8519, 0.9017, 1.068, 1.357, 1.764, 2.321, 3.064, 4.008, 5.168, 6.555",\
                 "1.112, 1.169, 1.353, 1.671, 2.12, 2.691, 3.423, 4.356, 5.505, 6.883",\
                 "1.416, 1.48, 1.69, 2.034, 2.52, 3.143, 3.891, 4.811, 5.946, 7.312",\
                 "1.764, 1.838, 2.072, 2.453, 2.972, 3.639, 4.445, 5.381, 6.505, 7.858",\
                 "2.159, 2.242, 2.502, 2.925, 3.486, 4.191, 5.048, 6.05, 7.188, 8.525");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1731, 0.1993, 0.2903, 0.4631, 0.7321, 1.109, 1.604, 2.231, 2.994, 3.902",\
                 "0.1731, 0.1993, 0.2904, 0.463, 0.7322, 1.11, 1.605, 2.231, 2.991, 3.904",\
                 "0.2133, 0.2327, 0.3043, 0.4636, 0.733, 1.11, 1.605, 2.231, 2.992, 3.903",\
                 "0.3004, 0.3245, 0.4048, 0.5424, 0.7589, 1.111, 1.606, 2.229, 2.991, 3.903",\
                 "0.4165, 0.4441, 0.5342, 0.6952, 0.9184, 1.207, 1.631, 2.233, 2.992, 3.904",\
                 "0.5556, 0.5888, 0.696, 0.8734, 1.123, 1.441, 1.823, 2.329, 3.016, 3.9",\
                 "0.7192, 0.7562, 0.8814, 1.087, 1.361, 1.707, 2.128, 2.614, 3.208, 3.988",\
                 "0.8986, 0.9442, 1.092, 1.328, 1.636, 2.011, 2.465, 2.994, 3.595, 4.287",\
                 "1.1, 1.153, 1.321, 1.593, 1.939, 2.352, 2.836, 3.402, 4.052, 4.772",\
                 "1.317, 1.379, 1.574, 1.88, 2.272, 2.73, 3.251, 3.852, 4.537, 5.313");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4709, 0.5467, 0.8061, 1.282, 2.009, 3.025, 4.36, 6.041, 8.088, 10.53",\
                 "0.4679, 0.5447, 0.8053, 1.282, 2.009, 3.025, 4.36, 6.04, 8.091, 10.53",\
                 "0.4539, 0.5321, 0.7995, 1.28, 2.009, 3.025, 4.36, 6.04, 8.087, 10.53",\
                 "0.4893, 0.5527, 0.789, 1.271, 2.008, 3.025, 4.359, 6.04, 8.087, 10.53",\
                 "0.5716, 0.6414, 0.8678, 1.29, 2, 3.024, 4.359, 6.038, 8.087, 10.53",\
                 "0.6716, 0.7398, 0.9804, 1.414, 2.054, 3.021, 4.357, 6.039, 8.089, 10.53",\
                 "0.8022, 0.8718, 1.114, 1.568, 2.224, 3.114, 4.366, 6.036, 8.089, 10.53",\
                 "0.9604, 1.035, 1.282, 1.739, 2.431, 3.33, 4.495, 6.061, 8.086, 10.53",\
                 "1.135, 1.219, 1.485, 1.945, 2.65, 3.601, 4.758, 6.225, 8.128, 10.53",\
                 "1.33, 1.419, 1.713, 2.193, 2.896, 3.874, 5.094, 6.533, 8.33, 10.59");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1037, 0.1192, 0.1723, 0.2736, 0.4309, 0.6515, 0.9419, 1.308, 1.753, 2.286",\
                 "0.1159, 0.1314, 0.185, 0.2865, 0.4442, 0.665, 0.9556, 1.321, 1.767, 2.299",\
                 "0.1532, 0.1721, 0.231, 0.3327, 0.4902, 0.7111, 1.001, 1.367, 1.813, 2.345",\
                 "0.1745, 0.2006, 0.2817, 0.411, 0.5788, 0.7988, 1.088, 1.454, 1.899, 2.431",\
                 "0.1663, 0.2008, 0.3053, 0.47, 0.6823, 0.9338, 1.227, 1.59, 2.035, 2.566",\
                 "0.1232, 0.1656, 0.2967, 0.4994, 0.7556, 1.059, 1.404, 1.785, 2.229, 2.758",\
                 "0.0424, 0.0935, 0.2502, 0.493, 0.7978, 1.152, 1.555, 1.999, 2.482, 3.015",\
                 "-0.0786, -0.0187, 0.1631, 0.4452, 0.8017, 1.213, 1.671, 2.178, 2.73, 3.323",\
                 "-0.2423, -0.1742, 0.0341, 0.3558, 0.7618, 1.231, 1.752, 2.32, 2.939, 3.605",\
                 "-0.4517, -0.375, -0.1415, 0.2208, 0.677, 1.206, 1.79, 2.426, 3.11, 3.847");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.217, 0.2574, 0.3978, 0.6641, 1.077, 1.657, 2.417, 3.376, 4.548, 5.942",\
                 "0.2252, 0.2661, 0.4081, 0.6771, 1.092, 1.672, 2.434, 3.393, 4.564, 5.96",\
                 "0.2815, 0.3197, 0.4583, 0.7255, 1.141, 1.722, 2.485, 3.444, 4.616, 6.011",\
                 "0.4052, 0.4466, 0.581, 0.8391, 1.249, 1.825, 2.587, 3.544, 4.715, 6.11",\
                 "0.5667, 0.6141, 0.7701, 1.037, 1.435, 2.004, 2.758, 3.713, 4.878, 6.271",\
                 "0.7703, 0.8242, 0.999, 1.299, 1.715, 2.273, 3.016, 3.961, 5.122, 6.509",\
                 "1.015, 1.078, 1.275, 1.603, 2.062, 2.642, 3.375, 4.308, 5.457, 6.835",\
                 "1.302, 1.374, 1.599, 1.959, 2.454, 3.085, 3.841, 4.763, 5.9, 7.265",\
                 "1.633, 1.716, 1.968, 2.369, 2.901, 3.575, 4.39, 5.333, 6.457, 7.811",\
                 "2.01, 2.104, 2.387, 2.831, 3.407, 4.121, 4.987, 5.995, 7.139, 8.478");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1341, 0.1601, 0.2504, 0.4232, 0.6923, 1.069, 1.564, 2.19, 2.954, 3.864",\
                 "0.134, 0.1598, 0.2506, 0.423, 0.692, 1.069, 1.564, 2.19, 2.954, 3.864",\
                 "0.1699, 0.1919, 0.264, 0.4232, 0.6928, 1.069, 1.564, 2.19, 2.954, 3.864",\
                 "0.2419, 0.2686, 0.356, 0.5012, 0.7183, 1.07, 1.564, 2.19, 2.954, 3.864",\
                 "0.3391, 0.372, 0.4746, 0.642, 0.8734, 1.167, 1.591, 2.19, 2.953, 3.863",\
                 "0.457, 0.4972, 0.6206, 0.8116, 1.071, 1.395, 1.782, 2.284, 2.975, 3.862",\
                 "0.593, 0.6426, 0.7896, 1.015, 1.299, 1.657, 2.083, 2.571, 3.166, 3.947",\
                 "0.7496, 0.8074, 0.98, 1.243, 1.567, 1.951, 2.413, 2.947, 3.553, 4.247",\
                 "0.9198, 0.9914, 1.192, 1.491, 1.858, 2.287, 2.777, 3.352, 4.003, 4.733",\
                 "1.104, 1.188, 1.421, 1.761, 2.179, 2.656, 3.189, 3.795, 4.489, 5.264");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3846, 0.4584, 0.7102, 1.178, 1.905, 2.917, 4.254, 5.938, 7.994, 10.44",\
                 "0.3817, 0.4569, 0.7085, 1.18, 1.902, 2.916, 4.256, 5.935, 7.992, 10.44",\
                 "0.3726, 0.446, 0.705, 1.179, 1.902, 2.917, 4.257, 5.934, 7.992, 10.44",\
                 "0.4243, 0.4867, 0.7093, 1.172, 1.901, 2.92, 4.256, 5.936, 7.996, 10.44",\
                 "0.4944, 0.5636, 0.7972, 1.21, 1.902, 2.919, 4.257, 5.94, 7.986, 10.44",\
                 "0.596, 0.6648, 0.903, 1.341, 1.973, 2.926, 4.252, 5.942, 7.995, 10.44",\
                 "0.7246, 0.7994, 1.038, 1.489, 2.15, 3.029, 4.273, 5.937, 7.994, 10.44",\
                 "0.878, 0.9548, 1.205, 1.66, 2.354, 3.253, 4.407, 5.972, 7.99, 10.44",\
                 "1.045, 1.134, 1.408, 1.87, 2.566, 3.518, 4.679, 6.144, 8.04, 10.44",\
                 "1.231, 1.329, 1.629, 2.119, 2.814, 3.794, 5.015, 6.457, 8.258, 10.52");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1037, 0.1191, 0.1724, 0.2736, 0.4309, 0.6515, 0.9418, 1.308, 1.754, 2.286",\
                 "0.116, 0.1313, 0.1851, 0.2866, 0.4441, 0.665, 0.9555, 1.321, 1.768, 2.3",\
                 "0.1537, 0.1726, 0.2314, 0.333, 0.4906, 0.7113, 1.001, 1.367, 1.814, 2.346",\
                 "0.1754, 0.2013, 0.2823, 0.4117, 0.5794, 0.7993, 1.088, 1.454, 1.9, 2.433",\
                 "0.1649, 0.1991, 0.3039, 0.4693, 0.6821, 0.9337, 1.227, 1.591, 2.036, 2.566",\
                 "0.1155, 0.1581, 0.2901, 0.4946, 0.7533, 1.058, 1.402, 1.785, 2.229, 2.758",\
                 "0.0238, 0.0756, 0.2343, 0.4805, 0.7889, 1.147, 1.551, 1.996, 2.481, 3.014",\
                 "-0.1128, -0.052, 0.1337, 0.4206, 0.7826, 1.197, 1.662, 2.171, 2.725, 3.319",\
                 "-0.2976, -0.2277, -0.0142, 0.3152, 0.7293, 1.205, 1.731, 2.305, 2.928, 3.596",\
                 "-0.5322, -0.4533, -0.213, 0.159, 0.6262, 1.164, 1.757, 2.4, 3.089, 3.831");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2344, 0.2813, 0.4484, 0.7679, 1.263, 1.957, 2.869, 4.017, 5.419, 7.09",\
                 "0.2414, 0.2891, 0.4584, 0.7798, 1.277, 1.973, 2.885, 4.033, 5.435, 7.106",\
                 "0.2981, 0.3425, 0.5064, 0.8269, 1.325, 2.021, 2.934, 4.083, 5.486, 7.157",\
                 "0.4307, 0.4761, 0.6293, 0.9381, 1.429, 2.12, 3.033, 4.179, 5.582, 7.253",\
                 "0.6058, 0.6586, 0.8322, 1.135, 1.612, 2.295, 3.198, 4.341, 5.738, 7.407",\
                 "0.827, 0.8867, 1.079, 1.414, 1.891, 2.559, 3.449, 4.583, 5.973, 7.634",\
                 "1.096, 1.164, 1.377, 1.742, 2.259, 2.926, 3.802, 4.921, 6.301, 7.952",\
                 "1.412, 1.489, 1.73, 2.124, 2.679, 3.392, 4.265, 5.368, 6.731, 8.371",\
                 "1.776, 1.865, 2.134, 2.565, 3.156, 3.916, 4.837, 5.935, 7.28, 8.902",\
                 "2.194, 2.293, 2.594, 3.07, 3.7, 4.499, 5.477, 6.619, 7.956, 9.56");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1341, 0.1601, 0.2505, 0.4229, 0.6921, 1.069, 1.564, 2.19, 2.953, 3.863",\
                 "0.1339, 0.1597, 0.2505, 0.4233, 0.691, 1.069, 1.564, 2.19, 2.953, 3.862",\
                 "0.1695, 0.1914, 0.2641, 0.4239, 0.6928, 1.069, 1.565, 2.19, 2.953, 3.863",\
                 "0.2408, 0.2681, 0.3556, 0.5006, 0.7173, 1.07, 1.564, 2.19, 2.951, 3.863",\
                 "0.3369, 0.3695, 0.4728, 0.6432, 0.8732, 1.166, 1.589, 2.19, 2.953, 3.861",\
                 "0.4516, 0.4922, 0.6186, 0.8116, 1.071, 1.397, 1.781, 2.287, 2.975, 3.862",\
                 "0.5854, 0.6352, 0.7856, 1.013, 1.303, 1.659, 2.085, 2.574, 3.167, 3.944",\
                 "0.741, 0.7994, 0.9746, 1.241, 1.571, 1.958, 2.419, 2.952, 3.557, 4.249",\
                 "0.91, 0.9808, 1.188, 1.491, 1.864, 2.295, 2.788, 3.363, 4.014, 4.737",\
                 "1.092, 1.178, 1.42, 1.763, 2.187, 2.666, 3.203, 3.81, 4.5, 5.275");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4617, 0.5541, 0.8634, 1.43, 2.298, 3.513, 5.114, 7.113, 9.558, 12.48",\
                 "0.4562, 0.55, 0.8623, 1.429, 2.298, 3.513, 5.11, 7.123, 9.574, 12.48",\
                 "0.4392, 0.5341, 0.8558, 1.427, 2.299, 3.512, 5.109, 7.113, 9.558, 12.5",\
                 "0.4819, 0.5593, 0.8446, 1.42, 2.299, 3.513, 5.112, 7.112, 9.562, 12.48",\
                 "0.5494, 0.6332, 0.9122, 1.429, 2.292, 3.508, 5.107, 7.109, 9.557, 12.48",\
                 "0.6402, 0.724, 1.012, 1.532, 2.318, 3.512, 5.106, 7.117, 9.57, 12.51",\
                 "0.7682, 0.8472, 1.132, 1.672, 2.46, 3.553, 5.102, 7.124, 9.578, 12.5",\
                 "0.921, 1.004, 1.29, 1.829, 2.654, 3.73, 5.181, 7.124, 9.572, 12.51",\
                 "1.087, 1.183, 1.484, 2.019, 2.857, 3.985, 5.38, 7.207, 9.581, 12.5",\
                 "1.271, 1.376, 1.704, 2.25, 3.081, 4.245, 5.681, 7.438, 9.696, 12.51");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1074, 0.1231, 0.177, 0.2797, 0.4387, 0.6605, 0.951, 1.317, 1.763, 2.295",\
                 "0.1197, 0.1354, 0.1898, 0.2928, 0.4521, 0.674, 0.9647, 1.33, 1.777, 2.308",\
                 "0.1591, 0.1779, 0.2365, 0.3393, 0.4984, 0.7203, 1.011, 1.376, 1.823, 2.355",\
                 "0.1847, 0.2104, 0.291, 0.4199, 0.5877, 0.8084, 1.098, 1.463, 1.909, 2.441",\
                 "0.1808, 0.2143, 0.3181, 0.482, 0.6935, 0.9438, 1.236, 1.6, 2.045, 2.575",\
                 "0.1409, 0.1824, 0.3106, 0.5119, 0.7679, 1.071, 1.414, 1.794, 2.238, 2.768",\
                 "0.0604, 0.1093, 0.2625, 0.5025, 0.8069, 1.162, 1.564, 2.008, 2.491, 3.024",\
                 "-0.0647, -0.0078, 0.1692, 0.4497, 0.8044, 1.217, 1.677, 2.185, 2.737, 3.33",\
                 "-0.2379, -0.1731, 0.0292, 0.3486, 0.7559, 1.226, 1.75, 2.322, 2.942, 3.609",\
                 "-0.4607, -0.3883, -0.1612, 0.1983, 0.6565, 1.188, 1.777, 2.417, 3.106, 3.844");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3161, 0.3641, 0.5326, 0.8518, 1.347, 2.042, 2.954, 4.102, 5.505, 7.176",\
                 "0.3245, 0.3731, 0.5428, 0.8647, 1.362, 2.057, 2.97, 4.119, 5.522, 7.193",\
                 "0.3762, 0.4228, 0.5906, 0.9114, 1.409, 2.106, 3.019, 4.169, 5.572, 7.243",\
                 "0.5086, 0.5518, 0.7083, 1.021, 1.513, 2.206, 3.118, 4.265, 5.667, 7.339",\
                 "0.6956, 0.7459, 0.9134, 1.214, 1.695, 2.378, 3.282, 4.427, 5.824, 7.494",\
                 "0.9276, 0.9833, 1.17, 1.498, 1.971, 2.64, 3.534, 4.667, 6.058, 7.719",\
                 "1.21, 1.272, 1.475, 1.832, 2.341, 3.006, 3.884, 5.004, 6.384, 8.036",\
                 "1.542, 1.612, 1.837, 2.221, 2.769, 3.474, 4.346, 5.451, 6.816, 8.456",\
                 "1.925, 2.003, 2.254, 2.67, 3.251, 4.004, 4.919, 6.015, 7.363, 8.985",\
                 "2.359, 2.448, 2.726, 3.181, 3.799, 4.592, 5.564, 6.699, 8.037, 9.643");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1731, 0.1992, 0.2903, 0.463, 0.7322, 1.11, 1.605, 2.23, 2.993, 3.902",\
                 "0.1731, 0.1993, 0.2904, 0.463, 0.7322, 1.11, 1.605, 2.231, 2.994, 3.904",\
                 "0.2126, 0.2322, 0.3039, 0.4636, 0.7327, 1.109, 1.604, 2.231, 2.993, 3.903",\
                 "0.3001, 0.3241, 0.4044, 0.542, 0.7578, 1.111, 1.605, 2.229, 2.994, 3.903",\
                 "0.4161, 0.4442, 0.5351, 0.6944, 0.9182, 1.207, 1.631, 2.233, 2.993, 3.904",\
                 "0.5562, 0.5892, 0.6968, 0.8752, 1.125, 1.443, 1.823, 2.329, 3.015, 3.904",\
                 "0.7178, 0.7572, 0.8836, 1.091, 1.366, 1.712, 2.132, 2.615, 3.211, 3.991",\
                 "0.902, 0.947, 1.095, 1.333, 1.643, 2.019, 2.473, 3, 3.6, 4.291",\
                 "1.104, 1.158, 1.33, 1.601, 1.95, 2.365, 2.849, 3.414, 4.059, 4.781",\
                 "1.319, 1.386, 1.585, 1.89, 2.286, 2.746, 3.271, 3.87, 4.555, 5.324");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5849, 0.6732, 0.9772, 1.54, 2.408, 3.622, 5.216, 7.226, 9.677, 12.6",\
                 "0.5821, 0.672, 0.977, 1.54, 2.408, 3.623, 5.216, 7.225, 9.676, 12.59",\
                 "0.5678, 0.6617, 0.973, 1.539, 2.407, 3.622, 5.219, 7.225, 9.677, 12.6",\
                 "0.5792, 0.6605, 0.9565, 1.536, 2.407, 3.622, 5.218, 7.225, 9.675, 12.6",\
                 "0.652, 0.7356, 1.008, 1.532, 2.404, 3.622, 5.218, 7.228, 9.676, 12.6",\
                 "0.7384, 0.8218, 1.113, 1.626, 2.421, 3.619, 5.217, 7.226, 9.678, 12.6",\
                 "0.8562, 0.9408, 1.23, 1.773, 2.554, 3.657, 5.216, 7.225, 9.679, 12.6",\
                 "1.011, 1.094, 1.381, 1.93, 2.751, 3.824, 5.275, 7.228, 9.676, 12.6",\
                 "1.185, 1.276, 1.573, 2.113, 2.955, 4.078, 5.474, 7.305, 9.684, 12.6",\
                 "1.377, 1.477, 1.797, 2.343, 3.184, 4.344, 5.776, 7.536, 9.782, 12.61");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1074, 0.1231, 0.177, 0.2797, 0.4389, 0.6609, 0.9515, 1.317, 1.763, 2.295",\
                 "0.1196, 0.1353, 0.1898, 0.2928, 0.4522, 0.6744, 0.9651, 1.331, 1.777, 2.309",\
                 "0.1586, 0.1774, 0.2361, 0.339, 0.4982, 0.7203, 1.011, 1.377, 1.823, 2.355",\
                 "0.184, 0.2098, 0.2904, 0.4194, 0.5873, 0.8082, 1.098, 1.463, 1.909, 2.441",\
                 "0.1827, 0.2162, 0.3194, 0.4827, 0.6939, 0.9441, 1.237, 1.6, 2.045, 2.575",\
                 "0.1494, 0.1906, 0.3178, 0.5171, 0.7713, 1.073, 1.415, 1.795, 2.239, 2.768",\
                 "0.0804, 0.1283, 0.2791, 0.5159, 0.817, 1.169, 1.569, 2.012, 2.494, 3.026",\
                 "-0.028, 0.0273, 0.2003, 0.4756, 0.8244, 1.231, 1.688, 2.192, 2.743, 3.334",\
                 "-0.18, -0.1171, 0.0795, 0.391, 0.7903, 1.253, 1.77, 2.337, 2.953, 3.617",\
                 "-0.3768, -0.3065, -0.0867, 0.2623, 0.7097, 1.232, 1.812, 2.443, 3.126, 3.86");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2888, 0.3294, 0.4705, 0.7374, 1.151, 1.731, 2.493, 3.451, 4.622, 6.019",\
                 "0.2986, 0.3395, 0.4819, 0.7507, 1.166, 1.746, 2.509, 3.468, 4.638, 6.036",\
                 "0.3508, 0.3907, 0.5312, 0.7992, 1.215, 1.797, 2.558, 3.519, 4.691, 6.087",\
                 "0.478, 0.5169, 0.6501, 0.9111, 1.322, 1.899, 2.662, 3.62, 4.789, 6.185",\
                 "0.6504, 0.6959, 0.8457, 1.106, 1.507, 2.077, 2.832, 3.787, 4.953, 6.345",\
                 "0.8653, 0.9156, 1.083, 1.375, 1.785, 2.344, 3.089, 4.035, 5.196, 6.582",\
                 "1.125, 1.183, 1.367, 1.686, 2.139, 2.713, 3.446, 4.381, 5.532, 6.911",\
                 "1.429, 1.494, 1.702, 2.049, 2.537, 3.161, 3.913, 4.835, 5.973, 7.34",\
                 "1.778, 1.85, 2.085, 2.466, 2.988, 3.656, 4.465, 5.404, 6.53, 7.883",\
                 "2.172, 2.256, 2.516, 2.938, 3.5, 4.207, 5.068, 6.07, 7.211, 8.552");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1747, 0.201, 0.2922, 0.465, 0.7344, 1.112, 1.607, 2.23, 2.995, 3.905",\
                 "0.1748, 0.201, 0.2922, 0.465, 0.7344, 1.11, 1.608, 2.233, 2.993, 3.904",\
                 "0.2149, 0.2343, 0.3059, 0.4658, 0.7341, 1.112, 1.607, 2.233, 2.996, 3.901",\
                 "0.3038, 0.3276, 0.4073, 0.5445, 0.7606, 1.113, 1.608, 2.233, 2.996, 3.903",\
                 "0.4233, 0.4497, 0.539, 0.6984, 0.9206, 1.209, 1.635, 2.232, 2.996, 3.906",\
                 "0.5664, 0.5982, 0.7032, 0.879, 1.127, 1.444, 1.824, 2.331, 3.017, 3.906",\
                 "0.7318, 0.77, 0.8942, 1.096, 1.365, 1.714, 2.132, 2.615, 3.212, 3.991",\
                 "0.9162, 0.9624, 1.105, 1.339, 1.644, 2.016, 2.467, 2.998, 3.596, 4.29",\
                 "1.121, 1.176, 1.338, 1.605, 1.949, 2.36, 2.841, 3.407, 4.055, 4.776",\
                 "1.34, 1.401, 1.593, 1.893, 2.282, 2.739, 3.26, 3.857, 4.541, 5.315");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4852, 0.5574, 0.8067, 1.274, 2, 3.016, 4.352, 6.029, 8.081, 10.53",\
                 "0.4843, 0.5569, 0.8064, 1.274, 2, 3.015, 4.352, 6.03, 8.083, 10.53",\
                 "0.4746, 0.5503, 0.8037, 1.274, 2, 3.015, 4.349, 6.029, 8.081, 10.53",\
                 "0.5035, 0.5667, 0.7992, 1.271, 1.999, 3.015, 4.35, 6.033, 8.081, 10.52",\
                 "0.581, 0.6514, 0.8764, 1.293, 1.996, 3.015, 4.349, 6.032, 8.08, 10.53",\
                 "0.675, 0.7464, 0.991, 1.419, 2.055, 3.016, 4.35, 6.031, 8.083, 10.53",\
                 "0.8056, 0.8746, 1.119, 1.574, 2.227, 3.111, 4.361, 6.029, 8.082, 10.53",\
                 "0.9618, 1.038, 1.285, 1.743, 2.435, 3.331, 4.492, 6.056, 8.082, 10.53",\
                 "1.136, 1.222, 1.487, 1.948, 2.655, 3.603, 4.759, 6.224, 8.127, 10.53",\
                 "1.33, 1.423, 1.713, 2.194, 2.9, 3.881, 5.096, 6.533, 8.328, 10.6");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1074, 0.1231, 0.1771, 0.2797, 0.4389, 0.6608, 0.9515, 1.317, 1.763, 2.295",\
                 "0.1197, 0.1354, 0.1899, 0.2929, 0.4523, 0.6744, 0.9652, 1.331, 1.777, 2.309",\
                 "0.1591, 0.178, 0.2365, 0.3393, 0.4986, 0.7206, 1.011, 1.377, 1.823, 2.355",\
                 "0.1848, 0.2104, 0.2911, 0.42, 0.5878, 0.8088, 1.099, 1.464, 1.91, 2.441",\
                 "0.181, 0.2145, 0.3182, 0.4821, 0.6938, 0.9443, 1.237, 1.601, 2.045, 2.576",\
                 "0.1413, 0.1828, 0.311, 0.5124, 0.7685, 1.071, 1.414, 1.795, 2.239, 2.768",\
                 "0.0616, 0.1104, 0.2635, 0.5035, 0.8075, 1.163, 1.565, 2.009, 2.491, 3.025",\
                 "-0.0628, -0.006, 0.1707, 0.451, 0.8055, 1.218, 1.678, 2.186, 2.738, 3.33",\
                 "-0.2351, -0.1706, 0.0313, 0.3501, 0.7571, 1.227, 1.751, 2.323, 2.943, 3.609",\
                 "-0.4573, -0.3851, -0.1588, 0.2001, 0.658, 1.19, 1.778, 2.418, 3.107, 3.845");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3196, 0.3675, 0.5361, 0.8553, 1.351, 2.046, 2.957, 4.106, 5.509, 7.18",\
                 "0.3281, 0.3767, 0.5464, 0.8682, 1.365, 2.061, 2.973, 4.122, 5.525, 7.197",\
                 "0.3795, 0.4263, 0.5938, 0.915, 1.413, 2.109, 3.023, 4.173, 5.576, 7.247",\
                 "0.5116, 0.5549, 0.7118, 1.024, 1.517, 2.209, 3.121, 4.269, 5.671, 7.343",\
                 "0.6992, 0.7497, 0.917, 1.218, 1.698, 2.381, 3.286, 4.43, 5.828, 7.498",\
                 "0.9318, 0.9872, 1.174, 1.502, 1.974, 2.644, 3.537, 4.672, 6.063, 7.723",\
                 "1.214, 1.276, 1.479, 1.836, 2.346, 3.009, 3.888, 5.008, 6.388, 8.041",\
                 "1.547, 1.617, 1.842, 2.225, 2.773, 3.478, 4.349, 5.454, 6.82, 8.457",\
                 "1.93, 2.008, 2.259, 2.674, 3.255, 4.008, 4.922, 6.019, 7.366, 8.99",\
                 "2.366, 2.454, 2.732, 3.186, 3.804, 4.596, 5.568, 6.702, 8.04, 9.647");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1748, 0.201, 0.2921, 0.465, 0.7344, 1.11, 1.607, 2.231, 2.995, 3.901",\
                 "0.1748, 0.201, 0.2924, 0.465, 0.7343, 1.11, 1.608, 2.232, 2.994, 3.901",\
                 "0.2145, 0.2338, 0.3057, 0.4658, 0.7341, 1.11, 1.608, 2.232, 2.996, 3.906",\
                 "0.3028, 0.3267, 0.4067, 0.5441, 0.7596, 1.113, 1.607, 2.231, 2.996, 3.905",\
                 "0.4192, 0.4476, 0.5376, 0.698, 0.92, 1.209, 1.634, 2.232, 2.996, 3.905",\
                 "0.561, 0.5936, 0.7006, 0.8784, 1.129, 1.445, 1.825, 2.33, 3.016, 3.905",\
                 "0.7238, 0.7626, 0.8886, 1.095, 1.369, 1.715, 2.135, 2.617, 3.21, 3.991",\
                 "0.9094, 0.9538, 1.1, 1.337, 1.647, 2.022, 2.475, 3.003, 3.603, 4.292",\
                 "1.114, 1.166, 1.336, 1.606, 1.953, 2.37, 2.852, 3.417, 4.063, 4.783",\
                 "1.33, 1.396, 1.593, 1.897, 2.291, 2.75, 3.273, 3.872, 4.555, 5.326");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5891, 0.6786, 0.9818, 1.545, 2.413, 3.628, 5.221, 7.231, 9.682, 12.6",\
                 "0.5871, 0.6768, 0.9816, 1.545, 2.413, 3.627, 5.221, 7.23, 9.682, 12.6",\
                 "0.573, 0.6667, 0.9778, 1.544, 2.412, 3.627, 5.224, 7.23, 9.682, 12.6",\
                 "0.5837, 0.6647, 0.9612, 1.54, 2.413, 3.627, 5.222, 7.233, 9.679, 12.6",\
                 "0.6562, 0.7392, 1.011, 1.537, 2.408, 3.627, 5.223, 7.233, 9.681, 12.6",\
                 "0.7424, 0.8268, 1.117, 1.631, 2.425, 3.624, 5.222, 7.232, 9.685, 12.6",\
                 "0.8624, 0.9436, 1.234, 1.777, 2.556, 3.662, 5.221, 7.23, 9.684, 12.61",\
                 "1.014, 1.098, 1.386, 1.933, 2.755, 3.828, 5.279, 7.234, 9.681, 12.61",\
                 "1.188, 1.28, 1.576, 2.119, 2.96, 4.079, 5.48, 7.311, 9.689, 12.6",\
                 "1.383, 1.482, 1.798, 2.348, 3.186, 4.35, 5.781, 7.54, 9.786, 12.62");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1117, 0.1275, 0.1825, 0.2868, 0.4477, 0.6704, 0.9612, 1.327, 1.773, 2.305",\
                 "0.124, 0.14, 0.1953, 0.3, 0.4611, 0.6839, 0.9749, 1.341, 1.787, 2.319",\
                 "0.1654, 0.1839, 0.2423, 0.3465, 0.5074, 0.7302, 1.021, 1.387, 1.833, 2.365",\
                 "0.1964, 0.2217, 0.3013, 0.4294, 0.5968, 0.8184, 1.108, 1.474, 1.92, 2.451",\
                 "0.2024, 0.2339, 0.3346, 0.496, 0.7057, 0.9546, 1.247, 1.61, 2.055, 2.586",\
                 "0.1728, 0.2113, 0.3339, 0.5305, 0.7832, 1.084, 1.425, 1.805, 2.249, 2.778",\
                 "0.1005, 0.1462, 0.2923, 0.5259, 0.8258, 1.178, 1.578, 2.02, 2.502, 3.034",\
                 "-0.0158, 0.0373, 0.2059, 0.4781, 0.827, 1.235, 1.693, 2.199, 2.749, 3.341",\
                 "-0.179, -0.1188, 0.0731, 0.3825, 0.7827, 1.248, 1.768, 2.338, 2.956, 3.621",\
                 "-0.3914, -0.324, -0.1092, 0.238, 0.6878, 1.214, 1.798, 2.435, 3.121, 3.858");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4032, 0.4514, 0.6202, 0.9398, 1.436, 2.131, 3.042, 4.191, 5.594, 7.264",\
                 "0.4129, 0.4613, 0.6315, 0.9532, 1.45, 2.146, 3.058, 4.208, 5.611, 7.283",\
                 "0.462, 0.5099, 0.6788, 0.9997, 1.498, 2.194, 3.108, 4.258, 5.662, 7.333",\
                 "0.5871, 0.6319, 0.7931, 1.108, 1.6, 2.293, 3.206, 4.355, 5.757, 7.429",\
                 "0.7859, 0.8337, 0.996, 1.298, 1.781, 2.464, 3.37, 4.515, 5.913, 7.584",\
                 "1.027, 1.081, 1.262, 1.583, 2.055, 2.726, 3.621, 4.754, 6.148, 7.809",\
                 "1.32, 1.378, 1.575, 1.925, 2.427, 3.089, 3.97, 5.091, 6.473, 8.126",\
                 "1.666, 1.731, 1.946, 2.32, 2.861, 3.558, 4.431, 5.537, 6.903, 8.543",\
                 "2.064, 2.137, 2.372, 2.776, 3.349, 4.096, 5.003, 6.1, 7.448, 9.073",\
                 "2.516, 2.595, 2.858, 3.295, 3.902, 4.689, 5.654, 6.784, 8.123, 9.73");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2156, 0.2419, 0.3328, 0.506, 0.7755, 1.152, 1.649, 2.273, 3.038, 3.946",\
                 "0.2157, 0.2419, 0.3329, 0.5059, 0.7756, 1.153, 1.649, 2.273, 3.037, 3.942",\
                 "0.2561, 0.2746, 0.3461, 0.5066, 0.775, 1.153, 1.649, 2.275, 3.037, 3.947",\
                 "0.3601, 0.3812, 0.4547, 0.5854, 0.8019, 1.154, 1.65, 2.275, 3.035, 3.942",\
                 "0.4943, 0.5177, 0.5986, 0.7488, 0.9638, 1.25, 1.676, 2.276, 3.035, 3.943",\
                 "0.6572, 0.6838, 0.777, 0.941, 1.18, 1.491, 1.866, 2.372, 3.059, 3.947",\
                 "0.844, 0.8762, 0.9824, 1.17, 1.432, 1.769, 2.181, 2.66, 3.254, 4.033",\
                 "1.055, 1.09, 1.214, 1.428, 1.719, 2.083, 2.529, 3.05, 3.646, 4.332",\
                 "1.287, 1.328, 1.471, 1.712, 2.038, 2.439, 2.912, 3.471, 4.111, 4.826",\
                 "1.532, 1.584, 1.749, 2.019, 2.388, 2.829, 3.341, 3.931, 4.609, 5.372");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.706, 0.7942, 1.094, 1.656, 2.526, 3.741, 5.337, 7.346, 9.799, 12.72",\
                 "0.7044, 0.7932, 1.094, 1.657, 2.526, 3.741, 5.336, 7.347, 9.799, 12.72",\
                 "0.6969, 0.7868, 1.091, 1.656, 2.525, 3.741, 5.339, 7.347, 9.8, 12.72",\
                 "0.6875, 0.7724, 1.078, 1.654, 2.525, 3.741, 5.338, 7.349, 9.797, 12.72",\
                 "0.7602, 0.8376, 1.109, 1.645, 2.522, 3.74, 5.337, 7.349, 9.799, 12.72",\
                 "0.846, 0.9296, 1.218, 1.725, 2.531, 3.737, 5.337, 7.347, 9.801, 12.72",\
                 "0.9556, 1.042, 1.338, 1.876, 2.652, 3.767, 5.336, 7.346, 9.801, 12.72",\
                 "1.106, 1.191, 1.483, 2.034, 2.853, 3.923, 5.386, 7.349, 9.8, 12.72",\
                 "1.286, 1.375, 1.67, 2.219, 3.063, 4.174, 5.576, 7.417, 9.805, 12.72",\
                 "1.487, 1.583, 1.894, 2.442, 3.287, 4.446, 5.876, 7.64, 9.896, 12.73");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1036, 0.119, 0.1724, 0.2735, 0.4308, 0.6511, 0.9416, 1.307, 1.754, 2.287",\
                 "0.1153, 0.1307, 0.1846, 0.2861, 0.4437, 0.6642, 0.9548, 1.321, 1.767, 2.299",\
                 "0.1521, 0.171, 0.23, 0.3317, 0.4894, 0.7101, 1.001, 1.366, 1.813, 2.345",\
                 "0.1744, 0.2002, 0.2812, 0.4103, 0.578, 0.7979, 1.087, 1.452, 1.899, 2.431",\
                 "0.1713, 0.2048, 0.3085, 0.4715, 0.6826, 0.9334, 1.226, 1.59, 2.034, 2.564",\
                 "0.1375, 0.179, 0.3077, 0.5069, 0.7607, 1.062, 1.406, 1.786, 2.229, 2.758",\
                 "0.0713, 0.121, 0.2735, 0.5108, 0.811, 1.161, 1.561, 2.003, 2.485, 3.017",\
                 "-0.0298, 0.0279, 0.204, 0.4803, 0.8273, 1.231, 1.684, 2.188, 2.737, 3.328",\
                 "-0.1678, -0.1019, 0.0991, 0.4112, 0.8071, 1.265, 1.777, 2.339, 2.954, 3.616",\
                 "-0.3461, -0.272, -0.0458, 0.303, 0.7433, 1.26, 1.831, 2.459, 3.134, 3.866");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4032, 0.4514, 0.6202, 0.9398, 1.436, 2.131, 3.042, 4.191, 5.594, 7.264",\
                 "0.4129, 0.4613, 0.6315, 0.9532, 1.45, 2.146, 3.058, 4.208, 5.611, 7.283",\
                 "0.462, 0.5099, 0.6788, 0.9997, 1.498, 2.194, 3.108, 4.258, 5.662, 7.333",\
                 "0.5871, 0.6319, 0.7931, 1.108, 1.6, 2.293, 3.206, 4.355, 5.757, 7.429",\
                 "0.7859, 0.8337, 0.996, 1.298, 1.781, 2.464, 3.37, 4.515, 5.913, 7.584",\
                 "1.027, 1.081, 1.262, 1.583, 2.055, 2.726, 3.621, 4.754, 6.148, 7.809",\
                 "1.32, 1.378, 1.575, 1.925, 2.427, 3.089, 3.97, 5.091, 6.473, 8.126",\
                 "1.666, 1.731, 1.946, 2.32, 2.861, 3.558, 4.431, 5.537, 6.903, 8.543",\
                 "2.064, 2.137, 2.372, 2.776, 3.349, 4.096, 5.003, 6.1, 7.448, 9.073",\
                 "2.516, 2.595, 2.858, 3.295, 3.902, 4.689, 5.654, 6.784, 8.123, 9.73");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2156, 0.2419, 0.3328, 0.506, 0.7755, 1.152, 1.649, 2.273, 3.038, 3.946",\
                 "0.2157, 0.2419, 0.3329, 0.5059, 0.7756, 1.153, 1.649, 2.273, 3.037, 3.942",\
                 "0.2561, 0.2746, 0.3461, 0.5066, 0.775, 1.153, 1.649, 2.275, 3.037, 3.947",\
                 "0.3601, 0.3812, 0.4547, 0.5854, 0.8019, 1.154, 1.65, 2.275, 3.035, 3.942",\
                 "0.4943, 0.5177, 0.5986, 0.7488, 0.9638, 1.25, 1.676, 2.276, 3.035, 3.943",\
                 "0.6572, 0.6838, 0.777, 0.941, 1.18, 1.491, 1.866, 2.372, 3.059, 3.947",\
                 "0.844, 0.8762, 0.9824, 1.17, 1.432, 1.769, 2.181, 2.66, 3.254, 4.033",\
                 "1.055, 1.09, 1.214, 1.428, 1.719, 2.083, 2.529, 3.05, 3.646, 4.332",\
                 "1.287, 1.328, 1.471, 1.712, 2.038, 2.439, 2.912, 3.471, 4.111, 4.826",\
                 "1.532, 1.584, 1.749, 2.019, 2.388, 2.829, 3.341, 3.931, 4.609, 5.372");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.706, 0.7942, 1.094, 1.656, 2.526, 3.741, 5.337, 7.346, 9.799, 12.72",\
                 "0.7044, 0.7932, 1.094, 1.657, 2.526, 3.741, 5.336, 7.347, 9.799, 12.72",\
                 "0.6969, 0.7868, 1.091, 1.656, 2.525, 3.741, 5.339, 7.347, 9.8, 12.72",\
                 "0.6875, 0.7724, 1.078, 1.654, 2.525, 3.741, 5.338, 7.349, 9.797, 12.72",\
                 "0.7602, 0.8376, 1.109, 1.645, 2.522, 3.74, 5.337, 7.349, 9.799, 12.72",\
                 "0.846, 0.9296, 1.218, 1.725, 2.531, 3.737, 5.337, 7.347, 9.801, 12.72",\
                 "0.9556, 1.042, 1.338, 1.876, 2.652, 3.767, 5.336, 7.346, 9.801, 12.72",\
                 "1.106, 1.191, 1.483, 2.034, 2.853, 3.923, 5.386, 7.349, 9.8, 12.72",\
                 "1.286, 1.375, 1.67, 2.219, 3.063, 4.174, 5.576, 7.417, 9.805, 12.72",\
                 "1.487, 1.583, 1.894, 2.442, 3.287, 4.446, 5.876, 7.64, 9.896, 12.73");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1178, 0.1332, 0.1863, 0.2875, 0.4448, 0.6656, 0.9559, 1.322, 1.768, 2.301",\
                 "0.128, 0.1435, 0.1973, 0.2988, 0.4564, 0.6776, 0.9681, 1.334, 1.78, 2.313",\
                 "0.1498, 0.1674, 0.2251, 0.3275, 0.4853, 0.7067, 0.9973, 1.363, 1.809, 2.342",\
                 "0.1614, 0.184, 0.2549, 0.3732, 0.5394, 0.7604, 1.05, 1.416, 1.862, 2.395",\
                 "0.1459, 0.1754, 0.2662, 0.4093, 0.5996, 0.8406, 1.136, 1.5, 1.946, 2.477",\
                 "0.0958, 0.1324, 0.2459, 0.4215, 0.6453, 0.9159, 1.239, 1.62, 2.066, 2.596",\
                 "0.0074, 0.0518, 0.1878, 0.3992, 0.664, 0.9741, 1.331, 1.745, 2.217, 2.755",\
                 "-0.1212, -0.0693, 0.0896, 0.3363, 0.6457, 1.003, 1.404, 1.855, 2.364, 2.936",\
                 "-0.2928, -0.2333, -0.0521, 0.2298, 0.5843, 0.9925, 1.446, 1.945, 2.493, 3.104",\
                 "-0.5105, -0.444, -0.2396, 0.0785, 0.4767, 0.9378, 1.447, 2.002, 2.601, 3.255");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2263, 0.2581, 0.3695, 0.5825, 0.9131, 1.377, 1.986, 2.754, 3.691, 4.804",\
                 "0.2376, 0.2698, 0.3822, 0.5954, 0.9265, 1.39, 2, 2.769, 3.706, 4.819",\
                 "0.2987, 0.3295, 0.4398, 0.6518, 0.9825, 1.446, 2.056, 2.824, 3.762, 4.877",\
                 "0.4267, 0.4599, 0.5687, 0.7741, 1.1, 1.559, 2.167, 2.933, 3.868, 4.984",\
                 "0.5919, 0.6305, 0.7582, 0.9785, 1.297, 1.749, 2.349, 3.111, 4.045, 5.157",\
                 "0.7999, 0.8432, 0.9864, 1.235, 1.582, 2.031, 2.622, 3.376, 4.301, 5.409",\
                 "1.051, 1.101, 1.262, 1.534, 1.919, 2.406, 2.996, 3.739, 4.656, 5.755",\
                 "1.347, 1.404, 1.586, 1.886, 2.301, 2.832, 3.469, 4.213, 5.117, 6.208",\
                 "1.689, 1.754, 1.958, 2.292, 2.739, 3.306, 3.994, 4.79, 5.698, 6.773",\
                 "2.079, 2.152, 2.38, 2.749, 3.235, 3.838, 4.569, 5.424, 6.387, 7.469");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.134, 0.1599, 0.2507, 0.4239, 0.6919, 1.069, 1.564, 2.189, 2.953, 3.863",\
                 "0.134, 0.1598, 0.2506, 0.4228, 0.691, 1.069, 1.564, 2.189, 2.952, 3.863",\
                 "0.1584, 0.1816, 0.2603, 0.4231, 0.6909, 1.069, 1.564, 2.19, 2.955, 3.864",\
                 "0.22, 0.2425, 0.3222, 0.4745, 0.7118, 1.071, 1.564, 2.19, 2.954, 3.863",\
                 "0.3118, 0.3379, 0.4219, 0.5728, 0.8088, 1.137, 1.588, 2.191, 2.952, 3.863",\
                 "0.425, 0.455, 0.5524, 0.7152, 0.9476, 1.277, 1.708, 2.262, 2.977, 3.867",\
                 "0.5554, 0.5918, 0.7062, 0.8904, 1.137, 1.465, 1.894, 2.439, 3.102, 3.935",\
                 "0.704, 0.7458, 0.878, 1.092, 1.364, 1.703, 2.132, 2.672, 3.337, 4.124",\
                 "0.8622, 0.9136, 1.069, 1.309, 1.616, 1.986, 2.427, 2.962, 3.622, 4.415",\
                 "1.032, 1.093, 1.276, 1.55, 1.893, 2.299, 2.769, 3.312, 3.969, 4.755");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3759, 0.434, 0.635, 1.012, 1.594, 2.409, 3.482, 4.832, 6.479, 8.436",\
                 "0.3747, 0.4334, 0.635, 1.011, 1.593, 2.409, 3.481, 4.831, 6.479, 8.435",\
                 "0.3683, 0.4265, 0.6316, 1.011, 1.593, 2.409, 3.481, 4.831, 6.479, 8.436",\
                 "0.4221, 0.4706, 0.6443, 1.007, 1.593, 2.409, 3.48, 4.83, 6.474, 8.436",\
                 "0.502, 0.5572, 0.7438, 1.066, 1.598, 2.408, 3.48, 4.829, 6.477, 8.44",\
                 "0.6018, 0.6586, 0.8582, 1.212, 1.708, 2.435, 3.479, 4.828, 6.475, 8.438",\
                 "0.7258, 0.7866, 0.9922, 1.364, 1.906, 2.595, 3.539, 4.833, 6.475, 8.438",\
                 "0.869, 0.9368, 1.157, 1.539, 2.111, 2.85, 3.748, 4.932, 6.489, 8.438",\
                 "1.029, 1.106, 1.347, 1.745, 2.328, 3.116, 4.066, 5.192, 6.632, 8.468",\
                 "1.203, 1.29, 1.556, 1.985, 2.582, 3.387, 4.398, 5.568, 6.944, 8.66");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1178, 0.1332, 0.1863, 0.2876, 0.4449, 0.6655, 0.9555, 1.321, 1.768, 2.3",\
                 "0.1281, 0.1436, 0.1974, 0.299, 0.4565, 0.6776, 0.9676, 1.333, 1.78, 2.312",\
                 "0.1504, 0.168, 0.2257, 0.328, 0.4859, 0.707, 0.9977, 1.364, 1.809, 2.343",\
                 "0.1625, 0.185, 0.2558, 0.3742, 0.5403, 0.7611, 1.051, 1.417, 1.863, 2.395",\
                 "0.1449, 0.1744, 0.2654, 0.409, 0.5997, 0.841, 1.136, 1.501, 1.946, 2.478",\
                 "0.0885, 0.1258, 0.2397, 0.4169, 0.6424, 0.9139, 1.238, 1.619, 2.066, 2.596",\
                 "-0.0106, 0.0342, 0.1721, 0.3865, 0.6545, 0.9674, 1.327, 1.741, 2.215, 2.754",\
                 "-0.1563, -0.1032, 0.0594, 0.3099, 0.6253, 0.9876, 1.393, 1.847, 2.357, 2.931",\
                 "-0.3501, -0.2893, -0.102, 0.1865, 0.5483, 0.9645, 1.425, 1.928, 2.481, 3.093",\
                 "-0.5944, -0.5269, -0.3155, 0.0116, 0.4203, 0.8915, 1.41, 1.973, 2.578, 3.236");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2511, 0.2899, 0.4279, 0.6929, 1.106, 1.685, 2.445, 3.405, 4.575, 5.967",\
                 "0.262, 0.3009, 0.4394, 0.7054, 1.119, 1.697, 2.459, 3.418, 4.589, 5.979",\
                 "0.3231, 0.3602, 0.4958, 0.7602, 1.173, 1.751, 2.513, 3.471, 4.639, 6.036",\
                 "0.4606, 0.4979, 0.6252, 0.8798, 1.287, 1.862, 2.62, 3.577, 4.743, 6.136",\
                 "0.6429, 0.6864, 0.8314, 1.085, 1.479, 2.045, 2.797, 3.747, 4.912, 6.3",\
                 "0.8712, 0.9197, 1.081, 1.365, 1.767, 2.32, 3.06, 4.001, 5.16, 6.544",\
                 "1.149, 1.204, 1.382, 1.691, 2.133, 2.698, 3.425, 4.354, 5.501, 6.875",\
                 "1.478, 1.54, 1.739, 2.073, 2.548, 3.161, 3.901, 4.817, 5.95, 7.31",\
                 "1.859, 1.929, 2.151, 2.517, 3.021, 3.675, 4.47, 5.399, 6.516, 7.863",\
                 "2.295, 2.373, 2.62, 3.022, 3.561, 4.249, 5.093, 6.079, 7.21, 8.54");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.134, 0.1599, 0.2507, 0.4233, 0.6928, 1.069, 1.564, 2.19, 2.953, 3.864",\
                 "0.134, 0.1598, 0.2506, 0.4232, 0.6914, 1.069, 1.565, 2.189, 2.953, 3.864",\
                 "0.1581, 0.181, 0.2602, 0.4231, 0.6908, 1.069, 1.564, 2.19, 2.953, 3.863",\
                 "0.2188, 0.2414, 0.322, 0.4745, 0.7114, 1.07, 1.565, 2.19, 2.953, 3.864",\
                 "0.3083, 0.335, 0.4194, 0.5724, 0.8082, 1.136, 1.589, 2.194, 2.951, 3.862",\
                 "0.4184, 0.4502, 0.5494, 0.7134, 0.9484, 1.279, 1.71, 2.263, 2.976, 3.864",\
                 "0.5476, 0.5842, 0.7, 0.8878, 1.139, 1.467, 1.897, 2.441, 3.103, 3.935",\
                 "0.6938, 0.739, 0.8722, 1.087, 1.365, 1.707, 2.136, 2.677, 3.341, 4.125",\
                 "0.8516, 0.9054, 1.066, 1.308, 1.619, 1.992, 2.432, 2.969, 3.63, 4.418",\
                 "1.019, 1.083, 1.272, 1.549, 1.899, 2.306, 2.779, 3.325, 3.98, 4.764");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4697, 0.546, 0.8062, 1.283, 2.011, 3.027, 4.362, 6.042, 8.092, 10.53",\
                 "0.4661, 0.5435, 0.8051, 1.283, 2.01, 3.026, 4.361, 6.042, 8.092, 10.53",\
                 "0.453, 0.532, 0.7995, 1.281, 2.011, 3.026, 4.362, 6.042, 8.088, 10.54",\
                 "0.4922, 0.5551, 0.7913, 1.272, 2.01, 3.026, 4.361, 6.042, 8.088, 10.53",\
                 "0.5706, 0.6394, 0.8684, 1.292, 2.002, 3.025, 4.361, 6.04, 8.091, 10.53",\
                 "0.6622, 0.7334, 0.9776, 1.412, 2.056, 3.023, 4.359, 6.039, 8.09, 10.54",\
                 "0.781, 0.8546, 1.1, 1.559, 2.22, 3.113, 4.367, 6.038, 8.089, 10.53",\
                 "0.9234, 0.9998, 1.253, 1.718, 2.419, 3.324, 4.493, 6.062, 8.088, 10.53",\
                 "1.082, 1.167, 1.437, 1.909, 2.622, 3.582, 4.749, 6.223, 8.129, 10.53",\
                 "1.258, 1.352, 1.645, 2.133, 2.851, 3.844, 5.072, 6.522, 8.326, 10.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1216, 0.1371, 0.191, 0.2937, 0.4527, 0.6744, 0.9649, 1.331, 1.777, 2.309",\
                 "0.1318, 0.1475, 0.2021, 0.3051, 0.4645, 0.6865, 0.9771, 1.343, 1.789, 2.321",\
                 "0.1551, 0.1728, 0.2308, 0.3343, 0.4939, 0.716, 1.007, 1.372, 1.819, 2.351",\
                 "0.1698, 0.1922, 0.2627, 0.3817, 0.5486, 0.7704, 1.061, 1.426, 1.872, 2.404",\
                 "0.1574, 0.1861, 0.276, 0.4188, 0.6097, 0.8509, 1.146, 1.51, 1.956, 2.487",\
                 "0.1082, 0.1441, 0.2558, 0.431, 0.6546, 0.9253, 1.249, 1.629, 2.075, 2.606",\
                 "0.0184, 0.0612, 0.1946, 0.4049, 0.6697, 0.9801, 1.339, 1.752, 2.225, 2.764",\
                 "-0.1169, -0.0669, 0.0886, 0.3336, 0.6443, 1.003, 1.406, 1.858, 2.368, 2.941",\
                 "-0.3012, -0.244, -0.0664, 0.2143, 0.5706, 0.9823, 1.44, 1.941, 2.493, 3.105",\
                 "-0.5359, -0.4722, -0.2729, 0.0445, 0.4461, 0.9125, 1.427, 1.987, 2.591, 3.249");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3185, 0.3581, 0.4972, 0.7633, 1.176, 1.755, 2.517, 3.474, 4.643, 6.039",\
                 "0.3296, 0.3691, 0.509, 0.7753, 1.189, 1.768, 2.529, 3.49, 4.66, 6.051",\
                 "0.3883, 0.4269, 0.5649, 0.8302, 1.243, 1.822, 2.583, 3.542, 4.711, 6.106",\
                 "0.5243, 0.5606, 0.6903, 0.9484, 1.357, 1.932, 2.691, 3.648, 4.815, 6.208",\
                 "0.7171, 0.759, 0.9, 1.151, 1.547, 2.114, 2.867, 3.818, 4.983, 6.372",\
                 "0.9537, 1, 1.157, 1.436, 1.834, 2.388, 3.129, 4.072, 5.23, 6.615",\
                 "1.242, 1.294, 1.465, 1.768, 2.205, 2.765, 3.493, 4.424, 5.571, 6.945",\
                 "1.583, 1.64, 1.829, 2.155, 2.625, 3.232, 3.969, 4.886, 6.019, 7.381",\
                 "1.977, 2.041, 2.252, 2.605, 3.102, 3.75, 4.541, 5.467, 6.584, 7.933",\
                 "2.427, 2.499, 2.731, 3.117, 3.646, 4.329, 5.167, 6.15, 7.279, 8.61");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1731, 0.1993, 0.2904, 0.463, 0.7322, 1.109, 1.605, 2.231, 2.994, 3.9",\
                 "0.1731, 0.1993, 0.2904, 0.4631, 0.7323, 1.11, 1.606, 2.231, 2.994, 3.903",\
                 "0.1997, 0.2213, 0.3004, 0.464, 0.7326, 1.109, 1.605, 2.231, 2.993, 3.901",\
                 "0.269, 0.2901, 0.367, 0.5163, 0.7526, 1.112, 1.605, 2.231, 2.994, 3.902",\
                 "0.3739, 0.3968, 0.4726, 0.6196, 0.852, 1.178, 1.63, 2.233, 2.991, 3.901",\
                 "0.5032, 0.529, 0.6158, 0.7674, 0.9968, 1.322, 1.751, 2.303, 3.015, 3.903",\
                 "0.6538, 0.6834, 0.7822, 0.9532, 1.193, 1.514, 1.941, 2.483, 3.144, 3.975",\
                 "0.8232, 0.859, 0.971, 1.165, 1.427, 1.76, 2.184, 2.721, 3.382, 4.167",\
                 "1.007, 1.049, 1.182, 1.399, 1.693, 2.053, 2.485, 3.019, 3.673, 4.461",\
                 "1.201, 1.251, 1.409, 1.657, 1.982, 2.374, 2.836, 3.379, 4.03, 4.809");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5701, 0.6453, 0.9027, 1.377, 2.104, 3.122, 4.458, 6.136, 8.186, 10.63",\
                 "0.5685, 0.644, 0.9009, 1.377, 2.105, 3.122, 4.458, 6.14, 8.19, 10.63",\
                 "0.5585, 0.6359, 0.8977, 1.376, 2.104, 3.122, 4.457, 6.139, 8.186, 10.63",\
                 "0.5705, 0.6381, 0.8843, 1.37, 2.104, 3.121, 4.457, 6.138, 8.185, 10.63",\
                 "0.6532, 0.722, 0.9456, 1.378, 2.097, 3.121, 4.456, 6.138, 8.189, 10.63",\
                 "0.745, 0.8196, 1.061, 1.489, 2.14, 3.117, 4.455, 6.136, 8.189, 10.63",\
                 "0.8612, 0.9352, 1.185, 1.644, 2.296, 3.196, 4.46, 6.135, 8.186, 10.63",\
                 "1.005, 1.082, 1.335, 1.804, 2.502, 3.402, 4.575, 6.154, 8.187, 10.63",\
                 "1.173, 1.254, 1.519, 1.991, 2.709, 3.663, 4.825, 6.305, 8.221, 10.63",\
                 "1.356, 1.446, 1.731, 2.215, 2.936, 3.929, 5.151, 6.598, 8.412, 10.69");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.118, 0.1332, 0.1866, 0.2878, 0.4449, 0.6656, 0.9559, 1.322, 1.768, 2.3",\
                 "0.1285, 0.144, 0.1978, 0.2996, 0.4569, 0.678, 0.9681, 1.334, 1.781, 2.313",\
                 "0.1509, 0.1685, 0.2262, 0.3285, 0.4864, 0.7076, 0.9979, 1.364, 1.811, 2.342",\
                 "0.162, 0.1847, 0.2557, 0.3742, 0.5404, 0.7612, 1.051, 1.417, 1.863, 2.396",\
                 "0.1428, 0.1727, 0.2643, 0.4084, 0.5994, 0.8408, 1.136, 1.501, 1.946, 2.478",\
                 "0.0851, 0.1226, 0.2379, 0.4158, 0.6416, 0.9136, 1.238, 1.619, 2.066, 2.596",\
                 "-0.0152, 0.03, 0.1691, 0.3846, 0.6536, 0.9668, 1.326, 1.74, 2.215, 2.753",\
                 "-0.1612, -0.1079, 0.0557, 0.3079, 0.6241, 0.9868, 1.393, 1.846, 2.357, 2.931",\
                 "-0.3558, -0.2942, -0.1062, 0.1838, 0.5467, 0.963, 1.424, 1.927, 2.48, 3.093",\
                 "-0.6005, -0.5312, -0.3201, 0.0088, 0.4185, 0.8906, 1.409, 1.972, 2.578, 3.236");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2755, 0.3154, 0.4554, 0.7214, 1.135, 1.713, 2.476, 3.436, 4.605, 6.001",\
                 "0.2852, 0.3254, 0.4661, 0.7328, 1.147, 1.726, 2.489, 3.449, 4.617, 6.013",\
                 "0.3424, 0.3815, 0.5197, 0.7854, 1.199, 1.779, 2.541, 3.499, 4.67, 6.065",\
                 "0.4749, 0.5132, 0.6445, 0.9026, 1.31, 1.886, 2.645, 3.602, 4.771, 6.172",\
                 "0.6546, 0.6987, 0.8462, 1.103, 1.501, 2.067, 2.82, 3.772, 4.938, 6.328",\
                 "0.8808, 0.9299, 1.093, 1.38, 1.786, 2.341, 3.083, 4.025, 5.183, 6.569",\
                 "1.158, 1.213, 1.392, 1.703, 2.148, 2.716, 3.446, 4.377, 5.524, 6.9",\
                 "1.486, 1.548, 1.748, 2.084, 2.561, 3.176, 3.92, 4.838, 5.972, 7.335",\
                 "1.866, 1.937, 2.159, 2.526, 3.033, 3.687, 4.486, 5.418, 6.537, 7.886",\
                 "2.302, 2.38, 2.628, 3.03, 3.571, 4.26, 5.108, 6.097, 7.231, 8.563");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1341, 0.1599, 0.2504, 0.4229, 0.6927, 1.069, 1.564, 2.19, 2.953, 3.863",\
                 "0.134, 0.1598, 0.2506, 0.4231, 0.691, 1.069, 1.565, 2.19, 2.952, 3.863",\
                 "0.158, 0.1811, 0.2602, 0.4231, 0.6909, 1.069, 1.565, 2.19, 2.952, 3.864",\
                 "0.2189, 0.2423, 0.322, 0.4739, 0.7116, 1.071, 1.565, 2.19, 2.953, 3.862",\
                 "0.3101, 0.3362, 0.4206, 0.5734, 0.8084, 1.136, 1.589, 2.192, 2.953, 3.863",\
                 "0.4222, 0.4538, 0.5518, 0.7154, 0.9494, 1.279, 1.71, 2.263, 2.975, 3.864",\
                 "0.5536, 0.5904, 0.7056, 0.8916, 1.141, 1.468, 1.899, 2.441, 3.104, 3.935",\
                 "0.7018, 0.7472, 0.8798, 1.093, 1.367, 1.71, 2.137, 2.677, 3.341, 4.126",\
                 "0.8616, 0.915, 1.073, 1.315, 1.624, 1.996, 2.433, 2.972, 3.629, 4.42",\
                 "1.029, 1.095, 1.283, 1.557, 1.904, 2.31, 2.783, 3.326, 3.981, 4.769");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4818, 0.5542, 0.8043, 1.272, 1.997, 3.013, 4.349, 6.03, 8.077, 10.53",\
                 "0.4808, 0.5538, 0.8039, 1.273, 1.997, 3.014, 4.349, 6.03, 8.077, 10.52",\
                 "0.4718, 0.5465, 0.8018, 1.272, 1.997, 3.013, 4.349, 6.028, 8.08, 10.52",\
                 "0.5027, 0.5661, 0.7976, 1.269, 1.997, 3.013, 4.348, 6.027, 8.079, 10.53",\
                 "0.5776, 0.6466, 0.8738, 1.292, 1.995, 3.012, 4.347, 6.029, 8.079, 10.52",\
                 "0.6648, 0.7354, 0.983, 1.414, 2.053, 3.014, 4.347, 6.029, 8.081, 10.53",\
                 "0.7814, 0.854, 1.102, 1.563, 2.219, 3.108, 4.359, 6.027, 8.08, 10.53",\
                 "0.9226, 0.9986, 1.255, 1.718, 2.42, 3.321, 4.487, 6.054, 8.079, 10.53",\
                 "1.081, 1.165, 1.437, 1.907, 2.626, 3.583, 4.744, 6.216, 8.122, 10.53",\
                 "1.256, 1.348, 1.643, 2.132, 2.851, 3.846, 5.071, 6.517, 8.32, 10.59");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1181, 0.1332, 0.1865, 0.2879, 0.4451, 0.6656, 0.9556, 1.322, 1.767, 2.3",\
                 "0.1285, 0.1441, 0.1978, 0.2997, 0.4573, 0.6779, 0.968, 1.334, 1.781, 2.312",\
                 "0.1515, 0.169, 0.2266, 0.3288, 0.4869, 0.708, 0.9984, 1.364, 1.811, 2.343",\
                 "0.1629, 0.1855, 0.2565, 0.3749, 0.541, 0.7619, 1.052, 1.418, 1.864, 2.397",\
                 "0.1426, 0.1722, 0.2639, 0.4082, 0.5995, 0.841, 1.137, 1.501, 1.947, 2.479",\
                 "0.0804, 0.118, 0.2331, 0.4123, 0.6394, 0.9122, 1.237, 1.619, 2.065, 2.596",\
                 "-0.0284, 0.0174, 0.1577, 0.3748, 0.6464, 0.961, 1.323, 1.738, 2.213, 2.752",\
                 "-0.1873, -0.1329, 0.033, 0.2886, 0.6085, 0.975, 1.383, 1.839, 2.351, 2.926",\
                 "-0.3986, -0.3366, -0.1452, 0.1508, 0.5192, 0.9418, 1.406, 1.913, 2.47, 3.085",\
                 "-0.6651, -0.5957, -0.3791, -0.0426, 0.3753, 0.8551, 1.381, 1.949, 2.559, 3.222");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3038, 0.351, 0.5178, 0.8365, 1.331, 2.025, 2.937, 4.085, 5.487, 7.159",\
                 "0.3119, 0.3596, 0.5275, 0.8469, 1.342, 2.037, 2.95, 4.097, 5.5, 7.17",\
                 "0.3693, 0.4155, 0.5802, 0.8986, 1.394, 2.087, 3, 4.148, 5.55, 7.222",\
                 "0.5078, 0.5507, 0.7048, 1.014, 1.503, 2.192, 3.102, 4.248, 5.649, 7.319",\
                 "0.7026, 0.7522, 0.9168, 1.214, 1.691, 2.37, 3.272, 4.413, 5.808, 7.477",\
                 "0.9457, 1, 1.182, 1.505, 1.974, 2.639, 3.528, 4.659, 6.049, 7.707",\
                 "1.244, 1.305, 1.502, 1.851, 2.353, 3.012, 3.886, 5.003, 6.379, 8.028",\
                 "1.599, 1.666, 1.883, 2.256, 2.794, 3.49, 4.357, 5.456, 6.817, 8.453",\
                 "2.013, 2.088, 2.327, 2.728, 3.295, 4.037, 4.94, 6.031, 7.373, 8.992",\
                 "2.487, 2.57, 2.835, 3.27, 3.868, 4.646, 5.604, 6.727, 8.059, 9.657");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1341, 0.1599, 0.2505, 0.4235, 0.6924, 1.069, 1.565, 2.19, 2.951, 3.862",\
                 "0.134, 0.1598, 0.2507, 0.4234, 0.693, 1.069, 1.565, 2.189, 2.953, 3.864",\
                 "0.1577, 0.1809, 0.26, 0.4231, 0.6911, 1.069, 1.564, 2.19, 2.953, 3.864",\
                 "0.2175, 0.2408, 0.321, 0.4741, 0.7112, 1.071, 1.564, 2.19, 2.953, 3.863",\
                 "0.3069, 0.3339, 0.4187, 0.5722, 0.8084, 1.136, 1.589, 2.193, 2.952, 3.862",\
                 "0.4176, 0.4484, 0.5484, 0.7134, 0.9494, 1.278, 1.71, 2.261, 2.975, 3.863",\
                 "0.5456, 0.583, 0.7002, 0.8892, 1.14, 1.469, 1.898, 2.441, 3.104, 3.932",\
                 "0.6914, 0.7372, 0.8726, 1.088, 1.367, 1.712, 2.14, 2.68, 3.343, 4.127",\
                 "0.8492, 0.9032, 1.066, 1.31, 1.622, 1.998, 2.439, 2.977, 3.636, 4.426",\
                 "1.017, 1.081, 1.276, 1.556, 1.904, 2.314, 2.79, 3.336, 3.988, 4.774");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.584, 0.6737, 0.9786, 1.542, 2.41, 3.625, 5.218, 7.226, 9.677, 12.6",\
                 "0.581, 0.6716, 0.9778, 1.542, 2.41, 3.625, 5.221, 7.227, 9.679, 12.6",\
                 "0.5679, 0.661, 0.9743, 1.542, 2.41, 3.625, 5.218, 7.228, 9.677, 12.6",\
                 "0.5824, 0.6634, 0.9581, 1.537, 2.41, 3.624, 5.22, 7.228, 9.677, 12.6",\
                 "0.6532, 0.736, 1.009, 1.535, 2.405, 3.624, 5.22, 7.23, 9.679, 12.6",\
                 "0.7318, 0.8178, 1.11, 1.626, 2.424, 3.621, 5.219, 7.229, 9.681, 12.6",\
                 "0.8388, 0.9264, 1.22, 1.767, 2.551, 3.659, 5.219, 7.228, 9.681, 12.6",\
                 "0.9758, 1.063, 1.358, 1.914, 2.742, 3.819, 5.275, 7.232, 9.68, 12.6",\
                 "1.132, 1.225, 1.529, 2.083, 2.936, 4.064, 5.469, 7.306, 9.685, 12.6",\
                 "1.307, 1.408, 1.732, 2.288, 3.144, 4.32, 5.759, 7.528, 9.78, 12.61");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1218, 0.1371, 0.1912, 0.2938, 0.4528, 0.6745, 0.9651, 1.331, 1.777, 2.309",\
                 "0.1322, 0.148, 0.2025, 0.3057, 0.465, 0.6869, 0.9776, 1.343, 1.789, 2.321",\
                 "0.1562, 0.1738, 0.2317, 0.3351, 0.4947, 0.7168, 1.008, 1.373, 1.82, 2.352",\
                 "0.1703, 0.1927, 0.2635, 0.3825, 0.5494, 0.7713, 1.062, 1.427, 1.873, 2.405",\
                 "0.155, 0.1839, 0.2744, 0.4181, 0.6095, 0.851, 1.146, 1.511, 1.957, 2.488",\
                 "0.0999, 0.1364, 0.2497, 0.4263, 0.6515, 0.9234, 1.248, 1.628, 2.075, 2.606",\
                 "0.0008, 0.0444, 0.1803, 0.3935, 0.6616, 0.9744, 1.334, 1.749, 2.224, 2.762",\
                 "-0.148, -0.097, 0.0624, 0.312, 0.6274, 0.9902, 1.397, 1.851, 2.363, 2.937",\
                 "-0.3498, -0.2914, -0.1087, 0.1788, 0.5417, 0.9594, 1.422, 1.927, 2.482, 3.096",\
                 "-0.606, -0.5405, -0.3355, -0.0094, 0.4011, 0.8759, 1.398, 1.963, 2.572, 3.234");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3863, 0.4341, 0.6017, 0.9206, 1.416, 2.11, 3.023, 4.173, 5.573, 7.244",\
                 "0.395, 0.443, 0.6117, 0.9312, 1.427, 2.122, 3.035, 4.183, 5.586, 7.256",\
                 "0.4502, 0.4974, 0.664, 0.9824, 1.478, 2.173, 3.086, 4.235, 5.636, 7.308",\
                 "0.5822, 0.6258, 0.785, 1.097, 1.587, 2.276, 3.187, 4.333, 5.735, 7.406",\
                 "0.7871, 0.835, 0.995, 1.294, 1.773, 2.453, 3.356, 4.499, 5.893, 7.562",\
                 "1.039, 1.091, 1.269, 1.585, 2.053, 2.72, 3.611, 4.744, 6.133, 7.792",\
                 "1.346, 1.403, 1.595, 1.939, 2.434, 3.093, 3.968, 5.086, 6.463, 8.114",\
                 "1.713, 1.775, 1.983, 2.349, 2.881, 3.571, 4.437, 5.54, 6.9, 8.537",\
                 "2.14, 2.209, 2.436, 2.827, 3.387, 4.123, 5.021, 6.111, 7.457, 9.076",\
                 "2.627, 2.705, 2.954, 3.373, 3.962, 4.735, 5.689, 6.808, 8.14, 9.743");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1731, 0.1993, 0.2903, 0.463, 0.7324, 1.109, 1.605, 2.23, 2.995, 3.899",\
                 "0.1731, 0.1994, 0.2904, 0.4631, 0.7319, 1.109, 1.605, 2.231, 2.993, 3.902",\
                 "0.1992, 0.2209, 0.3002, 0.464, 0.7326, 1.109, 1.604, 2.231, 2.994, 3.903",\
                 "0.2684, 0.2896, 0.3662, 0.5155, 0.7528, 1.111, 1.606, 2.229, 2.995, 3.901",\
                 "0.3726, 0.3957, 0.4727, 0.6194, 0.8516, 1.178, 1.63, 2.233, 2.993, 3.901",\
                 "0.5016, 0.5276, 0.6154, 0.7686, 0.9974, 1.324, 1.752, 2.302, 3.015, 3.903",\
                 "0.652, 0.6826, 0.7826, 0.9552, 1.194, 1.517, 1.944, 2.484, 3.145, 3.976",\
                 "0.8224, 0.8574, 0.9726, 1.168, 1.431, 1.766, 2.189, 2.725, 3.386, 4.168",\
                 "1.006, 1.05, 1.184, 1.404, 1.697, 2.058, 2.493, 3.025, 3.681, 4.465",\
                 "1.203, 1.252, 1.415, 1.663, 1.99, 2.382, 2.847, 3.389, 4.038, 4.821");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7018, 0.7897, 1.091, 1.655, 2.523, 3.739, 5.335, 7.347, 9.797, 12.72",\
                 "0.7005, 0.7891, 1.09, 1.654, 2.523, 3.738, 5.336, 7.343, 9.796, 12.72",\
                 "0.6919, 0.7825, 1.089, 1.653, 2.523, 3.738, 5.336, 7.347, 9.795, 12.72",\
                 "0.6856, 0.7701, 1.075, 1.651, 2.523, 3.738, 5.335, 7.344, 9.793, 12.72",\
                 "0.7558, 0.8342, 1.107, 1.643, 2.519, 3.737, 5.334, 7.346, 9.796, 12.72",\
                 "0.8348, 0.9218, 1.211, 1.721, 2.528, 3.735, 5.334, 7.345, 9.799, 12.72",\
                 "0.9398, 1.025, 1.324, 1.867, 2.646, 3.764, 5.333, 7.344, 9.796, 12.72",\
                 "1.074, 1.159, 1.458, 2.018, 2.839, 3.916, 5.382, 7.346, 9.796, 12.72",\
                 "1.236, 1.327, 1.627, 2.187, 3.04, 4.158, 5.567, 7.414, 9.802, 12.72",\
                 "1.417, 1.514, 1.829, 2.388, 3.252, 4.423, 5.855, 7.628, 9.888, 12.73");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1217, 0.1372, 0.1912, 0.2938, 0.453, 0.6749, 0.9655, 1.331, 1.777, 2.309",\
                 "0.1322, 0.148, 0.2025, 0.3057, 0.4651, 0.6872, 0.978, 1.344, 1.79, 2.322",\
                 "0.1557, 0.1733, 0.2313, 0.3348, 0.4945, 0.7169, 1.008, 1.373, 1.82, 2.352",\
                 "0.1694, 0.1919, 0.2626, 0.3818, 0.5489, 0.771, 1.062, 1.427, 1.873, 2.405",\
                 "0.1554, 0.1845, 0.2751, 0.4185, 0.6098, 0.8511, 1.146, 1.511, 1.956, 2.487",\
                 "0.1051, 0.1416, 0.2544, 0.4299, 0.6542, 0.9254, 1.249, 1.63, 2.076, 2.606",\
                 "0.0151, 0.0581, 0.1925, 0.4038, 0.6694, 0.9803, 1.338, 1.752, 2.225, 2.764",\
                 "-0.12, -0.0697, 0.0865, 0.3322, 0.6437, 1.003, 1.406, 1.858, 2.368, 2.942",\
                 "-0.3036, -0.2467, -0.0681, 0.2128, 0.57, 0.9823, 1.44, 1.941, 2.493, 3.105",\
                 "-0.5377, -0.4747, -0.2746, 0.043, 0.4454, 0.9124, 1.427, 1.987, 2.591, 3.248");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3474, 0.3876, 0.5279, 0.7939, 1.208, 1.787, 2.549, 3.508, 4.679, 6.075",\
                 "0.3578, 0.3981, 0.539, 0.806, 1.22, 1.8, 2.561, 3.52, 4.692, 6.088",\
                 "0.4131, 0.4529, 0.5924, 0.8586, 1.272, 1.852, 2.614, 3.574, 4.744, 6.14",\
                 "0.5429, 0.5805, 0.7139, 0.974, 1.383, 1.959, 2.719, 3.677, 4.846, 6.241",\
                 "0.7332, 0.7756, 0.9181, 1.173, 1.572, 2.139, 2.893, 3.846, 5.011, 6.403",\
                 "0.9674, 1.015, 1.173, 1.454, 1.855, 2.412, 3.154, 4.097, 5.257, 6.643",\
                 "1.254, 1.306, 1.478, 1.784, 2.223, 2.787, 3.516, 4.449, 5.597, 6.975",\
                 "1.595, 1.653, 1.842, 2.17, 2.64, 3.251, 3.99, 4.909, 6.043, 7.409",\
                 "1.989, 2.054, 2.262, 2.617, 3.116, 3.767, 4.56, 5.488, 6.608, 7.958",\
                 "2.44, 2.511, 2.743, 3.129, 3.66, 4.343, 5.185, 6.171, 7.301, 8.636");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1748, 0.2011, 0.2923, 0.4652, 0.7343, 1.11, 1.607, 2.232, 2.996, 3.904",\
                 "0.1748, 0.2011, 0.2922, 0.4651, 0.7343, 1.111, 1.608, 2.231, 2.992, 3.901",\
                 "0.2012, 0.223, 0.3021, 0.4659, 0.7344, 1.112, 1.607, 2.233, 2.995, 3.902",\
                 "0.2715, 0.2928, 0.3691, 0.5176, 0.7541, 1.114, 1.608, 2.231, 2.996, 3.905",\
                 "0.3791, 0.4014, 0.4769, 0.6224, 0.8538, 1.179, 1.632, 2.235, 2.996, 3.902",\
                 "0.512, 0.5368, 0.6224, 0.7728, 1.001, 1.325, 1.752, 2.304, 3.02, 3.907",\
                 "0.6658, 0.6948, 0.792, 0.9602, 1.199, 1.518, 1.944, 2.485, 3.147, 3.979",\
                 "0.8394, 0.8726, 0.9836, 1.175, 1.434, 1.767, 2.188, 2.724, 3.385, 4.17",\
                 "1.026, 1.066, 1.196, 1.412, 1.7, 2.06, 2.491, 3.022, 3.677, 4.464",\
                 "1.222, 1.271, 1.428, 1.672, 1.993, 2.382, 2.842, 3.382, 4.031, 4.814");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5798, 0.6515, 0.9008, 1.369, 2.095, 3.112, 4.448, 6.128, 8.181, 10.62",\
                 "0.5797, 0.6516, 0.9002, 1.369, 2.095, 3.112, 4.447, 6.127, 8.18, 10.62",\
                 "0.5737, 0.6477, 0.8996, 1.368, 2.095, 3.112, 4.447, 6.128, 8.181, 10.63",\
                 "0.5837, 0.6502, 0.8921, 1.367, 2.095, 3.111, 4.448, 6.131, 8.181, 10.62",\
                 "0.665, 0.7316, 0.9534, 1.379, 2.093, 3.111, 4.446, 6.13, 8.179, 10.63",\
                 "0.7512, 0.8256, 1.068, 1.493, 2.138, 3.112, 4.446, 6.129, 8.182, 10.62",\
                 "0.8654, 0.9392, 1.191, 1.648, 2.298, 3.194, 4.455, 6.128, 8.182, 10.63",\
                 "1.009, 1.086, 1.339, 1.808, 2.506, 3.4, 4.574, 6.15, 8.18, 10.63",\
                 "1.174, 1.256, 1.521, 1.994, 2.713, 3.667, 4.826, 6.304, 8.218, 10.63",\
                 "1.358, 1.447, 1.731, 2.217, 2.942, 3.933, 5.156, 6.599, 8.408, 10.69");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1218, 0.1371, 0.1912, 0.2938, 0.453, 0.6749, 0.9655, 1.331, 1.777, 2.309",\
                 "0.1322, 0.148, 0.2025, 0.3057, 0.4652, 0.6873, 0.9781, 1.344, 1.79, 2.322",\
                 "0.1562, 0.1738, 0.2317, 0.3352, 0.4949, 0.7172, 1.008, 1.374, 1.82, 2.352",\
                 "0.1701, 0.1927, 0.2636, 0.3825, 0.5495, 0.7715, 1.062, 1.428, 1.874, 2.405",\
                 "0.1551, 0.184, 0.2745, 0.4182, 0.6098, 0.8514, 1.147, 1.512, 1.957, 2.488",\
                 "0.1001, 0.1366, 0.2497, 0.4266, 0.6519, 0.9239, 1.248, 1.629, 2.076, 2.606",\
                 "0.0015, 0.0452, 0.1808, 0.3942, 0.6622, 0.9748, 1.335, 1.75, 2.224, 2.762",\
                 "-0.1465, -0.0957, 0.0636, 0.3129, 0.6283, 0.991, 1.397, 1.852, 2.364, 2.937",\
                 "-0.3477, -0.2893, -0.1067, 0.1799, 0.5426, 0.9605, 1.423, 1.927, 2.483, 3.097",\
                 "-0.6039, -0.5379, -0.3334, -0.0077, 0.4023, 0.8766, 1.399, 1.964, 2.573, 3.235");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3896, 0.4375, 0.6051, 0.924, 1.419, 2.113, 3.025, 4.176, 5.576, 7.248",\
                 "0.3986, 0.4465, 0.6151, 0.9346, 1.431, 2.125, 3.037, 4.186, 5.588, 7.26",\
                 "0.4535, 0.5008, 0.6675, 0.9858, 1.482, 2.176, 3.089, 4.237, 5.639, 7.311",\
                 "0.5852, 0.6291, 0.7884, 1.1, 1.59, 2.28, 3.19, 4.338, 5.738, 7.409",\
                 "0.7906, 0.8383, 0.9979, 1.297, 1.776, 2.457, 3.36, 4.501, 5.898, 7.566",\
                 "1.042, 1.095, 1.273, 1.589, 2.056, 2.724, 3.615, 4.746, 6.136, 7.794",\
                 "1.35, 1.407, 1.599, 1.943, 2.437, 3.095, 3.971, 5.088, 6.466, 8.115",\
                 "1.717, 1.781, 1.987, 2.353, 2.885, 3.575, 4.44, 5.542, 6.903, 8.539",\
                 "2.144, 2.215, 2.44, 2.831, 3.392, 4.126, 5.024, 6.114, 7.459, 9.077",\
                 "2.633, 2.711, 2.959, 3.378, 3.968, 4.74, 5.692, 6.811, 8.142, 9.746");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1748, 0.2011, 0.2923, 0.4652, 0.7343, 1.11, 1.607, 2.233, 2.993, 3.905",\
                 "0.1748, 0.2011, 0.2923, 0.465, 0.7343, 1.112, 1.608, 2.233, 2.996, 3.902",\
                 "0.201, 0.2228, 0.302, 0.4659, 0.7343, 1.111, 1.607, 2.233, 2.995, 3.904",\
                 "0.2709, 0.2918, 0.3683, 0.5172, 0.754, 1.114, 1.607, 2.233, 2.994, 3.903",\
                 "0.3756, 0.3985, 0.4753, 0.622, 0.854, 1.18, 1.632, 2.236, 2.997, 3.904",\
                 "0.5054, 0.5312, 0.617, 0.7712, 1.001, 1.326, 1.753, 2.304, 3.021, 3.907",\
                 "0.657, 0.6872, 0.7862, 0.9584, 1.197, 1.52, 1.946, 2.486, 3.147, 3.976",\
                 "0.8286, 0.863, 0.9774, 1.171, 1.434, 1.769, 2.191, 2.727, 3.388, 4.17",\
                 "1.013, 1.056, 1.189, 1.408, 1.701, 2.06, 2.496, 3.028, 3.682, 4.468",\
                 "1.21, 1.26, 1.421, 1.668, 1.993, 2.387, 2.849, 3.391, 4.04, 4.822");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7062, 0.7943, 1.096, 1.659, 2.526, 3.743, 5.337, 7.351, 9.8, 12.72",\
                 "0.7053, 0.7937, 1.096, 1.658, 2.527, 3.742, 5.337, 7.347, 9.799, 12.72",\
                 "0.6965, 0.7871, 1.093, 1.658, 2.527, 3.742, 5.34, 7.348, 9.798, 12.72",\
                 "0.6906, 0.7748, 1.08, 1.656, 2.527, 3.743, 5.34, 7.35, 9.797, 12.72",\
                 "0.7596, 0.8378, 1.11, 1.647, 2.524, 3.742, 5.339, 7.35, 9.799, 12.72",\
                 "0.8422, 0.9266, 1.216, 1.725, 2.534, 3.739, 5.338, 7.349, 9.802, 12.72",\
                 "0.943, 1.029, 1.331, 1.87, 2.649, 3.768, 5.337, 7.347, 9.801, 12.73",\
                 "1.077, 1.164, 1.462, 2.022, 2.843, 3.919, 5.385, 7.349, 9.801, 12.72",\
                 "1.238, 1.329, 1.631, 2.191, 3.042, 4.16, 5.571, 7.417, 9.805, 12.72",\
                 "1.42, 1.518, 1.831, 2.39, 3.256, 4.423, 5.858, 7.63, 9.892, 12.73");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.126, 0.1417, 0.1968, 0.301, 0.4618, 0.6845, 0.9753, 1.341, 1.787, 2.319",\
                 "0.1365, 0.1526, 0.2081, 0.3129, 0.474, 0.6968, 0.9878, 1.354, 1.8, 2.332",\
                 "0.1617, 0.1792, 0.2375, 0.3424, 0.5037, 0.7268, 1.018, 1.384, 1.83, 2.362",\
                 "0.1789, 0.2012, 0.2718, 0.3911, 0.5585, 0.7811, 1.072, 1.437, 1.884, 2.415",\
                 "0.1709, 0.1988, 0.287, 0.4294, 0.6204, 0.8614, 1.156, 1.521, 1.967, 2.498",\
                 "0.1253, 0.1598, 0.2687, 0.4415, 0.6645, 0.9353, 1.259, 1.639, 2.086, 2.616",\
                 "0.0345, 0.0756, 0.2054, 0.4132, 0.6775, 0.9879, 1.346, 1.76, 2.234, 2.772",\
                 "-0.1066, -0.0585, 0.0933, 0.3361, 0.6466, 1.006, 1.41, 1.864, 2.374, 2.948",\
                 "-0.2998, -0.2455, -0.0709, 0.2077, 0.5646, 0.9778, 1.437, 1.941, 2.495, 3.109",\
                 "-0.5485, -0.4865, -0.2914, 0.0247, 0.4279, 0.8974, 1.416, 1.979, 2.586, 3.247");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4733, 0.521, 0.6891, 1.008, 1.504, 2.198, 3.111, 4.259, 5.662, 7.333",\
                 "0.4828, 0.5311, 0.6994, 1.019, 1.515, 2.21, 3.122, 4.271, 5.676, 7.346",\
                 "0.5363, 0.5837, 0.7514, 1.07, 1.566, 2.261, 3.174, 4.322, 5.725, 7.397",\
                 "0.6622, 0.7078, 0.8698, 1.183, 1.674, 2.365, 3.275, 4.422, 5.823, 7.495",\
                 "0.8728, 0.919, 1.075, 1.377, 1.858, 2.541, 3.444, 4.585, 5.983, 7.65",\
                 "1.133, 1.185, 1.358, 1.668, 2.136, 2.806, 3.697, 4.831, 6.219, 7.882",\
                 "1.447, 1.503, 1.69, 2.028, 2.518, 3.176, 4.054, 5.171, 6.552, 8.202",\
                 "1.824, 1.884, 2.085, 2.445, 2.971, 3.654, 4.52, 5.623, 6.987, 8.625",\
                 "2.263, 2.329, 2.545, 2.927, 3.483, 4.212, 5.105, 6.195, 7.54, 9.161",\
                 "2.763, 2.836, 3.073, 3.48, 4.063, 4.831, 5.776, 6.892, 8.223, 9.828");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2157, 0.2418, 0.3329, 0.506, 0.775, 1.153, 1.647, 2.274, 3.037, 3.946",\
                 "0.2157, 0.2419, 0.3329, 0.506, 0.7752, 1.152, 1.648, 2.275, 3.038, 3.945",\
                 "0.2421, 0.2632, 0.3425, 0.5069, 0.7751, 1.153, 1.649, 2.275, 3.034, 3.942",\
                 "0.3203, 0.3403, 0.4131, 0.5585, 0.7952, 1.155, 1.648, 2.274, 3.038, 3.947",\
                 "0.438, 0.4581, 0.5279, 0.6696, 0.8972, 1.22, 1.672, 2.277, 3.037, 3.943",\
                 "0.5856, 0.6062, 0.682, 0.8256, 1.048, 1.369, 1.794, 2.347, 3.061, 3.945",\
                 "0.756, 0.78, 0.866, 1.023, 1.251, 1.569, 1.992, 2.528, 3.188, 4.02",\
                 "0.9476, 0.975, 1.072, 1.248, 1.496, 1.822, 2.24, 2.773, 3.43, 4.212",\
                 "1.157, 1.191, 1.301, 1.498, 1.772, 2.123, 2.549, 3.076, 3.727, 4.51",\
                 "1.377, 1.417, 1.552, 1.772, 2.078, 2.454, 2.908, 3.443, 4.088, 4.865");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.8205, 0.9079, 1.207, 1.77, 2.64, 3.856, 5.455, 7.464, 9.918, 12.84",\
                 "0.8197, 0.9063, 1.208, 1.771, 2.64, 3.857, 5.452, 7.463, 9.917, 12.84",\
                 "0.8152, 0.9038, 1.206, 1.77, 2.64, 3.856, 5.455, 7.463, 9.916, 12.84",\
                 "0.7999, 0.8867, 1.196, 1.768, 2.639, 3.856, 5.455, 7.464, 9.914, 12.84",\
                 "0.8558, 0.9344, 1.211, 1.758, 2.637, 3.855, 5.454, 7.466, 9.917, 12.84",\
                 "0.9448, 1.032, 1.315, 1.821, 2.64, 3.853, 5.453, 7.464, 9.918, 12.84",\
                 "1.046, 1.133, 1.433, 1.969, 2.746, 3.875, 5.452, 7.464, 9.918, 12.84",\
                 "1.176, 1.265, 1.564, 2.125, 2.939, 4.017, 5.493, 7.463, 9.918, 12.84",\
                 "1.339, 1.429, 1.731, 2.293, 3.146, 4.257, 5.667, 7.525, 9.922, 12.84",\
                 "1.526, 1.62, 1.934, 2.494, 3.358, 4.526, 5.953, 7.732, 10, 12.85");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1178, 0.1332, 0.1863, 0.2875, 0.4448, 0.6656, 0.9559, 1.322, 1.768, 2.301",\
                 "0.128, 0.1435, 0.1973, 0.2988, 0.4564, 0.6776, 0.9681, 1.334, 1.78, 2.313",\
                 "0.1498, 0.1674, 0.2251, 0.3275, 0.4853, 0.7067, 0.9973, 1.363, 1.809, 2.342",\
                 "0.1614, 0.184, 0.2549, 0.3732, 0.5394, 0.7604, 1.05, 1.416, 1.862, 2.395",\
                 "0.1459, 0.1754, 0.2662, 0.4093, 0.5996, 0.8406, 1.136, 1.5, 1.946, 2.477",\
                 "0.0958, 0.1324, 0.2459, 0.4215, 0.6453, 0.9159, 1.239, 1.62, 2.066, 2.596",\
                 "0.0074, 0.0518, 0.1878, 0.3992, 0.664, 0.9741, 1.331, 1.745, 2.217, 2.755",\
                 "-0.1212, -0.0693, 0.0896, 0.3363, 0.6457, 1.003, 1.404, 1.855, 2.364, 2.936",\
                 "-0.2928, -0.2333, -0.0521, 0.2298, 0.5843, 0.9925, 1.446, 1.945, 2.493, 3.104",\
                 "-0.5105, -0.444, -0.2396, 0.0785, 0.4767, 0.9378, 1.447, 2.002, 2.601, 3.255");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4733, 0.521, 0.6891, 1.008, 1.504, 2.198, 3.111, 4.259, 5.662, 7.333",\
                 "0.4828, 0.5311, 0.6994, 1.019, 1.515, 2.21, 3.122, 4.271, 5.676, 7.346",\
                 "0.5363, 0.5837, 0.7514, 1.07, 1.566, 2.261, 3.174, 4.322, 5.725, 7.397",\
                 "0.6622, 0.7078, 0.8698, 1.183, 1.674, 2.365, 3.275, 4.422, 5.823, 7.495",\
                 "0.8728, 0.919, 1.075, 1.377, 1.858, 2.541, 3.444, 4.585, 5.983, 7.65",\
                 "1.133, 1.185, 1.358, 1.668, 2.136, 2.806, 3.697, 4.831, 6.219, 7.882",\
                 "1.447, 1.503, 1.69, 2.028, 2.518, 3.176, 4.054, 5.171, 6.552, 8.202",\
                 "1.824, 1.884, 2.085, 2.445, 2.971, 3.654, 4.52, 5.623, 6.987, 8.625",\
                 "2.263, 2.329, 2.545, 2.927, 3.483, 4.212, 5.105, 6.195, 7.54, 9.161",\
                 "2.763, 2.836, 3.073, 3.48, 4.063, 4.831, 5.776, 6.892, 8.223, 9.828");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2157, 0.2418, 0.3329, 0.506, 0.775, 1.153, 1.647, 2.274, 3.037, 3.946",\
                 "0.2157, 0.2419, 0.3329, 0.506, 0.7752, 1.152, 1.648, 2.275, 3.038, 3.945",\
                 "0.2421, 0.2632, 0.3425, 0.5069, 0.7751, 1.153, 1.649, 2.275, 3.034, 3.942",\
                 "0.3203, 0.3403, 0.4131, 0.5585, 0.7952, 1.155, 1.648, 2.274, 3.038, 3.947",\
                 "0.438, 0.4581, 0.5279, 0.6696, 0.8972, 1.22, 1.672, 2.277, 3.037, 3.943",\
                 "0.5856, 0.6062, 0.682, 0.8256, 1.048, 1.369, 1.794, 2.347, 3.061, 3.945",\
                 "0.756, 0.78, 0.866, 1.023, 1.251, 1.569, 1.992, 2.528, 3.188, 4.02",\
                 "0.9476, 0.975, 1.072, 1.248, 1.496, 1.822, 2.24, 2.773, 3.43, 4.212",\
                 "1.157, 1.191, 1.301, 1.498, 1.772, 2.123, 2.549, 3.076, 3.727, 4.51",\
                 "1.377, 1.417, 1.552, 1.772, 2.078, 2.454, 2.908, 3.443, 4.088, 4.865");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.8205, 0.9079, 1.207, 1.77, 2.64, 3.856, 5.455, 7.464, 9.918, 12.84",\
                 "0.8197, 0.9063, 1.208, 1.771, 2.64, 3.857, 5.452, 7.463, 9.917, 12.84",\
                 "0.8152, 0.9038, 1.206, 1.77, 2.64, 3.856, 5.455, 7.463, 9.916, 12.84",\
                 "0.7999, 0.8867, 1.196, 1.768, 2.639, 3.856, 5.455, 7.464, 9.914, 12.84",\
                 "0.8558, 0.9344, 1.211, 1.758, 2.637, 3.855, 5.454, 7.466, 9.917, 12.84",\
                 "0.9448, 1.032, 1.315, 1.821, 2.64, 3.853, 5.453, 7.464, 9.918, 12.84",\
                 "1.046, 1.133, 1.433, 1.969, 2.746, 3.875, 5.452, 7.464, 9.918, 12.84",\
                 "1.176, 1.265, 1.564, 2.125, 2.939, 4.017, 5.493, 7.463, 9.918, 12.84",\
                 "1.339, 1.429, 1.731, 2.293, 3.146, 4.257, 5.667, 7.525, 9.922, 12.84",\
                 "1.526, 1.62, 1.934, 2.494, 3.358, 4.526, 5.953, 7.732, 10, 12.85");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1789, 0.1957, 0.2526, 0.3584, 0.5194, 0.7428, 1.035, 1.402, 1.849, 2.382",\
                 "0.1909, 0.2076, 0.2649, 0.3707, 0.5317, 0.755, 1.047, 1.414, 1.862, 2.394",\
                 "0.2363, 0.2528, 0.3094, 0.4148, 0.5755, 0.7988, 1.091, 1.458, 1.905, 2.438",\
                 "0.2948, 0.3166, 0.386, 0.5021, 0.6633, 0.8853, 1.177, 1.543, 1.99, 2.523",\
                 "0.3314, 0.3582, 0.4452, 0.5908, 0.7863, 1.024, 1.315, 1.68, 2.125, 2.657",\
                 "0.3415, 0.3737, 0.48, 0.655, 0.8886, 1.174, 1.504, 1.877, 2.321, 2.85",\
                 "0.3217, 0.3598, 0.4848, 0.6912, 0.9647, 1.295, 1.678, 2.107, 2.579, 3.109",\
                 "0.2714, 0.3158, 0.4594, 0.6958, 1.011, 1.389, 1.823, 2.31, 2.847, 3.427",\
                 "0.187, 0.2385, 0.3994, 0.6693, 1.025, 1.452, 1.939, 2.481, 3.08, 3.73",\
                 "0.0724, 0.1265, 0.3066, 0.605, 1.004, 1.48, 2.023, 2.624, 3.282, 3.997");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3016, 0.3346, 0.4491, 0.6647, 0.9983, 1.466, 2.081, 2.855, 3.8, 4.928",\
                 "0.3105, 0.3445, 0.4613, 0.6784, 1.014, 1.482, 2.097, 2.872, 3.817, 4.945",\
                 "0.3529, 0.3869, 0.5039, 0.7232, 1.06, 1.531, 2.147, 2.923, 3.869, 4.997",\
                 "0.4339, 0.4716, 0.5926, 0.8104, 1.146, 1.616, 2.233, 3.009, 3.956, 5.083",\
                 "0.5492, 0.5901, 0.7254, 0.9601, 1.295, 1.761, 2.374, 3.148, 4.093, 5.219",\
                 "0.7061, 0.7531, 0.9022, 1.156, 1.517, 1.984, 2.59, 3.358, 4.298, 5.421",\
                 "0.9014, 0.9557, 1.125, 1.401, 1.786, 2.283, 2.894, 3.654, 4.586, 5.702",\
                 "1.131, 1.194, 1.387, 1.695, 2.106, 2.632, 3.277, 4.044, 4.967, 6.073",\
                 "1.394, 1.465, 1.685, 2.029, 2.478, 3.033, 3.711, 4.516, 5.449, 6.545",\
                 "1.69, 1.771, 2.018, 2.403, 2.896, 3.489, 4.2, 5.041, 6.015, 7.124");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2263, 0.2533, 0.3476, 0.5235, 0.7946, 1.172, 1.67, 2.295, 3.058, 3.968",\
                 "0.226, 0.2534, 0.3476, 0.5233, 0.7945, 1.172, 1.67, 2.296, 3.059, 3.968",\
                 "0.2315, 0.2566, 0.3467, 0.5231, 0.794, 1.173, 1.67, 2.296, 3.058, 3.968",\
                 "0.3135, 0.34, 0.4236, 0.5651, 0.8036, 1.173, 1.669, 2.295, 3.058, 3.967",\
                 "0.4194, 0.451, 0.5484, 0.713, 0.9378, 1.241, 1.684, 2.296, 3.058, 3.968",\
                 "0.551, 0.5858, 0.7004, 0.8854, 1.14, 1.46, 1.848, 2.369, 3.072, 3.967",\
                 "0.6992, 0.7426, 0.8776, 1.088, 1.369, 1.721, 2.147, 2.635, 3.242, 4.034",\
                 "0.8634, 0.9166, 1.077, 1.319, 1.633, 2.013, 2.473, 3.009, 3.612, 4.318",\
                 "1.045, 1.107, 1.291, 1.571, 1.926, 2.343, 2.834, 3.407, 4.062, 4.788",\
                 "1.246, 1.313, 1.53, 1.85, 2.246, 2.708, 3.236, 3.84, 4.536, 5.315");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3755, 0.4308, 0.6274, 1.002, 1.584, 2.399, 3.469, 4.816, 6.467, 8.427",\
                 "0.3759, 0.4312, 0.6273, 1.001, 1.584, 2.399, 3.47, 4.822, 6.467, 8.43",\
                 "0.3796, 0.4331, 0.6283, 1.003, 1.583, 2.398, 3.471, 4.823, 6.472, 8.428",\
                 "0.4383, 0.4842, 0.6522, 1.005, 1.584, 2.399, 3.466, 4.812, 6.466, 8.42",\
                 "0.534, 0.583, 0.7542, 1.071, 1.6, 2.398, 3.472, 4.818, 6.468, 8.434",\
                 "0.6666, 0.7106, 0.877, 1.206, 1.704, 2.436, 3.47, 4.823, 6.467, 8.421",\
                 "0.8342, 0.878, 1.038, 1.362, 1.877, 2.579, 3.538, 4.829, 6.472, 8.42",\
                 "1.02, 1.069, 1.237, 1.555, 2.067, 2.791, 3.716, 4.924, 6.489, 8.425",\
                 "1.223, 1.281, 1.462, 1.792, 2.295, 3.023, 3.977, 5.142, 6.614, 8.478",\
                 "1.441, 1.502, 1.703, 2.059, 2.573, 3.293, 4.257, 5.448, 6.875, 8.632");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1791, 0.1958, 0.2529, 0.3588, 0.5197, 0.7429, 1.035, 1.402, 1.849, 2.382",\
                 "0.1914, 0.2083, 0.2657, 0.3713, 0.5323, 0.7557, 1.048, 1.415, 1.862, 2.395",\
                 "0.2377, 0.2542, 0.3106, 0.4161, 0.5771, 0.8003, 1.092, 1.459, 1.907, 2.44",\
                 "0.2961, 0.3177, 0.3874, 0.5034, 0.6646, 0.887, 1.178, 1.545, 1.992, 2.525",\
                 "0.3288, 0.3561, 0.4434, 0.5902, 0.7864, 1.025, 1.316, 1.681, 2.127, 2.659",\
                 "0.3299, 0.3634, 0.4709, 0.6491, 0.8847, 1.172, 1.503, 1.877, 2.321, 2.851",\
                 "0.2952, 0.3358, 0.4636, 0.6748, 0.9526, 1.287, 1.672, 2.105, 2.578, 3.108",\
                 "0.225, 0.2705, 0.419, 0.6634, 0.9863, 1.371, 1.81, 2.3, 2.84, 3.422",\
                 "0.1138, 0.1662, 0.3341, 0.6124, 0.9791, 1.417, 1.912, 2.463, 3.065, 3.719",\
                 "-0.0372, 0.0215, 0.209, 0.5198, 0.931, 1.421, 1.977, 2.589, 3.255, 3.976");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3647, 0.406, 0.549, 0.8178, 1.236, 1.82, 2.589, 3.556, 4.737, 6.144",\
                 "0.3706, 0.4129, 0.5591, 0.8306, 1.25, 1.836, 2.604, 3.573, 4.754, 6.162",\
                 "0.4075, 0.4499, 0.5953, 0.8696, 1.292, 1.88, 2.65, 3.62, 4.801, 6.211",\
                 "0.4892, 0.5333, 0.6792, 0.9502, 1.371, 1.958, 2.73, 3.7, 4.883, 6.292",\
                 "0.6125, 0.661, 0.8199, 1.099, 1.513, 2.095, 2.862, 3.831, 5.012, 6.42",\
                 "0.7902, 0.8428, 1.012, 1.311, 1.74, 2.313, 3.072, 4.032, 5.209, 6.614",\
                 "1.016, 1.076, 1.264, 1.58, 2.031, 2.623, 3.371, 4.321, 5.489, 6.883",\
                 "1.285, 1.353, 1.565, 1.907, 2.382, 3.002, 3.769, 4.708, 5.862, 7.248",\
                 "1.594, 1.671, 1.909, 2.289, 2.794, 3.44, 4.241, 5.198, 6.341, 7.711",\
                 "1.944, 2.031, 2.299, 2.719, 3.266, 3.943, 4.774, 5.771, 6.93, 8.288");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2262, 0.2537, 0.3474, 0.5233, 0.7938, 1.172, 1.67, 2.295, 3.057, 3.968",\
                 "0.2257, 0.2537, 0.3479, 0.5235, 0.7945, 1.172, 1.669, 2.295, 3.058, 3.967",\
                 "0.2313, 0.2561, 0.3464, 0.5228, 0.7943, 1.172, 1.67, 2.295, 3.057, 3.968",\
                 "0.313, 0.3391, 0.4227, 0.5646, 0.8032, 1.173, 1.67, 2.295, 3.058, 3.968",\
                 "0.4196, 0.451, 0.55, 0.713, 0.938, 1.239, 1.684, 2.295, 3.058, 3.967",\
                 "0.5518, 0.588, 0.7044, 0.889, 1.143, 1.463, 1.849, 2.369, 3.071, 3.968",\
                 "0.7006, 0.746, 0.8824, 1.095, 1.376, 1.728, 2.151, 2.637, 3.243, 4.037",\
                 "0.8698, 0.9212, 1.083, 1.329, 1.645, 2.026, 2.484, 3.016, 3.615, 4.32",\
                 "1.056, 1.117, 1.3, 1.586, 1.944, 2.362, 2.851, 3.424, 4.071, 4.796",\
                 "1.264, 1.333, 1.543, 1.865, 2.266, 2.733, 3.262, 3.865, 4.555, 5.33");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4923, 0.5626, 0.807, 1.276, 2.001, 3.015, 4.353, 6.033, 8.088, 10.54",\
                 "0.4924, 0.5626, 0.8078, 1.276, 2.001, 3.017, 4.351, 6.031, 8.083, 10.53",\
                 "0.4947, 0.5639, 0.8084, 1.276, 2.001, 3.016, 4.351, 6.036, 8.088, 10.53",\
                 "0.5386, 0.5981, 0.8205, 1.276, 2.002, 3.014, 4.348, 6.033, 8.087, 10.53",\
                 "0.6314, 0.695, 0.9074, 1.316, 2.006, 3.018, 4.352, 6.028, 8.087, 10.54",\
                 "0.7526, 0.8112, 1.024, 1.438, 2.074, 3.029, 4.352, 6.031, 8.078, 10.52",\
                 "0.916, 0.9678, 1.171, 1.583, 2.226, 3.12, 4.377, 6.036, 8.087, 10.52",\
                 "1.105, 1.162, 1.358, 1.755, 2.41, 3.306, 4.494, 6.065, 8.08, 10.52",\
                 "1.317, 1.376, 1.583, 1.973, 2.613, 3.533, 4.709, 6.219, 8.136, 10.54",\
                 "1.548, 1.611, 1.831, 2.237, 2.86, 3.775, 4.985, 6.462, 8.31, 10.6");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1855, 0.2024, 0.2603, 0.3669, 0.529, 0.7527, 1.045, 1.412, 1.859, 2.392",\
                 "0.198, 0.2149, 0.2728, 0.3795, 0.5416, 0.7654, 1.058, 1.424, 1.872, 2.404",\
                 "0.244, 0.2606, 0.3178, 0.4243, 0.5863, 0.8101, 1.102, 1.469, 1.916, 2.449",\
                 "0.3066, 0.3279, 0.3968, 0.5122, 0.674, 0.8967, 1.188, 1.555, 2.002, 2.534",\
                 "0.345, 0.3717, 0.4582, 0.603, 0.7979, 1.035, 1.326, 1.691, 2.137, 2.668",\
                 "0.3537, 0.386, 0.491, 0.6658, 0.8991, 1.184, 1.514, 1.887, 2.33, 2.86",\
                 "0.3277, 0.3659, 0.4893, 0.6958, 0.9705, 1.302, 1.686, 2.115, 2.587, 3.118",\
                 "0.2633, 0.3072, 0.4504, 0.6894, 1.007, 1.388, 1.825, 2.314, 2.852, 3.433",\
                 "0.1605, 0.2098, 0.371, 0.643, 1.004, 1.437, 1.93, 2.478, 3.079, 3.731",\
                 "0.0171, 0.0718, 0.2519, 0.5546, 0.9595, 1.445, 1.997, 2.605, 3.27, 3.99");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4359, 0.4764, 0.6197, 0.889, 1.307, 1.892, 2.661, 3.629, 4.81, 6.217",\
                 "0.4444, 0.4862, 0.6311, 0.9018, 1.321, 1.907, 2.676, 3.644, 4.827, 6.235",\
                 "0.4806, 0.5228, 0.6682, 0.9415, 1.364, 1.951, 2.723, 3.692, 4.874, 6.284",\
                 "0.5648, 0.6068, 0.7504, 1.021, 1.443, 2.03, 2.802, 3.772, 4.955, 6.366",\
                 "0.695, 0.7411, 0.8956, 1.169, 1.584, 2.166, 2.935, 3.902, 5.085, 6.494",\
                 "0.8798, 0.9293, 1.093, 1.386, 1.809, 2.384, 3.144, 4.105, 5.281, 6.686",\
                 "1.117, 1.172, 1.349, 1.658, 2.105, 2.692, 3.441, 4.392, 5.558, 6.956",\
                 "1.399, 1.462, 1.66, 1.991, 2.459, 3.074, 3.839, 4.777, 5.933, 7.32",\
                 "1.725, 1.794, 2.015, 2.379, 2.874, 3.516, 4.314, 5.268, 6.411, 7.782",\
                 "2.091, 2.169, 2.416, 2.818, 3.351, 4.021, 4.85, 5.842, 7, 8.358");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2724, 0.2987, 0.3907, 0.5651, 0.8353, 1.214, 1.711, 2.335, 3.098, 4.008",\
                 "0.2722, 0.2986, 0.3907, 0.5651, 0.8349, 1.214, 1.71, 2.336, 3.099, 4.007",\
                 "0.2775, 0.3015, 0.3897, 0.5649, 0.8348, 1.213, 1.711, 2.336, 3.1, 4.007",\
                 "0.3682, 0.3914, 0.4687, 0.607, 0.8452, 1.214, 1.71, 2.335, 3.099, 4.008",\
                 "0.4897, 0.5174, 0.6066, 0.7624, 0.9804, 1.282, 1.726, 2.336, 3.098, 4.007",\
                 "0.6396, 0.67, 0.7752, 0.9484, 1.194, 1.508, 1.89, 2.409, 3.114, 4.007",\
                 "0.8082, 0.8472, 0.9688, 1.167, 1.435, 1.779, 2.197, 2.679, 3.284, 4.077",\
                 "0.999, 1.043, 1.186, 1.413, 1.712, 2.084, 2.536, 3.062, 3.658, 4.363",\
                 "1.209, 1.26, 1.422, 1.684, 2.022, 2.429, 2.91, 3.476, 4.119, 4.838",\
                 "1.441, 1.5, 1.684, 1.979, 2.359, 2.809, 3.326, 3.922, 4.607, 5.379");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5825, 0.6536, 0.8995, 1.368, 2.094, 3.109, 4.443, 6.124, 8.176, 10.62",\
                 "0.5828, 0.6538, 0.9002, 1.368, 2.094, 3.11, 4.445, 6.125, 8.174, 10.62",\
                 "0.584, 0.6542, 0.8996, 1.368, 2.094, 3.11, 4.444, 6.126, 8.175, 10.62",\
                 "0.6115, 0.6751, 0.9055, 1.368, 2.094, 3.11, 4.444, 6.124, 8.176, 10.62",\
                 "0.705, 0.768, 0.98, 1.398, 2.097, 3.11, 4.445, 6.125, 8.177, 10.62",\
                 "0.8158, 0.8778, 1.099, 1.512, 2.155, 3.118, 4.445, 6.125, 8.176, 10.62",\
                 "0.9666, 1.026, 1.237, 1.662, 2.303, 3.204, 4.464, 6.126, 8.177, 10.62",\
                 "1.155, 1.214, 1.419, 1.83, 2.486, 3.385, 4.577, 6.158, 8.179, 10.62",\
                 "1.368, 1.429, 1.642, 2.041, 2.691, 3.611, 4.789, 6.299, 8.227, 10.63",\
                 "1.601, 1.665, 1.892, 2.302, 2.934, 3.854, 5.062, 6.545, 8.394, 10.7");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.149, 0.1666, 0.2256, 0.3331, 0.4953, 0.7194, 1.012, 1.38, 1.827, 2.36",\
                 "0.1608, 0.1783, 0.2373, 0.3447, 0.5071, 0.7312, 1.024, 1.391, 1.839, 2.372",\
                 "0.2072, 0.2246, 0.2819, 0.3883, 0.5504, 0.7744, 1.067, 1.434, 1.882, 2.415",\
                 "0.2553, 0.2785, 0.353, 0.4741, 0.6377, 0.8605, 1.153, 1.519, 1.967, 2.499",\
                 "0.2783, 0.3086, 0.4026, 0.5547, 0.756, 0.9985, 1.29, 1.656, 2.101, 2.633",\
                 "0.2729, 0.3092, 0.4232, 0.6085, 0.8506, 1.141, 1.476, 1.851, 2.296, 2.825",\
                 "0.2357, 0.2785, 0.4139, 0.6321, 0.917, 1.255, 1.643, 2.078, 2.552, 3.084",\
                 "0.1658, 0.2148, 0.3702, 0.6214, 0.9503, 1.339, 1.78, 2.272, 2.813, 3.398",\
                 "0.0635, 0.1179, 0.2923, 0.5763, 0.9475, 1.389, 1.886, 2.436, 3.04, 3.694",\
                 "-0.0753, -0.0148, 0.1786, 0.4937, 0.9082, 1.4, 1.956, 2.567, 3.232, 3.953");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3554, 0.3962, 0.5379, 0.8045, 1.217, 1.795, 2.557, 3.516, 4.686, 6.082",\
                 "0.363, 0.405, 0.5488, 0.8178, 1.232, 1.812, 2.574, 3.533, 4.703, 6.098",\
                 "0.4006, 0.4418, 0.5862, 0.8575, 1.275, 1.856, 2.62, 3.58, 4.751, 6.148",\
                 "0.4718, 0.5153, 0.6604, 0.9288, 1.344, 1.926, 2.69, 3.651, 4.823, 6.219",\
                 "0.5757, 0.6221, 0.777, 1.054, 1.464, 2.04, 2.801, 3.759, 4.929, 6.324",\
                 "0.7288, 0.7794, 0.9418, 1.231, 1.655, 2.223, 2.974, 3.926, 5.09, 6.481",\
                 "0.923, 0.9801, 1.16, 1.462, 1.9, 2.486, 3.228, 4.167, 5.323, 6.705",\
                 "1.154, 1.219, 1.422, 1.751, 2.204, 2.806, 3.567, 4.497, 5.638, 7.01",\
                 "1.419, 1.494, 1.723, 2.085, 2.568, 3.187, 3.968, 4.917, 6.049, 7.405",\
                 "1.72, 1.803, 2.059, 2.462, 2.985, 3.631, 4.43, 5.404, 6.555, 7.9");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.207, 0.2346, 0.3286, 0.5026, 0.7727, 1.151, 1.648, 2.272, 3.036, 3.944",\
                 "0.2055, 0.2332, 0.3275, 0.5033, 0.773, 1.151, 1.647, 2.273, 3.036, 3.944",\
                 "0.2185, 0.2414, 0.3266, 0.5015, 0.7731, 1.151, 1.647, 2.273, 3.035, 3.945",\
                 "0.3038, 0.3302, 0.4131, 0.553, 0.7852, 1.151, 1.646, 2.272, 3.035, 3.945",\
                 "0.4154, 0.4455, 0.5416, 0.703, 0.928, 1.225, 1.665, 2.273, 3.035, 3.945",\
                 "0.5518, 0.5888, 0.7022, 0.8824, 1.133, 1.451, 1.836, 2.353, 3.05, 3.944",\
                 "0.7092, 0.7528, 0.8856, 1.094, 1.37, 1.719, 2.138, 2.625, 3.23, 4.018",\
                 "0.8856, 0.9388, 1.095, 1.335, 1.642, 2.016, 2.471, 3.001, 3.603, 4.306",\
                 "1.086, 1.152, 1.328, 1.603, 1.949, 2.357, 2.84, 3.408, 4.057, 4.782",\
                 "1.31, 1.378, 1.584, 1.896, 2.284, 2.736, 3.252, 3.85, 4.538, 5.313");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3999, 0.4693, 0.7121, 1.179, 1.905, 2.92, 4.252, 5.933, 7.993, 10.45",\
                 "0.4002, 0.4689, 0.7136, 1.18, 1.905, 2.919, 4.257, 5.938, 7.987, 10.43",\
                 "0.403, 0.4714, 0.7125, 1.18, 1.905, 2.915, 4.248, 5.93, 7.991, 10.44",\
                 "0.4472, 0.5079, 0.7284, 1.181, 1.904, 2.918, 4.257, 5.939, 7.976, 10.42",\
                 "0.5164, 0.5798, 0.807, 1.223, 1.908, 2.921, 4.256, 5.935, 7.994, 10.44",\
                 "0.6266, 0.6844, 0.9006, 1.328, 1.979, 2.938, 4.255, 5.932, 7.993, 10.44",\
                 "0.7784, 0.8352, 1.04, 1.45, 2.111, 3.027, 4.287, 5.936, 7.993, 10.44",\
                 "0.9512, 1.013, 1.223, 1.616, 2.265, 3.191, 4.399, 5.98, 7.989, 10.44",\
                 "1.142, 1.209, 1.435, 1.835, 2.46, 3.384, 4.592, 6.122, 8.068, 10.46",\
                 "1.345, 1.423, 1.667, 2.096, 2.711, 3.602, 4.821, 6.344, 8.224, 10.53");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1492, 0.1668, 0.2258, 0.3333, 0.4955, 0.7196, 1.012, 1.38, 1.828, 2.361",\
                 "0.1615, 0.1789, 0.2381, 0.3455, 0.5078, 0.7319, 1.025, 1.392, 1.84, 2.373",\
                 "0.2085, 0.2259, 0.2833, 0.3898, 0.5518, 0.7759, 1.069, 1.436, 1.883, 2.416",\
                 "0.2565, 0.2801, 0.3543, 0.4755, 0.639, 0.862, 1.154, 1.521, 1.968, 2.501",\
                 "0.2764, 0.3063, 0.4011, 0.5543, 0.7565, 0.9992, 1.291, 1.657, 2.102, 2.635",\
                 "0.2623, 0.2992, 0.4159, 0.6037, 0.8467, 1.14, 1.475, 1.852, 2.296, 2.826",\
                 "0.2112, 0.2552, 0.3937, 0.6169, 0.9057, 1.248, 1.639, 2.075, 2.551, 3.083",\
                 "0.1217, 0.1721, 0.3323, 0.591, 0.9273, 1.323, 1.768, 2.264, 2.808, 3.394",\
                 "-0.0076, 0.0494, 0.2296, 0.5234, 0.9064, 1.356, 1.862, 2.419, 3.027, 3.685",\
                 "-0.1802, -0.1163, 0.0855, 0.4129, 0.842, 1.347, 1.914, 2.535, 3.209, 3.935");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4221, 0.4714, 0.6414, 0.9606, 1.455, 2.149, 3.06, 4.209, 5.61, 7.281",\
                 "0.4271, 0.4773, 0.6504, 0.9725, 1.469, 2.164, 3.077, 4.226, 5.628, 7.299",\
                 "0.4593, 0.5094, 0.6829, 1.008, 1.508, 2.205, 3.12, 4.27, 5.673, 7.345",\
                 "0.5304, 0.5814, 0.7531, 1.075, 1.573, 2.271, 3.185, 4.337, 5.741, 7.413",\
                 "0.6402, 0.6939, 0.875, 1.198, 1.69, 2.381, 3.291, 4.44, 5.842, 7.515",\
                 "0.8108, 0.8664, 1.052, 1.388, 1.882, 2.562, 3.463, 4.605, 6.001, 7.668",\
                 "1.034, 1.097, 1.295, 1.64, 2.149, 2.832, 3.719, 4.846, 6.232, 7.889",\
                 "1.302, 1.373, 1.594, 1.959, 2.479, 3.18, 4.069, 5.18, 6.551, 8.197",\
                 "1.613, 1.693, 1.94, 2.338, 2.878, 3.594, 4.503, 5.613, 6.965, 8.594",\
                 "1.966, 2.056, 2.332, 2.768, 3.346, 4.079, 5.006, 6.139, 7.487, 9.096");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2068, 0.2351, 0.3278, 0.5026, 0.7725, 1.151, 1.648, 2.273, 3.034, 3.944",\
                 "0.2058, 0.2333, 0.3282, 0.503, 0.7729, 1.151, 1.647, 2.273, 3.034, 3.944",\
                 "0.2179, 0.2407, 0.3264, 0.5017, 0.7732, 1.151, 1.646, 2.273, 3.035, 3.945",\
                 "0.3035, 0.3291, 0.4117, 0.5522, 0.7838, 1.151, 1.649, 2.273, 3.034, 3.944",\
                 "0.4136, 0.4446, 0.5414, 0.7032, 0.9268, 1.225, 1.664, 2.273, 3.034, 3.944",\
                 "0.5498, 0.587, 0.7008, 0.884, 1.135, 1.452, 1.836, 2.353, 3.05, 3.945",\
                 "0.706, 0.75, 0.8852, 1.097, 1.373, 1.722, 2.141, 2.627, 3.231, 4.019",\
                 "0.8832, 0.9358, 1.095, 1.34, 1.649, 2.025, 2.479, 3.007, 3.607, 4.307",\
                 "1.084, 1.151, 1.328, 1.607, 1.957, 2.372, 2.854, 3.42, 4.065, 4.789",\
                 "1.308, 1.382, 1.586, 1.902, 2.3, 2.754, 3.273, 3.871, 4.556, 5.327");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4968, 0.5798, 0.8717, 1.43, 2.297, 3.512, 5.104, 7.115, 9.561, 12.5",\
                 "0.4968, 0.5802, 0.872, 1.43, 2.295, 3.512, 5.106, 7.11, 9.56, 12.5",\
                 "0.4993, 0.5815, 0.8725, 1.431, 2.297, 3.513, 5.111, 7.115, 9.579, 12.5",\
                 "0.5356, 0.6092, 0.8825, 1.431, 2.298, 3.512, 5.112, 7.115, 9.567, 12.49",\
                 "0.6038, 0.684, 0.9516, 1.459, 2.302, 3.513, 5.102, 7.12, 9.561, 12.49",\
                 "0.6984, 0.7726, 1.039, 1.553, 2.343, 3.514, 5.108, 7.117, 9.557, 12.48",\
                 "0.845, 0.9132, 1.16, 1.669, 2.459, 3.58, 5.118, 7.112, 9.57, 12.5",\
                 "1.023, 1.09, 1.33, 1.812, 2.605, 3.712, 5.195, 7.133, 9.56, 12.49",\
                 "1.218, 1.291, 1.541, 2.005, 2.771, 3.891, 5.345, 7.229, 9.593, 12.5",\
                 "1.434, 1.512, 1.781, 2.252, 2.992, 4.09, 5.559, 7.393, 9.706, 12.53");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1553, 0.173, 0.2326, 0.3412, 0.5046, 0.7294, 1.022, 1.39, 1.837, 2.37",\
                 "0.1676, 0.1852, 0.2449, 0.3534, 0.5169, 0.7416, 1.034, 1.402, 1.849, 2.382",\
                 "0.215, 0.2321, 0.2899, 0.3977, 0.5609, 0.7856, 1.078, 1.446, 1.893, 2.426",\
                 "0.2678, 0.2907, 0.3641, 0.4846, 0.6482, 0.8718, 1.164, 1.531, 1.978, 2.511",\
                 "0.2946, 0.3236, 0.4162, 0.5675, 0.7679, 1.009, 1.301, 1.666, 2.113, 2.644",\
                 "0.2893, 0.3245, 0.4372, 0.6206, 0.8617, 1.152, 1.486, 1.862, 2.306, 2.836",\
                 "0.2471, 0.2889, 0.4217, 0.6392, 0.9236, 1.263, 1.652, 2.086, 2.561, 3.093",\
                 "0.1663, 0.2136, 0.3666, 0.6186, 0.9487, 1.34, 1.784, 2.278, 2.82, 3.405",\
                 "0.0457, 0.0987, 0.2701, 0.556, 0.9316, 1.377, 1.88, 2.434, 3.041, 3.697",\
                 "-0.1175, -0.0589, 0.1325, 0.4498, 0.8713, 1.371, 1.934, 2.553, 3.224, 3.949");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5071, 0.5564, 0.7255, 1.044, 1.539, 2.233, 3.145, 4.294, 5.696, 7.368",\
                 "0.5147, 0.5639, 0.7355, 1.057, 1.554, 2.249, 3.161, 4.312, 5.713, 7.385",\
                 "0.5467, 0.5962, 0.7688, 1.093, 1.593, 2.29, 3.205, 4.355, 5.759, 7.432",\
                 "0.6182, 0.6674, 0.8377, 1.159, 1.658, 2.356, 3.271, 4.423, 5.827, 7.5",\
                 "0.733, 0.7846, 0.9623, 1.282, 1.773, 2.465, 3.378, 4.527, 5.929, 7.602",\
                 "0.9066, 0.9598, 1.142, 1.474, 1.965, 2.646, 3.547, 4.69, 6.086, 7.754",\
                 "1.14, 1.198, 1.388, 1.728, 2.234, 2.914, 3.802, 4.931, 6.316, 7.974",\
                 "1.421, 1.487, 1.694, 2.049, 2.566, 3.264, 4.15, 5.264, 6.634, 8.282",\
                 "1.748, 1.82, 2.051, 2.433, 2.966, 3.678, 4.586, 5.695, 7.048, 8.678",\
                 "2.118, 2.199, 2.453, 2.872, 3.437, 4.165, 5.09, 6.222, 7.57, 9.179");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2547, 0.2807, 0.3719, 0.545, 0.814, 1.192, 1.689, 2.313, 3.075, 3.985",\
                 "0.2534, 0.2798, 0.3714, 0.5449, 0.8142, 1.192, 1.688, 2.313, 3.075, 3.986",\
                 "0.2647, 0.2867, 0.3704, 0.5434, 0.8147, 1.192, 1.688, 2.313, 3.075, 3.986",\
                 "0.3619, 0.385, 0.4602, 0.5947, 0.8271, 1.192, 1.688, 2.315, 3.075, 3.984",\
                 "0.4896, 0.5153, 0.6016, 0.7536, 0.9704, 1.267, 1.706, 2.313, 3.075, 3.986",\
                 "0.6452, 0.6766, 0.7758, 0.9452, 1.186, 1.497, 1.877, 2.393, 3.093, 3.986",\
                 "0.8228, 0.8594, 0.9768, 1.172, 1.434, 1.774, 2.187, 2.669, 3.271, 4.06",\
                 "1.025, 1.069, 1.205, 1.427, 1.721, 2.085, 2.531, 3.054, 3.648, 4.348",\
                 "1.25, 1.3, 1.457, 1.712, 2.039, 2.438, 2.912, 3.472, 4.113, 4.83",\
                 "1.505, 1.559, 1.737, 2.022, 2.395, 2.833, 3.338, 3.929, 4.608, 5.374");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6042, 0.6887, 0.9823, 1.541, 2.407, 3.621, 5.216, 7.224, 9.674, 12.6",\
                 "0.6048, 0.6876, 0.9825, 1.54, 2.408, 3.621, 5.216, 7.227, 9.675, 12.6",\
                 "0.6056, 0.6888, 0.9822, 1.54, 2.408, 3.622, 5.216, 7.222, 9.677, 12.6",\
                 "0.6269, 0.7044, 0.9864, 1.541, 2.408, 3.621, 5.216, 7.224, 9.673, 12.59",\
                 "0.7, 0.7794, 1.044, 1.561, 2.409, 3.623, 5.217, 7.226, 9.676, 12.6",\
                 "0.7842, 0.8624, 1.137, 1.649, 2.447, 3.625, 5.217, 7.225, 9.677, 12.6",\
                 "0.9158, 0.9868, 1.248, 1.766, 2.557, 3.68, 5.224, 7.226, 9.677, 12.6",\
                 "1.088, 1.16, 1.406, 1.901, 2.702, 3.811, 5.295, 7.239, 9.678, 12.6",\
                 "1.286, 1.361, 1.614, 2.088, 2.868, 3.991, 5.447, 7.326, 9.697, 12.6",\
                 "1.502, 1.586, 1.852, 2.331, 3.08, 4.186, 5.661, 7.496, 9.8, 12.63");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1551, 0.1729, 0.2324, 0.341, 0.5045, 0.7294, 1.022, 1.39, 1.837, 2.37",\
                 "0.167, 0.1845, 0.2442, 0.3527, 0.5163, 0.7411, 1.034, 1.401, 1.849, 2.382",\
                 "0.2136, 0.2307, 0.2885, 0.3962, 0.5596, 0.7843, 1.077, 1.444, 1.892, 2.425",\
                 "0.2666, 0.2896, 0.3628, 0.4833, 0.6469, 0.8704, 1.163, 1.529, 1.976, 2.509",\
                 "0.2969, 0.3256, 0.4176, 0.5681, 0.7677, 1.009, 1.3, 1.665, 2.111, 2.643",\
                 "0.3002, 0.3349, 0.4451, 0.6267, 0.8655, 1.154, 1.487, 1.862, 2.305, 2.835",\
                 "0.2724, 0.3126, 0.4421, 0.6551, 0.935, 1.27, 1.656, 2.089, 2.563, 3.094",\
                 "0.2114, 0.2569, 0.4052, 0.6497, 0.9721, 1.357, 1.796, 2.287, 2.825, 3.409",\
                 "0.1171, 0.168, 0.3328, 0.6094, 0.9742, 1.41, 1.903, 2.452, 3.053, 3.706",\
                 "-0.0121, 0.0441, 0.2261, 0.5308, 0.9385, 1.424, 1.976, 2.584, 3.248, 3.967");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4268, 0.4675, 0.6089, 0.8752, 1.289, 1.868, 2.629, 3.589, 4.759, 6.156",\
                 "0.4364, 0.4776, 0.6208, 0.8893, 1.304, 1.884, 2.646, 3.606, 4.777, 6.173",\
                 "0.474, 0.5153, 0.659, 0.9301, 1.347, 1.929, 2.693, 3.654, 4.825, 6.221",\
                 "0.548, 0.5897, 0.7321, 1, 1.416, 1.998, 2.762, 3.723, 4.901, 6.293",\
                 "0.6568, 0.7011, 0.8526, 1.125, 1.535, 2.112, 2.873, 3.831, 5.002, 6.401",\
                 "0.8154, 0.8628, 1.02, 1.305, 1.725, 2.293, 3.046, 3.998, 5.164, 6.554",\
                 "1.022, 1.074, 1.244, 1.539, 1.974, 2.557, 3.298, 4.238, 5.394, 6.779",\
                 "1.265, 1.325, 1.515, 1.831, 2.279, 2.879, 3.638, 4.567, 5.71, 7.082",\
                 "1.546, 1.613, 1.825, 2.173, 2.647, 3.261, 4.04, 4.988, 6.119, 7.477",\
                 "1.862, 1.937, 2.173, 2.557, 3.067, 3.707, 4.503, 5.476, 6.625, 7.971");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2557, 0.2816, 0.3727, 0.5459, 0.815, 1.193, 1.689, 2.316, 3.077, 3.987",\
                 "0.2544, 0.2809, 0.3722, 0.5455, 0.8152, 1.193, 1.69, 2.315, 3.076, 3.987",\
                 "0.2662, 0.2884, 0.3715, 0.5444, 0.8151, 1.193, 1.688, 2.315, 3.079, 3.985",\
                 "0.3646, 0.3868, 0.4621, 0.5963, 0.8277, 1.193, 1.69, 2.313, 3.077, 3.986",\
                 "0.4926, 0.5188, 0.6036, 0.7548, 0.9718, 1.268, 1.707, 2.315, 3.078, 3.985",\
                 "0.6492, 0.6792, 0.7768, 0.9452, 1.185, 1.497, 1.879, 2.393, 3.092, 3.986",\
                 "0.8288, 0.864, 0.9782, 1.168, 1.431, 1.769, 2.185, 2.667, 3.272, 4.06",\
                 "1.03, 1.072, 1.207, 1.423, 1.714, 2.078, 2.525, 3.05, 3.646, 4.348",\
                 "1.255, 1.304, 1.459, 1.707, 2.031, 2.425, 2.9, 3.46, 4.105, 4.825",\
                 "1.505, 1.562, 1.736, 2.018, 2.38, 2.814, 3.322, 3.909, 4.593, 5.362");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4906, 0.5607, 0.8065, 1.273, 1.997, 3.012, 4.346, 6.025, 8.081, 10.53",\
                 "0.4907, 0.5607, 0.806, 1.273, 1.997, 3.013, 4.346, 6.026, 8.08, 10.53",\
                 "0.4927, 0.5619, 0.8065, 1.273, 1.997, 3.012, 4.346, 6.025, 8.08, 10.53",\
                 "0.5219, 0.5851, 0.8137, 1.273, 1.997, 3.012, 4.347, 6.028, 8.082, 10.52",\
                 "0.5958, 0.6616, 0.8848, 1.306, 2.001, 3.012, 4.349, 6.027, 8.078, 10.53",\
                 "0.691, 0.754, 0.979, 1.409, 2.063, 3.025, 4.346, 6.029, 8.08, 10.53",\
                 "0.8372, 0.8972, 1.107, 1.529, 2.194, 3.113, 4.374, 6.029, 8.079, 10.53",\
                 "1.01, 1.073, 1.287, 1.689, 2.346, 3.274, 4.486, 6.074, 8.083, 10.52",\
                 "1.203, 1.272, 1.5, 1.901, 2.536, 3.464, 4.677, 6.21, 8.147, 10.53",\
                 "1.414, 1.489, 1.738, 2.16, 2.779, 3.682, 4.904, 6.431, 8.31, 10.62");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1553, 0.173, 0.2327, 0.3412, 0.5047, 0.7296, 1.022, 1.39, 1.837, 2.37",\
                 "0.1677, 0.1853, 0.2449, 0.3534, 0.517, 0.7418, 1.035, 1.402, 1.849, 2.382",\
                 "0.215, 0.232, 0.2899, 0.3977, 0.561, 0.7858, 1.078, 1.446, 1.893, 2.426",\
                 "0.2677, 0.2907, 0.3642, 0.4846, 0.6482, 0.872, 1.164, 1.531, 1.978, 2.511",\
                 "0.2945, 0.3238, 0.4163, 0.5675, 0.7681, 1.01, 1.301, 1.667, 2.113, 2.644",\
                 "0.2898, 0.3249, 0.4376, 0.6214, 0.8624, 1.153, 1.486, 1.862, 2.306, 2.836",\
                 "0.2477, 0.2894, 0.4222, 0.6397, 0.9241, 1.263, 1.652, 2.087, 2.561, 3.093",\
                 "0.1672, 0.2146, 0.3672, 0.6192, 0.9491, 1.34, 1.784, 2.279, 2.82, 3.405",\
                 "0.0469, 0.0998, 0.2711, 0.5567, 0.9322, 1.378, 1.88, 2.435, 3.041, 3.697",\
                 "-0.1162, -0.0573, 0.1336, 0.4505, 0.8718, 1.371, 1.935, 2.553, 3.225, 3.949");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5091, 0.5575, 0.727, 1.046, 1.541, 2.235, 3.147, 4.296, 5.698, 7.369",\
                 "0.5158, 0.566, 0.7372, 1.058, 1.556, 2.251, 3.163, 4.314, 5.716, 7.387",\
                 "0.5483, 0.5979, 0.7705, 1.094, 1.595, 2.292, 3.206, 4.356, 5.761, 7.433",\
                 "0.6198, 0.669, 0.8391, 1.161, 1.659, 2.357, 3.273, 4.425, 5.83, 7.501",\
                 "0.7346, 0.7869, 0.9635, 1.283, 1.775, 2.467, 3.379, 4.528, 5.93, 7.602",\
                 "0.9083, 0.9613, 1.143, 1.476, 1.966, 2.648, 3.549, 4.691, 6.088, 7.755",\
                 "1.142, 1.2, 1.389, 1.728, 2.235, 2.916, 3.803, 4.933, 6.318, 7.976",\
                 "1.424, 1.489, 1.696, 2.05, 2.567, 3.265, 4.152, 5.264, 6.636, 8.283",\
                 "1.75, 1.822, 2.052, 2.435, 2.967, 3.68, 4.587, 5.696, 7.05, 8.679",\
                 "2.12, 2.201, 2.456, 2.873, 3.438, 4.166, 5.091, 6.223, 7.57, 9.18");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2557, 0.2819, 0.3726, 0.5457, 0.8158, 1.193, 1.688, 2.313, 3.076, 3.986",\
                 "0.2545, 0.2807, 0.3724, 0.5458, 0.8153, 1.193, 1.69, 2.314, 3.077, 3.985",\
                 "0.2658, 0.2878, 0.3713, 0.5447, 0.8147, 1.193, 1.689, 2.314, 3.077, 3.986",\
                 "0.3635, 0.3862, 0.4614, 0.5956, 0.8269, 1.193, 1.69, 2.314, 3.077, 3.987",\
                 "0.4918, 0.5172, 0.6034, 0.7548, 0.9716, 1.268, 1.705, 2.315, 3.077, 3.985",\
                 "0.6478, 0.6782, 0.7774, 0.9466, 1.187, 1.497, 1.878, 2.395, 3.094, 3.987",\
                 "0.8256, 0.8618, 0.9788, 1.174, 1.435, 1.776, 2.188, 2.67, 3.273, 4.06",\
                 "1.028, 1.072, 1.207, 1.427, 1.722, 2.086, 2.532, 3.055, 3.649, 4.349",\
                 "1.254, 1.303, 1.46, 1.715, 2.042, 2.44, 2.915, 3.473, 4.114, 4.832",\
                 "1.511, 1.563, 1.74, 2.025, 2.395, 2.833, 3.341, 3.929, 4.61, 5.375");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6064, 0.6897, 0.9843, 1.542, 2.409, 3.623, 5.218, 7.227, 9.677, 12.6",\
                 "0.6063, 0.6908, 0.9845, 1.542, 2.41, 3.623, 5.218, 7.229, 9.681, 12.6",\
                 "0.6078, 0.6907, 0.9841, 1.543, 2.41, 3.624, 5.218, 7.225, 9.679, 12.6",\
                 "0.6285, 0.7059, 0.9882, 1.543, 2.41, 3.624, 5.218, 7.227, 9.679, 12.6",\
                 "0.7016, 0.7812, 1.046, 1.563, 2.41, 3.624, 5.219, 7.228, 9.678, 12.6",\
                 "0.7852, 0.8624, 1.138, 1.65, 2.448, 3.627, 5.219, 7.228, 9.678, 12.6",\
                 "0.9166, 0.9884, 1.249, 1.765, 2.559, 3.682, 5.226, 7.228, 9.679, 12.6",\
                 "1.09, 1.161, 1.408, 1.902, 2.706, 3.814, 5.298, 7.241, 9.681, 12.6",\
                 "1.288, 1.363, 1.615, 2.092, 2.87, 3.992, 5.449, 7.326, 9.699, 12.6",\
                 "1.505, 1.585, 1.853, 2.331, 3.081, 4.188, 5.662, 7.501, 9.8, 12.63");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1626, 0.1804, 0.2406, 0.3501, 0.5145, 0.7395, 1.032, 1.4, 1.847, 2.38",\
                 "0.1749, 0.1927, 0.2529, 0.3624, 0.5267, 0.7518, 1.045, 1.412, 1.859, 2.392",\
                 "0.2224, 0.2393, 0.2978, 0.4066, 0.5708, 0.7958, 1.088, 1.456, 1.903, 2.436",\
                 "0.2813, 0.3035, 0.3754, 0.4945, 0.6581, 0.8819, 1.174, 1.541, 1.988, 2.521",\
                 "0.3161, 0.3437, 0.4331, 0.5815, 0.7799, 1.019, 1.311, 1.677, 2.123, 2.654",\
                 "0.3182, 0.3514, 0.4596, 0.6384, 0.877, 1.165, 1.497, 1.872, 2.316, 2.846",\
                 "0.2826, 0.3218, 0.4494, 0.6614, 0.9421, 1.278, 1.665, 2.098, 2.571, 3.103",\
                 "0.2082, 0.2532, 0.3999, 0.6452, 0.9701, 1.358, 1.799, 2.292, 2.832, 3.416",\
                 "0.0952, 0.1454, 0.3098, 0.5875, 0.9568, 1.398, 1.897, 2.45, 3.054, 3.709",\
                 "-0.0593, -0.0036, 0.1787, 0.4866, 0.9005, 1.394, 1.955, 2.57, 3.239, 3.963");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5935, 0.6423, 0.8111, 1.13, 1.625, 2.32, 3.232, 4.382, 5.784, 7.456",\
                 "0.6023, 0.6516, 0.8216, 1.144, 1.64, 2.335, 3.248, 4.398, 5.801, 7.473",\
                 "0.6352, 0.6845, 0.8562, 1.18, 1.68, 2.377, 3.292, 4.443, 5.847, 7.52",\
                 "0.7058, 0.7547, 0.924, 1.246, 1.745, 2.442, 3.358, 4.51, 5.915, 7.588",\
                 "0.8247, 0.876, 1.049, 1.367, 1.859, 2.551, 3.464, 4.613, 6.017, 7.689",\
                 "1, 1.052, 1.232, 1.56, 2.049, 2.732, 3.634, 4.776, 6.174, 7.841",\
                 "1.24, 1.295, 1.48, 1.815, 2.319, 2.997, 3.886, 5.016, 6.402, 8.062",\
                 "1.533, 1.594, 1.792, 2.138, 2.653, 3.348, 4.234, 5.348, 6.72, 8.367",\
                 "1.873, 1.939, 2.157, 2.527, 3.055, 3.766, 4.669, 5.778, 7.134, 8.764",\
                 "2.257, 2.331, 2.57, 2.973, 3.528, 4.253, 5.175, 6.305, 7.653, 9.265");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.302, 0.3276, 0.417, 0.5888, 0.8576, 1.234, 1.73, 2.355, 3.117, 4.028",\
                 "0.301, 0.3267, 0.4167, 0.5886, 0.8577, 1.234, 1.732, 2.355, 3.118, 4.026",\
                 "0.3115, 0.333, 0.4155, 0.5878, 0.8577, 1.234, 1.731, 2.355, 3.119, 4.028",\
                 "0.4194, 0.439, 0.508, 0.6383, 0.8695, 1.234, 1.732, 2.355, 3.119, 4.028",\
                 "0.5636, 0.584, 0.6618, 0.8046, 1.014, 1.309, 1.748, 2.358, 3.118, 4.028",\
                 "0.7364, 0.7618, 0.8496, 1.007, 1.239, 1.543, 1.919, 2.435, 3.134, 4.027",\
                 "0.9344, 0.966, 1.067, 1.246, 1.496, 1.829, 2.233, 2.711, 3.312, 4.101",\
                 "1.159, 1.195, 1.312, 1.513, 1.793, 2.147, 2.584, 3.101, 3.693, 4.392",\
                 "1.412, 1.449, 1.585, 1.813, 2.123, 2.51, 2.973, 3.525, 4.161, 4.875",\
                 "1.683, 1.734, 1.883, 2.142, 2.489, 2.911, 3.406, 3.989, 4.662, 5.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7141, 0.7998, 1.095, 1.654, 2.522, 3.737, 5.333, 7.343, 9.794, 12.72",\
                 "0.714, 0.7986, 1.095, 1.655, 2.523, 3.737, 5.333, 7.341, 9.794, 12.72",\
                 "0.7151, 0.7989, 1.095, 1.654, 2.523, 3.737, 5.333, 7.342, 9.795, 12.72",\
                 "0.7254, 0.807, 1.096, 1.654, 2.523, 3.737, 5.333, 7.345, 9.793, 12.72",\
                 "0.7978, 0.874, 1.141, 1.667, 2.522, 3.737, 5.333, 7.344, 9.795, 12.72",\
                 "0.8778, 0.958, 1.236, 1.746, 2.553, 3.739, 5.335, 7.344, 9.795, 12.72",\
                 "0.9964, 1.071, 1.342, 1.865, 2.657, 3.787, 5.338, 7.344, 9.796, 12.72",\
                 "1.161, 1.234, 1.491, 2, 2.805, 3.914, 5.405, 7.354, 9.796, 12.72",\
                 "1.361, 1.437, 1.692, 2.175, 2.969, 4.093, 5.551, 7.436, 9.814, 12.72",\
                 "1.581, 1.662, 1.929, 2.411, 3.173, 4.292, 5.763, 7.603, 9.912, 12.74");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1789, 0.1957, 0.2526, 0.3584, 0.5194, 0.7428, 1.035, 1.402, 1.849, 2.382",\
                 "0.1909, 0.2076, 0.2649, 0.3707, 0.5317, 0.755, 1.047, 1.414, 1.862, 2.394",\
                 "0.2363, 0.2528, 0.3094, 0.4148, 0.5755, 0.7988, 1.091, 1.458, 1.905, 2.438",\
                 "0.2948, 0.3166, 0.386, 0.5021, 0.6633, 0.8853, 1.177, 1.543, 1.99, 2.523",\
                 "0.3314, 0.3582, 0.4452, 0.5908, 0.7863, 1.024, 1.315, 1.68, 2.125, 2.657",\
                 "0.3415, 0.3737, 0.48, 0.655, 0.8886, 1.174, 1.504, 1.877, 2.321, 2.85",\
                 "0.3217, 0.3598, 0.4848, 0.6912, 0.9647, 1.295, 1.678, 2.107, 2.579, 3.109",\
                 "0.2714, 0.3158, 0.4594, 0.6958, 1.011, 1.389, 1.823, 2.31, 2.847, 3.427",\
                 "0.187, 0.2385, 0.3994, 0.6693, 1.025, 1.452, 1.939, 2.481, 3.08, 3.73",\
                 "0.0724, 0.1265, 0.3066, 0.605, 1.004, 1.48, 2.023, 2.624, 3.282, 3.997");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5935, 0.6423, 0.8111, 1.13, 1.625, 2.32, 3.232, 4.382, 5.784, 7.456",\
                 "0.6023, 0.6516, 0.8216, 1.144, 1.64, 2.335, 3.248, 4.398, 5.801, 7.473",\
                 "0.6352, 0.6845, 0.8562, 1.18, 1.68, 2.377, 3.292, 4.443, 5.847, 7.52",\
                 "0.7058, 0.7547, 0.924, 1.246, 1.745, 2.442, 3.358, 4.51, 5.915, 7.588",\
                 "0.8247, 0.876, 1.049, 1.367, 1.859, 2.551, 3.464, 4.613, 6.017, 7.689",\
                 "1, 1.052, 1.232, 1.56, 2.049, 2.732, 3.634, 4.776, 6.174, 7.841",\
                 "1.24, 1.295, 1.48, 1.815, 2.319, 2.997, 3.886, 5.016, 6.402, 8.062",\
                 "1.533, 1.594, 1.792, 2.138, 2.653, 3.348, 4.234, 5.348, 6.72, 8.367",\
                 "1.873, 1.939, 2.157, 2.527, 3.055, 3.766, 4.669, 5.778, 7.134, 8.764",\
                 "2.257, 2.331, 2.57, 2.973, 3.528, 4.253, 5.175, 6.305, 7.653, 9.265");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.302, 0.3276, 0.417, 0.5888, 0.8576, 1.234, 1.73, 2.355, 3.117, 4.028",\
                 "0.301, 0.3267, 0.4167, 0.5886, 0.8577, 1.234, 1.732, 2.355, 3.118, 4.026",\
                 "0.3115, 0.333, 0.4155, 0.5878, 0.8577, 1.234, 1.731, 2.355, 3.119, 4.028",\
                 "0.4194, 0.439, 0.508, 0.6383, 0.8695, 1.234, 1.732, 2.355, 3.119, 4.028",\
                 "0.5636, 0.584, 0.6618, 0.8046, 1.014, 1.309, 1.748, 2.358, 3.118, 4.028",\
                 "0.7364, 0.7618, 0.8496, 1.007, 1.239, 1.543, 1.919, 2.435, 3.134, 4.027",\
                 "0.9344, 0.966, 1.067, 1.246, 1.496, 1.829, 2.233, 2.711, 3.312, 4.101",\
                 "1.159, 1.195, 1.312, 1.513, 1.793, 2.147, 2.584, 3.101, 3.693, 4.392",\
                 "1.412, 1.449, 1.585, 1.813, 2.123, 2.51, 2.973, 3.525, 4.161, 4.875",\
                 "1.683, 1.734, 1.883, 2.142, 2.489, 2.911, 3.406, 3.989, 4.662, 5.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7141, 0.7998, 1.095, 1.654, 2.522, 3.737, 5.333, 7.343, 9.794, 12.72",\
                 "0.714, 0.7986, 1.095, 1.655, 2.523, 3.737, 5.333, 7.341, 9.794, 12.72",\
                 "0.7151, 0.7989, 1.095, 1.654, 2.523, 3.737, 5.333, 7.342, 9.795, 12.72",\
                 "0.7254, 0.807, 1.096, 1.654, 2.523, 3.737, 5.333, 7.345, 9.793, 12.72",\
                 "0.7978, 0.874, 1.141, 1.667, 2.522, 3.737, 5.333, 7.344, 9.795, 12.72",\
                 "0.8778, 0.958, 1.236, 1.746, 2.553, 3.739, 5.335, 7.344, 9.795, 12.72",\
                 "0.9964, 1.071, 1.342, 1.865, 2.657, 3.787, 5.338, 7.344, 9.796, 12.72",\
                 "1.161, 1.234, 1.491, 2, 2.805, 3.914, 5.405, 7.354, 9.796, 12.72",\
                 "1.361, 1.437, 1.692, 2.175, 2.969, 4.093, 5.551, 7.436, 9.814, 12.72",\
                 "1.581, 1.662, 1.929, 2.411, 3.173, 4.292, 5.763, 7.603, 9.912, 12.74");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1932, 0.2104, 0.2674, 0.373, 0.534, 0.7573, 1.049, 1.416, 1.864, 2.397",\
                 "0.204, 0.2213, 0.2784, 0.3841, 0.5451, 0.7685, 1.061, 1.428, 1.875, 2.408",\
                 "0.2322, 0.2489, 0.306, 0.4116, 0.5729, 0.7963, 1.088, 1.456, 1.903, 2.436",\
                 "0.2657, 0.2853, 0.35, 0.4631, 0.6261, 0.8491, 1.141, 1.508, 1.955, 2.488",\
                 "0.283, 0.307, 0.3846, 0.5148, 0.6971, 0.9327, 1.226, 1.592, 2.038, 2.57",\
                 "0.2711, 0.3005, 0.3947, 0.5496, 0.7581, 1.019, 1.336, 1.712, 2.158, 2.689",\
                 "0.2248, 0.2597, 0.3711, 0.5557, 0.7981, 1.093, 1.439, 1.846, 2.314, 2.849",\
                 "0.1417, 0.1817, 0.3108, 0.5247, 0.8056, 1.141, 1.527, 1.967, 2.468, 3.035",\
                 "0.0201, 0.066, 0.2114, 0.4537, 0.7756, 1.156, 1.588, 2.071, 2.61, 3.213",\
                 "-0.1431, -0.0921, 0.0723, 0.3423, 0.7014, 1.13, 1.613, 2.147, 2.732, 3.375");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3502, 0.3831, 0.4969, 0.7113, 1.045, 1.513, 2.128, 2.902, 3.848, 4.975",\
                 "0.3615, 0.395, 0.5093, 0.7248, 1.059, 1.527, 2.142, 2.916, 3.862, 4.989",\
                 "0.4089, 0.4418, 0.5566, 0.7737, 1.109, 1.578, 2.193, 2.968, 3.913, 5.041",\
                 "0.4972, 0.5318, 0.6481, 0.8637, 1.198, 1.666, 2.282, 3.056, 4.002, 5.129",\
                 "0.6236, 0.6618, 0.7908, 1.018, 1.349, 1.813, 2.425, 3.197, 4.141, 5.267",\
                 "0.8035, 0.8448, 0.9827, 1.226, 1.578, 2.04, 2.644, 3.411, 4.349, 5.471",\
                 "1.03, 1.078, 1.23, 1.489, 1.861, 2.349, 2.954, 3.71, 4.641, 5.756",\
                 "1.302, 1.355, 1.526, 1.809, 2.2, 2.712, 3.348, 4.107, 5.026, 6.13",\
                 "1.615, 1.676, 1.868, 2.18, 2.6, 3.136, 3.798, 4.593, 5.517, 6.609",\
                 "1.972, 2.04, 2.254, 2.6, 3.057, 3.621, 4.311, 5.136, 6.099, 7.198");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2259, 0.2534, 0.3479, 0.5236, 0.7938, 1.173, 1.67, 2.296, 3.059, 3.968",\
                 "0.2261, 0.2534, 0.3475, 0.5236, 0.7939, 1.172, 1.669, 2.296, 3.058, 3.968",\
                 "0.2311, 0.2567, 0.3475, 0.5227, 0.7943, 1.172, 1.669, 2.294, 3.058, 3.967",\
                 "0.2873, 0.3117, 0.3975, 0.5528, 0.803, 1.172, 1.67, 2.295, 3.058, 3.968",\
                 "0.3767, 0.4032, 0.4904, 0.6476, 0.888, 1.222, 1.685, 2.296, 3.057, 3.967",\
                 "0.4958, 0.5268, 0.6222, 0.784, 1.024, 1.357, 1.791, 2.354, 3.076, 3.968",\
                 "0.635, 0.6698, 0.7796, 0.9598, 1.207, 1.54, 1.975, 2.523, 3.192, 4.028",\
                 "0.7912, 0.835, 0.9586, 1.163, 1.433, 1.776, 2.207, 2.752, 3.421, 4.211",\
                 "0.9644, 1.01, 1.157, 1.388, 1.689, 2.056, 2.495, 3.037, 3.704, 4.497",\
                 "1.155, 1.207, 1.372, 1.636, 1.971, 2.368, 2.836, 3.381, 4.042, 4.836");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4504, 0.5069, 0.7037, 1.078, 1.661, 2.475, 3.545, 4.892, 6.538, 8.497",\
                 "0.4512, 0.5069, 0.7033, 1.078, 1.661, 2.475, 3.545, 4.892, 6.537, 8.499",\
                 "0.4522, 0.5082, 0.7042, 1.079, 1.66, 2.475, 3.546, 4.894, 6.539, 8.498",\
                 "0.4962, 0.5441, 0.7194, 1.08, 1.661, 2.475, 3.545, 4.893, 6.537, 8.498",\
                 "0.5908, 0.6402, 0.814, 1.135, 1.671, 2.475, 3.546, 4.893, 6.538, 8.498",\
                 "0.7064, 0.7558, 0.9322, 1.266, 1.767, 2.508, 3.548, 4.894, 6.538, 8.5",\
                 "0.8544, 0.9036, 1.075, 1.413, 1.934, 2.64, 3.607, 4.902, 6.539, 8.5",\
                 "1.027, 1.078, 1.254, 1.588, 2.114, 2.847, 3.777, 4.994, 6.559, 8.5",\
                 "1.216, 1.273, 1.465, 1.802, 2.326, 3.069, 4.028, 5.202, 6.686, 8.541",\
                 "1.426, 1.489, 1.693, 2.054, 2.578, 3.317, 4.297, 5.499, 6.931, 8.702");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1937, 0.2103, 0.2675, 0.3731, 0.5342, 0.7575, 1.05, 1.417, 1.864, 2.397",\
                 "0.2051, 0.2218, 0.279, 0.3847, 0.5459, 0.7691, 1.061, 1.428, 1.876, 2.408",\
                 "0.2336, 0.2503, 0.3074, 0.413, 0.5743, 0.7977, 1.09, 1.457, 1.904, 2.437",\
                 "0.267, 0.2866, 0.3513, 0.4646, 0.6276, 0.8506, 1.143, 1.51, 1.957, 2.49",\
                 "0.2816, 0.3057, 0.3833, 0.5148, 0.6975, 0.9331, 1.227, 1.593, 2.039, 2.572",\
                 "0.2633, 0.2929, 0.3882, 0.5453, 0.7551, 1.017, 1.335, 1.712, 2.159, 2.69",\
                 "0.2044, 0.24, 0.3542, 0.5414, 0.7882, 1.085, 1.434, 1.842, 2.311, 2.848",\
                 "0.1034, 0.1451, 0.2777, 0.497, 0.7835, 1.125, 1.515, 1.958, 2.461, 3.03",\
                 "-0.0429, 0.0056, 0.1569, 0.4065, 0.7366, 1.125, 1.565, 2.053, 2.596, 3.202",\
                 "-0.2357, -0.1834, -0.0117, 0.2691, 0.6388, 1.079, 1.572, 2.115, 2.707, 3.355");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4264, 0.4663, 0.6084, 0.8768, 1.295, 1.879, 2.647, 3.615, 4.797, 6.204",\
                 "0.4356, 0.4766, 0.6192, 0.8887, 1.307, 1.891, 2.66, 3.628, 4.81, 6.217",\
                 "0.4778, 0.5188, 0.6621, 0.9329, 1.352, 1.938, 2.707, 3.676, 4.857, 6.265",\
                 "0.5644, 0.6059, 0.7485, 1.018, 1.436, 2.021, 2.79, 3.759, 4.94, 6.349",\
                 "0.6988, 0.7443, 0.8973, 1.169, 1.581, 2.161, 2.927, 3.893, 5.074, 6.48",\
                 "0.8961, 0.9439, 1.104, 1.392, 1.811, 2.382, 3.139, 4.098, 5.273, 6.674",\
                 "1.153, 1.205, 1.376, 1.677, 2.117, 2.698, 3.444, 4.391, 5.555, 6.95",\
                 "1.461, 1.52, 1.708, 2.028, 2.485, 3.092, 3.849, 4.784, 5.934, 7.316",\
                 "1.819, 1.885, 2.095, 2.443, 2.922, 3.551, 4.338, 5.285, 6.421, 7.788",\
                 "2.23, 2.302, 2.535, 2.916, 3.429, 4.08, 4.894, 5.875, 7.023, 8.376");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2261, 0.2536, 0.3476, 0.5235, 0.7945, 1.172, 1.669, 2.295, 3.058, 3.967",\
                 "0.226, 0.2531, 0.3479, 0.5234, 0.7941, 1.173, 1.67, 2.295, 3.058, 3.967",\
                 "0.2308, 0.2565, 0.3475, 0.5229, 0.794, 1.172, 1.67, 2.294, 3.058, 3.968",\
                 "0.2861, 0.3106, 0.3964, 0.5524, 0.8034, 1.173, 1.67, 2.295, 3.058, 3.967",\
                 "0.3755, 0.402, 0.4888, 0.6478, 0.8878, 1.221, 1.684, 2.296, 3.058, 3.967",\
                 "0.4948, 0.5252, 0.6216, 0.7846, 1.025, 1.358, 1.792, 2.353, 3.076, 3.968",\
                 "0.6336, 0.6682, 0.7806, 0.9616, 1.21, 1.542, 1.977, 2.523, 3.192, 4.03",\
                 "0.7896, 0.8314, 0.9612, 1.165, 1.439, 1.781, 2.212, 2.756, 3.424, 4.212",\
                 "0.967, 1.014, 1.16, 1.394, 1.696, 2.064, 2.505, 3.046, 3.712, 4.502",\
                 "1.159, 1.215, 1.382, 1.646, 1.981, 2.381, 2.849, 3.396, 4.056, 4.847");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5869, 0.6576, 0.9032, 1.372, 2.098, 3.113, 4.447, 6.129, 8.178, 10.62",\
                 "0.5875, 0.6575, 0.9029, 1.371, 2.097, 3.113, 4.448, 6.129, 8.177, 10.62",\
                 "0.5878, 0.6579, 0.9034, 1.371, 2.098, 3.114, 4.448, 6.128, 8.18, 10.62",\
                 "0.6162, 0.6789, 0.9098, 1.372, 2.098, 3.113, 4.448, 6.128, 8.179, 10.62",\
                 "0.7074, 0.7704, 0.984, 1.402, 2.1, 3.113, 4.448, 6.127, 8.18, 10.62",\
                 "0.8116, 0.8742, 1.097, 1.514, 2.158, 3.122, 4.449, 6.128, 8.179, 10.62",\
                 "0.949, 1.011, 1.229, 1.654, 2.302, 3.207, 4.467, 6.129, 8.18, 10.62",\
                 "1.119, 1.178, 1.392, 1.813, 2.476, 3.382, 4.577, 6.162, 8.181, 10.62",\
                 "1.312, 1.376, 1.595, 2.007, 2.668, 3.598, 4.784, 6.297, 8.23, 10.63",\
                 "1.525, 1.595, 1.825, 2.242, 2.892, 3.83, 5.045, 6.538, 8.39, 10.7");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2001, 0.217, 0.2749, 0.3814, 0.5435, 0.7673, 1.059, 1.426, 1.874, 2.406",\
                 "0.2114, 0.2284, 0.2863, 0.393, 0.5551, 0.7789, 1.071, 1.438, 1.885, 2.418",\
                 "0.24, 0.2568, 0.3144, 0.4213, 0.5836, 0.8075, 1.1, 1.467, 1.914, 2.447",\
                 "0.2757, 0.2951, 0.3599, 0.4734, 0.6369, 0.8605, 1.153, 1.519, 1.966, 2.499",\
                 "0.2944, 0.3182, 0.395, 0.5256, 0.7081, 0.9434, 1.237, 1.603, 2.049, 2.581",\
                 "0.2821, 0.3108, 0.4041, 0.5592, 0.7675, 1.028, 1.346, 1.722, 2.168, 2.7",\
                 "0.2306, 0.2647, 0.3758, 0.5595, 0.8032, 1.098, 1.446, 1.853, 2.322, 2.858",\
                 "0.1364, 0.1761, 0.3045, 0.5191, 0.8016, 1.14, 1.528, 1.97, 2.472, 3.041",\
                 "-0.0025, 0.0424, 0.1884, 0.4326, 0.7566, 1.142, 1.58, 2.066, 2.608, 3.212",\
                 "-0.1898, -0.1394, 0.0252, 0.2985, 0.6639, 1.099, 1.589, 2.13, 2.72, 3.368");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.497, 0.5381, 0.6792, 0.9479, 1.366, 1.95, 2.719, 3.687, 4.868, 6.278",\
                 "0.5066, 0.5475, 0.6903, 0.9597, 1.378, 1.962, 2.732, 3.7, 4.882, 6.291",\
                 "0.5502, 0.5909, 0.7344, 1.005, 1.424, 2.01, 2.779, 3.748, 4.931, 6.338",\
                 "0.6365, 0.6775, 0.8198, 1.089, 1.507, 2.092, 2.863, 3.832, 5.013, 6.422",\
                 "0.7777, 0.8217, 0.9707, 1.239, 1.651, 2.232, 2.998, 3.965, 5.146, 6.552",\
                 "0.9784, 1.024, 1.181, 1.465, 1.881, 2.453, 3.21, 4.169, 5.344, 6.748",\
                 "1.242, 1.291, 1.457, 1.753, 2.19, 2.767, 3.513, 4.462, 5.626, 7.021",\
                 "1.561, 1.616, 1.796, 2.107, 2.561, 3.165, 3.918, 4.854, 6.006, 7.389",\
                 "1.93, 1.992, 2.19, 2.527, 3, 3.625, 4.41, 5.353, 6.492, 7.86",\
                 "2.353, 2.421, 2.64, 3.008, 3.509, 4.157, 4.969, 5.946, 7.092, 8.444");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2722, 0.2988, 0.3906, 0.5651, 0.8361, 1.214, 1.71, 2.336, 3.099, 4.008",\
                 "0.2722, 0.2985, 0.3905, 0.5651, 0.8352, 1.214, 1.71, 2.336, 3.099, 4.007",\
                 "0.2772, 0.302, 0.391, 0.5649, 0.8349, 1.214, 1.711, 2.336, 3.099, 4.007",\
                 "0.337, 0.36, 0.4419, 0.595, 0.845, 1.215, 1.712, 2.336, 3.099, 4.007",\
                 "0.4352, 0.4593, 0.5404, 0.6938, 0.9306, 1.263, 1.726, 2.336, 3.099, 4.008",\
                 "0.5678, 0.5946, 0.6826, 0.8374, 1.072, 1.401, 1.833, 2.395, 3.116, 4.009",\
                 "0.7228, 0.753, 0.8536, 1.022, 1.263, 1.59, 2.021, 2.565, 3.234, 4.071",\
                 "0.8968, 0.933, 1.049, 1.237, 1.499, 1.834, 2.26, 2.803, 3.465, 4.255",\
                 "1.093, 1.133, 1.262, 1.478, 1.765, 2.123, 2.558, 3.095, 3.755, 4.544",\
                 "1.306, 1.352, 1.5, 1.741, 2.062, 2.448, 2.908, 3.448, 4.104, 4.894");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6779, 0.7483, 0.9955, 1.465, 2.192, 3.208, 4.544, 6.225, 8.278, 10.72",\
                 "0.6775, 0.7482, 0.9956, 1.464, 2.192, 3.208, 4.543, 6.226, 8.277, 10.72",\
                 "0.678, 0.7487, 0.9958, 1.465, 2.191, 3.208, 4.544, 6.224, 8.278, 10.72",\
                 "0.6951, 0.7603, 0.9994, 1.465, 2.192, 3.208, 4.544, 6.225, 8.278, 10.72",\
                 "0.7828, 0.8452, 1.059, 1.486, 2.193, 3.209, 4.545, 6.226, 8.277, 10.72",\
                 "0.8858, 0.9494, 1.176, 1.59, 2.241, 3.214, 4.545, 6.225, 8.278, 10.72",\
                 "1.016, 1.079, 1.302, 1.733, 2.38, 3.291, 4.56, 6.226, 8.279, 10.72",\
                 "1.18, 1.242, 1.463, 1.89, 2.557, 3.462, 4.663, 6.255, 8.279, 10.72",\
                 "1.375, 1.44, 1.66, 2.08, 2.749, 3.681, 4.866, 6.385, 8.324, 10.73",\
                 "1.591, 1.66, 1.893, 2.313, 2.97, 3.909, 5.13, 6.621, 8.478, 10.79");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1637, 0.1812, 0.2402, 0.3476, 0.5099, 0.734, 1.027, 1.394, 1.842, 2.375",\
                 "0.1744, 0.1919, 0.2509, 0.3583, 0.5206, 0.7448, 1.037, 1.405, 1.852, 2.385",\
                 "0.2019, 0.2197, 0.2783, 0.3854, 0.5477, 0.7718, 1.065, 1.432, 1.88, 2.413",\
                 "0.2296, 0.2505, 0.3187, 0.4351, 0.6003, 0.8241, 1.117, 1.484, 1.931, 2.464",\
                 "0.2357, 0.2622, 0.3457, 0.4818, 0.668, 0.9062, 1.201, 1.567, 2.014, 2.546",\
                 "0.2096, 0.242, 0.3441, 0.5084, 0.7235, 0.9885, 1.308, 1.686, 2.133, 2.664",\
                 "0.1457, 0.1846, 0.3062, 0.5019, 0.7545, 1.056, 1.407, 1.815, 2.286, 2.823",\
                 "0.0443, 0.0885, 0.2292, 0.4564, 0.7499, 1.096, 1.488, 1.932, 2.437, 3.006",\
                 "-0.0985, -0.0476, 0.1112, 0.369, 0.704, 1.098, 1.54, 2.03, 2.572, 3.179",\
                 "-0.2838, -0.228, -0.0498, 0.2378, 0.6135, 1.057, 1.552, 2.096, 2.687, 3.335");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4163, 0.4564, 0.5967, 0.8627, 1.275, 1.854, 2.615, 3.574, 4.745, 6.141",\
                 "0.4269, 0.4674, 0.6087, 0.8754, 1.288, 1.868, 2.629, 3.588, 4.76, 6.156",\
                 "0.4695, 0.5106, 0.6523, 0.9203, 1.334, 1.915, 2.677, 3.637, 4.808, 6.205",\
                 "0.5463, 0.5878, 0.729, 0.9951, 1.408, 1.988, 2.75, 3.711, 4.881, 6.279",\
                 "0.6596, 0.7036, 0.8535, 1.123, 1.531, 2.105, 2.864, 3.821, 4.989, 6.387",\
                 "0.8314, 0.8772, 1.031, 1.311, 1.727, 2.292, 3.041, 3.991, 5.154, 6.543",\
                 "1.057, 1.107, 1.272, 1.559, 1.987, 2.562, 3.3, 4.238, 5.39, 6.772",\
                 "1.33, 1.387, 1.567, 1.873, 2.31, 2.9, 3.651, 4.575, 5.714, 7.082",\
                 "1.647, 1.71, 1.911, 2.243, 2.7, 3.301, 4.069, 5.008, 6.133, 7.483",\
                 "2.008, 2.078, 2.302, 2.666, 3.155, 3.775, 4.555, 5.514, 6.654, 7.991");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.206, 0.2333, 0.327, 0.5034, 0.7731, 1.15, 1.647, 2.272, 3.035, 3.944",\
                 "0.2054, 0.2339, 0.327, 0.5033, 0.7729, 1.151, 1.647, 2.272, 3.035, 3.945",\
                 "0.2149, 0.2395, 0.328, 0.5018, 0.7724, 1.15, 1.646, 2.272, 3.036, 3.945",\
                 "0.2761, 0.3008, 0.3834, 0.5371, 0.7843, 1.151, 1.646, 2.271, 3.034, 3.945",\
                 "0.3743, 0.3993, 0.4846, 0.637, 0.8738, 1.204, 1.664, 2.273, 3.034, 3.944",\
                 "0.5004, 0.5294, 0.6228, 0.7802, 1.016, 1.344, 1.775, 2.336, 3.055, 3.947",\
                 "0.6478, 0.6824, 0.7908, 0.9654, 1.208, 1.533, 1.962, 2.506, 3.174, 4.009",\
                 "0.8172, 0.8556, 0.9792, 1.177, 1.441, 1.775, 2.201, 2.743, 3.407, 4.195",\
                 "1.008, 1.055, 1.193, 1.419, 1.709, 2.067, 2.504, 3.034, 3.692, 4.484",\
                 "1.216, 1.269, 1.433, 1.682, 2.006, 2.394, 2.852, 3.393, 4.043, 4.827");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4929, 0.5636, 0.8079, 1.275, 1.999, 3.014, 4.349, 6.031, 8.082, 10.52",\
                 "0.4934, 0.5631, 0.8087, 1.275, 1.999, 3.014, 4.349, 6.03, 8.079, 10.53",\
                 "0.4941, 0.5641, 0.8083, 1.275, 1.999, 3.014, 4.35, 6.031, 8.082, 10.53",\
                 "0.5251, 0.5877, 0.8163, 1.275, 1.999, 3.014, 4.349, 6.032, 8.081, 10.53",\
                 "0.5964, 0.6628, 0.887, 1.309, 2.003, 3.014, 4.349, 6.029, 8.081, 10.53",\
                 "0.6876, 0.751, 0.978, 1.409, 2.064, 3.028, 4.349, 6.031, 8.081, 10.53",\
                 "0.8184, 0.8798, 1.097, 1.523, 2.191, 3.113, 4.376, 6.031, 8.081, 10.53",\
                 "0.9766, 1.041, 1.259, 1.671, 2.337, 3.269, 4.485, 6.075, 8.086, 10.53",\
                 "1.156, 1.226, 1.458, 1.868, 2.512, 3.447, 4.67, 6.209, 8.149, 10.54",\
                 "1.353, 1.429, 1.677, 2.105, 2.74, 3.652, 4.886, 6.421, 8.304, 10.62");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1639, 0.1814, 0.2404, 0.3478, 0.5101, 0.7342, 1.027, 1.394, 1.842, 2.375",\
                 "0.175, 0.1926, 0.2516, 0.359, 0.5213, 0.7454, 1.038, 1.406, 1.853, 2.386",\
                 "0.2034, 0.2212, 0.2797, 0.3868, 0.5491, 0.7733, 1.066, 1.434, 1.881, 2.414",\
                 "0.2311, 0.252, 0.3201, 0.4366, 0.6019, 0.8257, 1.118, 1.485, 1.933, 2.466",\
                 "0.2348, 0.2612, 0.3448, 0.4817, 0.6685, 0.907, 1.202, 1.568, 2.015, 2.548",\
                 "0.2022, 0.2346, 0.3384, 0.504, 0.7206, 0.9871, 1.308, 1.686, 2.133, 2.665",\
                 "0.1275, 0.1668, 0.2907, 0.4895, 0.7457, 1.05, 1.403, 1.813, 2.285, 2.822",\
                 "0.0092, 0.0549, 0.1989, 0.4313, 0.7307, 1.081, 1.478, 1.925, 2.431, 3.002",\
                 "-0.1567, -0.1044, 0.0604, 0.3256, 0.6691, 1.07, 1.519, 2.014, 2.56, 3.17",\
                 "-0.3716, -0.3136, -0.1285, 0.1704, 0.5571, 1.01, 1.516, 2.067, 2.665, 3.317");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4962, 0.5446, 0.7121, 1.031, 1.525, 2.219, 3.13, 4.279, 5.681, 7.352",\
                 "0.5043, 0.5529, 0.7221, 1.042, 1.537, 2.23, 3.143, 4.293, 5.694, 7.365",\
                 "0.5435, 0.5925, 0.7621, 1.083, 1.58, 2.275, 3.188, 4.336, 5.74, 7.412",\
                 "0.6179, 0.667, 0.8356, 1.154, 1.65, 2.345, 3.258, 4.408, 5.809, 7.482",\
                 "0.7362, 0.7885, 0.9635, 1.281, 1.77, 2.459, 3.368, 4.514, 5.916, 7.586",\
                 "0.9222, 0.9746, 1.153, 1.481, 1.967, 2.644, 3.543, 4.682, 6.078, 7.742",\
                 "1.175, 1.231, 1.415, 1.747, 2.246, 2.921, 3.805, 4.93, 6.312, 7.968",\
                 "1.483, 1.545, 1.744, 2.087, 2.594, 3.283, 4.162, 5.27, 6.637, 8.279",\
                 "1.843, 1.912, 2.131, 2.498, 3.017, 3.717, 4.613, 5.713, 7.061, 8.685",\
                 "2.256, 2.332, 2.573, 2.972, 3.516, 4.228, 5.139, 6.258, 7.595, 9.197");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2059, 0.2336, 0.3277, 0.5028, 0.7727, 1.151, 1.646, 2.273, 3.034, 3.944",\
                 "0.2054, 0.2334, 0.3275, 0.5027, 0.7732, 1.15, 1.647, 2.273, 3.035, 3.945",\
                 "0.2147, 0.2392, 0.3278, 0.5016, 0.7724, 1.151, 1.648, 2.273, 3.035, 3.944",\
                 "0.2751, 0.2995, 0.3826, 0.5366, 0.7836, 1.152, 1.646, 2.271, 3.034, 3.945",\
                 "0.3721, 0.3973, 0.4824, 0.6356, 0.873, 1.204, 1.665, 2.273, 3.035, 3.944",\
                 "0.4966, 0.5248, 0.6204, 0.781, 1.015, 1.345, 1.775, 2.335, 3.055, 3.947",\
                 "0.6414, 0.6764, 0.7844, 0.964, 1.208, 1.535, 1.964, 2.508, 3.174, 4.01",\
                 "0.8088, 0.8494, 0.9744, 1.175, 1.443, 1.781, 2.206, 2.747, 3.408, 4.195",\
                 "1, 1.046, 1.191, 1.417, 1.712, 2.072, 2.508, 3.043, 3.701, 4.488",\
                 "1.203, 1.261, 1.426, 1.682, 2.007, 2.399, 2.859, 3.404, 4.054, 4.836");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6092, 0.6935, 0.9862, 1.545, 2.413, 3.626, 5.221, 7.23, 9.679, 12.6",\
                 "0.609, 0.6929, 0.9861, 1.546, 2.413, 3.626, 5.221, 7.231, 9.682, 12.6",\
                 "0.6102, 0.6934, 0.9864, 1.545, 2.412, 3.626, 5.221, 7.228, 9.681, 12.6",\
                 "0.6322, 0.7095, 0.9914, 1.546, 2.413, 3.626, 5.221, 7.23, 9.678, 12.6",\
                 "0.704, 0.7828, 1.049, 1.566, 2.413, 3.626, 5.221, 7.23, 9.681, 12.6",\
                 "0.782, 0.8604, 1.137, 1.651, 2.451, 3.63, 5.222, 7.23, 9.682, 12.6",\
                 "0.8996, 0.9742, 1.241, 1.761, 2.559, 3.684, 5.228, 7.23, 9.681, 12.6",\
                 "1.054, 1.129, 1.386, 1.889, 2.698, 3.811, 5.298, 7.243, 9.683, 12.61",\
                 "1.234, 1.312, 1.572, 2.059, 2.853, 3.982, 5.445, 7.326, 9.701, 12.6",\
                 "1.435, 1.517, 1.79, 2.278, 3.044, 4.167, 5.65, 7.493, 9.802, 12.63");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.17, 0.1878, 0.2473, 0.3557, 0.5192, 0.7439, 1.037, 1.404, 1.852, 2.384",\
                 "0.1812, 0.1988, 0.2584, 0.3669, 0.5304, 0.7551, 1.048, 1.415, 1.863, 2.396",\
                 "0.2098, 0.2275, 0.2864, 0.3947, 0.5582, 0.7831, 1.076, 1.443, 1.891, 2.424",\
                 "0.24, 0.2609, 0.3286, 0.4454, 0.6112, 0.8355, 1.128, 1.495, 1.943, 2.475",\
                 "0.2487, 0.2746, 0.3569, 0.4929, 0.6793, 0.9174, 1.212, 1.578, 2.025, 2.557",\
                 "0.2236, 0.255, 0.3554, 0.5187, 0.7335, 0.999, 1.319, 1.697, 2.143, 2.675",\
                 "0.157, 0.1944, 0.3142, 0.5084, 0.7611, 1.062, 1.415, 1.824, 2.295, 2.832",\
                 "0.0472, 0.0901, 0.2278, 0.4545, 0.7489, 1.097, 1.491, 1.937, 2.442, 3.012",\
                 "-0.1108, -0.062, 0.0953, 0.353, 0.6911, 1.088, 1.534, 2.027, 2.573, 3.181",\
                 "-0.3175, -0.2631, -0.0871, 0.2024, 0.5822, 1.031, 1.533, 2.082, 2.678, 3.33");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.58, 0.6283, 0.7963, 1.114, 1.61, 2.303, 3.215, 4.364, 5.767, 7.439",\
                 "0.5892, 0.6375, 0.8064, 1.126, 1.621, 2.315, 3.228, 4.377, 5.78, 7.452",\
                 "0.629, 0.6774, 0.847, 1.168, 1.664, 2.36, 3.272, 4.422, 5.826, 7.498",\
                 "0.7029, 0.7513, 0.92, 1.239, 1.735, 2.43, 3.343, 4.494, 5.897, 7.568",\
                 "0.8266, 0.877, 1.049, 1.364, 1.854, 2.543, 3.453, 4.6, 6.002, 7.672",\
                 "1.012, 1.064, 1.239, 1.565, 2.05, 2.728, 3.627, 4.767, 6.162, 7.829",\
                 "1.27, 1.323, 1.503, 1.832, 2.329, 3.002, 3.887, 5.013, 6.397, 8.053",\
                 "1.588, 1.646, 1.836, 2.173, 2.678, 3.366, 4.244, 5.352, 6.721, 8.362",\
                 "1.96, 2.024, 2.231, 2.588, 3.103, 3.801, 4.696, 5.796, 7.144, 8.767",\
                 "2.385, 2.456, 2.684, 3.067, 3.603, 4.313, 5.222, 6.34, 7.676, 9.283");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2539, 0.2802, 0.3715, 0.5446, 0.8137, 1.192, 1.689, 2.313, 3.075, 3.985",\
                 "0.2532, 0.2798, 0.3713, 0.5448, 0.8138, 1.191, 1.688, 2.312, 3.075, 3.986",\
                 "0.2618, 0.2856, 0.3723, 0.5442, 0.8138, 1.192, 1.689, 2.312, 3.075, 3.986",\
                 "0.3284, 0.3505, 0.4292, 0.5795, 0.8265, 1.192, 1.688, 2.312, 3.076, 3.985",\
                 "0.4361, 0.458, 0.5358, 0.6832, 0.9162, 1.246, 1.705, 2.314, 3.075, 3.986",\
                 "0.5756, 0.5998, 0.6844, 0.8342, 1.063, 1.389, 1.817, 2.377, 3.096, 3.987",\
                 "0.739, 0.7682, 0.8628, 1.026, 1.262, 1.583, 2.009, 2.551, 3.216, 4.052",\
                 "0.926, 0.9598, 1.068, 1.252, 1.504, 1.833, 2.255, 2.791, 3.451, 4.237",\
                 "1.139, 1.176, 1.297, 1.504, 1.783, 2.131, 2.561, 3.09, 3.745, 4.531",\
                 "1.366, 1.411, 1.555, 1.783, 2.089, 2.466, 2.917, 3.457, 4.103, 4.882");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7165, 0.8014, 1.098, 1.657, 2.524, 3.74, 5.335, 7.345, 9.799, 12.72",\
                 "0.7172, 0.8014, 1.096, 1.657, 2.524, 3.74, 5.336, 7.346, 9.799, 12.72",\
                 "0.7172, 0.8017, 1.096, 1.657, 2.524, 3.74, 5.336, 7.344, 9.799, 12.72",\
                 "0.7295, 0.8106, 1.099, 1.657, 2.525, 3.74, 5.335, 7.347, 9.799, 12.72",\
                 "0.7994, 0.8768, 1.144, 1.67, 2.526, 3.74, 5.336, 7.346, 9.799, 12.72",\
                 "0.8754, 0.957, 1.237, 1.748, 2.556, 3.743, 5.337, 7.346, 9.798, 12.72",\
                 "0.9836, 1.06, 1.335, 1.861, 2.657, 3.789, 5.342, 7.347, 9.798, 12.72",\
                 "1.132, 1.207, 1.471, 1.986, 2.797, 3.912, 5.406, 7.356, 9.801, 12.72",\
                 "1.313, 1.391, 1.651, 2.148, 2.951, 4.084, 5.547, 7.437, 9.817, 12.72",\
                 "1.516, 1.599, 1.871, 2.361, 3.139, 4.267, 5.751, 7.599, 9.908, 12.75");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1698, 0.1875, 0.2471, 0.3556, 0.5191, 0.7439, 1.037, 1.404, 1.852, 2.384",\
                 "0.1805, 0.1982, 0.2577, 0.3663, 0.5298, 0.7546, 1.047, 1.415, 1.862, 2.395",\
                 "0.2084, 0.2261, 0.285, 0.3932, 0.5569, 0.7818, 1.075, 1.442, 1.89, 2.422",\
                 "0.2387, 0.2594, 0.3272, 0.444, 0.6097, 0.8341, 1.127, 1.494, 1.941, 2.474",\
                 "0.2499, 0.2756, 0.3577, 0.4929, 0.6787, 0.9166, 1.211, 1.577, 2.024, 2.556",\
                 "0.2311, 0.2625, 0.3615, 0.5229, 0.7365, 1, 1.319, 1.697, 2.143, 2.674",\
                 "0.1761, 0.2127, 0.3299, 0.5209, 0.7704, 1.069, 1.419, 1.827, 2.297, 2.833",\
                 "0.0829, 0.1243, 0.2586, 0.4799, 0.7689, 1.111, 1.501, 1.945, 2.448, 3.016",\
                 "-0.0512, -0.0047, 0.1465, 0.3968, 0.7262, 1.116, 1.555, 2.043, 2.585, 3.19",\
                 "-0.2295, -0.1769, -0.0084, 0.2707, 0.6392, 1.078, 1.57, 2.111, 2.701, 3.347");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4873, 0.5275, 0.6677, 0.9335, 1.347, 1.926, 2.688, 3.647, 4.818, 6.216",\
                 "0.4982, 0.5387, 0.68, 0.9464, 1.36, 1.94, 2.702, 3.661, 4.831, 6.229",\
                 "0.5417, 0.5825, 0.7241, 0.9917, 1.407, 1.987, 2.749, 3.71, 4.88, 6.279",\
                 "0.6192, 0.6595, 0.8, 1.067, 1.48, 2.06, 2.822, 3.783, 4.955, 6.355",\
                 "0.7366, 0.7797, 0.9273, 1.194, 1.602, 2.177, 2.935, 3.893, 5.062, 6.457",\
                 "0.911, 0.955, 1.106, 1.384, 1.797, 2.362, 3.113, 4.063, 5.226, 6.616",\
                 "1.144, 1.191, 1.349, 1.633, 2.058, 2.632, 3.37, 4.308, 5.462, 6.843",\
                 "1.427, 1.48, 1.652, 1.949, 2.382, 2.971, 3.72, 4.644, 5.784, 7.154",\
                 "1.755, 1.813, 2.004, 2.325, 2.775, 3.374, 4.14, 5.077, 6.202, 7.555",\
                 "2.129, 2.194, 2.404, 2.754, 3.234, 3.848, 4.628, 5.585, 6.723, 8.061");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2549, 0.2813, 0.3723, 0.5456, 0.8158, 1.194, 1.689, 2.313, 3.077, 3.985",\
                 "0.2542, 0.2807, 0.3722, 0.5456, 0.8159, 1.192, 1.69, 2.313, 3.076, 3.987",\
                 "0.2629, 0.2868, 0.3731, 0.545, 0.8147, 1.192, 1.69, 2.314, 3.075, 3.986",\
                 "0.3303, 0.3527, 0.4308, 0.5809, 0.828, 1.194, 1.69, 2.313, 3.077, 3.985",\
                 "0.4395, 0.461, 0.5386, 0.6852, 0.9174, 1.247, 1.706, 2.315, 3.077, 3.985",\
                 "0.5814, 0.6054, 0.6876, 0.8352, 1.064, 1.389, 1.817, 2.378, 3.098, 3.989",\
                 "0.7476, 0.776, 0.8696, 1.03, 1.263, 1.581, 2.008, 2.55, 3.216, 4.052",\
                 "0.9364, 0.9678, 1.074, 1.254, 1.504, 1.829, 2.25, 2.788, 3.449, 4.237",\
                 "1.15, 1.187, 1.305, 1.508, 1.782, 2.128, 2.557, 3.084, 3.74, 4.528",\
                 "1.382, 1.425, 1.561, 1.787, 2.089, 2.462, 2.91, 3.447, 4.092, 4.875");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5843, 0.6552, 0.9011, 1.369, 2.094, 3.111, 4.445, 6.128, 8.181, 10.63",\
                 "0.5844, 0.6552, 0.9022, 1.369, 2.094, 3.111, 4.445, 6.128, 8.177, 10.63",\
                 "0.5848, 0.6556, 0.9013, 1.369, 2.094, 3.111, 4.446, 6.129, 8.181, 10.63",\
                 "0.6041, 0.6691, 0.906, 1.369, 2.095, 3.11, 4.446, 6.129, 8.179, 10.63",\
                 "0.6776, 0.7438, 0.965, 1.394, 2.097, 3.111, 4.446, 6.128, 8.18, 10.63",\
                 "0.7626, 0.8282, 1.06, 1.49, 2.15, 3.12, 4.447, 6.129, 8.18, 10.63",\
                 "0.8856, 0.9508, 1.173, 1.607, 2.274, 3.2, 4.469, 6.129, 8.181, 10.63",\
                 "1.045, 1.11, 1.33, 1.749, 2.42, 3.352, 4.574, 6.168, 8.183, 10.63",\
                 "1.226, 1.296, 1.525, 1.938, 2.592, 3.531, 4.755, 6.295, 8.242, 10.64",\
                 "1.427, 1.503, 1.749, 2.175, 2.813, 3.736, 4.972, 6.508, 8.395, 10.71");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.17, 0.1877, 0.2473, 0.3558, 0.5193, 0.7441, 1.037, 1.404, 1.852, 2.385",\
                 "0.1812, 0.1988, 0.2584, 0.3669, 0.5305, 0.7553, 1.048, 1.415, 1.863, 2.396",\
                 "0.2098, 0.2275, 0.2864, 0.3947, 0.5583, 0.7832, 1.076, 1.443, 1.891, 2.424",\
                 "0.24, 0.2608, 0.3286, 0.4454, 0.6113, 0.8357, 1.128, 1.496, 1.943, 2.476",\
                 "0.2489, 0.2746, 0.3569, 0.493, 0.6794, 0.9174, 1.212, 1.578, 2.025, 2.557",\
                 "0.2237, 0.2552, 0.3555, 0.5188, 0.7337, 0.9991, 1.319, 1.697, 2.144, 2.675",\
                 "0.1576, 0.1948, 0.3145, 0.5085, 0.7615, 1.063, 1.415, 1.825, 2.295, 2.833",\
                 "0.0479, 0.0908, 0.2284, 0.4548, 0.7492, 1.097, 1.491, 1.937, 2.443, 3.012",\
                 "-0.1098, -0.0611, 0.0961, 0.3536, 0.6914, 1.088, 1.534, 2.027, 2.573, 3.181",\
                 "-0.3163, -0.2618, -0.0861, 0.2033, 0.5829, 1.032, 1.533, 2.082, 2.678, 3.33");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5815, 0.6298, 0.7972, 1.116, 1.611, 2.305, 3.217, 4.366, 5.769, 7.44",\
                 "0.5906, 0.6391, 0.8079, 1.127, 1.623, 2.317, 3.229, 4.378, 5.781, 7.453",\
                 "0.6304, 0.679, 0.8485, 1.169, 1.666, 2.361, 3.274, 4.424, 5.827, 7.499",\
                 "0.7045, 0.7529, 0.9215, 1.241, 1.736, 2.431, 3.345, 4.494, 5.898, 7.569",\
                 "0.828, 0.8785, 1.05, 1.365, 1.855, 2.544, 3.454, 4.601, 6.003, 7.674",\
                 "1.014, 1.065, 1.241, 1.566, 2.051, 2.729, 3.629, 4.768, 6.163, 7.829",\
                 "1.272, 1.325, 1.504, 1.834, 2.331, 3.003, 3.888, 5.014, 6.398, 8.054",\
                 "1.59, 1.647, 1.838, 2.175, 2.679, 3.366, 4.245, 5.354, 6.722, 8.364",\
                 "1.962, 2.026, 2.233, 2.59, 3.104, 3.802, 4.696, 5.796, 7.143, 8.77",\
                 "2.387, 2.457, 2.684, 3.069, 3.605, 4.314, 5.223, 6.341, 7.678, 9.283");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.255, 0.2813, 0.3723, 0.5458, 0.815, 1.193, 1.688, 2.315, 3.076, 3.986",\
                 "0.2543, 0.2806, 0.3721, 0.5457, 0.815, 1.192, 1.688, 2.314, 3.078, 3.986",\
                 "0.2628, 0.2865, 0.3731, 0.5451, 0.8157, 1.192, 1.689, 2.314, 3.076, 3.985",\
                 "0.3295, 0.3516, 0.4303, 0.5805, 0.8277, 1.194, 1.689, 2.313, 3.076, 3.985",\
                 "0.4377, 0.4591, 0.5368, 0.6842, 0.917, 1.246, 1.707, 2.316, 3.076, 3.986",\
                 "0.5776, 0.6012, 0.6858, 0.8352, 1.064, 1.39, 1.818, 2.378, 3.097, 3.987",\
                 "0.7414, 0.7702, 0.8644, 1.028, 1.263, 1.584, 2.01, 2.551, 3.217, 4.053",\
                 "0.93, 0.9622, 1.07, 1.252, 1.506, 1.835, 2.255, 2.792, 3.452, 4.239",\
                 "1.142, 1.178, 1.299, 1.506, 1.782, 2.132, 2.562, 3.091, 3.745, 4.532",\
                 "1.369, 1.414, 1.555, 1.783, 2.091, 2.468, 2.919, 3.454, 4.102, 4.883");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7183, 0.8033, 1.099, 1.658, 2.527, 3.741, 5.338, 7.349, 9.801, 12.72",\
                 "0.7189, 0.8033, 1.098, 1.659, 2.526, 3.742, 5.337, 7.348, 9.801, 12.72",\
                 "0.72, 0.8032, 1.098, 1.659, 2.526, 3.741, 5.336, 7.346, 9.8, 12.72",\
                 "0.7308, 0.8119, 1.101, 1.659, 2.526, 3.741, 5.338, 7.347, 9.8, 12.72",\
                 "0.801, 0.8784, 1.146, 1.672, 2.527, 3.742, 5.337, 7.347, 9.799, 12.72",\
                 "0.8778, 0.9588, 1.238, 1.749, 2.558, 3.744, 5.339, 7.347, 9.798, 12.72",\
                 "0.9838, 1.064, 1.337, 1.863, 2.658, 3.791, 5.343, 7.348, 9.8, 12.72",\
                 "1.134, 1.208, 1.472, 1.986, 2.799, 3.913, 5.407, 7.358, 9.8, 12.72",\
                 "1.314, 1.393, 1.653, 2.15, 2.952, 4.086, 5.549, 7.437, 9.817, 12.72",\
                 "1.518, 1.599, 1.872, 2.362, 3.141, 4.273, 5.752, 7.598, 9.912, 12.75");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1773, 0.1951, 0.2552, 0.3647, 0.5291, 0.7541, 1.047, 1.414, 1.862, 2.395",\
                 "0.1885, 0.2062, 0.2665, 0.3758, 0.5403, 0.7653, 1.058, 1.425, 1.873, 2.406",\
                 "0.2174, 0.2349, 0.2943, 0.4036, 0.5681, 0.7932, 1.086, 1.453, 1.901, 2.434",\
                 "0.2507, 0.2713, 0.3386, 0.4551, 0.621, 0.8457, 1.138, 1.505, 1.953, 2.486",\
                 "0.2657, 0.2905, 0.3707, 0.505, 0.6904, 0.9278, 1.222, 1.588, 2.035, 2.567",\
                 "0.2479, 0.2777, 0.3741, 0.534, 0.7466, 1.011, 1.329, 1.707, 2.154, 2.685",\
                 "0.1873, 0.223, 0.3378, 0.5272, 0.7767, 1.076, 1.427, 1.835, 2.305, 2.842",\
                 "0.0834, 0.1241, 0.2565, 0.4775, 0.7671, 1.112, 1.504, 1.949, 2.453, 3.023",\
                 "-0.0677, -0.0216, 0.1292, 0.3801, 0.7127, 1.105, 1.549, 2.04, 2.585, 3.192",\
                 "-0.2671, -0.2155, -0.0472, 0.234, 0.6076, 1.052, 1.55, 2.097, 2.691, 3.342");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.666, 0.7137, 0.8814, 1.2, 1.696, 2.39, 3.302, 4.451, 5.854, 7.527",\
                 "0.6757, 0.7236, 0.8925, 1.212, 1.707, 2.401, 3.314, 4.464, 5.867, 7.538",\
                 "0.7159, 0.7641, 0.9333, 1.254, 1.75, 2.446, 3.359, 4.509, 5.913, 7.585",\
                 "0.789, 0.8375, 1.006, 1.325, 1.821, 2.516, 3.431, 4.581, 5.984, 7.656",\
                 "0.9157, 0.965, 1.134, 1.448, 1.939, 2.629, 3.539, 4.686, 6.088, 7.76",\
                 "1.103, 1.153, 1.328, 1.65, 2.132, 2.812, 3.714, 4.853, 6.249, 7.916",\
                 "1.363, 1.414, 1.591, 1.918, 2.413, 3.085, 3.97, 5.098, 6.483, 8.14",\
                 "1.688, 1.743, 1.928, 2.26, 2.764, 3.449, 4.326, 5.436, 6.806, 8.448",\
                 "2.07, 2.13, 2.329, 2.678, 3.189, 3.885, 4.778, 5.878, 7.227, 8.853",\
                 "2.506, 2.573, 2.789, 3.162, 3.691, 4.398, 5.307, 6.422, 7.76, 9.366");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3013, 0.327, 0.4165, 0.5888, 0.8578, 1.234, 1.731, 2.355, 3.117, 4.028",\
                 "0.3007, 0.3264, 0.4166, 0.5888, 0.8578, 1.235, 1.731, 2.355, 3.117, 4.028",\
                 "0.3088, 0.3321, 0.4174, 0.588, 0.857, 1.234, 1.732, 2.356, 3.118, 4.028",\
                 "0.3801, 0.4009, 0.4758, 0.6231, 0.8696, 1.236, 1.73, 2.355, 3.12, 4.028",\
                 "0.498, 0.5171, 0.5896, 0.731, 0.9606, 1.288, 1.749, 2.357, 3.118, 4.028",\
                 "0.6514, 0.6734, 0.7476, 0.8894, 1.112, 1.433, 1.859, 2.419, 3.14, 4.03",\
                 "0.8326, 0.8566, 0.939, 1.091, 1.318, 1.633, 2.056, 2.593, 3.259, 4.093",\
                 "1.038, 1.066, 1.159, 1.327, 1.567, 1.886, 2.304, 2.837, 3.495, 4.281",\
                 "1.271, 1.3, 1.405, 1.591, 1.852, 2.191, 2.614, 3.139, 3.792, 4.576",\
                 "1.52, 1.557, 1.677, 1.885, 2.172, 2.535, 2.976, 3.507, 4.151, 4.93");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.8277, 0.9126, 1.209, 1.77, 2.64, 3.855, 5.452, 7.461, 9.916, 12.84",\
                 "0.8278, 0.9118, 1.209, 1.771, 2.639, 3.855, 5.451, 7.461, 9.918, 12.84",\
                 "0.8278, 0.9122, 1.209, 1.769, 2.639, 3.855, 5.451, 7.462, 9.917, 12.84",\
                 "0.834, 0.9174, 1.209, 1.771, 2.639, 3.855, 5.454, 7.465, 9.917, 12.84",\
                 "0.8948, 0.9716, 1.243, 1.778, 2.64, 3.854, 5.452, 7.463, 9.916, 12.84",\
                 "0.976, 1.057, 1.335, 1.847, 2.664, 3.857, 5.454, 7.462, 9.916, 12.84",\
                 "1.074, 1.155, 1.435, 1.963, 2.757, 3.898, 5.457, 7.464, 9.918, 12.84",\
                 "1.217, 1.295, 1.562, 2.085, 2.899, 4.014, 5.514, 7.472, 9.918, 12.84",\
                 "1.395, 1.473, 1.737, 2.241, 3.055, 4.186, 5.653, 7.546, 9.932, 12.84",\
                 "1.601, 1.683, 1.953, 2.448, 3.235, 4.374, 5.853, 7.703, 10.02, 12.86");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1932, 0.2104, 0.2674, 0.373, 0.534, 0.7573, 1.049, 1.416, 1.864, 2.397",\
                 "0.204, 0.2213, 0.2784, 0.3841, 0.5451, 0.7685, 1.061, 1.428, 1.875, 2.408",\
                 "0.2322, 0.2489, 0.306, 0.4116, 0.5729, 0.7963, 1.088, 1.456, 1.903, 2.436",\
                 "0.2657, 0.2853, 0.35, 0.4631, 0.6261, 0.8491, 1.141, 1.508, 1.955, 2.488",\
                 "0.283, 0.307, 0.3846, 0.5148, 0.6971, 0.9327, 1.226, 1.592, 2.038, 2.57",\
                 "0.2711, 0.3005, 0.3947, 0.5496, 0.7581, 1.019, 1.336, 1.712, 2.158, 2.689",\
                 "0.2248, 0.2597, 0.3711, 0.5557, 0.7981, 1.093, 1.439, 1.846, 2.314, 2.849",\
                 "0.1417, 0.1817, 0.3108, 0.5247, 0.8056, 1.141, 1.527, 1.967, 2.468, 3.035",\
                 "0.0201, 0.066, 0.2114, 0.4537, 0.7756, 1.156, 1.588, 2.071, 2.61, 3.213",\
                 "-0.1431, -0.0921, 0.0723, 0.3423, 0.7014, 1.13, 1.613, 2.147, 2.732, 3.375");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.666, 0.7137, 0.8814, 1.2, 1.696, 2.39, 3.302, 4.451, 5.854, 7.527",\
                 "0.6757, 0.7236, 0.8925, 1.212, 1.707, 2.401, 3.314, 4.464, 5.867, 7.538",\
                 "0.7159, 0.7641, 0.9333, 1.254, 1.75, 2.446, 3.359, 4.509, 5.913, 7.585",\
                 "0.789, 0.8375, 1.006, 1.325, 1.821, 2.516, 3.431, 4.581, 5.984, 7.656",\
                 "0.9157, 0.965, 1.134, 1.448, 1.939, 2.629, 3.539, 4.686, 6.088, 7.76",\
                 "1.103, 1.153, 1.328, 1.65, 2.132, 2.812, 3.714, 4.853, 6.249, 7.916",\
                 "1.363, 1.414, 1.591, 1.918, 2.413, 3.085, 3.97, 5.098, 6.483, 8.14",\
                 "1.688, 1.743, 1.928, 2.26, 2.764, 3.449, 4.326, 5.436, 6.806, 8.448",\
                 "2.07, 2.13, 2.329, 2.678, 3.189, 3.885, 4.778, 5.878, 7.227, 8.853",\
                 "2.506, 2.573, 2.789, 3.162, 3.691, 4.398, 5.307, 6.422, 7.76, 9.366");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3013, 0.327, 0.4165, 0.5888, 0.8578, 1.234, 1.731, 2.355, 3.117, 4.028",\
                 "0.3007, 0.3264, 0.4166, 0.5888, 0.8578, 1.235, 1.731, 2.355, 3.117, 4.028",\
                 "0.3088, 0.3321, 0.4174, 0.588, 0.857, 1.234, 1.732, 2.356, 3.118, 4.028",\
                 "0.3801, 0.4009, 0.4758, 0.6231, 0.8696, 1.236, 1.73, 2.355, 3.12, 4.028",\
                 "0.498, 0.5171, 0.5896, 0.731, 0.9606, 1.288, 1.749, 2.357, 3.118, 4.028",\
                 "0.6514, 0.6734, 0.7476, 0.8894, 1.112, 1.433, 1.859, 2.419, 3.14, 4.03",\
                 "0.8326, 0.8566, 0.939, 1.091, 1.318, 1.633, 2.056, 2.593, 3.259, 4.093",\
                 "1.038, 1.066, 1.159, 1.327, 1.567, 1.886, 2.304, 2.837, 3.495, 4.281",\
                 "1.271, 1.3, 1.405, 1.591, 1.852, 2.191, 2.614, 3.139, 3.792, 4.576",\
                 "1.52, 1.557, 1.677, 1.885, 2.172, 2.535, 2.976, 3.507, 4.151, 4.93");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.8277, 0.9126, 1.209, 1.77, 2.64, 3.855, 5.452, 7.461, 9.916, 12.84",\
                 "0.8278, 0.9118, 1.209, 1.771, 2.639, 3.855, 5.451, 7.461, 9.918, 12.84",\
                 "0.8278, 0.9122, 1.209, 1.769, 2.639, 3.855, 5.451, 7.462, 9.917, 12.84",\
                 "0.834, 0.9174, 1.209, 1.771, 2.639, 3.855, 5.454, 7.465, 9.917, 12.84",\
                 "0.8948, 0.9716, 1.243, 1.778, 2.64, 3.854, 5.452, 7.463, 9.916, 12.84",\
                 "0.976, 1.057, 1.335, 1.847, 2.664, 3.857, 5.454, 7.462, 9.916, 12.84",\
                 "1.074, 1.155, 1.435, 1.963, 2.757, 3.898, 5.457, 7.464, 9.918, 12.84",\
                 "1.217, 1.295, 1.562, 2.085, 2.899, 4.014, 5.514, 7.472, 9.918, 12.84",\
                 "1.395, 1.473, 1.737, 2.241, 3.055, 4.186, 5.653, 7.546, 9.932, 12.84",\
                 "1.601, 1.683, 1.953, 2.448, 3.235, 4.374, 5.853, 7.703, 10.02, 12.86");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2173, 0.2363, 0.2993, 0.4134, 0.582, 0.8114, 1.109, 1.479, 1.93, 2.465",\
                 "0.2281, 0.2471, 0.3107, 0.424, 0.5928, 0.8224, 1.119, 1.49, 1.941, 2.476",\
                 "0.2738, 0.2919, 0.3538, 0.4668, 0.6351, 0.8647, 1.162, 1.532, 1.983, 2.518",\
                 "0.3535, 0.3748, 0.4429, 0.5565, 0.722, 0.9501, 1.247, 1.617, 2.067, 2.602",\
                 "0.4151, 0.441, 0.5247, 0.6654, 0.8555, 1.09, 1.384, 1.753, 2.202, 2.736",\
                 "0.4528, 0.4843, 0.5837, 0.7508, 0.9773, 1.255, 1.578, 1.95, 2.396, 2.928",\
                 "0.4646, 0.5002, 0.6175, 0.8122, 1.073, 1.395, 1.769, 2.19, 2.656, 3.187",\
                 "0.4502, 0.4907, 0.6231, 0.846, 1.146, 1.51, 1.932, 2.408, 2.936, 3.509",\
                 "0.4072, 0.4531, 0.601, 0.8512, 1.188, 1.596, 2.068, 2.598, 3.185, 3.826",\
                 "0.3372, 0.3862, 0.5486, 0.8256, 1.2, 1.654, 2.176, 2.76, 3.405, 4.108");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3834, 0.4173, 0.5326, 0.7482, 1.081, 1.548, 2.161, 2.933, 3.875, 4.998",\
                 "0.3941, 0.4288, 0.546, 0.764, 1.098, 1.565, 2.18, 2.951, 3.894, 5.018",\
                 "0.4374, 0.472, 0.5902, 0.8093, 1.146, 1.616, 2.231, 3.004, 3.948, 5.071",\
                 "0.5097, 0.5459, 0.6666, 0.8861, 1.223, 1.693, 2.309, 3.084, 4.028, 5.151",\
                 "0.5945, 0.6348, 0.7685, 1.001, 1.338, 1.806, 2.419, 3.194, 4.137, 5.261",\
                 "0.7135, 0.7579, 0.9012, 1.149, 1.507, 1.978, 2.587, 3.355, 4.295, 5.418",\
                 "0.8617, 0.9132, 1.076, 1.342, 1.717, 2.212, 2.827, 3.587, 4.521, 5.636",\
                 "1.043, 1.103, 1.286, 1.58, 1.977, 2.49, 3.132, 3.902, 4.825, 5.931",\
                 "1.257, 1.323, 1.53, 1.856, 2.286, 2.822, 3.483, 4.282, 5.219, 6.314",\
                 "1.499, 1.574, 1.803, 2.166, 2.634, 3.206, 3.889, 4.711, 5.678, 6.791");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3011, 0.3301, 0.4294, 0.6104, 0.8848, 1.265, 1.763, 2.391, 3.154, 4.065",\
                 "0.3006, 0.3302, 0.4295, 0.6107, 0.8849, 1.266, 1.764, 2.392, 3.154, 4.065",\
                 "0.2898, 0.3194, 0.4229, 0.6082, 0.8847, 1.266, 1.764, 2.392, 3.155, 4.066",\
                 "0.3667, 0.3924, 0.4752, 0.6265, 0.8829, 1.264, 1.764, 2.39, 3.154, 4.066",\
                 "0.4822, 0.5128, 0.6108, 0.7722, 0.9938, 1.31, 1.771, 2.39, 3.154, 4.065",\
                 "0.6236, 0.66, 0.7708, 0.9528, 1.203, 1.519, 1.91, 2.447, 3.163, 4.065",\
                 "0.79, 0.833, 0.9608, 1.165, 1.44, 1.788, 2.208, 2.695, 3.315, 4.12",\
                 "0.977, 1.027, 1.174, 1.408, 1.71, 2.085, 2.539, 3.07, 3.669, 4.384",\
                 "1.182, 1.239, 1.409, 1.676, 2.014, 2.419, 2.903, 3.471, 4.122, 4.844",\
                 "1.407, 1.472, 1.667, 1.969, 2.347, 2.791, 3.307, 3.908, 4.596, 5.373");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3974, 0.452, 0.647, 1.021, 1.604, 2.416, 3.485, 4.827, 6.469, 8.442",\
                 "0.399, 0.4529, 0.6465, 1.023, 1.604, 2.418, 3.486, 4.834, 6.471, 8.43",\
                 "0.4029, 0.4553, 0.6485, 1.022, 1.603, 2.414, 3.484, 4.836, 6.483, 8.429",\
                 "0.4424, 0.4891, 0.6633, 1.025, 1.602, 2.415, 3.487, 4.831, 6.467, 8.438",\
                 "0.5282, 0.5778, 0.7522, 1.077, 1.616, 2.418, 3.488, 4.836, 6.472, 8.441",\
                 "0.6552, 0.6984, 0.8668, 1.201, 1.711, 2.453, 3.491, 4.834, 6.477, 8.443",\
                 "0.8436, 0.8828, 1.036, 1.348, 1.867, 2.586, 3.564, 4.847, 6.477, 8.442",\
                 "1.058, 1.099, 1.25, 1.551, 2.051, 2.779, 3.725, 4.948, 6.511, 8.435",\
                 "1.285, 1.33, 1.493, 1.803, 2.284, 2.995, 3.956, 5.149, 6.65, 8.495",\
                 "1.524, 1.573, 1.751, 2.082, 2.579, 3.264, 4.209, 5.42, 6.878, 8.656");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2034, 0.2227, 0.2855, 0.3981, 0.5661, 0.7947, 1.091, 1.461, 1.911, 2.446",\
                 "0.2142, 0.2335, 0.2962, 0.4086, 0.5765, 0.8052, 1.102, 1.472, 1.922, 2.456",\
                 "0.2607, 0.2784, 0.3394, 0.4513, 0.6185, 0.8472, 1.143, 1.514, 1.963, 2.498",\
                 "0.3348, 0.3563, 0.4253, 0.5405, 0.705, 0.9324, 1.228, 1.598, 2.047, 2.582",\
                 "0.3873, 0.4138, 0.4993, 0.6427, 0.8356, 1.071, 1.365, 1.733, 2.182, 2.715",\
                 "0.4129, 0.4453, 0.5487, 0.7201, 0.9507, 1.231, 1.557, 1.929, 2.375, 2.907",\
                 "0.4107, 0.4469, 0.569, 0.7703, 1.038, 1.364, 1.741, 2.166, 2.634, 3.165",\
                 "0.3772, 0.4204, 0.5596, 0.79, 1.098, 1.469, 1.895, 2.377, 2.908, 3.484",\
                 "0.3141, 0.3616, 0.5179, 0.7775, 1.125, 1.543, 2.022, 2.558, 3.15, 3.793",\
                 "0.2211, 0.2747, 0.4448, 0.7319, 1.118, 1.584, 2.117, 2.71, 3.359, 4.068");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4434, 0.4847, 0.628, 0.8968, 1.315, 1.899, 2.667, 3.636, 4.816, 6.224",\
                 "0.4519, 0.4947, 0.6404, 0.9116, 1.331, 1.917, 2.686, 3.654, 4.835, 6.243",\
                 "0.4886, 0.5311, 0.6773, 0.9516, 1.374, 1.962, 2.732, 3.702, 4.884, 6.292",\
                 "0.5482, 0.5917, 0.738, 1.011, 1.433, 2.022, 2.794, 3.764, 4.947, 6.357",\
                 "0.6229, 0.6691, 0.8251, 1.105, 1.523, 2.108, 2.878, 3.848, 5.03, 6.439",\
                 "0.7391, 0.7876, 0.9499, 1.24, 1.669, 2.247, 3.009, 3.973, 5.151, 6.556",\
                 "0.8903, 0.9466, 1.125, 1.426, 1.865, 2.456, 3.21, 4.161, 5.331, 6.728",\
                 "1.079, 1.143, 1.341, 1.667, 2.118, 2.72, 3.488, 4.429, 5.583, 6.969",\
                 "1.299, 1.37, 1.592, 1.95, 2.431, 3.043, 3.822, 4.779, 5.924, 7.292",\
                 "1.55, 1.628, 1.875, 2.27, 2.789, 3.428, 4.217, 5.189, 6.35, 7.708");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2831, 0.3127, 0.4111, 0.5908, 0.8646, 1.245, 1.742, 2.369, 3.132, 4.043",\
                 "0.2812, 0.3114, 0.4107, 0.5908, 0.8644, 1.245, 1.743, 2.369, 3.132, 4.042",\
                 "0.2744, 0.3031, 0.4033, 0.5882, 0.8635, 1.245, 1.742, 2.369, 3.132, 4.043",\
                 "0.3579, 0.3841, 0.4666, 0.6129, 0.8645, 1.243, 1.741, 2.368, 3.133, 4.043",\
                 "0.4764, 0.5074, 0.6032, 0.7636, 0.9828, 1.294, 1.749, 2.368, 3.132, 4.042",\
                 "0.6254, 0.66, 0.7696, 0.9498, 1.196, 1.511, 1.9, 2.429, 3.143, 4.043",\
                 "0.7996, 0.8414, 0.9688, 1.168, 1.439, 1.783, 2.2, 2.685, 3.3, 4.104",\
                 "0.9984, 1.048, 1.193, 1.423, 1.718, 2.086, 2.536, 3.063, 3.661, 4.371",\
                 "1.223, 1.28, 1.448, 1.709, 2.035, 2.433, 2.909, 3.473, 4.117, 4.841",\
                 "1.48, 1.539, 1.734, 2.027, 2.391, 2.821, 3.326, 3.917, 4.604, 5.373");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4929, 0.5627, 0.8081, 1.276, 2.001, 3.015, 4.352, 6.033, 8.079, 10.53",\
                 "0.4947, 0.5628, 0.8086, 1.276, 1.999, 3.014, 4.353, 6.031, 8.087, 10.52",\
                 "0.4968, 0.5653, 0.8084, 1.276, 2.002, 3.014, 4.348, 6.029, 8.081, 10.53",\
                 "0.525, 0.5877, 0.8151, 1.276, 2, 3.017, 4.352, 6.035, 8.09, 10.53",\
                 "0.5996, 0.6634, 0.8846, 1.309, 2.006, 3.018, 4.352, 6.03, 8.086, 10.53",\
                 "0.715, 0.7712, 0.9842, 1.409, 2.066, 3.029, 4.352, 6.032, 8.088, 10.53",\
                 "0.901, 0.9538, 1.14, 1.537, 2.193, 3.117, 4.384, 6.038, 8.079, 10.53",\
                 "1.117, 1.17, 1.355, 1.724, 2.35, 3.275, 4.492, 6.084, 8.095, 10.53",\
                 "1.349, 1.406, 1.604, 1.976, 2.564, 3.463, 4.674, 6.217, 8.159, 10.54",\
                 "1.597, 1.656, 1.871, 2.266, 2.849, 3.698, 4.893, 6.427, 8.316, 10.64");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2126, 0.2315, 0.2946, 0.4081, 0.5766, 0.8056, 1.102, 1.472, 1.921, 2.456",\
                 "0.2233, 0.2422, 0.3053, 0.4187, 0.5872, 0.8162, 1.112, 1.482, 1.932, 2.467",\
                 "0.2687, 0.2866, 0.3483, 0.461, 0.6292, 0.8581, 1.154, 1.524, 1.974, 2.508",\
                 "0.3471, 0.368, 0.4361, 0.5503, 0.7156, 0.943, 1.239, 1.608, 2.058, 2.592",\
                 "0.4063, 0.4319, 0.5159, 0.6571, 0.8482, 1.082, 1.376, 1.744, 2.192, 2.725",\
                 "0.4402, 0.4708, 0.5709, 0.7388, 0.9657, 1.244, 1.568, 1.94, 2.386, 2.917",\
                 "0.4455, 0.481, 0.5969, 0.7935, 1.057, 1.379, 1.754, 2.178, 2.645, 3.175",\
                 "0.4205, 0.4608, 0.5932, 0.8171, 1.12, 1.487, 1.912, 2.391, 2.921, 3.496",\
                 "0.3641, 0.4097, 0.5574, 0.81, 1.15, 1.565, 2.04, 2.574, 3.164, 3.807",\
                 "0.2788, 0.328, 0.4907, 0.7695, 1.148, 1.608, 2.138, 2.727, 3.375, 4.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5175, 0.5589, 0.7018, 0.9708, 1.388, 1.973, 2.742, 3.71, 4.891, 6.3",\
                 "0.5284, 0.5698, 0.715, 0.9859, 1.406, 1.991, 2.76, 3.728, 4.91, 6.319",\
                 "0.5651, 0.6067, 0.7526, 1.026, 1.448, 2.036, 2.807, 3.777, 4.959, 6.367",\
                 "0.6258, 0.668, 0.8129, 1.086, 1.508, 2.096, 2.868, 3.839, 5.023, 6.433",\
                 "0.706, 0.7509, 0.9031, 1.179, 1.597, 2.182, 2.952, 3.922, 5.105, 6.515",\
                 "0.8258, 0.8727, 1.03, 1.318, 1.742, 2.321, 3.083, 4.048, 5.226, 6.631",\
                 "0.9894, 1.041, 1.21, 1.504, 1.94, 2.529, 3.283, 4.236, 5.405, 6.802",\
                 "1.19, 1.248, 1.434, 1.749, 2.195, 2.794, 3.56, 4.502, 5.656, 7.045",\
                 "1.424, 1.489, 1.696, 2.039, 2.509, 3.119, 3.896, 4.852, 5.996, 7.366",\
                 "1.688, 1.759, 1.989, 2.366, 2.872, 3.505, 4.292, 5.263, 6.421, 7.78");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3395, 0.3666, 0.4606, 0.6377, 0.9092, 1.288, 1.786, 2.411, 3.176, 4.085",\
                 "0.3377, 0.3652, 0.46, 0.6373, 0.9085, 1.288, 1.787, 2.411, 3.177, 4.085",\
                 "0.3304, 0.3571, 0.4536, 0.6349, 0.908, 1.289, 1.787, 2.412, 3.176, 4.085",\
                 "0.4192, 0.4419, 0.5162, 0.6603, 0.9093, 1.287, 1.787, 2.413, 3.176, 4.085",\
                 "0.554, 0.5792, 0.666, 0.8156, 1.029, 1.339, 1.794, 2.413, 3.176, 4.085",\
                 "0.7178, 0.7486, 0.8444, 1.011, 1.249, 1.556, 1.942, 2.472, 3.188, 4.086",\
                 "0.9124, 0.9472, 1.057, 1.243, 1.5, 1.835, 2.245, 2.729, 3.343, 4.145",\
                 "1.132, 1.173, 1.3, 1.51, 1.79, 2.147, 2.588, 3.111, 3.705, 4.415",\
                 "1.38, 1.426, 1.576, 1.81, 2.117, 2.501, 2.968, 3.528, 4.166, 4.884",\
                 "1.66, 1.714, 1.877, 2.143, 2.482, 2.9, 3.394, 3.977, 4.658, 5.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5871, 0.6571, 0.9041, 1.371, 2.097, 3.113, 4.448, 6.128, 8.179, 10.62",\
                 "0.5879, 0.6579, 0.9031, 1.371, 2.098, 3.113, 4.448, 6.128, 8.18, 10.62",\
                 "0.589, 0.6586, 0.9035, 1.371, 2.098, 3.113, 4.448, 6.128, 8.178, 10.62",\
                 "0.6051, 0.6706, 0.9072, 1.372, 2.098, 3.113, 4.447, 6.129, 8.179, 10.62",\
                 "0.6798, 0.7444, 0.9652, 1.396, 2.1, 3.114, 4.448, 6.128, 8.18, 10.62",\
                 "0.78, 0.8414, 1.063, 1.491, 2.154, 3.125, 4.448, 6.13, 8.179, 10.62",\
                 "0.9512, 1.006, 1.206, 1.617, 2.278, 3.206, 4.475, 6.13, 8.18, 10.62",\
                 "1.166, 1.22, 1.415, 1.793, 2.432, 3.358, 4.582, 6.176, 8.184, 10.62",\
                 "1.395, 1.456, 1.66, 2.038, 2.638, 3.543, 4.761, 6.308, 8.253, 10.64",\
                 "1.644, 1.711, 1.929, 2.326, 2.915, 3.778, 4.981, 6.515, 8.408, 10.73");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1638, 0.1843, 0.2517, 0.3704, 0.5438, 0.7772, 1.077, 1.45, 1.902, 2.438",\
                 "0.1758, 0.196, 0.263, 0.3815, 0.5547, 0.788, 1.088, 1.461, 1.912, 2.449",\
                 "0.228, 0.2462, 0.3089, 0.4247, 0.597, 0.8301, 1.13, 1.503, 1.954, 2.49",\
                 "0.2968, 0.3203, 0.395, 0.5162, 0.6842, 0.915, 1.214, 1.586, 2.038, 2.574",\
                 "0.3428, 0.3718, 0.464, 0.6156, 0.8147, 1.055, 1.351, 1.721, 2.172, 2.707",\
                 "0.3615, 0.3966, 0.5083, 0.6892, 0.9268, 1.213, 1.543, 1.917, 2.365, 2.898",\
                 "0.3519, 0.3927, 0.5227, 0.7343, 1.011, 1.343, 1.725, 2.154, 2.624, 3.156",\
                 "0.3124, 0.359, 0.5072, 0.7491, 1.067, 1.446, 1.878, 2.363, 2.897, 3.476",\
                 "0.2435, 0.2953, 0.4597, 0.7326, 1.09, 1.516, 2.003, 2.542, 3.137, 3.784",\
                 "0.146, 0.2017, 0.3826, 0.6806, 1.079, 1.554, 2.094, 2.692, 3.346, 4.057");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4457, 0.4874, 0.6301, 0.897, 1.31, 1.887, 2.648, 3.605, 4.775, 6.167",\
                 "0.4545, 0.4974, 0.6425, 0.9123, 1.327, 1.906, 2.667, 3.625, 4.793, 6.187",\
                 "0.4954, 0.5378, 0.6842, 0.9559, 1.373, 1.954, 2.717, 3.677, 4.847, 6.24",\
                 "0.5661, 0.6098, 0.756, 1.026, 1.444, 2.027, 2.79, 3.75, 4.922, 6.319",\
                 "0.651, 0.6974, 0.8527, 1.129, 1.544, 2.122, 2.884, 3.845, 5.015, 6.409",\
                 "0.7695, 0.8189, 0.98, 1.267, 1.692, 2.266, 3.021, 3.976, 5.142, 6.534",\
                 "0.9195, 0.9748, 1.152, 1.451, 1.887, 2.474, 3.222, 4.165, 5.324, 6.707",\
                 "1.1, 1.164, 1.362, 1.687, 2.135, 2.734, 3.496, 4.431, 5.575, 6.95",\
                 "1.314, 1.386, 1.609, 1.965, 2.442, 3.052, 3.828, 4.779, 5.914, 7.274",\
                 "1.56, 1.64, 1.886, 2.28, 2.796, 3.434, 4.219, 5.185, 6.338, 7.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2669, 0.2982, 0.4026, 0.5884, 0.8636, 1.246, 1.743, 2.37, 3.133, 4.044",\
                 "0.263, 0.2954, 0.4008, 0.5861, 0.864, 1.245, 1.743, 2.369, 3.132, 4.043",\
                 "0.2621, 0.2895, 0.389, 0.5813, 0.8622, 1.243, 1.742, 2.369, 3.134, 4.043",\
                 "0.3575, 0.3837, 0.4669, 0.6098, 0.8599, 1.241, 1.742, 2.369, 3.133, 4.042",\
                 "0.484, 0.5128, 0.6084, 0.7664, 0.985, 1.293, 1.748, 2.368, 3.134, 4.043",\
                 "0.6368, 0.6736, 0.782, 0.9578, 1.201, 1.512, 1.898, 2.428, 3.142, 4.041",\
                 "0.8164, 0.8574, 0.9856, 1.185, 1.45, 1.788, 2.201, 2.686, 3.301, 4.102",\
                 "1.019, 1.068, 1.217, 1.445, 1.737, 2.099, 2.544, 3.065, 3.661, 4.375",\
                 "1.247, 1.307, 1.477, 1.737, 2.062, 2.451, 2.92, 3.48, 4.12, 4.839",\
                 "1.505, 1.572, 1.765, 2.057, 2.424, 2.845, 3.343, 3.93, 4.611, 5.375");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4175, 0.4854, 0.7268, 1.192, 1.919, 2.931, 4.271, 5.949, 8.003, 10.44",\
                 "0.419, 0.487, 0.7268, 1.192, 1.92, 2.93, 4.266, 5.944, 8.005, 10.45",\
                 "0.4238, 0.4899, 0.7279, 1.192, 1.919, 2.93, 4.27, 5.952, 8.003, 10.45",\
                 "0.4501, 0.5107, 0.737, 1.194, 1.919, 2.93, 4.262, 5.952, 8.01, 10.45",\
                 "0.514, 0.5788, 0.8004, 1.225, 1.92, 2.933, 4.27, 5.951, 7.99, 10.44",\
                 "0.6046, 0.6654, 0.8866, 1.32, 1.98, 2.949, 4.269, 5.946, 8.004, 10.43",\
                 "0.7688, 0.8252, 1.027, 1.44, 2.106, 3.032, 4.301, 5.954, 8.004, 10.45",\
                 "0.971, 1.03, 1.233, 1.619, 2.256, 3.185, 4.406, 6.001, 8.007, 10.44",\
                 "1.191, 1.253, 1.472, 1.864, 2.466, 3.372, 4.589, 6.131, 8.082, 10.46",\
                 "1.426, 1.492, 1.73, 2.149, 2.752, 3.612, 4.807, 6.341, 8.231, 10.54");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1574, 0.1774, 0.2433, 0.3603, 0.5318, 0.7637, 1.062, 1.434, 1.885, 2.421",\
                 "0.1691, 0.1888, 0.2544, 0.371, 0.5424, 0.7742, 1.073, 1.444, 1.896, 2.431",\
                 "0.2204, 0.2384, 0.2999, 0.414, 0.5845, 0.8159, 1.114, 1.486, 1.937, 2.473",\
                 "0.2827, 0.3065, 0.382, 0.5043, 0.6713, 0.9007, 1.198, 1.57, 2.021, 2.556",\
                 "0.3198, 0.3497, 0.4443, 0.5973, 0.7978, 1.04, 1.335, 1.704, 2.154, 2.689",\
                 "0.3265, 0.363, 0.4781, 0.6631, 0.9041, 1.193, 1.524, 1.9, 2.347, 2.879",\
                 "0.3019, 0.3448, 0.4798, 0.698, 0.9807, 1.317, 1.701, 2.132, 2.604, 3.136",\
                 "0.2443, 0.2932, 0.4484, 0.698, 1.024, 1.41, 1.848, 2.336, 2.872, 3.453",\
                 "0.1547, 0.2085, 0.3815, 0.6642, 1.033, 1.469, 1.962, 2.507, 3.106, 3.755",\
                 "0.0326, 0.0917, 0.2808, 0.5941, 1.004, 1.492, 2.042, 2.647, 3.307, 4.022");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5007, 0.55, 0.7195, 1.039, 1.534, 2.227, 3.139, 4.288, 5.69, 7.36",\
                 "0.5078, 0.5584, 0.7312, 1.054, 1.55, 2.245, 3.158, 4.308, 5.709, 7.379",\
                 "0.5418, 0.5922, 0.7658, 1.091, 1.591, 2.288, 3.203, 4.354, 5.757, 7.429",\
                 "0.6005, 0.6508, 0.8232, 1.147, 1.646, 2.345, 3.262, 4.413, 5.818, 7.49",\
                 "0.6742, 0.7275, 0.9064, 1.23, 1.726, 2.42, 3.335, 4.485, 5.89, 7.561",\
                 "0.7915, 0.8461, 1.028, 1.359, 1.856, 2.54, 3.446, 4.591, 5.989, 7.657",\
                 "0.9478, 1.009, 1.204, 1.54, 2.043, 2.729, 3.619, 4.751, 6.139, 7.8",\
                 "1.14, 1.21, 1.427, 1.784, 2.29, 2.981, 3.873, 4.986, 6.358, 8.005",\
                 "1.368, 1.446, 1.688, 2.078, 2.606, 3.299, 4.196, 5.308, 6.66, 8.288",\
                 "1.629, 1.716, 1.984, 2.412, 2.978, 3.686, 4.586, 5.707, 7.055, 8.658");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2517, 0.2834, 0.3862, 0.5704, 0.8452, 1.225, 1.722, 2.348, 3.11, 4.02",\
                 "0.249, 0.2801, 0.3839, 0.5693, 0.8446, 1.224, 1.721, 2.347, 3.111, 4.02",\
                 "0.2524, 0.2783, 0.3746, 0.5621, 0.8419, 1.223, 1.722, 2.346, 3.112, 4.022",\
                 "0.3505, 0.3759, 0.4577, 0.5987, 0.8434, 1.219, 1.72, 2.349, 3.112, 4.021",\
                 "0.4774, 0.5073, 0.6024, 0.758, 0.9756, 1.279, 1.73, 2.347, 3.111, 4.022",\
                 "0.6354, 0.6712, 0.7798, 0.9534, 1.196, 1.502, 1.886, 2.412, 3.121, 4.02",\
                 "0.8228, 0.8648, 0.9904, 1.186, 1.447, 1.78, 2.191, 2.675, 3.284, 4.084",\
                 "1.038, 1.087, 1.234, 1.456, 1.742, 2.099, 2.537, 3.058, 3.652, 4.361",\
                 "1.289, 1.345, 1.514, 1.762, 2.079, 2.46, 2.925, 3.478, 4.114, 4.834",\
                 "1.566, 1.634, 1.821, 2.111, 2.457, 2.873, 3.359, 3.934, 4.612, 5.373");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4974, 0.5805, 0.8717, 1.43, 2.298, 3.513, 5.108, 7.118, 9.565, 12.5",\
                 "0.4988, 0.5811, 0.8717, 1.43, 2.298, 3.514, 5.106, 7.121, 9.56, 12.49",\
                 "0.5012, 0.5824, 0.8728, 1.431, 2.298, 3.515, 5.111, 7.123, 9.57, 12.5",\
                 "0.5211, 0.5968, 0.8778, 1.43, 2.298, 3.507, 5.107, 7.112, 9.575, 12.48",\
                 "0.5798, 0.6584, 0.9286, 1.448, 2.299, 3.513, 5.107, 7.113, 9.579, 12.48",\
                 "0.6682, 0.7396, 1.007, 1.528, 2.337, 3.518, 5.108, 7.11, 9.575, 12.5",\
                 "0.8384, 0.9044, 1.139, 1.634, 2.436, 3.57, 5.125, 7.119, 9.579, 12.5",\
                 "1.051, 1.12, 1.351, 1.801, 2.568, 3.69, 5.198, 7.132, 9.561, 12.49",\
                 "1.286, 1.357, 1.601, 2.048, 2.76, 3.849, 5.328, 7.231, 9.591, 12.5",\
                 "1.539, 1.614, 1.876, 2.345, 3.026, 4.059, 5.517, 7.382, 9.698, 12.52");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1656, 0.1858, 0.2521, 0.37, 0.5424, 0.7745, 1.073, 1.445, 1.895, 2.431",\
                 "0.1772, 0.1969, 0.2631, 0.3806, 0.553, 0.785, 1.083, 1.455, 1.906, 2.441",\
                 "0.2279, 0.246, 0.3082, 0.4234, 0.5949, 0.8267, 1.125, 1.497, 1.947, 2.483",\
                 "0.2959, 0.3193, 0.3933, 0.5142, 0.6818, 0.9115, 1.209, 1.58, 2.031, 2.566",\
                 "0.3415, 0.3701, 0.4618, 0.6121, 0.8108, 1.051, 1.345, 1.715, 2.165, 2.699",\
                 "0.3585, 0.3926, 0.5026, 0.6824, 0.9199, 1.206, 1.536, 1.91, 2.357, 2.89",\
                 "0.3441, 0.3839, 0.5112, 0.7221, 0.9999, 1.332, 1.715, 2.144, 2.614, 3.147",\
                 "0.2961, 0.341, 0.4868, 0.7281, 1.048, 1.429, 1.863, 2.35, 2.885, 3.464",\
                 "0.216, 0.2655, 0.4275, 0.6996, 1.06, 1.491, 1.98, 2.523, 3.12, 3.768",\
                 "0.1037, 0.1577, 0.3347, 0.6342, 1.036, 1.517, 2.063, 2.665, 3.322, 4.036");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5889, 0.6381, 0.8072, 1.127, 1.622, 2.315, 3.227, 4.377, 5.779, 7.45",\
                 "0.599, 0.6484, 0.8197, 1.142, 1.639, 2.333, 3.247, 4.396, 5.798, 7.47",\
                 "0.6334, 0.6833, 0.8554, 1.18, 1.68, 2.378, 3.292, 4.443, 5.847, 7.519",\
                 "0.6913, 0.7406, 0.9114, 1.235, 1.735, 2.434, 3.35, 4.503, 5.907, 7.582",\
                 "0.7696, 0.8211, 0.9968, 1.318, 1.814, 2.509, 3.423, 4.574, 5.979, 7.652",\
                 "0.8885, 0.9407, 1.119, 1.448, 1.942, 2.628, 3.533, 4.679, 6.079, 7.748",\
                 "1.056, 1.112, 1.298, 1.629, 2.13, 2.814, 3.706, 4.839, 6.228, 7.89",\
                 "1.262, 1.325, 1.529, 1.875, 2.378, 3.068, 3.958, 5.073, 6.446, 8.092",\
                 "1.504, 1.575, 1.8, 2.175, 2.694, 3.386, 4.281, 5.393, 6.745, 8.374",\
                 "1.779, 1.859, 2.108, 2.517, 3.069, 3.774, 4.672, 5.791, 7.139, 8.746");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3113, 0.3401, 0.4377, 0.6168, 0.889, 1.269, 1.764, 2.391, 3.155, 4.065",\
                 "0.3076, 0.3369, 0.4355, 0.6158, 0.8898, 1.269, 1.765, 2.39, 3.154, 4.063",\
                 "0.3097, 0.3338, 0.426, 0.6104, 0.8867, 1.267, 1.766, 2.391, 3.153, 4.065",\
                 "0.4167, 0.4384, 0.5109, 0.6465, 0.8892, 1.265, 1.764, 2.391, 3.154, 4.063",\
                 "0.562, 0.586, 0.6676, 0.8126, 1.021, 1.324, 1.774, 2.391, 3.154, 4.064",\
                 "0.7404, 0.7692, 0.8612, 1.018, 1.25, 1.551, 1.93, 2.455, 3.165, 4.063",\
                 "0.9496, 0.9826, 1.088, 1.263, 1.511, 1.838, 2.239, 2.718, 3.329, 4.128",\
                 "1.191, 1.229, 1.349, 1.547, 1.817, 2.162, 2.592, 3.106, 3.697, 4.404",\
                 "1.464, 1.512, 1.651, 1.869, 2.164, 2.531, 2.985, 3.533, 4.163, 4.878",\
                 "1.775, 1.825, 1.98, 2.234, 2.554, 2.952, 3.428, 3.996, 4.663, 5.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6088, 0.6927, 0.9865, 1.545, 2.413, 3.626, 5.221, 7.232, 9.682, 12.6",\
                 "0.6091, 0.6927, 0.9864, 1.545, 2.413, 3.626, 5.222, 7.23, 9.683, 12.61",\
                 "0.6105, 0.6945, 0.9866, 1.546, 2.412, 3.626, 5.221, 7.229, 9.682, 12.6",\
                 "0.6205, 0.7012, 0.9894, 1.546, 2.413, 3.626, 5.221, 7.229, 9.68, 12.6",\
                 "0.6804, 0.7586, 1.029, 1.558, 2.414, 3.627, 5.221, 7.23, 9.68, 12.6",\
                 "0.7558, 0.833, 1.109, 1.631, 2.444, 3.629, 5.222, 7.23, 9.68, 12.6",\
                 "0.9084, 0.9768, 1.226, 1.734, 2.54, 3.681, 5.231, 7.231, 9.682, 12.6",\
                 "1.117, 1.186, 1.423, 1.887, 2.671, 3.797, 5.3, 7.249, 9.682, 12.6",\
                 "1.35, 1.425, 1.672, 2.119, 2.851, 3.956, 5.437, 7.335, 9.709, 12.61",\
                 "1.604, 1.684, 1.949, 2.413, 3.107, 4.159, 5.621, 7.491, 9.814, 12.65");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1726, 0.1933, 0.261, 0.3805, 0.5544, 0.7879, 1.088, 1.46, 1.912, 2.448",\
                 "0.1843, 0.2048, 0.2722, 0.3914, 0.5653, 0.7988, 1.098, 1.471, 1.923, 2.459",\
                 "0.2359, 0.2543, 0.3176, 0.4345, 0.6076, 0.8408, 1.14, 1.513, 1.964, 2.5",\
                 "0.3104, 0.3334, 0.4065, 0.5263, 0.6947, 0.9258, 1.225, 1.597, 2.048, 2.583",\
                 "0.3646, 0.3922, 0.4819, 0.6301, 0.8271, 1.066, 1.361, 1.732, 2.181, 2.717",\
                 "0.3927, 0.4254, 0.532, 0.708, 0.9422, 1.226, 1.554, 1.928, 2.375, 2.908",\
                 "0.3923, 0.43, 0.5528, 0.7579, 1.03, 1.359, 1.739, 2.165, 2.634, 3.166",\
                 "0.3612, 0.4041, 0.5438, 0.7775, 1.089, 1.464, 1.894, 2.377, 2.909, 3.486",\
                 "0.3004, 0.3477, 0.5031, 0.7656, 1.116, 1.538, 2.02, 2.558, 3.151, 3.796",\
                 "0.2104, 0.262, 0.4317, 0.7205, 1.11, 1.579, 2.115, 2.71, 3.361, 4.072");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5188, 0.5596, 0.7014, 0.9683, 1.382, 1.96, 2.72, 3.678, 4.847, 6.241",\
                 "0.5297, 0.5713, 0.7151, 0.9838, 1.398, 1.978, 2.739, 3.697, 4.867, 6.261",\
                 "0.5708, 0.6124, 0.7574, 1.029, 1.445, 2.028, 2.79, 3.749, 4.919, 6.313",\
                 "0.6424, 0.6845, 0.8285, 1.099, 1.515, 2.099, 2.864, 3.823, 4.995, 6.389",\
                 "0.7322, 0.7774, 0.9286, 1.201, 1.615, 2.194, 2.957, 3.916, 5.088, 6.482",\
                 "0.8551, 0.9011, 1.058, 1.342, 1.764, 2.337, 3.093, 4.048, 5.215, 6.607",\
                 "1.016, 1.066, 1.234, 1.527, 1.96, 2.545, 3.292, 4.236, 5.396, 6.782",\
                 "1.209, 1.267, 1.453, 1.766, 2.21, 2.806, 3.568, 4.503, 5.648, 7.023",\
                 "1.437, 1.502, 1.708, 2.051, 2.519, 3.126, 3.9, 4.849, 5.984, 7.344",\
                 "1.696, 1.769, 1.998, 2.373, 2.878, 3.508, 4.292, 5.257, 6.408, 7.756");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3265, 0.3555, 0.4542, 0.6345, 0.9086, 1.289, 1.786, 2.41, 3.173, 4.083",\
                 "0.3229, 0.3524, 0.4523, 0.6336, 0.9077, 1.287, 1.786, 2.411, 3.174, 4.085",\
                 "0.32, 0.3454, 0.4408, 0.6278, 0.9059, 1.288, 1.786, 2.412, 3.175, 4.083",\
                 "0.4229, 0.4455, 0.5189, 0.6573, 0.9049, 1.284, 1.785, 2.41, 3.175, 4.085",\
                 "0.5651, 0.5898, 0.6736, 0.82, 1.03, 1.338, 1.79, 2.411, 3.173, 4.084",\
                 "0.7378, 0.7662, 0.8606, 1.022, 1.255, 1.558, 1.941, 2.472, 3.184, 4.085",\
                 "0.9368, 0.9708, 1.078, 1.26, 1.511, 1.843, 2.248, 2.729, 3.344, 4.145",\
                 "1.163, 1.202, 1.327, 1.532, 1.808, 2.159, 2.597, 3.112, 3.704, 4.416",\
                 "1.419, 1.462, 1.605, 1.838, 2.145, 2.519, 2.98, 3.533, 4.167, 4.883",\
                 "1.701, 1.752, 1.914, 2.175, 2.518, 2.923, 3.409, 3.987, 4.66, 5.423");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5061, 0.576, 0.8195, 1.286, 2.012, 3.026, 4.359, 6.039, 8.087, 10.53",\
                 "0.5064, 0.5765, 0.8196, 1.286, 2.011, 3.026, 4.359, 6.038, 8.091, 10.54",\
                 "0.5096, 0.5781, 0.8202, 1.286, 2.011, 3.027, 4.36, 6.038, 8.086, 10.53",\
                 "0.5248, 0.5895, 0.8248, 1.287, 2.01, 3.026, 4.362, 6.039, 8.085, 10.53",\
                 "0.5912, 0.6564, 0.8788, 1.309, 2.013, 3.026, 4.36, 6.038, 8.088, 10.53",\
                 "0.6746, 0.738, 0.9674, 1.401, 2.066, 3.037, 4.36, 6.04, 8.089, 10.53",\
                 "0.8258, 0.8844, 1.096, 1.518, 2.188, 3.117, 4.386, 6.041, 8.09, 10.54",\
                 "1.023, 1.085, 1.295, 1.689, 2.337, 3.269, 4.493, 6.086, 8.094, 10.53",\
                 "1.244, 1.309, 1.532, 1.925, 2.539, 3.451, 4.673, 6.221, 8.162, 10.54",\
                 "1.479, 1.551, 1.792, 2.209, 2.822, 3.683, 4.893, 6.429, 8.321, 10.64");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1656, 0.1857, 0.2521, 0.3699, 0.5422, 0.7742, 1.073, 1.444, 1.895, 2.431",\
                 "0.177, 0.1969, 0.2631, 0.3806, 0.5528, 0.7848, 1.083, 1.455, 1.906, 2.441",\
                 "0.2279, 0.246, 0.3082, 0.4233, 0.5947, 0.8265, 1.125, 1.496, 1.947, 2.482",\
                 "0.296, 0.3192, 0.3932, 0.5141, 0.6816, 0.9113, 1.209, 1.58, 2.031, 2.566",\
                 "0.3413, 0.3699, 0.4615, 0.6118, 0.8106, 1.05, 1.345, 1.715, 2.164, 2.699",\
                 "0.358, 0.392, 0.5021, 0.6821, 0.9194, 1.206, 1.536, 1.91, 2.357, 2.889",\
                 "0.3431, 0.3829, 0.5104, 0.7217, 0.9995, 1.332, 1.715, 2.144, 2.614, 3.146",\
                 "0.2948, 0.3398, 0.4856, 0.7275, 1.047, 1.428, 1.863, 2.35, 2.885, 3.464",\
                 "0.2143, 0.264, 0.4261, 0.6986, 1.059, 1.491, 1.98, 2.523, 3.12, 3.768",\
                 "0.1017, 0.1559, 0.3332, 0.6331, 1.036, 1.516, 2.062, 2.664, 3.322, 4.035");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5873, 0.6362, 0.8053, 1.125, 1.62, 2.313, 3.226, 4.375, 5.777, 7.447",\
                 "0.597, 0.6465, 0.8179, 1.14, 1.637, 2.331, 3.245, 4.394, 5.796, 7.468",\
                 "0.6311, 0.6812, 0.8535, 1.178, 1.678, 2.375, 3.29, 4.441, 5.845, 7.517",\
                 "0.6895, 0.7389, 0.9101, 1.233, 1.733, 2.432, 3.348, 4.501, 5.905, 7.58",\
                 "0.7673, 0.8191, 0.9949, 1.316, 1.812, 2.507, 3.42, 4.572, 5.976, 7.65",\
                 "0.8867, 0.9387, 1.117, 1.446, 1.94, 2.625, 3.532, 4.677, 6.076, 7.745",\
                 "1.053, 1.11, 1.296, 1.627, 2.129, 2.812, 3.705, 4.837, 6.227, 7.886",\
                 "1.259, 1.322, 1.527, 1.873, 2.376, 3.066, 3.955, 5.071, 6.443, 8.091",\
                 "1.501, 1.572, 1.798, 2.173, 2.692, 3.383, 4.28, 5.391, 6.744, 8.373",\
                 "1.777, 1.855, 2.105, 2.514, 3.068, 3.772, 4.67, 5.789, 7.138, 8.744");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3098, 0.3387, 0.4364, 0.6157, 0.8891, 1.267, 1.764, 2.39, 3.153, 4.063",\
                 "0.3062, 0.3355, 0.4342, 0.6147, 0.888, 1.267, 1.763, 2.388, 3.153, 4.063",\
                 "0.3082, 0.3327, 0.4247, 0.6092, 0.8864, 1.267, 1.764, 2.389, 3.153, 4.063",\
                 "0.4153, 0.4368, 0.5097, 0.6455, 0.888, 1.264, 1.763, 2.39, 3.152, 4.063",\
                 "0.56, 0.5841, 0.666, 0.811, 1.02, 1.323, 1.772, 2.389, 3.153, 4.063",\
                 "0.7378, 0.7658, 0.8588, 1.017, 1.247, 1.549, 1.929, 2.455, 3.164, 4.063",\
                 "0.9466, 0.9786, 1.086, 1.262, 1.51, 1.834, 2.239, 2.719, 3.329, 4.126",\
                 "1.188, 1.225, 1.346, 1.545, 1.816, 2.16, 2.592, 3.107, 3.697, 4.403",\
                 "1.461, 1.508, 1.648, 1.866, 2.163, 2.53, 2.983, 3.53, 4.161, 4.879",\
                 "1.77, 1.82, 1.976, 2.231, 2.551, 2.952, 3.426, 3.994, 4.665, 5.419");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6064, 0.6903, 0.9839, 1.543, 2.41, 3.623, 5.219, 7.229, 9.68, 12.6",\
                 "0.6065, 0.6903, 0.9836, 1.543, 2.41, 3.624, 5.221, 7.225, 9.68, 12.6",\
                 "0.6079, 0.6915, 0.9841, 1.543, 2.41, 3.623, 5.218, 7.226, 9.68, 12.6",\
                 "0.6182, 0.6986, 0.9866, 1.543, 2.41, 3.623, 5.218, 7.225, 9.676, 12.6",\
                 "0.6782, 0.7564, 1.027, 1.555, 2.411, 3.624, 5.219, 7.227, 9.677, 12.6",\
                 "0.7532, 0.831, 1.106, 1.629, 2.443, 3.627, 5.22, 7.231, 9.679, 12.6",\
                 "0.9064, 0.9754, 1.225, 1.732, 2.538, 3.679, 5.228, 7.228, 9.682, 12.6",\
                 "1.115, 1.184, 1.421, 1.885, 2.669, 3.795, 5.298, 7.246, 9.679, 12.6",\
                 "1.348, 1.422, 1.671, 2.117, 2.848, 3.953, 5.434, 7.332, 9.71, 12.6",\
                 "1.602, 1.682, 1.948, 2.412, 3.105, 4.155, 5.618, 7.487, 9.813, 12.64");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1759, 0.196, 0.2625, 0.3807, 0.5533, 0.7852, 1.084, 1.455, 1.906, 2.441",\
                 "0.1874, 0.207, 0.2733, 0.3913, 0.5639, 0.7958, 1.094, 1.465, 1.916, 2.452",\
                 "0.2371, 0.2551, 0.318, 0.4342, 0.6058, 0.8375, 1.136, 1.507, 1.958, 2.493",\
                 "0.3125, 0.3346, 0.4062, 0.525, 0.6926, 0.9223, 1.22, 1.591, 2.041, 2.576",\
                 "0.3662, 0.3931, 0.4805, 0.627, 0.8232, 1.061, 1.356, 1.726, 2.175, 2.709",\
                 "0.3898, 0.4218, 0.5266, 0.7014, 0.9352, 1.219, 1.547, 1.921, 2.368, 2.9",\
                 "0.3815, 0.4188, 0.5401, 0.7453, 1.018, 1.348, 1.728, 2.155, 2.625, 3.157",\
                 "0.3406, 0.3827, 0.5217, 0.7557, 1.07, 1.447, 1.879, 2.363, 2.897, 3.475",\
                 "0.268, 0.3145, 0.4689, 0.7322, 1.086, 1.512, 1.998, 2.539, 3.134, 3.78",\
                 "0.1642, 0.2146, 0.3828, 0.6726, 1.067, 1.541, 2.082, 2.682, 3.338, 4.049");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6753, 0.7237, 0.8931, 1.212, 1.708, 2.402, 3.313, 4.463, 5.866, 7.538",\
                 "0.6871, 0.7359, 0.9064, 1.227, 1.725, 2.42, 3.333, 4.482, 5.885, 7.557",\
                 "0.7217, 0.771, 0.9431, 1.267, 1.766, 2.464, 3.379, 4.529, 5.934, 7.606",\
                 "0.7791, 0.8279, 0.9984, 1.322, 1.822, 2.52, 3.437, 4.59, 5.994, 7.669",\
                 "0.8607, 0.9114, 1.084, 1.404, 1.9, 2.596, 3.509, 4.661, 6.066, 7.739",\
                 "0.9804, 1.031, 1.208, 1.534, 2.027, 2.713, 3.62, 4.765, 6.164, 7.834",\
                 "1.154, 1.208, 1.387, 1.716, 2.215, 2.898, 3.791, 4.924, 6.313, 7.975",\
                 "1.371, 1.43, 1.624, 1.963, 2.463, 3.152, 4.04, 5.156, 6.531, 8.178",\
                 "1.625, 1.691, 1.905, 2.267, 2.78, 3.47, 4.366, 5.476, 6.83, 8.459",\
                 "1.914, 1.988, 2.222, 2.616, 3.158, 3.858, 4.755, 5.874, 7.222, 8.83");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3662, 0.3935, 0.4879, 0.6645, 0.9343, 1.312, 1.809, 2.433, 3.197, 4.107",\
                 "0.3623, 0.3902, 0.4858, 0.6631, 0.9348, 1.311, 1.809, 2.434, 3.197, 4.105",\
                 "0.3626, 0.386, 0.4759, 0.6577, 0.9328, 1.312, 1.808, 2.434, 3.197, 4.107",\
                 "0.4773, 0.4957, 0.5607, 0.693, 0.9336, 1.309, 1.808, 2.434, 3.197, 4.107",\
                 "0.6372, 0.6573, 0.7296, 0.8646, 1.066, 1.368, 1.817, 2.432, 3.197, 4.106",\
                 "0.833, 0.8562, 0.9352, 1.081, 1.301, 1.596, 1.973, 2.499, 3.208, 4.108",\
                 "1.062, 1.088, 1.178, 1.338, 1.574, 1.891, 2.287, 2.762, 3.371, 4.171",\
                 "1.325, 1.355, 1.458, 1.635, 1.889, 2.222, 2.644, 3.154, 3.742, 4.447",\
                 "1.621, 1.661, 1.777, 1.97, 2.247, 2.601, 3.044, 3.585, 4.211, 4.923",\
                 "1.958, 2, 2.127, 2.351, 2.65, 3.032, 3.493, 4.054, 4.714, 5.469");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7184, 0.8038, 1.099, 1.658, 2.526, 3.741, 5.337, 7.345, 9.801, 12.72",\
                 "0.7187, 0.8031, 1.098, 1.658, 2.526, 3.741, 5.337, 7.345, 9.801, 12.73",\
                 "0.7194, 0.804, 1.098, 1.659, 2.526, 3.743, 5.338, 7.346, 9.801, 12.72",\
                 "0.7252, 0.8082, 1.101, 1.658, 2.526, 3.741, 5.336, 7.346, 9.795, 12.72",\
                 "0.7782, 0.856, 1.13, 1.666, 2.527, 3.742, 5.338, 7.346, 9.798, 12.72",\
                 "0.8502, 0.9302, 1.21, 1.731, 2.552, 3.744, 5.338, 7.347, 9.798, 12.72",\
                 "0.9836, 1.056, 1.318, 1.835, 2.644, 3.789, 5.345, 7.348, 9.8, 12.72",\
                 "1.186, 1.256, 1.499, 1.978, 2.772, 3.901, 5.41, 7.362, 9.801, 12.72",\
                 "1.424, 1.498, 1.745, 2.201, 2.945, 4.059, 5.542, 7.445, 9.826, 12.72",\
                 "1.679, 1.757, 2.025, 2.486, 3.191, 4.255, 5.728, 7.597, 9.928, 12.76");
        }
      }

      timing() {
        related_pin : "C1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2173, 0.2363, 0.2993, 0.4134, 0.582, 0.8114, 1.109, 1.479, 1.93, 2.465",\
                 "0.2281, 0.2471, 0.3107, 0.424, 0.5928, 0.8224, 1.119, 1.49, 1.941, 2.476",\
                 "0.2738, 0.2919, 0.3538, 0.4668, 0.6351, 0.8647, 1.162, 1.532, 1.983, 2.518",\
                 "0.3535, 0.3748, 0.4429, 0.5565, 0.722, 0.9501, 1.247, 1.617, 2.067, 2.602",\
                 "0.4151, 0.441, 0.5247, 0.6654, 0.8555, 1.09, 1.384, 1.753, 2.202, 2.736",\
                 "0.4528, 0.4843, 0.5837, 0.7508, 0.9773, 1.255, 1.578, 1.95, 2.396, 2.928",\
                 "0.4646, 0.5002, 0.6175, 0.8122, 1.073, 1.395, 1.769, 2.19, 2.656, 3.187",\
                 "0.4502, 0.4907, 0.6231, 0.846, 1.146, 1.51, 1.932, 2.408, 2.936, 3.509",\
                 "0.4072, 0.4531, 0.601, 0.8512, 1.188, 1.596, 2.068, 2.598, 3.185, 3.826",\
                 "0.3372, 0.3862, 0.5486, 0.8256, 1.2, 1.654, 2.176, 2.76, 3.405, 4.108");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6753, 0.7237, 0.8931, 1.212, 1.708, 2.402, 3.313, 4.463, 5.866, 7.538",\
                 "0.6871, 0.7359, 0.9064, 1.227, 1.725, 2.42, 3.333, 4.482, 5.885, 7.557",\
                 "0.7217, 0.771, 0.9431, 1.267, 1.766, 2.464, 3.379, 4.529, 5.934, 7.606",\
                 "0.7791, 0.8279, 0.9984, 1.322, 1.822, 2.52, 3.437, 4.59, 5.994, 7.669",\
                 "0.8607, 0.9114, 1.084, 1.404, 1.9, 2.596, 3.509, 4.661, 6.066, 7.739",\
                 "0.9804, 1.031, 1.208, 1.534, 2.027, 2.713, 3.62, 4.765, 6.164, 7.834",\
                 "1.154, 1.208, 1.387, 1.716, 2.215, 2.898, 3.791, 4.924, 6.313, 7.975",\
                 "1.371, 1.43, 1.624, 1.963, 2.463, 3.152, 4.04, 5.156, 6.531, 8.178",\
                 "1.625, 1.691, 1.905, 2.267, 2.78, 3.47, 4.366, 5.476, 6.83, 8.459",\
                 "1.914, 1.988, 2.222, 2.616, 3.158, 3.858, 4.755, 5.874, 7.222, 8.83");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3662, 0.3935, 0.4879, 0.6645, 0.9343, 1.312, 1.809, 2.433, 3.197, 4.107",\
                 "0.3623, 0.3902, 0.4858, 0.6631, 0.9348, 1.311, 1.809, 2.434, 3.197, 4.105",\
                 "0.3626, 0.386, 0.4759, 0.6577, 0.9328, 1.312, 1.808, 2.434, 3.197, 4.107",\
                 "0.4773, 0.4957, 0.5607, 0.693, 0.9336, 1.309, 1.808, 2.434, 3.197, 4.107",\
                 "0.6372, 0.6573, 0.7296, 0.8646, 1.066, 1.368, 1.817, 2.432, 3.197, 4.106",\
                 "0.833, 0.8562, 0.9352, 1.081, 1.301, 1.596, 1.973, 2.499, 3.208, 4.108",\
                 "1.062, 1.088, 1.178, 1.338, 1.574, 1.891, 2.287, 2.762, 3.371, 4.171",\
                 "1.325, 1.355, 1.458, 1.635, 1.889, 2.222, 2.644, 3.154, 3.742, 4.447",\
                 "1.621, 1.661, 1.777, 1.97, 2.247, 2.601, 3.044, 3.585, 4.211, 4.923",\
                 "1.958, 2, 2.127, 2.351, 2.65, 3.032, 3.493, 4.054, 4.714, 5.469");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7184, 0.8038, 1.099, 1.658, 2.526, 3.741, 5.337, 7.345, 9.801, 12.72",\
                 "0.7187, 0.8031, 1.098, 1.658, 2.526, 3.741, 5.337, 7.345, 9.801, 12.73",\
                 "0.7194, 0.804, 1.098, 1.659, 2.526, 3.743, 5.338, 7.346, 9.801, 12.72",\
                 "0.7252, 0.8082, 1.101, 1.658, 2.526, 3.741, 5.336, 7.346, 9.795, 12.72",\
                 "0.7782, 0.856, 1.13, 1.666, 2.527, 3.742, 5.338, 7.346, 9.798, 12.72",\
                 "0.8502, 0.9302, 1.21, 1.731, 2.552, 3.744, 5.338, 7.347, 9.798, 12.72",\
                 "0.9836, 1.056, 1.318, 1.835, 2.644, 3.789, 5.345, 7.348, 9.8, 12.72",\
                 "1.186, 1.256, 1.499, 1.978, 2.772, 3.901, 5.41, 7.362, 9.801, 12.72",\
                 "1.424, 1.498, 1.745, 2.201, 2.945, 4.059, 5.542, 7.445, 9.826, 12.72",\
                 "1.679, 1.757, 2.025, 2.486, 3.191, 4.255, 5.728, 7.597, 9.928, 12.76");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.231, 0.2499, 0.3134, 0.427, 0.5954, 0.8251, 1.122, 1.493, 1.943, 2.478",\
                 "0.2406, 0.2597, 0.3231, 0.4366, 0.6052, 0.8348, 1.132, 1.503, 1.953, 2.488",\
                 "0.2686, 0.287, 0.3497, 0.4627, 0.6313, 0.8611, 1.158, 1.529, 1.979, 2.514",\
                 "0.3144, 0.3344, 0.4009, 0.5165, 0.6839, 0.9127, 1.21, 1.58, 2.03, 2.565",\
                 "0.35, 0.3734, 0.4492, 0.579, 0.7616, 0.9976, 1.294, 1.663, 2.113, 2.647",\
                 "0.3618, 0.3891, 0.4788, 0.6294, 0.8332, 1.092, 1.409, 1.784, 2.232, 2.765",\
                 "0.3423, 0.3747, 0.48, 0.6547, 0.8893, 1.177, 1.521, 1.924, 2.39, 2.926",\
                 "0.29, 0.3272, 0.4475, 0.6486, 0.9171, 1.243, 1.621, 2.055, 2.553, 3.117",\
                 "0.2029, 0.2443, 0.3789, 0.6076, 0.911, 1.278, 1.699, 2.172, 2.704, 3.303",\
                 "0.0808, 0.1265, 0.2759, 0.5286, 0.867, 1.276, 1.745, 2.266, 2.84, 3.476");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4309, 0.4639, 0.5772, 0.7926, 1.125, 1.592, 2.205, 2.978, 3.921, 5.045",\
                 "0.4442, 0.4772, 0.5921, 0.8078, 1.141, 1.608, 2.222, 2.994, 3.937, 5.061",\
                 "0.4925, 0.526, 0.6413, 0.8586, 1.193, 1.661, 2.274, 3.047, 3.99, 5.114",\
                 "0.5696, 0.6043, 0.7211, 0.9383, 1.273, 1.741, 2.355, 3.129, 4.072, 5.197",\
                 "0.6631, 0.7012, 0.8292, 1.056, 1.391, 1.856, 2.469, 3.242, 4.184, 5.308",\
                 "0.7975, 0.8383, 0.9729, 1.214, 1.566, 2.032, 2.639, 3.407, 4.345, 5.464",\
                 "0.9775, 1.023, 1.17, 1.422, 1.787, 2.274, 2.884, 3.642, 4.572, 5.687",\
                 "1.202, 1.252, 1.416, 1.688, 2.068, 2.568, 3.2, 3.964, 4.883, 5.987",\
                 "1.466, 1.523, 1.705, 2.003, 2.407, 2.923, 3.571, 4.359, 5.287, 6.377",\
                 "1.767, 1.831, 2.033, 2.361, 2.798, 3.34, 4.003, 4.81, 5.765, 6.868");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3004, 0.3299, 0.4295, 0.6103, 0.8843, 1.266, 1.763, 2.391, 3.154, 4.065",\
                 "0.3007, 0.3296, 0.4291, 0.6103, 0.8849, 1.266, 1.765, 2.391, 3.156, 4.065",\
                 "0.2948, 0.3242, 0.4239, 0.6093, 0.8846, 1.266, 1.765, 2.391, 3.156, 4.065",\
                 "0.3446, 0.3711, 0.461, 0.6238, 0.8858, 1.265, 1.764, 2.391, 3.155, 4.065",\
                 "0.4362, 0.4622, 0.5528, 0.715, 0.9592, 1.301, 1.773, 2.391, 3.155, 4.065",\
                 "0.561, 0.5916, 0.6866, 0.8506, 1.094, 1.431, 1.868, 2.438, 3.166, 4.067",\
                 "0.7132, 0.747, 0.8538, 1.031, 1.279, 1.613, 2.05, 2.597, 3.274, 4.118",\
                 "0.8852, 0.9248, 1.046, 1.245, 1.507, 1.845, 2.28, 2.827, 3.495, 4.29",\
                 "1.077, 1.123, 1.262, 1.486, 1.773, 2.13, 2.567, 3.109, 3.775, 4.572",\
                 "1.29, 1.341, 1.505, 1.75, 2.068, 2.454, 2.911, 3.456, 4.115, 4.906");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.4684, 0.5241, 0.7198, 1.095, 1.677, 2.491, 3.559, 4.904, 6.547, 8.501",\
                 "0.469, 0.5242, 0.7199, 1.095, 1.677, 2.491, 3.561, 4.905, 6.548, 8.504",\
                 "0.4705, 0.5256, 0.7207, 1.095, 1.677, 2.491, 3.56, 4.904, 6.546, 8.504",\
                 "0.4987, 0.5482, 0.7303, 1.097, 1.678, 2.491, 3.56, 4.906, 6.546, 8.504",\
                 "0.5846, 0.6364, 0.8106, 1.141, 1.687, 2.492, 3.56, 4.906, 6.547, 8.504",\
                 "0.6962, 0.7452, 0.9216, 1.261, 1.774, 2.523, 3.563, 4.906, 6.547, 8.502",\
                 "0.8622, 0.9088, 1.071, 1.4, 1.926, 2.648, 3.626, 4.917, 6.548, 8.505",\
                 "1.061, 1.105, 1.27, 1.584, 2.097, 2.835, 3.786, 5.013, 6.576, 8.504",\
                 "1.273, 1.325, 1.497, 1.82, 2.312, 3.039, 4.008, 5.208, 6.706, 8.559",\
                 "1.504, 1.56, 1.748, 2.086, 2.585, 3.291, 4.251, 5.471, 6.936, 8.723");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2176, 0.2365, 0.2992, 0.4117, 0.5796, 0.8084, 1.105, 1.475, 1.925, 2.459",\
                 "0.2272, 0.2457, 0.3087, 0.4213, 0.5889, 0.8178, 1.114, 1.484, 1.934, 2.469",\
                 "0.2551, 0.2732, 0.3349, 0.4471, 0.6148, 0.8435, 1.14, 1.51, 1.96, 2.495",\
                 "0.2973, 0.3176, 0.3843, 0.5, 0.667, 0.8951, 1.191, 1.561, 2.011, 2.545",\
                 "0.326, 0.3498, 0.4271, 0.5585, 0.7423, 0.9789, 1.275, 1.644, 2.093, 2.627",\
                 "0.3268, 0.3558, 0.4478, 0.6026, 0.8096, 1.07, 1.387, 1.764, 2.212, 2.744",\
                 "0.2933, 0.3278, 0.4373, 0.6177, 0.858, 1.15, 1.495, 1.9, 2.368, 2.904",\
                 "0.2233, 0.2626, 0.3891, 0.5987, 0.8746, 1.207, 1.589, 2.026, 2.526, 3.091",\
                 "0.1169, 0.1606, 0.3023, 0.5398, 0.8542, 1.229, 1.657, 2.137, 2.672, 3.272",\
                 "-0.0295, 0.0183, 0.177, 0.4409, 0.7921, 1.214, 1.691, 2.219, 2.799, 3.439");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5018, 0.5426, 0.6846, 0.9527, 1.37, 1.954, 2.723, 3.691, 4.873, 6.28",\
                 "0.5138, 0.5549, 0.6979, 0.9671, 1.385, 1.97, 2.739, 3.706, 4.888, 6.296",\
                 "0.5572, 0.598, 0.7418, 1.012, 1.432, 2.017, 2.787, 3.755, 4.937, 6.346",\
                 "0.6201, 0.6619, 0.806, 1.076, 1.495, 2.082, 2.852, 3.821, 5.003, 6.414",\
                 "0.7017, 0.7467, 0.8984, 1.172, 1.588, 2.171, 2.939, 3.907, 5.088, 6.496",\
                 "0.8324, 0.8786, 1.032, 1.316, 1.739, 2.314, 3.074, 4.036, 5.213, 6.617",\
                 "1.018, 1.068, 1.231, 1.518, 1.948, 2.531, 3.28, 4.229, 5.395, 6.792",\
                 "1.25, 1.306, 1.485, 1.788, 2.221, 2.812, 3.57, 4.505, 5.656, 7.039",\
                 "1.525, 1.587, 1.784, 2.113, 2.565, 3.159, 3.924, 4.871, 6.007, 7.371",\
                 "1.839, 1.906, 2.125, 2.484, 2.967, 3.578, 4.348, 5.304, 6.451, 7.8");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2822, 0.3121, 0.4107, 0.591, 0.8648, 1.245, 1.743, 2.37, 3.133, 4.043",\
                 "0.2817, 0.3117, 0.4104, 0.5901, 0.8645, 1.244, 1.742, 2.37, 3.133, 4.043",\
                 "0.2783, 0.3069, 0.4058, 0.5895, 0.8643, 1.245, 1.742, 2.368, 3.134, 4.043",\
                 "0.3334, 0.3591, 0.4473, 0.6081, 0.8677, 1.244, 1.743, 2.37, 3.132, 4.043",\
                 "0.4282, 0.4564, 0.544, 0.7026, 0.9452, 1.283, 1.754, 2.369, 3.132, 4.042",\
                 "0.5608, 0.59, 0.6842, 0.8452, 1.085, 1.417, 1.852, 2.42, 3.147, 4.044",\
                 "0.7204, 0.7538, 0.859, 1.033, 1.275, 1.604, 2.036, 2.583, 3.255, 4.098",\
                 "0.9028, 0.9424, 1.063, 1.255, 1.515, 1.845, 2.272, 2.816, 3.482, 4.274",\
                 "1.112, 1.155, 1.294, 1.508, 1.791, 2.14, 2.57, 3.106, 3.77, 4.56",\
                 "1.351, 1.401, 1.554, 1.795, 2.102, 2.477, 2.925, 3.461, 4.115, 4.905");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5844, 0.6542, 0.8997, 1.368, 2.094, 3.11, 4.444, 6.125, 8.174, 10.62",\
                 "0.5848, 0.6545, 0.8997, 1.368, 2.094, 3.11, 4.444, 6.125, 8.176, 10.62",\
                 "0.5853, 0.655, 0.8997, 1.368, 2.094, 3.11, 4.443, 6.125, 8.176, 10.62",\
                 "0.6029, 0.6682, 0.9046, 1.368, 2.094, 3.11, 4.444, 6.125, 8.177, 10.62",\
                 "0.6764, 0.7412, 0.963, 1.393, 2.097, 3.11, 4.445, 6.125, 8.176, 10.62",\
                 "0.7752, 0.8368, 1.059, 1.487, 2.15, 3.122, 4.445, 6.127, 8.176, 10.62",\
                 "0.9364, 0.9914, 1.194, 1.608, 2.271, 3.202, 4.472, 6.128, 8.176, 10.62",\
                 "1.135, 1.193, 1.388, 1.773, 2.418, 3.348, 4.577, 6.172, 8.182, 10.62",\
                 "1.356, 1.414, 1.621, 2.001, 2.611, 3.524, 4.749, 6.299, 8.249, 10.63",\
                 "1.595, 1.661, 1.883, 2.275, 2.868, 3.741, 4.958, 6.499, 8.4, 10.72");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2264, 0.2453, 0.3083, 0.4218, 0.5903, 0.8193, 1.115, 1.486, 1.935, 2.47",\
                 "0.2358, 0.2546, 0.3176, 0.4312, 0.5997, 0.8286, 1.125, 1.495, 1.944, 2.479",\
                 "0.2635, 0.2817, 0.3438, 0.457, 0.6254, 0.8545, 1.151, 1.521, 1.97, 2.505",\
                 "0.308, 0.3281, 0.3943, 0.5101, 0.6775, 0.9059, 1.202, 1.572, 2.021, 2.556",\
                 "0.3411, 0.3645, 0.4404, 0.5708, 0.7539, 0.9899, 1.285, 1.654, 2.103, 2.637",\
                 "0.3487, 0.3766, 0.4665, 0.6177, 0.8234, 1.083, 1.399, 1.774, 2.223, 2.755",\
                 "0.3235, 0.3556, 0.4609, 0.6374, 0.8743, 1.164, 1.508, 1.912, 2.379, 2.914",\
                 "0.2603, 0.2974, 0.4182, 0.6223, 0.8939, 1.223, 1.603, 2.039, 2.538, 3.103",\
                 "0.1605, 0.2014, 0.337, 0.5678, 0.8766, 1.248, 1.673, 2.15, 2.684, 3.284",\
                 "0.0218, 0.0675, 0.2171, 0.4727, 0.8184, 1.235, 1.709, 2.234, 2.813, 3.452");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5751, 0.6164, 0.7574, 1.027, 1.444, 2.029, 2.798, 3.766, 4.948, 6.357",\
                 "0.5885, 0.6287, 0.7716, 1.041, 1.459, 2.045, 2.813, 3.782, 4.963, 6.371",\
                 "0.6318, 0.6733, 0.8159, 1.087, 1.506, 2.092, 2.861, 3.83, 5.012, 6.421",\
                 "0.6956, 0.7368, 0.8803, 1.151, 1.57, 2.156, 2.927, 3.896, 5.078, 6.488",\
                 "0.782, 0.8257, 0.9748, 1.246, 1.662, 2.246, 3.015, 3.982, 5.164, 6.573",\
                 "0.9148, 0.9588, 1.111, 1.392, 1.812, 2.387, 3.148, 4.111, 5.287, 6.692",\
                 "1.106, 1.154, 1.311, 1.594, 2.022, 2.603, 3.353, 4.303, 5.47, 6.867",\
                 "1.348, 1.4, 1.57, 1.866, 2.296, 2.885, 3.642, 4.578, 5.729, 7.114",\
                 "1.633, 1.69, 1.877, 2.196, 2.64, 3.233, 3.998, 4.942, 6.079, 7.443",\
                 "1.958, 2.022, 2.228, 2.572, 3.047, 3.652, 4.421, 5.377, 6.522, 7.872");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3384, 0.3659, 0.4602, 0.6372, 0.9088, 1.287, 1.786, 2.412, 3.175, 4.084",\
                 "0.3373, 0.3652, 0.4598, 0.6371, 0.909, 1.288, 1.786, 2.411, 3.177, 4.085",\
                 "0.3346, 0.3615, 0.456, 0.6357, 0.9085, 1.288, 1.786, 2.412, 3.176, 4.085",\
                 "0.3909, 0.4152, 0.4983, 0.6554, 0.9136, 1.288, 1.786, 2.413, 3.176, 4.085",\
                 "0.495, 0.5196, 0.6008, 0.7534, 0.9912, 1.328, 1.798, 2.412, 3.176, 4.086",\
                 "0.6398, 0.6646, 0.7498, 0.9018, 1.134, 1.463, 1.896, 2.463, 3.191, 4.086",\
                 "0.8154, 0.8432, 0.9362, 1.097, 1.33, 1.654, 2.083, 2.626, 3.3, 4.142",\
                 "1.016, 1.049, 1.154, 1.329, 1.577, 1.9, 2.324, 2.865, 3.526, 4.319",\
                 "1.245, 1.281, 1.401, 1.596, 1.861, 2.2, 2.627, 3.157, 3.813, 4.606",\
                 "1.505, 1.543, 1.676, 1.895, 2.184, 2.548, 2.984, 3.515, 4.165, 4.947");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6777, 0.7487, 0.9963, 1.465, 2.192, 3.208, 4.544, 6.226, 8.277, 10.72",\
                 "0.6782, 0.7485, 0.9957, 1.464, 2.192, 3.208, 4.544, 6.225, 8.278, 10.72",\
                 "0.6786, 0.7499, 0.9966, 1.465, 2.192, 3.208, 4.543, 6.226, 8.278, 10.72",\
                 "0.688, 0.7557, 0.9978, 1.465, 2.191, 3.208, 4.544, 6.225, 8.278, 10.72",\
                 "0.7586, 0.8228, 1.046, 1.483, 2.193, 3.209, 4.545, 6.225, 8.278, 10.72",\
                 "0.8494, 0.9134, 1.142, 1.571, 2.24, 3.217, 4.544, 6.226, 8.277, 10.72",\
                 "0.9966, 1.055, 1.267, 1.69, 2.357, 3.291, 4.567, 6.227, 8.278, 10.72",\
                 "1.192, 1.249, 1.451, 1.848, 2.502, 3.435, 4.666, 6.268, 8.282, 10.72",\
                 "1.413, 1.477, 1.683, 2.069, 2.688, 3.609, 4.837, 6.391, 8.343, 10.73",\
                 "1.655, 1.722, 1.943, 2.34, 2.944, 3.825, 5.044, 6.588, 8.493, 10.82");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1779, 0.1983, 0.2656, 0.3842, 0.5575, 0.7908, 1.091, 1.463, 1.915, 2.452",\
                 "0.1882, 0.2084, 0.2755, 0.394, 0.5671, 0.8005, 1.1, 1.473, 1.925, 2.461",\
                 "0.22, 0.2392, 0.3036, 0.4204, 0.5932, 0.8264, 1.126, 1.499, 1.951, 2.487",\
                 "0.26, 0.2819, 0.353, 0.4742, 0.6456, 0.8775, 1.177, 1.55, 2.001, 2.537",\
                 "0.2829, 0.3091, 0.3928, 0.5309, 0.7203, 0.9614, 1.26, 1.632, 2.083, 2.619",\
                 "0.2769, 0.3084, 0.4089, 0.5713, 0.7857, 1.052, 1.373, 1.751, 2.201, 2.736",\
                 "0.2357, 0.2727, 0.3911, 0.5819, 0.8304, 1.129, 1.479, 1.887, 2.357, 2.894",\
                 "0.1594, 0.2018, 0.3368, 0.557, 0.8432, 1.183, 1.571, 2.012, 2.514, 3.082",\
                 "0.0465, 0.0935, 0.2446, 0.4929, 0.8185, 1.203, 1.637, 2.121, 2.659, 3.262",\
                 "-0.1061, -0.054, 0.1127, 0.3884, 0.7518, 1.182, 1.667, 2.201, 2.786, 3.428");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5048, 0.5457, 0.6865, 0.9522, 1.366, 1.944, 2.704, 3.662, 4.831, 6.223",\
                 "0.5169, 0.5578, 0.7, 0.9669, 1.38, 1.959, 2.719, 3.677, 4.847, 6.24",\
                 "0.5641, 0.6053, 0.7478, 1.016, 1.431, 2.01, 2.771, 3.729, 4.9, 6.293",\
                 "0.6384, 0.6804, 0.8233, 1.091, 1.506, 2.087, 2.848, 3.807, 4.977, 6.37",\
                 "0.7297, 0.7742, 0.9252, 1.196, 1.608, 2.185, 2.945, 3.903, 5.073, 6.466",\
                 "0.8611, 0.9069, 1.06, 1.342, 1.761, 2.332, 3.085, 4.038, 5.202, 6.594",\
                 "1.042, 1.091, 1.253, 1.539, 1.967, 2.547, 3.29, 4.232, 5.388, 6.77",\
                 "1.266, 1.321, 1.5, 1.803, 2.235, 2.823, 3.577, 4.506, 5.647, 7.019",\
                 "1.534, 1.596, 1.794, 2.122, 2.573, 3.165, 3.927, 4.868, 5.996, 7.35",\
                 "1.842, 1.911, 2.131, 2.489, 2.97, 3.58, 4.346, 5.298, 6.437, 7.776");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2656, 0.2974, 0.4018, 0.5878, 0.8634, 1.245, 1.744, 2.37, 3.133, 4.042",\
                 "0.2633, 0.2955, 0.4004, 0.587, 0.8644, 1.245, 1.743, 2.369, 3.134, 4.043",\
                 "0.2641, 0.293, 0.3939, 0.5822, 0.8614, 1.245, 1.743, 2.369, 3.132, 4.044",\
                 "0.3295, 0.3556, 0.4434, 0.6045, 0.8635, 1.241, 1.742, 2.37, 3.133, 4.042",\
                 "0.4331, 0.4606, 0.5472, 0.7056, 0.9456, 1.282, 1.752, 2.369, 3.133, 4.043",\
                 "0.5706, 0.6, 0.6938, 0.8538, 1.09, 1.42, 1.852, 2.419, 3.146, 4.044",\
                 "0.7358, 0.7692, 0.8734, 1.046, 1.285, 1.609, 2.04, 2.583, 3.256, 4.099",\
                 "0.9254, 0.9636, 1.084, 1.273, 1.529, 1.858, 2.281, 2.819, 3.483, 4.275",\
                 "1.142, 1.183, 1.321, 1.537, 1.814, 2.159, 2.585, 3.116, 3.774, 4.562",\
                 "1.382, 1.434, 1.583, 1.823, 2.129, 2.499, 2.941, 3.476, 4.122, 4.903");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5065, 0.5749, 0.8181, 1.284, 2.01, 3.026, 4.358, 6.036, 8.084, 10.53",\
                 "0.5072, 0.5751, 0.8187, 1.284, 2.009, 3.024, 4.358, 6.036, 8.085, 10.53",\
                 "0.5087, 0.5766, 0.819, 1.285, 2.01, 3.024, 4.358, 6.038, 8.084, 10.53",\
                 "0.5251, 0.5892, 0.8236, 1.285, 2.01, 3.025, 4.358, 6.037, 8.084, 10.53",\
                 "0.5908, 0.6558, 0.8786, 1.308, 2.012, 3.025, 4.358, 6.037, 8.086, 10.53",\
                 "0.6696, 0.7346, 0.9642, 1.4, 2.064, 3.036, 4.359, 6.039, 8.087, 10.53",\
                 "0.8118, 0.8726, 1.088, 1.512, 2.183, 3.116, 4.384, 6.04, 8.088, 10.53",\
                 "0.9982, 1.062, 1.273, 1.672, 2.326, 3.262, 4.49, 6.084, 8.092, 10.53",\
                 "1.208, 1.274, 1.497, 1.894, 2.516, 3.435, 4.664, 6.215, 8.159, 10.54",\
                 "1.435, 1.507, 1.746, 2.164, 2.771, 3.653, 4.87, 6.416, 8.312, 10.63");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1715, 0.1914, 0.2573, 0.3742, 0.5455, 0.7773, 1.076, 1.448, 1.899, 2.434",\
                 "0.1816, 0.2013, 0.267, 0.3836, 0.5549, 0.7866, 1.085, 1.457, 1.908, 2.443",\
                 "0.2124, 0.2315, 0.2946, 0.4096, 0.5806, 0.8122, 1.111, 1.483, 1.933, 2.469",\
                 "0.2481, 0.2702, 0.3413, 0.4623, 0.6327, 0.8632, 1.161, 1.533, 1.984, 2.52",\
                 "0.2641, 0.291, 0.3761, 0.5153, 0.7048, 0.946, 1.244, 1.615, 2.065, 2.6",\
                 "0.2473, 0.28, 0.3834, 0.5493, 0.7659, 1.033, 1.354, 1.734, 2.183, 2.717",\
                 "0.1929, 0.2314, 0.3541, 0.5499, 0.804, 1.105, 1.457, 1.866, 2.337, 2.874",\
                 "0.0989, 0.1431, 0.2847, 0.5128, 0.8065, 1.151, 1.543, 1.987, 2.491, 3.06",\
                 "-0.0351, 0.0146, 0.1734, 0.433, 0.7681, 1.161, 1.601, 2.089, 2.631, 3.235",\
                 "-0.2123, -0.1574, 0.0205, 0.3083, 0.6844, 1.127, 1.62, 2.161, 2.749, 3.396");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.571, 0.6191, 0.7875, 1.105, 1.6, 2.293, 3.206, 4.353, 5.756, 7.427",\
                 "0.582, 0.6303, 0.8, 1.119, 1.614, 2.308, 3.22, 4.37, 5.772, 7.442",\
                 "0.6234, 0.6719, 0.8419, 1.163, 1.66, 2.355, 3.268, 4.417, 5.82, 7.491",\
                 "0.6848, 0.7337, 0.9037, 1.224, 1.721, 2.416, 3.33, 4.48, 5.884, 7.556",\
                 "0.7645, 0.8159, 0.9905, 1.31, 1.803, 2.496, 3.408, 4.555, 5.959, 7.63",\
                 "0.8934, 0.9447, 1.12, 1.446, 1.937, 2.62, 3.522, 4.664, 6.062, 7.73",\
                 "1.083, 1.137, 1.318, 1.641, 2.135, 2.815, 3.702, 4.831, 6.216, 7.874",\
                 "1.323, 1.384, 1.579, 1.913, 2.404, 3.084, 3.966, 5.074, 6.443, 8.084",\
                 "1.61, 1.678, 1.892, 2.25, 2.75, 3.427, 4.31, 5.412, 6.756, 8.377",\
                 "1.941, 2.015, 2.252, 2.641, 3.168, 3.85, 4.729, 5.834, 7.169, 8.767");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.2508, 0.2822, 0.3851, 0.5687, 0.8444, 1.224, 1.721, 2.347, 3.112, 4.021",\
                 "0.2487, 0.2799, 0.3839, 0.5684, 0.8445, 1.224, 1.721, 2.348, 3.11, 4.022",\
                 "0.2521, 0.2801, 0.3782, 0.5645, 0.8417, 1.224, 1.722, 2.348, 3.11, 4.022",\
                 "0.3187, 0.3452, 0.432, 0.5902, 0.8468, 1.222, 1.721, 2.348, 3.111, 4.022",\
                 "0.4267, 0.4525, 0.5386, 0.6938, 0.9314, 1.265, 1.733, 2.348, 3.111, 4.019",\
                 "0.5676, 0.5964, 0.6898, 0.8466, 1.079, 1.406, 1.837, 2.401, 3.127, 4.021",\
                 "0.7374, 0.7706, 0.8738, 1.045, 1.282, 1.602, 2.027, 2.569, 3.238, 4.079",\
                 "0.934, 0.9736, 1.093, 1.283, 1.533, 1.856, 2.273, 2.809, 3.468, 4.259",\
                 "1.164, 1.207, 1.34, 1.556, 1.824, 2.166, 2.585, 3.11, 3.763, 4.548",\
                 "1.42, 1.472, 1.624, 1.861, 2.157, 2.522, 2.953, 3.479, 4.119, 4.9");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6054, 0.6886, 0.9826, 1.54, 2.408, 3.621, 5.217, 7.222, 9.677, 12.59",\
                 "0.6061, 0.6891, 0.9825, 1.541, 2.408, 3.621, 5.217, 7.227, 9.677, 12.6",\
                 "0.6066, 0.6899, 0.9833, 1.541, 2.407, 3.621, 5.217, 7.225, 9.676, 12.6",\
                 "0.6171, 0.6974, 0.9848, 1.541, 2.408, 3.621, 5.216, 7.224, 9.673, 12.6",\
                 "0.6766, 0.7546, 1.026, 1.554, 2.408, 3.622, 5.217, 7.223, 9.675, 12.6",\
                 "0.75, 0.8272, 1.103, 1.627, 2.441, 3.625, 5.217, 7.224, 9.674, 12.6",\
                 "0.8922, 0.962, 1.216, 1.726, 2.534, 3.676, 5.226, 7.225, 9.678, 12.6",\
                 "1.086, 1.156, 1.396, 1.869, 2.658, 3.788, 5.295, 7.243, 9.677, 12.6",\
                 "1.306, 1.379, 1.627, 2.079, 2.824, 3.937, 5.425, 7.327, 9.706, 12.6",\
                 "1.546, 1.627, 1.89, 2.353, 3.058, 4.123, 5.601, 7.477, 9.804, 12.64");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1797, 0.1996, 0.266, 0.3837, 0.5561, 0.7882, 1.087, 1.458, 1.909, 2.444",\
                 "0.1896, 0.2094, 0.2757, 0.3931, 0.5654, 0.7975, 1.096, 1.467, 1.918, 2.454",\
                 "0.2205, 0.2393, 0.303, 0.4192, 0.591, 0.8231, 1.121, 1.493, 1.944, 2.479",\
                 "0.2592, 0.281, 0.3515, 0.4723, 0.6432, 0.8741, 1.172, 1.544, 1.994, 2.53",\
                 "0.2811, 0.3071, 0.3898, 0.5277, 0.7166, 0.9572, 1.255, 1.625, 2.076, 2.61",\
                 "0.2733, 0.3041, 0.4031, 0.5654, 0.78, 1.046, 1.366, 1.744, 2.194, 2.728",\
                 "0.2281, 0.2641, 0.3808, 0.5712, 0.8206, 1.12, 1.47, 1.878, 2.348, 2.885",\
                 "0.1434, 0.1844, 0.3179, 0.5386, 0.8264, 1.168, 1.557, 2, 2.503, 3.071",\
                 "0.018, 0.0642, 0.2137, 0.4631, 0.7919, 1.179, 1.617, 2.103, 2.643, 3.247",\
                 "-0.1501, -0.099, 0.0673, 0.3442, 0.7124, 1.148, 1.638, 2.177, 2.763, 3.408");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6583, 0.7064, 0.8747, 1.193, 1.688, 2.382, 3.294, 4.443, 5.846, 7.518",\
                 "0.6703, 0.7188, 0.8876, 1.207, 1.702, 2.396, 3.309, 4.459, 5.861, 7.533",\
                 "0.7125, 0.7607, 0.9303, 1.251, 1.748, 2.443, 3.356, 4.507, 5.91, 7.581",\
                 "0.7738, 0.8225, 0.9918, 1.312, 1.809, 2.505, 3.419, 4.57, 5.973, 7.645",\
                 "0.8571, 0.9074, 1.079, 1.397, 1.891, 2.584, 3.496, 4.645, 6.048, 7.721",\
                 "0.9854, 1.036, 1.21, 1.534, 2.023, 2.706, 3.611, 4.753, 6.151, 7.818",\
                 "1.18, 1.232, 1.407, 1.729, 2.222, 2.9, 3.789, 4.918, 6.305, 7.964",\
                 "1.43, 1.486, 1.673, 2, 2.49, 3.17, 4.051, 5.16, 6.529, 8.175",\
                 "1.728, 1.79, 1.993, 2.341, 2.836, 3.512, 4.395, 5.496, 6.842, 8.466",\
                 "2.071, 2.14, 2.362, 2.737, 3.255, 3.933, 4.814, 5.918, 7.253, 8.851");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.31, 0.3388, 0.4368, 0.6163, 0.8893, 1.268, 1.765, 2.391, 3.155, 4.064",\
                 "0.3075, 0.3366, 0.4353, 0.6155, 0.889, 1.268, 1.766, 2.389, 3.155, 4.064",\
                 "0.3099, 0.3363, 0.4307, 0.6122, 0.8879, 1.267, 1.765, 2.39, 3.155, 4.064",\
                 "0.3812, 0.4041, 0.4847, 0.6383, 0.8929, 1.267, 1.764, 2.391, 3.155, 4.064",\
                 "0.4992, 0.5216, 0.5978, 0.746, 0.9782, 1.31, 1.778, 2.391, 3.153, 4.064",\
                 "0.6562, 0.6792, 0.7592, 0.9048, 1.13, 1.453, 1.88, 2.445, 3.171, 4.065",\
                 "0.8442, 0.8714, 0.9576, 1.113, 1.339, 1.652, 2.074, 2.614, 3.282, 4.123",\
                 "1.062, 1.093, 1.193, 1.359, 1.598, 1.913, 2.324, 2.856, 3.513, 4.304",\
                 "1.313, 1.347, 1.458, 1.644, 1.899, 2.228, 2.639, 3.16, 3.811, 4.593",\
                 "1.595, 1.635, 1.76, 1.97, 2.242, 2.592, 3.013, 3.533, 4.17, 4.943");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7169, 0.8024, 1.097, 1.657, 2.524, 3.74, 5.336, 7.345, 9.798, 12.72",\
                 "0.7176, 0.8028, 1.097, 1.656, 2.525, 3.739, 5.336, 7.347, 9.798, 12.72",\
                 "0.7178, 0.8024, 1.097, 1.657, 2.524, 3.74, 5.336, 7.346, 9.8, 12.72",\
                 "0.7232, 0.806, 1.098, 1.657, 2.524, 3.74, 5.335, 7.347, 9.798, 12.72",\
                 "0.7772, 0.855, 1.129, 1.665, 2.525, 3.74, 5.335, 7.346, 9.797, 12.72",\
                 "0.8462, 0.9272, 1.207, 1.73, 2.551, 3.742, 5.337, 7.345, 9.798, 12.72",\
                 "0.973, 1.046, 1.309, 1.829, 2.64, 3.788, 5.343, 7.347, 9.8, 12.72",\
                 "1.16, 1.231, 1.476, 1.963, 2.763, 3.897, 5.407, 7.361, 9.8, 12.72",\
                 "1.38, 1.454, 1.702, 2.162, 2.921, 4.044, 5.534, 7.442, 9.824, 12.73",\
                 "1.622, 1.703, 1.967, 2.431, 3.148, 4.225, 5.706, 7.588, 9.922, 12.76");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1867, 0.2071, 0.2748, 0.3941, 0.5681, 0.8015, 1.101, 1.474, 1.925, 2.461",\
                 "0.1969, 0.2172, 0.2847, 0.4038, 0.5777, 0.8112, 1.111, 1.483, 1.935, 2.471",\
                 "0.2285, 0.2476, 0.3125, 0.4303, 0.6038, 0.8371, 1.137, 1.509, 1.961, 2.497",\
                 "0.2715, 0.293, 0.3636, 0.4845, 0.6562, 0.8883, 1.188, 1.56, 2.012, 2.548",\
                 "0.3002, 0.3255, 0.4069, 0.5437, 0.732, 0.9724, 1.271, 1.642, 2.093, 2.629",\
                 "0.3022, 0.332, 0.4283, 0.5874, 0.7996, 1.064, 1.384, 1.762, 2.212, 2.746",\
                 "0.2699, 0.3047, 0.4168, 0.6022, 0.847, 1.143, 1.491, 1.898, 2.367, 2.905",\
                 "0.201, 0.2402, 0.3684, 0.5818, 0.8629, 1.199, 1.585, 2.025, 2.526, 3.093",\
                 "0.0955, 0.1393, 0.2818, 0.5222, 0.8412, 1.221, 1.653, 2.134, 2.671, 3.273",\
                 "-0.0493, -0.0008, 0.157, 0.4223, 0.7781, 1.204, 1.685, 2.217, 2.799, 3.44");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5765, 0.6168, 0.7576, 1.024, 1.436, 2.015, 2.776, 3.734, 4.903, 6.298",\
                 "0.5896, 0.6301, 0.7714, 1.038, 1.451, 2.03, 2.791, 3.749, 4.918, 6.313",\
                 "0.6369, 0.6779, 0.82, 1.088, 1.502, 2.082, 2.844, 3.802, 4.973, 6.368",\
                 "0.7121, 0.7532, 0.8952, 1.163, 1.578, 2.158, 2.92, 3.879, 5.051, 6.444",\
                 "0.8081, 0.8516, 0.9992, 1.268, 1.679, 2.257, 3.018, 3.976, 5.146, 6.539",\
                 "0.941, 0.9848, 1.137, 1.416, 1.832, 2.403, 3.157, 4.11, 5.276, 6.666",\
                 "1.127, 1.174, 1.331, 1.614, 2.04, 2.618, 3.361, 4.303, 5.46, 6.842",\
                 "1.362, 1.413, 1.584, 1.879, 2.308, 2.895, 3.647, 4.576, 5.719, 7.091",\
                 "1.641, 1.698, 1.885, 2.202, 2.646, 3.237, 3.998, 4.938, 6.066, 7.421",\
                 "1.961, 2.025, 2.23, 2.575, 3.048, 3.651, 4.417, 5.368, 6.507, 7.847");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3252, 0.3543, 0.4532, 0.6341, 0.9083, 1.288, 1.785, 2.411, 3.175, 4.085",\
                 "0.3228, 0.3523, 0.452, 0.6335, 0.9081, 1.288, 1.786, 2.411, 3.175, 4.084",\
                 "0.3226, 0.3496, 0.4458, 0.6299, 0.9075, 1.287, 1.784, 2.412, 3.173, 4.084",\
                 "0.3908, 0.4139, 0.496, 0.6521, 0.9095, 1.286, 1.785, 2.41, 3.174, 4.084",\
                 "0.5043, 0.5278, 0.6056, 0.7566, 0.9914, 1.326, 1.796, 2.411, 3.174, 4.084",\
                 "0.6566, 0.6806, 0.762, 0.9114, 1.139, 1.465, 1.895, 2.463, 3.189, 4.084",\
                 "0.839, 0.8648, 0.9544, 1.112, 1.34, 1.661, 2.085, 2.627, 3.299, 4.141",\
                 "1.046, 1.077, 1.178, 1.351, 1.593, 1.912, 2.33, 2.867, 3.527, 4.317",\
                 "1.282, 1.315, 1.433, 1.626, 1.886, 2.218, 2.637, 3.164, 3.818, 4.606",\
                 "1.542, 1.585, 1.714, 1.926, 2.212, 2.568, 3, 3.527, 4.172, 4.951");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.5949, 0.6653, 0.9107, 1.379, 2.105, 3.121, 4.456, 6.135, 8.187, 10.63",\
                 "0.5961, 0.6653, 0.9108, 1.379, 2.105, 3.121, 4.455, 6.136, 8.185, 10.63",\
                 "0.5972, 0.6661, 0.9116, 1.379, 2.105, 3.121, 4.455, 6.135, 8.184, 10.63",\
                 "0.6066, 0.6738, 0.9142, 1.38, 2.106, 3.121, 4.455, 6.136, 8.187, 10.63",\
                 "0.6694, 0.7348, 0.9582, 1.396, 2.106, 3.121, 4.456, 6.136, 8.188, 10.63",\
                 "0.747, 0.813, 1.047, 1.482, 2.152, 3.129, 4.457, 6.137, 8.185, 10.63",\
                 "0.877, 0.9418, 1.162, 1.595, 2.268, 3.204, 4.479, 6.137, 8.187, 10.63",\
                 "1.06, 1.124, 1.339, 1.747, 2.409, 3.347, 4.579, 6.179, 8.19, 10.63",\
                 "1.27, 1.339, 1.563, 1.962, 2.593, 3.521, 4.75, 6.303, 8.254, 10.64",\
                 "1.502, 1.573, 1.812, 2.231, 2.84, 3.732, 4.955, 6.502, 8.405, 10.73");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.1797, 0.1996, 0.266, 0.3836, 0.5559, 0.7879, 1.086, 1.458, 1.909, 2.444",\
                 "0.1897, 0.2094, 0.2756, 0.393, 0.5652, 0.7972, 1.096, 1.467, 1.918, 2.453",\
                 "0.2204, 0.2394, 0.303, 0.4191, 0.5909, 0.8227, 1.121, 1.493, 1.944, 2.479",\
                 "0.2592, 0.281, 0.3515, 0.4722, 0.643, 0.8738, 1.172, 1.543, 1.994, 2.53",\
                 "0.2809, 0.307, 0.3897, 0.5276, 0.7165, 0.9569, 1.255, 1.625, 2.075, 2.61",\
                 "0.2729, 0.3038, 0.4028, 0.5651, 0.7797, 1.045, 1.365, 1.744, 2.193, 2.727",\
                 "0.2274, 0.2635, 0.3802, 0.5708, 0.8202, 1.119, 1.47, 1.877, 2.348, 2.885",\
                 "0.1423, 0.1834, 0.317, 0.538, 0.8258, 1.168, 1.557, 1.999, 2.502, 3.07",\
                 "0.0166, 0.0628, 0.2125, 0.4621, 0.7913, 1.179, 1.617, 2.102, 2.643, 3.247",\
                 "-0.1519, -0.1007, 0.066, 0.3432, 0.7115, 1.148, 1.637, 2.176, 2.763, 3.407");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.6565, 0.7045, 0.8723, 1.191, 1.686, 2.38, 3.292, 4.441, 5.844, 7.516",\
                 "0.6684, 0.7169, 0.8855, 1.205, 1.7, 2.394, 3.307, 4.457, 5.859, 7.53",\
                 "0.7102, 0.7589, 0.9287, 1.249, 1.746, 2.441, 3.354, 4.505, 5.908, 7.579",\
                 "0.7717, 0.8206, 0.9899, 1.31, 1.807, 2.503, 3.417, 4.567, 5.971, 7.644",\
                 "0.8553, 0.9055, 1.077, 1.395, 1.889, 2.583, 3.494, 4.643, 6.045, 7.718",\
                 "0.9837, 1.034, 1.208, 1.532, 2.021, 2.704, 3.608, 4.751, 6.149, 7.818",\
                 "1.178, 1.23, 1.405, 1.727, 2.22, 2.897, 3.786, 4.917, 6.304, 7.962",\
                 "1.427, 1.484, 1.671, 1.998, 2.488, 3.168, 4.049, 5.158, 6.528, 8.173",\
                 "1.725, 1.789, 1.991, 2.339, 2.834, 3.509, 4.394, 5.494, 6.841, 8.465",\
                 "2.069, 2.138, 2.361, 2.734, 3.253, 3.931, 4.812, 5.917, 7.251, 8.849");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3085, 0.3373, 0.4354, 0.6154, 0.8884, 1.267, 1.764, 2.389, 3.152, 4.063",\
                 "0.3061, 0.3353, 0.4338, 0.6144, 0.8878, 1.267, 1.764, 2.39, 3.151, 4.063",\
                 "0.3085, 0.335, 0.4293, 0.6112, 0.8872, 1.266, 1.763, 2.39, 3.153, 4.063",\
                 "0.3798, 0.4029, 0.4831, 0.6372, 0.8913, 1.266, 1.764, 2.388, 3.154, 4.063",\
                 "0.4974, 0.5192, 0.5964, 0.744, 0.9768, 1.309, 1.777, 2.39, 3.154, 4.063",\
                 "0.654, 0.6772, 0.7574, 0.9032, 1.129, 1.451, 1.879, 2.444, 3.168, 4.063",\
                 "0.8416, 0.869, 0.9556, 1.111, 1.338, 1.651, 2.072, 2.612, 3.281, 4.121",\
                 "1.059, 1.091, 1.19, 1.361, 1.596, 1.911, 2.323, 2.855, 3.512, 4.302",\
                 "1.31, 1.343, 1.456, 1.642, 1.897, 2.226, 2.638, 3.159, 3.81, 4.592",\
                 "1.591, 1.632, 1.757, 1.969, 2.24, 2.589, 3.014, 3.53, 4.168, 4.943");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.7145, 0.7987, 1.095, 1.654, 2.522, 3.738, 5.333, 7.342, 9.795, 12.72",\
                 "0.7152, 0.8003, 1.094, 1.654, 2.522, 3.737, 5.333, 7.345, 9.796, 12.72",\
                 "0.7156, 0.7992, 1.094, 1.654, 2.522, 3.737, 5.333, 7.343, 9.796, 12.72",\
                 "0.7212, 0.8034, 1.096, 1.654, 2.522, 3.737, 5.333, 7.342, 9.795, 12.72",\
                 "0.7744, 0.8528, 1.126, 1.663, 2.523, 3.738, 5.334, 7.343, 9.794, 12.72",\
                 "0.8446, 0.9258, 1.205, 1.727, 2.549, 3.74, 5.334, 7.342, 9.795, 12.72",\
                 "0.9698, 1.044, 1.308, 1.827, 2.638, 3.785, 5.34, 7.344, 9.799, 12.72",\
                 "1.157, 1.23, 1.474, 1.961, 2.76, 3.893, 5.404, 7.358, 9.798, 12.72",\
                 "1.379, 1.452, 1.702, 2.161, 2.918, 4.041, 5.532, 7.439, 9.823, 12.72",\
                 "1.622, 1.701, 1.965, 2.429, 3.144, 4.225, 5.704, 7.585, 9.918, 12.76");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.19, 0.2097, 0.2764, 0.3944, 0.567, 0.7989, 1.097, 1.469, 1.919, 2.455",\
                 "0.1998, 0.2194, 0.286, 0.4038, 0.5763, 0.8082, 1.106, 1.478, 1.929, 2.464",\
                 "0.2302, 0.2489, 0.3131, 0.4298, 0.6019, 0.8337, 1.132, 1.503, 1.954, 2.49",\
                 "0.2728, 0.294, 0.3633, 0.4835, 0.654, 0.8848, 1.183, 1.554, 2.005, 2.54",\
                 "0.3013, 0.3259, 0.4055, 0.541, 0.7286, 0.9681, 1.265, 1.636, 2.086, 2.621",\
                 "0.3001, 0.3292, 0.4237, 0.5817, 0.7935, 1.058, 1.377, 1.755, 2.204, 2.738",\
                 "0.2609, 0.2949, 0.4061, 0.5912, 0.8367, 1.133, 1.482, 1.889, 2.359, 2.895",\
                 "0.1821, 0.2208, 0.3485, 0.5626, 0.8455, 1.184, 1.571, 2.012, 2.514, 3.082",\
                 "0.0638, 0.1073, 0.2498, 0.4916, 0.8143, 1.197, 1.632, 2.116, 2.655, 3.258",\
                 "-0.0962, -0.0487, 0.1097, 0.3775, 0.7385, 1.169, 1.655, 2.191, 2.777, 3.42");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.744, 0.7918, 0.9598, 1.279, 1.774, 2.468, 3.38, 4.53, 5.932, 7.604",\
                 "0.7564, 0.805, 0.9732, 1.292, 1.788, 2.482, 3.396, 4.546, 5.948, 7.619",\
                 "0.7993, 0.8476, 1.017, 1.337, 1.834, 2.529, 3.443, 4.593, 5.997, 7.668",\
                 "0.8605, 0.9089, 1.078, 1.399, 1.895, 2.592, 3.505, 4.656, 6.06, 7.733",\
                 "0.9462, 0.9958, 1.165, 1.483, 1.976, 2.67, 3.582, 4.732, 6.135, 7.808",\
                 "1.074, 1.124, 1.297, 1.62, 2.107, 2.791, 3.697, 4.84, 6.237, 7.907",\
                 "1.271, 1.321, 1.493, 1.814, 2.307, 2.983, 3.873, 5.002, 6.389, 8.05",\
                 "1.528, 1.582, 1.762, 2.084, 2.574, 3.253, 4.133, 5.244, 6.615, 8.259",\
                 "1.836, 1.895, 2.089, 2.427, 2.918, 3.594, 4.478, 5.579, 6.926, 8.55",\
                 "2.19, 2.255, 2.465, 2.829, 3.34, 4.015, 4.896, 6, 7.336, 8.936");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3647, 0.3924, 0.4871, 0.664, 0.9348, 1.312, 1.809, 2.435, 3.197, 4.107",\
                 "0.3623, 0.3902, 0.4854, 0.6631, 0.9343, 1.312, 1.809, 2.434, 3.197, 4.106",\
                 "0.3634, 0.3889, 0.4806, 0.6591, 0.9325, 1.311, 1.809, 2.433, 3.197, 4.107",\
                 "0.4382, 0.4592, 0.5349, 0.6847, 0.938, 1.31, 1.809, 2.434, 3.197, 4.106",\
                 "0.5654, 0.5848, 0.6546, 0.7958, 1.023, 1.354, 1.82, 2.435, 3.197, 4.106",\
                 "0.7354, 0.755, 0.8252, 0.9612, 1.18, 1.498, 1.923, 2.489, 3.213, 4.107",\
                 "0.9394, 0.9616, 1.036, 1.178, 1.395, 1.702, 2.12, 2.656, 3.325, 4.166",\
                 "1.177, 1.202, 1.284, 1.439, 1.66, 1.967, 2.374, 2.902, 3.558, 4.345",\
                 "1.449, 1.476, 1.568, 1.732, 1.971, 2.288, 2.693, 3.209, 3.857, 4.638",\
                 "1.751, 1.784, 1.886, 2.069, 2.326, 2.659, 3.074, 3.586, 4.219, 4.99");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.8282, 0.9132, 1.209, 1.77, 2.64, 3.855, 5.452, 7.463, 9.915, 12.84",\
                 "0.8275, 0.9128, 1.209, 1.769, 2.639, 3.855, 5.454, 7.465, 9.917, 12.84",\
                 "0.8281, 0.9122, 1.21, 1.769, 2.639, 3.855, 5.453, 7.464, 9.919, 12.84",\
                 "0.8312, 0.9154, 1.211, 1.771, 2.638, 3.855, 5.452, 7.465, 9.915, 12.84",\
                 "0.8748, 0.9532, 1.232, 1.775, 2.64, 3.856, 5.452, 7.464, 9.915, 12.84",\
                 "0.9458, 1.027, 1.309, 1.832, 2.66, 3.857, 5.453, 7.464, 9.917, 12.84",\
                 "1.057, 1.134, 1.407, 1.931, 2.743, 3.897, 5.458, 7.463, 9.916, 12.84",\
                 "1.235, 1.308, 1.559, 2.058, 2.866, 4.001, 5.517, 7.476, 9.916, 12.84",\
                 "1.454, 1.529, 1.779, 2.248, 3.018, 4.147, 5.641, 7.554, 9.941, 12.84",\
                 "1.701, 1.781, 2.042, 2.508, 3.236, 4.327, 5.813, 7.695, 10.03, 12.88");
        }
      }

      timing() {
        related_pin : "C2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.231, 0.2499, 0.3134, 0.427, 0.5954, 0.8251, 1.122, 1.493, 1.943, 2.478",\
                 "0.2406, 0.2597, 0.3231, 0.4366, 0.6052, 0.8348, 1.132, 1.503, 1.953, 2.488",\
                 "0.2686, 0.287, 0.3497, 0.4627, 0.6313, 0.8611, 1.158, 1.529, 1.979, 2.514",\
                 "0.3144, 0.3344, 0.4009, 0.5165, 0.6839, 0.9127, 1.21, 1.58, 2.03, 2.565",\
                 "0.35, 0.3734, 0.4492, 0.579, 0.7616, 0.9976, 1.294, 1.663, 2.113, 2.647",\
                 "0.3618, 0.3891, 0.4788, 0.6294, 0.8332, 1.092, 1.409, 1.784, 2.232, 2.765",\
                 "0.3423, 0.3747, 0.48, 0.6547, 0.8893, 1.177, 1.521, 1.924, 2.39, 2.926",\
                 "0.29, 0.3272, 0.4475, 0.6486, 0.9171, 1.243, 1.621, 2.055, 2.553, 3.117",\
                 "0.2029, 0.2443, 0.3789, 0.6076, 0.911, 1.278, 1.699, 2.172, 2.704, 3.303",\
                 "0.0808, 0.1265, 0.2759, 0.5286, 0.867, 1.276, 1.745, 2.266, 2.84, 3.476");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.744, 0.7918, 0.9598, 1.279, 1.774, 2.468, 3.38, 4.53, 5.932, 7.604",\
                 "0.7564, 0.805, 0.9732, 1.292, 1.788, 2.482, 3.396, 4.546, 5.948, 7.619",\
                 "0.7993, 0.8476, 1.017, 1.337, 1.834, 2.529, 3.443, 4.593, 5.997, 7.668",\
                 "0.8605, 0.9089, 1.078, 1.399, 1.895, 2.592, 3.505, 4.656, 6.06, 7.733",\
                 "0.9462, 0.9958, 1.165, 1.483, 1.976, 2.67, 3.582, 4.732, 6.135, 7.808",\
                 "1.074, 1.124, 1.297, 1.62, 2.107, 2.791, 3.697, 4.84, 6.237, 7.907",\
                 "1.271, 1.321, 1.493, 1.814, 2.307, 2.983, 3.873, 5.002, 6.389, 8.05",\
                 "1.528, 1.582, 1.762, 2.084, 2.574, 3.253, 4.133, 5.244, 6.615, 8.259",\
                 "1.836, 1.895, 2.089, 2.427, 2.918, 3.594, 4.478, 5.579, 6.926, 8.55",\
                 "2.19, 2.255, 2.465, 2.829, 3.34, 4.015, 4.896, 6, 7.336, 8.936");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.3647, 0.3924, 0.4871, 0.664, 0.9348, 1.312, 1.809, 2.435, 3.197, 4.107",\
                 "0.3623, 0.3902, 0.4854, 0.6631, 0.9343, 1.312, 1.809, 2.434, 3.197, 4.106",\
                 "0.3634, 0.3889, 0.4806, 0.6591, 0.9325, 1.311, 1.809, 2.433, 3.197, 4.107",\
                 "0.4382, 0.4592, 0.5349, 0.6847, 0.938, 1.31, 1.809, 2.434, 3.197, 4.106",\
                 "0.5654, 0.5848, 0.6546, 0.7958, 1.023, 1.354, 1.82, 2.435, 3.197, 4.106",\
                 "0.7354, 0.755, 0.8252, 0.9612, 1.18, 1.498, 1.923, 2.489, 3.213, 4.107",\
                 "0.9394, 0.9616, 1.036, 1.178, 1.395, 1.702, 2.12, 2.656, 3.325, 4.166",\
                 "1.177, 1.202, 1.284, 1.439, 1.66, 1.967, 2.374, 2.902, 3.558, 4.345",\
                 "1.449, 1.476, 1.568, 1.732, 1.971, 2.288, 2.693, 3.209, 3.857, 4.638",\
                 "1.751, 1.784, 1.886, 2.069, 2.326, 2.659, 3.074, 3.586, 4.219, 4.99");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00351, 0.01232, 0.02914, 0.05535, 0.09213, 0.1405, 0.2015, 0.2759, 0.3646");
          values("0.8282, 0.9132, 1.209, 1.77, 2.64, 3.855, 5.452, 7.463, 9.915, 12.84",\
                 "0.8275, 0.9128, 1.209, 1.769, 2.639, 3.855, 5.454, 7.465, 9.917, 12.84",\
                 "0.8281, 0.9122, 1.21, 1.769, 2.639, 3.855, 5.453, 7.464, 9.919, 12.84",\
                 "0.8312, 0.9154, 1.211, 1.771, 2.638, 3.855, 5.452, 7.465, 9.915, 12.84",\
                 "0.8748, 0.9532, 1.232, 1.775, 2.64, 3.856, 5.452, 7.464, 9.915, 12.84",\
                 "0.9458, 1.027, 1.309, 1.832, 2.66, 3.857, 5.453, 7.464, 9.917, 12.84",\
                 "1.057, 1.134, 1.407, 1.931, 2.743, 3.897, 5.458, 7.463, 9.916, 12.84",\
                 "1.235, 1.308, 1.559, 2.058, 2.866, 4.001, 5.517, 7.476, 9.916, 12.84",\
                 "1.454, 1.529, 1.779, 2.248, 3.018, 4.147, 5.641, 7.554, 9.941, 12.84",\
                 "1.701, 1.781, 2.042, 2.508, 3.236, 4.327, 5.813, 7.695, 10.03, 12.88");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__aoi222_4) {
    area : 103.174400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "0.0001537437" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&C2" ;
      value : "0.0001540671" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&!C2" ;
      value : "0.0002190375" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&C2" ;
      value : "0.000342606" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&!C2" ;
      value : "0.0001540671" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&C2" ;
      value : "0.0001543872" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&!C2" ;
      value : "0.0002193609" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&C2" ;
      value : "0.000345213" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&!C2" ;
      value : "0.0002190375" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&C2" ;
      value : "0.0002193576" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&!C2" ;
      value : "0.0002843313" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&C2" ;
      value : "0.000345213" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&!C2" ;
      value : "0.0002289771" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&C2" ;
      value : "0.0002289771" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&!C2" ;
      value : "0.0002289771" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&C2" ;
      value : "0.000228987" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&!C2" ;
      value : "0.0001540671" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&C2" ;
      value : "0.0001543872" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&!C2" ;
      value : "0.0002193576" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&C2" ;
      value : "0.000345279" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&!C2" ;
      value : "0.0001543872" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&C2" ;
      value : "0.0001547106" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&!C2" ;
      value : "0.000219681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&C2" ;
      value : "0.000348018" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&!C2" ;
      value : "0.0002193576" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&C2" ;
      value : "0.000219681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&!C2" ;
      value : "0.0002846514" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&C2" ;
      value : "0.000348018" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&!C2" ;
      value : "0.0002321814" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&C2" ;
      value : "0.0002321781" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&!C2" ;
      value : "0.0002321781" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&C2" ;
      value : "0.0002321913" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "0.0002190375" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&C2" ;
      value : "0.0002193576" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&!C2" ;
      value : "0.0002843313" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&C2" ;
      value : "0.000345279" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&!C2" ;
      value : "0.0002193576" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&C2" ;
      value : "0.000219681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&!C2" ;
      value : "0.0002846514" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&C2" ;
      value : "0.000348018" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&!C2" ;
      value : "0.0002843313" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&C2" ;
      value : "0.0002846514" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&!C2" ;
      value : "0.000349635" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&C2" ;
      value : "0.000348018" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&!C2" ;
      value : "0.0002321781" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&C2" ;
      value : "0.0002321814" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&!C2" ;
      value : "0.0002321814" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&C2" ;
      value : "0.0002321913" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&!C2" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&C2" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&!C2" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&C2" ;
      value : "0.0001140678" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&!C2" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&C2" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&!C2" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&C2" ;
      value : "0.0001140678" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&!C2" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&C2" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&!C2" ;
      value : "0.000114048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&C2" ;
      value : "0.0001140645" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&!C2" ;
      value : "0.0001140546" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&C2" ;
      value : "0.0001140546" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&!C2" ;
      value : "0.0001140546" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&C2" ;
      value : "0.0001140645" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000349635" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01902 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07379, 0.07386, 0.07376, 0.07357, 0.07342, 0.07344, 0.07335, \
                 0.07338, 0.07336, 0.07335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04965, -0.04967, -0.04951, -0.04942, -0.04937, -0.04951, -0.04948, \
                 -0.04953, -0.04954, -0.04965");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07382, 0.07389, 0.07383, 0.07368, 0.07353, 0.07349, 0.07342, \
                 0.07341, 0.0734, 0.07338");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04966, -0.04969, -0.04958, -0.04946, -0.04939, -0.04951, -0.04952, \
                 -0.04955, -0.04957, -0.04967");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07382, 0.0739, 0.07383, 0.07369, 0.07353, 0.07349, 0.07344, \
                 0.07339, 0.07342, 0.07337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04966, -0.04969, -0.04958, -0.04947, -0.04944, -0.04952, -0.0495, \
                 -0.04956, -0.04959, -0.04969");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01903, 0.01901, 0.01905, 0.01911, 0.01908, 0.0192, 0.01916, \
                 0.01917, 0.01919, 0.01918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01908, -0.01908, -0.01913, -0.01916, -0.01918, -0.01923, -0.01923, \
                 -0.01925, -0.01928, -0.0193");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07369, 0.07378, 0.07381, 0.07361, 0.07346, 0.07343, 0.07339, \
                 0.07335, 0.07338, 0.07335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04964, -0.04968, -0.04959, -0.04947, -0.04938, -0.04952, -0.04952, \
                 -0.04956, -0.04957, -0.04966");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07371, 0.07381, 0.07384, 0.07368, 0.07353, 0.0735, 0.07344, \
                 0.0734, 0.07341, 0.07337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04965, -0.0497, -0.04961, -0.04953, -0.04941, -0.04952, -0.04952, \
                 -0.04956, -0.04961, -0.04976");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07371, 0.07384, 0.07384, 0.07372, 0.07351, 0.07351, 0.07345, \
                 0.07341, 0.07342, 0.07334");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04966, -0.0497, -0.04962, -0.04953, -0.04942, -0.04953, -0.04952, \
                 -0.04956, -0.04962, -0.04976");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01907, 0.01906, 0.0191, 0.01916, 0.01911, 0.01924, 0.0192, 0.01923, \
                 0.01924, 0.01923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01913, -0.01913, -0.01917, -0.01922, -0.01922, -0.01928, -0.01928, \
                 -0.0193, -0.01932, -0.01935");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07369, 0.07378, 0.07378, 0.07362, 0.07347, 0.07344, 0.0734, \
                 0.07338, 0.07338, 0.07334");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04965, -0.04968, -0.0496, -0.04949, -0.04939, -0.04951, -0.04954, \
                 -0.04956, -0.0496, -0.04969");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07371, 0.07385, 0.07386, 0.07369, 0.07352, 0.07353, 0.07345, \
                 0.0734, 0.0734, 0.07335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04966, -0.0497, -0.04962, -0.04954, -0.0494, -0.04952, -0.04951, \
                 -0.04954, -0.0496, -0.04974");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07371, 0.07385, 0.07387, 0.07366, 0.07353, 0.0735, 0.07344, \
                 0.07344, 0.07339, 0.07336");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04966, -0.0497, -0.04961, -0.04953, -0.04943, -0.04951, -0.04949, \
                 -0.04956, -0.04961, -0.04975");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0191, 0.01906, 0.01912, 0.01915, 0.01913, 0.01923, 0.01921, \
                 0.01921, 0.01923, 0.01924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01913, -0.01911, -0.01918, -0.01919, -0.01921, -0.01929, -0.0193, \
                 -0.01929, -0.01933, -0.01933");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01913, 0.01909, 0.01914, 0.01919, 0.01916, 0.01927, 0.01924, \
                 0.01926, 0.01927, 0.01925");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0192, -0.0192, -0.01925, -0.01928, -0.0193, -0.01934, -0.01935, \
                 -0.01936, -0.01938, -0.01939");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01913, 0.01909, 0.01915, 0.01919, 0.01915, 0.01926, 0.01924, \
                 0.01926, 0.01926, 0.01925");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0192, -0.0192, -0.01925, -0.01928, -0.01929, -0.01934, -0.01937, \
                 -0.01935, -0.01938, -0.01939");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01914, 0.0191, 0.01911, 0.01918, 0.01917, 0.01926, 0.01925, \
                 0.01927, 0.01926, 0.01928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0192, -0.01918, -0.01925, -0.01926, -0.01928, -0.01934, -0.01936, \
                 -0.01937, -0.01937, -0.01939");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01913, 0.0191, 0.01917, 0.01919, 0.01916, 0.01926, 0.01924, \
                 0.01926, 0.01926, 0.01927");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0192, -0.01921, -0.01924, -0.01929, -0.01929, -0.01934, -0.01935, \
                 -0.01935, -0.01938, -0.01941");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1631, 0.163, 0.1628, 0.1626, 0.1625, 0.1623, 0.162, \
                 0.1617, 0.1612");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01917, -0.01916, -0.01925, -0.01928, -0.01927, -0.01931, -0.01931, \
                 -0.01933, -0.01932, -0.01933");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1528, 0.1527, 0.1525, 0.1524, 0.1522, 0.1521, 0.1519, 0.1516, \
                 0.1513, 0.1508");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01921, -0.01924, -0.0193, -0.01932, -0.0193, -0.01936, -0.01936, \
                 -0.01936, -0.01937, -0.01937");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1528, 0.1527, 0.1525, 0.1524, 0.1522, 0.1521, 0.1519, 0.1516, \
                 0.1513, 0.1508");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01922, -0.01925, -0.01933, -0.01932, -0.01931, -0.01933, -0.01936, \
                 -0.01936, -0.01937, -0.01937");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08241, 0.08235, 0.08219, 0.08211, 0.08203, 0.08201, 0.08193, \
                 0.08183, 0.08166, 0.08144");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01925, -0.01924, -0.01933, -0.01934, -0.01936, -0.0194, -0.01939, \
                 -0.01941, -0.01939, -0.01941");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08242, 0.08235, 0.08219, 0.08211, 0.08203, 0.08201, 0.08193, \
                 0.08183, 0.08166, 0.08143");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01925, -0.01927, -0.01933, -0.01934, -0.01934, -0.01939, -0.01939, \
                 -0.0194, -0.01939, -0.01941");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08242, 0.08236, 0.08221, 0.08211, 0.08198, 0.08203, 0.08192, \
                 0.08182, 0.08166, 0.08144");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01925, -0.01929, -0.01936, -0.01938, -0.01933, -0.01937, -0.0194, \
                 -0.0194, -0.0194, -0.0194");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08239, 0.08236, 0.08221, 0.0821, 0.08203, 0.08203, 0.08193, \
                 0.08181, 0.08168, 0.08143");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01925, -0.01927, -0.01933, -0.01933, -0.01933, -0.01938, -0.0194, \
                 -0.01939, -0.0194, -0.0194");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01849 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07218, 0.06737, 0.06577, 0.06549, 0.06531, 0.06535, 0.06529, \
                 0.0653, 0.06531, 0.06528");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06571, -0.06566, -0.06557, -0.06538, -0.06521, -0.0653, -0.06522, \
                 -0.06519, -0.06514, -0.06514");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07215, 0.06735, 0.06583, 0.06558, 0.06538, 0.06539, 0.06532, \
                 0.06531, 0.06528, 0.06528");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0657, -0.06566, -0.06564, -0.06549, -0.06532, -0.0653, -0.06527, \
                 -0.06523, -0.06518, -0.06518");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07216, 0.06736, 0.06583, 0.06557, 0.06539, 0.06541, 0.06532, \
                 0.06533, 0.06529, 0.06527");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0657, -0.06566, -0.06564, -0.06548, -0.06532, -0.06532, -0.06526, \
                 -0.06524, -0.06518, -0.06514");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01907, 0.01904, 0.01906, 0.01908, 0.01909, 0.01919, 0.0192, \
                 0.01919, 0.01919, 0.01918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01914, -0.01915, -0.01917, -0.01916, -0.01915, -0.01923, -0.01925, \
                 -0.01925, -0.01928, -0.01929");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0721, 0.06729, 0.06577, 0.06554, 0.06534, 0.06538, 0.06531, \
                 0.0653, 0.06526, 0.06528");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06566, -0.06567, -0.06562, -0.06545, -0.06527, -0.06532, -0.06524, \
                 -0.0652, -0.06519, -0.06529");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07211, 0.06731, 0.06581, 0.06559, 0.06541, 0.06542, 0.06535, \
                 0.0653, 0.06527, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06567, -0.06566, -0.06566, -0.06552, -0.06539, -0.06534, -0.06529, \
                 -0.06523, -0.0652, -0.0652");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07208, 0.06728, 0.06578, 0.06559, 0.06538, 0.06538, 0.06532, \
                 0.06526, 0.06527, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06566, -0.06566, -0.06566, -0.06554, -0.06538, -0.06538, -0.0653, \
                 -0.06522, -0.06521, -0.06516");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01911, 0.01908, 0.01911, 0.01913, 0.01913, 0.01923, 0.01923, \
                 0.01924, 0.01923, 0.01922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01918, -0.01919, -0.01921, -0.0192, -0.0192, -0.01926, -0.01929, \
                 -0.0193, -0.01932, -0.01935");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07211, 0.06729, 0.06577, 0.06552, 0.06534, 0.06537, 0.06532, \
                 0.06531, 0.06527, 0.06528");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06566, -0.06567, -0.06563, -0.06544, -0.06527, -0.06532, -0.06524, \
                 -0.06522, -0.0652, -0.06517");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0721, 0.0673, 0.0658, 0.06561, 0.0654, 0.06542, 0.06534, 0.06529, \
                 0.06526, 0.06525");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06569, -0.06566, -0.06568, -0.06552, -0.06538, -0.06536, -0.06531, \
                 -0.06526, -0.0652, -0.06516");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07208, 0.06728, 0.06578, 0.06556, 0.06538, 0.06538, 0.06533, \
                 0.0653, 0.06528, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06567, -0.06566, -0.06569, -0.06554, -0.06539, -0.06537, -0.0653, \
                 -0.06523, -0.06521, -0.06515");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01911, 0.01908, 0.01911, 0.01913, 0.01914, 0.01923, 0.01924, \
                 0.01923, 0.01923, 0.01922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01919, -0.01919, -0.01921, -0.0192, -0.01921, -0.01928, -0.01929, \
                 -0.01931, -0.01933, -0.01935");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01915, 0.01912, 0.01914, 0.01916, 0.01918, 0.01925, 0.01927, \
                 0.01927, 0.01926, 0.01926");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01926, -0.01926, -0.0193, -0.01929, -0.01927, -0.01934, -0.01934, \
                 -0.01938, -0.01939, -0.01939");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01915, 0.01912, 0.01914, 0.01916, 0.01919, 0.01927, 0.01926, \
                 0.01928, 0.01926, 0.01927");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01926, -0.01926, -0.0193, -0.01929, -0.01927, -0.01934, -0.01936, \
                 -0.01937, -0.01939, -0.01939");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01915, 0.01912, 0.01914, 0.01916, 0.01918, 0.01927, 0.01927, \
                 0.01927, 0.01927, 0.01926");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01926, -0.01926, -0.0193, -0.01927, -0.01925, -0.01934, -0.01934, \
                 -0.01937, -0.01938, -0.0194");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01914, 0.01912, 0.01914, 0.01916, 0.01916, 0.01928, 0.01928, \
                 0.01926, 0.01926, 0.01927");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01926, -0.01926, -0.01931, -0.01928, -0.01926, -0.01935, -0.01935, \
                 -0.01936, -0.01939, -0.01938");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1631, 0.163, 0.1628, 0.1626, 0.1625, 0.1623, 0.162, \
                 0.1617, 0.1611");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01922, -0.01922, -0.01928, -0.01928, -0.01925, -0.01933, -0.01932, \
                 -0.01932, -0.01932, -0.01932");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1528, 0.1527, 0.1526, 0.1524, 0.1522, 0.1521, 0.1519, 0.1516, \
                 0.1513, 0.1508");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01926, -0.01926, -0.01932, -0.01933, -0.01929, -0.01937, -0.01938, \
                 -0.01937, -0.01936, -0.01936");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1528, 0.1527, 0.1526, 0.1523, 0.1522, 0.1521, 0.1519, 0.1516, \
                 0.1513, 0.1508");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01927, -0.01927, -0.01932, -0.01931, -0.01929, -0.01936, -0.01937, \
                 -0.01937, -0.01936, -0.01936");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08244, 0.0823, 0.08218, 0.08209, 0.08201, 0.08203, 0.08193, \
                 0.08183, 0.08167, 0.08145");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0193, -0.0193, -0.01935, -0.01936, -0.01932, -0.0194, -0.01941, \
                 -0.0194, -0.0194, -0.01941");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08244, 0.0823, 0.08218, 0.08209, 0.082, 0.08204, 0.08194, 0.08183, \
                 0.08166, 0.08145");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0193, -0.0193, -0.01935, -0.01935, -0.01933, -0.0194, -0.0194, \
                 -0.01939, -0.0194, -0.0194");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08245, 0.08231, 0.08218, 0.08213, 0.08202, 0.08198, 0.08194, \
                 0.08183, 0.08169, 0.08144");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0193, -0.0193, -0.01935, -0.01934, -0.01933, -0.01941, -0.01941, \
                 -0.0194, -0.0194, -0.01941");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08242, 0.08231, 0.08218, 0.0821, 0.08203, 0.08203, 0.08195, \
                 0.08183, 0.08165, 0.08145");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0193, -0.0193, -0.01934, -0.01933, -0.01935, -0.01941, -0.01941, \
                 -0.01941, -0.0194, -0.01939");
        }
      }
    }

    pin(B1) {
      capacitance : 0.01918 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07373, 0.07365, 0.07374, 0.07346, 0.0734, 0.07342, 0.07337, \
                 0.07333, 0.07337, 0.07333");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04907, -0.049, -0.04892, -0.04895, -0.04894, -0.04906, -0.04913, \
                 -0.04915, -0.0492, -0.04928");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07357, 0.07359, 0.07371, 0.07361, 0.07346, 0.07348, 0.07339, \
                 0.07337, 0.07334, 0.07334");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04912, -0.04907, -0.04907, -0.04901, -0.04899, -0.04909, -0.04915, \
                 -0.0492, -0.04926, -0.04934");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07359, 0.07355, 0.07374, 0.07359, 0.07345, 0.07348, 0.07339, \
                 0.07338, 0.07335, 0.07334");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04912, -0.04911, -0.04906, -0.04909, -0.04896, -0.04911, -0.04918, \
                 -0.04921, -0.0493, -0.04931");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02348, 0.02343, 0.0235, 0.02355, 0.02351, 0.02363, 0.02361, \
                 0.02363, 0.02365, 0.02362");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0236, -0.02354, -0.02362, -0.02365, -0.02366, -0.02377, -0.02379, \
                 -0.02382, -0.02388, -0.02394");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06912, 0.06908, 0.06919, 0.06915, 0.06899, 0.06898, 0.06883, \
                 0.06861, 0.06831, 0.0679");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02364, -0.0236, -0.02369, -0.02374, -0.02371, -0.02379, -0.02384, \
                 -0.02385, -0.02389, -0.02394");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07377, 0.07362, 0.07368, 0.07341, 0.0734, 0.07342, 0.07339, \
                 0.07339, 0.07337, 0.07332");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04902, -0.04902, -0.04896, -0.04898, -0.04893, -0.04903, -0.04905, \
                 -0.04919, -0.04923, -0.0493");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07362, 0.07356, 0.07365, 0.07355, 0.07347, 0.07346, 0.07341, \
                 0.07337, 0.07338, 0.07336");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04906, -0.04909, -0.04905, -0.04903, -0.04896, -0.04914, -0.04916, \
                 -0.04919, -0.04925, -0.0494");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07362, 0.07357, 0.07364, 0.07355, 0.07348, 0.07347, 0.0734, \
                 0.07337, 0.07339, 0.07336");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04907, -0.04909, -0.04905, -0.04906, -0.04894, -0.04914, -0.04916, \
                 -0.04917, -0.04928, -0.04933");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02353, 0.02348, 0.02356, 0.02359, 0.02354, 0.02366, 0.02367, \
                 0.02367, 0.0237, 0.02369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02366, -0.02361, -0.02368, -0.02371, -0.02373, -0.02382, -0.02386, \
                 -0.0239, -0.02395, -0.02399");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0685, 0.06846, 0.06857, 0.0685, 0.0684, 0.06837, 0.06821, 0.06797, \
                 0.06766, 0.06723");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02369, -0.02364, -0.02374, -0.02377, -0.02378, -0.02384, -0.02388, \
                 -0.0239, -0.02395, -0.024");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07377, 0.0736, 0.0737, 0.07341, 0.07342, 0.0734, 0.07342, 0.07336, \
                 0.07337, 0.07333");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04902, -0.049, -0.04897, -0.04895, -0.04891, -0.04903, -0.04905, \
                 -0.04916, -0.04922, -0.04927");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07365, 0.0736, 0.07364, 0.07352, 0.07348, 0.07346, 0.07341, \
                 0.07337, 0.0734, 0.07336");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04904, -0.04909, -0.0491, -0.04902, -0.04899, -0.0491, -0.04913, \
                 -0.04916, -0.04926, -0.04935");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07365, 0.07356, 0.07367, 0.07358, 0.07348, 0.07346, 0.07342, \
                 0.07337, 0.07341, 0.07336");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04904, -0.04909, -0.0491, -0.04908, -0.04899, -0.04914, -0.04916, \
                 -0.04918, -0.04928, -0.04936");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02353, 0.02348, 0.02357, 0.02361, 0.02356, 0.02366, 0.02365, \
                 0.02367, 0.02369, 0.0237");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02366, -0.02363, -0.02371, -0.02371, -0.02374, -0.02382, -0.02384, \
                 -0.0239, -0.02395, -0.02401");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0685, 0.06846, 0.06853, 0.06849, 0.06836, 0.06837, 0.06819, \
                 0.06799, 0.06766, 0.06724");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0237, -0.02366, -0.02375, -0.02378, -0.02378, -0.02383, -0.0239, \
                 -0.0239, -0.02393, -0.024");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06554, 0.06547, 0.06533, 0.06532, 0.06516, 0.06535, 0.06525, \
                 0.06532, 0.06528, 0.06528");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06534, -0.06522, -0.06504, -0.06502, -0.06501, -0.06507, -0.06508, \
                 -0.06507, -0.06501, -0.06506");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06543, 0.06542, 0.06538, 0.06528, 0.06515, 0.06531, 0.06525, \
                 0.0653, 0.06533, 0.06529");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06528, -0.0652, -0.06512, -0.06505, -0.06505, -0.06513, -0.0651, \
                 -0.06511, -0.06506, -0.06508");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06548, 0.06543, 0.06537, 0.06521, 0.06518, 0.0653, 0.06527, \
                 0.06528, 0.06527, 0.06527");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06529, -0.06521, -0.0651, -0.06503, -0.06501, -0.06514, -0.06513, \
                 -0.06511, -0.06508, -0.06508");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03495, 0.0349, 0.03498, 0.0349, 0.03501, 0.03513, 0.0351, 0.03509, \
                 0.0351, 0.0351");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03844, -0.03845, -0.03849, -0.03854, -0.03855, -0.03865, -0.03866, \
                 -0.03867, -0.03868, -0.03868");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06547, 0.06539, 0.06529, 0.06526, 0.06518, 0.06528, 0.0653, \
                 0.06531, 0.06523, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05331, -0.0545, -0.05774, -0.06028, -0.06149, -0.0623, -0.0627, \
                 -0.06298, -0.06316, -0.0633");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06541, 0.06533, 0.06532, 0.0652, 0.06517, 0.06526, 0.0653, 0.06526, \
                 0.06527, 0.0653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05312, -0.05404, -0.05697, -0.05974, -0.0612, -0.06211, -0.06266, \
                 -0.06292, -0.06312, -0.06328");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06537, 0.06536, 0.06531, 0.06525, 0.06519, 0.06531, 0.06526, \
                 0.06533, 0.06527, 0.06528");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05311, -0.05404, -0.05697, -0.0597, -0.0612, -0.06214, -0.06263, \
                 -0.06293, -0.06311, -0.06327");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03677, 0.03681, 0.03686, 0.03691, 0.03688, 0.03701, 0.03698, \
                 0.03699, 0.03698, 0.03699");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04115, -0.04107, -0.04112, -0.04111, -0.04108, -0.04121, -0.04124, \
                 -0.04127, -0.0413, -0.04133");
        }
      }
    }

    pin(B2) {
      capacitance : 0.01789 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07221, 0.06723, 0.06562, 0.06543, 0.0653, 0.0653, 0.06528, 0.06527, \
                 0.06526, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06556, -0.06555, -0.06538, -0.06528, -0.06513, -0.06524, -0.0652, \
                 -0.06517, -0.06511, -0.06513");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07208, 0.06717, 0.06569, 0.06554, 0.06535, 0.06535, 0.06529, \
                 0.06528, 0.06526, 0.06525");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06552, -0.06554, -0.0655, -0.06535, -0.06524, -0.06533, -0.06523, \
                 -0.06524, -0.06519, -0.06516");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07208, 0.06713, 0.0657, 0.06548, 0.06531, 0.06537, 0.06531, \
                 0.0653, 0.06525, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06552, -0.06554, -0.06551, -0.06535, -0.06525, -0.0653, -0.06522, \
                 -0.06523, -0.0652, -0.06516");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0235, 0.02349, 0.02351, 0.02353, 0.02353, 0.02361, 0.02363, \
                 0.02363, 0.02364, 0.02363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02361, -0.02363, -0.02364, -0.02365, -0.02369, -0.02377, -0.02377, \
                 -0.02382, -0.02388, -0.02391");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06913, 0.06912, 0.06913, 0.06912, 0.06898, 0.06898, 0.06882, \
                 0.06861, 0.06832, 0.06788");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02364, -0.02363, -0.02369, -0.02371, -0.02373, -0.02379, -0.02383, \
                 -0.02385, -0.02389, -0.02393");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07227, 0.06721, 0.06562, 0.0654, 0.06526, 0.06534, 0.06528, \
                 0.06525, 0.06525, 0.06525");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06552, -0.06545, -0.06534, -0.06519, -0.06511, -0.06519, -0.06517, \
                 -0.06514, -0.06511, -0.06514");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07214, 0.06713, 0.06566, 0.06547, 0.06533, 0.06538, 0.06534, \
                 0.06526, 0.06523, 0.06522");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06546, -0.06546, -0.06544, -0.06529, -0.06518, -0.06527, -0.06528, \
                 -0.06521, -0.06523, -0.06516");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07214, 0.06716, 0.06565, 0.06546, 0.0653, 0.06535, 0.06531, \
                 0.06526, 0.06523, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06547, -0.06546, -0.06545, -0.06529, -0.0652, -0.06529, -0.06528, \
                 -0.06519, -0.0652, -0.06517");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02355, 0.02354, 0.02357, 0.02358, 0.0236, 0.02368, 0.02369, \
                 0.02369, 0.02369, 0.02368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02367, -0.02369, -0.02372, -0.0237, -0.02375, -0.02383, -0.02385, \
                 -0.02388, -0.02395, -0.02398");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06852, 0.0685, 0.06851, 0.06852, 0.06837, 0.06839, 0.0682, 0.068, \
                 0.06768, 0.06723");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0237, -0.02368, -0.02375, -0.02377, -0.02377, -0.02385, -0.0239, \
                 -0.0239, -0.02395, -0.024");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07227, 0.06721, 0.06562, 0.06541, 0.06525, 0.06533, 0.06531, \
                 0.06528, 0.06525, 0.06527");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06549, -0.06545, -0.06534, -0.06523, -0.06511, -0.0652, -0.06516, \
                 -0.06515, -0.0651, -0.06513");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07215, 0.06718, 0.06563, 0.06545, 0.06533, 0.06538, 0.06533, \
                 0.06529, 0.06524, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06546, -0.06546, -0.06545, -0.0653, -0.0652, -0.06527, -0.06528, \
                 -0.0652, -0.0652, -0.06517");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07214, 0.06716, 0.06562, 0.06549, 0.06531, 0.06538, 0.06529, \
                 0.06528, 0.06525, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06546, -0.06546, -0.06545, -0.0653, -0.06523, -0.06524, -0.06528, \
                 -0.06518, -0.06518, -0.06516");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02355, 0.02354, 0.02357, 0.02358, 0.02359, 0.02367, 0.02368, \
                 0.0237, 0.02369, 0.02368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02367, -0.02369, -0.02371, -0.0237, -0.02375, -0.02382, -0.02383, \
                 -0.02388, -0.02394, -0.02398");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06852, 0.0685, 0.06853, 0.06848, 0.06836, 0.06839, 0.06821, \
                 0.06799, 0.06768, 0.06724");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0237, -0.02368, -0.02368, -0.02376, -0.02377, -0.02387, -0.0239, \
                 -0.02391, -0.02395, -0.024");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0656, 0.06553, 0.06531, 0.06524, 0.06516, 0.06531, 0.06531, \
                 0.06535, 0.06526, 0.06532");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06539, -0.0653, -0.06511, -0.06498, -0.06496, -0.06509, -0.0651, \
                 -0.06509, -0.06503, -0.06512");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0655, 0.06547, 0.06534, 0.06525, 0.06518, 0.06532, 0.06527, \
                 0.06532, 0.06529, 0.06527");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06537, -0.06531, -0.06514, -0.06503, -0.065, -0.06511, -0.06511, \
                 -0.06512, -0.06522, -0.06507");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06549, 0.0655, 0.06534, 0.06528, 0.06518, 0.06531, 0.06529, \
                 0.06531, 0.06529, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06537, -0.06531, -0.06514, -0.06503, -0.065, -0.06515, -0.06509, \
                 -0.06508, -0.0651, -0.0651");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03496, 0.03494, 0.03504, 0.03502, 0.03504, 0.03513, 0.0351, \
                 0.03509, 0.03512, 0.03511");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03853, -0.03849, -0.03851, -0.03853, -0.03849, -0.03868, -0.03864, \
                 -0.03865, -0.03867, -0.03866");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06549, 0.06542, 0.06533, 0.06525, 0.06514, 0.06525, 0.06532, \
                 0.06536, 0.06525, 0.06529");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05337, -0.05452, -0.05773, -0.06021, -0.06152, -0.0623, -0.0627, \
                 -0.06298, -0.06314, -0.06329");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06544, 0.06536, 0.06536, 0.06525, 0.06515, 0.06525, 0.0653, \
                 0.06528, 0.06528, 0.06527");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05319, -0.05408, -0.05697, -0.05966, -0.06124, -0.06218, -0.06264, \
                 -0.06295, -0.06312, -0.06333");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06544, 0.06536, 0.06542, 0.06523, 0.06517, 0.0653, 0.06531, \
                 0.06529, 0.06528, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05318, -0.05408, -0.05704, -0.0597, -0.06115, -0.06218, -0.06264, \
                 -0.06292, -0.06311, -0.06332");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03682, 0.03686, 0.03695, 0.03694, 0.03689, 0.03699, 0.03702, \
                 0.03701, 0.037, 0.037");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04121, -0.04112, -0.04109, -0.04114, -0.04109, -0.04124, -0.04128, \
                 -0.04127, -0.04131, -0.04131");
        }
      }
    }

    pin(C1) {
      capacitance : 0.01918 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07369, 0.07346, 0.07334, 0.07338, 0.07342, 0.07344, 0.07331, \
                 0.07337, 0.07339, 0.07332");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04916, -0.04909, -0.04918, -0.04907, -0.04924, -0.04938, -0.04939, \
                 -0.04948, -0.04949, -0.04959");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07372, 0.07343, 0.07335, 0.07338, 0.07343, 0.07347, 0.07341, \
                 0.0734, 0.0733, 0.07342");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04908, -0.04907, -0.04902, -0.04903, -0.04903, -0.04934, -0.04943, \
                 -0.04944, -0.04951, -0.04963");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07373, 0.07343, 0.07336, 0.07338, 0.07342, 0.07346, 0.07343, \
                 0.07339, 0.0733, 0.07342");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04908, -0.04907, -0.04902, -0.04904, -0.04903, -0.04936, -0.04942, \
                 -0.04943, -0.04952, -0.04966");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06532, 0.06514, 0.06508, 0.06515, 0.06505, 0.06523, 0.06537, \
                 0.06529, 0.06528, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06508, -0.06494, -0.06489, -0.06489, -0.06481, -0.06504, -0.06506, \
                 -0.06507, -0.06507, -0.06507");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06526, 0.06514, 0.06502, 0.06524, 0.06519, 0.06531, 0.06528, \
                 0.06532, 0.06533, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05391, -0.05587, -0.05902, -0.06097, -0.06187, -0.06249, -0.06288, \
                 -0.06312, -0.0633, -0.06342");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07367, 0.07352, 0.07332, 0.07333, 0.0732, 0.07351, 0.0734, 0.07337, \
                 0.07337, 0.07336");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04916, -0.04911, -0.04915, -0.04908, -0.04911, -0.04939, -0.0494, \
                 -0.04948, -0.04952, -0.04959");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0737, 0.07351, 0.07331, 0.07338, 0.07346, 0.07349, 0.07344, \
                 0.07343, 0.07331, 0.07343");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04908, -0.04907, -0.04901, -0.04905, -0.04911, -0.04937, -0.0494, \
                 -0.04945, -0.0495, -0.04968");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0737, 0.07351, 0.07331, 0.07337, 0.07341, 0.07348, 0.07344, \
                 0.0734, 0.07332, 0.07341");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04909, -0.04906, -0.04901, -0.04903, -0.04905, -0.04937, -0.04941, \
                 -0.04947, -0.04947, -0.04967");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06532, 0.06514, 0.06508, 0.06507, 0.06509, 0.06525, 0.06538, \
                 0.06531, 0.06533, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06508, -0.06495, -0.06489, -0.06489, -0.06481, -0.06504, -0.06509, \
                 -0.06508, -0.06504, -0.06505");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06526, 0.06514, 0.06514, 0.06516, 0.06523, 0.06532, 0.06527, \
                 0.06535, 0.06532, 0.06529");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05391, -0.05587, -0.05902, -0.06097, -0.06187, -0.06248, -0.0629, \
                 -0.06314, -0.06328, -0.06342");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07368, 0.07347, 0.07332, 0.07331, 0.07329, 0.0735, 0.0734, 0.07341, \
                 0.07338, 0.07338");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04916, -0.04911, -0.04915, -0.04909, -0.04905, -0.0494, -0.04941, \
                 -0.04947, -0.0495, -0.04965");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0737, 0.07351, 0.07331, 0.07337, 0.07343, 0.07348, 0.07339, \
                 0.07337, 0.07328, 0.0734");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04909, -0.04907, -0.04901, -0.04905, -0.04912, -0.04935, -0.04942, \
                 -0.04947, -0.04951, -0.04966");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07371, 0.07351, 0.07331, 0.07338, 0.07342, 0.07345, 0.07341, \
                 0.07344, 0.07332, 0.07339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04908, -0.04906, -0.04901, -0.04903, -0.04907, -0.04934, -0.04943, \
                 -0.04941, -0.04948, -0.04961");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06529, 0.06515, 0.06508, 0.06512, 0.06516, 0.06521, 0.06528, \
                 0.06526, 0.06526, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06508, -0.06494, -0.06489, -0.06489, -0.06483, -0.06504, -0.06507, \
                 -0.06501, -0.06505, -0.06505");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06526, 0.06515, 0.06509, 0.06529, 0.06516, 0.06536, 0.06525, \
                 0.06537, 0.06529, 0.06529");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05391, -0.05587, -0.05903, -0.06096, -0.06185, -0.06252, -0.06292, \
                 -0.06314, -0.06329, -0.06339");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0653, 0.06522, 0.06516, 0.06515, 0.06518, 0.06536, 0.06539, \
                 0.06528, 0.06532, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06515, -0.065, -0.06496, -0.06495, -0.06483, -0.06514, -0.06508, \
                 -0.06507, -0.06519, -0.06506");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06529, 0.06522, 0.06521, 0.06523, 0.06522, 0.06531, 0.06531, \
                 0.0653, 0.0653, 0.06529");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05111, -0.05238, -0.05503, -0.05772, -0.05945, -0.06072, -0.06144, \
                 -0.06189, -0.06216, -0.06247");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06531, 0.06513, 0.06513, 0.0651, 0.06519, 0.06527, 0.06537, \
                 0.06524, 0.06528, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0651, -0.06504, -0.06492, -0.06494, -0.06475, -0.06504, -0.0651, \
                 -0.06506, -0.06503, -0.06512");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06525, 0.06523, 0.06517, 0.06532, 0.0652, 0.06532, 0.06529, \
                 0.06528, 0.06532, 0.06529");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05216, -0.05359, -0.05617, -0.05867, -0.0601, -0.06119, -0.06183, \
                 -0.06226, -0.06248, -0.06272");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06529, 0.06514, 0.06514, 0.06521, 0.06518, 0.06525, 0.06528, \
                 0.0653, 0.06526, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06512, -0.06505, -0.06492, -0.06495, -0.06481, -0.06502, -0.06507, \
                 -0.06508, -0.06508, -0.06509");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06527, 0.06525, 0.06515, 0.06534, 0.0652, 0.06533, 0.06536, \
                 0.06534, 0.06532, 0.06532");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05214, -0.05362, -0.05617, -0.05852, -0.06011, -0.06122, -0.06182, \
                 -0.06226, -0.06248, -0.0627");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06532, 0.06514, 0.06516, 0.06521, 0.06522, 0.06534, 0.06518, \
                 0.0653, 0.06532, 0.0653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06507, -0.06494, -0.06489, -0.06488, -0.06484, -0.06504, -0.06509, \
                 -0.06504, -0.06503, -0.06505");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06525, 0.06514, 0.0651, 0.06523, 0.06517, 0.06535, 0.06527, \
                 0.06524, 0.06526, 0.06527");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05395, -0.05588, -0.05903, -0.06105, -0.06186, -0.06249, -0.06286, \
                 -0.06313, -0.06329, -0.0634");
        }
      }
    }

    pin(C2) {
      capacitance : 0.01804 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07211, 0.06712, 0.06549, 0.06534, 0.06526, 0.06537, 0.0653, \
                 0.06528, 0.06528, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06532, -0.06519, -0.06517, -0.06512, -0.06498, -0.06514, -0.06514, \
                 -0.06508, -0.06509, -0.06513");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07212, 0.06711, 0.0654, 0.06535, 0.06534, 0.06534, 0.06531, \
                 0.06522, 0.06529, 0.06528");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06526, -0.06515, -0.06514, -0.06503, -0.065, -0.06513, -0.06515, \
                 -0.06509, -0.06519, -0.0651");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07212, 0.06711, 0.06541, 0.06534, 0.06535, 0.06538, 0.06528, \
                 0.06525, 0.06528, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06526, -0.06515, -0.06514, -0.06504, -0.06499, -0.06513, -0.06514, \
                 -0.0651, -0.06508, -0.06511");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06542, 0.06534, 0.06516, 0.06519, 0.06514, 0.0653, 0.06533, \
                 0.06524, 0.06528, 0.06526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06509, -0.06501, -0.06486, -0.0649, -0.06485, -0.06504, -0.06507, \
                 -0.06503, -0.06505, -0.06505");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0653, 0.0653, 0.06527, 0.06523, 0.06522, 0.06526, 0.06532, 0.06531, \
                 0.0653, 0.06527");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05396, -0.05582, -0.05913, -0.06095, -0.06183, -0.06256, -0.06293, \
                 -0.06312, -0.06329, -0.06343");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07211, 0.06712, 0.06544, 0.06534, 0.06529, 0.06542, 0.06528, \
                 0.06527, 0.06522, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06529, -0.06514, -0.06513, -0.06505, -0.06498, -0.06514, -0.06533, \
                 -0.06511, -0.06521, -0.06506");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07213, 0.06711, 0.06543, 0.06533, 0.06529, 0.06533, 0.06531, \
                 0.06523, 0.06525, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06524, -0.06512, -0.06512, -0.06501, -0.06495, -0.0651, -0.06517, \
                 -0.06506, -0.06508, -0.06507");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07212, 0.06711, 0.06543, 0.06533, 0.06524, 0.06534, 0.06533, \
                 0.06524, 0.06525, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06524, -0.06513, -0.06512, -0.06501, -0.06493, -0.0651, -0.06517, \
                 -0.0651, -0.0651, -0.06509");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06542, 0.06534, 0.06516, 0.06519, 0.06516, 0.06532, 0.06533, \
                 0.06524, 0.06529, 0.06528");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0651, -0.06501, -0.06486, -0.06493, -0.06485, -0.06504, -0.06507, \
                 -0.06525, -0.06506, -0.06505");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0653, 0.0653, 0.06527, 0.06525, 0.06519, 0.06528, 0.06539, 0.06527, \
                 0.06528, 0.0653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05397, -0.05582, -0.05913, -0.06104, -0.06186, -0.06254, -0.06292, \
                 -0.06314, -0.06328, -0.06344");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07212, 0.06712, 0.06544, 0.06535, 0.06526, 0.06542, 0.06529, \
                 0.06525, 0.06521, 0.06522");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06529, -0.06515, -0.06513, -0.06505, -0.06497, -0.06514, -0.06513, \
                 -0.06509, -0.06512, -0.0651");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07213, 0.06711, 0.06543, 0.06533, 0.06529, 0.06534, 0.06533, \
                 0.06522, 0.06523, 0.06524");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06524, -0.06513, -0.06512, -0.06501, -0.06496, -0.0651, -0.06517, \
                 -0.0651, -0.06511, -0.06511");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07212, 0.0671, 0.06543, 0.06533, 0.06523, 0.0654, 0.06532, 0.06524, \
                 0.06524, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06524, -0.06512, -0.06512, -0.06501, -0.06492, -0.0651, -0.06517, \
                 -0.06511, -0.06519, -0.06507");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06542, 0.06534, 0.06516, 0.06519, 0.06515, 0.0653, 0.06531, \
                 0.06524, 0.06529, 0.06525");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0651, -0.06501, -0.06486, -0.06491, -0.06485, -0.06504, -0.06507, \
                 -0.06526, -0.06507, -0.06505");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0653, 0.0653, 0.06519, 0.06519, 0.06518, 0.0653, 0.06535, 0.06533, \
                 0.06525, 0.06534");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05397, -0.05582, -0.05913, -0.06095, -0.06185, -0.06255, -0.06292, \
                 -0.06316, -0.0633, -0.06344");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06539, 0.06536, 0.06514, 0.0652, 0.06518, 0.0653, 0.06531, 0.06523, \
                 0.06523, 0.0653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06523, -0.06508, -0.06499, -0.06495, -0.06484, -0.06507, -0.06509, \
                 -0.06508, -0.06505, -0.06508");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06533, 0.06538, 0.06534, 0.06529, 0.06527, 0.06534, 0.06531, \
                 0.06531, 0.06532, 0.06536");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05114, -0.05238, -0.05497, -0.05768, -0.05945, -0.06074, -0.06141, \
                 -0.06185, -0.06222, -0.06246");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0654, 0.06533, 0.06518, 0.06519, 0.0652, 0.06534, 0.0653, 0.06523, \
                 0.06529, 0.0653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06514, -0.06503, -0.06497, -0.06489, -0.06485, -0.06506, -0.06511, \
                 -0.06505, -0.06506, -0.06507");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06529, 0.06533, 0.06535, 0.06525, 0.06523, 0.06528, 0.06534, \
                 0.06529, 0.06528, 0.06533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05221, -0.05359, -0.05624, -0.05858, -0.06012, -0.06119, -0.06184, \
                 -0.06225, -0.06247, -0.06274");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06539, 0.06533, 0.06518, 0.06519, 0.0652, 0.06533, 0.06526, \
                 0.06524, 0.0653, 0.06525");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06514, -0.06503, -0.06497, -0.06489, -0.06485, -0.06507, -0.06512, \
                 -0.06506, -0.06507, -0.0652");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0653, 0.06534, 0.06531, 0.06522, 0.06525, 0.06526, 0.06536, \
                 0.0653, 0.0654, 0.06529");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05218, -0.05359, -0.05624, -0.05855, -0.06009, -0.06121, -0.06188, \
                 -0.06223, -0.06249, -0.06273");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06542, 0.06534, 0.06516, 0.06519, 0.06516, 0.06529, 0.0653, \
                 0.06525, 0.06532, 0.06528");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06512, -0.06501, -0.06486, -0.06486, -0.06485, -0.06504, -0.06506, \
                 -0.06503, -0.06506, -0.06506");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0653, 0.0653, 0.06519, 0.0652, 0.0652, 0.06528, 0.06537, 0.06526, \
                 0.0653, 0.06535");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05401, -0.05582, -0.05913, -0.06101, -0.06189, -0.06259, -0.06293, \
                 -0.06311, -0.06328, -0.0634");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!B1)&(!C1))|((!A1)&(!B1)&(!C2))|((!A1)&(!B2)&(!C1))|((!A1)&(!B2)&(!C2))|((!A2)&(!B1)&(!C1))|((!A2)&(!B1)&(!C2))|((!A2)&(!B2)&(!C1))|((!A2)&(!B2)&(!C2)))" ;
      max_capacitance : 0.7256 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01196, 0.0123, 0.01289, 0.01327, 0.01341, 0.01359, 0.01366, 0.01371, 0.01375, 0.01378",\
                 "0.01084, 0.01149, 0.01303, 0.0142, 0.0149, 0.01531, 0.0156, 0.01577, 0.01591, 0.016",\
                 "0.01587, 0.01614, 0.01682, 0.01762, 0.01817, 0.01855, 0.01882, 0.019, 0.01914, 0.01922",\
                 "0.03553, 0.03442, 0.03194, 0.02932, 0.02728, 0.02574, 0.02463, 0.02377, 0.02317, 0.02274",\
                 "0.07604, 0.07304, 0.06559, 0.05719, 0.04978, 0.0438, 0.03916, 0.03557, 0.03287, 0.03071",\
                 "0.1417, 0.1369, 0.1236, 0.1072, 0.09201, 0.07916, 0.06878, 0.06031, 0.05358, 0.04813",\
                 "0.2343, 0.2277, 0.2092, 0.184, 0.1589, 0.137, 0.1184, 0.1028, 0.08999, 0.07953",\
                 "0.3557, 0.3478, 0.3242, 0.2905, 0.2545, 0.2214, 0.1925, 0.1679, 0.147, 0.1295",\
                 "0.5072, 0.498, 0.47, 0.4285, 0.3815, 0.3359, 0.2948, 0.2593, 0.2285, 0.2018",\
                 "0.6904, 0.68, 0.648, 0.5991, 0.5416, 0.4832, 0.4293, 0.3804, 0.3384, 0.3011");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2981, 0.299, 0.3004, 0.3019, 0.3035, 0.3047, 0.3066, 0.308, 0.3117, 0.3184",\
                 "0.2926, 0.2939, 0.2968, 0.3, 0.3027, 0.3047, 0.307, 0.3096, 0.3124, 0.3174",\
                 "0.2947, 0.2947, 0.2955, 0.2975, 0.3004, 0.3032, 0.3053, 0.3083, 0.3114, 0.3181",\
                 "0.3202, 0.3186, 0.3142, 0.31, 0.3083, 0.3082, 0.3086, 0.3103, 0.3117, 0.3213",\
                 "0.3708, 0.367, 0.358, 0.3465, 0.3361, 0.3295, 0.3248, 0.3222, 0.322, 0.3286",\
                 "0.4481, 0.4431, 0.4283, 0.4097, 0.3914, 0.3745, 0.3618, 0.3528, 0.3468, 0.3533",\
                 "0.5551, 0.5481, 0.5281, 0.5012, 0.4741, 0.4482, 0.4248, 0.4053, 0.3921, 0.396",\
                 "0.6935, 0.6848, 0.6599, 0.6246, 0.5874, 0.552, 0.5188, 0.4878, 0.465, 0.4677",\
                 "0.8654, 0.8555, 0.8254, 0.7823, 0.7346, 0.6878, 0.6442, 0.6031, 0.5697, 0.5776",\
                 "1.073, 1.061, 1.027, 0.9762, 0.9189, 0.8596, 0.8038, 0.7517, 0.7139, 0.7436");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01194, 0.01228, 0.01294, 0.01334, 0.0135, 0.0136, 0.01371, 0.01372, 0.01376, 0.01378",\
                 "0.01095, 0.01169, 0.01319, 0.01443, 0.01508, 0.01547, 0.01574, 0.0159, 0.01604, 0.01612",\
                 "0.01687, 0.01713, 0.01779, 0.01856, 0.01907, 0.01941, 0.01964, 0.01981, 0.01993, 0.02001",\
                 "0.03621, 0.03522, 0.03293, 0.03057, 0.02861, 0.02715, 0.02609, 0.02523, 0.02462, 0.02421",\
                 "0.07238, 0.06987, 0.06347, 0.05603, 0.04952, 0.04421, 0.03995, 0.03665, 0.03407, 0.03206",\
                 "0.1303, 0.1261, 0.1148, 0.1005, 0.08732, 0.07592, 0.06658, 0.05912, 0.05295, 0.04807",\
                 "0.2125, 0.2067, 0.1906, 0.1686, 0.1467, 0.1275, 0.111, 0.0972, 0.08584, 0.0764",\
                 "0.3211, 0.3139, 0.2932, 0.2634, 0.2315, 0.2023, 0.1771, 0.1553, 0.1368, 0.1212",\
                 "0.4575, 0.4491, 0.4237, 0.3867, 0.3448, 0.3044, 0.2682, 0.2368, 0.2096, 0.1859",\
                 "0.6228, 0.6134, 0.584, 0.5395, 0.4882, 0.4361, 0.3877, 0.345, 0.3073, 0.274");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2983, 0.2991, 0.3008, 0.3023, 0.3036, 0.305, 0.3066, 0.3088, 0.3123, 0.3448",\
                 "0.2927, 0.294, 0.2971, 0.3003, 0.3028, 0.305, 0.307, 0.3091, 0.3133, 0.3466",\
                 "0.2945, 0.2945, 0.2953, 0.2976, 0.3003, 0.303, 0.3056, 0.3082, 0.3131, 0.3493",\
                 "0.3186, 0.317, 0.313, 0.3091, 0.3075, 0.3078, 0.3086, 0.3104, 0.3148, 0.3519",\
                 "0.3656, 0.3625, 0.3539, 0.3431, 0.3333, 0.3273, 0.3231, 0.3213, 0.3249, 0.3667",\
                 "0.4366, 0.4321, 0.4188, 0.4015, 0.3842, 0.3681, 0.3558, 0.3476, 0.348, 0.3945",\
                 "0.5343, 0.5279, 0.5095, 0.4855, 0.4602, 0.4355, 0.4132, 0.3967, 0.3907, 0.4476",\
                 "0.6604, 0.6525, 0.6296, 0.5976, 0.5643, 0.5313, 0.5002, 0.4716, 0.4618, 0.5331",\
                 "0.8171, 0.8078, 0.7802, 0.7413, 0.6982, 0.656, 0.6157, 0.578, 0.5659, 0.6689",\
                 "1.006, 0.9957, 0.9633, 0.9169, 0.8648, 0.8117, 0.7622, 0.7175, 0.7166, 0.885");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01192, 0.01229, 0.01295, 0.01339, 0.01358, 0.01371, 0.01372, 0.01374, 0.01376, 0.01377",\
                 "0.01101, 0.01166, 0.0132, 0.01443, 0.01515, 0.01555, 0.01576, 0.01593, 0.01604, 0.01613",\
                 "0.01694, 0.01716, 0.01781, 0.01857, 0.0191, 0.01946, 0.01968, 0.01982, 0.01993, 0.02",\
                 "0.03614, 0.03516, 0.03299, 0.03053, 0.02864, 0.02717, 0.0261, 0.02525, 0.02468, 0.02421",\
                 "0.07202, 0.06964, 0.06327, 0.0561, 0.04946, 0.04418, 0.03998, 0.03664, 0.03407, 0.03209",\
                 "0.1295, 0.1254, 0.1143, 0.1004, 0.0872, 0.07589, 0.06657, 0.0591, 0.05295, 0.04808",\
                 "0.2112, 0.2057, 0.1899, 0.1683, 0.1465, 0.1274, 0.1109, 0.09718, 0.0858, 0.07637",\
                 "0.3195, 0.3126, 0.2921, 0.2627, 0.2313, 0.2021, 0.1769, 0.1552, 0.1367, 0.1211",\
                 "0.4554, 0.4472, 0.4224, 0.3857, 0.3443, 0.3041, 0.268, 0.2366, 0.2094, 0.1859",\
                 "0.6202, 0.6111, 0.5822, 0.5384, 0.4874, 0.4359, 0.3875, 0.3447, 0.307, 0.2739");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3664, 0.367, 0.3683, 0.3697, 0.371, 0.3728, 0.3752, 0.3762, 0.3827, 0.4154",\
                 "0.3621, 0.363, 0.3653, 0.3681, 0.3704, 0.3726, 0.3752, 0.3768, 0.3824, 0.4167",\
                 "0.3619, 0.3622, 0.3633, 0.3655, 0.368, 0.3709, 0.3738, 0.3768, 0.3831, 0.4186",\
                 "0.3828, 0.3815, 0.3786, 0.3757, 0.3746, 0.3749, 0.3765, 0.3784, 0.3835, 0.4223",\
                 "0.4265, 0.424, 0.4168, 0.4079, 0.3995, 0.3933, 0.3907, 0.3886, 0.3933, 0.4358",\
                 "0.4948, 0.4908, 0.4795, 0.4644, 0.448, 0.4341, 0.4233, 0.4159, 0.4167, 0.4642",\
                 "0.5894, 0.584, 0.5684, 0.5468, 0.5231, 0.5001, 0.4798, 0.4634, 0.4598, 0.5162",\
                 "0.7129, 0.7058, 0.6858, 0.6572, 0.6256, 0.5942, 0.5639, 0.5386, 0.5296, 0.6036",\
                 "0.867, 0.8588, 0.8341, 0.7986, 0.7585, 0.7182, 0.6783, 0.6422, 0.6334, 0.7417",\
                 "1.054, 1.044, 1.015, 0.9723, 0.9234, 0.8729, 0.8239, 0.781, 0.783, 0.9592");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01227, 0.01261, 0.01324, 0.01367, 0.01381, 0.01394, 0.01406, 0.01412, 0.01412, 0.01415",\
                 "0.01184, 0.01257, 0.01404, 0.01524, 0.01594, 0.01633, 0.01661, 0.01681, 0.01695, 0.01703",\
                 "0.01762, 0.01792, 0.01864, 0.01941, 0.01999, 0.02037, 0.02064, 0.02078, 0.02089, 0.02097",\
                 "0.0355, 0.03464, 0.03258, 0.03054, 0.02871, 0.02738, 0.02642, 0.02567, 0.0251, 0.02469",\
                 "0.07125, 0.06877, 0.0626, 0.0554, 0.04902, 0.04391, 0.03975, 0.03652, 0.03406, 0.03214",\
                 "0.1297, 0.1254, 0.1139, 0.09978, 0.08659, 0.07529, 0.06611, 0.05861, 0.0527, 0.04785",\
                 "0.2125, 0.2067, 0.1903, 0.168, 0.146, 0.1268, 0.1103, 0.09671, 0.08529, 0.0759",\
                 "0.3217, 0.3146, 0.2933, 0.2632, 0.2312, 0.2018, 0.1765, 0.1547, 0.1363, 0.1206",\
                 "0.4589, 0.4502, 0.4246, 0.3869, 0.3447, 0.3041, 0.2679, 0.2364, 0.209, 0.1856",\
                 "0.6245, 0.6148, 0.5852, 0.5402, 0.4883, 0.4361, 0.3874, 0.3447, 0.3069, 0.2736");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2981, 0.2989, 0.3006, 0.3021, 0.3035, 0.305, 0.306, 0.3075, 0.3123, 0.3444",\
                 "0.2924, 0.2937, 0.2968, 0.3001, 0.3027, 0.3049, 0.307, 0.3085, 0.3137, 0.3455",\
                 "0.2936, 0.2937, 0.2947, 0.2971, 0.3, 0.3029, 0.3053, 0.3072, 0.3127, 0.3472",\
                 "0.317, 0.3156, 0.3115, 0.3079, 0.3066, 0.3068, 0.3079, 0.3098, 0.3148, 0.3518",\
                 "0.363, 0.3598, 0.3516, 0.3409, 0.3318, 0.3259, 0.3218, 0.3206, 0.3232, 0.3645",\
                 "0.4334, 0.4288, 0.4158, 0.3989, 0.3814, 0.366, 0.3548, 0.3463, 0.3469, 0.3913",\
                 "0.5305, 0.5241, 0.5062, 0.4825, 0.4575, 0.4329, 0.4116, 0.3944, 0.3894, 0.4446",\
                 "0.6565, 0.6486, 0.6258, 0.5942, 0.5608, 0.5285, 0.4972, 0.4691, 0.459, 0.5295",\
                 "0.8131, 0.8038, 0.7762, 0.7375, 0.6949, 0.653, 0.6121, 0.5751, 0.5627, 0.6675",\
                 "1.002, 0.9916, 0.9593, 0.9128, 0.861, 0.8092, 0.7586, 0.7143, 0.7138, 0.8809");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01225, 0.01257, 0.01324, 0.01372, 0.01387, 0.014, 0.01408, 0.01413, 0.01416, 0.01419",\
                 "0.01192, 0.01265, 0.01415, 0.01537, 0.01608, 0.01645, 0.01671, 0.01691, 0.01701, 0.01713",\
                 "0.01839, 0.01867, 0.01936, 0.0201, 0.02066, 0.02099, 0.02125, 0.02136, 0.02146, 0.02154",\
                 "0.03617, 0.03538, 0.03345, 0.03153, 0.02977, 0.02846, 0.02752, 0.02675, 0.02619, 0.02576",\
                 "0.06878, 0.06659, 0.06089, 0.05465, 0.0488, 0.04416, 0.04029, 0.03733, 0.03496, 0.03313",\
                 "0.1207, 0.1171, 0.1071, 0.0945, 0.08302, 0.07278, 0.0645, 0.05771, 0.05223, 0.04772",\
                 "0.1953, 0.1901, 0.1755, 0.156, 0.1364, 0.1192, 0.1046, 0.0922, 0.08198, 0.0735",\
                 "0.2939, 0.2876, 0.2685, 0.2417, 0.2131, 0.1869, 0.1643, 0.1447, 0.1281, 0.114",\
                 "0.4183, 0.4106, 0.3872, 0.3532, 0.3155, 0.2792, 0.2468, 0.2185, 0.194, 0.1727",\
                 "0.5694, 0.5606, 0.5332, 0.4923, 0.4456, 0.3986, 0.3549, 0.3161, 0.2825, 0.2526");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2982, 0.2989, 0.3008, 0.3022, 0.3037, 0.3052, 0.3067, 0.3083, 0.323, 0.414",\
                 "0.2924, 0.2938, 0.2969, 0.3002, 0.3028, 0.3051, 0.3074, 0.3095, 0.3244, 0.4154",\
                 "0.2933, 0.2934, 0.2946, 0.297, 0.2999, 0.3028, 0.3057, 0.3092, 0.3242, 0.4197",\
                 "0.3156, 0.3141, 0.3104, 0.307, 0.3059, 0.3063, 0.3077, 0.3098, 0.3268, 0.4285",\
                 "0.3591, 0.3562, 0.3482, 0.338, 0.3296, 0.3237, 0.3203, 0.3192, 0.3369, 0.4485",\
                 "0.4242, 0.42, 0.4079, 0.3918, 0.3756, 0.3613, 0.3506, 0.3443, 0.3609, 0.4878",\
                 "0.5135, 0.5076, 0.4913, 0.4695, 0.4462, 0.4229, 0.403, 0.3894, 0.4074, 0.5575",\
                 "0.6292, 0.6218, 0.601, 0.5728, 0.5421, 0.5111, 0.4817, 0.4596, 0.4814, 0.67",\
                 "0.7731, 0.7644, 0.7388, 0.7036, 0.6649, 0.6267, 0.5888, 0.5597, 0.5942, 0.8462",\
                 "0.9473, 0.937, 0.9071, 0.8643, 0.8181, 0.7708, 0.7239, 0.6954, 0.7644, 1.117");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01224, 0.01258, 0.01324, 0.01375, 0.01395, 0.01407, 0.01409, 0.01414, 0.01416, 0.01415",\
                 "0.01198, 0.01269, 0.01416, 0.01541, 0.01613, 0.0165, 0.01675, 0.01691, 0.01701, 0.01712",\
                 "0.01847, 0.01868, 0.01938, 0.02011, 0.02068, 0.02104, 0.02128, 0.02137, 0.02146, 0.02152",\
                 "0.03613, 0.03532, 0.03346, 0.03151, 0.02975, 0.02846, 0.02752, 0.02678, 0.02619, 0.02577",\
                 "0.06838, 0.06625, 0.06079, 0.05456, 0.04878, 0.04407, 0.04027, 0.03732, 0.03496, 0.03313",\
                 "0.1199, 0.1165, 0.1067, 0.09435, 0.08293, 0.07275, 0.06447, 0.0577, 0.05222, 0.04772",\
                 "0.1942, 0.1892, 0.1749, 0.1557, 0.1361, 0.1192, 0.1045, 0.09217, 0.082, 0.0735",\
                 "0.2925, 0.2862, 0.2675, 0.2411, 0.2127, 0.1867, 0.1642, 0.1447, 0.1281, 0.1139",\
                 "0.4164, 0.409, 0.386, 0.3525, 0.3151, 0.2789, 0.2467, 0.2184, 0.1938, 0.1726",\
                 "0.5672, 0.5585, 0.5318, 0.4913, 0.4448, 0.3981, 0.3545, 0.3159, 0.2823, 0.2525");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3663, 0.367, 0.3683, 0.3697, 0.371, 0.3726, 0.3741, 0.3769, 0.3925, 0.486",\
                 "0.3618, 0.3628, 0.3652, 0.368, 0.3703, 0.3726, 0.3748, 0.3778, 0.3932, 0.4883",\
                 "0.3609, 0.3612, 0.3625, 0.3648, 0.3676, 0.3707, 0.3731, 0.3765, 0.3937, 0.4918",\
                 "0.3799, 0.3788, 0.3761, 0.3737, 0.3731, 0.3738, 0.3754, 0.3778, 0.3963, 0.5013",\
                 "0.4204, 0.4181, 0.4114, 0.4029, 0.3954, 0.3906, 0.3876, 0.3881, 0.4064, 0.5219",\
                 "0.483, 0.4793, 0.4693, 0.4548, 0.4398, 0.4272, 0.4175, 0.4123, 0.4298, 0.562",\
                 "0.5696, 0.565, 0.5509, 0.5311, 0.509, 0.4879, 0.469, 0.4566, 0.4763, 0.6311",\
                 "0.6826, 0.6764, 0.6585, 0.6328, 0.6038, 0.5741, 0.5473, 0.5258, 0.5505, 0.7453",\
                 "0.824, 0.8166, 0.7939, 0.7623, 0.7254, 0.6885, 0.6518, 0.6254, 0.6644, 0.9232",\
                 "0.9958, 0.9868, 0.96, 0.9212, 0.8768, 0.8316, 0.7871, 0.7582, 0.8351, 1.197");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01222, 0.01261, 0.01329, 0.01369, 0.01388, 0.01398, 0.01407, 0.01411, 0.01414, 0.01413",\
                 "0.01191, 0.01265, 0.01409, 0.01531, 0.016, 0.01636, 0.01666, 0.01684, 0.01694, 0.01702",\
                 "0.0177, 0.01792, 0.01866, 0.01943, 0.02003, 0.0204, 0.02065, 0.02078, 0.02088, 0.02095",\
                 "0.03545, 0.03458, 0.03259, 0.03051, 0.0287, 0.02739, 0.02643, 0.02568, 0.02509, 0.02467",\
                 "0.0709, 0.0685, 0.06238, 0.05532, 0.04894, 0.04389, 0.03973, 0.03653, 0.03405, 0.03212",\
                 "0.1288, 0.1246, 0.1135, 0.09967, 0.08644, 0.07524, 0.06608, 0.05861, 0.0527, 0.04781",\
                 "0.2112, 0.2056, 0.1895, 0.1676, 0.1458, 0.1266, 0.1103, 0.09653, 0.08531, 0.07602",\
                 "0.32, 0.313, 0.2922, 0.2625, 0.2309, 0.2016, 0.1763, 0.1546, 0.1362, 0.1206",\
                 "0.4566, 0.4484, 0.4231, 0.3858, 0.3441, 0.3037, 0.2677, 0.2361, 0.2088, 0.1854",\
                 "0.6219, 0.6126, 0.5833, 0.5391, 0.4876, 0.4356, 0.387, 0.3444, 0.3066, 0.2735");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3666, 0.3671, 0.3685, 0.3699, 0.3713, 0.3731, 0.3748, 0.3762, 0.3817, 0.4153",\
                 "0.3621, 0.363, 0.3655, 0.3683, 0.3708, 0.3729, 0.3755, 0.3772, 0.3827, 0.4169",\
                 "0.3613, 0.3617, 0.3629, 0.3653, 0.368, 0.3708, 0.3738, 0.3761, 0.3817, 0.4181",\
                 "0.3814, 0.3802, 0.3775, 0.375, 0.374, 0.3746, 0.3761, 0.3778, 0.3842, 0.4224",\
                 "0.4242, 0.4217, 0.415, 0.4064, 0.398, 0.3931, 0.3893, 0.3886, 0.3926, 0.4349",\
                 "0.4918, 0.488, 0.4771, 0.462, 0.4459, 0.4321, 0.4217, 0.4137, 0.4156, 0.4632",\
                 "0.5858, 0.5805, 0.5654, 0.5439, 0.5208, 0.4974, 0.4775, 0.462, 0.4578, 0.5158",\
                 "0.7092, 0.7023, 0.6824, 0.6542, 0.6227, 0.5918, 0.5619, 0.536, 0.5275, 0.6014",\
                 "0.8633, 0.8549, 0.8303, 0.7952, 0.7552, 0.7153, 0.6756, 0.6403, 0.6313, 0.74",\
                 "1.05, 1.041, 1.011, 0.9689, 0.9202, 0.8699, 0.8209, 0.7785, 0.7805, 0.9567");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.0122, 0.0126, 0.01329, 0.01374, 0.01395, 0.01402, 0.0141, 0.01413, 0.01415, 0.01414",\
                 "0.01201, 0.01272, 0.01415, 0.01541, 0.01614, 0.0165, 0.01677, 0.01691, 0.01705, 0.01712",\
                 "0.01847, 0.01869, 0.01938, 0.02011, 0.02068, 0.02104, 0.02128, 0.02137, 0.02146, 0.02153",\
                 "0.03613, 0.03532, 0.03346, 0.0315, 0.02977, 0.02847, 0.02753, 0.02672, 0.02619, 0.02576",\
                 "0.06839, 0.06626, 0.06081, 0.0546, 0.04881, 0.04411, 0.04029, 0.03733, 0.03495, 0.03314",\
                 "0.1199, 0.1165, 0.1067, 0.09435, 0.08293, 0.07274, 0.06443, 0.0577, 0.05222, 0.04772",\
                 "0.1941, 0.1892, 0.1749, 0.1556, 0.1362, 0.1192, 0.1044, 0.09219, 0.082, 0.07348",\
                 "0.2925, 0.2862, 0.2676, 0.2411, 0.2128, 0.1867, 0.1642, 0.1446, 0.128, 0.1139",\
                 "0.4164, 0.409, 0.386, 0.3525, 0.3151, 0.2789, 0.2467, 0.2184, 0.1938, 0.1726",\
                 "0.5672, 0.5585, 0.5317, 0.4912, 0.4448, 0.3981, 0.3545, 0.3159, 0.2822, 0.2526");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3667, 0.3672, 0.3685, 0.37, 0.3714, 0.3729, 0.3744, 0.3772, 0.3932, 0.4868",\
                 "0.3622, 0.3631, 0.3655, 0.3683, 0.3707, 0.3729, 0.3751, 0.3782, 0.3942, 0.4893",\
                 "0.3612, 0.3615, 0.3628, 0.3652, 0.368, 0.3708, 0.3735, 0.3768, 0.394, 0.4921",\
                 "0.3803, 0.3792, 0.3763, 0.3741, 0.3734, 0.3741, 0.3758, 0.3781, 0.3966, 0.5014",\
                 "0.4206, 0.4183, 0.4117, 0.4034, 0.3956, 0.391, 0.3882, 0.3881, 0.4068, 0.5215",\
                 "0.4833, 0.4798, 0.4696, 0.4554, 0.4403, 0.4274, 0.4175, 0.4116, 0.4315, 0.562",\
                 "0.5698, 0.565, 0.5511, 0.5316, 0.5092, 0.4884, 0.4693, 0.4566, 0.4767, 0.6315",\
                 "0.6829, 0.6765, 0.6587, 0.6331, 0.6043, 0.5748, 0.5473, 0.5265, 0.5504, 0.7448",\
                 "0.8242, 0.8167, 0.7942, 0.7625, 0.7263, 0.6891, 0.6524, 0.6254, 0.6647, 0.9233",\
                 "0.996, 0.9872, 0.9603, 0.9217, 0.8777, 0.8321, 0.7877, 0.7598, 0.8358, 1.197");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01221, 0.01254, 0.01327, 0.01369, 0.01394, 0.01407, 0.0141, 0.01414, 0.01416, 0.01413",\
                 "0.01204, 0.01273, 0.01415, 0.01541, 0.01614, 0.01652, 0.01677, 0.01691, 0.01705, 0.01708",\
                 "0.01839, 0.01871, 0.01938, 0.02011, 0.02068, 0.02104, 0.02127, 0.02137, 0.02146, 0.02153",\
                 "0.03604, 0.03525, 0.03347, 0.03146, 0.02974, 0.02846, 0.02752, 0.02677, 0.02619, 0.02577",\
                 "0.06802, 0.06603, 0.06063, 0.05453, 0.04872, 0.04413, 0.04026, 0.03738, 0.03496, 0.03313",\
                 "0.1192, 0.116, 0.1064, 0.09405, 0.08284, 0.07272, 0.06444, 0.05769, 0.05222, 0.04771",\
                 "0.1932, 0.1883, 0.1743, 0.1553, 0.136, 0.1191, 0.1044, 0.09219, 0.0819, 0.07353",\
                 "0.2912, 0.285, 0.2667, 0.2406, 0.2124, 0.1866, 0.1641, 0.1446, 0.1281, 0.1139",\
                 "0.4149, 0.4074, 0.3848, 0.3517, 0.3146, 0.2786, 0.2465, 0.2183, 0.1938, 0.1726",\
                 "0.5653, 0.5567, 0.5302, 0.4904, 0.4442, 0.3977, 0.3543, 0.3158, 0.2822, 0.2524");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4343, 0.4348, 0.4359, 0.4372, 0.4384, 0.4403, 0.4416, 0.4442, 0.4603, 0.5571",\
                 "0.4308, 0.4316, 0.4333, 0.4357, 0.438, 0.4401, 0.4419, 0.4451, 0.462, 0.5591",\
                 "0.429, 0.4292, 0.4305, 0.4326, 0.4355, 0.438, 0.4406, 0.4441, 0.4615, 0.5621",\
                 "0.4452, 0.4444, 0.4424, 0.4406, 0.4404, 0.4411, 0.4433, 0.4453, 0.4641, 0.5724",\
                 "0.4832, 0.4813, 0.4756, 0.468, 0.4615, 0.4574, 0.4545, 0.4551, 0.4739, 0.5928",\
                 "0.5434, 0.5404, 0.5317, 0.5187, 0.5051, 0.4929, 0.4832, 0.4791, 0.4987, 0.6326",\
                 "0.6277, 0.6235, 0.6111, 0.5932, 0.5727, 0.5525, 0.5345, 0.5222, 0.5439, 0.7028",\
                 "0.7381, 0.7328, 0.717, 0.6934, 0.6664, 0.6378, 0.6109, 0.5916, 0.6185, 0.8175",\
                 "0.8772, 0.8706, 0.8505, 0.821, 0.7868, 0.7513, 0.7153, 0.6904, 0.7319, 0.9974",\
                 "1.047, 1.039, 1.015, 0.9788, 0.937, 0.8929, 0.8495, 0.8245, 0.9045, 1.274");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01211, 0.01243, 0.01304, 0.01333, 0.01352, 0.01361, 0.01369, 0.01375, 0.01378, 0.01381",\
                 "0.01018, 0.01099, 0.01278, 0.01405, 0.01486, 0.01529, 0.01559, 0.01578, 0.01589, 0.01597",\
                 "0.01168, 0.01238, 0.01401, 0.01567, 0.01693, 0.0177, 0.01822, 0.01859, 0.01879, 0.01895",\
                 "0.02905, 0.02845, 0.0271, 0.02593, 0.0249, 0.02414, 0.02347, 0.02294, 0.02254, 0.02227",\
                 "0.0681, 0.06576, 0.05964, 0.05273, 0.04681, 0.0418, 0.03783, 0.03474, 0.03228, 0.03035",\
                 "0.1331, 0.1289, 0.1172, 0.1026, 0.08886, 0.0774, 0.0677, 0.05984, 0.05354, 0.04835",\
                 "0.2261, 0.2203, 0.2031, 0.18, 0.1565, 0.1358, 0.1183, 0.1035, 0.09125, 0.08092",\
                 "0.349, 0.3414, 0.3192, 0.2876, 0.2533, 0.2214, 0.1938, 0.1702, 0.15, 0.1327",\
                 "0.5029, 0.494, 0.4671, 0.4272, 0.3823, 0.3383, 0.2985, 0.2638, 0.2339, 0.2078",\
                 "0.6891, 0.6791, 0.6481, 0.6005, 0.5452, 0.4887, 0.4358, 0.3882, 0.3465, 0.31");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3575, 0.3577, 0.3582, 0.3589, 0.36, 0.3612, 0.3634, 0.3653, 0.3682, 0.375",\
                 "0.3531, 0.3536, 0.3546, 0.3559, 0.3575, 0.3591, 0.3611, 0.3643, 0.3665, 0.3755",\
                 "0.3568, 0.3566, 0.3563, 0.3566, 0.3576, 0.3588, 0.3611, 0.3634, 0.3662, 0.3758",\
                 "0.3832, 0.3814, 0.3767, 0.3717, 0.3685, 0.3666, 0.3664, 0.368, 0.3685, 0.3784",\
                 "0.435, 0.4319, 0.4229, 0.4106, 0.3993, 0.3909, 0.3849, 0.3822, 0.3814, 0.3883",\
                 "0.5155, 0.5107, 0.4967, 0.4772, 0.4574, 0.4396, 0.4245, 0.4142, 0.4079, 0.4133",\
                 "0.6262, 0.62, 0.6016, 0.5747, 0.5456, 0.5171, 0.4921, 0.4713, 0.4565, 0.4601",\
                 "0.769, 0.762, 0.7396, 0.7058, 0.6666, 0.6285, 0.5921, 0.56, 0.5333, 0.5357",\
                 "0.9458, 0.9378, 0.9125, 0.872, 0.8232, 0.7736, 0.7256, 0.6817, 0.6454, 0.652",\
                 "1.159, 1.15, 1.121, 1.076, 1.019, 0.9565, 0.8965, 0.8394, 0.7969, 0.8274");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01209, 0.01242, 0.01309, 0.01344, 0.01356, 0.01366, 0.01372, 0.01376, 0.01379, 0.01381",\
                 "0.0103, 0.01113, 0.01286, 0.01427, 0.01507, 0.01545, 0.01574, 0.01592, 0.01603, 0.01612",\
                 "0.01273, 0.0134, 0.01496, 0.01666, 0.0178, 0.01859, 0.01909, 0.01941, 0.01962, 0.01977",\
                 "0.03021, 0.0297, 0.02847, 0.0274, 0.02646, 0.02568, 0.025, 0.02447, 0.02408, 0.02377",\
                 "0.0653, 0.06333, 0.05811, 0.0522, 0.0469, 0.04241, 0.03879, 0.03591, 0.03364, 0.03179",\
                 "0.1224, 0.1187, 0.1089, 0.09623, 0.0845, 0.07435, 0.06584, 0.05883, 0.05315, 0.04841",\
                 "0.2043, 0.1992, 0.1846, 0.1645, 0.1441, 0.1263, 0.1109, 0.09792, 0.08698, 0.07792",\
                 "0.3134, 0.3068, 0.2873, 0.2598, 0.2301, 0.2023, 0.1782, 0.1573, 0.1395, 0.1242",\
                 "0.4508, 0.443, 0.419, 0.3838, 0.3445, 0.3058, 0.2709, 0.2406, 0.2142, 0.1913",\
                 "0.618, 0.6091, 0.5807, 0.5385, 0.4894, 0.4395, 0.3929, 0.3512, 0.3143, 0.2821");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3577, 0.3579, 0.3584, 0.3591, 0.3599, 0.3616, 0.3632, 0.3645, 0.3697, 0.4036",\
                 "0.3532, 0.3537, 0.3548, 0.3562, 0.3577, 0.3594, 0.3612, 0.3635, 0.3681, 0.4023",\
                 "0.3566, 0.3564, 0.3562, 0.3564, 0.3573, 0.359, 0.3612, 0.3632, 0.3678, 0.4042",\
                 "0.3816, 0.38, 0.3755, 0.3708, 0.3676, 0.3661, 0.3665, 0.3674, 0.3712, 0.4092",\
                 "0.4301, 0.4269, 0.4183, 0.4068, 0.3961, 0.3885, 0.3833, 0.3802, 0.3833, 0.4237",\
                 "0.5032, 0.499, 0.4862, 0.4683, 0.4492, 0.4324, 0.4193, 0.4093, 0.409, 0.4562",\
                 "0.6038, 0.598, 0.5813, 0.5571, 0.5304, 0.5036, 0.4803, 0.4616, 0.4551, 0.51",\
                 "0.7336, 0.7269, 0.7065, 0.6754, 0.6402, 0.6052, 0.5711, 0.5412, 0.5308, 0.6018",\
                 "0.8942, 0.8867, 0.8629, 0.8258, 0.782, 0.7375, 0.6924, 0.6534, 0.6406, 0.7444",\
                 "1.088, 1.079, 1.053, 1.01, 0.9582, 0.9028, 0.8492, 0.8, 0.7982, 0.9699");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.0121, 0.01246, 0.01309, 0.01348, 0.01368, 0.01371, 0.01375, 0.01377, 0.01378, 0.0138",\
                 "0.01034, 0.01117, 0.01294, 0.01431, 0.01513, 0.01552, 0.01577, 0.01592, 0.01602, 0.01611",\
                 "0.01279, 0.01349, 0.01499, 0.01665, 0.01785, 0.01865, 0.0191, 0.0194, 0.01962, 0.01976",\
                 "0.03015, 0.02964, 0.02848, 0.02739, 0.02644, 0.02568, 0.02502, 0.02448, 0.02407, 0.02376",\
                 "0.06498, 0.06301, 0.05795, 0.05215, 0.04685, 0.04239, 0.03879, 0.03591, 0.03364, 0.03179",\
                 "0.1216, 0.1182, 0.1084, 0.09608, 0.0844, 0.07434, 0.06579, 0.05884, 0.05314, 0.0484",\
                 "0.2032, 0.1983, 0.1839, 0.1641, 0.1439, 0.1262, 0.1109, 0.09789, 0.08698, 0.07786",\
                 "0.3119, 0.3056, 0.2863, 0.2591, 0.2297, 0.2021, 0.178, 0.1572, 0.1395, 0.1242",\
                 "0.449, 0.4414, 0.4177, 0.3829, 0.3439, 0.3055, 0.2708, 0.2405, 0.2141, 0.1912",\
                 "0.6158, 0.6069, 0.5791, 0.5372, 0.4885, 0.439, 0.3927, 0.351, 0.3142, 0.2818");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4249, 0.4251, 0.4255, 0.4262, 0.4273, 0.4286, 0.4302, 0.4318, 0.4368, 0.4715",\
                 "0.421, 0.4213, 0.4222, 0.4235, 0.4249, 0.4266, 0.4285, 0.4305, 0.4352, 0.4705",\
                 "0.4233, 0.4232, 0.4232, 0.4236, 0.4247, 0.4262, 0.4279, 0.4302, 0.4352, 0.473",\
                 "0.4455, 0.4441, 0.4405, 0.4369, 0.4342, 0.4327, 0.4328, 0.4335, 0.4383, 0.4774",\
                 "0.4912, 0.4885, 0.4814, 0.4712, 0.4618, 0.4543, 0.4493, 0.4469, 0.45, 0.4922",\
                 "0.5618, 0.5581, 0.5468, 0.5307, 0.5136, 0.4979, 0.4846, 0.4759, 0.4764, 0.5237",\
                 "0.66, 0.6551, 0.6401, 0.6178, 0.5924, 0.5674, 0.5454, 0.5269, 0.5216, 0.5786",\
                 "0.7876, 0.7816, 0.763, 0.7346, 0.7014, 0.6676, 0.6353, 0.6061, 0.5957, 0.6696",\
                 "0.9465, 0.9398, 0.9178, 0.8832, 0.8417, 0.7989, 0.7556, 0.7169, 0.7055, 0.8138",\
                 "1.138, 1.131, 1.106, 1.066, 1.016, 0.9629, 0.9104, 0.8632, 0.8646, 1.042");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01242, 0.01277, 0.01338, 0.01366, 0.0139, 0.01399, 0.01405, 0.01408, 0.01411, 0.01413",\
                 "0.01113, 0.01196, 0.01378, 0.01507, 0.01585, 0.0163, 0.0166, 0.01678, 0.01689, 0.01694",\
                 "0.01359, 0.01429, 0.01594, 0.01759, 0.01882, 0.01958, 0.02009, 0.02042, 0.02062, 0.02077",\
                 "0.02966, 0.02922, 0.02828, 0.02743, 0.02665, 0.02597, 0.02537, 0.02492, 0.02455, 0.02427",\
                 "0.06406, 0.06203, 0.05713, 0.05144, 0.04629, 0.04205, 0.03861, 0.03579, 0.03361, 0.03187",\
                 "0.1214, 0.1178, 0.1079, 0.09536, 0.08373, 0.07371, 0.06526, 0.05835, 0.05274, 0.04814",\
                 "0.204, 0.1989, 0.184, 0.1638, 0.1434, 0.1255, 0.1102, 0.09719, 0.0864, 0.0774",\
                 "0.3138, 0.3071, 0.2873, 0.2595, 0.2296, 0.2017, 0.1774, 0.1567, 0.1389, 0.1237",\
                 "0.452, 0.4438, 0.4195, 0.3839, 0.3441, 0.3055, 0.2706, 0.24, 0.2135, 0.1907",\
                 "0.6196, 0.6103, 0.5818, 0.5389, 0.4895, 0.4396, 0.3926, 0.3507, 0.3139, 0.2816");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3575, 0.3577, 0.3582, 0.359, 0.3599, 0.3612, 0.3632, 0.3642, 0.3697, 0.4028",\
                 "0.353, 0.3534, 0.3545, 0.3561, 0.3577, 0.3591, 0.3616, 0.3632, 0.3681, 0.4018",\
                 "0.3558, 0.3557, 0.3555, 0.3559, 0.3572, 0.3589, 0.3609, 0.3625, 0.3675, 0.403",\
                 "0.3799, 0.3782, 0.374, 0.3695, 0.3665, 0.3654, 0.3655, 0.3658, 0.3709, 0.4091",\
                 "0.4272, 0.4242, 0.4157, 0.4048, 0.3945, 0.3867, 0.3814, 0.3787, 0.3823, 0.4236",\
                 "0.4998, 0.4956, 0.483, 0.4656, 0.4469, 0.4303, 0.4177, 0.4083, 0.4073, 0.4538",\
                 "0.5997, 0.5942, 0.5778, 0.5536, 0.5271, 0.5011, 0.4784, 0.4597, 0.4534, 0.5083",\
                 "0.7292, 0.7228, 0.7022, 0.6718, 0.6366, 0.6015, 0.5681, 0.5386, 0.5274, 0.5997",\
                 "0.8897, 0.8823, 0.8586, 0.822, 0.7781, 0.7338, 0.6898, 0.6505, 0.6375, 0.7427",\
                 "1.083, 1.075, 1.048, 1.006, 0.954, 0.899, 0.8452, 0.7966, 0.7947, 0.9672");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.0124, 0.01274, 0.01341, 0.01373, 0.01395, 0.01403, 0.01408, 0.0141, 0.01413, 0.01415",\
                 "0.01119, 0.01203, 0.01389, 0.0152, 0.01598, 0.01642, 0.01671, 0.01689, 0.01698, 0.01706",\
                 "0.01439, 0.01505, 0.0167, 0.01828, 0.01944, 0.02021, 0.0207, 0.02099, 0.02119, 0.02134",\
                 "0.03069, 0.0303, 0.02941, 0.02859, 0.02781, 0.02712, 0.02652, 0.02605, 0.02567, 0.02539",\
                 "0.06205, 0.06033, 0.05603, 0.05106, 0.04639, 0.0425, 0.03927, 0.03662, 0.03454, 0.0329",\
                 "0.1132, 0.1101, 0.1015, 0.09064, 0.08034, 0.07139, 0.0638, 0.05752, 0.05232, 0.04811",\
                 "0.187, 0.1825, 0.1696, 0.1519, 0.1341, 0.1181, 0.1045, 0.09286, 0.08307, 0.07489",\
                 "0.2856, 0.2797, 0.2623, 0.2377, 0.2114, 0.1866, 0.1651, 0.1465, 0.1306, 0.1168",\
                 "0.4103, 0.4032, 0.3813, 0.3496, 0.3144, 0.2801, 0.249, 0.2217, 0.198, 0.1774",\
                 "0.5624, 0.5539, 0.528, 0.4893, 0.4453, 0.4009, 0.3589, 0.3213, 0.2886, 0.2597");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3576, 0.3577, 0.3582, 0.359, 0.3599, 0.3615, 0.3628, 0.3653, 0.3808, 0.4742",\
                 "0.353, 0.3534, 0.3547, 0.3561, 0.3575, 0.3594, 0.3608, 0.3633, 0.3792, 0.4736",\
                 "0.3556, 0.3556, 0.3554, 0.3559, 0.3569, 0.3584, 0.3601, 0.3635, 0.3794, 0.4779",\
                 "0.3786, 0.3769, 0.3729, 0.3686, 0.3659, 0.3646, 0.3648, 0.3668, 0.3833, 0.487",\
                 "0.423, 0.4204, 0.4124, 0.4017, 0.392, 0.3851, 0.3796, 0.3785, 0.3958, 0.5099",\
                 "0.4899, 0.486, 0.4745, 0.4581, 0.4406, 0.4253, 0.4131, 0.4059, 0.4231, 0.5517",\
                 "0.5817, 0.5766, 0.5614, 0.5397, 0.5148, 0.4905, 0.4689, 0.4539, 0.4713, 0.6249",\
                 "0.7002, 0.6942, 0.6754, 0.6475, 0.6158, 0.5827, 0.5521, 0.5283, 0.55, 0.7414",\
                 "0.8474, 0.8404, 0.8182, 0.7848, 0.7453, 0.7039, 0.6635, 0.6335, 0.6686, 0.9253",\
                 "1.025, 1.017, 0.9919, 0.9532, 0.9056, 0.8564, 0.8068, 0.7754, 0.8473, 1.206");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01242, 0.01276, 0.0134, 0.01378, 0.01401, 0.01407, 0.0141, 0.01411, 0.01413, 0.01414",\
                 "0.01125, 0.01208, 0.01389, 0.01524, 0.01605, 0.01647, 0.01673, 0.01689, 0.01701, 0.01705",\
                 "0.01449, 0.01509, 0.01664, 0.0183, 0.01948, 0.02026, 0.02072, 0.02099, 0.02118, 0.02134",\
                 "0.03064, 0.03024, 0.02942, 0.0286, 0.02782, 0.02713, 0.02654, 0.02607, 0.02566, 0.02538",\
                 "0.06174, 0.06012, 0.05598, 0.05096, 0.04643, 0.04251, 0.03928, 0.03663, 0.03454, 0.0329",\
                 "0.1126, 0.1096, 0.1011, 0.09046, 0.08024, 0.07134, 0.06377, 0.05752, 0.05232, 0.04808",\
                 "0.1861, 0.1817, 0.169, 0.1515, 0.1339, 0.1181, 0.1044, 0.09283, 0.08305, 0.0749",\
                 "0.2844, 0.2786, 0.2613, 0.2371, 0.211, 0.1864, 0.1649, 0.1464, 0.1305, 0.1168",\
                 "0.4088, 0.4016, 0.3801, 0.3488, 0.3139, 0.2798, 0.2489, 0.2215, 0.1979, 0.1774",\
                 "0.5605, 0.5521, 0.5267, 0.4883, 0.4447, 0.4004, 0.3586, 0.3214, 0.2883, 0.2594");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4248, 0.4249, 0.4253, 0.4261, 0.427, 0.4283, 0.4299, 0.4322, 0.4486, 0.5438",\
                 "0.4208, 0.4211, 0.422, 0.4234, 0.4246, 0.4262, 0.4283, 0.4308, 0.447, 0.5434",\
                 "0.4224, 0.4224, 0.4224, 0.423, 0.424, 0.4256, 0.4273, 0.4304, 0.4471, 0.5467",\
                 "0.4425, 0.4414, 0.4381, 0.4348, 0.4324, 0.4315, 0.4316, 0.433, 0.4511, 0.558",\
                 "0.4844, 0.4823, 0.4755, 0.4661, 0.4573, 0.4507, 0.4468, 0.4454, 0.4632, 0.5805",\
                 "0.5492, 0.5459, 0.5359, 0.5207, 0.5048, 0.49, 0.4791, 0.4724, 0.49, 0.6227",\
                 "0.6388, 0.6343, 0.6208, 0.6007, 0.5776, 0.5539, 0.5337, 0.5197, 0.5388, 0.6952",\
                 "0.7554, 0.75, 0.7328, 0.7071, 0.6769, 0.6455, 0.6154, 0.5935, 0.6174, 0.814",\
                 "0.9006, 0.8942, 0.8743, 0.8428, 0.8054, 0.7661, 0.7264, 0.6978, 0.7364, 0.9987",\
                 "1.076, 1.069, 1.046, 1.009, 0.9646, 0.9167, 0.8685, 0.8385, 0.9157, 1.282");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01244, 0.01275, 0.01338, 0.01374, 0.01395, 0.01403, 0.01405, 0.01408, 0.0141, 0.01412",\
                 "0.01118, 0.01198, 0.01375, 0.01511, 0.0159, 0.01633, 0.01661, 0.01678, 0.01688, 0.01695",\
                 "0.01368, 0.01427, 0.01594, 0.01764, 0.01884, 0.01961, 0.02006, 0.0204, 0.02059, 0.02074",\
                 "0.02961, 0.02921, 0.0283, 0.02744, 0.02663, 0.026, 0.02538, 0.02491, 0.02453, 0.02426",\
                 "0.06372, 0.06181, 0.057, 0.05139, 0.04625, 0.04201, 0.03856, 0.03581, 0.0336, 0.03187",\
                 "0.1206, 0.1172, 0.1075, 0.0952, 0.08363, 0.07364, 0.06522, 0.05833, 0.05274, 0.04814",\
                 "0.203, 0.1979, 0.1833, 0.1634, 0.1433, 0.1254, 0.1102, 0.09724, 0.08647, 0.07737",\
                 "0.3123, 0.3058, 0.2863, 0.2589, 0.2292, 0.2015, 0.1773, 0.1566, 0.1388, 0.1237",\
                 "0.4502, 0.4423, 0.4181, 0.3831, 0.3436, 0.3052, 0.2703, 0.2398, 0.2135, 0.1906",\
                 "0.6174, 0.6083, 0.5803, 0.5378, 0.4888, 0.4389, 0.3923, 0.3505, 0.3137, 0.2814");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4251, 0.4253, 0.4256, 0.4265, 0.4274, 0.4288, 0.4305, 0.4318, 0.4384, 0.4714",\
                 "0.4211, 0.4214, 0.4224, 0.4237, 0.425, 0.4269, 0.4282, 0.4302, 0.4351, 0.4707",\
                 "0.4229, 0.423, 0.4229, 0.4235, 0.4247, 0.4263, 0.4276, 0.4305, 0.4352, 0.4715",\
                 "0.4442, 0.4428, 0.4394, 0.436, 0.4336, 0.4326, 0.4328, 0.4328, 0.4389, 0.4773",\
                 "0.4888, 0.4863, 0.4791, 0.4695, 0.4603, 0.4533, 0.4484, 0.4459, 0.4496, 0.4919",\
                 "0.5588, 0.5549, 0.5442, 0.5284, 0.5113, 0.4961, 0.484, 0.4752, 0.4744, 0.5229",\
                 "0.6565, 0.6517, 0.6367, 0.6148, 0.5898, 0.5651, 0.5431, 0.5249, 0.5199, 0.5776",\
                 "0.7837, 0.7779, 0.7596, 0.731, 0.6983, 0.6642, 0.632, 0.6042, 0.5936, 0.6677",\
                 "0.9423, 0.9355, 0.9137, 0.8793, 0.8382, 0.7957, 0.7525, 0.7141, 0.7031, 0.8117",\
                 "1.134, 1.127, 1.102, 1.062, 1.012, 0.9595, 0.9075, 0.8604, 0.8604, 1.039");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01245, 0.01279, 0.0134, 0.01378, 0.01401, 0.01409, 0.01411, 0.01411, 0.01412, 0.01414",\
                 "0.01125, 0.01207, 0.01383, 0.01524, 0.01605, 0.01647, 0.01673, 0.01689, 0.01698, 0.01705",\
                 "0.01449, 0.01512, 0.01669, 0.0183, 0.0195, 0.02026, 0.02069, 0.02097, 0.02119, 0.02128",\
                 "0.03064, 0.03026, 0.02944, 0.0286, 0.02781, 0.02716, 0.02653, 0.02605, 0.02567, 0.02538",\
                 "0.06177, 0.0601, 0.05599, 0.05097, 0.04637, 0.0425, 0.03929, 0.03664, 0.03454, 0.0329",\
                 "0.1126, 0.1096, 0.1011, 0.09046, 0.08026, 0.07134, 0.06378, 0.05748, 0.05233, 0.04812",\
                 "0.1861, 0.1817, 0.169, 0.1515, 0.1339, 0.118, 0.1044, 0.09282, 0.08306, 0.07486",\
                 "0.2844, 0.2786, 0.2615, 0.2372, 0.2111, 0.1864, 0.1649, 0.1464, 0.1305, 0.1168",\
                 "0.4087, 0.4017, 0.3803, 0.3488, 0.3139, 0.2798, 0.2488, 0.2216, 0.1978, 0.1773",\
                 "0.5604, 0.5522, 0.5267, 0.4884, 0.4447, 0.4003, 0.3586, 0.3214, 0.2884, 0.2594");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4252, 0.4252, 0.4257, 0.4264, 0.4273, 0.4286, 0.4303, 0.4325, 0.4489, 0.5441",\
                 "0.4211, 0.4214, 0.4223, 0.4237, 0.425, 0.4265, 0.428, 0.4305, 0.4473, 0.5442",\
                 "0.4227, 0.4227, 0.4227, 0.4233, 0.4244, 0.4259, 0.4276, 0.4304, 0.4475, 0.548",\
                 "0.4428, 0.4418, 0.4384, 0.4351, 0.4327, 0.4318, 0.4316, 0.4333, 0.4514, 0.5584",\
                 "0.4849, 0.4828, 0.4757, 0.4663, 0.4578, 0.451, 0.4468, 0.4454, 0.4635, 0.5812",\
                 "0.5494, 0.5463, 0.5361, 0.5211, 0.505, 0.4904, 0.4791, 0.4727, 0.4903, 0.6237",\
                 "0.639, 0.6346, 0.621, 0.6009, 0.5777, 0.5545, 0.5337, 0.5194, 0.5388, 0.6955",\
                 "0.7555, 0.7503, 0.7332, 0.7074, 0.6773, 0.646, 0.6158, 0.5935, 0.6167, 0.8143",\
                 "0.9011, 0.8946, 0.8746, 0.8429, 0.8055, 0.7664, 0.7267, 0.6981, 0.7364, 0.9991",\
                 "1.077, 1.069, 1.046, 1.009, 0.9645, 0.9166, 0.8697, 0.8401, 0.916, 1.282");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.01244, 0.01272, 0.0134, 0.01377, 0.01401, 0.01409, 0.01411, 0.01411, 0.01412, 0.01414",\
                 "0.0113, 0.01213, 0.01387, 0.01524, 0.01605, 0.0165, 0.01673, 0.01688, 0.01701, 0.01705",\
                 "0.01456, 0.01516, 0.01665, 0.0183, 0.0195, 0.02027, 0.02069, 0.021, 0.02119, 0.02128",\
                 "0.03051, 0.0302, 0.02945, 0.0286, 0.02779, 0.02716, 0.02653, 0.02606, 0.02567, 0.02538",\
                 "0.06144, 0.05989, 0.05586, 0.05095, 0.04641, 0.04248, 0.03928, 0.03662, 0.03454, 0.0329",\
                 "0.112, 0.109, 0.1008, 0.09029, 0.08017, 0.0713, 0.06374, 0.05748, 0.05234, 0.0481",\
                 "0.1852, 0.1809, 0.1684, 0.1512, 0.1337, 0.118, 0.1043, 0.09279, 0.08303, 0.07485",\
                 "0.2832, 0.2774, 0.2605, 0.2366, 0.2107, 0.1863, 0.1648, 0.1463, 0.1305, 0.1168",\
                 "0.4073, 0.4004, 0.3791, 0.348, 0.3135, 0.2795, 0.2487, 0.2215, 0.1977, 0.1772",\
                 "0.5587, 0.5505, 0.5254, 0.4874, 0.444, 0.3999, 0.3584, 0.3212, 0.2881, 0.2594");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4923, 0.4924, 0.4928, 0.4935, 0.4943, 0.4956, 0.4972, 0.4997, 0.5163, 0.6145",\
                 "0.4886, 0.4888, 0.4896, 0.4908, 0.492, 0.4938, 0.4949, 0.4977, 0.5144, 0.6144",\
                 "0.4896, 0.4896, 0.4897, 0.4903, 0.4914, 0.4929, 0.4942, 0.4973, 0.5152, 0.6168",\
                 "0.5075, 0.5068, 0.5041, 0.5013, 0.4993, 0.4988, 0.4989, 0.5011, 0.5192, 0.6284",\
                 "0.5474, 0.5452, 0.5393, 0.5312, 0.5234, 0.5175, 0.5136, 0.5126, 0.5307, 0.6514",\
                 "0.6098, 0.6067, 0.5978, 0.5842, 0.5692, 0.5563, 0.5452, 0.5386, 0.5578, 0.693",\
                 "0.6971, 0.6933, 0.6808, 0.6628, 0.641, 0.619, 0.5989, 0.5855, 0.6061, 0.7681",\
                 "0.8122, 0.8072, 0.7914, 0.7676, 0.7391, 0.7088, 0.6799, 0.6586, 0.6843, 0.8871",\
                 "0.9556, 0.9494, 0.9313, 0.9013, 0.8663, 0.8282, 0.7896, 0.7621, 0.8042, 1.073",\
                 "1.129, 1.123, 1.102, 1.067, 1.024, 0.9781, 0.9308, 0.9031, 0.984, 1.359");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1012, 0.1011, 0.101, 0.101, 0.1011, 0.1012, 0.1013, 0.1013, 0.1014, 0.1014",\
                 "0.1008, 0.1007, 0.1007, 0.1008, 0.101, 0.1012, 0.1011, 0.1012, 0.1012, 0.1013",\
                 "0.1015, 0.1014, 0.1013, 0.1012, 0.1013, 0.1014, 0.1014, 0.1013, 0.1014, 0.1014",\
                 "0.1142, 0.1134, 0.1117, 0.1096, 0.1077, 0.1061, 0.1049, 0.1041, 0.1035, 0.1031",\
                 "0.1482, 0.1464, 0.1411, 0.1345, 0.128, 0.1225, 0.1181, 0.1146, 0.112, 0.11",\
                 "0.2087, 0.2055, 0.1959, 0.1829, 0.1694, 0.1571, 0.1471, 0.1388, 0.1321, 0.1267",\
                 "0.2989, 0.2942, 0.2801, 0.2592, 0.2371, 0.2158, 0.1972, 0.1817, 0.1689, 0.1583",\
                 "0.4204, 0.4145, 0.3957, 0.3671, 0.3346, 0.3031, 0.2739, 0.2488, 0.2272, 0.2094",\
                 "0.5741, 0.5671, 0.5441, 0.5081, 0.4655, 0.4218, 0.381, 0.3444, 0.3122, 0.2846",\
                 "0.7617, 0.7536, 0.7271, 0.6841, 0.6316, 0.5758, 0.5218, 0.472, 0.4275, 0.3878");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4284, 0.4292, 0.4306, 0.4318, 0.4329, 0.4345, 0.436, 0.437, 0.4391, 0.4479",\
                 "0.4217, 0.4231, 0.4265, 0.4296, 0.4324, 0.4345, 0.4367, 0.4386, 0.4408, 0.449",\
                 "0.4129, 0.4141, 0.4174, 0.4221, 0.4267, 0.4306, 0.4334, 0.4363, 0.4388, 0.4486",\
                 "0.4202, 0.4197, 0.42, 0.4212, 0.4242, 0.4274, 0.4311, 0.4343, 0.4368, 0.4476",\
                 "0.4562, 0.4542, 0.4491, 0.4434, 0.4396, 0.4377, 0.438, 0.4396, 0.4412, 0.4524",\
                 "0.5281, 0.5238, 0.5117, 0.4975, 0.4844, 0.4735, 0.466, 0.462, 0.4594, 0.4695",\
                 "0.6358, 0.6293, 0.6108, 0.5863, 0.5623, 0.5408, 0.5231, 0.5089, 0.4984, 0.5077",\
                 "0.7785, 0.7704, 0.7463, 0.7123, 0.6758, 0.6434, 0.6132, 0.587, 0.5679, 0.5748",\
                 "0.9564, 0.9472, 0.9185, 0.8753, 0.8269, 0.7809, 0.7396, 0.7011, 0.6717, 0.6818",\
                 "1.172, 1.161, 1.128, 1.077, 1.018, 0.9575, 0.9015, 0.8523, 0.8159, 0.8462");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1017, 0.1015, 0.1014, 0.1015, 0.1017, 0.1017, 0.1018, 0.1018, 0.1018, 0.1018",\
                 "0.1019, 0.1022, 0.102, 0.1021, 0.1023, 0.1024, 0.1025, 0.1025, 0.1025, 0.1026",\
                 "0.1041, 0.1041, 0.1039, 0.1038, 0.1039, 0.104, 0.104, 0.1041, 0.1041, 0.1041",\
                 "0.1156, 0.1152, 0.1135, 0.1118, 0.1102, 0.1089, 0.1079, 0.1072, 0.1067, 0.1063",\
                 "0.1452, 0.1438, 0.1394, 0.1337, 0.1281, 0.1237, 0.1197, 0.1168, 0.1145, 0.1127",\
                 "0.198, 0.1953, 0.1872, 0.176, 0.1644, 0.1541, 0.1453, 0.1383, 0.1324, 0.1276",\
                 "0.2772, 0.2732, 0.2609, 0.243, 0.2238, 0.2056, 0.1898, 0.1762, 0.165, 0.1557",\
                 "0.3846, 0.3794, 0.3627, 0.3379, 0.3097, 0.2825, 0.2573, 0.2354, 0.2168, 0.2012",\
                 "0.5213, 0.515, 0.4944, 0.4626, 0.4254, 0.3871, 0.3519, 0.3198, 0.2917, 0.2675",\
                 "0.689, 0.6816, 0.6575, 0.6189, 0.5724, 0.5235, 0.476, 0.4326, 0.3935, 0.3591");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4283, 0.429, 0.4304, 0.4319, 0.433, 0.4343, 0.436, 0.4374, 0.4422, 0.4787",\
                 "0.4215, 0.4231, 0.4264, 0.4296, 0.4322, 0.4343, 0.4363, 0.4391, 0.4438, 0.4803",\
                 "0.4126, 0.4138, 0.4172, 0.4221, 0.4266, 0.4304, 0.4333, 0.4364, 0.4422, 0.4826",\
                 "0.4175, 0.4176, 0.4181, 0.4198, 0.423, 0.4265, 0.4304, 0.4338, 0.441, 0.4834",\
                 "0.449, 0.4474, 0.4427, 0.4382, 0.4352, 0.4349, 0.4353, 0.437, 0.4442, 0.4916",\
                 "0.5132, 0.5094, 0.4989, 0.4864, 0.4743, 0.4654, 0.4594, 0.4551, 0.4607, 0.5127",\
                 "0.6104, 0.6046, 0.588, 0.5662, 0.5446, 0.5251, 0.5091, 0.4972, 0.4976, 0.5593",\
                 "0.7389, 0.7316, 0.7097, 0.6797, 0.6473, 0.6175, 0.5903, 0.5669, 0.562, 0.6411",\
                 "0.8996, 0.891, 0.8644, 0.826, 0.7836, 0.7422, 0.7043, 0.6705, 0.6635, 0.7734",\
                 "1.095, 1.084, 1.054, 1.007, 0.9555, 0.9017, 0.8525, 0.81, 0.8125, 0.9801");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1015, 0.1015, 0.1016, 0.1016, 0.1017, 0.1018, 0.1017, 0.1017, 0.1016, 0.1016",\
                 "0.102, 0.102, 0.102, 0.1023, 0.1023, 0.1024, 0.1024, 0.1024, 0.1024, 0.1024",\
                 "0.1041, 0.104, 0.104, 0.104, 0.1041, 0.104, 0.104, 0.1039, 0.1039, 0.1039",\
                 "0.1155, 0.115, 0.1136, 0.1118, 0.1103, 0.1089, 0.1079, 0.1071, 0.1065, 0.1061",\
                 "0.1451, 0.1435, 0.1393, 0.1336, 0.1282, 0.1237, 0.1198, 0.1167, 0.1144, 0.1126",\
                 "0.1978, 0.1951, 0.1871, 0.176, 0.1644, 0.1541, 0.1454, 0.1382, 0.1323, 0.1276",\
                 "0.2766, 0.2728, 0.2606, 0.243, 0.2237, 0.2056, 0.1896, 0.1763, 0.1649, 0.1557",\
                 "0.384, 0.3787, 0.3624, 0.3377, 0.3097, 0.282, 0.2572, 0.2353, 0.2166, 0.2009",\
                 "0.5206, 0.5142, 0.4938, 0.4622, 0.4251, 0.3869, 0.3515, 0.3196, 0.2915, 0.2674",\
                 "0.6882, 0.6805, 0.6567, 0.6184, 0.5718, 0.5231, 0.4758, 0.4323, 0.3933, 0.3591");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4963, 0.4969, 0.4977, 0.4991, 0.5004, 0.5016, 0.5032, 0.5058, 0.5112, 0.5499",\
                 "0.4911, 0.4922, 0.4947, 0.4976, 0.4997, 0.5017, 0.5042, 0.5061, 0.5122, 0.551",\
                 "0.4819, 0.483, 0.4859, 0.4902, 0.4944, 0.4979, 0.5015, 0.5045, 0.5113, 0.5528",\
                 "0.4847, 0.4846, 0.4854, 0.4874, 0.4908, 0.4941, 0.4986, 0.5018, 0.5098, 0.5535",\
                 "0.5126, 0.5115, 0.5079, 0.5044, 0.5022, 0.5018, 0.5032, 0.5044, 0.5136, 0.5623",\
                 "0.5731, 0.5698, 0.5614, 0.5501, 0.5397, 0.5318, 0.5263, 0.5234, 0.5284, 0.5842",\
                 "0.6664, 0.6618, 0.6474, 0.6281, 0.6084, 0.5901, 0.5748, 0.5649, 0.5664, 0.6307",\
                 "0.7922, 0.7857, 0.7667, 0.7391, 0.7091, 0.6805, 0.654, 0.6335, 0.6299, 0.7124",\
                 "0.9505, 0.9427, 0.9191, 0.8835, 0.8436, 0.8042, 0.767, 0.7351, 0.7304, 0.8459",\
                 "1.143, 1.134, 1.106, 1.063, 1.013, 0.9627, 0.9151, 0.8732, 0.8786, 1.053");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.08976, 0.08984, 0.0898, 0.08975, 0.08987, 0.08993, 0.08996, 0.08996, 0.08998, 0.08999",\
                 "0.0888, 0.08872, 0.08876, 0.08882, 0.08889, 0.089, 0.08908, 0.08909, 0.08913, 0.08906",\
                 "0.08882, 0.08871, 0.08844, 0.08807, 0.08791, 0.08786, 0.0878, 0.08775, 0.08775, 0.08775",\
                 "0.1012, 0.1003, 0.09804, 0.09553, 0.09341, 0.09166, 0.0905, 0.08976, 0.08902, 0.08861",\
                 "0.1355, 0.1332, 0.127, 0.1195, 0.1125, 0.1069, 0.1025, 0.09911, 0.09662, 0.0946",\
                 "0.1965, 0.1925, 0.1813, 0.1667, 0.1522, 0.1397, 0.1296, 0.1215, 0.115, 0.1099",\
                 "0.2866, 0.281, 0.2644, 0.2414, 0.2175, 0.1958, 0.177, 0.1617, 0.1494, 0.1392",\
                 "0.4074, 0.4004, 0.3787, 0.3471, 0.3124, 0.2795, 0.2502, 0.2251, 0.2041, 0.1868",\
                 "0.5606, 0.5523, 0.5258, 0.4859, 0.44, 0.3946, 0.3528, 0.3161, 0.2843, 0.2574",\
                 "0.7471, 0.7374, 0.7069, 0.6593, 0.6023, 0.5439, 0.4884, 0.438, 0.3937, 0.3551");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3948, 0.3954, 0.3969, 0.3982, 0.3993, 0.4009, 0.4017, 0.4035, 0.408, 0.4413",\
                 "0.388, 0.3894, 0.3927, 0.3961, 0.3986, 0.4006, 0.4023, 0.4048, 0.4094, 0.4429",\
                 "0.379, 0.3802, 0.3835, 0.3885, 0.3931, 0.3966, 0.3997, 0.4025, 0.4081, 0.4448",\
                 "0.3849, 0.3847, 0.385, 0.3867, 0.3898, 0.3931, 0.3967, 0.3999, 0.4066, 0.4446",\
                 "0.418, 0.4161, 0.4116, 0.4064, 0.403, 0.4023, 0.403, 0.4038, 0.41, 0.454",\
                 "0.4871, 0.4827, 0.4713, 0.458, 0.4457, 0.4357, 0.4291, 0.4248, 0.4274, 0.4757",\
                 "0.5924, 0.5862, 0.5679, 0.544, 0.5212, 0.5009, 0.4835, 0.47, 0.4678, 0.5219",\
                 "0.7332, 0.7252, 0.701, 0.6675, 0.6323, 0.6006, 0.5715, 0.5464, 0.5373, 0.6034",\
                 "0.9096, 0.8998, 0.8711, 0.8284, 0.7811, 0.7363, 0.6956, 0.6594, 0.6443, 0.7365",\
                 "1.123, 1.112, 1.078, 1.028, 0.9693, 0.9108, 0.8571, 0.81, 0.7999, 0.9405");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.09042, 0.09033, 0.09019, 0.09022, 0.0903, 0.09035, 0.09042, 0.09041, 0.09044, 0.09044",\
                 "0.09009, 0.09018, 0.08996, 0.09022, 0.09013, 0.09027, 0.09027, 0.09032, 0.09039, 0.09036",\
                 "0.09143, 0.09134, 0.0911, 0.09076, 0.0906, 0.09056, 0.09051, 0.09051, 0.09051, 0.09045",\
                 "0.1027, 0.102, 0.1, 0.09793, 0.09611, 0.0945, 0.09356, 0.09284, 0.09223, 0.09183",\
                 "0.1325, 0.1306, 0.1255, 0.119, 0.1131, 0.1083, 0.1044, 0.1014, 0.0992, 0.09749",\
                 "0.1859, 0.1825, 0.1731, 0.1605, 0.1482, 0.1374, 0.1286, 0.1216, 0.1158, 0.1113",\
                 "0.2654, 0.2604, 0.2462, 0.2265, 0.206, 0.187, 0.1708, 0.1574, 0.1466, 0.1375",\
                 "0.3725, 0.3663, 0.3474, 0.32, 0.2899, 0.2614, 0.2358, 0.2138, 0.1954, 0.1802",\
                 "0.5092, 0.5014, 0.4781, 0.443, 0.4029, 0.3633, 0.3271, 0.2949, 0.2671, 0.2433",\
                 "0.6759, 0.6672, 0.6398, 0.5972, 0.547, 0.4959, 0.4473, 0.4036, 0.3645, 0.3305");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3947, 0.3953, 0.3968, 0.3982, 0.3996, 0.4006, 0.4021, 0.4039, 0.4195, 0.5139",\
                 "0.388, 0.3893, 0.3928, 0.3961, 0.3987, 0.4006, 0.4024, 0.4049, 0.4209, 0.5164",\
                 "0.3789, 0.3799, 0.3835, 0.3884, 0.3929, 0.3966, 0.3998, 0.4035, 0.42, 0.5191",\
                 "0.3828, 0.3827, 0.3832, 0.3852, 0.3889, 0.3925, 0.3962, 0.4005, 0.4193, 0.5257",\
                 "0.4114, 0.4098, 0.4057, 0.4015, 0.3993, 0.3992, 0.4001, 0.403, 0.4235, 0.5396",\
                 "0.4728, 0.469, 0.459, 0.4474, 0.4362, 0.4277, 0.4222, 0.4206, 0.4415, 0.5716",\
                 "0.5678, 0.5622, 0.546, 0.5249, 0.5045, 0.4857, 0.4706, 0.4607, 0.4815, 0.6309",\
                 "0.6949, 0.6874, 0.6657, 0.6362, 0.6051, 0.5757, 0.5493, 0.5295, 0.5526, 0.7359",\
                 "0.8545, 0.8458, 0.8191, 0.7806, 0.7389, 0.6989, 0.6619, 0.6331, 0.665, 0.9013",\
                 "1.048, 1.038, 1.006, 0.9604, 0.9084, 0.8566, 0.8084, 0.776, 0.8319, 1.155");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.09046, 0.09039, 0.09032, 0.09034, 0.09037, 0.09044, 0.09042, 0.0904, 0.09036, 0.09035",\
                 "0.09016, 0.09021, 0.09019, 0.09022, 0.09034, 0.0904, 0.0904, 0.09041, 0.09033, 0.09033",\
                 "0.09144, 0.09131, 0.0911, 0.09087, 0.09072, 0.09062, 0.09053, 0.09046, 0.09038, 0.09034",\
                 "0.1026, 0.1019, 0.1001, 0.09794, 0.09609, 0.09469, 0.09362, 0.09277, 0.09214, 0.09176",\
                 "0.1324, 0.1305, 0.1254, 0.119, 0.1131, 0.1084, 0.1044, 0.1015, 0.09921, 0.09739",\
                 "0.1854, 0.1823, 0.1729, 0.1604, 0.1481, 0.1374, 0.1285, 0.1216, 0.1158, 0.1113",\
                 "0.2647, 0.26, 0.2459, 0.2263, 0.2059, 0.187, 0.1709, 0.1574, 0.1466, 0.1376",\
                 "0.3718, 0.3656, 0.347, 0.3197, 0.2896, 0.2612, 0.2356, 0.2138, 0.1954, 0.1801",\
                 "0.5082, 0.5005, 0.4774, 0.4426, 0.4027, 0.3632, 0.3269, 0.2947, 0.267, 0.2432",\
                 "0.6748, 0.6663, 0.639, 0.5967, 0.5466, 0.4956, 0.4471, 0.4033, 0.3643, 0.3304");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4626, 0.4631, 0.4642, 0.4655, 0.4667, 0.4681, 0.4698, 0.4725, 0.489, 0.5861",\
                 "0.4577, 0.4586, 0.4611, 0.4639, 0.466, 0.4682, 0.4705, 0.4735, 0.49, 0.589",\
                 "0.4482, 0.4492, 0.4524, 0.4566, 0.4606, 0.4646, 0.4675, 0.4718, 0.4895, 0.5921",\
                 "0.4499, 0.45, 0.4509, 0.4533, 0.4565, 0.4603, 0.4642, 0.4688, 0.4888, 0.5975",\
                 "0.4755, 0.4742, 0.4711, 0.4678, 0.4662, 0.4667, 0.4682, 0.4713, 0.4933, 0.613",\
                 "0.5328, 0.5297, 0.5216, 0.5114, 0.5017, 0.4945, 0.4898, 0.4885, 0.5107, 0.6448",\
                 "0.6241, 0.6194, 0.6057, 0.5873, 0.5681, 0.5511, 0.5363, 0.5282, 0.5511, 0.7065",\
                 "0.7481, 0.7418, 0.7229, 0.6959, 0.667, 0.6393, 0.6141, 0.5966, 0.6216, 0.8107",\
                 "0.9054, 0.8974, 0.8734, 0.8386, 0.7997, 0.7613, 0.7252, 0.6989, 0.7349, 0.9791",\
                 "1.096, 1.087, 1.059, 1.016, 0.9676, 0.9174, 0.8707, 0.8399, 0.9022, 1.234");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.08987, 0.08985, 0.08979, 0.08979, 0.08987, 0.08991, 0.08989, 0.08987, 0.08985, 0.08982",\
                 "0.0888, 0.08889, 0.08892, 0.089, 0.08903, 0.08911, 0.08911, 0.08911, 0.08905, 0.08908",\
                 "0.08882, 0.08869, 0.08843, 0.08818, 0.08801, 0.08792, 0.08786, 0.08777, 0.08767, 0.08764",\
                 "0.1011, 0.1003, 0.09806, 0.0955, 0.09341, 0.09171, 0.09053, 0.08969, 0.08899, 0.08857",\
                 "0.1352, 0.133, 0.127, 0.1194, 0.1125, 0.1069, 0.1026, 0.09906, 0.09653, 0.09454",\
                 "0.196, 0.1922, 0.1811, 0.1666, 0.1521, 0.1397, 0.1296, 0.1215, 0.115, 0.1099",\
                 "0.2859, 0.2804, 0.264, 0.2412, 0.2174, 0.1956, 0.1771, 0.1617, 0.1493, 0.1392",\
                 "0.4065, 0.3996, 0.3782, 0.3468, 0.3122, 0.2793, 0.2499, 0.225, 0.2042, 0.1868",\
                 "0.5594, 0.5512, 0.525, 0.4854, 0.4397, 0.3943, 0.3525, 0.316, 0.2842, 0.2573",\
                 "0.7457, 0.7363, 0.706, 0.6586, 0.6019, 0.5435, 0.4881, 0.4379, 0.3935, 0.3549");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4627, 0.4631, 0.4644, 0.4657, 0.4669, 0.4683, 0.4699, 0.4718, 0.4771, 0.5122",\
                 "0.4576, 0.4586, 0.461, 0.4639, 0.4662, 0.4682, 0.4705, 0.4725, 0.4781, 0.5135",\
                 "0.4484, 0.4494, 0.4526, 0.4568, 0.4607, 0.4646, 0.4676, 0.4715, 0.4772, 0.515",\
                 "0.4518, 0.4519, 0.4523, 0.4544, 0.4575, 0.4609, 0.4649, 0.4682, 0.4756, 0.516",\
                 "0.4816, 0.4802, 0.4764, 0.4728, 0.4701, 0.47, 0.4709, 0.4721, 0.4791, 0.5238",\
                 "0.5459, 0.5424, 0.5332, 0.5217, 0.5105, 0.502, 0.4963, 0.4925, 0.4965, 0.5466",\
                 "0.6477, 0.6424, 0.6265, 0.6056, 0.5842, 0.5653, 0.5494, 0.537, 0.5359, 0.5935",\
                 "0.7855, 0.7782, 0.7568, 0.7263, 0.6938, 0.6635, 0.6362, 0.613, 0.6058, 0.6759",\
                 "0.9591, 0.9507, 0.9245, 0.8848, 0.8409, 0.798, 0.7588, 0.7234, 0.7128, 0.8087",\
                 "1.17, 1.16, 1.13, 1.082, 1.027, 0.9713, 0.919, 0.8726, 0.8666, 1.014");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.09042, 0.09037, 0.09036, 0.09033, 0.09039, 0.09045, 0.09044, 0.09042, 0.0904, 0.09035",\
                 "0.09012, 0.09011, 0.09025, 0.09028, 0.09037, 0.09043, 0.09042, 0.09042, 0.09038, 0.09036",\
                 "0.09143, 0.0913, 0.09109, 0.09086, 0.09074, 0.09062, 0.09052, 0.09043, 0.0904, 0.09037",\
                 "0.1026, 0.1019, 0.1001, 0.09793, 0.09608, 0.09467, 0.0936, 0.09279, 0.0922, 0.09176",\
                 "0.1324, 0.1305, 0.1254, 0.119, 0.1131, 0.1083, 0.1045, 0.1015, 0.09913, 0.09741",\
                 "0.1854, 0.1823, 0.1729, 0.1605, 0.1481, 0.1374, 0.1285, 0.1215, 0.1158, 0.1113",\
                 "0.2647, 0.26, 0.2459, 0.2263, 0.2059, 0.1869, 0.1709, 0.1574, 0.1465, 0.1375",\
                 "0.3718, 0.3656, 0.3469, 0.3196, 0.2896, 0.2612, 0.2356, 0.2138, 0.1955, 0.1801",\
                 "0.5083, 0.5006, 0.4774, 0.4426, 0.4027, 0.3631, 0.3269, 0.2948, 0.2669, 0.2432",\
                 "0.6748, 0.6663, 0.639, 0.5967, 0.5465, 0.4957, 0.4472, 0.4034, 0.3643, 0.3303");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4626, 0.463, 0.4642, 0.4654, 0.4667, 0.4683, 0.4698, 0.4725, 0.489, 0.5865",\
                 "0.4575, 0.4585, 0.461, 0.4637, 0.4661, 0.4684, 0.4701, 0.4735, 0.49, 0.589",\
                 "0.4482, 0.4492, 0.4523, 0.4565, 0.4606, 0.4646, 0.4675, 0.4718, 0.4895, 0.5921",\
                 "0.4499, 0.45, 0.4509, 0.4532, 0.4565, 0.4602, 0.4642, 0.4691, 0.4888, 0.5984",\
                 "0.4753, 0.474, 0.4711, 0.468, 0.4663, 0.4669, 0.4678, 0.4713, 0.4923, 0.613",\
                 "0.5328, 0.5297, 0.5216, 0.5116, 0.5016, 0.4942, 0.4894, 0.4882, 0.5107, 0.6445",\
                 "0.6241, 0.6193, 0.6056, 0.5868, 0.5682, 0.5506, 0.5363, 0.5286, 0.5508, 0.7076",\
                 "0.7482, 0.7419, 0.7227, 0.6958, 0.6669, 0.6393, 0.6142, 0.5969, 0.6216, 0.8107",\
                 "0.9053, 0.8975, 0.8731, 0.8387, 0.7994, 0.7615, 0.7251, 0.6989, 0.7342, 0.979",\
                 "1.096, 1.087, 1.059, 1.016, 0.9674, 0.9173, 0.871, 0.8402, 0.9019, 1.234");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.0904, 0.09033, 0.09033, 0.09033, 0.09035, 0.09039, 0.09039, 0.09037, 0.09033, 0.09034",\
                 "0.09004, 0.09013, 0.0903, 0.09025, 0.09028, 0.09039, 0.09038, 0.09039, 0.09032, 0.09032",\
                 "0.09135, 0.09129, 0.09106, 0.09087, 0.09073, 0.09062, 0.09053, 0.09045, 0.09038, 0.09033",\
                 "0.1026, 0.1019, 0.1, 0.09791, 0.09608, 0.09463, 0.0936, 0.09275, 0.09218, 0.09176",\
                 "0.1323, 0.1304, 0.1253, 0.119, 0.1131, 0.1083, 0.1044, 0.1014, 0.09925, 0.09744",\
                 "0.1852, 0.182, 0.1727, 0.1603, 0.148, 0.1374, 0.1285, 0.1216, 0.1158, 0.1113",\
                 "0.2642, 0.2596, 0.2456, 0.2261, 0.2058, 0.1869, 0.1707, 0.1574, 0.1465, 0.1375",\
                 "0.3711, 0.365, 0.3465, 0.3194, 0.2894, 0.261, 0.2355, 0.2138, 0.1954, 0.1802",\
                 "0.5074, 0.4997, 0.4767, 0.4422, 0.4024, 0.363, 0.3267, 0.2947, 0.2669, 0.2431",\
                 "0.6739, 0.6652, 0.6382, 0.596, 0.5461, 0.4953, 0.4469, 0.4031, 0.364, 0.3302");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5302, 0.5306, 0.5315, 0.5325, 0.5338, 0.5352, 0.537, 0.5395, 0.5561, 0.6564",\
                 "0.5263, 0.5269, 0.5289, 0.5313, 0.5333, 0.5353, 0.5373, 0.5405, 0.5578, 0.6586",\
                 "0.5173, 0.518, 0.5208, 0.5244, 0.5282, 0.5317, 0.5347, 0.5387, 0.557, 0.6625",\
                 "0.5172, 0.5174, 0.5186, 0.5207, 0.5241, 0.5278, 0.5314, 0.5357, 0.5567, 0.669",\
                 "0.5399, 0.5391, 0.5368, 0.5344, 0.533, 0.5335, 0.5347, 0.5385, 0.5605, 0.6837",\
                 "0.594, 0.5916, 0.585, 0.5759, 0.5674, 0.5605, 0.5561, 0.5554, 0.5786, 0.7165",\
                 "0.6821, 0.678, 0.666, 0.6496, 0.632, 0.6154, 0.6022, 0.5944, 0.618, 0.7782",\
                 "0.8029, 0.7973, 0.7807, 0.7559, 0.729, 0.7027, 0.6786, 0.6618, 0.6893, 0.8838",\
                 "0.9574, 0.9505, 0.9289, 0.8968, 0.8601, 0.8232, 0.7887, 0.7637, 0.8017, 1.053",\
                 "1.146, 1.138, 1.112, 1.072, 1.026, 0.9784, 0.9331, 0.904, 0.9699, 1.311");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1011, 0.1012, 0.1011, 0.1011, 0.1012, 0.1013, 0.1013, 0.1013, 0.1014, 0.1013",\
                 "0.1006, 0.1008, 0.1008, 0.1009, 0.1011, 0.1012, 0.1013, 0.1013, 0.1013, 0.1013",\
                 "0.09949, 0.09957, 0.0999, 0.1001, 0.1005, 0.1008, 0.101, 0.1011, 0.1012, 0.1012",\
                 "0.1098, 0.1094, 0.1083, 0.107, 0.1059, 0.1047, 0.104, 0.1035, 0.103, 0.1027",\
                 "0.1422, 0.1407, 0.1365, 0.1308, 0.1254, 0.1208, 0.1169, 0.1138, 0.1115, 0.1096",\
                 "0.2023, 0.1994, 0.1909, 0.1791, 0.1667, 0.1556, 0.1461, 0.1384, 0.1321, 0.127",\
                 "0.2929, 0.2885, 0.2755, 0.2563, 0.235, 0.2153, 0.1976, 0.1828, 0.1703, 0.1599",\
                 "0.4159, 0.4102, 0.3923, 0.3651, 0.3345, 0.304, 0.2762, 0.2518, 0.2308, 0.2131",\
                 "0.5724, 0.5654, 0.5432, 0.5085, 0.4675, 0.4257, 0.386, 0.3503, 0.3188, 0.2913",\
                 "0.764, 0.756, 0.7296, 0.6877, 0.6366, 0.5826, 0.5303, 0.4813, 0.4377, 0.3987");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4878, 0.4878, 0.4881, 0.4888, 0.4896, 0.4909, 0.4924, 0.4947, 0.4969, 0.5056",\
                 "0.4834, 0.4839, 0.4847, 0.4859, 0.4872, 0.4889, 0.4908, 0.4927, 0.4956, 0.5046",\
                 "0.4783, 0.4789, 0.4803, 0.4823, 0.4847, 0.4869, 0.4891, 0.4917, 0.4946, 0.5046",\
                 "0.4849, 0.4847, 0.4842, 0.4841, 0.4852, 0.4868, 0.4888, 0.4914, 0.4936, 0.5053",\
                 "0.5212, 0.5192, 0.5138, 0.5077, 0.5026, 0.4996, 0.498, 0.4986, 0.5003, 0.5114",\
                 "0.5958, 0.5917, 0.5798, 0.5645, 0.5503, 0.5385, 0.5291, 0.5234, 0.5201, 0.5295",\
                 "0.7085, 0.7028, 0.6849, 0.6597, 0.6338, 0.6098, 0.5898, 0.5742, 0.5625, 0.57",\
                 "0.8572, 0.8504, 0.8278, 0.7939, 0.7556, 0.7195, 0.686, 0.6586, 0.6373, 0.6423",\
                 "1.042, 1.034, 1.009, 0.9676, 0.918, 0.8677, 0.8219, 0.7799, 0.7467, 0.7568",\
                 "1.266, 1.256, 1.228, 1.181, 1.122, 1.058, 0.9972, 0.9417, 0.9005, 0.9295");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1015, 0.1016, 0.1014, 0.1014, 0.1015, 0.1016, 0.1016, 0.1016, 0.1016, 0.1016",\
                 "0.1019, 0.1018, 0.1021, 0.1022, 0.1023, 0.1025, 0.1025, 0.1025, 0.1026, 0.1025",\
                 "0.1022, 0.1023, 0.1026, 0.1029, 0.1033, 0.1036, 0.1037, 0.1038, 0.104, 0.104",\
                 "0.1117, 0.1113, 0.1105, 0.1095, 0.1086, 0.1077, 0.1071, 0.1065, 0.1062, 0.1059",\
                 "0.1399, 0.1386, 0.1351, 0.1306, 0.126, 0.122, 0.1188, 0.116, 0.114, 0.1123",\
                 "0.1919, 0.1895, 0.1825, 0.1725, 0.1622, 0.1527, 0.1446, 0.138, 0.1325, 0.1279",\
                 "0.2711, 0.2672, 0.2561, 0.2397, 0.2219, 0.2051, 0.1899, 0.1771, 0.1662, 0.1572",\
                 "0.3789, 0.3739, 0.3585, 0.3352, 0.3089, 0.283, 0.2591, 0.238, 0.2198, 0.2044",\
                 "0.5169, 0.5106, 0.4914, 0.4611, 0.4259, 0.3898, 0.3555, 0.3246, 0.2972, 0.2734",\
                 "0.6865, 0.6793, 0.6558, 0.619, 0.5745, 0.5278, 0.4823, 0.4402, 0.402, 0.3683");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4877, 0.4877, 0.488, 0.4887, 0.4896, 0.491, 0.4925, 0.4945, 0.4999, 0.5378",\
                 "0.4833, 0.4837, 0.4847, 0.486, 0.4874, 0.4886, 0.4909, 0.4922, 0.4986, 0.5361",\
                 "0.4781, 0.4786, 0.4801, 0.4825, 0.4846, 0.4868, 0.4892, 0.4912, 0.4984, 0.5371",\
                 "0.4826, 0.4825, 0.4823, 0.483, 0.4845, 0.486, 0.4886, 0.4904, 0.4981, 0.541",\
                 "0.5136, 0.512, 0.5071, 0.5025, 0.4984, 0.4964, 0.4958, 0.4961, 0.5033, 0.5503",\
                 "0.58, 0.5763, 0.5661, 0.5528, 0.54, 0.5296, 0.5222, 0.5174, 0.5221, 0.575",\
                 "0.6806, 0.6753, 0.6595, 0.6373, 0.6142, 0.5926, 0.5754, 0.5618, 0.562, 0.6249",\
                 "0.814, 0.8078, 0.7875, 0.7573, 0.7231, 0.6904, 0.6605, 0.6364, 0.6305, 0.71",\
                 "0.9808, 0.9733, 0.9497, 0.9122, 0.8683, 0.8242, 0.7825, 0.7452, 0.7373, 0.8476",\
                 "1.182, 1.173, 1.147, 1.103, 1.05, 0.9939, 0.9408, 0.8935, 0.8934, 1.065");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1015, 0.1015, 0.1015, 0.1015, 0.1015, 0.1016, 0.1015, 0.1016, 0.1015, 0.1015",\
                 "0.102, 0.102, 0.1021, 0.1023, 0.1024, 0.1025, 0.1024, 0.1024, 0.1024, 0.1024",\
                 "0.1022, 0.1023, 0.1026, 0.1031, 0.1034, 0.1036, 0.1037, 0.1038, 0.1037, 0.1038",\
                 "0.1118, 0.1114, 0.1106, 0.1095, 0.1086, 0.1078, 0.1071, 0.1065, 0.1061, 0.1058",\
                 "0.1398, 0.1385, 0.1351, 0.1306, 0.126, 0.1221, 0.1187, 0.1161, 0.1139, 0.1123",\
                 "0.1917, 0.1894, 0.1823, 0.1725, 0.1622, 0.1527, 0.1447, 0.1379, 0.1325, 0.1279",\
                 "0.2705, 0.267, 0.2558, 0.2396, 0.2219, 0.205, 0.1899, 0.1771, 0.1662, 0.1572",\
                 "0.3783, 0.3733, 0.3581, 0.335, 0.3088, 0.2829, 0.2589, 0.238, 0.2198, 0.2044",\
                 "0.5162, 0.5099, 0.4907, 0.4608, 0.4256, 0.3894, 0.3552, 0.3243, 0.2971, 0.2733",\
                 "0.6857, 0.6786, 0.6552, 0.6186, 0.5741, 0.5275, 0.4821, 0.44, 0.4018, 0.3681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5548, 0.5549, 0.5551, 0.5558, 0.5566, 0.5577, 0.5591, 0.561, 0.5676, 0.6056",\
                 "0.5509, 0.5512, 0.552, 0.5532, 0.5546, 0.5558, 0.5575, 0.56, 0.5656, 0.6047",\
                 "0.5461, 0.5464, 0.5478, 0.5498, 0.5518, 0.5542, 0.5558, 0.5581, 0.5643, 0.6057",\
                 "0.5492, 0.5493, 0.5493, 0.55, 0.5514, 0.5532, 0.5552, 0.5581, 0.5648, 0.6103",\
                 "0.5774, 0.5759, 0.5726, 0.5684, 0.5649, 0.5632, 0.5631, 0.5633, 0.5699, 0.6196",\
                 "0.6398, 0.6367, 0.6282, 0.6162, 0.6047, 0.5954, 0.5879, 0.5833, 0.5878, 0.6433",\
                 "0.7372, 0.733, 0.7189, 0.6987, 0.6775, 0.6574, 0.6403, 0.628, 0.628, 0.6935",\
                 "0.8686, 0.8626, 0.8443, 0.8165, 0.7848, 0.7539, 0.7247, 0.7013, 0.6959, 0.7784",\
                 "1.033, 1.026, 1.004, 0.9693, 0.9275, 0.8859, 0.8446, 0.8091, 0.8032, 0.9175",\
                 "1.232, 1.225, 1.2, 1.159, 1.108, 1.054, 1.002, 0.9563, 0.9587, 1.136");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.08981, 0.08987, 0.08986, 0.08979, 0.08987, 0.08994, 0.08994, 0.08997, 0.09, 0.09",\
                 "0.08883, 0.08881, 0.08875, 0.08888, 0.08901, 0.08912, 0.08922, 0.08921, 0.08918, 0.08918",\
                 "0.08697, 0.08704, 0.08721, 0.08725, 0.08739, 0.08752, 0.08756, 0.08758, 0.08762, 0.08769",\
                 "0.09705, 0.09636, 0.09485, 0.09327, 0.09183, 0.09056, 0.0897, 0.08911, 0.08859, 0.08829",\
                 "0.1296, 0.1275, 0.1224, 0.116, 0.1102, 0.1054, 0.1015, 0.09847, 0.09614, 0.09433",\
                 "0.1898, 0.1864, 0.1762, 0.163, 0.1499, 0.1384, 0.1289, 0.1213, 0.1152, 0.1102",\
                 "0.2801, 0.275, 0.2596, 0.2383, 0.216, 0.1955, 0.1777, 0.1629, 0.1508, 0.1409",\
                 "0.4028, 0.396, 0.3753, 0.3452, 0.3125, 0.2808, 0.2527, 0.2285, 0.2079, 0.1907",\
                 "0.5586, 0.5503, 0.5247, 0.4862, 0.4422, 0.3983, 0.358, 0.3221, 0.2909, 0.2642",\
                 "0.7488, 0.7393, 0.7091, 0.6626, 0.6074, 0.5508, 0.497, 0.448, 0.4043, 0.366");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4542, 0.4543, 0.4546, 0.4554, 0.4562, 0.4573, 0.4592, 0.4606, 0.4665, 0.5004",\
                 "0.4497, 0.4502, 0.4511, 0.4525, 0.4538, 0.4552, 0.4569, 0.4592, 0.4648, 0.4991",\
                 "0.4446, 0.4451, 0.4466, 0.4489, 0.451, 0.4531, 0.4556, 0.4582, 0.4635, 0.4999",\
                 "0.4499, 0.4497, 0.4494, 0.4499, 0.4509, 0.4527, 0.455, 0.4572, 0.4633, 0.5036",\
                 "0.4828, 0.4812, 0.4762, 0.4707, 0.4667, 0.4641, 0.4635, 0.4635, 0.4691, 0.5126",\
                 "0.5539, 0.5499, 0.5389, 0.5248, 0.5112, 0.5, 0.4922, 0.4872, 0.4892, 0.5377",\
                 "0.6641, 0.6582, 0.641, 0.6169, 0.5922, 0.5693, 0.55, 0.5356, 0.5322, 0.5878",\
                 "0.8108, 0.8036, 0.7817, 0.7481, 0.7115, 0.676, 0.644, 0.6172, 0.6061, 0.6748",\
                 "0.9934, 0.9855, 0.9601, 0.9193, 0.8709, 0.8221, 0.7772, 0.7371, 0.7213, 0.8149",\
                 "1.214, 1.205, 1.176, 1.13, 1.072, 1.01, 0.9503, 0.8976, 0.8857, 1.029");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.09029, 0.09024, 0.0902, 0.09013, 0.09019, 0.09025, 0.09032, 0.0903, 0.09033, 0.09033",\
                 "0.09014, 0.09011, 0.09013, 0.09011, 0.09021, 0.0903, 0.09042, 0.09043, 0.09039, 0.09039",\
                 "0.08964, 0.08971, 0.08986, 0.08991, 0.09007, 0.0902, 0.0903, 0.0903, 0.09032, 0.09033",\
                 "0.09893, 0.09841, 0.09716, 0.09582, 0.09462, 0.09349, 0.09276, 0.09221, 0.09184, 0.0915",\
                 "0.1271, 0.1257, 0.1214, 0.1161, 0.1111, 0.1069, 0.1037, 0.1008, 0.09881, 0.09717",\
                 "0.1797, 0.1768, 0.1682, 0.1572, 0.146, 0.1362, 0.1281, 0.1215, 0.1161, 0.1116",\
                 "0.2586, 0.2543, 0.2414, 0.2232, 0.2042, 0.1866, 0.1713, 0.1585, 0.1478, 0.1391",\
                 "0.3666, 0.3606, 0.3428, 0.3172, 0.2892, 0.2621, 0.2378, 0.2167, 0.1988, 0.1835",\
                 "0.5043, 0.4971, 0.4748, 0.4414, 0.4036, 0.3657, 0.331, 0.2998, 0.2727, 0.2494",\
                 "0.6733, 0.6649, 0.6381, 0.5973, 0.5494, 0.5003, 0.4538, 0.4112, 0.3733, 0.3398");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4541, 0.4542, 0.4546, 0.4552, 0.456, 0.4575, 0.4588, 0.4615, 0.4773, 0.5749",\
                 "0.4498, 0.4501, 0.4512, 0.4524, 0.4538, 0.4551, 0.4568, 0.4599, 0.4764, 0.5742",\
                 "0.4444, 0.4449, 0.4465, 0.4487, 0.4509, 0.4532, 0.4552, 0.4585, 0.4759, 0.5774",\
                 "0.4479, 0.4478, 0.4478, 0.4486, 0.45, 0.452, 0.4542, 0.4574, 0.4765, 0.5855",\
                 "0.476, 0.4746, 0.4702, 0.4658, 0.4626, 0.4609, 0.461, 0.4626, 0.483, 0.6013",\
                 "0.5389, 0.5354, 0.5259, 0.5132, 0.5017, 0.4919, 0.4851, 0.4821, 0.503, 0.636",\
                 "0.6375, 0.6321, 0.6169, 0.5957, 0.5736, 0.553, 0.5362, 0.5255, 0.5464, 0.6995",\
                 "0.7693, 0.7628, 0.7428, 0.7129, 0.6805, 0.6488, 0.6199, 0.5992, 0.6218, 0.8085",\
                 "0.9339, 0.9263, 0.9028, 0.866, 0.8231, 0.7805, 0.7392, 0.7086, 0.7404, 0.9818",\
                 "1.133, 1.125, 1.098, 1.055, 1.003, 0.9476, 0.8956, 0.8594, 0.9178, 1.245");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.09032, 0.0903, 0.09027, 0.09024, 0.09026, 0.09033, 0.09034, 0.09031, 0.09028, 0.09028",\
                 "0.09007, 0.09015, 0.0902, 0.09024, 0.09029, 0.09039, 0.09037, 0.09037, 0.09033, 0.09032",\
                 "0.08963, 0.08967, 0.08984, 0.09004, 0.09014, 0.09025, 0.09027, 0.09028, 0.09024, 0.09023",\
                 "0.09891, 0.09846, 0.09722, 0.09582, 0.09462, 0.09362, 0.09283, 0.09225, 0.09181, 0.09145",\
                 "0.1271, 0.1255, 0.1214, 0.1161, 0.1111, 0.1069, 0.1036, 0.1009, 0.09877, 0.09713",\
                 "0.1793, 0.1765, 0.1681, 0.1571, 0.146, 0.1362, 0.1281, 0.1215, 0.116, 0.1116",\
                 "0.2581, 0.2538, 0.2411, 0.2231, 0.2041, 0.1865, 0.1713, 0.1584, 0.1478, 0.139",\
                 "0.3658, 0.3599, 0.3425, 0.3169, 0.289, 0.262, 0.2377, 0.2166, 0.1987, 0.1835",\
                 "0.5034, 0.4962, 0.4741, 0.4409, 0.4033, 0.3655, 0.3308, 0.2997, 0.2725, 0.2493",\
                 "0.6724, 0.6638, 0.6373, 0.5966, 0.549, 0.5, 0.4535, 0.4111, 0.3731, 0.3396");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5212, 0.5213, 0.5216, 0.5222, 0.5231, 0.5242, 0.526, 0.5284, 0.5454, 0.6448",\
                 "0.5174, 0.5176, 0.5184, 0.5195, 0.5208, 0.5222, 0.524, 0.5268, 0.5438, 0.6441",\
                 "0.5126, 0.5128, 0.5142, 0.516, 0.5181, 0.5203, 0.5223, 0.5254, 0.5433, 0.6484",\
                 "0.5147, 0.5146, 0.515, 0.5158, 0.5173, 0.5192, 0.5213, 0.5247, 0.5443, 0.6559",\
                 "0.5399, 0.539, 0.5357, 0.5319, 0.5291, 0.5276, 0.5276, 0.5295, 0.5505, 0.6719",\
                 "0.5993, 0.5965, 0.5882, 0.5776, 0.5662, 0.5578, 0.5514, 0.5493, 0.5708, 0.707",\
                 "0.6945, 0.6899, 0.6763, 0.6575, 0.6366, 0.618, 0.6014, 0.5917, 0.6133, 0.7715",\
                 "0.8235, 0.8179, 0.7997, 0.7725, 0.7423, 0.7119, 0.6841, 0.6636, 0.6891, 0.8813",\
                 "0.9864, 0.9793, 0.9577, 0.9233, 0.8825, 0.8417, 0.8021, 0.773, 0.8062, 1.056",\
                 "1.184, 1.176, 1.151, 1.111, 1.061, 1.008, 0.9564, 0.9232, 0.9854, 1.321");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.08993, 0.08991, 0.08989, 0.08988, 0.08993, 0.08999, 0.08998, 0.08994, 0.08993, 0.08993",\
                 "0.08885, 0.08887, 0.08892, 0.08899, 0.08908, 0.08915, 0.08919, 0.08917, 0.08915, 0.08911",\
                 "0.08696, 0.08706, 0.08723, 0.08732, 0.08749, 0.08756, 0.08758, 0.08758, 0.08756, 0.08756",\
                 "0.09695, 0.0964, 0.09492, 0.09325, 0.0918, 0.09067, 0.08977, 0.08909, 0.08857, 0.0882",\
                 "0.1294, 0.1275, 0.1224, 0.116, 0.1102, 0.1053, 0.1015, 0.09848, 0.09614, 0.09433",\
                 "0.1895, 0.1859, 0.176, 0.1629, 0.1498, 0.1384, 0.1289, 0.1213, 0.1152, 0.1102",\
                 "0.2796, 0.2744, 0.2593, 0.238, 0.2159, 0.1953, 0.1776, 0.1629, 0.1508, 0.1409",\
                 "0.4019, 0.3951, 0.3747, 0.3449, 0.3123, 0.2808, 0.2526, 0.2284, 0.2078, 0.1906",\
                 "0.5577, 0.5492, 0.524, 0.4857, 0.4417, 0.3981, 0.3578, 0.3219, 0.2909, 0.264",\
                 "0.7479, 0.7383, 0.7083, 0.6618, 0.607, 0.5504, 0.4967, 0.4478, 0.404, 0.3658");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5213, 0.5213, 0.5217, 0.5223, 0.5231, 0.5244, 0.5266, 0.5279, 0.5335, 0.5686",\
                 "0.5175, 0.5177, 0.5186, 0.5196, 0.5211, 0.5226, 0.5243, 0.5262, 0.5319, 0.5673",\
                 "0.5126, 0.513, 0.5143, 0.5161, 0.5183, 0.5204, 0.5223, 0.5246, 0.5306, 0.5688",\
                 "0.5165, 0.5163, 0.5163, 0.517, 0.5183, 0.52, 0.522, 0.5242, 0.5307, 0.5719",\
                 "0.5465, 0.5447, 0.5413, 0.5366, 0.5331, 0.5309, 0.5299, 0.5304, 0.5365, 0.5821",\
                 "0.6134, 0.6102, 0.6009, 0.5883, 0.5762, 0.5659, 0.5579, 0.5541, 0.5556, 0.6058",\
                 "0.7201, 0.715, 0.6996, 0.6778, 0.6554, 0.6337, 0.6153, 0.6008, 0.5983, 0.6562",\
                 "0.864, 0.8578, 0.8375, 0.8071, 0.7723, 0.7389, 0.7086, 0.6815, 0.6725, 0.7428",\
                 "1.045, 1.037, 1.014, 0.9759, 0.9297, 0.8832, 0.8396, 0.8004, 0.7865, 0.8832",\
                 "1.264, 1.256, 1.229, 1.185, 1.129, 1.069, 1.012, 0.9608, 0.9511, 1.101");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.09033, 0.09032, 0.09028, 0.09027, 0.09031, 0.09036, 0.09034, 0.0903, 0.0903, 0.09027",\
                 "0.09012, 0.09017, 0.09023, 0.09027, 0.09032, 0.09041, 0.0904, 0.09041, 0.09035, 0.0903",\
                 "0.08962, 0.08965, 0.08985, 0.09002, 0.09017, 0.09024, 0.09026, 0.09026, 0.09024, 0.09019",\
                 "0.0989, 0.09846, 0.09722, 0.09581, 0.09461, 0.09361, 0.09286, 0.09226, 0.0918, 0.09147",\
                 "0.1271, 0.1256, 0.1213, 0.116, 0.1111, 0.1069, 0.1036, 0.1009, 0.09875, 0.09714",\
                 "0.1793, 0.1764, 0.1681, 0.1572, 0.146, 0.1362, 0.1281, 0.1215, 0.116, 0.1117",\
                 "0.2581, 0.2538, 0.2411, 0.2231, 0.2041, 0.1865, 0.1713, 0.1584, 0.1478, 0.139",\
                 "0.3658, 0.36, 0.3425, 0.3169, 0.289, 0.262, 0.2377, 0.2167, 0.1988, 0.1835",\
                 "0.5035, 0.4963, 0.4741, 0.4409, 0.4033, 0.3655, 0.3308, 0.2997, 0.2726, 0.2492",\
                 "0.6724, 0.6639, 0.6375, 0.5967, 0.549, 0.5001, 0.4535, 0.411, 0.3731, 0.3396");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5212, 0.5213, 0.5216, 0.5222, 0.5232, 0.5245, 0.526, 0.5284, 0.5454, 0.6443",\
                 "0.5173, 0.5176, 0.5185, 0.5197, 0.5208, 0.5222, 0.524, 0.5268, 0.5438, 0.6438",\
                 "0.5125, 0.5128, 0.5141, 0.516, 0.5181, 0.5202, 0.5223, 0.5257, 0.5433, 0.6478",\
                 "0.5147, 0.5146, 0.515, 0.5158, 0.5173, 0.5194, 0.5213, 0.5247, 0.5443, 0.6559",\
                 "0.54, 0.539, 0.5357, 0.5319, 0.5291, 0.5275, 0.5273, 0.5295, 0.5508, 0.6727",\
                 "0.5992, 0.5964, 0.5885, 0.5775, 0.5663, 0.5575, 0.5514, 0.549, 0.5708, 0.7075",\
                 "0.6945, 0.6899, 0.6765, 0.6575, 0.637, 0.618, 0.6014, 0.5917, 0.6133, 0.7718",\
                 "0.8236, 0.8177, 0.7997, 0.7723, 0.7423, 0.7119, 0.6837, 0.664, 0.6891, 0.8805",\
                 "0.9864, 0.9793, 0.9576, 0.9235, 0.8827, 0.8416, 0.8021, 0.7727, 0.8075, 1.055",\
                 "1.184, 1.176, 1.151, 1.111, 1.061, 1.008, 0.9567, 0.9232, 0.9854, 1.321");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.0903, 0.09028, 0.09026, 0.09027, 0.09031, 0.09036, 0.09035, 0.09029, 0.09027, 0.09024",\
                 "0.09002, 0.09015, 0.0902, 0.09023, 0.0903, 0.09036, 0.09039, 0.09036, 0.09031, 0.0903",\
                 "0.08961, 0.08964, 0.08982, 0.09006, 0.09014, 0.09021, 0.0903, 0.09027, 0.09023, 0.09021",\
                 "0.09883, 0.09842, 0.09719, 0.09579, 0.09459, 0.09359, 0.09281, 0.09224, 0.0918, 0.09146",\
                 "0.127, 0.1254, 0.1213, 0.116, 0.1111, 0.1069, 0.1035, 0.1008, 0.09879, 0.09716",\
                 "0.1789, 0.1762, 0.1679, 0.1571, 0.146, 0.1361, 0.1281, 0.1214, 0.116, 0.1116",\
                 "0.2578, 0.2535, 0.2408, 0.2229, 0.204, 0.1865, 0.1712, 0.1584, 0.1477, 0.139",\
                 "0.3652, 0.3594, 0.3421, 0.3166, 0.2888, 0.2619, 0.2376, 0.2165, 0.1987, 0.1834",\
                 "0.5027, 0.4956, 0.4735, 0.4405, 0.403, 0.3653, 0.3307, 0.2995, 0.2725, 0.2492",\
                 "0.6714, 0.663, 0.6367, 0.5959, 0.5486, 0.4998, 0.4533, 0.411, 0.373, 0.3395");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5883, 0.5884, 0.5888, 0.5892, 0.59, 0.5912, 0.5926, 0.5957, 0.6125, 0.7146",\
                 "0.5848, 0.5851, 0.5858, 0.5866, 0.5878, 0.5891, 0.5906, 0.5937, 0.6109, 0.7142",\
                 "0.5802, 0.5806, 0.5818, 0.5833, 0.5852, 0.5872, 0.5893, 0.5923, 0.6111, 0.7181",\
                 "0.5817, 0.5816, 0.5821, 0.5828, 0.5843, 0.5861, 0.5883, 0.5919, 0.6118, 0.726",\
                 "0.6046, 0.6035, 0.6009, 0.598, 0.5958, 0.5944, 0.5944, 0.5963, 0.6183, 0.7438",\
                 "0.6606, 0.6585, 0.6512, 0.6419, 0.6318, 0.6233, 0.6175, 0.6155, 0.6383, 0.7782",\
                 "0.7527, 0.7487, 0.7367, 0.7195, 0.7004, 0.6825, 0.6672, 0.6579, 0.6802, 0.8434",\
                 "0.8792, 0.8738, 0.8573, 0.8324, 0.8041, 0.7751, 0.7486, 0.7297, 0.7568, 0.9537",\
                 "1.04, 1.034, 1.013, 0.9816, 0.9429, 0.9038, 0.8653, 0.8374, 0.8743, 1.129",\
                 "1.236, 1.228, 1.205, 1.167, 1.119, 1.068, 1.019, 0.987, 1.053, 1.397");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1814, 0.1813, 0.1812, 0.181, 0.1811, 0.1812, 0.1814, 0.1812, 0.1813, 0.1812",\
                 "0.179, 0.1789, 0.1788, 0.1786, 0.1787, 0.1787, 0.179, 0.1789, 0.1789, 0.1788",\
                 "0.177, 0.1768, 0.1765, 0.1761, 0.176, 0.1759, 0.1759, 0.1757, 0.1757, 0.1757",\
                 "0.1863, 0.1856, 0.1839, 0.1819, 0.18, 0.1785, 0.1775, 0.1767, 0.176, 0.1757",\
                 "0.2171, 0.2154, 0.2107, 0.2046, 0.1984, 0.1934, 0.189, 0.1859, 0.1833, 0.1815",\
                 "0.2764, 0.2736, 0.2644, 0.252, 0.2389, 0.2269, 0.2172, 0.209, 0.2024, 0.1972",\
                 "0.3682, 0.3637, 0.3501, 0.3298, 0.3074, 0.2862, 0.2677, 0.2518, 0.2389, 0.2284",\
                 "0.4953, 0.4898, 0.4711, 0.4425, 0.4093, 0.3767, 0.3468, 0.3207, 0.2988, 0.2804",\
                 "0.6598, 0.6525, 0.6291, 0.5922, 0.5478, 0.5023, 0.4592, 0.4206, 0.387, 0.3579",\
                 "0.862, 0.8538, 0.8263, 0.7813, 0.7258, 0.6667, 0.609, 0.5556, 0.5084, 0.4664");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5489, 0.5497, 0.551, 0.5524, 0.5535, 0.555, 0.5565, 0.558, 0.5596, 0.5678",\
                 "0.5423, 0.5439, 0.5472, 0.5505, 0.5531, 0.555, 0.5571, 0.5587, 0.5616, 0.5692",\
                 "0.5327, 0.5338, 0.5374, 0.5423, 0.5469, 0.5508, 0.5541, 0.5564, 0.5593, 0.5689",\
                 "0.5313, 0.5317, 0.5334, 0.5366, 0.5408, 0.5451, 0.5495, 0.5531, 0.557, 0.569",\
                 "0.5516, 0.5504, 0.5482, 0.5466, 0.5466, 0.5479, 0.5505, 0.5538, 0.5567, 0.5687",\
                 "0.6112, 0.6078, 0.5988, 0.5886, 0.5804, 0.5745, 0.571, 0.5693, 0.5703, 0.5812",\
                 "0.7166, 0.7104, 0.6937, 0.6718, 0.6522, 0.6357, 0.6215, 0.6108, 0.6047, 0.6159",\
                 "0.8661, 0.8582, 0.8347, 0.8013, 0.7671, 0.7369, 0.7109, 0.6883, 0.6719, 0.6812",\
                 "1.058, 1.049, 1.02, 0.9768, 0.9271, 0.8813, 0.8412, 0.8051, 0.778, 0.7873",\
                 "1.292, 1.282, 1.249, 1.197, 1.135, 1.073, 1.014, 0.9652, 0.9283, 0.9541");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1703, 0.1705, 0.1703, 0.1701, 0.1701, 0.1703, 0.1704, 0.1704, 0.1703, 0.1704",\
                 "0.1674, 0.1673, 0.1672, 0.1671, 0.1671, 0.1671, 0.1673, 0.1672, 0.1673, 0.1672",\
                 "0.1646, 0.1645, 0.1641, 0.1639, 0.1637, 0.1636, 0.1636, 0.1635, 0.1635, 0.1634",\
                 "0.1731, 0.1724, 0.1708, 0.1688, 0.167, 0.1655, 0.1646, 0.1637, 0.1633, 0.1629",\
                 "0.2031, 0.2014, 0.1964, 0.1903, 0.1842, 0.1792, 0.1752, 0.1721, 0.1697, 0.168",\
                 "0.2611, 0.2576, 0.2486, 0.2357, 0.2225, 0.2109, 0.2013, 0.1936, 0.1873, 0.1824",\
                 "0.3509, 0.346, 0.3318, 0.3108, 0.2882, 0.267, 0.2488, 0.2338, 0.2215, 0.2112",\
                 "0.4757, 0.4693, 0.4497, 0.4199, 0.386, 0.3531, 0.3237, 0.2985, 0.2773, 0.2596",\
                 "0.6373, 0.6296, 0.6042, 0.5656, 0.5197, 0.4737, 0.4306, 0.3925, 0.3595, 0.3321",\
                 "0.8366, 0.8274, 0.7977, 0.75, 0.6921, 0.632, 0.5739, 0.5212, 0.4742, 0.4334");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5163, 0.517, 0.5183, 0.52, 0.5211, 0.5225, 0.5237, 0.5259, 0.531, 0.5676",\
                 "0.5096, 0.511, 0.5144, 0.5177, 0.5202, 0.5222, 0.5241, 0.5269, 0.5316, 0.5693",\
                 "0.4997, 0.5011, 0.5046, 0.5099, 0.5142, 0.5179, 0.5208, 0.5246, 0.53, 0.57",\
                 "0.498, 0.4983, 0.5001, 0.5035, 0.5078, 0.5125, 0.5165, 0.5209, 0.5282, 0.5707",\
                 "0.5168, 0.5159, 0.5138, 0.5125, 0.5126, 0.5149, 0.5175, 0.5209, 0.529, 0.578",\
                 "0.5751, 0.5717, 0.5634, 0.5537, 0.5456, 0.5399, 0.5363, 0.5356, 0.5418, 0.595",\
                 "0.6796, 0.6735, 0.6568, 0.6357, 0.6166, 0.5998, 0.586, 0.5771, 0.5777, 0.6384",\
                 "0.8276, 0.8196, 0.7961, 0.7632, 0.7298, 0.6997, 0.6738, 0.6525, 0.6479, 0.7213",\
                 "1.018, 1.008, 0.9791, 0.9359, 0.8872, 0.8425, 0.8025, 0.7684, 0.7589, 0.8532",\
                 "1.25, 1.239, 1.204, 1.153, 1.091, 1.03, 0.9748, 0.9278, 0.9201, 1.06");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1704, 0.1703, 0.1703, 0.1702, 0.1703, 0.1704, 0.1704, 0.1703, 0.1702, 0.1702",\
                 "0.1673, 0.1673, 0.1673, 0.1672, 0.1672, 0.1673, 0.1673, 0.1672, 0.1672, 0.1671",\
                 "0.1645, 0.1645, 0.1642, 0.164, 0.1638, 0.1637, 0.1636, 0.1635, 0.1634, 0.1633",\
                 "0.1731, 0.1724, 0.1708, 0.1688, 0.167, 0.1656, 0.1646, 0.1638, 0.1631, 0.1627",\
                 "0.2029, 0.2012, 0.1964, 0.1903, 0.1842, 0.1793, 0.1752, 0.172, 0.1697, 0.1679",\
                 "0.2606, 0.2574, 0.2484, 0.2356, 0.2224, 0.2107, 0.2012, 0.1935, 0.1872, 0.1824",\
                 "0.3503, 0.3456, 0.3314, 0.3107, 0.2881, 0.2669, 0.2487, 0.2338, 0.2214, 0.2113",\
                 "0.4751, 0.4687, 0.4492, 0.4194, 0.3858, 0.3529, 0.3236, 0.2983, 0.2772, 0.2595",\
                 "0.6364, 0.6285, 0.6037, 0.5651, 0.5193, 0.4735, 0.4306, 0.3925, 0.3595, 0.3321",\
                 "0.8354, 0.8263, 0.7965, 0.7493, 0.6916, 0.6314, 0.5737, 0.521, 0.474, 0.4333");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5846, 0.5849, 0.586, 0.5874, 0.5886, 0.5899, 0.592, 0.5936, 0.599, 0.6383",\
                 "0.5795, 0.5806, 0.5829, 0.5857, 0.5881, 0.59, 0.5926, 0.5942, 0.6004, 0.6407",\
                 "0.5697, 0.5709, 0.5739, 0.5782, 0.5822, 0.5858, 0.5897, 0.5923, 0.5991, 0.6417",\
                 "0.5662, 0.5667, 0.5685, 0.5719, 0.5761, 0.5806, 0.585, 0.5889, 0.5969, 0.6428",\
                 "0.5825, 0.5819, 0.5805, 0.5799, 0.5804, 0.5823, 0.5854, 0.5885, 0.5981, 0.6485",\
                 "0.6363, 0.6337, 0.6269, 0.6188, 0.6117, 0.6069, 0.6042, 0.6033, 0.6099, 0.6668",\
                 "0.7358, 0.7309, 0.7167, 0.6983, 0.6805, 0.6656, 0.653, 0.6441, 0.6461, 0.7114",\
                 "0.8803, 0.8734, 0.8524, 0.8227, 0.7919, 0.7635, 0.7388, 0.7181, 0.716, 0.7926",\
                 "1.068, 1.059, 1.032, 0.9928, 0.9477, 0.9049, 0.8664, 0.8337, 0.8261, 0.9258",\
                 "1.297, 1.287, 1.256, 1.207, 1.149, 1.091, 1.037, 0.9911, 0.9864, 1.132");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1697, 0.1696, 0.1695, 0.1694, 0.1693, 0.1693, 0.1694, 0.1695, 0.1695, 0.1695",\
                 "0.1673, 0.1672, 0.167, 0.1669, 0.1668, 0.1669, 0.1669, 0.1669, 0.167, 0.167",\
                 "0.1648, 0.1646, 0.1643, 0.1638, 0.1635, 0.1634, 0.1633, 0.1632, 0.1632, 0.1631",\
                 "0.1732, 0.1723, 0.1704, 0.1681, 0.1661, 0.1647, 0.1636, 0.1631, 0.1625, 0.162",\
                 "0.2034, 0.2014, 0.1958, 0.1889, 0.1825, 0.1775, 0.1735, 0.1703, 0.1682, 0.1666",\
                 "0.2624, 0.2589, 0.2483, 0.2342, 0.2202, 0.2084, 0.1988, 0.1912, 0.1849, 0.1802",\
                 "0.3537, 0.3485, 0.3323, 0.3098, 0.2859, 0.2641, 0.2457, 0.2307, 0.2185, 0.2084",\
                 "0.4806, 0.4735, 0.4515, 0.4197, 0.3841, 0.3501, 0.3203, 0.2949, 0.2737, 0.2562",\
                 "0.6438, 0.6351, 0.6079, 0.5664, 0.5185, 0.4712, 0.4275, 0.389, 0.3558, 0.3283",\
                 "0.8448, 0.8347, 0.8029, 0.7523, 0.6918, 0.6297, 0.5707, 0.5174, 0.4703, 0.4292");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.515, 0.5158, 0.517, 0.5184, 0.5197, 0.5208, 0.5224, 0.524, 0.5286, 0.5627",\
                 "0.5083, 0.5098, 0.5132, 0.5165, 0.519, 0.5209, 0.5228, 0.5246, 0.5299, 0.566",\
                 "0.4986, 0.4999, 0.5036, 0.5084, 0.513, 0.517, 0.5195, 0.5227, 0.5283, 0.5652",\
                 "0.4967, 0.4972, 0.4988, 0.5023, 0.5066, 0.5111, 0.5152, 0.5193, 0.5261, 0.5665",\
                 "0.5141, 0.5131, 0.5113, 0.5101, 0.5106, 0.5124, 0.5152, 0.518, 0.5256, 0.5713",\
                 "0.5671, 0.5641, 0.556, 0.5472, 0.5401, 0.5347, 0.532, 0.5311, 0.537, 0.5881",\
                 "0.6651, 0.6595, 0.6434, 0.6236, 0.6057, 0.5904, 0.5776, 0.5687, 0.5712, 0.63",\
                 "0.8086, 0.8006, 0.7776, 0.7459, 0.7139, 0.6861, 0.6619, 0.6404, 0.6357, 0.706",\
                 "0.996, 0.9865, 0.9573, 0.9146, 0.868, 0.8249, 0.7876, 0.7541, 0.7426, 0.8342",\
                 "1.227, 1.216, 1.182, 1.13, 1.069, 1.01, 0.9551, 0.9104, 0.9006, 1.036");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.159, 0.159, 0.1587, 0.1586, 0.1586, 0.1587, 0.1588, 0.1588, 0.1589, 0.1588",\
                 "0.1559, 0.1558, 0.1556, 0.1555, 0.1555, 0.1555, 0.1556, 0.1557, 0.1557, 0.1556",\
                 "0.1527, 0.1525, 0.1523, 0.1519, 0.1516, 0.1515, 0.1514, 0.1513, 0.1514, 0.1514",\
                 "0.1605, 0.1598, 0.1579, 0.1556, 0.1538, 0.1524, 0.1514, 0.1508, 0.1503, 0.1499",\
                 "0.1903, 0.188, 0.1824, 0.1756, 0.1695, 0.1645, 0.1605, 0.1576, 0.1556, 0.154",\
                 "0.248, 0.2442, 0.2335, 0.2192, 0.2055, 0.1939, 0.1845, 0.1772, 0.1713, 0.1668",\
                 "0.3378, 0.3321, 0.3154, 0.2923, 0.2685, 0.247, 0.2291, 0.2144, 0.2027, 0.1931",\
                 "0.4625, 0.4549, 0.4319, 0.3989, 0.3631, 0.3294, 0.2998, 0.2752, 0.2547, 0.2381",\
                 "0.6229, 0.6136, 0.5851, 0.5418, 0.4929, 0.4454, 0.4022, 0.3646, 0.3325, 0.3057",\
                 "0.8206, 0.81, 0.7761, 0.7231, 0.6611, 0.5984, 0.5396, 0.4869, 0.4409, 0.4015");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4824, 0.4831, 0.4845, 0.4859, 0.4873, 0.4884, 0.4899, 0.492, 0.5077, 0.6036",\
                 "0.4758, 0.4771, 0.4806, 0.4839, 0.4863, 0.4883, 0.4902, 0.4927, 0.5091, 0.6057",\
                 "0.466, 0.4672, 0.4708, 0.4759, 0.4806, 0.484, 0.4872, 0.4906, 0.5079, 0.6094",\
                 "0.4637, 0.4642, 0.4659, 0.4694, 0.4739, 0.4784, 0.4826, 0.4873, 0.5069, 0.6143",\
                 "0.4802, 0.4793, 0.4777, 0.4767, 0.477, 0.4794, 0.482, 0.4865, 0.5083, 0.6255",\
                 "0.533, 0.53, 0.5222, 0.5136, 0.5063, 0.5012, 0.4985, 0.4997, 0.5216, 0.6529",\
                 "0.6313, 0.6254, 0.6095, 0.5899, 0.5721, 0.5568, 0.5445, 0.5366, 0.5599, 0.7073",\
                 "0.7743, 0.7663, 0.743, 0.7115, 0.6802, 0.6519, 0.6273, 0.6094, 0.6313, 0.8085",\
                 "0.9602, 0.9506, 0.9213, 0.8784, 0.8323, 0.7898, 0.7518, 0.723, 0.7491, 0.9723",\
                 "1.188, 1.177, 1.142, 1.091, 1.031, 0.9725, 0.9194, 0.8829, 0.9275, 1.22");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.159, 0.159, 0.1589, 0.1589, 0.1588, 0.1588, 0.1588, 0.1588, 0.1588, 0.1587",\
                 "0.1559, 0.1559, 0.1558, 0.1557, 0.1556, 0.1557, 0.1556, 0.1556, 0.1556, 0.1555",\
                 "0.1526, 0.1525, 0.1522, 0.1519, 0.1518, 0.1517, 0.1515, 0.1514, 0.1513, 0.1512",\
                 "0.1604, 0.1596, 0.1578, 0.1556, 0.1538, 0.1525, 0.1516, 0.1508, 0.1503, 0.1499",\
                 "0.1899, 0.1879, 0.1824, 0.1756, 0.1694, 0.1645, 0.1607, 0.1578, 0.1556, 0.1541",\
                 "0.2476, 0.2438, 0.2332, 0.2191, 0.2054, 0.1938, 0.1845, 0.1772, 0.1714, 0.1668",\
                 "0.3372, 0.3316, 0.3151, 0.2922, 0.2683, 0.2469, 0.229, 0.2144, 0.2026, 0.1931",\
                 "0.4615, 0.454, 0.4314, 0.3986, 0.3629, 0.3292, 0.2998, 0.275, 0.2545, 0.2378",\
                 "0.6219, 0.6126, 0.5842, 0.5414, 0.4926, 0.4452, 0.4019, 0.3641, 0.3323, 0.3058",\
                 "0.8193, 0.8088, 0.775, 0.7225, 0.6607, 0.5979, 0.5392, 0.4867, 0.4406, 0.4014");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5508, 0.5512, 0.5524, 0.5536, 0.5548, 0.5562, 0.5579, 0.561, 0.5775, 0.6762",\
                 "0.5457, 0.5467, 0.5492, 0.5519, 0.5541, 0.5562, 0.5586, 0.5613, 0.5789, 0.6791",\
                 "0.5359, 0.5369, 0.54, 0.5442, 0.5486, 0.5522, 0.5556, 0.5596, 0.5777, 0.6824",\
                 "0.5321, 0.5326, 0.5345, 0.5378, 0.5421, 0.5466, 0.551, 0.5559, 0.5764, 0.6884",\
                 "0.546, 0.5456, 0.5446, 0.544, 0.5452, 0.5473, 0.5503, 0.5551, 0.5785, 0.7005",\
                 "0.5947, 0.5924, 0.5863, 0.5794, 0.573, 0.5686, 0.567, 0.5677, 0.5919, 0.7274",\
                 "0.688, 0.6831, 0.6698, 0.6529, 0.6371, 0.6226, 0.6112, 0.6052, 0.6295, 0.7833",\
                 "0.827, 0.82, 0.7996, 0.7714, 0.7424, 0.7163, 0.6929, 0.6767, 0.701, 0.8839",\
                 "1.01, 1.001, 0.9746, 0.9355, 0.8927, 0.8524, 0.8157, 0.7891, 0.819, 1.048",\
                 "1.235, 1.225, 1.194, 1.145, 1.089, 1.033, 0.9825, 0.9465, 0.9961, 1.299");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1698, 0.1697, 0.1696, 0.1695, 0.1694, 0.1695, 0.1695, 0.1695, 0.1695, 0.1694",\
                 "0.1673, 0.1673, 0.1672, 0.1671, 0.167, 0.167, 0.167, 0.167, 0.167, 0.1669",\
                 "0.1647, 0.1646, 0.1643, 0.164, 0.1637, 0.1636, 0.1634, 0.1633, 0.1632, 0.1631",\
                 "0.1731, 0.1724, 0.1703, 0.168, 0.1662, 0.1648, 0.1638, 0.1631, 0.1625, 0.1621",\
                 "0.2032, 0.2013, 0.1957, 0.1889, 0.1825, 0.1775, 0.1735, 0.1705, 0.1682, 0.1665",\
                 "0.262, 0.2584, 0.248, 0.234, 0.2202, 0.2083, 0.1987, 0.1911, 0.1851, 0.1802",\
                 "0.3533, 0.3479, 0.332, 0.3096, 0.2857, 0.264, 0.2456, 0.2306, 0.2184, 0.2085",\
                 "0.4797, 0.4727, 0.451, 0.4193, 0.3839, 0.3499, 0.3202, 0.2948, 0.2736, 0.2562",\
                 "0.6426, 0.6341, 0.6071, 0.5659, 0.5182, 0.471, 0.4272, 0.3887, 0.3557, 0.3283",\
                 "0.8434, 0.8334, 0.8018, 0.7516, 0.6916, 0.6293, 0.5704, 0.5171, 0.4699, 0.4294");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.583, 0.5835, 0.5846, 0.5858, 0.5869, 0.5886, 0.5903, 0.5923, 0.598, 0.6335",\
                 "0.578, 0.579, 0.5815, 0.5842, 0.5864, 0.5884, 0.591, 0.5933, 0.5986, 0.6352",\
                 "0.5683, 0.5693, 0.5724, 0.5766, 0.5809, 0.5847, 0.588, 0.5916, 0.5977, 0.6362",\
                 "0.5647, 0.5652, 0.5671, 0.5704, 0.5746, 0.5792, 0.5834, 0.5873, 0.5952, 0.6369",\
                 "0.5795, 0.5789, 0.5779, 0.5772, 0.5778, 0.5804, 0.5834, 0.5873, 0.595, 0.6422",\
                 "0.6284, 0.626, 0.6196, 0.6121, 0.6061, 0.6015, 0.5996, 0.5997, 0.6062, 0.6598",\
                 "0.7218, 0.7169, 0.7034, 0.6863, 0.6698, 0.656, 0.6444, 0.6363, 0.6386, 0.6999",\
                 "0.8612, 0.8545, 0.8341, 0.8054, 0.7763, 0.7496, 0.7266, 0.7074, 0.7045, 0.7778",\
                 "1.046, 1.037, 1.011, 0.9711, 0.928, 0.8868, 0.8499, 0.8187, 0.8108, 0.9061",\
                 "1.274, 1.264, 1.232, 1.184, 1.127, 1.07, 1.018, 0.9737, 0.9669, 1.109");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1591, 0.159, 0.1589, 0.1588, 0.1588, 0.1588, 0.1589, 0.1589, 0.1588, 0.1588",\
                 "0.1559, 0.1559, 0.1558, 0.1557, 0.1556, 0.1556, 0.1557, 0.1557, 0.1556, 0.1556",\
                 "0.1526, 0.1525, 0.1522, 0.152, 0.1518, 0.1516, 0.1515, 0.1514, 0.1513, 0.1512",\
                 "0.1605, 0.1596, 0.1579, 0.1556, 0.1538, 0.1525, 0.1515, 0.1508, 0.1503, 0.1499",\
                 "0.19, 0.1879, 0.1824, 0.1756, 0.1694, 0.1645, 0.1607, 0.1578, 0.1556, 0.154",\
                 "0.2476, 0.2438, 0.2332, 0.2191, 0.2054, 0.1938, 0.1845, 0.1771, 0.1713, 0.1668",\
                 "0.3372, 0.3317, 0.3151, 0.2922, 0.2683, 0.2468, 0.229, 0.2144, 0.2027, 0.1931",\
                 "0.4616, 0.4541, 0.4314, 0.3986, 0.3629, 0.3291, 0.2997, 0.275, 0.2547, 0.238",\
                 "0.6218, 0.6127, 0.5842, 0.5414, 0.4925, 0.4452, 0.4019, 0.3643, 0.3324, 0.3057",\
                 "0.8195, 0.8088, 0.775, 0.7225, 0.6607, 0.5979, 0.5394, 0.4867, 0.4409, 0.4016");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5504, 0.5509, 0.552, 0.5533, 0.5544, 0.5558, 0.5576, 0.5606, 0.5772, 0.6762",\
                 "0.5452, 0.5463, 0.5489, 0.5516, 0.5538, 0.5562, 0.5579, 0.561, 0.5782, 0.6784",\
                 "0.5356, 0.5366, 0.5397, 0.5439, 0.5483, 0.5518, 0.5553, 0.5589, 0.5774, 0.6821",\
                 "0.5317, 0.5322, 0.5341, 0.5374, 0.5417, 0.5462, 0.5507, 0.5556, 0.5764, 0.6867",\
                 "0.5457, 0.5453, 0.5442, 0.5438, 0.5449, 0.547, 0.5502, 0.555, 0.5782, 0.6998",\
                 "0.5944, 0.5921, 0.586, 0.5787, 0.5727, 0.5683, 0.5663, 0.5667, 0.5912, 0.727",\
                 "0.6876, 0.6831, 0.6697, 0.6527, 0.6364, 0.6224, 0.6109, 0.6049, 0.6295, 0.7834",\
                 "0.8267, 0.8196, 0.7995, 0.771, 0.7424, 0.7158, 0.6926, 0.6763, 0.7007, 0.8839",\
                 "1.01, 1.001, 0.9743, 0.9354, 0.8926, 0.8523, 0.8154, 0.7888, 0.819, 1.048",\
                 "1.235, 1.225, 1.194, 1.145, 1.089, 1.033, 0.9818, 0.9462, 0.9962, 1.299");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.159, 0.159, 0.1589, 0.1588, 0.1587, 0.1588, 0.1588, 0.1588, 0.1588, 0.1587",\
                 "0.1559, 0.1559, 0.1558, 0.1557, 0.1556, 0.1556, 0.1556, 0.1556, 0.1556, 0.1555",\
                 "0.1526, 0.1525, 0.1522, 0.1519, 0.1518, 0.1517, 0.1515, 0.1514, 0.1513, 0.1512",\
                 "0.1604, 0.1597, 0.1578, 0.1556, 0.1538, 0.1525, 0.1515, 0.1508, 0.1503, 0.1499",\
                 "0.1897, 0.1879, 0.1823, 0.1755, 0.1694, 0.1644, 0.1606, 0.1577, 0.1556, 0.154",\
                 "0.2472, 0.2436, 0.233, 0.219, 0.2053, 0.1938, 0.1844, 0.1771, 0.1713, 0.1668",\
                 "0.3366, 0.3311, 0.3147, 0.292, 0.2682, 0.2467, 0.2289, 0.2144, 0.2026, 0.1931",\
                 "0.4608, 0.4533, 0.4309, 0.3982, 0.3627, 0.329, 0.2997, 0.2749, 0.2545, 0.2378",\
                 "0.6207, 0.6117, 0.5835, 0.5409, 0.4922, 0.4449, 0.4018, 0.364, 0.3323, 0.3056",\
                 "0.8181, 0.8076, 0.7739, 0.722, 0.6604, 0.5976, 0.539, 0.4865, 0.4407, 0.4014");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6183, 0.6187, 0.6196, 0.6207, 0.6219, 0.6234, 0.6251, 0.6279, 0.645, 0.7454",\
                 "0.6145, 0.6151, 0.617, 0.6194, 0.6214, 0.6234, 0.6254, 0.6282, 0.646, 0.7494",\
                 "0.6051, 0.6057, 0.6085, 0.6123, 0.616, 0.6194, 0.6228, 0.6265, 0.6452, 0.752",\
                 "0.6, 0.6006, 0.6026, 0.6058, 0.6097, 0.6143, 0.6182, 0.6234, 0.6445, 0.7585",\
                 "0.612, 0.612, 0.6112, 0.6111, 0.6126, 0.6149, 0.6178, 0.6223, 0.646, 0.7708",\
                 "0.6572, 0.6557, 0.6506, 0.6444, 0.6389, 0.635, 0.6333, 0.6349, 0.6594, 0.7984",\
                 "0.7459, 0.742, 0.731, 0.7161, 0.7013, 0.688, 0.6774, 0.6717, 0.6974, 0.8556",\
                 "0.8809, 0.8749, 0.857, 0.8318, 0.8049, 0.7797, 0.7575, 0.7422, 0.7687, 0.9565",\
                 "1.061, 1.053, 1.029, 0.9927, 0.953, 0.9147, 0.8789, 0.8533, 0.8864, 1.122",\
                 "1.284, 1.275, 1.245, 1.2, 1.147, 1.093, 1.044, 1.01, 1.064, 1.374");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1812, 0.1811, 0.181, 0.1809, 0.1809, 0.1811, 0.1813, 0.1812, 0.1812, 0.1812",\
                 "0.179, 0.179, 0.1789, 0.1786, 0.1786, 0.1788, 0.1789, 0.1789, 0.1789, 0.1789",\
                 "0.176, 0.176, 0.1759, 0.1757, 0.1757, 0.1757, 0.1758, 0.1758, 0.1757, 0.1757",\
                 "0.1831, 0.1827, 0.1815, 0.18, 0.1787, 0.1775, 0.1767, 0.1762, 0.1757, 0.1754",\
                 "0.2124, 0.211, 0.2069, 0.2016, 0.1962, 0.1917, 0.1879, 0.185, 0.1828, 0.181",\
                 "0.2716, 0.2689, 0.2607, 0.249, 0.2366, 0.2256, 0.2163, 0.2087, 0.2025, 0.1973",\
                 "0.3647, 0.3602, 0.3471, 0.3281, 0.3065, 0.2863, 0.2683, 0.2532, 0.2406, 0.2302",\
                 "0.4944, 0.4887, 0.4709, 0.4428, 0.4109, 0.3793, 0.3501, 0.3245, 0.303, 0.2845",\
                 "0.6631, 0.6559, 0.6328, 0.5964, 0.5531, 0.5086, 0.4663, 0.428, 0.3948, 0.3657",\
                 "0.8716, 0.863, 0.8355, 0.7909, 0.7361, 0.6778, 0.6209, 0.5684, 0.521, 0.479");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.608, 0.6083, 0.6084, 0.609, 0.61, 0.6111, 0.6129, 0.6148, 0.6174, 0.6268",\
                 "0.6038, 0.6043, 0.6051, 0.6063, 0.6078, 0.6091, 0.6109, 0.6132, 0.616, 0.6258",\
                 "0.5982, 0.5988, 0.6001, 0.6024, 0.6048, 0.6069, 0.6092, 0.6118, 0.6144, 0.6249",\
                 "0.5971, 0.5974, 0.5981, 0.5999, 0.6024, 0.6047, 0.6069, 0.6099, 0.6138, 0.6245",\
                 "0.6165, 0.6155, 0.6131, 0.6111, 0.6096, 0.6098, 0.6102, 0.6125, 0.6154, 0.6277",\
                 "0.6778, 0.6744, 0.6657, 0.6552, 0.6459, 0.6382, 0.633, 0.6306, 0.6294, 0.6417",\
                 "0.7892, 0.7839, 0.7672, 0.7448, 0.7232, 0.7041, 0.6881, 0.6759, 0.6684, 0.68",\
                 "0.9478, 0.9406, 0.9182, 0.8844, 0.8475, 0.814, 0.7843, 0.7586, 0.7406, 0.7486",\
                 "1.15, 1.142, 1.115, 1.073, 1.022, 0.971, 0.9256, 0.8852, 0.8546, 0.8636",\
                 "1.395, 1.386, 1.356, 1.308, 1.245, 1.179, 1.114, 1.059, 1.016, 1.039");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1704, 0.1703, 0.1702, 0.17, 0.17, 0.1704, 0.1703, 0.1703, 0.1703, 0.1702",\
                 "0.1675, 0.1674, 0.1672, 0.1671, 0.1671, 0.1672, 0.1673, 0.1673, 0.1673, 0.1673",\
                 "0.1638, 0.1638, 0.1636, 0.1633, 0.1633, 0.1634, 0.1634, 0.1634, 0.1633, 0.1632",\
                 "0.1703, 0.1699, 0.1686, 0.1671, 0.1658, 0.1646, 0.164, 0.1634, 0.163, 0.1626",\
                 "0.1986, 0.1973, 0.193, 0.1876, 0.1823, 0.1779, 0.1743, 0.1714, 0.1692, 0.1676",\
                 "0.2559, 0.2532, 0.2449, 0.233, 0.2206, 0.2097, 0.2007, 0.1934, 0.1874, 0.1826",\
                 "0.3471, 0.3428, 0.3289, 0.3093, 0.2875, 0.2674, 0.2498, 0.235, 0.223, 0.213",\
                 "0.4746, 0.4686, 0.4494, 0.4203, 0.3878, 0.356, 0.3272, 0.3023, 0.2813, 0.2636",\
                 "0.6401, 0.6322, 0.6078, 0.5695, 0.5249, 0.4802, 0.438, 0.4004, 0.3678, 0.3399",\
                 "0.845, 0.8359, 0.8062, 0.7589, 0.7019, 0.6429, 0.5861, 0.5338, 0.487, 0.4466");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5752, 0.5754, 0.5757, 0.5766, 0.5773, 0.5783, 0.5803, 0.5816, 0.5874, 0.6262",\
                 "0.571, 0.5715, 0.5723, 0.5739, 0.575, 0.5763, 0.5784, 0.58, 0.5871, 0.6255",\
                 "0.5655, 0.5659, 0.5674, 0.5697, 0.572, 0.574, 0.5764, 0.5786, 0.5859, 0.6263",\
                 "0.564, 0.5642, 0.5651, 0.567, 0.5694, 0.572, 0.5747, 0.5773, 0.5853, 0.6294",\
                 "0.5815, 0.5807, 0.5786, 0.5768, 0.576, 0.576, 0.5774, 0.5792, 0.5875, 0.6368",\
                 "0.6415, 0.6385, 0.63, 0.6199, 0.6109, 0.6037, 0.5991, 0.5963, 0.6019, 0.6565",\
                 "0.7518, 0.7465, 0.7301, 0.7081, 0.687, 0.6683, 0.6523, 0.6408, 0.6421, 0.7033",\
                 "0.9087, 0.9015, 0.8792, 0.8457, 0.8093, 0.776, 0.7467, 0.7223, 0.7163, 0.7899",\
                 "1.109, 1.1, 1.073, 1.031, 0.981, 0.9315, 0.8858, 0.8468, 0.8346, 0.9309",\
                 "1.351, 1.341, 1.312, 1.262, 1.2, 1.135, 1.073, 1.02, 1.008, 1.148");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1703, 0.1703, 0.1702, 0.1702, 0.1703, 0.1703, 0.1704, 0.1703, 0.1702, 0.1702",\
                 "0.1674, 0.1674, 0.1673, 0.1673, 0.1672, 0.1673, 0.1673, 0.1672, 0.1672, 0.1672",\
                 "0.1638, 0.1637, 0.1636, 0.1635, 0.1635, 0.1635, 0.1634, 0.1633, 0.1632, 0.1631",\
                 "0.1703, 0.1699, 0.1687, 0.1672, 0.1658, 0.1648, 0.164, 0.1634, 0.1629, 0.1625",\
                 "0.1985, 0.1971, 0.193, 0.1875, 0.1823, 0.1778, 0.1743, 0.1715, 0.1693, 0.1676",\
                 "0.2559, 0.253, 0.2446, 0.2329, 0.2207, 0.2098, 0.2007, 0.1934, 0.1873, 0.1827",\
                 "0.3467, 0.3422, 0.3285, 0.3091, 0.2876, 0.2674, 0.2497, 0.2349, 0.2229, 0.213",\
                 "0.474, 0.4678, 0.4488, 0.42, 0.3876, 0.3559, 0.3271, 0.3023, 0.2811, 0.2636",\
                 "0.6392, 0.6314, 0.607, 0.569, 0.5246, 0.4797, 0.4379, 0.4002, 0.3677, 0.3399",\
                 "0.8439, 0.8348, 0.8052, 0.7582, 0.7014, 0.6425, 0.5859, 0.5337, 0.4868, 0.4464");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6427, 0.6428, 0.6432, 0.6439, 0.6446, 0.6458, 0.6476, 0.6492, 0.6558, 0.6953",\
                 "0.639, 0.6392, 0.64, 0.6413, 0.6423, 0.6441, 0.6453, 0.6475, 0.6538, 0.6935",\
                 "0.6338, 0.6341, 0.6354, 0.6374, 0.6398, 0.6419, 0.644, 0.6462, 0.6532, 0.6944",\
                 "0.6316, 0.6319, 0.633, 0.6346, 0.6369, 0.6397, 0.642, 0.6446, 0.6527, 0.6971",\
                 "0.6472, 0.6467, 0.6452, 0.6437, 0.6433, 0.6438, 0.6453, 0.6465, 0.6548, 0.7056",\
                 "0.7029, 0.7003, 0.6938, 0.6852, 0.6768, 0.67, 0.6661, 0.6632, 0.6693, 0.7262",\
                 "0.8085, 0.8039, 0.7896, 0.77, 0.7509, 0.733, 0.7183, 0.707, 0.7091, 0.7731",\
                 "0.9621, 0.9558, 0.9351, 0.9046, 0.8712, 0.8394, 0.8115, 0.7879, 0.7824, 0.8588",\
                 "1.159, 1.152, 1.127, 1.087, 1.04, 0.9928, 0.949, 0.9117, 0.8995, 1",\
                 "1.4, 1.391, 1.363, 1.317, 1.258, 1.194, 1.135, 1.083, 1.073, 1.22");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1696, 0.1695, 0.1693, 0.1693, 0.1693, 0.1692, 0.1693, 0.1694, 0.1695, 0.1694",\
                 "0.1672, 0.1672, 0.167, 0.1668, 0.1669, 0.1668, 0.1668, 0.1669, 0.167, 0.167",\
                 "0.164, 0.1639, 0.1637, 0.1635, 0.1634, 0.1632, 0.1632, 0.1631, 0.1632, 0.1631",\
                 "0.1701, 0.1695, 0.1681, 0.1664, 0.165, 0.1639, 0.1631, 0.1626, 0.1622, 0.162",\
                 "0.1986, 0.1969, 0.192, 0.186, 0.1805, 0.176, 0.1726, 0.1697, 0.1677, 0.1662",\
                 "0.2571, 0.2537, 0.2442, 0.2312, 0.2184, 0.2073, 0.1982, 0.1909, 0.1851, 0.1805",\
                 "0.3498, 0.3445, 0.3293, 0.3078, 0.2851, 0.2642, 0.2464, 0.2318, 0.2198, 0.2101",\
                 "0.479, 0.472, 0.451, 0.4198, 0.3855, 0.3528, 0.3234, 0.2985, 0.2775, 0.2601",\
                 "0.6466, 0.6378, 0.611, 0.5703, 0.5234, 0.477, 0.4342, 0.3962, 0.3634, 0.3356",\
                 "0.8535, 0.8433, 0.8112, 0.7612, 0.7015, 0.6403, 0.5822, 0.5293, 0.4827, 0.442");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5742, 0.5742, 0.5746, 0.5752, 0.576, 0.5774, 0.5787, 0.581, 0.5867, 0.6225",\
                 "0.5699, 0.5702, 0.5714, 0.5725, 0.5738, 0.5755, 0.5771, 0.579, 0.585, 0.6208",\
                 "0.5643, 0.5648, 0.5664, 0.5686, 0.5709, 0.5731, 0.5754, 0.5777, 0.5838, 0.6222",\
                 "0.5629, 0.5631, 0.5641, 0.5658, 0.5681, 0.5709, 0.5734, 0.5764, 0.5832, 0.6238",\
                 "0.5788, 0.5778, 0.5761, 0.5745, 0.5736, 0.5747, 0.5757, 0.5776, 0.5847, 0.6307",\
                 "0.6329, 0.63, 0.6222, 0.6131, 0.6047, 0.5985, 0.5949, 0.5931, 0.5982, 0.6503",\
                 "0.7357, 0.7306, 0.7152, 0.695, 0.6756, 0.6582, 0.644, 0.6332, 0.6346, 0.6934",\
                 "0.887, 0.8802, 0.8586, 0.8265, 0.7924, 0.7612, 0.7345, 0.7109, 0.7041, 0.775",\
                 "1.084, 1.076, 1.05, 1.008, 0.9598, 0.9118, 0.8693, 0.8318, 0.8187, 0.9107",\
                 "1.325, 1.316, 1.286, 1.238, 1.177, 1.113, 1.052, 1.001, 0.988, 1.126");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1589, 0.1588, 0.1587, 0.1586, 0.1586, 0.1586, 0.1587, 0.1587, 0.1588, 0.1587",\
                 "0.156, 0.1558, 0.1557, 0.1556, 0.1555, 0.1555, 0.1556, 0.1556, 0.1557, 0.1556",\
                 "0.152, 0.1519, 0.1518, 0.1515, 0.1513, 0.1512, 0.1512, 0.1512, 0.1513, 0.1512",\
                 "0.1578, 0.1572, 0.1558, 0.1542, 0.1528, 0.1517, 0.151, 0.1505, 0.1501, 0.1498",\
                 "0.1856, 0.1839, 0.179, 0.173, 0.1676, 0.1633, 0.1599, 0.1572, 0.1552, 0.1538",\
                 "0.2429, 0.2393, 0.2296, 0.2166, 0.2037, 0.1928, 0.184, 0.177, 0.1714, 0.167",\
                 "0.3337, 0.3283, 0.3124, 0.2905, 0.2679, 0.2473, 0.2299, 0.2156, 0.2042, 0.1948",\
                 "0.4605, 0.4532, 0.4312, 0.3993, 0.3648, 0.3321, 0.3033, 0.2788, 0.2586, 0.2418",\
                 "0.6251, 0.6159, 0.5877, 0.5456, 0.4981, 0.4516, 0.4091, 0.3718, 0.3401, 0.3133",\
                 "0.8285, 0.8176, 0.7836, 0.7315, 0.6706, 0.6091, 0.5512, 0.4994, 0.4535, 0.4139");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5415, 0.5416, 0.542, 0.5427, 0.5436, 0.5446, 0.5463, 0.549, 0.5652, 0.6646",\
                 "0.5372, 0.5376, 0.5387, 0.5398, 0.5412, 0.5426, 0.5446, 0.5473, 0.5646, 0.6633",\
                 "0.5315, 0.5321, 0.5337, 0.536, 0.5382, 0.5404, 0.5426, 0.5453, 0.5637, 0.6674",\
                 "0.5299, 0.5301, 0.5312, 0.533, 0.5354, 0.5379, 0.5407, 0.5446, 0.5637, 0.6739",\
                 "0.5449, 0.5442, 0.5426, 0.5411, 0.5405, 0.5413, 0.5428, 0.5458, 0.5675, 0.6877",\
                 "0.599, 0.5962, 0.5886, 0.5796, 0.5713, 0.5653, 0.5613, 0.5607, 0.5832, 0.7178",\
                 "0.7018, 0.6965, 0.6813, 0.6617, 0.6417, 0.6245, 0.6105, 0.6021, 0.6241, 0.7766",\
                 "0.8525, 0.8455, 0.8237, 0.7919, 0.7582, 0.7269, 0.6991, 0.6792, 0.7009, 0.8814",\
                 "1.048, 1.039, 1.013, 0.9714, 0.9233, 0.8762, 0.8334, 0.8016, 0.8268, 1.053",\
                 "1.285, 1.276, 1.246, 1.198, 1.137, 1.074, 1.016, 0.9727, 1.016, 1.315");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1589, 0.1589, 0.1589, 0.1588, 0.1587, 0.1588, 0.1588, 0.1588, 0.1588, 0.1587",\
                 "0.156, 0.156, 0.1559, 0.1558, 0.1557, 0.1557, 0.1557, 0.1557, 0.1557, 0.1556",\
                 "0.1519, 0.1518, 0.1518, 0.1516, 0.1515, 0.1514, 0.1513, 0.1513, 0.1512, 0.1511",\
                 "0.1577, 0.1572, 0.1558, 0.1541, 0.1528, 0.1518, 0.1511, 0.1505, 0.1501, 0.1498",\
                 "0.1854, 0.1837, 0.179, 0.173, 0.1676, 0.1632, 0.1599, 0.1572, 0.1553, 0.1537",\
                 "0.2424, 0.2391, 0.2293, 0.2165, 0.2037, 0.1928, 0.1839, 0.177, 0.1714, 0.167",\
                 "0.3331, 0.3278, 0.3121, 0.2903, 0.2678, 0.2472, 0.2298, 0.2156, 0.2041, 0.1948",\
                 "0.4597, 0.4525, 0.4306, 0.399, 0.3645, 0.332, 0.3032, 0.2788, 0.2586, 0.2418",\
                 "0.624, 0.6149, 0.5869, 0.5452, 0.4977, 0.4514, 0.4091, 0.3717, 0.3399, 0.3132",\
                 "0.827, 0.8165, 0.7828, 0.7306, 0.6701, 0.6087, 0.5511, 0.4991, 0.453, 0.4138");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.609, 0.609, 0.6096, 0.6099, 0.6108, 0.6121, 0.6138, 0.6166, 0.6333, 0.7345",\
                 "0.6052, 0.6055, 0.6063, 0.6075, 0.6086, 0.6101, 0.6118, 0.6146, 0.632, 0.734",\
                 "0.6, 0.6004, 0.6017, 0.6037, 0.6058, 0.6078, 0.6101, 0.6132, 0.6315, 0.7378",\
                 "0.5975, 0.5978, 0.5989, 0.6006, 0.603, 0.6055, 0.6081, 0.6118, 0.6318, 0.7441",\
                 "0.6108, 0.6103, 0.609, 0.6079, 0.6079, 0.6086, 0.6098, 0.6129, 0.6357, 0.7587",\
                 "0.6607, 0.6586, 0.6525, 0.6447, 0.6375, 0.6317, 0.6283, 0.6279, 0.6514, 0.7888",\
                 "0.759, 0.7546, 0.7416, 0.7238, 0.7056, 0.6898, 0.6763, 0.6683, 0.6917, 0.8486",\
                 "0.9062, 0.8999, 0.8803, 0.8511, 0.8198, 0.7905, 0.7636, 0.745, 0.7685, 0.9544",\
                 "1.099, 1.091, 1.066, 1.028, 0.9827, 0.938, 0.8968, 0.8656, 0.8949, 1.126",\
                 "1.335, 1.326, 1.298, 1.251, 1.194, 1.134, 1.078, 1.036, 1.084, 1.391");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1696, 0.1696, 0.1695, 0.1694, 0.1694, 0.1694, 0.1694, 0.1694, 0.1695, 0.1694",\
                 "0.1673, 0.1673, 0.1672, 0.167, 0.167, 0.167, 0.167, 0.167, 0.167, 0.1669",\
                 "0.1639, 0.1638, 0.1637, 0.1636, 0.1635, 0.1634, 0.1633, 0.1633, 0.1632, 0.1631",\
                 "0.1701, 0.1695, 0.1681, 0.1664, 0.165, 0.164, 0.1632, 0.1626, 0.1622, 0.1619",\
                 "0.1984, 0.1967, 0.192, 0.1861, 0.1805, 0.1761, 0.1726, 0.1699, 0.1678, 0.1662",\
                 "0.2568, 0.2535, 0.2439, 0.2311, 0.2183, 0.2072, 0.1982, 0.1909, 0.185, 0.1805",\
                 "0.3493, 0.3441, 0.329, 0.3077, 0.285, 0.2642, 0.2465, 0.2318, 0.2198, 0.2101",\
                 "0.4783, 0.4714, 0.4504, 0.4195, 0.3853, 0.3527, 0.3233, 0.2983, 0.2775, 0.2601",\
                 "0.6456, 0.637, 0.6102, 0.5697, 0.5231, 0.4768, 0.434, 0.3961, 0.3635, 0.3356",\
                 "0.8523, 0.8423, 0.8102, 0.7604, 0.701, 0.6399, 0.582, 0.5291, 0.4825, 0.442");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6413, 0.6414, 0.6416, 0.6423, 0.643, 0.6445, 0.646, 0.648, 0.6534, 0.6904",\
                 "0.6375, 0.6379, 0.6387, 0.6398, 0.6408, 0.6425, 0.644, 0.646, 0.6517, 0.6887",\
                 "0.6323, 0.6327, 0.6341, 0.6362, 0.6382, 0.6403, 0.6427, 0.6447, 0.6511, 0.6897",\
                 "0.6302, 0.6305, 0.6316, 0.6332, 0.6353, 0.6379, 0.6404, 0.6433, 0.6499, 0.6925",\
                 "0.6442, 0.6438, 0.6423, 0.641, 0.6406, 0.6414, 0.6424, 0.6443, 0.6521, 0.6992",\
                 "0.6943, 0.692, 0.6856, 0.678, 0.6706, 0.6648, 0.6609, 0.6594, 0.6649, 0.7186",\
                 "0.7928, 0.7885, 0.7753, 0.7572, 0.7395, 0.7226, 0.7094, 0.6995, 0.701, 0.7621",\
                 "0.9407, 0.9346, 0.9151, 0.8858, 0.8537, 0.8245, 0.798, 0.7765, 0.7703, 0.8441",\
                 "1.135, 1.128, 1.104, 1.065, 1.019, 0.9731, 0.9323, 0.8961, 0.8855, 0.9802",\
                 "1.374, 1.366, 1.338, 1.292, 1.234, 1.172, 1.114, 1.064, 1.053, 1.195");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.159, 0.1589, 0.1589, 0.1588, 0.1587, 0.1587, 0.1587, 0.1588, 0.1587, 0.1587",\
                 "0.156, 0.156, 0.1559, 0.1558, 0.1557, 0.1557, 0.1557, 0.1557, 0.1557, 0.1556",\
                 "0.1519, 0.1519, 0.1517, 0.1516, 0.1515, 0.1514, 0.1513, 0.1512, 0.1512, 0.1511",\
                 "0.1577, 0.1572, 0.1558, 0.1542, 0.1528, 0.1519, 0.1511, 0.1505, 0.1501, 0.1498",\
                 "0.1855, 0.1837, 0.1789, 0.173, 0.1676, 0.1632, 0.1599, 0.1572, 0.1553, 0.1537",\
                 "0.2425, 0.2391, 0.2294, 0.2165, 0.2037, 0.1928, 0.184, 0.177, 0.1714, 0.1671",\
                 "0.3331, 0.3278, 0.3121, 0.2903, 0.2677, 0.2472, 0.2299, 0.2156, 0.2041, 0.1947",\
                 "0.4597, 0.4525, 0.4306, 0.3989, 0.3646, 0.332, 0.3032, 0.2787, 0.2586, 0.2418",\
                 "0.6239, 0.6149, 0.5869, 0.5451, 0.4977, 0.4514, 0.4089, 0.3717, 0.3399, 0.3131",\
                 "0.8271, 0.8164, 0.7828, 0.7308, 0.6701, 0.6087, 0.5509, 0.499, 0.4532, 0.4138");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6087, 0.6087, 0.6089, 0.6097, 0.6105, 0.6117, 0.6134, 0.6162, 0.633, 0.7345",\
                 "0.6049, 0.6051, 0.606, 0.6071, 0.6083, 0.6097, 0.6115, 0.6143, 0.6317, 0.7337",\
                 "0.5996, 0.6, 0.6013, 0.6034, 0.6054, 0.6077, 0.6098, 0.6129, 0.6312, 0.7378",\
                 "0.5972, 0.5975, 0.5986, 0.6003, 0.6026, 0.6052, 0.6078, 0.6115, 0.6315, 0.7438",\
                 "0.6105, 0.61, 0.6088, 0.6076, 0.6071, 0.6082, 0.6095, 0.6129, 0.6353, 0.7588",\
                 "0.6602, 0.6582, 0.6522, 0.6445, 0.6371, 0.6312, 0.6276, 0.6279, 0.651, 0.7888",\
                 "0.7589, 0.7542, 0.7411, 0.7235, 0.7057, 0.6889, 0.676, 0.6683, 0.6904, 0.8483",\
                 "0.9061, 0.8999, 0.8799, 0.8511, 0.82, 0.7902, 0.7633, 0.7447, 0.7682, 0.954",\
                 "1.098, 1.091, 1.066, 1.027, 0.9824, 0.9375, 0.8963, 0.8657, 0.8936, 1.126",\
                 "1.334, 1.326, 1.298, 1.251, 1.194, 1.133, 1.077, 1.036, 1.083, 1.39");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1588, 0.1589, 0.1588, 0.1588, 0.1587, 0.1588, 0.1588, 0.1588, 0.1588, 0.1587",\
                 "0.1559, 0.1559, 0.1558, 0.1557, 0.1557, 0.1557, 0.1557, 0.1557, 0.1557, 0.1556",\
                 "0.1519, 0.1518, 0.1517, 0.1516, 0.1515, 0.1514, 0.1513, 0.1512, 0.1512, 0.1511",\
                 "0.1577, 0.1572, 0.1557, 0.1541, 0.1528, 0.1518, 0.1511, 0.1505, 0.1501, 0.1497",\
                 "0.1852, 0.1835, 0.1788, 0.1729, 0.1675, 0.1632, 0.1598, 0.1572, 0.1552, 0.1537",\
                 "0.2422, 0.2388, 0.2291, 0.2163, 0.2036, 0.1928, 0.1839, 0.1769, 0.1714, 0.167",\
                 "0.3326, 0.3273, 0.3118, 0.2901, 0.2676, 0.2471, 0.2298, 0.2155, 0.2041, 0.1948",\
                 "0.4589, 0.4517, 0.43, 0.3986, 0.3643, 0.3319, 0.3031, 0.2787, 0.2586, 0.2418",\
                 "0.6229, 0.6139, 0.5862, 0.5446, 0.4974, 0.4512, 0.4089, 0.3716, 0.3398, 0.3131",\
                 "0.8257, 0.815, 0.7818, 0.7302, 0.6696, 0.6082, 0.5508, 0.4988, 0.4529, 0.4137");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.676, 0.6761, 0.6763, 0.6769, 0.678, 0.6791, 0.6804, 0.6831, 0.7007, 0.8048",\
                 "0.6727, 0.6729, 0.6735, 0.6746, 0.6756, 0.677, 0.6787, 0.6818, 0.6995, 0.8042",\
                 "0.6678, 0.6681, 0.6692, 0.6711, 0.6729, 0.6747, 0.6771, 0.6801, 0.6993, 0.8081",\
                 "0.6651, 0.6654, 0.6664, 0.668, 0.6702, 0.6726, 0.6751, 0.679, 0.6997, 0.8149",\
                 "0.6766, 0.6764, 0.6755, 0.6746, 0.6744, 0.6755, 0.6766, 0.6802, 0.7031, 0.8294",\
                 "0.7234, 0.7216, 0.7164, 0.7096, 0.703, 0.6981, 0.6948, 0.6944, 0.7188, 0.8594",\
                 "0.8174, 0.8135, 0.8021, 0.7864, 0.7699, 0.7545, 0.7418, 0.7345, 0.7596, 0.9194",\
                 "0.9609, 0.9552, 0.9377, 0.9108, 0.8819, 0.8539, 0.8281, 0.8105, 0.8359, 1.027",\
                 "1.151, 1.144, 1.121, 1.085, 1.042, 0.9999, 0.9592, 0.93, 0.9613, 1.2",\
                 "1.385, 1.377, 1.35, 1.306, 1.251, 1.193, 1.138, 1.1, 1.151, 1.464");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.0993, 0.1143, 0.1664, 0.2647, 0.418, 0.6326, 0.9158, 1.272, 1.707, 2.225",\
                 "0.1112, 0.1261, 0.1784, 0.2775, 0.4308, 0.6462, 0.929, 1.285, 1.72, 2.238",\
                 "0.1467, 0.1655, 0.224, 0.323, 0.4763, 0.6916, 0.9742, 1.331, 1.765, 2.284",\
                 "0.1666, 0.1924, 0.2725, 0.4001, 0.5651, 0.7794, 1.061, 1.417, 1.852, 2.37",\
                 "0.1603, 0.1939, 0.2963, 0.4581, 0.6663, 0.9139, 1.2, 1.554, 1.987, 2.503",\
                 "0.1226, 0.1641, 0.292, 0.4897, 0.7406, 1.038, 1.376, 1.75, 2.182, 2.697",\
                 "0.0522, 0.1016, 0.2535, 0.4891, 0.7858, 1.132, 1.525, 1.961, 2.435, 2.956",\
                 "-0.0541, 0.0034, 0.1794, 0.451, 0.7967, 1.196, 1.644, 2.139, 2.68, 3.261",\
                 "-0.1988, -0.133, 0.0678, 0.3765, 0.7696, 1.223, 1.73, 2.284, 2.888, 3.54",\
                 "-0.3838, -0.3099, -0.0846, 0.2631, 0.7003, 1.211, 1.776, 2.395, 3.062, 3.781");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1764, 0.2083, 0.3202, 0.5329, 0.8633, 1.326, 1.934, 2.7, 3.635, 4.747",\
                 "0.1869, 0.2191, 0.3324, 0.5471, 0.8785, 1.341, 1.951, 2.717, 3.653, 4.763",\
                 "0.2476, 0.2775, 0.3869, 0.6001, 0.9316, 1.396, 2.005, 2.772, 3.707, 4.821",\
                 "0.362, 0.398, 0.5141, 0.7192, 1.046, 1.506, 2.113, 2.878, 3.811, 4.927",\
                 "0.5097, 0.5515, 0.6878, 0.9181, 1.24, 1.693, 2.294, 3.054, 3.986, 5.096",\
                 "0.6933, 0.7432, 0.8987, 1.16, 1.519, 1.971, 2.563, 3.317, 4.242, 5.349",\
                 "0.9121, 0.9714, 1.151, 1.441, 1.839, 2.338, 2.934, 3.676, 4.593, 5.691",\
                 "1.168, 1.236, 1.443, 1.768, 2.202, 2.748, 3.397, 4.146, 5.051, 6.142",\
                 "1.462, 1.54, 1.775, 2.14, 2.616, 3.201, 3.905, 4.712, 5.626, 6.703",\
                 "1.796, 1.883, 2.148, 2.557, 3.08, 3.709, 4.458, 5.327, 6.303, 7.391");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1275, 0.1526, 0.2408, 0.4089, 0.6715, 1.037, 1.52, 2.129, 2.872, 3.757",\
                 "0.1273, 0.1525, 0.2405, 0.4086, 0.6715, 1.038, 1.52, 2.129, 2.873, 3.759",\
                 "0.1646, 0.1866, 0.2566, 0.4094, 0.6696, 1.038, 1.52, 2.128, 2.874, 3.759",\
                 "0.2354, 0.2625, 0.3478, 0.4911, 0.6996, 1.039, 1.52, 2.129, 2.872, 3.757",\
                 "0.3325, 0.3646, 0.4643, 0.629, 0.8566, 1.142, 1.551, 2.129, 2.872, 3.757",\
                 "0.447, 0.4878, 0.6082, 0.7974, 1.049, 1.369, 1.746, 2.235, 2.895, 3.757",\
                 "0.5818, 0.6288, 0.774, 0.9936, 1.275, 1.622, 2.042, 2.524, 3.1, 3.851",\
                 "0.7328, 0.7896, 0.959, 1.218, 1.534, 1.912, 2.364, 2.893, 3.487, 4.163",\
                 "0.8996, 0.9692, 1.165, 1.459, 1.821, 2.24, 2.724, 3.288, 3.929, 4.644",\
                 "1.079, 1.159, 1.389, 1.722, 2.135, 2.6, 3.128, 3.718, 4.403, 5.164");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2903, 0.3492, 0.551, 0.9276, 1.508, 2.321, 3.393, 4.743, 6.386, 8.344",\
                 "0.2881, 0.3475, 0.5505, 0.9272, 1.509, 2.323, 3.393, 4.741, 6.386, 8.344",\
                 "0.2871, 0.3413, 0.5462, 0.9267, 1.507, 2.321, 3.394, 4.741, 6.381, 8.331",\
                 "0.3516, 0.4047, 0.5721, 0.9235, 1.508, 2.323, 3.394, 4.735, 6.386, 8.34",\
                 "0.431, 0.486, 0.6754, 0.998, 1.519, 2.32, 3.393, 4.741, 6.382, 8.336",\
                 "0.5388, 0.5976, 0.7892, 1.144, 1.641, 2.355, 3.394, 4.738, 6.381, 8.338",\
                 "0.6722, 0.7362, 0.9352, 1.3, 1.84, 2.526, 3.462, 4.739, 6.375, 8.338",\
                 "0.8206, 0.8888, 1.112, 1.486, 2.047, 2.787, 3.679, 4.858, 6.405, 8.34",\
                 "0.9844, 1.066, 1.312, 1.712, 2.279, 3.057, 4.004, 5.122, 6.556, 8.387",\
                 "1.164, 1.259, 1.538, 1.966, 2.549, 3.339, 4.343, 5.507, 6.873, 8.582");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.09935, 0.1143, 0.1664, 0.2649, 0.4178, 0.6329, 0.9154, 1.272, 1.706, 2.224",\
                 "0.1112, 0.1262, 0.1785, 0.2774, 0.4313, 0.646, 0.9288, 1.285, 1.719, 2.238",\
                 "0.1474, 0.1662, 0.2245, 0.3235, 0.4768, 0.6921, 0.9747, 1.331, 1.765, 2.284",\
                 "0.1673, 0.1931, 0.2734, 0.4009, 0.5659, 0.7799, 1.062, 1.417, 1.852, 2.37",\
                 "0.1577, 0.1915, 0.2952, 0.4571, 0.6661, 0.9139, 1.2, 1.554, 1.987, 2.505",\
                 "0.1119, 0.1541, 0.2833, 0.4832, 0.7364, 1.036, 1.374, 1.749, 2.181, 2.696",\
                 "0.0273, 0.0779, 0.2327, 0.4729, 0.774, 1.124, 1.52, 1.958, 2.433, 2.954",\
                 "-0.0988, -0.0394, 0.1411, 0.4208, 0.7725, 1.178, 1.631, 2.13, 2.673, 3.257",\
                 "-0.2692, -0.2011, 0.0059, 0.3252, 0.7273, 1.19, 1.705, 2.266, 2.875, 3.53",\
                 "-0.4854, -0.4088, -0.1758, 0.1824, 0.6356, 1.158, 1.735, 2.362, 3.037, 3.762");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1913, 0.2294, 0.3666, 0.6315, 1.044, 1.621, 2.381, 3.337, 4.501, 5.891",\
                 "0.2008, 0.239, 0.3777, 0.6447, 1.059, 1.637, 2.396, 3.352, 4.518, 5.909",\
                 "0.2625, 0.2975, 0.4302, 0.6954, 1.11, 1.689, 2.449, 3.406, 4.572, 5.966",\
                 "0.3882, 0.4283, 0.5595, 0.8117, 1.219, 1.795, 2.553, 3.509, 4.674, 6.063",\
                 "0.5516, 0.5984, 0.7522, 1.015, 1.409, 1.975, 2.727, 3.677, 4.84, 6.229",\
                 "0.7573, 0.8109, 0.9841, 1.281, 1.693, 2.247, 2.986, 3.927, 5.084, 6.467",\
                 "1.004, 1.067, 1.263, 1.588, 2.044, 2.619, 3.348, 4.278, 5.422, 6.794",\
                 "1.294, 1.367, 1.59, 1.948, 2.44, 3.067, 3.818, 4.735, 5.867, 7.228",\
                 "1.629, 1.711, 1.964, 2.362, 2.89, 3.561, 4.371, 5.309, 6.428, 7.775",\
                 "2.009, 2.103, 2.387, 2.828, 3.4, 4.111, 4.973, 5.976, 7.114, 8.447");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1275, 0.1527, 0.2409, 0.4089, 0.6695, 1.038, 1.52, 2.129, 2.872, 3.757",\
                 "0.1273, 0.1524, 0.2405, 0.4084, 0.6712, 1.038, 1.52, 2.129, 2.871, 3.758",\
                 "0.1643, 0.1864, 0.2563, 0.4089, 0.6696, 1.038, 1.519, 2.129, 2.871, 3.757",\
                 "0.2346, 0.2616, 0.3476, 0.4908, 0.6992, 1.038, 1.52, 2.129, 2.872, 3.759",\
                 "0.3283, 0.3615, 0.4628, 0.6296, 0.8568, 1.142, 1.55, 2.131, 2.871, 3.758",\
                 "0.4414, 0.482, 0.605, 0.795, 1.051, 1.37, 1.747, 2.234, 2.896, 3.759",\
                 "0.5734, 0.6228, 0.7702, 0.9936, 1.277, 1.629, 2.047, 2.528, 3.101, 3.851",\
                 "0.7252, 0.7842, 0.956, 1.218, 1.541, 1.922, 2.373, 2.898, 3.493, 4.167",\
                 "0.892, 0.962, 1.164, 1.462, 1.83, 2.254, 2.736, 3.299, 3.938, 4.654",\
                 "1.073, 1.155, 1.391, 1.732, 2.146, 2.617, 3.143, 3.739, 4.42, 5.177");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.356, 0.4337, 0.6987, 1.178, 1.901, 2.916, 4.248, 5.927, 7.961, 10.42",\
                 "0.3506, 0.4295, 0.6966, 1.175, 1.903, 2.918, 4.252, 5.929, 7.976, 10.42",\
                 "0.3422, 0.416, 0.6871, 1.176, 1.903, 2.915, 4.249, 5.928, 7.973, 10.41",\
                 "0.404, 0.4668, 0.6908, 1.164, 1.902, 2.92, 4.25, 5.93, 7.974, 10.42",\
                 "0.4774, 0.5472, 0.781, 1.197, 1.891, 2.919, 4.244, 5.93, 7.973, 10.42",\
                 "0.5806, 0.652, 0.8878, 1.327, 1.964, 2.914, 4.246, 5.927, 7.967, 10.42",\
                 "0.713, 0.7826, 1.021, 1.474, 2.135, 3.017, 4.255, 5.918, 7.965, 10.42",\
                 "0.8616, 0.9414, 1.193, 1.641, 2.333, 3.238, 4.394, 5.946, 7.965, 10.42",\
                 "1.029, 1.117, 1.391, 1.852, 2.552, 3.5, 4.662, 6.12, 8.019, 10.42",\
                 "1.214, 1.313, 1.611, 2.099, 2.798, 3.773, 4.994, 6.434, 8.222, 10.48");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.103, 0.1181, 0.1707, 0.2708, 0.4258, 0.6419, 0.925, 1.281, 1.716, 2.233",\
                 "0.1148, 0.1301, 0.1833, 0.2836, 0.4389, 0.6552, 0.9383, 1.294, 1.729, 2.247",\
                 "0.1529, 0.1715, 0.2294, 0.3297, 0.4848, 0.701, 0.9842, 1.34, 1.775, 2.293",\
                 "0.177, 0.2025, 0.2821, 0.4092, 0.574, 0.7894, 1.072, 1.427, 1.861, 2.379",\
                 "0.1739, 0.2072, 0.309, 0.47, 0.6778, 0.9243, 1.211, 1.564, 1.997, 2.514",\
                 "0.1378, 0.1786, 0.3043, 0.5008, 0.7517, 1.049, 1.386, 1.759, 2.192, 2.707",\
                 "0.065, 0.1125, 0.2615, 0.496, 0.7927, 1.14, 1.534, 1.97, 2.444, 2.965",\
                 "-0.0487, 0.0063, 0.1776, 0.4498, 0.7948, 1.197, 1.647, 2.144, 2.686, 3.268",\
                 "-0.2066, -0.1444, 0.0509, 0.3597, 0.7542, 1.212, 1.723, 2.281, 2.888, 3.542",\
                 "-0.4108, -0.3408, -0.1225, 0.224, 0.6668, 1.183, 1.756, 2.38, 3.052, 3.776");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.26, 0.2996, 0.4388, 0.7043, 1.117, 1.695, 2.454, 3.409, 4.579, 5.965",\
                 "0.2706, 0.3102, 0.4507, 0.7184, 1.132, 1.711, 2.47, 3.427, 4.593, 5.983",\
                 "0.3271, 0.3652, 0.5025, 0.769, 1.183, 1.762, 2.523, 3.48, 4.648, 6.036",\
                 "0.4595, 0.4975, 0.6265, 0.8834, 1.292, 1.868, 2.626, 3.582, 4.748, 6.138",\
                 "0.6342, 0.6793, 0.8266, 1.084, 1.48, 2.047, 2.8, 3.75, 4.913, 6.3",\
                 "0.8524, 0.902, 1.067, 1.357, 1.762, 2.318, 3.059, 4.002, 5.159, 6.54",\
                 "1.115, 1.171, 1.355, 1.671, 2.12, 2.69, 3.419, 4.349, 5.496, 6.868",\
                 "1.421, 1.486, 1.693, 2.038, 2.522, 3.143, 3.888, 4.807, 5.938, 7.301",\
                 "1.773, 1.847, 2.08, 2.46, 2.978, 3.642, 4.446, 5.379, 6.499, 7.848",\
                 "2.173, 2.256, 2.516, 2.936, 3.494, 4.197, 5.053, 6.05, 7.184, 8.519");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.167, 0.1925, 0.2813, 0.45, 0.712, 1.078, 1.562, 2.169, 2.915, 3.797",\
                 "0.167, 0.1926, 0.2813, 0.4497, 0.7118, 1.079, 1.563, 2.171, 2.911, 3.8",\
                 "0.209, 0.2283, 0.2971, 0.4506, 0.7121, 1.08, 1.562, 2.171, 2.914, 3.795",\
                 "0.296, 0.3197, 0.3976, 0.5329, 0.7407, 1.08, 1.561, 2.169, 2.913, 3.8",\
                 "0.4115, 0.4383, 0.5278, 0.683, 0.9024, 1.184, 1.594, 2.173, 2.914, 3.8",\
                 "0.5504, 0.5832, 0.688, 0.8612, 1.106, 1.418, 1.79, 2.278, 2.94, 3.801",\
                 "0.7104, 0.7496, 0.8726, 1.074, 1.344, 1.683, 2.095, 2.571, 3.145, 3.895",\
                 "0.892, 0.937, 1.08, 1.314, 1.618, 1.985, 2.428, 2.947, 3.535, 4.208",\
                 "1.092, 1.145, 1.311, 1.575, 1.918, 2.325, 2.798, 3.353, 3.988, 4.698",\
                 "1.308, 1.37, 1.561, 1.861, 2.248, 2.7, 3.213, 3.8, 4.474, 5.229");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4651, 0.541, 0.7993, 1.273, 1.999, 3.013, 4.344, 6.019, 8.067, 10.5",\
                 "0.4613, 0.5385, 0.7983, 1.274, 1.999, 3.013, 4.345, 6.019, 8.064, 10.5",\
                 "0.4481, 0.5263, 0.7919, 1.272, 1.999, 3.013, 4.345, 6.021, 8.067, 10.5",\
                 "0.4841, 0.5473, 0.7826, 1.263, 1.999, 3.012, 4.344, 6.021, 8.063, 10.5",\
                 "0.565, 0.6338, 0.8612, 1.282, 1.991, 3.011, 4.343, 6.021, 8.063, 10.5",\
                 "0.6622, 0.7322, 0.9728, 1.405, 2.046, 3.01, 4.343, 6.019, 8.065, 10.5",\
                 "0.7912, 0.8612, 1.103, 1.558, 2.213, 3.102, 4.351, 6.018, 8.066, 10.5",\
                 "0.9478, 1.022, 1.27, 1.724, 2.419, 3.316, 4.478, 6.042, 8.063, 10.5",\
                 "1.119, 1.203, 1.469, 1.931, 2.635, 3.585, 4.742, 6.206, 8.105, 10.5",\
                 "1.311, 1.404, 1.695, 2.175, 2.879, 3.861, 5.074, 6.511, 8.304, 10.57");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.09948, 0.1145, 0.1664, 0.2648, 0.4182, 0.6331, 0.9155, 1.272, 1.707, 2.225",\
                 "0.1116, 0.1267, 0.1789, 0.278, 0.4313, 0.6464, 0.9293, 1.285, 1.721, 2.239",\
                 "0.1478, 0.1666, 0.2249, 0.324, 0.4775, 0.6924, 0.975, 1.331, 1.766, 2.285",\
                 "0.1665, 0.1925, 0.2729, 0.4006, 0.5659, 0.7803, 1.062, 1.418, 1.852, 2.37",\
                 "0.1553, 0.1895, 0.2938, 0.4568, 0.6659, 0.9138, 1.2, 1.554, 1.987, 2.504",\
                 "0.1083, 0.1509, 0.2811, 0.4819, 0.7361, 1.035, 1.374, 1.749, 2.182, 2.696",\
                 "0.023, 0.0742, 0.2292, 0.471, 0.7731, 1.124, 1.52, 1.957, 2.432, 2.954",\
                 "-0.1032, -0.0434, 0.1382, 0.4176, 0.7709, 1.178, 1.631, 2.13, 2.673, 3.256",\
                 "-0.2732, -0.205, 0.0029, 0.3227, 0.7261, 1.19, 1.703, 2.265, 2.874, 3.529",\
                 "-0.4894, -0.4122, -0.1798, 0.1816, 0.6341, 1.157, 1.734, 2.362, 3.036, 3.761");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.213, 0.2532, 0.3935, 0.6596, 1.072, 1.65, 2.409, 3.366, 4.534, 5.925",\
                 "0.2205, 0.2614, 0.4038, 0.6722, 1.086, 1.666, 2.426, 3.383, 4.551, 5.942",\
                 "0.2772, 0.3151, 0.4532, 0.7204, 1.135, 1.715, 2.476, 3.433, 4.602, 5.994",\
                 "0.4007, 0.4422, 0.5766, 0.8338, 1.243, 1.819, 2.578, 3.536, 4.701, 6.095",\
                 "0.5617, 0.6095, 0.766, 1.032, 1.43, 1.997, 2.75, 3.701, 4.865, 6.255",\
                 "0.7664, 0.8208, 0.9954, 1.295, 1.711, 2.267, 3.009, 3.951, 5.108, 6.491",\
                 "1.012, 1.076, 1.273, 1.6, 2.059, 2.637, 3.368, 4.299, 5.446, 6.82",\
                 "1.302, 1.374, 1.599, 1.958, 2.451, 3.083, 3.837, 4.755, 5.888, 7.251",\
                 "1.635, 1.719, 1.972, 2.372, 2.902, 3.574, 4.387, 5.328, 6.449, 7.799",\
                 "2.017, 2.11, 2.394, 2.837, 3.412, 4.124, 4.987, 5.993, 7.135, 8.468");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1275, 0.1527, 0.2408, 0.4088, 0.671, 1.037, 1.52, 2.128, 2.872, 3.758",\
                 "0.1272, 0.1525, 0.2406, 0.4088, 0.6714, 1.038, 1.52, 2.129, 2.872, 3.757",\
                 "0.1641, 0.1858, 0.2561, 0.4094, 0.6706, 1.038, 1.52, 2.13, 2.872, 3.757",\
                 "0.235, 0.262, 0.3476, 0.4903, 0.6998, 1.039, 1.52, 2.129, 2.872, 3.759",\
                 "0.3306, 0.3641, 0.4641, 0.6296, 0.8572, 1.142, 1.552, 2.131, 2.872, 3.758",\
                 "0.4464, 0.4868, 0.609, 0.7994, 1.052, 1.371, 1.747, 2.233, 2.901, 3.759",\
                 "0.5814, 0.6292, 0.7764, 0.999, 1.28, 1.629, 2.047, 2.526, 3.103, 3.852",\
                 "0.7358, 0.7924, 0.964, 1.225, 1.545, 1.925, 2.374, 2.9, 3.492, 4.165",\
                 "0.9028, 0.972, 1.174, 1.471, 1.834, 2.258, 2.739, 3.303, 3.938, 4.65",\
                 "1.082, 1.168, 1.401, 1.74, 2.153, 2.621, 3.149, 3.742, 4.423, 5.183");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3742, 0.4477, 0.6992, 1.168, 1.89, 2.903, 4.237, 5.912, 7.967, 10.41",\
                 "0.3712, 0.4459, 0.6978, 1.167, 1.889, 2.903, 4.237, 5.916, 7.968, 10.4",\
                 "0.363, 0.4349, 0.694, 1.167, 1.888, 2.903, 4.239, 5.915, 7.964, 10.41",\
                 "0.415, 0.4782, 0.7001, 1.16, 1.888, 2.9, 4.237, 5.918, 7.965, 10.41",\
                 "0.4832, 0.5532, 0.7872, 1.198, 1.885, 2.906, 4.233, 5.919, 7.96, 10.41",\
                 "0.582, 0.6516, 0.891, 1.33, 1.96, 2.911, 4.237, 5.92, 7.968, 10.4",\
                 "0.711, 0.784, 1.022, 1.474, 2.135, 3.013, 4.255, 5.914, 7.966, 10.41",\
                 "0.8598, 0.9396, 1.19, 1.642, 2.336, 3.236, 4.389, 5.942, 7.955, 10.4",\
                 "1.027, 1.114, 1.388, 1.852, 2.546, 3.501, 4.659, 6.119, 8.005, 10.42",\
                 "1.212, 1.308, 1.608, 2.097, 2.792, 3.769, 4.992, 6.433, 8.22, 10.49");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.09951, 0.1146, 0.1663, 0.2648, 0.4181, 0.633, 0.9157, 1.272, 1.707, 2.224",\
                 "0.1117, 0.1267, 0.179, 0.2783, 0.4317, 0.6466, 0.929, 1.285, 1.72, 2.238",\
                 "0.1484, 0.1671, 0.2253, 0.3244, 0.4776, 0.6929, 0.9752, 1.331, 1.766, 2.284",\
                 "0.1672, 0.1932, 0.2736, 0.4013, 0.5665, 0.7808, 1.063, 1.418, 1.853, 2.37",\
                 "0.1537, 0.188, 0.2927, 0.4561, 0.6657, 0.9139, 1.2, 1.555, 1.987, 2.505",\
                 "0.1004, 0.1434, 0.2749, 0.4775, 0.7325, 1.033, 1.373, 1.749, 2.181, 2.697",\
                 "0.0046, 0.0563, 0.2141, 0.4581, 0.7632, 1.118, 1.516, 1.955, 2.431, 2.953",\
                 "-0.1376, -0.0766, 0.1088, 0.3931, 0.7522, 1.163, 1.62, 2.123, 2.668, 3.252",\
                 "-0.3285, -0.2582, -0.0449, 0.282, 0.6916, 1.163, 1.684, 2.25, 2.863, 3.521",\
                 "-0.5691, -0.4918, -0.2508, 0.1185, 0.5818, 1.114, 1.7, 2.336, 3.016, 3.746");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2296, 0.2767, 0.4441, 0.7628, 1.257, 1.949, 2.859, 4.004, 5.402, 7.069",\
                 "0.2363, 0.284, 0.453, 0.7745, 1.271, 1.964, 2.875, 4.02, 5.419, 7.086",\
                 "0.2932, 0.3372, 0.5007, 0.8209, 1.318, 2.012, 2.924, 4.072, 5.469, 7.137",\
                 "0.4258, 0.4714, 0.6245, 0.9319, 1.422, 2.112, 3.022, 4.166, 5.565, 7.233",\
                 "0.6011, 0.6537, 0.8273, 1.13, 1.606, 2.286, 3.188, 4.328, 5.721, 7.386",\
                 "0.8232, 0.8824, 1.075, 1.41, 1.886, 2.551, 3.44, 4.57, 5.958, 7.614",\
                 "1.093, 1.159, 1.374, 1.739, 2.254, 2.92, 3.793, 4.909, 6.285, 7.931",\
                 "1.41, 1.488, 1.728, 2.123, 2.677, 3.387, 4.259, 5.359, 6.718, 8.353",\
                 "1.778, 1.866, 2.137, 2.567, 3.156, 3.915, 4.833, 5.928, 7.27, 8.887",\
                 "2.199, 2.297, 2.6, 3.074, 3.702, 4.501, 5.474, 6.614, 7.948, 9.548");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1275, 0.1527, 0.2406, 0.4083, 0.671, 1.038, 1.52, 2.129, 2.872, 3.759",\
                 "0.1272, 0.1525, 0.2406, 0.4092, 0.6712, 1.038, 1.52, 2.129, 2.872, 3.757",\
                 "0.1637, 0.1855, 0.2558, 0.4092, 0.6697, 1.038, 1.52, 2.128, 2.872, 3.759",\
                 "0.2341, 0.2612, 0.3471, 0.49, 0.6989, 1.038, 1.52, 2.129, 2.872, 3.759",\
                 "0.3286, 0.3603, 0.4632, 0.6294, 0.8568, 1.141, 1.551, 2.13, 2.871, 3.758",\
                 "0.4406, 0.4816, 0.6056, 0.7976, 1.054, 1.372, 1.748, 2.234, 2.899, 3.757",\
                 "0.573, 0.622, 0.7732, 0.9982, 1.283, 1.631, 2.05, 2.53, 3.103, 3.852",\
                 "0.7264, 0.7846, 0.9588, 1.222, 1.548, 1.929, 2.381, 2.905, 3.495, 4.168",\
                 "0.8906, 0.9646, 1.168, 1.469, 1.839, 2.265, 2.751, 3.311, 3.95, 4.658",\
                 "1.069, 1.158, 1.397, 1.74, 2.157, 2.632, 3.16, 3.756, 4.434, 5.194");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4489, 0.5415, 0.8494, 1.414, 2.282, 3.492, 5.085, 7.094, 9.526, 12.44",\
                 "0.4435, 0.5375, 0.8486, 1.414, 2.281, 3.495, 5.086, 7.081, 9.526, 12.45",\
                 "0.4273, 0.5214, 0.8426, 1.412, 2.283, 3.496, 5.08, 7.095, 9.541, 12.44",\
                 "0.4711, 0.5485, 0.8311, 1.408, 2.281, 3.495, 5.09, 7.08, 9.54, 12.44",\
                 "0.5362, 0.6202, 0.8996, 1.415, 2.275, 3.49, 5.087, 7.079, 9.526, 12.46",\
                 "0.6278, 0.7094, 0.9976, 1.519, 2.302, 3.491, 5.082, 7.092, 9.542, 12.45",\
                 "0.7532, 0.833, 1.116, 1.657, 2.442, 3.537, 5.079, 7.083, 9.544, 12.45",\
                 "0.8996, 0.9868, 1.273, 1.809, 2.636, 3.709, 5.155, 7.084, 9.54, 12.46",\
                 "1.068, 1.162, 1.465, 1.997, 2.837, 3.96, 5.354, 7.186, 9.554, 12.46",\
                 "1.249, 1.356, 1.683, 2.227, 3.058, 4.22, 5.655, 7.413, 9.65, 12.46");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1031, 0.1185, 0.1711, 0.271, 0.4259, 0.6421, 0.9251, 1.281, 1.716, 2.234",\
                 "0.1153, 0.1307, 0.1837, 0.2841, 0.4394, 0.6556, 0.9388, 1.295, 1.729, 2.247",\
                 "0.1538, 0.1724, 0.2303, 0.3306, 0.4856, 0.7018, 0.9849, 1.341, 1.776, 2.293",\
                 "0.1769, 0.2026, 0.2823, 0.4095, 0.5748, 0.79, 1.072, 1.428, 1.862, 2.38",\
                 "0.1702, 0.2034, 0.3064, 0.4687, 0.6775, 0.9241, 1.211, 1.564, 1.997, 2.514",\
                 "0.1266, 0.168, 0.2959, 0.4952, 0.748, 1.046, 1.385, 1.759, 2.191, 2.707",\
                 "0.0425, 0.0913, 0.2433, 0.4819, 0.7828, 1.133, 1.529, 1.967, 2.442, 2.963",\
                 "-0.0869, -0.0302, 0.1456, 0.4237, 0.7748, 1.182, 1.636, 2.137, 2.68, 3.264",\
                 "-0.2653, -0.2007, 0.0002, 0.3167, 0.7199, 1.185, 1.703, 2.267, 2.877, 3.534",\
                 "-0.494, -0.4221, -0.1965, 0.1598, 0.6136, 1.14, 1.722, 2.354, 3.033, 3.76");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3152, 0.363, 0.5315, 0.8505, 1.345, 2.037, 2.947, 4.093, 5.492, 7.157",\
                 "0.3233, 0.3716, 0.5417, 0.8629, 1.359, 2.053, 2.963, 4.109, 5.508, 7.174",\
                 "0.3744, 0.4213, 0.5888, 0.9093, 1.406, 2.101, 3.012, 4.159, 5.558, 7.226",\
                 "0.5072, 0.5504, 0.7067, 1.019, 1.51, 2.201, 3.11, 4.255, 5.655, 7.321",\
                 "0.6945, 0.745, 0.9124, 1.213, 1.692, 2.373, 3.276, 4.417, 5.81, 7.476",\
                 "0.9279, 0.9832, 1.17, 1.497, 1.968, 2.637, 3.527, 4.658, 6.045, 7.702",\
                 "1.212, 1.274, 1.477, 1.833, 2.341, 3.004, 3.879, 4.996, 6.373, 8.021",\
                 "1.547, 1.617, 1.841, 2.223, 2.77, 3.473, 4.344, 5.445, 6.805, 8.441",\
                 "1.932, 2.011, 2.262, 2.676, 3.253, 4.006, 4.918, 6.012, 7.356, 8.974",\
                 "2.373, 2.46, 2.738, 3.191, 3.805, 4.597, 5.566, 6.696, 8.032, 9.635");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.167, 0.1926, 0.2813, 0.4497, 0.712, 1.078, 1.563, 2.171, 2.914, 3.797",\
                 "0.167, 0.1926, 0.2813, 0.4497, 0.712, 1.079, 1.562, 2.171, 2.914, 3.799",\
                 "0.2085, 0.2275, 0.2967, 0.4506, 0.7119, 1.079, 1.562, 2.17, 2.914, 3.798",\
                 "0.2955, 0.3193, 0.3974, 0.5326, 0.7409, 1.08, 1.563, 2.169, 2.915, 3.799",\
                 "0.411, 0.439, 0.5277, 0.684, 0.9026, 1.184, 1.593, 2.172, 2.915, 3.8",\
                 "0.5504, 0.5828, 0.6892, 0.864, 1.109, 1.419, 1.791, 2.278, 2.941, 3.801",\
                 "0.7112, 0.7504, 0.876, 1.079, 1.348, 1.687, 2.098, 2.573, 3.144, 3.894",\
                 "0.894, 0.9394, 1.085, 1.319, 1.625, 1.993, 2.437, 2.953, 3.54, 4.21",\
                 "1.095, 1.15, 1.316, 1.584, 1.928, 2.338, 2.813, 3.365, 3.996, 4.701",\
                 "1.308, 1.373, 1.573, 1.872, 2.261, 2.715, 3.23, 3.818, 4.489, 5.243");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5768, 0.6663, 0.9684, 1.53, 2.396, 3.607, 5.197, 7.201, 9.646, 12.56",\
                 "0.5742, 0.6645, 0.9677, 1.53, 2.395, 3.607, 5.197, 7.201, 9.647, 12.56",\
                 "0.5613, 0.6543, 0.9645, 1.529, 2.396, 3.608, 5.197, 7.201, 9.647, 12.56",\
                 "0.5729, 0.6536, 0.9478, 1.526, 2.395, 3.606, 5.199, 7.2, 9.646, 12.56",\
                 "0.645, 0.728, 1, 1.523, 2.391, 3.606, 5.199, 7.204, 9.647, 12.56",\
                 "0.7288, 0.8132, 1.103, 1.617, 2.409, 3.603, 5.198, 7.202, 9.65, 12.56",\
                 "0.8462, 0.9286, 1.219, 1.762, 2.541, 3.643, 5.198, 7.201, 9.648, 12.56",\
                 "0.9952, 1.082, 1.368, 1.915, 2.738, 3.808, 5.256, 7.205, 9.648, 12.56",\
                 "1.169, 1.26, 1.557, 2.101, 2.939, 4.059, 5.455, 7.283, 9.655, 12.56",\
                 "1.36, 1.459, 1.778, 2.322, 3.166, 4.322, 5.754, 7.512, 9.752, 12.57");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1032, 0.1184, 0.1709, 0.271, 0.426, 0.6421, 0.9252, 1.281, 1.716, 2.234",\
                 "0.1154, 0.1306, 0.1836, 0.2841, 0.4393, 0.6556, 0.9388, 1.295, 1.729, 2.247",\
                 "0.1533, 0.1719, 0.2299, 0.3302, 0.4853, 0.7015, 0.9846, 1.341, 1.775, 2.293",\
                 "0.1763, 0.202, 0.2817, 0.409, 0.5741, 0.7896, 1.072, 1.427, 1.862, 2.379",\
                 "0.172, 0.2051, 0.3078, 0.4694, 0.6777, 0.9242, 1.21, 1.564, 1.997, 2.514",\
                 "0.1348, 0.1759, 0.3024, 0.4998, 0.7512, 1.048, 1.385, 1.759, 2.192, 2.706",\
                 "0.0617, 0.1097, 0.2592, 0.4943, 0.792, 1.14, 1.534, 1.969, 2.444, 2.964",\
                 "-0.0522, 0.0031, 0.175, 0.4478, 0.7938, 1.196, 1.646, 2.144, 2.685, 3.267",\
                 "-0.2098, -0.1474, 0.048, 0.3576, 0.7533, 1.211, 1.723, 2.281, 2.888, 3.542",\
                 "-0.4133, -0.3434, -0.1247, 0.2218, 0.6657, 1.182, 1.755, 2.38, 3.052, 3.775");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2855, 0.326, 0.4667, 0.7329, 1.146, 1.724, 2.485, 3.44, 4.608, 6",\
                 "0.2946, 0.3356, 0.4779, 0.7458, 1.16, 1.74, 2.5, 3.456, 4.625, 6.017",\
                 "0.3471, 0.3868, 0.5271, 0.7946, 1.209, 1.789, 2.552, 3.508, 4.677, 6.069",\
                 "0.4742, 0.5133, 0.6462, 0.9065, 1.316, 1.893, 2.653, 3.609, 4.776, 6.168",\
                 "0.6466, 0.6918, 0.8423, 1.103, 1.502, 2.07, 2.823, 3.775, 4.94, 6.329",\
                 "0.8626, 0.9131, 1.08, 1.372, 1.781, 2.339, 3.081, 4.023, 5.182, 6.567",\
                 "1.123, 1.182, 1.367, 1.685, 2.136, 2.708, 3.44, 4.371, 5.519, 6.896",\
                 "1.429, 1.495, 1.703, 2.049, 2.536, 3.159, 3.908, 4.828, 5.962, 7.325",\
                 "1.781, 1.855, 2.088, 2.47, 2.99, 3.657, 4.463, 5.4, 6.522, 7.871",\
                 "2.181, 2.264, 2.524, 2.946, 3.505, 4.21, 5.068, 6.068, 7.205, 8.542");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1673, 0.1928, 0.2815, 0.4501, 0.7126, 1.079, 1.563, 2.17, 2.913, 3.799",\
                 "0.1673, 0.1929, 0.2815, 0.45, 0.7126, 1.079, 1.563, 2.171, 2.912, 3.8",\
                 "0.2091, 0.2281, 0.2971, 0.4509, 0.7125, 1.08, 1.563, 2.171, 2.913, 3.8",\
                 "0.2968, 0.3206, 0.3982, 0.5333, 0.7409, 1.08, 1.562, 2.17, 2.915, 3.795",\
                 "0.4153, 0.4421, 0.5293, 0.6842, 0.903, 1.184, 1.593, 2.173, 2.915, 3.799",\
                 "0.5566, 0.5888, 0.6928, 0.8646, 1.107, 1.419, 1.79, 2.278, 2.941, 3.801",\
                 "0.7198, 0.7576, 0.8796, 1.08, 1.346, 1.684, 2.096, 2.571, 3.145, 3.893",\
                 "0.9042, 0.9478, 1.089, 1.321, 1.623, 1.989, 2.43, 2.948, 3.538, 4.208",\
                 "1.105, 1.159, 1.322, 1.585, 1.924, 2.329, 2.802, 3.356, 3.989, 4.697",\
                 "1.32, 1.383, 1.575, 1.87, 2.256, 2.704, 3.217, 3.803, 4.477, 5.229");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4759, 0.5479, 0.7959, 1.263, 1.986, 3, 4.333, 6.007, 8.055, 10.49",\
                 "0.4742, 0.5469, 0.7957, 1.263, 1.986, 3, 4.333, 6.006, 8.055, 10.49",\
                 "0.4657, 0.5405, 0.7939, 1.263, 1.987, 3, 4.333, 6.008, 8.055, 10.49",\
                 "0.4952, 0.5581, 0.789, 1.259, 1.986, 2.999, 4.332, 6.007, 8.055, 10.49",\
                 "0.5712, 0.6412, 0.8672, 1.283, 1.984, 2.999, 4.331, 6.009, 8.054, 10.49",\
                 "0.663, 0.7342, 0.978, 1.408, 2.042, 3.001, 4.331, 6.008, 8.056, 10.49",\
                 "0.791, 0.8618, 1.106, 1.562, 2.215, 3.097, 4.343, 6.007, 8.057, 10.5",\
                 "0.9444, 1.022, 1.269, 1.727, 2.422, 3.315, 4.474, 6.034, 8.055, 10.49",\
                 "1.119, 1.202, 1.469, 1.93, 2.637, 3.584, 4.739, 6.201, 8.099, 10.5",\
                 "1.311, 1.402, 1.694, 2.175, 2.878, 3.859, 5.073, 6.511, 8.302, 10.56");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1033, 0.1184, 0.171, 0.271, 0.426, 0.6421, 0.9252, 1.281, 1.716, 2.234",\
                 "0.1153, 0.1307, 0.1837, 0.2841, 0.4394, 0.6557, 0.9388, 1.295, 1.729, 2.247",\
                 "0.1539, 0.1724, 0.2303, 0.3306, 0.4856, 0.7018, 0.9849, 1.341, 1.776, 2.294",\
                 "0.1769, 0.2026, 0.2824, 0.4097, 0.5748, 0.7901, 1.072, 1.428, 1.862, 2.379",\
                 "0.1702, 0.2035, 0.3065, 0.4687, 0.6777, 0.9244, 1.211, 1.565, 1.997, 2.514",\
                 "0.1267, 0.1682, 0.296, 0.4953, 0.748, 1.046, 1.385, 1.759, 2.192, 2.707",\
                 "0.0428, 0.0914, 0.2435, 0.482, 0.783, 1.133, 1.529, 1.966, 2.442, 2.963",\
                 "-0.0867, -0.03, 0.1457, 0.4238, 0.7749, 1.182, 1.636, 2.137, 2.68, 3.264",\
                 "-0.2649, -0.2004, 0.0004, 0.3168, 0.72, 1.185, 1.703, 2.267, 2.877, 3.534",\
                 "-0.4936, -0.4217, -0.1963, 0.16, 0.6137, 1.14, 1.722, 2.354, 3.033, 3.76");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3154, 0.3634, 0.5318, 0.851, 1.345, 2.038, 2.947, 4.093, 5.492, 7.158",\
                 "0.3238, 0.372, 0.5421, 0.8634, 1.36, 2.053, 2.963, 4.11, 5.508, 7.175",\
                 "0.3748, 0.422, 0.5893, 0.9097, 1.406, 2.101, 3.013, 4.16, 5.559, 7.227",\
                 "0.5078, 0.551, 0.7074, 1.019, 1.51, 2.201, 3.111, 4.255, 5.655, 7.322",\
                 "0.6946, 0.7454, 0.9129, 1.213, 1.692, 2.374, 3.277, 4.416, 5.811, 7.475",\
                 "0.9285, 0.9841, 1.17, 1.498, 1.969, 2.637, 3.528, 4.657, 6.048, 7.704",\
                 "1.212, 1.274, 1.477, 1.834, 2.341, 3.004, 3.88, 4.996, 6.374, 8.021",\
                 "1.547, 1.617, 1.842, 2.224, 2.77, 3.474, 4.344, 5.446, 6.805, 8.442",\
                 "1.933, 2.012, 2.262, 2.676, 3.255, 4.007, 4.918, 6.012, 7.356, 8.973",\
                 "2.373, 2.461, 2.739, 3.192, 3.807, 4.598, 5.566, 6.698, 8.033, 9.634");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1673, 0.1928, 0.2815, 0.45, 0.7125, 1.08, 1.562, 2.171, 2.914, 3.8",\
                 "0.1673, 0.1929, 0.2816, 0.45, 0.7123, 1.079, 1.563, 2.169, 2.914, 3.798",\
                 "0.2087, 0.2277, 0.297, 0.4508, 0.7125, 1.079, 1.563, 2.171, 2.914, 3.799",\
                 "0.2958, 0.3197, 0.3977, 0.5329, 0.7413, 1.081, 1.561, 2.171, 2.915, 3.797",\
                 "0.4114, 0.4394, 0.5282, 0.6842, 0.9028, 1.184, 1.594, 2.172, 2.914, 3.799",\
                 "0.551, 0.5834, 0.6896, 0.864, 1.109, 1.419, 1.791, 2.278, 2.941, 3.8",\
                 "0.7118, 0.7508, 0.8766, 1.079, 1.348, 1.689, 2.098, 2.572, 3.146, 3.895",\
                 "0.8954, 0.9402, 1.086, 1.32, 1.626, 1.993, 2.436, 2.953, 3.542, 4.211",\
                 "1.096, 1.151, 1.317, 1.584, 1.928, 2.339, 2.813, 3.368, 3.996, 4.701",\
                 "1.31, 1.375, 1.574, 1.873, 2.262, 2.715, 3.23, 3.818, 4.487, 5.242");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.578, 0.6669, 0.969, 1.53, 2.396, 3.608, 5.197, 7.202, 9.648, 12.56",\
                 "0.5747, 0.665, 0.9684, 1.53, 2.396, 3.608, 5.2, 7.202, 9.648, 12.56",\
                 "0.5619, 0.6547, 0.965, 1.53, 2.396, 3.608, 5.198, 7.202, 9.648, 12.56",\
                 "0.5736, 0.6541, 0.9485, 1.526, 2.395, 3.607, 5.2, 7.201, 9.647, 12.56",\
                 "0.646, 0.7282, 1.001, 1.524, 2.392, 3.607, 5.2, 7.205, 9.648, 12.56",\
                 "0.7294, 0.8136, 1.104, 1.619, 2.41, 3.604, 5.199, 7.203, 9.65, 12.56",\
                 "0.8462, 0.9292, 1.22, 1.762, 2.541, 3.643, 5.198, 7.202, 9.649, 12.56",\
                 "0.9974, 1.081, 1.37, 1.918, 2.738, 3.809, 5.257, 7.205, 9.648, 12.56",\
                 "1.169, 1.262, 1.558, 2.099, 2.943, 4.06, 5.456, 7.285, 9.656, 12.56",\
                 "1.36, 1.462, 1.778, 2.326, 3.163, 4.324, 5.756, 7.512, 9.752, 12.57");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1072, 0.1227, 0.1763, 0.2782, 0.4348, 0.6518, 0.9351, 1.291, 1.726, 2.244",\
                 "0.1195, 0.135, 0.1892, 0.2911, 0.4482, 0.6654, 0.9488, 1.305, 1.74, 2.258",\
                 "0.1601, 0.1784, 0.236, 0.3376, 0.4944, 0.7115, 0.9949, 1.351, 1.786, 2.304",\
                 "0.1888, 0.2137, 0.2926, 0.4192, 0.5838, 0.7997, 1.082, 1.438, 1.872, 2.39",\
                 "0.1921, 0.2234, 0.323, 0.4828, 0.6893, 0.9347, 1.22, 1.575, 2.007, 2.525",\
                 "0.1594, 0.1978, 0.3194, 0.5138, 0.7633, 1.059, 1.396, 1.769, 2.202, 2.717",\
                 "0.0833, 0.1286, 0.2737, 0.5052, 0.8015, 1.149, 1.542, 1.978, 2.452, 2.973",\
                 "-0.0375, 0.015, 0.1823, 0.4522, 0.7973, 1.201, 1.652, 2.151, 2.692, 3.275",\
                 "-0.2061, -0.1462, 0.0442, 0.3505, 0.7469, 1.207, 1.721, 2.282, 2.891, 3.546",\
                 "-0.4245, -0.3577, -0.1446, 0.1995, 0.6444, 1.165, 1.743, 2.372, 3.048, 3.774");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.403, 0.4512, 0.6194, 0.9388, 1.434, 2.126, 3.036, 4.181, 5.581, 7.247",\
                 "0.4125, 0.4612, 0.6306, 0.9516, 1.448, 2.141, 3.052, 4.199, 5.598, 7.264",\
                 "0.4612, 0.5091, 0.6775, 0.9981, 1.495, 2.19, 3.101, 4.248, 5.648, 7.316",\
                 "0.5869, 0.6313, 0.7924, 1.106, 1.598, 2.289, 3.2, 4.345, 5.744, 7.411",\
                 "0.7856, 0.8342, 0.9958, 1.297, 1.778, 2.461, 3.364, 4.506, 5.899, 7.565",\
                 "1.028, 1.082, 1.263, 1.583, 2.053, 2.723, 3.614, 4.747, 6.136, 7.792",\
                 "1.322, 1.381, 1.577, 1.927, 2.427, 3.088, 3.965, 5.082, 6.461, 8.108",\
                 "1.671, 1.736, 1.949, 2.323, 2.863, 3.559, 4.428, 5.532, 6.892, 8.528",\
                 "2.073, 2.146, 2.38, 2.781, 3.353, 4.098, 5.003, 6.096, 7.44, 9.061",\
                 "2.529, 2.609, 2.869, 3.305, 3.909, 4.694, 5.656, 6.784, 8.118, 9.72");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.209, 0.2346, 0.3231, 0.4918, 0.7543, 1.122, 1.603, 2.214, 2.954, 3.84",\
                 "0.2089, 0.2346, 0.3232, 0.4918, 0.7539, 1.121, 1.605, 2.213, 2.957, 3.839",\
                 "0.2516, 0.2695, 0.338, 0.4927, 0.7539, 1.122, 1.603, 2.214, 2.957, 3.841",\
                 "0.3551, 0.3757, 0.4474, 0.5754, 0.7834, 1.123, 1.605, 2.214, 2.954, 3.84",\
                 "0.4899, 0.5128, 0.5909, 0.7372, 0.949, 1.226, 1.636, 2.213, 2.957, 3.843",\
                 "0.6508, 0.6776, 0.7692, 0.9304, 1.164, 1.467, 1.834, 2.322, 2.982, 3.842",\
                 "0.8382, 0.8692, 0.9728, 1.158, 1.414, 1.742, 2.146, 2.616, 3.188, 3.937",\
                 "1.048, 1.083, 1.204, 1.413, 1.701, 2.056, 2.492, 3.002, 3.583, 4.254",\
                 "1.277, 1.32, 1.456, 1.696, 2.016, 2.411, 2.875, 3.419, 4.046, 4.748",\
                 "1.522, 1.572, 1.735, 2.002, 2.362, 2.797, 3.299, 3.878, 4.543, 5.29");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6989, 0.7869, 1.087, 1.646, 2.514, 3.727, 5.317, 7.322, 9.767, 12.68",\
                 "0.6978, 0.7854, 1.086, 1.647, 2.513, 3.726, 5.317, 7.321, 9.768, 12.68",\
                 "0.6905, 0.7801, 1.084, 1.646, 2.513, 3.726, 5.317, 7.321, 9.768, 12.69",\
                 "0.6819, 0.7663, 1.071, 1.644, 2.513, 3.725, 5.319, 7.322, 9.766, 12.68",\
                 "0.7532, 0.8308, 1.102, 1.636, 2.51, 3.725, 5.318, 7.324, 9.768, 12.68",\
                 "0.8358, 0.9214, 1.209, 1.716, 2.52, 3.722, 5.318, 7.324, 9.772, 12.69",\
                 "0.9482, 1.032, 1.326, 1.867, 2.64, 3.753, 5.316, 7.322, 9.769, 12.68",\
                 "1.094, 1.18, 1.47, 2.026, 2.839, 3.908, 5.367, 7.324, 9.767, 12.69",\
                 "1.273, 1.36, 1.655, 2.204, 3.05, 4.157, 5.557, 7.393, 9.775, 12.68",\
                 "1.468, 1.564, 1.875, 2.422, 3.269, 4.428, 5.852, 7.614, 9.866, 12.7");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.0993, 0.1143, 0.1664, 0.2647, 0.418, 0.6326, 0.9158, 1.272, 1.707, 2.225",\
                 "0.1112, 0.1261, 0.1784, 0.2775, 0.4308, 0.6462, 0.929, 1.285, 1.72, 2.238",\
                 "0.1467, 0.1655, 0.224, 0.323, 0.4763, 0.6916, 0.9742, 1.331, 1.765, 2.284",\
                 "0.1666, 0.1924, 0.2725, 0.4001, 0.5651, 0.7794, 1.061, 1.417, 1.852, 2.37",\
                 "0.1603, 0.1939, 0.2963, 0.4581, 0.6663, 0.9139, 1.2, 1.554, 1.987, 2.503",\
                 "0.1226, 0.1641, 0.292, 0.4897, 0.7406, 1.038, 1.376, 1.75, 2.182, 2.697",\
                 "0.0522, 0.1016, 0.2535, 0.4891, 0.7858, 1.132, 1.525, 1.961, 2.435, 2.956",\
                 "-0.0541, 0.0034, 0.1794, 0.451, 0.7967, 1.196, 1.644, 2.139, 2.68, 3.261",\
                 "-0.1988, -0.133, 0.0678, 0.3765, 0.7696, 1.223, 1.73, 2.284, 2.888, 3.54",\
                 "-0.3838, -0.3099, -0.0846, 0.2631, 0.7003, 1.211, 1.776, 2.395, 3.062, 3.781");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.403, 0.4512, 0.6194, 0.9388, 1.434, 2.126, 3.036, 4.181, 5.581, 7.247",\
                 "0.4125, 0.4612, 0.6306, 0.9516, 1.448, 2.141, 3.052, 4.199, 5.598, 7.264",\
                 "0.4612, 0.5091, 0.6775, 0.9981, 1.495, 2.19, 3.101, 4.248, 5.648, 7.316",\
                 "0.5869, 0.6313, 0.7924, 1.106, 1.598, 2.289, 3.2, 4.345, 5.744, 7.411",\
                 "0.7856, 0.8342, 0.9958, 1.297, 1.778, 2.461, 3.364, 4.506, 5.899, 7.565",\
                 "1.028, 1.082, 1.263, 1.583, 2.053, 2.723, 3.614, 4.747, 6.136, 7.792",\
                 "1.322, 1.381, 1.577, 1.927, 2.427, 3.088, 3.965, 5.082, 6.461, 8.108",\
                 "1.671, 1.736, 1.949, 2.323, 2.863, 3.559, 4.428, 5.532, 6.892, 8.528",\
                 "2.073, 2.146, 2.38, 2.781, 3.353, 4.098, 5.003, 6.096, 7.44, 9.061",\
                 "2.529, 2.609, 2.869, 3.305, 3.909, 4.694, 5.656, 6.784, 8.118, 9.72");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.209, 0.2346, 0.3231, 0.4918, 0.7543, 1.122, 1.603, 2.214, 2.954, 3.84",\
                 "0.2089, 0.2346, 0.3232, 0.4918, 0.7539, 1.121, 1.605, 2.213, 2.957, 3.839",\
                 "0.2516, 0.2695, 0.338, 0.4927, 0.7539, 1.122, 1.603, 2.214, 2.957, 3.841",\
                 "0.3551, 0.3757, 0.4474, 0.5754, 0.7834, 1.123, 1.605, 2.214, 2.954, 3.84",\
                 "0.4899, 0.5128, 0.5909, 0.7372, 0.949, 1.226, 1.636, 2.213, 2.957, 3.843",\
                 "0.6508, 0.6776, 0.7692, 0.9304, 1.164, 1.467, 1.834, 2.322, 2.982, 3.842",\
                 "0.8382, 0.8692, 0.9728, 1.158, 1.414, 1.742, 2.146, 2.616, 3.188, 3.937",\
                 "1.048, 1.083, 1.204, 1.413, 1.701, 2.056, 2.492, 3.002, 3.583, 4.254",\
                 "1.277, 1.32, 1.456, 1.696, 2.016, 2.411, 2.875, 3.419, 4.046, 4.748",\
                 "1.522, 1.572, 1.735, 2.002, 2.362, 2.797, 3.299, 3.878, 4.543, 5.29");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6989, 0.7869, 1.087, 1.646, 2.514, 3.727, 5.317, 7.322, 9.767, 12.68",\
                 "0.6978, 0.7854, 1.086, 1.647, 2.513, 3.726, 5.317, 7.321, 9.768, 12.68",\
                 "0.6905, 0.7801, 1.084, 1.646, 2.513, 3.726, 5.317, 7.321, 9.768, 12.69",\
                 "0.6819, 0.7663, 1.071, 1.644, 2.513, 3.725, 5.319, 7.322, 9.766, 12.68",\
                 "0.7532, 0.8308, 1.102, 1.636, 2.51, 3.725, 5.318, 7.324, 9.768, 12.68",\
                 "0.8358, 0.9214, 1.209, 1.716, 2.52, 3.722, 5.318, 7.324, 9.772, 12.69",\
                 "0.9482, 1.032, 1.326, 1.867, 2.64, 3.753, 5.316, 7.322, 9.769, 12.68",\
                 "1.094, 1.18, 1.47, 2.026, 2.839, 3.908, 5.367, 7.324, 9.767, 12.69",\
                 "1.273, 1.36, 1.655, 2.204, 3.05, 4.157, 5.557, 7.393, 9.775, 12.68",\
                 "1.468, 1.564, 1.875, 2.422, 3.269, 4.428, 5.852, 7.614, 9.866, 12.7");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1137, 0.1285, 0.1804, 0.279, 0.4321, 0.6466, 0.9298, 1.286, 1.72, 2.238",\
                 "0.1236, 0.1388, 0.1912, 0.2904, 0.4439, 0.6586, 0.9419, 1.298, 1.733, 2.251",\
                 "0.1449, 0.1623, 0.219, 0.3189, 0.4729, 0.6878, 0.9711, 1.327, 1.762, 2.28",\
                 "0.1547, 0.1772, 0.2473, 0.3636, 0.5264, 0.7418, 1.024, 1.381, 1.815, 2.333",\
                 "0.1365, 0.166, 0.2561, 0.3977, 0.585, 0.821, 1.11, 1.465, 1.899, 2.415",\
                 "0.0826, 0.1195, 0.2325, 0.4069, 0.628, 0.894, 1.211, 1.583, 2.018, 2.535",\
                 "-0.0091, 0.0351, 0.1703, 0.3802, 0.6424, 0.9486, 1.3, 1.705, 2.168, 2.694",\
                 "-0.1423, -0.0909, 0.0679, 0.3118, 0.6191, 0.9728, 1.369, 1.811, 2.31, 2.87",\
                 "-0.3197, -0.2607, -0.0791, 0.2004, 0.5519, 0.9562, 1.404, 1.895, 2.435, 3.034",\
                 "-0.5437, -0.4763, -0.2732, 0.0431, 0.4378, 0.8942, 1.397, 1.945, 2.536, 3.178");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.224, 0.2558, 0.367, 0.5794, 0.9097, 1.372, 1.98, 2.747, 3.682, 4.792",\
                 "0.2351, 0.2671, 0.3795, 0.5925, 0.9229, 1.386, 1.995, 2.761, 3.697, 4.812",\
                 "0.2963, 0.327, 0.4371, 0.6487, 0.9789, 1.441, 2.05, 2.817, 3.75, 4.868",\
                 "0.4241, 0.4574, 0.5663, 0.771, 1.096, 1.555, 2.161, 2.925, 3.857, 4.972",\
                 "0.5899, 0.6289, 0.7565, 0.9759, 1.294, 1.745, 2.344, 3.105, 4.036, 5.143",\
                 "0.7989, 0.8426, 0.9856, 1.233, 1.581, 2.027, 2.617, 3.369, 4.293, 5.398",\
                 "1.052, 1.102, 1.263, 1.535, 1.918, 2.404, 2.993, 3.733, 4.648, 5.745",\
                 "1.35, 1.408, 1.589, 1.889, 2.302, 2.832, 3.467, 4.209, 5.111, 6.198",\
                 "1.696, 1.761, 1.965, 2.297, 2.742, 3.308, 3.994, 4.788, 5.694, 6.767",\
                 "2.09, 2.163, 2.392, 2.76, 3.244, 3.844, 4.572, 5.424, 6.384, 7.464");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1274, 0.1525, 0.2408, 0.409, 0.6712, 1.037, 1.52, 2.129, 2.872, 3.759",\
                 "0.1273, 0.1524, 0.2407, 0.4088, 0.6715, 1.037, 1.52, 2.129, 2.872, 3.759",\
                 "0.1527, 0.1749, 0.2517, 0.4098, 0.6713, 1.037, 1.52, 2.13, 2.873, 3.761",\
                 "0.2136, 0.2364, 0.3143, 0.4622, 0.6924, 1.04, 1.52, 2.129, 2.872, 3.759",\
                 "0.3054, 0.331, 0.414, 0.5608, 0.79, 1.109, 1.547, 2.131, 2.871, 3.755",\
                 "0.417, 0.4468, 0.544, 0.7032, 0.9308, 1.251, 1.672, 2.206, 2.898, 3.758",\
                 "0.5472, 0.5826, 0.6958, 0.8782, 1.121, 1.437, 1.857, 2.387, 3.032, 3.837",\
                 "0.694, 0.7356, 0.8662, 1.075, 1.344, 1.679, 2.093, 2.621, 3.267, 4.034",\
                 "0.849, 0.9008, 1.056, 1.294, 1.595, 1.959, 2.388, 2.911, 3.558, 4.328",\
                 "1.015, 1.077, 1.261, 1.532, 1.87, 2.269, 2.733, 3.266, 3.901, 4.67");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3698, 0.4276, 0.6282, 1.004, 1.585, 2.399, 3.469, 4.817, 6.461, 8.415",\
                 "0.3685, 0.4273, 0.6283, 1.004, 1.585, 2.399, 3.469, 4.816, 6.46, 8.42",\
                 "0.3624, 0.4204, 0.625, 1.003, 1.585, 2.399, 3.469, 4.817, 6.461, 8.419",\
                 "0.4164, 0.4646, 0.6378, 0.9996, 1.584, 2.398, 3.468, 4.816, 6.457, 8.418",\
                 "0.4946, 0.5506, 0.7366, 1.059, 1.59, 2.397, 3.468, 4.816, 6.458, 8.414",\
                 "0.5922, 0.649, 0.848, 1.203, 1.7, 2.426, 3.467, 4.814, 6.458, 8.417",\
                 "0.715, 0.7758, 0.9822, 1.354, 1.896, 2.584, 3.527, 4.818, 6.457, 8.416",\
                 "0.8558, 0.925, 1.143, 1.527, 2.098, 2.838, 3.736, 4.916, 6.471, 8.416",\
                 "1.012, 1.091, 1.331, 1.731, 2.313, 3.098, 4.051, 5.178, 6.614, 8.447",\
                 "1.186, 1.274, 1.538, 1.967, 2.561, 3.366, 4.377, 5.55, 6.925, 8.636");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1137, 0.1285, 0.1804, 0.2787, 0.4322, 0.647, 0.9293, 1.285, 1.721, 2.238",\
                 "0.1237, 0.1389, 0.1915, 0.2903, 0.4438, 0.659, 0.9417, 1.298, 1.733, 2.251",\
                 "0.1456, 0.1629, 0.2195, 0.3194, 0.4734, 0.6884, 0.9714, 1.328, 1.763, 2.281",\
                 "0.1558, 0.1782, 0.2482, 0.3645, 0.5274, 0.7427, 1.025, 1.381, 1.816, 2.334",\
                 "0.1355, 0.1651, 0.2553, 0.3974, 0.585, 0.8213, 1.11, 1.465, 1.899, 2.417",\
                 "0.0761, 0.1131, 0.2266, 0.4021, 0.625, 0.8918, 1.21, 1.583, 2.018, 2.535",\
                 "-0.0275, 0.0175, 0.1549, 0.3674, 0.6331, 0.9417, 1.295, 1.701, 2.166, 2.692",\
                 "-0.1773, -0.1246, 0.0375, 0.2867, 0.599, 0.9569, 1.357, 1.802, 2.303, 2.865",\
                 "-0.3763, -0.3157, -0.13, 0.1577, 0.5161, 0.928, 1.382, 1.879, 2.422, 3.023",\
                 "-0.6265, -0.5585, -0.3491, -0.0233, 0.3824, 0.8485, 1.361, 1.916, 2.513, 3.16");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2486, 0.2872, 0.425, 0.6899, 1.102, 1.679, 2.438, 3.393, 4.559, 5.951",\
                 "0.2592, 0.298, 0.4363, 0.7019, 1.114, 1.692, 2.452, 3.408, 4.573, 5.964",\
                 "0.3205, 0.3574, 0.4927, 0.7566, 1.168, 1.745, 2.505, 3.46, 4.627, 6.017",\
                 "0.4579, 0.4957, 0.6224, 0.8766, 1.283, 1.856, 2.612, 3.567, 4.731, 6.12",\
                 "0.6409, 0.6842, 0.8292, 1.082, 1.476, 2.04, 2.79, 3.738, 4.899, 6.284",\
                 "0.8698, 0.9186, 1.08, 1.364, 1.764, 2.316, 3.054, 3.992, 5.147, 6.527",\
                 "1.15, 1.204, 1.382, 1.691, 2.132, 2.695, 3.421, 4.347, 5.489, 6.86",\
                 "1.481, 1.543, 1.742, 2.075, 2.548, 3.16, 3.899, 4.811, 5.941, 7.299",\
                 "1.865, 1.935, 2.157, 2.521, 3.023, 3.675, 4.468, 5.395, 6.509, 7.851",\
                 "2.305, 2.383, 2.629, 3.03, 3.568, 4.253, 5.094, 6.079, 7.206, 8.534");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1274, 0.1526, 0.2408, 0.4084, 0.6706, 1.038, 1.52, 2.128, 2.872, 3.759",\
                 "0.1273, 0.1524, 0.2405, 0.4085, 0.6701, 1.038, 1.52, 2.129, 2.872, 3.759",\
                 "0.1521, 0.1747, 0.2516, 0.4097, 0.6713, 1.038, 1.52, 2.129, 2.872, 3.757",\
                 "0.2131, 0.2356, 0.3136, 0.4616, 0.692, 1.04, 1.52, 2.128, 2.872, 3.757",\
                 "0.3021, 0.3281, 0.4107, 0.56, 0.79, 1.109, 1.55, 2.132, 2.871, 3.758",\
                 "0.4108, 0.442, 0.539, 0.7012, 0.9316, 1.251, 1.672, 2.206, 2.902, 3.759",\
                 "0.5384, 0.5748, 0.69, 0.876, 1.12, 1.441, 1.86, 2.389, 3.032, 3.835",\
                 "0.6838, 0.728, 0.8604, 1.073, 1.345, 1.682, 2.099, 2.626, 3.27, 4.036",\
                 "0.8378, 0.8926, 1.052, 1.292, 1.597, 1.963, 2.394, 2.921, 3.56, 4.33",\
                 "1.002, 1.066, 1.256, 1.531, 1.875, 2.276, 2.741, 3.277, 3.913, 4.679");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.462, 0.538, 0.7974, 1.273, 1.999, 3.013, 4.345, 6.018, 8.064, 10.5",\
                 "0.4584, 0.5354, 0.7965, 1.273, 2, 3.013, 4.345, 6.022, 8.064, 10.5",\
                 "0.4455, 0.524, 0.7909, 1.271, 1.999, 3.013, 4.344, 6.021, 8.063, 10.5",\
                 "0.4852, 0.548, 0.7828, 1.263, 1.998, 3.013, 4.344, 6.021, 8.064, 10.5",\
                 "0.5622, 0.6312, 0.86, 1.283, 1.99, 3.011, 4.343, 6.02, 8.064, 10.5",\
                 "0.653, 0.7228, 0.9678, 1.402, 2.046, 3.01, 4.343, 6.019, 8.065, 10.51",\
                 "0.7698, 0.842, 1.087, 1.548, 2.209, 3.1, 4.351, 6.018, 8.063, 10.5",\
                 "0.9082, 0.9856, 1.241, 1.704, 2.404, 3.309, 4.476, 6.04, 8.063, 10.5",\
                 "1.064, 1.15, 1.422, 1.892, 2.608, 3.566, 4.731, 6.2, 8.103, 10.5",\
                 "1.237, 1.333, 1.625, 2.116, 2.831, 3.826, 5.051, 6.499, 8.298, 10.56");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1173, 0.1323, 0.1849, 0.2849, 0.4398, 0.656, 0.939, 1.295, 1.73, 2.248",\
                 "0.1275, 0.1428, 0.196, 0.2964, 0.4517, 0.668, 0.9512, 1.307, 1.742, 2.26",\
                 "0.1504, 0.1676, 0.2246, 0.3256, 0.4811, 0.6976, 0.9809, 1.337, 1.772, 2.29",\
                 "0.1633, 0.1855, 0.2553, 0.3721, 0.5357, 0.752, 1.035, 1.391, 1.825, 2.343",\
                 "0.1481, 0.177, 0.266, 0.4073, 0.5951, 0.8316, 1.12, 1.475, 1.909, 2.426",\
                 "0.0958, 0.1318, 0.2428, 0.4163, 0.6373, 0.9034, 1.221, 1.593, 2.029, 2.545",\
                 "0.0028, 0.0455, 0.178, 0.3865, 0.6486, 0.955, 1.307, 1.712, 2.176, 2.703",\
                 "-0.1362, -0.0866, 0.0677, 0.3108, 0.6181, 0.973, 1.37, 1.815, 2.315, 2.876",\
                 "-0.3248, -0.2688, -0.0917, 0.1866, 0.5394, 0.9467, 1.398, 1.892, 2.434, 3.035",\
                 "-0.5654, -0.5025, -0.304, 0.0104, 0.4086, 0.87, 1.379, 1.931, 2.526, 3.172");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3189, 0.3585, 0.4976, 0.763, 1.175, 1.753, 2.511, 3.467, 4.633, 6.025",\
                 "0.33, 0.3695, 0.509, 0.775, 1.188, 1.766, 2.526, 3.482, 4.647, 6.037",\
                 "0.3882, 0.427, 0.5649, 0.8296, 1.242, 1.819, 2.578, 3.535, 4.701, 6.096",\
                 "0.525, 0.5608, 0.6904, 0.948, 1.355, 1.929, 2.685, 3.641, 4.805, 6.195",\
                 "0.7185, 0.7602, 0.9008, 1.151, 1.547, 2.112, 2.862, 3.811, 4.973, 6.358",\
                 "0.9563, 1.003, 1.159, 1.437, 1.834, 2.387, 3.125, 4.066, 5.222, 6.601",\
                 "1.247, 1.298, 1.469, 1.771, 2.205, 2.765, 3.491, 4.419, 5.562, 6.934",\
                 "1.59, 1.647, 1.835, 2.161, 2.628, 3.233, 3.969, 4.882, 6.012, 7.37",\
                 "1.988, 2.053, 2.262, 2.613, 3.109, 3.755, 4.542, 5.466, 6.58, 7.924",\
                 "2.443, 2.515, 2.745, 3.129, 3.656, 4.336, 5.173, 6.152, 7.277, 8.605");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.167, 0.1926, 0.2813, 0.4496, 0.7122, 1.078, 1.563, 2.171, 2.914, 3.8",\
                 "0.1671, 0.1926, 0.2813, 0.4499, 0.7116, 1.079, 1.562, 2.169, 2.915, 3.8",\
                 "0.1948, 0.2162, 0.2925, 0.4509, 0.7123, 1.079, 1.563, 2.171, 2.915, 3.798",\
                 "0.265, 0.2854, 0.3597, 0.5043, 0.7345, 1.082, 1.563, 2.171, 2.914, 3.799",\
                 "0.3701, 0.3917, 0.466, 0.6084, 0.8346, 1.151, 1.588, 2.174, 2.912, 3.799",\
                 "0.4992, 0.524, 0.609, 0.758, 0.982, 1.296, 1.714, 2.249, 2.942, 3.804",\
                 "0.6496, 0.6786, 0.776, 0.9416, 1.176, 1.49, 1.906, 2.433, 3.076, 3.88",\
                 "0.82, 0.8522, 0.9632, 1.155, 1.411, 1.737, 2.15, 2.671, 3.314, 4.078",\
                 "1.001, 1.043, 1.174, 1.387, 1.673, 2.027, 2.45, 2.969, 3.612, 4.376",\
                 "1.195, 1.244, 1.399, 1.643, 1.963, 2.347, 2.8, 3.329, 3.963, 4.73");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5667, 0.6414, 0.898, 1.371, 2.097, 3.112, 4.444, 6.119, 8.164, 10.6",\
                 "0.5651, 0.6404, 0.8969, 1.371, 2.097, 3.112, 4.444, 6.122, 8.164, 10.6",\
                 "0.5545, 0.6316, 0.8928, 1.37, 2.097, 3.112, 4.444, 6.122, 8.164, 10.61",\
                 "0.5671, 0.6344, 0.8799, 1.364, 2.096, 3.111, 4.444, 6.122, 8.165, 10.6",\
                 "0.6498, 0.7176, 0.9412, 1.372, 2.09, 3.111, 4.443, 6.12, 8.164, 10.6",\
                 "0.7396, 0.8102, 1.055, 1.482, 2.131, 3.107, 4.442, 6.12, 8.166, 10.61",\
                 "0.8532, 0.9268, 1.177, 1.634, 2.288, 3.185, 4.448, 6.118, 8.165, 10.6",\
                 "0.997, 1.073, 1.324, 1.792, 2.492, 3.389, 4.563, 6.137, 8.163, 10.6",\
                 "1.16, 1.242, 1.508, 1.977, 2.696, 3.649, 4.81, 6.287, 8.2, 10.61",\
                 "1.34, 1.431, 1.715, 2.198, 2.921, 3.916, 5.136, 6.58, 8.388, 10.66");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1138, 0.1286, 0.1806, 0.2792, 0.4321, 0.6471, 0.9298, 1.286, 1.721, 2.239",\
                 "0.1242, 0.1393, 0.1917, 0.2908, 0.4442, 0.6595, 0.9421, 1.298, 1.733, 2.252",\
                 "0.1461, 0.1634, 0.2201, 0.3199, 0.474, 0.6892, 0.9721, 1.328, 1.763, 2.282",\
                 "0.1554, 0.1778, 0.2481, 0.3646, 0.5274, 0.7429, 1.025, 1.381, 1.816, 2.334",\
                 "0.1334, 0.1631, 0.2542, 0.3966, 0.5846, 0.8212, 1.11, 1.465, 1.899, 2.417",\
                 "0.0724, 0.1098, 0.2243, 0.4007, 0.624, 0.8914, 1.209, 1.582, 2.018, 2.534",\
                 "-0.0322, 0.0133, 0.1517, 0.3654, 0.6319, 0.9414, 1.294, 1.701, 2.165, 2.692",\
                 "-0.1827, -0.1295, 0.0337, 0.2845, 0.5979, 0.9562, 1.356, 1.802, 2.303, 2.865",\
                 "-0.3817, -0.3206, -0.134, 0.1548, 0.5142, 0.9272, 1.382, 1.878, 2.421, 3.023",\
                 "-0.6326, -0.5644, -0.3536, -0.0268, 0.38, 0.8474, 1.36, 1.915, 2.513, 3.159");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2729, 0.3129, 0.4523, 0.718, 1.13, 1.708, 2.467, 3.424, 4.593, 5.984",\
                 "0.2824, 0.3226, 0.4631, 0.729, 1.142, 1.721, 2.481, 3.436, 4.604, 5.997",\
                 "0.3397, 0.3787, 0.5166, 0.7817, 1.194, 1.772, 2.532, 3.489, 4.657, 6.05",\
                 "0.4725, 0.5107, 0.6418, 0.8991, 1.306, 1.88, 2.638, 3.591, 4.759, 6.15",\
                 "0.6522, 0.6966, 0.8437, 1.101, 1.497, 2.062, 2.812, 3.762, 4.925, 6.313",\
                 "0.8795, 0.9287, 1.092, 1.379, 1.783, 2.336, 3.076, 4.017, 5.172, 6.554",\
                 "1.158, 1.213, 1.392, 1.703, 2.147, 2.713, 3.441, 4.369, 5.513, 6.887",\
                 "1.488, 1.551, 1.749, 2.085, 2.56, 3.175, 3.917, 4.832, 5.962, 7.323",\
                 "1.872, 1.943, 2.164, 2.53, 3.034, 3.688, 4.484, 5.414, 6.531, 7.875",\
                 "2.312, 2.39, 2.637, 3.038, 3.577, 4.265, 5.109, 6.096, 7.226, 8.555");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1274, 0.1526, 0.2407, 0.4086, 0.67, 1.037, 1.52, 2.129, 2.872, 3.759",\
                 "0.1273, 0.1524, 0.2408, 0.4089, 0.6696, 1.038, 1.52, 2.129, 2.872, 3.757",\
                 "0.1519, 0.1745, 0.2513, 0.4096, 0.6711, 1.037, 1.52, 2.129, 2.871, 3.758",\
                 "0.2131, 0.2357, 0.3137, 0.4618, 0.6918, 1.04, 1.519, 2.129, 2.871, 3.757",\
                 "0.3033, 0.3291, 0.4131, 0.5606, 0.7904, 1.109, 1.546, 2.131, 2.87, 3.758",\
                 "0.4146, 0.4458, 0.5424, 0.704, 0.9318, 1.251, 1.672, 2.206, 2.9, 3.76",\
                 "0.5444, 0.5808, 0.6956, 0.879, 1.124, 1.443, 1.86, 2.388, 3.033, 3.84",\
                 "0.691, 0.7356, 0.8676, 1.078, 1.349, 1.684, 2.099, 2.627, 3.27, 4.035",\
                 "0.847, 0.9002, 1.06, 1.299, 1.603, 1.967, 2.399, 2.923, 3.565, 4.333",\
                 "1.014, 1.077, 1.266, 1.54, 1.879, 2.282, 2.744, 3.277, 3.914, 4.678");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.474, 0.546, 0.7953, 1.262, 1.986, 2.999, 4.332, 6.008, 8.053, 10.49",\
                 "0.4728, 0.5457, 0.7951, 1.262, 1.986, 2.999, 4.332, 6.006, 8.055, 10.49",\
                 "0.464, 0.5386, 0.793, 1.262, 1.986, 3, 4.331, 6.007, 8.054, 10.49",\
                 "0.4958, 0.5586, 0.7897, 1.258, 1.986, 2.999, 4.332, 6.006, 8.051, 10.49",\
                 "0.569, 0.6374, 0.8662, 1.283, 1.983, 2.998, 4.331, 6.009, 8.054, 10.49",\
                 "0.6546, 0.726, 0.9714, 1.404, 2.042, 3.001, 4.33, 6.008, 8.056, 10.49",\
                 "0.769, 0.8428, 1.09, 1.551, 2.209, 3.095, 4.342, 6.007, 8.056, 10.5",\
                 "0.9076, 0.9862, 1.241, 1.705, 2.406, 3.307, 4.471, 6.033, 8.053, 10.49",\
                 "1.064, 1.15, 1.421, 1.891, 2.611, 3.566, 4.727, 6.196, 8.098, 10.5",\
                 "1.235, 1.33, 1.624, 2.114, 2.831, 3.822, 5.051, 6.496, 8.296, 10.56");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1138, 0.1287, 0.1805, 0.2792, 0.4324, 0.6469, 0.9295, 1.286, 1.72, 2.239",\
                 "0.1243, 0.1394, 0.1918, 0.2907, 0.4445, 0.6593, 0.9423, 1.298, 1.733, 2.252",\
                 "0.1466, 0.1639, 0.2205, 0.3203, 0.4743, 0.6895, 0.9723, 1.328, 1.763, 2.282",\
                 "0.1564, 0.1787, 0.2489, 0.3653, 0.5281, 0.7435, 1.026, 1.382, 1.817, 2.334",\
                 "0.1331, 0.1627, 0.2538, 0.3965, 0.5847, 0.8214, 1.11, 1.466, 1.899, 2.417",\
                 "0.0677, 0.1052, 0.2201, 0.3974, 0.6216, 0.8901, 1.209, 1.582, 2.018, 2.535",\
                 "-0.0452, 0.0006, 0.1405, 0.3559, 0.6243, 0.9359, 1.291, 1.698, 2.163, 2.691",\
                 "-0.2084, -0.1545, 0.0111, 0.2651, 0.5822, 0.9446, 1.347, 1.796, 2.298, 2.861",\
                 "-0.4255, -0.3628, -0.1721, 0.1221, 0.4872, 0.9057, 1.364, 1.865, 2.411, 3.015",\
                 "-0.697, -0.6266, -0.4116, -0.0778, 0.3369, 0.8112, 1.331, 1.892, 2.494, 3.145");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3011, 0.3484, 0.5148, 0.8324, 1.326, 2.019, 2.928, 4.073, 5.472, 7.138",\
                 "0.3089, 0.3566, 0.5243, 0.843, 1.338, 2.03, 2.94, 4.086, 5.484, 7.15",\
                 "0.3663, 0.4124, 0.5767, 0.8943, 1.388, 2.08, 2.99, 4.138, 5.535, 7.202",\
                 "0.5053, 0.5478, 0.7021, 1.01, 1.498, 2.185, 3.093, 4.237, 5.633, 7.3",\
                 "0.7002, 0.7497, 0.9144, 1.211, 1.686, 2.364, 3.262, 4.4, 5.793, 7.457",\
                 "0.9441, 0.9986, 1.181, 1.503, 1.97, 2.634, 3.52, 4.648, 6.034, 7.687",\
                 "1.244, 1.304, 1.501, 1.851, 2.352, 3.009, 3.88, 4.993, 6.365, 8.01",\
                 "1.601, 1.669, 1.885, 2.257, 2.794, 3.488, 4.353, 5.449, 6.804, 8.435",\
                 "2.017, 2.093, 2.331, 2.731, 3.297, 4.036, 4.939, 6.026, 7.362, 8.978",\
                 "2.496, 2.579, 2.843, 3.277, 3.873, 4.649, 5.604, 6.725, 8.052, 9.647");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1274, 0.1527, 0.2407, 0.4092, 0.6712, 1.037, 1.52, 2.128, 2.872, 3.758",\
                 "0.1273, 0.1525, 0.2407, 0.4081, 0.6718, 1.037, 1.52, 2.129, 2.872, 3.758",\
                 "0.1517, 0.1744, 0.251, 0.4094, 0.6712, 1.038, 1.52, 2.129, 2.872, 3.758",\
                 "0.2124, 0.2349, 0.3133, 0.4613, 0.6918, 1.04, 1.519, 2.129, 2.872, 3.759",\
                 "0.3005, 0.3266, 0.4112, 0.56, 0.7902, 1.109, 1.547, 2.133, 2.871, 3.757",\
                 "0.4088, 0.4404, 0.5386, 0.7014, 0.932, 1.253, 1.672, 2.207, 2.903, 3.758",\
                 "0.5366, 0.5738, 0.689, 0.8758, 1.123, 1.442, 1.86, 2.389, 3.034, 3.841",\
                 "0.68, 0.725, 0.8612, 1.074, 1.348, 1.685, 2.104, 2.629, 3.272, 4.037",\
                 "0.835, 0.8898, 1.051, 1.295, 1.602, 1.969, 2.404, 2.926, 3.572, 4.334",\
                 "1.002, 1.065, 1.256, 1.537, 1.88, 2.283, 2.75, 3.285, 3.924, 4.685");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5748, 0.6639, 0.9681, 1.53, 2.396, 3.608, 5.2, 7.202, 9.647, 12.56",\
                 "0.5715, 0.6618, 0.967, 1.53, 2.395, 3.607, 5.197, 7.201, 9.648, 12.56",\
                 "0.5584, 0.6512, 0.9634, 1.529, 2.395, 3.607, 5.197, 7.205, 9.647, 12.56",\
                 "0.5736, 0.6541, 0.948, 1.525, 2.395, 3.606, 5.199, 7.204, 9.645, 12.56",\
                 "0.6434, 0.7256, 0.9988, 1.523, 2.392, 3.606, 5.199, 7.202, 9.647, 12.56",\
                 "0.7208, 0.805, 1.1, 1.614, 2.41, 3.604, 5.198, 7.203, 9.649, 12.56",\
                 "0.8268, 0.9128, 1.207, 1.754, 2.536, 3.641, 5.198, 7.202, 9.65, 12.56",\
                 "0.9608, 1.046, 1.343, 1.899, 2.727, 3.803, 5.255, 7.204, 9.648, 12.56",\
                 "1.116, 1.209, 1.512, 2.064, 2.919, 4.045, 5.447, 7.28, 9.656, 12.56",\
                 "1.288, 1.39, 1.713, 2.267, 3.127, 4.3, 5.738, 7.5, 9.748, 12.58");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1173, 0.1324, 0.1851, 0.2851, 0.44, 0.6561, 0.9392, 1.295, 1.73, 2.248",\
                 "0.1279, 0.1433, 0.1965, 0.2969, 0.4522, 0.6685, 0.9517, 1.308, 1.742, 2.26",\
                 "0.1513, 0.1686, 0.2255, 0.3265, 0.482, 0.6985, 0.9817, 1.338, 1.773, 2.29",\
                 "0.1637, 0.1857, 0.2559, 0.3728, 0.5364, 0.7528, 1.036, 1.391, 1.826, 2.344",\
                 "0.1456, 0.1745, 0.2644, 0.4065, 0.5949, 0.8315, 1.12, 1.475, 1.909, 2.426",\
                 "0.0875, 0.1239, 0.2366, 0.4115, 0.6341, 0.9016, 1.219, 1.592, 2.028, 2.544",\
                 "-0.0149, 0.0286, 0.1636, 0.3752, 0.6401, 0.949, 1.303, 1.709, 2.174, 2.701",\
                 "-0.1674, -0.1167, 0.0416, 0.2892, 0.6015, 0.9604, 1.361, 1.808, 2.309, 2.872",\
                 "-0.3736, -0.3156, -0.1342, 0.1513, 0.5103, 0.9238, 1.38, 1.878, 2.424, 3.026",\
                 "-0.635, -0.5702, -0.3659, -0.0432, 0.3637, 0.8333, 1.349, 1.908, 2.508, 3.158");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3873, 0.4351, 0.6024, 0.9204, 1.414, 2.107, 3.017, 4.162, 5.562, 7.227",\
                 "0.3961, 0.444, 0.612, 0.931, 1.426, 2.119, 3.028, 4.174, 5.573, 7.239",\
                 "0.4508, 0.498, 0.6643, 0.982, 1.476, 2.169, 3.079, 4.226, 5.624, 7.291",\
                 "0.583, 0.6269, 0.7858, 1.096, 1.585, 2.273, 3.181, 4.324, 5.722, 7.389",\
                 "0.7884, 0.8362, 0.9961, 1.294, 1.771, 2.45, 3.351, 4.489, 5.881, 7.546",\
                 "1.041, 1.094, 1.272, 1.587, 2.053, 2.719, 3.607, 4.737, 6.121, 7.777",\
                 "1.35, 1.407, 1.599, 1.942, 2.436, 3.091, 3.964, 5.079, 6.454, 8.098",\
                 "1.72, 1.783, 1.988, 2.354, 2.884, 3.573, 4.436, 5.534, 6.89, 8.521",\
                 "2.149, 2.219, 2.445, 2.834, 3.393, 4.127, 5.022, 6.109, 7.449, 9.063",\
                 "2.642, 2.719, 2.968, 3.385, 3.973, 4.743, 5.692, 6.808, 8.137, 9.734");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.167, 0.1926, 0.2814, 0.4499, 0.7123, 1.079, 1.563, 2.171, 2.915, 3.796",\
                 "0.1671, 0.1926, 0.2813, 0.45, 0.7125, 1.079, 1.561, 2.171, 2.914, 3.799",\
                 "0.1944, 0.2156, 0.2922, 0.4508, 0.712, 1.079, 1.563, 2.171, 2.914, 3.799",\
                 "0.2644, 0.2847, 0.3595, 0.5042, 0.7339, 1.082, 1.563, 2.17, 2.914, 3.796",\
                 "0.3687, 0.3911, 0.4661, 0.609, 0.8342, 1.151, 1.59, 2.175, 2.914, 3.8",\
                 "0.498, 0.523, 0.6076, 0.7586, 0.9814, 1.298, 1.715, 2.248, 2.94, 3.804",\
                 "0.6478, 0.6774, 0.775, 0.9438, 1.179, 1.492, 1.908, 2.432, 3.076, 3.881",\
                 "0.8174, 0.8518, 0.9654, 1.156, 1.414, 1.74, 2.154, 2.675, 3.317, 4.079",\
                 "0.9994, 1.042, 1.175, 1.391, 1.679, 2.032, 2.459, 2.975, 3.619, 4.378",\
                 "1.196, 1.243, 1.401, 1.648, 1.969, 2.356, 2.81, 3.34, 3.972, 4.73");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6964, 0.7844, 1.085, 1.646, 2.513, 3.726, 5.319, 7.321, 9.768, 12.68",\
                 "0.6952, 0.784, 1.085, 1.646, 2.512, 3.725, 5.316, 7.322, 9.768, 12.68",\
                 "0.687, 0.7776, 1.083, 1.646, 2.513, 3.726, 5.316, 7.324, 9.768, 12.68",\
                 "0.6817, 0.7658, 1.07, 1.643, 2.513, 3.725, 5.318, 7.321, 9.765, 12.68",\
                 "0.7504, 0.8298, 1.101, 1.636, 2.51, 3.724, 5.318, 7.322, 9.768, 12.68",\
                 "0.8308, 0.915, 1.205, 1.713, 2.52, 3.722, 5.317, 7.322, 9.77, 12.68",\
                 "0.9298, 1.019, 1.317, 1.858, 2.636, 3.751, 5.316, 7.321, 9.769, 12.69",\
                 "1.065, 1.149, 1.447, 2.007, 2.828, 3.903, 5.365, 7.323, 9.769, 12.69",\
                 "1.221, 1.313, 1.613, 2.172, 3.026, 4.143, 5.548, 7.392, 9.774, 12.69",\
                 "1.402, 1.5, 1.812, 2.371, 3.233, 4.403, 5.836, 7.606, 9.858, 12.69");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1175, 0.1326, 0.1852, 0.2851, 0.44, 0.6562, 0.9392, 1.295, 1.73, 2.248",\
                 "0.1279, 0.1433, 0.1965, 0.2969, 0.4522, 0.6685, 0.9517, 1.308, 1.742, 2.26",\
                 "0.1508, 0.1682, 0.2251, 0.3261, 0.4817, 0.6982, 0.9815, 1.338, 1.772, 2.29",\
                 "0.1629, 0.1849, 0.2551, 0.3721, 0.5358, 0.7523, 1.035, 1.391, 1.825, 2.343",\
                 "0.1461, 0.1752, 0.2648, 0.4067, 0.5948, 0.8314, 1.12, 1.475, 1.909, 2.426",\
                 "0.0927, 0.1289, 0.2409, 0.4152, 0.6366, 0.9032, 1.22, 1.593, 2.028, 2.545",\
                 "-0.0012, 0.0417, 0.175, 0.3848, 0.6476, 0.9547, 1.307, 1.712, 2.176, 2.703",\
                 "-0.1409, -0.091, 0.0645, 0.3085, 0.6171, 0.9722, 1.37, 1.814, 2.315, 2.876",\
                 "-0.3294, -0.273, -0.0957, 0.184, 0.5376, 0.9456, 1.398, 1.892, 2.434, 3.035",\
                 "-0.5702, -0.5062, -0.3075, 0.0081, 0.4067, 0.8688, 1.378, 1.931, 2.526, 3.172");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3458, 0.3856, 0.5258, 0.7914, 1.204, 1.782, 2.542, 3.499, 4.67, 6.059",\
                 "0.3557, 0.396, 0.5365, 0.803, 1.216, 1.794, 2.554, 3.511, 4.679, 6.074",\
                 "0.411, 0.4507, 0.5898, 0.8554, 1.268, 1.847, 2.606, 3.566, 4.732, 6.125",\
                 "0.5413, 0.5786, 0.7115, 0.9711, 1.379, 1.954, 2.712, 3.666, 4.834, 6.225",\
                 "0.7319, 0.7741, 0.9163, 1.17, 1.569, 2.134, 2.886, 3.836, 5.001, 6.389",\
                 "0.9675, 1.014, 1.172, 1.453, 1.853, 2.408, 3.148, 4.09, 5.246, 6.629",\
                 "1.256, 1.308, 1.48, 1.784, 2.221, 2.784, 3.512, 4.441, 5.586, 6.96",\
                 "1.598, 1.656, 1.845, 2.171, 2.642, 3.249, 3.988, 4.904, 6.035, 7.396",\
                 "1.996, 2.06, 2.269, 2.622, 3.12, 3.769, 4.558, 5.485, 6.602, 7.947",\
                 "2.45, 2.522, 2.753, 3.137, 3.667, 4.348, 5.188, 6.17, 7.297, 8.627");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1673, 0.1928, 0.2818, 0.4499, 0.7121, 1.078, 1.562, 2.17, 2.914, 3.797",\
                 "0.1673, 0.1929, 0.2815, 0.4499, 0.7127, 1.079, 1.562, 2.17, 2.911, 3.8",\
                 "0.1948, 0.2162, 0.2925, 0.4511, 0.7125, 1.08, 1.563, 2.17, 2.915, 3.8",\
                 "0.2656, 0.2858, 0.3603, 0.5046, 0.7342, 1.082, 1.562, 2.17, 2.914, 3.8",\
                 "0.3723, 0.3945, 0.4684, 0.6098, 0.8352, 1.151, 1.59, 2.173, 2.914, 3.798",\
                 "0.5046, 0.5288, 0.613, 0.761, 0.9828, 1.297, 1.715, 2.249, 2.941, 3.803",\
                 "0.657, 0.6852, 0.7814, 0.9474, 1.18, 1.491, 1.906, 2.433, 3.075, 3.881",\
                 "0.8288, 0.863, 0.9724, 1.159, 1.415, 1.739, 2.153, 2.673, 3.314, 4.078",\
                 "1.012, 1.054, 1.183, 1.395, 1.679, 2.032, 2.452, 2.97, 3.61, 4.377",\
                 "1.208, 1.257, 1.409, 1.652, 1.97, 2.352, 2.804, 3.33, 3.963, 4.728");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5722, 0.6437, 0.8927, 1.36, 2.084, 3.098, 4.432, 6.108, 8.159, 10.59",\
                 "0.5717, 0.6439, 0.8919, 1.359, 2.084, 3.099, 4.429, 6.107, 8.156, 10.59",\
                 "0.5662, 0.6397, 0.8912, 1.359, 2.084, 3.099, 4.43, 6.111, 8.156, 10.59",\
                 "0.5769, 0.6433, 0.8844, 1.358, 2.084, 3.098, 4.431, 6.107, 8.159, 10.59",\
                 "0.6564, 0.7238, 0.9462, 1.371, 2.081, 3.098, 4.43, 6.109, 8.159, 10.6",\
                 "0.7428, 0.8158, 1.059, 1.484, 2.128, 3.099, 4.43, 6.108, 8.157, 10.6",\
                 "0.8548, 0.9292, 1.179, 1.637, 2.288, 3.179, 4.438, 6.107, 8.156, 10.6",\
                 "0.9954, 1.071, 1.326, 1.796, 2.492, 3.387, 4.557, 6.13, 8.155, 10.6",\
                 "1.16, 1.242, 1.506, 1.979, 2.698, 3.65, 4.808, 6.284, 8.194, 10.6",\
                 "1.339, 1.429, 1.713, 2.198, 2.922, 3.91, 5.134, 6.577, 8.38, 10.66");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1175, 0.1326, 0.1851, 0.2851, 0.44, 0.6562, 0.9392, 1.295, 1.73, 2.248",\
                 "0.1279, 0.1433, 0.1965, 0.2969, 0.4523, 0.6686, 0.9517, 1.308, 1.742, 2.26",\
                 "0.1513, 0.1686, 0.2255, 0.3265, 0.482, 0.6985, 0.9818, 1.338, 1.773, 2.291",\
                 "0.1637, 0.1857, 0.2559, 0.3728, 0.5364, 0.7529, 1.036, 1.392, 1.826, 2.344",\
                 "0.1456, 0.1746, 0.2645, 0.4065, 0.5949, 0.8315, 1.12, 1.475, 1.909, 2.426",\
                 "0.0876, 0.124, 0.2367, 0.4116, 0.6342, 0.9017, 1.22, 1.592, 2.028, 2.545",\
                 "-0.0148, 0.0287, 0.1637, 0.3752, 0.6401, 0.9491, 1.303, 1.709, 2.174, 2.701",\
                 "-0.1673, -0.1164, 0.0417, 0.2894, 0.6017, 0.9605, 1.361, 1.808, 2.309, 2.872",\
                 "-0.3734, -0.3151, -0.134, 0.1515, 0.5104, 0.9238, 1.38, 1.878, 2.423, 3.027",\
                 "-0.6347, -0.5698, -0.3656, -0.043, 0.3639, 0.8335, 1.349, 1.908, 2.508, 3.158");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3877, 0.4355, 0.6028, 0.9208, 1.415, 2.107, 3.017, 4.162, 5.562, 7.227",\
                 "0.3965, 0.4444, 0.6124, 0.9314, 1.426, 2.119, 3.028, 4.174, 5.573, 7.24",\
                 "0.4512, 0.4984, 0.6647, 0.9824, 1.477, 2.169, 3.079, 4.225, 5.624, 7.291",\
                 "0.5833, 0.6273, 0.7859, 1.096, 1.585, 2.274, 3.18, 4.325, 5.722, 7.389",\
                 "0.7888, 0.8371, 0.9964, 1.294, 1.772, 2.451, 3.351, 4.489, 5.881, 7.546",\
                 "1.042, 1.094, 1.272, 1.587, 2.053, 2.719, 3.607, 4.736, 6.121, 7.778",\
                 "1.351, 1.408, 1.6, 1.942, 2.436, 3.092, 3.964, 5.078, 6.453, 8.098",\
                 "1.721, 1.783, 1.989, 2.354, 2.885, 3.573, 4.436, 5.534, 6.89, 8.523",\
                 "2.151, 2.22, 2.446, 2.834, 3.393, 4.127, 5.022, 6.109, 7.448, 9.064",\
                 "2.642, 2.72, 2.968, 3.385, 3.973, 4.743, 5.694, 6.81, 8.137, 9.731");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1672, 0.1929, 0.2815, 0.4501, 0.7124, 1.08, 1.562, 2.169, 2.915, 3.797",\
                 "0.1673, 0.1929, 0.2815, 0.45, 0.7119, 1.079, 1.563, 2.17, 2.914, 3.8",\
                 "0.1946, 0.2158, 0.2924, 0.4512, 0.7123, 1.079, 1.562, 2.171, 2.912, 3.8",\
                 "0.2647, 0.285, 0.3599, 0.5043, 0.7346, 1.081, 1.562, 2.172, 2.913, 3.8",\
                 "0.3691, 0.3914, 0.4665, 0.6092, 0.8352, 1.151, 1.59, 2.175, 2.915, 3.8",\
                 "0.4986, 0.5234, 0.608, 0.7592, 0.9818, 1.298, 1.715, 2.249, 2.941, 3.799",\
                 "0.6484, 0.6778, 0.7754, 0.9442, 1.179, 1.492, 1.907, 2.433, 3.076, 3.881",\
                 "0.8182, 0.8524, 0.9662, 1.157, 1.415, 1.741, 2.153, 2.675, 3.318, 4.079",\
                 "1.001, 1.043, 1.175, 1.391, 1.68, 2.034, 2.46, 2.976, 3.618, 4.377",\
                 "1.197, 1.246, 1.402, 1.649, 1.97, 2.357, 2.811, 3.338, 3.972, 4.737");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6969, 0.7849, 1.086, 1.646, 2.513, 3.726, 5.319, 7.322, 9.768, 12.68",\
                 "0.6963, 0.7845, 1.086, 1.646, 2.513, 3.725, 5.317, 7.321, 9.768, 12.68",\
                 "0.6878, 0.7781, 1.083, 1.646, 2.513, 3.726, 5.317, 7.322, 9.768, 12.69",\
                 "0.6818, 0.7663, 1.07, 1.644, 2.513, 3.725, 5.319, 7.322, 9.765, 12.68",\
                 "0.751, 0.8298, 1.101, 1.637, 2.511, 3.725, 5.318, 7.324, 9.768, 12.68",\
                 "0.8304, 0.9162, 1.205, 1.714, 2.52, 3.722, 5.317, 7.323, 9.772, 12.68",\
                 "0.9304, 1.017, 1.316, 1.859, 2.636, 3.752, 5.317, 7.322, 9.771, 12.69",\
                 "1.064, 1.15, 1.447, 2.007, 2.829, 3.903, 5.365, 7.324, 9.769, 12.69",\
                 "1.222, 1.312, 1.614, 2.173, 3.025, 4.144, 5.551, 7.391, 9.775, 12.68",\
                 "1.402, 1.498, 1.814, 2.371, 3.238, 4.404, 5.837, 7.604, 9.86, 12.7");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1217, 0.1369, 0.1905, 0.2921, 0.4488, 0.6659, 0.9491, 1.305, 1.74, 2.258",\
                 "0.132, 0.1478, 0.2019, 0.304, 0.461, 0.6783, 0.9617, 1.318, 1.753, 2.27",\
                 "0.1565, 0.1741, 0.2312, 0.3335, 0.4908, 0.7082, 0.9917, 1.348, 1.783, 2.301",\
                 "0.1723, 0.1942, 0.2641, 0.3813, 0.5454, 0.7626, 1.046, 1.402, 1.836, 2.354",\
                 "0.1617, 0.1898, 0.277, 0.4178, 0.6057, 0.8419, 1.13, 1.486, 1.919, 2.437",\
                 "0.1134, 0.1477, 0.2559, 0.427, 0.6471, 0.9134, 1.23, 1.603, 2.038, 2.555",\
                 "0.0194, 0.0601, 0.1889, 0.3949, 0.656, 0.9626, 1.315, 1.721, 2.184, 2.711",\
                 "-0.1255, -0.0779, 0.0727, 0.3134, 0.6207, 0.976, 1.374, 1.82, 2.321, 2.883",\
                 "-0.3241, -0.2691, -0.0965, 0.1801, 0.5331, 0.9422, 1.396, 1.892, 2.436, 3.038",\
                 "-0.5768, -0.5166, -0.3218, -0.0091, 0.3902, 0.8545, 1.367, 1.923, 2.522, 3.171");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4752, 0.5231, 0.6906, 1.009, 1.503, 2.196, 3.105, 4.251, 5.649, 7.317",\
                 "0.4843, 0.5325, 0.7004, 1.02, 1.514, 2.207, 3.117, 4.263, 5.663, 7.331",\
                 "0.5378, 0.5853, 0.7524, 1.071, 1.565, 2.258, 3.168, 4.313, 5.713, 7.38",\
                 "0.6638, 0.7094, 0.871, 1.183, 1.673, 2.361, 3.27, 4.415, 5.811, 7.478",\
                 "0.8751, 0.9208, 1.077, 1.378, 1.857, 2.538, 3.439, 4.579, 5.971, 7.635",\
                 "1.136, 1.187, 1.361, 1.67, 2.137, 2.805, 3.694, 4.823, 6.209, 7.865",\
                 "1.453, 1.508, 1.695, 2.033, 2.52, 3.176, 4.05, 5.166, 6.54, 8.187",\
                 "1.832, 1.892, 2.091, 2.451, 2.975, 3.656, 4.52, 5.62, 6.977, 8.612",\
                 "2.274, 2.339, 2.555, 2.934, 3.49, 4.217, 5.106, 6.193, 7.535, 9.148",\
                 "2.78, 2.85, 3.087, 3.493, 4.073, 4.839, 5.781, 6.893, 8.22, 9.818");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2089, 0.2346, 0.323, 0.4917, 0.7537, 1.12, 1.605, 2.214, 2.957, 3.843",\
                 "0.2091, 0.2346, 0.3232, 0.4918, 0.7538, 1.121, 1.605, 2.214, 2.956, 3.842",\
                 "0.2369, 0.2573, 0.3338, 0.4929, 0.7539, 1.121, 1.605, 2.212, 2.954, 3.842",\
                 "0.3156, 0.3344, 0.4057, 0.5468, 0.7764, 1.125, 1.605, 2.212, 2.955, 3.842",\
                 "0.4338, 0.4529, 0.5209, 0.657, 0.8796, 1.194, 1.632, 2.217, 2.955, 3.842",\
                 "0.5818, 0.6014, 0.675, 0.8146, 1.032, 1.344, 1.757, 2.292, 2.983, 3.842",\
                 "0.7514, 0.7752, 0.857, 1.011, 1.236, 1.542, 1.953, 2.476, 3.118, 3.924",\
                 "0.943, 0.9714, 1.063, 1.236, 1.48, 1.798, 2.204, 2.724, 3.361, 4.121",\
                 "1.15, 1.183, 1.293, 1.485, 1.755, 2.096, 2.513, 3.027, 3.667, 4.422",\
                 "1.371, 1.408, 1.539, 1.757, 2.056, 2.426, 2.872, 3.392, 4.021, 4.78");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.8156, 0.9023, 1.201, 1.764, 2.63, 3.844, 5.438, 7.442, 9.887, 12.8",\
                 "0.8155, 0.9023, 1.202, 1.763, 2.631, 3.845, 5.436, 7.442, 9.889, 12.81",\
                 "0.811, 0.8986, 1.201, 1.763, 2.63, 3.844, 5.436, 7.441, 9.888, 12.81",\
                 "0.7955, 0.8827, 1.191, 1.761, 2.63, 3.844, 5.438, 7.445, 9.886, 12.8",\
                 "0.8516, 0.9304, 1.206, 1.752, 2.628, 3.844, 5.438, 7.444, 9.889, 12.81",\
                 "0.9404, 1.025, 1.308, 1.814, 2.631, 3.84, 5.437, 7.444, 9.889, 12.8",\
                 "1.039, 1.125, 1.428, 1.96, 2.737, 3.862, 5.435, 7.442, 9.891, 12.81",\
                 "1.166, 1.254, 1.558, 2.116, 2.929, 4.004, 5.476, 7.444, 9.89, 12.81",\
                 "1.327, 1.415, 1.718, 2.282, 3.132, 4.242, 5.65, 7.504, 9.895, 12.8",\
                 "1.511, 1.605, 1.916, 2.478, 3.347, 4.508, 5.935, 7.708, 9.97, 12.82");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1137, 0.1285, 0.1804, 0.279, 0.4321, 0.6466, 0.9298, 1.286, 1.72, 2.238",\
                 "0.1236, 0.1388, 0.1912, 0.2904, 0.4439, 0.6586, 0.9419, 1.298, 1.733, 2.251",\
                 "0.1449, 0.1623, 0.219, 0.3189, 0.4729, 0.6878, 0.9711, 1.327, 1.762, 2.28",\
                 "0.1547, 0.1772, 0.2473, 0.3636, 0.5264, 0.7418, 1.024, 1.381, 1.815, 2.333",\
                 "0.1365, 0.166, 0.2561, 0.3977, 0.585, 0.821, 1.11, 1.465, 1.899, 2.415",\
                 "0.0826, 0.1195, 0.2325, 0.4069, 0.628, 0.894, 1.211, 1.583, 2.018, 2.535",\
                 "-0.0091, 0.0351, 0.1703, 0.3802, 0.6424, 0.9486, 1.3, 1.705, 2.168, 2.694",\
                 "-0.1423, -0.0909, 0.0679, 0.3118, 0.6191, 0.9728, 1.369, 1.811, 2.31, 2.87",\
                 "-0.3197, -0.2607, -0.0791, 0.2004, 0.5519, 0.9562, 1.404, 1.895, 2.435, 3.034",\
                 "-0.5437, -0.4763, -0.2732, 0.0431, 0.4378, 0.8942, 1.397, 1.945, 2.536, 3.178");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4752, 0.5231, 0.6906, 1.009, 1.503, 2.196, 3.105, 4.251, 5.649, 7.317",\
                 "0.4843, 0.5325, 0.7004, 1.02, 1.514, 2.207, 3.117, 4.263, 5.663, 7.331",\
                 "0.5378, 0.5853, 0.7524, 1.071, 1.565, 2.258, 3.168, 4.313, 5.713, 7.38",\
                 "0.6638, 0.7094, 0.871, 1.183, 1.673, 2.361, 3.27, 4.415, 5.811, 7.478",\
                 "0.8751, 0.9208, 1.077, 1.378, 1.857, 2.538, 3.439, 4.579, 5.971, 7.635",\
                 "1.136, 1.187, 1.361, 1.67, 2.137, 2.805, 3.694, 4.823, 6.209, 7.865",\
                 "1.453, 1.508, 1.695, 2.033, 2.52, 3.176, 4.05, 5.166, 6.54, 8.187",\
                 "1.832, 1.892, 2.091, 2.451, 2.975, 3.656, 4.52, 5.62, 6.977, 8.612",\
                 "2.274, 2.339, 2.555, 2.934, 3.49, 4.217, 5.106, 6.193, 7.535, 9.148",\
                 "2.78, 2.85, 3.087, 3.493, 4.073, 4.839, 5.781, 6.893, 8.22, 9.818");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2089, 0.2346, 0.323, 0.4917, 0.7537, 1.12, 1.605, 2.214, 2.957, 3.843",\
                 "0.2091, 0.2346, 0.3232, 0.4918, 0.7538, 1.121, 1.605, 2.214, 2.956, 3.842",\
                 "0.2369, 0.2573, 0.3338, 0.4929, 0.7539, 1.121, 1.605, 2.212, 2.954, 3.842",\
                 "0.3156, 0.3344, 0.4057, 0.5468, 0.7764, 1.125, 1.605, 2.212, 2.955, 3.842",\
                 "0.4338, 0.4529, 0.5209, 0.657, 0.8796, 1.194, 1.632, 2.217, 2.955, 3.842",\
                 "0.5818, 0.6014, 0.675, 0.8146, 1.032, 1.344, 1.757, 2.292, 2.983, 3.842",\
                 "0.7514, 0.7752, 0.857, 1.011, 1.236, 1.542, 1.953, 2.476, 3.118, 3.924",\
                 "0.943, 0.9714, 1.063, 1.236, 1.48, 1.798, 2.204, 2.724, 3.361, 4.121",\
                 "1.15, 1.183, 1.293, 1.485, 1.755, 2.096, 2.513, 3.027, 3.667, 4.422",\
                 "1.371, 1.408, 1.539, 1.757, 2.056, 2.426, 2.872, 3.392, 4.021, 4.78");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.8156, 0.9023, 1.201, 1.764, 2.63, 3.844, 5.438, 7.442, 9.887, 12.8",\
                 "0.8155, 0.9023, 1.202, 1.763, 2.631, 3.845, 5.436, 7.442, 9.889, 12.81",\
                 "0.811, 0.8986, 1.201, 1.763, 2.63, 3.844, 5.436, 7.441, 9.888, 12.81",\
                 "0.7955, 0.8827, 1.191, 1.761, 2.63, 3.844, 5.438, 7.445, 9.886, 12.8",\
                 "0.8516, 0.9304, 1.206, 1.752, 2.628, 3.844, 5.438, 7.444, 9.889, 12.81",\
                 "0.9404, 1.025, 1.308, 1.814, 2.631, 3.84, 5.437, 7.444, 9.889, 12.8",\
                 "1.039, 1.125, 1.428, 1.96, 2.737, 3.862, 5.435, 7.442, 9.891, 12.81",\
                 "1.166, 1.254, 1.558, 2.116, 2.929, 4.004, 5.476, 7.444, 9.89, 12.81",\
                 "1.327, 1.415, 1.718, 2.282, 3.132, 4.242, 5.65, 7.504, 9.895, 12.8",\
                 "1.511, 1.605, 1.916, 2.478, 3.347, 4.508, 5.935, 7.708, 9.97, 12.82");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1715, 0.1879, 0.2436, 0.3466, 0.5035, 0.7211, 1.006, 1.363, 1.799, 2.318",\
                 "0.1836, 0.1999, 0.2555, 0.3587, 0.5157, 0.7333, 1.018, 1.375, 1.811, 2.33",\
                 "0.2291, 0.2452, 0.3002, 0.4029, 0.5597, 0.7772, 1.062, 1.419, 1.855, 2.374",\
                 "0.2847, 0.3062, 0.375, 0.4896, 0.6474, 0.8638, 1.148, 1.505, 1.94, 2.459",\
                 "0.3181, 0.3445, 0.431, 0.5746, 0.7677, 1.002, 1.286, 1.642, 2.075, 2.593",\
                 "0.3226, 0.3558, 0.4611, 0.6349, 0.8656, 1.147, 1.472, 1.838, 2.27, 2.786",\
                 "0.2989, 0.337, 0.4612, 0.6655, 0.9365, 1.263, 1.64, 2.064, 2.528, 3.046",\
                 "0.242, 0.2868, 0.43, 0.6645, 0.9778, 1.351, 1.779, 2.259, 2.787, 3.359",\
                 "0.1521, 0.2024, 0.3641, 0.63, 0.9844, 1.406, 1.888, 2.424, 3.013, 3.653",\
                 "0.0285, 0.0844, 0.2631, 0.5602, 0.9554, 1.427, 1.964, 2.557, 3.206, 3.91");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.296, 0.3288, 0.4431, 0.6584, 0.9914, 1.458, 2.072, 2.845, 3.788, 4.912",\
                 "0.3045, 0.3384, 0.4551, 0.6718, 1.007, 1.474, 2.089, 2.862, 3.805, 4.929",\
                 "0.3463, 0.3802, 0.4975, 0.7159, 1.053, 1.522, 2.138, 2.912, 3.856, 4.98",\
                 "0.4272, 0.4643, 0.5859, 0.8033, 1.138, 1.607, 2.223, 2.998, 3.943, 5.067",\
                 "0.5426, 0.5836, 0.7192, 0.9538, 1.288, 1.752, 2.365, 3.137, 4.079, 5.204",\
                 "0.7014, 0.7489, 0.8973, 1.151, 1.511, 1.977, 2.581, 3.348, 4.285, 5.406",\
                 "0.8988, 0.9533, 1.123, 1.398, 1.781, 2.277, 2.888, 3.644, 4.573, 5.687",\
                 "1.131, 1.193, 1.387, 1.695, 2.104, 2.628, 3.272, 4.037, 4.957, 6.06",\
                 "1.396, 1.468, 1.688, 2.032, 2.479, 3.031, 3.709, 4.511, 5.441, 6.533",\
                 "1.697, 1.778, 2.026, 2.41, 2.901, 3.492, 4.199, 5.038, 6.01, 7.116");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2156, 0.2422, 0.334, 0.5056, 0.7693, 1.138, 1.623, 2.232, 2.975, 3.861",\
                 "0.2156, 0.2422, 0.3343, 0.5056, 0.7696, 1.137, 1.622, 2.231, 2.975, 3.86",\
                 "0.2231, 0.2467, 0.3333, 0.5046, 0.7691, 1.139, 1.622, 2.232, 2.975, 3.861",\
                 "0.3046, 0.3302, 0.4126, 0.5514, 0.7803, 1.138, 1.622, 2.232, 2.974, 3.861",\
                 "0.41, 0.44, 0.5368, 0.6984, 0.9194, 1.212, 1.64, 2.232, 2.975, 3.86",\
                 "0.5378, 0.5758, 0.688, 0.8712, 1.119, 1.434, 1.812, 2.314, 2.991, 3.86",\
                 "0.6854, 0.7286, 0.8636, 1.072, 1.347, 1.695, 2.109, 2.587, 3.176, 3.94",\
                 "0.849, 0.9008, 1.058, 1.299, 1.611, 1.984, 2.435, 2.959, 3.55, 4.232",\
                 "1.027, 1.089, 1.273, 1.55, 1.903, 2.312, 2.793, 3.356, 3.994, 4.708",\
                 "1.228, 1.296, 1.505, 1.829, 2.218, 2.673, 3.193, 3.786, 4.467, 5.229");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3668, 0.4218, 0.6181, 0.9925, 1.572, 2.386, 3.455, 4.801, 6.446, 8.404",\
                 "0.3673, 0.4229, 0.6185, 0.9923, 1.573, 2.384, 3.457, 4.804, 6.453, 8.407",\
                 "0.371, 0.4248, 0.6193, 0.9922, 1.573, 2.384, 3.453, 4.799, 6.438, 8.394",\
                 "0.4315, 0.4773, 0.6442, 0.996, 1.573, 2.386, 3.454, 4.805, 6.437, 8.409",\
                 "0.5262, 0.5732, 0.7456, 1.062, 1.588, 2.386, 3.455, 4.801, 6.448, 8.395",\
                 "0.6572, 0.7018, 0.8678, 1.197, 1.694, 2.423, 3.459, 4.803, 6.438, 8.408",\
                 "0.822, 0.8678, 1.026, 1.349, 1.865, 2.567, 3.527, 4.81, 6.451, 8.405",\
                 "1.007, 1.056, 1.223, 1.539, 2.053, 2.778, 3.702, 4.907, 6.469, 8.394",\
                 "1.209, 1.262, 1.445, 1.776, 2.28, 3.009, 3.96, 5.125, 6.594, 8.453",\
                 "1.423, 1.484, 1.684, 2.039, 2.553, 3.272, 4.244, 5.433, 6.851, 8.618");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1718, 0.1881, 0.2438, 0.3469, 0.5037, 0.7213, 1.006, 1.363, 1.799, 2.318",\
                 "0.184, 0.2006, 0.2563, 0.3595, 0.5163, 0.7339, 1.019, 1.376, 1.812, 2.331",\
                 "0.2305, 0.2465, 0.3016, 0.4042, 0.5611, 0.7786, 1.063, 1.421, 1.857, 2.376",\
                 "0.286, 0.3073, 0.3761, 0.491, 0.6488, 0.8653, 1.149, 1.506, 1.942, 2.461",\
                 "0.3148, 0.3422, 0.4294, 0.5742, 0.7679, 1.003, 1.287, 1.643, 2.077, 2.595",\
                 "0.3114, 0.3452, 0.4525, 0.6288, 0.8614, 1.145, 1.471, 1.838, 2.271, 2.787",\
                 "0.2727, 0.3128, 0.4398, 0.6495, 0.925, 1.255, 1.635, 2.06, 2.526, 3.045",\
                 "0.1961, 0.2417, 0.3885, 0.6318, 0.9514, 1.332, 1.766, 2.25, 2.781, 3.354",\
                 "0.0798, 0.1317, 0.2971, 0.574, 0.9382, 1.372, 1.862, 2.404, 2.999, 3.642",\
                 "-0.0782, -0.0212, 0.1655, 0.473, 0.8829, 1.368, 1.917, 2.522, 3.179, 3.89");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3573, 0.3988, 0.541, 0.8102, 1.227, 1.81, 2.577, 3.542, 4.72, 6.124",\
                 "0.3624, 0.4056, 0.5514, 0.8223, 1.241, 1.825, 2.592, 3.558, 4.737, 6.142",\
                 "0.3991, 0.4416, 0.5878, 0.8608, 1.283, 1.869, 2.638, 3.605, 4.784, 6.189",\
                 "0.4808, 0.5252, 0.671, 0.9415, 1.361, 1.947, 2.718, 3.685, 4.865, 6.271",\
                 "0.6052, 0.653, 0.8121, 1.091, 1.504, 2.085, 2.851, 3.816, 4.995, 6.399",\
                 "0.7844, 0.8372, 1.007, 1.304, 1.732, 2.304, 3.061, 4.018, 5.192, 6.592",\
                 "1.012, 1.072, 1.26, 1.574, 2.026, 2.615, 3.362, 4.309, 5.472, 6.864",\
                 "1.283, 1.351, 1.563, 1.906, 2.378, 2.996, 3.762, 4.697, 5.848, 7.23",\
                 "1.595, 1.673, 1.911, 2.291, 2.794, 3.437, 4.236, 5.191, 6.329, 7.696",\
                 "1.95, 2.037, 2.305, 2.724, 3.27, 3.944, 4.772, 5.765, 6.921, 8.276");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2155, 0.2429, 0.3343, 0.505, 0.7686, 1.138, 1.621, 2.232, 2.974, 3.861",\
                 "0.2153, 0.2423, 0.3344, 0.5055, 0.7686, 1.137, 1.622, 2.232, 2.974, 3.861",\
                 "0.2225, 0.2464, 0.3332, 0.5047, 0.7696, 1.137, 1.623, 2.232, 2.976, 3.861",\
                 "0.3039, 0.33, 0.4125, 0.5508, 0.7802, 1.138, 1.623, 2.231, 2.974, 3.861",\
                 "0.4094, 0.4402, 0.5374, 0.6984, 0.9198, 1.211, 1.64, 2.232, 2.974, 3.861",\
                 "0.5386, 0.5762, 0.6908, 0.8736, 1.124, 1.436, 1.812, 2.314, 2.991, 3.861",\
                 "0.6884, 0.7326, 0.866, 1.079, 1.354, 1.698, 2.113, 2.59, 3.176, 3.94",\
                 "0.8532, 0.9048, 1.066, 1.31, 1.621, 1.995, 2.444, 2.965, 3.556, 4.237",\
                 "1.036, 1.098, 1.282, 1.565, 1.916, 2.328, 2.81, 3.369, 4.006, 4.713",\
                 "1.247, 1.316, 1.521, 1.84, 2.241, 2.698, 3.216, 3.811, 4.487, 5.244");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4808, 0.551, 0.7963, 1.262, 1.986, 3, 4.329, 6.005, 8.059, 10.48",\
                 "0.4814, 0.5511, 0.7958, 1.263, 1.987, 2.997, 4.333, 6.011, 8.053, 10.5",\
                 "0.483, 0.552, 0.7966, 1.263, 1.985, 3, 4.332, 6.004, 8.059, 10.5",\
                 "0.5289, 0.5884, 0.8099, 1.263, 1.987, 2.998, 4.334, 6.011, 8.057, 10.5",\
                 "0.622, 0.682, 0.8972, 1.304, 1.991, 2.999, 4.334, 6.01, 8.059, 10.5",\
                 "0.7412, 0.7992, 1.012, 1.425, 2.061, 3.013, 4.332, 6.007, 8.049, 10.5",\
                 "0.9014, 0.955, 1.155, 1.569, 2.212, 3.107, 4.353, 6.006, 8.059, 10.49",\
                 "1.091, 1.146, 1.342, 1.738, 2.393, 3.29, 4.476, 6.047, 8.061, 10.49",\
                 "1.299, 1.359, 1.565, 1.954, 2.591, 3.513, 4.69, 6.188, 8.117, 10.51",\
                 "1.526, 1.589, 1.81, 2.215, 2.841, 3.749, 4.959, 6.44, 8.284, 10.57");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1781, 0.1945, 0.251, 0.355, 0.513, 0.7312, 1.016, 1.373, 1.809, 2.328",\
                 "0.1905, 0.207, 0.2634, 0.3676, 0.5257, 0.7439, 1.029, 1.386, 1.822, 2.341",\
                 "0.2366, 0.2529, 0.3085, 0.4124, 0.5704, 0.7886, 1.073, 1.431, 1.866, 2.385",\
                 "0.2964, 0.3175, 0.3857, 0.4999, 0.6581, 0.8753, 1.159, 1.516, 1.952, 2.47",\
                 "0.3318, 0.3581, 0.4439, 0.5872, 0.7795, 1.013, 1.297, 1.652, 2.087, 2.605",\
                 "0.3365, 0.3686, 0.4728, 0.646, 0.8767, 1.157, 1.482, 1.848, 2.281, 2.797",\
                 "0.3056, 0.3439, 0.4665, 0.671, 0.9429, 1.27, 1.648, 2.072, 2.537, 3.055",\
                 "0.2364, 0.2798, 0.422, 0.6588, 0.9734, 1.35, 1.781, 2.263, 2.793, 3.365",\
                 "0.1277, 0.1768, 0.3366, 0.6062, 0.9639, 1.393, 1.88, 2.419, 3.012, 3.654",\
                 "-0.0227, 0.0321, 0.2105, 0.5103, 0.9119, 1.392, 1.938, 2.539, 3.195, 3.904");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4318, 0.4728, 0.6154, 0.8842, 1.301, 1.885, 2.651, 3.616, 4.795, 6.2",\
                 "0.4399, 0.4818, 0.6265, 0.8971, 1.316, 1.9, 2.668, 3.634, 4.812, 6.216",\
                 "0.4757, 0.5181, 0.6632, 0.9361, 1.357, 1.944, 2.713, 3.681, 4.859, 6.265",\
                 "0.5601, 0.6022, 0.7454, 1.016, 1.436, 2.022, 2.792, 3.76, 4.941, 6.346",\
                 "0.691, 0.7372, 0.8916, 1.165, 1.578, 2.159, 2.925, 3.89, 5.071, 6.475",\
                 "0.8785, 0.9268, 1.091, 1.382, 1.805, 2.377, 3.135, 4.093, 5.266, 6.667",\
                 "1.118, 1.173, 1.35, 1.657, 2.103, 2.688, 3.434, 4.383, 5.547, 6.94",\
                 "1.403, 1.465, 1.663, 1.992, 2.458, 3.072, 3.833, 4.77, 5.921, 7.304",\
                 "1.732, 1.801, 2.022, 2.384, 2.877, 3.516, 4.312, 5.262, 6.401, 7.77",\
                 "2.103, 2.182, 2.427, 2.827, 3.358, 4.026, 4.851, 5.84, 6.993, 8.348");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.263, 0.2888, 0.3782, 0.548, 0.8119, 1.18, 1.664, 2.272, 3.017, 3.901",\
                 "0.2628, 0.2887, 0.3781, 0.5479, 0.8115, 1.181, 1.663, 2.273, 3.017, 3.901",\
                 "0.2699, 0.2929, 0.3779, 0.5476, 0.8122, 1.179, 1.665, 2.273, 3.017, 3.901",\
                 "0.3613, 0.3848, 0.4601, 0.5941, 0.8231, 1.181, 1.663, 2.273, 3.017, 3.902",\
                 "0.4824, 0.5096, 0.5972, 0.7494, 0.9632, 1.255, 1.681, 2.273, 3.016, 3.902",\
                 "0.6304, 0.6622, 0.7644, 0.9352, 1.174, 1.481, 1.855, 2.357, 3.035, 3.903",\
                 "0.7984, 0.8384, 0.9558, 1.151, 1.416, 1.753, 2.161, 2.633, 3.219, 3.983",\
                 "0.9884, 1.032, 1.174, 1.397, 1.693, 2.056, 2.498, 3.013, 3.599, 4.278",\
                 "1.2, 1.247, 1.411, 1.666, 1.999, 2.4, 2.869, 3.421, 4.054, 4.759",\
                 "1.432, 1.489, 1.669, 1.96, 2.334, 2.777, 3.286, 3.871, 4.541, 5.295");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5759, 0.6459, 0.8916, 1.359, 2.083, 3.096, 4.429, 6.105, 8.152, 10.59",\
                 "0.5753, 0.6453, 0.8918, 1.359, 2.083, 3.097, 4.427, 6.106, 8.15, 10.59",\
                 "0.5766, 0.6467, 0.8912, 1.359, 2.083, 3.097, 4.428, 6.105, 8.151, 10.59",\
                 "0.605, 0.6684, 0.8974, 1.359, 2.083, 3.097, 4.428, 6.104, 8.15, 10.59",\
                 "0.6974, 0.7606, 0.9732, 1.389, 2.086, 3.097, 4.428, 6.105, 8.151, 10.59",\
                 "0.807, 0.8696, 1.09, 1.503, 2.144, 3.105, 4.429, 6.106, 8.151, 10.59",\
                 "0.9562, 1.014, 1.228, 1.647, 2.291, 3.192, 4.448, 6.105, 8.152, 10.59",\
                 "1.143, 1.2, 1.404, 1.814, 2.471, 3.371, 4.56, 6.139, 8.153, 10.59",\
                 "1.352, 1.412, 1.626, 2.027, 2.672, 3.594, 4.773, 6.278, 8.203, 10.6",\
                 "1.579, 1.646, 1.873, 2.285, 2.915, 3.835, 5.044, 6.523, 8.37, 10.66");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1425, 0.1596, 0.2172, 0.3219, 0.48, 0.6984, 0.9835, 1.341, 1.778, 2.297",\
                 "0.1542, 0.1713, 0.229, 0.3336, 0.4918, 0.7101, 0.9952, 1.353, 1.789, 2.308",\
                 "0.2003, 0.2176, 0.2737, 0.3773, 0.5351, 0.7533, 1.038, 1.396, 1.832, 2.352",\
                 "0.2453, 0.2688, 0.3425, 0.462, 0.6225, 0.8395, 1.124, 1.481, 1.917, 2.436",\
                 "0.2654, 0.2948, 0.3884, 0.5393, 0.7377, 0.9764, 1.262, 1.617, 2.052, 2.57",\
                 "0.2554, 0.2914, 0.4054, 0.5888, 0.8276, 1.114, 1.444, 1.813, 2.246, 2.762",\
                 "0.2128, 0.2556, 0.3906, 0.6072, 0.8889, 1.223, 1.606, 2.033, 2.502, 3.02",\
                 "0.1375, 0.1861, 0.3404, 0.591, 0.9167, 1.301, 1.736, 2.222, 2.754, 3.33",\
                 "0.0283, 0.0827, 0.2562, 0.5391, 0.9078, 1.343, 1.835, 2.378, 2.972, 3.617",\
                 "-0.1184, -0.057, 0.1354, 0.4479, 0.8599, 1.347, 1.897, 2.501, 3.157, 3.867");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3486, 0.3895, 0.5302, 0.7962, 1.208, 1.786, 2.545, 3.501, 4.669, 6.061",\
                 "0.3553, 0.3973, 0.5413, 0.8099, 1.223, 1.802, 2.562, 3.519, 4.686, 6.079",\
                 "0.3923, 0.4335, 0.5777, 0.8485, 1.266, 1.846, 2.608, 3.566, 4.735, 6.129",\
                 "0.463, 0.507, 0.6521, 0.9195, 1.335, 1.915, 2.677, 3.636, 4.806, 6.199",\
                 "0.5683, 0.6147, 0.7693, 1.046, 1.454, 2.029, 2.788, 3.744, 4.911, 6.308",\
                 "0.7232, 0.7738, 0.9365, 1.224, 1.647, 2.214, 2.962, 3.912, 5.074, 6.461",\
                 "0.9188, 0.9768, 1.158, 1.458, 1.894, 2.478, 3.219, 4.155, 5.307, 6.686",\
                 "1.152, 1.218, 1.421, 1.75, 2.202, 2.802, 3.56, 4.488, 5.626, 6.993",\
                 "1.421, 1.496, 1.726, 2.088, 2.569, 3.185, 3.964, 4.911, 6.039, 7.39",\
                 "1.726, 1.81, 2.066, 2.469, 2.99, 3.633, 4.43, 5.4, 6.548, 7.889");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1971, 0.2233, 0.3145, 0.4858, 0.7488, 1.117, 1.6, 2.21, 2.953, 3.839",\
                 "0.1953, 0.2224, 0.3149, 0.4857, 0.7484, 1.117, 1.599, 2.209, 2.954, 3.838",\
                 "0.2113, 0.233, 0.3145, 0.4837, 0.748, 1.117, 1.6, 2.21, 2.952, 3.838",\
                 "0.2954, 0.3212, 0.4034, 0.5395, 0.7629, 1.116, 1.6, 2.209, 2.953, 3.839",\
                 "0.4058, 0.4354, 0.5304, 0.69, 0.9096, 1.197, 1.62, 2.209, 2.953, 3.839",\
                 "0.5396, 0.5766, 0.688, 0.8672, 1.115, 1.424, 1.8, 2.298, 2.972, 3.839",\
                 "0.695, 0.7386, 0.871, 1.078, 1.347, 1.688, 2.1, 2.578, 3.163, 3.924",\
                 "0.8712, 0.9228, 1.079, 1.316, 1.619, 1.986, 2.431, 2.952, 3.543, 4.222",\
                 "1.072, 1.129, 1.309, 1.583, 1.922, 2.329, 2.8, 3.355, 3.991, 4.703",\
                 "1.289, 1.361, 1.564, 1.874, 2.256, 2.703, 3.212, 3.796, 4.469, 5.229");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3889, 0.4579, 0.7021, 1.167, 1.891, 2.905, 4.23, 5.918, 7.964, 10.41",\
                 "0.3896, 0.4582, 0.701, 1.168, 1.889, 2.903, 4.23, 5.918, 7.964, 10.41",\
                 "0.3927, 0.4604, 0.7026, 1.165, 1.89, 2.903, 4.239, 5.919, 7.964, 10.41",\
                 "0.4384, 0.4991, 0.7176, 1.168, 1.889, 2.903, 4.235, 5.916, 7.965, 10.4",\
                 "0.506, 0.5704, 0.7964, 1.213, 1.897, 2.904, 4.238, 5.914, 7.967, 10.39",\
                 "0.6154, 0.6738, 0.8894, 1.316, 1.964, 2.918, 4.238, 5.912, 7.966, 10.41",\
                 "0.7674, 0.824, 1.027, 1.437, 2.099, 3.012, 4.27, 5.909, 7.966, 10.39",\
                 "0.9398, 1, 1.209, 1.602, 2.249, 3.176, 4.381, 5.964, 7.963, 10.41",\
                 "1.125, 1.194, 1.418, 1.817, 2.442, 3.366, 4.573, 6.099, 8.04, 10.42",\
                 "1.329, 1.402, 1.649, 2.075, 2.687, 3.579, 4.8, 6.321, 8.196, 10.5");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1427, 0.1598, 0.2174, 0.3221, 0.4802, 0.6986, 0.9837, 1.342, 1.778, 2.297",\
                 "0.1549, 0.1721, 0.2297, 0.3344, 0.4924, 0.7108, 0.996, 1.354, 1.79, 2.309",\
                 "0.2017, 0.2189, 0.275, 0.3787, 0.5365, 0.7548, 1.04, 1.398, 1.834, 2.353",\
                 "0.2467, 0.2699, 0.3437, 0.4635, 0.624, 0.841, 1.125, 1.483, 1.919, 2.437",\
                 "0.2627, 0.2926, 0.387, 0.5385, 0.7382, 0.9772, 1.262, 1.619, 2.053, 2.571",\
                 "0.2446, 0.2813, 0.397, 0.5832, 0.8246, 1.113, 1.444, 1.813, 2.247, 2.763",\
                 "0.1881, 0.232, 0.3705, 0.5919, 0.8785, 1.216, 1.602, 2.03, 2.499, 3.019",\
                 "0.0933, 0.1436, 0.3031, 0.5612, 0.8933, 1.284, 1.725, 2.214, 2.75, 3.326",\
                 "-0.0427, 0.0139, 0.1941, 0.4858, 0.8663, 1.312, 1.811, 2.361, 2.961, 3.608",\
                 "-0.2222, -0.1593, 0.0424, 0.3679, 0.7933, 1.294, 1.855, 2.469, 3.133, 3.849");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4135, 0.4629, 0.632, 0.9506, 1.444, 2.136, 3.046, 4.192, 5.59, 7.256",\
                 "0.4176, 0.4682, 0.6411, 0.9629, 1.459, 2.151, 3.062, 4.209, 5.608, 7.273",\
                 "0.4496, 0.4999, 0.6724, 0.9972, 1.496, 2.192, 3.105, 4.252, 5.652, 7.32",\
                 "0.5204, 0.5715, 0.7427, 1.063, 1.561, 2.257, 3.17, 4.319, 5.719, 7.388",\
                 "0.6312, 0.6853, 0.8654, 1.189, 1.678, 2.368, 3.276, 4.422, 5.821, 7.49",\
                 "0.8035, 0.8602, 1.045, 1.38, 1.873, 2.551, 3.449, 4.587, 5.98, 7.643",\
                 "1.029, 1.092, 1.292, 1.634, 2.142, 2.823, 3.707, 4.83, 6.213, 7.865",\
                 "1.3, 1.371, 1.593, 1.956, 2.475, 3.173, 4.059, 5.166, 6.533, 8.174",\
                 "1.613, 1.694, 1.942, 2.339, 2.877, 3.59, 4.497, 5.603, 6.952, 8.574",\
                 "1.971, 2.061, 2.338, 2.774, 3.349, 4.079, 5.003, 6.133, 7.476, 9.081");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.197, 0.2232, 0.3149, 0.4858, 0.7486, 1.117, 1.599, 2.21, 2.953, 3.839",\
                 "0.1954, 0.2223, 0.3153, 0.4853, 0.7488, 1.117, 1.6, 2.208, 2.953, 3.838",\
                 "0.2106, 0.2324, 0.3145, 0.4838, 0.7481, 1.117, 1.6, 2.209, 2.953, 3.839",\
                 "0.2952, 0.3204, 0.4022, 0.5391, 0.7626, 1.117, 1.6, 2.209, 2.953, 3.839",\
                 "0.4044, 0.4344, 0.5304, 0.6892, 0.9088, 1.198, 1.621, 2.21, 2.951, 3.838",\
                 "0.5372, 0.5742, 0.6872, 0.87, 1.114, 1.425, 1.801, 2.299, 2.972, 3.839",\
                 "0.691, 0.7348, 0.87, 1.08, 1.352, 1.693, 2.104, 2.58, 3.163, 3.923",\
                 "0.8666, 0.9188, 1.078, 1.321, 1.626, 1.995, 2.439, 2.958, 3.546, 4.225",\
                 "1.07, 1.125, 1.309, 1.585, 1.932, 2.34, 2.813, 3.365, 4, 4.709",\
                 "1.285, 1.358, 1.564, 1.882, 2.271, 2.72, 3.231, 3.817, 4.488, 5.24");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4839, 0.5663, 0.858, 1.414, 2.28, 3.49, 5.083, 7.082, 9.527, 12.45",\
                 "0.4844, 0.5666, 0.8582, 1.415, 2.282, 3.495, 5.084, 7.089, 9.532, 12.44",\
                 "0.487, 0.5685, 0.8587, 1.415, 2.278, 3.491, 5.086, 7.084, 9.541, 12.46",\
                 "0.5245, 0.598, 0.8674, 1.417, 2.282, 3.492, 5.082, 7.089, 9.522, 12.46",\
                 "0.5914, 0.6704, 0.939, 1.445, 2.285, 3.492, 5.083, 7.086, 9.523, 12.44",\
                 "0.6858, 0.7598, 1.028, 1.539, 2.327, 3.496, 5.087, 7.089, 9.544, 12.46",\
                 "0.8328, 0.8976, 1.144, 1.654, 2.443, 3.561, 5.096, 7.087, 9.539, 12.46",\
                 "1.005, 1.077, 1.313, 1.794, 2.585, 3.692, 5.174, 7.106, 9.531, 12.44",\
                 "1.2, 1.272, 1.522, 1.985, 2.75, 3.87, 5.322, 7.196, 9.57, 12.45",\
                 "1.413, 1.493, 1.758, 2.235, 2.965, 4.066, 5.533, 7.364, 9.664, 12.49");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1486, 0.166, 0.2242, 0.33, 0.4893, 0.7085, 0.9937, 1.352, 1.788, 2.307",\
                 "0.161, 0.1782, 0.2363, 0.3422, 0.5016, 0.7207, 1.006, 1.364, 1.8, 2.319",\
                 "0.2082, 0.2251, 0.2815, 0.3865, 0.5457, 0.7647, 1.05, 1.408, 1.844, 2.363",\
                 "0.2578, 0.2807, 0.3536, 0.4726, 0.6332, 0.851, 1.136, 1.493, 1.928, 2.447",\
                 "0.281, 0.3101, 0.4022, 0.5522, 0.75, 0.9881, 1.273, 1.628, 2.063, 2.581",\
                 "0.2721, 0.3074, 0.4192, 0.6016, 0.84, 1.126, 1.455, 1.823, 2.257, 2.773",\
                 "0.2257, 0.2671, 0.3992, 0.615, 0.8972, 1.232, 1.615, 2.043, 2.51, 3.03",\
                 "0.1402, 0.1869, 0.3387, 0.5891, 0.9157, 1.303, 1.741, 2.228, 2.762, 3.337",\
                 "0.0131, 0.066, 0.2366, 0.5199, 0.8923, 1.333, 1.83, 2.377, 2.974, 3.621",\
                 "-0.1567, -0.0979, 0.0919, 0.4062, 0.8242, 1.319, 1.876, 2.487, 3.149, 3.863");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5023, 0.5516, 0.72, 1.039, 1.533, 2.224, 3.134, 4.28, 5.679, 7.345",\
                 "0.5095, 0.5591, 0.7301, 1.051, 1.547, 2.24, 3.15, 4.298, 5.696, 7.364",\
                 "0.5408, 0.5902, 0.7628, 1.086, 1.585, 2.281, 3.194, 4.341, 5.741, 7.409",\
                 "0.6124, 0.6617, 0.8312, 1.152, 1.65, 2.346, 3.259, 4.408, 5.809, 7.477",\
                 "0.7279, 0.7797, 0.9565, 1.275, 1.765, 2.455, 3.365, 4.511, 5.911, 7.579",\
                 "0.9042, 0.9573, 1.138, 1.469, 1.959, 2.638, 3.537, 4.676, 6.069, 7.733",\
                 "1.14, 1.198, 1.387, 1.725, 2.229, 2.908, 3.793, 4.918, 6.301, 7.956",\
                 "1.425, 1.489, 1.696, 2.049, 2.565, 3.26, 4.144, 5.253, 6.619, 8.262",\
                 "1.755, 1.827, 2.057, 2.438, 2.969, 3.678, 4.582, 5.688, 7.038, 8.662",\
                 "2.13, 2.21, 2.465, 2.881, 3.444, 4.169, 5.091, 6.218, 7.562, 9.167");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2458, 0.271, 0.3599, 0.5283, 0.7908, 1.159, 1.642, 2.25, 2.995, 3.881",\
                 "0.2445, 0.2702, 0.3594, 0.5281, 0.7918, 1.158, 1.642, 2.251, 2.994, 3.881",\
                 "0.2583, 0.2796, 0.3595, 0.5269, 0.7906, 1.159, 1.641, 2.251, 2.994, 3.88",\
                 "0.3565, 0.3778, 0.452, 0.5829, 0.8055, 1.159, 1.643, 2.253, 2.993, 3.879",\
                 "0.4834, 0.508, 0.5928, 0.7414, 0.9534, 1.24, 1.662, 2.253, 2.995, 3.88",\
                 "0.6368, 0.6678, 0.7654, 0.932, 1.168, 1.473, 1.844, 2.342, 3.015, 3.881",\
                 "0.8148, 0.8502, 0.966, 1.156, 1.417, 1.746, 2.151, 2.623, 3.205, 3.966",\
                 "1.016, 1.058, 1.193, 1.411, 1.702, 2.057, 2.494, 3.006, 3.59, 4.267",\
                 "1.24, 1.293, 1.447, 1.692, 2.018, 2.411, 2.874, 3.42, 4.049, 4.754",\
                 "1.49, 1.546, 1.722, 2.003, 2.37, 2.8, 3.299, 3.876, 4.541, 5.291");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5958, 0.6803, 0.9728, 1.53, 2.395, 3.606, 5.196, 7.199, 9.648, 12.56",\
                 "0.5963, 0.6804, 0.9734, 1.531, 2.396, 3.606, 5.197, 7.203, 9.644, 12.56",\
                 "0.5972, 0.6804, 0.9736, 1.53, 2.395, 3.606, 5.198, 7.2, 9.645, 12.56",\
                 "0.6192, 0.6964, 0.978, 1.531, 2.395, 3.606, 5.197, 7.2, 9.646, 12.55",\
                 "0.6914, 0.7712, 1.036, 1.55, 2.397, 3.606, 5.197, 7.202, 9.646, 12.56",\
                 "0.7744, 0.8522, 1.127, 1.638, 2.435, 3.61, 5.198, 7.202, 9.646, 12.56",\
                 "0.9042, 0.9758, 1.235, 1.753, 2.544, 3.664, 5.205, 7.202, 9.646, 12.56",\
                 "1.075, 1.145, 1.393, 1.887, 2.689, 3.795, 5.277, 7.214, 9.647, 12.56",\
                 "1.269, 1.347, 1.598, 2.072, 2.851, 3.975, 5.427, 7.302, 9.667, 12.56",\
                 "1.485, 1.565, 1.833, 2.31, 3.058, 4.168, 5.638, 7.473, 9.77, 12.59");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1486, 0.1658, 0.224, 0.3297, 0.4891, 0.7082, 0.9935, 1.351, 1.787, 2.306",\
                 "0.1604, 0.1775, 0.2357, 0.3415, 0.5009, 0.72, 1.005, 1.363, 1.799, 2.318",\
                 "0.2069, 0.2238, 0.2802, 0.3851, 0.5442, 0.7632, 1.048, 1.406, 1.842, 2.361",\
                 "0.2567, 0.2796, 0.3523, 0.4712, 0.6317, 0.8494, 1.134, 1.491, 1.927, 2.446",\
                 "0.2835, 0.3124, 0.4036, 0.5525, 0.7495, 0.9873, 1.272, 1.627, 2.062, 2.58",\
                 "0.2832, 0.3174, 0.4274, 0.6072, 0.8432, 1.128, 1.455, 1.824, 2.256, 2.771",\
                 "0.2503, 0.2904, 0.4193, 0.6304, 0.9079, 1.239, 1.619, 2.046, 2.512, 3.031",\
                 "0.1843, 0.2294, 0.3765, 0.6195, 0.9389, 1.32, 1.752, 2.236, 2.767, 3.341",\
                 "0.0839, 0.1344, 0.2982, 0.5725, 0.9338, 1.365, 1.852, 2.394, 2.986, 3.629",\
                 "-0.0529, 0.0034, 0.1844, 0.4867, 0.8907, 1.372, 1.917, 2.518, 3.172, 3.881");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4214, 0.4623, 0.6029, 0.8696, 1.282, 1.86, 2.619, 3.576, 4.744, 6.139",\
                 "0.431, 0.4719, 0.6152, 0.883, 1.297, 1.876, 2.636, 3.594, 4.762, 6.153",\
                 "0.4676, 0.5088, 0.6523, 0.9231, 1.339, 1.92, 2.682, 3.641, 4.809, 6.203",\
                 "0.5417, 0.5835, 0.7256, 0.9931, 1.408, 1.989, 2.752, 3.71, 4.88, 6.274",\
                 "0.6509, 0.6961, 0.8468, 1.119, 1.528, 2.103, 2.862, 3.818, 4.986, 6.379",\
                 "0.8125, 0.8589, 1.016, 1.3, 1.719, 2.286, 3.036, 3.986, 5.148, 6.535",\
                 "1.021, 1.073, 1.243, 1.537, 1.969, 2.55, 3.29, 4.227, 5.381, 6.761",\
                 "1.268, 1.327, 1.516, 1.832, 2.278, 2.876, 3.632, 4.559, 5.698, 7.065",\
                 "1.552, 1.619, 1.831, 2.177, 2.649, 3.261, 4.038, 4.982, 6.11, 7.464",\
                 "1.872, 1.948, 2.184, 2.566, 3.074, 3.711, 4.505, 5.473, 6.62, 7.961");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2457, 0.2712, 0.3599, 0.5284, 0.7907, 1.159, 1.641, 2.25, 2.995, 3.88",\
                 "0.2444, 0.2701, 0.3594, 0.5283, 0.7918, 1.158, 1.642, 2.252, 2.994, 3.88",\
                 "0.2591, 0.2801, 0.3596, 0.5269, 0.7909, 1.159, 1.643, 2.251, 2.993, 3.879",\
                 "0.3572, 0.3789, 0.4529, 0.5837, 0.8062, 1.159, 1.641, 2.252, 2.995, 3.88",\
                 "0.4846, 0.5096, 0.594, 0.7414, 0.9542, 1.24, 1.663, 2.251, 2.995, 3.88",\
                 "0.6398, 0.6696, 0.7662, 0.9306, 1.166, 1.471, 1.842, 2.34, 3.014, 3.881",\
                 "0.8176, 0.8532, 0.9658, 1.154, 1.411, 1.742, 2.148, 2.62, 3.206, 3.965",\
                 "1.018, 1.06, 1.192, 1.406, 1.691, 2.048, 2.485, 3, 3.587, 4.265",\
                 "1.244, 1.291, 1.443, 1.689, 2.009, 2.399, 2.859, 3.408, 4.038, 4.747",\
                 "1.492, 1.547, 1.719, 1.997, 2.354, 2.783, 3.28, 3.856, 4.523, 5.277");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4831, 0.5524, 0.797, 1.263, 1.985, 2.999, 4.329, 6.007, 8.055, 10.49",\
                 "0.4831, 0.5523, 0.7975, 1.263, 1.985, 2.998, 4.329, 6.004, 8.054, 10.49",\
                 "0.4836, 0.553, 0.7971, 1.262, 1.986, 2.999, 4.331, 6.008, 8.054, 10.5",\
                 "0.5149, 0.5776, 0.8054, 1.263, 1.985, 2.998, 4.33, 6.007, 8.053, 10.49",\
                 "0.586, 0.6528, 0.8768, 1.297, 1.989, 2.999, 4.332, 6.007, 8.054, 10.49",\
                 "0.683, 0.7452, 0.97, 1.399, 2.052, 3.012, 4.33, 6.009, 8.054, 10.49",\
                 "0.826, 0.8856, 1.097, 1.518, 2.182, 3.099, 4.357, 6.009, 8.054, 10.49",\
                 "0.9982, 1.06, 1.273, 1.677, 2.333, 3.259, 4.469, 6.054, 8.058, 10.49",\
                 "1.189, 1.257, 1.484, 1.886, 2.519, 3.446, 4.659, 6.19, 8.121, 10.5",\
                 "1.396, 1.475, 1.718, 2.141, 2.761, 3.663, 4.883, 6.409, 8.283, 10.59");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1486, 0.166, 0.2241, 0.33, 0.4893, 0.7084, 0.9937, 1.352, 1.788, 2.307",\
                 "0.161, 0.1782, 0.2363, 0.3421, 0.5016, 0.7207, 1.006, 1.364, 1.8, 2.319",\
                 "0.2082, 0.2251, 0.2815, 0.3865, 0.5456, 0.7646, 1.05, 1.408, 1.844, 2.363",\
                 "0.2579, 0.2807, 0.3536, 0.4725, 0.6331, 0.8509, 1.136, 1.493, 1.928, 2.447",\
                 "0.281, 0.3101, 0.4022, 0.5521, 0.7499, 0.9879, 1.272, 1.629, 2.063, 2.581",\
                 "0.2722, 0.3074, 0.4193, 0.6017, 0.8399, 1.126, 1.455, 1.823, 2.256, 2.773",\
                 "0.2258, 0.2671, 0.3993, 0.615, 0.8972, 1.232, 1.615, 2.043, 2.51, 3.03",\
                 "0.1401, 0.1869, 0.3386, 0.5888, 0.9156, 1.303, 1.741, 2.228, 2.762, 3.338",\
                 "0.0131, 0.0659, 0.2366, 0.5199, 0.8923, 1.333, 1.83, 2.377, 2.974, 3.62",\
                 "-0.1566, -0.0979, 0.092, 0.4062, 0.8242, 1.319, 1.876, 2.487, 3.149, 3.863");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5026, 0.5512, 0.72, 1.039, 1.533, 2.225, 3.134, 4.28, 5.68, 7.346",\
                 "0.5092, 0.5586, 0.7298, 1.051, 1.547, 2.24, 3.151, 4.298, 5.696, 7.363",\
                 "0.5409, 0.5902, 0.7629, 1.086, 1.585, 2.281, 3.194, 4.341, 5.741, 7.41",\
                 "0.6124, 0.6617, 0.8313, 1.152, 1.65, 2.346, 3.259, 4.409, 5.809, 7.477",\
                 "0.7278, 0.7795, 0.9568, 1.275, 1.766, 2.456, 3.365, 4.511, 5.91, 7.579",\
                 "0.904, 0.9574, 1.138, 1.469, 1.959, 2.638, 3.537, 4.675, 6.069, 7.732",\
                 "1.14, 1.198, 1.387, 1.725, 2.23, 2.907, 3.793, 4.919, 6.301, 7.956",\
                 "1.425, 1.49, 1.696, 2.049, 2.564, 3.26, 4.143, 5.253, 6.619, 8.26",\
                 "1.755, 1.827, 2.056, 2.438, 2.968, 3.678, 4.582, 5.688, 7.037, 8.662",\
                 "2.13, 2.21, 2.464, 2.88, 3.443, 4.168, 5.091, 6.218, 7.561, 9.166");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2458, 0.2712, 0.3598, 0.5283, 0.7911, 1.158, 1.641, 2.251, 2.995, 3.88",\
                 "0.2445, 0.2701, 0.3595, 0.5282, 0.7919, 1.159, 1.641, 2.251, 2.994, 3.881",\
                 "0.2583, 0.2797, 0.3595, 0.5268, 0.7912, 1.159, 1.641, 2.251, 2.994, 3.879",\
                 "0.3565, 0.3778, 0.452, 0.5829, 0.8053, 1.159, 1.642, 2.25, 2.993, 3.88",\
                 "0.4834, 0.508, 0.5928, 0.7414, 0.9534, 1.24, 1.664, 2.253, 2.994, 3.88",\
                 "0.6368, 0.668, 0.7654, 0.933, 1.17, 1.472, 1.843, 2.339, 3.014, 3.882",\
                 "0.8148, 0.8502, 0.966, 1.156, 1.417, 1.747, 2.151, 2.623, 3.207, 3.966",\
                 "1.016, 1.058, 1.194, 1.41, 1.701, 2.057, 2.494, 3.006, 3.591, 4.267",\
                 "1.24, 1.293, 1.447, 1.693, 2.018, 2.411, 2.873, 3.421, 4.049, 4.754",\
                 "1.49, 1.546, 1.722, 2.004, 2.37, 2.8, 3.298, 3.877, 4.541, 5.289");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5958, 0.6795, 0.9728, 1.53, 2.395, 3.606, 5.197, 7.199, 9.648, 12.56",\
                 "0.596, 0.6794, 0.9722, 1.53, 2.396, 3.606, 5.197, 7.203, 9.648, 12.56",\
                 "0.597, 0.6803, 0.9734, 1.53, 2.395, 3.606, 5.198, 7.2, 9.645, 12.56",\
                 "0.6193, 0.6963, 0.9776, 1.531, 2.396, 3.606, 5.197, 7.203, 9.646, 12.56",\
                 "0.6918, 0.7712, 1.035, 1.551, 2.396, 3.606, 5.197, 7.2, 9.646, 12.56",\
                 "0.7738, 0.852, 1.127, 1.638, 2.435, 3.61, 5.198, 7.202, 9.646, 12.56",\
                 "0.9032, 0.9756, 1.236, 1.752, 2.545, 3.665, 5.205, 7.202, 9.648, 12.56",\
                 "1.075, 1.147, 1.393, 1.888, 2.689, 3.796, 5.277, 7.214, 9.647, 12.56",\
                 "1.269, 1.347, 1.598, 2.073, 2.852, 3.973, 5.428, 7.302, 9.667, 12.56",\
                 "1.485, 1.568, 1.833, 2.31, 3.059, 4.169, 5.639, 7.471, 9.77, 12.59");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1558, 0.1733, 0.2321, 0.3388, 0.4991, 0.7186, 1.004, 1.362, 1.798, 2.317",\
                 "0.168, 0.1854, 0.244, 0.3511, 0.5114, 0.7308, 1.016, 1.374, 1.81, 2.329",\
                 "0.2157, 0.2322, 0.2892, 0.3953, 0.5555, 0.7748, 1.06, 1.418, 1.854, 2.373",\
                 "0.2715, 0.2936, 0.3649, 0.4825, 0.6429, 0.8611, 1.146, 1.503, 1.939, 2.458",\
                 "0.3034, 0.3307, 0.4194, 0.5663, 0.762, 0.9984, 1.283, 1.639, 2.073, 2.591",\
                 "0.302, 0.3349, 0.4421, 0.62, 0.8549, 1.139, 1.466, 1.833, 2.267, 2.783",\
                 "0.262, 0.301, 0.4276, 0.6375, 0.9153, 1.247, 1.628, 2.055, 2.521, 3.04",\
                 "0.183, 0.2274, 0.3729, 0.616, 0.9374, 1.321, 1.756, 2.242, 2.774, 3.348",\
                 "0.0644, 0.1138, 0.2765, 0.5521, 0.9179, 1.354, 1.847, 2.392, 2.988, 3.633",\
                 "-0.0972, -0.0419, 0.1392, 0.444, 0.8541, 1.343, 1.896, 2.505, 3.164, 3.877");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5907, 0.6393, 0.8078, 1.126, 1.621, 2.313, 3.223, 4.369, 5.768, 7.436",\
                 "0.5994, 0.6484, 0.8186, 1.14, 1.635, 2.328, 3.24, 4.386, 5.785, 7.453",\
                 "0.6318, 0.681, 0.8524, 1.175, 1.674, 2.37, 3.283, 4.43, 5.83, 7.499",\
                 "0.702, 0.7506, 0.9203, 1.241, 1.739, 2.434, 3.348, 4.496, 5.897, 7.566",\
                 "0.8221, 0.873, 1.046, 1.362, 1.853, 2.544, 3.454, 4.6, 5.999, 7.668",\
                 "0.9999, 1.052, 1.231, 1.558, 2.045, 2.725, 3.624, 4.764, 6.158, 7.822",\
                 "1.243, 1.298, 1.481, 1.816, 2.317, 2.993, 3.88, 5.006, 6.388, 8.042",\
                 "1.539, 1.599, 1.796, 2.142, 2.653, 3.346, 4.228, 5.339, 6.707, 8.348",\
                 "1.882, 1.949, 2.166, 2.534, 3.06, 3.767, 4.669, 5.773, 7.122, 8.748",\
                 "2.272, 2.346, 2.584, 2.984, 3.536, 4.258, 5.178, 6.304, 7.646, 9.254");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2933, 0.3179, 0.4049, 0.5724, 0.8338, 1.201, 1.684, 2.293, 3.036, 3.922",\
                 "0.292, 0.317, 0.4046, 0.5723, 0.8335, 1.202, 1.686, 2.294, 3.036, 3.923",\
                 "0.3051, 0.3256, 0.4044, 0.5711, 0.8345, 1.202, 1.684, 2.293, 3.036, 3.924",\
                 "0.4138, 0.4325, 0.5006, 0.6263, 0.8476, 1.202, 1.685, 2.293, 3.036, 3.922",\
                 "0.5566, 0.5776, 0.6538, 0.7936, 0.998, 1.282, 1.706, 2.294, 3.037, 3.923",\
                 "0.7308, 0.755, 0.8406, 0.9958, 1.222, 1.518, 1.886, 2.382, 3.058, 3.924",\
                 "0.9282, 0.958, 1.057, 1.231, 1.477, 1.8, 2.199, 2.666, 3.249, 4.007",\
                 "1.153, 1.188, 1.302, 1.499, 1.774, 2.119, 2.548, 3.054, 3.634, 4.31",\
                 "1.401, 1.445, 1.575, 1.797, 2.102, 2.479, 2.934, 3.477, 4.098, 4.799",\
                 "1.677, 1.728, 1.872, 2.129, 2.467, 2.879, 3.367, 3.936, 4.597, 5.338");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7081, 0.7927, 1.087, 1.647, 2.512, 3.724, 5.316, 7.319, 9.767, 12.68",\
                 "0.7082, 0.7926, 1.088, 1.647, 2.512, 3.724, 5.316, 7.321, 9.769, 12.68",\
                 "0.7088, 0.7932, 1.087, 1.647, 2.513, 3.724, 5.316, 7.321, 9.766, 12.68",\
                 "0.7207, 0.8019, 1.09, 1.647, 2.512, 3.724, 5.316, 7.32, 9.764, 12.68",\
                 "0.792, 0.8684, 1.135, 1.659, 2.513, 3.724, 5.316, 7.321, 9.767, 12.68",\
                 "0.8698, 0.9508, 1.229, 1.738, 2.544, 3.726, 5.317, 7.321, 9.766, 12.69",\
                 "0.9868, 1.062, 1.336, 1.855, 2.646, 3.775, 5.322, 7.322, 9.768, 12.68",\
                 "1.15, 1.223, 1.479, 1.986, 2.792, 3.9, 5.387, 7.333, 9.768, 12.69",\
                 "1.346, 1.423, 1.679, 2.163, 2.955, 4.078, 5.533, 7.413, 9.786, 12.69",\
                 "1.567, 1.645, 1.915, 2.394, 3.154, 4.269, 5.743, 7.58, 9.884, 12.71");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1715, 0.1879, 0.2436, 0.3466, 0.5035, 0.7211, 1.006, 1.363, 1.799, 2.318",\
                 "0.1836, 0.1999, 0.2555, 0.3587, 0.5157, 0.7333, 1.018, 1.375, 1.811, 2.33",\
                 "0.2291, 0.2452, 0.3002, 0.4029, 0.5597, 0.7772, 1.062, 1.419, 1.855, 2.374",\
                 "0.2847, 0.3062, 0.375, 0.4896, 0.6474, 0.8638, 1.148, 1.505, 1.94, 2.459",\
                 "0.3181, 0.3445, 0.431, 0.5746, 0.7677, 1.002, 1.286, 1.642, 2.075, 2.593",\
                 "0.3226, 0.3558, 0.4611, 0.6349, 0.8656, 1.147, 1.472, 1.838, 2.27, 2.786",\
                 "0.2989, 0.337, 0.4612, 0.6655, 0.9365, 1.263, 1.64, 2.064, 2.528, 3.046",\
                 "0.242, 0.2868, 0.43, 0.6645, 0.9778, 1.351, 1.779, 2.259, 2.787, 3.359",\
                 "0.1521, 0.2024, 0.3641, 0.63, 0.9844, 1.406, 1.888, 2.424, 3.013, 3.653",\
                 "0.0285, 0.0844, 0.2631, 0.5602, 0.9554, 1.427, 1.964, 2.557, 3.206, 3.91");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5907, 0.6393, 0.8078, 1.126, 1.621, 2.313, 3.223, 4.369, 5.768, 7.436",\
                 "0.5994, 0.6484, 0.8186, 1.14, 1.635, 2.328, 3.24, 4.386, 5.785, 7.453",\
                 "0.6318, 0.681, 0.8524, 1.175, 1.674, 2.37, 3.283, 4.43, 5.83, 7.499",\
                 "0.702, 0.7506, 0.9203, 1.241, 1.739, 2.434, 3.348, 4.496, 5.897, 7.566",\
                 "0.8221, 0.873, 1.046, 1.362, 1.853, 2.544, 3.454, 4.6, 5.999, 7.668",\
                 "0.9999, 1.052, 1.231, 1.558, 2.045, 2.725, 3.624, 4.764, 6.158, 7.822",\
                 "1.243, 1.298, 1.481, 1.816, 2.317, 2.993, 3.88, 5.006, 6.388, 8.042",\
                 "1.539, 1.599, 1.796, 2.142, 2.653, 3.346, 4.228, 5.339, 6.707, 8.348",\
                 "1.882, 1.949, 2.166, 2.534, 3.06, 3.767, 4.669, 5.773, 7.122, 8.748",\
                 "2.272, 2.346, 2.584, 2.984, 3.536, 4.258, 5.178, 6.304, 7.646, 9.254");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2933, 0.3179, 0.4049, 0.5724, 0.8338, 1.201, 1.684, 2.293, 3.036, 3.922",\
                 "0.292, 0.317, 0.4046, 0.5723, 0.8335, 1.202, 1.686, 2.294, 3.036, 3.923",\
                 "0.3051, 0.3256, 0.4044, 0.5711, 0.8345, 1.202, 1.684, 2.293, 3.036, 3.924",\
                 "0.4138, 0.4325, 0.5006, 0.6263, 0.8476, 1.202, 1.685, 2.293, 3.036, 3.922",\
                 "0.5566, 0.5776, 0.6538, 0.7936, 0.998, 1.282, 1.706, 2.294, 3.037, 3.923",\
                 "0.7308, 0.755, 0.8406, 0.9958, 1.222, 1.518, 1.886, 2.382, 3.058, 3.924",\
                 "0.9282, 0.958, 1.057, 1.231, 1.477, 1.8, 2.199, 2.666, 3.249, 4.007",\
                 "1.153, 1.188, 1.302, 1.499, 1.774, 2.119, 2.548, 3.054, 3.634, 4.31",\
                 "1.401, 1.445, 1.575, 1.797, 2.102, 2.479, 2.934, 3.477, 4.098, 4.799",\
                 "1.677, 1.728, 1.872, 2.129, 2.467, 2.879, 3.367, 3.936, 4.597, 5.338");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7081, 0.7927, 1.087, 1.647, 2.512, 3.724, 5.316, 7.319, 9.767, 12.68",\
                 "0.7082, 0.7926, 1.088, 1.647, 2.512, 3.724, 5.316, 7.321, 9.769, 12.68",\
                 "0.7088, 0.7932, 1.087, 1.647, 2.513, 3.724, 5.316, 7.321, 9.766, 12.68",\
                 "0.7207, 0.8019, 1.09, 1.647, 2.512, 3.724, 5.316, 7.32, 9.764, 12.68",\
                 "0.792, 0.8684, 1.135, 1.659, 2.513, 3.724, 5.316, 7.321, 9.767, 12.68",\
                 "0.8698, 0.9508, 1.229, 1.738, 2.544, 3.726, 5.317, 7.321, 9.766, 12.69",\
                 "0.9868, 1.062, 1.336, 1.855, 2.646, 3.775, 5.322, 7.322, 9.768, 12.68",\
                 "1.15, 1.223, 1.479, 1.986, 2.792, 3.9, 5.387, 7.333, 9.768, 12.69",\
                 "1.346, 1.423, 1.679, 2.163, 2.955, 4.078, 5.533, 7.413, 9.786, 12.69",\
                 "1.567, 1.645, 1.915, 2.394, 3.154, 4.269, 5.743, 7.58, 9.884, 12.71");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1857, 0.2022, 0.2579, 0.3608, 0.5177, 0.7353, 1.02, 1.377, 1.813, 2.332",\
                 "0.1965, 0.2131, 0.2689, 0.3719, 0.5287, 0.7463, 1.031, 1.388, 1.824, 2.343",\
                 "0.2243, 0.2407, 0.2964, 0.3993, 0.5564, 0.7741, 1.059, 1.416, 1.852, 2.372",\
                 "0.256, 0.2755, 0.3392, 0.4503, 0.6097, 0.827, 1.111, 1.469, 1.904, 2.423",\
                 "0.2709, 0.2945, 0.3713, 0.5001, 0.6791, 0.9098, 1.196, 1.552, 1.988, 2.505",\
                 "0.2549, 0.2843, 0.3781, 0.5321, 0.7374, 0.9937, 1.304, 1.672, 2.107, 2.625",\
                 "0.2043, 0.2386, 0.3506, 0.533, 0.7735, 1.063, 1.404, 1.802, 2.262, 2.785",\
                 "0.1163, 0.1566, 0.2851, 0.4977, 0.7761, 1.108, 1.488, 1.92, 2.412, 2.967",\
                 "-0.0111, 0.0343, 0.1796, 0.4204, 0.739, 1.116, 1.543, 2.019, 2.548, 3.14",\
                 "-0.1816, -0.1306, 0.0332, 0.3027, 0.6586, 1.083, 1.562, 2.089, 2.665, 3.296");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3448, 0.3776, 0.4909, 0.7053, 1.038, 1.505, 2.119, 2.891, 3.835, 4.959",\
                 "0.3562, 0.3892, 0.5035, 0.7184, 1.052, 1.519, 2.133, 2.906, 3.849, 4.973",\
                 "0.4033, 0.4358, 0.5508, 0.7669, 1.101, 1.569, 2.184, 2.957, 3.901, 5.025",\
                 "0.4909, 0.526, 0.6421, 0.8575, 1.19, 1.658, 2.272, 3.046, 3.989, 5.113",\
                 "0.6184, 0.6567, 0.7857, 1.012, 1.343, 1.805, 2.416, 3.187, 4.128, 5.251",\
                 "0.7993, 0.8414, 0.9788, 1.222, 1.573, 2.034, 2.636, 3.4, 4.336, 5.456",\
                 "1.029, 1.077, 1.228, 1.486, 1.857, 2.343, 2.946, 3.701, 4.628, 5.741",\
                 "1.303, 1.357, 1.527, 1.809, 2.199, 2.709, 3.343, 4.101, 5.017, 6.118",\
                 "1.619, 1.68, 1.871, 2.183, 2.602, 3.135, 3.797, 4.588, 5.509, 6.598",\
                 "1.98, 2.049, 2.262, 2.607, 3.062, 3.624, 4.312, 5.135, 6.094, 7.191");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2161, 0.2422, 0.334, 0.5056, 0.7691, 1.138, 1.623, 2.231, 2.975, 3.862",\
                 "0.216, 0.2421, 0.3343, 0.5055, 0.7691, 1.137, 1.623, 2.232, 2.975, 3.861",\
                 "0.2217, 0.2464, 0.3342, 0.5046, 0.7696, 1.137, 1.623, 2.232, 2.974, 3.861",\
                 "0.2776, 0.3018, 0.3855, 0.5374, 0.7794, 1.139, 1.623, 2.231, 2.975, 3.861",\
                 "0.3683, 0.394, 0.479, 0.6324, 0.867, 1.191, 1.64, 2.232, 2.974, 3.86",\
                 "0.4858, 0.5152, 0.6096, 0.7688, 1.003, 1.328, 1.751, 2.296, 2.997, 3.862",\
                 "0.623, 0.6572, 0.7672, 0.9442, 1.189, 1.511, 1.934, 2.467, 3.118, 3.93",\
                 "0.7782, 0.8188, 0.945, 1.148, 1.413, 1.747, 2.167, 2.697, 3.348, 4.117",\
                 "0.9506, 0.9956, 1.142, 1.369, 1.668, 2.026, 2.458, 2.985, 3.633, 4.404",\
                 "1.135, 1.19, 1.358, 1.616, 1.946, 2.338, 2.796, 3.33, 3.974, 4.744");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4421, 0.4983, 0.6945, 1.069, 1.65, 2.462, 3.531, 4.876, 6.519, 8.472",\
                 "0.4424, 0.4984, 0.6946, 1.069, 1.65, 2.463, 3.531, 4.874, 6.516, 8.475",\
                 "0.4442, 0.4997, 0.6949, 1.069, 1.65, 2.463, 3.531, 4.877, 6.516, 8.474",\
                 "0.489, 0.5367, 0.7117, 1.07, 1.65, 2.463, 3.531, 4.876, 6.518, 8.476",\
                 "0.5822, 0.6322, 0.8062, 1.127, 1.662, 2.463, 3.532, 4.876, 6.518, 8.474",\
                 "0.696, 0.746, 0.9224, 1.256, 1.758, 2.496, 3.534, 4.877, 6.518, 8.474",\
                 "0.8426, 0.8914, 1.063, 1.4, 1.923, 2.629, 3.593, 4.884, 6.518, 8.476",\
                 "1.012, 1.064, 1.241, 1.573, 2.103, 2.834, 3.762, 4.977, 6.539, 8.475",\
                 "1.201, 1.258, 1.447, 1.787, 2.31, 3.052, 4.012, 5.185, 6.666, 8.516",\
                 "1.406, 1.468, 1.675, 2.033, 2.558, 3.298, 4.279, 5.479, 6.911, 8.676");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1859, 0.2023, 0.2581, 0.3609, 0.5179, 0.7354, 1.02, 1.378, 1.814, 2.332",\
                 "0.1971, 0.2133, 0.2695, 0.3724, 0.5294, 0.747, 1.032, 1.389, 1.825, 2.344",\
                 "0.2258, 0.2421, 0.2979, 0.4008, 0.5578, 0.7755, 1.06, 1.418, 1.854, 2.373",\
                 "0.2576, 0.2768, 0.3407, 0.4518, 0.6113, 0.8286, 1.113, 1.47, 1.906, 2.425",\
                 "0.2693, 0.2932, 0.3704, 0.4998, 0.6795, 0.9103, 1.197, 1.554, 1.989, 2.507",\
                 "0.2471, 0.2764, 0.3714, 0.527, 0.7341, 0.9917, 1.303, 1.673, 2.107, 2.625",\
                 "0.1842, 0.2195, 0.3335, 0.5192, 0.7632, 1.056, 1.4, 1.799, 2.259, 2.783",\
                 "0.0786, 0.1196, 0.2519, 0.4698, 0.754, 1.091, 1.476, 1.911, 2.405, 2.962",\
                 "-0.0739, -0.0257, 0.1245, 0.373, 0.7, 1.085, 1.519, 2.001, 2.535, 3.129",\
                 "-0.274, -0.2217, -0.0501, 0.2297, 0.5966, 1.031, 1.52, 2.056, 2.639, 3.277");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4197, 0.46, 0.6009, 0.8693, 1.286, 1.869, 2.636, 3.601, 4.779, 6.183",\
                 "0.4287, 0.4697, 0.6121, 0.8805, 1.298, 1.881, 2.648, 3.614, 4.793, 6.196",\
                 "0.4709, 0.5116, 0.6544, 0.9252, 1.343, 1.927, 2.695, 3.661, 4.84, 6.244",\
                 "0.5571, 0.5988, 0.7412, 1.01, 1.427, 2.01, 2.778, 3.744, 4.923, 6.328",\
                 "0.6925, 0.7377, 0.8902, 1.162, 1.573, 2.151, 2.915, 3.878, 5.055, 6.458",\
                 "0.8914, 0.9389, 1.099, 1.387, 1.805, 2.374, 3.129, 4.085, 5.256, 6.654",\
                 "1.15, 1.202, 1.373, 1.673, 2.112, 2.691, 3.435, 4.378, 5.54, 6.931",\
                 "1.46, 1.52, 1.708, 2.027, 2.482, 3.087, 3.842, 4.774, 5.921, 7.3",\
                 "1.822, 1.888, 2.099, 2.445, 2.923, 3.549, 4.334, 5.277, 6.411, 7.773",\
                 "2.236, 2.309, 2.542, 2.922, 3.432, 4.081, 4.894, 5.871, 7.014, 8.362");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2162, 0.2421, 0.3341, 0.5055, 0.7694, 1.138, 1.623, 2.232, 2.975, 3.861",\
                 "0.216, 0.2424, 0.3341, 0.5056, 0.7695, 1.137, 1.621, 2.232, 2.974, 3.86",\
                 "0.2213, 0.2463, 0.3345, 0.505, 0.7695, 1.137, 1.622, 2.232, 2.974, 3.861",\
                 "0.2766, 0.3019, 0.385, 0.537, 0.7794, 1.139, 1.622, 2.232, 2.975, 3.861",\
                 "0.3667, 0.393, 0.4784, 0.6324, 0.8664, 1.191, 1.64, 2.233, 2.974, 3.861",\
                 "0.4848, 0.5142, 0.6106, 0.771, 1.004, 1.329, 1.751, 2.296, 2.995, 3.862",\
                 "0.6224, 0.6572, 0.7672, 0.9468, 1.19, 1.514, 1.936, 2.469, 3.119, 3.93",\
                 "0.777, 0.8184, 0.9472, 1.149, 1.417, 1.753, 2.173, 2.703, 3.352, 4.12",\
                 "0.9508, 0.998, 1.145, 1.375, 1.672, 2.036, 2.466, 2.995, 3.641, 4.41",\
                 "1.142, 1.198, 1.364, 1.624, 1.958, 2.35, 2.81, 3.347, 3.988, 4.758");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5761, 0.6463, 0.8919, 1.359, 2.084, 3.097, 4.427, 6.104, 8.152, 10.59",\
                 "0.576, 0.6465, 0.8915, 1.359, 2.083, 3.097, 4.427, 6.104, 8.149, 10.59",\
                 "0.5766, 0.6469, 0.892, 1.36, 2.084, 3.097, 4.428, 6.106, 8.15, 10.59",\
                 "0.6065, 0.6699, 0.8986, 1.359, 2.084, 3.097, 4.428, 6.105, 8.149, 10.59",\
                 "0.6966, 0.7604, 0.9742, 1.39, 2.086, 3.097, 4.429, 6.105, 8.152, 10.59",\
                 "0.8002, 0.863, 1.086, 1.502, 2.145, 3.106, 4.429, 6.105, 8.152, 10.59",\
                 "0.9344, 0.9952, 1.214, 1.64, 2.288, 3.191, 4.448, 6.105, 8.152, 10.59",\
                 "1.102, 1.163, 1.378, 1.795, 2.459, 3.364, 4.558, 6.139, 8.153, 10.59",\
                 "1.293, 1.357, 1.576, 1.987, 2.648, 3.579, 4.764, 6.276, 8.203, 10.6",\
                 "1.504, 1.572, 1.804, 2.22, 2.87, 3.808, 5.023, 6.512, 8.364, 10.66");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1922, 0.2088, 0.2651, 0.3692, 0.5272, 0.7454, 1.03, 1.388, 1.823, 2.342",\
                 "0.2034, 0.2201, 0.2765, 0.3806, 0.5387, 0.7569, 1.042, 1.399, 1.835, 2.354",\
                 "0.2321, 0.2485, 0.3048, 0.4089, 0.5672, 0.7855, 1.07, 1.428, 1.863, 2.382",\
                 "0.2661, 0.2853, 0.3491, 0.4606, 0.6206, 0.8386, 1.123, 1.48, 1.916, 2.435",\
                 "0.2823, 0.3058, 0.3819, 0.5108, 0.69, 0.9209, 1.207, 1.564, 1.999, 2.517",\
                 "0.2664, 0.2953, 0.3878, 0.5414, 0.7471, 1.003, 1.315, 1.682, 2.118, 2.635",\
                 "0.2109, 0.2451, 0.3556, 0.5377, 0.7788, 1.07, 1.412, 1.81, 2.27, 2.793",\
                 "0.1126, 0.1517, 0.2794, 0.4923, 0.7721, 1.107, 1.489, 1.923, 2.417, 2.973",\
                 "-0.0319, 0.0128, 0.158, 0.4003, 0.7218, 1.103, 1.535, 2.014, 2.547, 3.141",\
                 "-0.2257, -0.175, -0.0117, 0.2599, 0.6213, 1.053, 1.537, 2.072, 2.653, 3.289");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4934, 0.5343, 0.6751, 0.9434, 1.359, 1.943, 2.71, 3.676, 4.855, 6.258",\
                 "0.5036, 0.5441, 0.6856, 0.955, 1.372, 1.955, 2.723, 3.689, 4.867, 6.271",\
                 "0.546, 0.5867, 0.7295, 0.9995, 1.418, 2.002, 2.77, 3.736, 4.916, 6.32",\
                 "0.6325, 0.6734, 0.8148, 1.083, 1.501, 2.085, 2.852, 3.819, 4.998, 6.403",\
                 "0.7751, 0.8183, 0.9675, 1.235, 1.646, 2.225, 2.989, 3.953, 5.13, 6.534",\
                 "0.9769, 1.023, 1.179, 1.462, 1.877, 2.447, 3.202, 4.158, 5.33, 6.729",\
                 "1.243, 1.293, 1.457, 1.752, 2.187, 2.763, 3.507, 4.452, 5.615, 7.005",\
                 "1.565, 1.619, 1.799, 2.109, 2.561, 3.163, 3.914, 4.846, 5.994, 7.374",\
                 "1.939, 2, 2.197, 2.531, 3.003, 3.627, 4.408, 5.349, 6.482, 7.846",\
                 "2.366, 2.433, 2.652, 3.017, 3.516, 4.161, 4.97, 5.945, 7.086, 8.435");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.263, 0.2886, 0.3782, 0.5478, 0.8115, 1.181, 1.663, 2.274, 3.017, 3.902",\
                 "0.2628, 0.2885, 0.3782, 0.5479, 0.8113, 1.181, 1.663, 2.274, 3.017, 3.902",\
                 "0.2689, 0.293, 0.3791, 0.5479, 0.8112, 1.179, 1.663, 2.273, 3.016, 3.902",\
                 "0.3293, 0.3524, 0.4315, 0.5802, 0.823, 1.18, 1.664, 2.273, 3.016, 3.902",\
                 "0.429, 0.4521, 0.5314, 0.68, 0.911, 1.233, 1.682, 2.275, 3.017, 3.902",\
                 "0.5606, 0.5868, 0.6732, 0.8242, 1.053, 1.374, 1.794, 2.339, 3.037, 3.904",\
                 "0.7172, 0.745, 0.8436, 1.009, 1.246, 1.563, 1.982, 2.513, 3.161, 3.972",\
                 "0.8892, 0.924, 1.038, 1.224, 1.48, 1.808, 2.222, 2.749, 3.395, 4.162",\
                 "1.085, 1.123, 1.251, 1.463, 1.744, 2.096, 2.521, 3.043, 3.687, 4.454",\
                 "1.296, 1.342, 1.488, 1.727, 2.04, 2.42, 2.868, 3.401, 4.037, 4.8");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6707, 0.7414, 0.9879, 1.456, 2.181, 3.196, 4.528, 6.205, 8.252, 10.69",\
                 "0.6711, 0.7412, 0.988, 1.456, 2.181, 3.195, 4.528, 6.205, 8.253, 10.69",\
                 "0.6712, 0.7412, 0.9878, 1.456, 2.181, 3.196, 4.528, 6.206, 8.25, 10.69",\
                 "0.6884, 0.754, 0.991, 1.456, 2.182, 3.195, 4.528, 6.205, 8.252, 10.69",\
                 "0.7758, 0.838, 1.052, 1.478, 2.182, 3.195, 4.527, 6.205, 8.253, 10.69",\
                 "0.8756, 0.9412, 1.167, 1.581, 2.232, 3.201, 4.528, 6.205, 8.252, 10.69",\
                 "1.004, 1.066, 1.293, 1.722, 2.368, 3.279, 4.545, 6.206, 8.253, 10.69",\
                 "1.167, 1.229, 1.449, 1.879, 2.544, 3.447, 4.646, 6.235, 8.255, 10.69",\
                 "1.358, 1.425, 1.644, 2.064, 2.733, 3.664, 4.848, 6.365, 8.3, 10.7",\
                 "1.572, 1.64, 1.873, 2.294, 2.951, 3.891, 5.11, 6.598, 8.454, 10.76");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1569, 0.174, 0.2314, 0.3362, 0.4942, 0.7125, 0.9977, 1.356, 1.792, 2.311",\
                 "0.1673, 0.1844, 0.242, 0.3467, 0.5048, 0.7231, 1.008, 1.366, 1.802, 2.321",\
                 "0.1947, 0.2122, 0.2695, 0.3737, 0.5319, 0.7503, 1.035, 1.393, 1.829, 2.349",\
                 "0.2207, 0.2415, 0.3086, 0.4229, 0.5846, 0.8027, 1.088, 1.445, 1.881, 2.4",\
                 "0.2241, 0.2502, 0.333, 0.4675, 0.6505, 0.884, 1.172, 1.528, 1.964, 2.482",\
                 "0.1937, 0.2262, 0.3279, 0.4909, 0.7033, 0.9638, 1.277, 1.647, 2.083, 2.6",\
                 "0.1259, 0.1643, 0.2853, 0.4798, 0.7301, 1.028, 1.373, 1.774, 2.234, 2.759",\
                 "0.019, 0.0637, 0.2028, 0.4292, 0.7208, 1.062, 1.45, 1.886, 2.381, 2.938",\
                 "-0.1295, -0.079, 0.0798, 0.336, 0.6684, 1.058, 1.495, 1.978, 2.512, 3.106",\
                 "-0.3218, -0.2657, -0.0882, 0.1986, 0.5707, 1.01, 1.5, 2.038, 2.621, 3.257");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4094, 0.45, 0.5895, 0.855, 1.267, 1.844, 2.603, 3.56, 4.729, 6.12",\
                 "0.4198, 0.4601, 0.6011, 0.8672, 1.28, 1.857, 2.617, 3.574, 4.743, 6.134",\
                 "0.4623, 0.5029, 0.6445, 0.9121, 1.325, 1.905, 2.665, 3.622, 4.79, 6.182",\
                 "0.5388, 0.5803, 0.7212, 0.9869, 1.399, 1.977, 2.738, 3.695, 4.864, 6.256",\
                 "0.6533, 0.697, 0.8465, 1.116, 1.522, 2.095, 2.852, 3.806, 4.972, 6.364",\
                 "0.8269, 0.8724, 1.026, 1.305, 1.72, 2.283, 3.03, 3.977, 5.137, 6.523",\
                 "1.056, 1.105, 1.269, 1.556, 1.982, 2.556, 3.291, 4.225, 5.375, 6.753",\
                 "1.331, 1.387, 1.568, 1.872, 2.307, 2.895, 3.643, 4.565, 5.699, 7.065",\
                 "1.65, 1.714, 1.915, 2.246, 2.702, 3.3, 4.066, 5.002, 6.122, 7.47",\
                 "2.016, 2.087, 2.31, 2.672, 3.16, 3.777, 4.555, 5.511, 6.647, 7.981");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1968, 0.2228, 0.3143, 0.4857, 0.7489, 1.117, 1.6, 2.21, 2.952, 3.838",\
                 "0.1952, 0.2224, 0.3148, 0.4858, 0.7487, 1.116, 1.601, 2.21, 2.953, 3.839",\
                 "0.2067, 0.2301, 0.3157, 0.4838, 0.7487, 1.117, 1.601, 2.21, 2.952, 3.839",\
                 "0.2687, 0.2917, 0.3727, 0.5225, 0.7607, 1.117, 1.601, 2.209, 2.952, 3.839",\
                 "0.3665, 0.3906, 0.4724, 0.6224, 0.8532, 1.174, 1.619, 2.211, 2.952, 3.838",\
                 "0.4914, 0.5196, 0.612, 0.7668, 0.9952, 1.315, 1.735, 2.277, 2.975, 3.84",\
                 "0.6362, 0.6706, 0.7762, 0.9502, 1.187, 1.504, 1.923, 2.453, 3.101, 3.91",\
                 "0.8044, 0.8436, 0.9656, 1.164, 1.421, 1.749, 2.163, 2.69, 3.335, 4.102",\
                 "0.9942, 1.039, 1.179, 1.4, 1.686, 2.037, 2.462, 2.984, 3.624, 4.395",\
                 "1.199, 1.253, 1.423, 1.665, 1.984, 2.363, 2.811, 3.338, 3.975, 4.738");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.483, 0.5527, 0.7978, 1.263, 1.986, 2.999, 4.331, 6.009, 8.056, 10.49",\
                 "0.4841, 0.5538, 0.7976, 1.263, 1.986, 2.999, 4.329, 6.006, 8.056, 10.49",\
                 "0.4852, 0.5537, 0.7979, 1.263, 1.986, 2.999, 4.331, 6.009, 8.055, 10.49",\
                 "0.5169, 0.5792, 0.8062, 1.264, 1.986, 2.999, 4.33, 6.007, 8.053, 10.49",\
                 "0.5864, 0.6526, 0.8772, 1.298, 1.99, 2.999, 4.332, 6.007, 8.054, 10.49",\
                 "0.6766, 0.7404, 0.9662, 1.398, 2.052, 3.012, 4.33, 6.009, 8.054, 10.49",\
                 "0.8068, 0.8686, 1.085, 1.511, 2.179, 3.098, 4.358, 6.009, 8.055, 10.49",\
                 "0.9624, 1.028, 1.246, 1.657, 2.321, 3.253, 4.468, 6.053, 8.059, 10.5",\
                 "1.14, 1.21, 1.441, 1.853, 2.494, 3.43, 4.651, 6.185, 8.121, 10.5",\
                 "1.335, 1.41, 1.66, 2.087, 2.719, 3.632, 4.869, 6.398, 8.278, 10.59");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.157, 0.1741, 0.2316, 0.3364, 0.4944, 0.7127, 0.9978, 1.356, 1.792, 2.311",\
                 "0.168, 0.1852, 0.2427, 0.3475, 0.5055, 0.7239, 1.009, 1.367, 1.803, 2.322",\
                 "0.1961, 0.2136, 0.2709, 0.3751, 0.5333, 0.7517, 1.037, 1.395, 1.831, 2.35",\
                 "0.222, 0.2429, 0.31, 0.4244, 0.5861, 0.8042, 1.089, 1.447, 1.883, 2.402",\
                 "0.223, 0.2494, 0.3325, 0.4676, 0.6509, 0.8848, 1.173, 1.53, 1.965, 2.484",\
                 "0.1864, 0.2192, 0.3217, 0.4864, 0.7006, 0.9621, 1.276, 1.648, 2.083, 2.601",\
                 "0.1077, 0.1464, 0.2699, 0.4679, 0.721, 1.021, 1.369, 1.771, 2.232, 2.758",\
                 "-0.0157, 0.0298, 0.1729, 0.4036, 0.7005, 1.047, 1.439, 1.878, 2.375, 2.935",\
                 "-0.1875, -0.1351, 0.0294, 0.2927, 0.6331, 1.031, 1.474, 1.962, 2.5, 3.097",\
                 "-0.4085, -0.3512, -0.1661, 0.1316, 0.5145, 0.9638, 1.464, 2.008, 2.598, 3.239");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.488, 0.5364, 0.704, 1.022, 1.514, 2.206, 3.116, 4.262, 5.66, 7.327",\
                 "0.4962, 0.5448, 0.7133, 1.032, 1.526, 2.218, 3.128, 4.275, 5.673, 7.339",\
                 "0.5346, 0.5834, 0.7528, 1.073, 1.569, 2.262, 3.172, 4.32, 5.718, 7.386",\
                 "0.6091, 0.6579, 0.826, 1.144, 1.639, 2.332, 3.243, 4.39, 5.789, 7.456",\
                 "0.7293, 0.7805, 0.9548, 1.272, 1.76, 2.446, 3.353, 4.496, 5.894, 7.56",\
                 "0.917, 0.9688, 1.147, 1.473, 1.959, 2.634, 3.529, 4.665, 6.054, 7.717",\
                 "1.172, 1.227, 1.411, 1.741, 2.239, 2.911, 3.793, 4.913, 6.293, 7.943",\
                 "1.483, 1.545, 1.743, 2.085, 2.59, 3.277, 4.153, 5.257, 6.62, 8.257",\
                 "1.846, 1.914, 2.133, 2.499, 3.017, 3.714, 4.607, 5.704, 7.047, 8.666",\
                 "2.263, 2.339, 2.58, 2.977, 3.519, 4.228, 5.136, 6.252, 7.586, 9.182");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1962, 0.2225, 0.3141, 0.4852, 0.748, 1.117, 1.6, 2.208, 2.952, 3.838",\
                 "0.1957, 0.2223, 0.3139, 0.4854, 0.7489, 1.117, 1.6, 2.209, 2.953, 3.839",\
                 "0.2061, 0.23, 0.3157, 0.4845, 0.7487, 1.116, 1.601, 2.21, 2.952, 3.837",\
                 "0.2673, 0.2905, 0.3722, 0.5218, 0.7606, 1.117, 1.601, 2.21, 2.952, 3.838",\
                 "0.3635, 0.3892, 0.4714, 0.622, 0.8524, 1.173, 1.62, 2.212, 2.952, 3.838",\
                 "0.4864, 0.515, 0.6094, 0.7672, 0.995, 1.316, 1.735, 2.277, 2.974, 3.841",\
                 "0.6306, 0.6654, 0.774, 0.9484, 1.188, 1.507, 1.925, 2.453, 3.101, 3.91",\
                 "0.7968, 0.8382, 0.9598, 1.158, 1.421, 1.752, 2.168, 2.695, 3.338, 4.104",\
                 "0.9824, 1.032, 1.171, 1.395, 1.685, 2.041, 2.47, 2.99, 3.63, 4.398",\
                 "1.184, 1.241, 1.406, 1.658, 1.981, 2.367, 2.822, 3.352, 3.987, 4.748");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.597, 0.6812, 0.9739, 1.531, 2.396, 3.607, 5.197, 7.201, 9.645, 12.56",\
                 "0.5973, 0.6814, 0.9736, 1.531, 2.397, 3.607, 5.198, 7.204, 9.649, 12.56",\
                 "0.5983, 0.6814, 0.9734, 1.531, 2.396, 3.607, 5.197, 7.2, 9.647, 12.56",\
                 "0.6217, 0.6988, 0.979, 1.531, 2.396, 3.607, 5.198, 7.202, 9.647, 12.56",\
                 "0.6916, 0.7706, 1.037, 1.552, 2.397, 3.607, 5.198, 7.202, 9.647, 12.56",\
                 "0.7692, 0.8484, 1.125, 1.638, 2.436, 3.61, 5.198, 7.202, 9.646, 12.56",\
                 "0.8854, 0.9604, 1.225, 1.746, 2.542, 3.665, 5.205, 7.202, 9.646, 12.56",\
                 "1.039, 1.112, 1.368, 1.873, 2.68, 3.792, 5.275, 7.214, 9.648, 12.56",\
                 "1.216, 1.293, 1.553, 2.039, 2.83, 3.961, 5.422, 7.299, 9.668, 12.57",\
                 "1.414, 1.497, 1.77, 2.256, 3.022, 4.144, 5.624, 7.464, 9.768, 12.59");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1629, 0.1803, 0.2384, 0.3441, 0.5035, 0.7226, 1.008, 1.366, 1.802, 2.321",\
                 "0.174, 0.1913, 0.2494, 0.3552, 0.5146, 0.7337, 1.019, 1.377, 1.813, 2.332",\
                 "0.2025, 0.2199, 0.2774, 0.383, 0.5424, 0.7616, 1.047, 1.405, 1.841, 2.36",\
                 "0.231, 0.2518, 0.3184, 0.433, 0.5954, 0.8142, 1.099, 1.457, 1.893, 2.412",\
                 "0.237, 0.2626, 0.3444, 0.4787, 0.6619, 0.8953, 1.183, 1.54, 1.975, 2.494",\
                 "0.2085, 0.2397, 0.3394, 0.5013, 0.7135, 0.9739, 1.287, 1.658, 2.093, 2.611",\
                 "0.138, 0.1753, 0.2941, 0.487, 0.737, 1.035, 1.381, 1.782, 2.243, 2.768",\
                 "0.0237, 0.0665, 0.2033, 0.4279, 0.7198, 1.063, 1.452, 1.891, 2.387, 2.945",\
                 "-0.139, -0.0911, 0.0654, 0.3208, 0.6558, 1.049, 1.489, 1.975, 2.512, 3.108",\
                 "-0.352, -0.2988, -0.1229, 0.1648, 0.5408, 0.9854, 1.481, 2.024, 2.612, 3.252");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5754, 0.6236, 0.7912, 1.109, 1.602, 2.294, 3.204, 4.351, 5.749, 7.416",\
                 "0.5843, 0.633, 0.801, 1.12, 1.614, 2.306, 3.217, 4.364, 5.762, 7.427",\
                 "0.6239, 0.6721, 0.8415, 1.161, 1.657, 2.351, 3.261, 4.408, 5.807, 7.475",\
                 "0.698, 0.7459, 0.9143, 1.233, 1.727, 2.42, 3.331, 4.478, 5.878, 7.545",\
                 "0.8218, 0.8727, 1.044, 1.358, 1.847, 2.534, 3.441, 4.585, 5.982, 7.649",\
                 "1.011, 1.062, 1.236, 1.561, 2.043, 2.721, 3.617, 4.753, 6.145, 7.805",\
                 "1.271, 1.324, 1.503, 1.831, 2.325, 2.997, 3.878, 5.001, 6.379, 8.032",\
                 "1.592, 1.65, 1.839, 2.175, 2.678, 3.363, 4.238, 5.342, 6.706, 8.345",\
                 "1.967, 2.03, 2.238, 2.593, 3.105, 3.801, 4.692, 5.789, 7.132, 8.753",\
                 "2.398, 2.467, 2.694, 3.077, 3.61, 4.317, 5.222, 6.337, 7.67, 9.269");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2449, 0.2704, 0.3596, 0.5281, 0.7907, 1.159, 1.643, 2.251, 2.995, 3.879",\
                 "0.2443, 0.2699, 0.3593, 0.528, 0.7908, 1.159, 1.641, 2.252, 2.994, 3.88",\
                 "0.2543, 0.2774, 0.3609, 0.5275, 0.7907, 1.159, 1.642, 2.251, 2.993, 3.881",\
                 "0.3221, 0.3431, 0.4197, 0.5656, 0.8043, 1.159, 1.643, 2.25, 2.995, 3.88",\
                 "0.43, 0.4521, 0.5264, 0.6706, 0.8976, 1.216, 1.664, 2.253, 2.994, 3.881",\
                 "0.5694, 0.5936, 0.6758, 0.823, 1.044, 1.361, 1.778, 2.321, 3.019, 3.884",\
                 "0.733, 0.7616, 0.855, 1.014, 1.244, 1.556, 1.971, 2.497, 3.144, 3.952",\
                 "0.9192, 0.9528, 1.057, 1.236, 1.486, 1.807, 2.217, 2.739, 3.381, 4.146",\
                 "1.129, 1.166, 1.286, 1.487, 1.76, 2.104, 2.524, 3.041, 3.675, 4.443",\
                 "1.354, 1.401, 1.539, 1.764, 2.066, 2.437, 2.88, 3.402, 4.035, 4.792");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7098, 0.7936, 1.088, 1.647, 2.512, 3.725, 5.317, 7.322, 9.766, 12.68",\
                 "0.7091, 0.7937, 1.089, 1.647, 2.512, 3.724, 5.317, 7.324, 9.767, 12.68",\
                 "0.7095, 0.7939, 1.088, 1.647, 2.513, 3.725, 5.316, 7.32, 9.767, 12.68",\
                 "0.7223, 0.8029, 1.091, 1.648, 2.512, 3.725, 5.316, 7.321, 9.766, 12.68",\
                 "0.7922, 0.8694, 1.136, 1.66, 2.513, 3.725, 5.316, 7.322, 9.767, 12.68",\
                 "0.8662, 0.9474, 1.228, 1.738, 2.544, 3.727, 5.318, 7.321, 9.767, 12.68",\
                 "0.973, 1.049, 1.325, 1.85, 2.645, 3.775, 5.322, 7.322, 9.769, 12.68",\
                 "1.12, 1.196, 1.458, 1.974, 2.785, 3.896, 5.387, 7.333, 9.769, 12.69",\
                 "1.298, 1.376, 1.637, 2.134, 2.935, 4.067, 5.53, 7.411, 9.787, 12.69",\
                 "1.499, 1.58, 1.853, 2.342, 3.12, 4.252, 5.729, 7.572, 9.882, 12.71");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1627, 0.1801, 0.2381, 0.3439, 0.5033, 0.7224, 1.008, 1.366, 1.801, 2.321",\
                 "0.1733, 0.1906, 0.2487, 0.3545, 0.5139, 0.733, 1.018, 1.376, 1.812, 2.331",\
                 "0.2012, 0.2185, 0.2761, 0.3815, 0.541, 0.7602, 1.045, 1.403, 1.839, 2.358",\
                 "0.2296, 0.2503, 0.317, 0.4315, 0.5939, 0.8126, 1.098, 1.455, 1.891, 2.41",\
                 "0.2382, 0.2636, 0.3449, 0.4786, 0.6613, 0.8944, 1.182, 1.539, 1.974, 2.492",\
                 "0.2158, 0.2467, 0.3454, 0.5056, 0.7162, 0.9754, 1.288, 1.658, 2.093, 2.61",\
                 "0.1567, 0.1929, 0.3096, 0.4992, 0.7462, 1.041, 1.385, 1.785, 2.245, 2.769",\
                 "0.0589, 0.1002, 0.2333, 0.4534, 0.7396, 1.078, 1.463, 1.899, 2.392, 2.95",\
                 "-0.081, -0.0351, 0.1159, 0.364, 0.6909, 1.076, 1.511, 1.992, 2.524, 3.118",\
                 "-0.2649, -0.2132, -0.0458, 0.2316, 0.597, 1.031, 1.518, 2.052, 2.634, 3.269");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4823, 0.5224, 0.6626, 0.9278, 1.34, 1.918, 2.677, 3.635, 4.803, 6.195",\
                 "0.4931, 0.5336, 0.6745, 0.9402, 1.353, 1.931, 2.691, 3.648, 4.817, 6.209",\
                 "0.5364, 0.5768, 0.7184, 0.9852, 1.399, 1.978, 2.738, 3.697, 4.865, 6.257",\
                 "0.6136, 0.654, 0.7941, 1.06, 1.472, 2.05, 2.811, 3.769, 4.938, 6.33",\
                 "0.7324, 0.7747, 0.9221, 1.188, 1.595, 2.168, 2.925, 3.88, 5.046, 6.44",\
                 "0.9085, 0.9526, 1.103, 1.379, 1.791, 2.355, 3.103, 4.051, 5.211, 6.596",\
                 "1.144, 1.191, 1.349, 1.632, 2.055, 2.627, 3.363, 4.297, 5.449, 6.827",\
                 "1.43, 1.483, 1.654, 1.95, 2.382, 2.968, 3.715, 4.635, 5.772, 7.136",\
                 "1.762, 1.82, 2.009, 2.329, 2.778, 3.374, 4.138, 5.071, 6.193, 7.543",\
                 "2.14, 2.205, 2.414, 2.764, 3.24, 3.853, 4.629, 5.583, 6.718, 8.051");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2449, 0.2704, 0.3596, 0.5281, 0.7908, 1.159, 1.641, 2.251, 2.995, 3.879",\
                 "0.2442, 0.2699, 0.3593, 0.5281, 0.7918, 1.159, 1.643, 2.251, 2.995, 3.88",\
                 "0.2547, 0.2775, 0.361, 0.5276, 0.7908, 1.159, 1.641, 2.253, 2.995, 3.879",\
                 "0.3233, 0.3443, 0.4205, 0.5663, 0.8052, 1.16, 1.642, 2.252, 2.994, 3.881",\
                 "0.4327, 0.4536, 0.5276, 0.671, 0.8972, 1.217, 1.664, 2.254, 2.996, 3.88",\
                 "0.574, 0.5978, 0.6788, 0.8214, 1.044, 1.36, 1.777, 2.321, 3.018, 3.884",\
                 "0.7386, 0.7664, 0.857, 1.016, 1.241, 1.553, 1.969, 2.497, 3.143, 3.953",\
                 "0.9272, 0.9586, 1.063, 1.242, 1.485, 1.803, 2.212, 2.735, 3.38, 4.145",\
                 "1.138, 1.175, 1.293, 1.49, 1.76, 2.098, 2.515, 3.032, 3.671, 4.439",\
                 "1.37, 1.413, 1.548, 1.768, 2.067, 2.433, 2.871, 3.395, 4.024, 4.784");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5767, 0.6473, 0.8938, 1.36, 2.083, 3.096, 4.431, 6.109, 8.158, 10.59",\
                 "0.5767, 0.6474, 0.8941, 1.36, 2.083, 3.097, 4.429, 6.107, 8.157, 10.59",\
                 "0.5779, 0.6477, 0.8942, 1.36, 2.083, 3.097, 4.43, 6.105, 8.155, 10.6",\
                 "0.5965, 0.6627, 0.8978, 1.36, 2.083, 3.097, 4.429, 6.107, 8.153, 10.59",\
                 "0.6698, 0.7362, 0.958, 1.385, 2.085, 3.098, 4.43, 6.108, 8.154, 10.6",\
                 "0.7536, 0.8182, 1.05, 1.481, 2.14, 3.108, 4.429, 6.109, 8.155, 10.59",\
                 "0.8752, 0.9382, 1.162, 1.595, 2.262, 3.187, 4.453, 6.108, 8.157, 10.6",\
                 "1.032, 1.098, 1.316, 1.737, 2.407, 3.337, 4.557, 6.149, 8.159, 10.6",\
                 "1.211, 1.282, 1.511, 1.923, 2.577, 3.515, 4.736, 6.277, 8.217, 10.6",\
                 "1.41, 1.485, 1.731, 2.157, 2.795, 3.719, 4.954, 6.485, 8.371, 10.68");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1629, 0.1803, 0.2384, 0.3441, 0.5035, 0.7226, 1.008, 1.366, 1.802, 2.321",\
                 "0.174, 0.1913, 0.2494, 0.3552, 0.5146, 0.7337, 1.019, 1.377, 1.813, 2.332",\
                 "0.2025, 0.2199, 0.2775, 0.383, 0.5424, 0.7616, 1.047, 1.405, 1.841, 2.36",\
                 "0.2311, 0.2518, 0.3184, 0.4331, 0.5954, 0.8142, 1.099, 1.457, 1.893, 2.412",\
                 "0.237, 0.2626, 0.3444, 0.4787, 0.6618, 0.8953, 1.183, 1.54, 1.975, 2.494",\
                 "0.2086, 0.2397, 0.3393, 0.5013, 0.7134, 0.974, 1.287, 1.658, 2.093, 2.611",\
                 "0.138, 0.1753, 0.2941, 0.487, 0.7369, 1.035, 1.381, 1.782, 2.243, 2.768",\
                 "0.0237, 0.0665, 0.2033, 0.428, 0.7198, 1.063, 1.452, 1.891, 2.387, 2.945",\
                 "-0.139, -0.0911, 0.0654, 0.3208, 0.6558, 1.049, 1.49, 1.975, 2.512, 3.109",\
                 "-0.3521, -0.2982, -0.1234, 0.1648, 0.5408, 0.9852, 1.481, 2.024, 2.611, 3.252");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5753, 0.6235, 0.7911, 1.109, 1.602, 2.294, 3.204, 4.35, 5.749, 7.416",\
                 "0.5843, 0.6329, 0.8015, 1.12, 1.614, 2.306, 3.217, 4.363, 5.762, 7.428",\
                 "0.6239, 0.6721, 0.8415, 1.161, 1.657, 2.35, 3.261, 4.408, 5.808, 7.474",\
                 "0.698, 0.7458, 0.9143, 1.232, 1.727, 2.42, 3.331, 4.478, 5.877, 7.544",\
                 "0.8222, 0.8727, 1.044, 1.358, 1.847, 2.534, 3.441, 4.584, 5.983, 7.65",\
                 "1.011, 1.062, 1.237, 1.561, 2.043, 2.72, 3.617, 4.753, 6.144, 7.806",\
                 "1.271, 1.324, 1.502, 1.831, 2.326, 2.997, 3.878, 5, 6.379, 8.032",\
                 "1.592, 1.649, 1.839, 2.175, 2.678, 3.363, 4.237, 5.343, 6.707, 8.344",\
                 "1.967, 2.03, 2.237, 2.593, 3.105, 3.801, 4.692, 5.788, 7.131, 8.751",\
                 "2.397, 2.467, 2.693, 3.077, 3.61, 4.316, 5.222, 6.336, 7.67, 9.268");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.245, 0.2704, 0.3595, 0.5281, 0.7916, 1.159, 1.642, 2.25, 2.996, 3.879",\
                 "0.2443, 0.27, 0.3593, 0.5281, 0.7903, 1.159, 1.641, 2.25, 2.993, 3.88",\
                 "0.2543, 0.2774, 0.3608, 0.5276, 0.7912, 1.159, 1.642, 2.25, 2.994, 3.88",\
                 "0.3221, 0.3432, 0.4197, 0.5655, 0.8047, 1.16, 1.643, 2.251, 2.995, 3.88",\
                 "0.4302, 0.4523, 0.5264, 0.6706, 0.897, 1.216, 1.664, 2.252, 2.995, 3.879",\
                 "0.5694, 0.5936, 0.6754, 0.8228, 1.045, 1.36, 1.778, 2.32, 3.018, 3.883",\
                 "0.733, 0.7614, 0.8552, 1.014, 1.244, 1.556, 1.971, 2.498, 3.144, 3.952",\
                 "0.9194, 0.9528, 1.057, 1.236, 1.486, 1.805, 2.217, 2.741, 3.382, 4.146",\
                 "1.129, 1.166, 1.286, 1.487, 1.76, 2.104, 2.521, 3.04, 3.677, 4.441",\
                 "1.354, 1.4, 1.541, 1.764, 2.067, 2.437, 2.88, 3.402, 4.035, 4.794");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7093, 0.7934, 1.088, 1.646, 2.513, 3.725, 5.317, 7.321, 9.766, 12.68",\
                 "0.7088, 0.7936, 1.089, 1.648, 2.512, 3.724, 5.317, 7.323, 9.77, 12.68",\
                 "0.7093, 0.7936, 1.088, 1.647, 2.512, 3.725, 5.316, 7.321, 9.769, 12.69",\
                 "0.7221, 0.8029, 1.091, 1.647, 2.512, 3.724, 5.317, 7.321, 9.765, 12.68",\
                 "0.7922, 0.8688, 1.136, 1.661, 2.514, 3.725, 5.317, 7.322, 9.769, 12.69",\
                 "0.8672, 0.9474, 1.227, 1.737, 2.545, 3.727, 5.318, 7.321, 9.766, 12.68",\
                 "0.973, 1.051, 1.324, 1.85, 2.644, 3.775, 5.322, 7.322, 9.767, 12.68",\
                 "1.119, 1.196, 1.459, 1.973, 2.785, 3.896, 5.386, 7.332, 9.767, 12.68",\
                 "1.299, 1.375, 1.636, 2.133, 2.932, 4.067, 5.528, 7.41, 9.785, 12.68",\
                 "1.499, 1.58, 1.853, 2.342, 3.12, 4.251, 5.729, 7.572, 9.88, 12.71");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1701, 0.1875, 0.246, 0.353, 0.5133, 0.7327, 1.018, 1.376, 1.812, 2.331",\
                 "0.1813, 0.1984, 0.2571, 0.3641, 0.5244, 0.7439, 1.029, 1.387, 1.823, 2.342",\
                 "0.21, 0.2273, 0.2852, 0.3918, 0.5522, 0.7717, 1.057, 1.415, 1.851, 2.37",\
                 "0.2417, 0.2623, 0.3282, 0.4428, 0.6052, 0.8243, 1.109, 1.467, 1.903, 2.422",\
                 "0.2544, 0.2788, 0.3582, 0.4908, 0.673, 0.9058, 1.193, 1.55, 1.985, 2.504",\
                 "0.2333, 0.2629, 0.3585, 0.5169, 0.7266, 0.9858, 1.298, 1.669, 2.104, 2.621",\
                 "0.1692, 0.2043, 0.3185, 0.5062, 0.7527, 1.048, 1.393, 1.793, 2.254, 2.778",\
                 "0.0608, 0.1012, 0.2326, 0.4512, 0.7386, 1.079, 1.466, 1.903, 2.398, 2.956",\
                 "-0.0955, -0.0494, 0.1001, 0.3488, 0.678, 1.067, 1.505, 1.989, 2.524, 3.12",\
                 "-0.3006, -0.2495, -0.0822, 0.197, 0.5666, 1.006, 1.499, 2.039, 2.625, 3.264");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6636, 0.7113, 0.8792, 1.197, 1.69, 2.382, 3.293, 4.44, 5.838, 7.505",\
                 "0.6729, 0.721, 0.8895, 1.208, 1.702, 2.394, 3.305, 4.452, 5.85, 7.517",\
                 "0.713, 0.7611, 0.9303, 1.25, 1.745, 2.439, 3.35, 4.497, 5.897, 7.564",\
                 "0.7863, 0.8339, 1.002, 1.321, 1.815, 2.508, 3.42, 4.567, 5.967, 7.633",\
                 "0.9137, 0.9625, 1.131, 1.445, 1.934, 2.622, 3.529, 4.674, 6.072, 7.739",\
                 "1.103, 1.154, 1.326, 1.648, 2.129, 2.806, 3.704, 4.84, 6.232, 7.894",\
                 "1.366, 1.417, 1.593, 1.92, 2.412, 3.081, 3.964, 5.088, 6.468, 8.122",\
                 "1.694, 1.749, 1.932, 2.265, 2.765, 3.448, 4.322, 5.429, 6.794, 8.432",\
                 "2.08, 2.14, 2.337, 2.685, 3.194, 3.888, 4.777, 5.872, 7.217, 8.839",\
                 "2.522, 2.587, 2.803, 3.174, 3.7, 4.404, 5.31, 6.422, 7.754, 9.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2926, 0.3173, 0.4047, 0.5724, 0.8337, 1.202, 1.686, 2.293, 3.036, 3.923",\
                 "0.2919, 0.3166, 0.4043, 0.5722, 0.8335, 1.202, 1.686, 2.293, 3.037, 3.921",\
                 "0.3012, 0.3236, 0.4059, 0.5717, 0.834, 1.201, 1.686, 2.293, 3.037, 3.923",\
                 "0.3743, 0.394, 0.4668, 0.6092, 0.8475, 1.203, 1.684, 2.293, 3.037, 3.923",\
                 "0.4926, 0.5122, 0.5805, 0.719, 0.941, 1.259, 1.704, 2.295, 3.038, 3.922",\
                 "0.6472, 0.667, 0.74, 0.878, 1.093, 1.406, 1.82, 2.363, 3.06, 3.926",\
                 "0.8276, 0.851, 0.9324, 1.079, 1.299, 1.605, 2.017, 2.54, 3.186, 3.995",\
                 "1.033, 1.061, 1.15, 1.312, 1.55, 1.861, 2.267, 2.784, 3.425, 4.188",\
                 "1.264, 1.293, 1.395, 1.579, 1.833, 2.164, 2.576, 3.089, 3.722, 4.487",\
                 "1.513, 1.55, 1.665, 1.867, 2.15, 2.506, 2.939, 3.457, 4.084, 4.84");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.8221, 0.9068, 1.204, 1.763, 2.629, 3.842, 5.436, 7.443, 9.89, 12.8",\
                 "0.8232, 0.9067, 1.204, 1.763, 2.63, 3.842, 5.435, 7.443, 9.888, 12.8",\
                 "0.823, 0.9069, 1.203, 1.763, 2.629, 3.843, 5.435, 7.439, 9.89, 12.81",\
                 "0.8282, 0.912, 1.203, 1.764, 2.63, 3.843, 5.436, 7.443, 9.889, 12.8",\
                 "0.8898, 0.9664, 1.238, 1.771, 2.63, 3.843, 5.436, 7.441, 9.887, 12.81",\
                 "0.9692, 1.05, 1.329, 1.84, 2.654, 3.844, 5.437, 7.442, 9.888, 12.8",\
                 "1.065, 1.148, 1.426, 1.954, 2.748, 3.885, 5.44, 7.442, 9.888, 12.81",\
                 "1.206, 1.284, 1.551, 2.075, 2.889, 4.001, 5.498, 7.449, 9.89, 12.8",\
                 "1.384, 1.461, 1.726, 2.229, 3.039, 4.172, 5.636, 7.525, 9.905, 12.81",\
                 "1.585, 1.667, 1.939, 2.433, 3.22, 4.357, 5.835, 7.681, 9.994, 12.83");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1857, 0.2022, 0.2579, 0.3608, 0.5177, 0.7353, 1.02, 1.377, 1.813, 2.332",\
                 "0.1965, 0.2131, 0.2689, 0.3719, 0.5287, 0.7463, 1.031, 1.388, 1.824, 2.343",\
                 "0.2243, 0.2407, 0.2964, 0.3993, 0.5564, 0.7741, 1.059, 1.416, 1.852, 2.372",\
                 "0.256, 0.2755, 0.3392, 0.4503, 0.6097, 0.827, 1.111, 1.469, 1.904, 2.423",\
                 "0.2709, 0.2945, 0.3713, 0.5001, 0.6791, 0.9098, 1.196, 1.552, 1.988, 2.505",\
                 "0.2549, 0.2843, 0.3781, 0.5321, 0.7374, 0.9937, 1.304, 1.672, 2.107, 2.625",\
                 "0.2043, 0.2386, 0.3506, 0.533, 0.7735, 1.063, 1.404, 1.802, 2.262, 2.785",\
                 "0.1163, 0.1566, 0.2851, 0.4977, 0.7761, 1.108, 1.488, 1.92, 2.412, 2.967",\
                 "-0.0111, 0.0343, 0.1796, 0.4204, 0.739, 1.116, 1.543, 2.019, 2.548, 3.14",\
                 "-0.1816, -0.1306, 0.0332, 0.3027, 0.6586, 1.083, 1.562, 2.089, 2.665, 3.296");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6636, 0.7113, 0.8792, 1.197, 1.69, 2.382, 3.293, 4.44, 5.838, 7.505",\
                 "0.6729, 0.721, 0.8895, 1.208, 1.702, 2.394, 3.305, 4.452, 5.85, 7.517",\
                 "0.713, 0.7611, 0.9303, 1.25, 1.745, 2.439, 3.35, 4.497, 5.897, 7.564",\
                 "0.7863, 0.8339, 1.002, 1.321, 1.815, 2.508, 3.42, 4.567, 5.967, 7.633",\
                 "0.9137, 0.9625, 1.131, 1.445, 1.934, 2.622, 3.529, 4.674, 6.072, 7.739",\
                 "1.103, 1.154, 1.326, 1.648, 2.129, 2.806, 3.704, 4.84, 6.232, 7.894",\
                 "1.366, 1.417, 1.593, 1.92, 2.412, 3.081, 3.964, 5.088, 6.468, 8.122",\
                 "1.694, 1.749, 1.932, 2.265, 2.765, 3.448, 4.322, 5.429, 6.794, 8.432",\
                 "2.08, 2.14, 2.337, 2.685, 3.194, 3.888, 4.777, 5.872, 7.217, 8.839",\
                 "2.522, 2.587, 2.803, 3.174, 3.7, 4.404, 5.31, 6.422, 7.754, 9.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2926, 0.3173, 0.4047, 0.5724, 0.8337, 1.202, 1.686, 2.293, 3.036, 3.923",\
                 "0.2919, 0.3166, 0.4043, 0.5722, 0.8335, 1.202, 1.686, 2.293, 3.037, 3.921",\
                 "0.3012, 0.3236, 0.4059, 0.5717, 0.834, 1.201, 1.686, 2.293, 3.037, 3.923",\
                 "0.3743, 0.394, 0.4668, 0.6092, 0.8475, 1.203, 1.684, 2.293, 3.037, 3.923",\
                 "0.4926, 0.5122, 0.5805, 0.719, 0.941, 1.259, 1.704, 2.295, 3.038, 3.922",\
                 "0.6472, 0.667, 0.74, 0.878, 1.093, 1.406, 1.82, 2.363, 3.06, 3.926",\
                 "0.8276, 0.851, 0.9324, 1.079, 1.299, 1.605, 2.017, 2.54, 3.186, 3.995",\
                 "1.033, 1.061, 1.15, 1.312, 1.55, 1.861, 2.267, 2.784, 3.425, 4.188",\
                 "1.264, 1.293, 1.395, 1.579, 1.833, 2.164, 2.576, 3.089, 3.722, 4.487",\
                 "1.513, 1.55, 1.665, 1.867, 2.15, 2.506, 2.939, 3.457, 4.084, 4.84");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.8221, 0.9068, 1.204, 1.763, 2.629, 3.842, 5.436, 7.443, 9.89, 12.8",\
                 "0.8232, 0.9067, 1.204, 1.763, 2.63, 3.842, 5.435, 7.443, 9.888, 12.8",\
                 "0.823, 0.9069, 1.203, 1.763, 2.629, 3.843, 5.435, 7.439, 9.89, 12.81",\
                 "0.8282, 0.912, 1.203, 1.764, 2.63, 3.843, 5.436, 7.443, 9.889, 12.8",\
                 "0.8898, 0.9664, 1.238, 1.771, 2.63, 3.843, 5.436, 7.441, 9.887, 12.81",\
                 "0.9692, 1.05, 1.329, 1.84, 2.654, 3.844, 5.437, 7.442, 9.888, 12.8",\
                 "1.065, 1.148, 1.426, 1.954, 2.748, 3.885, 5.44, 7.442, 9.888, 12.81",\
                 "1.206, 1.284, 1.551, 2.075, 2.889, 4.001, 5.498, 7.449, 9.89, 12.8",\
                 "1.384, 1.461, 1.726, 2.229, 3.039, 4.172, 5.636, 7.525, 9.905, 12.81",\
                 "1.585, 1.667, 1.939, 2.433, 3.22, 4.357, 5.835, 7.681, 9.994, 12.83");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.208, 0.2265, 0.2888, 0.3994, 0.5642, 0.7881, 1.078, 1.439, 1.878, 2.399",\
                 "0.2189, 0.2375, 0.2997, 0.4106, 0.5751, 0.7991, 1.089, 1.45, 1.889, 2.41",\
                 "0.2651, 0.2828, 0.3431, 0.4532, 0.6178, 0.8415, 1.131, 1.492, 1.931, 2.453",\
                 "0.3428, 0.3633, 0.4309, 0.5432, 0.7044, 0.9268, 1.216, 1.577, 2.015, 2.536",\
                 "0.4002, 0.4259, 0.5093, 0.6485, 0.8365, 1.067, 1.353, 1.713, 2.149, 2.67",\
                 "0.4342, 0.4649, 0.5646, 0.7296, 0.9533, 1.227, 1.546, 1.909, 2.345, 2.862",\
                 "0.4412, 0.4762, 0.5924, 0.7865, 1.045, 1.361, 1.73, 2.145, 2.604, 3.122",\
                 "0.42, 0.4609, 0.5927, 0.8139, 1.111, 1.47, 1.886, 2.357, 2.877, 3.441",\
                 "0.3716, 0.4158, 0.5637, 0.8123, 1.146, 1.55, 2.016, 2.538, 3.117, 3.748",\
                 "0.2915, 0.3427, 0.5052, 0.7783, 1.151, 1.599, 2.116, 2.694, 3.328, 4.022");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3775, 0.4116, 0.5267, 0.7421, 1.074, 1.54, 2.152, 2.922, 3.862, 4.983",\
                 "0.3878, 0.4226, 0.54, 0.758, 1.091, 1.558, 2.171, 2.941, 3.882, 5.003",\
                 "0.431, 0.4659, 0.5838, 0.8027, 1.139, 1.608, 2.222, 2.994, 3.935, 5.056",\
                 "0.5026, 0.5392, 0.6598, 0.8791, 1.215, 1.684, 2.299, 3.072, 4.014, 5.136",\
                 "0.5876, 0.6281, 0.7612, 0.9942, 1.331, 1.797, 2.41, 3.183, 4.124, 5.246",\
                 "0.7079, 0.7523, 0.8951, 1.143, 1.501, 1.971, 2.578, 3.345, 4.283, 5.402",\
                 "0.8581, 0.9097, 1.071, 1.337, 1.712, 2.206, 2.82, 3.578, 4.508, 5.621",\
                 "1.043, 1.102, 1.285, 1.579, 1.975, 2.486, 3.125, 3.894, 4.815, 5.917",\
                 "1.259, 1.326, 1.533, 1.859, 2.287, 2.82, 3.48, 4.277, 5.211, 6.302",\
                 "1.505, 1.58, 1.81, 2.172, 2.641, 3.21, 3.889, 4.708, 5.673, 6.782");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2885, 0.3182, 0.415, 0.5912, 0.8584, 1.23, 1.716, 2.327, 3.072, 3.958",\
                 "0.2873, 0.3172, 0.4133, 0.5908, 0.8581, 1.23, 1.716, 2.326, 3.07, 3.959",\
                 "0.2777, 0.3068, 0.4067, 0.5886, 0.8582, 1.229, 1.714, 2.327, 3.07, 3.957",\
                 "0.3564, 0.382, 0.4648, 0.6104, 0.8578, 1.228, 1.716, 2.326, 3.072, 3.959",\
                 "0.4712, 0.5018, 0.5972, 0.7562, 0.9744, 1.279, 1.723, 2.326, 3.07, 3.958",\
                 "0.6134, 0.648, 0.7578, 0.9378, 1.181, 1.492, 1.872, 2.391, 3.081, 3.958",\
                 "0.777, 0.818, 0.9454, 1.149, 1.417, 1.757, 2.169, 2.647, 3.245, 4.024",\
                 "0.9606, 1.01, 1.157, 1.387, 1.687, 2.054, 2.498, 3.02, 3.607, 4.299",\
                 "1.164, 1.222, 1.392, 1.655, 1.989, 2.387, 2.861, 3.42, 4.056, 4.766",\
                 "1.388, 1.453, 1.65, 1.947, 2.318, 2.76, 3.267, 3.852, 4.529, 5.29");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3889, 0.4439, 0.6386, 1.013, 1.592, 2.405, 3.472, 4.817, 6.446, 8.418",\
                 "0.3903, 0.4442, 0.6379, 1.012, 1.592, 2.405, 3.473, 4.818, 6.456, 8.418",\
                 "0.3947, 0.4473, 0.6386, 1.012, 1.593, 2.404, 3.471, 4.815, 6.454, 8.401",\
                 "0.4356, 0.4822, 0.654, 1.016, 1.592, 2.403, 3.473, 4.819, 6.449, 8.412",\
                 "0.521, 0.5706, 0.7438, 1.069, 1.606, 2.404, 3.474, 4.82, 6.453, 8.403",\
                 "0.6478, 0.6908, 0.8562, 1.191, 1.701, 2.441, 3.474, 4.816, 6.463, 8.418",\
                 "0.835, 0.8748, 1.025, 1.338, 1.857, 2.574, 3.549, 4.826, 6.456, 8.41",\
                 "1.048, 1.089, 1.242, 1.539, 2.037, 2.765, 3.711, 4.933, 6.492, 8.415",\
                 "1.273, 1.318, 1.479, 1.791, 2.268, 2.98, 3.939, 5.132, 6.626, 8.474",\
                 "1.512, 1.56, 1.736, 2.068, 2.56, 3.243, 4.191, 5.399, 6.861, 8.631");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1947, 0.2134, 0.2749, 0.3849, 0.5488, 0.7718, 1.061, 1.421, 1.86, 2.381",\
                 "0.2059, 0.2241, 0.2857, 0.3959, 0.5593, 0.7824, 1.071, 1.432, 1.87, 2.392",\
                 "0.2524, 0.2697, 0.3291, 0.4381, 0.6014, 0.8245, 1.113, 1.474, 1.912, 2.433",\
                 "0.3239, 0.3452, 0.4136, 0.5273, 0.6879, 0.9094, 1.198, 1.558, 1.996, 2.517",\
                 "0.373, 0.3992, 0.4845, 0.6261, 0.8164, 1.048, 1.335, 1.693, 2.13, 2.651",\
                 "0.3938, 0.4259, 0.5295, 0.6995, 0.9264, 1.204, 1.525, 1.89, 2.324, 2.842",\
                 "0.3861, 0.423, 0.5441, 0.7445, 1.01, 1.331, 1.703, 2.122, 2.582, 3.1",\
                 "0.3476, 0.3901, 0.5283, 0.7577, 1.062, 1.43, 1.851, 2.326, 2.849, 3.416",\
                 "0.2781, 0.3261, 0.4792, 0.7388, 1.083, 1.497, 1.971, 2.499, 3.082, 3.716",\
                 "0.1771, 0.2305, 0.3997, 0.686, 1.068, 1.53, 2.058, 2.643, 3.283, 3.981");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4358, 0.4775, 0.6198, 0.889, 1.306, 1.888, 2.655, 3.621, 4.799, 6.203",\
                 "0.4434, 0.4868, 0.632, 0.9038, 1.322, 1.907, 2.674, 3.639, 4.819, 6.223",\
                 "0.4804, 0.5229, 0.6695, 0.9433, 1.365, 1.951, 2.72, 3.687, 4.867, 6.273",\
                 "0.5399, 0.5833, 0.7296, 1.002, 1.423, 2.011, 2.781, 3.749, 4.93, 6.336",\
                 "0.6147, 0.6613, 0.817, 1.096, 1.514, 2.097, 2.866, 3.833, 5.013, 6.419",\
                 "0.7327, 0.7815, 0.9435, 1.233, 1.66, 2.238, 2.997, 3.959, 5.134, 6.536",\
                 "0.8868, 0.9429, 1.122, 1.422, 1.859, 2.448, 3.2, 4.149, 5.314, 6.708",\
                 "1.078, 1.141, 1.341, 1.666, 2.116, 2.715, 3.479, 4.419, 5.57, 6.951",\
                 "1.302, 1.373, 1.596, 1.954, 2.431, 3.041, 3.818, 4.772, 5.913, 7.278",\
                 "1.557, 1.638, 1.883, 2.277, 2.793, 3.431, 4.218, 5.186, 6.342, 7.696");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2716, 0.2999, 0.3965, 0.5717, 0.8386, 1.209, 1.693, 2.305, 3.05, 3.935",\
                 "0.2698, 0.2991, 0.3957, 0.5714, 0.8386, 1.208, 1.693, 2.306, 3.05, 3.937",\
                 "0.2637, 0.2912, 0.3887, 0.569, 0.8381, 1.208, 1.693, 2.306, 3.049, 3.937",\
                 "0.3482, 0.3746, 0.4559, 0.5974, 0.8401, 1.207, 1.694, 2.305, 3.05, 3.937",\
                 "0.4672, 0.497, 0.5914, 0.7478, 0.9648, 1.265, 1.705, 2.306, 3.049, 3.937",\
                 "0.6148, 0.6488, 0.7582, 0.933, 1.175, 1.484, 1.861, 2.375, 3.062, 3.938",\
                 "0.7864, 0.828, 0.9544, 1.153, 1.416, 1.754, 2.161, 2.636, 3.232, 4.006",\
                 "0.9832, 1.032, 1.177, 1.404, 1.693, 2.057, 2.499, 3.013, 3.599, 4.288",\
                 "1.21, 1.263, 1.43, 1.686, 2.013, 2.402, 2.867, 3.419, 4.052, 4.76",\
                 "1.457, 1.521, 1.712, 2, 2.366, 2.789, 3.285, 3.863, 4.534, 5.288");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4822, 0.5518, 0.7965, 1.262, 1.987, 3.001, 4.332, 6.011, 8.049, 10.5",\
                 "0.4825, 0.5526, 0.7965, 1.263, 1.987, 2.999, 4.329, 6.012, 8.054, 10.49",\
                 "0.4857, 0.5538, 0.7965, 1.262, 1.986, 3, 4.33, 6.01, 8.054, 10.48",\
                 "0.5156, 0.5773, 0.8039, 1.264, 1.987, 2.998, 4.331, 6.012, 8.055, 10.5",\
                 "0.5896, 0.6524, 0.874, 1.297, 1.991, 3.001, 4.333, 6.012, 8.059, 10.5",\
                 "0.706, 0.761, 0.9708, 1.397, 2.052, 3.013, 4.332, 6.008, 8.059, 10.49",\
                 "0.891, 0.9434, 1.128, 1.524, 2.18, 3.102, 4.364, 6.015, 8.059, 10.5",\
                 "1.105, 1.158, 1.344, 1.71, 2.335, 3.257, 4.472, 6.064, 8.068, 10.5",\
                 "1.336, 1.393, 1.592, 1.959, 2.547, 3.441, 4.654, 6.194, 8.138, 10.51",\
                 "1.583, 1.641, 1.855, 2.248, 2.828, 3.681, 4.876, 6.402, 8.289, 10.61");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2037, 0.222, 0.2838, 0.3947, 0.5592, 0.7825, 1.071, 1.432, 1.87, 2.391",\
                 "0.2144, 0.2328, 0.2944, 0.4054, 0.5698, 0.7931, 1.082, 1.442, 1.881, 2.402",\
                 "0.2603, 0.2777, 0.3377, 0.4478, 0.6119, 0.8351, 1.124, 1.484, 1.923, 2.443",\
                 "0.3363, 0.357, 0.4245, 0.5371, 0.6982, 0.92, 1.208, 1.568, 2.006, 2.527",\
                 "0.392, 0.4176, 0.5006, 0.6403, 0.8287, 1.059, 1.345, 1.703, 2.14, 2.661",\
                 "0.4216, 0.4519, 0.5513, 0.7179, 0.9419, 1.217, 1.536, 1.9, 2.335, 2.853",\
                 "0.4218, 0.457, 0.5724, 0.7672, 1.028, 1.346, 1.716, 2.133, 2.593, 3.111",\
                 "0.3905, 0.4308, 0.5626, 0.7846, 1.085, 1.448, 1.867, 2.339, 2.861, 3.427",\
                 "0.3282, 0.373, 0.5202, 0.7709, 1.109, 1.519, 1.988, 2.515, 3.096, 3.729",\
                 "0.2351, 0.2839, 0.4457, 0.7223, 1.098, 1.554, 2.078, 2.66, 3.299, 3.995");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5108, 0.552, 0.6941, 0.9634, 1.38, 1.964, 2.73, 3.696, 4.874, 6.278",\
                 "0.5214, 0.5632, 0.7083, 0.9785, 1.397, 1.981, 2.749, 3.714, 4.894, 6.299",\
                 "0.5583, 0.5999, 0.7458, 1.019, 1.44, 2.026, 2.796, 3.762, 4.942, 6.347",\
                 "0.6186, 0.6606, 0.8055, 1.077, 1.499, 2.086, 2.856, 3.825, 5.005, 6.412",\
                 "0.6989, 0.7436, 0.8961, 1.171, 1.588, 2.172, 2.94, 3.908, 5.088, 6.494",\
                 "0.8206, 0.8677, 1.025, 1.31, 1.735, 2.311, 3.072, 4.034, 5.209, 6.612",\
                 "0.9866, 1.038, 1.207, 1.5, 1.934, 2.522, 3.273, 4.223, 5.388, 6.784",\
                 "1.19, 1.248, 1.435, 1.749, 2.192, 2.789, 3.553, 4.492, 5.644, 7.027",\
                 "1.428, 1.494, 1.7, 2.043, 2.511, 3.117, 3.893, 4.845, 5.985, 7.351",\
                 "1.698, 1.77, 1.998, 2.374, 2.878, 3.508, 4.293, 5.259, 6.415, 7.769");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3265, 0.3533, 0.4454, 0.6176, 0.882, 1.253, 1.738, 2.346, 3.093, 3.978",\
                 "0.325, 0.3519, 0.4444, 0.6172, 0.882, 1.252, 1.736, 2.346, 3.092, 3.979",\
                 "0.3186, 0.3445, 0.4377, 0.6149, 0.8813, 1.252, 1.738, 2.348, 3.093, 3.978",\
                 "0.4096, 0.4319, 0.5055, 0.6436, 0.8838, 1.251, 1.737, 2.348, 3.091, 3.978",\
                 "0.5432, 0.5686, 0.6526, 0.8002, 1.009, 1.309, 1.748, 2.346, 3.092, 3.978",\
                 "0.7072, 0.737, 0.8318, 0.9948, 1.227, 1.529, 1.904, 2.418, 3.105, 3.979",\
                 "0.8992, 0.9336, 1.044, 1.226, 1.477, 1.805, 2.209, 2.681, 3.274, 4.048",\
                 "1.118, 1.159, 1.284, 1.49, 1.767, 2.117, 2.549, 3.061, 3.643, 4.332",\
                 "1.365, 1.411, 1.556, 1.789, 2.095, 2.469, 2.928, 3.472, 4.1, 4.804",\
                 "1.638, 1.693, 1.86, 2.117, 2.46, 2.867, 3.352, 3.922, 4.588, 5.338");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5769, 0.6467, 0.892, 1.359, 2.084, 3.096, 4.428, 6.105, 8.149, 10.59",\
                 "0.5772, 0.6469, 0.8923, 1.359, 2.083, 3.097, 4.428, 6.106, 8.149, 10.59",\
                 "0.5779, 0.6476, 0.8927, 1.359, 2.083, 3.097, 4.428, 6.105, 8.149, 10.59",\
                 "0.5959, 0.6607, 0.8964, 1.359, 2.083, 3.096, 4.428, 6.105, 8.151, 10.59",\
                 "0.6702, 0.734, 0.955, 1.384, 2.086, 3.097, 4.428, 6.106, 8.152, 10.59",\
                 "0.7704, 0.8316, 1.052, 1.48, 2.141, 3.108, 4.429, 6.106, 8.151, 10.59",\
                 "0.941, 0.995, 1.193, 1.603, 2.264, 3.191, 4.456, 6.107, 8.152, 10.59",\
                 "1.153, 1.207, 1.4, 1.778, 2.417, 3.342, 4.563, 6.153, 8.158, 10.59",\
                 "1.383, 1.441, 1.65, 2.021, 2.621, 3.526, 4.741, 6.285, 8.226, 10.6",\
                 "1.629, 1.693, 1.913, 2.308, 2.896, 3.758, 4.957, 6.49, 8.381, 10.69");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1559, 0.1759, 0.2419, 0.3579, 0.527, 0.7545, 1.047, 1.41, 1.851, 2.373",\
                 "0.1679, 0.1877, 0.2533, 0.3689, 0.5379, 0.7655, 1.058, 1.421, 1.862, 2.384",\
                 "0.2207, 0.2385, 0.2995, 0.4123, 0.5803, 0.8075, 1.1, 1.463, 1.903, 2.426",\
                 "0.2862, 0.3097, 0.3836, 0.5036, 0.6676, 0.8927, 1.184, 1.547, 1.987, 2.509",\
                 "0.3284, 0.3575, 0.4495, 0.5993, 0.7957, 1.032, 1.321, 1.682, 2.121, 2.642",\
                 "0.3427, 0.3776, 0.489, 0.6684, 0.9032, 1.186, 1.511, 1.878, 2.314, 2.834",\
                 "0.3278, 0.3689, 0.4984, 0.7087, 0.9831, 1.311, 1.687, 2.109, 2.572, 3.092",\
                 "0.2825, 0.3288, 0.4769, 0.7176, 1.032, 1.407, 1.835, 2.312, 2.838, 3.408",\
                 "0.2072, 0.2585, 0.4227, 0.6917, 1.047, 1.472, 1.952, 2.485, 3.07, 3.707",\
                 "0.1016, 0.1575, 0.3374, 0.6345, 1.03, 1.5, 2.035, 2.626, 3.27, 3.971");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4389, 0.4802, 0.6225, 0.8892, 1.302, 1.878, 2.636, 3.591, 4.757, 6.148",\
                 "0.4468, 0.4897, 0.635, 0.9043, 1.318, 1.895, 2.655, 3.61, 4.777, 6.167",\
                 "0.4875, 0.5305, 0.6761, 0.9474, 1.365, 1.944, 2.705, 3.663, 4.83, 6.221",\
                 "0.5577, 0.6016, 0.7478, 1.018, 1.434, 2.015, 2.778, 3.736, 4.905, 6.297",\
                 "0.6426, 0.6896, 0.8447, 1.121, 1.534, 2.112, 2.872, 3.829, 4.998, 6.389",\
                 "0.7629, 0.8121, 0.9725, 1.26, 1.684, 2.256, 3.01, 3.961, 5.125, 6.513",\
                 "0.9145, 0.9702, 1.147, 1.445, 1.88, 2.465, 3.211, 4.152, 5.308, 6.688",\
                 "1.098, 1.162, 1.361, 1.685, 2.132, 2.728, 3.489, 4.421, 5.563, 6.932",\
                 "1.316, 1.388, 1.611, 1.967, 2.443, 3.05, 3.823, 4.771, 5.903, 7.258",\
                 "1.568, 1.647, 1.894, 2.288, 2.802, 3.436, 4.219, 5.181, 6.329, 7.674");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2542, 0.2853, 0.3879, 0.5678, 0.8379, 1.209, 1.695, 2.305, 3.05, 3.937",\
                 "0.2509, 0.2821, 0.3852, 0.5681, 0.8382, 1.21, 1.695, 2.305, 3.051, 3.938",\
                 "0.2525, 0.2788, 0.3745, 0.561, 0.8358, 1.209, 1.695, 2.306, 3.049, 3.938",\
                 "0.3476, 0.3739, 0.4554, 0.5945, 0.835, 1.205, 1.694, 2.305, 3.05, 3.937",\
                 "0.4726, 0.5034, 0.5974, 0.7526, 0.9664, 1.264, 1.702, 2.303, 3.049, 3.937",\
                 "0.6254, 0.6612, 0.7686, 0.942, 1.181, 1.485, 1.861, 2.372, 3.062, 3.936",\
                 "0.8014, 0.8432, 0.9702, 1.167, 1.429, 1.758, 2.164, 2.637, 3.231, 4.004",\
                 "1.005, 1.054, 1.203, 1.425, 1.714, 2.068, 2.506, 3.016, 3.6, 4.288",\
                 "1.23, 1.289, 1.458, 1.714, 2.035, 2.42, 2.88, 3.427, 4.056, 4.762",\
                 "1.486, 1.557, 1.746, 2.035, 2.393, 2.815, 3.303, 3.875, 4.54, 5.292");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4079, 0.4748, 0.7154, 1.181, 1.905, 2.914, 4.252, 5.926, 7.971, 10.4",\
                 "0.4087, 0.4758, 0.7166, 1.181, 1.905, 2.915, 4.251, 5.929, 7.978, 10.42",\
                 "0.4137, 0.4796, 0.7169, 1.18, 1.904, 2.92, 4.249, 5.93, 7.958, 10.42",\
                 "0.4415, 0.5013, 0.7256, 1.183, 1.905, 2.914, 4.252, 5.93, 7.976, 10.42",\
                 "0.503, 0.5686, 0.7908, 1.212, 1.91, 2.918, 4.252, 5.925, 7.978, 10.42",\
                 "0.5962, 0.6558, 0.8764, 1.308, 1.967, 2.933, 4.251, 5.931, 7.979, 10.4",\
                 "0.7594, 0.8164, 1.016, 1.426, 2.093, 3.016, 4.275, 5.931, 7.98, 10.42",\
                 "0.9602, 1.018, 1.223, 1.605, 2.241, 3.17, 4.387, 5.982, 7.983, 10.42",\
                 "1.18, 1.241, 1.46, 1.852, 2.449, 3.351, 4.569, 6.108, 8.053, 10.42",\
                 "1.411, 1.479, 1.714, 2.13, 2.729, 3.588, 4.794, 6.319, 8.204, 10.51");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1498, 0.1693, 0.2338, 0.348, 0.5154, 0.7415, 1.032, 1.395, 1.834, 2.356",\
                 "0.1616, 0.1809, 0.245, 0.3588, 0.526, 0.752, 1.043, 1.405, 1.845, 2.367",\
                 "0.213, 0.2309, 0.2908, 0.4019, 0.5681, 0.7937, 1.085, 1.447, 1.886, 2.409",\
                 "0.2721, 0.2959, 0.3709, 0.4915, 0.655, 0.8786, 1.169, 1.531, 1.97, 2.491",\
                 "0.3053, 0.3349, 0.4294, 0.5811, 0.7793, 1.017, 1.305, 1.665, 2.103, 2.625",\
                 "0.3076, 0.344, 0.4586, 0.6424, 0.8808, 1.166, 1.493, 1.861, 2.296, 2.816",\
                 "0.2776, 0.3204, 0.4553, 0.6711, 0.9523, 1.284, 1.663, 2.088, 2.552, 3.072",\
                 "0.2141, 0.263, 0.4173, 0.6659, 0.9903, 1.372, 1.804, 2.284, 2.814, 3.385",\
                 "0.1182, 0.1723, 0.3444, 0.6251, 0.9918, 1.422, 1.911, 2.448, 3.039, 3.679",\
                 "-0.0126, 0.0475, 0.2359, 0.5469, 0.9551, 1.437, 1.981, 2.58, 3.23, 3.935");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4921, 0.5411, 0.7111, 1.029, 1.523, 2.215, 3.125, 4.271, 5.669, 7.335",\
                 "0.4985, 0.5491, 0.7216, 1.044, 1.539, 2.233, 3.143, 4.29, 5.689, 7.354",\
                 "0.5324, 0.5825, 0.7562, 1.08, 1.58, 2.276, 3.188, 4.336, 5.735, 7.404",\
                 "0.5908, 0.6412, 0.8133, 1.136, 1.635, 2.332, 3.246, 4.395, 5.796, 7.465",\
                 "0.665, 0.7181, 0.8966, 1.22, 1.714, 2.407, 3.319, 4.467, 5.868, 7.536",\
                 "0.7839, 0.8387, 1.02, 1.35, 1.845, 2.528, 3.431, 4.573, 5.968, 7.634",\
                 "0.9429, 1.004, 1.199, 1.533, 2.034, 2.718, 3.607, 4.733, 6.12, 7.774",\
                 "1.139, 1.208, 1.426, 1.782, 2.287, 2.974, 3.863, 4.973, 6.34, 7.983",\
                 "1.371, 1.449, 1.692, 2.081, 2.607, 3.296, 4.19, 5.298, 6.645, 8.269",\
                 "1.637, 1.723, 1.993, 2.421, 2.983, 3.69, 4.584, 5.701, 7.045, 8.644");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2403, 0.2706, 0.3714, 0.5514, 0.8194, 1.189, 1.675, 2.285, 3.028, 3.915",\
                 "0.2366, 0.2673, 0.369, 0.5501, 0.8185, 1.189, 1.674, 2.283, 3.028, 3.914",\
                 "0.2435, 0.2682, 0.3606, 0.5433, 0.8169, 1.189, 1.673, 2.285, 3.028, 3.915",\
                 "0.3407, 0.3666, 0.4466, 0.584, 0.8193, 1.184, 1.674, 2.284, 3.029, 3.916",\
                 "0.4678, 0.4962, 0.5896, 0.7446, 0.9564, 1.25, 1.684, 2.282, 3.028, 3.916",\
                 "0.6238, 0.6594, 0.7676, 0.9372, 1.173, 1.476, 1.85, 2.358, 3.042, 3.914",\
                 "0.8082, 0.85, 0.9758, 1.169, 1.426, 1.755, 2.156, 2.627, 3.217, 3.987",\
                 "1.023, 1.073, 1.219, 1.438, 1.718, 2.071, 2.499, 3.01, 3.592, 4.276",\
                 "1.272, 1.328, 1.496, 1.742, 2.055, 2.431, 2.885, 3.425, 4.05, 4.753",\
                 "1.55, 1.613, 1.802, 2.087, 2.434, 2.84, 3.317, 3.881, 4.539, 5.288");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.484, 0.5673, 0.858, 1.415, 2.281, 3.494, 5.084, 7.09, 9.531, 12.46",\
                 "0.4857, 0.5677, 0.8584, 1.415, 2.28, 3.495, 5.084, 7.091, 9.532, 12.44",\
                 "0.4883, 0.5698, 0.8589, 1.417, 2.28, 3.494, 5.088, 7.087, 9.537, 12.46",\
                 "0.5097, 0.5851, 0.8642, 1.415, 2.282, 3.494, 5.085, 7.08, 9.539, 12.45",\
                 "0.5686, 0.6464, 0.9164, 1.434, 2.283, 3.493, 5.08, 7.091, 9.537, 12.45",\
                 "0.6558, 0.7284, 0.9938, 1.513, 2.32, 3.498, 5.084, 7.089, 9.54, 12.44",\
                 "0.8264, 0.8928, 1.127, 1.62, 2.419, 3.555, 5.099, 7.09, 9.534, 12.46",\
                 "1.039, 1.106, 1.338, 1.784, 2.549, 3.671, 5.17, 7.116, 9.531, 12.44",\
                 "1.272, 1.343, 1.588, 2.029, 2.74, 3.828, 5.304, 7.203, 9.568, 12.45",\
                 "1.521, 1.6, 1.862, 2.321, 3.008, 4.036, 5.492, 7.355, 9.667, 12.51");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1577, 0.1774, 0.2424, 0.3575, 0.5258, 0.7521, 1.043, 1.405, 1.844, 2.366",\
                 "0.1696, 0.1888, 0.2535, 0.3682, 0.5364, 0.7626, 1.054, 1.416, 1.855, 2.377",\
                 "0.2208, 0.2384, 0.2989, 0.4112, 0.5784, 0.8044, 1.095, 1.457, 1.897, 2.419",\
                 "0.2858, 0.3085, 0.3821, 0.5014, 0.6652, 0.889, 1.179, 1.541, 1.98, 2.502",\
                 "0.3273, 0.3559, 0.447, 0.5958, 0.7918, 1.028, 1.316, 1.676, 2.114, 2.635",\
                 "0.3404, 0.3742, 0.4833, 0.6619, 0.8966, 1.179, 1.504, 1.871, 2.307, 2.826",\
                 "0.3204, 0.36, 0.4869, 0.6961, 0.9715, 1.3, 1.677, 2.1, 2.563, 3.083",\
                 "0.2666, 0.3112, 0.456, 0.6961, 1.013, 1.39, 1.819, 2.299, 2.826, 3.396",\
                 "0.1798, 0.2288, 0.39, 0.6604, 1.019, 1.445, 1.929, 2.465, 3.053, 3.691",\
                 "0.0596, 0.1136, 0.2897, 0.5877, 0.9866, 1.463, 2.003, 2.598, 3.246, 3.95");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5816, 0.6298, 0.799, 1.118, 1.611, 2.303, 3.214, 4.36, 5.758, 7.424",\
                 "0.5906, 0.6404, 0.8115, 1.133, 1.628, 2.321, 3.232, 4.379, 5.778, 7.443",\
                 "0.6246, 0.6742, 0.8463, 1.17, 1.669, 2.365, 3.277, 4.426, 5.825, 7.494",\
                 "0.6825, 0.7317, 0.9024, 1.225, 1.724, 2.421, 3.335, 4.485, 5.886, 7.555",\
                 "0.7614, 0.8127, 0.9881, 1.308, 1.803, 2.497, 3.408, 4.556, 5.958, 7.626",\
                 "0.882, 0.9339, 1.112, 1.44, 1.933, 2.617, 3.52, 4.661, 6.058, 7.723",\
                 "1.052, 1.108, 1.293, 1.623, 2.123, 2.804, 3.694, 4.823, 6.208, 7.863",\
                 "1.261, 1.325, 1.528, 1.874, 2.374, 3.061, 3.948, 5.059, 6.428, 8.07",\
                 "1.509, 1.579, 1.804, 2.178, 2.695, 3.382, 4.276, 5.384, 6.732, 8.356",\
                 "1.79, 1.868, 2.118, 2.525, 3.076, 3.776, 4.671, 5.786, 7.129, 8.731");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2985, 0.3267, 0.4221, 0.5974, 0.863, 1.233, 1.717, 2.327, 3.07, 3.958",\
                 "0.2946, 0.3234, 0.4201, 0.5962, 0.8623, 1.232, 1.716, 2.327, 3.07, 3.958",\
                 "0.2994, 0.3228, 0.4112, 0.5906, 0.8601, 1.232, 1.717, 2.327, 3.07, 3.957",\
                 "0.4073, 0.4283, 0.5, 0.6309, 0.8658, 1.229, 1.715, 2.326, 3.069, 3.956",\
                 "0.5514, 0.5757, 0.656, 0.7984, 1.003, 1.294, 1.729, 2.325, 3.071, 3.958",\
                 "0.7288, 0.757, 0.848, 1.003, 1.229, 1.524, 1.893, 2.401, 3.083, 3.957",\
                 "0.9364, 0.9692, 1.073, 1.247, 1.489, 1.809, 2.203, 2.671, 3.261, 4.031",\
                 "1.177, 1.215, 1.336, 1.528, 1.794, 2.133, 2.553, 3.057, 3.636, 4.32",\
                 "1.451, 1.493, 1.632, 1.85, 2.141, 2.502, 2.945, 3.477, 4.098, 4.801",\
                 "1.759, 1.809, 1.961, 2.209, 2.527, 2.92, 3.387, 3.941, 4.596, 5.336");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5972, 0.6805, 0.9735, 1.531, 2.396, 3.606, 5.198, 7.203, 9.648, 12.56",\
                 "0.597, 0.6813, 0.9742, 1.531, 2.396, 3.606, 5.199, 7.202, 9.65, 12.55",\
                 "0.5984, 0.6812, 0.9744, 1.53, 2.396, 3.606, 5.198, 7.201, 9.645, 12.56",\
                 "0.6093, 0.6894, 0.976, 1.531, 2.396, 3.607, 5.197, 7.203, 9.644, 12.56",\
                 "0.6692, 0.7476, 1.017, 1.544, 2.396, 3.608, 5.198, 7.202, 9.646, 12.56",\
                 "0.7444, 0.8208, 1.097, 1.617, 2.429, 3.609, 5.198, 7.201, 9.647, 12.56",\
                 "0.8966, 0.9656, 1.213, 1.72, 2.524, 3.662, 5.207, 7.202, 9.65, 12.56",\
                 "1.104, 1.174, 1.409, 1.872, 2.653, 3.778, 5.277, 7.221, 9.648, 12.56",\
                 "1.336, 1.411, 1.656, 2.102, 2.831, 3.933, 5.413, 7.307, 9.677, 12.56",\
                 "1.589, 1.668, 1.932, 2.394, 3.086, 4.135, 5.596, 7.46, 9.78, 12.61");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1647, 0.1846, 0.2509, 0.3676, 0.5375, 0.7653, 1.057, 1.421, 1.861, 2.383",\
                 "0.1764, 0.1962, 0.2623, 0.3787, 0.5485, 0.7762, 1.068, 1.431, 1.872, 2.394",\
                 "0.2285, 0.2464, 0.308, 0.4219, 0.5908, 0.8182, 1.11, 1.473, 1.913, 2.436",\
                 "0.3003, 0.3229, 0.3951, 0.5136, 0.6781, 0.9032, 1.194, 1.557, 1.997, 2.519",\
                 "0.3506, 0.3782, 0.4672, 0.6138, 0.8081, 1.043, 1.332, 1.692, 2.131, 2.653",\
                 "0.3747, 0.4076, 0.5131, 0.6877, 0.9188, 1.199, 1.522, 1.889, 2.325, 2.844",\
                 "0.3693, 0.4071, 0.5291, 0.7327, 1.002, 1.327, 1.701, 2.121, 2.583, 3.102",\
                 "0.3329, 0.3753, 0.5141, 0.746, 1.055, 1.426, 1.85, 2.326, 2.85, 3.419",\
                 "0.2655, 0.3123, 0.4669, 0.7275, 1.075, 1.493, 1.969, 2.5, 3.084, 3.719",\
                 "0.1683, 0.2198, 0.3879, 0.6745, 1.06, 1.525, 2.055, 2.643, 3.286, 3.985");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5134, 0.5544, 0.6962, 0.9623, 1.374, 1.951, 2.71, 3.666, 4.831, 6.223",\
                 "0.5242, 0.566, 0.709, 0.978, 1.391, 1.969, 2.729, 3.685, 4.851, 6.241",\
                 "0.5648, 0.6066, 0.7514, 1.022, 1.438, 2.019, 2.78, 3.737, 4.904, 6.295",\
                 "0.6362, 0.6785, 0.8224, 1.092, 1.508, 2.089, 2.852, 3.81, 4.979, 6.37",\
                 "0.7262, 0.7708, 0.9224, 1.195, 1.607, 2.186, 2.946, 3.904, 5.072, 6.463",\
                 "0.8503, 0.8966, 1.053, 1.336, 1.757, 2.329, 3.083, 4.035, 5.199, 6.588",\
                 "1.013, 1.064, 1.231, 1.523, 1.955, 2.538, 3.283, 4.225, 5.38, 6.763",\
                 "1.21, 1.269, 1.454, 1.767, 2.208, 2.802, 3.561, 4.493, 5.636, 7.006",\
                 "1.442, 1.507, 1.714, 2.055, 2.521, 3.126, 3.896, 4.843, 5.975, 7.33",\
                 "1.707, 1.778, 2.008, 2.383, 2.885, 3.513, 4.293, 5.254, 6.402, 7.745");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.314, 0.3427, 0.439, 0.6155, 0.8823, 1.253, 1.738, 2.347, 3.091, 3.979",\
                 "0.3105, 0.3396, 0.4371, 0.6144, 0.8815, 1.253, 1.737, 2.348, 3.09, 3.979",\
                 "0.3105, 0.3347, 0.4263, 0.6085, 0.8798, 1.251, 1.736, 2.347, 3.091, 3.979",\
                 "0.4153, 0.437, 0.5088, 0.6427, 0.881, 1.248, 1.737, 2.347, 3.091, 3.977",\
                 "0.5572, 0.5816, 0.6628, 0.8058, 1.012, 1.308, 1.745, 2.345, 3.09, 3.978",\
                 "0.729, 0.7572, 0.8474, 1.007, 1.234, 1.532, 1.904, 2.416, 3.103, 3.977",\
                 "0.9254, 0.9588, 1.065, 1.245, 1.492, 1.815, 2.212, 2.681, 3.275, 4.048",\
                 "1.151, 1.19, 1.315, 1.515, 1.785, 2.13, 2.557, 3.064, 3.644, 4.331",\
                 "1.404, 1.449, 1.591, 1.823, 2.119, 2.49, 2.94, 3.479, 4.103, 4.806",\
                 "1.683, 1.739, 1.896, 2.161, 2.488, 2.893, 3.37, 3.934, 4.592, 5.341");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4984, 0.5675, 0.8109, 1.276, 1.999, 3.012, 4.343, 6.019, 8.062, 10.5",\
                 "0.4991, 0.568, 0.8102, 1.276, 1.999, 3.012, 4.343, 6.02, 8.065, 10.5",\
                 "0.5006, 0.5695, 0.8117, 1.275, 2, 3.014, 4.344, 6.018, 8.061, 10.5",\
                 "0.5173, 0.5818, 0.8162, 1.277, 2, 3.012, 4.343, 6.018, 8.061, 10.5",\
                 "0.5838, 0.6492, 0.8706, 1.3, 2.002, 3.013, 4.345, 6.019, 8.062, 10.5",\
                 "0.6658, 0.7298, 0.9584, 1.392, 2.055, 3.024, 4.344, 6.02, 8.062, 10.5",\
                 "0.817, 0.876, 1.086, 1.508, 2.176, 3.104, 4.37, 6.02, 8.065, 10.5",\
                 "1.013, 1.075, 1.283, 1.677, 2.325, 3.255, 4.478, 6.066, 8.068, 10.5",\
                 "1.232, 1.301, 1.521, 1.914, 2.526, 3.435, 4.656, 6.199, 8.137, 10.51",\
                 "1.467, 1.54, 1.778, 2.195, 2.799, 3.665, 4.872, 6.407, 8.296, 10.61");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1577, 0.1774, 0.2423, 0.3574, 0.5256, 0.752, 1.043, 1.405, 1.844, 2.366",\
                 "0.1696, 0.1888, 0.2535, 0.3682, 0.5363, 0.7626, 1.053, 1.416, 1.855, 2.377",\
                 "0.2208, 0.2383, 0.2989, 0.4111, 0.5783, 0.8043, 1.095, 1.457, 1.897, 2.418",\
                 "0.2856, 0.3086, 0.3821, 0.5015, 0.6652, 0.8891, 1.179, 1.54, 1.98, 2.501",\
                 "0.3273, 0.3559, 0.4469, 0.5957, 0.7919, 1.028, 1.316, 1.676, 2.114, 2.635",\
                 "0.3402, 0.3739, 0.4832, 0.6617, 0.8965, 1.179, 1.504, 1.871, 2.307, 2.826",\
                 "0.3202, 0.3597, 0.4867, 0.6961, 0.9713, 1.3, 1.677, 2.1, 2.563, 3.083",\
                 "0.2663, 0.3109, 0.4558, 0.6958, 1.013, 1.39, 1.819, 2.299, 2.826, 3.396",\
                 "0.1793, 0.2284, 0.3897, 0.6604, 1.018, 1.445, 1.929, 2.465, 3.053, 3.691",\
                 "0.0592, 0.1132, 0.2893, 0.5874, 0.9866, 1.462, 2.003, 2.598, 3.247, 3.95");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5812, 0.6294, 0.7986, 1.117, 1.611, 2.303, 3.213, 4.36, 5.758, 7.424",\
                 "0.5903, 0.6398, 0.8111, 1.132, 1.628, 2.321, 3.232, 4.378, 5.777, 7.444",\
                 "0.6241, 0.6735, 0.8458, 1.17, 1.669, 2.365, 3.277, 4.425, 5.825, 7.493",\
                 "0.6822, 0.7316, 0.9024, 1.224, 1.724, 2.421, 3.335, 4.485, 5.885, 7.554",\
                 "0.7609, 0.8122, 0.9877, 1.308, 1.803, 2.496, 3.407, 4.556, 5.958, 7.626",\
                 "0.8816, 0.9335, 1.111, 1.439, 1.932, 2.616, 3.519, 4.661, 6.057, 7.723",\
                 "1.051, 1.108, 1.293, 1.623, 2.122, 2.804, 3.694, 4.822, 6.208, 7.865",\
                 "1.261, 1.324, 1.527, 1.873, 2.374, 3.061, 3.948, 5.059, 6.428, 8.071",\
                 "1.508, 1.578, 1.804, 2.178, 2.695, 3.383, 4.276, 5.383, 6.731, 8.354",\
                 "1.789, 1.868, 2.117, 2.526, 3.075, 3.776, 4.671, 5.785, 7.129, 8.731");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2982, 0.3264, 0.4219, 0.597, 0.863, 1.233, 1.717, 2.327, 3.071, 3.957",\
                 "0.2943, 0.3231, 0.4198, 0.5959, 0.8619, 1.232, 1.716, 2.326, 3.071, 3.955",\
                 "0.2992, 0.3229, 0.411, 0.5903, 0.8601, 1.231, 1.717, 2.326, 3.07, 3.955",\
                 "0.4075, 0.4285, 0.4997, 0.6309, 0.8649, 1.229, 1.716, 2.326, 3.07, 3.957",\
                 "0.5512, 0.5753, 0.6554, 0.7982, 1.003, 1.294, 1.727, 2.325, 3.071, 3.958",\
                 "0.7284, 0.7566, 0.847, 1.003, 1.228, 1.523, 1.893, 2.401, 3.085, 3.957",\
                 "0.9358, 0.9678, 1.073, 1.246, 1.489, 1.81, 2.202, 2.671, 3.261, 4.033",\
                 "1.176, 1.214, 1.336, 1.528, 1.792, 2.132, 2.553, 3.056, 3.637, 4.319",\
                 "1.45, 1.492, 1.631, 1.85, 2.141, 2.502, 2.945, 3.477, 4.098, 4.801",\
                 "1.757, 1.806, 1.96, 2.208, 2.527, 2.919, 3.385, 3.941, 4.596, 5.337");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5966, 0.6798, 0.9728, 1.531, 2.396, 3.606, 5.198, 7.203, 9.648, 12.56",\
                 "0.5966, 0.6797, 0.9735, 1.53, 2.395, 3.606, 5.197, 7.202, 9.648, 12.56",\
                 "0.5977, 0.6809, 0.973, 1.53, 2.396, 3.606, 5.197, 7.2, 9.644, 12.56",\
                 "0.6083, 0.6886, 0.9754, 1.53, 2.396, 3.606, 5.197, 7.201, 9.644, 12.56",\
                 "0.6684, 0.747, 1.017, 1.543, 2.396, 3.607, 5.198, 7.2, 9.648, 12.56",\
                 "0.7438, 0.8204, 1.095, 1.616, 2.428, 3.609, 5.198, 7.201, 9.646, 12.56",\
                 "0.8966, 0.9646, 1.214, 1.72, 2.524, 3.662, 5.207, 7.202, 9.65, 12.56",\
                 "1.103, 1.173, 1.408, 1.872, 2.653, 3.777, 5.277, 7.22, 9.649, 12.56",\
                 "1.336, 1.41, 1.656, 2.105, 2.831, 3.934, 5.412, 7.306, 9.677, 12.56",\
                 "1.589, 1.666, 1.931, 2.395, 3.085, 4.135, 5.597, 7.46, 9.779, 12.61");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1679, 0.1875, 0.2525, 0.368, 0.5365, 0.7628, 1.053, 1.416, 1.855, 2.377",\
                 "0.1793, 0.1987, 0.2636, 0.3788, 0.5472, 0.7734, 1.064, 1.426, 1.865, 2.387",\
                 "0.2297, 0.2475, 0.3085, 0.4216, 0.5892, 0.8151, 1.106, 1.468, 1.907, 2.429",\
                 "0.3024, 0.3243, 0.3951, 0.5125, 0.676, 0.8997, 1.19, 1.551, 1.99, 2.512",\
                 "0.3527, 0.379, 0.466, 0.6108, 0.8044, 1.039, 1.326, 1.686, 2.124, 2.645",\
                 "0.372, 0.4038, 0.5077, 0.681, 0.9121, 1.192, 1.516, 1.882, 2.317, 2.836",\
                 "0.3587, 0.3958, 0.5165, 0.7197, 0.9902, 1.315, 1.691, 2.112, 2.574, 3.093",\
                 "0.312, 0.3539, 0.492, 0.7242, 1.035, 1.408, 1.835, 2.312, 2.838, 3.407",\
                 "0.2332, 0.2794, 0.4325, 0.6939, 1.045, 1.466, 1.947, 2.48, 3.067, 3.704",\
                 "0.1217, 0.1724, 0.3392, 0.6266, 1.017, 1.487, 2.023, 2.615, 3.262, 3.963");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6698, 0.7183, 0.887, 1.205, 1.699, 2.391, 3.302, 4.449, 5.847, 7.513",\
                 "0.6808, 0.7299, 0.9001, 1.221, 1.717, 2.41, 3.321, 4.467, 5.867, 7.533",\
                 "0.7156, 0.7648, 0.9361, 1.26, 1.758, 2.453, 3.366, 4.514, 5.914, 7.583",\
                 "0.7726, 0.8214, 0.9919, 1.314, 1.813, 2.51, 3.424, 4.574, 5.974, 7.647",\
                 "0.8544, 0.9049, 1.077, 1.396, 1.891, 2.585, 3.497, 4.645, 6.047, 7.715",\
                 "0.976, 1.027, 1.203, 1.528, 2.019, 2.703, 3.607, 4.749, 6.146, 7.812",\
                 "1.152, 1.206, 1.385, 1.712, 2.21, 2.891, 3.781, 4.911, 6.298, 7.954",\
                 "1.373, 1.432, 1.626, 1.963, 2.461, 3.147, 4.033, 5.145, 6.515, 8.158",\
                 "1.633, 1.699, 1.91, 2.273, 2.782, 3.47, 4.362, 5.468, 6.817, 8.441",\
                 "1.929, 2.001, 2.234, 2.627, 3.166, 3.863, 4.757, 5.871, 7.214, 8.816");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3537, 0.3803, 0.4727, 0.6443, 0.9084, 1.276, 1.761, 2.369, 3.114, 4.001",\
                 "0.3495, 0.377, 0.4704, 0.6435, 0.9078, 1.276, 1.76, 2.37, 3.113, 4",\
                 "0.3525, 0.3751, 0.4614, 0.6373, 0.9066, 1.275, 1.761, 2.369, 3.113, 4.001",\
                 "0.469, 0.4874, 0.5509, 0.6777, 0.91, 1.273, 1.759, 2.369, 3.114, 4.001",\
                 "0.6282, 0.6485, 0.719, 0.8504, 1.048, 1.337, 1.772, 2.368, 3.113, 4",\
                 "0.8236, 0.846, 0.924, 1.066, 1.283, 1.57, 1.936, 2.444, 3.127, 4.001",\
                 "1.051, 1.077, 1.166, 1.323, 1.553, 1.863, 2.249, 2.714, 3.303, 4.074",\
                 "1.313, 1.344, 1.445, 1.618, 1.867, 2.194, 2.609, 3.105, 3.68, 4.362",\
                 "1.613, 1.645, 1.761, 1.954, 2.225, 2.572, 3.006, 3.531, 4.147, 4.843",\
                 "1.944, 1.983, 2.114, 2.333, 2.623, 3.001, 3.454, 4.001, 4.651, 5.388");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7089, 0.7935, 1.089, 1.647, 2.513, 3.724, 5.317, 7.323, 9.769, 12.68",\
                 "0.7088, 0.7935, 1.089, 1.647, 2.512, 3.725, 5.316, 7.322, 9.769, 12.68",\
                 "0.7096, 0.794, 1.089, 1.647, 2.512, 3.724, 5.316, 7.321, 9.766, 12.68",\
                 "0.715, 0.7978, 1.089, 1.647, 2.513, 3.724, 5.316, 7.323, 9.766, 12.68",\
                 "0.769, 0.8472, 1.12, 1.655, 2.513, 3.726, 5.317, 7.321, 9.767, 12.68",\
                 "0.8412, 0.9198, 1.201, 1.72, 2.539, 3.727, 5.317, 7.321, 9.767, 12.68",\
                 "0.974, 1.046, 1.306, 1.824, 2.629, 3.773, 5.324, 7.322, 9.77, 12.68",\
                 "1.176, 1.244, 1.486, 1.965, 2.758, 3.885, 5.389, 7.337, 9.768, 12.68",\
                 "1.412, 1.483, 1.729, 2.181, 2.927, 4.04, 5.522, 7.419, 9.794, 12.69",\
                 "1.663, 1.742, 2.01, 2.469, 3.172, 4.234, 5.701, 7.571, 9.894, 12.72");
        }
      }

      timing() {
        related_pin : "C1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.208, 0.2265, 0.2888, 0.3994, 0.5642, 0.7881, 1.078, 1.439, 1.878, 2.399",\
                 "0.2189, 0.2375, 0.2997, 0.4106, 0.5751, 0.7991, 1.089, 1.45, 1.889, 2.41",\
                 "0.2651, 0.2828, 0.3431, 0.4532, 0.6178, 0.8415, 1.131, 1.492, 1.931, 2.453",\
                 "0.3428, 0.3633, 0.4309, 0.5432, 0.7044, 0.9268, 1.216, 1.577, 2.015, 2.536",\
                 "0.4002, 0.4259, 0.5093, 0.6485, 0.8365, 1.067, 1.353, 1.713, 2.149, 2.67",\
                 "0.4342, 0.4649, 0.5646, 0.7296, 0.9533, 1.227, 1.546, 1.909, 2.345, 2.862",\
                 "0.4412, 0.4762, 0.5924, 0.7865, 1.045, 1.361, 1.73, 2.145, 2.604, 3.122",\
                 "0.42, 0.4609, 0.5927, 0.8139, 1.111, 1.47, 1.886, 2.357, 2.877, 3.441",\
                 "0.3716, 0.4158, 0.5637, 0.8123, 1.146, 1.55, 2.016, 2.538, 3.117, 3.748",\
                 "0.2915, 0.3427, 0.5052, 0.7783, 1.151, 1.599, 2.116, 2.694, 3.328, 4.022");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6698, 0.7183, 0.887, 1.205, 1.699, 2.391, 3.302, 4.449, 5.847, 7.513",\
                 "0.6808, 0.7299, 0.9001, 1.221, 1.717, 2.41, 3.321, 4.467, 5.867, 7.533",\
                 "0.7156, 0.7648, 0.9361, 1.26, 1.758, 2.453, 3.366, 4.514, 5.914, 7.583",\
                 "0.7726, 0.8214, 0.9919, 1.314, 1.813, 2.51, 3.424, 4.574, 5.974, 7.647",\
                 "0.8544, 0.9049, 1.077, 1.396, 1.891, 2.585, 3.497, 4.645, 6.047, 7.715",\
                 "0.976, 1.027, 1.203, 1.528, 2.019, 2.703, 3.607, 4.749, 6.146, 7.812",\
                 "1.152, 1.206, 1.385, 1.712, 2.21, 2.891, 3.781, 4.911, 6.298, 7.954",\
                 "1.373, 1.432, 1.626, 1.963, 2.461, 3.147, 4.033, 5.145, 6.515, 8.158",\
                 "1.633, 1.699, 1.91, 2.273, 2.782, 3.47, 4.362, 5.468, 6.817, 8.441",\
                 "1.929, 2.001, 2.234, 2.627, 3.166, 3.863, 4.757, 5.871, 7.214, 8.816");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3537, 0.3803, 0.4727, 0.6443, 0.9084, 1.276, 1.761, 2.369, 3.114, 4.001",\
                 "0.3495, 0.377, 0.4704, 0.6435, 0.9078, 1.276, 1.76, 2.37, 3.113, 4",\
                 "0.3525, 0.3751, 0.4614, 0.6373, 0.9066, 1.275, 1.761, 2.369, 3.113, 4.001",\
                 "0.469, 0.4874, 0.5509, 0.6777, 0.91, 1.273, 1.759, 2.369, 3.114, 4.001",\
                 "0.6282, 0.6485, 0.719, 0.8504, 1.048, 1.337, 1.772, 2.368, 3.113, 4",\
                 "0.8236, 0.846, 0.924, 1.066, 1.283, 1.57, 1.936, 2.444, 3.127, 4.001",\
                 "1.051, 1.077, 1.166, 1.323, 1.553, 1.863, 2.249, 2.714, 3.303, 4.074",\
                 "1.313, 1.344, 1.445, 1.618, 1.867, 2.194, 2.609, 3.105, 3.68, 4.362",\
                 "1.613, 1.645, 1.761, 1.954, 2.225, 2.572, 3.006, 3.531, 4.147, 4.843",\
                 "1.944, 1.983, 2.114, 2.333, 2.623, 3.001, 3.454, 4.001, 4.651, 5.388");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7089, 0.7935, 1.089, 1.647, 2.513, 3.724, 5.317, 7.323, 9.769, 12.68",\
                 "0.7088, 0.7935, 1.089, 1.647, 2.512, 3.725, 5.316, 7.322, 9.769, 12.68",\
                 "0.7096, 0.794, 1.089, 1.647, 2.512, 3.724, 5.316, 7.321, 9.766, 12.68",\
                 "0.715, 0.7978, 1.089, 1.647, 2.513, 3.724, 5.316, 7.323, 9.766, 12.68",\
                 "0.769, 0.8472, 1.12, 1.655, 2.513, 3.726, 5.317, 7.321, 9.767, 12.68",\
                 "0.8412, 0.9198, 1.201, 1.72, 2.539, 3.727, 5.317, 7.321, 9.767, 12.68",\
                 "0.974, 1.046, 1.306, 1.824, 2.629, 3.773, 5.324, 7.322, 9.77, 12.68",\
                 "1.176, 1.244, 1.486, 1.965, 2.758, 3.885, 5.389, 7.337, 9.768, 12.68",\
                 "1.412, 1.483, 1.729, 2.181, 2.927, 4.04, 5.522, 7.419, 9.794, 12.69",\
                 "1.663, 1.742, 2.01, 2.469, 3.172, 4.234, 5.701, 7.571, 9.894, 12.72");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2221, 0.2408, 0.3028, 0.4135, 0.5784, 0.8021, 1.092, 1.453, 1.892, 2.414",\
                 "0.2319, 0.2506, 0.3127, 0.4238, 0.588, 0.8121, 1.102, 1.463, 1.902, 2.423",\
                 "0.2603, 0.2783, 0.3394, 0.4498, 0.6144, 0.8385, 1.128, 1.489, 1.928, 2.45",\
                 "0.3048, 0.3245, 0.3899, 0.5034, 0.6669, 0.8901, 1.179, 1.541, 1.979, 2.501",\
                 "0.3379, 0.361, 0.4361, 0.564, 0.7433, 0.9747, 1.264, 1.624, 2.062, 2.583",\
                 "0.3458, 0.3736, 0.4624, 0.6113, 0.8126, 1.067, 1.377, 1.745, 2.181, 2.701",\
                 "0.3223, 0.3546, 0.4589, 0.6324, 0.8646, 1.149, 1.486, 1.882, 2.338, 2.862",\
                 "0.2639, 0.3013, 0.4216, 0.6209, 0.8872, 1.209, 1.582, 2.008, 2.497, 3.049",\
                 "0.1713, 0.2128, 0.3479, 0.5739, 0.875, 1.238, 1.654, 2.121, 2.644, 3.23",\
                 "0.0427, 0.0885, 0.2365, 0.487, 0.8247, 1.23, 1.692, 2.207, 2.773, 3.398");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4277, 0.4604, 0.5745, 0.7888, 1.121, 1.587, 2.198, 2.969, 3.91, 5.031",\
                 "0.4407, 0.4738, 0.5889, 0.8035, 1.136, 1.602, 2.215, 2.985, 3.926, 5.046",\
                 "0.4887, 0.5223, 0.6375, 0.8539, 1.188, 1.654, 2.267, 3.038, 3.979, 5.1",\
                 "0.5656, 0.6002, 0.7167, 0.9336, 1.267, 1.734, 2.347, 3.12, 4.061, 5.182",\
                 "0.6591, 0.6973, 0.825, 1.052, 1.385, 1.85, 2.461, 3.232, 4.173, 5.293",\
                 "0.7951, 0.8357, 0.9706, 1.21, 1.561, 2.026, 2.632, 3.397, 4.334, 5.452",\
                 "0.978, 1.024, 1.17, 1.421, 1.785, 2.27, 2.878, 3.634, 4.563, 5.675",\
                 "1.206, 1.257, 1.419, 1.691, 2.068, 2.567, 3.197, 3.958, 4.875, 5.974",\
                 "1.473, 1.531, 1.713, 2.009, 2.411, 2.925, 3.57, 4.356, 5.281, 6.368",\
                 "1.78, 1.843, 2.045, 2.372, 2.806, 3.346, 4.006, 4.809, 5.762, 6.86");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.288, 0.3177, 0.4144, 0.5902, 0.8585, 1.23, 1.716, 2.326, 3.071, 3.959",\
                 "0.2871, 0.3168, 0.4126, 0.5902, 0.858, 1.229, 1.716, 2.326, 3.072, 3.958",\
                 "0.2828, 0.3114, 0.4087, 0.5894, 0.8582, 1.229, 1.715, 2.326, 3.072, 3.958",\
                 "0.3342, 0.3604, 0.4481, 0.6062, 0.8607, 1.229, 1.716, 2.325, 3.071, 3.958",\
                 "0.4254, 0.452, 0.541, 0.699, 0.9368, 1.268, 1.726, 2.327, 3.072, 3.958",\
                 "0.552, 0.5808, 0.6754, 0.836, 1.072, 1.4, 1.825, 2.378, 3.085, 3.96",\
                 "0.7016, 0.7378, 0.8414, 1.015, 1.259, 1.582, 2.007, 2.541, 3.198, 4.018",\
                 "0.874, 0.913, 1.034, 1.227, 1.485, 1.816, 2.24, 2.771, 3.424, 4.198",\
                 "1.064, 1.11, 1.248, 1.468, 1.75, 2.101, 2.528, 3.057, 3.705, 4.481",\
                 "1.277, 1.327, 1.484, 1.73, 2.048, 2.423, 2.869, 3.402, 4.047, 4.819");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.4628, 0.5183, 0.7141, 1.088, 1.67, 2.482, 3.548, 4.89, 6.529, 8.482",\
                 "0.4637, 0.5187, 0.7143, 1.088, 1.669, 2.481, 3.548, 4.891, 6.529, 8.481",\
                 "0.4652, 0.5199, 0.7147, 1.088, 1.669, 2.482, 3.548, 4.89, 6.529, 8.482",\
                 "0.4935, 0.5433, 0.7243, 1.09, 1.669, 2.482, 3.548, 4.89, 6.529, 8.48",\
                 "0.5794, 0.6304, 0.8048, 1.134, 1.679, 2.482, 3.548, 4.891, 6.528, 8.481",\
                 "0.69, 0.7394, 0.9148, 1.254, 1.767, 2.514, 3.552, 4.891, 6.53, 8.48",\
                 "0.8548, 0.901, 1.064, 1.392, 1.917, 2.639, 3.614, 4.903, 6.529, 8.483",\
                 "1.05, 1.097, 1.262, 1.574, 2.087, 2.822, 3.774, 4.998, 6.558, 8.484",\
                 "1.262, 1.311, 1.485, 1.808, 2.3, 3.026, 3.996, 5.192, 6.687, 8.539",\
                 "1.49, 1.545, 1.73, 2.07, 2.567, 3.271, 4.234, 5.453, 6.919, 8.7");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2092, 0.2275, 0.2891, 0.3989, 0.5628, 0.7859, 1.075, 1.436, 1.874, 2.395",\
                 "0.2189, 0.2371, 0.2987, 0.4087, 0.5722, 0.7954, 1.084, 1.445, 1.883, 2.405",\
                 "0.2472, 0.265, 0.3251, 0.4347, 0.5982, 0.8213, 1.11, 1.471, 1.909, 2.431",\
                 "0.288, 0.3081, 0.3736, 0.4874, 0.6505, 0.8728, 1.162, 1.522, 1.961, 2.481",\
                 "0.3138, 0.3376, 0.4145, 0.5439, 0.7241, 0.9563, 1.245, 1.605, 2.042, 2.563",\
                 "0.3104, 0.3399, 0.4324, 0.5846, 0.7893, 1.045, 1.356, 1.724, 2.161, 2.681",\
                 "0.2731, 0.3072, 0.4166, 0.596, 0.8331, 1.121, 1.461, 1.858, 2.316, 2.84",\
                 "0.1977, 0.2369, 0.3623, 0.5709, 0.8453, 1.174, 1.55, 1.98, 2.47, 3.024",\
                 "0.0855, 0.1285, 0.2704, 0.5063, 0.818, 1.19, 1.612, 2.084, 2.611, 3.2",\
                 "-0.0679, -0.0202, 0.1386, 0.4008, 0.7491, 1.168, 1.639, 2.161, 2.733, 3.361");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.498, 0.5387, 0.6797, 0.948, 1.364, 1.947, 2.714, 3.68, 4.858, 6.262",\
                 "0.5094, 0.5507, 0.693, 0.962, 1.379, 1.962, 2.729, 3.695, 4.873, 6.278",\
                 "0.552, 0.5937, 0.7369, 1.007, 1.425, 2.009, 2.777, 3.743, 4.922, 6.326",\
                 "0.6154, 0.6571, 0.8009, 1.071, 1.489, 2.074, 2.842, 3.808, 4.988, 6.394",\
                 "0.6975, 0.7421, 0.8933, 1.167, 1.582, 2.163, 2.93, 3.895, 5.073, 6.478",\
                 "0.8306, 0.8757, 1.03, 1.312, 1.734, 2.307, 3.065, 4.025, 5.198, 6.598",\
                 "1.018, 1.069, 1.231, 1.517, 1.945, 2.527, 3.272, 4.219, 5.383, 6.773",\
                 "1.255, 1.31, 1.489, 1.791, 2.222, 2.809, 3.565, 4.498, 5.645, 7.023",\
                 "1.533, 1.595, 1.792, 2.12, 2.57, 3.161, 3.923, 4.866, 5.998, 7.358",\
                 "1.852, 1.92, 2.139, 2.495, 2.977, 3.584, 4.351, 5.303, 6.446, 7.791");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2705, 0.2999, 0.396, 0.5719, 0.8383, 1.209, 1.695, 2.305, 3.049, 3.936",\
                 "0.2697, 0.2981, 0.3956, 0.5711, 0.8383, 1.208, 1.694, 2.306, 3.05, 3.937",\
                 "0.2673, 0.2948, 0.3908, 0.5699, 0.8382, 1.209, 1.693, 2.304, 3.05, 3.937",\
                 "0.3231, 0.3488, 0.435, 0.5909, 0.8426, 1.208, 1.694, 2.306, 3.049, 3.936",\
                 "0.4194, 0.4465, 0.5322, 0.6878, 0.9232, 1.251, 1.707, 2.305, 3.05, 3.936",\
                 "0.5514, 0.5788, 0.6716, 0.8296, 1.063, 1.387, 1.81, 2.36, 3.067, 3.939",\
                 "0.7086, 0.742, 0.8468, 1.017, 1.253, 1.574, 1.995, 2.528, 3.182, 3.998",\
                 "0.8918, 0.929, 1.049, 1.239, 1.492, 1.818, 2.233, 2.761, 3.41, 4.183",\
                 "1.098, 1.143, 1.28, 1.492, 1.769, 2.112, 2.532, 3.053, 3.698, 4.469",\
                 "1.339, 1.387, 1.537, 1.779, 2.083, 2.448, 2.886, 3.411, 4.046, 4.813");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5763, 0.6462, 0.8916, 1.359, 2.083, 3.096, 4.428, 6.103, 8.151, 10.59",\
                 "0.5774, 0.6464, 0.8915, 1.359, 2.083, 3.096, 4.428, 6.104, 8.151, 10.59",\
                 "0.5784, 0.6472, 0.8918, 1.359, 2.083, 3.097, 4.428, 6.105, 8.151, 10.59",\
                 "0.5963, 0.6613, 0.896, 1.359, 2.083, 3.097, 4.428, 6.105, 8.151, 10.59",\
                 "0.6702, 0.7342, 0.9558, 1.385, 2.086, 3.097, 4.428, 6.105, 8.152, 10.59",\
                 "0.7674, 0.8286, 1.051, 1.478, 2.141, 3.109, 4.429, 6.106, 8.151, 10.59",\
                 "0.927, 0.9824, 1.184, 1.598, 2.26, 3.189, 4.456, 6.108, 8.152, 10.59",\
                 "1.124, 1.181, 1.376, 1.762, 2.405, 3.334, 4.561, 6.152, 8.157, 10.59",\
                 "1.342, 1.402, 1.608, 1.986, 2.595, 3.508, 4.731, 6.28, 8.222, 10.6",\
                 "1.582, 1.646, 1.863, 2.258, 2.849, 3.724, 4.939, 6.478, 8.374, 10.69");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2177, 0.2361, 0.2979, 0.4088, 0.5732, 0.7965, 1.085, 1.446, 1.884, 2.405",\
                 "0.2274, 0.2457, 0.3074, 0.4184, 0.5828, 0.806, 1.095, 1.455, 1.894, 2.415",\
                 "0.2554, 0.2732, 0.3339, 0.4444, 0.6086, 0.832, 1.121, 1.481, 1.92, 2.441",\
                 "0.2987, 0.3184, 0.3836, 0.4973, 0.6608, 0.8835, 1.172, 1.533, 1.971, 2.492",\
                 "0.3292, 0.3522, 0.4276, 0.5562, 0.7358, 0.9672, 1.256, 1.615, 2.053, 2.573",\
                 "0.3334, 0.3608, 0.4502, 0.5997, 0.8025, 1.057, 1.367, 1.735, 2.172, 2.691",\
                 "0.3033, 0.3353, 0.4403, 0.6152, 0.8495, 1.135, 1.473, 1.869, 2.327, 2.85",\
                 "0.2353, 0.2719, 0.3924, 0.5948, 0.864, 1.188, 1.564, 1.992, 2.481, 3.035",\
                 "0.1295, 0.1705, 0.3052, 0.5342, 0.8406, 1.208, 1.628, 2.098, 2.623, 3.212",\
                 "-0.0163, 0.0293, 0.1786, 0.4321, 0.7752, 1.188, 1.657, 2.176, 2.746, 3.374");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5715, 0.6121, 0.7538, 1.022, 1.438, 2.022, 2.788, 3.754, 4.933, 6.337",\
                 "0.585, 0.625, 0.7676, 1.036, 1.453, 2.037, 2.804, 3.77, 4.949, 6.353",\
                 "0.628, 0.6688, 0.8116, 1.081, 1.5, 2.084, 2.852, 3.818, 4.998, 6.403",\
                 "0.6915, 0.7327, 0.8752, 1.145, 1.564, 2.149, 2.917, 3.885, 5.063, 6.469",\
                 "0.7784, 0.8223, 0.9709, 1.241, 1.656, 2.238, 3.006, 3.97, 5.148, 6.554",\
                 "0.9132, 0.9565, 1.109, 1.389, 1.807, 2.38, 3.14, 4.098, 5.273, 6.673",\
                 "1.108, 1.155, 1.312, 1.593, 2.02, 2.599, 3.346, 4.293, 5.457, 6.85",\
                 "1.353, 1.405, 1.575, 1.869, 2.297, 2.883, 3.637, 4.57, 5.718, 7.098",\
                 "1.643, 1.7, 1.886, 2.202, 2.645, 3.235, 3.996, 4.938, 6.07, 7.432",\
                 "1.974, 2.036, 2.241, 2.585, 3.056, 3.659, 4.425, 5.377, 6.518, 7.864");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3255, 0.3527, 0.4447, 0.6174, 0.8821, 1.252, 1.737, 2.346, 3.091, 3.979",\
                 "0.3245, 0.3518, 0.4442, 0.617, 0.8818, 1.252, 1.736, 2.347, 3.091, 3.978",\
                 "0.3226, 0.3487, 0.4405, 0.6156, 0.8819, 1.252, 1.736, 2.348, 3.091, 3.979",\
                 "0.3812, 0.404, 0.485, 0.6375, 0.8868, 1.252, 1.737, 2.348, 3.092, 3.978",\
                 "0.4857, 0.5093, 0.5878, 0.738, 0.9688, 1.295, 1.751, 2.349, 3.092, 3.979",\
                 "0.6298, 0.6546, 0.7378, 0.8856, 1.112, 1.432, 1.853, 2.404, 3.109, 3.981",\
                 "0.8044, 0.8324, 0.9244, 1.081, 1.309, 1.624, 2.041, 2.571, 3.225, 4.041",\
                 "1.006, 1.036, 1.14, 1.314, 1.555, 1.872, 2.282, 2.807, 3.455, 4.225",\
                 "1.232, 1.269, 1.386, 1.579, 1.841, 2.171, 2.588, 3.103, 3.742, 4.513",\
                 "1.493, 1.532, 1.661, 1.876, 2.161, 2.516, 2.945, 3.462, 4.095, 4.858");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6709, 0.7415, 0.9878, 1.456, 2.182, 3.196, 4.527, 6.206, 8.251, 10.69",\
                 "0.6714, 0.7413, 0.9882, 1.456, 2.181, 3.195, 4.528, 6.205, 8.252, 10.69",\
                 "0.672, 0.7416, 0.9882, 1.456, 2.181, 3.195, 4.528, 6.205, 8.251, 10.69",\
                 "0.6814, 0.7493, 0.9906, 1.456, 2.181, 3.195, 4.528, 6.207, 8.252, 10.69",\
                 "0.7514, 0.816, 1.038, 1.475, 2.183, 3.196, 4.529, 6.205, 8.253, 10.69",\
                 "0.8416, 0.9058, 1.134, 1.562, 2.23, 3.204, 4.528, 6.206, 8.253, 10.69",\
                 "0.9878, 1.046, 1.258, 1.679, 2.346, 3.279, 4.552, 6.207, 8.253, 10.69",\
                 "1.181, 1.239, 1.44, 1.835, 2.489, 3.422, 4.651, 6.247, 8.258, 10.69",\
                 "1.399, 1.462, 1.668, 2.053, 2.674, 3.594, 4.82, 6.37, 8.318, 10.7",\
                 "1.64, 1.708, 1.925, 2.322, 2.92, 3.806, 5.025, 6.568, 8.465, 10.79");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1704, 0.1903, 0.2562, 0.3721, 0.5411, 0.7686, 1.061, 1.424, 1.865, 2.387",\
                 "0.1808, 0.2007, 0.2663, 0.382, 0.5509, 0.7784, 1.071, 1.434, 1.875, 2.397",\
                 "0.2129, 0.2319, 0.2946, 0.4085, 0.5771, 0.8045, 1.097, 1.46, 1.901, 2.423",\
                 "0.2511, 0.2727, 0.3428, 0.462, 0.6296, 0.8557, 1.148, 1.511, 1.951, 2.474",\
                 "0.2713, 0.2975, 0.3804, 0.5166, 0.7026, 0.9391, 1.231, 1.593, 2.033, 2.555",\
                 "0.2612, 0.2932, 0.3924, 0.5534, 0.7654, 1.027, 1.341, 1.713, 2.151, 2.672",\
                 "0.2158, 0.2531, 0.3707, 0.56, 0.8066, 1.101, 1.445, 1.845, 2.305, 2.831",\
                 "0.1345, 0.1764, 0.3108, 0.5301, 0.8137, 1.149, 1.532, 1.966, 2.459, 3.015",\
                 "0.0151, 0.0623, 0.2128, 0.4593, 0.7826, 1.163, 1.592, 2.07, 2.599, 3.19",\
                 "-0.1448, -0.0923, 0.0748, 0.3488, 0.7089, 1.137, 1.615, 2.143, 2.719, 3.35");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5008, 0.5415, 0.6819, 0.9475, 1.359, 1.935, 2.694, 3.649, 4.816, 6.207",\
                 "0.5128, 0.5535, 0.6953, 0.9616, 1.374, 1.951, 2.71, 3.665, 4.832, 6.223",\
                 "0.5591, 0.6007, 0.7432, 1.011, 1.425, 2.002, 2.762, 3.718, 4.885, 6.275",\
                 "0.6336, 0.6754, 0.818, 1.086, 1.499, 2.079, 2.838, 3.795, 4.962, 6.352",\
                 "0.7252, 0.7694, 0.9199, 1.191, 1.601, 2.177, 2.936, 3.891, 5.058, 6.448",\
                 "0.8581, 0.9037, 1.057, 1.338, 1.756, 2.325, 3.076, 4.026, 5.189, 6.575",\
                 "1.041, 1.091, 1.253, 1.538, 1.964, 2.542, 3.283, 4.221, 5.375, 6.754",\
                 "1.269, 1.325, 1.503, 1.804, 2.235, 2.82, 3.572, 4.498, 5.636, 7.003",\
                 "1.542, 1.604, 1.801, 2.128, 2.577, 3.166, 3.926, 4.863, 5.987, 7.337",\
                 "1.856, 1.925, 2.144, 2.5, 2.979, 3.586, 4.349, 5.296, 6.433, 7.766");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.253, 0.2841, 0.3867, 0.5672, 0.8369, 1.209, 1.694, 2.304, 3.05, 3.938",\
                 "0.2506, 0.282, 0.3855, 0.5669, 0.8368, 1.209, 1.695, 2.305, 3.049, 3.936",\
                 "0.2532, 0.2813, 0.3789, 0.5628, 0.8351, 1.209, 1.693, 2.305, 3.05, 3.939",\
                 "0.3195, 0.3457, 0.4313, 0.5876, 0.8393, 1.206, 1.694, 2.304, 3.049, 3.936",\
                 "0.4244, 0.4502, 0.5358, 0.6894, 0.9234, 1.25, 1.707, 2.305, 3.05, 3.938",\
                 "0.5618, 0.59, 0.682, 0.8372, 1.068, 1.389, 1.81, 2.361, 3.065, 3.937",\
                 "0.7254, 0.7588, 0.8616, 1.03, 1.266, 1.583, 2, 2.53, 3.181, 3.999",\
                 "0.913, 0.9512, 1.07, 1.257, 1.509, 1.83, 2.243, 2.766, 3.412, 4.181",\
                 "1.133, 1.17, 1.309, 1.517, 1.789, 2.13, 2.546, 3.061, 3.701, 4.469",\
                 "1.368, 1.419, 1.568, 1.806, 2.11, 2.469, 2.903, 3.424, 4.054, 4.814");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.499, 0.5679, 0.8111, 1.276, 1.999, 3.012, 4.342, 6.018, 8.063, 10.5",\
                 "0.5004, 0.5684, 0.8113, 1.276, 2.001, 3.013, 4.342, 6.018, 8.062, 10.5",\
                 "0.5011, 0.5702, 0.812, 1.276, 2, 3.013, 4.343, 6.018, 8.061, 10.5",\
                 "0.5183, 0.5825, 0.8164, 1.277, 1.999, 3.013, 4.343, 6.018, 8.06, 10.5",\
                 "0.5838, 0.649, 0.8718, 1.301, 2.003, 3.013, 4.343, 6.019, 8.063, 10.5",\
                 "0.6636, 0.7278, 0.957, 1.391, 2.055, 3.024, 4.343, 6.02, 8.063, 10.5",\
                 "0.8042, 0.865, 1.079, 1.503, 2.174, 3.103, 4.37, 6.02, 8.064, 10.5",\
                 "0.9876, 1.052, 1.263, 1.662, 2.314, 3.25, 4.475, 6.065, 8.068, 10.5",\
                 "1.194, 1.262, 1.486, 1.885, 2.502, 3.421, 4.647, 6.197, 8.137, 10.51",\
                 "1.42, 1.493, 1.734, 2.149, 2.754, 3.636, 4.853, 6.394, 8.289, 10.6");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1644, 0.1838, 0.2482, 0.3623, 0.5295, 0.7554, 1.047, 1.409, 1.848, 2.37",\
                 "0.1746, 0.1939, 0.2581, 0.3719, 0.539, 0.765, 1.056, 1.418, 1.858, 2.38",\
                 "0.2056, 0.2243, 0.286, 0.3982, 0.5648, 0.7907, 1.082, 1.444, 1.884, 2.406",\
                 "0.2397, 0.2616, 0.3315, 0.4503, 0.6171, 0.8417, 1.133, 1.495, 1.934, 2.456",\
                 "0.2524, 0.2793, 0.3637, 0.5011, 0.6875, 0.924, 1.215, 1.576, 2.015, 2.537",\
                 "0.2319, 0.2647, 0.3674, 0.5318, 0.7456, 1.009, 1.324, 1.695, 2.133, 2.654",\
                 "0.1728, 0.2113, 0.3339, 0.5284, 0.78, 1.077, 1.423, 1.824, 2.285, 2.811",\
                 "0.0741, 0.1183, 0.2586, 0.4854, 0.777, 1.119, 1.505, 1.941, 2.435, 2.993",\
                 "-0.0665, -0.0166, 0.1422, 0.3994, 0.7325, 1.121, 1.556, 2.038, 2.571, 3.163",\
                 "-0.251, -0.1951, -0.0184, 0.2679, 0.6413, 1.08, 1.569, 2.103, 2.684, 3.318");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5659, 0.614, 0.7816, 1.099, 1.593, 2.284, 3.194, 4.34, 5.738, 7.405",\
                 "0.5767, 0.6252, 0.7942, 1.112, 1.607, 2.299, 3.209, 4.355, 5.754, 7.42",\
                 "0.6176, 0.6664, 0.8361, 1.156, 1.652, 2.346, 3.256, 4.402, 5.802, 7.469",\
                 "0.6792, 0.7279, 0.8975, 1.217, 1.713, 2.407, 3.318, 4.466, 5.865, 7.531",\
                 "0.7592, 0.8104, 0.9848, 1.304, 1.796, 2.486, 3.395, 4.541, 5.94, 7.608",\
                 "0.8905, 0.9415, 1.116, 1.441, 1.93, 2.611, 3.51, 4.65, 6.044, 7.707",\
                 "1.083, 1.138, 1.317, 1.64, 2.132, 2.808, 3.693, 4.818, 6.2, 7.855",\
                 "1.327, 1.387, 1.582, 1.915, 2.403, 3.081, 3.959, 5.064, 6.427, 8.066",\
                 "1.619, 1.687, 1.9, 2.257, 2.755, 3.428, 4.308, 5.405, 6.745, 8.363",\
                 "1.955, 2.029, 2.266, 2.652, 3.177, 3.855, 4.732, 5.833, 7.163, 8.753");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2389, 0.2696, 0.3702, 0.5499, 0.8182, 1.189, 1.675, 2.284, 3.028, 3.914",\
                 "0.2365, 0.2674, 0.3693, 0.5491, 0.8189, 1.189, 1.673, 2.285, 3.027, 3.917",\
                 "0.242, 0.2689, 0.3639, 0.5454, 0.8172, 1.189, 1.673, 2.284, 3.027, 3.914",\
                 "0.3103, 0.3355, 0.4193, 0.5742, 0.8226, 1.186, 1.673, 2.285, 3.027, 3.916",\
                 "0.4178, 0.4439, 0.527, 0.6784, 0.9102, 1.234, 1.688, 2.285, 3.027, 3.916",\
                 "0.5574, 0.586, 0.677, 0.832, 1.058, 1.376, 1.795, 2.344, 3.047, 3.916",\
                 "0.7274, 0.7592, 0.8628, 1.03, 1.261, 1.573, 1.988, 2.515, 3.165, 3.979",\
                 "0.925, 0.9606, 1.079, 1.267, 1.511, 1.83, 2.234, 2.755, 3.399, 4.166",\
                 "1.15, 1.194, 1.326, 1.533, 1.802, 2.136, 2.547, 3.058, 3.691, 4.457",\
                 "1.406, 1.456, 1.608, 1.839, 2.138, 2.49, 2.916, 3.429, 4.052, 4.808");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5972, 0.6802, 0.9738, 1.531, 2.396, 3.606, 5.197, 7.203, 9.647, 12.56",\
                 "0.5976, 0.6812, 0.9736, 1.53, 2.396, 3.606, 5.198, 7.203, 9.649, 12.56",\
                 "0.5982, 0.6814, 0.9731, 1.53, 2.396, 3.606, 5.197, 7.2, 9.646, 12.56",\
                 "0.6091, 0.6891, 0.9758, 1.53, 2.395, 3.606, 5.197, 7.201, 9.643, 12.56",\
                 "0.6688, 0.747, 1.017, 1.544, 2.397, 3.607, 5.198, 7.2, 9.645, 12.56",\
                 "0.7412, 0.818, 1.094, 1.616, 2.429, 3.609, 5.198, 7.201, 9.646, 12.56",\
                 "0.883, 0.953, 1.204, 1.715, 2.521, 3.661, 5.206, 7.202, 9.648, 12.57",\
                 "1.074, 1.144, 1.384, 1.854, 2.645, 3.772, 5.276, 7.22, 9.648, 12.56",\
                 "1.291, 1.367, 1.614, 2.065, 2.808, 3.92, 5.405, 7.303, 9.675, 12.56",\
                 "1.529, 1.612, 1.873, 2.334, 3.04, 4.104, 5.578, 7.452, 9.776, 12.6");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1724, 0.1918, 0.2567, 0.3717, 0.5398, 0.7661, 1.057, 1.419, 1.859, 2.38",\
                 "0.1826, 0.2018, 0.2665, 0.3812, 0.5493, 0.7756, 1.066, 1.429, 1.868, 2.39",\
                 "0.2136, 0.2321, 0.2942, 0.4074, 0.5751, 0.8013, 1.092, 1.454, 1.894, 2.416",\
                 "0.2506, 0.2722, 0.3416, 0.4602, 0.6274, 0.8524, 1.143, 1.505, 1.944, 2.466",\
                 "0.2697, 0.2953, 0.3777, 0.5136, 0.6993, 0.9351, 1.226, 1.587, 2.026, 2.547",\
                 "0.2581, 0.289, 0.3873, 0.5481, 0.7598, 1.021, 1.335, 1.706, 2.144, 2.664",\
                 "0.2085, 0.2443, 0.3605, 0.5494, 0.7965, 1.091, 1.436, 1.836, 2.296, 2.822",\
                 "0.1187, 0.1596, 0.2921, 0.5115, 0.797, 1.135, 1.519, 1.954, 2.447, 3.004",\
                 "-0.0127, 0.0331, 0.1821, 0.43, 0.7562, 1.14, 1.573, 2.051, 2.583, 3.175",\
                 "-0.1883, -0.137, 0.0286, 0.3042, 0.6691, 1.102, 1.586, 2.118, 2.697, 3.331");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6541, 0.7019, 0.87, 1.187, 1.681, 2.373, 3.284, 4.43, 5.828, 7.495",\
                 "0.6655, 0.7138, 0.8825, 1.201, 1.695, 2.387, 3.298, 4.445, 5.843, 7.51",\
                 "0.7072, 0.7558, 0.9253, 1.245, 1.741, 2.434, 3.345, 4.492, 5.891, 7.559",\
                 "0.7685, 0.8169, 0.9858, 1.306, 1.802, 2.496, 3.407, 4.555, 5.956, 7.622",\
                 "0.8525, 0.9024, 1.074, 1.391, 1.884, 2.575, 3.484, 4.631, 6.03, 7.697",\
                 "0.9828, 1.033, 1.206, 1.529, 2.017, 2.698, 3.6, 4.738, 6.133, 7.796",\
                 "1.181, 1.233, 1.407, 1.727, 2.219, 2.894, 3.779, 4.905, 6.288, 7.943",\
                 "1.435, 1.491, 1.677, 2.002, 2.489, 3.167, 4.044, 5.15, 6.515, 8.156",\
                 "1.738, 1.8, 2.002, 2.348, 2.84, 3.513, 4.393, 5.49, 6.831, 8.45",\
                 "2.086, 2.155, 2.377, 2.749, 3.265, 3.94, 4.817, 5.917, 7.247, 8.84");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2971, 0.3254, 0.4211, 0.5967, 0.8625, 1.232, 1.716, 2.325, 3.071, 3.957",\
                 "0.2945, 0.3232, 0.4197, 0.5959, 0.8624, 1.233, 1.717, 2.327, 3.071, 3.957",\
                 "0.2987, 0.3241, 0.4155, 0.5922, 0.8609, 1.232, 1.717, 2.327, 3.071, 3.959",\
                 "0.3717, 0.3942, 0.4717, 0.6211, 0.8679, 1.231, 1.717, 2.326, 3.071, 3.957",\
                 "0.4902, 0.5118, 0.5866, 0.7296, 0.9562, 1.279, 1.731, 2.327, 3.07, 3.958",\
                 "0.646, 0.6688, 0.747, 0.89, 1.108, 1.423, 1.839, 2.387, 3.09, 3.96",\
                 "0.8346, 0.8598, 0.9462, 1.097, 1.318, 1.623, 2.034, 2.559, 3.208, 4.024",\
                 "1.053, 1.083, 1.178, 1.346, 1.576, 1.885, 2.285, 2.802, 3.442, 4.209",\
                 "1.304, 1.336, 1.443, 1.626, 1.877, 2.198, 2.602, 3.107, 3.739, 4.502",\
                 "1.582, 1.621, 1.745, 1.948, 2.223, 2.559, 2.977, 3.48, 4.101, 4.858");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7093, 0.7943, 1.089, 1.647, 2.513, 3.724, 5.319, 7.323, 9.769, 12.68",\
                 "0.7096, 0.794, 1.09, 1.647, 2.512, 3.724, 5.317, 7.323, 9.769, 12.68",\
                 "0.7108, 0.7942, 1.088, 1.647, 2.513, 3.725, 5.316, 7.321, 9.766, 12.68",\
                 "0.7164, 0.7986, 1.09, 1.647, 2.513, 3.725, 5.316, 7.322, 9.768, 12.68",\
                 "0.7698, 0.8476, 1.122, 1.656, 2.514, 3.725, 5.317, 7.321, 9.767, 12.68",\
                 "0.8382, 0.9192, 1.2, 1.72, 2.539, 3.727, 5.317, 7.322, 9.769, 12.68",\
                 "0.9644, 1.038, 1.299, 1.818, 2.628, 3.772, 5.324, 7.322, 9.77, 12.68",\
                 "1.149, 1.22, 1.465, 1.95, 2.749, 3.881, 5.388, 7.337, 9.768, 12.69",\
                 "1.367, 1.44, 1.69, 2.148, 2.906, 4.027, 5.514, 7.418, 9.794, 12.69",\
                 "1.607, 1.686, 1.95, 2.413, 3.128, 4.207, 5.686, 7.563, 9.89, 12.72");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1791, 0.1989, 0.2651, 0.3817, 0.5516, 0.7793, 1.072, 1.435, 1.875, 2.397",\
                 "0.1894, 0.2092, 0.2751, 0.3916, 0.5614, 0.7891, 1.081, 1.444, 1.885, 2.407",\
                 "0.2213, 0.2401, 0.3033, 0.4182, 0.5875, 0.8152, 1.107, 1.47, 1.911, 2.433",\
                 "0.2627, 0.2841, 0.3533, 0.4722, 0.6401, 0.8664, 1.158, 1.521, 1.961, 2.484",\
                 "0.2888, 0.314, 0.3946, 0.5294, 0.7145, 0.9502, 1.242, 1.604, 2.043, 2.565",\
                 "0.2872, 0.3171, 0.4124, 0.5697, 0.7795, 1.039, 1.353, 1.723, 2.161, 2.682",\
                 "0.2509, 0.2852, 0.3969, 0.5807, 0.8231, 1.114, 1.457, 1.857, 2.316, 2.842",\
                 "0.1773, 0.216, 0.3434, 0.5552, 0.8336, 1.166, 1.546, 1.979, 2.47, 3.026",\
                 "0.0659, 0.1093, 0.251, 0.4892, 0.806, 1.182, 1.608, 2.083, 2.611, 3.202",\
                 "-0.0853, -0.0376, 0.1195, 0.3827, 0.7356, 1.157, 1.633, 2.158, 2.732, 3.363");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5744, 0.6145, 0.7547, 1.021, 1.432, 2.009, 2.768, 3.724, 4.891, 6.28",\
                 "0.587, 0.6275, 0.7686, 1.035, 1.447, 2.024, 2.784, 3.739, 4.905, 6.297",\
                 "0.6343, 0.6747, 0.817, 1.084, 1.498, 2.077, 2.836, 3.792, 4.959, 6.349",\
                 "0.709, 0.75, 0.8917, 1.159, 1.572, 2.151, 2.912, 3.869, 5.036, 6.427",\
                 "0.8053, 0.8487, 0.9961, 1.264, 1.675, 2.251, 3.01, 3.965, 5.132, 6.522",\
                 "0.9397, 0.9836, 1.135, 1.413, 1.828, 2.397, 3.149, 4.099, 5.262, 6.649",\
                 "1.129, 1.176, 1.332, 1.613, 2.038, 2.613, 3.355, 4.294, 5.449, 6.827",\
                 "1.367, 1.419, 1.589, 1.882, 2.309, 2.894, 3.643, 4.569, 5.708, 7.076",\
                 "1.651, 1.708, 1.895, 2.21, 2.652, 3.239, 3.998, 4.934, 6.059, 7.409",\
                 "1.977, 2.041, 2.246, 2.588, 3.058, 3.659, 4.421, 5.368, 6.504, 7.838");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3129, 0.3415, 0.4382, 0.6151, 0.8824, 1.252, 1.737, 2.348, 3.091, 3.977",\
                 "0.3106, 0.3395, 0.4369, 0.6144, 0.882, 1.252, 1.738, 2.346, 3.091, 3.979",\
                 "0.3119, 0.3379, 0.4313, 0.6105, 0.8804, 1.252, 1.737, 2.347, 3.09, 3.979",\
                 "0.382, 0.4048, 0.4839, 0.6352, 0.8843, 1.25, 1.737, 2.347, 3.09, 3.979",\
                 "0.4963, 0.5182, 0.5946, 0.7412, 0.969, 1.294, 1.749, 2.348, 3.09, 3.979",\
                 "0.6492, 0.6724, 0.7508, 0.8946, 1.118, 1.436, 1.853, 2.403, 3.11, 3.981",\
                 "0.8302, 0.8562, 0.943, 1.097, 1.322, 1.631, 2.045, 2.573, 3.224, 4.043",\
                 "1.038, 1.068, 1.167, 1.335, 1.575, 1.885, 2.292, 2.811, 3.456, 4.224",\
                 "1.271, 1.307, 1.422, 1.607, 1.862, 2.192, 2.599, 3.111, 3.75, 4.515",\
                 "1.533, 1.573, 1.705, 1.91, 2.189, 2.538, 2.962, 3.478, 4.103, 4.861");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.5909, 0.6613, 0.9057, 1.372, 2.096, 3.111, 4.442, 6.12, 8.167, 10.6",\
                 "0.5917, 0.6606, 0.9061, 1.373, 2.097, 3.111, 4.442, 6.118, 8.163, 10.6",\
                 "0.5925, 0.6623, 0.9068, 1.373, 2.098, 3.113, 4.442, 6.118, 8.163, 10.6",\
                 "0.6019, 0.6692, 0.9088, 1.374, 2.097, 3.11, 4.442, 6.118, 8.162, 10.6",\
                 "0.6648, 0.7302, 0.9538, 1.39, 2.099, 3.111, 4.443, 6.119, 8.163, 10.6",\
                 "0.7414, 0.8078, 1.042, 1.476, 2.144, 3.119, 4.443, 6.12, 8.163, 10.6",\
                 "0.871, 0.9338, 1.155, 1.587, 2.259, 3.194, 4.465, 6.12, 8.166, 10.6",\
                 "1.053, 1.116, 1.33, 1.738, 2.398, 3.336, 4.566, 6.161, 8.169, 10.6",\
                 "1.26, 1.328, 1.551, 1.952, 2.581, 3.508, 4.735, 6.286, 8.234, 10.61",\
                 "1.489, 1.562, 1.8, 2.214, 2.825, 3.717, 4.939, 6.484, 8.382, 10.7");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1724, 0.1917, 0.2567, 0.3715, 0.5397, 0.766, 1.057, 1.419, 1.859, 2.38",\
                 "0.1826, 0.2018, 0.2664, 0.3811, 0.5492, 0.7755, 1.066, 1.429, 1.868, 2.39",\
                 "0.2135, 0.2322, 0.2942, 0.4074, 0.575, 0.8012, 1.092, 1.454, 1.894, 2.415",\
                 "0.2506, 0.2722, 0.3416, 0.4602, 0.6273, 0.8523, 1.143, 1.505, 1.944, 2.466",\
                 "0.2696, 0.2953, 0.3776, 0.5135, 0.6992, 0.935, 1.226, 1.587, 2.026, 2.547",\
                 "0.258, 0.2889, 0.3872, 0.548, 0.7596, 1.021, 1.335, 1.705, 2.143, 2.664",\
                 "0.2083, 0.2443, 0.3602, 0.5493, 0.7964, 1.091, 1.436, 1.836, 2.296, 2.821",\
                 "0.1184, 0.1592, 0.2919, 0.5113, 0.7969, 1.135, 1.519, 1.954, 2.447, 3.004",\
                 "-0.013, 0.0327, 0.1819, 0.4298, 0.756, 1.14, 1.572, 2.051, 2.583, 3.175",\
                 "-0.1886, -0.1375, 0.0283, 0.3039, 0.6689, 1.102, 1.586, 2.119, 2.697, 3.331");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.6541, 0.7018, 0.869, 1.187, 1.681, 2.372, 3.283, 4.429, 5.827, 7.494",\
                 "0.665, 0.7139, 0.8821, 1.201, 1.695, 2.387, 3.298, 4.444, 5.842, 7.509",\
                 "0.7066, 0.7554, 0.9249, 1.245, 1.74, 2.434, 3.345, 4.492, 5.89, 7.559",\
                 "0.7682, 0.8168, 0.9857, 1.306, 1.801, 2.496, 3.407, 4.555, 5.956, 7.622",\
                 "0.8519, 0.902, 1.074, 1.391, 1.883, 2.575, 3.484, 4.63, 6.029, 7.697",\
                 "0.9827, 1.032, 1.206, 1.529, 2.016, 2.698, 3.599, 4.738, 6.132, 7.795",\
                 "1.18, 1.232, 1.406, 1.727, 2.219, 2.893, 3.779, 4.904, 6.287, 7.942",\
                 "1.435, 1.491, 1.676, 2.002, 2.49, 3.167, 4.044, 5.15, 6.515, 8.155",\
                 "1.738, 1.8, 2.002, 2.347, 2.84, 3.512, 4.393, 5.49, 6.83, 8.449",\
                 "2.086, 2.155, 2.376, 2.749, 3.264, 3.94, 4.816, 5.916, 7.246, 8.84");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2968, 0.3251, 0.4208, 0.5965, 0.8624, 1.233, 1.716, 2.326, 3.07, 3.956",\
                 "0.2942, 0.3229, 0.4194, 0.5957, 0.8625, 1.232, 1.716, 2.327, 3.071, 3.956",\
                 "0.2983, 0.3239, 0.4153, 0.592, 0.8615, 1.232, 1.717, 2.326, 3.069, 3.957",\
                 "0.3714, 0.394, 0.4715, 0.621, 0.8677, 1.231, 1.717, 2.325, 3.069, 3.957",\
                 "0.49, 0.5114, 0.5862, 0.7294, 0.956, 1.278, 1.731, 2.328, 3.069, 3.958",\
                 "0.6456, 0.6686, 0.7468, 0.889, 1.109, 1.422, 1.838, 2.386, 3.088, 3.96",\
                 "0.834, 0.8592, 0.9454, 1.097, 1.318, 1.622, 2.033, 2.558, 3.208, 4.024",\
                 "1.052, 1.083, 1.177, 1.345, 1.575, 1.885, 2.285, 2.801, 3.442, 4.209",\
                 "1.303, 1.335, 1.443, 1.626, 1.876, 2.198, 2.6, 3.107, 3.737, 4.503",\
                 "1.581, 1.62, 1.744, 1.947, 2.222, 2.559, 2.975, 3.48, 4.102, 4.857");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7089, 0.7933, 1.088, 1.646, 2.512, 3.724, 5.317, 7.323, 9.769, 12.68",\
                 "0.7089, 0.7946, 1.089, 1.646, 2.512, 3.724, 5.316, 7.323, 9.768, 12.68",\
                 "0.7101, 0.7937, 1.087, 1.647, 2.512, 3.724, 5.316, 7.321, 9.765, 12.68",\
                 "0.716, 0.7984, 1.09, 1.647, 2.513, 3.725, 5.316, 7.322, 9.768, 12.68",\
                 "0.769, 0.847, 1.12, 1.655, 2.513, 3.724, 5.317, 7.321, 9.766, 12.68",\
                 "0.8384, 0.9186, 1.199, 1.72, 2.54, 3.727, 5.317, 7.32, 9.767, 12.68",\
                 "0.9642, 1.036, 1.298, 1.818, 2.627, 3.773, 5.324, 7.322, 9.769, 12.68",\
                 "1.149, 1.219, 1.464, 1.95, 2.75, 3.88, 5.387, 7.337, 9.769, 12.69",\
                 "1.365, 1.439, 1.688, 2.148, 2.905, 4.025, 5.514, 7.415, 9.795, 12.68",\
                 "1.607, 1.685, 1.95, 2.413, 3.128, 4.208, 5.686, 7.562, 9.89, 12.72");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.1824, 0.2016, 0.2669, 0.3823, 0.5506, 0.7769, 1.068, 1.43, 1.869, 2.391",\
                 "0.1922, 0.2117, 0.2768, 0.3918, 0.5602, 0.7863, 1.077, 1.439, 1.878, 2.4",\
                 "0.2232, 0.2415, 0.304, 0.4179, 0.5859, 0.812, 1.103, 1.465, 1.904, 2.426",\
                 "0.2643, 0.2852, 0.3534, 0.4714, 0.6381, 0.8631, 1.154, 1.516, 1.955, 2.476",\
                 "0.2903, 0.3145, 0.3935, 0.5271, 0.7112, 0.946, 1.236, 1.597, 2.036, 2.557",\
                 "0.2855, 0.3144, 0.4081, 0.5645, 0.7736, 1.033, 1.346, 1.716, 2.154, 2.674",\
                 "0.2419, 0.2759, 0.3862, 0.5697, 0.8127, 1.105, 1.448, 1.847, 2.307, 2.832",\
                 "0.1581, 0.1968, 0.3234, 0.536, 0.8163, 1.151, 1.533, 1.966, 2.459, 3.015",\
                 "0.0342, 0.0774, 0.2191, 0.459, 0.7788, 1.158, 1.588, 2.065, 2.595, 3.187",\
                 "-0.1328, -0.0852, 0.0721, 0.3383, 0.6957, 1.123, 1.604, 2.134, 2.711, 3.343");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7419, 0.79, 0.9573, 1.275, 1.769, 2.462, 3.372, 4.518, 5.917, 7.583",\
                 "0.7538, 0.8025, 0.97, 1.289, 1.783, 2.476, 3.386, 4.533, 5.932, 7.599",\
                 "0.7965, 0.8448, 1.013, 1.333, 1.829, 2.523, 3.434, 4.581, 5.98, 7.647",\
                 "0.8574, 0.9059, 1.074, 1.394, 1.89, 2.584, 3.496, 4.644, 6.045, 7.711",\
                 "0.9437, 0.9934, 1.162, 1.479, 1.971, 2.664, 3.572, 4.719, 6.118, 7.787",\
                 "1.074, 1.124, 1.296, 1.617, 2.103, 2.785, 3.688, 4.826, 6.221, 7.885",\
                 "1.273, 1.323, 1.494, 1.815, 2.305, 2.979, 3.866, 4.993, 6.375, 8.03",\
                 "1.535, 1.588, 1.768, 2.088, 2.575, 3.252, 4.129, 5.236, 6.603, 8.241",\
                 "1.849, 1.907, 2.1, 2.436, 2.925, 3.598, 4.477, 5.574, 6.916, 8.537",\
                 "2.208, 2.272, 2.482, 2.843, 3.351, 4.024, 4.901, 6.001, 7.331, 8.924");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3521, 0.3791, 0.4716, 0.6441, 0.9081, 1.276, 1.76, 2.369, 3.113, 4.001",\
                 "0.3495, 0.3767, 0.4701, 0.6431, 0.9084, 1.277, 1.761, 2.369, 3.113, 4.001",\
                 "0.3524, 0.3767, 0.4657, 0.6395, 0.9069, 1.276, 1.76, 2.37, 3.113, 4.001",\
                 "0.429, 0.4496, 0.5224, 0.6676, 0.9125, 1.275, 1.76, 2.37, 3.113, 4.001",\
                 "0.5573, 0.5759, 0.6438, 0.7806, 1.002, 1.322, 1.773, 2.37, 3.113, 4",\
                 "0.7268, 0.746, 0.814, 0.946, 1.159, 1.468, 1.882, 2.429, 3.133, 4.003",\
                 "0.932, 0.9524, 1.025, 1.163, 1.375, 1.673, 2.079, 2.602, 3.251, 4.066",\
                 "1.169, 1.195, 1.272, 1.423, 1.64, 1.939, 2.335, 2.848, 3.487, 4.251",\
                 "1.438, 1.465, 1.555, 1.716, 1.95, 2.261, 2.657, 3.158, 3.787, 4.547",\
                 "1.741, 1.773, 1.873, 2.05, 2.307, 2.63, 3.036, 3.534, 4.151, 4.905");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.8224, 0.9071, 1.204, 1.763, 2.629, 3.844, 5.436, 7.442, 9.889, 12.8",\
                 "0.8215, 0.9076, 1.204, 1.762, 2.629, 3.843, 5.436, 7.443, 9.889, 12.8",\
                 "0.8232, 0.9069, 1.203, 1.762, 2.629, 3.843, 5.435, 7.441, 9.886, 12.8",\
                 "0.8256, 0.9102, 1.203, 1.763, 2.63, 3.842, 5.436, 7.443, 9.888, 12.8",\
                 "0.8698, 0.9486, 1.226, 1.769, 2.63, 3.844, 5.435, 7.441, 9.887, 12.81",\
                 "0.9392, 1.022, 1.304, 1.825, 2.651, 3.844, 5.437, 7.442, 9.888, 12.8",\
                 "1.051, 1.126, 1.397, 1.923, 2.733, 3.885, 5.441, 7.442, 9.889, 12.8",\
                 "1.226, 1.299, 1.55, 2.046, 2.854, 3.988, 5.501, 7.454, 9.889, 12.81",\
                 "1.443, 1.517, 1.767, 2.236, 3.004, 4.132, 5.623, 7.53, 9.911, 12.81",\
                 "1.687, 1.766, 2.027, 2.489, 3.22, 4.309, 5.794, 7.672, 10, 12.84");
        }
      }

      timing() {
        related_pin : "C2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.2221, 0.2408, 0.3028, 0.4135, 0.5784, 0.8021, 1.092, 1.453, 1.892, 2.414",\
                 "0.2319, 0.2506, 0.3127, 0.4238, 0.588, 0.8121, 1.102, 1.463, 1.902, 2.423",\
                 "0.2603, 0.2783, 0.3394, 0.4498, 0.6144, 0.8385, 1.128, 1.489, 1.928, 2.45",\
                 "0.3048, 0.3245, 0.3899, 0.5034, 0.6669, 0.8901, 1.179, 1.541, 1.979, 2.501",\
                 "0.3379, 0.361, 0.4361, 0.564, 0.7433, 0.9747, 1.264, 1.624, 2.062, 2.583",\
                 "0.3458, 0.3736, 0.4624, 0.6113, 0.8126, 1.067, 1.377, 1.745, 2.181, 2.701",\
                 "0.3223, 0.3546, 0.4589, 0.6324, 0.8646, 1.149, 1.486, 1.882, 2.338, 2.862",\
                 "0.2639, 0.3013, 0.4216, 0.6209, 0.8872, 1.209, 1.582, 2.008, 2.497, 3.049",\
                 "0.1713, 0.2128, 0.3479, 0.5739, 0.875, 1.238, 1.654, 2.121, 2.644, 3.23",\
                 "0.0427, 0.0885, 0.2365, 0.487, 0.8247, 1.23, 1.692, 2.207, 2.773, 3.398");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.7419, 0.79, 0.9573, 1.275, 1.769, 2.462, 3.372, 4.518, 5.917, 7.583",\
                 "0.7538, 0.8025, 0.97, 1.289, 1.783, 2.476, 3.386, 4.533, 5.932, 7.599",\
                 "0.7965, 0.8448, 1.013, 1.333, 1.829, 2.523, 3.434, 4.581, 5.98, 7.647",\
                 "0.8574, 0.9059, 1.074, 1.394, 1.89, 2.584, 3.496, 4.644, 6.045, 7.711",\
                 "0.9437, 0.9934, 1.162, 1.479, 1.971, 2.664, 3.572, 4.719, 6.118, 7.787",\
                 "1.074, 1.124, 1.296, 1.617, 2.103, 2.785, 3.688, 4.826, 6.221, 7.885",\
                 "1.273, 1.323, 1.494, 1.815, 2.305, 2.979, 3.866, 4.993, 6.375, 8.03",\
                 "1.535, 1.588, 1.768, 2.088, 2.575, 3.252, 4.129, 5.236, 6.603, 8.241",\
                 "1.849, 1.907, 2.1, 2.436, 2.925, 3.598, 4.477, 5.574, 6.916, 8.537",\
                 "2.208, 2.272, 2.482, 2.843, 3.351, 4.024, 4.901, 6.001, 7.331, 8.924");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.3521, 0.3791, 0.4716, 0.6441, 0.9081, 1.276, 1.76, 2.369, 3.113, 4.001",\
                 "0.3495, 0.3767, 0.4701, 0.6431, 0.9084, 1.277, 1.761, 2.369, 3.113, 4.001",\
                 "0.3524, 0.3767, 0.4657, 0.6395, 0.9069, 1.276, 1.76, 2.37, 3.113, 4.001",\
                 "0.429, 0.4496, 0.5224, 0.6676, 0.9125, 1.275, 1.76, 2.37, 3.113, 4.001",\
                 "0.5573, 0.5759, 0.6438, 0.7806, 1.002, 1.322, 1.773, 2.37, 3.113, 4",\
                 "0.7268, 0.746, 0.814, 0.946, 1.159, 1.468, 1.882, 2.429, 3.133, 4.003",\
                 "0.932, 0.9524, 1.025, 1.163, 1.375, 1.673, 2.079, 2.602, 3.251, 4.066",\
                 "1.169, 1.195, 1.272, 1.423, 1.64, 1.939, 2.335, 2.848, 3.487, 4.251",\
                 "1.438, 1.465, 1.555, 1.716, 1.95, 2.261, 2.657, 3.158, 3.787, 4.547",\
                 "1.741, 1.773, 1.873, 2.05, 2.307, 2.63, 3.036, 3.534, 4.151, 4.905");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006001, 0.02356, 0.05708, 0.1093, 0.1826, 0.279, 0.4005, 0.5488, 0.7256");
          values("0.8224, 0.9071, 1.204, 1.763, 2.629, 3.844, 5.436, 7.442, 9.889, 12.8",\
                 "0.8215, 0.9076, 1.204, 1.762, 2.629, 3.843, 5.436, 7.443, 9.889, 12.8",\
                 "0.8232, 0.9069, 1.203, 1.762, 2.629, 3.843, 5.435, 7.441, 9.886, 12.8",\
                 "0.8256, 0.9102, 1.203, 1.763, 2.63, 3.842, 5.436, 7.443, 9.888, 12.8",\
                 "0.8698, 0.9486, 1.226, 1.769, 2.63, 3.844, 5.435, 7.441, 9.887, 12.81",\
                 "0.9392, 1.022, 1.304, 1.825, 2.651, 3.844, 5.437, 7.442, 9.888, 12.8",\
                 "1.051, 1.126, 1.397, 1.923, 2.733, 3.885, 5.441, 7.442, 9.889, 12.8",\
                 "1.226, 1.299, 1.55, 2.046, 2.854, 3.988, 5.501, 7.454, 9.889, 12.81",\
                 "1.443, 1.517, 1.767, 2.236, 3.004, 4.132, 5.623, 7.53, 9.911, 12.81",\
                 "1.687, 1.766, 2.027, 2.489, 3.22, 4.309, 5.794, 7.672, 10, 12.84");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__buf_1) {
    area : 13.171200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "4.52859e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "4.422e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "4.52859e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002834 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.3597 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.09089, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.07189, 0.07142, 0.07091, 0.07077, 0.07067, 0.07072, 0.07068, 0.07065, 0.07064, 0.07063",\
                 "0.07139, 0.0709, 0.0704, 0.07032, 0.07019, 0.07021, 0.07022, 0.07017, 0.07014, 0.07016",\
                 "0.07239, 0.07182, 0.07135, 0.07118, 0.07109, 0.07108, 0.0711, 0.07109, 0.07107, 0.07106",\
                 "0.07919, 0.07822, 0.07694, 0.07627, 0.07601, 0.07591, 0.07586, 0.07579, 0.07577, 0.07575",\
                 "0.09154, 0.0899, 0.08764, 0.08628, 0.08562, 0.08527, 0.08507, 0.08496, 0.08488, 0.08482",\
                 "0.1099, 0.1076, 0.104, 0.1018, 0.1005, 0.09982, 0.09947, 0.09915, 0.09901, 0.09892",\
                 "0.1346, 0.1316, 0.1268, 0.1233, 0.1214, 0.1202, 0.1194, 0.119, 0.1186, 0.1184",\
                 "0.1662, 0.1626, 0.1562, 0.1515, 0.1485, 0.1467, 0.1456, 0.1448, 0.1444, 0.144",\
                 "0.2047, 0.2006, 0.1927, 0.1866, 0.1825, 0.1799, 0.1782, 0.1771, 0.1764, 0.1759",\
                 "0.2505, 0.2459, 0.2365, 0.2289, 0.2236, 0.22, 0.2177, 0.2162, 0.2152, 0.2144");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.09089, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.04296, 0.04297, 0.04344, 0.04411, 0.04443, 0.04468, 0.04468, 0.04458, 0.04455, 0.04729",\
                 "0.04269, 0.04271, 0.04314, 0.04375, 0.04424, 0.04445, 0.04415, 0.04429, 0.04429, 0.04696",\
                 "0.04398, 0.04373, 0.04372, 0.04417, 0.04447, 0.04481, 0.04491, 0.04468, 0.04496, 0.04776",\
                 "0.04942, 0.04878, 0.04776, 0.04764, 0.0477, 0.04798, 0.04778, 0.04762, 0.04751, 0.05111",\
                 "0.05928, 0.05824, 0.05658, 0.05549, 0.0548, 0.05501, 0.05494, 0.05504, 0.05493, 0.05899",\
                 "0.07431, 0.07297, 0.07041, 0.06873, 0.0674, 0.06659, 0.06639, 0.06633, 0.06641, 0.07065",\
                 "0.09498, 0.09319, 0.08969, 0.08691, 0.08558, 0.08428, 0.08283, 0.08247, 0.08184, 0.08843",\
                 "0.1215, 0.1191, 0.1148, 0.1111, 0.1085, 0.107, 0.1056, 0.104, 0.1038, 0.1116",\
                 "0.154, 0.1511, 0.1459, 0.1412, 0.1377, 0.1359, 0.1339, 0.1324, 0.1307, 0.1401",\
                 "0.1929, 0.1894, 0.1832, 0.1774, 0.1733, 0.1705, 0.1686, 0.1666, 0.1658, 0.1794");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.09089, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.2702, 0.3022, 0.3907, 0.5274, 0.7227, 0.9916, 1.345, 1.79, 2.333, 2.98",\
                 "0.2861, 0.3181, 0.4067, 0.5433, 0.7386, 1.008, 1.361, 1.806, 2.349, 2.997",\
                 "0.3549, 0.3868, 0.475, 0.6118, 0.8072, 1.076, 1.429, 1.874, 2.417, 3.065",\
                 "0.484, 0.5171, 0.6071, 0.7447, 0.94, 1.209, 1.562, 2.007, 2.55, 3.197",\
                 "0.6478, 0.6834, 0.7787, 0.9213, 1.118, 1.387, 1.74, 2.184, 2.727, 3.375",\
                 "0.8479, 0.887, 0.9887, 1.136, 1.336, 1.605, 1.958, 2.402, 2.945, 3.591",\
                 "1.084, 1.126, 1.237, 1.393, 1.597, 1.868, 2.22, 2.665, 3.207, 3.853",\
                 "1.356, 1.403, 1.522, 1.688, 1.902, 2.178, 2.532, 2.976, 3.518, 4.164",\
                 "1.668, 1.718, 1.847, 2.025, 2.248, 2.532, 2.893, 3.34, 3.881, 4.528",\
                 "2.019, 2.074, 2.213, 2.402, 2.636, 2.93, 3.301, 3.756, 4.301, 4.948");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.09089, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.2104, 0.2471, 0.3671, 0.5921, 0.9408, 1.429, 2.071, 2.881, 3.867, 5.045",\
                 "0.2236, 0.2603, 0.3804, 0.6051, 0.9542, 1.443, 2.085, 2.894, 3.881, 5.059",\
                 "0.2705, 0.3068, 0.4258, 0.6503, 0.9991, 1.488, 2.13, 2.939, 3.925, 5.104",\
                 "0.3151, 0.3528, 0.472, 0.6952, 1.043, 1.531, 2.174, 2.983, 3.971, 5.146",\
                 "0.3363, 0.3758, 0.4962, 0.7176, 1.065, 1.552, 2.194, 3.003, 3.99, 5.167",\
                 "0.3292, 0.3713, 0.4955, 0.7168, 1.062, 1.549, 2.19, 2.999, 3.987, 5.163",\
                 "0.2897, 0.3346, 0.4645, 0.688, 1.034, 1.52, 2.16, 2.968, 3.954, 5.131",\
                 "0.2158, 0.2631, 0.399, 0.6262, 0.9755, 1.463, 2.103, 2.91, 3.895, 5.071",\
                 "0.1041, 0.1547, 0.2966, 0.5284, 0.8812, 1.374, 2.017, 2.823, 3.808, 4.983",\
                 "-0.0486, 0.0051, 0.154, 0.3909, 0.748, 1.246, 1.895, 2.705, 3.69, 4.864");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.09089, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1082, 0.1416, 0.2428, 0.4289, 0.7347, 1.179, 1.771, 2.519, 3.432, 4.52",\
                 "0.1083, 0.1417, 0.2427, 0.4287, 0.7347, 1.18, 1.771, 2.519, 3.431, 4.52",\
                 "0.1087, 0.1424, 0.2435, 0.4293, 0.7347, 1.18, 1.771, 2.519, 3.431, 4.52",\
                 "0.1206, 0.153, 0.2505, 0.4322, 0.735, 1.179, 1.771, 2.519, 3.431, 4.52",\
                 "0.14, 0.1722, 0.27, 0.4468, 0.7414, 1.181, 1.772, 2.519, 3.432, 4.52",\
                 "0.1638, 0.197, 0.2926, 0.464, 0.751, 1.186, 1.773, 2.519, 3.431, 4.518",\
                 "0.1908, 0.2266, 0.3242, 0.4924, 0.769, 1.194, 1.776, 2.52, 3.43, 4.517",\
                 "0.2192, 0.2584, 0.361, 0.5294, 0.8018, 1.214, 1.786, 2.525, 3.431, 4.517",\
                 "0.2496, 0.2922, 0.4002, 0.5702, 0.8418, 1.253, 1.815, 2.538, 3.438, 4.517",\
                 "0.2816, 0.328, 0.4436, 0.6162, 0.8864, 1.299, 1.863, 2.578, 3.459, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.09089, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1146, 0.1687, 0.3672, 0.761, 1.374, 2.235, 3.367, 4.794, 6.536, 8.612",\
                 "0.1149, 0.1689, 0.3675, 0.7602, 1.374, 2.235, 3.367, 4.794, 6.537, 8.612",\
                 "0.1166, 0.1698, 0.3679, 0.7611, 1.375, 2.235, 3.367, 4.794, 6.537, 8.612",\
                 "0.1275, 0.1797, 0.371, 0.7608, 1.374, 2.234, 3.366, 4.793, 6.535, 8.613",\
                 "0.141, 0.1924, 0.377, 0.7624, 1.374, 2.234, 3.367, 4.792, 6.537, 8.613",\
                 "0.1562, 0.2086, 0.3894, 0.7668, 1.376, 2.233, 3.365, 4.792, 6.534, 8.612",\
                 "0.1744, 0.2284, 0.4068, 0.7788, 1.382, 2.235, 3.364, 4.79, 6.532, 8.612",\
                 "0.1956, 0.249, 0.427, 0.7946, 1.398, 2.247, 3.37, 4.79, 6.53, 8.603",\
                 "0.2176, 0.271, 0.4504, 0.813, 1.42, 2.269, 3.384, 4.795, 6.528, 8.603",\
                 "0.2426, 0.2966, 0.4764, 0.8352, 1.444, 2.302, 3.412, 4.815, 6.536, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__buf_2) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "5.59251e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "5.59251e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.004859 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7212 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1087, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.1272, 0.126, 0.1255, 0.1258, 0.1257, 0.1258, 0.1259, 0.1259, 0.1259, 0.1259",\
                 "0.1259, 0.1248, 0.1244, 0.1246, 0.1246, 0.1246, 0.1247, 0.1247, 0.1248, 0.1248",\
                 "0.1282, 0.1266, 0.1258, 0.1259, 0.126, 0.1261, 0.1263, 0.1263, 0.1263, 0.1264",\
                 "0.142, 0.1391, 0.1364, 0.1353, 0.1351, 0.135, 0.135, 0.135, 0.135, 0.135",\
                 "0.1657, 0.1611, 0.156, 0.1539, 0.1528, 0.1521, 0.152, 0.152, 0.152, 0.1519",\
                 "0.2003, 0.1945, 0.1867, 0.1824, 0.1803, 0.1794, 0.1787, 0.1783, 0.1782, 0.1781",\
                 "0.2471, 0.2396, 0.2288, 0.2223, 0.219, 0.2169, 0.2158, 0.215, 0.2147, 0.2145",\
                 "0.3062, 0.2975, 0.2834, 0.2744, 0.2688, 0.266, 0.2641, 0.263, 0.2624, 0.2618",\
                 "0.3779, 0.3682, 0.3509, 0.339, 0.3316, 0.3272, 0.3244, 0.3227, 0.3215, 0.3208",\
                 "0.4629, 0.4525, 0.432, 0.417, 0.4073, 0.4013, 0.3974, 0.3949, 0.3932, 0.3922");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1087, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.07099, 0.07108, 0.07275, 0.07454, 0.07548, 0.07732, 0.07867, 0.07913, 0.08102, 0.09111",\
                 "0.0704, 0.07048, 0.07203, 0.07381, 0.07522, 0.07672, 0.07824, 0.07979, 0.08135, 0.08862",\
                 "0.07333, 0.07285, 0.07307, 0.07424, 0.07545, 0.07732, 0.0789, 0.08045, 0.08171, 0.09254",\
                 "0.08389, 0.08229, 0.08098, 0.08098, 0.08178, 0.08349, 0.08481, 0.08639, 0.08831, 0.09481",\
                 "0.1036, 0.1008, 0.09745, 0.09658, 0.09687, 0.09768, 0.09893, 0.1002, 0.1022, 0.1117",\
                 "0.1335, 0.1297, 0.1244, 0.1208, 0.121, 0.1215, 0.1222, 0.1227, 0.1246, 0.136",\
                 "0.1739, 0.1688, 0.1615, 0.1564, 0.1545, 0.1554, 0.1555, 0.1557, 0.1577, 0.1689",\
                 "0.2255, 0.219, 0.2099, 0.2024, 0.1982, 0.197, 0.1993, 0.2005, 0.2013, 0.2144",\
                 "0.2889, 0.2809, 0.2698, 0.261, 0.2535, 0.2509, 0.2503, 0.2533, 0.2559, 0.277",\
                 "0.3642, 0.3547, 0.3416, 0.3308, 0.3226, 0.3166, 0.315, 0.3153, 0.3224, 0.3552");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1087, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.2193, 0.2531, 0.341, 0.4751, 0.6698, 0.9396, 1.294, 1.741, 2.286, 2.937",\
                 "0.2349, 0.2686, 0.3565, 0.4907, 0.6854, 0.9552, 1.31, 1.756, 2.302, 2.952",\
                 "0.3021, 0.3357, 0.4232, 0.5575, 0.7522, 1.022, 1.377, 1.824, 2.368, 3.02",\
                 "0.4172, 0.453, 0.5442, 0.68, 0.8748, 1.145, 1.499, 1.946, 2.49, 3.142",\
                 "0.5578, 0.597, 0.6936, 0.8336, 1.03, 1.3, 1.654, 2.101, 2.646, 3.296",\
                 "0.7273, 0.7707, 0.8744, 1.019, 1.217, 1.487, 1.842, 2.287, 2.833, 3.483",\
                 "0.9255, 0.9727, 1.085, 1.238, 1.441, 1.711, 2.066, 2.512, 3.057, 3.706",\
                 "1.153, 1.204, 1.326, 1.49, 1.699, 1.975, 2.329, 2.775, 3.32, 3.969",\
                 "1.41, 1.465, 1.598, 1.772, 1.991, 2.273, 2.634, 3.081, 3.625, 4.275",\
                 "1.699, 1.759, 1.901, 2.087, 2.316, 2.607, 2.976, 3.431, 3.978, 4.627");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1087, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.1764, 0.2146, 0.3355, 0.5613, 0.9112, 1.402, 2.048, 2.861, 3.851, 5.035",\
                 "0.1904, 0.2286, 0.3495, 0.5756, 0.9259, 1.415, 2.063, 2.876, 3.863, 5.051",\
                 "0.2392, 0.2771, 0.3966, 0.6219, 0.9723, 1.463, 2.109, 2.923, 3.912, 5.097",\
                 "0.2854, 0.3252, 0.4449, 0.6693, 1.019, 1.51, 2.154, 2.969, 3.959, 5.138",\
                 "0.313, 0.3553, 0.4769, 0.6991, 1.048, 1.538, 2.183, 2.996, 3.987, 5.172",\
                 "0.3178, 0.3631, 0.4893, 0.711, 1.058, 1.547, 2.191, 3.004, 3.996, 5.176",\
                 "0.2967, 0.3449, 0.4766, 0.7006, 1.049, 1.536, 2.179, 2.99, 3.981, 5.163",\
                 "0.2468, 0.2985, 0.4368, 0.6636, 1.015, 1.504, 2.146, 2.957, 3.946, 5.126",\
                 "0.1667, 0.222, 0.3671, 0.5981, 0.9513, 1.446, 2.09, 2.9, 3.89, 5.069",\
                 "0.0533, 0.1132, 0.2655, 0.5014, 0.8586, 1.356, 2.007, 2.82, 3.809, 4.989");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1087, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.07778, 0.1132, 0.2144, 0.4037, 0.7157, 1.165, 1.76, 2.513, 3.432, 4.526",\
                 "0.07786, 0.1132, 0.2147, 0.4036, 0.7163, 1.164, 1.761, 2.513, 3.429, 4.526",\
                 "0.07912, 0.1138, 0.215, 0.4039, 0.7156, 1.164, 1.759, 2.512, 3.43, 4.528",\
                 "0.09354, 0.1274, 0.2251, 0.4081, 0.7158, 1.166, 1.759, 2.51, 3.431, 4.528",\
                 "0.111, 0.1452, 0.2422, 0.4206, 0.7214, 1.167, 1.761, 2.511, 3.429, 4.527",\
                 "0.1318, 0.1684, 0.2642, 0.435, 0.7298, 1.17, 1.761, 2.51, 3.43, 4.517",\
                 "0.1544, 0.1944, 0.2924, 0.4598, 0.743, 1.176, 1.765, 2.51, 3.427, 4.517",\
                 "0.1802, 0.224, 0.3268, 0.4936, 0.7698, 1.191, 1.772, 2.514, 3.427, 4.515",\
                 "0.2062, 0.2542, 0.3632, 0.5302, 0.8054, 1.225, 1.794, 2.525, 3.43, 4.517",\
                 "0.233, 0.2858, 0.4022, 0.5722, 0.8432, 1.265, 1.837, 2.556, 3.446, 4.521");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1087, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.0803, 0.134, 0.3337, 0.7284, 1.345, 2.207, 3.346, 4.777, 6.533, 8.612",\
                 "0.0799, 0.134, 0.3337, 0.7278, 1.344, 2.209, 3.347, 4.78, 6.524, 8.618",\
                 "0.08266, 0.1359, 0.3338, 0.7279, 1.344, 2.212, 3.346, 4.779, 6.533, 8.613",\
                 "0.09316, 0.1455, 0.3373, 0.7305, 1.344, 2.208, 3.344, 4.779, 6.524, 8.624",\
                 "0.1056, 0.1582, 0.342, 0.7306, 1.344, 2.207, 3.343, 4.777, 6.524, 8.613",\
                 "0.1216, 0.174, 0.3528, 0.735, 1.347, 2.207, 3.342, 4.772, 6.523, 8.621",\
                 "0.1384, 0.1926, 0.3684, 0.7454, 1.352, 2.209, 3.342, 4.781, 6.521, 8.604",\
                 "0.158, 0.2116, 0.3876, 0.7584, 1.366, 2.217, 3.347, 4.773, 6.528, 8.604",\
                 "0.1788, 0.2332, 0.4092, 0.7748, 1.387, 2.237, 3.36, 4.78, 6.519, 8.614",\
                 "0.2002, 0.2554, 0.4342, 0.7922, 1.406, 2.266, 3.383, 4.791, 6.522, 8.601");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__buf_3) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "6.74586e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "6.65478e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.74586e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.004869 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.082 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008458, 0.03464, 0.08463, 0.1625, 0.2718, 0.4156, 0.5968, 0.8179, 1.082");
          values("0.1806, 0.1766, 0.1735, 0.1723, 0.1719, 0.1715, 0.1713, 0.1712, 0.1713, 0.1713",\
                 "0.1796, 0.1755, 0.1723, 0.1713, 0.1706, 0.1706, 0.1704, 0.1703, 0.1704, 0.1703",\
                 "0.1808, 0.1764, 0.1727, 0.1719, 0.1714, 0.1712, 0.1712, 0.1712, 0.1711, 0.1712",\
                 "0.1968, 0.1907, 0.1841, 0.1813, 0.1801, 0.1796, 0.1794, 0.1792, 0.1791, 0.1791",\
                 "0.2254, 0.2167, 0.2061, 0.2009, 0.198, 0.1966, 0.196, 0.1957, 0.1953, 0.1952",\
                 "0.2653, 0.2546, 0.2393, 0.2306, 0.226, 0.2238, 0.2221, 0.2215, 0.2209, 0.2205",\
                 "0.3185, 0.3058, 0.2855, 0.2727, 0.2658, 0.2617, 0.2593, 0.2577, 0.2568, 0.2562",\
                 "0.3852, 0.3706, 0.3449, 0.3282, 0.318, 0.3121, 0.3083, 0.3058, 0.3044, 0.3031",\
                 "0.4658, 0.4498, 0.4189, 0.3972, 0.3837, 0.3748, 0.3695, 0.3661, 0.3636, 0.3621",\
                 "0.5608, 0.5434, 0.5076, 0.4804, 0.463, 0.4514, 0.4443, 0.4393, 0.4358, 0.4337");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008458, 0.03464, 0.08463, 0.1625, 0.2718, 0.4156, 0.5968, 0.8179, 1.082");
          values("0.1162, 0.1152, 0.1161, 0.1181, 0.1203, 0.1225, 0.1245, 0.1267, 0.13, 0.1405",\
                 "0.1155, 0.1144, 0.1155, 0.1174, 0.1193, 0.1219, 0.1239, 0.1257, 0.1293, 0.1395",\
                 "0.1184, 0.1168, 0.1161, 0.1176, 0.1195, 0.122, 0.1242, 0.1261, 0.1297, 0.1406",\
                 "0.132, 0.1287, 0.1256, 0.1245, 0.1256, 0.1276, 0.1301, 0.1317, 0.1356, 0.147",\
                 "0.1548, 0.15, 0.1429, 0.1414, 0.14, 0.1411, 0.1427, 0.1445, 0.147, 0.1605",\
                 "0.1888, 0.1825, 0.1725, 0.1654, 0.1646, 0.1644, 0.1648, 0.1663, 0.1701, 0.1853",\
                 "0.2348, 0.226, 0.2134, 0.203, 0.1989, 0.1987, 0.1988, 0.1977, 0.2002, 0.2216",\
                 "0.2929, 0.2812, 0.2654, 0.2527, 0.2449, 0.2416, 0.2437, 0.2439, 0.2449, 0.2675",\
                 "0.3634, 0.3492, 0.3293, 0.3142, 0.3036, 0.2982, 0.2955, 0.2994, 0.3025, 0.3359",\
                 "0.4472, 0.4306, 0.4074, 0.3871, 0.3739, 0.3646, 0.3582, 0.3601, 0.3702, 0.4183");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008458, 0.03464, 0.08463, 0.1625, 0.2718, 0.4156, 0.5968, 0.8179, 1.082");
          values("0.2742, 0.3111, 0.4066, 0.5477, 0.7455, 1.016, 1.371, 1.818, 2.364, 3.016",\
                 "0.29, 0.327, 0.4224, 0.5635, 0.7614, 1.032, 1.387, 1.834, 2.38, 3.031",\
                 "0.3566, 0.3935, 0.4887, 0.6298, 0.8277, 1.098, 1.453, 1.901, 2.446, 3.097",\
                 "0.483, 0.5209, 0.6177, 0.7593, 0.9571, 1.228, 1.583, 2.03, 2.576, 3.227",\
                 "0.6368, 0.6786, 0.7813, 0.9285, 1.128, 1.399, 1.753, 2.199, 2.745, 3.395",\
                 "0.8205, 0.8656, 0.9757, 1.128, 1.33, 1.601, 1.956, 2.402, 2.947, 3.598",\
                 "1.034, 1.083, 1.202, 1.362, 1.568, 1.84, 2.194, 2.641, 3.185, 3.835",\
                 "1.278, 1.332, 1.46, 1.63, 1.843, 2.118, 2.472, 2.919, 3.463, 4.113",\
                 "1.553, 1.611, 1.748, 1.93, 2.153, 2.435, 2.793, 3.239, 3.784, 4.433",\
                 "1.861, 1.922, 2.07, 2.264, 2.498, 2.788, 3.153, 3.604, 4.15, 4.798");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008458, 0.03464, 0.08463, 0.1625, 0.2718, 0.4156, 0.5968, 0.8179, 1.082");
          values("0.2166, 0.2563, 0.3786, 0.6043, 0.9548, 1.446, 2.093, 2.906, 3.897, 5.083",\
                 "0.2307, 0.2703, 0.3927, 0.6184, 0.9696, 1.46, 2.104, 2.917, 3.912, 5.097",\
                 "0.2826, 0.3219, 0.443, 0.6684, 1.019, 1.511, 2.156, 2.967, 3.961, 5.148",\
                 "0.3452, 0.3864, 0.5081, 0.7318, 1.082, 1.572, 2.217, 3.032, 4.021, 5.21",\
                 "0.3889, 0.4323, 0.5564, 0.7791, 1.127, 1.616, 2.262, 3.074, 4.065, 5.248",\
                 "0.4105, 0.457, 0.5859, 0.807, 1.153, 1.642, 2.285, 3.098, 4.091, 5.275",\
                 "0.4063, 0.4563, 0.5913, 0.8143, 1.161, 1.647, 2.29, 3.101, 4.092, 5.276",\
                 "0.3736, 0.4269, 0.5687, 0.7962, 1.143, 1.631, 2.274, 3.084, 4.073, 5.253",\
                 "0.3104, 0.3678, 0.5165, 0.7487, 1.098, 1.589, 2.232, 3.042, 4.031, 5.212",\
                 "0.2156, 0.2764, 0.4324, 0.6697, 1.024, 1.518, 2.165, 2.976, 3.965, 5.145");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008458, 0.03464, 0.08463, 0.1625, 0.2718, 0.4156, 0.5968, 0.8179, 1.082");
          values("0.09776, 0.1339, 0.2388, 0.4239, 0.7291, 1.173, 1.768, 2.519, 3.441, 4.534",\
                 "0.09752, 0.1341, 0.2388, 0.4246, 0.7293, 1.173, 1.769, 2.519, 3.438, 4.534",\
                 "0.09776, 0.1343, 0.2387, 0.4238, 0.7285, 1.174, 1.769, 2.52, 3.441, 4.538",\
                 "0.1102, 0.1454, 0.2462, 0.4274, 0.7306, 1.173, 1.769, 2.52, 3.441, 4.538",\
                 "0.131, 0.1674, 0.2678, 0.4422, 0.736, 1.177, 1.769, 2.521, 3.441, 4.536",\
                 "0.1536, 0.1922, 0.291, 0.4612, 0.747, 1.182, 1.771, 2.52, 3.439, 4.531",\
                 "0.1786, 0.2202, 0.3228, 0.4874, 0.763, 1.189, 1.773, 2.521, 3.437, 4.527",\
                 "0.2068, 0.2514, 0.358, 0.5236, 0.7882, 1.201, 1.779, 2.523, 3.436, 4.528",\
                 "0.2358, 0.2854, 0.3982, 0.5654, 0.8276, 1.233, 1.799, 2.531, 3.441, 4.529",\
                 "0.2682, 0.3204, 0.4424, 0.6112, 0.8696, 1.273, 1.833, 2.558, 3.454, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008458, 0.03464, 0.08463, 0.1625, 0.2718, 0.4156, 0.5968, 0.8179, 1.082");
          values("0.09166, 0.1456, 0.3415, 0.7339, 1.35, 2.218, 3.354, 4.788, 6.541, 8.627",\
                 "0.0919, 0.1457, 0.3413, 0.7336, 1.35, 2.218, 3.356, 4.791, 6.536, 8.628",\
                 "0.09254, 0.1469, 0.3423, 0.7341, 1.35, 2.216, 3.353, 4.793, 6.537, 8.629",\
                 "0.1045, 0.1576, 0.346, 0.7342, 1.35, 2.218, 3.351, 4.788, 6.534, 8.623",\
                 "0.1188, 0.1716, 0.3528, 0.7382, 1.352, 2.213, 3.352, 4.793, 6.536, 8.627",\
                 "0.1374, 0.1892, 0.3652, 0.7402, 1.352, 2.215, 3.353, 4.782, 6.536, 8.624",\
                 "0.1564, 0.2098, 0.3838, 0.7494, 1.356, 2.215, 3.351, 4.789, 6.531, 8.619",\
                 "0.1794, 0.2326, 0.4068, 0.7648, 1.368, 2.221, 3.352, 4.781, 6.533, 8.613",\
                 "0.2014, 0.2558, 0.4324, 0.7834, 1.388, 2.24, 3.362, 4.784, 6.531, 8.611",\
                 "0.2246, 0.2828, 0.4596, 0.8044, 1.408, 2.266, 3.383, 4.798, 6.533, 8.614");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__buf_4) {
    area : 30.732800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "9.00669e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "9.00669e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.009096 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.442 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3621, 0.5539, 0.7955, 1.09, 1.442");
          values("0.2357, 0.2334, 0.2332, 0.234, 0.234, 0.2343, 0.2345, 0.2346, 0.2346, 0.2347",\
                 "0.233, 0.2305, 0.2306, 0.2315, 0.2318, 0.2319, 0.232, 0.2321, 0.2322, 0.2322",\
                 "0.2384, 0.2351, 0.2343, 0.2347, 0.2354, 0.2354, 0.2356, 0.2358, 0.2358, 0.2359",\
                 "0.2671, 0.2607, 0.2555, 0.2541, 0.2536, 0.2537, 0.2538, 0.2538, 0.2539, 0.2538",\
                 "0.3153, 0.3053, 0.2955, 0.2918, 0.2898, 0.289, 0.2891, 0.2887, 0.2886, 0.2886",\
                 "0.3854, 0.3727, 0.3571, 0.3491, 0.3453, 0.3434, 0.3423, 0.3418, 0.3415, 0.3413",\
                 "0.4795, 0.4634, 0.4416, 0.4286, 0.4224, 0.4192, 0.4171, 0.416, 0.4152, 0.4148",\
                 "0.598, 0.5795, 0.5508, 0.533, 0.523, 0.5175, 0.5143, 0.5122, 0.5108, 0.5098",\
                 "0.7417, 0.7215, 0.6856, 0.6622, 0.6482, 0.6399, 0.6345, 0.6316, 0.6297, 0.628",\
                 "0.9119, 0.8893, 0.847, 0.818, 0.7992, 0.7878, 0.7806, 0.7761, 0.7732, 0.771");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3621, 0.5539, 0.7955, 1.09, 1.442");
          values("0.1302, 0.1306, 0.1348, 0.1381, 0.141, 0.1438, 0.1467, 0.1489, 0.1528, 0.1667",\
                 "0.1287, 0.1288, 0.1327, 0.1368, 0.1397, 0.1425, 0.1461, 0.1479, 0.1515, 0.166",\
                 "0.135, 0.1341, 0.135, 0.1375, 0.141, 0.1442, 0.1464, 0.1499, 0.1529, 0.1732",\
                 "0.1568, 0.1535, 0.151, 0.1517, 0.1532, 0.1567, 0.1589, 0.1624, 0.1671, 0.1813",\
                 "0.1973, 0.1917, 0.1843, 0.1834, 0.1841, 0.1858, 0.189, 0.1905, 0.1945, 0.2122",\
                 "0.2578, 0.2493, 0.2386, 0.2329, 0.2333, 0.2346, 0.2352, 0.237, 0.2404, 0.2614",\
                 "0.3394, 0.3289, 0.3139, 0.3035, 0.3, 0.3013, 0.3028, 0.3033, 0.3045, 0.3296",\
                 "0.4435, 0.4291, 0.4105, 0.3957, 0.3892, 0.3874, 0.3903, 0.3929, 0.3924, 0.4213",\
                 "0.5708, 0.5531, 0.5294, 0.5125, 0.5018, 0.495, 0.4936, 0.4985, 0.5038, 0.546",\
                 "0.7223, 0.7011, 0.6724, 0.6518, 0.6354, 0.625, 0.6206, 0.622, 0.6343, 0.7006");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3621, 0.5539, 0.7955, 1.09, 1.442");
          values("0.1986, 0.2325, 0.3187, 0.4511, 0.6454, 0.9154, 1.27, 1.718, 2.264, 2.916",\
                 "0.2141, 0.2479, 0.3341, 0.4666, 0.6609, 0.931, 1.286, 1.733, 2.281, 2.932",\
                 "0.2816, 0.3151, 0.401, 0.5336, 0.728, 0.998, 1.353, 1.801, 2.348, 2.998",\
                 "0.3923, 0.4284, 0.5184, 0.6529, 0.8472, 1.117, 1.472, 1.919, 2.467, 3.117",\
                 "0.529, 0.5687, 0.6637, 0.8021, 0.9974, 1.267, 1.622, 2.069, 2.615, 3.266",\
                 "0.6938, 0.7377, 0.84, 0.9832, 1.18, 1.45, 1.805, 2.252, 2.797, 3.448",\
                 "0.8871, 0.9348, 1.047, 1.197, 1.399, 1.67, 2.024, 2.471, 3.017, 3.667",\
                 "1.109, 1.161, 1.283, 1.443, 1.652, 1.927, 2.283, 2.73, 3.275, 3.925",\
                 "1.361, 1.418, 1.549, 1.721, 1.938, 2.221, 2.583, 3.031, 3.576, 4.226",\
                 "1.645, 1.706, 1.848, 2.031, 2.257, 2.548, 2.919, 3.376, 3.923, 4.573");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3621, 0.5539, 0.7955, 1.09, 1.442");
          values("0.1592, 0.1974, 0.3187, 0.5451, 0.8959, 1.386, 2.034, 2.848, 3.837, 5.026",\
                 "0.1731, 0.2113, 0.3325, 0.5589, 0.9097, 1.401, 2.047, 2.862, 3.85, 5.039",\
                 "0.2198, 0.258, 0.3777, 0.6036, 0.9545, 1.445, 2.092, 2.906, 3.896, 5.083",\
                 "0.2607, 0.3008, 0.4206, 0.6454, 0.9952, 1.487, 2.132, 2.946, 3.941, 5.124",\
                 "0.2832, 0.3259, 0.4473, 0.6698, 1.019, 1.509, 2.155, 2.968, 3.962, 5.147",\
                 "0.2827, 0.3283, 0.4535, 0.6763, 1.024, 1.514, 2.158, 2.971, 3.961, 5.148",\
                 "0.2555, 0.305, 0.436, 0.6608, 1.009, 1.498, 2.141, 2.953, 3.945, 5.129",\
                 "0.2007, 0.2533, 0.3909, 0.6178, 0.97, 1.46, 2.104, 2.915, 3.906, 5.087",\
                 "0.1153, 0.1715, 0.3152, 0.5469, 0.9017, 1.398, 2.043, 2.854, 3.845, 5.025",\
                 "-0.0036, 0.0569, 0.208, 0.4439, 0.8017, 1.302, 1.955, 2.769, 3.759, 4.94");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3621, 0.5539, 0.7955, 1.09, 1.442");
          values("0.06888, 0.1042, 0.2049, 0.3963, 0.7115, 1.162, 1.759, 2.512, 3.433, 4.53",\
                 "0.0688, 0.104, 0.205, 0.3961, 0.7115, 1.162, 1.759, 2.513, 3.434, 4.531",\
                 "0.07012, 0.1052, 0.2059, 0.3962, 0.7116, 1.162, 1.759, 2.51, 3.433, 4.526",\
                 "0.08512, 0.119, 0.2165, 0.4002, 0.7118, 1.162, 1.759, 2.511, 3.435, 4.529",\
                 "0.102, 0.1362, 0.2328, 0.4116, 0.7164, 1.164, 1.758, 2.51, 3.429, 4.526",\
                 "0.1222, 0.1594, 0.2538, 0.4258, 0.7226, 1.166, 1.76, 2.51, 3.43, 4.524",\
                 "0.1446, 0.1856, 0.2832, 0.45, 0.7376, 1.172, 1.762, 2.511, 3.426, 4.521",\
                 "0.169, 0.2136, 0.316, 0.481, 0.7646, 1.19, 1.769, 2.514, 3.427, 4.517",\
                 "0.194, 0.2438, 0.3518, 0.5184, 0.7978, 1.223, 1.796, 2.525, 3.431, 4.518",\
                 "0.2206, 0.273, 0.3896, 0.5592, 0.8356, 1.264, 1.84, 2.56, 3.448, 4.53");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3621, 0.5539, 0.7955, 1.09, 1.442");
          values("0.0701, 0.1244, 0.3255, 0.7208, 1.338, 2.203, 3.342, 4.774, 6.522, 8.621",\
                 "0.0704, 0.1244, 0.3256, 0.721, 1.337, 2.202, 3.342, 4.775, 6.524, 8.62",\
                 "0.07338, 0.1266, 0.3258, 0.7209, 1.338, 2.204, 3.339, 4.776, 6.532, 8.617",\
                 "0.08338, 0.136, 0.3288, 0.7213, 1.339, 2.202, 3.344, 4.773, 6.524, 8.607",\
                 "0.0964, 0.148, 0.3332, 0.723, 1.338, 2.2, 3.339, 4.78, 6.522, 8.608",\
                 "0.1118, 0.1644, 0.3436, 0.7264, 1.34, 2.202, 3.336, 4.769, 6.519, 8.611",\
                 "0.1298, 0.1824, 0.3588, 0.7368, 1.345, 2.203, 3.338, 4.774, 6.52, 8.605",\
                 "0.1466, 0.201, 0.3768, 0.7526, 1.361, 2.212, 3.34, 4.77, 6.53, 8.602",\
                 "0.1668, 0.2228, 0.3984, 0.7666, 1.381, 2.233, 3.353, 4.773, 6.518, 8.606",\
                 "0.1884, 0.2464, 0.4224, 0.785, 1.402, 2.264, 3.38, 4.788, 6.521, 8.601");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__buf_8) {
    area : 57.075200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001583538" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001565322" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001583538" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.01792 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 2.878 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09056, 0.2237, 0.4311, 0.722, 1.105, 1.587, 2.176, 2.878");
          values("0.476, 0.471, 0.4708, 0.4717, 0.4728, 0.4728, 0.4731, 0.4731, 0.4733, 0.4733",\
                 "0.4706, 0.4659, 0.4656, 0.4666, 0.4678, 0.4679, 0.4681, 0.4684, 0.4685, 0.4686",\
                 "0.4815, 0.4747, 0.4729, 0.4736, 0.4746, 0.4745, 0.4752, 0.4755, 0.4756, 0.4757",\
                 "0.5387, 0.5254, 0.5151, 0.5128, 0.5111, 0.5109, 0.5112, 0.5113, 0.5114, 0.5116",\
                 "0.6347, 0.6148, 0.5944, 0.5866, 0.5837, 0.5815, 0.5809, 0.5807, 0.5804, 0.5804",\
                 "0.775, 0.7491, 0.7178, 0.7012, 0.6938, 0.6898, 0.6879, 0.6872, 0.686, 0.6856",\
                 "0.9623, 0.9303, 0.8859, 0.8612, 0.8481, 0.8398, 0.8361, 0.834, 0.8325, 0.8312",\
                 "1.199, 1.163, 1.105, 1.069, 1.048, 1.036, 1.029, 1.025, 1.023, 1.021",\
                 "1.487, 1.446, 1.374, 1.326, 1.298, 1.28, 1.27, 1.263, 1.26, 1.256",\
                 "1.826, 1.781, 1.697, 1.637, 1.601, 1.575, 1.561, 1.551, 1.545, 1.541");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09056, 0.2237, 0.4311, 0.722, 1.105, 1.587, 2.176, 2.878");
          values("0.2706, 0.271, 0.2788, 0.2859, 0.291, 0.2978, 0.3019, 0.307, 0.3146, 0.344",\
                 "0.2681, 0.2693, 0.2764, 0.2818, 0.289, 0.2951, 0.3006, 0.303, 0.3127, 0.3509",\
                 "0.2807, 0.2784, 0.2793, 0.2857, 0.2907, 0.2978, 0.3035, 0.307, 0.3154, 0.3432",\
                 "0.3239, 0.3166, 0.3122, 0.3129, 0.3164, 0.3232, 0.3289, 0.3347, 0.3415, 0.3753",\
                 "0.4047, 0.3932, 0.3784, 0.3764, 0.3784, 0.3803, 0.3854, 0.3908, 0.3969, 0.4363",\
                 "0.5255, 0.5092, 0.4878, 0.4751, 0.4741, 0.4766, 0.4797, 0.4822, 0.4917, 0.5288",\
                 "0.6885, 0.6671, 0.6372, 0.6154, 0.6065, 0.6106, 0.6154, 0.6149, 0.6179, 0.6661",\
                 "0.8963, 0.8677, 0.8287, 0.8013, 0.7814, 0.7802, 0.7883, 0.7905, 0.7937, 0.8501",\
                 "1.151, 1.115, 1.068, 1.031, 1.006, 0.9944, 0.9939, 1.006, 1.013, 1.095",\
                 "1.454, 1.411, 1.354, 1.31, 1.28, 1.256, 1.25, 1.252, 1.275, 1.409");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09056, 0.2237, 0.4311, 0.722, 1.105, 1.587, 2.176, 2.878");
          values("0.2002, 0.2342, 0.3207, 0.4534, 0.6477, 0.9178, 1.273, 1.72, 2.267, 2.919",\
                 "0.2157, 0.2496, 0.3361, 0.4689, 0.6632, 0.9333, 1.288, 1.736, 2.283, 2.934",\
                 "0.2831, 0.3169, 0.403, 0.5359, 0.7303, 1, 1.356, 1.803, 2.349, 2.999",\
                 "0.3943, 0.4307, 0.5208, 0.6555, 0.8498, 1.12, 1.475, 1.922, 2.468, 3.12",\
                 "0.5312, 0.5709, 0.6661, 0.8046, 1.001, 1.271, 1.625, 2.072, 2.618, 3.269",\
                 "0.6962, 0.7404, 0.843, 0.9863, 1.183, 1.454, 1.808, 2.255, 2.8, 3.452",\
                 "0.8899, 0.9382, 1.049, 1.201, 1.402, 1.673, 2.028, 2.475, 3.02, 3.669",\
                 "1.112, 1.164, 1.286, 1.447, 1.656, 1.931, 2.287, 2.733, 3.278, 3.928",\
                 "1.364, 1.422, 1.553, 1.725, 1.942, 2.225, 2.586, 3.034, 3.581, 4.229",\
                 "1.65, 1.71, 1.852, 2.036, 2.262, 2.553, 2.923, 3.379, 3.927, 4.576");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09056, 0.2237, 0.4311, 0.722, 1.105, 1.587, 2.176, 2.878");
          values("0.1604, 0.1986, 0.3198, 0.5461, 0.8967, 1.388, 2.034, 2.847, 3.836, 5.025",\
                 "0.1744, 0.2126, 0.3338, 0.5599, 0.9108, 1.4, 2.048, 2.861, 3.85, 5.036",\
                 "0.2213, 0.2596, 0.3791, 0.6048, 0.9553, 1.446, 2.093, 2.906, 3.898, 5.077",\
                 "0.2626, 0.3029, 0.4228, 0.647, 0.9969, 1.487, 2.134, 2.947, 3.94, 5.123",\
                 "0.2856, 0.3284, 0.4499, 0.6723, 1.022, 1.511, 2.157, 2.971, 3.962, 5.146",\
                 "0.2854, 0.3315, 0.4572, 0.6798, 1.026, 1.516, 2.161, 2.974, 3.965, 5.145",\
                 "0.2589, 0.3085, 0.4398, 0.6639, 1.013, 1.5, 2.145, 2.955, 3.946, 5.13",\
                 "0.2041, 0.2575, 0.3945, 0.6224, 0.9733, 1.464, 2.107, 2.918, 3.908, 5.088",\
                 "0.1195, 0.1761, 0.32, 0.5506, 0.9056, 1.401, 2.046, 2.857, 3.847, 5.027",\
                 "0.0012, 0.0619, 0.2133, 0.4489, 0.8067, 1.307, 1.959, 2.772, 3.761, 4.942");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09056, 0.2237, 0.4311, 0.722, 1.105, 1.587, 2.176, 2.878");
          values("0.0689, 0.1047, 0.2058, 0.396, 0.7116, 1.162, 1.759, 2.513, 3.434, 4.532",\
                 "0.06898, 0.1043, 0.206, 0.3967, 0.7117, 1.162, 1.758, 2.513, 3.434, 4.532",\
                 "0.07048, 0.1054, 0.2063, 0.3967, 0.7116, 1.162, 1.759, 2.51, 3.432, 4.526",\
                 "0.08548, 0.1193, 0.2172, 0.4015, 0.7126, 1.162, 1.758, 2.513, 3.434, 4.531",\
                 "0.1022, 0.137, 0.233, 0.4124, 0.7164, 1.164, 1.758, 2.512, 3.43, 4.524",\
                 "0.1232, 0.1594, 0.2546, 0.4262, 0.7246, 1.167, 1.76, 2.509, 3.429, 4.527",\
                 "0.1446, 0.1858, 0.283, 0.4514, 0.7366, 1.172, 1.762, 2.509, 3.427, 4.521",\
                 "0.17, 0.2154, 0.316, 0.4824, 0.7636, 1.19, 1.769, 2.514, 3.427, 4.518",\
                 "0.1948, 0.2454, 0.3522, 0.5178, 0.7978, 1.223, 1.797, 2.524, 3.432, 4.519",\
                 "0.2208, 0.2738, 0.3906, 0.5584, 0.8352, 1.264, 1.839, 2.561, 3.448, 4.526");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09056, 0.2237, 0.4311, 0.722, 1.105, 1.587, 2.176, 2.878");
          values("0.07032, 0.1246, 0.3254, 0.7201, 1.336, 2.202, 3.338, 4.77, 6.519, 8.611",\
                 "0.07046, 0.1247, 0.326, 0.7204, 1.337, 2.202, 3.34, 4.772, 6.521, 8.61",\
                 "0.07378, 0.1267, 0.3257, 0.7202, 1.336, 2.201, 3.338, 4.77, 6.524, 8.607",\
                 "0.08374, 0.1361, 0.3289, 0.7207, 1.336, 2.203, 3.337, 4.773, 6.52, 8.604",\
                 "0.0966, 0.1482, 0.3332, 0.7222, 1.337, 2.2, 3.337, 4.769, 6.521, 8.602",\
                 "0.112, 0.1646, 0.3438, 0.7272, 1.34, 2.2, 3.336, 4.767, 6.52, 8.607",\
                 "0.1294, 0.1826, 0.3584, 0.7366, 1.344, 2.202, 3.336, 4.769, 6.517, 8.599",\
                 "0.149, 0.2016, 0.378, 0.7508, 1.361, 2.211, 3.339, 4.767, 6.527, 8.6",\
                 "0.1688, 0.2228, 0.3984, 0.7676, 1.38, 2.232, 3.351, 4.775, 6.516, 8.61",\
                 "0.1888, 0.2474, 0.4226, 0.784, 1.403, 2.262, 3.377, 4.79, 6.518, 8.596");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__buf_12) {
    area : 83.417600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0002266407" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0002239083" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002266407" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.02687 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 4.311 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.7198, 0.7128, 0.7118, 0.7132, 0.7136, 0.7141, 0.7147, 0.7149, 0.7151, 0.7152",\
                 "0.7116, 0.7041, 0.7039, 0.7057, 0.7061, 0.7068, 0.7074, 0.7075, 0.7077, 0.7079",\
                 "0.7278, 0.7179, 0.7148, 0.7159, 0.717, 0.7177, 0.7182, 0.7185, 0.7187, 0.7189",\
                 "0.8128, 0.7934, 0.7782, 0.7733, 0.7719, 0.7714, 0.7719, 0.7718, 0.7719, 0.7721",\
                 "0.957, 0.9275, 0.897, 0.8842, 0.8795, 0.8768, 0.8757, 0.8751, 0.875, 0.8748",\
                 "1.167, 1.128, 1.08, 1.057, 1.045, 1.038, 1.035, 1.034, 1.033, 1.032",\
                 "1.447, 1.4, 1.333, 1.294, 1.274, 1.264, 1.257, 1.254, 1.251, 1.249",\
                 "1.801, 1.748, 1.66, 1.605, 1.574, 1.556, 1.545, 1.539, 1.534, 1.532",\
                 "2.232, 2.171, 2.063, 1.991, 1.947, 1.92, 1.904, 1.894, 1.887, 1.883",\
                 "2.742, 2.675, 2.547, 2.457, 2.399, 2.362, 2.338, 2.323, 2.314, 2.307");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.4172, 0.4182, 0.4289, 0.4391, 0.447, 0.4575, 0.4624, 0.4731, 0.4849, 0.5173",\
                 "0.4134, 0.4142, 0.4243, 0.4338, 0.4441, 0.4533, 0.4624, 0.4688, 0.4783, 0.5169",\
                 "0.4325, 0.429, 0.4306, 0.4395, 0.447, 0.4572, 0.4644, 0.4747, 0.4903, 0.5362",\
                 "0.497, 0.4863, 0.4793, 0.48, 0.4853, 0.4955, 0.5027, 0.5091, 0.5299, 0.5612",\
                 "0.6173, 0.5988, 0.5801, 0.5754, 0.5771, 0.5826, 0.5885, 0.5962, 0.6058, 0.6546",\
                 "0.7982, 0.7738, 0.7401, 0.7233, 0.7252, 0.7255, 0.7287, 0.7315, 0.7466, 0.7999",\
                 "1.043, 1.011, 0.9645, 0.9354, 0.9196, 0.9275, 0.9313, 0.9334, 0.9369, 1.006",\
                 "1.353, 1.31, 1.254, 1.208, 1.183, 1.175, 1.187, 1.197, 1.195, 1.284",\
                 "1.734, 1.68, 1.613, 1.553, 1.524, 1.498, 1.497, 1.516, 1.527, 1.653",\
                 "2.188, 2.123, 2.042, 1.971, 1.926, 1.894, 1.878, 1.882, 1.928, 2.113");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.2025, 0.2364, 0.323, 0.456, 0.6503, 0.9205, 1.276, 1.723, 2.27, 2.921",\
                 "0.2179, 0.2519, 0.3385, 0.4715, 0.6659, 0.9361, 1.291, 1.739, 2.286, 2.938",\
                 "0.2854, 0.319, 0.4054, 0.5384, 0.7329, 1.003, 1.358, 1.805, 2.353, 3.003",\
                 "0.3969, 0.4332, 0.5234, 0.6582, 0.8525, 1.123, 1.477, 1.925, 2.472, 3.122",\
                 "0.534, 0.5737, 0.6693, 0.8079, 1.004, 1.274, 1.629, 2.076, 2.623, 3.273",\
                 "0.7, 0.7438, 0.8462, 0.9899, 1.187, 1.457, 1.812, 2.259, 2.805, 3.457",\
                 "0.8937, 0.9419, 1.054, 1.205, 1.406, 1.677, 2.032, 2.479, 3.025, 3.674",\
                 "1.116, 1.169, 1.29, 1.451, 1.659, 1.935, 2.29, 2.737, 3.283, 3.934",\
                 "1.37, 1.426, 1.558, 1.729, 1.947, 2.229, 2.59, 3.039, 3.584, 4.234",\
                 "1.655, 1.715, 1.857, 2.04, 2.267, 2.557, 2.927, 3.382, 3.93, 4.58");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.1623, 0.2007, 0.3217, 0.5481, 0.8986, 1.39, 2.033, 2.847, 3.842, 5.024",\
                 "0.1764, 0.2146, 0.3356, 0.5619, 0.9125, 1.403, 2.049, 2.863, 3.856, 5.033",\
                 "0.2236, 0.2617, 0.3813, 0.6068, 0.9575, 1.449, 2.093, 2.906, 3.9, 5.08",\
                 "0.2651, 0.3054, 0.4252, 0.6495, 0.9997, 1.491, 2.136, 2.947, 3.942, 5.121",\
                 "0.2887, 0.3311, 0.4528, 0.6752, 1.024, 1.514, 2.16, 2.973, 3.962, 5.145",\
                 "0.289, 0.3349, 0.4602, 0.6831, 1.031, 1.52, 2.163, 2.976, 3.969, 5.149",\
                 "0.2633, 0.3126, 0.4437, 0.6682, 1.016, 1.504, 2.148, 2.959, 3.95, 5.134",\
                 "0.2093, 0.2617, 0.3994, 0.626, 0.9773, 1.468, 2.111, 2.921, 3.912, 5.093",\
                 "0.1252, 0.1811, 0.3258, 0.5555, 0.9112, 1.406, 2.051, 2.861, 3.851, 5.031",\
                 "0.0077, 0.0676, 0.2194, 0.4536, 0.8124, 1.313, 1.964, 2.777, 3.766, 4.946");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.06996, 0.1055, 0.2072, 0.3974, 0.7128, 1.163, 1.76, 2.511, 3.435, 4.53",\
                 "0.07044, 0.1056, 0.2071, 0.3982, 0.7127, 1.163, 1.76, 2.515, 3.435, 4.534",\
                 "0.0715, 0.1068, 0.2075, 0.3982, 0.7126, 1.163, 1.761, 2.515, 3.437, 4.53",\
                 "0.08642, 0.1204, 0.2182, 0.4023, 0.7136, 1.163, 1.76, 2.515, 3.431, 4.53",\
                 "0.1032, 0.1386, 0.2344, 0.4132, 0.7178, 1.165, 1.76, 2.514, 3.435, 4.53",\
                 "0.1236, 0.161, 0.2554, 0.427, 0.7244, 1.168, 1.762, 2.511, 3.432, 4.53",\
                 "0.146, 0.1864, 0.2846, 0.451, 0.7378, 1.173, 1.764, 2.512, 3.429, 4.524",\
                 "0.171, 0.2148, 0.3178, 0.4826, 0.7642, 1.19, 1.771, 2.516, 3.431, 4.521",\
                 "0.1962, 0.2454, 0.3532, 0.5188, 0.798, 1.223, 1.797, 2.526, 3.432, 4.521",\
                 "0.223, 0.2756, 0.3914, 0.5592, 0.8356, 1.263, 1.837, 2.559, 3.449, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.07158, 0.1261, 0.3266, 0.7217, 1.338, 2.203, 3.345, 4.773, 6.53, 8.614",\
                 "0.07154, 0.126, 0.3268, 0.7219, 1.338, 2.203, 3.342, 4.775, 6.521, 8.607",\
                 "0.0748, 0.1281, 0.327, 0.7216, 1.338, 2.203, 3.343, 4.78, 6.525, 8.604",\
                 "0.08524, 0.1374, 0.3299, 0.7219, 1.337, 2.202, 3.339, 4.779, 6.526, 8.623",\
                 "0.0978, 0.15, 0.3346, 0.724, 1.338, 2.201, 3.338, 4.772, 6.529, 8.615",\
                 "0.1132, 0.1652, 0.3456, 0.7272, 1.34, 2.202, 3.342, 4.767, 6.522, 8.614",\
                 "0.1304, 0.184, 0.36, 0.7392, 1.346, 2.204, 3.337, 4.772, 6.516, 8.602",\
                 "0.1482, 0.2026, 0.379, 0.7524, 1.361, 2.212, 3.342, 4.77, 6.528, 8.596",\
                 "0.1686, 0.2232, 0.3998, 0.7688, 1.383, 2.233, 3.352, 4.773, 6.518, 8.61",\
                 "0.1904, 0.248, 0.4244, 0.7856, 1.403, 2.263, 3.379, 4.787, 6.519, 8.596");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__buf_16) {
    area : 109.760000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0002949276" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0002912844" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002949276" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.03591 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 5.739 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04061, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.962, 0.9523, 0.9514, 0.9525, 0.9535, 0.954, 0.9544, 0.9547, 0.9549, 0.955",\
                 "0.9518, 0.9419, 0.9404, 0.9429, 0.9442, 0.9443, 0.9448, 0.9452, 0.9455, 0.9457",\
                 "0.9729, 0.9597, 0.9549, 0.9568, 0.9575, 0.9588, 0.9589, 0.9592, 0.9596, 0.9598",\
                 "1.086, 1.06, 1.04, 1.035, 1.032, 1.031, 1.03, 1.031, 1.031, 1.031",\
                 "1.277, 1.238, 1.198, 1.182, 1.173, 1.17, 1.168, 1.168, 1.167, 1.167",\
                 "1.556, 1.504, 1.442, 1.408, 1.393, 1.385, 1.38, 1.378, 1.376, 1.375",\
                 "1.93, 1.867, 1.776, 1.725, 1.698, 1.682, 1.674, 1.669, 1.666, 1.664",\
                 "2.402, 2.329, 2.213, 2.137, 2.094, 2.07, 2.056, 2.047, 2.041, 2.037",\
                 "2.975, 2.893, 2.748, 2.652, 2.59, 2.552, 2.531, 2.519, 2.508, 2.501",\
                 "3.652, 3.562, 3.393, 3.271, 3.192, 3.139, 3.106, 3.086, 3.072, 3.064");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04061, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.5612, 0.5633, 0.5776, 0.5893, 0.5994, 0.6106, 0.6238, 0.6367, 0.6433, 0.721",\
                 "0.5563, 0.5563, 0.5703, 0.5823, 0.5954, 0.605, 0.6162, 0.6301, 0.64, 0.6885",\
                 "0.582, 0.577, 0.579, 0.5906, 0.6007, 0.6143, 0.6278, 0.6334, 0.6527, 0.706",\
                 "0.6675, 0.6542, 0.6446, 0.645, 0.6515, 0.6654, 0.6753, 0.6862, 0.7055, 0.7729",\
                 "0.8276, 0.8045, 0.7755, 0.7708, 0.7743, 0.7786, 0.7848, 0.7984, 0.8144, 0.8777",\
                 "1.069, 1.034, 0.9905, 0.9661, 0.9673, 0.9713, 0.9713, 0.9766, 0.9955, 1.063",\
                 "1.394, 1.35, 1.29, 1.249, 1.228, 1.241, 1.237, 1.241, 1.249, 1.345",\
                 "1.807, 1.752, 1.672, 1.617, 1.579, 1.572, 1.585, 1.592, 1.604, 1.704",\
                 "2.314, 2.246, 2.153, 2.081, 2.031, 1.998, 1.996, 2.018, 2.029, 2.2",\
                 "2.919, 2.834, 2.721, 2.632, 2.562, 2.521, 2.496, 2.503, 2.557, 2.813");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04061, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.2035, 0.2375, 0.3242, 0.4574, 0.6519, 0.9222, 1.278, 1.726, 2.272, 2.924",\
                 "0.219, 0.253, 0.3398, 0.4729, 0.6675, 0.9378, 1.293, 1.741, 2.288, 2.939",\
                 "0.2864, 0.3201, 0.4067, 0.5399, 0.7345, 1.005, 1.36, 1.807, 2.355, 3.007",\
                 "0.3981, 0.4343, 0.5248, 0.6597, 0.8543, 1.124, 1.48, 1.928, 2.474, 3.126",\
                 "0.5355, 0.5752, 0.6708, 0.8097, 1.006, 1.276, 1.63, 2.078, 2.624, 3.276",\
                 "0.7013, 0.7451, 0.8477, 0.9914, 1.189, 1.459, 1.814, 2.261, 2.807, 3.458",\
                 "0.8955, 0.9431, 1.055, 1.206, 1.407, 1.678, 2.033, 2.481, 3.026, 3.677",\
                 "1.118, 1.17, 1.292, 1.453, 1.661, 1.936, 2.292, 2.739, 3.285, 3.934",\
                 "1.371, 1.428, 1.559, 1.73, 1.947, 2.23, 2.592, 3.04, 3.585, 4.235",\
                 "1.657, 1.717, 1.858, 2.041, 2.268, 2.558, 2.928, 3.383, 3.931, 4.581");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04061, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.1634, 0.2017, 0.3229, 0.5489, 0.8995, 1.391, 2.035, 2.849, 3.842, 5.023",\
                 "0.1774, 0.2157, 0.3367, 0.5629, 0.9135, 1.404, 2.05, 2.864, 3.857, 5.034",\
                 "0.2247, 0.2628, 0.3825, 0.6079, 0.9587, 1.449, 2.096, 2.908, 3.9, 5.086",\
                 "0.2666, 0.3068, 0.4269, 0.6508, 1.001, 1.49, 2.136, 2.951, 3.944, 5.125",\
                 "0.2902, 0.3329, 0.4542, 0.6768, 1.026, 1.515, 2.161, 2.974, 3.967, 5.147",\
                 "0.2911, 0.3365, 0.462, 0.6844, 1.032, 1.521, 2.165, 2.977, 3.968, 5.149",\
                 "0.2651, 0.3145, 0.4455, 0.6701, 1.018, 1.506, 2.149, 2.961, 3.951, 5.136",\
                 "0.2112, 0.2641, 0.4012, 0.6291, 0.9796, 1.47, 2.112, 2.923, 3.914, 5.094",\
                 "0.1272, 0.1837, 0.3281, 0.5584, 0.9133, 1.408, 2.052, 2.863, 3.853, 5.033",\
                 "0.0102, 0.07, 0.2218, 0.4568, 0.8144, 1.314, 1.965, 2.778, 3.768, 4.948");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04061, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.0705, 0.1059, 0.2078, 0.3981, 0.7121, 1.164, 1.761, 2.513, 3.432, 4.533",\
                 "0.07052, 0.106, 0.2075, 0.3981, 0.7135, 1.164, 1.762, 2.516, 3.438, 4.533",\
                 "0.07206, 0.1072, 0.2084, 0.3987, 0.7136, 1.163, 1.761, 2.516, 3.438, 4.535",\
                 "0.08682, 0.1209, 0.2188, 0.403, 0.7144, 1.164, 1.761, 2.514, 3.433, 4.534",\
                 "0.1034, 0.138, 0.2352, 0.4144, 0.7184, 1.166, 1.761, 2.516, 3.434, 4.534",\
                 "0.1238, 0.1608, 0.2562, 0.4276, 0.7254, 1.169, 1.761, 2.514, 3.433, 4.526",\
                 "0.1466, 0.1868, 0.2842, 0.4518, 0.738, 1.174, 1.765, 2.513, 3.43, 4.527",\
                 "0.1708, 0.2154, 0.3176, 0.4832, 0.7648, 1.191, 1.771, 2.516, 3.432, 4.524",\
                 "0.1972, 0.2452, 0.353, 0.52, 0.798, 1.223, 1.795, 2.527, 3.435, 4.524",\
                 "0.2228, 0.2748, 0.3918, 0.559, 0.835, 1.264, 1.838, 2.56, 3.45, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04061, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.0725, 0.1265, 0.327, 0.7224, 1.338, 2.203, 3.342, 4.776, 6.526, 8.608",\
                 "0.07248, 0.1267, 0.327, 0.7224, 1.339, 2.203, 3.342, 4.777, 6.526, 8.622",\
                 "0.07532, 0.1286, 0.3271, 0.7221, 1.338, 2.204, 3.341, 4.774, 6.522, 8.613",\
                 "0.08538, 0.1382, 0.3303, 0.7225, 1.338, 2.202, 3.339, 4.773, 6.527, 8.609",\
                 "0.098, 0.1506, 0.3348, 0.724, 1.339, 2.2, 3.339, 4.773, 6.525, 8.611",\
                 "0.1138, 0.1662, 0.3454, 0.7284, 1.339, 2.202, 3.336, 4.768, 6.519, 8.604",\
                 "0.1318, 0.1844, 0.361, 0.7392, 1.346, 2.206, 3.338, 4.778, 6.518, 8.6",\
                 "0.1502, 0.2038, 0.3798, 0.7526, 1.362, 2.212, 3.34, 4.769, 6.522, 8.603",\
                 "0.1694, 0.2248, 0.3996, 0.768, 1.381, 2.233, 3.352, 4.775, 6.518, 8.603",\
                 "0.1908, 0.2484, 0.4246, 0.7858, 1.404, 2.263, 3.379, 4.788, 6.52, 8.599");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__buf_20) {
    area : 136.102400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.000363231" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.000358644" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000363231" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.04492 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 7.161 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("1.208, 1.195, 1.193, 1.196, 1.196, 1.197, 1.197, 1.198, 1.198, 1.198",\
                 "1.196, 1.182, 1.181, 1.183, 1.183, 1.185, 1.186, 1.186, 1.186, 1.186",\
                 "1.221, 1.205, 1.198, 1.2, 1.201, 1.202, 1.203, 1.204, 1.204, 1.204",\
                 "1.362, 1.331, 1.304, 1.296, 1.293, 1.292, 1.292, 1.292, 1.292, 1.292",\
                 "1.599, 1.551, 1.501, 1.481, 1.472, 1.465, 1.464, 1.463, 1.462, 1.462",\
                 "1.948, 1.883, 1.805, 1.763, 1.743, 1.734, 1.726, 1.723, 1.721, 1.721",\
                 "2.413, 2.335, 2.224, 2.157, 2.122, 2.103, 2.092, 2.085, 2.081, 2.079",\
                 "3.001, 2.912, 2.764, 2.67, 2.614, 2.583, 2.565, 2.554, 2.546, 2.542",\
                 "3.717, 3.615, 3.436, 3.311, 3.23, 3.182, 3.154, 3.138, 3.126, 3.117",\
                 "4.564, 4.451, 4.239, 4.085, 3.983, 3.912, 3.869, 3.841, 3.825, 3.813");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.7118, 0.7142, 0.7292, 0.7457, 0.7575, 0.7715, 0.7848, 0.7961, 0.81, 0.8803",\
                 "0.7055, 0.7071, 0.7221, 0.7368, 0.7529, 0.7656, 0.7752, 0.7928, 0.8034, 0.8817",\
                 "0.7373, 0.7319, 0.7326, 0.7463, 0.7605, 0.7741, 0.7914, 0.8027, 0.8268, 0.8911",\
                 "0.8432, 0.8271, 0.8137, 0.815, 0.8219, 0.8388, 0.8541, 0.8654, 0.8862, 0.9567",\
                 "1.043, 1.015, 0.9762, 0.9727, 0.9704, 0.9801, 0.9907, 0.9974, 1.018, 1.106",\
                 "1.344, 1.304, 1.246, 1.215, 1.215, 1.219, 1.219, 1.228, 1.246, 1.337",\
                 "1.749, 1.694, 1.618, 1.565, 1.542, 1.548, 1.552, 1.558, 1.56, 1.679",\
                 "2.265, 2.194, 2.095, 2.022, 1.976, 1.965, 1.979, 1.997, 1.996, 2.132",\
                 "2.898, 2.809, 2.691, 2.598, 2.537, 2.498, 2.491, 2.521, 2.532, 2.745",\
                 "3.652, 3.547, 3.406, 3.286, 3.214, 3.147, 3.118, 3.125, 3.184, 3.507");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.2052, 0.2391, 0.3259, 0.4592, 0.6537, 0.9241, 1.279, 1.727, 2.275, 2.927",\
                 "0.2207, 0.2547, 0.3415, 0.4747, 0.6693, 0.9398, 1.295, 1.743, 2.29, 2.941",\
                 "0.2881, 0.3218, 0.4084, 0.5417, 0.7364, 1.007, 1.362, 1.81, 2.357, 3.01",\
                 "0.4, 0.4362, 0.5268, 0.6618, 0.8564, 1.127, 1.482, 1.93, 2.476, 3.128",\
                 "0.5378, 0.5771, 0.6727, 0.8117, 1.008, 1.278, 1.633, 2.08, 2.627, 3.278",\
                 "0.7037, 0.747, 0.8501, 0.9936, 1.191, 1.461, 1.816, 2.263, 2.809, 3.46",\
                 "0.8982, 0.9458, 1.057, 1.208, 1.409, 1.68, 2.036, 2.483, 3.028, 3.679",\
                 "1.121, 1.173, 1.294, 1.455, 1.663, 1.938, 2.293, 2.74, 3.286, 3.937",\
                 "1.375, 1.43, 1.562, 1.733, 1.949, 2.231, 2.593, 3.041, 3.586, 4.236",\
                 "1.66, 1.72, 1.861, 2.043, 2.27, 2.56, 2.929, 3.384, 3.931, 4.582");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.1649, 0.2033, 0.3243, 0.5502, 0.9005, 1.391, 2.037, 2.849, 3.842, 5.02",\
                 "0.1789, 0.2172, 0.3381, 0.5642, 0.9146, 1.405, 2.049, 2.863, 3.855, 5.041",\
                 "0.2264, 0.2645, 0.384, 0.6093, 0.96, 1.451, 2.095, 2.908, 3.902, 5.084",\
                 "0.2685, 0.3087, 0.4286, 0.6527, 1.003, 1.492, 2.138, 2.951, 3.942, 5.124",\
                 "0.2926, 0.3351, 0.4563, 0.6791, 1.027, 1.517, 2.161, 2.974, 3.964, 5.147",\
                 "0.2937, 0.3394, 0.4645, 0.687, 1.034, 1.523, 2.167, 2.978, 3.97, 5.152",\
                 "0.2686, 0.3176, 0.4486, 0.6727, 1.02, 1.508, 2.151, 2.962, 3.952, 5.136",\
                 "0.2152, 0.2673, 0.4044, 0.6314, 0.9821, 1.472, 2.114, 2.925, 3.914, 5.095",\
                 "0.1317, 0.1873, 0.3309, 0.5615, 0.9153, 1.41, 2.055, 2.864, 3.854, 5.034",\
                 "0.015, 0.0746, 0.2254, 0.46, 0.8184, 1.317, 1.969, 2.78, 3.769, 4.949");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.0714, 0.1071, 0.2085, 0.3988, 0.7135, 1.166, 1.763, 2.518, 3.44, 4.539",\
                 "0.07152, 0.107, 0.2085, 0.3991, 0.7135, 1.165, 1.763, 2.517, 3.44, 4.535",\
                 "0.0729, 0.1079, 0.2089, 0.3994, 0.7144, 1.165, 1.763, 2.518, 3.44, 4.538",\
                 "0.08776, 0.1214, 0.2195, 0.4038, 0.7148, 1.165, 1.763, 2.514, 3.438, 4.537",\
                 "0.1042, 0.1388, 0.2354, 0.4152, 0.7192, 1.167, 1.762, 2.517, 3.44, 4.536",\
                 "0.1248, 0.1614, 0.2566, 0.4286, 0.7254, 1.169, 1.763, 2.515, 3.435, 4.535",\
                 "0.1474, 0.1876, 0.286, 0.4532, 0.7392, 1.174, 1.766, 2.515, 3.433, 4.529",\
                 "0.172, 0.2164, 0.3172, 0.4832, 0.7654, 1.191, 1.771, 2.52, 3.432, 4.527",\
                 "0.1976, 0.246, 0.3536, 0.5192, 0.7992, 1.222, 1.797, 2.528, 3.436, 4.526",\
                 "0.2244, 0.2758, 0.392, 0.5588, 0.835, 1.261, 1.835, 2.558, 3.454, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.07358, 0.1277, 0.3282, 0.7225, 1.339, 2.202, 3.342, 4.775, 6.523, 8.603",\
                 "0.07362, 0.1277, 0.3279, 0.723, 1.339, 2.202, 3.347, 4.775, 6.528, 8.616",\
                 "0.07636, 0.1299, 0.3284, 0.7228, 1.339, 2.203, 3.341, 4.773, 6.528, 8.609",\
                 "0.08646, 0.139, 0.332, 0.7248, 1.34, 2.201, 3.339, 4.772, 6.521, 8.607",\
                 "0.099, 0.1514, 0.3358, 0.7256, 1.339, 2.201, 3.338, 4.778, 6.528, 8.609",\
                 "0.1146, 0.1672, 0.347, 0.7288, 1.341, 2.203, 3.339, 4.766, 6.525, 8.617",\
                 "0.132, 0.1844, 0.3614, 0.7388, 1.347, 2.206, 3.338, 4.772, 6.514, 8.596",\
                 "0.1494, 0.2042, 0.381, 0.7528, 1.361, 2.212, 3.342, 4.77, 6.52, 8.596",\
                 "0.1706, 0.2248, 0.401, 0.7694, 1.382, 2.233, 3.353, 4.772, 6.516, 8.608",\
                 "0.1914, 0.2494, 0.4256, 0.7858, 1.401, 2.262, 3.377, 4.787, 6.519, 8.596");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__bufz_1) {
    area : 30.732800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "6.26901e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "6.26901e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "9.04101e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "8.87634e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "9.04101e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.005655 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07181, 0.07124, 0.07268, 0.07867, 0.08952, 0.1059, 0.1296, 0.1626, \
                 0.2054, 0.2583");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1013, 0.1007, 0.1027, 0.1113, 0.1286, 0.1564, 0.1953, 0.2462, \
                 0.3097, 0.3864");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.003094 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008245, 0.008242, 0.008239, 0.008227, 0.008244, 0.008249, 0.008259, \
                 0.008235, 0.008256, 0.008245");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008214, -0.008206, -0.008215, -0.008208, -0.008198, -0.008216, \
                 -0.00821, -0.008216, -0.008221, -0.008217");
        }
      }
    }

    pin(Z) {
      capacitance : 0.002989 ;
      direction : output ;
      function : "I" ;
      max_capacitance : 0.3626 ;
      max_transition : 8.6 ;
      min_capacitance : 0.003989 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.0806, 0.08055, 0.08045, 0.0804, 0.08039, 0.0804, 0.0804, 0.0804, 0.08039, 0.08039",\
                 "0.08081, 0.08078, 0.08072, 0.08061, 0.08063, 0.08059, 0.08062, 0.08061, 0.08061, 0.08061",\
                 "0.08459, 0.08453, 0.08448, 0.08443, 0.08444, 0.08446, 0.08447, 0.08448, 0.08448, 0.08448",\
                 "0.0929, 0.09286, 0.09287, 0.09283, 0.09284, 0.09287, 0.09284, 0.09289, 0.0929, 0.0929",\
                 "0.107, 0.107, 0.107, 0.107, 0.107, 0.107, 0.107, 0.107, 0.107, 0.107",\
                 "0.1275, 0.1275, 0.1275, 0.1274, 0.1275, 0.1275, 0.1274, 0.1275, 0.1275, 0.1275",\
                 "0.1547, 0.1546, 0.1546, 0.1546, 0.1546, 0.1546, 0.1546, 0.1546, 0.1546, 0.1546",\
                 "0.1889, 0.189, 0.1889, 0.1888, 0.1888, 0.1889, 0.1889, 0.1889, 0.1889, 0.1889",\
                 "0.2307, 0.2307, 0.2307, 0.2306, 0.2306, 0.2306, 0.2307, 0.2307, 0.2307, 0.2307",\
                 "0.2803, 0.2803, 0.2803, 0.2802, 0.2802, 0.2802, 0.2802, 0.2802, 0.2802, 0.2803");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.05018, 0.05018, 0.05026, 0.05026, 0.05048, 0.05098, 0.05137, 0.05181, 0.05271, 0.05617",\
                 "0.04969, 0.0497, 0.04978, 0.04977, 0.05001, 0.05048, 0.05088, 0.05132, 0.05221, 0.05607",\
                 "0.05101, 0.051, 0.05101, 0.05102, 0.0512, 0.05164, 0.0521, 0.05317, 0.05356, 0.0573",\
                 "0.05806, 0.05804, 0.05817, 0.05821, 0.0584, 0.05883, 0.05933, 0.06033, 0.06073, 0.06494",\
                 "0.07319, 0.07326, 0.07314, 0.07356, 0.07368, 0.07385, 0.07447, 0.07561, 0.07605, 0.07999",\
                 "0.09754, 0.09764, 0.09759, 0.09748, 0.09819, 0.09863, 0.09866, 0.09946, 0.1002, 0.1053",\
                 "0.1318, 0.1319, 0.1318, 0.1318, 0.1319, 0.133, 0.1335, 0.134, 0.1343, 0.1414",\
                 "0.1766, 0.1766, 0.1767, 0.1766, 0.1767, 0.177, 0.1784, 0.1795, 0.1797, 0.1877",\
                 "0.2323, 0.2325, 0.2325, 0.2325, 0.2324, 0.2324, 0.2333, 0.2351, 0.2365, 0.2482",\
                 "0.2996, 0.2996, 0.2997, 0.2997, 0.2996, 0.2996, 0.2999, 0.3011, 0.305, 0.3229");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.1321, 0.1314, 0.1307, 0.1305, 0.1305, 0.1306, 0.1306, 0.1306, 0.1306, 0.1306",\
                 "0.1316, 0.131, 0.1304, 0.1301, 0.1301, 0.1302, 0.1302, 0.1302, 0.1302, 0.1302",\
                 "0.1318, 0.1311, 0.1305, 0.1302, 0.1302, 0.1303, 0.1303, 0.1303, 0.1304, 0.1304",\
                 "0.1357, 0.1349, 0.1338, 0.1333, 0.1332, 0.1332, 0.1332, 0.1332, 0.1332, 0.1333",\
                 "0.1468, 0.1455, 0.1433, 0.1419, 0.1412, 0.141, 0.1408, 0.1407, 0.1407, 0.1406",\
                 "0.1635, 0.1616, 0.1583, 0.1559, 0.1546, 0.1539, 0.1536, 0.1533, 0.1532, 0.1531",\
                 "0.1863, 0.1839, 0.1797, 0.1762, 0.1741, 0.1729, 0.1722, 0.1718, 0.1716, 0.1714",\
                 "0.2159, 0.2131, 0.2078, 0.2033, 0.2003, 0.1985, 0.1974, 0.1967, 0.1963, 0.1959",\
                 "0.2527, 0.2494, 0.2431, 0.2375, 0.2334, 0.2309, 0.2294, 0.2283, 0.2276, 0.2272",\
                 "0.297, 0.2934, 0.2859, 0.2792, 0.274, 0.2708, 0.2686, 0.2672, 0.2662, 0.2655");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.06056, 0.06084, 0.06183, 0.06298, 0.06408, 0.06498, 0.06581, 0.06687, 0.0676, 0.07144",\
                 "0.06032, 0.06064, 0.0616, 0.06278, 0.06385, 0.06468, 0.06564, 0.06638, 0.0676, 0.07078",\
                 "0.06028, 0.06056, 0.06136, 0.06242, 0.06339, 0.06435, 0.06521, 0.06654, 0.06707, 0.07092",\
                 "0.0629, 0.06289, 0.06313, 0.0639, 0.06488, 0.06571, 0.06663, 0.06803, 0.06859, 0.07262",\
                 "0.06987, 0.06938, 0.06903, 0.06921, 0.06966, 0.07052, 0.07135, 0.07265, 0.07319, 0.07833",\
                 "0.08197, 0.08124, 0.07967, 0.07908, 0.07963, 0.0799, 0.08049, 0.08159, 0.08281, 0.08839",\
                 "0.0997, 0.09851, 0.09642, 0.09469, 0.09428, 0.09508, 0.09541, 0.09571, 0.09692, 0.1046",\
                 "0.1237, 0.1221, 0.1192, 0.1167, 0.1152, 0.1149, 0.1165, 0.1165, 0.1173, 0.1263",\
                 "0.1541, 0.152, 0.1483, 0.145, 0.1429, 0.142, 0.142, 0.1438, 0.1447, 0.1576",\
                 "0.1911, 0.1887, 0.1842, 0.18, 0.1769, 0.1754, 0.1747, 0.1749, 0.1787, 0.1977");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.21, 0.229, 0.298, 0.423, 0.573, 0.754, 0.96, 1.197, 1.46, 1.754");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.333, 0.348, 0.418, 0.54, 0.696, 0.883, 1.104, 1.356, 1.643, \
                 1.966");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.2825, 0.3312, 0.4601, 0.6396, 0.8668, 1.153, 1.514, 1.96, 2.503, 3.151",\
                 "0.2975, 0.3463, 0.4752, 0.6547, 0.882, 1.168, 1.529, 1.975, 2.518, 3.166",\
                 "0.3544, 0.4024, 0.5299, 0.7085, 0.9353, 1.222, 1.582, 2.028, 2.572, 3.218",\
                 "0.4345, 0.4835, 0.6088, 0.7843, 1.01, 1.296, 1.655, 2.102, 2.646, 3.293",\
                 "0.4765, 0.5252, 0.6485, 0.8222, 1.047, 1.331, 1.691, 2.138, 2.681, 3.328",\
                 "0.4781, 0.5261, 0.6475, 0.8197, 1.043, 1.327, 1.686, 2.132, 2.675, 3.322",\
                 "0.4466, 0.4941, 0.6138, 0.7839, 1.005, 1.288, 1.647, 2.092, 2.634, 3.281",\
                 "0.3824, 0.4302, 0.5495, 0.7179, 0.9371, 1.219, 1.576, 2.022, 2.564, 3.21",\
                 "0.2846, 0.3325, 0.452, 0.62, 0.8384, 1.119, 1.476, 1.922, 2.464, 3.111",\
                 "0.149, 0.1978, 0.318, 0.486, 0.7041, 0.9846, 1.342, 1.787, 2.329, 2.976");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.2518, 0.2997, 0.437, 0.6676, 1.016, 1.504, 2.146, 2.954, 3.939, 5.115",\
                 "0.264, 0.3119, 0.4492, 0.6797, 1.028, 1.516, 2.158, 2.966, 3.951, 5.128",\
                 "0.3076, 0.3555, 0.4928, 0.7234, 1.072, 1.56, 2.202, 3.011, 3.999, 5.177",\
                 "0.3543, 0.405, 0.5461, 0.7786, 1.127, 1.614, 2.257, 3.066, 4.054, 5.232",\
                 "0.3817, 0.4378, 0.5847, 0.8197, 1.17, 1.658, 2.3, 3.107, 4.096, 5.272",\
                 "0.3835, 0.4483, 0.6068, 0.8465, 1.197, 1.686, 2.328, 3.137, 4.125, 5.303",\
                 "0.3553, 0.4305, 0.6059, 0.8555, 1.21, 1.699, 2.341, 3.15, 4.137, 5.313",\
                 "0.2949, 0.381, 0.5775, 0.8401, 1.203, 1.696, 2.339, 3.147, 4.134, 5.309",\
                 "0.1999, 0.2981, 0.5184, 0.7972, 1.171, 1.673, 2.32, 3.129, 4.116, 5.291",\
                 "0.0682, 0.1792, 0.4257, 0.7242, 1.109, 1.622, 2.28, 3.094, 4.08, 5.257");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.1588, 0.2084, 0.3385, 0.5323, 0.8224, 1.236, 1.801, 2.533, 3.438, 4.526",\
                 "0.1588, 0.2088, 0.3388, 0.5325, 0.8214, 1.235, 1.8, 2.533, 3.439, 4.526",\
                 "0.1555, 0.2049, 0.3358, 0.5306, 0.8214, 1.234, 1.801, 2.53, 3.438, 4.521",\
                 "0.1629, 0.2066, 0.3283, 0.5256, 0.818, 1.234, 1.8, 2.531, 3.435, 4.524",\
                 "0.166, 0.2068, 0.3258, 0.5216, 0.8124, 1.231, 1.798, 2.532, 3.438, 4.526",\
                 "0.1634, 0.203, 0.3218, 0.518, 0.8102, 1.227, 1.793, 2.528, 3.439, 4.526",\
                 "0.1628, 0.2012, 0.3172, 0.5126, 0.8042, 1.224, 1.793, 2.523, 3.431, 4.519",\
                 "0.1638, 0.2018, 0.315, 0.5078, 0.7992, 1.218, 1.788, 2.522, 3.428, 4.511",\
                 "0.166, 0.2034, 0.315, 0.5062, 0.7976, 1.216, 1.787, 2.524, 3.43, 4.511",\
                 "0.1708, 0.2072, 0.316, 0.506, 0.7964, 1.216, 1.787, 2.526, 3.429, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.1543, 0.2113, 0.4009, 0.7735, 1.378, 2.236, 3.368, 4.801, 6.54, 8.625",\
                 "0.1541, 0.2111, 0.4009, 0.7735, 1.378, 2.236, 3.368, 4.801, 6.54, 8.625",\
                 "0.1546, 0.2117, 0.4011, 0.7737, 1.378, 2.24, 3.368, 4.795, 6.534, 8.613",\
                 "0.168, 0.2222, 0.4075, 0.7752, 1.378, 2.239, 3.368, 4.796, 6.536, 8.612",\
                 "0.1904, 0.2412, 0.4172, 0.7818, 1.382, 2.24, 3.367, 4.791, 6.535, 8.608",\
                 "0.2238, 0.2734, 0.4374, 0.7894, 1.387, 2.24, 3.369, 4.791, 6.532, 8.611",\
                 "0.2616, 0.3126, 0.4686, 0.809, 1.393, 2.241, 3.37, 4.793, 6.531, 8.607",\
                 "0.3018, 0.3576, 0.5102, 0.8382, 1.415, 2.253, 3.373, 4.795, 6.543, 8.602",\
                 "0.3456, 0.406, 0.5602, 0.874, 1.446, 2.281, 3.39, 4.798, 6.531, 8.616",\
                 "0.3944, 0.4602, 0.618, 0.9146, 1.482, 2.321, 3.422, 4.816, 6.536, 8.604");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.4805, 0.5312, 0.6667, 0.8517, 1.082, 1.369, 1.73, 2.177, 2.72, 3.367",\
                 "0.4969, 0.5475, 0.683, 0.8682, 1.098, 1.385, 1.746, 2.193, 2.736, 3.383",\
                 "0.5615, 0.6122, 0.7475, 0.9327, 1.162, 1.45, 1.811, 2.258, 2.801, 3.447",\
                 "0.6942, 0.7445, 0.8796, 1.065, 1.295, 1.583, 1.944, 2.391, 2.934, 3.581",\
                 "0.8793, 0.9315, 1.071, 1.26, 1.492, 1.781, 2.141, 2.588, 3.131, 3.778",\
                 "1.099, 1.153, 1.298, 1.497, 1.735, 2.027, 2.388, 2.835, 3.378, 4.025",\
                 "1.357, 1.415, 1.567, 1.775, 2.021, 2.317, 2.681, 3.129, 3.672, 4.319",\
                 "1.653, 1.715, 1.878, 2.099, 2.355, 2.658, 3.025, 3.474, 4.017, 4.663",\
                 "1.985, 2.051, 2.225, 2.463, 2.735, 3.05, 3.423, 3.874, 4.418, 5.064",\
                 "2.355, 2.426, 2.611, 2.865, 3.157, 3.488, 3.874, 4.333, 4.879, 5.526");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.4142, 0.4641, 0.605, 0.8385, 1.189, 1.678, 2.321, 3.131, 4.119, 5.297",\
                 "0.4274, 0.4772, 0.618, 0.8515, 1.202, 1.691, 2.333, 3.144, 4.13, 5.309",\
                 "0.4742, 0.524, 0.6644, 0.8977, 1.248, 1.737, 2.381, 3.188, 4.178, 5.355",\
                 "0.549, 0.5995, 0.74, 0.9729, 1.323, 1.812, 2.456, 3.264, 4.254, 5.43",\
                 "0.6111, 0.6635, 0.8088, 1.044, 1.393, 1.882, 2.525, 3.335, 4.321, 5.497",\
                 "0.6514, 0.7064, 0.857, 1.094, 1.444, 1.933, 2.575, 3.383, 4.372, 5.548",\
                 "0.6637, 0.7218, 0.8803, 1.123, 1.474, 1.961, 2.603, 3.411, 4.397, 5.577",\
                 "0.6441, 0.7055, 0.8728, 1.125, 1.48, 1.968, 2.609, 3.417, 4.402, 5.578",\
                 "0.5884, 0.6535, 0.8299, 1.092, 1.456, 1.949, 2.591, 3.398, 4.384, 5.559",\
                 "0.495, 0.5636, 0.7495, 1.023, 1.396, 1.898, 2.547, 3.355, 4.342, 5.517");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.1762, 0.2265, 0.3576, 0.5452, 0.8295, 1.238, 1.801, 2.534, 3.44, 4.519",\
                 "0.1759, 0.2268, 0.3573, 0.5454, 0.8279, 1.239, 1.802, 2.534, 3.44, 4.526",\
                 "0.1758, 0.2264, 0.3574, 0.5456, 0.8278, 1.238, 1.801, 2.532, 3.44, 4.52",\
                 "0.1784, 0.2292, 0.3606, 0.547, 0.8298, 1.238, 1.801, 2.532, 3.44, 4.525",\
                 "0.1958, 0.246, 0.3788, 0.5608, 0.8372, 1.244, 1.805, 2.532, 3.436, 4.525",\
                 "0.217, 0.2672, 0.4054, 0.5894, 0.8562, 1.255, 1.808, 2.533, 3.44, 4.524",\
                 "0.2428, 0.2942, 0.4344, 0.6206, 0.8838, 1.272, 1.82, 2.541, 3.437, 4.526",\
                 "0.2736, 0.3294, 0.473, 0.6648, 0.9188, 1.297, 1.834, 2.547, 3.441, 4.526",\
                 "0.3042, 0.364, 0.5176, 0.7226, 0.9734, 1.342, 1.861, 2.562, 3.448, 4.523",\
                 "0.3388, 0.4016, 0.5638, 0.784, 1.044, 1.407, 1.919, 2.596, 3.466, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003989, 0.006464, 0.01515, 0.03174, 0.05759, 0.09386, 0.1416, 0.2017, 0.2751, 0.3626");
          values("0.16, 0.2147, 0.4014, 0.7734, 1.378, 2.24, 3.368, 4.796, 6.536, 8.612",\
                 "0.1591, 0.2154, 0.4017, 0.7732, 1.377, 2.236, 3.366, 4.793, 6.535, 8.611",\
                 "0.1592, 0.2155, 0.4016, 0.7731, 1.378, 2.237, 3.368, 4.792, 6.536, 8.606",\
                 "0.1658, 0.2202, 0.4048, 0.7746, 1.377, 2.235, 3.368, 4.792, 6.537, 8.606",\
                 "0.179, 0.2362, 0.4178, 0.7796, 1.382, 2.236, 3.369, 4.794, 6.544, 8.624",\
                 "0.1938, 0.254, 0.4342, 0.7894, 1.382, 2.237, 3.367, 4.79, 6.535, 8.608",\
                 "0.2128, 0.2746, 0.4576, 0.8032, 1.388, 2.238, 3.366, 4.798, 6.529, 8.61",\
                 "0.2346, 0.2984, 0.4868, 0.8284, 1.403, 2.243, 3.371, 4.791, 6.528, 8.597",\
                 "0.2594, 0.3232, 0.5188, 0.8604, 1.431, 2.264, 3.376, 4.793, 6.53, 8.613",\
                 "0.2836, 0.3502, 0.552, 0.897, 1.465, 2.3, 3.407, 4.805, 6.532, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__bufz_2) {
    area : 32.928000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "6.66732e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "6.66732e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.000100221" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0001001616" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000100221" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008236 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09674, 0.0952, 0.09766, 0.1072, 0.1238, 0.1486, 0.184, 0.233, \
                 0.2965, 0.3749");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1414, 0.1394, 0.1421, 0.1553, 0.1821, 0.2245, 0.284, 0.3617, \
                 0.4586, 0.5759");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.0047 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01569, 0.01572, 0.01571, 0.0157, 0.01568, 0.01572, 0.0157, 0.01571, \
                 0.01571, 0.0157");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01565, -0.01561, -0.01564, -0.01563, -0.01562, -0.01565, -0.01565, \
                 -0.01565, -0.01567, -0.01567");
        }
      }
    }

    pin(Z) {
      capacitance : 0.00358 ;
      direction : output ;
      function : "I" ;
      max_capacitance : 0.6973 ;
      max_transition : 8.6 ;
      min_capacitance : 0.00458 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.1233, 0.1232, 0.1231, 0.123, 0.1231, 0.1231, 0.1232, 0.1232, 0.1232, 0.1232",\
                 "0.1238, 0.1237, 0.1236, 0.1235, 0.1235, 0.1235, 0.1236, 0.1236, 0.1236, 0.1236",\
                 "0.1292, 0.1291, 0.1291, 0.129, 0.1291, 0.1291, 0.1291, 0.1291, 0.1291, 0.1292",\
                 "0.1415, 0.1415, 0.1415, 0.1414, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415",\
                 "0.1624, 0.1624, 0.1624, 0.1624, 0.1624, 0.1624, 0.1624, 0.1624, 0.1624, 0.1624",\
                 "0.1929, 0.1929, 0.1929, 0.1929, 0.1929, 0.1929, 0.1929, 0.1929, 0.1929, 0.1929",\
                 "0.2334, 0.2335, 0.2334, 0.2333, 0.2333, 0.2333, 0.2334, 0.2333, 0.2333, 0.2333",\
                 "0.2845, 0.2845, 0.2845, 0.2844, 0.2844, 0.2844, 0.2844, 0.2844, 0.2845, 0.2845",\
                 "0.3468, 0.3468, 0.3467, 0.3466, 0.3466, 0.3467, 0.3467, 0.3467, 0.3467, 0.3467",\
                 "0.4206, 0.4206, 0.4206, 0.4205, 0.4205, 0.4205, 0.4205, 0.4205, 0.4205, 0.4205");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.08069, 0.08076, 0.0808, 0.08088, 0.08134, 0.082, 0.08306, 0.08469, 0.0864, 0.09274",\
                 "0.07986, 0.07987, 0.0798, 0.07992, 0.08051, 0.08118, 0.0827, 0.08403, 0.08541, 0.09122",\
                 "0.08206, 0.08203, 0.08216, 0.08223, 0.08272, 0.08332, 0.08435, 0.08601, 0.08739, 0.09411",\
                 "0.09323, 0.09312, 0.09362, 0.09352, 0.09388, 0.09497, 0.09586, 0.0969, 0.09894, 0.1064",\
                 "0.117, 0.117, 0.1167, 0.1176, 0.1179, 0.1183, 0.1193, 0.1203, 0.1227, 0.1303",\
                 "0.1548, 0.1549, 0.1547, 0.1547, 0.156, 0.1569, 0.1576, 0.1583, 0.1603, 0.1693",\
                 "0.2077, 0.2079, 0.208, 0.2078, 0.208, 0.2101, 0.2113, 0.212, 0.2132, 0.2245",\
                 "0.2768, 0.2769, 0.277, 0.277, 0.2766, 0.2775, 0.2807, 0.2829, 0.2838, 0.2978",\
                 "0.3627, 0.3629, 0.363, 0.3632, 0.3631, 0.3629, 0.3642, 0.3684, 0.3713, 0.393",\
                 "0.4663, 0.4665, 0.4668, 0.4666, 0.4669, 0.4663, 0.4674, 0.4694, 0.477, 0.5092");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.2024, 0.201, 0.2, 0.2001, 0.2004, 0.2005, 0.2006, 0.2007, 0.2007, 0.2008",\
                 "0.2013, 0.2, 0.199, 0.199, 0.1994, 0.1995, 0.1996, 0.1997, 0.1997, 0.1997",\
                 "0.2015, 0.2, 0.1991, 0.199, 0.1993, 0.1996, 0.1997, 0.1997, 0.1998, 0.1999",\
                 "0.2107, 0.2085, 0.2061, 0.2051, 0.2051, 0.2052, 0.2054, 0.2054, 0.2055, 0.2056",\
                 "0.2319, 0.2283, 0.2235, 0.2207, 0.2198, 0.2194, 0.2192, 0.2191, 0.2191, 0.219",\
                 "0.2622, 0.2574, 0.2503, 0.2459, 0.2437, 0.2425, 0.242, 0.2418, 0.2415, 0.2414",\
                 "0.303, 0.2971, 0.2879, 0.2816, 0.2779, 0.276, 0.275, 0.2743, 0.2739, 0.2736",\
                 "0.3554, 0.3483, 0.337, 0.3286, 0.3235, 0.3205, 0.3187, 0.3177, 0.3171, 0.3167",\
                 "0.4201, 0.4122, 0.3983, 0.3877, 0.3809, 0.3768, 0.3743, 0.3727, 0.3717, 0.371",\
                 "0.4978, 0.4892, 0.473, 0.4602, 0.4512, 0.4457, 0.4424, 0.4402, 0.4387, 0.4377");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.0876, 0.08867, 0.09148, 0.09416, 0.0959, 0.09762, 0.09927, 0.1008, 0.1025, 0.1088",\
                 "0.08696, 0.08811, 0.09079, 0.09346, 0.09534, 0.09706, 0.09868, 0.1005, 0.1018, 0.1091",\
                 "0.0868, 0.08765, 0.08993, 0.09231, 0.09428, 0.09636, 0.09782, 0.09915, 0.1009, 0.1094",\
                 "0.09167, 0.09196, 0.09283, 0.09462, 0.09666, 0.09877, 0.1008, 0.1021, 0.1045, 0.1127",\
                 "0.105, 0.1041, 0.103, 0.1045, 0.1055, 0.1074, 0.1092, 0.1117, 0.1137, 0.1217",\
                 "0.1275, 0.1255, 0.1231, 0.1218, 0.1241, 0.1253, 0.1262, 0.1279, 0.1303, 0.1412",\
                 "0.1605, 0.1574, 0.1533, 0.1505, 0.1506, 0.153, 0.1535, 0.1536, 0.156, 0.1689",\
                 "0.2048, 0.2004, 0.1944, 0.1907, 0.1877, 0.1883, 0.1912, 0.1931, 0.1933, 0.211",\
                 "0.2601, 0.2546, 0.2468, 0.2408, 0.2369, 0.2362, 0.2369, 0.2403, 0.2426, 0.2667",\
                 "0.3274, 0.3206, 0.3109, 0.3037, 0.2987, 0.2956, 0.2943, 0.2961, 0.3035, 0.3404");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.217, 0.235, 0.302, 0.428, 0.581, 0.77, 0.992, 1.249, 1.541, \
                 1.868");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.28, 0.294, 0.363, 0.481, 0.633, 0.821, 1.045, 1.308, 1.608, \
                 1.95");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.2018, 0.2544, 0.3812, 0.549, 0.7618, 1.033, 1.379, 1.809, 2.334, 2.959",\
                 "0.2175, 0.27, 0.3967, 0.5647, 0.7775, 1.049, 1.394, 1.825, 2.349, 2.974",\
                 "0.2747, 0.3258, 0.4497, 0.6164, 0.8284, 1.1, 1.445, 1.875, 2.4, 3.025",\
                 "0.3392, 0.3932, 0.515, 0.6784, 0.8891, 1.16, 1.505, 1.935, 2.46, 3.085",\
                 "0.3567, 0.4094, 0.5292, 0.6915, 0.9011, 1.171, 1.515, 1.946, 2.47, 3.096",\
                 "0.3345, 0.3864, 0.5047, 0.6653, 0.8741, 1.144, 1.487, 1.917, 2.441, 3.067",\
                 "0.2773, 0.3297, 0.4463, 0.6057, 0.8128, 1.081, 1.425, 1.854, 2.378, 3.002",\
                 "0.1842, 0.2367, 0.3538, 0.5125, 0.7189, 0.9868, 1.33, 1.76, 2.283, 2.908",\
                 "0.0517, 0.1052, 0.2231, 0.3815, 0.5875, 0.8552, 1.198, 1.628, 2.152, 2.776",\
                 "-0.1226, -0.0679, 0.0514, 0.2103, 0.416, 0.6836, 1.027, 1.456, 1.98, 2.605");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.1838, 0.2334, 0.3675, 0.5954, 0.9445, 1.434, 2.079, 2.891, 3.883, 5.067",\
                 "0.1971, 0.2466, 0.3808, 0.6086, 0.9579, 1.447, 2.091, 2.905, 3.897, 5.079",\
                 "0.2399, 0.2904, 0.4252, 0.653, 1.002, 1.492, 2.137, 2.949, 3.94, 5.118",\
                 "0.2743, 0.3298, 0.4694, 0.6994, 1.049, 1.539, 2.182, 2.996, 3.988, 5.171",\
                 "0.2831, 0.348, 0.4953, 0.727, 1.078, 1.568, 2.211, 3.025, 4.016, 5.197",\
                 "0.2605, 0.3375, 0.4992, 0.7356, 1.087, 1.577, 2.221, 3.034, 4.024, 5.204",\
                 "0.2027, 0.2929, 0.4749, 0.7199, 1.075, 1.565, 2.21, 3.022, 4.012, 5.196",\
                 "0.1077, 0.2125, 0.4181, 0.6755, 1.037, 1.531, 2.176, 2.988, 3.979, 5.159",\
                 "-0.0269, 0.0936, 0.3262, 0.5985, 0.9677, 1.47, 2.12, 2.932, 3.923, 5.104",\
                 "-0.2041, -0.0679, 0.1953, 0.4871, 0.865, 1.376, 2.035, 2.852, 3.843, 5.025");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.1098, 0.164, 0.2909, 0.4745, 0.7533, 1.16, 1.711, 2.426, 3.304, 4.354",\
                 "0.1099, 0.1637, 0.291, 0.4751, 0.7539, 1.159, 1.712, 2.426, 3.303, 4.352",\
                 "0.1064, 0.1591, 0.2862, 0.4712, 0.7528, 1.158, 1.711, 2.427, 3.306, 4.357",\
                 "0.1209, 0.1652, 0.2789, 0.466, 0.7494, 1.158, 1.711, 2.426, 3.303, 4.352",\
                 "0.1198, 0.1618, 0.2766, 0.4636, 0.7448, 1.153, 1.71, 2.425, 3.306, 4.357",\
                 "0.1182, 0.1594, 0.2734, 0.4602, 0.7438, 1.151, 1.705, 2.419, 3.301, 4.355",\
                 "0.1188, 0.1594, 0.2712, 0.4562, 0.739, 1.147, 1.704, 2.416, 3.294, 4.344",\
                 "0.1206, 0.1608, 0.2704, 0.4552, 0.7376, 1.147, 1.704, 2.418, 3.293, 4.342",\
                 "0.1246, 0.1636, 0.2708, 0.4548, 0.7368, 1.146, 1.705, 2.418, 3.295, 4.342",\
                 "0.1282, 0.1672, 0.273, 0.4546, 0.736, 1.145, 1.703, 2.42, 3.296, 4.342");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.1024, 0.1607, 0.3506, 0.731, 1.343, 2.21, 3.344, 4.776, 6.524, 8.613",\
                 "0.1021, 0.1608, 0.3508, 0.7315, 1.346, 2.206, 3.344, 4.778, 6.526, 8.603",\
                 "0.1051, 0.1623, 0.3514, 0.7316, 1.343, 2.21, 3.345, 4.776, 6.521, 8.622",\
                 "0.1216, 0.1748, 0.3589, 0.7341, 1.343, 2.207, 3.345, 4.775, 6.527, 8.609",\
                 "0.1462, 0.1962, 0.3678, 0.7392, 1.347, 2.207, 3.346, 4.775, 6.522, 8.605",\
                 "0.1756, 0.2282, 0.3882, 0.7458, 1.349, 2.21, 3.344, 4.771, 6.522, 8.611",\
                 "0.2086, 0.267, 0.4182, 0.7616, 1.356, 2.212, 3.345, 4.773, 6.518, 8.603",\
                 "0.2442, 0.3082, 0.4572, 0.785, 1.376, 2.222, 3.35, 4.775, 6.532, 8.603",\
                 "0.2814, 0.3538, 0.5058, 0.8132, 1.4, 2.249, 3.362, 4.779, 6.521, 8.619",\
                 "0.3228, 0.4036, 0.5618, 0.8482, 1.43, 2.282, 3.393, 4.8, 6.53, 8.603");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.3729, 0.4274, 0.5622, 0.7355, 0.9503, 1.223, 1.568, 1.999, 2.523, 3.149",\
                 "0.3887, 0.4432, 0.5781, 0.7514, 0.9662, 1.239, 1.584, 2.014, 2.539, 3.165",\
                 "0.453, 0.5074, 0.6421, 0.8154, 1.03, 1.303, 1.648, 2.079, 2.603, 3.229",\
                 "0.5814, 0.6358, 0.7709, 0.945, 1.16, 1.433, 1.778, 2.209, 2.734, 3.359",\
                 "0.7457, 0.8021, 0.9432, 1.124, 1.342, 1.616, 1.961, 2.392, 2.917, 3.542",\
                 "0.9404, 0.9994, 1.147, 1.336, 1.56, 1.837, 2.183, 2.614, 3.138, 3.763",\
                 "1.171, 1.234, 1.388, 1.587, 1.818, 2.098, 2.446, 2.877, 3.401, 4.026",\
                 "1.434, 1.502, 1.667, 1.88, 2.121, 2.405, 2.755, 3.188, 3.712, 4.337",\
                 "1.731, 1.804, 1.98, 2.211, 2.465, 2.762, 3.117, 3.55, 4.075, 4.7",\
                 "2.062, 2.14, 2.328, 2.576, 2.849, 3.16, 3.528, 3.967, 4.493, 5.118");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.3094, 0.3614, 0.4994, 0.7301, 1.081, 1.572, 2.217, 3.031, 4.023, 5.203",\
                 "0.323, 0.3752, 0.5129, 0.7437, 1.095, 1.586, 2.23, 3.044, 4.034, 5.219",\
                 "0.3713, 0.4231, 0.5604, 0.791, 1.142, 1.634, 2.279, 3.09, 4.081, 5.267",\
                 "0.4368, 0.4904, 0.6293, 0.8598, 1.211, 1.703, 2.347, 3.162, 4.152, 5.337",\
                 "0.4873, 0.5436, 0.6871, 0.9188, 1.27, 1.761, 2.406, 3.22, 4.213, 5.393",\
                 "0.5177, 0.5769, 0.727, 0.9606, 1.311, 1.802, 2.446, 3.258, 4.252, 5.435",\
                 "0.5212, 0.5841, 0.7427, 0.9817, 1.333, 1.822, 2.467, 3.278, 4.269, 5.453",\
                 "0.4945, 0.5614, 0.7294, 0.9768, 1.332, 1.822, 2.466, 3.277, 4.267, 5.448",\
                 "0.4346, 0.5058, 0.6836, 0.9407, 1.302, 1.799, 2.444, 3.255, 4.244, 5.425",\
                 "0.3408, 0.4165, 0.6035, 0.8711, 1.24, 1.744, 2.396, 3.21, 4.199, 5.38");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.1238, 0.1796, 0.3077, 0.4843, 0.7585, 1.162, 1.712, 2.427, 3.305, 4.355",\
                 "0.1236, 0.1796, 0.308, 0.4849, 0.7592, 1.162, 1.712, 2.427, 3.305, 4.357",\
                 "0.1237, 0.1796, 0.3079, 0.4841, 0.7584, 1.162, 1.712, 2.427, 3.305, 4.356",\
                 "0.1292, 0.1846, 0.3132, 0.4878, 0.7596, 1.162, 1.712, 2.427, 3.305, 4.357",\
                 "0.1474, 0.2024, 0.3362, 0.505, 0.7706, 1.167, 1.714, 2.427, 3.306, 4.356",\
                 "0.1652, 0.2212, 0.3598, 0.5298, 0.7878, 1.177, 1.72, 2.428, 3.305, 4.355",\
                 "0.1872, 0.2458, 0.387, 0.5576, 0.808, 1.192, 1.727, 2.431, 3.307, 4.354",\
                 "0.2122, 0.2742, 0.424, 0.5982, 0.8382, 1.208, 1.738, 2.436, 3.305, 4.355",\
                 "0.2392, 0.3056, 0.4654, 0.6536, 0.8888, 1.248, 1.761, 2.446, 3.312, 4.354",\
                 "0.2674, 0.3404, 0.509, 0.7136, 0.9514, 1.308, 1.809, 2.478, 3.325, 4.36");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.00458, 0.009362, 0.02615, 0.0582, 0.1081, 0.1782, 0.2704, 0.3865, 0.5283, 0.6973");
          values("0.1051, 0.1615, 0.3501, 0.7328, 1.343, 2.206, 3.343, 4.776, 6.526, 8.61",\
                 "0.1042, 0.1611, 0.3502, 0.7308, 1.343, 2.209, 3.346, 4.776, 6.527, 8.614",\
                 "0.1048, 0.1614, 0.3503, 0.7315, 1.345, 2.207, 3.344, 4.783, 6.537, 8.614",\
                 "0.1138, 0.17, 0.355, 0.7322, 1.343, 2.207, 3.345, 4.777, 6.524, 8.612",\
                 "0.1248, 0.1844, 0.3658, 0.7364, 1.347, 2.206, 3.347, 4.778, 6.526, 8.614",\
                 "0.1394, 0.2012, 0.3812, 0.7432, 1.346, 2.21, 3.346, 4.772, 6.523, 8.61",\
                 "0.157, 0.2206, 0.4032, 0.7556, 1.35, 2.209, 3.343, 4.78, 6.519, 8.601",\
                 "0.1772, 0.242, 0.4304, 0.7766, 1.364, 2.215, 3.343, 4.772, 6.516, 8.594",\
                 "0.199, 0.2654, 0.4596, 0.8036, 1.39, 2.235, 3.354, 4.775, 6.517, 8.606",\
                 "0.221, 0.2902, 0.4902, 0.834, 1.419, 2.267, 3.383, 4.786, 6.521, 8.599");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__bufz_3) {
    area : 43.904000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "7.227e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "7.227e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0001228887" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0001226742" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001228887" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008216 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09705, 0.09559, 0.09797, 0.1073, 0.1238, 0.1483, 0.183, 0.2311, \
                 0.2938, 0.3717");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.157, 0.1551, 0.1575, 0.1703, 0.1964, 0.2383, 0.2974, 0.3746, \
                 0.4713, 0.5886");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.007368 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02691, 0.02689, 0.02684, 0.02685, 0.02686, 0.02691, 0.02692, \
                 0.02689, 0.0269, 0.02692");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0268, -0.0268, -0.02678, -0.0268, -0.02677, -0.02683, -0.02683, \
                 -0.02684, -0.02683, -0.02683");
        }
      }
    }

    pin(Z) {
      capacitance : 0.006529 ;
      direction : output ;
      function : "I" ;
      max_capacitance : 1.046 ;
      max_transition : 8.6 ;
      min_capacitance : 0.007529 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.162, 0.1619, 0.1618, 0.1619, 0.1619, 0.1619, 0.162, 0.1619, 0.1619, 0.1619",\
                 "0.1624, 0.1624, 0.1624, 0.1624, 0.1624, 0.1624, 0.1625, 0.1625, 0.1625, 0.1625",\
                 "0.1683, 0.1683, 0.1682, 0.1682, 0.1682, 0.1683, 0.1683, 0.1683, 0.1683, 0.1683",\
                 "0.1809, 0.1809, 0.1808, 0.1807, 0.1808, 0.1808, 0.1808, 0.1808, 0.1808, 0.1809",\
                 "0.2018, 0.2019, 0.2018, 0.2018, 0.2018, 0.2018, 0.2018, 0.2018, 0.2018, 0.2018",\
                 "0.2327, 0.2327, 0.2326, 0.2325, 0.2326, 0.2326, 0.2326, 0.2326, 0.2326, 0.2326",\
                 "0.2732, 0.2732, 0.2731, 0.273, 0.273, 0.2731, 0.2731, 0.2731, 0.2731, 0.2731",\
                 "0.3246, 0.3245, 0.3245, 0.3244, 0.3244, 0.3244, 0.3244, 0.3245, 0.3245, 0.3245",\
                 "0.3869, 0.3869, 0.3868, 0.3867, 0.3867, 0.3867, 0.3867, 0.3867, 0.3867, 0.3868",\
                 "0.4611, 0.461, 0.461, 0.4608, 0.4608, 0.4608, 0.4608, 0.4608, 0.4608, 0.4609");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.1187, 0.1188, 0.1189, 0.119, 0.1194, 0.121, 0.1222, 0.1244, 0.1272, 0.1359",\
                 "0.1179, 0.1179, 0.1179, 0.1182, 0.1187, 0.1198, 0.1215, 0.1244, 0.1259, 0.1355",\
                 "0.1199, 0.1201, 0.1199, 0.1202, 0.1207, 0.1222, 0.1235, 0.1257, 0.1279, 0.1389",\
                 "0.1308, 0.1309, 0.1313, 0.1313, 0.1317, 0.1329, 0.1347, 0.1376, 0.1394, 0.1508",\
                 "0.154, 0.1541, 0.1537, 0.1549, 0.1554, 0.1562, 0.1578, 0.1594, 0.1624, 0.175",\
                 "0.1912, 0.1916, 0.1911, 0.1911, 0.1932, 0.1946, 0.1948, 0.1957, 0.2007, 0.2145",\
                 "0.2437, 0.2438, 0.244, 0.2436, 0.244, 0.2475, 0.2489, 0.2495, 0.2505, 0.2696",\
                 "0.3124, 0.3124, 0.3127, 0.3128, 0.3126, 0.3136, 0.3179, 0.3202, 0.3225, 0.3437",\
                 "0.398, 0.3982, 0.3985, 0.3985, 0.3982, 0.3983, 0.4004, 0.406, 0.4107, 0.4441",\
                 "0.5014, 0.5016, 0.5022, 0.5018, 0.5019, 0.5019, 0.503, 0.5059, 0.5167, 0.5665");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.2665, 0.2669, 0.269, 0.2708, 0.272, 0.2727, 0.2731, 0.2733, 0.2735, 0.2736",\
                 "0.2649, 0.2654, 0.2675, 0.2693, 0.2705, 0.2712, 0.2716, 0.2719, 0.272, 0.2721",\
                 "0.2661, 0.2664, 0.2681, 0.2697, 0.2711, 0.2718, 0.2722, 0.2725, 0.2726, 0.2728",\
                 "0.2814, 0.2799, 0.279, 0.2797, 0.2806, 0.2813, 0.2817, 0.282, 0.2822, 0.2823",\
                 "0.311, 0.3079, 0.3045, 0.3031, 0.3032, 0.3035, 0.3038, 0.304, 0.3042, 0.3043",\
                 "0.3556, 0.3511, 0.3449, 0.3415, 0.3404, 0.3401, 0.3402, 0.3404, 0.3404, 0.3404",\
                 "0.4168, 0.4109, 0.4021, 0.3964, 0.394, 0.3929, 0.3924, 0.3923, 0.3923, 0.3923",\
                 "0.4963, 0.4888, 0.4773, 0.4693, 0.4651, 0.4631, 0.4622, 0.4617, 0.4615, 0.4612",\
                 "0.5948, 0.5858, 0.5716, 0.5613, 0.5547, 0.5518, 0.5501, 0.549, 0.5486, 0.5482",\
                 "0.7126, 0.7022, 0.6854, 0.6726, 0.6641, 0.6596, 0.6569, 0.6554, 0.6544, 0.6539");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.1206, 0.1228, 0.1273, 0.1312, 0.1338, 0.1366, 0.138, 0.1415, 0.1433, 0.1536",\
                 "0.1194, 0.1214, 0.1259, 0.1295, 0.1322, 0.1346, 0.1366, 0.1389, 0.1427, 0.1533",\
                 "0.1181, 0.12, 0.1233, 0.1271, 0.13, 0.1326, 0.135, 0.1389, 0.141, 0.1507",\
                 "0.1238, 0.1247, 0.1272, 0.1304, 0.1338, 0.1367, 0.1396, 0.1425, 0.1453, 0.1564",\
                 "0.142, 0.1417, 0.1423, 0.1454, 0.1479, 0.1508, 0.1535, 0.1564, 0.1607, 0.1744",\
                 "0.175, 0.1737, 0.1728, 0.173, 0.1771, 0.1794, 0.1815, 0.1841, 0.1879, 0.2046",\
                 "0.2249, 0.2221, 0.2191, 0.2174, 0.2191, 0.2232, 0.2251, 0.227, 0.2303, 0.2495",\
                 "0.2921, 0.2878, 0.2824, 0.279, 0.279, 0.2802, 0.2851, 0.2871, 0.2906, 0.3154",\
                 "0.3772, 0.3714, 0.3635, 0.3582, 0.3553, 0.3562, 0.3587, 0.365, 0.3683, 0.404",\
                 "0.4808, 0.473, 0.4633, 0.4559, 0.4512, 0.4501, 0.4498, 0.4531, 0.4682, 0.521");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.267, 0.285, 0.352, 0.486, 0.654, 0.856, 1.097, 1.374, 1.69, \
                 2.044");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.307, 0.32, 0.39, 0.509, 0.662, 0.851, 1.079, 1.344, 1.647, 1.994");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.2155, 0.2653, 0.386, 0.5493, 0.7584, 1.028, 1.372, 1.802, 2.327, 2.952",\
                 "0.231, 0.2809, 0.4018, 0.5648, 0.7739, 1.043, 1.387, 1.817, 2.342, 2.967",\
                 "0.2875, 0.3365, 0.456, 0.6184, 0.8273, 1.097, 1.441, 1.871, 2.395, 3.021",\
                 "0.3522, 0.4047, 0.5248, 0.6863, 0.8947, 1.164, 1.508, 1.938, 2.462, 3.088",\
                 "0.3722, 0.4248, 0.5443, 0.7053, 0.9132, 1.181, 1.525, 1.955, 2.48, 3.105",\
                 "0.3536, 0.4059, 0.5252, 0.6858, 0.8935, 1.162, 1.505, 1.934, 2.459, 3.084",\
                 "0.2979, 0.351, 0.4703, 0.6306, 0.8378, 1.106, 1.449, 1.879, 2.403, 3.027",\
                 "0.2066, 0.2601, 0.3802, 0.5411, 0.7481, 1.016, 1.359, 1.789, 2.313, 2.937",\
                 "0.0751, 0.1297, 0.251, 0.4123, 0.6195, 0.8875, 1.231, 1.661, 2.185, 2.809",\
                 "-0.0978, -0.042, 0.081, 0.2429, 0.4504, 0.7185, 1.062, 1.492, 2.016, 2.64");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.2089, 0.2588, 0.3936, 0.6216, 0.9706, 1.461, 2.106, 2.916, 3.908, 5.086",\
                 "0.2225, 0.2723, 0.4072, 0.6352, 0.9846, 1.474, 2.118, 2.931, 3.923, 5.104",\
                 "0.2687, 0.3193, 0.4545, 0.6827, 1.032, 1.522, 2.167, 2.977, 3.969, 5.148",\
                 "0.3123, 0.3687, 0.5093, 0.7392, 1.088, 1.578, 2.223, 3.034, 4.027, 5.204",\
                 "0.3297, 0.3952, 0.5445, 0.7769, 1.127, 1.617, 2.261, 3.073, 4.064, 5.246",\
                 "0.3147, 0.3923, 0.5567, 0.7935, 1.144, 1.634, 2.278, 3.09, 4.08, 5.263",\
                 "0.2635, 0.3547, 0.5396, 0.7856, 1.139, 1.629, 2.273, 3.085, 4.075, 5.257",\
                 "0.1746, 0.2793, 0.4885, 0.7472, 1.106, 1.599, 2.244, 3.055, 4.046, 5.226",\
                 "0.0449, 0.1644, 0.3999, 0.6748, 1.041, 1.541, 2.189, 3, 3.991, 5.171",\
                 "-0.1284, 0.0065, 0.2714, 0.5663, 0.9412, 1.449, 2.105, 2.92, 3.91, 5.091");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.1145, 0.1641, 0.2857, 0.4693, 0.7495, 1.157, 1.714, 2.43, 3.31, 4.362",\
                 "0.1143, 0.164, 0.2854, 0.4694, 0.7492, 1.156, 1.714, 2.431, 3.31, 4.359",\
                 "0.1121, 0.1614, 0.2836, 0.4681, 0.7487, 1.157, 1.714, 2.43, 3.309, 4.362",\
                 "0.1277, 0.1713, 0.2826, 0.4661, 0.7472, 1.157, 1.713, 2.431, 3.308, 4.357",\
                 "0.1298, 0.1714, 0.2826, 0.4656, 0.7444, 1.155, 1.714, 2.43, 3.31, 4.361",\
                 "0.1298, 0.1712, 0.2816, 0.4642, 0.7446, 1.153, 1.709, 2.424, 3.308, 4.362",\
                 "0.1316, 0.1722, 0.2818, 0.4646, 0.7432, 1.153, 1.71, 2.423, 3.301, 4.354",\
                 "0.1344, 0.1744, 0.2832, 0.465, 0.7438, 1.154, 1.711, 2.424, 3.301, 4.348",\
                 "0.1386, 0.178, 0.2848, 0.4658, 0.7444, 1.152, 1.712, 2.426, 3.302, 4.35",\
                 "0.1428, 0.1824, 0.2876, 0.4666, 0.7454, 1.153, 1.711, 2.426, 3.302, 4.35");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.1128, 0.1702, 0.3589, 0.7396, 1.352, 2.214, 3.351, 4.783, 6.529, 8.626",\
                 "0.1129, 0.1703, 0.3588, 0.7396, 1.35, 2.215, 3.354, 4.784, 6.531, 8.613",\
                 "0.1154, 0.1714, 0.3595, 0.7391, 1.352, 2.214, 3.35, 4.784, 6.532, 8.63",\
                 "0.1346, 0.1865, 0.3671, 0.7407, 1.352, 2.217, 3.351, 4.782, 6.528, 8.628",\
                 "0.1614, 0.2102, 0.379, 0.746, 1.355, 2.216, 3.353, 4.783, 6.531, 8.611",\
                 "0.1934, 0.2456, 0.3998, 0.7526, 1.355, 2.216, 3.348, 4.78, 6.527, 8.612",\
                 "0.2278, 0.2848, 0.433, 0.769, 1.362, 2.217, 3.351, 4.781, 6.527, 8.611",\
                 "0.2648, 0.3284, 0.475, 0.7934, 1.378, 2.227, 3.353, 4.781, 6.534, 8.606",\
                 "0.3032, 0.375, 0.5248, 0.8232, 1.401, 2.247, 3.366, 4.784, 6.527, 8.612",\
                 "0.344, 0.4248, 0.5828, 0.8622, 1.427, 2.277, 3.394, 4.802, 6.531, 8.608");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.3225, 0.3763, 0.5042, 0.6706, 0.881, 1.151, 1.495, 1.925, 2.45, 3.075",\
                 "0.3387, 0.3922, 0.5203, 0.6866, 0.897, 1.167, 1.511, 1.942, 2.466, 3.092",\
                 "0.4026, 0.456, 0.584, 0.7505, 0.961, 1.231, 1.575, 2.006, 2.53, 3.156",\
                 "0.5152, 0.5693, 0.7002, 0.8688, 1.08, 1.35, 1.695, 2.125, 2.65, 3.275",\
                 "0.6544, 0.7094, 0.8468, 1.022, 1.237, 1.509, 1.853, 2.284, 2.808, 3.433",\
                 "0.8227, 0.8809, 1.025, 1.208, 1.427, 1.702, 2.047, 2.477, 3.002, 3.627",\
                 "1.018, 1.081, 1.236, 1.431, 1.658, 1.936, 2.283, 2.714, 3.239, 3.864",\
                 "1.238, 1.305, 1.474, 1.688, 1.93, 2.216, 2.567, 2.998, 3.524, 4.149",\
                 "1.482, 1.556, 1.738, 1.973, 2.234, 2.537, 2.898, 3.334, 3.859, 4.485",\
                 "1.753, 1.831, 2.026, 2.282, 2.566, 2.89, 3.271, 3.72, 4.25, 4.877");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.3215, 0.3734, 0.5116, 0.7426, 1.093, 1.584, 2.229, 3.042, 4.034, 5.214",\
                 "0.3341, 0.386, 0.524, 0.7547, 1.106, 1.596, 2.24, 3.055, 4.047, 5.226",\
                 "0.3787, 0.4303, 0.5678, 0.7987, 1.15, 1.641, 2.286, 3.098, 4.091, 5.269",\
                 "0.4345, 0.488, 0.6276, 0.8588, 1.21, 1.701, 2.347, 3.158, 4.15, 5.329",\
                 "0.4781, 0.5347, 0.6788, 0.9116, 1.263, 1.754, 2.401, 3.212, 4.206, 5.39",\
                 "0.5073, 0.5674, 0.7184, 0.9534, 1.305, 1.796, 2.441, 3.254, 4.247, 5.43",\
                 "0.5154, 0.5799, 0.7403, 0.982, 1.335, 1.825, 2.47, 3.282, 4.273, 5.457",\
                 "0.4987, 0.5672, 0.7387, 0.99, 1.35, 1.842, 2.486, 3.299, 4.289, 5.47",\
                 "0.4557, 0.5287, 0.7108, 0.9733, 1.342, 1.844, 2.491, 3.302, 4.293, 5.473",\
                 "0.3848, 0.4626, 0.6556, 0.9298, 1.309, 1.822, 2.479, 3.294, 4.283, 5.464");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.1223, 0.1742, 0.2928, 0.4731, 0.7519, 1.158, 1.715, 2.43, 3.309, 4.361",\
                 "0.1222, 0.1744, 0.293, 0.4729, 0.7509, 1.158, 1.716, 2.428, 3.31, 4.362",\
                 "0.1228, 0.1752, 0.2942, 0.4729, 0.7511, 1.158, 1.715, 2.431, 3.31, 4.36",\
                 "0.131, 0.1854, 0.3034, 0.4788, 0.7538, 1.159, 1.714, 2.431, 3.311, 4.362",\
                 "0.1436, 0.1994, 0.3254, 0.4952, 0.7624, 1.164, 1.715, 2.431, 3.31, 4.36",\
                 "0.1614, 0.2182, 0.3482, 0.515, 0.7774, 1.172, 1.721, 2.433, 3.311, 4.359",\
                 "0.1858, 0.2446, 0.3844, 0.5476, 0.7986, 1.185, 1.728, 2.434, 3.309, 4.36",\
                 "0.2116, 0.2748, 0.4276, 0.599, 0.843, 1.214, 1.741, 2.441, 3.312, 4.357",\
                 "0.2402, 0.3074, 0.4736, 0.6622, 0.909, 1.275, 1.784, 2.462, 3.319, 4.36",\
                 "0.2676, 0.3408, 0.5206, 0.7298, 0.9862, 1.358, 1.863, 2.518, 3.349, 4.37");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007529, 0.0147, 0.03985, 0.08788, 0.1627, 0.2677, 0.4059, 0.58, 0.7924, 1.046");
          values("0.1123, 0.1686, 0.3574, 0.738, 1.353, 2.214, 3.355, 4.783, 6.53, 8.615",\
                 "0.1127, 0.1684, 0.3575, 0.7379, 1.352, 2.214, 3.349, 4.784, 6.533, 8.615",\
                 "0.1131, 0.1691, 0.3579, 0.7386, 1.35, 2.214, 3.355, 4.782, 6.528, 8.624",\
                 "0.1217, 0.1765, 0.3614, 0.7394, 1.35, 2.215, 3.351, 4.785, 6.533, 8.627",\
                 "0.1336, 0.19, 0.372, 0.7438, 1.353, 2.216, 3.35, 4.79, 6.534, 8.613",\
                 "0.1478, 0.2072, 0.3864, 0.7486, 1.354, 2.217, 3.347, 4.78, 6.531, 8.616",\
                 "0.166, 0.2282, 0.409, 0.7642, 1.358, 2.218, 3.35, 4.781, 6.525, 8.611",\
                 "0.1872, 0.2508, 0.4378, 0.7894, 1.378, 2.223, 3.351, 4.78, 6.525, 8.604",\
                 "0.209, 0.2754, 0.469, 0.8206, 1.41, 2.249, 3.361, 4.783, 6.524, 8.621",\
                 "0.2332, 0.3014, 0.5016, 0.855, 1.451, 2.294, 3.395, 4.796, 6.529, 8.604");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__bufz_4) {
    area : 48.294400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "7.7946e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "7.7946e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0001343397" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0001338381" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001343397" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008184 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09693, 0.09545, 0.09792, 0.1072, 0.1235, 0.148, 0.1822, 0.2296, \
                 0.2917, 0.369");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1644, 0.1624, 0.1648, 0.1774, 0.2036, 0.2454, 0.3043, 0.3813, \
                 0.4782, 0.5955");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.009013 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03142, 0.03143, 0.0314, 0.03139, 0.03136, 0.03145, 0.03139, \
                 0.03139, 0.03142, 0.03143");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0313, -0.03126, -0.03124, -0.03127, -0.03124, -0.03127, -0.0313, \
                 -0.03132, -0.03131, -0.03133");
        }
      }
    }

    pin(Z) {
      capacitance : 0.007369 ;
      direction : output ;
      function : "I" ;
      max_capacitance : 1.393 ;
      max_transition : 8.6 ;
      min_capacitance : 0.008369 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.1875, 0.1875, 0.1874, 0.1874, 0.1874, 0.1875, 0.1875, 0.1876, 0.1876, 0.1876",\
                 "0.1881, 0.1881, 0.188, 0.188, 0.188, 0.1881, 0.1881, 0.1881, 0.1881, 0.1882",\
                 "0.1939, 0.1939, 0.1939, 0.1938, 0.1939, 0.1939, 0.1939, 0.194, 0.194, 0.194",\
                 "0.2066, 0.2066, 0.2065, 0.2064, 0.2065, 0.2065, 0.2065, 0.2066, 0.2066, 0.2066",\
                 "0.2277, 0.2277, 0.2278, 0.2277, 0.2277, 0.2277, 0.2277, 0.2277, 0.2277, 0.2277",\
                 "0.2584, 0.2583, 0.2583, 0.2582, 0.2583, 0.2583, 0.2583, 0.2583, 0.2583, 0.2584",\
                 "0.299, 0.2991, 0.299, 0.2988, 0.2988, 0.2989, 0.2989, 0.2989, 0.2989, 0.2989",\
                 "0.3504, 0.3504, 0.3503, 0.3502, 0.3502, 0.3503, 0.3503, 0.3503, 0.3504, 0.3503",\
                 "0.4128, 0.4128, 0.4127, 0.4125, 0.4126, 0.4126, 0.4126, 0.4126, 0.4126, 0.4127",\
                 "0.4868, 0.4869, 0.4867, 0.4865, 0.4865, 0.4865, 0.4865, 0.4866, 0.4866, 0.4866");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.1431, 0.1433, 0.1432, 0.1435, 0.1442, 0.1456, 0.1477, 0.1505, 0.155, 0.1668",\
                 "0.1423, 0.1425, 0.1423, 0.1427, 0.1434, 0.145, 0.1471, 0.1499, 0.155, 0.1658",\
                 "0.1444, 0.1445, 0.1445, 0.1447, 0.1455, 0.1473, 0.1494, 0.1515, 0.1547, 0.1713",\
                 "0.155, 0.1551, 0.1556, 0.1558, 0.1565, 0.1579, 0.1599, 0.1627, 0.1663, 0.1816",\
                 "0.1778, 0.1782, 0.1774, 0.1791, 0.1798, 0.1813, 0.1827, 0.1849, 0.1901, 0.2066",\
                 "0.2149, 0.2149, 0.215, 0.2147, 0.2172, 0.2192, 0.2193, 0.2208, 0.2257, 0.2453",\
                 "0.267, 0.2673, 0.2676, 0.2668, 0.2675, 0.2714, 0.2738, 0.274, 0.2769, 0.3011",\
                 "0.3355, 0.3358, 0.336, 0.3359, 0.3358, 0.3374, 0.3434, 0.3457, 0.3489, 0.3798",\
                 "0.4212, 0.4214, 0.4217, 0.4219, 0.4219, 0.4222, 0.4243, 0.4319, 0.4381, 0.4813",\
                 "0.5247, 0.525, 0.5261, 0.5253, 0.5249, 0.5251, 0.5259, 0.5305, 0.5466, 0.6116");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.3096, 0.3105, 0.3141, 0.317, 0.3187, 0.3196, 0.3202, 0.3205, 0.3207, 0.3209",\
                 "0.3072, 0.308, 0.3117, 0.3145, 0.3163, 0.3172, 0.3178, 0.3181, 0.3183, 0.3185",\
                 "0.3085, 0.3088, 0.3119, 0.3146, 0.3165, 0.3175, 0.3182, 0.3186, 0.3188, 0.319",\
                 "0.3281, 0.3264, 0.3257, 0.3273, 0.3287, 0.3297, 0.3304, 0.3309, 0.3312, 0.3314",\
                 "0.3658, 0.3617, 0.3578, 0.3567, 0.3574, 0.3581, 0.3586, 0.359, 0.3593, 0.3595",\
                 "0.4211, 0.4152, 0.408, 0.4049, 0.404, 0.4041, 0.4047, 0.4049, 0.4051, 0.4053",\
                 "0.4965, 0.4888, 0.4787, 0.473, 0.4704, 0.4701, 0.47, 0.4701, 0.4704, 0.4705",\
                 "0.5941, 0.5845, 0.571, 0.5631, 0.5591, 0.5577, 0.5571, 0.5569, 0.5568, 0.5569",\
                 "0.715, 0.7038, 0.6874, 0.6762, 0.6705, 0.6678, 0.6668, 0.666, 0.6659, 0.6657",\
                 "0.8607, 0.8476, 0.8279, 0.8143, 0.8061, 0.802, 0.7999, 0.7988, 0.7982, 0.7981");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.1446, 0.1485, 0.155, 0.1593, 0.1625, 0.1651, 0.1685, 0.1719, 0.1751, 0.1875",\
                 "0.1428, 0.1465, 0.1529, 0.1574, 0.1602, 0.1631, 0.1655, 0.1686, 0.1728, 0.1865",\
                 "0.1408, 0.1435, 0.149, 0.1537, 0.1575, 0.1614, 0.1642, 0.1673, 0.1712, 0.1863",\
                 "0.1465, 0.1485, 0.1532, 0.1578, 0.1619, 0.1661, 0.1695, 0.1746, 0.1781, 0.1957",\
                 "0.1665, 0.1672, 0.1698, 0.1756, 0.1787, 0.1835, 0.1866, 0.1917, 0.1966, 0.2128",\
                 "0.2046, 0.2047, 0.205, 0.2085, 0.2138, 0.2182, 0.2206, 0.2244, 0.2286, 0.2505",\
                 "0.263, 0.261, 0.2603, 0.2607, 0.2647, 0.2707, 0.2744, 0.2775, 0.2815, 0.3073",\
                 "0.343, 0.3396, 0.3367, 0.3357, 0.337, 0.34, 0.3483, 0.3523, 0.3571, 0.3862",\
                 "0.4457, 0.4403, 0.4348, 0.4315, 0.4316, 0.432, 0.4361, 0.446, 0.4519, 0.4991",\
                 "0.5721, 0.5642, 0.5553, 0.5501, 0.549, 0.5475, 0.5486, 0.5542, 0.5717, 0.6393");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.309, 0.325, 0.392, 0.529, 0.71, 0.925, 1.18, 1.475, 1.809, 2.186");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.325, 0.339, 0.408, 0.528, 0.681, 0.872, 1.101, 1.368, 1.673, \
                 2.021");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.2136, 0.2681, 0.396, 0.5648, 0.778, 1.05, 1.395, 1.826, 2.35, 2.976",\
                 "0.2294, 0.2838, 0.4116, 0.5806, 0.7937, 1.065, 1.411, 1.841, 2.366, 2.992",\
                 "0.286, 0.3398, 0.4664, 0.6349, 0.8479, 1.12, 1.465, 1.896, 2.421, 3.046",\
                 "0.3516, 0.4108, 0.5398, 0.7078, 0.9207, 1.192, 1.537, 1.968, 2.493, 3.118",\
                 "0.3748, 0.4341, 0.5633, 0.7312, 0.9434, 1.214, 1.559, 1.99, 2.515, 3.14",\
                 "0.3573, 0.4169, 0.5456, 0.7133, 0.9254, 1.196, 1.541, 1.971, 2.496, 3.121",\
                 "0.3028, 0.3632, 0.4922, 0.6595, 0.8714, 1.142, 1.487, 1.917, 2.441, 3.066",\
                 "0.212, 0.2729, 0.4031, 0.5709, 0.7828, 1.054, 1.398, 1.828, 2.353, 2.977",\
                 "0.0809, 0.1431, 0.2745, 0.4431, 0.6552, 0.926, 1.27, 1.701, 2.225, 2.85",\
                 "-0.0923, -0.0284, 0.1047, 0.2738, 0.4865, 0.7574, 1.102, 1.532, 2.057, 2.682");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.2089, 0.2613, 0.3967, 0.6246, 0.9738, 1.463, 2.108, 2.922, 3.914, 5.096",\
                 "0.2228, 0.2753, 0.4107, 0.6385, 0.9878, 1.477, 2.122, 2.936, 3.928, 5.11",\
                 "0.2705, 0.3238, 0.4595, 0.6875, 1.036, 1.527, 2.172, 2.983, 3.974, 5.159",\
                 "0.3169, 0.3782, 0.5207, 0.7502, 1.099, 1.589, 2.233, 3.046, 4.037, 5.221",\
                 "0.3354, 0.4077, 0.5613, 0.7937, 1.144, 1.633, 2.278, 3.091, 4.082, 5.265",\
                 "0.3201, 0.4062, 0.5774, 0.8147, 1.165, 1.655, 2.299, 3.112, 4.101, 5.281",\
                 "0.2676, 0.3683, 0.5622, 0.8094, 1.162, 1.652, 2.296, 3.107, 4.098, 5.277",\
                 "0.1761, 0.2916, 0.5111, 0.7724, 1.13, 1.623, 2.267, 3.078, 4.068, 5.249",\
                 "0.0426, 0.1735, 0.4214, 0.7002, 1.065, 1.563, 2.21, 3.022, 4.012, 5.192",\
                 "-0.1358, 0.0115, 0.2891, 0.5895, 0.9629, 1.468, 2.122, 2.936, 3.927, 5.108");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.1094, 0.1631, 0.2915, 0.4784, 0.7581, 1.163, 1.718, 2.432, 3.312, 4.363",\
                 "0.1093, 0.1629, 0.2914, 0.4777, 0.7578, 1.163, 1.718, 2.431, 3.311, 4.363",\
                 "0.1075, 0.161, 0.2895, 0.4771, 0.7569, 1.163, 1.717, 2.43, 3.31, 4.362",\
                 "0.1255, 0.1748, 0.2913, 0.4762, 0.7566, 1.163, 1.717, 2.432, 3.308, 4.358",\
                 "0.1304, 0.1766, 0.2922, 0.4754, 0.7538, 1.161, 1.716, 2.431, 3.309, 4.358",\
                 "0.1312, 0.177, 0.2918, 0.4758, 0.7554, 1.159, 1.712, 2.427, 3.31, 4.365",\
                 "0.1334, 0.1784, 0.2924, 0.4754, 0.754, 1.159, 1.713, 2.425, 3.303, 4.357",\
                 "0.136, 0.1816, 0.2936, 0.4756, 0.7544, 1.159, 1.715, 2.428, 3.304, 4.352",\
                 "0.14, 0.1848, 0.2964, 0.478, 0.7548, 1.161, 1.716, 2.428, 3.304, 4.354",\
                 "0.1452, 0.1892, 0.2984, 0.4788, 0.7554, 1.16, 1.715, 2.427, 3.305, 4.352");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.1037, 0.1607, 0.348, 0.7284, 1.341, 2.206, 3.342, 4.775, 6.526, 8.605",\
                 "0.1036, 0.1607, 0.3481, 0.7283, 1.341, 2.206, 3.343, 4.775, 6.526, 8.606",\
                 "0.1064, 0.1617, 0.3483, 0.7285, 1.342, 2.209, 3.342, 4.782, 6.537, 8.613",\
                 "0.1291, 0.1802, 0.3566, 0.7319, 1.343, 2.207, 3.343, 4.775, 6.525, 8.609",\
                 "0.1554, 0.2076, 0.371, 0.7362, 1.344, 2.207, 3.344, 4.774, 6.521, 8.608",\
                 "0.1866, 0.2428, 0.3954, 0.7424, 1.345, 2.206, 3.338, 4.769, 6.523, 8.611",\
                 "0.2192, 0.2826, 0.4312, 0.759, 1.352, 2.209, 3.341, 4.771, 6.517, 8.6",\
                 "0.2532, 0.3254, 0.4748, 0.7836, 1.366, 2.215, 3.343, 4.771, 6.516, 8.6",\
                 "0.2904, 0.3708, 0.5272, 0.8176, 1.387, 2.234, 3.353, 4.774, 6.518, 8.613",\
                 "0.33, 0.419, 0.5852, 0.8566, 1.412, 2.261, 3.379, 4.788, 6.522, 8.6");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.3217, 0.3804, 0.5154, 0.6877, 0.902, 1.174, 1.52, 1.951, 2.476, 3.101",\
                 "0.3367, 0.3955, 0.5304, 0.7028, 0.9172, 1.189, 1.535, 1.966, 2.491, 3.116",\
                 "0.4001, 0.4586, 0.5936, 0.7661, 0.9806, 1.253, 1.599, 2.029, 2.554, 3.18",\
                 "0.5139, 0.5729, 0.7106, 0.885, 1.101, 1.373, 1.719, 2.15, 2.675, 3.3",\
                 "0.6581, 0.718, 0.8621, 1.043, 1.262, 1.536, 1.882, 2.313, 2.838, 3.464",\
                 "0.8393, 0.9015, 1.051, 1.239, 1.462, 1.739, 2.086, 2.517, 3.042, 3.667",\
                 "1.054, 1.121, 1.282, 1.481, 1.711, 1.99, 2.338, 2.771, 3.295, 3.921",\
                 "1.301, 1.374, 1.549, 1.767, 2.01, 2.297, 2.648, 3.08, 3.607, 4.232",\
                 "1.581, 1.66, 1.849, 2.089, 2.353, 2.657, 3.017, 3.452, 3.978, 4.604",\
                 "1.894, 1.979, 2.183, 2.445, 2.734, 3.061, 3.44, 3.887, 4.416, 5.042");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.2947, 0.3489, 0.4874, 0.7175, 1.068, 1.558, 2.203, 3.017, 4.009, 5.188",\
                 "0.307, 0.3612, 0.4995, 0.7297, 1.08, 1.571, 2.216, 3.03, 4.022, 5.203",\
                 "0.3462, 0.4002, 0.5382, 0.7687, 1.12, 1.611, 2.257, 3.067, 4.059, 5.243",\
                 "0.3845, 0.4407, 0.5811, 0.8122, 1.163, 1.655, 2.3, 3.115, 4.105, 5.29",\
                 "0.4072, 0.4668, 0.6113, 0.8439, 1.196, 1.687, 2.332, 3.147, 4.14, 5.319",\
                 "0.4081, 0.4729, 0.6256, 0.8612, 1.213, 1.705, 2.35, 3.162, 4.157, 5.34",\
                 "0.3805, 0.4513, 0.6152, 0.8589, 1.214, 1.706, 2.351, 3.163, 4.154, 5.339",\
                 "0.3224, 0.3986, 0.575, 0.8294, 1.194, 1.689, 2.335, 3.147, 4.138, 5.319",\
                 "0.2324, 0.3136, 0.5025, 0.7689, 1.144, 1.651, 2.301, 3.114, 4.104, 5.286",\
                 "0.1089, 0.1954, 0.3966, 0.6745, 1.061, 1.581, 2.246, 3.063, 4.055, 5.236");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.1164, 0.1726, 0.2983, 0.4811, 0.7595, 1.164, 1.717, 2.43, 3.31, 4.363",\
                 "0.1162, 0.1726, 0.2977, 0.4812, 0.759, 1.163, 1.717, 2.431, 3.312, 4.363",\
                 "0.1168, 0.1732, 0.2991, 0.4817, 0.7595, 1.162, 1.717, 2.432, 3.311, 4.363",\
                 "0.1241, 0.183, 0.3082, 0.4864, 0.7624, 1.165, 1.719, 2.431, 3.31, 4.362",\
                 "0.1348, 0.1962, 0.3282, 0.503, 0.7708, 1.169, 1.719, 2.432, 3.312, 4.363",\
                 "0.1512, 0.2116, 0.348, 0.5194, 0.7842, 1.178, 1.723, 2.435, 3.31, 4.358",\
                 "0.1728, 0.2368, 0.3802, 0.5472, 0.8018, 1.189, 1.731, 2.437, 3.313, 4.359",\
                 "0.1972, 0.2652, 0.4232, 0.5972, 0.8412, 1.212, 1.742, 2.442, 3.314, 4.363",\
                 "0.2238, 0.2966, 0.4684, 0.6616, 0.9082, 1.269, 1.778, 2.459, 3.322, 4.364",\
                 "0.2506, 0.3294, 0.5166, 0.7322, 0.9912, 1.357, 1.851, 2.505, 3.342, 4.369");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008369, 0.01793, 0.05147, 0.1155, 0.2153, 0.3554, 0.5396, 0.7718, 1.055, 1.393");
          values("0.09972, 0.1564, 0.3456, 0.7281, 1.343, 2.203, 3.345, 4.774, 6.521, 8.615",\
                 "0.09994, 0.156, 0.3456, 0.7288, 1.34, 2.207, 3.344, 4.776, 6.525, 8.606",\
                 "0.1012, 0.1574, 0.3461, 0.7296, 1.341, 2.205, 3.342, 4.777, 6.528, 8.607",\
                 "0.1092, 0.165, 0.3508, 0.7296, 1.342, 2.209, 3.342, 4.776, 6.524, 8.611",\
                 "0.12, 0.1752, 0.3582, 0.7332, 1.342, 2.207, 3.341, 4.776, 6.521, 8.615",\
                 "0.1362, 0.194, 0.3726, 0.7388, 1.344, 2.206, 3.339, 4.776, 6.523, 8.608",\
                 "0.1548, 0.2166, 0.3954, 0.7568, 1.352, 2.207, 3.341, 4.776, 6.527, 8.604",\
                 "0.1738, 0.2404, 0.4246, 0.7832, 1.378, 2.219, 3.344, 4.772, 6.523, 8.599",\
                 "0.1952, 0.2654, 0.4554, 0.815, 1.415, 2.255, 3.361, 4.775, 6.516, 8.602",\
                 "0.2196, 0.2918, 0.4876, 0.8492, 1.455, 2.304, 3.404, 4.798, 6.523, 8.598");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__bufz_8) {
    area : 74.636800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "0.0001004388" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "0.0001004388" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0002025804" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0002011878" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002025804" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008261 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0967, 0.09527, 0.09763, 0.1068, 0.1228, 0.147, 0.1802, 0.2249, \
                 0.2842, 0.3593");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2014, 0.1996, 0.2018, 0.2141, 0.2394, 0.2795, 0.3366, 0.412, \
                 0.5071, 0.6228");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.01771 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06288, 0.06274, 0.06271, 0.06269, 0.06269, 0.06286, 0.06284, \
                 0.0628, 0.06278, 0.06278");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06252, -0.06254, -0.06254, -0.06252, -0.06244, -0.06264, -0.0626, \
                 -0.06265, -0.06265, -0.06268");
        }
      }
    }

    pin(Z) {
      capacitance : 0.01502 ;
      direction : output ;
      function : "I" ;
      max_capacitance : 2.782 ;
      max_transition : 8.6 ;
      min_capacitance : 0.01602 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.318, 0.3178, 0.3179, 0.3178, 0.3177, 0.3178, 0.3179, 0.318, 0.318, 0.318",\
                 "0.3184, 0.3185, 0.3185, 0.3183, 0.3184, 0.3184, 0.3185, 0.3185, 0.3185, 0.3185",\
                 "0.3244, 0.3244, 0.3243, 0.3243, 0.3243, 0.3244, 0.3244, 0.3245, 0.3245, 0.3245",\
                 "0.3371, 0.337, 0.337, 0.3368, 0.3368, 0.3369, 0.337, 0.337, 0.337, 0.3371",\
                 "0.3582, 0.3583, 0.3582, 0.3582, 0.3581, 0.3581, 0.3581, 0.3582, 0.3582, 0.3582",\
                 "0.3888, 0.389, 0.3888, 0.3888, 0.3888, 0.3888, 0.3888, 0.3888, 0.3888, 0.3888",\
                 "0.4296, 0.4297, 0.4295, 0.4294, 0.4294, 0.4295, 0.4296, 0.4295, 0.4295, 0.4295",\
                 "0.4808, 0.481, 0.4807, 0.4805, 0.4804, 0.4805, 0.4806, 0.4806, 0.4806, 0.4806",\
                 "0.5434, 0.5432, 0.5433, 0.5431, 0.543, 0.543, 0.543, 0.5431, 0.5432, 0.5433",\
                 "0.6175, 0.6174, 0.6174, 0.6171, 0.617, 0.6171, 0.6171, 0.6172, 0.6172, 0.6172");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.2793, 0.2798, 0.2798, 0.2802, 0.2814, 0.2848, 0.289, 0.295, 0.3011, 0.3313",\
                 "0.2789, 0.2788, 0.2788, 0.2797, 0.2807, 0.2838, 0.2867, 0.2927, 0.3005, 0.3313",\
                 "0.2806, 0.2809, 0.2808, 0.2814, 0.2827, 0.2865, 0.2917, 0.294, 0.3005, 0.333",\
                 "0.2905, 0.2913, 0.2911, 0.2919, 0.2936, 0.2967, 0.3003, 0.3056, 0.3114, 0.3447",\
                 "0.3115, 0.3116, 0.3111, 0.3144, 0.3147, 0.3181, 0.3217, 0.3263, 0.3359, 0.3735",\
                 "0.3469, 0.3468, 0.3474, 0.3463, 0.353, 0.3548, 0.357, 0.3603, 0.3689, 0.4166",\
                 "0.3974, 0.3976, 0.3983, 0.3972, 0.3989, 0.4076, 0.4108, 0.4138, 0.4181, 0.4733",\
                 "0.464, 0.4643, 0.4645, 0.4653, 0.4632, 0.4673, 0.4795, 0.4828, 0.4883, 0.5518",\
                 "0.5481, 0.5484, 0.5491, 0.5497, 0.548, 0.5485, 0.5557, 0.5709, 0.5806, 0.6771",\
                 "0.6504, 0.6506, 0.6511, 0.653, 0.6516, 0.6521, 0.653, 0.6626, 0.6999, 0.8368");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.5247, 0.5313, 0.5438, 0.5515, 0.555, 0.5569, 0.558, 0.5587, 0.559, 0.5593",\
                 "0.5192, 0.526, 0.5383, 0.5457, 0.5492, 0.5511, 0.5522, 0.5529, 0.5533, 0.5536",\
                 "0.5214, 0.5266, 0.5374, 0.5451, 0.5492, 0.5515, 0.5528, 0.5536, 0.5541, 0.5544",\
                 "0.5505, 0.5524, 0.5589, 0.5659, 0.5706, 0.5735, 0.5753, 0.5763, 0.5771, 0.5776",\
                 "0.6109, 0.61, 0.6133, 0.6183, 0.6231, 0.6265, 0.6286, 0.6301, 0.631, 0.6317",\
                 "0.7037, 0.7012, 0.7016, 0.7056, 0.7102, 0.7139, 0.7165, 0.7181, 0.7195, 0.7204",\
                 "0.834, 0.8305, 0.8291, 0.8315, 0.8356, 0.8398, 0.8426, 0.8445, 0.846, 0.8471",\
                 "1.005, 1.001, 0.9978, 0.9994, 1.003, 1.006, 1.01, 1.012, 1.014, 1.015",\
                 "1.22, 1.215, 1.21, 1.21, 1.213, 1.216, 1.22, 1.222, 1.224, 1.226",\
                 "1.481, 1.475, 1.468, 1.467, 1.469, 1.472, 1.475, 1.478, 1.48, 1.482");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.2727, 0.2811, 0.2934, 0.3015, 0.3057, 0.3108, 0.3161, 0.3227, 0.3288, 0.3544",\
                 "0.2685, 0.2766, 0.2881, 0.2957, 0.3008, 0.3062, 0.3118, 0.318, 0.3249, 0.3516",\
                 "0.2619, 0.2686, 0.2776, 0.287, 0.2935, 0.2996, 0.3065, 0.3137, 0.3196, 0.3478",\
                 "0.2698, 0.275, 0.2842, 0.2935, 0.3018, 0.3085, 0.3177, 0.3213, 0.3288, 0.3651",\
                 "0.3031, 0.3072, 0.3135, 0.3257, 0.3321, 0.3405, 0.3491, 0.3537, 0.3655, 0.3987",\
                 "0.3678, 0.3712, 0.3781, 0.3841, 0.3975, 0.4042, 0.4114, 0.416, 0.4249, 0.4707",\
                 "0.4697, 0.4726, 0.4776, 0.4833, 0.4905, 0.5049, 0.5124, 0.5167, 0.5273, 0.5805",\
                 "0.611, 0.6131, 0.618, 0.6221, 0.6301, 0.6365, 0.6556, 0.6616, 0.6703, 0.7344",\
                 "0.7939, 0.7958, 0.7991, 0.8023, 0.807, 0.8134, 0.8249, 0.8418, 0.8554, 0.9485",\
                 "1.019, 1.021, 1.025, 1.027, 1.03, 1.034, 1.043, 1.054, 1.091, 1.235");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.506, 0.524, 0.59, 0.726, 0.941, 1.197, 1.49, 1.829, 2.215, 2.647");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.406, 0.419, 0.489, 0.61, 0.763, 0.957, 1.19, 1.462, 1.773, 2.127");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.2493, 0.3119, 0.4566, 0.6451, 0.8752, 1.158, 1.51, 1.943, 2.469, 3.095",\
                 "0.2651, 0.3278, 0.4722, 0.661, 0.8913, 1.174, 1.525, 1.959, 2.484, 3.11",\
                 "0.3213, 0.3837, 0.528, 0.7168, 0.9466, 1.23, 1.581, 2.014, 2.54, 3.166",\
                 "0.394, 0.463, 0.6141, 0.8051, 1.036, 1.32, 1.671, 2.104, 2.63, 3.256",\
                 "0.4274, 0.5014, 0.6561, 0.848, 1.079, 1.362, 1.713, 2.147, 2.672, 3.298",\
                 "0.4174, 0.4919, 0.6474, 0.8392, 1.07, 1.353, 1.704, 2.137, 2.663, 3.289",\
                 "0.3665, 0.442, 0.5986, 0.791, 1.023, 1.306, 1.657, 2.09, 2.615, 3.24",\
                 "0.2776, 0.3543, 0.5115, 0.7051, 0.937, 1.221, 1.572, 2.005, 2.53, 3.155",\
                 "0.1494, 0.2266, 0.386, 0.5808, 0.8132, 1.097, 1.448, 1.882, 2.407, 3.032",\
                 "-0.0217, 0.0569, 0.2179, 0.414, 0.6474, 0.9317, 1.283, 1.716, 2.242, 2.867");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.271, 0.3342, 0.4832, 0.7163, 1.067, 1.556, 2.2, 3.013, 4.003, 5.187",\
                 "0.2852, 0.3484, 0.4974, 0.7306, 1.081, 1.57, 2.215, 3.028, 4.019, 5.203",\
                 "0.3352, 0.3987, 0.5478, 0.781, 1.131, 1.62, 2.266, 3.076, 4.069, 5.249",\
                 "0.3997, 0.4719, 0.628, 0.8626, 1.213, 1.702, 2.347, 3.16, 4.152, 5.335",\
                 "0.4349, 0.521, 0.6945, 0.9352, 1.286, 1.775, 2.419, 3.23, 4.225, 5.406",\
                 "0.4361, 0.5373, 0.7332, 0.9827, 1.335, 1.824, 2.468, 3.279, 4.271, 5.454",\
                 "0.399, 0.5163, 0.7395, 1.003, 1.357, 1.847, 2.49, 3.301, 4.292, 5.473",\
                 "0.3215, 0.4546, 0.7079, 0.9909, 1.352, 1.842, 2.485, 3.296, 4.286, 5.467",\
                 "0.2016, 0.3503, 0.6345, 0.9422, 1.312, 1.807, 2.452, 3.262, 4.251, 5.432",\
                 "0.0362, 0.2011, 0.5173, 0.8526, 1.235, 1.736, 2.384, 3.198, 4.186, 5.366");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.1261, 0.1862, 0.3314, 0.531, 0.8111, 1.207, 1.75, 2.455, 3.33, 4.374",\
                 "0.1259, 0.1862, 0.3313, 0.5306, 0.8108, 1.207, 1.751, 2.454, 3.327, 4.373",\
                 "0.1257, 0.1856, 0.3307, 0.5307, 0.8108, 1.207, 1.751, 2.455, 3.326, 4.377",\
                 "0.146, 0.2052, 0.3407, 0.5356, 0.814, 1.209, 1.751, 2.455, 3.327, 4.379",\
                 "0.1628, 0.2202, 0.3486, 0.5384, 0.814, 1.209, 1.751, 2.456, 3.329, 4.373",\
                 "0.1662, 0.2226, 0.3502, 0.5392, 0.8152, 1.208, 1.748, 2.452, 3.326, 4.377",\
                 "0.1686, 0.225, 0.352, 0.5404, 0.816, 1.209, 1.748, 2.45, 3.325, 4.372",\
                 "0.1716, 0.2276, 0.3546, 0.5432, 0.8172, 1.209, 1.75, 2.453, 3.323, 4.369",\
                 "0.1754, 0.2314, 0.3576, 0.5458, 0.8186, 1.212, 1.749, 2.452, 3.324, 4.371",\
                 "0.18, 0.2358, 0.3612, 0.5488, 0.8212, 1.212, 1.751, 2.455, 3.327, 4.371");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.1251, 0.1838, 0.3676, 0.7378, 1.344, 2.209, 3.344, 4.776, 6.534, 8.609",\
                 "0.1251, 0.1839, 0.3675, 0.7376, 1.345, 2.209, 3.345, 4.776, 6.522, 8.612",\
                 "0.126, 0.185, 0.3677, 0.7382, 1.345, 2.207, 3.35, 4.775, 6.523, 8.612",\
                 "0.1503, 0.2042, 0.3749, 0.7394, 1.345, 2.208, 3.345, 4.776, 6.524, 8.611",\
                 "0.1812, 0.2396, 0.4008, 0.748, 1.346, 2.208, 3.343, 4.778, 6.526, 8.606",\
                 "0.2148, 0.2808, 0.435, 0.7616, 1.35, 2.21, 3.342, 4.773, 6.531, 8.609",\
                 "0.2492, 0.3262, 0.4814, 0.7868, 1.358, 2.21, 3.343, 4.772, 6.529, 8.606",\
                 "0.284, 0.3734, 0.5366, 0.8218, 1.372, 2.216, 3.344, 4.773, 6.525, 8.602",\
                 "0.3198, 0.42, 0.5976, 0.8682, 1.397, 2.229, 3.35, 4.775, 6.518, 8.615",\
                 "0.3562, 0.4688, 0.6618, 0.9254, 1.427, 2.251, 3.369, 4.783, 6.524, 8.601");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.3373, 0.4034, 0.5516, 0.7411, 0.9711, 1.254, 1.606, 2.039, 2.565, 3.191",\
                 "0.3506, 0.4168, 0.5651, 0.7546, 0.9846, 1.268, 1.619, 2.052, 2.578, 3.204",\
                 "0.408, 0.474, 0.6225, 0.8127, 1.043, 1.326, 1.678, 2.111, 2.637, 3.263",\
                 "0.5049, 0.5732, 0.7252, 0.9178, 1.15, 1.434, 1.785, 2.219, 2.745, 3.37",\
                 "0.6362, 0.7062, 0.8634, 1.062, 1.297, 1.582, 1.934, 2.368, 2.893, 3.519",\
                 "0.8107, 0.8855, 1.05, 1.253, 1.491, 1.78, 2.133, 2.567, 3.094, 3.719",\
                 "1.021, 1.104, 1.285, 1.502, 1.748, 2.04, 2.396, 2.831, 3.358, 3.984",\
                 "1.263, 1.356, 1.559, 1.803, 2.069, 2.371, 2.731, 3.168, 3.696, 4.322",\
                 "1.537, 1.642, 1.869, 2.145, 2.446, 2.772, 3.144, 3.585, 4.113, 4.74",\
                 "1.844, 1.96, 2.212, 2.525, 2.868, 3.231, 3.629, 4.082, 4.614, 5.242");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.3472, 0.4114, 0.5618, 0.7963, 1.147, 1.637, 2.282, 3.094, 4.083, 5.267",\
                 "0.3567, 0.4208, 0.5712, 0.8056, 1.157, 1.647, 2.292, 3.104, 4.094, 5.278",\
                 "0.3837, 0.4476, 0.5982, 0.8333, 1.185, 1.676, 2.321, 3.133, 4.122, 5.306",\
                 "0.4034, 0.4686, 0.6212, 0.8573, 1.209, 1.7, 2.347, 3.157, 4.15, 5.332",\
                 "0.4115, 0.4795, 0.6348, 0.8731, 1.226, 1.717, 2.363, 3.175, 4.167, 5.346",\
                 "0.3979, 0.473, 0.6383, 0.8806, 1.234, 1.726, 2.372, 3.185, 4.174, 5.355",\
                 "0.3523, 0.4367, 0.6174, 0.8729, 1.232, 1.725, 2.37, 3.183, 4.175, 5.358",\
                 "0.2741, 0.3686, 0.5667, 0.8397, 1.215, 1.715, 2.361, 3.174, 4.165, 5.345",\
                 "0.1625, 0.2682, 0.4844, 0.7762, 1.171, 1.69, 2.344, 3.157, 4.148, 5.33",\
                 "0.0169, 0.1348, 0.3705, 0.6811, 1.097, 1.638, 2.313, 3.134, 4.126, 5.307");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.1261, 0.1852, 0.328, 0.5283, 0.8085, 1.206, 1.75, 2.455, 3.328, 4.374",\
                 "0.1265, 0.1852, 0.3285, 0.5282, 0.8088, 1.206, 1.75, 2.454, 3.326, 4.374",\
                 "0.128, 0.1872, 0.3299, 0.5291, 0.8092, 1.207, 1.75, 2.454, 3.326, 4.374",\
                 "0.1383, 0.1988, 0.3384, 0.5346, 0.812, 1.209, 1.751, 2.456, 3.33, 4.375",\
                 "0.1464, 0.21, 0.3526, 0.5462, 0.8208, 1.212, 1.753, 2.457, 3.328, 4.378",\
                 "0.162, 0.2274, 0.3672, 0.5592, 0.8312, 1.221, 1.759, 2.458, 3.327, 4.376",\
                 "0.1866, 0.2578, 0.4024, 0.59, 0.8516, 1.234, 1.766, 2.463, 3.331, 4.375",\
                 "0.2146, 0.2936, 0.4566, 0.6564, 0.905, 1.266, 1.782, 2.471, 3.335, 4.378",\
                 "0.244, 0.3332, 0.5162, 0.7488, 1.004, 1.342, 1.826, 2.491, 3.344, 4.383",\
                 "0.2742, 0.3744, 0.5824, 0.8552, 1.138, 1.471, 1.923, 2.546, 3.368, 4.395");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01602, 0.03511, 0.1021, 0.2301, 0.4294, 0.7091, 1.077, 1.541, 2.107, 2.782");
          values("0.1162, 0.1754, 0.3622, 0.7371, 1.343, 2.207, 3.347, 4.783, 6.532, 8.61",\
                 "0.1166, 0.1755, 0.3624, 0.7354, 1.345, 2.207, 3.346, 4.776, 6.533, 8.608",\
                 "0.1186, 0.1782, 0.3635, 0.7354, 1.345, 2.206, 3.347, 4.783, 6.531, 8.611",\
                 "0.1239, 0.183, 0.3664, 0.7364, 1.345, 2.208, 3.342, 4.776, 6.522, 8.609",\
                 "0.1322, 0.19, 0.3728, 0.7412, 1.346, 2.208, 3.348, 4.78, 6.525, 8.619",\
                 "0.15, 0.209, 0.3892, 0.7476, 1.35, 2.21, 3.342, 4.78, 6.519, 8.615",\
                 "0.173, 0.2358, 0.4198, 0.7748, 1.359, 2.21, 3.344, 4.777, 6.528, 8.602",\
                 "0.1988, 0.2646, 0.4548, 0.8174, 1.4, 2.229, 3.348, 4.774, 6.527, 8.613",\
                 "0.2278, 0.297, 0.493, 0.8676, 1.461, 2.283, 3.373, 4.779, 6.519, 8.616",\
                 "0.261, 0.3344, 0.533, 0.9164, 1.53, 2.365, 3.438, 4.814, 6.528, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__bufz_12) {
    area : 100.979200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "0.0001229052" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "0.0001229052" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0002708211" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0002685408" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002708211" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008235 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09849, 0.09705, 0.09938, 0.1082, 0.1242, 0.1482, 0.1809, 0.2238, \
                 0.2802, 0.3527");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2454, 0.2436, 0.2457, 0.2571, 0.2816, 0.3206, 0.3759, 0.4498, \
                 0.5431, 0.6569");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.02646 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09432, 0.09407, 0.09385, 0.09398, 0.09397, 0.09424, 0.09422, \
                 0.09418, 0.09415, 0.09415");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.09395, -0.09365, -0.09382, -0.09386, -0.09357, -0.09399, -0.09391, \
                 -0.09395, -0.09396, -0.09402");
        }
      }
    }

    pin(Z) {
      capacitance : 0.02325 ;
      direction : output ;
      function : "I" ;
      max_capacitance : 4.164 ;
      max_transition : 8.6 ;
      min_capacitance : 0.02425 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.4589, 0.4588, 0.4587, 0.4587, 0.4586, 0.4586, 0.4588, 0.4588, 0.4589, 0.4589",\
                 "0.4595, 0.4594, 0.4594, 0.4592, 0.4591, 0.4592, 0.4593, 0.4593, 0.4594, 0.4594",\
                 "0.465, 0.4649, 0.4649, 0.4648, 0.4647, 0.4648, 0.4649, 0.4651, 0.465, 0.465",\
                 "0.478, 0.4777, 0.4776, 0.4773, 0.4772, 0.4772, 0.4774, 0.4774, 0.4774, 0.4775",\
                 "0.4987, 0.4988, 0.4987, 0.4984, 0.4983, 0.4984, 0.4985, 0.4985, 0.4985, 0.4986",\
                 "0.5292, 0.5291, 0.5291, 0.529, 0.5291, 0.529, 0.529, 0.529, 0.5291, 0.5291",\
                 "0.5696, 0.5695, 0.5696, 0.5695, 0.5694, 0.5694, 0.5696, 0.5695, 0.5695, 0.5696",\
                 "0.6205, 0.6208, 0.6209, 0.6205, 0.6205, 0.6204, 0.6206, 0.6207, 0.6207, 0.6207",\
                 "0.6832, 0.6833, 0.6831, 0.6828, 0.6827, 0.6826, 0.6827, 0.6828, 0.6829, 0.683",\
                 "0.7572, 0.757, 0.757, 0.7569, 0.7567, 0.7567, 0.7567, 0.7568, 0.7568, 0.7569");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.4224, 0.4219, 0.4232, 0.423, 0.4247, 0.4301, 0.4359, 0.4474, 0.4564, 0.4967",\
                 "0.4218, 0.4222, 0.4223, 0.4221, 0.425, 0.4282, 0.4349, 0.4404, 0.4531, 0.4901",\
                 "0.4234, 0.4234, 0.4238, 0.4234, 0.4257, 0.4295, 0.4359, 0.4457, 0.4531, 0.4956",\
                 "0.4325, 0.433, 0.4333, 0.4333, 0.4362, 0.4394, 0.4464, 0.452, 0.463, 0.5131",\
                 "0.4521, 0.4524, 0.454, 0.4564, 0.4587, 0.4625, 0.4679, 0.4771, 0.4882, 0.546",\
                 "0.4859, 0.4864, 0.4877, 0.4864, 0.4943, 0.4961, 0.5032, 0.5097, 0.5265, 0.5871",\
                 "0.5347, 0.5348, 0.537, 0.5339, 0.5376, 0.5506, 0.5537, 0.5566, 0.5703, 0.6511",\
                 "0.5993, 0.5998, 0.6019, 0.6006, 0.5999, 0.607, 0.627, 0.6304, 0.6338, 0.7528",\
                 "0.6821, 0.6826, 0.6836, 0.6857, 0.6828, 0.6839, 0.6936, 0.7218, 0.7299, 0.8794",\
                 "0.7827, 0.783, 0.7848, 0.788, 0.7857, 0.7852, 0.787, 0.8068, 0.8549, 1.074");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.7585, 0.7711, 0.7913, 0.8024, 0.8072, 0.8096, 0.811, 0.8119, 0.8124, 0.8127",\
                 "0.7494, 0.7619, 0.7816, 0.793, 0.7978, 0.8003, 0.8017, 0.8026, 0.8032, 0.8035",\
                 "0.75, 0.7599, 0.7781, 0.7901, 0.7961, 0.7994, 0.8014, 0.8025, 0.8032, 0.8036",\
                 "0.7828, 0.7889, 0.8035, 0.816, 0.8237, 0.8284, 0.8311, 0.8326, 0.8337, 0.8348",\
                 "0.8573, 0.8617, 0.8735, 0.8858, 0.8949, 0.9006, 0.9044, 0.9066, 0.908, 0.9091",\
                 "0.9806, 0.9846, 0.9949, 1.007, 1.016, 1.023, 1.028, 1.031, 1.033, 1.034",\
                 "1.159, 1.163, 1.173, 1.184, 1.194, 1.201, 1.206, 1.21, 1.213, 1.215",\
                 "1.398, 1.402, 1.411, 1.422, 1.431, 1.439, 1.445, 1.449, 1.452, 1.455",\
                 "1.7, 1.704, 1.712, 1.723, 1.732, 1.739, 1.746, 1.751, 1.754, 1.757",\
                 "2.07, 2.073, 2.08, 2.09, 2.098, 2.106, 2.112, 2.117, 2.121, 2.124");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.4078, 0.4203, 0.4379, 0.4477, 0.4543, 0.4607, 0.4681, 0.4799, 0.4863, 0.5267",\
                 "0.401, 0.4122, 0.429, 0.4391, 0.4467, 0.4535, 0.4612, 0.4733, 0.4797, 0.5261",\
                 "0.3891, 0.397, 0.4127, 0.4259, 0.4348, 0.4429, 0.4516, 0.4651, 0.4698, 0.5189",\
                 "0.3979, 0.4052, 0.4189, 0.4325, 0.4431, 0.4538, 0.4625, 0.4737, 0.483, 0.5332",\
                 "0.4421, 0.4483, 0.4589, 0.4748, 0.486, 0.4977, 0.5074, 0.5205, 0.5313, 0.5837",\
                 "0.5324, 0.5366, 0.5473, 0.5556, 0.5757, 0.5851, 0.5975, 0.605, 0.6192, 0.6874",\
                 "0.676, 0.6798, 0.6902, 0.6955, 0.7064, 0.73, 0.7407, 0.7479, 0.7598, 0.8483",\
                 "0.8779, 0.8816, 0.8897, 0.8965, 0.9044, 0.9198, 0.9437, 0.9563, 0.964, 1.073",\
                 "1.141, 1.145, 1.151, 1.157, 1.163, 1.172, 1.192, 1.219, 1.236, 1.391",\
                 "1.467, 1.472, 1.479, 1.484, 1.488, 1.499, 1.502, 1.523, 1.576, 1.797");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.715, 0.734, 0.8, 0.932, 1.151, 1.445, 1.772, 2.142, 2.563, 3.035");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.497, 0.51, 0.58, 0.7, 0.855, 1.051, 1.287, 1.561, 1.877, 2.236");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.2933, 0.3644, 0.5276, 0.7402, 0.992, 1.293, 1.655, 2.094, 2.622, 3.248",\
                 "0.3091, 0.3803, 0.5435, 0.7558, 1.008, 1.308, 1.671, 2.11, 2.637, 3.263",\
                 "0.3648, 0.4358, 0.5988, 0.8112, 1.063, 1.364, 1.726, 2.165, 2.693, 3.319",\
                 "0.4451, 0.5222, 0.6907, 0.9055, 1.159, 1.46, 1.823, 2.262, 2.789, 3.416",\
                 "0.4902, 0.577, 0.759, 0.9784, 1.233, 1.535, 1.898, 2.337, 2.865, 3.491",\
                 "0.4907, 0.579, 0.7619, 0.9819, 1.237, 1.539, 1.901, 2.34, 2.868, 3.494",\
                 "0.4455, 0.5346, 0.7193, 0.94, 1.196, 1.498, 1.86, 2.299, 2.826, 3.452",\
                 "0.3604, 0.4511, 0.6371, 0.8588, 1.116, 1.417, 1.781, 2.219, 2.747, 3.373",\
                 "0.2347, 0.3261, 0.5139, 0.7375, 0.995, 1.298, 1.661, 2.1, 2.627, 3.253",\
                 "0.067, 0.1592, 0.3488, 0.5737, 0.8323, 1.136, 1.5, 1.939, 2.466, 3.092");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.3343, 0.4084, 0.5744, 0.8168, 1.169, 1.658, 2.303, 3.115, 4.103, 5.283",\
                 "0.3486, 0.4227, 0.5887, 0.8312, 1.183, 1.672, 2.316, 3.127, 4.118, 5.299",\
                 "0.3987, 0.4728, 0.6389, 0.8813, 1.233, 1.723, 2.366, 3.176, 4.166, 5.351",\
                 "0.4745, 0.5553, 0.7261, 0.9698, 1.322, 1.811, 2.454, 3.266, 4.258, 5.438",\
                 "0.5248, 0.6217, 0.814, 1.065, 1.419, 1.908, 2.551, 3.363, 4.355, 5.536",\
                 "0.5401, 0.6531, 0.8716, 1.136, 1.493, 1.982, 2.625, 3.436, 4.427, 5.609",\
                 "0.5168, 0.6465, 0.8954, 1.179, 1.54, 2.029, 2.672, 3.482, 4.472, 5.653",\
                 "0.4517, 0.5986, 0.8805, 1.188, 1.558, 2.049, 2.691, 3.501, 4.49, 5.669",\
                 "0.3437, 0.507, 0.8226, 1.16, 1.543, 2.037, 2.68, 3.49, 4.478, 5.657",\
                 "0.1903, 0.3701, 0.7188, 1.089, 1.489, 1.991, 2.637, 3.447, 4.436, 5.614");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.1486, 0.216, 0.3778, 0.5963, 0.8817, 1.272, 1.801, 2.492, 3.351, 4.395",\
                 "0.1487, 0.216, 0.3777, 0.5961, 0.8819, 1.274, 1.802, 2.491, 3.352, 4.394",\
                 "0.1484, 0.2155, 0.3772, 0.596, 0.8826, 1.274, 1.802, 2.491, 3.351, 4.394",\
                 "0.1679, 0.2316, 0.3862, 0.601, 0.8862, 1.276, 1.803, 2.491, 3.352, 4.398",\
                 "0.1938, 0.2646, 0.4116, 0.6132, 0.8918, 1.279, 1.804, 2.492, 3.353, 4.393",\
                 "0.2046, 0.2714, 0.4148, 0.6154, 0.8934, 1.278, 1.802, 2.492, 3.351, 4.393",\
                 "0.2082, 0.2744, 0.4188, 0.617, 0.894, 1.279, 1.802, 2.489, 3.351, 4.394",\
                 "0.2112, 0.2778, 0.4214, 0.6204, 0.896, 1.282, 1.804, 2.489, 3.35, 4.388",\
                 "0.2148, 0.2808, 0.4246, 0.6246, 0.8998, 1.284, 1.806, 2.492, 3.352, 4.391",\
                 "0.2184, 0.285, 0.4292, 0.6288, 0.9028, 1.286, 1.809, 2.492, 3.354, 4.393");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.1516, 0.214, 0.3979, 0.7554, 1.352, 2.209, 3.347, 4.774, 6.531, 8.619",\
                 "0.1516, 0.2143, 0.3973, 0.7543, 1.352, 2.211, 3.344, 4.78, 6.525, 8.603",\
                 "0.1521, 0.2143, 0.3974, 0.7541, 1.351, 2.209, 3.344, 4.774, 6.525, 8.605",\
                 "0.1712, 0.2291, 0.4034, 0.7558, 1.352, 2.211, 3.345, 4.777, 6.528, 8.606",\
                 "0.207, 0.272, 0.4354, 0.7684, 1.355, 2.211, 3.348, 4.779, 6.522, 8.608",\
                 "0.2434, 0.319, 0.4806, 0.792, 1.362, 2.212, 3.344, 4.779, 6.523, 8.608",\
                 "0.2814, 0.3678, 0.5356, 0.8244, 1.374, 2.214, 3.347, 4.776, 6.519, 8.612",\
                 "0.3198, 0.419, 0.6004, 0.8718, 1.392, 2.22, 3.349, 4.774, 6.525, 8.598",\
                 "0.3566, 0.4702, 0.668, 0.9312, 1.425, 2.235, 3.353, 4.778, 6.517, 8.597",\
                 "0.3944, 0.5194, 0.7412, 1.003, 1.467, 2.259, 3.365, 4.781, 6.523, 8.596");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.3826, 0.4566, 0.6215, 0.8329, 1.084, 1.384, 1.746, 2.185, 2.713, 3.339",\
                 "0.3935, 0.4676, 0.6327, 0.844, 1.095, 1.395, 1.757, 2.196, 2.724, 3.35",\
                 "0.4454, 0.5192, 0.6846, 0.8968, 1.148, 1.448, 1.811, 2.25, 2.777, 3.404",\
                 "0.5358, 0.6114, 0.7796, 0.9942, 1.247, 1.548, 1.91, 2.349, 2.877, 3.504",\
                 "0.664, 0.7417, 0.9141, 1.133, 1.389, 1.691, 2.054, 2.493, 3.021, 3.648",\
                 "0.8426, 0.9252, 1.103, 1.326, 1.586, 1.891, 2.255, 2.695, 3.223, 3.85",\
                 "1.061, 1.154, 1.351, 1.587, 1.854, 2.163, 2.531, 2.972, 3.501, 4.128",\
                 "1.314, 1.421, 1.646, 1.913, 2.2, 2.519, 2.891, 3.336, 3.866, 4.493",\
                 "1.6, 1.723, 1.982, 2.29, 2.617, 2.96, 3.344, 3.792, 4.324, 4.952",\
                 "1.92, 2.061, 2.36, 2.716, 3.094, 3.479, 3.886, 4.345, 4.881, 5.509");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.4176, 0.4922, 0.6583, 0.9012, 1.254, 1.744, 2.388, 3.2, 4.191, 5.373",\
                 "0.4248, 0.4991, 0.6649, 0.9081, 1.261, 1.751, 2.395, 3.208, 4.196, 5.375",\
                 "0.4449, 0.5188, 0.6856, 0.9292, 1.283, 1.773, 2.417, 3.23, 4.218, 5.398",\
                 "0.4574, 0.533, 0.7011, 0.9457, 1.3, 1.79, 2.435, 3.246, 4.236, 5.418",\
                 "0.464, 0.5412, 0.7119, 0.9588, 1.314, 1.805, 2.45, 3.262, 4.252, 5.432",\
                 "0.457, 0.5423, 0.7233, 0.9737, 1.33, 1.822, 2.467, 3.278, 4.271, 5.453",\
                 "0.4198, 0.5181, 0.7193, 0.9849, 1.346, 1.838, 2.484, 3.296, 4.286, 5.468",\
                 "0.35, 0.463, 0.6897, 0.979, 1.359, 1.858, 2.503, 3.315, 4.305, 5.485",\
                 "0.2493, 0.3777, 0.6324, 0.9483, 1.353, 1.872, 2.524, 3.337, 4.328, 5.508",\
                 "0.1177, 0.2632, 0.548, 0.8919, 1.325, 1.872, 2.546, 3.364, 4.355, 5.535");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.1424, 0.2083, 0.3697, 0.5893, 0.8775, 1.271, 1.8, 2.49, 3.352, 4.392",\
                 "0.1426, 0.2085, 0.3699, 0.5898, 0.8779, 1.271, 1.8, 2.489, 3.351, 4.395",\
                 "0.1445, 0.2105, 0.3716, 0.5909, 0.8778, 1.271, 1.801, 2.491, 3.351, 4.392",\
                 "0.1544, 0.2197, 0.3782, 0.5938, 0.8812, 1.273, 1.801, 2.491, 3.35, 4.393",\
                 "0.162, 0.2288, 0.389, 0.6048, 0.8872, 1.277, 1.803, 2.492, 3.352, 4.393",\
                 "0.1778, 0.243, 0.3992, 0.614, 0.8984, 1.284, 1.809, 2.494, 3.353, 4.393",\
                 "0.2062, 0.2764, 0.4344, 0.644, 0.9176, 1.299, 1.819, 2.503, 3.359, 4.399",\
                 "0.2406, 0.3204, 0.4974, 0.7144, 0.9714, 1.332, 1.838, 2.512, 3.365, 4.4",\
                 "0.2806, 0.3732, 0.5776, 0.8258, 1.079, 1.408, 1.881, 2.532, 3.374, 4.405",\
                 "0.3252, 0.4336, 0.672, 0.959, 1.238, 1.542, 1.971, 2.582, 3.395, 4.415");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02425, 0.05282, 0.1531, 0.3446, 0.643, 1.062, 1.613, 2.307, 3.154, 4.164");
          values("0.1386, 0.2024, 0.3909, 0.7517, 1.352, 2.21, 3.349, 4.776, 6.524, 8.606",\
                 "0.1389, 0.2033, 0.3911, 0.7525, 1.352, 2.211, 3.347, 4.774, 6.53, 8.618",\
                 "0.141, 0.2063, 0.3917, 0.7525, 1.352, 2.211, 3.345, 4.776, 6.524, 8.617",\
                 "0.1469, 0.2102, 0.3938, 0.7534, 1.352, 2.21, 3.344, 4.778, 6.52, 8.603",\
                 "0.153, 0.2166, 0.4, 0.758, 1.352, 2.21, 3.346, 4.782, 6.521, 8.618",\
                 "0.1738, 0.238, 0.4164, 0.7638, 1.356, 2.212, 3.347, 4.772, 6.519, 8.608",\
                 "0.204, 0.2726, 0.4546, 0.7934, 1.367, 2.216, 3.346, 4.777, 6.525, 8.602",\
                 "0.2384, 0.3154, 0.5036, 0.848, 1.41, 2.232, 3.35, 4.776, 6.525, 8.603",\
                 "0.276, 0.3612, 0.5588, 0.914, 1.484, 2.287, 3.371, 4.78, 6.521, 8.608",\
                 "0.318, 0.4122, 0.6204, 0.9876, 1.572, 2.382, 3.44, 4.808, 6.524, 8.598");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__bufz_16) {
    area : 127.321600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "0.0001453056" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "0.0001453056" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.000339042" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.000335841" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000339042" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.0081 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09799, 0.09655, 0.09881, 0.1074, 0.123, 0.1464, 0.1784, 0.2197, \
                 0.2727, 0.3409");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2853, 0.2838, 0.2857, 0.2964, 0.3191, 0.3566, 0.4097, 0.4804, \
                 0.5703, 0.6805");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.03456 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1235, 0.1231, 0.1229, 0.1228, 0.1229, 0.1232, 0.1232, 0.1232, \
                 0.1231, 0.1232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.1229, -0.1226, -0.1226, -0.1225, -0.1225, -0.1228, -0.1229, \
                 -0.1229, -0.1229, -0.1229");
        }
      }
    }

    pin(Z) {
      capacitance : 0.03161 ;
      direction : output ;
      function : "I" ;
      max_capacitance : 5.538 ;
      max_transition : 8.6 ;
      min_capacitance : 0.03261 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.5968, 0.5965, 0.5964, 0.5964, 0.5964, 0.5965, 0.5963, 0.5964, 0.5966, 0.5968",\
                 "0.5971, 0.5971, 0.5968, 0.5968, 0.5968, 0.5969, 0.5967, 0.5971, 0.597, 0.5972",\
                 "0.6023, 0.6023, 0.6023, 0.6022, 0.602, 0.6021, 0.6022, 0.6023, 0.6023, 0.6024",\
                 "0.6146, 0.6145, 0.6143, 0.6141, 0.6139, 0.6139, 0.614, 0.6141, 0.6142, 0.6143",\
                 "0.6349, 0.6346, 0.6347, 0.6345, 0.6343, 0.6343, 0.6345, 0.6345, 0.6346, 0.6346",\
                 "0.6644, 0.6642, 0.6643, 0.6642, 0.6642, 0.664, 0.664, 0.6641, 0.6642, 0.6642",\
                 "0.7034, 0.7038, 0.7036, 0.7037, 0.7036, 0.7037, 0.7037, 0.7036, 0.7037, 0.7038",\
                 "0.7539, 0.7538, 0.7537, 0.7536, 0.7535, 0.7534, 0.7535, 0.7537, 0.7537, 0.7536",\
                 "0.8145, 0.8146, 0.8145, 0.8145, 0.8143, 0.8141, 0.8142, 0.8143, 0.8144, 0.8145",\
                 "0.8868, 0.8867, 0.8867, 0.8865, 0.8862, 0.8861, 0.8861, 0.8862, 0.8863, 0.8863");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.57, 0.5711, 0.5729, 0.5709, 0.5743, 0.5818, 0.5869, 0.5984, 0.6093, 0.661",\
                 "0.5695, 0.5708, 0.5719, 0.5702, 0.5743, 0.5788, 0.5899, 0.5984, 0.6192, 0.6712",\
                 "0.5712, 0.5721, 0.5735, 0.5722, 0.5753, 0.5821, 0.5905, 0.6017, 0.6192, 0.6785",\
                 "0.5801, 0.5796, 0.5813, 0.5798, 0.5835, 0.5881, 0.5958, 0.6083, 0.6253, 0.6864",\
                 "0.5985, 0.5991, 0.602, 0.6032, 0.607, 0.6132, 0.6212, 0.6281, 0.6517, 0.7213",\
                 "0.63, 0.6302, 0.6316, 0.6319, 0.641, 0.6462, 0.6545, 0.6578, 0.6841, 0.7778",\
                 "0.6761, 0.6767, 0.6788, 0.6755, 0.6815, 0.6947, 0.7007, 0.7093, 0.7292, 0.8355",\
                 "0.738, 0.7391, 0.7397, 0.7431, 0.7393, 0.7491, 0.7684, 0.7753, 0.7836, 0.9363",\
                 "0.8169, 0.8179, 0.8195, 0.823, 0.8208, 0.8224, 0.8357, 0.8611, 0.8826, 1.095",\
                 "0.9141, 0.9153, 0.9173, 0.918, 0.9168, 0.9174, 0.9205, 0.9423, 1.012, 1.333");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.9861, 1.004, 1.031, 1.045, 1.051, 1.054, 1.056, 1.057, 1.058, 1.058",\
                 "0.9735, 0.9911, 1.017, 1.031, 1.038, 1.041, 1.043, 1.044, 1.045, 1.045",\
                 "0.9712, 0.986, 1.01, 1.026, 1.035, 1.039, 1.041, 1.043, 1.043, 1.044",\
                 "1.006, 1.017, 1.038, 1.056, 1.066, 1.072, 1.075, 1.078, 1.079, 1.08",\
                 "1.093, 1.102, 1.121, 1.139, 1.151, 1.158, 1.164, 1.167, 1.169, 1.17",\
                 "1.243, 1.252, 1.269, 1.286, 1.299, 1.308, 1.314, 1.318, 1.321, 1.323",\
                 "1.464, 1.472, 1.488, 1.504, 1.518, 1.528, 1.534, 1.539, 1.543, 1.545",\
                 "1.762, 1.769, 1.784, 1.799, 1.812, 1.822, 1.83, 1.836, 1.84, 1.843",\
                 "2.14, 2.147, 2.16, 2.173, 2.186, 2.196, 2.204, 2.211, 2.215, 2.219",\
                 "2.602, 2.608, 2.619, 2.632, 2.643, 2.653, 2.662, 2.669, 2.674, 2.678");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.5491, 0.5662, 0.5915, 0.6002, 0.6082, 0.6167, 0.6261, 0.6383, 0.6591, 0.7045",\
                 "0.5398, 0.5544, 0.5797, 0.5893, 0.5993, 0.6085, 0.6178, 0.6284, 0.6459, 0.6982",\
                 "0.5232, 0.5349, 0.5562, 0.5718, 0.5822, 0.5959, 0.6033, 0.6152, 0.6294, 0.6886",\
                 "0.5318, 0.5407, 0.5579, 0.5738, 0.5901, 0.6035, 0.6136, 0.6251, 0.6393, 0.7097",\
                 "0.585, 0.5928, 0.6071, 0.6262, 0.6402, 0.6553, 0.6677, 0.6812, 0.7047, 0.7738",\
                 "0.6944, 0.6997, 0.7136, 0.7259, 0.7491, 0.7623, 0.7782, 0.7868, 0.8065, 0.8922",\
                 "0.8723, 0.8785, 0.8899, 0.8988, 0.9138, 0.9438, 0.9558, 0.9683, 0.9808, 1.098",\
                 "1.126, 1.131, 1.141, 1.15, 1.162, 1.179, 1.213, 1.224, 1.237, 1.373",\
                 "1.458, 1.463, 1.47, 1.481, 1.488, 1.5, 1.522, 1.561, 1.583, 1.79",\
                 "1.871, 1.876, 1.885, 1.893, 1.902, 1.909, 1.919, 1.952, 2.022, 2.353");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.956, 0.975, 1.041, 1.172, 1.388, 1.697, 2.066, 2.469, 2.921, \
                 3.429");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.586, 0.599, 0.67, 0.791, 0.945, 1.143, 1.382, 1.664, 1.984, \
                 2.351");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.3357, 0.4153, 0.596, 0.8314, 1.107, 1.428, 1.805, 2.253, 2.786, 3.414",\
                 "0.3515, 0.4309, 0.6117, 0.847, 1.123, 1.444, 1.821, 2.27, 2.801, 3.43",\
                 "0.4066, 0.4861, 0.6668, 0.902, 1.178, 1.498, 1.876, 2.324, 2.856, 3.484",\
                 "0.4925, 0.5762, 0.7611, 0.9983, 1.275, 1.596, 1.974, 2.422, 2.955, 3.583",\
                 "0.5483, 0.6446, 0.851, 1.098, 1.379, 1.702, 2.081, 2.529, 3.062, 3.69",\
                 "0.5566, 0.6584, 0.8687, 1.117, 1.399, 1.721, 2.1, 2.548, 3.081, 3.709",\
                 "0.5168, 0.6203, 0.8313, 1.081, 1.363, 1.686, 2.065, 2.513, 3.045, 3.673",\
                 "0.4338, 0.5372, 0.7508, 1.002, 1.284, 1.609, 1.987, 2.436, 2.968, 3.595",\
                 "0.3065, 0.4119, 0.6274, 0.88, 1.164, 1.489, 1.868, 2.317, 2.849, 3.476",\
                 "0.1368, 0.2419, 0.4593, 0.7137, 0.9991, 1.325, 1.705, 2.154, 2.686, 3.314");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.3969, 0.4816, 0.6659, 0.9204, 1.276, 1.766, 2.408, 3.22, 4.206, 5.384",\
                 "0.4113, 0.4962, 0.68, 0.9347, 1.29, 1.78, 2.423, 3.232, 4.224, 5.402",\
                 "0.4609, 0.5457, 0.7296, 0.9845, 1.34, 1.83, 2.472, 3.283, 4.273, 5.451",\
                 "0.5431, 0.632, 0.819, 1.074, 1.43, 1.92, 2.563, 3.374, 4.362, 5.542",\
                 "0.6073, 0.7134, 0.9228, 1.186, 1.544, 2.033, 2.676, 3.485, 4.477, 5.655",\
                 "0.6341, 0.7574, 0.9965, 1.278, 1.641, 2.13, 2.773, 3.583, 4.572, 5.748",\
                 "0.6211, 0.7623, 1.035, 1.338, 1.709, 2.2, 2.842, 3.65, 4.638, 5.819",\
                 "0.565, 0.7245, 1.032, 1.364, 1.747, 2.24, 2.881, 3.69, 4.677, 5.854",\
                 "0.4638, 0.6412, 0.985, 1.35, 1.749, 2.248, 2.89, 3.698, 4.685, 5.861",\
                 "0.3158, 0.5102, 0.8906, 1.292, 1.714, 2.22, 2.865, 3.673, 4.66, 5.837");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.1712, 0.2451, 0.4225, 0.6624, 0.9622, 1.352, 1.87, 2.543, 3.392, 4.419",\
                 "0.171, 0.245, 0.4225, 0.6622, 0.9623, 1.352, 1.87, 2.544, 3.392, 4.419",\
                 "0.1712, 0.2448, 0.4231, 0.6627, 0.9618, 1.353, 1.871, 2.544, 3.39, 4.419",\
                 "0.188, 0.2569, 0.429, 0.6666, 0.9632, 1.354, 1.871, 2.544, 3.393, 4.422",\
                 "0.2222, 0.3004, 0.4706, 0.6898, 0.9768, 1.363, 1.876, 2.547, 3.393, 4.42",\
                 "0.2422, 0.32, 0.4812, 0.6952, 0.979, 1.362, 1.877, 2.547, 3.39, 4.42",\
                 "0.2486, 0.324, 0.4856, 0.698, 0.9818, 1.363, 1.875, 2.544, 3.392, 4.421",\
                 "0.2516, 0.328, 0.4898, 0.7012, 0.9842, 1.366, 1.878, 2.545, 3.388, 4.417",\
                 "0.2554, 0.3318, 0.4936, 0.7066, 0.9884, 1.369, 1.88, 2.547, 3.389, 4.417",\
                 "0.259, 0.3358, 0.4982, 0.7116, 0.9924, 1.373, 1.882, 2.549, 3.392, 4.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.1765, 0.2458, 0.431, 0.7784, 1.362, 2.213, 3.348, 4.781, 6.521, 8.6",\
                 "0.1765, 0.2456, 0.431, 0.779, 1.361, 2.214, 3.344, 4.776, 6.517, 8.599",\
                 "0.1765, 0.2458, 0.4309, 0.7784, 1.363, 2.212, 3.345, 4.777, 6.518, 8.6",\
                 "0.1903, 0.2543, 0.4352, 0.78, 1.363, 2.214, 3.348, 4.777, 6.522, 8.606",\
                 "0.2306, 0.3016, 0.4676, 0.7934, 1.366, 2.212, 3.345, 4.774, 6.516, 8.598",\
                 "0.2708, 0.3518, 0.5216, 0.8268, 1.376, 2.216, 3.344, 4.778, 6.52, 8.609",\
                 "0.3122, 0.4066, 0.5838, 0.8684, 1.396, 2.222, 3.349, 4.77, 6.512, 8.612",\
                 "0.3538, 0.4612, 0.6552, 0.9256, 1.422, 2.231, 3.349, 4.774, 6.517, 8.599",\
                 "0.3952, 0.5174, 0.7314, 0.9972, 1.466, 2.248, 3.355, 4.775, 6.517, 8.594",\
                 "0.4352, 0.5712, 0.8124, 1.084, 1.522, 2.277, 3.366, 4.782, 6.516, 8.592");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.4331, 0.5149, 0.6969, 0.9302, 1.204, 1.524, 1.901, 2.348, 2.881, 3.509",\
                 "0.441, 0.523, 0.7051, 0.9386, 1.213, 1.532, 1.909, 2.357, 2.889, 3.517",\
                 "0.4892, 0.5707, 0.7529, 0.9875, 1.262, 1.582, 1.959, 2.407, 2.939, 3.567",\
                 "0.5774, 0.6603, 0.845, 1.081, 1.357, 1.677, 2.055, 2.502, 3.035, 3.663",\
                 "0.7066, 0.7912, 0.9794, 1.22, 1.498, 1.819, 2.197, 2.646, 3.178, 3.806",\
                 "0.8934, 0.9817, 1.174, 1.417, 1.699, 2.023, 2.403, 2.852, 3.385, 4.013",\
                 "1.128, 1.227, 1.437, 1.691, 1.979, 2.307, 2.69, 3.141, 3.675, 4.303",\
                 "1.403, 1.519, 1.76, 2.042, 2.348, 2.686, 3.072, 3.526, 4.062, 4.692",\
                 "1.72, 1.857, 2.138, 2.462, 2.804, 3.161, 3.559, 4.017, 4.554, 5.185",\
                 "2.084, 2.244, 2.573, 2.948, 3.338, 3.731, 4.148, 4.615, 5.155, 5.787");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.4909, 0.5761, 0.7595, 1.014, 1.369, 1.859, 2.502, 3.314, 4.304, 5.478",\
                 "0.4958, 0.5805, 0.7639, 1.018, 1.374, 1.864, 2.508, 3.318, 4.308, 5.488",\
                 "0.5102, 0.5949, 0.7787, 1.034, 1.391, 1.881, 2.524, 3.336, 4.322, 5.502",\
                 "0.5181, 0.6038, 0.7891, 1.045, 1.402, 1.893, 2.536, 3.348, 4.337, 5.513",\
                 "0.5257, 0.6126, 0.8003, 1.059, 1.417, 1.908, 2.552, 3.363, 4.354, 5.534",\
                 "0.5322, 0.6275, 0.8234, 1.085, 1.445, 1.937, 2.581, 3.392, 4.382, 5.558",\
                 "0.5179, 0.6282, 0.8474, 1.123, 1.486, 1.979, 2.624, 3.435, 4.424, 5.601",\
                 "0.4788, 0.608, 0.8578, 1.159, 1.541, 2.036, 2.681, 3.492, 4.481, 5.659",\
                 "0.4173, 0.567, 0.853, 1.185, 1.593, 2.106, 2.754, 3.565, 4.555, 5.734",\
                 "0.3354, 0.5066, 0.8321, 1.199, 1.636, 2.177, 2.843, 3.657, 4.646, 5.825");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.161, 0.2337, 0.4122, 0.6533, 0.955, 1.347, 1.867, 2.543, 3.392, 4.418",\
                 "0.1614, 0.234, 0.4124, 0.6535, 0.955, 1.348, 1.868, 2.542, 3.392, 4.42",\
                 "0.1629, 0.2357, 0.4135, 0.6546, 0.9552, 1.348, 1.867, 2.543, 3.391, 4.419",\
                 "0.1712, 0.2434, 0.4194, 0.6588, 0.956, 1.349, 1.868, 2.543, 3.388, 4.421",\
                 "0.1774, 0.2504, 0.4282, 0.6662, 0.9622, 1.354, 1.87, 2.543, 3.392, 4.42",\
                 "0.1898, 0.2612, 0.4358, 0.6762, 0.9738, 1.361, 1.876, 2.546, 3.39, 4.419",\
                 "0.2208, 0.2956, 0.467, 0.6994, 0.992, 1.375, 1.888, 2.555, 3.396, 4.426",\
                 "0.2638, 0.3494, 0.534, 0.7632, 1.037, 1.405, 1.908, 2.569, 3.406, 4.43",\
                 "0.3192, 0.4176, 0.6258, 0.8716, 1.132, 1.47, 1.947, 2.589, 3.417, 4.434",\
                 "0.3848, 0.4986, 0.734, 1.006, 1.278, 1.587, 2.02, 2.631, 3.437, 4.445");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03261, 0.07061, 0.204, 0.4587, 0.8555, 1.412, 2.145, 3.068, 4.195, 5.538");
          values("0.1614, 0.2305, 0.4222, 0.7742, 1.361, 2.214, 3.348, 4.781, 6.53, 8.601",\
                 "0.1614, 0.231, 0.4225, 0.7742, 1.361, 2.212, 3.347, 4.776, 6.526, 8.613",\
                 "0.1643, 0.2343, 0.4241, 0.775, 1.362, 2.214, 3.348, 4.781, 6.518, 8.597",\
                 "0.1696, 0.238, 0.425, 0.7756, 1.36, 2.212, 3.347, 4.779, 6.53, 8.606",\
                 "0.1744, 0.2444, 0.4312, 0.7802, 1.364, 2.213, 3.349, 4.775, 6.527, 8.6",\
                 "0.1972, 0.2654, 0.4452, 0.787, 1.367, 2.215, 3.347, 4.778, 6.525, 8.604",\
                 "0.2342, 0.308, 0.4848, 0.8124, 1.374, 2.218, 3.349, 4.774, 6.52, 8.594",\
                 "0.2802, 0.3626, 0.5436, 0.871, 1.412, 2.231, 3.353, 4.778, 6.518, 8.594",\
                 "0.3312, 0.4236, 0.6134, 0.943, 1.483, 2.276, 3.364, 4.778, 6.515, 8.594",\
                 "0.3862, 0.4894, 0.6912, 1.027, 1.575, 2.363, 3.418, 4.793, 6.521, 8.593");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkbuf_1) {
    area : 13.171200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "4.52859e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "4.44213e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "4.52859e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.003561 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.36 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01218, 0.02879, 0.05467, 0.09098, 0.1388, 0.1989, 0.2724, 0.36");
          values("0.06998, 0.07033, 0.07075, 0.07109, 0.07126, 0.07137, 0.07141, 0.07143, 0.07145, 0.07146",\
                 "0.06944, 0.06979, 0.0703, 0.07059, 0.0708, 0.07088, 0.07096, 0.07097, 0.07099, 0.07102",\
                 "0.07152, 0.07158, 0.07188, 0.07227, 0.07253, 0.07267, 0.07275, 0.07277, 0.0728, 0.07284",\
                 "0.07955, 0.07927, 0.07909, 0.07922, 0.07936, 0.07949, 0.07955, 0.07961, 0.07964, 0.07967",\
                 "0.09466, 0.09398, 0.09301, 0.09259, 0.09257, 0.09259, 0.0926, 0.09263, 0.09267, 0.09269",\
                 "0.1174, 0.1162, 0.1144, 0.1134, 0.113, 0.1128, 0.1128, 0.1127, 0.1127, 0.1127",\
                 "0.1482, 0.1466, 0.1439, 0.142, 0.1411, 0.1406, 0.1404, 0.1403, 0.1402, 0.1402",\
                 "0.1875, 0.1853, 0.1816, 0.1788, 0.1773, 0.1765, 0.176, 0.1758, 0.1756, 0.1755",\
                 "0.2358, 0.233, 0.2284, 0.2246, 0.2223, 0.221, 0.2202, 0.2197, 0.2194, 0.2192",\
                 "0.2935, 0.2902, 0.2845, 0.2797, 0.2765, 0.2745, 0.2733, 0.2726, 0.2722, 0.2718");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01218, 0.02879, 0.05467, 0.09098, 0.1388, 0.1989, 0.2724, 0.36");
          values("0.03715, 0.03734, 0.03756, 0.03773, 0.038, 0.03779, 0.03795, 0.03779, 0.03766, 0.04046",\
                 "0.03649, 0.03653, 0.03683, 0.03707, 0.03717, 0.03729, 0.03722, 0.03666, 0.037, 0.0398",\
                 "0.03769, 0.03749, 0.03744, 0.03773, 0.03777, 0.03795, 0.03795, 0.03782, 0.03703, 0.04061",\
                 "0.04466, 0.04409, 0.04331, 0.04308, 0.04331, 0.04337, 0.04333, 0.0427, 0.04312, 0.04627",\
                 "0.05794, 0.05697, 0.05564, 0.05482, 0.0545, 0.05429, 0.05438, 0.05432, 0.05431, 0.05778",\
                 "0.07817, 0.07685, 0.07474, 0.0736, 0.07265, 0.07208, 0.07184, 0.07161, 0.07173, 0.07651",\
                 "0.1059, 0.1043, 0.1012, 0.09924, 0.09822, 0.09735, 0.09639, 0.09587, 0.09604, 0.1021",\
                 "0.1412, 0.1391, 0.1353, 0.1326, 0.1311, 0.1303, 0.129, 0.1276, 0.1276, 0.1353",\
                 "0.1847, 0.182, 0.1775, 0.1739, 0.1715, 0.17, 0.1689, 0.1678, 0.1672, 0.1777",\
                 "0.2366, 0.2334, 0.228, 0.2234, 0.2206, 0.2186, 0.2171, 0.2159, 0.2163, 0.2333");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01218, 0.02879, 0.05467, 0.09098, 0.1388, 0.1989, 0.2724, 0.36");
          values("0.1997, 0.2363, 0.3461, 0.5415, 0.8433, 1.266, 1.823, 2.524, 3.379, 4.399",\
                 "0.2168, 0.2535, 0.3633, 0.5587, 0.8605, 1.283, 1.84, 2.54, 3.396, 4.417",\
                 "0.281, 0.3178, 0.4276, 0.6231, 0.925, 1.348, 1.905, 2.605, 3.461, 4.48",\
                 "0.3744, 0.413, 0.526, 0.7219, 1.024, 1.446, 2.003, 2.704, 3.56, 4.579",\
                 "0.4843, 0.5255, 0.6423, 0.8398, 1.142, 1.564, 2.12, 2.822, 3.676, 4.696",\
                 "0.6085, 0.6533, 0.7768, 0.9785, 1.281, 1.704, 2.259, 2.96, 3.815, 4.835",\
                 "0.7461, 0.7949, 0.926, 1.135, 1.442, 1.865, 2.422, 3.122, 3.976, 4.995",\
                 "0.8978, 0.9507, 1.09, 1.307, 1.622, 2.051, 2.608, 3.309, 4.164, 5.182",\
                 "1.065, 1.122, 1.271, 1.495, 1.818, 2.258, 2.822, 3.524, 4.378, 5.397",\
                 "1.249, 1.31, 1.468, 1.7, 2.031, 2.48, 3.057, 3.768, 4.624, 5.643");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01218, 0.02879, 0.05467, 0.09098, 0.1388, 0.1989, 0.2724, 0.36");
          values("0.2044, 0.2422, 0.3621, 0.5862, 0.9347, 1.423, 2.065, 2.875, 3.863, 5.042",\
                 "0.2167, 0.2543, 0.3743, 0.5985, 0.9468, 1.435, 2.078, 2.888, 3.875, 5.054",\
                 "0.2634, 0.3008, 0.4204, 0.6446, 0.993, 1.482, 2.124, 2.934, 3.923, 5.099",\
                 "0.3161, 0.3552, 0.4759, 0.6995, 1.048, 1.536, 2.179, 2.989, 3.977, 5.154",\
                 "0.361, 0.4021, 0.5245, 0.7472, 1.095, 1.583, 2.225, 3.034, 4.022, 5.2",\
                 "0.3946, 0.439, 0.566, 0.7889, 1.136, 1.623, 2.265, 3.074, 4.063, 5.239",\
                 "0.4149, 0.4625, 0.5958, 0.8226, 1.171, 1.658, 2.299, 3.107, 4.095, 5.273",\
                 "0.4187, 0.4701, 0.6104, 0.843, 1.196, 1.685, 2.326, 3.134, 4.121, 5.299",\
                 "0.405, 0.4602, 0.608, 0.8473, 1.206, 1.702, 2.346, 3.154, 4.141, 5.316",\
                 "0.373, 0.4324, 0.5887, 0.834, 1.2, 1.704, 2.356, 3.166, 4.152, 5.328");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01218, 0.02879, 0.05467, 0.09098, 0.1388, 0.1989, 0.2724, 0.36");
          values("0.09798, 0.1437, 0.3024, 0.6213, 1.128, 1.841, 2.779, 3.961, 5.404, 7.123",\
                 "0.09804, 0.1437, 0.3024, 0.6215, 1.129, 1.841, 2.779, 3.961, 5.404, 7.123",\
                 "0.1006, 0.1456, 0.3028, 0.6218, 1.129, 1.841, 2.779, 3.961, 5.403, 7.123",\
                 "0.1126, 0.1578, 0.3108, 0.6227, 1.129, 1.841, 2.779, 3.961, 5.403, 7.124",\
                 "0.129, 0.1738, 0.3222, 0.6286, 1.13, 1.84, 2.778, 3.961, 5.403, 7.124",\
                 "0.1488, 0.1952, 0.342, 0.6396, 1.134, 1.842, 2.778, 3.958, 5.402, 7.121",\
                 "0.1724, 0.2194, 0.3664, 0.6624, 1.15, 1.847, 2.778, 3.957, 5.401, 7.122",\
                 "0.1964, 0.2466, 0.3952, 0.6896, 1.179, 1.869, 2.787, 3.959, 5.398, 7.119",\
                 "0.2216, 0.274, 0.4254, 0.7194, 1.214, 1.91, 2.817, 3.971, 5.401, 7.115",\
                 "0.248, 0.304, 0.4588, 0.75, 1.25, 1.957, 2.868, 4.007, 5.417, 7.118");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01218, 0.02879, 0.05467, 0.09098, 0.1388, 0.1989, 0.2724, 0.36");
          values("0.1068, 0.1603, 0.3588, 0.7512, 1.366, 2.227, 3.361, 4.789, 6.533, 8.61",\
                 "0.1073, 0.1604, 0.3583, 0.7513, 1.367, 2.227, 3.36, 4.788, 6.533, 8.61",\
                 "0.1093, 0.1619, 0.3591, 0.7522, 1.367, 2.227, 3.361, 4.789, 6.532, 8.612",\
                 "0.1208, 0.1722, 0.3624, 0.7513, 1.365, 2.227, 3.361, 4.788, 6.531, 8.612",\
                 "0.134, 0.1846, 0.368, 0.7532, 1.365, 2.225, 3.361, 4.79, 6.533, 8.612",\
                 "0.1496, 0.201, 0.3798, 0.7566, 1.369, 2.226, 3.358, 4.788, 6.533, 8.613",\
                 "0.1694, 0.2214, 0.3976, 0.769, 1.373, 2.227, 3.358, 4.783, 6.527, 8.606",\
                 "0.1906, 0.2428, 0.4188, 0.7892, 1.391, 2.237, 3.359, 4.783, 6.526, 8.606",\
                 "0.2122, 0.2658, 0.4422, 0.8108, 1.417, 2.259, 3.371, 4.787, 6.523, 8.601",\
                 "0.236, 0.2914, 0.4696, 0.8352, 1.446, 2.297, 3.402, 4.804, 6.53, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkbuf_2) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "5.68161e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "5.55918e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "5.68161e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.003589 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7214 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1011, 0.1005, 0.1007, 0.1011, 0.1013, 0.1015, 0.1016, 0.1017, 0.1018, 0.1018",\
                 "0.1006, 0.0999, 0.1002, 0.1007, 0.101, 0.1012, 0.1013, 0.1013, 0.1014, 0.1014",\
                 "0.1023, 0.1014, 0.1012, 0.1017, 0.102, 0.1023, 0.1024, 0.1025, 0.1026, 0.1026",\
                 "0.1124, 0.1101, 0.1083, 0.1078, 0.1079, 0.108, 0.1082, 0.1082, 0.1082, 0.1082",\
                 "0.1304, 0.1269, 0.1228, 0.1211, 0.1203, 0.1201, 0.12, 0.12, 0.12, 0.12",\
                 "0.1573, 0.1522, 0.1456, 0.1418, 0.1403, 0.1396, 0.139, 0.1389, 0.1388, 0.1388",\
                 "0.1932, 0.1866, 0.1775, 0.1716, 0.1685, 0.1669, 0.166, 0.1656, 0.1653, 0.1651",\
                 "0.2384, 0.2303, 0.2184, 0.2102, 0.2055, 0.2028, 0.2013, 0.2003, 0.1998, 0.1994",\
                 "0.293, 0.2837, 0.269, 0.2585, 0.2516, 0.2476, 0.2453, 0.2439, 0.2429, 0.2422",\
                 "0.3574, 0.3471, 0.3295, 0.3164, 0.3075, 0.302, 0.2986, 0.2966, 0.2952, 0.2942");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.06699, 0.06585, 0.06551, 0.06583, 0.06666, 0.06748, 0.06867, 0.07016, 0.07187, 0.07854",\
                 "0.06642, 0.06509, 0.06496, 0.06537, 0.06597, 0.06712, 0.06841, 0.0695, 0.07158, 0.07821",\
                 "0.0677, 0.06611, 0.06509, 0.06531, 0.06627, 0.06758, 0.06831, 0.06983, 0.07191, 0.07817",\
                 "0.07702, 0.07427, 0.07197, 0.07102, 0.07138, 0.07224, 0.07309, 0.07478, 0.07719, 0.08422",\
                 "0.09288, 0.08899, 0.08417, 0.08296, 0.08234, 0.0826, 0.08378, 0.08468, 0.08679, 0.09598",\
                 "0.1167, 0.1115, 0.1049, 0.101, 0.1006, 0.1006, 0.1, 0.1012, 0.1026, 0.114",\
                 "0.1489, 0.1424, 0.1332, 0.1277, 0.1256, 0.1258, 0.1256, 0.1263, 0.1264, 0.1393",\
                 "0.1897, 0.1813, 0.1703, 0.1625, 0.1579, 0.156, 0.1582, 0.1582, 0.1599, 0.1753",\
                 "0.2389, 0.2293, 0.2155, 0.2058, 0.1997, 0.1959, 0.1955, 0.1988, 0.2002, 0.2244",\
                 "0.297, 0.286, 0.2695, 0.2584, 0.2503, 0.2457, 0.2431, 0.2433, 0.25, 0.2889");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2395, 0.2853, 0.4084, 0.6118, 0.9201, 1.352, 1.92, 2.635, 3.509, 4.551",\
                 "0.2569, 0.3026, 0.4257, 0.6291, 0.9374, 1.369, 1.937, 2.653, 3.527, 4.569",\
                 "0.3238, 0.3692, 0.492, 0.6953, 1.004, 1.435, 2.004, 2.719, 3.593, 4.636",\
                 "0.4364, 0.4835, 0.6083, 0.8119, 1.12, 1.551, 2.119, 2.836, 3.71, 4.748",\
                 "0.5676, 0.6177, 0.7479, 0.954, 1.262, 1.693, 2.26, 2.975, 3.847, 4.891",\
                 "0.7148, 0.7696, 0.908, 1.117, 1.425, 1.856, 2.422, 3.138, 4.011, 5.052",\
                 "0.878, 0.9378, 1.085, 1.303, 1.613, 2.043, 2.611, 3.324, 4.197, 5.237",\
                 "1.056, 1.122, 1.279, 1.506, 1.824, 2.257, 2.825, 3.538, 4.409, 5.45",\
                 "1.252, 1.321, 1.49, 1.727, 2.052, 2.494, 3.065, 3.779, 4.65, 5.69",\
                 "1.464, 1.539, 1.718, 1.966, 2.3, 2.751, 3.331, 4.051, 4.922, 5.962");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2397, 0.284, 0.4111, 0.6365, 0.9863, 1.476, 2.122, 2.932, 3.927, 5.111",\
                 "0.2521, 0.2964, 0.4236, 0.6491, 0.9989, 1.489, 2.135, 2.945, 3.94, 5.124",\
                 "0.3022, 0.3461, 0.4724, 0.6978, 1.048, 1.538, 2.183, 2.997, 3.988, 5.172",\
                 "0.3732, 0.4196, 0.5479, 0.7722, 1.121, 1.611, 2.257, 3.07, 4.063, 5.245",\
                 "0.4335, 0.4831, 0.6157, 0.8399, 1.188, 1.677, 2.322, 3.135, 4.128, 5.311",\
                 "0.4831, 0.5366, 0.6754, 0.9004, 1.247, 1.736, 2.379, 3.192, 4.183, 5.365",\
                 "0.5185, 0.5771, 0.7229, 0.9528, 1.299, 1.786, 2.43, 3.24, 4.232, 5.413",\
                 "0.5378, 0.6013, 0.7564, 0.9919, 1.342, 1.83, 2.471, 3.283, 4.271, 5.453",\
                 "0.5382, 0.607, 0.7713, 1.016, 1.37, 1.863, 2.506, 3.316, 4.305, 5.485",\
                 "0.5196, 0.5928, 0.7676, 1.021, 1.381, 1.881, 2.529, 3.341, 4.329, 5.509");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.09064, 0.1425, 0.3011, 0.6181, 1.131, 1.859, 2.819, 4.023, 5.502, 7.268",\
                 "0.09028, 0.1423, 0.3011, 0.6174, 1.131, 1.858, 2.818, 4.023, 5.505, 7.268",\
                 "0.09128, 0.1431, 0.3018, 0.6182, 1.13, 1.858, 2.816, 4.025, 5.504, 7.269",\
                 "0.1037, 0.1547, 0.308, 0.6188, 1.131, 1.859, 2.819, 4.03, 5.506, 7.258",\
                 "0.1218, 0.1734, 0.3248, 0.6264, 1.134, 1.858, 2.82, 4.025, 5.497, 7.267",\
                 "0.145, 0.1978, 0.3474, 0.6382, 1.137, 1.859, 2.816, 4.022, 5.497, 7.252",\
                 "0.1698, 0.2254, 0.3774, 0.6612, 1.147, 1.864, 2.815, 4.021, 5.494, 7.256",\
                 "0.1974, 0.2568, 0.4108, 0.6922, 1.174, 1.878, 2.821, 4.019, 5.487, 7.253",\
                 "0.2228, 0.2874, 0.4482, 0.7276, 1.208, 1.911, 2.841, 4.026, 5.489, 7.243",\
                 "0.2504, 0.3194, 0.4872, 0.7666, 1.247, 1.955, 2.886, 4.052, 5.503, 7.242");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005973, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.0939, 0.1488, 0.3384, 0.7263, 1.344, 2.205, 3.343, 4.781, 6.526, 8.606",\
                 "0.09396, 0.1485, 0.3384, 0.7264, 1.341, 2.208, 3.344, 4.78, 6.529, 8.612",\
                 "0.0941, 0.1492, 0.3389, 0.7265, 1.344, 2.208, 3.349, 4.778, 6.527, 8.614",\
                 "0.1083, 0.1614, 0.3444, 0.727, 1.343, 2.205, 3.342, 4.778, 6.526, 8.613",\
                 "0.1246, 0.1776, 0.3548, 0.7306, 1.342, 2.207, 3.344, 4.776, 6.522, 8.613",\
                 "0.1438, 0.1986, 0.3702, 0.736, 1.344, 2.205, 3.344, 4.771, 6.531, 8.607",\
                 "0.166, 0.2214, 0.3934, 0.7472, 1.348, 2.208, 3.342, 4.773, 6.522, 8.611",\
                 "0.1894, 0.2468, 0.419, 0.768, 1.362, 2.214, 3.343, 4.772, 6.524, 8.604",\
                 "0.2148, 0.2772, 0.4494, 0.793, 1.384, 2.232, 3.349, 4.775, 6.518, 8.607",\
                 "0.2404, 0.3056, 0.4822, 0.8212, 1.413, 2.263, 3.376, 4.784, 6.519, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkbuf_3) {
    area : 30.732800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "7.89987e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "8.95224e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.95224e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.005358 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.441 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04584, 0.1125, 0.2163, 0.362, 0.5537, 0.7952, 1.09, 1.441");
          values("0.1877, 0.185, 0.1845, 0.1852, 0.1855, 0.1858, 0.186, 0.1861, 0.1861, 0.1862",\
                 "0.1869, 0.1843, 0.184, 0.1846, 0.185, 0.1851, 0.1855, 0.1855, 0.1857, 0.1857",\
                 "0.189, 0.1859, 0.1846, 0.1852, 0.1858, 0.1862, 0.1865, 0.1866, 0.1868, 0.1868",\
                 "0.2058, 0.2, 0.1949, 0.1936, 0.1934, 0.1936, 0.1937, 0.1939, 0.1939, 0.194",\
                 "0.235, 0.226, 0.2168, 0.2122, 0.2106, 0.2101, 0.2099, 0.2099, 0.2098, 0.2097",\
                 "0.2774, 0.2653, 0.251, 0.2427, 0.239, 0.2371, 0.2361, 0.2355, 0.2354, 0.2352",\
                 "0.3341, 0.3187, 0.2987, 0.286, 0.279, 0.2755, 0.2738, 0.2727, 0.2721, 0.2715",\
                 "0.4043, 0.3863, 0.36, 0.343, 0.3324, 0.3268, 0.3236, 0.3216, 0.3203, 0.3195",\
                 "0.4886, 0.468, 0.4364, 0.4139, 0.3998, 0.3913, 0.3864, 0.3832, 0.3814, 0.3799",\
                 "0.5878, 0.5651, 0.5272, 0.4995, 0.4813, 0.4698, 0.4628, 0.4581, 0.4553, 0.4533");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04584, 0.1125, 0.2163, 0.362, 0.5537, 0.7952, 1.09, 1.441");
          values("0.1321, 0.1276, 0.1254, 0.1257, 0.1268, 0.1288, 0.1321, 0.1342, 0.1371, 0.1533",\
                 "0.1311, 0.1269, 0.1243, 0.1249, 0.1263, 0.1278, 0.1305, 0.1323, 0.1368, 0.1502",\
                 "0.1324, 0.1278, 0.1244, 0.1245, 0.1256, 0.1278, 0.1298, 0.1326, 0.1365, 0.1502",\
                 "0.1485, 0.1417, 0.1352, 0.1326, 0.1331, 0.1344, 0.1371, 0.1395, 0.1431, 0.1609",\
                 "0.1758, 0.1659, 0.1544, 0.1506, 0.1487, 0.1502, 0.1513, 0.154, 0.157, 0.1753",\
                 "0.2149, 0.2023, 0.1862, 0.177, 0.176, 0.1753, 0.1753, 0.1778, 0.1808, 0.2013",\
                 "0.2674, 0.2508, 0.2299, 0.2174, 0.2112, 0.2146, 0.2113, 0.2125, 0.2142, 0.2423",\
                 "0.3329, 0.3132, 0.2868, 0.2692, 0.2605, 0.2572, 0.2618, 0.2602, 0.2609, 0.298",\
                 "0.4117, 0.3891, 0.3576, 0.3363, 0.3226, 0.3149, 0.3146, 0.3206, 0.3245, 0.3748",\
                 "0.5038, 0.4792, 0.4411, 0.4159, 0.398, 0.3875, 0.3813, 0.3841, 0.3994, 0.4833");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04584, 0.1125, 0.2163, 0.362, 0.5537, 0.7952, 1.09, 1.441");
          values("0.2586, 0.3086, 0.4406, 0.6556, 0.9806, 1.436, 2.034, 2.789, 3.711, 4.807",\
                 "0.2759, 0.3259, 0.4579, 0.6729, 0.998, 1.453, 2.052, 2.806, 3.728, 4.825",\
                 "0.342, 0.3917, 0.5232, 0.7382, 1.063, 1.518, 2.116, 2.872, 3.793, 4.891",\
                 "0.4564, 0.5074, 0.6405, 0.8551, 1.18, 1.634, 2.233, 2.988, 3.906, 5.004",\
                 "0.5853, 0.6399, 0.7785, 0.996, 1.32, 1.774, 2.372, 3.126, 4.046, 5.141",\
                 "0.7284, 0.7873, 0.9333, 1.153, 1.478, 1.932, 2.529, 3.282, 4.201, 5.299",\
                 "0.8835, 0.9476, 1.102, 1.329, 1.654, 2.107, 2.704, 3.456, 4.375, 5.472",\
                 "1.05, 1.12, 1.285, 1.52, 1.851, 2.304, 2.9, 3.652, 4.57, 5.667",\
                 "1.229, 1.303, 1.479, 1.725, 2.063, 2.522, 3.119, 3.87, 4.789, 5.884",\
                 "1.419, 1.499, 1.686, 1.943, 2.288, 2.755, 3.36, 4.113, 5.031, 6.126");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04584, 0.1125, 0.2163, 0.362, 0.5537, 0.7952, 1.09, 1.441");
          values("0.2625, 0.3096, 0.4401, 0.6661, 1.016, 1.507, 2.15, 2.964, 3.954, 5.142",\
                 "0.2756, 0.323, 0.4532, 0.6793, 1.029, 1.519, 2.165, 2.976, 3.971, 5.156",\
                 "0.328, 0.3749, 0.5047, 0.7306, 1.08, 1.57, 2.216, 3.03, 4.023, 5.206",\
                 "0.4123, 0.4618, 0.5927, 0.8177, 1.167, 1.657, 2.302, 3.114, 4.109, 5.292",\
                 "0.4894, 0.5429, 0.679, 0.9046, 1.252, 1.742, 2.387, 3.199, 4.193, 5.376",\
                 "0.5597, 0.6177, 0.7603, 0.9865, 1.333, 1.822, 2.465, 3.277, 4.271, 5.451",\
                 "0.6204, 0.6832, 0.834, 1.065, 1.41, 1.898, 2.54, 3.351, 4.344, 5.524",\
                 "0.67, 0.738, 0.8979, 1.135, 1.483, 1.969, 2.612, 3.423, 4.412, 5.592",\
                 "0.706, 0.7789, 0.9501, 1.195, 1.547, 2.036, 2.678, 3.487, 4.477, 5.659",\
                 "0.7268, 0.8058, 0.9869, 1.242, 1.599, 2.094, 2.739, 3.549, 4.538, 5.718");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04584, 0.1125, 0.2163, 0.362, 0.5537, 0.7952, 1.09, 1.441");
          values("0.09236, 0.1484, 0.3159, 0.6485, 1.189, 1.954, 2.967, 4.246, 5.804, 7.657",\
                 "0.09214, 0.1483, 0.3157, 0.6475, 1.189, 1.956, 2.968, 4.238, 5.801, 7.66",\
                 "0.0925, 0.1491, 0.3161, 0.6485, 1.188, 1.956, 2.969, 4.24, 5.804, 7.661",\
                 "0.1044, 0.1595, 0.3215, 0.6494, 1.188, 1.956, 2.965, 4.242, 5.795, 7.654",\
                 "0.1236, 0.1784, 0.34, 0.6568, 1.191, 1.955, 2.969, 4.241, 5.791, 7.651",\
                 "0.1458, 0.2034, 0.3622, 0.6672, 1.195, 1.957, 2.963, 4.235, 5.794, 7.645",\
                 "0.1714, 0.2312, 0.3908, 0.6868, 1.202, 1.958, 2.964, 4.234, 5.794, 7.644",\
                 "0.1976, 0.2628, 0.425, 0.7166, 1.221, 1.966, 2.967, 4.233, 5.788, 7.636",\
                 "0.224, 0.294, 0.4632, 0.7532, 1.252, 1.988, 2.976, 4.238, 5.784, 7.635",\
                 "0.2528, 0.327, 0.504, 0.7912, 1.289, 2.03, 3.009, 4.251, 5.79, 7.632");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04584, 0.1125, 0.2163, 0.362, 0.5537, 0.7952, 1.09, 1.441");
          values("0.09516, 0.1509, 0.3379, 0.723, 1.336, 2.206, 3.341, 4.776, 6.534, 8.616",\
                 "0.09492, 0.1506, 0.338, 0.7223, 1.337, 2.204, 3.341, 4.78, 6.525, 8.608",\
                 "0.09526, 0.1504, 0.3383, 0.7237, 1.338, 2.202, 3.339, 4.774, 6.527, 8.606",\
                 "0.1102, 0.1623, 0.3439, 0.7228, 1.339, 2.203, 3.34, 4.775, 6.523, 8.612",\
                 "0.1278, 0.1808, 0.357, 0.7278, 1.339, 2.203, 3.338, 4.772, 6.523, 8.612",\
                 "0.1474, 0.2026, 0.3734, 0.7332, 1.341, 2.203, 3.341, 4.77, 6.518, 8.618",\
                 "0.171, 0.2272, 0.3978, 0.7442, 1.343, 2.205, 3.338, 4.769, 6.516, 8.603",\
                 "0.195, 0.2558, 0.4262, 0.764, 1.352, 2.207, 3.341, 4.769, 6.515, 8.6",\
                 "0.2202, 0.2874, 0.4578, 0.7902, 1.373, 2.221, 3.344, 4.773, 6.517, 8.602",\
                 "0.2486, 0.3158, 0.4934, 0.8196, 1.399, 2.247, 3.363, 4.778, 6.517, 8.599");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkbuf_4) {
    area : 30.732800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "7.89987e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "8.95224e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.95224e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.005336 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.442 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.1832, 0.1808, 0.1804, 0.1809, 0.1816, 0.1819, 0.1821, 0.1822, 0.1823, 0.1823",\
                 "0.1826, 0.18, 0.1797, 0.1803, 0.1809, 0.1813, 0.1815, 0.1815, 0.1816, 0.1817",\
                 "0.1847, 0.1817, 0.1806, 0.1815, 0.1819, 0.1823, 0.1826, 0.1828, 0.1829, 0.183",\
                 "0.2015, 0.1958, 0.1911, 0.1898, 0.1895, 0.1897, 0.1899, 0.1901, 0.1901, 0.1902",\
                 "0.231, 0.2222, 0.2127, 0.2084, 0.2067, 0.2063, 0.2062, 0.206, 0.206, 0.2059",\
                 "0.2735, 0.2613, 0.2469, 0.2388, 0.2351, 0.2331, 0.2324, 0.2321, 0.2319, 0.2317",\
                 "0.33, 0.3146, 0.2947, 0.2822, 0.2757, 0.272, 0.2703, 0.2692, 0.2686, 0.2681",\
                 "0.4004, 0.3821, 0.3565, 0.3391, 0.3289, 0.3233, 0.3199, 0.3181, 0.3169, 0.3162",\
                 "0.4847, 0.4641, 0.4324, 0.4104, 0.3964, 0.3878, 0.3829, 0.3799, 0.378, 0.3766",\
                 "0.5837, 0.5608, 0.5231, 0.4958, 0.4777, 0.4664, 0.4593, 0.4549, 0.452, 0.45");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.1305, 0.1262, 0.1241, 0.1246, 0.1261, 0.1279, 0.1297, 0.1329, 0.137, 0.1492",\
                 "0.1298, 0.1257, 0.1233, 0.1239, 0.125, 0.1269, 0.1297, 0.1319, 0.1363, 0.1499",\
                 "0.1312, 0.1266, 0.1232, 0.1234, 0.1251, 0.1266, 0.1287, 0.1312, 0.1356, 0.1492",\
                 "0.1473, 0.1405, 0.1338, 0.1319, 0.1322, 0.1335, 0.136, 0.1385, 0.1419, 0.1576",\
                 "0.1743, 0.1645, 0.1536, 0.1495, 0.1477, 0.1487, 0.1508, 0.1527, 0.1578, 0.1739",\
                 "0.2137, 0.2008, 0.1857, 0.1754, 0.1755, 0.1741, 0.1736, 0.1754, 0.1816, 0.2006",\
                 "0.2663, 0.2495, 0.2293, 0.2163, 0.2107, 0.2124, 0.2106, 0.2114, 0.213, 0.2399",\
                 "0.3318, 0.3117, 0.2856, 0.2703, 0.2588, 0.2576, 0.2601, 0.2608, 0.2614, 0.2954",\
                 "0.4105, 0.3879, 0.3564, 0.3345, 0.3224, 0.3156, 0.3142, 0.3169, 0.3227, 0.3725",\
                 "0.5026, 0.4777, 0.4398, 0.4141, 0.3979, 0.3886, 0.3822, 0.3854, 0.398, 0.4811");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.2538, 0.3036, 0.435, 0.6498, 0.9747, 1.43, 2.029, 2.783, 3.704, 4.802",\
                 "0.2712, 0.321, 0.4523, 0.6671, 0.9922, 1.447, 2.046, 2.8, 3.72, 4.821",\
                 "0.3372, 0.3866, 0.5176, 0.7324, 1.057, 1.513, 2.111, 2.867, 3.787, 4.885",\
                 "0.4507, 0.5016, 0.6343, 0.8484, 1.173, 1.628, 2.227, 2.982, 3.9, 5.001",\
                 "0.5784, 0.6329, 0.771, 0.9878, 1.312, 1.766, 2.364, 3.119, 4.038, 5.139",\
                 "0.7204, 0.7797, 0.9241, 1.144, 1.468, 1.921, 2.52, 3.274, 4.193, 5.291",\
                 "0.8741, 0.9385, 1.093, 1.319, 1.644, 2.096, 2.694, 3.446, 4.366, 5.464",\
                 "1.039, 1.109, 1.274, 1.509, 1.839, 2.292, 2.888, 3.641, 4.559, 5.655",\
                 "1.216, 1.291, 1.467, 1.712, 2.049, 2.508, 3.106, 3.858, 4.777, 5.872",\
                 "1.406, 1.485, 1.672, 1.928, 2.273, 2.74, 3.344, 4.098, 5.017, 6.112");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.2576, 0.3044, 0.4344, 0.6604, 1.01, 1.5, 2.146, 2.957, 3.953, 5.136",\
                 "0.2708, 0.3179, 0.4476, 0.6737, 1.023, 1.513, 2.16, 2.972, 3.966, 5.149",\
                 "0.323, 0.3699, 0.4989, 0.7248, 1.074, 1.565, 2.211, 3.022, 4.017, 5.202",\
                 "0.4064, 0.4554, 0.5861, 0.8112, 1.16, 1.651, 2.296, 3.11, 4.101, 5.283",\
                 "0.4821, 0.5354, 0.6713, 0.8963, 1.244, 1.734, 2.379, 3.19, 4.186, 5.369",\
                 "0.5515, 0.6091, 0.7513, 0.9765, 1.324, 1.812, 2.455, 3.269, 4.26, 5.44",\
                 "0.6108, 0.6734, 0.8239, 1.054, 1.399, 1.887, 2.53, 3.34, 4.332, 5.515",\
                 "0.6588, 0.7269, 0.886, 1.124, 1.47, 1.958, 2.599, 3.41, 4.399, 5.582",\
                 "0.6933, 0.7665, 0.9363, 1.181, 1.533, 2.022, 2.665, 3.473, 4.464, 5.644",\
                 "0.7131, 0.7913, 0.9723, 1.226, 1.583, 2.078, 2.724, 3.534, 4.523, 5.704");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.0906, 0.1467, 0.3139, 0.6476, 1.187, 1.956, 2.969, 4.238, 5.796, 7.656",\
                 "0.09058, 0.1466, 0.314, 0.6468, 1.189, 1.956, 2.967, 4.245, 5.796, 7.663",\
                 "0.09104, 0.1472, 0.3141, 0.6467, 1.188, 1.956, 2.969, 4.243, 5.799, 7.659",\
                 "0.1033, 0.158, 0.3203, 0.6486, 1.188, 1.954, 2.965, 4.246, 5.799, 7.659",\
                 "0.1224, 0.1772, 0.3378, 0.6564, 1.191, 1.954, 2.968, 4.241, 5.794, 7.658",\
                 "0.1446, 0.2006, 0.3594, 0.6662, 1.194, 1.956, 2.962, 4.235, 5.792, 7.645",\
                 "0.1696, 0.2292, 0.3886, 0.686, 1.201, 1.958, 2.964, 4.237, 5.794, 7.641",\
                 "0.1958, 0.2608, 0.4226, 0.715, 1.221, 1.966, 2.967, 4.233, 5.788, 7.642",\
                 "0.2226, 0.292, 0.461, 0.7508, 1.251, 1.991, 2.979, 4.241, 5.784, 7.638",\
                 "0.251, 0.3256, 0.5008, 0.7888, 1.288, 2.028, 3.009, 4.251, 5.794, 7.634");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2164, 0.3621, 0.5538, 0.7954, 1.09, 1.442");
          values("0.09382, 0.1487, 0.3367, 0.7223, 1.339, 2.201, 3.343, 4.777, 6.524, 8.604",\
                 "0.09386, 0.1493, 0.3367, 0.7229, 1.337, 2.201, 3.341, 4.774, 6.524, 8.606",\
                 "0.09386, 0.1492, 0.3367, 0.7229, 1.337, 2.202, 3.338, 4.78, 6.527, 8.608",\
                 "0.1083, 0.1611, 0.3419, 0.722, 1.339, 2.201, 3.34, 4.775, 6.529, 8.62",\
                 "0.1262, 0.179, 0.3552, 0.7262, 1.336, 2.201, 3.34, 4.776, 6.523, 8.612",\
                 "0.1462, 0.2014, 0.3714, 0.7316, 1.339, 2.203, 3.34, 4.77, 6.521, 8.603",\
                 "0.169, 0.2256, 0.3958, 0.7432, 1.343, 2.203, 3.337, 4.768, 6.519, 8.615",\
                 "0.1952, 0.2536, 0.4232, 0.7632, 1.353, 2.206, 3.339, 4.77, 6.527, 8.599",\
                 "0.221, 0.2856, 0.4554, 0.789, 1.374, 2.219, 3.345, 4.773, 6.516, 8.614",\
                 "0.2464, 0.315, 0.4908, 0.8184, 1.4, 2.247, 3.362, 4.777, 6.517, 8.598");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkbuf_8) {
    area : 57.075200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001483152" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001578753" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001578753" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.01097 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 2.878 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09057, 0.2237, 0.4311, 0.7221, 1.105, 1.587, 2.176, 2.878");
          values("0.3682, 0.3637, 0.363, 0.3644, 0.3653, 0.3658, 0.3662, 0.3665, 0.3667, 0.3669",\
                 "0.3667, 0.3619, 0.3616, 0.3628, 0.3641, 0.3648, 0.3651, 0.3654, 0.3655, 0.3656",\
                 "0.3716, 0.3658, 0.3639, 0.3654, 0.3664, 0.3674, 0.3679, 0.3682, 0.3685, 0.3687",\
                 "0.4067, 0.3961, 0.387, 0.3846, 0.3845, 0.3846, 0.385, 0.3854, 0.3853, 0.3855",\
                 "0.4689, 0.452, 0.4338, 0.4253, 0.4229, 0.4217, 0.4213, 0.4212, 0.421, 0.4212",\
                 "0.5597, 0.5366, 0.5084, 0.4927, 0.4847, 0.4812, 0.4799, 0.4795, 0.4785, 0.4785",\
                 "0.6805, 0.6506, 0.612, 0.5878, 0.574, 0.5671, 0.5635, 0.5617, 0.5605, 0.5596",\
                 "0.8316, 0.7959, 0.7458, 0.7118, 0.6916, 0.68, 0.6742, 0.67, 0.6678, 0.666",\
                 "1.013, 0.972, 0.91, 0.8663, 0.8381, 0.8213, 0.812, 0.8076, 0.8023, 0.7996",\
                 "1.226, 1.181, 1.107, 1.053, 1.016, 0.9939, 0.9798, 0.971, 0.9652, 0.9616");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09057, 0.2237, 0.4311, 0.7221, 1.105, 1.587, 2.176, 2.878");
          values("0.2629, 0.2558, 0.2534, 0.2539, 0.2559, 0.2591, 0.2631, 0.273, 0.2768, 0.3046",\
                 "0.2615, 0.2547, 0.2504, 0.2523, 0.2546, 0.2581, 0.2634, 0.2693, 0.2771, 0.3036",\
                 "0.2655, 0.2569, 0.252, 0.2525, 0.2546, 0.2587, 0.2624, 0.2677, 0.2771, 0.3051",\
                 "0.2994, 0.2855, 0.2737, 0.2701, 0.2714, 0.2742, 0.2773, 0.2832, 0.292, 0.3236",\
                 "0.3555, 0.337, 0.3151, 0.3083, 0.3054, 0.3076, 0.309, 0.3149, 0.3215, 0.3572",\
                 "0.4386, 0.4133, 0.3838, 0.3661, 0.3658, 0.3633, 0.3631, 0.3667, 0.3744, 0.4155",\
                 "0.5488, 0.5164, 0.4757, 0.4508, 0.4414, 0.4465, 0.4426, 0.4446, 0.4474, 0.4969",\
                 "0.6867, 0.6477, 0.5971, 0.5633, 0.5476, 0.5419, 0.5459, 0.5453, 0.5514, 0.6256",\
                 "0.8525, 0.8075, 0.7468, 0.7038, 0.6793, 0.6643, 0.663, 0.6766, 0.6837, 0.7832",\
                 "1.047, 0.998, 0.9247, 0.8761, 0.8413, 0.8243, 0.8135, 0.8163, 0.8439, 0.99");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09057, 0.2237, 0.4311, 0.7221, 1.105, 1.587, 2.176, 2.878");
          values("0.2564, 0.3076, 0.4435, 0.6672, 1.007, 1.482, 2.108, 2.898, 3.86, 5.008",\
                 "0.2737, 0.3249, 0.4608, 0.6846, 1.024, 1.5, 2.126, 2.914, 3.875, 5.024",\
                 "0.3405, 0.3913, 0.5268, 0.7505, 1.09, 1.566, 2.192, 2.98, 3.942, 5.091",\
                 "0.4571, 0.5093, 0.6462, 0.8695, 1.208, 1.684, 2.31, 3.098, 4.062, 5.208",\
                 "0.5925, 0.6479, 0.7902, 1.015, 1.354, 1.828, 2.454, 3.242, 4.204, 5.352",\
                 "0.7449, 0.805, 0.9542, 1.183, 1.521, 1.995, 2.619, 3.407, 4.368, 5.515",\
                 "0.9135, 0.9787, 1.137, 1.372, 1.711, 2.185, 2.809, 3.596, 4.556, 5.703",\
                 "1.097, 1.168, 1.337, 1.581, 1.925, 2.4, 3.024, 3.81, 4.771, 5.915",\
                 "1.297, 1.374, 1.553, 1.807, 2.16, 2.641, 3.266, 4.053, 5.012, 6.157",\
                 "1.515, 1.596, 1.787, 2.052, 2.413, 2.903, 3.536, 4.324, 5.283, 6.428");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09057, 0.2237, 0.4311, 0.7221, 1.105, 1.587, 2.176, 2.878");
          values("0.2427, 0.2894, 0.4187, 0.6445, 0.994, 1.484, 2.13, 2.943, 3.934, 5.119",\
                 "0.2556, 0.3024, 0.4314, 0.6575, 1.007, 1.498, 2.143, 2.955, 3.95, 5.133",\
                 "0.3067, 0.3528, 0.4814, 0.7072, 1.057, 1.546, 2.192, 3.005, 3.999, 5.184",\
                 "0.3818, 0.4307, 0.5612, 0.7862, 1.135, 1.625, 2.271, 3.081, 4.076, 5.259",\
                 "0.4461, 0.4993, 0.6349, 0.8601, 1.208, 1.697, 2.341, 3.154, 4.148, 5.331",\
                 "0.5002, 0.5585, 0.7003, 0.926, 1.273, 1.761, 2.405, 3.218, 4.208, 5.39",\
                 "0.5407, 0.6034, 0.7538, 0.9846, 1.33, 1.819, 2.461, 3.272, 4.263, 5.446",\
                 "0.5652, 0.6336, 0.7934, 1.03, 1.38, 1.867, 2.509, 3.319, 4.31, 5.492",\
                 "0.5713, 0.645, 0.8159, 1.061, 1.415, 1.907, 2.549, 3.36, 4.348, 5.529",\
                 "0.5587, 0.6377, 0.819, 1.075, 1.433, 1.932, 2.579, 3.389, 4.379, 5.558");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09057, 0.2237, 0.4311, 0.7221, 1.105, 1.587, 2.176, 2.878");
          values("0.09176, 0.1499, 0.3253, 0.6742, 1.242, 2.045, 3.105, 4.439, 6.068, 8.013",\
                 "0.09164, 0.1499, 0.3252, 0.6747, 1.242, 2.042, 3.1, 4.431, 6.062, 8.005",\
                 "0.09192, 0.1504, 0.3258, 0.6751, 1.24, 2.043, 3.101, 4.439, 6.06, 8.01",\
                 "0.1034, 0.1606, 0.3311, 0.6764, 1.241, 2.044, 3.103, 4.434, 6.07, 8.005",\
                 "0.122, 0.1798, 0.3474, 0.6818, 1.243, 2.044, 3.103, 4.437, 6.06, 8",\
                 "0.1442, 0.2036, 0.3694, 0.693, 1.247, 2.045, 3.101, 4.431, 6.066, 7.997",\
                 "0.1692, 0.2308, 0.3986, 0.7126, 1.254, 2.047, 3.1, 4.426, 6.06, 7.995",\
                 "0.1956, 0.2624, 0.4322, 0.7436, 1.274, 2.054, 3.102, 4.426, 6.049, 7.989",\
                 "0.2222, 0.294, 0.4694, 0.7782, 1.308, 2.085, 3.116, 4.431, 6.051, 7.99",\
                 "0.2498, 0.3272, 0.5102, 0.8166, 1.347, 2.126, 3.149, 4.451, 6.054, 7.981");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02086, 0.09057, 0.2237, 0.4311, 0.7221, 1.105, 1.587, 2.176, 2.878");
          values("0.09078, 0.1462, 0.3343, 0.7221, 1.335, 2.203, 3.342, 4.771, 6.525, 8.611",\
                 "0.09118, 0.1457, 0.3345, 0.7223, 1.336, 2.204, 3.339, 4.769, 6.525, 8.602",\
                 "0.09082, 0.1466, 0.3346, 0.7221, 1.335, 2.2, 3.338, 4.771, 6.524, 8.611",\
                 "0.1066, 0.1593, 0.3409, 0.7208, 1.335, 2.2, 3.338, 4.777, 6.523, 8.61",\
                 "0.1252, 0.1774, 0.3526, 0.7252, 1.336, 2.202, 3.338, 4.769, 6.521, 8.607",\
                 "0.1448, 0.1992, 0.3694, 0.7312, 1.339, 2.201, 3.339, 4.768, 6.521, 8.612",\
                 "0.1676, 0.2266, 0.394, 0.7424, 1.342, 2.203, 3.338, 4.768, 6.522, 8.614",\
                 "0.1926, 0.2526, 0.4222, 0.7642, 1.355, 2.206, 3.338, 4.767, 6.512, 8.593",\
                 "0.2184, 0.2826, 0.4542, 0.79, 1.378, 2.223, 3.343, 4.769, 6.515, 8.61",\
                 "0.245, 0.3138, 0.488, 0.8202, 1.403, 2.251, 3.366, 4.777, 6.516, 8.596");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkbuf_12) {
    area : 83.417600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0002195325" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0002244231" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002244231" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.01657 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 4.311 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.5611, 0.5531, 0.5504, 0.5514, 0.5529, 0.5541, 0.5543, 0.5545, 0.5548, 0.5549",\
                 "0.5591, 0.5505, 0.5485, 0.5495, 0.5516, 0.5522, 0.5528, 0.5531, 0.5533, 0.5533",\
                 "0.567, 0.5567, 0.5528, 0.554, 0.5557, 0.5568, 0.5575, 0.558, 0.5584, 0.5585",\
                 "0.6224, 0.6049, 0.589, 0.5846, 0.584, 0.5842, 0.5847, 0.5851, 0.5852, 0.5854",\
                 "0.7207, 0.6931, 0.6636, 0.6505, 0.6449, 0.6431, 0.6425, 0.6422, 0.642, 0.6421",\
                 "0.8648, 0.8273, 0.7818, 0.7559, 0.7439, 0.7374, 0.7353, 0.7341, 0.7332, 0.7327",\
                 "1.056, 1.008, 0.9452, 0.9054, 0.8837, 0.8732, 0.8671, 0.8638, 0.8621, 0.8606",\
                 "1.293, 1.237, 1.156, 1.101, 1.069, 1.052, 1.04, 1.034, 1.03, 1.028",\
                 "1.579, 1.515, 1.414, 1.345, 1.301, 1.274, 1.256, 1.248, 1.242, 1.238",\
                 "1.914, 1.845, 1.725, 1.639, 1.582, 1.545, 1.522, 1.508, 1.498, 1.492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.4066, 0.3953, 0.3925, 0.3939, 0.3976, 0.4025, 0.4084, 0.4221, 0.4311, 0.4709",\
                 "0.4042, 0.3942, 0.39, 0.392, 0.3953, 0.4002, 0.4087, 0.4171, 0.4278, 0.4676",\
                 "0.411, 0.3991, 0.3907, 0.3906, 0.3966, 0.4015, 0.4077, 0.4214, 0.4278, 0.4733",\
                 "0.4637, 0.4444, 0.4257, 0.4197, 0.4217, 0.4286, 0.4325, 0.4386, 0.4509, 0.495",\
                 "0.5511, 0.5223, 0.491, 0.4784, 0.4741, 0.4734, 0.481, 0.4864, 0.4993, 0.5549",\
                 "0.6802, 0.6418, 0.5954, 0.5705, 0.5672, 0.5622, 0.5641, 0.5633, 0.5752, 0.6437",\
                 "0.8512, 0.8022, 0.7425, 0.7058, 0.684, 0.6906, 0.6879, 0.6887, 0.6983, 0.7758",\
                 "1.066, 1.007, 0.9308, 0.881, 0.8517, 0.8411, 0.8509, 0.8503, 0.8565, 0.9633",\
                 "1.324, 1.256, 1.165, 1.099, 1.061, 1.035, 1.034, 1.05, 1.057, 1.206",\
                 "1.625, 1.551, 1.439, 1.362, 1.313, 1.277, 1.263, 1.266, 1.309, 1.54");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.2539, 0.3027, 0.4305, 0.637, 0.9481, 1.383, 1.956, 2.679, 3.56, 4.606",\
                 "0.2712, 0.3199, 0.4478, 0.6544, 0.9656, 1.401, 1.974, 2.694, 3.574, 4.626",\
                 "0.3383, 0.3868, 0.5142, 0.7207, 1.032, 1.467, 2.04, 2.762, 3.641, 4.694",\
                 "0.4565, 0.5064, 0.6354, 0.8417, 1.152, 1.587, 2.16, 2.882, 3.764, 4.814",\
                 "0.5951, 0.6485, 0.7831, 0.992, 1.303, 1.737, 2.309, 3.029, 3.911, 4.959",\
                 "0.7525, 0.8108, 0.9524, 1.165, 1.476, 1.909, 2.48, 3.201, 4.083, 5.132",\
                 "0.9273, 0.9906, 1.143, 1.362, 1.675, 2.108, 2.68, 3.399, 4.278, 5.329",\
                 "1.12, 1.189, 1.35, 1.58, 1.898, 2.334, 2.905, 3.625, 4.503, 5.553",\
                 "1.33, 1.404, 1.578, 1.817, 2.144, 2.587, 3.161, 3.881, 4.76, 5.807",\
                 "1.56, 1.639, 1.824, 2.075, 2.41, 2.862, 3.444, 4.168, 5.046, 6.094");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.2418, 0.288, 0.4172, 0.6431, 0.9927, 1.483, 2.128, 2.942, 3.934, 5.116",\
                 "0.2546, 0.301, 0.4301, 0.6559, 1.006, 1.496, 2.14, 2.953, 3.945, 5.132",\
                 "0.3049, 0.3507, 0.4791, 0.7048, 1.054, 1.545, 2.189, 3.003, 3.992, 5.178",\
                 "0.3779, 0.4264, 0.5565, 0.7813, 1.13, 1.62, 2.265, 3.077, 4.067, 5.256",\
                 "0.4388, 0.4911, 0.6258, 0.8506, 1.199, 1.687, 2.333, 3.144, 4.139, 5.322",\
                 "0.4881, 0.5448, 0.6856, 0.9118, 1.259, 1.746, 2.39, 3.201, 4.195, 5.379",\
                 "0.5217, 0.5835, 0.7325, 0.9634, 1.308, 1.796, 2.439, 3.249, 4.24, 5.425",\
                 "0.5375, 0.6049, 0.7629, 0.9998, 1.349, 1.836, 2.478, 3.289, 4.278, 5.46",\
                 "0.5336, 0.6059, 0.7745, 1.019, 1.373, 1.864, 2.507, 3.316, 4.306, 5.486",\
                 "0.5082, 0.5853, 0.7642, 1.018, 1.378, 1.875, 2.524, 3.335, 4.322, 5.503");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.08954, 0.1443, 0.3041, 0.6213, 1.137, 1.871, 2.837, 4.06, 5.55, 7.313",\
                 "0.08952, 0.1442, 0.3049, 0.6201, 1.137, 1.871, 2.837, 4.056, 5.545, 7.323",\
                 "0.08984, 0.1447, 0.3048, 0.6208, 1.137, 1.87, 2.838, 4.054, 5.54, 7.327",\
                 "0.102, 0.1548, 0.3106, 0.6218, 1.138, 1.871, 2.836, 4.06, 5.549, 7.327",\
                 "0.121, 0.174, 0.3276, 0.6314, 1.139, 1.871, 2.838, 4.057, 5.548, 7.313",\
                 "0.1438, 0.1992, 0.3514, 0.6424, 1.143, 1.872, 2.836, 4.057, 5.542, 7.321",\
                 "0.1694, 0.2282, 0.3822, 0.6644, 1.153, 1.873, 2.835, 4.052, 5.536, 7.311",\
                 "0.1958, 0.2596, 0.4168, 0.6968, 1.178, 1.886, 2.84, 4.05, 5.53, 7.308",\
                 "0.2242, 0.292, 0.4558, 0.7336, 1.214, 1.916, 2.855, 4.057, 5.532, 7.297",\
                 "0.2522, 0.3258, 0.497, 0.7754, 1.251, 1.961, 2.899, 4.079, 5.541, 7.3");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03075, 0.1352, 0.3346, 0.6453, 1.081, 1.655, 2.378, 3.26, 4.311");
          values("0.08984, 0.1459, 0.3343, 0.7207, 1.338, 2.203, 3.338, 4.772, 6.517, 8.605",\
                 "0.0901, 0.1459, 0.3345, 0.722, 1.338, 2.203, 3.342, 4.774, 6.522, 8.611",\
                 "0.09008, 0.1457, 0.3346, 0.7216, 1.336, 2.202, 3.338, 4.77, 6.529, 8.605",\
                 "0.1047, 0.1584, 0.3406, 0.7226, 1.336, 2.2, 3.343, 4.78, 6.53, 8.605",\
                 "0.1226, 0.1758, 0.3534, 0.7254, 1.336, 2.201, 3.341, 4.776, 6.517, 8.608",\
                 "0.1432, 0.1972, 0.3692, 0.7312, 1.339, 2.2, 3.339, 4.767, 6.521, 8.609",\
                 "0.1658, 0.2214, 0.3928, 0.743, 1.343, 2.203, 3.337, 4.766, 6.515, 8.601",\
                 "0.1902, 0.2484, 0.421, 0.7644, 1.355, 2.206, 3.338, 4.768, 6.521, 8.593",\
                 "0.2142, 0.278, 0.4514, 0.7896, 1.38, 2.225, 3.347, 4.771, 6.513, 8.599",\
                 "0.2406, 0.3088, 0.4852, 0.8208, 1.407, 2.255, 3.371, 4.779, 6.515, 8.596");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkbuf_16) {
    area : 109.760000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0002748504" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0002918487" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002918487" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.02198 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 5.739 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0406, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.7556, 0.7443, 0.741, 0.7418, 0.7432, 0.7443, 0.745, 0.7454, 0.7457, 0.7459",\
                 "0.753, 0.7415, 0.7377, 0.741, 0.7412, 0.7426, 0.743, 0.7432, 0.7434, 0.7438",\
                 "0.7621, 0.7483, 0.7429, 0.7442, 0.7465, 0.7478, 0.7485, 0.7492, 0.7497, 0.75",\
                 "0.834, 0.81, 0.7893, 0.7826, 0.7811, 0.7818, 0.7822, 0.7826, 0.7829, 0.7831",\
                 "0.9605, 0.9239, 0.8848, 0.866, 0.8585, 0.8556, 0.8547, 0.8541, 0.8538, 0.854",\
                 "1.145, 1.095, 1.034, 0.9994, 0.9837, 0.9749, 0.9714, 0.9694, 0.9683, 0.9676",\
                 "1.391, 1.327, 1.243, 1.19, 1.162, 1.146, 1.137, 1.133, 1.131, 1.129",\
                 "1.697, 1.622, 1.513, 1.439, 1.396, 1.372, 1.356, 1.348, 1.343, 1.34",\
                 "2.063, 1.979, 1.844, 1.751, 1.69, 1.653, 1.632, 1.619, 1.61, 1.604",\
                 "2.494, 2.401, 2.242, 2.125, 2.047, 1.998, 1.967, 1.947, 1.935, 1.926");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0406, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.5529, 0.5373, 0.532, 0.5304, 0.5376, 0.5435, 0.5553, 0.5652, 0.5817, 0.6312",\
                 "0.5501, 0.5347, 0.5291, 0.5294, 0.5343, 0.5419, 0.551, 0.5619, 0.5784, 0.6317",\
                 "0.5581, 0.541, 0.5283, 0.5294, 0.5347, 0.5412, 0.5503, 0.5685, 0.5751, 0.6354",\
                 "0.6268, 0.5995, 0.5753, 0.5653, 0.5673, 0.5719, 0.58, 0.5949, 0.6048, 0.6671",\
                 "0.74, 0.7021, 0.6582, 0.6403, 0.6333, 0.6376, 0.6454, 0.6543, 0.6671, 0.7388",\
                 "0.9069, 0.8544, 0.7948, 0.7624, 0.7525, 0.7494, 0.7497, 0.7533, 0.7788, 0.852",\
                 "1.13, 1.065, 0.9821, 0.927, 0.9085, 0.9088, 0.9041, 0.9105, 0.9203, 1.02",\
                 "1.408, 1.329, 1.229, 1.158, 1.116, 1.102, 1.117, 1.112, 1.124, 1.252",\
                 "1.743, 1.651, 1.53, 1.439, 1.382, 1.355, 1.346, 1.366, 1.375, 1.571",\
                 "2.134, 2.034, 1.884, 1.784, 1.717, 1.665, 1.645, 1.652, 1.704, 2.004");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0406, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.2558, 0.3044, 0.4316, 0.6367, 0.9451, 1.376, 1.944, 2.66, 3.534, 4.574",\
                 "0.2731, 0.3217, 0.449, 0.654, 0.9625, 1.394, 1.961, 2.677, 3.551, 4.592",\
                 "0.3398, 0.3882, 0.515, 0.72, 1.028, 1.46, 2.027, 2.743, 3.614, 4.658",\
                 "0.4568, 0.5065, 0.6349, 0.8398, 1.148, 1.579, 2.146, 2.862, 3.734, 4.775",\
                 "0.5922, 0.6453, 0.7797, 0.9877, 1.295, 1.725, 2.293, 3.006, 3.88, 4.922",\
                 "0.7445, 0.8025, 0.9439, 1.155, 1.463, 1.893, 2.459, 3.174, 4.046, 5.085",\
                 "0.9135, 0.9766, 1.127, 1.345, 1.655, 2.085, 2.651, 3.364, 4.236, 5.274",\
                 "1.097, 1.166, 1.327, 1.554, 1.87, 2.301, 2.867, 3.579, 4.45, 5.49",\
                 "1.297, 1.371, 1.543, 1.781, 2.104, 2.542, 3.11, 3.822, 4.693, 5.733",\
                 "1.514, 1.593, 1.776, 2.026, 2.357, 2.803, 3.38, 4.096, 4.966, 6.004");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0406, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.2502, 0.2966, 0.4265, 0.6521, 1.002, 1.492, 2.137, 2.951, 3.944, 5.127",\
                 "0.2632, 0.3097, 0.4394, 0.6653, 1.014, 1.504, 2.15, 2.962, 3.956, 5.137",\
                 "0.3142, 0.3604, 0.4892, 0.7151, 1.065, 1.555, 2.199, 3.013, 4.003, 5.189",\
                 "0.3916, 0.4402, 0.5707, 0.7955, 1.144, 1.635, 2.279, 3.092, 4.083, 5.262",\
                 "0.4584, 0.5107, 0.6458, 0.8707, 1.218, 1.708, 2.353, 3.164, 4.157, 5.337",\
                 "0.515, 0.5717, 0.713, 0.94, 1.286, 1.774, 2.417, 3.228, 4.218, 5.401",\
                 "0.5582, 0.6199, 0.7694, 0.9992, 1.345, 1.831, 2.474, 3.285, 4.276, 5.458",\
                 "0.5859, 0.6524, 0.8113, 1.047, 1.395, 1.883, 2.524, 3.333, 4.324, 5.506",\
                 "0.5955, 0.6674, 0.8361, 1.08, 1.433, 1.923, 2.565, 3.374, 4.363, 5.543",\
                 "0.5858, 0.6626, 0.8417, 1.096, 1.454, 1.95, 2.596, 3.406, 4.394, 5.574");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0406, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.09036, 0.1447, 0.3034, 0.616, 1.127, 1.855, 2.811, 4.025, 5.501, 7.262",\
                 "0.09036, 0.1447, 0.3036, 0.616, 1.128, 1.855, 2.812, 4.023, 5.498, 7.263",\
                 "0.0906, 0.1451, 0.304, 0.6159, 1.128, 1.855, 2.814, 4.02, 5.495, 7.261",\
                 "0.1028, 0.1554, 0.31, 0.6178, 1.128, 1.855, 2.813, 4.023, 5.491, 7.257",\
                 "0.122, 0.1752, 0.3282, 0.626, 1.13, 1.855, 2.811, 4.022, 5.495, 7.259",\
                 "0.1456, 0.2, 0.3508, 0.638, 1.134, 1.855, 2.81, 4.019, 5.491, 7.255",\
                 "0.1696, 0.2282, 0.3812, 0.6602, 1.143, 1.858, 2.811, 4.015, 5.485, 7.253",\
                 "0.1968, 0.2602, 0.4158, 0.6918, 1.166, 1.868, 2.816, 4.014, 5.487, 7.244",\
                 "0.2252, 0.2924, 0.4554, 0.7278, 1.2, 1.897, 2.828, 4.021, 5.484, 7.24",\
                 "0.2524, 0.3254, 0.4954, 0.7686, 1.237, 1.941, 2.867, 4.038, 5.496, 7.235");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0406, 0.1796, 0.4451, 0.8587, 1.439, 2.203, 3.165, 4.339, 5.739");
          values("0.09218, 0.148, 0.3362, 0.7222, 1.338, 2.203, 3.339, 4.771, 6.523, 8.606",\
                 "0.0921, 0.1482, 0.3361, 0.7216, 1.337, 2.2, 3.343, 4.771, 6.518, 8.611",\
                 "0.09156, 0.1478, 0.3367, 0.7226, 1.339, 2.203, 3.336, 4.772, 6.527, 8.611",\
                 "0.1067, 0.1604, 0.342, 0.7238, 1.336, 2.204, 3.339, 4.769, 6.523, 8.618",\
                 "0.1242, 0.1778, 0.3544, 0.7262, 1.338, 2.202, 3.337, 4.768, 6.519, 8.61",\
                 "0.1446, 0.1986, 0.3714, 0.7318, 1.339, 2.202, 3.334, 4.773, 6.515, 8.614",\
                 "0.1666, 0.224, 0.3946, 0.7438, 1.343, 2.205, 3.337, 4.769, 6.512, 8.603",\
                 "0.1902, 0.2518, 0.4228, 0.765, 1.356, 2.206, 3.34, 4.767, 6.525, 8.599",\
                 "0.216, 0.2804, 0.4536, 0.7904, 1.377, 2.223, 3.343, 4.77, 6.513, 8.598",\
                 "0.2434, 0.3106, 0.4886, 0.8208, 1.404, 2.25, 3.363, 4.778, 6.518, 8.595");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkbuf_20) {
    area : 136.102400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.000345609" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.000359865" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000359865" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.02744 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 7.161 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.9403, 0.9264, 0.9232, 0.9259, 0.9265, 0.9277, 0.9285, 0.9291, 0.9295, 0.9298",\
                 "0.9376, 0.923, 0.92, 0.9209, 0.9242, 0.9255, 0.9261, 0.9266, 0.927, 0.9273",\
                 "0.9493, 0.9325, 0.926, 0.9281, 0.9305, 0.9324, 0.9335, 0.9343, 0.9348, 0.9353",\
                 "1.039, 1.011, 0.9863, 0.9775, 0.9764, 0.9768, 0.9773, 0.9778, 0.9781, 0.9784",\
                 "1.2, 1.155, 1.107, 1.085, 1.076, 1.072, 1.071, 1.07, 1.07, 1.071",\
                 "1.433, 1.373, 1.298, 1.256, 1.236, 1.225, 1.22, 1.217, 1.217, 1.216",\
                 "1.744, 1.667, 1.563, 1.497, 1.463, 1.444, 1.434, 1.428, 1.425, 1.422",\
                 "2.133, 2.041, 1.908, 1.816, 1.762, 1.731, 1.714, 1.704, 1.698, 1.693",\
                 "2.599, 2.496, 2.331, 2.215, 2.137, 2.093, 2.066, 2.049, 2.039, 2.032",\
                 "3.147, 3.032, 2.838, 2.694, 2.595, 2.532, 2.494, 2.469, 2.454, 2.443");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.6954, 0.6775, 0.6698, 0.6711, 0.676, 0.6864, 0.6977, 0.717, 0.7279, 0.796",\
                 "0.6915, 0.6747, 0.666, 0.6675, 0.6727, 0.6821, 0.6944, 0.7038, 0.7279, 0.7941",\
                 "0.7024, 0.6819, 0.6667, 0.6685, 0.6734, 0.6824, 0.6931, 0.7071, 0.7312, 0.8021",\
                 "0.7879, 0.7555, 0.7262, 0.714, 0.7156, 0.722, 0.7314, 0.7467, 0.7642, 0.8408",\
                 "0.9304, 0.8835, 0.8269, 0.811, 0.7998, 0.8055, 0.8149, 0.8259, 0.8437, 0.937",\
                 "1.141, 1.079, 1.003, 0.9592, 0.9565, 0.9444, 0.9469, 0.9513, 0.9691, 1.085",\
                 "1.422, 1.342, 1.24, 1.175, 1.156, 1.149, 1.145, 1.146, 1.158, 1.285",\
                 "1.774, 1.677, 1.552, 1.463, 1.411, 1.398, 1.417, 1.416, 1.413, 1.582",\
                 "2.198, 2.086, 1.932, 1.818, 1.757, 1.719, 1.713, 1.739, 1.751, 1.992",\
                 "2.694, 2.57, 2.388, 2.258, 2.167, 2.115, 2.081, 2.088, 2.176, 2.534");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.2582, 0.3073, 0.4368, 0.6466, 0.9629, 1.405, 1.987, 2.722, 3.618, 4.683",\
                 "0.2755, 0.3247, 0.4541, 0.664, 0.9803, 1.422, 2.005, 2.738, 3.634, 4.7",\
                 "0.3425, 0.3913, 0.5204, 0.7302, 1.046, 1.489, 2.071, 2.806, 3.7, 4.769",\
                 "0.4604, 0.5106, 0.6411, 0.8506, 1.166, 1.608, 2.19, 2.923, 3.819, 4.888",\
                 "0.5983, 0.6519, 0.7878, 0.9998, 1.316, 1.757, 2.339, 3.071, 3.968, 5.035",\
                 "0.7542, 0.8125, 0.9552, 1.171, 1.486, 1.927, 2.508, 3.242, 4.136, 5.203",\
                 "0.927, 0.9902, 1.143, 1.366, 1.683, 2.123, 2.703, 3.435, 4.33, 5.397",\
                 "1.117, 1.185, 1.349, 1.58, 1.902, 2.345, 2.926, 3.656, 4.55, 5.616",\
                 "1.324, 1.397, 1.571, 1.813, 2.144, 2.593, 3.175, 3.907, 4.799, 5.864",\
                 "1.549, 1.627, 1.813, 2.066, 2.405, 2.863, 3.454, 4.187, 5.08, 6.145");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.2469, 0.2934, 0.4227, 0.6485, 0.9975, 1.487, 2.133, 2.946, 3.939, 5.122",\
                 "0.2598, 0.3064, 0.4355, 0.6614, 1.011, 1.5, 2.146, 2.957, 3.952, 5.135",\
                 "0.3105, 0.3564, 0.4852, 0.7108, 1.06, 1.55, 2.195, 3.008, 4, 5.181",\
                 "0.3853, 0.4339, 0.5642, 0.789, 1.138, 1.628, 2.272, 3.084, 4.078, 5.258",\
                 "0.449, 0.5012, 0.6361, 0.8612, 1.209, 1.698, 2.343, 3.155, 4.143, 5.327",\
                 "0.5012, 0.5583, 0.6993, 0.9252, 1.272, 1.76, 2.402, 3.214, 4.207, 5.388",\
                 "0.5393, 0.6009, 0.7495, 0.9798, 1.326, 1.812, 2.455, 3.265, 4.255, 5.439",\
                 "0.5597, 0.6268, 0.7854, 1.022, 1.37, 1.857, 2.499, 3.308, 4.297, 5.477",\
                 "0.5616, 0.6335, 0.8017, 1.046, 1.4, 1.89, 2.533, 3.341, 4.33, 5.509",\
                 "0.5429, 0.62, 0.7994, 1.053, 1.411, 1.908, 2.555, 3.365, 4.353, 5.532");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.09198, 0.1471, 0.3102, 0.632, 1.157, 1.902, 2.887, 4.13, 5.645, 7.445",\
                 "0.0925, 0.1475, 0.3105, 0.6317, 1.158, 1.903, 2.883, 4.129, 5.645, 7.444",\
                 "0.09228, 0.1476, 0.3106, 0.6329, 1.158, 1.904, 2.887, 4.13, 5.636, 7.45",\
                 "0.1044, 0.1577, 0.3159, 0.6332, 1.158, 1.904, 2.888, 4.128, 5.643, 7.449",\
                 "0.1228, 0.1764, 0.3336, 0.641, 1.159, 1.902, 2.885, 4.128, 5.643, 7.448",\
                 "0.1458, 0.2018, 0.3566, 0.6528, 1.164, 1.904, 2.882, 4.122, 5.633, 7.445",\
                 "0.171, 0.2302, 0.3872, 0.6746, 1.172, 1.906, 2.883, 4.12, 5.628, 7.437",\
                 "0.1982, 0.2616, 0.4216, 0.7078, 1.196, 1.917, 2.887, 4.12, 5.631, 7.429",\
                 "0.2256, 0.2944, 0.46, 0.7428, 1.229, 1.947, 2.902, 4.125, 5.627, 7.429",\
                 "0.2536, 0.3274, 0.5002, 0.7846, 1.267, 1.988, 2.94, 4.144, 5.635, 7.425");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.05042, 0.2239, 0.5552, 1.071, 1.795, 2.748, 3.949, 5.414, 7.161");
          values("0.09252, 0.1481, 0.3363, 0.7232, 1.336, 2.202, 3.338, 4.772, 6.522, 8.607",\
                 "0.09252, 0.1483, 0.3363, 0.7235, 1.339, 2.2, 3.339, 4.772, 6.523, 8.606",\
                 "0.09246, 0.1487, 0.3373, 0.7233, 1.339, 2.204, 3.337, 4.77, 6.517, 8.601",\
                 "0.1067, 0.1606, 0.3428, 0.724, 1.336, 2.205, 3.341, 4.771, 6.521, 8.607",\
                 "0.125, 0.1776, 0.355, 0.727, 1.337, 2.2, 3.338, 4.771, 6.525, 8.605",\
                 "0.1464, 0.199, 0.3714, 0.7332, 1.34, 2.2, 3.334, 4.765, 6.518, 8.603",\
                 "0.1664, 0.2228, 0.395, 0.7448, 1.344, 2.203, 3.337, 4.77, 6.518, 8.6",\
                 "0.1922, 0.2518, 0.423, 0.7656, 1.355, 2.206, 3.338, 4.768, 6.521, 8.595",\
                 "0.217, 0.281, 0.4542, 0.7918, 1.379, 2.225, 3.346, 4.768, 6.512, 8.602",\
                 "0.2444, 0.3106, 0.4872, 0.8212, 1.405, 2.255, 3.365, 4.777, 6.516, 8.593");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkinv_1) {
    area : 8.780800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "3.295413e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "3.33135e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.004123 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 0.3495 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003405, 0.01185, 0.02797, 0.05309, 0.08833, 0.1347, 0.1931, 0.2645, 0.3495");
          values("0.0003352, 0.0006122, 0.0009101, 0.001023, 0.001063, 0.001099, 0.001104, 0.001111, 0.001116, 0.00112",\
                 "-0.0006051, -0.0001788, 0.0004556, 0.0007922, 0.0009239, 0.000988, 0.001037, 0.001046, 0.001092, 0.001091",\
                 "0.0007023, 0.0006069, 0.0006682, 0.000795, 0.0009381, 0.001, 0.001027, 0.001058, 0.001074, 0.001073",\
                 "0.007838, 0.006619, 0.004666, 0.003316, 0.002545, 0.002087, 0.001803, 0.001624, 0.001474, 0.001397",\
                 "0.02176, 0.01935, 0.01458, 0.01052, 0.007697, 0.005831, 0.004551, 0.003691, 0.003099, 0.002671",\
                 "0.04284, 0.03946, 0.03176, 0.02413, 0.01827, 0.01399, 0.01086, 0.008649, 0.00703, 0.005824",\
                 "0.07151, 0.06731, 0.05691, 0.04543, 0.03566, 0.02807, 0.0222, 0.0178, 0.01446, 0.01195",\
                 "0.1082, 0.1033, 0.09056, 0.07519, 0.06109, 0.04935, 0.04002, 0.03262, 0.02682, 0.02227",\
                 "0.1535, 0.148, 0.1331, 0.1141, 0.0954, 0.07913, 0.06557, 0.0544, 0.0454, 0.0381",\
                 "0.2078, 0.2017, 0.185, 0.1626, 0.1392, 0.1179, 0.09946, 0.08419, 0.07118, 0.06053");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003405, 0.01185, 0.02797, 0.05309, 0.08833, 0.1347, 0.1931, 0.2645, 0.3495");
          values("0.03651, 0.03685, 0.03715, 0.03715, 0.03708, 0.03703, 0.03686, 0.03702, 0.0364, 0.03893",\
                 "0.036, 0.03613, 0.03644, 0.03702, 0.03702, 0.03713, 0.03667, 0.03679, 0.03637, 0.03794",\
                 "0.03863, 0.03808, 0.03725, 0.03702, 0.03702, 0.0371, 0.0369, 0.03616, 0.03607, 0.03817",\
                 "0.04762, 0.04581, 0.04284, 0.04032, 0.03906, 0.03819, 0.03756, 0.03665, 0.03654, 0.03853",\
                 "0.06343, 0.06053, 0.05496, 0.04913, 0.0453, 0.04251, 0.04066, 0.03962, 0.03902, 0.04067",\
                 "0.08687, 0.08296, 0.07433, 0.06559, 0.0579, 0.05208, 0.04825, 0.04586, 0.04318, 0.04483",\
                 "0.1184, 0.1137, 0.1023, 0.08939, 0.07833, 0.06852, 0.06128, 0.05609, 0.05171, 0.05425",\
                 "0.1587, 0.1533, 0.1394, 0.1224, 0.1073, 0.09399, 0.08188, 0.07351, 0.06689, 0.06977",\
                 "0.2082, 0.2022, 0.1862, 0.1656, 0.1456, 0.128, 0.1121, 0.09866, 0.08925, 0.09744",\
                 "0.2675, 0.261, 0.2431, 0.2192, 0.194, 0.1717, 0.151, 0.1332, 0.121, 0.1425");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003405, 0.01185, 0.02797, 0.05309, 0.08833, 0.1347, 0.1931, 0.2645, 0.3495");
          values("0.06734, 0.09677, 0.1984, 0.3912, 0.6914, 1.113, 1.666, 2.365, 3.217, 4.232",\
                 "0.07978, 0.1095, 0.2119, 0.4051, 0.7053, 1.126, 1.681, 2.379, 3.23, 4.247",\
                 "0.109, 0.1508, 0.2626, 0.4555, 0.7557, 1.177, 1.731, 2.43, 3.281, 4.297",\
                 "0.1288, 0.1857, 0.3394, 0.5576, 0.8557, 1.276, 1.829, 2.526, 3.379, 4.393",\
                 "0.1371, 0.2099, 0.4023, 0.6795, 1.016, 1.434, 1.985, 2.681, 3.531, 4.546",\
                 "0.1309, 0.2203, 0.4539, 0.7842, 1.193, 1.66, 2.211, 2.903, 3.752, 4.764",\
                 "0.1094, 0.2145, 0.4907, 0.8763, 1.348, 1.899, 2.508, 3.201, 4.046, 5.056",\
                 "0.072, 0.1931, 0.511, 0.9525, 1.488, 2.112, 2.813, 3.577, 4.425, 5.43",\
                 "0.016, 0.1535, 0.5127, 1.013, 1.615, 2.309, 3.094, 3.956, 4.88, 5.894",\
                 "-0.0595, 0.0948, 0.4951, 1.053, 1.723, 2.489, 3.351, 4.306, 5.339, 6.435");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003405, 0.01185, 0.02797, 0.05309, 0.08833, 0.1347, 0.1931, 0.2645, 0.3495");
          values("0.06497, 0.0983, 0.2126, 0.4296, 0.7672, 1.241, 1.865, 2.65, 3.61, 4.753",\
                 "0.08168, 0.115, 0.2298, 0.4475, 0.7852, 1.259, 1.883, 2.668, 3.628, 4.772",\
                 "0.1341, 0.1769, 0.2953, 0.5116, 0.8496, 1.323, 1.946, 2.732, 3.692, 4.833",\
                 "0.2013, 0.259, 0.4153, 0.6418, 0.9762, 1.449, 2.071, 2.854, 3.814, 4.956",\
                 "0.2814, 0.3565, 0.5523, 0.833, 1.182, 1.65, 2.27, 3.052, 4.01, 5.152",\
                 "0.3738, 0.4663, 0.7061, 1.041, 1.457, 1.94, 2.555, 3.335, 4.287, 5.428",\
                 "0.4808, 0.5908, 0.8764, 1.268, 1.748, 2.306, 2.938, 3.711, 4.66, 5.795",\
                 "0.6024, 0.731, 1.062, 1.514, 2.059, 2.693, 3.404, 4.196, 5.14, 6.267",\
                 "0.7388, 0.8865, 1.264, 1.78, 2.392, 3.098, 3.895, 4.77, 5.731, 6.853",\
                 "0.892, 1.058, 1.483, 2.063, 2.747, 3.526, 4.403, 5.372, 6.419, 7.56");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003405, 0.01185, 0.02797, 0.05309, 0.08833, 0.1347, 0.1931, 0.2645, 0.3495");
          values("0.07241, 0.121, 0.2917, 0.6162, 1.122, 1.832, 2.767, 3.943, 5.382, 7.096",\
                 "0.07272, 0.1212, 0.2913, 0.6162, 1.122, 1.832, 2.767, 3.944, 5.383, 7.096",\
                 "0.1183, 0.1638, 0.2979, 0.6164, 1.122, 1.832, 2.766, 3.944, 5.382, 7.093",\
                 "0.1825, 0.2405, 0.4015, 0.6492, 1.122, 1.831, 2.765, 3.944, 5.381, 7.096",\
                 "0.2641, 0.3363, 0.5304, 0.8202, 1.198, 1.836, 2.765, 3.942, 5.381, 7.092",\
                 "0.3576, 0.4506, 0.6796, 1.017, 1.447, 1.971, 2.786, 3.943, 5.379, 7.093",\
                 "0.4632, 0.5762, 0.855, 1.233, 1.725, 2.301, 2.989, 3.996, 5.383, 7.092",\
                 "0.5818, 0.7148, 1.046, 1.478, 2.018, 2.673, 3.401, 4.269, 5.483, 7.102",\
                 "0.7142, 0.8692, 1.251, 1.746, 2.338, 3.063, 3.881, 4.771, 5.834, 7.265",\
                 "0.8622, 1.035, 1.473, 2.039, 2.693, 3.461, 4.364, 5.361, 6.426, 7.7");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003405, 0.01185, 0.02797, 0.05309, 0.08833, 0.1347, 0.1931, 0.2645, 0.3495");
          values("0.08834, 0.1457, 0.3468, 0.729, 1.325, 2.159, 3.26, 4.647, 6.339, 8.353",\
                 "0.08866, 0.1456, 0.3452, 0.7294, 1.325, 2.161, 3.26, 4.647, 6.339, 8.357",\
                 "0.1321, 0.1807, 0.3485, 0.729, 1.324, 2.161, 3.26, 4.647, 6.339, 8.356",\
                 "0.1971, 0.2559, 0.4314, 0.7409, 1.325, 2.16, 3.259, 4.646, 6.338, 8.354",\
                 "0.2802, 0.354, 0.5592, 0.8726, 1.355, 2.16, 3.259, 4.647, 6.338, 8.356",\
                 "0.3752, 0.4686, 0.7076, 1.069, 1.536, 2.215, 3.262, 4.644, 6.339, 8.355",\
                 "0.482, 0.5962, 0.8822, 1.278, 1.812, 2.449, 3.349, 4.652, 6.337, 8.351",\
                 "0.6056, 0.7376, 1.075, 1.522, 2.099, 2.808, 3.635, 4.778, 6.351, 8.353",\
                 "0.7422, 0.8938, 1.281, 1.796, 2.413, 3.192, 4.081, 5.119, 6.524, 8.387",\
                 "0.894, 1.066, 1.504, 2.087, 2.765, 3.585, 4.558, 5.639, 6.922, 8.606");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkinv_2) {
    area : 13.171200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "4.41276e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "4.4847e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.007816 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 0.6999 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005824, 0.02276, 0.05509, 0.1055, 0.1762, 0.2692, 0.3863, 0.5294, 0.6999");
          values("-0.006522, -0.005622, -0.004777, -0.004506, -0.00439, -0.004322, -0.004328, -0.004291, -0.004276, -0.004288",\
                 "-0.008444, -0.007282, -0.005812, -0.005071, -0.004743, -0.004623, -0.004542, -0.00444, -0.004473, -0.004431",\
                 "-0.004944, -0.005389, -0.00527, -0.004982, -0.004744, -0.004654, -0.004583, -0.00454, -0.004504, -0.004482",\
                 "0.01083, 0.007664, 0.003014, 8.484e-05, -0.001499, -0.002451, -0.003049, -0.003416, -0.003655, -0.003833",\
                 "0.03992, 0.03421, 0.02343, 0.01476, 0.008893, 0.005082, 0.002542, 0.0007826, -0.0004133, -0.001284",\
                 "0.08314, 0.07536, 0.0584, 0.0423, 0.03013, 0.02122, 0.01507, 0.01052, 0.007321, 0.004926",\
                 "0.1414, 0.1318, 0.1093, 0.0852, 0.06515, 0.04958, 0.03782, 0.02894, 0.02216, 0.01721",\
                 "0.2155, 0.2046, 0.1774, 0.1452, 0.1161, 0.09238, 0.07333, 0.05843, 0.04673, 0.03758",\
                 "0.3066, 0.2945, 0.2631, 0.2234, 0.1849, 0.1516, 0.1243, 0.1019, 0.08377, 0.06911",\
                 "0.4157, 0.4024, 0.3674, 0.3209, 0.2728, 0.2296, 0.1924, 0.161, 0.1356, 0.114");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005824, 0.02276, 0.05509, 0.1055, 0.1762, 0.2692, 0.3863, 0.5294, 0.6999");
          values("0.06475, 0.06591, 0.06696, 0.06812, 0.06576, 0.06552, 0.06422, 0.06485, 0.06335, 0.06842",\
                 "0.06374, 0.0646, 0.0662, 0.0673, 0.06794, 0.06516, 0.06413, 0.06353, 0.06302, 0.06809",\
                 "0.07046, 0.06896, 0.06692, 0.0677, 0.06642, 0.06661, 0.06564, 0.06617, 0.06566, 0.06987",\
                 "0.08965, 0.08548, 0.07821, 0.07317, 0.07084, 0.06941, 0.06809, 0.06683, 0.06698, 0.07125",\
                 "0.1226, 0.1157, 0.103, 0.09132, 0.08348, 0.07842, 0.07455, 0.07211, 0.07063, 0.07521",\
                 "0.1703, 0.1616, 0.1427, 0.1244, 0.1091, 0.09793, 0.0893, 0.08432, 0.0802, 0.08365",\
                 "0.2343, 0.2238, 0.1991, 0.1731, 0.1501, 0.1308, 0.1162, 0.1061, 0.09705, 0.104",\
                 "0.3154, 0.3036, 0.274, 0.2394, 0.2082, 0.1809, 0.1642, 0.1401, 0.1278, 0.1351",\
                 "0.415, 0.402, 0.3683, 0.3259, 0.2844, 0.2488, 0.2181, 0.1906, 0.1709, 0.1878",\
                 "0.5343, 0.5199, 0.4824, 0.433, 0.3819, 0.3367, 0.2949, 0.2591, 0.2351, 0.2778");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005824, 0.02276, 0.05509, 0.1055, 0.1762, 0.2692, 0.3863, 0.5294, 0.6999");
          values("0.05248, 0.08239, 0.1845, 0.3783, 0.68, 1.102, 1.659, 2.359, 3.214, 4.236",\
                 "0.06493, 0.09509, 0.1978, 0.3918, 0.6931, 1.116, 1.672, 2.371, 3.226, 4.246",\
                 "0.08495, 0.1317, 0.2493, 0.4428, 0.7439, 1.167, 1.722, 2.422, 3.278, 4.296",\
                 "0.09569, 0.1597, 0.3213, 0.5449, 0.8446, 1.265, 1.821, 2.521, 3.375, 4.392",\
                 "0.09395, 0.1767, 0.3799, 0.6633, 1.005, 1.425, 1.977, 2.676, 3.528, 4.547",\
                 "0.0783, 0.179, 0.4271, 0.7644, 1.179, 1.651, 2.204, 2.898, 3.749, 4.764",\
                 "0.0472, 0.1658, 0.4593, 0.8535, 1.332, 1.886, 2.5, 3.197, 4.043, 5.056",\
                 "-0.0002, 0.1371, 0.474, 0.9258, 1.469, 2.098, 2.804, 3.572, 4.423, 5.431",\
                 "-0.0655, 0.0903, 0.4706, 0.9836, 1.593, 2.293, 3.082, 3.949, 4.878, 5.894",\
                 "-0.1508, 0.0246, 0.4479, 1.02, 1.699, 2.473, 3.34, 4.299, 5.334, 6.436");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005824, 0.02276, 0.05509, 0.1055, 0.1762, 0.2692, 0.3863, 0.5294, 0.6999");
          values("0.04859, 0.08234, 0.1974, 0.4153, 0.7535, 1.229, 1.854, 2.641, 3.604, 4.75",\
                 "0.0656, 0.09923, 0.2149, 0.4335, 0.7729, 1.247, 1.873, 2.659, 3.621, 4.768",\
                 "0.1101, 0.158, 0.2808, 0.4976, 0.8363, 1.312, 1.938, 2.725, 3.688, 4.834",\
                 "0.1679, 0.2334, 0.3973, 0.6284, 0.9641, 1.438, 2.062, 2.85, 3.812, 4.957",\
                 "0.2374, 0.3227, 0.5299, 0.8172, 1.17, 1.639, 2.261, 3.046, 4.006, 5.151",\
                 "0.3198, 0.425, 0.6791, 1.022, 1.443, 1.93, 2.546, 3.328, 4.286, 5.429",\
                 "0.416, 0.5412, 0.8439, 1.246, 1.732, 2.295, 2.929, 3.706, 4.659, 5.798",\
                 "0.5261, 0.6731, 1.024, 1.489, 2.04, 2.68, 3.395, 4.19, 5.136, 6.271",\
                 "0.652, 0.82, 1.221, 1.75, 2.37, 3.082, 3.886, 4.763, 5.727, 6.854",\
                 "0.7941, 0.9833, 1.434, 2.029, 2.723, 3.51, 4.39, 5.364, 6.416, 7.56");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005824, 0.02276, 0.05509, 0.1055, 0.1762, 0.2692, 0.3863, 0.5294, 0.6999");
          values("0.04874, 0.09741, 0.2676, 0.5942, 1.1, 1.819, 2.747, 3.926, 5.375, 7.084",\
                 "0.05204, 0.09752, 0.2681, 0.5942, 1.103, 1.815, 2.751, 3.932, 5.376, 7.091",\
                 "0.09372, 0.1433, 0.2784, 0.5948, 1.102, 1.814, 2.752, 3.933, 5.374, 7.094",\
                 "0.1503, 0.2138, 0.3826, 0.6319, 1.102, 1.814, 2.751, 3.932, 5.374, 7.094",\
                 "0.2211, 0.3044, 0.5072, 0.804, 1.183, 1.819, 2.75, 3.932, 5.374, 7.092",\
                 "0.3028, 0.4102, 0.6536, 0.9982, 1.43, 1.957, 2.772, 3.931, 5.373, 7.091",\
                 "0.3972, 0.527, 0.8214, 1.211, 1.711, 2.286, 2.977, 3.986, 5.374, 7.091",\
                 "0.5032, 0.6552, 1.009, 1.453, 2.003, 2.657, 3.389, 4.262, 5.478, 7.101",\
                 "0.6236, 0.7988, 1.208, 1.717, 2.316, 3.037, 3.87, 4.761, 5.828, 7.266",\
                 "0.7574, 0.959, 1.423, 2.011, 2.668, 3.445, 4.346, 5.35, 6.424, 7.698");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005824, 0.02276, 0.05509, 0.1055, 0.1762, 0.2692, 0.3863, 0.5294, 0.6999");
          values("0.06035, 0.1174, 0.3182, 0.7029, 1.298, 2.137, 3.236, 4.631, 6.33, 8.353",\
                 "0.06436, 0.1177, 0.3184, 0.7032, 1.301, 2.137, 3.239, 4.628, 6.325, 8.354",\
                 "0.1049, 0.1587, 0.3225, 0.7022, 1.301, 2.14, 3.242, 4.634, 6.331, 8.353",\
                 "0.1637, 0.2286, 0.4102, 0.7175, 1.302, 2.139, 3.243, 4.633, 6.329, 8.353",\
                 "0.2366, 0.3208, 0.5318, 0.853, 1.334, 2.14, 3.242, 4.634, 6.331, 8.354",\
                 "0.3192, 0.4274, 0.6826, 1.047, 1.518, 2.197, 3.245, 4.63, 6.328, 8.354",\
                 "0.417, 0.545, 0.8488, 1.256, 1.793, 2.433, 3.335, 4.641, 6.329, 8.355",\
                 "0.5268, 0.6766, 1.035, 1.498, 2.08, 2.79, 3.619, 4.768, 6.348, 8.349",\
                 "0.6512, 0.824, 1.238, 1.766, 2.392, 3.166, 4.065, 5.109, 6.518, 8.387",\
                 "0.7902, 0.988, 1.453, 2.054, 2.746, 3.567, 4.551, 5.632, 6.912, 8.602");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkinv_3) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "5.52981e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "5.63805e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "5.63805e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.01148 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 1.048 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00823, 0.03361, 0.08207, 0.1576, 0.2635, 0.4029, 0.5786, 0.793, 1.048");
          values("-0.006495, -0.005073, -0.003853, -0.003374, -0.003281, -0.003155, -0.003126, -0.003103, -0.003052, -0.003035",\
                 "-0.009279, -0.007551, -0.005277, -0.004198, -0.003662, -0.003401, -0.003289, -0.00323, -0.003154, -0.00313",\
                 "-0.004101, -0.004725, -0.004633, -0.004126, -0.003789, -0.003472, -0.003351, -0.003304, -0.003223, -0.003199",\
                 "0.01946, 0.01478, 0.007837, 0.003463, 0.001105, -0.0003128, -0.001136, -0.001593, -0.002031, -0.002271",\
                 "0.06302, 0.05446, 0.03845, 0.02542, 0.01667, 0.01093, 0.007154, 0.004509, 0.002696, 0.001491",\
                 "0.1278, 0.1162, 0.09078, 0.06674, 0.04844, 0.03531, 0.02603, 0.01931, 0.01434, 0.01077",\
                 "0.215, 0.2008, 0.1672, 0.131, 0.1011, 0.0775, 0.06008, 0.04682, 0.03673, 0.02907",\
                 "0.3262, 0.3098, 0.2689, 0.2208, 0.1773, 0.1418, 0.113, 0.09111, 0.07363, 0.06005",\
                 "0.4628, 0.4448, 0.3975, 0.338, 0.2803, 0.2307, 0.1891, 0.1558, 0.1291, 0.1073",\
                 "0.6263, 0.6064, 0.5538, 0.484, 0.4121, 0.3476, 0.2914, 0.2448, 0.2064, 0.1743");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00823, 0.03361, 0.08207, 0.1576, 0.2635, 0.4029, 0.5786, 0.793, 1.048");
          values("0.1001, 0.1019, 0.1034, 0.1048, 0.1058, 0.1068, 0.1087, 0.1117, 0.1131, 0.1235",\
                 "0.0986, 0.0999, 0.1021, 0.1039, 0.1056, 0.1073, 0.1087, 0.1111, 0.1124, 0.1232",\
                 "0.1089, 0.1066, 0.1048, 0.1046, 0.1055, 0.1069, 0.11, 0.1121, 0.1131, 0.1256",\
                 "0.1376, 0.1312, 0.1217, 0.1152, 0.1118, 0.1118, 0.1116, 0.1147, 0.1161, 0.126",\
                 "0.187, 0.1771, 0.1575, 0.1428, 0.1313, 0.1252, 0.1215, 0.1213, 0.1202, 0.1295",\
                 "0.2586, 0.2459, 0.2169, 0.1899, 0.1707, 0.1546, 0.1453, 0.1388, 0.1339, 0.1446",\
                 "0.3543, 0.3391, 0.3028, 0.2626, 0.2305, 0.2058, 0.1852, 0.1705, 0.1627, 0.1706",\
                 "0.476, 0.4586, 0.4152, 0.363, 0.3157, 0.2801, 0.2489, 0.2247, 0.2061, 0.2202",\
                 "0.6256, 0.606, 0.5562, 0.4928, 0.4307, 0.3794, 0.3384, 0.3012, 0.274, 0.3013",\
                 "0.8041, 0.7828, 0.7273, 0.654, 0.5782, 0.5088, 0.4532, 0.4076, 0.3726, 0.4409");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00823, 0.03361, 0.08207, 0.1576, 0.2635, 0.4029, 0.5786, 0.793, 1.048");
          values("0.05292, 0.08281, 0.1848, 0.3784, 0.6799, 1.101, 1.659, 2.358, 3.212, 4.23",\
                 "0.06536, 0.09567, 0.1982, 0.3924, 0.6943, 1.116, 1.672, 2.373, 3.227, 4.244",\
                 "0.08575, 0.1322, 0.2497, 0.4433, 0.7447, 1.167, 1.723, 2.423, 3.277, 4.296",\
                 "0.09672, 0.1606, 0.3218, 0.545, 0.8445, 1.266, 1.821, 2.522, 3.374, 4.393",\
                 "0.0955, 0.1778, 0.3808, 0.6638, 1.005, 1.425, 1.978, 2.675, 3.529, 4.548",\
                 "0.0805, 0.1808, 0.4278, 0.7655, 1.179, 1.651, 2.203, 2.898, 3.749, 4.763",\
                 "0.0497, 0.1687, 0.4601, 0.8542, 1.332, 1.887, 2.501, 3.197, 4.043, 5.055",\
                 "0.0024, 0.1395, 0.4759, 0.9268, 1.47, 2.099, 2.803, 3.571, 4.421, 5.429",\
                 "-0.0629, 0.0927, 0.473, 0.9847, 1.593, 2.294, 3.083, 3.948, 4.877, 5.893",\
                 "-0.1483, 0.0262, 0.4505, 1.018, 1.699, 2.473, 3.339, 4.299, 5.335, 6.436");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00823, 0.03361, 0.08207, 0.1576, 0.2635, 0.4029, 0.5786, 0.793, 1.048");
          values("0.0491, 0.08267, 0.1979, 0.4156, 0.7546, 1.231, 1.858, 2.644, 3.61, 4.756",\
                 "0.06603, 0.09964, 0.215, 0.4333, 0.7729, 1.248, 1.876, 2.665, 3.627, 4.775",\
                 "0.1109, 0.1583, 0.281, 0.4985, 0.8375, 1.313, 1.937, 2.727, 3.692, 4.832",\
                 "0.1687, 0.234, 0.3978, 0.6286, 0.9647, 1.439, 2.064, 2.85, 3.81, 4.962",\
                 "0.2388, 0.3239, 0.5305, 0.8178, 1.17, 1.64, 2.262, 3.048, 4.009, 5.157",\
                 "0.3218, 0.4268, 0.6798, 1.022, 1.443, 1.93, 2.547, 3.328, 4.286, 5.433",\
                 "0.4179, 0.5435, 0.8453, 1.247, 1.732, 2.295, 2.93, 3.707, 4.658, 5.8",\
                 "0.5288, 0.6751, 1.026, 1.49, 2.04, 2.68, 3.396, 4.189, 5.137, 6.27",\
                 "0.6544, 0.8226, 1.222, 1.752, 2.372, 3.082, 3.884, 4.764, 5.727, 6.857",\
                 "0.7972, 0.9857, 1.436, 2.031, 2.725, 3.509, 4.391, 5.366, 6.416, 7.559");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00823, 0.03361, 0.08207, 0.1576, 0.2635, 0.4029, 0.5786, 0.793, 1.048");
          values("0.0493, 0.09778, 0.2682, 0.5963, 1.101, 1.82, 2.746, 3.924, 5.392, 7.107",\
                 "0.05254, 0.09802, 0.2682, 0.594, 1.105, 1.82, 2.76, 3.932, 5.386, 7.115",\
                 "0.09372, 0.1437, 0.2783, 0.5949, 1.105, 1.819, 2.757, 3.944, 5.386, 7.109",\
                 "0.1505, 0.2143, 0.3827, 0.6312, 1.103, 1.814, 2.757, 3.943, 5.386, 7.111",\
                 "0.2218, 0.3039, 0.5066, 0.8032, 1.182, 1.818, 2.75, 3.934, 5.384, 7.111",\
                 "0.3034, 0.4096, 0.653, 0.9968, 1.431, 1.956, 2.774, 3.932, 5.382, 7.098",\
                 "0.4002, 0.5276, 0.8226, 1.209, 1.708, 2.284, 2.975, 3.982, 5.379, 7.093",\
                 "0.5044, 0.6582, 1.007, 1.451, 1.998, 2.655, 3.388, 4.258, 5.475, 7.104",\
                 "0.624, 0.8018, 1.208, 1.717, 2.314, 3.034, 3.864, 4.76, 5.823, 7.26",\
                 "0.757, 0.9566, 1.422, 2.004, 2.667, 3.438, 4.343, 5.35, 6.417, 7.692");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00823, 0.03361, 0.08207, 0.1576, 0.2635, 0.4029, 0.5786, 0.793, 1.048");
          values("0.06108, 0.1184, 0.3186, 0.7037, 1.3, 2.14, 3.244, 4.632, 6.333, 8.355",\
                 "0.06482, 0.1183, 0.3194, 0.7027, 1.301, 2.139, 3.244, 4.635, 6.339, 8.356",\
                 "0.1054, 0.1586, 0.3225, 0.7025, 1.301, 2.138, 3.241, 4.632, 6.333, 8.347",\
                 "0.1646, 0.2289, 0.4098, 0.7166, 1.3, 2.138, 3.242, 4.629, 6.327, 8.355",\
                 "0.2369, 0.321, 0.5324, 0.8522, 1.334, 2.137, 3.242, 4.632, 6.332, 8.354",\
                 "0.3204, 0.4276, 0.6784, 1.045, 1.518, 2.194, 3.243, 4.63, 6.322, 8.351",\
                 "0.4168, 0.5456, 0.8506, 1.254, 1.789, 2.432, 3.332, 4.636, 6.327, 8.349",\
                 "0.5276, 0.6768, 1.035, 1.495, 2.077, 2.789, 3.619, 4.761, 6.341, 8.351",\
                 "0.653, 0.8246, 1.237, 1.762, 2.389, 3.167, 4.063, 5.105, 6.511, 8.382",\
                 "0.794, 0.9888, 1.453, 2.054, 2.742, 3.562, 4.54, 5.628, 6.909, 8.588");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkinv_4) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "6.64719e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.7914e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.01503 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 1.404 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01068, 0.04467, 0.1096, 0.2107, 0.3526, 0.5393, 0.7745, 1.062, 1.404");
          values("-0.01117, -0.009055, -0.007278, -0.006714, -0.006434, -0.00635, -0.006283, -0.006288, -0.006244, -0.006249",\
                 "-0.01495, -0.01239, -0.009219, -0.007755, -0.007051, -0.006689, -0.006561, -0.006469, -0.006379, -0.006307",\
                 "-0.007276, -0.008348, -0.008272, -0.007607, -0.007052, -0.006813, -0.006545, -0.006501, -0.006392, -0.006348",\
                 "0.02497, 0.01836, 0.008496, 0.002639, -0.0006351, -0.002496, -0.003624, -0.004308, -0.004783, -0.005115",\
                 "0.08406, 0.07195, 0.04962, 0.03193, 0.02021, 0.01253, 0.007425, 0.003906, 0.001565, -0.0001359",\
                 "0.171, 0.1547, 0.1197, 0.08743, 0.06259, 0.04503, 0.03252, 0.02353, 0.01704, 0.01219",\
                 "0.2877, 0.2681, 0.2219, 0.1732, 0.1325, 0.1014, 0.07776, 0.06007, 0.04677, 0.03649",\
                 "0.4365, 0.4139, 0.3581, 0.293, 0.2345, 0.1866, 0.149, 0.1188, 0.09573, 0.07762",\
                 "0.619, 0.5938, 0.5296, 0.4493, 0.3721, 0.3053, 0.2501, 0.2058, 0.1697, 0.1404",\
                 "0.8372, 0.8098, 0.7383, 0.6445, 0.548, 0.4609, 0.3861, 0.3238, 0.2725, 0.2298");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01068, 0.04467, 0.1096, 0.2107, 0.3526, 0.5393, 0.7745, 1.062, 1.404");
          values("0.1233, 0.126, 0.1283, 0.1296, 0.1303, 0.1329, 0.1367, 0.1372, 0.1413, 0.1564",\
                 "0.1216, 0.1234, 0.1267, 0.1285, 0.1299, 0.1323, 0.1344, 0.1385, 0.1439, 0.1514",\
                 "0.1363, 0.133, 0.1298, 0.1296, 0.1302, 0.1323, 0.1354, 0.1379, 0.1442, 0.1516",\
                 "0.1757, 0.1665, 0.1529, 0.144, 0.1395, 0.1389, 0.139, 0.1415, 0.1432, 0.1594",\
                 "0.2422, 0.2281, 0.2011, 0.181, 0.1662, 0.158, 0.1529, 0.1498, 0.1525, 0.164",\
                 "0.3383, 0.3201, 0.2809, 0.2439, 0.2168, 0.1966, 0.1822, 0.1738, 0.1707, 0.1828",\
                 "0.4666, 0.4451, 0.3949, 0.3413, 0.2977, 0.2649, 0.238, 0.2177, 0.2058, 0.2193",\
                 "0.6293, 0.6047, 0.5453, 0.4748, 0.412, 0.3633, 0.3225, 0.2885, 0.2653, 0.2865",\
                 "0.8286, 0.8018, 0.7336, 0.6481, 0.5659, 0.4946, 0.4416, 0.3915, 0.3552, 0.3897",\
                 "1.067, 1.038, 0.9628, 0.8634, 0.7619, 0.6685, 0.5911, 0.5313, 0.4881, 0.5806");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01068, 0.04467, 0.1096, 0.2107, 0.3526, 0.5393, 0.7745, 1.062, 1.404");
          values("0.04849, 0.07871, 0.1815, 0.3755, 0.6789, 1.103, 1.662, 2.366, 3.222, 4.247",\
                 "0.06077, 0.09139, 0.1946, 0.3896, 0.693, 1.118, 1.674, 2.38, 3.238, 4.263",\
                 "0.07787, 0.1263, 0.2461, 0.4407, 0.7426, 1.167, 1.726, 2.431, 3.29, 4.312",\
                 "0.08581, 0.1526, 0.317, 0.5424, 0.8434, 1.267, 1.825, 2.526, 3.387, 4.41",\
                 "0.08126, 0.1676, 0.3747, 0.6604, 1.004, 1.425, 1.98, 2.682, 3.537, 4.563",\
                 "0.063, 0.1686, 0.4204, 0.7609, 1.177, 1.652, 2.206, 2.905, 3.758, 4.778",\
                 "0.0292, 0.1539, 0.4511, 0.8497, 1.33, 1.887, 2.504, 3.203, 4.054, 5.07",\
                 "-0.0212, 0.123, 0.4653, 0.9219, 1.468, 2.1, 2.809, 3.577, 4.432, 5.443",\
                 "-0.0908, 0.0733, 0.4613, 0.978, 1.589, 2.295, 3.086, 3.956, 4.889, 5.909",\
                 "-0.1785, 0.0054, 0.4386, 1.013, 1.697, 2.474, 3.344, 4.305, 5.345, 6.45");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01068, 0.04467, 0.1096, 0.2107, 0.3526, 0.5393, 0.7745, 1.062, 1.404");
          values("0.04393, 0.07825, 0.1936, 0.413, 0.7538, 1.232, 1.86, 2.654, 3.621, 4.771",\
                 "0.06094, 0.09487, 0.2111, 0.4304, 0.7715, 1.25, 1.879, 2.672, 3.638, 4.792",\
                 "0.1028, 0.1522, 0.277, 0.4951, 0.8359, 1.314, 1.942, 2.736, 3.699, 4.856",\
                 "0.1574, 0.2259, 0.3928, 0.6255, 0.9631, 1.439, 2.068, 2.856, 3.827, 4.977",\
                 "0.224, 0.3132, 0.524, 0.814, 1.169, 1.641, 2.266, 3.055, 4.016, 5.174",\
                 "0.303, 0.4134, 0.6721, 1.018, 1.441, 1.931, 2.551, 3.336, 4.295, 5.449",\
                 "0.3959, 0.5273, 0.8368, 1.242, 1.73, 2.296, 2.933, 3.713, 4.671, 5.816",\
                 "0.5027, 0.6569, 1.016, 1.484, 2.038, 2.681, 3.4, 4.197, 5.15, 6.287",\
                 "0.6252, 0.8012, 1.211, 1.744, 2.369, 3.082, 3.889, 4.771, 5.739, 6.872",\
                 "0.7639, 0.9626, 1.424, 2.021, 2.723, 3.51, 4.396, 5.375, 6.427, 7.577");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01068, 0.04467, 0.1096, 0.2107, 0.3526, 0.5393, 0.7745, 1.062, 1.404");
          values("0.04226, 0.09111, 0.2627, 0.591, 1.102, 1.812, 2.761, 3.936, 5.409, 7.117",\
                 "0.047, 0.09128, 0.2624, 0.5909, 1.102, 1.819, 2.766, 3.941, 5.381, 7.114",\
                 "0.08522, 0.1376, 0.2731, 0.5902, 1.1, 1.818, 2.761, 3.935, 5.384, 7.14",\
                 "0.1391, 0.2063, 0.378, 0.6285, 1.1, 1.816, 2.764, 3.95, 5.405, 7.128",\
                 "0.207, 0.2937, 0.5008, 0.7996, 1.18, 1.821, 2.755, 3.951, 5.392, 7.137",\
                 "0.2842, 0.3966, 0.646, 0.9928, 1.428, 1.957, 2.775, 3.942, 5.399, 7.119",\
                 "0.3744, 0.5112, 0.8148, 1.204, 1.705, 2.286, 2.98, 3.997, 5.396, 7.127",\
                 "0.477, 0.6382, 0.998, 1.446, 1.994, 2.658, 3.392, 4.267, 5.488, 7.131",\
                 "0.5942, 0.779, 1.195, 1.711, 2.312, 3.035, 3.87, 4.767, 5.84, 7.284",\
                 "0.7208, 0.934, 1.408, 1.999, 2.663, 3.441, 4.349, 5.358, 6.429, 7.712");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01068, 0.04467, 0.1096, 0.2107, 0.3526, 0.5393, 0.7745, 1.062, 1.404");
          values("0.05282, 0.1104, 0.3122, 0.6973, 1.299, 2.141, 3.249, 4.65, 6.353, 8.383",\
                 "0.05846, 0.1103, 0.3119, 0.6975, 1.298, 2.14, 3.25, 4.648, 6.352, 8.386",\
                 "0.09734, 0.1517, 0.316, 0.6974, 1.298, 2.141, 3.252, 4.648, 6.348, 8.393",\
                 "0.1529, 0.2205, 0.4045, 0.7117, 1.297, 2.139, 3.247, 4.651, 6.35, 8.382",\
                 "0.2215, 0.3108, 0.527, 0.8484, 1.33, 2.139, 3.247, 4.641, 6.358, 8.384",\
                 "0.3016, 0.4134, 0.6742, 1.042, 1.515, 2.201, 3.249, 4.643, 6.355, 8.377",\
                 "0.3954, 0.5312, 0.838, 1.25, 1.787, 2.434, 3.341, 4.645, 6.346, 8.375",\
                 "0.5022, 0.658, 1.026, 1.491, 2.074, 2.791, 3.623, 4.774, 6.358, 8.378",\
                 "0.6214, 0.8052, 1.225, 1.755, 2.387, 3.167, 4.068, 5.114, 6.529, 8.409",\
                 "0.757, 0.964, 1.439, 2.046, 2.738, 3.565, 4.547, 5.633, 6.924, 8.616");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkinv_8) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001111605" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001140447" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001140447" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.0306 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 2.793 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02027, 0.08791, 0.2171, 0.4183, 0.7007, 1.072, 1.54, 2.112, 2.793");
          values("-0.02762, -0.02268, -0.01918, -0.01801, -0.01764, -0.0174, -0.0173, -0.01718, -0.01711, -0.0171",\
                 "-0.03503, -0.02974, -0.02333, -0.0202, -0.01883, -0.0181, -0.01774, -0.01759, -0.01739, -0.01728",\
                 "-0.01932, -0.02132, -0.02123, -0.01968, -0.01877, -0.01815, -0.01778, -0.01757, -0.01745, -0.01739",\
                 "0.04587, 0.03233, 0.01253, 0.0006673, -0.005811, -0.009481, -0.01184, -0.01319, -0.01413, -0.01467",\
                 "0.1639, 0.1399, 0.09516, 0.05963, 0.03574, 0.02042, 0.01005, 0.003263, -0.001512, -0.004925",\
                 "0.3383, 0.3054, 0.2355, 0.1703, 0.1208, 0.08561, 0.06031, 0.04253, 0.02943, 0.01988",\
                 "0.572, 0.5321, 0.4397, 0.3419, 0.2613, 0.1986, 0.1515, 0.1157, 0.08904, 0.06861",\
                 "0.8691, 0.8238, 0.712, 0.5818, 0.4652, 0.3695, 0.2935, 0.2343, 0.1874, 0.1509",\
                 "1.235, 1.184, 1.056, 0.8949, 0.7405, 0.6063, 0.4965, 0.4071, 0.3357, 0.2771",\
                 "1.671, 1.616, 1.473, 1.285, 1.091, 0.9183, 0.7688, 0.6445, 0.5409, 0.4554");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02027, 0.08791, 0.2171, 0.4183, 0.7007, 1.072, 1.54, 2.112, 2.793");
          values("0.2561, 0.262, 0.2663, 0.2695, 0.2728, 0.2775, 0.2802, 0.2883, 0.2923, 0.3196",\
                 "0.2527, 0.2564, 0.2633, 0.2655, 0.2702, 0.2742, 0.2825, 0.2909, 0.2904, 0.3165",\
                 "0.2825, 0.2755, 0.2695, 0.2684, 0.2718, 0.2782, 0.2786, 0.2827, 0.2983, 0.3111",\
                 "0.3617, 0.3429, 0.316, 0.2977, 0.2886, 0.2864, 0.2888, 0.2966, 0.2953, 0.3172",\
                 "0.4947, 0.4662, 0.4118, 0.3725, 0.3418, 0.3247, 0.3152, 0.3127, 0.3139, 0.336",\
                 "0.687, 0.6505, 0.5718, 0.4992, 0.4464, 0.4029, 0.3776, 0.3606, 0.3542, 0.3765",\
                 "0.9432, 0.9002, 0.7993, 0.6903, 0.6051, 0.5395, 0.4878, 0.4427, 0.4226, 0.4493",\
                 "1.268, 1.219, 1.101, 0.9611, 0.8351, 0.7346, 0.6548, 0.5893, 0.5437, 0.5727",\
                 "1.667, 1.614, 1.479, 1.307, 1.143, 0.9989, 0.8937, 0.7932, 0.7236, 0.7881",\
                 "2.145, 2.086, 1.935, 1.739, 1.532, 1.348, 1.196, 1.076, 0.9897, 1.159");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02027, 0.08791, 0.2171, 0.4183, 0.7007, 1.072, 1.54, 2.112, 2.793");
          values("0.04771, 0.07785, 0.1801, 0.3735, 0.6754, 1.098, 1.655, 2.354, 3.207, 4.23",\
                 "0.05988, 0.09054, 0.1934, 0.3876, 0.689, 1.112, 1.668, 2.37, 3.223, 4.241",\
                 "0.07632, 0.1251, 0.2448, 0.4384, 0.7393, 1.162, 1.718, 2.418, 3.274, 4.293",\
                 "0.08363, 0.1508, 0.3152, 0.5404, 0.8399, 1.262, 1.817, 2.517, 3.373, 4.391",\
                 "0.07864, 0.1651, 0.3726, 0.6576, 1.001, 1.42, 1.974, 2.672, 3.527, 4.542",\
                 "0.059, 0.1654, 0.4174, 0.7578, 1.173, 1.646, 2.199, 2.894, 3.745, 4.763",\
                 "0.0255, 0.1506, 0.4481, 0.8457, 1.325, 1.881, 2.496, 3.192, 4.039, 5.053",\
                 "-0.0264, 0.1192, 0.4617, 0.918, 1.463, 2.093, 2.8, 3.567, 4.418, 5.427",\
                 "-0.096, 0.0696, 0.457, 0.9731, 1.585, 2.286, 3.076, 3.943, 4.874, 5.891",\
                 "-0.1845, -0.0005, 0.4332, 1.01, 1.69, 2.466, 3.333, 4.292, 5.329, 6.431");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02027, 0.08791, 0.2171, 0.4183, 0.7007, 1.072, 1.54, 2.112, 2.793");
          values("0.04327, 0.07724, 0.1925, 0.4104, 0.7496, 1.225, 1.854, 2.64, 3.607, 4.755",\
                 "0.06017, 0.09412, 0.2097, 0.4279, 0.7671, 1.245, 1.868, 2.658, 3.624, 4.774",\
                 "0.1014, 0.1511, 0.2757, 0.4928, 0.8324, 1.307, 1.936, 2.724, 3.686, 4.836",\
                 "0.1555, 0.2244, 0.3912, 0.6234, 0.9598, 1.434, 2.06, 2.845, 3.812, 4.96",\
                 "0.2216, 0.3111, 0.522, 0.8115, 1.165, 1.635, 2.257, 3.045, 4.004, 5.155",\
                 "0.3, 0.4105, 0.6696, 1.015, 1.437, 1.925, 2.543, 3.325, 4.285, 5.431",\
                 "0.392, 0.5244, 0.8322, 1.237, 1.726, 2.29, 2.926, 3.702, 4.653, 5.796",\
                 "0.4983, 0.6531, 1.011, 1.48, 2.033, 2.674, 3.392, 4.185, 5.132, 6.269",\
                 "0.6196, 0.7973, 1.207, 1.74, 2.363, 3.075, 3.88, 4.759, 5.724, 6.851",\
                 "0.7581, 0.9577, 1.419, 2.018, 2.715, 3.502, 4.384, 5.36, 6.412, 7.558");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02027, 0.08791, 0.2171, 0.4183, 0.7007, 1.072, 1.54, 2.112, 2.793");
          values("0.04096, 0.08968, 0.2613, 0.5872, 1.093, 1.803, 2.74, 3.938, 5.384, 7.083",\
                 "0.04602, 0.0898, 0.2604, 0.5869, 1.096, 1.81, 2.753, 3.92, 5.385, 7.106",\
                 "0.08412, 0.1362, 0.2712, 0.5868, 1.094, 1.808, 2.751, 3.936, 5.384, 7.108",\
                 "0.1375, 0.2045, 0.3755, 0.6251, 1.096, 1.809, 2.748, 3.935, 5.38, 7.095",\
                 "0.2043, 0.2918, 0.4984, 0.797, 1.177, 1.813, 2.743, 3.934, 5.382, 7.1",\
                 "0.2818, 0.3934, 0.6432, 0.9898, 1.424, 1.951, 2.768, 3.923, 5.367, 7.102",\
                 "0.374, 0.5072, 0.8098, 1.201, 1.699, 2.279, 2.969, 3.978, 5.373, 7.096",\
                 "0.4724, 0.6336, 0.9932, 1.442, 1.989, 2.649, 3.384, 4.253, 5.466, 7.094",\
                 "0.5886, 0.7738, 1.194, 1.706, 2.305, 3.03, 3.859, 4.755, 5.82, 7.263",\
                 "0.7146, 0.9276, 1.404, 1.994, 2.659, 3.432, 4.345, 5.343, 6.414, 7.689");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02027, 0.08791, 0.2171, 0.4183, 0.7007, 1.072, 1.54, 2.112, 2.793");
          values("0.05138, 0.1088, 0.3094, 0.6939, 1.291, 2.129, 3.237, 4.625, 6.327, 8.353",\
                 "0.05732, 0.1086, 0.3094, 0.6934, 1.29, 2.132, 3.233, 4.625, 6.331, 8.356",\
                 "0.09558, 0.1502, 0.3136, 0.6931, 1.29, 2.129, 3.237, 4.628, 6.324, 8.359",\
                 "0.1509, 0.2194, 0.4023, 0.7103, 1.29, 2.13, 3.236, 4.624, 6.33, 8.356",\
                 "0.218, 0.3082, 0.5244, 0.8458, 1.325, 2.128, 3.239, 4.626, 6.325, 8.349",\
                 "0.2966, 0.4112, 0.6694, 1.037, 1.511, 2.19, 3.236, 4.627, 6.322, 8.348",\
                 "0.39, 0.5266, 0.8364, 1.245, 1.783, 2.426, 3.327, 4.63, 6.316, 8.344",\
                 "0.4962, 0.6548, 1.021, 1.487, 2.067, 2.783, 3.614, 4.758, 6.334, 8.338",\
                 "0.6168, 0.7988, 1.22, 1.752, 2.385, 3.158, 4.057, 5.1, 6.507, 8.373",\
                 "0.7502, 0.9584, 1.434, 2.04, 2.733, 3.555, 4.529, 5.62, 6.904, 8.586");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkinv_12) {
    area : 57.075200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001558524" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001601787" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001601787" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.04592 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 4.184 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02987, 0.1312, 0.3248, 0.6263, 1.049, 1.606, 2.307, 3.164, 4.184");
          values("-0.04143, -0.03437, -0.02907, -0.02727, -0.02642, -0.02608, -0.02579, -0.02583, -0.0258, -0.02561",\
                 "-0.05255, -0.04489, -0.03487, -0.03035, -0.02821, -0.02729, -0.0268, -0.02637, -0.0262, -0.026",\
                 "-0.02885, -0.03197, -0.03168, -0.02962, -0.02805, -0.02713, -0.02652, -0.02623, -0.02604, -0.02591",\
                 "0.06867, 0.04829, 0.01862, 0.0009582, -0.008791, -0.01427, -0.01786, -0.01992, -0.0213, -0.02226",\
                 "0.2456, 0.2095, 0.1421, 0.08918, 0.05378, 0.03073, 0.01533, 0.004708, -0.002336, -0.007381",\
                 "0.5066, 0.4579, 0.353, 0.2552, 0.1816, 0.1285, 0.09107, 0.06388, 0.04427, 0.02988",\
                 "0.857, 0.7976, 0.6597, 0.5131, 0.3914, 0.2979, 0.227, 0.1738, 0.1336, 0.103",\
                 "1.303, 1.235, 1.067, 0.8722, 0.6976, 0.5538, 0.4397, 0.3509, 0.2812, 0.2267",\
                 "1.85, 1.775, 1.582, 1.342, 1.11, 0.9105, 0.7444, 0.6098, 0.5026, 0.4153",\
                 "2.504, 2.422, 2.208, 1.927, 1.638, 1.377, 1.154, 0.9663, 0.8117, 0.6834");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02987, 0.1312, 0.3248, 0.6263, 1.049, 1.606, 2.307, 3.164, 4.184");
          values("0.3905, 0.3989, 0.4076, 0.4072, 0.4118, 0.42, 0.4283, 0.4438, 0.441, 0.4735",\
                 "0.3857, 0.3915, 0.4013, 0.4046, 0.4115, 0.4197, 0.4227, 0.4378, 0.4509, 0.4735",\
                 "0.4301, 0.4196, 0.4109, 0.4092, 0.4158, 0.42, 0.427, 0.4339, 0.4509, 0.4823",\
                 "0.5489, 0.5207, 0.4801, 0.4521, 0.4382, 0.4358, 0.4392, 0.4405, 0.4509, 0.4807",\
                 "0.7478, 0.7061, 0.6235, 0.5643, 0.5161, 0.4903, 0.4824, 0.4758, 0.4761, 0.5077",\
                 "1.036, 0.9822, 0.8635, 0.754, 0.6761, 0.6127, 0.5708, 0.5401, 0.5376, 0.5649",\
                 "1.42, 1.356, 1.206, 1.042, 0.9137, 0.8163, 0.7329, 0.6738, 0.6374, 0.6839",\
                 "1.908, 1.835, 1.656, 1.446, 1.257, 1.112, 0.9919, 0.8924, 0.8108, 0.8755",\
                 "2.506, 2.425, 2.223, 1.965, 1.718, 1.503, 1.343, 1.196, 1.099, 1.197",\
                 "3.22, 3.134, 2.907, 2.609, 2.305, 2.03, 1.799, 1.624, 1.489, 1.729");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02987, 0.1312, 0.3248, 0.6263, 1.049, 1.606, 2.307, 3.164, 4.184");
          values("0.04814, 0.07828, 0.1804, 0.3739, 0.6749, 1.099, 1.655, 2.355, 3.211, 4.225",\
                 "0.06032, 0.09095, 0.1938, 0.388, 0.6894, 1.111, 1.669, 2.369, 3.225, 4.239",\
                 "0.0769, 0.1255, 0.2453, 0.4389, 0.7401, 1.163, 1.719, 2.419, 3.275, 4.294",\
                 "0.0843, 0.1514, 0.3156, 0.5407, 0.8404, 1.262, 1.818, 2.517, 3.373, 4.39",\
                 "0.07935, 0.1657, 0.3729, 0.6579, 1.001, 1.42, 1.974, 2.672, 3.525, 4.546",\
                 "0.0606, 0.1663, 0.4181, 0.7583, 1.173, 1.646, 2.199, 2.895, 3.746, 4.763",\
                 "0.0267, 0.1514, 0.4484, 0.8454, 1.326, 1.882, 2.497, 3.193, 4.039, 5.054",\
                 "-0.0244, 0.1197, 0.4625, 0.9181, 1.463, 2.093, 2.8, 3.567, 4.419, 5.428",\
                 "-0.0945, 0.0706, 0.4577, 0.9744, 1.585, 2.287, 3.077, 3.944, 4.874, 5.89",\
                 "-0.1835, 0.001, 0.4337, 1.01, 1.69, 2.465, 3.333, 4.292, 5.331, 6.433");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02987, 0.1312, 0.3248, 0.6263, 1.049, 1.606, 2.307, 3.164, 4.184");
          values("0.0437, 0.0779, 0.1929, 0.4106, 0.7503, 1.227, 1.853, 2.641, 3.607, 4.757",\
                 "0.06062, 0.09445, 0.2101, 0.4282, 0.7688, 1.245, 1.871, 2.658, 3.623, 4.775",\
                 "0.102, 0.1515, 0.2762, 0.4933, 0.8324, 1.309, 1.936, 2.726, 3.685, 4.839",\
                 "0.1563, 0.2249, 0.3917, 0.6239, 0.9603, 1.434, 2.06, 2.849, 3.812, 4.96",\
                 "0.2224, 0.3119, 0.5223, 0.8119, 1.165, 1.635, 2.259, 3.043, 4.003, 5.155",\
                 "0.3006, 0.4115, 0.6706, 1.015, 1.437, 1.926, 2.543, 3.326, 4.285, 5.428",\
                 "0.3929, 0.5253, 0.8342, 1.238, 1.726, 2.291, 2.926, 3.703, 4.654, 5.797",\
                 "0.4992, 0.6541, 1.013, 1.48, 2.034, 2.675, 3.392, 4.186, 5.133, 6.269",\
                 "0.6209, 0.7985, 1.207, 1.741, 2.364, 3.076, 3.88, 4.76, 5.724, 6.853",\
                 "0.7596, 0.9586, 1.419, 2.019, 2.715, 3.503, 4.385, 5.362, 6.413, 7.559");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02987, 0.1312, 0.3248, 0.6263, 1.049, 1.606, 2.307, 3.164, 4.184");
          values("0.04124, 0.08982, 0.2606, 0.5862, 1.097, 1.811, 2.749, 3.919, 5.359, 7.107",\
                 "0.0462, 0.0901, 0.2607, 0.5874, 1.097, 1.811, 2.739, 3.932, 5.385, 7.107",\
                 "0.08438, 0.1363, 0.2715, 0.5878, 1.096, 1.81, 2.752, 3.936, 5.376, 7.109",\
                 "0.1379, 0.2048, 0.3761, 0.625, 1.095, 1.81, 2.751, 3.935, 5.382, 7.092",\
                 "0.2045, 0.2922, 0.4986, 0.7974, 1.177, 1.81, 2.745, 3.934, 5.382, 7.106",\
                 "0.2816, 0.3942, 0.6454, 0.989, 1.424, 1.95, 2.765, 3.923, 5.377, 7.104",\
                 "0.3718, 0.5082, 0.8122, 1.2, 1.699, 2.28, 2.97, 3.979, 5.369, 7.086",\
                 "0.4758, 0.6358, 0.9944, 1.443, 1.989, 2.649, 3.384, 4.253, 5.473, 7.094",\
                 "0.5884, 0.775, 1.192, 1.706, 2.305, 3.03, 3.86, 4.756, 5.819, 7.256",\
                 "0.7168, 0.9308, 1.406, 1.994, 2.659, 3.433, 4.339, 5.343, 6.414, 7.687");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02987, 0.1312, 0.3248, 0.6263, 1.049, 1.606, 2.307, 3.164, 4.184");
          values("0.05159, 0.109, 0.3107, 0.6933, 1.292, 2.133, 3.239, 4.627, 6.332, 8.355",\
                 "0.05754, 0.1088, 0.3101, 0.6934, 1.292, 2.133, 3.238, 4.625, 6.334, 8.352",\
                 "0.09566, 0.1503, 0.314, 0.6939, 1.292, 2.129, 3.238, 4.628, 6.323, 8.353",\
                 "0.1519, 0.2195, 0.4029, 0.7087, 1.29, 2.13, 3.236, 4.626, 6.324, 8.356",\
                 "0.219, 0.3084, 0.5244, 0.846, 1.324, 2.129, 3.235, 4.627, 6.321, 8.345",\
                 "0.3002, 0.4112, 0.6684, 1.038, 1.512, 2.19, 3.234, 4.624, 6.323, 8.345",\
                 "0.3916, 0.527, 0.8348, 1.248, 1.782, 2.425, 3.331, 4.63, 6.318, 8.342",\
                 "0.4972, 0.6544, 1.021, 1.489, 2.069, 2.782, 3.614, 4.758, 6.334, 8.345",\
                 "0.6174, 0.799, 1.221, 1.752, 2.385, 3.157, 4.057, 5.1, 6.505, 8.388",\
                 "0.7514, 0.9598, 1.435, 2.04, 2.731, 3.556, 4.542, 5.62, 6.906, 8.586");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkinv_16) {
    area : 74.636800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.000200541" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0002063094" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002063094" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.06171 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 5.58 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03951, 0.1747, 0.4328, 0.835, 1.399, 2.142, 3.077, 4.219, 5.58");
          values("-0.05515, -0.04562, -0.03874, -0.03631, -0.03516, -0.03481, -0.03463, -0.03436, -0.03428, -0.03418",\
                 "-0.06976, -0.05966, -0.04615, -0.03993, -0.03736, -0.03602, -0.03524, -0.03481, -0.03458, -0.03432",\
                 "-0.0384, -0.04311, -0.04205, -0.03959, -0.0376, -0.03646, -0.03577, -0.03513, -0.03471, -0.03466",\
                 "0.0909, 0.06401, 0.0248, 0.001428, -0.01169, -0.01895, -0.02349, -0.0263, -0.02818, -0.0295",\
                 "0.3265, 0.2787, 0.1894, 0.1181, 0.07147, 0.0409, 0.02036, 0.006662, -0.00288, -0.009584",\
                 "0.6742, 0.6088, 0.4698, 0.3396, 0.2412, 0.1711, 0.1209, 0.08477, 0.05907, 0.03986",\
                 "1.141, 1.062, 0.8778, 0.6831, 0.5213, 0.396, 0.302, 0.2313, 0.1777, 0.1372",\
                 "1.735, 1.644, 1.422, 1.162, 0.9288, 0.7372, 0.5857, 0.4672, 0.3743, 0.3018",\
                 "2.464, 2.363, 2.107, 1.787, 1.478, 1.213, 0.9912, 0.8135, 0.6699, 0.5523",\
                 "3.334, 3.225, 2.941, 2.566, 2.182, 1.834, 1.537, 1.288, 1.081, 0.9082");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03951, 0.1747, 0.4328, 0.835, 1.399, 2.142, 3.077, 4.219, 5.58");
          values("0.5296, 0.5413, 0.5499, 0.5549, 0.5593, 0.572, 0.5778, 0.5908, 0.6015, 0.6608",\
                 "0.523, 0.5309, 0.5437, 0.5512, 0.5587, 0.5657, 0.5798, 0.5875, 0.6114, 0.6443",\
                 "0.5816, 0.5682, 0.5574, 0.5559, 0.5603, 0.5697, 0.5838, 0.5875, 0.6048, 0.6414",\
                 "0.7396, 0.7023, 0.6478, 0.6133, 0.594, 0.5915, 0.5914, 0.6106, 0.6081, 0.6755",\
                 "1.006, 0.949, 0.8398, 0.7611, 0.7002, 0.6674, 0.6514, 0.6436, 0.6439, 0.7075",\
                 "1.389, 1.317, 1.159, 1.012, 0.9048, 0.8258, 0.7722, 0.7294, 0.716, 0.767",\
                 "1.901, 1.815, 1.616, 1.398, 1.226, 1.093, 0.9837, 0.901, 0.8568, 0.9124",\
                 "2.55, 2.454, 2.217, 1.934, 1.682, 1.487, 1.332, 1.203, 1.092, 1.167",\
                 "3.347, 3.24, 2.97, 2.628, 2.298, 2.011, 1.798, 1.603, 1.466, 1.601",\
                 "4.299, 4.183, 3.881, 3.485, 3.079, 2.706, 2.403, 2.163, 1.982, 2.329");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03951, 0.1747, 0.4328, 0.835, 1.399, 2.142, 3.077, 4.219, 5.58");
          values("0.04877, 0.07891, 0.1812, 0.3748, 0.6772, 1.1, 1.658, 2.357, 3.213, 4.234",\
                 "0.06098, 0.09158, 0.1947, 0.3892, 0.6906, 1.113, 1.671, 2.372, 3.229, 4.246",\
                 "0.07792, 0.1264, 0.246, 0.4399, 0.7416, 1.165, 1.721, 2.424, 3.279, 4.302",\
                 "0.08561, 0.1525, 0.3165, 0.5416, 0.8417, 1.263, 1.819, 2.519, 3.378, 4.399",\
                 "0.08078, 0.1672, 0.374, 0.6591, 1.002, 1.423, 1.977, 2.675, 3.532, 4.55",\
                 "0.0626, 0.1676, 0.4195, 0.7597, 1.175, 1.649, 2.202, 2.899, 3.747, 4.769",\
                 "0.0289, 0.153, 0.4502, 0.8478, 1.328, 1.884, 2.499, 3.197, 4.046, 5.06",\
                 "-0.0227, 0.1211, 0.4649, 0.9197, 1.465, 2.096, 2.803, 3.571, 4.422, 5.433",\
                 "-0.092, 0.0724, 0.4595, 0.976, 1.588, 2.29, 3.08, 3.948, 4.88, 5.897",\
                 "-0.1811, 0.0035, 0.4356, 1.013, 1.693, 2.468, 3.337, 4.297, 5.335, 6.439");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03951, 0.1747, 0.4328, 0.835, 1.399, 2.142, 3.077, 4.219, 5.58");
          values("0.04434, 0.07856, 0.1937, 0.4127, 0.7527, 1.228, 1.857, 2.647, 3.614, 4.761",\
                 "0.06133, 0.09516, 0.211, 0.4297, 0.7705, 1.248, 1.874, 2.667, 3.628, 4.784",\
                 "0.103, 0.1524, 0.2771, 0.4949, 0.8346, 1.311, 1.938, 2.731, 3.694, 4.847",\
                 "0.1577, 0.2258, 0.3927, 0.6251, 0.9622, 1.437, 2.064, 2.851, 3.819, 4.966",\
                 "0.2242, 0.3132, 0.5238, 0.8135, 1.167, 1.639, 2.262, 3.05, 4.014, 5.157",\
                 "0.3031, 0.4133, 0.6719, 1.017, 1.439, 1.928, 2.547, 3.331, 4.291, 5.438",\
                 "0.3954, 0.527, 0.8356, 1.24, 1.728, 2.293, 2.929, 3.707, 4.663, 5.804",\
                 "0.5024, 0.6564, 1.015, 1.483, 2.036, 2.677, 3.396, 4.191, 5.14, 6.278",\
                 "0.6244, 0.8008, 1.21, 1.744, 2.366, 3.079, 3.884, 4.764, 5.729, 6.86",\
                 "0.7631, 0.9616, 1.422, 2.022, 2.718, 3.507, 4.389, 5.367, 6.418, 7.566");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03951, 0.1747, 0.4328, 0.835, 1.399, 2.142, 3.077, 4.219, 5.58");
          values("0.04189, 0.09059, 0.2615, 0.5877, 1.1, 1.815, 2.744, 3.94, 5.392, 7.114",\
                 "0.04666, 0.0907, 0.2622, 0.5885, 1.099, 1.813, 2.757, 3.943, 5.393, 7.116",\
                 "0.08518, 0.1368, 0.2722, 0.5879, 1.098, 1.814, 2.754, 3.942, 5.391, 7.116",\
                 "0.139, 0.2056, 0.3767, 0.6256, 1.098, 1.812, 2.751, 3.936, 5.391, 7.116",\
                 "0.2055, 0.2931, 0.499, 0.7982, 1.178, 1.816, 2.749, 3.937, 5.391, 7.112",\
                 "0.2842, 0.3954, 0.6456, 0.9904, 1.425, 1.953, 2.768, 3.932, 5.381, 7.114",\
                 "0.3742, 0.5096, 0.8122, 1.202, 1.704, 2.281, 2.973, 3.981, 5.374, 7.101",\
                 "0.477, 0.6382, 0.9954, 1.445, 1.991, 2.653, 3.387, 4.258, 5.475, 7.101",\
                 "0.5932, 0.7804, 1.198, 1.707, 2.309, 3.034, 3.862, 4.758, 5.828, 7.272",\
                 "0.719, 0.9314, 1.409, 1.993, 2.66, 3.435, 4.34, 5.351, 6.42, 7.697");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03951, 0.1747, 0.4328, 0.835, 1.399, 2.142, 3.077, 4.219, 5.58");
          values("0.05241, 0.1099, 0.3107, 0.696, 1.296, 2.134, 3.244, 4.641, 6.341, 8.364",\
                 "0.05812, 0.1098, 0.3115, 0.6959, 1.294, 2.136, 3.245, 4.636, 6.335, 8.371",\
                 "0.0964, 0.1511, 0.3151, 0.696, 1.295, 2.135, 3.24, 4.634, 6.344, 8.371",\
                 "0.1525, 0.2202, 0.4036, 0.7105, 1.294, 2.134, 3.238, 4.633, 6.34, 8.362",\
                 "0.2204, 0.3096, 0.5252, 0.8474, 1.326, 2.134, 3.241, 4.634, 6.339, 8.36",\
                 "0.3008, 0.4124, 0.67, 1.038, 1.513, 2.192, 3.242, 4.632, 6.334, 8.365",\
                 "0.3938, 0.5286, 0.8392, 1.247, 1.786, 2.428, 3.33, 4.637, 6.33, 8.359",\
                 "0.4994, 0.6562, 1.024, 1.489, 2.071, 2.788, 3.619, 4.765, 6.348, 8.357",\
                 "0.6198, 0.8024, 1.223, 1.753, 2.386, 3.163, 4.064, 5.107, 6.516, 8.387",\
                 "0.7548, 0.9624, 1.436, 2.042, 2.736, 3.558, 4.549, 5.628, 6.915, 8.606");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__clkinv_20) {
    area : 92.198400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0002452329" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0002524434" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002524434" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.07823 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 6.974 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04913, 0.2181, 0.5407, 1.043, 1.748, 2.676, 3.845, 5.273, 6.974");
          values("-0.06811, -0.05676, -0.04821, -0.04521, -0.04422, -0.04346, -0.04325, -0.04285, -0.04273, -0.04266",\
                 "-0.08689, -0.07424, -0.0578, -0.0503, -0.04693, -0.04529, -0.04435, -0.04371, -0.04358, -0.04314",\
                 "-0.04832, -0.0535, -0.05263, -0.04937, -0.04688, -0.04536, -0.04443, -0.0438, -0.04341, -0.04333",\
                 "0.1123, 0.07907, 0.03101, 0.001343, -0.01452, -0.02407, -0.02958, -0.03308, -0.03556, -0.03688",\
                 "0.4058, 0.3464, 0.2357, 0.148, 0.08898, 0.05082, 0.02511, 0.007792, -0.003922, -0.01227",\
                 "0.8393, 0.7589, 0.5856, 0.4238, 0.3012, 0.2137, 0.1508, 0.1061, 0.07324, 0.04988",\
                 "1.422, 1.324, 1.095, 0.8516, 0.6506, 0.4946, 0.3772, 0.2885, 0.2222, 0.171",\
                 "2.163, 2.051, 1.774, 1.449, 1.159, 0.9208, 0.7305, 0.5832, 0.4675, 0.376",\
                 "3.074, 2.949, 2.629, 2.23, 1.846, 1.514, 1.238, 1.016, 0.8357, 0.6906",\
                 "4.162, 4.025, 3.671, 3.203, 2.722, 2.289, 1.918, 1.608, 1.349, 1.135");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04913, 0.2181, 0.5407, 1.043, 1.748, 2.676, 3.845, 5.273, 6.974");
          values("0.6782, 0.6925, 0.7024, 0.7097, 0.7157, 0.7287, 0.7463, 0.7486, 0.7836, 0.8188",\
                 "0.6697, 0.6796, 0.6948, 0.7031, 0.7167, 0.7267, 0.7453, 0.7486, 0.7869, 0.8254",\
                 "0.7421, 0.7256, 0.7124, 0.7117, 0.7118, 0.7237, 0.7387, 0.7453, 0.7869, 0.8181",\
                 "0.9387, 0.8926, 0.8241, 0.7813, 0.756, 0.7521, 0.7536, 0.775, 0.7968, 0.8484",\
                 "1.269, 1.199, 1.064, 0.9665, 0.8893, 0.8468, 0.8278, 0.8179, 0.8366, 0.8648",\
                 "1.748, 1.658, 1.462, 1.28, 1.151, 1.042, 0.969, 0.9301, 0.916, 0.9966",\
                 "2.387, 2.282, 2.033, 1.76, 1.546, 1.382, 1.245, 1.158, 1.088, 1.159",\
                 "3.198, 3.078, 2.783, 2.434, 2.116, 1.877, 1.678, 1.507, 1.386, 1.477",\
                 "4.192, 4.059, 3.723, 3.297, 2.888, 2.53, 2.256, 2.012, 1.843, 2.021",\
                 "5.381, 5.237, 4.862, 4.365, 3.86, 3.396, 3.012, 2.716, 2.495, 2.936");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04913, 0.2181, 0.5407, 1.043, 1.748, 2.676, 3.845, 5.273, 6.974");
          values("0.04982, 0.08005, 0.1824, 0.3767, 0.6779, 1.103, 1.66, 2.361, 3.216, 4.237",\
                 "0.06205, 0.09264, 0.1957, 0.3903, 0.6924, 1.115, 1.674, 2.375, 3.234, 4.25",\
                 "0.0796, 0.1277, 0.2471, 0.4411, 0.7432, 1.166, 1.725, 2.424, 3.285, 4.306",\
                 "0.088, 0.1541, 0.318, 0.543, 0.8434, 1.265, 1.822, 2.523, 3.381, 4.403",\
                 "0.08363, 0.1693, 0.3758, 0.6608, 1.004, 1.424, 1.977, 2.677, 3.532, 4.556",\
                 "0.0658, 0.1705, 0.4217, 0.7614, 1.177, 1.65, 2.204, 2.901, 3.753, 4.77",\
                 "0.0324, 0.1564, 0.4523, 0.8499, 1.33, 1.886, 2.502, 3.2, 4.05, 5.063",\
                 "-0.0181, 0.1247, 0.4664, 0.9226, 1.467, 2.098, 2.806, 3.574, 4.427, 5.437",\
                 "-0.0866, 0.0769, 0.4624, 0.9781, 1.591, 2.292, 3.083, 3.952, 4.883, 5.901",\
                 "-0.1744, 0.0086, 0.4399, 1.016, 1.695, 2.471, 3.34, 4.301, 5.34, 6.443");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04913, 0.2181, 0.5407, 1.043, 1.748, 2.676, 3.845, 5.273, 6.974");
          values("0.04549, 0.07971, 0.1951, 0.4139, 0.7536, 1.232, 1.858, 2.653, 3.614, 4.772",\
                 "0.06248, 0.09628, 0.2123, 0.4317, 0.7722, 1.25, 1.876, 2.671, 3.632, 4.79",\
                 "0.1047, 0.1538, 0.2783, 0.4966, 0.8368, 1.314, 1.941, 2.734, 3.698, 4.853",\
                 "0.1599, 0.2277, 0.3941, 0.6265, 0.9638, 1.438, 2.066, 2.857, 3.824, 4.974",\
                 "0.227, 0.3154, 0.5256, 0.815, 1.169, 1.641, 2.265, 3.055, 4.018, 5.168",\
                 "0.3065, 0.4161, 0.6738, 1.019, 1.442, 1.93, 2.55, 3.334, 4.294, 5.445",\
                 "0.3998, 0.5304, 0.8381, 1.242, 1.73, 2.295, 2.932, 3.711, 4.669, 5.814",\
                 "0.5072, 0.6602, 1.017, 1.485, 2.038, 2.68, 3.399, 4.195, 5.144, 6.284",\
                 "0.6303, 0.8053, 1.213, 1.747, 2.369, 3.082, 3.888, 4.769, 5.736, 6.868",\
                 "0.7694, 0.9665, 1.426, 2.025, 2.722, 3.509, 4.393, 5.37, 6.424, 7.572");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04913, 0.2181, 0.5407, 1.043, 1.748, 2.676, 3.845, 5.273, 6.974");
          values("0.04322, 0.09196, 0.2635, 0.5908, 1.097, 1.817, 2.746, 3.95, 5.397, 7.126",\
                 "0.0476, 0.09208, 0.2637, 0.59, 1.101, 1.817, 2.761, 3.945, 5.374, 7.125",\
                 "0.08636, 0.1378, 0.2734, 0.5909, 1.101, 1.815, 2.76, 3.944, 5.399, 7.093",\
                 "0.141, 0.2071, 0.378, 0.6284, 1.099, 1.814, 2.758, 3.943, 5.391, 7.126",\
                 "0.2084, 0.2954, 0.5006, 0.7998, 1.18, 1.818, 2.755, 3.938, 5.386, 7.125",\
                 "0.2866, 0.3982, 0.6462, 0.9936, 1.428, 1.955, 2.775, 3.937, 5.39, 7.106",\
                 "0.3818, 0.5136, 0.815, 1.205, 1.705, 2.284, 2.976, 3.992, 5.38, 7.102",\
                 "0.4824, 0.6412, 0.9988, 1.445, 1.993, 2.655, 3.39, 4.262, 5.482, 7.111",\
                 "0.5982, 0.7816, 1.197, 1.713, 2.312, 3.037, 3.865, 4.763, 5.834, 7.276",\
                 "0.7286, 0.9372, 1.409, 1.996, 2.665, 3.438, 4.345, 5.354, 6.424, 7.703");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04913, 0.2181, 0.5407, 1.043, 1.748, 2.676, 3.845, 5.273, 6.974");
          values("0.05388, 0.1115, 0.3127, 0.6973, 1.297, 2.142, 3.245, 4.644, 6.342, 8.384",\
                 "0.0592, 0.1116, 0.3133, 0.6979, 1.298, 2.141, 3.246, 4.647, 6.344, 8.383",\
                 "0.09828, 0.1525, 0.317, 0.6976, 1.299, 2.139, 3.25, 4.645, 6.343, 8.384",\
                 "0.1545, 0.2222, 0.4048, 0.713, 1.296, 2.138, 3.248, 4.642, 6.349, 8.386",\
                 "0.2235, 0.3116, 0.526, 0.8492, 1.332, 2.139, 3.251, 4.642, 6.347, 8.381",\
                 "0.3042, 0.415, 0.6722, 1.041, 1.515, 2.2, 3.246, 4.642, 6.344, 8.377",\
                 "0.3974, 0.5328, 0.8426, 1.249, 1.788, 2.431, 3.336, 4.645, 6.343, 8.376",\
                 "0.5056, 0.66, 1.026, 1.49, 2.075, 2.79, 3.622, 4.778, 6.357, 8.372",\
                 "0.6278, 0.8064, 1.226, 1.756, 2.389, 3.165, 4.066, 5.113, 6.526, 8.404",\
                 "0.7628, 0.9678, 1.441, 2.045, 2.738, 3.563, 4.545, 5.632, 6.925, 8.616");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnq_1) {
    area : 65.856000 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D" ;
      value : "0.0002151369" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D" ;
      value : "0.0002214135" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D" ;
      value : "0.0001789458" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D" ;
      value : "0.000178167" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002214135" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003401 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.597 ;
      min_pulse_width_high : 0.597 ;
      min_pulse_width_low : 0.639 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1309, 0.1304, 0.131, 0.1369, 0.149, 0.168, 0.1947, 0.2294, 0.2728, \
                 0.3251");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08404, 0.08377, 0.08425, 0.08902, 0.09889, 0.1152, 0.1386, 0.1693, \
                 0.2076, 0.2536");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1309, 0.1304, 0.131, 0.1368, 0.149, 0.1679, 0.1946, 0.2295, \
                 0.2728, 0.3249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08415, 0.08385, 0.08439, 0.08908, 0.09904, 0.1153, 0.1387, 0.1694, \
                 0.2075, 0.2537");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("0.534");
        }

        rise_constraint(scalar) {
          values("0.597");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        fall_constraint(scalar) {
          values("0.639");
        }

        rise_constraint(scalar) {
          values("0.499");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("1.207");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "D" ;

        fall_constraint(scalar) {
          values("1.597");
        }
      }
    }

    pin(D) {
      capacitance : 0.002363 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02498, 0.02443, 0.02619, 0.03154, 0.04102, 0.05512, 0.07415, \
                 0.09844, 0.1285, 0.1643");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002812, 0.002606, 0.003597, 0.00763, 0.01538, 0.02717, 0.04328, \
                 0.06396, 0.08948, 0.1201");
        }
      }

      internal_power() {
        when : "CLKN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08556, 0.08525, 0.08614, 0.09074, 0.1, 0.1141, 0.1339, 0.1596, \
                 0.1915, 0.2298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05571, 0.05555, 0.05645, 0.06008, 0.06714, 0.0785, 0.09447, \
                 0.1155, 0.1419, 0.1738");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.023, 0.042, 0.104, 0.208, 0.33, 0.474, 0.639, 0.833, 1.054, 1.309",\
                 "0.005, 0.023, 0.088, 0.189, 0.309, 0.459, 0.621, 0.816, 1.044, 1.294",\
                 "-0.06, -0.047, 0.016, 0.12, 0.243, 0.385, 0.556, 0.746, 0.966, 1.222",\
                 "-0.189, -0.17, -0.114, -0.007, 0.111, 0.257, 0.426, 0.61, 0.827, 1.077",\
                 "-0.352, -0.34, -0.277, -0.173, -0.06, 0.083, 0.245, 0.435, 0.651, 0.892",\
                 "-0.555, -0.542, -0.481, -0.381, -0.267, -0.13, 0.029, 0.216, 0.428, 0.672",\
                 "-0.799, -0.784, -0.719, -0.625, -0.519, -0.386, -0.226, -0.042, 0.162, 0.404",\
                 "-1.081, -1.067, -1.007, -0.916, -0.812, -0.679, -0.524, -0.349, -0.145, 0.097",\
                 "-1.404, -1.398, -1.33, -1.247, -1.143, -1.02, -0.872, -0.699, -0.491, -0.262",\
                 "-1.777, -1.765, -1.704, -1.619, -1.523, -1.403, -1.267, -1.094, -0.891, -0.67");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.233, 0.297, 0.426, 0.583, 0.762, 0.976, 1.21, 1.484, 1.772",\
                 "0.204, 0.222, 0.284, 0.411, 0.572, 0.748, 0.964, 1.198, 1.469, 1.76",\
                 "0.171, 0.19, 0.252, 0.376, 0.539, 0.717, 0.927, 1.168, 1.438, 1.731",\
                 "0.156, 0.177, 0.234, 0.36, 0.517, 0.695, 0.915, 1.144, 1.413, 1.71",\
                 "0.161, 0.177, 0.244, 0.365, 0.525, 0.705, 0.914, 1.153, 1.417, 1.714",\
                 "0.199, 0.218, 0.278, 0.402, 0.566, 0.739, 0.951, 1.185, 1.455, 1.746",\
                 "0.288, 0.304, 0.368, 0.484, 0.641, 0.813, 1.025, 1.256, 1.527, 1.817",\
                 "0.413, 0.432, 0.491, 0.606, 0.757, 0.929, 1.135, 1.368, 1.637, 1.924",\
                 "0.601, 0.617, 0.672, 0.781, 0.919, 1.086, 1.291, 1.522, 1.789, 2.079",\
                 "0.842, 0.86, 0.913, 1.004, 1.152, 1.3, 1.501, 1.723, 1.992, 2.272");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.402, 0.326, 0.22, 0.087, -0.077, -0.26, -0.461, -0.696, -0.954",\
                 "0.432, 0.413, 0.344, 0.235, 0.1, -0.059, -0.244, -0.446, -0.675, -0.943",\
                 "0.501, 0.485, 0.417, 0.303, 0.175, 0.01, -0.166, -0.379, -0.611, -0.868",\
                 "0.644, 0.633, 0.555, 0.444, 0.307, 0.146, -0.036, -0.242, -0.469, -0.735",\
                 "0.844, 0.825, 0.756, 0.639, 0.504, 0.338, 0.156, -0.049, -0.281, -0.547",\
                 "1.084, 1.072, 0.998, 0.885, 0.74, 0.578, 0.389, 0.18, -0.051, -0.31",\
                 "1.381, 1.367, 1.299, 1.175, 1.034, 0.871, 0.678, 0.471, 0.233, -0.025",\
                 "1.736, 1.729, 1.647, 1.525, 1.382, 1.21, 1.022, 0.801, 0.57, 0.31",\
                 "2.152, 2.136, 2.058, 1.937, 1.777, 1.602, 1.409, 1.198, 0.957, 0.695",\
                 "2.616, 2.598, 2.52, 2.387, 2.233, 2.056, 1.853, 1.637, 1.395, 1.131");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2, 0.183, 0.117, -0.008, -0.159, -0.353, -0.572, -0.815, -1.094, -1.407",\
                 "0.213, 0.19, 0.131, 0.004, -0.147, -0.336, -0.561, -0.804, -1.085, -1.393",\
                 "0.254, 0.236, 0.173, 0.048, -0.103, -0.296, -0.519, -0.764, -1.041, -1.35",\
                 "0.308, 0.286, 0.219, 0.1, -0.057, -0.249, -0.465, -0.716, -0.993, -1.306",\
                 "0.338, 0.324, 0.261, 0.127, -0.026, -0.214, -0.433, -0.678, -0.953, -1.267",\
                 "0.353, 0.335, 0.264, 0.14, -0.022, -0.21, -0.426, -0.671, -0.952, -1.26",\
                 "0.336, 0.313, 0.248, 0.116, -0.041, -0.227, -0.452, -0.7, -0.978, -1.281",\
                 "0.272, 0.255, 0.187, 0.062, -0.099, -0.289, -0.51, -0.755, -1.036, -1.341",\
                 "0.178, 0.161, 0.098, -0.038, -0.201, -0.384, -0.606, -0.854, -1.129, -1.44",\
                 "0.038, 0.02, -0.049, -0.176, -0.341, -0.524, -0.745, -0.988, -1.271, -1.581");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3316 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
          values("0.1456, 0.145, 0.1443, 0.1441, 0.144, 0.1439, 0.1439, 0.1438, 0.1438, 0.1438",\
                 "0.1455, 0.145, 0.1444, 0.144, 0.144, 0.1439, 0.1438, 0.1438, 0.1438, 0.1438",\
                 "0.1456, 0.1449, 0.1443, 0.144, 0.1439, 0.1439, 0.1438, 0.1438, 0.1438, 0.1437",\
                 "0.1459, 0.1453, 0.1446, 0.1444, 0.1443, 0.1443, 0.1442, 0.1442, 0.1442, 0.1442",\
                 "0.1472, 0.1465, 0.1459, 0.1456, 0.1455, 0.1455, 0.1455, 0.1454, 0.1454, 0.1454",\
                 "0.1488, 0.1482, 0.1475, 0.1473, 0.1472, 0.1472, 0.1471, 0.1471, 0.147, 0.147",\
                 "0.151, 0.1503, 0.1496, 0.1493, 0.1493, 0.1491, 0.1491, 0.1491, 0.1491, 0.1491",\
                 "0.1539, 0.1532, 0.1525, 0.1521, 0.1521, 0.152, 0.152, 0.1519, 0.1519, 0.1519",\
                 "0.1572, 0.1565, 0.1557, 0.1554, 0.1553, 0.1552, 0.1552, 0.1552, 0.1552, 0.1552",\
                 "0.1609, 0.1602, 0.1594, 0.1591, 0.159, 0.1589, 0.1589, 0.1588, 0.1588, 0.1588");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
          values("0.1931, 0.1924, 0.1912, 0.1911, 0.1914, 0.1921, 0.1926, 0.1931, 0.1943, 0.1976",\
                 "0.1931, 0.1923, 0.1914, 0.1913, 0.1915, 0.1922, 0.1928, 0.1933, 0.1943, 0.1983",\
                 "0.1932, 0.1925, 0.1916, 0.1912, 0.1916, 0.1923, 0.1928, 0.1933, 0.1946, 0.1984",\
                 "0.1941, 0.1933, 0.1923, 0.1922, 0.1925, 0.1932, 0.1937, 0.1942, 0.1954, 0.2002",\
                 "0.1957, 0.1948, 0.1939, 0.1937, 0.194, 0.1947, 0.1953, 0.1958, 0.197, 0.202",\
                 "0.1978, 0.1969, 0.1961, 0.1958, 0.1961, 0.1969, 0.1974, 0.1981, 0.1989, 0.2061",\
                 "0.1998, 0.1991, 0.1982, 0.1981, 0.1987, 0.199, 0.1997, 0.2002, 0.2015, 0.2103",\
                 "0.2027, 0.202, 0.201, 0.2007, 0.2011, 0.2022, 0.2027, 0.2029, 0.2046, 0.2176",\
                 "0.2056, 0.2048, 0.2041, 0.2037, 0.204, 0.2046, 0.2064, 0.2068, 0.209, 0.2291",\
                 "0.2087, 0.208, 0.2071, 0.207, 0.2073, 0.2074, 0.2085, 0.2108, 0.2149, 0.2494");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
          values("0.7887, 0.8195, 0.9043, 1.034, 1.215, 1.463, 1.788, 2.197, 2.698, 3.295",\
                 "0.8056, 0.8363, 0.9212, 1.051, 1.231, 1.479, 1.805, 2.215, 2.715, 3.311",\
                 "0.8715, 0.9025, 0.9872, 1.117, 1.298, 1.545, 1.871, 2.281, 2.781, 3.377",\
                 "1, 1.031, 1.116, 1.245, 1.426, 1.674, 1.999, 2.409, 2.91, 3.506",\
                 "1.168, 1.198, 1.283, 1.413, 1.594, 1.842, 2.167, 2.577, 3.077, 3.673",\
                 "1.362, 1.393, 1.478, 1.608, 1.789, 2.037, 2.362, 2.772, 3.272, 3.869",\
                 "1.587, 1.618, 1.703, 1.832, 2.013, 2.261, 2.586, 2.996, 3.496, 4.093",\
                 "1.839, 1.87, 1.955, 2.084, 2.265, 2.513, 2.839, 3.248, 3.748, 4.345",\
                 "2.119, 2.15, 2.235, 2.365, 2.546, 2.794, 3.119, 3.529, 4.029, 4.625",\
                 "2.427, 2.458, 2.543, 2.673, 2.854, 3.102, 3.427, 3.837, 4.338, 4.934");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
          values("1.007, 1.046, 1.167, 1.391, 1.738, 2.224, 2.864, 3.67, 4.653, 5.828",\
                 "1.024, 1.063, 1.184, 1.408, 1.755, 2.241, 2.881, 3.688, 4.67, 5.845",\
                 "1.09, 1.129, 1.251, 1.474, 1.821, 2.308, 2.947, 3.754, 4.737, 5.911",\
                 "1.221, 1.26, 1.382, 1.605, 1.952, 2.439, 3.078, 3.885, 4.867, 6.042",\
                 "1.395, 1.433, 1.555, 1.779, 2.126, 2.612, 3.252, 4.058, 5.041, 6.216",\
                 "1.598, 1.637, 1.758, 1.982, 2.329, 2.815, 3.455, 4.261, 5.246, 6.419",\
                 "1.832, 1.871, 1.993, 2.216, 2.563, 3.049, 3.69, 4.495, 5.481, 6.655",\
                 "2.096, 2.136, 2.257, 2.481, 2.828, 3.314, 3.954, 4.76, 5.743, 6.919",\
                 "2.389, 2.427, 2.55, 2.773, 3.12, 3.606, 4.246, 5.052, 6.036, 7.208",\
                 "2.707, 2.746, 2.868, 3.092, 3.439, 3.925, 4.565, 5.371, 6.355, 7.527");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
          values("0.1027, 0.1338, 0.2298, 0.3975, 0.675, 1.083, 1.627, 2.318, 3.16, 4.161",\
                 "0.1023, 0.1338, 0.2291, 0.3972, 0.6752, 1.083, 1.628, 2.316, 3.159, 4.164",\
                 "0.103, 0.1336, 0.2298, 0.3972, 0.6754, 1.081, 1.628, 2.316, 3.159, 4.164",\
                 "0.1026, 0.1336, 0.2296, 0.3978, 0.6754, 1.083, 1.629, 2.317, 3.156, 4.159",\
                 "0.1022, 0.134, 0.2298, 0.3978, 0.674, 1.083, 1.629, 2.317, 3.159, 4.164",\
                 "0.1024, 0.1344, 0.2298, 0.3972, 0.6736, 1.082, 1.628, 2.316, 3.155, 4.162",\
                 "0.1026, 0.134, 0.2302, 0.398, 0.6754, 1.083, 1.626, 2.314, 3.154, 4.157",\
                 "0.1032, 0.1348, 0.2302, 0.3974, 0.6738, 1.082, 1.627, 2.313, 3.151, 4.156",\
                 "0.1038, 0.1348, 0.2308, 0.398, 0.6752, 1.084, 1.628, 2.313, 3.155, 4.153",\
                 "0.1042, 0.1352, 0.231, 0.3982, 0.6752, 1.084, 1.626, 2.314, 3.154, 4.153");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003282, 0.01129, 0.02658, 0.05041, 0.08385, 0.1278, 0.1833, 0.2509, 0.3316");
          values("0.1304, 0.1826, 0.3742, 0.7574, 1.368, 2.226, 3.356, 4.773, 6.506, 8.584",\
                 "0.1304, 0.1828, 0.3744, 0.7574, 1.368, 2.226, 3.356, 4.774, 6.506, 8.586",\
                 "0.1304, 0.183, 0.3742, 0.757, 1.368, 2.226, 3.356, 4.773, 6.506, 8.587",\
                 "0.1304, 0.1828, 0.3744, 0.7574, 1.368, 2.226, 3.356, 4.773, 6.506, 8.585",\
                 "0.1302, 0.1826, 0.3738, 0.7574, 1.368, 2.226, 3.356, 4.773, 6.506, 8.584",\
                 "0.1294, 0.1822, 0.3736, 0.757, 1.368, 2.223, 3.351, 4.774, 6.506, 8.574",\
                 "0.1298, 0.1826, 0.3742, 0.757, 1.367, 2.223, 3.351, 4.774, 6.509, 8.581",\
                 "0.1298, 0.1822, 0.3744, 0.758, 1.366, 2.223, 3.351, 4.77, 6.506, 8.579",\
                 "0.1292, 0.1822, 0.3734, 0.7574, 1.368, 2.224, 3.349, 4.771, 6.516, 8.572",\
                 "0.1296, 0.182, 0.3742, 0.7572, 1.368, 2.225, 3.349, 4.77, 6.504, 8.588");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnq_2) {
    area : 72.441600 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D" ;
      value : "0.0002266341" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D" ;
      value : "0.0002324883" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D" ;
      value : "0.000190443" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D" ;
      value : "0.0001892517" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002324883" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003401 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.337 ;
      min_pulse_width_high : 0.604 ;
      min_pulse_width_low : 0.655 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1313, 0.1308, 0.1314, 0.1372, 0.1493, 0.1683, 0.1949, 0.2298, \
                 0.2731, 0.3253");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08398, 0.08367, 0.08419, 0.08896, 0.09882, 0.1152, 0.1385, 0.1692, \
                 0.2074, 0.2535");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1312, 0.1307, 0.1314, 0.1372, 0.1493, 0.1683, 0.1949, 0.2296, \
                 0.273, 0.3253");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08407, 0.08381, 0.08429, 0.08909, 0.09888, 0.1153, 0.1386, 0.1692, \
                 0.2075, 0.2537");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("0.581");
        }

        rise_constraint(scalar) {
          values("0.604");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        fall_constraint(scalar) {
          values("0.655");
        }

        rise_constraint(scalar) {
          values("0.512");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("1.26");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "D" ;

        fall_constraint(scalar) {
          values("1.337");
        }
      }
    }

    pin(D) {
      capacitance : 0.002369 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02498, 0.02444, 0.02617, 0.03154, 0.04112, 0.05512, 0.07415, \
                 0.09848, 0.1284, 0.1643");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002823, 0.002601, 0.0036, 0.007613, 0.01539, 0.02718, 0.04328, \
                 0.06396, 0.08949, 0.1201");
        }
      }

      internal_power() {
        when : "CLKN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08555, 0.08524, 0.08616, 0.09074, 0.09997, 0.1142, 0.1339, 0.1596, \
                 0.1914, 0.2298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05569, 0.05558, 0.05644, 0.0601, 0.06718, 0.0785, 0.09449, 0.1155, \
                 0.1419, 0.1738");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.052, 0.069, 0.125, 0.234, 0.353, 0.491, 0.664, 0.85, 1.07, 1.324",\
                 "0.04, 0.055, 0.112, 0.218, 0.332, 0.477, 0.638, 0.834, 1.052, 1.309",\
                 "-0.034, -0.018, 0.04, 0.144, 0.261, 0.405, 0.574, 0.765, 0.983, 1.233",\
                 "-0.162, -0.141, -0.091, 0.016, 0.132, 0.271, 0.436, 0.63, 0.845, 1.094",\
                 "-0.322, -0.309, -0.251, -0.152, -0.04, 0.101, 0.262, 0.449, 0.66, 0.91",\
                 "-0.526, -0.506, -0.449, -0.351, -0.24, -0.113, 0.049, 0.233, 0.444, 0.685",\
                 "-0.766, -0.741, -0.692, -0.595, -0.496, -0.365, -0.21, -0.022, 0.18, 0.418",\
                 "-1.039, -1.025, -0.976, -0.883, -0.782, -0.654, -0.504, -0.332, -0.125, 0.105",\
                 "-1.365, -1.342, -1.297, -1.212, -1.114, -0.999, -0.854, -0.679, -0.483, -0.244",\
                 "-1.725, -1.708, -1.661, -1.58, -1.493, -1.383, -1.246, -1.078, -0.882, -0.655");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.223, 0.24, 0.307, 0.434, 0.591, 0.773, 0.985, 1.222, 1.484, 1.783",\
                 "0.21, 0.23, 0.296, 0.42, 0.579, 0.76, 0.972, 1.21, 1.478, 1.771",\
                 "0.181, 0.196, 0.26, 0.38, 0.539, 0.724, 0.936, 1.175, 1.446, 1.737",\
                 "0.165, 0.187, 0.245, 0.368, 0.522, 0.703, 0.915, 1.157, 1.421, 1.715",\
                 "0.176, 0.193, 0.253, 0.375, 0.532, 0.714, 0.92, 1.16, 1.426, 1.72",\
                 "0.217, 0.236, 0.298, 0.416, 0.574, 0.75, 0.958, 1.193, 1.46, 1.759",\
                 "0.305, 0.321, 0.377, 0.504, 0.648, 0.827, 1.034, 1.266, 1.533, 1.831",\
                 "0.436, 0.456, 0.51, 0.627, 0.765, 0.946, 1.145, 1.379, 1.644, 1.94",\
                 "0.625, 0.649, 0.696, 0.806, 0.929, 1.102, 1.309, 1.536, 1.797, 2.088",\
                 "0.878, 0.902, 0.945, 1.038, 1.158, 1.32, 1.516, 1.739, 2.001, 2.288");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.424, 0.409, 0.337, 0.22, 0.087, -0.071, -0.251, -0.461, -0.696, -0.954",\
                 "0.445, 0.429, 0.35, 0.245, 0.108, -0.053, -0.236, -0.446, -0.675, -0.937",\
                 "0.511, 0.497, 0.425, 0.309, 0.175, 0.017, -0.166, -0.373, -0.611, -0.868",\
                 "0.653, 0.633, 0.561, 0.452, 0.312, 0.153, -0.026, -0.235, -0.469, -0.735",\
                 "0.851, 0.834, 0.765, 0.644, 0.505, 0.347, 0.162, -0.05, -0.282, -0.546",\
                 "1.096, 1.084, 1.011, 0.893, 0.749, 0.583, 0.396, 0.188, -0.051, -0.31",\
                 "1.398, 1.384, 1.308, 1.185, 1.04, 0.871, 0.686, 0.471, 0.233, -0.025",\
                 "1.759, 1.741, 1.666, 1.538, 1.39, 1.219, 1.022, 0.807, 0.57, 0.31",\
                 "2.168, 2.16, 2.075, 1.946, 1.796, 1.612, 1.415, 1.198, 0.957, 0.695",\
                 "2.642, 2.625, 2.542, 2.409, 2.251, 2.063, 1.867, 1.645, 1.404, 1.131");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.212, 0.197, 0.133, 0.02, -0.136, -0.324, -0.546, -0.791, -1.07, -1.371",\
                 "0.227, 0.214, 0.148, 0.033, -0.124, -0.312, -0.527, -0.774, -1.06, -1.357",\
                 "0.27, 0.254, 0.189, 0.066, -0.077, -0.27, -0.492, -0.739, -1.016, -1.324",\
                 "0.326, 0.305, 0.236, 0.115, -0.036, -0.22, -0.435, -0.689, -0.967, -1.278",\
                 "0.36, 0.34, 0.278, 0.148, -0.006, -0.188, -0.41, -0.656, -0.934, -1.243",\
                 "0.365, 0.353, 0.283, 0.154, -0.005, -0.189, -0.406, -0.654, -0.931, -1.235",\
                 "0.344, 0.33, 0.266, 0.136, -0.024, -0.214, -0.428, -0.68, -0.955, -1.267",\
                 "0.29, 0.278, 0.205, 0.075, -0.084, -0.272, -0.491, -0.738, -1.009, -1.325",\
                 "0.194, 0.177, 0.106, -0.02, -0.182, -0.374, -0.588, -0.841, -1.113, -1.422",\
                 "0.054, 0.041, -0.033, -0.159, -0.323, -0.511, -0.73, -0.98, -1.253, -1.565");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.6438 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
          values("0.2008, 0.1972, 0.1932, 0.1912, 0.1904, 0.1899, 0.1896, 0.1894, 0.1893, 0.1892",\
                 "0.2008, 0.1972, 0.1932, 0.1913, 0.1904, 0.19, 0.1897, 0.1895, 0.1894, 0.1893",\
                 "0.2006, 0.1971, 0.193, 0.1912, 0.1903, 0.1899, 0.1896, 0.1894, 0.1893, 0.1892",\
                 "0.2011, 0.1977, 0.1936, 0.1917, 0.1908, 0.1904, 0.19, 0.1899, 0.1897, 0.1897",\
                 "0.2024, 0.1989, 0.1947, 0.1928, 0.192, 0.1915, 0.1913, 0.1911, 0.191, 0.1909",\
                 "0.2041, 0.2005, 0.1964, 0.1946, 0.1935, 0.1931, 0.1928, 0.1926, 0.1925, 0.1924",\
                 "0.2063, 0.2027, 0.1985, 0.1967, 0.1958, 0.1953, 0.195, 0.1948, 0.1947, 0.1946",\
                 "0.2093, 0.2056, 0.2012, 0.1993, 0.1984, 0.1979, 0.1977, 0.1974, 0.1973, 0.1972",\
                 "0.2127, 0.209, 0.2047, 0.2027, 0.2018, 0.2013, 0.201, 0.2008, 0.2007, 0.2006",\
                 "0.2167, 0.2129, 0.2085, 0.2066, 0.2056, 0.2051, 0.2047, 0.2045, 0.2044, 0.2043");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
          values("0.2394, 0.2376, 0.2348, 0.2343, 0.2348, 0.236, 0.2373, 0.2383, 0.2404, 0.2478",\
                 "0.2394, 0.2375, 0.235, 0.2344, 0.2348, 0.2364, 0.2373, 0.2384, 0.2403, 0.2471",\
                 "0.2394, 0.2372, 0.2347, 0.2341, 0.2345, 0.2359, 0.2372, 0.2381, 0.2406, 0.2482",\
                 "0.2405, 0.2386, 0.2356, 0.2353, 0.2357, 0.237, 0.2386, 0.2392, 0.241, 0.2506",\
                 "0.2421, 0.24, 0.2376, 0.2369, 0.2373, 0.2387, 0.2396, 0.2406, 0.2427, 0.2538",\
                 "0.2441, 0.2421, 0.2394, 0.2389, 0.2394, 0.2407, 0.2422, 0.243, 0.2449, 0.2591",\
                 "0.2464, 0.2444, 0.2417, 0.2413, 0.2422, 0.2432, 0.2443, 0.2454, 0.2479, 0.2651",\
                 "0.2495, 0.2474, 0.2444, 0.2439, 0.2445, 0.247, 0.2478, 0.2483, 0.2511, 0.2776",\
                 "0.2524, 0.2503, 0.2478, 0.2469, 0.2474, 0.249, 0.2518, 0.2527, 0.2568, 0.2962",\
                 "0.2555, 0.2536, 0.2509, 0.2503, 0.2508, 0.2516, 0.2531, 0.2577, 0.2663, 0.3357");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
          values("0.8586, 0.8966, 0.9943, 1.132, 1.314, 1.557, 1.873, 2.272, 2.759, 3.338",\
                 "0.8754, 0.9135, 1.011, 1.149, 1.331, 1.574, 1.89, 2.289, 2.775, 3.355",\
                 "0.9414, 0.9796, 1.077, 1.215, 1.397, 1.64, 1.956, 2.355, 2.841, 3.422",\
                 "1.07, 1.108, 1.206, 1.343, 1.525, 1.768, 2.085, 2.483, 2.97, 3.551",\
                 "1.239, 1.277, 1.374, 1.512, 1.694, 1.937, 2.254, 2.652, 3.139, 3.719",\
                 "1.434, 1.472, 1.57, 1.708, 1.89, 2.133, 2.449, 2.848, 3.334, 3.914",\
                 "1.66, 1.698, 1.796, 1.933, 2.115, 2.358, 2.675, 3.073, 3.56, 4.14",\
                 "1.914, 1.952, 2.049, 2.187, 2.369, 2.612, 2.929, 3.327, 3.813, 4.393",\
                 "2.196, 2.234, 2.332, 2.469, 2.651, 2.894, 3.211, 3.61, 4.096, 4.676",\
                 "2.506, 2.544, 2.642, 2.78, 2.962, 3.205, 3.522, 3.92, 4.407, 4.987");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
          values("0.9915, 1.034, 1.156, 1.381, 1.729, 2.217, 2.86, 3.67, 4.658, 5.837",\
                 "1.008, 1.05, 1.173, 1.397, 1.746, 2.234, 2.876, 3.686, 4.676, 5.855",\
                 "1.074, 1.116, 1.239, 1.463, 1.811, 2.3, 2.943, 3.753, 4.741, 5.919",\
                 "1.206, 1.247, 1.37, 1.594, 1.943, 2.431, 3.074, 3.884, 4.873, 6.053",\
                 "1.38, 1.422, 1.545, 1.769, 2.117, 2.606, 3.248, 4.058, 5.045, 6.223",\
                 "1.583, 1.625, 1.748, 1.972, 2.32, 2.809, 3.451, 4.261, 5.25, 6.43",\
                 "1.817, 1.859, 1.982, 2.206, 2.554, 3.043, 3.685, 4.495, 5.484, 6.664",\
                 "2.084, 2.125, 2.247, 2.471, 2.82, 3.308, 3.951, 4.761, 5.75, 6.93",\
                 "2.376, 2.417, 2.54, 2.764, 3.113, 3.601, 4.244, 5.053, 6.041, 7.219",\
                 "2.697, 2.738, 2.86, 3.085, 3.433, 3.921, 4.564, 5.375, 6.363, 7.539");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
          values("0.1058, 0.142, 0.243, 0.4024, 0.6628, 1.051, 1.577, 2.246, 3.064, 4.043",\
                 "0.1058, 0.1418, 0.243, 0.4024, 0.6628, 1.051, 1.577, 2.246, 3.064, 4.043",\
                 "0.1058, 0.1416, 0.2428, 0.402, 0.6618, 1.05, 1.577, 2.246, 3.065, 4.037",\
                 "0.1058, 0.1422, 0.243, 0.4026, 0.663, 1.051, 1.577, 2.245, 3.065, 4.042",\
                 "0.106, 0.1416, 0.2432, 0.4024, 0.6614, 1.05, 1.576, 2.247, 3.064, 4.042",\
                 "0.106, 0.142, 0.2432, 0.402, 0.6616, 1.05, 1.575, 2.245, 3.064, 4.041",\
                 "0.106, 0.1426, 0.2436, 0.402, 0.6618, 1.049, 1.575, 2.244, 3.061, 4.041",\
                 "0.1064, 0.1428, 0.2438, 0.4028, 0.6616, 1.051, 1.576, 2.243, 3.058, 4.036",\
                 "0.1068, 0.1426, 0.244, 0.4026, 0.6616, 1.05, 1.575, 2.245, 3.061, 4.031",\
                 "0.1074, 0.1432, 0.2446, 0.4026, 0.662, 1.051, 1.575, 2.245, 3.059, 4.032");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005436, 0.02101, 0.05075, 0.09708, 0.1621, 0.2476, 0.3554, 0.487, 0.6438");
          values("0.1056, 0.1592, 0.3486, 0.735, 1.346, 2.208, 3.343, 4.766, 6.515, 8.588",\
                 "0.1054, 0.1594, 0.3484, 0.7334, 1.348, 2.208, 3.338, 4.769, 6.512, 8.587",\
                 "0.1056, 0.1594, 0.3484, 0.735, 1.346, 2.209, 3.343, 4.766, 6.515, 8.588",\
                 "0.1054, 0.159, 0.3484, 0.735, 1.345, 2.209, 3.34, 4.768, 6.511, 8.594",\
                 "0.105, 0.159, 0.348, 0.7338, 1.347, 2.207, 3.345, 4.768, 6.515, 8.586",\
                 "0.1048, 0.1588, 0.3482, 0.7346, 1.347, 2.209, 3.337, 4.769, 6.51, 8.595",\
                 "0.1046, 0.1588, 0.348, 0.7346, 1.347, 2.207, 3.339, 4.769, 6.512, 8.592",\
                 "0.1044, 0.1586, 0.3482, 0.7338, 1.347, 2.205, 3.337, 4.768, 6.508, 8.589",\
                 "0.1042, 0.1588, 0.3482, 0.7344, 1.347, 2.209, 3.337, 4.764, 6.51, 8.585",\
                 "0.1046, 0.1584, 0.348, 0.7348, 1.346, 2.207, 3.343, 4.766, 6.506, 8.59");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnq_4) {
    area : 83.417600 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D" ;
      value : "0.0002496351" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D" ;
      value : "0.0002546511" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D" ;
      value : "0.0002134473" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D" ;
      value : "0.0002114079" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002546511" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003401 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.461 ;
      min_pulse_width_high : 0.604 ;
      min_pulse_width_low : 0.728 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1313, 0.1308, 0.1314, 0.1372, 0.1494, 0.1683, 0.1949, 0.2297, \
                 0.2732, 0.3254");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08396, 0.08368, 0.08418, 0.08896, 0.09883, 0.1152, 0.1385, 0.1691, \
                 0.2074, 0.2535");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1312, 0.1308, 0.1314, 0.1372, 0.1493, 0.1682, 0.1949, 0.2297, \
                 0.2731, 0.3253");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08409, 0.08377, 0.08431, 0.08908, 0.09892, 0.1153, 0.1386, 0.1693, \
                 0.2075, 0.2536");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("0.655");
        }

        rise_constraint(scalar) {
          values("0.604");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        fall_constraint(scalar) {
          values("0.728");
        }

        rise_constraint(scalar) {
          values("0.518");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("1.366");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "D" ;

        fall_constraint(scalar) {
          values("1.461");
        }
      }
    }

    pin(D) {
      capacitance : 0.002369 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02498, 0.02445, 0.02618, 0.03154, 0.0411, 0.05512, 0.07415, \
                 0.09844, 0.1284, 0.1643");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002809, 0.002598, 0.003591, 0.007613, 0.01538, 0.02718, 0.04329, \
                 0.06394, 0.08946, 0.1201");
        }
      }

      internal_power() {
        when : "CLKN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08556, 0.08526, 0.08616, 0.09077, 0.1, 0.1141, 0.1339, 0.1595, \
                 0.1914, 0.2298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05571, 0.05557, 0.05645, 0.06008, 0.06716, 0.07852, 0.09447, \
                 0.1155, 0.1419, 0.1738");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.057, 0.076, 0.136, 0.244, 0.353, 0.503, 0.664, 0.856, 1.078, 1.33",\
                 "0.046, 0.063, 0.118, 0.218, 0.34, 0.483, 0.647, 0.84, 1.06, 1.309",\
                 "-0.023, -0.006, 0.047, 0.149, 0.269, 0.411, 0.574, 0.765, 0.983, 1.238",\
                 "-0.153, -0.131, -0.079, 0.023, 0.137, 0.279, 0.445, 0.63, 0.845, 1.094",\
                 "-0.315, -0.294, -0.243, -0.142, -0.033, 0.109, 0.268, 0.449, 0.669, 0.91",\
                 "-0.514, -0.495, -0.443, -0.344, -0.24, -0.103, 0.049, 0.233, 0.444, 0.685",\
                 "-0.748, -0.733, -0.682, -0.585, -0.49, -0.359, -0.202, -0.022, 0.18, 0.418",\
                 "-1.027, -1.013, -0.963, -0.876, -0.775, -0.646, -0.504, -0.332, -0.125, 0.113",\
                 "-1.348, -1.334, -1.281, -1.194, -1.105, -0.989, -0.848, -0.679, -0.475, -0.244",\
                 "-1.709, -1.692, -1.645, -1.569, -1.487, -1.37, -1.238, -1.07, -0.873, -0.649");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.223, 0.24, 0.307, 0.434, 0.591, 0.768, 0.985, 1.222, 1.484, 1.783",\
                 "0.21, 0.23, 0.29, 0.42, 0.572, 0.76, 0.972, 1.21, 1.478, 1.771",\
                 "0.181, 0.196, 0.26, 0.38, 0.539, 0.724, 0.936, 1.175, 1.446, 1.737",\
                 "0.165, 0.177, 0.24, 0.368, 0.523, 0.703, 0.915, 1.157, 1.421, 1.715",\
                 "0.176, 0.185, 0.253, 0.369, 0.532, 0.714, 0.92, 1.16, 1.426, 1.72",\
                 "0.217, 0.23, 0.291, 0.416, 0.574, 0.75, 0.958, 1.193, 1.46, 1.752",\
                 "0.305, 0.313, 0.377, 0.494, 0.648, 0.827, 1.034, 1.266, 1.533, 1.824",\
                 "0.436, 0.45, 0.504, 0.62, 0.765, 0.937, 1.145, 1.379, 1.644, 1.94",\
                 "0.625, 0.641, 0.688, 0.807, 0.939, 1.102, 1.303, 1.536, 1.797, 2.088",\
                 "0.878, 0.886, 0.934, 1.037, 1.158, 1.32, 1.516, 1.739, 2.001, 2.282");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.409, 0.331, 0.22, 0.087, -0.071, -0.251, -0.461, -0.696, -0.954",\
                 "0.438, 0.421, 0.35, 0.245, 0.1, -0.059, -0.236, -0.446, -0.675, -0.943",\
                 "0.506, 0.491, 0.417, 0.309, 0.175, 0.017, -0.166, -0.373, -0.602, -0.868",\
                 "0.653, 0.633, 0.561, 0.452, 0.307, 0.153, -0.026, -0.242, -0.469, -0.735",\
                 "0.844, 0.834, 0.756, 0.644, 0.505, 0.346, 0.155, -0.049, -0.281, -0.547",\
                 "1.09, 1.078, 1.005, 0.893, 0.749, 0.583, 0.396, 0.188, -0.051, -0.31",\
                 "1.39, 1.384, 1.299, 1.185, 1.04, 0.871, 0.686, 0.471, 0.233, -0.025",\
                 "1.753, 1.735, 1.659, 1.538, 1.39, 1.219, 1.022, 0.807, 0.57, 0.31",\
                 "2.16, 2.152, 2.067, 1.946, 1.786, 1.612, 1.415, 1.198, 0.957, 0.695",\
                 "2.631, 2.62, 2.542, 2.415, 2.245, 2.063, 1.867, 1.645, 1.404, 1.131");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.204, 0.138, 0.02, -0.129, -0.324, -0.529, -0.785, -1.054, -1.371",\
                 "0.233, 0.222, 0.154, 0.033, -0.116, -0.306, -0.527, -0.768, -1.045, -1.351",\
                 "0.275, 0.26, 0.197, 0.077, -0.077, -0.258, -0.474, -0.727, -1.008, -1.318",\
                 "0.335, 0.315, 0.248, 0.123, -0.036, -0.221, -0.435, -0.676, -0.958, -1.267",\
                 "0.36, 0.348, 0.278, 0.153, 0, -0.188, -0.399, -0.641, -0.925, -1.237",\
                 "0.376, 0.359, 0.29, 0.162, 0.004, -0.189, -0.399, -0.646, -0.921, -1.235",\
                 "0.352, 0.338, 0.266, 0.146, -0.024, -0.207, -0.42, -0.67, -0.949, -1.26",\
                 "0.296, 0.284, 0.211, 0.082, -0.076, -0.272, -0.481, -0.732, -1.009, -1.317",\
                 "0.202, 0.185, 0.114, -0.012, -0.182, -0.368, -0.582, -0.834, -1.113, -1.422",\
                 "0.059, 0.046, -0.027, -0.159, -0.323, -0.511, -0.73, -0.972, -1.244, -1.56");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.289 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
          values("0.3286, 0.3174, 0.3003, 0.2918, 0.2871, 0.2845, 0.2829, 0.2819, 0.2812, 0.2806",\
                 "0.3286, 0.3172, 0.3003, 0.2917, 0.287, 0.2845, 0.2829, 0.2818, 0.2811, 0.2806",\
                 "0.3285, 0.3171, 0.3002, 0.2916, 0.287, 0.2845, 0.2829, 0.2818, 0.281, 0.2806",\
                 "0.329, 0.3177, 0.3006, 0.292, 0.2874, 0.2849, 0.2833, 0.2822, 0.2815, 0.2809",\
                 "0.3302, 0.3189, 0.302, 0.2933, 0.2886, 0.286, 0.2844, 0.2834, 0.2826, 0.2821",\
                 "0.3316, 0.3205, 0.3036, 0.2947, 0.2901, 0.2875, 0.2858, 0.2848, 0.284, 0.2835",\
                 "0.3341, 0.3227, 0.3055, 0.2969, 0.2923, 0.2895, 0.2879, 0.2868, 0.2861, 0.2856",\
                 "0.3367, 0.3254, 0.3083, 0.2997, 0.2948, 0.2921, 0.2904, 0.2894, 0.2886, 0.2881",\
                 "0.34, 0.3286, 0.3114, 0.3024, 0.2977, 0.295, 0.2933, 0.2923, 0.2915, 0.291",\
                 "0.344, 0.3326, 0.3151, 0.3061, 0.3012, 0.2986, 0.2968, 0.2958, 0.295, 0.2945");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
          values("0.3637, 0.3581, 0.3503, 0.347, 0.3463, 0.3479, 0.3494, 0.3519, 0.3552, 0.3712",\
                 "0.3636, 0.3578, 0.3498, 0.3465, 0.3459, 0.3477, 0.3495, 0.3514, 0.355, 0.369",\
                 "0.3639, 0.3582, 0.3503, 0.347, 0.3462, 0.3477, 0.3506, 0.3527, 0.3551, 0.3726",\
                 "0.3647, 0.3589, 0.3512, 0.3478, 0.3479, 0.3489, 0.3504, 0.3532, 0.3556, 0.3749",\
                 "0.3663, 0.3603, 0.3527, 0.3494, 0.3492, 0.3503, 0.3521, 0.3536, 0.3582, 0.3789",\
                 "0.3678, 0.3621, 0.3548, 0.3512, 0.3505, 0.3522, 0.3537, 0.357, 0.3592, 0.3875",\
                 "0.3702, 0.3647, 0.3568, 0.3536, 0.3537, 0.3549, 0.3574, 0.3594, 0.3634, 0.4022",\
                 "0.3726, 0.3674, 0.36, 0.3554, 0.3569, 0.359, 0.3598, 0.3618, 0.3674, 0.4229",\
                 "0.3761, 0.3707, 0.3631, 0.3591, 0.3583, 0.3598, 0.3653, 0.3667, 0.3753, 0.4624",\
                 "0.3791, 0.3738, 0.3658, 0.3624, 0.361, 0.3617, 0.3649, 0.3733, 0.3911, 0.5356");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
          values("0.9739, 1.018, 1.128, 1.283, 1.479, 1.728, 2.048, 2.448, 2.936, 3.518",\
                 "0.9908, 1.034, 1.145, 1.3, 1.495, 1.745, 2.065, 2.465, 2.952, 3.534",\
                 "1.057, 1.1, 1.211, 1.366, 1.561, 1.811, 2.131, 2.531, 3.019, 3.6",\
                 "1.186, 1.229, 1.339, 1.495, 1.69, 1.94, 2.26, 2.659, 3.147, 3.729",\
                 "1.354, 1.398, 1.508, 1.663, 1.859, 2.108, 2.428, 2.828, 3.316, 3.897",\
                 "1.549, 1.593, 1.703, 1.859, 2.054, 2.304, 2.624, 3.023, 3.511, 4.093",\
                 "1.775, 1.819, 1.929, 2.084, 2.28, 2.53, 2.849, 3.249, 3.737, 4.319",\
                 "2.028, 2.072, 2.182, 2.338, 2.533, 2.783, 3.103, 3.503, 3.99, 4.572",\
                 "2.31, 2.354, 2.464, 2.62, 2.815, 3.065, 3.385, 3.785, 4.272, 4.855",\
                 "2.62, 2.664, 2.774, 2.929, 3.125, 3.375, 3.694, 4.094, 4.582, 5.163");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
          values("1.094, 1.138, 1.266, 1.491, 1.839, 2.328, 2.973, 3.785, 4.776, 5.959",\
                 "1.111, 1.155, 1.282, 1.507, 1.855, 2.345, 2.989, 3.801, 4.791, 5.973",\
                 "1.177, 1.221, 1.349, 1.574, 1.922, 2.411, 3.055, 3.868, 4.859, 6.039",\
                 "1.308, 1.352, 1.479, 1.704, 2.053, 2.542, 3.187, 3.998, 4.989, 6.173",\
                 "1.482, 1.526, 1.654, 1.879, 2.227, 2.716, 3.36, 4.173, 5.163, 6.344",\
                 "1.685, 1.728, 1.856, 2.081, 2.429, 2.919, 3.563, 4.375, 5.366, 6.549",\
                 "1.919, 1.963, 2.09, 2.316, 2.664, 3.154, 3.798, 4.61, 5.602, 6.783",\
                 "2.183, 2.228, 2.355, 2.58, 2.929, 3.418, 4.062, 4.874, 5.866, 7.05",\
                 "2.477, 2.521, 2.648, 2.873, 3.222, 3.711, 4.355, 5.166, 6.157, 7.338",\
                 "2.796, 2.84, 2.967, 3.192, 3.54, 4.03, 4.674, 5.487, 6.476, 7.657");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
          values("0.1414, 0.181, 0.2898, 0.4576, 0.7078, 1.083, 1.598, 2.265, 3.085, 4.065",\
                 "0.141, 0.181, 0.2898, 0.4578, 0.709, 1.084, 1.599, 2.265, 3.083, 4.064",\
                 "0.1408, 0.1806, 0.2898, 0.4576, 0.7092, 1.084, 1.599, 2.266, 3.085, 4.065",\
                 "0.1414, 0.181, 0.2896, 0.4578, 0.7076, 1.084, 1.598, 2.265, 3.085, 4.062",\
                 "0.141, 0.1812, 0.2902, 0.4584, 0.7088, 1.084, 1.599, 2.266, 3.085, 4.06",\
                 "0.1408, 0.1812, 0.2902, 0.4576, 0.7094, 1.083, 1.599, 2.266, 3.083, 4.062",\
                 "0.1416, 0.1814, 0.29, 0.458, 0.7084, 1.083, 1.599, 2.266, 3.085, 4.063",\
                 "0.1416, 0.1816, 0.2904, 0.458, 0.708, 1.084, 1.599, 2.262, 3.08, 4.06",\
                 "0.1416, 0.1828, 0.2908, 0.4586, 0.7086, 1.082, 1.598, 2.265, 3.08, 4.055",\
                 "0.1422, 0.1822, 0.2908, 0.4588, 0.7086, 1.083, 1.6, 2.264, 3.082, 4.056");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009891, 0.0411, 0.1007, 0.1936, 0.3238, 0.4953, 0.7113, 0.9749, 1.289");
          values("0.1204, 0.1764, 0.3616, 0.743, 1.356, 2.22, 3.352, 4.785, 6.532, 8.624",\
                 "0.121, 0.1764, 0.362, 0.743, 1.356, 2.22, 3.359, 4.787, 6.536, 8.62",\
                 "0.121, 0.176, 0.3616, 0.7428, 1.356, 2.22, 3.354, 4.783, 6.536, 8.62",\
                 "0.1206, 0.1758, 0.3618, 0.7438, 1.356, 2.216, 3.359, 4.785, 6.533, 8.621",\
                 "0.1208, 0.1762, 0.3614, 0.743, 1.356, 2.22, 3.359, 4.787, 6.536, 8.616",\
                 "0.12, 0.176, 0.3618, 0.7436, 1.356, 2.22, 3.359, 4.784, 6.537, 8.621",\
                 "0.1198, 0.1752, 0.3616, 0.7436, 1.354, 2.219, 3.352, 4.786, 6.535, 8.623",\
                 "0.1202, 0.1758, 0.3618, 0.7434, 1.355, 2.219, 3.355, 4.784, 6.535, 8.62",\
                 "0.1196, 0.1748, 0.3618, 0.7428, 1.356, 2.22, 3.351, 4.786, 6.53, 8.62",\
                 "0.1198, 0.1752, 0.3614, 0.7428, 1.354, 2.218, 3.356, 4.783, 6.532, 8.622");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnrnq_1) {
    area : 74.636800 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!RN" ;
      value : "0.0001955184" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&RN" ;
      value : "0.0002170014" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!RN" ;
      value : "0.0001965645" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&RN" ;
      value : "0.0003089064" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!RN" ;
      value : "0.0001788699" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&RN" ;
      value : "0.0001792164" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!RN" ;
      value : "0.0001794309" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&RN" ;
      value : "0.000228921" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003089064" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003279 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.827 ;
      min_pulse_width_high : 0.643 ;
      min_pulse_width_low : 0.755 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1377, 0.1373, 0.138, 0.1434, 0.155, 0.1735, 0.1995, 0.2336, \
                 0.2762, 0.3274");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09071, 0.09048, 0.09093, 0.09546, 0.105, 0.1209, 0.1438, 0.1738, \
                 0.2113, 0.2565");
        }
      }

      internal_power() {
        when : "!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1377, 0.1373, 0.138, 0.1434, 0.1551, 0.1736, 0.1995, 0.2336, \
                 0.2761, 0.3274");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09075, 0.09049, 0.09092, 0.09549, 0.105, 0.1209, 0.1438, 0.1738, \
                 0.2113, 0.2566");
        }
      }

      internal_power() {
        when : "D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2652, 0.2648, 0.2655, 0.272, 0.2851, 0.3054, 0.3335, 0.3701, \
                 0.4153, 0.4691");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1636, 0.1633, 0.1638, 0.1692, 0.1799, 0.1972, 0.2216, 0.2535, \
                 0.293, 0.3403");
        }
      }

      internal_power() {
        when : "D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1333, 0.133, 0.1336, 0.1391, 0.1508, 0.1693, 0.1954, 0.2295, \
                 0.2721, 0.3233");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08933, 0.08907, 0.08943, 0.09402, 0.1036, 0.1195, 0.1423, 0.1723, \
                 0.2098, 0.255");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN" ;

        fall_constraint(scalar) {
          values("0.518");
        }

        rise_constraint(scalar) {
          values("0.558");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN" ;

        fall_constraint(scalar) {
          values("0.755");
        }

        rise_constraint(scalar) {
          values("0.643");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN" ;

        fall_constraint(scalar) {
          values("1.183");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN" ;

        fall_constraint(scalar) {
          values("1.827");
        }
      }
    }

    pin(D) {
      capacitance : 0.002979 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02863, 0.02812, 0.03041, 0.03735, 0.04956, 0.06753, 0.09165, \
                 0.1224, 0.1603, 0.2055");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003506, 0.003018, 0.004217, 0.009643, 0.01995, 0.03553, 0.0567, \
                 0.08376, 0.1171, 0.1571");
        }
      }

      internal_power() {
        when : "!CLKN&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02866, 0.02813, 0.03041, 0.03738, 0.04959, 0.06749, 0.09166, \
                 0.1224, 0.1603, 0.2055");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003462, 0.003004, 0.004223, 0.009622, 0.01996, 0.03555, 0.05667, \
                 0.08377, 0.1171, 0.1571");
        }
      }

      internal_power() {
        when : "CLKN&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1056, 0.1053, 0.1067, 0.1123, 0.1236, 0.141, 0.1654, 0.197, \
                 0.2364, 0.2838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06653, 0.06622, 0.06715, 0.0716, 0.08042, 0.09488, 0.1153, 0.1423, \
                 0.1761, 0.2169");
        }
      }

      internal_power() {
        when : "CLKN&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.101, 0.1007, 0.1021, 0.1077, 0.1189, 0.1363, 0.1606, 0.1923, \
                 0.2315, 0.2787");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06945, 0.06914, 0.07011, 0.07454, 0.08336, 0.09779, 0.1183, \
                 0.1452, 0.1789, 0.2197");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.166, 0.186, 0.243, 0.353, 0.472, 0.618, 0.782, 0.969, 1.181, 1.429",\
                 "0.149, 0.166, 0.225, 0.333, 0.456, 0.601, 0.767, 0.947, 1.164, 1.409",\
                 "0.079, 0.095, 0.158, 0.265, 0.381, 0.526, 0.692, 0.876, 1.09, 1.335",\
                 "-0.026, -0.006, 0.048, 0.154, 0.269, 0.41, 0.575, 0.757, 0.976, 1.211",\
                 "-0.159, -0.139, -0.077, 0.022, 0.135, 0.276, 0.434, 0.612, 0.821, 1.059",\
                 "-0.307, -0.289, -0.232, -0.125, -0.021, 0.113, 0.271, 0.444, 0.648, 0.879",\
                 "-0.479, -0.459, -0.402, -0.295, -0.199, -0.069, 0.081, 0.251, 0.446, 0.668",\
                 "-0.673, -0.655, -0.596, -0.502, -0.404, -0.284, -0.134, 0.029, 0.226, 0.44",\
                 "-0.895, -0.876, -0.818, -0.722, -0.632, -0.523, -0.381, -0.219, -0.031, 0.188",\
                 "-1.142, -1.121, -1.066, -0.976, -0.897, -0.788, -0.653, -0.503, -0.314, -0.107");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.233, 0.297, 0.426, 0.583, 0.762, 0.968, 1.205, 1.46, 1.746",\
                 "0.204, 0.222, 0.284, 0.411, 0.564, 0.748, 0.955, 1.192, 1.453, 1.734",\
                 "0.165, 0.178, 0.244, 0.37, 0.53, 0.711, 0.927, 1.156, 1.413, 1.7",\
                 "0.138, 0.148, 0.211, 0.337, 0.496, 0.681, 0.895, 1.124, 1.386, 1.67",\
                 "0.124, 0.139, 0.201, 0.322, 0.485, 0.67, 0.874, 1.108, 1.37, 1.655",\
                 "0.125, 0.136, 0.202, 0.329, 0.487, 0.669, 0.884, 1.117, 1.376, 1.662",\
                 "0.162, 0.167, 0.232, 0.354, 0.515, 0.699, 0.912, 1.149, 1.409, 1.696",\
                 "0.224, 0.235, 0.292, 0.413, 0.573, 0.752, 0.959, 1.202, 1.462, 1.756",\
                 "0.323, 0.328, 0.39, 0.51, 0.655, 0.829, 1.037, 1.279, 1.54, 1.827",\
                 "0.462, 0.472, 0.527, 0.629, 0.777, 0.945, 1.152, 1.388, 1.649, 1.935");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.338, 0.313, 0.246, 0.138, 0.005, -0.146, -0.319, -0.514, -0.736, -0.98",\
                 "0.35, 0.333, 0.261, 0.158, 0.023, -0.129, -0.304, -0.494, -0.716, -0.964",\
                 "0.42, 0.402, 0.331, 0.222, 0.097, -0.06, -0.23, -0.429, -0.644, -0.895",\
                 "0.553, 0.527, 0.457, 0.345, 0.212, 0.065, -0.105, -0.309, -0.53, -0.774",\
                 "0.717, 0.695, 0.626, 0.512, 0.377, 0.224, 0.046, -0.145, -0.367, -0.617",\
                 "0.911, 0.895, 0.82, 0.71, 0.574, 0.416, 0.241, 0.045, -0.177, -0.42",\
                 "1.153, 1.127, 1.054, 0.945, 0.8, 0.648, 0.468, 0.276, 0.05, -0.19",\
                 "1.417, 1.401, 1.324, 1.211, 1.071, 0.907, 0.729, 0.532, 0.314, 0.071",\
                 "1.722, 1.702, 1.628, 1.509, 1.37, 1.204, 1.025, 0.827, 0.607, 0.361",\
                 "2.064, 2.043, 1.968, 1.844, 1.703, 1.539, 1.36, 1.158, 0.936, 0.686");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.298, 0.279, 0.213, 0.101, -0.047, -0.221, -0.42, -0.655, -0.895, -1.178",\
                 "0.309, 0.294, 0.225, 0.11, -0.039, -0.212, -0.407, -0.643, -0.884, -1.157",\
                 "0.356, 0.337, 0.276, 0.153, 0.01, -0.168, -0.365, -0.602, -0.842, -1.114",\
                 "0.416, 0.41, 0.335, 0.215, 0.064, -0.11, -0.305, -0.543, -0.783, -1.054",\
                 "0.479, 0.463, 0.391, 0.269, 0.115, -0.065, -0.267, -0.493, -0.736, -1.017",\
                 "0.52, 0.506, 0.437, 0.308, 0.153, -0.032, -0.237, -0.469, -0.722, -0.995",\
                 "0.546, 0.527, 0.456, 0.336, 0.171, -0.018, -0.218, -0.456, -0.712, -0.996",\
                 "0.55, 0.529, 0.46, 0.336, 0.175, -0.011, -0.227, -0.463, -0.726, -1.006",\
                 "0.528, 0.506, 0.437, 0.312, 0.149, -0.038, -0.257, -0.496, -0.755, -1.044",\
                 "0.471, 0.455, 0.386, 0.255, 0.094, -0.097, -0.309, -0.549, -0.812, -1.105");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3458 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1212, 0.1205, 0.1199, 0.1197, 0.1197, 0.1197, 0.1196, 0.1196, 0.1196, 0.1196",\
                 "0.1212, 0.1206, 0.12, 0.1198, 0.1197, 0.1197, 0.1197, 0.1197, 0.1197, 0.1197",\
                 "0.1211, 0.1205, 0.1199, 0.1197, 0.1197, 0.1196, 0.1196, 0.1196, 0.1196, 0.1196",\
                 "0.1215, 0.1209, 0.1202, 0.12, 0.12, 0.12, 0.12, 0.1199, 0.1199, 0.1199",\
                 "0.1225, 0.1219, 0.1212, 0.1211, 0.121, 0.1209, 0.1209, 0.1209, 0.1209, 0.1209",\
                 "0.1237, 0.1231, 0.1225, 0.1223, 0.1222, 0.1222, 0.1221, 0.1222, 0.1221, 0.1221",\
                 "0.1258, 0.1251, 0.1245, 0.1243, 0.1242, 0.1241, 0.1241, 0.1241, 0.1241, 0.1241",\
                 "0.128, 0.1274, 0.1267, 0.1264, 0.1263, 0.1263, 0.1263, 0.1263, 0.1263, 0.1262",\
                 "0.1309, 0.1303, 0.1295, 0.1292, 0.1291, 0.1291, 0.1291, 0.1291, 0.1291, 0.1291",\
                 "0.1342, 0.1335, 0.1327, 0.1324, 0.1323, 0.1323, 0.1322, 0.1322, 0.1322, 0.1322");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1852, 0.184, 0.1818, 0.1805, 0.1801, 0.1803, 0.1807, 0.1813, 0.1822, 0.187",\
                 "0.1853, 0.184, 0.1818, 0.1806, 0.1802, 0.1805, 0.1807, 0.1814, 0.1822, 0.1869",\
                 "0.1854, 0.184, 0.1819, 0.1806, 0.1802, 0.1805, 0.1808, 0.1814, 0.1822, 0.1871",\
                 "0.1863, 0.185, 0.1828, 0.1815, 0.1811, 0.1816, 0.1817, 0.1823, 0.1831, 0.1883",\
                 "0.1878, 0.1865, 0.1843, 0.1833, 0.1828, 0.1831, 0.1834, 0.184, 0.1849, 0.1913",\
                 "0.1899, 0.1886, 0.1864, 0.1852, 0.1848, 0.1852, 0.1854, 0.1859, 0.1871, 0.1949",\
                 "0.1921, 0.1908, 0.1885, 0.1875, 0.1874, 0.1874, 0.1878, 0.1884, 0.1896, 0.2",\
                 "0.1948, 0.1936, 0.1914, 0.19, 0.19, 0.1907, 0.1907, 0.1909, 0.1928, 0.2075",\
                 "0.1976, 0.1963, 0.1942, 0.1929, 0.1924, 0.1928, 0.1944, 0.1944, 0.1967, 0.2198",\
                 "0.2006, 0.1992, 0.1971, 0.1961, 0.1952, 0.1955, 0.1964, 0.1982, 0.203, 0.2427");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.2215, 0.221, 0.2205, 0.2203, 0.2203, 0.2202, 0.2202, 0.2202, 0.2202, 0.2202",\
                 "0.2219, 0.2214, 0.221, 0.2208, 0.2207, 0.2207, 0.2206, 0.2206, 0.2206, 0.2206",\
                 "0.2228, 0.2223, 0.2217, 0.2216, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215",\
                 "0.2326, 0.2315, 0.2301, 0.2294, 0.2291, 0.2289, 0.2288, 0.2288, 0.2287, 0.2287",\
                 "0.2544, 0.2527, 0.2502, 0.2486, 0.2478, 0.2473, 0.247, 0.2469, 0.2468, 0.2467",\
                 "0.2907, 0.2883, 0.2844, 0.2816, 0.28, 0.279, 0.2784, 0.2782, 0.278, 0.2778",\
                 "0.34, 0.337, 0.3315, 0.3274, 0.3248, 0.3233, 0.3223, 0.3217, 0.3213, 0.321",\
                 "0.4009, 0.3972, 0.3904, 0.3848, 0.3811, 0.3787, 0.3772, 0.3763, 0.3755, 0.3751",\
                 "0.4714, 0.4673, 0.4588, 0.4519, 0.4469, 0.4436, 0.4414, 0.44, 0.439, 0.4383",\
                 "0.5506, 0.546, 0.5361, 0.5276, 0.5213, 0.5169, 0.514, 0.512, 0.5106, 0.5096");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.2215, 0.221, 0.2205, 0.2203, 0.2203, 0.2202, 0.2202, 0.2202, 0.2202, 0.2202",\
                 "0.2219, 0.2214, 0.221, 0.2208, 0.2207, 0.2207, 0.2206, 0.2206, 0.2206, 0.2206",\
                 "0.2228, 0.2223, 0.2217, 0.2216, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215",\
                 "0.2326, 0.2315, 0.2301, 0.2294, 0.2291, 0.2289, 0.2288, 0.2288, 0.2287, 0.2287",\
                 "0.2544, 0.2527, 0.2502, 0.2486, 0.2478, 0.2473, 0.247, 0.2469, 0.2468, 0.2467",\
                 "0.2907, 0.2883, 0.2844, 0.2816, 0.28, 0.279, 0.2784, 0.2782, 0.278, 0.2778",\
                 "0.34, 0.337, 0.3315, 0.3274, 0.3248, 0.3233, 0.3223, 0.3217, 0.3213, 0.321",\
                 "0.4009, 0.3972, 0.3904, 0.3848, 0.3811, 0.3787, 0.3772, 0.3763, 0.3755, 0.3751",\
                 "0.4714, 0.4673, 0.4588, 0.4519, 0.4469, 0.4436, 0.4414, 0.44, 0.439, 0.4383",\
                 "0.5506, 0.546, 0.5361, 0.5276, 0.5213, 0.5169, 0.514, 0.512, 0.5106, 0.5096");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.2215, 0.2211, 0.2206, 0.2204, 0.2203, 0.2203, 0.2202, 0.2202, 0.2202, 0.2202",\
                 "0.2219, 0.2214, 0.221, 0.2208, 0.2207, 0.2207, 0.2207, 0.2206, 0.2206, 0.2206",\
                 "0.2228, 0.2223, 0.2217, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215",\
                 "0.2326, 0.2315, 0.2301, 0.2294, 0.2291, 0.2289, 0.2288, 0.2288, 0.2288, 0.2287",\
                 "0.2545, 0.2528, 0.2502, 0.2486, 0.2477, 0.2473, 0.247, 0.2469, 0.2468, 0.2467",\
                 "0.2906, 0.2882, 0.2843, 0.2815, 0.2799, 0.279, 0.2784, 0.2781, 0.2779, 0.2777",\
                 "0.34, 0.337, 0.3316, 0.3275, 0.3249, 0.3233, 0.3223, 0.3218, 0.3213, 0.321",\
                 "0.4009, 0.3972, 0.3903, 0.3848, 0.3811, 0.3787, 0.3771, 0.3762, 0.3756, 0.3751",\
                 "0.4715, 0.4673, 0.4589, 0.4519, 0.447, 0.4437, 0.4414, 0.44, 0.439, 0.4384",\
                 "0.5506, 0.5461, 0.5362, 0.5276, 0.5213, 0.5169, 0.514, 0.512, 0.5106, 0.5097");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.2215, 0.2211, 0.2206, 0.2204, 0.2203, 0.2203, 0.2202, 0.2202, 0.2202, 0.2202",\
                 "0.2219, 0.2214, 0.221, 0.2208, 0.2207, 0.2207, 0.2207, 0.2206, 0.2206, 0.2206",\
                 "0.2228, 0.2223, 0.2217, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215, 0.2215",\
                 "0.2326, 0.2315, 0.2301, 0.2294, 0.2291, 0.2289, 0.2288, 0.2288, 0.2288, 0.2287",\
                 "0.2545, 0.2528, 0.2502, 0.2486, 0.2477, 0.2473, 0.247, 0.2469, 0.2468, 0.2467",\
                 "0.2906, 0.2882, 0.2843, 0.2815, 0.2799, 0.279, 0.2784, 0.2781, 0.2779, 0.2777",\
                 "0.34, 0.337, 0.3316, 0.3275, 0.3249, 0.3233, 0.3223, 0.3218, 0.3213, 0.321",\
                 "0.4009, 0.3972, 0.3903, 0.3848, 0.3811, 0.3787, 0.3771, 0.3762, 0.3756, 0.3751",\
                 "0.4715, 0.4673, 0.4589, 0.4519, 0.447, 0.4437, 0.4414, 0.44, 0.439, 0.4384",\
                 "0.5506, 0.5461, 0.5362, 0.5276, 0.5213, 0.5169, 0.514, 0.512, 0.5106, 0.5097");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1286, 0.1281, 0.1278, 0.1275, 0.1275, 0.1274, 0.1274, 0.1274, 0.1274, 0.1274",\
                 "0.1286, 0.1282, 0.1279, 0.1276, 0.1276, 0.1275, 0.1275, 0.1275, 0.1275, 0.1275",\
                 "0.1297, 0.1292, 0.1287, 0.1285, 0.1284, 0.1284, 0.1284, 0.1284, 0.1284, 0.1284",\
                 "0.1372, 0.1362, 0.1348, 0.1341, 0.1338, 0.1336, 0.1336, 0.1336, 0.1335, 0.1335",\
                 "0.1519, 0.1503, 0.1478, 0.1462, 0.1454, 0.145, 0.1448, 0.1446, 0.1445, 0.1445",\
                 "0.1738, 0.1716, 0.1678, 0.165, 0.1635, 0.1627, 0.1621, 0.1618, 0.1616, 0.1615",\
                 "0.2021, 0.1991, 0.1938, 0.1898, 0.1873, 0.1858, 0.1849, 0.1843, 0.1839, 0.1837",\
                 "0.2358, 0.2322, 0.2253, 0.2199, 0.2163, 0.214, 0.2126, 0.2117, 0.2111, 0.2107",\
                 "0.274, 0.2696, 0.2614, 0.2545, 0.2496, 0.2465, 0.2444, 0.2431, 0.2422, 0.2416",\
                 "0.3159, 0.3111, 0.3015, 0.2931, 0.2871, 0.2829, 0.2802, 0.2784, 0.2771, 0.2762");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1286, 0.1281, 0.1278, 0.1275, 0.1275, 0.1274, 0.1274, 0.1274, 0.1274, 0.1274",\
                 "0.1286, 0.1282, 0.1279, 0.1276, 0.1276, 0.1275, 0.1275, 0.1275, 0.1275, 0.1275",\
                 "0.1297, 0.1292, 0.1287, 0.1285, 0.1284, 0.1284, 0.1284, 0.1284, 0.1284, 0.1284",\
                 "0.1372, 0.1362, 0.1348, 0.1341, 0.1338, 0.1336, 0.1336, 0.1336, 0.1335, 0.1335",\
                 "0.1519, 0.1503, 0.1478, 0.1462, 0.1454, 0.145, 0.1448, 0.1446, 0.1445, 0.1445",\
                 "0.1738, 0.1716, 0.1678, 0.165, 0.1635, 0.1627, 0.1621, 0.1618, 0.1616, 0.1615",\
                 "0.2021, 0.1991, 0.1938, 0.1898, 0.1873, 0.1858, 0.1849, 0.1843, 0.1839, 0.1837",\
                 "0.2358, 0.2322, 0.2253, 0.2199, 0.2163, 0.214, 0.2126, 0.2117, 0.2111, 0.2107",\
                 "0.274, 0.2696, 0.2614, 0.2545, 0.2496, 0.2465, 0.2444, 0.2431, 0.2422, 0.2416",\
                 "0.3159, 0.3111, 0.3015, 0.2931, 0.2871, 0.2829, 0.2802, 0.2784, 0.2771, 0.2762");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1362, 0.1358, 0.1355, 0.1353, 0.1352, 0.1352, 0.1351, 0.1351, 0.1351, 0.1351",\
                 "0.1366, 0.1362, 0.1358, 0.1356, 0.1355, 0.1355, 0.1355, 0.1355, 0.1355, 0.1355",\
                 "0.1376, 0.1371, 0.1366, 0.1364, 0.1364, 0.1364, 0.1364, 0.1364, 0.1364, 0.1364",\
                 "0.1452, 0.1441, 0.1427, 0.142, 0.1418, 0.1416, 0.1416, 0.1415, 0.1415, 0.1415",\
                 "0.1598, 0.1582, 0.1557, 0.1541, 0.1533, 0.1529, 0.1527, 0.1526, 0.1525, 0.1524",\
                 "0.1819, 0.1795, 0.1758, 0.1731, 0.1714, 0.1705, 0.17, 0.1697, 0.1696, 0.1694",\
                 "0.2101, 0.207, 0.2018, 0.1977, 0.1952, 0.1937, 0.1928, 0.1922, 0.1918, 0.1916",\
                 "0.2437, 0.24, 0.2333, 0.2278, 0.2241, 0.2219, 0.2205, 0.2196, 0.2189, 0.2185",\
                 "0.2819, 0.2775, 0.2692, 0.2624, 0.2576, 0.2544, 0.2524, 0.251, 0.2502, 0.2495",\
                 "0.3239, 0.3191, 0.3093, 0.301, 0.295, 0.2909, 0.2881, 0.2863, 0.285, 0.2842");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1362, 0.1358, 0.1355, 0.1353, 0.1352, 0.1352, 0.1351, 0.1351, 0.1351, 0.1351",\
                 "0.1366, 0.1362, 0.1358, 0.1356, 0.1355, 0.1355, 0.1355, 0.1355, 0.1355, 0.1355",\
                 "0.1376, 0.1371, 0.1366, 0.1364, 0.1364, 0.1364, 0.1364, 0.1364, 0.1364, 0.1364",\
                 "0.1452, 0.1441, 0.1427, 0.142, 0.1418, 0.1416, 0.1416, 0.1415, 0.1415, 0.1415",\
                 "0.1598, 0.1582, 0.1557, 0.1541, 0.1533, 0.1529, 0.1527, 0.1526, 0.1525, 0.1524",\
                 "0.1819, 0.1795, 0.1758, 0.1731, 0.1714, 0.1705, 0.17, 0.1697, 0.1696, 0.1694",\
                 "0.2101, 0.207, 0.2018, 0.1977, 0.1952, 0.1937, 0.1928, 0.1922, 0.1918, 0.1916",\
                 "0.2437, 0.24, 0.2333, 0.2278, 0.2241, 0.2219, 0.2205, 0.2196, 0.2189, 0.2185",\
                 "0.2819, 0.2775, 0.2692, 0.2624, 0.2576, 0.2544, 0.2524, 0.251, 0.2502, 0.2495",\
                 "0.3239, 0.3191, 0.3093, 0.301, 0.295, 0.2909, 0.2881, 0.2863, 0.285, 0.2842");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.8067, 0.8385, 0.9272, 1.063, 1.256, 1.522, 1.871, 2.311, 2.849, 3.488",\
                 "0.8238, 0.8557, 0.9443, 1.08, 1.273, 1.539, 1.888, 2.328, 2.866, 3.505",\
                 "0.8901, 0.9219, 1.01, 1.146, 1.339, 1.605, 1.954, 2.395, 2.932, 3.572",\
                 "1.018, 1.05, 1.139, 1.274, 1.467, 1.733, 2.083, 2.523, 3.06, 3.7",\
                 "1.185, 1.217, 1.306, 1.441, 1.634, 1.9, 2.249, 2.69, 3.227, 3.867",\
                 "1.377, 1.409, 1.497, 1.633, 1.826, 2.092, 2.441, 2.881, 3.419, 4.059",\
                 "1.595, 1.627, 1.715, 1.851, 2.044, 2.31, 2.659, 3.099, 3.636, 4.277",\
                 "1.837, 1.869, 1.957, 2.093, 2.286, 2.552, 2.902, 3.341, 3.878, 4.519",\
                 "2.103, 2.135, 2.224, 2.36, 2.553, 2.819, 3.168, 3.608, 4.146, 4.786",\
                 "2.394, 2.426, 2.515, 2.651, 2.844, 3.11, 3.459, 3.899, 4.436, 5.077");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("1.226, 1.272, 1.408, 1.64, 1.988, 2.474, 3.116, 3.923, 4.91, 6.086",\
                 "1.243, 1.289, 1.426, 1.657, 2.005, 2.492, 3.133, 3.94, 4.927, 6.103",\
                 "1.31, 1.355, 1.492, 1.723, 2.071, 2.558, 3.199, 4.006, 4.993, 6.17",\
                 "1.44, 1.486, 1.622, 1.854, 2.201, 2.688, 3.329, 4.137, 5.124, 6.299",\
                 "1.614, 1.659, 1.796, 2.027, 2.375, 2.863, 3.503, 4.31, 5.298, 6.474",\
                 "1.815, 1.861, 1.998, 2.229, 2.577, 3.064, 3.704, 4.512, 5.497, 6.675",\
                 "2.046, 2.091, 2.228, 2.459, 2.808, 3.294, 3.935, 4.743, 5.729, 6.907",\
                 "2.304, 2.35, 2.486, 2.718, 3.066, 3.553, 4.193, 5.001, 5.988, 7.162",\
                 "2.587, 2.632, 2.769, 3.001, 3.349, 3.836, 4.476, 5.284, 6.269, 7.444",\
                 "2.894, 2.939, 3.077, 3.308, 3.656, 4.143, 4.783, 5.591, 6.576, 7.75");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1092, 0.1424, 0.2414, 0.4227, 0.7236, 1.165, 1.751, 2.489, 3.395, 4.473",\
                 "0.1091, 0.1425, 0.2419, 0.4232, 0.7238, 1.165, 1.751, 2.49, 3.396, 4.473",\
                 "0.1094, 0.1426, 0.2416, 0.4226, 0.7238, 1.165, 1.75, 2.49, 3.396, 4.473",\
                 "0.1092, 0.1426, 0.2414, 0.423, 0.7244, 1.165, 1.751, 2.492, 3.393, 4.473",\
                 "0.1092, 0.1428, 0.242, 0.4232, 0.7252, 1.165, 1.749, 2.491, 3.391, 4.472",\
                 "0.109, 0.1426, 0.2422, 0.423, 0.7236, 1.165, 1.751, 2.491, 3.395, 4.466",\
                 "0.1096, 0.143, 0.242, 0.4236, 0.7248, 1.163, 1.747, 2.486, 3.392, 4.472",\
                 "0.1098, 0.1436, 0.2428, 0.423, 0.7254, 1.164, 1.748, 2.485, 3.388, 4.465",\
                 "0.1102, 0.1438, 0.2428, 0.4238, 0.724, 1.165, 1.748, 2.487, 3.387, 4.46",\
                 "0.111, 0.1444, 0.243, 0.4234, 0.724, 1.165, 1.749, 2.49, 3.39, 4.463");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1652, 0.2238, 0.4158, 0.7814, 1.38, 2.24, 3.364, 4.79, 6.528, 8.607",\
                 "0.1648, 0.224, 0.4162, 0.7814, 1.38, 2.238, 3.364, 4.79, 6.529, 8.607",\
                 "0.165, 0.224, 0.4162, 0.7814, 1.38, 2.238, 3.364, 4.79, 6.529, 8.607",\
                 "0.1648, 0.2236, 0.416, 0.7814, 1.381, 2.237, 3.366, 4.79, 6.527, 8.606",\
                 "0.1648, 0.2238, 0.4162, 0.781, 1.381, 2.239, 3.37, 4.79, 6.53, 8.607",\
                 "0.164, 0.2232, 0.4162, 0.782, 1.381, 2.237, 3.366, 4.791, 6.526, 8.604",\
                 "0.164, 0.2232, 0.4162, 0.7816, 1.38, 2.24, 3.365, 4.788, 6.529, 8.6",\
                 "0.1644, 0.223, 0.4152, 0.781, 1.38, 2.237, 3.364, 4.787, 6.53, 8.602",\
                 "0.164, 0.2232, 0.4154, 0.7812, 1.381, 2.235, 3.365, 4.787, 6.525, 8.599",\
                 "0.1644, 0.2232, 0.4154, 0.781, 1.383, 2.238, 3.367, 4.788, 6.522, 8.594");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.2697, 0.3019, 0.3909, 0.5265, 0.7204, 0.99, 1.34, 1.78, 2.317, 2.957",\
                 "0.2868, 0.3191, 0.408, 0.5436, 0.7375, 1.007, 1.357, 1.797, 2.334, 2.974",\
                 "0.3533, 0.3853, 0.4742, 0.6099, 0.804, 1.074, 1.424, 1.863, 2.4, 3.04",\
                 "0.4701, 0.5039, 0.5953, 0.7319, 0.9263, 1.195, 1.545, 1.985, 2.522, 3.161",\
                 "0.6061, 0.6435, 0.7418, 0.8838, 1.08, 1.349, 1.697, 2.137, 2.674, 3.314",\
                 "0.7598, 0.8017, 0.9084, 1.057, 1.256, 1.524, 1.872, 2.311, 2.848, 3.488",\
                 "0.9306, 0.9769, 1.094, 1.251, 1.454, 1.721, 2.069, 2.508, 3.044, 3.684",\
                 "1.119, 1.17, 1.298, 1.466, 1.675, 1.943, 2.289, 2.728, 3.263, 3.903",\
                 "1.326, 1.381, 1.52, 1.699, 1.917, 2.187, 2.533, 2.97, 3.506, 4.145",\
                 "1.553, 1.613, 1.762, 1.954, 2.181, 2.456, 2.801, 3.237, 3.771, 4.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.109, 0.1423, 0.2412, 0.4228, 0.7292, 1.171, 1.75, 2.485, 3.386, 4.465",\
                 "0.1088, 0.1423, 0.2412, 0.4228, 0.7292, 1.171, 1.749, 2.484, 3.389, 4.464",\
                 "0.1093, 0.1428, 0.2419, 0.423, 0.7297, 1.171, 1.749, 2.484, 3.39, 4.466",\
                 "0.1231, 0.155, 0.2497, 0.4266, 0.7308, 1.17, 1.748, 2.485, 3.387, 4.461",\
                 "0.1462, 0.1784, 0.272, 0.4418, 0.737, 1.169, 1.748, 2.486, 3.386, 4.464",\
                 "0.174, 0.2086, 0.299, 0.4612, 0.7452, 1.172, 1.749, 2.484, 3.389, 4.465",\
                 "0.204, 0.242, 0.3334, 0.4884, 0.758, 1.175, 1.75, 2.484, 3.387, 4.466",\
                 "0.2362, 0.2782, 0.3726, 0.523, 0.778, 1.181, 1.75, 2.485, 3.386, 4.46",\
                 "0.2688, 0.3158, 0.4156, 0.5636, 0.8066, 1.191, 1.753, 2.485, 3.385, 4.46",\
                 "0.3014, 0.3534, 0.4602, 0.6082, 0.842, 1.208, 1.756, 2.485, 3.387, 4.46");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.2697, 0.302, 0.3909, 0.5265, 0.7204, 0.99, 1.34, 1.78, 2.317, 2.957",\
                 "0.2868, 0.3191, 0.408, 0.5436, 0.7375, 1.007, 1.357, 1.797, 2.334, 2.974",\
                 "0.3533, 0.3854, 0.4743, 0.6099, 0.804, 1.074, 1.424, 1.863, 2.4, 3.04",\
                 "0.4702, 0.5039, 0.5953, 0.7319, 0.9263, 1.195, 1.545, 1.985, 2.522, 3.161",\
                 "0.6061, 0.6436, 0.7417, 0.8837, 1.08, 1.349, 1.697, 2.137, 2.674, 3.314",\
                 "0.7601, 0.8019, 0.9085, 1.057, 1.256, 1.524, 1.872, 2.311, 2.848, 3.488",\
                 "0.9307, 0.9769, 1.094, 1.251, 1.454, 1.721, 2.069, 2.508, 3.044, 3.684",\
                 "1.119, 1.17, 1.298, 1.465, 1.674, 1.943, 2.29, 2.728, 3.264, 3.903",\
                 "1.326, 1.381, 1.52, 1.699, 1.917, 2.187, 2.533, 2.97, 3.506, 4.145",\
                 "1.553, 1.613, 1.762, 1.954, 2.181, 2.456, 2.801, 3.237, 3.771, 4.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1086, 0.1423, 0.2412, 0.4228, 0.7292, 1.171, 1.75, 2.486, 3.389, 4.467",\
                 "0.1088, 0.1423, 0.2412, 0.4228, 0.7293, 1.171, 1.749, 2.484, 3.389, 4.465",\
                 "0.1093, 0.1427, 0.2416, 0.423, 0.7297, 1.171, 1.749, 2.486, 3.388, 4.464",\
                 "0.1229, 0.1551, 0.2499, 0.4266, 0.731, 1.17, 1.747, 2.485, 3.387, 4.461",\
                 "0.1464, 0.1788, 0.272, 0.442, 0.737, 1.169, 1.748, 2.485, 3.389, 4.467",\
                 "0.1734, 0.2084, 0.2992, 0.461, 0.7456, 1.172, 1.749, 2.485, 3.385, 4.468",\
                 "0.204, 0.2424, 0.3334, 0.4884, 0.7578, 1.175, 1.75, 2.484, 3.388, 4.463",\
                 "0.2362, 0.2782, 0.373, 0.5232, 0.778, 1.18, 1.751, 2.486, 3.385, 4.461",\
                 "0.2694, 0.3162, 0.4156, 0.5634, 0.8064, 1.191, 1.753, 2.485, 3.385, 4.459",\
                 "0.3024, 0.3534, 0.4606, 0.608, 0.8418, 1.208, 1.756, 2.486, 3.388, 4.46");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.2692, 0.301, 0.3888, 0.5249, 0.7186, 0.9845, 1.333, 1.774, 2.311, 2.951",\
                 "0.2863, 0.318, 0.4059, 0.542, 0.7358, 1.002, 1.351, 1.791, 2.328, 2.968",\
                 "0.3527, 0.3845, 0.4722, 0.6082, 0.802, 1.068, 1.417, 1.857, 2.394, 3.034",\
                 "0.4697, 0.5029, 0.5929, 0.7296, 0.9231, 1.189, 1.538, 1.978, 2.515, 3.155",\
                 "0.6057, 0.6422, 0.7387, 0.8797, 1.073, 1.338, 1.687, 2.127, 2.663, 3.305",\
                 "0.759, 0.7995, 0.9033, 1.049, 1.242, 1.507, 1.855, 2.294, 2.832, 3.472",\
                 "0.9297, 0.9742, 1.087, 1.237, 1.43, 1.693, 2.041, 2.48, 3.016, 3.656",\
                 "1.118, 1.166, 1.288, 1.444, 1.636, 1.898, 2.245, 2.683, 3.219, 3.859",\
                 "1.324, 1.377, 1.507, 1.668, 1.86, 2.121, 2.466, 2.904, 3.439, 4.078",\
                 "1.551, 1.607, 1.746, 1.911, 2.102, 2.361, 2.705, 3.141, 3.676, 4.315");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1079, 0.1404, 0.2403, 0.4236, 0.7233, 1.161, 1.747, 2.487, 3.388, 4.471",\
                 "0.1079, 0.1406, 0.2405, 0.4236, 0.7233, 1.16, 1.747, 2.486, 3.388, 4.471",\
                 "0.1086, 0.1409, 0.2408, 0.4236, 0.7233, 1.161, 1.747, 2.487, 3.39, 4.468",\
                 "0.1217, 0.1525, 0.2482, 0.4258, 0.7234, 1.161, 1.747, 2.486, 3.388, 4.472",\
                 "0.144, 0.1754, 0.2692, 0.4368, 0.726, 1.162, 1.746, 2.484, 3.392, 4.473",\
                 "0.1712, 0.2028, 0.2938, 0.4486, 0.729, 1.162, 1.747, 2.485, 3.389, 4.472",\
                 "0.2, 0.2336, 0.3226, 0.4624, 0.7316, 1.163, 1.748, 2.484, 3.387, 4.466",\
                 "0.2292, 0.2666, 0.3556, 0.4782, 0.7354, 1.164, 1.746, 2.485, 3.385, 4.459",\
                 "0.2588, 0.2986, 0.3886, 0.4956, 0.7386, 1.164, 1.748, 2.484, 3.389, 4.459",\
                 "0.2876, 0.3308, 0.4214, 0.5106, 0.7424, 1.164, 1.748, 2.484, 3.39, 4.46");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.2692, 0.301, 0.3888, 0.5249, 0.7186, 0.9845, 1.334, 1.774, 2.311, 2.951",\
                 "0.2863, 0.318, 0.4059, 0.542, 0.7358, 1.002, 1.351, 1.791, 2.328, 2.968",\
                 "0.3528, 0.3845, 0.4721, 0.6082, 0.802, 1.068, 1.417, 1.857, 2.394, 3.036",\
                 "0.4696, 0.5029, 0.5929, 0.7296, 0.923, 1.189, 1.538, 1.978, 2.515, 3.155",\
                 "0.6059, 0.6422, 0.7388, 0.8797, 1.073, 1.338, 1.687, 2.126, 2.664, 3.306",\
                 "0.7594, 0.7998, 0.9037, 1.049, 1.242, 1.507, 1.855, 2.294, 2.832, 3.472",\
                 "0.9296, 0.9742, 1.087, 1.237, 1.43, 1.693, 2.041, 2.48, 3.016, 3.656",\
                 "1.118, 1.166, 1.288, 1.444, 1.636, 1.898, 2.245, 2.683, 3.219, 3.859",\
                 "1.324, 1.377, 1.508, 1.668, 1.86, 2.121, 2.466, 2.904, 3.439, 4.079",\
                 "1.551, 1.606, 1.745, 1.911, 2.102, 2.361, 2.705, 3.141, 3.676, 4.315");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1075, 0.1404, 0.2403, 0.4235, 0.7233, 1.161, 1.747, 2.486, 3.389, 4.468",\
                 "0.1079, 0.1405, 0.2405, 0.4236, 0.7233, 1.16, 1.747, 2.484, 3.389, 4.47",\
                 "0.1081, 0.1407, 0.2407, 0.4237, 0.7233, 1.161, 1.747, 2.487, 3.39, 4.472",\
                 "0.1221, 0.1524, 0.2485, 0.426, 0.7232, 1.161, 1.747, 2.487, 3.39, 4.467",\
                 "0.1442, 0.175, 0.2696, 0.4364, 0.7258, 1.161, 1.745, 2.486, 3.394, 4.473",\
                 "0.1704, 0.2026, 0.2938, 0.4486, 0.729, 1.162, 1.747, 2.486, 3.388, 4.465",\
                 "0.1994, 0.2342, 0.3228, 0.4622, 0.7316, 1.164, 1.748, 2.484, 3.387, 4.465",\
                 "0.2298, 0.2662, 0.3554, 0.4782, 0.7352, 1.164, 1.746, 2.485, 3.385, 4.46",\
                 "0.26, 0.299, 0.3888, 0.4952, 0.7394, 1.164, 1.747, 2.484, 3.387, 4.46",\
                 "0.2892, 0.3328, 0.421, 0.511, 0.7426, 1.164, 1.749, 2.485, 3.389, 4.464");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.2697, 0.302, 0.3909, 0.5265, 0.7204, 0.99, 1.34, 1.78, 2.317, 2.957",\
                 "0.2868, 0.3191, 0.408, 0.5436, 0.7375, 1.007, 1.357, 1.797, 2.334, 2.974",\
                 "0.3533, 0.3854, 0.4743, 0.6099, 0.804, 1.074, 1.424, 1.863, 2.4, 3.04",\
                 "0.4702, 0.5039, 0.5953, 0.7319, 0.9263, 1.195, 1.545, 1.985, 2.522, 3.161",\
                 "0.6061, 0.6436, 0.7417, 0.8837, 1.08, 1.349, 1.697, 2.137, 2.674, 3.314",\
                 "0.7601, 0.8019, 0.9085, 1.057, 1.256, 1.524, 1.872, 2.311, 2.848, 3.488",\
                 "0.9307, 0.9769, 1.094, 1.251, 1.454, 1.721, 2.069, 2.508, 3.044, 3.684",\
                 "1.119, 1.17, 1.298, 1.465, 1.674, 1.943, 2.29, 2.728, 3.264, 3.903",\
                 "1.326, 1.381, 1.52, 1.699, 1.917, 2.187, 2.533, 2.97, 3.506, 4.145",\
                 "1.553, 1.613, 1.762, 1.954, 2.181, 2.456, 2.801, 3.237, 3.771, 4.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00338, 0.01173, 0.02768, 0.05254, 0.08741, 0.1333, 0.1911, 0.2617, 0.3458");
          values("0.1075, 0.1404, 0.2403, 0.4235, 0.7233, 1.161, 1.747, 2.486, 3.389, 4.468",\
                 "0.1079, 0.1405, 0.2405, 0.4236, 0.7233, 1.16, 1.747, 2.484, 3.389, 4.47",\
                 "0.1081, 0.1407, 0.2407, 0.4237, 0.7233, 1.161, 1.747, 2.487, 3.39, 4.472",\
                 "0.1221, 0.1524, 0.2485, 0.426, 0.7232, 1.161, 1.747, 2.487, 3.39, 4.467",\
                 "0.1442, 0.175, 0.2696, 0.4364, 0.7258, 1.161, 1.745, 2.486, 3.394, 4.473",\
                 "0.1704, 0.2026, 0.2938, 0.4486, 0.729, 1.162, 1.747, 2.486, 3.388, 4.465",\
                 "0.1994, 0.2342, 0.3228, 0.4622, 0.7316, 1.164, 1.748, 2.484, 3.387, 4.465",\
                 "0.2298, 0.2662, 0.3554, 0.4782, 0.7352, 1.164, 1.746, 2.485, 3.385, 4.46",\
                 "0.26, 0.299, 0.3888, 0.4952, 0.7394, 1.164, 1.747, 2.484, 3.387, 4.46",\
                 "0.2892, 0.3328, 0.421, 0.511, 0.7426, 1.164, 1.749, 2.485, 3.389, 4.464");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007089 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.529 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02412, 0.02287, 0.02256, 0.02255, 0.02257, 0.02255, 0.0226, \
                 0.02258, 0.02258, 0.0226");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02256, -0.02252, -0.02249, -0.02248, -0.02248, -0.02253, -0.02254, \
                 -0.02253, -0.02252, -0.02253");
        }
      }

      internal_power() {
        when : "!CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.02283, 0.02255, 0.02255, 0.02256, 0.02258, 0.02258, \
                 0.02258, 0.02259, 0.02259");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02256, -0.02252, -0.02249, -0.02248, -0.02248, -0.02254, -0.02253, \
                 -0.02254, -0.02253, -0.02253");
        }
      }

      internal_power() {
        when : "CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02347, 0.02275, 0.02253, 0.02251, 0.02252, 0.02261, 0.0226, \
                 0.02259, 0.0226, 0.02258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02255, -0.02252, -0.02248, -0.02246, -0.02247, -0.02253, -0.02252, \
                 -0.02254, -0.02252, -0.02251");
        }
      }

      internal_power() {
        when : "CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02277, 0.02186, 0.02148, 0.02143, 0.02141, 0.02143, 0.02143, \
                 0.0214, 0.02139, 0.02139");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02113, -0.02135, -0.02173, -0.02196, -0.02208, -0.02223, -0.02226, \
                 -0.02227, -0.02229, -0.0223");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.595, -0.61, -0.683, -0.816, -0.992, -1.199, -1.423, -1.682, -1.961, -2.261",\
                 "-0.594, -0.612, -0.681, -0.816, -0.996, -1.196, -1.427, -1.682, -1.96, -2.263",\
                 "-0.599, -0.61, -0.684, -0.821, -0.999, -1.208, -1.434, -1.696, -1.976, -2.284",\
                 "-0.537, -0.553, -0.627, -0.765, -0.955, -1.17, -1.414, -1.685, -1.98, -2.296",\
                 "-0.332, -0.355, -0.435, -0.586, -0.78, -0.994, -1.257, -1.545, -1.852, -2.19",\
                 "-0.009, -0.024, -0.112, -0.284, -0.486, -0.723, -0.992, -1.294, -1.617, -1.965",\
                 "0.437, 0.424, 0.32, 0.146, -0.087, -0.335, -0.622, -0.953, -1.291, -1.659",\
                 "1.004, 0.995, 0.87, 0.677, 0.42, 0.141, -0.159, -0.515, -0.874, -1.245",\
                 "1.722, 1.718, 1.554, 1.36, 1.039, 0.748, 0.405, 0.03, -0.358, -0.764",\
                 "2.564, 2.557, 2.381, 2.174, 1.81, 1.481, 1.11, 0.687, 0.269, -0.163");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.784, 0.801, 0.871, 0.999, 1.163, 1.355, 1.575, 1.818, 2.088, 2.381",\
                 "0.791, 0.802, 0.87, 0.999, 1.165, 1.355, 1.581, 1.819, 2.088, 2.384",\
                 "0.814, 0.829, 0.898, 1.025, 1.19, 1.381, 1.607, 1.846, 2.116, 2.413",\
                 "0.883, 0.9, 0.964, 1.095, 1.255, 1.448, 1.664, 1.912, 2.182, 2.476",\
                 "0.988, 1.003, 1.07, 1.199, 1.365, 1.555, 1.778, 2.019, 2.288, 2.584",\
                 "1.137, 1.155, 1.223, 1.352, 1.52, 1.706, 1.928, 2.17, 2.435, 2.729",\
                 "1.326, 1.341, 1.41, 1.533, 1.7, 1.891, 2.107, 2.349, 2.615, 2.916",\
                 "1.528, 1.548, 1.616, 1.742, 1.906, 2.1, 2.316, 2.552, 2.825, 3.121",\
                 "1.764, 1.781, 1.846, 1.978, 2.141, 2.333, 2.549, 2.792, 3.057, 3.349",\
                 "2.029, 2.05, 2.114, 2.242, 2.409, 2.6, 2.814, 3.055, 3.316, 3.608");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.408");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D" ;

        fall_constraint(scalar) {
          values("0.408");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnrnq_2) {
    area : 79.027200 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!RN" ;
      value : "0.0002069397" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&RN" ;
      value : "0.0002281455" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!RN" ;
      value : "0.0002079858" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&RN" ;
      value : "0.0003200967" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!RN" ;
      value : "0.0001902912" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&RN" ;
      value : "0.0001903605" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!RN" ;
      value : "0.0001908522" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&RN" ;
      value : "0.0002400618" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003200967" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.00317 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.615 ;
      min_pulse_width_high : 0.663 ;
      min_pulse_width_low : 0.781 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1369, 0.1365, 0.1372, 0.1427, 0.1543, 0.1728, 0.1988, 0.2329, \
                 0.2754, 0.3266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09076, 0.09046, 0.09093, 0.09546, 0.105, 0.1209, 0.1438, 0.1739, \
                 0.2113, 0.2565");
        }
      }

      internal_power() {
        when : "!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1369, 0.1365, 0.1372, 0.1427, 0.1543, 0.1728, 0.1989, 0.233, \
                 0.2755, 0.3267");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09075, 0.09045, 0.0909, 0.09547, 0.105, 0.121, 0.1438, 0.1738, \
                 0.2113, 0.2565");
        }
      }

      internal_power() {
        when : "D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2654, 0.2649, 0.2657, 0.2721, 0.2852, 0.3055, 0.3337, 0.3702, \
                 0.4152, 0.4693");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1636, 0.1633, 0.1638, 0.1691, 0.1799, 0.1972, 0.2216, 0.2535, \
                 0.293, 0.3403");
        }
      }

      internal_power() {
        when : "D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1325, 0.1322, 0.1329, 0.1383, 0.1501, 0.1687, 0.1947, 0.2288, \
                 0.2714, 0.3227");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08925, 0.08904, 0.0894, 0.09398, 0.1035, 0.1195, 0.1424, 0.1724, \
                 0.2098, 0.2551");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN" ;

        fall_constraint(scalar) {
          values("0.566");
        }

        rise_constraint(scalar) {
          values("0.564");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN" ;

        fall_constraint(scalar) {
          values("0.781");
        }

        rise_constraint(scalar) {
          values("0.663");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN" ;

        fall_constraint(scalar) {
          values("1.201");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN" ;

        fall_constraint(scalar) {
          values("1.615");
        }
      }
    }

    pin(D) {
      capacitance : 0.00298 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02865, 0.02813, 0.03041, 0.03735, 0.04956, 0.06753, 0.09165, \
                 0.1224, 0.1603, 0.2055");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00347, 0.00301, 0.004201, 0.009643, 0.01995, 0.03553, 0.05668, \
                 0.08376, 0.1171, 0.1571");
        }
      }

      internal_power() {
        when : "!CLKN&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02866, 0.02812, 0.03042, 0.03738, 0.04956, 0.06753, 0.09165, \
                 0.1224, 0.1603, 0.2056");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0035, 0.003005, 0.004213, 0.009601, 0.01993, 0.03552, 0.05669, \
                 0.08377, 0.1171, 0.1571");
        }
      }

      internal_power() {
        when : "CLKN&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1056, 0.1053, 0.1067, 0.1123, 0.1236, 0.141, 0.1654, 0.1971, \
                 0.2364, 0.2838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06653, 0.06621, 0.06714, 0.07159, 0.08042, 0.09488, 0.1153, \
                 0.1423, 0.176, 0.2168");
        }
      }

      internal_power() {
        when : "CLKN&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.101, 0.1008, 0.1021, 0.1077, 0.1189, 0.1363, 0.1606, 0.1922, \
                 0.2314, 0.2787");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06946, 0.06916, 0.0701, 0.07453, 0.08338, 0.09776, 0.1183, 0.1452, \
                 0.1789, 0.2197");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2, 0.213, 0.27, 0.381, 0.493, 0.635, 0.799, 0.98, 1.189, 1.434",\
                 "0.183, 0.198, 0.254, 0.363, 0.479, 0.618, 0.784, 0.959, 1.172, 1.414",\
                 "0.111, 0.125, 0.181, 0.289, 0.408, 0.545, 0.71, 0.889, 1.099, 1.34",\
                 "0.002, 0.023, 0.071, 0.176, 0.29, 0.432, 0.585, 0.77, 0.976, 1.217",\
                 "-0.121, -0.108, -0.06, 0.043, 0.155, 0.293, 0.445, 0.627, 0.83, 1.065",\
                 "-0.273, -0.259, -0.207, -0.103, -0.005, 0.13, 0.285, 0.461, 0.653, 0.886",\
                 "-0.437, -0.424, -0.375, -0.276, -0.176, -0.049, 0.097, 0.261, 0.452, 0.683",\
                 "-0.626, -0.613, -0.565, -0.476, -0.375, -0.258, -0.124, 0.04, 0.233, 0.448",\
                 "-0.839, -0.828, -0.784, -0.696, -0.603, -0.496, -0.37, -0.206, -0.024, 0.188",\
                 "-1.085, -1.068, -1.023, -0.949, -0.862, -0.763, -0.639, -0.487, -0.305, -0.097");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.223, 0.24, 0.302, 0.426, 0.582, 0.768, 0.976, 1.21, 1.468, 1.751",\
                 "0.21, 0.23, 0.29, 0.421, 0.571, 0.754, 0.964, 1.198, 1.453, 1.738",\
                 "0.17, 0.19, 0.252, 0.381, 0.539, 0.717, 0.927, 1.162, 1.421, 1.705",\
                 "0.147, 0.168, 0.228, 0.353, 0.507, 0.688, 0.895, 1.131, 1.386, 1.676",\
                 "0.132, 0.154, 0.218, 0.338, 0.498, 0.679, 0.885, 1.123, 1.379, 1.661",\
                 "0.136, 0.159, 0.221, 0.343, 0.504, 0.686, 0.898, 1.126, 1.387, 1.675",\
                 "0.17, 0.193, 0.26, 0.384, 0.532, 0.719, 0.929, 1.159, 1.421, 1.703",\
                 "0.241, 0.259, 0.317, 0.439, 0.588, 0.769, 0.979, 1.213, 1.475, 1.764",\
                 "0.347, 0.368, 0.423, 0.536, 0.684, 0.85, 1.054, 1.293, 1.548, 1.845",\
                 "0.488, 0.514, 0.564, 0.669, 0.806, 0.977, 1.173, 1.403, 1.658, 1.945");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.343, 0.327, 0.251, 0.147, 0.013, -0.14, -0.31, -0.508, -0.728, -0.98",\
                 "0.363, 0.341, 0.273, 0.158, 0.031, -0.124, -0.296, -0.494, -0.708, -0.958",\
                 "0.426, 0.414, 0.339, 0.228, 0.097, -0.053, -0.221, -0.422, -0.643, -0.895",\
                 "0.552, 0.536, 0.468, 0.353, 0.222, 0.073, -0.105, -0.302, -0.521, -0.769",\
                 "0.717, 0.703, 0.635, 0.517, 0.384, 0.233, 0.053, -0.145, -0.357, -0.611",\
                 "0.917, 0.907, 0.832, 0.717, 0.583, 0.421, 0.248, 0.053, -0.172, -0.42",\
                 "1.162, 1.144, 1.072, 0.955, 0.811, 0.655, 0.476, 0.276, 0.056, -0.19",\
                 "1.428, 1.412, 1.342, 1.218, 1.079, 0.924, 0.739, 0.538, 0.321, 0.071",\
                 "1.738, 1.726, 1.645, 1.526, 1.379, 1.214, 1.037, 0.834, 0.614, 0.37",\
                 "2.079, 2.064, 1.989, 1.861, 1.714, 1.552, 1.367, 1.166, 0.936, 0.696");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.315, 0.299, 0.229, 0.111, -0.025, -0.192, -0.386, -0.597, -0.847, -1.105",\
                 "0.329, 0.309, 0.243, 0.129, -0.016, -0.183, -0.373, -0.595, -0.828, -1.094",\
                 "0.372, 0.355, 0.291, 0.17, 0.027, -0.136, -0.329, -0.54, -0.784, -1.039",\
                 "0.444, 0.421, 0.352, 0.238, 0.085, -0.081, -0.285, -0.49, -0.731, -0.987",\
                 "0.494, 0.479, 0.408, 0.285, 0.135, -0.039, -0.244, -0.464, -0.707, -0.963",\
                 "0.537, 0.518, 0.449, 0.33, 0.171, -0.011, -0.217, -0.435, -0.69, -0.95",\
                 "0.563, 0.544, 0.474, 0.346, 0.188, 0.008, -0.202, -0.436, -0.683, -0.96",\
                 "0.567, 0.553, 0.479, 0.349, 0.19, 0.006, -0.208, -0.446, -0.699, -0.974",\
                 "0.544, 0.53, 0.462, 0.329, 0.168, -0.023, -0.239, -0.476, -0.732, -1.017",\
                 "0.497, 0.471, 0.402, 0.272, 0.106, -0.078, -0.295, -0.533, -0.794, -1.084");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.6979 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.174, 0.1707, 0.1673, 0.166, 0.1656, 0.1653, 0.1651, 0.165, 0.1649, 0.1649",\
                 "0.174, 0.1707, 0.1674, 0.166, 0.1656, 0.1653, 0.1651, 0.165, 0.1649, 0.1649",\
                 "0.1739, 0.1706, 0.1672, 0.1659, 0.1655, 0.1652, 0.165, 0.1649, 0.1648, 0.1648",\
                 "0.1743, 0.1709, 0.1676, 0.1662, 0.1657, 0.1655, 0.1653, 0.1652, 0.1651, 0.165",\
                 "0.1752, 0.1717, 0.1684, 0.1671, 0.1667, 0.1664, 0.1662, 0.1661, 0.166, 0.1659",\
                 "0.1765, 0.1731, 0.1697, 0.1684, 0.1679, 0.1676, 0.1675, 0.1673, 0.1672, 0.1672",\
                 "0.1785, 0.1749, 0.1716, 0.1702, 0.1697, 0.1694, 0.1692, 0.1691, 0.169, 0.169",\
                 "0.1808, 0.1773, 0.1737, 0.1722, 0.1718, 0.1716, 0.1714, 0.1713, 0.1712, 0.1711",\
                 "0.1836, 0.18, 0.1765, 0.1751, 0.1745, 0.1743, 0.1741, 0.1739, 0.1739, 0.1738",\
                 "0.1871, 0.1834, 0.1797, 0.1781, 0.1775, 0.1773, 0.177, 0.1769, 0.1768, 0.1768");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2379, 0.2331, 0.2267, 0.223, 0.2215, 0.2218, 0.2225, 0.2236, 0.2253, 0.2328",\
                 "0.2379, 0.2331, 0.2264, 0.223, 0.2216, 0.222, 0.2224, 0.2234, 0.2253, 0.2338",\
                 "0.2379, 0.2329, 0.2265, 0.223, 0.2216, 0.222, 0.2224, 0.2233, 0.2253, 0.234",\
                 "0.2389, 0.234, 0.2275, 0.2242, 0.2225, 0.2229, 0.2235, 0.2251, 0.2264, 0.2379",\
                 "0.2403, 0.2355, 0.229, 0.2257, 0.2242, 0.2245, 0.225, 0.2259, 0.2279, 0.2417",\
                 "0.2422, 0.2374, 0.231, 0.2273, 0.2258, 0.2261, 0.2265, 0.2274, 0.2298, 0.2446",\
                 "0.2442, 0.2393, 0.233, 0.23, 0.2288, 0.2286, 0.2292, 0.2304, 0.2325, 0.2536",\
                 "0.2469, 0.242, 0.2357, 0.2322, 0.2311, 0.232, 0.232, 0.2336, 0.2361, 0.2667",\
                 "0.2497, 0.245, 0.2385, 0.2351, 0.2333, 0.2338, 0.2357, 0.2368, 0.2414, 0.2893",\
                 "0.2527, 0.2477, 0.2414, 0.2385, 0.2363, 0.2366, 0.2378, 0.242, 0.251, 0.3314");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2787, 0.2754, 0.2722, 0.2709, 0.2703, 0.2699, 0.2697, 0.2696, 0.2695, 0.2694",\
                 "0.2791, 0.2758, 0.2726, 0.2713, 0.2707, 0.2704, 0.2701, 0.27, 0.2699, 0.2699",\
                 "0.2799, 0.2764, 0.2731, 0.2717, 0.2712, 0.2709, 0.2707, 0.2706, 0.2705, 0.2705",\
                 "0.2922, 0.2878, 0.2825, 0.2801, 0.2789, 0.2783, 0.278, 0.2778, 0.2776, 0.2776",\
                 "0.3208, 0.3147, 0.3061, 0.3014, 0.2989, 0.2975, 0.2967, 0.2962, 0.2959, 0.2957",\
                 "0.365, 0.3574, 0.3454, 0.3377, 0.3334, 0.3309, 0.3294, 0.3284, 0.3278, 0.3274",\
                 "0.4243, 0.4152, 0.3993, 0.3886, 0.382, 0.3778, 0.3754, 0.3738, 0.3727, 0.3721",\
                 "0.4961, 0.4859, 0.4664, 0.4523, 0.443, 0.4371, 0.4334, 0.431, 0.4294, 0.4282",\
                 "0.5791, 0.5678, 0.545, 0.5273, 0.5152, 0.5072, 0.502, 0.4985, 0.4961, 0.4944",\
                 "0.6722, 0.6602, 0.634, 0.6125, 0.5975, 0.5871, 0.5802, 0.5754, 0.5721, 0.5699");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2787, 0.2754, 0.2722, 0.2709, 0.2703, 0.2699, 0.2697, 0.2696, 0.2695, 0.2694",\
                 "0.2791, 0.2758, 0.2726, 0.2713, 0.2707, 0.2704, 0.2701, 0.27, 0.2699, 0.2699",\
                 "0.2799, 0.2764, 0.2731, 0.2717, 0.2712, 0.2709, 0.2707, 0.2706, 0.2705, 0.2705",\
                 "0.2922, 0.2878, 0.2825, 0.2801, 0.2789, 0.2783, 0.278, 0.2778, 0.2776, 0.2776",\
                 "0.3208, 0.3147, 0.3061, 0.3014, 0.2989, 0.2975, 0.2967, 0.2962, 0.2959, 0.2957",\
                 "0.365, 0.3574, 0.3454, 0.3377, 0.3334, 0.3309, 0.3294, 0.3284, 0.3278, 0.3274",\
                 "0.4243, 0.4152, 0.3993, 0.3886, 0.382, 0.3778, 0.3754, 0.3738, 0.3727, 0.3721",\
                 "0.4961, 0.4859, 0.4664, 0.4523, 0.443, 0.4371, 0.4334, 0.431, 0.4294, 0.4282",\
                 "0.5791, 0.5678, 0.545, 0.5273, 0.5152, 0.5072, 0.502, 0.4985, 0.4961, 0.4944",\
                 "0.6722, 0.6602, 0.634, 0.6125, 0.5975, 0.5871, 0.5802, 0.5754, 0.5721, 0.5699");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2788, 0.2755, 0.2723, 0.2709, 0.2703, 0.27, 0.2698, 0.2696, 0.2696, 0.2695",\
                 "0.2792, 0.2759, 0.2727, 0.2714, 0.2708, 0.2704, 0.2701, 0.27, 0.2699, 0.2699",\
                 "0.2798, 0.2764, 0.2731, 0.2717, 0.2712, 0.2709, 0.2707, 0.2706, 0.2705, 0.2705",\
                 "0.2922, 0.2879, 0.2825, 0.2801, 0.2789, 0.2783, 0.278, 0.2778, 0.2777, 0.2776",\
                 "0.3208, 0.3146, 0.3061, 0.3014, 0.2989, 0.2975, 0.2967, 0.2962, 0.2959, 0.2957",\
                 "0.365, 0.3575, 0.3454, 0.3378, 0.3335, 0.3308, 0.3294, 0.3285, 0.3279, 0.3274",\
                 "0.4242, 0.4151, 0.3993, 0.3885, 0.382, 0.378, 0.3755, 0.3738, 0.3728, 0.3721",\
                 "0.4961, 0.486, 0.4665, 0.4523, 0.4431, 0.4372, 0.4334, 0.431, 0.4294, 0.4282",\
                 "0.5791, 0.5679, 0.545, 0.5273, 0.5152, 0.5072, 0.5018, 0.4985, 0.4961, 0.4944",\
                 "0.6721, 0.6601, 0.6339, 0.6124, 0.5975, 0.5872, 0.5802, 0.5754, 0.5721, 0.5699");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2788, 0.2755, 0.2723, 0.2709, 0.2703, 0.27, 0.2698, 0.2696, 0.2696, 0.2695",\
                 "0.2792, 0.2759, 0.2727, 0.2714, 0.2708, 0.2704, 0.2701, 0.27, 0.2699, 0.2699",\
                 "0.2798, 0.2764, 0.2731, 0.2717, 0.2712, 0.2709, 0.2707, 0.2706, 0.2705, 0.2705",\
                 "0.2922, 0.2879, 0.2825, 0.2801, 0.2789, 0.2783, 0.278, 0.2778, 0.2777, 0.2776",\
                 "0.3208, 0.3146, 0.3061, 0.3014, 0.2989, 0.2975, 0.2967, 0.2962, 0.2959, 0.2957",\
                 "0.365, 0.3575, 0.3454, 0.3378, 0.3335, 0.3308, 0.3294, 0.3285, 0.3279, 0.3274",\
                 "0.4242, 0.4151, 0.3993, 0.3885, 0.382, 0.378, 0.3755, 0.3738, 0.3728, 0.3721",\
                 "0.4961, 0.486, 0.4665, 0.4523, 0.4431, 0.4372, 0.4334, 0.431, 0.4294, 0.4282",\
                 "0.5791, 0.5679, 0.545, 0.5273, 0.5152, 0.5072, 0.5018, 0.4985, 0.4961, 0.4944",\
                 "0.6721, 0.6601, 0.6339, 0.6124, 0.5975, 0.5872, 0.5802, 0.5754, 0.5721, 0.5699");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1858, 0.1826, 0.1797, 0.1783, 0.1777, 0.1773, 0.1771, 0.177, 0.1769, 0.1769",\
                 "0.1858, 0.1827, 0.1797, 0.1783, 0.1777, 0.1774, 0.1772, 0.1771, 0.177, 0.177",\
                 "0.1865, 0.1832, 0.18, 0.1787, 0.1781, 0.1778, 0.1777, 0.1776, 0.1775, 0.1775",\
                 "0.1963, 0.1921, 0.1869, 0.1844, 0.1834, 0.1828, 0.1825, 0.1823, 0.1822, 0.1821",\
                 "0.2175, 0.2114, 0.2032, 0.1985, 0.196, 0.1947, 0.194, 0.1935, 0.1932, 0.193",\
                 "0.2479, 0.2405, 0.2285, 0.2211, 0.2167, 0.2145, 0.213, 0.2121, 0.2116, 0.2112",\
                 "0.2864, 0.2774, 0.2619, 0.2511, 0.2446, 0.2407, 0.2384, 0.2369, 0.2359, 0.2352",\
                 "0.3316, 0.3213, 0.302, 0.2881, 0.2791, 0.2731, 0.2697, 0.2674, 0.2659, 0.2647",\
                 "0.3829, 0.371, 0.3484, 0.3311, 0.3193, 0.3115, 0.3065, 0.3033, 0.301, 0.2995",\
                 "0.4387, 0.4256, 0.3996, 0.3791, 0.3647, 0.3547, 0.3481, 0.3436, 0.3406, 0.3385");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1858, 0.1826, 0.1797, 0.1783, 0.1777, 0.1773, 0.1771, 0.177, 0.1769, 0.1769",\
                 "0.1858, 0.1827, 0.1797, 0.1783, 0.1777, 0.1774, 0.1772, 0.1771, 0.177, 0.177",\
                 "0.1865, 0.1832, 0.18, 0.1787, 0.1781, 0.1778, 0.1777, 0.1776, 0.1775, 0.1775",\
                 "0.1963, 0.1921, 0.1869, 0.1844, 0.1834, 0.1828, 0.1825, 0.1823, 0.1822, 0.1821",\
                 "0.2175, 0.2114, 0.2032, 0.1985, 0.196, 0.1947, 0.194, 0.1935, 0.1932, 0.193",\
                 "0.2479, 0.2405, 0.2285, 0.2211, 0.2167, 0.2145, 0.213, 0.2121, 0.2116, 0.2112",\
                 "0.2864, 0.2774, 0.2619, 0.2511, 0.2446, 0.2407, 0.2384, 0.2369, 0.2359, 0.2352",\
                 "0.3316, 0.3213, 0.302, 0.2881, 0.2791, 0.2731, 0.2697, 0.2674, 0.2659, 0.2647",\
                 "0.3829, 0.371, 0.3484, 0.3311, 0.3193, 0.3115, 0.3065, 0.3033, 0.301, 0.2995",\
                 "0.4387, 0.4256, 0.3996, 0.3791, 0.3647, 0.3547, 0.3481, 0.3436, 0.3406, 0.3385");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1934, 0.1903, 0.1873, 0.186, 0.1854, 0.185, 0.1848, 0.1847, 0.1846, 0.1846",\
                 "0.1938, 0.1906, 0.1876, 0.1863, 0.1857, 0.1853, 0.1851, 0.185, 0.1849, 0.1849",\
                 "0.1944, 0.1911, 0.1879, 0.1866, 0.186, 0.1857, 0.1856, 0.1855, 0.1854, 0.1854",\
                 "0.2043, 0.2001, 0.1949, 0.1924, 0.1913, 0.1908, 0.1904, 0.1903, 0.1901, 0.1901",\
                 "0.2255, 0.2195, 0.2114, 0.2065, 0.204, 0.2027, 0.202, 0.2015, 0.2012, 0.201",\
                 "0.2558, 0.2483, 0.2366, 0.229, 0.2248, 0.2223, 0.2209, 0.22, 0.2194, 0.219",\
                 "0.2943, 0.2852, 0.2699, 0.259, 0.2526, 0.2487, 0.2463, 0.2448, 0.2438, 0.2431",\
                 "0.3396, 0.3291, 0.3099, 0.2959, 0.287, 0.2812, 0.2776, 0.2753, 0.2738, 0.2727",\
                 "0.3905, 0.3789, 0.3562, 0.3389, 0.3271, 0.3195, 0.3144, 0.3111, 0.3089, 0.3073",\
                 "0.4466, 0.4336, 0.4075, 0.387, 0.3726, 0.3626, 0.356, 0.3515, 0.3484, 0.3464");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1934, 0.1903, 0.1873, 0.186, 0.1854, 0.185, 0.1848, 0.1847, 0.1846, 0.1846",\
                 "0.1938, 0.1906, 0.1876, 0.1863, 0.1857, 0.1853, 0.1851, 0.185, 0.1849, 0.1849",\
                 "0.1944, 0.1911, 0.1879, 0.1866, 0.186, 0.1857, 0.1856, 0.1855, 0.1854, 0.1854",\
                 "0.2043, 0.2001, 0.1949, 0.1924, 0.1913, 0.1908, 0.1904, 0.1903, 0.1901, 0.1901",\
                 "0.2255, 0.2195, 0.2114, 0.2065, 0.204, 0.2027, 0.202, 0.2015, 0.2012, 0.201",\
                 "0.2558, 0.2483, 0.2366, 0.229, 0.2248, 0.2223, 0.2209, 0.22, 0.2194, 0.219",\
                 "0.2943, 0.2852, 0.2699, 0.259, 0.2526, 0.2487, 0.2463, 0.2448, 0.2438, 0.2431",\
                 "0.3396, 0.3291, 0.3099, 0.2959, 0.287, 0.2812, 0.2776, 0.2753, 0.2738, 0.2727",\
                 "0.3905, 0.3789, 0.3562, 0.3389, 0.3271, 0.3195, 0.3144, 0.3111, 0.3089, 0.3073",\
                 "0.4466, 0.4336, 0.4075, 0.387, 0.3726, 0.3626, 0.356, 0.3515, 0.3484, 0.3464");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.8626, 0.9023, 1.003, 1.147, 1.345, 1.615, 1.968, 2.413, 2.956, 3.604",\
                 "0.8798, 0.9194, 1.02, 1.164, 1.362, 1.632, 1.985, 2.43, 2.974, 3.62",\
                 "0.946, 0.9856, 1.086, 1.23, 1.429, 1.698, 2.052, 2.496, 3.039, 3.687",\
                 "1.074, 1.114, 1.214, 1.358, 1.557, 1.826, 2.18, 2.625, 3.168, 3.815",\
                 "1.242, 1.281, 1.382, 1.526, 1.724, 1.994, 2.347, 2.792, 3.336, 3.982",\
                 "1.434, 1.474, 1.574, 1.719, 1.917, 2.187, 2.54, 2.985, 3.527, 4.175",\
                 "1.653, 1.693, 1.793, 1.938, 2.136, 2.406, 2.759, 3.204, 3.747, 4.395",\
                 "1.897, 1.937, 2.038, 2.182, 2.381, 2.65, 3.003, 3.448, 3.991, 4.638",\
                 "2.165, 2.205, 2.306, 2.451, 2.649, 2.919, 3.272, 3.716, 4.259, 4.907",\
                 "2.459, 2.498, 2.599, 2.743, 2.942, 3.211, 3.565, 4.009, 4.552, 5.199");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("1.231, 1.284, 1.429, 1.666, 2.016, 2.504, 3.146, 3.955, 4.943, 6.122",\
                 "1.248, 1.3, 1.446, 1.683, 2.033, 2.521, 3.163, 3.972, 4.959, 6.137",\
                 "1.315, 1.367, 1.512, 1.749, 2.099, 2.588, 3.229, 4.039, 5.026, 6.203",\
                 "1.445, 1.497, 1.643, 1.88, 2.23, 2.718, 3.36, 4.169, 5.157, 6.333",\
                 "1.619, 1.671, 1.817, 2.054, 2.404, 2.892, 3.534, 4.343, 5.33, 6.507",\
                 "1.821, 1.873, 2.018, 2.255, 2.605, 3.092, 3.734, 4.544, 5.532, 6.711",\
                 "2.05, 2.103, 2.248, 2.486, 2.836, 3.324, 3.966, 4.775, 5.763, 6.942",\
                 "2.309, 2.361, 2.507, 2.744, 3.094, 3.582, 4.224, 5.033, 6.021, 7.2",\
                 "2.594, 2.646, 2.791, 3.028, 3.378, 3.866, 4.508, 5.316, 6.303, 7.481",\
                 "2.902, 2.954, 3.099, 3.336, 3.686, 4.175, 4.816, 5.625, 6.613, 7.789");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.09852, 0.1367, 0.2431, 0.4246, 0.7224, 1.164, 1.754, 2.502, 3.418, 4.501",\
                 "0.09868, 0.1367, 0.2432, 0.4242, 0.7224, 1.164, 1.754, 2.503, 3.416, 4.508",\
                 "0.0986, 0.1366, 0.2428, 0.424, 0.7224, 1.164, 1.754, 2.502, 3.418, 4.5",\
                 "0.0986, 0.1366, 0.243, 0.4238, 0.7218, 1.162, 1.754, 2.503, 3.415, 4.507",\
                 "0.0986, 0.1366, 0.243, 0.4242, 0.7232, 1.163, 1.755, 2.501, 3.417, 4.507",\
                 "0.0988, 0.1372, 0.2434, 0.4244, 0.7228, 1.164, 1.754, 2.502, 3.418, 4.503",\
                 "0.0994, 0.137, 0.2434, 0.4242, 0.7226, 1.162, 1.751, 2.501, 3.415, 4.5",\
                 "0.0996, 0.1376, 0.2436, 0.424, 0.7226, 1.162, 1.754, 2.497, 3.41, 4.5",\
                 "0.0996, 0.138, 0.2444, 0.4244, 0.7224, 1.164, 1.752, 2.498, 3.408, 4.494",\
                 "0.1, 0.1384, 0.2444, 0.425, 0.7226, 1.164, 1.754, 2.501, 3.409, 4.496");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1354, 0.1958, 0.3938, 0.757, 1.353, 2.207, 3.339, 4.772, 6.508, 8.585",\
                 "0.1352, 0.1958, 0.394, 0.757, 1.352, 2.21, 3.342, 4.765, 6.506, 8.585",\
                 "0.1342, 0.1956, 0.3942, 0.7576, 1.352, 2.21, 3.342, 4.766, 6.507, 8.585",\
                 "0.1344, 0.1962, 0.3938, 0.7574, 1.353, 2.21, 3.342, 4.764, 6.505, 8.579",\
                 "0.135, 0.196, 0.3944, 0.7576, 1.352, 2.208, 3.342, 4.765, 6.507, 8.581",\
                 "0.1338, 0.1954, 0.3936, 0.757, 1.352, 2.209, 3.338, 4.765, 6.506, 8.587",\
                 "0.134, 0.1952, 0.394, 0.7578, 1.352, 2.208, 3.336, 4.77, 6.508, 8.581",\
                 "0.1342, 0.1958, 0.3932, 0.7574, 1.354, 2.209, 3.341, 4.762, 6.506, 8.587",\
                 "0.1332, 0.1944, 0.3934, 0.7574, 1.352, 2.206, 3.338, 4.765, 6.513, 8.581",\
                 "0.133, 0.1954, 0.3934, 0.7572, 1.352, 2.209, 3.337, 4.762, 6.502, 8.58");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2953, 0.3363, 0.4388, 0.5842, 0.7841, 1.057, 1.41, 1.855, 2.397, 3.045",\
                 "0.3127, 0.3538, 0.4563, 0.6017, 0.8016, 1.074, 1.428, 1.872, 2.415, 3.062",\
                 "0.3789, 0.4198, 0.5221, 0.6675, 0.8676, 1.14, 1.494, 1.938, 2.481, 3.128",\
                 "0.5025, 0.5447, 0.6479, 0.7936, 0.9938, 1.266, 1.619, 2.063, 2.606, 3.253",\
                 "0.6462, 0.6935, 0.8053, 0.957, 1.159, 1.429, 1.781, 2.225, 2.768, 3.415",\
                 "0.805, 0.8575, 0.9789, 1.138, 1.342, 1.612, 1.964, 2.407, 2.949, 3.596",\
                 "0.9773, 1.035, 1.168, 1.336, 1.544, 1.813, 2.164, 2.607, 3.148, 3.795",\
                 "1.163, 1.225, 1.371, 1.55, 1.764, 2.033, 2.382, 2.825, 3.366, 4.012",\
                 "1.362, 1.43, 1.587, 1.779, 2.002, 2.272, 2.62, 3.061, 3.601, 4.247",\
                 "1.575, 1.648, 1.818, 2.023, 2.258, 2.531, 2.878, 3.318, 3.857, 4.502");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1003, 0.1396, 0.2457, 0.4255, 0.7286, 1.168, 1.75, 2.495, 3.405, 4.497",\
                 "0.1003, 0.1396, 0.2457, 0.4257, 0.7285, 1.168, 1.751, 2.493, 3.409, 4.498",\
                 "0.1006, 0.1398, 0.2459, 0.4259, 0.7287, 1.167, 1.749, 2.494, 3.41, 4.499",\
                 "0.1114, 0.1493, 0.2516, 0.4288, 0.729, 1.165, 1.749, 2.495, 3.41, 4.499",\
                 "0.136, 0.1766, 0.2762, 0.4456, 0.7334, 1.164, 1.748, 2.493, 3.41, 4.499",\
                 "0.1638, 0.2078, 0.3064, 0.4686, 0.7434, 1.166, 1.75, 2.495, 3.407, 4.499",\
                 "0.1918, 0.2416, 0.3434, 0.4974, 0.756, 1.169, 1.749, 2.494, 3.407, 4.495",\
                 "0.2234, 0.2788, 0.3852, 0.5346, 0.7754, 1.174, 1.751, 2.495, 3.404, 4.494",\
                 "0.256, 0.3166, 0.4316, 0.579, 0.8046, 1.184, 1.753, 2.494, 3.404, 4.491",\
                 "0.2898, 0.3552, 0.4802, 0.6302, 0.845, 1.2, 1.756, 2.497, 3.409, 4.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2953, 0.3363, 0.4388, 0.5842, 0.7841, 1.057, 1.41, 1.855, 2.397, 3.044",\
                 "0.3128, 0.3539, 0.4563, 0.6017, 0.8016, 1.075, 1.428, 1.872, 2.415, 3.062",\
                 "0.3789, 0.4198, 0.5221, 0.6676, 0.8676, 1.14, 1.494, 1.938, 2.481, 3.128",\
                 "0.5025, 0.5447, 0.6479, 0.7936, 0.9938, 1.266, 1.619, 2.063, 2.606, 3.253",\
                 "0.6464, 0.6936, 0.8053, 0.957, 1.159, 1.429, 1.781, 2.225, 2.768, 3.415",\
                 "0.805, 0.8575, 0.979, 1.138, 1.342, 1.612, 1.964, 2.407, 2.949, 3.596",\
                 "0.9772, 1.035, 1.167, 1.336, 1.544, 1.813, 2.163, 2.607, 3.148, 3.795",\
                 "1.163, 1.226, 1.37, 1.55, 1.764, 2.033, 2.382, 2.824, 3.365, 4.011",\
                 "1.362, 1.43, 1.587, 1.779, 2.002, 2.272, 2.62, 3.061, 3.601, 4.247",\
                 "1.576, 1.648, 1.818, 2.023, 2.258, 2.532, 2.878, 3.318, 3.857, 4.502");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1006, 0.1396, 0.2457, 0.4255, 0.7284, 1.168, 1.751, 2.495, 3.405, 4.497",\
                 "0.1006, 0.1397, 0.2458, 0.4256, 0.7285, 1.168, 1.751, 2.495, 3.409, 4.499",\
                 "0.1006, 0.1398, 0.2459, 0.426, 0.7287, 1.167, 1.751, 2.494, 3.41, 4.498",\
                 "0.1114, 0.1494, 0.2516, 0.4288, 0.729, 1.165, 1.749, 2.495, 3.407, 4.498",\
                 "0.1358, 0.1768, 0.2764, 0.4452, 0.7336, 1.164, 1.748, 2.493, 3.41, 4.499",\
                 "0.1628, 0.2078, 0.3062, 0.4684, 0.7434, 1.166, 1.75, 2.495, 3.408, 4.497",\
                 "0.1924, 0.2424, 0.3432, 0.4972, 0.7556, 1.169, 1.75, 2.493, 3.407, 4.496",\
                 "0.224, 0.2792, 0.3852, 0.5344, 0.7752, 1.174, 1.751, 2.494, 3.405, 4.494",\
                 "0.2558, 0.3166, 0.4316, 0.5796, 0.8048, 1.184, 1.754, 2.494, 3.405, 4.491",\
                 "0.2882, 0.3546, 0.4798, 0.6294, 0.8452, 1.2, 1.755, 2.496, 3.406, 4.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2953, 0.3362, 0.4373, 0.5828, 0.7811, 1.05, 1.403, 1.847, 2.39, 3.038",\
                 "0.3127, 0.3537, 0.4547, 0.6003, 0.7986, 1.067, 1.42, 1.865, 2.408, 3.056",\
                 "0.379, 0.4197, 0.5206, 0.6661, 0.8644, 1.133, 1.486, 1.93, 2.474, 3.121",\
                 "0.5028, 0.5446, 0.6463, 0.7919, 0.9898, 1.258, 1.611, 2.055, 2.599, 3.247",\
                 "0.6468, 0.6939, 0.8034, 0.9542, 1.152, 1.42, 1.772, 2.216, 2.759, 3.406",\
                 "0.8061, 0.8575, 0.976, 1.133, 1.331, 1.598, 1.95, 2.393, 2.936, 3.584",\
                 "0.9789, 1.035, 1.164, 1.327, 1.525, 1.791, 2.141, 2.585, 3.126, 3.773",\
                 "1.165, 1.227, 1.365, 1.535, 1.733, 1.997, 2.346, 2.789, 3.33, 3.976",\
                 "1.366, 1.431, 1.58, 1.758, 1.955, 2.217, 2.565, 3.006, 3.547, 4.193",\
                 "1.582, 1.652, 1.81, 1.993, 2.19, 2.45, 2.796, 3.236, 3.776, 4.421");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1007, 0.1386, 0.2442, 0.4248, 0.719, 1.157, 1.746, 2.497, 3.412, 4.497",\
                 "0.1008, 0.1388, 0.2441, 0.4248, 0.719, 1.157, 1.747, 2.496, 3.411, 4.496",\
                 "0.1007, 0.1388, 0.2443, 0.4245, 0.7186, 1.157, 1.747, 2.496, 3.411, 4.496",\
                 "0.1115, 0.148, 0.2496, 0.4268, 0.7188, 1.158, 1.747, 2.495, 3.407, 4.505",\
                 "0.136, 0.1744, 0.2732, 0.4396, 0.722, 1.157, 1.748, 2.497, 3.41, 4.504",\
                 "0.1624, 0.2046, 0.301, 0.4566, 0.727, 1.158, 1.749, 2.497, 3.412, 4.505",\
                 "0.192, 0.2368, 0.3348, 0.475, 0.732, 1.161, 1.748, 2.494, 3.408, 4.492",\
                 "0.2214, 0.2704, 0.371, 0.496, 0.7366, 1.161, 1.75, 2.496, 3.404, 4.492",\
                 "0.2526, 0.3054, 0.4094, 0.5174, 0.7424, 1.161, 1.75, 2.494, 3.409, 4.491",\
                 "0.2826, 0.3388, 0.4468, 0.5396, 0.7474, 1.162, 1.75, 2.495, 3.408, 4.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2953, 0.3361, 0.4373, 0.5828, 0.7811, 1.05, 1.403, 1.847, 2.39, 3.037",\
                 "0.3127, 0.3537, 0.4547, 0.6003, 0.7986, 1.067, 1.42, 1.865, 2.408, 3.055",\
                 "0.379, 0.4197, 0.5206, 0.6661, 0.8643, 1.133, 1.486, 1.93, 2.474, 3.121",\
                 "0.5029, 0.5447, 0.6463, 0.7919, 0.9898, 1.258, 1.611, 2.055, 2.599, 3.246",\
                 "0.6471, 0.6939, 0.8034, 0.9542, 1.152, 1.42, 1.772, 2.216, 2.759, 3.407",\
                 "0.8061, 0.8576, 0.9761, 1.133, 1.331, 1.598, 1.95, 2.393, 2.935, 3.584",\
                 "0.9787, 1.035, 1.164, 1.327, 1.525, 1.791, 2.141, 2.584, 3.126, 3.773",\
                 "1.166, 1.227, 1.365, 1.535, 1.733, 1.997, 2.346, 2.789, 3.33, 3.976",\
                 "1.366, 1.432, 1.581, 1.758, 1.955, 2.217, 2.565, 3.006, 3.547, 4.192",\
                 "1.582, 1.651, 1.81, 1.993, 2.19, 2.45, 2.796, 3.236, 3.776, 4.421");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1008, 0.1388, 0.2441, 0.4246, 0.7191, 1.157, 1.747, 2.496, 3.411, 4.501",\
                 "0.1008, 0.1391, 0.2441, 0.4247, 0.719, 1.157, 1.748, 2.497, 3.411, 4.497",\
                 "0.1007, 0.1387, 0.2443, 0.4248, 0.7185, 1.156, 1.746, 2.495, 3.407, 4.504",\
                 "0.1114, 0.148, 0.2496, 0.4268, 0.7186, 1.158, 1.747, 2.495, 3.411, 4.497",\
                 "0.1358, 0.1742, 0.2738, 0.4396, 0.722, 1.157, 1.747, 2.496, 3.407, 4.504",\
                 "0.162, 0.2048, 0.3016, 0.4564, 0.7268, 1.158, 1.749, 2.496, 3.412, 4.504",\
                 "0.1916, 0.2364, 0.3346, 0.4754, 0.7314, 1.159, 1.748, 2.493, 3.408, 4.499",\
                 "0.2212, 0.2704, 0.371, 0.4958, 0.7366, 1.161, 1.748, 2.496, 3.405, 4.494",\
                 "0.2538, 0.305, 0.4094, 0.5186, 0.7424, 1.161, 1.748, 2.494, 3.405, 4.49",\
                 "0.2852, 0.3394, 0.4468, 0.5394, 0.7482, 1.163, 1.75, 2.494, 3.406, 4.494");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.2953, 0.3363, 0.4388, 0.5842, 0.7841, 1.057, 1.41, 1.855, 2.397, 3.044",\
                 "0.3128, 0.3539, 0.4563, 0.6017, 0.8016, 1.075, 1.428, 1.872, 2.415, 3.062",\
                 "0.3789, 0.4198, 0.5221, 0.6676, 0.8676, 1.14, 1.494, 1.938, 2.481, 3.128",\
                 "0.5025, 0.5447, 0.6479, 0.7936, 0.9938, 1.266, 1.619, 2.063, 2.606, 3.253",\
                 "0.6464, 0.6936, 0.8053, 0.957, 1.159, 1.429, 1.781, 2.225, 2.768, 3.415",\
                 "0.805, 0.8575, 0.979, 1.138, 1.342, 1.612, 1.964, 2.407, 2.949, 3.596",\
                 "0.9772, 1.035, 1.167, 1.336, 1.544, 1.813, 2.163, 2.607, 3.148, 3.795",\
                 "1.163, 1.226, 1.37, 1.55, 1.764, 2.033, 2.382, 2.824, 3.365, 4.011",\
                 "1.362, 1.43, 1.587, 1.779, 2.002, 2.272, 2.62, 3.061, 3.601, 4.247",\
                 "1.576, 1.648, 1.818, 2.023, 2.258, 2.532, 2.878, 3.318, 3.857, 4.502");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00581, 0.0227, 0.05494, 0.1052, 0.1757, 0.2684, 0.3853, 0.5279, 0.6979");
          values("0.1007, 0.1386, 0.2442, 0.4248, 0.719, 1.157, 1.746, 2.497, 3.412, 4.497",\
                 "0.1008, 0.1388, 0.2441, 0.4248, 0.719, 1.157, 1.747, 2.496, 3.411, 4.496",\
                 "0.1007, 0.1388, 0.2443, 0.4245, 0.7186, 1.157, 1.747, 2.496, 3.411, 4.496",\
                 "0.1115, 0.148, 0.2496, 0.4268, 0.7188, 1.158, 1.747, 2.495, 3.407, 4.505",\
                 "0.136, 0.1744, 0.2732, 0.4396, 0.722, 1.157, 1.748, 2.497, 3.41, 4.504",\
                 "0.1624, 0.2046, 0.301, 0.4566, 0.727, 1.158, 1.749, 2.497, 3.412, 4.505",\
                 "0.192, 0.2368, 0.3348, 0.475, 0.732, 1.161, 1.748, 2.494, 3.408, 4.492",\
                 "0.2214, 0.2704, 0.371, 0.496, 0.7366, 1.161, 1.75, 2.496, 3.404, 4.492",\
                 "0.2526, 0.3054, 0.4094, 0.5174, 0.7424, 1.161, 1.75, 2.494, 3.409, 4.491",\
                 "0.2826, 0.3388, 0.4468, 0.5396, 0.7474, 1.162, 1.75, 2.495, 3.408, 4.492");
        }
      }
    }

    pin(RN) {
      capacitance : 0.006987 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.534 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02593, 0.02479, 0.02458, 0.02457, 0.0246, 0.02461, 0.02462, \
                 0.02463, 0.02464, 0.02464");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02459, -0.02456, -0.02453, -0.02451, -0.0245, -0.02458, -0.02455, \
                 -0.02456, -0.02454, -0.02455");
        }
      }

      internal_power() {
        when : "!CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02584, 0.02472, 0.02459, 0.02457, 0.0246, 0.02461, 0.02463, \
                 0.02464, 0.02464, 0.02464");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02459, -0.02456, -0.02453, -0.02451, -0.0245, -0.02458, -0.02456, \
                 -0.02456, -0.02455, -0.02456");
        }
      }

      internal_power() {
        when : "CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02528, 0.02466, 0.02456, 0.02455, 0.0246, 0.0246, 0.02462, 0.02464, \
                 0.02462, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02459, -0.02455, -0.02452, -0.02452, -0.0245, -0.02458, -0.02454, \
                 -0.02456, -0.02455, -0.02459");
        }
      }

      internal_power() {
        when : "CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02457, 0.0238, 0.02354, 0.02345, 0.02342, 0.02345, 0.02346, \
                 0.02345, 0.02344, 0.02343");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02317, -0.02339, -0.02377, -0.02401, -0.02411, -0.02425, -0.02427, \
                 -0.0243, -0.02432, -0.02434");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.573, -0.596, -0.667, -0.798, -0.977, -1.182, -1.415, -1.665, -1.946, -2.251",\
                 "-0.573, -0.588, -0.663, -0.797, -0.981, -1.185, -1.418, -1.67, -1.952, -2.253",\
                 "-0.567, -0.581, -0.653, -0.798, -0.973, -1.189, -1.416, -1.678, -1.959, -2.267",\
                 "-0.474, -0.486, -0.563, -0.712, -0.897, -1.119, -1.364, -1.638, -1.937, -2.257",\
                 "-0.206, -0.231, -0.313, -0.464, -0.659, -0.88, -1.142, -1.426, -1.739, -2.077",\
                 "0.238, 0.212, 0.124, -0.036, -0.241, -0.491, -0.776, -1.075, -1.392, -1.765",\
                 "0.867, 0.844, 0.737, 0.555, 0.314, 0.056, -0.266, -0.573, -0.949, -1.331",\
                 "1.63, 1.628, 1.516, 1.298, 1.042, 0.764, 0.417, 0.04, -0.321, -0.767",\
                 "2.606, 2.586, 2.497, 2.208, 1.919, 1.597, 1.226, 0.82, 0.404, -0.08",\
                 "3.756, 3.752, 3.62, 3.31, 3.001, 2.632, 2.167, 1.78, 1.296, 0.737");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.779, 0.794, 0.86, 0.989, 1.156, 1.343, 1.567, 1.807, 2.081, 2.371",\
                 "0.778, 0.794, 0.864, 0.99, 1.158, 1.349, 1.572, 1.813, 2.08, 2.379",\
                 "0.804, 0.823, 0.89, 1.019, 1.182, 1.375, 1.598, 1.84, 2.108, 2.402",\
                 "0.874, 0.891, 0.952, 1.08, 1.246, 1.441, 1.654, 1.899, 2.173, 2.465",\
                 "0.98, 0.996, 1.062, 1.194, 1.359, 1.546, 1.766, 2.012, 2.278, 2.572",\
                 "1.132, 1.15, 1.217, 1.345, 1.512, 1.7, 1.915, 2.162, 2.424, 2.722",\
                 "1.309, 1.324, 1.392, 1.523, 1.689, 1.878, 2.099, 2.339, 2.609, 2.901",\
                 "1.516, 1.53, 1.597, 1.729, 1.891, 2.083, 2.306, 2.541, 2.812, 3.105",\
                 "1.748, 1.765, 1.838, 1.96, 2.13, 2.317, 2.532, 2.778, 3.042, 3.331",\
                 "2.013, 2.029, 2.098, 2.225, 2.391, 2.58, 2.8, 3.039, 3.307, 3.592");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.534");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D" ;

        fall_constraint(scalar) {
          values("0.534");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.429");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D" ;

        fall_constraint(scalar) {
          values("0.429");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnrnq_4) {
    area : 87.808000 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!RN" ;
      value : "0.00023001" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&RN" ;
      value : "0.0002512191" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!RN" ;
      value : "0.0002310528" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&RN" ;
      value : "0.00034221" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!RN" ;
      value : "0.0002133582" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&RN" ;
      value : "0.0002134308" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!RN" ;
      value : "0.0002139225" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&RN" ;
      value : "0.0002631255" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.00034221" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003171 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.868 ;
      min_pulse_width_high : 0.663 ;
      min_pulse_width_low : 0.928 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1369, 0.1365, 0.1372, 0.1427, 0.1543, 0.1728, 0.1988, 0.2329, \
                 0.2754, 0.3266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09075, 0.0905, 0.09089, 0.09546, 0.105, 0.1209, 0.1438, 0.1739, \
                 0.2113, 0.2565");
        }
      }

      internal_power() {
        when : "!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1369, 0.1365, 0.1372, 0.1426, 0.1543, 0.1728, 0.1989, 0.2329, \
                 0.2755, 0.3266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09074, 0.0905, 0.09089, 0.09546, 0.105, 0.1209, 0.1438, 0.1739, \
                 0.2114, 0.2566");
        }
      }

      internal_power() {
        when : "D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2653, 0.2649, 0.2656, 0.2721, 0.2852, 0.3055, 0.3338, 0.3702, \
                 0.4154, 0.4692");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1636, 0.1633, 0.1638, 0.1691, 0.1798, 0.1972, 0.2216, 0.2535, \
                 0.293, 0.3403");
        }
      }

      internal_power() {
        when : "D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1325, 0.1322, 0.1328, 0.1383, 0.1501, 0.1687, 0.1947, 0.2288, \
                 0.2713, 0.3225");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0893, 0.08902, 0.08939, 0.09402, 0.1036, 0.1195, 0.1424, 0.1724, \
                 0.2098, 0.2551");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN" ;

        fall_constraint(scalar) {
          values("0.613");
        }

        rise_constraint(scalar) {
          values("0.558");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN" ;

        fall_constraint(scalar) {
          values("0.928");
        }

        rise_constraint(scalar) {
          values("0.663");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN" ;

        fall_constraint(scalar) {
          values("1.266");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN" ;

        fall_constraint(scalar) {
          values("1.868");
        }
      }
    }

    pin(D) {
      capacitance : 0.002977 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02865, 0.02812, 0.03041, 0.03735, 0.04956, 0.06753, 0.09164, \
                 0.1224, 0.1602, 0.2055");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003481, 0.003014, 0.004216, 0.009643, 0.01996, 0.03553, 0.05668, \
                 0.08375, 0.1171, 0.1571");
        }
      }

      internal_power() {
        when : "!CLKN&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02867, 0.02814, 0.03037, 0.03737, 0.04957, 0.06756, 0.09165, \
                 0.1224, 0.1602, 0.2055");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003478, 0.003024, 0.004224, 0.009614, 0.01994, 0.03555, 0.05667, \
                 0.08377, 0.1171, 0.1571");
        }
      }

      internal_power() {
        when : "CLKN&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1055, 0.1053, 0.1067, 0.1123, 0.1236, 0.141, 0.1654, 0.1971, \
                 0.2364, 0.2838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06653, 0.06623, 0.06714, 0.07159, 0.08042, 0.09488, 0.1153, \
                 0.1423, 0.176, 0.2169");
        }
      }

      internal_power() {
        when : "CLKN&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.101, 0.1007, 0.1021, 0.1077, 0.1189, 0.1363, 0.1606, 0.1922, \
                 0.2314, 0.2787");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06946, 0.06916, 0.0701, 0.07452, 0.08337, 0.09777, 0.1183, 0.1452, \
                 0.1789, 0.2197");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.213, 0.27, 0.381, 0.501, 0.635, 0.799, 0.98, 1.189, 1.434",\
                 "0.176, 0.198, 0.254, 0.363, 0.479, 0.618, 0.784, 0.959, 1.172, 1.414",\
                 "0.106, 0.125, 0.181, 0.289, 0.408, 0.545, 0.71, 0.889, 1.099, 1.34",\
                 "0.002, 0.013, 0.071, 0.176, 0.29, 0.432, 0.595, 0.77, 0.976, 1.217",\
                 "-0.129, -0.116, -0.051, 0.043, 0.155, 0.293, 0.445, 0.627, 0.83, 1.059",\
                 "-0.278, -0.259, -0.207, -0.11, 0.005, 0.13, 0.285, 0.452, 0.653, 0.88",\
                 "-0.445, -0.424, -0.375, -0.275, -0.176, -0.056, 0.097, 0.261, 0.452, 0.675",\
                 "-0.638, -0.619, -0.565, -0.476, -0.375, -0.258, -0.124, 0.04, 0.233, 0.448",\
                 "-0.847, -0.836, -0.776, -0.696, -0.603, -0.496, -0.364, -0.206, -0.024, 0.188",\
                 "-1.095, -1.074, -1.023, -0.942, -0.869, -0.763, -0.639, -0.487, -0.305, -0.097");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.223, 0.24, 0.302, 0.426, 0.591, 0.768, 0.976, 1.21, 1.468, 1.751",\
                 "0.21, 0.23, 0.29, 0.421, 0.572, 0.754, 0.964, 1.198, 1.453, 1.739",\
                 "0.17, 0.19, 0.252, 0.375, 0.538, 0.717, 0.927, 1.162, 1.421, 1.705",\
                 "0.147, 0.168, 0.228, 0.353, 0.507, 0.688, 0.905, 1.131, 1.395, 1.676",\
                 "0.132, 0.154, 0.218, 0.333, 0.498, 0.679, 0.885, 1.116, 1.379, 1.661",\
                 "0.136, 0.159, 0.221, 0.343, 0.504, 0.686, 0.898, 1.126, 1.387, 1.668",\
                 "0.17, 0.193, 0.26, 0.374, 0.533, 0.712, 0.929, 1.159, 1.421, 1.703",\
                 "0.235, 0.259, 0.317, 0.433, 0.588, 0.769, 0.979, 1.213, 1.475, 1.756",\
                 "0.339, 0.368, 0.423, 0.527, 0.684, 0.85, 1.06, 1.286, 1.548, 1.836",\
                 "0.488, 0.509, 0.564, 0.664, 0.806, 0.97, 1.173, 1.403, 1.658, 1.94");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.338, 0.327, 0.251, 0.147, 0.013, -0.14, -0.31, -0.508, -0.728, -0.98",\
                 "0.356, 0.341, 0.267, 0.158, 0.031, -0.124, -0.296, -0.494, -0.708, -0.958",\
                 "0.426, 0.414, 0.339, 0.228, 0.097, -0.053, -0.221, -0.422, -0.644, -0.895",\
                 "0.553, 0.536, 0.468, 0.353, 0.222, 0.073, -0.105, -0.302, -0.521, -0.774",\
                 "0.717, 0.703, 0.635, 0.517, 0.384, 0.233, 0.052, -0.145, -0.367, -0.611",\
                 "0.917, 0.901, 0.832, 0.717, 0.583, 0.421, 0.248, 0.053, -0.172, -0.42",\
                 "1.162, 1.144, 1.072, 0.955, 0.811, 0.655, 0.476, 0.276, 0.056, -0.19",\
                 "1.429, 1.413, 1.341, 1.218, 1.079, 0.924, 0.739, 0.538, 0.321, 0.071",\
                 "1.738, 1.718, 1.645, 1.526, 1.379, 1.214, 1.031, 0.834, 0.614, 0.37",\
                 "2.078, 2.064, 1.983, 1.861, 1.709, 1.551, 1.367, 1.166, 0.945, 0.691");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.309, 0.299, 0.229, 0.111, -0.032, -0.192, -0.395, -0.62, -0.855, -1.11",\
                 "0.322, 0.309, 0.243, 0.129, -0.016, -0.183, -0.381, -0.607, -0.844, -1.089",\
                 "0.372, 0.355, 0.284, 0.17, 0.027, -0.136, -0.338, -0.565, -0.801, -1.039",\
                 "0.435, 0.421, 0.352, 0.23, 0.08, -0.088, -0.285, -0.509, -0.749, -0.998",\
                 "0.494, 0.479, 0.408, 0.28, 0.135, -0.039, -0.25, -0.471, -0.707, -0.969",\
                 "0.537, 0.518, 0.449, 0.322, 0.171, -0.016, -0.217, -0.452, -0.69, -0.957",\
                 "0.563, 0.544, 0.474, 0.346, 0.188, 0.002, -0.202, -0.436, -0.683, -0.96",\
                 "0.567, 0.547, 0.479, 0.349, 0.19, 0.006, -0.208, -0.446, -0.699, -0.982",\
                 "0.544, 0.522, 0.453, 0.32, 0.159, -0.023, -0.239, -0.476, -0.732, -1.017",\
                 "0.491, 0.471, 0.402, 0.272, 0.106, -0.078, -0.295, -0.533, -0.794, -1.084");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.419 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.294, 0.2809, 0.2641, 0.2568, 0.2529, 0.2508, 0.2495, 0.2487, 0.2481, 0.2478",\
                 "0.2939, 0.2809, 0.2642, 0.2567, 0.253, 0.2508, 0.2496, 0.2488, 0.2482, 0.2478",\
                 "0.2939, 0.2809, 0.2641, 0.2565, 0.2528, 0.2507, 0.2494, 0.2486, 0.2481, 0.2477",\
                 "0.2942, 0.2812, 0.2644, 0.257, 0.2532, 0.251, 0.2498, 0.249, 0.2484, 0.2481",\
                 "0.2951, 0.282, 0.2651, 0.2577, 0.2539, 0.2518, 0.2506, 0.2497, 0.2492, 0.2488",\
                 "0.2963, 0.2832, 0.2665, 0.2588, 0.255, 0.2529, 0.2516, 0.2508, 0.2502, 0.2499",\
                 "0.2982, 0.2851, 0.2682, 0.2604, 0.2567, 0.2546, 0.2532, 0.2524, 0.2518, 0.2514",\
                 "0.3006, 0.2875, 0.2703, 0.2626, 0.2587, 0.2567, 0.2553, 0.2545, 0.2538, 0.2534",\
                 "0.3035, 0.29, 0.273, 0.2651, 0.2613, 0.259, 0.2577, 0.2569, 0.2563, 0.2559",\
                 "0.3069, 0.2935, 0.2762, 0.2681, 0.2642, 0.2619, 0.2606, 0.2599, 0.2592, 0.2589");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.369, 0.3505, 0.3282, 0.3145, 0.3074, 0.305, 0.3047, 0.3051, 0.309, 0.3274",\
                 "0.369, 0.3508, 0.3281, 0.315, 0.308, 0.3057, 0.3051, 0.3051, 0.308, 0.3277",\
                 "0.369, 0.3507, 0.3281, 0.3146, 0.3074, 0.3047, 0.3047, 0.3048, 0.3077, 0.3269",\
                 "0.3701, 0.3518, 0.3292, 0.3159, 0.3089, 0.3062, 0.3068, 0.3079, 0.3092, 0.3297",\
                 "0.3714, 0.3527, 0.3308, 0.3175, 0.3106, 0.3076, 0.3069, 0.3076, 0.3104, 0.3371",\
                 "0.373, 0.3545, 0.332, 0.3186, 0.3115, 0.3091, 0.3085, 0.3094, 0.3136, 0.3475",\
                 "0.3752, 0.3566, 0.3347, 0.3215, 0.3144, 0.3118, 0.3112, 0.3137, 0.3165, 0.3637",\
                 "0.3777, 0.3593, 0.3369, 0.3235, 0.3173, 0.315, 0.3147, 0.3159, 0.322, 0.3898",\
                 "0.3806, 0.3622, 0.34, 0.3267, 0.3186, 0.3177, 0.3187, 0.3204, 0.3311, 0.4352",\
                 "0.3834, 0.3649, 0.3429, 0.33, 0.3222, 0.3196, 0.32, 0.3252, 0.3478, 0.5213");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.4012, 0.3882, 0.3711, 0.3631, 0.3589, 0.3564, 0.355, 0.354, 0.3534, 0.353",\
                 "0.4016, 0.3886, 0.3715, 0.3634, 0.3594, 0.3569, 0.3554, 0.3545, 0.3538, 0.3534",\
                 "0.402, 0.3889, 0.3715, 0.3636, 0.3594, 0.3571, 0.3556, 0.3547, 0.3541, 0.3537",\
                 "0.4138, 0.3998, 0.3805, 0.3708, 0.3659, 0.3631, 0.3615, 0.3605, 0.3599, 0.3594",\
                 "0.4566, 0.4394, 0.4127, 0.3974, 0.389, 0.3842, 0.3813, 0.3795, 0.3782, 0.3774",\
                 "0.5187, 0.4984, 0.4635, 0.4416, 0.4284, 0.4206, 0.4159, 0.4128, 0.4108, 0.4093",\
                 "0.5972, 0.5742, 0.5318, 0.5024, 0.4839, 0.4725, 0.4652, 0.4604, 0.4572, 0.455",\
                 "0.6899, 0.6646, 0.615, 0.5786, 0.5539, 0.538, 0.5276, 0.5208, 0.5159, 0.5126",\
                 "0.796, 0.7686, 0.7121, 0.6679, 0.6368, 0.6159, 0.602, 0.5925, 0.586, 0.5814",\
                 "0.9147, 0.8859, 0.8228, 0.7704, 0.7329, 0.7065, 0.6882, 0.6755, 0.6667, 0.6604");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.4012, 0.3882, 0.3711, 0.3631, 0.3589, 0.3564, 0.355, 0.354, 0.3534, 0.353",\
                 "0.4016, 0.3886, 0.3715, 0.3634, 0.3594, 0.3569, 0.3554, 0.3545, 0.3538, 0.3534",\
                 "0.402, 0.3889, 0.3715, 0.3636, 0.3594, 0.3571, 0.3556, 0.3547, 0.3541, 0.3537",\
                 "0.4138, 0.3998, 0.3805, 0.3708, 0.3659, 0.3631, 0.3615, 0.3605, 0.3599, 0.3594",\
                 "0.4566, 0.4394, 0.4127, 0.3974, 0.389, 0.3842, 0.3813, 0.3795, 0.3782, 0.3774",\
                 "0.5187, 0.4984, 0.4635, 0.4416, 0.4284, 0.4206, 0.4159, 0.4128, 0.4108, 0.4093",\
                 "0.5972, 0.5742, 0.5318, 0.5024, 0.4839, 0.4725, 0.4652, 0.4604, 0.4572, 0.455",\
                 "0.6899, 0.6646, 0.615, 0.5786, 0.5539, 0.538, 0.5276, 0.5208, 0.5159, 0.5126",\
                 "0.796, 0.7686, 0.7121, 0.6679, 0.6368, 0.6159, 0.602, 0.5925, 0.586, 0.5814",\
                 "0.9147, 0.8859, 0.8228, 0.7704, 0.7329, 0.7065, 0.6882, 0.6755, 0.6667, 0.6604");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.4013, 0.3883, 0.3711, 0.3631, 0.359, 0.3565, 0.3551, 0.3541, 0.3535, 0.3531",\
                 "0.4017, 0.3887, 0.3716, 0.3634, 0.3594, 0.3569, 0.3554, 0.3545, 0.3539, 0.3534",\
                 "0.4019, 0.3888, 0.3715, 0.3636, 0.3594, 0.357, 0.3556, 0.3547, 0.3541, 0.3537",\
                 "0.4139, 0.3998, 0.3804, 0.3708, 0.3659, 0.3632, 0.3616, 0.3605, 0.3599, 0.3595",\
                 "0.4566, 0.4393, 0.4128, 0.3973, 0.3889, 0.3841, 0.3812, 0.3794, 0.3782, 0.3774",\
                 "0.5187, 0.4983, 0.4637, 0.4416, 0.4286, 0.4207, 0.4159, 0.4127, 0.4107, 0.4093",\
                 "0.5973, 0.5741, 0.532, 0.5025, 0.484, 0.4726, 0.4652, 0.4604, 0.4572, 0.4551",\
                 "0.6899, 0.6647, 0.6152, 0.5784, 0.5539, 0.538, 0.5277, 0.5207, 0.516, 0.5128",\
                 "0.796, 0.7687, 0.7121, 0.668, 0.6373, 0.6163, 0.6022, 0.5927, 0.5862, 0.5815",\
                 "0.9149, 0.8858, 0.8226, 0.7702, 0.7326, 0.7063, 0.688, 0.6754, 0.6665, 0.6603");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.4013, 0.3883, 0.3711, 0.3631, 0.359, 0.3565, 0.3551, 0.3541, 0.3535, 0.3531",\
                 "0.4017, 0.3887, 0.3716, 0.3634, 0.3594, 0.3569, 0.3554, 0.3545, 0.3539, 0.3534",\
                 "0.4019, 0.3888, 0.3715, 0.3636, 0.3594, 0.357, 0.3556, 0.3547, 0.3541, 0.3537",\
                 "0.4139, 0.3998, 0.3804, 0.3708, 0.3659, 0.3632, 0.3616, 0.3605, 0.3599, 0.3595",\
                 "0.4566, 0.4393, 0.4128, 0.3973, 0.3889, 0.3841, 0.3812, 0.3794, 0.3782, 0.3774",\
                 "0.5187, 0.4983, 0.4637, 0.4416, 0.4286, 0.4207, 0.4159, 0.4127, 0.4107, 0.4093",\
                 "0.5973, 0.5741, 0.532, 0.5025, 0.484, 0.4726, 0.4652, 0.4604, 0.4572, 0.4551",\
                 "0.6899, 0.6647, 0.6152, 0.5784, 0.5539, 0.538, 0.5277, 0.5207, 0.516, 0.5128",\
                 "0.796, 0.7687, 0.7121, 0.668, 0.6373, 0.6163, 0.6022, 0.5927, 0.5862, 0.5815",\
                 "0.9149, 0.8858, 0.8226, 0.7702, 0.7326, 0.7063, 0.688, 0.6754, 0.6665, 0.6603");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.3059, 0.2931, 0.2763, 0.2682, 0.2642, 0.2618, 0.2604, 0.2595, 0.2589, 0.2585",\
                 "0.306, 0.2931, 0.2764, 0.2683, 0.2643, 0.2619, 0.2605, 0.2597, 0.259, 0.2586",\
                 "0.3063, 0.2934, 0.2763, 0.2684, 0.2645, 0.2622, 0.2609, 0.26, 0.2594, 0.259",\
                 "0.3159, 0.3019, 0.283, 0.2735, 0.2688, 0.2661, 0.2646, 0.2637, 0.2631, 0.2626",\
                 "0.3508, 0.3339, 0.3078, 0.2927, 0.2845, 0.2799, 0.2771, 0.2753, 0.2742, 0.2735",\
                 "0.3993, 0.3794, 0.3449, 0.3232, 0.3104, 0.3028, 0.2982, 0.2952, 0.2933, 0.292",\
                 "0.4593, 0.4363, 0.3938, 0.3645, 0.3464, 0.3352, 0.328, 0.3234, 0.3203, 0.3182",\
                 "0.5294, 0.5036, 0.4529, 0.4158, 0.3918, 0.376, 0.3657, 0.3592, 0.3546, 0.3513",\
                 "0.6074, 0.5785, 0.5202, 0.4753, 0.4448, 0.4241, 0.4103, 0.4011, 0.3949, 0.3904",\
                 "0.6913, 0.6599, 0.5944, 0.5422, 0.5051, 0.4789, 0.4613, 0.4492, 0.4409, 0.4351");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.3059, 0.2931, 0.2763, 0.2682, 0.2642, 0.2618, 0.2604, 0.2595, 0.2589, 0.2585",\
                 "0.306, 0.2931, 0.2764, 0.2683, 0.2643, 0.2619, 0.2605, 0.2597, 0.259, 0.2586",\
                 "0.3063, 0.2934, 0.2763, 0.2684, 0.2645, 0.2622, 0.2609, 0.26, 0.2594, 0.259",\
                 "0.3159, 0.3019, 0.283, 0.2735, 0.2688, 0.2661, 0.2646, 0.2637, 0.2631, 0.2626",\
                 "0.3508, 0.3339, 0.3078, 0.2927, 0.2845, 0.2799, 0.2771, 0.2753, 0.2742, 0.2735",\
                 "0.3993, 0.3794, 0.3449, 0.3232, 0.3104, 0.3028, 0.2982, 0.2952, 0.2933, 0.292",\
                 "0.4593, 0.4363, 0.3938, 0.3645, 0.3464, 0.3352, 0.328, 0.3234, 0.3203, 0.3182",\
                 "0.5294, 0.5036, 0.4529, 0.4158, 0.3918, 0.376, 0.3657, 0.3592, 0.3546, 0.3513",\
                 "0.6074, 0.5785, 0.5202, 0.4753, 0.4448, 0.4241, 0.4103, 0.4011, 0.3949, 0.3904",\
                 "0.6913, 0.6599, 0.5944, 0.5422, 0.5051, 0.4789, 0.4613, 0.4492, 0.4409, 0.4351");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.3137, 0.3007, 0.2838, 0.2759, 0.2719, 0.2695, 0.2681, 0.2672, 0.2666, 0.2662",\
                 "0.314, 0.3011, 0.2842, 0.2763, 0.2723, 0.2699, 0.2685, 0.2676, 0.267, 0.2666",\
                 "0.3143, 0.3013, 0.2844, 0.2764, 0.2724, 0.2701, 0.2688, 0.2679, 0.2674, 0.267",\
                 "0.3239, 0.3099, 0.2909, 0.2815, 0.2768, 0.2741, 0.2726, 0.2717, 0.271, 0.2706",\
                 "0.3587, 0.3419, 0.3158, 0.3006, 0.2925, 0.2879, 0.2852, 0.2834, 0.2823, 0.2815",\
                 "0.4071, 0.3872, 0.353, 0.3311, 0.3184, 0.3108, 0.3061, 0.3032, 0.3012, 0.2999",\
                 "0.4673, 0.4444, 0.4019, 0.3725, 0.3543, 0.3432, 0.3361, 0.3314, 0.3284, 0.3263",\
                 "0.5372, 0.5114, 0.4606, 0.4238, 0.3996, 0.3839, 0.3737, 0.3671, 0.3625, 0.3593",\
                 "0.6148, 0.5864, 0.5277, 0.4834, 0.453, 0.4323, 0.4184, 0.4091, 0.4029, 0.3984",\
                 "0.6992, 0.668, 0.602, 0.5499, 0.5129, 0.487, 0.4691, 0.457, 0.4487, 0.4429");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.3137, 0.3007, 0.2838, 0.2759, 0.2719, 0.2695, 0.2681, 0.2672, 0.2666, 0.2662",\
                 "0.314, 0.3011, 0.2842, 0.2763, 0.2723, 0.2699, 0.2685, 0.2676, 0.267, 0.2666",\
                 "0.3143, 0.3013, 0.2844, 0.2764, 0.2724, 0.2701, 0.2688, 0.2679, 0.2674, 0.267",\
                 "0.3239, 0.3099, 0.2909, 0.2815, 0.2768, 0.2741, 0.2726, 0.2717, 0.271, 0.2706",\
                 "0.3587, 0.3419, 0.3158, 0.3006, 0.2925, 0.2879, 0.2852, 0.2834, 0.2823, 0.2815",\
                 "0.4071, 0.3872, 0.353, 0.3311, 0.3184, 0.3108, 0.3061, 0.3032, 0.3012, 0.2999",\
                 "0.4673, 0.4444, 0.4019, 0.3725, 0.3543, 0.3432, 0.3361, 0.3314, 0.3284, 0.3263",\
                 "0.5372, 0.5114, 0.4606, 0.4238, 0.3996, 0.3839, 0.3737, 0.3671, 0.3625, 0.3593",\
                 "0.6148, 0.5864, 0.5277, 0.4834, 0.453, 0.4323, 0.4184, 0.4091, 0.4029, 0.3984",\
                 "0.6992, 0.668, 0.602, 0.5499, 0.5129, 0.487, 0.4691, 0.457, 0.4487, 0.4429");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.9745, 1.022, 1.139, 1.301, 1.513, 1.791, 2.152, 2.604, 3.157, 3.816",\
                 "0.9916, 1.039, 1.156, 1.318, 1.53, 1.808, 2.169, 2.622, 3.174, 3.833",\
                 "1.058, 1.106, 1.222, 1.384, 1.596, 1.875, 2.235, 2.688, 3.241, 3.899",\
                 "1.186, 1.234, 1.35, 1.513, 1.725, 2.003, 2.363, 2.816, 3.369, 4.028",\
                 "1.353, 1.401, 1.518, 1.68, 1.892, 2.17, 2.531, 2.984, 3.536, 4.196",\
                 "1.546, 1.594, 1.71, 1.873, 2.085, 2.363, 2.723, 3.176, 3.729, 4.388",\
                 "1.765, 1.813, 1.929, 2.092, 2.304, 2.582, 2.942, 3.395, 3.948, 4.607",\
                 "2.009, 2.057, 2.173, 2.336, 2.548, 2.826, 3.186, 3.639, 4.192, 4.85",\
                 "2.277, 2.325, 2.442, 2.604, 2.816, 3.094, 3.455, 3.908, 4.46, 5.119",\
                 "2.57, 2.618, 2.735, 2.897, 3.11, 3.387, 3.748, 4.201, 4.753, 5.413");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("1.41, 1.47, 1.628, 1.878, 2.233, 2.721, 3.363, 4.171, 5.16, 6.34",\
                 "1.427, 1.487, 1.645, 1.895, 2.25, 2.738, 3.38, 4.188, 5.177, 6.357",\
                 "1.493, 1.553, 1.711, 1.961, 2.316, 2.804, 3.446, 4.254, 5.243, 6.419",\
                 "1.624, 1.684, 1.842, 2.092, 2.447, 2.935, 3.576, 4.386, 5.372, 6.551",\
                 "1.797, 1.857, 2.016, 2.265, 2.62, 3.108, 3.75, 4.559, 5.547, 6.724",\
                 "1.999, 2.058, 2.216, 2.466, 2.821, 3.309, 3.95, 4.759, 5.748, 6.927",\
                 "2.228, 2.288, 2.446, 2.696, 3.051, 3.539, 4.181, 4.99, 5.978, 7.156",\
                 "2.486, 2.546, 2.705, 2.954, 3.309, 3.797, 4.439, 5.248, 6.235, 7.416",\
                 "2.77, 2.829, 2.988, 3.238, 3.593, 4.082, 4.722, 5.531, 6.518, 7.695",\
                 "3.078, 3.137, 3.296, 3.546, 3.9, 4.389, 5.031, 5.839, 6.826, 8.004");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.1276, 0.1721, 0.2886, 0.4738, 0.7652, 1.202, 1.797, 2.552, 3.485, 4.596",\
                 "0.1274, 0.172, 0.2886, 0.474, 0.767, 1.203, 1.797, 2.555, 3.482, 4.596",\
                 "0.1272, 0.172, 0.2886, 0.4742, 0.7672, 1.203, 1.797, 2.554, 3.484, 4.596",\
                 "0.1274, 0.172, 0.2884, 0.474, 0.766, 1.203, 1.797, 2.554, 3.482, 4.596",\
                 "0.1274, 0.1722, 0.2886, 0.474, 0.766, 1.201, 1.797, 2.555, 3.484, 4.594",\
                 "0.1276, 0.1724, 0.2888, 0.4734, 0.7668, 1.202, 1.795, 2.555, 3.486, 4.593",\
                 "0.1276, 0.1726, 0.289, 0.4734, 0.7662, 1.202, 1.796, 2.555, 3.482, 4.596",\
                 "0.1278, 0.173, 0.289, 0.474, 0.7658, 1.203, 1.796, 2.551, 3.481, 4.589",\
                 "0.1286, 0.173, 0.2894, 0.474, 0.7666, 1.202, 1.796, 2.553, 3.48, 4.586",\
                 "0.1284, 0.1734, 0.2898, 0.4742, 0.7664, 1.202, 1.797, 2.555, 3.479, 4.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.165, 0.2288, 0.4324, 0.793, 1.37, 2.218, 3.347, 4.778, 6.517, 8.591",\
                 "0.164, 0.2286, 0.4334, 0.7928, 1.369, 2.218, 3.346, 4.777, 6.516, 8.592",\
                 "0.164, 0.2286, 0.4334, 0.7928, 1.372, 2.218, 3.346, 4.777, 6.516, 8.594",\
                 "0.164, 0.2288, 0.433, 0.793, 1.37, 2.216, 3.349, 4.773, 6.518, 8.592",\
                 "0.165, 0.2286, 0.433, 0.7932, 1.371, 2.216, 3.348, 4.771, 6.525, 8.598",\
                 "0.1636, 0.2286, 0.4328, 0.792, 1.37, 2.216, 3.348, 4.778, 6.516, 8.592",\
                 "0.164, 0.228, 0.4328, 0.7928, 1.371, 2.216, 3.349, 4.779, 6.512, 8.599",\
                 "0.1638, 0.2278, 0.432, 0.7914, 1.37, 2.215, 3.347, 4.778, 6.52, 8.593",\
                 "0.1638, 0.2276, 0.433, 0.791, 1.371, 2.217, 3.346, 4.774, 6.516, 8.6",\
                 "0.1636, 0.2278, 0.4322, 0.7916, 1.37, 2.216, 3.345, 4.771, 6.51, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.3995, 0.449, 0.5688, 0.7331, 0.9455, 1.222, 1.58, 2.032, 2.584, 3.243",\
                 "0.417, 0.4667, 0.5864, 0.7508, 0.9631, 1.239, 1.598, 2.05, 2.602, 3.261",\
                 "0.4828, 0.5325, 0.652, 0.8163, 1.028, 1.304, 1.662, 2.114, 2.667, 3.326",\
                 "0.6142, 0.6635, 0.7822, 0.946, 1.156, 1.431, 1.789, 2.241, 2.793, 3.452",\
                 "0.7881, 0.8418, 0.966, 1.132, 1.338, 1.611, 1.969, 2.421, 2.973, 3.631",\
                 "0.9761, 1.035, 1.168, 1.34, 1.546, 1.818, 2.174, 2.625, 3.177, 3.835",\
                 "1.18, 1.243, 1.387, 1.563, 1.769, 2.04, 2.395, 2.845, 3.397, 4.055",\
                 "1.397, 1.466, 1.62, 1.804, 2.011, 2.279, 2.634, 3.083, 3.633, 4.29",\
                 "1.629, 1.702, 1.868, 2.062, 2.272, 2.539, 2.892, 3.34, 3.889, 4.546",\
                 "1.875, 1.953, 2.131, 2.34, 2.555, 2.821, 3.172, 3.618, 4.167, 4.822");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.1317, 0.1779, 0.2938, 0.4772, 0.7618, 1.19, 1.784, 2.543, 3.47, 4.578",\
                 "0.1318, 0.1778, 0.2936, 0.477, 0.7617, 1.19, 1.783, 2.541, 3.474, 4.582",\
                 "0.1315, 0.178, 0.2938, 0.4767, 0.7606, 1.189, 1.783, 2.542, 3.474, 4.58",\
                 "0.1342, 0.1804, 0.2952, 0.4754, 0.756, 1.186, 1.782, 2.543, 3.471, 4.578",\
                 "0.1628, 0.209, 0.3164, 0.4818, 0.752, 1.184, 1.782, 2.543, 3.471, 4.578",\
                 "0.1934, 0.2438, 0.351, 0.5, 0.7554, 1.184, 1.783, 2.543, 3.475, 4.585",\
                 "0.2264, 0.2796, 0.387, 0.5202, 0.7628, 1.187, 1.783, 2.542, 3.473, 4.578",\
                 "0.2626, 0.3192, 0.4294, 0.5468, 0.7732, 1.19, 1.784, 2.542, 3.468, 4.579",\
                 "0.3016, 0.363, 0.4778, 0.5834, 0.787, 1.194, 1.786, 2.542, 3.471, 4.577",\
                 "0.343, 0.4084, 0.5334, 0.6342, 0.8094, 1.199, 1.787, 2.545, 3.473, 4.576");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.3994, 0.4491, 0.5688, 0.7331, 0.9455, 1.222, 1.58, 2.032, 2.584, 3.243",\
                 "0.417, 0.4667, 0.5864, 0.7508, 0.9631, 1.239, 1.598, 2.05, 2.602, 3.261",\
                 "0.4828, 0.5325, 0.652, 0.8163, 1.028, 1.304, 1.662, 2.114, 2.667, 3.326",\
                 "0.6142, 0.6635, 0.7822, 0.946, 1.156, 1.431, 1.789, 2.241, 2.793, 3.452",\
                 "0.7878, 0.8417, 0.966, 1.132, 1.338, 1.611, 1.969, 2.421, 2.973, 3.631",\
                 "0.9759, 1.034, 1.169, 1.34, 1.546, 1.818, 2.174, 2.625, 3.177, 3.835",\
                 "1.179, 1.243, 1.387, 1.563, 1.769, 2.039, 2.395, 2.846, 3.396, 4.055",\
                 "1.397, 1.465, 1.62, 1.804, 2.011, 2.279, 2.634, 3.083, 3.633, 4.291",\
                 "1.629, 1.702, 1.868, 2.062, 2.272, 2.54, 2.892, 3.34, 3.889, 4.546",\
                 "1.874, 1.953, 2.131, 2.34, 2.554, 2.821, 3.171, 3.618, 4.166, 4.822");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.132, 0.1777, 0.2938, 0.477, 0.7621, 1.19, 1.784, 2.543, 3.473, 4.582",\
                 "0.1318, 0.1778, 0.2936, 0.477, 0.7617, 1.19, 1.783, 2.541, 3.474, 4.583",\
                 "0.1316, 0.1781, 0.2939, 0.4769, 0.7606, 1.189, 1.783, 2.541, 3.474, 4.583",\
                 "0.1341, 0.1804, 0.2952, 0.4756, 0.756, 1.186, 1.782, 2.543, 3.475, 4.584",\
                 "0.1624, 0.2092, 0.3162, 0.4818, 0.7518, 1.184, 1.782, 2.543, 3.472, 4.578",\
                 "0.194, 0.243, 0.351, 0.5, 0.7556, 1.184, 1.783, 2.543, 3.474, 4.584",\
                 "0.2266, 0.2798, 0.3874, 0.5204, 0.7626, 1.187, 1.783, 2.542, 3.473, 4.581",\
                 "0.2628, 0.3198, 0.429, 0.5462, 0.7732, 1.19, 1.783, 2.542, 3.468, 4.579",\
                 "0.3012, 0.3626, 0.4778, 0.5832, 0.7882, 1.194, 1.785, 2.543, 3.472, 4.574",\
                 "0.3418, 0.4082, 0.5326, 0.634, 0.809, 1.2, 1.786, 2.545, 3.472, 4.577");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.3998, 0.4491, 0.5673, 0.7303, 0.937, 1.211, 1.569, 2.021, 2.574, 3.234",\
                 "0.4174, 0.4668, 0.5849, 0.7479, 0.9546, 1.228, 1.587, 2.039, 2.592, 3.251",\
                 "0.4829, 0.5324, 0.6504, 0.8134, 1.02, 1.294, 1.652, 2.104, 2.657, 3.315",\
                 "0.614, 0.6629, 0.7801, 0.9427, 1.149, 1.423, 1.781, 2.233, 2.785, 3.446",\
                 "0.7864, 0.84, 0.963, 1.128, 1.334, 1.606, 1.964, 2.416, 2.968, 3.628",\
                 "0.9735, 1.032, 1.164, 1.337, 1.544, 1.815, 2.172, 2.623, 3.174, 3.834",\
                 "1.176, 1.239, 1.381, 1.561, 1.768, 2.038, 2.394, 2.843, 3.394, 4.052",\
                 "1.394, 1.461, 1.614, 1.8, 2.008, 2.275, 2.629, 3.078, 3.628, 4.285",\
                 "1.626, 1.698, 1.861, 2.054, 2.261, 2.527, 2.878, 3.326, 3.875, 4.531",\
                 "1.873, 1.949, 2.121, 2.321, 2.527, 2.79, 3.14, 3.586, 4.134, 4.789");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.1314, 0.1772, 0.2914, 0.4682, 0.7469, 1.183, 1.782, 2.544, 3.476, 4.584",\
                 "0.1317, 0.177, 0.2914, 0.468, 0.7469, 1.183, 1.782, 2.541, 3.475, 4.583",\
                 "0.132, 0.1772, 0.2916, 0.4678, 0.7468, 1.183, 1.781, 2.542, 3.473, 4.585",\
                 "0.1339, 0.1786, 0.2936, 0.4686, 0.747, 1.182, 1.781, 2.542, 3.477, 4.586",\
                 "0.1612, 0.207, 0.3146, 0.479, 0.7496, 1.184, 1.783, 2.544, 3.474, 4.589",\
                 "0.1902, 0.2396, 0.3496, 0.504, 0.7574, 1.185, 1.783, 2.544, 3.477, 4.59",\
                 "0.2234, 0.2766, 0.3874, 0.5284, 0.7664, 1.188, 1.783, 2.541, 3.473, 4.584",\
                 "0.2578, 0.3146, 0.4296, 0.5538, 0.7748, 1.19, 1.785, 2.542, 3.468, 4.576",\
                 "0.2948, 0.3546, 0.4728, 0.5804, 0.784, 1.193, 1.786, 2.542, 3.471, 4.574",\
                 "0.335, 0.3962, 0.5172, 0.607, 0.7932, 1.196, 1.785, 2.544, 3.471, 4.575");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.3997, 0.4492, 0.5673, 0.7303, 0.937, 1.211, 1.569, 2.021, 2.574, 3.233",\
                 "0.4173, 0.4668, 0.585, 0.7479, 0.9546, 1.228, 1.587, 2.039, 2.591, 3.251",\
                 "0.483, 0.5323, 0.6504, 0.8134, 1.02, 1.294, 1.652, 2.104, 2.657, 3.316",\
                 "0.614, 0.6629, 0.7802, 0.9427, 1.149, 1.423, 1.781, 2.233, 2.785, 3.446",\
                 "0.7866, 0.8399, 0.9631, 1.128, 1.334, 1.606, 1.964, 2.416, 2.968, 3.627",\
                 "0.9733, 1.031, 1.164, 1.337, 1.544, 1.815, 2.172, 2.623, 3.174, 3.833",\
                 "1.176, 1.239, 1.382, 1.561, 1.768, 2.038, 2.394, 2.844, 3.395, 4.053",\
                 "1.393, 1.461, 1.614, 1.8, 2.008, 2.276, 2.629, 3.078, 3.628, 4.285",\
                 "1.626, 1.698, 1.861, 2.054, 2.261, 2.527, 2.878, 3.326, 3.875, 4.531",\
                 "1.874, 1.949, 2.121, 2.321, 2.528, 2.791, 3.14, 3.586, 4.134, 4.789");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.1323, 0.177, 0.2915, 0.4682, 0.7464, 1.184, 1.782, 2.542, 3.474, 4.581",\
                 "0.1322, 0.177, 0.2917, 0.4682, 0.7469, 1.183, 1.782, 2.545, 3.476, 4.589",\
                 "0.132, 0.1773, 0.2918, 0.4679, 0.7468, 1.183, 1.782, 2.544, 3.472, 4.588",\
                 "0.1339, 0.1788, 0.2934, 0.4688, 0.7464, 1.182, 1.782, 2.544, 3.476, 4.589",\
                 "0.1606, 0.2066, 0.3146, 0.479, 0.7494, 1.184, 1.782, 2.543, 3.476, 4.584",\
                 "0.1906, 0.2414, 0.35, 0.5042, 0.7574, 1.185, 1.783, 2.544, 3.474, 4.583",\
                 "0.2242, 0.277, 0.3876, 0.5286, 0.7662, 1.188, 1.782, 2.541, 3.47, 4.582",\
                 "0.258, 0.315, 0.4296, 0.5538, 0.7754, 1.191, 1.784, 2.542, 3.469, 4.578",\
                 "0.2958, 0.3548, 0.4726, 0.5804, 0.784, 1.193, 1.787, 2.543, 3.473, 4.576",\
                 "0.3336, 0.3962, 0.5172, 0.606, 0.7936, 1.196, 1.786, 2.542, 3.471, 4.574");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.3995, 0.449, 0.5688, 0.7331, 0.9455, 1.222, 1.58, 2.032, 2.584, 3.243",\
                 "0.417, 0.4667, 0.5864, 0.7508, 0.9631, 1.239, 1.598, 2.05, 2.602, 3.261",\
                 "0.4828, 0.5325, 0.652, 0.8163, 1.028, 1.304, 1.662, 2.114, 2.667, 3.326",\
                 "0.6142, 0.6635, 0.7822, 0.946, 1.156, 1.431, 1.789, 2.241, 2.793, 3.452",\
                 "0.7881, 0.8418, 0.966, 1.132, 1.338, 1.611, 1.969, 2.421, 2.973, 3.631",\
                 "0.9761, 1.035, 1.168, 1.34, 1.546, 1.818, 2.174, 2.625, 3.177, 3.835",\
                 "1.18, 1.243, 1.387, 1.563, 1.769, 2.04, 2.395, 2.845, 3.397, 4.055",\
                 "1.397, 1.466, 1.62, 1.804, 2.011, 2.279, 2.634, 3.083, 3.633, 4.29",\
                 "1.629, 1.702, 1.868, 2.062, 2.272, 2.539, 2.892, 3.34, 3.889, 4.546",\
                 "1.875, 1.953, 2.131, 2.34, 2.555, 2.821, 3.172, 3.618, 4.167, 4.822");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01079, 0.04514, 0.1107, 0.2129, 0.3563, 0.545, 0.7828, 1.073, 1.419");
          values("0.1314, 0.1772, 0.2914, 0.4682, 0.7469, 1.183, 1.782, 2.544, 3.476, 4.584",\
                 "0.1317, 0.177, 0.2914, 0.468, 0.7469, 1.183, 1.782, 2.541, 3.475, 4.583",\
                 "0.132, 0.1772, 0.2916, 0.4678, 0.7468, 1.183, 1.781, 2.542, 3.473, 4.585",\
                 "0.1339, 0.1786, 0.2936, 0.4686, 0.747, 1.182, 1.781, 2.542, 3.477, 4.586",\
                 "0.1612, 0.207, 0.3146, 0.479, 0.7496, 1.184, 1.783, 2.544, 3.474, 4.589",\
                 "0.1902, 0.2396, 0.3496, 0.504, 0.7574, 1.185, 1.783, 2.544, 3.477, 4.59",\
                 "0.2234, 0.2766, 0.3874, 0.5284, 0.7664, 1.188, 1.783, 2.541, 3.473, 4.584",\
                 "0.2578, 0.3146, 0.4296, 0.5538, 0.7748, 1.19, 1.785, 2.542, 3.468, 4.576",\
                 "0.2948, 0.3546, 0.4728, 0.5804, 0.784, 1.193, 1.786, 2.542, 3.471, 4.574",\
                 "0.335, 0.3962, 0.5172, 0.607, 0.7932, 1.196, 1.785, 2.544, 3.471, 4.575");
        }
      }
    }

    pin(RN) {
      capacitance : 0.006997 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.534 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02599, 0.02486, 0.02466, 0.0247, 0.02468, 0.02467, 0.0247, 0.02471, \
                 0.02469, 0.02469");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02468, -0.02465, -0.02462, -0.02459, -0.02458, -0.02464, -0.02463, \
                 -0.02464, -0.02462, -0.02463");
        }
      }

      internal_power() {
        when : "!CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02591, 0.02481, 0.02467, 0.02465, 0.02467, 0.02471, 0.02468, \
                 0.0247, 0.02469, 0.02469");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02468, -0.02465, -0.02462, -0.02458, -0.02458, -0.02464, -0.02463, \
                 -0.02464, -0.02462, -0.02463");
        }
      }

      internal_power() {
        when : "CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02535, 0.02473, 0.02465, 0.02465, 0.02466, 0.02469, 0.0247, \
                 0.02469, 0.0247, 0.0247");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02466, -0.02463, -0.0246, -0.02457, -0.02458, -0.02464, -0.02461, \
                 -0.02463, -0.02463, -0.0246");
        }
      }

      internal_power() {
        when : "CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02465, 0.02386, 0.02361, 0.02353, 0.0235, 0.02354, 0.02353, \
                 0.0235, 0.0235, 0.02349");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02325, -0.02348, -0.02385, -0.02409, -0.02419, -0.02431, -0.02436, \
                 -0.02438, -0.0244, -0.02441");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.573, -0.589, -0.661, -0.798, -0.977, -1.176, -1.406, -1.665, -1.938, -2.246",\
                 "-0.573, -0.588, -0.663, -0.797, -0.973, -1.179, -1.41, -1.664, -1.944, -2.248",\
                 "-0.567, -0.575, -0.653, -0.792, -0.973, -1.176, -1.416, -1.678, -1.959, -2.262",\
                 "-0.483, -0.496, -0.569, -0.719, -0.907, -1.119, -1.364, -1.638, -1.937, -2.257",\
                 "-0.22, -0.239, -0.313, -0.464, -0.659, -0.88, -1.142, -1.426, -1.729, -2.071",\
                 "0.261, 0.241, 0.156, 0.001, -0.206, -0.443, -0.722, -1.025, -1.345, -1.694",\
                 "0.934, 0.921, 0.81, 0.655, 0.428, 0.17, -0.129, -0.465, -0.807, -1.181",\
                 "1.789, 1.801, 1.666, 1.498, 1.242, 0.966, 0.641, 0.275, -0.111, -0.519",\
                 "2.845, 2.859, 2.704, 2.514, 2.24, 1.927, 1.581, 1.151, 0.747, 0.334",\
                 "4.105, 4.145, 3.962, 3.741, 3.472, 3.085, 2.695, 2.259, 1.791, 1.3");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.779, 0.794, 0.86, 0.989, 1.156, 1.343, 1.567, 1.807, 2.081, 2.376",\
                 "0.778, 0.794, 0.864, 0.99, 1.158, 1.349, 1.572, 1.813, 2.08, 2.379",\
                 "0.804, 0.823, 0.89, 1.019, 1.182, 1.375, 1.598, 1.84, 2.108, 2.402",\
                 "0.874, 0.891, 0.952, 1.08, 1.246, 1.441, 1.664, 1.899, 2.173, 2.465",\
                 "0.98, 0.996, 1.062, 1.194, 1.359, 1.546, 1.766, 2.012, 2.278, 2.572",\
                 "1.132, 1.15, 1.217, 1.345, 1.512, 1.7, 1.915, 2.162, 2.43, 2.722",\
                 "1.309, 1.324, 1.392, 1.523, 1.689, 1.878, 2.099, 2.339, 2.609, 2.901",\
                 "1.516, 1.53, 1.597, 1.729, 1.891, 2.083, 2.306, 2.541, 2.812, 3.105",\
                 "1.756, 1.765, 1.838, 1.96, 2.13, 2.317, 2.532, 2.778, 3.042, 3.331",\
                 "2.013, 2.029, 2.098, 2.225, 2.391, 2.58, 2.8, 3.039, 3.307, 3.592");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.534");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D" ;

        fall_constraint(scalar) {
          values("0.534");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnrsnq_1) {
    area : 94.393600 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : L ;
      clear_preset_var2 : H ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!RN&!SETN" ;
      value : "0.0002300529" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!RN&SETN" ;
      value : "0.0002188065" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&RN&!SETN" ;
      value : "0.0002126685" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&RN&SETN" ;
      value : "0.0002395074" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!RN&!SETN" ;
      value : "0.000230901" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!RN&SETN" ;
      value : "0.0002196579" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&RN&!SETN" ;
      value : "0.0002120019" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&RN&SETN" ;
      value : "0.000346632" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!RN&!SETN" ;
      value : "0.0001968483" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!RN&SETN" ;
      value : "0.000202125" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&RN&!SETN" ;
      value : "0.0001906443" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&RN&SETN" ;
      value : "0.0002854071" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!RN&!SETN" ;
      value : "0.0001958418" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!RN&SETN" ;
      value : "0.0002083059" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&RN&!SETN" ;
      value : "0.000189222" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&RN&SETN" ;
      value : "0.0002812128" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000346632" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003355 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.105 ;
      min_pulse_width_high : 1.05 ;
      min_pulse_width_low : 0.718 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1631, 0.1628, 0.1633, 0.1683, 0.1796, 0.1976, 0.2231, 0.2568, \
                 0.299, 0.3499");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.106, 0.1058, 0.1061, 0.1105, 0.1197, 0.1353, 0.1578, 0.1875, \
                 0.2247, 0.2698");
        }
      }

      internal_power() {
        when : "!D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1512, 0.1509, 0.1515, 0.1565, 0.1679, 0.1859, 0.2116, 0.2452, \
                 0.2875, 0.3384");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1052, 0.105, 0.1054, 0.1096, 0.1188, 0.1344, 0.1568, 0.1863, \
                 0.2236, 0.2685");
        }
      }

      internal_power() {
        when : "!D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1779, 0.1776, 0.1781, 0.1834, 0.1954, 0.2143, 0.2411, 0.2764, \
                 0.3204, 0.3734");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1548, 0.1546, 0.1548, 0.1593, 0.169, 0.1853, 0.2087, 0.2395, \
                 0.2781, 0.3247");
        }
      }

      internal_power() {
        when : "!D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1513, 0.1509, 0.1515, 0.1566, 0.1679, 0.1859, 0.2116, 0.2452, \
                 0.2875, 0.3384");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1052, 0.105, 0.1053, 0.1096, 0.1188, 0.1343, 0.1567, 0.1863, \
                 0.2236, 0.2685");
        }
      }

      internal_power() {
        when : "D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2153, 0.2149, 0.2155, 0.2205, 0.2317, 0.2498, 0.2753, 0.309, \
                 0.3512, 0.4022");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1334, 0.1337, 0.1384, 0.1484, 0.1648, 0.1882, 0.2189, \
                 0.2574, 0.3036");
        }
      }

      internal_power() {
        when : "D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.3184, 0.3181, 0.3187, 0.3244, 0.3369, 0.3562, 0.3835, 0.4191, \
                 0.4633, 0.5165");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1996, 0.1993, 0.1997, 0.2044, 0.2144, 0.2305, 0.254, 0.2847, \
                 0.3232, 0.3695");
        }
      }

      internal_power() {
        when : "D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1572, 0.1569, 0.1574, 0.1625, 0.1738, 0.1918, 0.2174, 0.2511, \
                 0.2933, 0.3444");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1071, 0.1069, 0.1072, 0.1115, 0.1206, 0.1361, 0.1585, 0.1881, \
                 0.2252, 0.2702");
        }
      }

      internal_power() {
        when : "D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1572, 0.1569, 0.1574, 0.1625, 0.1738, 0.1919, 0.2175, 0.2512, \
                 0.2934, 0.3443");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1071, 0.1068, 0.1071, 0.1114, 0.1207, 0.1361, 0.1585, 0.1881, \
                 0.2252, 0.2702");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.66");
        }

        rise_constraint(scalar) {
          values("1.05");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.718");
        }

        rise_constraint(scalar) {
          values("0.545");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SETN" ;

        fall_constraint(scalar) {
          values("2.105");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SETN" ;

        fall_constraint(scalar) {
          values("1.809");
        }
      }
    }

    pin(D) {
      capacitance : 0.002409 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02312, 0.0225, 0.02406, 0.02879, 0.03724, 0.04976, 0.06675, \
                 0.08845, 0.1152, 0.1474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002543, 0.002402, 0.003317, 0.006877, 0.01371, 0.02409, 0.03833, \
                 0.05661, 0.07918, 0.1063");
        }
      }

      internal_power() {
        when : "!CLKN&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02311, 0.0225, 0.02405, 0.02879, 0.03723, 0.04976, 0.06675, \
                 0.08848, 0.1152, 0.1474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002544, 0.002402, 0.003319, 0.006878, 0.01371, 0.02409, 0.03833, \
                 0.05661, 0.07919, 0.1063");
        }
      }

      internal_power() {
        when : "!CLKN&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02312, 0.0225, 0.02405, 0.02879, 0.03723, 0.04976, 0.06675, \
                 0.08849, 0.1152, 0.1474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002559, 0.002402, 0.003318, 0.006878, 0.01371, 0.02409, 0.03833, \
                 0.05661, 0.07918, 0.1063");
        }
      }

      internal_power() {
        when : "!CLKN&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02312, 0.02253, 0.02404, 0.02879, 0.03725, 0.04977, 0.06674, \
                 0.08848, 0.1152, 0.1473");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002561, 0.002406, 0.003323, 0.006874, 0.01372, 0.0241, 0.03833, \
                 0.05662, 0.07918, 0.1063");
        }
      }

      internal_power() {
        when : "CLKN&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07309, 0.07276, 0.07347, 0.07668, 0.08327, 0.09379, 0.1087, \
                 0.1284, 0.1533, 0.1837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02442, 0.0243, 0.02511, 0.02788, 0.03325, 0.04182, 0.0541, 0.07046, \
                 0.09121, 0.1167");
        }
      }

      internal_power() {
        when : "CLKN&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1056, 0.1053, 0.106, 0.1094, 0.1175, 0.13, 0.1474, 0.1704, 0.1991, \
                 0.2339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0909, 0.09078, 0.0916, 0.09485, 0.101, 0.111, 0.1252, 0.1439, \
                 0.1676, 0.1964");
        }
      }

      internal_power() {
        when : "CLKN&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07309, 0.07276, 0.07347, 0.07667, 0.08327, 0.09379, 0.1087, \
                 0.1284, 0.1533, 0.1837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02439, 0.0243, 0.02511, 0.02788, 0.03325, 0.04182, 0.0541, 0.07045, \
                 0.09121, 0.1167");
        }
      }

      internal_power() {
        when : "CLKN&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1038, 0.1034, 0.1041, 0.1076, 0.1156, 0.1282, 0.1456, 0.1685, \
                 0.1973, 0.232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09288, 0.09277, 0.09358, 0.09682, 0.103, 0.113, 0.1271, 0.1458, \
                 0.1695, 0.1983");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.086, -0.074, -0.02, 0.081, 0.189, 0.313, 0.462, 0.626, 0.831, 1.054",\
                 "-0.104, -0.096, -0.036, 0.064, 0.178, 0.294, 0.441, 0.613, 0.811, 1.037",\
                 "-0.173, -0.16, -0.102, -0.001, 0.104, 0.226, 0.375, 0.547, 0.743, 0.97",\
                 "-0.307, -0.295, -0.242, -0.145, -0.032, 0.088, 0.236, 0.403, 0.6, 0.826",\
                 "-0.509, -0.494, -0.434, -0.337, -0.228, -0.11, 0.033, 0.205, 0.395, 0.618",\
                 "-0.745, -0.737, -0.672, -0.578, -0.468, -0.351, -0.214, -0.045, 0.145, 0.362",\
                 "-1.035, -1.024, -0.963, -0.875, -0.766, -0.648, -0.509, -0.354, -0.163, 0.054",\
                 "-1.387, -1.377, -1.317, -1.224, -1.115, -0.999, -0.866, -0.71, -0.523, -0.31",\
                 "-1.778, -1.775, -1.711, -1.622, -1.521, -1.413, -1.274, -1.117, -0.942, -0.731",\
                 "-2.235, -2.227, -2.171, -2.084, -1.988, -1.881, -1.745, -1.588, -1.413, -1.212");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.288, 0.35, 0.481, 0.642, 0.837, 1.052, 1.293, 1.563, 1.855",\
                 "0.258, 0.27, 0.337, 0.469, 0.632, 0.819, 1.041, 1.282, 1.55, 1.844",\
                 "0.224, 0.237, 0.307, 0.433, 0.599, 0.787, 1.009, 1.249, 1.521, 1.812",\
                 "0.201, 0.216, 0.286, 0.414, 0.574, 0.768, 0.985, 1.231, 1.5, 1.788",\
                 "0.213, 0.224, 0.296, 0.418, 0.586, 0.775, 0.988, 1.234, 1.502, 1.792",\
                 "0.251, 0.265, 0.336, 0.46, 0.627, 0.81, 1.026, 1.269, 1.539, 1.83",\
                 "0.339, 0.356, 0.423, 0.544, 0.705, 0.894, 1.106, 1.354, 1.616, 1.91",\
                 "0.477, 0.485, 0.553, 0.673, 0.84, 1.022, 1.233, 1.477, 1.745, 2.036",\
                 "0.665, 0.681, 0.746, 0.868, 1.024, 1.201, 1.415, 1.651, 1.921, 2.206",\
                 "0.92, 0.928, 0.998, 1.111, 1.265, 1.436, 1.651, 1.89, 2.145, 2.436");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.767, 0.744, 0.675, 0.547, 0.392, 0.222, 0.036, -0.166, -0.393, -0.637",\
                 "0.787, 0.762, 0.693, 0.563, 0.409, 0.236, 0.047, -0.153, -0.378, -0.623",\
                 "0.855, 0.829, 0.764, 0.628, 0.479, 0.304, 0.115, -0.081, -0.305, -0.557",\
                 "0.999, 0.98, 0.903, 0.774, 0.618, 0.446, 0.264, 0.059, -0.163, -0.411",\
                 "1.208, 1.188, 1.113, 0.987, 0.835, 0.662, 0.476, 0.277, 0.05, -0.2",\
                 "1.476, 1.455, 1.387, 1.258, 1.099, 0.934, 0.746, 0.542, 0.316, 0.065",\
                 "1.803, 1.787, 1.715, 1.584, 1.423, 1.255, 1.066, 0.862, 0.641, 0.388",\
                 "2.19, 2.171, 2.101, 1.966, 1.812, 1.64, 1.451, 1.248, 1.023, 0.773",\
                 "2.638, 2.618, 2.546, 2.417, 2.259, 2.089, 1.9, 1.698, 1.47, 1.226",\
                 "3.147, 3.128, 3.062, 2.929, 2.769, 2.606, 2.416, 2.211, 1.989, 1.735");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.135, 0.068, -0.062, -0.233, -0.44, -0.664, -0.921, -1.205, -1.511",\
                 "0.165, 0.143, 0.083, -0.054, -0.224, -0.43, -0.656, -0.912, -1.189, -1.503",\
                 "0.206, 0.189, 0.118, -0.01, -0.182, -0.385, -0.61, -0.87, -1.148, -1.463",\
                 "0.253, 0.237, 0.167, 0.039, -0.131, -0.337, -0.565, -0.823, -1.107, -1.412",\
                 "0.286, 0.27, 0.2, 0.069, -0.1, -0.302, -0.53, -0.789, -1.067, -1.386",\
                 "0.296, 0.276, 0.207, 0.074, -0.092, -0.302, -0.527, -0.78, -1.068, -1.383",\
                 "0.26, 0.244, 0.176, 0.046, -0.127, -0.328, -0.565, -0.817, -1.102, -1.41",\
                 "0.19, 0.171, 0.1, -0.032, -0.202, -0.407, -0.628, -0.893, -1.171, -1.485",\
                 "0.067, 0.056, -0.018, -0.151, -0.324, -0.526, -0.753, -1.016, -1.292, -1.611",\
                 "-0.102, -0.121, -0.188, -0.322, -0.496, -0.692, -0.923, -1.18, -1.46, -1.78");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.36 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1337, 0.1327, 0.1313, 0.1308, 0.1305, 0.1303, 0.1302, 0.1302, 0.1302, 0.1301",\
                 "0.1338, 0.1327, 0.1314, 0.1308, 0.1305, 0.1304, 0.1303, 0.1302, 0.1302, 0.1302",\
                 "0.1337, 0.1326, 0.1313, 0.1307, 0.1304, 0.1303, 0.1302, 0.1301, 0.1301, 0.1301",\
                 "0.134, 0.133, 0.1316, 0.1311, 0.1308, 0.1307, 0.1305, 0.1305, 0.1304, 0.1304",\
                 "0.135, 0.134, 0.1326, 0.132, 0.1318, 0.1316, 0.1315, 0.1315, 0.1314, 0.1314",\
                 "0.1364, 0.1352, 0.1339, 0.1334, 0.1331, 0.1329, 0.1328, 0.1328, 0.1328, 0.1327",\
                 "0.1383, 0.1372, 0.1358, 0.1353, 0.135, 0.1349, 0.1348, 0.1348, 0.1347, 0.1347",\
                 "0.1407, 0.1396, 0.1383, 0.1377, 0.1374, 0.1373, 0.1372, 0.1371, 0.1371, 0.1371",\
                 "0.1436, 0.1425, 0.1411, 0.1405, 0.1402, 0.14, 0.1399, 0.1399, 0.1399, 0.1398",\
                 "0.147, 0.146, 0.1444, 0.1439, 0.1435, 0.1434, 0.1433, 0.1432, 0.1432, 0.1432");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1986, 0.197, 0.1948, 0.1935, 0.1932, 0.1934, 0.1937, 0.1943, 0.1951, 0.2001",\
                 "0.1985, 0.197, 0.1946, 0.1934, 0.1931, 0.1933, 0.1939, 0.1943, 0.1958, 0.1991",\
                 "0.1985, 0.197, 0.1947, 0.1935, 0.1931, 0.1935, 0.1938, 0.1946, 0.1953, 0.1999",\
                 "0.1992, 0.1978, 0.1954, 0.1942, 0.1938, 0.1941, 0.1946, 0.1951, 0.1966, 0.2009",\
                 "0.2008, 0.1993, 0.1972, 0.1959, 0.1954, 0.1958, 0.1962, 0.197, 0.1977, 0.2038",\
                 "0.2027, 0.2014, 0.1989, 0.1977, 0.1973, 0.1974, 0.1981, 0.1985, 0.1994, 0.2082",\
                 "0.2049, 0.2035, 0.2011, 0.2001, 0.1998, 0.1999, 0.2002, 0.2009, 0.2021, 0.2131",\
                 "0.2074, 0.206, 0.2036, 0.2023, 0.2023, 0.2027, 0.2029, 0.2035, 0.2053, 0.2211",\
                 "0.2102, 0.2088, 0.2065, 0.205, 0.2047, 0.2051, 0.2062, 0.2065, 0.2097, 0.2349",\
                 "0.2129, 0.2115, 0.2093, 0.2083, 0.2076, 0.2075, 0.2078, 0.2107, 0.2153, 0.2573");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1856, 0.1851, 0.1845, 0.1843, 0.1842, 0.1841, 0.1841, 0.1841, 0.1841, 0.184",\
                 "0.1848, 0.1843, 0.1837, 0.1835, 0.1834, 0.1833, 0.1833, 0.1833, 0.1832, 0.1832",\
                 "0.1852, 0.1846, 0.1839, 0.1837, 0.1836, 0.1836, 0.1836, 0.1836, 0.1836, 0.1835",\
                 "0.1926, 0.1915, 0.1899, 0.1892, 0.1888, 0.1887, 0.1887, 0.1886, 0.1886, 0.1886",\
                 "0.2106, 0.2088, 0.2061, 0.2044, 0.2035, 0.2032, 0.2029, 0.2027, 0.2026, 0.2025",\
                 "0.2417, 0.2394, 0.2354, 0.2326, 0.2309, 0.23, 0.2294, 0.2291, 0.2289, 0.2287",\
                 "0.2879, 0.2848, 0.2794, 0.2753, 0.2726, 0.271, 0.2701, 0.2695, 0.2691, 0.2688",\
                 "0.3488, 0.3453, 0.3384, 0.3328, 0.329, 0.3266, 0.3251, 0.3242, 0.3235, 0.3231",\
                 "0.4248, 0.4209, 0.4125, 0.4053, 0.4003, 0.397, 0.3948, 0.3934, 0.3924, 0.3917",\
                 "0.5161, 0.5116, 0.502, 0.4933, 0.4869, 0.4824, 0.4795, 0.4775, 0.4762, 0.4752");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.09572, 0.09468, 0.09309, 0.09244, 0.0926, 0.09305, 0.09346, 0.09394, 0.09482, 0.09816",\
                 "0.09472, 0.09354, 0.09198, 0.09132, 0.09144, 0.09176, 0.09247, 0.09288, 0.09376, 0.09783",\
                 "0.09353, 0.09241, 0.0909, 0.09013, 0.09022, 0.09064, 0.09101, 0.09199, 0.09254, 0.09599",\
                 "0.09832, 0.09708, 0.09512, 0.094, 0.09382, 0.0941, 0.09451, 0.09516, 0.09591, 0.09967",\
                 "0.1121, 0.1106, 0.1081, 0.1068, 0.1059, 0.1059, 0.1064, 0.1068, 0.1076, 0.1117",\
                 "0.1381, 0.1361, 0.1328, 0.1304, 0.1297, 0.1291, 0.1289, 0.1295, 0.1303, 0.1353",\
                 "0.1767, 0.1744, 0.1704, 0.1671, 0.1649, 0.1649, 0.1643, 0.1645, 0.1647, 0.1713",\
                 "0.2286, 0.2259, 0.2208, 0.2162, 0.2133, 0.2122, 0.2125, 0.2121, 0.2125, 0.2207",\
                 "0.2939, 0.2907, 0.2849, 0.2797, 0.2756, 0.2735, 0.2725, 0.2735, 0.2739, 0.2859",\
                 "0.3729, 0.3693, 0.3626, 0.3564, 0.3516, 0.348, 0.3459, 0.346, 0.3489, 0.3683");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2424, 0.2417, 0.241, 0.2408, 0.2406, 0.2406, 0.2405, 0.2405, 0.2405, 0.2405",\
                 "0.2425, 0.2419, 0.2411, 0.2409, 0.2408, 0.2407, 0.2406, 0.2406, 0.2406, 0.2406",\
                 "0.2433, 0.2426, 0.2418, 0.2416, 0.2414, 0.2413, 0.2413, 0.2413, 0.2413, 0.2413",\
                 "0.2521, 0.2508, 0.2491, 0.2483, 0.2479, 0.2477, 0.2476, 0.2476, 0.2475, 0.2475",\
                 "0.2726, 0.2707, 0.2678, 0.2659, 0.265, 0.2645, 0.2642, 0.2641, 0.2639, 0.2639",\
                 "0.3079, 0.3051, 0.3008, 0.2977, 0.2959, 0.2949, 0.2944, 0.294, 0.2937, 0.2936",\
                 "0.3585, 0.3551, 0.349, 0.3445, 0.3417, 0.34, 0.339, 0.3384, 0.3379, 0.3376",\
                 "0.4221, 0.4181, 0.4103, 0.4042, 0.4003, 0.3977, 0.396, 0.395, 0.3943, 0.3939",\
                 "0.4973, 0.4927, 0.4832, 0.4755, 0.4702, 0.4666, 0.4642, 0.4627, 0.4617, 0.461",\
                 "0.5831, 0.5782, 0.567, 0.5576, 0.5508, 0.5461, 0.543, 0.5408, 0.5394, 0.5383");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2424, 0.2417, 0.241, 0.2408, 0.2406, 0.2406, 0.2405, 0.2405, 0.2405, 0.2405",\
                 "0.2425, 0.2419, 0.2411, 0.2409, 0.2408, 0.2407, 0.2406, 0.2406, 0.2406, 0.2406",\
                 "0.2433, 0.2426, 0.2418, 0.2416, 0.2414, 0.2413, 0.2413, 0.2413, 0.2413, 0.2413",\
                 "0.2521, 0.2508, 0.2491, 0.2483, 0.2479, 0.2477, 0.2476, 0.2476, 0.2475, 0.2475",\
                 "0.2726, 0.2707, 0.2678, 0.2659, 0.265, 0.2645, 0.2642, 0.2641, 0.2639, 0.2639",\
                 "0.3079, 0.3051, 0.3008, 0.2977, 0.2959, 0.2949, 0.2944, 0.294, 0.2937, 0.2936",\
                 "0.3585, 0.3551, 0.349, 0.3445, 0.3417, 0.34, 0.339, 0.3384, 0.3379, 0.3376",\
                 "0.4221, 0.4181, 0.4103, 0.4042, 0.4003, 0.3977, 0.396, 0.395, 0.3943, 0.3939",\
                 "0.4973, 0.4927, 0.4832, 0.4755, 0.4702, 0.4666, 0.4642, 0.4627, 0.4617, 0.461",\
                 "0.5831, 0.5782, 0.567, 0.5576, 0.5508, 0.5461, 0.543, 0.5408, 0.5394, 0.5383");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1856, 0.1851, 0.1845, 0.1843, 0.1842, 0.1841, 0.1841, 0.1841, 0.1841, 0.184",\
                 "0.1848, 0.1843, 0.1837, 0.1835, 0.1834, 0.1833, 0.1833, 0.1833, 0.1832, 0.1832",\
                 "0.1852, 0.1846, 0.1839, 0.1837, 0.1836, 0.1836, 0.1836, 0.1836, 0.1836, 0.1835",\
                 "0.1926, 0.1915, 0.1899, 0.1892, 0.1888, 0.1887, 0.1887, 0.1886, 0.1886, 0.1886",\
                 "0.2105, 0.2088, 0.206, 0.2044, 0.2035, 0.2032, 0.2029, 0.2027, 0.2026, 0.2025",\
                 "0.2417, 0.2394, 0.2354, 0.2326, 0.2309, 0.23, 0.2294, 0.2291, 0.2289, 0.2287",\
                 "0.2879, 0.2848, 0.2794, 0.2753, 0.2726, 0.271, 0.2701, 0.2695, 0.2691, 0.2688",\
                 "0.3488, 0.3453, 0.3384, 0.3327, 0.329, 0.3266, 0.3251, 0.3242, 0.3235, 0.3231",\
                 "0.4249, 0.4209, 0.4125, 0.4053, 0.4003, 0.397, 0.3948, 0.3934, 0.3924, 0.3917",\
                 "0.5161, 0.5116, 0.5019, 0.4933, 0.4868, 0.4824, 0.4795, 0.4775, 0.4761, 0.4752");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.09577, 0.09472, 0.09307, 0.09248, 0.0926, 0.09305, 0.09346, 0.0943, 0.09485, 0.09816",\
                 "0.09472, 0.09354, 0.09198, 0.09132, 0.09144, 0.09176, 0.09247, 0.09288, 0.09376, 0.09783",\
                 "0.09353, 0.09241, 0.0909, 0.09013, 0.09022, 0.09064, 0.09102, 0.09199, 0.09254, 0.09599",\
                 "0.09832, 0.09708, 0.09512, 0.094, 0.09382, 0.0941, 0.09451, 0.09516, 0.09591, 0.09967",\
                 "0.1121, 0.1106, 0.108, 0.1068, 0.1057, 0.1061, 0.1064, 0.1068, 0.1076, 0.1121",\
                 "0.138, 0.1362, 0.1328, 0.1304, 0.1296, 0.129, 0.129, 0.1293, 0.1307, 0.1353",\
                 "0.1767, 0.1744, 0.1704, 0.1668, 0.1649, 0.1649, 0.1643, 0.1641, 0.1647, 0.1713",\
                 "0.2286, 0.2259, 0.2208, 0.2163, 0.2133, 0.212, 0.2125, 0.2121, 0.2125, 0.221",\
                 "0.2939, 0.2907, 0.285, 0.2797, 0.2758, 0.2729, 0.2726, 0.2734, 0.2742, 0.2862",\
                 "0.373, 0.3692, 0.3626, 0.3564, 0.3517, 0.348, 0.3458, 0.3464, 0.3489, 0.3683");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2418, 0.2412, 0.2404, 0.2402, 0.2401, 0.24, 0.2399, 0.2399, 0.2399, 0.2399",\
                 "0.2419, 0.2412, 0.2405, 0.2403, 0.2402, 0.24, 0.24, 0.24, 0.24, 0.24",\
                 "0.2427, 0.242, 0.2412, 0.2409, 0.2408, 0.2407, 0.2407, 0.2406, 0.2406, 0.2406",\
                 "0.2516, 0.2503, 0.2486, 0.2478, 0.2474, 0.2472, 0.2471, 0.247, 0.247, 0.247",\
                 "0.2724, 0.2704, 0.2675, 0.2657, 0.2647, 0.2642, 0.264, 0.2638, 0.2636, 0.2636",\
                 "0.3079, 0.3052, 0.3008, 0.2978, 0.296, 0.295, 0.2944, 0.294, 0.2938, 0.2937",\
                 "0.3586, 0.3552, 0.3491, 0.3447, 0.3419, 0.3402, 0.3392, 0.3385, 0.338, 0.3378",\
                 "0.4224, 0.4183, 0.4106, 0.4045, 0.4004, 0.3979, 0.3963, 0.3953, 0.3945, 0.3941",\
                 "0.4976, 0.493, 0.4835, 0.4758, 0.4704, 0.4669, 0.4646, 0.463, 0.462, 0.4613",\
                 "0.5834, 0.5784, 0.5673, 0.5578, 0.5511, 0.5464, 0.5433, 0.5411, 0.5396, 0.5386");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2418, 0.2412, 0.2404, 0.2402, 0.2401, 0.24, 0.2399, 0.2399, 0.2399, 0.2399",\
                 "0.2419, 0.2412, 0.2405, 0.2403, 0.2402, 0.24, 0.24, 0.24, 0.24, 0.24",\
                 "0.2427, 0.242, 0.2412, 0.2409, 0.2408, 0.2407, 0.2407, 0.2406, 0.2406, 0.2406",\
                 "0.2516, 0.2503, 0.2486, 0.2478, 0.2474, 0.2472, 0.2471, 0.247, 0.247, 0.247",\
                 "0.2724, 0.2704, 0.2675, 0.2657, 0.2647, 0.2642, 0.264, 0.2638, 0.2636, 0.2636",\
                 "0.3079, 0.3052, 0.3008, 0.2978, 0.296, 0.295, 0.2944, 0.294, 0.2938, 0.2937",\
                 "0.3586, 0.3552, 0.3491, 0.3447, 0.3419, 0.3402, 0.3392, 0.3385, 0.338, 0.3378",\
                 "0.4224, 0.4183, 0.4106, 0.4045, 0.4004, 0.3979, 0.3963, 0.3953, 0.3945, 0.3941",\
                 "0.4976, 0.493, 0.4835, 0.4758, 0.4704, 0.4669, 0.4646, 0.463, 0.462, 0.4613",\
                 "0.5834, 0.5784, 0.5673, 0.5578, 0.5511, 0.5464, 0.5433, 0.5411, 0.5396, 0.5386");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1075, 0.1069, 0.1063, 0.1061, 0.106, 0.1059, 0.1059, 0.1059, 0.1059, 0.1059",\
                 "0.1069, 0.1064, 0.1057, 0.1056, 0.1055, 0.1054, 0.1054, 0.1054, 0.1054, 0.1054",\
                 "0.1077, 0.107, 0.1064, 0.1062, 0.1061, 0.1061, 0.1061, 0.1061, 0.1061, 0.1061",\
                 "0.1145, 0.1134, 0.1118, 0.1111, 0.1108, 0.1106, 0.1106, 0.1105, 0.1105, 0.1105",\
                 "0.1281, 0.1264, 0.1237, 0.122, 0.1212, 0.1207, 0.1204, 0.1203, 0.1202, 0.1202",\
                 "0.1492, 0.1469, 0.1428, 0.14, 0.1384, 0.1375, 0.1369, 0.1366, 0.1364, 0.1363",\
                 "0.1781, 0.1751, 0.1697, 0.1655, 0.1628, 0.1614, 0.1604, 0.1598, 0.1594, 0.1591",\
                 "0.2147, 0.2113, 0.2044, 0.1987, 0.1949, 0.1926, 0.1911, 0.1901, 0.1895, 0.189",\
                 "0.2595, 0.2555, 0.2472, 0.24, 0.235, 0.2317, 0.2295, 0.2281, 0.2271, 0.2265",\
                 "0.3125, 0.3082, 0.2984, 0.2898, 0.2834, 0.279, 0.2761, 0.274, 0.2727, 0.2717");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.05839, 0.05726, 0.05564, 0.05508, 0.05514, 0.05572, 0.05616, 0.05671, 0.05785, 0.06106",\
                 "0.05747, 0.05643, 0.05492, 0.05426, 0.05431, 0.05493, 0.05537, 0.05588, 0.05703, 0.0604",\
                 "0.05659, 0.05556, 0.05395, 0.0533, 0.05329, 0.05387, 0.05441, 0.05483, 0.05597, 0.05932",\
                 "0.06058, 0.05942, 0.05744, 0.05631, 0.05609, 0.05651, 0.05696, 0.05757, 0.05835, 0.06258",\
                 "0.07033, 0.06874, 0.06641, 0.06495, 0.06421, 0.06413, 0.06461, 0.06506, 0.06595, 0.07036",\
                 "0.08718, 0.08536, 0.08214, 0.0796, 0.07896, 0.07836, 0.07824, 0.07869, 0.07999, 0.08504",\
                 "0.1111, 0.1088, 0.1047, 0.1012, 0.09926, 0.09901, 0.0988, 0.09875, 0.09905, 0.1058",\
                 "0.1422, 0.1395, 0.1344, 0.1303, 0.1273, 0.1258, 0.1262, 0.126, 0.126, 0.1344",\
                 "0.1805, 0.1773, 0.1714, 0.1663, 0.1622, 0.1597, 0.1591, 0.1599, 0.1605, 0.1735",\
                 "0.2263, 0.2227, 0.2161, 0.2098, 0.2053, 0.2018, 0.1993, 0.1997, 0.2027, 0.2215");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1354, 0.1347, 0.1341, 0.1338, 0.1337, 0.1337, 0.1336, 0.1336, 0.1336, 0.1336",\
                 "0.1356, 0.135, 0.1344, 0.1341, 0.134, 0.134, 0.1339, 0.1338, 0.1338, 0.1338",\
                 "0.1366, 0.136, 0.1352, 0.135, 0.1348, 0.1348, 0.1348, 0.1348, 0.1348, 0.1348",\
                 "0.1439, 0.1427, 0.1411, 0.1403, 0.1399, 0.1397, 0.1396, 0.1396, 0.1396, 0.1395",\
                 "0.1587, 0.1568, 0.1539, 0.1521, 0.1512, 0.1507, 0.1504, 0.1503, 0.1502, 0.1501",\
                 "0.1813, 0.1786, 0.1742, 0.1712, 0.1695, 0.1685, 0.1679, 0.1676, 0.1673, 0.1672",\
                 "0.2112, 0.2078, 0.2018, 0.1973, 0.1945, 0.1929, 0.1918, 0.1912, 0.1908, 0.1905",\
                 "0.2477, 0.2437, 0.236, 0.23, 0.226, 0.2234, 0.2218, 0.2208, 0.2201, 0.2196",\
                 "0.2894, 0.2847, 0.2751, 0.2673, 0.262, 0.2585, 0.2562, 0.2546, 0.2537, 0.2529",\
                 "0.3351, 0.3299, 0.3186, 0.3089, 0.3021, 0.2974, 0.2943, 0.2922, 0.2907, 0.2897");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1354, 0.1347, 0.1341, 0.1338, 0.1337, 0.1337, 0.1336, 0.1336, 0.1336, 0.1336",\
                 "0.1356, 0.135, 0.1344, 0.1341, 0.134, 0.134, 0.1339, 0.1338, 0.1338, 0.1338",\
                 "0.1366, 0.136, 0.1352, 0.135, 0.1348, 0.1348, 0.1348, 0.1348, 0.1348, 0.1348",\
                 "0.1439, 0.1427, 0.1411, 0.1403, 0.1399, 0.1397, 0.1396, 0.1396, 0.1396, 0.1395",\
                 "0.1587, 0.1568, 0.1539, 0.1521, 0.1512, 0.1507, 0.1504, 0.1503, 0.1502, 0.1501",\
                 "0.1813, 0.1786, 0.1742, 0.1712, 0.1695, 0.1685, 0.1679, 0.1676, 0.1673, 0.1672",\
                 "0.2112, 0.2078, 0.2018, 0.1973, 0.1945, 0.1929, 0.1918, 0.1912, 0.1908, 0.1905",\
                 "0.2477, 0.2437, 0.236, 0.23, 0.226, 0.2234, 0.2218, 0.2208, 0.2201, 0.2196",\
                 "0.2894, 0.2847, 0.2751, 0.2673, 0.262, 0.2585, 0.2562, 0.2546, 0.2537, 0.2529",\
                 "0.3351, 0.3299, 0.3186, 0.3089, 0.3021, 0.2974, 0.2943, 0.2922, 0.2907, 0.2897");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1074, 0.1068, 0.1062, 0.106, 0.1059, 0.1059, 0.1058, 0.1058, 0.1058, 0.1058",\
                 "0.1069, 0.1064, 0.1057, 0.1056, 0.1055, 0.1054, 0.1054, 0.1054, 0.1054, 0.1054",\
                 "0.1077, 0.107, 0.1064, 0.1062, 0.1061, 0.1061, 0.1061, 0.1061, 0.1061, 0.1061",\
                 "0.1145, 0.1134, 0.1118, 0.1111, 0.1108, 0.1106, 0.1106, 0.1105, 0.1105, 0.1105",\
                 "0.1282, 0.1264, 0.1237, 0.1221, 0.1212, 0.1208, 0.1205, 0.1203, 0.1202, 0.1202",\
                 "0.1492, 0.1469, 0.1428, 0.14, 0.1384, 0.1375, 0.1369, 0.1366, 0.1364, 0.1363",\
                 "0.1781, 0.1751, 0.1697, 0.1655, 0.1628, 0.1613, 0.1604, 0.1598, 0.1594, 0.1591",\
                 "0.2149, 0.2113, 0.2044, 0.1987, 0.1949, 0.1926, 0.1911, 0.1902, 0.1895, 0.189",\
                 "0.2595, 0.2555, 0.2472, 0.2401, 0.235, 0.2317, 0.2295, 0.2281, 0.2272, 0.2265",\
                 "0.3126, 0.3082, 0.2984, 0.2897, 0.2834, 0.279, 0.276, 0.274, 0.2727, 0.2717");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.05836, 0.05718, 0.05568, 0.05515, 0.0552, 0.05562, 0.05613, 0.05714, 0.05762, 0.06172",\
                 "0.05743, 0.05639, 0.05488, 0.05423, 0.05428, 0.05486, 0.05534, 0.05585, 0.05699, 0.0604",\
                 "0.05664, 0.05548, 0.05407, 0.05333, 0.05335, 0.05374, 0.05431, 0.05526, 0.05594, 0.05899",\
                 "0.06054, 0.05932, 0.05736, 0.05624, 0.05613, 0.05648, 0.05702, 0.0575, 0.05822, 0.06225",\
                 "0.07029, 0.06869, 0.06633, 0.06502, 0.06411, 0.06423, 0.06451, 0.06506, 0.06592, 0.07036",\
                 "0.08713, 0.08534, 0.08214, 0.07944, 0.0789, 0.07806, 0.07827, 0.07888, 0.0795, 0.08471",\
                 "0.1111, 0.1088, 0.1048, 0.1012, 0.09926, 0.09915, 0.0988, 0.09829, 0.09954, 0.1065",\
                 "0.1421, 0.1395, 0.1348, 0.1303, 0.1272, 0.1258, 0.1263, 0.1262, 0.1261, 0.1344",\
                 "0.1804, 0.1772, 0.1715, 0.1661, 0.1624, 0.1597, 0.159, 0.1602, 0.1603, 0.1723",\
                 "0.2262, 0.2227, 0.2161, 0.2098, 0.205, 0.2015, 0.1997, 0.1997, 0.203, 0.2211");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1375, 0.1369, 0.1363, 0.136, 0.1359, 0.1359, 0.1358, 0.1358, 0.1358, 0.1358",\
                 "0.1378, 0.1372, 0.1366, 0.1363, 0.1362, 0.1361, 0.1361, 0.136, 0.136, 0.136",\
                 "0.1388, 0.1382, 0.1374, 0.1372, 0.137, 0.137, 0.137, 0.137, 0.137, 0.137",\
                 "0.1462, 0.1449, 0.1433, 0.1425, 0.1421, 0.1419, 0.1419, 0.1418, 0.1418, 0.1417",\
                 "0.1609, 0.159, 0.1562, 0.1543, 0.1534, 0.1529, 0.1527, 0.1525, 0.1524, 0.1523",\
                 "0.1835, 0.1808, 0.1765, 0.1734, 0.1717, 0.1707, 0.1702, 0.1698, 0.1696, 0.1695",\
                 "0.2134, 0.21, 0.204, 0.1996, 0.1968, 0.1951, 0.1941, 0.1934, 0.193, 0.1927",\
                 "0.2499, 0.2459, 0.2382, 0.2322, 0.228, 0.2255, 0.2239, 0.2229, 0.2223, 0.2218",\
                 "0.2916, 0.287, 0.2774, 0.2696, 0.2642, 0.2607, 0.2584, 0.2569, 0.2559, 0.2551",\
                 "0.3373, 0.3321, 0.3207, 0.311, 0.3043, 0.2997, 0.2965, 0.2945, 0.2929, 0.2919");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1375, 0.1369, 0.1363, 0.136, 0.1359, 0.1359, 0.1358, 0.1358, 0.1358, 0.1358",\
                 "0.1378, 0.1372, 0.1366, 0.1363, 0.1362, 0.1361, 0.1361, 0.136, 0.136, 0.136",\
                 "0.1388, 0.1382, 0.1374, 0.1372, 0.137, 0.137, 0.137, 0.137, 0.137, 0.137",\
                 "0.1462, 0.1449, 0.1433, 0.1425, 0.1421, 0.1419, 0.1419, 0.1418, 0.1418, 0.1417",\
                 "0.1609, 0.159, 0.1562, 0.1543, 0.1534, 0.1529, 0.1527, 0.1525, 0.1524, 0.1523",\
                 "0.1835, 0.1808, 0.1765, 0.1734, 0.1717, 0.1707, 0.1702, 0.1698, 0.1696, 0.1695",\
                 "0.2134, 0.21, 0.204, 0.1996, 0.1968, 0.1951, 0.1941, 0.1934, 0.193, 0.1927",\
                 "0.2499, 0.2459, 0.2382, 0.2322, 0.228, 0.2255, 0.2239, 0.2229, 0.2223, 0.2218",\
                 "0.2916, 0.287, 0.2774, 0.2696, 0.2642, 0.2607, 0.2584, 0.2569, 0.2559, 0.2551",\
                 "0.3373, 0.3321, 0.3207, 0.311, 0.3043, 0.2997, 0.2965, 0.2945, 0.2929, 0.2919");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2652, 0.2638, 0.2615, 0.26, 0.2593, 0.2595, 0.2599, 0.2605, 0.2614, 0.2653",\
                 "0.2647, 0.2633, 0.261, 0.2594, 0.2589, 0.2592, 0.2595, 0.26, 0.2609, 0.2656",\
                 "0.2661, 0.2647, 0.2623, 0.2608, 0.2603, 0.2603, 0.2608, 0.2614, 0.2623, 0.2665",\
                 "0.2738, 0.2724, 0.27, 0.2685, 0.268, 0.2683, 0.2686, 0.2691, 0.2698, 0.2755",\
                 "0.2925, 0.291, 0.2887, 0.287, 0.2864, 0.2865, 0.2869, 0.2874, 0.2891, 0.295",\
                 "0.3225, 0.3211, 0.3185, 0.3169, 0.3163, 0.3163, 0.3167, 0.3176, 0.3182, 0.3267",\
                 "0.3649, 0.3632, 0.3608, 0.359, 0.3584, 0.3583, 0.3585, 0.359, 0.3605, 0.3715",\
                 "0.4201, 0.4186, 0.416, 0.414, 0.4132, 0.4135, 0.4134, 0.4139, 0.4155, 0.4314",\
                 "0.4847, 0.4831, 0.4803, 0.4781, 0.4771, 0.4772, 0.4781, 0.4784, 0.4806, 0.5074",\
                 "0.5555, 0.5539, 0.5511, 0.5488, 0.5478, 0.5472, 0.5479, 0.5494, 0.5555, 0.5994");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2652, 0.2638, 0.2615, 0.26, 0.2593, 0.2595, 0.2599, 0.2605, 0.2614, 0.2653",\
                 "0.2647, 0.2633, 0.261, 0.2594, 0.2589, 0.2592, 0.2595, 0.26, 0.2609, 0.2656",\
                 "0.2661, 0.2647, 0.2623, 0.2608, 0.2603, 0.2603, 0.2608, 0.2614, 0.2623, 0.2665",\
                 "0.2738, 0.2724, 0.27, 0.2685, 0.268, 0.2683, 0.2686, 0.2691, 0.2698, 0.2755",\
                 "0.2925, 0.291, 0.2887, 0.287, 0.2864, 0.2865, 0.2869, 0.2874, 0.2891, 0.295",\
                 "0.3225, 0.3211, 0.3185, 0.3169, 0.3163, 0.3163, 0.3167, 0.3176, 0.3182, 0.3267",\
                 "0.3649, 0.3632, 0.3608, 0.359, 0.3584, 0.3583, 0.3585, 0.359, 0.3605, 0.3715",\
                 "0.4201, 0.4186, 0.416, 0.414, 0.4132, 0.4135, 0.4134, 0.4139, 0.4155, 0.4314",\
                 "0.4847, 0.4831, 0.4803, 0.4781, 0.4771, 0.4772, 0.4781, 0.4784, 0.4806, 0.5074",\
                 "0.5555, 0.5539, 0.5511, 0.5488, 0.5478, 0.5472, 0.5479, 0.5494, 0.5555, 0.5994");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2652, 0.2638, 0.2613, 0.2598, 0.2593, 0.2596, 0.2599, 0.2605, 0.2613, 0.265",\
                 "0.2648, 0.2633, 0.2611, 0.2595, 0.2589, 0.2589, 0.2594, 0.26, 0.2608, 0.2649",\
                 "0.2662, 0.2647, 0.2623, 0.2609, 0.2603, 0.2603, 0.2608, 0.2614, 0.2628, 0.2665",\
                 "0.2738, 0.2724, 0.2702, 0.2685, 0.268, 0.2683, 0.2686, 0.2692, 0.2698, 0.2755",\
                 "0.2925, 0.291, 0.2887, 0.287, 0.2864, 0.2865, 0.287, 0.2874, 0.2883, 0.2947",\
                 "0.3225, 0.321, 0.3186, 0.3169, 0.3163, 0.3163, 0.3168, 0.3176, 0.3188, 0.3264",\
                 "0.3648, 0.3633, 0.3607, 0.3591, 0.3583, 0.3582, 0.3586, 0.359, 0.3605, 0.3709",\
                 "0.4201, 0.4186, 0.4158, 0.4136, 0.4132, 0.4133, 0.4134, 0.4138, 0.4155, 0.4314",\
                 "0.4848, 0.4831, 0.4804, 0.4781, 0.4771, 0.4772, 0.478, 0.4782, 0.4806, 0.5077",\
                 "0.5556, 0.5539, 0.5511, 0.5487, 0.5476, 0.5474, 0.5481, 0.5496, 0.5549, 0.5994");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2652, 0.2638, 0.2613, 0.2598, 0.2593, 0.2596, 0.2599, 0.2605, 0.2613, 0.265",\
                 "0.2648, 0.2633, 0.2611, 0.2595, 0.2589, 0.2589, 0.2594, 0.26, 0.2608, 0.2649",\
                 "0.2662, 0.2647, 0.2623, 0.2609, 0.2603, 0.2603, 0.2608, 0.2614, 0.2628, 0.2665",\
                 "0.2738, 0.2724, 0.2702, 0.2685, 0.268, 0.2683, 0.2686, 0.2692, 0.2698, 0.2755",\
                 "0.2925, 0.291, 0.2887, 0.287, 0.2864, 0.2865, 0.287, 0.2874, 0.2883, 0.2947",\
                 "0.3225, 0.321, 0.3186, 0.3169, 0.3163, 0.3163, 0.3168, 0.3176, 0.3188, 0.3264",\
                 "0.3648, 0.3633, 0.3607, 0.3591, 0.3583, 0.3582, 0.3586, 0.359, 0.3605, 0.3709",\
                 "0.4201, 0.4186, 0.4158, 0.4136, 0.4132, 0.4133, 0.4134, 0.4138, 0.4155, 0.4314",\
                 "0.4848, 0.4831, 0.4804, 0.4781, 0.4771, 0.4772, 0.478, 0.4782, 0.4806, 0.5077",\
                 "0.5556, 0.5539, 0.5511, 0.5487, 0.5476, 0.5474, 0.5481, 0.5496, 0.5549, 0.5994");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1675, 0.1663, 0.1643, 0.163, 0.1626, 0.163, 0.1635, 0.1638, 0.1651, 0.1687",\
                 "0.1675, 0.1662, 0.1642, 0.1629, 0.1626, 0.1628, 0.1633, 0.1639, 0.165, 0.1693",\
                 "0.1683, 0.1671, 0.1651, 0.1637, 0.1635, 0.1636, 0.1641, 0.1647, 0.1658, 0.1702",\
                 "0.1729, 0.1716, 0.1695, 0.1682, 0.1679, 0.1681, 0.1686, 0.1691, 0.1699, 0.1745",\
                 "0.1831, 0.1818, 0.1795, 0.1781, 0.1777, 0.1779, 0.1783, 0.1789, 0.1802, 0.1855",\
                 "0.1995, 0.1981, 0.1959, 0.1945, 0.1939, 0.1941, 0.1945, 0.1954, 0.1961, 0.2035",\
                 "0.2233, 0.2217, 0.2195, 0.2177, 0.2175, 0.2173, 0.2175, 0.2183, 0.2198, 0.2293",\
                 "0.2513, 0.2497, 0.247, 0.245, 0.2443, 0.245, 0.2452, 0.2453, 0.2468, 0.2595",\
                 "0.2818, 0.2802, 0.2773, 0.2752, 0.2739, 0.2739, 0.2751, 0.276, 0.2779, 0.2985",\
                 "0.3149, 0.3132, 0.31, 0.3078, 0.3066, 0.3061, 0.3063, 0.3083, 0.3129, 0.3468");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1675, 0.1663, 0.1643, 0.163, 0.1626, 0.163, 0.1635, 0.1638, 0.1651, 0.1687",\
                 "0.1675, 0.1662, 0.1642, 0.1629, 0.1626, 0.1628, 0.1633, 0.1639, 0.165, 0.1693",\
                 "0.1683, 0.1671, 0.1651, 0.1637, 0.1635, 0.1636, 0.1641, 0.1647, 0.1658, 0.1702",\
                 "0.1729, 0.1716, 0.1695, 0.1682, 0.1679, 0.1681, 0.1686, 0.1691, 0.1699, 0.1745",\
                 "0.1831, 0.1818, 0.1795, 0.1781, 0.1777, 0.1779, 0.1783, 0.1789, 0.1802, 0.1855",\
                 "0.1995, 0.1981, 0.1959, 0.1945, 0.1939, 0.1941, 0.1945, 0.1954, 0.1961, 0.2035",\
                 "0.2233, 0.2217, 0.2195, 0.2177, 0.2175, 0.2173, 0.2175, 0.2183, 0.2198, 0.2293",\
                 "0.2513, 0.2497, 0.247, 0.245, 0.2443, 0.245, 0.2452, 0.2453, 0.2468, 0.2595",\
                 "0.2818, 0.2802, 0.2773, 0.2752, 0.2739, 0.2739, 0.2751, 0.276, 0.2779, 0.2985",\
                 "0.3149, 0.3132, 0.31, 0.3078, 0.3066, 0.3061, 0.3063, 0.3083, 0.3129, 0.3468");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1675, 0.1663, 0.1643, 0.163, 0.1626, 0.163, 0.1635, 0.1639, 0.1647, 0.1684",\
                 "0.1676, 0.1662, 0.1642, 0.1629, 0.1626, 0.1628, 0.1633, 0.1639, 0.165, 0.1691",\
                 "0.1683, 0.167, 0.1649, 0.1637, 0.1634, 0.1636, 0.1641, 0.1647, 0.1658, 0.1702",\
                 "0.173, 0.1717, 0.1696, 0.1683, 0.168, 0.1682, 0.1687, 0.1692, 0.1705, 0.1751",\
                 "0.183, 0.1817, 0.1794, 0.1781, 0.1776, 0.1779, 0.1784, 0.1788, 0.1797, 0.1852",\
                 "0.1996, 0.1982, 0.1957, 0.1945, 0.1938, 0.1941, 0.1944, 0.195, 0.1964, 0.2028",\
                 "0.2233, 0.2217, 0.2191, 0.2176, 0.2175, 0.2173, 0.2178, 0.2183, 0.2198, 0.2293",\
                 "0.2513, 0.2497, 0.247, 0.2451, 0.2442, 0.245, 0.2453, 0.2454, 0.2468, 0.2597",\
                 "0.2817, 0.2802, 0.2772, 0.2751, 0.2739, 0.274, 0.2752, 0.2759, 0.2776, 0.2978",\
                 "0.3151, 0.3133, 0.3102, 0.3079, 0.3068, 0.306, 0.3063, 0.3086, 0.3129, 0.346");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1675, 0.1663, 0.1643, 0.163, 0.1626, 0.163, 0.1635, 0.1639, 0.1647, 0.1684",\
                 "0.1676, 0.1662, 0.1642, 0.1629, 0.1626, 0.1628, 0.1633, 0.1639, 0.165, 0.1691",\
                 "0.1683, 0.167, 0.1649, 0.1637, 0.1634, 0.1636, 0.1641, 0.1647, 0.1658, 0.1702",\
                 "0.173, 0.1717, 0.1696, 0.1683, 0.168, 0.1682, 0.1687, 0.1692, 0.1705, 0.1751",\
                 "0.183, 0.1817, 0.1794, 0.1781, 0.1776, 0.1779, 0.1784, 0.1788, 0.1797, 0.1852",\
                 "0.1996, 0.1982, 0.1957, 0.1945, 0.1938, 0.1941, 0.1944, 0.195, 0.1964, 0.2028",\
                 "0.2233, 0.2217, 0.2191, 0.2176, 0.2175, 0.2173, 0.2178, 0.2183, 0.2198, 0.2293",\
                 "0.2513, 0.2497, 0.247, 0.2451, 0.2442, 0.245, 0.2453, 0.2454, 0.2468, 0.2597",\
                 "0.2817, 0.2802, 0.2772, 0.2751, 0.2739, 0.274, 0.2752, 0.2759, 0.2776, 0.2978",\
                 "0.3151, 0.3133, 0.3102, 0.3079, 0.3068, 0.306, 0.3063, 0.3086, 0.3129, 0.346");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.9475, 0.9825, 1.076, 1.218, 1.417, 1.688, 2.043, 2.491, 3.037, 3.688",\
                 "0.9648, 0.9995, 1.093, 1.235, 1.434, 1.705, 2.06, 2.508, 3.054, 3.705",\
                 "1.031, 1.065, 1.159, 1.301, 1.5, 1.771, 2.126, 2.574, 3.12, 3.771",\
                 "1.16, 1.195, 1.289, 1.431, 1.63, 1.901, 2.256, 2.703, 3.25, 3.901",\
                 "1.335, 1.37, 1.464, 1.606, 1.805, 2.076, 2.431, 2.878, 3.424, 4.076",\
                 "1.536, 1.571, 1.665, 1.807, 2.005, 2.276, 2.631, 3.079, 3.625, 4.276",\
                 "1.766, 1.8, 1.894, 2.036, 2.235, 2.506, 2.861, 3.309, 3.855, 4.507",\
                 "2.022, 2.057, 2.151, 2.293, 2.491, 2.762, 3.118, 3.565, 4.111, 4.762",\
                 "2.304, 2.339, 2.433, 2.575, 2.773, 3.044, 3.4, 3.847, 4.394, 5.044",\
                 "2.613, 2.648, 2.742, 2.884, 3.083, 3.353, 3.709, 4.156, 4.703, 5.354");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("1.222, 1.268, 1.408, 1.643, 1.992, 2.48, 3.122, 3.931, 4.919, 6.094",\
                 "1.239, 1.285, 1.425, 1.66, 2.01, 2.497, 3.139, 3.947, 4.934, 6.111",\
                 "1.305, 1.351, 1.491, 1.726, 2.076, 2.563, 3.205, 4.014, 5.001, 6.178",\
                 "1.437, 1.484, 1.623, 1.858, 2.208, 2.696, 3.337, 4.145, 5.132, 6.309",\
                 "1.618, 1.665, 1.805, 2.04, 2.389, 2.877, 3.519, 4.327, 5.316, 6.491",\
                 "1.827, 1.874, 2.013, 2.248, 2.598, 3.085, 3.727, 4.537, 5.524, 6.701",\
                 "2.065, 2.111, 2.251, 2.486, 2.836, 3.323, 3.965, 4.774, 5.762, 6.939",\
                 "2.331, 2.377, 2.517, 2.752, 3.102, 3.589, 4.231, 5.039, 6.028, 7.206",\
                 "2.622, 2.669, 2.809, 3.044, 3.393, 3.881, 4.522, 5.331, 6.317, 7.493",\
                 "2.938, 2.985, 3.125, 3.36, 3.71, 4.198, 4.839, 5.647, 6.634, 7.81");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1193, 0.1532, 0.254, 0.4378, 0.7394, 1.183, 1.778, 2.53, 3.449, 4.547",\
                 "0.1194, 0.1528, 0.2544, 0.4378, 0.739, 1.183, 1.778, 2.531, 3.448, 4.546",\
                 "0.1192, 0.153, 0.2548, 0.4378, 0.7394, 1.183, 1.778, 2.531, 3.449, 4.547",\
                 "0.1194, 0.1534, 0.2542, 0.438, 0.7392, 1.183, 1.778, 2.53, 3.446, 4.546",\
                 "0.1192, 0.1534, 0.2546, 0.438, 0.7398, 1.184, 1.777, 2.527, 3.449, 4.547",\
                 "0.1194, 0.153, 0.2542, 0.4378, 0.739, 1.183, 1.777, 2.53, 3.449, 4.546",\
                 "0.1192, 0.153, 0.2544, 0.4382, 0.74, 1.183, 1.776, 2.529, 3.45, 4.543",\
                 "0.1194, 0.1528, 0.2544, 0.4386, 0.7394, 1.184, 1.775, 2.527, 3.443, 4.54",\
                 "0.1198, 0.1538, 0.2546, 0.438, 0.74, 1.184, 1.777, 2.53, 3.443, 4.534",\
                 "0.12, 0.1536, 0.255, 0.4386, 0.7392, 1.182, 1.777, 2.526, 3.446, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1616, 0.2214, 0.4168, 0.7824, 1.379, 2.234, 3.365, 4.792, 6.534, 8.608",\
                 "0.1608, 0.2214, 0.417, 0.7832, 1.378, 2.234, 3.364, 4.79, 6.532, 8.607",\
                 "0.1608, 0.2214, 0.417, 0.7836, 1.378, 2.234, 3.371, 4.791, 6.531, 8.608",\
                 "0.1612, 0.2212, 0.4166, 0.7832, 1.378, 2.234, 3.364, 4.79, 6.532, 8.607",\
                 "0.1608, 0.2214, 0.4168, 0.7836, 1.378, 2.237, 3.366, 4.789, 6.534, 8.611",\
                 "0.1612, 0.221, 0.417, 0.7838, 1.378, 2.238, 3.365, 4.791, 6.532, 8.61",\
                 "0.1606, 0.2212, 0.4166, 0.7828, 1.379, 2.238, 3.367, 4.792, 6.534, 8.604",\
                 "0.1602, 0.221, 0.4162, 0.7836, 1.38, 2.233, 3.367, 4.788, 6.534, 8.612",\
                 "0.1602, 0.221, 0.4164, 0.7838, 1.378, 2.234, 3.364, 4.791, 6.532, 8.602",\
                 "0.161, 0.2204, 0.4164, 0.7836, 1.378, 2.235, 3.364, 4.789, 6.528, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2813, 0.3148, 0.4056, 0.544, 0.7409, 1.012, 1.367, 1.815, 2.361, 3.012",\
                 "0.2986, 0.3321, 0.423, 0.5613, 0.7583, 1.029, 1.384, 1.832, 2.378, 3.029",\
                 "0.3654, 0.3988, 0.4896, 0.628, 0.825, 1.096, 1.451, 1.899, 2.445, 3.096",\
                 "0.4853, 0.5202, 0.613, 0.7523, 0.9493, 1.22, 1.575, 2.023, 2.569, 3.22",\
                 "0.6262, 0.6645, 0.7642, 0.9091, 1.108, 1.378, 1.733, 2.181, 2.727, 3.378",\
                 "0.7854, 0.8279, 0.9365, 1.089, 1.29, 1.562, 1.917, 2.364, 2.909, 3.56",\
                 "0.9629, 1.01, 1.129, 1.29, 1.498, 1.771, 2.126, 2.573, 3.119, 3.77",\
                 "1.159, 1.211, 1.34, 1.514, 1.73, 2.008, 2.365, 2.812, 3.358, 4.009",\
                 "1.375, 1.431, 1.572, 1.758, 1.984, 2.27, 2.633, 3.083, 3.629, 4.279",\
                 "1.612, 1.673, 1.824, 2.024, 2.261, 2.555, 2.925, 3.382, 3.933, 4.584");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.4248, 0.471, 0.6082, 0.8398, 1.189, 1.677, 2.318, 3.127, 4.115, 5.292",\
                 "0.432, 0.4779, 0.6153, 0.8468, 1.196, 1.684, 2.326, 3.135, 4.121, 5.297",\
                 "0.4526, 0.4985, 0.6358, 0.8672, 1.216, 1.704, 2.346, 3.155, 4.141, 5.319",\
                 "0.4973, 0.5437, 0.6809, 0.912, 1.261, 1.748, 2.391, 3.199, 4.187, 5.363",\
                 "0.5479, 0.5955, 0.7353, 0.9681, 1.316, 1.804, 2.445, 3.253, 4.241, 5.418",\
                 "0.5969, 0.646, 0.7892, 1.024, 1.371, 1.858, 2.499, 3.307, 4.295, 5.471",\
                 "0.6345, 0.6858, 0.8344, 1.074, 1.422, 1.907, 2.548, 3.355, 4.343, 5.519",\
                 "0.656, 0.7102, 0.8641, 1.111, 1.465, 1.951, 2.591, 3.397, 4.383, 5.559",\
                 "0.657, 0.7147, 0.875, 1.13, 1.492, 1.985, 2.626, 3.432, 4.417, 5.592",\
                 "0.6357, 0.6962, 0.8634, 1.127, 1.498, 2.002, 2.65, 3.458, 4.442, 5.617");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.109, 0.1433, 0.243, 0.4291, 0.7343, 1.18, 1.776, 2.526, 3.444, 4.537",\
                 "0.1091, 0.143, 0.2434, 0.4292, 0.7345, 1.181, 1.776, 2.525, 3.444, 4.537",\
                 "0.1094, 0.1434, 0.2437, 0.429, 0.735, 1.181, 1.776, 2.526, 3.444, 4.54",\
                 "0.1218, 0.1541, 0.2505, 0.4322, 0.7358, 1.183, 1.775, 2.526, 3.444, 4.542",\
                 "0.1438, 0.1772, 0.273, 0.4466, 0.742, 1.184, 1.776, 2.527, 3.447, 4.542",\
                 "0.171, 0.2064, 0.3016, 0.468, 0.7534, 1.188, 1.779, 2.527, 3.445, 4.537",\
                 "0.1996, 0.2382, 0.3372, 0.5004, 0.7732, 1.198, 1.782, 2.53, 3.445, 4.539",\
                 "0.23, 0.2734, 0.377, 0.5382, 0.8048, 1.221, 1.794, 2.534, 3.447, 4.539",\
                 "0.2624, 0.3096, 0.4206, 0.5822, 0.8434, 1.252, 1.821, 2.551, 3.454, 4.541",\
                 "0.2942, 0.346, 0.4658, 0.6308, 0.8872, 1.291, 1.863, 2.588, 3.48, 4.553");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1546, 0.2145, 0.405, 0.7755, 1.376, 2.234, 3.37, 4.789, 6.532, 8.608",\
                 "0.1546, 0.2142, 0.4049, 0.7757, 1.378, 2.237, 3.365, 4.792, 6.532, 8.607",\
                 "0.1545, 0.2135, 0.4052, 0.7757, 1.377, 2.238, 3.367, 4.791, 6.533, 8.61",\
                 "0.1578, 0.2171, 0.4076, 0.7764, 1.378, 2.236, 3.366, 4.79, 6.533, 8.608",\
                 "0.1662, 0.2264, 0.4178, 0.7804, 1.379, 2.235, 3.365, 4.791, 6.533, 8.608",\
                 "0.18, 0.2378, 0.4296, 0.7884, 1.381, 2.237, 3.369, 4.791, 6.532, 8.604",\
                 "0.1952, 0.2546, 0.4492, 0.8026, 1.388, 2.239, 3.368, 4.788, 6.531, 8.607",\
                 "0.215, 0.2746, 0.4712, 0.829, 1.404, 2.245, 3.368, 4.791, 6.532, 8.607",\
                 "0.2356, 0.2958, 0.4958, 0.8588, 1.438, 2.27, 3.379, 4.793, 6.53, 8.604",\
                 "0.2572, 0.3184, 0.5216, 0.8908, 1.476, 2.311, 3.411, 4.805, 6.535, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2816, 0.3153, 0.407, 0.5469, 0.745, 1.017, 1.375, 1.824, 2.37, 3.021",\
                 "0.2989, 0.3327, 0.4242, 0.5642, 0.7623, 1.034, 1.392, 1.841, 2.388, 3.039",\
                 "0.3658, 0.3994, 0.4908, 0.6309, 0.8291, 1.101, 1.459, 1.908, 2.454, 3.105",\
                 "0.4859, 0.5212, 0.6147, 0.7555, 0.9537, 1.225, 1.584, 2.032, 2.578, 3.229",\
                 "0.6277, 0.6663, 0.767, 0.9135, 1.114, 1.386, 1.743, 2.191, 2.737, 3.388",\
                 "0.7884, 0.8312, 0.9404, 1.094, 1.298, 1.571, 1.928, 2.375, 2.921, 3.572",\
                 "0.9674, 1.015, 1.134, 1.298, 1.508, 1.781, 2.138, 2.585, 3.131, 3.781",\
                 "1.165, 1.218, 1.348, 1.524, 1.741, 2.019, 2.375, 2.822, 3.367, 4.017",\
                 "1.384, 1.44, 1.582, 1.771, 1.998, 2.282, 2.64, 3.085, 3.63, 4.279",\
                 "1.623, 1.684, 1.837, 2.039, 2.278, 2.569, 2.93, 3.375, 3.918, 4.567");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.11, 0.144, 0.2456, 0.4322, 0.7369, 1.187, 1.785, 2.531, 3.441, 4.536",\
                 "0.1099, 0.1445, 0.2457, 0.4324, 0.7372, 1.187, 1.784, 2.531, 3.442, 4.536",\
                 "0.1107, 0.1448, 0.246, 0.4328, 0.7375, 1.188, 1.784, 2.531, 3.441, 4.537",\
                 "0.1231, 0.1552, 0.2533, 0.436, 0.7388, 1.188, 1.783, 2.529, 3.443, 4.536",\
                 "0.146, 0.179, 0.2762, 0.4514, 0.7456, 1.191, 1.783, 2.528, 3.443, 4.537",\
                 "0.1734, 0.2082, 0.3046, 0.4734, 0.7574, 1.195, 1.784, 2.528, 3.442, 4.537",\
                 "0.2024, 0.2408, 0.3404, 0.5046, 0.776, 1.202, 1.786, 2.529, 3.444, 4.538",\
                 "0.2336, 0.2762, 0.3812, 0.5442, 0.806, 1.216, 1.789, 2.529, 3.441, 4.536",\
                 "0.266, 0.3134, 0.4258, 0.5892, 0.8434, 1.241, 1.799, 2.531, 3.442, 4.533",\
                 "0.2988, 0.3508, 0.4722, 0.6392, 0.8864, 1.272, 1.815, 2.537, 3.442, 4.534");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2813, 0.3148, 0.4056, 0.544, 0.7409, 1.012, 1.367, 1.815, 2.361, 3.012",\
                 "0.2986, 0.3321, 0.423, 0.5613, 0.7583, 1.029, 1.384, 1.832, 2.378, 3.029",\
                 "0.3654, 0.3988, 0.4896, 0.628, 0.825, 1.096, 1.451, 1.899, 2.445, 3.096",\
                 "0.4853, 0.5202, 0.613, 0.7523, 0.9493, 1.22, 1.575, 2.023, 2.569, 3.22",\
                 "0.6262, 0.6645, 0.7644, 0.9091, 1.108, 1.378, 1.733, 2.181, 2.727, 3.378",\
                 "0.7854, 0.8279, 0.9363, 1.088, 1.29, 1.562, 1.917, 2.364, 2.909, 3.56",\
                 "0.9629, 1.01, 1.129, 1.29, 1.498, 1.771, 2.126, 2.573, 3.119, 3.77",\
                 "1.159, 1.211, 1.34, 1.514, 1.73, 2.008, 2.365, 2.812, 3.358, 4.009",\
                 "1.375, 1.431, 1.571, 1.758, 1.984, 2.27, 2.633, 3.083, 3.629, 4.279",\
                 "1.612, 1.673, 1.824, 2.023, 2.261, 2.555, 2.925, 3.382, 3.933, 4.584");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.425, 0.4711, 0.6079, 0.8398, 1.189, 1.677, 2.319, 3.128, 4.114, 5.291",\
                 "0.432, 0.4779, 0.6153, 0.8468, 1.196, 1.684, 2.326, 3.135, 4.121, 5.297",\
                 "0.4526, 0.4985, 0.6358, 0.8672, 1.216, 1.704, 2.346, 3.155, 4.141, 5.319",\
                 "0.4973, 0.5437, 0.6809, 0.912, 1.261, 1.748, 2.391, 3.199, 4.187, 5.363",\
                 "0.5478, 0.5954, 0.7352, 0.9681, 1.316, 1.803, 2.445, 3.253, 4.241, 5.418",\
                 "0.5966, 0.646, 0.7892, 1.024, 1.371, 1.858, 2.499, 3.307, 4.294, 5.471",\
                 "0.6349, 0.686, 0.8344, 1.073, 1.422, 1.907, 2.548, 3.355, 4.342, 5.517",\
                 "0.656, 0.7102, 0.8641, 1.111, 1.465, 1.951, 2.591, 3.397, 4.383, 5.559",\
                 "0.6572, 0.7145, 0.8749, 1.13, 1.492, 1.985, 2.626, 3.431, 4.417, 5.592",\
                 "0.636, 0.6964, 0.8633, 1.127, 1.498, 2.002, 2.65, 3.458, 4.442, 5.617");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.109, 0.1433, 0.243, 0.4285, 0.7343, 1.18, 1.776, 2.526, 3.444, 4.537",\
                 "0.1091, 0.143, 0.2434, 0.4292, 0.7345, 1.181, 1.776, 2.525, 3.444, 4.537",\
                 "0.1094, 0.1434, 0.2437, 0.429, 0.735, 1.181, 1.776, 2.526, 3.444, 4.54",\
                 "0.1218, 0.1541, 0.2505, 0.4322, 0.7358, 1.183, 1.775, 2.526, 3.444, 4.542",\
                 "0.144, 0.1772, 0.2736, 0.4466, 0.7422, 1.184, 1.775, 2.528, 3.443, 4.542",\
                 "0.171, 0.2064, 0.3016, 0.469, 0.7538, 1.188, 1.778, 2.527, 3.446, 4.54",\
                 "0.1996, 0.2382, 0.3372, 0.5004, 0.7728, 1.198, 1.782, 2.53, 3.445, 4.539",\
                 "0.2304, 0.2736, 0.377, 0.539, 0.8046, 1.219, 1.794, 2.534, 3.447, 4.538",\
                 "0.2626, 0.309, 0.4198, 0.582, 0.8434, 1.252, 1.821, 2.551, 3.454, 4.541",\
                 "0.2942, 0.346, 0.4658, 0.6306, 0.8858, 1.291, 1.863, 2.588, 3.48, 4.558");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1548, 0.214, 0.4053, 0.775, 1.376, 2.234, 3.368, 4.789, 6.533, 8.609",\
                 "0.1546, 0.2142, 0.4049, 0.7757, 1.378, 2.237, 3.365, 4.792, 6.532, 8.607",\
                 "0.1545, 0.2135, 0.4052, 0.7757, 1.377, 2.238, 3.367, 4.791, 6.533, 8.61",\
                 "0.1578, 0.2171, 0.4076, 0.7764, 1.378, 2.236, 3.366, 4.79, 6.533, 8.608",\
                 "0.1662, 0.2262, 0.418, 0.7804, 1.379, 2.234, 3.365, 4.79, 6.533, 8.609",\
                 "0.1786, 0.238, 0.4292, 0.7884, 1.381, 2.237, 3.37, 4.792, 6.528, 8.608",\
                 "0.1948, 0.255, 0.4492, 0.804, 1.388, 2.239, 3.367, 4.791, 6.53, 8.608",\
                 "0.215, 0.2746, 0.4712, 0.829, 1.405, 2.243, 3.368, 4.791, 6.532, 8.607",\
                 "0.2346, 0.2954, 0.4952, 0.8596, 1.438, 2.27, 3.378, 4.793, 6.529, 8.619",\
                 "0.2568, 0.319, 0.5204, 0.8918, 1.476, 2.311, 3.411, 4.806, 6.532, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2815, 0.3153, 0.4069, 0.5469, 0.7449, 1.016, 1.375, 1.824, 2.37, 3.021",\
                 "0.2989, 0.3327, 0.4242, 0.5642, 0.7623, 1.034, 1.392, 1.841, 2.388, 3.039",\
                 "0.3658, 0.3994, 0.4908, 0.6309, 0.829, 1.101, 1.459, 1.908, 2.454, 3.105",\
                 "0.486, 0.5212, 0.6147, 0.7555, 0.9537, 1.226, 1.584, 2.032, 2.578, 3.229",\
                 "0.6277, 0.6662, 0.7669, 0.9135, 1.114, 1.386, 1.743, 2.191, 2.737, 3.388",\
                 "0.7885, 0.8314, 0.9406, 1.094, 1.298, 1.571, 1.928, 2.375, 2.921, 3.572",\
                 "0.9674, 1.015, 1.134, 1.298, 1.508, 1.781, 2.138, 2.585, 3.13, 3.781",\
                 "1.165, 1.218, 1.348, 1.524, 1.741, 2.019, 2.376, 2.822, 3.367, 4.017",\
                 "1.384, 1.44, 1.582, 1.771, 1.998, 2.282, 2.64, 3.085, 3.63, 4.279",\
                 "1.623, 1.683, 1.836, 2.039, 2.278, 2.569, 2.93, 3.375, 3.919, 4.568");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.11, 0.1445, 0.2455, 0.4327, 0.7372, 1.187, 1.785, 2.531, 3.443, 4.534",\
                 "0.11, 0.1441, 0.2458, 0.4325, 0.737, 1.187, 1.784, 2.531, 3.441, 4.537",\
                 "0.1107, 0.1447, 0.2459, 0.4329, 0.7374, 1.188, 1.784, 2.53, 3.44, 4.537",\
                 "0.1231, 0.1553, 0.2534, 0.4362, 0.7386, 1.188, 1.783, 2.528, 3.443, 4.537",\
                 "0.1458, 0.1784, 0.2766, 0.4514, 0.7458, 1.19, 1.783, 2.528, 3.442, 4.536",\
                 "0.1724, 0.208, 0.3046, 0.4734, 0.7576, 1.196, 1.784, 2.528, 3.443, 4.538",\
                 "0.202, 0.2408, 0.3406, 0.5046, 0.7762, 1.202, 1.786, 2.529, 3.44, 4.537",\
                 "0.2338, 0.2762, 0.381, 0.544, 0.806, 1.217, 1.79, 2.53, 3.441, 4.536",\
                 "0.266, 0.3134, 0.4256, 0.5886, 0.843, 1.241, 1.799, 2.532, 3.443, 4.533",\
                 "0.2988, 0.3506, 0.4724, 0.6392, 0.8866, 1.272, 1.815, 2.536, 3.442, 4.536");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.281, 0.3146, 0.4055, 0.5438, 0.7408, 1.012, 1.367, 1.814, 2.361, 3.012",\
                 "0.2983, 0.3319, 0.4227, 0.5611, 0.7581, 1.029, 1.384, 1.832, 2.378, 3.03",\
                 "0.3651, 0.3986, 0.4894, 0.6278, 0.8248, 1.096, 1.451, 1.899, 2.445, 3.097",\
                 "0.4852, 0.52, 0.6129, 0.7522, 0.9492, 1.22, 1.575, 2.023, 2.569, 3.221",\
                 "0.6259, 0.6643, 0.7642, 0.909, 1.108, 1.379, 1.733, 2.181, 2.727, 3.379",\
                 "0.7851, 0.8281, 0.9362, 1.088, 1.29, 1.562, 1.917, 2.364, 2.91, 3.561",\
                 "0.9622, 1.009, 1.128, 1.29, 1.498, 1.771, 2.126, 2.573, 3.119, 3.77",\
                 "1.159, 1.211, 1.34, 1.513, 1.73, 2.008, 2.365, 2.812, 3.358, 4.009",\
                 "1.375, 1.431, 1.571, 1.758, 1.984, 2.27, 2.632, 3.082, 3.628, 4.279",\
                 "1.613, 1.672, 1.824, 2.023, 2.261, 2.555, 2.924, 3.381, 3.932, 4.584");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.4217, 0.4678, 0.6046, 0.8364, 1.186, 1.674, 2.316, 3.125, 4.114, 5.292",\
                 "0.4289, 0.475, 0.612, 0.8436, 1.193, 1.681, 2.323, 3.132, 4.121, 5.299",\
                 "0.4499, 0.4957, 0.6329, 0.8644, 1.213, 1.701, 2.344, 3.153, 4.141, 5.319",\
                 "0.4953, 0.5419, 0.6789, 0.91, 1.259, 1.747, 2.389, 3.198, 4.186, 5.363",\
                 "0.5464, 0.5938, 0.7343, 0.9666, 1.315, 1.802, 2.445, 3.255, 4.24, 5.415",\
                 "0.5961, 0.6453, 0.7885, 1.023, 1.37, 1.857, 2.498, 3.307, 4.295, 5.474",\
                 "0.6339, 0.6852, 0.8336, 1.072, 1.421, 1.906, 2.547, 3.354, 4.342, 5.517",\
                 "0.6552, 0.7095, 0.8631, 1.111, 1.465, 1.95, 2.59, 3.397, 4.382, 5.558",\
                 "0.6563, 0.7133, 0.8733, 1.129, 1.491, 1.984, 2.625, 3.43, 4.416, 5.591",\
                 "0.6349, 0.6954, 0.8623, 1.125, 1.497, 2.001, 2.649, 3.457, 4.442, 5.617");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.109, 0.1435, 0.2439, 0.429, 0.7363, 1.182, 1.778, 2.53, 3.449, 4.547",\
                 "0.109, 0.143, 0.2441, 0.429, 0.7361, 1.181, 1.779, 2.53, 3.449, 4.546",\
                 "0.1096, 0.1438, 0.2436, 0.4289, 0.7351, 1.183, 1.777, 2.531, 3.451, 4.541",\
                 "0.1217, 0.1542, 0.251, 0.4318, 0.7356, 1.183, 1.777, 2.531, 3.451, 4.54",\
                 "0.1442, 0.1776, 0.273, 0.4468, 0.7422, 1.184, 1.779, 2.528, 3.447, 4.546",\
                 "0.1712, 0.206, 0.3016, 0.4686, 0.7544, 1.189, 1.779, 2.53, 3.447, 4.54",\
                 "0.1998, 0.2382, 0.3378, 0.4998, 0.7752, 1.199, 1.783, 2.53, 3.448, 4.54",\
                 "0.2302, 0.2738, 0.3768, 0.5378, 0.8046, 1.22, 1.795, 2.535, 3.447, 4.539",\
                 "0.262, 0.3096, 0.4198, 0.5818, 0.8428, 1.254, 1.822, 2.551, 3.457, 4.541",\
                 "0.294, 0.345, 0.4656, 0.631, 0.8862, 1.293, 1.861, 2.589, 3.481, 4.555");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1544, 0.2137, 0.4054, 0.774, 1.376, 2.233, 3.368, 4.797, 6.536, 8.611",\
                 "0.1545, 0.2128, 0.4052, 0.7739, 1.376, 2.233, 3.369, 4.797, 6.535, 8.611",\
                 "0.1541, 0.2135, 0.4044, 0.7741, 1.376, 2.233, 3.366, 4.799, 6.534, 8.61",\
                 "0.1577, 0.2169, 0.4073, 0.775, 1.376, 2.234, 3.365, 4.793, 6.536, 8.626",\
                 "0.1668, 0.2262, 0.417, 0.7804, 1.381, 2.236, 3.366, 4.793, 6.541, 8.619",\
                 "0.1786, 0.238, 0.4294, 0.7878, 1.381, 2.239, 3.371, 4.792, 6.537, 8.616",\
                 "0.1962, 0.2556, 0.4498, 0.8026, 1.386, 2.238, 3.369, 4.788, 6.531, 8.604",\
                 "0.2142, 0.274, 0.4716, 0.8292, 1.404, 2.245, 3.368, 4.792, 6.528, 8.603",\
                 "0.2356, 0.2956, 0.4954, 0.8582, 1.439, 2.269, 3.376, 4.794, 6.531, 8.612",\
                 "0.257, 0.3206, 0.5204, 0.892, 1.476, 2.312, 3.407, 4.806, 6.532, 8.604");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2812, 0.315, 0.4065, 0.5461, 0.7452, 1.018, 1.373, 1.821, 2.367, 3.018",\
                 "0.2986, 0.3323, 0.4238, 0.5635, 0.7625, 1.035, 1.391, 1.838, 2.384, 3.036",\
                 "0.3655, 0.3991, 0.4904, 0.6301, 0.8293, 1.102, 1.457, 1.905, 2.451, 3.102",\
                 "0.4858, 0.5209, 0.6142, 0.7547, 0.9537, 1.226, 1.582, 2.029, 2.575, 3.226",\
                 "0.6277, 0.6664, 0.7665, 0.9125, 1.113, 1.384, 1.739, 2.186, 2.733, 3.384",\
                 "0.7886, 0.8317, 0.9398, 1.093, 1.294, 1.566, 1.92, 2.367, 2.913, 3.564",\
                 "0.9677, 1.015, 1.133, 1.295, 1.5, 1.77, 2.124, 2.57, 3.115, 3.766",\
                 "1.166, 1.218, 1.347, 1.519, 1.728, 1.997, 2.35, 2.795, 3.341, 3.991",\
                 "1.384, 1.44, 1.58, 1.764, 1.977, 2.246, 2.597, 3.042, 3.586, 4.236",\
                 "1.624, 1.685, 1.834, 2.03, 2.247, 2.515, 2.865, 3.308, 3.852, 4.501");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1104, 0.1442, 0.2454, 0.4328, 0.74, 1.184, 1.776, 2.523, 3.444, 4.54",\
                 "0.1103, 0.144, 0.2453, 0.4328, 0.7407, 1.184, 1.774, 2.524, 3.441, 4.54",\
                 "0.1108, 0.1444, 0.2456, 0.4331, 0.7406, 1.184, 1.774, 2.523, 3.442, 4.54",\
                 "0.1231, 0.1554, 0.2526, 0.4358, 0.7412, 1.184, 1.775, 2.525, 3.442, 4.535",\
                 "0.1462, 0.1788, 0.2758, 0.45, 0.745, 1.184, 1.775, 2.523, 3.441, 4.54",\
                 "0.1736, 0.2084, 0.3026, 0.4698, 0.7524, 1.186, 1.776, 2.526, 3.443, 4.54",\
                 "0.203, 0.2412, 0.3364, 0.496, 0.7616, 1.188, 1.776, 2.524, 3.442, 4.538",\
                 "0.2342, 0.2764, 0.3754, 0.529, 0.775, 1.191, 1.776, 2.526, 3.44, 4.535",\
                 "0.266, 0.312, 0.417, 0.5652, 0.791, 1.194, 1.777, 2.525, 3.442, 4.533",\
                 "0.2986, 0.3476, 0.461, 0.6038, 0.8074, 1.197, 1.777, 2.527, 3.444, 4.534");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.281, 0.3146, 0.4055, 0.5438, 0.7408, 1.012, 1.367, 1.814, 2.361, 3.012",\
                 "0.2983, 0.3319, 0.4227, 0.5611, 0.7581, 1.029, 1.384, 1.832, 2.378, 3.03",\
                 "0.3651, 0.3986, 0.4894, 0.6278, 0.8248, 1.096, 1.451, 1.899, 2.445, 3.097",\
                 "0.4852, 0.52, 0.6129, 0.7522, 0.9492, 1.22, 1.575, 2.023, 2.569, 3.221",\
                 "0.6259, 0.6641, 0.7641, 0.9089, 1.108, 1.379, 1.734, 2.181, 2.727, 3.379",\
                 "0.7854, 0.828, 0.9361, 1.088, 1.291, 1.562, 1.917, 2.364, 2.91, 3.561",\
                 "0.9629, 1.01, 1.128, 1.29, 1.498, 1.771, 2.126, 2.573, 3.119, 3.77",\
                 "1.159, 1.211, 1.34, 1.513, 1.73, 2.008, 2.365, 2.812, 3.358, 4.009",\
                 "1.375, 1.431, 1.571, 1.758, 1.984, 2.27, 2.632, 3.082, 3.628, 4.279",\
                 "1.612, 1.672, 1.824, 2.023, 2.261, 2.555, 2.924, 3.382, 3.932, 4.584");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.4218, 0.4673, 0.6047, 0.8364, 1.186, 1.673, 2.315, 3.125, 4.115, 5.294",\
                 "0.4289, 0.475, 0.612, 0.8436, 1.193, 1.681, 2.323, 3.132, 4.121, 5.299",\
                 "0.4501, 0.4958, 0.6329, 0.8643, 1.213, 1.701, 2.343, 3.153, 4.139, 5.316",\
                 "0.4953, 0.5416, 0.6789, 0.91, 1.259, 1.747, 2.389, 3.199, 4.184, 5.36",\
                 "0.5464, 0.5938, 0.7342, 0.9669, 1.315, 1.802, 2.445, 3.255, 4.241, 5.417",\
                 "0.5959, 0.6451, 0.7884, 1.022, 1.37, 1.857, 2.498, 3.306, 4.295, 5.474",\
                 "0.6339, 0.6852, 0.8335, 1.072, 1.421, 1.906, 2.547, 3.354, 4.341, 5.519",\
                 "0.655, 0.7095, 0.8639, 1.111, 1.464, 1.95, 2.59, 3.397, 4.382, 5.558",\
                 "0.6559, 0.7136, 0.8742, 1.129, 1.491, 1.985, 2.624, 3.431, 4.416, 5.591",\
                 "0.6346, 0.6956, 0.8625, 1.125, 1.497, 2.001, 2.649, 3.457, 4.441, 5.616");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.109, 0.1435, 0.2439, 0.429, 0.7363, 1.182, 1.778, 2.53, 3.449, 4.547",\
                 "0.109, 0.143, 0.2441, 0.429, 0.7361, 1.181, 1.779, 2.53, 3.449, 4.546",\
                 "0.1096, 0.1438, 0.2436, 0.4289, 0.7351, 1.183, 1.777, 2.531, 3.451, 4.541",\
                 "0.1218, 0.1542, 0.251, 0.4318, 0.7356, 1.183, 1.777, 2.531, 3.451, 4.54",\
                 "0.1444, 0.1772, 0.2732, 0.447, 0.7416, 1.183, 1.779, 2.529, 3.449, 4.548",\
                 "0.171, 0.2068, 0.3014, 0.4694, 0.7536, 1.189, 1.779, 2.53, 3.445, 4.541",\
                 "0.1992, 0.2382, 0.3366, 0.5, 0.775, 1.198, 1.782, 2.53, 3.448, 4.542",\
                 "0.23, 0.2754, 0.377, 0.5378, 0.8052, 1.221, 1.794, 2.536, 3.447, 4.538",\
                 "0.2636, 0.3088, 0.421, 0.582, 0.8436, 1.253, 1.821, 2.551, 3.456, 4.541",\
                 "0.2944, 0.345, 0.4664, 0.6312, 0.8862, 1.291, 1.861, 2.59, 3.479, 4.554");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1542, 0.2131, 0.4048, 0.774, 1.376, 2.237, 3.365, 4.793, 6.536, 8.614",\
                 "0.1545, 0.2128, 0.4052, 0.7739, 1.376, 2.233, 3.368, 4.797, 6.536, 8.611",\
                 "0.154, 0.2142, 0.4049, 0.7747, 1.375, 2.238, 3.366, 4.793, 6.534, 8.618",\
                 "0.1577, 0.2169, 0.4071, 0.775, 1.379, 2.234, 3.365, 4.792, 6.541, 8.62",\
                 "0.1668, 0.2262, 0.4164, 0.7802, 1.378, 2.234, 3.365, 4.794, 6.545, 8.622",\
                 "0.1788, 0.2382, 0.429, 0.7874, 1.381, 2.239, 3.37, 4.79, 6.535, 8.61",\
                 "0.1964, 0.2554, 0.449, 0.8028, 1.387, 2.237, 3.369, 4.789, 6.528, 8.612",\
                 "0.2152, 0.2746, 0.4716, 0.8288, 1.405, 2.242, 3.368, 4.791, 6.533, 8.603",\
                 "0.235, 0.2948, 0.4958, 0.8588, 1.437, 2.27, 3.38, 4.793, 6.53, 8.62",\
                 "0.2572, 0.3202, 0.5216, 0.8914, 1.476, 2.311, 3.407, 4.806, 6.534, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2812, 0.315, 0.4065, 0.5461, 0.7452, 1.018, 1.373, 1.821, 2.367, 3.018",\
                 "0.2986, 0.3324, 0.4238, 0.5635, 0.7625, 1.035, 1.391, 1.838, 2.384, 3.036",\
                 "0.3655, 0.3991, 0.4904, 0.6301, 0.8293, 1.102, 1.457, 1.905, 2.451, 3.102",\
                 "0.4859, 0.5209, 0.6143, 0.7548, 0.9537, 1.226, 1.582, 2.029, 2.575, 3.226",\
                 "0.6275, 0.6663, 0.7663, 0.9123, 1.112, 1.384, 1.739, 2.186, 2.732, 3.383",\
                 "0.7885, 0.8317, 0.94, 1.093, 1.294, 1.566, 1.921, 2.367, 2.913, 3.564",\
                 "0.9676, 1.015, 1.133, 1.295, 1.5, 1.77, 2.124, 2.57, 3.115, 3.766",\
                 "1.166, 1.218, 1.347, 1.519, 1.727, 1.997, 2.35, 2.795, 3.341, 3.991",\
                 "1.384, 1.441, 1.58, 1.764, 1.977, 2.246, 2.597, 3.042, 3.586, 4.237",\
                 "1.624, 1.684, 1.834, 2.029, 2.247, 2.515, 2.865, 3.308, 3.852, 4.501");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1103, 0.1442, 0.2454, 0.4328, 0.74, 1.184, 1.774, 2.524, 3.441, 4.539",\
                 "0.1103, 0.144, 0.2453, 0.4328, 0.7407, 1.185, 1.774, 2.524, 3.441, 4.54",\
                 "0.1108, 0.1445, 0.2457, 0.4328, 0.7406, 1.184, 1.774, 2.524, 3.442, 4.54",\
                 "0.1231, 0.1553, 0.2526, 0.4358, 0.741, 1.184, 1.775, 2.525, 3.441, 4.54",\
                 "0.146, 0.179, 0.2754, 0.4502, 0.7454, 1.184, 1.775, 2.525, 3.44, 4.539",\
                 "0.1744, 0.2078, 0.302, 0.4692, 0.752, 1.187, 1.776, 2.525, 3.441, 4.539",\
                 "0.204, 0.2406, 0.3368, 0.4958, 0.7614, 1.188, 1.776, 2.524, 3.443, 4.538",\
                 "0.2354, 0.278, 0.3758, 0.5288, 0.7748, 1.191, 1.777, 2.525, 3.44, 4.536",\
                 "0.267, 0.3112, 0.4172, 0.565, 0.7916, 1.194, 1.777, 2.524, 3.441, 4.533",\
                 "0.2994, 0.3484, 0.4612, 0.6036, 0.808, 1.197, 1.777, 2.526, 3.444, 4.534");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.2813, 0.3148, 0.4056, 0.544, 0.7409, 1.012, 1.367, 1.815, 2.361, 3.012",\
                 "0.2986, 0.3321, 0.423, 0.5613, 0.7583, 1.029, 1.384, 1.832, 2.378, 3.029",\
                 "0.3654, 0.3988, 0.4896, 0.628, 0.825, 1.096, 1.451, 1.899, 2.445, 3.096",\
                 "0.4853, 0.5202, 0.613, 0.7523, 0.9493, 1.22, 1.575, 2.023, 2.569, 3.22",\
                 "0.6262, 0.6645, 0.7642, 0.9091, 1.108, 1.378, 1.733, 2.181, 2.727, 3.378",\
                 "0.7854, 0.8279, 0.9365, 1.089, 1.29, 1.562, 1.917, 2.364, 2.909, 3.56",\
                 "0.9629, 1.01, 1.129, 1.29, 1.498, 1.771, 2.126, 2.573, 3.119, 3.77",\
                 "1.159, 1.211, 1.34, 1.514, 1.73, 2.008, 2.365, 2.812, 3.358, 4.009",\
                 "1.375, 1.431, 1.572, 1.758, 1.984, 2.27, 2.633, 3.083, 3.629, 4.279",\
                 "1.612, 1.673, 1.824, 2.024, 2.261, 2.555, 2.925, 3.382, 3.933, 4.584");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.4217, 0.4678, 0.6046, 0.8364, 1.186, 1.674, 2.316, 3.125, 4.114, 5.292",\
                 "0.4289, 0.475, 0.612, 0.8436, 1.193, 1.681, 2.323, 3.132, 4.121, 5.299",\
                 "0.4499, 0.4957, 0.6329, 0.8644, 1.213, 1.701, 2.344, 3.153, 4.141, 5.319",\
                 "0.4953, 0.5419, 0.6789, 0.91, 1.259, 1.747, 2.389, 3.198, 4.186, 5.363",\
                 "0.5464, 0.5938, 0.7343, 0.9666, 1.315, 1.802, 2.445, 3.255, 4.24, 5.415",\
                 "0.5961, 0.6453, 0.7885, 1.023, 1.37, 1.857, 2.498, 3.307, 4.295, 5.474",\
                 "0.6339, 0.6852, 0.8336, 1.072, 1.421, 1.906, 2.547, 3.354, 4.342, 5.517",\
                 "0.6552, 0.7095, 0.8631, 1.111, 1.465, 1.95, 2.59, 3.397, 4.382, 5.558",\
                 "0.6563, 0.7133, 0.8733, 1.129, 1.491, 1.984, 2.625, 3.43, 4.416, 5.591",\
                 "0.6349, 0.6954, 0.8623, 1.125, 1.497, 2.001, 2.649, 3.457, 4.442, 5.617");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.109, 0.1433, 0.243, 0.4285, 0.7343, 1.18, 1.776, 2.526, 3.444, 4.537",\
                 "0.1091, 0.143, 0.2434, 0.4292, 0.7345, 1.181, 1.776, 2.525, 3.444, 4.537",\
                 "0.1094, 0.1434, 0.2437, 0.429, 0.735, 1.181, 1.776, 2.526, 3.444, 4.54",\
                 "0.1218, 0.1541, 0.2505, 0.4322, 0.7358, 1.183, 1.775, 2.526, 3.444, 4.542",\
                 "0.144, 0.1772, 0.2736, 0.4466, 0.7422, 1.184, 1.775, 2.528, 3.443, 4.542",\
                 "0.171, 0.2064, 0.3016, 0.469, 0.7538, 1.188, 1.778, 2.527, 3.446, 4.54",\
                 "0.1996, 0.2382, 0.3372, 0.5004, 0.7728, 1.198, 1.782, 2.53, 3.445, 4.539",\
                 "0.2304, 0.2736, 0.377, 0.539, 0.8046, 1.219, 1.794, 2.534, 3.447, 4.538",\
                 "0.2626, 0.309, 0.4198, 0.582, 0.8434, 1.252, 1.821, 2.551, 3.454, 4.541",\
                 "0.2942, 0.346, 0.4658, 0.6306, 0.8858, 1.291, 1.863, 2.588, 3.48, 4.558");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1544, 0.2137, 0.4054, 0.774, 1.376, 2.233, 3.368, 4.797, 6.536, 8.611",\
                 "0.1545, 0.2128, 0.4052, 0.7739, 1.376, 2.233, 3.369, 4.797, 6.535, 8.611",\
                 "0.1541, 0.2135, 0.4044, 0.7741, 1.376, 2.233, 3.366, 4.799, 6.534, 8.61",\
                 "0.1577, 0.2169, 0.4073, 0.775, 1.376, 2.234, 3.365, 4.793, 6.536, 8.626",\
                 "0.1668, 0.2262, 0.417, 0.7804, 1.381, 2.236, 3.366, 4.793, 6.541, 8.619",\
                 "0.1786, 0.238, 0.4294, 0.7878, 1.381, 2.239, 3.371, 4.792, 6.537, 8.616",\
                 "0.1962, 0.2556, 0.4498, 0.8026, 1.386, 2.238, 3.369, 4.788, 6.531, 8.604",\
                 "0.2142, 0.274, 0.4716, 0.8292, 1.404, 2.245, 3.368, 4.792, 6.528, 8.603",\
                 "0.2356, 0.2956, 0.4954, 0.8582, 1.439, 2.269, 3.376, 4.794, 6.531, 8.612",\
                 "0.257, 0.3206, 0.5204, 0.892, 1.476, 2.312, 3.407, 4.806, 6.532, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("1.103, 1.15, 1.288, 1.519, 1.867, 2.354, 2.996, 3.804, 4.792, 5.969",\
                 "1.121, 1.168, 1.305, 1.536, 1.884, 2.372, 3.013, 3.821, 4.809, 5.985",\
                 "1.187, 1.233, 1.371, 1.602, 1.95, 2.437, 3.079, 3.887, 4.873, 6.051",\
                 "1.319, 1.366, 1.504, 1.735, 2.083, 2.57, 3.212, 4.02, 5.008, 6.184",\
                 "1.524, 1.571, 1.708, 1.939, 2.287, 2.774, 3.415, 4.225, 5.21, 6.387",\
                 "1.773, 1.819, 1.957, 2.188, 2.536, 3.023, 3.664, 4.473, 5.459, 6.635",\
                 "2.058, 2.104, 2.242, 2.472, 2.82, 3.307, 3.948, 4.758, 5.745, 6.922",\
                 "2.377, 2.424, 2.562, 2.792, 3.139, 3.626, 4.267, 5.076, 6.064, 7.239",\
                 "2.728, 2.774, 2.912, 3.143, 3.49, 3.977, 4.617, 5.425, 6.411, 7.588",\
                 "3.107, 3.154, 3.292, 3.522, 3.87, 4.356, 4.998, 5.805, 6.792, 7.968");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.161, 0.2206, 0.4118, 0.778, 1.377, 2.235, 3.366, 4.792, 6.529, 8.607",\
                 "0.1622, 0.2212, 0.4108, 0.7774, 1.376, 2.234, 3.365, 4.791, 6.533, 8.609",\
                 "0.1622, 0.2202, 0.4104, 0.7766, 1.377, 2.238, 3.366, 4.792, 6.532, 8.609",\
                 "0.1622, 0.2212, 0.4108, 0.7772, 1.376, 2.234, 3.365, 4.791, 6.533, 8.609",\
                 "0.1626, 0.2214, 0.4114, 0.777, 1.377, 2.233, 3.37, 4.792, 6.532, 8.604",\
                 "0.1626, 0.2222, 0.4118, 0.7774, 1.377, 2.236, 3.369, 4.791, 6.532, 8.607",\
                 "0.1644, 0.223, 0.413, 0.7786, 1.378, 2.237, 3.368, 4.792, 6.533, 8.609",\
                 "0.1644, 0.2232, 0.4138, 0.7788, 1.378, 2.232, 3.365, 4.79, 6.532, 8.606",\
                 "0.1654, 0.2248, 0.4144, 0.779, 1.377, 2.233, 3.365, 4.795, 6.53, 8.605",\
                 "0.1668, 0.2256, 0.4154, 0.7806, 1.377, 2.235, 3.364, 4.787, 6.53, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("1.103, 1.15, 1.287, 1.519, 1.866, 2.354, 2.995, 3.805, 4.791, 5.968",\
                 "1.121, 1.168, 1.305, 1.536, 1.884, 2.371, 3.014, 3.821, 4.81, 5.985",\
                 "1.187, 1.233, 1.371, 1.602, 1.95, 2.437, 3.079, 3.887, 4.874, 6.051",\
                 "1.32, 1.366, 1.504, 1.735, 2.083, 2.57, 3.212, 4.02, 5.008, 6.184",\
                 "1.524, 1.571, 1.708, 1.939, 2.287, 2.774, 3.416, 4.225, 5.212, 6.387",\
                 "1.773, 1.82, 1.958, 2.188, 2.536, 3.023, 3.665, 4.473, 5.46, 6.636",\
                 "2.058, 2.104, 2.242, 2.473, 2.82, 3.307, 3.949, 4.758, 5.745, 6.922",\
                 "2.377, 2.424, 2.561, 2.792, 3.139, 3.627, 4.267, 5.075, 6.064, 7.24",\
                 "2.728, 2.775, 2.913, 3.143, 3.49, 3.977, 4.618, 5.426, 6.412, 7.588",\
                 "3.108, 3.155, 3.293, 3.523, 3.87, 4.356, 4.998, 5.806, 6.792, 7.968");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1614, 0.2208, 0.4118, 0.7772, 1.376, 2.234, 3.369, 4.792, 6.53, 8.61",\
                 "0.1622, 0.2204, 0.4106, 0.7768, 1.377, 2.238, 3.366, 4.792, 6.533, 8.606",\
                 "0.162, 0.22, 0.4108, 0.7768, 1.377, 2.238, 3.366, 4.792, 6.531, 8.607",\
                 "0.1622, 0.2212, 0.4114, 0.7772, 1.376, 2.234, 3.365, 4.79, 6.533, 8.609",\
                 "0.1626, 0.2214, 0.4116, 0.7768, 1.376, 2.233, 3.365, 4.792, 6.534, 8.602",\
                 "0.163, 0.2222, 0.4118, 0.7778, 1.377, 2.234, 3.364, 4.79, 6.531, 8.602",\
                 "0.1642, 0.2226, 0.413, 0.7784, 1.378, 2.237, 3.366, 4.792, 6.533, 8.609",\
                 "0.1648, 0.2242, 0.4136, 0.778, 1.377, 2.235, 3.364, 4.791, 6.534, 8.61",\
                 "0.1662, 0.2246, 0.4146, 0.7784, 1.377, 2.235, 3.364, 4.794, 6.531, 8.605",\
                 "0.1662, 0.2252, 0.4152, 0.7788, 1.379, 2.234, 3.363, 4.788, 6.528, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.8444, 0.8908, 1.029, 1.26, 1.608, 2.096, 2.738, 3.548, 4.534, 5.714",\
                 "0.8625, 0.9089, 1.046, 1.277, 1.626, 2.113, 2.756, 3.565, 4.553, 5.733",\
                 "0.9279, 0.9743, 1.112, 1.343, 1.692, 2.179, 2.822, 3.631, 4.619, 5.798",\
                 "1.047, 1.094, 1.231, 1.462, 1.811, 2.298, 2.941, 3.751, 4.737, 5.912",\
                 "1.199, 1.245, 1.383, 1.614, 1.962, 2.45, 3.092, 3.902, 4.888, 6.068",\
                 "1.371, 1.417, 1.555, 1.786, 2.134, 2.622, 3.264, 4.071, 5.062, 6.239",\
                 "1.561, 1.607, 1.746, 1.977, 2.325, 2.812, 3.453, 4.263, 5.251, 6.43",\
                 "1.765, 1.812, 1.951, 2.182, 2.529, 3.017, 3.657, 4.465, 5.453, 6.632",\
                 "1.983, 2.03, 2.169, 2.4, 2.747, 3.234, 3.875, 4.683, 5.669, 6.845",\
                 "2.213, 2.26, 2.399, 2.63, 2.977, 3.464, 4.105, 4.912, 5.899, 7.075");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1593, 0.218, 0.4092, 0.776, 1.377, 2.235, 3.365, 4.793, 6.533, 8.613",\
                 "0.1595, 0.2186, 0.4094, 0.776, 1.377, 2.233, 3.366, 4.793, 6.536, 8.616",\
                 "0.1598, 0.2186, 0.4094, 0.7758, 1.377, 2.233, 3.366, 4.793, 6.535, 8.616",\
                 "0.1596, 0.2182, 0.409, 0.776, 1.377, 2.237, 3.365, 4.793, 6.542, 8.616",\
                 "0.1598, 0.2192, 0.4102, 0.7766, 1.377, 2.238, 3.365, 4.793, 6.533, 8.613",\
                 "0.1606, 0.2206, 0.4116, 0.7772, 1.376, 2.236, 3.365, 4.79, 6.532, 8.612",\
                 "0.1626, 0.222, 0.4124, 0.7774, 1.377, 2.232, 3.364, 4.792, 6.536, 8.616",\
                 "0.1658, 0.2236, 0.4144, 0.779, 1.378, 2.233, 3.364, 4.788, 6.533, 8.607",\
                 "0.1668, 0.2252, 0.4154, 0.7798, 1.38, 2.235, 3.364, 4.788, 6.537, 8.6",\
                 "0.1694, 0.228, 0.4178, 0.7806, 1.38, 2.235, 3.367, 4.788, 6.525, 8.602");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.8447, 0.8912, 1.029, 1.26, 1.608, 2.096, 2.738, 3.549, 4.535, 5.709",\
                 "0.8628, 0.9092, 1.047, 1.278, 1.626, 2.114, 2.756, 3.566, 4.554, 5.733",\
                 "0.9283, 0.9747, 1.112, 1.343, 1.692, 2.179, 2.822, 3.631, 4.619, 5.798",\
                 "1.048, 1.094, 1.231, 1.462, 1.811, 2.298, 2.941, 3.751, 4.738, 5.917",\
                 "1.199, 1.246, 1.383, 1.614, 1.962, 2.45, 3.092, 3.902, 4.889, 6.064",\
                 "1.371, 1.417, 1.555, 1.786, 2.134, 2.622, 3.263, 4.074, 5.06, 6.235",\
                 "1.561, 1.607, 1.745, 1.977, 2.324, 2.812, 3.453, 4.263, 5.25, 6.43",\
                 "1.765, 1.812, 1.951, 2.182, 2.53, 3.016, 3.658, 4.466, 5.453, 6.63",\
                 "1.983, 2.03, 2.169, 2.4, 2.747, 3.234, 3.875, 4.683, 5.669, 6.845",\
                 "2.213, 2.26, 2.399, 2.63, 2.977, 3.464, 4.105, 4.912, 5.899, 7.075");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1592, 0.2185, 0.409, 0.7764, 1.376, 2.234, 3.366, 4.794, 6.543, 8.617",\
                 "0.1594, 0.2187, 0.4094, 0.776, 1.377, 2.233, 3.366, 4.793, 6.536, 8.616",\
                 "0.1594, 0.2186, 0.4094, 0.776, 1.377, 2.233, 3.366, 4.793, 6.536, 8.616",\
                 "0.16, 0.218, 0.4092, 0.7762, 1.377, 2.238, 3.365, 4.793, 6.534, 8.615",\
                 "0.1596, 0.2192, 0.4104, 0.7766, 1.377, 2.237, 3.366, 4.794, 6.544, 8.618",\
                 "0.161, 0.2204, 0.4108, 0.777, 1.377, 2.234, 3.363, 4.792, 6.533, 8.616",\
                 "0.163, 0.2228, 0.4124, 0.7778, 1.377, 2.233, 3.364, 4.791, 6.535, 8.615",\
                 "0.1654, 0.2246, 0.4144, 0.78, 1.377, 2.235, 3.363, 4.796, 6.532, 8.607",\
                 "0.167, 0.2264, 0.4158, 0.7798, 1.379, 2.234, 3.368, 4.788, 6.525, 8.605",\
                 "0.1698, 0.228, 0.418, 0.7818, 1.379, 2.233, 3.365, 4.792, 6.529, 8.612");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("1.103, 1.15, 1.287, 1.519, 1.866, 2.354, 2.995, 3.805, 4.791, 5.968",\
                 "1.121, 1.168, 1.305, 1.536, 1.884, 2.371, 3.014, 3.821, 4.81, 5.985",\
                 "1.187, 1.233, 1.371, 1.602, 1.95, 2.437, 3.079, 3.887, 4.874, 6.051",\
                 "1.32, 1.366, 1.504, 1.735, 2.083, 2.57, 3.212, 4.02, 5.008, 6.184",\
                 "1.524, 1.571, 1.708, 1.939, 2.287, 2.774, 3.416, 4.225, 5.212, 6.387",\
                 "1.773, 1.82, 1.958, 2.188, 2.536, 3.023, 3.665, 4.473, 5.46, 6.636",\
                 "2.058, 2.104, 2.242, 2.473, 2.82, 3.307, 3.949, 4.758, 5.745, 6.922",\
                 "2.377, 2.424, 2.561, 2.792, 3.139, 3.627, 4.267, 5.075, 6.064, 7.24",\
                 "2.728, 2.775, 2.913, 3.143, 3.49, 3.977, 4.618, 5.426, 6.412, 7.588",\
                 "3.108, 3.155, 3.293, 3.523, 3.87, 4.356, 4.998, 5.806, 6.792, 7.968");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003478, 0.01217, 0.02878, 0.05466, 0.09096, 0.1387, 0.1989, 0.2724, 0.36");
          values("0.1592, 0.2185, 0.409, 0.7764, 1.376, 2.234, 3.366, 4.794, 6.543, 8.617",\
                 "0.1594, 0.2187, 0.4094, 0.776, 1.377, 2.233, 3.366, 4.793, 6.536, 8.616",\
                 "0.1594, 0.2186, 0.4094, 0.776, 1.377, 2.233, 3.366, 4.793, 6.536, 8.616",\
                 "0.16, 0.218, 0.4092, 0.7762, 1.377, 2.238, 3.365, 4.793, 6.534, 8.615",\
                 "0.1596, 0.2192, 0.4104, 0.7766, 1.377, 2.237, 3.366, 4.794, 6.544, 8.618",\
                 "0.161, 0.2204, 0.4108, 0.777, 1.377, 2.234, 3.363, 4.792, 6.533, 8.616",\
                 "0.163, 0.2228, 0.4124, 0.7778, 1.377, 2.233, 3.364, 4.791, 6.535, 8.615",\
                 "0.1654, 0.2246, 0.4144, 0.78, 1.377, 2.235, 3.363, 4.796, 6.532, 8.607",\
                 "0.167, 0.2264, 0.4158, 0.7798, 1.379, 2.234, 3.368, 4.788, 6.525, 8.605",\
                 "0.1698, 0.228, 0.418, 0.7818, 1.379, 2.233, 3.365, 4.792, 6.529, 8.612");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007529 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.854 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02353, 0.02258, 0.02231, 0.02225, 0.02226, 0.02232, 0.02228, \
                 0.0223, 0.02232, 0.02233");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02228, -0.02225, -0.02221, -0.02222, -0.02221, -0.02227, -0.02225, \
                 -0.02228, -0.02225, -0.02227");
        }
      }

      internal_power() {
        when : "!CLKN&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02345, 0.02258, 0.02229, 0.02226, 0.02231, 0.02228, 0.02231, \
                 0.02229, 0.02229, 0.0223");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02228, -0.02225, -0.02221, -0.02222, -0.02222, -0.02227, -0.02225, \
                 -0.02228, -0.02224, -0.02228");
        }
      }

      internal_power() {
        when : "CLKN&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02315, 0.02256, 0.02231, 0.02226, 0.02228, 0.0223, 0.02231, \
                 0.02229, 0.02232, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0223, -0.02225, -0.02221, -0.02219, -0.02219, -0.02228, -0.02225, \
                 -0.02226, -0.02224, -0.02224");
        }
      }

      internal_power() {
        when : "CLKN&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02162, 0.02091, 0.02052, 0.0204, 0.02038, 0.0204, 0.02041, 0.0204, \
                 0.0204, 0.02039");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02004, -0.02041, -0.02102, -0.02142, -0.0216, -0.02176, -0.02182, \
                 -0.02186, -0.02188, -0.02192");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.676, -0.692, -0.769, -0.907, -1.097, -1.32, -1.567, -1.848, -2.145, -2.48",\
                 "-0.676, -0.692, -0.764, -0.912, -1.097, -1.32, -1.564, -1.849, -2.145, -2.478",\
                 "-0.669, -0.687, -0.755, -0.902, -1.095, -1.31, -1.561, -1.839, -2.141, -2.471",\
                 "-0.583, -0.602, -0.679, -0.827, -1.018, -1.243, -1.494, -1.778, -2.085, -2.425",\
                 "-0.369, -0.386, -0.461, -0.623, -0.82, -1.064, -1.32, -1.611, -1.928, -2.274",\
                 "-0.021, -0.042, -0.131, -0.299, -0.504, -0.766, -1.039, -1.345, -1.675, -2.036",\
                 "0.454, 0.424, 0.33, 0.146, -0.098, -0.382, -0.662, -0.992, -1.339, -1.717",\
                 "1.057, 1.013, 0.939, 0.69, 0.435, 0.132, -0.169, -0.549, -0.908, -1.309",\
                 "1.794, 1.751, 1.645, 1.378, 1.105, 0.79, 0.411, 0.03, -0.366, -0.809",\
                 "2.693, 2.662, 2.526, 2.18, 1.893, 1.551, 1.118, 0.703, 0.269, -0.179");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : removal_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.231, 1.252, 1.316, 1.453, 1.618, 1.815, 2.047, 2.296, 2.574, 2.876",\
                 "1.229, 1.247, 1.314, 1.443, 1.622, 1.815, 2.044, 2.291, 2.569, 2.871",\
                 "1.238, 1.256, 1.322, 1.454, 1.626, 1.828, 2.05, 2.306, 2.579, 2.885",\
                 "1.283, 1.305, 1.37, 1.501, 1.673, 1.873, 2.094, 2.345, 2.627, 2.929",\
                 "1.382, 1.397, 1.462, 1.595, 1.77, 1.967, 2.189, 2.441, 2.723, 3.025",\
                 "1.535, 1.55, 1.619, 1.747, 1.924, 2.116, 2.346, 2.6, 2.875, 3.181",\
                 "1.739, 1.753, 1.826, 1.952, 2.123, 2.322, 2.551, 2.808, 3.081, 3.387",\
                 "1.988, 2.008, 2.07, 2.203, 2.379, 2.571, 2.804, 3.05, 3.332, 3.639",\
                 "2.273, 2.295, 2.359, 2.492, 2.661, 2.857, 3.087, 3.339, 3.618, 3.926",\
                 "2.591, 2.606, 2.672, 2.801, 2.975, 3.175, 3.399, 3.653, 3.928, 4.237");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.854");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D&SETN" ;

        fall_constraint(scalar) {
          values("0.849");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D&SETN" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.053, 0.092, 0.123, 0.142, 0.13, 0.107, 0.044",\
                 "-0.056, -0.04, -0.006, 0.044, 0.085, 0.117, 0.133, 0.123, 0.097, 0.036",\
                 "-0.066, -0.059, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.081, 0.026",\
                 "-0.062, -0.054, -0.021, 0.031, 0.079, 0.11, 0.126, 0.115, 0.084, 0.031",\
                 "-0.047, -0.031, 0.001, 0.053, 0.095, 0.127, 0.142, 0.138, 0.102, 0.046",\
                 "-0.002, 0.006, 0.036, 0.087, 0.136, 0.162, 0.177, 0.166, 0.135, 0.078",\
                 "0.061, 0.073, 0.106, 0.154, 0.19, 0.221, 0.234, 0.222, 0.186, 0.126",\
                 "0.153, 0.163, 0.193, 0.239, 0.277, 0.306, 0.325, 0.309, 0.273, 0.209",\
                 "0.283, 0.288, 0.316, 0.352, 0.4, 0.426, 0.44, 0.429, 0.396, 0.332",\
                 "0.436, 0.441, 0.462, 0.507, 0.55, 0.582, 0.595, 0.59, 0.551, 0.481");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.053, 0.092, 0.123, 0.142, 0.13, 0.107, 0.044",\
                 "-0.056, -0.04, -0.006, 0.044, 0.085, 0.117, 0.133, 0.123, 0.097, 0.036",\
                 "-0.066, -0.059, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.081, 0.026",\
                 "-0.062, -0.054, -0.021, 0.031, 0.079, 0.11, 0.126, 0.115, 0.084, 0.031",\
                 "-0.047, -0.031, 0.001, 0.053, 0.095, 0.127, 0.142, 0.138, 0.102, 0.046",\
                 "-0.002, 0.006, 0.036, 0.087, 0.136, 0.162, 0.177, 0.166, 0.135, 0.078",\
                 "0.061, 0.073, 0.106, 0.154, 0.19, 0.221, 0.234, 0.222, 0.186, 0.126",\
                 "0.153, 0.163, 0.193, 0.239, 0.277, 0.306, 0.325, 0.309, 0.273, 0.209",\
                 "0.283, 0.288, 0.316, 0.352, 0.4, 0.426, 0.44, 0.429, 0.396, 0.332",\
                 "0.436, 0.441, 0.462, 0.507, 0.55, 0.582, 0.595, 0.59, 0.551, 0.481");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04, 0.049, 0.082, 0.135, 0.181, 0.227, 0.268, 0.296, 0.313, 0.32",\
                 "0.033, 0.039, 0.077, 0.131, 0.178, 0.217, 0.261, 0.29, 0.313, 0.319",\
                 "0.015, 0.024, 0.063, 0.115, 0.165, 0.213, 0.257, 0.286, 0.304, 0.316",\
                 "0.002, 0.013, 0.048, 0.1, 0.153, 0.198, 0.246, 0.276, 0.303, 0.305",\
                 "-0.01, -0, 0.036, 0.085, 0.135, 0.188, 0.228, 0.264, 0.291, 0.297",\
                 "-0.014, -0.006, 0.023, 0.08, 0.128, 0.173, 0.217, 0.25, 0.271, 0.278",\
                 "-0.007, -0.004, 0.033, 0.084, 0.127, 0.173, 0.218, 0.251, 0.275, 0.283",\
                 "0.011, 0.02, 0.05, 0.092, 0.144, 0.196, 0.237, 0.269, 0.293, 0.296",\
                 "0.052, 0.063, 0.084, 0.134, 0.182, 0.227, 0.274, 0.307, 0.326, 0.332",\
                 "0.118, 0.121, 0.146, 0.188, 0.24, 0.285, 0.331, 0.366, 0.388, 0.394");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04, 0.049, 0.082, 0.135, 0.181, 0.221, 0.268, 0.296, 0.313, 0.32",\
                 "0.033, 0.039, 0.077, 0.131, 0.178, 0.217, 0.261, 0.29, 0.313, 0.319",\
                 "0.015, 0.024, 0.063, 0.115, 0.165, 0.213, 0.257, 0.286, 0.304, 0.316",\
                 "0.002, 0.013, 0.048, 0.1, 0.153, 0.198, 0.246, 0.276, 0.303, 0.305",\
                 "-0.01, -0, 0.036, 0.085, 0.135, 0.188, 0.228, 0.264, 0.291, 0.297",\
                 "-0.014, -0.006, 0.023, 0.08, 0.128, 0.173, 0.217, 0.25, 0.271, 0.278",\
                 "-0.007, -0.004, 0.033, 0.074, 0.126, 0.173, 0.218, 0.251, 0.275, 0.283",\
                 "0.011, 0.02, 0.05, 0.092, 0.144, 0.196, 0.237, 0.269, 0.293, 0.296",\
                 "0.052, 0.063, 0.084, 0.134, 0.182, 0.227, 0.274, 0.307, 0.326, 0.332",\
                 "0.118, 0.121, 0.146, 0.188, 0.24, 0.285, 0.331, 0.366, 0.388, 0.394");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.137, 0.128, 0.117, 0.138, 0.213, 0.36, 0.584, 0.879, 1.262, 1.722",\
                 "0.145, 0.143, 0.125, 0.148, 0.224, 0.371, 0.596, 0.892, 1.276, 1.73",\
                 "0.163, 0.153, 0.142, 0.158, 0.227, 0.361, 0.567, 0.845, 1.201, 1.637",\
                 "0.181, 0.17, 0.149, 0.161, 0.212, 0.321, 0.504, 0.74, 1.06, 1.441",\
                 "0.167, 0.162, 0.148, 0.143, 0.175, 0.268, 0.413, 0.625, 0.901, 1.247",\
                 "0.135, 0.129, 0.111, 0.103, 0.118, 0.189, 0.315, 0.5, 0.74, 1.042",\
                 "0.074, 0.073, 0.049, 0.036, 0.05, 0.11, 0.226, 0.393, 0.611, 0.895",\
                 "-0.011, -0.02, -0.037, -0.052, -0.047, 0.006, 0.104, 0.269, 0.483, 0.757",\
                 "-0.124, -0.128, -0.142, -0.16, -0.154, -0.117, -0.009, 0.165, 0.389, 0.668",\
                 "-0.263, -0.268, -0.285, -0.299, -0.305, -0.265, -0.16, 0.025, 0.26, 0.538");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.137, 0.128, 0.117, 0.138, 0.213, 0.36, 0.584, 0.879, 1.262, 1.722",\
                 "0.145, 0.143, 0.125, 0.148, 0.224, 0.371, 0.596, 0.892, 1.276, 1.73",\
                 "0.163, 0.153, 0.142, 0.158, 0.227, 0.361, 0.567, 0.845, 1.201, 1.637",\
                 "0.181, 0.17, 0.155, 0.161, 0.212, 0.321, 0.504, 0.74, 1.06, 1.441",\
                 "0.167, 0.162, 0.148, 0.143, 0.175, 0.268, 0.413, 0.625, 0.901, 1.247",\
                 "0.135, 0.129, 0.111, 0.103, 0.118, 0.189, 0.315, 0.5, 0.74, 1.042",\
                 "0.074, 0.073, 0.058, 0.036, 0.05, 0.11, 0.226, 0.384, 0.611, 0.895",\
                 "-0.011, -0.02, -0.037, -0.052, -0.047, 0.006, 0.104, 0.269, 0.483, 0.757",\
                 "-0.124, -0.128, -0.142, -0.16, -0.154, -0.117, -0.009, 0.158, 0.389, 0.668",\
                 "-0.263, -0.268, -0.285, -0.299, -0.305, -0.265, -0.16, 0.025, 0.251, 0.538");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.101, 0.09, 0.111, 0.169, 0.291, 0.474, 0.725, 1.039, 1.409",\
                 "0.11, 0.103, 0.095, 0.119, 0.177, 0.295, 0.476, 0.712, 1.027, 1.39",\
                 "0.13, 0.124, 0.118, 0.124, 0.175, 0.278, 0.441, 0.659, 0.936, 1.267",\
                 "0.153, 0.141, 0.132, 0.131, 0.159, 0.234, 0.354, 0.526, 0.746, 1.011",\
                 "0.159, 0.155, 0.139, 0.127, 0.135, 0.18, 0.27, 0.403, 0.58, 0.795",\
                 "0.158, 0.153, 0.13, 0.118, 0.118, 0.14, 0.207, 0.314, 0.452, 0.634",\
                 "0.15, 0.141, 0.121, 0.106, 0.096, 0.116, 0.17, 0.267, 0.393, 0.56",\
                 "0.125, 0.123, 0.1, 0.082, 0.072, 0.082, 0.134, 0.223, 0.361, 0.534",\
                 "0.083, 0.08, 0.056, 0.032, 0.026, 0.03, 0.074, 0.172, 0.319, 0.497",\
                 "0.023, 0.02, 0, -0.025, -0.037, -0.032, 0.026, 0.129, 0.287, 0.502");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.101, 0.09, 0.111, 0.169, 0.291, 0.474, 0.725, 1.031, 1.409",\
                 "0.11, 0.103, 0.095, 0.119, 0.177, 0.289, 0.476, 0.712, 1.019, 1.39",\
                 "0.13, 0.124, 0.118, 0.129, 0.175, 0.278, 0.441, 0.659, 0.936, 1.267",\
                 "0.153, 0.141, 0.126, 0.131, 0.159, 0.234, 0.354, 0.526, 0.746, 1.011",\
                 "0.159, 0.155, 0.139, 0.127, 0.135, 0.18, 0.27, 0.403, 0.58, 0.795",\
                 "0.158, 0.153, 0.13, 0.118, 0.118, 0.14, 0.207, 0.314, 0.452, 0.634",\
                 "0.15, 0.141, 0.121, 0.106, 0.096, 0.116, 0.17, 0.267, 0.387, 0.56",\
                 "0.125, 0.123, 0.1, 0.082, 0.072, 0.082, 0.134, 0.223, 0.361, 0.534",\
                 "0.083, 0.072, 0.056, 0.032, 0.026, 0.03, 0.08, 0.172, 0.319, 0.506",\
                 "0.023, 0.02, 0.005, -0.019, -0.037, -0.026, 0.033, 0.145, 0.305, 0.517");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006379 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.744 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1706, 0.1701, 0.1714, 0.1789, 0.195, 0.221, 0.2577, 0.3062, \
                 0.3671, 0.4409");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0529, 0.0522, 0.05297, 0.05911, 0.07276, 0.09512, 0.1273, 0.1699, \
                 0.2236, 0.2892");
        }
      }

      internal_power() {
        when : "!CLKN&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02094, 0.02089, 0.02085, 0.02083, 0.02084, 0.02087, 0.02085, \
                 0.02089, 0.02088, 0.02088");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01435, -0.01433, -0.01435, -0.01432, -0.01435, -0.01441, -0.01441, \
                 -0.01443, -0.01442, -0.01445");
        }
      }

      internal_power() {
        when : "!CLKN&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1706, 0.1701, 0.1714, 0.1789, 0.195, 0.221, 0.2577, 0.3062, \
                 0.3671, 0.4409");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0529, 0.0522, 0.05297, 0.05911, 0.07275, 0.09512, 0.1273, 0.1699, \
                 0.2236, 0.2892");
        }
      }

      internal_power() {
        when : "!CLKN&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02096, 0.02089, 0.02081, 0.02082, 0.02085, 0.02088, 0.02087, \
                 0.02088, 0.02088, 0.02087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01435, -0.01433, -0.01435, -0.01435, -0.01435, -0.01439, -0.01441, \
                 -0.01443, -0.01443, -0.01447");
        }
      }

      internal_power() {
        when : "CLKN&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.164, 0.1635, 0.1646, 0.1715, 0.1867, 0.212, 0.2485, 0.2969, \
                 0.3578, 0.4317");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05399, 0.05339, 0.05411, 0.05981, 0.07281, 0.09448, 0.1263, \
                 0.1687, 0.2225, 0.288");
        }
      }

      internal_power() {
        when : "CLKN&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0794, 0.07908, 0.07931, 0.0825, 0.0895, 0.1012, 0.1179, 0.1399, \
                 0.1674, 0.2008");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007655, 0.00748, 0.007778, 0.01016, 0.01586, 0.02549, 0.03966, \
                 0.05852, 0.08235, 0.1113");
        }
      }

      internal_power() {
        when : "CLKN&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1074, 0.1073, 0.1081, 0.1118, 0.1198, 0.1334, 0.1532, 0.1796, \
                 0.2128, 0.2533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03034, 0.02993, 0.03033, 0.03359, 0.04078, 0.05276, 0.07035, \
                 0.09383, 0.1237, 0.1602");
        }
      }

      internal_power() {
        when : "CLKN&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02093, 0.02088, 0.02086, 0.02079, 0.02081, 0.02086, 0.02086, \
                 0.02088, 0.02089, 0.02087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01435, -0.01433, -0.01436, -0.01434, -0.01435, -0.0144, -0.01441, \
                 -0.01441, -0.01443, -0.01446");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.177, 0.156, 0.085, -0.044, -0.196, -0.37, -0.572, -0.791, -1.038, -1.314",\
                 "0.186, 0.166, 0.095, -0.035, -0.193, -0.359, -0.561, -0.78, -1.021, -1.299",\
                 "0.227, 0.207, 0.142, 0.008, -0.147, -0.321, -0.519, -0.739, -0.983, -1.259",\
                 "0.308, 0.286, 0.219, 0.085, -0.068, -0.242, -0.445, -0.663, -0.906, -1.188",\
                 "0.42, 0.402, 0.33, 0.201, 0.041, -0.135, -0.342, -0.56, -0.812, -1.094",\
                 "0.589, 0.565, 0.488, 0.352, 0.188, 0.005, -0.204, -0.427, -0.68, -0.95",\
                 "0.841, 0.81, 0.728, 0.575, 0.382, 0.197, -0.032, -0.26, -0.517, -0.81",\
                 "1.287, 1.24, 1.144, 0.944, 0.731, 0.469, 0.222, -0.017, -0.287, -0.591",\
                 "1.882, 1.847, 1.736, 1.5, 1.209, 0.947, 0.641, 0.361, 0.07, -0.26",\
                 "2.642, 2.578, 2.44, 2.18, 1.822, 1.494, 1.175, 0.871, 0.557, 0.19");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : removal_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.263, 0.281, 0.345, 0.471, 0.635, 0.825, 1.035, 1.27, 1.531, 1.809",\
                 "0.251, 0.27, 0.337, 0.469, 0.626, 0.813, 1.024, 1.258, 1.518, 1.802",\
                 "0.219, 0.231, 0.299, 0.428, 0.591, 0.775, 0.991, 1.224, 1.487, 1.769",\
                 "0.174, 0.187, 0.251, 0.383, 0.544, 0.732, 0.945, 1.184, 1.439, 1.726",\
                 "0.132, 0.146, 0.21, 0.339, 0.504, 0.696, 0.903, 1.145, 1.408, 1.691",\
                 "0.096, 0.112, 0.183, 0.307, 0.469, 0.659, 0.877, 1.117, 1.376, 1.662",\
                 "0.078, 0.09, 0.16, 0.284, 0.453, 0.638, 0.856, 1.1, 1.356, 1.646",\
                 "0.07, 0.085, 0.156, 0.279, 0.447, 0.643, 0.862, 1.099, 1.36, 1.653",\
                 "0.084, 0.103, 0.167, 0.291, 0.466, 0.656, 0.877, 1.117, 1.385, 1.674",\
                 "0.113, 0.132, 0.199, 0.328, 0.497, 0.692, 0.916, 1.164, 1.433, 1.725");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.137, 0.145, 0.163, 0.181, 0.167, 0.135, 0.074, -0.011, -0.124, -0.263",\
                 "0.128, 0.143, 0.153, 0.17, 0.162, 0.129, 0.073, -0.02, -0.128, -0.268",\
                 "0.117, 0.125, 0.142, 0.149, 0.148, 0.111, 0.049, -0.037, -0.142, -0.285",\
                 "0.138, 0.148, 0.158, 0.161, 0.143, 0.103, 0.036, -0.052, -0.16, -0.299",\
                 "0.213, 0.224, 0.227, 0.212, 0.175, 0.118, 0.05, -0.047, -0.154, -0.305",\
                 "0.36, 0.371, 0.361, 0.321, 0.268, 0.189, 0.11, 0.006, -0.117, -0.265",\
                 "0.584, 0.596, 0.567, 0.504, 0.413, 0.315, 0.226, 0.104, -0.009, -0.16",\
                 "0.879, 0.892, 0.845, 0.74, 0.625, 0.5, 0.393, 0.269, 0.165, 0.025",\
                 "1.262, 1.276, 1.201, 1.06, 0.901, 0.74, 0.611, 0.483, 0.389, 0.26",\
                 "1.722, 1.73, 1.637, 1.441, 1.247, 1.042, 0.895, 0.757, 0.668, 0.538");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.137, 0.145, 0.163, 0.181, 0.167, 0.135, 0.074, -0.011, -0.124, -0.263",\
                 "0.128, 0.143, 0.153, 0.17, 0.162, 0.129, 0.073, -0.02, -0.128, -0.268",\
                 "0.117, 0.125, 0.142, 0.155, 0.148, 0.111, 0.058, -0.037, -0.142, -0.285",\
                 "0.138, 0.148, 0.158, 0.161, 0.143, 0.103, 0.036, -0.052, -0.16, -0.299",\
                 "0.213, 0.224, 0.227, 0.212, 0.175, 0.118, 0.05, -0.047, -0.154, -0.305",\
                 "0.36, 0.371, 0.361, 0.321, 0.268, 0.189, 0.11, 0.006, -0.117, -0.265",\
                 "0.584, 0.596, 0.567, 0.504, 0.413, 0.315, 0.226, 0.104, -0.009, -0.16",\
                 "0.879, 0.892, 0.845, 0.74, 0.625, 0.5, 0.384, 0.269, 0.158, 0.025",\
                 "1.262, 1.276, 1.201, 1.06, 0.901, 0.74, 0.611, 0.483, 0.389, 0.251",\
                 "1.722, 1.73, 1.637, 1.441, 1.247, 1.042, 0.895, 0.757, 0.668, 0.538");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.13, 0.153, 0.159, 0.158, 0.15, 0.125, 0.083, 0.023",\
                 "0.101, 0.103, 0.124, 0.141, 0.155, 0.153, 0.141, 0.123, 0.08, 0.02",\
                 "0.09, 0.095, 0.118, 0.132, 0.139, 0.13, 0.121, 0.1, 0.056, -0",\
                 "0.111, 0.119, 0.124, 0.131, 0.127, 0.118, 0.106, 0.082, 0.032, -0.025",\
                 "0.169, 0.177, 0.175, 0.159, 0.135, 0.118, 0.096, 0.072, 0.026, -0.037",\
                 "0.291, 0.295, 0.278, 0.234, 0.18, 0.14, 0.116, 0.082, 0.03, -0.032",\
                 "0.474, 0.476, 0.441, 0.354, 0.27, 0.207, 0.17, 0.134, 0.074, 0.026",\
                 "0.725, 0.712, 0.659, 0.526, 0.403, 0.314, 0.267, 0.223, 0.172, 0.129",\
                 "1.039, 1.027, 0.936, 0.746, 0.58, 0.452, 0.393, 0.361, 0.319, 0.287",\
                 "1.409, 1.39, 1.267, 1.011, 0.795, 0.634, 0.56, 0.534, 0.497, 0.502");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.13, 0.153, 0.159, 0.158, 0.15, 0.125, 0.083, 0.023",\
                 "0.101, 0.103, 0.124, 0.141, 0.155, 0.153, 0.141, 0.123, 0.072, 0.02",\
                 "0.09, 0.095, 0.118, 0.126, 0.139, 0.13, 0.121, 0.1, 0.056, 0.005",\
                 "0.111, 0.119, 0.129, 0.131, 0.127, 0.118, 0.106, 0.082, 0.032, -0.019",\
                 "0.169, 0.177, 0.175, 0.159, 0.135, 0.118, 0.096, 0.072, 0.026, -0.037",\
                 "0.291, 0.289, 0.278, 0.234, 0.18, 0.14, 0.116, 0.082, 0.03, -0.026",\
                 "0.474, 0.476, 0.441, 0.354, 0.27, 0.207, 0.17, 0.134, 0.08, 0.033",\
                 "0.725, 0.712, 0.659, 0.526, 0.403, 0.314, 0.267, 0.223, 0.172, 0.145",\
                 "1.031, 1.019, 0.936, 0.746, 0.58, 0.452, 0.387, 0.361, 0.319, 0.305",\
                 "1.409, 1.39, 1.267, 1.011, 0.795, 0.634, 0.56, 0.534, 0.506, 0.517");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.056, -0.066, -0.062, -0.047, -0.002, 0.061, 0.153, 0.283, 0.436",\
                 "-0.033, -0.04, -0.059, -0.054, -0.031, 0.006, 0.073, 0.163, 0.288, 0.441",\
                 "0.002, -0.006, -0.016, -0.021, 0.001, 0.036, 0.106, 0.193, 0.316, 0.462",\
                 "0.053, 0.044, 0.034, 0.031, 0.053, 0.087, 0.154, 0.239, 0.352, 0.507",\
                 "0.092, 0.085, 0.078, 0.079, 0.095, 0.136, 0.19, 0.277, 0.4, 0.55",\
                 "0.123, 0.117, 0.105, 0.11, 0.127, 0.162, 0.221, 0.306, 0.426, 0.582",\
                 "0.142, 0.133, 0.121, 0.126, 0.142, 0.177, 0.234, 0.325, 0.44, 0.595",\
                 "0.13, 0.123, 0.112, 0.115, 0.138, 0.166, 0.222, 0.309, 0.429, 0.59",\
                 "0.107, 0.097, 0.081, 0.084, 0.102, 0.135, 0.186, 0.273, 0.396, 0.551",\
                 "0.044, 0.036, 0.026, 0.031, 0.046, 0.078, 0.126, 0.209, 0.332, 0.481");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.056, -0.066, -0.062, -0.047, -0.002, 0.061, 0.153, 0.283, 0.436",\
                 "-0.033, -0.04, -0.059, -0.054, -0.031, 0.006, 0.073, 0.163, 0.288, 0.441",\
                 "0.002, -0.006, -0.016, -0.021, 0.001, 0.036, 0.106, 0.193, 0.316, 0.462",\
                 "0.053, 0.044, 0.034, 0.031, 0.053, 0.087, 0.154, 0.239, 0.352, 0.507",\
                 "0.092, 0.085, 0.078, 0.079, 0.095, 0.136, 0.19, 0.277, 0.4, 0.55",\
                 "0.123, 0.117, 0.105, 0.11, 0.127, 0.162, 0.221, 0.306, 0.426, 0.582",\
                 "0.142, 0.133, 0.121, 0.126, 0.142, 0.177, 0.234, 0.325, 0.44, 0.595",\
                 "0.13, 0.123, 0.112, 0.115, 0.138, 0.166, 0.222, 0.309, 0.429, 0.59",\
                 "0.107, 0.097, 0.081, 0.084, 0.102, 0.135, 0.186, 0.273, 0.396, 0.551",\
                 "0.044, 0.036, 0.026, 0.031, 0.046, 0.078, 0.126, 0.209, 0.332, 0.481");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04, 0.033, 0.015, 0.002, -0.01, -0.014, -0.007, 0.011, 0.052, 0.118",\
                 "0.049, 0.039, 0.024, 0.013, 0, -0.006, -0.004, 0.02, 0.063, 0.121",\
                 "0.082, 0.077, 0.063, 0.048, 0.036, 0.023, 0.033, 0.05, 0.084, 0.146",\
                 "0.135, 0.131, 0.115, 0.1, 0.085, 0.08, 0.084, 0.092, 0.134, 0.188",\
                 "0.181, 0.178, 0.165, 0.153, 0.135, 0.128, 0.127, 0.144, 0.182, 0.24",\
                 "0.227, 0.217, 0.213, 0.198, 0.188, 0.173, 0.173, 0.196, 0.227, 0.285",\
                 "0.268, 0.261, 0.257, 0.246, 0.228, 0.217, 0.218, 0.237, 0.274, 0.331",\
                 "0.296, 0.29, 0.286, 0.276, 0.264, 0.25, 0.251, 0.269, 0.307, 0.366",\
                 "0.313, 0.313, 0.304, 0.303, 0.291, 0.271, 0.275, 0.293, 0.326, 0.388",\
                 "0.32, 0.319, 0.316, 0.305, 0.297, 0.278, 0.283, 0.296, 0.332, 0.394");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04, 0.033, 0.015, 0.002, -0.01, -0.014, -0.007, 0.011, 0.052, 0.118",\
                 "0.049, 0.039, 0.024, 0.013, 0, -0.006, -0.004, 0.02, 0.063, 0.121",\
                 "0.082, 0.077, 0.063, 0.048, 0.036, 0.023, 0.033, 0.05, 0.084, 0.146",\
                 "0.135, 0.131, 0.115, 0.1, 0.085, 0.08, 0.074, 0.092, 0.134, 0.188",\
                 "0.181, 0.178, 0.165, 0.153, 0.135, 0.128, 0.126, 0.144, 0.182, 0.24",\
                 "0.221, 0.217, 0.213, 0.198, 0.188, 0.173, 0.173, 0.196, 0.227, 0.285",\
                 "0.268, 0.261, 0.257, 0.246, 0.228, 0.217, 0.218, 0.237, 0.274, 0.331",\
                 "0.296, 0.29, 0.286, 0.276, 0.264, 0.25, 0.251, 0.269, 0.307, 0.366",\
                 "0.313, 0.313, 0.304, 0.303, 0.291, 0.271, 0.275, 0.293, 0.326, 0.388",\
                 "0.32, 0.319, 0.316, 0.305, 0.297, 0.278, 0.283, 0.296, 0.332, 0.394");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D&RN" ;

        fall_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D&RN" ;

        fall_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D&RN" ;

        fall_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D&RN" ;

        fall_constraint(scalar) {
          values("0.55");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnrsnq_2) {
    area : 98.784000 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : L ;
      clear_preset_var2 : H ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!RN&!SETN" ;
      value : "0.0002415831" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!RN&SETN" ;
      value : "0.00023034" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&RN&!SETN" ;
      value : "0.0002237433" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&RN&SETN" ;
      value : "0.0002510409" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!RN&!SETN" ;
      value : "0.0002424345" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!RN&SETN" ;
      value : "0.0002311914" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&RN&!SETN" ;
      value : "0.0002230767" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&RN&SETN" ;
      value : "0.00035772" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!RN&!SETN" ;
      value : "0.0002083818" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!RN&SETN" ;
      value : "0.0002136585" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&RN&!SETN" ;
      value : "0.0002017224" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&RN&SETN" ;
      value : "0.0002964522" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!RN&!SETN" ;
      value : "0.0002073753" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!RN&SETN" ;
      value : "0.0002198394" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&RN&!SETN" ;
      value : "0.0002003001" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&RN&SETN" ;
      value : "0.0002922843" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.00035772" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003355 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.116 ;
      min_pulse_width_high : 1.063 ;
      min_pulse_width_low : 0.833 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1631, 0.1628, 0.1633, 0.1683, 0.1796, 0.1976, 0.2231, 0.2568, \
                 0.2989, 0.3499");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.106, 0.1059, 0.1061, 0.1105, 0.1197, 0.1353, 0.1578, 0.1874, \
                 0.2248, 0.2697");
        }
      }

      internal_power() {
        when : "!D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1512, 0.1509, 0.1514, 0.1565, 0.1679, 0.1859, 0.2116, 0.2452, \
                 0.2875, 0.3384");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1052, 0.105, 0.1054, 0.1096, 0.1188, 0.1344, 0.1568, 0.1863, \
                 0.2235, 0.2685");
        }
      }

      internal_power() {
        when : "!D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1779, 0.1776, 0.1781, 0.1833, 0.1954, 0.2143, 0.2411, 0.2763, \
                 0.3204, 0.3734");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1548, 0.1546, 0.1548, 0.1593, 0.169, 0.1853, 0.2087, 0.2395, \
                 0.2781, 0.3248");
        }
      }

      internal_power() {
        when : "!D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1513, 0.1509, 0.1514, 0.1566, 0.1679, 0.1859, 0.2116, 0.2454, \
                 0.2874, 0.3385");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.105, 0.1054, 0.1096, 0.1188, 0.1343, 0.1567, 0.1863, \
                 0.2235, 0.2684");
        }
      }

      internal_power() {
        when : "D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2152, 0.2149, 0.2155, 0.2205, 0.2317, 0.2498, 0.2753, 0.309, \
                 0.3513, 0.4023");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1334, 0.1338, 0.1385, 0.1484, 0.1648, 0.1882, 0.2188, \
                 0.2573, 0.3035");
        }
      }

      internal_power() {
        when : "D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.3185, 0.3181, 0.3187, 0.3244, 0.3369, 0.3563, 0.3836, 0.4191, \
                 0.4634, 0.5165");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1996, 0.1993, 0.1996, 0.2043, 0.2144, 0.2305, 0.254, 0.2847, \
                 0.3232, 0.3695");
        }
      }

      internal_power() {
        when : "D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1572, 0.1569, 0.1574, 0.1625, 0.1738, 0.1918, 0.2175, 0.2511, \
                 0.2933, 0.3443");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1071, 0.1069, 0.1072, 0.1115, 0.1206, 0.1361, 0.1585, 0.1881, \
                 0.2252, 0.2703");
        }
      }

      internal_power() {
        when : "D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1572, 0.1568, 0.1574, 0.1625, 0.1739, 0.1919, 0.2175, 0.2513, \
                 0.2933, 0.3443");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1071, 0.1069, 0.1071, 0.1114, 0.1206, 0.1361, 0.1585, 0.1882, \
                 0.2253, 0.2702");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.702");
        }

        rise_constraint(scalar) {
          values("1.063");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.833");
        }

        rise_constraint(scalar) {
          values("0.551");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SETN" ;

        fall_constraint(scalar) {
          values("2.116");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SETN" ;

        fall_constraint(scalar) {
          values("1.691");
        }
      }
    }

    pin(D) {
      capacitance : 0.002409 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02311, 0.02251, 0.02406, 0.02879, 0.03724, 0.04976, 0.06674, \
                 0.08846, 0.1152, 0.1474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002541, 0.002412, 0.003317, 0.006877, 0.01371, 0.02409, 0.03833, \
                 0.05662, 0.07917, 0.1063");
        }
      }

      internal_power() {
        when : "!CLKN&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02311, 0.02251, 0.02405, 0.02879, 0.03722, 0.04976, 0.06675, \
                 0.08848, 0.1152, 0.1474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002544, 0.002413, 0.003319, 0.006878, 0.01371, 0.02409, 0.03833, \
                 0.05661, 0.07918, 0.1063");
        }
      }

      internal_power() {
        when : "!CLKN&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02311, 0.02251, 0.02405, 0.02879, 0.03722, 0.04976, 0.06675, \
                 0.08849, 0.1152, 0.1474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00256, 0.002415, 0.003318, 0.006878, 0.01371, 0.02409, 0.03833, \
                 0.05661, 0.07917, 0.1063");
        }
      }

      internal_power() {
        when : "!CLKN&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02311, 0.0225, 0.02405, 0.02879, 0.03726, 0.04974, 0.06674, \
                 0.08846, 0.1152, 0.1473");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002547, 0.002405, 0.003326, 0.006882, 0.01372, 0.02411, 0.03833, \
                 0.0566, 0.0792, 0.1063");
        }
      }

      internal_power() {
        when : "CLKN&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07309, 0.07276, 0.07347, 0.07668, 0.08327, 0.09379, 0.1087, \
                 0.1285, 0.1533, 0.1837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02441, 0.0243, 0.02511, 0.02788, 0.03325, 0.04182, 0.0541, 0.07045, \
                 0.09123, 0.1167");
        }
      }

      internal_power() {
        when : "CLKN&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1056, 0.1053, 0.106, 0.1094, 0.1175, 0.13, 0.1474, 0.1704, 0.1991, \
                 0.2339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09092, 0.09077, 0.0916, 0.09485, 0.101, 0.111, 0.1252, 0.1439, \
                 0.1676, 0.1964");
        }
      }

      internal_power() {
        when : "CLKN&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07309, 0.07276, 0.07347, 0.07667, 0.08327, 0.09377, 0.1087, \
                 0.1284, 0.1533, 0.1837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02441, 0.0243, 0.02511, 0.02788, 0.03325, 0.04182, 0.0541, 0.07045, \
                 0.09122, 0.1167");
        }
      }

      internal_power() {
        when : "CLKN&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1037, 0.1034, 0.1041, 0.1076, 0.1156, 0.1282, 0.1456, 0.1685, \
                 0.1973, 0.2321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09289, 0.09277, 0.09358, 0.09681, 0.1029, 0.113, 0.1271, 0.1458, \
                 0.1694, 0.1982");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.069, -0.054, 0.002, 0.108, 0.204, 0.33, 0.47, 0.638, 0.839, 1.059",\
                 "-0.084, -0.072, -0.018, 0.083, 0.193, 0.312, 0.458, 0.619, 0.819, 1.041",\
                 "-0.157, -0.142, -0.086, 0.016, 0.122, 0.245, 0.384, 0.553, 0.751, 0.976",\
                 "-0.289, -0.276, -0.224, -0.122, -0.021, 0.103, 0.246, 0.409, 0.609, 0.831",\
                 "-0.486, -0.471, -0.417, -0.316, -0.215, -0.092, 0.045, 0.212, 0.405, 0.624",\
                 "-0.727, -0.713, -0.66, -0.556, -0.451, -0.335, -0.2, -0.036, 0.15, 0.369",\
                 "-1.018, -0.999, -0.945, -0.855, -0.753, -0.635, -0.492, -0.344, -0.157, 0.062",\
                 "-1.364, -1.348, -1.292, -1.197, -1.1, -0.983, -0.846, -0.698, -0.517, -0.31",\
                 "-1.754, -1.743, -1.694, -1.596, -1.502, -1.392, -1.262, -1.111, -0.934, -0.731",\
                 "-2.209, -2.195, -2.144, -2.056, -1.97, -1.862, -1.731, -1.58, -1.404, -1.202");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.275, 0.288, 0.356, 0.481, 0.65, 0.837, 1.061, 1.299, 1.563, 1.861",\
                 "0.258, 0.278, 0.343, 0.469, 0.633, 0.825, 1.041, 1.288, 1.558, 1.844",\
                 "0.229, 0.243, 0.307, 0.433, 0.6, 0.794, 1.009, 1.255, 1.521, 1.812",\
                 "0.211, 0.225, 0.292, 0.414, 0.581, 0.776, 0.995, 1.231, 1.5, 1.794",\
                 "0.221, 0.231, 0.296, 0.423, 0.592, 0.784, 0.994, 1.234, 1.502, 1.798",\
                 "0.263, 0.277, 0.342, 0.468, 0.636, 0.82, 1.032, 1.277, 1.544, 1.836",\
                 "0.347, 0.364, 0.432, 0.554, 0.716, 0.901, 1.114, 1.363, 1.622, 1.917",\
                 "0.483, 0.503, 0.566, 0.687, 0.847, 1.03, 1.243, 1.482, 1.752, 2.044",\
                 "0.681, 0.697, 0.754, 0.877, 1.034, 1.212, 1.421, 1.664, 1.929, 2.215",\
                 "0.935, 0.949, 1.009, 1.122, 1.277, 1.455, 1.658, 1.898, 2.163, 2.446");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.773, 0.757, 0.68, 0.556, 0.4, 0.228, 0.044, -0.166, -0.386, -0.637",\
                 "0.794, 0.778, 0.699, 0.573, 0.417, 0.242, 0.056, -0.147, -0.37, -0.618",\
                 "0.86, 0.846, 0.764, 0.64, 0.488, 0.317, 0.124, -0.081, -0.296, -0.551",\
                 "0.999, 0.99, 0.909, 0.781, 0.624, 0.46, 0.274, 0.065, -0.154, -0.405",\
                 "1.216, 1.197, 1.13, 0.998, 0.848, 0.671, 0.482, 0.277, 0.059, -0.195",\
                 "1.487, 1.467, 1.394, 1.266, 1.117, 0.939, 0.753, 0.55, 0.321, 0.072",\
                 "1.811, 1.795, 1.724, 1.594, 1.434, 1.268, 1.074, 0.872, 0.647, 0.395",\
                 "2.196, 2.183, 2.107, 1.979, 1.819, 1.648, 1.461, 1.253, 1.03, 0.781",\
                 "2.646, 2.634, 2.555, 2.426, 2.269, 2.099, 1.911, 1.705, 1.478, 1.235",\
                 "3.162, 3.144, 3.067, 2.941, 2.781, 2.612, 2.423, 2.219, 1.998, 1.74");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.16, 0.142, 0.074, -0.053, -0.226, -0.422, -0.656, -0.909, -1.189, -1.501",\
                 "0.172, 0.158, 0.095, -0.035, -0.216, -0.412, -0.639, -0.9, -1.181, -1.493",\
                 "0.211, 0.201, 0.134, 0.002, -0.173, -0.372, -0.601, -0.857, -1.14, -1.452",\
                 "0.262, 0.247, 0.184, 0.054, -0.126, -0.322, -0.555, -0.81, -1.098, -1.407",\
                 "0.301, 0.278, 0.217, 0.085, -0.094, -0.284, -0.525, -0.782, -1.057, -1.374",\
                 "0.301, 0.288, 0.22, 0.088, -0.092, -0.286, -0.52, -0.772, -1.057, -1.37",\
                 "0.277, 0.253, 0.185, 0.056, -0.121, -0.315, -0.549, -0.807, -1.09, -1.403",\
                 "0.201, 0.183, 0.112, -0.018, -0.195, -0.39, -0.628, -0.881, -1.165, -1.477",\
                 "0.075, 0.064, -0.01, -0.134, -0.315, -0.515, -0.748, -1.003, -1.284, -1.602",\
                 "-0.092, -0.106, -0.177, -0.31, -0.49, -0.685, -0.916, -1.172, -1.451, -1.77");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.7192 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1849, 0.1796, 0.1733, 0.1704, 0.1689, 0.1681, 0.1676, 0.1673, 0.1671, 0.1669",\
                 "0.1849, 0.1796, 0.1732, 0.1703, 0.1688, 0.168, 0.1675, 0.1672, 0.167, 0.1669",\
                 "0.1848, 0.1795, 0.1731, 0.1702, 0.1687, 0.1679, 0.1674, 0.1671, 0.1669, 0.1668",\
                 "0.1851, 0.1798, 0.1735, 0.1705, 0.1691, 0.1682, 0.1677, 0.1674, 0.1672, 0.1671",\
                 "0.186, 0.1808, 0.1744, 0.1714, 0.1699, 0.1691, 0.1687, 0.1684, 0.1682, 0.168",\
                 "0.1875, 0.1821, 0.1757, 0.1727, 0.1712, 0.1704, 0.17, 0.1697, 0.1695, 0.1694",\
                 "0.1893, 0.1839, 0.1776, 0.1746, 0.1732, 0.1723, 0.1718, 0.1715, 0.1713, 0.1712",\
                 "0.1916, 0.1862, 0.1798, 0.1768, 0.1753, 0.1745, 0.1741, 0.1738, 0.1735, 0.1734",\
                 "0.1947, 0.1893, 0.1827, 0.1797, 0.1782, 0.1774, 0.1768, 0.1765, 0.1763, 0.1762",\
                 "0.1978, 0.1924, 0.1859, 0.1828, 0.1813, 0.1804, 0.1799, 0.1796, 0.1794, 0.1793");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2517, 0.2449, 0.2364, 0.2316, 0.2293, 0.2291, 0.2292, 0.2302, 0.2316, 0.2404",\
                 "0.2517, 0.2449, 0.2364, 0.2317, 0.2292, 0.2289, 0.2288, 0.2308, 0.2316, 0.2412",\
                 "0.2517, 0.2449, 0.2364, 0.2315, 0.2293, 0.229, 0.2292, 0.2299, 0.2316, 0.2411",\
                 "0.2524, 0.2458, 0.2373, 0.2326, 0.2301, 0.2299, 0.2301, 0.2311, 0.2329, 0.2427",\
                 "0.254, 0.2473, 0.2387, 0.2342, 0.2322, 0.2312, 0.2316, 0.2323, 0.2341, 0.2471",\
                 "0.2557, 0.2492, 0.2407, 0.2358, 0.2334, 0.2328, 0.2331, 0.2337, 0.2366, 0.2526",\
                 "0.2579, 0.2512, 0.2427, 0.238, 0.2357, 0.2353, 0.2359, 0.2365, 0.2391, 0.262",\
                 "0.2604, 0.2537, 0.2452, 0.2404, 0.2385, 0.2382, 0.2387, 0.239, 0.2432, 0.2759",\
                 "0.2631, 0.2564, 0.2479, 0.2432, 0.2405, 0.2406, 0.2421, 0.2424, 0.2474, 0.2996",\
                 "0.266, 0.2594, 0.2508, 0.2461, 0.2436, 0.2426, 0.2427, 0.2467, 0.2578, 0.3446");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2322, 0.2282, 0.2239, 0.222, 0.2211, 0.2206, 0.2203, 0.22, 0.2199, 0.2198",\
                 "0.2313, 0.2273, 0.2231, 0.2212, 0.2203, 0.2198, 0.2195, 0.2193, 0.2191, 0.219",\
                 "0.2315, 0.2275, 0.2231, 0.2212, 0.2202, 0.2198, 0.2196, 0.2194, 0.2193, 0.2192",\
                 "0.2404, 0.2356, 0.2297, 0.2266, 0.2252, 0.2244, 0.224, 0.2238, 0.2236, 0.2236",\
                 "0.2644, 0.2578, 0.2486, 0.2433, 0.2404, 0.2389, 0.2379, 0.2374, 0.2371, 0.2368",\
                 "0.3027, 0.2948, 0.282, 0.2738, 0.269, 0.2662, 0.2645, 0.2636, 0.2629, 0.2624",\
                 "0.3575, 0.3483, 0.3317, 0.3201, 0.3129, 0.3086, 0.3058, 0.3041, 0.303, 0.3022",\
                 "0.4286, 0.4184, 0.3981, 0.3827, 0.3727, 0.3664, 0.3623, 0.3597, 0.3579, 0.3566",\
                 "0.5158, 0.5045, 0.4808, 0.4616, 0.4485, 0.4399, 0.4342, 0.4304, 0.4278, 0.4259",\
                 "0.6193, 0.6071, 0.5803, 0.557, 0.5406, 0.5294, 0.5217, 0.5165, 0.5129, 0.5104");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1439, 0.1385, 0.1315, 0.1277, 0.1261, 0.1264, 0.1267, 0.128, 0.129, 0.1358",\
                 "0.1429, 0.1374, 0.1305, 0.1266, 0.125, 0.1253, 0.1257, 0.127, 0.1281, 0.135",\
                 "0.1417, 0.1362, 0.1294, 0.1253, 0.1238, 0.124, 0.1241, 0.1251, 0.1271, 0.1341",\
                 "0.1467, 0.141, 0.1336, 0.1289, 0.1269, 0.1269, 0.1278, 0.1284, 0.1294, 0.139",\
                 "0.1632, 0.1567, 0.1484, 0.1428, 0.1395, 0.1389, 0.1395, 0.1392, 0.141, 0.1503",\
                 "0.1925, 0.185, 0.1747, 0.1672, 0.164, 0.1616, 0.1616, 0.1617, 0.1628, 0.1734",\
                 "0.2369, 0.2282, 0.216, 0.2064, 0.2007, 0.199, 0.1971, 0.1963, 0.1968, 0.2108",\
                 "0.2956, 0.2858, 0.2708, 0.2592, 0.2511, 0.2475, 0.247, 0.2451, 0.2447, 0.2629",\
                 "0.3691, 0.358, 0.341, 0.3273, 0.317, 0.3098, 0.3072, 0.3075, 0.3086, 0.333",\
                 "0.4571, 0.4448, 0.4251, 0.4093, 0.3972, 0.3881, 0.3828, 0.381, 0.3861, 0.4261");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2911, 0.2868, 0.2821, 0.28, 0.279, 0.2784, 0.2781, 0.2778, 0.2777, 0.2776",\
                 "0.2914, 0.287, 0.2822, 0.2802, 0.2792, 0.2786, 0.2782, 0.278, 0.2778, 0.2777",\
                 "0.2919, 0.2875, 0.2826, 0.2805, 0.2795, 0.279, 0.2787, 0.2784, 0.2783, 0.2782",\
                 "0.3023, 0.2969, 0.2904, 0.2873, 0.2857, 0.2849, 0.2844, 0.2842, 0.284, 0.2839",\
                 "0.3298, 0.3227, 0.3127, 0.307, 0.304, 0.3023, 0.3013, 0.3007, 0.3003, 0.3001",\
                 "0.373, 0.3644, 0.3504, 0.3416, 0.3366, 0.3337, 0.332, 0.3308, 0.3301, 0.3296",\
                 "0.4334, 0.4234, 0.4052, 0.3929, 0.3854, 0.3808, 0.3779, 0.376, 0.3748, 0.374",\
                 "0.5082, 0.4971, 0.4748, 0.4585, 0.4481, 0.4414, 0.4371, 0.4343, 0.4324, 0.431",\
                 "0.5957, 0.5836, 0.5576, 0.5371, 0.5234, 0.5143, 0.5083, 0.5043, 0.5015, 0.4995",\
                 "0.6948, 0.682, 0.6527, 0.6277, 0.6105, 0.5988, 0.5908, 0.5852, 0.5814, 0.5787");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2911, 0.2868, 0.2821, 0.28, 0.279, 0.2784, 0.2781, 0.2778, 0.2777, 0.2776",\
                 "0.2914, 0.287, 0.2822, 0.2802, 0.2792, 0.2786, 0.2782, 0.278, 0.2778, 0.2777",\
                 "0.2919, 0.2875, 0.2826, 0.2805, 0.2795, 0.279, 0.2787, 0.2784, 0.2783, 0.2782",\
                 "0.3023, 0.2969, 0.2904, 0.2873, 0.2857, 0.2849, 0.2844, 0.2842, 0.284, 0.2839",\
                 "0.3298, 0.3227, 0.3127, 0.307, 0.304, 0.3023, 0.3013, 0.3007, 0.3003, 0.3001",\
                 "0.373, 0.3644, 0.3504, 0.3416, 0.3366, 0.3337, 0.332, 0.3308, 0.3301, 0.3296",\
                 "0.4334, 0.4234, 0.4052, 0.3929, 0.3854, 0.3808, 0.3779, 0.376, 0.3748, 0.374",\
                 "0.5082, 0.4971, 0.4748, 0.4585, 0.4481, 0.4414, 0.4371, 0.4343, 0.4324, 0.431",\
                 "0.5957, 0.5836, 0.5576, 0.5371, 0.5234, 0.5143, 0.5083, 0.5043, 0.5015, 0.4995",\
                 "0.6948, 0.682, 0.6527, 0.6277, 0.6105, 0.5988, 0.5908, 0.5852, 0.5814, 0.5787");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2322, 0.2282, 0.2239, 0.222, 0.2211, 0.2206, 0.2203, 0.22, 0.2199, 0.2198",\
                 "0.2313, 0.2273, 0.2231, 0.2212, 0.2203, 0.2198, 0.2195, 0.2193, 0.2191, 0.219",\
                 "0.2315, 0.2275, 0.2231, 0.2212, 0.2202, 0.2198, 0.2196, 0.2194, 0.2193, 0.2192",\
                 "0.2404, 0.2356, 0.2297, 0.2266, 0.2252, 0.2244, 0.224, 0.2238, 0.2236, 0.2236",\
                 "0.2644, 0.258, 0.2487, 0.2433, 0.2404, 0.2389, 0.2379, 0.2374, 0.2371, 0.2368",\
                 "0.3027, 0.2948, 0.282, 0.2738, 0.2689, 0.2662, 0.2645, 0.2635, 0.2628, 0.2624",\
                 "0.3575, 0.3483, 0.3318, 0.3201, 0.3129, 0.3086, 0.3058, 0.3041, 0.303, 0.3022",\
                 "0.4286, 0.4183, 0.3981, 0.3828, 0.3727, 0.3664, 0.3623, 0.3597, 0.3579, 0.3566",\
                 "0.5158, 0.5045, 0.4808, 0.4617, 0.4484, 0.4399, 0.4341, 0.4304, 0.4278, 0.4259",\
                 "0.6193, 0.6071, 0.5803, 0.557, 0.5406, 0.5294, 0.5217, 0.5165, 0.5129, 0.5104");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1439, 0.1385, 0.1315, 0.1277, 0.1261, 0.1264, 0.1267, 0.128, 0.129, 0.1358",\
                 "0.1429, 0.1374, 0.1305, 0.1266, 0.125, 0.1253, 0.1257, 0.127, 0.1281, 0.135",\
                 "0.1417, 0.1362, 0.1294, 0.1253, 0.1238, 0.124, 0.1241, 0.1251, 0.1271, 0.1341",\
                 "0.1467, 0.141, 0.1334, 0.1289, 0.1269, 0.1269, 0.1278, 0.1284, 0.1294, 0.139",\
                 "0.1632, 0.1564, 0.1482, 0.1427, 0.1395, 0.1389, 0.139, 0.1399, 0.1406, 0.1499",\
                 "0.1925, 0.1849, 0.1748, 0.1676, 0.164, 0.1616, 0.1616, 0.1617, 0.1634, 0.1742",\
                 "0.2369, 0.2282, 0.216, 0.2063, 0.2005, 0.1987, 0.1971, 0.1963, 0.1968, 0.2108",\
                 "0.2956, 0.2858, 0.2711, 0.2592, 0.251, 0.2475, 0.2467, 0.2451, 0.2447, 0.2629",\
                 "0.3691, 0.3578, 0.3409, 0.3276, 0.317, 0.3098, 0.3075, 0.3075, 0.3086, 0.333",\
                 "0.4571, 0.4448, 0.4251, 0.4085, 0.3969, 0.3881, 0.3831, 0.381, 0.3865, 0.4285");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2906, 0.2862, 0.2815, 0.2794, 0.2784, 0.2778, 0.2774, 0.2772, 0.277, 0.2769",\
                 "0.2907, 0.2863, 0.2815, 0.2796, 0.2785, 0.2779, 0.2775, 0.2773, 0.2772, 0.2771",\
                 "0.2912, 0.2868, 0.2819, 0.2798, 0.2788, 0.2783, 0.278, 0.2778, 0.2776, 0.2776",\
                 "0.3018, 0.2964, 0.2899, 0.2867, 0.2852, 0.2844, 0.284, 0.2837, 0.2835, 0.2834",\
                 "0.3295, 0.3224, 0.3124, 0.3067, 0.3037, 0.302, 0.301, 0.3004, 0.3001, 0.2998",\
                 "0.373, 0.3644, 0.3504, 0.3417, 0.3367, 0.3337, 0.3319, 0.3309, 0.3301, 0.3297",\
                 "0.4335, 0.4235, 0.4054, 0.3931, 0.3855, 0.3809, 0.3781, 0.3762, 0.375, 0.3741",\
                 "0.5084, 0.4973, 0.475, 0.4588, 0.4483, 0.4416, 0.4373, 0.4345, 0.4326, 0.4312",\
                 "0.5959, 0.5839, 0.5579, 0.5374, 0.5237, 0.5146, 0.5086, 0.5045, 0.5017, 0.4998",\
                 "0.6951, 0.6823, 0.6529, 0.6279, 0.6108, 0.599, 0.591, 0.5855, 0.5817, 0.579");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2906, 0.2862, 0.2815, 0.2794, 0.2784, 0.2778, 0.2774, 0.2772, 0.277, 0.2769",\
                 "0.2907, 0.2863, 0.2815, 0.2796, 0.2785, 0.2779, 0.2775, 0.2773, 0.2772, 0.2771",\
                 "0.2912, 0.2868, 0.2819, 0.2798, 0.2788, 0.2783, 0.278, 0.2778, 0.2776, 0.2776",\
                 "0.3018, 0.2964, 0.2899, 0.2867, 0.2852, 0.2844, 0.284, 0.2837, 0.2835, 0.2834",\
                 "0.3295, 0.3224, 0.3124, 0.3067, 0.3037, 0.302, 0.301, 0.3004, 0.3001, 0.2998",\
                 "0.373, 0.3644, 0.3504, 0.3417, 0.3367, 0.3337, 0.3319, 0.3309, 0.3301, 0.3297",\
                 "0.4335, 0.4235, 0.4054, 0.3931, 0.3855, 0.3809, 0.3781, 0.3762, 0.375, 0.3741",\
                 "0.5084, 0.4973, 0.475, 0.4588, 0.4483, 0.4416, 0.4373, 0.4345, 0.4326, 0.4312",\
                 "0.5959, 0.5839, 0.5579, 0.5374, 0.5237, 0.5146, 0.5086, 0.5045, 0.5017, 0.4998",\
                 "0.6951, 0.6823, 0.6529, 0.6279, 0.6108, 0.599, 0.591, 0.5855, 0.5817, 0.579");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.154, 0.15, 0.1457, 0.1438, 0.1429, 0.1423, 0.142, 0.1418, 0.1417, 0.1416",\
                 "0.1534, 0.1494, 0.1452, 0.1433, 0.1423, 0.1418, 0.1415, 0.1413, 0.1412, 0.1411",\
                 "0.154, 0.1499, 0.1456, 0.1436, 0.1427, 0.1423, 0.142, 0.1418, 0.1417, 0.1416",\
                 "0.1624, 0.1575, 0.1515, 0.1486, 0.1471, 0.1464, 0.146, 0.1457, 0.1456, 0.1455",\
                 "0.1819, 0.1755, 0.1662, 0.1609, 0.158, 0.1565, 0.1556, 0.155, 0.1547, 0.1544",\
                 "0.2102, 0.2023, 0.1894, 0.181, 0.1764, 0.1737, 0.172, 0.1711, 0.1705, 0.1699",\
                 "0.2478, 0.2385, 0.222, 0.2103, 0.2031, 0.1989, 0.1962, 0.1944, 0.1933, 0.1925",\
                 "0.2946, 0.2843, 0.2639, 0.2488, 0.2387, 0.2324, 0.2284, 0.2257, 0.2239, 0.2227",\
                 "0.3505, 0.3393, 0.3153, 0.2964, 0.2834, 0.2747, 0.269, 0.2652, 0.2626, 0.2607",\
                 "0.4156, 0.4036, 0.3765, 0.3535, 0.3372, 0.3259, 0.3183, 0.3132, 0.3096, 0.3071");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1062, 0.1008, 0.09392, 0.09022, 0.08881, 0.08898, 0.08929, 0.09027, 0.09261, 0.09939",\
                 "0.1056, 0.1001, 0.09332, 0.08942, 0.08805, 0.08829, 0.08932, 0.09027, 0.09129, 0.09854",\
                 "0.1046, 0.09915, 0.09203, 0.08833, 0.08689, 0.0873, 0.08777, 0.08895, 0.0903, 0.09949",\
                 "0.1089, 0.1031, 0.09563, 0.09107, 0.08924, 0.08937, 0.08955, 0.09027, 0.09228, 0.1022",\
                 "0.1213, 0.1148, 0.1065, 0.101, 0.09782, 0.09726, 0.09708, 0.09786, 0.09957, 0.1089",\
                 "0.1417, 0.1343, 0.1241, 0.1168, 0.1131, 0.111, 0.1111, 0.1107, 0.1125, 0.1249",\
                 "0.1712, 0.1625, 0.1502, 0.1408, 0.1351, 0.1335, 0.1319, 0.1315, 0.1317, 0.1458",\
                 "0.2093, 0.1994, 0.1849, 0.1735, 0.1653, 0.1615, 0.1601, 0.1585, 0.1585, 0.1773",\
                 "0.2557, 0.2444, 0.2275, 0.2136, 0.2033, 0.1967, 0.1934, 0.1951, 0.1946, 0.2204",\
                 "0.3105, 0.2984, 0.2783, 0.2615, 0.2499, 0.2412, 0.236, 0.2343, 0.2401, 0.2798");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.183, 0.1787, 0.1742, 0.1721, 0.1712, 0.1706, 0.1703, 0.17, 0.1699, 0.1698",\
                 "0.1833, 0.179, 0.1745, 0.1724, 0.1714, 0.1709, 0.1705, 0.1703, 0.1701, 0.17",\
                 "0.1842, 0.1799, 0.1752, 0.173, 0.1721, 0.1716, 0.1713, 0.1711, 0.1709, 0.1709",\
                 "0.1931, 0.1878, 0.1815, 0.1784, 0.1768, 0.1761, 0.1756, 0.1754, 0.1752, 0.1751",\
                 "0.2146, 0.2077, 0.1979, 0.1922, 0.1892, 0.1876, 0.1866, 0.186, 0.1857, 0.1854",\
                 "0.2454, 0.2369, 0.2232, 0.2145, 0.2095, 0.2066, 0.2049, 0.2038, 0.203, 0.2025",\
                 "0.2857, 0.2757, 0.2578, 0.2455, 0.238, 0.2335, 0.2306, 0.2288, 0.2275, 0.2267",\
                 "0.3341, 0.3229, 0.3009, 0.2848, 0.2742, 0.2676, 0.2633, 0.2606, 0.2587, 0.2573",\
                 "0.3898, 0.3777, 0.3514, 0.3311, 0.3174, 0.3083, 0.3024, 0.2983, 0.2956, 0.2937",\
                 "0.4511, 0.4378, 0.4077, 0.3829, 0.3658, 0.3541, 0.3461, 0.3407, 0.337, 0.3343");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.183, 0.1787, 0.1742, 0.1721, 0.1712, 0.1706, 0.1703, 0.17, 0.1699, 0.1698",\
                 "0.1833, 0.179, 0.1745, 0.1724, 0.1714, 0.1709, 0.1705, 0.1703, 0.1701, 0.17",\
                 "0.1842, 0.1799, 0.1752, 0.173, 0.1721, 0.1716, 0.1713, 0.1711, 0.1709, 0.1709",\
                 "0.1931, 0.1878, 0.1815, 0.1784, 0.1768, 0.1761, 0.1756, 0.1754, 0.1752, 0.1751",\
                 "0.2146, 0.2077, 0.1979, 0.1922, 0.1892, 0.1876, 0.1866, 0.186, 0.1857, 0.1854",\
                 "0.2454, 0.2369, 0.2232, 0.2145, 0.2095, 0.2066, 0.2049, 0.2038, 0.203, 0.2025",\
                 "0.2857, 0.2757, 0.2578, 0.2455, 0.238, 0.2335, 0.2306, 0.2288, 0.2275, 0.2267",\
                 "0.3341, 0.3229, 0.3009, 0.2848, 0.2742, 0.2676, 0.2633, 0.2606, 0.2587, 0.2573",\
                 "0.3898, 0.3777, 0.3514, 0.3311, 0.3174, 0.3083, 0.3024, 0.2983, 0.2956, 0.2937",\
                 "0.4511, 0.4378, 0.4077, 0.3829, 0.3658, 0.3541, 0.3461, 0.3407, 0.337, 0.3343");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1539, 0.1499, 0.1456, 0.1437, 0.1428, 0.1423, 0.142, 0.1418, 0.1416, 0.1416",\
                 "0.1534, 0.1494, 0.1452, 0.1433, 0.1423, 0.1418, 0.1415, 0.1413, 0.1412, 0.1411",\
                 "0.154, 0.1499, 0.1456, 0.1436, 0.1427, 0.1423, 0.142, 0.1418, 0.1417, 0.1416",\
                 "0.1624, 0.1575, 0.1515, 0.1486, 0.1471, 0.1464, 0.146, 0.1457, 0.1456, 0.1455",\
                 "0.182, 0.1756, 0.1663, 0.1608, 0.1581, 0.1565, 0.1556, 0.1551, 0.1548, 0.1545",\
                 "0.21, 0.2021, 0.1894, 0.1812, 0.1764, 0.1736, 0.172, 0.171, 0.1704, 0.1699",\
                 "0.2478, 0.2386, 0.2221, 0.2104, 0.2031, 0.1989, 0.1963, 0.1945, 0.1933, 0.1926",\
                 "0.2946, 0.2843, 0.2641, 0.2488, 0.2388, 0.2324, 0.2284, 0.2257, 0.2239, 0.2226",\
                 "0.3505, 0.3392, 0.3155, 0.2964, 0.2834, 0.2747, 0.269, 0.2652, 0.2625, 0.2608",\
                 "0.4157, 0.4037, 0.3767, 0.3535, 0.3373, 0.3259, 0.3183, 0.3132, 0.3096, 0.3071");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1062, 0.1008, 0.09392, 0.09025, 0.08884, 0.08901, 0.08955, 0.09027, 0.09228, 0.09939",\
                 "0.1056, 0.1, 0.09306, 0.08939, 0.08798, 0.08825, 0.08929, 0.09027, 0.09129, 0.09986",\
                 "0.1045, 0.0991, 0.09227, 0.08843, 0.08699, 0.0873, 0.08774, 0.08829, 0.0903, 0.0977",\
                 "0.1088, 0.103, 0.0956, 0.09121, 0.08917, 0.08914, 0.08962, 0.0906, 0.09228, 0.1001",\
                 "0.1213, 0.1147, 0.1065, 0.101, 0.09798, 0.09726, 0.09688, 0.09786, 0.0999, 0.1097",\
                 "0.1417, 0.1342, 0.124, 0.1168, 0.1132, 0.1112, 0.1111, 0.1104, 0.1128, 0.1237",\
                 "0.1712, 0.1623, 0.15, 0.1404, 0.1349, 0.1334, 0.1313, 0.1305, 0.1323, 0.1452",\
                 "0.2093, 0.1994, 0.1844, 0.1736, 0.1651, 0.1604, 0.1606, 0.1588, 0.1591, 0.1768",\
                 "0.2556, 0.2444, 0.2274, 0.2135, 0.2036, 0.1968, 0.1933, 0.1948, 0.1949, 0.2208",\
                 "0.3106, 0.2983, 0.2783, 0.2616, 0.2504, 0.2408, 0.2358, 0.2353, 0.2381, 0.2794");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1852, 0.181, 0.1764, 0.1743, 0.1733, 0.1728, 0.1724, 0.1721, 0.172, 0.1719",\
                 "0.1855, 0.1812, 0.1766, 0.1746, 0.1736, 0.173, 0.1727, 0.1724, 0.1723, 0.1722",\
                 "0.1864, 0.1821, 0.1773, 0.1752, 0.1743, 0.1738, 0.1735, 0.1733, 0.1732, 0.1731",\
                 "0.1953, 0.1901, 0.1837, 0.1806, 0.179, 0.1783, 0.1778, 0.1776, 0.1774, 0.1773",\
                 "0.2169, 0.2099, 0.2, 0.1944, 0.1913, 0.1898, 0.1888, 0.1882, 0.1878, 0.1876",\
                 "0.2476, 0.2392, 0.2254, 0.2167, 0.2116, 0.2088, 0.207, 0.2059, 0.2053, 0.2048",\
                 "0.2879, 0.2779, 0.26, 0.2478, 0.2401, 0.2356, 0.2328, 0.2309, 0.2298, 0.229",\
                 "0.3363, 0.3251, 0.3031, 0.287, 0.2765, 0.2698, 0.2655, 0.2627, 0.2609, 0.2596",\
                 "0.392, 0.3798, 0.3536, 0.3332, 0.3196, 0.3105, 0.3045, 0.3006, 0.2978, 0.2959",\
                 "0.4532, 0.44, 0.4099, 0.385, 0.3681, 0.3564, 0.3485, 0.343, 0.3391, 0.3366");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1852, 0.181, 0.1764, 0.1743, 0.1733, 0.1728, 0.1724, 0.1721, 0.172, 0.1719",\
                 "0.1855, 0.1812, 0.1766, 0.1746, 0.1736, 0.173, 0.1727, 0.1724, 0.1723, 0.1722",\
                 "0.1864, 0.1821, 0.1773, 0.1752, 0.1743, 0.1738, 0.1735, 0.1733, 0.1732, 0.1731",\
                 "0.1953, 0.1901, 0.1837, 0.1806, 0.179, 0.1783, 0.1778, 0.1776, 0.1774, 0.1773",\
                 "0.2169, 0.2099, 0.2, 0.1944, 0.1913, 0.1898, 0.1888, 0.1882, 0.1878, 0.1876",\
                 "0.2476, 0.2392, 0.2254, 0.2167, 0.2116, 0.2088, 0.207, 0.2059, 0.2053, 0.2048",\
                 "0.2879, 0.2779, 0.26, 0.2478, 0.2401, 0.2356, 0.2328, 0.2309, 0.2298, 0.229",\
                 "0.3363, 0.3251, 0.3031, 0.287, 0.2765, 0.2698, 0.2655, 0.2627, 0.2609, 0.2596",\
                 "0.392, 0.3798, 0.3536, 0.3332, 0.3196, 0.3105, 0.3045, 0.3006, 0.2978, 0.2959",\
                 "0.4532, 0.44, 0.4099, 0.385, 0.3681, 0.3564, 0.3485, 0.343, 0.3391, 0.3366");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.315, 0.3088, 0.3009, 0.2954, 0.2926, 0.2922, 0.2922, 0.2935, 0.2949, 0.3036",\
                 "0.3144, 0.3084, 0.3004, 0.295, 0.2923, 0.2919, 0.2922, 0.2933, 0.2946, 0.3037",\
                 "0.3158, 0.3096, 0.3016, 0.2962, 0.2936, 0.2933, 0.2932, 0.2939, 0.2956, 0.3058",\
                 "0.3235, 0.3174, 0.3094, 0.304, 0.3014, 0.3008, 0.3009, 0.3019, 0.3036, 0.3138",\
                 "0.3418, 0.3357, 0.3277, 0.3222, 0.32, 0.3192, 0.319, 0.32, 0.3221, 0.3341",\
                 "0.3722, 0.366, 0.3578, 0.3522, 0.3494, 0.3484, 0.3487, 0.3497, 0.3516, 0.3678",\
                 "0.4143, 0.4081, 0.4, 0.3941, 0.3912, 0.3903, 0.3902, 0.3915, 0.3935, 0.4159",\
                 "0.4695, 0.4631, 0.4545, 0.4482, 0.4457, 0.4453, 0.445, 0.4453, 0.4492, 0.4829",\
                 "0.5349, 0.5288, 0.5201, 0.5138, 0.5098, 0.5101, 0.5107, 0.5106, 0.516, 0.5704",\
                 "0.6071, 0.6005, 0.5913, 0.5846, 0.5813, 0.5803, 0.5817, 0.5837, 0.5943, 0.6856");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.315, 0.3088, 0.3009, 0.2954, 0.2926, 0.2922, 0.2922, 0.2935, 0.2949, 0.3036",\
                 "0.3144, 0.3084, 0.3004, 0.295, 0.2923, 0.2919, 0.2922, 0.2933, 0.2946, 0.3037",\
                 "0.3158, 0.3096, 0.3016, 0.2962, 0.2936, 0.2933, 0.2932, 0.2939, 0.2956, 0.3058",\
                 "0.3235, 0.3174, 0.3094, 0.304, 0.3014, 0.3008, 0.3009, 0.3019, 0.3036, 0.3138",\
                 "0.3418, 0.3357, 0.3277, 0.3222, 0.32, 0.3192, 0.319, 0.32, 0.3221, 0.3341",\
                 "0.3722, 0.366, 0.3578, 0.3522, 0.3494, 0.3484, 0.3487, 0.3497, 0.3516, 0.3678",\
                 "0.4143, 0.4081, 0.4, 0.3941, 0.3912, 0.3903, 0.3902, 0.3915, 0.3935, 0.4159",\
                 "0.4695, 0.4631, 0.4545, 0.4482, 0.4457, 0.4453, 0.445, 0.4453, 0.4492, 0.4829",\
                 "0.5349, 0.5288, 0.5201, 0.5138, 0.5098, 0.5101, 0.5107, 0.5106, 0.516, 0.5704",\
                 "0.6071, 0.6005, 0.5913, 0.5846, 0.5813, 0.5803, 0.5817, 0.5837, 0.5943, 0.6856");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.315, 0.3089, 0.3008, 0.2954, 0.2926, 0.2921, 0.2922, 0.2935, 0.2949, 0.3036",\
                 "0.3146, 0.3086, 0.3005, 0.2951, 0.2925, 0.2918, 0.2922, 0.2926, 0.2946, 0.303",\
                 "0.3159, 0.3096, 0.3017, 0.2963, 0.2936, 0.2933, 0.2936, 0.2946, 0.2957, 0.3047",\
                 "0.3235, 0.3174, 0.3093, 0.3039, 0.3012, 0.3008, 0.3012, 0.3015, 0.3032, 0.3134",\
                 "0.3418, 0.3358, 0.328, 0.3222, 0.3194, 0.3192, 0.319, 0.3197, 0.3218, 0.3345",\
                 "0.3723, 0.366, 0.3578, 0.3522, 0.3494, 0.3484, 0.3494, 0.3497, 0.3515, 0.3674",\
                 "0.4143, 0.4079, 0.4, 0.3941, 0.3912, 0.3903, 0.3906, 0.3909, 0.3935, 0.4166",\
                 "0.4696, 0.4631, 0.4548, 0.4485, 0.4461, 0.4455, 0.445, 0.4453, 0.4489, 0.4825",\
                 "0.535, 0.5288, 0.5202, 0.5135, 0.5097, 0.5098, 0.5104, 0.5102, 0.5156, 0.57",\
                 "0.607, 0.6003, 0.5917, 0.5853, 0.5812, 0.5802, 0.581, 0.5836, 0.5949, 0.6864");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.315, 0.3089, 0.3008, 0.2954, 0.2926, 0.2921, 0.2922, 0.2935, 0.2949, 0.3036",\
                 "0.3146, 0.3086, 0.3005, 0.2951, 0.2925, 0.2918, 0.2922, 0.2926, 0.2946, 0.303",\
                 "0.3159, 0.3096, 0.3017, 0.2963, 0.2936, 0.2933, 0.2936, 0.2946, 0.2957, 0.3047",\
                 "0.3235, 0.3174, 0.3093, 0.3039, 0.3012, 0.3008, 0.3012, 0.3015, 0.3032, 0.3134",\
                 "0.3418, 0.3358, 0.328, 0.3222, 0.3194, 0.3192, 0.319, 0.3197, 0.3218, 0.3345",\
                 "0.3723, 0.366, 0.3578, 0.3522, 0.3494, 0.3484, 0.3494, 0.3497, 0.3515, 0.3674",\
                 "0.4143, 0.4079, 0.4, 0.3941, 0.3912, 0.3903, 0.3906, 0.3909, 0.3935, 0.4166",\
                 "0.4696, 0.4631, 0.4548, 0.4485, 0.4461, 0.4455, 0.445, 0.4453, 0.4489, 0.4825",\
                 "0.535, 0.5288, 0.5202, 0.5135, 0.5097, 0.5098, 0.5104, 0.5102, 0.5156, 0.57",\
                 "0.607, 0.6003, 0.5917, 0.5853, 0.5812, 0.5802, 0.581, 0.5836, 0.5949, 0.6864");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2172, 0.2111, 0.2036, 0.1988, 0.1966, 0.1962, 0.1966, 0.1976, 0.199, 0.2071",\
                 "0.217, 0.2111, 0.2034, 0.1986, 0.1963, 0.1965, 0.1964, 0.1973, 0.199, 0.2073",\
                 "0.218, 0.2118, 0.2043, 0.1993, 0.1974, 0.1972, 0.1974, 0.1984, 0.2004, 0.2083",\
                 "0.2222, 0.2163, 0.2087, 0.2036, 0.2016, 0.2014, 0.2016, 0.2025, 0.2048, 0.2153",\
                 "0.2325, 0.2265, 0.2186, 0.2135, 0.2114, 0.2109, 0.2116, 0.2116, 0.214, 0.2247",\
                 "0.2492, 0.243, 0.2348, 0.2297, 0.2272, 0.2267, 0.2266, 0.228, 0.2298, 0.2448",\
                 "0.2731, 0.2669, 0.2584, 0.2532, 0.251, 0.2498, 0.2502, 0.2505, 0.2528, 0.2718",\
                 "0.3033, 0.2968, 0.2882, 0.2816, 0.2788, 0.2791, 0.2791, 0.279, 0.2811, 0.3087",\
                 "0.336, 0.3292, 0.3197, 0.3137, 0.3093, 0.3089, 0.3109, 0.3111, 0.3146, 0.3562",\
                 "0.3712, 0.364, 0.3542, 0.3474, 0.3434, 0.341, 0.3408, 0.3453, 0.3538, 0.4218");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2172, 0.2111, 0.2036, 0.1988, 0.1966, 0.1962, 0.1966, 0.1976, 0.199, 0.2071",\
                 "0.217, 0.2111, 0.2034, 0.1986, 0.1963, 0.1965, 0.1964, 0.1973, 0.199, 0.2073",\
                 "0.218, 0.2118, 0.2043, 0.1993, 0.1974, 0.1972, 0.1974, 0.1984, 0.2004, 0.2083",\
                 "0.2222, 0.2163, 0.2087, 0.2036, 0.2016, 0.2014, 0.2016, 0.2025, 0.2048, 0.2153",\
                 "0.2325, 0.2265, 0.2186, 0.2135, 0.2114, 0.2109, 0.2116, 0.2116, 0.214, 0.2247",\
                 "0.2492, 0.243, 0.2348, 0.2297, 0.2272, 0.2267, 0.2266, 0.228, 0.2298, 0.2448",\
                 "0.2731, 0.2669, 0.2584, 0.2532, 0.251, 0.2498, 0.2502, 0.2505, 0.2528, 0.2718",\
                 "0.3033, 0.2968, 0.2882, 0.2816, 0.2788, 0.2791, 0.2791, 0.279, 0.2811, 0.3087",\
                 "0.336, 0.3292, 0.3197, 0.3137, 0.3093, 0.3089, 0.3109, 0.3111, 0.3146, 0.3562",\
                 "0.3712, 0.364, 0.3542, 0.3474, 0.3434, 0.341, 0.3408, 0.3453, 0.3538, 0.4218");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2171, 0.2112, 0.2038, 0.1987, 0.1966, 0.1963, 0.1966, 0.197, 0.1991, 0.2069",\
                 "0.217, 0.2111, 0.2034, 0.1984, 0.1962, 0.196, 0.1963, 0.1974, 0.1984, 0.2081",\
                 "0.2179, 0.2119, 0.2042, 0.1994, 0.1973, 0.197, 0.1971, 0.1981, 0.2002, 0.2084",\
                 "0.2223, 0.2163, 0.209, 0.2039, 0.2021, 0.2011, 0.2015, 0.2024, 0.2041, 0.2137",\
                 "0.2324, 0.2264, 0.2185, 0.2134, 0.2112, 0.2106, 0.2108, 0.2116, 0.2144, 0.2244",\
                 "0.249, 0.243, 0.2351, 0.2298, 0.2272, 0.2268, 0.2259, 0.2278, 0.2296, 0.2449",\
                 "0.2733, 0.267, 0.2589, 0.2531, 0.251, 0.2497, 0.2499, 0.2505, 0.2534, 0.2721",\
                 "0.3033, 0.2969, 0.2877, 0.2817, 0.2784, 0.2791, 0.2793, 0.2789, 0.2823, 0.3087",\
                 "0.3359, 0.329, 0.3195, 0.3133, 0.3092, 0.3086, 0.3099, 0.3105, 0.3146, 0.3556",\
                 "0.3713, 0.3643, 0.3547, 0.3472, 0.3434, 0.3414, 0.3416, 0.345, 0.3529, 0.4205");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.2171, 0.2112, 0.2038, 0.1987, 0.1966, 0.1963, 0.1966, 0.197, 0.1991, 0.2069",\
                 "0.217, 0.2111, 0.2034, 0.1984, 0.1962, 0.196, 0.1963, 0.1974, 0.1984, 0.2081",\
                 "0.2179, 0.2119, 0.2042, 0.1994, 0.1973, 0.197, 0.1971, 0.1981, 0.2002, 0.2084",\
                 "0.2223, 0.2163, 0.209, 0.2039, 0.2021, 0.2011, 0.2015, 0.2024, 0.2041, 0.2137",\
                 "0.2324, 0.2264, 0.2185, 0.2134, 0.2112, 0.2106, 0.2108, 0.2116, 0.2144, 0.2244",\
                 "0.249, 0.243, 0.2351, 0.2298, 0.2272, 0.2268, 0.2259, 0.2278, 0.2296, 0.2449",\
                 "0.2733, 0.267, 0.2589, 0.2531, 0.251, 0.2497, 0.2499, 0.2505, 0.2534, 0.2721",\
                 "0.3033, 0.2969, 0.2877, 0.2817, 0.2784, 0.2791, 0.2793, 0.2789, 0.2823, 0.3087",\
                 "0.3359, 0.329, 0.3195, 0.3133, 0.3092, 0.3086, 0.3099, 0.3105, 0.3146, 0.3556",\
                 "0.3713, 0.3643, 0.3547, 0.3472, 0.3434, 0.3414, 0.3416, 0.345, 0.3529, 0.4205");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("1.007, 1.051, 1.159, 1.313, 1.518, 1.791, 2.147, 2.595, 3.142, 3.793",\
                 "1.024, 1.068, 1.177, 1.331, 1.536, 1.809, 2.164, 2.612, 3.159, 3.811",\
                 "1.09, 1.134, 1.242, 1.396, 1.601, 1.874, 2.23, 2.678, 3.224, 3.877",\
                 "1.22, 1.264, 1.372, 1.526, 1.731, 2.004, 2.359, 2.807, 3.354, 4.006",\
                 "1.394, 1.439, 1.547, 1.701, 1.906, 2.179, 2.534, 2.982, 3.529, 4.181",\
                 "1.595, 1.639, 1.748, 1.902, 2.106, 2.379, 2.735, 3.183, 3.73, 4.382",\
                 "1.825, 1.869, 1.977, 2.131, 2.336, 2.609, 2.964, 3.412, 3.959, 4.61",\
                 "2.081, 2.125, 2.233, 2.387, 2.592, 2.865, 3.221, 3.668, 4.215, 4.867",\
                 "2.363, 2.407, 2.515, 2.669, 2.874, 3.147, 3.503, 3.951, 4.497, 5.149",\
                 "2.671, 2.716, 2.824, 2.978, 3.183, 3.456, 3.812, 4.259, 4.806, 5.458");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("1.316, 1.372, 1.524, 1.769, 2.122, 2.61, 3.252, 4.061, 5.049, 6.227",\
                 "1.333, 1.389, 1.541, 1.787, 2.139, 2.627, 3.268, 4.078, 5.066, 6.244",\
                 "1.4, 1.455, 1.608, 1.853, 2.205, 2.693, 3.335, 4.145, 5.133, 6.31",\
                 "1.532, 1.587, 1.74, 1.985, 2.337, 2.825, 3.467, 4.276, 5.265, 6.443",\
                 "1.713, 1.768, 1.92, 2.166, 2.518, 3.006, 3.648, 4.456, 5.444, 6.622",\
                 "1.922, 1.977, 2.13, 2.374, 2.727, 3.215, 3.857, 4.665, 5.653, 6.832",\
                 "2.159, 2.214, 2.367, 2.612, 2.965, 3.453, 4.095, 4.904, 5.893, 7.069",\
                 "2.425, 2.48, 2.633, 2.878, 3.23, 3.718, 4.359, 5.169, 6.157, 7.336",\
                 "2.716, 2.771, 2.924, 3.169, 3.522, 4.01, 4.652, 5.46, 6.447, 7.624",\
                 "3.033, 3.088, 3.24, 3.486, 3.838, 4.326, 4.968, 5.777, 6.763, 7.94");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1206, 0.16, 0.2688, 0.451, 0.7438, 1.179, 1.77, 2.521, 3.439, 4.539",\
                 "0.1206, 0.16, 0.2692, 0.451, 0.7436, 1.178, 1.77, 2.522, 3.44, 4.536",\
                 "0.1208, 0.16, 0.269, 0.4512, 0.7436, 1.178, 1.771, 2.522, 3.443, 4.536",\
                 "0.1204, 0.16, 0.2688, 0.4514, 0.7436, 1.179, 1.77, 2.521, 3.438, 4.539",\
                 "0.1204, 0.1598, 0.269, 0.4508, 0.7436, 1.178, 1.769, 2.521, 3.442, 4.534",\
                 "0.1206, 0.1598, 0.269, 0.4508, 0.7424, 1.179, 1.768, 2.521, 3.442, 4.535",\
                 "0.1204, 0.1598, 0.2688, 0.4512, 0.7436, 1.179, 1.77, 2.522, 3.442, 4.54",\
                 "0.1206, 0.1602, 0.2692, 0.4514, 0.744, 1.179, 1.768, 2.518, 3.438, 4.531",\
                 "0.1206, 0.1604, 0.2696, 0.4516, 0.7438, 1.178, 1.768, 2.52, 3.435, 4.528",\
                 "0.1212, 0.1606, 0.2698, 0.4514, 0.744, 1.178, 1.768, 2.522, 3.438, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.152, 0.2146, 0.4174, 0.7796, 1.363, 2.215, 3.345, 4.771, 6.514, 8.589",\
                 "0.1518, 0.2142, 0.4174, 0.7792, 1.364, 2.212, 3.347, 4.77, 6.52, 8.588",\
                 "0.1518, 0.214, 0.417, 0.7786, 1.362, 2.215, 3.344, 4.768, 6.512, 8.588",\
                 "0.1514, 0.2144, 0.417, 0.7786, 1.362, 2.215, 3.346, 4.771, 6.514, 8.589",\
                 "0.1524, 0.214, 0.418, 0.7794, 1.362, 2.215, 3.343, 4.774, 6.515, 8.593",\
                 "0.1508, 0.2134, 0.417, 0.7794, 1.364, 2.214, 3.349, 4.768, 6.513, 8.59",\
                 "0.1512, 0.2138, 0.418, 0.779, 1.363, 2.215, 3.343, 4.769, 6.511, 8.59",\
                 "0.1508, 0.2134, 0.4174, 0.7782, 1.364, 2.211, 3.344, 4.77, 6.515, 8.587",\
                 "0.151, 0.214, 0.417, 0.7786, 1.363, 2.213, 3.341, 4.769, 6.509, 8.591",\
                 "0.151, 0.2138, 0.4178, 0.779, 1.362, 2.212, 3.345, 4.769, 6.508, 8.596");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.3264, 0.3691, 0.4755, 0.6263, 0.8293, 1.102, 1.458, 1.906, 2.452, 3.104",\
                 "0.3439, 0.3868, 0.4931, 0.6438, 0.8468, 1.119, 1.475, 1.923, 2.47, 3.121",\
                 "0.4103, 0.453, 0.5593, 0.7099, 0.9131, 1.186, 1.542, 1.989, 2.536, 3.188",\
                 "0.5388, 0.5818, 0.6883, 0.8391, 1.042, 1.315, 1.671, 2.118, 2.665, 3.317",\
                 "0.6953, 0.7433, 0.8574, 1.014, 1.219, 1.491, 1.847, 2.294, 2.84, 3.492",\
                 "0.871, 0.9233, 1.047, 1.212, 1.422, 1.695, 2.05, 2.497, 3.043, 3.694",\
                 "1.066, 1.123, 1.258, 1.434, 1.65, 1.926, 2.281, 2.727, 3.273, 3.924",\
                 "1.281, 1.343, 1.49, 1.678, 1.904, 2.185, 2.541, 2.987, 3.532, 4.182",\
                 "1.516, 1.583, 1.741, 1.943, 2.181, 2.47, 2.83, 3.278, 3.823, 4.473",\
                 "1.772, 1.844, 2.014, 2.23, 2.481, 2.779, 3.147, 3.6, 4.148, 4.798");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.5089, 0.5635, 0.7141, 0.9559, 1.308, 1.796, 2.438, 3.247, 4.234, 5.411",\
                 "0.5165, 0.571, 0.7217, 0.9635, 1.315, 1.804, 2.446, 3.255, 4.242, 5.419",\
                 "0.5368, 0.5912, 0.7422, 0.9839, 1.336, 1.824, 2.465, 3.275, 4.262, 5.44",\
                 "0.5845, 0.6388, 0.7891, 1.03, 1.382, 1.869, 2.512, 3.321, 4.308, 5.485",\
                 "0.6449, 0.7013, 0.8547, 1.097, 1.448, 1.935, 2.577, 3.386, 4.374, 5.552",\
                 "0.707, 0.7652, 0.9214, 1.167, 1.518, 2.005, 2.645, 3.453, 4.442, 5.619",\
                 "0.7627, 0.8236, 0.9845, 1.234, 1.586, 2.071, 2.711, 3.518, 4.506, 5.683",\
                 "0.8035, 0.8679, 1.035, 1.291, 1.647, 2.132, 2.771, 3.578, 4.563, 5.74",\
                 "0.8267, 0.8945, 1.068, 1.332, 1.696, 2.186, 2.824, 3.63, 4.615, 5.789",\
                 "0.8275, 0.8995, 1.081, 1.353, 1.726, 2.224, 2.868, 3.673, 4.658, 5.832");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.11, 0.1508, 0.2596, 0.4419, 0.7373, 1.177, 1.768, 2.518, 3.437, 4.535",\
                 "0.1102, 0.1504, 0.2598, 0.4418, 0.7378, 1.178, 1.767, 2.519, 3.439, 4.535",\
                 "0.1105, 0.1508, 0.2599, 0.442, 0.7378, 1.177, 1.768, 2.519, 3.435, 4.535",\
                 "0.1175, 0.1569, 0.264, 0.4444, 0.7384, 1.178, 1.767, 2.519, 3.439, 4.531",\
                 "0.1422, 0.1836, 0.2882, 0.4606, 0.7464, 1.179, 1.769, 2.52, 3.438, 4.534",\
                 "0.1684, 0.2136, 0.3202, 0.488, 0.7634, 1.186, 1.771, 2.521, 3.439, 4.536",\
                 "0.1986, 0.2486, 0.3594, 0.5236, 0.7862, 1.2, 1.776, 2.522, 3.44, 4.536",\
                 "0.2302, 0.285, 0.4038, 0.5686, 0.8222, 1.222, 1.786, 2.527, 3.44, 4.532",\
                 "0.264, 0.3238, 0.4518, 0.6194, 0.8678, 1.257, 1.813, 2.54, 3.446, 4.536",\
                 "0.2992, 0.3636, 0.5022, 0.6758, 0.9202, 1.301, 1.851, 2.571, 3.469, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1451, 0.208, 0.4077, 0.769, 1.36, 2.215, 3.343, 4.771, 6.514, 8.587",\
                 "0.1451, 0.208, 0.4078, 0.7691, 1.36, 2.215, 3.342, 4.771, 6.513, 8.584",\
                 "0.1453, 0.2082, 0.4075, 0.7696, 1.361, 2.212, 3.347, 4.769, 6.522, 8.589",\
                 "0.1461, 0.2088, 0.409, 0.77, 1.359, 2.215, 3.344, 4.771, 6.512, 8.583",\
                 "0.157, 0.2194, 0.4188, 0.7766, 1.361, 2.215, 3.344, 4.778, 6.512, 8.585",\
                 "0.1684, 0.2308, 0.4312, 0.7866, 1.367, 2.215, 3.348, 4.776, 6.513, 8.589",\
                 "0.1856, 0.2494, 0.4484, 0.801, 1.374, 2.216, 3.347, 4.774, 6.513, 8.589",\
                 "0.2052, 0.2714, 0.4708, 0.8268, 1.39, 2.222, 3.346, 4.773, 6.508, 8.588",\
                 "0.2266, 0.296, 0.4958, 0.8572, 1.42, 2.241, 3.352, 4.774, 6.511, 8.587",\
                 "0.2522, 0.3216, 0.5248, 0.8914, 1.46, 2.278, 3.377, 4.783, 6.516, 8.583");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.3269, 0.3701, 0.477, 0.6293, 0.8337, 1.108, 1.466, 1.914, 2.461, 3.112",\
                 "0.3444, 0.3874, 0.4944, 0.6467, 0.8512, 1.125, 1.483, 1.932, 2.478, 3.129",\
                 "0.4108, 0.4539, 0.5607, 0.713, 0.9176, 1.191, 1.55, 1.998, 2.544, 3.196",\
                 "0.5396, 0.5829, 0.6899, 0.8425, 1.047, 1.321, 1.679, 2.127, 2.673, 3.324",\
                 "0.6968, 0.745, 0.86, 1.018, 1.225, 1.499, 1.855, 2.303, 2.849, 3.5",\
                 "0.8736, 0.9268, 1.051, 1.218, 1.429, 1.704, 2.06, 2.506, 3.052, 3.702",\
                 "1.07, 1.128, 1.264, 1.442, 1.659, 1.934, 2.289, 2.735, 3.28, 3.93",\
                 "1.287, 1.35, 1.497, 1.687, 1.914, 2.192, 2.545, 2.99, 3.534, 4.184",\
                 "1.524, 1.592, 1.751, 1.955, 2.193, 2.475, 2.828, 3.271, 3.815, 4.464",\
                 "1.782, 1.855, 2.026, 2.244, 2.495, 2.784, 3.136, 3.578, 4.121, 4.769");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1112, 0.1514, 0.2614, 0.4458, 0.7408, 1.182, 1.773, 2.518, 3.432, 4.527",\
                 "0.1112, 0.1513, 0.2616, 0.4455, 0.7409, 1.182, 1.774, 2.518, 3.432, 4.527",\
                 "0.1113, 0.1516, 0.2619, 0.4454, 0.741, 1.182, 1.772, 2.516, 3.429, 4.526",\
                 "0.1187, 0.1578, 0.266, 0.4478, 0.7422, 1.183, 1.771, 2.515, 3.432, 4.526",\
                 "0.1436, 0.185, 0.291, 0.4648, 0.7498, 1.183, 1.77, 2.514, 3.431, 4.527",\
                 "0.171, 0.2156, 0.3226, 0.493, 0.7676, 1.189, 1.77, 2.514, 3.432, 4.525",\
                 "0.2014, 0.251, 0.362, 0.5286, 0.7886, 1.196, 1.771, 2.516, 3.431, 4.528",\
                 "0.2338, 0.2882, 0.4072, 0.5738, 0.8198, 1.208, 1.773, 2.517, 3.429, 4.525",\
                 "0.2678, 0.3274, 0.4554, 0.6246, 0.8606, 1.227, 1.778, 2.517, 3.433, 4.523",\
                 "0.3034, 0.3686, 0.5074, 0.6814, 0.9094, 1.253, 1.787, 2.518, 3.43, 4.523");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.3264, 0.3691, 0.4755, 0.6263, 0.8293, 1.102, 1.458, 1.906, 2.452, 3.104",\
                 "0.3439, 0.3868, 0.4931, 0.6438, 0.8468, 1.119, 1.475, 1.923, 2.47, 3.121",\
                 "0.4103, 0.453, 0.5593, 0.7099, 0.9131, 1.186, 1.542, 1.989, 2.536, 3.188",\
                 "0.5388, 0.5818, 0.6883, 0.8391, 1.042, 1.315, 1.671, 2.118, 2.665, 3.317",\
                 "0.6953, 0.7431, 0.8574, 1.014, 1.219, 1.491, 1.847, 2.294, 2.84, 3.492",\
                 "0.8709, 0.9233, 1.047, 1.212, 1.422, 1.695, 2.05, 2.497, 3.043, 3.695",\
                 "1.066, 1.123, 1.258, 1.434, 1.65, 1.926, 2.281, 2.727, 3.273, 3.924",\
                 "1.281, 1.343, 1.49, 1.678, 1.904, 2.185, 2.541, 2.987, 3.532, 4.182",\
                 "1.516, 1.583, 1.741, 1.943, 2.181, 2.47, 2.83, 3.278, 3.823, 4.473",\
                 "1.772, 1.844, 2.014, 2.23, 2.481, 2.779, 3.147, 3.6, 4.148, 4.798");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.5089, 0.5635, 0.7141, 0.9559, 1.308, 1.796, 2.438, 3.247, 4.234, 5.411",\
                 "0.5165, 0.571, 0.7217, 0.9635, 1.315, 1.804, 2.446, 3.255, 4.242, 5.419",\
                 "0.5368, 0.5912, 0.7422, 0.9839, 1.336, 1.824, 2.465, 3.275, 4.262, 5.44",\
                 "0.5845, 0.6388, 0.7891, 1.03, 1.382, 1.869, 2.512, 3.321, 4.308, 5.485",\
                 "0.6449, 0.7012, 0.8545, 1.097, 1.448, 1.936, 2.577, 3.386, 4.373, 5.552",\
                 "0.707, 0.7652, 0.9215, 1.167, 1.518, 2.005, 2.645, 3.453, 4.442, 5.619",\
                 "0.7627, 0.8237, 0.9845, 1.234, 1.586, 2.071, 2.711, 3.518, 4.506, 5.683",\
                 "0.8037, 0.868, 1.035, 1.291, 1.647, 2.132, 2.771, 3.578, 4.563, 5.74",\
                 "0.8267, 0.8947, 1.068, 1.332, 1.696, 2.186, 2.825, 3.63, 4.615, 5.789",\
                 "0.8275, 0.8995, 1.081, 1.352, 1.725, 2.224, 2.868, 3.673, 4.657, 5.832");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.11, 0.1508, 0.2596, 0.4419, 0.7373, 1.177, 1.768, 2.518, 3.437, 4.535",\
                 "0.1102, 0.1504, 0.2598, 0.4418, 0.7378, 1.178, 1.767, 2.519, 3.439, 4.535",\
                 "0.1105, 0.1508, 0.2599, 0.442, 0.7378, 1.177, 1.768, 2.519, 3.435, 4.535",\
                 "0.1175, 0.1569, 0.264, 0.4444, 0.7384, 1.178, 1.767, 2.519, 3.439, 4.531",\
                 "0.1422, 0.184, 0.2886, 0.4606, 0.7464, 1.18, 1.769, 2.52, 3.436, 4.531",\
                 "0.1684, 0.2138, 0.3202, 0.488, 0.7628, 1.186, 1.77, 2.521, 3.438, 4.532",\
                 "0.1986, 0.2486, 0.3594, 0.5234, 0.7862, 1.2, 1.777, 2.522, 3.439, 4.536",\
                 "0.2306, 0.284, 0.4038, 0.5692, 0.8222, 1.222, 1.786, 2.527, 3.44, 4.533",\
                 "0.264, 0.323, 0.4518, 0.6196, 0.868, 1.257, 1.811, 2.54, 3.446, 4.535",\
                 "0.2992, 0.3636, 0.5024, 0.6758, 0.9216, 1.301, 1.851, 2.571, 3.469, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1451, 0.208, 0.4077, 0.769, 1.36, 2.215, 3.343, 4.771, 6.514, 8.587",\
                 "0.1451, 0.208, 0.4078, 0.7691, 1.36, 2.215, 3.342, 4.771, 6.513, 8.584",\
                 "0.1453, 0.2082, 0.4075, 0.7696, 1.361, 2.212, 3.347, 4.769, 6.522, 8.589",\
                 "0.1461, 0.2088, 0.4092, 0.771, 1.359, 2.215, 3.344, 4.771, 6.512, 8.583",\
                 "0.1576, 0.2198, 0.4184, 0.7764, 1.361, 2.211, 3.346, 4.771, 6.51, 8.585",\
                 "0.1682, 0.2308, 0.431, 0.7862, 1.367, 2.213, 3.348, 4.776, 6.509, 8.586",\
                 "0.1856, 0.2494, 0.4484, 0.8012, 1.374, 2.216, 3.347, 4.773, 6.513, 8.589",\
                 "0.2046, 0.2708, 0.4712, 0.8268, 1.39, 2.222, 3.346, 4.773, 6.508, 8.588",\
                 "0.2266, 0.2948, 0.4958, 0.8572, 1.42, 2.241, 3.352, 4.774, 6.509, 8.587",\
                 "0.2512, 0.3208, 0.5248, 0.8916, 1.458, 2.278, 3.376, 4.781, 6.514, 8.583");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.3268, 0.3701, 0.477, 0.6292, 0.8337, 1.107, 1.466, 1.914, 2.461, 3.112",\
                 "0.3443, 0.3875, 0.4943, 0.6468, 0.8512, 1.125, 1.483, 1.932, 2.478, 3.129",\
                 "0.4108, 0.4538, 0.5607, 0.7131, 0.9176, 1.192, 1.55, 1.998, 2.544, 3.196",\
                 "0.5396, 0.5829, 0.69, 0.8425, 1.047, 1.321, 1.679, 2.127, 2.673, 3.324",\
                 "0.6969, 0.7451, 0.8599, 1.018, 1.225, 1.499, 1.855, 2.303, 2.849, 3.5",\
                 "0.8737, 0.9266, 1.051, 1.218, 1.429, 1.704, 2.06, 2.506, 3.051, 3.702",\
                 "1.07, 1.128, 1.264, 1.441, 1.659, 1.934, 2.289, 2.735, 3.28, 3.93",\
                 "1.287, 1.35, 1.497, 1.687, 1.914, 2.192, 2.545, 2.99, 3.534, 4.184",\
                 "1.524, 1.592, 1.751, 1.955, 2.193, 2.475, 2.828, 3.271, 3.815, 4.464",\
                 "1.782, 1.855, 2.026, 2.244, 2.495, 2.784, 3.136, 3.578, 4.121, 4.769");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1114, 0.1514, 0.2616, 0.4453, 0.7406, 1.182, 1.773, 2.517, 3.432, 4.527",\
                 "0.1112, 0.1514, 0.2617, 0.4455, 0.7409, 1.182, 1.773, 2.517, 3.43, 4.527",\
                 "0.1113, 0.1515, 0.2618, 0.4455, 0.7409, 1.182, 1.773, 2.517, 3.432, 4.525",\
                 "0.1187, 0.1578, 0.2662, 0.4478, 0.7426, 1.182, 1.771, 2.516, 3.432, 4.525",\
                 "0.1436, 0.1852, 0.2908, 0.465, 0.75, 1.183, 1.77, 2.514, 3.43, 4.522",\
                 "0.1712, 0.216, 0.3222, 0.493, 0.7672, 1.188, 1.769, 2.514, 3.429, 4.527",\
                 "0.2014, 0.2528, 0.3622, 0.5286, 0.7884, 1.196, 1.771, 2.516, 3.43, 4.528",\
                 "0.2338, 0.2884, 0.4074, 0.5736, 0.8196, 1.207, 1.774, 2.515, 3.429, 4.522",\
                 "0.2682, 0.3288, 0.4556, 0.6244, 0.8608, 1.227, 1.778, 2.516, 3.43, 4.524",\
                 "0.3028, 0.3684, 0.508, 0.6814, 0.91, 1.254, 1.786, 2.518, 3.434, 4.523");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.3262, 0.3691, 0.4754, 0.6261, 0.8291, 1.102, 1.458, 1.906, 2.452, 3.104",\
                 "0.3437, 0.3865, 0.4929, 0.6437, 0.8467, 1.119, 1.475, 1.923, 2.47, 3.122",\
                 "0.4102, 0.4528, 0.5592, 0.7099, 0.913, 1.186, 1.542, 1.99, 2.537, 3.189",\
                 "0.5386, 0.5817, 0.6881, 0.8392, 1.042, 1.315, 1.671, 2.118, 2.665, 3.318",\
                 "0.6951, 0.743, 0.8573, 1.014, 1.219, 1.491, 1.846, 2.294, 2.84, 3.492",\
                 "0.871, 0.9233, 1.047, 1.212, 1.422, 1.695, 2.05, 2.497, 3.043, 3.695",\
                 "1.065, 1.123, 1.258, 1.434, 1.65, 1.925, 2.281, 2.727, 3.273, 3.924",\
                 "1.281, 1.343, 1.49, 1.677, 1.904, 2.184, 2.54, 2.986, 3.532, 4.183",\
                 "1.516, 1.583, 1.741, 1.943, 2.18, 2.469, 2.83, 3.278, 3.822, 4.473",\
                 "1.772, 1.844, 2.014, 2.23, 2.48, 2.778, 3.146, 3.6, 4.147, 4.797");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.5041, 0.5586, 0.7092, 0.9508, 1.303, 1.791, 2.433, 3.241, 4.233, 5.412",\
                 "0.5118, 0.5662, 0.7169, 0.9584, 1.31, 1.798, 2.441, 3.25, 4.24, 5.42",\
                 "0.5328, 0.5873, 0.7375, 0.9792, 1.331, 1.82, 2.462, 3.272, 4.26, 5.44",\
                 "0.5815, 0.6357, 0.786, 1.027, 1.379, 1.867, 2.509, 3.319, 4.306, 5.486",\
                 "0.6433, 0.6994, 0.8525, 1.095, 1.446, 1.933, 2.575, 3.384, 4.373, 5.551",\
                 "0.7056, 0.7638, 0.92, 1.165, 1.517, 2.003, 2.644, 3.452, 4.441, 5.617",\
                 "0.7616, 0.8227, 0.9833, 1.232, 1.585, 2.07, 2.71, 3.517, 4.504, 5.683",\
                 "0.8026, 0.8673, 1.034, 1.29, 1.646, 2.132, 2.77, 3.576, 4.562, 5.739",\
                 "0.8254, 0.8936, 1.067, 1.331, 1.695, 2.185, 2.823, 3.628, 4.613, 5.789",\
                 "0.8262, 0.8986, 1.079, 1.351, 1.724, 2.224, 2.867, 3.673, 4.656, 5.831");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.11, 0.1504, 0.2596, 0.4416, 0.7375, 1.176, 1.769, 2.522, 3.443, 4.537",\
                 "0.11, 0.1503, 0.2596, 0.4417, 0.7389, 1.178, 1.77, 2.521, 3.438, 4.541",\
                 "0.11, 0.1503, 0.2598, 0.4414, 0.7387, 1.178, 1.77, 2.522, 3.441, 4.54",\
                 "0.1178, 0.1569, 0.264, 0.4444, 0.7386, 1.178, 1.771, 2.523, 3.443, 4.536",\
                 "0.142, 0.1832, 0.2886, 0.461, 0.7462, 1.18, 1.77, 2.523, 3.443, 4.538",\
                 "0.1698, 0.215, 0.3196, 0.4888, 0.7634, 1.186, 1.773, 2.523, 3.442, 4.54",\
                 "0.1976, 0.2478, 0.3594, 0.5238, 0.7872, 1.199, 1.776, 2.522, 3.438, 4.534",\
                 "0.2298, 0.2846, 0.403, 0.569, 0.823, 1.221, 1.787, 2.527, 3.439, 4.531",\
                 "0.2656, 0.3262, 0.4512, 0.6198, 0.8684, 1.256, 1.811, 2.54, 3.446, 4.535",\
                 "0.299, 0.363, 0.5018, 0.6776, 0.9208, 1.301, 1.85, 2.573, 3.468, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1447, 0.2072, 0.4079, 0.7687, 1.361, 2.215, 3.345, 4.77, 6.514, 8.591",\
                 "0.1451, 0.2071, 0.4081, 0.7688, 1.361, 2.215, 3.344, 4.774, 6.516, 8.594",\
                 "0.1441, 0.2072, 0.408, 0.7689, 1.358, 2.215, 3.343, 4.772, 6.515, 8.595",\
                 "0.1458, 0.2084, 0.4086, 0.7698, 1.36, 2.215, 3.349, 4.769, 6.513, 8.593",\
                 "0.1564, 0.2188, 0.4186, 0.7764, 1.361, 2.215, 3.342, 4.776, 6.516, 8.594",\
                 "0.1688, 0.2312, 0.4312, 0.7878, 1.367, 2.214, 3.344, 4.768, 6.521, 8.593",\
                 "0.1848, 0.248, 0.4474, 0.8006, 1.374, 2.217, 3.349, 4.77, 6.508, 8.591",\
                 "0.2064, 0.27, 0.4716, 0.8264, 1.389, 2.224, 3.345, 4.773, 6.515, 8.586",\
                 "0.2274, 0.2948, 0.4956, 0.8578, 1.42, 2.241, 3.353, 4.772, 6.51, 8.594",\
                 "0.2522, 0.3206, 0.5236, 0.8928, 1.458, 2.279, 3.377, 4.78, 6.516, 8.585");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.3265, 0.3698, 0.4766, 0.6285, 0.8325, 1.105, 1.461, 1.908, 2.455, 3.106",\
                 "0.344, 0.3872, 0.494, 0.646, 0.85, 1.123, 1.478, 1.926, 2.472, 3.124",\
                 "0.4105, 0.4536, 0.5602, 0.7123, 0.9164, 1.189, 1.545, 1.992, 2.539, 3.19",\
                 "0.5394, 0.5828, 0.6897, 0.8417, 1.046, 1.318, 1.674, 2.121, 2.667, 3.319",\
                 "0.6969, 0.7452, 0.8599, 1.017, 1.222, 1.494, 1.849, 2.296, 2.842, 3.493",\
                 "0.8739, 0.9271, 1.051, 1.216, 1.424, 1.696, 2.05, 2.496, 3.042, 3.693",\
                 "1.07, 1.129, 1.263, 1.439, 1.65, 1.92, 2.273, 2.719, 3.264, 3.915",\
                 "1.287, 1.35, 1.496, 1.683, 1.899, 2.169, 2.52, 2.965, 3.51, 4.16",\
                 "1.524, 1.592, 1.749, 1.949, 2.171, 2.44, 2.79, 3.233, 3.777, 4.427",\
                 "1.783, 1.855, 2.024, 2.237, 2.465, 2.733, 3.081, 3.523, 4.065, 4.714");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1113, 0.1517, 0.2608, 0.4443, 0.7379, 1.174, 1.763, 2.512, 3.433, 4.53",\
                 "0.1113, 0.1518, 0.261, 0.4444, 0.7377, 1.173, 1.763, 2.512, 3.433, 4.53",\
                 "0.1114, 0.1521, 0.2612, 0.4444, 0.7378, 1.174, 1.763, 2.513, 3.432, 4.53",\
                 "0.1189, 0.1582, 0.2652, 0.4466, 0.7386, 1.174, 1.763, 2.513, 3.432, 4.53",\
                 "0.1442, 0.1866, 0.29, 0.4632, 0.7432, 1.174, 1.763, 2.513, 3.432, 4.529",\
                 "0.1714, 0.216, 0.3206, 0.4882, 0.7548, 1.177, 1.764, 2.511, 3.431, 4.53",\
                 "0.202, 0.2516, 0.3594, 0.5198, 0.7676, 1.181, 1.764, 2.512, 3.433, 4.531",\
                 "0.2352, 0.288, 0.4034, 0.5588, 0.7856, 1.184, 1.765, 2.513, 3.429, 4.522",\
                 "0.2682, 0.3278, 0.45, 0.603, 0.8074, 1.19, 1.767, 2.514, 3.43, 4.525",\
                 "0.3036, 0.3668, 0.4986, 0.6494, 0.8306, 1.195, 1.767, 2.514, 3.433, 4.523");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.3262, 0.3691, 0.4754, 0.6261, 0.8291, 1.102, 1.458, 1.906, 2.452, 3.104",\
                 "0.3437, 0.3865, 0.4929, 0.6437, 0.8467, 1.119, 1.475, 1.923, 2.47, 3.122",\
                 "0.4102, 0.4528, 0.5592, 0.7099, 0.913, 1.186, 1.542, 1.99, 2.537, 3.189",\
                 "0.5386, 0.5817, 0.6881, 0.8392, 1.042, 1.315, 1.671, 2.118, 2.665, 3.318",\
                 "0.6951, 0.7429, 0.8572, 1.014, 1.219, 1.491, 1.847, 2.294, 2.84, 3.492",\
                 "0.8709, 0.9235, 1.047, 1.212, 1.422, 1.695, 2.05, 2.498, 3.044, 3.695",\
                 "1.065, 1.123, 1.258, 1.434, 1.65, 1.925, 2.28, 2.727, 3.273, 3.924",\
                 "1.28, 1.343, 1.489, 1.677, 1.903, 2.184, 2.54, 2.987, 3.532, 4.182",\
                 "1.515, 1.583, 1.741, 1.943, 2.18, 2.469, 2.83, 3.278, 3.823, 4.473",\
                 "1.772, 1.844, 2.014, 2.23, 2.48, 2.778, 3.146, 3.6, 4.147, 4.797");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.5041, 0.5586, 0.7092, 0.9508, 1.303, 1.791, 2.434, 3.242, 4.233, 5.412",\
                 "0.5118, 0.5662, 0.7169, 0.9584, 1.31, 1.798, 2.441, 3.25, 4.24, 5.42",\
                 "0.5328, 0.5872, 0.7378, 0.9793, 1.331, 1.819, 2.462, 3.271, 4.262, 5.441",\
                 "0.5815, 0.6357, 0.786, 1.027, 1.379, 1.867, 2.508, 3.319, 4.307, 5.483",\
                 "0.6433, 0.6994, 0.8526, 1.095, 1.446, 1.933, 2.575, 3.384, 4.375, 5.553",\
                 "0.7057, 0.7638, 0.9199, 1.165, 1.517, 2.003, 2.644, 3.453, 4.441, 5.62",\
                 "0.7614, 0.8225, 0.9828, 1.232, 1.584, 2.07, 2.71, 3.517, 4.504, 5.682",\
                 "0.803, 0.8672, 1.033, 1.29, 1.646, 2.131, 2.77, 3.576, 4.562, 5.738",\
                 "0.8254, 0.8934, 1.067, 1.331, 1.696, 2.186, 2.823, 3.629, 4.613, 5.789",\
                 "0.8263, 0.8984, 1.079, 1.351, 1.725, 2.224, 2.867, 3.673, 4.656, 5.831");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.11, 0.1504, 0.2596, 0.4416, 0.7375, 1.176, 1.769, 2.522, 3.443, 4.537",\
                 "0.11, 0.1503, 0.2596, 0.4417, 0.7389, 1.178, 1.77, 2.521, 3.438, 4.541",\
                 "0.11, 0.1503, 0.2598, 0.4414, 0.7387, 1.178, 1.77, 2.522, 3.441, 4.54",\
                 "0.1178, 0.1569, 0.264, 0.4444, 0.7386, 1.178, 1.771, 2.523, 3.443, 4.536",\
                 "0.142, 0.1836, 0.2882, 0.4608, 0.747, 1.18, 1.771, 2.522, 3.443, 4.538",\
                 "0.1684, 0.2136, 0.3202, 0.488, 0.763, 1.186, 1.773, 2.523, 3.44, 4.54",\
                 "0.1988, 0.2482, 0.3594, 0.5238, 0.7866, 1.199, 1.776, 2.523, 3.44, 4.535",\
                 "0.2308, 0.285, 0.4038, 0.5704, 0.8232, 1.222, 1.789, 2.527, 3.439, 4.531",\
                 "0.264, 0.324, 0.4524, 0.6198, 0.869, 1.256, 1.813, 2.541, 3.446, 4.535",\
                 "0.2988, 0.3638, 0.502, 0.6758, 0.9212, 1.3, 1.852, 2.572, 3.465, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1447, 0.2072, 0.4079, 0.7687, 1.361, 2.215, 3.343, 4.769, 6.514, 8.592",\
                 "0.145, 0.2072, 0.4075, 0.7687, 1.361, 2.215, 3.344, 4.774, 6.516, 8.597",\
                 "0.1444, 0.2072, 0.4072, 0.7688, 1.361, 2.212, 3.343, 4.77, 6.516, 8.596",\
                 "0.146, 0.2084, 0.4082, 0.7694, 1.36, 2.212, 3.344, 4.777, 6.516, 8.602",\
                 "0.1574, 0.2186, 0.4186, 0.7756, 1.363, 2.215, 3.347, 4.771, 6.515, 8.592",\
                 "0.1682, 0.2314, 0.4308, 0.7872, 1.366, 2.216, 3.344, 4.77, 6.52, 8.593",\
                 "0.1854, 0.2478, 0.448, 0.8016, 1.374, 2.216, 3.345, 4.774, 6.511, 8.591",\
                 "0.2046, 0.2692, 0.4714, 0.8268, 1.389, 2.222, 3.347, 4.769, 6.511, 8.599",\
                 "0.2266, 0.2946, 0.497, 0.8574, 1.42, 2.242, 3.353, 4.776, 6.51, 8.594",\
                 "0.2508, 0.3206, 0.5238, 0.891, 1.458, 2.279, 3.376, 4.783, 6.514, 8.585");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.3265, 0.3698, 0.4766, 0.6285, 0.8326, 1.105, 1.461, 1.908, 2.455, 3.106",\
                 "0.344, 0.3873, 0.494, 0.646, 0.85, 1.123, 1.478, 1.926, 2.472, 3.124",\
                 "0.4105, 0.4536, 0.5604, 0.7123, 0.9164, 1.189, 1.545, 1.992, 2.539, 3.19",\
                 "0.5394, 0.5829, 0.6896, 0.8418, 1.046, 1.318, 1.674, 2.121, 2.667, 3.319",\
                 "0.6968, 0.7451, 0.8597, 1.017, 1.222, 1.494, 1.849, 2.296, 2.842, 3.493",\
                 "0.8737, 0.9269, 1.051, 1.216, 1.424, 1.696, 2.05, 2.496, 3.042, 3.693",\
                 "1.071, 1.129, 1.263, 1.439, 1.65, 1.92, 2.273, 2.719, 3.264, 3.915",\
                 "1.287, 1.35, 1.496, 1.683, 1.899, 2.169, 2.52, 2.965, 3.51, 4.16",\
                 "1.524, 1.592, 1.75, 1.949, 2.171, 2.44, 2.79, 3.233, 3.777, 4.427",\
                 "1.783, 1.855, 2.024, 2.237, 2.465, 2.733, 3.081, 3.523, 4.065, 4.714");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1113, 0.1517, 0.261, 0.4442, 0.7379, 1.174, 1.764, 2.513, 3.433, 4.53",\
                 "0.1113, 0.1517, 0.2608, 0.4443, 0.7378, 1.173, 1.763, 2.512, 3.433, 4.527",\
                 "0.1116, 0.1521, 0.2612, 0.4442, 0.7379, 1.174, 1.763, 2.513, 3.432, 4.53",\
                 "0.1191, 0.1581, 0.2652, 0.4466, 0.7388, 1.174, 1.763, 2.514, 3.431, 4.53",\
                 "0.1444, 0.1856, 0.29, 0.4626, 0.7434, 1.175, 1.762, 2.514, 3.43, 4.525",\
                 "0.1716, 0.2166, 0.3214, 0.4886, 0.7548, 1.177, 1.764, 2.511, 3.431, 4.53",\
                 "0.2018, 0.2514, 0.359, 0.5196, 0.768, 1.181, 1.764, 2.512, 3.432, 4.529",\
                 "0.234, 0.289, 0.4032, 0.5594, 0.7856, 1.184, 1.764, 2.514, 3.429, 4.524",\
                 "0.269, 0.3274, 0.4496, 0.603, 0.8072, 1.189, 1.766, 2.514, 3.43, 4.523",\
                 "0.3038, 0.3678, 0.4988, 0.65, 0.8306, 1.195, 1.767, 2.516, 3.429, 4.524");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.3264, 0.3691, 0.4755, 0.6263, 0.8293, 1.102, 1.458, 1.906, 2.452, 3.104",\
                 "0.3439, 0.3868, 0.4931, 0.6438, 0.8468, 1.119, 1.475, 1.923, 2.47, 3.121",\
                 "0.4103, 0.453, 0.5593, 0.7099, 0.9131, 1.186, 1.542, 1.989, 2.536, 3.188",\
                 "0.5388, 0.5818, 0.6883, 0.8391, 1.042, 1.315, 1.671, 2.118, 2.665, 3.317",\
                 "0.6953, 0.7433, 0.8574, 1.014, 1.219, 1.491, 1.847, 2.294, 2.84, 3.492",\
                 "0.871, 0.9233, 1.047, 1.212, 1.422, 1.695, 2.05, 2.497, 3.043, 3.694",\
                 "1.066, 1.123, 1.258, 1.434, 1.65, 1.926, 2.281, 2.727, 3.273, 3.924",\
                 "1.281, 1.343, 1.49, 1.678, 1.904, 2.185, 2.541, 2.987, 3.532, 4.182",\
                 "1.516, 1.583, 1.741, 1.943, 2.181, 2.47, 2.83, 3.278, 3.823, 4.473",\
                 "1.772, 1.844, 2.014, 2.23, 2.481, 2.779, 3.147, 3.6, 4.148, 4.798");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.5089, 0.5635, 0.7141, 0.9559, 1.308, 1.796, 2.438, 3.247, 4.234, 5.411",\
                 "0.5165, 0.571, 0.7217, 0.9635, 1.315, 1.804, 2.446, 3.255, 4.242, 5.419",\
                 "0.5368, 0.5912, 0.7422, 0.9839, 1.336, 1.824, 2.465, 3.275, 4.262, 5.44",\
                 "0.5845, 0.6388, 0.7891, 1.03, 1.382, 1.869, 2.512, 3.321, 4.308, 5.485",\
                 "0.6449, 0.7012, 0.8545, 1.097, 1.448, 1.936, 2.577, 3.386, 4.373, 5.552",\
                 "0.707, 0.7652, 0.9215, 1.167, 1.518, 2.005, 2.645, 3.453, 4.442, 5.619",\
                 "0.7627, 0.8237, 0.9845, 1.234, 1.586, 2.071, 2.711, 3.518, 4.506, 5.683",\
                 "0.8037, 0.868, 1.035, 1.291, 1.647, 2.132, 2.771, 3.578, 4.563, 5.74",\
                 "0.8267, 0.8947, 1.068, 1.332, 1.696, 2.186, 2.825, 3.63, 4.615, 5.789",\
                 "0.8275, 0.8995, 1.081, 1.352, 1.725, 2.224, 2.868, 3.673, 4.657, 5.832");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.11, 0.1508, 0.2596, 0.4419, 0.7373, 1.177, 1.768, 2.518, 3.437, 4.535",\
                 "0.1102, 0.1504, 0.2598, 0.4418, 0.7378, 1.178, 1.767, 2.519, 3.439, 4.535",\
                 "0.1105, 0.1508, 0.2599, 0.442, 0.7378, 1.177, 1.768, 2.519, 3.435, 4.535",\
                 "0.1175, 0.1569, 0.264, 0.4444, 0.7384, 1.178, 1.767, 2.519, 3.439, 4.531",\
                 "0.1422, 0.184, 0.2886, 0.4606, 0.7464, 1.18, 1.769, 2.52, 3.436, 4.531",\
                 "0.1684, 0.2138, 0.3202, 0.488, 0.7628, 1.186, 1.77, 2.521, 3.438, 4.532",\
                 "0.1986, 0.2486, 0.3594, 0.5234, 0.7862, 1.2, 1.777, 2.522, 3.439, 4.536",\
                 "0.2306, 0.284, 0.4038, 0.5692, 0.8222, 1.222, 1.786, 2.527, 3.44, 4.533",\
                 "0.264, 0.323, 0.4518, 0.6196, 0.868, 1.257, 1.811, 2.54, 3.446, 4.535",\
                 "0.2992, 0.3636, 0.5024, 0.6758, 0.9216, 1.301, 1.851, 2.571, 3.469, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1447, 0.2072, 0.4079, 0.7687, 1.361, 2.215, 3.343, 4.769, 6.514, 8.592",\
                 "0.145, 0.2072, 0.4075, 0.7687, 1.361, 2.215, 3.344, 4.774, 6.516, 8.597",\
                 "0.1444, 0.2072, 0.4072, 0.7688, 1.361, 2.212, 3.343, 4.77, 6.516, 8.596",\
                 "0.146, 0.2084, 0.4082, 0.7694, 1.36, 2.212, 3.344, 4.777, 6.516, 8.602",\
                 "0.1574, 0.2186, 0.4186, 0.7756, 1.363, 2.215, 3.347, 4.771, 6.515, 8.592",\
                 "0.1682, 0.2314, 0.4308, 0.7872, 1.366, 2.216, 3.344, 4.77, 6.52, 8.593",\
                 "0.1854, 0.2478, 0.448, 0.8016, 1.374, 2.216, 3.345, 4.774, 6.511, 8.591",\
                 "0.2046, 0.2692, 0.4714, 0.8268, 1.389, 2.222, 3.347, 4.769, 6.511, 8.599",\
                 "0.2266, 0.2946, 0.497, 0.8574, 1.42, 2.242, 3.353, 4.776, 6.51, 8.594",\
                 "0.2508, 0.3206, 0.5238, 0.891, 1.458, 2.279, 3.376, 4.783, 6.514, 8.585");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("1.198, 1.253, 1.404, 1.645, 1.996, 2.483, 3.125, 3.935, 4.921, 6.097",\
                 "1.216, 1.271, 1.422, 1.663, 2.014, 2.501, 3.143, 3.952, 4.938, 6.116",\
                 "1.281, 1.336, 1.487, 1.728, 2.079, 2.566, 3.208, 4.017, 5.004, 6.182",\
                 "1.414, 1.469, 1.62, 1.861, 2.212, 2.699, 3.341, 4.15, 5.138, 6.315",\
                 "1.618, 1.673, 1.824, 2.064, 2.415, 2.903, 3.544, 4.353, 5.342, 6.519",\
                 "1.868, 1.923, 2.074, 2.314, 2.665, 3.152, 3.794, 4.602, 5.591, 6.767",\
                 "2.152, 2.207, 2.358, 2.598, 2.949, 3.436, 4.078, 4.887, 5.875, 7.051",\
                 "2.471, 2.526, 2.677, 2.918, 3.268, 3.755, 4.396, 5.206, 6.194, 7.37",\
                 "2.822, 2.878, 3.029, 3.269, 3.619, 4.106, 4.747, 5.555, 6.542, 7.72",\
                 "3.203, 3.257, 3.408, 3.649, 4, 4.486, 5.127, 5.935, 6.922, 8.099");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.151, 0.2124, 0.411, 0.772, 1.362, 2.214, 3.347, 4.771, 6.517, 8.587",\
                 "0.1508, 0.2126, 0.4124, 0.7718, 1.362, 2.211, 3.343, 4.774, 6.509, 8.592",\
                 "0.1512, 0.2128, 0.4124, 0.7732, 1.361, 2.215, 3.349, 4.772, 6.511, 8.59",\
                 "0.151, 0.2136, 0.4124, 0.7718, 1.363, 2.214, 3.344, 4.778, 6.511, 8.589",\
                 "0.1512, 0.2136, 0.4126, 0.7718, 1.36, 2.212, 3.343, 4.777, 6.51, 8.588",\
                 "0.1518, 0.213, 0.4124, 0.7728, 1.362, 2.215, 3.343, 4.776, 6.512, 8.588",\
                 "0.1528, 0.2142, 0.414, 0.7722, 1.36, 2.215, 3.349, 4.774, 6.512, 8.588",\
                 "0.1536, 0.2154, 0.4142, 0.774, 1.361, 2.211, 3.345, 4.77, 6.515, 8.588",\
                 "0.1546, 0.2154, 0.4154, 0.7738, 1.36, 2.213, 3.344, 4.776, 6.519, 8.588",\
                 "0.1546, 0.2172, 0.4158, 0.7744, 1.361, 2.213, 3.343, 4.77, 6.51, 8.596");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("1.198, 1.253, 1.404, 1.645, 1.996, 2.483, 3.125, 3.935, 4.92, 6.097",\
                 "1.216, 1.271, 1.422, 1.663, 2.014, 2.501, 3.143, 3.951, 4.939, 6.115",\
                 "1.282, 1.336, 1.487, 1.728, 2.079, 2.567, 3.208, 4.017, 5.004, 6.182",\
                 "1.415, 1.47, 1.62, 1.861, 2.212, 2.7, 3.342, 4.149, 5.137, 6.313",\
                 "1.618, 1.673, 1.824, 2.065, 2.416, 2.903, 3.544, 4.354, 5.342, 6.52",\
                 "1.868, 1.923, 2.074, 2.315, 2.665, 3.152, 3.794, 4.602, 5.59, 6.766",\
                 "2.152, 2.207, 2.358, 2.599, 2.949, 3.436, 4.078, 4.886, 5.873, 7.051",\
                 "2.472, 2.527, 2.678, 2.919, 3.269, 3.756, 4.396, 5.206, 6.195, 7.369",\
                 "2.822, 2.878, 3.029, 3.27, 3.62, 4.107, 4.748, 5.556, 6.542, 7.721",\
                 "3.202, 3.258, 3.409, 3.65, 4, 4.487, 5.128, 5.936, 6.922, 8.099");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1514, 0.2124, 0.411, 0.7722, 1.361, 2.212, 3.344, 4.771, 6.516, 8.584",\
                 "0.1512, 0.2126, 0.4128, 0.7724, 1.362, 2.214, 3.344, 4.77, 6.519, 8.585",\
                 "0.152, 0.213, 0.4122, 0.7718, 1.36, 2.215, 3.344, 4.773, 6.509, 8.592",\
                 "0.1508, 0.213, 0.4124, 0.7718, 1.362, 2.214, 3.344, 4.771, 6.52, 8.587",\
                 "0.1516, 0.2136, 0.4126, 0.7716, 1.361, 2.215, 3.342, 4.769, 6.513, 8.585",\
                 "0.152, 0.2128, 0.4126, 0.7728, 1.363, 2.215, 3.344, 4.774, 6.521, 8.587",\
                 "0.1524, 0.214, 0.4134, 0.7724, 1.361, 2.215, 3.344, 4.768, 6.514, 8.59",\
                 "0.153, 0.2146, 0.4138, 0.773, 1.36, 2.211, 3.341, 4.77, 6.512, 8.587",\
                 "0.1538, 0.2162, 0.415, 0.7742, 1.361, 2.211, 3.344, 4.775, 6.516, 8.588",\
                 "0.155, 0.217, 0.4156, 0.775, 1.361, 2.212, 3.343, 4.768, 6.514, 8.588");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.9374, 0.9921, 1.143, 1.384, 1.736, 2.224, 2.865, 3.675, 4.664, 5.844",\
                 "0.9553, 1.01, 1.161, 1.402, 1.754, 2.241, 2.883, 3.693, 4.682, 5.857",\
                 "1.021, 1.075, 1.226, 1.467, 1.819, 2.306, 2.948, 3.757, 4.748, 5.926",\
                 "1.139, 1.194, 1.345, 1.586, 1.938, 2.425, 3.067, 3.876, 4.867, 6.045",\
                 "1.292, 1.347, 1.498, 1.739, 2.09, 2.577, 3.219, 4.028, 5.019, 6.194",\
                 "1.465, 1.52, 1.671, 1.912, 2.263, 2.751, 3.392, 4.202, 5.19, 6.368",\
                 "1.657, 1.713, 1.864, 2.105, 2.456, 2.943, 3.584, 4.393, 5.383, 6.559",\
                 "1.865, 1.921, 2.072, 2.313, 2.664, 3.151, 3.791, 4.6, 5.588, 6.768",\
                 "2.086, 2.142, 2.294, 2.535, 2.886, 3.372, 4.014, 4.822, 5.808, 6.985",\
                 "2.321, 2.377, 2.528, 2.77, 3.12, 3.606, 4.247, 5.055, 6.042, 7.218");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1498, 0.2115, 0.4106, 0.7714, 1.362, 2.214, 3.344, 4.775, 6.515, 8.596",\
                 "0.1488, 0.211, 0.411, 0.7712, 1.36, 2.212, 3.342, 4.777, 6.516, 8.601",\
                 "0.15, 0.2114, 0.4108, 0.7706, 1.362, 2.212, 3.344, 4.773, 6.513, 8.591",\
                 "0.149, 0.212, 0.4112, 0.7712, 1.362, 2.212, 3.344, 4.774, 6.513, 8.589",\
                 "0.1502, 0.212, 0.4108, 0.7716, 1.36, 2.215, 3.344, 4.772, 6.514, 8.605",\
                 "0.1518, 0.2132, 0.4122, 0.7728, 1.361, 2.212, 3.346, 4.772, 6.523, 8.591",\
                 "0.1526, 0.2136, 0.4132, 0.7726, 1.36, 2.211, 3.343, 4.774, 6.515, 8.604",\
                 "0.1546, 0.217, 0.4156, 0.7742, 1.363, 2.211, 3.341, 4.773, 6.508, 8.589",\
                 "0.1572, 0.219, 0.4176, 0.7756, 1.361, 2.211, 3.343, 4.768, 6.508, 8.584",\
                 "0.1594, 0.2206, 0.4192, 0.777, 1.361, 2.211, 3.344, 4.769, 6.506, 8.58");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.9379, 0.9925, 1.143, 1.385, 1.736, 2.224, 2.866, 3.674, 4.664, 5.841",\
                 "0.9555, 1.01, 1.161, 1.402, 1.754, 2.241, 2.884, 3.693, 4.683, 5.862",\
                 "1.021, 1.076, 1.227, 1.468, 1.819, 2.307, 2.949, 3.759, 4.748, 5.924",\
                 "1.14, 1.195, 1.346, 1.587, 1.938, 2.426, 3.068, 3.878, 4.867, 6.045",\
                 "1.292, 1.347, 1.498, 1.739, 2.09, 2.577, 3.219, 4.028, 5.019, 6.197",\
                 "1.465, 1.52, 1.671, 1.912, 2.263, 2.75, 3.392, 4.202, 5.19, 6.368",\
                 "1.657, 1.713, 1.864, 2.105, 2.456, 2.943, 3.584, 4.393, 5.384, 6.562",\
                 "1.865, 1.921, 2.072, 2.313, 2.664, 3.151, 3.792, 4.6, 5.588, 6.768",\
                 "2.086, 2.142, 2.293, 2.534, 2.885, 3.372, 4.012, 4.821, 5.807, 6.984",\
                 "2.321, 2.376, 2.529, 2.77, 3.12, 3.607, 4.247, 5.055, 6.042, 7.218");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1494, 0.2112, 0.4106, 0.7716, 1.362, 2.215, 3.344, 4.768, 6.516, 8.604",\
                 "0.1487, 0.2118, 0.4104, 0.7706, 1.36, 2.212, 3.344, 4.777, 6.512, 8.59",\
                 "0.1494, 0.2114, 0.4112, 0.7708, 1.362, 2.212, 3.344, 4.777, 6.516, 8.604",\
                 "0.149, 0.211, 0.4118, 0.7708, 1.36, 2.211, 3.344, 4.777, 6.513, 8.591",\
                 "0.1498, 0.2122, 0.4114, 0.7716, 1.362, 2.212, 3.343, 4.772, 6.512, 8.591",\
                 "0.1508, 0.2132, 0.4114, 0.7724, 1.362, 2.215, 3.344, 4.777, 6.523, 8.59",\
                 "0.1526, 0.2136, 0.4134, 0.7736, 1.361, 2.212, 3.343, 4.768, 6.512, 8.591",\
                 "0.1558, 0.217, 0.4154, 0.7744, 1.361, 2.211, 3.343, 4.771, 6.509, 8.589",\
                 "0.157, 0.2188, 0.4176, 0.776, 1.361, 2.213, 3.343, 4.767, 6.516, 8.588",\
                 "0.1592, 0.2214, 0.4186, 0.7764, 1.363, 2.215, 3.344, 4.771, 6.505, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("1.198, 1.253, 1.404, 1.645, 1.996, 2.483, 3.125, 3.935, 4.92, 6.097",\
                 "1.216, 1.271, 1.422, 1.663, 2.014, 2.501, 3.143, 3.951, 4.939, 6.115",\
                 "1.282, 1.336, 1.487, 1.728, 2.079, 2.567, 3.208, 4.017, 5.004, 6.182",\
                 "1.415, 1.47, 1.62, 1.861, 2.212, 2.7, 3.342, 4.149, 5.137, 6.313",\
                 "1.618, 1.673, 1.824, 2.065, 2.416, 2.903, 3.544, 4.354, 5.342, 6.52",\
                 "1.868, 1.923, 2.074, 2.315, 2.665, 3.152, 3.794, 4.602, 5.59, 6.766",\
                 "2.152, 2.207, 2.358, 2.599, 2.949, 3.436, 4.078, 4.886, 5.873, 7.051",\
                 "2.472, 2.527, 2.678, 2.919, 3.269, 3.756, 4.396, 5.206, 6.195, 7.369",\
                 "2.822, 2.878, 3.029, 3.27, 3.62, 4.107, 4.748, 5.556, 6.542, 7.721",\
                 "3.202, 3.258, 3.409, 3.65, 4, 4.487, 5.128, 5.936, 6.922, 8.099");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005957, 0.02336, 0.05659, 0.1084, 0.181, 0.2766, 0.397, 0.544, 0.7192");
          values("0.1498, 0.2115, 0.4106, 0.7714, 1.362, 2.214, 3.344, 4.775, 6.515, 8.596",\
                 "0.1488, 0.211, 0.411, 0.7712, 1.36, 2.212, 3.342, 4.777, 6.516, 8.601",\
                 "0.15, 0.2114, 0.4108, 0.7706, 1.362, 2.212, 3.344, 4.773, 6.513, 8.591",\
                 "0.149, 0.212, 0.4112, 0.7712, 1.362, 2.212, 3.344, 4.774, 6.513, 8.589",\
                 "0.1502, 0.212, 0.4108, 0.7716, 1.36, 2.215, 3.344, 4.772, 6.514, 8.605",\
                 "0.1518, 0.2132, 0.4122, 0.7728, 1.361, 2.212, 3.346, 4.772, 6.523, 8.591",\
                 "0.1526, 0.2136, 0.4132, 0.7726, 1.36, 2.211, 3.343, 4.774, 6.515, 8.604",\
                 "0.1546, 0.217, 0.4156, 0.7742, 1.363, 2.211, 3.341, 4.773, 6.508, 8.589",\
                 "0.1572, 0.219, 0.4176, 0.7756, 1.361, 2.211, 3.343, 4.768, 6.508, 8.584",\
                 "0.1594, 0.2206, 0.4192, 0.777, 1.361, 2.211, 3.344, 4.769, 6.506, 8.58");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007531 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.86 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02353, 0.02258, 0.02231, 0.02226, 0.02226, 0.02233, 0.0223, \
                 0.02229, 0.0223, 0.02233");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02228, -0.02225, -0.02221, -0.02223, -0.02221, -0.02227, -0.02225, \
                 -0.02226, -0.02224, -0.02226");
        }
      }

      internal_power() {
        when : "!CLKN&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02345, 0.02259, 0.02232, 0.02225, 0.02232, 0.02231, 0.02232, \
                 0.02229, 0.02231, 0.02229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02228, -0.02225, -0.02221, -0.02223, -0.02222, -0.02227, -0.02226, \
                 -0.02225, -0.02224, -0.02226");
        }
      }

      internal_power() {
        when : "CLKN&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02316, 0.02256, 0.0223, 0.02227, 0.02227, 0.0223, 0.0223, 0.0223, \
                 0.02231, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02229, -0.02225, -0.02221, -0.02221, -0.02219, -0.02227, -0.02225, \
                 -0.02226, -0.02224, -0.02224");
        }
      }

      internal_power() {
        when : "CLKN&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02161, 0.02093, 0.02051, 0.02043, 0.02041, 0.02041, 0.02041, \
                 0.02041, 0.0204, 0.02039");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02004, -0.02042, -0.02103, -0.02142, -0.02159, -0.02176, -0.02183, \
                 -0.02187, -0.0219, -0.02191");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.664, -0.678, -0.753, -0.889, -1.089, -1.303, -1.558, -1.836, -2.137, -2.469",\
                 "-0.662, -0.676, -0.752, -0.893, -1.089, -1.308, -1.556, -1.837, -2.137, -2.468",\
                 "-0.653, -0.67, -0.747, -0.885, -1.077, -1.304, -1.552, -1.833, -2.133, -2.466",\
                 "-0.574, -0.592, -0.662, -0.811, -1.013, -1.236, -1.494, -1.772, -2.085, -2.419",\
                 "-0.332, -0.347, -0.426, -0.586, -0.793, -1.02, -1.291, -1.582, -1.9, -2.25",\
                 "0.071, 0.064, -0.036, -0.197, -0.434, -0.685, -0.965, -1.269, -1.612, -1.978",\
                 "0.614, 0.621, 0.502, 0.316, 0.062, -0.207, -0.509, -0.836, -1.203, -1.602",\
                 "1.317, 1.341, 1.2, 1.004, 0.694, 0.402, 0.075, -0.303, -0.692, -1.11",\
                 "2.216, 2.224, 2.067, 1.832, 1.474, 1.162, 0.777, 0.381, -0.055, -0.521",\
                 "3.272, 3.249, 3.089, 2.823, 2.429, 2.05, 1.589, 1.182, 0.701, 0.185");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : removal_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.231, 1.252, 1.316, 1.453, 1.618, 1.815, 2.047, 2.296, 2.574, 2.876",\
                 "1.229, 1.247, 1.314, 1.443, 1.622, 1.815, 2.044, 2.291, 2.569, 2.871",\
                 "1.238, 1.256, 1.322, 1.454, 1.626, 1.828, 2.05, 2.306, 2.579, 2.885",\
                 "1.283, 1.306, 1.37, 1.501, 1.673, 1.873, 2.104, 2.345, 2.627, 2.929",\
                 "1.382, 1.397, 1.462, 1.595, 1.77, 1.967, 2.189, 2.441, 2.723, 3.025",\
                 "1.535, 1.55, 1.619, 1.747, 1.924, 2.116, 2.346, 2.6, 2.875, 3.181",\
                 "1.739, 1.753, 1.826, 1.952, 2.123, 2.322, 2.551, 2.808, 3.081, 3.387",\
                 "1.988, 2.008, 2.07, 2.203, 2.379, 2.571, 2.804, 3.05, 3.332, 3.639",\
                 "2.273, 2.295, 2.359, 2.492, 2.661, 2.862, 3.087, 3.339, 3.618, 3.926",\
                 "2.591, 2.606, 2.672, 2.801, 2.975, 3.175, 3.399, 3.653, 3.928, 4.237");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.86");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D&SETN" ;

        fall_constraint(scalar) {
          values("0.854");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.471");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D&SETN" ;

        fall_constraint(scalar) {
          values("0.471");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.053, 0.1, 0.129, 0.142, 0.136, 0.107, 0.049",\
                 "-0.056, -0.04, -0.006, 0.044, 0.085, 0.117, 0.133, 0.123, 0.097, 0.041",\
                 "-0.066, -0.059, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.026",\
                 "-0.062, -0.054, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.093, 0.031",\
                 "-0.04, -0.031, 0.001, 0.053, 0.101, 0.127, 0.142, 0.138, 0.111, 0.052",\
                 "-0.002, 0.006, 0.042, 0.087, 0.136, 0.162, 0.177, 0.166, 0.135, 0.078",\
                 "0.061, 0.073, 0.106, 0.154, 0.19, 0.221, 0.234, 0.222, 0.186, 0.126",\
                 "0.159, 0.163, 0.193, 0.239, 0.277, 0.314, 0.325, 0.309, 0.273, 0.209",\
                 "0.283, 0.288, 0.316, 0.352, 0.4, 0.426, 0.44, 0.435, 0.396, 0.332",\
                 "0.436, 0.441, 0.468, 0.507, 0.55, 0.582, 0.595, 0.59, 0.551, 0.486");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.053, 0.1, 0.129, 0.142, 0.136, 0.107, 0.049",\
                 "-0.056, -0.04, -0.006, 0.044, 0.085, 0.117, 0.133, 0.123, 0.097, 0.041",\
                 "-0.066, -0.059, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.026",\
                 "-0.062, -0.054, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.093, 0.031",\
                 "-0.04, -0.031, 0.001, 0.053, 0.101, 0.127, 0.142, 0.138, 0.111, 0.052",\
                 "-0.002, 0.006, 0.042, 0.087, 0.136, 0.162, 0.177, 0.166, 0.135, 0.078",\
                 "0.061, 0.073, 0.106, 0.154, 0.19, 0.221, 0.234, 0.222, 0.186, 0.126",\
                 "0.159, 0.163, 0.193, 0.239, 0.277, 0.314, 0.325, 0.309, 0.273, 0.209",\
                 "0.283, 0.288, 0.316, 0.352, 0.4, 0.426, 0.44, 0.435, 0.396, 0.332",\
                 "0.436, 0.441, 0.468, 0.507, 0.55, 0.582, 0.595, 0.59, 0.551, 0.486");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.029, -0.019, 0.018, 0.062, 0.1, 0.14, 0.175, 0.201, 0.218, 0.221",\
                 "-0.036, -0.024, 0.011, 0.054, 0.093, 0.129, 0.167, 0.195, 0.209, 0.219",\
                 "-0.05, -0.041, -0.008, 0.039, 0.078, 0.124, 0.157, 0.187, 0.205, 0.214",\
                 "-0.071, -0.064, -0.033, 0.016, 0.058, 0.103, 0.146, 0.176, 0.198, 0.204",\
                 "-0.099, -0.093, -0.06, -0.01, 0.041, 0.083, 0.125, 0.161, 0.177, 0.189",\
                 "-0.117, -0.112, -0.079, -0.03, 0.022, 0.065, 0.11, 0.141, 0.166, 0.175",\
                 "-0.125, -0.116, -0.094, -0.046, 0.006, 0.052, 0.097, 0.134, 0.157, 0.169",\
                 "-0.119, -0.118, -0.087, -0.041, 0.009, 0.053, 0.101, 0.137, 0.165, 0.177",\
                 "-0.099, -0.089, -0.065, -0.023, 0.03, 0.075, 0.121, 0.165, 0.186, 0.197",\
                 "-0.054, -0.052, -0.026, 0.015, 0.068, 0.117, 0.167, 0.207, 0.235, 0.246");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.029, -0.019, 0.018, 0.062, 0.099, 0.14, 0.175, 0.201, 0.218, 0.221",\
                 "-0.036, -0.024, 0.011, 0.054, 0.093, 0.129, 0.167, 0.195, 0.209, 0.214",\
                 "-0.05, -0.041, -0.008, 0.039, 0.078, 0.124, 0.157, 0.187, 0.205, 0.214",\
                 "-0.071, -0.064, -0.033, 0.016, 0.058, 0.103, 0.146, 0.176, 0.198, 0.204",\
                 "-0.099, -0.093, -0.06, -0.01, 0.041, 0.083, 0.125, 0.161, 0.177, 0.189",\
                 "-0.117, -0.112, -0.079, -0.03, 0.021, 0.065, 0.11, 0.141, 0.166, 0.175",\
                 "-0.125, -0.116, -0.094, -0.046, 0.007, 0.052, 0.097, 0.134, 0.157, 0.169",\
                 "-0.125, -0.118, -0.087, -0.041, 0.009, 0.053, 0.101, 0.137, 0.165, 0.177",\
                 "-0.099, -0.089, -0.065, -0.023, 0.03, 0.075, 0.121, 0.165, 0.186, 0.197",\
                 "-0.054, -0.052, -0.026, 0.015, 0.068, 0.117, 0.167, 0.207, 0.235, 0.246");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.206, 0.197, 0.197, 0.229, 0.325, 0.493, 0.744, 1.085, 1.517, 2.029",\
                 "0.213, 0.206, 0.202, 0.235, 0.324, 0.495, 0.741, 1.071, 1.5, 2.008",\
                 "0.227, 0.225, 0.221, 0.251, 0.34, 0.508, 0.749, 1.069, 1.482, 1.98",\
                 "0.244, 0.237, 0.231, 0.261, 0.333, 0.482, 0.704, 0.994, 1.366, 1.822",\
                 "0.234, 0.232, 0.226, 0.232, 0.296, 0.417, 0.596, 0.854, 1.185, 1.587",\
                 "0.186, 0.182, 0.168, 0.176, 0.215, 0.297, 0.45, 0.668, 0.939, 1.287",\
                 "0.125, 0.115, 0.103, 0.096, 0.119, 0.19, 0.323, 0.52, 0.771, 1.088",\
                 "0.018, 0.016, 0, -0.018, -0.002, 0.048, 0.163, 0.343, 0.577, 0.869",\
                 "-0.1, -0.104, -0.117, -0.134, -0.135, -0.106, 0.003, 0.192, 0.428, 0.722",\
                 "-0.237, -0.242, -0.252, -0.271, -0.275, -0.246, -0.152, 0.049, 0.314, 0.614");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.206, 0.197, 0.197, 0.229, 0.325, 0.493, 0.744, 1.085, 1.517, 2.029",\
                 "0.213, 0.206, 0.202, 0.235, 0.324, 0.495, 0.741, 1.071, 1.5, 2.008",\
                 "0.227, 0.225, 0.221, 0.251, 0.34, 0.508, 0.749, 1.069, 1.482, 1.98",\
                 "0.244, 0.237, 0.231, 0.261, 0.333, 0.482, 0.704, 0.994, 1.366, 1.822",\
                 "0.234, 0.232, 0.226, 0.232, 0.296, 0.417, 0.596, 0.854, 1.185, 1.587",\
                 "0.186, 0.182, 0.168, 0.176, 0.215, 0.297, 0.45, 0.668, 0.939, 1.287",\
                 "0.125, 0.115, 0.103, 0.096, 0.119, 0.19, 0.323, 0.52, 0.771, 1.088",\
                 "0.018, 0.016, 0, -0.018, -0.002, 0.048, 0.163, 0.343, 0.57, 0.869",\
                 "-0.1, -0.104, -0.117, -0.134, -0.135, -0.106, 0.003, 0.192, 0.435, 0.722",\
                 "-0.237, -0.242, -0.252, -0.271, -0.275, -0.246, -0.152, 0.049, 0.314, 0.614");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.19, 0.186, 0.211, 0.288, 0.441, 0.659, 0.955, 1.334, 1.784",\
                 "0.199, 0.198, 0.19, 0.216, 0.293, 0.436, 0.656, 0.945, 1.316, 1.746",\
                 "0.216, 0.213, 0.213, 0.234, 0.305, 0.438, 0.649, 0.92, 1.259, 1.68",\
                 "0.253, 0.247, 0.242, 0.261, 0.307, 0.424, 0.604, 0.834, 1.13, 1.497",\
                 "0.278, 0.278, 0.269, 0.269, 0.296, 0.382, 0.516, 0.714, 0.958, 1.259",\
                 "0.296, 0.288, 0.277, 0.271, 0.285, 0.329, 0.436, 0.584, 0.782, 1.035",\
                 "0.302, 0.295, 0.284, 0.266, 0.268, 0.298, 0.38, 0.511, 0.688, 0.909",\
                 "0.29, 0.284, 0.267, 0.249, 0.242, 0.258, 0.329, 0.441, 0.604, 0.813",\
                 "0.266, 0.265, 0.247, 0.224, 0.215, 0.224, 0.287, 0.401, 0.575, 0.803",\
                 "0.226, 0.224, 0.209, 0.182, 0.165, 0.175, 0.233, 0.36, 0.539, 0.778");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.19, 0.181, 0.211, 0.288, 0.435, 0.659, 0.955, 1.334, 1.779",\
                 "0.199, 0.198, 0.19, 0.216, 0.293, 0.436, 0.656, 0.945, 1.316, 1.756",\
                 "0.216, 0.213, 0.213, 0.234, 0.305, 0.438, 0.649, 0.92, 1.259, 1.685",\
                 "0.253, 0.247, 0.242, 0.253, 0.307, 0.424, 0.604, 0.834, 1.139, 1.497",\
                 "0.278, 0.278, 0.269, 0.269, 0.296, 0.382, 0.516, 0.706, 0.958, 1.259",\
                 "0.296, 0.288, 0.277, 0.271, 0.276, 0.329, 0.429, 0.584, 0.782, 1.035",\
                 "0.302, 0.295, 0.284, 0.266, 0.268, 0.298, 0.38, 0.511, 0.688, 0.916",\
                 "0.29, 0.284, 0.267, 0.249, 0.242, 0.258, 0.329, 0.435, 0.604, 0.813",\
                 "0.266, 0.265, 0.247, 0.224, 0.215, 0.224, 0.287, 0.401, 0.568, 0.794",\
                 "0.221, 0.219, 0.209, 0.182, 0.166, 0.175, 0.233, 0.352, 0.539, 0.778");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.00637 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.77 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1706, 0.1701, 0.1714, 0.1789, 0.195, 0.221, 0.2577, 0.3062, \
                 0.3671, 0.441");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0529, 0.0522, 0.05297, 0.05911, 0.07275, 0.09513, 0.1272, 0.1699, \
                 0.2236, 0.2892");
        }
      }

      internal_power() {
        when : "!CLKN&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02095, 0.02087, 0.02085, 0.02082, 0.02087, 0.02082, 0.02089, \
                 0.02087, 0.02088, 0.02085");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01435, -0.01433, -0.01432, -0.01432, -0.01435, -0.01441, -0.01442, \
                 -0.01443, -0.01443, -0.01445");
        }
      }

      internal_power() {
        when : "!CLKN&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1706, 0.1701, 0.1714, 0.1789, 0.195, 0.221, 0.2577, 0.3062, \
                 0.3671, 0.441");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0529, 0.0522, 0.05297, 0.05911, 0.07275, 0.09513, 0.1272, 0.1699, \
                 0.2236, 0.2892");
        }
      }

      internal_power() {
        when : "!CLKN&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02096, 0.02087, 0.02083, 0.02085, 0.02087, 0.02084, 0.02089, \
                 0.02086, 0.02088, 0.02087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01435, -0.01433, -0.01432, -0.01432, -0.01435, -0.01441, -0.01442, \
                 -0.01443, -0.01443, -0.01446");
        }
      }

      internal_power() {
        when : "CLKN&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.164, 0.1636, 0.1647, 0.1715, 0.1867, 0.212, 0.2485, 0.2969, \
                 0.3578, 0.4317");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.054, 0.05339, 0.0541, 0.05981, 0.07279, 0.09449, 0.1263, 0.1687, \
                 0.2225, 0.288");
        }
      }

      internal_power() {
        when : "CLKN&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07941, 0.07906, 0.07931, 0.08249, 0.08954, 0.1012, 0.1179, 0.1398, \
                 0.1674, 0.2008");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007646, 0.00748, 0.007798, 0.01018, 0.01585, 0.02548, 0.03966, \
                 0.05852, 0.08234, 0.1113");
        }
      }

      internal_power() {
        when : "CLKN&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1075, 0.1073, 0.1081, 0.1118, 0.1198, 0.1334, 0.1532, 0.1796, \
                 0.2129, 0.2533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03034, 0.02993, 0.03035, 0.0336, 0.0408, 0.05279, 0.07034, 0.09382, \
                 0.1237, 0.1602");
        }
      }

      internal_power() {
        when : "CLKN&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02092, 0.02087, 0.02085, 0.02083, 0.02086, 0.02088, 0.02089, \
                 0.02085, 0.02088, 0.02087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01435, -0.01433, -0.01431, -0.01434, -0.01435, -0.01441, -0.01441, \
                 -0.01443, -0.01442, -0.01446");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.183, 0.163, 0.09, -0.035, -0.188, -0.359, -0.563, -0.78, -1.022, -1.308",\
                 "0.192, 0.174, 0.101, -0.025, -0.178, -0.348, -0.553, -0.774, -1.013, -1.294",\
                 "0.232, 0.213, 0.142, 0.013, -0.138, -0.309, -0.51, -0.733, -0.975, -1.254",\
                 "0.308, 0.295, 0.219, 0.092, -0.057, -0.234, -0.435, -0.649, -0.897, -1.177",\
                 "0.427, 0.409, 0.339, 0.201, 0.047, -0.126, -0.33, -0.546, -0.792, -1.083",\
                 "0.601, 0.589, 0.507, 0.374, 0.206, 0.022, -0.184, -0.41, -0.664, -0.95",\
                 "0.884, 0.87, 0.773, 0.615, 0.422, 0.224, 0.008, -0.241, -0.488, -0.789",\
                 "1.376, 1.371, 1.231, 1.024, 0.783, 0.545, 0.28, 0.012, -0.246, -0.559",\
                 "2.033, 2.032, 1.885, 1.614, 1.332, 1.031, 0.712, 0.435, 0.14, -0.188",\
                 "2.845, 2.814, 2.633, 2.353, 2.012, 1.675, 1.325, 0.99, 0.665, 0.277");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : removal_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.263, 0.281, 0.345, 0.471, 0.635, 0.825, 1.035, 1.27, 1.531, 1.809",\
                 "0.251, 0.27, 0.337, 0.469, 0.626, 0.813, 1.024, 1.258, 1.518, 1.802",\
                 "0.219, 0.231, 0.299, 0.428, 0.591, 0.775, 0.991, 1.224, 1.488, 1.769",\
                 "0.174, 0.187, 0.251, 0.383, 0.544, 0.732, 0.945, 1.184, 1.439, 1.726",\
                 "0.132, 0.146, 0.21, 0.339, 0.504, 0.696, 0.903, 1.146, 1.408, 1.691",\
                 "0.096, 0.112, 0.183, 0.307, 0.469, 0.659, 0.877, 1.117, 1.376, 1.662",\
                 "0.078, 0.09, 0.16, 0.284, 0.453, 0.638, 0.856, 1.1, 1.356, 1.646",\
                 "0.07, 0.085, 0.156, 0.279, 0.447, 0.643, 0.852, 1.099, 1.36, 1.653",\
                 "0.084, 0.103, 0.167, 0.291, 0.466, 0.656, 0.877, 1.117, 1.385, 1.674",\
                 "0.113, 0.132, 0.199, 0.328, 0.497, 0.692, 0.916, 1.164, 1.433, 1.725");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.206, 0.213, 0.227, 0.244, 0.234, 0.186, 0.125, 0.018, -0.1, -0.237",\
                 "0.197, 0.206, 0.225, 0.237, 0.232, 0.182, 0.115, 0.016, -0.104, -0.242",\
                 "0.197, 0.202, 0.221, 0.231, 0.226, 0.168, 0.103, -0, -0.117, -0.252",\
                 "0.229, 0.235, 0.251, 0.261, 0.232, 0.176, 0.096, -0.018, -0.134, -0.271",\
                 "0.325, 0.324, 0.34, 0.333, 0.296, 0.215, 0.119, -0.002, -0.135, -0.275",\
                 "0.493, 0.495, 0.508, 0.482, 0.417, 0.297, 0.19, 0.048, -0.106, -0.246",\
                 "0.744, 0.741, 0.749, 0.704, 0.596, 0.45, 0.323, 0.163, 0.003, -0.152",\
                 "1.085, 1.071, 1.069, 0.994, 0.854, 0.668, 0.52, 0.343, 0.192, 0.049",\
                 "1.517, 1.5, 1.482, 1.366, 1.185, 0.939, 0.771, 0.577, 0.428, 0.314",\
                 "2.029, 2.008, 1.98, 1.822, 1.587, 1.287, 1.088, 0.869, 0.722, 0.614");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.206, 0.213, 0.227, 0.244, 0.234, 0.186, 0.125, 0.018, -0.1, -0.237",\
                 "0.197, 0.206, 0.225, 0.237, 0.232, 0.182, 0.115, 0.016, -0.104, -0.242",\
                 "0.197, 0.202, 0.221, 0.231, 0.226, 0.168, 0.103, -0, -0.117, -0.252",\
                 "0.229, 0.235, 0.251, 0.261, 0.232, 0.176, 0.096, -0.018, -0.134, -0.271",\
                 "0.325, 0.324, 0.34, 0.333, 0.296, 0.215, 0.119, -0.002, -0.135, -0.275",\
                 "0.493, 0.495, 0.508, 0.482, 0.417, 0.297, 0.19, 0.048, -0.106, -0.246",\
                 "0.744, 0.741, 0.749, 0.704, 0.596, 0.45, 0.323, 0.163, 0.003, -0.152",\
                 "1.085, 1.071, 1.069, 0.994, 0.854, 0.668, 0.52, 0.343, 0.192, 0.049",\
                 "1.517, 1.5, 1.482, 1.366, 1.185, 0.939, 0.771, 0.57, 0.435, 0.314",\
                 "2.029, 2.008, 1.98, 1.822, 1.587, 1.287, 1.088, 0.869, 0.722, 0.614");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.199, 0.216, 0.253, 0.278, 0.296, 0.302, 0.29, 0.266, 0.226",\
                 "0.19, 0.198, 0.213, 0.247, 0.278, 0.288, 0.295, 0.284, 0.265, 0.224",\
                 "0.186, 0.19, 0.213, 0.242, 0.269, 0.277, 0.284, 0.267, 0.247, 0.209",\
                 "0.211, 0.216, 0.234, 0.261, 0.269, 0.271, 0.266, 0.249, 0.224, 0.182",\
                 "0.288, 0.293, 0.305, 0.307, 0.296, 0.285, 0.268, 0.242, 0.215, 0.165",\
                 "0.441, 0.436, 0.438, 0.424, 0.382, 0.329, 0.298, 0.258, 0.224, 0.175",\
                 "0.659, 0.656, 0.649, 0.604, 0.516, 0.436, 0.38, 0.329, 0.287, 0.233",\
                 "0.955, 0.945, 0.92, 0.834, 0.714, 0.584, 0.511, 0.441, 0.401, 0.36",\
                 "1.334, 1.316, 1.259, 1.13, 0.958, 0.782, 0.688, 0.604, 0.575, 0.539",\
                 "1.784, 1.746, 1.68, 1.497, 1.259, 1.035, 0.909, 0.813, 0.803, 0.778");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.199, 0.216, 0.253, 0.278, 0.296, 0.302, 0.29, 0.266, 0.221",\
                 "0.19, 0.198, 0.213, 0.247, 0.278, 0.288, 0.295, 0.284, 0.265, 0.219",\
                 "0.181, 0.19, 0.213, 0.242, 0.269, 0.277, 0.284, 0.267, 0.247, 0.209",\
                 "0.211, 0.216, 0.234, 0.253, 0.269, 0.271, 0.266, 0.249, 0.224, 0.182",\
                 "0.288, 0.293, 0.305, 0.307, 0.296, 0.276, 0.268, 0.242, 0.215, 0.166",\
                 "0.435, 0.436, 0.438, 0.424, 0.382, 0.329, 0.298, 0.258, 0.224, 0.175",\
                 "0.659, 0.656, 0.649, 0.604, 0.516, 0.429, 0.38, 0.329, 0.287, 0.233",\
                 "0.955, 0.945, 0.92, 0.834, 0.706, 0.584, 0.511, 0.435, 0.401, 0.352",\
                 "1.334, 1.316, 1.259, 1.139, 0.958, 0.782, 0.688, 0.604, 0.568, 0.539",\
                 "1.779, 1.756, 1.685, 1.497, 1.259, 1.035, 0.916, 0.813, 0.794, 0.778");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.056, -0.066, -0.062, -0.04, -0.002, 0.061, 0.159, 0.283, 0.436",\
                 "-0.033, -0.04, -0.059, -0.054, -0.031, 0.006, 0.073, 0.163, 0.288, 0.441",\
                 "0.002, -0.006, -0.016, -0.016, 0.001, 0.042, 0.106, 0.193, 0.316, 0.468",\
                 "0.053, 0.044, 0.034, 0.039, 0.053, 0.087, 0.154, 0.239, 0.352, 0.507",\
                 "0.1, 0.085, 0.078, 0.079, 0.101, 0.136, 0.19, 0.277, 0.4, 0.55",\
                 "0.129, 0.117, 0.105, 0.11, 0.127, 0.162, 0.221, 0.314, 0.426, 0.582",\
                 "0.142, 0.133, 0.121, 0.126, 0.142, 0.177, 0.234, 0.325, 0.44, 0.595",\
                 "0.136, 0.123, 0.112, 0.122, 0.138, 0.166, 0.222, 0.309, 0.435, 0.59",\
                 "0.107, 0.097, 0.089, 0.093, 0.111, 0.135, 0.186, 0.273, 0.396, 0.551",\
                 "0.049, 0.041, 0.026, 0.031, 0.052, 0.078, 0.126, 0.209, 0.332, 0.486");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.056, -0.066, -0.062, -0.04, -0.002, 0.061, 0.159, 0.283, 0.436",\
                 "-0.033, -0.04, -0.059, -0.054, -0.031, 0.006, 0.073, 0.163, 0.288, 0.441",\
                 "0.002, -0.006, -0.016, -0.016, 0.001, 0.042, 0.106, 0.193, 0.316, 0.468",\
                 "0.053, 0.044, 0.034, 0.039, 0.053, 0.087, 0.154, 0.239, 0.352, 0.507",\
                 "0.1, 0.085, 0.078, 0.079, 0.101, 0.136, 0.19, 0.277, 0.4, 0.55",\
                 "0.129, 0.117, 0.105, 0.11, 0.127, 0.162, 0.221, 0.314, 0.426, 0.582",\
                 "0.142, 0.133, 0.121, 0.126, 0.142, 0.177, 0.234, 0.325, 0.44, 0.595",\
                 "0.136, 0.123, 0.112, 0.122, 0.138, 0.166, 0.222, 0.309, 0.435, 0.59",\
                 "0.107, 0.097, 0.089, 0.093, 0.111, 0.135, 0.186, 0.273, 0.396, 0.551",\
                 "0.049, 0.041, 0.026, 0.031, 0.052, 0.078, 0.126, 0.209, 0.332, 0.486");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.029, -0.036, -0.05, -0.071, -0.099, -0.117, -0.125, -0.119, -0.099, -0.054",\
                 "-0.019, -0.024, -0.041, -0.064, -0.093, -0.112, -0.116, -0.118, -0.089, -0.052",\
                 "0.018, 0.011, -0.008, -0.033, -0.06, -0.079, -0.094, -0.087, -0.065, -0.026",\
                 "0.062, 0.054, 0.039, 0.016, -0.01, -0.03, -0.046, -0.041, -0.023, 0.015",\
                 "0.1, 0.093, 0.078, 0.058, 0.041, 0.022, 0.006, 0.009, 0.03, 0.068",\
                 "0.14, 0.129, 0.124, 0.103, 0.083, 0.065, 0.052, 0.053, 0.075, 0.117",\
                 "0.175, 0.167, 0.157, 0.146, 0.125, 0.11, 0.097, 0.101, 0.121, 0.167",\
                 "0.201, 0.195, 0.187, 0.176, 0.161, 0.141, 0.134, 0.137, 0.165, 0.207",\
                 "0.218, 0.209, 0.205, 0.198, 0.177, 0.166, 0.157, 0.165, 0.186, 0.235",\
                 "0.221, 0.219, 0.214, 0.204, 0.189, 0.175, 0.169, 0.177, 0.197, 0.246");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.029, -0.036, -0.05, -0.071, -0.099, -0.117, -0.125, -0.125, -0.099, -0.054",\
                 "-0.019, -0.024, -0.041, -0.064, -0.093, -0.112, -0.116, -0.118, -0.089, -0.052",\
                 "0.018, 0.011, -0.008, -0.033, -0.06, -0.079, -0.094, -0.087, -0.065, -0.026",\
                 "0.062, 0.054, 0.039, 0.016, -0.01, -0.03, -0.046, -0.041, -0.023, 0.015",\
                 "0.099, 0.093, 0.078, 0.058, 0.041, 0.021, 0.007, 0.009, 0.03, 0.068",\
                 "0.14, 0.129, 0.124, 0.103, 0.083, 0.065, 0.052, 0.053, 0.075, 0.117",\
                 "0.175, 0.167, 0.157, 0.146, 0.125, 0.11, 0.097, 0.101, 0.121, 0.167",\
                 "0.201, 0.195, 0.187, 0.176, 0.161, 0.141, 0.134, 0.137, 0.165, 0.207",\
                 "0.218, 0.209, 0.205, 0.198, 0.177, 0.166, 0.157, 0.165, 0.186, 0.235",\
                 "0.221, 0.214, 0.214, 0.204, 0.189, 0.175, 0.169, 0.177, 0.197, 0.246");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D&RN" ;

        fall_constraint(scalar) {
          values("0.77");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D&RN" ;

        fall_constraint(scalar) {
          values("0.77");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D&RN" ;

        fall_constraint(scalar) {
          values("0.639");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D&RN" ;

        fall_constraint(scalar) {
          values("0.639");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnrsnq_4) {
    area : 107.564800 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : L ;
      clear_preset_var2 : H ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!RN&!SETN" ;
      value : "0.0002646468" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!RN&SETN" ;
      value : "0.0002534004" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&RN&!SETN" ;
      value : "0.0002458995" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&RN&SETN" ;
      value : "0.0002741013" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!RN&!SETN" ;
      value : "0.0002654949" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!RN&SETN" ;
      value : "0.0002542518" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&RN&!SETN" ;
      value : "0.0002452329" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&RN&SETN" ;
      value : "0.000379863" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!RN&!SETN" ;
      value : "0.0002314422" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!RN&SETN" ;
      value : "0.0002367189" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&RN&!SETN" ;
      value : "0.0002238753" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&RN&SETN" ;
      value : "0.0003186381" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!RN&!SETN" ;
      value : "0.0002304357" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!RN&SETN" ;
      value : "0.0002428998" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&RN&!SETN" ;
      value : "0.000222453" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&RN&SETN" ;
      value : "0.0003144405" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000379863" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003356 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.111 ;
      min_pulse_width_high : 1.063 ;
      min_pulse_width_low : 1.059 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1631, 0.1628, 0.1633, 0.1683, 0.1796, 0.1976, 0.2232, 0.2568, \
                 0.2989, 0.3499");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.106, 0.1058, 0.1061, 0.1105, 0.1197, 0.1353, 0.1578, 0.1875, \
                 0.2247, 0.2697");
        }
      }

      internal_power() {
        when : "!D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1512, 0.1509, 0.1515, 0.1566, 0.1679, 0.1859, 0.2116, 0.2452, \
                 0.2875, 0.3384");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1052, 0.105, 0.1053, 0.1096, 0.1188, 0.1343, 0.1568, 0.1863, \
                 0.2234, 0.2685");
        }
      }

      internal_power() {
        when : "!D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1779, 0.1776, 0.1781, 0.1834, 0.1954, 0.2143, 0.2412, 0.2764, \
                 0.3203, 0.3734");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1548, 0.1546, 0.1548, 0.1593, 0.169, 0.1853, 0.2087, 0.2395, \
                 0.2781, 0.3248");
        }
      }

      internal_power() {
        when : "!D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1513, 0.1509, 0.1515, 0.1566, 0.1679, 0.1859, 0.2115, 0.2453, \
                 0.2874, 0.3385");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.1049, 0.1053, 0.1096, 0.1188, 0.1343, 0.1567, 0.1864, \
                 0.2234, 0.2684");
        }
      }

      internal_power() {
        when : "D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2153, 0.2149, 0.2155, 0.2205, 0.2317, 0.2498, 0.2753, 0.309, \
                 0.3513, 0.4023");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1334, 0.1338, 0.1385, 0.1484, 0.1648, 0.1882, 0.2188, \
                 0.2573, 0.3036");
        }
      }

      internal_power() {
        when : "D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.3185, 0.3181, 0.3187, 0.3244, 0.3369, 0.3563, 0.3836, 0.4191, \
                 0.4633, 0.5165");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1996, 0.1993, 0.1996, 0.2043, 0.2144, 0.2306, 0.254, 0.2847, \
                 0.3232, 0.3695");
        }
      }

      internal_power() {
        when : "D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1572, 0.1569, 0.1574, 0.1625, 0.1738, 0.1918, 0.2175, 0.2511, \
                 0.2933, 0.3443");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1071, 0.1068, 0.1072, 0.1115, 0.1206, 0.1362, 0.1585, 0.1881, \
                 0.2252, 0.2703");
        }
      }

      internal_power() {
        when : "D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1572, 0.1568, 0.1574, 0.1625, 0.1738, 0.1918, 0.2175, 0.2512, \
                 0.2934, 0.3443");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.107, 0.1068, 0.1072, 0.1114, 0.1206, 0.1361, 0.1585, 0.1881, \
                 0.2253, 0.2702");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.797");
        }

        rise_constraint(scalar) {
          values("1.063");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SETN" ;

        fall_constraint(scalar) {
          values("1.059");
        }

        rise_constraint(scalar) {
          values("0.551");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SETN" ;

        fall_constraint(scalar) {
          values("2.081");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SETN" ;

        fall_constraint(scalar) {
          values("2.111");
        }
      }
    }

    pin(D) {
      capacitance : 0.002409 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02312, 0.02251, 0.02406, 0.02879, 0.03724, 0.04976, 0.06674, \
                 0.08846, 0.1152, 0.1474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002546, 0.002415, 0.003317, 0.006877, 0.01371, 0.02409, 0.03833, \
                 0.0566, 0.07917, 0.1063");
        }
      }

      internal_power() {
        when : "!CLKN&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02311, 0.02251, 0.02405, 0.02879, 0.03724, 0.04976, 0.06675, \
                 0.08849, 0.1152, 0.1474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002543, 0.002416, 0.003319, 0.006878, 0.01371, 0.02409, 0.03833, \
                 0.05661, 0.07918, 0.1063");
        }
      }

      internal_power() {
        when : "!CLKN&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02311, 0.02251, 0.02405, 0.02879, 0.03724, 0.04976, 0.06674, \
                 0.08849, 0.1152, 0.1474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002547, 0.002416, 0.003318, 0.006878, 0.01371, 0.02409, 0.03833, \
                 0.05661, 0.07917, 0.1063");
        }
      }

      internal_power() {
        when : "!CLKN&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02311, 0.02251, 0.02405, 0.02881, 0.03724, 0.04976, 0.06674, \
                 0.08847, 0.1153, 0.1473");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002542, 0.002407, 0.003323, 0.006862, 0.01372, 0.0241, 0.03833, \
                 0.0566, 0.07921, 0.1063");
        }
      }

      internal_power() {
        when : "CLKN&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07309, 0.07276, 0.07347, 0.07667, 0.08327, 0.0938, 0.1087, 0.1285, \
                 0.1533, 0.1837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02439, 0.0243, 0.02511, 0.02788, 0.03325, 0.04182, 0.0541, 0.07045, \
                 0.09122, 0.1167");
        }
      }

      internal_power() {
        when : "CLKN&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1056, 0.1053, 0.106, 0.1094, 0.1175, 0.13, 0.1475, 0.1704, 0.1991, \
                 0.2339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09091, 0.09077, 0.09157, 0.09485, 0.101, 0.111, 0.1252, 0.1439, \
                 0.1675, 0.1964");
        }
      }

      internal_power() {
        when : "CLKN&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07309, 0.07276, 0.07347, 0.07666, 0.08327, 0.09378, 0.1087, \
                 0.1284, 0.1533, 0.1837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0244, 0.0243, 0.02511, 0.02788, 0.03325, 0.04182, 0.0541, 0.07045, \
                 0.09122, 0.1167");
        }
      }

      internal_power() {
        when : "CLKN&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1037, 0.1034, 0.1041, 0.1076, 0.1157, 0.1282, 0.1456, 0.1685, \
                 0.1973, 0.2321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09288, 0.09282, 0.09357, 0.09681, 0.1029, 0.1129, 0.1271, 0.1458, \
                 0.1694, 0.1983");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.074, -0.067, -0.009, 0.099, 0.204, 0.319, 0.47, 0.631, 0.831, 1.059",\
                 "-0.09, -0.08, -0.024, 0.073, 0.186, 0.306, 0.45, 0.612, 0.819, 1.042",\
                 "-0.162, -0.148, -0.094, 0.01, 0.122, 0.239, 0.384, 0.546, 0.743, 0.97",\
                 "-0.298, -0.286, -0.23, -0.13, -0.021, 0.096, 0.246, 0.409, 0.609, 0.831",\
                 "-0.494, -0.479, -0.425, -0.327, -0.215, -0.101, 0.039, 0.205, 0.405, 0.624",\
                 "-0.733, -0.719, -0.666, -0.571, -0.46, -0.345, -0.207, -0.045, 0.145, 0.369",\
                 "-1.027, -1.016, -0.963, -0.854, -0.76, -0.642, -0.501, -0.344, -0.163, 0.054",\
                 "-1.369, -1.36, -1.305, -1.21, -1.108, -0.991, -0.856, -0.704, -0.523, -0.31",\
                 "-1.763, -1.759, -1.702, -1.614, -1.522, -1.403, -1.268, -1.117, -0.934, -0.731",\
                 "-2.22, -2.211, -2.16, -2.067, -1.976, -1.868, -1.738, -1.588, -1.404, -1.207");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.275, 0.295, 0.356, 0.49, 0.65, 0.842, 1.061, 1.299, 1.571, 1.861",\
                 "0.265, 0.278, 0.343, 0.469, 0.641, 0.83, 1.05, 1.288, 1.558, 1.849",\
                 "0.229, 0.243, 0.307, 0.439, 0.608, 0.794, 1.009, 1.255, 1.521, 1.818",\
                 "0.211, 0.225, 0.292, 0.422, 0.586, 0.776, 0.995, 1.238, 1.5, 1.794",\
                 "0.221, 0.239, 0.296, 0.423, 0.592, 0.784, 0.994, 1.242, 1.512, 1.798",\
                 "0.263, 0.277, 0.342, 0.468, 0.636, 0.82, 1.039, 1.277, 1.544, 1.836",\
                 "0.356, 0.364, 0.432, 0.554, 0.716, 0.908, 1.122, 1.363, 1.628, 1.917",\
                 "0.489, 0.503, 0.566, 0.687, 0.846, 1.039, 1.252, 1.488, 1.752, 2.044",\
                 "0.689, 0.697, 0.763, 0.877, 1.034, 1.217, 1.427, 1.664, 1.929, 2.215",\
                 "0.941, 0.949, 1.009, 1.122, 1.277, 1.462, 1.658, 1.898, 2.163, 2.446");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.773, 0.757, 0.68, 0.547, 0.4, 0.228, 0.036, -0.166, -0.386, -0.637",\
                 "0.787, 0.778, 0.693, 0.563, 0.417, 0.242, 0.056, -0.147, -0.37, -0.618",\
                 "0.86, 0.84, 0.764, 0.634, 0.488, 0.31, 0.124, -0.081, -0.296, -0.551",\
                 "0.999, 0.99, 0.903, 0.774, 0.624, 0.453, 0.274, 0.065, -0.154, -0.405",\
                 "1.216, 1.197, 1.122, 0.992, 0.841, 0.671, 0.481, 0.277, 0.058, -0.194",\
                 "1.487, 1.467, 1.387, 1.266, 1.108, 0.939, 0.753, 0.542, 0.321, 0.072",\
                 "1.811, 1.787, 1.715, 1.584, 1.434, 1.261, 1.074, 0.872, 0.647, 0.395",\
                 "2.196, 2.177, 2.101, 1.972, 1.819, 1.648, 1.461, 1.253, 1.03, 0.781",\
                 "2.646, 2.626, 2.555, 2.426, 2.269, 2.099, 1.906, 1.705, 1.478, 1.226",\
                 "3.161, 3.144, 3.062, 2.935, 2.781, 2.612, 2.423, 2.219, 1.998, 1.74");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.155, 0.135, 0.074, -0.062, -0.233, -0.434, -0.664, -0.921, -1.197, -1.511",\
                 "0.172, 0.15, 0.083, -0.045, -0.216, -0.424, -0.647, -0.906, -1.189, -1.493",\
                 "0.206, 0.189, 0.126, -0.004, -0.173, -0.379, -0.61, -0.864, -1.148, -1.458",\
                 "0.262, 0.247, 0.173, 0.039, -0.131, -0.329, -0.555, -0.816, -1.098, -1.412",\
                 "0.293, 0.278, 0.208, 0.074, -0.1, -0.293, -0.525, -0.789, -1.067, -1.38",\
                 "0.296, 0.282, 0.213, 0.081, -0.092, -0.291, -0.52, -0.78, -1.062, -1.377",\
                 "0.268, 0.253, 0.185, 0.046, -0.127, -0.328, -0.557, -0.807, -1.096, -1.403",\
                 "0.195, 0.177, 0.106, -0.025, -0.202, -0.398, -0.628, -0.887, -1.171, -1.477",\
                 "0.075, 0.056, -0.01, -0.143, -0.315, -0.52, -0.753, -1.01, -1.292, -1.602",\
                 "-0.097, -0.116, -0.183, -0.316, -0.49, -0.692, -0.916, -1.18, -1.46, -1.775");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.43 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.3261, 0.3094, 0.2832, 0.2698, 0.2626, 0.2583, 0.2558, 0.2542, 0.2531, 0.2523",\
                 "0.3261, 0.3094, 0.2833, 0.2699, 0.2625, 0.2584, 0.2559, 0.2542, 0.2531, 0.2524",\
                 "0.326, 0.3092, 0.2832, 0.2697, 0.2625, 0.2583, 0.2558, 0.2541, 0.253, 0.2522",\
                 "0.3263, 0.3095, 0.2835, 0.27, 0.2628, 0.2586, 0.2561, 0.2544, 0.2533, 0.2526",\
                 "0.3273, 0.3104, 0.2844, 0.2709, 0.2637, 0.2595, 0.257, 0.2554, 0.2542, 0.2535",\
                 "0.3286, 0.312, 0.2857, 0.2723, 0.265, 0.2608, 0.2583, 0.2566, 0.2555, 0.2547",\
                 "0.3305, 0.3136, 0.2876, 0.274, 0.2667, 0.2626, 0.26, 0.2584, 0.2573, 0.2565",\
                 "0.3329, 0.316, 0.2897, 0.2761, 0.2689, 0.2647, 0.2622, 0.2605, 0.2594, 0.2586",\
                 "0.3358, 0.3189, 0.2927, 0.2788, 0.2716, 0.2674, 0.2648, 0.2632, 0.2621, 0.2612",\
                 "0.339, 0.3222, 0.2956, 0.282, 0.2746, 0.2704, 0.2678, 0.2661, 0.265, 0.2642");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4122, 0.3891, 0.3578, 0.3398, 0.3285, 0.3228, 0.3207, 0.3218, 0.3243, 0.3399",\
                 "0.4122, 0.3894, 0.3574, 0.3398, 0.3285, 0.3229, 0.3208, 0.3211, 0.323, 0.3406",\
                 "0.4122, 0.3894, 0.3574, 0.3388, 0.3278, 0.3233, 0.3205, 0.3212, 0.3234, 0.3415",\
                 "0.4129, 0.3899, 0.3581, 0.3396, 0.3296, 0.3242, 0.3217, 0.3218, 0.3223, 0.3457",\
                 "0.4146, 0.3913, 0.3598, 0.3418, 0.3309, 0.3257, 0.3226, 0.3223, 0.325, 0.3523",\
                 "0.4165, 0.3935, 0.3621, 0.3433, 0.3324, 0.3268, 0.3257, 0.3249, 0.3265, 0.3617",\
                 "0.4184, 0.3956, 0.3639, 0.3458, 0.3347, 0.3292, 0.3268, 0.328, 0.3308, 0.3823",\
                 "0.421, 0.3979, 0.3669, 0.3475, 0.3378, 0.3325, 0.3291, 0.3293, 0.3358, 0.4087",\
                 "0.4233, 0.4003, 0.3692, 0.3502, 0.3389, 0.3352, 0.3337, 0.3334, 0.3453, 0.4555",\
                 "0.4261, 0.4033, 0.372, 0.353, 0.3408, 0.3354, 0.3359, 0.3384, 0.3618, 0.5543");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.365, 0.35, 0.3282, 0.3171, 0.3109, 0.3075, 0.3054, 0.304, 0.3031, 0.3024",\
                 "0.3642, 0.3493, 0.3275, 0.3163, 0.3102, 0.3068, 0.3046, 0.3032, 0.3023, 0.3017",\
                 "0.364, 0.3491, 0.3271, 0.3159, 0.3099, 0.3065, 0.3044, 0.303, 0.3021, 0.3015",\
                 "0.3711, 0.3559, 0.3327, 0.3202, 0.3137, 0.3101, 0.3079, 0.3065, 0.3056, 0.3051",\
                 "0.4063, 0.3886, 0.3591, 0.3416, 0.3317, 0.3259, 0.3224, 0.3202, 0.3188, 0.3177",\
                 "0.4629, 0.4422, 0.4047, 0.3797, 0.3651, 0.3561, 0.3507, 0.3471, 0.3447, 0.343",\
                 "0.5385, 0.5154, 0.4697, 0.4367, 0.416, 0.4032, 0.3949, 0.3894, 0.3857, 0.3831",\
                 "0.6344, 0.6092, 0.5555, 0.5134, 0.486, 0.468, 0.4563, 0.4484, 0.4428, 0.4389",\
                 "0.7494, 0.7224, 0.662, 0.6097, 0.5746, 0.5509, 0.5348, 0.5239, 0.5162, 0.5107",\
                 "0.8833, 0.8547, 0.788, 0.7254, 0.6822, 0.6522, 0.6313, 0.6168, 0.6065, 0.599");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.2957, 0.2745, 0.2462, 0.2285, 0.219, 0.2141, 0.2127, 0.214, 0.2142, 0.2285",\
                 "0.2948, 0.2735, 0.2455, 0.227, 0.218, 0.2135, 0.212, 0.2121, 0.2139, 0.2278",\
                 "0.2937, 0.2726, 0.244, 0.226, 0.2168, 0.2122, 0.2104, 0.2117, 0.2125, 0.2267",\
                 "0.2968, 0.2755, 0.247, 0.2292, 0.2187, 0.2145, 0.2127, 0.2131, 0.2149, 0.2338",\
                 "0.3172, 0.2952, 0.2649, 0.2448, 0.2327, 0.2267, 0.2242, 0.2239, 0.2255, 0.246",\
                 "0.3552, 0.3312, 0.297, 0.2751, 0.2605, 0.2518, 0.248, 0.2464, 0.2483, 0.2703",\
                 "0.4098, 0.384, 0.3452, 0.3181, 0.3015, 0.292, 0.2846, 0.2816, 0.2817, 0.312",\
                 "0.4842, 0.4566, 0.4122, 0.3812, 0.3586, 0.3461, 0.3378, 0.3334, 0.3324, 0.3716",\
                 "0.5766, 0.5472, 0.4965, 0.4598, 0.4319, 0.4135, 0.4057, 0.4, 0.4021, 0.4556",\
                 "0.6864, 0.6549, 0.5967, 0.5554, 0.523, 0.4986, 0.4839, 0.4791, 0.485, 0.5762");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4302, 0.4146, 0.3909, 0.3793, 0.373, 0.3692, 0.3669, 0.3654, 0.3644, 0.3638",\
                 "0.4304, 0.4147, 0.3912, 0.3794, 0.3732, 0.3695, 0.3671, 0.3656, 0.3646, 0.364",\
                 "0.4307, 0.4148, 0.3912, 0.3794, 0.3732, 0.3696, 0.3673, 0.3658, 0.3648, 0.3642",\
                 "0.4386, 0.4226, 0.3976, 0.3848, 0.3779, 0.374, 0.3717, 0.3702, 0.3692, 0.3685",\
                 "0.4779, 0.4592, 0.4279, 0.4095, 0.3991, 0.3931, 0.3895, 0.3872, 0.3857, 0.3846",\
                 "0.5411, 0.5194, 0.4792, 0.4531, 0.4378, 0.4285, 0.4227, 0.4188, 0.4163, 0.4145",\
                 "0.6236, 0.5996, 0.5508, 0.516, 0.4946, 0.4812, 0.4724, 0.4667, 0.4628, 0.46",\
                 "0.7236, 0.6973, 0.6407, 0.5969, 0.5686, 0.55, 0.5377, 0.5293, 0.5236, 0.5195",\
                 "0.838, 0.8099, 0.7461, 0.6931, 0.6575, 0.6331, 0.6166, 0.6051, 0.5971, 0.5914",\
                 "0.9654, 0.9356, 0.8658, 0.8036, 0.7603, 0.7299, 0.7085, 0.6935, 0.6828, 0.6751");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4302, 0.4146, 0.3909, 0.3793, 0.373, 0.3692, 0.3669, 0.3654, 0.3644, 0.3638",\
                 "0.4304, 0.4147, 0.3912, 0.3794, 0.3732, 0.3695, 0.3671, 0.3656, 0.3646, 0.364",\
                 "0.4307, 0.4148, 0.3912, 0.3794, 0.3732, 0.3696, 0.3673, 0.3658, 0.3648, 0.3642",\
                 "0.4386, 0.4226, 0.3976, 0.3848, 0.3779, 0.374, 0.3717, 0.3702, 0.3692, 0.3685",\
                 "0.4779, 0.4592, 0.4279, 0.4095, 0.3991, 0.3931, 0.3895, 0.3872, 0.3857, 0.3846",\
                 "0.5411, 0.5194, 0.4792, 0.4531, 0.4378, 0.4285, 0.4227, 0.4188, 0.4163, 0.4145",\
                 "0.6236, 0.5996, 0.5508, 0.516, 0.4946, 0.4812, 0.4724, 0.4667, 0.4628, 0.46",\
                 "0.7236, 0.6973, 0.6407, 0.5969, 0.5686, 0.55, 0.5377, 0.5293, 0.5236, 0.5195",\
                 "0.838, 0.8099, 0.7461, 0.6931, 0.6575, 0.6331, 0.6166, 0.6051, 0.5971, 0.5914",\
                 "0.9654, 0.9356, 0.8658, 0.8036, 0.7603, 0.7299, 0.7085, 0.6935, 0.6828, 0.6751");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.365, 0.35, 0.3282, 0.3171, 0.3109, 0.3075, 0.3054, 0.304, 0.3031, 0.3024",\
                 "0.3642, 0.3493, 0.3275, 0.3163, 0.3102, 0.3068, 0.3046, 0.3032, 0.3023, 0.3017",\
                 "0.364, 0.3491, 0.3271, 0.3159, 0.3099, 0.3065, 0.3044, 0.303, 0.3021, 0.3015",\
                 "0.3711, 0.3559, 0.3327, 0.3202, 0.3137, 0.3101, 0.3079, 0.3065, 0.3056, 0.3051",\
                 "0.4064, 0.3886, 0.3591, 0.3416, 0.3317, 0.3259, 0.3225, 0.3202, 0.3188, 0.3178",\
                 "0.4629, 0.4424, 0.4047, 0.3797, 0.3651, 0.3561, 0.3507, 0.3471, 0.3447, 0.343",\
                 "0.5385, 0.5154, 0.4698, 0.4369, 0.4162, 0.4032, 0.3949, 0.3894, 0.3857, 0.3831",\
                 "0.6344, 0.6091, 0.5555, 0.5134, 0.486, 0.4681, 0.4563, 0.4484, 0.4428, 0.4389",\
                 "0.7496, 0.7223, 0.662, 0.6097, 0.5745, 0.5508, 0.5348, 0.5239, 0.5163, 0.5107",\
                 "0.8833, 0.8547, 0.788, 0.7252, 0.682, 0.6522, 0.6313, 0.6168, 0.6064, 0.599");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.2957, 0.2745, 0.2462, 0.2285, 0.219, 0.2141, 0.2127, 0.214, 0.2142, 0.2285",\
                 "0.2948, 0.2735, 0.2455, 0.227, 0.218, 0.2135, 0.212, 0.2121, 0.2139, 0.2278",\
                 "0.2937, 0.2726, 0.244, 0.226, 0.2168, 0.2122, 0.2104, 0.2117, 0.2125, 0.2267",\
                 "0.2968, 0.2755, 0.2471, 0.2292, 0.2193, 0.2145, 0.2127, 0.2131, 0.2159, 0.2308",\
                 "0.3173, 0.2951, 0.2649, 0.2448, 0.233, 0.227, 0.2246, 0.2246, 0.2278, 0.245",\
                 "0.3552, 0.3312, 0.2967, 0.2747, 0.26, 0.2514, 0.2477, 0.2474, 0.2476, 0.2699",\
                 "0.4099, 0.3843, 0.3452, 0.3183, 0.3026, 0.292, 0.285, 0.2812, 0.2837, 0.3114",\
                 "0.4841, 0.4566, 0.4114, 0.3812, 0.3585, 0.3458, 0.3381, 0.3334, 0.3324, 0.3716",\
                 "0.5766, 0.547, 0.4965, 0.4598, 0.4325, 0.4141, 0.4057, 0.4, 0.4018, 0.4559",\
                 "0.6862, 0.6553, 0.5961, 0.5555, 0.5234, 0.4999, 0.4826, 0.4791, 0.4853, 0.5765");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLKN&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4296, 0.414, 0.3903, 0.3786, 0.3724, 0.3687, 0.3663, 0.3649, 0.3638, 0.3632",\
                 "0.4297, 0.4141, 0.3904, 0.3787, 0.3725, 0.3688, 0.3665, 0.365, 0.3639, 0.3633",\
                 "0.4299, 0.4143, 0.3906, 0.3788, 0.3726, 0.3689, 0.3666, 0.3652, 0.3642, 0.3635",\
                 "0.4381, 0.422, 0.3972, 0.3843, 0.3774, 0.3736, 0.3713, 0.3698, 0.3687, 0.3681",\
                 "0.4776, 0.459, 0.4277, 0.4093, 0.3989, 0.393, 0.3893, 0.387, 0.3854, 0.3843",\
                 "0.5411, 0.5195, 0.4793, 0.4531, 0.4379, 0.4285, 0.4228, 0.4189, 0.4164, 0.4147",\
                 "0.6238, 0.5997, 0.551, 0.5163, 0.4949, 0.4813, 0.4726, 0.4668, 0.4629, 0.4602",\
                 "0.7238, 0.6977, 0.6409, 0.5973, 0.569, 0.5503, 0.538, 0.5296, 0.5239, 0.5199",\
                 "0.8382, 0.8102, 0.7465, 0.6934, 0.6577, 0.6333, 0.6167, 0.6054, 0.5974, 0.5917",\
                 "0.9657, 0.9361, 0.8661, 0.8039, 0.7606, 0.7302, 0.7088, 0.6938, 0.6831, 0.6755");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4296, 0.414, 0.3903, 0.3786, 0.3724, 0.3687, 0.3663, 0.3649, 0.3638, 0.3632",\
                 "0.4297, 0.4141, 0.3904, 0.3787, 0.3725, 0.3688, 0.3665, 0.365, 0.3639, 0.3633",\
                 "0.4299, 0.4143, 0.3906, 0.3788, 0.3726, 0.3689, 0.3666, 0.3652, 0.3642, 0.3635",\
                 "0.4381, 0.422, 0.3972, 0.3843, 0.3774, 0.3736, 0.3713, 0.3698, 0.3687, 0.3681",\
                 "0.4776, 0.459, 0.4277, 0.4093, 0.3989, 0.393, 0.3893, 0.387, 0.3854, 0.3843",\
                 "0.5411, 0.5195, 0.4793, 0.4531, 0.4379, 0.4285, 0.4228, 0.4189, 0.4164, 0.4147",\
                 "0.6238, 0.5997, 0.551, 0.5163, 0.4949, 0.4813, 0.4726, 0.4668, 0.4629, 0.4602",\
                 "0.7238, 0.6977, 0.6409, 0.5973, 0.569, 0.5503, 0.538, 0.5296, 0.5239, 0.5199",\
                 "0.8382, 0.8102, 0.7465, 0.6934, 0.6577, 0.6333, 0.6167, 0.6054, 0.5974, 0.5917",\
                 "0.9657, 0.9361, 0.8661, 0.8039, 0.7606, 0.7302, 0.7088, 0.6938, 0.6831, 0.6755");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.2869, 0.272, 0.2499, 0.2388, 0.2327, 0.2294, 0.2272, 0.2258, 0.225, 0.2243",\
                 "0.2864, 0.2716, 0.2495, 0.2382, 0.2323, 0.2289, 0.2268, 0.2254, 0.2244, 0.2238",\
                 "0.2866, 0.2717, 0.2495, 0.2383, 0.2323, 0.229, 0.2269, 0.2256, 0.2248, 0.2242",\
                 "0.2931, 0.2779, 0.2545, 0.2421, 0.2358, 0.2321, 0.2299, 0.2285, 0.2276, 0.2271",\
                 "0.3241, 0.3064, 0.2767, 0.2593, 0.2494, 0.2436, 0.2401, 0.238, 0.2366, 0.2355",\
                 "0.3704, 0.3498, 0.3123, 0.2874, 0.2727, 0.2637, 0.2583, 0.2547, 0.2523, 0.2506",\
                 "0.4288, 0.4057, 0.36, 0.327, 0.3063, 0.2933, 0.2852, 0.2798, 0.276, 0.2734",\
                 "0.5004, 0.4752, 0.4218, 0.3794, 0.3519, 0.334, 0.3223, 0.3145, 0.3088, 0.305",\
                 "0.5841, 0.5571, 0.4964, 0.4443, 0.4094, 0.3857, 0.3698, 0.3588, 0.3511, 0.3455",\
                 "0.6798, 0.6512, 0.5846, 0.522, 0.4792, 0.4487, 0.428, 0.4134, 0.4031, 0.3958");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.2573, 0.2363, 0.2078, 0.1903, 0.1811, 0.177, 0.1753, 0.1766, 0.1777, 0.1914",\
                 "0.2568, 0.2354, 0.2067, 0.1897, 0.1808, 0.177, 0.1746, 0.1753, 0.1761, 0.1907",\
                 "0.2559, 0.2347, 0.2062, 0.1887, 0.1795, 0.1757, 0.1736, 0.1743, 0.1784, 0.1939",\
                 "0.2583, 0.2369, 0.2092, 0.1908, 0.1814, 0.1774, 0.1746, 0.175, 0.1775, 0.1927",\
                 "0.275, 0.2528, 0.2229, 0.2028, 0.191, 0.1853, 0.1822, 0.1819, 0.1834, 0.2046",\
                 "0.3041, 0.2805, 0.2456, 0.224, 0.2097, 0.2015, 0.1974, 0.1961, 0.1973, 0.2193",\
                 "0.3441, 0.3187, 0.2801, 0.2529, 0.2358, 0.2262, 0.2195, 0.2171, 0.2169, 0.2459",\
                 "0.398, 0.3706, 0.3251, 0.2945, 0.2721, 0.2595, 0.2528, 0.2474, 0.2452, 0.285",\
                 "0.4636, 0.4339, 0.3831, 0.3464, 0.3195, 0.3001, 0.2924, 0.2867, 0.2884, 0.3449",\
                 "0.5399, 0.5084, 0.4508, 0.4084, 0.3755, 0.3546, 0.3356, 0.3308, 0.3393, 0.429");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.32, 0.3044, 0.2811, 0.2694, 0.2632, 0.2597, 0.2574, 0.2559, 0.2549, 0.2543",\
                 "0.3202, 0.3047, 0.2814, 0.2696, 0.2635, 0.2599, 0.2577, 0.2562, 0.2552, 0.2545",\
                 "0.3208, 0.3052, 0.2818, 0.27, 0.2639, 0.2604, 0.2582, 0.2567, 0.2558, 0.2552",\
                 "0.3275, 0.3116, 0.2871, 0.2741, 0.2675, 0.2637, 0.2614, 0.2599, 0.2589, 0.2583",\
                 "0.3607, 0.3423, 0.3112, 0.293, 0.2828, 0.2769, 0.2733, 0.271, 0.2695, 0.2684",\
                 "0.4113, 0.3898, 0.3501, 0.3242, 0.3091, 0.2999, 0.2942, 0.2904, 0.2879, 0.2862",\
                 "0.4742, 0.4503, 0.402, 0.3677, 0.3464, 0.333, 0.3244, 0.3187, 0.3148, 0.3122",\
                 "0.55, 0.5239, 0.467, 0.423, 0.3949, 0.3765, 0.3644, 0.3561, 0.3504, 0.3464",\
                 "0.6366, 0.6084, 0.5436, 0.4898, 0.4539, 0.4296, 0.4131, 0.4017, 0.3938, 0.3881",\
                 "0.7326, 0.7023, 0.63, 0.5657, 0.5218, 0.4912, 0.4698, 0.4548, 0.4443, 0.4366");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.32, 0.3044, 0.2811, 0.2694, 0.2632, 0.2597, 0.2574, 0.2559, 0.2549, 0.2543",\
                 "0.3202, 0.3047, 0.2814, 0.2696, 0.2635, 0.2599, 0.2577, 0.2562, 0.2552, 0.2545",\
                 "0.3208, 0.3052, 0.2818, 0.27, 0.2639, 0.2604, 0.2582, 0.2567, 0.2558, 0.2552",\
                 "0.3275, 0.3116, 0.2871, 0.2741, 0.2675, 0.2637, 0.2614, 0.2599, 0.2589, 0.2583",\
                 "0.3607, 0.3423, 0.3112, 0.293, 0.2828, 0.2769, 0.2733, 0.271, 0.2695, 0.2684",\
                 "0.4113, 0.3898, 0.3501, 0.3242, 0.3091, 0.2999, 0.2942, 0.2904, 0.2879, 0.2862",\
                 "0.4742, 0.4503, 0.402, 0.3677, 0.3464, 0.333, 0.3244, 0.3187, 0.3148, 0.3122",\
                 "0.55, 0.5239, 0.467, 0.423, 0.3949, 0.3765, 0.3644, 0.3561, 0.3504, 0.3464",\
                 "0.6366, 0.6084, 0.5436, 0.4898, 0.4539, 0.4296, 0.4131, 0.4017, 0.3938, 0.3881",\
                 "0.7326, 0.7023, 0.63, 0.5657, 0.5218, 0.4912, 0.4698, 0.4548, 0.4443, 0.4366");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.2868, 0.2719, 0.2498, 0.2387, 0.2326, 0.2293, 0.2272, 0.2258, 0.2249, 0.2243",\
                 "0.2864, 0.2716, 0.2495, 0.2382, 0.2323, 0.2289, 0.2267, 0.2254, 0.2244, 0.2238",\
                 "0.2866, 0.2717, 0.2495, 0.2383, 0.2323, 0.229, 0.2269, 0.2256, 0.2248, 0.2242",\
                 "0.2931, 0.2778, 0.2546, 0.2422, 0.2357, 0.2321, 0.23, 0.2285, 0.2277, 0.2271",\
                 "0.324, 0.3062, 0.2767, 0.2593, 0.2492, 0.2436, 0.2401, 0.2379, 0.2365, 0.2355",\
                 "0.3705, 0.35, 0.3121, 0.2873, 0.2724, 0.2636, 0.2582, 0.2546, 0.2522, 0.2506",\
                 "0.4288, 0.4058, 0.36, 0.3272, 0.3065, 0.2933, 0.2852, 0.2797, 0.2761, 0.2734",\
                 "0.5003, 0.4752, 0.4217, 0.3795, 0.3518, 0.3339, 0.3223, 0.3143, 0.3089, 0.305",\
                 "0.5842, 0.557, 0.4968, 0.4446, 0.4095, 0.3857, 0.3695, 0.3587, 0.351, 0.3456",\
                 "0.6798, 0.6512, 0.5844, 0.522, 0.479, 0.4489, 0.428, 0.4134, 0.4032, 0.3956");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.2573, 0.2361, 0.2073, 0.1904, 0.1815, 0.1777, 0.1752, 0.176, 0.1764, 0.1923",\
                 "0.2567, 0.2352, 0.2066, 0.1897, 0.1808, 0.1764, 0.1743, 0.1746, 0.1767, 0.1907",\
                 "0.2559, 0.2345, 0.2063, 0.1893, 0.1798, 0.175, 0.1733, 0.1743, 0.1781, 0.1903",\
                 "0.2582, 0.237, 0.2088, 0.1909, 0.181, 0.176, 0.1739, 0.1746, 0.1771, 0.1937",\
                 "0.275, 0.2529, 0.2228, 0.2031, 0.1913, 0.1849, 0.1828, 0.1829, 0.1834, 0.2013",\
                 "0.304, 0.28, 0.2453, 0.2242, 0.2096, 0.2018, 0.197, 0.1961, 0.1973, 0.2193",\
                 "0.3442, 0.3186, 0.2795, 0.2527, 0.2361, 0.2265, 0.2181, 0.2177, 0.2179, 0.2452",\
                 "0.3979, 0.3705, 0.3263, 0.2937, 0.2712, 0.2599, 0.2525, 0.2468, 0.2445, 0.2847",\
                 "0.4634, 0.434, 0.3826, 0.3463, 0.3197, 0.3001, 0.2917, 0.287, 0.2878, 0.3449",\
                 "0.54, 0.5087, 0.4507, 0.4085, 0.3758, 0.3523, 0.3369, 0.3328, 0.3387, 0.4305");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLKN&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.3221, 0.3066, 0.2833, 0.2717, 0.2654, 0.2618, 0.2595, 0.258, 0.2571, 0.2565",\
                 "0.3224, 0.3069, 0.2836, 0.2718, 0.2657, 0.2622, 0.2599, 0.2584, 0.2575, 0.2568",\
                 "0.323, 0.3074, 0.284, 0.2722, 0.2661, 0.2626, 0.2604, 0.2589, 0.258, 0.2573",\
                 "0.3297, 0.3139, 0.2894, 0.2764, 0.2697, 0.266, 0.2637, 0.2622, 0.2613, 0.2606",\
                 "0.363, 0.3445, 0.3136, 0.2952, 0.285, 0.2791, 0.2755, 0.2733, 0.2717, 0.2707",\
                 "0.4135, 0.3922, 0.3524, 0.3265, 0.3114, 0.3022, 0.2965, 0.2927, 0.2901, 0.2884",\
                 "0.4764, 0.4525, 0.4042, 0.3698, 0.3486, 0.3352, 0.3266, 0.3209, 0.3171, 0.3144",\
                 "0.5521, 0.5261, 0.4692, 0.4251, 0.3971, 0.3786, 0.3665, 0.3583, 0.3526, 0.3486",\
                 "0.6388, 0.6106, 0.5458, 0.4918, 0.4559, 0.4318, 0.4153, 0.4039, 0.396, 0.3903",\
                 "0.7347, 0.7046, 0.6321, 0.5682, 0.5239, 0.4933, 0.472, 0.4571, 0.4464, 0.4387");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.3221, 0.3066, 0.2833, 0.2717, 0.2654, 0.2618, 0.2595, 0.258, 0.2571, 0.2565",\
                 "0.3224, 0.3069, 0.2836, 0.2718, 0.2657, 0.2622, 0.2599, 0.2584, 0.2575, 0.2568",\
                 "0.323, 0.3074, 0.284, 0.2722, 0.2661, 0.2626, 0.2604, 0.2589, 0.258, 0.2573",\
                 "0.3297, 0.3139, 0.2894, 0.2764, 0.2697, 0.266, 0.2637, 0.2622, 0.2613, 0.2606",\
                 "0.363, 0.3445, 0.3136, 0.2952, 0.285, 0.2791, 0.2755, 0.2733, 0.2717, 0.2707",\
                 "0.4135, 0.3922, 0.3524, 0.3265, 0.3114, 0.3022, 0.2965, 0.2927, 0.2901, 0.2884",\
                 "0.4764, 0.4525, 0.4042, 0.3698, 0.3486, 0.3352, 0.3266, 0.3209, 0.3171, 0.3144",\
                 "0.5521, 0.5261, 0.4692, 0.4251, 0.3971, 0.3786, 0.3665, 0.3583, 0.3526, 0.3486",\
                 "0.6388, 0.6106, 0.5458, 0.4918, 0.4559, 0.4318, 0.4153, 0.4039, 0.396, 0.3903",\
                 "0.7347, 0.7046, 0.6321, 0.5682, 0.5239, 0.4933, 0.472, 0.4571, 0.4464, 0.4387");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.466, 0.4441, 0.4153, 0.3963, 0.385, 0.38, 0.3778, 0.3776, 0.3794, 0.3968",\
                 "0.4658, 0.4439, 0.4151, 0.3964, 0.385, 0.3797, 0.3773, 0.3776, 0.3781, 0.3968",\
                 "0.467, 0.4454, 0.4156, 0.3972, 0.3867, 0.3808, 0.3786, 0.3793, 0.3802, 0.4001",\
                 "0.4744, 0.4528, 0.424, 0.4053, 0.3943, 0.3886, 0.3865, 0.3866, 0.3888, 0.4096",\
                 "0.4928, 0.471, 0.4413, 0.4231, 0.4123, 0.4068, 0.404, 0.4044, 0.4086, 0.4319",\
                 "0.5226, 0.501, 0.4718, 0.4523, 0.4413, 0.4361, 0.433, 0.4336, 0.4345, 0.4695",\
                 "0.5644, 0.5426, 0.5125, 0.4944, 0.483, 0.4767, 0.4746, 0.4755, 0.4776, 0.5263",\
                 "0.6194, 0.5975, 0.568, 0.5483, 0.5378, 0.5322, 0.5287, 0.5277, 0.5345, 0.6078",\
                 "0.6853, 0.6633, 0.6336, 0.6131, 0.6015, 0.5982, 0.5944, 0.5944, 0.6034, 0.7247",\
                 "0.7587, 0.7364, 0.7067, 0.6867, 0.673, 0.6675, 0.6683, 0.6685, 0.6935, 0.8919");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.466, 0.4441, 0.4153, 0.3963, 0.385, 0.38, 0.3778, 0.3776, 0.3794, 0.3968",\
                 "0.4658, 0.4439, 0.4151, 0.3964, 0.385, 0.3797, 0.3773, 0.3776, 0.3781, 0.3968",\
                 "0.467, 0.4454, 0.4156, 0.3972, 0.3867, 0.3808, 0.3786, 0.3793, 0.3802, 0.4001",\
                 "0.4744, 0.4528, 0.424, 0.4053, 0.3943, 0.3886, 0.3865, 0.3866, 0.3888, 0.4096",\
                 "0.4928, 0.471, 0.4413, 0.4231, 0.4123, 0.4068, 0.404, 0.4044, 0.4086, 0.4319",\
                 "0.5226, 0.501, 0.4718, 0.4523, 0.4413, 0.4361, 0.433, 0.4336, 0.4345, 0.4695",\
                 "0.5644, 0.5426, 0.5125, 0.4944, 0.483, 0.4767, 0.4746, 0.4755, 0.4776, 0.5263",\
                 "0.6194, 0.5975, 0.568, 0.5483, 0.5378, 0.5322, 0.5287, 0.5277, 0.5345, 0.6078",\
                 "0.6853, 0.6633, 0.6336, 0.6131, 0.6015, 0.5982, 0.5944, 0.5944, 0.6034, 0.7247",\
                 "0.7587, 0.7364, 0.7067, 0.6867, 0.673, 0.6675, 0.6683, 0.6685, 0.6935, 0.8919");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4661, 0.4442, 0.4154, 0.3967, 0.3847, 0.3803, 0.3775, 0.3775, 0.3794, 0.3978",\
                 "0.4657, 0.444, 0.4147, 0.3964, 0.3853, 0.3797, 0.3772, 0.3773, 0.3788, 0.3975",\
                 "0.4671, 0.4452, 0.4156, 0.3975, 0.3868, 0.3811, 0.3796, 0.3783, 0.3805, 0.401",\
                 "0.4746, 0.4528, 0.4236, 0.4048, 0.3943, 0.3886, 0.3862, 0.3869, 0.3881, 0.41",\
                 "0.4927, 0.4711, 0.4417, 0.423, 0.4124, 0.4064, 0.4047, 0.404, 0.4053, 0.4328",\
                 "0.5225, 0.501, 0.4713, 0.4525, 0.4413, 0.4355, 0.433, 0.4333, 0.4345, 0.4721",\
                 "0.5644, 0.5428, 0.5136, 0.4945, 0.483, 0.4774, 0.4749, 0.4745, 0.4786, 0.5273",\
                 "0.6194, 0.5976, 0.5678, 0.5483, 0.5379, 0.5325, 0.5291, 0.528, 0.5342, 0.6074",\
                 "0.6852, 0.6631, 0.6336, 0.6142, 0.6017, 0.5972, 0.5947, 0.5944, 0.6031, 0.7221",\
                 "0.7585, 0.7363, 0.7069, 0.687, 0.6731, 0.6661, 0.667, 0.6685, 0.6945, 0.8914");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4661, 0.4442, 0.4154, 0.3967, 0.3847, 0.3803, 0.3775, 0.3775, 0.3794, 0.3978",\
                 "0.4657, 0.444, 0.4147, 0.3964, 0.3853, 0.3797, 0.3772, 0.3773, 0.3788, 0.3975",\
                 "0.4671, 0.4452, 0.4156, 0.3975, 0.3868, 0.3811, 0.3796, 0.3783, 0.3805, 0.401",\
                 "0.4746, 0.4528, 0.4236, 0.4048, 0.3943, 0.3886, 0.3862, 0.3869, 0.3881, 0.41",\
                 "0.4927, 0.4711, 0.4417, 0.423, 0.4124, 0.4064, 0.4047, 0.404, 0.4053, 0.4328",\
                 "0.5225, 0.501, 0.4713, 0.4525, 0.4413, 0.4355, 0.433, 0.4333, 0.4345, 0.4721",\
                 "0.5644, 0.5428, 0.5136, 0.4945, 0.483, 0.4774, 0.4749, 0.4745, 0.4786, 0.5273",\
                 "0.6194, 0.5976, 0.5678, 0.5483, 0.5379, 0.5325, 0.5291, 0.528, 0.5342, 0.6074",\
                 "0.6852, 0.6631, 0.6336, 0.6142, 0.6017, 0.5972, 0.5947, 0.5944, 0.6031, 0.7221",\
                 "0.7585, 0.7363, 0.7069, 0.687, 0.6731, 0.6661, 0.667, 0.6685, 0.6945, 0.8914");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.3693, 0.3477, 0.3183, 0.3003, 0.2893, 0.2848, 0.2823, 0.2833, 0.2845, 0.3028",\
                 "0.369, 0.3475, 0.3184, 0.2999, 0.2899, 0.2847, 0.2826, 0.2827, 0.2871, 0.3014",\
                 "0.37, 0.3485, 0.3193, 0.3005, 0.2903, 0.2858, 0.2837, 0.284, 0.2855, 0.3053",\
                 "0.3741, 0.3528, 0.3236, 0.3047, 0.2944, 0.2896, 0.2878, 0.2882, 0.2893, 0.3121",\
                 "0.3839, 0.3622, 0.3332, 0.3148, 0.3037, 0.2987, 0.2976, 0.2969, 0.3015, 0.3221",\
                 "0.4009, 0.379, 0.3497, 0.3305, 0.3196, 0.3144, 0.3116, 0.3122, 0.3153, 0.3446",\
                 "0.4253, 0.4033, 0.3728, 0.3544, 0.3439, 0.3377, 0.3349, 0.3361, 0.3384, 0.3788",\
                 "0.4575, 0.4349, 0.4048, 0.3844, 0.3731, 0.3691, 0.3654, 0.3646, 0.3692, 0.4276",\
                 "0.4944, 0.4719, 0.4412, 0.4199, 0.4061, 0.4, 0.4002, 0.3987, 0.4077, 0.5001",\
                 "0.5333, 0.5101, 0.4784, 0.4564, 0.4418, 0.4332, 0.4328, 0.4355, 0.4529, 0.6015");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.3693, 0.3477, 0.3183, 0.3003, 0.2893, 0.2848, 0.2823, 0.2833, 0.2845, 0.3028",\
                 "0.369, 0.3475, 0.3184, 0.2999, 0.2899, 0.2847, 0.2826, 0.2827, 0.2871, 0.3014",\
                 "0.37, 0.3485, 0.3193, 0.3005, 0.2903, 0.2858, 0.2837, 0.284, 0.2855, 0.3053",\
                 "0.3741, 0.3528, 0.3236, 0.3047, 0.2944, 0.2896, 0.2878, 0.2882, 0.2893, 0.3121",\
                 "0.3839, 0.3622, 0.3332, 0.3148, 0.3037, 0.2987, 0.2976, 0.2969, 0.3015, 0.3221",\
                 "0.4009, 0.379, 0.3497, 0.3305, 0.3196, 0.3144, 0.3116, 0.3122, 0.3153, 0.3446",\
                 "0.4253, 0.4033, 0.3728, 0.3544, 0.3439, 0.3377, 0.3349, 0.3361, 0.3384, 0.3788",\
                 "0.4575, 0.4349, 0.4048, 0.3844, 0.3731, 0.3691, 0.3654, 0.3646, 0.3692, 0.4276",\
                 "0.4944, 0.4719, 0.4412, 0.4199, 0.4061, 0.4, 0.4002, 0.3987, 0.4077, 0.5001",\
                 "0.5333, 0.5101, 0.4784, 0.4564, 0.4418, 0.4332, 0.4328, 0.4355, 0.4529, 0.6015");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.3691, 0.3477, 0.3185, 0.3001, 0.2899, 0.2848, 0.2824, 0.2827, 0.2852, 0.3025",\
                 "0.3688, 0.3473, 0.3184, 0.3002, 0.2903, 0.2845, 0.2824, 0.2825, 0.2853, 0.3009",\
                 "0.3697, 0.3481, 0.3192, 0.3008, 0.2902, 0.2855, 0.2838, 0.2832, 0.2876, 0.3037",\
                 "0.3741, 0.3527, 0.3235, 0.3054, 0.295, 0.2905, 0.2884, 0.2875, 0.2893, 0.3088",\
                 "0.384, 0.3624, 0.3335, 0.3147, 0.3034, 0.2994, 0.2976, 0.298, 0.3019, 0.3241",\
                 "0.4009, 0.3789, 0.3499, 0.3304, 0.3195, 0.3142, 0.3121, 0.314, 0.3175, 0.3438",\
                 "0.4252, 0.4029, 0.3731, 0.3545, 0.3439, 0.3376, 0.3345, 0.3348, 0.3374, 0.3808",\
                 "0.4575, 0.4354, 0.4052, 0.3853, 0.3736, 0.369, 0.3649, 0.3635, 0.3684, 0.4291",\
                 "0.4945, 0.4718, 0.4409, 0.4194, 0.406, 0.3994, 0.4002, 0.399, 0.4061, 0.4946",\
                 "0.5334, 0.5107, 0.4782, 0.457, 0.443, 0.4337, 0.4319, 0.4373, 0.4517, 0.6031");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.3691, 0.3477, 0.3185, 0.3001, 0.2899, 0.2848, 0.2824, 0.2827, 0.2852, 0.3025",\
                 "0.3688, 0.3473, 0.3184, 0.3002, 0.2903, 0.2845, 0.2824, 0.2825, 0.2853, 0.3009",\
                 "0.3697, 0.3481, 0.3192, 0.3008, 0.2902, 0.2855, 0.2838, 0.2832, 0.2876, 0.3037",\
                 "0.3741, 0.3527, 0.3235, 0.3054, 0.295, 0.2905, 0.2884, 0.2875, 0.2893, 0.3088",\
                 "0.384, 0.3624, 0.3335, 0.3147, 0.3034, 0.2994, 0.2976, 0.298, 0.3019, 0.3241",\
                 "0.4009, 0.3789, 0.3499, 0.3304, 0.3195, 0.3142, 0.3121, 0.314, 0.3175, 0.3438",\
                 "0.4252, 0.4029, 0.3731, 0.3545, 0.3439, 0.3376, 0.3345, 0.3348, 0.3374, 0.3808",\
                 "0.4575, 0.4354, 0.4052, 0.3853, 0.3736, 0.369, 0.3649, 0.3635, 0.3684, 0.4291",\
                 "0.4945, 0.4718, 0.4409, 0.4194, 0.406, 0.3994, 0.4002, 0.399, 0.4061, 0.4946",\
                 "0.5334, 0.5107, 0.4782, 0.457, 0.443, 0.4337, 0.4319, 0.4373, 0.4517, 0.6031");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("1.157, 1.209, 1.334, 1.507, 1.726, 2.005, 2.361, 2.807, 3.351, 4",\
                 "1.175, 1.226, 1.351, 1.524, 1.743, 2.022, 2.379, 2.825, 3.369, 4.018",\
                 "1.24, 1.292, 1.417, 1.59, 1.809, 2.088, 2.444, 2.89, 3.434, 4.083",\
                 "1.37, 1.422, 1.546, 1.72, 1.939, 2.218, 2.574, 3.02, 3.564, 4.213",\
                 "1.545, 1.596, 1.721, 1.894, 2.113, 2.392, 2.749, 3.195, 3.739, 4.388",\
                 "1.745, 1.797, 1.921, 2.095, 2.314, 2.593, 2.949, 3.395, 3.939, 4.588",\
                 "1.974, 2.026, 2.151, 2.324, 2.543, 2.822, 3.179, 3.624, 4.168, 4.817",\
                 "2.23, 2.282, 2.407, 2.58, 2.799, 3.078, 3.434, 3.88, 4.424, 5.073",\
                 "2.512, 2.564, 2.689, 2.862, 3.081, 3.36, 3.717, 4.162, 4.707, 5.355",\
                 "2.821, 2.873, 2.997, 3.171, 3.39, 3.669, 4.025, 4.471, 5.016, 5.664");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("1.549, 1.613, 1.781, 2.043, 2.407, 2.896, 3.537, 4.346, 5.333, 6.51",\
                 "1.566, 1.63, 1.798, 2.06, 2.424, 2.913, 3.554, 4.362, 5.35, 6.527",\
                 "1.632, 1.696, 1.864, 2.127, 2.49, 2.98, 3.62, 4.429, 5.416, 6.593",\
                 "1.764, 1.828, 1.996, 2.259, 2.622, 3.112, 3.752, 4.56, 5.548, 6.721",\
                 "1.945, 2.009, 2.177, 2.44, 2.803, 3.293, 3.934, 4.742, 5.728, 6.906",\
                 "2.154, 2.218, 2.386, 2.648, 3.011, 3.501, 4.142, 4.949, 5.936, 7.113",\
                 "2.391, 2.455, 2.623, 2.886, 3.249, 3.739, 4.38, 5.187, 6.173, 7.351",\
                 "2.657, 2.721, 2.889, 3.151, 3.515, 4.005, 4.645, 5.453, 6.439, 7.616",\
                 "2.947, 3.011, 3.179, 3.442, 3.805, 4.295, 4.936, 5.743, 6.729, 7.908",\
                 "3.263, 3.328, 3.495, 3.758, 4.121, 4.611, 5.252, 6.059, 7.046, 8.221");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1576, 0.2046, 0.323, 0.5104, 0.7906, 1.207, 1.781, 2.525, 3.438, 4.53",\
                 "0.157, 0.2046, 0.323, 0.511, 0.7906, 1.207, 1.78, 2.524, 3.438, 4.53",\
                 "0.158, 0.2042, 0.3232, 0.5106, 0.7906, 1.207, 1.782, 2.524, 3.438, 4.531",\
                 "0.1574, 0.2044, 0.3232, 0.5104, 0.7902, 1.207, 1.782, 2.524, 3.439, 4.531",\
                 "0.1572, 0.204, 0.323, 0.5108, 0.7904, 1.207, 1.783, 2.522, 3.439, 4.53",\
                 "0.1574, 0.2042, 0.323, 0.5108, 0.791, 1.207, 1.781, 2.525, 3.439, 4.53",\
                 "0.1578, 0.2046, 0.3238, 0.511, 0.7906, 1.207, 1.783, 2.525, 3.435, 4.529",\
                 "0.1576, 0.2044, 0.3236, 0.511, 0.7902, 1.206, 1.78, 2.521, 3.437, 4.528",\
                 "0.1578, 0.2048, 0.3236, 0.5114, 0.7904, 1.206, 1.781, 2.523, 3.434, 4.521",\
                 "0.1582, 0.205, 0.3238, 0.5114, 0.7908, 1.207, 1.781, 2.52, 3.433, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1968, 0.2638, 0.472, 0.8378, 1.402, 2.235, 3.356, 4.784, 6.522, 8.614",\
                 "0.1956, 0.2642, 0.4726, 0.8378, 1.403, 2.236, 3.358, 4.78, 6.522, 8.611",\
                 "0.1958, 0.2642, 0.4726, 0.8384, 1.402, 2.236, 3.357, 4.78, 6.522, 8.611",\
                 "0.1958, 0.2636, 0.4726, 0.8376, 1.403, 2.236, 3.358, 4.786, 6.531, 8.594",\
                 "0.1972, 0.2632, 0.4722, 0.8382, 1.403, 2.234, 3.355, 4.78, 6.525, 8.596",\
                 "0.196, 0.2634, 0.4722, 0.838, 1.404, 2.235, 3.358, 4.783, 6.526, 8.601",\
                 "0.1952, 0.263, 0.472, 0.8374, 1.403, 2.236, 3.358, 4.785, 6.521, 8.598",\
                 "0.1962, 0.2622, 0.472, 0.8386, 1.402, 2.235, 3.359, 4.784, 6.52, 8.603",\
                 "0.1956, 0.2628, 0.4716, 0.8378, 1.405, 2.233, 3.355, 4.78, 6.526, 8.611",\
                 "0.196, 0.262, 0.4726, 0.8372, 1.403, 2.235, 3.358, 4.778, 6.52, 8.596");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4588, 0.5101, 0.6341, 0.8057, 1.023, 1.302, 1.658, 2.104, 2.648, 3.297",\
                 "0.4763, 0.5276, 0.6519, 0.8233, 1.041, 1.319, 1.676, 2.122, 2.666, 3.315",\
                 "0.5421, 0.5933, 0.7176, 0.889, 1.106, 1.385, 1.741, 2.187, 2.732, 3.38",\
                 "0.674, 0.725, 0.8488, 1.02, 1.237, 1.516, 1.872, 2.318, 2.862, 3.511",\
                 "0.862, 0.9156, 1.043, 1.216, 1.434, 1.712, 2.068, 2.514, 3.058, 3.706",\
                 "1.068, 1.127, 1.265, 1.447, 1.671, 1.951, 2.306, 2.752, 3.295, 3.943",\
                 "1.297, 1.36, 1.508, 1.701, 1.933, 2.217, 2.573, 3.018, 3.56, 4.207",\
                 "1.547, 1.614, 1.774, 1.98, 2.222, 2.511, 2.869, 3.313, 3.855, 4.502",\
                 "1.818, 1.89, 2.061, 2.281, 2.537, 2.835, 3.196, 3.641, 4.182, 4.828",\
                 "2.112, 2.189, 2.371, 2.605, 2.875, 3.184, 3.553, 4.001, 4.542, 5.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.7312, 0.7948, 0.9611, 1.221, 1.583, 2.073, 2.714, 3.522, 4.509, 5.684",\
                 "0.7392, 0.8028, 0.9694, 1.229, 1.591, 2.081, 2.722, 3.53, 4.516, 5.693",\
                 "0.7601, 0.8235, 0.99, 1.249, 1.612, 2.102, 2.742, 3.551, 4.539, 5.715",\
                 "0.8063, 0.8697, 1.036, 1.296, 1.657, 2.147, 2.788, 3.597, 4.582, 5.76",\
                 "0.8825, 0.9469, 1.114, 1.373, 1.734, 2.223, 2.864, 3.671, 4.659, 5.834",\
                 "0.9643, 1.031, 1.201, 1.464, 1.826, 2.315, 2.955, 3.762, 4.749, 5.925",\
                 "1.047, 1.116, 1.289, 1.556, 1.92, 2.409, 3.047, 3.853, 4.839, 6.014",\
                 "1.123, 1.194, 1.374, 1.644, 2.011, 2.5, 3.136, 3.941, 4.925, 6.099",\
                 "1.183, 1.258, 1.445, 1.721, 2.095, 2.585, 3.221, 4.024, 5.007, 6.179",\
                 "1.225, 1.303, 1.497, 1.781, 2.163, 2.659, 3.298, 4.099, 5.081, 6.253");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1499, 0.197, 0.317, 0.5032, 0.7845, 1.204, 1.78, 2.523, 3.437, 4.523",\
                 "0.1502, 0.1974, 0.3165, 0.5031, 0.7843, 1.203, 1.78, 2.523, 3.436, 4.528",\
                 "0.1495, 0.1971, 0.3168, 0.5025, 0.7846, 1.205, 1.781, 2.523, 3.436, 4.528",\
                 "0.1502, 0.198, 0.3182, 0.504, 0.7858, 1.204, 1.78, 2.524, 3.437, 4.529",\
                 "0.1734, 0.221, 0.3354, 0.5158, 0.7924, 1.207, 1.782, 2.525, 3.434, 4.529",\
                 "0.205, 0.2554, 0.3736, 0.551, 0.8146, 1.218, 1.786, 2.525, 3.437, 4.524",\
                 "0.2384, 0.2942, 0.417, 0.593, 0.8482, 1.239, 1.794, 2.528, 3.437, 4.529",\
                 "0.276, 0.3358, 0.4682, 0.644, 0.8908, 1.266, 1.81, 2.534, 3.439, 4.527",\
                 "0.314, 0.3808, 0.523, 0.7044, 0.9468, 1.308, 1.835, 2.547, 3.444, 4.526",\
                 "0.357, 0.4274, 0.5816, 0.7684, 1.011, 1.362, 1.877, 2.573, 3.458, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1915, 0.2586, 0.4663, 0.8298, 1.4, 2.235, 3.358, 4.786, 6.53, 8.599",\
                 "0.1929, 0.2589, 0.4654, 0.8294, 1.4, 2.232, 3.355, 4.78, 6.519, 8.599",\
                 "0.1923, 0.259, 0.4658, 0.8298, 1.399, 2.235, 3.359, 4.787, 6.534, 8.612",\
                 "0.1912, 0.2588, 0.465, 0.8308, 1.399, 2.232, 3.355, 4.783, 6.519, 8.598",\
                 "0.199, 0.265, 0.47, 0.8338, 1.402, 2.235, 3.356, 4.785, 6.533, 8.606",\
                 "0.2128, 0.28, 0.4846, 0.8462, 1.408, 2.237, 3.358, 4.777, 6.52, 8.611",\
                 "0.2288, 0.2966, 0.5008, 0.8648, 1.419, 2.241, 3.359, 4.786, 6.522, 8.609",\
                 "0.2492, 0.3196, 0.5216, 0.8856, 1.435, 2.251, 3.362, 4.78, 6.521, 8.598",\
                 "0.2746, 0.3456, 0.5514, 0.9154, 1.462, 2.265, 3.368, 4.783, 6.527, 8.592",\
                 "0.3042, 0.3766, 0.5804, 0.95, 1.5, 2.294, 3.382, 4.791, 6.521, 8.596");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4597, 0.5112, 0.6361, 0.8092, 1.028, 1.308, 1.663, 2.108, 2.651, 3.299",\
                 "0.4772, 0.5288, 0.6537, 0.8267, 1.046, 1.325, 1.681, 2.126, 2.669, 3.317",\
                 "0.5431, 0.5946, 0.7195, 0.8925, 1.111, 1.391, 1.746, 2.191, 2.734, 3.382",\
                 "0.6751, 0.7265, 0.8509, 1.024, 1.243, 1.521, 1.876, 2.32, 2.863, 3.511",\
                 "0.8642, 0.9182, 1.046, 1.221, 1.439, 1.715, 2.069, 2.513, 3.056, 3.704",\
                 "1.072, 1.131, 1.269, 1.453, 1.676, 1.949, 2.301, 2.744, 3.287, 3.934",\
                 "1.303, 1.366, 1.515, 1.709, 1.935, 2.208, 2.558, 3, 3.542, 4.189",\
                 "1.555, 1.623, 1.783, 1.988, 2.217, 2.489, 2.838, 3.279, 3.82, 4.467",\
                 "1.829, 1.901, 2.072, 2.29, 2.525, 2.796, 3.143, 3.583, 4.123, 4.769",\
                 "2.124, 2.202, 2.383, 2.614, 2.857, 3.129, 3.474, 3.912, 4.451, 5.096");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1509, 0.1986, 0.3188, 0.5071, 0.7885, 1.202, 1.773, 2.51, 3.419, 4.51",\
                 "0.1509, 0.1983, 0.319, 0.5073, 0.7885, 1.202, 1.773, 2.51, 3.422, 4.514",\
                 "0.1509, 0.1985, 0.3191, 0.5075, 0.7888, 1.202, 1.771, 2.508, 3.422, 4.513",\
                 "0.152, 0.1996, 0.3202, 0.5086, 0.7872, 1.198, 1.768, 2.508, 3.419, 4.511",\
                 "0.1758, 0.223, 0.3378, 0.5198, 0.7882, 1.194, 1.766, 2.508, 3.422, 4.514",\
                 "0.2074, 0.2594, 0.3768, 0.5534, 0.8002, 1.193, 1.764, 2.508, 3.421, 4.514",\
                 "0.242, 0.2984, 0.4208, 0.5894, 0.8168, 1.198, 1.765, 2.509, 3.422, 4.515",\
                 "0.28, 0.3406, 0.4704, 0.6306, 0.8364, 1.203, 1.767, 2.508, 3.42, 4.512",\
                 "0.32, 0.385, 0.5232, 0.6792, 0.862, 1.212, 1.769, 2.51, 3.422, 4.508",\
                 "0.3648, 0.4322, 0.5804, 0.7328, 0.893, 1.222, 1.773, 2.512, 3.424, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4588, 0.5101, 0.6341, 0.8057, 1.023, 1.302, 1.658, 2.104, 2.648, 3.297",\
                 "0.4763, 0.5276, 0.6519, 0.8233, 1.041, 1.319, 1.676, 2.122, 2.666, 3.315",\
                 "0.5421, 0.5933, 0.7176, 0.889, 1.106, 1.385, 1.741, 2.187, 2.732, 3.38",\
                 "0.674, 0.725, 0.8488, 1.02, 1.237, 1.516, 1.872, 2.318, 2.862, 3.511",\
                 "0.862, 0.9157, 1.043, 1.216, 1.434, 1.712, 2.068, 2.514, 3.058, 3.706",\
                 "1.068, 1.127, 1.265, 1.447, 1.671, 1.951, 2.306, 2.752, 3.295, 3.943",\
                 "1.297, 1.36, 1.508, 1.701, 1.933, 2.217, 2.573, 3.018, 3.56, 4.207",\
                 "1.547, 1.615, 1.774, 1.98, 2.222, 2.511, 2.869, 3.313, 3.855, 4.502",\
                 "1.818, 1.89, 2.061, 2.281, 2.537, 2.835, 3.196, 3.641, 4.182, 4.828",\
                 "2.112, 2.189, 2.371, 2.605, 2.875, 3.184, 3.553, 4.001, 4.542, 5.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.7312, 0.7948, 0.9611, 1.221, 1.583, 2.073, 2.714, 3.522, 4.509, 5.684",\
                 "0.7392, 0.8028, 0.9694, 1.229, 1.591, 2.081, 2.722, 3.53, 4.516, 5.693",\
                 "0.7601, 0.8235, 0.99, 1.249, 1.612, 2.102, 2.742, 3.551, 4.539, 5.715",\
                 "0.8063, 0.8697, 1.036, 1.296, 1.657, 2.147, 2.788, 3.597, 4.584, 5.761",\
                 "0.8825, 0.9467, 1.114, 1.373, 1.734, 2.223, 2.864, 3.672, 4.659, 5.836",\
                 "0.9644, 1.031, 1.201, 1.464, 1.826, 2.315, 2.954, 3.761, 4.749, 5.924",\
                 "1.047, 1.115, 1.289, 1.556, 1.92, 2.409, 3.047, 3.853, 4.84, 6.015",\
                 "1.123, 1.194, 1.373, 1.644, 2.011, 2.5, 3.137, 3.941, 4.925, 6.099",\
                 "1.183, 1.258, 1.445, 1.721, 2.095, 2.585, 3.221, 4.024, 5.007, 6.179",\
                 "1.225, 1.303, 1.497, 1.781, 2.163, 2.659, 3.298, 4.099, 5.081, 6.253");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1499, 0.197, 0.317, 0.5032, 0.7845, 1.204, 1.78, 2.523, 3.437, 4.523",\
                 "0.1502, 0.1974, 0.3165, 0.5031, 0.7843, 1.203, 1.78, 2.523, 3.436, 4.528",\
                 "0.1495, 0.1971, 0.3168, 0.5025, 0.7846, 1.205, 1.781, 2.523, 3.436, 4.528",\
                 "0.1502, 0.198, 0.3182, 0.504, 0.7858, 1.204, 1.78, 2.524, 3.437, 4.529",\
                 "0.1736, 0.2206, 0.3356, 0.5152, 0.7924, 1.207, 1.783, 2.525, 3.434, 4.529",\
                 "0.2048, 0.2562, 0.3736, 0.551, 0.8146, 1.218, 1.786, 2.525, 3.437, 4.524",\
                 "0.2382, 0.2936, 0.4174, 0.5928, 0.849, 1.239, 1.794, 2.528, 3.437, 4.529",\
                 "0.2762, 0.3356, 0.468, 0.6438, 0.8908, 1.267, 1.81, 2.534, 3.439, 4.529",\
                 "0.3152, 0.38, 0.523, 0.7044, 0.9468, 1.307, 1.835, 2.547, 3.444, 4.526",\
                 "0.358, 0.4276, 0.5802, 0.7686, 1.01, 1.361, 1.877, 2.573, 3.458, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1918, 0.2586, 0.4663, 0.8298, 1.4, 2.235, 3.358, 4.786, 6.53, 8.599",\
                 "0.1929, 0.2589, 0.4654, 0.8294, 1.4, 2.232, 3.355, 4.78, 6.519, 8.599",\
                 "0.1923, 0.259, 0.4658, 0.8298, 1.399, 2.235, 3.359, 4.787, 6.534, 8.612",\
                 "0.1912, 0.2588, 0.466, 0.8298, 1.4, 2.232, 3.357, 4.783, 6.522, 8.595",\
                 "0.1992, 0.2648, 0.47, 0.8338, 1.4, 2.235, 3.358, 4.787, 6.522, 8.594",\
                 "0.2128, 0.28, 0.4854, 0.8464, 1.409, 2.238, 3.358, 4.786, 6.532, 8.608",\
                 "0.2288, 0.2978, 0.4996, 0.8628, 1.42, 2.241, 3.359, 4.785, 6.521, 8.597",\
                 "0.2492, 0.3198, 0.523, 0.8856, 1.435, 2.251, 3.361, 4.78, 6.522, 8.598",\
                 "0.2746, 0.3462, 0.5514, 0.9154, 1.462, 2.265, 3.368, 4.783, 6.525, 8.592",\
                 "0.3036, 0.3766, 0.5812, 0.949, 1.498, 2.294, 3.382, 4.789, 6.521, 8.596");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLKN&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4596, 0.5112, 0.6361, 0.8092, 1.028, 1.308, 1.663, 2.108, 2.651, 3.299",\
                 "0.477, 0.5288, 0.6537, 0.8267, 1.046, 1.325, 1.681, 2.126, 2.669, 3.317",\
                 "0.543, 0.5946, 0.7194, 0.8925, 1.112, 1.391, 1.746, 2.191, 2.734, 3.382",\
                 "0.6752, 0.7265, 0.8509, 1.024, 1.243, 1.521, 1.875, 2.32, 2.863, 3.511",\
                 "0.8642, 0.9184, 1.046, 1.22, 1.439, 1.715, 2.068, 2.512, 3.055, 3.703",\
                 "1.072, 1.132, 1.269, 1.454, 1.676, 1.949, 2.301, 2.744, 3.287, 3.934",\
                 "1.303, 1.366, 1.515, 1.709, 1.935, 2.208, 2.558, 3, 3.542, 4.189",\
                 "1.555, 1.623, 1.783, 1.988, 2.217, 2.489, 2.838, 3.279, 3.82, 4.467",\
                 "1.828, 1.901, 2.072, 2.29, 2.525, 2.796, 3.143, 3.583, 4.123, 4.769",\
                 "2.124, 2.201, 2.383, 2.614, 2.857, 3.129, 3.474, 3.912, 4.451, 5.096");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1509, 0.1987, 0.3194, 0.507, 0.7886, 1.202, 1.773, 2.51, 3.42, 4.509",\
                 "0.1507, 0.1985, 0.3191, 0.5072, 0.7887, 1.202, 1.772, 2.509, 3.422, 4.513",\
                 "0.151, 0.1983, 0.3193, 0.5074, 0.7886, 1.201, 1.771, 2.51, 3.42, 4.513",\
                 "0.1518, 0.1996, 0.3202, 0.5084, 0.787, 1.198, 1.769, 2.508, 3.419, 4.511",\
                 "0.1756, 0.2234, 0.3378, 0.5196, 0.7882, 1.193, 1.765, 2.508, 3.422, 4.511",\
                 "0.2086, 0.2588, 0.377, 0.5532, 0.8004, 1.193, 1.764, 2.508, 3.422, 4.514",\
                 "0.2424, 0.2974, 0.4206, 0.5894, 0.8174, 1.199, 1.765, 2.507, 3.42, 4.514",\
                 "0.2814, 0.3414, 0.4698, 0.6304, 0.8362, 1.203, 1.768, 2.508, 3.421, 4.51",\
                 "0.3206, 0.385, 0.5242, 0.679, 0.8614, 1.212, 1.77, 2.51, 3.421, 4.508",\
                 "0.3644, 0.4324, 0.5814, 0.7328, 0.893, 1.222, 1.772, 2.512, 3.422, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4587, 0.51, 0.6343, 0.8057, 1.023, 1.302, 1.658, 2.104, 2.648, 3.297",\
                 "0.4763, 0.5274, 0.6518, 0.8232, 1.041, 1.319, 1.675, 2.122, 2.666, 3.315",\
                 "0.542, 0.5933, 0.7173, 0.8889, 1.106, 1.385, 1.741, 2.187, 2.731, 3.38",\
                 "0.674, 0.725, 0.8488, 1.02, 1.237, 1.516, 1.872, 2.318, 2.863, 3.511",\
                 "0.8621, 0.9159, 1.043, 1.216, 1.434, 1.712, 2.068, 2.514, 3.058, 3.707",\
                 "1.068, 1.127, 1.264, 1.447, 1.671, 1.951, 2.306, 2.751, 3.294, 3.943",\
                 "1.297, 1.36, 1.508, 1.701, 1.933, 2.217, 2.573, 3.018, 3.561, 4.208",\
                 "1.546, 1.614, 1.774, 1.979, 2.222, 2.511, 2.869, 3.313, 3.855, 4.502",\
                 "1.818, 1.891, 2.061, 2.281, 2.537, 2.834, 3.196, 3.64, 4.182, 4.828",\
                 "2.112, 2.188, 2.371, 2.605, 2.874, 3.183, 3.552, 4, 4.542, 5.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.7236, 0.7871, 0.9534, 1.213, 1.576, 2.066, 2.707, 3.515, 4.503, 5.678",\
                 "0.7318, 0.7951, 0.9613, 1.221, 1.584, 2.074, 2.715, 3.523, 4.511, 5.69",\
                 "0.7531, 0.8164, 0.9828, 1.242, 1.605, 2.095, 2.736, 3.544, 4.532, 5.709",\
                 "0.8011, 0.8645, 1.031, 1.29, 1.652, 2.142, 2.783, 3.591, 4.577, 5.758",\
                 "0.8789, 0.943, 1.11, 1.37, 1.731, 2.22, 2.861, 3.668, 4.654, 5.833",\
                 "0.9621, 1.029, 1.199, 1.462, 1.825, 2.313, 2.953, 3.76, 4.747, 5.921",\
                 "1.046, 1.114, 1.288, 1.554, 1.919, 2.407, 3.046, 3.851, 4.838, 6.016",\
                 "1.121, 1.193, 1.372, 1.643, 2.01, 2.499, 3.136, 3.94, 4.924, 6.098",\
                 "1.182, 1.256, 1.443, 1.72, 2.093, 2.583, 3.22, 4.023, 5.005, 6.178",\
                 "1.224, 1.302, 1.496, 1.779, 2.161, 2.659, 3.296, 4.098, 5.08, 6.252");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.15, 0.1973, 0.3169, 0.5027, 0.7855, 1.205, 1.781, 2.525, 3.437, 4.531",\
                 "0.1503, 0.1974, 0.3165, 0.5033, 0.7852, 1.205, 1.781, 2.525, 3.438, 4.531",\
                 "0.1501, 0.1974, 0.3167, 0.503, 0.786, 1.205, 1.78, 2.525, 3.438, 4.528",\
                 "0.1504, 0.1982, 0.318, 0.5042, 0.786, 1.205, 1.781, 2.525, 3.439, 4.531",\
                 "0.1734, 0.221, 0.336, 0.5156, 0.7916, 1.208, 1.781, 2.523, 3.439, 4.531",\
                 "0.2036, 0.2552, 0.3738, 0.5502, 0.8138, 1.218, 1.785, 2.526, 3.437, 4.527",\
                 "0.2384, 0.2938, 0.4178, 0.5928, 0.8482, 1.238, 1.794, 2.528, 3.439, 4.526",\
                 "0.2758, 0.337, 0.4678, 0.6432, 0.8914, 1.266, 1.81, 2.534, 3.437, 4.529",\
                 "0.3148, 0.3796, 0.5226, 0.7038, 0.9464, 1.307, 1.834, 2.548, 3.444, 4.526",\
                 "0.3574, 0.4278, 0.5812, 0.7684, 1.011, 1.361, 1.876, 2.572, 3.458, 4.537");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1918, 0.2581, 0.4646, 0.8296, 1.4, 2.235, 3.359, 4.786, 6.533, 8.601",\
                 "0.192, 0.2581, 0.4646, 0.8304, 1.4, 2.235, 3.359, 4.783, 6.531, 8.596",\
                 "0.1921, 0.2578, 0.4654, 0.8298, 1.398, 2.234, 3.359, 4.781, 6.522, 8.611",\
                 "0.1908, 0.2568, 0.4654, 0.83, 1.401, 2.235, 3.359, 4.778, 6.523, 8.613",\
                 "0.1988, 0.2652, 0.469, 0.8326, 1.402, 2.234, 3.359, 4.778, 6.519, 8.61",\
                 "0.2118, 0.28, 0.4844, 0.8462, 1.408, 2.238, 3.358, 4.788, 6.521, 8.599",\
                 "0.2276, 0.2962, 0.5004, 0.863, 1.419, 2.242, 3.36, 4.785, 6.522, 8.597",\
                 "0.2494, 0.319, 0.523, 0.8848, 1.437, 2.251, 3.361, 4.784, 6.523, 8.605",\
                 "0.2758, 0.3466, 0.5506, 0.916, 1.461, 2.263, 3.369, 4.783, 6.526, 8.594",\
                 "0.3044, 0.3774, 0.5816, 0.9512, 1.501, 2.294, 3.387, 4.797, 6.521, 8.594");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4596, 0.5113, 0.636, 0.8083, 1.024, 1.298, 1.651, 2.096, 2.639, 3.287",\
                 "0.4771, 0.5289, 0.6537, 0.8259, 1.041, 1.315, 1.668, 2.113, 2.656, 3.305",\
                 "0.543, 0.5947, 0.7194, 0.8916, 1.107, 1.381, 1.734, 2.179, 2.722, 3.371",\
                 "0.675, 0.7264, 0.8507, 1.023, 1.238, 1.512, 1.865, 2.309, 2.853, 3.501",\
                 "0.8638, 0.918, 1.046, 1.219, 1.435, 1.708, 2.06, 2.504, 3.047, 3.695",\
                 "1.072, 1.13, 1.268, 1.452, 1.671, 1.943, 2.294, 2.738, 3.28, 3.928",\
                 "1.302, 1.365, 1.513, 1.706, 1.931, 2.203, 2.553, 2.995, 3.537, 4.184",\
                 "1.553, 1.621, 1.781, 1.985, 2.216, 2.487, 2.835, 3.276, 3.817, 4.463",\
                 "1.826, 1.899, 2.069, 2.287, 2.524, 2.796, 3.141, 3.581, 4.121, 4.766",\
                 "2.122, 2.199, 2.38, 2.611, 2.857, 3.128, 3.471, 3.908, 4.446, 5.091");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1521, 0.1992, 0.318, 0.5035, 0.7724, 1.184, 1.763, 2.508, 3.423, 4.515",\
                 "0.1521, 0.1992, 0.3182, 0.5033, 0.7721, 1.184, 1.762, 2.508, 3.42, 4.512",\
                 "0.1515, 0.1992, 0.3182, 0.5039, 0.7724, 1.184, 1.763, 2.507, 3.423, 4.516",\
                 "0.152, 0.2002, 0.3192, 0.5042, 0.7726, 1.184, 1.762, 2.507, 3.423, 4.515",\
                 "0.176, 0.2242, 0.3366, 0.5152, 0.7762, 1.185, 1.763, 2.507, 3.421, 4.513",\
                 "0.2072, 0.259, 0.375, 0.5486, 0.793, 1.189, 1.763, 2.508, 3.422, 4.514",\
                 "0.2408, 0.2972, 0.4184, 0.5874, 0.8144, 1.196, 1.764, 2.507, 3.423, 4.516",\
                 "0.281, 0.34, 0.4682, 0.632, 0.8388, 1.203, 1.767, 2.508, 3.42, 4.509",\
                 "0.3206, 0.3836, 0.5234, 0.6848, 0.8694, 1.213, 1.769, 2.51, 3.422, 4.508",\
                 "0.362, 0.4318, 0.579, 0.7414, 0.9028, 1.225, 1.772, 2.511, 3.422, 4.512");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4587, 0.51, 0.6343, 0.8057, 1.023, 1.302, 1.658, 2.104, 2.648, 3.297",\
                 "0.4762, 0.5275, 0.6518, 0.8232, 1.041, 1.319, 1.675, 2.122, 2.666, 3.315",\
                 "0.542, 0.5933, 0.7173, 0.8889, 1.106, 1.385, 1.741, 2.187, 2.731, 3.38",\
                 "0.674, 0.725, 0.8488, 1.02, 1.237, 1.516, 1.872, 2.318, 2.862, 3.511",\
                 "0.8616, 0.9156, 1.043, 1.216, 1.434, 1.712, 2.068, 2.514, 3.058, 3.706",\
                 "1.069, 1.127, 1.264, 1.447, 1.671, 1.951, 2.306, 2.751, 3.295, 3.943",\
                 "1.297, 1.36, 1.508, 1.701, 1.933, 2.217, 2.573, 3.018, 3.56, 4.207",\
                 "1.546, 1.614, 1.774, 1.979, 2.222, 2.511, 2.869, 3.313, 3.855, 4.501",\
                 "1.818, 1.89, 2.061, 2.281, 2.536, 2.834, 3.196, 3.64, 4.182, 4.828",\
                 "2.112, 2.188, 2.37, 2.605, 2.874, 3.184, 3.552, 4, 4.542, 5.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.7236, 0.7869, 0.9532, 1.213, 1.576, 2.066, 2.707, 3.514, 4.501, 5.682",\
                 "0.7317, 0.795, 0.9613, 1.221, 1.584, 2.074, 2.715, 3.523, 4.509, 5.69",\
                 "0.7531, 0.8164, 0.9828, 1.243, 1.605, 2.095, 2.736, 3.544, 4.532, 5.707",\
                 "0.8011, 0.8645, 1.031, 1.29, 1.652, 2.142, 2.783, 3.591, 4.579, 5.756",\
                 "0.879, 0.9432, 1.11, 1.37, 1.731, 2.22, 2.861, 3.669, 4.655, 5.834",\
                 "0.962, 1.028, 1.199, 1.462, 1.825, 2.313, 2.952, 3.76, 4.747, 5.92",\
                 "1.045, 1.114, 1.288, 1.554, 1.919, 2.407, 3.046, 3.851, 4.838, 6.013",\
                 "1.121, 1.193, 1.372, 1.642, 2.009, 2.498, 3.136, 3.94, 4.924, 6.099",\
                 "1.182, 1.256, 1.443, 1.72, 2.093, 2.583, 3.22, 4.023, 5.006, 6.178",\
                 "1.224, 1.302, 1.495, 1.779, 2.162, 2.658, 3.296, 4.099, 5.08, 6.252");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.15, 0.1973, 0.3169, 0.5027, 0.7855, 1.205, 1.781, 2.525, 3.437, 4.531",\
                 "0.1501, 0.1974, 0.3165, 0.5033, 0.7852, 1.205, 1.781, 2.525, 3.438, 4.531",\
                 "0.1501, 0.1974, 0.3167, 0.503, 0.786, 1.205, 1.78, 2.525, 3.438, 4.528",\
                 "0.1504, 0.198, 0.3182, 0.5042, 0.7866, 1.206, 1.78, 2.525, 3.436, 4.529",\
                 "0.1738, 0.2212, 0.3352, 0.5156, 0.7926, 1.207, 1.781, 2.524, 3.439, 4.531",\
                 "0.204, 0.2556, 0.3742, 0.5508, 0.8146, 1.218, 1.785, 2.526, 3.439, 4.531",\
                 "0.238, 0.2936, 0.4184, 0.5924, 0.848, 1.237, 1.794, 2.526, 3.439, 4.526",\
                 "0.2754, 0.3364, 0.4682, 0.6436, 0.8904, 1.266, 1.811, 2.534, 3.439, 4.526",\
                 "0.3156, 0.3794, 0.5232, 0.704, 0.9478, 1.307, 1.834, 2.548, 3.444, 4.526",\
                 "0.3588, 0.4284, 0.5806, 0.7698, 1.012, 1.361, 1.876, 2.572, 3.459, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1918, 0.258, 0.4647, 0.8304, 1.4, 2.235, 3.359, 4.784, 6.525, 8.598",\
                 "0.1921, 0.2581, 0.4647, 0.8306, 1.4, 2.234, 3.358, 4.78, 6.518, 8.596",\
                 "0.1918, 0.2582, 0.4652, 0.8294, 1.4, 2.234, 3.358, 4.781, 6.523, 8.599",\
                 "0.1906, 0.2578, 0.4644, 0.8302, 1.398, 2.235, 3.358, 4.78, 6.522, 8.606",\
                 "0.1994, 0.2656, 0.4696, 0.8324, 1.401, 2.235, 3.356, 4.788, 6.522, 8.612",\
                 "0.2118, 0.2794, 0.4842, 0.8464, 1.409, 2.238, 3.358, 4.787, 6.52, 8.593",\
                 "0.2288, 0.2964, 0.5008, 0.8648, 1.42, 2.241, 3.36, 4.785, 6.521, 8.602",\
                 "0.2502, 0.3192, 0.5216, 0.8862, 1.435, 2.251, 3.363, 4.785, 6.524, 8.59",\
                 "0.275, 0.3482, 0.5504, 0.9154, 1.462, 2.264, 3.371, 4.783, 6.521, 8.6",\
                 "0.3042, 0.377, 0.584, 0.9518, 1.502, 2.295, 3.383, 4.797, 6.522, 8.598");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLKN&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4596, 0.5113, 0.6361, 0.8083, 1.024, 1.298, 1.651, 2.096, 2.639, 3.288",\
                 "0.4772, 0.5288, 0.6537, 0.8259, 1.041, 1.315, 1.668, 2.113, 2.657, 3.305",\
                 "0.5429, 0.5947, 0.7194, 0.8915, 1.107, 1.381, 1.734, 2.179, 2.722, 3.37",\
                 "0.6751, 0.7265, 0.8506, 1.023, 1.238, 1.512, 1.865, 2.31, 2.853, 3.501",\
                 "0.8637, 0.9181, 1.046, 1.219, 1.435, 1.707, 2.06, 2.504, 3.047, 3.695",\
                 "1.071, 1.131, 1.269, 1.451, 1.671, 1.943, 2.294, 2.738, 3.28, 3.928",\
                 "1.302, 1.365, 1.513, 1.706, 1.931, 2.203, 2.553, 2.995, 3.537, 4.184",\
                 "1.552, 1.621, 1.781, 1.985, 2.215, 2.487, 2.835, 3.276, 3.817, 4.463",\
                 "1.826, 1.899, 2.07, 2.287, 2.524, 2.796, 3.141, 3.581, 4.12, 4.766",\
                 "2.121, 2.199, 2.381, 2.611, 2.857, 3.128, 3.471, 3.908, 4.446, 5.09");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1521, 0.1992, 0.3181, 0.5036, 0.7724, 1.183, 1.762, 2.508, 3.42, 4.516",\
                 "0.1521, 0.1995, 0.3182, 0.5037, 0.7725, 1.184, 1.763, 2.508, 3.423, 4.516",\
                 "0.1521, 0.1992, 0.3181, 0.5036, 0.7724, 1.184, 1.763, 2.507, 3.42, 4.512",\
                 "0.1522, 0.2002, 0.3194, 0.504, 0.7726, 1.184, 1.762, 2.507, 3.422, 4.512",\
                 "0.1766, 0.2238, 0.3362, 0.515, 0.7768, 1.185, 1.762, 2.508, 3.423, 4.51",\
                 "0.2066, 0.259, 0.3754, 0.5486, 0.7924, 1.189, 1.763, 2.507, 3.422, 4.515",\
                 "0.2418, 0.2976, 0.4188, 0.5876, 0.8144, 1.196, 1.764, 2.508, 3.423, 4.516",\
                 "0.2794, 0.34, 0.4686, 0.632, 0.8386, 1.204, 1.766, 2.508, 3.42, 4.511",\
                 "0.32, 0.385, 0.5238, 0.6854, 0.8686, 1.214, 1.769, 2.51, 3.421, 4.508",\
                 "0.3632, 0.4324, 0.5794, 0.7408, 0.9022, 1.225, 1.772, 2.51, 3.42, 4.512");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.4587, 0.51, 0.6343, 0.8057, 1.023, 1.302, 1.658, 2.104, 2.648, 3.297",\
                 "0.4762, 0.5275, 0.6518, 0.8232, 1.041, 1.319, 1.675, 2.122, 2.666, 3.315",\
                 "0.542, 0.5933, 0.7173, 0.8889, 1.106, 1.385, 1.741, 2.187, 2.731, 3.38",\
                 "0.674, 0.725, 0.8488, 1.02, 1.237, 1.516, 1.872, 2.318, 2.862, 3.511",\
                 "0.8616, 0.9156, 1.043, 1.216, 1.434, 1.712, 2.068, 2.514, 3.058, 3.706",\
                 "1.069, 1.127, 1.264, 1.447, 1.671, 1.951, 2.306, 2.751, 3.295, 3.943",\
                 "1.297, 1.36, 1.508, 1.701, 1.933, 2.217, 2.573, 3.018, 3.56, 4.207",\
                 "1.546, 1.614, 1.774, 1.979, 2.222, 2.511, 2.869, 3.313, 3.855, 4.501",\
                 "1.818, 1.89, 2.061, 2.281, 2.536, 2.834, 3.196, 3.64, 4.182, 4.828",\
                 "2.112, 2.188, 2.37, 2.605, 2.874, 3.184, 3.552, 4, 4.542, 5.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.7312, 0.7948, 0.9611, 1.221, 1.583, 2.073, 2.714, 3.522, 4.509, 5.684",\
                 "0.7392, 0.8028, 0.9694, 1.229, 1.591, 2.081, 2.722, 3.53, 4.516, 5.693",\
                 "0.7601, 0.8235, 0.99, 1.249, 1.612, 2.102, 2.742, 3.551, 4.539, 5.715",\
                 "0.8063, 0.8697, 1.036, 1.296, 1.657, 2.147, 2.788, 3.597, 4.584, 5.761",\
                 "0.8825, 0.9467, 1.114, 1.373, 1.734, 2.223, 2.864, 3.672, 4.659, 5.836",\
                 "0.9644, 1.031, 1.201, 1.464, 1.826, 2.315, 2.954, 3.761, 4.749, 5.924",\
                 "1.047, 1.115, 1.289, 1.556, 1.92, 2.409, 3.047, 3.853, 4.84, 6.015",\
                 "1.123, 1.194, 1.373, 1.644, 2.011, 2.5, 3.137, 3.941, 4.925, 6.099",\
                 "1.183, 1.258, 1.445, 1.721, 2.095, 2.585, 3.221, 4.024, 5.007, 6.179",\
                 "1.225, 1.303, 1.497, 1.781, 2.163, 2.659, 3.298, 4.099, 5.081, 6.253");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.15, 0.1973, 0.3169, 0.5027, 0.7855, 1.205, 1.781, 2.525, 3.437, 4.531",\
                 "0.1503, 0.1974, 0.3165, 0.5033, 0.7852, 1.205, 1.781, 2.525, 3.438, 4.531",\
                 "0.1501, 0.1974, 0.3167, 0.503, 0.786, 1.205, 1.78, 2.525, 3.438, 4.528",\
                 "0.1504, 0.1982, 0.318, 0.5042, 0.786, 1.205, 1.781, 2.525, 3.439, 4.531",\
                 "0.1734, 0.221, 0.336, 0.5156, 0.7916, 1.208, 1.781, 2.523, 3.439, 4.531",\
                 "0.2036, 0.2552, 0.3738, 0.5502, 0.8138, 1.218, 1.785, 2.526, 3.437, 4.527",\
                 "0.2384, 0.2938, 0.4178, 0.5928, 0.8482, 1.238, 1.794, 2.528, 3.439, 4.526",\
                 "0.2758, 0.337, 0.4678, 0.6432, 0.8914, 1.266, 1.81, 2.534, 3.437, 4.529",\
                 "0.3148, 0.3796, 0.5226, 0.7038, 0.9464, 1.307, 1.834, 2.548, 3.444, 4.526",\
                 "0.3574, 0.4278, 0.5812, 0.7684, 1.011, 1.361, 1.876, 2.572, 3.458, 4.537");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.1918, 0.2581, 0.4646, 0.8296, 1.4, 2.235, 3.359, 4.786, 6.533, 8.601",\
                 "0.192, 0.2581, 0.4646, 0.8304, 1.4, 2.235, 3.359, 4.783, 6.531, 8.596",\
                 "0.1921, 0.2578, 0.4654, 0.8298, 1.398, 2.234, 3.359, 4.781, 6.522, 8.611",\
                 "0.1908, 0.2568, 0.4654, 0.83, 1.401, 2.235, 3.359, 4.778, 6.523, 8.613",\
                 "0.1988, 0.2652, 0.469, 0.8326, 1.402, 2.234, 3.359, 4.778, 6.519, 8.61",\
                 "0.2118, 0.28, 0.4844, 0.8462, 1.408, 2.238, 3.358, 4.788, 6.521, 8.599",\
                 "0.2276, 0.2962, 0.5004, 0.863, 1.419, 2.242, 3.36, 4.785, 6.522, 8.597",\
                 "0.2494, 0.319, 0.523, 0.8848, 1.437, 2.251, 3.361, 4.784, 6.523, 8.605",\
                 "0.2758, 0.3466, 0.5506, 0.916, 1.461, 2.263, 3.369, 4.783, 6.526, 8.594",\
                 "0.3044, 0.3774, 0.5816, 0.9512, 1.501, 2.294, 3.387, 4.797, 6.521, 8.594");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("1.428, 1.491, 1.657, 1.917, 2.278, 2.768, 3.408, 4.216, 5.202, 6.381",\
                 "1.445, 1.509, 1.675, 1.934, 2.296, 2.785, 3.426, 4.233, 5.221, 6.396",\
                 "1.51, 1.574, 1.74, 2, 2.361, 2.85, 3.491, 4.299, 5.286, 6.464",\
                 "1.643, 1.706, 1.873, 2.132, 2.494, 2.983, 3.624, 4.432, 5.42, 6.597",\
                 "1.845, 1.909, 2.075, 2.334, 2.696, 3.185, 3.826, 4.633, 5.622, 6.799",\
                 "2.094, 2.158, 2.324, 2.583, 2.945, 3.434, 4.074, 4.881, 5.869, 7.045",\
                 "2.378, 2.441, 2.607, 2.867, 3.228, 3.717, 4.358, 5.166, 6.153, 7.327",\
                 "2.697, 2.761, 2.927, 3.185, 3.547, 4.036, 4.677, 5.484, 6.47, 7.649",\
                 "3.047, 3.111, 3.277, 3.536, 3.897, 4.386, 5.026, 5.833, 6.819, 7.998",\
                 "3.426, 3.49, 3.657, 3.915, 4.276, 4.765, 5.406, 6.214, 7.198, 8.374");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.193, 0.2604, 0.4662, 0.8306, 1.399, 2.235, 3.358, 4.78, 6.52, 8.594",\
                 "0.1948, 0.2602, 0.4664, 0.8296, 1.401, 2.235, 3.359, 4.783, 6.527, 8.597",\
                 "0.195, 0.2608, 0.4664, 0.8304, 1.401, 2.236, 3.358, 4.783, 6.527, 8.595",\
                 "0.1944, 0.2606, 0.4664, 0.8296, 1.401, 2.235, 3.356, 4.787, 6.521, 8.595",\
                 "0.195, 0.261, 0.4668, 0.8308, 1.4, 2.232, 3.359, 4.784, 6.523, 8.612",\
                 "0.1948, 0.2606, 0.4668, 0.8312, 1.399, 2.235, 3.358, 4.785, 6.527, 8.6",\
                 "0.1944, 0.261, 0.4672, 0.8308, 1.401, 2.235, 3.355, 4.78, 6.529, 8.593",\
                 "0.1946, 0.2616, 0.4678, 0.8318, 1.399, 2.234, 3.357, 4.778, 6.518, 8.598",\
                 "0.196, 0.262, 0.4682, 0.831, 1.402, 2.233, 3.353, 4.779, 6.523, 8.598",\
                 "0.1964, 0.2618, 0.4684, 0.8322, 1.401, 2.234, 3.355, 4.776, 6.52, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("1.428, 1.491, 1.657, 1.917, 2.278, 2.767, 3.408, 4.216, 5.202, 6.381",\
                 "1.445, 1.509, 1.675, 1.934, 2.296, 2.785, 3.426, 4.234, 5.221, 6.399",\
                 "1.511, 1.574, 1.74, 2, 2.361, 2.851, 3.492, 4.299, 5.285, 6.464",\
                 "1.643, 1.707, 1.873, 2.132, 2.494, 2.983, 3.624, 4.432, 5.419, 6.597",\
                 "1.846, 1.909, 2.075, 2.334, 2.696, 3.186, 3.826, 4.633, 5.62, 6.796",\
                 "2.095, 2.158, 2.325, 2.584, 2.945, 3.434, 4.075, 4.882, 5.869, 7.047",\
                 "2.378, 2.442, 2.608, 2.867, 3.228, 3.718, 4.358, 5.165, 6.151, 7.33",\
                 "2.697, 2.761, 2.927, 3.186, 3.547, 4.037, 4.677, 5.485, 6.472, 7.649",\
                 "3.047, 3.111, 3.277, 3.536, 3.897, 4.386, 5.027, 5.833, 6.82, 7.995",\
                 "3.426, 3.49, 3.657, 3.916, 4.277, 4.765, 5.407, 6.213, 7.199, 8.374");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.193, 0.2604, 0.4666, 0.8302, 1.399, 2.235, 3.358, 4.779, 6.52, 8.598",\
                 "0.1948, 0.2608, 0.4666, 0.831, 1.401, 2.235, 3.358, 4.781, 6.526, 8.595",\
                 "0.1948, 0.2608, 0.4666, 0.831, 1.401, 2.235, 3.354, 4.782, 6.519, 8.597",\
                 "0.1948, 0.261, 0.4668, 0.8298, 1.401, 2.235, 3.358, 4.783, 6.528, 8.595",\
                 "0.195, 0.2608, 0.4664, 0.8308, 1.399, 2.235, 3.357, 4.783, 6.526, 8.598",\
                 "0.1946, 0.2606, 0.4668, 0.8314, 1.402, 2.234, 3.359, 4.782, 6.525, 8.6",\
                 "0.194, 0.2602, 0.4666, 0.8306, 1.398, 2.234, 3.357, 4.78, 6.52, 8.6",\
                 "0.1948, 0.2614, 0.4678, 0.831, 1.4, 2.234, 3.354, 4.781, 6.527, 8.598",\
                 "0.195, 0.2618, 0.468, 0.8318, 1.4, 2.232, 3.354, 4.779, 6.523, 8.594",\
                 "0.1958, 0.262, 0.4682, 0.8318, 1.399, 2.232, 3.355, 4.778, 6.526, 8.59");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("1.167, 1.23, 1.397, 1.656, 2.018, 2.508, 3.148, 3.957, 4.944, 6.122",\
                 "1.185, 1.248, 1.415, 1.674, 2.036, 2.525, 3.166, 3.975, 4.962, 6.139",\
                 "1.25, 1.314, 1.48, 1.739, 2.101, 2.591, 3.232, 4.04, 5.028, 6.204",\
                 "1.369, 1.432, 1.598, 1.858, 2.22, 2.709, 3.35, 4.159, 5.147, 6.322",\
                 "1.521, 1.584, 1.751, 2.01, 2.372, 2.861, 3.502, 4.309, 5.298, 6.473",\
                 "1.695, 1.759, 1.925, 2.184, 2.546, 3.035, 3.676, 4.484, 5.472, 6.645",\
                 "1.89, 1.954, 2.12, 2.379, 2.741, 3.23, 3.87, 4.679, 5.667, 6.842",\
                 "2.102, 2.166, 2.333, 2.592, 2.953, 3.442, 4.083, 4.89, 5.878, 7.054",\
                 "2.33, 2.394, 2.561, 2.82, 3.181, 3.669, 4.309, 5.116, 6.102, 7.278",\
                 "2.569, 2.634, 2.801, 3.06, 3.421, 3.909, 4.549, 5.357, 6.342, 7.517");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.194, 0.2608, 0.4664, 0.8294, 1.399, 2.235, 3.358, 4.783, 6.527, 8.611",\
                 "0.1932, 0.2602, 0.4666, 0.8308, 1.4, 2.235, 3.359, 4.78, 6.523, 8.605",\
                 "0.1942, 0.2602, 0.467, 0.831, 1.4, 2.233, 3.357, 4.783, 6.534, 8.609",\
                 "0.1932, 0.2602, 0.4668, 0.831, 1.4, 2.232, 3.357, 4.783, 6.534, 8.608",\
                 "0.1942, 0.2606, 0.467, 0.8308, 1.401, 2.233, 3.359, 4.784, 6.523, 8.602",\
                 "0.1946, 0.2602, 0.4674, 0.8304, 1.4, 2.235, 3.358, 4.78, 6.522, 8.595",\
                 "0.1958, 0.2626, 0.4676, 0.8306, 1.4, 2.232, 3.358, 4.788, 6.519, 8.601",\
                 "0.1984, 0.2638, 0.4696, 0.8326, 1.401, 2.234, 3.355, 4.782, 6.532, 8.603",\
                 "0.1994, 0.2652, 0.4714, 0.8342, 1.402, 2.234, 3.354, 4.779, 6.524, 8.594",\
                 "0.202, 0.2678, 0.4726, 0.8354, 1.403, 2.237, 3.358, 4.777, 6.515, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("1.167, 1.231, 1.397, 1.656, 2.018, 2.508, 3.149, 3.957, 4.945, 6.122",\
                 "1.185, 1.248, 1.415, 1.674, 2.036, 2.526, 3.167, 3.975, 4.961, 6.141",\
                 "1.25, 1.314, 1.48, 1.74, 2.101, 2.591, 3.232, 4.04, 5.028, 6.204",\
                 "1.369, 1.432, 1.599, 1.858, 2.22, 2.71, 3.351, 4.159, 5.147, 6.325",\
                 "1.521, 1.584, 1.75, 2.01, 2.372, 2.861, 3.502, 4.309, 5.297, 6.476",\
                 "1.695, 1.759, 1.925, 2.184, 2.546, 3.036, 3.676, 4.484, 5.473, 6.647",\
                 "1.89, 1.954, 2.12, 2.379, 2.741, 3.23, 3.87, 4.679, 5.666, 6.844",\
                 "2.103, 2.167, 2.334, 2.593, 2.954, 3.443, 4.083, 4.89, 5.877, 7.056",\
                 "2.329, 2.393, 2.561, 2.82, 3.181, 3.669, 4.309, 5.116, 6.101, 7.277",\
                 "2.569, 2.634, 2.801, 3.06, 3.421, 3.909, 4.549, 5.356, 6.342, 7.517");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.193, 0.26, 0.4662, 0.831, 1.4, 2.235, 3.359, 4.783, 6.52, 8.611",\
                 "0.194, 0.26, 0.4662, 0.8316, 1.399, 2.235, 3.359, 4.777, 6.525, 8.599",\
                 "0.194, 0.26, 0.466, 0.8308, 1.4, 2.235, 3.357, 4.78, 6.523, 8.604",\
                 "0.1942, 0.26, 0.466, 0.8296, 1.401, 2.235, 3.357, 4.78, 6.534, 8.598",\
                 "0.1934, 0.2606, 0.467, 0.8308, 1.402, 2.235, 3.359, 4.785, 6.529, 8.599",\
                 "0.1946, 0.2606, 0.4674, 0.8302, 1.402, 2.235, 3.357, 4.78, 6.52, 8.603",\
                 "0.1956, 0.2616, 0.468, 0.8312, 1.4, 2.233, 3.358, 4.78, 6.53, 8.6",\
                 "0.1974, 0.2626, 0.4696, 0.8326, 1.401, 2.232, 3.358, 4.782, 6.519, 8.6",\
                 "0.1996, 0.2658, 0.471, 0.8338, 1.401, 2.233, 3.354, 4.779, 6.514, 8.605",\
                 "0.202, 0.2684, 0.4742, 0.8344, 1.403, 2.233, 3.358, 4.779, 6.516, 8.59");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("1.428, 1.491, 1.657, 1.917, 2.278, 2.767, 3.408, 4.216, 5.202, 6.381",\
                 "1.445, 1.509, 1.675, 1.934, 2.296, 2.785, 3.426, 4.234, 5.221, 6.399",\
                 "1.511, 1.574, 1.74, 2, 2.361, 2.851, 3.492, 4.299, 5.285, 6.464",\
                 "1.643, 1.707, 1.873, 2.132, 2.494, 2.983, 3.624, 4.432, 5.419, 6.597",\
                 "1.846, 1.909, 2.075, 2.334, 2.696, 3.186, 3.826, 4.633, 5.62, 6.796",\
                 "2.095, 2.158, 2.325, 2.584, 2.945, 3.434, 4.075, 4.882, 5.869, 7.047",\
                 "2.378, 2.442, 2.608, 2.867, 3.228, 3.718, 4.358, 5.165, 6.151, 7.33",\
                 "2.697, 2.761, 2.927, 3.186, 3.547, 4.037, 4.677, 5.485, 6.472, 7.649",\
                 "3.047, 3.111, 3.277, 3.536, 3.897, 4.386, 5.027, 5.833, 6.82, 7.995",\
                 "3.426, 3.49, 3.657, 3.916, 4.277, 4.765, 5.407, 6.213, 7.199, 8.374");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04548, 0.1116, 0.2146, 0.3591, 0.5493, 0.7888, 1.081, 1.43");
          values("0.193, 0.2604, 0.4662, 0.8306, 1.399, 2.235, 3.358, 4.78, 6.52, 8.594",\
                 "0.1948, 0.2602, 0.4664, 0.8296, 1.401, 2.235, 3.359, 4.783, 6.527, 8.597",\
                 "0.195, 0.2608, 0.4664, 0.8304, 1.401, 2.236, 3.358, 4.783, 6.527, 8.595",\
                 "0.1944, 0.2606, 0.4664, 0.8296, 1.401, 2.235, 3.356, 4.787, 6.521, 8.595",\
                 "0.195, 0.261, 0.4668, 0.8308, 1.4, 2.232, 3.359, 4.784, 6.523, 8.612",\
                 "0.1948, 0.2606, 0.4668, 0.8312, 1.399, 2.235, 3.358, 4.785, 6.527, 8.6",\
                 "0.1944, 0.261, 0.4672, 0.8308, 1.401, 2.235, 3.355, 4.78, 6.529, 8.593",\
                 "0.1946, 0.2616, 0.4678, 0.8318, 1.399, 2.234, 3.357, 4.778, 6.518, 8.598",\
                 "0.196, 0.262, 0.4682, 0.831, 1.402, 2.233, 3.353, 4.779, 6.523, 8.598",\
                 "0.1964, 0.2618, 0.4684, 0.8322, 1.401, 2.234, 3.355, 4.776, 6.52, 8.6");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007529 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.86 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02354, 0.02259, 0.02232, 0.02226, 0.02228, 0.02233, 0.02229, \
                 0.0223, 0.02231, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02231, -0.02226, -0.02223, -0.02223, -0.02222, -0.02227, -0.02227, \
                 -0.02226, -0.02224, -0.02225");
        }
      }

      internal_power() {
        when : "!CLKN&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02344, 0.0226, 0.02232, 0.02229, 0.02229, 0.02228, 0.0223, 0.02229, \
                 0.02232, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02231, -0.02226, -0.02223, -0.02223, -0.02222, -0.02228, -0.02227, \
                 -0.02226, -0.02225, -0.02225");
        }
      }

      internal_power() {
        when : "CLKN&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02315, 0.02257, 0.02232, 0.0223, 0.02229, 0.0223, 0.0223, 0.0223, \
                 0.0223, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02229, -0.02225, -0.02222, -0.02223, -0.0222, -0.02227, -0.02226, \
                 -0.02226, -0.02225, -0.02227");
        }
      }

      internal_power() {
        when : "CLKN&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02162, 0.02089, 0.02053, 0.02041, 0.02039, 0.0204, 0.02042, \
                 0.02041, 0.0204, 0.02038");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02004, -0.02043, -0.02104, -0.02143, -0.0216, -0.02176, -0.02183, \
                 -0.02187, -0.02189, -0.02191");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.664, -0.678, -0.753, -0.898, -1.082, -1.303, -1.55, -1.83, -2.137, -2.464",\
                 "-0.662, -0.676, -0.752, -0.893, -1.081, -1.308, -1.547, -1.831, -2.137, -2.462",\
                 "-0.659, -0.67, -0.747, -0.891, -1.077, -1.304, -1.552, -1.827, -2.133, -2.461",\
                 "-0.583, -0.602, -0.679, -0.819, -1.013, -1.243, -1.494, -1.778, -2.085, -2.425",\
                 "-0.34, -0.363, -0.435, -0.596, -0.8, -1.029, -1.291, -1.589, -1.9, -2.244",\
                 "0.094, 0.07, -0.004, -0.167, -0.39, -0.642, -0.911, -1.227, -1.555, -1.92",\
                 "0.715, 0.707, 0.619, 0.426, 0.188, -0.079, -0.379, -0.719, -1.067, -1.46",\
                 "1.523, 1.514, 1.405, 1.191, 0.931, 0.629, 0.329, -0.063, -0.442, -0.87",\
                 "2.51, 2.505, 2.373, 2.138, 1.862, 1.513, 1.161, 0.766, 0.334, -0.143",\
                 "3.678, 3.663, 3.534, 3.26, 2.924, 2.573, 2.167, 1.749, 1.26, 0.742");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : removal_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.231, 1.252, 1.316, 1.453, 1.618, 1.815, 2.047, 2.296, 2.574, 2.876",\
                 "1.229, 1.247, 1.314, 1.443, 1.622, 1.815, 2.044, 2.291, 2.569, 2.871",\
                 "1.244, 1.256, 1.322, 1.454, 1.626, 1.828, 2.05, 2.306, 2.579, 2.885",\
                 "1.283, 1.305, 1.37, 1.501, 1.673, 1.873, 2.104, 2.345, 2.627, 2.929",\
                 "1.382, 1.397, 1.462, 1.595, 1.77, 1.967, 2.189, 2.449, 2.723, 3.025",\
                 "1.535, 1.55, 1.619, 1.747, 1.924, 2.116, 2.346, 2.6, 2.875, 3.181",\
                 "1.739, 1.753, 1.826, 1.952, 2.123, 2.322, 2.551, 2.808, 3.081, 3.387",\
                 "1.988, 2.008, 2.07, 2.203, 2.379, 2.571, 2.804, 3.05, 3.332, 3.639",\
                 "2.273, 2.295, 2.359, 2.493, 2.661, 2.862, 3.087, 3.339, 3.618, 3.926",\
                 "2.591, 2.606, 2.672, 2.801, 2.975, 3.175, 3.399, 3.653, 3.928, 4.237");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.86");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D&SETN" ;

        fall_constraint(scalar) {
          values("0.854");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.634");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D&SETN" ;

        fall_constraint(scalar) {
          values("0.634");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.053, 0.1, 0.129, 0.142, 0.136, 0.107, 0.054",\
                 "-0.049, -0.04, -0.006, 0.044, 0.093, 0.117, 0.133, 0.129, 0.097, 0.041",\
                 "-0.066, -0.053, -0.016, 0.034, 0.078, 0.111, 0.121, 0.118, 0.089, 0.032",\
                 "-0.062, -0.054, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.093, 0.037",\
                 "-0.04, -0.031, 0.001, 0.053, 0.101, 0.136, 0.148, 0.138, 0.111, 0.052",\
                 "-0.002, 0.006, 0.042, 0.087, 0.136, 0.167, 0.177, 0.174, 0.14, 0.078",\
                 "0.061, 0.073, 0.106, 0.154, 0.196, 0.221, 0.234, 0.231, 0.192, 0.126",\
                 "0.159, 0.163, 0.193, 0.239, 0.284, 0.314, 0.325, 0.315, 0.273, 0.209",\
                 "0.283, 0.288, 0.316, 0.361, 0.4, 0.431, 0.44, 0.435, 0.396, 0.332",\
                 "0.436, 0.441, 0.468, 0.507, 0.55, 0.582, 0.595, 0.59, 0.551, 0.486");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.053, 0.1, 0.129, 0.142, 0.136, 0.107, 0.054",\
                 "-0.049, -0.04, -0.006, 0.044, 0.093, 0.117, 0.133, 0.129, 0.097, 0.041",\
                 "-0.066, -0.053, -0.016, 0.034, 0.078, 0.111, 0.121, 0.118, 0.089, 0.032",\
                 "-0.062, -0.054, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.093, 0.037",\
                 "-0.04, -0.031, 0.001, 0.053, 0.101, 0.136, 0.148, 0.138, 0.111, 0.052",\
                 "-0.002, 0.006, 0.042, 0.087, 0.136, 0.167, 0.177, 0.174, 0.14, 0.078",\
                 "0.061, 0.073, 0.106, 0.154, 0.196, 0.221, 0.234, 0.231, 0.192, 0.126",\
                 "0.159, 0.163, 0.193, 0.239, 0.284, 0.314, 0.325, 0.315, 0.273, 0.209",\
                 "0.283, 0.288, 0.316, 0.361, 0.4, 0.431, 0.44, 0.435, 0.396, 0.332",\
                 "0.436, 0.441, 0.468, 0.507, 0.55, 0.582, 0.595, 0.59, 0.551, 0.486");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.155, -0.143, -0.116, -0.083, -0.057, -0.027, 0.007, 0.024, 0.035, 0.038",\
                 "-0.159, -0.151, -0.125, -0.091, -0.062, -0.03, -0.005, 0.016, 0.032, 0.031",\
                 "-0.184, -0.171, -0.149, -0.111, -0.078, -0.048, -0.015, 0.006, 0.023, 0.026",\
                 "-0.217, -0.209, -0.184, -0.145, -0.111, -0.072, -0.034, -0.012, 0.006, 0.014",\
                 "-0.263, -0.255, -0.225, -0.189, -0.148, -0.101, -0.07, -0.039, -0.012, -0.007",\
                 "-0.307, -0.3, -0.27, -0.227, -0.179, -0.14, -0.099, -0.062, -0.038, -0.026",\
                 "-0.344, -0.339, -0.311, -0.265, -0.217, -0.17, -0.121, -0.081, -0.062, -0.045",\
                 "-0.366, -0.362, -0.335, -0.295, -0.242, -0.191, -0.143, -0.103, -0.071, -0.055",\
                 "-0.37, -0.37, -0.346, -0.303, -0.253, -0.198, -0.151, -0.105, -0.07, -0.046",\
                 "-0.361, -0.361, -0.337, -0.293, -0.242, -0.187, -0.133, -0.088, -0.053, -0.03");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.155, -0.143, -0.116, -0.083, -0.057, -0.027, 0.007, 0.024, 0.035, 0.038",\
                 "-0.159, -0.151, -0.125, -0.091, -0.062, -0.03, -0.005, 0.016, 0.032, 0.031",\
                 "-0.184, -0.171, -0.149, -0.111, -0.078, -0.048, -0.015, 0.006, 0.023, 0.026",\
                 "-0.217, -0.209, -0.184, -0.145, -0.111, -0.072, -0.034, -0.012, 0.006, 0.014",\
                 "-0.263, -0.255, -0.225, -0.189, -0.148, -0.101, -0.07, -0.039, -0.012, -0.007",\
                 "-0.307, -0.3, -0.27, -0.227, -0.179, -0.14, -0.099, -0.062, -0.038, -0.026",\
                 "-0.344, -0.339, -0.311, -0.265, -0.216, -0.17, -0.121, -0.081, -0.062, -0.045",\
                 "-0.366, -0.362, -0.335, -0.295, -0.242, -0.191, -0.143, -0.103, -0.071, -0.055",\
                 "-0.37, -0.37, -0.346, -0.303, -0.253, -0.198, -0.151, -0.105, -0.07, -0.046",\
                 "-0.361, -0.361, -0.337, -0.293, -0.242, -0.187, -0.133, -0.088, -0.053, -0.03");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.258, 0.258, 0.262, 0.301, 0.407, 0.591, 0.853, 1.197, 1.644, 2.185",\
                 "0.268, 0.262, 0.267, 0.312, 0.409, 0.59, 0.853, 1.202, 1.645, 2.176",\
                 "0.281, 0.278, 0.284, 0.321, 0.427, 0.604, 0.857, 1.193, 1.623, 2.146",\
                 "0.299, 0.295, 0.294, 0.33, 0.423, 0.585, 0.823, 1.141, 1.541, 2.034",\
                 "0.278, 0.278, 0.278, 0.296, 0.364, 0.504, 0.699, 0.973, 1.327, 1.748",\
                 "0.232, 0.223, 0.22, 0.22, 0.258, 0.356, 0.53, 0.752, 1.044, 1.404",\
                 "0.142, 0.141, 0.13, 0.116, 0.131, 0.184, 0.315, 0.511, 0.753, 1.066",\
                 "0.03, 0.028, 0.013, -0.005, -0.002, 0.031, 0.104, 0.275, 0.516, 0.797",\
                 "-0.108, -0.112, -0.126, -0.151, -0.154, -0.133, -0.08, 0.044, 0.264, 0.551",\
                 "-0.263, -0.268, -0.279, -0.305, -0.317, -0.298, -0.252, -0.15, 0.044, 0.343");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.258, 0.258, 0.262, 0.301, 0.407, 0.591, 0.853, 1.197, 1.644, 2.185",\
                 "0.268, 0.262, 0.267, 0.312, 0.409, 0.59, 0.853, 1.202, 1.645, 2.176",\
                 "0.281, 0.278, 0.284, 0.321, 0.427, 0.604, 0.857, 1.193, 1.623, 2.146",\
                 "0.299, 0.295, 0.294, 0.33, 0.423, 0.585, 0.823, 1.141, 1.541, 2.034",\
                 "0.278, 0.278, 0.278, 0.296, 0.364, 0.504, 0.699, 0.973, 1.327, 1.748",\
                 "0.232, 0.223, 0.22, 0.22, 0.258, 0.356, 0.524, 0.752, 1.044, 1.404",\
                 "0.142, 0.141, 0.13, 0.116, 0.131, 0.184, 0.315, 0.511, 0.753, 1.066",\
                 "0.03, 0.028, 0.013, -0.005, -0.002, 0.031, 0.104, 0.275, 0.516, 0.797",\
                 "-0.108, -0.112, -0.126, -0.151, -0.154, -0.133, -0.08, 0.044, 0.264, 0.551",\
                 "-0.263, -0.268, -0.279, -0.305, -0.317, -0.298, -0.252, -0.15, 0.044, 0.343");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.355, 0.354, 0.353, 0.374, 0.444, 0.602, 0.845, 1.162, 1.573, 2.055",\
                 "0.363, 0.365, 0.356, 0.38, 0.448, 0.607, 0.844, 1.166, 1.557, 2.045",\
                 "0.383, 0.384, 0.378, 0.396, 0.47, 0.623, 0.857, 1.162, 1.557, 2.033",\
                 "0.426, 0.421, 0.422, 0.437, 0.497, 0.636, 0.843, 1.121, 1.48, 1.906",\
                 "0.479, 0.471, 0.469, 0.475, 0.518, 0.618, 0.791, 1.032, 1.337, 1.706",\
                 "0.52, 0.518, 0.507, 0.505, 0.53, 0.599, 0.733, 0.929, 1.18, 1.501",\
                 "0.555, 0.552, 0.538, 0.525, 0.531, 0.574, 0.678, 0.833, 1.043, 1.309",\
                 "0.573, 0.571, 0.559, 0.543, 0.538, 0.562, 0.631, 0.767, 0.955, 1.196",\
                 "0.584, 0.586, 0.569, 0.548, 0.537, 0.538, 0.594, 0.712, 0.894, 1.118",\
                 "0.57, 0.57, 0.563, 0.535, 0.511, 0.511, 0.554, 0.663, 0.836, 1.049");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.355, 0.354, 0.353, 0.374, 0.444, 0.602, 0.845, 1.162, 1.573, 2.055",\
                 "0.363, 0.365, 0.356, 0.38, 0.448, 0.607, 0.844, 1.16, 1.565, 2.05",\
                 "0.383, 0.384, 0.378, 0.396, 0.47, 0.623, 0.857, 1.162, 1.557, 2.028",\
                 "0.426, 0.43, 0.422, 0.437, 0.497, 0.636, 0.843, 1.121, 1.48, 1.911",\
                 "0.479, 0.471, 0.469, 0.475, 0.518, 0.627, 0.791, 1.032, 1.337, 1.7",\
                 "0.52, 0.518, 0.507, 0.505, 0.53, 0.599, 0.733, 0.929, 1.175, 1.501",\
                 "0.555, 0.552, 0.538, 0.525, 0.531, 0.574, 0.678, 0.833, 1.043, 1.309",\
                 "0.573, 0.577, 0.566, 0.543, 0.538, 0.562, 0.641, 0.767, 0.949, 1.196",\
                 "0.584, 0.578, 0.569, 0.548, 0.528, 0.538, 0.588, 0.699, 0.871, 1.091",\
                 "0.57, 0.57, 0.557, 0.529, 0.511, 0.505, 0.547, 0.647, 0.809, 1.034");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006366 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.797 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1707, 0.1702, 0.1715, 0.179, 0.195, 0.221, 0.2578, 0.3063, 0.3671, \
                 0.441");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0529, 0.0522, 0.05296, 0.05909, 0.07276, 0.09512, 0.1273, 0.1699, \
                 0.2236, 0.2892");
        }
      }

      internal_power() {
        when : "!CLKN&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02095, 0.02089, 0.02081, 0.02086, 0.02087, 0.02086, 0.02086, \
                 0.02087, 0.02088, 0.02088");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01435, -0.01433, -0.01435, -0.01433, -0.01435, -0.01441, -0.01442, \
                 -0.01443, -0.01444, -0.01447");
        }
      }

      internal_power() {
        when : "!CLKN&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1707, 0.1702, 0.1715, 0.179, 0.195, 0.221, 0.2578, 0.3062, 0.3672, \
                 0.441");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0529, 0.0522, 0.05296, 0.05909, 0.07276, 0.09512, 0.1273, 0.1699, \
                 0.2236, 0.2892");
        }
      }

      internal_power() {
        when : "!CLKN&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02096, 0.02089, 0.02084, 0.02085, 0.02086, 0.02089, 0.02089, \
                 0.02085, 0.02086, 0.02088");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01435, -0.01433, -0.01435, -0.01433, -0.01434, -0.0144, -0.01441, \
                 -0.01442, -0.01443, -0.01444");
        }
      }

      internal_power() {
        when : "CLKN&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1636, 0.1647, 0.1716, 0.1867, 0.2121, 0.2486, 0.297, \
                 0.3578, 0.4318");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05399, 0.05339, 0.0541, 0.05981, 0.0728, 0.09449, 0.1262, 0.1687, \
                 0.2225, 0.288");
        }
      }

      internal_power() {
        when : "CLKN&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07938, 0.07908, 0.07935, 0.08247, 0.08955, 0.1012, 0.1179, 0.1399, \
                 0.1674, 0.2009");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007644, 0.00748, 0.007775, 0.01019, 0.01584, 0.02549, 0.03965, \
                 0.05852, 0.08235, 0.1113");
        }
      }

      internal_power() {
        when : "CLKN&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1075, 0.1074, 0.1082, 0.1118, 0.1199, 0.1335, 0.1533, 0.1796, \
                 0.2129, 0.2534");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03034, 0.02993, 0.03035, 0.03359, 0.04078, 0.05277, 0.07033, \
                 0.09384, 0.1237, 0.1601");
        }
      }

      internal_power() {
        when : "CLKN&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02093, 0.02088, 0.02084, 0.02082, 0.02086, 0.02087, 0.02088, \
                 0.02089, 0.02086, 0.02085");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01435, -0.01433, -0.01436, -0.01433, -0.01436, -0.01441, -0.01441, \
                 -0.01443, -0.01443, -0.01446");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.177, 0.163, 0.085, -0.035, -0.196, -0.37, -0.563, -0.785, -1.03, -1.308",\
                 "0.186, 0.174, 0.095, -0.035, -0.178, -0.359, -0.561, -0.774, -1.021, -1.299",\
                 "0.227, 0.213, 0.134, 0.002, -0.138, -0.321, -0.519, -0.739, -0.983, -1.259",\
                 "0.308, 0.286, 0.213, 0.085, -0.063, -0.234, -0.435, -0.656, -0.906, -1.183",\
                 "0.42, 0.402, 0.322, 0.195, 0.041, -0.135, -0.336, -0.56, -0.803, -1.082",\
                 "0.601, 0.589, 0.5, 0.366, 0.206, 0.022, -0.19, -0.418, -0.669, -0.95",\
                 "0.909, 0.887, 0.791, 0.615, 0.445, 0.231, 0.008, -0.231, -0.488, -0.789",\
                 "1.423, 1.419, 1.262, 1.044, 0.82, 0.562, 0.3, 0.04, -0.226, -0.543",\
                 "2.12, 2.088, 1.918, 1.649, 1.389, 1.078, 0.765, 0.469, 0.171, -0.179",\
                 "2.944, 2.945, 2.692, 2.409, 2.096, 1.746, 1.382, 1.038, 0.719, 0.318");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : removal_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.263, 0.281, 0.345, 0.471, 0.635, 0.825, 1.035, 1.27, 1.531, 1.809",\
                 "0.251, 0.27, 0.337, 0.469, 0.626, 0.813, 1.024, 1.258, 1.518, 1.802",\
                 "0.219, 0.231, 0.299, 0.428, 0.591, 0.775, 0.991, 1.224, 1.487, 1.769",\
                 "0.174, 0.187, 0.251, 0.383, 0.544, 0.732, 0.945, 1.184, 1.439, 1.726",\
                 "0.132, 0.146, 0.21, 0.339, 0.504, 0.696, 0.903, 1.145, 1.408, 1.691",\
                 "0.096, 0.112, 0.183, 0.307, 0.469, 0.659, 0.877, 1.117, 1.376, 1.662",\
                 "0.078, 0.09, 0.16, 0.284, 0.453, 0.638, 0.856, 1.1, 1.356, 1.646",\
                 "0.07, 0.085, 0.156, 0.279, 0.447, 0.643, 0.862, 1.099, 1.36, 1.653",\
                 "0.084, 0.103, 0.167, 0.291, 0.466, 0.656, 0.877, 1.117, 1.385, 1.674",\
                 "0.113, 0.132, 0.199, 0.328, 0.497, 0.692, 0.916, 1.164, 1.433, 1.725");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.258, 0.268, 0.281, 0.299, 0.278, 0.232, 0.142, 0.03, -0.108, -0.263",\
                 "0.258, 0.262, 0.278, 0.295, 0.278, 0.223, 0.141, 0.028, -0.112, -0.268",\
                 "0.262, 0.267, 0.284, 0.294, 0.278, 0.22, 0.13, 0.013, -0.126, -0.279",\
                 "0.301, 0.312, 0.321, 0.33, 0.296, 0.22, 0.116, -0.005, -0.151, -0.305",\
                 "0.407, 0.409, 0.427, 0.423, 0.364, 0.258, 0.131, -0.002, -0.154, -0.317",\
                 "0.591, 0.59, 0.604, 0.585, 0.504, 0.356, 0.184, 0.031, -0.133, -0.298",\
                 "0.853, 0.853, 0.857, 0.823, 0.699, 0.53, 0.315, 0.104, -0.08, -0.252",\
                 "1.197, 1.202, 1.193, 1.141, 0.973, 0.752, 0.511, 0.275, 0.044, -0.15",\
                 "1.644, 1.645, 1.623, 1.541, 1.327, 1.044, 0.753, 0.516, 0.264, 0.044",\
                 "2.185, 2.176, 2.146, 2.034, 1.748, 1.404, 1.066, 0.797, 0.551, 0.343");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.258, 0.268, 0.281, 0.299, 0.278, 0.232, 0.142, 0.03, -0.108, -0.263",\
                 "0.258, 0.262, 0.278, 0.295, 0.278, 0.223, 0.141, 0.028, -0.112, -0.268",\
                 "0.262, 0.267, 0.284, 0.294, 0.278, 0.22, 0.13, 0.013, -0.126, -0.279",\
                 "0.301, 0.312, 0.321, 0.33, 0.296, 0.22, 0.116, -0.005, -0.151, -0.305",\
                 "0.407, 0.409, 0.427, 0.423, 0.364, 0.258, 0.131, -0.002, -0.154, -0.317",\
                 "0.591, 0.59, 0.604, 0.585, 0.504, 0.356, 0.184, 0.031, -0.133, -0.298",\
                 "0.853, 0.853, 0.857, 0.823, 0.699, 0.524, 0.315, 0.104, -0.08, -0.252",\
                 "1.197, 1.202, 1.193, 1.141, 0.973, 0.752, 0.511, 0.275, 0.044, -0.15",\
                 "1.644, 1.645, 1.623, 1.541, 1.327, 1.044, 0.753, 0.516, 0.264, 0.044",\
                 "2.185, 2.176, 2.146, 2.034, 1.748, 1.404, 1.066, 0.797, 0.551, 0.343");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.355, 0.363, 0.383, 0.426, 0.479, 0.52, 0.555, 0.573, 0.584, 0.57",\
                 "0.354, 0.365, 0.384, 0.421, 0.471, 0.518, 0.552, 0.571, 0.586, 0.57",\
                 "0.353, 0.356, 0.378, 0.422, 0.469, 0.507, 0.538, 0.559, 0.569, 0.563",\
                 "0.374, 0.38, 0.396, 0.437, 0.475, 0.505, 0.525, 0.543, 0.548, 0.535",\
                 "0.444, 0.448, 0.47, 0.497, 0.518, 0.53, 0.531, 0.538, 0.537, 0.511",\
                 "0.602, 0.607, 0.623, 0.636, 0.618, 0.599, 0.574, 0.562, 0.538, 0.511",\
                 "0.845, 0.844, 0.857, 0.843, 0.791, 0.733, 0.678, 0.631, 0.594, 0.554",\
                 "1.162, 1.166, 1.162, 1.121, 1.032, 0.929, 0.833, 0.767, 0.712, 0.663",\
                 "1.573, 1.557, 1.557, 1.48, 1.337, 1.18, 1.043, 0.955, 0.894, 0.836",\
                 "2.055, 2.045, 2.033, 1.906, 1.706, 1.501, 1.309, 1.196, 1.118, 1.049");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.355, 0.363, 0.383, 0.426, 0.479, 0.52, 0.555, 0.573, 0.584, 0.57",\
                 "0.354, 0.365, 0.384, 0.43, 0.471, 0.518, 0.552, 0.577, 0.578, 0.57",\
                 "0.353, 0.356, 0.378, 0.422, 0.469, 0.507, 0.538, 0.566, 0.569, 0.557",\
                 "0.374, 0.38, 0.396, 0.437, 0.475, 0.505, 0.525, 0.543, 0.548, 0.529",\
                 "0.444, 0.448, 0.47, 0.497, 0.518, 0.53, 0.531, 0.538, 0.528, 0.511",\
                 "0.602, 0.607, 0.623, 0.636, 0.627, 0.599, 0.574, 0.562, 0.538, 0.505",\
                 "0.845, 0.844, 0.857, 0.843, 0.791, 0.733, 0.678, 0.641, 0.588, 0.547",\
                 "1.162, 1.16, 1.162, 1.121, 1.032, 0.929, 0.833, 0.767, 0.699, 0.647",\
                 "1.573, 1.565, 1.557, 1.48, 1.337, 1.175, 1.043, 0.949, 0.871, 0.809",\
                 "2.055, 2.05, 2.028, 1.911, 1.7, 1.501, 1.309, 1.196, 1.091, 1.034");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.066, -0.062, -0.04, -0.002, 0.061, 0.159, 0.283, 0.436",\
                 "-0.033, -0.04, -0.053, -0.054, -0.031, 0.006, 0.073, 0.163, 0.288, 0.441",\
                 "0.002, -0.006, -0.016, -0.016, 0.001, 0.042, 0.106, 0.193, 0.316, 0.468",\
                 "0.053, 0.044, 0.034, 0.039, 0.053, 0.087, 0.154, 0.239, 0.361, 0.507",\
                 "0.1, 0.093, 0.078, 0.079, 0.101, 0.136, 0.196, 0.284, 0.4, 0.55",\
                 "0.129, 0.117, 0.111, 0.11, 0.136, 0.167, 0.221, 0.314, 0.431, 0.582",\
                 "0.142, 0.133, 0.121, 0.126, 0.148, 0.177, 0.234, 0.325, 0.44, 0.595",\
                 "0.136, 0.129, 0.118, 0.122, 0.138, 0.174, 0.231, 0.315, 0.435, 0.59",\
                 "0.107, 0.097, 0.089, 0.093, 0.111, 0.14, 0.192, 0.273, 0.396, 0.551",\
                 "0.054, 0.041, 0.032, 0.037, 0.052, 0.078, 0.126, 0.209, 0.332, 0.486");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.066, -0.062, -0.04, -0.002, 0.061, 0.159, 0.283, 0.436",\
                 "-0.033, -0.04, -0.053, -0.054, -0.031, 0.006, 0.073, 0.163, 0.288, 0.441",\
                 "0.002, -0.006, -0.016, -0.016, 0.001, 0.042, 0.106, 0.193, 0.316, 0.468",\
                 "0.053, 0.044, 0.034, 0.039, 0.053, 0.087, 0.154, 0.239, 0.361, 0.507",\
                 "0.1, 0.093, 0.078, 0.079, 0.101, 0.136, 0.196, 0.284, 0.4, 0.55",\
                 "0.129, 0.117, 0.111, 0.11, 0.136, 0.167, 0.221, 0.314, 0.431, 0.582",\
                 "0.142, 0.133, 0.121, 0.126, 0.148, 0.177, 0.234, 0.325, 0.44, 0.595",\
                 "0.136, 0.129, 0.118, 0.122, 0.138, 0.174, 0.231, 0.315, 0.435, 0.59",\
                 "0.107, 0.097, 0.089, 0.093, 0.111, 0.14, 0.192, 0.273, 0.396, 0.551",\
                 "0.054, 0.041, 0.032, 0.037, 0.052, 0.078, 0.126, 0.209, 0.332, 0.486");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.155, -0.159, -0.184, -0.217, -0.263, -0.307, -0.344, -0.366, -0.37, -0.361",\
                 "-0.143, -0.151, -0.171, -0.209, -0.255, -0.3, -0.339, -0.362, -0.37, -0.361",\
                 "-0.116, -0.125, -0.149, -0.184, -0.225, -0.27, -0.311, -0.335, -0.346, -0.337",\
                 "-0.083, -0.091, -0.111, -0.145, -0.189, -0.227, -0.265, -0.295, -0.303, -0.293",\
                 "-0.057, -0.062, -0.078, -0.111, -0.148, -0.179, -0.217, -0.242, -0.253, -0.242",\
                 "-0.027, -0.03, -0.048, -0.072, -0.101, -0.14, -0.17, -0.191, -0.198, -0.187",\
                 "0.007, -0.005, -0.015, -0.034, -0.07, -0.099, -0.121, -0.143, -0.151, -0.133",\
                 "0.024, 0.016, 0.006, -0.012, -0.039, -0.062, -0.081, -0.103, -0.105, -0.088",\
                 "0.035, 0.032, 0.023, 0.006, -0.012, -0.038, -0.062, -0.071, -0.07, -0.053",\
                 "0.038, 0.031, 0.026, 0.014, -0.007, -0.026, -0.045, -0.055, -0.046, -0.03");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLKN&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.155, -0.159, -0.184, -0.217, -0.263, -0.307, -0.344, -0.366, -0.37, -0.361",\
                 "-0.143, -0.151, -0.171, -0.209, -0.255, -0.3, -0.339, -0.362, -0.37, -0.361",\
                 "-0.116, -0.125, -0.149, -0.184, -0.225, -0.27, -0.311, -0.335, -0.346, -0.337",\
                 "-0.083, -0.091, -0.111, -0.145, -0.189, -0.227, -0.265, -0.295, -0.303, -0.293",\
                 "-0.057, -0.062, -0.078, -0.111, -0.148, -0.179, -0.216, -0.242, -0.253, -0.242",\
                 "-0.027, -0.03, -0.048, -0.072, -0.101, -0.14, -0.17, -0.191, -0.198, -0.187",\
                 "0.007, -0.005, -0.015, -0.034, -0.07, -0.099, -0.121, -0.143, -0.151, -0.133",\
                 "0.024, 0.016, 0.006, -0.012, -0.039, -0.062, -0.081, -0.103, -0.105, -0.088",\
                 "0.035, 0.032, 0.023, 0.006, -0.012, -0.038, -0.062, -0.071, -0.07, -0.053",\
                 "0.038, 0.031, 0.026, 0.014, -0.007, -0.026, -0.045, -0.055, -0.046, -0.03");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D&RN" ;

        fall_constraint(scalar) {
          values("0.791");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D&RN" ;

        fall_constraint(scalar) {
          values("0.791");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D&RN" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D&RN" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnsnq_1) {
    area : 79.027200 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!SETN" ;
      value : "0.0001932183" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&SETN" ;
      value : "0.000239217" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!SETN" ;
      value : "0.0001926606" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&SETN" ;
      value : "0.0003016002" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!SETN" ;
      value : "0.0001782462" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&SETN" ;
      value : "0.0002953962" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!SETN" ;
      value : "0.0001771968" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&SETN" ;
      value : "0.0002954127" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003016002" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003724 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.514 ;
      min_pulse_width_high : 0.637 ;
      min_pulse_width_low : 0.634 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1576, 0.157, 0.1576, 0.1645, 0.1787, 0.2006, 0.2311, 0.2709, \
                 0.3204, 0.3798");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1306, 0.1303, 0.1308, 0.1366, 0.1482, 0.1674, 0.1942, 0.2293, \
                 0.2729, 0.3253");
        }
      }

      internal_power() {
        when : "!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1354, 0.1347, 0.1354, 0.1419, 0.1551, 0.1757, 0.2046, 0.2422, \
                 0.2891, 0.3457");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09522, 0.09485, 0.09549, 0.1007, 0.1115, 0.1293, 0.1548, 0.1881, \
                 0.2297, 0.2798");
        }
      }

      internal_power() {
        when : "D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1374, 0.1368, 0.1375, 0.1439, 0.1571, 0.1777, 0.2065, 0.2443, \
                 0.2912, 0.3477");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09596, 0.09567, 0.09621, 0.1015, 0.1123, 0.1302, 0.1556, 0.1888, \
                 0.2304, 0.2805");
        }
      }

      internal_power() {
        when : "D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1374, 0.1368, 0.1375, 0.1439, 0.1572, 0.1777, 0.2066, 0.2441, \
                 0.2911, 0.3477");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09593, 0.09564, 0.09617, 0.1014, 0.1122, 0.1301, 0.1555, 0.1888, \
                 0.2304, 0.2805");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SETN" ;

        fall_constraint(scalar) {
          values("0.634");
        }

        rise_constraint(scalar) {
          values("0.637");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SETN" ;

        fall_constraint(scalar) {
          values("0.608");
        }

        rise_constraint(scalar) {
          values("0.584");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SETN" ;

        fall_constraint(scalar) {
          values("1.366");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SETN" ;

        fall_constraint(scalar) {
          values("1.514");
        }
      }
    }

    pin(D) {
      capacitance : 0.002568 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02664, 0.02609, 0.02804, 0.03408, 0.04477, 0.06055, 0.0818, \
                 0.109, 0.1424, 0.1824");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003109, 0.002793, 0.003893, 0.008504, 0.01736, 0.03083, 0.04914, \
                 0.0726, 0.1015, 0.1363");
        }
      }

      internal_power() {
        when : "!CLKN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02661, 0.02609, 0.02803, 0.03409, 0.04479, 0.06055, 0.08181, \
                 0.1089, 0.1423, 0.1824");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0031, 0.002791, 0.00389, 0.008516, 0.01737, 0.03084, 0.04915, \
                 0.07261, 0.1016, 0.1363");
        }
      }

      internal_power() {
        when : "CLKN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06395, 0.06367, 0.06476, 0.06917, 0.078, 0.09185, 0.1114, 0.1369, \
                 0.1689, 0.2076");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02392, 0.02373, 0.02462, 0.02809, 0.0352, 0.04671, 0.06316, \
                 0.08493, 0.1124, 0.1457");
        }
      }

      internal_power() {
        when : "CLKN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09299, 0.09269, 0.09377, 0.09867, 0.1084, 0.1237, 0.1452, 0.1732, \
                 0.208, 0.2501");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07517, 0.07496, 0.07583, 0.0797, 0.0874, 0.1, 0.1179, 0.1415, \
                 0.1711, 0.2069");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.029, -0.013, 0.05, 0.153, 0.256, 0.394, 0.555, 0.744, 0.966, 1.215",\
                 "-0.042, -0.032, 0.029, 0.131, 0.24, 0.377, 0.544, 0.726, 0.948, 1.199",\
                 "-0.114, -0.094, -0.039, 0.063, 0.174, 0.309, 0.474, 0.659, 0.884, 1.131",\
                 "-0.226, -0.209, -0.155, -0.053, 0.058, 0.191, 0.356, 0.536, 0.757, 1.005",\
                 "-0.375, -0.355, -0.295, -0.2, -0.094, 0.039, 0.194, 0.375, 0.594, 0.839",\
                 "-0.555, -0.536, -0.481, -0.381, -0.275, -0.146, 0.008, 0.183, 0.391, 0.634",\
                 "-0.766, -0.75, -0.691, -0.595, -0.496, -0.365, -0.218, -0.042, 0.162, 0.397",\
                 "-1.022, -1.007, -0.951, -0.85, -0.752, -0.629, -0.475, -0.303, -0.105, 0.129",\
                 "-1.309, -1.294, -1.231, -1.142, -1.048, -0.926, -0.777, -0.604, -0.405, -0.181",\
                 "-1.631, -1.613, -1.56, -1.468, -1.38, -1.26, -1.117, -0.95, -0.755, -0.527");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.213, 0.275, 0.399, 0.553, 0.739, 0.951, 1.193, 1.46, 1.757",\
                 "0.183, 0.198, 0.26, 0.392, 0.548, 0.724, 0.938, 1.18, 1.445, 1.744",\
                 "0.144, 0.16, 0.228, 0.352, 0.513, 0.692, 0.909, 1.144, 1.413, 1.71",\
                 "0.12, 0.139, 0.199, 0.322, 0.48, 0.666, 0.875, 1.117, 1.386, 1.687",\
                 "0.109, 0.123, 0.192, 0.317, 0.471, 0.661, 0.868, 1.116, 1.379, 1.679",\
                 "0.125, 0.142, 0.208, 0.336, 0.496, 0.675, 0.891, 1.134, 1.397, 1.701",\
                 "0.179, 0.201, 0.26, 0.384, 0.539, 0.726, 0.937, 1.178, 1.445, 1.746",\
                 "0.271, 0.288, 0.348, 0.473, 0.625, 0.811, 1.018, 1.259, 1.529, 1.828",\
                 "0.41, 0.433, 0.49, 0.606, 0.75, 0.929, 1.137, 1.374, 1.641, 1.944",\
                 "0.597, 0.614, 0.671, 0.781, 0.926, 1.1, 1.302, 1.539, 1.803, 2.093");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.475, 0.456, 0.38, 0.256, 0.109, -0.054, -0.234, -0.443, -0.672, -0.939",\
                 "0.493, 0.476, 0.397, 0.274, 0.131, -0.035, -0.219, -0.428, -0.659, -0.922",\
                 "0.56, 0.544, 0.465, 0.338, 0.201, 0.03, -0.148, -0.36, -0.586, -0.852",\
                 "0.69, 0.671, 0.596, 0.475, 0.323, 0.161, -0.016, -0.229, -0.46, -0.724",\
                 "0.866, 0.849, 0.774, 0.644, 0.505, 0.338, 0.15, -0.057, -0.281, -0.546",\
                 "1.078, 1.06, 0.985, 0.864, 0.714, 0.551, 0.369, 0.163, -0.072, -0.336",\
                 "1.339, 1.324, 1.244, 1.125, 0.977, 0.81, 0.63, 0.423, 0.186, -0.075",\
                 "1.641, 1.622, 1.548, 1.425, 1.279, 1.117, 0.934, 0.721, 0.489, 0.223",\
                 "1.985, 1.967, 1.885, 1.771, 1.625, 1.455, 1.273, 1.063, 0.832, 0.569",\
                 "2.366, 2.352, 2.274, 2.152, 2.012, 1.843, 1.66, 1.453, 1.215, 0.952");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.298, 0.286, 0.219, 0.101, -0.04, -0.209, -0.411, -0.65, -0.911, -1.204",\
                 "0.309, 0.294, 0.231, 0.11, -0.031, -0.2, -0.399, -0.637, -0.892, -1.184",\
                 "0.356, 0.343, 0.276, 0.153, 0.01, -0.155, -0.356, -0.596, -0.851, -1.146",\
                 "0.417, 0.401, 0.329, 0.207, 0.058, -0.11, -0.315, -0.549, -0.801, -1.099",\
                 "0.457, 0.44, 0.365, 0.243, 0.095, -0.083, -0.284, -0.523, -0.774, -1.076",\
                 "0.474, 0.459, 0.385, 0.257, 0.109, -0.076, -0.278, -0.519, -0.774, -1.066",\
                 "0.47, 0.45, 0.384, 0.256, 0.096, -0.086, -0.299, -0.534, -0.795, -1.096",\
                 "0.426, 0.416, 0.342, 0.216, 0.057, -0.129, -0.344, -0.578, -0.847, -1.142",\
                 "0.361, 0.345, 0.271, 0.146, -0.012, -0.206, -0.417, -0.659, -0.926, -1.224",\
                 "0.247, 0.235, 0.161, 0.031, -0.132, -0.317, -0.531, -0.773, -1.037, -1.345");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3576 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.1267, 0.1255, 0.124, 0.1232, 0.1229, 0.1227, 0.1226, 0.1225, 0.1225, 0.1224",\
                 "0.1269, 0.1256, 0.1241, 0.1234, 0.123, 0.1229, 0.1227, 0.1227, 0.1226, 0.1226",\
                 "0.1267, 0.1255, 0.124, 0.1233, 0.1229, 0.1228, 0.1226, 0.1225, 0.1225, 0.1225",\
                 "0.1271, 0.1259, 0.1243, 0.1236, 0.1233, 0.123, 0.1229, 0.1229, 0.1228, 0.1227",\
                 "0.1279, 0.1267, 0.1251, 0.1244, 0.1241, 0.1239, 0.1238, 0.1237, 0.1236, 0.1236",\
                 "0.129, 0.1278, 0.1263, 0.1256, 0.1252, 0.1251, 0.1249, 0.1249, 0.1248, 0.1248",\
                 "0.1307, 0.1295, 0.1279, 0.1272, 0.1269, 0.1267, 0.1265, 0.1264, 0.1264, 0.1264",\
                 "0.1329, 0.1317, 0.13, 0.1293, 0.129, 0.1288, 0.1287, 0.1286, 0.1285, 0.1285",\
                 "0.1354, 0.1342, 0.1326, 0.1318, 0.1315, 0.1314, 0.1313, 0.1312, 0.1311, 0.1311",\
                 "0.1383, 0.1372, 0.1355, 0.1348, 0.1344, 0.1342, 0.1341, 0.134, 0.134, 0.134");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.1713, 0.1706, 0.1697, 0.1694, 0.1696, 0.1701, 0.1708, 0.1713, 0.172, 0.1759",\
                 "0.1713, 0.1704, 0.1695, 0.1693, 0.1696, 0.1703, 0.1707, 0.1712, 0.1719, 0.1761",\
                 "0.1714, 0.1706, 0.1695, 0.1693, 0.1696, 0.1702, 0.1707, 0.1715, 0.1726, 0.1758",\
                 "0.1723, 0.1715, 0.1705, 0.1703, 0.1704, 0.1711, 0.1717, 0.1722, 0.1732, 0.1772",\
                 "0.1736, 0.1728, 0.1718, 0.1714, 0.1717, 0.1723, 0.1728, 0.1736, 0.1749, 0.1793",\
                 "0.175, 0.1742, 0.1733, 0.1732, 0.1734, 0.174, 0.1747, 0.1751, 0.1764, 0.1834",\
                 "0.177, 0.1762, 0.1752, 0.1749, 0.1755, 0.1758, 0.1765, 0.1771, 0.1781, 0.1876",\
                 "0.1792, 0.1782, 0.1773, 0.1768, 0.1775, 0.1785, 0.1791, 0.1794, 0.1809, 0.1956",\
                 "0.1811, 0.1803, 0.1792, 0.1789, 0.1791, 0.1802, 0.1813, 0.182, 0.1842, 0.2055",\
                 "0.1836, 0.1827, 0.1817, 0.1814, 0.1816, 0.1819, 0.1832, 0.1854, 0.19, 0.2269");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.221, 0.2202, 0.2191, 0.2186, 0.2188, 0.2195, 0.2201, 0.2207, 0.2216, 0.2254",\
                 "0.2204, 0.2196, 0.2185, 0.218, 0.2182, 0.2189, 0.2196, 0.2205, 0.2211, 0.2251",\
                 "0.2213, 0.2205, 0.2194, 0.219, 0.2192, 0.2199, 0.2206, 0.2215, 0.2219, 0.2256",\
                 "0.2292, 0.2284, 0.2273, 0.2268, 0.227, 0.2277, 0.2283, 0.2293, 0.2299, 0.2347",\
                 "0.2483, 0.2476, 0.2462, 0.2457, 0.2458, 0.2464, 0.247, 0.2479, 0.2486, 0.2547",\
                 "0.2787, 0.2777, 0.2761, 0.2759, 0.2756, 0.2761, 0.2768, 0.2774, 0.278, 0.2854",\
                 "0.3215, 0.3204, 0.3188, 0.3179, 0.3183, 0.3186, 0.3187, 0.3194, 0.3211, 0.3297",\
                 "0.3732, 0.3721, 0.3703, 0.3691, 0.3688, 0.3699, 0.3702, 0.3706, 0.3717, 0.3854",\
                 "0.4305, 0.4293, 0.4272, 0.4258, 0.4255, 0.4259, 0.4274, 0.4278, 0.4298, 0.4502",\
                 "0.4932, 0.4919, 0.4898, 0.4882, 0.4877, 0.4873, 0.4879, 0.4904, 0.495, 0.5307");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.221, 0.2202, 0.2191, 0.2186, 0.2188, 0.2195, 0.2201, 0.2207, 0.2216, 0.2254",\
                 "0.2204, 0.2196, 0.2185, 0.218, 0.2182, 0.2189, 0.2196, 0.2205, 0.2211, 0.2251",\
                 "0.2213, 0.2205, 0.2194, 0.219, 0.2192, 0.2199, 0.2206, 0.2215, 0.2219, 0.2256",\
                 "0.2292, 0.2284, 0.2273, 0.2268, 0.227, 0.2277, 0.2283, 0.2293, 0.2299, 0.2347",\
                 "0.2483, 0.2476, 0.2462, 0.2457, 0.2458, 0.2464, 0.247, 0.2479, 0.2486, 0.2547",\
                 "0.2787, 0.2777, 0.2761, 0.2759, 0.2756, 0.2761, 0.2768, 0.2774, 0.278, 0.2854",\
                 "0.3215, 0.3204, 0.3188, 0.3179, 0.3183, 0.3186, 0.3187, 0.3194, 0.3211, 0.3297",\
                 "0.3732, 0.3721, 0.3703, 0.3691, 0.3688, 0.3699, 0.3702, 0.3706, 0.3717, 0.3854",\
                 "0.4305, 0.4293, 0.4272, 0.4258, 0.4255, 0.4259, 0.4274, 0.4278, 0.4298, 0.4502",\
                 "0.4932, 0.4919, 0.4898, 0.4882, 0.4877, 0.4873, 0.4879, 0.4904, 0.495, 0.5307");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.2209, 0.2201, 0.219, 0.2186, 0.2188, 0.2195, 0.2201, 0.221, 0.2216, 0.2245",\
                 "0.2204, 0.2196, 0.2185, 0.218, 0.2182, 0.2189, 0.2196, 0.22, 0.221, 0.2254",\
                 "0.2214, 0.2205, 0.2194, 0.219, 0.2192, 0.2199, 0.2207, 0.2215, 0.2219, 0.2268",\
                 "0.2292, 0.2285, 0.2274, 0.2268, 0.227, 0.2277, 0.2283, 0.2293, 0.2299, 0.2347",\
                 "0.2483, 0.2475, 0.2462, 0.2457, 0.2457, 0.2464, 0.247, 0.2479, 0.2484, 0.254",\
                 "0.2787, 0.2776, 0.2762, 0.2756, 0.2756, 0.2763, 0.2767, 0.2773, 0.2784, 0.2844",\
                 "0.3215, 0.3204, 0.3187, 0.3179, 0.3183, 0.3185, 0.3188, 0.3193, 0.3206, 0.3299",\
                 "0.3731, 0.3721, 0.37, 0.3689, 0.3686, 0.3697, 0.37, 0.3707, 0.3717, 0.3851",\
                 "0.4305, 0.4293, 0.4272, 0.426, 0.4251, 0.4257, 0.4272, 0.4276, 0.4298, 0.4502",\
                 "0.4933, 0.4921, 0.4898, 0.4881, 0.4876, 0.4871, 0.4883, 0.4901, 0.4947, 0.5307");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.2209, 0.2201, 0.219, 0.2186, 0.2188, 0.2195, 0.2201, 0.221, 0.2216, 0.2245",\
                 "0.2204, 0.2196, 0.2185, 0.218, 0.2182, 0.2189, 0.2196, 0.22, 0.221, 0.2254",\
                 "0.2214, 0.2205, 0.2194, 0.219, 0.2192, 0.2199, 0.2207, 0.2215, 0.2219, 0.2268",\
                 "0.2292, 0.2285, 0.2274, 0.2268, 0.227, 0.2277, 0.2283, 0.2293, 0.2299, 0.2347",\
                 "0.2483, 0.2475, 0.2462, 0.2457, 0.2457, 0.2464, 0.247, 0.2479, 0.2484, 0.254",\
                 "0.2787, 0.2776, 0.2762, 0.2756, 0.2756, 0.2763, 0.2767, 0.2773, 0.2784, 0.2844",\
                 "0.3215, 0.3204, 0.3187, 0.3179, 0.3183, 0.3185, 0.3188, 0.3193, 0.3206, 0.3299",\
                 "0.3731, 0.3721, 0.37, 0.3689, 0.3686, 0.3697, 0.37, 0.3707, 0.3717, 0.3851",\
                 "0.4305, 0.4293, 0.4272, 0.426, 0.4251, 0.4257, 0.4272, 0.4276, 0.4298, 0.4502",\
                 "0.4933, 0.4921, 0.4898, 0.4881, 0.4876, 0.4871, 0.4883, 0.4901, 0.4947, 0.5307");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.1486, 0.1479, 0.147, 0.1468, 0.1473, 0.1478, 0.1484, 0.1493, 0.1498, 0.1534",\
                 "0.1485, 0.1477, 0.147, 0.1468, 0.147, 0.1477, 0.1483, 0.149, 0.1498, 0.1538",\
                 "0.149, 0.1483, 0.1472, 0.1471, 0.1476, 0.1481, 0.1487, 0.1493, 0.1502, 0.1548",\
                 "0.1528, 0.152, 0.1513, 0.151, 0.1512, 0.1519, 0.1525, 0.153, 0.1544, 0.1588",\
                 "0.162, 0.1613, 0.16, 0.1597, 0.1602, 0.1607, 0.1612, 0.1619, 0.1628, 0.1681",\
                 "0.1772, 0.1762, 0.1749, 0.1745, 0.1746, 0.1751, 0.1756, 0.1765, 0.1771, 0.1836",\
                 "0.1988, 0.1978, 0.1961, 0.1953, 0.1958, 0.1962, 0.1965, 0.1971, 0.1981, 0.2068",\
                 "0.2246, 0.2234, 0.2218, 0.2204, 0.2202, 0.2214, 0.2217, 0.2221, 0.2231, 0.2361",\
                 "0.2529, 0.2516, 0.2495, 0.2482, 0.2475, 0.2479, 0.2491, 0.25, 0.2521, 0.271",\
                 "0.2837, 0.2824, 0.2801, 0.2786, 0.2781, 0.2778, 0.2783, 0.2804, 0.2849, 0.3173");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.1486, 0.1479, 0.147, 0.1468, 0.1473, 0.1478, 0.1484, 0.1493, 0.1498, 0.1534",\
                 "0.1485, 0.1477, 0.147, 0.1468, 0.147, 0.1477, 0.1483, 0.149, 0.1498, 0.1538",\
                 "0.149, 0.1483, 0.1472, 0.1471, 0.1476, 0.1481, 0.1487, 0.1493, 0.1502, 0.1548",\
                 "0.1528, 0.152, 0.1513, 0.151, 0.1512, 0.1519, 0.1525, 0.153, 0.1544, 0.1588",\
                 "0.162, 0.1613, 0.16, 0.1597, 0.1602, 0.1607, 0.1612, 0.1619, 0.1628, 0.1681",\
                 "0.1772, 0.1762, 0.1749, 0.1745, 0.1746, 0.1751, 0.1756, 0.1765, 0.1771, 0.1836",\
                 "0.1988, 0.1978, 0.1961, 0.1953, 0.1958, 0.1962, 0.1965, 0.1971, 0.1981, 0.2068",\
                 "0.2246, 0.2234, 0.2218, 0.2204, 0.2202, 0.2214, 0.2217, 0.2221, 0.2231, 0.2361",\
                 "0.2529, 0.2516, 0.2495, 0.2482, 0.2475, 0.2479, 0.2491, 0.25, 0.2521, 0.271",\
                 "0.2837, 0.2824, 0.2801, 0.2786, 0.2781, 0.2778, 0.2783, 0.2804, 0.2849, 0.3173");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.148, 0.1473, 0.1465, 0.1462, 0.1464, 0.1472, 0.1478, 0.1485, 0.1493, 0.1533",\
                 "0.1479, 0.1472, 0.1464, 0.1462, 0.1466, 0.1471, 0.1479, 0.1483, 0.1495, 0.1536",\
                 "0.1483, 0.1476, 0.1468, 0.1465, 0.147, 0.1475, 0.1482, 0.1488, 0.1494, 0.1538",\
                 "0.1522, 0.1516, 0.1507, 0.1504, 0.1506, 0.1513, 0.1518, 0.1524, 0.1539, 0.1587",\
                 "0.1615, 0.1608, 0.1596, 0.1593, 0.1596, 0.1601, 0.1607, 0.1614, 0.1624, 0.1678",\
                 "0.1766, 0.1758, 0.1745, 0.1742, 0.1741, 0.1746, 0.1753, 0.1762, 0.1767, 0.183",\
                 "0.1984, 0.1974, 0.1958, 0.1949, 0.1955, 0.1958, 0.1962, 0.1967, 0.1978, 0.2073",\
                 "0.2242, 0.223, 0.2211, 0.22, 0.2199, 0.2208, 0.2213, 0.2217, 0.2234, 0.2354",\
                 "0.2525, 0.2513, 0.2493, 0.2479, 0.2472, 0.2477, 0.2489, 0.2498, 0.252, 0.2712",\
                 "0.2835, 0.2821, 0.28, 0.2782, 0.2777, 0.2773, 0.2782, 0.2802, 0.2841, 0.317");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.148, 0.1473, 0.1465, 0.1462, 0.1464, 0.1472, 0.1478, 0.1485, 0.1493, 0.1533",\
                 "0.1479, 0.1472, 0.1464, 0.1462, 0.1466, 0.1471, 0.1479, 0.1483, 0.1495, 0.1536",\
                 "0.1483, 0.1476, 0.1468, 0.1465, 0.147, 0.1475, 0.1482, 0.1488, 0.1494, 0.1538",\
                 "0.1522, 0.1516, 0.1507, 0.1504, 0.1506, 0.1513, 0.1518, 0.1524, 0.1539, 0.1587",\
                 "0.1615, 0.1608, 0.1596, 0.1593, 0.1596, 0.1601, 0.1607, 0.1614, 0.1624, 0.1678",\
                 "0.1766, 0.1758, 0.1745, 0.1742, 0.1741, 0.1746, 0.1753, 0.1762, 0.1767, 0.183",\
                 "0.1984, 0.1974, 0.1958, 0.1949, 0.1955, 0.1958, 0.1962, 0.1967, 0.1978, 0.2073",\
                 "0.2242, 0.223, 0.2211, 0.22, 0.2199, 0.2208, 0.2213, 0.2217, 0.2234, 0.2354",\
                 "0.2525, 0.2513, 0.2493, 0.2479, 0.2472, 0.2477, 0.2489, 0.2498, 0.252, 0.2712",\
                 "0.2835, 0.2821, 0.28, 0.2782, 0.2777, 0.2773, 0.2782, 0.2802, 0.2841, 0.317");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.8909, 0.9264, 1.022, 1.165, 1.364, 1.633, 1.986, 2.431, 2.974, 3.621",\
                 "0.9077, 0.943, 1.038, 1.182, 1.38, 1.65, 2.003, 2.448, 2.99, 3.637",\
                 "0.9734, 1.009, 1.104, 1.248, 1.446, 1.716, 2.069, 2.513, 3.056, 3.704",\
                 "1.101, 1.137, 1.232, 1.376, 1.574, 1.844, 2.197, 2.642, 3.184, 3.832",\
                 "1.268, 1.303, 1.399, 1.542, 1.741, 2.01, 2.363, 2.808, 3.351, 3.998",\
                 "1.462, 1.497, 1.593, 1.736, 1.935, 2.205, 2.558, 3.002, 3.545, 4.192",\
                 "1.688, 1.723, 1.819, 1.962, 2.161, 2.43, 2.783, 3.228, 3.77, 4.418",\
                 "1.943, 1.978, 2.074, 2.217, 2.416, 2.686, 3.039, 3.483, 4.026, 4.672",\
                 "2.228, 2.263, 2.359, 2.502, 2.701, 2.97, 3.323, 3.768, 4.311, 4.957",\
                 "2.542, 2.578, 2.673, 2.817, 3.016, 3.285, 3.638, 4.083, 4.625, 5.273");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.9555, 0.9954, 1.118, 1.342, 1.689, 2.176, 2.817, 3.624, 4.608, 5.785",\
                 "0.9717, 1.012, 1.134, 1.358, 1.706, 2.193, 2.833, 3.64, 4.625, 5.801",\
                 "1.038, 1.078, 1.2, 1.425, 1.772, 2.259, 2.9, 3.706, 4.692, 5.865",\
                 "1.168, 1.208, 1.331, 1.555, 1.902, 2.389, 3.03, 3.836, 4.822, 5.995",\
                 "1.339, 1.379, 1.501, 1.725, 2.072, 2.559, 3.2, 4.007, 4.992, 6.165",\
                 "1.538, 1.577, 1.7, 1.924, 2.272, 2.759, 3.399, 4.206, 5.192, 6.368",\
                 "1.769, 1.808, 1.931, 2.155, 2.503, 2.989, 3.63, 4.436, 5.423, 6.597",\
                 "2.029, 2.068, 2.191, 2.415, 2.763, 3.25, 3.89, 4.697, 5.682, 6.859",\
                 "2.317, 2.356, 2.479, 2.703, 3.051, 3.538, 4.178, 4.985, 5.968, 7.142",\
                 "2.633, 2.673, 2.795, 3.019, 3.367, 3.854, 4.494, 5.301, 6.285, 7.459");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.1238, 0.1579, 0.2603, 0.4426, 0.7402, 1.178, 1.769, 2.514, 3.425, 4.52",\
                 "0.1237, 0.1578, 0.2598, 0.4422, 0.7402, 1.179, 1.769, 2.517, 3.429, 4.52",\
                 "0.1238, 0.1578, 0.2598, 0.4426, 0.7402, 1.179, 1.769, 2.513, 3.429, 4.516",\
                 "0.1238, 0.1576, 0.2596, 0.4428, 0.7396, 1.179, 1.769, 2.515, 3.429, 4.519",\
                 "0.1238, 0.1578, 0.2604, 0.4426, 0.7402, 1.179, 1.769, 2.513, 3.426, 4.52",\
                 "0.1244, 0.1582, 0.2602, 0.4428, 0.7404, 1.179, 1.768, 2.513, 3.43, 4.516",\
                 "0.1242, 0.1576, 0.26, 0.443, 0.7396, 1.179, 1.767, 2.515, 3.429, 4.513",\
                 "0.124, 0.1578, 0.2602, 0.443, 0.7394, 1.178, 1.768, 2.513, 3.423, 4.512",\
                 "0.1244, 0.1582, 0.2606, 0.4424, 0.7398, 1.179, 1.766, 2.512, 3.422, 4.507",\
                 "0.1244, 0.159, 0.2606, 0.4434, 0.7398, 1.178, 1.767, 2.515, 3.425, 4.51");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.132, 0.1848, 0.3732, 0.7594, 1.366, 2.223, 3.352, 4.776, 6.508, 8.584",\
                 "0.1321, 0.1852, 0.3728, 0.7592, 1.367, 2.224, 3.353, 4.776, 6.508, 8.584",\
                 "0.132, 0.185, 0.3736, 0.7588, 1.366, 2.224, 3.351, 4.773, 6.515, 8.581",\
                 "0.1318, 0.185, 0.3736, 0.7598, 1.369, 2.227, 3.353, 4.776, 6.513, 8.582",\
                 "0.1318, 0.1848, 0.3728, 0.7594, 1.367, 2.223, 3.351, 4.773, 6.515, 8.583",\
                 "0.132, 0.1848, 0.3732, 0.7592, 1.369, 2.227, 3.351, 4.774, 6.513, 8.585",\
                 "0.1312, 0.1844, 0.3732, 0.7596, 1.369, 2.227, 3.352, 4.775, 6.511, 8.586",\
                 "0.1312, 0.1844, 0.3734, 0.759, 1.369, 2.223, 3.353, 4.775, 6.51, 8.587",\
                 "0.1316, 0.1846, 0.3732, 0.7586, 1.367, 2.225, 3.35, 4.772, 6.505, 8.58",\
                 "0.1314, 0.1844, 0.3728, 0.7596, 1.368, 2.225, 3.354, 4.774, 6.508, 8.588");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.7978, 0.8373, 0.9584, 1.181, 1.527, 2.014, 2.655, 3.463, 4.448, 5.623",\
                 "0.8154, 0.8549, 0.976, 1.198, 1.545, 2.032, 2.673, 3.48, 4.466, 5.64",\
                 "0.8808, 0.9203, 1.042, 1.264, 1.611, 2.097, 2.738, 3.545, 4.529, 5.705",\
                 "1.012, 1.052, 1.173, 1.395, 1.742, 2.229, 2.87, 3.677, 4.663, 5.837",\
                 "1.198, 1.238, 1.359, 1.581, 1.927, 2.414, 3.055, 3.862, 4.845, 6.022",\
                 "1.414, 1.454, 1.574, 1.797, 2.143, 2.629, 3.269, 4.077, 5.061, 6.237",\
                 "1.659, 1.699, 1.82, 2.042, 2.388, 2.874, 3.514, 4.322, 5.308, 6.478",\
                 "1.93, 1.971, 2.092, 2.312, 2.658, 3.144, 3.784, 4.591, 5.576, 6.752",\
                 "2.225, 2.266, 2.388, 2.608, 2.953, 3.439, 4.079, 4.886, 5.869, 7.043",\
                 "2.545, 2.586, 2.708, 2.928, 3.273, 3.758, 4.398, 5.205, 6.189, 7.362");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.131, 0.1835, 0.3704, 0.7558, 1.367, 2.222, 3.353, 4.776, 6.514, 8.586",\
                 "0.131, 0.1834, 0.3705, 0.7558, 1.366, 2.228, 3.353, 4.778, 6.511, 8.589",\
                 "0.131, 0.1836, 0.3706, 0.7558, 1.366, 2.223, 3.352, 4.778, 6.51, 8.584",\
                 "0.1316, 0.1838, 0.3704, 0.7558, 1.368, 2.223, 3.353, 4.778, 6.512, 8.589",\
                 "0.1322, 0.1846, 0.371, 0.7556, 1.368, 2.227, 3.352, 4.778, 6.509, 8.584",\
                 "0.1336, 0.1862, 0.3722, 0.756, 1.368, 2.228, 3.353, 4.777, 6.51, 8.588",\
                 "0.136, 0.1884, 0.3728, 0.7572, 1.366, 2.224, 3.352, 4.775, 6.516, 8.579",\
                 "0.138, 0.1902, 0.3738, 0.7564, 1.368, 2.223, 3.352, 4.773, 6.508, 8.587",\
                 "0.1402, 0.1918, 0.3752, 0.7578, 1.367, 2.225, 3.351, 4.772, 6.507, 8.577",\
                 "0.1422, 0.1942, 0.376, 0.7568, 1.368, 2.226, 3.354, 4.772, 6.507, 8.578");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.7977, 0.8372, 0.9585, 1.181, 1.527, 2.014, 2.655, 3.463, 4.448, 5.62",\
                 "0.8154, 0.8549, 0.9761, 1.198, 1.545, 2.032, 2.673, 3.48, 4.466, 5.64",\
                 "0.8809, 0.9203, 1.042, 1.264, 1.611, 2.097, 2.738, 3.545, 4.529, 5.705",\
                 "1.012, 1.052, 1.173, 1.395, 1.742, 2.229, 2.87, 3.677, 4.663, 5.837",\
                 "1.198, 1.238, 1.359, 1.581, 1.927, 2.414, 3.054, 3.862, 4.846, 6.021",\
                 "1.414, 1.454, 1.575, 1.796, 2.143, 2.629, 3.27, 4.077, 5.062, 6.235",\
                 "1.659, 1.699, 1.821, 2.042, 2.388, 2.874, 3.514, 4.321, 5.305, 6.482",\
                 "1.93, 1.97, 2.092, 2.312, 2.658, 3.144, 3.784, 4.59, 5.576, 6.75",\
                 "2.225, 2.266, 2.388, 2.608, 2.953, 3.439, 4.079, 4.886, 5.869, 7.043",\
                 "2.545, 2.586, 2.708, 2.927, 3.272, 3.758, 4.398, 5.204, 6.189, 7.362");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.1313, 0.1835, 0.3702, 0.7558, 1.367, 2.223, 3.352, 4.778, 6.516, 8.584",\
                 "0.131, 0.1835, 0.3705, 0.7558, 1.366, 2.223, 3.352, 4.776, 6.513, 8.587",\
                 "0.131, 0.1836, 0.3704, 0.756, 1.366, 2.223, 3.35, 4.777, 6.509, 8.584",\
                 "0.1314, 0.1836, 0.3704, 0.7558, 1.368, 2.223, 3.353, 4.778, 6.512, 8.588",\
                 "0.132, 0.1848, 0.3708, 0.756, 1.368, 2.223, 3.353, 4.778, 6.512, 8.583",\
                 "0.1344, 0.1858, 0.372, 0.7558, 1.368, 2.223, 3.352, 4.777, 6.516, 8.585",\
                 "0.1358, 0.1884, 0.3728, 0.7574, 1.366, 2.225, 3.352, 4.773, 6.51, 8.584",\
                 "0.1382, 0.1902, 0.3736, 0.7566, 1.368, 2.222, 3.351, 4.771, 6.51, 8.587",\
                 "0.1408, 0.1922, 0.3748, 0.757, 1.367, 2.224, 3.352, 4.772, 6.508, 8.578",\
                 "0.142, 0.1944, 0.3754, 0.7566, 1.368, 2.222, 3.352, 4.775, 6.507, 8.574");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.7044, 0.7438, 0.8653, 1.088, 1.435, 1.922, 2.562, 3.371, 4.356, 5.529",\
                 "0.7218, 0.7613, 0.8831, 1.106, 1.453, 1.94, 2.581, 3.389, 4.373, 5.55",\
                 "0.7876, 0.8271, 0.9482, 1.171, 1.518, 2.005, 2.646, 3.454, 4.441, 5.615",\
                 "0.9135, 0.953, 1.075, 1.298, 1.644, 2.131, 2.772, 3.58, 4.566, 5.743",\
                 "1.08, 1.12, 1.241, 1.464, 1.81, 2.297, 2.938, 3.746, 4.733, 5.908",\
                 "1.272, 1.311, 1.433, 1.655, 2.001, 2.488, 3.128, 3.937, 4.92, 6.097",\
                 "1.488, 1.528, 1.65, 1.872, 2.218, 2.704, 3.344, 4.152, 5.139, 6.311",\
                 "1.726, 1.767, 1.889, 2.11, 2.455, 2.942, 3.582, 4.388, 5.373, 6.551",\
                 "1.984, 2.025, 2.147, 2.368, 2.713, 3.199, 3.839, 4.646, 5.629, 6.802",\
                 "2.261, 2.302, 2.425, 2.645, 2.99, 3.476, 4.116, 4.922, 5.906, 7.079");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.1296, 0.182, 0.3698, 0.7554, 1.366, 2.223, 3.353, 4.779, 6.525, 8.598",\
                 "0.1299, 0.1821, 0.37, 0.7557, 1.368, 2.224, 3.352, 4.777, 6.514, 8.589",\
                 "0.13, 0.1824, 0.37, 0.7558, 1.366, 2.224, 3.353, 4.777, 6.513, 8.585",\
                 "0.1298, 0.1824, 0.37, 0.756, 1.366, 2.224, 3.354, 4.781, 6.517, 8.591",\
                 "0.1318, 0.1842, 0.3708, 0.756, 1.366, 2.223, 3.354, 4.777, 6.515, 8.583",\
                 "0.1332, 0.186, 0.3718, 0.7556, 1.367, 2.224, 3.353, 4.779, 6.513, 8.585",\
                 "0.1368, 0.1888, 0.3728, 0.7566, 1.365, 2.225, 3.352, 4.774, 6.514, 8.594",\
                 "0.1392, 0.1916, 0.3748, 0.7568, 1.366, 2.223, 3.35, 4.775, 6.51, 8.581",\
                 "0.1426, 0.1952, 0.3762, 0.7572, 1.368, 2.224, 3.351, 4.771, 6.516, 8.581",\
                 "0.1468, 0.1982, 0.3778, 0.7574, 1.368, 2.224, 3.353, 4.774, 6.509, 8.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.7047, 0.7441, 0.8656, 1.088, 1.435, 1.922, 2.563, 3.371, 4.356, 5.533",\
                 "0.7222, 0.7616, 0.8834, 1.106, 1.453, 1.94, 2.581, 3.389, 4.375, 5.551",\
                 "0.7877, 0.8274, 0.949, 1.172, 1.519, 2.006, 2.646, 3.455, 4.437, 5.614",\
                 "0.9138, 0.9536, 1.075, 1.298, 1.645, 2.132, 2.773, 3.58, 4.567, 5.743",\
                 "1.081, 1.12, 1.241, 1.464, 1.811, 2.297, 2.938, 3.745, 4.733, 5.909",\
                 "1.272, 1.312, 1.434, 1.656, 2.002, 2.489, 3.129, 3.937, 4.923, 6.094",\
                 "1.488, 1.529, 1.65, 1.872, 2.219, 2.705, 3.345, 4.152, 5.14, 6.314",\
                 "1.726, 1.767, 1.889, 2.11, 2.456, 2.942, 3.583, 4.388, 5.373, 6.55",\
                 "1.984, 2.025, 2.148, 2.368, 2.713, 3.199, 3.84, 4.646, 5.63, 6.803",\
                 "2.262, 2.303, 2.426, 2.646, 2.991, 3.476, 4.116, 4.923, 5.907, 7.08");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.13, 0.1822, 0.3699, 0.7558, 1.368, 2.224, 3.352, 4.777, 6.516, 8.591",\
                 "0.1292, 0.1823, 0.37, 0.7558, 1.366, 2.224, 3.353, 4.777, 6.517, 8.591",\
                 "0.1299, 0.1822, 0.37, 0.756, 1.366, 2.226, 3.353, 4.775, 6.513, 8.584",\
                 "0.13, 0.1826, 0.3698, 0.7558, 1.366, 2.226, 3.354, 4.782, 6.517, 8.59",\
                 "0.1312, 0.184, 0.3712, 0.7558, 1.366, 2.223, 3.353, 4.774, 6.515, 8.586",\
                 "0.133, 0.186, 0.3718, 0.7574, 1.366, 2.224, 3.352, 4.778, 6.524, 8.591",\
                 "0.1364, 0.1886, 0.3736, 0.7564, 1.366, 2.224, 3.353, 4.773, 6.511, 8.586",\
                 "0.1392, 0.1916, 0.3744, 0.7564, 1.366, 2.225, 3.351, 4.783, 6.512, 8.585",\
                 "0.1424, 0.1944, 0.376, 0.757, 1.368, 2.225, 3.352, 4.772, 6.508, 8.58",\
                 "0.146, 0.1982, 0.378, 0.7574, 1.368, 2.225, 3.351, 4.772, 6.507, 8.58");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.7977, 0.8372, 0.9585, 1.181, 1.527, 2.014, 2.655, 3.463, 4.448, 5.62",\
                 "0.8154, 0.8549, 0.9761, 1.198, 1.545, 2.032, 2.673, 3.48, 4.466, 5.64",\
                 "0.8809, 0.9203, 1.042, 1.264, 1.611, 2.097, 2.738, 3.545, 4.529, 5.705",\
                 "1.012, 1.052, 1.173, 1.395, 1.742, 2.229, 2.87, 3.677, 4.663, 5.837",\
                 "1.198, 1.238, 1.359, 1.581, 1.927, 2.414, 3.054, 3.862, 4.846, 6.021",\
                 "1.414, 1.454, 1.575, 1.796, 2.143, 2.629, 3.27, 4.077, 5.062, 6.235",\
                 "1.659, 1.699, 1.821, 2.042, 2.388, 2.874, 3.514, 4.321, 5.305, 6.482",\
                 "1.93, 1.97, 2.092, 2.312, 2.658, 3.144, 3.784, 4.59, 5.576, 6.75",\
                 "2.225, 2.266, 2.388, 2.608, 2.953, 3.439, 4.079, 4.886, 5.869, 7.043",\
                 "2.545, 2.586, 2.708, 2.927, 3.272, 3.758, 4.398, 5.204, 6.189, 7.362");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003461, 0.0121, 0.0286, 0.0543, 0.09037, 0.1378, 0.1976, 0.2706, 0.3576");
          values("0.1296, 0.182, 0.3698, 0.7554, 1.366, 2.223, 3.353, 4.779, 6.525, 8.598",\
                 "0.1299, 0.1821, 0.37, 0.7557, 1.368, 2.224, 3.352, 4.777, 6.514, 8.589",\
                 "0.13, 0.1824, 0.37, 0.7558, 1.366, 2.224, 3.353, 4.777, 6.513, 8.585",\
                 "0.1298, 0.1824, 0.37, 0.756, 1.366, 2.224, 3.354, 4.781, 6.517, 8.591",\
                 "0.1318, 0.1842, 0.3708, 0.756, 1.366, 2.223, 3.354, 4.777, 6.515, 8.583",\
                 "0.1332, 0.186, 0.3718, 0.7556, 1.367, 2.224, 3.353, 4.779, 6.513, 8.585",\
                 "0.1368, 0.1888, 0.3728, 0.7566, 1.365, 2.225, 3.352, 4.774, 6.514, 8.594",\
                 "0.1392, 0.1916, 0.3748, 0.7568, 1.366, 2.223, 3.35, 4.775, 6.51, 8.581",\
                 "0.1426, 0.1952, 0.3762, 0.7572, 1.368, 2.224, 3.351, 4.771, 6.516, 8.581",\
                 "0.1468, 0.1982, 0.3778, 0.7574, 1.368, 2.224, 3.353, 4.774, 6.509, 8.576");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006243 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.529 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01979, 0.01974, 0.01969, 0.0197, 0.01969, 0.01974, 0.01973, \
                 0.01971, 0.01974, 0.01976");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01066, -0.01067, -0.01069, -0.01067, -0.01074, -0.01076, -0.01078, \
                 -0.01078, -0.01082, -0.01084");
        }
      }

      internal_power() {
        when : "!CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0198, 0.01976, 0.0197, 0.01969, 0.01971, 0.01973, 0.01973, 0.01974, \
                 0.01974, 0.01974");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01066, -0.01067, -0.01069, -0.01067, -0.01074, -0.01077, -0.01077, \
                 -0.01078, -0.01081, -0.01083");
        }
      }

      internal_power() {
        when : "CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06123, 0.06086, 0.0613, 0.06507, 0.07319, 0.08622, 0.1044, 0.1283, \
                 0.1579, 0.1937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01408, 0.01383, 0.01417, 0.01704, 0.02365, 0.0347, 0.05044, \
                 0.07124, 0.09722, 0.1287");
        }
      }

      internal_power() {
        when : "CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01977, 0.01974, 0.01973, 0.01968, 0.0197, 0.01974, 0.01974, \
                 0.01973, 0.01975, 0.01972");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01067, -0.01067, -0.01068, -0.01071, -0.01075, -0.01077, -0.01078, \
                 -0.01079, -0.01081, -0.01084");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.114, 0.101, 0.02, -0.098, -0.248, -0.417, -0.614, -0.839, -1.094, -1.381",\
                 "0.124, 0.111, 0.03, -0.093, -0.232, -0.412, -0.604, -0.834, -1.077, -1.372",\
                 "0.163, 0.148, 0.071, -0.05, -0.19, -0.366, -0.565, -0.789, -1.041, -1.329",\
                 "0.244, 0.228, 0.155, 0.031, -0.115, -0.285, -0.485, -0.716, -0.967, -1.256",\
                 "0.368, 0.348, 0.278, 0.143, -0.006, -0.179, -0.387, -0.604, -0.859, -1.159",\
                 "0.549, 0.536, 0.437, 0.308, 0.162, -0.032, -0.244, -0.469, -0.732, -1.021",\
                 "0.867, 0.861, 0.737, 0.575, 0.394, 0.184, -0.048, -0.28, -0.547, -0.853",\
                 "1.376, 1.383, 1.231, 1.017, 0.783, 0.545, 0.261, 0.006, -0.287, -0.599",\
                 "2.017, 2.032, 1.885, 1.596, 1.332, 1.031, 0.718, 0.422, 0.109, -0.224",\
                 "2.793, 2.793, 2.633, 2.353, 2.007, 1.649, 1.296, 0.982, 0.629, 0.266");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.213, 0.275, 0.399, 0.554, 0.739, 0.951, 1.187, 1.452, 1.741",\
                 "0.183, 0.198, 0.266, 0.392, 0.548, 0.73, 0.938, 1.174, 1.437, 1.734",\
                 "0.144, 0.16, 0.228, 0.352, 0.513, 0.692, 0.909, 1.144, 1.405, 1.7",\
                 "0.101, 0.119, 0.182, 0.307, 0.465, 0.651, 0.865, 1.104, 1.369, 1.665",\
                 "0.065, 0.077, 0.149, 0.27, 0.431, 0.618, 0.828, 1.071, 1.341, 1.631",\
                 "0.027, 0.041, 0.113, 0.234, 0.399, 0.583, 0.803, 1.042, 1.308, 1.61",\
                 "0.002, 0.021, 0.087, 0.214, 0.373, 0.564, 0.783, 1.032, 1.297, 1.596",\
                 "-0.006, 0.008, 0.075, 0.199, 0.366, 0.559, 0.784, 1.024, 1.299, 1.597",\
                 "-0.003, 0.007, 0.076, 0.204, 0.371, 0.567, 0.789, 1.043, 1.322, 1.62",\
                 "0.009, 0.027, 0.092, 0.221, 0.395, 0.595, 0.824, 1.076, 1.361, 1.663");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnsnq_2) {
    area : 83.417600 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!SETN" ;
      value : "0.0002042931" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&SETN" ;
      value : "0.0002507472" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!SETN" ;
      value : "0.0002037387" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&SETN" ;
      value : "0.0003126717" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!SETN" ;
      value : "0.0001893243" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&SETN" ;
      value : "0.0003064776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!SETN" ;
      value : "0.0001882749" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&SETN" ;
      value : "0.0003064908" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003126717" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003723 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.485 ;
      min_pulse_width_high : 0.65 ;
      min_pulse_width_low : 0.702 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1576, 0.157, 0.1576, 0.1645, 0.1787, 0.2006, 0.2311, 0.2709, \
                 0.3205, 0.3799");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1306, 0.1303, 0.1308, 0.1366, 0.1482, 0.1674, 0.1942, 0.2293, \
                 0.2729, 0.3252");
        }
      }

      internal_power() {
        when : "!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1354, 0.1348, 0.1354, 0.1419, 0.1551, 0.1757, 0.2045, 0.2422, \
                 0.2892, 0.3458");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09524, 0.09485, 0.09548, 0.1007, 0.1114, 0.1294, 0.1548, 0.1881, \
                 0.2297, 0.2799");
        }
      }

      internal_power() {
        when : "D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1374, 0.1368, 0.1375, 0.1439, 0.1571, 0.1777, 0.2065, 0.2442, \
                 0.291, 0.3477");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09596, 0.09567, 0.09621, 0.1015, 0.1122, 0.1301, 0.1556, 0.1888, \
                 0.2304, 0.2805");
        }
      }

      internal_power() {
        when : "D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1374, 0.1368, 0.1375, 0.1439, 0.1572, 0.1777, 0.2066, 0.2441, \
                 0.2911, 0.3478");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09591, 0.09559, 0.09617, 0.1015, 0.1122, 0.1301, 0.1555, 0.1889, \
                 0.2305, 0.2805");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SETN" ;

        fall_constraint(scalar) {
          values("0.702");
        }

        rise_constraint(scalar) {
          values("0.65");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SETN" ;

        fall_constraint(scalar) {
          values("0.702");
        }

        rise_constraint(scalar) {
          values("0.604");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SETN" ;

        fall_constraint(scalar) {
          values("1.461");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SETN" ;

        fall_constraint(scalar) {
          values("1.485");
        }
      }
    }

    pin(D) {
      capacitance : 0.002568 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02663, 0.02608, 0.02804, 0.03408, 0.04477, 0.06055, 0.08178, \
                 0.109, 0.1424, 0.1824");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003109, 0.002792, 0.003893, 0.008504, 0.01736, 0.03083, 0.04913, \
                 0.07259, 0.1015, 0.1363");
        }
      }

      internal_power() {
        when : "!CLKN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02662, 0.02608, 0.02805, 0.03407, 0.04475, 0.06054, 0.0818, \
                 0.1089, 0.1424, 0.1824");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003115, 0.002777, 0.003884, 0.008532, 0.01737, 0.03084, 0.04914, \
                 0.0726, 0.1016, 0.1362");
        }
      }

      internal_power() {
        when : "CLKN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06395, 0.06367, 0.06476, 0.06917, 0.078, 0.09185, 0.1114, 0.1369, \
                 0.1689, 0.2076");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02392, 0.02372, 0.02462, 0.02809, 0.0352, 0.04671, 0.06316, \
                 0.08493, 0.1124, 0.1457");
        }
      }

      internal_power() {
        when : "CLKN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09299, 0.09269, 0.09377, 0.09866, 0.1085, 0.1237, 0.1452, 0.1732, \
                 0.208, 0.2501");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07515, 0.07495, 0.07584, 0.0797, 0.0874, 0.1, 0.1178, 0.1415, \
                 0.1711, 0.2069");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006, 0.008, 0.066, 0.162, 0.278, 0.411, 0.572, 0.756, 0.974, 1.226",\
                 "-0.022, -0.008, 0.053, 0.151, 0.263, 0.394, 0.552, 0.744, 0.964, 1.21",\
                 "-0.087, -0.077, -0.016, 0.08, 0.191, 0.322, 0.483, 0.671, 0.892, 1.137",\
                 "-0.198, -0.189, -0.131, -0.038, 0.074, 0.205, 0.366, 0.55, 0.766, 1.01",\
                 "-0.345, -0.332, -0.277, -0.184, -0.074, 0.057, 0.211, 0.39, 0.604, 0.845",\
                 "-0.526, -0.513, -0.455, -0.366, -0.258, -0.13, 0.022, 0.2, 0.407, 0.647",\
                 "-0.74, -0.724, -0.673, -0.585, -0.479, -0.352, -0.202, -0.022, 0.174, 0.411",\
                 "-0.986, -0.977, -0.92, -0.836, -0.73, -0.604, -0.456, -0.292, -0.091, 0.137",\
                 "-1.269, -1.254, -1.206, -1.124, -1.02, -0.905, -0.76, -0.591, -0.397, -0.163",\
                 "-1.584, -1.577, -1.522, -1.446, -1.356, -1.235, -1.103, -0.934, -0.737, -0.516");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.213, 0.275, 0.408, 0.561, 0.745, 0.951, 1.193, 1.46, 1.762",\
                 "0.183, 0.198, 0.266, 0.392, 0.548, 0.73, 0.938, 1.18, 1.453, 1.75",\
                 "0.144, 0.16, 0.228, 0.352, 0.513, 0.692, 0.909, 1.15, 1.413, 1.716",\
                 "0.12, 0.139, 0.199, 0.33, 0.479, 0.666, 0.885, 1.117, 1.386, 1.687",\
                 "0.109, 0.131, 0.192, 0.317, 0.478, 0.661, 0.874, 1.116, 1.389, 1.679",\
                 "0.13, 0.148, 0.215, 0.336, 0.496, 0.68, 0.891, 1.134, 1.403, 1.701",\
                 "0.187, 0.201, 0.269, 0.394, 0.545, 0.726, 0.945, 1.188, 1.451, 1.746",\
                 "0.277, 0.294, 0.361, 0.48, 0.632, 0.811, 1.028, 1.265, 1.529, 1.828",\
                 "0.418, 0.433, 0.498, 0.615, 0.759, 0.934, 1.143, 1.381, 1.649, 1.944",\
                 "0.607, 0.624, 0.682, 0.792, 0.932, 1.1, 1.309, 1.539, 1.803, 2.098");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.475, 0.463, 0.385, 0.256, 0.117, -0.054, -0.234, -0.443, -0.672, -0.939",\
                 "0.493, 0.476, 0.403, 0.274, 0.131, -0.035, -0.219, -0.428, -0.659, -0.916",\
                 "0.56, 0.55, 0.472, 0.344, 0.201, 0.036, -0.148, -0.354, -0.586, -0.852",\
                 "0.69, 0.681, 0.602, 0.475, 0.328, 0.161, -0.016, -0.228, -0.46, -0.725",\
                 "0.866, 0.857, 0.774, 0.655, 0.505, 0.338, 0.156, -0.049, -0.281, -0.546",\
                 "1.084, 1.066, 0.992, 0.864, 0.723, 0.556, 0.369, 0.163, -0.072, -0.329",\
                 "1.339, 1.324, 1.253, 1.125, 0.977, 0.817, 0.63, 0.423, 0.186, -0.075",\
                 "1.641, 1.628, 1.554, 1.425, 1.279, 1.117, 0.934, 0.721, 0.489, 0.231",\
                 "1.985, 1.975, 1.893, 1.771, 1.625, 1.46, 1.273, 1.063, 0.832, 0.569",\
                 "2.371, 2.357, 2.284, 2.163, 2.012, 1.849, 1.66, 1.453, 1.215, 0.952");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.321, 0.306, 0.229, 0.111, -0.017, -0.186, -0.386, -0.62, -0.871, -1.157",\
                 "0.336, 0.317, 0.249, 0.129, -0.008, -0.171, -0.373, -0.601, -0.852, -1.142",\
                 "0.377, 0.361, 0.291, 0.17, 0.027, -0.136, -0.329, -0.571, -0.809, -1.104",\
                 "0.435, 0.421, 0.347, 0.23, 0.075, -0.095, -0.285, -0.509, -0.766, -1.055",\
                 "0.472, 0.456, 0.382, 0.259, 0.108, -0.065, -0.267, -0.493, -0.745, -1.04",\
                 "0.497, 0.471, 0.405, 0.279, 0.127, -0.054, -0.264, -0.494, -0.748, -1.034",\
                 "0.496, 0.475, 0.393, 0.266, 0.108, -0.066, -0.283, -0.514, -0.777, -1.067",\
                 "0.455, 0.434, 0.361, 0.229, 0.072, -0.112, -0.325, -0.566, -0.82, -1.118",\
                 "0.385, 0.362, 0.288, 0.154, -0.002, -0.19, -0.405, -0.638, -0.903, -1.206",\
                 "0.273, 0.256, 0.177, 0.048, -0.109, -0.298, -0.516, -0.757, -1.019, -1.325");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.7173 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.181, 0.1749, 0.167, 0.1632, 0.1613, 0.1602, 0.1596, 0.1591, 0.1589, 0.1587",\
                 "0.1811, 0.175, 0.167, 0.1632, 0.1613, 0.1602, 0.1596, 0.1592, 0.1589, 0.1588",\
                 "0.181, 0.1748, 0.1669, 0.1632, 0.1613, 0.1602, 0.1595, 0.1591, 0.1588, 0.1587",\
                 "0.1813, 0.1751, 0.1672, 0.1634, 0.1615, 0.1604, 0.1598, 0.1594, 0.1591, 0.1589",\
                 "0.1821, 0.1759, 0.168, 0.1643, 0.1624, 0.1613, 0.1606, 0.1603, 0.16, 0.1598",\
                 "0.1833, 0.177, 0.1691, 0.1654, 0.1635, 0.1623, 0.1617, 0.1613, 0.161, 0.1608",\
                 "0.1849, 0.1788, 0.1707, 0.167, 0.1651, 0.164, 0.1633, 0.1629, 0.1627, 0.1625",\
                 "0.187, 0.1808, 0.1728, 0.169, 0.1672, 0.1661, 0.1654, 0.165, 0.1647, 0.1645",\
                 "0.1894, 0.1832, 0.1752, 0.1715, 0.1695, 0.1683, 0.1677, 0.1673, 0.167, 0.1668",\
                 "0.1925, 0.1862, 0.1781, 0.1743, 0.1723, 0.1712, 0.1705, 0.1701, 0.1698, 0.1697");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2121, 0.2081, 0.2037, 0.2019, 0.2017, 0.2024, 0.2035, 0.2048, 0.2063, 0.2143",\
                 "0.212, 0.2082, 0.2037, 0.202, 0.2016, 0.2025, 0.2038, 0.2051, 0.2073, 0.2142",\
                 "0.212, 0.2084, 0.204, 0.2021, 0.2019, 0.2027, 0.2038, 0.2048, 0.208, 0.2153",\
                 "0.213, 0.2092, 0.2049, 0.203, 0.2025, 0.2033, 0.2043, 0.2059, 0.2084, 0.2171",\
                 "0.2142, 0.2104, 0.2061, 0.2042, 0.2039, 0.2046, 0.2059, 0.2072, 0.2091, 0.2201",\
                 "0.2155, 0.2121, 0.2081, 0.206, 0.2057, 0.2064, 0.2071, 0.2088, 0.2107, 0.2261",\
                 "0.2173, 0.2137, 0.2089, 0.2075, 0.2075, 0.208, 0.2089, 0.2099, 0.2129, 0.2336",\
                 "0.2194, 0.216, 0.2111, 0.2089, 0.2092, 0.2109, 0.2116, 0.2126, 0.2155, 0.2451",\
                 "0.2215, 0.2178, 0.2132, 0.2113, 0.2109, 0.2124, 0.2152, 0.2164, 0.22, 0.2664",\
                 "0.2236, 0.2199, 0.2153, 0.2138, 0.2129, 0.213, 0.2149, 0.2196, 0.2295, 0.3053");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2596, 0.2563, 0.2522, 0.2501, 0.2499, 0.2508, 0.2516, 0.2529, 0.2557, 0.2621",\
                 "0.259, 0.2558, 0.2516, 0.2496, 0.2492, 0.2501, 0.251, 0.2523, 0.2551, 0.2615",\
                 "0.2598, 0.2565, 0.2522, 0.2505, 0.2501, 0.2512, 0.2525, 0.2534, 0.2562, 0.2636",\
                 "0.2677, 0.2643, 0.2604, 0.2584, 0.258, 0.259, 0.2596, 0.261, 0.2628, 0.2725",\
                 "0.2869, 0.2834, 0.279, 0.2771, 0.2766, 0.277, 0.2778, 0.2795, 0.282, 0.2936",\
                 "0.3172, 0.3137, 0.309, 0.3065, 0.3057, 0.3067, 0.3074, 0.3088, 0.3107, 0.3246",\
                 "0.3603, 0.3566, 0.3514, 0.3488, 0.3486, 0.3484, 0.349, 0.3506, 0.3543, 0.3729",\
                 "0.4129, 0.4092, 0.4034, 0.4, 0.3991, 0.401, 0.4012, 0.4015, 0.4043, 0.4343",\
                 "0.4713, 0.4673, 0.462, 0.4578, 0.4559, 0.4562, 0.4599, 0.4594, 0.464, 0.5067",\
                 "0.5352, 0.531, 0.5249, 0.5209, 0.5187, 0.5172, 0.5193, 0.5233, 0.5331, 0.6083");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2596, 0.2563, 0.2522, 0.2501, 0.2499, 0.2508, 0.2516, 0.2529, 0.2557, 0.2621",\
                 "0.259, 0.2558, 0.2516, 0.2496, 0.2492, 0.2501, 0.251, 0.2523, 0.2551, 0.2615",\
                 "0.2598, 0.2565, 0.2522, 0.2505, 0.2501, 0.2512, 0.2525, 0.2534, 0.2562, 0.2636",\
                 "0.2677, 0.2643, 0.2604, 0.2584, 0.258, 0.259, 0.2596, 0.261, 0.2628, 0.2725",\
                 "0.2869, 0.2834, 0.279, 0.2771, 0.2766, 0.277, 0.2778, 0.2795, 0.282, 0.2936",\
                 "0.3172, 0.3137, 0.309, 0.3065, 0.3057, 0.3067, 0.3074, 0.3088, 0.3107, 0.3246",\
                 "0.3603, 0.3566, 0.3514, 0.3488, 0.3486, 0.3484, 0.349, 0.3506, 0.3543, 0.3729",\
                 "0.4129, 0.4092, 0.4034, 0.4, 0.3991, 0.401, 0.4012, 0.4015, 0.4043, 0.4343",\
                 "0.4713, 0.4673, 0.462, 0.4578, 0.4559, 0.4562, 0.4599, 0.4594, 0.464, 0.5067",\
                 "0.5352, 0.531, 0.5249, 0.5209, 0.5187, 0.5172, 0.5193, 0.5233, 0.5331, 0.6083");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2595, 0.2563, 0.2519, 0.2501, 0.2497, 0.2506, 0.2516, 0.2529, 0.2557, 0.2621",\
                 "0.2589, 0.2558, 0.2516, 0.2496, 0.2493, 0.2503, 0.251, 0.2523, 0.2551, 0.2615",\
                 "0.2598, 0.2565, 0.2522, 0.2505, 0.2501, 0.2511, 0.2522, 0.2533, 0.2562, 0.2636",\
                 "0.2677, 0.2645, 0.2604, 0.2584, 0.258, 0.259, 0.2597, 0.2609, 0.2634, 0.2729",\
                 "0.2868, 0.2835, 0.2789, 0.2765, 0.2762, 0.277, 0.2781, 0.2794, 0.2813, 0.2936",\
                 "0.3174, 0.3136, 0.309, 0.3066, 0.3059, 0.3064, 0.3074, 0.3088, 0.3107, 0.3246",\
                 "0.3602, 0.3565, 0.3513, 0.3487, 0.3485, 0.3484, 0.349, 0.3506, 0.3543, 0.3717",\
                 "0.413, 0.4092, 0.4036, 0.3998, 0.3988, 0.4006, 0.4012, 0.4025, 0.4047, 0.4343",\
                 "0.4715, 0.4674, 0.4616, 0.4578, 0.4559, 0.456, 0.4592, 0.4595, 0.4637, 0.5082",\
                 "0.5351, 0.5309, 0.5249, 0.5207, 0.5189, 0.5173, 0.5196, 0.5233, 0.5328, 0.6086");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2595, 0.2563, 0.2519, 0.2501, 0.2497, 0.2506, 0.2516, 0.2529, 0.2557, 0.2621",\
                 "0.2589, 0.2558, 0.2516, 0.2496, 0.2493, 0.2503, 0.251, 0.2523, 0.2551, 0.2615",\
                 "0.2598, 0.2565, 0.2522, 0.2505, 0.2501, 0.2511, 0.2522, 0.2533, 0.2562, 0.2636",\
                 "0.2677, 0.2645, 0.2604, 0.2584, 0.258, 0.259, 0.2597, 0.2609, 0.2634, 0.2729",\
                 "0.2868, 0.2835, 0.2789, 0.2765, 0.2762, 0.277, 0.2781, 0.2794, 0.2813, 0.2936",\
                 "0.3174, 0.3136, 0.309, 0.3066, 0.3059, 0.3064, 0.3074, 0.3088, 0.3107, 0.3246",\
                 "0.3602, 0.3565, 0.3513, 0.3487, 0.3485, 0.3484, 0.349, 0.3506, 0.3543, 0.3717",\
                 "0.413, 0.4092, 0.4036, 0.3998, 0.3988, 0.4006, 0.4012, 0.4025, 0.4047, 0.4343",\
                 "0.4715, 0.4674, 0.4616, 0.4578, 0.4559, 0.456, 0.4592, 0.4595, 0.4637, 0.5082",\
                 "0.5351, 0.5309, 0.5249, 0.5207, 0.5189, 0.5173, 0.5196, 0.5233, 0.5328, 0.6086");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1871, 0.1839, 0.1799, 0.1784, 0.1783, 0.1794, 0.1806, 0.1816, 0.1834, 0.1912",\
                 "0.1871, 0.1839, 0.1801, 0.178, 0.1782, 0.1794, 0.1804, 0.1813, 0.1831, 0.1906",\
                 "0.1876, 0.1842, 0.1804, 0.1785, 0.1786, 0.1799, 0.1806, 0.1822, 0.1846, 0.1929",\
                 "0.1913, 0.1881, 0.1843, 0.1821, 0.1826, 0.1832, 0.1844, 0.1856, 0.1875, 0.1963",\
                 "0.201, 0.1977, 0.1935, 0.1911, 0.1909, 0.1913, 0.1927, 0.1937, 0.1959, 0.2066",\
                 "0.2163, 0.2129, 0.2081, 0.2062, 0.2053, 0.206, 0.2066, 0.2081, 0.21, 0.2235",\
                 "0.2388, 0.235, 0.2296, 0.2264, 0.2266, 0.2266, 0.2278, 0.2287, 0.2308, 0.2491",\
                 "0.2665, 0.2625, 0.2567, 0.2529, 0.2514, 0.2531, 0.2538, 0.2547, 0.2569, 0.2836",\
                 "0.2972, 0.2925, 0.286, 0.282, 0.2796, 0.2799, 0.2822, 0.284, 0.2872, 0.3277",\
                 "0.3303, 0.3257, 0.3189, 0.3136, 0.3114, 0.3103, 0.3111, 0.3152, 0.3238, 0.3929");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1871, 0.1839, 0.1799, 0.1784, 0.1783, 0.1794, 0.1806, 0.1816, 0.1834, 0.1912",\
                 "0.1871, 0.1839, 0.1801, 0.178, 0.1782, 0.1794, 0.1804, 0.1813, 0.1831, 0.1906",\
                 "0.1876, 0.1842, 0.1804, 0.1785, 0.1786, 0.1799, 0.1806, 0.1822, 0.1846, 0.1929",\
                 "0.1913, 0.1881, 0.1843, 0.1821, 0.1826, 0.1832, 0.1844, 0.1856, 0.1875, 0.1963",\
                 "0.201, 0.1977, 0.1935, 0.1911, 0.1909, 0.1913, 0.1927, 0.1937, 0.1959, 0.2066",\
                 "0.2163, 0.2129, 0.2081, 0.2062, 0.2053, 0.206, 0.2066, 0.2081, 0.21, 0.2235",\
                 "0.2388, 0.235, 0.2296, 0.2264, 0.2266, 0.2266, 0.2278, 0.2287, 0.2308, 0.2491",\
                 "0.2665, 0.2625, 0.2567, 0.2529, 0.2514, 0.2531, 0.2538, 0.2547, 0.2569, 0.2836",\
                 "0.2972, 0.2925, 0.286, 0.282, 0.2796, 0.2799, 0.2822, 0.284, 0.2872, 0.3277",\
                 "0.3303, 0.3257, 0.3189, 0.3136, 0.3114, 0.3103, 0.3111, 0.3152, 0.3238, 0.3929");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1866, 0.1834, 0.1797, 0.1777, 0.1778, 0.1789, 0.1799, 0.1808, 0.1829, 0.1907",\
                 "0.1865, 0.1833, 0.1795, 0.1775, 0.1776, 0.1788, 0.1799, 0.1811, 0.1833, 0.1904",\
                 "0.187, 0.1838, 0.1798, 0.1779, 0.1778, 0.1789, 0.1799, 0.1815, 0.1839, 0.1922",\
                 "0.1908, 0.1876, 0.1837, 0.1815, 0.1821, 0.1833, 0.1838, 0.1851, 0.1867, 0.1955",\
                 "0.2004, 0.1971, 0.1928, 0.1904, 0.1903, 0.1914, 0.1924, 0.1934, 0.1956, 0.2063",\
                 "0.2159, 0.2123, 0.2079, 0.2056, 0.2048, 0.2053, 0.2066, 0.2075, 0.2098, 0.223",\
                 "0.2384, 0.2347, 0.2295, 0.2263, 0.2262, 0.2264, 0.227, 0.2286, 0.2306, 0.2487",\
                 "0.2661, 0.2621, 0.2563, 0.252, 0.2511, 0.253, 0.253, 0.2543, 0.2569, 0.2829",\
                 "0.2967, 0.2923, 0.2856, 0.2811, 0.2796, 0.2799, 0.2817, 0.2839, 0.2871, 0.3267",\
                 "0.33, 0.3255, 0.3185, 0.3133, 0.3109, 0.3097, 0.3105, 0.3146, 0.3238, 0.3926");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1866, 0.1834, 0.1797, 0.1777, 0.1778, 0.1789, 0.1799, 0.1808, 0.1829, 0.1907",\
                 "0.1865, 0.1833, 0.1795, 0.1775, 0.1776, 0.1788, 0.1799, 0.1811, 0.1833, 0.1904",\
                 "0.187, 0.1838, 0.1798, 0.1779, 0.1778, 0.1789, 0.1799, 0.1815, 0.1839, 0.1922",\
                 "0.1908, 0.1876, 0.1837, 0.1815, 0.1821, 0.1833, 0.1838, 0.1851, 0.1867, 0.1955",\
                 "0.2004, 0.1971, 0.1928, 0.1904, 0.1903, 0.1914, 0.1924, 0.1934, 0.1956, 0.2063",\
                 "0.2159, 0.2123, 0.2079, 0.2056, 0.2048, 0.2053, 0.2066, 0.2075, 0.2098, 0.223",\
                 "0.2384, 0.2347, 0.2295, 0.2263, 0.2262, 0.2264, 0.227, 0.2286, 0.2306, 0.2487",\
                 "0.2661, 0.2621, 0.2563, 0.252, 0.2511, 0.253, 0.253, 0.2543, 0.2569, 0.2829",\
                 "0.2967, 0.2923, 0.2856, 0.2811, 0.2796, 0.2799, 0.2817, 0.2839, 0.2871, 0.3267",\
                 "0.33, 0.3255, 0.3185, 0.3133, 0.3109, 0.3097, 0.3105, 0.3146, 0.3238, 0.3926");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.9687, 1.014, 1.127, 1.286, 1.494, 1.768, 2.123, 2.57, 3.115, 3.765",\
                 "0.9852, 1.031, 1.143, 1.302, 1.511, 1.785, 2.14, 2.586, 3.132, 3.782",\
                 "1.051, 1.097, 1.209, 1.368, 1.577, 1.851, 2.206, 2.652, 3.198, 3.848",\
                 "1.179, 1.225, 1.337, 1.496, 1.705, 1.979, 2.334, 2.78, 3.326, 3.975",\
                 "1.345, 1.391, 1.503, 1.663, 1.871, 2.145, 2.5, 2.947, 3.492, 4.142",\
                 "1.539, 1.585, 1.698, 1.857, 2.065, 2.339, 2.694, 3.141, 3.686, 4.336",\
                 "1.765, 1.811, 1.923, 2.082, 2.291, 2.565, 2.92, 3.366, 3.911, 4.562",\
                 "2.02, 2.066, 2.178, 2.338, 2.546, 2.82, 3.175, 3.621, 4.166, 4.816",\
                 "2.304, 2.35, 2.463, 2.622, 2.83, 3.104, 3.459, 3.906, 4.451, 5.101",\
                 "2.619, 2.665, 2.777, 2.936, 3.145, 3.419, 3.774, 4.221, 4.765, 5.416");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.025, 1.071, 1.202, 1.429, 1.777, 2.266, 2.909, 3.72, 4.709, 5.89",\
                 "1.041, 1.088, 1.219, 1.445, 1.793, 2.282, 2.925, 3.736, 4.724, 5.905",\
                 "1.107, 1.154, 1.286, 1.512, 1.86, 2.349, 2.992, 3.803, 4.791, 5.972",\
                 "1.238, 1.284, 1.416, 1.642, 1.99, 2.479, 3.122, 3.932, 4.921, 6.102",\
                 "1.408, 1.454, 1.586, 1.812, 2.16, 2.649, 3.292, 4.103, 5.092, 6.273",\
                 "1.606, 1.653, 1.785, 2.011, 2.359, 2.848, 3.491, 4.301, 5.292, 6.468",\
                 "1.837, 1.883, 2.014, 2.241, 2.589, 3.077, 3.721, 4.531, 5.52, 6.699",\
                 "2.097, 2.144, 2.274, 2.501, 2.849, 3.337, 3.98, 4.79, 5.781, 6.962",\
                 "2.384, 2.431, 2.562, 2.788, 3.137, 3.626, 4.268, 5.078, 6.067, 7.246",\
                 "2.7, 2.746, 2.878, 3.104, 3.452, 3.941, 4.584, 5.395, 6.384, 7.561");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1312, 0.1722, 0.2838, 0.467, 0.7548, 1.185, 1.769, 2.519, 3.437, 4.532",\
                 "0.1308, 0.172, 0.2838, 0.4672, 0.7552, 1.186, 1.772, 2.519, 3.437, 4.532",\
                 "0.1304, 0.1722, 0.2842, 0.4676, 0.7548, 1.184, 1.771, 2.52, 3.436, 4.532",\
                 "0.1306, 0.1724, 0.2844, 0.4672, 0.7552, 1.186, 1.771, 2.518, 3.435, 4.533",\
                 "0.1306, 0.1722, 0.2842, 0.4676, 0.7558, 1.186, 1.772, 2.519, 3.436, 4.533",\
                 "0.131, 0.172, 0.2838, 0.4674, 0.7548, 1.186, 1.771, 2.52, 3.437, 4.532",\
                 "0.1304, 0.1722, 0.2846, 0.4674, 0.7558, 1.185, 1.77, 2.52, 3.437, 4.526",\
                 "0.131, 0.1724, 0.2844, 0.4676, 0.7554, 1.186, 1.772, 2.516, 3.431, 4.522",\
                 "0.131, 0.1722, 0.2844, 0.4682, 0.756, 1.186, 1.771, 2.516, 3.43, 4.52",\
                 "0.1312, 0.1734, 0.2846, 0.4678, 0.7562, 1.184, 1.772, 2.517, 3.434, 4.523");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.116, 0.173, 0.359, 0.7362, 1.345, 2.204, 3.339, 4.767, 6.514, 8.596",\
                 "0.116, 0.1732, 0.3588, 0.7362, 1.345, 2.206, 3.338, 4.768, 6.511, 8.595",\
                 "0.1166, 0.1728, 0.3588, 0.7362, 1.346, 2.204, 3.339, 4.769, 6.51, 8.595",\
                 "0.116, 0.1732, 0.3584, 0.7368, 1.345, 2.204, 3.338, 4.767, 6.511, 8.595",\
                 "0.1164, 0.1728, 0.3588, 0.7368, 1.345, 2.204, 3.339, 4.768, 6.513, 8.593",\
                 "0.1154, 0.1722, 0.3588, 0.7356, 1.346, 2.205, 3.344, 4.768, 6.514, 8.588",\
                 "0.116, 0.173, 0.3584, 0.7358, 1.345, 2.206, 3.338, 4.766, 6.513, 8.592",\
                 "0.1158, 0.172, 0.3584, 0.7364, 1.344, 2.204, 3.338, 4.773, 6.512, 8.593",\
                 "0.1158, 0.1722, 0.3584, 0.7366, 1.346, 2.207, 3.338, 4.765, 6.523, 8.584",\
                 "0.1154, 0.1722, 0.3582, 0.7366, 1.345, 2.207, 3.338, 4.764, 6.508, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.8633, 0.9092, 1.039, 1.263, 1.611, 2.1, 2.743, 3.555, 4.543, 5.722",\
                 "0.8809, 0.9268, 1.057, 1.281, 1.628, 2.117, 2.76, 3.572, 4.561, 5.74",\
                 "0.9463, 0.9921, 1.122, 1.347, 1.694, 2.183, 2.826, 3.638, 4.626, 5.806",\
                 "1.078, 1.123, 1.254, 1.478, 1.826, 2.314, 2.957, 3.769, 4.759, 5.938",\
                 "1.265, 1.31, 1.44, 1.664, 2.011, 2.5, 3.143, 3.954, 4.945, 6.124",\
                 "1.482, 1.528, 1.658, 1.882, 2.229, 2.717, 3.361, 4.17, 5.161, 6.342",\
                 "1.729, 1.775, 1.906, 2.13, 2.476, 2.964, 3.607, 4.418, 5.405, 6.588",\
                 "2.002, 2.049, 2.179, 2.402, 2.749, 3.236, 3.879, 4.689, 5.679, 6.857",\
                 "2.299, 2.346, 2.477, 2.7, 3.046, 3.533, 4.176, 4.986, 5.974, 7.153",\
                 "2.62, 2.667, 2.798, 3.021, 3.366, 3.854, 4.496, 5.307, 6.295, 7.473");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1138, 0.1698, 0.3548, 0.7336, 1.345, 2.205, 3.338, 4.77, 6.514, 8.6",\
                 "0.1138, 0.1699, 0.3548, 0.7336, 1.346, 2.208, 3.338, 4.77, 6.514, 8.6",\
                 "0.1136, 0.1694, 0.355, 0.7336, 1.346, 2.205, 3.341, 4.77, 6.513, 8.594",\
                 "0.1138, 0.1698, 0.3544, 0.734, 1.343, 2.205, 3.341, 4.768, 6.517, 8.593",\
                 "0.1142, 0.1702, 0.3554, 0.7326, 1.346, 2.208, 3.339, 4.771, 6.514, 8.597",\
                 "0.1162, 0.1726, 0.3568, 0.7336, 1.346, 2.208, 3.339, 4.767, 6.52, 8.591",\
                 "0.1176, 0.1736, 0.3578, 0.7328, 1.344, 2.206, 3.339, 4.769, 6.511, 8.594",\
                 "0.1192, 0.1762, 0.3586, 0.7328, 1.343, 2.204, 3.339, 4.771, 6.511, 8.592",\
                 "0.121, 0.1774, 0.3596, 0.7344, 1.344, 2.205, 3.337, 4.766, 6.519, 8.592",\
                 "0.1224, 0.179, 0.3612, 0.7354, 1.345, 2.203, 3.343, 4.766, 6.506, 8.59");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.863, 0.9092, 1.039, 1.263, 1.611, 2.099, 2.743, 3.555, 4.543, 5.722",\
                 "0.8807, 0.9268, 1.057, 1.281, 1.629, 2.117, 2.76, 3.572, 4.561, 5.74",\
                 "0.9463, 0.9923, 1.122, 1.347, 1.694, 2.183, 2.827, 3.637, 4.625, 5.806",\
                 "1.078, 1.124, 1.254, 1.478, 1.826, 2.314, 2.957, 3.769, 4.756, 5.938",\
                 "1.265, 1.31, 1.44, 1.664, 2.012, 2.5, 3.144, 3.955, 4.945, 6.123",\
                 "1.482, 1.528, 1.658, 1.882, 2.229, 2.717, 3.361, 4.17, 5.161, 6.342",\
                 "1.729, 1.775, 1.906, 2.129, 2.476, 2.964, 3.607, 4.418, 5.406, 6.588",\
                 "2.002, 2.049, 2.179, 2.402, 2.749, 3.236, 3.879, 4.689, 5.68, 6.859",\
                 "2.299, 2.346, 2.476, 2.699, 3.046, 3.533, 4.175, 4.986, 5.974, 7.153",\
                 "2.62, 2.667, 2.798, 3.021, 3.367, 3.854, 4.497, 5.306, 6.295, 7.474");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1137, 0.1699, 0.3548, 0.7336, 1.346, 2.208, 3.338, 4.77, 6.514, 8.6",\
                 "0.1136, 0.1699, 0.3548, 0.7336, 1.345, 2.205, 3.338, 4.77, 6.514, 8.6",\
                 "0.1136, 0.1702, 0.3548, 0.7336, 1.343, 2.208, 3.34, 4.769, 6.511, 8.594",\
                 "0.1134, 0.1698, 0.3542, 0.7324, 1.343, 2.205, 3.339, 4.768, 6.513, 8.593",\
                 "0.1138, 0.1704, 0.3554, 0.7324, 1.346, 2.208, 3.338, 4.77, 6.512, 8.596",\
                 "0.1152, 0.172, 0.3566, 0.7324, 1.346, 2.207, 3.34, 4.767, 6.521, 8.592",\
                 "0.1178, 0.174, 0.358, 0.7334, 1.343, 2.206, 3.344, 4.769, 6.511, 8.592",\
                 "0.1194, 0.1752, 0.3588, 0.733, 1.343, 2.204, 3.339, 4.765, 6.51, 8.596",\
                 "0.1214, 0.1776, 0.3598, 0.7336, 1.345, 2.204, 3.336, 4.766, 6.519, 8.588",\
                 "0.1224, 0.1776, 0.3606, 0.7338, 1.345, 2.207, 3.338, 4.77, 6.507, 8.59");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.7689, 0.8149, 0.9448, 1.17, 1.517, 2.006, 2.65, 3.462, 4.449, 5.63",\
                 "0.7869, 0.8329, 0.963, 1.187, 1.535, 2.024, 2.668, 3.48, 4.467, 5.647",\
                 "0.8525, 0.8984, 1.028, 1.253, 1.601, 2.09, 2.734, 3.545, 4.536, 5.717",\
                 "0.9783, 1.025, 1.155, 1.379, 1.727, 2.215, 2.859, 3.672, 4.66, 5.839",\
                 "1.148, 1.194, 1.324, 1.548, 1.895, 2.384, 3.027, 3.839, 4.828, 6.006",\
                 "1.342, 1.388, 1.519, 1.743, 2.09, 2.578, 3.222, 4.033, 5.024, 6.204",\
                 "1.563, 1.609, 1.74, 1.964, 2.311, 2.799, 3.441, 4.252, 5.244, 6.425",\
                 "1.806, 1.853, 1.985, 2.208, 2.554, 3.042, 3.685, 4.495, 5.484, 6.667",\
                 "2.07, 2.118, 2.25, 2.473, 2.819, 3.306, 3.948, 4.758, 5.747, 6.925",\
                 "2.354, 2.403, 2.535, 2.758, 3.103, 3.59, 4.232, 5.042, 6.031, 7.209");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1126, 0.1694, 0.3548, 0.7324, 1.346, 2.206, 3.339, 4.769, 6.517, 8.598",\
                 "0.1126, 0.1688, 0.3545, 0.732, 1.344, 2.205, 3.339, 4.769, 6.52, 8.599",\
                 "0.1132, 0.1696, 0.3544, 0.7324, 1.346, 2.205, 3.339, 4.77, 6.518, 8.601",\
                 "0.1132, 0.17, 0.3546, 0.7324, 1.344, 2.208, 3.343, 4.768, 6.524, 8.608",\
                 "0.1136, 0.1702, 0.3562, 0.7324, 1.345, 2.207, 3.345, 4.77, 6.524, 8.605",\
                 "0.1166, 0.1726, 0.357, 0.7328, 1.344, 2.208, 3.338, 4.77, 6.516, 8.594",\
                 "0.119, 0.1758, 0.359, 0.7328, 1.343, 2.204, 3.34, 4.769, 6.514, 8.597",\
                 "0.1226, 0.1784, 0.3616, 0.7342, 1.343, 2.204, 3.338, 4.768, 6.511, 8.592",\
                 "0.1268, 0.1824, 0.3638, 0.7346, 1.344, 2.205, 3.339, 4.765, 6.521, 8.589",\
                 "0.13, 0.186, 0.3656, 0.7352, 1.345, 2.204, 3.337, 4.766, 6.507, 8.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.7695, 0.8155, 0.9455, 1.17, 1.518, 2.007, 2.65, 3.462, 4.449, 5.63",\
                 "0.7873, 0.8333, 0.9633, 1.188, 1.536, 2.025, 2.668, 3.48, 4.467, 5.649",\
                 "0.8527, 0.8987, 1.029, 1.253, 1.601, 2.09, 2.734, 3.545, 4.536, 5.717",\
                 "0.9789, 1.025, 1.155, 1.379, 1.727, 2.216, 2.859, 3.671, 4.661, 5.839",\
                 "1.148, 1.194, 1.324, 1.548, 1.896, 2.384, 3.028, 3.838, 4.831, 6.011",\
                 "1.342, 1.388, 1.519, 1.743, 2.09, 2.579, 3.222, 4.034, 5.024, 6.201",\
                 "1.563, 1.61, 1.741, 1.964, 2.311, 2.799, 3.442, 4.253, 5.245, 6.426",\
                 "1.807, 1.854, 1.985, 2.208, 2.555, 3.043, 3.685, 4.495, 5.484, 6.667",\
                 "2.071, 2.119, 2.25, 2.473, 2.819, 3.306, 3.949, 4.759, 5.747, 6.926",\
                 "2.354, 2.403, 2.536, 2.758, 3.103, 3.59, 4.232, 5.042, 6.031, 7.209");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1125, 0.1688, 0.3546, 0.7336, 1.344, 2.205, 3.339, 4.769, 6.518, 8.598",\
                 "0.1128, 0.1694, 0.3544, 0.7338, 1.345, 2.205, 3.338, 4.768, 6.513, 8.595",\
                 "0.113, 0.1694, 0.3542, 0.7324, 1.346, 2.208, 3.34, 4.77, 6.518, 8.601",\
                 "0.113, 0.1698, 0.3546, 0.7324, 1.344, 2.208, 3.342, 4.77, 6.527, 8.609",\
                 "0.1134, 0.1706, 0.3556, 0.7324, 1.345, 2.205, 3.34, 4.768, 6.516, 8.597",\
                 "0.1164, 0.1722, 0.3572, 0.7322, 1.345, 2.208, 3.338, 4.77, 6.516, 8.605",\
                 "0.1186, 0.175, 0.3588, 0.7334, 1.343, 2.206, 3.341, 4.77, 6.516, 8.598",\
                 "0.123, 0.1788, 0.3612, 0.7336, 1.343, 2.204, 3.338, 4.767, 6.509, 8.59",\
                 "0.127, 0.1814, 0.364, 0.7356, 1.345, 2.206, 3.338, 4.766, 6.521, 8.59",\
                 "0.1318, 0.186, 0.3662, 0.7354, 1.345, 2.206, 3.339, 4.765, 6.506, 8.586");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.863, 0.9092, 1.039, 1.263, 1.611, 2.099, 2.743, 3.555, 4.543, 5.722",\
                 "0.8807, 0.9268, 1.057, 1.281, 1.629, 2.117, 2.76, 3.572, 4.561, 5.74",\
                 "0.9463, 0.9923, 1.122, 1.347, 1.694, 2.183, 2.827, 3.637, 4.625, 5.806",\
                 "1.078, 1.124, 1.254, 1.478, 1.826, 2.314, 2.957, 3.769, 4.756, 5.938",\
                 "1.265, 1.31, 1.44, 1.664, 2.012, 2.5, 3.144, 3.955, 4.945, 6.123",\
                 "1.482, 1.528, 1.658, 1.882, 2.229, 2.717, 3.361, 4.17, 5.161, 6.342",\
                 "1.729, 1.775, 1.906, 2.129, 2.476, 2.964, 3.607, 4.418, 5.406, 6.588",\
                 "2.002, 2.049, 2.179, 2.402, 2.749, 3.236, 3.879, 4.689, 5.68, 6.859",\
                 "2.299, 2.346, 2.476, 2.699, 3.046, 3.533, 4.175, 4.986, 5.974, 7.153",\
                 "2.62, 2.667, 2.798, 3.021, 3.367, 3.854, 4.497, 5.306, 6.295, 7.474");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1125, 0.1688, 0.3546, 0.7336, 1.344, 2.205, 3.339, 4.769, 6.518, 8.598",\
                 "0.1128, 0.1694, 0.3544, 0.7338, 1.345, 2.205, 3.338, 4.768, 6.513, 8.595",\
                 "0.113, 0.1694, 0.3542, 0.7324, 1.346, 2.208, 3.34, 4.77, 6.518, 8.601",\
                 "0.113, 0.1698, 0.3546, 0.7324, 1.344, 2.208, 3.342, 4.77, 6.527, 8.609",\
                 "0.1134, 0.1706, 0.3556, 0.7324, 1.345, 2.205, 3.34, 4.768, 6.516, 8.597",\
                 "0.1164, 0.1722, 0.3572, 0.7322, 1.345, 2.208, 3.338, 4.77, 6.516, 8.605",\
                 "0.1186, 0.175, 0.3588, 0.7334, 1.343, 2.206, 3.341, 4.77, 6.516, 8.598",\
                 "0.123, 0.1788, 0.3612, 0.7336, 1.343, 2.204, 3.338, 4.767, 6.509, 8.59",\
                 "0.127, 0.1814, 0.364, 0.7356, 1.345, 2.206, 3.338, 4.766, 6.521, 8.59",\
                 "0.1318, 0.186, 0.3662, 0.7354, 1.345, 2.206, 3.339, 4.765, 6.506, 8.586");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006241 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.571 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01981, 0.01974, 0.01969, 0.0197, 0.01969, 0.01974, 0.01975, \
                 0.01971, 0.01975, 0.01975");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01066, -0.01067, -0.01069, -0.01067, -0.01076, -0.01076, -0.01078, \
                 -0.01079, -0.0108, -0.01085");
        }
      }

      internal_power() {
        when : "!CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0198, 0.01975, 0.01972, 0.01973, 0.01974, 0.01972, 0.01974, \
                 0.01971, 0.01973, 0.01975");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01066, -0.01067, -0.01069, -0.01067, -0.01075, -0.01077, -0.01078, \
                 -0.01081, -0.01081, -0.01084");
        }
      }

      internal_power() {
        when : "CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06123, 0.06084, 0.06128, 0.06506, 0.0732, 0.08618, 0.1044, 0.1282, \
                 0.1579, 0.1937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01408, 0.01383, 0.01417, 0.01704, 0.02365, 0.0347, 0.05044, \
                 0.07124, 0.09722, 0.1287");
        }
      }

      internal_power() {
        when : "CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01978, 0.01974, 0.01973, 0.01969, 0.01971, 0.01973, 0.01973, \
                 0.01973, 0.01976, 0.01972");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01067, -0.01067, -0.01068, -0.01071, -0.01074, -0.01076, -0.01077, \
                 -0.01078, -0.01082, -0.01085");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.101, 0.026, -0.098, -0.241, -0.411, -0.614, -0.833, -1.086, -1.371",\
                 "0.124, 0.111, 0.036, -0.083, -0.232, -0.4, -0.604, -0.828, -1.077, -1.362",\
                 "0.163, 0.148, 0.079, -0.044, -0.19, -0.366, -0.565, -0.789, -1.032, -1.324",\
                 "0.244, 0.228, 0.161, 0.039, -0.115, -0.285, -0.485, -0.709, -0.958, -1.25",\
                 "0.368, 0.355, 0.278, 0.153, 0.007, -0.17, -0.376, -0.604, -0.859, -1.154",\
                 "0.566, 0.548, 0.468, 0.33, 0.171, -0.016, -0.224, -0.46, -0.717, -1.008",\
                 "0.909, 0.921, 0.801, 0.635, 0.417, 0.204, -0.024, -0.26, -0.529, -0.825",\
                 "1.47, 1.455, 1.318, 1.084, 0.842, 0.587, 0.319, 0.046, -0.246, -0.575",\
                 "2.152, 2.16, 1.976, 1.736, 1.408, 1.12, 0.789, 0.496, 0.179, -0.179",\
                 "2.996, 2.992, 2.762, 2.471, 2.161, 1.759, 1.403, 1.07, 0.728, 0.318");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.213, 0.275, 0.399, 0.554, 0.739, 0.951, 1.187, 1.452, 1.741",\
                 "0.183, 0.198, 0.266, 0.392, 0.548, 0.73, 0.938, 1.174, 1.437, 1.734",\
                 "0.144, 0.16, 0.228, 0.352, 0.513, 0.692, 0.909, 1.144, 1.405, 1.7",\
                 "0.101, 0.119, 0.182, 0.307, 0.465, 0.651, 0.865, 1.104, 1.369, 1.665",\
                 "0.065, 0.077, 0.149, 0.27, 0.431, 0.618, 0.828, 1.071, 1.341, 1.631",\
                 "0.027, 0.041, 0.113, 0.234, 0.399, 0.583, 0.803, 1.042, 1.313, 1.61",\
                 "0.002, 0.021, 0.087, 0.214, 0.373, 0.564, 0.783, 1.032, 1.297, 1.596",\
                 "-0.006, 0.008, 0.075, 0.199, 0.366, 0.559, 0.784, 1.024, 1.299, 1.597",\
                 "-0.003, 0.007, 0.076, 0.204, 0.37, 0.567, 0.789, 1.043, 1.322, 1.62",\
                 "0.009, 0.027, 0.092, 0.222, 0.395, 0.595, 0.824, 1.076, 1.361, 1.663");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.56");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D" ;

        fall_constraint(scalar) {
          values("0.56");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffnsnq_4) {
    area : 92.198400 ;

    ff(IQ1,IQN1) {
      clocked_on : "(!CLKN)" ;
      next_state : "D" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&!SETN" ;
      value : "0.0002264493" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!D&SETN" ;
      value : "0.0002738109" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&!SETN" ;
      value : "0.0002258916" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&D&SETN" ;
      value : "0.000334851" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&!SETN" ;
      value : "0.0002114772" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!D&SETN" ;
      value : "0.0003286305" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&!SETN" ;
      value : "0.0002104278" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&D&SETN" ;
      value : "0.0003286437" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000334851" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.003724 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.75 ;
      min_pulse_width_high : 0.637 ;
      min_pulse_width_low : 0.865 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1576, 0.157, 0.1576, 0.1645, 0.1787, 0.2006, 0.2311, 0.2709, \
                 0.3205, 0.3797");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1306, 0.1303, 0.1308, 0.1366, 0.1483, 0.1674, 0.1942, 0.2293, \
                 0.2729, 0.3253");
        }
      }

      internal_power() {
        when : "!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1353, 0.1347, 0.1354, 0.1418, 0.1551, 0.1757, 0.2045, 0.2422, \
                 0.2893, 0.3457");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09526, 0.09486, 0.09545, 0.1007, 0.1114, 0.1294, 0.1548, 0.1881, \
                 0.2297, 0.2799");
        }
      }

      internal_power() {
        when : "D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1374, 0.1368, 0.1375, 0.1439, 0.1571, 0.1777, 0.2065, 0.2441, \
                 0.2911, 0.3476");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09597, 0.09567, 0.09624, 0.1014, 0.1122, 0.1301, 0.1556, 0.1888, \
                 0.2304, 0.2805");
        }
      }

      internal_power() {
        when : "D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1374, 0.1368, 0.1375, 0.1439, 0.1571, 0.1777, 0.2065, 0.2442, \
                 0.2912, 0.3475");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09594, 0.09564, 0.09622, 0.1014, 0.1123, 0.1301, 0.1556, 0.1888, \
                 0.2305, 0.2806");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SETN" ;

        fall_constraint(scalar) {
          values("0.839");
        }

        rise_constraint(scalar) {
          values("0.637");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SETN" ;

        fall_constraint(scalar) {
          values("0.865");
        }

        rise_constraint(scalar) {
          values("0.604");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SETN" ;

        fall_constraint(scalar) {
          values("1.691");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SETN" ;

        fall_constraint(scalar) {
          values("1.75");
        }
      }
    }

    pin(D) {
      capacitance : 0.002569 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02663, 0.02609, 0.02804, 0.03409, 0.04477, 0.06055, 0.0818, \
                 0.109, 0.1424, 0.1824");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003109, 0.002785, 0.003894, 0.008524, 0.01736, 0.03083, 0.04913, \
                 0.07261, 0.1015, 0.1362");
        }
      }

      internal_power() {
        when : "!CLKN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02663, 0.02607, 0.02805, 0.03406, 0.04479, 0.06052, 0.08181, \
                 0.1089, 0.1423, 0.1824");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003084, 0.002784, 0.003884, 0.0085, 0.01737, 0.03083, 0.04915, \
                 0.0726, 0.1016, 0.1362");
        }
      }

      internal_power() {
        when : "CLKN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06395, 0.06366, 0.06476, 0.06917, 0.07801, 0.09185, 0.1114, \
                 0.1369, 0.1689, 0.2076");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02392, 0.02372, 0.02462, 0.02809, 0.0352, 0.04671, 0.06316, \
                 0.08493, 0.1124, 0.1457");
        }
      }

      internal_power() {
        when : "CLKN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09298, 0.09269, 0.09379, 0.09866, 0.1085, 0.1238, 0.1452, 0.1732, \
                 0.2081, 0.2501");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07517, 0.07495, 0.07582, 0.07971, 0.0874, 0.1, 0.1179, 0.1415, \
                 0.1711, 0.2069");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006, 0.008, 0.071, 0.171, 0.278, 0.411, 0.572, 0.756, 0.974, 1.219",\
                 "-0.022, -0.008, 0.053, 0.151, 0.263, 0.394, 0.552, 0.744, 0.956, 1.204",\
                 "-0.087, -0.071, -0.015, 0.086, 0.2, 0.328, 0.483, 0.671, 0.892, 1.136",\
                 "-0.198, -0.189, -0.131, -0.03, 0.079, 0.213, 0.366, 0.55, 0.766, 1.009",\
                 "-0.345, -0.332, -0.277, -0.179, -0.067, 0.066, 0.211, 0.39, 0.603, 0.845",\
                 "-0.532, -0.513, -0.455, -0.359, -0.249, -0.124, 0.022, 0.2, 0.402, 0.64",\
                 "-0.74, -0.724, -0.664, -0.575, -0.473, -0.345, -0.202, -0.022, 0.174, 0.404",\
                 "-0.986, -0.971, -0.92, -0.83, -0.73, -0.604, -0.456, -0.292, -0.091, 0.137",\
                 "-1.269, -1.254, -1.198, -1.115, -1.02, -0.9, -0.76, -0.591, -0.397, -0.172",\
                 "-1.59, -1.577, -1.522, -1.44, -1.351, -1.235, -1.103, -0.934, -0.737, -0.522");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.213, 0.275, 0.399, 0.561, 0.739, 0.951, 1.193, 1.46, 1.757",\
                 "0.183, 0.198, 0.26, 0.392, 0.548, 0.73, 0.938, 1.18, 1.445, 1.744",\
                 "0.144, 0.16, 0.228, 0.352, 0.512, 0.692, 0.909, 1.144, 1.413, 1.71",\
                 "0.12, 0.139, 0.199, 0.322, 0.479, 0.666, 0.875, 1.117, 1.386, 1.687",\
                 "0.109, 0.123, 0.192, 0.317, 0.471, 0.661, 0.868, 1.108, 1.379, 1.679",\
                 "0.125, 0.142, 0.208, 0.336, 0.496, 0.675, 0.891, 1.134, 1.397, 1.701",\
                 "0.179, 0.201, 0.26, 0.384, 0.539, 0.726, 0.937, 1.178, 1.445, 1.746",\
                 "0.271, 0.288, 0.348, 0.473, 0.625, 0.803, 1.018, 1.259, 1.522, 1.828",\
                 "0.41, 0.424, 0.49, 0.606, 0.75, 0.929, 1.137, 1.374, 1.641, 1.935",\
                 "0.597, 0.614, 0.671, 0.787, 0.926, 1.093, 1.302, 1.531, 1.794, 2.088");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.464, 0.45, 0.374, 0.256, 0.109, -0.054, -0.234, -0.443, -0.672, -0.939",\
                 "0.486, 0.468, 0.391, 0.264, 0.123, -0.041, -0.219, -0.428, -0.659, -0.922",\
                 "0.554, 0.538, 0.457, 0.338, 0.192, 0.03, -0.148, -0.36, -0.586, -0.852",\
                 "0.69, 0.671, 0.59, 0.467, 0.323, 0.161, -0.026, -0.228, -0.46, -0.724",\
                 "0.859, 0.842, 0.765, 0.644, 0.498, 0.338, 0.15, -0.057, -0.282, -0.552",\
                 "1.073, 1.06, 0.979, 0.856, 0.714, 0.551, 0.369, 0.163, -0.072, -0.336",\
                 "1.33, 1.315, 1.244, 1.125, 0.971, 0.81, 0.622, 0.423, 0.186, -0.075",\
                 "1.63, 1.616, 1.541, 1.418, 1.279, 1.117, 0.934, 0.721, 0.489, 0.223",\
                 "1.977, 1.967, 1.885, 1.762, 1.616, 1.455, 1.267, 1.063, 0.832, 0.569",\
                 "2.366, 2.352, 2.273, 2.152, 2.006, 1.843, 1.653, 1.445, 1.215, 0.947");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.315, 0.306, 0.235, 0.12, -0.017, -0.186, -0.386, -0.626, -0.871, -1.173",\
                 "0.329, 0.317, 0.249, 0.129, -0.008, -0.171, -0.381, -0.607, -0.868, -1.157",\
                 "0.372, 0.361, 0.292, 0.17, 0.036, -0.136, -0.338, -0.565, -0.818, -1.114",\
                 "0.435, 0.421, 0.347, 0.222, 0.074, -0.095, -0.295, -0.516, -0.783, -1.071",\
                 "0.472, 0.456, 0.391, 0.259, 0.115, -0.065, -0.267, -0.493, -0.755, -1.052",\
                 "0.486, 0.477, 0.405, 0.279, 0.118, -0.054, -0.264, -0.494, -0.758, -1.047",\
                 "0.487, 0.475, 0.402, 0.266, 0.113, -0.066, -0.274, -0.514, -0.777, -1.074",\
                 "0.449, 0.434, 0.361, 0.229, 0.072, -0.112, -0.325, -0.566, -0.827, -1.126",\
                 "0.377, 0.37, 0.288, 0.163, 0.007, -0.185, -0.405, -0.638, -0.911, -1.215",\
                 "0.268, 0.256, 0.182, 0.048, -0.109, -0.291, -0.516, -0.749, -1.028, -1.33");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.433 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.3424, 0.3229, 0.2895, 0.2708, 0.2607, 0.2549, 0.2511, 0.2488, 0.2471, 0.246",\
                 "0.3424, 0.323, 0.2894, 0.2708, 0.2607, 0.2548, 0.2512, 0.2488, 0.2471, 0.246",\
                 "0.3423, 0.3229, 0.2893, 0.2706, 0.2606, 0.2548, 0.2511, 0.2487, 0.247, 0.2458",\
                 "0.3426, 0.3232, 0.2897, 0.271, 0.261, 0.2551, 0.2514, 0.249, 0.2473, 0.2462",\
                 "0.3434, 0.324, 0.2906, 0.2718, 0.2617, 0.2558, 0.2522, 0.2497, 0.2481, 0.2469",\
                 "0.3445, 0.3251, 0.2917, 0.273, 0.2628, 0.2569, 0.2532, 0.2508, 0.2492, 0.248",\
                 "0.3462, 0.3267, 0.2933, 0.2745, 0.2645, 0.2585, 0.2548, 0.2523, 0.2506, 0.2495",\
                 "0.3483, 0.3288, 0.2953, 0.2764, 0.2664, 0.2604, 0.2567, 0.2543, 0.2525, 0.2514",\
                 "0.3507, 0.3313, 0.2976, 0.2787, 0.2685, 0.2626, 0.2589, 0.2565, 0.2547, 0.2535",\
                 "0.3538, 0.3343, 0.3006, 0.2816, 0.2715, 0.2654, 0.2617, 0.2591, 0.2575, 0.2563");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.3281, 0.314, 0.2982, 0.2887, 0.2847, 0.284, 0.2853, 0.2867, 0.2914, 0.3083",\
                 "0.3279, 0.314, 0.2982, 0.289, 0.2853, 0.284, 0.2853, 0.2867, 0.2913, 0.3079",\
                 "0.328, 0.3138, 0.2982, 0.2887, 0.2854, 0.2849, 0.2856, 0.287, 0.2913, 0.3088",\
                 "0.3289, 0.3146, 0.299, 0.2896, 0.2862, 0.2858, 0.2864, 0.2878, 0.2918, 0.3117",\
                 "0.3302, 0.3162, 0.3001, 0.2908, 0.2874, 0.2864, 0.2877, 0.2898, 0.2935, 0.3171",\
                 "0.3314, 0.3177, 0.3018, 0.2926, 0.2885, 0.2879, 0.2886, 0.2908, 0.2941, 0.3268",\
                 "0.3332, 0.3196, 0.3035, 0.2947, 0.2904, 0.2902, 0.2908, 0.2931, 0.2962, 0.3406",\
                 "0.3352, 0.3208, 0.3045, 0.2958, 0.2925, 0.2938, 0.2938, 0.2947, 0.3015, 0.3663",\
                 "0.337, 0.3229, 0.3067, 0.298, 0.2938, 0.294, 0.2989, 0.2997, 0.3081, 0.4044",\
                 "0.339, 0.3253, 0.3096, 0.3003, 0.2949, 0.2944, 0.2937, 0.3046, 0.3237, 0.4878");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.3688, 0.3564, 0.3422, 0.3335, 0.3294, 0.3295, 0.3318, 0.3318, 0.3358, 0.3522",\
                 "0.3683, 0.3557, 0.3412, 0.3325, 0.3291, 0.3292, 0.3302, 0.3319, 0.3355, 0.3523",\
                 "0.369, 0.3567, 0.3421, 0.3334, 0.33, 0.3302, 0.3315, 0.3329, 0.3373, 0.3535",\
                 "0.3769, 0.3645, 0.3498, 0.3416, 0.3379, 0.3382, 0.3385, 0.3399, 0.3439, 0.3645",\
                 "0.3957, 0.3832, 0.3681, 0.3596, 0.3563, 0.356, 0.3563, 0.358, 0.3617, 0.3875",\
                 "0.4266, 0.4137, 0.3992, 0.3895, 0.3853, 0.385, 0.3853, 0.3873, 0.3918, 0.422",\
                 "0.4695, 0.4564, 0.4408, 0.4306, 0.4265, 0.4252, 0.4275, 0.4281, 0.4332, 0.4772",\
                 "0.5225, 0.5092, 0.4939, 0.4823, 0.4783, 0.4787, 0.4784, 0.4786, 0.4884, 0.5469",\
                 "0.5824, 0.5688, 0.5526, 0.5402, 0.5354, 0.5332, 0.5391, 0.5402, 0.5475, 0.6425",\
                 "0.6474, 0.6337, 0.6167, 0.6053, 0.5987, 0.5972, 0.5968, 0.6061, 0.6234, 0.7811");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.3688, 0.3564, 0.3422, 0.3335, 0.3294, 0.3295, 0.3318, 0.3318, 0.3358, 0.3522",\
                 "0.3683, 0.3557, 0.3412, 0.3325, 0.3291, 0.3292, 0.3302, 0.3319, 0.3355, 0.3523",\
                 "0.369, 0.3567, 0.3421, 0.3334, 0.33, 0.3302, 0.3315, 0.3329, 0.3373, 0.3535",\
                 "0.3769, 0.3645, 0.3498, 0.3416, 0.3379, 0.3382, 0.3385, 0.3399, 0.3439, 0.3645",\
                 "0.3957, 0.3832, 0.3681, 0.3596, 0.3563, 0.356, 0.3563, 0.358, 0.3617, 0.3875",\
                 "0.4266, 0.4137, 0.3992, 0.3895, 0.3853, 0.385, 0.3853, 0.3873, 0.3918, 0.422",\
                 "0.4695, 0.4564, 0.4408, 0.4306, 0.4265, 0.4252, 0.4275, 0.4281, 0.4332, 0.4772",\
                 "0.5225, 0.5092, 0.4939, 0.4823, 0.4783, 0.4787, 0.4784, 0.4786, 0.4884, 0.5469",\
                 "0.5824, 0.5688, 0.5526, 0.5402, 0.5354, 0.5332, 0.5391, 0.5402, 0.5475, 0.6425",\
                 "0.6474, 0.6337, 0.6167, 0.6053, 0.5987, 0.5972, 0.5968, 0.6061, 0.6234, 0.7811");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.3688, 0.3565, 0.3423, 0.3333, 0.3294, 0.3298, 0.3311, 0.3328, 0.3361, 0.3536",\
                 "0.3682, 0.3559, 0.3415, 0.3328, 0.3286, 0.3292, 0.3305, 0.3322, 0.3355, 0.3536",\
                 "0.3691, 0.3564, 0.3422, 0.3341, 0.33, 0.3302, 0.3312, 0.3329, 0.3366, 0.3551",\
                 "0.377, 0.3648, 0.3495, 0.3412, 0.338, 0.3382, 0.3385, 0.3402, 0.3442, 0.3645",\
                 "0.3957, 0.3833, 0.3686, 0.3596, 0.3561, 0.3556, 0.3566, 0.3583, 0.362, 0.3865",\
                 "0.4266, 0.4137, 0.3987, 0.3895, 0.3853, 0.3847, 0.3853, 0.387, 0.3915, 0.4214",\
                 "0.4695, 0.4565, 0.441, 0.4309, 0.4272, 0.4259, 0.4262, 0.4285, 0.4333, 0.474",\
                 "0.5226, 0.5091, 0.4929, 0.4819, 0.4784, 0.479, 0.48, 0.4796, 0.4864, 0.5449",\
                 "0.5823, 0.5687, 0.5519, 0.5408, 0.5339, 0.5341, 0.5394, 0.5385, 0.5499, 0.6432",\
                 "0.6473, 0.6339, 0.6161, 0.6061, 0.5983, 0.5962, 0.5972, 0.6059, 0.6231, 0.7814");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.3688, 0.3565, 0.3423, 0.3333, 0.3294, 0.3298, 0.3311, 0.3328, 0.3361, 0.3536",\
                 "0.3682, 0.3559, 0.3415, 0.3328, 0.3286, 0.3292, 0.3305, 0.3322, 0.3355, 0.3536",\
                 "0.3691, 0.3564, 0.3422, 0.3341, 0.33, 0.3302, 0.3312, 0.3329, 0.3366, 0.3551",\
                 "0.377, 0.3648, 0.3495, 0.3412, 0.338, 0.3382, 0.3385, 0.3402, 0.3442, 0.3645",\
                 "0.3957, 0.3833, 0.3686, 0.3596, 0.3561, 0.3556, 0.3566, 0.3583, 0.362, 0.3865",\
                 "0.4266, 0.4137, 0.3987, 0.3895, 0.3853, 0.3847, 0.3853, 0.387, 0.3915, 0.4214",\
                 "0.4695, 0.4565, 0.441, 0.4309, 0.4272, 0.4259, 0.4262, 0.4285, 0.4333, 0.474",\
                 "0.5226, 0.5091, 0.4929, 0.4819, 0.4784, 0.479, 0.48, 0.4796, 0.4864, 0.5449",\
                 "0.5823, 0.5687, 0.5519, 0.5408, 0.5339, 0.5341, 0.5394, 0.5385, 0.5499, 0.6432",\
                 "0.6473, 0.6339, 0.6161, 0.6061, 0.5983, 0.5962, 0.5972, 0.6059, 0.6231, 0.7814");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.2976, 0.2853, 0.2703, 0.2626, 0.2594, 0.2591, 0.26, 0.2621, 0.266, 0.2815",\
                 "0.2974, 0.2848, 0.2703, 0.2622, 0.2593, 0.2588, 0.2597, 0.2615, 0.2654, 0.2819",\
                 "0.2979, 0.2851, 0.2702, 0.262, 0.2591, 0.259, 0.2606, 0.2617, 0.2667, 0.2843",\
                 "0.3016, 0.2891, 0.2739, 0.2657, 0.2625, 0.2625, 0.2641, 0.2658, 0.2695, 0.2885",\
                 "0.3113, 0.2988, 0.283, 0.2747, 0.2704, 0.2699, 0.2712, 0.2729, 0.2766, 0.2998",\
                 "0.3276, 0.3142, 0.2995, 0.2898, 0.2853, 0.2843, 0.2852, 0.2869, 0.2921, 0.3198",\
                 "0.3513, 0.3376, 0.3211, 0.3103, 0.3068, 0.305, 0.3043, 0.3065, 0.3116, 0.3509",\
                 "0.382, 0.3681, 0.3505, 0.3375, 0.3321, 0.3336, 0.3339, 0.3342, 0.3396, 0.3963",\
                 "0.417, 0.4021, 0.3837, 0.3702, 0.3625, 0.3604, 0.3643, 0.3648, 0.374, 0.4578",\
                 "0.455, 0.4391, 0.4194, 0.4048, 0.3968, 0.3916, 0.3933, 0.3997, 0.4166, 0.5659");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.2976, 0.2853, 0.2703, 0.2626, 0.2594, 0.2591, 0.26, 0.2621, 0.266, 0.2815",\
                 "0.2974, 0.2848, 0.2703, 0.2622, 0.2593, 0.2588, 0.2597, 0.2615, 0.2654, 0.2819",\
                 "0.2979, 0.2851, 0.2702, 0.262, 0.2591, 0.259, 0.2606, 0.2617, 0.2667, 0.2843",\
                 "0.3016, 0.2891, 0.2739, 0.2657, 0.2625, 0.2625, 0.2641, 0.2658, 0.2695, 0.2885",\
                 "0.3113, 0.2988, 0.283, 0.2747, 0.2704, 0.2699, 0.2712, 0.2729, 0.2766, 0.2998",\
                 "0.3276, 0.3142, 0.2995, 0.2898, 0.2853, 0.2843, 0.2852, 0.2869, 0.2921, 0.3198",\
                 "0.3513, 0.3376, 0.3211, 0.3103, 0.3068, 0.305, 0.3043, 0.3065, 0.3116, 0.3509",\
                 "0.382, 0.3681, 0.3505, 0.3375, 0.3321, 0.3336, 0.3339, 0.3342, 0.3396, 0.3963",\
                 "0.417, 0.4021, 0.3837, 0.3702, 0.3625, 0.3604, 0.3643, 0.3648, 0.374, 0.4578",\
                 "0.455, 0.4391, 0.4194, 0.4048, 0.3968, 0.3916, 0.3933, 0.3997, 0.4166, 0.5659");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLKN&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.2968, 0.2843, 0.2692, 0.2611, 0.2578, 0.2579, 0.2599, 0.261, 0.2662, 0.2807",\
                 "0.2967, 0.2842, 0.2694, 0.2616, 0.2577, 0.2577, 0.2606, 0.261, 0.2646, 0.2811",\
                 "0.2972, 0.2846, 0.2696, 0.2615, 0.2586, 0.2584, 0.26, 0.2614, 0.266, 0.2823",\
                 "0.301, 0.2885, 0.2731, 0.265, 0.2627, 0.2626, 0.2649, 0.2656, 0.2713, 0.2894",\
                 "0.3107, 0.2982, 0.2826, 0.2739, 0.27, 0.2702, 0.2722, 0.2726, 0.277, 0.3005",\
                 "0.3273, 0.3139, 0.2983, 0.2889, 0.2853, 0.2841, 0.2847, 0.2864, 0.2916, 0.3202",\
                 "0.3504, 0.3371, 0.3215, 0.3108, 0.3066, 0.3049, 0.3052, 0.3064, 0.3108, 0.3521",\
                 "0.3817, 0.3678, 0.3505, 0.3382, 0.3319, 0.3335, 0.3332, 0.3328, 0.3392, 0.3956",\
                 "0.4166, 0.4016, 0.3827, 0.3692, 0.3618, 0.3599, 0.3646, 0.365, 0.3732, 0.4602",\
                 "0.4544, 0.4384, 0.4185, 0.4036, 0.3958, 0.3906, 0.3923, 0.4017, 0.4166, 0.5631");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.2968, 0.2843, 0.2692, 0.2611, 0.2578, 0.2579, 0.2599, 0.261, 0.2662, 0.2807",\
                 "0.2967, 0.2842, 0.2694, 0.2616, 0.2577, 0.2577, 0.2606, 0.261, 0.2646, 0.2811",\
                 "0.2972, 0.2846, 0.2696, 0.2615, 0.2586, 0.2584, 0.26, 0.2614, 0.266, 0.2823",\
                 "0.301, 0.2885, 0.2731, 0.265, 0.2627, 0.2626, 0.2649, 0.2656, 0.2713, 0.2894",\
                 "0.3107, 0.2982, 0.2826, 0.2739, 0.27, 0.2702, 0.2722, 0.2726, 0.277, 0.3005",\
                 "0.3273, 0.3139, 0.2983, 0.2889, 0.2853, 0.2841, 0.2847, 0.2864, 0.2916, 0.3202",\
                 "0.3504, 0.3371, 0.3215, 0.3108, 0.3066, 0.3049, 0.3052, 0.3064, 0.3108, 0.3521",\
                 "0.3817, 0.3678, 0.3505, 0.3382, 0.3319, 0.3335, 0.3332, 0.3328, 0.3392, 0.3956",\
                 "0.4166, 0.4016, 0.3827, 0.3692, 0.3618, 0.3599, 0.3646, 0.365, 0.3732, 0.4602",\
                 "0.4544, 0.4384, 0.4185, 0.4036, 0.3958, 0.3906, 0.3923, 0.4017, 0.4166, 0.5631");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : falling_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("1.16, 1.215, 1.349, 1.533, 1.763, 2.049, 2.409, 2.857, 3.402, 4.052",\
                 "1.176, 1.231, 1.365, 1.55, 1.78, 2.066, 2.426, 2.873, 3.419, 4.069",\
                 "1.242, 1.297, 1.431, 1.616, 1.845, 2.132, 2.492, 2.939, 3.484, 4.135",\
                 "1.37, 1.425, 1.559, 1.744, 1.973, 2.26, 2.619, 3.067, 3.612, 4.263",\
                 "1.536, 1.591, 1.725, 1.91, 2.139, 2.426, 2.786, 3.233, 3.778, 4.429",\
                 "1.73, 1.785, 1.919, 2.104, 2.334, 2.62, 2.98, 3.427, 3.973, 4.623",\
                 "1.955, 2.011, 2.144, 2.329, 2.559, 2.845, 3.205, 3.653, 4.198, 4.848",\
                 "2.21, 2.265, 2.399, 2.584, 2.814, 3.1, 3.46, 3.907, 4.453, 5.103",\
                 "2.494, 2.55, 2.683, 2.868, 3.098, 3.384, 3.744, 4.192, 4.737, 5.387",\
                 "2.808, 2.864, 2.998, 3.183, 3.412, 3.699, 4.059, 4.506, 5.052, 5.702");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("1.193, 1.245, 1.388, 1.621, 1.969, 2.456, 3.099, 3.909, 4.9, 6.078",\
                 "1.209, 1.262, 1.405, 1.637, 1.985, 2.473, 3.115, 3.926, 4.916, 6.095",\
                 "1.275, 1.328, 1.471, 1.703, 2.051, 2.539, 3.182, 3.992, 4.982, 6.16",\
                 "1.405, 1.458, 1.601, 1.833, 2.181, 2.669, 3.312, 4.122, 5.112, 6.29",\
                 "1.576, 1.628, 1.771, 2.004, 2.352, 2.839, 3.482, 4.292, 5.282, 6.462",\
                 "1.774, 1.826, 1.969, 2.202, 2.55, 3.037, 3.68, 4.49, 5.479, 6.66",\
                 "2.003, 2.056, 2.199, 2.432, 2.779, 3.267, 3.91, 4.72, 5.71, 6.889",\
                 "2.263, 2.315, 2.458, 2.691, 3.039, 3.527, 4.169, 4.979, 5.97, 7.148",\
                 "2.55, 2.603, 2.745, 2.979, 3.326, 3.815, 4.457, 5.266, 6.254, 7.435",\
                 "2.865, 2.918, 3.061, 3.293, 3.641, 4.129, 4.771, 5.581, 6.57, 7.748");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.181, 0.2312, 0.3564, 0.5518, 0.8304, 1.239, 1.804, 2.544, 3.455, 4.546",\
                 "0.181, 0.2312, 0.3568, 0.5518, 0.8298, 1.238, 1.806, 2.544, 3.455, 4.547",\
                 "0.1812, 0.2312, 0.3568, 0.552, 0.8302, 1.238, 1.805, 2.541, 3.455, 4.547",\
                 "0.181, 0.2312, 0.3574, 0.5518, 0.8308, 1.237, 1.806, 2.543, 3.455, 4.546",\
                 "0.1804, 0.231, 0.3576, 0.552, 0.8304, 1.238, 1.804, 2.543, 3.454, 4.546",\
                 "0.1802, 0.2316, 0.3564, 0.5526, 0.8304, 1.238, 1.805, 2.544, 3.455, 4.547",\
                 "0.1802, 0.2316, 0.3572, 0.5522, 0.8302, 1.237, 1.803, 2.542, 3.454, 4.541",\
                 "0.1808, 0.2318, 0.3576, 0.5524, 0.8304, 1.238, 1.804, 2.539, 3.451, 4.546",\
                 "0.1806, 0.2314, 0.3574, 0.5526, 0.8308, 1.238, 1.806, 2.541, 3.451, 4.54",\
                 "0.1814, 0.2322, 0.358, 0.5524, 0.8312, 1.239, 1.806, 2.543, 3.452, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.1424, 0.2002, 0.3904, 0.753, 1.35, 2.211, 3.346, 4.78, 6.514, 8.598",\
                 "0.1422, 0.2, 0.3902, 0.7528, 1.35, 2.211, 3.346, 4.78, 6.514, 8.598",\
                 "0.1422, 0.2002, 0.3904, 0.7528, 1.35, 2.211, 3.343, 4.779, 6.516, 8.6",\
                 "0.142, 0.2, 0.3904, 0.7528, 1.35, 2.211, 3.343, 4.78, 6.516, 8.6",\
                 "0.1418, 0.1994, 0.3898, 0.7528, 1.352, 2.209, 3.342, 4.773, 6.518, 8.597",\
                 "0.1412, 0.1998, 0.3898, 0.752, 1.351, 2.211, 3.344, 4.778, 6.514, 8.598",\
                 "0.1406, 0.1994, 0.389, 0.7524, 1.351, 2.211, 3.342, 4.772, 6.515, 8.598",\
                 "0.142, 0.1998, 0.3894, 0.7522, 1.35, 2.21, 3.342, 4.771, 6.529, 8.599",\
                 "0.1412, 0.1988, 0.3896, 0.7524, 1.351, 2.208, 3.341, 4.77, 6.511, 8.592",\
                 "0.141, 0.1994, 0.3898, 0.7522, 1.351, 2.209, 3.347, 4.768, 6.512, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("1.021, 1.073, 1.215, 1.446, 1.793, 2.281, 2.924, 3.735, 4.722, 5.903",\
                 "1.038, 1.09, 1.232, 1.463, 1.81, 2.298, 2.941, 3.751, 4.742, 5.919",\
                 "1.104, 1.156, 1.298, 1.528, 1.876, 2.364, 3.007, 3.816, 4.808, 5.985",\
                 "1.235, 1.287, 1.429, 1.66, 2.007, 2.495, 3.138, 3.947, 4.939, 6.118",\
                 "1.422, 1.474, 1.616, 1.847, 2.194, 2.681, 3.325, 4.134, 5.126, 6.302",\
                 "1.641, 1.694, 1.836, 2.066, 2.413, 2.9, 3.543, 4.355, 5.343, 6.523",\
                 "1.89, 1.943, 2.085, 2.315, 2.661, 3.149, 3.791, 4.603, 5.592, 6.768",\
                 "2.165, 2.217, 2.36, 2.59, 2.936, 3.423, 4.065, 4.875, 5.865, 7.047",\
                 "2.463, 2.515, 2.657, 2.887, 3.234, 3.721, 4.363, 5.172, 6.16, 7.339",\
                 "2.785, 2.837, 2.979, 3.21, 3.556, 4.043, 4.684, 5.494, 6.483, 7.661");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.1366, 0.1944, 0.385, 0.7472, 1.351, 2.212, 3.344, 4.782, 6.516, 8.598",\
                 "0.1368, 0.1952, 0.3848, 0.7478, 1.35, 2.208, 3.349, 4.773, 6.519, 8.598",\
                 "0.1364, 0.1952, 0.3846, 0.7478, 1.35, 2.21, 3.343, 4.773, 6.519, 8.598",\
                 "0.1368, 0.1952, 0.3854, 0.7492, 1.35, 2.212, 3.348, 4.772, 6.518, 8.599",\
                 "0.1378, 0.1956, 0.3858, 0.7484, 1.351, 2.211, 3.348, 4.773, 6.517, 8.601",\
                 "0.1394, 0.196, 0.386, 0.7478, 1.35, 2.211, 3.347, 4.772, 6.519, 8.597",\
                 "0.1394, 0.198, 0.3868, 0.7482, 1.348, 2.207, 3.347, 4.781, 6.526, 8.595",\
                 "0.1402, 0.199, 0.388, 0.7486, 1.349, 2.209, 3.345, 4.774, 6.517, 8.595",\
                 "0.1426, 0.1992, 0.389, 0.7492, 1.35, 2.209, 3.34, 4.77, 6.521, 8.605",\
                 "0.1424, 0.2002, 0.3898, 0.7502, 1.35, 2.21, 3.343, 4.768, 6.512, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("1.021, 1.073, 1.215, 1.445, 1.793, 2.28, 2.924, 3.735, 4.725, 5.9",\
                 "1.039, 1.09, 1.232, 1.463, 1.81, 2.298, 2.941, 3.752, 4.742, 5.918",\
                 "1.104, 1.156, 1.298, 1.529, 1.876, 2.364, 3.007, 3.816, 4.808, 5.986",\
                 "1.235, 1.287, 1.429, 1.66, 2.007, 2.495, 3.138, 3.948, 4.939, 6.118",\
                 "1.422, 1.474, 1.616, 1.847, 2.194, 2.682, 3.325, 4.136, 5.125, 6.304",\
                 "1.642, 1.694, 1.836, 2.066, 2.413, 2.9, 3.543, 4.355, 5.343, 6.522",\
                 "1.891, 1.943, 2.085, 2.315, 2.662, 3.149, 3.791, 4.603, 5.593, 6.77",\
                 "2.165, 2.217, 2.359, 2.59, 2.937, 3.423, 4.065, 4.875, 5.865, 7.045",\
                 "2.463, 2.515, 2.657, 2.888, 3.234, 3.721, 4.363, 5.172, 6.161, 7.339",\
                 "2.784, 2.837, 2.979, 3.21, 3.555, 4.042, 4.684, 5.494, 6.484, 7.661");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.1368, 0.195, 0.3848, 0.7472, 1.351, 2.209, 3.349, 4.773, 6.519, 8.598",\
                 "0.1366, 0.1948, 0.3846, 0.7474, 1.348, 2.209, 3.349, 4.773, 6.519, 8.599",\
                 "0.1368, 0.1956, 0.385, 0.7476, 1.35, 2.209, 3.349, 4.773, 6.517, 8.598",\
                 "0.1368, 0.1952, 0.3852, 0.7492, 1.351, 2.212, 3.348, 4.774, 6.518, 8.599",\
                 "0.1378, 0.196, 0.3852, 0.7486, 1.35, 2.21, 3.345, 4.772, 6.522, 8.599",\
                 "0.138, 0.1962, 0.386, 0.7488, 1.35, 2.21, 3.347, 4.772, 6.52, 8.599",\
                 "0.14, 0.1978, 0.3868, 0.749, 1.348, 2.21, 3.345, 4.77, 6.519, 8.602",\
                 "0.1406, 0.1992, 0.3886, 0.7486, 1.349, 2.209, 3.344, 4.775, 6.517, 8.609",\
                 "0.1424, 0.1998, 0.389, 0.749, 1.35, 2.208, 3.34, 4.77, 6.515, 8.609",\
                 "0.1436, 0.1998, 0.3894, 0.7488, 1.35, 2.209, 3.343, 4.767, 6.512, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.9286, 0.9805, 1.122, 1.354, 1.701, 2.189, 2.832, 3.642, 4.634, 5.815",\
                 "0.9464, 0.9983, 1.14, 1.371, 1.719, 2.207, 2.849, 3.661, 4.651, 5.83",\
                 "1.012, 1.063, 1.205, 1.436, 1.784, 2.272, 2.915, 3.727, 4.717, 5.897",\
                 "1.138, 1.19, 1.332, 1.563, 1.91, 2.398, 3.041, 3.853, 4.843, 6.021",\
                 "1.309, 1.361, 1.503, 1.734, 2.08, 2.568, 3.211, 4.023, 5.012, 6.191",\
                 "1.507, 1.56, 1.702, 1.933, 2.279, 2.767, 3.409, 4.22, 5.212, 6.39",\
                 "1.734, 1.787, 1.929, 2.16, 2.506, 2.993, 3.635, 4.446, 5.436, 6.613",\
                 "1.986, 2.039, 2.182, 2.412, 2.758, 3.245, 3.887, 4.696, 5.685, 6.868",\
                 "2.26, 2.313, 2.457, 2.687, 3.033, 3.519, 4.16, 4.97, 5.957, 7.135",\
                 "2.555, 2.609, 2.752, 2.983, 3.328, 3.813, 4.455, 5.264, 6.252, 7.431");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.137, 0.195, 0.3854, 0.748, 1.35, 2.209, 3.342, 4.775, 6.52, 8.602",\
                 "0.1371, 0.1956, 0.3858, 0.748, 1.35, 2.212, 3.342, 4.773, 6.52, 8.601",\
                 "0.1382, 0.1954, 0.3854, 0.748, 1.351, 2.212, 3.343, 4.773, 6.52, 8.598",\
                 "0.1372, 0.1956, 0.3856, 0.748, 1.351, 2.212, 3.343, 4.773, 6.521, 8.616",\
                 "0.1378, 0.1966, 0.386, 0.749, 1.351, 2.212, 3.348, 4.773, 6.531, 8.616",\
                 "0.1408, 0.1988, 0.3866, 0.7492, 1.351, 2.209, 3.342, 4.775, 6.52, 8.615",\
                 "0.1428, 0.1996, 0.389, 0.7502, 1.35, 2.209, 3.342, 4.78, 6.527, 8.608",\
                 "0.1456, 0.204, 0.3918, 0.7506, 1.351, 2.207, 3.342, 4.772, 6.518, 8.594",\
                 "0.1494, 0.2064, 0.3946, 0.7522, 1.351, 2.208, 3.34, 4.768, 6.522, 8.607",\
                 "0.1534, 0.2102, 0.3974, 0.7532, 1.35, 2.21, 3.342, 4.771, 6.51, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLKN===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLKN&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.9289, 0.9808, 1.122, 1.353, 1.701, 2.189, 2.832, 3.644, 4.63, 5.811",\
                 "0.9466, 0.9986, 1.14, 1.372, 1.719, 2.207, 2.85, 3.66, 4.651, 5.831",\
                 "1.012, 1.064, 1.206, 1.437, 1.784, 2.272, 2.915, 3.727, 4.716, 5.894",\
                 "1.138, 1.19, 1.332, 1.563, 1.911, 2.399, 3.042, 3.853, 4.844, 6.024",\
                 "1.309, 1.361, 1.503, 1.734, 2.081, 2.569, 3.212, 4.024, 5.012, 6.192",\
                 "1.508, 1.56, 1.702, 1.933, 2.28, 2.768, 3.41, 4.219, 5.212, 6.394",\
                 "1.734, 1.787, 1.93, 2.161, 2.507, 2.993, 3.636, 4.446, 5.438, 6.615",\
                 "1.986, 2.04, 2.183, 2.413, 2.758, 3.245, 3.887, 4.696, 5.685, 6.867",\
                 "2.26, 2.314, 2.457, 2.687, 3.033, 3.519, 4.161, 4.97, 5.958, 7.136",\
                 "2.554, 2.608, 2.752, 2.983, 3.327, 3.813, 4.454, 5.264, 6.252, 7.431");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.1371, 0.1956, 0.3854, 0.748, 1.349, 2.212, 3.343, 4.772, 6.521, 8.613",\
                 "0.1373, 0.1956, 0.3858, 0.7474, 1.348, 2.211, 3.343, 4.773, 6.52, 8.601",\
                 "0.1374, 0.1956, 0.3854, 0.7478, 1.348, 2.211, 3.349, 4.772, 6.521, 8.613",\
                 "0.1374, 0.1954, 0.3852, 0.748, 1.35, 2.212, 3.343, 4.773, 6.518, 8.599",\
                 "0.1378, 0.1964, 0.3858, 0.748, 1.351, 2.211, 3.347, 4.773, 6.528, 8.601",\
                 "0.14, 0.198, 0.3868, 0.7486, 1.35, 2.211, 3.343, 4.771, 6.521, 8.603",\
                 "0.1424, 0.2006, 0.3888, 0.7496, 1.349, 2.209, 3.343, 4.77, 6.518, 8.596",\
                 "0.146, 0.2026, 0.3912, 0.75, 1.349, 2.208, 3.341, 4.775, 6.519, 8.599",\
                 "0.15, 0.2074, 0.3948, 0.7524, 1.351, 2.208, 3.339, 4.769, 6.511, 8.604",\
                 "0.1538, 0.2104, 0.3974, 0.7534, 1.35, 2.209, 3.343, 4.772, 6.512, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("1.021, 1.073, 1.215, 1.445, 1.793, 2.28, 2.924, 3.735, 4.725, 5.9",\
                 "1.039, 1.09, 1.232, 1.463, 1.81, 2.298, 2.941, 3.752, 4.742, 5.918",\
                 "1.104, 1.156, 1.298, 1.529, 1.876, 2.364, 3.007, 3.816, 4.808, 5.986",\
                 "1.235, 1.287, 1.429, 1.66, 2.007, 2.495, 3.138, 3.948, 4.939, 6.118",\
                 "1.422, 1.474, 1.616, 1.847, 2.194, 2.682, 3.325, 4.136, 5.125, 6.304",\
                 "1.642, 1.694, 1.836, 2.066, 2.413, 2.9, 3.543, 4.355, 5.343, 6.522",\
                 "1.891, 1.943, 2.085, 2.315, 2.662, 3.149, 3.791, 4.603, 5.593, 6.77",\
                 "2.165, 2.217, 2.359, 2.59, 2.937, 3.423, 4.065, 4.875, 5.865, 7.045",\
                 "2.463, 2.515, 2.657, 2.888, 3.234, 3.721, 4.363, 5.172, 6.161, 7.339",\
                 "2.784, 2.837, 2.979, 3.21, 3.555, 4.042, 4.684, 5.494, 6.484, 7.661");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04557, 0.1118, 0.215, 0.3598, 0.5504, 0.7904, 1.083, 1.433");
          values("0.137, 0.195, 0.3854, 0.748, 1.35, 2.209, 3.342, 4.775, 6.52, 8.602",\
                 "0.1371, 0.1956, 0.3858, 0.748, 1.35, 2.212, 3.342, 4.773, 6.52, 8.601",\
                 "0.1382, 0.1954, 0.3854, 0.748, 1.351, 2.212, 3.343, 4.773, 6.52, 8.598",\
                 "0.1372, 0.1956, 0.3856, 0.748, 1.351, 2.212, 3.343, 4.773, 6.521, 8.616",\
                 "0.1378, 0.1966, 0.386, 0.749, 1.351, 2.212, 3.348, 4.773, 6.531, 8.616",\
                 "0.1408, 0.1988, 0.3866, 0.7492, 1.351, 2.209, 3.342, 4.775, 6.52, 8.615",\
                 "0.1428, 0.1996, 0.389, 0.7502, 1.35, 2.209, 3.342, 4.78, 6.527, 8.608",\
                 "0.1456, 0.204, 0.3918, 0.7506, 1.351, 2.207, 3.342, 4.772, 6.518, 8.594",\
                 "0.1494, 0.2064, 0.3946, 0.7522, 1.351, 2.208, 3.34, 4.768, 6.522, 8.607",\
                 "0.1534, 0.2102, 0.3974, 0.7532, 1.35, 2.21, 3.342, 4.771, 6.51, 8.6");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006238 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.692 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0198, 0.01973, 0.0197, 0.0197, 0.0197, 0.01974, 0.01975, 0.01971, \
                 0.01973, 0.01973");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01067, -0.01067, -0.01069, -0.01067, -0.01076, -0.01077, -0.01078, \
                 -0.01079, -0.0108, -0.01083");
        }
      }

      internal_power() {
        when : "!CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0198, 0.01973, 0.01971, 0.01969, 0.01973, 0.01971, 0.01972, \
                 0.01974, 0.01973, 0.01974");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01066, -0.01067, -0.01069, -0.01067, -0.01075, -0.01077, -0.01077, \
                 -0.01078, -0.01081, -0.01084");
        }
      }

      internal_power() {
        when : "CLKN&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06124, 0.06086, 0.06129, 0.06509, 0.0732, 0.0862, 0.1044, 0.1282, \
                 0.1579, 0.1937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01408, 0.01383, 0.01417, 0.01704, 0.02366, 0.03469, 0.05044, \
                 0.07123, 0.09721, 0.1287");
        }
      }

      internal_power() {
        when : "CLKN&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01978, 0.01974, 0.01969, 0.01972, 0.01971, 0.01974, 0.01973, \
                 0.01975, 0.01975, 0.01975");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01067, -0.01067, -0.01068, -0.0107, -0.01074, -0.01076, -0.01079, \
                 -0.01079, -0.01081, -0.01085");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.094, 0.015, -0.108, -0.255, -0.422, -0.622, -0.85, -1.094, -1.381",\
                 "0.117, 0.103, 0.024, -0.102, -0.247, -0.412, -0.613, -0.84, -1.085, -1.372",\
                 "0.152, 0.142, 0.071, -0.056, -0.199, -0.372, -0.574, -0.801, -1.049, -1.334",\
                 "0.235, 0.218, 0.149, 0.023, -0.126, -0.293, -0.495, -0.723, -0.967, -1.261",\
                 "0.353, 0.34, 0.269, 0.137, -0.013, -0.179, -0.393, -0.612, -0.868, -1.16",\
                 "0.549, 0.536, 0.456, 0.322, 0.153, -0.032, -0.244, -0.477, -0.737, -1.021",\
                 "0.884, 0.887, 0.782, 0.605, 0.4, 0.204, -0.032, -0.28, -0.547, -0.846",\
                 "1.429, 1.431, 1.293, 1.091, 0.82, 0.587, 0.3, 0.029, -0.246, -0.567",\
                 "2.136, 2.128, 1.959, 1.692, 1.408, 1.12, 0.789, 0.476, 0.171, -0.179",\
                 "2.918, 2.966, 2.751, 2.465, 2.096, 1.785, 1.403, 1.07, 0.737, 0.333");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.213, 0.275, 0.399, 0.554, 0.739, 0.951, 1.187, 1.452, 1.741",\
                 "0.183, 0.198, 0.266, 0.392, 0.548, 0.73, 0.938, 1.174, 1.437, 1.734",\
                 "0.144, 0.16, 0.228, 0.352, 0.513, 0.692, 0.909, 1.144, 1.405, 1.7",\
                 "0.101, 0.119, 0.182, 0.307, 0.465, 0.651, 0.865, 1.104, 1.369, 1.665",\
                 "0.065, 0.077, 0.149, 0.27, 0.431, 0.618, 0.828, 1.071, 1.341, 1.631",\
                 "0.027, 0.041, 0.113, 0.234, 0.399, 0.583, 0.803, 1.042, 1.313, 1.61",\
                 "0.002, 0.021, 0.087, 0.214, 0.373, 0.564, 0.783, 1.032, 1.297, 1.596",\
                 "-0.006, 0.008, 0.075, 0.198, 0.366, 0.559, 0.784, 1.024, 1.299, 1.597",\
                 "-0.003, 0.007, 0.076, 0.204, 0.371, 0.567, 0.789, 1.043, 1.322, 1.62",\
                 "0.009, 0.027, 0.092, 0.222, 0.395, 0.595, 0.824, 1.076, 1.361, 1.663");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.592");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLKN&D" ;

        fall_constraint(scalar) {
          values("0.592");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&!D" ;

        fall_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLKN_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLKN&D" ;

        fall_constraint(scalar) {
          values("0.692");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffq_1) {
    area : 63.660800 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D" ;
      value : "0.0001504272" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D" ;
      value : "0.0001706298" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D" ;
      value : "0.0002092398" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D" ;
      value : "0.0002261853" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002261853" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003183 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.709 ;
      min_pulse_width_high : 0.707 ;
      min_pulse_width_low : 0.853 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1204, 0.12, 0.1208, 0.1266, 0.1385, 0.1574, 0.1837, 0.218, 0.2606, \
                 0.3118");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09117, 0.09093, 0.09137, 0.096, 0.1057, 0.1218, 0.1448, 0.175, \
                 0.2125, 0.2578");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1223, 0.1219, 0.1227, 0.1285, 0.1404, 0.1592, 0.1855, 0.2197, \
                 0.2623, 0.3135");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0911, 0.09083, 0.09129, 0.0959, 0.1057, 0.1219, 0.1449, 0.1751, \
                 0.2127, 0.258");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("0.853");
        }

        rise_constraint(scalar) {
          values("0.419");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        fall_constraint(scalar) {
          values("0.597");
        }

        rise_constraint(scalar) {
          values("0.707");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D" ;

        rise_constraint(scalar) {
          values("1.709");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "D" ;

        rise_constraint(scalar) {
          values("1.544");
        }
      }
    }

    pin(D) {
      capacitance : 0.002361 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06687, 0.0663, 0.06598, 0.06817, 0.07384, 0.08251, 0.09444, \
                 0.1101, 0.1296, 0.1532");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04624, 0.04637, 0.04688, 0.04894, 0.05308, 0.05992, 0.06961, \
                 0.08233, 0.09827, 0.1175");
        }
      }

      internal_power() {
        when : "CLK" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00438, 0.004375, 0.004372, 0.004376, 0.004367, 0.004372, 0.004373, \
                 0.00437, 0.004365, 0.004356");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002702, -0.002705, -0.002716, -0.002736, -0.002756, -0.002771, \
                 -0.002789, -0.002797, -0.002808, -0.002819");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : hold_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.069, 0.083, 0.125, 0.199, 0.256, 0.29, 0.31, 0.302, 0.274, 0.216",\
                 "0.06, 0.071, 0.118, 0.189, 0.247, 0.282, 0.295, 0.29, 0.265, 0.209",\
                 "0.015, 0.024, 0.079, 0.144, 0.2, 0.239, 0.257, 0.249, 0.222, 0.166",\
                 "-0.108, -0.093, -0.05, 0.023, 0.079, 0.125, 0.136, 0.135, 0.102, 0.053",\
                 "-0.285, -0.278, -0.225, -0.152, -0.094, -0.057, -0.035, -0.039, -0.069, -0.121",\
                 "-0.514, -0.501, -0.455, -0.381, -0.328, -0.281, -0.268, -0.264, -0.295, -0.349",\
                 "-0.791, -0.776, -0.728, -0.655, -0.605, -0.561, -0.541, -0.54, -0.576, -0.631",\
                 "-1.116, -1.109, -1.063, -0.99, -0.938, -0.89, -0.875, -0.875, -0.908, -0.964",\
                 "-1.499, -1.494, -1.454, -1.378, -1.322, -1.277, -1.262, -1.259, -1.292, -1.343",\
                 "-1.949, -1.944, -1.903, -1.826, -1.779, -1.726, -1.709, -1.708, -1.746, -1.79");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.049, 0.087, 0.134, 0.167, 0.181, 0.175, 0.154, 0.115, 0.049",\
                 "0.026, 0.039, 0.082, 0.131, 0.162, 0.17, 0.175, 0.147, 0.113, 0.046",\
                 "-0.001, 0.012, 0.055, 0.103, 0.139, 0.156, 0.157, 0.137, 0.098, 0.037",\
                 "-0.008, 0.004, 0.048, 0.1, 0.132, 0.147, 0.146, 0.129, 0.093, 0.025",\
                 "0.005, 0.015, 0.062, 0.112, 0.142, 0.162, 0.153, 0.138, 0.092, 0.028",\
                 "0.055, 0.071, 0.113, 0.161, 0.189, 0.194, 0.19, 0.166, 0.119, 0.052",\
                 "0.162, 0.176, 0.214, 0.254, 0.282, 0.281, 0.275, 0.241, 0.192, 0.119",\
                 "0.318, 0.33, 0.367, 0.406, 0.425, 0.424, 0.403, 0.366, 0.314, 0.24",\
                 "0.53, 0.545, 0.581, 0.615, 0.627, 0.614, 0.594, 0.55, 0.49, 0.413",\
                 "0.811, 0.818, 0.859, 0.882, 0.89, 0.873, 0.845, 0.797, 0.731, 0.64");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : setup_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.389, 0.381, 0.326, 0.247, 0.184, 0.136, 0.111, 0.106, 0.132, 0.186",\
                 "0.397, 0.389, 0.332, 0.254, 0.185, 0.142, 0.116, 0.115, 0.143, 0.195",\
                 "0.447, 0.432, 0.378, 0.303, 0.236, 0.189, 0.16, 0.162, 0.192, 0.242",\
                 "0.581, 0.565, 0.515, 0.437, 0.37, 0.321, 0.294, 0.293, 0.318, 0.373",\
                 "0.799, 0.788, 0.73, 0.649, 0.586, 0.539, 0.51, 0.514, 0.532, 0.586",\
                 "1.078, 1.066, 1.011, 0.937, 0.872, 0.826, 0.793, 0.794, 0.813, 0.867",\
                 "1.432, 1.418, 1.371, 1.284, 1.223, 1.174, 1.147, 1.145, 1.167, 1.216",\
                 "1.848, 1.837, 1.784, 1.705, 1.641, 1.597, 1.568, 1.562, 1.583, 1.635",\
                 "2.335, 2.329, 2.273, 2.19, 2.127, 2.084, 2.047, 2.049, 2.069, 2.118",\
                 "2.892, 2.882, 2.826, 2.745, 2.68, 2.632, 2.602, 2.594, 2.62, 2.661");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.372, 0.354, 0.294, 0.211, 0.154, 0.119, 0.103, 0.112, 0.156, 0.227",\
                 "0.377, 0.365, 0.302, 0.225, 0.162, 0.13, 0.107, 0.127, 0.168, 0.231",\
                 "0.42, 0.408, 0.347, 0.263, 0.201, 0.164, 0.142, 0.156, 0.192, 0.264",\
                 "0.471, 0.45, 0.393, 0.314, 0.244, 0.212, 0.194, 0.199, 0.23, 0.294",\
                 "0.487, 0.471, 0.409, 0.327, 0.263, 0.224, 0.207, 0.21, 0.248, 0.312",\
                 "0.463, 0.447, 0.392, 0.308, 0.241, 0.205, 0.187, 0.196, 0.227, 0.298",\
                 "0.403, 0.39, 0.33, 0.246, 0.182, 0.15, 0.129, 0.14, 0.174, 0.239",\
                 "0.29, 0.278, 0.218, 0.135, 0.072, 0.04, 0.017, 0.029, 0.071, 0.143",\
                 "0.13, 0.105, 0.048, -0.029, -0.088, -0.127, -0.151, -0.132, -0.086, -0.017",\
                 "-0.102, -0.121, -0.177, -0.254, -0.323, -0.356, -0.367, -0.35, -0.307, -0.23");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3602 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1079, 0.1073, 0.1066, 0.1064, 0.1064, 0.1063, 0.1063, 0.1063, 0.1063, 0.1063",\
                 "0.1078, 0.1072, 0.1066, 0.1064, 0.1063, 0.1063, 0.1063, 0.1063, 0.1063, 0.1063",\
                 "0.1079, 0.1073, 0.1066, 0.1065, 0.1064, 0.1063, 0.1063, 0.1063, 0.1063, 0.1063",\
                 "0.1082, 0.1076, 0.107, 0.1068, 0.1068, 0.1067, 0.1067, 0.1067, 0.1067, 0.1067",\
                 "0.1089, 0.1083, 0.1077, 0.1075, 0.1074, 0.1074, 0.1074, 0.1074, 0.1074, 0.1074",\
                 "0.1094, 0.1088, 0.1082, 0.108, 0.1079, 0.1079, 0.1079, 0.1079, 0.1079, 0.1079",\
                 "0.1103, 0.1096, 0.109, 0.1089, 0.1088, 0.1087, 0.1087, 0.1087, 0.1087, 0.1087",\
                 "0.111, 0.1104, 0.1097, 0.1096, 0.1095, 0.1095, 0.1095, 0.1094, 0.1094, 0.1094",\
                 "0.1119, 0.1112, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
                 "0.1128, 0.1123, 0.1117, 0.1114, 0.1114, 0.1113, 0.1113, 0.1113, 0.1113, 0.1113");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1076, 0.1067, 0.1055, 0.105, 0.1052, 0.1059, 0.1066, 0.107, 0.108, 0.1119",\
                 "0.1076, 0.1066, 0.1054, 0.1049, 0.1052, 0.1058, 0.1066, 0.1073, 0.1078, 0.1116",\
                 "0.1074, 0.1066, 0.1053, 0.1049, 0.1052, 0.1058, 0.1066, 0.1069, 0.1076, 0.1119",\
                 "0.1078, 0.1069, 0.1057, 0.1052, 0.1054, 0.1061, 0.1067, 0.1072, 0.1082, 0.1128",\
                 "0.1083, 0.1074, 0.1061, 0.1057, 0.1059, 0.1065, 0.1072, 0.1077, 0.1085, 0.1145",\
                 "0.109, 0.1081, 0.1068, 0.1067, 0.1067, 0.1073, 0.1078, 0.1085, 0.1096, 0.1163",\
                 "0.11, 0.1091, 0.1078, 0.1072, 0.1079, 0.1086, 0.1089, 0.1095, 0.1107, 0.1189",\
                 "0.1114, 0.1104, 0.1091, 0.1087, 0.1087, 0.1096, 0.1108, 0.1116, 0.1119, 0.1232",\
                 "0.1128, 0.1119, 0.1105, 0.1102, 0.1102, 0.1104, 0.1119, 0.1137, 0.1151, 0.1303",\
                 "0.1146, 0.1137, 0.1124, 0.1117, 0.1119, 0.1121, 0.1129, 0.1143, 0.1186, 0.1422");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.858, 0.8906, 0.9789, 1.115, 1.311, 1.58, 1.934, 2.379, 2.923, 3.571",\
                 "0.8716, 0.9038, 0.9925, 1.129, 1.324, 1.594, 1.947, 2.393, 2.936, 3.584",\
                 "0.9219, 0.9542, 1.043, 1.179, 1.374, 1.644, 1.997, 2.443, 2.987, 3.635",\
                 "1.001, 1.033, 1.121, 1.258, 1.453, 1.723, 2.076, 2.522, 3.065, 3.714",\
                 "1.067, 1.1, 1.188, 1.325, 1.52, 1.789, 2.143, 2.588, 3.132, 3.78",\
                 "1.118, 1.151, 1.239, 1.376, 1.571, 1.84, 2.194, 2.639, 3.183, 3.83",\
                 "1.152, 1.184, 1.272, 1.409, 1.605, 1.874, 2.227, 2.673, 3.216, 3.864",\
                 "1.163, 1.195, 1.283, 1.42, 1.615, 1.885, 2.238, 2.683, 3.227, 3.875",\
                 "1.148, 1.18, 1.269, 1.405, 1.601, 1.87, 2.224, 2.669, 3.212, 3.86",\
                 "1.106, 1.139, 1.227, 1.364, 1.559, 1.828, 2.182, 2.627, 3.171, 3.819");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.9773, 1.018, 1.14, 1.363, 1.711, 2.199, 2.841, 3.651, 4.639, 5.818",\
                 "0.9906, 1.031, 1.153, 1.376, 1.724, 2.212, 2.854, 3.664, 4.653, 5.83",\
                 "1.04, 1.081, 1.203, 1.426, 1.774, 2.262, 2.904, 3.714, 4.702, 5.881",\
                 "1.119, 1.159, 1.282, 1.505, 1.853, 2.341, 2.983, 3.793, 4.781, 5.96",\
                 "1.188, 1.228, 1.35, 1.573, 1.921, 2.41, 3.052, 3.861, 4.849, 6.028",\
                 "1.242, 1.282, 1.404, 1.628, 1.975, 2.464, 3.106, 3.915, 4.904, 6.082",\
                 "1.281, 1.321, 1.443, 1.666, 2.014, 2.503, 3.144, 3.954, 4.943, 6.121",\
                 "1.299, 1.339, 1.461, 1.685, 2.032, 2.52, 3.163, 3.972, 4.959, 6.136",\
                 "1.293, 1.333, 1.455, 1.678, 2.026, 2.515, 3.157, 3.967, 4.953, 6.13",\
                 "1.262, 1.302, 1.424, 1.648, 1.996, 2.484, 3.126, 3.935, 4.923, 6.101");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1061, 0.1391, 0.2394, 0.424, 0.7294, 1.177, 1.77, 2.516, 3.435, 4.524",\
                 "0.1059, 0.1391, 0.2395, 0.4238, 0.7308, 1.177, 1.77, 2.517, 3.435, 4.525",\
                 "0.1058, 0.1392, 0.239, 0.4242, 0.7308, 1.176, 1.769, 2.516, 3.435, 4.522",\
                 "0.1056, 0.139, 0.2394, 0.424, 0.7314, 1.177, 1.768, 2.519, 3.435, 4.521",\
                 "0.1058, 0.1388, 0.2392, 0.425, 0.7308, 1.177, 1.769, 2.52, 3.43, 4.525",\
                 "0.1056, 0.1392, 0.2384, 0.424, 0.7294, 1.175, 1.769, 2.515, 3.43, 4.525",\
                 "0.1058, 0.1386, 0.239, 0.4238, 0.7298, 1.174, 1.766, 2.514, 3.426, 4.523",\
                 "0.1056, 0.1388, 0.2398, 0.4242, 0.7298, 1.176, 1.766, 2.513, 3.425, 4.514",\
                 "0.1062, 0.1386, 0.239, 0.4244, 0.7302, 1.176, 1.77, 2.514, 3.426, 4.512",\
                 "0.1056, 0.1392, 0.239, 0.4238, 0.7316, 1.176, 1.769, 2.514, 3.426, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1334, 0.1864, 0.3724, 0.7582, 1.373, 2.233, 3.362, 4.789, 6.532, 8.607",\
                 "0.1336, 0.186, 0.3722, 0.7582, 1.372, 2.233, 3.362, 4.789, 6.532, 8.614",\
                 "0.133, 0.1862, 0.3722, 0.7582, 1.37, 2.23, 3.36, 4.79, 6.532, 8.609",\
                 "0.1336, 0.186, 0.3724, 0.7582, 1.37, 2.233, 3.365, 4.787, 6.531, 8.61",\
                 "0.1334, 0.1864, 0.3724, 0.758, 1.371, 2.233, 3.366, 4.787, 6.532, 8.614",\
                 "0.1332, 0.1862, 0.3726, 0.7592, 1.37, 2.233, 3.368, 4.789, 6.532, 8.609",\
                 "0.1332, 0.1862, 0.3724, 0.7588, 1.372, 2.23, 3.363, 4.79, 6.533, 8.614",\
                 "0.134, 0.1864, 0.3726, 0.7592, 1.371, 2.23, 3.361, 4.794, 6.53, 8.61",\
                 "0.1334, 0.1862, 0.3726, 0.7576, 1.371, 2.232, 3.364, 4.786, 6.529, 8.606",\
                 "0.1342, 0.1864, 0.3728, 0.7598, 1.37, 2.23, 3.362, 4.794, 6.526, 8.602");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffq_2) {
    area : 68.051200 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D" ;
      value : "0.0001619574" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D" ;
      value : "0.0001817145" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D" ;
      value : "0.0002207865" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D" ;
      value : "0.000236874" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000236874" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003182 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.721 ;
      min_pulse_width_high : 0.776 ;
      min_pulse_width_low : 0.86 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1204, 0.12, 0.1208, 0.1266, 0.1385, 0.1573, 0.1837, 0.2179, \
                 0.2606, 0.3119");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09115, 0.09089, 0.09134, 0.09599, 0.1057, 0.1218, 0.1449, 0.175, \
                 0.2126, 0.2578");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1223, 0.1219, 0.1227, 0.1285, 0.1404, 0.1591, 0.1855, 0.2198, \
                 0.2623, 0.3135");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09112, 0.0908, 0.09125, 0.09594, 0.1057, 0.1219, 0.1449, 0.1751, \
                 0.2126, 0.258");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("0.86");
        }

        rise_constraint(scalar) {
          values("0.44");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        fall_constraint(scalar) {
          values("0.63");
        }

        rise_constraint(scalar) {
          values("0.776");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D" ;

        rise_constraint(scalar) {
          values("1.721");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "D" ;

        rise_constraint(scalar) {
          values("1.615");
        }
      }
    }

    pin(D) {
      capacitance : 0.002363 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06689, 0.06631, 0.06599, 0.06819, 0.07382, 0.08251, 0.09447, \
                 0.1101, 0.1297, 0.1532");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04624, 0.04638, 0.04687, 0.04892, 0.0531, 0.0599, 0.06958, 0.08233, \
                 0.09827, 0.1176");
        }
      }

      internal_power() {
        when : "CLK" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004373, 0.004372, 0.004373, 0.004367, 0.00437, 0.004377, 0.004371, \
                 0.00437, 0.004363, 0.004354");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00271, -0.002706, -0.002717, -0.002738, -0.002762, -0.002779, \
                 -0.002788, -0.002797, -0.002808, -0.002819");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : hold_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08, 0.097, 0.141, 0.207, 0.263, 0.301, 0.319, 0.313, 0.282, 0.226",\
                 "0.074, 0.087, 0.136, 0.207, 0.255, 0.294, 0.313, 0.302, 0.273, 0.219",\
                 "0.026, 0.042, 0.087, 0.161, 0.208, 0.252, 0.266, 0.261, 0.23, 0.177",\
                 "-0.089, -0.073, -0.033, 0.046, 0.095, 0.14, 0.156, 0.149, 0.119, 0.065",\
                 "-0.27, -0.255, -0.208, -0.132, -0.08, -0.04, -0.018, -0.024, -0.05, -0.108",\
                 "-0.486, -0.471, -0.43, -0.351, -0.302, -0.259, -0.241, -0.247, -0.274, -0.33",\
                 "-0.757, -0.741, -0.701, -0.625, -0.576, -0.527, -0.509, -0.52, -0.553, -0.609",\
                 "-1.075, -1.061, -1.019, -0.95, -0.901, -0.848, -0.827, -0.847, -0.875, -0.932",\
                 "-1.452, -1.438, -1.397, -1.335, -1.275, -1.23, -1.209, -1.225, -1.253, -1.316",\
                 "-1.892, -1.881, -1.844, -1.765, -1.72, -1.674, -1.645, -1.66, -1.692, -1.755");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04, 0.049, 0.093, 0.144, 0.174, 0.186, 0.184, 0.16, 0.122, 0.054",\
                 "0.026, 0.039, 0.082, 0.131, 0.162, 0.182, 0.175, 0.153, 0.113, 0.052",\
                 "0.004, 0.018, 0.063, 0.109, 0.148, 0.162, 0.166, 0.143, 0.106, 0.048",\
                 "0.002, 0.013, 0.054, 0.108, 0.137, 0.154, 0.156, 0.135, 0.093, 0.037",\
                 "0.013, 0.031, 0.07, 0.117, 0.148, 0.171, 0.165, 0.146, 0.102, 0.034",\
                 "0.067, 0.083, 0.125, 0.168, 0.198, 0.211, 0.197, 0.174, 0.129, 0.065",\
                 "0.17, 0.184, 0.232, 0.264, 0.287, 0.295, 0.283, 0.251, 0.204, 0.133",\
                 "0.336, 0.348, 0.385, 0.419, 0.44, 0.441, 0.413, 0.378, 0.327, 0.248",\
                 "0.554, 0.569, 0.605, 0.632, 0.636, 0.635, 0.605, 0.564, 0.505, 0.422",\
                 "0.831, 0.845, 0.88, 0.899, 0.908, 0.893, 0.859, 0.813, 0.749, 0.655");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : setup_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.395, 0.388, 0.331, 0.256, 0.184, 0.142, 0.111, 0.112, 0.14, 0.196",\
                 "0.404, 0.389, 0.338, 0.254, 0.193, 0.148, 0.116, 0.121, 0.152, 0.2",\
                 "0.452, 0.438, 0.386, 0.309, 0.244, 0.196, 0.169, 0.168, 0.2, 0.248",\
                 "0.581, 0.575, 0.52, 0.437, 0.37, 0.329, 0.304, 0.299, 0.326, 0.378",\
                 "0.807, 0.788, 0.739, 0.654, 0.592, 0.548, 0.516, 0.514, 0.542, 0.592",\
                 "1.084, 1.072, 1.024, 0.937, 0.872, 0.831, 0.8, 0.803, 0.824, 0.873",\
                 "1.44, 1.427, 1.371, 1.294, 1.223, 1.18, 1.147, 1.145, 1.173, 1.223",\
                 "1.86, 1.843, 1.79, 1.712, 1.642, 1.606, 1.568, 1.568, 1.59, 1.635",\
                 "2.343, 2.329, 2.282, 2.199, 2.136, 2.084, 2.053, 2.049, 2.077, 2.118",\
                 "2.897, 2.887, 2.836, 2.749, 2.686, 2.638, 2.608, 2.602, 2.629, 2.671");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.395, 0.381, 0.321, 0.238, 0.176, 0.142, 0.128, 0.129, 0.172, 0.238",\
                 "0.404, 0.397, 0.332, 0.254, 0.185, 0.148, 0.133, 0.139, 0.184, 0.247",\
                 "0.442, 0.432, 0.378, 0.292, 0.227, 0.189, 0.169, 0.174, 0.217, 0.274",\
                 "0.49, 0.488, 0.422, 0.345, 0.27, 0.234, 0.214, 0.212, 0.248, 0.306",\
                 "0.509, 0.502, 0.435, 0.359, 0.29, 0.259, 0.23, 0.232, 0.267, 0.324",\
                 "0.486, 0.477, 0.417, 0.337, 0.276, 0.232, 0.207, 0.213, 0.248, 0.311",\
                 "0.428, 0.424, 0.357, 0.286, 0.211, 0.177, 0.153, 0.159, 0.192, 0.26",\
                 "0.319, 0.308, 0.243, 0.169, 0.101, 0.065, 0.046, 0.046, 0.091, 0.159",\
                 "0.154, 0.137, 0.081, 0.006, -0.059, -0.106, -0.121, -0.112, -0.07, 0.001",\
                 "-0.076, -0.085, -0.145, -0.215, -0.287, -0.323, -0.338, -0.334, -0.289, -0.215");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.72 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
          values("0.1523, 0.148, 0.1436, 0.1417, 0.1407, 0.1405, 0.14, 0.1399, 0.1398, 0.1397",\
                 "0.1522, 0.1479, 0.1435, 0.1415, 0.1407, 0.1404, 0.14, 0.1398, 0.1397, 0.1397",\
                 "0.1522, 0.1479, 0.1435, 0.1417, 0.1408, 0.1403, 0.14, 0.1399, 0.1398, 0.1397",\
                 "0.1526, 0.1483, 0.1439, 0.142, 0.1411, 0.1407, 0.1404, 0.1402, 0.1401, 0.1401",\
                 "0.1533, 0.149, 0.1446, 0.1426, 0.1418, 0.1414, 0.1412, 0.141, 0.1409, 0.1408",\
                 "0.1538, 0.1495, 0.145, 0.1432, 0.1423, 0.1419, 0.1415, 0.1414, 0.1413, 0.1412",\
                 "0.1545, 0.1502, 0.1458, 0.144, 0.143, 0.1426, 0.1422, 0.1421, 0.142, 0.1419",\
                 "0.1554, 0.1511, 0.1467, 0.1447, 0.1439, 0.1435, 0.1431, 0.143, 0.1429, 0.1428",\
                 "0.1562, 0.1519, 0.1474, 0.1456, 0.1446, 0.1442, 0.1439, 0.1437, 0.1437, 0.1436",\
                 "0.1573, 0.153, 0.1485, 0.1467, 0.1457, 0.1454, 0.145, 0.1448, 0.1447, 0.1446");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
          values("0.1472, 0.1436, 0.1389, 0.1367, 0.1359, 0.1368, 0.1379, 0.1393, 0.1407, 0.1482",\
                 "0.1473, 0.1436, 0.1387, 0.1367, 0.1359, 0.1369, 0.1377, 0.139, 0.1407, 0.1486",\
                 "0.1473, 0.1435, 0.1388, 0.1363, 0.136, 0.137, 0.1378, 0.1386, 0.1407, 0.1501",\
                 "0.1475, 0.1438, 0.139, 0.1367, 0.1366, 0.1369, 0.1383, 0.1395, 0.1412, 0.15",\
                 "0.148, 0.1442, 0.1394, 0.1371, 0.1366, 0.1375, 0.1382, 0.1392, 0.1424, 0.1517",\
                 "0.1486, 0.1451, 0.1401, 0.138, 0.1374, 0.1383, 0.1392, 0.1399, 0.1424, 0.1563",\
                 "0.1496, 0.1461, 0.141, 0.1383, 0.1391, 0.1397, 0.1406, 0.1423, 0.1436, 0.1613",\
                 "0.1509, 0.1472, 0.1425, 0.1395, 0.139, 0.141, 0.1431, 0.1437, 0.1444, 0.1683",\
                 "0.1524, 0.1488, 0.1439, 0.1413, 0.1406, 0.1411, 0.1432, 0.1458, 0.15, 0.1808",\
                 "0.1542, 0.1507, 0.1459, 0.1428, 0.1426, 0.1428, 0.143, 0.1459, 0.1549, 0.2023");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
          values("0.9113, 0.9526, 1.056, 1.204, 1.406, 1.677, 2.031, 2.477, 3.021, 3.67",\
                 "0.9248, 0.966, 1.069, 1.218, 1.419, 1.69, 2.044, 2.49, 3.035, 3.684",\
                 "0.975, 1.016, 1.12, 1.268, 1.469, 1.74, 2.095, 2.54, 3.085, 3.733",\
                 "1.054, 1.095, 1.198, 1.347, 1.548, 1.819, 2.173, 2.619, 3.163, 3.812",\
                 "1.12, 1.162, 1.265, 1.413, 1.615, 1.886, 2.24, 2.686, 3.23, 3.879",\
                 "1.172, 1.213, 1.316, 1.465, 1.666, 1.937, 2.291, 2.737, 3.281, 3.931",\
                 "1.205, 1.246, 1.349, 1.498, 1.699, 1.97, 2.324, 2.77, 3.314, 3.962",\
                 "1.216, 1.257, 1.361, 1.509, 1.71, 1.981, 2.336, 2.781, 3.325, 3.974",\
                 "1.201, 1.242, 1.345, 1.494, 1.695, 1.966, 2.321, 2.766, 3.31, 3.959",\
                 "1.159, 1.201, 1.304, 1.453, 1.654, 1.925, 2.279, 2.725, 3.269, 3.918");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
          values("1.043, 1.09, 1.221, 1.445, 1.792, 2.28, 2.923, 3.732, 4.722, 5.902",\
                 "1.056, 1.103, 1.234, 1.458, 1.805, 2.294, 2.936, 3.746, 4.736, 5.916",\
                 "1.106, 1.153, 1.284, 1.508, 1.855, 2.343, 2.986, 3.796, 4.784, 5.962",\
                 "1.185, 1.232, 1.362, 1.586, 1.934, 2.422, 3.065, 3.874, 4.864, 6.044",\
                 "1.253, 1.3, 1.431, 1.655, 2.002, 2.491, 3.133, 3.943, 4.932, 6.111",\
                 "1.308, 1.355, 1.485, 1.709, 2.057, 2.545, 3.188, 3.998, 4.986, 6.164",\
                 "1.346, 1.393, 1.524, 1.748, 2.095, 2.583, 3.226, 4.036, 5.025, 6.205",\
                 "1.365, 1.411, 1.542, 1.766, 2.113, 2.602, 3.244, 4.054, 5.042, 6.223",\
                 "1.359, 1.406, 1.536, 1.76, 2.108, 2.596, 3.238, 4.048, 5.037, 6.214",\
                 "1.328, 1.375, 1.506, 1.73, 2.077, 2.565, 3.208, 4.017, 5.007, 6.185");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
          values("0.1077, 0.1465, 0.2546, 0.437, 0.7348, 1.172, 1.762, 2.511, 3.424, 4.52",\
                 "0.1078, 0.1466, 0.255, 0.437, 0.7332, 1.172, 1.762, 2.509, 3.424, 4.52",\
                 "0.1076, 0.1466, 0.2552, 0.4376, 0.7338, 1.172, 1.762, 2.51, 3.428, 4.519",\
                 "0.1076, 0.1466, 0.255, 0.4372, 0.7326, 1.17, 1.762, 2.511, 3.428, 4.52",\
                 "0.1078, 0.1466, 0.255, 0.4374, 0.7328, 1.172, 1.762, 2.51, 3.428, 4.514",\
                 "0.1076, 0.1466, 0.255, 0.4376, 0.734, 1.172, 1.762, 2.509, 3.429, 4.516",\
                 "0.1076, 0.1466, 0.2544, 0.4376, 0.7332, 1.171, 1.76, 2.507, 3.42, 4.516",\
                 "0.1076, 0.1468, 0.2544, 0.4368, 0.7326, 1.172, 1.76, 2.509, 3.419, 4.51",\
                 "0.1076, 0.1466, 0.2546, 0.437, 0.7326, 1.172, 1.76, 2.508, 3.422, 4.507",\
                 "0.1076, 0.1468, 0.2546, 0.4378, 0.7338, 1.172, 1.76, 2.509, 3.421, 4.509");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005962, 0.02338, 0.05664, 0.1085, 0.1812, 0.2769, 0.3974, 0.5446, 0.72");
          values("0.1168, 0.173, 0.357, 0.732, 1.344, 2.204, 3.34, 4.763, 6.509, 8.59",\
                 "0.1172, 0.173, 0.3568, 0.732, 1.344, 2.204, 3.335, 4.771, 6.51, 8.59",\
                 "0.1172, 0.1732, 0.3566, 0.732, 1.342, 2.205, 3.341, 4.766, 6.51, 8.586",\
                 "0.1176, 0.173, 0.357, 0.7316, 1.343, 2.205, 3.34, 4.763, 6.508, 8.59",\
                 "0.117, 0.1728, 0.3568, 0.7316, 1.345, 2.206, 3.341, 4.764, 6.506, 8.592",\
                 "0.1166, 0.173, 0.3566, 0.7316, 1.343, 2.206, 3.341, 4.766, 6.51, 8.585",\
                 "0.1166, 0.173, 0.3572, 0.7334, 1.342, 2.203, 3.338, 4.764, 6.508, 8.593",\
                 "0.1164, 0.1736, 0.357, 0.7318, 1.343, 2.204, 3.336, 4.767, 6.51, 8.59",\
                 "0.1164, 0.1738, 0.357, 0.7328, 1.343, 2.204, 3.342, 4.762, 6.506, 8.584",\
                 "0.117, 0.1732, 0.3572, 0.732, 1.343, 2.204, 3.339, 4.763, 6.504, 8.582");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffq_4) {
    area : 79.027200 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D" ;
      value : "0.000195723" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D" ;
      value : "0.0002152722" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D" ;
      value : "0.0002544597" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D" ;
      value : "0.0002707188" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002707188" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003349 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.75 ;
      min_pulse_width_high : 0.818 ;
      min_pulse_width_low : 0.879 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1219, 0.1215, 0.1222, 0.128, 0.1399, 0.1587, 0.185, 0.2193, \
                 0.2619, 0.3132");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09121, 0.09088, 0.09139, 0.096, 0.1057, 0.1218, 0.1447, 0.1748, \
                 0.2125, 0.2577");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1238, 0.1234, 0.1242, 0.1299, 0.1417, 0.1605, 0.1868, 0.221, \
                 0.2636, 0.3148");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09113, 0.09088, 0.09133, 0.09595, 0.1057, 0.1218, 0.1448, 0.1751, \
                 0.2126, 0.2579");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        fall_constraint(scalar) {
          values("0.879");
        }

        rise_constraint(scalar) {
          values("0.508");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        fall_constraint(scalar) {
          values("0.61");
        }

        rise_constraint(scalar) {
          values("0.818");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D" ;

        rise_constraint(scalar) {
          values("1.75");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : minimum_period ;
        when : "D" ;

        rise_constraint(scalar) {
          values("1.674");
        }
      }
    }

    pin(D) {
      capacitance : 0.002363 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06688, 0.0663, 0.06598, 0.06818, 0.07383, 0.08249, 0.09446, \
                 0.1101, 0.1297, 0.1532");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04624, 0.04638, 0.04687, 0.04891, 0.05309, 0.05993, 0.06959, \
                 0.08237, 0.09829, 0.1176");
        }
      }

      internal_power() {
        when : "CLK" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004374, 0.004375, 0.004375, 0.00437, 0.004367, 0.004374, 0.004374, \
                 0.004368, 0.004362, 0.004357");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002704, -0.002717, -0.002716, -0.002737, -0.002763, -0.002775, \
                 -0.002786, -0.002798, -0.002805, -0.00282");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : hold_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.092, 0.11, 0.157, 0.226, 0.278, 0.313, 0.327, 0.325, 0.298, 0.236",\
                 "0.087, 0.103, 0.148, 0.218, 0.27, 0.306, 0.321, 0.314, 0.289, 0.23",\
                 "0.042, 0.054, 0.103, 0.167, 0.226, 0.264, 0.275, 0.274, 0.247, 0.187",\
                 "-0.08, -0.064, -0.016, 0.054, 0.111, 0.147, 0.166, 0.162, 0.128, 0.076",\
                 "-0.248, -0.232, -0.19, -0.121, -0.06, -0.022, -0.007, -0.01, -0.031, -0.097",\
                 "-0.468, -0.448, -0.404, -0.337, -0.284, -0.237, -0.227, -0.23, -0.258, -0.323",\
                 "-0.732, -0.707, -0.673, -0.605, -0.553, -0.507, -0.501, -0.501, -0.535, -0.595",\
                 "-1.051, -1.025, -0.988, -0.93, -0.871, -0.831, -0.817, -0.83, -0.854, -0.916",\
                 "-1.42, -1.398, -1.363, -1.308, -1.247, -1.209, -1.197, -1.212, -1.23, -1.298",\
                 "-1.855, -1.828, -1.796, -1.742, -1.684, -1.642, -1.631, -1.644, -1.674, -1.744");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.057, 0.069, 0.114, 0.162, 0.196, 0.209, 0.209, 0.195, 0.154, 0.096",\
                 "0.053, 0.063, 0.106, 0.16, 0.193, 0.206, 0.21, 0.195, 0.153, 0.093",\
                 "0.036, 0.048, 0.095, 0.138, 0.174, 0.194, 0.203, 0.187, 0.147, 0.091",\
                 "0.038, 0.052, 0.089, 0.138, 0.174, 0.191, 0.196, 0.176, 0.137, 0.081",\
                 "0.057, 0.069, 0.114, 0.153, 0.189, 0.206, 0.205, 0.183, 0.14, 0.082",\
                 "0.119, 0.13, 0.17, 0.212, 0.242, 0.248, 0.244, 0.225, 0.171, 0.11",\
                 "0.238, 0.244, 0.287, 0.314, 0.339, 0.342, 0.331, 0.3, 0.245, 0.176",\
                 "0.407, 0.414, 0.454, 0.473, 0.492, 0.491, 0.471, 0.435, 0.374, 0.304",\
                 "0.641, 0.641, 0.68, 0.702, 0.703, 0.693, 0.67, 0.631, 0.56, 0.485",\
                 "0.935, 0.939, 0.972, 0.983, 0.985, 0.957, 0.931, 0.885, 0.812, 0.722");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : setup_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.412, 0.395, 0.347, 0.265, 0.199, 0.153, 0.128, 0.123, 0.148, 0.207",\
                 "0.418, 0.405, 0.35, 0.274, 0.208, 0.159, 0.133, 0.133, 0.16, 0.21",\
                 "0.468, 0.456, 0.402, 0.321, 0.253, 0.208, 0.178, 0.18, 0.208, 0.258",\
                 "0.599, 0.585, 0.532, 0.452, 0.386, 0.336, 0.314, 0.313, 0.335, 0.388",\
                 "0.822, 0.803, 0.748, 0.67, 0.606, 0.557, 0.528, 0.528, 0.551, 0.604",\
                 "1.107, 1.09, 1.036, 0.959, 0.889, 0.842, 0.813, 0.811, 0.834, 0.886",\
                 "1.457, 1.444, 1.389, 1.314, 1.24, 1.194, 1.163, 1.164, 1.184, 1.237",\
                 "1.883, 1.867, 1.809, 1.732, 1.664, 1.623, 1.588, 1.58, 1.603, 1.651",\
                 "2.375, 2.361, 2.306, 2.216, 2.155, 2.105, 2.071, 2.069, 2.085, 2.136",\
                 "2.933, 2.917, 2.863, 2.773, 2.709, 2.658, 2.63, 2.626, 2.647, 2.687");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.378, 0.361, 0.305, 0.22, 0.169, 0.136, 0.12, 0.129, 0.172, 0.238",\
                 "0.384, 0.373, 0.32, 0.235, 0.177, 0.142, 0.133, 0.139, 0.184, 0.247",\
                 "0.426, 0.414, 0.362, 0.28, 0.218, 0.183, 0.169, 0.174, 0.217, 0.274",\
                 "0.481, 0.469, 0.41, 0.33, 0.265, 0.226, 0.214, 0.211, 0.248, 0.306",\
                 "0.494, 0.487, 0.426, 0.348, 0.283, 0.25, 0.225, 0.232, 0.267, 0.33",\
                 "0.474, 0.465, 0.405, 0.33, 0.267, 0.227, 0.207, 0.213, 0.248, 0.311",\
                 "0.42, 0.407, 0.348, 0.276, 0.205, 0.17, 0.153, 0.159, 0.198, 0.267",\
                 "0.302, 0.296, 0.243, 0.162, 0.101, 0.065, 0.046, 0.052, 0.098, 0.159",\
                 "0.146, 0.129, 0.073, -0.003, -0.069, -0.101, -0.121, -0.105, -0.063, 0.01",\
                 "-0.081, -0.095, -0.145, -0.232, -0.287, -0.323, -0.338, -0.326, -0.28, -0.209");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.442 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
          values("0.279, 0.2711, 0.2646, 0.2622, 0.2615, 0.2611, 0.2609, 0.2607, 0.2607, 0.2606",\
                 "0.279, 0.2714, 0.2648, 0.2625, 0.2616, 0.261, 0.2609, 0.2608, 0.2607, 0.2607",\
                 "0.2789, 0.2713, 0.2647, 0.2624, 0.2616, 0.261, 0.2608, 0.2607, 0.2607, 0.2606",\
                 "0.2793, 0.2714, 0.2649, 0.2626, 0.2619, 0.2613, 0.2612, 0.2611, 0.261, 0.261",\
                 "0.2797, 0.272, 0.2657, 0.2633, 0.2625, 0.2619, 0.2618, 0.2617, 0.2617, 0.2616",\
                 "0.2804, 0.2727, 0.266, 0.2638, 0.2632, 0.2627, 0.2623, 0.2622, 0.2621, 0.2621",\
                 "0.281, 0.2733, 0.2667, 0.2643, 0.2637, 0.2632, 0.2629, 0.2627, 0.2627, 0.2627",\
                 "0.2819, 0.2741, 0.2676, 0.2654, 0.2643, 0.2641, 0.2638, 0.2637, 0.2636, 0.2635",\
                 "0.2826, 0.275, 0.2682, 0.2661, 0.2652, 0.2647, 0.2644, 0.2643, 0.2642, 0.2642",\
                 "0.2835, 0.2759, 0.2693, 0.267, 0.2662, 0.2655, 0.2653, 0.2652, 0.2651, 0.265");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
          values("0.2971, 0.2907, 0.283, 0.2799, 0.279, 0.2813, 0.2847, 0.2873, 0.2914, 0.3058",\
                 "0.297, 0.2905, 0.2824, 0.2798, 0.2791, 0.2812, 0.2853, 0.2882, 0.2913, 0.306",\
                 "0.297, 0.2905, 0.2825, 0.2798, 0.2791, 0.2818, 0.2848, 0.2871, 0.2925, 0.3068",\
                 "0.2968, 0.2903, 0.2824, 0.2796, 0.2798, 0.2818, 0.2848, 0.2881, 0.2922, 0.3089",\
                 "0.297, 0.2905, 0.2825, 0.279, 0.2792, 0.2813, 0.2849, 0.2869, 0.2911, 0.3143",\
                 "0.2973, 0.2908, 0.2832, 0.28, 0.2793, 0.2817, 0.2854, 0.2883, 0.2912, 0.3173",\
                 "0.2981, 0.2918, 0.2839, 0.2798, 0.282, 0.2837, 0.2864, 0.2882, 0.2924, 0.3265",\
                 "0.2995, 0.293, 0.2852, 0.2817, 0.2803, 0.2852, 0.2892, 0.291, 0.2941, 0.341",\
                 "0.3012, 0.2949, 0.2866, 0.2838, 0.2827, 0.2846, 0.2893, 0.2954, 0.3008, 0.3648",\
                 "0.3035, 0.2969, 0.2889, 0.2851, 0.2843, 0.2846, 0.2869, 0.2935, 0.3088, 0.4111");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
          values("0.9883, 1.028, 1.125, 1.266, 1.465, 1.737, 2.094, 2.544, 3.093, 3.747",\
                 "1.002, 1.041, 1.138, 1.28, 1.478, 1.75, 2.107, 2.557, 3.106, 3.761",\
                 "1.052, 1.091, 1.188, 1.33, 1.528, 1.801, 2.158, 2.607, 3.157, 3.811",\
                 "1.131, 1.171, 1.268, 1.409, 1.608, 1.88, 2.237, 2.687, 3.236, 3.89",\
                 "1.199, 1.238, 1.335, 1.477, 1.675, 1.947, 2.304, 2.754, 3.303, 3.958",\
                 "1.252, 1.291, 1.388, 1.53, 1.728, 2, 2.357, 2.807, 3.356, 4.01",\
                 "1.285, 1.324, 1.422, 1.563, 1.762, 2.034, 2.391, 2.84, 3.389, 4.044",\
                 "1.298, 1.337, 1.434, 1.576, 1.775, 2.047, 2.404, 2.853, 3.402, 4.056",\
                 "1.286, 1.325, 1.422, 1.563, 1.762, 2.034, 2.391, 2.84, 3.389, 4.044",\
                 "1.246, 1.285, 1.382, 1.524, 1.722, 1.994, 2.351, 2.801, 3.35, 4.004");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
          values("1.06, 1.105, 1.229, 1.453, 1.802, 2.292, 2.936, 3.748, 4.74, 5.921",\
                 "1.073, 1.118, 1.243, 1.466, 1.815, 2.305, 2.95, 3.762, 4.753, 5.935",\
                 "1.123, 1.168, 1.293, 1.516, 1.865, 2.355, 2.999, 3.811, 4.803, 5.984",\
                 "1.201, 1.246, 1.371, 1.594, 1.943, 2.433, 3.078, 3.89, 4.881, 6.063",\
                 "1.269, 1.314, 1.439, 1.662, 2.011, 2.501, 3.145, 3.957, 4.949, 6.131",\
                 "1.322, 1.367, 1.492, 1.716, 2.064, 2.555, 3.199, 4.011, 5.002, 6.184",\
                 "1.359, 1.404, 1.529, 1.753, 2.101, 2.591, 3.236, 4.048, 5.04, 6.221",\
                 "1.377, 1.422, 1.547, 1.77, 2.119, 2.608, 3.253, 4.065, 5.057, 6.239",\
                 "1.37, 1.415, 1.54, 1.763, 2.112, 2.602, 3.247, 4.06, 5.05, 6.231",\
                 "1.338, 1.383, 1.508, 1.731, 2.08, 2.57, 3.215, 4.027, 5.018, 6.2");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
          values("0.0936, 0.1302, 0.2344, 0.4186, 0.7244, 1.174, 1.773, 2.527, 3.454, 4.553",\
                 "0.0934, 0.1302, 0.2346, 0.4196, 0.726, 1.174, 1.772, 2.529, 3.454, 4.552",\
                 "0.0934, 0.1302, 0.2344, 0.419, 0.7258, 1.174, 1.772, 2.529, 3.452, 4.554",\
                 "0.0936, 0.1304, 0.2346, 0.4186, 0.7254, 1.174, 1.771, 2.526, 3.454, 4.554",\
                 "0.0932, 0.1302, 0.2346, 0.4194, 0.7254, 1.172, 1.772, 2.529, 3.455, 4.549",\
                 "0.0934, 0.1304, 0.234, 0.4194, 0.7244, 1.172, 1.772, 2.529, 3.451, 4.555",\
                 "0.0932, 0.1304, 0.2346, 0.419, 0.7254, 1.173, 1.769, 2.524, 3.449, 4.55",\
                 "0.0934, 0.1302, 0.2342, 0.4186, 0.7246, 1.173, 1.772, 2.526, 3.444, 4.544",\
                 "0.0934, 0.1302, 0.234, 0.4186, 0.7242, 1.174, 1.772, 2.526, 3.444, 4.543",\
                 "0.0934, 0.1304, 0.234, 0.4188, 0.724, 1.174, 1.77, 2.529, 3.447, 4.543");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01095, 0.04586, 0.1125, 0.2164, 0.3622, 0.5539, 0.7955, 1.09, 1.442");
          values("0.1044, 0.1574, 0.3404, 0.725, 1.339, 2.204, 3.341, 4.773, 6.514, 8.603",\
                 "0.1042, 0.1572, 0.3406, 0.7248, 1.339, 2.204, 3.34, 4.772, 6.514, 8.604",\
                 "0.1044, 0.1574, 0.3402, 0.7256, 1.339, 2.205, 3.341, 4.774, 6.515, 8.604",\
                 "0.1042, 0.1574, 0.3402, 0.7252, 1.34, 2.205, 3.341, 4.772, 6.515, 8.604",\
                 "0.1044, 0.1578, 0.3398, 0.7248, 1.339, 2.205, 3.341, 4.775, 6.52, 8.607",\
                 "0.1034, 0.1574, 0.3404, 0.7246, 1.341, 2.203, 3.341, 4.771, 6.517, 8.6",\
                 "0.1038, 0.1574, 0.3404, 0.726, 1.339, 2.201, 3.34, 4.768, 6.518, 8.602",\
                 "0.1038, 0.1574, 0.3404, 0.7254, 1.341, 2.202, 3.338, 4.775, 6.529, 8.604",\
                 "0.1038, 0.1576, 0.3404, 0.7258, 1.339, 2.204, 3.337, 4.768, 6.516, 8.602",\
                 "0.1048, 0.1576, 0.3406, 0.7252, 1.34, 2.202, 3.343, 4.77, 6.515, 8.597");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffrnq_1) {
    area : 74.636800 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN" ;
      value : "0.0001794012" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN" ;
      value : "0.0001797279" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN" ;
      value : "0.0001803285" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN" ;
      value : "0.0002279508" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN" ;
      value : "0.0001961685" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN" ;
      value : "0.000215589" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN" ;
      value : "0.0001972212" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN" ;
      value : "0.0003057615" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003057615" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003346 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.768 ;
      min_pulse_width_high : 0.812 ;
      min_pulse_width_low : 0.689 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1236, 0.1232, 0.1239, 0.1295, 0.1412, 0.1597, 0.1859, 0.2199, \
                 0.2624, 0.3135");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1044, 0.1049, 0.1095, 0.1191, 0.1352, 0.1581, 0.1881, \
                 0.2256, 0.2709");
        }
      }

      internal_power() {
        when : "!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1236, 0.1232, 0.1239, 0.1295, 0.1412, 0.1598, 0.1858, 0.22, \
                 0.2624, 0.3136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1045, 0.1049, 0.1095, 0.1191, 0.1352, 0.1581, 0.1881, \
                 0.2256, 0.2708");
        }
      }

      internal_power() {
        when : "D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1855, 0.1851, 0.1858, 0.1921, 0.2054, 0.226, 0.2549, 0.2923, \
                 0.3385, 0.3941");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1951, 0.1947, 0.1952, 0.2008, 0.2124, 0.2308, 0.2568, 0.2906, \
                 0.3325, 0.3824");
        }
      }

      internal_power() {
        when : "D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1219, 0.1215, 0.1222, 0.1279, 0.1396, 0.1582, 0.1842, 0.2184, \
                 0.2609, 0.3121");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1006, 0.1003, 0.1007, 0.1053, 0.1149, 0.131, 0.1539, 0.184, \
                 0.2214, 0.2667");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN" ;

        fall_constraint(scalar) {
          values("0.525");
        }

        rise_constraint(scalar) {
          values("0.513");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN" ;

        fall_constraint(scalar) {
          values("0.689");
        }

        rise_constraint(scalar) {
          values("0.812");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN" ;

        rise_constraint(scalar) {
          values("1.266");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN" ;

        rise_constraint(scalar) {
          values("1.768");
        }
      }
    }

    pin(D) {
      capacitance : 0.002956 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1046, 0.1044, 0.106, 0.1117, 0.1231, 0.1409, 0.1657, 0.1979, \
                 0.2379, 0.2859");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06712, 0.06683, 0.06775, 0.07223, 0.0812, 0.09588, 0.1167, 0.1441, \
                 0.1783, 0.2197");
        }
      }

      internal_power() {
        when : "!CLK&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1002, 0.09999, 0.1015, 0.1073, 0.1187, 0.1364, 0.1611, 0.1932, \
                 0.233, 0.281");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06992, 0.0696, 0.07055, 0.07502, 0.084, 0.09866, 0.1194, 0.1468, \
                 0.181, 0.2224");
        }
      }

      internal_power() {
        when : "CLK&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02804, 0.02762, 0.02997, 0.03707, 0.0495, 0.06774, 0.09222, \
                 0.1234, 0.1618, 0.2077");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003523, 0.003038, 0.004241, 0.009789, 0.02028, 0.03609, 0.05758, \
                 0.08505, 0.1189, 0.1594");
        }
      }

      internal_power() {
        when : "CLK&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02806, 0.02761, 0.02999, 0.03708, 0.04949, 0.06775, 0.09222, \
                 0.1234, 0.1618, 0.2077");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003553, 0.003034, 0.004256, 0.009773, 0.02031, 0.03612, 0.05757, \
                 0.08505, 0.1189, 0.1594");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.211, 0.28, 0.345, 0.382, 0.403, 0.408, 0.377, 0.33",\
                 "0.128, 0.143, 0.195, 0.265, 0.332, 0.371, 0.39, 0.392, 0.361, 0.314",\
                 "0.074, 0.089, 0.134, 0.213, 0.278, 0.315, 0.339, 0.336, 0.304, 0.257",\
                 "-0.008, 0.004, 0.054, 0.131, 0.19, 0.235, 0.256, 0.249, 0.224, 0.171",\
                 "-0.114, -0.101, -0.051, 0.022, 0.088, 0.127, 0.142, 0.138, 0.111, 0.058",\
                 "-0.209, -0.2, -0.155, -0.095, -0.031, -0, 0.015, 0.014, -0.023, -0.078",\
                 "-0.302, -0.287, -0.248, -0.195, -0.141, -0.13, -0.121, -0.13, -0.168, -0.231",\
                 "-0.408, -0.398, -0.36, -0.309, -0.257, -0.242, -0.251, -0.286, -0.334, -0.398",\
                 "-0.537, -0.523, -0.487, -0.434, -0.377, -0.381, -0.387, -0.422, -0.491, -0.578",\
                 "-0.673, -0.66, -0.632, -0.596, -0.528, -0.53, -0.546, -0.575, -0.647, -0.742");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.137, -0.122, -0.09, -0.056, -0.042, -0.044, -0.069, -0.111, -0.18, -0.274",\
                 "-0.152, -0.136, -0.101, -0.071, -0.054, -0.06, -0.082, -0.122, -0.192, -0.284",\
                 "-0.195, -0.183, -0.149, -0.117, -0.096, -0.1, -0.123, -0.168, -0.233, -0.327",\
                 "-0.253, -0.247, -0.207, -0.168, -0.153, -0.153, -0.174, -0.225, -0.291, -0.383",\
                 "-0.308, -0.294, -0.251, -0.221, -0.201, -0.197, -0.224, -0.269, -0.343, -0.436",\
                 "-0.336, -0.324, -0.289, -0.249, -0.232, -0.237, -0.261, -0.306, -0.379, -0.472",\
                 "-0.352, -0.339, -0.302, -0.265, -0.25, -0.251, -0.274, -0.325, -0.405, -0.502",\
                 "-0.343, -0.333, -0.292, -0.255, -0.243, -0.25, -0.28, -0.332, -0.409, -0.509",\
                 "-0.306, -0.298, -0.255, -0.215, -0.206, -0.219, -0.251, -0.307, -0.382, -0.488",\
                 "-0.246, -0.23, -0.192, -0.159, -0.147, -0.161, -0.197, -0.256, -0.332, -0.45");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.183, 0.138, 0.074, 0.02, -0.025, -0.04, -0.036, 0.522, 0.837",\
                 "0.213, 0.198, 0.154, 0.09, 0.038, -0.006, -0.022, -0.022, 0.569, 0.845",\
                 "0.281, 0.266, 0.221, 0.153, 0.105, 0.062, 0.042, 0.044, 0.614, 0.913",\
                 "0.399, 0.392, 0.341, 0.276, 0.222, 0.182, 0.164, 0.166, 0.204, 0.994",\
                 "0.561, 0.548, 0.495, 0.428, 0.377, 0.338, 0.31, 0.314, 0.353, 1.11",\
                 "0.745, 0.73, 0.685, 0.615, 0.565, 0.518, 0.497, 0.5, 0.531, 0.602",\
                 "0.959, 0.947, 0.9, 0.835, 0.777, 0.736, 0.711, 0.715, 0.747, 0.809",\
                 "1.205, 1.192, 1.144, 1.077, 1.027, 0.983, 0.963, 0.962, 0.989, 1.052",\
                 "1.476, 1.461, 1.413, 1.351, 1.294, 1.256, 1.238, 1.239, 1.268, 1.325",\
                 "1.772, 1.759, 1.71, 1.643, 1.595, 1.565, 1.546, 1.549, 1.575, 1.633");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.452, 0.443, 0.38, 0.301, 0.243, 0.217, 0.221, 0.247, 0.307, 0.389",\
                 "0.466, 0.46, 0.391, 0.312, 0.255, 0.23, 0.227, 0.259, 0.32, 0.404",\
                 "0.517, 0.503, 0.441, 0.355, 0.305, 0.278, 0.278, 0.305, 0.357, 0.446",\
                 "0.581, 0.575, 0.509, 0.422, 0.37, 0.336, 0.334, 0.359, 0.422, 0.501",\
                 "0.643, 0.633, 0.574, 0.486, 0.431, 0.399, 0.39, 0.417, 0.476, 0.556",\
                 "0.693, 0.677, 0.622, 0.534, 0.477, 0.437, 0.436, 0.457, 0.515, 0.602",\
                 "0.732, 0.715, 0.656, 0.575, 0.514, 0.473, 0.46, 0.491, 0.54, 0.631",\
                 "0.744, 0.732, 0.678, 0.59, 0.531, 0.486, 0.475, 0.498, 0.557, 0.646",\
                 "0.735, 0.723, 0.668, 0.591, 0.528, 0.48, 0.464, 0.489, 0.544, 0.632",\
                 "0.7, 0.691, 0.638, 0.551, 0.493, 0.446, 0.433, 0.456, 0.512, 0.594");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3584 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1332, 0.1325, 0.1319, 0.1318, 0.1317, 0.1317, 0.1318, 0.1317, 0.1317, 0.1317",\
                 "0.1332, 0.1325, 0.1319, 0.1317, 0.1317, 0.1317, 0.1317, 0.1317, 0.1317, 0.1317",\
                 "0.1333, 0.1326, 0.132, 0.1318, 0.1318, 0.1318, 0.1318, 0.1318, 0.1318, 0.1318",\
                 "0.1338, 0.1332, 0.1325, 0.1323, 0.1323, 0.1323, 0.1323, 0.1323, 0.1323, 0.1323",\
                 "0.1347, 0.134, 0.1334, 0.1332, 0.1331, 0.1331, 0.1331, 0.1331, 0.1331, 0.1331",\
                 "0.1354, 0.1348, 0.1341, 0.134, 0.1339, 0.1339, 0.1339, 0.1339, 0.1339, 0.1339",\
                 "0.1365, 0.1358, 0.1351, 0.135, 0.1348, 0.1349, 0.1348, 0.1348, 0.1348, 0.1348",\
                 "0.1376, 0.137, 0.1363, 0.1361, 0.1361, 0.1361, 0.1361, 0.1361, 0.1361, 0.1361",\
                 "0.1389, 0.1383, 0.1376, 0.1374, 0.1374, 0.1374, 0.1374, 0.1374, 0.1374, 0.1374",\
                 "0.1401, 0.1395, 0.1388, 0.1386, 0.1385, 0.1385, 0.1385, 0.1385, 0.1385, 0.1385");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1626, 0.1611, 0.1587, 0.1574, 0.1569, 0.1572, 0.1575, 0.1582, 0.159, 0.1633",\
                 "0.1626, 0.1611, 0.1588, 0.1574, 0.157, 0.1573, 0.1576, 0.1582, 0.159, 0.1632",\
                 "0.1625, 0.1609, 0.1587, 0.1572, 0.1568, 0.1571, 0.1576, 0.1581, 0.1589, 0.1632",\
                 "0.1627, 0.1611, 0.1587, 0.1574, 0.157, 0.1573, 0.1577, 0.1581, 0.159, 0.164",\
                 "0.1633, 0.1617, 0.1593, 0.158, 0.1576, 0.1579, 0.1582, 0.1587, 0.1596, 0.1656",\
                 "0.1639, 0.1624, 0.1601, 0.1589, 0.1583, 0.1586, 0.1589, 0.1595, 0.1606, 0.1682",\
                 "0.1649, 0.1633, 0.1611, 0.1596, 0.1598, 0.1598, 0.16, 0.1606, 0.1617, 0.1704",\
                 "0.1663, 0.1647, 0.1625, 0.1611, 0.1606, 0.1614, 0.162, 0.1623, 0.1641, 0.1763",\
                 "0.1682, 0.1666, 0.1643, 0.1627, 0.1621, 0.1622, 0.1638, 0.1644, 0.1666, 0.1827",\
                 "0.1701, 0.1685, 0.1661, 0.1646, 0.1644, 0.1637, 0.1647, 0.1665, 0.1703, 0.1963");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1334, 0.133, 0.1327, 0.1325, 0.1325, 0.1325, 0.1325, 0.1325, 0.1325, 0.1325",\
                 "0.1334, 0.133, 0.1327, 0.1326, 0.1326, 0.1326, 0.1326, 0.1326, 0.1326, 0.1326",\
                 "0.1346, 0.134, 0.1336, 0.1335, 0.1335, 0.1335, 0.1335, 0.1336, 0.1336, 0.1336",\
                 "0.1423, 0.1413, 0.14, 0.1392, 0.139, 0.1389, 0.1388, 0.1388, 0.1388, 0.1388",\
                 "0.1575, 0.1557, 0.1532, 0.1516, 0.1508, 0.1504, 0.1502, 0.1501, 0.15, 0.1499",\
                 "0.18, 0.1776, 0.1736, 0.1708, 0.1692, 0.1683, 0.1678, 0.1675, 0.1673, 0.1672",\
                 "0.2087, 0.2055, 0.1999, 0.1958, 0.1932, 0.1917, 0.1908, 0.1902, 0.1898, 0.1896",\
                 "0.2429, 0.2391, 0.2318, 0.2263, 0.2225, 0.2202, 0.2187, 0.2178, 0.2172, 0.2168",\
                 "0.2813, 0.2767, 0.2679, 0.2608, 0.2559, 0.2527, 0.2506, 0.2492, 0.2483, 0.2476",\
                 "0.3235, 0.3185, 0.3082, 0.2994, 0.2932, 0.2889, 0.286, 0.2841, 0.2828, 0.2819");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1334, 0.133, 0.1327, 0.1325, 0.1325, 0.1325, 0.1325, 0.1325, 0.1325, 0.1325",\
                 "0.1334, 0.133, 0.1327, 0.1326, 0.1326, 0.1326, 0.1326, 0.1326, 0.1326, 0.1326",\
                 "0.1346, 0.134, 0.1336, 0.1335, 0.1335, 0.1335, 0.1335, 0.1336, 0.1336, 0.1336",\
                 "0.1423, 0.1413, 0.14, 0.1392, 0.139, 0.1389, 0.1388, 0.1388, 0.1388, 0.1388",\
                 "0.1575, 0.1557, 0.1532, 0.1516, 0.1508, 0.1504, 0.1502, 0.1501, 0.15, 0.1499",\
                 "0.18, 0.1776, 0.1736, 0.1708, 0.1692, 0.1683, 0.1678, 0.1675, 0.1673, 0.1672",\
                 "0.2087, 0.2055, 0.1999, 0.1958, 0.1932, 0.1917, 0.1908, 0.1902, 0.1898, 0.1896",\
                 "0.2429, 0.2391, 0.2318, 0.2263, 0.2225, 0.2202, 0.2187, 0.2178, 0.2172, 0.2168",\
                 "0.2813, 0.2767, 0.2679, 0.2608, 0.2559, 0.2527, 0.2506, 0.2492, 0.2483, 0.2476",\
                 "0.3235, 0.3185, 0.3082, 0.2994, 0.2932, 0.2889, 0.286, 0.2841, 0.2828, 0.2819");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1411, 0.1408, 0.1405, 0.1404, 0.1403, 0.1403, 0.1403, 0.1403, 0.1403, 0.1403",\
                 "0.1414, 0.1411, 0.1408, 0.1407, 0.1407, 0.1406, 0.1406, 0.1406, 0.1406, 0.1406",\
                 "0.1426, 0.1421, 0.1417, 0.1416, 0.1416, 0.1416, 0.1416, 0.1416, 0.1416, 0.1416",\
                 "0.1504, 0.1494, 0.148, 0.1473, 0.1471, 0.1469, 0.1469, 0.1469, 0.1468, 0.1468",\
                 "0.1655, 0.1638, 0.1612, 0.1597, 0.1589, 0.1585, 0.1583, 0.1582, 0.1581, 0.158",\
                 "0.1881, 0.1856, 0.1816, 0.1788, 0.1773, 0.1764, 0.1759, 0.1756, 0.1754, 0.1752",\
                 "0.2167, 0.2135, 0.208, 0.2038, 0.2013, 0.1997, 0.1988, 0.1982, 0.1978, 0.1976",\
                 "0.2509, 0.247, 0.2398, 0.2341, 0.2305, 0.2281, 0.2267, 0.2257, 0.2252, 0.2248",\
                 "0.2893, 0.2849, 0.2759, 0.2688, 0.2638, 0.2606, 0.2585, 0.2571, 0.2562, 0.2556",\
                 "0.3316, 0.3265, 0.3161, 0.3074, 0.3011, 0.2968, 0.2939, 0.2921, 0.2908, 0.2899");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1411, 0.1408, 0.1405, 0.1404, 0.1403, 0.1403, 0.1403, 0.1403, 0.1403, 0.1403",\
                 "0.1414, 0.1411, 0.1408, 0.1407, 0.1407, 0.1406, 0.1406, 0.1406, 0.1406, 0.1406",\
                 "0.1426, 0.1421, 0.1417, 0.1416, 0.1416, 0.1416, 0.1416, 0.1416, 0.1416, 0.1416",\
                 "0.1504, 0.1494, 0.148, 0.1473, 0.1471, 0.1469, 0.1469, 0.1469, 0.1468, 0.1468",\
                 "0.1655, 0.1638, 0.1612, 0.1597, 0.1589, 0.1585, 0.1583, 0.1582, 0.1581, 0.158",\
                 "0.1881, 0.1856, 0.1816, 0.1788, 0.1773, 0.1764, 0.1759, 0.1756, 0.1754, 0.1752",\
                 "0.2167, 0.2135, 0.208, 0.2038, 0.2013, 0.1997, 0.1988, 0.1982, 0.1978, 0.1976",\
                 "0.2509, 0.247, 0.2398, 0.2341, 0.2305, 0.2281, 0.2267, 0.2257, 0.2252, 0.2248",\
                 "0.2893, 0.2849, 0.2759, 0.2688, 0.2638, 0.2606, 0.2585, 0.2571, 0.2562, 0.2556",\
                 "0.3316, 0.3265, 0.3161, 0.3074, 0.3011, 0.2968, 0.2939, 0.2921, 0.2908, 0.2899");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.2254, 0.225, 0.2247, 0.2245, 0.2245, 0.2245, 0.2245, 0.2244, 0.2244, 0.2244",\
                 "0.2258, 0.2254, 0.225, 0.2249, 0.2249, 0.2248, 0.2248, 0.2248, 0.2248, 0.2248",\
                 "0.2269, 0.2264, 0.2259, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258",\
                 "0.2371, 0.2361, 0.2346, 0.2339, 0.2337, 0.2336, 0.2335, 0.2334, 0.2334, 0.2334",\
                 "0.2598, 0.258, 0.2554, 0.2538, 0.253, 0.2525, 0.2523, 0.2521, 0.252, 0.252",\
                 "0.2969, 0.2943, 0.2902, 0.2874, 0.2858, 0.2848, 0.2843, 0.284, 0.2838, 0.2836",\
                 "0.347, 0.3437, 0.3381, 0.3339, 0.3313, 0.3296, 0.3287, 0.3281, 0.3276, 0.3274",\
                 "0.4087, 0.4048, 0.3975, 0.3919, 0.388, 0.3855, 0.3841, 0.383, 0.3825, 0.382",\
                 "0.4797, 0.4753, 0.4665, 0.4593, 0.4541, 0.4507, 0.4485, 0.447, 0.446, 0.4454",\
                 "0.5591, 0.5542, 0.5439, 0.535, 0.5285, 0.5241, 0.521, 0.519, 0.5176, 0.5166");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.2254, 0.225, 0.2247, 0.2245, 0.2245, 0.2245, 0.2245, 0.2244, 0.2244, 0.2244",\
                 "0.2258, 0.2254, 0.225, 0.2249, 0.2249, 0.2248, 0.2248, 0.2248, 0.2248, 0.2248",\
                 "0.2269, 0.2264, 0.2259, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258",\
                 "0.2371, 0.2361, 0.2346, 0.2339, 0.2337, 0.2336, 0.2335, 0.2334, 0.2334, 0.2334",\
                 "0.2598, 0.258, 0.2554, 0.2538, 0.253, 0.2525, 0.2523, 0.2521, 0.252, 0.252",\
                 "0.2969, 0.2943, 0.2902, 0.2874, 0.2858, 0.2848, 0.2843, 0.284, 0.2838, 0.2836",\
                 "0.347, 0.3437, 0.3381, 0.3339, 0.3313, 0.3296, 0.3287, 0.3281, 0.3276, 0.3274",\
                 "0.4087, 0.4048, 0.3975, 0.3919, 0.388, 0.3855, 0.3841, 0.383, 0.3825, 0.382",\
                 "0.4797, 0.4753, 0.4665, 0.4593, 0.4541, 0.4507, 0.4485, 0.447, 0.446, 0.4454",\
                 "0.5591, 0.5542, 0.5439, 0.535, 0.5285, 0.5241, 0.521, 0.519, 0.5176, 0.5166");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.2254, 0.2251, 0.2247, 0.2245, 0.2246, 0.2245, 0.2245, 0.2245, 0.2244, 0.2245",\
                 "0.2258, 0.2254, 0.225, 0.2249, 0.2249, 0.2249, 0.2248, 0.2248, 0.2248, 0.2248",\
                 "0.2269, 0.2264, 0.2259, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258",\
                 "0.2371, 0.236, 0.2346, 0.2339, 0.2336, 0.2335, 0.2335, 0.2334, 0.2334, 0.2334",\
                 "0.2598, 0.2581, 0.2554, 0.2538, 0.253, 0.2525, 0.2523, 0.2522, 0.2521, 0.252",\
                 "0.2969, 0.2943, 0.2902, 0.2874, 0.2858, 0.2849, 0.2843, 0.284, 0.2838, 0.2836",\
                 "0.347, 0.3438, 0.3382, 0.3339, 0.3313, 0.3297, 0.3288, 0.3281, 0.3277, 0.3275",\
                 "0.4087, 0.4048, 0.3976, 0.3919, 0.388, 0.3857, 0.3841, 0.3832, 0.3825, 0.3821",\
                 "0.4798, 0.4754, 0.4665, 0.4592, 0.4541, 0.4508, 0.4485, 0.4471, 0.4461, 0.4454",\
                 "0.5592, 0.5543, 0.5439, 0.5349, 0.5286, 0.524, 0.5211, 0.519, 0.5176, 0.5166");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.2254, 0.2251, 0.2247, 0.2245, 0.2246, 0.2245, 0.2245, 0.2245, 0.2244, 0.2245",\
                 "0.2258, 0.2254, 0.225, 0.2249, 0.2249, 0.2249, 0.2248, 0.2248, 0.2248, 0.2248",\
                 "0.2269, 0.2264, 0.2259, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258, 0.2258",\
                 "0.2371, 0.236, 0.2346, 0.2339, 0.2336, 0.2335, 0.2335, 0.2334, 0.2334, 0.2334",\
                 "0.2598, 0.2581, 0.2554, 0.2538, 0.253, 0.2525, 0.2523, 0.2522, 0.2521, 0.252",\
                 "0.2969, 0.2943, 0.2902, 0.2874, 0.2858, 0.2849, 0.2843, 0.284, 0.2838, 0.2836",\
                 "0.347, 0.3438, 0.3382, 0.3339, 0.3313, 0.3297, 0.3288, 0.3281, 0.3277, 0.3275",\
                 "0.4087, 0.4048, 0.3976, 0.3919, 0.388, 0.3857, 0.3841, 0.3832, 0.3825, 0.3821",\
                 "0.4798, 0.4754, 0.4665, 0.4592, 0.4541, 0.4508, 0.4485, 0.4471, 0.4461, 0.4454",\
                 "0.5592, 0.5543, 0.5439, 0.5349, 0.5286, 0.524, 0.5211, 0.519, 0.5176, 0.5166");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.9173, 0.9493, 1.038, 1.174, 1.369, 1.639, 1.992, 2.438, 2.982, 3.631",\
                 "0.9307, 0.9628, 1.052, 1.188, 1.383, 1.652, 2.006, 2.451, 2.996, 3.645",\
                 "0.9807, 1.013, 1.102, 1.238, 1.433, 1.702, 2.056, 2.502, 3.046, 3.695",\
                 "1.062, 1.094, 1.183, 1.319, 1.514, 1.784, 2.137, 2.583, 3.127, 3.776",\
                 "1.133, 1.165, 1.254, 1.39, 1.585, 1.854, 2.208, 2.654, 3.198, 3.846",\
                 "1.188, 1.22, 1.309, 1.445, 1.64, 1.909, 2.263, 2.709, 3.253, 3.902",\
                 "1.226, 1.258, 1.347, 1.484, 1.678, 1.948, 2.301, 2.747, 3.291, 3.94",\
                 "1.243, 1.275, 1.364, 1.5, 1.695, 1.964, 2.318, 2.763, 3.307, 3.956",\
                 "1.234, 1.266, 1.355, 1.491, 1.686, 1.955, 2.309, 2.755, 3.299, 3.947",\
                 "1.198, 1.23, 1.319, 1.455, 1.65, 1.919, 2.273, 2.719, 3.263, 3.911");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("1.173, 1.22, 1.359, 1.592, 1.94, 2.428, 3.07, 3.878, 4.865, 6.04",\
                 "1.187, 1.233, 1.372, 1.605, 1.954, 2.442, 3.083, 3.891, 4.879, 6.058",\
                 "1.236, 1.283, 1.422, 1.655, 2.003, 2.491, 3.133, 3.941, 4.929, 6.107",\
                 "1.316, 1.363, 1.501, 1.734, 2.083, 2.57, 3.212, 4.021, 5.007, 6.184",\
                 "1.386, 1.432, 1.571, 1.804, 2.153, 2.64, 3.282, 4.091, 5.078, 6.257",\
                 "1.441, 1.488, 1.627, 1.86, 2.208, 2.696, 3.338, 4.146, 5.134, 6.312",\
                 "1.48, 1.527, 1.666, 1.899, 2.248, 2.735, 3.377, 4.186, 5.172, 6.349",\
                 "1.501, 1.547, 1.687, 1.919, 2.268, 2.756, 3.397, 4.205, 5.192, 6.368",\
                 "1.498, 1.545, 1.683, 1.916, 2.265, 2.752, 3.394, 4.202, 5.189, 6.364",\
                 "1.47, 1.516, 1.655, 1.888, 2.236, 2.724, 3.365, 4.174, 5.161, 6.337");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1042, 0.1379, 0.2382, 0.4224, 0.7286, 1.175, 1.77, 2.52, 3.435, 4.523",\
                 "0.1043, 0.138, 0.2382, 0.4224, 0.7294, 1.175, 1.77, 2.52, 3.435, 4.522",\
                 "0.1046, 0.1378, 0.2382, 0.4224, 0.7292, 1.175, 1.77, 2.52, 3.435, 4.522",\
                 "0.1042, 0.138, 0.2378, 0.4222, 0.729, 1.175, 1.77, 2.52, 3.432, 4.522",\
                 "0.1044, 0.1378, 0.238, 0.4218, 0.7296, 1.175, 1.767, 2.519, 3.433, 4.527",\
                 "0.1042, 0.1378, 0.2382, 0.422, 0.7276, 1.175, 1.769, 2.519, 3.436, 4.523",\
                 "0.1046, 0.138, 0.238, 0.4214, 0.7278, 1.176, 1.768, 2.514, 3.429, 4.525",\
                 "0.1042, 0.138, 0.2378, 0.4216, 0.7296, 1.174, 1.769, 2.516, 3.427, 4.517",\
                 "0.1042, 0.138, 0.2384, 0.4222, 0.7288, 1.174, 1.769, 2.517, 3.429, 4.514",\
                 "0.1044, 0.138, 0.2382, 0.4216, 0.7298, 1.175, 1.769, 2.517, 3.428, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1606, 0.2198, 0.414, 0.7788, 1.377, 2.237, 3.37, 4.788, 6.532, 8.605",\
                 "0.161, 0.2204, 0.414, 0.778, 1.377, 2.236, 3.369, 4.788, 6.531, 8.605",\
                 "0.161, 0.2202, 0.4146, 0.7788, 1.377, 2.233, 3.37, 4.788, 6.531, 8.604",\
                 "0.1606, 0.2204, 0.4146, 0.7786, 1.377, 2.236, 3.365, 4.791, 6.531, 8.606",\
                 "0.1606, 0.2204, 0.414, 0.7786, 1.376, 2.236, 3.363, 4.79, 6.532, 8.604",\
                 "0.16, 0.2202, 0.4136, 0.7786, 1.377, 2.235, 3.363, 4.79, 6.531, 8.61",\
                 "0.1598, 0.22, 0.4138, 0.7782, 1.376, 2.235, 3.369, 4.791, 6.531, 8.606",\
                 "0.1604, 0.2202, 0.4144, 0.779, 1.377, 2.236, 3.362, 4.797, 6.525, 8.607",\
                 "0.16, 0.2202, 0.414, 0.7778, 1.377, 2.234, 3.363, 4.786, 6.534, 8.605",\
                 "0.16, 0.2202, 0.414, 0.7786, 1.378, 2.234, 3.369, 4.787, 6.528, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.2554, 0.2875, 0.3751, 0.5117, 0.7078, 0.9772, 1.331, 1.776, 2.32, 2.97",\
                 "0.2728, 0.3048, 0.3924, 0.529, 0.7251, 0.9946, 1.348, 1.794, 2.338, 2.987",\
                 "0.3392, 0.371, 0.4585, 0.5951, 0.7912, 1.061, 1.414, 1.86, 2.404, 3.053",\
                 "0.4526, 0.4861, 0.5765, 0.7139, 0.9097, 1.179, 1.532, 1.978, 2.522, 3.171",\
                 "0.582, 0.6191, 0.7158, 0.8576, 1.054, 1.322, 1.676, 2.121, 2.665, 3.313",\
                 "0.7249, 0.766, 0.8707, 1.017, 1.213, 1.481, 1.834, 2.279, 2.823, 3.472",\
                 "0.8811, 0.9268, 1.041, 1.193, 1.389, 1.655, 2.008, 2.453, 2.995, 3.643",\
                 "1.052, 1.101, 1.224, 1.384, 1.579, 1.845, 2.196, 2.64, 3.183, 3.83",\
                 "1.237, 1.29, 1.423, 1.588, 1.784, 2.047, 2.397, 2.84, 3.383, 4.03",\
                 "1.438, 1.495, 1.637, 1.807, 2.002, 2.263, 2.611, 3.054, 3.596, 4.243");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1015, 0.1347, 0.2355, 0.4229, 0.7292, 1.172, 1.765, 2.515, 3.431, 4.519",\
                 "0.1017, 0.1346, 0.2356, 0.4231, 0.7291, 1.172, 1.765, 2.515, 3.432, 4.52",\
                 "0.102, 0.135, 0.236, 0.4231, 0.7292, 1.172, 1.765, 2.515, 3.429, 4.525",\
                 "0.1161, 0.1477, 0.2443, 0.426, 0.7296, 1.173, 1.765, 2.514, 3.428, 4.525",\
                 "0.1388, 0.17, 0.2652, 0.4368, 0.7318, 1.173, 1.765, 2.515, 3.43, 4.524",\
                 "0.1654, 0.1984, 0.2902, 0.4494, 0.7346, 1.174, 1.765, 2.515, 3.427, 4.524",\
                 "0.195, 0.2296, 0.3208, 0.4648, 0.7382, 1.175, 1.765, 2.512, 3.427, 4.518",\
                 "0.2234, 0.2618, 0.355, 0.4838, 0.742, 1.175, 1.766, 2.513, 3.425, 4.514",\
                 "0.2526, 0.2948, 0.3898, 0.5022, 0.7456, 1.175, 1.765, 2.514, 3.426, 4.512",\
                 "0.2826, 0.3272, 0.4234, 0.5194, 0.7504, 1.176, 1.766, 2.513, 3.429, 4.514");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.2555, 0.2874, 0.3751, 0.5116, 0.7078, 0.9772, 1.331, 1.776, 2.32, 2.97",\
                 "0.2728, 0.3049, 0.3924, 0.529, 0.7251, 0.9946, 1.348, 1.794, 2.338, 2.987",\
                 "0.3391, 0.371, 0.4585, 0.5951, 0.7912, 1.061, 1.414, 1.86, 2.404, 3.053",\
                 "0.4525, 0.4861, 0.5765, 0.714, 0.9098, 1.179, 1.532, 1.978, 2.522, 3.171",\
                 "0.5819, 0.6191, 0.7159, 0.8577, 1.054, 1.323, 1.676, 2.121, 2.665, 3.314",\
                 "0.7249, 0.7661, 0.8709, 1.017, 1.213, 1.481, 1.834, 2.279, 2.823, 3.471",\
                 "0.881, 0.9268, 1.041, 1.193, 1.389, 1.655, 2.008, 2.452, 2.995, 3.643",\
                 "1.051, 1.101, 1.225, 1.383, 1.579, 1.845, 2.195, 2.639, 3.182, 3.83",\
                 "1.237, 1.29, 1.423, 1.588, 1.783, 2.047, 2.397, 2.84, 3.383, 4.03",\
                 "1.438, 1.495, 1.637, 1.807, 2.001, 2.264, 2.612, 3.054, 3.596, 4.243");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1017, 0.1347, 0.2351, 0.4225, 0.7288, 1.172, 1.765, 2.515, 3.432, 4.523",\
                 "0.1016, 0.1346, 0.2354, 0.4231, 0.7292, 1.172, 1.765, 2.515, 3.431, 4.518",\
                 "0.1021, 0.135, 0.2359, 0.4231, 0.7291, 1.172, 1.766, 2.513, 3.432, 4.52",\
                 "0.116, 0.1474, 0.2443, 0.426, 0.7296, 1.173, 1.765, 2.514, 3.428, 4.525",\
                 "0.1384, 0.17, 0.2648, 0.4368, 0.7314, 1.173, 1.765, 2.515, 3.43, 4.526",\
                 "0.1652, 0.1982, 0.2906, 0.4488, 0.7352, 1.174, 1.765, 2.512, 3.428, 4.522",\
                 "0.1948, 0.2292, 0.321, 0.4648, 0.7384, 1.175, 1.765, 2.511, 3.427, 4.517",\
                 "0.2234, 0.262, 0.3554, 0.4832, 0.7418, 1.175, 1.766, 2.513, 3.425, 4.513",\
                 "0.2528, 0.2954, 0.39, 0.502, 0.7464, 1.176, 1.765, 2.513, 3.425, 4.512",\
                 "0.2818, 0.3286, 0.424, 0.5192, 0.7502, 1.176, 1.766, 2.514, 3.428, 4.514");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.256, 0.2883, 0.377, 0.5128, 0.7085, 0.9813, 1.336, 1.782, 2.326, 2.974",\
                 "0.2733, 0.3056, 0.3943, 0.5302, 0.7259, 0.9987, 1.353, 1.799, 2.343, 2.991",\
                 "0.3396, 0.3718, 0.4604, 0.5963, 0.7922, 1.065, 1.42, 1.865, 2.409, 3.057",\
                 "0.453, 0.487, 0.5786, 0.7157, 0.9117, 1.184, 1.538, 1.984, 2.528, 3.176",\
                 "0.5823, 0.6201, 0.7187, 0.861, 1.059, 1.331, 1.684, 2.13, 2.673, 3.321",\
                 "0.7252, 0.7677, 0.8753, 1.024, 1.225, 1.496, 1.85, 2.294, 2.838, 3.486",\
                 "0.8819, 0.9291, 1.047, 1.205, 1.41, 1.681, 2.034, 2.478, 3.021, 3.669",\
                 "1.052, 1.105, 1.234, 1.402, 1.614, 1.886, 2.238, 2.682, 3.225, 3.872",\
                 "1.238, 1.294, 1.435, 1.616, 1.836, 2.111, 2.462, 2.904, 3.447, 4.094",\
                 "1.44, 1.5, 1.652, 1.845, 2.075, 2.355, 2.706, 3.147, 3.689, 4.335");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1022, 0.1361, 0.2363, 0.421, 0.7328, 1.182, 1.769, 2.513, 3.428, 4.521",\
                 "0.1022, 0.1359, 0.2363, 0.4211, 0.733, 1.182, 1.769, 2.512, 3.425, 4.519",\
                 "0.1026, 0.1365, 0.2367, 0.4213, 0.7332, 1.182, 1.769, 2.513, 3.425, 4.517",\
                 "0.1176, 0.1496, 0.2455, 0.4252, 0.7348, 1.181, 1.767, 2.512, 3.426, 4.52",\
                 "0.1402, 0.173, 0.2674, 0.44, 0.7408, 1.181, 1.767, 2.512, 3.428, 4.515",\
                 "0.1684, 0.2036, 0.2954, 0.4592, 0.749, 1.184, 1.768, 2.512, 3.429, 4.52",\
                 "0.198, 0.237, 0.3298, 0.4876, 0.7626, 1.187, 1.769, 2.512, 3.427, 4.519",\
                 "0.23, 0.2728, 0.37, 0.5232, 0.7844, 1.194, 1.77, 2.514, 3.425, 4.512",\
                 "0.2612, 0.3106, 0.413, 0.5632, 0.8146, 1.207, 1.773, 2.513, 3.425, 4.513",\
                 "0.2934, 0.3466, 0.457, 0.6074, 0.8508, 1.226, 1.778, 2.515, 3.426, 4.517");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.256, 0.2883, 0.377, 0.5128, 0.7085, 0.9813, 1.336, 1.782, 2.326, 2.974",\
                 "0.2733, 0.3056, 0.3943, 0.5302, 0.7258, 0.9987, 1.353, 1.799, 2.343, 2.991",\
                 "0.3396, 0.3718, 0.4604, 0.5963, 0.7922, 1.065, 1.42, 1.865, 2.409, 3.057",\
                 "0.453, 0.487, 0.5786, 0.7157, 0.9117, 1.184, 1.538, 1.984, 2.528, 3.176",\
                 "0.5822, 0.6202, 0.7187, 0.861, 1.059, 1.331, 1.684, 2.13, 2.673, 3.321",\
                 "0.7252, 0.7678, 0.8753, 1.024, 1.225, 1.496, 1.85, 2.294, 2.838, 3.486",\
                 "0.8817, 0.929, 1.047, 1.205, 1.41, 1.681, 2.034, 2.478, 3.021, 3.669",\
                 "1.052, 1.104, 1.233, 1.402, 1.614, 1.886, 2.238, 2.682, 3.225, 3.872",\
                 "1.238, 1.294, 1.435, 1.615, 1.836, 2.111, 2.462, 2.905, 3.447, 4.094",\
                 "1.44, 1.5, 1.652, 1.845, 2.075, 2.355, 2.706, 3.147, 3.688, 4.335");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1022, 0.1361, 0.2363, 0.421, 0.7328, 1.182, 1.769, 2.512, 3.428, 4.515",\
                 "0.1022, 0.1359, 0.2363, 0.4211, 0.733, 1.182, 1.769, 2.513, 3.429, 4.52",\
                 "0.1026, 0.1365, 0.2367, 0.4212, 0.7332, 1.182, 1.769, 2.512, 3.429, 4.516",\
                 "0.1172, 0.1498, 0.2454, 0.4254, 0.7348, 1.181, 1.767, 2.514, 3.425, 4.516",\
                 "0.1408, 0.1734, 0.2674, 0.44, 0.7408, 1.181, 1.767, 2.513, 3.426, 4.514",\
                 "0.1684, 0.2034, 0.2952, 0.4592, 0.7494, 1.184, 1.769, 2.513, 3.427, 4.519",\
                 "0.198, 0.237, 0.33, 0.4876, 0.7628, 1.187, 1.768, 2.512, 3.425, 4.518",\
                 "0.23, 0.274, 0.3696, 0.5226, 0.7844, 1.194, 1.77, 2.514, 3.425, 4.513",\
                 "0.2614, 0.3096, 0.4126, 0.5628, 0.8142, 1.207, 1.773, 2.515, 3.426, 4.513",\
                 "0.2932, 0.3464, 0.457, 0.6076, 0.8512, 1.226, 1.778, 2.515, 3.426, 4.515");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.256, 0.2883, 0.377, 0.5128, 0.7085, 0.9813, 1.336, 1.782, 2.326, 2.974",\
                 "0.2733, 0.3056, 0.3943, 0.5302, 0.7258, 0.9987, 1.353, 1.799, 2.343, 2.991",\
                 "0.3396, 0.3718, 0.4604, 0.5963, 0.7922, 1.065, 1.42, 1.865, 2.409, 3.057",\
                 "0.453, 0.487, 0.5786, 0.7157, 0.9117, 1.184, 1.538, 1.984, 2.528, 3.176",\
                 "0.5822, 0.6202, 0.7187, 0.861, 1.059, 1.331, 1.684, 2.13, 2.673, 3.321",\
                 "0.7252, 0.7678, 0.8753, 1.024, 1.225, 1.496, 1.85, 2.294, 2.838, 3.486",\
                 "0.8817, 0.929, 1.047, 1.205, 1.41, 1.681, 2.034, 2.478, 3.021, 3.669",\
                 "1.052, 1.104, 1.233, 1.402, 1.614, 1.886, 2.238, 2.682, 3.225, 3.872",\
                 "1.238, 1.294, 1.435, 1.615, 1.836, 2.111, 2.462, 2.905, 3.447, 4.094",\
                 "1.44, 1.5, 1.652, 1.845, 2.075, 2.355, 2.706, 3.147, 3.688, 4.335");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05443, 0.09058, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1017, 0.1347, 0.2351, 0.4225, 0.7288, 1.172, 1.765, 2.515, 3.432, 4.523",\
                 "0.1016, 0.1346, 0.2354, 0.4231, 0.7292, 1.172, 1.765, 2.515, 3.431, 4.518",\
                 "0.1021, 0.135, 0.2359, 0.4231, 0.7291, 1.172, 1.766, 2.513, 3.432, 4.52",\
                 "0.116, 0.1474, 0.2443, 0.426, 0.7296, 1.173, 1.765, 2.514, 3.428, 4.525",\
                 "0.1384, 0.17, 0.2648, 0.4368, 0.7314, 1.173, 1.765, 2.515, 3.43, 4.526",\
                 "0.1652, 0.1982, 0.2906, 0.4488, 0.7352, 1.174, 1.765, 2.512, 3.428, 4.522",\
                 "0.1948, 0.2292, 0.321, 0.4648, 0.7384, 1.175, 1.765, 2.511, 3.427, 4.517",\
                 "0.2234, 0.262, 0.3554, 0.4832, 0.7418, 1.175, 1.766, 2.513, 3.425, 4.513",\
                 "0.2528, 0.2954, 0.39, 0.502, 0.7464, 1.176, 1.765, 2.513, 3.425, 4.512",\
                 "0.2818, 0.3286, 0.424, 0.5192, 0.7502, 1.176, 1.766, 2.514, 3.428, 4.514");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007113 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.508 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02448, 0.0238, 0.02362, 0.02363, 0.02364, 0.02367, 0.02367, \
                 0.02364, 0.02366, 0.02366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02365, -0.02359, -0.02356, -0.02356, -0.02354, -0.02362, -0.02361, \
                 -0.0236, -0.02363, -0.0236");
        }
      }

      internal_power() {
        when : "!CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02365, 0.02285, 0.02249, 0.02246, 0.02248, 0.02245, 0.02244, \
                 0.02246, 0.02243, 0.02243");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02215, -0.02237, -0.02278, -0.02303, -0.02315, -0.02329, -0.02328, \
                 -0.02334, -0.02336, -0.02339");
        }
      }

      internal_power() {
        when : "CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02506, 0.02392, 0.02364, 0.02361, 0.02362, 0.02365, 0.02367, \
                 0.02368, 0.02366, 0.02367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02364, -0.0236, -0.02357, -0.02355, -0.02354, -0.02361, -0.0236, \
                 -0.02361, -0.0236, -0.02359");
        }
      }

      internal_power() {
        when : "CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.025, 0.02389, 0.02361, 0.02362, 0.02362, 0.02365, 0.02367, 0.02367, \
                 0.02367, 0.02366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02364, -0.0236, -0.02357, -0.02355, -0.02354, -0.02362, -0.0236, \
                 -0.02362, -0.0236, -0.0236");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : recovery_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.303, -0.316, -0.366, -0.444, -0.501, -0.543, -0.572, -0.573, -0.553, -0.507",\
                 "-0.307, -0.318, -0.373, -0.45, -0.51, -0.554, -0.579, -0.583, -0.555, -0.518",\
                 "-0.32, -0.332, -0.393, -0.462, -0.521, -0.57, -0.592, -0.603, -0.578, -0.541",\
                 "-0.319, -0.322, -0.384, -0.459, -0.522, -0.571, -0.595, -0.603, -0.582, -0.545",\
                 "-0.183, -0.193, -0.261, -0.348, -0.41, -0.459, -0.496, -0.501, -0.48, -0.452",\
                 "0.123, 0.117, 0.047, -0.05, -0.118, -0.178, -0.21, -0.216, -0.198, -0.161",\
                 "0.597, 0.595, 0.493, 0.396, 0.308, 0.251, 0.21, 0.198, 0.221, 0.239",\
                 "1.199, 1.198, 1.088, 0.957, 0.894, 0.806, 0.768, 0.733, 0.773, 0.789",\
                 "1.961, 1.975, 1.827, 1.701, 1.597, 1.471, 1.433, 1.421, 1.447, 1.46",\
                 "2.871, 2.882, 2.676, 2.549, 2.459, 2.315, 2.274, 2.235, 2.251, 2.242");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : removal_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.464, 0.479, 0.527, 0.608, 0.68, 0.739, 0.774, 0.797, 0.791, 0.762",\
                 "0.47, 0.484, 0.532, 0.613, 0.687, 0.742, 0.784, 0.804, 0.795, 0.77",\
                 "0.492, 0.51, 0.559, 0.636, 0.713, 0.768, 0.81, 0.827, 0.817, 0.788",\
                 "0.556, 0.573, 0.616, 0.697, 0.765, 0.82, 0.865, 0.877, 0.871, 0.842",\
                 "0.645, 0.656, 0.705, 0.782, 0.855, 0.907, 0.943, 0.968, 0.963, 0.934",\
                 "0.746, 0.76, 0.808, 0.892, 0.96, 1.009, 1.053, 1.075, 1.072, 1.054",\
                 "0.87, 0.887, 0.939, 1.012, 1.077, 1.13, 1.179, 1.207, 1.208, 1.189",\
                 "1.015, 1.029, 1.082, 1.154, 1.216, 1.274, 1.321, 1.345, 1.36, 1.349",\
                 "1.183, 1.195, 1.251, 1.322, 1.384, 1.437, 1.48, 1.516, 1.532, 1.53",\
                 "1.378, 1.39, 1.438, 1.509, 1.568, 1.623, 1.673, 1.715, 1.731, 1.735");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D" ;

        fall_constraint(scalar) {
          values("0.398");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D" ;

        fall_constraint(scalar) {
          values("0.398");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D" ;

        fall_constraint(scalar) {
          values("0.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D" ;

        fall_constraint(scalar) {
          values("0.508");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffrnq_2) {
    area : 79.027200 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN" ;
      value : "0.0001908159" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN" ;
      value : "0.0001908786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN" ;
      value : "0.0001917432" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN" ;
      value : "0.000239118" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN" ;
      value : "0.0002075799" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN" ;
      value : "0.0002267364" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN" ;
      value : "0.0002086359" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN" ;
      value : "0.0003169353" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003169353" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003346 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.756 ;
      min_pulse_width_high : 0.86 ;
      min_pulse_width_low : 0.696 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1236, 0.1232, 0.1239, 0.1295, 0.1412, 0.1597, 0.1859, 0.2199, \
                 0.2623, 0.3136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1044, 0.1049, 0.1094, 0.1191, 0.1351, 0.158, 0.1881, \
                 0.2256, 0.2708");
        }
      }

      internal_power() {
        when : "!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1236, 0.1232, 0.1239, 0.1295, 0.1412, 0.1598, 0.1859, 0.2199, \
                 0.2624, 0.3135");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1048, 0.1044, 0.1049, 0.1095, 0.1191, 0.1351, 0.158, 0.188, \
                 0.2256, 0.2708");
        }
      }

      internal_power() {
        when : "D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1855, 0.1851, 0.1858, 0.1921, 0.2054, 0.226, 0.2549, 0.2923, \
                 0.3386, 0.394");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1951, 0.1948, 0.1952, 0.2008, 0.2123, 0.2308, 0.2568, 0.2907, \
                 0.3325, 0.3824");
        }
      }

      internal_power() {
        when : "D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1219, 0.1215, 0.1222, 0.1278, 0.1396, 0.1582, 0.1843, 0.2184, \
                 0.2608, 0.3121");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1005, 0.1003, 0.1007, 0.1053, 0.1149, 0.131, 0.1539, 0.184, \
                 0.2215, 0.2666");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN" ;

        fall_constraint(scalar) {
          values("0.532");
        }

        rise_constraint(scalar) {
          values("0.566");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN" ;

        fall_constraint(scalar) {
          values("0.696");
        }

        rise_constraint(scalar) {
          values("0.86");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN" ;

        rise_constraint(scalar) {
          values("1.195");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN" ;

        rise_constraint(scalar) {
          values("1.756");
        }
      }
    }

    pin(D) {
      capacitance : 0.002955 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1044, 0.106, 0.1117, 0.1231, 0.1409, 0.1657, 0.1978, \
                 0.2379, 0.2859");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06712, 0.06683, 0.06776, 0.07223, 0.08119, 0.09588, 0.1167, \
                 0.1441, 0.1783, 0.2197");
        }
      }

      internal_power() {
        when : "!CLK&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1002, 0.1001, 0.1015, 0.1072, 0.1186, 0.1363, 0.1611, 0.1932, \
                 0.2331, 0.281");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06992, 0.06961, 0.07055, 0.07501, 0.08399, 0.09866, 0.1194, \
                 0.1468, 0.181, 0.2224");
        }
      }

      internal_power() {
        when : "CLK&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02803, 0.02762, 0.02998, 0.03707, 0.0495, 0.06774, 0.09223, \
                 0.1234, 0.1618, 0.2077");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003545, 0.003037, 0.004243, 0.00979, 0.02028, 0.03609, 0.05758, \
                 0.08505, 0.1189, 0.1594");
        }
      }

      internal_power() {
        when : "CLK&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02806, 0.02762, 0.02999, 0.03707, 0.04951, 0.06774, 0.09222, \
                 0.1234, 0.1618, 0.2077");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003538, 0.00304, 0.004273, 0.009762, 0.02029, 0.03613, 0.05756, \
                 0.08503, 0.1189, 0.1595");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.165, 0.216, 0.289, 0.345, 0.388, 0.411, 0.408, 0.385, 0.335",\
                 "0.135, 0.15, 0.201, 0.275, 0.332, 0.377, 0.398, 0.392, 0.37, 0.319",\
                 "0.079, 0.089, 0.142, 0.218, 0.278, 0.322, 0.339, 0.336, 0.313, 0.262",\
                 "-0.008, 0.013, 0.06, 0.138, 0.195, 0.235, 0.256, 0.256, 0.224, 0.176",\
                 "-0.107, -0.093, -0.034, 0.031, 0.095, 0.136, 0.153, 0.146, 0.121, 0.064",\
                 "-0.198, -0.183, -0.136, -0.073, -0.031, 0.011, 0.029, 0.023, -0.012, -0.065",\
                 "-0.285, -0.27, -0.221, -0.165, -0.13, -0.109, -0.105, -0.12, -0.157, -0.217",\
                 "-0.39, -0.374, -0.329, -0.269, -0.234, -0.216, -0.221, -0.263, -0.314, -0.382",\
                 "-0.505, -0.491, -0.445, -0.39, -0.357, -0.344, -0.358, -0.402, -0.459, -0.542",\
                 "-0.642, -0.628, -0.584, -0.534, -0.51, -0.491, -0.496, -0.551, -0.611, -0.695");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.132, -0.122, -0.09, -0.056, -0.042, -0.044, -0.061, -0.111, -0.18, -0.274",\
                 "-0.145, -0.136, -0.101, -0.062, -0.054, -0.054, -0.073, -0.122, -0.193, -0.284",\
                 "-0.195, -0.183, -0.141, -0.111, -0.096, -0.1, -0.114, -0.161, -0.233, -0.327",\
                 "-0.253, -0.237, -0.201, -0.168, -0.153, -0.153, -0.174, -0.219, -0.291, -0.383",\
                 "-0.3, -0.286, -0.251, -0.216, -0.195, -0.197, -0.224, -0.269, -0.334, -0.436",\
                 "-0.336, -0.324, -0.283, -0.249, -0.232, -0.232, -0.254, -0.306, -0.379, -0.472",\
                 "-0.344, -0.33, -0.293, -0.255, -0.244, -0.251, -0.274, -0.325, -0.399, -0.502",\
                 "-0.337, -0.327, -0.286, -0.249, -0.235, -0.242, -0.27, -0.326, -0.402, -0.509",\
                 "-0.298, -0.29, -0.247, -0.215, -0.206, -0.213, -0.245, -0.301, -0.382, -0.488",\
                 "-0.236, -0.225, -0.187, -0.153, -0.141, -0.155, -0.19, -0.248, -0.332, -0.445");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2, 0.19, 0.144, 0.074, 0.027, -0.019, -0.032, -0.024, 0.578, 0.863",\
                 "0.22, 0.206, 0.16, 0.1, 0.038, 0, -0.013, -0.01, 0.609, 0.892",\
                 "0.286, 0.272, 0.228, 0.164, 0.114, 0.068, 0.051, 0.056, 0.663, 0.945",\
                 "0.408, 0.392, 0.347, 0.284, 0.228, 0.19, 0.163, 0.172, 0.737, 1.05",\
                 "0.561, 0.548, 0.504, 0.433, 0.384, 0.338, 0.316, 0.32, 0.361, 1.14",\
                 "0.75, 0.736, 0.692, 0.622, 0.565, 0.524, 0.504, 0.508, 0.536, 0.615",\
                 "0.968, 0.955, 0.909, 0.835, 0.782, 0.743, 0.719, 0.725, 0.753, 1.352",\
                 "1.21, 1.198, 1.15, 1.084, 1.027, 0.991, 0.973, 0.967, 0.996, 1.06",\
                 "1.484, 1.469, 1.421, 1.351, 1.303, 1.266, 1.244, 1.245, 1.276, 1.334",\
                 "1.776, 1.764, 1.716, 1.648, 1.601, 1.565, 1.553, 1.557, 1.584, 1.638");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.464, 0.45, 0.396, 0.311, 0.251, 0.222, 0.221, 0.253, 0.307, 0.394",\
                 "0.479, 0.468, 0.409, 0.322, 0.262, 0.236, 0.236, 0.265, 0.32, 0.404",\
                 "0.527, 0.515, 0.457, 0.367, 0.314, 0.285, 0.278, 0.305, 0.365, 0.446",\
                 "0.59, 0.585, 0.526, 0.437, 0.375, 0.343, 0.344, 0.366, 0.421, 0.507",\
                 "0.658, 0.641, 0.591, 0.496, 0.438, 0.408, 0.396, 0.417, 0.476, 0.562",\
                 "0.699, 0.689, 0.634, 0.549, 0.486, 0.443, 0.443, 0.466, 0.515, 0.602",\
                 "0.74, 0.724, 0.674, 0.585, 0.519, 0.48, 0.476, 0.491, 0.546, 0.631",\
                 "0.756, 0.744, 0.69, 0.61, 0.538, 0.494, 0.485, 0.504, 0.557, 0.646",\
                 "0.751, 0.739, 0.685, 0.6, 0.537, 0.486, 0.476, 0.496, 0.552, 0.632",\
                 "0.721, 0.707, 0.649, 0.568, 0.505, 0.453, 0.447, 0.464, 0.512, 0.599");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.7164 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.1861, 0.1829, 0.1799, 0.1788, 0.1785, 0.1783, 0.1782, 0.1781, 0.178, 0.178",\
                 "0.1861, 0.1829, 0.18, 0.1789, 0.1786, 0.1783, 0.1782, 0.1781, 0.1781, 0.178",\
                 "0.1861, 0.1829, 0.18, 0.179, 0.1785, 0.1783, 0.1782, 0.1782, 0.1781, 0.1781",\
                 "0.1867, 0.1834, 0.1804, 0.1793, 0.179, 0.1789, 0.1788, 0.1787, 0.1786, 0.1786",\
                 "0.1874, 0.1842, 0.1813, 0.1803, 0.1799, 0.1797, 0.1795, 0.1795, 0.1794, 0.1794",\
                 "0.1882, 0.1851, 0.1821, 0.181, 0.1806, 0.1805, 0.1803, 0.1803, 0.1802, 0.1802",\
                 "0.1893, 0.186, 0.183, 0.182, 0.1816, 0.1815, 0.1813, 0.1813, 0.1812, 0.1812",\
                 "0.1904, 0.1872, 0.1843, 0.1831, 0.1828, 0.1826, 0.1825, 0.1824, 0.1824, 0.1823",\
                 "0.1916, 0.1884, 0.1853, 0.1843, 0.1839, 0.1838, 0.1836, 0.1835, 0.1835, 0.1835",\
                 "0.1929, 0.1896, 0.1866, 0.1855, 0.1851, 0.185, 0.1848, 0.1848, 0.1847, 0.1847");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.2209, 0.2155, 0.2086, 0.2049, 0.2031, 0.2034, 0.2038, 0.2047, 0.2064, 0.2165",\
                 "0.2208, 0.2155, 0.2086, 0.2046, 0.203, 0.2031, 0.2034, 0.2043, 0.2063, 0.2164",\
                 "0.2208, 0.2153, 0.2085, 0.2045, 0.2029, 0.2032, 0.2033, 0.2042, 0.2062, 0.2153",\
                 "0.2209, 0.2155, 0.2088, 0.2052, 0.2035, 0.2034, 0.2037, 0.2045, 0.2062, 0.218",\
                 "0.2213, 0.216, 0.2091, 0.2051, 0.2039, 0.2037, 0.2043, 0.2055, 0.2072, 0.2185",\
                 "0.2218, 0.2166, 0.2097, 0.206, 0.2043, 0.2046, 0.2054, 0.2056, 0.208, 0.2216",\
                 "0.2228, 0.2173, 0.2105, 0.2066, 0.206, 0.2055, 0.2059, 0.2067, 0.2089, 0.2287",\
                 "0.2241, 0.2188, 0.2118, 0.2076, 0.2059, 0.2074, 0.2085, 0.2083, 0.2107, 0.2367",\
                 "0.2257, 0.2204, 0.2136, 0.2094, 0.2078, 0.2073, 0.21, 0.2121, 0.2159, 0.2485",\
                 "0.2281, 0.2226, 0.2157, 0.212, 0.2099, 0.2087, 0.2103, 0.2134, 0.2206, 0.2722");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.1899, 0.1873, 0.185, 0.184, 0.1837, 0.1835, 0.1833, 0.1833, 0.1832, 0.1832",\
                 "0.1899, 0.1872, 0.185, 0.184, 0.1836, 0.1834, 0.1833, 0.1832, 0.1832, 0.1832",\
                 "0.1907, 0.1879, 0.1854, 0.1845, 0.1842, 0.184, 0.1839, 0.1839, 0.1839, 0.1838",\
                 "0.2017, 0.1975, 0.1928, 0.1905, 0.1896, 0.1892, 0.189, 0.1888, 0.1888, 0.1887",\
                 "0.2232, 0.2174, 0.2096, 0.205, 0.2028, 0.2016, 0.2009, 0.2005, 0.2003, 0.2001",\
                 "0.2545, 0.2469, 0.2352, 0.2278, 0.224, 0.2217, 0.2203, 0.2195, 0.2189, 0.2185",\
                 "0.2934, 0.2843, 0.2689, 0.2583, 0.2521, 0.2483, 0.246, 0.2445, 0.2435, 0.2429",\
                 "0.3393, 0.3289, 0.3096, 0.2956, 0.2867, 0.2811, 0.2776, 0.2753, 0.2738, 0.2727",\
                 "0.391, 0.3793, 0.3562, 0.3389, 0.3271, 0.3193, 0.3144, 0.3111, 0.3089, 0.3074",\
                 "0.4475, 0.4345, 0.4081, 0.3871, 0.3725, 0.3627, 0.3556, 0.3514, 0.3483, 0.3463");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.1899, 0.1873, 0.185, 0.184, 0.1837, 0.1835, 0.1833, 0.1833, 0.1832, 0.1832",\
                 "0.1899, 0.1872, 0.185, 0.184, 0.1836, 0.1834, 0.1833, 0.1832, 0.1832, 0.1832",\
                 "0.1907, 0.1879, 0.1854, 0.1845, 0.1842, 0.184, 0.1839, 0.1839, 0.1839, 0.1838",\
                 "0.2017, 0.1975, 0.1928, 0.1905, 0.1896, 0.1892, 0.189, 0.1888, 0.1888, 0.1887",\
                 "0.2232, 0.2174, 0.2096, 0.205, 0.2028, 0.2016, 0.2009, 0.2005, 0.2003, 0.2001",\
                 "0.2545, 0.2469, 0.2352, 0.2278, 0.224, 0.2217, 0.2203, 0.2195, 0.2189, 0.2185",\
                 "0.2934, 0.2843, 0.2689, 0.2583, 0.2521, 0.2483, 0.246, 0.2445, 0.2435, 0.2429",\
                 "0.3393, 0.3289, 0.3096, 0.2956, 0.2867, 0.2811, 0.2776, 0.2753, 0.2738, 0.2727",\
                 "0.391, 0.3793, 0.3562, 0.3389, 0.3271, 0.3193, 0.3144, 0.3111, 0.3089, 0.3074",\
                 "0.4475, 0.4345, 0.4081, 0.3871, 0.3725, 0.3627, 0.3556, 0.3514, 0.3483, 0.3463");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.1977, 0.1951, 0.1928, 0.1918, 0.1915, 0.1912, 0.1911, 0.1911, 0.191, 0.191",\
                 "0.1979, 0.1953, 0.193, 0.1921, 0.1917, 0.1915, 0.1914, 0.1913, 0.1913, 0.1912",\
                 "0.1988, 0.1959, 0.1935, 0.1925, 0.1922, 0.192, 0.1919, 0.1919, 0.1919, 0.1919",\
                 "0.2097, 0.2056, 0.2008, 0.1986, 0.1977, 0.1973, 0.197, 0.1969, 0.1968, 0.1968",\
                 "0.2312, 0.2254, 0.2176, 0.2131, 0.2108, 0.2096, 0.209, 0.2086, 0.2083, 0.2082",\
                 "0.2624, 0.255, 0.2434, 0.2361, 0.232, 0.2297, 0.2283, 0.2275, 0.2269, 0.2266",\
                 "0.3016, 0.2924, 0.2769, 0.2663, 0.26, 0.2562, 0.254, 0.2525, 0.2515, 0.2509",\
                 "0.3473, 0.3369, 0.3175, 0.3036, 0.2948, 0.2891, 0.2856, 0.2834, 0.2817, 0.2807",\
                 "0.3991, 0.3873, 0.3644, 0.3467, 0.335, 0.3274, 0.3225, 0.3192, 0.317, 0.3155",\
                 "0.4554, 0.4426, 0.416, 0.3951, 0.3804, 0.3704, 0.3639, 0.3594, 0.3563, 0.3542");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.1977, 0.1951, 0.1928, 0.1918, 0.1915, 0.1912, 0.1911, 0.1911, 0.191, 0.191",\
                 "0.1979, 0.1953, 0.193, 0.1921, 0.1917, 0.1915, 0.1914, 0.1913, 0.1913, 0.1912",\
                 "0.1988, 0.1959, 0.1935, 0.1925, 0.1922, 0.192, 0.1919, 0.1919, 0.1919, 0.1919",\
                 "0.2097, 0.2056, 0.2008, 0.1986, 0.1977, 0.1973, 0.197, 0.1969, 0.1968, 0.1968",\
                 "0.2312, 0.2254, 0.2176, 0.2131, 0.2108, 0.2096, 0.209, 0.2086, 0.2083, 0.2082",\
                 "0.2624, 0.255, 0.2434, 0.2361, 0.232, 0.2297, 0.2283, 0.2275, 0.2269, 0.2266",\
                 "0.3016, 0.2924, 0.2769, 0.2663, 0.26, 0.2562, 0.254, 0.2525, 0.2515, 0.2509",\
                 "0.3473, 0.3369, 0.3175, 0.3036, 0.2948, 0.2891, 0.2856, 0.2834, 0.2817, 0.2807",\
                 "0.3991, 0.3873, 0.3644, 0.3467, 0.335, 0.3274, 0.3225, 0.3192, 0.317, 0.3155",\
                 "0.4554, 0.4426, 0.416, 0.3951, 0.3804, 0.3704, 0.3639, 0.3594, 0.3563, 0.3542");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.2819, 0.2791, 0.2766, 0.2757, 0.2753, 0.2751, 0.275, 0.2749, 0.2748, 0.2748",\
                 "0.2822, 0.2793, 0.277, 0.276, 0.2757, 0.2755, 0.2753, 0.2752, 0.2752, 0.2751",\
                 "0.2831, 0.2801, 0.2775, 0.2766, 0.2763, 0.2761, 0.276, 0.2759, 0.2759, 0.2759",\
                 "0.2967, 0.2925, 0.2877, 0.2855, 0.2845, 0.2841, 0.2838, 0.2837, 0.2836, 0.2835",\
                 "0.326, 0.32, 0.3119, 0.3074, 0.3051, 0.3039, 0.3032, 0.3028, 0.3025, 0.3023",\
                 "0.3714, 0.3638, 0.3521, 0.3447, 0.3406, 0.3381, 0.3368, 0.3359, 0.3353, 0.3349",\
                 "0.4318, 0.4226, 0.407, 0.3965, 0.3898, 0.3859, 0.3836, 0.3821, 0.3811, 0.3804",\
                 "0.505, 0.4946, 0.4752, 0.4612, 0.452, 0.4462, 0.4426, 0.4402, 0.4386, 0.4375",\
                 "0.5891, 0.5777, 0.5546, 0.5369, 0.525, 0.5171, 0.5118, 0.5085, 0.5062, 0.5045",\
                 "0.6835, 0.6713, 0.6447, 0.6231, 0.6081, 0.5978, 0.5909, 0.5862, 0.5829, 0.5807");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.2819, 0.2791, 0.2766, 0.2757, 0.2753, 0.2751, 0.275, 0.2749, 0.2748, 0.2748",\
                 "0.2822, 0.2793, 0.277, 0.276, 0.2757, 0.2755, 0.2753, 0.2752, 0.2752, 0.2751",\
                 "0.2831, 0.2801, 0.2775, 0.2766, 0.2763, 0.2761, 0.276, 0.2759, 0.2759, 0.2759",\
                 "0.2967, 0.2925, 0.2877, 0.2855, 0.2845, 0.2841, 0.2838, 0.2837, 0.2836, 0.2835",\
                 "0.326, 0.32, 0.3119, 0.3074, 0.3051, 0.3039, 0.3032, 0.3028, 0.3025, 0.3023",\
                 "0.3714, 0.3638, 0.3521, 0.3447, 0.3406, 0.3381, 0.3368, 0.3359, 0.3353, 0.3349",\
                 "0.4318, 0.4226, 0.407, 0.3965, 0.3898, 0.3859, 0.3836, 0.3821, 0.3811, 0.3804",\
                 "0.505, 0.4946, 0.4752, 0.4612, 0.452, 0.4462, 0.4426, 0.4402, 0.4386, 0.4375",\
                 "0.5891, 0.5777, 0.5546, 0.5369, 0.525, 0.5171, 0.5118, 0.5085, 0.5062, 0.5045",\
                 "0.6835, 0.6713, 0.6447, 0.6231, 0.6081, 0.5978, 0.5909, 0.5862, 0.5829, 0.5807");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.2819, 0.2791, 0.2767, 0.2758, 0.2753, 0.2751, 0.275, 0.2749, 0.2749, 0.2748",\
                 "0.2822, 0.2793, 0.277, 0.276, 0.2757, 0.2755, 0.2753, 0.2752, 0.2752, 0.2751",\
                 "0.2831, 0.2801, 0.2775, 0.2765, 0.2762, 0.2761, 0.276, 0.2759, 0.2759, 0.2758",\
                 "0.2967, 0.2924, 0.2877, 0.2854, 0.2845, 0.284, 0.2838, 0.2836, 0.2835, 0.2834",\
                 "0.326, 0.32, 0.3118, 0.3074, 0.3051, 0.3038, 0.3031, 0.3028, 0.3025, 0.3023",\
                 "0.3715, 0.3638, 0.3521, 0.3446, 0.3405, 0.3381, 0.3367, 0.3359, 0.3353, 0.3349",\
                 "0.4317, 0.4226, 0.4069, 0.3964, 0.3898, 0.3859, 0.3835, 0.382, 0.381, 0.3804",\
                 "0.505, 0.4947, 0.4753, 0.4611, 0.4521, 0.4462, 0.4426, 0.4402, 0.4387, 0.4375",\
                 "0.5891, 0.5777, 0.5545, 0.537, 0.525, 0.5172, 0.5118, 0.5085, 0.5062, 0.5046",\
                 "0.6834, 0.6712, 0.6447, 0.6232, 0.6082, 0.5979, 0.591, 0.5862, 0.583, 0.5807");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.2819, 0.2791, 0.2767, 0.2758, 0.2753, 0.2751, 0.275, 0.2749, 0.2749, 0.2748",\
                 "0.2822, 0.2793, 0.277, 0.276, 0.2757, 0.2755, 0.2753, 0.2752, 0.2752, 0.2751",\
                 "0.2831, 0.2801, 0.2775, 0.2765, 0.2762, 0.2761, 0.276, 0.2759, 0.2759, 0.2758",\
                 "0.2967, 0.2924, 0.2877, 0.2854, 0.2845, 0.284, 0.2838, 0.2836, 0.2835, 0.2834",\
                 "0.326, 0.32, 0.3118, 0.3074, 0.3051, 0.3038, 0.3031, 0.3028, 0.3025, 0.3023",\
                 "0.3715, 0.3638, 0.3521, 0.3446, 0.3405, 0.3381, 0.3367, 0.3359, 0.3353, 0.3349",\
                 "0.4317, 0.4226, 0.4069, 0.3964, 0.3898, 0.3859, 0.3835, 0.382, 0.381, 0.3804",\
                 "0.505, 0.4947, 0.4753, 0.4611, 0.4521, 0.4462, 0.4426, 0.4402, 0.4387, 0.4375",\
                 "0.5891, 0.5777, 0.5545, 0.537, 0.525, 0.5172, 0.5118, 0.5085, 0.5062, 0.5046",\
                 "0.6834, 0.6712, 0.6447, 0.6232, 0.6082, 0.5979, 0.591, 0.5862, 0.583, 0.5807");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.9646, 1.003, 1.101, 1.243, 1.44, 1.71, 2.064, 2.511, 3.056, 3.705",\
                 "0.9782, 1.017, 1.114, 1.256, 1.454, 1.724, 2.078, 2.524, 3.069, 3.718",\
                 "1.028, 1.067, 1.165, 1.306, 1.504, 1.774, 2.128, 2.574, 3.119, 3.769",\
                 "1.109, 1.148, 1.245, 1.387, 1.585, 1.855, 2.209, 2.655, 3.2, 3.849",\
                 "1.18, 1.219, 1.316, 1.458, 1.656, 1.926, 2.28, 2.726, 3.271, 3.921",\
                 "1.236, 1.274, 1.372, 1.514, 1.711, 1.981, 2.335, 2.782, 3.327, 3.976",\
                 "1.274, 1.312, 1.41, 1.552, 1.749, 2.02, 2.374, 2.82, 3.364, 4.014",\
                 "1.29, 1.329, 1.427, 1.569, 1.766, 2.036, 2.39, 2.836, 3.381, 4.03",\
                 "1.282, 1.321, 1.418, 1.56, 1.758, 2.028, 2.382, 2.828, 3.372, 4.022",\
                 "1.247, 1.285, 1.382, 1.524, 1.722, 1.992, 2.346, 2.792, 3.336, 3.985");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("1.209, 1.261, 1.409, 1.647, 1.998, 2.487, 3.129, 3.938, 4.925, 6.102",\
                 "1.222, 1.275, 1.422, 1.661, 2.011, 2.499, 3.142, 3.951, 4.939, 6.117",\
                 "1.272, 1.324, 1.472, 1.71, 2.061, 2.55, 3.192, 4, 4.989, 6.166",\
                 "1.351, 1.404, 1.551, 1.79, 2.141, 2.629, 3.271, 4.08, 5.068, 6.246",\
                 "1.421, 1.473, 1.621, 1.859, 2.21, 2.698, 3.341, 4.15, 5.138, 6.316",\
                 "1.475, 1.528, 1.676, 1.915, 2.266, 2.754, 3.396, 4.205, 5.194, 6.373",\
                 "1.515, 1.568, 1.715, 1.954, 2.304, 2.792, 3.435, 4.244, 5.232, 6.409",\
                 "1.534, 1.587, 1.734, 1.973, 2.324, 2.812, 3.454, 4.263, 5.25, 6.429",\
                 "1.531, 1.584, 1.731, 1.97, 2.321, 2.809, 3.451, 4.26, 5.248, 6.425",\
                 "1.503, 1.555, 1.703, 1.941, 2.292, 2.78, 3.423, 4.232, 5.219, 6.396");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.09508, 0.132, 0.2366, 0.4182, 0.7204, 1.166, 1.759, 2.506, 3.427, 4.517",\
                 "0.0948, 0.1322, 0.2368, 0.4188, 0.7216, 1.164, 1.759, 2.506, 3.427, 4.518",\
                 "0.0948, 0.132, 0.2368, 0.4188, 0.7218, 1.165, 1.756, 2.509, 3.424, 4.518",\
                 "0.095, 0.132, 0.2366, 0.4182, 0.7204, 1.164, 1.759, 2.506, 3.427, 4.517",\
                 "0.0948, 0.132, 0.2366, 0.4186, 0.7202, 1.165, 1.757, 2.508, 3.427, 4.514",\
                 "0.0948, 0.132, 0.2364, 0.419, 0.7204, 1.165, 1.757, 2.509, 3.423, 4.519",\
                 "0.0946, 0.1318, 0.2366, 0.4184, 0.721, 1.163, 1.756, 2.505, 3.422, 4.517",\
                 "0.0952, 0.132, 0.2366, 0.4182, 0.7206, 1.166, 1.756, 2.503, 3.418, 4.507",\
                 "0.095, 0.1318, 0.2366, 0.4184, 0.7196, 1.164, 1.755, 2.507, 3.418, 4.506",\
                 "0.0948, 0.1322, 0.2364, 0.4182, 0.72, 1.165, 1.756, 2.507, 3.42, 4.506");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.1388, 0.2002, 0.3996, 0.7628, 1.354, 2.211, 3.344, 4.767, 6.517, 8.585",\
                 "0.138, 0.1996, 0.3994, 0.7616, 1.354, 2.211, 3.343, 4.775, 6.509, 8.583",\
                 "0.138, 0.2, 0.3998, 0.7614, 1.354, 2.209, 3.343, 4.775, 6.507, 8.585",\
                 "0.1382, 0.2, 0.399, 0.762, 1.357, 2.21, 3.343, 4.775, 6.508, 8.584",\
                 "0.138, 0.1998, 0.3996, 0.7614, 1.356, 2.21, 3.344, 4.768, 6.508, 8.589",\
                 "0.138, 0.1996, 0.3988, 0.762, 1.354, 2.212, 3.343, 4.767, 6.508, 8.587",\
                 "0.1376, 0.2, 0.3992, 0.7612, 1.355, 2.208, 3.342, 4.775, 6.513, 8.581",\
                 "0.1384, 0.2, 0.4002, 0.762, 1.355, 2.208, 3.338, 4.765, 6.517, 8.581",\
                 "0.138, 0.1996, 0.399, 0.7626, 1.356, 2.209, 3.339, 4.766, 6.513, 8.586",\
                 "0.1372, 0.2002, 0.3998, 0.7614, 1.355, 2.211, 3.339, 4.763, 6.505, 8.582");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.273, 0.3121, 0.4097, 0.5524, 0.7506, 1.021, 1.374, 1.82, 2.365, 3.015",\
                 "0.2906, 0.3297, 0.4273, 0.5701, 0.7683, 1.038, 1.392, 1.838, 2.382, 3.032",\
                 "0.3567, 0.3958, 0.4931, 0.6358, 0.8339, 1.104, 1.458, 1.904, 2.448, 3.098",\
                 "0.4753, 0.5161, 0.6151, 0.7582, 0.956, 1.226, 1.579, 2.025, 2.57, 3.22",\
                 "0.6083, 0.6538, 0.7609, 0.9095, 1.108, 1.377, 1.73, 2.175, 2.72, 3.37",\
                 "0.7509, 0.8014, 0.9174, 1.072, 1.271, 1.539, 1.892, 2.337, 2.881, 3.531",\
                 "0.9011, 0.9568, 1.083, 1.245, 1.444, 1.71, 2.062, 2.507, 3.05, 3.699",\
                 "1.06, 1.121, 1.258, 1.427, 1.626, 1.891, 2.242, 2.686, 3.228, 3.877",\
                 "1.227, 1.292, 1.44, 1.618, 1.817, 2.08, 2.429, 2.872, 3.414, 4.062",\
                 "1.405, 1.473, 1.631, 1.815, 2.014, 2.275, 2.623, 3.064, 3.605, 4.252");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.0943, 0.1315, 0.2352, 0.4193, 0.7192, 1.16, 1.752, 2.503, 3.421, 4.508",\
                 "0.09432, 0.1316, 0.2353, 0.4193, 0.7192, 1.16, 1.752, 2.503, 3.421, 4.509",\
                 "0.0943, 0.1314, 0.2357, 0.4193, 0.7191, 1.16, 1.753, 2.501, 3.42, 4.507",\
                 "0.108, 0.1426, 0.2423, 0.422, 0.7196, 1.16, 1.752, 2.503, 3.421, 4.512",\
                 "0.132, 0.1694, 0.2668, 0.4356, 0.7232, 1.16, 1.753, 2.502, 3.42, 4.512",\
                 "0.1586, 0.1998, 0.295, 0.453, 0.7282, 1.162, 1.751, 2.503, 3.42, 4.516",\
                 "0.1878, 0.2324, 0.3294, 0.4734, 0.7326, 1.163, 1.754, 2.5, 3.415, 4.508",\
                 "0.2182, 0.266, 0.3678, 0.496, 0.7382, 1.164, 1.753, 2.501, 3.415, 4.505",\
                 "0.2478, 0.3004, 0.4066, 0.5208, 0.7448, 1.164, 1.753, 2.502, 3.414, 4.503",\
                 "0.2788, 0.334, 0.4454, 0.5444, 0.7518, 1.165, 1.754, 2.501, 3.418, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.2729, 0.312, 0.4097, 0.5524, 0.7506, 1.02, 1.374, 1.82, 2.365, 3.014",\
                 "0.2906, 0.3297, 0.4274, 0.5701, 0.7682, 1.038, 1.392, 1.838, 2.382, 3.032",\
                 "0.3568, 0.3957, 0.4931, 0.6358, 0.8339, 1.104, 1.458, 1.904, 2.448, 3.098",\
                 "0.4754, 0.5161, 0.6151, 0.7582, 0.956, 1.226, 1.579, 2.025, 2.57, 3.218",\
                 "0.608, 0.6536, 0.7607, 0.9093, 1.107, 1.376, 1.729, 2.175, 2.719, 3.369",\
                 "0.751, 0.8014, 0.9175, 1.072, 1.271, 1.539, 1.892, 2.337, 2.881, 3.531",\
                 "0.9012, 0.9568, 1.083, 1.245, 1.444, 1.711, 2.062, 2.507, 3.05, 3.699",\
                 "1.06, 1.121, 1.258, 1.428, 1.626, 1.891, 2.242, 2.686, 3.229, 3.877",\
                 "1.228, 1.292, 1.44, 1.618, 1.817, 2.08, 2.429, 2.872, 3.414, 4.062",\
                 "1.404, 1.474, 1.63, 1.816, 2.014, 2.275, 2.623, 3.064, 3.605, 4.253");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.09436, 0.1316, 0.2351, 0.4194, 0.7192, 1.16, 1.753, 2.503, 3.419, 4.51",\
                 "0.09426, 0.1314, 0.2353, 0.4194, 0.719, 1.16, 1.752, 2.503, 3.421, 4.509",\
                 "0.0944, 0.1314, 0.2356, 0.4195, 0.7193, 1.16, 1.752, 2.503, 3.42, 4.51",\
                 "0.1072, 0.1427, 0.2423, 0.4218, 0.72, 1.161, 1.753, 2.501, 3.42, 4.513",\
                 "0.132, 0.1696, 0.2666, 0.4356, 0.723, 1.16, 1.752, 2.503, 3.421, 4.512",\
                 "0.1584, 0.2004, 0.2952, 0.4528, 0.7276, 1.161, 1.752, 2.503, 3.421, 4.515",\
                 "0.1876, 0.2328, 0.3296, 0.4726, 0.7326, 1.163, 1.753, 2.5, 3.415, 4.51",\
                 "0.2182, 0.2668, 0.3674, 0.496, 0.7384, 1.163, 1.754, 2.501, 3.415, 4.502",\
                 "0.2498, 0.3024, 0.4072, 0.521, 0.745, 1.164, 1.753, 2.501, 3.418, 4.503",\
                 "0.2796, 0.3342, 0.446, 0.5444, 0.7506, 1.166, 1.753, 2.501, 3.416, 4.503");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.273, 0.3123, 0.411, 0.5533, 0.7518, 1.025, 1.38, 1.826, 2.37, 3.019",\
                 "0.2907, 0.33, 0.4288, 0.571, 0.7695, 1.043, 1.398, 1.844, 2.388, 3.037",\
                 "0.3568, 0.396, 0.4945, 0.6368, 0.8354, 1.109, 1.464, 1.909, 2.454, 3.103",\
                 "0.4752, 0.5161, 0.6165, 0.7594, 0.9582, 1.231, 1.585, 2.031, 2.575, 3.224",\
                 "0.6076, 0.6537, 0.7625, 0.9115, 1.112, 1.384, 1.737, 2.183, 2.727, 3.376",\
                 "0.7497, 0.8011, 0.9201, 1.077, 1.28, 1.551, 1.904, 2.349, 2.893, 3.542",\
                 "0.8996, 0.9563, 1.087, 1.253, 1.461, 1.732, 2.084, 2.529, 3.072, 3.72",\
                 "1.057, 1.119, 1.262, 1.44, 1.655, 1.927, 2.278, 2.721, 3.264, 3.912",\
                 "1.223, 1.29, 1.445, 1.636, 1.861, 2.136, 2.486, 2.928, 3.47, 4.117",\
                 "1.398, 1.469, 1.637, 1.841, 2.077, 2.358, 2.708, 3.149, 3.69, 4.337");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.09406, 0.1321, 0.2364, 0.4187, 0.7253, 1.171, 1.756, 2.501, 3.418, 4.509",\
                 "0.09398, 0.1322, 0.2365, 0.4185, 0.7253, 1.17, 1.756, 2.502, 3.417, 4.511",\
                 "0.09412, 0.1323, 0.2368, 0.4189, 0.7257, 1.17, 1.756, 2.502, 3.416, 4.509",\
                 "0.107, 0.1439, 0.244, 0.4222, 0.7266, 1.168, 1.755, 2.502, 3.418, 4.51",\
                 "0.1322, 0.1708, 0.2688, 0.439, 0.7328, 1.168, 1.753, 2.501, 3.416, 4.512",\
                 "0.1596, 0.2024, 0.2994, 0.4616, 0.743, 1.172, 1.754, 2.502, 3.416, 4.505",\
                 "0.1876, 0.2362, 0.3374, 0.4924, 0.758, 1.176, 1.756, 2.501, 3.416, 4.51",\
                 "0.2198, 0.2734, 0.3802, 0.5308, 0.781, 1.183, 1.758, 2.502, 3.415, 4.504",\
                 "0.2506, 0.3104, 0.4266, 0.576, 0.8146, 1.198, 1.761, 2.503, 3.415, 4.503",\
                 "0.2826, 0.3486, 0.4742, 0.626, 0.8592, 1.222, 1.768, 2.503, 3.415, 4.503");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.273, 0.3123, 0.411, 0.5533, 0.7518, 1.025, 1.38, 1.826, 2.37, 3.019",\
                 "0.2907, 0.33, 0.4288, 0.571, 0.7695, 1.043, 1.398, 1.844, 2.388, 3.037",\
                 "0.3568, 0.396, 0.4945, 0.6368, 0.8354, 1.109, 1.464, 1.909, 2.454, 3.103",\
                 "0.4751, 0.5161, 0.6165, 0.7594, 0.9582, 1.231, 1.585, 2.031, 2.575, 3.224",\
                 "0.6076, 0.6537, 0.7626, 0.9115, 1.112, 1.384, 1.737, 2.183, 2.727, 3.376",\
                 "0.7497, 0.801, 0.9201, 1.076, 1.28, 1.551, 1.904, 2.349, 2.893, 3.542",\
                 "0.8994, 0.9563, 1.087, 1.253, 1.461, 1.732, 2.084, 2.529, 3.072, 3.72",\
                 "1.057, 1.119, 1.262, 1.44, 1.655, 1.927, 2.278, 2.721, 3.264, 3.912",\
                 "1.223, 1.289, 1.445, 1.636, 1.861, 2.135, 2.486, 2.928, 3.47, 4.118",\
                 "1.398, 1.469, 1.637, 1.841, 2.077, 2.358, 2.708, 3.149, 3.69, 4.337");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.09398, 0.1322, 0.2364, 0.4184, 0.7254, 1.171, 1.756, 2.502, 3.418, 4.51",\
                 "0.09398, 0.1322, 0.2366, 0.4185, 0.7253, 1.17, 1.756, 2.501, 3.416, 4.509",\
                 "0.09412, 0.1323, 0.2368, 0.4189, 0.7257, 1.17, 1.756, 2.501, 3.415, 4.508",\
                 "0.1073, 0.144, 0.244, 0.4222, 0.7268, 1.169, 1.755, 2.5, 3.418, 4.511",\
                 "0.1314, 0.1708, 0.269, 0.4388, 0.7328, 1.168, 1.754, 2.502, 3.416, 4.508",\
                 "0.1596, 0.2024, 0.2994, 0.4616, 0.743, 1.171, 1.755, 2.5, 3.419, 4.511",\
                 "0.1884, 0.2366, 0.3372, 0.4924, 0.7578, 1.175, 1.756, 2.501, 3.416, 4.505",\
                 "0.2194, 0.2734, 0.3804, 0.5308, 0.7808, 1.183, 1.758, 2.502, 3.414, 4.502",\
                 "0.251, 0.3104, 0.4264, 0.5764, 0.8148, 1.198, 1.761, 2.504, 3.417, 4.503",\
                 "0.2836, 0.3484, 0.4746, 0.6258, 0.8582, 1.222, 1.767, 2.503, 3.417, 4.505");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.273, 0.3123, 0.411, 0.5533, 0.7518, 1.025, 1.38, 1.826, 2.37, 3.019",\
                 "0.2907, 0.33, 0.4288, 0.571, 0.7695, 1.043, 1.398, 1.844, 2.388, 3.037",\
                 "0.3568, 0.396, 0.4945, 0.6368, 0.8354, 1.109, 1.464, 1.909, 2.454, 3.103",\
                 "0.4751, 0.5161, 0.6165, 0.7594, 0.9582, 1.231, 1.585, 2.031, 2.575, 3.224",\
                 "0.6076, 0.6537, 0.7626, 0.9115, 1.112, 1.384, 1.737, 2.183, 2.727, 3.376",\
                 "0.7497, 0.801, 0.9201, 1.076, 1.28, 1.551, 1.904, 2.349, 2.893, 3.542",\
                 "0.8994, 0.9563, 1.087, 1.253, 1.461, 1.732, 2.084, 2.529, 3.072, 3.72",\
                 "1.057, 1.119, 1.262, 1.44, 1.655, 1.927, 2.278, 2.721, 3.264, 3.912",\
                 "1.223, 1.289, 1.445, 1.636, 1.861, 2.135, 2.486, 2.928, 3.47, 4.118",\
                 "1.398, 1.469, 1.637, 1.841, 2.077, 2.358, 2.708, 3.149, 3.69, 4.337");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005938, 0.02327, 0.05637, 0.1079, 0.1803, 0.2755, 0.3955, 0.5419, 0.7164");
          values("0.0943, 0.1315, 0.2352, 0.4193, 0.7192, 1.16, 1.752, 2.503, 3.421, 4.508",\
                 "0.09432, 0.1316, 0.2353, 0.4193, 0.7192, 1.16, 1.752, 2.503, 3.421, 4.509",\
                 "0.0943, 0.1314, 0.2357, 0.4193, 0.7191, 1.16, 1.753, 2.501, 3.42, 4.507",\
                 "0.108, 0.1426, 0.2423, 0.422, 0.7196, 1.16, 1.752, 2.503, 3.421, 4.512",\
                 "0.132, 0.1694, 0.2668, 0.4356, 0.7232, 1.16, 1.753, 2.502, 3.42, 4.512",\
                 "0.1586, 0.1998, 0.295, 0.453, 0.7282, 1.162, 1.751, 2.503, 3.42, 4.516",\
                 "0.1878, 0.2324, 0.3294, 0.4734, 0.7326, 1.163, 1.754, 2.5, 3.415, 4.508",\
                 "0.2182, 0.266, 0.3678, 0.496, 0.7382, 1.164, 1.753, 2.501, 3.415, 4.505",\
                 "0.2478, 0.3004, 0.4066, 0.5208, 0.7448, 1.164, 1.753, 2.502, 3.414, 4.503",\
                 "0.2788, 0.334, 0.4454, 0.5444, 0.7518, 1.165, 1.754, 2.501, 3.418, 4.508");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007439 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.513 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02716, 0.02664, 0.02655, 0.02654, 0.02655, 0.02661, 0.02662, \
                 0.02657, 0.02662, 0.02659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02657, -0.02653, -0.02649, -0.02646, -0.02646, -0.02653, -0.02653, \
                 -0.02653, -0.02652, -0.02653");
        }
      }

      internal_power() {
        when : "!CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02634, 0.02568, 0.02545, 0.02536, 0.0254, 0.02539, 0.02539, \
                 0.02538, 0.02537, 0.02536");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02507, -0.02531, -0.02571, -0.02594, -0.02606, -0.0262, -0.02623, \
                 -0.02626, -0.02629, -0.02632");
        }
      }

      internal_power() {
        when : "CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02776, 0.02675, 0.02657, 0.02653, 0.02655, 0.02659, 0.02659, \
                 0.0266, 0.0266, 0.0266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02657, -0.02653, -0.0265, -0.02648, -0.02646, -0.02656, -0.02652, \
                 -0.02652, -0.02654, -0.02654");
        }
      }

      internal_power() {
        when : "CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02769, 0.02673, 0.02658, 0.02653, 0.02654, 0.0266, 0.0266, 0.0266, \
                 0.0266, 0.02662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02657, -0.02653, -0.0265, -0.02648, -0.02646, -0.02654, -0.02652, \
                 -0.02652, -0.02653, -0.02652");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : recovery_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.292, -0.302, -0.356, -0.426, -0.486, -0.537, -0.555, -0.561, -0.537, -0.486",\
                 "-0.3, -0.31, -0.361, -0.44, -0.502, -0.542, -0.561, -0.571, -0.547, -0.497",\
                 "-0.31, -0.326, -0.378, -0.45, -0.512, -0.557, -0.583, -0.59, -0.569, -0.519",\
                 "-0.292, -0.303, -0.361, -0.436, -0.506, -0.549, -0.575, -0.589, -0.565, -0.523",\
                 "-0.116, -0.123, -0.174, -0.264, -0.337, -0.389, -0.416, -0.441, -0.423, -0.379",\
                 "0.319, 0.312, 0.245, 0.162, 0.066, 0.011, -0.022, -0.056, -0.035, 0.007",\
                 "0.943, 0.947, 0.864, 0.765, 0.657, 0.601, 0.549, 0.511, 0.523, 0.567",\
                 "1.765, 1.765, 1.66, 1.572, 1.464, 1.362, 1.315, 1.265, 1.266, 1.308",\
                 "2.757, 2.762, 2.646, 2.531, 2.373, 2.299, 2.231, 2.191, 2.217, 2.244",\
                 "3.954, 3.946, 3.813, 3.685, 3.513, 3.42, 3.387, 3.312, 3.331, 3.383");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : removal_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.458, 0.473, 0.522, 0.599, 0.673, 0.727, 0.774, 0.791, 0.783, 0.757",\
                 "0.463, 0.476, 0.527, 0.613, 0.68, 0.736, 0.775, 0.792, 0.795, 0.759",\
                 "0.487, 0.504, 0.551, 0.631, 0.704, 0.762, 0.801, 0.82, 0.817, 0.783",\
                 "0.547, 0.563, 0.61, 0.69, 0.76, 0.812, 0.855, 0.87, 0.871, 0.837",\
                 "0.63, 0.648, 0.696, 0.771, 0.841, 0.898, 0.937, 0.953, 0.953, 0.928",\
                 "0.735, 0.749, 0.795, 0.877, 0.941, 0.993, 1.039, 1.059, 1.062, 1.041",\
                 "0.853, 0.87, 0.921, 0.993, 1.059, 1.11, 1.155, 1.188, 1.191, 1.175",\
                 "0.991, 1.005, 1.05, 1.128, 1.195, 1.249, 1.291, 1.322, 1.34, 1.326",\
                 "1.151, 1.163, 1.218, 1.287, 1.346, 1.406, 1.45, 1.489, 1.509, 1.503",\
                 "1.336, 1.353, 1.395, 1.464, 1.527, 1.585, 1.637, 1.675, 1.704, 1.704");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D" ;

        fall_constraint(scalar) {
          values("0.398");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D" ;

        fall_constraint(scalar) {
          values("0.398");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D" ;

        fall_constraint(scalar) {
          values("0.513");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D" ;

        fall_constraint(scalar) {
          values("0.513");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffrnq_4) {
    area : 87.808000 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN" ;
      value : "0.0002138796" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN" ;
      value : "0.0002139423" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN" ;
      value : "0.0002148069" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN" ;
      value : "0.0002621652" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN" ;
      value : "0.0002306436" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN" ;
      value : "0.00024981" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN" ;
      value : "0.0002316996" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN" ;
      value : "0.000339075" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000339075" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003347 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.987 ;
      min_pulse_width_high : 0.991 ;
      min_pulse_width_low : 0.696 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1236, 0.1232, 0.1239, 0.1295, 0.1412, 0.1597, 0.1859, 0.2199, \
                 0.2624, 0.3135");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1048, 0.1044, 0.1049, 0.1094, 0.1191, 0.1351, 0.158, 0.1881, \
                 0.2256, 0.2709");
        }
      }

      internal_power() {
        when : "!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1236, 0.1232, 0.1239, 0.1295, 0.1412, 0.1598, 0.1858, 0.22, \
                 0.2624, 0.3136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1044, 0.1048, 0.1095, 0.1191, 0.1351, 0.158, 0.188, \
                 0.2256, 0.2708");
        }
      }

      internal_power() {
        when : "D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1855, 0.1851, 0.1858, 0.1921, 0.2054, 0.2261, 0.2549, 0.2923, \
                 0.3386, 0.3941");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1951, 0.1948, 0.1952, 0.2008, 0.2124, 0.2308, 0.2568, 0.2906, \
                 0.3325, 0.3824");
        }
      }

      internal_power() {
        when : "D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1219, 0.1215, 0.1222, 0.1278, 0.1396, 0.1582, 0.1843, 0.2184, \
                 0.2609, 0.3121");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1006, 0.1003, 0.1007, 0.1053, 0.115, 0.1309, 0.1539, 0.1839, \
                 0.2214, 0.2667");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN" ;

        fall_constraint(scalar) {
          values("0.525");
        }

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN" ;

        fall_constraint(scalar) {
          values("0.696");
        }

        rise_constraint(scalar) {
          values("0.991");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN" ;

        rise_constraint(scalar) {
          values("1.272");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN" ;

        rise_constraint(scalar) {
          values("1.987");
        }
      }
    }

    pin(D) {
      capacitance : 0.002957 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1046, 0.1044, 0.1059, 0.1117, 0.1231, 0.1409, 0.1657, 0.1979, \
                 0.2378, 0.2859");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06712, 0.06683, 0.06777, 0.07223, 0.08119, 0.09588, 0.1167, \
                 0.1441, 0.1783, 0.2197");
        }
      }

      internal_power() {
        when : "!CLK&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1002, 0.1, 0.1015, 0.1073, 0.1186, 0.1364, 0.161, 0.1932, 0.2331, \
                 0.281");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06992, 0.06959, 0.07054, 0.07501, 0.08402, 0.09866, 0.1195, \
                 0.1468, 0.181, 0.2224");
        }
      }

      internal_power() {
        when : "CLK&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02806, 0.02762, 0.02996, 0.03707, 0.0495, 0.06774, 0.09223, \
                 0.1234, 0.1618, 0.2077");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003546, 0.003047, 0.004243, 0.009788, 0.0203, 0.03609, 0.05758, \
                 0.08505, 0.1189, 0.1594");
        }
      }

      internal_power() {
        when : "CLK&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02808, 0.02762, 0.02999, 0.03709, 0.0495, 0.06776, 0.09224, \
                 0.1235, 0.1618, 0.2077");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00352, 0.003026, 0.004274, 0.009771, 0.02029, 0.03611, 0.05757, \
                 0.08504, 0.1189, 0.1594");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.165, 0.211, 0.289, 0.345, 0.388, 0.411, 0.408, 0.385, 0.33",\
                 "0.135, 0.151, 0.195, 0.275, 0.332, 0.371, 0.398, 0.392, 0.37, 0.319",\
                 "0.079, 0.089, 0.142, 0.219, 0.278, 0.315, 0.339, 0.336, 0.313, 0.262",\
                 "-0.008, 0.013, 0.06, 0.138, 0.195, 0.235, 0.256, 0.249, 0.224, 0.171",\
                 "-0.107, -0.093, -0.043, 0.032, 0.095, 0.136, 0.148, 0.146, 0.121, 0.064",\
                 "-0.198, -0.188, -0.143, -0.081, -0.031, 0.011, 0.022, 0.014, -0.012, -0.071",\
                 "-0.285, -0.279, -0.23, -0.175, -0.13, -0.116, -0.113, -0.13, -0.163, -0.217",\
                 "-0.384, -0.38, -0.342, -0.29, -0.25, -0.225, -0.231, -0.275, -0.314, -0.382",\
                 "-0.505, -0.499, -0.462, -0.408, -0.368, -0.35, -0.364, -0.409, -0.459, -0.551",\
                 "-0.637, -0.639, -0.6, -0.551, -0.523, -0.497, -0.511, -0.559, -0.611, -0.711");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.132, -0.122, -0.084, -0.056, -0.042, -0.044, -0.061, -0.111, -0.18, -0.269",\
                 "-0.145, -0.136, -0.101, -0.062, -0.054, -0.054, -0.073, -0.122, -0.192, -0.284",\
                 "-0.195, -0.183, -0.141, -0.111, -0.096, -0.099, -0.114, -0.161, -0.233, -0.327",\
                 "-0.253, -0.237, -0.201, -0.168, -0.153, -0.153, -0.174, -0.219, -0.291, -0.383",\
                 "-0.3, -0.286, -0.251, -0.216, -0.195, -0.197, -0.224, -0.269, -0.334, -0.43",\
                 "-0.336, -0.324, -0.283, -0.242, -0.232, -0.232, -0.254, -0.306, -0.379, -0.472",\
                 "-0.344, -0.339, -0.293, -0.256, -0.244, -0.251, -0.274, -0.325, -0.399, -0.502",\
                 "-0.337, -0.327, -0.286, -0.249, -0.234, -0.242, -0.27, -0.326, -0.402, -0.501",\
                 "-0.298, -0.29, -0.247, -0.215, -0.206, -0.213, -0.245, -0.301, -0.382, -0.488",\
                 "-0.236, -0.225, -0.181, -0.148, -0.141, -0.155, -0.19, -0.248, -0.332, -0.445");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.195, 0.19, 0.144, 0.074, 0.027, -0.019, -0.04, -0.024, 0.57, 0.837",\
                 "0.213, 0.206, 0.16, 0.1, 0.038, 0, -0.022, -0.01, 0.593, 0.866",\
                 "0.281, 0.272, 0.228, 0.164, 0.105, 0.068, 0.051, 0.056, 0.647, 0.929",\
                 "0.408, 0.392, 0.346, 0.284, 0.228, 0.182, 0.164, 0.172, 0.213, 1.011",\
                 "0.561, 0.548, 0.504, 0.433, 0.377, 0.338, 0.322, 0.321, 0.362, 1.134",\
                 "0.745, 0.736, 0.692, 0.622, 0.565, 0.524, 0.497, 0.508, 0.536, 0.615",\
                 "0.968, 0.955, 0.909, 0.835, 0.782, 0.743, 0.719, 0.725, 0.753, 1.295",\
                 "1.21, 1.198, 1.15, 1.084, 1.027, 0.991, 0.973, 0.967, 0.996, 1.06",\
                 "1.476, 1.469, 1.421, 1.351, 1.303, 1.261, 1.244, 1.245, 1.276, 1.334",\
                 "1.777, 1.76, 1.715, 1.648, 1.601, 1.565, 1.546, 1.557, 1.584, 1.638");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.464, 0.443, 0.39, 0.311, 0.251, 0.222, 0.221, 0.247, 0.307, 0.394",\
                 "0.479, 0.46, 0.403, 0.322, 0.262, 0.236, 0.236, 0.259, 0.32, 0.404",\
                 "0.522, 0.503, 0.449, 0.367, 0.314, 0.278, 0.278, 0.305, 0.365, 0.446",\
                 "0.59, 0.575, 0.515, 0.437, 0.375, 0.343, 0.344, 0.366, 0.422, 0.507",\
                 "0.658, 0.641, 0.582, 0.496, 0.431, 0.399, 0.396, 0.417, 0.476, 0.562",\
                 "0.699, 0.683, 0.628, 0.542, 0.486, 0.443, 0.436, 0.457, 0.515, 0.602",\
                 "0.732, 0.724, 0.665, 0.585, 0.514, 0.48, 0.468, 0.491, 0.546, 0.631",\
                 "0.75, 0.738, 0.678, 0.603, 0.531, 0.494, 0.485, 0.504, 0.557, 0.646",\
                 "0.751, 0.731, 0.677, 0.6, 0.528, 0.486, 0.47, 0.496, 0.552, 0.632",\
                 "0.721, 0.701, 0.643, 0.563, 0.499, 0.453, 0.44, 0.456, 0.512, 0.599");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.433 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3024, 0.2904, 0.2755, 0.2689, 0.2658, 0.2641, 0.263, 0.2623, 0.2619, 0.2616",\
                 "0.3024, 0.2903, 0.2754, 0.2689, 0.2657, 0.264, 0.2629, 0.2623, 0.2618, 0.2615",\
                 "0.3025, 0.2904, 0.2755, 0.2689, 0.2658, 0.264, 0.263, 0.2624, 0.2619, 0.2616",\
                 "0.3029, 0.2908, 0.2758, 0.2693, 0.2662, 0.2645, 0.2634, 0.2627, 0.2623, 0.262",\
                 "0.3036, 0.2914, 0.2766, 0.2701, 0.267, 0.2652, 0.2642, 0.2635, 0.2631, 0.2628",\
                 "0.3045, 0.2924, 0.2777, 0.2709, 0.2679, 0.2661, 0.265, 0.2643, 0.2639, 0.2636",\
                 "0.3055, 0.2933, 0.2787, 0.2719, 0.2688, 0.2671, 0.2659, 0.2652, 0.2648, 0.2645",\
                 "0.3067, 0.2946, 0.2798, 0.2731, 0.2699, 0.2682, 0.2672, 0.2665, 0.266, 0.2656",\
                 "0.3079, 0.2957, 0.2811, 0.2742, 0.2711, 0.2694, 0.2682, 0.2675, 0.2671, 0.2668",\
                 "0.3092, 0.2968, 0.2822, 0.2755, 0.2724, 0.2707, 0.2696, 0.2689, 0.2684, 0.2681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3595, 0.3402, 0.3162, 0.3025, 0.2936, 0.2908, 0.2897, 0.2919, 0.2924, 0.3138",\
                 "0.3594, 0.3405, 0.3162, 0.3017, 0.2936, 0.2901, 0.2907, 0.2916, 0.2924, 0.313",\
                 "0.3594, 0.3402, 0.3162, 0.3017, 0.2941, 0.2903, 0.2899, 0.2898, 0.292, 0.3158",\
                 "0.3594, 0.3404, 0.3163, 0.3024, 0.2942, 0.291, 0.2899, 0.2895, 0.2937, 0.3162",\
                 "0.3598, 0.3407, 0.3167, 0.302, 0.2943, 0.2919, 0.2915, 0.2911, 0.2933, 0.3188",\
                 "0.3602, 0.3409, 0.3176, 0.3028, 0.2949, 0.2914, 0.2911, 0.2912, 0.2949, 0.3266",\
                 "0.3613, 0.3425, 0.3183, 0.3038, 0.2964, 0.2926, 0.2919, 0.293, 0.2962, 0.3357",\
                 "0.3626, 0.3433, 0.3191, 0.3041, 0.2961, 0.2952, 0.2948, 0.2949, 0.299, 0.3509",\
                 "0.3644, 0.3455, 0.3211, 0.3071, 0.2972, 0.2937, 0.2956, 0.2984, 0.3056, 0.3761",\
                 "0.3665, 0.3473, 0.3233, 0.309, 0.2997, 0.2946, 0.2945, 0.2996, 0.3152, 0.4283");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3056, 0.2938, 0.2799, 0.2733, 0.2701, 0.2683, 0.2671, 0.2664, 0.266, 0.2657",\
                 "0.3056, 0.294, 0.2798, 0.2733, 0.2702, 0.2683, 0.2672, 0.2665, 0.2661, 0.2657",\
                 "0.306, 0.2944, 0.28, 0.2735, 0.2704, 0.2686, 0.2676, 0.2669, 0.2665, 0.2662",\
                 "0.3174, 0.3047, 0.2877, 0.2793, 0.2753, 0.2731, 0.2718, 0.271, 0.2705, 0.2702",\
                 "0.3538, 0.3376, 0.3131, 0.2989, 0.2914, 0.2872, 0.2847, 0.2831, 0.2821, 0.2814",\
                 "0.4031, 0.3836, 0.3506, 0.3295, 0.3177, 0.3105, 0.3061, 0.3033, 0.3016, 0.3004",\
                 "0.4646, 0.442, 0.4005, 0.3718, 0.3542, 0.3435, 0.3366, 0.332, 0.3291, 0.3271",\
                 "0.5358, 0.5104, 0.4603, 0.4237, 0.3997, 0.3844, 0.3744, 0.3678, 0.3634, 0.3603",\
                 "0.615, 0.587, 0.5285, 0.4841, 0.4538, 0.4332, 0.4197, 0.4104, 0.4042, 0.3998",\
                 "0.7008, 0.6699, 0.6038, 0.5515, 0.5142, 0.4886, 0.471, 0.4588, 0.4504, 0.4445");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3056, 0.2938, 0.2799, 0.2733, 0.2701, 0.2683, 0.2671, 0.2664, 0.266, 0.2657",\
                 "0.3056, 0.294, 0.2798, 0.2733, 0.2702, 0.2683, 0.2672, 0.2665, 0.2661, 0.2657",\
                 "0.306, 0.2944, 0.28, 0.2735, 0.2704, 0.2686, 0.2676, 0.2669, 0.2665, 0.2662",\
                 "0.3174, 0.3047, 0.2877, 0.2793, 0.2753, 0.2731, 0.2718, 0.271, 0.2705, 0.2702",\
                 "0.3538, 0.3376, 0.3131, 0.2989, 0.2914, 0.2872, 0.2847, 0.2831, 0.2821, 0.2814",\
                 "0.4031, 0.3836, 0.3506, 0.3295, 0.3177, 0.3105, 0.3061, 0.3033, 0.3016, 0.3004",\
                 "0.4646, 0.442, 0.4005, 0.3718, 0.3542, 0.3435, 0.3366, 0.332, 0.3291, 0.3271",\
                 "0.5358, 0.5104, 0.4603, 0.4237, 0.3997, 0.3844, 0.3744, 0.3678, 0.3634, 0.3603",\
                 "0.615, 0.587, 0.5285, 0.4841, 0.4538, 0.4332, 0.4197, 0.4104, 0.4042, 0.3998",\
                 "0.7008, 0.6699, 0.6038, 0.5515, 0.5142, 0.4886, 0.471, 0.4588, 0.4504, 0.4445");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3133, 0.3017, 0.2877, 0.2811, 0.2779, 0.276, 0.2749, 0.2742, 0.2738, 0.2735",\
                 "0.3137, 0.3021, 0.2878, 0.2814, 0.2783, 0.2764, 0.2752, 0.2746, 0.2741, 0.2738",\
                 "0.3141, 0.3023, 0.2879, 0.2815, 0.2784, 0.2767, 0.2756, 0.2749, 0.2745, 0.2742",\
                 "0.3255, 0.3128, 0.2959, 0.2874, 0.2834, 0.2812, 0.2799, 0.2791, 0.2786, 0.2782",\
                 "0.3618, 0.3456, 0.3211, 0.307, 0.2995, 0.2953, 0.2928, 0.2912, 0.2902, 0.2895",\
                 "0.4111, 0.3917, 0.3588, 0.3377, 0.3257, 0.3186, 0.3142, 0.3115, 0.3096, 0.3084",\
                 "0.4726, 0.4501, 0.4082, 0.3799, 0.3622, 0.3513, 0.3445, 0.34, 0.3371, 0.335",\
                 "0.5438, 0.5181, 0.4682, 0.4316, 0.4078, 0.3925, 0.3826, 0.376, 0.3714, 0.3682",\
                 "0.6229, 0.5949, 0.5364, 0.4919, 0.4617, 0.4413, 0.4277, 0.4186, 0.4124, 0.4079",\
                 "0.7082, 0.6776, 0.6119, 0.5594, 0.5223, 0.4966, 0.4789, 0.4669, 0.4585, 0.4526");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3133, 0.3017, 0.2877, 0.2811, 0.2779, 0.276, 0.2749, 0.2742, 0.2738, 0.2735",\
                 "0.3137, 0.3021, 0.2878, 0.2814, 0.2783, 0.2764, 0.2752, 0.2746, 0.2741, 0.2738",\
                 "0.3141, 0.3023, 0.2879, 0.2815, 0.2784, 0.2767, 0.2756, 0.2749, 0.2745, 0.2742",\
                 "0.3255, 0.3128, 0.2959, 0.2874, 0.2834, 0.2812, 0.2799, 0.2791, 0.2786, 0.2782",\
                 "0.3618, 0.3456, 0.3211, 0.307, 0.2995, 0.2953, 0.2928, 0.2912, 0.2902, 0.2895",\
                 "0.4111, 0.3917, 0.3588, 0.3377, 0.3257, 0.3186, 0.3142, 0.3115, 0.3096, 0.3084",\
                 "0.4726, 0.4501, 0.4082, 0.3799, 0.3622, 0.3513, 0.3445, 0.34, 0.3371, 0.335",\
                 "0.5438, 0.5181, 0.4682, 0.4316, 0.4078, 0.3925, 0.3826, 0.376, 0.3714, 0.3682",\
                 "0.6229, 0.5949, 0.5364, 0.4919, 0.4617, 0.4413, 0.4277, 0.4186, 0.4124, 0.4079",\
                 "0.7082, 0.6776, 0.6119, 0.5594, 0.5223, 0.4966, 0.4789, 0.4669, 0.4585, 0.4526");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3996, 0.3879, 0.3735, 0.367, 0.3637, 0.3618, 0.3606, 0.3599, 0.3594, 0.3591",\
                 "0.3999, 0.3882, 0.3737, 0.3674, 0.3641, 0.3621, 0.361, 0.3602, 0.3598, 0.3595",\
                 "0.4005, 0.3886, 0.374, 0.3675, 0.3643, 0.3624, 0.3613, 0.3606, 0.3602, 0.3598",\
                 "0.4146, 0.4016, 0.3843, 0.3757, 0.3716, 0.3693, 0.3679, 0.3671, 0.3666, 0.3662",\
                 "0.4587, 0.4421, 0.4171, 0.4029, 0.3952, 0.3909, 0.3883, 0.3866, 0.3856, 0.3848",\
                 "0.5223, 0.5025, 0.4691, 0.4477, 0.4354, 0.4281, 0.4237, 0.4208, 0.419, 0.4176",\
                 "0.6035, 0.5809, 0.5389, 0.51, 0.4921, 0.4809, 0.4739, 0.4693, 0.4662, 0.4642",\
                 "0.6997, 0.6747, 0.6246, 0.5876, 0.5635, 0.5477, 0.5376, 0.5308, 0.5262, 0.5229",\
                 "0.809, 0.782, 0.7244, 0.6789, 0.648, 0.6271, 0.6132, 0.6038, 0.5973, 0.5926",\
                 "0.9312, 0.9024, 0.8377, 0.7833, 0.7452, 0.7185, 0.7003, 0.6876, 0.6788, 0.6725");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3996, 0.3879, 0.3735, 0.367, 0.3637, 0.3618, 0.3606, 0.3599, 0.3594, 0.3591",\
                 "0.3999, 0.3882, 0.3737, 0.3674, 0.3641, 0.3621, 0.361, 0.3602, 0.3598, 0.3595",\
                 "0.4005, 0.3886, 0.374, 0.3675, 0.3643, 0.3624, 0.3613, 0.3606, 0.3602, 0.3598",\
                 "0.4146, 0.4016, 0.3843, 0.3757, 0.3716, 0.3693, 0.3679, 0.3671, 0.3666, 0.3662",\
                 "0.4587, 0.4421, 0.4171, 0.4029, 0.3952, 0.3909, 0.3883, 0.3866, 0.3856, 0.3848",\
                 "0.5223, 0.5025, 0.4691, 0.4477, 0.4354, 0.4281, 0.4237, 0.4208, 0.419, 0.4176",\
                 "0.6035, 0.5809, 0.5389, 0.51, 0.4921, 0.4809, 0.4739, 0.4693, 0.4662, 0.4642",\
                 "0.6997, 0.6747, 0.6246, 0.5876, 0.5635, 0.5477, 0.5376, 0.5308, 0.5262, 0.5229",\
                 "0.809, 0.782, 0.7244, 0.6789, 0.648, 0.6271, 0.6132, 0.6038, 0.5973, 0.5926",\
                 "0.9312, 0.9024, 0.8377, 0.7833, 0.7452, 0.7185, 0.7003, 0.6876, 0.6788, 0.6725");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3996, 0.388, 0.3735, 0.367, 0.3638, 0.3619, 0.3607, 0.3599, 0.3595, 0.3592",\
                 "0.4, 0.3883, 0.3738, 0.3674, 0.3641, 0.3621, 0.361, 0.3603, 0.3598, 0.3595",\
                 "0.4004, 0.3886, 0.374, 0.3675, 0.3642, 0.3624, 0.3613, 0.3606, 0.3601, 0.3598",\
                 "0.4145, 0.4015, 0.3842, 0.3758, 0.3716, 0.3693, 0.3679, 0.3671, 0.3666, 0.3662",\
                 "0.4586, 0.4421, 0.4172, 0.4028, 0.3952, 0.3908, 0.3882, 0.3866, 0.3855, 0.3847",\
                 "0.5226, 0.5028, 0.4691, 0.4478, 0.4355, 0.4281, 0.4237, 0.4209, 0.419, 0.4177",\
                 "0.6036, 0.5809, 0.5388, 0.51, 0.4921, 0.481, 0.474, 0.4692, 0.4662, 0.4641",\
                 "0.6997, 0.6748, 0.6246, 0.5877, 0.5635, 0.5478, 0.5376, 0.5309, 0.5263, 0.523",\
                 "0.8092, 0.7821, 0.7245, 0.679, 0.6481, 0.6273, 0.6133, 0.6038, 0.5973, 0.5927",\
                 "0.9311, 0.9023, 0.8376, 0.7832, 0.7451, 0.7186, 0.7003, 0.6876, 0.6788, 0.6724");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3996, 0.388, 0.3735, 0.367, 0.3638, 0.3619, 0.3607, 0.3599, 0.3595, 0.3592",\
                 "0.4, 0.3883, 0.3738, 0.3674, 0.3641, 0.3621, 0.361, 0.3603, 0.3598, 0.3595",\
                 "0.4004, 0.3886, 0.374, 0.3675, 0.3642, 0.3624, 0.3613, 0.3606, 0.3601, 0.3598",\
                 "0.4145, 0.4015, 0.3842, 0.3758, 0.3716, 0.3693, 0.3679, 0.3671, 0.3666, 0.3662",\
                 "0.4586, 0.4421, 0.4172, 0.4028, 0.3952, 0.3908, 0.3882, 0.3866, 0.3855, 0.3847",\
                 "0.5226, 0.5028, 0.4691, 0.4478, 0.4355, 0.4281, 0.4237, 0.4209, 0.419, 0.4177",\
                 "0.6036, 0.5809, 0.5388, 0.51, 0.4921, 0.481, 0.474, 0.4692, 0.4662, 0.4641",\
                 "0.6997, 0.6748, 0.6246, 0.5877, 0.5635, 0.5478, 0.5376, 0.5309, 0.5263, 0.523",\
                 "0.8092, 0.7821, 0.7245, 0.679, 0.6481, 0.6273, 0.6133, 0.6038, 0.5973, 0.5927",\
                 "0.9311, 0.9023, 0.8376, 0.7832, 0.7451, 0.7186, 0.7003, 0.6876, 0.6788, 0.6724");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("1.07, 1.115, 1.227, 1.384, 1.59, 1.864, 2.219, 2.666, 3.212, 3.862",\
                 "1.083, 1.129, 1.241, 1.397, 1.604, 1.877, 2.233, 2.68, 3.225, 3.876",\
                 "1.134, 1.179, 1.291, 1.448, 1.654, 1.928, 2.283, 2.73, 3.275, 3.926",\
                 "1.215, 1.26, 1.372, 1.529, 1.735, 2.009, 2.364, 2.811, 3.357, 4.007",\
                 "1.285, 1.331, 1.443, 1.599, 1.806, 2.079, 2.435, 2.882, 3.427, 4.078",\
                 "1.341, 1.386, 1.498, 1.655, 1.861, 2.135, 2.49, 2.937, 3.483, 4.133",\
                 "1.379, 1.424, 1.536, 1.693, 1.9, 2.173, 2.528, 2.975, 3.52, 4.172",\
                 "1.396, 1.441, 1.553, 1.709, 1.916, 2.189, 2.545, 2.991, 3.537, 4.187",\
                 "1.387, 1.432, 1.544, 1.701, 1.907, 2.181, 2.536, 2.983, 3.528, 4.179",\
                 "1.352, 1.397, 1.509, 1.666, 1.872, 2.146, 2.501, 2.948, 3.493, 4.144");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("1.399, 1.459, 1.619, 1.871, 2.228, 2.717, 3.359, 4.169, 5.158, 6.338",\
                 "1.412, 1.472, 1.632, 1.885, 2.242, 2.731, 3.373, 4.183, 5.171, 6.351",\
                 "1.462, 1.522, 1.682, 1.934, 2.291, 2.78, 3.423, 4.232, 5.221, 6.401",\
                 "1.541, 1.601, 1.761, 2.013, 2.37, 2.859, 3.502, 4.311, 5.301, 6.481",\
                 "1.61, 1.671, 1.831, 2.083, 2.44, 2.929, 3.571, 4.381, 5.369, 6.547",\
                 "1.665, 1.725, 1.886, 2.138, 2.495, 2.984, 3.626, 4.436, 5.425, 6.606",\
                 "1.705, 1.765, 1.925, 2.177, 2.534, 3.023, 3.665, 4.475, 5.463, 6.642",\
                 "1.724, 1.784, 1.944, 2.197, 2.553, 3.042, 3.684, 4.493, 5.484, 6.664",\
                 "1.721, 1.781, 1.941, 2.194, 2.55, 3.039, 3.681, 4.49, 5.479, 6.657",\
                 "1.692, 1.752, 1.913, 2.165, 2.522, 3.011, 3.653, 4.462, 5.451, 6.629");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.122, 0.1648, 0.2772, 0.4584, 0.7494, 1.182, 1.771, 2.52, 3.438, 4.532",\
                 "0.1222, 0.1646, 0.2772, 0.4586, 0.7498, 1.181, 1.771, 2.521, 3.438, 4.529",\
                 "0.122, 0.1648, 0.277, 0.4592, 0.7502, 1.181, 1.771, 2.52, 3.438, 4.529",\
                 "0.1224, 0.1646, 0.2772, 0.4582, 0.7488, 1.182, 1.771, 2.52, 3.439, 4.531",\
                 "0.1222, 0.1644, 0.277, 0.4588, 0.7488, 1.181, 1.771, 2.521, 3.438, 4.528",\
                 "0.1222, 0.1646, 0.277, 0.4582, 0.7488, 1.181, 1.77, 2.519, 3.438, 4.534",\
                 "0.122, 0.1646, 0.277, 0.4584, 0.7498, 1.181, 1.768, 2.519, 3.437, 4.527",\
                 "0.122, 0.1644, 0.2774, 0.4584, 0.7494, 1.183, 1.77, 2.518, 3.431, 4.525",\
                 "0.1222, 0.1644, 0.2772, 0.459, 0.7494, 1.183, 1.768, 2.518, 3.431, 4.523",\
                 "0.1222, 0.1646, 0.277, 0.4594, 0.7484, 1.182, 1.77, 2.52, 3.432, 4.526");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.1718, 0.2364, 0.4422, 0.8026, 1.38, 2.223, 3.357, 4.788, 6.525, 8.607",\
                 "0.173, 0.237, 0.4426, 0.8024, 1.38, 2.225, 3.357, 4.788, 6.525, 8.61",\
                 "0.1724, 0.2364, 0.443, 0.8028, 1.38, 2.225, 3.354, 4.786, 6.525, 8.607",\
                 "0.1726, 0.2376, 0.4422, 0.8032, 1.381, 2.225, 3.351, 4.783, 6.525, 8.606",\
                 "0.1732, 0.2376, 0.4428, 0.8026, 1.381, 2.223, 3.357, 4.782, 6.533, 8.607",\
                 "0.172, 0.2368, 0.4422, 0.8024, 1.381, 2.222, 3.353, 4.785, 6.526, 8.605",\
                 "0.1716, 0.2366, 0.4424, 0.8028, 1.38, 2.225, 3.357, 4.782, 6.533, 8.605",\
                 "0.1718, 0.2364, 0.4416, 0.8034, 1.379, 2.223, 3.351, 4.784, 6.525, 8.621",\
                 "0.1724, 0.2378, 0.4432, 0.8022, 1.38, 2.224, 3.354, 4.779, 6.52, 8.614",\
                 "0.1722, 0.2368, 0.4424, 0.8024, 1.38, 2.222, 3.354, 4.776, 6.519, 8.601");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3694, 0.416, 0.5288, 0.6864, 0.8897, 1.16, 1.514, 1.96, 2.505, 3.156",\
                 "0.3871, 0.4338, 0.5467, 0.704, 0.9074, 1.178, 1.532, 1.978, 2.523, 3.174",\
                 "0.4529, 0.4994, 0.6122, 0.7695, 0.9729, 1.243, 1.597, 2.043, 2.588, 3.239",\
                 "0.5817, 0.6282, 0.7403, 0.8973, 1.1, 1.371, 1.724, 2.17, 2.716, 3.367",\
                 "0.7434, 0.7946, 0.9135, 1.074, 1.277, 1.546, 1.899, 2.345, 2.89, 3.541",\
                 "0.9147, 0.971, 1.099, 1.268, 1.473, 1.74, 2.092, 2.538, 3.082, 3.732",\
                 "1.096, 1.157, 1.296, 1.473, 1.678, 1.944, 2.295, 2.739, 3.283, 3.932",\
                 "1.286, 1.352, 1.502, 1.686, 1.892, 2.157, 2.506, 2.949, 3.492, 4.14",\
                 "1.486, 1.556, 1.716, 1.909, 2.115, 2.378, 2.725, 3.167, 3.708, 4.356",\
                 "1.694, 1.768, 1.938, 2.14, 2.346, 2.606, 2.951, 3.39, 3.931, 4.577");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.124, 0.1669, 0.278, 0.4551, 0.7361, 1.168, 1.758, 2.508, 3.427, 4.521",\
                 "0.124, 0.1671, 0.2781, 0.4552, 0.736, 1.168, 1.759, 2.51, 3.429, 4.52",\
                 "0.124, 0.1669, 0.2782, 0.4552, 0.7357, 1.167, 1.758, 2.51, 3.429, 4.519",\
                 "0.1282, 0.1704, 0.2808, 0.4562, 0.7362, 1.168, 1.759, 2.51, 3.43, 4.519",\
                 "0.157, 0.2004, 0.3048, 0.4692, 0.7388, 1.168, 1.759, 2.509, 3.429, 4.52",\
                 "0.187, 0.2336, 0.3396, 0.4954, 0.7482, 1.17, 1.759, 2.508, 3.427, 4.519",\
                 "0.22, 0.2712, 0.3794, 0.5214, 0.7574, 1.173, 1.759, 2.508, 3.427, 4.52",\
                 "0.2562, 0.3106, 0.4234, 0.5504, 0.7668, 1.175, 1.762, 2.509, 3.423, 4.517",\
                 "0.2922, 0.3518, 0.4696, 0.5808, 0.7774, 1.177, 1.763, 2.51, 3.424, 4.514",\
                 "0.3304, 0.3924, 0.5156, 0.6122, 0.788, 1.179, 1.762, 2.51, 3.424, 4.516");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3694, 0.4161, 0.5288, 0.6863, 0.8897, 1.16, 1.514, 1.96, 2.506, 3.156",\
                 "0.3872, 0.4337, 0.5466, 0.704, 0.9074, 1.178, 1.532, 1.978, 2.523, 3.173",\
                 "0.4529, 0.4995, 0.6122, 0.7696, 0.9729, 1.243, 1.597, 2.043, 2.589, 3.239",\
                 "0.5818, 0.6283, 0.7403, 0.8974, 1.101, 1.371, 1.724, 2.17, 2.716, 3.367",\
                 "0.7433, 0.7944, 0.9133, 1.074, 1.277, 1.546, 1.899, 2.345, 2.89, 3.541",\
                 "0.9149, 0.9709, 1.1, 1.268, 1.473, 1.741, 2.093, 2.538, 3.082, 3.733",\
                 "1.096, 1.157, 1.296, 1.473, 1.678, 1.944, 2.295, 2.739, 3.283, 3.932",\
                 "1.286, 1.352, 1.502, 1.687, 1.892, 2.157, 2.506, 2.949, 3.492, 4.14",\
                 "1.486, 1.556, 1.716, 1.909, 2.115, 2.378, 2.725, 3.167, 3.708, 4.356",\
                 "1.694, 1.768, 1.939, 2.14, 2.346, 2.606, 2.951, 3.391, 3.931, 4.578");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.1239, 0.167, 0.2782, 0.4551, 0.7353, 1.167, 1.757, 2.509, 3.427, 4.525",\
                 "0.1239, 0.1673, 0.2782, 0.4552, 0.7359, 1.168, 1.759, 2.51, 3.429, 4.522",\
                 "0.1243, 0.1669, 0.2782, 0.4551, 0.7358, 1.168, 1.759, 2.507, 3.425, 4.522",\
                 "0.1281, 0.1704, 0.2808, 0.4562, 0.7362, 1.167, 1.757, 2.51, 3.427, 4.525",\
                 "0.1568, 0.2002, 0.3052, 0.4694, 0.7392, 1.168, 1.759, 2.509, 3.429, 4.522",\
                 "0.1864, 0.2344, 0.3398, 0.4956, 0.748, 1.17, 1.76, 2.508, 3.428, 4.522",\
                 "0.2204, 0.2716, 0.3794, 0.5216, 0.7574, 1.173, 1.759, 2.507, 3.426, 4.522",\
                 "0.2562, 0.3112, 0.4238, 0.55, 0.767, 1.176, 1.762, 2.508, 3.423, 4.513",\
                 "0.2936, 0.351, 0.47, 0.5818, 0.7774, 1.178, 1.763, 2.508, 3.423, 4.514",\
                 "0.3306, 0.3932, 0.5162, 0.6122, 0.7878, 1.181, 1.763, 2.509, 3.427, 4.515");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3693, 0.416, 0.5302, 0.6882, 0.8958, 1.169, 1.523, 1.969, 2.514, 3.164",\
                 "0.387, 0.4338, 0.5479, 0.7059, 0.9135, 1.187, 1.541, 1.987, 2.532, 3.182",\
                 "0.4528, 0.4995, 0.6135, 0.7715, 0.9789, 1.252, 1.606, 2.052, 2.597, 3.247",\
                 "0.5819, 0.6287, 0.742, 0.8998, 1.106, 1.378, 1.732, 2.177, 2.722, 3.373",\
                 "0.7442, 0.7956, 0.916, 1.078, 1.282, 1.552, 1.905, 2.351, 2.896, 3.546",\
                 "0.9163, 0.973, 1.103, 1.272, 1.478, 1.747, 2.099, 2.544, 3.088, 3.737",\
                 "1.098, 1.16, 1.301, 1.478, 1.685, 1.952, 2.303, 2.748, 3.291, 3.94",\
                 "1.288, 1.355, 1.507, 1.695, 1.906, 2.172, 2.521, 2.964, 3.508, 4.156",\
                 "1.486, 1.558, 1.722, 1.924, 2.141, 2.407, 2.754, 3.196, 3.738, 4.386",\
                 "1.693, 1.769, 1.946, 2.163, 2.392, 2.658, 3.003, 3.444, 3.984, 4.631");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.1235, 0.1674, 0.2798, 0.4608, 0.7492, 1.176, 1.759, 2.509, 3.427, 4.52",\
                 "0.1235, 0.1676, 0.28, 0.4608, 0.7486, 1.176, 1.759, 2.508, 3.426, 4.523",\
                 "0.1238, 0.1676, 0.28, 0.4609, 0.7479, 1.174, 1.759, 2.508, 3.427, 4.523",\
                 "0.1283, 0.1716, 0.2824, 0.4616, 0.7448, 1.172, 1.76, 2.51, 3.424, 4.518",\
                 "0.1576, 0.2018, 0.3066, 0.4736, 0.7444, 1.17, 1.758, 2.509, 3.424, 4.519",\
                 "0.1884, 0.2366, 0.342, 0.4978, 0.751, 1.171, 1.758, 2.509, 3.424, 4.52",\
                 "0.223, 0.275, 0.3824, 0.5254, 0.7614, 1.174, 1.76, 2.507, 3.425, 4.522",\
                 "0.2592, 0.3164, 0.4294, 0.563, 0.7768, 1.178, 1.763, 2.509, 3.422, 4.517",\
                 "0.2982, 0.3606, 0.4816, 0.6124, 0.8024, 1.184, 1.762, 2.511, 3.424, 4.514",\
                 "0.3374, 0.4056, 0.5374, 0.6748, 0.8416, 1.195, 1.764, 2.51, 3.425, 4.517");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3692, 0.416, 0.5302, 0.6882, 0.8958, 1.169, 1.523, 1.969, 2.514, 3.164",\
                 "0.387, 0.4338, 0.5479, 0.7059, 0.9135, 1.187, 1.541, 1.987, 2.532, 3.181",\
                 "0.4528, 0.4995, 0.6135, 0.7715, 0.9789, 1.252, 1.606, 2.052, 2.597, 3.247",\
                 "0.5819, 0.6287, 0.742, 0.8997, 1.106, 1.378, 1.731, 2.177, 2.722, 3.373",\
                 "0.7442, 0.7956, 0.9159, 1.078, 1.282, 1.552, 1.905, 2.351, 2.896, 3.546",\
                 "0.9163, 0.973, 1.103, 1.272, 1.478, 1.747, 2.099, 2.544, 3.088, 3.737",\
                 "1.098, 1.16, 1.3, 1.478, 1.685, 1.952, 2.303, 2.748, 3.291, 3.94",\
                 "1.287, 1.354, 1.507, 1.696, 1.906, 2.172, 2.521, 2.964, 3.508, 4.156",\
                 "1.486, 1.557, 1.722, 1.924, 2.141, 2.407, 2.754, 3.196, 3.738, 4.386",\
                 "1.693, 1.769, 1.946, 2.163, 2.392, 2.658, 3.003, 3.443, 3.984, 4.631");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.1233, 0.1675, 0.2798, 0.4608, 0.7489, 1.175, 1.759, 2.508, 3.423, 4.517",\
                 "0.1235, 0.1676, 0.28, 0.4608, 0.7486, 1.176, 1.759, 2.508, 3.427, 4.52",\
                 "0.1238, 0.1676, 0.28, 0.4609, 0.7477, 1.174, 1.759, 2.508, 3.427, 4.522",\
                 "0.1283, 0.1718, 0.2826, 0.4616, 0.745, 1.172, 1.76, 2.51, 3.424, 4.518",\
                 "0.1568, 0.2018, 0.3068, 0.4734, 0.7438, 1.17, 1.759, 2.508, 3.427, 4.521",\
                 "0.1884, 0.2368, 0.342, 0.4978, 0.7512, 1.171, 1.759, 2.509, 3.425, 4.52",\
                 "0.2222, 0.2748, 0.3824, 0.5254, 0.7616, 1.174, 1.759, 2.508, 3.426, 4.52",\
                 "0.259, 0.3164, 0.4294, 0.5628, 0.7768, 1.178, 1.762, 2.51, 3.423, 4.516",\
                 "0.2982, 0.36, 0.4818, 0.6124, 0.8014, 1.185, 1.762, 2.51, 3.423, 4.514",\
                 "0.3368, 0.406, 0.5372, 0.6746, 0.8412, 1.195, 1.765, 2.51, 3.426, 4.517");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.3693, 0.416, 0.5302, 0.6882, 0.8958, 1.169, 1.523, 1.969, 2.514, 3.164",\
                 "0.387, 0.4338, 0.5479, 0.7059, 0.9135, 1.187, 1.541, 1.987, 2.532, 3.182",\
                 "0.4528, 0.4995, 0.6135, 0.7715, 0.9789, 1.252, 1.606, 2.052, 2.597, 3.247",\
                 "0.5819, 0.6287, 0.742, 0.8998, 1.106, 1.378, 1.732, 2.177, 2.722, 3.373",\
                 "0.7442, 0.7956, 0.916, 1.078, 1.282, 1.552, 1.905, 2.351, 2.896, 3.546",\
                 "0.9163, 0.973, 1.103, 1.272, 1.478, 1.747, 2.099, 2.544, 3.088, 3.737",\
                 "1.098, 1.16, 1.301, 1.478, 1.685, 1.952, 2.303, 2.748, 3.291, 3.94",\
                 "1.288, 1.355, 1.507, 1.695, 1.906, 2.172, 2.521, 2.964, 3.508, 4.156",\
                 "1.486, 1.558, 1.722, 1.924, 2.141, 2.407, 2.754, 3.196, 3.738, 4.386",\
                 "1.693, 1.769, 1.946, 2.163, 2.392, 2.658, 3.003, 3.444, 3.984, 4.631");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01088, 0.04558, 0.1118, 0.2151, 0.3599, 0.5505, 0.7906, 1.084, 1.433");
          values("0.1239, 0.167, 0.2782, 0.4551, 0.7353, 1.167, 1.757, 2.509, 3.427, 4.525",\
                 "0.1239, 0.1673, 0.2782, 0.4552, 0.7359, 1.168, 1.759, 2.51, 3.429, 4.522",\
                 "0.1243, 0.1669, 0.2782, 0.4551, 0.7358, 1.168, 1.759, 2.507, 3.425, 4.522",\
                 "0.1281, 0.1704, 0.2808, 0.4562, 0.7362, 1.167, 1.757, 2.51, 3.427, 4.525",\
                 "0.1568, 0.2002, 0.3052, 0.4694, 0.7392, 1.168, 1.759, 2.509, 3.429, 4.522",\
                 "0.1864, 0.2344, 0.3398, 0.4956, 0.748, 1.17, 1.76, 2.508, 3.428, 4.522",\
                 "0.2204, 0.2716, 0.3794, 0.5216, 0.7574, 1.173, 1.759, 2.507, 3.426, 4.522",\
                 "0.2562, 0.3112, 0.4238, 0.55, 0.767, 1.176, 1.762, 2.508, 3.423, 4.513",\
                 "0.2936, 0.351, 0.47, 0.5818, 0.7774, 1.178, 1.763, 2.508, 3.423, 4.514",\
                 "0.3306, 0.3932, 0.5162, 0.6122, 0.7878, 1.181, 1.763, 2.509, 3.427, 4.515");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007435 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.518 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02716, 0.02665, 0.02656, 0.02654, 0.02654, 0.02659, 0.0266, \
                 0.02659, 0.02661, 0.0266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02658, -0.02654, -0.02649, -0.02648, -0.02647, -0.02654, -0.02652, \
                 -0.02654, -0.02652, -0.02652");
        }
      }

      internal_power() {
        when : "!CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02635, 0.02568, 0.02546, 0.02538, 0.02538, 0.0254, 0.02538, \
                 0.02538, 0.02536, 0.02537");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02509, -0.02533, -0.02571, -0.02594, -0.02609, -0.0262, -0.02625, \
                 -0.02626, -0.02628, -0.02631");
        }
      }

      internal_power() {
        when : "CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02775, 0.02676, 0.02659, 0.02655, 0.02657, 0.0266, 0.02658, \
                 0.02661, 0.02661, 0.02659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02658, -0.02655, -0.02651, -0.02649, -0.02646, -0.02656, -0.02653, \
                 -0.02654, -0.02652, -0.02653");
        }
      }

      internal_power() {
        when : "CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02769, 0.02671, 0.02658, 0.02656, 0.02658, 0.02658, 0.02661, \
                 0.02661, 0.0266, 0.0266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02658, -0.02655, -0.02651, -0.02649, -0.02646, -0.02656, -0.02653, \
                 -0.02653, -0.02654, -0.02651");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : recovery_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.292, -0.302, -0.356, -0.426, -0.486, -0.532, -0.555, -0.561, -0.529, -0.486",\
                 "-0.293, -0.31, -0.361, -0.44, -0.494, -0.542, -0.561, -0.571, -0.539, -0.497",\
                 "-0.31, -0.326, -0.37, -0.45, -0.512, -0.557, -0.583, -0.59, -0.561, -0.519",\
                 "-0.292, -0.312, -0.366, -0.436, -0.506, -0.549, -0.575, -0.589, -0.565, -0.523",\
                 "-0.116, -0.131, -0.191, -0.274, -0.349, -0.398, -0.433, -0.441, -0.423, -0.385",\
                 "0.336, 0.318, 0.258, 0.162, 0.083, 0.022, -0.015, -0.039, -0.02, 0.02",\
                 "1.019, 0.998, 0.927, 0.835, 0.731, 0.682, 0.614, 0.589, 0.617, 0.645",\
                 "1.907, 1.879, 1.809, 1.692, 1.568, 1.522, 1.461, 1.431, 1.448, 1.475",\
                 "2.988, 2.963, 2.886, 2.758, 2.657, 2.561, 2.514, 2.461, 2.497, 2.514",\
                 "4.282, 4.25, 4.183, 4.004, 3.877, 3.809, 3.751, 3.687, 3.728, 3.736");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : removal_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.458, 0.473, 0.522, 0.608, 0.673, 0.727, 0.774, 0.791, 0.791, 0.757",\
                 "0.463, 0.476, 0.527, 0.613, 0.68, 0.736, 0.775, 0.798, 0.795, 0.759",\
                 "0.487, 0.504, 0.551, 0.631, 0.704, 0.762, 0.801, 0.82, 0.817, 0.783",\
                 "0.547, 0.563, 0.61, 0.69, 0.76, 0.812, 0.855, 0.87, 0.871, 0.837",\
                 "0.63, 0.648, 0.696, 0.771, 0.841, 0.898, 0.937, 0.953, 0.953, 0.928",\
                 "0.735, 0.749, 0.795, 0.877, 0.942, 0.993, 1.039, 1.059, 1.062, 1.041",\
                 "0.853, 0.87, 0.921, 0.993, 1.059, 1.116, 1.155, 1.188, 1.191, 1.175",\
                 "0.991, 1.005, 1.057, 1.128, 1.195, 1.249, 1.291, 1.328, 1.34, 1.334",\
                 "1.159, 1.171, 1.218, 1.287, 1.355, 1.406, 1.45, 1.489, 1.509, 1.503",\
                 "1.342, 1.353, 1.401, 1.469, 1.533, 1.585, 1.637, 1.675, 1.704, 1.704");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D" ;

        fall_constraint(scalar) {
          values("0.461");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D" ;

        fall_constraint(scalar) {
          values("0.461");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D" ;

        fall_constraint(scalar) {
          values("0.518");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D" ;

        fall_constraint(scalar) {
          values("0.518");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffrsnq_1) {
    area : 85.612800 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : L ;
      clear_preset_var2 : H ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SETN" ;
      value : "0.0001956504" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SETN" ;
      value : "0.0002020788" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SETN" ;
      value : "0.0001898952" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SETN" ;
      value : "0.0002882286" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SETN" ;
      value : "0.0001949673" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SETN" ;
      value : "0.000206283" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SETN" ;
      value : "0.0001886346" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SETN" ;
      value : "0.0002890173" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SETN" ;
      value : "0.0002290761" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SETN" ;
      value : "0.0002188197" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SETN" ;
      value : "0.0002128566" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SETN" ;
      value : "0.0002384745" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SETN" ;
      value : "0.0002299011" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SETN" ;
      value : "0.0002196447" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SETN" ;
      value : "0.0002117148" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SETN" ;
      value : "0.000343761" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000343761" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003369 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.75 ;
      min_pulse_width_high : 0.807 ;
      min_pulse_width_low : 0.735 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.131, 0.1307, 0.1312, 0.1367, 0.1482, 0.1666, 0.1925, 0.2265, \
                 0.2689, 0.32");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1065, 0.1062, 0.1066, 0.111, 0.1206, 0.1365, 0.1593, 0.1892, \
                 0.2267, 0.2719");
        }
      }

      internal_power() {
        when : "!D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1324, 0.132, 0.1327, 0.1381, 0.1497, 0.1681, 0.1941, 0.228, \
                 0.2704, 0.3216");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.105, 0.1047, 0.1051, 0.1096, 0.119, 0.1348, 0.1575, 0.1873, \
                 0.2247, 0.2697");
        }
      }

      internal_power() {
        when : "!D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1938, 0.1934, 0.194, 0.2003, 0.2134, 0.2336, 0.2616, 0.2979, \
                 0.343, 0.3967");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1288, 0.1285, 0.1289, 0.1335, 0.1432, 0.1592, 0.1822, 0.2123, \
                 0.2498, 0.2952");
        }
      }

      internal_power() {
        when : "!D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1324, 0.132, 0.1327, 0.1381, 0.1497, 0.1681, 0.1941, 0.2281, \
                 0.2704, 0.3216");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.105, 0.1047, 0.1051, 0.1096, 0.1189, 0.1348, 0.1575, 0.1874, \
                 0.2246, 0.2699");
        }
      }

      internal_power() {
        when : "D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1508, 0.1504, 0.151, 0.1568, 0.1692, 0.1887, 0.2161, 0.2518, \
                 0.2964, 0.3499");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1507, 0.1505, 0.1507, 0.1556, 0.1657, 0.1824, 0.2063, 0.2377, \
                 0.2766, 0.3236");
        }
      }

      internal_power() {
        when : "D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2161, 0.2158, 0.2163, 0.2223, 0.2354, 0.2556, 0.2838, 0.3207, \
                 0.3666, 0.4217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2114, 0.2111, 0.2113, 0.2165, 0.2274, 0.245, 0.2702, 0.3033, \
                 0.3443, 0.3937");
        }
      }

      internal_power() {
        when : "D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1319, 0.1315, 0.1321, 0.1376, 0.1492, 0.1676, 0.1936, 0.2275, \
                 0.2698, 0.3211");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1085, 0.1082, 0.1086, 0.113, 0.1225, 0.1383, 0.161, 0.1909, \
                 0.2282, 0.2733");
        }
      }

      internal_power() {
        when : "D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1318, 0.1315, 0.1322, 0.1376, 0.1491, 0.1676, 0.1935, 0.2275, \
                 0.27, 0.321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1085, 0.1082, 0.1086, 0.113, 0.1224, 0.1384, 0.1611, 0.1909, \
                 0.2282, 0.2734");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.735");
        }

        rise_constraint(scalar) {
          values("0.618");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.492");
        }

        rise_constraint(scalar) {
          values("0.807");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SETN" ;

        rise_constraint(scalar) {
          values("1.526");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SETN" ;

        rise_constraint(scalar) {
          values("1.75");
        }
      }
    }

    pin(D) {
      capacitance : 0.002318 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06901, 0.0687, 0.06931, 0.07234, 0.07855, 0.0885, 0.1025, 0.1211, \
                 0.1445, 0.1731");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02297, 0.02288, 0.02364, 0.02621, 0.03122, 0.03921, 0.05064, \
                 0.06586, 0.08522, 0.1089");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1006, 0.1003, 0.1009, 0.1041, 0.112, 0.1241, 0.1408, 0.1629, \
                 0.1905, 0.2239");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08446, 0.08432, 0.08507, 0.08822, 0.09406, 0.1037, 0.1172, 0.1349, \
                 0.1573, 0.1844");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.069, 0.0687, 0.06932, 0.07235, 0.07856, 0.08851, 0.1025, 0.1211, \
                 0.1445, 0.1731");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02286, 0.02364, 0.02621, 0.03122, 0.03921, 0.05064, \
                 0.06586, 0.0852, 0.1089");
        }
      }

      internal_power() {
        when : "!CLK&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09741, 0.0971, 0.0977, 0.101, 0.1088, 0.1208, 0.1374, 0.1593, \
                 0.1868, 0.22");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08709, 0.08703, 0.08779, 0.09089, 0.09679, 0.1064, 0.1197, 0.1375, \
                 0.1599, 0.187");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02231, 0.02374, 0.02813, 0.03601, 0.04776, 0.06366, \
                 0.08407, 0.1093, 0.1393");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002421, 0.002294, 0.003139, 0.006407, 0.01275, 0.02235, 0.03559, \
                 0.05257, 0.07359, 0.09882");
        }
      }

      internal_power() {
        when : "CLK&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02231, 0.02374, 0.02813, 0.03604, 0.04776, 0.06364, \
                 0.08406, 0.1093, 0.1394");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002422, 0.002295, 0.003141, 0.006408, 0.01275, 0.02235, 0.03559, \
                 0.05257, 0.07358, 0.09881");
        }
      }

      internal_power() {
        when : "CLK&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02231, 0.02374, 0.02813, 0.03602, 0.04775, 0.06365, \
                 0.08405, 0.1093, 0.1394");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002422, 0.002294, 0.00314, 0.006408, 0.01275, 0.02236, 0.03559, \
                 0.05256, 0.07359, 0.09881");
        }
      }

      internal_power() {
        when : "CLK&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02293, 0.02234, 0.02375, 0.02815, 0.03602, 0.04777, 0.06365, \
                 0.08406, 0.1092, 0.1394");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002412, 0.002292, 0.003148, 0.006415, 0.01272, 0.02238, 0.03559, \
                 0.05261, 0.07359, 0.09881");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.017, -0.006, 0.044, 0.126, 0.189, 0.227, 0.251, 0.249, 0.226, 0.174",\
                 "-0.036, -0.016, 0.029, 0.102, 0.17, 0.212, 0.235, 0.237, 0.209, 0.162",\
                 "-0.103, -0.089, -0.039, 0.034, 0.104, 0.143, 0.166, 0.168, 0.147, 0.096",\
                 "-0.235, -0.218, -0.172, -0.099, -0.032, 0.015, 0.036, 0.042, 0.015, -0.036",\
                 "-0.419, -0.402, -0.356, -0.284, -0.215, -0.162, -0.144, -0.136, -0.163, -0.21",\
                 "-0.647, -0.631, -0.583, -0.512, -0.452, -0.399, -0.375, -0.373, -0.395, -0.44",\
                 "-0.917, -0.904, -0.864, -0.795, -0.736, -0.689, -0.662, -0.657, -0.683, -0.73",\
                 "-1.24, -1.222, -1.187, -1.124, -1.071, -1.025, -1.002, -1.001, -1.023, -1.076",\
                 "-1.595, -1.583, -1.545, -1.491, -1.445, -1.413, -1.398, -1.401, -1.424, -1.478",\
                 "-2.005, -1.991, -1.956, -1.905, -1.876, -1.849, -1.845, -1.844, -1.872, -1.934");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.063, -0.054, -0.015, 0.026, 0.055, 0.071, 0.066, 0.036, -0.013, -0.081",\
                 "-0.077, -0.064, -0.024, 0.016, 0.047, 0.058, 0.055, 0.022, -0.024, -0.095",\
                 "-0.119, -0.106, -0.063, -0.019, 0.009, 0.022, 0.022, -0.012, -0.06, -0.129",\
                 "-0.153, -0.141, -0.097, -0.053, -0.026, -0.007, -0.014, -0.038, -0.09, -0.159",\
                 "-0.159, -0.147, -0.103, -0.063, -0.033, -0.013, -0.024, -0.054, -0.097, -0.174",\
                 "-0.134, -0.124, -0.079, -0.037, -0.004, 0.005, 0.002, -0.028, -0.086, -0.155",\
                 "-0.066, -0.056, -0.012, 0.023, 0.059, 0.066, 0.057, 0.026, -0.027, -0.103",\
                 "0.053, 0.062, 0.1, 0.146, 0.166, 0.18, 0.169, 0.126, 0.071, -0.007",\
                 "0.219, 0.232, 0.266, 0.309, 0.324, 0.331, 0.316, 0.28, 0.217, 0.134",\
                 "0.446, 0.457, 0.494, 0.524, 0.538, 0.537, 0.524, 0.478, 0.416, 0.328");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.458, 0.443, 0.401, 0.347, 0.295, 0.268, 0.263, 0.277, 0.331, 0.436",\
                 "0.473, 0.46, 0.415, 0.36, 0.309, 0.283, 0.287, 0.294, 0.352, 0.457",\
                 "0.544, 0.527, 0.488, 0.425, 0.383, 0.355, 0.35, 0.361, 0.423, 0.527",\
                 "0.69, 0.681, 0.631, 0.575, 0.522, 0.497, 0.494, 0.5, 0.562, 0.658",\
                 "0.911, 0.896, 0.852, 0.787, 0.74, 0.715, 0.699, 0.714, 0.768, 0.854",\
                 "1.182, 1.166, 1.126, 1.061, 1.012, 0.977, 0.962, 0.971, 1.018, 1.1",\
                 "1.508, 1.495, 1.453, 1.394, 1.337, 1.302, 1.292, 1.301, 1.338, 1.416",\
                 "1.907, 1.891, 1.846, 1.779, 1.723, 1.69, 1.676, 1.683, 1.718, 1.794",\
                 "2.359, 2.345, 2.298, 2.234, 2.183, 2.147, 2.13, 2.13, 2.17, 2.235",\
                 "2.881, 2.861, 2.815, 2.745, 2.692, 2.658, 2.645, 2.65, 2.683, 2.748");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.258, 0.245, 0.192, 0.129, 0.094, 0.078, 0.078, 0.106, 0.156, 0.227",\
                 "0.268, 0.262, 0.202, 0.148, 0.108, 0.089, 0.09, 0.115, 0.168, 0.242",\
                 "0.313, 0.302, 0.244, 0.182, 0.149, 0.125, 0.133, 0.156, 0.2, 0.274",\
                 "0.371, 0.353, 0.3, 0.23, 0.185, 0.168, 0.174, 0.192, 0.239, 0.311",\
                 "0.405, 0.394, 0.339, 0.259, 0.216, 0.189, 0.185, 0.21, 0.258, 0.33",\
                 "0.405, 0.394, 0.341, 0.264, 0.206, 0.184, 0.18, 0.205, 0.248, 0.317",\
                 "0.378, 0.364, 0.311, 0.226, 0.165, 0.136, 0.137, 0.159, 0.204, 0.274",\
                 "0.296, 0.284, 0.224, 0.149, 0.087, 0.056, 0.046, 0.069, 0.118, 0.191",\
                 "0.17, 0.161, 0.098, 0.023, -0.04, -0.08, -0.086, -0.064, -0.016, 0.064",\
                 "-0.003, -0.017, -0.075, -0.159, -0.228, -0.259, -0.267, -0.246, -0.199, -0.122");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3585 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1313, 0.1303, 0.1288, 0.1282, 0.128, 0.1278, 0.1277, 0.1276, 0.1276, 0.1276",\
                 "0.1313, 0.1302, 0.1288, 0.1282, 0.1279, 0.1277, 0.1276, 0.1276, 0.1275, 0.1275",\
                 "0.1314, 0.1303, 0.1289, 0.1283, 0.128, 0.1278, 0.1278, 0.1277, 0.1277, 0.1276",\
                 "0.1318, 0.1307, 0.1293, 0.1287, 0.1284, 0.1283, 0.1282, 0.1281, 0.1281, 0.128",\
                 "0.1325, 0.1314, 0.1301, 0.1295, 0.1292, 0.129, 0.129, 0.1289, 0.1288, 0.1288",\
                 "0.1333, 0.1322, 0.1308, 0.1302, 0.1299, 0.1298, 0.1297, 0.1296, 0.1296, 0.1295",\
                 "0.1342, 0.1331, 0.1316, 0.131, 0.1307, 0.1306, 0.1305, 0.1304, 0.1304, 0.1304",\
                 "0.1351, 0.1339, 0.1326, 0.1319, 0.1317, 0.1315, 0.1315, 0.1314, 0.1313, 0.1313",\
                 "0.1361, 0.1349, 0.1336, 0.133, 0.1327, 0.1325, 0.1325, 0.1325, 0.1325, 0.1324",\
                 "0.137, 0.1359, 0.1345, 0.134, 0.1336, 0.1335, 0.1333, 0.1333, 0.1332, 0.1332");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1755, 0.1741, 0.1718, 0.1706, 0.1701, 0.1706, 0.1711, 0.1714, 0.1724, 0.1763",\
                 "0.1755, 0.1741, 0.1717, 0.1706, 0.1702, 0.1706, 0.1708, 0.1715, 0.1723, 0.1768",\
                 "0.1755, 0.174, 0.1717, 0.1704, 0.1701, 0.1703, 0.1707, 0.1715, 0.1726, 0.1763",\
                 "0.1755, 0.1741, 0.1717, 0.1706, 0.1702, 0.1707, 0.171, 0.1715, 0.1723, 0.1779",\
                 "0.1761, 0.1746, 0.1723, 0.1711, 0.1706, 0.1711, 0.1716, 0.172, 0.1726, 0.1793",\
                 "0.1766, 0.1751, 0.173, 0.1718, 0.1712, 0.1717, 0.172, 0.1725, 0.1736, 0.1814",\
                 "0.1774, 0.176, 0.1737, 0.1724, 0.1725, 0.1726, 0.1729, 0.1735, 0.1745, 0.184",\
                 "0.1787, 0.1774, 0.175, 0.1734, 0.173, 0.174, 0.1745, 0.1752, 0.1761, 0.1878",\
                 "0.1803, 0.1789, 0.1766, 0.1751, 0.1749, 0.1745, 0.1762, 0.1772, 0.179, 0.1956",\
                 "0.1821, 0.1806, 0.1782, 0.1768, 0.1765, 0.1762, 0.1767, 0.1784, 0.1824, 0.2089");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1075, 0.1067, 0.1057, 0.1054, 0.1052, 0.1051, 0.105, 0.105, 0.1049, 0.1049",\
                 "0.1066, 0.1058, 0.1049, 0.1045, 0.1043, 0.1042, 0.1042, 0.1041, 0.1041, 0.1041",\
                 "0.1071, 0.1063, 0.1053, 0.1049, 0.1048, 0.1047, 0.1046, 0.1046, 0.1046, 0.1046",\
                 "0.1135, 0.1123, 0.1105, 0.1096, 0.1092, 0.109, 0.1089, 0.1088, 0.1087, 0.1087",\
                 "0.1265, 0.1247, 0.1218, 0.1199, 0.1189, 0.1184, 0.1181, 0.1179, 0.1178, 0.1177",\
                 "0.1466, 0.1441, 0.1398, 0.1369, 0.1351, 0.1341, 0.1335, 0.1331, 0.1329, 0.1328",\
                 "0.1741, 0.171, 0.1653, 0.161, 0.1583, 0.1566, 0.1556, 0.155, 0.1546, 0.1543",\
                 "0.2089, 0.2053, 0.1981, 0.1924, 0.1886, 0.1861, 0.1846, 0.1836, 0.1829, 0.1824",\
                 "0.2515, 0.2474, 0.2388, 0.2315, 0.2264, 0.2231, 0.2208, 0.2193, 0.2183, 0.2176",\
                 "0.3019, 0.2974, 0.2875, 0.2787, 0.2722, 0.2676, 0.2647, 0.2626, 0.2612, 0.2603");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.05553, 0.05448, 0.05317, 0.05256, 0.05267, 0.0532, 0.05376, 0.05439, 0.05518, 0.05847",\
                 "0.05477, 0.0538, 0.05242, 0.052, 0.05204, 0.05254, 0.05317, 0.05377, 0.05511, 0.0587",\
                 "0.05424, 0.0532, 0.05169, 0.05121, 0.05135, 0.05172, 0.05237, 0.05284, 0.05402, 0.05729",\
                 "0.058, 0.05681, 0.05498, 0.05398, 0.05383, 0.05426, 0.05492, 0.05562, 0.05617, 0.06054",\
                 "0.06717, 0.06571, 0.0633, 0.0621, 0.06128, 0.06139, 0.06185, 0.06225, 0.06367, 0.06767",\
                 "0.08289, 0.08106, 0.07802, 0.07566, 0.07485, 0.07445, 0.07425, 0.07456, 0.07599, 0.08045",\
                 "0.1054, 0.1031, 0.09915, 0.09559, 0.09389, 0.09363, 0.09329, 0.09317, 0.09366, 0.1006",\
                 "0.1345, 0.132, 0.1271, 0.1228, 0.1196, 0.1181, 0.1188, 0.1184, 0.1186, 0.1263",\
                 "0.1705, 0.1675, 0.1617, 0.1563, 0.1526, 0.1499, 0.1492, 0.1503, 0.1507, 0.1624",\
                 "0.2136, 0.21, 0.2034, 0.1971, 0.1922, 0.1892, 0.1869, 0.1868, 0.19, 0.2084");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1331, 0.1322, 0.1313, 0.1308, 0.1305, 0.1304, 0.1303, 0.1303, 0.1303, 0.1302",\
                 "0.1332, 0.1323, 0.1314, 0.1309, 0.1307, 0.1305, 0.1305, 0.1304, 0.1304, 0.1304",\
                 "0.1341, 0.1332, 0.1321, 0.1317, 0.1315, 0.1313, 0.1313, 0.1313, 0.1312, 0.1312",\
                 "0.1409, 0.1395, 0.1377, 0.1366, 0.1362, 0.136, 0.1358, 0.1357, 0.1357, 0.1357",\
                 "0.1551, 0.1531, 0.1499, 0.148, 0.1469, 0.1463, 0.146, 0.1458, 0.1457, 0.1456",\
                 "0.1768, 0.174, 0.1695, 0.1662, 0.1644, 0.1633, 0.1626, 0.1623, 0.162, 0.1618",\
                 "0.2056, 0.2021, 0.1959, 0.1912, 0.1883, 0.1866, 0.1855, 0.1848, 0.1843, 0.184",\
                 "0.2406, 0.2365, 0.2286, 0.2224, 0.2182, 0.2156, 0.2139, 0.2129, 0.2121, 0.2116",\
                 "0.2814, 0.2767, 0.267, 0.259, 0.2535, 0.2499, 0.2475, 0.2459, 0.2449, 0.2442",\
                 "0.3263, 0.321, 0.3095, 0.2998, 0.2929, 0.2881, 0.285, 0.2827, 0.2813, 0.2802");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1331, 0.1322, 0.1313, 0.1308, 0.1305, 0.1304, 0.1303, 0.1303, 0.1303, 0.1302",\
                 "0.1332, 0.1323, 0.1314, 0.1309, 0.1307, 0.1305, 0.1305, 0.1304, 0.1304, 0.1304",\
                 "0.1341, 0.1332, 0.1321, 0.1317, 0.1315, 0.1313, 0.1313, 0.1313, 0.1312, 0.1312",\
                 "0.1409, 0.1395, 0.1377, 0.1366, 0.1362, 0.136, 0.1358, 0.1357, 0.1357, 0.1357",\
                 "0.1551, 0.1531, 0.1499, 0.148, 0.1469, 0.1463, 0.146, 0.1458, 0.1457, 0.1456",\
                 "0.1768, 0.174, 0.1695, 0.1662, 0.1644, 0.1633, 0.1626, 0.1623, 0.162, 0.1618",\
                 "0.2056, 0.2021, 0.1959, 0.1912, 0.1883, 0.1866, 0.1855, 0.1848, 0.1843, 0.184",\
                 "0.2406, 0.2365, 0.2286, 0.2224, 0.2182, 0.2156, 0.2139, 0.2129, 0.2121, 0.2116",\
                 "0.2814, 0.2767, 0.267, 0.259, 0.2535, 0.2499, 0.2475, 0.2459, 0.2449, 0.2442",\
                 "0.3263, 0.321, 0.3095, 0.2998, 0.2929, 0.2881, 0.285, 0.2827, 0.2813, 0.2802");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1071, 0.1063, 0.1053, 0.105, 0.1048, 0.1047, 0.1046, 0.1046, 0.1045, 0.1045",\
                 "0.1066, 0.1058, 0.1049, 0.1044, 0.1043, 0.1042, 0.1041, 0.1041, 0.1041, 0.1041",\
                 "0.1072, 0.1063, 0.1053, 0.1049, 0.1048, 0.1047, 0.1046, 0.1046, 0.1046, 0.1046",\
                 "0.1135, 0.1123, 0.1105, 0.1096, 0.1092, 0.109, 0.1089, 0.1088, 0.1087, 0.1087",\
                 "0.1265, 0.1246, 0.1218, 0.1199, 0.1189, 0.1184, 0.1181, 0.1179, 0.1178, 0.1178",\
                 "0.1466, 0.1441, 0.1398, 0.1369, 0.1352, 0.1341, 0.1335, 0.1332, 0.133, 0.1328",\
                 "0.1741, 0.171, 0.1653, 0.161, 0.1582, 0.1566, 0.1556, 0.155, 0.1546, 0.1543",\
                 "0.209, 0.2054, 0.1982, 0.1925, 0.1885, 0.1862, 0.1846, 0.1836, 0.1829, 0.1824",\
                 "0.2515, 0.2474, 0.2388, 0.2316, 0.2265, 0.223, 0.2209, 0.2194, 0.2183, 0.2176",\
                 "0.3019, 0.2975, 0.2875, 0.2786, 0.2721, 0.2676, 0.2646, 0.2626, 0.2612, 0.2602");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.05553, 0.05458, 0.05317, 0.05265, 0.05277, 0.0534, 0.05389, 0.05432, 0.05577, 0.05846",\
                 "0.05474, 0.05376, 0.05238, 0.05193, 0.05201, 0.05251, 0.05313, 0.0537, 0.05471, 0.0587",\
                 "0.05415, 0.05309, 0.05165, 0.05114, 0.05122, 0.05185, 0.05234, 0.05287, 0.05355, 0.05696",\
                 "0.05795, 0.05676, 0.0549, 0.05394, 0.05376, 0.05432, 0.05481, 0.05535, 0.05606, 0.06021",\
                 "0.06712, 0.06566, 0.06318, 0.06203, 0.06125, 0.06132, 0.06178, 0.06221, 0.0636, 0.06766",\
                 "0.08295, 0.08108, 0.07779, 0.07536, 0.07468, 0.07409, 0.07399, 0.07485, 0.07533, 0.08044",\
                 "0.1053, 0.1031, 0.0991, 0.09536, 0.09382, 0.09356, 0.09299, 0.09284, 0.09346, 0.09968",\
                 "0.1345, 0.1319, 0.1269, 0.1225, 0.1194, 0.1182, 0.1188, 0.1183, 0.1183, 0.1266",\
                 "0.1705, 0.1674, 0.1616, 0.1563, 0.1524, 0.1502, 0.149, 0.1505, 0.1507, 0.1626",\
                 "0.2135, 0.2099, 0.2032, 0.197, 0.1924, 0.1891, 0.1867, 0.1869, 0.1897, 0.2081");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1344, 0.1335, 0.1325, 0.1321, 0.1318, 0.1317, 0.1316, 0.1316, 0.1315, 0.1315",\
                 "0.1346, 0.1338, 0.1328, 0.1323, 0.1321, 0.132, 0.1319, 0.1319, 0.1318, 0.1318",\
                 "0.1355, 0.1346, 0.1335, 0.133, 0.1329, 0.1327, 0.1327, 0.1327, 0.1326, 0.1326",\
                 "0.1423, 0.141, 0.1392, 0.1381, 0.1376, 0.1375, 0.1373, 0.1372, 0.1372, 0.1371",\
                 "0.1566, 0.1546, 0.1514, 0.1494, 0.1484, 0.1478, 0.1475, 0.1473, 0.1472, 0.1471",\
                 "0.1783, 0.1755, 0.1709, 0.1677, 0.1659, 0.1648, 0.1641, 0.1637, 0.1635, 0.1633",\
                 "0.2071, 0.2036, 0.1973, 0.1927, 0.1898, 0.188, 0.187, 0.1863, 0.1858, 0.1855",\
                 "0.2421, 0.2381, 0.2301, 0.2239, 0.2197, 0.2171, 0.2154, 0.2143, 0.2136, 0.2131",\
                 "0.2828, 0.2781, 0.2684, 0.2604, 0.255, 0.2513, 0.2489, 0.2473, 0.2463, 0.2456",\
                 "0.3278, 0.3225, 0.3109, 0.3013, 0.2944, 0.2897, 0.2865, 0.2843, 0.2827, 0.2817");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1344, 0.1335, 0.1325, 0.1321, 0.1318, 0.1317, 0.1316, 0.1316, 0.1315, 0.1315",\
                 "0.1346, 0.1338, 0.1328, 0.1323, 0.1321, 0.132, 0.1319, 0.1319, 0.1318, 0.1318",\
                 "0.1355, 0.1346, 0.1335, 0.133, 0.1329, 0.1327, 0.1327, 0.1327, 0.1326, 0.1326",\
                 "0.1423, 0.141, 0.1392, 0.1381, 0.1376, 0.1375, 0.1373, 0.1372, 0.1372, 0.1371",\
                 "0.1566, 0.1546, 0.1514, 0.1494, 0.1484, 0.1478, 0.1475, 0.1473, 0.1472, 0.1471",\
                 "0.1783, 0.1755, 0.1709, 0.1677, 0.1659, 0.1648, 0.1641, 0.1637, 0.1635, 0.1633",\
                 "0.2071, 0.2036, 0.1973, 0.1927, 0.1898, 0.188, 0.187, 0.1863, 0.1858, 0.1855",\
                 "0.2421, 0.2381, 0.2301, 0.2239, 0.2197, 0.2171, 0.2154, 0.2143, 0.2136, 0.2131",\
                 "0.2828, 0.2781, 0.2684, 0.2604, 0.255, 0.2513, 0.2489, 0.2473, 0.2463, 0.2456",\
                 "0.3278, 0.3225, 0.3109, 0.3013, 0.2944, 0.2897, 0.2865, 0.2843, 0.2827, 0.2817");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1704, 0.1696, 0.1687, 0.1683, 0.1681, 0.168, 0.1679, 0.1679, 0.1679, 0.1678",\
                 "0.1696, 0.1689, 0.1679, 0.1675, 0.1673, 0.1673, 0.1672, 0.1671, 0.1671, 0.1671",\
                 "0.17, 0.1691, 0.1682, 0.1677, 0.1676, 0.1675, 0.1674, 0.1674, 0.1674, 0.1674",\
                 "0.1773, 0.176, 0.1743, 0.1733, 0.1729, 0.1727, 0.1726, 0.1726, 0.1725, 0.1725",\
                 "0.1951, 0.1932, 0.1904, 0.1884, 0.1874, 0.1869, 0.1867, 0.1865, 0.1864, 0.1863",\
                 "0.2258, 0.2233, 0.2191, 0.2161, 0.2143, 0.2133, 0.2128, 0.2124, 0.2121, 0.212",\
                 "0.2707, 0.2676, 0.262, 0.2576, 0.2549, 0.2533, 0.2523, 0.2516, 0.2512, 0.2509",\
                 "0.3297, 0.3261, 0.319, 0.3131, 0.3092, 0.3068, 0.3053, 0.3043, 0.3036, 0.3031",\
                 "0.4028, 0.3987, 0.3902, 0.3828, 0.3777, 0.3743, 0.3721, 0.3706, 0.3696, 0.3688",\
                 "0.4904, 0.4859, 0.4759, 0.4671, 0.4605, 0.456, 0.453, 0.451, 0.4496, 0.4486");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.09102, 0.08989, 0.0885, 0.08801, 0.08816, 0.08856, 0.08918, 0.08972, 0.09043, 0.09416",\
                 "0.09001, 0.0889, 0.08742, 0.08693, 0.08714, 0.08744, 0.08813, 0.0886, 0.08951, 0.09284",\
                 "0.08924, 0.08813, 0.08654, 0.08603, 0.08611, 0.08678, 0.08724, 0.08777, 0.08855, 0.09209",\
                 "0.09418, 0.093, 0.09105, 0.09013, 0.09001, 0.09021, 0.09083, 0.0915, 0.09281, 0.09576",\
                 "0.1081, 0.1066, 0.104, 0.1029, 0.1021, 0.1022, 0.1027, 0.1031, 0.1039, 0.1084",\
                 "0.1334, 0.1317, 0.1284, 0.126, 0.1253, 0.1249, 0.1245, 0.125, 0.1259, 0.1317",\
                 "0.1707, 0.1685, 0.1644, 0.1609, 0.1591, 0.1588, 0.1584, 0.158, 0.1588, 0.1654",\
                 "0.2202, 0.2176, 0.2126, 0.2083, 0.2052, 0.2039, 0.2043, 0.2039, 0.2042, 0.2125",\
                 "0.2823, 0.2791, 0.2736, 0.2683, 0.2642, 0.2618, 0.261, 0.2619, 0.2625, 0.274",\
                 "0.3575, 0.3539, 0.3472, 0.341, 0.3362, 0.3331, 0.3311, 0.331, 0.3342, 0.3521");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.2244, 0.2234, 0.2224, 0.222, 0.2218, 0.2216, 0.2215, 0.2214, 0.2214, 0.2214",\
                 "0.2247, 0.2239, 0.2228, 0.2224, 0.2222, 0.222, 0.2219, 0.2218, 0.2218, 0.2218",\
                 "0.2256, 0.2246, 0.2235, 0.223, 0.2228, 0.2227, 0.2226, 0.2226, 0.2226, 0.2225",\
                 "0.2341, 0.2327, 0.2309, 0.2298, 0.2293, 0.2291, 0.229, 0.2289, 0.2289, 0.2288",\
                 "0.2547, 0.2526, 0.2494, 0.2474, 0.2463, 0.2458, 0.2455, 0.2452, 0.2451, 0.245",\
                 "0.2893, 0.2865, 0.2818, 0.2786, 0.2766, 0.2756, 0.2749, 0.2745, 0.2743, 0.2741",\
                 "0.3385, 0.335, 0.3286, 0.324, 0.321, 0.3193, 0.3182, 0.3175, 0.317, 0.3167",\
                 "0.4002, 0.3961, 0.388, 0.3819, 0.3777, 0.3751, 0.3734, 0.3723, 0.3716, 0.371",\
                 "0.4731, 0.4685, 0.4587, 0.4509, 0.4454, 0.4417, 0.4393, 0.4377, 0.4366, 0.4359",\
                 "0.5547, 0.5496, 0.5383, 0.5287, 0.5218, 0.517, 0.5138, 0.5116, 0.5101, 0.509");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.2244, 0.2234, 0.2224, 0.222, 0.2218, 0.2216, 0.2215, 0.2214, 0.2214, 0.2214",\
                 "0.2247, 0.2239, 0.2228, 0.2224, 0.2222, 0.222, 0.2219, 0.2218, 0.2218, 0.2218",\
                 "0.2256, 0.2246, 0.2235, 0.223, 0.2228, 0.2227, 0.2226, 0.2226, 0.2226, 0.2225",\
                 "0.2341, 0.2327, 0.2309, 0.2298, 0.2293, 0.2291, 0.229, 0.2289, 0.2289, 0.2288",\
                 "0.2547, 0.2526, 0.2494, 0.2474, 0.2463, 0.2458, 0.2455, 0.2452, 0.2451, 0.245",\
                 "0.2893, 0.2865, 0.2818, 0.2786, 0.2766, 0.2756, 0.2749, 0.2745, 0.2743, 0.2741",\
                 "0.3385, 0.335, 0.3286, 0.324, 0.321, 0.3193, 0.3182, 0.3175, 0.317, 0.3167",\
                 "0.4002, 0.3961, 0.388, 0.3819, 0.3777, 0.3751, 0.3734, 0.3723, 0.3716, 0.371",\
                 "0.4731, 0.4685, 0.4587, 0.4509, 0.4454, 0.4417, 0.4393, 0.4377, 0.4366, 0.4359",\
                 "0.5547, 0.5496, 0.5383, 0.5287, 0.5218, 0.517, 0.5138, 0.5116, 0.5101, 0.509");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1704, 0.1696, 0.1687, 0.1683, 0.1681, 0.168, 0.1679, 0.1679, 0.1679, 0.1678",\
                 "0.1696, 0.1689, 0.1679, 0.1675, 0.1673, 0.1673, 0.1672, 0.1671, 0.1671, 0.1671",\
                 "0.17, 0.1691, 0.1682, 0.1677, 0.1676, 0.1675, 0.1674, 0.1674, 0.1674, 0.1674",\
                 "0.1773, 0.176, 0.1743, 0.1733, 0.1729, 0.1727, 0.1726, 0.1726, 0.1725, 0.1725",\
                 "0.1951, 0.1932, 0.1904, 0.1884, 0.1874, 0.187, 0.1867, 0.1865, 0.1864, 0.1863",\
                 "0.2258, 0.2233, 0.2191, 0.2161, 0.2143, 0.2133, 0.2128, 0.2124, 0.2122, 0.212",\
                 "0.2707, 0.2676, 0.2619, 0.2576, 0.2549, 0.2533, 0.2523, 0.2516, 0.2512, 0.251",\
                 "0.3297, 0.3261, 0.319, 0.3131, 0.3092, 0.3068, 0.3053, 0.3043, 0.3036, 0.3031",\
                 "0.4028, 0.3987, 0.3902, 0.3828, 0.3776, 0.3742, 0.372, 0.3705, 0.3696, 0.3688",\
                 "0.4904, 0.4859, 0.4759, 0.467, 0.4606, 0.456, 0.453, 0.4509, 0.4495, 0.4486");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.09102, 0.08993, 0.08846, 0.08801, 0.08813, 0.08856, 0.08918, 0.08972, 0.09047, 0.09359",\
                 "0.09001, 0.0889, 0.08742, 0.08693, 0.08714, 0.08744, 0.08813, 0.0886, 0.08951, 0.09284",\
                 "0.08924, 0.08813, 0.08654, 0.08603, 0.08611, 0.08678, 0.08724, 0.08777, 0.08855, 0.09209",\
                 "0.09418, 0.093, 0.09105, 0.09013, 0.09001, 0.09021, 0.09083, 0.0915, 0.09281, 0.09576",\
                 "0.1081, 0.1066, 0.104, 0.1029, 0.1021, 0.1022, 0.1027, 0.1031, 0.1039, 0.1084",\
                 "0.1334, 0.1316, 0.1284, 0.126, 0.1253, 0.1249, 0.1246, 0.125, 0.1259, 0.1308",\
                 "0.1707, 0.1685, 0.1644, 0.1609, 0.1591, 0.1588, 0.1584, 0.1582, 0.1588, 0.1654",\
                 "0.2202, 0.2175, 0.2126, 0.2083, 0.2052, 0.2039, 0.2043, 0.2041, 0.204, 0.2119",\
                 "0.2824, 0.2791, 0.2736, 0.2683, 0.2642, 0.2618, 0.261, 0.262, 0.2626, 0.2744",\
                 "0.3575, 0.3539, 0.3474, 0.3412, 0.3362, 0.3327, 0.3311, 0.3306, 0.3335, 0.3528");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.224, 0.2231, 0.222, 0.2216, 0.2214, 0.2212, 0.2211, 0.2211, 0.221, 0.221",\
                 "0.2243, 0.2234, 0.2224, 0.222, 0.2217, 0.2215, 0.2214, 0.2214, 0.2214, 0.2213",\
                 "0.2251, 0.2242, 0.2231, 0.2226, 0.2224, 0.2223, 0.2222, 0.2221, 0.2221, 0.2221",\
                 "0.2338, 0.2324, 0.2305, 0.2295, 0.229, 0.2288, 0.2287, 0.2286, 0.2285, 0.2285",\
                 "0.2546, 0.2525, 0.2493, 0.2473, 0.2462, 0.2457, 0.2453, 0.2451, 0.245, 0.2449",\
                 "0.2894, 0.2865, 0.2819, 0.2787, 0.2768, 0.2757, 0.275, 0.2747, 0.2744, 0.2742",\
                 "0.3387, 0.3351, 0.3288, 0.3242, 0.3213, 0.3195, 0.3184, 0.3178, 0.3173, 0.317",\
                 "0.4004, 0.3963, 0.3883, 0.3821, 0.3779, 0.3753, 0.3736, 0.3725, 0.3718, 0.3712",\
                 "0.4733, 0.4687, 0.459, 0.451, 0.4456, 0.442, 0.4395, 0.4379, 0.4368, 0.4361",\
                 "0.5549, 0.5499, 0.5385, 0.5289, 0.522, 0.5173, 0.514, 0.5118, 0.5103, 0.5092");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.224, 0.2231, 0.222, 0.2216, 0.2214, 0.2212, 0.2211, 0.2211, 0.221, 0.221",\
                 "0.2243, 0.2234, 0.2224, 0.222, 0.2217, 0.2215, 0.2214, 0.2214, 0.2214, 0.2213",\
                 "0.2251, 0.2242, 0.2231, 0.2226, 0.2224, 0.2223, 0.2222, 0.2221, 0.2221, 0.2221",\
                 "0.2338, 0.2324, 0.2305, 0.2295, 0.229, 0.2288, 0.2287, 0.2286, 0.2285, 0.2285",\
                 "0.2546, 0.2525, 0.2493, 0.2473, 0.2462, 0.2457, 0.2453, 0.2451, 0.245, 0.2449",\
                 "0.2894, 0.2865, 0.2819, 0.2787, 0.2768, 0.2757, 0.275, 0.2747, 0.2744, 0.2742",\
                 "0.3387, 0.3351, 0.3288, 0.3242, 0.3213, 0.3195, 0.3184, 0.3178, 0.3173, 0.317",\
                 "0.4004, 0.3963, 0.3883, 0.3821, 0.3779, 0.3753, 0.3736, 0.3725, 0.3718, 0.3712",\
                 "0.4733, 0.4687, 0.459, 0.451, 0.4456, 0.442, 0.4395, 0.4379, 0.4368, 0.4361",\
                 "0.5549, 0.5499, 0.5385, 0.5289, 0.522, 0.5173, 0.514, 0.5118, 0.5103, 0.5092");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1634, 0.1621, 0.1599, 0.1585, 0.1582, 0.1585, 0.1589, 0.1596, 0.1603, 0.1639",\
                 "0.1634, 0.1621, 0.1598, 0.1584, 0.1581, 0.1585, 0.159, 0.1595, 0.1602, 0.1639",\
                 "0.1639, 0.1626, 0.1605, 0.159, 0.1586, 0.159, 0.1596, 0.1601, 0.1609, 0.1647",\
                 "0.168, 0.1667, 0.1643, 0.163, 0.1627, 0.163, 0.1634, 0.1639, 0.1647, 0.1693",\
                 "0.1774, 0.176, 0.1736, 0.1722, 0.1718, 0.172, 0.1724, 0.1731, 0.1738, 0.1797",\
                 "0.1929, 0.1913, 0.189, 0.1877, 0.187, 0.1872, 0.1877, 0.1885, 0.189, 0.1961",\
                 "0.2155, 0.2141, 0.2115, 0.2097, 0.2094, 0.2093, 0.2094, 0.21, 0.2111, 0.2204",\
                 "0.2431, 0.2414, 0.2388, 0.2367, 0.2359, 0.2364, 0.2366, 0.2368, 0.2384, 0.2524",\
                 "0.2734, 0.2718, 0.2687, 0.2665, 0.2652, 0.2654, 0.2666, 0.2669, 0.2691, 0.29",\
                 "0.3062, 0.3044, 0.3013, 0.2988, 0.2975, 0.2968, 0.2974, 0.2994, 0.3033, 0.3378");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1634, 0.1621, 0.1599, 0.1585, 0.1582, 0.1585, 0.1589, 0.1596, 0.1603, 0.1639",\
                 "0.1634, 0.1621, 0.1598, 0.1584, 0.1581, 0.1585, 0.159, 0.1595, 0.1602, 0.1639",\
                 "0.1639, 0.1626, 0.1605, 0.159, 0.1586, 0.159, 0.1596, 0.1601, 0.1609, 0.1647",\
                 "0.168, 0.1667, 0.1643, 0.163, 0.1627, 0.163, 0.1634, 0.1639, 0.1647, 0.1693",\
                 "0.1774, 0.176, 0.1736, 0.1722, 0.1718, 0.172, 0.1724, 0.1731, 0.1738, 0.1797",\
                 "0.1929, 0.1913, 0.189, 0.1877, 0.187, 0.1872, 0.1877, 0.1885, 0.189, 0.1961",\
                 "0.2155, 0.2141, 0.2115, 0.2097, 0.2094, 0.2093, 0.2094, 0.21, 0.2111, 0.2204",\
                 "0.2431, 0.2414, 0.2388, 0.2367, 0.2359, 0.2364, 0.2366, 0.2368, 0.2384, 0.2524",\
                 "0.2734, 0.2718, 0.2687, 0.2665, 0.2652, 0.2654, 0.2666, 0.2669, 0.2691, 0.29",\
                 "0.3062, 0.3044, 0.3013, 0.2988, 0.2975, 0.2968, 0.2974, 0.2994, 0.3033, 0.3378");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1634, 0.1621, 0.1599, 0.1584, 0.1582, 0.1585, 0.159, 0.1595, 0.1601, 0.1639",\
                 "0.1632, 0.1619, 0.1599, 0.1584, 0.158, 0.1584, 0.1589, 0.1594, 0.1601, 0.1638",\
                 "0.1639, 0.1626, 0.1605, 0.1589, 0.1586, 0.159, 0.1595, 0.16, 0.1609, 0.1647",\
                 "0.168, 0.1665, 0.1645, 0.163, 0.1627, 0.1629, 0.1635, 0.1641, 0.1653, 0.1698",\
                 "0.1774, 0.176, 0.1737, 0.1722, 0.1717, 0.172, 0.1725, 0.1729, 0.1744, 0.1796",\
                 "0.1928, 0.1914, 0.189, 0.1877, 0.1872, 0.1873, 0.1876, 0.1881, 0.189, 0.196",\
                 "0.2154, 0.214, 0.2113, 0.2097, 0.2094, 0.2092, 0.2094, 0.2099, 0.2109, 0.2203",\
                 "0.243, 0.2415, 0.2387, 0.2366, 0.2359, 0.2363, 0.2366, 0.2368, 0.2383, 0.2516",\
                 "0.2732, 0.2716, 0.2688, 0.2663, 0.2652, 0.265, 0.2662, 0.2667, 0.2688, 0.2894",\
                 "0.3063, 0.3044, 0.3013, 0.2987, 0.2974, 0.2965, 0.2972, 0.2989, 0.3036, 0.3377");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1634, 0.1621, 0.1599, 0.1584, 0.1582, 0.1585, 0.159, 0.1595, 0.1601, 0.1639",\
                 "0.1632, 0.1619, 0.1599, 0.1584, 0.158, 0.1584, 0.1589, 0.1594, 0.1601, 0.1638",\
                 "0.1639, 0.1626, 0.1605, 0.1589, 0.1586, 0.159, 0.1595, 0.16, 0.1609, 0.1647",\
                 "0.168, 0.1665, 0.1645, 0.163, 0.1627, 0.1629, 0.1635, 0.1641, 0.1653, 0.1698",\
                 "0.1774, 0.176, 0.1737, 0.1722, 0.1717, 0.172, 0.1725, 0.1729, 0.1744, 0.1796",\
                 "0.1928, 0.1914, 0.189, 0.1877, 0.1872, 0.1873, 0.1876, 0.1881, 0.189, 0.196",\
                 "0.2154, 0.214, 0.2113, 0.2097, 0.2094, 0.2092, 0.2094, 0.2099, 0.2109, 0.2203",\
                 "0.243, 0.2415, 0.2387, 0.2366, 0.2359, 0.2363, 0.2366, 0.2368, 0.2383, 0.2516",\
                 "0.2732, 0.2716, 0.2688, 0.2663, 0.2652, 0.265, 0.2662, 0.2667, 0.2688, 0.2894",\
                 "0.3063, 0.3044, 0.3013, 0.2987, 0.2974, 0.2965, 0.2972, 0.2989, 0.3036, 0.3377");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.2586, 0.257, 0.2543, 0.2525, 0.2516, 0.2517, 0.2521, 0.2524, 0.2532, 0.2578",\
                 "0.2579, 0.2563, 0.2537, 0.2519, 0.251, 0.2511, 0.2514, 0.2518, 0.2526, 0.2578",\
                 "0.2585, 0.257, 0.2544, 0.2525, 0.2517, 0.2516, 0.2519, 0.2524, 0.2532, 0.258",\
                 "0.265, 0.2635, 0.2609, 0.259, 0.258, 0.2581, 0.2584, 0.2589, 0.2596, 0.2653",\
                 "0.2808, 0.2792, 0.2766, 0.2746, 0.2738, 0.2738, 0.274, 0.2747, 0.2755, 0.2818",\
                 "0.3079, 0.3063, 0.3035, 0.3016, 0.3007, 0.3007, 0.301, 0.3015, 0.3025, 0.3116",\
                 "0.3453, 0.3438, 0.3409, 0.3389, 0.3379, 0.3378, 0.3382, 0.3385, 0.34, 0.3521",\
                 "0.3933, 0.3916, 0.389, 0.3864, 0.3859, 0.3856, 0.3856, 0.3861, 0.3882, 0.4073",\
                 "0.4533, 0.4516, 0.4485, 0.4461, 0.4451, 0.4454, 0.4454, 0.446, 0.4496, 0.481",\
                 "0.5237, 0.5221, 0.519, 0.5166, 0.5151, 0.5145, 0.5157, 0.5165, 0.5246, 0.5796");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.2586, 0.257, 0.2543, 0.2525, 0.2516, 0.2517, 0.2521, 0.2524, 0.2532, 0.2578",\
                 "0.2579, 0.2563, 0.2537, 0.2519, 0.251, 0.2511, 0.2514, 0.2518, 0.2526, 0.2578",\
                 "0.2585, 0.257, 0.2544, 0.2525, 0.2517, 0.2516, 0.2519, 0.2524, 0.2532, 0.258",\
                 "0.265, 0.2635, 0.2609, 0.259, 0.258, 0.2581, 0.2584, 0.2589, 0.2596, 0.2653",\
                 "0.2808, 0.2792, 0.2766, 0.2746, 0.2738, 0.2738, 0.274, 0.2747, 0.2755, 0.2818",\
                 "0.3079, 0.3063, 0.3035, 0.3016, 0.3007, 0.3007, 0.301, 0.3015, 0.3025, 0.3116",\
                 "0.3453, 0.3438, 0.3409, 0.3389, 0.3379, 0.3378, 0.3382, 0.3385, 0.34, 0.3521",\
                 "0.3933, 0.3916, 0.389, 0.3864, 0.3859, 0.3856, 0.3856, 0.3861, 0.3882, 0.4073",\
                 "0.4533, 0.4516, 0.4485, 0.4461, 0.4451, 0.4454, 0.4454, 0.446, 0.4496, 0.481",\
                 "0.5237, 0.5221, 0.519, 0.5166, 0.5151, 0.5145, 0.5157, 0.5165, 0.5246, 0.5796");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.2587, 0.2571, 0.2546, 0.2526, 0.2518, 0.2518, 0.2521, 0.2526, 0.2533, 0.2578",\
                 "0.258, 0.2565, 0.2538, 0.2519, 0.251, 0.2512, 0.2513, 0.2518, 0.2527, 0.2571",\
                 "0.2585, 0.257, 0.2545, 0.2526, 0.2517, 0.2517, 0.2519, 0.2525, 0.2533, 0.258",\
                 "0.265, 0.2635, 0.261, 0.259, 0.2583, 0.2581, 0.2584, 0.2589, 0.2597, 0.265",\
                 "0.2808, 0.2792, 0.2765, 0.2746, 0.2738, 0.2738, 0.2742, 0.2748, 0.2755, 0.2818",\
                 "0.3078, 0.3062, 0.3034, 0.3016, 0.3007, 0.3007, 0.3009, 0.3015, 0.3024, 0.3111",\
                 "0.3453, 0.3438, 0.3408, 0.3389, 0.3378, 0.3377, 0.3378, 0.3384, 0.34, 0.3521",\
                 "0.3932, 0.3916, 0.3887, 0.3864, 0.3858, 0.3855, 0.3855, 0.3861, 0.3881, 0.4073",\
                 "0.4533, 0.4515, 0.4486, 0.4462, 0.4451, 0.4452, 0.4454, 0.446, 0.449, 0.4797",\
                 "0.5237, 0.5219, 0.519, 0.5167, 0.5154, 0.5145, 0.5156, 0.5167, 0.5246, 0.5793");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.2587, 0.2571, 0.2546, 0.2526, 0.2518, 0.2518, 0.2521, 0.2526, 0.2533, 0.2578",\
                 "0.258, 0.2565, 0.2538, 0.2519, 0.251, 0.2512, 0.2513, 0.2518, 0.2527, 0.2571",\
                 "0.2585, 0.257, 0.2545, 0.2526, 0.2517, 0.2517, 0.2519, 0.2525, 0.2533, 0.258",\
                 "0.265, 0.2635, 0.261, 0.259, 0.2583, 0.2581, 0.2584, 0.2589, 0.2597, 0.265",\
                 "0.2808, 0.2792, 0.2765, 0.2746, 0.2738, 0.2738, 0.2742, 0.2748, 0.2755, 0.2818",\
                 "0.3078, 0.3062, 0.3034, 0.3016, 0.3007, 0.3007, 0.3009, 0.3015, 0.3024, 0.3111",\
                 "0.3453, 0.3438, 0.3408, 0.3389, 0.3378, 0.3377, 0.3378, 0.3384, 0.34, 0.3521",\
                 "0.3932, 0.3916, 0.3887, 0.3864, 0.3858, 0.3855, 0.3855, 0.3861, 0.3881, 0.4073",\
                 "0.4533, 0.4515, 0.4486, 0.4462, 0.4451, 0.4452, 0.4454, 0.446, 0.449, 0.4797",\
                 "0.5237, 0.5219, 0.519, 0.5167, 0.5154, 0.5145, 0.5156, 0.5167, 0.5246, 0.5793");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.9923, 1.027, 1.123, 1.267, 1.466, 1.736, 2.09, 2.535, 3.079, 3.729",\
                 "1.006, 1.041, 1.137, 1.28, 1.479, 1.749, 2.103, 2.549, 3.093, 3.742",\
                 "1.056, 1.092, 1.187, 1.331, 1.53, 1.8, 2.154, 2.6, 3.144, 3.792",\
                 "1.14, 1.175, 1.271, 1.414, 1.613, 1.883, 2.237, 2.683, 3.227, 3.876",\
                 "1.213, 1.248, 1.344, 1.488, 1.686, 1.957, 2.311, 2.757, 3.301, 3.949",\
                 "1.272, 1.307, 1.403, 1.546, 1.745, 2.015, 2.369, 2.815, 3.36, 4.008",\
                 "1.312, 1.347, 1.443, 1.586, 1.785, 2.055, 2.409, 2.855, 3.399, 4.049",\
                 "1.33, 1.366, 1.461, 1.605, 1.804, 2.074, 2.428, 2.873, 3.418, 4.066",\
                 "1.324, 1.359, 1.455, 1.598, 1.797, 2.068, 2.422, 2.867, 3.411, 4.06",\
                 "1.29, 1.325, 1.421, 1.564, 1.763, 2.033, 2.388, 2.834, 3.377, 4.026");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("1.171, 1.217, 1.355, 1.589, 1.939, 2.426, 3.068, 3.877, 4.864, 6.044",\
                 "1.184, 1.231, 1.369, 1.603, 1.952, 2.44, 3.081, 3.89, 4.879, 6.054",\
                 "1.234, 1.281, 1.419, 1.653, 2.002, 2.49, 3.132, 3.941, 4.927, 6.106",\
                 "1.319, 1.366, 1.504, 1.738, 2.087, 2.575, 3.217, 4.026, 5.014, 6.192",\
                 "1.398, 1.444, 1.582, 1.816, 2.165, 2.653, 3.295, 4.104, 5.092, 6.27",\
                 "1.461, 1.507, 1.646, 1.879, 2.229, 2.716, 3.358, 4.167, 5.156, 6.333",\
                 "1.508, 1.555, 1.693, 1.927, 2.276, 2.764, 3.405, 4.214, 5.203, 6.378",\
                 "1.536, 1.583, 1.721, 1.955, 2.304, 2.792, 3.434, 4.242, 5.228, 6.408",\
                 "1.541, 1.588, 1.726, 1.96, 2.309, 2.796, 3.438, 4.247, 5.233, 6.41",\
                 "1.52, 1.566, 1.705, 1.939, 2.288, 2.776, 3.418, 4.226, 5.213, 6.39");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1195, 0.1542, 0.2566, 0.4402, 0.7392, 1.179, 1.771, 2.521, 3.438, 4.523",\
                 "0.1192, 0.1536, 0.257, 0.4398, 0.7392, 1.178, 1.769, 2.521, 3.438, 4.529",\
                 "0.1194, 0.1544, 0.2566, 0.4404, 0.739, 1.179, 1.772, 2.518, 3.437, 4.53",\
                 "0.1194, 0.1542, 0.2568, 0.4404, 0.7392, 1.179, 1.769, 2.521, 3.438, 4.529",\
                 "0.1194, 0.1542, 0.257, 0.4404, 0.738, 1.179, 1.772, 2.519, 3.437, 4.529",\
                 "0.1194, 0.154, 0.257, 0.4406, 0.7386, 1.178, 1.771, 2.52, 3.434, 4.528",\
                 "0.1192, 0.154, 0.257, 0.4404, 0.7386, 1.179, 1.77, 2.518, 3.433, 4.527",\
                 "0.1194, 0.1534, 0.257, 0.44, 0.7392, 1.179, 1.768, 2.517, 3.428, 4.52",\
                 "0.1192, 0.1536, 0.257, 0.4402, 0.7386, 1.18, 1.769, 2.52, 3.429, 4.516",\
                 "0.1194, 0.1542, 0.2568, 0.44, 0.738, 1.179, 1.77, 2.518, 3.432, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1576, 0.217, 0.4112, 0.78, 1.376, 2.234, 3.363, 4.791, 6.529, 8.608",\
                 "0.1574, 0.2176, 0.4116, 0.78, 1.376, 2.235, 3.363, 4.791, 6.534, 8.604",\
                 "0.1576, 0.2168, 0.411, 0.7786, 1.376, 2.236, 3.366, 4.787, 6.532, 8.616",\
                 "0.1578, 0.2168, 0.4116, 0.78, 1.376, 2.235, 3.363, 4.791, 6.532, 8.611",\
                 "0.1572, 0.217, 0.4112, 0.7794, 1.376, 2.235, 3.363, 4.79, 6.533, 8.612",\
                 "0.1576, 0.217, 0.4112, 0.7794, 1.376, 2.235, 3.362, 4.789, 6.529, 8.61",\
                 "0.1576, 0.2168, 0.4114, 0.78, 1.376, 2.233, 3.364, 4.79, 6.534, 8.605",\
                 "0.1574, 0.2166, 0.411, 0.78, 1.376, 2.232, 3.362, 4.792, 6.527, 8.61",\
                 "0.157, 0.217, 0.4118, 0.7796, 1.376, 2.234, 3.363, 4.788, 6.533, 8.605",\
                 "0.158, 0.2172, 0.412, 0.78, 1.377, 2.236, 3.365, 4.787, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.3047, 0.3399, 0.4343, 0.5756, 0.7734, 1.044, 1.398, 1.843, 2.388, 3.036",\
                 "0.3219, 0.357, 0.4513, 0.5927, 0.7905, 1.061, 1.415, 1.86, 2.405, 3.054",\
                 "0.3887, 0.4237, 0.5181, 0.6594, 0.8572, 1.127, 1.481, 1.927, 2.472, 3.121",\
                 "0.5146, 0.5507, 0.6463, 0.7882, 0.9861, 1.256, 1.61, 2.056, 2.6, 3.248",\
                 "0.6677, 0.7073, 0.8099, 0.9575, 1.157, 1.427, 1.781, 2.226, 2.771, 3.419",\
                 "0.8451, 0.889, 0.9999, 1.154, 1.357, 1.628, 1.982, 2.427, 2.971, 3.62",\
                 "1.047, 1.095, 1.216, 1.38, 1.588, 1.861, 2.214, 2.659, 3.203, 3.851",\
                 "1.273, 1.326, 1.457, 1.632, 1.849, 2.127, 2.481, 2.926, 3.47, 4.118",\
                 "1.525, 1.582, 1.725, 1.913, 2.141, 2.425, 2.784, 3.232, 3.775, 4.423",\
                 "1.806, 1.867, 2.02, 2.221, 2.461, 2.753, 3.12, 3.574, 4.12, 4.768");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.4028, 0.4483, 0.5842, 0.8149, 1.164, 1.652, 2.295, 3.104, 4.094, 5.272",\
                 "0.4105, 0.456, 0.592, 0.8226, 1.172, 1.66, 2.302, 3.113, 4.1, 5.28",\
                 "0.4325, 0.4777, 0.6135, 0.8438, 1.193, 1.681, 2.323, 3.134, 4.121, 5.3",\
                 "0.4756, 0.5214, 0.6576, 0.8877, 1.236, 1.724, 2.366, 3.175, 4.166, 5.342",\
                 "0.5201, 0.5672, 0.7062, 0.9376, 1.286, 1.773, 2.415, 3.225, 4.214, 5.393",\
                 "0.5574, 0.6063, 0.749, 0.9822, 1.33, 1.816, 2.458, 3.267, 4.255, 5.431",\
                 "0.5779, 0.629, 0.7768, 1.015, 1.363, 1.849, 2.489, 3.297, 4.285, 5.464",\
                 "0.5767, 0.6308, 0.7841, 1.03, 1.383, 1.87, 2.51, 3.317, 4.302, 5.479",\
                 "0.5492, 0.6069, 0.7661, 1.019, 1.381, 1.875, 2.517, 3.322, 4.308, 5.483",\
                 "0.4946, 0.5551, 0.721, 0.9821, 1.352, 1.857, 2.506, 3.314, 4.299, 5.474");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.115, 0.1499, 0.2521, 0.4347, 0.7368, 1.177, 1.772, 2.521, 3.437, 4.527",\
                 "0.1152, 0.1503, 0.2512, 0.4345, 0.7359, 1.179, 1.771, 2.518, 3.434, 4.525",\
                 "0.1151, 0.1501, 0.252, 0.4344, 0.7369, 1.179, 1.771, 2.517, 3.436, 4.523",\
                 "0.1256, 0.159, 0.2581, 0.4382, 0.738, 1.178, 1.772, 2.52, 3.433, 4.529",\
                 "0.1478, 0.1826, 0.2798, 0.4522, 0.7426, 1.181, 1.772, 2.518, 3.436, 4.523",\
                 "0.1736, 0.2104, 0.307, 0.475, 0.7554, 1.185, 1.773, 2.518, 3.436, 4.522",\
                 "0.203, 0.2418, 0.3422, 0.5046, 0.774, 1.195, 1.775, 2.52, 3.434, 4.526",\
                 "0.2314, 0.2758, 0.3812, 0.5426, 0.8066, 1.215, 1.786, 2.524, 3.433, 4.524",\
                 "0.2638, 0.312, 0.4246, 0.5868, 0.844, 1.246, 1.808, 2.535, 3.441, 4.523",\
                 "0.296, 0.349, 0.4704, 0.6366, 0.8894, 1.285, 1.847, 2.569, 3.457, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1491, 0.2085, 0.3988, 0.7698, 1.373, 2.236, 3.363, 4.792, 6.535, 8.608",\
                 "0.1492, 0.2085, 0.3984, 0.7709, 1.374, 2.234, 3.364, 4.79, 6.535, 8.614",\
                 "0.1487, 0.208, 0.3982, 0.7697, 1.373, 2.233, 3.364, 4.79, 6.534, 8.613",\
                 "0.1531, 0.2118, 0.4011, 0.7706, 1.374, 2.236, 3.366, 4.788, 6.531, 8.612",\
                 "0.1618, 0.2212, 0.4112, 0.7762, 1.375, 2.235, 3.364, 4.792, 6.536, 8.613",\
                 "0.1758, 0.234, 0.424, 0.7834, 1.378, 2.235, 3.362, 4.789, 6.536, 8.62",\
                 "0.191, 0.2504, 0.4436, 0.799, 1.383, 2.236, 3.366, 4.791, 6.529, 8.61",\
                 "0.2102, 0.2704, 0.4658, 0.8246, 1.405, 2.246, 3.368, 4.79, 6.54, 8.608",\
                 "0.2314, 0.2924, 0.49, 0.852, 1.434, 2.268, 3.378, 4.793, 6.529, 8.618",\
                 "0.2528, 0.3152, 0.5156, 0.8842, 1.472, 2.311, 3.408, 4.807, 6.532, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.3051, 0.3405, 0.4355, 0.5783, 0.778, 1.049, 1.403, 1.849, 2.393, 3.041",\
                 "0.3221, 0.3576, 0.4527, 0.5954, 0.7951, 1.066, 1.42, 1.866, 2.41, 3.058",\
                 "0.3891, 0.4244, 0.5194, 0.6621, 0.8618, 1.133, 1.487, 1.933, 2.476, 3.125",\
                 "0.5155, 0.5518, 0.6478, 0.7911, 0.9906, 1.262, 1.615, 2.061, 2.605, 3.254",\
                 "0.6698, 0.7097, 0.8127, 0.9614, 1.162, 1.432, 1.786, 2.231, 2.775, 3.423",\
                 "0.8486, 0.8928, 1.003, 1.159, 1.361, 1.631, 1.984, 2.428, 2.972, 3.62",\
                 "1.052, 1.101, 1.221, 1.385, 1.589, 1.858, 2.21, 2.654, 3.198, 3.846",\
                 "1.281, 1.334, 1.464, 1.638, 1.845, 2.113, 2.464, 2.908, 3.451, 4.098",\
                 "1.536, 1.593, 1.734, 1.919, 2.129, 2.396, 2.746, 3.189, 3.731, 4.378",\
                 "1.819, 1.88, 2.031, 2.227, 2.441, 2.706, 3.055, 3.496, 4.038, 4.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1166, 0.1508, 0.2537, 0.4383, 0.7397, 1.179, 1.768, 2.514, 3.43, 4.52",\
                 "0.1166, 0.1509, 0.2533, 0.4383, 0.74, 1.179, 1.768, 2.515, 3.428, 4.519",\
                 "0.1168, 0.1512, 0.2535, 0.4385, 0.7399, 1.179, 1.767, 2.513, 3.43, 4.523",\
                 "0.1272, 0.16, 0.2594, 0.4412, 0.7398, 1.179, 1.768, 2.514, 3.43, 4.521",\
                 "0.1498, 0.1844, 0.2818, 0.455, 0.7438, 1.179, 1.767, 2.513, 3.426, 4.516",\
                 "0.1774, 0.212, 0.308, 0.4744, 0.7518, 1.181, 1.768, 2.515, 3.43, 4.522",\
                 "0.2066, 0.2446, 0.3412, 0.4986, 0.7596, 1.183, 1.768, 2.514, 3.429, 4.522",\
                 "0.2366, 0.2786, 0.3798, 0.5294, 0.7696, 1.183, 1.769, 2.516, 3.425, 4.515",\
                 "0.2688, 0.3154, 0.422, 0.5632, 0.783, 1.186, 1.769, 2.515, 3.429, 4.514",\
                 "0.301, 0.3522, 0.4652, 0.6, 0.7968, 1.189, 1.768, 2.514, 3.43, 4.515");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.3047, 0.3399, 0.4343, 0.5756, 0.7734, 1.044, 1.398, 1.843, 2.388, 3.036",\
                 "0.3219, 0.357, 0.4513, 0.5927, 0.7905, 1.061, 1.415, 1.86, 2.405, 3.054",\
                 "0.3887, 0.4237, 0.5181, 0.6594, 0.8572, 1.127, 1.481, 1.927, 2.472, 3.121",\
                 "0.5147, 0.5506, 0.6463, 0.7882, 0.986, 1.256, 1.61, 2.056, 2.6, 3.248",\
                 "0.6677, 0.7073, 0.8102, 0.9576, 1.157, 1.427, 1.781, 2.226, 2.77, 3.419",\
                 "0.845, 0.8889, 0.9999, 1.154, 1.357, 1.628, 1.982, 2.427, 2.971, 3.619",\
                 "1.047, 1.095, 1.215, 1.38, 1.588, 1.86, 2.214, 2.659, 3.203, 3.851",\
                 "1.273, 1.326, 1.457, 1.633, 1.85, 2.127, 2.482, 2.927, 3.47, 4.118",\
                 "1.526, 1.583, 1.725, 1.913, 2.141, 2.425, 2.784, 3.232, 3.775, 4.423",\
                 "1.806, 1.866, 2.02, 2.222, 2.46, 2.753, 3.12, 3.574, 4.12, 4.768");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.4027, 0.4483, 0.5842, 0.8148, 1.164, 1.652, 2.294, 3.105, 4.093, 5.272",\
                 "0.4105, 0.456, 0.592, 0.8226, 1.172, 1.66, 2.302, 3.113, 4.1, 5.28",\
                 "0.4323, 0.4776, 0.6136, 0.8441, 1.193, 1.681, 2.324, 3.133, 4.121, 5.297",\
                 "0.4756, 0.5215, 0.6576, 0.8878, 1.236, 1.724, 2.367, 3.175, 4.166, 5.343",\
                 "0.5201, 0.5672, 0.7062, 0.9377, 1.286, 1.773, 2.415, 3.225, 4.214, 5.393",\
                 "0.5575, 0.6064, 0.7484, 0.9814, 1.329, 1.816, 2.457, 3.265, 4.256, 5.434",\
                 "0.5776, 0.6291, 0.7769, 1.014, 1.363, 1.849, 2.489, 3.297, 4.285, 5.461",\
                 "0.5763, 0.631, 0.7837, 1.029, 1.383, 1.87, 2.51, 3.317, 4.303, 5.479",\
                 "0.5492, 0.6068, 0.7659, 1.019, 1.381, 1.875, 2.516, 3.323, 4.308, 5.484",\
                 "0.4947, 0.5551, 0.7204, 0.9819, 1.353, 1.857, 2.506, 3.315, 4.299, 5.474");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.115, 0.1499, 0.2521, 0.4347, 0.7368, 1.177, 1.772, 2.521, 3.437, 4.527",\
                 "0.1152, 0.1503, 0.2512, 0.4344, 0.7359, 1.179, 1.771, 2.518, 3.434, 4.525",\
                 "0.1151, 0.1501, 0.252, 0.4344, 0.7369, 1.179, 1.771, 2.517, 3.436, 4.523",\
                 "0.1256, 0.1587, 0.2581, 0.438, 0.737, 1.177, 1.771, 2.521, 3.436, 4.529",\
                 "0.1476, 0.1826, 0.2802, 0.452, 0.7424, 1.181, 1.772, 2.52, 3.437, 4.525",\
                 "0.1742, 0.21, 0.307, 0.4734, 0.7554, 1.185, 1.773, 2.519, 3.436, 4.526",\
                 "0.203, 0.2422, 0.3422, 0.505, 0.7738, 1.195, 1.775, 2.519, 3.432, 4.526",\
                 "0.2314, 0.276, 0.381, 0.544, 0.8052, 1.214, 1.785, 2.523, 3.433, 4.521",\
                 "0.264, 0.3116, 0.425, 0.5882, 0.8454, 1.246, 1.81, 2.536, 3.439, 4.523",\
                 "0.2968, 0.349, 0.4704, 0.6368, 0.89, 1.288, 1.846, 2.568, 3.457, 4.533");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1491, 0.2083, 0.399, 0.7696, 1.373, 2.232, 3.364, 4.791, 6.536, 8.612",\
                 "0.1492, 0.2085, 0.3985, 0.7707, 1.374, 2.234, 3.364, 4.789, 6.535, 8.614",\
                 "0.1485, 0.2073, 0.3983, 0.7695, 1.374, 2.232, 3.364, 4.792, 6.542, 8.611",\
                 "0.1535, 0.2119, 0.4011, 0.7706, 1.374, 2.231, 3.364, 4.793, 6.534, 8.61",\
                 "0.1618, 0.2212, 0.4112, 0.7766, 1.378, 2.235, 3.364, 4.792, 6.536, 8.613",\
                 "0.1756, 0.234, 0.424, 0.7832, 1.378, 2.233, 3.364, 4.789, 6.533, 8.609",\
                 "0.1914, 0.2498, 0.4446, 0.7994, 1.385, 2.235, 3.364, 4.792, 6.528, 8.608",\
                 "0.2104, 0.2696, 0.467, 0.8248, 1.404, 2.243, 3.368, 4.79, 6.542, 8.608",\
                 "0.2322, 0.2926, 0.4898, 0.8534, 1.434, 2.269, 3.379, 4.793, 6.529, 8.602",\
                 "0.2528, 0.3154, 0.5162, 0.8848, 1.472, 2.311, 3.412, 4.808, 6.532, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.3051, 0.3406, 0.4355, 0.5783, 0.778, 1.049, 1.403, 1.849, 2.393, 3.041",\
                 "0.3222, 0.3576, 0.4526, 0.5954, 0.7951, 1.066, 1.42, 1.866, 2.41, 3.059",\
                 "0.3891, 0.4244, 0.5193, 0.6621, 0.8618, 1.133, 1.487, 1.933, 2.476, 3.125",\
                 "0.5154, 0.5517, 0.6477, 0.791, 0.9906, 1.261, 1.615, 2.061, 2.605, 3.253",\
                 "0.6697, 0.7096, 0.8127, 0.9614, 1.162, 1.432, 1.786, 2.231, 2.775, 3.423",\
                 "0.8487, 0.8927, 1.004, 1.159, 1.361, 1.631, 1.984, 2.429, 2.972, 3.621",\
                 "1.052, 1.101, 1.221, 1.385, 1.589, 1.858, 2.21, 2.655, 3.198, 3.846",\
                 "1.281, 1.334, 1.465, 1.638, 1.845, 2.112, 2.464, 2.907, 3.45, 4.098",\
                 "1.536, 1.593, 1.734, 1.919, 2.13, 2.396, 2.746, 3.189, 3.731, 4.378",\
                 "1.819, 1.88, 2.031, 2.227, 2.441, 2.707, 3.055, 3.497, 4.038, 4.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1167, 0.151, 0.2536, 0.4387, 0.7399, 1.179, 1.767, 2.515, 3.43, 4.522",\
                 "0.1167, 0.1511, 0.2535, 0.4386, 0.7393, 1.179, 1.768, 2.512, 3.43, 4.523",\
                 "0.1168, 0.1513, 0.2535, 0.4384, 0.7399, 1.179, 1.767, 2.513, 3.43, 4.523",\
                 "0.127, 0.16, 0.2595, 0.4412, 0.7404, 1.179, 1.767, 2.513, 3.428, 4.519",\
                 "0.1502, 0.1838, 0.2818, 0.4552, 0.7442, 1.179, 1.767, 2.514, 3.426, 4.523",\
                 "0.1764, 0.2118, 0.3082, 0.4744, 0.7514, 1.18, 1.768, 2.514, 3.431, 4.523",\
                 "0.2072, 0.2446, 0.3416, 0.4986, 0.7588, 1.183, 1.767, 2.514, 3.429, 4.521",\
                 "0.2366, 0.279, 0.3794, 0.5294, 0.7694, 1.183, 1.769, 2.515, 3.426, 4.513",\
                 "0.2694, 0.3152, 0.4212, 0.5638, 0.7836, 1.187, 1.768, 2.517, 3.429, 4.515",\
                 "0.3034, 0.352, 0.4652, 0.5996, 0.7972, 1.189, 1.768, 2.514, 3.426, 4.515");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.3048, 0.3401, 0.4345, 0.5758, 0.7736, 1.044, 1.398, 1.843, 2.388, 3.036",\
                 "0.3219, 0.3572, 0.4516, 0.5929, 0.7907, 1.061, 1.415, 1.86, 2.405, 3.053",\
                 "0.3889, 0.4239, 0.5182, 0.6595, 0.8574, 1.128, 1.481, 1.927, 2.471, 3.12",\
                 "0.5148, 0.5508, 0.6464, 0.7882, 0.9861, 1.256, 1.61, 2.056, 2.6, 3.249",\
                 "0.6679, 0.7076, 0.8102, 0.9576, 1.157, 1.427, 1.781, 2.226, 2.77, 3.418",\
                 "0.8454, 0.889, 0.9998, 1.154, 1.357, 1.628, 1.982, 2.427, 2.97, 3.619",\
                 "1.047, 1.095, 1.216, 1.38, 1.589, 1.861, 2.214, 2.659, 3.203, 3.851",\
                 "1.273, 1.326, 1.457, 1.633, 1.85, 2.127, 2.482, 2.927, 3.47, 4.118",\
                 "1.526, 1.583, 1.725, 1.913, 2.141, 2.425, 2.785, 3.232, 3.775, 4.423",\
                 "1.806, 1.867, 2.02, 2.222, 2.461, 2.754, 3.121, 3.574, 4.12, 4.768");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.4068, 0.4521, 0.5882, 0.8189, 1.168, 1.656, 2.299, 3.107, 4.095, 5.273",\
                 "0.4144, 0.4599, 0.5961, 0.8267, 1.176, 1.664, 2.307, 3.116, 4.103, 5.28",\
                 "0.4359, 0.4813, 0.6171, 0.8477, 1.197, 1.685, 2.327, 3.135, 4.124, 5.302",\
                 "0.478, 0.524, 0.6601, 0.8903, 1.239, 1.727, 2.369, 3.178, 4.165, 5.342",\
                 "0.5216, 0.5689, 0.7077, 0.9395, 1.288, 1.775, 2.417, 3.226, 4.213, 5.391",\
                 "0.5585, 0.6076, 0.7501, 0.9831, 1.33, 1.817, 2.459, 3.267, 4.254, 5.43",\
                 "0.5791, 0.6303, 0.7778, 1.016, 1.365, 1.85, 2.49, 3.298, 4.285, 5.462",\
                 "0.5772, 0.6316, 0.7847, 1.031, 1.384, 1.871, 2.51, 3.317, 4.303, 5.48",\
                 "0.55, 0.6075, 0.767, 1.021, 1.383, 1.876, 2.517, 3.324, 4.309, 5.484",\
                 "0.4959, 0.5565, 0.7221, 0.9835, 1.354, 1.857, 2.507, 3.315, 4.3, 5.475");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1151, 0.1502, 0.2516, 0.4342, 0.7349, 1.179, 1.768, 2.516, 3.431, 4.524",\
                 "0.1152, 0.1499, 0.2519, 0.4344, 0.7356, 1.179, 1.769, 2.518, 3.431, 4.521",\
                 "0.1151, 0.1501, 0.2519, 0.4352, 0.7355, 1.179, 1.769, 2.517, 3.43, 4.524",\
                 "0.1256, 0.1592, 0.2579, 0.4376, 0.7366, 1.178, 1.768, 2.517, 3.43, 4.52",\
                 "0.148, 0.1824, 0.2804, 0.452, 0.7432, 1.18, 1.77, 2.516, 3.43, 4.524",\
                 "0.1736, 0.2096, 0.3074, 0.4744, 0.7556, 1.185, 1.772, 2.519, 3.434, 4.523",\
                 "0.2012, 0.2414, 0.342, 0.5036, 0.7746, 1.194, 1.775, 2.52, 3.435, 4.523",\
                 "0.2336, 0.2754, 0.381, 0.5424, 0.805, 1.214, 1.785, 2.525, 3.433, 4.522",\
                 "0.2636, 0.3118, 0.425, 0.587, 0.8446, 1.246, 1.81, 2.536, 3.439, 4.523",\
                 "0.296, 0.3492, 0.4706, 0.6364, 0.8904, 1.287, 1.848, 2.567, 3.459, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1492, 0.2091, 0.3996, 0.7713, 1.376, 2.233, 3.363, 4.789, 6.532, 8.608",\
                 "0.1497, 0.2081, 0.3995, 0.7714, 1.376, 2.236, 3.364, 4.788, 6.532, 8.608",\
                 "0.1492, 0.2083, 0.3997, 0.77, 1.376, 2.232, 3.362, 4.79, 6.53, 8.603",\
                 "0.1531, 0.2122, 0.4017, 0.771, 1.373, 2.236, 3.365, 4.79, 6.527, 8.605",\
                 "0.162, 0.2214, 0.4118, 0.777, 1.375, 2.234, 3.363, 4.789, 6.532, 8.604",\
                 "0.1754, 0.2344, 0.4244, 0.783, 1.378, 2.235, 3.366, 4.788, 6.527, 8.605",\
                 "0.191, 0.2504, 0.4432, 0.799, 1.385, 2.237, 3.366, 4.798, 6.528, 8.606",\
                 "0.2106, 0.27, 0.4674, 0.824, 1.405, 2.244, 3.367, 4.79, 6.533, 8.602",\
                 "0.2322, 0.292, 0.4904, 0.853, 1.435, 2.267, 3.376, 4.792, 6.529, 8.62",\
                 "0.2528, 0.3146, 0.5162, 0.8834, 1.472, 2.313, 3.41, 4.808, 6.534, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.3054, 0.3408, 0.436, 0.579, 0.7782, 1.05, 1.407, 1.853, 2.397, 3.046",\
                 "0.3225, 0.3579, 0.4531, 0.5961, 0.7953, 1.067, 1.424, 1.87, 2.414, 3.062",\
                 "0.3894, 0.4246, 0.5198, 0.6629, 0.862, 1.135, 1.491, 1.937, 2.481, 3.129",\
                 "0.5157, 0.5518, 0.6481, 0.7919, 0.9912, 1.264, 1.62, 2.065, 2.609, 3.258",\
                 "0.6695, 0.7095, 0.813, 0.9624, 1.164, 1.437, 1.791, 2.236, 2.78, 3.428",\
                 "0.8486, 0.8926, 1.004, 1.161, 1.365, 1.639, 1.992, 2.437, 2.981, 3.629",\
                 "1.052, 1.1, 1.222, 1.388, 1.598, 1.871, 2.224, 2.668, 3.211, 3.859",\
                 "1.281, 1.334, 1.466, 1.643, 1.861, 2.135, 2.486, 2.93, 3.473, 4.121",\
                 "1.535, 1.593, 1.737, 1.926, 2.154, 2.43, 2.78, 3.223, 3.765, 4.412",\
                 "1.818, 1.88, 2.034, 2.237, 2.475, 2.756, 3.105, 3.547, 4.088, 4.735");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1162, 0.1509, 0.2541, 0.4386, 0.7389, 1.186, 1.776, 2.516, 3.429, 4.516",\
                 "0.1161, 0.1507, 0.2541, 0.4385, 0.7391, 1.186, 1.776, 2.516, 3.428, 4.52",\
                 "0.1164, 0.1512, 0.2544, 0.4388, 0.7395, 1.186, 1.775, 2.515, 3.427, 4.52",\
                 "0.1266, 0.1603, 0.2608, 0.4414, 0.7418, 1.187, 1.772, 2.516, 3.428, 4.52",\
                 "0.1494, 0.1838, 0.2834, 0.457, 0.7494, 1.187, 1.77, 2.515, 3.429, 4.521",\
                 "0.1756, 0.2122, 0.3106, 0.479, 0.7614, 1.189, 1.771, 2.513, 3.429, 4.518",\
                 "0.2048, 0.2446, 0.3456, 0.5088, 0.777, 1.194, 1.771, 2.515, 3.429, 4.516",\
                 "0.236, 0.2798, 0.385, 0.5478, 0.8002, 1.2, 1.772, 2.515, 3.426, 4.516",\
                 "0.2702, 0.3168, 0.4292, 0.5918, 0.832, 1.211, 1.774, 2.515, 3.428, 4.514",\
                 "0.301, 0.3544, 0.4764, 0.6408, 0.8696, 1.229, 1.778, 2.517, 3.427, 4.516");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.3048, 0.3401, 0.4345, 0.5758, 0.7736, 1.044, 1.398, 1.843, 2.388, 3.036",\
                 "0.3219, 0.3572, 0.4516, 0.5929, 0.7907, 1.061, 1.415, 1.86, 2.405, 3.053",\
                 "0.3889, 0.4239, 0.5182, 0.6595, 0.8574, 1.128, 1.481, 1.927, 2.471, 3.12",\
                 "0.5148, 0.5508, 0.6464, 0.7882, 0.9861, 1.256, 1.61, 2.056, 2.6, 3.249",\
                 "0.6679, 0.7076, 0.8102, 0.9576, 1.157, 1.427, 1.781, 2.226, 2.77, 3.419",\
                 "0.8454, 0.889, 0.9998, 1.154, 1.357, 1.628, 1.982, 2.427, 2.97, 3.619",\
                 "1.047, 1.095, 1.216, 1.38, 1.589, 1.861, 2.214, 2.659, 3.203, 3.851",\
                 "1.274, 1.326, 1.457, 1.633, 1.85, 2.127, 2.482, 2.927, 3.47, 4.118",\
                 "1.526, 1.583, 1.725, 1.913, 2.141, 2.425, 2.785, 3.232, 3.775, 4.423",\
                 "1.806, 1.867, 2.02, 2.222, 2.461, 2.754, 3.121, 3.574, 4.121, 4.769");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.4067, 0.4521, 0.5882, 0.8189, 1.168, 1.656, 2.299, 3.107, 4.095, 5.273",\
                 "0.4144, 0.4599, 0.5961, 0.8267, 1.176, 1.664, 2.307, 3.116, 4.103, 5.28",\
                 "0.4359, 0.4813, 0.6171, 0.8477, 1.197, 1.685, 2.327, 3.135, 4.124, 5.302",\
                 "0.478, 0.524, 0.6601, 0.8903, 1.239, 1.727, 2.369, 3.178, 4.165, 5.342",\
                 "0.5216, 0.5689, 0.7077, 0.9395, 1.288, 1.775, 2.417, 3.226, 4.213, 5.391",\
                 "0.5585, 0.6076, 0.7498, 0.983, 1.33, 1.817, 2.458, 3.267, 4.254, 5.431",\
                 "0.5791, 0.6303, 0.7778, 1.016, 1.364, 1.85, 2.49, 3.298, 4.286, 5.462",\
                 "0.5772, 0.6318, 0.7847, 1.031, 1.384, 1.871, 2.51, 3.317, 4.303, 5.48",\
                 "0.55, 0.6075, 0.767, 1.021, 1.383, 1.876, 2.518, 3.324, 4.309, 5.484",\
                 "0.4959, 0.5565, 0.7225, 0.9838, 1.354, 1.857, 2.507, 3.315, 4.3, 5.475");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1151, 0.1502, 0.2516, 0.4342, 0.7349, 1.179, 1.768, 2.516, 3.431, 4.524",\
                 "0.1152, 0.1499, 0.2519, 0.4344, 0.7356, 1.179, 1.769, 2.518, 3.431, 4.521",\
                 "0.1151, 0.1501, 0.2519, 0.4352, 0.7355, 1.179, 1.769, 2.517, 3.43, 4.524",\
                 "0.1256, 0.1592, 0.2579, 0.4376, 0.7366, 1.178, 1.768, 2.517, 3.43, 4.52",\
                 "0.148, 0.1824, 0.2804, 0.4518, 0.7434, 1.18, 1.769, 2.518, 3.433, 4.522",\
                 "0.1736, 0.2098, 0.307, 0.4736, 0.7556, 1.185, 1.772, 2.519, 3.432, 4.525",\
                 "0.2014, 0.2414, 0.3418, 0.5036, 0.7746, 1.194, 1.775, 2.52, 3.434, 4.523",\
                 "0.2336, 0.2758, 0.381, 0.543, 0.8052, 1.213, 1.784, 2.525, 3.433, 4.523",\
                 "0.2636, 0.3118, 0.4244, 0.587, 0.844, 1.246, 1.809, 2.536, 3.44, 4.523",\
                 "0.296, 0.3492, 0.4718, 0.6362, 0.8892, 1.286, 1.847, 2.569, 3.457, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1492, 0.2091, 0.3996, 0.7713, 1.376, 2.234, 3.364, 4.789, 6.532, 8.608",\
                 "0.1497, 0.2081, 0.3995, 0.7714, 1.376, 2.236, 3.364, 4.788, 6.532, 8.608",\
                 "0.1492, 0.2083, 0.3997, 0.77, 1.376, 2.232, 3.362, 4.79, 6.53, 8.603",\
                 "0.1531, 0.2122, 0.4017, 0.771, 1.373, 2.236, 3.365, 4.79, 6.527, 8.605",\
                 "0.162, 0.2214, 0.4118, 0.777, 1.376, 2.234, 3.363, 4.789, 6.532, 8.604",\
                 "0.1754, 0.2344, 0.4244, 0.783, 1.378, 2.235, 3.363, 4.791, 6.527, 8.609",\
                 "0.191, 0.2504, 0.4432, 0.799, 1.385, 2.237, 3.366, 4.791, 6.532, 8.604",\
                 "0.2106, 0.2698, 0.4674, 0.824, 1.405, 2.244, 3.367, 4.79, 6.542, 8.604",\
                 "0.2322, 0.292, 0.4904, 0.853, 1.435, 2.267, 3.376, 4.793, 6.53, 8.614",\
                 "0.2528, 0.3146, 0.515, 0.8838, 1.472, 2.309, 3.41, 4.806, 6.532, 8.604");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.3053, 0.3408, 0.436, 0.5791, 0.7782, 1.05, 1.407, 1.853, 2.397, 3.045",\
                 "0.3225, 0.3579, 0.4531, 0.5961, 0.7953, 1.067, 1.424, 1.87, 2.414, 3.062",\
                 "0.3894, 0.4246, 0.5197, 0.6629, 0.8621, 1.135, 1.491, 1.937, 2.481, 3.129",\
                 "0.5156, 0.5518, 0.6481, 0.7919, 0.9912, 1.264, 1.62, 2.065, 2.609, 3.257",\
                 "0.6695, 0.7094, 0.813, 0.9624, 1.164, 1.437, 1.791, 2.236, 2.78, 3.428",\
                 "0.8484, 0.8925, 1.004, 1.161, 1.366, 1.639, 1.992, 2.437, 2.98, 3.629",\
                 "1.052, 1.1, 1.222, 1.388, 1.598, 1.871, 2.224, 2.668, 3.211, 3.859",\
                 "1.281, 1.333, 1.466, 1.643, 1.861, 2.135, 2.486, 2.93, 3.473, 4.121",\
                 "1.535, 1.593, 1.736, 1.926, 2.154, 2.43, 2.78, 3.223, 3.765, 4.413",\
                 "1.818, 1.879, 2.034, 2.238, 2.476, 2.756, 3.106, 3.547, 4.089, 4.735");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1164, 0.1507, 0.2542, 0.4384, 0.739, 1.186, 1.776, 2.516, 3.428, 4.519",\
                 "0.1161, 0.1509, 0.2541, 0.4384, 0.7392, 1.186, 1.776, 2.515, 3.428, 4.52",\
                 "0.1164, 0.1512, 0.2543, 0.4386, 0.7396, 1.186, 1.774, 2.514, 3.427, 4.52",\
                 "0.1267, 0.1602, 0.2604, 0.4416, 0.7416, 1.187, 1.773, 2.516, 3.426, 4.521",\
                 "0.1492, 0.184, 0.2832, 0.4572, 0.7492, 1.187, 1.77, 2.515, 3.428, 4.521",\
                 "0.1754, 0.212, 0.3106, 0.479, 0.7614, 1.19, 1.771, 2.515, 3.429, 4.521",\
                 "0.2048, 0.245, 0.3458, 0.509, 0.7766, 1.193, 1.771, 2.514, 3.428, 4.516",\
                 "0.236, 0.2792, 0.3856, 0.5478, 0.8006, 1.2, 1.772, 2.516, 3.426, 4.516",\
                 "0.2686, 0.3168, 0.4296, 0.592, 0.8322, 1.211, 1.774, 2.515, 3.426, 4.514",\
                 "0.3016, 0.354, 0.4762, 0.6414, 0.8696, 1.229, 1.777, 2.517, 3.427, 4.516");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.3048, 0.3401, 0.4345, 0.5758, 0.7736, 1.044, 1.398, 1.843, 2.388, 3.036",\
                 "0.3219, 0.3572, 0.4516, 0.5929, 0.7907, 1.061, 1.415, 1.86, 2.405, 3.053",\
                 "0.3889, 0.4239, 0.5182, 0.6595, 0.8574, 1.128, 1.481, 1.927, 2.471, 3.12",\
                 "0.5148, 0.5508, 0.6464, 0.7882, 0.9861, 1.256, 1.61, 2.056, 2.6, 3.249",\
                 "0.6679, 0.7076, 0.8102, 0.9576, 1.157, 1.427, 1.781, 2.226, 2.77, 3.419",\
                 "0.8454, 0.889, 0.9998, 1.154, 1.357, 1.628, 1.982, 2.427, 2.97, 3.619",\
                 "1.047, 1.095, 1.216, 1.38, 1.589, 1.861, 2.214, 2.659, 3.203, 3.851",\
                 "1.274, 1.326, 1.457, 1.633, 1.85, 2.127, 2.482, 2.927, 3.47, 4.118",\
                 "1.526, 1.583, 1.725, 1.913, 2.141, 2.425, 2.785, 3.232, 3.775, 4.423",\
                 "1.806, 1.867, 2.02, 2.222, 2.461, 2.754, 3.121, 3.574, 4.121, 4.769");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.4067, 0.4521, 0.5882, 0.8189, 1.168, 1.656, 2.299, 3.107, 4.095, 5.273",\
                 "0.4144, 0.4599, 0.5961, 0.8267, 1.176, 1.664, 2.307, 3.116, 4.103, 5.28",\
                 "0.4359, 0.4813, 0.6171, 0.8477, 1.197, 1.685, 2.327, 3.135, 4.124, 5.302",\
                 "0.478, 0.524, 0.6601, 0.8903, 1.239, 1.727, 2.369, 3.178, 4.165, 5.342",\
                 "0.5216, 0.5689, 0.7077, 0.9395, 1.288, 1.775, 2.417, 3.226, 4.213, 5.391",\
                 "0.5585, 0.6076, 0.7498, 0.983, 1.33, 1.817, 2.458, 3.267, 4.254, 5.431",\
                 "0.5791, 0.6303, 0.7778, 1.016, 1.364, 1.85, 2.49, 3.298, 4.286, 5.462",\
                 "0.5772, 0.6318, 0.7847, 1.031, 1.384, 1.871, 2.51, 3.317, 4.303, 5.48",\
                 "0.55, 0.6075, 0.767, 1.021, 1.383, 1.876, 2.518, 3.324, 4.309, 5.484",\
                 "0.4959, 0.5565, 0.7225, 0.9838, 1.354, 1.857, 2.507, 3.315, 4.3, 5.475");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.115, 0.1499, 0.2521, 0.4347, 0.7368, 1.177, 1.772, 2.521, 3.437, 4.527",\
                 "0.1152, 0.1503, 0.2512, 0.4344, 0.7359, 1.179, 1.771, 2.518, 3.434, 4.525",\
                 "0.1151, 0.1501, 0.252, 0.4344, 0.7369, 1.179, 1.771, 2.517, 3.436, 4.523",\
                 "0.1256, 0.1587, 0.2581, 0.438, 0.737, 1.177, 1.771, 2.521, 3.436, 4.529",\
                 "0.1476, 0.1826, 0.2802, 0.452, 0.7424, 1.181, 1.772, 2.52, 3.437, 4.525",\
                 "0.1742, 0.21, 0.307, 0.4734, 0.7554, 1.185, 1.773, 2.519, 3.436, 4.526",\
                 "0.203, 0.2422, 0.3422, 0.505, 0.7738, 1.195, 1.775, 2.519, 3.432, 4.526",\
                 "0.2314, 0.276, 0.381, 0.544, 0.8052, 1.214, 1.785, 2.523, 3.433, 4.521",\
                 "0.264, 0.3116, 0.425, 0.5882, 0.8454, 1.246, 1.81, 2.536, 3.439, 4.523",\
                 "0.2968, 0.349, 0.4704, 0.6368, 0.89, 1.288, 1.846, 2.568, 3.457, 4.533");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1491, 0.2085, 0.3988, 0.7698, 1.373, 2.236, 3.363, 4.792, 6.535, 8.608",\
                 "0.1492, 0.2085, 0.3984, 0.7709, 1.374, 2.234, 3.364, 4.79, 6.535, 8.614",\
                 "0.1487, 0.208, 0.3982, 0.7697, 1.373, 2.233, 3.364, 4.79, 6.534, 8.613",\
                 "0.1531, 0.2118, 0.4011, 0.7706, 1.374, 2.236, 3.366, 4.788, 6.531, 8.612",\
                 "0.1618, 0.2212, 0.4112, 0.7762, 1.375, 2.235, 3.364, 4.792, 6.536, 8.613",\
                 "0.1758, 0.234, 0.424, 0.7834, 1.378, 2.235, 3.362, 4.789, 6.536, 8.62",\
                 "0.191, 0.2504, 0.4436, 0.799, 1.383, 2.236, 3.366, 4.791, 6.529, 8.61",\
                 "0.2102, 0.2704, 0.4658, 0.8246, 1.405, 2.246, 3.368, 4.79, 6.54, 8.608",\
                 "0.2314, 0.2924, 0.49, 0.852, 1.434, 2.268, 3.378, 4.793, 6.529, 8.618",\
                 "0.2528, 0.3152, 0.5156, 0.8842, 1.472, 2.311, 3.408, 4.807, 6.532, 8.602");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.8654, 0.9116, 1.048, 1.278, 1.627, 2.114, 2.756, 3.566, 4.555, 5.731",\
                 "0.8831, 0.9295, 1.066, 1.296, 1.645, 2.132, 2.774, 3.583, 4.572, 5.746",\
                 "0.9489, 0.9953, 1.132, 1.362, 1.711, 2.198, 2.84, 3.649, 4.638, 5.812",\
                 "1.073, 1.12, 1.256, 1.486, 1.835, 2.322, 2.964, 3.774, 4.764, 5.939",\
                 "1.235, 1.281, 1.418, 1.648, 1.996, 2.483, 3.125, 3.935, 4.923, 6.097",\
                 "1.42, 1.466, 1.603, 1.834, 2.182, 2.669, 3.31, 4.119, 5.107, 6.286",\
                 "1.63, 1.677, 1.814, 2.044, 2.392, 2.879, 3.52, 4.329, 5.318, 6.497",\
                 "1.86, 1.907, 2.045, 2.275, 2.622, 3.109, 3.75, 4.558, 5.546, 6.724",\
                 "2.11, 2.157, 2.294, 2.524, 2.871, 3.358, 3.999, 4.807, 5.794, 6.97",\
                 "2.376, 2.424, 2.562, 2.792, 3.139, 3.625, 4.266, 5.074, 6.061, 7.237");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1562, 0.2155, 0.4053, 0.7732, 1.375, 2.232, 3.369, 4.791, 6.531, 8.62",\
                 "0.1571, 0.2158, 0.4052, 0.7732, 1.375, 2.234, 3.363, 4.791, 6.534, 8.61",\
                 "0.157, 0.2156, 0.4048, 0.773, 1.375, 2.235, 3.363, 4.791, 6.534, 8.611",\
                 "0.1574, 0.2158, 0.4054, 0.7734, 1.375, 2.232, 3.368, 4.791, 6.532, 8.622",\
                 "0.157, 0.2172, 0.4062, 0.7734, 1.374, 2.236, 3.368, 4.79, 6.534, 8.609",\
                 "0.1588, 0.2182, 0.4074, 0.7742, 1.377, 2.235, 3.363, 4.787, 6.535, 8.611",\
                 "0.1602, 0.2184, 0.4084, 0.7756, 1.376, 2.234, 3.363, 4.79, 6.535, 8.608",\
                 "0.1624, 0.2214, 0.4104, 0.776, 1.377, 2.231, 3.363, 4.793, 6.53, 8.611",\
                 "0.1658, 0.2236, 0.413, 0.7776, 1.378, 2.232, 3.364, 4.786, 6.538, 8.598",\
                 "0.1672, 0.2254, 0.4142, 0.7792, 1.376, 2.232, 3.363, 4.788, 6.525, 8.61");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.8657, 0.9118, 1.048, 1.279, 1.627, 2.115, 2.756, 3.566, 4.555, 5.729",\
                 "0.8832, 0.9296, 1.066, 1.296, 1.645, 2.132, 2.774, 3.584, 4.573, 5.746",\
                 "0.949, 0.9954, 1.132, 1.362, 1.711, 2.198, 2.84, 3.649, 4.638, 5.812",\
                 "1.074, 1.119, 1.256, 1.486, 1.835, 2.322, 2.964, 3.774, 4.763, 5.94",\
                 "1.235, 1.281, 1.418, 1.648, 1.996, 2.484, 3.126, 3.935, 4.923, 6.101",\
                 "1.42, 1.467, 1.603, 1.834, 2.182, 2.669, 3.311, 4.119, 5.11, 6.288",\
                 "1.63, 1.676, 1.813, 2.044, 2.391, 2.878, 3.52, 4.329, 5.319, 6.494",\
                 "1.86, 1.907, 2.044, 2.274, 2.622, 3.108, 3.75, 4.558, 5.546, 6.726",\
                 "2.109, 2.156, 2.294, 2.524, 2.871, 3.357, 3.999, 4.807, 5.794, 6.97",\
                 "2.376, 2.423, 2.562, 2.791, 3.138, 3.624, 4.266, 5.074, 6.061, 7.237");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1567, 0.2156, 0.4048, 0.773, 1.375, 2.235, 3.363, 4.792, 6.534, 8.613",\
                 "0.1569, 0.2156, 0.4048, 0.773, 1.375, 2.235, 3.363, 4.791, 6.534, 8.611",\
                 "0.157, 0.2156, 0.4048, 0.773, 1.375, 2.235, 3.363, 4.791, 6.534, 8.61",\
                 "0.157, 0.2164, 0.4054, 0.773, 1.375, 2.236, 3.363, 4.791, 6.535, 8.612",\
                 "0.1576, 0.2172, 0.4064, 0.7734, 1.375, 2.234, 3.364, 4.79, 6.535, 8.611",\
                 "0.1588, 0.2182, 0.4068, 0.7746, 1.375, 2.236, 3.368, 4.789, 6.531, 8.607",\
                 "0.1608, 0.219, 0.409, 0.7746, 1.374, 2.235, 3.368, 4.789, 6.532, 8.62",\
                 "0.1626, 0.2208, 0.4102, 0.7766, 1.377, 2.231, 3.361, 4.795, 6.531, 8.607",\
                 "0.1646, 0.2234, 0.4122, 0.7772, 1.375, 2.234, 3.361, 4.787, 6.538, 8.599",\
                 "0.167, 0.2262, 0.414, 0.7788, 1.376, 2.233, 3.362, 4.787, 6.526, 8.618");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("1.305, 1.351, 1.488, 1.718, 2.065, 2.552, 3.194, 4.003, 4.991, 6.168",\
                 "1.321, 1.367, 1.504, 1.734, 2.082, 2.569, 3.21, 4.018, 5.007, 6.183",\
                 "1.383, 1.429, 1.567, 1.796, 2.144, 2.63, 3.272, 4.081, 5.069, 6.247",\
                 "1.518, 1.565, 1.702, 1.931, 2.279, 2.766, 3.408, 4.217, 5.205, 6.379",\
                 "1.742, 1.788, 1.926, 2.155, 2.503, 2.99, 3.631, 4.44, 5.428, 6.605",\
                 "2.043, 2.089, 2.227, 2.456, 2.803, 3.29, 3.932, 4.74, 5.729, 6.905",\
                 "2.395, 2.442, 2.579, 2.809, 3.156, 3.642, 4.283, 5.093, 6.081, 7.258",\
                 "2.802, 2.848, 2.986, 3.215, 3.562, 4.049, 4.69, 5.498, 6.487, 7.662",\
                 "3.269, 3.316, 3.452, 3.682, 4.029, 4.516, 5.156, 5.964, 6.952, 8.128",\
                 "3.796, 3.844, 3.981, 4.211, 4.556, 5.043, 5.684, 6.492, 7.478, 8.656");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1618, 0.2198, 0.4092, 0.7762, 1.376, 2.232, 3.364, 4.791, 6.537, 8.609",\
                 "0.1612, 0.2202, 0.4094, 0.775, 1.377, 2.236, 3.37, 4.79, 6.533, 8.61",\
                 "0.1618, 0.2204, 0.4092, 0.7752, 1.374, 2.232, 3.364, 4.789, 6.53, 8.608",\
                 "0.1618, 0.22, 0.4088, 0.7748, 1.376, 2.232, 3.364, 4.79, 6.533, 8.606",\
                 "0.1624, 0.2204, 0.4094, 0.775, 1.375, 2.234, 3.365, 4.79, 6.533, 8.608",\
                 "0.1624, 0.221, 0.4098, 0.7754, 1.378, 2.235, 3.369, 4.79, 6.533, 8.609",\
                 "0.164, 0.2214, 0.4106, 0.775, 1.375, 2.235, 3.362, 4.788, 6.531, 8.608",\
                 "0.1636, 0.2228, 0.411, 0.7758, 1.376, 2.234, 3.368, 4.79, 6.534, 8.609",\
                 "0.1644, 0.223, 0.4112, 0.7764, 1.375, 2.231, 3.362, 4.789, 6.527, 8.608",\
                 "0.1664, 0.2238, 0.4126, 0.7776, 1.376, 2.235, 3.362, 4.786, 6.528, 8.602");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("1.305, 1.352, 1.489, 1.719, 2.066, 2.553, 3.195, 4.004, 4.992, 6.169",\
                 "1.321, 1.367, 1.504, 1.734, 2.081, 2.568, 3.21, 4.019, 5.007, 6.185",\
                 "1.383, 1.429, 1.567, 1.796, 2.144, 2.631, 3.272, 4.081, 5.07, 6.247",\
                 "1.518, 1.565, 1.702, 1.932, 2.279, 2.766, 3.408, 4.217, 5.205, 6.382",\
                 "1.742, 1.789, 1.926, 2.155, 2.503, 2.99, 3.632, 4.44, 5.428, 6.606",\
                 "2.043, 2.089, 2.226, 2.456, 2.803, 3.29, 3.932, 4.741, 5.729, 6.906",\
                 "2.396, 2.442, 2.579, 2.809, 3.156, 3.642, 4.284, 5.093, 6.081, 7.258",\
                 "2.802, 2.848, 2.986, 3.215, 3.562, 4.049, 4.69, 5.498, 6.486, 7.662",\
                 "3.269, 3.316, 3.454, 3.682, 4.029, 4.515, 5.156, 5.964, 6.951, 8.129",\
                 "3.797, 3.844, 3.981, 4.211, 4.557, 5.043, 5.684, 6.493, 7.479, 8.656");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1622, 0.2204, 0.4088, 0.7748, 1.375, 2.232, 3.365, 4.789, 6.533, 8.604",\
                 "0.162, 0.22, 0.4088, 0.775, 1.376, 2.233, 3.364, 4.789, 6.531, 8.607",\
                 "0.162, 0.2204, 0.4092, 0.7752, 1.374, 2.233, 3.364, 4.789, 6.53, 8.609",\
                 "0.1622, 0.2204, 0.409, 0.775, 1.375, 2.231, 3.365, 4.789, 6.533, 8.603",\
                 "0.162, 0.2202, 0.409, 0.7746, 1.376, 2.231, 3.364, 4.791, 6.533, 8.603",\
                 "0.1628, 0.221, 0.41, 0.775, 1.376, 2.232, 3.369, 4.789, 6.533, 8.61",\
                 "0.1628, 0.2214, 0.4102, 0.7754, 1.375, 2.232, 3.362, 4.791, 6.532, 8.609",\
                 "0.1638, 0.2228, 0.4108, 0.7756, 1.376, 2.234, 3.368, 4.79, 6.534, 8.607",\
                 "0.1642, 0.223, 0.4116, 0.7776, 1.375, 2.231, 3.362, 4.788, 6.53, 8.612",\
                 "0.1656, 0.2234, 0.4126, 0.7768, 1.378, 2.234, 3.362, 4.786, 6.532, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("1.305, 1.352, 1.489, 1.719, 2.066, 2.553, 3.195, 4.004, 4.992, 6.169",\
                 "1.321, 1.367, 1.504, 1.734, 2.081, 2.568, 3.21, 4.019, 5.007, 6.185",\
                 "1.383, 1.429, 1.567, 1.796, 2.144, 2.631, 3.272, 4.081, 5.07, 6.247",\
                 "1.518, 1.565, 1.702, 1.932, 2.279, 2.766, 3.408, 4.217, 5.205, 6.382",\
                 "1.742, 1.789, 1.926, 2.155, 2.503, 2.99, 3.632, 4.44, 5.428, 6.606",\
                 "2.043, 2.089, 2.226, 2.456, 2.803, 3.29, 3.932, 4.741, 5.729, 6.906",\
                 "2.396, 2.442, 2.579, 2.809, 3.156, 3.642, 4.284, 5.093, 6.081, 7.258",\
                 "2.802, 2.848, 2.986, 3.215, 3.562, 4.049, 4.69, 5.498, 6.486, 7.662",\
                 "3.269, 3.316, 3.454, 3.682, 4.029, 4.515, 5.156, 5.964, 6.951, 8.129",\
                 "3.797, 3.844, 3.981, 4.211, 4.557, 5.043, 5.684, 6.493, 7.479, 8.656");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003468, 0.01213, 0.02867, 0.05444, 0.0906, 0.1382, 0.1981, 0.2713, 0.3585");
          values("0.1562, 0.2155, 0.4053, 0.7732, 1.375, 2.232, 3.369, 4.791, 6.531, 8.62",\
                 "0.1571, 0.2158, 0.4052, 0.7732, 1.375, 2.234, 3.363, 4.791, 6.534, 8.61",\
                 "0.157, 0.2156, 0.4048, 0.773, 1.375, 2.235, 3.363, 4.791, 6.534, 8.611",\
                 "0.1574, 0.2158, 0.4054, 0.7734, 1.375, 2.232, 3.368, 4.791, 6.532, 8.622",\
                 "0.157, 0.2172, 0.4062, 0.7734, 1.374, 2.236, 3.368, 4.79, 6.534, 8.609",\
                 "0.1588, 0.2182, 0.4074, 0.7742, 1.377, 2.235, 3.363, 4.787, 6.535, 8.611",\
                 "0.1602, 0.2184, 0.4084, 0.7756, 1.376, 2.234, 3.363, 4.79, 6.535, 8.608",\
                 "0.1624, 0.2214, 0.4104, 0.776, 1.377, 2.231, 3.363, 4.793, 6.53, 8.611",\
                 "0.1658, 0.2236, 0.413, 0.7776, 1.378, 2.232, 3.364, 4.786, 6.538, 8.598",\
                 "0.1672, 0.2254, 0.4142, 0.7792, 1.376, 2.232, 3.363, 4.788, 6.525, 8.61");
        }
      }
    }

    pin(RN) {
      capacitance : 0.00727 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.744 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02111, 0.02051, 0.02021, 0.02022, 0.02021, 0.02024, 0.02023, \
                 0.02024, 0.02021, 0.02023");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02022, -0.02018, -0.02014, -0.02013, -0.02013, -0.02018, -0.02017, \
                 -0.02019, -0.02017, -0.02017");
        }
      }

      internal_power() {
        when : "!CLK&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02013, 0.01941, 0.01899, 0.01888, 0.01886, 0.01888, 0.01889, \
                 0.01886, 0.01885, 0.01884");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01834, -0.01869, -0.01921, -0.01951, -0.01964, -0.01978, -0.01983, \
                 -0.01986, -0.01989, -0.01991");
        }
      }

      internal_power() {
        when : "CLK&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02172, 0.02061, 0.02023, 0.02018, 0.02022, 0.02022, 0.02023, \
                 0.02022, 0.02023, 0.02025");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02021, -0.02018, -0.02015, -0.02014, -0.02015, -0.0202, -0.02018, \
                 -0.02019, -0.0202, -0.02019");
        }
      }

      internal_power() {
        when : "CLK&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02165, 0.02057, 0.02022, 0.02019, 0.02023, 0.02022, 0.02022, \
                 0.02024, 0.02023, 0.02023");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02021, -0.02018, -0.02015, -0.02014, -0.02015, -0.0202, -0.02018, \
                 -0.02018, -0.02018, -0.02021");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : recovery_rising ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.515, -0.528, -0.581, -0.671, -0.754, -0.814, -0.858, -0.886, -0.887, -0.866",\
                 "-0.512, -0.525, -0.58, -0.671, -0.749, -0.813, -0.861, -0.888, -0.892, -0.869",\
                 "-0.524, -0.533, -0.59, -0.682, -0.756, -0.826, -0.873, -0.901, -0.9, -0.873",\
                 "-0.492, -0.505, -0.563, -0.658, -0.738, -0.797, -0.845, -0.876, -0.871, -0.847",\
                 "-0.295, -0.301, -0.365, -0.464, -0.551, -0.608, -0.662, -0.686, -0.679, -0.659",\
                 "0.048, 0.029, -0.048, -0.145, -0.241, -0.302, -0.365, -0.393, -0.376, -0.355",\
                 "0.496, 0.501, 0.393, 0.286, 0.188, 0.11, 0.049, 0.042, 0.044, 0.067",\
                 "1.075, 1.073, 0.97, 0.844, 0.746, 0.663, 0.573, 0.561, 0.564, 0.582",\
                 "1.802, 1.799, 1.678, 1.535, 1.408, 1.319, 1.226, 1.205, 1.221, 1.217",\
                 "2.668, 2.683, 2.515, 2.353, 2.191, 2.134, 2.002, 1.98, 1.998, 1.965");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : removal_rising ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.75, 0.767, 0.817, 0.908, 0.985, 1.05, 1.103, 1.14, 1.157, 1.147",\
                 "0.75, 0.77, 0.817, 0.903, 0.988, 1.054, 1.11, 1.144, 1.156, 1.147",\
                 "0.771, 0.788, 0.835, 0.92, 1.008, 1.075, 1.127, 1.162, 1.173, 1.163",\
                 "0.829, 0.843, 0.889, 0.98, 1.061, 1.127, 1.185, 1.218, 1.229, 1.217",\
                 "0.935, 0.949, 1.001, 1.083, 1.164, 1.231, 1.28, 1.316, 1.332, 1.321",\
                 "1.091, 1.102, 1.153, 1.243, 1.319, 1.387, 1.443, 1.48, 1.486, 1.481",\
                 "1.3, 1.307, 1.365, 1.442, 1.523, 1.595, 1.647, 1.686, 1.699, 1.688",\
                 "1.534, 1.548, 1.597, 1.682, 1.764, 1.839, 1.896, 1.929, 1.954, 1.948",\
                 "1.803, 1.822, 1.871, 1.951, 2.037, 2.108, 2.165, 2.211, 2.24, 2.242",\
                 "2.107, 2.118, 2.168, 2.253, 2.338, 2.412, 2.472, 2.52, 2.559, 2.564");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.524");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SETN" ;

        fall_constraint(scalar) {
          values("0.524");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SETN" ;

        fall_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.029, 0.042, 0.077, 0.126, 0.159, 0.192, 0.218, 0.219, 0.21, 0.179",\
                 "0.019, 0.031, 0.071, 0.112, 0.155, 0.188, 0.21, 0.213, 0.201, 0.172",\
                 "0.004, 0.018, 0.055, 0.103, 0.148, 0.175, 0.203, 0.205, 0.197, 0.166",\
                 "-0.008, 0.004, 0.037, 0.085, 0.132, 0.169, 0.196, 0.202, 0.189, 0.165",\
                 "-0.01, -0.008, 0.027, 0.08, 0.122, 0.162, 0.182, 0.198, 0.187, 0.16",\
                 "-0.008, -0, 0.03, 0.08, 0.128, 0.162, 0.184, 0.2, 0.187, 0.155",\
                 "0.019, 0.021, 0.051, 0.104, 0.139, 0.18, 0.202, 0.212, 0.204, 0.176",\
                 "0.058, 0.062, 0.093, 0.139, 0.181, 0.222, 0.247, 0.252, 0.246, 0.217",\
                 "0.124, 0.135, 0.159, 0.204, 0.248, 0.279, 0.31, 0.321, 0.311, 0.287",\
                 "0.222, 0.226, 0.253, 0.294, 0.336, 0.376, 0.403, 0.414, 0.407, 0.379");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.029, 0.042, 0.077, 0.126, 0.159, 0.192, 0.218, 0.219, 0.21, 0.179",\
                 "0.019, 0.031, 0.071, 0.112, 0.155, 0.188, 0.21, 0.213, 0.201, 0.172",\
                 "0.004, 0.018, 0.055, 0.103, 0.148, 0.175, 0.203, 0.205, 0.197, 0.166",\
                 "-0.008, 0.004, 0.037, 0.085, 0.132, 0.169, 0.196, 0.202, 0.189, 0.165",\
                 "-0.01, -0.008, 0.027, 0.08, 0.122, 0.162, 0.182, 0.198, 0.187, 0.16",\
                 "-0.008, -0, 0.03, 0.08, 0.128, 0.162, 0.184, 0.2, 0.187, 0.155",\
                 "0.019, 0.021, 0.051, 0.104, 0.139, 0.18, 0.202, 0.212, 0.204, 0.176",\
                 "0.058, 0.062, 0.093, 0.139, 0.181, 0.222, 0.247, 0.252, 0.246, 0.217",\
                 "0.124, 0.135, 0.159, 0.204, 0.248, 0.279, 0.31, 0.321, 0.311, 0.287",\
                 "0.222, 0.226, 0.253, 0.294, 0.336, 0.376, 0.403, 0.414, 0.407, 0.379");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.092, -0.081, -0.052, -0.028, -0.02, -0.044, -0.094, -0.188, -0.323, -0.503",\
                 "-0.097, -0.088, -0.06, -0.033, -0.023, -0.048, -0.099, -0.187, -0.321, -0.504",\
                 "-0.103, -0.095, -0.063, -0.036, -0.026, -0.042, -0.096, -0.186, -0.324, -0.499",\
                 "-0.098, -0.093, -0.062, -0.03, -0.016, -0.036, -0.084, -0.179, -0.309, -0.489",\
                 "-0.077, -0.07, -0.043, -0.01, -0, -0.013, -0.064, -0.158, -0.286, -0.472",\
                 "-0.037, -0.029, -0.002, 0.029, 0.049, 0.027, -0.025, -0.12, -0.258, -0.44",\
                 "0.036, 0.038, 0.069, 0.094, 0.11, 0.093, 0.04, -0.052, -0.198, -0.388",\
                 "0.129, 0.139, 0.162, 0.192, 0.21, 0.196, 0.14, 0.046, -0.098, -0.294",\
                 "0.267, 0.272, 0.291, 0.326, 0.343, 0.326, 0.28, 0.186, 0.039, -0.154",\
                 "0.43, 0.436, 0.457, 0.49, 0.509, 0.498, 0.453, 0.358, 0.217, 0.021");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.092, -0.081, -0.052, -0.028, -0.02, -0.044, -0.094, -0.188, -0.323, -0.503",\
                 "-0.097, -0.088, -0.06, -0.033, -0.023, -0.048, -0.099, -0.187, -0.321, -0.504",\
                 "-0.103, -0.095, -0.063, -0.036, -0.026, -0.042, -0.096, -0.186, -0.324, -0.499",\
                 "-0.098, -0.093, -0.062, -0.03, -0.016, -0.036, -0.084, -0.179, -0.309, -0.489",\
                 "-0.077, -0.07, -0.043, -0.01, -0, -0.013, -0.064, -0.158, -0.286, -0.472",\
                 "-0.037, -0.029, -0.002, 0.029, 0.049, 0.027, -0.025, -0.12, -0.258, -0.44",\
                 "0.036, 0.038, 0.069, 0.094, 0.11, 0.093, 0.04, -0.052, -0.198, -0.388",\
                 "0.129, 0.139, 0.162, 0.192, 0.21, 0.196, 0.14, 0.046, -0.098, -0.294",\
                 "0.267, 0.272, 0.291, 0.326, 0.343, 0.326, 0.28, 0.186, 0.039, -0.154",\
                 "0.43, 0.436, 0.457, 0.49, 0.509, 0.498, 0.453, 0.358, 0.217, 0.021");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.092, 0.087, 0.079, 0.092, 0.154, 0.28, 0.466, 0.725, 1.047, 1.435",\
                 "0.104, 0.095, 0.083, 0.11, 0.17, 0.289, 0.476, 0.73, 1.051, 1.442",\
                 "0.12, 0.118, 0.11, 0.124, 0.175, 0.285, 0.459, 0.69, 0.986, 1.347",\
                 "0.144, 0.131, 0.12, 0.123, 0.154, 0.241, 0.374, 0.566, 0.807, 1.111",\
                 "0.144, 0.139, 0.122, 0.111, 0.128, 0.189, 0.293, 0.447, 0.646, 0.896",\
                 "0.129, 0.123, 0.105, 0.096, 0.101, 0.14, 0.221, 0.348, 0.52, 0.744",\
                 "0.108, 0.098, 0.085, 0.066, 0.062, 0.096, 0.162, 0.286, 0.446, 0.652",\
                 "0.06, 0.057, 0.037, 0.022, 0.012, 0.04, 0.104, 0.223, 0.381, 0.606",\
                 "-0.005, -0.008, -0.026, -0.047, -0.05, -0.028, 0.038, 0.165, 0.35, 0.587",\
                 "-0.092, -0.095, -0.108, -0.131, -0.138, -0.116, -0.038, 0.105, 0.305, 0.573");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.092, 0.087, 0.074, 0.092, 0.161, 0.28, 0.474, 0.725, 1.047, 1.435",\
                 "0.104, 0.095, 0.083, 0.11, 0.17, 0.289, 0.476, 0.724, 1.051, 1.442",\
                 "0.12, 0.118, 0.11, 0.118, 0.175, 0.285, 0.459, 0.69, 0.986, 1.347",\
                 "0.135, 0.131, 0.115, 0.115, 0.149, 0.226, 0.364, 0.546, 0.789, 1.083",\
                 "0.137, 0.131, 0.113, 0.106, 0.128, 0.18, 0.282, 0.432, 0.627, 0.872",\
                 "0.129, 0.123, 0.105, 0.096, 0.101, 0.14, 0.221, 0.348, 0.52, 0.738",\
                 "0.108, 0.098, 0.085, 0.066, 0.062, 0.096, 0.162, 0.276, 0.44, 0.645",\
                 "0.06, 0.057, 0.037, 0.022, 0.012, 0.04, 0.104, 0.218, 0.388, 0.606",\
                 "-0.005, -0.008, -0.026, -0.047, -0.05, -0.028, 0.038, 0.165, 0.342, 0.578",\
                 "-0.092, -0.095, -0.108, -0.131, -0.138, -0.116, -0.038, 0.097, 0.305, 0.573");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.135, 0.122, 0.147, 0.236, 0.395, 0.634, 0.955, 1.366, 1.867",\
                 "0.151, 0.143, 0.131, 0.158, 0.247, 0.407, 0.647, 0.963, 1.372, 1.872",\
                 "0.157, 0.153, 0.142, 0.17, 0.253, 0.4, 0.622, 0.926, 1.317, 1.797",\
                 "0.172, 0.16, 0.149, 0.169, 0.238, 0.373, 0.584, 0.86, 1.226, 1.671",\
                 "0.159, 0.155, 0.139, 0.148, 0.202, 0.32, 0.505, 0.765, 1.1, 1.515",\
                 "0.123, 0.117, 0.105, 0.103, 0.153, 0.254, 0.423, 0.66, 0.971, 1.365",\
                 "0.057, 0.055, 0.04, 0.036, 0.073, 0.163, 0.323, 0.55, 0.848, 1.223",\
                 "-0.035, -0.038, -0.056, -0.058, -0.025, 0.056, 0.212, 0.435, 0.733, 1.108",\
                 "-0.156, -0.16, -0.175, -0.178, -0.154, -0.07, 0.086, 0.314, 0.614, 1.001",\
                 "-0.31, -0.31, -0.322, -0.327, -0.305, -0.22, -0.053, 0.185, 0.503, 0.891");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.135, 0.122, 0.147, 0.236, 0.395, 0.634, 0.95, 1.366, 1.867",\
                 "0.151, 0.143, 0.131, 0.158, 0.247, 0.407, 0.647, 0.963, 1.372, 1.872",\
                 "0.157, 0.153, 0.142, 0.17, 0.253, 0.4, 0.622, 0.926, 1.317, 1.797",\
                 "0.172, 0.16, 0.149, 0.169, 0.238, 0.373, 0.584, 0.86, 1.226, 1.671",\
                 "0.159, 0.155, 0.139, 0.148, 0.202, 0.32, 0.505, 0.765, 1.1, 1.515",\
                 "0.123, 0.117, 0.105, 0.103, 0.153, 0.254, 0.423, 0.66, 0.971, 1.365",\
                 "0.057, 0.055, 0.04, 0.036, 0.073, 0.163, 0.323, 0.55, 0.848, 1.223",\
                 "-0.029, -0.038, -0.05, -0.058, -0.025, 0.065, 0.222, 0.446, 0.746, 1.124",\
                 "-0.156, -0.16, -0.175, -0.186, -0.154, -0.08, 0.08, 0.307, 0.607, 0.974",\
                 "-0.31, -0.31, -0.322, -0.327, -0.305, -0.22, -0.053, 0.185, 0.503, 0.891");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.00626 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.949 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1529, 0.1521, 0.1524, 0.1583, 0.1717, 0.1939, 0.2259, 0.2684, \
                 0.322, 0.3871");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04978, 0.04931, 0.05021, 0.05545, 0.06691, 0.08589, 0.1134, \
                 0.1502, 0.1969, 0.2538");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07029, 0.06956, 0.0692, 0.07178, 0.07764, 0.08712, 0.1005, 0.118, \
                 0.14, 0.1668");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007608, 0.007522, 0.007898, 0.009777, 0.0142, 0.02162, 0.0325, \
                 0.04712, 0.06571, 0.08834");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1027, 0.1026, 0.1031, 0.1065, 0.1139, 0.1267, 0.1454, 0.1703, \
                 0.2017, 0.2401");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02881, 0.02843, 0.02894, 0.03219, 0.03913, 0.05046, 0.067, 0.08903, \
                 0.117, 0.1512");
        }
      }

      internal_power() {
        when : "!CLK&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0175, 0.01747, 0.01742, 0.01743, 0.01742, 0.01745, 0.01745, \
                 0.01746, 0.01746, 0.01745");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01054, -0.01054, -0.01053, -0.01056, -0.01055, -0.01061, -0.01061, \
                 -0.01063, -0.01063, -0.01066");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.153, 0.1522, 0.1528, 0.1592, 0.1736, 0.197, 0.2298, 0.2727, \
                 0.3264, 0.3915");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04776, 0.04722, 0.04809, 0.05372, 0.06586, 0.0856, 0.1138, 0.1509, \
                 0.1977, 0.2547");
        }
      }

      internal_power() {
        when : "CLK&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01752, 0.01747, 0.01743, 0.01742, 0.01745, 0.01743, 0.01745, \
                 0.01744, 0.01745, 0.01746");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01055, -0.01054, -0.01053, -0.01055, -0.01055, -0.01061, -0.01062, \
                 -0.01063, -0.01064, -0.01067");
        }
      }

      internal_power() {
        when : "CLK&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.153, 0.1522, 0.1528, 0.1592, 0.1736, 0.197, 0.2298, 0.2727, \
                 0.3264, 0.3916");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04776, 0.04722, 0.04809, 0.05372, 0.06587, 0.0856, 0.1138, 0.1509, \
                 0.1977, 0.2547");
        }
      }

      internal_power() {
        when : "CLK&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01751, 0.01746, 0.0174, 0.01745, 0.01742, 0.01746, 0.01746, \
                 0.01746, 0.01746, 0.01745");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01054, -0.01054, -0.01053, -0.01055, -0.01055, -0.01061, -0.01062, \
                 -0.01063, -0.01063, -0.01066");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : recovery_rising ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.143, -0.159, -0.211, -0.298, -0.367, -0.422, -0.454, -0.473, -0.457, -0.408",\
                 "-0.129, -0.143, -0.201, -0.286, -0.363, -0.412, -0.45, -0.464, -0.443, -0.398",\
                 "-0.09, -0.107, -0.157, -0.247, -0.321, -0.372, -0.402, -0.422, -0.404, -0.358",\
                 "-0.01, -0.023, -0.088, -0.168, -0.247, -0.3, -0.336, -0.349, -0.329, -0.288",\
                 "0.085, 0.07, 0.017, -0.063, -0.148, -0.197, -0.233, -0.249, -0.234, -0.188",\
                 "0.227, 0.212, 0.156, 0.059, -0.022, -0.086, -0.123, -0.14, -0.124, -0.077",\
                 "0.555, 0.527, 0.438, 0.316, 0.205, 0.123, 0.073, 0.042, 0.038, 0.082",\
                 "0.998, 0.977, 0.883, 0.757, 0.62, 0.545, 0.456, 0.395, 0.395, 0.422",\
                 "1.563, 1.518, 1.43, 1.325, 1.143, 1.031, 0.978, 0.908, 0.91, 0.92",\
                 "2.288, 2.185, 2.07, 1.928, 1.75, 1.636, 1.589, 1.493, 1.503, 1.541");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : removal_rising ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.487, 0.5, 0.549, 0.635, 0.71, 0.762, 0.808, 0.821, 0.815, 0.783",\
                 "0.47, 0.484, 0.538, 0.623, 0.695, 0.754, 0.792, 0.81, 0.803, 0.77",\
                 "0.433, 0.45, 0.504, 0.584, 0.661, 0.717, 0.755, 0.771, 0.768, 0.734",\
                 "0.392, 0.409, 0.454, 0.544, 0.612, 0.673, 0.715, 0.73, 0.722, 0.686",\
                 "0.362, 0.37, 0.427, 0.507, 0.579, 0.635, 0.68, 0.694, 0.688, 0.654",\
                 "0.349, 0.36, 0.412, 0.497, 0.566, 0.621, 0.662, 0.68, 0.674, 0.64",\
                 "0.373, 0.381, 0.432, 0.514, 0.585, 0.638, 0.678, 0.69, 0.682, 0.647",\
                 "0.43, 0.444, 0.491, 0.573, 0.64, 0.693, 0.725, 0.738, 0.726, 0.687",\
                 "0.53, 0.537, 0.589, 0.667, 0.74, 0.787, 0.818, 0.834, 0.817, 0.782",\
                 "0.665, 0.677, 0.73, 0.809, 0.872, 0.925, 0.959, 0.973, 0.956, 0.911");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.092, 0.104, 0.12, 0.144, 0.144, 0.129, 0.108, 0.06, -0.005, -0.092",\
                 "0.087, 0.095, 0.118, 0.131, 0.139, 0.123, 0.098, 0.057, -0.008, -0.095",\
                 "0.079, 0.083, 0.11, 0.12, 0.122, 0.105, 0.085, 0.037, -0.026, -0.108",\
                 "0.092, 0.11, 0.124, 0.123, 0.111, 0.096, 0.066, 0.022, -0.047, -0.131",\
                 "0.154, 0.17, 0.175, 0.154, 0.128, 0.101, 0.062, 0.012, -0.05, -0.138",\
                 "0.28, 0.289, 0.285, 0.241, 0.189, 0.14, 0.096, 0.04, -0.028, -0.116",\
                 "0.466, 0.476, 0.459, 0.374, 0.293, 0.221, 0.162, 0.104, 0.038, -0.038",\
                 "0.725, 0.73, 0.69, 0.566, 0.447, 0.348, 0.286, 0.223, 0.165, 0.105",\
                 "1.047, 1.051, 0.986, 0.807, 0.646, 0.52, 0.446, 0.381, 0.35, 0.305",\
                 "1.435, 1.442, 1.347, 1.111, 0.896, 0.744, 0.652, 0.606, 0.587, 0.573");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.092, 0.104, 0.12, 0.135, 0.137, 0.129, 0.108, 0.06, -0.005, -0.092",\
                 "0.087, 0.095, 0.118, 0.131, 0.131, 0.123, 0.098, 0.057, -0.008, -0.095",\
                 "0.074, 0.083, 0.11, 0.115, 0.113, 0.105, 0.085, 0.037, -0.026, -0.108",\
                 "0.092, 0.11, 0.118, 0.115, 0.106, 0.096, 0.066, 0.022, -0.047, -0.131",\
                 "0.161, 0.17, 0.175, 0.149, 0.128, 0.101, 0.062, 0.012, -0.05, -0.138",\
                 "0.28, 0.289, 0.285, 0.226, 0.18, 0.14, 0.096, 0.04, -0.028, -0.116",\
                 "0.474, 0.476, 0.459, 0.364, 0.282, 0.221, 0.162, 0.104, 0.038, -0.038",\
                 "0.725, 0.724, 0.69, 0.546, 0.432, 0.348, 0.276, 0.218, 0.165, 0.097",\
                 "1.047, 1.051, 0.986, 0.789, 0.627, 0.52, 0.44, 0.388, 0.342, 0.305",\
                 "1.435, 1.442, 1.347, 1.083, 0.872, 0.738, 0.645, 0.606, 0.578, 0.573");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.151, 0.157, 0.172, 0.159, 0.123, 0.057, -0.035, -0.156, -0.31",\
                 "0.135, 0.143, 0.153, 0.16, 0.155, 0.117, 0.055, -0.038, -0.16, -0.31",\
                 "0.122, 0.131, 0.142, 0.149, 0.139, 0.105, 0.04, -0.056, -0.175, -0.322",\
                 "0.147, 0.158, 0.17, 0.169, 0.148, 0.103, 0.036, -0.058, -0.178, -0.327",\
                 "0.236, 0.247, 0.253, 0.238, 0.202, 0.153, 0.073, -0.025, -0.154, -0.305",\
                 "0.395, 0.407, 0.4, 0.373, 0.32, 0.254, 0.163, 0.056, -0.07, -0.22",\
                 "0.634, 0.647, 0.622, 0.584, 0.505, 0.423, 0.323, 0.212, 0.086, -0.053",\
                 "0.955, 0.963, 0.926, 0.86, 0.765, 0.66, 0.55, 0.435, 0.314, 0.185",\
                 "1.366, 1.372, 1.317, 1.226, 1.1, 0.971, 0.848, 0.733, 0.614, 0.503",\
                 "1.867, 1.872, 1.797, 1.671, 1.515, 1.365, 1.223, 1.108, 1.001, 0.891");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.151, 0.157, 0.172, 0.159, 0.123, 0.057, -0.029, -0.156, -0.31",\
                 "0.135, 0.143, 0.153, 0.16, 0.155, 0.117, 0.055, -0.038, -0.16, -0.31",\
                 "0.122, 0.131, 0.142, 0.149, 0.139, 0.105, 0.04, -0.05, -0.175, -0.322",\
                 "0.147, 0.158, 0.17, 0.169, 0.148, 0.103, 0.036, -0.058, -0.186, -0.327",\
                 "0.236, 0.247, 0.253, 0.238, 0.202, 0.153, 0.073, -0.025, -0.154, -0.305",\
                 "0.395, 0.407, 0.4, 0.373, 0.32, 0.254, 0.163, 0.065, -0.08, -0.22",\
                 "0.634, 0.647, 0.622, 0.584, 0.505, 0.423, 0.323, 0.222, 0.08, -0.053",\
                 "0.95, 0.963, 0.926, 0.86, 0.765, 0.66, 0.55, 0.446, 0.307, 0.185",\
                 "1.366, 1.372, 1.317, 1.226, 1.1, 0.971, 0.848, 0.746, 0.607, 0.503",\
                 "1.867, 1.872, 1.797, 1.671, 1.515, 1.365, 1.223, 1.124, 0.974, 0.891");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.029, 0.019, 0.004, -0.008, -0.01, -0.008, 0.019, 0.058, 0.124, 0.222",\
                 "0.042, 0.031, 0.018, 0.004, -0.008, 0, 0.021, 0.062, 0.135, 0.226",\
                 "0.077, 0.071, 0.055, 0.037, 0.027, 0.03, 0.051, 0.093, 0.159, 0.253",\
                 "0.126, 0.112, 0.103, 0.085, 0.08, 0.08, 0.104, 0.139, 0.204, 0.294",\
                 "0.159, 0.155, 0.148, 0.132, 0.122, 0.128, 0.139, 0.181, 0.248, 0.336",\
                 "0.192, 0.188, 0.175, 0.169, 0.162, 0.162, 0.18, 0.222, 0.279, 0.376",\
                 "0.218, 0.21, 0.203, 0.196, 0.182, 0.184, 0.202, 0.247, 0.31, 0.403",\
                 "0.219, 0.213, 0.205, 0.202, 0.198, 0.2, 0.212, 0.252, 0.321, 0.414",\
                 "0.21, 0.201, 0.197, 0.189, 0.187, 0.187, 0.204, 0.246, 0.311, 0.407",\
                 "0.179, 0.172, 0.166, 0.165, 0.16, 0.155, 0.176, 0.217, 0.287, 0.379");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.029, 0.019, 0.004, -0.008, -0.01, -0.008, 0.019, 0.058, 0.124, 0.222",\
                 "0.042, 0.031, 0.018, 0.004, -0.008, 0, 0.021, 0.062, 0.135, 0.226",\
                 "0.077, 0.071, 0.055, 0.037, 0.027, 0.03, 0.051, 0.093, 0.159, 0.253",\
                 "0.126, 0.112, 0.103, 0.085, 0.08, 0.08, 0.104, 0.139, 0.204, 0.294",\
                 "0.159, 0.155, 0.148, 0.132, 0.122, 0.128, 0.139, 0.181, 0.248, 0.336",\
                 "0.192, 0.188, 0.175, 0.169, 0.162, 0.162, 0.18, 0.222, 0.279, 0.376",\
                 "0.218, 0.21, 0.203, 0.196, 0.182, 0.184, 0.202, 0.247, 0.31, 0.403",\
                 "0.219, 0.213, 0.205, 0.202, 0.198, 0.2, 0.212, 0.252, 0.321, 0.414",\
                 "0.21, 0.201, 0.197, 0.189, 0.187, 0.187, 0.204, 0.246, 0.311, 0.407",\
                 "0.179, 0.172, 0.166, 0.165, 0.16, 0.155, 0.176, 0.217, 0.287, 0.379");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.092, -0.097, -0.103, -0.098, -0.077, -0.037, 0.036, 0.129, 0.267, 0.43",\
                 "-0.081, -0.088, -0.095, -0.093, -0.07, -0.029, 0.038, 0.139, 0.272, 0.436",\
                 "-0.052, -0.06, -0.063, -0.062, -0.043, -0.002, 0.069, 0.162, 0.291, 0.457",\
                 "-0.028, -0.033, -0.036, -0.03, -0.01, 0.029, 0.094, 0.192, 0.326, 0.49",\
                 "-0.02, -0.023, -0.026, -0.016, 0, 0.049, 0.11, 0.21, 0.343, 0.509",\
                 "-0.044, -0.048, -0.042, -0.036, -0.013, 0.027, 0.093, 0.196, 0.326, 0.498",\
                 "-0.094, -0.099, -0.096, -0.084, -0.064, -0.025, 0.04, 0.14, 0.28, 0.453",\
                 "-0.188, -0.187, -0.186, -0.179, -0.158, -0.12, -0.052, 0.046, 0.186, 0.358",\
                 "-0.323, -0.321, -0.324, -0.309, -0.286, -0.258, -0.198, -0.098, 0.039, 0.217",\
                 "-0.503, -0.504, -0.499, -0.489, -0.472, -0.44, -0.388, -0.294, -0.154, 0.021");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.092, -0.097, -0.103, -0.098, -0.077, -0.037, 0.036, 0.129, 0.267, 0.43",\
                 "-0.081, -0.088, -0.095, -0.093, -0.07, -0.029, 0.038, 0.139, 0.272, 0.436",\
                 "-0.052, -0.06, -0.063, -0.062, -0.043, -0.002, 0.069, 0.162, 0.291, 0.457",\
                 "-0.028, -0.033, -0.036, -0.03, -0.01, 0.029, 0.094, 0.192, 0.326, 0.49",\
                 "-0.02, -0.023, -0.026, -0.016, 0, 0.049, 0.11, 0.21, 0.343, 0.509",\
                 "-0.044, -0.048, -0.042, -0.036, -0.013, 0.027, 0.093, 0.196, 0.326, 0.498",\
                 "-0.094, -0.099, -0.096, -0.084, -0.064, -0.025, 0.04, 0.14, 0.28, 0.453",\
                 "-0.188, -0.187, -0.186, -0.179, -0.158, -0.12, -0.052, 0.046, 0.186, 0.358",\
                 "-0.323, -0.321, -0.324, -0.309, -0.286, -0.258, -0.198, -0.098, 0.039, 0.217",\
                 "-0.503, -0.504, -0.499, -0.489, -0.472, -0.44, -0.388, -0.294, -0.154, 0.021");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN" ;

        fall_constraint(scalar) {
          values("0.581");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN" ;

        fall_constraint(scalar) {
          values("0.581");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN" ;

        fall_constraint(scalar) {
          values("0.944");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN" ;

        fall_constraint(scalar) {
          values("0.949");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffrsnq_2) {
    area : 90.003200 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : L ;
      clear_preset_var2 : H ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SETN" ;
      value : "0.0002071806" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SETN" ;
      value : "0.000213609" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SETN" ;
      value : "0.00020097" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SETN" ;
      value : "0.0002993067" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SETN" ;
      value : "0.0002065008" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SETN" ;
      value : "0.0002178165" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SETN" ;
      value : "0.0001997127" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SETN" ;
      value : "0.0003000921" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SETN" ;
      value : "0.0002406096" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SETN" ;
      value : "0.0002303532" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SETN" ;
      value : "0.0002239314" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SETN" ;
      value : "0.0002500047" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SETN" ;
      value : "0.0002414313" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SETN" ;
      value : "0.0002311749" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SETN" ;
      value : "0.0002227896" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SETN" ;
      value : "0.000354816" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000354816" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003359 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.78 ;
      min_pulse_width_high : 0.891 ;
      min_pulse_width_low : 0.741 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1309, 0.1306, 0.1312, 0.1366, 0.1481, 0.1665, 0.1924, 0.2264, \
                 0.2688, 0.3199");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1064, 0.1062, 0.1066, 0.1111, 0.1206, 0.1365, 0.1593, 0.1893, \
                 0.2266, 0.2718");
        }
      }

      internal_power() {
        when : "!D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1323, 0.1319, 0.1325, 0.138, 0.1496, 0.168, 0.1941, 0.2279, \
                 0.2703, 0.3215");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.105, 0.1047, 0.1051, 0.1096, 0.119, 0.1348, 0.1575, 0.1874, \
                 0.2247, 0.2698");
        }
      }

      internal_power() {
        when : "!D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1937, 0.1933, 0.1939, 0.2002, 0.2133, 0.2334, 0.2615, 0.2978, \
                 0.3428, 0.3966");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1288, 0.1285, 0.1289, 0.1335, 0.1432, 0.1592, 0.1821, 0.2123, \
                 0.2498, 0.2952");
        }
      }

      internal_power() {
        when : "!D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1323, 0.1319, 0.1326, 0.138, 0.1496, 0.168, 0.194, 0.2279, 0.2704, \
                 0.3215");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.105, 0.1047, 0.1051, 0.1096, 0.119, 0.1348, 0.1574, 0.1872, \
                 0.2246, 0.2698");
        }
      }

      internal_power() {
        when : "D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1507, 0.1503, 0.1509, 0.1567, 0.1691, 0.1886, 0.216, 0.2518, \
                 0.2963, 0.3499");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1507, 0.1505, 0.1507, 0.1556, 0.1657, 0.1825, 0.2064, 0.2377, \
                 0.2766, 0.3235");
        }
      }

      internal_power() {
        when : "D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.216, 0.2156, 0.2162, 0.2222, 0.2352, 0.2555, 0.2837, 0.3206, \
                 0.3665, 0.4215");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2114, 0.211, 0.2114, 0.2164, 0.2273, 0.245, 0.2702, 0.3033, \
                 0.3444, 0.3936");
        }
      }

      internal_power() {
        when : "D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1318, 0.1314, 0.132, 0.1375, 0.1491, 0.1675, 0.1934, 0.2275, \
                 0.2698, 0.3209");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1085, 0.1082, 0.1086, 0.1131, 0.1225, 0.1383, 0.1611, 0.1909, \
                 0.2282, 0.2734");
        }
      }

      internal_power() {
        when : "D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1318, 0.1314, 0.132, 0.1375, 0.1491, 0.1675, 0.1935, 0.2275, \
                 0.2699, 0.3209");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1085, 0.1082, 0.1086, 0.1131, 0.1225, 0.1383, 0.1611, 0.1909, \
                 0.2283, 0.2733");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.741");
        }

        rise_constraint(scalar) {
          values("0.713");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.492");
        }

        rise_constraint(scalar) {
          values("0.891");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SETN" ;

        rise_constraint(scalar) {
          values("1.597");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SETN" ;

        rise_constraint(scalar) {
          values("1.78");
        }
      }
    }

    pin(D) {
      capacitance : 0.002318 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.069, 0.0687, 0.06931, 0.07234, 0.07855, 0.08852, 0.1026, 0.1211, \
                 0.1445, 0.1731");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02287, 0.02364, 0.02621, 0.03122, 0.03921, 0.05064, \
                 0.06586, 0.08522, 0.1089");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1005, 0.1003, 0.1009, 0.1041, 0.112, 0.1241, 0.1409, 0.1628, \
                 0.1905, 0.2239");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08443, 0.08435, 0.08507, 0.08822, 0.09412, 0.1037, 0.1172, 0.1349, \
                 0.1573, 0.1844");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.069, 0.0687, 0.06931, 0.07234, 0.07856, 0.0885, 0.1025, 0.1211, \
                 0.1445, 0.1731");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02287, 0.02364, 0.02621, 0.03122, 0.03921, 0.05064, \
                 0.06586, 0.08521, 0.1089");
        }
      }

      internal_power() {
        when : "!CLK&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0974, 0.09709, 0.09772, 0.101, 0.1088, 0.1208, 0.1374, 0.1593, \
                 0.1868, 0.22");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08712, 0.08699, 0.08779, 0.09089, 0.09676, 0.1064, 0.1197, 0.1375, \
                 0.1599, 0.187");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02231, 0.02374, 0.02813, 0.03601, 0.04775, 0.06366, \
                 0.08408, 0.1093, 0.1394");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002408, 0.002294, 0.003139, 0.006407, 0.01275, 0.02235, 0.03559, \
                 0.05257, 0.07359, 0.09883");
        }
      }

      internal_power() {
        when : "CLK&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02231, 0.02374, 0.02813, 0.03601, 0.04776, 0.06367, \
                 0.08406, 0.1092, 0.1394");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002399, 0.002295, 0.003141, 0.006408, 0.01275, 0.02235, 0.03559, \
                 0.05257, 0.07359, 0.09881");
        }
      }

      internal_power() {
        when : "CLK&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02293, 0.02231, 0.02375, 0.02813, 0.03602, 0.04776, 0.06364, \
                 0.08405, 0.1093, 0.1394");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002413, 0.002294, 0.00314, 0.006408, 0.01275, 0.02235, 0.03559, \
                 0.05257, 0.07359, 0.09882");
        }
      }

      internal_power() {
        when : "CLK&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02233, 0.02373, 0.02815, 0.03601, 0.04775, 0.06367, \
                 0.08408, 0.1092, 0.1394");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002412, 0.002293, 0.003148, 0.006415, 0.01272, 0.02238, 0.03558, \
                 0.05259, 0.07359, 0.09883");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.011, 0.001, 0.05, 0.135, 0.195, 0.238, 0.26, 0.254, 0.234, 0.184",\
                 "-0.022, -0.016, 0.035, 0.112, 0.177, 0.217, 0.244, 0.243, 0.217, 0.167",\
                 "-0.093, -0.083, -0.031, 0.045, 0.113, 0.156, 0.176, 0.174, 0.156, 0.102",\
                 "-0.226, -0.218, -0.166, -0.091, -0.021, 0.023, 0.046, 0.049, 0.023, -0.025",\
                 "-0.404, -0.394, -0.347, -0.268, -0.201, -0.153, -0.133, -0.128, -0.154, -0.198",\
                 "-0.629, -0.625, -0.57, -0.498, -0.443, -0.389, -0.362, -0.356, -0.384, -0.427",\
                 "-0.9, -0.895, -0.846, -0.775, -0.719, -0.675, -0.646, -0.647, -0.671, -0.716",\
                 "-1.216, -1.21, -1.162, -1.104, -1.049, -1.008, -0.992, -0.984, -1.016, -1.06",\
                 "-1.564, -1.567, -1.512, -1.465, -1.426, -1.392, -1.38, -1.381, -1.409, -1.451",\
                 "-1.97, -1.969, -1.919, -1.87, -1.839, -1.822, -1.824, -1.82, -1.854, -1.908");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.063, -0.047, -0.009, 0.035, 0.062, 0.071, 0.066, 0.042, -0.005, -0.081",\
                 "-0.077, -0.064, -0.024, 0.025, 0.047, 0.058, 0.055, 0.028, -0.016, -0.09",\
                 "-0.114, -0.1, -0.063, -0.019, 0.017, 0.022, 0.022, -0.006, -0.051, -0.124",\
                 "-0.144, -0.131, -0.097, -0.046, -0.021, -0.007, -0.014, -0.038, -0.082, -0.154",\
                 "-0.151, -0.147, -0.103, -0.057, -0.026, -0.013, -0.024, -0.047, -0.097, -0.168",\
                 "-0.129, -0.118, -0.073, -0.03, -0.004, 0.005, 0.002, -0.028, -0.08, -0.149",\
                 "-0.057, -0.047, -0.003, 0.033, 0.064, 0.072, 0.065, 0.036, -0.021, -0.095",\
                 "0.058, 0.068, 0.112, 0.152, 0.173, 0.18, 0.169, 0.132, 0.077, 0.001",\
                 "0.235, 0.24, 0.283, 0.318, 0.334, 0.331, 0.322, 0.287, 0.225, 0.143",\
                 "0.462, 0.467, 0.505, 0.535, 0.55, 0.544, 0.524, 0.486, 0.425, 0.338");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.464, 0.45, 0.407, 0.347, 0.303, 0.274, 0.272, 0.289, 0.355, 0.483",\
                 "0.479, 0.468, 0.421, 0.37, 0.324, 0.289, 0.287, 0.312, 0.384, 0.499",\
                 "0.549, 0.538, 0.496, 0.431, 0.392, 0.361, 0.359, 0.385, 0.448, 0.559",\
                 "0.699, 0.681, 0.636, 0.575, 0.529, 0.504, 0.494, 0.52, 0.58, 0.692",\
                 "0.911, 0.896, 0.852, 0.787, 0.747, 0.715, 0.705, 0.728, 0.788, 0.884",\
                 "1.188, 1.178, 1.126, 1.061, 1.012, 0.982, 0.968, 0.98, 1.034, 1.126",\
                 "1.524, 1.504, 1.462, 1.395, 1.343, 1.308, 1.292, 1.311, 1.356, 1.437",\
                 "1.913, 1.903, 1.852, 1.785, 1.738, 1.699, 1.686, 1.694, 1.732, 1.81",\
                 "2.367, 2.353, 2.306, 2.234, 2.184, 2.147, 2.136, 2.143, 2.186, 2.253",\
                 "2.886, 2.871, 2.821, 2.756, 2.698, 2.664, 2.652, 2.658, 2.701, 2.769");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.275, 0.251, 0.203, 0.138, 0.102, 0.078, 0.086, 0.106, 0.156, 0.233",\
                 "0.288, 0.27, 0.213, 0.148, 0.108, 0.094, 0.098, 0.121, 0.168, 0.242",\
                 "0.324, 0.307, 0.26, 0.193, 0.149, 0.132, 0.133, 0.156, 0.208, 0.28",\
                 "0.381, 0.363, 0.312, 0.238, 0.191, 0.168, 0.174, 0.191, 0.239, 0.311",\
                 "0.42, 0.402, 0.348, 0.269, 0.216, 0.198, 0.19, 0.218, 0.258, 0.33",\
                 "0.417, 0.406, 0.347, 0.271, 0.215, 0.184, 0.18, 0.205, 0.248, 0.324",\
                 "0.395, 0.373, 0.32, 0.236, 0.176, 0.143, 0.137, 0.159, 0.204, 0.281",\
                 "0.313, 0.296, 0.243, 0.162, 0.094, 0.065, 0.056, 0.074, 0.118, 0.199",\
                 "0.186, 0.169, 0.114, 0.032, -0.031, -0.075, -0.08, -0.058, -0.008, 0.064",\
                 "0.012, -0.006, -0.059, -0.148, -0.216, -0.252, -0.259, -0.238, -0.19, -0.117");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.716 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1832, 0.1776, 0.171, 0.1678, 0.1662, 0.1653, 0.1648, 0.1645, 0.1642, 0.1641",\
                 "0.1832, 0.1776, 0.1708, 0.1678, 0.1662, 0.1653, 0.1647, 0.1644, 0.1642, 0.164",\
                 "0.1832, 0.1777, 0.171, 0.1679, 0.1662, 0.1654, 0.1648, 0.1645, 0.1643, 0.1641",\
                 "0.1837, 0.1782, 0.1713, 0.1682, 0.1666, 0.1657, 0.1652, 0.1648, 0.1646, 0.1645",\
                 "0.1844, 0.1788, 0.1721, 0.169, 0.1673, 0.1664, 0.166, 0.1656, 0.1654, 0.1653",\
                 "0.1851, 0.1794, 0.1727, 0.1697, 0.168, 0.1671, 0.1666, 0.1663, 0.1661, 0.166",\
                 "0.186, 0.1806, 0.1737, 0.1706, 0.1691, 0.1682, 0.1676, 0.1673, 0.167, 0.1669",\
                 "0.1871, 0.1815, 0.1747, 0.1716, 0.17, 0.1692, 0.1686, 0.1683, 0.168, 0.1679",\
                 "0.1879, 0.1824, 0.1756, 0.1727, 0.171, 0.17, 0.1695, 0.1692, 0.1689, 0.1688",\
                 "0.189, 0.1834, 0.1766, 0.1735, 0.1719, 0.171, 0.1705, 0.1702, 0.1699, 0.1698");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.2278, 0.2213, 0.213, 0.2082, 0.2061, 0.2056, 0.2059, 0.2069, 0.2089, 0.2166",\
                 "0.2278, 0.2213, 0.2131, 0.2083, 0.2062, 0.2057, 0.2059, 0.2066, 0.2082, 0.2177",\
                 "0.2277, 0.2211, 0.2131, 0.2083, 0.206, 0.2055, 0.2059, 0.2068, 0.2085, 0.2189",\
                 "0.2279, 0.2213, 0.2132, 0.2085, 0.2061, 0.2056, 0.206, 0.2066, 0.2083, 0.2194",\
                 "0.2282, 0.2218, 0.2136, 0.2088, 0.2064, 0.206, 0.2064, 0.2067, 0.2091, 0.2223",\
                 "0.2287, 0.2224, 0.2142, 0.2093, 0.2069, 0.2067, 0.2068, 0.2081, 0.2105, 0.2252",\
                 "0.2297, 0.2233, 0.2148, 0.2102, 0.2085, 0.2078, 0.2081, 0.2087, 0.2109, 0.2305",\
                 "0.231, 0.2244, 0.2163, 0.2113, 0.2088, 0.2098, 0.2103, 0.2109, 0.2126, 0.2376",\
                 "0.2325, 0.2259, 0.2176, 0.2126, 0.21, 0.2097, 0.2119, 0.2138, 0.2163, 0.251",\
                 "0.2344, 0.228, 0.2196, 0.2148, 0.2121, 0.2111, 0.2117, 0.2155, 0.2225, 0.2773");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1564, 0.1517, 0.1461, 0.1435, 0.1422, 0.1414, 0.141, 0.1407, 0.1405, 0.1404",\
                 "0.1556, 0.1509, 0.1453, 0.1427, 0.1414, 0.1406, 0.1402, 0.1399, 0.1397, 0.1396",\
                 "0.1559, 0.1511, 0.1455, 0.1429, 0.1416, 0.1409, 0.1405, 0.1402, 0.14, 0.1399",\
                 "0.1631, 0.1578, 0.1509, 0.1473, 0.1456, 0.1447, 0.1442, 0.1438, 0.1436, 0.1434",\
                 "0.1822, 0.1753, 0.1653, 0.1594, 0.1561, 0.1543, 0.1533, 0.1526, 0.1522, 0.1519",\
                 "0.2092, 0.2011, 0.1875, 0.1786, 0.1735, 0.1705, 0.1687, 0.1676, 0.1669, 0.1664",\
                 "0.2453, 0.236, 0.2186, 0.2065, 0.1991, 0.1944, 0.1916, 0.1897, 0.1885, 0.1877",\
                 "0.2903, 0.2798, 0.2589, 0.2432, 0.2328, 0.2263, 0.222, 0.2193, 0.2174, 0.2161",\
                 "0.3439, 0.3325, 0.3084, 0.2888, 0.2754, 0.2665, 0.2605, 0.2566, 0.2539, 0.252",\
                 "0.4066, 0.3944, 0.3671, 0.3435, 0.3267, 0.3151, 0.3074, 0.3021, 0.2984, 0.2957");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1023, 0.0971, 0.09063, 0.08734, 0.0861, 0.0865, 0.08764, 0.08794, 0.09056, 0.09796",\
                 "0.1018, 0.09632, 0.0899, 0.08671, 0.08554, 0.08597, 0.08659, 0.08794, 0.08924, 0.09664",\
                 "0.101, 0.09567, 0.08938, 0.08605, 0.08468, 0.08498, 0.08576, 0.08629, 0.08858, 0.09561",\
                 "0.1052, 0.0998, 0.09291, 0.08866, 0.08689, 0.08713, 0.08755, 0.08827, 0.09023, 0.09933",\
                 "0.1172, 0.111, 0.1027, 0.09783, 0.09471, 0.09426, 0.09428, 0.0952, 0.09719, 0.1058",\
                 "0.1368, 0.1295, 0.1196, 0.1125, 0.1093, 0.1073, 0.1066, 0.1067, 0.1091, 0.1196",\
                 "0.165, 0.1564, 0.1445, 0.1353, 0.1296, 0.1283, 0.1267, 0.1252, 0.1266, 0.1397",\
                 "0.2013, 0.1914, 0.1771, 0.1659, 0.1581, 0.1534, 0.153, 0.1519, 0.1511, 0.1691",\
                 "0.2456, 0.2344, 0.2175, 0.2035, 0.1938, 0.1864, 0.1843, 0.1862, 0.1852, 0.2097",\
                 "0.2977, 0.2853, 0.2657, 0.2493, 0.2371, 0.2298, 0.2235, 0.2228, 0.2271, 0.266");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1837, 0.1786, 0.1727, 0.1699, 0.1684, 0.1676, 0.1671, 0.1668, 0.1666, 0.1664",\
                 "0.1837, 0.1787, 0.1727, 0.17, 0.1685, 0.1678, 0.1672, 0.1669, 0.1667, 0.1666",\
                 "0.1845, 0.1794, 0.1733, 0.1705, 0.1691, 0.1684, 0.1679, 0.1676, 0.1674, 0.1673",\
                 "0.1922, 0.1864, 0.1791, 0.1753, 0.1735, 0.1725, 0.1719, 0.1716, 0.1713, 0.1712",\
                 "0.2132, 0.2059, 0.1951, 0.1887, 0.1854, 0.1835, 0.1823, 0.1816, 0.1812, 0.1809",\
                 "0.2429, 0.2341, 0.2195, 0.2101, 0.2048, 0.2016, 0.1997, 0.1985, 0.1977, 0.1972",\
                 "0.2817, 0.2715, 0.2529, 0.24, 0.2322, 0.2273, 0.2244, 0.2224, 0.221, 0.2202",\
                 "0.3285, 0.3173, 0.2945, 0.2778, 0.267, 0.2601, 0.2556, 0.2527, 0.2508, 0.2493",\
                 "0.3826, 0.3703, 0.3437, 0.3228, 0.3089, 0.2996, 0.2934, 0.2893, 0.2865, 0.2844",\
                 "0.4429, 0.4294, 0.399, 0.3738, 0.3565, 0.3446, 0.3364, 0.3308, 0.3269, 0.3242");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1837, 0.1786, 0.1727, 0.1699, 0.1684, 0.1676, 0.1671, 0.1668, 0.1666, 0.1664",\
                 "0.1837, 0.1787, 0.1727, 0.17, 0.1685, 0.1678, 0.1672, 0.1669, 0.1667, 0.1666",\
                 "0.1845, 0.1794, 0.1733, 0.1705, 0.1691, 0.1684, 0.1679, 0.1676, 0.1674, 0.1673",\
                 "0.1922, 0.1864, 0.1791, 0.1753, 0.1735, 0.1725, 0.1719, 0.1716, 0.1713, 0.1712",\
                 "0.2132, 0.2059, 0.1951, 0.1887, 0.1854, 0.1835, 0.1823, 0.1816, 0.1812, 0.1809",\
                 "0.2429, 0.2341, 0.2195, 0.2101, 0.2048, 0.2016, 0.1997, 0.1985, 0.1977, 0.1972",\
                 "0.2817, 0.2715, 0.2529, 0.24, 0.2322, 0.2273, 0.2244, 0.2224, 0.221, 0.2202",\
                 "0.3285, 0.3173, 0.2945, 0.2778, 0.267, 0.2601, 0.2556, 0.2527, 0.2508, 0.2493",\
                 "0.3826, 0.3703, 0.3437, 0.3228, 0.3089, 0.2996, 0.2934, 0.2893, 0.2865, 0.2844",\
                 "0.4429, 0.4294, 0.399, 0.3738, 0.3565, 0.3446, 0.3364, 0.3308, 0.3269, 0.3242");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.156, 0.1513, 0.1458, 0.1432, 0.1418, 0.141, 0.1406, 0.1403, 0.1401, 0.14",\
                 "0.1555, 0.1509, 0.1453, 0.1427, 0.1414, 0.1406, 0.1402, 0.1399, 0.1397, 0.1396",\
                 "0.1559, 0.1512, 0.1455, 0.1429, 0.1416, 0.1409, 0.1405, 0.1402, 0.14, 0.1399",\
                 "0.1631, 0.1578, 0.1509, 0.1473, 0.1456, 0.1447, 0.1442, 0.1438, 0.1436, 0.1434",\
                 "0.1822, 0.1754, 0.1653, 0.1593, 0.1562, 0.1543, 0.1533, 0.1526, 0.1522, 0.1519",\
                 "0.2093, 0.2011, 0.1875, 0.1787, 0.1735, 0.1705, 0.1687, 0.1676, 0.1669, 0.1664",\
                 "0.2454, 0.2359, 0.2188, 0.2068, 0.199, 0.1945, 0.1916, 0.1897, 0.1884, 0.1876",\
                 "0.2903, 0.2799, 0.2589, 0.2432, 0.2328, 0.2262, 0.2221, 0.2193, 0.2174, 0.2161",\
                 "0.344, 0.3326, 0.3083, 0.2887, 0.2754, 0.2664, 0.2605, 0.2566, 0.254, 0.252",\
                 "0.4066, 0.3943, 0.3672, 0.3434, 0.3268, 0.3152, 0.3075, 0.302, 0.2984, 0.2957");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1023, 0.09691, 0.09049, 0.08737, 0.08622, 0.0865, 0.08721, 0.08826, 0.0899, 0.09829",\
                 "0.1017, 0.09628, 0.08986, 0.08667, 0.0855, 0.08597, 0.08655, 0.08793, 0.08924, 0.09631",\
                 "0.1009, 0.09562, 0.08933, 0.08601, 0.0846, 0.08491, 0.08569, 0.08628, 0.08858, 0.0956",\
                 "0.1052, 0.09982, 0.09283, 0.08862, 0.08682, 0.08712, 0.08764, 0.08826, 0.0899, 0.09801",\
                 "0.1171, 0.1108, 0.1029, 0.0976, 0.09477, 0.09425, 0.09513, 0.09486, 0.09652, 0.1058",\
                 "0.1368, 0.1295, 0.1196, 0.1125, 0.1095, 0.1069, 0.1063, 0.1077, 0.1084, 0.1203",\
                 "0.165, 0.1565, 0.1445, 0.1351, 0.1295, 0.1278, 0.1262, 0.1249, 0.1263, 0.1401",\
                 "0.2012, 0.1912, 0.1769, 0.1659, 0.1574, 0.1535, 0.153, 0.1516, 0.1514, 0.1691",\
                 "0.2455, 0.2342, 0.2171, 0.2039, 0.1935, 0.1868, 0.1844, 0.1859, 0.1866, 0.2103",\
                 "0.2975, 0.2853, 0.2656, 0.2494, 0.2382, 0.2286, 0.2236, 0.2218, 0.2278, 0.2645");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1849, 0.1798, 0.1739, 0.1711, 0.1697, 0.1689, 0.1684, 0.168, 0.1678, 0.1677",\
                 "0.1852, 0.1801, 0.1742, 0.1714, 0.17, 0.1692, 0.1687, 0.1683, 0.1681, 0.168",\
                 "0.1859, 0.1808, 0.1748, 0.1719, 0.1705, 0.1698, 0.1693, 0.169, 0.1688, 0.1687",\
                 "0.1935, 0.1879, 0.1805, 0.1767, 0.1749, 0.1739, 0.1733, 0.173, 0.1727, 0.1726",\
                 "0.2147, 0.2073, 0.1966, 0.1902, 0.1868, 0.185, 0.1838, 0.1831, 0.1827, 0.1824",\
                 "0.2443, 0.2355, 0.2208, 0.2116, 0.2062, 0.203, 0.2011, 0.1999, 0.1991, 0.1986",\
                 "0.2831, 0.2731, 0.2543, 0.2415, 0.2337, 0.2288, 0.2258, 0.2238, 0.2225, 0.2217",\
                 "0.33, 0.3187, 0.296, 0.2793, 0.2685, 0.2616, 0.2571, 0.2543, 0.2523, 0.2508",\
                 "0.384, 0.3718, 0.3452, 0.3243, 0.3103, 0.3011, 0.2949, 0.2908, 0.2879, 0.286",\
                 "0.4443, 0.4309, 0.4004, 0.3753, 0.3579, 0.3461, 0.3379, 0.3323, 0.3285, 0.3257");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1849, 0.1798, 0.1739, 0.1711, 0.1697, 0.1689, 0.1684, 0.168, 0.1678, 0.1677",\
                 "0.1852, 0.1801, 0.1742, 0.1714, 0.17, 0.1692, 0.1687, 0.1683, 0.1681, 0.168",\
                 "0.1859, 0.1808, 0.1748, 0.1719, 0.1705, 0.1698, 0.1693, 0.169, 0.1688, 0.1687",\
                 "0.1935, 0.1879, 0.1805, 0.1767, 0.1749, 0.1739, 0.1733, 0.173, 0.1727, 0.1726",\
                 "0.2147, 0.2073, 0.1966, 0.1902, 0.1868, 0.185, 0.1838, 0.1831, 0.1827, 0.1824",\
                 "0.2443, 0.2355, 0.2208, 0.2116, 0.2062, 0.203, 0.2011, 0.1999, 0.1991, 0.1986",\
                 "0.2831, 0.2731, 0.2543, 0.2415, 0.2337, 0.2288, 0.2258, 0.2238, 0.2225, 0.2217",\
                 "0.33, 0.3187, 0.296, 0.2793, 0.2685, 0.2616, 0.2571, 0.2543, 0.2523, 0.2508",\
                 "0.384, 0.3718, 0.3452, 0.3243, 0.3103, 0.3011, 0.2949, 0.2908, 0.2879, 0.286",\
                 "0.4443, 0.4309, 0.4004, 0.3753, 0.3579, 0.3461, 0.3379, 0.3323, 0.3285, 0.3257");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.2192, 0.2146, 0.2091, 0.2065, 0.2051, 0.2044, 0.2039, 0.2036, 0.2034, 0.2033",\
                 "0.2185, 0.2138, 0.2084, 0.2058, 0.2044, 0.2037, 0.2032, 0.2029, 0.2027, 0.2026",\
                 "0.2186, 0.2139, 0.2084, 0.2058, 0.2044, 0.2037, 0.2033, 0.203, 0.2028, 0.2027",\
                 "0.2269, 0.2216, 0.2147, 0.211, 0.2093, 0.2084, 0.2079, 0.2075, 0.2073, 0.2071",\
                 "0.2508, 0.2441, 0.2339, 0.2279, 0.2247, 0.2229, 0.2218, 0.2211, 0.2207, 0.2204",\
                 "0.2885, 0.2804, 0.2668, 0.2579, 0.2528, 0.2498, 0.248, 0.2469, 0.2461, 0.2456",\
                 "0.3421, 0.3325, 0.3153, 0.3031, 0.2956, 0.291, 0.2882, 0.2863, 0.2851, 0.2842",\
                 "0.411, 0.4004, 0.3797, 0.3639, 0.3534, 0.3469, 0.3427, 0.3399, 0.338, 0.3367",\
                 "0.4953, 0.4838, 0.4595, 0.44, 0.4265, 0.4176, 0.4117, 0.4078, 0.4051, 0.4031",\
                 "0.595, 0.5829, 0.5556, 0.5317, 0.515, 0.5034, 0.4957, 0.4904, 0.4866, 0.484");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1381, 0.1329, 0.1264, 0.1228, 0.1216, 0.1221, 0.1226, 0.1237, 0.125, 0.1328",\
                 "0.1374, 0.132, 0.1255, 0.1219, 0.1207, 0.1209, 0.1215, 0.1224, 0.1244, 0.1308",\
                 "0.1363, 0.131, 0.1245, 0.1209, 0.1196, 0.1199, 0.1205, 0.1217, 0.1234, 0.1304",\
                 "0.1417, 0.1362, 0.129, 0.1248, 0.1231, 0.1231, 0.1237, 0.1244, 0.126, 0.1341",\
                 "0.1584, 0.1519, 0.1437, 0.1387, 0.1357, 0.1352, 0.1356, 0.1359, 0.1376, 0.1469",\
                 "0.1874, 0.1801, 0.1702, 0.163, 0.1596, 0.1576, 0.1572, 0.1577, 0.1587, 0.1696",\
                 "0.2303, 0.2219, 0.2102, 0.2002, 0.1947, 0.1933, 0.1916, 0.1904, 0.1918, 0.2056",\
                 "0.287, 0.2771, 0.2628, 0.2514, 0.2433, 0.2396, 0.2393, 0.2372, 0.2371, 0.254",\
                 "0.3574, 0.3463, 0.3291, 0.3155, 0.3051, 0.2984, 0.2964, 0.2972, 0.2973, 0.3215",\
                 "0.4416, 0.4292, 0.4093, 0.3939, 0.3818, 0.3721, 0.3669, 0.3665, 0.3715, 0.4082");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.276, 0.2708, 0.2647, 0.2619, 0.2605, 0.2597, 0.2592, 0.2588, 0.2586, 0.2585",\
                 "0.2764, 0.2712, 0.2652, 0.2624, 0.2609, 0.2601, 0.2596, 0.2592, 0.259, 0.2589",\
                 "0.277, 0.2718, 0.2657, 0.2629, 0.2614, 0.2606, 0.2601, 0.2598, 0.2596, 0.2595",\
                 "0.2863, 0.2805, 0.273, 0.2692, 0.2674, 0.2664, 0.2658, 0.2654, 0.2652, 0.265",\
                 "0.3138, 0.3064, 0.2954, 0.2891, 0.2856, 0.2837, 0.2826, 0.2819, 0.2815, 0.2811",\
                 "0.3563, 0.3475, 0.3327, 0.3233, 0.3178, 0.3147, 0.3127, 0.3115, 0.3107, 0.3102",\
                 "0.4152, 0.405, 0.3861, 0.3733, 0.3653, 0.3604, 0.3573, 0.3553, 0.354, 0.353",\
                 "0.4879, 0.4766, 0.4538, 0.437, 0.4261, 0.4191, 0.4146, 0.4117, 0.4096, 0.4082",\
                 "0.5728, 0.5606, 0.5341, 0.5132, 0.4991, 0.4898, 0.4836, 0.4793, 0.4765, 0.4744",\
                 "0.6672, 0.6542, 0.6245, 0.5992, 0.5819, 0.57, 0.5617, 0.5561, 0.5521, 0.5493");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.276, 0.2708, 0.2647, 0.2619, 0.2605, 0.2597, 0.2592, 0.2588, 0.2586, 0.2585",\
                 "0.2764, 0.2712, 0.2652, 0.2624, 0.2609, 0.2601, 0.2596, 0.2592, 0.259, 0.2589",\
                 "0.277, 0.2718, 0.2657, 0.2629, 0.2614, 0.2606, 0.2601, 0.2598, 0.2596, 0.2595",\
                 "0.2863, 0.2805, 0.273, 0.2692, 0.2674, 0.2664, 0.2658, 0.2654, 0.2652, 0.265",\
                 "0.3138, 0.3064, 0.2954, 0.2891, 0.2856, 0.2837, 0.2826, 0.2819, 0.2815, 0.2811",\
                 "0.3563, 0.3475, 0.3327, 0.3233, 0.3178, 0.3147, 0.3127, 0.3115, 0.3107, 0.3102",\
                 "0.4152, 0.405, 0.3861, 0.3733, 0.3653, 0.3604, 0.3573, 0.3553, 0.354, 0.353",\
                 "0.4879, 0.4766, 0.4538, 0.437, 0.4261, 0.4191, 0.4146, 0.4117, 0.4096, 0.4082",\
                 "0.5728, 0.5606, 0.5341, 0.5132, 0.4991, 0.4898, 0.4836, 0.4793, 0.4765, 0.4744",\
                 "0.6672, 0.6542, 0.6245, 0.5992, 0.5819, 0.57, 0.5617, 0.5561, 0.5521, 0.5493");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.2192, 0.2146, 0.2091, 0.2065, 0.2051, 0.2044, 0.2039, 0.2036, 0.2034, 0.2033",\
                 "0.2185, 0.2138, 0.2084, 0.2058, 0.2044, 0.2037, 0.2032, 0.2029, 0.2027, 0.2026",\
                 "0.2186, 0.2139, 0.2084, 0.2058, 0.2044, 0.2037, 0.2033, 0.203, 0.2028, 0.2027",\
                 "0.2269, 0.2216, 0.2147, 0.211, 0.2093, 0.2084, 0.2079, 0.2075, 0.2073, 0.2071",\
                 "0.2508, 0.2441, 0.2339, 0.228, 0.2247, 0.2229, 0.2219, 0.2211, 0.2208, 0.2204",\
                 "0.2885, 0.2804, 0.2668, 0.258, 0.2528, 0.2498, 0.248, 0.2469, 0.2462, 0.2457",\
                 "0.3421, 0.3326, 0.3153, 0.3031, 0.2956, 0.291, 0.2882, 0.2863, 0.2851, 0.2842",\
                 "0.4109, 0.4005, 0.3797, 0.3639, 0.3535, 0.3469, 0.3427, 0.3399, 0.338, 0.3367",\
                 "0.4952, 0.4839, 0.4597, 0.44, 0.4265, 0.4177, 0.4117, 0.4078, 0.4051, 0.4031",\
                 "0.5951, 0.5828, 0.5556, 0.5318, 0.5149, 0.5035, 0.4958, 0.4904, 0.4867, 0.484");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1381, 0.1329, 0.1264, 0.1228, 0.1216, 0.1221, 0.1226, 0.1237, 0.125, 0.1328",\
                 "0.1374, 0.132, 0.1255, 0.1219, 0.1207, 0.1209, 0.1215, 0.1224, 0.1244, 0.1308",\
                 "0.1363, 0.131, 0.1245, 0.1209, 0.1196, 0.1199, 0.1205, 0.1217, 0.1234, 0.1304",\
                 "0.1417, 0.1362, 0.129, 0.1248, 0.1231, 0.1231, 0.1237, 0.1244, 0.126, 0.1341",\
                 "0.1584, 0.1519, 0.1437, 0.1385, 0.1357, 0.1351, 0.1351, 0.1366, 0.1376, 0.1469",\
                 "0.1874, 0.1801, 0.1702, 0.163, 0.1596, 0.1576, 0.1572, 0.1577, 0.1587, 0.1696",\
                 "0.2303, 0.2219, 0.2098, 0.2004, 0.1946, 0.1931, 0.1916, 0.1904, 0.1914, 0.2046",\
                 "0.287, 0.2771, 0.2628, 0.2511, 0.2432, 0.2394, 0.239, 0.2372, 0.2367, 0.254",\
                 "0.3574, 0.3463, 0.329, 0.3157, 0.3051, 0.2984, 0.296, 0.2972, 0.2973, 0.3215",\
                 "0.4416, 0.4293, 0.4096, 0.3931, 0.3818, 0.372, 0.3669, 0.3665, 0.3721, 0.4082");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.2755, 0.2704, 0.2643, 0.2615, 0.2601, 0.2592, 0.2587, 0.2584, 0.2581, 0.258",\
                 "0.2759, 0.2708, 0.2647, 0.2619, 0.2605, 0.2596, 0.2591, 0.2588, 0.2586, 0.2584",\
                 "0.2766, 0.2713, 0.2652, 0.2624, 0.261, 0.2602, 0.2597, 0.2594, 0.2592, 0.259",\
                 "0.286, 0.2802, 0.2727, 0.269, 0.2671, 0.2661, 0.2655, 0.2651, 0.2649, 0.2647",\
                 "0.3138, 0.3063, 0.2954, 0.2891, 0.2856, 0.2837, 0.2825, 0.2818, 0.2814, 0.2811",\
                 "0.3564, 0.3476, 0.3327, 0.3233, 0.3179, 0.3146, 0.3127, 0.3115, 0.3108, 0.3102",\
                 "0.4154, 0.4052, 0.3863, 0.3734, 0.3654, 0.3606, 0.3575, 0.3555, 0.3542, 0.3533",\
                 "0.4882, 0.4768, 0.454, 0.4372, 0.4263, 0.4193, 0.4149, 0.4119, 0.4099, 0.4084",\
                 "0.5731, 0.5608, 0.5343, 0.5133, 0.4994, 0.49, 0.4837, 0.4796, 0.4766, 0.4746",\
                 "0.6674, 0.6544, 0.6247, 0.5995, 0.5822, 0.5702, 0.562, 0.5563, 0.5523, 0.5495");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.2755, 0.2704, 0.2643, 0.2615, 0.2601, 0.2592, 0.2587, 0.2584, 0.2581, 0.258",\
                 "0.2759, 0.2708, 0.2647, 0.2619, 0.2605, 0.2596, 0.2591, 0.2588, 0.2586, 0.2584",\
                 "0.2766, 0.2713, 0.2652, 0.2624, 0.261, 0.2602, 0.2597, 0.2594, 0.2592, 0.259",\
                 "0.286, 0.2802, 0.2727, 0.269, 0.2671, 0.2661, 0.2655, 0.2651, 0.2649, 0.2647",\
                 "0.3138, 0.3063, 0.2954, 0.2891, 0.2856, 0.2837, 0.2825, 0.2818, 0.2814, 0.2811",\
                 "0.3564, 0.3476, 0.3327, 0.3233, 0.3179, 0.3146, 0.3127, 0.3115, 0.3108, 0.3102",\
                 "0.4154, 0.4052, 0.3863, 0.3734, 0.3654, 0.3606, 0.3575, 0.3555, 0.3542, 0.3533",\
                 "0.4882, 0.4768, 0.454, 0.4372, 0.4263, 0.4193, 0.4149, 0.4119, 0.4099, 0.4084",\
                 "0.5731, 0.5608, 0.5343, 0.5133, 0.4994, 0.49, 0.4837, 0.4796, 0.4766, 0.4746",\
                 "0.6674, 0.6544, 0.6247, 0.5995, 0.5822, 0.5702, 0.562, 0.5563, 0.5523, 0.5495");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.2127, 0.2069, 0.199, 0.1943, 0.1919, 0.1916, 0.1921, 0.1935, 0.1945, 0.2023",\
                 "0.2127, 0.2068, 0.1991, 0.1942, 0.1919, 0.1916, 0.1918, 0.1936, 0.1946, 0.2028",\
                 "0.2133, 0.2073, 0.1998, 0.1946, 0.1923, 0.1922, 0.1926, 0.1936, 0.195, 0.2031",\
                 "0.2173, 0.2114, 0.2037, 0.1985, 0.1966, 0.196, 0.1963, 0.197, 0.1987, 0.2085",\
                 "0.2268, 0.2209, 0.213, 0.2077, 0.2056, 0.2047, 0.2049, 0.2056, 0.2076, 0.2198",\
                 "0.2425, 0.2363, 0.2283, 0.223, 0.2204, 0.2199, 0.2203, 0.2206, 0.2227, 0.2374",\
                 "0.2652, 0.2588, 0.2505, 0.2447, 0.2427, 0.2418, 0.2416, 0.2425, 0.2444, 0.2645",\
                 "0.2947, 0.2883, 0.2796, 0.2731, 0.27, 0.2702, 0.2703, 0.2699, 0.2725, 0.3016",\
                 "0.3273, 0.3206, 0.3114, 0.3047, 0.3007, 0.2999, 0.3017, 0.3022, 0.3062, 0.3483",\
                 "0.3623, 0.3552, 0.3454, 0.3384, 0.3344, 0.332, 0.332, 0.3353, 0.3435, 0.4169");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.2127, 0.2069, 0.199, 0.1943, 0.1919, 0.1916, 0.1921, 0.1935, 0.1945, 0.2023",\
                 "0.2127, 0.2068, 0.1991, 0.1942, 0.1919, 0.1916, 0.1918, 0.1936, 0.1946, 0.2028",\
                 "0.2133, 0.2073, 0.1998, 0.1946, 0.1923, 0.1922, 0.1926, 0.1936, 0.195, 0.2031",\
                 "0.2173, 0.2114, 0.2037, 0.1985, 0.1966, 0.196, 0.1963, 0.197, 0.1987, 0.2085",\
                 "0.2268, 0.2209, 0.213, 0.2077, 0.2056, 0.2047, 0.2049, 0.2056, 0.2076, 0.2198",\
                 "0.2425, 0.2363, 0.2283, 0.223, 0.2204, 0.2199, 0.2203, 0.2206, 0.2227, 0.2374",\
                 "0.2652, 0.2588, 0.2505, 0.2447, 0.2427, 0.2418, 0.2416, 0.2425, 0.2444, 0.2645",\
                 "0.2947, 0.2883, 0.2796, 0.2731, 0.27, 0.2702, 0.2703, 0.2699, 0.2725, 0.3016",\
                 "0.3273, 0.3206, 0.3114, 0.3047, 0.3007, 0.2999, 0.3017, 0.3022, 0.3062, 0.3483",\
                 "0.3623, 0.3552, 0.3454, 0.3384, 0.3344, 0.332, 0.332, 0.3353, 0.3435, 0.4169");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.2126, 0.2068, 0.1989, 0.1939, 0.1919, 0.1915, 0.1921, 0.1929, 0.1945, 0.2019",\
                 "0.2127, 0.2066, 0.199, 0.1941, 0.1918, 0.1916, 0.192, 0.1929, 0.1942, 0.2024",\
                 "0.2133, 0.2074, 0.1995, 0.1947, 0.1924, 0.1922, 0.1925, 0.1933, 0.1953, 0.2038",\
                 "0.2173, 0.2114, 0.2035, 0.1984, 0.1966, 0.1962, 0.1962, 0.1969, 0.1989, 0.2084",\
                 "0.2268, 0.2208, 0.213, 0.2077, 0.2052, 0.2048, 0.205, 0.2061, 0.2075, 0.2193",\
                 "0.2424, 0.2364, 0.2287, 0.2231, 0.2204, 0.2199, 0.2201, 0.2209, 0.2227, 0.2371",\
                 "0.2651, 0.2589, 0.2504, 0.2448, 0.2427, 0.2417, 0.2419, 0.2423, 0.2445, 0.2637",\
                 "0.2946, 0.2883, 0.2792, 0.2731, 0.2696, 0.2699, 0.2697, 0.2697, 0.2721, 0.3005",\
                 "0.3272, 0.3205, 0.3109, 0.3043, 0.3004, 0.2992, 0.3015, 0.3013, 0.305, 0.3477",\
                 "0.3623, 0.3554, 0.3454, 0.3385, 0.3341, 0.3319, 0.3322, 0.3355, 0.3447, 0.4152");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.2126, 0.2068, 0.1989, 0.1939, 0.1919, 0.1915, 0.1921, 0.1929, 0.1945, 0.2019",\
                 "0.2127, 0.2066, 0.199, 0.1941, 0.1918, 0.1916, 0.192, 0.1929, 0.1942, 0.2024",\
                 "0.2133, 0.2074, 0.1995, 0.1947, 0.1924, 0.1922, 0.1925, 0.1933, 0.1953, 0.2038",\
                 "0.2173, 0.2114, 0.2035, 0.1984, 0.1966, 0.1962, 0.1962, 0.1969, 0.1989, 0.2084",\
                 "0.2268, 0.2208, 0.213, 0.2077, 0.2052, 0.2048, 0.205, 0.2061, 0.2075, 0.2193",\
                 "0.2424, 0.2364, 0.2287, 0.2231, 0.2204, 0.2199, 0.2201, 0.2209, 0.2227, 0.2371",\
                 "0.2651, 0.2589, 0.2504, 0.2448, 0.2427, 0.2417, 0.2419, 0.2423, 0.2445, 0.2637",\
                 "0.2946, 0.2883, 0.2792, 0.2731, 0.2696, 0.2699, 0.2697, 0.2697, 0.2721, 0.3005",\
                 "0.3272, 0.3205, 0.3109, 0.3043, 0.3004, 0.2992, 0.3015, 0.3013, 0.305, 0.3477",\
                 "0.3623, 0.3554, 0.3454, 0.3385, 0.3341, 0.3319, 0.3322, 0.3355, 0.3447, 0.4152");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3086, 0.3025, 0.294, 0.2882, 0.2851, 0.2844, 0.2844, 0.285, 0.2867, 0.2956",\
                 "0.3079, 0.3017, 0.2936, 0.2873, 0.2843, 0.2836, 0.2836, 0.2841, 0.2861, 0.2955",\
                 "0.3086, 0.3024, 0.2941, 0.2881, 0.285, 0.2842, 0.2845, 0.2858, 0.2872, 0.2962",\
                 "0.3151, 0.3087, 0.3007, 0.2948, 0.2918, 0.2906, 0.2907, 0.2917, 0.2934, 0.3036",\
                 "0.3307, 0.3245, 0.3161, 0.3103, 0.3075, 0.3066, 0.3059, 0.3065, 0.3089, 0.3221",\
                 "0.3578, 0.3516, 0.3431, 0.3371, 0.3338, 0.3332, 0.3326, 0.3335, 0.3354, 0.353",\
                 "0.3952, 0.389, 0.3802, 0.3745, 0.3709, 0.3698, 0.3696, 0.3702, 0.3728, 0.3982",\
                 "0.4433, 0.4367, 0.4282, 0.4218, 0.4188, 0.4175, 0.4174, 0.4176, 0.4222, 0.46",\
                 "0.5033, 0.4968, 0.4878, 0.4812, 0.478, 0.4774, 0.4768, 0.4769, 0.4842, 0.5504",\
                 "0.5742, 0.5677, 0.5588, 0.5522, 0.5479, 0.5464, 0.5478, 0.5485, 0.5646, 0.6789");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3086, 0.3025, 0.294, 0.2882, 0.2851, 0.2844, 0.2844, 0.285, 0.2867, 0.2956",\
                 "0.3079, 0.3017, 0.2936, 0.2873, 0.2843, 0.2836, 0.2836, 0.2841, 0.2861, 0.2955",\
                 "0.3086, 0.3024, 0.2941, 0.2881, 0.285, 0.2842, 0.2845, 0.2858, 0.2872, 0.2962",\
                 "0.3151, 0.3087, 0.3007, 0.2948, 0.2918, 0.2906, 0.2907, 0.2917, 0.2934, 0.3036",\
                 "0.3307, 0.3245, 0.3161, 0.3103, 0.3075, 0.3066, 0.3059, 0.3065, 0.3089, 0.3221",\
                 "0.3578, 0.3516, 0.3431, 0.3371, 0.3338, 0.3332, 0.3326, 0.3335, 0.3354, 0.353",\
                 "0.3952, 0.389, 0.3802, 0.3745, 0.3709, 0.3698, 0.3696, 0.3702, 0.3728, 0.3982",\
                 "0.4433, 0.4367, 0.4282, 0.4218, 0.4188, 0.4175, 0.4174, 0.4176, 0.4222, 0.46",\
                 "0.5033, 0.4968, 0.4878, 0.4812, 0.478, 0.4774, 0.4768, 0.4769, 0.4842, 0.5504",\
                 "0.5742, 0.5677, 0.5588, 0.5522, 0.5479, 0.5464, 0.5478, 0.5485, 0.5646, 0.6789");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3086, 0.3026, 0.294, 0.2882, 0.2851, 0.2844, 0.2844, 0.285, 0.2864, 0.2956",\
                 "0.308, 0.302, 0.2935, 0.2877, 0.2844, 0.2835, 0.2838, 0.2841, 0.2861, 0.2947",\
                 "0.3087, 0.3025, 0.2942, 0.2882, 0.285, 0.2842, 0.2842, 0.2848, 0.2865, 0.2962",\
                 "0.3151, 0.3088, 0.3007, 0.2948, 0.2915, 0.2906, 0.2907, 0.2914, 0.2934, 0.3036",\
                 "0.3307, 0.3245, 0.316, 0.3101, 0.307, 0.3062, 0.3059, 0.3066, 0.3086, 0.3224",\
                 "0.3578, 0.3517, 0.3432, 0.3371, 0.3338, 0.3327, 0.333, 0.3336, 0.3361, 0.3533",\
                 "0.3955, 0.3888, 0.3802, 0.3745, 0.3709, 0.3697, 0.3693, 0.3702, 0.3735, 0.3977",\
                 "0.4432, 0.4368, 0.4282, 0.422, 0.4187, 0.4174, 0.4174, 0.418, 0.4223, 0.46",\
                 "0.5032, 0.4967, 0.488, 0.4809, 0.4781, 0.4775, 0.4769, 0.477, 0.4842, 0.5501",\
                 "0.5742, 0.5677, 0.5586, 0.5522, 0.5475, 0.5464, 0.5478, 0.5489, 0.5649, 0.679");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3086, 0.3026, 0.294, 0.2882, 0.2851, 0.2844, 0.2844, 0.285, 0.2864, 0.2956",\
                 "0.308, 0.302, 0.2935, 0.2877, 0.2844, 0.2835, 0.2838, 0.2841, 0.2861, 0.2947",\
                 "0.3087, 0.3025, 0.2942, 0.2882, 0.285, 0.2842, 0.2842, 0.2848, 0.2865, 0.2962",\
                 "0.3151, 0.3088, 0.3007, 0.2948, 0.2915, 0.2906, 0.2907, 0.2914, 0.2934, 0.3036",\
                 "0.3307, 0.3245, 0.316, 0.3101, 0.307, 0.3062, 0.3059, 0.3066, 0.3086, 0.3224",\
                 "0.3578, 0.3517, 0.3432, 0.3371, 0.3338, 0.3327, 0.333, 0.3336, 0.3361, 0.3533",\
                 "0.3955, 0.3888, 0.3802, 0.3745, 0.3709, 0.3697, 0.3693, 0.3702, 0.3735, 0.3977",\
                 "0.4432, 0.4368, 0.4282, 0.422, 0.4187, 0.4174, 0.4174, 0.418, 0.4223, 0.46",\
                 "0.5032, 0.4967, 0.488, 0.4809, 0.4781, 0.4775, 0.4769, 0.477, 0.4842, 0.5501",\
                 "0.5742, 0.5677, 0.5586, 0.5522, 0.5475, 0.5464, 0.5478, 0.5489, 0.5649, 0.679");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("1.054, 1.099, 1.209, 1.366, 1.573, 1.846, 2.2, 2.646, 3.19, 3.838",\
                 "1.068, 1.112, 1.223, 1.38, 1.586, 1.859, 2.213, 2.659, 3.203, 3.853",\
                 "1.118, 1.163, 1.273, 1.43, 1.637, 1.91, 2.264, 2.71, 3.254, 3.903",\
                 "1.201, 1.246, 1.356, 1.513, 1.72, 1.993, 2.347, 2.793, 3.337, 3.986",\
                 "1.275, 1.32, 1.43, 1.587, 1.794, 2.067, 2.421, 2.867, 3.411, 4.06",\
                 "1.333, 1.378, 1.489, 1.646, 1.852, 2.125, 2.479, 2.925, 3.47, 4.119",\
                 "1.373, 1.418, 1.529, 1.686, 1.892, 2.165, 2.519, 2.965, 3.51, 4.159",\
                 "1.392, 1.437, 1.547, 1.704, 1.911, 2.183, 2.538, 2.984, 3.528, 4.176",\
                 "1.385, 1.43, 1.54, 1.698, 1.904, 2.177, 2.531, 2.977, 3.521, 4.169",\
                 "1.351, 1.396, 1.506, 1.663, 1.87, 2.143, 2.497, 2.943, 3.487, 4.136");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("1.266, 1.32, 1.471, 1.714, 2.065, 2.553, 3.195, 4.003, 4.991, 6.17",\
                 "1.279, 1.334, 1.484, 1.727, 2.079, 2.566, 3.208, 4.017, 5.003, 6.182",\
                 "1.329, 1.384, 1.535, 1.777, 2.129, 2.617, 3.258, 4.066, 5.055, 6.23",\
                 "1.414, 1.469, 1.619, 1.862, 2.214, 2.701, 3.343, 4.151, 5.138, 6.317",\
                 "1.492, 1.547, 1.697, 1.94, 2.292, 2.779, 3.421, 4.23, 5.218, 6.393",\
                 "1.555, 1.61, 1.76, 2.003, 2.355, 2.842, 3.484, 4.292, 5.28, 6.459",\
                 "1.603, 1.658, 1.808, 2.051, 2.402, 2.89, 3.531, 4.341, 5.329, 6.503",\
                 "1.631, 1.685, 1.836, 2.079, 2.43, 2.918, 3.559, 4.367, 5.355, 6.533",\
                 "1.635, 1.69, 1.84, 2.083, 2.435, 2.923, 3.564, 4.372, 5.359, 6.534",\
                 "1.615, 1.669, 1.82, 2.063, 2.414, 2.902, 3.543, 4.351, 5.338, 6.515");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1224, 0.1634, 0.2754, 0.458, 0.7474, 1.178, 1.763, 2.512, 3.427, 4.523",\
                 "0.1224, 0.1634, 0.2748, 0.458, 0.747, 1.179, 1.765, 2.513, 3.429, 4.515",\
                 "0.123, 0.163, 0.2752, 0.4578, 0.7474, 1.179, 1.765, 2.513, 3.427, 4.522",\
                 "0.1226, 0.163, 0.275, 0.4582, 0.7466, 1.179, 1.765, 2.513, 3.428, 4.52",\
                 "0.122, 0.1632, 0.2754, 0.4582, 0.7474, 1.179, 1.765, 2.513, 3.428, 4.523",\
                 "0.1224, 0.1632, 0.275, 0.4582, 0.7468, 1.178, 1.765, 2.512, 3.429, 4.521",\
                 "0.1224, 0.163, 0.275, 0.458, 0.7472, 1.177, 1.762, 2.508, 3.424, 4.519",\
                 "0.1224, 0.1632, 0.2752, 0.458, 0.747, 1.179, 1.764, 2.51, 3.421, 4.51",\
                 "0.1228, 0.1632, 0.275, 0.4578, 0.7474, 1.178, 1.762, 2.509, 3.421, 4.51",\
                 "0.1224, 0.1632, 0.275, 0.458, 0.7474, 1.178, 1.764, 2.513, 3.424, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1486, 0.2102, 0.4112, 0.7742, 1.361, 2.213, 3.341, 4.768, 6.51, 8.587",\
                 "0.1484, 0.2102, 0.4116, 0.7742, 1.361, 2.213, 3.339, 4.765, 6.512, 8.587",\
                 "0.148, 0.2102, 0.4112, 0.773, 1.359, 2.212, 3.346, 4.774, 6.51, 8.583",\
                 "0.1486, 0.2104, 0.4114, 0.7736, 1.358, 2.213, 3.345, 4.767, 6.512, 8.587",\
                 "0.1482, 0.2102, 0.4114, 0.7738, 1.361, 2.21, 3.346, 4.775, 6.509, 8.582",\
                 "0.1476, 0.21, 0.4112, 0.7736, 1.359, 2.21, 3.345, 4.772, 6.511, 8.585",\
                 "0.1474, 0.2096, 0.4118, 0.7736, 1.359, 2.211, 3.345, 4.768, 6.509, 8.582",\
                 "0.1476, 0.2098, 0.4112, 0.774, 1.359, 2.21, 3.338, 4.77, 6.518, 8.588",\
                 "0.1486, 0.2104, 0.4116, 0.7742, 1.358, 2.212, 3.34, 4.765, 6.516, 8.578",\
                 "0.148, 0.21, 0.4116, 0.7744, 1.359, 2.209, 3.341, 4.763, 6.504, 8.58");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3579, 0.4028, 0.5134, 0.6688, 0.8741, 1.147, 1.501, 1.947, 2.492, 3.141",\
                 "0.3751, 0.4199, 0.5306, 0.6858, 0.8913, 1.164, 1.519, 1.964, 2.508, 3.157",\
                 "0.4414, 0.4863, 0.5968, 0.752, 0.9575, 1.23, 1.585, 2.031, 2.575, 3.224",\
                 "0.5735, 0.6184, 0.7288, 0.8838, 1.089, 1.362, 1.716, 2.162, 2.707, 3.356",\
                 "0.7433, 0.7926, 0.9101, 1.07, 1.277, 1.549, 1.903, 2.349, 2.893, 3.541",\
                 "0.9366, 0.9901, 1.117, 1.285, 1.497, 1.771, 2.125, 2.57, 3.114, 3.762",\
                 "1.156, 1.215, 1.352, 1.53, 1.749, 2.025, 2.379, 2.823, 3.366, 4.014",\
                 "1.401, 1.465, 1.613, 1.804, 2.032, 2.313, 2.668, 3.112, 3.654, 4.302",\
                 "1.674, 1.742, 1.902, 2.106, 2.345, 2.634, 2.993, 3.438, 3.98, 4.627",\
                 "1.974, 2.047, 2.218, 2.436, 2.689, 2.987, 3.353, 3.802, 4.345, 4.993");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.4823, 0.5359, 0.6847, 0.9242, 1.276, 1.763, 2.406, 3.215, 4.202, 5.379",\
                 "0.4904, 0.5438, 0.6926, 0.9326, 1.284, 1.772, 2.414, 3.224, 4.21, 5.386",\
                 "0.5122, 0.5655, 0.7145, 0.9541, 1.305, 1.793, 2.436, 3.245, 4.233, 5.413",\
                 "0.5594, 0.6131, 0.7615, 1, 1.351, 1.839, 2.481, 3.291, 4.278, 5.458",\
                 "0.6153, 0.6709, 0.8221, 1.063, 1.413, 1.9, 2.542, 3.351, 4.34, 5.516",\
                 "0.6676, 0.725, 0.8797, 1.123, 1.473, 1.959, 2.6, 3.407, 4.395, 5.572",\
                 "0.7067, 0.7673, 0.9268, 1.174, 1.525, 2.01, 2.65, 3.457, 4.443, 5.624",\
                 "0.7258, 0.7897, 0.955, 1.21, 1.565, 2.05, 2.689, 3.495, 4.48, 5.656",\
                 "0.7208, 0.789, 0.9611, 1.223, 1.586, 2.076, 2.715, 3.519, 4.504, 5.678",\
                 "0.6888, 0.7599, 0.9398, 1.21, 1.58, 2.08, 2.724, 3.53, 4.514, 5.688");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1186, 0.1604, 0.2716, 0.4532, 0.7443, 1.177, 1.763, 2.511, 3.427, 4.518",\
                 "0.1186, 0.1606, 0.2717, 0.4534, 0.7452, 1.178, 1.765, 2.513, 3.428, 4.522",\
                 "0.1186, 0.1606, 0.2719, 0.4534, 0.7444, 1.177, 1.764, 2.511, 3.426, 4.521",\
                 "0.1235, 0.1652, 0.275, 0.4554, 0.746, 1.178, 1.765, 2.512, 3.427, 4.517",\
                 "0.1478, 0.191, 0.2978, 0.47, 0.7518, 1.18, 1.766, 2.513, 3.428, 4.522",\
                 "0.1736, 0.2212, 0.3292, 0.4988, 0.77, 1.187, 1.766, 2.513, 3.429, 4.522",\
                 "0.203, 0.254, 0.3668, 0.5334, 0.7932, 1.2, 1.772, 2.513, 3.428, 4.519",\
                 "0.2344, 0.2898, 0.4108, 0.577, 0.8284, 1.22, 1.782, 2.517, 3.427, 4.517",\
                 "0.2672, 0.3288, 0.4578, 0.6282, 0.875, 1.256, 1.803, 2.529, 3.432, 4.516",\
                 "0.3022, 0.369, 0.5094, 0.6838, 0.928, 1.302, 1.84, 2.557, 3.447, 4.523");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1405, 0.2021, 0.4012, 0.763, 1.355, 2.213, 3.341, 4.773, 6.512, 8.586",\
                 "0.1403, 0.2024, 0.4016, 0.7635, 1.355, 2.209, 3.342, 4.767, 6.513, 8.59",\
                 "0.1399, 0.2026, 0.4011, 0.763, 1.357, 2.21, 3.34, 4.767, 6.511, 8.591",\
                 "0.142, 0.2033, 0.4022, 0.764, 1.358, 2.213, 3.341, 4.767, 6.511, 8.591",\
                 "0.152, 0.2134, 0.4132, 0.7706, 1.359, 2.213, 3.343, 4.773, 6.509, 8.601",\
                 "0.1644, 0.227, 0.4254, 0.7814, 1.363, 2.213, 3.346, 4.77, 6.509, 8.594",\
                 "0.1822, 0.2452, 0.4442, 0.7954, 1.37, 2.214, 3.345, 4.773, 6.515, 8.585",\
                 "0.2036, 0.2674, 0.4668, 0.821, 1.386, 2.22, 3.346, 4.768, 6.518, 8.583",\
                 "0.226, 0.291, 0.4916, 0.8516, 1.416, 2.242, 3.35, 4.772, 6.506, 8.583",\
                 "0.2486, 0.3198, 0.5196, 0.8844, 1.452, 2.276, 3.377, 4.779, 6.508, 8.582");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3583, 0.4038, 0.5149, 0.6714, 0.8769, 1.148, 1.502, 1.947, 2.491, 3.14",\
                 "0.3755, 0.4209, 0.5321, 0.6887, 0.8941, 1.166, 1.519, 1.965, 2.508, 3.157",\
                 "0.442, 0.4873, 0.5984, 0.7549, 0.9603, 1.232, 1.585, 2.031, 2.575, 3.223",\
                 "0.5744, 0.6197, 0.7304, 0.8868, 1.092, 1.364, 1.717, 2.162, 2.706, 3.355",\
                 "0.7452, 0.7948, 0.9128, 1.074, 1.28, 1.55, 1.903, 2.348, 2.891, 3.54",\
                 "0.9399, 0.9942, 1.121, 1.29, 1.499, 1.769, 2.121, 2.565, 3.108, 3.757",\
                 "1.161, 1.22, 1.357, 1.536, 1.747, 2.017, 2.367, 2.811, 3.354, 4.002",\
                 "1.408, 1.473, 1.621, 1.81, 2.025, 2.293, 2.643, 3.085, 3.627, 4.274",\
                 "1.683, 1.752, 1.911, 2.112, 2.332, 2.599, 2.947, 3.388, 3.929, 4.576",\
                 "1.987, 2.059, 2.23, 2.443, 2.666, 2.933, 3.279, 3.718, 4.259, 4.905");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1208, 0.1624, 0.273, 0.455, 0.7405, 1.17, 1.756, 2.503, 3.419, 4.512",\
                 "0.1207, 0.1623, 0.2732, 0.4556, 0.7409, 1.17, 1.756, 2.503, 3.418, 4.512",\
                 "0.1206, 0.1623, 0.2735, 0.4552, 0.7407, 1.17, 1.756, 2.501, 3.419, 4.509",\
                 "0.1252, 0.1671, 0.2762, 0.457, 0.7414, 1.17, 1.756, 2.501, 3.417, 4.509",\
                 "0.1506, 0.1936, 0.2996, 0.471, 0.7454, 1.17, 1.755, 2.503, 3.417, 4.512",\
                 "0.1774, 0.2238, 0.33, 0.4976, 0.756, 1.172, 1.757, 2.503, 3.419, 4.512",\
                 "0.2072, 0.2578, 0.3672, 0.527, 0.7692, 1.176, 1.757, 2.503, 3.418, 4.511",\
                 "0.238, 0.2936, 0.41, 0.5628, 0.7836, 1.179, 1.758, 2.502, 3.414, 4.507",\
                 "0.2728, 0.332, 0.456, 0.6034, 0.8014, 1.183, 1.759, 2.505, 3.418, 4.505",\
                 "0.3074, 0.3736, 0.5048, 0.6472, 0.822, 1.188, 1.76, 2.507, 3.417, 4.506");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3579, 0.4028, 0.5134, 0.6688, 0.8741, 1.147, 1.501, 1.947, 2.492, 3.141",\
                 "0.3751, 0.4199, 0.5306, 0.6858, 0.8913, 1.164, 1.519, 1.964, 2.508, 3.157",\
                 "0.4414, 0.4863, 0.5968, 0.752, 0.9575, 1.23, 1.585, 2.031, 2.575, 3.224",\
                 "0.5735, 0.6184, 0.7288, 0.8838, 1.089, 1.362, 1.716, 2.162, 2.707, 3.356",\
                 "0.7433, 0.7925, 0.9098, 1.07, 1.277, 1.55, 1.903, 2.349, 2.893, 3.541",\
                 "0.9364, 0.9903, 1.117, 1.285, 1.497, 1.771, 2.125, 2.57, 3.114, 3.762",\
                 "1.156, 1.215, 1.352, 1.53, 1.748, 2.025, 2.379, 2.823, 3.366, 4.015",\
                 "1.402, 1.465, 1.613, 1.804, 2.032, 2.312, 2.667, 3.111, 3.654, 4.302",\
                 "1.674, 1.742, 1.902, 2.106, 2.346, 2.634, 2.992, 3.438, 3.98, 4.627",\
                 "1.974, 2.047, 2.218, 2.437, 2.689, 2.987, 3.352, 3.801, 4.346, 4.992");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.4821, 0.5356, 0.6843, 0.9242, 1.276, 1.764, 2.406, 3.215, 4.203, 5.381",\
                 "0.4904, 0.5438, 0.6926, 0.9326, 1.284, 1.772, 2.414, 3.224, 4.21, 5.386",\
                 "0.512, 0.5655, 0.7145, 0.9541, 1.305, 1.793, 2.436, 3.245, 4.233, 5.413",\
                 "0.5596, 0.6131, 0.7616, 1.001, 1.351, 1.839, 2.48, 3.291, 4.279, 5.459",\
                 "0.6153, 0.6707, 0.8223, 1.063, 1.413, 1.9, 2.542, 3.35, 4.34, 5.517",\
                 "0.6674, 0.7249, 0.8797, 1.123, 1.474, 1.959, 2.6, 3.409, 4.398, 5.576",\
                 "0.7067, 0.7672, 0.9263, 1.174, 1.525, 2.01, 2.65, 3.457, 4.443, 5.622",\
                 "0.7259, 0.7899, 0.9553, 1.21, 1.565, 2.05, 2.688, 3.495, 4.48, 5.656",\
                 "0.721, 0.7886, 0.9606, 1.224, 1.586, 2.075, 2.715, 3.519, 4.504, 5.679",\
                 "0.6883, 0.76, 0.9398, 1.21, 1.581, 2.079, 2.725, 3.53, 4.514, 5.687");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1186, 0.1604, 0.2716, 0.4532, 0.7444, 1.177, 1.763, 2.511, 3.427, 4.518",\
                 "0.1186, 0.1606, 0.2717, 0.4534, 0.7452, 1.178, 1.765, 2.513, 3.428, 4.522",\
                 "0.1186, 0.1606, 0.2719, 0.4534, 0.7444, 1.177, 1.764, 2.511, 3.426, 4.521",\
                 "0.1233, 0.1649, 0.2748, 0.4552, 0.7464, 1.177, 1.764, 2.511, 3.426, 4.52",\
                 "0.1478, 0.1912, 0.2982, 0.4706, 0.7518, 1.18, 1.766, 2.512, 3.427, 4.522",\
                 "0.1738, 0.22, 0.3294, 0.4988, 0.7692, 1.186, 1.767, 2.513, 3.429, 4.52",\
                 "0.2028, 0.2536, 0.3674, 0.5344, 0.7934, 1.2, 1.772, 2.513, 3.426, 4.519",\
                 "0.2352, 0.2896, 0.4112, 0.5778, 0.829, 1.221, 1.782, 2.517, 3.426, 4.516",\
                 "0.2672, 0.3288, 0.458, 0.6284, 0.8754, 1.254, 1.803, 2.528, 3.432, 4.515",\
                 "0.3024, 0.3688, 0.5092, 0.6838, 0.9288, 1.299, 1.84, 2.556, 3.446, 4.523");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1402, 0.2023, 0.4011, 0.763, 1.355, 2.211, 3.341, 4.772, 6.516, 8.586",\
                 "0.1403, 0.2024, 0.4015, 0.7635, 1.355, 2.209, 3.342, 4.767, 6.513, 8.59",\
                 "0.1407, 0.2025, 0.4012, 0.763, 1.357, 2.211, 3.34, 4.767, 6.511, 8.591",\
                 "0.1419, 0.203, 0.402, 0.7638, 1.358, 2.213, 3.344, 4.767, 6.512, 8.591",\
                 "0.1518, 0.2142, 0.4128, 0.7706, 1.358, 2.213, 3.34, 4.769, 6.508, 8.602",\
                 "0.165, 0.227, 0.4264, 0.7814, 1.363, 2.21, 3.345, 4.768, 6.512, 8.587",\
                 "0.1816, 0.245, 0.4444, 0.7964, 1.369, 2.214, 3.344, 4.769, 6.519, 8.588",\
                 "0.2026, 0.2666, 0.4664, 0.8208, 1.385, 2.219, 3.345, 4.769, 6.515, 8.583",\
                 "0.2248, 0.2918, 0.4928, 0.8512, 1.417, 2.241, 3.351, 4.772, 6.508, 8.593",\
                 "0.2492, 0.3196, 0.5194, 0.8862, 1.453, 2.279, 3.376, 4.782, 6.511, 8.58");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3584, 0.4038, 0.515, 0.6715, 0.8769, 1.148, 1.502, 1.947, 2.491, 3.14",\
                 "0.3756, 0.421, 0.5322, 0.6887, 0.8941, 1.166, 1.519, 1.965, 2.508, 3.157",\
                 "0.442, 0.4873, 0.5984, 0.7549, 0.9603, 1.232, 1.585, 2.031, 2.575, 3.223",\
                 "0.5744, 0.6197, 0.7304, 0.8869, 1.092, 1.363, 1.717, 2.162, 2.706, 3.354",\
                 "0.7451, 0.795, 0.9127, 1.074, 1.279, 1.55, 1.903, 2.348, 2.891, 3.54",\
                 "0.9398, 0.9941, 1.121, 1.29, 1.499, 1.769, 2.121, 2.565, 3.109, 3.757",\
                 "1.161, 1.22, 1.357, 1.535, 1.747, 2.016, 2.367, 2.811, 3.354, 4.001",\
                 "1.408, 1.473, 1.621, 1.81, 2.025, 2.293, 2.643, 3.085, 3.627, 4.274",\
                 "1.683, 1.752, 1.911, 2.112, 2.332, 2.599, 2.946, 3.388, 3.929, 4.576",\
                 "1.986, 2.059, 2.23, 2.443, 2.667, 2.932, 3.279, 3.719, 4.259, 4.905");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1202, 0.1624, 0.2733, 0.4557, 0.7402, 1.17, 1.756, 2.501, 3.419, 4.512",\
                 "0.1203, 0.1622, 0.2735, 0.4554, 0.741, 1.17, 1.756, 2.503, 3.419, 4.512",\
                 "0.1207, 0.1623, 0.2735, 0.4552, 0.7407, 1.17, 1.756, 2.503, 3.414, 4.507",\
                 "0.125, 0.167, 0.2766, 0.4568, 0.7406, 1.17, 1.756, 2.503, 3.415, 4.51",\
                 "0.1502, 0.1934, 0.2994, 0.4712, 0.7446, 1.17, 1.755, 2.503, 3.418, 4.511",\
                 "0.177, 0.2232, 0.3302, 0.4976, 0.756, 1.172, 1.757, 2.503, 3.419, 4.511",\
                 "0.207, 0.2586, 0.3668, 0.5272, 0.769, 1.176, 1.757, 2.502, 3.416, 4.51",\
                 "0.2388, 0.2948, 0.4102, 0.5626, 0.7836, 1.179, 1.757, 2.502, 3.415, 4.506",\
                 "0.2734, 0.3326, 0.4562, 0.6036, 0.8014, 1.184, 1.759, 2.504, 3.416, 4.505",\
                 "0.3102, 0.3736, 0.5052, 0.647, 0.8214, 1.188, 1.759, 2.506, 3.417, 4.504");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3579, 0.4027, 0.5136, 0.6687, 0.8742, 1.147, 1.501, 1.947, 2.491, 3.14",\
                 "0.3751, 0.4201, 0.5306, 0.6858, 0.8914, 1.164, 1.519, 1.964, 2.509, 3.158",\
                 "0.4416, 0.4864, 0.597, 0.7521, 0.9576, 1.23, 1.585, 2.031, 2.575, 3.224",\
                 "0.5735, 0.6185, 0.7289, 0.8839, 1.089, 1.362, 1.717, 2.162, 2.706, 3.355",\
                 "0.7432, 0.7925, 0.9099, 1.07, 1.277, 1.549, 1.903, 2.349, 2.893, 3.542",\
                 "0.9365, 0.9905, 1.117, 1.286, 1.498, 1.771, 2.125, 2.57, 3.114, 3.762",\
                 "1.156, 1.215, 1.352, 1.53, 1.749, 2.025, 2.379, 2.824, 3.367, 4.015",\
                 "1.401, 1.465, 1.613, 1.804, 2.032, 2.313, 2.667, 3.112, 3.654, 4.302",\
                 "1.674, 1.742, 1.902, 2.106, 2.346, 2.634, 2.993, 3.438, 3.98, 4.628",\
                 "1.974, 2.047, 2.219, 2.437, 2.689, 2.987, 3.353, 3.802, 4.346, 4.993");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.4879, 0.5418, 0.6909, 0.9305, 1.282, 1.77, 2.412, 3.221, 4.207, 5.384",\
                 "0.4963, 0.5501, 0.6991, 0.9388, 1.29, 1.778, 2.42, 3.228, 4.217, 5.394",\
                 "0.5175, 0.5711, 0.7201, 0.9598, 1.311, 1.799, 2.441, 3.249, 4.238, 5.414",\
                 "0.5632, 0.6171, 0.7656, 1.005, 1.355, 1.843, 2.485, 3.294, 4.281, 5.457",\
                 "0.6177, 0.6732, 0.8248, 1.066, 1.416, 1.903, 2.545, 3.353, 4.34, 5.517",\
                 "0.6692, 0.7269, 0.8816, 1.125, 1.475, 1.961, 2.602, 3.409, 4.396, 5.573",\
                 "0.7081, 0.7688, 0.9284, 1.176, 1.527, 2.012, 2.651, 3.459, 4.444, 5.622",\
                 "0.7271, 0.7914, 0.9568, 1.211, 1.567, 2.052, 2.69, 3.496, 4.481, 5.657",\
                 "0.7222, 0.7902, 0.9624, 1.224, 1.587, 2.077, 2.716, 3.52, 4.505, 5.68",\
                 "0.6897, 0.7614, 0.9413, 1.211, 1.583, 2.081, 2.725, 3.531, 4.514, 5.689");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.119, 0.1604, 0.2713, 0.4529, 0.7435, 1.177, 1.764, 2.511, 3.424, 4.517",\
                 "0.1189, 0.1604, 0.2718, 0.4534, 0.7433, 1.176, 1.763, 2.51, 3.426, 4.514",\
                 "0.1187, 0.1608, 0.2717, 0.4533, 0.7441, 1.177, 1.764, 2.511, 3.424, 4.518",\
                 "0.1234, 0.1648, 0.2748, 0.4546, 0.7454, 1.177, 1.763, 2.511, 3.424, 4.517",\
                 "0.1482, 0.1908, 0.2984, 0.4702, 0.7526, 1.18, 1.764, 2.511, 3.425, 4.518",\
                 "0.1738, 0.22, 0.3292, 0.4986, 0.7694, 1.187, 1.766, 2.512, 3.427, 4.517",\
                 "0.2026, 0.2538, 0.367, 0.533, 0.7934, 1.2, 1.772, 2.514, 3.424, 4.514",\
                 "0.2344, 0.2904, 0.4106, 0.5776, 0.828, 1.22, 1.783, 2.517, 3.426, 4.517",\
                 "0.2676, 0.3282, 0.4582, 0.6282, 0.8748, 1.256, 1.805, 2.529, 3.434, 4.516",\
                 "0.3026, 0.3692, 0.5098, 0.6838, 0.9282, 1.301, 1.84, 2.554, 3.446, 4.524");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1406, 0.2031, 0.401, 0.764, 1.357, 2.212, 3.343, 4.768, 6.51, 8.579",\
                 "0.1411, 0.2033, 0.4023, 0.7646, 1.355, 2.21, 3.346, 4.77, 6.507, 8.584",\
                 "0.1403, 0.2031, 0.4015, 0.7641, 1.355, 2.211, 3.347, 4.771, 6.507, 8.585",\
                 "0.1426, 0.2041, 0.403, 0.7644, 1.355, 2.209, 3.346, 4.766, 6.519, 8.585",\
                 "0.154, 0.2144, 0.4124, 0.7708, 1.357, 2.212, 3.34, 4.765, 6.519, 8.585",\
                 "0.1646, 0.2272, 0.4252, 0.7814, 1.363, 2.213, 3.346, 4.773, 6.514, 8.585",\
                 "0.182, 0.2454, 0.4444, 0.7966, 1.37, 2.214, 3.346, 4.769, 6.518, 8.585",\
                 "0.2034, 0.2678, 0.4662, 0.8216, 1.386, 2.22, 3.345, 4.768, 6.51, 8.583",\
                 "0.2262, 0.292, 0.4916, 0.8514, 1.416, 2.241, 3.351, 4.771, 6.507, 8.588",\
                 "0.2502, 0.3196, 0.519, 0.8858, 1.455, 2.276, 3.377, 4.779, 6.511, 8.58");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3586, 0.4038, 0.5151, 0.6722, 0.8793, 1.154, 1.51, 1.955, 2.499, 3.147",\
                 "0.3758, 0.421, 0.5323, 0.6894, 0.8965, 1.172, 1.527, 1.972, 2.516, 3.164",\
                 "0.4422, 0.4872, 0.5986, 0.7557, 0.9628, 1.238, 1.593, 2.038, 2.582, 3.23",\
                 "0.5744, 0.6197, 0.7306, 0.8877, 1.095, 1.37, 1.724, 2.169, 2.713, 3.361",\
                 "0.7451, 0.7947, 0.9131, 1.075, 1.284, 1.556, 1.91, 2.354, 2.898, 3.546",\
                 "0.9399, 0.9944, 1.122, 1.292, 1.505, 1.776, 2.128, 2.573, 3.116, 3.764",\
                 "1.161, 1.221, 1.359, 1.539, 1.755, 2.025, 2.376, 2.82, 3.363, 4.01",\
                 "1.41, 1.474, 1.623, 1.815, 2.035, 2.304, 2.654, 3.097, 3.639, 4.286",\
                 "1.685, 1.753, 1.914, 2.118, 2.345, 2.614, 2.962, 3.404, 3.945, 4.592",\
                 "1.988, 2.061, 2.233, 2.45, 2.685, 2.955, 3.301, 3.741, 4.282, 4.928");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1198, 0.1619, 0.2741, 0.4571, 0.7486, 1.182, 1.762, 2.502, 3.417, 4.507",\
                 "0.1199, 0.1618, 0.2744, 0.4571, 0.749, 1.182, 1.762, 2.504, 3.417, 4.505",\
                 "0.1199, 0.1618, 0.2748, 0.4573, 0.7493, 1.181, 1.761, 2.504, 3.416, 4.51",\
                 "0.1247, 0.1661, 0.2778, 0.4594, 0.75, 1.179, 1.759, 2.501, 3.418, 4.506",\
                 "0.1502, 0.1932, 0.3008, 0.475, 0.7544, 1.175, 1.757, 2.503, 3.418, 4.509",\
                 "0.1762, 0.2234, 0.3324, 0.504, 0.7658, 1.177, 1.756, 2.502, 3.416, 4.511",\
                 "0.2068, 0.2586, 0.3696, 0.5356, 0.7794, 1.179, 1.757, 2.503, 3.418, 4.508",\
                 "0.2386, 0.294, 0.4138, 0.5744, 0.7954, 1.183, 1.757, 2.503, 3.415, 4.505",\
                 "0.2724, 0.3336, 0.4604, 0.6192, 0.8178, 1.187, 1.76, 2.504, 3.416, 4.504",\
                 "0.3082, 0.3732, 0.5112, 0.669, 0.846, 1.195, 1.759, 2.504, 3.417, 4.507");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3579, 0.4027, 0.5136, 0.6687, 0.8742, 1.147, 1.501, 1.947, 2.491, 3.14",\
                 "0.3751, 0.4201, 0.5306, 0.6858, 0.8914, 1.164, 1.519, 1.964, 2.509, 3.158",\
                 "0.4416, 0.4864, 0.597, 0.7521, 0.9576, 1.23, 1.585, 2.031, 2.575, 3.224",\
                 "0.5735, 0.6185, 0.7289, 0.8839, 1.089, 1.362, 1.717, 2.162, 2.706, 3.355",\
                 "0.7432, 0.7925, 0.9099, 1.07, 1.277, 1.55, 1.903, 2.349, 2.893, 3.542",\
                 "0.9365, 0.9904, 1.117, 1.285, 1.497, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.156, 1.214, 1.352, 1.53, 1.749, 2.025, 2.379, 2.824, 3.367, 4.015",\
                 "1.401, 1.465, 1.613, 1.805, 2.032, 2.313, 2.667, 3.112, 3.655, 4.302",\
                 "1.674, 1.742, 1.902, 2.106, 2.346, 2.634, 2.993, 3.438, 3.98, 4.628",\
                 "1.974, 2.047, 2.218, 2.437, 2.689, 2.987, 3.353, 3.802, 4.346, 4.993");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.4879, 0.5418, 0.6909, 0.9305, 1.282, 1.77, 2.412, 3.221, 4.207, 5.384",\
                 "0.4963, 0.5501, 0.6991, 0.9388, 1.29, 1.778, 2.42, 3.228, 4.217, 5.394",\
                 "0.5175, 0.5711, 0.7201, 0.9598, 1.311, 1.799, 2.441, 3.249, 4.238, 5.414",\
                 "0.5632, 0.6171, 0.7656, 1.005, 1.355, 1.843, 2.485, 3.294, 4.281, 5.457",\
                 "0.6177, 0.6732, 0.8248, 1.066, 1.416, 1.903, 2.544, 3.354, 4.34, 5.517",\
                 "0.6692, 0.7269, 0.8817, 1.125, 1.475, 1.961, 2.602, 3.409, 4.396, 5.573",\
                 "0.7081, 0.7689, 0.9281, 1.176, 1.527, 2.012, 2.651, 3.459, 4.446, 5.622",\
                 "0.7272, 0.7913, 0.957, 1.211, 1.567, 2.052, 2.69, 3.496, 4.481, 5.657",\
                 "0.7223, 0.7902, 0.9617, 1.224, 1.587, 2.077, 2.716, 3.52, 4.505, 5.68",\
                 "0.6897, 0.7615, 0.9416, 1.211, 1.583, 2.081, 2.725, 3.531, 4.514, 5.689");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.119, 0.1604, 0.2713, 0.4529, 0.7435, 1.177, 1.764, 2.511, 3.424, 4.517",\
                 "0.1189, 0.1604, 0.2718, 0.4534, 0.7433, 1.176, 1.763, 2.51, 3.426, 4.514",\
                 "0.1187, 0.1608, 0.2717, 0.4533, 0.7441, 1.177, 1.764, 2.511, 3.424, 4.518",\
                 "0.1234, 0.1648, 0.2748, 0.4546, 0.7454, 1.177, 1.763, 2.511, 3.424, 4.517",\
                 "0.1482, 0.1908, 0.2984, 0.4698, 0.7528, 1.178, 1.763, 2.51, 3.426, 4.518",\
                 "0.1738, 0.2206, 0.3294, 0.4988, 0.7694, 1.187, 1.768, 2.512, 3.427, 4.515",\
                 "0.2026, 0.2556, 0.367, 0.533, 0.7934, 1.2, 1.772, 2.514, 3.424, 4.514",\
                 "0.2344, 0.2904, 0.411, 0.5774, 0.8282, 1.22, 1.783, 2.517, 3.427, 4.517",\
                 "0.2676, 0.3284, 0.4578, 0.6292, 0.8754, 1.256, 1.804, 2.529, 3.434, 4.516",\
                 "0.3026, 0.368, 0.5086, 0.684, 0.9272, 1.301, 1.84, 2.556, 3.446, 4.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1406, 0.2031, 0.401, 0.764, 1.357, 2.212, 3.343, 4.768, 6.51, 8.579",\
                 "0.1411, 0.2033, 0.4023, 0.7646, 1.355, 2.21, 3.346, 4.77, 6.507, 8.584",\
                 "0.1403, 0.2031, 0.4015, 0.7641, 1.355, 2.211, 3.347, 4.771, 6.507, 8.585",\
                 "0.1426, 0.2041, 0.403, 0.7644, 1.355, 2.209, 3.346, 4.766, 6.519, 8.585",\
                 "0.154, 0.2144, 0.4124, 0.7708, 1.359, 2.208, 3.345, 4.768, 6.519, 8.585",\
                 "0.1646, 0.2272, 0.4266, 0.7814, 1.363, 2.213, 3.346, 4.773, 6.514, 8.585",\
                 "0.182, 0.2448, 0.444, 0.7958, 1.371, 2.214, 3.346, 4.769, 6.506, 8.584",\
                 "0.2032, 0.267, 0.4664, 0.8214, 1.388, 2.22, 3.343, 4.769, 6.517, 8.581",\
                 "0.225, 0.292, 0.4924, 0.8514, 1.416, 2.241, 3.35, 4.771, 6.507, 8.586",\
                 "0.2502, 0.3186, 0.5204, 0.8844, 1.455, 2.276, 3.377, 4.78, 6.511, 8.582");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3586, 0.4037, 0.5151, 0.6722, 0.8793, 1.154, 1.51, 1.955, 2.499, 3.147",\
                 "0.3758, 0.4209, 0.5323, 0.6894, 0.8965, 1.172, 1.527, 1.972, 2.516, 3.164",\
                 "0.4421, 0.4872, 0.5986, 0.7558, 0.9628, 1.238, 1.593, 2.038, 2.582, 3.23",\
                 "0.5745, 0.6197, 0.7307, 0.8878, 1.095, 1.37, 1.724, 2.169, 2.713, 3.361",\
                 "0.7452, 0.7948, 0.9132, 1.075, 1.284, 1.556, 1.909, 2.354, 2.898, 3.546",\
                 "0.9401, 0.9942, 1.122, 1.292, 1.505, 1.776, 2.128, 2.573, 3.116, 3.764",\
                 "1.161, 1.221, 1.359, 1.539, 1.755, 2.025, 2.376, 2.82, 3.363, 4.01",\
                 "1.409, 1.473, 1.623, 1.814, 2.035, 2.304, 2.654, 3.097, 3.639, 4.286",\
                 "1.685, 1.753, 1.913, 2.118, 2.345, 2.614, 2.962, 3.404, 3.945, 4.592",\
                 "1.988, 2.061, 2.233, 2.451, 2.686, 2.955, 3.301, 3.741, 4.282, 4.928");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1199, 0.1616, 0.2743, 0.4572, 0.7489, 1.181, 1.763, 2.503, 3.417, 4.507",\
                 "0.1198, 0.1618, 0.2742, 0.4572, 0.749, 1.182, 1.762, 2.502, 3.417, 4.507",\
                 "0.1198, 0.1618, 0.2745, 0.4574, 0.7493, 1.181, 1.761, 2.504, 3.418, 4.51",\
                 "0.1247, 0.1661, 0.2776, 0.4594, 0.75, 1.179, 1.758, 2.503, 3.418, 4.51",\
                 "0.15, 0.193, 0.3008, 0.475, 0.754, 1.176, 1.757, 2.503, 3.418, 4.505",\
                 "0.1764, 0.2234, 0.3322, 0.5036, 0.7658, 1.176, 1.756, 2.502, 3.414, 4.509",\
                 "0.207, 0.2582, 0.3698, 0.5356, 0.7782, 1.179, 1.757, 2.502, 3.414, 4.508",\
                 "0.24, 0.294, 0.4144, 0.5742, 0.7948, 1.182, 1.758, 2.502, 3.414, 4.503",\
                 "0.2736, 0.334, 0.4612, 0.6194, 0.8184, 1.188, 1.76, 2.504, 3.415, 4.505",\
                 "0.309, 0.3746, 0.5114, 0.6694, 0.8466, 1.195, 1.76, 2.505, 3.417, 4.505");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.3579, 0.4027, 0.5136, 0.6687, 0.8742, 1.147, 1.501, 1.947, 2.491, 3.14",\
                 "0.3751, 0.4201, 0.5306, 0.6858, 0.8914, 1.164, 1.519, 1.964, 2.509, 3.158",\
                 "0.4416, 0.4864, 0.597, 0.7521, 0.9576, 1.23, 1.585, 2.031, 2.575, 3.224",\
                 "0.5735, 0.6185, 0.7289, 0.8839, 1.089, 1.362, 1.717, 2.162, 2.706, 3.355",\
                 "0.7432, 0.7925, 0.9099, 1.07, 1.277, 1.55, 1.903, 2.349, 2.893, 3.542",\
                 "0.9365, 0.9904, 1.117, 1.285, 1.497, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.156, 1.214, 1.352, 1.53, 1.749, 2.025, 2.379, 2.824, 3.367, 4.015",\
                 "1.401, 1.465, 1.613, 1.805, 2.032, 2.313, 2.667, 3.112, 3.655, 4.302",\
                 "1.674, 1.742, 1.902, 2.106, 2.346, 2.634, 2.993, 3.438, 3.98, 4.628",\
                 "1.974, 2.047, 2.218, 2.437, 2.689, 2.987, 3.353, 3.802, 4.346, 4.993");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.4879, 0.5418, 0.6909, 0.9305, 1.282, 1.77, 2.412, 3.221, 4.207, 5.384",\
                 "0.4963, 0.5501, 0.6991, 0.9388, 1.29, 1.778, 2.42, 3.228, 4.217, 5.394",\
                 "0.5175, 0.5711, 0.7201, 0.9598, 1.311, 1.799, 2.441, 3.249, 4.238, 5.414",\
                 "0.5632, 0.6171, 0.7656, 1.005, 1.355, 1.843, 2.485, 3.294, 4.281, 5.457",\
                 "0.6177, 0.6732, 0.8248, 1.066, 1.416, 1.903, 2.544, 3.354, 4.34, 5.517",\
                 "0.6692, 0.7269, 0.8817, 1.125, 1.475, 1.961, 2.602, 3.409, 4.396, 5.573",\
                 "0.7081, 0.7689, 0.9281, 1.176, 1.527, 2.012, 2.651, 3.459, 4.446, 5.622",\
                 "0.7272, 0.7913, 0.957, 1.211, 1.567, 2.052, 2.69, 3.496, 4.481, 5.657",\
                 "0.7223, 0.7902, 0.9617, 1.224, 1.587, 2.077, 2.716, 3.52, 4.505, 5.68",\
                 "0.6897, 0.7615, 0.9416, 1.211, 1.583, 2.081, 2.725, 3.531, 4.514, 5.689");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.119, 0.1604, 0.2713, 0.4529, 0.7435, 1.177, 1.764, 2.511, 3.424, 4.517",\
                 "0.1189, 0.1604, 0.2718, 0.4534, 0.7433, 1.176, 1.763, 2.51, 3.426, 4.514",\
                 "0.1187, 0.1608, 0.2717, 0.4533, 0.7441, 1.177, 1.764, 2.511, 3.424, 4.518",\
                 "0.1234, 0.1648, 0.2748, 0.4546, 0.7454, 1.177, 1.763, 2.511, 3.424, 4.517",\
                 "0.1482, 0.1908, 0.2984, 0.4702, 0.7526, 1.18, 1.764, 2.511, 3.425, 4.518",\
                 "0.1738, 0.22, 0.3292, 0.4986, 0.7694, 1.187, 1.766, 2.512, 3.427, 4.517",\
                 "0.2026, 0.2538, 0.367, 0.533, 0.7934, 1.2, 1.772, 2.514, 3.424, 4.514",\
                 "0.2344, 0.2904, 0.4106, 0.5776, 0.828, 1.22, 1.783, 2.517, 3.426, 4.517",\
                 "0.2676, 0.3282, 0.4582, 0.6282, 0.8748, 1.256, 1.805, 2.529, 3.434, 4.516",\
                 "0.3026, 0.3692, 0.5098, 0.6838, 0.9282, 1.301, 1.84, 2.554, 3.446, 4.524");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1402, 0.2023, 0.4011, 0.763, 1.355, 2.211, 3.341, 4.772, 6.516, 8.586",\
                 "0.1403, 0.2024, 0.4015, 0.7635, 1.355, 2.209, 3.342, 4.767, 6.513, 8.59",\
                 "0.1407, 0.2025, 0.4012, 0.763, 1.357, 2.211, 3.34, 4.767, 6.511, 8.591",\
                 "0.1419, 0.203, 0.402, 0.7638, 1.358, 2.213, 3.344, 4.767, 6.512, 8.591",\
                 "0.1518, 0.2142, 0.4128, 0.7706, 1.358, 2.213, 3.34, 4.769, 6.508, 8.602",\
                 "0.165, 0.227, 0.4264, 0.7814, 1.363, 2.21, 3.345, 4.768, 6.512, 8.587",\
                 "0.1816, 0.245, 0.4444, 0.7964, 1.369, 2.214, 3.344, 4.769, 6.519, 8.588",\
                 "0.2026, 0.2666, 0.4664, 0.8208, 1.385, 2.219, 3.345, 4.769, 6.515, 8.583",\
                 "0.2248, 0.2918, 0.4928, 0.8512, 1.417, 2.241, 3.351, 4.772, 6.508, 8.593",\
                 "0.2492, 0.3196, 0.5194, 0.8862, 1.453, 2.279, 3.376, 4.782, 6.511, 8.58");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.9601, 1.015, 1.164, 1.403, 1.754, 2.241, 2.883, 3.692, 4.681, 5.857",\
                 "0.9781, 1.032, 1.182, 1.421, 1.772, 2.259, 2.9, 3.71, 4.698, 5.876",\
                 "1.044, 1.098, 1.248, 1.487, 1.837, 2.325, 2.966, 3.776, 4.765, 5.943",\
                 "1.168, 1.222, 1.372, 1.611, 1.961, 2.449, 3.09, 3.899, 4.889, 6.065",\
                 "1.33, 1.385, 1.534, 1.773, 2.123, 2.61, 3.252, 4.061, 5.051, 6.224",\
                 "1.517, 1.571, 1.721, 1.96, 2.31, 2.798, 3.439, 4.248, 5.237, 6.414",\
                 "1.729, 1.783, 1.933, 2.172, 2.522, 3.009, 3.651, 4.46, 5.449, 6.623",\
                 "1.963, 2.018, 2.168, 2.407, 2.757, 3.243, 3.884, 4.692, 5.679, 6.857",\
                 "2.216, 2.272, 2.422, 2.661, 3.011, 3.497, 4.137, 4.945, 5.931, 7.108",\
                 "2.487, 2.543, 2.694, 2.933, 3.282, 3.768, 4.408, 5.217, 6.203, 7.379");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1467, 0.209, 0.406, 0.767, 1.356, 2.21, 3.347, 4.768, 6.509, 8.598",\
                 "0.1481, 0.2086, 0.4066, 0.7666, 1.358, 2.21, 3.344, 4.768, 6.511, 8.59",\
                 "0.147, 0.2086, 0.4062, 0.7668, 1.357, 2.21, 3.346, 4.768, 6.512, 8.587",\
                 "0.1478, 0.2088, 0.4062, 0.7674, 1.357, 2.21, 3.345, 4.769, 6.508, 8.6",\
                 "0.148, 0.2092, 0.4064, 0.7672, 1.357, 2.209, 3.344, 4.767, 6.509, 8.59",\
                 "0.1482, 0.21, 0.4078, 0.7682, 1.357, 2.208, 3.346, 4.766, 6.508, 8.59",\
                 "0.151, 0.2124, 0.409, 0.7692, 1.357, 2.211, 3.34, 4.768, 6.51, 8.594",\
                 "0.1534, 0.214, 0.4114, 0.7704, 1.36, 2.209, 3.341, 4.771, 6.511, 8.585",\
                 "0.1554, 0.2162, 0.4142, 0.7716, 1.36, 2.21, 3.339, 4.765, 6.506, 8.583",\
                 "0.1584, 0.2196, 0.4156, 0.7738, 1.359, 2.211, 3.341, 4.767, 6.502, 8.588");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.9602, 1.015, 1.164, 1.403, 1.753, 2.241, 2.883, 3.692, 4.682, 5.858",\
                 "0.9782, 1.032, 1.182, 1.421, 1.772, 2.259, 2.901, 3.71, 4.699, 5.876",\
                 "1.044, 1.098, 1.248, 1.487, 1.837, 2.325, 2.967, 3.776, 4.764, 5.944",\
                 "1.168, 1.223, 1.372, 1.611, 1.961, 2.449, 3.091, 3.9, 4.889, 6.067",\
                 "1.33, 1.385, 1.534, 1.773, 2.123, 2.611, 3.251, 4.061, 5.051, 6.228",\
                 "1.517, 1.571, 1.721, 1.96, 2.31, 2.797, 3.439, 4.248, 5.237, 6.412",\
                 "1.729, 1.784, 1.933, 2.172, 2.522, 3.009, 3.651, 4.46, 5.449, 6.628",\
                 "1.962, 2.017, 2.168, 2.407, 2.756, 3.242, 3.883, 4.691, 5.679, 6.859",\
                 "2.216, 2.271, 2.421, 2.661, 3.01, 3.496, 4.137, 4.945, 5.931, 7.108",\
                 "2.487, 2.544, 2.694, 2.934, 3.282, 3.768, 4.41, 5.217, 6.203, 7.379");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1472, 0.2091, 0.4072, 0.7676, 1.359, 2.213, 3.341, 4.768, 6.511, 8.602",\
                 "0.1473, 0.2088, 0.406, 0.7666, 1.356, 2.209, 3.346, 4.768, 6.512, 8.603",\
                 "0.1474, 0.2084, 0.407, 0.7664, 1.356, 2.212, 3.341, 4.766, 6.511, 8.587",\
                 "0.1476, 0.2086, 0.407, 0.7664, 1.357, 2.212, 3.341, 4.766, 6.512, 8.588",\
                 "0.1474, 0.2098, 0.4066, 0.7674, 1.358, 2.208, 3.345, 4.768, 6.512, 8.589",\
                 "0.1488, 0.21, 0.4076, 0.769, 1.359, 2.212, 3.342, 4.77, 6.51, 8.596",\
                 "0.1514, 0.2126, 0.4098, 0.7696, 1.358, 2.21, 3.341, 4.765, 6.511, 8.59",\
                 "0.1534, 0.215, 0.4114, 0.7708, 1.358, 2.209, 3.34, 4.771, 6.506, 8.584",\
                 "0.156, 0.2172, 0.413, 0.7718, 1.361, 2.212, 3.34, 4.764, 6.505, 8.585",\
                 "0.1586, 0.2188, 0.416, 0.7726, 1.359, 2.211, 3.341, 4.763, 6.504, 8.588");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("1.404, 1.459, 1.608, 1.847, 2.197, 2.683, 3.325, 4.134, 5.121, 6.299",\
                 "1.42, 1.474, 1.625, 1.863, 2.213, 2.699, 3.34, 4.148, 5.137, 6.312",\
                 "1.482, 1.537, 1.687, 1.925, 2.275, 2.762, 3.403, 4.212, 5.199, 6.377",\
                 "1.617, 1.672, 1.822, 2.06, 2.41, 2.897, 3.538, 4.347, 5.334, 6.512",\
                 "1.841, 1.895, 2.045, 2.284, 2.633, 3.12, 3.761, 4.569, 5.558, 6.734",\
                 "2.141, 2.196, 2.346, 2.584, 2.934, 3.42, 4.061, 4.87, 5.856, 7.035",\
                 "2.494, 2.549, 2.698, 2.937, 3.286, 3.773, 4.414, 5.222, 6.209, 7.387",\
                 "2.9, 2.955, 3.105, 3.344, 3.693, 4.179, 4.82, 5.629, 6.617, 7.793",\
                 "3.367, 3.422, 3.572, 3.811, 4.16, 4.646, 5.286, 6.094, 7.081, 8.259",\
                 "3.895, 3.95, 4.1, 4.339, 4.688, 5.174, 5.814, 6.622, 7.609, 8.786");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1508, 0.2116, 0.4094, 0.7686, 1.358, 2.213, 3.346, 4.766, 6.516, 8.587",\
                 "0.1508, 0.212, 0.4102, 0.7696, 1.357, 2.213, 3.345, 4.77, 6.51, 8.583",\
                 "0.151, 0.2122, 0.4098, 0.7684, 1.357, 2.211, 3.341, 4.767, 6.513, 8.587",\
                 "0.152, 0.2124, 0.4096, 0.7684, 1.357, 2.21, 3.346, 4.768, 6.511, 8.586",\
                 "0.151, 0.2122, 0.4106, 0.7688, 1.357, 2.211, 3.344, 4.765, 6.509, 8.585",\
                 "0.152, 0.2126, 0.4102, 0.7682, 1.358, 2.211, 3.344, 4.765, 6.506, 8.595",\
                 "0.152, 0.2126, 0.4112, 0.7686, 1.358, 2.213, 3.345, 4.765, 6.514, 8.586",\
                 "0.1526, 0.2144, 0.4116, 0.769, 1.359, 2.209, 3.345, 4.765, 6.507, 8.585",\
                 "0.1546, 0.2148, 0.4118, 0.7704, 1.358, 2.209, 3.339, 4.762, 6.517, 8.586",\
                 "0.154, 0.216, 0.4118, 0.7712, 1.359, 2.208, 3.338, 4.764, 6.516, 8.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("1.404, 1.459, 1.608, 1.847, 2.197, 2.683, 3.325, 4.134, 5.122, 6.299",\
                 "1.42, 1.475, 1.625, 1.864, 2.213, 2.7, 3.341, 4.15, 5.137, 6.315",\
                 "1.482, 1.537, 1.687, 1.925, 2.275, 2.762, 3.403, 4.212, 5.199, 6.375",\
                 "1.617, 1.672, 1.822, 2.061, 2.41, 2.897, 3.538, 4.347, 5.335, 6.512",\
                 "1.841, 1.896, 2.045, 2.284, 2.633, 3.12, 3.761, 4.57, 5.558, 6.733",\
                 "2.141, 2.196, 2.346, 2.584, 2.934, 3.42, 4.062, 4.87, 5.857, 7.035",\
                 "2.494, 2.549, 2.699, 2.938, 3.287, 3.773, 4.414, 5.223, 6.21, 7.388",\
                 "2.901, 2.955, 3.105, 3.344, 3.693, 4.179, 4.82, 5.629, 6.617, 7.794",\
                 "3.368, 3.422, 3.572, 3.811, 4.16, 4.646, 5.287, 6.094, 7.084, 8.259",\
                 "3.895, 3.95, 4.1, 4.339, 4.688, 5.175, 5.815, 6.623, 7.61, 8.786");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1508, 0.2118, 0.4094, 0.7684, 1.357, 2.213, 3.346, 4.766, 6.508, 8.586",\
                 "0.1504, 0.2118, 0.4094, 0.7692, 1.358, 2.209, 3.346, 4.776, 6.515, 8.586",\
                 "0.1512, 0.2122, 0.409, 0.768, 1.357, 2.211, 3.343, 4.768, 6.519, 8.584",\
                 "0.152, 0.2126, 0.4098, 0.7688, 1.357, 2.21, 3.346, 4.765, 6.511, 8.586",\
                 "0.1508, 0.2122, 0.4098, 0.7682, 1.357, 2.211, 3.343, 4.768, 6.518, 8.584",\
                 "0.152, 0.213, 0.4102, 0.7684, 1.357, 2.213, 3.346, 4.768, 6.51, 8.586",\
                 "0.1522, 0.213, 0.4106, 0.7698, 1.358, 2.213, 3.344, 4.769, 6.511, 8.587",\
                 "0.1532, 0.2144, 0.4108, 0.7702, 1.357, 2.211, 3.345, 4.767, 6.507, 8.586",\
                 "0.1534, 0.2144, 0.4114, 0.7706, 1.358, 2.209, 3.339, 4.764, 6.508, 8.584",\
                 "0.154, 0.2148, 0.4112, 0.7712, 1.358, 2.213, 3.338, 4.764, 6.506, 8.594");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("1.404, 1.459, 1.608, 1.847, 2.197, 2.683, 3.325, 4.134, 5.122, 6.299",\
                 "1.42, 1.475, 1.625, 1.864, 2.213, 2.7, 3.341, 4.15, 5.137, 6.315",\
                 "1.482, 1.537, 1.687, 1.925, 2.275, 2.762, 3.403, 4.212, 5.199, 6.375",\
                 "1.617, 1.672, 1.822, 2.061, 2.41, 2.897, 3.538, 4.347, 5.335, 6.512",\
                 "1.841, 1.896, 2.045, 2.284, 2.633, 3.12, 3.761, 4.57, 5.558, 6.733",\
                 "2.141, 2.196, 2.346, 2.584, 2.934, 3.42, 4.062, 4.87, 5.857, 7.035",\
                 "2.494, 2.549, 2.699, 2.938, 3.287, 3.773, 4.414, 5.223, 6.21, 7.388",\
                 "2.901, 2.955, 3.105, 3.344, 3.693, 4.179, 4.82, 5.629, 6.617, 7.794",\
                 "3.368, 3.422, 3.572, 3.811, 4.16, 4.646, 5.287, 6.094, 7.084, 8.259",\
                 "3.895, 3.95, 4.1, 4.339, 4.688, 5.175, 5.815, 6.623, 7.61, 8.786");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005935, 0.02326, 0.05634, 0.1079, 0.1802, 0.2753, 0.3952, 0.5416, 0.716");
          values("0.1472, 0.2091, 0.4072, 0.7676, 1.359, 2.213, 3.341, 4.768, 6.511, 8.602",\
                 "0.1473, 0.2088, 0.406, 0.7666, 1.356, 2.209, 3.346, 4.768, 6.512, 8.603",\
                 "0.1474, 0.2084, 0.407, 0.7664, 1.356, 2.212, 3.341, 4.766, 6.511, 8.587",\
                 "0.1476, 0.2086, 0.407, 0.7664, 1.357, 2.212, 3.341, 4.766, 6.512, 8.588",\
                 "0.1474, 0.2098, 0.4066, 0.7674, 1.358, 2.208, 3.345, 4.768, 6.512, 8.589",\
                 "0.1488, 0.21, 0.4076, 0.769, 1.359, 2.212, 3.342, 4.77, 6.51, 8.596",\
                 "0.1514, 0.2126, 0.4098, 0.7696, 1.358, 2.21, 3.341, 4.765, 6.511, 8.59",\
                 "0.1534, 0.215, 0.4114, 0.7708, 1.358, 2.209, 3.34, 4.771, 6.506, 8.584",\
                 "0.156, 0.2172, 0.413, 0.7718, 1.361, 2.212, 3.34, 4.764, 6.505, 8.585",\
                 "0.1586, 0.2188, 0.416, 0.7726, 1.359, 2.211, 3.341, 4.763, 6.504, 8.588");
        }
      }
    }

    pin(RN) {
      capacitance : 0.00727 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.744 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02111, 0.0205, 0.02021, 0.02019, 0.02023, 0.0202, 0.02023, 0.02024, \
                 0.02023, 0.02024");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02022, -0.02018, -0.02014, -0.02014, -0.02014, -0.02019, -0.02018, \
                 -0.02019, -0.02018, -0.02018");
        }
      }

      internal_power() {
        when : "!CLK&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02013, 0.01941, 0.01899, 0.01889, 0.01885, 0.01887, 0.01887, \
                 0.01887, 0.01886, 0.01885");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01835, -0.01869, -0.01921, -0.01952, -0.01966, -0.01979, -0.01983, \
                 -0.01986, -0.01988, -0.0199");
        }
      }

      internal_power() {
        when : "CLK&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02172, 0.02061, 0.02024, 0.02018, 0.02023, 0.02021, 0.02024, \
                 0.02024, 0.02021, 0.02024");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02022, -0.02018, -0.02016, -0.02014, -0.02015, -0.02019, -0.0202, \
                 -0.0202, -0.02018, -0.02019");
        }
      }

      internal_power() {
        when : "CLK&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02165, 0.02057, 0.02024, 0.02019, 0.02018, 0.02022, 0.02023, \
                 0.02024, 0.02025, 0.02024");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02022, -0.02018, -0.02016, -0.02014, -0.02015, -0.02019, -0.0202, \
                 -0.0202, -0.02017, -0.02019");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : recovery_rising ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.498, -0.514, -0.565, -0.653, -0.732, -0.796, -0.85, -0.874, -0.871, -0.845",\
                 "-0.498, -0.509, -0.568, -0.652, -0.734, -0.801, -0.844, -0.876, -0.876, -0.848",\
                 "-0.508, -0.522, -0.574, -0.665, -0.738, -0.806, -0.855, -0.888, -0.884, -0.857",\
                 "-0.465, -0.486, -0.546, -0.635, -0.722, -0.783, -0.835, -0.863, -0.853, -0.83",\
                 "-0.25, -0.27, -0.331, -0.427, -0.518, -0.582, -0.633, -0.656, -0.65, -0.623",\
                 "0.135, 0.117, 0.047, -0.058, -0.145, -0.221, -0.278, -0.309, -0.297, -0.258",\
                 "0.673, 0.647, 0.574, 0.475, 0.348, 0.271, 0.21, 0.179, 0.186, 0.224",\
                 "1.376, 1.359, 1.256, 1.124, 1.005, 0.915, 0.846, 0.796, 0.8, 0.829",\
                 "2.232, 2.216, 2.1, 1.946, 1.796, 1.686, 1.616, 1.57, 1.579, 1.631",\
                 "3.298, 3.249, 3.105, 2.941, 2.864, 2.645, 2.538, 2.506, 2.503, 2.549");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : removal_rising ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.75, 0.767, 0.817, 0.908, 0.985, 1.05, 1.103, 1.14, 1.157, 1.147",\
                 "0.757, 0.77, 0.817, 0.903, 0.988, 1.054, 1.11, 1.144, 1.156, 1.147",\
                 "0.771, 0.788, 0.835, 0.92, 1.008, 1.068, 1.127, 1.162, 1.173, 1.163",\
                 "0.829, 0.843, 0.889, 0.979, 1.056, 1.127, 1.185, 1.218, 1.229, 1.217",\
                 "0.935, 0.949, 1.001, 1.083, 1.164, 1.231, 1.28, 1.316, 1.332, 1.321",\
                 "1.091, 1.102, 1.153, 1.243, 1.319, 1.387, 1.436, 1.48, 1.486, 1.481",\
                 "1.3, 1.307, 1.365, 1.443, 1.523, 1.595, 1.647, 1.686, 1.699, 1.688",\
                 "1.534, 1.548, 1.597, 1.682, 1.764, 1.839, 1.896, 1.929, 1.954, 1.948",\
                 "1.803, 1.822, 1.871, 1.951, 2.037, 2.108, 2.165, 2.211, 2.24, 2.242",\
                 "2.107, 2.118, 2.168, 2.253, 2.337, 2.412, 2.472, 2.52, 2.55, 2.564");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.518");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SETN" ;

        fall_constraint(scalar) {
          values("0.518");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SETN" ;

        fall_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.034, -0.019, 0.007, 0.053, 0.085, 0.106, 0.125, 0.125, 0.115, 0.08",\
                 "-0.042, -0.032, -0, 0.044, 0.077, 0.1, 0.115, 0.117, 0.105, 0.073",\
                 "-0.06, -0.053, -0.015, 0.022, 0.061, 0.092, 0.112, 0.112, 0.098, 0.069",\
                 "-0.08, -0.073, -0.044, -0, 0.037, 0.074, 0.096, 0.102, 0.093, 0.059",\
                 "-0.099, -0.093, -0.06, -0.02, 0.021, 0.057, 0.079, 0.087, 0.083, 0.052",\
                 "-0.111, -0.106, -0.073, -0.03, 0.014, 0.049, 0.076, 0.09, 0.077, 0.052",\
                 "-0.108, -0.099, -0.067, -0.026, 0.019, 0.052, 0.081, 0.095, 0.086, 0.062",\
                 "-0.077, -0.076, -0.05, -0.001, 0.04, 0.078, 0.11, 0.12, 0.118, 0.089",\
                 "-0.027, -0.025, 0.001, 0.038, 0.088, 0.122, 0.156, 0.172, 0.171, 0.143",\
                 "0.045, 0.048, 0.071, 0.11, 0.157, 0.201, 0.231, 0.247, 0.244, 0.22");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.034, -0.019, 0.007, 0.053, 0.085, 0.106, 0.125, 0.125, 0.115, 0.08",\
                 "-0.042, -0.032, -0, 0.044, 0.077, 0.1, 0.115, 0.117, 0.105, 0.073",\
                 "-0.06, -0.053, -0.015, 0.022, 0.061, 0.092, 0.112, 0.112, 0.098, 0.069",\
                 "-0.08, -0.073, -0.044, -0, 0.037, 0.074, 0.096, 0.102, 0.093, 0.059",\
                 "-0.099, -0.093, -0.06, -0.02, 0.021, 0.057, 0.079, 0.087, 0.083, 0.052",\
                 "-0.111, -0.106, -0.073, -0.03, 0.014, 0.049, 0.076, 0.09, 0.077, 0.052",\
                 "-0.108, -0.099, -0.067, -0.026, 0.019, 0.052, 0.081, 0.095, 0.086, 0.062",\
                 "-0.077, -0.076, -0.05, -0.001, 0.04, 0.078, 0.11, 0.12, 0.118, 0.089",\
                 "-0.027, -0.025, 0.001, 0.038, 0.088, 0.122, 0.156, 0.172, 0.171, 0.143",\
                 "0.045, 0.048, 0.071, 0.11, 0.157, 0.201, 0.231, 0.247, 0.244, 0.22");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.092, -0.081, -0.057, -0.028, -0.02, -0.038, -0.094, -0.182, -0.315, -0.498",\
                 "-0.097, -0.088, -0.06, -0.033, -0.023, -0.042, -0.099, -0.187, -0.321, -0.504",\
                 "-0.103, -0.095, -0.063, -0.036, -0.026, -0.042, -0.096, -0.186, -0.316, -0.499",\
                 "-0.098, -0.093, -0.062, -0.03, -0.016, -0.036, -0.084, -0.172, -0.309, -0.484",\
                 "-0.077, -0.07, -0.034, -0.01, 0.007, -0.013, -0.064, -0.15, -0.286, -0.466",\
                 "-0.037, -0.029, -0.002, 0.029, 0.049, 0.027, -0.025, -0.112, -0.253, -0.44",\
                 "0.036, 0.038, 0.069, 0.104, 0.11, 0.093, 0.04, -0.052, -0.192, -0.381",\
                 "0.129, 0.139, 0.162, 0.192, 0.21, 0.196, 0.149, 0.046, -0.098, -0.286",\
                 "0.267, 0.272, 0.299, 0.326, 0.343, 0.326, 0.28, 0.186, 0.039, -0.154",\
                 "0.436, 0.436, 0.457, 0.49, 0.509, 0.498, 0.453, 0.358, 0.217, 0.026");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.092, -0.081, -0.057, -0.028, -0.02, -0.038, -0.094, -0.182, -0.315, -0.498",\
                 "-0.097, -0.088, -0.06, -0.033, -0.023, -0.042, -0.099, -0.187, -0.321, -0.504",\
                 "-0.103, -0.095, -0.063, -0.036, -0.026, -0.042, -0.096, -0.186, -0.316, -0.499",\
                 "-0.098, -0.093, -0.062, -0.03, -0.016, -0.036, -0.084, -0.172, -0.309, -0.484",\
                 "-0.077, -0.07, -0.034, -0.01, 0.007, -0.013, -0.064, -0.15, -0.286, -0.466",\
                 "-0.037, -0.029, -0.002, 0.029, 0.049, 0.027, -0.025, -0.112, -0.253, -0.44",\
                 "0.036, 0.038, 0.069, 0.104, 0.11, 0.093, 0.04, -0.052, -0.192, -0.381",\
                 "0.129, 0.139, 0.162, 0.192, 0.21, 0.196, 0.149, 0.046, -0.098, -0.286",\
                 "0.267, 0.272, 0.299, 0.326, 0.343, 0.326, 0.28, 0.186, 0.039, -0.154",\
                 "0.436, 0.436, 0.457, 0.49, 0.509, 0.498, 0.453, 0.358, 0.217, 0.026");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.183, 0.176, 0.176, 0.201, 0.28, 0.435, 0.668, 0.967, 1.358, 1.826",\
                 "0.192, 0.19, 0.184, 0.206, 0.285, 0.442, 0.664, 0.969, 1.356, 1.819",\
                 "0.216, 0.207, 0.205, 0.228, 0.305, 0.451, 0.667, 0.963, 1.333, 1.776",\
                 "0.244, 0.237, 0.231, 0.245, 0.302, 0.424, 0.614, 0.86, 1.183, 1.57",\
                 "0.271, 0.263, 0.252, 0.253, 0.29, 0.382, 0.533, 0.743, 1.024, 1.355",\
                 "0.267, 0.265, 0.251, 0.242, 0.267, 0.324, 0.436, 0.609, 0.834, 1.119",\
                 "0.26, 0.253, 0.239, 0.226, 0.233, 0.278, 0.371, 0.52, 0.724, 0.988",\
                 "0.237, 0.231, 0.218, 0.196, 0.198, 0.233, 0.319, 0.458, 0.658, 0.917",\
                 "0.186, 0.185, 0.164, 0.146, 0.14, 0.166, 0.245, 0.381, 0.591, 0.857",\
                 "0.111, 0.109, 0.096, 0.07, 0.064, 0.084, 0.162, 0.312, 0.53, 0.824");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.183, 0.176, 0.176, 0.201, 0.28, 0.435, 0.668, 0.967, 1.358, 1.831",\
                 "0.192, 0.19, 0.184, 0.206, 0.285, 0.442, 0.664, 0.969, 1.356, 1.814",\
                 "0.216, 0.207, 0.205, 0.228, 0.305, 0.451, 0.667, 0.963, 1.325, 1.781",\
                 "0.244, 0.237, 0.231, 0.245, 0.302, 0.424, 0.614, 0.86, 1.183, 1.57",\
                 "0.263, 0.263, 0.252, 0.253, 0.29, 0.382, 0.533, 0.743, 1.024, 1.355",\
                 "0.267, 0.265, 0.251, 0.242, 0.267, 0.318, 0.436, 0.609, 0.834, 1.119",\
                 "0.26, 0.261, 0.239, 0.226, 0.233, 0.278, 0.371, 0.52, 0.724, 0.981",\
                 "0.231, 0.225, 0.211, 0.196, 0.19, 0.225, 0.309, 0.441, 0.638, 0.893",\
                 "0.186, 0.177, 0.164, 0.146, 0.14, 0.166, 0.245, 0.381, 0.583, 0.857",\
                 "0.111, 0.109, 0.102, 0.076, 0.07, 0.09, 0.176, 0.328, 0.557, 0.845");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.206, 0.197, 0.197, 0.238, 0.34, 0.522, 0.786, 1.133, 1.581, 2.117",\
                 "0.213, 0.206, 0.202, 0.245, 0.347, 0.525, 0.784, 1.136, 1.573, 2.113",\
                 "0.222, 0.213, 0.213, 0.251, 0.357, 0.527, 0.785, 1.119, 1.548, 2.071",\
                 "0.235, 0.228, 0.225, 0.261, 0.349, 0.512, 0.744, 1.067, 1.471, 1.973",\
                 "0.219, 0.216, 0.209, 0.232, 0.31, 0.452, 0.665, 0.951, 1.327, 1.789",\
                 "0.175, 0.164, 0.156, 0.169, 0.232, 0.345, 0.537, 0.794, 1.133, 1.559",\
                 "0.099, 0.098, 0.085, 0.086, 0.136, 0.237, 0.42, 0.667, 0.984, 1.38",\
                 "-0.005, -0.008, -0.019, -0.025, 0.013, 0.098, 0.27, 0.504, 0.814, 1.212",\
                 "-0.132, -0.136, -0.142, -0.151, -0.125, -0.049, 0.127, 0.374, 0.692, 1.082",\
                 "-0.284, -0.284, -0.295, -0.305, -0.281, -0.213, -0.038, 0.24, 0.548, 0.947");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.206, 0.197, 0.197, 0.238, 0.34, 0.522, 0.786, 1.133, 1.581, 2.117",\
                 "0.213, 0.206, 0.202, 0.245, 0.347, 0.525, 0.784, 1.136, 1.573, 2.113",\
                 "0.222, 0.213, 0.213, 0.251, 0.357, 0.527, 0.785, 1.119, 1.548, 2.071",\
                 "0.235, 0.228, 0.225, 0.261, 0.349, 0.512, 0.744, 1.067, 1.471, 1.973",\
                 "0.219, 0.216, 0.209, 0.232, 0.31, 0.452, 0.665, 0.951, 1.327, 1.789",\
                 "0.175, 0.164, 0.156, 0.169, 0.232, 0.345, 0.537, 0.794, 1.133, 1.559",\
                 "0.099, 0.098, 0.085, 0.086, 0.136, 0.237, 0.42, 0.667, 0.984, 1.38",\
                 "-0.005, -0.008, -0.019, -0.025, 0.013, 0.098, 0.27, 0.504, 0.82, 1.212",\
                 "-0.132, -0.136, -0.142, -0.151, -0.125, -0.049, 0.127, 0.374, 0.692, 1.082",\
                 "-0.284, -0.284, -0.295, -0.305, -0.281, -0.213, -0.038, 0.24, 0.548, 0.947");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006256 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.965 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1529, 0.1521, 0.1523, 0.1582, 0.1717, 0.1938, 0.2259, 0.2684, \
                 0.322, 0.3871");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04978, 0.04931, 0.05021, 0.05545, 0.06691, 0.08589, 0.1134, \
                 0.1502, 0.1969, 0.2538");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07029, 0.06956, 0.0692, 0.07178, 0.07766, 0.08711, 0.1004, 0.118, \
                 0.14, 0.1668");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007606, 0.007523, 0.007899, 0.009785, 0.01419, 0.02161, 0.03251, \
                 0.04712, 0.06568, 0.08834");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1026, 0.1025, 0.1031, 0.1064, 0.1139, 0.1267, 0.1453, 0.1703, \
                 0.2017, 0.2401");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02881, 0.02843, 0.02895, 0.03219, 0.03914, 0.05047, 0.06699, \
                 0.08902, 0.117, 0.1512");
        }
      }

      internal_power() {
        when : "!CLK&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0175, 0.01746, 0.01741, 0.01744, 0.01742, 0.01743, 0.01746, \
                 0.01746, 0.01746, 0.01745");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01054, -0.01054, -0.01053, -0.01056, -0.01054, -0.01059, -0.01061, \
                 -0.01062, -0.01063, -0.01066");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.153, 0.1521, 0.1528, 0.1591, 0.1736, 0.1969, 0.2298, 0.2726, \
                 0.3264, 0.3915");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04776, 0.04722, 0.04808, 0.05371, 0.06586, 0.0856, 0.1138, 0.1509, \
                 0.1977, 0.2547");
        }
      }

      internal_power() {
        when : "CLK&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01752, 0.01747, 0.01739, 0.01742, 0.01748, 0.01747, 0.01744, \
                 0.01747, 0.01746, 0.01745");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01055, -0.01054, -0.01052, -0.01055, -0.01054, -0.0106, -0.01062, \
                 -0.01063, -0.01062, -0.01066");
        }
      }

      internal_power() {
        when : "CLK&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.153, 0.1521, 0.1528, 0.1591, 0.1736, 0.1969, 0.2298, 0.2726, \
                 0.3264, 0.3915");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04776, 0.04722, 0.04808, 0.05371, 0.06587, 0.0856, 0.1138, 0.1509, \
                 0.1977, 0.2547");
        }
      }

      internal_power() {
        when : "CLK&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01752, 0.01747, 0.01741, 0.01742, 0.01744, 0.01744, 0.01745, \
                 0.01744, 0.01743, 0.01747");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01055, -0.01054, -0.01052, -0.01055, -0.01054, -0.01061, -0.01062, \
                 -0.01063, -0.01064, -0.01065");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : recovery_rising ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.137, -0.145, -0.205, -0.289, -0.367, -0.422, -0.454, -0.467, -0.449, -0.397",\
                 "-0.129, -0.136, -0.195, -0.286, -0.355, -0.412, -0.441, -0.452, -0.435, -0.392",\
                 "-0.084, -0.095, -0.157, -0.242, -0.312, -0.372, -0.402, -0.416, -0.396, -0.353",\
                 "-0.01, -0.023, -0.082, -0.168, -0.242, -0.293, -0.325, -0.342, -0.32, -0.276",\
                 "0.1, 0.085, 0.026, -0.063, -0.141, -0.197, -0.233, -0.234, -0.215, -0.177",\
                 "0.261, 0.253, 0.175, 0.067, -0.005, -0.076, -0.116, -0.124, -0.109, -0.064",\
                 "0.614, 0.612, 0.493, 0.356, 0.262, 0.17, 0.105, 0.091, 0.091, 0.124",\
                 "1.11, 1.12, 0.988, 0.83, 0.709, 0.604, 0.534, 0.504, 0.503, 0.51",\
                 "1.73, 1.734, 1.612, 1.395, 1.247, 1.125, 1.084, 1.043, 1.058, 1.082",\
                 "2.439, 2.447, 2.279, 2.152, 1.911, 1.798, 1.696, 1.653, 1.71, 1.715");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : removal_rising ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.487, 0.5, 0.549, 0.635, 0.71, 0.762, 0.808, 0.821, 0.815, 0.778",\
                 "0.47, 0.484, 0.538, 0.622, 0.695, 0.754, 0.792, 0.81, 0.803, 0.77",\
                 "0.433, 0.45, 0.504, 0.584, 0.661, 0.717, 0.755, 0.771, 0.768, 0.729",\
                 "0.392, 0.409, 0.454, 0.536, 0.612, 0.673, 0.715, 0.73, 0.722, 0.686",\
                 "0.362, 0.37, 0.427, 0.507, 0.579, 0.635, 0.68, 0.694, 0.688, 0.654",\
                 "0.349, 0.36, 0.412, 0.497, 0.566, 0.621, 0.662, 0.68, 0.669, 0.64",\
                 "0.373, 0.381, 0.432, 0.514, 0.585, 0.638, 0.678, 0.69, 0.682, 0.647",\
                 "0.43, 0.444, 0.491, 0.572, 0.64, 0.693, 0.725, 0.738, 0.726, 0.687",\
                 "0.53, 0.537, 0.589, 0.667, 0.74, 0.787, 0.818, 0.834, 0.817, 0.782",\
                 "0.665, 0.677, 0.73, 0.809, 0.878, 0.925, 0.959, 0.965, 0.956, 0.911");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.183, 0.192, 0.216, 0.244, 0.271, 0.267, 0.26, 0.237, 0.186, 0.111",\
                 "0.176, 0.19, 0.207, 0.237, 0.263, 0.265, 0.253, 0.231, 0.185, 0.109",\
                 "0.176, 0.184, 0.205, 0.231, 0.252, 0.251, 0.239, 0.218, 0.164, 0.096",\
                 "0.201, 0.206, 0.228, 0.245, 0.253, 0.242, 0.226, 0.196, 0.146, 0.07",\
                 "0.28, 0.285, 0.305, 0.302, 0.29, 0.267, 0.233, 0.198, 0.14, 0.064",\
                 "0.435, 0.442, 0.451, 0.424, 0.382, 0.324, 0.278, 0.233, 0.166, 0.084",\
                 "0.668, 0.664, 0.667, 0.614, 0.533, 0.436, 0.371, 0.319, 0.245, 0.162",\
                 "0.967, 0.969, 0.963, 0.86, 0.743, 0.609, 0.52, 0.458, 0.381, 0.312",\
                 "1.358, 1.356, 1.333, 1.183, 1.024, 0.834, 0.724, 0.658, 0.591, 0.53",\
                 "1.826, 1.819, 1.776, 1.57, 1.355, 1.119, 0.988, 0.917, 0.857, 0.824");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.183, 0.192, 0.216, 0.244, 0.263, 0.267, 0.26, 0.231, 0.186, 0.111",\
                 "0.176, 0.19, 0.207, 0.237, 0.263, 0.265, 0.261, 0.225, 0.177, 0.109",\
                 "0.176, 0.184, 0.205, 0.231, 0.252, 0.251, 0.239, 0.211, 0.164, 0.102",\
                 "0.201, 0.206, 0.228, 0.245, 0.253, 0.242, 0.226, 0.196, 0.146, 0.076",\
                 "0.28, 0.285, 0.305, 0.302, 0.29, 0.267, 0.233, 0.19, 0.14, 0.07",\
                 "0.435, 0.442, 0.451, 0.424, 0.382, 0.318, 0.278, 0.225, 0.166, 0.09",\
                 "0.668, 0.664, 0.667, 0.614, 0.533, 0.436, 0.371, 0.309, 0.245, 0.176",\
                 "0.967, 0.969, 0.963, 0.86, 0.743, 0.609, 0.52, 0.441, 0.381, 0.328",\
                 "1.358, 1.356, 1.325, 1.183, 1.024, 0.834, 0.724, 0.638, 0.583, 0.557",\
                 "1.831, 1.814, 1.781, 1.57, 1.355, 1.119, 0.981, 0.893, 0.857, 0.845");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.206, 0.213, 0.222, 0.235, 0.219, 0.175, 0.099, -0.005, -0.132, -0.284",\
                 "0.197, 0.206, 0.213, 0.228, 0.216, 0.164, 0.098, -0.008, -0.136, -0.284",\
                 "0.197, 0.202, 0.213, 0.225, 0.209, 0.156, 0.085, -0.019, -0.142, -0.295",\
                 "0.238, 0.245, 0.251, 0.261, 0.232, 0.169, 0.086, -0.025, -0.151, -0.305",\
                 "0.34, 0.347, 0.357, 0.349, 0.31, 0.232, 0.136, 0.013, -0.125, -0.281",\
                 "0.522, 0.525, 0.527, 0.512, 0.452, 0.345, 0.237, 0.098, -0.049, -0.213",\
                 "0.786, 0.784, 0.785, 0.744, 0.665, 0.537, 0.42, 0.27, 0.127, -0.038",\
                 "1.133, 1.136, 1.119, 1.067, 0.951, 0.794, 0.667, 0.504, 0.374, 0.24",\
                 "1.581, 1.573, 1.548, 1.471, 1.327, 1.133, 0.984, 0.814, 0.692, 0.548",\
                 "2.117, 2.113, 2.071, 1.973, 1.789, 1.559, 1.38, 1.212, 1.082, 0.947");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.206, 0.213, 0.222, 0.235, 0.219, 0.175, 0.099, -0.005, -0.132, -0.284",\
                 "0.197, 0.206, 0.213, 0.228, 0.216, 0.164, 0.098, -0.008, -0.136, -0.284",\
                 "0.197, 0.202, 0.213, 0.225, 0.209, 0.156, 0.085, -0.019, -0.142, -0.295",\
                 "0.238, 0.245, 0.251, 0.261, 0.232, 0.169, 0.086, -0.025, -0.151, -0.305",\
                 "0.34, 0.347, 0.357, 0.349, 0.31, 0.232, 0.136, 0.013, -0.125, -0.281",\
                 "0.522, 0.525, 0.527, 0.512, 0.452, 0.345, 0.237, 0.098, -0.049, -0.213",\
                 "0.786, 0.784, 0.785, 0.744, 0.665, 0.537, 0.42, 0.27, 0.127, -0.038",\
                 "1.133, 1.136, 1.119, 1.067, 0.951, 0.794, 0.667, 0.504, 0.374, 0.24",\
                 "1.581, 1.573, 1.548, 1.471, 1.327, 1.133, 0.984, 0.82, 0.692, 0.548",\
                 "2.117, 2.113, 2.071, 1.973, 1.789, 1.559, 1.38, 1.212, 1.082, 0.947");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.034, -0.042, -0.06, -0.08, -0.099, -0.111, -0.108, -0.077, -0.027, 0.045",\
                 "-0.019, -0.032, -0.053, -0.073, -0.093, -0.106, -0.099, -0.076, -0.025, 0.048",\
                 "0.007, 0, -0.015, -0.044, -0.06, -0.073, -0.067, -0.05, 0.001, 0.071",\
                 "0.053, 0.044, 0.022, 0, -0.02, -0.03, -0.026, -0.001, 0.038, 0.11",\
                 "0.085, 0.077, 0.061, 0.037, 0.021, 0.014, 0.019, 0.04, 0.088, 0.157",\
                 "0.106, 0.1, 0.092, 0.074, 0.057, 0.049, 0.052, 0.078, 0.122, 0.201",\
                 "0.125, 0.115, 0.112, 0.096, 0.079, 0.076, 0.081, 0.11, 0.156, 0.231",\
                 "0.125, 0.117, 0.112, 0.102, 0.087, 0.09, 0.095, 0.12, 0.172, 0.247",\
                 "0.115, 0.105, 0.098, 0.093, 0.083, 0.077, 0.086, 0.118, 0.171, 0.244",\
                 "0.08, 0.073, 0.069, 0.059, 0.052, 0.052, 0.062, 0.089, 0.143, 0.22");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.034, -0.042, -0.06, -0.08, -0.099, -0.111, -0.108, -0.077, -0.027, 0.045",\
                 "-0.019, -0.032, -0.053, -0.073, -0.093, -0.106, -0.099, -0.076, -0.025, 0.048",\
                 "0.007, 0, -0.015, -0.044, -0.06, -0.073, -0.067, -0.05, 0.001, 0.071",\
                 "0.053, 0.044, 0.022, 0, -0.02, -0.03, -0.026, -0.001, 0.038, 0.11",\
                 "0.085, 0.077, 0.061, 0.037, 0.021, 0.014, 0.019, 0.04, 0.088, 0.157",\
                 "0.106, 0.1, 0.092, 0.074, 0.057, 0.049, 0.052, 0.078, 0.122, 0.201",\
                 "0.125, 0.115, 0.112, 0.096, 0.079, 0.076, 0.081, 0.11, 0.156, 0.231",\
                 "0.125, 0.117, 0.112, 0.102, 0.087, 0.09, 0.095, 0.12, 0.172, 0.247",\
                 "0.115, 0.105, 0.098, 0.093, 0.083, 0.077, 0.086, 0.118, 0.171, 0.244",\
                 "0.08, 0.073, 0.069, 0.059, 0.052, 0.052, 0.062, 0.089, 0.143, 0.22");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.092, -0.097, -0.103, -0.098, -0.077, -0.037, 0.036, 0.129, 0.267, 0.436",\
                 "-0.081, -0.088, -0.095, -0.093, -0.07, -0.029, 0.038, 0.139, 0.272, 0.436",\
                 "-0.057, -0.06, -0.063, -0.062, -0.034, -0.002, 0.069, 0.162, 0.299, 0.457",\
                 "-0.028, -0.033, -0.036, -0.03, -0.01, 0.029, 0.104, 0.192, 0.326, 0.49",\
                 "-0.02, -0.023, -0.026, -0.016, 0.007, 0.049, 0.11, 0.21, 0.343, 0.509",\
                 "-0.038, -0.042, -0.042, -0.036, -0.013, 0.027, 0.093, 0.196, 0.326, 0.498",\
                 "-0.094, -0.099, -0.096, -0.084, -0.064, -0.025, 0.04, 0.149, 0.28, 0.453",\
                 "-0.182, -0.187, -0.186, -0.172, -0.15, -0.112, -0.052, 0.046, 0.186, 0.358",\
                 "-0.315, -0.321, -0.316, -0.309, -0.286, -0.253, -0.192, -0.098, 0.039, 0.217",\
                 "-0.498, -0.504, -0.499, -0.484, -0.466, -0.44, -0.381, -0.286, -0.154, 0.026");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.092, -0.097, -0.103, -0.098, -0.077, -0.037, 0.036, 0.129, 0.267, 0.436",\
                 "-0.081, -0.088, -0.095, -0.093, -0.07, -0.029, 0.038, 0.139, 0.272, 0.436",\
                 "-0.057, -0.06, -0.063, -0.062, -0.034, -0.002, 0.069, 0.162, 0.299, 0.457",\
                 "-0.028, -0.033, -0.036, -0.03, -0.01, 0.029, 0.104, 0.192, 0.326, 0.49",\
                 "-0.02, -0.023, -0.026, -0.016, 0.007, 0.049, 0.11, 0.21, 0.343, 0.509",\
                 "-0.038, -0.042, -0.042, -0.036, -0.013, 0.027, 0.093, 0.196, 0.326, 0.498",\
                 "-0.094, -0.099, -0.096, -0.084, -0.064, -0.025, 0.04, 0.149, 0.28, 0.453",\
                 "-0.182, -0.187, -0.186, -0.172, -0.15, -0.112, -0.052, 0.046, 0.186, 0.358",\
                 "-0.315, -0.321, -0.316, -0.309, -0.286, -0.253, -0.192, -0.098, 0.039, 0.217",\
                 "-0.498, -0.504, -0.499, -0.484, -0.466, -0.44, -0.381, -0.286, -0.154, 0.026");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN" ;

        fall_constraint(scalar) {
          values("0.965");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN" ;

        fall_constraint(scalar) {
          values("0.965");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffrsnq_4) {
    area : 98.784000 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : L ;
      clear_preset_var2 : H ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SETN" ;
      value : "0.0002302443" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SETN" ;
      value : "0.0002366562" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SETN" ;
      value : "0.0002231526" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SETN" ;
      value : "0.0003214332" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SETN" ;
      value : "0.0002296305" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SETN" ;
      value : "0.0002409429" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SETN" ;
      value : "0.000221958" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SETN" ;
      value : "0.0003223407" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SETN" ;
      value : "0.0002636733" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SETN" ;
      value : "0.0002533971" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SETN" ;
      value : "0.0002460579" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SETN" ;
      value : "0.0002730486" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SETN" ;
      value : "0.000264561" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SETN" ;
      value : "0.0002542881" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SETN" ;
      value : "0.0002449821" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SETN" ;
      value : "0.000379962" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000379962" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003307 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.158 ;
      min_pulse_width_high : 1.08 ;
      min_pulse_width_low : 0.663 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1308, 0.1304, 0.131, 0.1364, 0.1479, 0.1664, 0.1922, 0.2262, \
                 0.2687, 0.3197");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1077, 0.1075, 0.1079, 0.1124, 0.1219, 0.1378, 0.1606, 0.1906, \
                 0.2279, 0.2731");
        }
      }

      internal_power() {
        when : "!D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1322, 0.1318, 0.1324, 0.1379, 0.1495, 0.1679, 0.1938, 0.2278, \
                 0.2702, 0.3212");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1062, 0.106, 0.1064, 0.1108, 0.1203, 0.1361, 0.1588, 0.1886, \
                 0.2259, 0.2711");
        }
      }

      internal_power() {
        when : "!D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.194, 0.1936, 0.1943, 0.2005, 0.2136, 0.2339, 0.2619, 0.2983, \
                 0.3432, 0.397");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1311, 0.1308, 0.1313, 0.1359, 0.1456, 0.1616, 0.1845, 0.2146, \
                 0.2522, 0.2976");
        }
      }

      internal_power() {
        when : "!D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1322, 0.1318, 0.1324, 0.1379, 0.1495, 0.1678, 0.1939, 0.2278, \
                 0.2703, 0.3213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1063, 0.106, 0.1063, 0.1108, 0.1202, 0.1361, 0.1587, 0.1887, \
                 0.226, 0.2711");
        }
      }

      internal_power() {
        when : "D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1506, 0.1501, 0.1507, 0.1566, 0.1691, 0.1888, 0.2163, 0.2523, \
                 0.2971, 0.351");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1525, 0.1522, 0.1526, 0.1574, 0.1677, 0.1846, 0.2086, 0.2401, \
                 0.2794, 0.3265");
        }
      }

      internal_power() {
        when : "D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2155, 0.2151, 0.2157, 0.2217, 0.2347, 0.255, 0.2834, 0.3204, \
                 0.3662, 0.4213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2075, 0.2072, 0.2075, 0.2127, 0.2237, 0.2415, 0.2668, 0.2999, \
                 0.3411, 0.3904");
        }
      }

      internal_power() {
        when : "D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1309, 0.1305, 0.1311, 0.1366, 0.1482, 0.1666, 0.1926, 0.2266, \
                 0.269, 0.3201");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1095, 0.1092, 0.1096, 0.1141, 0.1235, 0.1394, 0.1621, 0.1919, \
                 0.2292, 0.2743");
        }
      }

      internal_power() {
        when : "D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1308, 0.1305, 0.1311, 0.1366, 0.1482, 0.1665, 0.1926, 0.2265, \
                 0.2689, 0.3201");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1095, 0.1092, 0.1096, 0.1141, 0.1234, 0.1393, 0.162, 0.1919, \
                 0.2292, 0.2743");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.663");
        }

        rise_constraint(scalar) {
          values("0.875");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SETN" ;

        fall_constraint(scalar) {
          values("0.538");
        }

        rise_constraint(scalar) {
          values("1.08");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SETN" ;

        rise_constraint(scalar) {
          values("1.762");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SETN" ;

        rise_constraint(scalar) {
          values("2.158");
        }
      }
    }

    pin(D) {
      capacitance : 0.002517 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07151, 0.07122, 0.07209, 0.07572, 0.08307, 0.09478, 0.1113, \
                 0.1332, 0.1607, 0.1941");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02357, 0.02345, 0.02428, 0.02728, 0.03321, 0.04277, 0.05646, \
                 0.07464, 0.09773, 0.126");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1013, 0.101, 0.1018, 0.1059, 0.1147, 0.1283, 0.1474, 0.1725, \
                 0.2039, 0.2417");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08493, 0.08484, 0.08567, 0.08914, 0.09586, 0.1068, 0.1224, 0.143, \
                 0.1689, 0.2003");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07151, 0.07122, 0.07209, 0.07571, 0.08307, 0.09476, 0.1113, \
                 0.1332, 0.1607, 0.1941");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02357, 0.02345, 0.02428, 0.02728, 0.03321, 0.04277, 0.05646, \
                 0.07464, 0.09773, 0.1259");
        }
      }

      internal_power() {
        when : "!CLK&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09825, 0.09797, 0.0988, 0.1029, 0.1116, 0.1252, 0.1442, 0.1692, \
                 0.2004, 0.2381");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08765, 0.08751, 0.08832, 0.09183, 0.09854, 0.1095, 0.125, 0.1457, \
                 0.1715, 0.2029");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02438, 0.02381, 0.02552, 0.03075, 0.04001, 0.05376, 0.07232, \
                 0.096, 0.1252, 0.1603");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002756, 0.002555, 0.003528, 0.007471, 0.01502, 0.02649, 0.04219, \
                 0.0623, 0.08714, 0.1169");
        }
      }

      internal_power() {
        when : "CLK&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02436, 0.02381, 0.0255, 0.03075, 0.04004, 0.05376, 0.07229, \
                 0.096, 0.1252, 0.1603");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00276, 0.002556, 0.00353, 0.007477, 0.01502, 0.02649, 0.04219, \
                 0.06231, 0.08714, 0.1169");
        }
      }

      internal_power() {
        when : "CLK&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02438, 0.02381, 0.0255, 0.03075, 0.04001, 0.05376, 0.0723, 0.096, \
                 0.1252, 0.1603");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002756, 0.002556, 0.003529, 0.007477, 0.01502, 0.02649, 0.04219, \
                 0.0623, 0.08713, 0.1169");
        }
      }

      internal_power() {
        when : "CLK&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02438, 0.02381, 0.02551, 0.03074, 0.04003, 0.05374, 0.07228, \
                 0.09603, 0.1253, 0.1603");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002758, 0.00255, 0.003536, 0.007455, 0.01502, 0.0265, 0.04218, \
                 0.0623, 0.08714, 0.1169");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.046, 0.056, 0.109, 0.19, 0.256, 0.296, 0.319, 0.319, 0.29, 0.247",\
                 "0.033, 0.039, 0.094, 0.169, 0.24, 0.276, 0.304, 0.302, 0.281, 0.23",\
                 "-0.039, -0.023, 0.032, 0.109, 0.174, 0.213, 0.239, 0.243, 0.213, 0.166",\
                 "-0.153, -0.141, -0.091, -0.015, 0.053, 0.096, 0.126, 0.122, 0.102, 0.048",\
                 "-0.315, -0.301, -0.251, -0.173, -0.108, -0.057, -0.035, -0.032, -0.059, -0.109",\
                 "-0.514, -0.501, -0.449, -0.373, -0.31, -0.264, -0.241, -0.23, -0.264, -0.31",\
                 "-0.74, -0.733, -0.682, -0.615, -0.553, -0.514, -0.484, -0.481, -0.511, -0.559",\
                 "-1.004, -0.995, -0.944, -0.883, -0.835, -0.797, -0.778, -0.772, -0.8, -0.853",\
                 "-1.293, -1.286, -1.231, -1.186, -1.144, -1.12, -1.102, -1.104, -1.136, -1.19",\
                 "-1.621, -1.613, -1.565, -1.513, -1.482, -1.474, -1.474, -1.477, -1.512, -1.576");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.086, -0.074, -0.036, 0.008, 0.025, 0.037, 0.024, -0.011, -0.061, -0.144",\
                 "-0.097, -0.088, -0.048, -0.013, 0.016, 0.023, 0.013, -0.02, -0.072, -0.153",\
                 "-0.141, -0.13, -0.086, -0.048, -0.026, -0.017, -0.024, -0.056, -0.109, -0.188",\
                 "-0.18, -0.17, -0.131, -0.091, -0.063, -0.058, -0.064, -0.098, -0.151, -0.226",\
                 "-0.203, -0.193, -0.156, -0.11, -0.087, -0.075, -0.087, -0.121, -0.173, -0.258",\
                 "-0.198, -0.188, -0.149, -0.103, -0.074, -0.07, -0.086, -0.12, -0.175, -0.259",\
                 "-0.158, -0.142, -0.103, -0.065, -0.039, -0.035, -0.048, -0.081, -0.145, -0.231",\
                 "-0.071, -0.064, -0.025, 0.019, 0.04, 0.045, 0.023, -0.017, -0.078, -0.166",\
                 "0.052, 0.063, 0.101, 0.143, 0.163, 0.159, 0.139, 0.098, 0.031, -0.064",\
                 "0.227, 0.242, 0.274, 0.311, 0.324, 0.317, 0.296, 0.247, 0.181, 0.082");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.355, 0.347, 0.294, 0.238, 0.191, 0.153, 0.145, 0.153, 0.227, 0.332",\
                 "0.37, 0.365, 0.314, 0.254, 0.2, 0.171, 0.167, 0.175, 0.24, 0.347",\
                 "0.442, 0.432, 0.386, 0.321, 0.27, 0.247, 0.232, 0.243, 0.308, 0.409",\
                 "0.581, 0.575, 0.526, 0.46, 0.407, 0.38, 0.364, 0.379, 0.44, 0.535",\
                 "0.777, 0.765, 0.722, 0.655, 0.606, 0.574, 0.551, 0.566, 0.627, 0.705",\
                 "1.021, 1.013, 0.966, 0.893, 0.845, 0.81, 0.793, 0.803, 0.845, 0.919",\
                 "1.314, 1.307, 1.262, 1.185, 1.137, 1.1, 1.082, 1.086, 1.131, 1.195",\
                 "1.659, 1.652, 1.604, 1.532, 1.479, 1.446, 1.422, 1.425, 1.462, 1.531",\
                 "2.057, 2.048, 1.992, 1.928, 1.871, 1.832, 1.811, 1.813, 1.859, 1.911",\
                 "2.501, 2.489, 2.44, 2.37, 2.316, 2.276, 2.259, 2.259, 2.296, 2.354");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.315, 0.299, 0.24, 0.174, 0.124, 0.107, 0.111, 0.135, 0.188, 0.264",\
                 "0.329, 0.309, 0.255, 0.187, 0.139, 0.118, 0.124, 0.151, 0.2, 0.279",\
                 "0.372, 0.355, 0.299, 0.228, 0.183, 0.157, 0.16, 0.187, 0.241, 0.317",\
                 "0.426, 0.411, 0.358, 0.284, 0.228, 0.204, 0.214, 0.231, 0.282, 0.356",\
                 "0.472, 0.456, 0.4, 0.317, 0.263, 0.242, 0.236, 0.262, 0.315, 0.389",\
                 "0.486, 0.471, 0.417, 0.337, 0.276, 0.248, 0.248, 0.272, 0.316, 0.395",\
                 "0.479, 0.467, 0.411, 0.326, 0.262, 0.231, 0.226, 0.247, 0.298, 0.374",\
                 "0.426, 0.41, 0.361, 0.276, 0.205, 0.174, 0.173, 0.189, 0.24, 0.318",\
                 "0.337, 0.321, 0.271, 0.181, 0.121, 0.077, 0.068, 0.091, 0.147, 0.226",\
                 "0.205, 0.188, 0.134, 0.048, -0.019, -0.058, -0.067, -0.047, 0.008, 0.087");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.43 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3328, 0.3153, 0.2867, 0.2713, 0.2632, 0.2583, 0.2554, 0.2534, 0.2521, 0.2512",\
                 "0.3328, 0.3154, 0.2867, 0.2714, 0.2633, 0.2584, 0.2553, 0.2535, 0.2522, 0.2513",\
                 "0.3329, 0.3154, 0.2867, 0.2714, 0.2633, 0.2585, 0.2555, 0.2536, 0.2522, 0.2514",\
                 "0.3333, 0.3158, 0.2871, 0.2719, 0.2636, 0.2588, 0.2559, 0.254, 0.2526, 0.2517",\
                 "0.3341, 0.3165, 0.2878, 0.2726, 0.2644, 0.2596, 0.2567, 0.2547, 0.2533, 0.2525",\
                 "0.3348, 0.3172, 0.2885, 0.2734, 0.2652, 0.2604, 0.2574, 0.2555, 0.2541, 0.2532",\
                 "0.3356, 0.3181, 0.2895, 0.2742, 0.266, 0.2612, 0.2582, 0.2563, 0.2549, 0.254",\
                 "0.3366, 0.319, 0.2904, 0.275, 0.2669, 0.262, 0.2591, 0.2572, 0.2558, 0.2549",\
                 "0.3376, 0.32, 0.2913, 0.2761, 0.2679, 0.2631, 0.2601, 0.2581, 0.2568, 0.2559",\
                 "0.3387, 0.3212, 0.2923, 0.2772, 0.269, 0.2641, 0.2612, 0.2592, 0.2579, 0.257");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3878, 0.3651, 0.3348, 0.3172, 0.3061, 0.3012, 0.2985, 0.2989, 0.3007, 0.3185",\
                 "0.3877, 0.3652, 0.335, 0.317, 0.3062, 0.3008, 0.2984, 0.2995, 0.3003, 0.3181",\
                 "0.3877, 0.3647, 0.335, 0.3168, 0.3065, 0.3007, 0.299, 0.2994, 0.3009, 0.3213",\
                 "0.3877, 0.3651, 0.3349, 0.3164, 0.3062, 0.3015, 0.2998, 0.2989, 0.2997, 0.3215",\
                 "0.3882, 0.3655, 0.3352, 0.3175, 0.3074, 0.302, 0.2997, 0.3007, 0.3049, 0.3278",\
                 "0.3885, 0.3659, 0.3359, 0.3172, 0.3067, 0.302, 0.3, 0.2996, 0.3017, 0.3337",\
                 "0.3895, 0.3669, 0.336, 0.3187, 0.3084, 0.3028, 0.3001, 0.3003, 0.3036, 0.3447",\
                 "0.3906, 0.3681, 0.3372, 0.319, 0.3079, 0.3049, 0.3028, 0.3014, 0.3073, 0.3599",\
                 "0.3923, 0.3695, 0.3394, 0.3215, 0.3102, 0.3035, 0.3064, 0.3069, 0.3126, 0.391",\
                 "0.3942, 0.3715, 0.3414, 0.3227, 0.3117, 0.3053, 0.3023, 0.3098, 0.3232, 0.4383");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3, 0.2836, 0.257, 0.2429, 0.2351, 0.2305, 0.2277, 0.2259, 0.2246, 0.2237",\
                 "0.2992, 0.2828, 0.2562, 0.242, 0.2343, 0.2297, 0.2269, 0.225, 0.2238, 0.2229",\
                 "0.2992, 0.2827, 0.2562, 0.242, 0.2343, 0.2297, 0.2269, 0.2251, 0.224, 0.2231",\
                 "0.3042, 0.2873, 0.2601, 0.2449, 0.237, 0.2324, 0.2295, 0.2277, 0.2266, 0.2257",\
                 "0.3317, 0.3131, 0.2808, 0.2608, 0.2498, 0.2433, 0.2392, 0.2365, 0.2348, 0.2335",\
                 "0.3779, 0.3566, 0.316, 0.2892, 0.2726, 0.2629, 0.2566, 0.2525, 0.2499, 0.2479",\
                 "0.4344, 0.4106, 0.3628, 0.3277, 0.3054, 0.2915, 0.2824, 0.2764, 0.2725, 0.2696",\
                 "0.5034, 0.4778, 0.4228, 0.3783, 0.3491, 0.3302, 0.3179, 0.3094, 0.3035, 0.2994",\
                 "0.5849, 0.5576, 0.4957, 0.4412, 0.4048, 0.3804, 0.3635, 0.352, 0.3438, 0.3381",\
                 "0.678, 0.6489, 0.5813, 0.5166, 0.4722, 0.441, 0.4195, 0.4043, 0.3935, 0.3856");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2512, 0.2303, 0.204, 0.1875, 0.1791, 0.1756, 0.1739, 0.1746, 0.1767, 0.1931",\
                 "0.2507, 0.2299, 0.2035, 0.1869, 0.1788, 0.1749, 0.1736, 0.1743, 0.176, 0.1922",\
                 "0.25, 0.2295, 0.2025, 0.1859, 0.1779, 0.1743, 0.1729, 0.174, 0.1744, 0.1911",\
                 "0.2526, 0.2322, 0.2054, 0.1885, 0.1792, 0.1753, 0.1739, 0.1753, 0.1764, 0.1939",\
                 "0.2694, 0.2479, 0.2192, 0.1999, 0.1895, 0.1835, 0.1802, 0.1806, 0.1807, 0.2012",\
                 "0.2977, 0.2744, 0.2416, 0.2201, 0.2059, 0.1984, 0.1947, 0.1921, 0.1936, 0.2188",\
                 "0.3372, 0.3118, 0.2742, 0.2486, 0.2315, 0.2224, 0.2155, 0.2137, 0.2139, 0.2438",\
                 "0.3899, 0.3625, 0.3193, 0.2883, 0.2649, 0.2525, 0.2462, 0.2415, 0.2408, 0.2774",\
                 "0.4535, 0.4247, 0.3743, 0.3381, 0.3101, 0.2914, 0.2834, 0.2794, 0.2781, 0.3312",\
                 "0.5278, 0.497, 0.4386, 0.3981, 0.3656, 0.3426, 0.3257, 0.3215, 0.3283, 0.4154");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.333, 0.3158, 0.2878, 0.2727, 0.2648, 0.2601, 0.2571, 0.2551, 0.2538, 0.2529",\
                 "0.333, 0.316, 0.2879, 0.2729, 0.265, 0.2603, 0.2573, 0.2553, 0.2539, 0.2531",\
                 "0.3336, 0.3164, 0.2883, 0.2732, 0.2654, 0.2607, 0.2577, 0.2558, 0.2545, 0.2536",\
                 "0.3386, 0.3212, 0.2923, 0.2765, 0.2683, 0.2635, 0.2605, 0.2585, 0.2572, 0.2563",\
                 "0.368, 0.3487, 0.3147, 0.2941, 0.2826, 0.2758, 0.2715, 0.2688, 0.2669, 0.2657",\
                 "0.4182, 0.396, 0.3536, 0.3253, 0.3087, 0.2983, 0.2918, 0.2876, 0.2847, 0.2827",\
                 "0.4792, 0.4548, 0.404, 0.3675, 0.3448, 0.3303, 0.321, 0.3147, 0.3105, 0.3075",\
                 "0.5526, 0.5258, 0.4672, 0.4213, 0.3919, 0.3724, 0.3594, 0.3506, 0.3445, 0.3403",\
                 "0.637, 0.6082, 0.5417, 0.486, 0.4491, 0.4239, 0.4066, 0.3948, 0.3863, 0.3802",\
                 "0.7307, 0.6999, 0.6256, 0.5604, 0.5156, 0.484, 0.4619, 0.4462, 0.4352, 0.4274");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.333, 0.3158, 0.2878, 0.2727, 0.2648, 0.2601, 0.2571, 0.2551, 0.2538, 0.2529",\
                 "0.333, 0.316, 0.2879, 0.2729, 0.265, 0.2603, 0.2573, 0.2553, 0.2539, 0.2531",\
                 "0.3336, 0.3164, 0.2883, 0.2732, 0.2654, 0.2607, 0.2577, 0.2558, 0.2545, 0.2536",\
                 "0.3386, 0.3212, 0.2923, 0.2765, 0.2683, 0.2635, 0.2605, 0.2585, 0.2572, 0.2563",\
                 "0.368, 0.3487, 0.3147, 0.2941, 0.2826, 0.2758, 0.2715, 0.2688, 0.2669, 0.2657",\
                 "0.4182, 0.396, 0.3536, 0.3253, 0.3087, 0.2983, 0.2918, 0.2876, 0.2847, 0.2827",\
                 "0.4792, 0.4548, 0.404, 0.3675, 0.3448, 0.3303, 0.321, 0.3147, 0.3105, 0.3075",\
                 "0.5526, 0.5258, 0.4672, 0.4213, 0.3919, 0.3724, 0.3594, 0.3506, 0.3445, 0.3403",\
                 "0.637, 0.6082, 0.5417, 0.486, 0.4491, 0.4239, 0.4066, 0.3948, 0.3863, 0.3802",\
                 "0.7307, 0.6999, 0.6256, 0.5604, 0.5156, 0.484, 0.4619, 0.4462, 0.4352, 0.4274");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2996, 0.2832, 0.2566, 0.2425, 0.2347, 0.2301, 0.2273, 0.2255, 0.2242, 0.2233",\
                 "0.2992, 0.2828, 0.2562, 0.242, 0.2343, 0.2297, 0.2269, 0.225, 0.2238, 0.2229",\
                 "0.2993, 0.2827, 0.2562, 0.242, 0.2343, 0.2297, 0.2269, 0.2251, 0.224, 0.2231",\
                 "0.3041, 0.2874, 0.2601, 0.245, 0.237, 0.2323, 0.2296, 0.2277, 0.2266, 0.2258",\
                 "0.3317, 0.313, 0.2807, 0.2609, 0.2497, 0.2433, 0.2392, 0.2366, 0.2348, 0.2335",\
                 "0.3778, 0.3564, 0.3162, 0.289, 0.2725, 0.2628, 0.2565, 0.2526, 0.2499, 0.248",\
                 "0.4343, 0.4108, 0.3628, 0.3276, 0.3054, 0.2915, 0.2825, 0.2765, 0.2725, 0.2696",\
                 "0.5035, 0.4779, 0.4225, 0.3784, 0.3496, 0.3302, 0.3179, 0.3095, 0.3035, 0.2995",\
                 "0.585, 0.5574, 0.4957, 0.4412, 0.405, 0.3803, 0.3636, 0.3521, 0.3441, 0.3382",\
                 "0.678, 0.6491, 0.5811, 0.5165, 0.4722, 0.4412, 0.4194, 0.4044, 0.3935, 0.3857");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2511, 0.2305, 0.2037, 0.1878, 0.1791, 0.1753, 0.1745, 0.1746, 0.1767, 0.1922",\
                 "0.2506, 0.2298, 0.2032, 0.1869, 0.1787, 0.1749, 0.1736, 0.1743, 0.176, 0.1898",\
                 "0.25, 0.2295, 0.2025, 0.1859, 0.1779, 0.1743, 0.1729, 0.1739, 0.1744, 0.1911",\
                 "0.2525, 0.2322, 0.2054, 0.1884, 0.1795, 0.1749, 0.1739, 0.1746, 0.1764, 0.1945",\
                 "0.2693, 0.2479, 0.2192, 0.2001, 0.1883, 0.1828, 0.1811, 0.1815, 0.1813, 0.2008",\
                 "0.2977, 0.2743, 0.2417, 0.2201, 0.2065, 0.1984, 0.1943, 0.1937, 0.1953, 0.2182",\
                 "0.3371, 0.312, 0.2748, 0.2482, 0.2312, 0.2224, 0.2155, 0.2131, 0.2129, 0.2451",\
                 "0.3897, 0.3628, 0.3191, 0.2884, 0.2652, 0.2538, 0.2462, 0.2415, 0.2371, 0.2774",\
                 "0.4537, 0.4243, 0.3738, 0.338, 0.3104, 0.2927, 0.2838, 0.2794, 0.2784, 0.3318",\
                 "0.5278, 0.4967, 0.4393, 0.3974, 0.3667, 0.3426, 0.325, 0.3218, 0.3283, 0.4184");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3341, 0.3171, 0.2889, 0.274, 0.2661, 0.2613, 0.2583, 0.2564, 0.255, 0.2541",\
                 "0.3344, 0.3174, 0.2894, 0.2743, 0.2664, 0.2616, 0.2586, 0.2567, 0.2553, 0.2544",\
                 "0.335, 0.3178, 0.2897, 0.2746, 0.2668, 0.2621, 0.2591, 0.2572, 0.2559, 0.255",\
                 "0.34, 0.3226, 0.2938, 0.2779, 0.2697, 0.265, 0.2619, 0.2599, 0.2586, 0.2577",\
                 "0.3695, 0.3502, 0.3161, 0.2955, 0.284, 0.2772, 0.273, 0.2702, 0.2684, 0.2671",\
                 "0.4196, 0.3974, 0.355, 0.3268, 0.3099, 0.2998, 0.2933, 0.289, 0.2862, 0.2841",\
                 "0.4806, 0.4562, 0.4056, 0.3689, 0.3461, 0.3317, 0.3223, 0.3161, 0.3118, 0.3089",\
                 "0.5541, 0.5271, 0.4687, 0.4227, 0.3932, 0.3738, 0.3608, 0.3521, 0.346, 0.3417",\
                 "0.6385, 0.6097, 0.5434, 0.4877, 0.4505, 0.4253, 0.4079, 0.3961, 0.3878, 0.3817",\
                 "0.732, 0.7013, 0.6273, 0.5618, 0.517, 0.4853, 0.4633, 0.4476, 0.4367, 0.4287");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3341, 0.3171, 0.2889, 0.274, 0.2661, 0.2613, 0.2583, 0.2564, 0.255, 0.2541",\
                 "0.3344, 0.3174, 0.2894, 0.2743, 0.2664, 0.2616, 0.2586, 0.2567, 0.2553, 0.2544",\
                 "0.335, 0.3178, 0.2897, 0.2746, 0.2668, 0.2621, 0.2591, 0.2572, 0.2559, 0.255",\
                 "0.34, 0.3226, 0.2938, 0.2779, 0.2697, 0.265, 0.2619, 0.2599, 0.2586, 0.2577",\
                 "0.3695, 0.3502, 0.3161, 0.2955, 0.284, 0.2772, 0.273, 0.2702, 0.2684, 0.2671",\
                 "0.4196, 0.3974, 0.355, 0.3268, 0.3099, 0.2998, 0.2933, 0.289, 0.2862, 0.2841",\
                 "0.4806, 0.4562, 0.4056, 0.3689, 0.3461, 0.3317, 0.3223, 0.3161, 0.3118, 0.3089",\
                 "0.5541, 0.5271, 0.4687, 0.4227, 0.3932, 0.3738, 0.3608, 0.3521, 0.346, 0.3417",\
                 "0.6385, 0.6097, 0.5434, 0.4877, 0.4505, 0.4253, 0.4079, 0.3961, 0.3878, 0.3817",\
                 "0.732, 0.7013, 0.6273, 0.5618, 0.517, 0.4853, 0.4633, 0.4476, 0.4367, 0.4287");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3635, 0.3471, 0.3207, 0.3065, 0.2989, 0.2942, 0.2914, 0.2895, 0.2882, 0.2873",\
                 "0.3628, 0.3463, 0.32, 0.3058, 0.298, 0.2936, 0.2906, 0.2888, 0.2875, 0.2866",\
                 "0.3629, 0.3462, 0.3198, 0.3055, 0.2978, 0.2933, 0.2905, 0.2887, 0.2875, 0.2867",\
                 "0.3685, 0.3518, 0.3245, 0.3094, 0.3015, 0.2969, 0.294, 0.2922, 0.291, 0.2901",\
                 "0.4009, 0.3822, 0.3498, 0.33, 0.3189, 0.3124, 0.3083, 0.3057, 0.3039, 0.3027",\
                 "0.4575, 0.436, 0.3958, 0.3686, 0.3524, 0.3425, 0.3363, 0.3322, 0.3295, 0.3275",\
                 "0.5307, 0.5071, 0.4592, 0.424, 0.4021, 0.388, 0.3791, 0.3731, 0.3689, 0.3661",\
                 "0.6233, 0.5977, 0.5425, 0.498, 0.4692, 0.4505, 0.4379, 0.4293, 0.4234, 0.4192",\
                 "0.7343, 0.7069, 0.645, 0.5905, 0.5543, 0.5297, 0.513, 0.5013, 0.4932, 0.4874",\
                 "0.8632, 0.8343, 0.7665, 0.7016, 0.6573, 0.6263, 0.6046, 0.5894, 0.5785, 0.5707");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2887, 0.268, 0.2409, 0.2247, 0.2154, 0.2117, 0.2103, 0.2107, 0.2148, 0.2279",\
                 "0.288, 0.2676, 0.24, 0.2237, 0.2146, 0.211, 0.2097, 0.2111, 0.2121, 0.2282",\
                 "0.287, 0.2664, 0.2395, 0.2229, 0.2139, 0.2101, 0.2087, 0.2094, 0.2108, 0.2278",\
                 "0.2908, 0.2702, 0.2432, 0.226, 0.2169, 0.2124, 0.2113, 0.2124, 0.2158, 0.229",\
                 "0.3117, 0.2901, 0.2616, 0.2422, 0.2312, 0.2252, 0.2225, 0.2226, 0.2251, 0.2429",\
                 "0.3488, 0.325, 0.2923, 0.2707, 0.2572, 0.2493, 0.2453, 0.2447, 0.2449, 0.2672",\
                 "0.4023, 0.377, 0.3391, 0.3126, 0.2967, 0.2873, 0.2806, 0.2769, 0.2787, 0.3053",\
                 "0.4742, 0.4471, 0.4035, 0.373, 0.3501, 0.3384, 0.3311, 0.3258, 0.3241, 0.362",\
                 "0.5628, 0.5335, 0.4831, 0.4472, 0.4197, 0.4011, 0.3918, 0.3885, 0.3868, 0.4412",\
                 "0.6681, 0.6371, 0.5788, 0.5375, 0.5059, 0.482, 0.4658, 0.4609, 0.4677, 0.5578");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.4279, 0.4107, 0.3824, 0.3674, 0.3592, 0.3544, 0.3513, 0.3494, 0.348, 0.3471",\
                 "0.4283, 0.4111, 0.3828, 0.3678, 0.3596, 0.3548, 0.3518, 0.3498, 0.3484, 0.3475",\
                 "0.4287, 0.4114, 0.383, 0.3679, 0.3598, 0.3551, 0.352, 0.3501, 0.3488, 0.3478",\
                 "0.4353, 0.4178, 0.3884, 0.3726, 0.3642, 0.3592, 0.3561, 0.3542, 0.3528, 0.3519",\
                 "0.4709, 0.4513, 0.4169, 0.3961, 0.3845, 0.3776, 0.3732, 0.3705, 0.3686, 0.3673",\
                 "0.5312, 0.5087, 0.467, 0.4394, 0.4226, 0.4123, 0.4057, 0.4014, 0.3985, 0.3965",\
                 "0.6044, 0.5796, 0.5318, 0.4977, 0.4755, 0.4613, 0.4521, 0.446, 0.4418, 0.439",\
                 "0.6899, 0.6632, 0.6106, 0.5701, 0.542, 0.5234, 0.5111, 0.5029, 0.4972, 0.4933",\
                 "0.7871, 0.7591, 0.7019, 0.6552, 0.6213, 0.5979, 0.582, 0.5712, 0.564, 0.5586",\
                 "0.8944, 0.8651, 0.8038, 0.7511, 0.711, 0.6825, 0.6626, 0.649, 0.6395, 0.6328");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.4279, 0.4107, 0.3824, 0.3674, 0.3592, 0.3544, 0.3513, 0.3494, 0.348, 0.3471",\
                 "0.4283, 0.4111, 0.3828, 0.3678, 0.3596, 0.3548, 0.3518, 0.3498, 0.3484, 0.3475",\
                 "0.4287, 0.4114, 0.383, 0.3679, 0.3598, 0.3551, 0.352, 0.3501, 0.3488, 0.3478",\
                 "0.4353, 0.4178, 0.3884, 0.3726, 0.3642, 0.3592, 0.3561, 0.3542, 0.3528, 0.3519",\
                 "0.4709, 0.4513, 0.4169, 0.3961, 0.3845, 0.3776, 0.3732, 0.3705, 0.3686, 0.3673",\
                 "0.5312, 0.5087, 0.467, 0.4394, 0.4226, 0.4123, 0.4057, 0.4014, 0.3985, 0.3965",\
                 "0.6044, 0.5796, 0.5318, 0.4977, 0.4755, 0.4613, 0.4521, 0.446, 0.4418, 0.439",\
                 "0.6899, 0.6632, 0.6106, 0.5701, 0.542, 0.5234, 0.5111, 0.5029, 0.4972, 0.4933",\
                 "0.7871, 0.7591, 0.7019, 0.6552, 0.6213, 0.5979, 0.582, 0.5712, 0.564, 0.5586",\
                 "0.8944, 0.8651, 0.8038, 0.7511, 0.711, 0.6825, 0.6626, 0.649, 0.6395, 0.6328");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3635, 0.3471, 0.3207, 0.3065, 0.2989, 0.2942, 0.2914, 0.2895, 0.2882, 0.2873",\
                 "0.3628, 0.3463, 0.32, 0.3058, 0.298, 0.2936, 0.2906, 0.2888, 0.2875, 0.2866",\
                 "0.3629, 0.3462, 0.3198, 0.3055, 0.2978, 0.2933, 0.2905, 0.2887, 0.2875, 0.2867",\
                 "0.3686, 0.3518, 0.3245, 0.3094, 0.3015, 0.2969, 0.294, 0.2922, 0.291, 0.2901",\
                 "0.4009, 0.3822, 0.3498, 0.33, 0.3189, 0.3124, 0.3083, 0.3057, 0.3039, 0.3027",\
                 "0.4575, 0.436, 0.3957, 0.3686, 0.3524, 0.3424, 0.3362, 0.3322, 0.3294, 0.3275",\
                 "0.5308, 0.5071, 0.4594, 0.4242, 0.4021, 0.3881, 0.379, 0.373, 0.3689, 0.366",\
                 "0.6232, 0.5976, 0.5425, 0.498, 0.4692, 0.4503, 0.4377, 0.4293, 0.4235, 0.4193",\
                 "0.7343, 0.7069, 0.645, 0.5906, 0.5542, 0.5297, 0.5129, 0.5014, 0.4933, 0.4874",\
                 "0.8633, 0.8343, 0.7665, 0.7016, 0.6571, 0.6261, 0.6046, 0.5893, 0.5785, 0.5707");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.2887, 0.268, 0.2409, 0.2247, 0.2154, 0.2117, 0.2103, 0.2107, 0.2121, 0.2283",\
                 "0.288, 0.2676, 0.24, 0.2237, 0.2146, 0.211, 0.2097, 0.2111, 0.2121, 0.2282",\
                 "0.287, 0.2664, 0.2395, 0.2229, 0.2139, 0.2101, 0.2087, 0.2094, 0.2108, 0.2278",\
                 "0.2907, 0.2702, 0.243, 0.2258, 0.2169, 0.2124, 0.2107, 0.2124, 0.2128, 0.2296",\
                 "0.3117, 0.2901, 0.2616, 0.2418, 0.2311, 0.2249, 0.2225, 0.2229, 0.2254, 0.2426",\
                 "0.3487, 0.325, 0.2917, 0.2707, 0.2572, 0.2493, 0.2453, 0.2447, 0.2449, 0.2672",\
                 "0.4024, 0.3769, 0.3391, 0.3127, 0.2963, 0.2873, 0.2806, 0.2773, 0.2764, 0.3053",\
                 "0.474, 0.4469, 0.4031, 0.3718, 0.3498, 0.3371, 0.3311, 0.3251, 0.3254, 0.3633",\
                 "0.563, 0.5335, 0.483, 0.447, 0.4205, 0.4024, 0.3928, 0.3885, 0.3878, 0.4424",\
                 "0.6681, 0.6369, 0.5792, 0.5372, 0.5051, 0.483, 0.4661, 0.4596, 0.4673, 0.5527");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.4275, 0.4103, 0.382, 0.367, 0.3588, 0.354, 0.3509, 0.349, 0.3476, 0.3467",\
                 "0.4279, 0.4107, 0.3824, 0.3674, 0.3592, 0.3544, 0.3514, 0.3494, 0.348, 0.3471",\
                 "0.4283, 0.411, 0.3826, 0.3676, 0.3594, 0.3547, 0.3517, 0.3497, 0.3484, 0.3474",\
                 "0.435, 0.4176, 0.3881, 0.3723, 0.3639, 0.359, 0.3559, 0.3539, 0.3526, 0.3517",\
                 "0.4708, 0.4512, 0.4169, 0.3961, 0.3845, 0.3775, 0.3732, 0.3704, 0.3685, 0.3673",\
                 "0.5314, 0.5089, 0.4672, 0.4395, 0.4227, 0.4123, 0.4058, 0.4015, 0.3986, 0.3965",\
                 "0.6045, 0.5797, 0.532, 0.4979, 0.4758, 0.4615, 0.4523, 0.4461, 0.4421, 0.4392",\
                 "0.69, 0.6636, 0.6109, 0.5703, 0.5423, 0.5237, 0.5114, 0.5032, 0.4975, 0.4935",\
                 "0.7874, 0.7595, 0.7023, 0.6555, 0.6217, 0.5981, 0.5823, 0.5715, 0.5641, 0.5589",\
                 "0.8949, 0.8657, 0.8042, 0.7515, 0.7115, 0.6828, 0.6629, 0.6493, 0.6398, 0.6331");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.4275, 0.4103, 0.382, 0.367, 0.3588, 0.354, 0.3509, 0.349, 0.3476, 0.3467",\
                 "0.4279, 0.4107, 0.3824, 0.3674, 0.3592, 0.3544, 0.3514, 0.3494, 0.348, 0.3471",\
                 "0.4283, 0.411, 0.3826, 0.3676, 0.3594, 0.3547, 0.3517, 0.3497, 0.3484, 0.3474",\
                 "0.435, 0.4176, 0.3881, 0.3723, 0.3639, 0.359, 0.3559, 0.3539, 0.3526, 0.3517",\
                 "0.4708, 0.4512, 0.4169, 0.3961, 0.3845, 0.3775, 0.3732, 0.3704, 0.3685, 0.3673",\
                 "0.5314, 0.5089, 0.4672, 0.4395, 0.4227, 0.4123, 0.4058, 0.4015, 0.3986, 0.3965",\
                 "0.6045, 0.5797, 0.532, 0.4979, 0.4758, 0.4615, 0.4523, 0.4461, 0.4421, 0.4392",\
                 "0.69, 0.6636, 0.6109, 0.5703, 0.5423, 0.5237, 0.5114, 0.5032, 0.4975, 0.4935",\
                 "0.7874, 0.7595, 0.7023, 0.6555, 0.6217, 0.5981, 0.5823, 0.5715, 0.5641, 0.5589",\
                 "0.8949, 0.8657, 0.8042, 0.7515, 0.7115, 0.6828, 0.6629, 0.6493, 0.6398, 0.6331");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3641, 0.3429, 0.3152, 0.2968, 0.2857, 0.2814, 0.2797, 0.2804, 0.2815, 0.2977",\
                 "0.3639, 0.3428, 0.3146, 0.2966, 0.2861, 0.2814, 0.2788, 0.2795, 0.2816, 0.2974",\
                 "0.3647, 0.3434, 0.3157, 0.2973, 0.2868, 0.2822, 0.2805, 0.2802, 0.282, 0.2993",\
                 "0.3684, 0.3474, 0.319, 0.3009, 0.2905, 0.2862, 0.2845, 0.2832, 0.2857, 0.3067",\
                 "0.3778, 0.3564, 0.3287, 0.3103, 0.299, 0.2948, 0.2931, 0.2919, 0.2971, 0.3201",\
                 "0.3939, 0.3727, 0.3438, 0.325, 0.3138, 0.3088, 0.3062, 0.3077, 0.3082, 0.3409",\
                 "0.4171, 0.3954, 0.3662, 0.348, 0.337, 0.3305, 0.3278, 0.3287, 0.3317, 0.3742",\
                 "0.4483, 0.4261, 0.3969, 0.3761, 0.3654, 0.3602, 0.3572, 0.3558, 0.3598, 0.4226",\
                 "0.4851, 0.4628, 0.4321, 0.4116, 0.398, 0.3914, 0.3923, 0.3904, 0.3985, 0.4935",\
                 "0.5243, 0.5011, 0.4703, 0.4486, 0.4342, 0.4266, 0.4229, 0.4294, 0.447, 0.6065");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3641, 0.3429, 0.3152, 0.2968, 0.2857, 0.2814, 0.2797, 0.2804, 0.2815, 0.2977",\
                 "0.3639, 0.3428, 0.3146, 0.2966, 0.2861, 0.2814, 0.2788, 0.2795, 0.2816, 0.2974",\
                 "0.3647, 0.3434, 0.3157, 0.2973, 0.2868, 0.2822, 0.2805, 0.2802, 0.282, 0.2993",\
                 "0.3684, 0.3474, 0.319, 0.3009, 0.2905, 0.2862, 0.2845, 0.2832, 0.2857, 0.3067",\
                 "0.3778, 0.3564, 0.3287, 0.3103, 0.299, 0.2948, 0.2931, 0.2919, 0.2971, 0.3201",\
                 "0.3939, 0.3727, 0.3438, 0.325, 0.3138, 0.3088, 0.3062, 0.3077, 0.3082, 0.3409",\
                 "0.4171, 0.3954, 0.3662, 0.348, 0.337, 0.3305, 0.3278, 0.3287, 0.3317, 0.3742",\
                 "0.4483, 0.4261, 0.3969, 0.3761, 0.3654, 0.3602, 0.3572, 0.3558, 0.3598, 0.4226",\
                 "0.4851, 0.4628, 0.4321, 0.4116, 0.398, 0.3914, 0.3923, 0.3904, 0.3985, 0.4935",\
                 "0.5243, 0.5011, 0.4703, 0.4486, 0.4342, 0.4266, 0.4229, 0.4294, 0.447, 0.6065");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3642, 0.3429, 0.3151, 0.2969, 0.2863, 0.2808, 0.2791, 0.2795, 0.2813, 0.2971",\
                 "0.364, 0.3427, 0.3146, 0.2967, 0.2867, 0.2812, 0.2788, 0.2789, 0.2813, 0.3004",\
                 "0.3646, 0.3436, 0.3151, 0.2971, 0.2869, 0.2819, 0.2795, 0.2799, 0.2817, 0.2994",\
                 "0.3685, 0.3472, 0.3192, 0.3011, 0.2907, 0.2862, 0.2838, 0.2832, 0.2857, 0.307",\
                 "0.3778, 0.3565, 0.3287, 0.3097, 0.299, 0.2941, 0.2924, 0.2938, 0.2973, 0.3171",\
                 "0.3939, 0.3724, 0.3437, 0.3251, 0.3138, 0.3083, 0.3062, 0.3068, 0.3112, 0.3408",\
                 "0.417, 0.3956, 0.3665, 0.3482, 0.3371, 0.3304, 0.3287, 0.3283, 0.3316, 0.3714",\
                 "0.4483, 0.4262, 0.3964, 0.3761, 0.365, 0.3601, 0.3567, 0.357, 0.3609, 0.4202",\
                 "0.4851, 0.4623, 0.4318, 0.4117, 0.3973, 0.3911, 0.392, 0.3908, 0.3966, 0.4913",\
                 "0.5245, 0.5016, 0.4696, 0.4486, 0.4344, 0.4261, 0.4227, 0.4282, 0.4461, 0.6027");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.3642, 0.3429, 0.3151, 0.2969, 0.2863, 0.2808, 0.2791, 0.2795, 0.2813, 0.2971",\
                 "0.364, 0.3427, 0.3146, 0.2967, 0.2867, 0.2812, 0.2788, 0.2789, 0.2813, 0.3004",\
                 "0.3646, 0.3436, 0.3151, 0.2971, 0.2869, 0.2819, 0.2795, 0.2799, 0.2817, 0.2994",\
                 "0.3685, 0.3472, 0.3192, 0.3011, 0.2907, 0.2862, 0.2838, 0.2832, 0.2857, 0.307",\
                 "0.3778, 0.3565, 0.3287, 0.3097, 0.299, 0.2941, 0.2924, 0.2938, 0.2973, 0.3171",\
                 "0.3939, 0.3724, 0.3437, 0.3251, 0.3138, 0.3083, 0.3062, 0.3068, 0.3112, 0.3408",\
                 "0.417, 0.3956, 0.3665, 0.3482, 0.3371, 0.3304, 0.3287, 0.3283, 0.3316, 0.3714",\
                 "0.4483, 0.4262, 0.3964, 0.3761, 0.365, 0.3601, 0.3567, 0.357, 0.3609, 0.4202",\
                 "0.4851, 0.4623, 0.4318, 0.4117, 0.3973, 0.3911, 0.392, 0.3908, 0.3966, 0.4913",\
                 "0.5245, 0.5016, 0.4696, 0.4486, 0.4344, 0.4261, 0.4227, 0.4282, 0.4461, 0.6027");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.4622, 0.4408, 0.4117, 0.3926, 0.381, 0.3747, 0.373, 0.372, 0.3742, 0.393",\
                 "0.4613, 0.4399, 0.4111, 0.3915, 0.3801, 0.375, 0.3724, 0.3718, 0.3742, 0.393",\
                 "0.462, 0.4407, 0.4115, 0.3924, 0.3808, 0.3754, 0.3724, 0.3728, 0.3773, 0.3938",\
                 "0.4683, 0.4468, 0.4184, 0.3988, 0.3874, 0.3817, 0.3797, 0.3787, 0.3806, 0.4041",\
                 "0.4838, 0.4624, 0.4337, 0.4144, 0.403, 0.3979, 0.3955, 0.3939, 0.3969, 0.4253",\
                 "0.5111, 0.4897, 0.4613, 0.4412, 0.4298, 0.4246, 0.4215, 0.4228, 0.4247, 0.4605",\
                 "0.549, 0.5275, 0.4983, 0.4786, 0.4664, 0.4602, 0.4575, 0.4588, 0.4623, 0.5171",\
                 "0.5974, 0.5755, 0.5469, 0.5273, 0.5159, 0.508, 0.5057, 0.5071, 0.516, 0.5974",\
                 "0.6579, 0.6362, 0.6071, 0.5857, 0.5735, 0.5688, 0.5658, 0.5636, 0.5793, 0.7197",\
                 "0.7302, 0.7081, 0.6788, 0.6581, 0.6443, 0.6394, 0.638, 0.6382, 0.6738, 0.9253");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.4622, 0.4408, 0.4117, 0.3926, 0.381, 0.3747, 0.373, 0.372, 0.3742, 0.393",\
                 "0.4613, 0.4399, 0.4111, 0.3915, 0.3801, 0.375, 0.3724, 0.3718, 0.3742, 0.393",\
                 "0.462, 0.4407, 0.4115, 0.3924, 0.3808, 0.3754, 0.3724, 0.3728, 0.3773, 0.3938",\
                 "0.4683, 0.4468, 0.4184, 0.3988, 0.3874, 0.3817, 0.3797, 0.3787, 0.3806, 0.4041",\
                 "0.4838, 0.4624, 0.4337, 0.4144, 0.403, 0.3979, 0.3955, 0.3939, 0.3969, 0.4253",\
                 "0.5111, 0.4897, 0.4613, 0.4412, 0.4298, 0.4246, 0.4215, 0.4228, 0.4247, 0.4605",\
                 "0.549, 0.5275, 0.4983, 0.4786, 0.4664, 0.4602, 0.4575, 0.4588, 0.4623, 0.5171",\
                 "0.5974, 0.5755, 0.5469, 0.5273, 0.5159, 0.508, 0.5057, 0.5071, 0.516, 0.5974",\
                 "0.6579, 0.6362, 0.6071, 0.5857, 0.5735, 0.5688, 0.5658, 0.5636, 0.5793, 0.7197",\
                 "0.7302, 0.7081, 0.6788, 0.6581, 0.6443, 0.6394, 0.638, 0.6382, 0.6738, 0.9253");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.4623, 0.4406, 0.4124, 0.3926, 0.3805, 0.3753, 0.3726, 0.3724, 0.3742, 0.3946",\
                 "0.4615, 0.4398, 0.4113, 0.3925, 0.3805, 0.3747, 0.372, 0.3718, 0.3736, 0.3943",\
                 "0.4622, 0.4406, 0.4116, 0.3923, 0.381, 0.3754, 0.3731, 0.3725, 0.375, 0.3949",\
                 "0.4683, 0.4468, 0.4187, 0.3988, 0.3877, 0.3817, 0.3796, 0.3787, 0.3806, 0.4041",\
                 "0.484, 0.4626, 0.4336, 0.4147, 0.4026, 0.3979, 0.3955, 0.3939, 0.3969, 0.4256",\
                 "0.5112, 0.4897, 0.4605, 0.4412, 0.4302, 0.4242, 0.4215, 0.4208, 0.4237, 0.4605",\
                 "0.5492, 0.5272, 0.4986, 0.4788, 0.4671, 0.4606, 0.4575, 0.4591, 0.4656, 0.5162",\
                 "0.5973, 0.5756, 0.5462, 0.5272, 0.5152, 0.5081, 0.505, 0.5052, 0.5143, 0.5984",\
                 "0.6579, 0.636, 0.607, 0.5859, 0.5731, 0.5694, 0.5661, 0.5639, 0.579, 0.7218",\
                 "0.7298, 0.7079, 0.6781, 0.6576, 0.6443, 0.6384, 0.638, 0.6381, 0.6721, 0.927");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.4623, 0.4406, 0.4124, 0.3926, 0.3805, 0.3753, 0.3726, 0.3724, 0.3742, 0.3946",\
                 "0.4615, 0.4398, 0.4113, 0.3925, 0.3805, 0.3747, 0.372, 0.3718, 0.3736, 0.3943",\
                 "0.4622, 0.4406, 0.4116, 0.3923, 0.381, 0.3754, 0.3731, 0.3725, 0.375, 0.3949",\
                 "0.4683, 0.4468, 0.4187, 0.3988, 0.3877, 0.3817, 0.3796, 0.3787, 0.3806, 0.4041",\
                 "0.484, 0.4626, 0.4336, 0.4147, 0.4026, 0.3979, 0.3955, 0.3939, 0.3969, 0.4256",\
                 "0.5112, 0.4897, 0.4605, 0.4412, 0.4302, 0.4242, 0.4215, 0.4208, 0.4237, 0.4605",\
                 "0.5492, 0.5272, 0.4986, 0.4788, 0.4671, 0.4606, 0.4575, 0.4591, 0.4656, 0.5162",\
                 "0.5973, 0.5756, 0.5462, 0.5272, 0.5152, 0.5081, 0.505, 0.5052, 0.5143, 0.5984",\
                 "0.6579, 0.636, 0.607, 0.5859, 0.5731, 0.5694, 0.5661, 0.5639, 0.579, 0.7218",\
                 "0.7298, 0.7079, 0.6781, 0.6576, 0.6443, 0.6384, 0.638, 0.6381, 0.6721, 0.927");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.22, 1.274, 1.403, 1.582, 1.806, 2.089, 2.447, 2.893, 3.437, 4.086",\
                 "1.234, 1.287, 1.416, 1.595, 1.82, 2.103, 2.46, 2.907, 3.451, 4.1",\
                 "1.284, 1.338, 1.467, 1.646, 1.87, 2.153, 2.511, 2.957, 3.501, 4.15",\
                 "1.368, 1.421, 1.55, 1.729, 1.954, 2.236, 2.594, 3.041, 3.585, 4.234",\
                 "1.442, 1.495, 1.624, 1.803, 2.028, 2.31, 2.668, 3.114, 3.659, 4.307",\
                 "1.5, 1.553, 1.682, 1.861, 2.086, 2.368, 2.726, 3.173, 3.717, 4.366",\
                 "1.54, 1.593, 1.722, 1.901, 2.126, 2.409, 2.766, 3.213, 3.757, 4.406",\
                 "1.558, 1.612, 1.741, 1.92, 2.144, 2.427, 2.785, 3.231, 3.775, 4.424",\
                 "1.552, 1.605, 1.734, 1.914, 2.138, 2.421, 2.778, 3.225, 3.769, 4.418",\
                 "1.518, 1.572, 1.701, 1.88, 2.104, 2.387, 2.745, 3.192, 3.736, 4.385");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.512, 1.576, 1.741, 2.002, 2.363, 2.852, 3.493, 4.301, 5.287, 6.464",\
                 "1.526, 1.589, 1.755, 2.015, 2.376, 2.866, 3.506, 4.314, 5.302, 6.477",\
                 "1.576, 1.639, 1.805, 2.065, 2.426, 2.916, 3.556, 4.365, 5.353, 6.528",\
                 "1.661, 1.724, 1.889, 2.15, 2.511, 3, 3.641, 4.448, 5.436, 6.612",\
                 "1.738, 1.801, 1.967, 2.227, 2.588, 3.078, 3.718, 4.527, 5.515, 6.691",\
                 "1.8, 1.863, 2.029, 2.289, 2.651, 3.14, 3.781, 4.588, 5.575, 6.753",\
                 "1.847, 1.91, 2.076, 2.336, 2.697, 3.186, 3.827, 4.635, 5.621, 6.8",\
                 "1.874, 1.937, 2.103, 2.363, 2.724, 3.214, 3.854, 4.661, 5.651, 6.828",\
                 "1.878, 1.942, 2.107, 2.368, 2.729, 3.218, 3.859, 4.666, 5.652, 6.827",\
                 "1.857, 1.92, 2.086, 2.347, 2.708, 3.197, 3.838, 4.645, 5.631, 6.807");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1662, 0.2146, 0.338, 0.5298, 0.809, 1.221, 1.792, 2.529, 3.443, 4.535",\
                 "0.1662, 0.2148, 0.338, 0.53, 0.809, 1.221, 1.79, 2.531, 3.443, 4.531",\
                 "0.1664, 0.2146, 0.3378, 0.5298, 0.809, 1.221, 1.792, 2.528, 3.443, 4.534",\
                 "0.166, 0.215, 0.338, 0.53, 0.8082, 1.221, 1.79, 2.531, 3.443, 4.534",\
                 "0.1664, 0.2148, 0.338, 0.53, 0.8088, 1.22, 1.791, 2.531, 3.44, 4.532",\
                 "0.1656, 0.215, 0.3384, 0.5298, 0.8088, 1.221, 1.79, 2.531, 3.443, 4.534",\
                 "0.1658, 0.2146, 0.338, 0.5298, 0.8088, 1.22, 1.79, 2.53, 3.443, 4.533",\
                 "0.1658, 0.2144, 0.3376, 0.5298, 0.8086, 1.22, 1.79, 2.528, 3.437, 4.528",\
                 "0.1656, 0.2148, 0.3384, 0.53, 0.8088, 1.22, 1.79, 2.527, 3.438, 4.525",\
                 "0.1666, 0.2144, 0.3382, 0.5298, 0.8084, 1.22, 1.792, 2.527, 3.438, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.193, 0.2584, 0.466, 0.83, 1.397, 2.232, 3.357, 4.78, 6.523, 8.603",\
                 "0.1934, 0.2602, 0.4666, 0.8308, 1.399, 2.233, 3.357, 4.785, 6.532, 8.598",\
                 "0.193, 0.2592, 0.4668, 0.8306, 1.398, 2.232, 3.357, 4.786, 6.519, 8.606",\
                 "0.1924, 0.2602, 0.467, 0.8308, 1.399, 2.232, 3.357, 4.783, 6.526, 8.6",\
                 "0.1934, 0.2604, 0.4668, 0.8314, 1.397, 2.232, 3.356, 4.786, 6.519, 8.607",\
                 "0.1924, 0.2586, 0.466, 0.8312, 1.399, 2.232, 3.355, 4.779, 6.524, 8.596",\
                 "0.1922, 0.2604, 0.4668, 0.83, 1.396, 2.233, 3.357, 4.78, 6.519, 8.598",\
                 "0.193, 0.2596, 0.4668, 0.8312, 1.398, 2.23, 3.353, 4.78, 6.521, 8.612",\
                 "0.193, 0.2592, 0.4668, 0.8316, 1.398, 2.231, 3.354, 4.776, 6.525, 8.6",\
                 "0.1926, 0.2592, 0.4666, 0.8304, 1.399, 2.23, 3.356, 4.777, 6.516, 8.603");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.5109, 0.5646, 0.695, 0.8735, 1.097, 1.38, 1.738, 2.184, 2.728, 3.377",\
                 "0.5282, 0.5819, 0.7125, 0.891, 1.115, 1.397, 1.755, 2.201, 2.746, 3.395",\
                 "0.5938, 0.6477, 0.7777, 0.9566, 1.18, 1.463, 1.821, 2.267, 2.812, 3.46",\
                 "0.7268, 0.7804, 0.9102, 1.089, 1.312, 1.595, 1.952, 2.399, 2.943, 3.592",\
                 "0.9261, 0.9814, 1.113, 1.292, 1.516, 1.798, 2.156, 2.602, 3.146, 3.794",\
                 "1.151, 1.212, 1.353, 1.541, 1.771, 2.054, 2.411, 2.857, 3.4, 4.048",\
                 "1.404, 1.468, 1.62, 1.818, 2.056, 2.344, 2.702, 3.147, 3.69, 4.337",\
                 "1.686, 1.754, 1.917, 2.126, 2.374, 2.668, 3.028, 3.473, 4.015, 4.662",\
                 "1.995, 2.069, 2.243, 2.466, 2.726, 3.028, 3.391, 3.836, 4.377, 5.023",\
                 "2.335, 2.413, 2.596, 2.835, 3.108, 3.421, 3.791, 4.239, 4.78, 5.425");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.6975, 0.7598, 0.9242, 1.182, 1.542, 2.032, 2.673, 3.481, 4.468, 5.648",\
                 "0.7059, 0.7682, 0.9328, 1.19, 1.551, 2.04, 2.682, 3.489, 4.476, 5.657",\
                 "0.7279, 0.7903, 0.9546, 1.212, 1.572, 2.062, 2.703, 3.511, 4.5, 5.679",\
                 "0.7755, 0.8378, 1.002, 1.259, 1.619, 2.108, 2.749, 3.557, 4.545, 5.723",\
                 "0.8495, 0.9127, 1.078, 1.335, 1.695, 2.183, 2.823, 3.63, 4.618, 5.798",\
                 "0.9241, 0.9895, 1.159, 1.419, 1.779, 2.268, 2.907, 3.714, 4.701, 5.879",\
                 "0.994, 1.062, 1.234, 1.499, 1.861, 2.349, 2.987, 3.794, 4.779, 5.956",\
                 "1.049, 1.12, 1.299, 1.568, 1.933, 2.42, 3.058, 3.862, 4.846, 6.021",\
                 "1.085, 1.159, 1.344, 1.619, 1.99, 2.48, 3.116, 3.919, 4.903, 6.075",\
                 "1.095, 1.173, 1.364, 1.648, 2.027, 2.523, 3.161, 3.964, 4.945, 6.118");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1646, 0.2146, 0.338, 0.5274, 0.8072, 1.221, 1.792, 2.532, 3.444, 4.534",\
                 "0.1646, 0.2153, 0.3379, 0.5277, 0.8071, 1.221, 1.791, 2.531, 3.439, 4.533",\
                 "0.165, 0.2144, 0.338, 0.5276, 0.8072, 1.221, 1.79, 2.531, 3.442, 4.534",\
                 "0.1646, 0.2144, 0.3384, 0.528, 0.8078, 1.221, 1.79, 2.528, 3.441, 4.531",\
                 "0.1842, 0.2326, 0.3508, 0.5368, 0.813, 1.224, 1.791, 2.531, 3.441, 4.532",\
                 "0.2146, 0.2682, 0.3904, 0.5702, 0.8334, 1.233, 1.796, 2.533, 3.444, 4.532",\
                 "0.2472, 0.3034, 0.433, 0.612, 0.8686, 1.254, 1.805, 2.536, 3.444, 4.534",\
                 "0.2846, 0.346, 0.482, 0.6612, 0.911, 1.284, 1.822, 2.541, 3.445, 4.534",\
                 "0.3228, 0.389, 0.5364, 0.7196, 0.9652, 1.324, 1.845, 2.554, 3.449, 4.532",\
                 "0.3646, 0.4354, 0.5934, 0.7838, 1.03, 1.377, 1.886, 2.577, 3.462, 4.539");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1859, 0.2519, 0.4582, 0.8218, 1.392, 2.229, 3.357, 4.778, 6.518, 8.599",\
                 "0.1869, 0.2522, 0.458, 0.8224, 1.395, 2.231, 3.357, 4.781, 6.522, 8.599",\
                 "0.1867, 0.2522, 0.4576, 0.821, 1.393, 2.231, 3.357, 4.784, 6.529, 8.597",\
                 "0.1854, 0.2518, 0.457, 0.8212, 1.394, 2.229, 3.357, 4.784, 6.527, 8.605",\
                 "0.194, 0.2598, 0.4638, 0.8244, 1.395, 2.231, 3.357, 4.784, 6.527, 8.595",\
                 "0.208, 0.275, 0.4782, 0.8392, 1.402, 2.234, 3.356, 4.781, 6.526, 8.612",\
                 "0.2246, 0.292, 0.4966, 0.8558, 1.415, 2.238, 3.357, 4.78, 6.53, 8.606",\
                 "0.2486, 0.3158, 0.5194, 0.879, 1.431, 2.246, 3.359, 4.785, 6.522, 8.594",\
                 "0.2722, 0.3436, 0.5462, 0.9098, 1.457, 2.261, 3.367, 4.781, 6.521, 8.599",\
                 "0.303, 0.3758, 0.578, 0.9438, 1.495, 2.293, 3.383, 4.79, 6.522, 8.596");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.5122, 0.5666, 0.6973, 0.8768, 1.096, 1.371, 1.724, 2.168, 2.712, 3.36",\
                 "0.5295, 0.5839, 0.7148, 0.8942, 1.114, 1.388, 1.741, 2.186, 2.729, 3.377",\
                 "0.5952, 0.6495, 0.7804, 0.9597, 1.179, 1.454, 1.807, 2.251, 2.795, 3.443",\
                 "0.7282, 0.7823, 0.9125, 1.092, 1.311, 1.586, 1.939, 2.383, 2.926, 3.575",\
                 "0.9282, 0.9841, 1.116, 1.296, 1.515, 1.788, 2.141, 2.585, 3.128, 3.776",\
                 "1.155, 1.215, 1.358, 1.546, 1.768, 2.041, 2.392, 2.835, 3.377, 4.025",\
                 "1.409, 1.474, 1.626, 1.824, 2.051, 2.324, 2.674, 3.116, 3.657, 4.304",\
                 "1.692, 1.762, 1.925, 2.133, 2.365, 2.637, 2.985, 3.425, 3.966, 4.612",\
                 "2.004, 2.078, 2.252, 2.472, 2.709, 2.98, 3.326, 3.765, 4.304, 4.95",\
                 "2.346, 2.424, 2.608, 2.84, 3.083, 3.354, 3.698, 4.135, 4.672, 5.317");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.167, 0.2167, 0.339, 0.5257, 0.7849, 1.189, 1.765, 2.508, 3.422, 4.515",\
                 "0.1667, 0.217, 0.3394, 0.5256, 0.7849, 1.189, 1.765, 2.508, 3.422, 4.515",\
                 "0.1669, 0.2169, 0.3391, 0.526, 0.7854, 1.188, 1.765, 2.508, 3.422, 4.515",\
                 "0.1668, 0.217, 0.3398, 0.5264, 0.7852, 1.188, 1.766, 2.508, 3.422, 4.515",\
                 "0.1856, 0.2352, 0.3524, 0.5342, 0.7876, 1.19, 1.766, 2.51, 3.426, 4.517",\
                 "0.2176, 0.272, 0.3918, 0.5652, 0.8018, 1.193, 1.766, 2.511, 3.426, 4.519",\
                 "0.2502, 0.3082, 0.4344, 0.6036, 0.8238, 1.2, 1.767, 2.51, 3.425, 4.518",\
                 "0.2888, 0.3498, 0.482, 0.6448, 0.8458, 1.208, 1.771, 2.511, 3.422, 4.515",\
                 "0.328, 0.3942, 0.535, 0.693, 0.8718, 1.217, 1.774, 2.511, 3.423, 4.512",\
                 "0.37, 0.442, 0.59, 0.7448, 0.9004, 1.226, 1.776, 2.512, 3.428, 4.513");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.5109, 0.5646, 0.6951, 0.8735, 1.097, 1.38, 1.738, 2.184, 2.728, 3.377",\
                 "0.5282, 0.5819, 0.7125, 0.891, 1.115, 1.397, 1.755, 2.201, 2.746, 3.395",\
                 "0.5938, 0.6477, 0.7777, 0.9566, 1.18, 1.463, 1.821, 2.267, 2.812, 3.46",\
                 "0.7269, 0.7804, 0.91, 1.089, 1.312, 1.595, 1.952, 2.399, 2.943, 3.592",\
                 "0.9261, 0.9814, 1.113, 1.292, 1.516, 1.798, 2.155, 2.601, 3.145, 3.794",\
                 "1.151, 1.211, 1.353, 1.541, 1.771, 2.054, 2.412, 2.857, 3.4, 4.049",\
                 "1.404, 1.468, 1.62, 1.818, 2.056, 2.344, 2.702, 3.147, 3.69, 4.337",\
                 "1.685, 1.755, 1.917, 2.127, 2.374, 2.668, 3.028, 3.473, 4.015, 4.661",\
                 "1.995, 2.069, 2.243, 2.466, 2.726, 3.028, 3.391, 3.837, 4.377, 5.023",\
                 "2.335, 2.413, 2.597, 2.834, 3.108, 3.422, 3.792, 4.239, 4.78, 5.426");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.6975, 0.7596, 0.9243, 1.182, 1.542, 2.032, 2.673, 3.481, 4.468, 5.648",\
                 "0.7059, 0.7682, 0.9328, 1.19, 1.551, 2.04, 2.682, 3.489, 4.475, 5.657",\
                 "0.7279, 0.7903, 0.9546, 1.212, 1.572, 2.062, 2.703, 3.511, 4.5, 5.679",\
                 "0.7755, 0.8378, 1.002, 1.259, 1.619, 2.109, 2.75, 3.558, 4.545, 5.724",\
                 "0.8494, 0.9128, 1.078, 1.335, 1.694, 2.183, 2.824, 3.631, 4.619, 5.795",\
                 "0.924, 0.9897, 1.159, 1.419, 1.78, 2.268, 2.907, 3.714, 4.701, 5.879",\
                 "0.9939, 1.062, 1.234, 1.498, 1.861, 2.349, 2.987, 3.793, 4.778, 5.956",\
                 "1.05, 1.121, 1.299, 1.568, 1.933, 2.42, 3.057, 3.862, 4.846, 6.021",\
                 "1.085, 1.159, 1.344, 1.619, 1.99, 2.481, 3.117, 3.919, 4.903, 6.075",\
                 "1.095, 1.173, 1.365, 1.648, 2.028, 2.523, 3.161, 3.964, 4.945, 6.118");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1646, 0.2146, 0.338, 0.5274, 0.8072, 1.221, 1.792, 2.532, 3.444, 4.534",\
                 "0.1646, 0.2153, 0.3379, 0.5277, 0.8071, 1.221, 1.791, 2.531, 3.439, 4.533",\
                 "0.165, 0.2144, 0.338, 0.5276, 0.8072, 1.221, 1.79, 2.531, 3.442, 4.534",\
                 "0.1644, 0.2146, 0.3384, 0.5276, 0.8076, 1.22, 1.79, 2.528, 3.442, 4.534",\
                 "0.184, 0.2328, 0.3506, 0.5364, 0.813, 1.223, 1.792, 2.532, 3.443, 4.53",\
                 "0.2148, 0.268, 0.39, 0.5706, 0.8332, 1.234, 1.795, 2.533, 3.444, 4.533",\
                 "0.2468, 0.3048, 0.4326, 0.6126, 0.8688, 1.255, 1.806, 2.534, 3.445, 4.53",\
                 "0.284, 0.3458, 0.4808, 0.661, 0.911, 1.283, 1.823, 2.542, 3.445, 4.532",\
                 "0.323, 0.3888, 0.5364, 0.7196, 0.9648, 1.323, 1.846, 2.556, 3.45, 4.532",\
                 "0.3646, 0.435, 0.5926, 0.7842, 1.03, 1.377, 1.883, 2.575, 3.464, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.186, 0.2529, 0.4576, 0.8208, 1.392, 2.229, 3.356, 4.776, 6.52, 8.613",\
                 "0.1869, 0.2522, 0.4578, 0.8228, 1.395, 2.231, 3.357, 4.78, 6.52, 8.597",\
                 "0.1867, 0.2522, 0.4576, 0.821, 1.393, 2.231, 3.357, 4.784, 6.529, 8.597",\
                 "0.1854, 0.2518, 0.457, 0.8208, 1.395, 2.231, 3.357, 4.779, 6.522, 8.611",\
                 "0.194, 0.2598, 0.4636, 0.826, 1.393, 2.231, 3.356, 4.785, 6.528, 8.6",\
                 "0.2076, 0.2746, 0.478, 0.8396, 1.402, 2.235, 3.357, 4.781, 6.522, 8.609",\
                 "0.2246, 0.292, 0.495, 0.8548, 1.413, 2.24, 3.358, 4.779, 6.519, 8.6",\
                 "0.2474, 0.3162, 0.5196, 0.879, 1.43, 2.247, 3.359, 4.786, 6.522, 8.608",\
                 "0.2736, 0.3434, 0.5458, 0.91, 1.456, 2.261, 3.367, 4.781, 6.521, 8.601",\
                 "0.3018, 0.3758, 0.578, 0.945, 1.494, 2.292, 3.384, 4.792, 6.521, 8.592");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.5122, 0.5665, 0.6972, 0.8768, 1.096, 1.371, 1.724, 2.168, 2.712, 3.36",\
                 "0.5295, 0.5839, 0.7147, 0.8941, 1.114, 1.388, 1.741, 2.186, 2.729, 3.377",\
                 "0.5952, 0.6495, 0.7803, 0.9597, 1.179, 1.454, 1.807, 2.251, 2.795, 3.443",\
                 "0.7282, 0.7823, 0.9125, 1.092, 1.311, 1.586, 1.939, 2.383, 2.926, 3.575",\
                 "0.9283, 0.9842, 1.116, 1.296, 1.515, 1.788, 2.141, 2.585, 3.128, 3.776",\
                 "1.155, 1.215, 1.358, 1.546, 1.768, 2.041, 2.392, 2.835, 3.378, 4.025",\
                 "1.409, 1.474, 1.626, 1.824, 2.051, 2.324, 2.673, 3.115, 3.657, 4.304",\
                 "1.692, 1.762, 1.924, 2.133, 2.364, 2.637, 2.985, 3.425, 3.966, 4.612",\
                 "2.004, 2.078, 2.251, 2.472, 2.709, 2.98, 3.326, 3.765, 4.304, 4.95",\
                 "2.346, 2.424, 2.608, 2.84, 3.083, 3.354, 3.697, 4.134, 4.672, 5.316");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.167, 0.2171, 0.3391, 0.5256, 0.7848, 1.189, 1.765, 2.508, 3.422, 4.515",\
                 "0.167, 0.2167, 0.3394, 0.5259, 0.7855, 1.189, 1.766, 2.511, 3.425, 4.519",\
                 "0.1668, 0.2168, 0.3391, 0.5258, 0.7854, 1.188, 1.765, 2.508, 3.422, 4.515",\
                 "0.1666, 0.217, 0.3396, 0.5264, 0.7852, 1.188, 1.766, 2.509, 3.422, 4.514",\
                 "0.1856, 0.2344, 0.3522, 0.5344, 0.7888, 1.19, 1.766, 2.509, 3.426, 4.516",\
                 "0.2184, 0.272, 0.3918, 0.5656, 0.8014, 1.193, 1.766, 2.511, 3.425, 4.518",\
                 "0.251, 0.3092, 0.4344, 0.6034, 0.8234, 1.2, 1.767, 2.511, 3.425, 4.519",\
                 "0.2894, 0.3506, 0.4824, 0.6448, 0.8464, 1.209, 1.771, 2.511, 3.421, 4.516",\
                 "0.328, 0.394, 0.5358, 0.6928, 0.8708, 1.217, 1.773, 2.513, 3.423, 4.51",\
                 "0.3714, 0.4408, 0.592, 0.745, 0.9004, 1.227, 1.775, 2.513, 3.428, 4.515");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.5109, 0.5647, 0.6949, 0.8736, 1.097, 1.38, 1.738, 2.184, 2.729, 3.377",\
                 "0.5283, 0.5821, 0.7123, 0.891, 1.115, 1.397, 1.755, 2.201, 2.746, 3.395",\
                 "0.5939, 0.6478, 0.7779, 0.9567, 1.18, 1.463, 1.821, 2.267, 2.811, 3.46",\
                 "0.7267, 0.7803, 0.9099, 1.089, 1.312, 1.595, 1.953, 2.399, 2.943, 3.592",\
                 "0.9259, 0.9813, 1.113, 1.292, 1.516, 1.798, 2.156, 2.602, 3.146, 3.794",\
                 "1.151, 1.211, 1.353, 1.541, 1.77, 2.054, 2.411, 2.857, 3.4, 4.048",\
                 "1.404, 1.468, 1.62, 1.818, 2.056, 2.344, 2.702, 3.147, 3.69, 4.337",\
                 "1.686, 1.755, 1.917, 2.127, 2.374, 2.668, 3.028, 3.473, 4.015, 4.661",\
                 "1.995, 2.069, 2.242, 2.466, 2.726, 3.028, 3.391, 3.836, 4.378, 5.024",\
                 "2.335, 2.413, 2.598, 2.835, 3.109, 3.422, 3.792, 4.239, 4.781, 5.426");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.7071, 0.7694, 0.934, 1.191, 1.552, 2.041, 2.683, 3.491, 4.479, 5.656",\
                 "0.7156, 0.7781, 0.9423, 1.2, 1.56, 2.05, 2.691, 3.499, 4.488, 5.664",\
                 "0.7366, 0.7991, 0.9638, 1.221, 1.582, 2.071, 2.712, 3.521, 4.507, 5.685",\
                 "0.7823, 0.8447, 1.009, 1.266, 1.626, 2.116, 2.757, 3.565, 4.553, 5.73",\
                 "0.854, 0.9176, 1.083, 1.34, 1.699, 2.188, 2.828, 3.636, 4.625, 5.798",\
                 "0.927, 0.9925, 1.162, 1.422, 1.783, 2.271, 2.91, 3.717, 4.704, 5.878",\
                 "0.9963, 1.064, 1.236, 1.5, 1.863, 2.351, 2.989, 3.796, 4.781, 5.956",\
                 "1.051, 1.122, 1.301, 1.569, 1.935, 2.422, 3.059, 3.864, 4.848, 6.023",\
                 "1.086, 1.16, 1.345, 1.621, 1.992, 2.482, 3.118, 3.922, 4.904, 6.077",\
                 "1.097, 1.174, 1.366, 1.649, 2.029, 2.524, 3.163, 3.965, 4.947, 6.119");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1643, 0.2139, 0.3376, 0.527, 0.8064, 1.22, 1.791, 2.529, 3.441, 4.533",\
                 "0.1642, 0.2139, 0.3377, 0.5269, 0.8065, 1.22, 1.792, 2.528, 3.439, 4.531",\
                 "0.1647, 0.2141, 0.3382, 0.5268, 0.8068, 1.22, 1.789, 2.528, 3.443, 4.533",\
                 "0.1642, 0.2146, 0.3384, 0.5278, 0.8072, 1.22, 1.792, 2.528, 3.443, 4.534",\
                 "0.1834, 0.2322, 0.3508, 0.5366, 0.812, 1.224, 1.792, 2.531, 3.442, 4.531",\
                 "0.2154, 0.268, 0.3906, 0.571, 0.8332, 1.234, 1.796, 2.532, 3.443, 4.535",\
                 "0.2464, 0.3044, 0.4322, 0.613, 0.8702, 1.255, 1.805, 2.535, 3.445, 4.531",\
                 "0.2836, 0.346, 0.4814, 0.6616, 0.9118, 1.283, 1.822, 2.542, 3.446, 4.533",\
                 "0.3246, 0.3898, 0.5364, 0.7202, 0.9656, 1.323, 1.846, 2.554, 3.45, 4.531",\
                 "0.3654, 0.436, 0.5922, 0.7846, 1.03, 1.377, 1.886, 2.577, 3.462, 4.539");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1875, 0.2535, 0.4585, 0.8214, 1.394, 2.231, 3.354, 4.783, 6.522, 8.598",\
                 "0.1879, 0.2536, 0.4596, 0.8216, 1.392, 2.231, 3.355, 4.786, 6.519, 8.608",\
                 "0.188, 0.2536, 0.4578, 0.8222, 1.394, 2.231, 3.355, 4.782, 6.521, 8.598",\
                 "0.1864, 0.2526, 0.4578, 0.8216, 1.395, 2.231, 3.356, 4.787, 6.522, 8.594",\
                 "0.1948, 0.2602, 0.4636, 0.826, 1.396, 2.232, 3.357, 4.779, 6.519, 8.596",\
                 "0.209, 0.2744, 0.479, 0.8392, 1.403, 2.234, 3.356, 4.783, 6.523, 8.595",\
                 "0.2244, 0.2924, 0.4948, 0.8554, 1.413, 2.238, 3.356, 4.778, 6.521, 8.597",\
                 "0.2482, 0.3166, 0.52, 0.8788, 1.43, 2.245, 3.359, 4.781, 6.522, 8.594",\
                 "0.2728, 0.3428, 0.5464, 0.9098, 1.458, 2.262, 3.367, 4.781, 6.518, 8.604",\
                 "0.3022, 0.3762, 0.5774, 0.9446, 1.493, 2.292, 3.386, 4.791, 6.521, 8.592");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.5122, 0.5664, 0.6976, 0.8782, 1.101, 1.377, 1.73, 2.175, 2.718, 3.367",\
                 "0.5295, 0.5837, 0.715, 0.8956, 1.119, 1.395, 1.748, 2.192, 2.735, 3.384",\
                 "0.5953, 0.6496, 0.7806, 0.9613, 1.184, 1.459, 1.812, 2.256, 2.8, 3.448",\
                 "0.7286, 0.7827, 0.9134, 1.093, 1.312, 1.586, 1.939, 2.383, 2.927, 3.575",\
                 "0.9299, 0.986, 1.118, 1.296, 1.509, 1.78, 2.132, 2.576, 3.12, 3.768",\
                 "1.158, 1.219, 1.361, 1.54, 1.75, 2.019, 2.37, 2.814, 3.356, 4.004",\
                 "1.414, 1.479, 1.628, 1.808, 2.017, 2.285, 2.635, 3.078, 3.62, 4.267",\
                 "1.699, 1.768, 1.922, 2.102, 2.31, 2.577, 2.926, 3.368, 3.909, 4.556",\
                 "2.012, 2.084, 2.244, 2.424, 2.632, 2.898, 3.245, 3.686, 4.227, 4.874",\
                 "2.354, 2.43, 2.594, 2.777, 2.985, 3.249, 3.595, 4.035, 4.575, 5.221");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1662, 0.2164, 0.3407, 0.5315, 0.7943, 1.193, 1.765, 2.511, 3.425, 4.516",\
                 "0.1664, 0.2163, 0.3411, 0.5315, 0.7942, 1.192, 1.765, 2.511, 3.426, 4.519",\
                 "0.1664, 0.2166, 0.3408, 0.531, 0.7914, 1.191, 1.764, 2.511, 3.426, 4.519",\
                 "0.167, 0.2172, 0.3412, 0.5274, 0.783, 1.186, 1.764, 2.508, 3.426, 4.52",\
                 "0.1868, 0.2356, 0.3532, 0.5226, 0.772, 1.182, 1.764, 2.51, 3.426, 4.52",\
                 "0.2204, 0.2724, 0.387, 0.5308, 0.77, 1.181, 1.764, 2.509, 3.426, 4.52",\
                 "0.253, 0.3084, 0.4144, 0.5408, 0.7752, 1.183, 1.763, 2.511, 3.427, 4.52",\
                 "0.2896, 0.345, 0.4386, 0.5512, 0.782, 1.187, 1.765, 2.51, 3.424, 4.514",\
                 "0.3264, 0.3816, 0.4648, 0.5656, 0.791, 1.19, 1.767, 2.512, 3.422, 4.51",\
                 "0.3656, 0.4186, 0.4934, 0.5828, 0.7984, 1.194, 1.768, 2.514, 3.426, 4.513");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SETN===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.5109, 0.5647, 0.6949, 0.8736, 1.097, 1.38, 1.738, 2.184, 2.729, 3.377",\
                 "0.5283, 0.5821, 0.7123, 0.891, 1.115, 1.397, 1.755, 2.201, 2.746, 3.395",\
                 "0.5939, 0.6478, 0.7779, 0.9567, 1.18, 1.463, 1.821, 2.267, 2.811, 3.46",\
                 "0.7266, 0.7803, 0.9099, 1.089, 1.312, 1.595, 1.953, 2.399, 2.943, 3.592",\
                 "0.9259, 0.9813, 1.113, 1.292, 1.516, 1.798, 2.156, 2.602, 3.146, 3.794",\
                 "1.151, 1.211, 1.353, 1.541, 1.77, 2.054, 2.411, 2.857, 3.4, 4.049",\
                 "1.404, 1.468, 1.62, 1.818, 2.056, 2.344, 2.702, 3.147, 3.69, 4.338",\
                 "1.686, 1.755, 1.917, 2.127, 2.374, 2.668, 3.028, 3.473, 4.015, 4.661",\
                 "1.995, 2.069, 2.243, 2.466, 2.726, 3.028, 3.391, 3.836, 4.378, 5.024",\
                 "2.335, 2.412, 2.597, 2.835, 3.109, 3.422, 3.792, 4.24, 4.781, 5.426");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.7071, 0.7694, 0.934, 1.191, 1.552, 2.041, 2.683, 3.491, 4.477, 5.655",\
                 "0.7156, 0.7781, 0.9423, 1.2, 1.56, 2.05, 2.691, 3.499, 4.488, 5.664",\
                 "0.7366, 0.7991, 0.9638, 1.221, 1.582, 2.071, 2.712, 3.521, 4.507, 5.685",\
                 "0.7823, 0.8447, 1.009, 1.266, 1.626, 2.116, 2.756, 3.565, 4.552, 5.728",\
                 "0.854, 0.9176, 1.083, 1.34, 1.699, 2.188, 2.828, 3.635, 4.624, 5.798",\
                 "0.927, 0.9925, 1.161, 1.422, 1.783, 2.271, 2.91, 3.717, 4.704, 5.878",\
                 "0.9962, 1.064, 1.236, 1.5, 1.863, 2.351, 2.989, 3.795, 4.779, 5.956",\
                 "1.052, 1.122, 1.3, 1.569, 1.935, 2.422, 3.06, 3.864, 4.848, 6.023",\
                 "1.086, 1.16, 1.345, 1.621, 1.992, 2.482, 3.118, 3.921, 4.904, 6.077",\
                 "1.097, 1.175, 1.367, 1.649, 2.029, 2.525, 3.164, 3.965, 4.947, 6.119");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1643, 0.2139, 0.3376, 0.527, 0.8064, 1.22, 1.791, 2.529, 3.441, 4.533",\
                 "0.1642, 0.2139, 0.3377, 0.5269, 0.8065, 1.22, 1.792, 2.528, 3.439, 4.531",\
                 "0.1647, 0.2141, 0.3382, 0.5268, 0.8068, 1.22, 1.789, 2.528, 3.443, 4.533",\
                 "0.1646, 0.2146, 0.3384, 0.5278, 0.8072, 1.22, 1.792, 2.528, 3.443, 4.534",\
                 "0.1834, 0.2322, 0.3508, 0.5366, 0.812, 1.224, 1.792, 2.531, 3.442, 4.531",\
                 "0.2158, 0.2686, 0.391, 0.5702, 0.8336, 1.234, 1.796, 2.533, 3.444, 4.535",\
                 "0.247, 0.3044, 0.4328, 0.613, 0.869, 1.255, 1.805, 2.536, 3.445, 4.535",\
                 "0.2858, 0.346, 0.4814, 0.6616, 0.9118, 1.284, 1.823, 2.542, 3.446, 4.532",\
                 "0.3242, 0.3892, 0.5354, 0.7202, 0.966, 1.323, 1.845, 2.555, 3.45, 4.531",\
                 "0.3656, 0.4366, 0.5936, 0.7846, 1.03, 1.377, 1.886, 2.577, 3.462, 4.539");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1875, 0.2535, 0.4585, 0.8212, 1.394, 2.231, 3.355, 4.782, 6.523, 8.598",\
                 "0.1879, 0.2536, 0.4596, 0.8216, 1.392, 2.231, 3.355, 4.786, 6.519, 8.608",\
                 "0.188, 0.2536, 0.4578, 0.8222, 1.394, 2.231, 3.355, 4.782, 6.521, 8.598",\
                 "0.1876, 0.2526, 0.458, 0.8214, 1.395, 2.231, 3.358, 4.786, 6.526, 8.601",\
                 "0.1948, 0.2602, 0.4636, 0.826, 1.396, 2.232, 3.357, 4.783, 6.522, 8.598",\
                 "0.2078, 0.2744, 0.4784, 0.8392, 1.402, 2.234, 3.356, 4.783, 6.523, 8.595",\
                 "0.2242, 0.2924, 0.4948, 0.855, 1.413, 2.239, 3.358, 4.777, 6.523, 8.598",\
                 "0.2472, 0.317, 0.518, 0.878, 1.43, 2.248, 3.359, 4.786, 6.521, 8.594",\
                 "0.2734, 0.3434, 0.5456, 0.911, 1.457, 2.261, 3.366, 4.781, 6.522, 8.589",\
                 "0.3018, 0.375, 0.5788, 0.9444, 1.495, 2.292, 3.384, 4.792, 6.519, 8.592");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SETN===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SETN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.5122, 0.5664, 0.6976, 0.8783, 1.101, 1.377, 1.73, 2.175, 2.718, 3.366",\
                 "0.5296, 0.5838, 0.715, 0.8956, 1.118, 1.394, 1.747, 2.192, 2.735, 3.384",\
                 "0.5953, 0.6496, 0.7807, 0.9613, 1.183, 1.459, 1.811, 2.256, 2.799, 3.448",\
                 "0.7286, 0.7827, 0.9134, 1.093, 1.312, 1.586, 1.938, 2.383, 2.926, 3.575",\
                 "0.9299, 0.9861, 1.118, 1.296, 1.508, 1.78, 2.132, 2.576, 3.119, 3.768",\
                 "1.158, 1.219, 1.361, 1.54, 1.75, 2.019, 2.37, 2.814, 3.356, 4.004",\
                 "1.414, 1.479, 1.628, 1.808, 2.017, 2.285, 2.635, 3.078, 3.62, 4.268",\
                 "1.699, 1.768, 1.922, 2.102, 2.31, 2.577, 2.926, 3.368, 3.91, 4.556",\
                 "2.012, 2.084, 2.244, 2.425, 2.632, 2.898, 3.246, 3.687, 4.228, 4.874",\
                 "2.354, 2.43, 2.595, 2.777, 2.985, 3.25, 3.596, 4.035, 4.575, 5.222");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1662, 0.2163, 0.341, 0.5315, 0.7942, 1.192, 1.765, 2.511, 3.425, 4.519",\
                 "0.1662, 0.2165, 0.3411, 0.5315, 0.7938, 1.192, 1.766, 2.509, 3.426, 4.519",\
                 "0.1664, 0.2166, 0.3407, 0.5306, 0.7908, 1.191, 1.765, 2.511, 3.426, 4.519",\
                 "0.167, 0.2172, 0.3414, 0.527, 0.7826, 1.185, 1.764, 2.511, 3.427, 4.519",\
                 "0.1868, 0.2352, 0.353, 0.5216, 0.7718, 1.182, 1.764, 2.51, 3.427, 4.52",\
                 "0.2206, 0.2724, 0.3866, 0.5306, 0.7704, 1.181, 1.764, 2.511, 3.427, 4.52",\
                 "0.2534, 0.3084, 0.4142, 0.54, 0.7764, 1.183, 1.763, 2.508, 3.425, 4.516",\
                 "0.2896, 0.3448, 0.4382, 0.5514, 0.7818, 1.187, 1.765, 2.509, 3.423, 4.516",\
                 "0.3278, 0.382, 0.4652, 0.566, 0.79, 1.191, 1.767, 2.511, 3.423, 4.51",\
                 "0.3654, 0.4194, 0.494, 0.5832, 0.799, 1.194, 1.769, 2.512, 3.425, 4.514");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.5109, 0.5647, 0.6949, 0.8736, 1.097, 1.38, 1.738, 2.184, 2.729, 3.377",\
                 "0.5283, 0.5821, 0.7123, 0.891, 1.115, 1.397, 1.755, 2.201, 2.746, 3.395",\
                 "0.5939, 0.6478, 0.7779, 0.9567, 1.18, 1.463, 1.821, 2.267, 2.811, 3.46",\
                 "0.7266, 0.7803, 0.9099, 1.089, 1.312, 1.595, 1.953, 2.399, 2.943, 3.592",\
                 "0.9259, 0.9813, 1.113, 1.292, 1.516, 1.798, 2.156, 2.602, 3.146, 3.794",\
                 "1.151, 1.211, 1.353, 1.541, 1.77, 2.054, 2.411, 2.857, 3.4, 4.049",\
                 "1.404, 1.468, 1.62, 1.818, 2.056, 2.344, 2.702, 3.147, 3.69, 4.338",\
                 "1.686, 1.755, 1.917, 2.127, 2.374, 2.668, 3.028, 3.473, 4.015, 4.661",\
                 "1.995, 2.069, 2.243, 2.466, 2.726, 3.028, 3.391, 3.836, 4.378, 5.024",\
                 "2.335, 2.412, 2.597, 2.835, 3.109, 3.422, 3.792, 4.24, 4.781, 5.426");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.7071, 0.7694, 0.934, 1.191, 1.552, 2.041, 2.683, 3.491, 4.477, 5.655",\
                 "0.7156, 0.7781, 0.9423, 1.2, 1.56, 2.05, 2.691, 3.499, 4.488, 5.664",\
                 "0.7366, 0.7991, 0.9638, 1.221, 1.582, 2.071, 2.712, 3.521, 4.507, 5.685",\
                 "0.7823, 0.8447, 1.009, 1.266, 1.626, 2.116, 2.756, 3.565, 4.552, 5.728",\
                 "0.854, 0.9176, 1.083, 1.34, 1.699, 2.188, 2.828, 3.635, 4.624, 5.798",\
                 "0.927, 0.9925, 1.161, 1.422, 1.783, 2.271, 2.91, 3.717, 4.704, 5.878",\
                 "0.9962, 1.064, 1.236, 1.5, 1.863, 2.351, 2.989, 3.795, 4.779, 5.956",\
                 "1.052, 1.122, 1.3, 1.569, 1.935, 2.422, 3.06, 3.864, 4.848, 6.023",\
                 "1.086, 1.16, 1.345, 1.621, 1.992, 2.482, 3.118, 3.921, 4.904, 6.077",\
                 "1.097, 1.175, 1.367, 1.649, 2.029, 2.525, 3.164, 3.965, 4.947, 6.119");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1646, 0.2146, 0.338, 0.5274, 0.8072, 1.221, 1.792, 2.532, 3.444, 4.534",\
                 "0.1646, 0.2153, 0.3379, 0.5277, 0.8071, 1.221, 1.791, 2.531, 3.439, 4.533",\
                 "0.165, 0.2144, 0.338, 0.5276, 0.8072, 1.221, 1.79, 2.531, 3.442, 4.534",\
                 "0.1644, 0.2146, 0.3384, 0.5276, 0.8076, 1.22, 1.79, 2.528, 3.442, 4.534",\
                 "0.184, 0.2328, 0.3506, 0.5364, 0.813, 1.223, 1.792, 2.532, 3.443, 4.53",\
                 "0.2148, 0.268, 0.39, 0.5706, 0.8332, 1.234, 1.795, 2.533, 3.444, 4.533",\
                 "0.2468, 0.3048, 0.4326, 0.6126, 0.8688, 1.255, 1.806, 2.534, 3.445, 4.53",\
                 "0.284, 0.3458, 0.4808, 0.661, 0.911, 1.283, 1.823, 2.542, 3.445, 4.532",\
                 "0.323, 0.3888, 0.5364, 0.7196, 0.9648, 1.323, 1.846, 2.556, 3.45, 4.532",\
                 "0.3646, 0.435, 0.5926, 0.7842, 1.03, 1.377, 1.883, 2.575, 3.464, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.186, 0.2529, 0.4576, 0.8208, 1.392, 2.229, 3.356, 4.776, 6.52, 8.613",\
                 "0.1869, 0.2522, 0.4578, 0.8228, 1.395, 2.231, 3.357, 4.78, 6.52, 8.597",\
                 "0.1867, 0.2522, 0.4576, 0.821, 1.393, 2.231, 3.357, 4.784, 6.529, 8.597",\
                 "0.1854, 0.2518, 0.457, 0.8208, 1.395, 2.231, 3.357, 4.779, 6.522, 8.611",\
                 "0.194, 0.2598, 0.4636, 0.826, 1.393, 2.231, 3.356, 4.785, 6.528, 8.6",\
                 "0.2076, 0.2746, 0.478, 0.8396, 1.402, 2.235, 3.357, 4.781, 6.522, 8.609",\
                 "0.2246, 0.292, 0.495, 0.8548, 1.413, 2.24, 3.358, 4.779, 6.519, 8.6",\
                 "0.2474, 0.3162, 0.5196, 0.879, 1.43, 2.247, 3.359, 4.786, 6.522, 8.608",\
                 "0.2736, 0.3434, 0.5458, 0.91, 1.456, 2.261, 3.367, 4.781, 6.521, 8.601",\
                 "0.3018, 0.3758, 0.578, 0.945, 1.494, 2.292, 3.384, 4.792, 6.521, 8.592");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.195, 1.258, 1.422, 1.68, 2.039, 2.528, 3.169, 3.977, 4.966, 6.14",\
                 "1.213, 1.276, 1.44, 1.697, 2.057, 2.546, 3.187, 3.994, 4.98, 6.162",\
                 "1.279, 1.342, 1.506, 1.763, 2.123, 2.612, 3.253, 4.06, 5.046, 6.228",\
                 "1.402, 1.465, 1.63, 1.887, 2.247, 2.736, 3.376, 4.184, 5.172, 6.35",\
                 "1.565, 1.628, 1.793, 2.05, 2.409, 2.898, 3.539, 4.346, 5.335, 6.513",\
                 "1.754, 1.817, 1.981, 2.239, 2.598, 3.087, 3.727, 4.535, 5.522, 6.701",\
                 "1.969, 2.032, 2.197, 2.454, 2.813, 3.302, 3.942, 4.749, 5.736, 6.916",\
                 "2.208, 2.272, 2.437, 2.693, 3.052, 3.541, 4.181, 4.988, 5.974, 7.152",\
                 "2.468, 2.532, 2.697, 2.954, 3.313, 3.801, 4.441, 5.247, 6.233, 7.41",\
                 "2.747, 2.811, 2.977, 3.234, 3.593, 4.08, 4.72, 5.528, 6.513, 7.689");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1906, 0.2576, 0.4606, 0.8234, 1.393, 2.231, 3.353, 4.786, 6.533, 8.597",\
                 "0.1902, 0.2564, 0.4616, 0.8242, 1.394, 2.231, 3.357, 4.78, 6.52, 8.599",\
                 "0.1912, 0.2562, 0.4618, 0.8242, 1.394, 2.231, 3.356, 4.779, 6.52, 8.599",\
                 "0.1912, 0.2566, 0.4616, 0.824, 1.395, 2.232, 3.357, 4.777, 6.527, 8.609",\
                 "0.1922, 0.257, 0.4616, 0.8244, 1.396, 2.231, 3.357, 4.776, 6.522, 8.611",\
                 "0.1918, 0.2578, 0.4626, 0.8236, 1.396, 2.233, 3.357, 4.785, 6.525, 8.61",\
                 "0.1932, 0.2584, 0.463, 0.825, 1.395, 2.232, 3.357, 4.782, 6.518, 8.613",\
                 "0.196, 0.2598, 0.464, 0.8264, 1.395, 2.229, 3.356, 4.778, 6.525, 8.606",\
                 "0.1976, 0.263, 0.467, 0.828, 1.396, 2.232, 3.352, 4.776, 6.514, 8.59",\
                 "0.2014, 0.2652, 0.4688, 0.8298, 1.399, 2.231, 3.355, 4.775, 6.514, 8.59");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.195, 1.258, 1.422, 1.679, 2.039, 2.528, 3.169, 3.976, 4.962, 6.144",\
                 "1.213, 1.276, 1.44, 1.697, 2.057, 2.546, 3.187, 3.995, 4.981, 6.161",\
                 "1.279, 1.342, 1.506, 1.763, 2.123, 2.612, 3.253, 4.061, 5.047, 6.228",\
                 "1.403, 1.465, 1.63, 1.887, 2.247, 2.736, 3.376, 4.185, 5.171, 6.351",\
                 "1.565, 1.628, 1.793, 2.05, 2.409, 2.898, 3.539, 4.347, 5.334, 6.514",\
                 "1.755, 1.817, 1.982, 2.239, 2.598, 3.087, 3.727, 4.535, 5.523, 6.7",\
                 "1.969, 2.032, 2.197, 2.454, 2.813, 3.302, 3.942, 4.75, 5.737, 6.916",\
                 "2.208, 2.271, 2.436, 2.693, 3.052, 3.54, 4.18, 4.988, 5.976, 7.155",\
                 "2.468, 2.531, 2.696, 2.953, 3.313, 3.801, 4.44, 5.247, 6.232, 7.409",\
                 "2.747, 2.811, 2.976, 3.233, 3.592, 4.08, 4.719, 5.526, 6.511, 7.686");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1908, 0.2556, 0.4606, 0.8234, 1.396, 2.231, 3.357, 4.782, 6.52, 8.599",\
                 "0.1914, 0.257, 0.4622, 0.8244, 1.396, 2.231, 3.358, 4.778, 6.521, 8.599",\
                 "0.1914, 0.2562, 0.4616, 0.8256, 1.394, 2.231, 3.358, 4.776, 6.52, 8.599",\
                 "0.1904, 0.257, 0.4608, 0.8244, 1.395, 2.23, 3.358, 4.78, 6.522, 8.612",\
                 "0.1916, 0.2568, 0.4618, 0.8234, 1.396, 2.229, 3.357, 4.779, 6.524, 8.599",\
                 "0.1914, 0.259, 0.4628, 0.8238, 1.396, 2.232, 3.357, 4.783, 6.522, 8.604",\
                 "0.1934, 0.259, 0.4638, 0.8246, 1.395, 2.232, 3.356, 4.779, 6.526, 8.612",\
                 "0.1948, 0.26, 0.465, 0.8268, 1.395, 2.231, 3.352, 4.783, 6.533, 8.596",\
                 "0.1986, 0.2636, 0.4672, 0.8284, 1.396, 2.231, 3.353, 4.779, 6.519, 8.605",\
                 "0.2004, 0.266, 0.4688, 0.8294, 1.396, 2.231, 3.356, 4.776, 6.516, 8.59");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.652, 1.715, 1.88, 2.136, 2.496, 2.984, 3.624, 4.432, 5.418, 6.598",\
                 "1.668, 1.731, 1.896, 2.152, 2.511, 3, 3.64, 4.448, 5.435, 6.614",\
                 "1.73, 1.793, 1.958, 2.214, 2.574, 3.062, 3.702, 4.511, 5.498, 6.676",\
                 "1.865, 1.928, 2.093, 2.349, 2.708, 3.197, 3.837, 4.645, 5.631, 6.811",\
                 "2.087, 2.15, 2.315, 2.572, 2.931, 3.419, 4.06, 4.867, 5.854, 7.033",\
                 "2.389, 2.452, 2.616, 2.873, 3.232, 3.721, 4.361, 5.169, 6.156, 7.334",\
                 "2.744, 2.807, 2.972, 3.228, 3.587, 4.076, 4.716, 5.524, 6.512, 7.687",\
                 "3.153, 3.216, 3.381, 3.638, 3.997, 4.485, 5.125, 5.933, 6.921, 8.094",\
                 "3.624, 3.687, 3.852, 4.108, 4.467, 4.955, 5.595, 6.402, 7.388, 8.568",\
                 "4.156, 4.219, 4.384, 4.641, 5, 5.488, 6.127, 6.935, 7.92, 9.097");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1928, 0.2576, 0.4624, 0.8242, 1.396, 2.232, 3.356, 4.778, 6.519, 8.594",\
                 "0.1922, 0.2584, 0.4634, 0.8268, 1.396, 2.229, 3.356, 4.78, 6.525, 8.596",\
                 "0.1942, 0.2586, 0.4626, 0.8246, 1.397, 2.232, 3.357, 4.783, 6.522, 8.612",\
                 "0.1926, 0.2584, 0.4628, 0.8256, 1.394, 2.23, 3.356, 4.777, 6.52, 8.596",\
                 "0.1934, 0.2586, 0.4636, 0.8254, 1.395, 2.231, 3.356, 4.777, 6.52, 8.596",\
                 "0.1946, 0.259, 0.4632, 0.8248, 1.396, 2.23, 3.357, 4.778, 6.522, 8.613",\
                 "0.1928, 0.2598, 0.4626, 0.8254, 1.395, 2.232, 3.357, 4.783, 6.518, 8.601",\
                 "0.1944, 0.2598, 0.4644, 0.8258, 1.395, 2.232, 3.353, 4.788, 6.522, 8.595",\
                 "0.1948, 0.2606, 0.4644, 0.825, 1.395, 2.229, 3.356, 4.78, 6.528, 8.596",\
                 "0.1958, 0.2608, 0.4652, 0.8266, 1.398, 2.232, 3.352, 4.778, 6.512, 8.588");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.652, 1.715, 1.88, 2.136, 2.496, 2.984, 3.625, 4.432, 5.418, 6.596",\
                 "1.668, 1.731, 1.896, 2.153, 2.512, 3, 3.641, 4.449, 5.434, 6.613",\
                 "1.73, 1.793, 1.958, 2.215, 2.574, 3.062, 3.703, 4.51, 5.497, 6.676",\
                 "1.865, 1.928, 2.093, 2.349, 2.709, 3.197, 3.838, 4.645, 5.632, 6.811",\
                 "2.088, 2.151, 2.315, 2.572, 2.931, 3.419, 4.06, 4.868, 5.854, 7.034",\
                 "2.389, 2.452, 2.617, 2.873, 3.233, 3.721, 4.361, 5.17, 6.157, 7.335",\
                 "2.745, 2.808, 2.972, 3.229, 3.588, 4.076, 4.716, 5.524, 6.512, 7.687",\
                 "3.154, 3.217, 3.381, 3.638, 3.997, 4.486, 5.126, 5.933, 6.922, 8.097",\
                 "3.624, 3.688, 3.853, 4.109, 4.467, 4.956, 5.596, 6.402, 7.389, 8.566",\
                 "4.156, 4.219, 4.384, 4.641, 5.001, 5.488, 6.128, 6.935, 7.92, 9.097");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1928, 0.2576, 0.4624, 0.8252, 1.395, 2.231, 3.356, 4.776, 6.519, 8.603",\
                 "0.1932, 0.2584, 0.4624, 0.824, 1.397, 2.231, 3.357, 4.78, 6.522, 8.598",\
                 "0.1926, 0.2586, 0.4632, 0.8256, 1.395, 2.23, 3.356, 4.78, 6.524, 8.597",\
                 "0.1926, 0.2584, 0.463, 0.8254, 1.394, 2.23, 3.357, 4.776, 6.52, 8.596",\
                 "0.1936, 0.2588, 0.4624, 0.824, 1.395, 2.231, 3.357, 4.778, 6.519, 8.596",\
                 "0.1944, 0.2588, 0.4628, 0.8248, 1.396, 2.231, 3.357, 4.78, 6.528, 8.613",\
                 "0.1938, 0.2586, 0.4622, 0.825, 1.397, 2.232, 3.358, 4.779, 6.52, 8.601",\
                 "0.1942, 0.2598, 0.4642, 0.825, 1.395, 2.232, 3.357, 4.779, 6.521, 8.603",\
                 "0.194, 0.2598, 0.4634, 0.8258, 1.396, 2.231, 3.356, 4.78, 6.526, 8.604",\
                 "0.1952, 0.2602, 0.465, 0.8274, 1.397, 2.232, 3.354, 4.778, 6.518, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("1.652, 1.715, 1.88, 2.136, 2.496, 2.984, 3.625, 4.432, 5.418, 6.596",\
                 "1.668, 1.731, 1.896, 2.153, 2.512, 3, 3.641, 4.449, 5.434, 6.613",\
                 "1.73, 1.793, 1.958, 2.215, 2.574, 3.062, 3.703, 4.51, 5.497, 6.676",\
                 "1.865, 1.928, 2.093, 2.349, 2.709, 3.197, 3.838, 4.645, 5.632, 6.811",\
                 "2.088, 2.151, 2.315, 2.572, 2.931, 3.419, 4.06, 4.868, 5.854, 7.034",\
                 "2.389, 2.452, 2.617, 2.873, 3.233, 3.721, 4.361, 5.17, 6.157, 7.335",\
                 "2.745, 2.808, 2.972, 3.229, 3.588, 4.076, 4.716, 5.524, 6.512, 7.687",\
                 "3.154, 3.217, 3.381, 3.638, 3.997, 4.486, 5.126, 5.933, 6.922, 8.097",\
                 "3.624, 3.688, 3.853, 4.109, 4.467, 4.956, 5.596, 6.402, 7.389, 8.566",\
                 "4.156, 4.219, 4.384, 4.641, 5.001, 5.488, 6.128, 6.935, 7.92, 9.097");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01086, 0.04549, 0.1116, 0.2146, 0.3591, 0.5493, 0.7889, 1.081, 1.43");
          values("0.1928, 0.2576, 0.4624, 0.8242, 1.396, 2.232, 3.356, 4.778, 6.519, 8.594",\
                 "0.1922, 0.2584, 0.4634, 0.8268, 1.396, 2.229, 3.356, 4.78, 6.525, 8.596",\
                 "0.1942, 0.2586, 0.4626, 0.8246, 1.397, 2.232, 3.357, 4.783, 6.522, 8.612",\
                 "0.1926, 0.2584, 0.4628, 0.8256, 1.394, 2.23, 3.356, 4.777, 6.52, 8.596",\
                 "0.1934, 0.2586, 0.4636, 0.8254, 1.395, 2.231, 3.356, 4.777, 6.52, 8.596",\
                 "0.1946, 0.259, 0.4632, 0.8248, 1.396, 2.23, 3.357, 4.778, 6.522, 8.613",\
                 "0.1928, 0.2598, 0.4626, 0.8254, 1.395, 2.232, 3.357, 4.783, 6.518, 8.601",\
                 "0.1944, 0.2598, 0.4644, 0.8258, 1.395, 2.232, 3.353, 4.788, 6.522, 8.595",\
                 "0.1948, 0.2606, 0.4644, 0.825, 1.395, 2.229, 3.356, 4.78, 6.528, 8.596",\
                 "0.1958, 0.2608, 0.4652, 0.8266, 1.398, 2.232, 3.352, 4.778, 6.512, 8.588");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007169 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.692 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02025, 0.01964, 0.01937, 0.01934, 0.01934, 0.01936, 0.01936, \
                 0.01936, 0.0194, 0.01938");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01936, -0.01933, -0.0193, -0.0193, -0.01928, -0.01934, -0.01933, \
                 -0.01934, -0.01933, -0.01931");
        }
      }

      internal_power() {
        when : "!CLK&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01931, 0.01858, 0.01818, 0.01807, 0.01807, 0.01806, 0.01805, \
                 0.01804, 0.01803, 0.01802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01772, -0.018, -0.01845, -0.01872, -0.01884, -0.01897, -0.01901, \
                 -0.01904, -0.01906, -0.01908");
        }
      }

      internal_power() {
        when : "CLK&!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02085, 0.01978, 0.0194, 0.01936, 0.01936, 0.01937, 0.01938, \
                 0.01936, 0.01937, 0.01937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01937, -0.01935, -0.01932, -0.01931, -0.0193, -0.01933, -0.01933, \
                 -0.01933, -0.01932, -0.01932");
        }
      }

      internal_power() {
        when : "CLK&D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02078, 0.01971, 0.01938, 0.01933, 0.01935, 0.01938, 0.01937, \
                 0.01936, 0.01937, 0.01938");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01937, -0.01935, -0.01932, -0.01931, -0.0193, -0.01933, -0.01934, \
                 -0.01933, -0.01933, -0.01932");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : recovery_rising ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.458, -0.473, -0.522, -0.607, -0.687, -0.75, -0.799, -0.821, -0.823, -0.793",\
                 "-0.457, -0.469, -0.527, -0.614, -0.695, -0.754, -0.801, -0.822, -0.82, -0.796",\
                 "-0.471, -0.486, -0.535, -0.624, -0.703, -0.768, -0.818, -0.833, -0.834, -0.809",\
                 "-0.456, -0.476, -0.534, -0.62, -0.701, -0.761, -0.805, -0.836, -0.836, -0.808",\
                 "-0.265, -0.285, -0.348, -0.443, -0.531, -0.591, -0.639, -0.664, -0.65, -0.629",\
                 "0.135, 0.123, 0.054, -0.043, -0.127, -0.21, -0.251, -0.284, -0.276, -0.245",\
                 "0.749, 0.724, 0.647, 0.555, 0.428, 0.359, 0.299, 0.257, 0.269, 0.296",\
                 "1.529, 1.514, 1.43, 1.311, 1.19, 1.092, 1.032, 1.013, 0.989, 1.005",\
                 "2.51, 2.473, 2.406, 2.243, 2.108, 2, 1.935, 1.867, 1.883, 1.884",\
                 "3.678, 3.621, 3.534, 3.394, 3.216, 3.104, 3.016, 2.953, 2.962, 2.989");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : removal_rising ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.676, 0.685, 0.737, 0.826, 0.903, 0.969, 1.027, 1.057, 1.07, 1.054",\
                 "0.675, 0.691, 0.74, 0.826, 0.904, 0.972, 1.024, 1.055, 1.068, 1.053",\
                 "0.696, 0.711, 0.764, 0.845, 0.93, 0.992, 1.045, 1.075, 1.09, 1.072",\
                 "0.756, 0.775, 0.819, 0.904, 0.987, 1.054, 1.105, 1.131, 1.142, 1.128",\
                 "0.868, 0.88, 0.931, 1.014, 1.09, 1.161, 1.206, 1.242, 1.247, 1.232",\
                 "1.022, 1.038, 1.089, 1.17, 1.249, 1.312, 1.362, 1.395, 1.403, 1.39",\
                 "1.224, 1.23, 1.283, 1.373, 1.448, 1.514, 1.566, 1.598, 1.61, 1.596",\
                 "1.445, 1.459, 1.51, 1.595, 1.676, 1.738, 1.799, 1.831, 1.853, 1.844",\
                 "1.708, 1.717, 1.772, 1.855, 1.933, 1.998, 2.053, 2.096, 2.124, 2.125",\
                 "1.998, 2.013, 2.06, 2.146, 2.224, 2.296, 2.351, 2.401, 2.424, 2.431");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SETN" ;

        fall_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SETN" ;

        fall_constraint(scalar) {
          values("0.681");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SETN" ;

        fall_constraint(scalar) {
          values("0.676");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.149, -0.127, -0.092, -0.072, -0.055, -0.044, -0.047, -0.061, -0.102",\
                 "-0.166, -0.159, -0.131, -0.1, -0.077, -0.06, -0.047, -0.056, -0.072, -0.106",\
                 "-0.189, -0.183, -0.157, -0.123, -0.096, -0.074, -0.06, -0.062, -0.076, -0.113",\
                 "-0.226, -0.218, -0.195, -0.16, -0.127, -0.102, -0.084, -0.085, -0.099, -0.126",\
                 "-0.27, -0.263, -0.234, -0.2, -0.161, -0.136, -0.115, -0.106, -0.116, -0.144",\
                 "-0.301, -0.3, -0.27, -0.227, -0.188, -0.157, -0.133, -0.12, -0.133, -0.155",\
                 "-0.327, -0.322, -0.293, -0.255, -0.216, -0.177, -0.145, -0.13, -0.139, -0.16",\
                 "-0.331, -0.327, -0.304, -0.262, -0.219, -0.174, -0.143, -0.132, -0.125, -0.15",\
                 "-0.314, -0.314, -0.288, -0.25, -0.206, -0.161, -0.127, -0.105, -0.102, -0.118",\
                 "-0.278, -0.272, -0.251, -0.215, -0.165, -0.122, -0.083, -0.057, -0.053, -0.066");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.149, -0.127, -0.092, -0.072, -0.055, -0.044, -0.047, -0.061, -0.102",\
                 "-0.166, -0.159, -0.131, -0.1, -0.077, -0.06, -0.047, -0.056, -0.072, -0.106",\
                 "-0.189, -0.183, -0.157, -0.123, -0.096, -0.074, -0.06, -0.062, -0.076, -0.113",\
                 "-0.226, -0.218, -0.195, -0.16, -0.127, -0.102, -0.084, -0.085, -0.099, -0.126",\
                 "-0.27, -0.263, -0.234, -0.2, -0.161, -0.136, -0.115, -0.106, -0.116, -0.144",\
                 "-0.301, -0.3, -0.27, -0.227, -0.188, -0.157, -0.133, -0.12, -0.133, -0.155",\
                 "-0.327, -0.322, -0.293, -0.255, -0.216, -0.177, -0.145, -0.13, -0.139, -0.16",\
                 "-0.331, -0.327, -0.304, -0.262, -0.219, -0.174, -0.143, -0.132, -0.125, -0.15",\
                 "-0.314, -0.314, -0.288, -0.25, -0.206, -0.161, -0.127, -0.105, -0.102, -0.118",\
                 "-0.278, -0.272, -0.251, -0.215, -0.165, -0.122, -0.083, -0.057, -0.053, -0.066");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.109, -0.095, -0.068, -0.037, -0.034, -0.061, -0.12, -0.218, -0.355, -0.545",\
                 "-0.111, -0.104, -0.072, -0.042, -0.038, -0.065, -0.125, -0.223, -0.361, -0.551",\
                 "-0.119, -0.112, -0.078, -0.053, -0.044, -0.068, -0.123, -0.217, -0.357, -0.547",\
                 "-0.117, -0.102, -0.079, -0.046, -0.037, -0.058, -0.114, -0.212, -0.344, -0.534",\
                 "-0.099, -0.093, -0.06, -0.031, -0.02, -0.04, -0.093, -0.187, -0.334, -0.52",\
                 "-0.065, -0.053, -0.028, 0.007, 0.014, -0.005, -0.059, -0.154, -0.3, -0.491",\
                 "0.002, 0.013, 0.033, 0.064, 0.076, 0.059, 0.008, -0.091, -0.239, -0.438",\
                 "0.094, 0.103, 0.124, 0.159, 0.173, 0.154, 0.101, -0, -0.145, -0.35",\
                 "0.227, 0.232, 0.25, 0.283, 0.296, 0.284, 0.227, 0.132, -0.016, -0.217",\
                 "0.384, 0.389, 0.409, 0.44, 0.455, 0.447, 0.395, 0.302, 0.154, -0.051");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.109, -0.095, -0.068, -0.037, -0.034, -0.061, -0.12, -0.218, -0.355, -0.545",\
                 "-0.111, -0.104, -0.072, -0.042, -0.038, -0.065, -0.125, -0.223, -0.361, -0.551",\
                 "-0.119, -0.112, -0.078, -0.053, -0.044, -0.068, -0.123, -0.217, -0.357, -0.547",\
                 "-0.117, -0.102, -0.079, -0.046, -0.037, -0.058, -0.114, -0.212, -0.344, -0.534",\
                 "-0.099, -0.093, -0.06, -0.031, -0.02, -0.04, -0.093, -0.187, -0.334, -0.52",\
                 "-0.065, -0.053, -0.028, 0.007, 0.014, -0.005, -0.059, -0.154, -0.3, -0.491",\
                 "0.002, 0.013, 0.033, 0.064, 0.076, 0.059, 0.008, -0.091, -0.239, -0.438",\
                 "0.094, 0.103, 0.124, 0.159, 0.173, 0.154, 0.101, -0, -0.145, -0.35",\
                 "0.227, 0.232, 0.25, 0.283, 0.296, 0.284, 0.227, 0.132, -0.016, -0.217",\
                 "0.384, 0.389, 0.409, 0.44, 0.455, 0.447, 0.395, 0.302, 0.154, -0.051");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.343, 0.347, 0.342, 0.365, 0.437, 0.602, 0.845, 1.168, 1.596, 2.091",\
                 "0.356, 0.357, 0.35, 0.37, 0.448, 0.607, 0.853, 1.184, 1.605, 2.102",\
                 "0.372, 0.373, 0.37, 0.384, 0.462, 0.617, 0.857, 1.169, 1.573, 2.055",\
                 "0.417, 0.411, 0.41, 0.422, 0.492, 0.636, 0.853, 1.134, 1.515, 1.967",\
                 "0.464, 0.463, 0.452, 0.459, 0.512, 0.627, 0.802, 1.062, 1.384, 1.784",\
                 "0.497, 0.495, 0.488, 0.491, 0.521, 0.599, 0.753, 0.963, 1.243, 1.598",\
                 "0.521, 0.518, 0.511, 0.495, 0.508, 0.561, 0.678, 0.852, 1.084, 1.394",\
                 "0.526, 0.523, 0.516, 0.496, 0.494, 0.528, 0.622, 0.773, 0.989, 1.276",\
                 "0.512, 0.514, 0.503, 0.478, 0.471, 0.491, 0.564, 0.705, 0.91, 1.19",\
                 "0.471, 0.471, 0.455, 0.434, 0.416, 0.427, 0.49, 0.615, 0.818, 1.08");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.343, 0.347, 0.342, 0.365, 0.437, 0.602, 0.845, 1.174, 1.596, 2.096",\
                 "0.356, 0.357, 0.35, 0.37, 0.448, 0.607, 0.853, 1.184, 1.605, 2.102",\
                 "0.372, 0.373, 0.37, 0.384, 0.462, 0.617, 0.857, 1.169, 1.573, 2.05",\
                 "0.417, 0.411, 0.41, 0.422, 0.492, 0.636, 0.853, 1.141, 1.515, 1.962",\
                 "0.464, 0.463, 0.452, 0.459, 0.512, 0.627, 0.802, 1.054, 1.393, 1.784",\
                 "0.497, 0.495, 0.488, 0.483, 0.512, 0.588, 0.739, 0.946, 1.227, 1.572",\
                 "0.521, 0.518, 0.511, 0.495, 0.508, 0.561, 0.678, 0.852, 1.09, 1.387",\
                 "0.526, 0.523, 0.51, 0.496, 0.494, 0.528, 0.622, 0.773, 0.996, 1.268",\
                 "0.512, 0.514, 0.503, 0.478, 0.471, 0.491, 0.564, 0.712, 0.91, 1.19",\
                 "0.471, 0.466, 0.456, 0.434, 0.416, 0.427, 0.49, 0.615, 0.818, 1.095");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.265, 0.272, 0.32, 0.429, 0.619, 0.896, 1.256, 1.716, 2.268",\
                 "0.274, 0.27, 0.279, 0.332, 0.44, 0.631, 0.904, 1.262, 1.725, 2.275",\
                 "0.281, 0.278, 0.284, 0.332, 0.444, 0.629, 0.903, 1.256, 1.706, 2.248",\
                 "0.29, 0.295, 0.294, 0.337, 0.444, 0.621, 0.873, 1.208, 1.637, 2.158",\
                 "0.278, 0.278, 0.278, 0.306, 0.391, 0.557, 0.779, 1.084, 1.479, 1.962",\
                 "0.232, 0.229, 0.226, 0.242, 0.311, 0.437, 0.652, 0.921, 1.285, 1.72",\
                 "0.158, 0.15, 0.139, 0.146, 0.182, 0.285, 0.46, 0.715, 1.031, 1.43",\
                 "0.042, 0.04, 0.031, 0.022, 0.05, 0.124, 0.28, 0.521, 0.834, 1.212",\
                 "-0.092, -0.088, -0.101, -0.108, -0.097, -0.028, 0.097, 0.341, 0.661, 1.037",\
                 "-0.248, -0.252, -0.263, -0.271, -0.258, -0.201, -0.088, 0.137, 0.476, 0.85");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.265, 0.272, 0.32, 0.429, 0.619, 0.896, 1.256, 1.716, 2.268",\
                 "0.274, 0.27, 0.279, 0.332, 0.44, 0.631, 0.904, 1.262, 1.725, 2.275",\
                 "0.281, 0.278, 0.284, 0.332, 0.444, 0.629, 0.903, 1.256, 1.706, 2.248",\
                 "0.29, 0.295, 0.294, 0.337, 0.444, 0.621, 0.873, 1.208, 1.637, 2.158",\
                 "0.278, 0.278, 0.278, 0.306, 0.391, 0.557, 0.779, 1.084, 1.479, 1.962",\
                 "0.232, 0.229, 0.226, 0.242, 0.311, 0.437, 0.652, 0.921, 1.285, 1.72",\
                 "0.158, 0.15, 0.139, 0.146, 0.182, 0.285, 0.46, 0.715, 1.031, 1.43",\
                 "0.042, 0.04, 0.031, 0.022, 0.05, 0.124, 0.28, 0.521, 0.834, 1.212",\
                 "-0.092, -0.096, -0.101, -0.108, -0.097, -0.028, 0.097, 0.341, 0.661, 1.037",\
                 "-0.248, -0.252, -0.263, -0.271, -0.258, -0.201, -0.088, 0.137, 0.476, 0.85");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006343 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 1.007 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1537, 0.1529, 0.1531, 0.159, 0.1724, 0.1945, 0.2265, 0.269, \
                 0.3225, 0.3877");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05052, 0.05004, 0.05094, 0.05618, 0.06761, 0.08658, 0.1141, \
                 0.1509, 0.1975, 0.2544");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0704, 0.06969, 0.06927, 0.07187, 0.07774, 0.08717, 0.1005, 0.1179, \
                 0.1399, 0.1667");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008357, 0.008269, 0.008649, 0.01052, 0.01493, 0.02234, 0.03324, \
                 0.04786, 0.06641, 0.08903");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1034, 0.1032, 0.1038, 0.1072, 0.1146, 0.1274, 0.146, 0.1709, \
                 0.2023, 0.2407");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02881, 0.02843, 0.02894, 0.03217, 0.0391, 0.05046, 0.06693, \
                 0.08897, 0.1169, 0.1511");
        }
      }

      internal_power() {
        when : "!CLK&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01751, 0.01747, 0.01742, 0.01744, 0.01743, 0.01745, 0.01746, \
                 0.01747, 0.01746, 0.01746");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01055, -0.01054, -0.01053, -0.01057, -0.01056, -0.01061, -0.01062, \
                 -0.01062, -0.01063, -0.01066");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1537, 0.153, 0.1536, 0.1599, 0.1743, 0.1977, 0.2304, 0.2733, \
                 0.327, 0.3921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04849, 0.04795, 0.04881, 0.05443, 0.06657, 0.08628, 0.1144, \
                 0.1516, 0.1983, 0.2553");
        }
      }

      internal_power() {
        when : "CLK&!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01752, 0.01747, 0.01745, 0.01742, 0.01743, 0.01745, 0.01744, \
                 0.01746, 0.01746, 0.01745");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01055, -0.01054, -0.01052, -0.01054, -0.01055, -0.0106, -0.01061, \
                 -0.01062, -0.01064, -0.01066");
        }
      }

      internal_power() {
        when : "CLK&D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1537, 0.153, 0.1536, 0.1599, 0.1743, 0.1977, 0.2304, 0.2733, \
                 0.327, 0.3921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04849, 0.04795, 0.04881, 0.05443, 0.06655, 0.08627, 0.1144, \
                 0.1516, 0.1983, 0.2553");
        }
      }

      internal_power() {
        when : "CLK&D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01751, 0.01747, 0.0174, 0.01745, 0.01743, 0.01746, 0.01743, \
                 0.01746, 0.01746, 0.01746");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01054, -0.01054, -0.01052, -0.01054, -0.01055, -0.0106, -0.01061, \
                 -0.01062, -0.01065, -0.01065");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : recovery_rising ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.143, -0.152, -0.211, -0.298, -0.374, -0.422, -0.462, -0.473, -0.449, -0.408",\
                 "-0.129, -0.143, -0.201, -0.286, -0.363, -0.418, -0.45, -0.464, -0.443, -0.398",\
                 "-0.09, -0.101, -0.157, -0.247, -0.321, -0.372, -0.411, -0.422, -0.396, -0.358",\
                 "-0.019, -0.023, -0.088, -0.168, -0.247, -0.3, -0.335, -0.349, -0.329, -0.288",\
                 "0.092, 0.085, 0.026, -0.063, -0.148, -0.197, -0.233, -0.249, -0.225, -0.188",\
                 "0.25, 0.247, 0.169, 0.067, -0.022, -0.07, -0.116, -0.132, -0.109, -0.064",\
                 "0.589, 0.604, 0.493, 0.356, 0.262, 0.177, 0.105, 0.081, 0.103, 0.124",\
                 "1.11, 1.114, 0.97, 0.824, 0.694, 0.646, 0.544, 0.498, 0.51, 0.51",\
                 "1.73, 1.742, 1.587, 1.439, 1.228, 1.188, 1.096, 1.05, 1.081, 1.082",\
                 "2.439, 2.468, 2.29, 2.118, 1.929, 1.843, 1.703, 1.661, 1.755, 1.715");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : removal_rising ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.504, 0.521, 0.57, 0.653, 0.731, 0.785, 0.825, 0.845, 0.839, 0.804",\
                 "0.497, 0.508, 0.556, 0.642, 0.717, 0.777, 0.818, 0.834, 0.827, 0.791",\
                 "0.46, 0.474, 0.52, 0.607, 0.677, 0.736, 0.782, 0.796, 0.793, 0.756",\
                 "0.42, 0.428, 0.483, 0.567, 0.638, 0.695, 0.735, 0.757, 0.749, 0.714",\
                 "0.392, 0.401, 0.453, 0.534, 0.606, 0.67, 0.708, 0.723, 0.717, 0.684",\
                 "0.378, 0.389, 0.444, 0.526, 0.6, 0.653, 0.696, 0.713, 0.706, 0.672",\
                 "0.406, 0.416, 0.468, 0.544, 0.619, 0.672, 0.711, 0.729, 0.718, 0.682",\
                 "0.466, 0.48, 0.528, 0.606, 0.677, 0.727, 0.764, 0.778, 0.766, 0.727",\
                 "0.57, 0.585, 0.638, 0.71, 0.778, 0.829, 0.865, 0.874, 0.863, 0.818",\
                 "0.717, 0.729, 0.779, 0.859, 0.925, 0.977, 1.009, 1.021, 1.001, 0.957");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.343, 0.356, 0.372, 0.417, 0.464, 0.497, 0.521, 0.526, 0.512, 0.471",\
                 "0.347, 0.357, 0.373, 0.411, 0.463, 0.495, 0.518, 0.523, 0.514, 0.471",\
                 "0.342, 0.35, 0.37, 0.41, 0.452, 0.488, 0.511, 0.516, 0.503, 0.455",\
                 "0.365, 0.37, 0.384, 0.422, 0.459, 0.491, 0.495, 0.496, 0.478, 0.434",\
                 "0.437, 0.448, 0.462, 0.492, 0.512, 0.521, 0.508, 0.494, 0.471, 0.416",\
                 "0.602, 0.607, 0.617, 0.636, 0.627, 0.599, 0.561, 0.528, 0.491, 0.427",\
                 "0.845, 0.853, 0.857, 0.853, 0.802, 0.753, 0.678, 0.622, 0.564, 0.49",\
                 "1.168, 1.184, 1.169, 1.134, 1.062, 0.963, 0.852, 0.773, 0.705, 0.615",\
                 "1.596, 1.605, 1.573, 1.515, 1.384, 1.243, 1.084, 0.989, 0.91, 0.818",\
                 "2.091, 2.102, 2.055, 1.967, 1.784, 1.598, 1.394, 1.276, 1.19, 1.08");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.343, 0.356, 0.372, 0.417, 0.464, 0.497, 0.521, 0.526, 0.512, 0.471",\
                 "0.347, 0.357, 0.373, 0.411, 0.463, 0.495, 0.518, 0.523, 0.514, 0.466",\
                 "0.342, 0.35, 0.37, 0.41, 0.452, 0.488, 0.511, 0.51, 0.503, 0.456",\
                 "0.365, 0.37, 0.384, 0.422, 0.459, 0.483, 0.495, 0.496, 0.478, 0.434",\
                 "0.437, 0.448, 0.462, 0.492, 0.512, 0.512, 0.508, 0.494, 0.471, 0.416",\
                 "0.602, 0.607, 0.617, 0.636, 0.627, 0.588, 0.561, 0.528, 0.491, 0.427",\
                 "0.845, 0.853, 0.857, 0.853, 0.802, 0.739, 0.678, 0.622, 0.564, 0.49",\
                 "1.174, 1.184, 1.169, 1.141, 1.054, 0.946, 0.852, 0.773, 0.712, 0.615",\
                 "1.596, 1.605, 1.573, 1.515, 1.393, 1.227, 1.09, 0.996, 0.91, 0.818",\
                 "2.096, 2.102, 2.05, 1.962, 1.784, 1.572, 1.387, 1.268, 1.19, 1.095");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.274, 0.281, 0.29, 0.278, 0.232, 0.158, 0.042, -0.092, -0.248",\
                 "0.265, 0.27, 0.278, 0.295, 0.278, 0.229, 0.15, 0.04, -0.088, -0.252",\
                 "0.272, 0.279, 0.284, 0.294, 0.278, 0.226, 0.139, 0.031, -0.101, -0.263",\
                 "0.32, 0.332, 0.332, 0.337, 0.306, 0.242, 0.146, 0.022, -0.108, -0.271",\
                 "0.429, 0.44, 0.444, 0.444, 0.391, 0.311, 0.182, 0.05, -0.097, -0.258",\
                 "0.619, 0.631, 0.629, 0.621, 0.557, 0.437, 0.285, 0.124, -0.028, -0.201",\
                 "0.896, 0.904, 0.903, 0.873, 0.779, 0.652, 0.46, 0.28, 0.097, -0.088",\
                 "1.256, 1.262, 1.256, 1.208, 1.084, 0.921, 0.715, 0.521, 0.341, 0.137",\
                 "1.716, 1.725, 1.706, 1.637, 1.479, 1.285, 1.031, 0.834, 0.661, 0.476",\
                 "2.268, 2.275, 2.248, 2.158, 1.962, 1.72, 1.43, 1.212, 1.037, 0.85");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.274, 0.281, 0.29, 0.278, 0.232, 0.158, 0.042, -0.092, -0.248",\
                 "0.265, 0.27, 0.278, 0.295, 0.278, 0.229, 0.15, 0.04, -0.096, -0.252",\
                 "0.272, 0.279, 0.284, 0.294, 0.278, 0.226, 0.139, 0.031, -0.101, -0.263",\
                 "0.32, 0.332, 0.332, 0.337, 0.306, 0.242, 0.146, 0.022, -0.108, -0.271",\
                 "0.429, 0.44, 0.444, 0.444, 0.391, 0.311, 0.182, 0.05, -0.097, -0.258",\
                 "0.619, 0.631, 0.629, 0.621, 0.557, 0.437, 0.285, 0.124, -0.028, -0.201",\
                 "0.896, 0.904, 0.903, 0.873, 0.779, 0.652, 0.46, 0.28, 0.097, -0.088",\
                 "1.256, 1.262, 1.256, 1.208, 1.084, 0.921, 0.715, 0.521, 0.341, 0.137",\
                 "1.716, 1.725, 1.706, 1.637, 1.479, 1.285, 1.031, 0.834, 0.661, 0.476",\
                 "2.268, 2.275, 2.248, 2.158, 1.962, 1.72, 1.43, 1.212, 1.037, 0.85");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.166, -0.189, -0.226, -0.27, -0.301, -0.327, -0.331, -0.314, -0.278",\
                 "-0.149, -0.159, -0.183, -0.218, -0.263, -0.3, -0.322, -0.327, -0.314, -0.272",\
                 "-0.127, -0.131, -0.157, -0.195, -0.234, -0.27, -0.293, -0.304, -0.288, -0.251",\
                 "-0.092, -0.1, -0.123, -0.16, -0.2, -0.227, -0.255, -0.262, -0.25, -0.215",\
                 "-0.072, -0.077, -0.096, -0.127, -0.161, -0.188, -0.216, -0.219, -0.206, -0.165",\
                 "-0.055, -0.06, -0.074, -0.102, -0.136, -0.157, -0.177, -0.174, -0.161, -0.122",\
                 "-0.044, -0.047, -0.06, -0.084, -0.115, -0.133, -0.145, -0.143, -0.127, -0.083",\
                 "-0.047, -0.056, -0.062, -0.085, -0.106, -0.12, -0.13, -0.132, -0.105, -0.057",\
                 "-0.061, -0.072, -0.076, -0.099, -0.116, -0.133, -0.139, -0.125, -0.102, -0.053",\
                 "-0.102, -0.106, -0.113, -0.126, -0.144, -0.155, -0.16, -0.15, -0.118, -0.066");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.166, -0.189, -0.226, -0.27, -0.301, -0.327, -0.331, -0.314, -0.278",\
                 "-0.149, -0.159, -0.183, -0.218, -0.263, -0.3, -0.322, -0.327, -0.314, -0.272",\
                 "-0.127, -0.131, -0.157, -0.195, -0.234, -0.27, -0.293, -0.304, -0.288, -0.251",\
                 "-0.092, -0.1, -0.123, -0.16, -0.2, -0.227, -0.255, -0.262, -0.25, -0.215",\
                 "-0.072, -0.077, -0.096, -0.127, -0.161, -0.188, -0.216, -0.219, -0.206, -0.165",\
                 "-0.055, -0.06, -0.074, -0.102, -0.136, -0.157, -0.177, -0.174, -0.161, -0.122",\
                 "-0.044, -0.047, -0.06, -0.084, -0.115, -0.133, -0.145, -0.143, -0.127, -0.083",\
                 "-0.047, -0.056, -0.062, -0.085, -0.106, -0.12, -0.13, -0.132, -0.105, -0.057",\
                 "-0.061, -0.072, -0.076, -0.099, -0.116, -0.133, -0.139, -0.125, -0.102, -0.053",\
                 "-0.102, -0.106, -0.113, -0.126, -0.144, -0.155, -0.16, -0.15, -0.118, -0.066");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.109, -0.111, -0.119, -0.117, -0.099, -0.065, 0.002, 0.094, 0.227, 0.384",\
                 "-0.095, -0.104, -0.112, -0.102, -0.093, -0.053, 0.013, 0.103, 0.232, 0.389",\
                 "-0.068, -0.072, -0.078, -0.079, -0.06, -0.028, 0.033, 0.124, 0.25, 0.409",\
                 "-0.037, -0.042, -0.053, -0.046, -0.031, 0.007, 0.064, 0.159, 0.283, 0.44",\
                 "-0.034, -0.038, -0.044, -0.037, -0.02, 0.014, 0.076, 0.173, 0.296, 0.455",\
                 "-0.061, -0.065, -0.068, -0.058, -0.04, -0.005, 0.059, 0.154, 0.284, 0.447",\
                 "-0.12, -0.125, -0.123, -0.114, -0.093, -0.059, 0.008, 0.101, 0.227, 0.395",\
                 "-0.218, -0.223, -0.217, -0.212, -0.187, -0.154, -0.091, 0, 0.132, 0.302",\
                 "-0.355, -0.361, -0.357, -0.344, -0.334, -0.3, -0.239, -0.145, -0.016, 0.154",\
                 "-0.545, -0.551, -0.547, -0.534, -0.52, -0.491, -0.438, -0.35, -0.217, -0.051");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.109, -0.111, -0.119, -0.117, -0.099, -0.065, 0.002, 0.094, 0.227, 0.384",\
                 "-0.095, -0.104, -0.112, -0.102, -0.093, -0.053, 0.013, 0.103, 0.232, 0.389",\
                 "-0.068, -0.072, -0.078, -0.079, -0.06, -0.028, 0.033, 0.124, 0.25, 0.409",\
                 "-0.037, -0.042, -0.053, -0.046, -0.031, 0.007, 0.064, 0.159, 0.283, 0.44",\
                 "-0.034, -0.038, -0.044, -0.037, -0.02, 0.014, 0.076, 0.173, 0.296, 0.455",\
                 "-0.061, -0.065, -0.068, -0.058, -0.04, -0.005, 0.059, 0.154, 0.284, 0.447",\
                 "-0.12, -0.125, -0.123, -0.114, -0.093, -0.059, 0.008, 0.101, 0.227, 0.395",\
                 "-0.218, -0.223, -0.217, -0.212, -0.187, -0.154, -0.091, 0, 0.132, 0.302",\
                 "-0.355, -0.361, -0.357, -0.344, -0.334, -0.3, -0.239, -0.145, -0.016, 0.154",\
                 "-0.545, -0.551, -0.547, -0.534, -0.52, -0.491, -0.438, -0.35, -0.217, -0.051");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN" ;

        fall_constraint(scalar) {
          values("0.839");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN" ;

        fall_constraint(scalar) {
          values("0.839");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN" ;

        fall_constraint(scalar) {
          values("1.007");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN" ;

        fall_constraint(scalar) {
          values("1.007");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffsnq_1) {
    area : 79.027200 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SETN" ;
      value : "0.0001794903" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SETN" ;
      value : "0.0002792229" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SETN" ;
      value : "0.0001774806" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SETN" ;
      value : "0.0002735766" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SETN" ;
      value : "0.0001941852" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SETN" ;
      value : "0.0002420022" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SETN" ;
      value : "0.0001929279" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SETN" ;
      value : "0.0002845326" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002845326" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003361 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.555 ;
      min_pulse_width_high : 0.686 ;
      min_pulse_width_low : 0.663 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1881, 0.1876, 0.1883, 0.1947, 0.2082, 0.2287, 0.2572, 0.2941, \
                 0.3393, 0.3936");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1265, 0.1262, 0.1267, 0.1314, 0.1411, 0.1572, 0.1802, 0.2105, \
                 0.2481, 0.2936");
        }
      }

      internal_power() {
        when : "!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1285, 0.1281, 0.1288, 0.1343, 0.1459, 0.1644, 0.1904, 0.2244, \
                 0.267, 0.3181");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1008, 0.1004, 0.1009, 0.1054, 0.1149, 0.1309, 0.1536, 0.1836, \
                 0.221, 0.2662");
        }
      }

      internal_power() {
        when : "D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.128, 0.1276, 0.1283, 0.1338, 0.1455, 0.1639, 0.1899, 0.2241, \
                 0.2664, 0.3175");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1033, 0.103, 0.1034, 0.108, 0.1173, 0.1333, 0.1561, 0.186, 0.2235, \
                 0.2686");
        }
      }

      internal_power() {
        when : "D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.128, 0.1276, 0.1283, 0.1338, 0.1455, 0.1639, 0.19, 0.224, 0.2664, \
                 0.3176");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1032, 0.103, 0.1034, 0.108, 0.1174, 0.1333, 0.1561, 0.1861, \
                 0.2235, 0.2685");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SETN" ;

        fall_constraint(scalar) {
          values("0.663");
        }

        rise_constraint(scalar) {
          values("0.639");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SETN" ;

        fall_constraint(scalar) {
          values("0.584");
        }

        rise_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SETN" ;

        rise_constraint(scalar) {
          values("1.426");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SETN" ;

        rise_constraint(scalar) {
          values("1.555");
        }
      }
    }

    pin(D) {
      capacitance : 0.002597 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06513, 0.06484, 0.06574, 0.06964, 0.07744, 0.08978, 0.1072, \
                 0.1301, 0.1588, 0.1937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02414, 0.024, 0.02486, 0.02798, 0.03422, 0.0443, 0.05872, 0.07787, \
                 0.1021, 0.1317");
        }
      }

      internal_power() {
        when : "!CLK&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09138, 0.0911, 0.09203, 0.09632, 0.1053, 0.1192, 0.1387, 0.1643, \
                 0.1962, 0.2346");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07816, 0.07801, 0.07886, 0.08238, 0.08927, 0.1005, 0.1164, 0.1376, \
                 0.1641, 0.1964");
        }
      }

      internal_power() {
        when : "CLK&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02486, 0.02432, 0.02609, 0.03154, 0.04121, 0.05547, 0.07471, \
                 0.09928, 0.1296, 0.1659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002842, 0.002615, 0.003625, 0.007734, 0.01557, 0.02758, 0.04389, \
                 0.06483, 0.09071, 0.1217");
        }
      }

      internal_power() {
        when : "CLK&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02486, 0.02431, 0.02609, 0.03154, 0.04119, 0.05543, 0.0747, \
                 0.09927, 0.1296, 0.1659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002844, 0.002595, 0.003631, 0.007716, 0.01559, 0.02758, 0.04388, \
                 0.06485, 0.0907, 0.1217");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.011, 0.028, 0.077, 0.153, 0.219, 0.261, 0.285, 0.29, 0.274, 0.226",\
                 "-0.001, 0.007, 0.059, 0.141, 0.201, 0.241, 0.27, 0.272, 0.257, 0.209",\
                 "-0.071, -0.059, -0.008, 0.068, 0.13, 0.175, 0.203, 0.211, 0.189, 0.144",\
                 "-0.198, -0.18, -0.131, -0.061, 0.005, 0.052, 0.086, 0.089, 0.067, 0.025",\
                 "-0.36, -0.34, -0.295, -0.221, -0.154, -0.11, -0.081, -0.076, -0.088, -0.132",\
                 "-0.555, -0.542, -0.494, -0.424, -0.363, -0.318, -0.288, -0.28, -0.3, -0.343",\
                 "-0.791, -0.776, -0.728, -0.666, -0.61, -0.567, -0.533, -0.53, -0.553, -0.595",\
                 "-1.063, -1.049, -1.006, -0.943, -0.893, -0.856, -0.827, -0.824, -0.848, -0.884",\
                 "-1.365, -1.35, -1.306, -1.255, -1.209, -1.183, -1.155, -1.158, -1.183, -1.217",\
                 "-1.699, -1.687, -1.645, -1.609, -1.565, -1.544, -1.524, -1.532, -1.557, -1.601");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.074, -0.061, -0.025, 0.017, 0.047, 0.048, 0.04, 0.007, -0.045, -0.123",\
                 "-0.09, -0.072, -0.036, 0.006, 0.031, 0.041, 0.03, -0.002, -0.056, -0.137",\
                 "-0.13, -0.118, -0.078, -0.036, -0.009, 0.003, -0.006, -0.037, -0.093, -0.172",\
                 "-0.171, -0.16, -0.12, -0.076, -0.047, -0.036, -0.044, -0.078, -0.134, -0.215",\
                 "-0.188, -0.178, -0.138, -0.094, -0.067, -0.057, -0.07, -0.106, -0.154, -0.24",\
                 "-0.186, -0.171, -0.13, -0.088, -0.065, -0.054, -0.066, -0.104, -0.164, -0.246",\
                 "-0.142, -0.124, -0.085, -0.046, -0.027, -0.022, -0.032, -0.071, -0.133, -0.224",\
                 "-0.06, -0.046, -0.006, 0.032, 0.047, 0.053, 0.032, -0.006, -0.071, -0.158",\
                 "0.06, 0.079, 0.117, 0.151, 0.173, 0.164, 0.139, 0.098, 0.031, -0.064",\
                 "0.233, 0.247, 0.285, 0.311, 0.324, 0.317, 0.288, 0.247, 0.172, 0.072");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.355, 0.347, 0.299, 0.238, 0.191, 0.165, 0.154, 0.171, 0.235, 0.358",\
                 "0.377, 0.365, 0.32, 0.254, 0.208, 0.177, 0.167, 0.187, 0.24, 0.383",\
                 "0.442, 0.438, 0.386, 0.321, 0.288, 0.247, 0.241, 0.261, 0.324, 0.457",\
                 "0.58, 0.575, 0.526, 0.46, 0.412, 0.38, 0.374, 0.393, 0.449, 0.563",\
                 "0.768, 0.756, 0.712, 0.649, 0.599, 0.565, 0.551, 0.566, 0.627, 0.729",\
                 "1.004, 0.99, 0.947, 0.878, 0.828, 0.799, 0.78, 0.794, 0.84, 0.925",\
                 "1.288, 1.281, 1.226, 1.165, 1.114, 1.073, 1.058, 1.067, 1.114, 1.188",\
                 "1.618, 1.604, 1.554, 1.485, 1.442, 1.404, 1.393, 1.396, 1.435, 1.507",\
                 "1.993, 1.983, 1.934, 1.858, 1.814, 1.775, 1.764, 1.772, 1.805, 1.875",\
                 "2.413, 2.405, 2.354, 2.28, 2.233, 2.198, 2.188, 2.195, 2.233, 2.293");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.378, 0.368, 0.305, 0.211, 0.161, 0.125, 0.12, 0.147, 0.196, 0.274",\
                 "0.391, 0.381, 0.314, 0.235, 0.177, 0.142, 0.141, 0.157, 0.208, 0.284",\
                 "0.436, 0.426, 0.362, 0.274, 0.218, 0.183, 0.178, 0.199, 0.25, 0.323",\
                 "0.49, 0.488, 0.416, 0.33, 0.265, 0.234, 0.224, 0.246, 0.291, 0.366",\
                 "0.531, 0.525, 0.452, 0.37, 0.303, 0.268, 0.253, 0.269, 0.324, 0.395",\
                 "0.549, 0.536, 0.468, 0.381, 0.32, 0.27, 0.261, 0.281, 0.326, 0.408",\
                 "0.538, 0.518, 0.465, 0.376, 0.302, 0.251, 0.242, 0.257, 0.31, 0.388",\
                 "0.485, 0.47, 0.41, 0.322, 0.257, 0.2, 0.183, 0.206, 0.253, 0.334",\
                 "0.393, 0.378, 0.321, 0.233, 0.158, 0.108, 0.097, 0.111, 0.163, 0.244",\
                 "0.268, 0.251, 0.193, 0.098, 0.034, -0.026, -0.038, -0.015, 0.035, 0.113");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3584 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1343, 0.1332, 0.1319, 0.1313, 0.131, 0.1308, 0.1307, 0.1307, 0.1306, 0.1306",\
                 "0.1344, 0.1333, 0.132, 0.1313, 0.131, 0.1309, 0.1308, 0.1307, 0.1307, 0.1307",\
                 "0.1343, 0.1333, 0.1319, 0.1313, 0.131, 0.1309, 0.1308, 0.1307, 0.1307, 0.1307",\
                 "0.1348, 0.1338, 0.1324, 0.1318, 0.1315, 0.1314, 0.1313, 0.1312, 0.1312, 0.1312",\
                 "0.1355, 0.1345, 0.1332, 0.1326, 0.1323, 0.1321, 0.132, 0.132, 0.1319, 0.1319",\
                 "0.1363, 0.1352, 0.1339, 0.1333, 0.133, 0.1328, 0.1327, 0.1327, 0.1326, 0.1326",\
                 "0.1373, 0.1362, 0.1349, 0.1343, 0.134, 0.1338, 0.1337, 0.1337, 0.1336, 0.1336",\
                 "0.1383, 0.1372, 0.1358, 0.1352, 0.135, 0.1348, 0.1347, 0.1346, 0.1346, 0.1346",\
                 "0.1394, 0.1383, 0.137, 0.1362, 0.1359, 0.1358, 0.1357, 0.1357, 0.1357, 0.1357",\
                 "0.1404, 0.1394, 0.138, 0.1374, 0.1371, 0.137, 0.1369, 0.1368, 0.1368, 0.1367");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1652, 0.1642, 0.1631, 0.1629, 0.163, 0.1637, 0.1643, 0.1648, 0.1653, 0.1699",\
                 "0.1652, 0.1644, 0.1632, 0.163, 0.1632, 0.1638, 0.1646, 0.1653, 0.1661, 0.1695",\
                 "0.1651, 0.1643, 0.1632, 0.1629, 0.1629, 0.1637, 0.1642, 0.1648, 0.1662, 0.1702",\
                 "0.1654, 0.1645, 0.1633, 0.1631, 0.1632, 0.164, 0.1645, 0.1651, 0.1656, 0.1705",\
                 "0.166, 0.1652, 0.1641, 0.1637, 0.1639, 0.1647, 0.1651, 0.1657, 0.1663, 0.172",\
                 "0.1666, 0.1658, 0.1645, 0.1645, 0.1646, 0.1654, 0.1658, 0.1662, 0.1677, 0.1738",\
                 "0.168, 0.1669, 0.1659, 0.1657, 0.1663, 0.1669, 0.1671, 0.1677, 0.1688, 0.1778",\
                 "0.1691, 0.1683, 0.167, 0.1668, 0.1669, 0.168, 0.1689, 0.1697, 0.1706, 0.1816",\
                 "0.1708, 0.1699, 0.1687, 0.1686, 0.1682, 0.1689, 0.17, 0.1719, 0.1736, 0.1889",\
                 "0.1732, 0.1723, 0.1712, 0.1707, 0.1706, 0.1709, 0.1715, 0.1734, 0.1776, 0.2011");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1563, 0.1555, 0.1546, 0.1543, 0.1545, 0.1551, 0.1556, 0.1562, 0.1573, 0.1615",\
                 "0.1562, 0.1554, 0.1543, 0.1541, 0.1544, 0.1551, 0.1556, 0.1561, 0.1571, 0.1618",\
                 "0.1568, 0.1561, 0.1551, 0.1547, 0.1549, 0.1557, 0.1562, 0.1572, 0.1575, 0.1615",\
                 "0.1613, 0.1605, 0.1596, 0.1591, 0.1593, 0.16, 0.1606, 0.1615, 0.1622, 0.167",\
                 "0.1713, 0.1705, 0.1693, 0.1689, 0.1692, 0.1697, 0.1703, 0.1711, 0.1719, 0.177",\
                 "0.1879, 0.187, 0.1856, 0.1853, 0.1852, 0.1856, 0.1862, 0.1866, 0.1878, 0.195",\
                 "0.2112, 0.2101, 0.2086, 0.2076, 0.2081, 0.2083, 0.2089, 0.2093, 0.211, 0.2199",\
                 "0.2379, 0.237, 0.235, 0.2335, 0.2337, 0.2347, 0.2352, 0.2357, 0.2365, 0.249",\
                 "0.2675, 0.2663, 0.2642, 0.2631, 0.2622, 0.2624, 0.264, 0.2651, 0.2667, 0.2856",\
                 "0.2997, 0.2985, 0.2961, 0.2944, 0.294, 0.2935, 0.2945, 0.2964, 0.3005, 0.3328");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1563, 0.1555, 0.1546, 0.1543, 0.1545, 0.1551, 0.1556, 0.1562, 0.1573, 0.1615",\
                 "0.1562, 0.1554, 0.1543, 0.1541, 0.1544, 0.1551, 0.1556, 0.1561, 0.1571, 0.1618",\
                 "0.1568, 0.1561, 0.1551, 0.1547, 0.1549, 0.1557, 0.1562, 0.1572, 0.1575, 0.1615",\
                 "0.1613, 0.1605, 0.1596, 0.1591, 0.1593, 0.16, 0.1606, 0.1615, 0.1622, 0.167",\
                 "0.1713, 0.1705, 0.1693, 0.1689, 0.1692, 0.1697, 0.1703, 0.1711, 0.1719, 0.177",\
                 "0.1879, 0.187, 0.1856, 0.1853, 0.1852, 0.1856, 0.1862, 0.1866, 0.1878, 0.195",\
                 "0.2112, 0.2101, 0.2086, 0.2076, 0.2081, 0.2083, 0.2089, 0.2093, 0.211, 0.2199",\
                 "0.2379, 0.237, 0.235, 0.2335, 0.2337, 0.2347, 0.2352, 0.2357, 0.2365, 0.249",\
                 "0.2675, 0.2663, 0.2642, 0.2631, 0.2622, 0.2624, 0.264, 0.2651, 0.2667, 0.2856",\
                 "0.2997, 0.2985, 0.2961, 0.2944, 0.294, 0.2935, 0.2945, 0.2964, 0.3005, 0.3328");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1557, 0.155, 0.154, 0.1536, 0.154, 0.1546, 0.1553, 0.156, 0.1566, 0.1605",\
                 "0.1555, 0.1548, 0.1539, 0.1535, 0.1538, 0.1544, 0.155, 0.1558, 0.1564, 0.1608",\
                 "0.1562, 0.1554, 0.1545, 0.1542, 0.1545, 0.155, 0.1558, 0.1565, 0.157, 0.1613",\
                 "0.1607, 0.16, 0.159, 0.1586, 0.1588, 0.1594, 0.16, 0.1608, 0.1615, 0.1658",\
                 "0.1708, 0.1701, 0.1688, 0.1684, 0.1686, 0.1691, 0.1697, 0.1706, 0.1714, 0.1766",\
                 "0.1873, 0.1864, 0.185, 0.1848, 0.1845, 0.1852, 0.1857, 0.186, 0.1874, 0.1939",\
                 "0.2107, 0.2096, 0.2082, 0.2071, 0.2076, 0.2079, 0.2083, 0.2088, 0.2101, 0.2186",\
                 "0.2376, 0.2366, 0.2346, 0.2333, 0.2332, 0.2342, 0.2349, 0.235, 0.2362, 0.2487",\
                 "0.2672, 0.2659, 0.2638, 0.2625, 0.2621, 0.2622, 0.2635, 0.2642, 0.2665, 0.2856",\
                 "0.2993, 0.2981, 0.2958, 0.2941, 0.2936, 0.2933, 0.294, 0.296, 0.2996, 0.3325");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1557, 0.155, 0.154, 0.1536, 0.154, 0.1546, 0.1553, 0.156, 0.1566, 0.1605",\
                 "0.1555, 0.1548, 0.1539, 0.1535, 0.1538, 0.1544, 0.155, 0.1558, 0.1564, 0.1608",\
                 "0.1562, 0.1554, 0.1545, 0.1542, 0.1545, 0.155, 0.1558, 0.1565, 0.157, 0.1613",\
                 "0.1607, 0.16, 0.159, 0.1586, 0.1588, 0.1594, 0.16, 0.1608, 0.1615, 0.1658",\
                 "0.1708, 0.1701, 0.1688, 0.1684, 0.1686, 0.1691, 0.1697, 0.1706, 0.1714, 0.1766",\
                 "0.1873, 0.1864, 0.185, 0.1848, 0.1845, 0.1852, 0.1857, 0.186, 0.1874, 0.1939",\
                 "0.2107, 0.2096, 0.2082, 0.2071, 0.2076, 0.2079, 0.2083, 0.2088, 0.2101, 0.2186",\
                 "0.2376, 0.2366, 0.2346, 0.2333, 0.2332, 0.2342, 0.2349, 0.235, 0.2362, 0.2487",\
                 "0.2672, 0.2659, 0.2638, 0.2625, 0.2621, 0.2622, 0.2635, 0.2642, 0.2665, 0.2856",\
                 "0.2993, 0.2981, 0.2958, 0.2941, 0.2936, 0.2933, 0.294, 0.296, 0.2996, 0.3325");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.2341, 0.2332, 0.232, 0.2314, 0.2316, 0.2321, 0.2326, 0.2333, 0.2341, 0.2378",\
                 "0.2335, 0.2326, 0.2314, 0.2308, 0.2309, 0.2316, 0.2322, 0.2327, 0.2336, 0.2378",\
                 "0.2347, 0.2339, 0.2326, 0.2321, 0.2322, 0.233, 0.2334, 0.2343, 0.2348, 0.2396",\
                 "0.243, 0.2421, 0.2409, 0.2403, 0.2405, 0.241, 0.2416, 0.2423, 0.2431, 0.2474",\
                 "0.2625, 0.2616, 0.2601, 0.2595, 0.2596, 0.2601, 0.2607, 0.2613, 0.2623, 0.2677",\
                 "0.2935, 0.2926, 0.291, 0.2904, 0.2903, 0.2908, 0.2913, 0.2917, 0.2929, 0.3003",\
                 "0.3372, 0.3362, 0.3343, 0.3337, 0.3338, 0.3338, 0.3343, 0.3349, 0.336, 0.3457",\
                 "0.3908, 0.3898, 0.3879, 0.3866, 0.3862, 0.3874, 0.3877, 0.3879, 0.3893, 0.4035",\
                 "0.4507, 0.4495, 0.4475, 0.446, 0.4456, 0.4457, 0.4473, 0.4477, 0.4501, 0.4727",\
                 "0.5161, 0.5148, 0.5126, 0.5112, 0.5104, 0.5104, 0.5112, 0.513, 0.5179, 0.5559");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.2341, 0.2332, 0.232, 0.2314, 0.2316, 0.2321, 0.2326, 0.2333, 0.2341, 0.2378",\
                 "0.2335, 0.2326, 0.2314, 0.2308, 0.2309, 0.2316, 0.2322, 0.2327, 0.2336, 0.2378",\
                 "0.2347, 0.2339, 0.2326, 0.2321, 0.2322, 0.233, 0.2334, 0.2343, 0.2348, 0.2396",\
                 "0.243, 0.2421, 0.2409, 0.2403, 0.2405, 0.241, 0.2416, 0.2423, 0.2431, 0.2474",\
                 "0.2625, 0.2616, 0.2601, 0.2595, 0.2596, 0.2601, 0.2607, 0.2613, 0.2623, 0.2677",\
                 "0.2935, 0.2926, 0.291, 0.2904, 0.2903, 0.2908, 0.2913, 0.2917, 0.2929, 0.3003",\
                 "0.3372, 0.3362, 0.3343, 0.3337, 0.3338, 0.3338, 0.3343, 0.3349, 0.336, 0.3457",\
                 "0.3908, 0.3898, 0.3879, 0.3866, 0.3862, 0.3874, 0.3877, 0.3879, 0.3893, 0.4035",\
                 "0.4507, 0.4495, 0.4475, 0.446, 0.4456, 0.4457, 0.4473, 0.4477, 0.4501, 0.4727",\
                 "0.5161, 0.5148, 0.5126, 0.5112, 0.5104, 0.5104, 0.5112, 0.513, 0.5179, 0.5559");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.234, 0.2331, 0.2319, 0.2313, 0.2316, 0.2321, 0.2326, 0.2332, 0.2341, 0.2378",\
                 "0.2334, 0.2326, 0.2314, 0.2308, 0.2309, 0.2315, 0.2322, 0.2328, 0.2336, 0.2374",\
                 "0.2347, 0.2338, 0.2326, 0.2321, 0.2323, 0.2328, 0.2333, 0.234, 0.2348, 0.2386",\
                 "0.243, 0.2422, 0.2409, 0.2404, 0.2405, 0.241, 0.2417, 0.2423, 0.2431, 0.2474",\
                 "0.2625, 0.2615, 0.2601, 0.2595, 0.2596, 0.2601, 0.2608, 0.2613, 0.2624, 0.2677",\
                 "0.2935, 0.2926, 0.2911, 0.2903, 0.2902, 0.2907, 0.2913, 0.2917, 0.293, 0.3002",\
                 "0.3372, 0.3362, 0.3343, 0.3336, 0.3339, 0.3339, 0.3342, 0.335, 0.336, 0.3457",\
                 "0.3909, 0.3897, 0.3879, 0.3866, 0.3863, 0.3877, 0.3876, 0.388, 0.3899, 0.4035",\
                 "0.4507, 0.4495, 0.4475, 0.4459, 0.4455, 0.4458, 0.4474, 0.4478, 0.4498, 0.4722",\
                 "0.5159, 0.5148, 0.5125, 0.5112, 0.5103, 0.5104, 0.5117, 0.5133, 0.5177, 0.5555");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.234, 0.2331, 0.2319, 0.2313, 0.2316, 0.2321, 0.2326, 0.2332, 0.2341, 0.2378",\
                 "0.2334, 0.2326, 0.2314, 0.2308, 0.2309, 0.2315, 0.2322, 0.2328, 0.2336, 0.2374",\
                 "0.2347, 0.2338, 0.2326, 0.2321, 0.2323, 0.2328, 0.2333, 0.234, 0.2348, 0.2386",\
                 "0.243, 0.2422, 0.2409, 0.2404, 0.2405, 0.241, 0.2417, 0.2423, 0.2431, 0.2474",\
                 "0.2625, 0.2615, 0.2601, 0.2595, 0.2596, 0.2601, 0.2608, 0.2613, 0.2624, 0.2677",\
                 "0.2935, 0.2926, 0.2911, 0.2903, 0.2902, 0.2907, 0.2913, 0.2917, 0.293, 0.3002",\
                 "0.3372, 0.3362, 0.3343, 0.3336, 0.3339, 0.3339, 0.3342, 0.335, 0.336, 0.3457",\
                 "0.3909, 0.3897, 0.3879, 0.3866, 0.3863, 0.3877, 0.3876, 0.388, 0.3899, 0.4035",\
                 "0.4507, 0.4495, 0.4475, 0.4459, 0.4455, 0.4458, 0.4474, 0.4478, 0.4498, 0.4722",\
                 "0.5159, 0.5148, 0.5125, 0.5112, 0.5103, 0.5104, 0.5117, 0.5133, 0.5177, 0.5555");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("1.015, 1.05, 1.143, 1.285, 1.483, 1.753, 2.107, 2.552, 3.096, 3.745",\
                 "1.029, 1.063, 1.157, 1.298, 1.496, 1.766, 2.12, 2.566, 3.11, 3.758",\
                 "1.079, 1.114, 1.207, 1.349, 1.547, 1.817, 2.171, 2.616, 3.16, 3.809",\
                 "1.162, 1.196, 1.29, 1.432, 1.63, 1.9, 2.253, 2.699, 3.243, 3.892",\
                 "1.235, 1.269, 1.362, 1.504, 1.702, 1.972, 2.326, 2.771, 3.315, 3.964",\
                 "1.292, 1.326, 1.419, 1.561, 1.759, 2.029, 2.383, 2.829, 3.372, 4.021",\
                 "1.332, 1.366, 1.46, 1.601, 1.799, 2.069, 2.423, 2.868, 3.412, 4.061",\
                 "1.35, 1.384, 1.477, 1.619, 1.817, 2.087, 2.441, 2.886, 3.431, 4.079",\
                 "1.343, 1.377, 1.471, 1.612, 1.81, 2.08, 2.434, 2.879, 3.423, 4.072",\
                 "1.308, 1.343, 1.436, 1.578, 1.776, 2.046, 2.399, 2.845, 3.389, 4.037");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.9964, 1.036, 1.16, 1.384, 1.732, 2.22, 2.862, 3.671, 4.658, 5.838",\
                 "1.01, 1.05, 1.173, 1.398, 1.746, 2.234, 2.876, 3.685, 4.673, 5.847",\
                 "1.06, 1.1, 1.223, 1.448, 1.796, 2.284, 2.926, 3.735, 4.723, 5.901",\
                 "1.143, 1.183, 1.307, 1.531, 1.879, 2.368, 3.009, 3.818, 4.805, 5.985",\
                 "1.218, 1.258, 1.382, 1.607, 1.955, 2.443, 3.084, 3.894, 4.881, 6.06",\
                 "1.279, 1.319, 1.442, 1.667, 2.015, 2.503, 3.145, 3.954, 4.941, 6.118",\
                 "1.324, 1.364, 1.488, 1.713, 2.06, 2.548, 3.19, 3.999, 4.987, 6.165",\
                 "1.349, 1.389, 1.512, 1.737, 2.085, 2.573, 3.215, 4.023, 5.01, 6.188",\
                 "1.35, 1.39, 1.514, 1.739, 2.087, 2.575, 3.217, 4.025, 5.011, 6.187",\
                 "1.327, 1.367, 1.49, 1.715, 2.063, 2.551, 3.193, 4.002, 4.988, 6.164");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.123, 0.1564, 0.2582, 0.4406, 0.7394, 1.182, 1.774, 2.523, 3.439, 4.525",\
                 "0.123, 0.1568, 0.258, 0.4408, 0.7402, 1.182, 1.774, 2.523, 3.439, 4.526",\
                 "0.123, 0.1568, 0.258, 0.4402, 0.74, 1.182, 1.774, 2.52, 3.434, 4.527",\
                 "0.123, 0.1564, 0.2576, 0.4406, 0.74, 1.182, 1.774, 2.522, 3.439, 4.526",\
                 "0.1228, 0.157, 0.258, 0.4408, 0.7406, 1.181, 1.774, 2.523, 3.438, 4.531",\
                 "0.1228, 0.1564, 0.2578, 0.4402, 0.7392, 1.181, 1.773, 2.523, 3.439, 4.528",\
                 "0.1226, 0.1564, 0.258, 0.4404, 0.7404, 1.181, 1.772, 2.518, 3.435, 4.529",\
                 "0.1228, 0.1564, 0.258, 0.4404, 0.74, 1.181, 1.771, 2.519, 3.431, 4.521",\
                 "0.123, 0.1564, 0.258, 0.4404, 0.739, 1.181, 1.772, 2.52, 3.431, 4.518",\
                 "0.1228, 0.1566, 0.258, 0.4406, 0.7404, 1.182, 1.773, 2.521, 3.435, 4.523");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1387, 0.192, 0.3814, 0.766, 1.377, 2.237, 3.364, 4.79, 6.532, 8.604",\
                 "0.1378, 0.1918, 0.3812, 0.7642, 1.374, 2.233, 3.363, 4.791, 6.535, 8.604",\
                 "0.1388, 0.1918, 0.3812, 0.7642, 1.377, 2.236, 3.364, 4.79, 6.535, 8.605",\
                 "0.1382, 0.1918, 0.3812, 0.7658, 1.377, 2.236, 3.364, 4.791, 6.53, 8.607",\
                 "0.1386, 0.192, 0.382, 0.7644, 1.377, 2.235, 3.364, 4.79, 6.531, 8.606",\
                 "0.1388, 0.1918, 0.3814, 0.7642, 1.375, 2.234, 3.369, 4.79, 6.534, 8.613",\
                 "0.1384, 0.1922, 0.3814, 0.7652, 1.374, 2.233, 3.364, 4.792, 6.53, 8.611",\
                 "0.139, 0.1924, 0.3814, 0.766, 1.374, 2.234, 3.363, 4.796, 6.528, 8.606",\
                 "0.1392, 0.1924, 0.3822, 0.7654, 1.377, 2.234, 3.366, 4.788, 6.529, 8.604",\
                 "0.139, 0.192, 0.3816, 0.766, 1.374, 2.237, 3.366, 4.789, 6.525, 8.599");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.7102, 0.7498, 0.8721, 1.095, 1.443, 1.931, 2.573, 3.382, 4.372, 5.549",\
                 "0.7278, 0.7674, 0.8893, 1.113, 1.461, 1.949, 2.591, 3.399, 4.389, 5.566",\
                 "0.7937, 0.8334, 0.9555, 1.178, 1.526, 2.014, 2.657, 3.465, 4.454, 5.628",\
                 "0.9155, 0.9552, 1.077, 1.3, 1.648, 2.136, 2.778, 3.588, 4.574, 5.754",\
                 "1.071, 1.111, 1.233, 1.456, 1.803, 2.291, 2.933, 3.742, 4.731, 5.905",\
                 "1.25, 1.29, 1.413, 1.635, 1.982, 2.47, 3.112, 3.921, 4.911, 6.087",\
                 "1.453, 1.493, 1.616, 1.837, 2.184, 2.672, 3.313, 4.123, 5.112, 6.289",\
                 "1.673, 1.714, 1.836, 2.058, 2.405, 2.892, 3.534, 4.342, 5.329, 6.508",\
                 "1.912, 1.953, 2.076, 2.298, 2.644, 3.131, 3.772, 4.581, 5.567, 6.743",\
                 "2.169, 2.21, 2.333, 2.554, 2.9, 3.386, 4.028, 4.836, 5.822, 6.998");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1367, 0.1893, 0.3766, 0.7621, 1.376, 2.233, 3.366, 4.792, 6.532, 8.612",\
                 "0.1367, 0.1891, 0.3764, 0.762, 1.376, 2.232, 3.364, 4.79, 6.531, 8.612",\
                 "0.1367, 0.189, 0.3764, 0.7626, 1.375, 2.233, 3.366, 4.793, 6.543, 8.614",\
                 "0.1372, 0.1892, 0.3766, 0.7626, 1.376, 2.232, 3.363, 4.794, 6.531, 8.614",\
                 "0.1384, 0.191, 0.3774, 0.7622, 1.376, 2.235, 3.365, 4.792, 6.535, 8.616",\
                 "0.14, 0.1926, 0.378, 0.7624, 1.374, 2.236, 3.365, 4.792, 6.532, 8.625",\
                 "0.143, 0.1952, 0.3796, 0.763, 1.375, 2.233, 3.364, 4.792, 6.536, 8.61",\
                 "0.1452, 0.1976, 0.3812, 0.7632, 1.375, 2.234, 3.363, 4.794, 6.53, 8.608",\
                 "0.1484, 0.2008, 0.3824, 0.7634, 1.375, 2.233, 3.364, 4.788, 6.539, 8.626",\
                 "0.1512, 0.2034, 0.3844, 0.7636, 1.376, 2.233, 3.364, 4.789, 6.527, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.7108, 0.7502, 0.8724, 1.095, 1.443, 1.931, 2.574, 3.382, 4.372, 5.546",\
                 "0.7281, 0.7677, 0.8901, 1.113, 1.461, 1.949, 2.591, 3.399, 4.39, 5.565",\
                 "0.7939, 0.8333, 0.9557, 1.179, 1.527, 2.015, 2.657, 3.465, 4.455, 5.629",\
                 "0.9159, 0.9556, 1.078, 1.301, 1.648, 2.136, 2.779, 3.587, 4.576, 5.75",\
                 "1.071, 1.111, 1.233, 1.456, 1.804, 2.292, 2.934, 3.742, 4.731, 5.906",\
                 "1.251, 1.291, 1.413, 1.636, 1.983, 2.471, 3.113, 3.922, 4.912, 6.086",\
                 "1.453, 1.493, 1.616, 1.838, 2.185, 2.672, 3.314, 4.123, 5.111, 6.291",\
                 "1.673, 1.714, 1.837, 2.059, 2.406, 2.893, 3.534, 4.342, 5.33, 6.505",\
                 "1.913, 1.954, 2.076, 2.298, 2.644, 3.131, 3.771, 4.579, 5.566, 6.742",\
                 "2.169, 2.21, 2.334, 2.554, 2.9, 3.387, 4.028, 4.837, 5.823, 6.999");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1363, 0.1891, 0.3766, 0.7619, 1.376, 2.233, 3.366, 4.791, 6.534, 8.618",\
                 "0.1368, 0.1891, 0.3764, 0.762, 1.376, 2.233, 3.365, 4.79, 6.533, 8.621",\
                 "0.1369, 0.1891, 0.3766, 0.7622, 1.376, 2.233, 3.366, 4.791, 6.534, 8.618",\
                 "0.1368, 0.1894, 0.3768, 0.7626, 1.376, 2.233, 3.366, 4.793, 6.543, 8.614",\
                 "0.1382, 0.191, 0.3774, 0.7622, 1.376, 2.235, 3.366, 4.792, 6.535, 8.615",\
                 "0.1402, 0.1926, 0.3784, 0.7624, 1.374, 2.235, 3.365, 4.794, 6.531, 8.618",\
                 "0.1424, 0.1952, 0.38, 0.7626, 1.374, 2.232, 3.363, 4.792, 6.535, 8.611",\
                 "0.1458, 0.1976, 0.3812, 0.763, 1.375, 2.236, 3.362, 4.798, 6.532, 8.605",\
                 "0.1482, 0.2008, 0.3824, 0.7642, 1.376, 2.233, 3.364, 4.787, 6.534, 8.625",\
                 "0.1512, 0.2034, 0.3836, 0.7634, 1.375, 2.234, 3.363, 4.788, 6.527, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.8605, 0.9005, 1.022, 1.245, 1.592, 2.08, 2.722, 3.531, 4.519, 5.695",\
                 "0.8783, 0.9181, 1.04, 1.262, 1.61, 2.098, 2.739, 3.549, 4.537, 5.715",\
                 "0.9438, 0.9836, 1.105, 1.328, 1.676, 2.163, 2.806, 3.614, 4.601, 5.779",\
                 "1.077, 1.116, 1.238, 1.461, 1.808, 2.296, 2.938, 3.747, 4.736, 5.912",\
                 "1.269, 1.308, 1.43, 1.653, 2, 2.488, 3.13, 3.939, 4.927, 6.102",\
                 "1.494, 1.534, 1.656, 1.878, 2.225, 2.713, 3.355, 4.164, 5.152, 6.33",\
                 "1.752, 1.792, 1.914, 2.136, 2.482, 2.97, 3.612, 4.421, 5.407, 6.587",\
                 "2.038, 2.079, 2.201, 2.423, 2.769, 3.256, 3.897, 4.705, 5.694, 6.87",\
                 "2.351, 2.391, 2.514, 2.735, 3.081, 3.568, 4.209, 5.017, 6.003, 7.179",\
                 "2.69, 2.731, 2.853, 3.074, 3.42, 3.906, 4.548, 5.357, 6.343, 7.519");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1384, 0.1911, 0.3771, 0.7626, 1.376, 2.234, 3.366, 4.793, 6.534, 8.614",\
                 "0.139, 0.1909, 0.377, 0.7622, 1.376, 2.233, 3.365, 4.791, 6.534, 8.608",\
                 "0.1388, 0.191, 0.3772, 0.7624, 1.373, 2.233, 3.364, 4.792, 6.531, 8.609",\
                 "0.139, 0.191, 0.3772, 0.7622, 1.376, 2.236, 3.365, 4.792, 6.531, 8.613",\
                 "0.1396, 0.192, 0.3778, 0.7626, 1.376, 2.236, 3.365, 4.79, 6.534, 8.606",\
                 "0.1412, 0.1936, 0.3784, 0.7636, 1.376, 2.237, 3.365, 4.793, 6.54, 8.607",\
                 "0.1428, 0.1952, 0.3792, 0.7634, 1.375, 2.236, 3.366, 4.789, 6.529, 8.607",\
                 "0.1448, 0.1968, 0.3804, 0.763, 1.375, 2.233, 3.364, 4.79, 6.532, 8.609",\
                 "0.1466, 0.1984, 0.3812, 0.763, 1.376, 2.233, 3.362, 4.787, 6.53, 8.609",\
                 "0.148, 0.1996, 0.3818, 0.7636, 1.374, 2.236, 3.364, 4.789, 6.528, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.8604, 0.9001, 1.022, 1.245, 1.592, 2.08, 2.722, 3.531, 4.519, 5.694",\
                 "0.8783, 0.9181, 1.04, 1.262, 1.61, 2.097, 2.739, 3.549, 4.537, 5.712",\
                 "0.9438, 0.9836, 1.105, 1.328, 1.676, 2.164, 2.806, 3.615, 4.602, 5.778",\
                 "1.077, 1.116, 1.238, 1.461, 1.808, 2.296, 2.938, 3.748, 4.736, 5.912",\
                 "1.269, 1.308, 1.43, 1.653, 2, 2.488, 3.13, 3.939, 4.927, 6.102",\
                 "1.494, 1.534, 1.656, 1.878, 2.225, 2.713, 3.354, 4.164, 5.152, 6.33",\
                 "1.752, 1.792, 1.914, 2.136, 2.483, 2.97, 3.612, 4.421, 5.41, 6.585",\
                 "2.038, 2.079, 2.201, 2.423, 2.769, 3.256, 3.897, 4.705, 5.693, 6.869",\
                 "2.351, 2.392, 2.514, 2.735, 3.081, 3.568, 4.21, 5.017, 6.003, 7.18",\
                 "2.69, 2.73, 2.853, 3.075, 3.419, 3.907, 4.549, 5.358, 6.344, 7.519");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1387, 0.1911, 0.3774, 0.7626, 1.376, 2.237, 3.365, 4.792, 6.536, 8.608",\
                 "0.1389, 0.1909, 0.3772, 0.7626, 1.375, 2.236, 3.365, 4.793, 6.536, 8.61",\
                 "0.1388, 0.191, 0.377, 0.762, 1.375, 2.235, 3.366, 4.793, 6.535, 8.612",\
                 "0.1388, 0.1912, 0.377, 0.762, 1.376, 2.237, 3.364, 4.792, 6.531, 8.611",\
                 "0.1398, 0.192, 0.3776, 0.7628, 1.376, 2.234, 3.363, 4.791, 6.536, 8.613",\
                 "0.1408, 0.1934, 0.3784, 0.763, 1.376, 2.232, 3.364, 4.79, 6.534, 8.611",\
                 "0.1426, 0.1952, 0.3794, 0.7626, 1.375, 2.234, 3.366, 4.791, 6.532, 8.61",\
                 "0.145, 0.197, 0.381, 0.763, 1.375, 2.233, 3.366, 4.789, 6.534, 8.605",\
                 "0.1466, 0.1984, 0.3814, 0.7632, 1.374, 2.233, 3.363, 4.787, 6.534, 8.609",\
                 "0.1482, 0.1996, 0.3818, 0.763, 1.375, 2.234, 3.369, 4.79, 6.526, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.8604, 0.9001, 1.022, 1.245, 1.592, 2.08, 2.722, 3.531, 4.519, 5.694",\
                 "0.8783, 0.9181, 1.04, 1.262, 1.61, 2.097, 2.739, 3.549, 4.537, 5.712",\
                 "0.9438, 0.9836, 1.105, 1.328, 1.676, 2.164, 2.806, 3.615, 4.602, 5.778",\
                 "1.077, 1.116, 1.238, 1.461, 1.808, 2.296, 2.938, 3.748, 4.736, 5.912",\
                 "1.269, 1.308, 1.43, 1.653, 2, 2.488, 3.13, 3.939, 4.927, 6.102",\
                 "1.494, 1.534, 1.656, 1.878, 2.225, 2.713, 3.354, 4.164, 5.152, 6.33",\
                 "1.752, 1.792, 1.914, 2.136, 2.483, 2.97, 3.612, 4.421, 5.41, 6.585",\
                 "2.038, 2.079, 2.201, 2.423, 2.769, 3.256, 3.897, 4.705, 5.693, 6.869",\
                 "2.351, 2.392, 2.514, 2.735, 3.081, 3.568, 4.21, 5.017, 6.003, 7.18",\
                 "2.69, 2.73, 2.853, 3.075, 3.419, 3.907, 4.549, 5.358, 6.344, 7.519");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.1981, 0.2712, 0.3584");
          values("0.1367, 0.1893, 0.3766, 0.7621, 1.376, 2.233, 3.366, 4.792, 6.532, 8.612",\
                 "0.1367, 0.1891, 0.3764, 0.762, 1.376, 2.232, 3.364, 4.79, 6.531, 8.612",\
                 "0.1367, 0.189, 0.3764, 0.7626, 1.375, 2.233, 3.366, 4.793, 6.543, 8.614",\
                 "0.1372, 0.1892, 0.3766, 0.7626, 1.376, 2.232, 3.363, 4.794, 6.531, 8.614",\
                 "0.1384, 0.191, 0.3774, 0.7622, 1.376, 2.235, 3.365, 4.792, 6.535, 8.616",\
                 "0.14, 0.1926, 0.378, 0.7624, 1.374, 2.236, 3.365, 4.792, 6.532, 8.625",\
                 "0.143, 0.1952, 0.3796, 0.763, 1.375, 2.233, 3.364, 4.792, 6.536, 8.61",\
                 "0.1452, 0.1976, 0.3812, 0.7632, 1.375, 2.234, 3.363, 4.794, 6.53, 8.608",\
                 "0.1484, 0.2008, 0.3824, 0.7634, 1.375, 2.233, 3.364, 4.788, 6.539, 8.626",\
                 "0.1512, 0.2034, 0.3844, 0.7636, 1.376, 2.233, 3.364, 4.789, 6.527, 8.608");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006415 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.56 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06464, 0.0643, 0.06472, 0.06831, 0.07601, 0.08852, 0.106, 0.1289, \
                 0.1575, 0.1919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00794, 0.007718, 0.008119, 0.01082, 0.01705, 0.02756, 0.04258, \
                 0.06239, 0.08721, 0.1173");
        }
      }

      internal_power() {
        when : "!CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02007, 0.02002, 0.02, 0.01999, 0.01999, 0.02001, 0.02004, 0.02002, \
                 0.02003, 0.02001");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01318, -0.01316, -0.01313, -0.01315, -0.01323, -0.01324, -0.01322, \
                 -0.01324, -0.01327, -0.0133");
        }
      }

      internal_power() {
        when : "CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02009, 0.02005, 0.01998, 0.01998, 0.02, 0.01999, 0.02004, 0.02002, \
                 0.02003, 0.02003");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01317, -0.01316, -0.01316, -0.01319, -0.01322, -0.01324, -0.01325, \
                 -0.01324, -0.01327, -0.01329");
        }
      }

      internal_power() {
        when : "CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0201, 0.02004, 0.01997, 0.01996, 0.01998, 0.02003, 0.02004, \
                 0.02003, 0.02002, 0.02002");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01317, -0.01316, -0.01316, -0.01317, -0.01322, -0.01323, -0.01325, \
                 -0.01325, -0.01327, -0.01331");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : recovery_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.074, -0.084, -0.141, -0.226, -0.3, -0.353, -0.386, -0.396, -0.378, -0.335",\
                 "-0.061, -0.072, -0.13, -0.218, -0.286, -0.342, -0.381, -0.392, -0.37, -0.329",\
                 "-0.02, -0.036, -0.086, -0.178, -0.243, -0.302, -0.338, -0.348, -0.329, -0.283",\
                 "0.062, 0.044, -0.007, -0.091, -0.168, -0.22, -0.255, -0.262, -0.25, -0.204",\
                 "0.189, 0.17, 0.113, 0.026, -0.04, -0.1, -0.141, -0.145, -0.121, -0.081",\
                 "0.359, 0.341, 0.283, 0.184, 0.118, 0.043, 0.005, 0.003, 0.017, 0.059",\
                 "0.673, 0.681, 0.583, 0.465, 0.354, 0.278, 0.218, 0.208, 0.221, 0.253",\
                 "1.181, 1.186, 1.057, 0.897, 0.805, 0.705, 0.622, 0.584, 0.591, 0.606",\
                 "1.794, 1.759, 1.678, 1.465, 1.37, 1.272, 1.173, 1.151, 1.159, 1.172",\
                 "2.543, 2.51, 2.397, 2.191, 2.066, 1.94, 1.838, 1.812, 1.818, 1.853");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : removal_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.361, 0.37, 0.426, 0.508, 0.576, 0.635, 0.673, 0.691, 0.688, 0.653",\
                 "0.347, 0.365, 0.414, 0.498, 0.572, 0.624, 0.664, 0.684, 0.675, 0.639",\
                 "0.31, 0.32, 0.37, 0.457, 0.53, 0.583, 0.628, 0.64, 0.635, 0.6",\
                 "0.238, 0.254, 0.303, 0.383, 0.459, 0.513, 0.555, 0.57, 0.565, 0.529",\
                 "0.169, 0.185, 0.236, 0.317, 0.384, 0.442, 0.479, 0.501, 0.49, 0.457",\
                 "0.113, 0.124, 0.176, 0.255, 0.32, 0.372, 0.413, 0.427, 0.423, 0.388",\
                 "0.069, 0.081, 0.133, 0.214, 0.276, 0.328, 0.355, 0.368, 0.357, 0.326",\
                 "0.035, 0.05, 0.1, 0.179, 0.247, 0.297, 0.325, 0.332, 0.32, 0.28",\
                 "0.02, 0.039, 0.084, 0.16, 0.23, 0.279, 0.31, 0.321, 0.303, 0.26",\
                 "0.024, 0.037, 0.087, 0.165, 0.235, 0.279, 0.31, 0.318, 0.307, 0.256");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D" ;

        fall_constraint(scalar) {
          values("0.482");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D" ;

        fall_constraint(scalar) {
          values("0.482");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D" ;

        fall_constraint(scalar) {
          values("0.56");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D" ;

        fall_constraint(scalar) {
          values("0.56");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffsnq_2) {
    area : 83.417600 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SETN" ;
      value : "0.000190641" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SETN" ;
      value : "0.0002902977" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SETN" ;
      value : "0.000188628" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SETN" ;
      value : "0.0002846481" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SETN" ;
      value : "0.0002053326" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SETN" ;
      value : "0.0002531892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SETN" ;
      value : "0.0002040786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SETN" ;
      value : "0.000295614" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000295614" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003248 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.491 ;
      min_pulse_width_high : 0.713 ;
      min_pulse_width_low : 0.669 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1871, 0.1866, 0.1873, 0.1938, 0.2072, 0.2278, 0.2563, 0.2931, \
                 0.3384, 0.3927");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1265, 0.1262, 0.1267, 0.1314, 0.1411, 0.1573, 0.1802, 0.2106, \
                 0.2482, 0.2936");
        }
      }

      internal_power() {
        when : "!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1275, 0.1272, 0.1278, 0.1334, 0.145, 0.1634, 0.1895, 0.2236, \
                 0.266, 0.3171");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1007, 0.1004, 0.1008, 0.1054, 0.1149, 0.1308, 0.1536, 0.1836, \
                 0.2211, 0.2662");
        }
      }

      internal_power() {
        when : "D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.127, 0.1266, 0.1273, 0.1328, 0.1445, 0.163, 0.189, 0.2231, 0.2656, \
                 0.3167");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1032, 0.103, 0.1034, 0.108, 0.1174, 0.1333, 0.1561, 0.1861, \
                 0.2235, 0.2687");
        }
      }

      internal_power() {
        when : "D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.127, 0.1267, 0.1273, 0.1328, 0.1446, 0.163, 0.1891, 0.2231, \
                 0.2656, 0.3168");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1033, 0.103, 0.1034, 0.1079, 0.1174, 0.1333, 0.1561, 0.1861, \
                 0.2235, 0.2686");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SETN" ;

        fall_constraint(scalar) {
          values("0.669");
        }

        rise_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SETN" ;

        fall_constraint(scalar) {
          values("0.591");
        }

        rise_constraint(scalar) {
          values("0.713");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SETN" ;

        rise_constraint(scalar) {
          values("1.491");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SETN" ;

        rise_constraint(scalar) {
          values("1.479");
        }
      }
    }

    pin(D) {
      capacitance : 0.002596 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06513, 0.06485, 0.06576, 0.06965, 0.07744, 0.08978, 0.1072, \
                 0.1301, 0.1589, 0.1937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02414, 0.024, 0.02486, 0.02798, 0.03422, 0.0443, 0.05871, 0.07787, \
                 0.1021, 0.1317");
        }
      }

      internal_power() {
        when : "!CLK&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09139, 0.09112, 0.09203, 0.09636, 0.1053, 0.1192, 0.1387, 0.1643, \
                 0.1962, 0.2346");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07816, 0.07802, 0.07887, 0.08238, 0.08927, 0.1005, 0.1165, 0.1376, \
                 0.1641, 0.1963");
        }
      }

      internal_power() {
        when : "CLK&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02486, 0.02434, 0.02609, 0.03156, 0.04117, 0.05544, 0.07471, \
                 0.09929, 0.1296, 0.1659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002839, 0.002604, 0.003625, 0.007737, 0.01557, 0.02758, 0.04389, \
                 0.06485, 0.09069, 0.1217");
        }
      }

      internal_power() {
        when : "CLK&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02486, 0.02433, 0.02611, 0.03152, 0.04116, 0.05545, 0.07468, \
                 0.0993, 0.1296, 0.1659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002842, 0.002611, 0.003626, 0.007723, 0.0156, 0.02758, 0.04388, \
                 0.06485, 0.09072, 0.1217");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.017, 0.035, 0.082, 0.162, 0.226, 0.267, 0.293, 0.296, 0.274, 0.231",\
                 "0.005, 0.015, 0.065, 0.141, 0.209, 0.253, 0.278, 0.278, 0.257, 0.214",\
                 "-0.066, -0.053, -0, 0.074, 0.139, 0.181, 0.212, 0.211, 0.197, 0.15",\
                 "-0.189, -0.17, -0.126, -0.053, 0.016, 0.059, 0.086, 0.095, 0.076, 0.031",\
                 "-0.345, -0.332, -0.286, -0.216, -0.148, -0.101, -0.075, -0.069, -0.088, -0.126",\
                 "-0.543, -0.53, -0.481, -0.417, -0.354, -0.308, -0.281, -0.272, -0.295, -0.336",\
                 "-0.774, -0.767, -0.719, -0.655, -0.599, -0.554, -0.525, -0.52, -0.541, -0.588",\
                 "-1.045, -1.031, -0.988, -0.93, -0.878, -0.839, -0.817, -0.813, -0.834, -0.876",\
                 "-1.333, -1.326, -1.281, -1.238, -1.19, -1.167, -1.144, -1.144, -1.167, -1.208",\
                 "-1.668, -1.65, -1.612, -1.58, -1.541, -1.526, -1.51, -1.517, -1.539, -1.591");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.069, -0.061, -0.02, 0.026, 0.047, 0.054, 0.04, 0.012, -0.045, -0.123",\
                 "-0.084, -0.072, -0.03, 0.006, 0.031, 0.041, 0.03, -0.002, -0.056, -0.137",\
                 "-0.125, -0.112, -0.071, -0.03, -0, 0.003, -0.006, -0.037, -0.093, -0.172",\
                 "-0.162, -0.151, -0.114, -0.069, -0.047, -0.036, -0.044, -0.078, -0.134, -0.215",\
                 "-0.181, -0.17, -0.13, -0.089, -0.06, -0.057, -0.07, -0.099, -0.154, -0.24",\
                 "-0.175, -0.165, -0.124, -0.081, -0.056, -0.054, -0.066, -0.104, -0.164, -0.246",\
                 "-0.133, -0.116, -0.076, -0.036, -0.021, -0.015, -0.032, -0.071, -0.133, -0.217",\
                 "-0.048, -0.034, 0.006, 0.039, 0.055, 0.062, 0.042, -0.006, -0.071, -0.158",\
                 "0.084, 0.095, 0.134, 0.159, 0.173, 0.169, 0.145, 0.098, 0.031, -0.064",\
                 "0.253, 0.268, 0.301, 0.328, 0.336, 0.324, 0.296, 0.247, 0.172, 0.077");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.372, 0.361, 0.31, 0.247, 0.206, 0.182, 0.179, 0.2, 0.267, 0.462",\
                 "0.384, 0.373, 0.326, 0.264, 0.224, 0.189, 0.193, 0.211, 0.288, 0.457",\
                 "0.458, 0.444, 0.402, 0.332, 0.296, 0.266, 0.26, 0.28, 0.341, 0.527",\
                 "0.589, 0.584, 0.531, 0.474, 0.423, 0.395, 0.394, 0.413, 0.475, 0.636",\
                 "0.784, 0.771, 0.722, 0.655, 0.606, 0.583, 0.573, 0.588, 0.646, 0.765",\
                 "1.015, 1.007, 0.96, 0.893, 0.845, 0.81, 0.8, 0.811, 0.861, 0.964",\
                 "1.297, 1.29, 1.235, 1.175, 1.12, 1.086, 1.074, 1.086, 1.131, 1.209",\
                 "1.63, 1.616, 1.566, 1.498, 1.449, 1.421, 1.402, 1.414, 1.448, 1.523",\
                 "2.009, 1.991, 1.951, 1.876, 1.824, 1.79, 1.776, 1.786, 1.82, 1.893",\
                 "2.428, 2.42, 2.37, 2.297, 2.244, 2.21, 2.202, 2.211, 2.242, 2.313");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.401, 0.388, 0.321, 0.229, 0.169, 0.136, 0.128, 0.153, 0.204, 0.279",\
                 "0.411, 0.397, 0.332, 0.245, 0.185, 0.148, 0.141, 0.163, 0.216, 0.289",\
                 "0.458, 0.444, 0.378, 0.28, 0.227, 0.189, 0.187, 0.205, 0.25, 0.328",\
                 "0.508, 0.498, 0.428, 0.345, 0.27, 0.234, 0.234, 0.246, 0.3, 0.373",\
                 "0.554, 0.541, 0.478, 0.375, 0.31, 0.268, 0.259, 0.277, 0.324, 0.401",\
                 "0.566, 0.548, 0.488, 0.396, 0.328, 0.281, 0.268, 0.289, 0.331, 0.408",\
                 "0.555, 0.544, 0.474, 0.386, 0.308, 0.264, 0.25, 0.267, 0.316, 0.395",\
                 "0.502, 0.493, 0.423, 0.336, 0.257, 0.216, 0.192, 0.212, 0.26, 0.342",\
                 "0.417, 0.402, 0.338, 0.242, 0.177, 0.119, 0.103, 0.118, 0.171, 0.253",\
                 "0.283, 0.272, 0.209, 0.115, 0.04, -0.013, -0.031, -0.007, 0.044, 0.123");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.7176 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.1938, 0.1897, 0.1852, 0.1832, 0.1822, 0.1817, 0.1815, 0.1813, 0.1812, 0.1811",\
                 "0.1939, 0.1896, 0.1852, 0.1832, 0.1823, 0.1817, 0.1815, 0.1813, 0.1812, 0.1811",\
                 "0.194, 0.1898, 0.1853, 0.1832, 0.1823, 0.1818, 0.1815, 0.1814, 0.1813, 0.1812",\
                 "0.1943, 0.1902, 0.1856, 0.1837, 0.1827, 0.1822, 0.1819, 0.1818, 0.1816, 0.1816",\
                 "0.1952, 0.1909, 0.1865, 0.1843, 0.1835, 0.183, 0.1827, 0.1825, 0.1824, 0.1823",\
                 "0.1961, 0.1917, 0.1872, 0.1852, 0.1842, 0.1837, 0.1834, 0.1832, 0.1831, 0.1831",\
                 "0.1967, 0.1924, 0.1881, 0.1861, 0.1852, 0.1846, 0.1844, 0.1841, 0.184, 0.184",\
                 "0.1977, 0.1936, 0.189, 0.187, 0.186, 0.1856, 0.1853, 0.1851, 0.185, 0.1849",\
                 "0.1987, 0.1946, 0.1901, 0.1879, 0.1872, 0.1867, 0.1864, 0.1862, 0.1861, 0.186",\
                 "0.1999, 0.1956, 0.191, 0.1891, 0.1883, 0.1878, 0.1874, 0.1873, 0.1871, 0.187");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.2148, 0.2126, 0.2095, 0.2092, 0.2094, 0.2113, 0.2123, 0.2134, 0.2149, 0.2215",\
                 "0.2149, 0.2125, 0.2099, 0.2092, 0.2096, 0.2112, 0.2123, 0.2134, 0.2148, 0.2229",\
                 "0.2148, 0.2124, 0.2095, 0.209, 0.2094, 0.2112, 0.2122, 0.2133, 0.2151, 0.2221",\
                 "0.215, 0.2126, 0.2096, 0.2094, 0.2096, 0.2115, 0.2126, 0.2134, 0.2145, 0.2246",\
                 "0.2155, 0.2131, 0.2103, 0.2097, 0.2101, 0.2119, 0.2127, 0.2138, 0.216, 0.2257",\
                 "0.2162, 0.2139, 0.2111, 0.2108, 0.2108, 0.2123, 0.2133, 0.2144, 0.2162, 0.2293",\
                 "0.2174, 0.2151, 0.2119, 0.2114, 0.2129, 0.2138, 0.2146, 0.2156, 0.218, 0.2346",\
                 "0.2187, 0.2165, 0.2135, 0.2128, 0.2133, 0.2149, 0.2176, 0.2183, 0.2197, 0.2422",\
                 "0.2208, 0.2181, 0.2151, 0.2149, 0.2145, 0.2161, 0.2185, 0.2222, 0.2251, 0.2547",\
                 "0.2228, 0.2205, 0.2176, 0.2165, 0.2168, 0.2176, 0.2189, 0.2215, 0.2315, 0.2773");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.205, 0.2029, 0.2002, 0.1998, 0.2006, 0.2019, 0.2029, 0.204, 0.2067, 0.2146",\
                 "0.205, 0.2028, 0.2005, 0.1997, 0.2006, 0.2017, 0.2032, 0.204, 0.2058, 0.212",\
                 "0.2055, 0.2035, 0.201, 0.2004, 0.201, 0.2023, 0.2038, 0.2046, 0.2063, 0.2133",\
                 "0.2103, 0.208, 0.2054, 0.2048, 0.2055, 0.2068, 0.2079, 0.2095, 0.2107, 0.2198",\
                 "0.2215, 0.2193, 0.2163, 0.2154, 0.216, 0.2171, 0.2181, 0.2193, 0.2218, 0.2317",\
                 "0.2396, 0.2372, 0.2342, 0.2333, 0.2332, 0.234, 0.2354, 0.2372, 0.2384, 0.2518",\
                 "0.2653, 0.2626, 0.2588, 0.257, 0.2579, 0.2585, 0.2592, 0.2602, 0.2628, 0.28",\
                 "0.2948, 0.2917, 0.2873, 0.2846, 0.2847, 0.2864, 0.2874, 0.2885, 0.2903, 0.316",\
                 "0.3273, 0.3239, 0.3191, 0.3164, 0.3154, 0.3153, 0.3183, 0.3205, 0.324, 0.3609",\
                 "0.3622, 0.359, 0.3534, 0.35, 0.3491, 0.3486, 0.3498, 0.3537, 0.3621, 0.428");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.205, 0.2029, 0.2002, 0.1998, 0.2006, 0.2019, 0.2029, 0.204, 0.2067, 0.2146",\
                 "0.205, 0.2028, 0.2005, 0.1997, 0.2006, 0.2017, 0.2032, 0.204, 0.2058, 0.212",\
                 "0.2055, 0.2035, 0.201, 0.2004, 0.201, 0.2023, 0.2038, 0.2046, 0.2063, 0.2133",\
                 "0.2103, 0.208, 0.2054, 0.2048, 0.2055, 0.2068, 0.2079, 0.2095, 0.2107, 0.2198",\
                 "0.2215, 0.2193, 0.2163, 0.2154, 0.216, 0.2171, 0.2181, 0.2193, 0.2218, 0.2317",\
                 "0.2396, 0.2372, 0.2342, 0.2333, 0.2332, 0.234, 0.2354, 0.2372, 0.2384, 0.2518",\
                 "0.2653, 0.2626, 0.2588, 0.257, 0.2579, 0.2585, 0.2592, 0.2602, 0.2628, 0.28",\
                 "0.2948, 0.2917, 0.2873, 0.2846, 0.2847, 0.2864, 0.2874, 0.2885, 0.2903, 0.316",\
                 "0.3273, 0.3239, 0.3191, 0.3164, 0.3154, 0.3153, 0.3183, 0.3205, 0.324, 0.3609",\
                 "0.3622, 0.359, 0.3534, 0.35, 0.3491, 0.3486, 0.3498, 0.3537, 0.3621, 0.428");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.2045, 0.2025, 0.2, 0.1994, 0.2, 0.2013, 0.2028, 0.2033, 0.2054, 0.2116",\
                 "0.2044, 0.2024, 0.1999, 0.1992, 0.1999, 0.2011, 0.2026, 0.2034, 0.2052, 0.2114",\
                 "0.205, 0.2027, 0.2002, 0.1998, 0.2005, 0.2017, 0.2029, 0.2044, 0.2058, 0.2131",\
                 "0.2098, 0.2077, 0.2052, 0.2046, 0.2052, 0.2069, 0.208, 0.2084, 0.2105, 0.2193",\
                 "0.2211, 0.2188, 0.2157, 0.2148, 0.2154, 0.2165, 0.2178, 0.2198, 0.22, 0.2313",\
                 "0.2394, 0.2368, 0.2332, 0.2327, 0.2325, 0.2337, 0.235, 0.2357, 0.2382, 0.251",\
                 "0.2649, 0.2622, 0.2586, 0.2565, 0.2575, 0.2577, 0.2586, 0.2597, 0.2627, 0.2801",\
                 "0.2946, 0.2915, 0.2873, 0.2849, 0.284, 0.2861, 0.2874, 0.2881, 0.2912, 0.317",\
                 "0.3269, 0.3238, 0.319, 0.3165, 0.3152, 0.3155, 0.3178, 0.3194, 0.3239, 0.3622",\
                 "0.3621, 0.3586, 0.3534, 0.35, 0.3489, 0.348, 0.3498, 0.3527, 0.3621, 0.4262");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.2045, 0.2025, 0.2, 0.1994, 0.2, 0.2013, 0.2028, 0.2033, 0.2054, 0.2116",\
                 "0.2044, 0.2024, 0.1999, 0.1992, 0.1999, 0.2011, 0.2026, 0.2034, 0.2052, 0.2114",\
                 "0.205, 0.2027, 0.2002, 0.1998, 0.2005, 0.2017, 0.2029, 0.2044, 0.2058, 0.2131",\
                 "0.2098, 0.2077, 0.2052, 0.2046, 0.2052, 0.2069, 0.208, 0.2084, 0.2105, 0.2193",\
                 "0.2211, 0.2188, 0.2157, 0.2148, 0.2154, 0.2165, 0.2178, 0.2198, 0.22, 0.2313",\
                 "0.2394, 0.2368, 0.2332, 0.2327, 0.2325, 0.2337, 0.235, 0.2357, 0.2382, 0.251",\
                 "0.2649, 0.2622, 0.2586, 0.2565, 0.2575, 0.2577, 0.2586, 0.2597, 0.2627, 0.2801",\
                 "0.2946, 0.2915, 0.2873, 0.2849, 0.284, 0.2861, 0.2874, 0.2881, 0.2912, 0.317",\
                 "0.3269, 0.3238, 0.319, 0.3165, 0.3152, 0.3155, 0.3178, 0.3194, 0.3239, 0.3622",\
                 "0.3621, 0.3586, 0.3534, 0.35, 0.3489, 0.348, 0.3498, 0.3527, 0.3621, 0.4262");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.2854, 0.2831, 0.2799, 0.2787, 0.2796, 0.2807, 0.2817, 0.2831, 0.2849, 0.2909",\
                 "0.2849, 0.2824, 0.2794, 0.2782, 0.2788, 0.2801, 0.281, 0.2818, 0.2833, 0.2917",\
                 "0.2862, 0.2839, 0.281, 0.2795, 0.2801, 0.2815, 0.2824, 0.2835, 0.2856, 0.2924",\
                 "0.2943, 0.2919, 0.2891, 0.2883, 0.2882, 0.2892, 0.2907, 0.2914, 0.2936, 0.3025",\
                 "0.3152, 0.3128, 0.3092, 0.3078, 0.308, 0.3093, 0.3101, 0.3116, 0.3134, 0.3241",\
                 "0.3481, 0.3453, 0.3417, 0.3401, 0.3399, 0.3411, 0.3421, 0.3432, 0.3451, 0.3605",\
                 "0.3942, 0.3915, 0.3872, 0.385, 0.3854, 0.3857, 0.3867, 0.3877, 0.3907, 0.409",\
                 "0.4508, 0.448, 0.4432, 0.4408, 0.4398, 0.4419, 0.4421, 0.4425, 0.4453, 0.4741",\
                 "0.514, 0.5109, 0.506, 0.5027, 0.5016, 0.502, 0.5055, 0.5058, 0.51, 0.5539",\
                 "0.5829, 0.5796, 0.5744, 0.5709, 0.5693, 0.5693, 0.5708, 0.5749, 0.5828, 0.6593");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.2854, 0.2831, 0.2799, 0.2787, 0.2796, 0.2807, 0.2817, 0.2831, 0.2849, 0.2909",\
                 "0.2849, 0.2824, 0.2794, 0.2782, 0.2788, 0.2801, 0.281, 0.2818, 0.2833, 0.2917",\
                 "0.2862, 0.2839, 0.281, 0.2795, 0.2801, 0.2815, 0.2824, 0.2835, 0.2856, 0.2924",\
                 "0.2943, 0.2919, 0.2891, 0.2883, 0.2882, 0.2892, 0.2907, 0.2914, 0.2936, 0.3025",\
                 "0.3152, 0.3128, 0.3092, 0.3078, 0.308, 0.3093, 0.3101, 0.3116, 0.3134, 0.3241",\
                 "0.3481, 0.3453, 0.3417, 0.3401, 0.3399, 0.3411, 0.3421, 0.3432, 0.3451, 0.3605",\
                 "0.3942, 0.3915, 0.3872, 0.385, 0.3854, 0.3857, 0.3867, 0.3877, 0.3907, 0.409",\
                 "0.4508, 0.448, 0.4432, 0.4408, 0.4398, 0.4419, 0.4421, 0.4425, 0.4453, 0.4741",\
                 "0.514, 0.5109, 0.506, 0.5027, 0.5016, 0.502, 0.5055, 0.5058, 0.51, 0.5539",\
                 "0.5829, 0.5796, 0.5744, 0.5709, 0.5693, 0.5693, 0.5708, 0.5749, 0.5828, 0.6593");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.2856, 0.2832, 0.2801, 0.2788, 0.2793, 0.2804, 0.2813, 0.2831, 0.2845, 0.292",\
                 "0.2849, 0.2825, 0.2794, 0.2782, 0.2788, 0.2802, 0.2811, 0.2818, 0.2843, 0.2918",\
                 "0.2862, 0.2839, 0.281, 0.2795, 0.2801, 0.2814, 0.2824, 0.2835, 0.2856, 0.2924",\
                 "0.2943, 0.2918, 0.2887, 0.2879, 0.2882, 0.2892, 0.2907, 0.2911, 0.2936, 0.3028",\
                 "0.315, 0.3126, 0.3093, 0.3078, 0.3081, 0.3097, 0.3104, 0.3112, 0.3127, 0.3244",\
                 "0.348, 0.3454, 0.3419, 0.3403, 0.3401, 0.3413, 0.3421, 0.3432, 0.3454, 0.3589",\
                 "0.3941, 0.3914, 0.3872, 0.385, 0.3855, 0.3858, 0.3866, 0.3877, 0.3904, 0.4094",\
                 "0.4508, 0.4479, 0.4434, 0.4405, 0.44, 0.4421, 0.4421, 0.4432, 0.4453, 0.4759",\
                 "0.514, 0.511, 0.506, 0.5027, 0.5016, 0.502, 0.5055, 0.5058, 0.51, 0.5539",\
                 "0.5829, 0.5796, 0.5741, 0.5712, 0.5691, 0.5693, 0.5705, 0.5743, 0.5834, 0.6597");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.2856, 0.2832, 0.2801, 0.2788, 0.2793, 0.2804, 0.2813, 0.2831, 0.2845, 0.292",\
                 "0.2849, 0.2825, 0.2794, 0.2782, 0.2788, 0.2802, 0.2811, 0.2818, 0.2843, 0.2918",\
                 "0.2862, 0.2839, 0.281, 0.2795, 0.2801, 0.2814, 0.2824, 0.2835, 0.2856, 0.2924",\
                 "0.2943, 0.2918, 0.2887, 0.2879, 0.2882, 0.2892, 0.2907, 0.2911, 0.2936, 0.3028",\
                 "0.315, 0.3126, 0.3093, 0.3078, 0.3081, 0.3097, 0.3104, 0.3112, 0.3127, 0.3244",\
                 "0.348, 0.3454, 0.3419, 0.3403, 0.3401, 0.3413, 0.3421, 0.3432, 0.3454, 0.3589",\
                 "0.3941, 0.3914, 0.3872, 0.385, 0.3855, 0.3858, 0.3866, 0.3877, 0.3904, 0.4094",\
                 "0.4508, 0.4479, 0.4434, 0.4405, 0.44, 0.4421, 0.4421, 0.4432, 0.4453, 0.4759",\
                 "0.514, 0.511, 0.506, 0.5027, 0.5016, 0.502, 0.5055, 0.5058, 0.51, 0.5539",\
                 "0.5829, 0.5796, 0.5741, 0.5712, 0.5691, 0.5693, 0.5705, 0.5743, 0.5834, 0.6597");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("1.062, 1.103, 1.204, 1.352, 1.552, 1.823, 2.178, 2.624, 3.17, 3.82",\
                 "1.076, 1.116, 1.218, 1.365, 1.566, 1.836, 2.191, 2.638, 3.184, 3.834",\
                 "1.126, 1.167, 1.268, 1.415, 1.616, 1.887, 2.242, 2.688, 3.234, 3.883",\
                 "1.209, 1.249, 1.351, 1.498, 1.698, 1.969, 2.324, 2.77, 3.316, 3.967",\
                 "1.281, 1.321, 1.423, 1.57, 1.77, 2.041, 2.396, 2.843, 3.388, 4.039",\
                 "1.338, 1.378, 1.48, 1.627, 1.827, 2.098, 2.453, 2.9, 3.445, 4.096",\
                 "1.377, 1.417, 1.519, 1.666, 1.866, 2.137, 2.492, 2.939, 3.484, 4.135",\
                 "1.394, 1.435, 1.537, 1.683, 1.884, 2.155, 2.51, 2.956, 3.502, 4.152",\
                 "1.387, 1.427, 1.529, 1.676, 1.877, 2.148, 2.503, 2.949, 3.494, 4.145",\
                 "1.353, 1.393, 1.495, 1.642, 1.842, 2.113, 2.468, 2.915, 3.46, 4.11");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.9771, 1.02, 1.143, 1.367, 1.716, 2.205, 2.849, 3.659, 4.649, 5.829",\
                 "0.9905, 1.033, 1.157, 1.381, 1.73, 2.219, 2.862, 3.673, 4.664, 5.845",\
                 "1.04, 1.083, 1.206, 1.431, 1.78, 2.269, 2.912, 3.723, 4.713, 5.893",\
                 "1.123, 1.166, 1.289, 1.514, 1.863, 2.352, 2.995, 3.806, 4.796, 5.977",\
                 "1.198, 1.24, 1.364, 1.588, 1.937, 2.426, 3.07, 3.88, 4.87, 6.05",\
                 "1.258, 1.3, 1.424, 1.648, 1.997, 2.486, 3.13, 3.941, 4.931, 6.112",\
                 "1.302, 1.345, 1.468, 1.692, 2.041, 2.53, 3.174, 3.985, 4.974, 6.155",\
                 "1.326, 1.369, 1.492, 1.717, 2.065, 2.554, 3.198, 4.008, 4.997, 6.177",\
                 "1.327, 1.369, 1.493, 1.717, 2.066, 2.556, 3.199, 4.009, 4.998, 6.177",\
                 "1.302, 1.345, 1.468, 1.692, 2.041, 2.53, 3.173, 3.984, 4.973, 6.153");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.111, 0.1482, 0.2534, 0.4352, 0.7324, 1.172, 1.763, 2.514, 3.43, 4.53",\
                 "0.1114, 0.148, 0.2542, 0.4348, 0.7324, 1.172, 1.764, 2.513, 3.432, 4.528",\
                 "0.1114, 0.1484, 0.2538, 0.4346, 0.7316, 1.172, 1.765, 2.516, 3.433, 4.53",\
                 "0.111, 0.1482, 0.254, 0.435, 0.7322, 1.173, 1.765, 2.516, 3.434, 4.524",\
                 "0.1114, 0.1482, 0.2534, 0.4344, 0.7322, 1.173, 1.765, 2.515, 3.435, 4.524",\
                 "0.1114, 0.1484, 0.2534, 0.4348, 0.7308, 1.172, 1.765, 2.516, 3.434, 4.523",\
                 "0.1112, 0.1482, 0.2534, 0.4346, 0.7314, 1.173, 1.763, 2.513, 3.432, 4.527",\
                 "0.111, 0.1484, 0.2534, 0.4348, 0.731, 1.172, 1.764, 2.512, 3.426, 4.521",\
                 "0.111, 0.1482, 0.2536, 0.4346, 0.731, 1.172, 1.764, 2.512, 3.431, 4.517",\
                 "0.1114, 0.148, 0.2538, 0.4348, 0.7312, 1.173, 1.764, 2.516, 3.427, 4.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.1055, 0.159, 0.3464, 0.7328, 1.347, 2.207, 3.34, 4.768, 6.513, 8.596",\
                 "0.1052, 0.159, 0.346, 0.7328, 1.346, 2.207, 3.34, 4.77, 6.514, 8.598",\
                 "0.1054, 0.159, 0.3462, 0.7334, 1.346, 2.207, 3.34, 4.768, 6.513, 8.596",\
                 "0.1054, 0.159, 0.346, 0.7332, 1.347, 2.207, 3.34, 4.769, 6.514, 8.596",\
                 "0.105, 0.1592, 0.3458, 0.7334, 1.347, 2.206, 3.345, 4.767, 6.514, 8.592",\
                 "0.1052, 0.159, 0.3462, 0.7324, 1.346, 2.207, 3.346, 4.768, 6.516, 8.602",\
                 "0.1048, 0.1588, 0.3468, 0.733, 1.345, 2.206, 3.345, 4.771, 6.517, 8.599",\
                 "0.1052, 0.1592, 0.346, 0.7322, 1.345, 2.206, 3.339, 4.766, 6.511, 8.599",\
                 "0.1056, 0.1594, 0.3466, 0.7328, 1.347, 2.207, 3.339, 4.768, 6.514, 8.597",\
                 "0.1054, 0.1594, 0.3464, 0.733, 1.347, 2.208, 3.34, 4.771, 6.51, 8.591");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.6824, 0.7242, 0.8465, 1.071, 1.419, 1.908, 2.552, 3.364, 4.355, 5.535",\
                 "0.7003, 0.7423, 0.8649, 1.088, 1.437, 1.926, 2.57, 3.381, 4.372, 5.549",\
                 "0.7661, 0.808, 0.9305, 1.154, 1.503, 1.992, 2.636, 3.447, 4.438, 5.615",\
                 "0.8886, 0.9302, 1.053, 1.277, 1.625, 2.114, 2.758, 3.57, 4.559, 5.741",\
                 "1.046, 1.088, 1.211, 1.434, 1.782, 2.271, 2.915, 3.726, 4.717, 5.899",\
                 "1.227, 1.269, 1.392, 1.615, 1.963, 2.452, 3.095, 3.906, 4.895, 6.08",\
                 "1.43, 1.473, 1.596, 1.819, 2.166, 2.655, 3.298, 4.11, 5.1, 6.279",\
                 "1.652, 1.696, 1.82, 2.041, 2.389, 2.877, 3.52, 4.331, 5.321, 6.503",\
                 "1.892, 1.936, 2.061, 2.282, 2.629, 3.117, 3.76, 4.57, 5.559, 6.738",\
                 "2.149, 2.194, 2.318, 2.539, 2.886, 3.374, 4.017, 4.826, 5.816, 6.995");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.1032, 0.1563, 0.3431, 0.731, 1.344, 2.209, 3.34, 4.771, 6.519, 8.6",\
                 "0.1032, 0.1565, 0.3426, 0.7313, 1.344, 2.209, 3.339, 4.771, 6.518, 8.597",\
                 "0.1032, 0.1563, 0.343, 0.7312, 1.345, 2.208, 3.339, 4.771, 6.518, 8.595",\
                 "0.1036, 0.157, 0.343, 0.731, 1.346, 2.205, 3.341, 4.771, 6.52, 8.601",\
                 "0.1044, 0.1584, 0.3436, 0.731, 1.345, 2.206, 3.341, 4.771, 6.52, 8.596",\
                 "0.1074, 0.16, 0.3448, 0.7316, 1.344, 2.209, 3.341, 4.77, 6.516, 8.601",\
                 "0.11, 0.1632, 0.346, 0.731, 1.346, 2.205, 3.34, 4.769, 6.519, 8.599",\
                 "0.1134, 0.1664, 0.3482, 0.732, 1.345, 2.206, 3.338, 4.773, 6.515, 8.598",\
                 "0.1172, 0.1696, 0.3496, 0.732, 1.344, 2.205, 3.34, 4.767, 6.519, 8.596",\
                 "0.1206, 0.1726, 0.3508, 0.734, 1.345, 2.206, 3.338, 4.768, 6.511, 8.594");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.6831, 0.725, 0.8475, 1.071, 1.42, 1.909, 2.553, 3.364, 4.355, 5.532",\
                 "0.7007, 0.7426, 0.8651, 1.089, 1.437, 1.926, 2.57, 3.382, 4.373, 5.55",\
                 "0.7664, 0.808, 0.9306, 1.154, 1.503, 1.992, 2.636, 3.448, 4.439, 5.618",\
                 "0.889, 0.931, 1.053, 1.277, 1.625, 2.115, 2.758, 3.57, 4.558, 5.741",\
                 "1.046, 1.089, 1.211, 1.434, 1.783, 2.272, 2.915, 3.726, 4.717, 5.898",\
                 "1.228, 1.27, 1.393, 1.616, 1.963, 2.453, 3.096, 3.906, 4.898, 6.08",\
                 "1.431, 1.474, 1.597, 1.819, 2.167, 2.656, 3.299, 4.11, 5.102, 6.282",\
                 "1.653, 1.696, 1.82, 2.042, 2.389, 2.878, 3.521, 4.331, 5.321, 6.503",\
                 "1.893, 1.937, 2.061, 2.282, 2.629, 3.117, 3.76, 4.571, 5.56, 6.739",\
                 "2.15, 2.195, 2.319, 2.54, 2.886, 3.374, 4.017, 4.827, 5.816, 6.995");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.1031, 0.1563, 0.3429, 0.7311, 1.345, 2.208, 3.339, 4.771, 6.517, 8.597",\
                 "0.1031, 0.1564, 0.3429, 0.7312, 1.345, 2.208, 3.339, 4.771, 6.518, 8.595",\
                 "0.1032, 0.1565, 0.343, 0.7312, 1.345, 2.206, 3.34, 4.771, 6.515, 8.609",\
                 "0.1036, 0.1568, 0.343, 0.7312, 1.344, 2.207, 3.339, 4.771, 6.514, 8.602",\
                 "0.105, 0.1584, 0.3438, 0.7308, 1.346, 2.209, 3.341, 4.77, 6.521, 8.602",\
                 "0.1074, 0.1602, 0.3444, 0.7322, 1.344, 2.207, 3.338, 4.772, 6.519, 8.596",\
                 "0.11, 0.163, 0.3458, 0.732, 1.344, 2.206, 3.338, 4.77, 6.52, 8.603",\
                 "0.1138, 0.1664, 0.3478, 0.7318, 1.346, 2.207, 3.338, 4.776, 6.516, 8.601",\
                 "0.1166, 0.1692, 0.3494, 0.7322, 1.346, 2.206, 3.344, 4.766, 6.511, 8.597",\
                 "0.1198, 0.1724, 0.3508, 0.7326, 1.346, 2.207, 3.341, 4.771, 6.515, 8.594");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.8348, 0.8771, 0.9996, 1.222, 1.571, 2.06, 2.704, 3.514, 4.506, 5.684",\
                 "0.8524, 0.8947, 1.017, 1.24, 1.589, 2.078, 2.721, 3.533, 4.523, 5.704",\
                 "0.9186, 0.9609, 1.084, 1.306, 1.654, 2.144, 2.787, 3.598, 4.589, 5.767",\
                 "1.051, 1.093, 1.216, 1.439, 1.787, 2.276, 2.92, 3.731, 4.719, 5.902",\
                 "1.245, 1.287, 1.409, 1.632, 1.98, 2.469, 3.112, 3.924, 4.914, 6.095",\
                 "1.472, 1.515, 1.637, 1.86, 2.208, 2.696, 3.34, 4.151, 5.142, 6.322",\
                 "1.732, 1.775, 1.898, 2.119, 2.467, 2.955, 3.599, 4.409, 5.401, 6.578",\
                 "2.02, 2.064, 2.187, 2.409, 2.755, 3.244, 3.887, 4.697, 5.688, 6.866",\
                 "2.336, 2.38, 2.504, 2.724, 3.071, 3.559, 4.202, 5.013, 6.001, 7.18",\
                 "2.678, 2.723, 2.847, 3.067, 3.414, 3.901, 4.544, 5.355, 6.344, 7.523");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.1056, 0.1586, 0.3438, 0.7312, 1.345, 2.209, 3.341, 4.771, 6.52, 8.598",\
                 "0.1058, 0.1589, 0.344, 0.731, 1.346, 2.207, 3.341, 4.771, 6.516, 8.598",\
                 "0.106, 0.1584, 0.344, 0.7306, 1.346, 2.208, 3.34, 4.768, 6.52, 8.597",\
                 "0.106, 0.1588, 0.3438, 0.731, 1.346, 2.207, 3.338, 4.768, 6.515, 8.598",\
                 "0.1072, 0.1598, 0.3442, 0.7312, 1.346, 2.207, 3.341, 4.771, 6.517, 8.599",\
                 "0.109, 0.1616, 0.3454, 0.7318, 1.345, 2.208, 3.341, 4.769, 6.517, 8.601",\
                 "0.1106, 0.1642, 0.3464, 0.7314, 1.344, 2.206, 3.34, 4.771, 6.519, 8.593",\
                 "0.1134, 0.166, 0.3476, 0.7318, 1.345, 2.205, 3.34, 4.77, 6.516, 8.597",\
                 "0.1156, 0.169, 0.3486, 0.7322, 1.346, 2.206, 3.338, 4.768, 6.511, 8.594",\
                 "0.118, 0.1708, 0.3502, 0.7322, 1.344, 2.208, 3.34, 4.77, 6.51, 8.588");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.8351, 0.8773, 0.9996, 1.222, 1.571, 2.06, 2.703, 3.515, 4.506, 5.685",\
                 "0.8525, 0.8947, 1.017, 1.24, 1.589, 2.078, 2.721, 3.533, 4.523, 5.704",\
                 "0.9186, 0.9609, 1.084, 1.306, 1.654, 2.144, 2.787, 3.598, 4.589, 5.767",\
                 "1.051, 1.093, 1.216, 1.439, 1.787, 2.276, 2.92, 3.731, 4.719, 5.902",\
                 "1.245, 1.287, 1.41, 1.632, 1.98, 2.469, 3.113, 3.924, 4.914, 6.096",\
                 "1.472, 1.515, 1.638, 1.86, 2.208, 2.697, 3.34, 4.151, 5.142, 6.32",\
                 "1.731, 1.775, 1.898, 2.119, 2.467, 2.955, 3.599, 4.409, 5.399, 6.58",\
                 "2.02, 2.064, 2.187, 2.408, 2.756, 3.244, 3.887, 4.697, 5.687, 6.87",\
                 "2.336, 2.38, 2.504, 2.724, 3.071, 3.559, 4.202, 5.013, 6.001, 7.18",\
                 "2.678, 2.722, 2.846, 3.067, 3.413, 3.901, 4.543, 5.355, 6.343, 7.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.1055, 0.1586, 0.3447, 0.7312, 1.346, 2.204, 3.341, 4.771, 6.517, 8.601",\
                 "0.1058, 0.1589, 0.344, 0.731, 1.346, 2.207, 3.341, 4.771, 6.516, 8.598",\
                 "0.106, 0.1584, 0.3438, 0.7306, 1.346, 2.208, 3.34, 4.768, 6.52, 8.598",\
                 "0.1058, 0.1586, 0.3436, 0.731, 1.346, 2.206, 3.338, 4.77, 6.514, 8.598",\
                 "0.1066, 0.16, 0.3442, 0.7316, 1.345, 2.206, 3.341, 4.771, 6.52, 8.596",\
                 "0.1088, 0.1622, 0.3454, 0.7316, 1.346, 2.208, 3.34, 4.771, 6.518, 8.596",\
                 "0.111, 0.1646, 0.3464, 0.7312, 1.345, 2.206, 3.34, 4.771, 6.517, 8.599",\
                 "0.1132, 0.1664, 0.348, 0.732, 1.346, 2.205, 3.34, 4.767, 6.51, 8.6",\
                 "0.1158, 0.1692, 0.3488, 0.7322, 1.346, 2.206, 3.338, 4.768, 6.511, 8.594",\
                 "0.118, 0.1708, 0.3496, 0.7322, 1.344, 2.208, 3.337, 4.769, 6.511, 8.588");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.8348, 0.8771, 0.9996, 1.222, 1.571, 2.06, 2.704, 3.514, 4.506, 5.684",\
                 "0.8524, 0.8947, 1.017, 1.24, 1.589, 2.078, 2.721, 3.533, 4.523, 5.704",\
                 "0.9186, 0.9609, 1.084, 1.306, 1.654, 2.144, 2.787, 3.598, 4.589, 5.767",\
                 "1.051, 1.093, 1.216, 1.439, 1.787, 2.276, 2.92, 3.731, 4.719, 5.902",\
                 "1.245, 1.287, 1.409, 1.632, 1.98, 2.469, 3.112, 3.924, 4.914, 6.095",\
                 "1.472, 1.515, 1.637, 1.86, 2.208, 2.696, 3.34, 4.151, 5.142, 6.322",\
                 "1.732, 1.775, 1.898, 2.119, 2.467, 2.955, 3.599, 4.409, 5.401, 6.578",\
                 "2.02, 2.064, 2.187, 2.409, 2.755, 3.244, 3.887, 4.697, 5.688, 6.866",\
                 "2.336, 2.38, 2.504, 2.724, 3.071, 3.559, 4.202, 5.013, 6.001, 7.18",\
                 "2.678, 2.723, 2.847, 3.067, 3.414, 3.901, 4.544, 5.355, 6.344, 7.523");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005946, 0.02331, 0.05646, 0.1081, 0.1806, 0.2759, 0.3961, 0.5428, 0.7176");
          values("0.1031, 0.1563, 0.3429, 0.7311, 1.345, 2.208, 3.339, 4.771, 6.517, 8.597",\
                 "0.1031, 0.1564, 0.3429, 0.7312, 1.345, 2.208, 3.339, 4.771, 6.518, 8.595",\
                 "0.1032, 0.1565, 0.343, 0.7312, 1.345, 2.206, 3.34, 4.771, 6.515, 8.609",\
                 "0.1036, 0.1568, 0.343, 0.7312, 1.344, 2.207, 3.339, 4.771, 6.514, 8.602",\
                 "0.105, 0.1584, 0.3438, 0.7308, 1.346, 2.209, 3.341, 4.77, 6.521, 8.602",\
                 "0.1074, 0.1602, 0.3444, 0.7322, 1.344, 2.207, 3.338, 4.772, 6.519, 8.596",\
                 "0.11, 0.163, 0.3458, 0.732, 1.344, 2.206, 3.338, 4.77, 6.52, 8.603",\
                 "0.1138, 0.1664, 0.3478, 0.7318, 1.346, 2.207, 3.338, 4.776, 6.516, 8.601",\
                 "0.1166, 0.1692, 0.3494, 0.7322, 1.346, 2.206, 3.344, 4.766, 6.511, 8.597",\
                 "0.1198, 0.1724, 0.3508, 0.7326, 1.346, 2.207, 3.341, 4.771, 6.515, 8.594");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006415 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.592 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06464, 0.06429, 0.06471, 0.06834, 0.07602, 0.08853, 0.106, 0.1289, \
                 0.1575, 0.1919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007932, 0.00771, 0.008111, 0.01081, 0.01705, 0.02755, 0.04256, \
                 0.06238, 0.08721, 0.1173");
        }
      }

      internal_power() {
        when : "!CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02009, 0.02002, 0.02001, 0.01997, 0.02005, 0.02003, 0.02001, \
                 0.02001, 0.02002, 0.02001");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01319, -0.01317, -0.01313, -0.01316, -0.01323, -0.01325, -0.01325, \
                 -0.01325, -0.0133, -0.0133");
        }
      }

      internal_power() {
        when : "CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02008, 0.02005, 0.01999, 0.01999, 0.02, 0.02003, 0.02002, 0.02002, \
                 0.02003, 0.02002");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01318, -0.01317, -0.01317, -0.01319, -0.01323, -0.01325, -0.01326, \
                 -0.01326, -0.01328, -0.0133");
        }
      }

      internal_power() {
        when : "CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0201, 0.02002, 0.02001, 0.01999, 0.02001, 0.02003, 0.02003, \
                 0.02, 0.02002, 0.02003");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01317, -0.01317, -0.01317, -0.01317, -0.01323, -0.01325, -0.01325, \
                 -0.01325, -0.01328, -0.01331");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : recovery_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.063, -0.07, -0.13, -0.208, -0.285, -0.336, -0.369, -0.384, -0.37, -0.324",\
                 "-0.054, -0.064, -0.118, -0.209, -0.278, -0.33, -0.364, -0.374, -0.362, -0.314",\
                 "-0.015, -0.024, -0.078, -0.166, -0.234, -0.289, -0.329, -0.335, -0.321, -0.273",\
                 "0.072, 0.054, -0.001, -0.084, -0.158, -0.205, -0.245, -0.255, -0.233, -0.192",\
                 "0.196, 0.186, 0.13, 0.037, -0.033, -0.091, -0.124, -0.13, -0.111, -0.069",\
                 "0.411, 0.406, 0.341, 0.235, 0.153, 0.086, 0.052, 0.036, 0.048, 0.097",\
                 "0.825, 0.827, 0.737, 0.586, 0.474, 0.406, 0.331, 0.296, 0.31, 0.338",\
                 "1.417, 1.407, 1.318, 1.151, 1.005, 0.941, 0.846, 0.79, 0.773, 0.797",\
                 "2.144, 2.144, 2.034, 1.867, 1.72, 1.602, 1.492, 1.448, 1.439, 1.478",\
                 "2.996, 3.013, 2.869, 2.644, 2.459, 2.386, 2.238, 2.203, 2.197, 2.242");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : removal_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.349, 0.363, 0.415, 0.499, 0.568, 0.629, 0.664, 0.685, 0.672, 0.642",\
                 "0.34, 0.357, 0.408, 0.488, 0.564, 0.618, 0.655, 0.673, 0.667, 0.628",\
                 "0.299, 0.314, 0.362, 0.445, 0.522, 0.577, 0.61, 0.628, 0.619, 0.59",\
                 "0.229, 0.245, 0.292, 0.376, 0.443, 0.505, 0.545, 0.556, 0.556, 0.518",\
                 "0.154, 0.17, 0.218, 0.302, 0.37, 0.425, 0.468, 0.486, 0.48, 0.445",\
                 "0.096, 0.106, 0.157, 0.241, 0.303, 0.356, 0.392, 0.41, 0.402, 0.369",\
                 "0.044, 0.064, 0.115, 0.194, 0.253, 0.308, 0.339, 0.348, 0.34, 0.304",\
                 "0.011, 0.026, 0.075, 0.152, 0.218, 0.272, 0.306, 0.309, 0.293, 0.256",\
                 "-0.011, 0.007, 0.051, 0.134, 0.201, 0.248, 0.274, 0.287, 0.272, 0.233",\
                 "-0.012, 0.001, 0.049, 0.126, 0.193, 0.24, 0.274, 0.279, 0.262, 0.22");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D" ;

        fall_constraint(scalar) {
          values("0.592");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D" ;

        fall_constraint(scalar) {
          values("0.592");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dffsnq_4) {
    area : 94.393600 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "D" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SETN" ;
      value : "0.0002242845" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SETN" ;
      value : "0.0003239412" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SETN" ;
      value : "0.0002222748" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SETN" ;
      value : "0.0003182949" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SETN" ;
      value : "0.0002389794" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SETN" ;
      value : "0.0002873244" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SETN" ;
      value : "0.0002377221" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SETN" ;
      value : "0.000329274" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000329274" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003361 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 1.632 ;
      min_pulse_width_high : 0.807 ;
      min_pulse_width_low : 0.676 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.188, 0.1876, 0.1883, 0.1948, 0.2081, 0.2287, 0.2573, 0.2941, \
                 0.3394, 0.3937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1265, 0.1262, 0.1267, 0.1314, 0.1411, 0.1573, 0.1802, 0.2105, \
                 0.2481, 0.2935");
        }
      }

      internal_power() {
        when : "!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1285, 0.1281, 0.1288, 0.1343, 0.1459, 0.1644, 0.1903, 0.2244, \
                 0.2669, 0.3181");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1007, 0.1004, 0.1009, 0.1054, 0.1149, 0.1308, 0.1536, 0.1836, \
                 0.221, 0.2662");
        }
      }

      internal_power() {
        when : "D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.128, 0.1276, 0.1283, 0.1338, 0.1455, 0.1639, 0.1899, 0.2239, \
                 0.2664, 0.3175");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1033, 0.103, 0.1034, 0.108, 0.1173, 0.1333, 0.1561, 0.1861, \
                 0.2235, 0.2686");
        }
      }

      internal_power() {
        when : "D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.128, 0.1276, 0.1283, 0.1338, 0.1454, 0.1639, 0.1899, 0.224, \
                 0.2664, 0.3176");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1033, 0.103, 0.1034, 0.1079, 0.1174, 0.1334, 0.1561, 0.1861, \
                 0.2234, 0.2685");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SETN" ;

        fall_constraint(scalar) {
          values("0.676");
        }

        rise_constraint(scalar) {
          values("0.749");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SETN" ;

        fall_constraint(scalar) {
          values("0.571");
        }

        rise_constraint(scalar) {
          values("0.807");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SETN" ;

        rise_constraint(scalar) {
          values("1.55");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SETN" ;

        rise_constraint(scalar) {
          values("1.632");
        }
      }
    }

    pin(D) {
      capacitance : 0.002596 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06513, 0.06485, 0.06574, 0.06964, 0.07746, 0.08977, 0.1072, \
                 0.1301, 0.1589, 0.1937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02413, 0.024, 0.02486, 0.02798, 0.03422, 0.0443, 0.05871, 0.07787, \
                 0.1021, 0.1317");
        }
      }

      internal_power() {
        when : "!CLK&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09138, 0.09107, 0.09203, 0.09633, 0.1053, 0.1192, 0.1387, 0.1643, \
                 0.1961, 0.2346");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07816, 0.07802, 0.07885, 0.08238, 0.08926, 0.1005, 0.1165, 0.1376, \
                 0.1641, 0.1964");
        }
      }

      internal_power() {
        when : "CLK&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02486, 0.02433, 0.02609, 0.03155, 0.04116, 0.05544, 0.0747, \
                 0.0993, 0.1296, 0.1659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002853, 0.002612, 0.003625, 0.007729, 0.01557, 0.02758, 0.0439, \
                 0.06486, 0.0907, 0.1217");
        }
      }

      internal_power() {
        when : "CLK&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02485, 0.02434, 0.0261, 0.03153, 0.04118, 0.05542, 0.07471, \
                 0.09929, 0.1296, 0.1659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002838, 0.002617, 0.003625, 0.007728, 0.01559, 0.02756, 0.04389, \
                 0.06484, 0.09071, 0.1217");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.023, 0.035, 0.087, 0.162, 0.226, 0.273, 0.293, 0.296, 0.282, 0.231",\
                 "0.005, 0.023, 0.071, 0.151, 0.209, 0.253, 0.278, 0.284, 0.265, 0.219",\
                 "-0.06, -0.047, -0, 0.08, 0.139, 0.188, 0.212, 0.218, 0.197, 0.15",\
                 "-0.18, -0.17, -0.12, -0.046, 0.016, 0.067, 0.096, 0.095, 0.076, 0.031",\
                 "-0.345, -0.325, -0.277, -0.21, -0.148, -0.092, -0.07, -0.062, -0.078, -0.126",\
                 "-0.537, -0.53, -0.481, -0.41, -0.354, -0.308, -0.274, -0.272, -0.29, -0.33",\
                 "-0.774, -0.759, -0.719, -0.655, -0.605, -0.554, -0.525, -0.52, -0.541, -0.581",\
                 "-1.045, -1.025, -0.988, -0.93, -0.886, -0.839, -0.817, -0.813, -0.834, -0.876",\
                 "-1.333, -1.318, -1.289, -1.238, -1.21, -1.162, -1.15, -1.151, -1.167, -1.217",\
                 "-1.668, -1.655, -1.619, -1.58, -1.559, -1.532, -1.517, -1.525, -1.548, -1.596");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.063, -0.054, -0.009, 0.035, 0.062, 0.065, 0.057, 0.024, -0.029, -0.107",\
                 "-0.077, -0.064, -0.024, 0.025, 0.047, 0.052, 0.047, 0.01, -0.04, -0.121",\
                 "-0.119, -0.106, -0.063, -0.019, 0.008, 0.015, 0.013, -0.025, -0.076, -0.156",\
                 "-0.153, -0.141, -0.102, -0.061, -0.032, -0.021, -0.034, -0.065, -0.116, -0.198",\
                 "-0.174, -0.162, -0.121, -0.078, -0.047, -0.04, -0.052, -0.091, -0.144, -0.228",\
                 "-0.163, -0.147, -0.104, -0.067, -0.039, -0.038, -0.052, -0.087, -0.148, -0.233",\
                 "-0.116, -0.099, -0.057, -0.026, -0.004, -0.002, -0.016, -0.052, -0.121, -0.202",\
                 "-0.03, -0.016, 0.025, 0.059, 0.077, 0.078, 0.052, 0.012, -0.058, -0.142",\
                 "0.108, 0.119, 0.159, 0.185, 0.192, 0.19, 0.162, 0.111, 0.046, -0.046",\
                 "0.285, 0.294, 0.328, 0.344, 0.36, 0.343, 0.317, 0.263, 0.19, 0.087");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.372, 0.361, 0.315, 0.256, 0.206, 0.182, 0.179, 0.2, 0.267, 0.483",\
                 "0.391, 0.381, 0.332, 0.264, 0.224, 0.195, 0.193, 0.205, 0.28, 0.499",\
                 "0.458, 0.444, 0.402, 0.338, 0.296, 0.266, 0.26, 0.274, 0.349, 0.543",\
                 "0.598, 0.585, 0.538, 0.475, 0.428, 0.395, 0.394, 0.406, 0.475, 0.658",\
                 "0.784, 0.772, 0.73, 0.665, 0.613, 0.583, 0.573, 0.588, 0.646, 0.777",\
                 "1.021, 1.007, 0.96, 0.9, 0.845, 0.81, 0.8, 0.811, 0.861, 0.964",\
                 "1.305, 1.29, 1.244, 1.175, 1.126, 1.093, 1.082, 1.086, 1.137, 1.223",\
                 "1.63, 1.622, 1.572, 1.505, 1.456, 1.421, 1.412, 1.414, 1.455, 1.531",\
                 "2.009, 1.999, 1.951, 1.876, 1.833, 1.796, 1.781, 1.786, 1.828, 1.893",\
                 "2.439, 2.426, 2.381, 2.308, 2.251, 2.218, 2.209, 2.219, 2.251, 2.318");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.378, 0.374, 0.305, 0.211, 0.154, 0.125, 0.12, 0.147, 0.196, 0.274",\
                 "0.391, 0.381, 0.314, 0.225, 0.162, 0.136, 0.133, 0.157, 0.208, 0.284",\
                 "0.442, 0.426, 0.362, 0.263, 0.21, 0.183, 0.178, 0.199, 0.25, 0.323",\
                 "0.499, 0.488, 0.416, 0.322, 0.259, 0.226, 0.224, 0.246, 0.291, 0.367",\
                 "0.539, 0.525, 0.461, 0.359, 0.296, 0.268, 0.253, 0.277, 0.324, 0.395",\
                 "0.549, 0.536, 0.475, 0.381, 0.311, 0.27, 0.261, 0.281, 0.326, 0.408",\
                 "0.538, 0.518, 0.456, 0.366, 0.296, 0.258, 0.242, 0.257, 0.31, 0.388",\
                 "0.485, 0.47, 0.41, 0.316, 0.242, 0.2, 0.192, 0.206, 0.253, 0.334",\
                 "0.401, 0.386, 0.313, 0.233, 0.158, 0.114, 0.092, 0.111, 0.163, 0.244",\
                 "0.268, 0.256, 0.193, 0.104, 0.028, -0.019, -0.038, -0.015, 0.035, 0.118");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.44 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.3282, 0.3192, 0.3102, 0.3065, 0.3051, 0.3043, 0.3038, 0.3035, 0.3033, 0.3033",\
                 "0.3283, 0.3193, 0.3103, 0.3065, 0.3051, 0.3042, 0.3037, 0.3035, 0.3033, 0.3033",\
                 "0.3283, 0.3193, 0.3102, 0.3066, 0.3052, 0.3043, 0.3039, 0.3036, 0.3034, 0.3033",\
                 "0.3286, 0.3197, 0.3107, 0.3069, 0.3054, 0.3046, 0.3043, 0.304, 0.3038, 0.3037",\
                 "0.3293, 0.3203, 0.3113, 0.3077, 0.306, 0.3055, 0.305, 0.3046, 0.3045, 0.3044",\
                 "0.3298, 0.3209, 0.3118, 0.3082, 0.3065, 0.3058, 0.3054, 0.3052, 0.3051, 0.3049",\
                 "0.3306, 0.3216, 0.3128, 0.309, 0.3075, 0.3067, 0.3062, 0.3059, 0.3058, 0.3057",\
                 "0.3314, 0.3225, 0.3137, 0.3099, 0.3081, 0.3076, 0.3072, 0.3069, 0.3067, 0.3065",\
                 "0.3324, 0.3235, 0.3147, 0.3107, 0.309, 0.3085, 0.3081, 0.3076, 0.3075, 0.3074",\
                 "0.3333, 0.3243, 0.3152, 0.3116, 0.31, 0.3091, 0.3086, 0.3084, 0.3082, 0.3082");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.3552, 0.3493, 0.3426, 0.3405, 0.3415, 0.3432, 0.3459, 0.3475, 0.3505, 0.3682",\
                 "0.355, 0.3494, 0.3426, 0.3406, 0.3413, 0.3432, 0.3462, 0.3481, 0.3515, 0.3688",\
                 "0.3552, 0.3493, 0.3423, 0.3404, 0.3404, 0.3435, 0.3462, 0.348, 0.3511, 0.3702",\
                 "0.3552, 0.3496, 0.3425, 0.3406, 0.3415, 0.3432, 0.3463, 0.3481, 0.3512, 0.3725",\
                 "0.3557, 0.3502, 0.3432, 0.3412, 0.3417, 0.3437, 0.3467, 0.3483, 0.3518, 0.3759",\
                 "0.3561, 0.3503, 0.3433, 0.3415, 0.3412, 0.3438, 0.3465, 0.3491, 0.3523, 0.3825",\
                 "0.3574, 0.3514, 0.3445, 0.3414, 0.3446, 0.3459, 0.3489, 0.352, 0.3541, 0.3904",\
                 "0.3587, 0.3525, 0.3451, 0.3438, 0.3431, 0.3472, 0.3509, 0.353, 0.356, 0.4027",\
                 "0.3609, 0.3553, 0.3486, 0.3454, 0.3456, 0.3479, 0.3522, 0.3576, 0.3647, 0.4301",\
                 "0.3635, 0.3577, 0.3504, 0.3478, 0.3472, 0.3483, 0.3516, 0.3592, 0.3741, 0.4744");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.3385, 0.3336, 0.328, 0.3249, 0.3259, 0.3292, 0.3316, 0.3338, 0.3371, 0.3497",\
                 "0.3385, 0.3333, 0.3275, 0.3252, 0.3262, 0.3289, 0.3313, 0.3331, 0.3385, 0.3513",\
                 "0.3391, 0.334, 0.3282, 0.326, 0.327, 0.3295, 0.3322, 0.3344, 0.3368, 0.3548",\
                 "0.3442, 0.3393, 0.3336, 0.3312, 0.3325, 0.3354, 0.3375, 0.3397, 0.3421, 0.3605",\
                 "0.3592, 0.3542, 0.3472, 0.3449, 0.3456, 0.3479, 0.3516, 0.3524, 0.3569, 0.3779",\
                 "0.3822, 0.377, 0.3695, 0.3664, 0.3661, 0.3694, 0.3714, 0.3746, 0.3775, 0.4051",\
                 "0.4148, 0.4085, 0.4001, 0.3952, 0.3968, 0.3984, 0.3997, 0.4015, 0.4063, 0.4433",\
                 "0.4545, 0.4476, 0.4384, 0.4322, 0.4311, 0.4349, 0.4383, 0.439, 0.4432, 0.4979",\
                 "0.4976, 0.4901, 0.4799, 0.4733, 0.4714, 0.4713, 0.4777, 0.4796, 0.4901, 0.5729",\
                 "0.5443, 0.5365, 0.5251, 0.5174, 0.515, 0.5138, 0.5161, 0.5249, 0.5413, 0.6814");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.3385, 0.3336, 0.328, 0.3249, 0.3259, 0.3292, 0.3316, 0.3338, 0.3371, 0.3497",\
                 "0.3385, 0.3333, 0.3275, 0.3252, 0.3262, 0.3289, 0.3313, 0.3331, 0.3385, 0.3513",\
                 "0.3391, 0.334, 0.3282, 0.326, 0.327, 0.3295, 0.3322, 0.3344, 0.3368, 0.3548",\
                 "0.3442, 0.3393, 0.3336, 0.3312, 0.3325, 0.3354, 0.3375, 0.3397, 0.3421, 0.3605",\
                 "0.3592, 0.3542, 0.3472, 0.3449, 0.3456, 0.3479, 0.3516, 0.3524, 0.3569, 0.3779",\
                 "0.3822, 0.377, 0.3695, 0.3664, 0.3661, 0.3694, 0.3714, 0.3746, 0.3775, 0.4051",\
                 "0.4148, 0.4085, 0.4001, 0.3952, 0.3968, 0.3984, 0.3997, 0.4015, 0.4063, 0.4433",\
                 "0.4545, 0.4476, 0.4384, 0.4322, 0.4311, 0.4349, 0.4383, 0.439, 0.4432, 0.4979",\
                 "0.4976, 0.4901, 0.4799, 0.4733, 0.4714, 0.4713, 0.4777, 0.4796, 0.4901, 0.5729",\
                 "0.5443, 0.5365, 0.5251, 0.5174, 0.515, 0.5138, 0.5161, 0.5249, 0.5413, 0.6814");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.3378, 0.3328, 0.3268, 0.325, 0.3259, 0.3286, 0.3306, 0.3328, 0.3381, 0.3513",\
                 "0.3379, 0.3329, 0.327, 0.325, 0.3259, 0.3286, 0.3306, 0.3328, 0.3352, 0.351",\
                 "0.3385, 0.3334, 0.3276, 0.3257, 0.3265, 0.329, 0.3317, 0.3359, 0.3379, 0.3543",\
                 "0.3441, 0.3389, 0.3329, 0.3313, 0.3316, 0.3352, 0.3366, 0.3408, 0.3419, 0.36",\
                 "0.3588, 0.3537, 0.3471, 0.3441, 0.3448, 0.3471, 0.3505, 0.3553, 0.3558, 0.3795",\
                 "0.3817, 0.3761, 0.3682, 0.3659, 0.3656, 0.3685, 0.3719, 0.3728, 0.3786, 0.4026",\
                 "0.4146, 0.4087, 0.4002, 0.3949, 0.3972, 0.3983, 0.401, 0.4027, 0.4062, 0.4436",\
                 "0.4541, 0.4472, 0.4377, 0.4317, 0.431, 0.4352, 0.4366, 0.4373, 0.4451, 0.4976",\
                 "0.4978, 0.4898, 0.4802, 0.4745, 0.471, 0.4715, 0.4785, 0.4821, 0.488, 0.5698",\
                 "0.5444, 0.5364, 0.5256, 0.517, 0.5141, 0.5134, 0.5154, 0.525, 0.5416, 0.683");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.3378, 0.3328, 0.3268, 0.325, 0.3259, 0.3286, 0.3306, 0.3328, 0.3381, 0.3513",\
                 "0.3379, 0.3329, 0.327, 0.325, 0.3259, 0.3286, 0.3306, 0.3328, 0.3352, 0.351",\
                 "0.3385, 0.3334, 0.3276, 0.3257, 0.3265, 0.329, 0.3317, 0.3359, 0.3379, 0.3543",\
                 "0.3441, 0.3389, 0.3329, 0.3313, 0.3316, 0.3352, 0.3366, 0.3408, 0.3419, 0.36",\
                 "0.3588, 0.3537, 0.3471, 0.3441, 0.3448, 0.3471, 0.3505, 0.3553, 0.3558, 0.3795",\
                 "0.3817, 0.3761, 0.3682, 0.3659, 0.3656, 0.3685, 0.3719, 0.3728, 0.3786, 0.4026",\
                 "0.4146, 0.4087, 0.4002, 0.3949, 0.3972, 0.3983, 0.401, 0.4027, 0.4062, 0.4436",\
                 "0.4541, 0.4472, 0.4377, 0.4317, 0.431, 0.4352, 0.4366, 0.4373, 0.4451, 0.4976",\
                 "0.4978, 0.4898, 0.4802, 0.4745, 0.471, 0.4715, 0.4785, 0.4821, 0.488, 0.5698",\
                 "0.5444, 0.5364, 0.5256, 0.517, 0.5141, 0.5134, 0.5154, 0.525, 0.5416, 0.683");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.4275, 0.4218, 0.4152, 0.4119, 0.4123, 0.4146, 0.4173, 0.4189, 0.4222, 0.4386",\
                 "0.4267, 0.4212, 0.4139, 0.4111, 0.4119, 0.4143, 0.417, 0.4192, 0.4239, 0.4377",\
                 "0.4282, 0.4228, 0.4157, 0.4127, 0.413, 0.4153, 0.4174, 0.4199, 0.4233, 0.4406",\
                 "0.4362, 0.4306, 0.4233, 0.4207, 0.4217, 0.4239, 0.427, 0.4285, 0.4332, 0.4506",\
                 "0.4597, 0.4537, 0.4464, 0.4432, 0.4435, 0.446, 0.4484, 0.4499, 0.4531, 0.4776",\
                 "0.4985, 0.4925, 0.4849, 0.4809, 0.4802, 0.4823, 0.4847, 0.4868, 0.4905, 0.5198",\
                 "0.5514, 0.545, 0.5363, 0.532, 0.5315, 0.5325, 0.5342, 0.5369, 0.5408, 0.583",\
                 "0.6173, 0.6108, 0.6008, 0.5948, 0.5947, 0.5978, 0.5992, 0.5996, 0.6059, 0.666",\
                 "0.692, 0.6847, 0.6742, 0.6676, 0.665, 0.6658, 0.6715, 0.6731, 0.682, 0.7778",\
                 "0.7726, 0.7649, 0.7543, 0.7468, 0.7438, 0.7427, 0.7454, 0.7551, 0.7722, 0.9389");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.4275, 0.4218, 0.4152, 0.4119, 0.4123, 0.4146, 0.4173, 0.4189, 0.4222, 0.4386",\
                 "0.4267, 0.4212, 0.4139, 0.4111, 0.4119, 0.4143, 0.417, 0.4192, 0.4239, 0.4377",\
                 "0.4282, 0.4228, 0.4157, 0.4127, 0.413, 0.4153, 0.4174, 0.4199, 0.4233, 0.4406",\
                 "0.4362, 0.4306, 0.4233, 0.4207, 0.4217, 0.4239, 0.427, 0.4285, 0.4332, 0.4506",\
                 "0.4597, 0.4537, 0.4464, 0.4432, 0.4435, 0.446, 0.4484, 0.4499, 0.4531, 0.4776",\
                 "0.4985, 0.4925, 0.4849, 0.4809, 0.4802, 0.4823, 0.4847, 0.4868, 0.4905, 0.5198",\
                 "0.5514, 0.545, 0.5363, 0.532, 0.5315, 0.5325, 0.5342, 0.5369, 0.5408, 0.583",\
                 "0.6173, 0.6108, 0.6008, 0.5948, 0.5947, 0.5978, 0.5992, 0.5996, 0.6059, 0.666",\
                 "0.692, 0.6847, 0.6742, 0.6676, 0.665, 0.6658, 0.6715, 0.6731, 0.682, 0.7778",\
                 "0.7726, 0.7649, 0.7543, 0.7468, 0.7438, 0.7427, 0.7454, 0.7551, 0.7722, 0.9389");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.4271, 0.4218, 0.4143, 0.4118, 0.4122, 0.4146, 0.4176, 0.4192, 0.4225, 0.4376",\
                 "0.4267, 0.4211, 0.4139, 0.411, 0.4118, 0.4143, 0.4163, 0.4189, 0.4222, 0.436",\
                 "0.428, 0.4226, 0.4158, 0.4128, 0.4136, 0.416, 0.4177, 0.4196, 0.424, 0.4412",\
                 "0.4362, 0.4307, 0.4236, 0.4205, 0.4218, 0.4239, 0.427, 0.4285, 0.4333, 0.4506",\
                 "0.4594, 0.454, 0.4463, 0.4431, 0.4435, 0.4454, 0.4477, 0.4506, 0.4544, 0.4763",\
                 "0.4985, 0.4927, 0.4846, 0.4803, 0.4798, 0.4823, 0.4847, 0.4871, 0.4915, 0.5214",\
                 "0.5514, 0.5451, 0.5363, 0.5313, 0.5314, 0.5321, 0.5348, 0.5363, 0.5412, 0.5833",\
                 "0.6179, 0.611, 0.601, 0.5952, 0.594, 0.5978, 0.5985, 0.6009, 0.6059, 0.6644",\
                 "0.6925, 0.6853, 0.6743, 0.6682, 0.6645, 0.6658, 0.6734, 0.6734, 0.6826, 0.7829",\
                 "0.7728, 0.7649, 0.7536, 0.7478, 0.7432, 0.744, 0.7457, 0.7548, 0.7726, 0.94");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.4271, 0.4218, 0.4143, 0.4118, 0.4122, 0.4146, 0.4176, 0.4192, 0.4225, 0.4376",\
                 "0.4267, 0.4211, 0.4139, 0.411, 0.4118, 0.4143, 0.4163, 0.4189, 0.4222, 0.436",\
                 "0.428, 0.4226, 0.4158, 0.4128, 0.4136, 0.416, 0.4177, 0.4196, 0.424, 0.4412",\
                 "0.4362, 0.4307, 0.4236, 0.4205, 0.4218, 0.4239, 0.427, 0.4285, 0.4333, 0.4506",\
                 "0.4594, 0.454, 0.4463, 0.4431, 0.4435, 0.4454, 0.4477, 0.4506, 0.4544, 0.4763",\
                 "0.4985, 0.4927, 0.4846, 0.4803, 0.4798, 0.4823, 0.4847, 0.4871, 0.4915, 0.5214",\
                 "0.5514, 0.5451, 0.5363, 0.5313, 0.5314, 0.5321, 0.5348, 0.5363, 0.5412, 0.5833",\
                 "0.6179, 0.611, 0.601, 0.5952, 0.594, 0.5978, 0.5985, 0.6009, 0.6059, 0.6644",\
                 "0.6925, 0.6853, 0.6743, 0.6682, 0.6645, 0.6658, 0.6734, 0.6734, 0.6826, 0.7829",\
                 "0.7728, 0.7649, 0.7536, 0.7478, 0.7432, 0.744, 0.7457, 0.7548, 0.7726, 0.94");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("1.157, 1.197, 1.296, 1.439, 1.638, 1.91, 2.266, 2.715, 3.263, 3.916",\
                 "1.17, 1.211, 1.31, 1.453, 1.652, 1.923, 2.28, 2.728, 3.276, 3.93",\
                 "1.221, 1.261, 1.36, 1.504, 1.702, 1.974, 2.33, 2.779, 3.327, 3.98",\
                 "1.303, 1.344, 1.442, 1.586, 1.785, 2.056, 2.413, 2.862, 3.41, 4.063",\
                 "1.376, 1.416, 1.515, 1.659, 1.857, 2.129, 2.485, 2.934, 3.482, 4.135",\
                 "1.433, 1.474, 1.573, 1.716, 1.915, 2.186, 2.542, 2.991, 3.539, 4.192",\
                 "1.473, 1.513, 1.613, 1.756, 1.955, 2.226, 2.583, 3.031, 3.579, 4.232",\
                 "1.492, 1.532, 1.631, 1.774, 1.973, 2.245, 2.601, 3.05, 3.598, 4.251",\
                 "1.485, 1.525, 1.624, 1.768, 1.966, 2.238, 2.595, 3.043, 3.591, 4.244",\
                 "1.451, 1.492, 1.591, 1.734, 1.933, 2.204, 2.561, 3.01, 3.558, 4.21");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("1.071, 1.115, 1.239, 1.464, 1.813, 2.305, 2.951, 3.765, 4.759, 5.944",\
                 "1.084, 1.128, 1.253, 1.477, 1.827, 2.318, 2.964, 3.778, 4.772, 5.958",\
                 "1.135, 1.179, 1.303, 1.527, 1.877, 2.369, 3.014, 3.829, 4.822, 6.008",\
                 "1.218, 1.262, 1.386, 1.61, 1.96, 2.452, 3.097, 3.912, 4.905, 6.091",\
                 "1.292, 1.336, 1.46, 1.685, 2.034, 2.526, 3.172, 3.986, 4.98, 6.165",\
                 "1.352, 1.396, 1.52, 1.744, 2.094, 2.585, 3.232, 4.045, 5.04, 6.223",\
                 "1.396, 1.439, 1.564, 1.788, 2.138, 2.629, 3.275, 4.089, 5.083, 6.267",\
                 "1.419, 1.463, 1.587, 1.812, 2.162, 2.653, 3.299, 4.113, 5.107, 6.292",\
                 "1.42, 1.464, 1.588, 1.812, 2.162, 2.653, 3.3, 4.113, 5.106, 6.29",\
                 "1.395, 1.439, 1.563, 1.787, 2.137, 2.628, 3.275, 4.089, 5.082, 6.267");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.1046, 0.1408, 0.2428, 0.4242, 0.7274, 1.174, 1.77, 2.524, 3.443, 4.541",\
                 "0.1046, 0.1412, 0.243, 0.4244, 0.727, 1.173, 1.768, 2.524, 3.444, 4.543",\
                 "0.105, 0.141, 0.2436, 0.4248, 0.727, 1.173, 1.77, 2.521, 3.443, 4.543",\
                 "0.1046, 0.1408, 0.2432, 0.4246, 0.7278, 1.174, 1.77, 2.524, 3.442, 4.541",\
                 "0.105, 0.141, 0.2436, 0.4248, 0.7276, 1.174, 1.77, 2.524, 3.442, 4.54",\
                 "0.1042, 0.1406, 0.2434, 0.4246, 0.7274, 1.173, 1.77, 2.524, 3.442, 4.54",\
                 "0.1044, 0.1408, 0.2428, 0.4244, 0.7264, 1.172, 1.767, 2.521, 3.444, 4.544",\
                 "0.1044, 0.1406, 0.2432, 0.4244, 0.7274, 1.173, 1.769, 2.52, 3.439, 4.538",\
                 "0.1044, 0.1412, 0.2428, 0.4244, 0.7272, 1.172, 1.769, 2.521, 3.439, 4.536",\
                 "0.1046, 0.141, 0.243, 0.4242, 0.7272, 1.172, 1.77, 2.522, 3.443, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.1046, 0.1578, 0.3432, 0.7302, 1.347, 2.212, 3.352, 4.791, 6.538, 8.625",\
                 "0.1038, 0.1572, 0.3432, 0.7304, 1.345, 2.212, 3.351, 4.791, 6.537, 8.627",\
                 "0.1042, 0.1574, 0.343, 0.7306, 1.344, 2.212, 3.351, 4.791, 6.538, 8.627",\
                 "0.1046, 0.1576, 0.343, 0.7294, 1.347, 2.212, 3.351, 4.791, 6.536, 8.628",\
                 "0.1036, 0.1572, 0.3424, 0.7292, 1.345, 2.212, 3.351, 4.79, 6.536, 8.627",\
                 "0.1038, 0.1574, 0.3426, 0.73, 1.345, 2.21, 3.349, 4.782, 6.534, 8.63",\
                 "0.104, 0.1578, 0.343, 0.7298, 1.345, 2.209, 3.35, 4.782, 6.537, 8.629",\
                 "0.1044, 0.1578, 0.3428, 0.7298, 1.345, 2.21, 3.348, 4.789, 6.537, 8.625",\
                 "0.1042, 0.1574, 0.3426, 0.7306, 1.345, 2.209, 3.347, 4.781, 6.533, 8.622",\
                 "0.1042, 0.158, 0.3434, 0.7306, 1.346, 2.212, 3.349, 4.785, 6.531, 8.62");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.7571, 0.8, 0.923, 1.146, 1.496, 1.988, 2.634, 3.448, 4.442, 5.627",\
                 "0.7747, 0.8177, 0.9408, 1.165, 1.515, 2.006, 2.652, 3.466, 4.459, 5.644",\
                 "0.8407, 0.8836, 1.007, 1.231, 1.581, 2.072, 2.718, 3.532, 4.527, 5.714",\
                 "0.9657, 1.009, 1.132, 1.356, 1.706, 2.197, 2.843, 3.657, 4.651, 5.837",\
                 "1.134, 1.177, 1.3, 1.524, 1.873, 2.364, 3.011, 3.825, 4.82, 6.007",\
                 "1.327, 1.371, 1.494, 1.717, 2.066, 2.558, 3.204, 4.018, 5.013, 6.2",\
                 "1.544, 1.588, 1.712, 1.935, 2.284, 2.774, 3.421, 4.235, 5.229, 6.415",\
                 "1.783, 1.828, 1.952, 2.174, 2.523, 3.014, 3.659, 4.473, 5.468, 6.653",\
                 "2.041, 2.087, 2.212, 2.433, 2.782, 3.272, 3.917, 4.732, 5.724, 6.909",\
                 "2.317, 2.363, 2.489, 2.71, 3.058, 3.548, 4.194, 5.006, 6, 7.183");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.1004, 0.153, 0.3387, 0.7282, 1.345, 2.211, 3.353, 4.782, 6.536, 8.629",\
                 "0.1007, 0.1533, 0.3387, 0.7288, 1.345, 2.208, 3.353, 4.785, 6.539, 8.624",\
                 "0.1002, 0.153, 0.3388, 0.7288, 1.346, 2.21, 3.35, 4.784, 6.537, 8.627",\
                 "0.101, 0.1532, 0.3388, 0.7286, 1.344, 2.211, 3.353, 4.782, 6.533, 8.634",\
                 "0.1014, 0.1544, 0.3396, 0.7288, 1.346, 2.211, 3.347, 4.784, 6.538, 8.628",\
                 "0.1038, 0.1566, 0.341, 0.7298, 1.345, 2.211, 3.351, 4.783, 6.538, 8.624",\
                 "0.1064, 0.16, 0.3418, 0.729, 1.344, 2.21, 3.353, 4.785, 6.538, 8.632",\
                 "0.1102, 0.163, 0.3436, 0.7294, 1.345, 2.209, 3.347, 4.791, 6.534, 8.63",\
                 "0.1144, 0.167, 0.3456, 0.7312, 1.346, 2.211, 3.347, 4.781, 6.537, 8.626",\
                 "0.1168, 0.1694, 0.3474, 0.7298, 1.346, 2.212, 3.349, 4.783, 6.53, 8.62");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.7573, 0.8002, 0.9232, 1.147, 1.498, 1.988, 2.635, 3.449, 4.442, 5.626",\
                 "0.7752, 0.8182, 0.9413, 1.165, 1.515, 2.006, 2.652, 3.466, 4.461, 5.644",\
                 "0.8411, 0.884, 1.007, 1.231, 1.581, 2.072, 2.718, 3.533, 4.528, 5.714",\
                 "0.9663, 1.009, 1.132, 1.356, 1.706, 2.197, 2.844, 3.658, 4.652, 5.838",\
                 "1.134, 1.178, 1.301, 1.524, 1.874, 2.365, 3.011, 3.826, 4.82, 6.007",\
                 "1.327, 1.371, 1.494, 1.717, 2.067, 2.558, 3.205, 4.019, 5.012, 6.197",\
                 "1.545, 1.589, 1.713, 1.935, 2.285, 2.775, 3.422, 4.236, 5.23, 6.415",\
                 "1.784, 1.829, 1.953, 2.175, 2.524, 3.014, 3.66, 4.474, 5.468, 6.654",\
                 "2.041, 2.086, 2.212, 2.433, 2.782, 3.272, 3.917, 4.731, 5.725, 6.91",\
                 "2.318, 2.364, 2.49, 2.711, 3.058, 3.548, 4.194, 5.008, 6.001, 7.185");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.1006, 0.1534, 0.3388, 0.7292, 1.344, 2.209, 3.353, 4.785, 6.54, 8.627",\
                 "0.1007, 0.1534, 0.3388, 0.7286, 1.345, 2.211, 3.347, 4.785, 6.538, 8.625",\
                 "0.1003, 0.153, 0.3388, 0.7282, 1.346, 2.208, 3.353, 4.783, 6.538, 8.624",\
                 "0.1008, 0.1532, 0.3388, 0.7284, 1.345, 2.209, 3.352, 4.782, 6.539, 8.633",\
                 "0.1014, 0.1544, 0.3396, 0.7302, 1.344, 2.211, 3.349, 4.783, 6.537, 8.631",\
                 "0.1038, 0.157, 0.3404, 0.7294, 1.344, 2.212, 3.347, 4.784, 6.538, 8.623",\
                 "0.106, 0.1598, 0.342, 0.729, 1.344, 2.208, 3.35, 4.782, 6.539, 8.631",\
                 "0.1102, 0.1636, 0.3436, 0.7294, 1.346, 2.21, 3.347, 4.781, 6.537, 8.634",\
                 "0.1148, 0.1668, 0.346, 0.7312, 1.345, 2.211, 3.348, 4.781, 6.547, 8.625",\
                 "0.1174, 0.17, 0.3478, 0.7296, 1.345, 2.211, 3.347, 4.783, 6.531, 8.628");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.9227, 0.9661, 1.089, 1.313, 1.662, 2.153, 2.799, 3.613, 4.606, 5.793",\
                 "0.9405, 0.9838, 1.107, 1.33, 1.68, 2.171, 2.817, 3.631, 4.625, 5.809",\
                 "1.006, 1.05, 1.173, 1.396, 1.746, 2.237, 2.883, 3.697, 4.691, 5.878",\
                 "1.14, 1.183, 1.306, 1.529, 1.879, 2.37, 3.016, 3.83, 4.824, 6.008",\
                 "1.34, 1.383, 1.507, 1.729, 2.08, 2.57, 3.216, 4.03, 5.025, 6.211",\
                 "1.581, 1.625, 1.749, 1.971, 2.32, 2.811, 3.457, 4.271, 5.264, 6.45",\
                 "1.854, 1.898, 2.022, 2.245, 2.593, 3.084, 3.73, 4.544, 5.538, 6.725",\
                 "2.159, 2.204, 2.328, 2.55, 2.899, 3.389, 4.034, 4.848, 5.842, 7.026",\
                 "2.492, 2.537, 2.662, 2.883, 3.232, 3.722, 4.368, 5.181, 6.174, 7.36",\
                 "2.854, 2.899, 3.024, 3.245, 3.593, 4.083, 4.728, 5.542, 6.536, 7.72");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.1031, 0.1557, 0.3396, 0.7284, 1.345, 2.211, 3.352, 4.784, 6.539, 8.631",\
                 "0.1027, 0.1558, 0.3398, 0.7284, 1.347, 2.211, 3.353, 4.782, 6.538, 8.626",\
                 "0.1032, 0.1556, 0.3398, 0.7284, 1.347, 2.211, 3.353, 4.784, 6.538, 8.632",\
                 "0.103, 0.1552, 0.3398, 0.728, 1.344, 2.21, 3.348, 4.781, 6.538, 8.628",\
                 "0.1036, 0.1566, 0.3402, 0.7284, 1.347, 2.209, 3.352, 4.784, 6.537, 8.628",\
                 "0.105, 0.1586, 0.3412, 0.7298, 1.346, 2.209, 3.35, 4.784, 6.539, 8.631",\
                 "0.1078, 0.1606, 0.3426, 0.7286, 1.344, 2.211, 3.353, 4.784, 6.537, 8.63",\
                 "0.1104, 0.1634, 0.3438, 0.731, 1.345, 2.21, 3.349, 4.784, 6.537, 8.625",\
                 "0.1128, 0.1652, 0.3456, 0.7294, 1.345, 2.211, 3.347, 4.784, 6.535, 8.626",\
                 "0.1146, 0.168, 0.347, 0.7296, 1.346, 2.21, 3.353, 4.781, 6.532, 8.626");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.9225, 0.9659, 1.089, 1.312, 1.662, 2.153, 2.799, 3.613, 4.607, 5.793",\
                 "0.9405, 0.9836, 1.107, 1.33, 1.68, 2.171, 2.817, 3.631, 4.625, 5.81",\
                 "1.007, 1.05, 1.173, 1.396, 1.746, 2.237, 2.883, 3.697, 4.692, 5.877",\
                 "1.14, 1.183, 1.306, 1.529, 1.879, 2.37, 3.016, 3.83, 4.824, 6.008",\
                 "1.34, 1.384, 1.507, 1.73, 2.08, 2.571, 3.217, 4.031, 5.024, 6.208",\
                 "1.581, 1.625, 1.748, 1.971, 2.32, 2.811, 3.457, 4.271, 5.266, 6.452",\
                 "1.854, 1.898, 2.022, 2.244, 2.593, 3.083, 3.73, 4.544, 5.537, 6.724",\
                 "2.159, 2.204, 2.328, 2.55, 2.899, 3.389, 4.034, 4.848, 5.843, 7.027",\
                 "2.493, 2.538, 2.662, 2.884, 3.232, 3.722, 4.368, 5.181, 6.174, 7.359",\
                 "2.854, 2.899, 3.024, 3.246, 3.593, 4.083, 4.728, 5.542, 6.536, 7.72");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.1022, 0.1556, 0.3396, 0.7302, 1.345, 2.21, 3.348, 4.784, 6.535, 8.633",\
                 "0.1027, 0.1556, 0.34, 0.7282, 1.347, 2.21, 3.347, 4.783, 6.535, 8.621",\
                 "0.1026, 0.1554, 0.3396, 0.7296, 1.344, 2.21, 3.352, 4.782, 6.537, 8.628",\
                 "0.103, 0.1552, 0.3398, 0.7282, 1.344, 2.21, 3.348, 4.781, 6.538, 8.627",\
                 "0.1036, 0.1568, 0.3402, 0.7282, 1.347, 2.211, 3.349, 4.782, 6.537, 8.626",\
                 "0.1056, 0.1586, 0.3412, 0.7296, 1.344, 2.21, 3.352, 4.78, 6.538, 8.627",\
                 "0.1078, 0.1606, 0.3426, 0.7288, 1.344, 2.21, 3.351, 4.783, 6.539, 8.632",\
                 "0.1102, 0.1628, 0.3436, 0.731, 1.347, 2.209, 3.35, 4.782, 6.538, 8.625",\
                 "0.1128, 0.1652, 0.345, 0.7304, 1.345, 2.21, 3.347, 4.781, 6.532, 8.629",\
                 "0.1152, 0.1676, 0.3464, 0.7294, 1.345, 2.21, 3.352, 4.782, 6.534, 8.62");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.9225, 0.9659, 1.089, 1.312, 1.662, 2.153, 2.799, 3.613, 4.607, 5.793",\
                 "0.9405, 0.9836, 1.107, 1.33, 1.68, 2.171, 2.817, 3.631, 4.625, 5.81",\
                 "1.007, 1.05, 1.173, 1.396, 1.746, 2.237, 2.883, 3.697, 4.692, 5.877",\
                 "1.14, 1.183, 1.306, 1.529, 1.879, 2.37, 3.016, 3.83, 4.824, 6.008",\
                 "1.34, 1.384, 1.507, 1.73, 2.08, 2.571, 3.217, 4.031, 5.024, 6.208",\
                 "1.581, 1.625, 1.748, 1.971, 2.32, 2.811, 3.457, 4.271, 5.266, 6.452",\
                 "1.854, 1.898, 2.022, 2.244, 2.593, 3.083, 3.73, 4.544, 5.537, 6.724",\
                 "2.159, 2.204, 2.328, 2.55, 2.899, 3.389, 4.034, 4.848, 5.843, 7.027",\
                 "2.493, 2.538, 2.662, 2.884, 3.232, 3.722, 4.368, 5.181, 6.174, 7.359",\
                 "2.854, 2.899, 3.024, 3.246, 3.593, 4.083, 4.728, 5.542, 6.536, 7.72");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04578, 0.1123, 0.216, 0.3615, 0.553, 0.7942, 1.089, 1.44");
          values("0.1004, 0.153, 0.3387, 0.7282, 1.345, 2.211, 3.353, 4.782, 6.536, 8.629",\
                 "0.1007, 0.1533, 0.3387, 0.7288, 1.345, 2.208, 3.353, 4.785, 6.539, 8.624",\
                 "0.1002, 0.153, 0.3388, 0.7288, 1.346, 2.21, 3.35, 4.784, 6.537, 8.627",\
                 "0.101, 0.1532, 0.3388, 0.7286, 1.344, 2.211, 3.353, 4.782, 6.533, 8.634",\
                 "0.1014, 0.1544, 0.3396, 0.7288, 1.346, 2.211, 3.347, 4.784, 6.538, 8.628",\
                 "0.1038, 0.1566, 0.341, 0.7298, 1.345, 2.211, 3.351, 4.783, 6.538, 8.624",\
                 "0.1064, 0.16, 0.3418, 0.729, 1.344, 2.21, 3.353, 4.785, 6.538, 8.632",\
                 "0.1102, 0.163, 0.3436, 0.7294, 1.345, 2.209, 3.347, 4.791, 6.534, 8.63",\
                 "0.1144, 0.167, 0.3456, 0.7312, 1.346, 2.211, 3.347, 4.781, 6.537, 8.626",\
                 "0.1168, 0.1694, 0.3474, 0.7298, 1.346, 2.212, 3.349, 4.783, 6.53, 8.62");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006403 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.665 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06464, 0.06429, 0.0647, 0.06832, 0.07601, 0.08851, 0.106, 0.1289, \
                 0.1575, 0.1919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007929, 0.007709, 0.008111, 0.01081, 0.01708, 0.02757, 0.04256, \
                 0.06238, 0.0872, 0.1173");
        }
      }

      internal_power() {
        when : "!CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02008, 0.02004, 0.01998, 0.02, 0.02, 0.02001, 0.02001, 0.02003, \
                 0.02002, 0.02002");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01319, -0.01317, -0.01313, -0.01316, -0.01323, -0.01325, -0.01326, \
                 -0.01326, -0.01327, -0.0133");
        }
      }

      internal_power() {
        when : "CLK&!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02009, 0.02005, 0.02001, 0.02001, 0.02002, 0.02003, 0.02001, \
                 0.02003, 0.02002, 0.02004");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01318, -0.01317, -0.01317, -0.01317, -0.01323, -0.01325, -0.01326, \
                 -0.01326, -0.0133, -0.01331");
        }
      }

      internal_power() {
        when : "CLK&D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02009, 0.02006, 0.02, 0.01999, 0.02, 0.02004, 0.02002, 0.02002, \
                 0.02003, 0.02002");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01318, -0.01317, -0.01317, -0.01317, -0.01323, -0.01324, -0.01327, \
                 -0.01325, -0.01328, -0.01332");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : recovery_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.063, -0.07, -0.13, -0.208, -0.285, -0.336, -0.369, -0.378, -0.362, -0.319",\
                 "-0.054, -0.064, -0.118, -0.199, -0.278, -0.33, -0.364, -0.374, -0.354, -0.308",\
                 "-0.009, -0.024, -0.078, -0.166, -0.234, -0.289, -0.32, -0.335, -0.313, -0.267",\
                 "0.072, 0.054, -0.001, -0.084, -0.152, -0.205, -0.245, -0.255, -0.233, -0.192",\
                 "0.211, 0.201, 0.139, 0.053, -0.026, -0.074, -0.113, -0.13, -0.111, -0.063",\
                 "0.497, 0.489, 0.424, 0.322, 0.232, 0.157, 0.106, 0.087, 0.096, 0.143",\
                 "1.044, 1.05, 0.964, 0.865, 0.731, 0.635, 0.549, 0.491, 0.487, 0.503",\
                 "1.771, 1.777, 1.666, 1.525, 1.405, 1.32, 1.227, 1.145, 1.151, 1.164",\
                 "2.709, 2.658, 2.555, 2.409, 2.25, 2.136, 2.059, 1.948, 1.968, 1.974",\
                 "3.725, 3.731, 3.598, 3.422, 3.305, 3.143, 3.016, 2.905, 2.908, 2.943");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : removal_rising ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.338, 0.35, 0.399, 0.49, 0.561, 0.612, 0.656, 0.673, 0.664, 0.632",\
                 "0.327, 0.341, 0.39, 0.478, 0.548, 0.607, 0.647, 0.661, 0.659, 0.623",\
                 "0.283, 0.296, 0.347, 0.433, 0.504, 0.558, 0.601, 0.615, 0.611, 0.579",\
                 "0.211, 0.225, 0.268, 0.353, 0.422, 0.483, 0.525, 0.543, 0.539, 0.501",\
                 "0.124, 0.139, 0.192, 0.27, 0.344, 0.399, 0.439, 0.457, 0.452, 0.422",\
                 "0.055, 0.071, 0.119, 0.197, 0.268, 0.324, 0.359, 0.376, 0.37, 0.343",\
                 "0.002, 0.013, 0.06, 0.144, 0.206, 0.261, 0.299, 0.309, 0.298, 0.269",\
                 "-0.054, -0.04, 0.006, 0.092, 0.158, 0.213, 0.247, 0.258, 0.246, 0.209",\
                 "-0.091, -0.081, -0.032, 0.047, 0.116, 0.169, 0.204, 0.213, 0.202, 0.17",\
                 "-0.127, -0.109, -0.063, 0.02, 0.086, 0.136, 0.174, 0.183, 0.172, 0.133");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D" ;

        fall_constraint(scalar) {
          values("0.665");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D" ;

        fall_constraint(scalar) {
          values("0.665");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlya_1) {
    area : 24.147200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "6.85542e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "6.74289e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.85542e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002348 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.3602 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1156, 0.1141, 0.1124, 0.1116, 0.1112, 0.1109, 0.1107, 0.1106, 0.1106, 0.1105",\
                 "0.115, 0.1135, 0.1119, 0.111, 0.1105, 0.1103, 0.1101, 0.11, 0.11, 0.1099",\
                 "0.116, 0.1145, 0.1127, 0.1119, 0.1115, 0.1113, 0.1111, 0.111, 0.1109, 0.1109",\
                 "0.1205, 0.119, 0.1172, 0.1165, 0.116, 0.1158, 0.1156, 0.1155, 0.1155, 0.1154",\
                 "0.1287, 0.1273, 0.1255, 0.1247, 0.1242, 0.1239, 0.1238, 0.1237, 0.1237, 0.1236",\
                 "0.141, 0.1395, 0.1379, 0.137, 0.1365, 0.1362, 0.1361, 0.136, 0.136, 0.1359",\
                 "0.158, 0.1565, 0.1547, 0.1539, 0.1534, 0.1532, 0.1531, 0.153, 0.1529, 0.1529",\
                 "0.1797, 0.1782, 0.1765, 0.1756, 0.1752, 0.1749, 0.1748, 0.1747, 0.1746, 0.1746",\
                 "0.2067, 0.2051, 0.2033, 0.2025, 0.202, 0.2018, 0.2016, 0.2016, 0.2015, 0.2014",\
                 "0.2391, 0.2376, 0.2358, 0.2348, 0.2344, 0.2342, 0.234, 0.2339, 0.2339, 0.2338");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.08557, 0.08526, 0.08543, 0.08604, 0.08664, 0.08741, 0.0879, 0.08877, 0.08933, 0.09302",\
                 "0.08541, 0.0851, 0.08528, 0.08584, 0.08641, 0.08721, 0.08787, 0.08867, 0.08979, 0.09325",\
                 "0.08614, 0.08595, 0.08589, 0.0865, 0.08704, 0.08794, 0.08853, 0.08907, 0.09019, 0.09373",\
                 "0.0893, 0.08899, 0.08906, 0.08963, 0.09027, 0.09111, 0.0917, 0.09227, 0.09332, 0.09708",\
                 "0.0956, 0.09532, 0.09522, 0.09613, 0.09644, 0.09734, 0.09803, 0.09851, 0.09931, 0.104",\
                 "0.1055, 0.1053, 0.1053, 0.1059, 0.1071, 0.1077, 0.108, 0.1083, 0.1096, 0.1145",\
                 "0.1195, 0.1193, 0.119, 0.1198, 0.1205, 0.1218, 0.1225, 0.1226, 0.1236, 0.1297",\
                 "0.1373, 0.137, 0.1368, 0.1375, 0.1378, 0.1385, 0.1405, 0.1416, 0.1419, 0.1492",\
                 "0.1596, 0.1593, 0.1592, 0.1598, 0.1604, 0.1604, 0.1616, 0.1637, 0.1653, 0.1756",\
                 "0.1861, 0.1858, 0.1857, 0.1864, 0.1869, 0.1869, 0.1876, 0.1886, 0.1928, 0.2079");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.6743, 0.7115, 0.812, 0.9609, 1.164, 1.435, 1.789, 2.234, 2.778, 3.427",\
                 "0.6881, 0.7253, 0.8255, 0.9748, 1.178, 1.449, 1.803, 2.248, 2.792, 3.44",\
                 "0.7593, 0.7965, 0.897, 1.046, 1.249, 1.52, 1.874, 2.319, 2.863, 3.512",\
                 "0.8967, 0.9339, 1.034, 1.183, 1.386, 1.658, 2.011, 2.457, 3, 3.648",\
                 "1.08, 1.118, 1.218, 1.367, 1.569, 1.841, 2.195, 2.64, 3.184, 3.832",\
                 "1.313, 1.35, 1.451, 1.6, 1.803, 2.074, 2.428, 2.873, 3.417, 4.065",\
                 "1.597, 1.634, 1.734, 1.883, 2.086, 2.358, 2.712, 3.157, 3.701, 4.349",\
                 "1.931, 1.968, 2.069, 2.218, 2.421, 2.692, 3.046, 3.491, 4.035, 4.682",\
                 "2.321, 2.357, 2.458, 2.607, 2.809, 3.081, 3.435, 3.88, 4.424, 5.071",\
                 "2.767, 2.805, 2.905, 3.054, 3.257, 3.529, 3.882, 4.328, 4.871, 5.519");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.5283, 0.5653, 0.6851, 0.9096, 1.258, 1.748, 2.391, 3.2, 4.189, 5.369",\
                 "0.5417, 0.5786, 0.6984, 0.9229, 1.271, 1.761, 2.405, 3.215, 4.205, 5.383",\
                 "0.5773, 0.6142, 0.7336, 0.9582, 1.307, 1.796, 2.44, 3.247, 4.236, 5.413",\
                 "0.594, 0.6309, 0.7505, 0.9751, 1.324, 1.813, 2.457, 3.265, 4.253, 5.431",\
                 "0.5805, 0.6175, 0.7368, 0.9614, 1.31, 1.799, 2.443, 3.252, 4.241, 5.416",\
                 "0.5295, 0.5665, 0.6862, 0.9107, 1.259, 1.748, 2.39, 3.201, 4.191, 5.37",\
                 "0.4369, 0.474, 0.5933, 0.8178, 1.167, 1.655, 2.297, 3.106, 4.096, 5.275",\
                 "0.2971, 0.3341, 0.4537, 0.678, 1.027, 1.515, 2.158, 2.967, 3.954, 5.131",\
                 "0.1084, 0.1454, 0.2648, 0.4891, 0.838, 1.327, 1.969, 2.778, 3.765, 4.943",\
                 "-0.1341, -0.0971, 0.0226, 0.2468, 0.5958, 1.084, 1.726, 2.535, 3.523, 4.7");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1343, 0.17, 0.2777, 0.4607, 0.7559, 1.192, 1.779, 2.524, 3.442, 4.532",\
                 "0.1344, 0.1703, 0.2775, 0.4613, 0.7554, 1.192, 1.78, 2.527, 3.442, 4.533",\
                 "0.1343, 0.1701, 0.278, 0.4604, 0.7562, 1.192, 1.78, 2.527, 3.442, 4.53",\
                 "0.1342, 0.17, 0.2774, 0.4606, 0.756, 1.192, 1.78, 2.527, 3.442, 4.534",\
                 "0.1342, 0.17, 0.2774, 0.4612, 0.7566, 1.19, 1.779, 2.527, 3.441, 4.534",\
                 "0.134, 0.1706, 0.2772, 0.4604, 0.755, 1.191, 1.778, 2.525, 3.44, 4.533",\
                 "0.1342, 0.1702, 0.277, 0.4616, 0.7552, 1.19, 1.777, 2.524, 3.437, 4.527",\
                 "0.1342, 0.1702, 0.2774, 0.4608, 0.7552, 1.192, 1.778, 2.522, 3.434, 4.526",\
                 "0.1344, 0.1702, 0.2772, 0.461, 0.7556, 1.191, 1.777, 2.526, 3.435, 4.521",\
                 "0.1342, 0.1706, 0.2776, 0.4604, 0.7552, 1.19, 1.78, 2.522, 3.435, 4.521");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1155, 0.1682, 0.3649, 0.7566, 1.37, 2.23, 3.369, 4.791, 6.538, 8.609",\
                 "0.1154, 0.1682, 0.3649, 0.7567, 1.371, 2.23, 3.363, 4.795, 6.538, 8.612",\
                 "0.1154, 0.1682, 0.3649, 0.7564, 1.37, 2.231, 3.363, 4.795, 6.54, 8.629",\
                 "0.1158, 0.1682, 0.3648, 0.7564, 1.369, 2.231, 3.364, 4.796, 6.542, 8.629",\
                 "0.1154, 0.1682, 0.365, 0.7566, 1.371, 2.23, 3.363, 4.791, 6.535, 8.627",\
                 "0.1152, 0.1682, 0.3646, 0.758, 1.369, 2.23, 3.362, 4.793, 6.531, 8.609",\
                 "0.1158, 0.1686, 0.365, 0.7564, 1.372, 2.229, 3.36, 4.797, 6.532, 8.61",\
                 "0.116, 0.169, 0.365, 0.7564, 1.371, 2.229, 3.36, 4.787, 6.541, 8.608",\
                 "0.1156, 0.1686, 0.3652, 0.7568, 1.37, 2.232, 3.361, 4.786, 6.527, 8.61",\
                 "0.1168, 0.1698, 0.3652, 0.7578, 1.369, 2.231, 3.361, 4.785, 6.53, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlya_2) {
    area : 28.537600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "8.00877e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "7.8507e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.00877e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002289 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7207 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.183, 0.1749, 0.1625, 0.1563, 0.1529, 0.1509, 0.1497, 0.149, 0.1484, 0.1481",\
                 "0.1824, 0.1743, 0.162, 0.1556, 0.1523, 0.1504, 0.1492, 0.1483, 0.1478, 0.1474",\
                 "0.1834, 0.1753, 0.1629, 0.1567, 0.1532, 0.1513, 0.1501, 0.1493, 0.1487, 0.1483",\
                 "0.1879, 0.1798, 0.1674, 0.1612, 0.1577, 0.1557, 0.1546, 0.1539, 0.1532, 0.1529",\
                 "0.1959, 0.1879, 0.1757, 0.1693, 0.1659, 0.1639, 0.1628, 0.162, 0.1614, 0.161",\
                 "0.2082, 0.2002, 0.1878, 0.1816, 0.1782, 0.1763, 0.1751, 0.1743, 0.1737, 0.1733",\
                 "0.2252, 0.2172, 0.2047, 0.1985, 0.195, 0.193, 0.1919, 0.1911, 0.1906, 0.1902",\
                 "0.2469, 0.2389, 0.2264, 0.2202, 0.2168, 0.2148, 0.2137, 0.2129, 0.2123, 0.2118",\
                 "0.2738, 0.2658, 0.2533, 0.247, 0.2437, 0.2416, 0.2404, 0.2396, 0.2391, 0.2387",\
                 "0.3062, 0.2981, 0.2856, 0.2793, 0.2758, 0.2738, 0.2727, 0.2719, 0.2714, 0.271");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1187, 0.1167, 0.1149, 0.1151, 0.1157, 0.1169, 0.1184, 0.1202, 0.1221, 0.1287",\
                 "0.1187, 0.1165, 0.1147, 0.1148, 0.1156, 0.1171, 0.1184, 0.1198, 0.1221, 0.129",\
                 "0.1194, 0.1174, 0.1154, 0.1154, 0.1162, 0.1176, 0.1189, 0.1215, 0.1225, 0.13",\
                 "0.1225, 0.1205, 0.1182, 0.1184, 0.119, 0.1208, 0.1219, 0.1241, 0.1261, 0.1337",\
                 "0.1289, 0.1266, 0.1246, 0.1251, 0.1256, 0.1274, 0.1284, 0.1304, 0.1321, 0.1414",\
                 "0.1388, 0.1367, 0.1349, 0.1347, 0.1368, 0.1373, 0.1382, 0.14, 0.142, 0.153",\
                 "0.1527, 0.1505, 0.1486, 0.148, 0.1488, 0.1516, 0.153, 0.1532, 0.1556, 0.1681",\
                 "0.1706, 0.1683, 0.1659, 0.1659, 0.1664, 0.1679, 0.1714, 0.1732, 0.1748, 0.19",\
                 "0.1929, 0.1907, 0.1888, 0.1887, 0.1889, 0.1896, 0.1916, 0.1957, 0.1986, 0.2195",\
                 "0.2195, 0.2172, 0.2152, 0.215, 0.2162, 0.2161, 0.2165, 0.2191, 0.2275, 0.2575");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.8062, 0.8571, 0.982, 1.157, 1.378, 1.66, 2.017, 2.464, 3.009, 3.658",\
                 "0.82, 0.8709, 0.9961, 1.171, 1.392, 1.673, 2.031, 2.478, 3.023, 3.672",\
                 "0.8912, 0.9419, 1.067, 1.242, 1.463, 1.745, 2.102, 2.549, 3.094, 3.743",\
                 "1.028, 1.079, 1.204, 1.379, 1.6, 1.881, 2.239, 2.686, 3.231, 3.88",\
                 "1.211, 1.262, 1.387, 1.562, 1.783, 2.065, 2.422, 2.869, 3.414, 4.063",\
                 "1.443, 1.494, 1.619, 1.794, 2.016, 2.297, 2.655, 3.102, 3.646, 4.296",\
                 "1.726, 1.777, 1.902, 2.077, 2.299, 2.58, 2.938, 3.385, 3.929, 4.579",\
                 "2.061, 2.112, 2.237, 2.412, 2.633, 2.915, 3.272, 3.719, 4.263, 4.913",\
                 "2.449, 2.501, 2.625, 2.8, 3.021, 3.303, 3.661, 4.108, 4.652, 5.301",\
                 "2.895, 2.946, 3.072, 3.246, 3.467, 3.749, 4.106, 4.553, 5.099, 5.747");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.5839, 0.6274, 0.7536, 0.9786, 1.328, 1.818, 2.463, 3.272, 4.265, 5.445",\
                 "0.5976, 0.6405, 0.7669, 0.9919, 1.341, 1.831, 2.476, 3.288, 4.278, 5.459",\
                 "0.633, 0.6761, 0.8024, 1.027, 1.377, 1.866, 2.511, 3.322, 4.315, 5.496",\
                 "0.6497, 0.6928, 0.8187, 1.044, 1.393, 1.883, 2.528, 3.34, 4.332, 5.513",\
                 "0.636, 0.6789, 0.8049, 1.03, 1.379, 1.869, 2.514, 3.327, 4.318, 5.499",\
                 "0.585, 0.6285, 0.7547, 0.9796, 1.329, 1.818, 2.462, 3.274, 4.264, 5.446",\
                 "0.492, 0.5352, 0.6615, 0.8864, 1.236, 1.725, 2.369, 3.179, 4.17, 5.351",\
                 "0.353, 0.3962, 0.5222, 0.7471, 1.097, 1.586, 2.23, 3.04, 4.03, 5.21",\
                 "0.1644, 0.2076, 0.3339, 0.5587, 0.9078, 1.397, 2.041, 2.851, 3.841, 5.02",\
                 "-0.0775, -0.0344, 0.092, 0.3164, 0.6658, 1.155, 1.799, 2.609, 3.599, 4.778");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.162, 0.2087, 0.3297, 0.5206, 0.8038, 1.22, 1.794, 2.534, 3.448, 4.54",\
                 "0.1618, 0.2087, 0.3295, 0.5208, 0.8036, 1.22, 1.793, 2.532, 3.447, 4.54",\
                 "0.162, 0.209, 0.3296, 0.5212, 0.8036, 1.219, 1.792, 2.535, 3.447, 4.54",\
                 "0.162, 0.2096, 0.3298, 0.5208, 0.8036, 1.219, 1.792, 2.535, 3.448, 4.54",\
                 "0.1612, 0.209, 0.3298, 0.5206, 0.8036, 1.22, 1.793, 2.533, 3.448, 4.539",\
                 "0.1616, 0.2088, 0.3294, 0.521, 0.803, 1.22, 1.794, 2.534, 3.445, 4.539",\
                 "0.162, 0.209, 0.3296, 0.5204, 0.8028, 1.22, 1.793, 2.531, 3.445, 4.539",\
                 "0.1622, 0.209, 0.33, 0.5208, 0.8034, 1.219, 1.791, 2.531, 3.445, 4.532",\
                 "0.1622, 0.2092, 0.33, 0.521, 0.804, 1.219, 1.794, 2.532, 3.443, 4.531",\
                 "0.1622, 0.209, 0.3298, 0.521, 0.8032, 1.22, 1.792, 2.532, 3.445, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09952, 0.1559, 0.3442, 0.7294, 1.343, 2.209, 3.342, 4.775, 6.519, 8.606",\
                 "0.09928, 0.1557, 0.3442, 0.7302, 1.344, 2.208, 3.343, 4.774, 6.519, 8.605",\
                 "0.09928, 0.1555, 0.3445, 0.73, 1.343, 2.206, 3.342, 4.772, 6.523, 8.601",\
                 "0.099, 0.1556, 0.3448, 0.7316, 1.343, 2.207, 3.348, 4.775, 6.523, 8.604",\
                 "0.0986, 0.1558, 0.3444, 0.7296, 1.345, 2.207, 3.347, 4.776, 6.523, 8.602",\
                 "0.0992, 0.1556, 0.3448, 0.73, 1.343, 2.209, 3.345, 4.772, 6.522, 8.6",\
                 "0.0992, 0.1556, 0.3446, 0.7314, 1.343, 2.205, 3.339, 4.767, 6.514, 8.6",\
                 "0.0994, 0.1566, 0.3446, 0.7314, 1.345, 2.207, 3.339, 4.768, 6.526, 8.595",\
                 "0.0996, 0.156, 0.3446, 0.7302, 1.344, 2.207, 3.339, 4.772, 6.512, 8.603",\
                 "0.1, 0.1564, 0.3446, 0.731, 1.344, 2.205, 3.339, 4.768, 6.511, 8.59");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlya_4) {
    area : 37.318400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001031547" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001006599" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001031547" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002426 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.444 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5547, 0.7967, 1.092, 1.444");
          values("0.4049, 0.3797, 0.328, 0.2907, 0.2705, 0.2584, 0.25, 0.2448, 0.2412, 0.2384",\
                 "0.4042, 0.3791, 0.3274, 0.2899, 0.27, 0.2574, 0.2494, 0.2442, 0.2406, 0.2378",\
                 "0.4052, 0.38, 0.3283, 0.2908, 0.2708, 0.2583, 0.2504, 0.2451, 0.2414, 0.2387",\
                 "0.4096, 0.3844, 0.3328, 0.2953, 0.2752, 0.2629, 0.2549, 0.2495, 0.2459, 0.243",\
                 "0.4176, 0.3925, 0.3408, 0.3034, 0.2832, 0.2709, 0.263, 0.2576, 0.2539, 0.2512",\
                 "0.4299, 0.4047, 0.3531, 0.3157, 0.2955, 0.2833, 0.2754, 0.2701, 0.2663, 0.2636",\
                 "0.4466, 0.4213, 0.3698, 0.3323, 0.3123, 0.3, 0.2919, 0.2867, 0.2829, 0.2804",\
                 "0.4683, 0.4432, 0.3916, 0.3541, 0.3339, 0.3218, 0.314, 0.3083, 0.3046, 0.302",\
                 "0.4951, 0.47, 0.4182, 0.3808, 0.3607, 0.3484, 0.3405, 0.335, 0.3313, 0.3285",\
                 "0.5273, 0.5022, 0.4505, 0.413, 0.3929, 0.3806, 0.3726, 0.3673, 0.3634, 0.3608");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5547, 0.7967, 1.092, 1.444");
          values("0.2223, 0.2115, 0.2002, 0.1954, 0.1944, 0.1956, 0.1975, 0.2006, 0.2046, 0.2203",\
                 "0.2221, 0.2112, 0.1995, 0.1954, 0.1938, 0.1949, 0.1966, 0.2006, 0.2046, 0.2196",\
                 "0.2227, 0.212, 0.2007, 0.196, 0.1947, 0.1956, 0.1972, 0.2009, 0.2043, 0.2218",\
                 "0.2258, 0.2152, 0.2039, 0.1983, 0.1972, 0.1985, 0.2015, 0.2026, 0.2103, 0.2279",\
                 "0.2324, 0.221, 0.2104, 0.2053, 0.2044, 0.2058, 0.2071, 0.2108, 0.2163, 0.2353",\
                 "0.2422, 0.2313, 0.2193, 0.215, 0.2147, 0.216, 0.217, 0.2191, 0.2252, 0.2486",\
                 "0.256, 0.2451, 0.2333, 0.2269, 0.2272, 0.2309, 0.2329, 0.2326, 0.2368, 0.2659",\
                 "0.274, 0.2628, 0.252, 0.245, 0.2439, 0.2457, 0.2527, 0.2536, 0.2577, 0.291",\
                 "0.2963, 0.2854, 0.2731, 0.2673, 0.2665, 0.2675, 0.2692, 0.279, 0.2851, 0.3291",\
                 "0.3228, 0.3117, 0.3009, 0.2951, 0.2928, 0.2926, 0.2942, 0.2978, 0.3125, 0.379");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5547, 0.7967, 1.092, 1.444");
          values("1.125, 1.189, 1.345, 1.557, 1.817, 2.128, 2.503, 2.958, 3.506, 4.158",\
                 "1.139, 1.203, 1.359, 1.571, 1.831, 2.142, 2.517, 2.972, 3.52, 4.172",\
                 "1.21, 1.274, 1.43, 1.642, 1.902, 2.213, 2.588, 3.043, 3.591, 4.243",\
                 "1.347, 1.411, 1.567, 1.779, 2.04, 2.35, 2.725, 3.18, 3.729, 4.38",\
                 "1.531, 1.596, 1.751, 1.963, 2.224, 2.534, 2.909, 3.364, 3.913, 4.564",\
                 "1.765, 1.829, 1.985, 2.197, 2.458, 2.768, 3.143, 3.598, 4.146, 4.798",\
                 "2.049, 2.113, 2.269, 2.481, 2.741, 3.052, 3.427, 3.882, 4.43, 5.082",\
                 "2.384, 2.448, 2.604, 2.816, 3.077, 3.387, 3.762, 4.217, 4.766, 5.417",\
                 "2.773, 2.838, 2.993, 3.206, 3.466, 3.777, 4.152, 4.606, 5.155, 5.806",\
                 "3.221, 3.285, 3.441, 3.653, 3.914, 4.224, 4.599, 5.055, 5.603, 6.254");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5547, 0.7967, 1.092, 1.444");
          values("0.7398, 0.7899, 0.9288, 1.159, 1.509, 1.999, 2.646, 3.461, 4.455, 5.641",\
                 "0.7534, 0.8032, 0.9418, 1.173, 1.522, 2.012, 2.659, 3.473, 4.466, 5.65",\
                 "0.7891, 0.8392, 0.978, 1.208, 1.558, 2.049, 2.694, 3.51, 4.504, 5.69",\
                 "0.8072, 0.8572, 0.9959, 1.226, 1.576, 2.066, 2.713, 3.526, 4.521, 5.708",\
                 "0.7945, 0.8442, 0.9831, 1.214, 1.563, 2.053, 2.7, 3.514, 4.509, 5.69",\
                 "0.7454, 0.7951, 0.9338, 1.164, 1.514, 2.004, 2.65, 3.463, 4.456, 5.639",\
                 "0.6541, 0.704, 0.8429, 1.073, 1.423, 1.913, 2.558, 3.371, 4.366, 5.55",\
                 "0.5165, 0.5663, 0.7056, 0.9354, 1.285, 1.775, 2.421, 3.233, 4.226, 5.411",\
                 "0.3298, 0.3793, 0.5182, 0.7487, 1.098, 1.589, 2.234, 3.047, 4.039, 5.222",\
                 "0.0892, 0.1388, 0.2782, 0.5085, 0.8577, 1.348, 1.994, 2.806, 3.799, 4.982");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5547, 0.7967, 1.092, 1.444");
          values("0.2526, 0.313, 0.4566, 0.6672, 0.9538, 1.348, 1.89, 2.605, 3.504, 4.586",\
                 "0.2526, 0.3128, 0.4564, 0.6674, 0.9554, 1.349, 1.89, 2.607, 3.504, 4.586",\
                 "0.2526, 0.3128, 0.457, 0.6676, 0.9544, 1.348, 1.89, 2.607, 3.504, 4.586",\
                 "0.2526, 0.3126, 0.4566, 0.6676, 0.9538, 1.347, 1.89, 2.603, 3.504, 4.59",\
                 "0.2524, 0.3128, 0.4564, 0.6674, 0.9554, 1.348, 1.891, 2.605, 3.504, 4.588",\
                 "0.2518, 0.3126, 0.4558, 0.6676, 0.9544, 1.347, 1.89, 2.607, 3.504, 4.589",\
                 "0.2528, 0.312, 0.4564, 0.6666, 0.9546, 1.348, 1.89, 2.603, 3.503, 4.583",\
                 "0.253, 0.3126, 0.4576, 0.6672, 0.9542, 1.348, 1.89, 2.605, 3.504, 4.59",\
                 "0.2522, 0.3126, 0.457, 0.667, 0.9544, 1.348, 1.89, 2.602, 3.498, 4.586",\
                 "0.2532, 0.313, 0.4576, 0.6676, 0.9556, 1.349, 1.89, 2.607, 3.5, 4.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5547, 0.7967, 1.092, 1.444");
          values("0.1259, 0.1839, 0.3742, 0.7442, 1.351, 2.22, 3.357, 4.793, 6.544, 8.638",\
                 "0.1258, 0.1838, 0.3743, 0.7454, 1.353, 2.22, 3.361, 4.793, 6.545, 8.639",\
                 "0.1253, 0.1839, 0.3742, 0.7452, 1.352, 2.22, 3.359, 4.793, 6.546, 8.635",\
                 "0.1248, 0.1836, 0.3738, 0.7454, 1.354, 2.218, 3.355, 4.794, 6.544, 8.638",\
                 "0.126, 0.1834, 0.374, 0.7448, 1.353, 2.219, 3.358, 4.793, 6.544, 8.642",\
                 "0.1254, 0.1834, 0.3744, 0.7446, 1.352, 2.217, 3.355, 4.789, 6.541, 8.644",\
                 "0.1256, 0.1836, 0.3746, 0.7438, 1.353, 2.219, 3.354, 4.79, 6.542, 8.631",\
                 "0.1256, 0.1846, 0.3746, 0.7442, 1.352, 2.217, 3.354, 4.785, 6.54, 8.62",\
                 "0.1262, 0.1836, 0.3746, 0.7448, 1.353, 2.217, 3.354, 4.788, 6.536, 8.636",\
                 "0.1258, 0.1836, 0.3744, 0.7444, 1.352, 2.217, 3.354, 4.787, 6.539, 8.622");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlyb_1) {
    area : 35.123200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "6.77787e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "6.66732e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.77787e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002713 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.3599 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1656, 0.1623, 0.156, 0.1518, 0.1493, 0.1478, 0.1467, 0.1461, 0.1456, 0.1452",\
                 "0.1652, 0.1617, 0.1555, 0.1513, 0.1488, 0.1472, 0.1462, 0.1455, 0.145, 0.1447",\
                 "0.1656, 0.1622, 0.1559, 0.1517, 0.1492, 0.1477, 0.1467, 0.146, 0.1455, 0.1451",\
                 "0.1689, 0.1655, 0.1592, 0.1551, 0.1525, 0.151, 0.1499, 0.1493, 0.1488, 0.1484",\
                 "0.1757, 0.1723, 0.1661, 0.1619, 0.1593, 0.1578, 0.1568, 0.1561, 0.1556, 0.1553",\
                 "0.1863, 0.1829, 0.1766, 0.1725, 0.1699, 0.1684, 0.1674, 0.1667, 0.1662, 0.1658",\
                 "0.2011, 0.1977, 0.1915, 0.1873, 0.1848, 0.1832, 0.1822, 0.1814, 0.181, 0.1806",\
                 "0.2207, 0.2173, 0.211, 0.2068, 0.2043, 0.2027, 0.2016, 0.201, 0.2005, 0.2001",\
                 "0.2452, 0.2418, 0.2356, 0.2314, 0.2289, 0.2273, 0.2262, 0.2255, 0.225, 0.2247",\
                 "0.275, 0.2716, 0.2653, 0.2612, 0.2586, 0.257, 0.2559, 0.2553, 0.2548, 0.2544");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1252, 0.124, 0.122, 0.1209, 0.1208, 0.1213, 0.1217, 0.1223, 0.1232, 0.1283",\
                 "0.125, 0.1239, 0.1222, 0.1209, 0.1207, 0.1212, 0.1216, 0.1222, 0.1231, 0.1282",\
                 "0.1252, 0.1241, 0.122, 0.1211, 0.1209, 0.1213, 0.1217, 0.1223, 0.1232, 0.1284",\
                 "0.127, 0.1259, 0.124, 0.1229, 0.1226, 0.1233, 0.1235, 0.1242, 0.1249, 0.1306",\
                 "0.1318, 0.1306, 0.1287, 0.1276, 0.1276, 0.1278, 0.1283, 0.1288, 0.1298, 0.136",\
                 "0.14, 0.1388, 0.1368, 0.1359, 0.1356, 0.1361, 0.1366, 0.1373, 0.1381, 0.1447",\
                 "0.152, 0.1508, 0.1488, 0.1477, 0.1479, 0.1485, 0.1486, 0.1493, 0.1504, 0.1591",\
                 "0.1681, 0.1669, 0.1649, 0.1637, 0.1635, 0.1642, 0.1654, 0.1658, 0.1665, 0.1768",\
                 "0.1885, 0.1872, 0.1852, 0.1841, 0.184, 0.184, 0.1852, 0.1871, 0.1886, 0.2018",\
                 "0.2134, 0.2122, 0.2101, 0.2091, 0.2085, 0.2089, 0.2094, 0.2106, 0.2151, 0.2343");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.361, 1.411, 1.543, 1.733, 1.973, 2.27, 2.636, 3.086, 3.63, 4.277",\
                 "1.375, 1.425, 1.557, 1.747, 1.988, 2.284, 2.651, 3.1, 3.644, 4.291",\
                 "1.444, 1.493, 1.625, 1.815, 2.056, 2.353, 2.719, 3.168, 3.712, 4.36",\
                 "1.589, 1.638, 1.771, 1.961, 2.201, 2.498, 2.864, 3.314, 3.858, 4.505",\
                 "1.801, 1.851, 1.983, 2.173, 2.413, 2.71, 3.076, 3.526, 4.07, 4.717",\
                 "2.064, 2.113, 2.246, 2.436, 2.676, 2.973, 3.339, 3.789, 4.333, 4.98",\
                 "2.382, 2.432, 2.564, 2.755, 2.995, 3.292, 3.658, 4.107, 4.651, 5.299",\
                 "2.759, 2.808, 2.94, 3.131, 3.371, 3.668, 4.034, 4.483, 5.028, 5.675",\
                 "3.193, 3.243, 3.375, 3.565, 3.806, 4.102, 4.469, 4.918, 5.462, 6.109",\
                 "3.685, 3.735, 3.867, 4.057, 4.298, 4.595, 4.961, 5.411, 5.955, 6.602");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.229, 1.273, 1.405, 1.632, 1.98, 2.468, 3.11, 3.919, 4.906, 6.082",\
                 "1.242, 1.286, 1.418, 1.646, 1.994, 2.481, 3.123, 3.932, 4.92, 6.097",\
                 "1.283, 1.327, 1.458, 1.686, 2.034, 2.521, 3.163, 3.972, 4.96, 6.137",\
                 "1.319, 1.363, 1.495, 1.722, 2.07, 2.558, 3.2, 4.009, 4.997, 6.174",\
                 "1.328, 1.371, 1.503, 1.73, 2.078, 2.566, 3.208, 4.016, 5.005, 6.183",\
                 "1.303, 1.347, 1.478, 1.706, 2.053, 2.542, 3.184, 3.992, 4.98, 6.156",\
                 "1.24, 1.284, 1.416, 1.643, 1.991, 2.479, 3.121, 3.929, 4.918, 6.095",\
                 "1.134, 1.178, 1.31, 1.537, 1.885, 2.373, 3.014, 3.823, 4.809, 5.989",\
                 "0.9795, 1.024, 1.155, 1.383, 1.731, 2.219, 2.861, 3.669, 4.656, 5.832",\
                 "0.7736, 0.8178, 0.9496, 1.177, 1.525, 2.013, 2.655, 3.463, 4.45, 5.626");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.218, 0.2652, 0.3926, 0.597, 0.8834, 1.288, 1.842, 2.563, 3.46, 4.544",\
                 "0.2184, 0.2648, 0.3924, 0.5966, 0.8842, 1.289, 1.84, 2.562, 3.463, 4.546",\
                 "0.2186, 0.2646, 0.3926, 0.597, 0.8832, 1.289, 1.841, 2.562, 3.463, 4.546",\
                 "0.2188, 0.2646, 0.3926, 0.5968, 0.8834, 1.288, 1.842, 2.563, 3.461, 4.546",\
                 "0.2184, 0.2648, 0.3932, 0.5968, 0.8836, 1.288, 1.841, 2.563, 3.461, 4.543",\
                 "0.2182, 0.2648, 0.3922, 0.5966, 0.8844, 1.289, 1.841, 2.562, 3.461, 4.546",\
                 "0.218, 0.2652, 0.3924, 0.596, 0.8832, 1.289, 1.841, 2.562, 3.461, 4.542",\
                 "0.2182, 0.2652, 0.3928, 0.596, 0.8836, 1.289, 1.84, 2.563, 3.463, 4.543",\
                 "0.2184, 0.265, 0.3932, 0.597, 0.8848, 1.288, 1.84, 2.561, 3.461, 4.545",\
                 "0.2186, 0.265, 0.3932, 0.5968, 0.8844, 1.289, 1.843, 2.56, 3.458, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1544, 0.2108, 0.3992, 0.7718, 1.378, 2.238, 3.371, 4.792, 6.533, 8.61",\
                 "0.1544, 0.2118, 0.3994, 0.772, 1.377, 2.235, 3.365, 4.796, 6.53, 8.612",\
                 "0.1536, 0.2116, 0.3992, 0.7734, 1.379, 2.236, 3.366, 4.794, 6.531, 8.612",\
                 "0.1544, 0.2106, 0.3992, 0.7732, 1.38, 2.238, 3.365, 4.796, 6.53, 8.612",\
                 "0.1538, 0.2104, 0.3992, 0.7736, 1.377, 2.235, 3.369, 4.799, 6.534, 8.613",\
                 "0.1534, 0.2112, 0.399, 0.773, 1.378, 2.238, 3.369, 4.791, 6.533, 8.611",\
                 "0.1538, 0.212, 0.3994, 0.773, 1.379, 2.235, 3.368, 4.79, 6.534, 8.61",\
                 "0.1544, 0.2112, 0.4, 0.7726, 1.378, 2.236, 3.365, 4.797, 6.531, 8.608",\
                 "0.1544, 0.2116, 0.4002, 0.7718, 1.379, 2.235, 3.365, 4.79, 6.529, 8.621",\
                 "0.1548, 0.2118, 0.3994, 0.7734, 1.377, 2.235, 3.367, 4.791, 6.528, 8.601");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlyb_2) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "7.93122e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "7.7748e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.93122e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002712 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7195 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("0.2765, 0.2644, 0.2389, 0.2185, 0.2067, 0.1992, 0.1941, 0.1907, 0.1883, 0.1866",\
                 "0.276, 0.264, 0.2385, 0.2179, 0.2062, 0.1986, 0.1937, 0.1902, 0.1878, 0.1861",\
                 "0.2764, 0.2644, 0.2389, 0.2184, 0.2066, 0.199, 0.194, 0.1907, 0.1882, 0.1865",\
                 "0.2797, 0.2677, 0.2422, 0.2216, 0.2098, 0.2023, 0.1974, 0.1939, 0.1916, 0.1898",\
                 "0.2865, 0.2745, 0.2489, 0.2284, 0.2166, 0.2092, 0.2042, 0.2008, 0.1983, 0.1966",\
                 "0.297, 0.285, 0.2594, 0.2389, 0.2272, 0.2196, 0.2147, 0.2113, 0.2089, 0.2071",\
                 "0.3118, 0.2998, 0.2744, 0.2538, 0.242, 0.2345, 0.2296, 0.2261, 0.2237, 0.222",\
                 "0.3313, 0.3192, 0.2938, 0.2732, 0.2615, 0.254, 0.2491, 0.2456, 0.2432, 0.2415",\
                 "0.3559, 0.3438, 0.3183, 0.2978, 0.2861, 0.2786, 0.2735, 0.2701, 0.2677, 0.2659",\
                 "0.3857, 0.3737, 0.3481, 0.3275, 0.3158, 0.3082, 0.3033, 0.2998, 0.2974, 0.2956");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("0.1738, 0.1677, 0.1603, 0.1557, 0.154, 0.1538, 0.1543, 0.1553, 0.1568, 0.1658",\
                 "0.1737, 0.1677, 0.1603, 0.1555, 0.1538, 0.1537, 0.1542, 0.1553, 0.1568, 0.1662",\
                 "0.1738, 0.1678, 0.1604, 0.1557, 0.1539, 0.154, 0.1542, 0.1556, 0.1565, 0.1668",\
                 "0.1755, 0.1696, 0.1623, 0.1578, 0.156, 0.156, 0.156, 0.1569, 0.1595, 0.1695",\
                 "0.1803, 0.1744, 0.1669, 0.1624, 0.1604, 0.1606, 0.1617, 0.1619, 0.1631, 0.175",\
                 "0.1885, 0.1825, 0.1753, 0.171, 0.1689, 0.1688, 0.1691, 0.1698, 0.1717, 0.1862",\
                 "0.2006, 0.1948, 0.1874, 0.1821, 0.1814, 0.1811, 0.1811, 0.1829, 0.1843, 0.2012",\
                 "0.2167, 0.2109, 0.2034, 0.1983, 0.1962, 0.1971, 0.1988, 0.1987, 0.2009, 0.2226",\
                 "0.2373, 0.2314, 0.2239, 0.2187, 0.2169, 0.2158, 0.2176, 0.2212, 0.2228, 0.252",\
                 "0.2622, 0.2562, 0.2488, 0.2436, 0.2419, 0.2409, 0.2404, 0.2436, 0.2535, 0.2944");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("1.628, 1.694, 1.858, 2.083, 2.36, 2.686, 3.074, 3.536, 4.086, 4.737",\
                 "1.643, 1.709, 1.873, 2.098, 2.374, 2.701, 3.088, 3.55, 4.101, 4.751",\
                 "1.71, 1.777, 1.941, 2.166, 2.442, 2.769, 3.156, 3.619, 4.169, 4.819",\
                 "1.856, 1.922, 2.086, 2.311, 2.587, 2.914, 3.302, 3.764, 4.314, 4.964",\
                 "2.067, 2.134, 2.298, 2.523, 2.799, 3.126, 3.513, 3.975, 4.526, 5.176",\
                 "2.33, 2.397, 2.561, 2.785, 3.062, 3.388, 3.776, 4.238, 4.788, 5.439",\
                 "2.648, 2.715, 2.879, 3.104, 3.38, 3.707, 4.094, 4.556, 5.107, 5.757",\
                 "3.024, 3.091, 3.255, 3.479, 3.756, 4.083, 4.47, 4.932, 5.483, 6.133",\
                 "3.458, 3.524, 3.688, 3.913, 4.19, 4.517, 4.904, 5.366, 5.917, 6.567",\
                 "3.95, 4.016, 4.181, 4.405, 4.681, 5.009, 5.396, 5.858, 6.409, 7.059");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("1.352, 1.404, 1.549, 1.784, 2.134, 2.621, 3.263, 4.073, 5.06, 6.24",\
                 "1.365, 1.417, 1.562, 1.798, 2.147, 2.634, 3.276, 4.086, 5.073, 6.253",\
                 "1.405, 1.457, 1.603, 1.838, 2.187, 2.675, 3.317, 4.126, 5.113, 6.293",\
                 "1.442, 1.494, 1.639, 1.875, 2.224, 2.712, 3.353, 4.162, 5.151, 6.33",\
                 "1.45, 1.502, 1.648, 1.883, 2.232, 2.719, 3.361, 4.171, 5.159, 6.339",\
                 "1.425, 1.477, 1.623, 1.858, 2.208, 2.695, 3.337, 4.146, 5.134, 6.31",\
                 "1.363, 1.416, 1.561, 1.796, 2.145, 2.632, 3.274, 4.084, 5.072, 6.252",\
                 "1.257, 1.31, 1.455, 1.691, 2.039, 2.527, 3.169, 3.977, 4.965, 6.141",\
                 "1.104, 1.156, 1.302, 1.537, 1.886, 2.373, 3.015, 3.824, 4.811, 5.988",\
                 "0.8981, 0.9504, 1.096, 1.331, 1.681, 2.168, 2.81, 3.618, 4.606, 5.783");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("0.2722, 0.3358, 0.4894, 0.711, 1.012, 1.408, 1.939, 2.634, 3.513, 4.582",\
                 "0.2722, 0.3358, 0.4894, 0.7124, 1.014, 1.408, 1.94, 2.634, 3.511, 4.582",\
                 "0.2724, 0.3356, 0.4894, 0.7126, 1.013, 1.408, 1.939, 2.635, 3.512, 4.582",\
                 "0.272, 0.3358, 0.4894, 0.7126, 1.012, 1.408, 1.938, 2.634, 3.511, 4.577",\
                 "0.2732, 0.3368, 0.4892, 0.712, 1.011, 1.408, 1.941, 2.636, 3.512, 4.58",\
                 "0.2722, 0.3356, 0.4892, 0.7118, 1.013, 1.41, 1.941, 2.635, 3.512, 4.581",\
                 "0.2716, 0.3362, 0.4888, 0.7108, 1.012, 1.407, 1.941, 2.636, 3.513, 4.582",\
                 "0.2732, 0.3358, 0.489, 0.7122, 1.011, 1.407, 1.939, 2.632, 3.512, 4.582",\
                 "0.2724, 0.3358, 0.4906, 0.712, 1.013, 1.408, 1.94, 2.632, 3.509, 4.581",\
                 "0.2732, 0.336, 0.4906, 0.712, 1.011, 1.409, 1.94, 2.634, 3.508, 4.576");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3971, 0.5442, 0.7195");
          values("0.145, 0.2046, 0.3992, 0.7612, 1.359, 2.213, 3.347, 4.772, 6.513, 8.592",\
                 "0.1456, 0.2046, 0.3994, 0.7612, 1.359, 2.214, 3.347, 4.772, 6.51, 8.593",\
                 "0.145, 0.2052, 0.3992, 0.7612, 1.356, 2.214, 3.347, 4.771, 6.51, 8.593",\
                 "0.145, 0.204, 0.3994, 0.7612, 1.358, 2.214, 3.347, 4.778, 6.514, 8.593",\
                 "0.1448, 0.2046, 0.3996, 0.761, 1.358, 2.215, 3.348, 4.772, 6.514, 8.593",\
                 "0.1452, 0.2046, 0.3992, 0.7618, 1.357, 2.212, 3.347, 4.772, 6.525, 8.592",\
                 "0.1458, 0.2044, 0.3994, 0.7622, 1.358, 2.212, 3.344, 4.771, 6.515, 8.593",\
                 "0.1452, 0.2046, 0.3994, 0.7622, 1.357, 2.211, 3.342, 4.775, 6.516, 8.597",\
                 "0.1448, 0.2058, 0.3998, 0.762, 1.358, 2.212, 3.343, 4.767, 6.51, 8.591",\
                 "0.1464, 0.2058, 0.4002, 0.7622, 1.359, 2.212, 3.343, 4.769, 6.51, 8.584");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlyb_4) {
    area : 48.294400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001023792" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "9.99042e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001023792" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002727 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.437 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("0.6635, 0.6315, 0.5535, 0.469, 0.4091, 0.3716, 0.3464, 0.328, 0.3149, 0.3049",\
                 "0.6631, 0.631, 0.5529, 0.4684, 0.4085, 0.371, 0.3457, 0.3274, 0.3141, 0.3043",\
                 "0.6635, 0.6314, 0.5534, 0.4689, 0.4089, 0.3714, 0.3458, 0.3279, 0.3146, 0.3047",\
                 "0.6667, 0.6347, 0.5567, 0.4722, 0.4121, 0.3748, 0.3496, 0.3313, 0.3181, 0.3081",\
                 "0.6735, 0.6415, 0.5635, 0.479, 0.4189, 0.3818, 0.3561, 0.3381, 0.3248, 0.3149",\
                 "0.684, 0.652, 0.5739, 0.4894, 0.4293, 0.3919, 0.3664, 0.3484, 0.3352, 0.3253",\
                 "0.6988, 0.6665, 0.5885, 0.5042, 0.4442, 0.4069, 0.3815, 0.3633, 0.3501, 0.3401",\
                 "0.7183, 0.6862, 0.608, 0.5237, 0.4638, 0.4266, 0.4011, 0.3829, 0.3697, 0.3598",\
                 "0.7424, 0.7104, 0.6324, 0.5482, 0.4882, 0.4507, 0.4256, 0.4072, 0.394, 0.384",\
                 "0.7725, 0.7403, 0.6624, 0.578, 0.518, 0.4808, 0.4553, 0.4372, 0.4238, 0.4139");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("0.324, 0.3022, 0.2743, 0.2566, 0.2461, 0.2418, 0.2399, 0.2403, 0.2448, 0.2613",\
                 "0.324, 0.3018, 0.2739, 0.2565, 0.2463, 0.2415, 0.2403, 0.241, 0.2412, 0.2616",\
                 "0.3241, 0.3018, 0.2742, 0.2565, 0.246, 0.2428, 0.2413, 0.2417, 0.2432, 0.2631",\
                 "0.3259, 0.3038, 0.2759, 0.2591, 0.2484, 0.2444, 0.2432, 0.2417, 0.2475, 0.2669",\
                 "0.3306, 0.3087, 0.2806, 0.2629, 0.2529, 0.2491, 0.2482, 0.2483, 0.2525, 0.2761",\
                 "0.3388, 0.3168, 0.2888, 0.2708, 0.2606, 0.2563, 0.2548, 0.2554, 0.2575, 0.2925",\
                 "0.351, 0.3288, 0.3003, 0.2828, 0.274, 0.2689, 0.2667, 0.2679, 0.2698, 0.3066",\
                 "0.3672, 0.3449, 0.3167, 0.2981, 0.2883, 0.2867, 0.2851, 0.2861, 0.2892, 0.3367",\
                 "0.388, 0.3659, 0.3379, 0.3199, 0.3079, 0.3028, 0.3046, 0.3069, 0.3136, 0.3764",\
                 "0.413, 0.3907, 0.3625, 0.3443, 0.333, 0.3289, 0.3261, 0.3305, 0.3446, 0.437");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("2.238, 2.319, 2.521, 2.795, 3.125, 3.511, 3.949, 4.451, 5.027, 5.693",\
                 "2.253, 2.334, 2.536, 2.81, 3.14, 3.525, 3.964, 4.465, 5.042, 5.707",\
                 "2.321, 2.402, 2.604, 2.877, 3.208, 3.594, 4.032, 4.533, 5.11, 5.775",\
                 "2.466, 2.547, 2.749, 3.023, 3.353, 3.739, 4.177, 4.678, 5.255, 5.921",\
                 "2.677, 2.759, 2.961, 3.234, 3.565, 3.95, 4.389, 4.89, 5.467, 6.132",\
                 "2.94, 3.021, 3.224, 3.498, 3.828, 4.213, 4.652, 5.153, 5.729, 6.395",\
                 "3.258, 3.339, 3.542, 3.816, 4.145, 4.531, 4.969, 5.47, 6.047, 6.713",\
                 "3.634, 3.715, 3.917, 4.191, 4.522, 4.907, 5.345, 5.846, 6.422, 7.088",\
                 "4.067, 4.149, 4.35, 4.624, 4.954, 5.34, 5.779, 6.279, 6.856, 7.521",\
                 "4.558, 4.639, 4.841, 5.114, 5.445, 5.831, 6.27, 6.771, 7.347, 8.013");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("1.616, 1.677, 1.838, 2.091, 2.449, 2.937, 3.578, 4.387, 5.376, 6.554",\
                 "1.629, 1.69, 1.851, 2.105, 2.462, 2.95, 3.592, 4.401, 5.387, 6.565",\
                 "1.669, 1.73, 1.892, 2.145, 2.502, 2.991, 3.632, 4.44, 5.429, 6.606",\
                 "1.706, 1.767, 1.928, 2.182, 2.539, 3.027, 3.668, 4.477, 5.466, 6.646",\
                 "1.715, 1.775, 1.937, 2.19, 2.547, 3.036, 3.677, 4.485, 5.474, 6.651",\
                 "1.69, 1.751, 1.911, 2.165, 2.522, 3.011, 3.652, 4.461, 5.448, 6.628",\
                 "1.628, 1.689, 1.85, 2.103, 2.46, 2.949, 3.59, 4.399, 5.386, 6.566",\
                 "1.522, 1.583, 1.744, 1.997, 2.355, 2.843, 3.485, 4.293, 5.28, 6.461",\
                 "1.37, 1.431, 1.592, 1.846, 2.203, 2.691, 3.332, 4.14, 5.127, 6.303",\
                 "1.165, 1.226, 1.387, 1.64, 1.998, 2.486, 3.128, 3.936, 4.923, 6.1");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("0.4398, 0.5162, 0.7082, 0.965, 1.296, 1.712, 2.228, 2.887, 3.717, 4.741",\
                 "0.4392, 0.5166, 0.7074, 0.964, 1.295, 1.712, 2.227, 2.886, 3.716, 4.742",\
                 "0.4392, 0.516, 0.7068, 0.9648, 1.295, 1.712, 2.227, 2.887, 3.716, 4.741",\
                 "0.4392, 0.516, 0.7072, 0.964, 1.296, 1.709, 2.229, 2.888, 3.718, 4.741",\
                 "0.4408, 0.5162, 0.708, 0.965, 1.296, 1.709, 2.227, 2.886, 3.717, 4.737",\
                 "0.439, 0.5168, 0.7076, 0.9646, 1.294, 1.711, 2.229, 2.885, 3.715, 4.741",\
                 "0.438, 0.515, 0.7066, 0.964, 1.294, 1.712, 2.228, 2.889, 3.717, 4.741",\
                 "0.439, 0.5164, 0.7064, 0.963, 1.296, 1.71, 2.228, 2.888, 3.716, 4.74",\
                 "0.439, 0.5158, 0.7066, 0.9646, 1.294, 1.71, 2.225, 2.886, 3.718, 4.74",\
                 "0.439, 0.5162, 0.7084, 0.964, 1.294, 1.712, 2.228, 2.888, 3.716, 4.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.437");
          values("0.1906, 0.2544, 0.4568, 0.8176, 1.391, 2.232, 3.361, 4.791, 6.529, 8.617",\
                 "0.1922, 0.254, 0.4572, 0.817, 1.393, 2.233, 3.36, 4.787, 6.532, 8.606",\
                 "0.1916, 0.2544, 0.4574, 0.8174, 1.393, 2.233, 3.358, 4.791, 6.529, 8.608",\
                 "0.1914, 0.254, 0.4572, 0.8182, 1.393, 2.233, 3.362, 4.782, 6.529, 8.606",\
                 "0.1906, 0.2544, 0.4564, 0.8182, 1.393, 2.233, 3.36, 4.789, 6.54, 8.613",\
                 "0.1906, 0.2534, 0.4566, 0.8168, 1.393, 2.232, 3.361, 4.784, 6.525, 8.61",\
                 "0.1906, 0.254, 0.457, 0.8176, 1.391, 2.232, 3.36, 4.787, 6.536, 8.619",\
                 "0.1912, 0.2542, 0.4568, 0.8184, 1.391, 2.232, 3.357, 4.787, 6.534, 8.622",\
                 "0.1908, 0.2538, 0.4572, 0.8182, 1.393, 2.233, 3.359, 4.781, 6.529, 8.61",\
                 "0.1924, 0.2546, 0.4576, 0.8184, 1.391, 2.233, 3.358, 4.787, 6.523, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlyc_1) {
    area : 54.880000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "9.02913e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "8.91858e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "9.02913e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002718 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.3594 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003473, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.2451, 0.2417, 0.2352, 0.2308, 0.2282, 0.2264, 0.2253, 0.2246, 0.2241, 0.2237",\
                 "0.2446, 0.2412, 0.2347, 0.2303, 0.2277, 0.226, 0.2248, 0.2241, 0.2236, 0.2232",\
                 "0.245, 0.2416, 0.2351, 0.2307, 0.2281, 0.2264, 0.2252, 0.2245, 0.224, 0.2236",\
                 "0.2483, 0.2449, 0.2384, 0.234, 0.2313, 0.2297, 0.2285, 0.2278, 0.2272, 0.2269",\
                 "0.2551, 0.2517, 0.2452, 0.2408, 0.2381, 0.2365, 0.2354, 0.2346, 0.2341, 0.2337",\
                 "0.2657, 0.2623, 0.2558, 0.2515, 0.2488, 0.2471, 0.246, 0.2452, 0.2447, 0.2443",\
                 "0.2805, 0.2771, 0.2706, 0.2662, 0.2635, 0.2618, 0.2607, 0.26, 0.2595, 0.2591",\
                 "0.3, 0.2966, 0.2901, 0.2856, 0.283, 0.2813, 0.2802, 0.2795, 0.2789, 0.2785",\
                 "0.3244, 0.321, 0.3146, 0.3102, 0.3075, 0.3058, 0.3047, 0.3039, 0.3034, 0.303",\
                 "0.3542, 0.3508, 0.3443, 0.34, 0.3373, 0.3356, 0.3345, 0.3337, 0.3332, 0.3328");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003473, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.1991, 0.1978, 0.1958, 0.1946, 0.1944, 0.1948, 0.1952, 0.196, 0.1968, 0.2027",\
                 "0.199, 0.1978, 0.1957, 0.1946, 0.1944, 0.1947, 0.1952, 0.1956, 0.1966, 0.2026",\
                 "0.1991, 0.1979, 0.1959, 0.1947, 0.1946, 0.1949, 0.1953, 0.1956, 0.1968, 0.2039",\
                 "0.2009, 0.1997, 0.1976, 0.1965, 0.1965, 0.1967, 0.1971, 0.1975, 0.1988, 0.2054",\
                 "0.2056, 0.2043, 0.2023, 0.2012, 0.2009, 0.2015, 0.2019, 0.2029, 0.2036, 0.212",\
                 "0.2138, 0.2126, 0.2106, 0.2095, 0.2092, 0.2099, 0.2102, 0.2106, 0.2124, 0.2211",\
                 "0.2257, 0.2245, 0.2227, 0.2215, 0.2213, 0.2215, 0.222, 0.2229, 0.224, 0.2355",\
                 "0.2418, 0.2405, 0.2387, 0.2372, 0.2373, 0.2381, 0.2384, 0.2385, 0.2404, 0.2563",\
                 "0.2623, 0.261, 0.259, 0.2579, 0.2572, 0.2579, 0.2593, 0.2596, 0.2621, 0.2812",\
                 "0.2869, 0.2859, 0.2836, 0.2825, 0.2822, 0.2826, 0.2828, 0.285, 0.2884, 0.3172");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003473, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("2.435, 2.485, 2.619, 2.811, 3.054, 3.352, 3.719, 4.169, 4.712, 5.359",\
                 "2.45, 2.499, 2.633, 2.825, 3.068, 3.367, 3.734, 4.183, 4.727, 5.374",\
                 "2.517, 2.567, 2.701, 2.893, 3.136, 3.435, 3.802, 4.251, 4.795, 5.441",\
                 "2.663, 2.713, 2.846, 3.039, 3.282, 3.58, 3.947, 4.397, 4.94, 5.587",\
                 "2.875, 2.925, 3.059, 3.251, 3.494, 3.793, 4.16, 4.609, 5.153, 5.8",\
                 "3.139, 3.189, 3.323, 3.515, 3.758, 4.056, 4.423, 4.873, 5.416, 6.063",\
                 "3.458, 3.508, 3.641, 3.834, 4.076, 4.375, 4.742, 5.191, 5.735, 6.382",\
                 "3.835, 3.885, 4.018, 4.21, 4.453, 4.752, 5.119, 5.568, 6.112, 6.758",\
                 "4.269, 4.319, 4.452, 4.645, 4.888, 5.186, 5.553, 6.003, 6.546, 7.192",\
                 "4.762, 4.812, 4.946, 5.138, 5.381, 5.68, 6.047, 6.496, 7.04, 7.686");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003473, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("2.284, 2.328, 2.46, 2.688, 3.035, 3.522, 4.163, 4.97, 5.957, 7.134",\
                 "2.297, 2.341, 2.473, 2.701, 3.048, 3.536, 4.176, 4.984, 5.97, 7.147",\
                 "2.337, 2.382, 2.514, 2.741, 3.089, 3.576, 4.216, 5.024, 6.01, 7.186",\
                 "2.375, 2.419, 2.551, 2.778, 3.126, 3.613, 4.253, 5.061, 6.046, 7.222",\
                 "2.383, 2.427, 2.559, 2.787, 3.134, 3.622, 4.262, 5.07, 6.056, 7.231",\
                 "2.359, 2.403, 2.536, 2.763, 3.11, 3.598, 4.238, 5.046, 6.031, 7.207",\
                 "2.297, 2.341, 2.474, 2.702, 3.049, 3.536, 4.177, 4.984, 5.97, 7.145",\
                 "2.191, 2.235, 2.368, 2.595, 2.943, 3.429, 4.07, 4.878, 5.865, 7.039",\
                 "2.038, 2.082, 2.214, 2.442, 2.789, 3.276, 3.917, 4.724, 5.709, 6.884",\
                 "1.833, 1.877, 2.009, 2.236, 2.584, 3.071, 3.712, 4.519, 5.505, 6.679");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003473, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.2238, 0.2712, 0.4002, 0.6036, 0.8922, 1.295, 1.844, 2.564, 3.46, 4.541",\
                 "0.2238, 0.2712, 0.4, 0.6048, 0.8922, 1.295, 1.845, 2.563, 3.461, 4.538",\
                 "0.224, 0.271, 0.4, 0.6034, 0.8932, 1.296, 1.845, 2.562, 3.457, 4.54",\
                 "0.224, 0.2712, 0.4002, 0.6034, 0.8922, 1.295, 1.846, 2.562, 3.459, 4.539",\
                 "0.2238, 0.271, 0.4004, 0.6048, 0.892, 1.297, 1.845, 2.563, 3.46, 4.538",\
                 "0.2248, 0.2712, 0.3998, 0.605, 0.8924, 1.295, 1.845, 2.562, 3.459, 4.54",\
                 "0.2242, 0.2718, 0.3998, 0.6046, 0.8926, 1.296, 1.844, 2.564, 3.459, 4.541",\
                 "0.2234, 0.2708, 0.3996, 0.6046, 0.8928, 1.296, 1.846, 2.563, 3.457, 4.542",\
                 "0.224, 0.2712, 0.4002, 0.6044, 0.8914, 1.296, 1.844, 2.562, 3.458, 4.542",\
                 "0.2238, 0.271, 0.4, 0.606, 0.892, 1.292, 1.846, 2.562, 3.456, 4.538");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003473, 0.01216, 0.02874, 0.05457, 0.09081, 0.1385, 0.1986, 0.2719, 0.3594");
          values("0.157, 0.2138, 0.402, 0.773, 1.377, 2.234, 3.368, 4.785, 6.526, 8.595",\
                 "0.1568, 0.2142, 0.4026, 0.7726, 1.377, 2.237, 3.368, 4.788, 6.525, 8.599",\
                 "0.1566, 0.2142, 0.4026, 0.7732, 1.378, 2.237, 3.368, 4.787, 6.523, 8.601",\
                 "0.1564, 0.2134, 0.402, 0.7732, 1.378, 2.237, 3.367, 4.788, 6.526, 8.6",\
                 "0.1568, 0.214, 0.4016, 0.7728, 1.379, 2.235, 3.366, 4.785, 6.525, 8.601",\
                 "0.157, 0.2144, 0.402, 0.7736, 1.377, 2.236, 3.366, 4.787, 6.524, 8.603",\
                 "0.1564, 0.2136, 0.4012, 0.7734, 1.379, 2.237, 3.362, 4.785, 6.527, 8.6",\
                 "0.1566, 0.2142, 0.402, 0.7732, 1.378, 2.234, 3.365, 4.784, 6.523, 8.598",\
                 "0.156, 0.214, 0.401, 0.7726, 1.38, 2.235, 3.366, 4.784, 6.522, 8.596",\
                 "0.1572, 0.214, 0.4016, 0.7726, 1.378, 2.233, 3.365, 4.785, 6.521, 8.597");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlyc_2) {
    area : 59.270400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001018248" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001002639" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001018248" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002711 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7191 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005956, 0.02335, 0.05658, 0.1083, 0.181, 0.2765, 0.3969, 0.5439, 0.7191");
          values("0.3543, 0.3423, 0.3167, 0.296, 0.2842, 0.2764, 0.2713, 0.2679, 0.2654, 0.2636",\
                 "0.3538, 0.3418, 0.3162, 0.2955, 0.2836, 0.276, 0.2709, 0.2674, 0.265, 0.2631",\
                 "0.3543, 0.3422, 0.3166, 0.2958, 0.284, 0.2764, 0.2713, 0.2678, 0.2653, 0.2636",\
                 "0.3575, 0.3455, 0.3199, 0.2991, 0.2873, 0.2797, 0.2746, 0.2711, 0.2686, 0.2669",\
                 "0.3643, 0.3523, 0.3267, 0.306, 0.2941, 0.2864, 0.2814, 0.2779, 0.2754, 0.2737",\
                 "0.375, 0.3629, 0.3373, 0.3165, 0.3047, 0.2971, 0.292, 0.2885, 0.2861, 0.2843",\
                 "0.3898, 0.3778, 0.352, 0.3313, 0.3195, 0.3118, 0.3068, 0.3033, 0.3009, 0.299",\
                 "0.4092, 0.3971, 0.3715, 0.3508, 0.3389, 0.3313, 0.3263, 0.3229, 0.3204, 0.3186",\
                 "0.4336, 0.4216, 0.396, 0.3753, 0.3635, 0.3558, 0.3508, 0.3473, 0.3448, 0.343",\
                 "0.4635, 0.4514, 0.4259, 0.4051, 0.3932, 0.3857, 0.3806, 0.3771, 0.3746, 0.3728");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005956, 0.02335, 0.05658, 0.1083, 0.181, 0.2765, 0.3969, 0.5439, 0.7191");
          values("0.2457, 0.2398, 0.232, 0.2276, 0.2256, 0.2253, 0.2262, 0.2263, 0.2284, 0.2404",\
                 "0.2456, 0.2396, 0.2321, 0.2275, 0.2253, 0.2253, 0.2257, 0.2263, 0.2288, 0.2409",\
                 "0.2457, 0.2397, 0.2323, 0.2275, 0.226, 0.2254, 0.2265, 0.2267, 0.2298, 0.2421",\
                 "0.2475, 0.2415, 0.2345, 0.2294, 0.2278, 0.2274, 0.2274, 0.2283, 0.2305, 0.2453",\
                 "0.2522, 0.2461, 0.2391, 0.234, 0.2325, 0.2325, 0.2333, 0.2342, 0.2358, 0.252",\
                 "0.2604, 0.2545, 0.2471, 0.2422, 0.2407, 0.2406, 0.2413, 0.2415, 0.2447, 0.2636",\
                 "0.2724, 0.2666, 0.2591, 0.2549, 0.2522, 0.2523, 0.2526, 0.2537, 0.2567, 0.2803",\
                 "0.2885, 0.2825, 0.2749, 0.2702, 0.2686, 0.2692, 0.2692, 0.2695, 0.2736, 0.3044",\
                 "0.3088, 0.3028, 0.2954, 0.2903, 0.2878, 0.2879, 0.2907, 0.2912, 0.295, 0.336",\
                 "0.3337, 0.3277, 0.3202, 0.3155, 0.3135, 0.3131, 0.3122, 0.3169, 0.3245, 0.386");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005956, 0.02335, 0.05658, 0.1083, 0.181, 0.2765, 0.3969, 0.5439, 0.7191");
          values("2.682, 2.749, 2.914, 3.139, 3.416, 3.743, 4.131, 4.594, 5.144, 5.794",\
                 "2.697, 2.764, 2.928, 3.154, 3.431, 3.758, 4.146, 4.608, 5.159, 5.809",\
                 "2.765, 2.832, 2.996, 3.221, 3.498, 3.826, 4.214, 4.676, 5.226, 5.876",\
                 "2.91, 2.977, 3.142, 3.367, 3.644, 3.971, 4.359, 4.822, 5.372, 6.022",\
                 "3.123, 3.189, 3.354, 3.579, 3.856, 4.184, 4.571, 5.034, 5.584, 6.234",\
                 "3.386, 3.452, 3.617, 3.842, 4.119, 4.447, 4.835, 5.297, 5.847, 6.497",\
                 "3.704, 3.771, 3.936, 4.161, 4.437, 4.765, 5.153, 5.615, 6.166, 6.816",\
                 "4.081, 4.148, 4.312, 4.538, 4.814, 5.142, 5.53, 5.992, 6.542, 7.192",\
                 "4.515, 4.582, 4.747, 4.972, 5.248, 5.576, 5.964, 6.426, 6.976, 7.626",\
                 "5.008, 5.074, 5.239, 5.465, 5.741, 6.069, 6.457, 6.919, 7.469, 8.12");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005956, 0.02335, 0.05658, 0.1083, 0.181, 0.2765, 0.3969, 0.5439, 0.7191");
          values("2.392, 2.444, 2.589, 2.825, 3.174, 3.661, 4.302, 5.112, 6.1, 7.279",\
                 "2.405, 2.457, 2.602, 2.838, 3.187, 3.674, 4.316, 5.124, 6.113, 7.292",\
                 "2.445, 2.497, 2.642, 2.878, 3.227, 3.714, 4.356, 5.165, 6.153, 7.332",\
                 "2.481, 2.534, 2.68, 2.915, 3.264, 3.751, 4.393, 5.201, 6.19, 7.368",\
                 "2.49, 2.542, 2.688, 2.923, 3.272, 3.76, 4.401, 5.21, 6.199, 7.378",\
                 "2.466, 2.518, 2.664, 2.899, 3.248, 3.735, 4.377, 5.186, 6.174, 7.353",\
                 "2.403, 2.456, 2.601, 2.837, 3.186, 3.673, 4.315, 5.124, 6.111, 7.289",\
                 "2.297, 2.349, 2.495, 2.73, 3.079, 3.567, 4.208, 5.017, 6.005, 7.184",\
                 "2.143, 2.195, 2.341, 2.576, 2.926, 3.413, 4.055, 4.863, 5.85, 7.026",\
                 "1.937, 1.99, 2.135, 2.371, 2.72, 3.207, 3.85, 4.658, 5.644, 6.821");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005956, 0.02335, 0.05658, 0.1083, 0.181, 0.2765, 0.3969, 0.5439, 0.7191");
          values("0.2736, 0.337, 0.4922, 0.7132, 1.015, 1.411, 1.939, 2.633, 3.513, 4.58",\
                 "0.2736, 0.337, 0.4914, 0.714, 1.014, 1.41, 1.942, 2.634, 3.513, 4.58",\
                 "0.2734, 0.3368, 0.492, 0.7136, 1.015, 1.41, 1.941, 2.634, 3.512, 4.578",\
                 "0.2734, 0.3368, 0.4922, 0.7142, 1.015, 1.41, 1.941, 2.634, 3.51, 4.575",\
                 "0.274, 0.3374, 0.4914, 0.7134, 1.015, 1.41, 1.941, 2.634, 3.511, 4.579",\
                 "0.273, 0.337, 0.4922, 0.7142, 1.015, 1.41, 1.941, 2.634, 3.513, 4.575",\
                 "0.2744, 0.3384, 0.4908, 0.7142, 1.016, 1.41, 1.942, 2.634, 3.511, 4.577",\
                 "0.2742, 0.3368, 0.4908, 0.7142, 1.015, 1.412, 1.942, 2.635, 3.514, 4.579",\
                 "0.2724, 0.3366, 0.4908, 0.7128, 1.015, 1.41, 1.94, 2.636, 3.514, 4.576",\
                 "0.272, 0.338, 0.492, 0.714, 1.014, 1.41, 1.94, 2.636, 3.51, 4.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005956, 0.02335, 0.05658, 0.1083, 0.181, 0.2765, 0.3969, 0.5439, 0.7191");
          values("0.1448, 0.2046, 0.4004, 0.763, 1.355, 2.212, 3.346, 4.767, 6.512, 8.589",\
                 "0.146, 0.2046, 0.3996, 0.761, 1.358, 2.214, 3.346, 4.776, 6.512, 8.589",\
                 "0.146, 0.2044, 0.3998, 0.7616, 1.356, 2.214, 3.346, 4.777, 6.511, 8.589",\
                 "0.146, 0.2048, 0.4006, 0.7612, 1.356, 2.214, 3.343, 4.774, 6.51, 8.59",\
                 "0.1446, 0.2052, 0.3992, 0.7614, 1.356, 2.211, 3.346, 4.769, 6.513, 8.589",\
                 "0.1456, 0.2048, 0.4, 0.7616, 1.357, 2.213, 3.343, 4.773, 6.512, 8.588",\
                 "0.1446, 0.2044, 0.399, 0.7614, 1.358, 2.214, 3.345, 4.769, 6.52, 8.594",\
                 "0.145, 0.2048, 0.3994, 0.7616, 1.357, 2.212, 3.341, 4.768, 6.513, 8.59",\
                 "0.1448, 0.2044, 0.3998, 0.7618, 1.355, 2.212, 3.343, 4.767, 6.505, 8.599",\
                 "0.145, 0.2044, 0.399, 0.7612, 1.355, 2.21, 3.345, 4.767, 6.51, 8.586");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlyc_4) {
    area : 68.051200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001248918" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001224168" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001248918" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.00274 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.435 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04564, 0.112, 0.2153, 0.3603, 0.5512, 0.7916, 1.085, 1.435");
          values("0.7344, 0.7022, 0.624, 0.5395, 0.48, 0.443, 0.4175, 0.3995, 0.3864, 0.3766",\
                 "0.734, 0.7017, 0.6235, 0.539, 0.4793, 0.4422, 0.4172, 0.3991, 0.3859, 0.3761",\
                 "0.7343, 0.7022, 0.6239, 0.5395, 0.4797, 0.4429, 0.4175, 0.3995, 0.3864, 0.3765",\
                 "0.7376, 0.7054, 0.6272, 0.5429, 0.4828, 0.446, 0.4208, 0.4027, 0.3897, 0.3799",\
                 "0.7444, 0.7124, 0.634, 0.5498, 0.4896, 0.4527, 0.4276, 0.4096, 0.3966, 0.3867",\
                 "0.7552, 0.7229, 0.6446, 0.5603, 0.5001, 0.4634, 0.4381, 0.4202, 0.4071, 0.3973",\
                 "0.7699, 0.7378, 0.6595, 0.575, 0.5152, 0.4779, 0.4529, 0.4348, 0.4218, 0.4119",\
                 "0.7892, 0.7571, 0.6787, 0.5943, 0.5343, 0.4975, 0.4722, 0.4544, 0.4412, 0.4314",\
                 "0.8137, 0.7816, 0.7034, 0.6189, 0.5591, 0.5224, 0.497, 0.479, 0.4657, 0.4559",\
                 "0.8435, 0.8113, 0.7332, 0.6488, 0.5892, 0.5524, 0.5269, 0.5088, 0.4957, 0.4858");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04564, 0.112, 0.2153, 0.3603, 0.5512, 0.7916, 1.085, 1.435");
          values("0.3936, 0.3709, 0.3433, 0.3249, 0.3146, 0.3109, 0.3086, 0.3085, 0.3116, 0.3387",\
                 "0.3934, 0.371, 0.343, 0.3249, 0.3147, 0.3106, 0.3089, 0.3091, 0.3139, 0.338",\
                 "0.3935, 0.3714, 0.3434, 0.3252, 0.3157, 0.3116, 0.3095, 0.3088, 0.3127, 0.3401",\
                 "0.3954, 0.3729, 0.3443, 0.3274, 0.3167, 0.3129, 0.3119, 0.313, 0.314, 0.3451",\
                 "0.4003, 0.3778, 0.3497, 0.3318, 0.3212, 0.3175, 0.3175, 0.3179, 0.3223, 0.3581",\
                 "0.4084, 0.3858, 0.3578, 0.3402, 0.3305, 0.3264, 0.3257, 0.3265, 0.3314, 0.3703",\
                 "0.4201, 0.3974, 0.3696, 0.3517, 0.3425, 0.3376, 0.3359, 0.3374, 0.3414, 0.3998",\
                 "0.4363, 0.4139, 0.3856, 0.3675, 0.359, 0.3538, 0.3521, 0.3529, 0.3586, 0.4309",\
                 "0.4565, 0.4341, 0.4063, 0.3876, 0.3764, 0.3739, 0.3762, 0.3758, 0.3838, 0.4745",\
                 "0.4815, 0.4593, 0.4302, 0.4133, 0.402, 0.3964, 0.397, 0.4034, 0.4181, 0.5482");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04564, 0.112, 0.2153, 0.3603, 0.5512, 0.7916, 1.085, 1.435");
          values("3.262, 3.343, 3.544, 3.817, 4.147, 4.531, 4.968, 5.467, 6.042, 6.706",\
                 "3.276, 3.357, 3.559, 3.832, 4.161, 4.545, 4.982, 5.482, 6.057, 6.721",\
                 "3.344, 3.425, 3.627, 3.9, 4.23, 4.614, 5.05, 5.549, 6.125, 6.788",\
                 "3.489, 3.57, 3.772, 4.045, 4.374, 4.759, 5.196, 5.695, 6.27, 6.934",\
                 "3.702, 3.783, 3.985, 4.257, 4.586, 4.971, 5.408, 5.907, 6.482, 7.146",\
                 "3.965, 4.047, 4.248, 4.521, 4.85, 5.234, 5.671, 6.17, 6.746, 7.409",\
                 "4.284, 4.366, 4.567, 4.84, 5.169, 5.553, 5.99, 6.489, 7.064, 7.728",\
                 "4.66, 4.742, 4.943, 5.216, 5.546, 5.93, 6.367, 6.866, 7.441, 8.105",\
                 "5.095, 5.176, 5.377, 5.65, 5.98, 6.364, 6.801, 7.3, 7.875, 8.539",\
                 "5.588, 5.669, 5.87, 6.143, 6.473, 6.857, 7.294, 7.794, 8.368, 9.032");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04564, 0.112, 0.2153, 0.3603, 0.5512, 0.7916, 1.085, 1.435");
          values("2.638, 2.699, 2.861, 3.113, 3.47, 3.957, 4.598, 5.405, 6.392, 7.571",\
                 "2.651, 2.712, 2.873, 3.126, 3.483, 3.97, 4.61, 5.418, 6.405, 7.582",\
                 "2.691, 2.753, 2.914, 3.166, 3.523, 4.011, 4.651, 5.458, 6.445, 7.623",\
                 "2.728, 2.789, 2.95, 3.203, 3.56, 4.047, 4.688, 5.495, 6.482, 7.66",\
                 "2.736, 2.797, 2.958, 3.211, 3.568, 4.055, 4.696, 5.503, 6.49, 7.667",\
                 "2.712, 2.773, 2.934, 3.187, 3.543, 4.031, 4.671, 5.479, 6.466, 7.64",\
                 "2.649, 2.71, 2.871, 3.124, 3.481, 3.969, 4.609, 5.415, 6.402, 7.582",\
                 "2.543, 2.604, 2.765, 3.018, 3.375, 3.862, 4.502, 5.31, 6.296, 7.474",\
                 "2.389, 2.45, 2.611, 2.863, 3.22, 3.708, 4.348, 5.155, 6.14, 7.317",\
                 "2.183, 2.245, 2.405, 2.658, 3.015, 3.502, 4.143, 4.95, 5.936, 7.111");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04564, 0.112, 0.2153, 0.3603, 0.5512, 0.7916, 1.085, 1.435");
          values("0.435, 0.5126, 0.7034, 0.9596, 1.288, 1.705, 2.219, 2.876, 3.706, 4.726",\
                 "0.4354, 0.512, 0.7032, 0.9596, 1.289, 1.702, 2.218, 2.877, 3.707, 4.727",\
                 "0.436, 0.5126, 0.7032, 0.9586, 1.288, 1.705, 2.218, 2.877, 3.707, 4.728",\
                 "0.4358, 0.5128, 0.7034, 0.9586, 1.287, 1.701, 2.218, 2.878, 3.704, 4.726",\
                 "0.4364, 0.512, 0.7024, 0.9588, 1.29, 1.704, 2.218, 2.877, 3.704, 4.73",\
                 "0.4356, 0.5122, 0.7036, 0.959, 1.288, 1.704, 2.219, 2.879, 3.707, 4.727",\
                 "0.4352, 0.5126, 0.7022, 0.9592, 1.287, 1.703, 2.219, 2.877, 3.706, 4.725",\
                 "0.4346, 0.512, 0.7018, 0.959, 1.288, 1.702, 2.219, 2.879, 3.704, 4.73",\
                 "0.4348, 0.5116, 0.7026, 0.959, 1.289, 1.702, 2.218, 2.878, 3.704, 4.73",\
                 "0.436, 0.512, 0.704, 0.958, 1.286, 1.706, 2.216, 2.878, 3.704, 4.728");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04564, 0.112, 0.2153, 0.3603, 0.5512, 0.7916, 1.085, 1.435");
          values("0.1872, 0.2516, 0.4532, 0.8134, 1.386, 2.226, 3.355, 4.778, 6.52, 8.592",\
                 "0.1884, 0.2512, 0.4528, 0.8148, 1.388, 2.227, 3.355, 4.782, 6.518, 8.603",\
                 "0.1886, 0.2518, 0.4534, 0.8134, 1.386, 2.227, 3.35, 4.777, 6.517, 8.607",\
                 "0.188, 0.2512, 0.4542, 0.8136, 1.388, 2.227, 3.351, 4.783, 6.519, 8.607",\
                 "0.188, 0.251, 0.4538, 0.8144, 1.387, 2.227, 3.354, 4.783, 6.517, 8.595",\
                 "0.1894, 0.2512, 0.4542, 0.8138, 1.387, 2.227, 3.354, 4.783, 6.528, 8.595",\
                 "0.188, 0.2512, 0.4536, 0.8156, 1.388, 2.227, 3.355, 4.781, 6.514, 8.591",\
                 "0.188, 0.2512, 0.4538, 0.814, 1.386, 2.226, 3.352, 4.778, 6.519, 8.595",\
                 "0.1878, 0.2516, 0.4538, 0.8158, 1.387, 2.226, 3.35, 4.774, 6.518, 8.586",\
                 "0.188, 0.251, 0.454, 0.8126, 1.387, 2.227, 3.352, 4.775, 6.513, 8.588");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlyd_1) {
    area : 74.636800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001128072" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001116984" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001128072" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002712 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.3598 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.317, 0.3136, 0.3071, 0.3029, 0.3003, 0.2987, 0.2977, 0.297, 0.2965, 0.2961",\
                 "0.3165, 0.3131, 0.3066, 0.3024, 0.2999, 0.2982, 0.2972, 0.2964, 0.296, 0.2956",\
                 "0.3169, 0.3135, 0.307, 0.3028, 0.3002, 0.2986, 0.2976, 0.2968, 0.2964, 0.296",\
                 "0.3203, 0.3168, 0.3103, 0.3061, 0.3035, 0.3019, 0.3009, 0.3001, 0.2996, 0.2993",\
                 "0.3271, 0.3236, 0.3171, 0.3129, 0.3103, 0.3087, 0.3076, 0.307, 0.3065, 0.3061",\
                 "0.3377, 0.3342, 0.3278, 0.3235, 0.321, 0.3193, 0.3183, 0.3175, 0.317, 0.3167",\
                 "0.3524, 0.349, 0.3426, 0.3383, 0.3357, 0.3341, 0.3331, 0.3324, 0.3318, 0.3315",\
                 "0.372, 0.3685, 0.3621, 0.3578, 0.3553, 0.3537, 0.3526, 0.3519, 0.3514, 0.351",\
                 "0.3965, 0.393, 0.3866, 0.3823, 0.3797, 0.3781, 0.377, 0.3764, 0.3758, 0.3755",\
                 "0.4262, 0.4228, 0.4163, 0.4121, 0.4095, 0.4079, 0.4068, 0.4061, 0.4056, 0.4052");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.2688, 0.2675, 0.2654, 0.2643, 0.2641, 0.2646, 0.265, 0.2659, 0.2669, 0.2753",\
                 "0.2686, 0.2674, 0.2654, 0.2642, 0.264, 0.2645, 0.2652, 0.2654, 0.2666, 0.2752",\
                 "0.2687, 0.2675, 0.2654, 0.2642, 0.264, 0.2645, 0.265, 0.2655, 0.2668, 0.2764",\
                 "0.2706, 0.2694, 0.2674, 0.2662, 0.2659, 0.2664, 0.2668, 0.2675, 0.2686, 0.2786",\
                 "0.2754, 0.2741, 0.272, 0.2709, 0.2706, 0.2712, 0.2716, 0.2721, 0.2737, 0.2846",\
                 "0.2835, 0.2823, 0.2804, 0.2791, 0.279, 0.2793, 0.28, 0.2803, 0.2818, 0.2956",\
                 "0.2956, 0.2942, 0.2923, 0.2911, 0.2911, 0.2914, 0.2918, 0.2924, 0.2943, 0.3114",\
                 "0.3116, 0.3104, 0.3084, 0.3072, 0.3072, 0.3074, 0.3077, 0.3084, 0.3109, 0.3332",\
                 "0.332, 0.3306, 0.3284, 0.3274, 0.3271, 0.3279, 0.3285, 0.3291, 0.3319, 0.3608",\
                 "0.3567, 0.3554, 0.3534, 0.3523, 0.3521, 0.3518, 0.3527, 0.3552, 0.3599, 0.4006");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("3.455, 3.506, 3.638, 3.829, 4.07, 4.367, 4.734, 5.183, 5.727, 6.374",\
                 "3.469, 3.52, 3.653, 3.844, 4.085, 4.382, 4.748, 5.198, 5.742, 6.389",\
                 "3.537, 3.587, 3.721, 3.912, 4.153, 4.45, 4.816, 5.266, 5.81, 6.457",\
                 "3.683, 3.733, 3.866, 4.057, 4.298, 4.595, 4.962, 5.411, 5.955, 6.602",\
                 "3.895, 3.945, 4.078, 4.269, 4.51, 4.807, 5.174, 5.623, 6.167, 6.814",\
                 "4.158, 4.209, 4.341, 4.532, 4.773, 5.071, 5.437, 5.886, 6.43, 7.077",\
                 "4.476, 4.527, 4.66, 4.851, 5.092, 5.389, 5.755, 6.204, 6.748, 7.396",\
                 "4.853, 4.904, 5.037, 5.227, 5.469, 5.766, 6.132, 6.581, 7.125, 7.772",\
                 "5.287, 5.338, 5.471, 5.662, 5.903, 6.2, 6.566, 7.015, 7.559, 8.206",\
                 "5.78, 5.831, 5.963, 6.154, 6.395, 6.693, 7.059, 7.508, 8.052, 8.699");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("3.299, 3.344, 3.476, 3.703, 4.051, 4.539, 5.181, 5.989, 6.976, 8.154",\
                 "3.312, 3.356, 3.489, 3.716, 4.064, 4.552, 5.193, 6.002, 6.988, 8.165",\
                 "3.352, 3.396, 3.529, 3.756, 4.104, 4.592, 5.234, 6.042, 7.029, 8.206",\
                 "3.389, 3.434, 3.566, 3.794, 4.141, 4.629, 5.271, 6.079, 7.067, 8.245",\
                 "3.398, 3.442, 3.574, 3.801, 4.149, 4.638, 5.279, 6.088, 7.073, 8.253",\
                 "3.373, 3.417, 3.55, 3.777, 4.125, 4.612, 5.253, 6.062, 7.05, 8.228",\
                 "3.31, 3.354, 3.487, 3.714, 4.063, 4.55, 5.192, 6, 6.988, 8.166",\
                 "3.204, 3.248, 3.381, 3.608, 3.956, 4.444, 5.085, 5.894, 6.88, 8.056",\
                 "3.051, 3.095, 3.227, 3.454, 3.803, 4.29, 4.932, 5.74, 6.726, 7.905",\
                 "2.844, 2.888, 3.021, 3.248, 3.596, 4.084, 4.726, 5.534, 6.521, 7.696");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.216, 0.2634, 0.3918, 0.5964, 0.8834, 1.287, 1.838, 2.561, 3.46, 4.54",\
                 "0.2166, 0.2636, 0.3922, 0.595, 0.8838, 1.287, 1.84, 2.56, 3.456, 4.542",\
                 "0.216, 0.2638, 0.3918, 0.596, 0.8834, 1.287, 1.839, 2.561, 3.46, 4.542",\
                 "0.2164, 0.2642, 0.392, 0.5956, 0.8832, 1.287, 1.84, 2.558, 3.46, 4.54",\
                 "0.216, 0.2646, 0.3916, 0.5962, 0.8832, 1.288, 1.84, 2.561, 3.457, 4.543",\
                 "0.216, 0.2636, 0.3928, 0.5956, 0.8842, 1.287, 1.839, 2.561, 3.458, 4.543",\
                 "0.2162, 0.264, 0.392, 0.5956, 0.8832, 1.287, 1.839, 2.56, 3.46, 4.538",\
                 "0.217, 0.2632, 0.3918, 0.5964, 0.8828, 1.287, 1.838, 2.558, 3.459, 4.54",\
                 "0.217, 0.2632, 0.3916, 0.5962, 0.8828, 1.288, 1.84, 2.56, 3.458, 4.538",\
                 "0.216, 0.262, 0.392, 0.596, 0.884, 1.286, 1.842, 2.56, 3.458, 4.538");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.1508, 0.2092, 0.3966, 0.7688, 1.376, 2.234, 3.367, 4.786, 6.528, 8.604",\
                 "0.151, 0.2088, 0.3972, 0.7692, 1.376, 2.235, 3.364, 4.788, 6.528, 8.601",\
                 "0.151, 0.2088, 0.3966, 0.7696, 1.376, 2.232, 3.367, 4.787, 6.528, 8.606",\
                 "0.1512, 0.2088, 0.3962, 0.7694, 1.376, 2.235, 3.363, 4.792, 6.529, 8.601",\
                 "0.1516, 0.2086, 0.3968, 0.7702, 1.377, 2.235, 3.367, 4.789, 6.528, 8.605",\
                 "0.151, 0.2084, 0.3962, 0.7688, 1.374, 2.232, 3.364, 4.79, 6.525, 8.608",\
                 "0.1516, 0.2086, 0.397, 0.7686, 1.374, 2.232, 3.36, 4.791, 6.527, 8.607",\
                 "0.151, 0.2086, 0.397, 0.7694, 1.374, 2.234, 3.362, 4.789, 6.528, 8.603",\
                 "0.1506, 0.209, 0.3966, 0.769, 1.375, 2.233, 3.36, 4.795, 6.526, 8.603",\
                 "0.1512, 0.2082, 0.3974, 0.7688, 1.375, 2.234, 3.366, 4.784, 6.522, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlyd_2) {
    area : 79.027200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001243407" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001227765" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001243407" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002738 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 0.7195 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3972, 0.5442, 0.7195");
          values("0.4275, 0.4153, 0.3895, 0.3688, 0.3571, 0.3495, 0.3445, 0.341, 0.3386, 0.3369",\
                 "0.4269, 0.4148, 0.389, 0.3682, 0.3566, 0.3491, 0.344, 0.3405, 0.3381, 0.3363",\
                 "0.4273, 0.4151, 0.3894, 0.3687, 0.3569, 0.3494, 0.3444, 0.3409, 0.3385, 0.3368",\
                 "0.4306, 0.4184, 0.3927, 0.372, 0.3602, 0.3528, 0.3477, 0.3442, 0.3418, 0.3401",\
                 "0.4375, 0.4252, 0.3995, 0.3788, 0.367, 0.3595, 0.3545, 0.3511, 0.3486, 0.3469",\
                 "0.448, 0.4358, 0.4101, 0.3894, 0.3776, 0.3701, 0.3651, 0.3617, 0.3592, 0.3575",\
                 "0.4628, 0.4506, 0.4249, 0.4042, 0.3925, 0.385, 0.38, 0.3765, 0.374, 0.3723",\
                 "0.4823, 0.4702, 0.4444, 0.4237, 0.412, 0.4045, 0.3995, 0.396, 0.3935, 0.3918",\
                 "0.5068, 0.4947, 0.469, 0.4483, 0.4363, 0.4288, 0.4238, 0.4204, 0.418, 0.4163",\
                 "0.5366, 0.5244, 0.4987, 0.478, 0.4662, 0.4586, 0.4537, 0.4503, 0.4478, 0.4461");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3972, 0.5442, 0.7195");
          values("0.3168, 0.3107, 0.303, 0.2982, 0.2962, 0.296, 0.2965, 0.2983, 0.2996, 0.3167",\
                 "0.3166, 0.3104, 0.3029, 0.2979, 0.296, 0.2958, 0.2962, 0.2983, 0.2996, 0.3173",\
                 "0.3166, 0.3106, 0.3031, 0.2981, 0.2966, 0.296, 0.2965, 0.2973, 0.3, 0.3183",\
                 "0.3184, 0.3125, 0.3052, 0.3001, 0.2981, 0.2978, 0.2992, 0.2993, 0.3017, 0.3223",\
                 "0.3233, 0.3172, 0.31, 0.3045, 0.3033, 0.303, 0.3041, 0.3046, 0.3077, 0.3301",\
                 "0.3315, 0.3252, 0.3178, 0.3126, 0.3111, 0.3111, 0.312, 0.3122, 0.316, 0.3431",\
                 "0.3435, 0.3371, 0.3298, 0.3251, 0.3232, 0.3232, 0.3242, 0.325, 0.329, 0.3624",\
                 "0.3595, 0.3533, 0.3457, 0.341, 0.3396, 0.3388, 0.3394, 0.3405, 0.3457, 0.3893",\
                 "0.3799, 0.3735, 0.3664, 0.361, 0.3591, 0.3596, 0.3609, 0.3619, 0.3682, 0.4285",\
                 "0.4046, 0.3984, 0.3911, 0.3858, 0.3838, 0.383, 0.3836, 0.3875, 0.3983, 0.483");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3972, 0.5442, 0.7195");
          values("3.716, 3.784, 3.948, 4.173, 4.45, 4.777, 5.164, 5.626, 6.177, 6.827",\
                 "3.731, 3.798, 3.963, 4.188, 4.464, 4.791, 5.179, 5.641, 6.191, 6.841",\
                 "3.799, 3.866, 4.031, 4.255, 4.532, 4.859, 5.246, 5.708, 6.259, 6.909",\
                 "3.944, 4.011, 4.176, 4.401, 4.677, 5.004, 5.392, 5.854, 6.404, 7.054",\
                 "4.156, 4.223, 4.388, 4.613, 4.89, 5.217, 5.604, 6.066, 6.617, 7.267",\
                 "4.419, 4.486, 4.652, 4.877, 5.153, 5.48, 5.867, 6.33, 6.88, 7.53",\
                 "4.738, 4.805, 4.97, 5.195, 5.471, 5.798, 6.186, 6.648, 7.198, 7.848",\
                 "5.115, 5.182, 5.346, 5.572, 5.848, 6.175, 6.562, 7.024, 7.575, 8.225",\
                 "5.549, 5.616, 5.781, 6.006, 6.282, 6.609, 6.996, 7.458, 8.009, 8.658",\
                 "6.041, 6.107, 6.273, 6.497, 6.774, 7.1, 7.488, 7.95, 8.502, 9.151");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3972, 0.5442, 0.7195");
          values("3.419, 3.472, 3.618, 3.853, 4.203, 4.69, 5.332, 6.142, 7.13, 8.31",\
                 "3.432, 3.485, 3.631, 3.866, 4.215, 4.703, 5.345, 6.155, 7.143, 8.322",\
                 "3.473, 3.526, 3.671, 3.907, 4.256, 4.744, 5.385, 6.194, 7.183, 8.363",\
                 "3.509, 3.563, 3.708, 3.943, 4.292, 4.78, 5.422, 6.231, 7.22, 8.4",\
                 "3.518, 3.571, 3.717, 3.952, 4.301, 4.789, 5.43, 6.239, 7.228, 8.406",\
                 "3.493, 3.546, 3.692, 3.927, 4.276, 4.764, 5.406, 6.214, 7.203, 8.383",\
                 "3.431, 3.484, 3.63, 3.865, 4.214, 4.702, 5.344, 6.153, 7.141, 8.321",\
                 "3.324, 3.377, 3.523, 3.758, 4.107, 4.595, 5.236, 6.046, 7.034, 8.214",\
                 "3.171, 3.224, 3.37, 3.605, 3.954, 4.441, 5.083, 5.892, 6.88, 8.06",\
                 "2.964, 3.017, 3.163, 3.399, 3.748, 4.236, 4.878, 5.688, 6.674, 7.851");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3972, 0.5442, 0.7195");
          values("0.2688, 0.333, 0.4884, 0.7106, 1.01, 1.406, 1.937, 2.631, 3.51, 4.581",\
                 "0.2692, 0.3334, 0.4872, 0.7104, 1.011, 1.407, 1.938, 2.633, 3.507, 4.581",\
                 "0.269, 0.3334, 0.4884, 0.7102, 1.012, 1.406, 1.939, 2.633, 3.51, 4.579",\
                 "0.2688, 0.333, 0.4876, 0.7094, 1.011, 1.406, 1.938, 2.632, 3.512, 4.576",\
                 "0.2688, 0.333, 0.488, 0.71, 1.01, 1.407, 1.938, 2.633, 3.509, 4.58",\
                 "0.2692, 0.3332, 0.4886, 0.7102, 1.01, 1.407, 1.938, 2.632, 3.507, 4.579",\
                 "0.2688, 0.333, 0.4878, 0.7096, 1.012, 1.407, 1.937, 2.635, 3.51, 4.578",\
                 "0.2696, 0.3332, 0.4876, 0.7098, 1.012, 1.406, 1.939, 2.633, 3.511, 4.579",\
                 "0.2694, 0.3332, 0.4876, 0.7102, 1.01, 1.408, 1.938, 2.634, 3.51, 4.58",\
                 "0.27, 0.334, 0.488, 0.71, 1.012, 1.406, 1.938, 2.632, 3.508, 4.576");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005959, 0.02337, 0.05661, 0.1084, 0.1811, 0.2767, 0.3972, 0.5442, 0.7195");
          values("0.1436, 0.202, 0.3972, 0.7592, 1.356, 2.211, 3.345, 4.769, 6.513, 8.591",\
                 "0.1424, 0.202, 0.397, 0.7602, 1.357, 2.212, 3.342, 4.769, 6.513, 8.59",\
                 "0.1424, 0.202, 0.3972, 0.76, 1.353, 2.212, 3.345, 4.776, 6.513, 8.589",\
                 "0.1426, 0.2018, 0.3974, 0.76, 1.356, 2.21, 3.345, 4.776, 6.513, 8.59",\
                 "0.1422, 0.202, 0.3974, 0.7586, 1.354, 2.212, 3.345, 4.776, 6.512, 8.597",\
                 "0.1422, 0.2024, 0.3972, 0.7606, 1.356, 2.212, 3.344, 4.772, 6.515, 8.587",\
                 "0.1428, 0.2028, 0.3974, 0.7598, 1.356, 2.211, 3.345, 4.776, 6.514, 8.589",\
                 "0.1422, 0.2016, 0.3974, 0.7586, 1.355, 2.212, 3.344, 4.768, 6.513, 8.59",\
                 "0.1434, 0.2022, 0.3976, 0.7592, 1.355, 2.209, 3.339, 4.771, 6.516, 8.591",\
                 "0.1424, 0.2026, 0.3974, 0.7592, 1.356, 2.212, 3.342, 4.765, 6.51, 8.582");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__dlyd_4) {
    area : 87.808000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001474044" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001449294" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001474044" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.002712 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "I" ;
      max_capacitance : 1.438 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.8095, 0.7772, 0.6988, 0.6141, 0.5544, 0.5172, 0.4921, 0.4742, 0.4611, 0.4513",\
                 "0.809, 0.7767, 0.6982, 0.6137, 0.5539, 0.5167, 0.4918, 0.4737, 0.4606, 0.4507",\
                 "0.8096, 0.7772, 0.6986, 0.6141, 0.5543, 0.5177, 0.4923, 0.4741, 0.461, 0.4512",\
                 "0.8129, 0.7804, 0.702, 0.6174, 0.5576, 0.5204, 0.4953, 0.4774, 0.4643, 0.4545",\
                 "0.8197, 0.7873, 0.7088, 0.6242, 0.5644, 0.5276, 0.5024, 0.4843, 0.4712, 0.4613",\
                 "0.8303, 0.798, 0.7194, 0.6349, 0.575, 0.5383, 0.5128, 0.4948, 0.4818, 0.4719",\
                 "0.8451, 0.8127, 0.7342, 0.6497, 0.5899, 0.5529, 0.5276, 0.5096, 0.4965, 0.4867",\
                 "0.8647, 0.8322, 0.7536, 0.6693, 0.6091, 0.5723, 0.5469, 0.529, 0.5159, 0.5062",\
                 "0.889, 0.8566, 0.778, 0.6934, 0.6337, 0.5968, 0.5714, 0.5536, 0.5405, 0.5306",\
                 "0.9186, 0.8863, 0.8079, 0.7235, 0.6635, 0.6267, 0.6015, 0.5835, 0.5703, 0.5604");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.467, 0.4442, 0.4157, 0.3976, 0.3871, 0.3831, 0.3815, 0.3825, 0.3876, 0.4229",\
                 "0.4668, 0.4445, 0.4158, 0.3976, 0.3872, 0.3831, 0.3812, 0.3819, 0.3873, 0.4239",\
                 "0.467, 0.4445, 0.4157, 0.3984, 0.3878, 0.3841, 0.3825, 0.3815, 0.3861, 0.4282",\
                 "0.4688, 0.4459, 0.417, 0.3994, 0.39, 0.3861, 0.3845, 0.3839, 0.3911, 0.4324",\
                 "0.4735, 0.4508, 0.4215, 0.4046, 0.3949, 0.3901, 0.3885, 0.3901, 0.3965, 0.4445",\
                 "0.4815, 0.459, 0.431, 0.4128, 0.4024, 0.3987, 0.397, 0.3984, 0.4049, 0.4633",\
                 "0.4938, 0.4714, 0.4425, 0.4248, 0.4148, 0.4109, 0.4102, 0.4103, 0.4188, 0.4975",\
                 "0.5098, 0.4869, 0.4583, 0.4414, 0.4305, 0.426, 0.4241, 0.4253, 0.4331, 0.5377",\
                 "0.5301, 0.5075, 0.479, 0.46, 0.4497, 0.4482, 0.4459, 0.4456, 0.4617, 0.5945",\
                 "0.5548, 0.5321, 0.504, 0.4853, 0.475, 0.4699, 0.4706, 0.4752, 0.4986, 0.6882");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("4.315, 4.397, 4.599, 4.872, 5.203, 5.587, 6.024, 6.525, 7.101, 7.766",\
                 "4.329, 4.411, 4.614, 4.887, 5.217, 5.601, 6.038, 6.54, 7.115, 7.781",\
                 "4.398, 4.479, 4.681, 4.955, 5.285, 5.67, 6.107, 6.608, 7.184, 7.848",\
                 "4.543, 4.624, 4.826, 5.1, 5.43, 5.815, 6.252, 6.752, 7.329, 7.994",\
                 "4.755, 4.836, 5.039, 5.313, 5.643, 6.027, 6.464, 6.965, 7.541, 8.206",\
                 "5.018, 5.1, 5.302, 5.576, 5.905, 6.29, 6.728, 7.228, 7.804, 8.47",\
                 "5.336, 5.418, 5.62, 5.894, 6.224, 6.609, 7.046, 7.546, 8.123, 8.788",\
                 "5.713, 5.795, 5.997, 6.271, 6.601, 6.985, 7.423, 7.923, 8.499, 9.164",\
                 "6.147, 6.229, 6.431, 6.704, 7.034, 7.419, 7.856, 8.356, 8.933, 9.598",\
                 "6.64, 6.721, 6.923, 7.197, 7.527, 7.912, 8.349, 8.849, 9.425, 10.09");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("3.68, 3.742, 3.903, 4.157, 4.514, 5.003, 5.644, 6.452, 7.442, 8.622",\
                 "3.693, 3.755, 3.916, 4.169, 4.527, 5.015, 5.657, 6.466, 7.455, 8.635",\
                 "3.734, 3.796, 3.957, 4.21, 4.567, 5.056, 5.697, 6.506, 7.495, 8.673",\
                 "3.77, 3.831, 3.993, 4.246, 4.604, 5.093, 5.734, 6.543, 7.532, 8.712",\
                 "3.779, 3.84, 4.001, 4.255, 4.612, 5.101, 5.742, 6.551, 7.54, 8.716",\
                 "3.754, 3.815, 3.977, 4.23, 4.587, 5.076, 5.717, 6.526, 7.515, 8.692",\
                 "3.691, 3.753, 3.914, 4.168, 4.525, 5.014, 5.655, 6.464, 7.453, 8.631",\
                 "3.586, 3.647, 3.809, 4.062, 4.419, 4.908, 5.549, 6.358, 7.345, 8.526",\
                 "3.431, 3.493, 3.655, 3.908, 4.265, 4.754, 5.395, 6.203, 7.192, 8.372",\
                 "3.225, 3.286, 3.448, 3.702, 4.059, 4.547, 5.19, 5.998, 6.985, 8.163");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.434, 0.5114, 0.7034, 0.9598, 1.29, 1.703, 2.222, 2.881, 3.713, 4.738",\
                 "0.4336, 0.5114, 0.7026, 0.9594, 1.29, 1.703, 2.222, 2.882, 3.712, 4.737",\
                 "0.434, 0.512, 0.7034, 0.9604, 1.29, 1.707, 2.221, 2.882, 3.713, 4.738",\
                 "0.4342, 0.5114, 0.703, 0.96, 1.289, 1.703, 2.221, 2.881, 3.711, 4.734",\
                 "0.4346, 0.5118, 0.703, 0.9598, 1.29, 1.707, 2.221, 2.88, 3.71, 4.734",\
                 "0.4356, 0.5114, 0.7022, 0.96, 1.29, 1.703, 2.221, 2.882, 3.713, 4.736",\
                 "0.4348, 0.512, 0.7032, 0.959, 1.291, 1.707, 2.221, 2.88, 3.712, 4.734",\
                 "0.4342, 0.5118, 0.7028, 0.96, 1.288, 1.703, 2.22, 2.88, 3.712, 4.736",\
                 "0.433, 0.51, 0.702, 0.96, 1.288, 1.704, 2.222, 2.884, 3.712, 4.738",\
                 "0.434, 0.512, 0.702, 0.96, 1.288, 1.704, 2.224, 2.882, 3.712, 4.738");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1874, 0.2512, 0.4538, 0.815, 1.39, 2.23, 3.358, 4.788, 6.529, 8.624",\
                 "0.1882, 0.2504, 0.4536, 0.8156, 1.391, 2.228, 3.36, 4.79, 6.529, 8.607",\
                 "0.1876, 0.2502, 0.4538, 0.815, 1.387, 2.231, 3.357, 4.791, 6.529, 8.615",\
                 "0.188, 0.251, 0.455, 0.8146, 1.389, 2.229, 3.36, 4.785, 6.539, 8.623",\
                 "0.1888, 0.251, 0.454, 0.8142, 1.389, 2.231, 3.36, 4.79, 6.527, 8.603",\
                 "0.1882, 0.2512, 0.4544, 0.815, 1.39, 2.23, 3.357, 4.79, 6.527, 8.602",\
                 "0.189, 0.2516, 0.455, 0.8148, 1.389, 2.231, 3.357, 4.79, 6.528, 8.613",\
                 "0.188, 0.2508, 0.454, 0.8152, 1.39, 2.23, 3.356, 4.787, 6.533, 8.61",\
                 "0.1878, 0.252, 0.4534, 0.8152, 1.39, 2.229, 3.357, 4.785, 6.535, 8.61",\
                 "0.1884, 0.2512, 0.4534, 0.8164, 1.389, 2.23, 3.36, 4.784, 6.532, 8.61");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__endcap) {
    area : 4.390400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178165e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fill_1) {
    area : 2.195200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178165e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fill_2) {
    area : 4.390400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178165e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fill_4) {
    area : 8.780800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178165e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fill_8) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178198e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fill_16) {
    area : 35.123200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178198e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fill_32) {
    area : 70.246400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178264e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fill_64) {
    area : 140.492800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178396e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fillcap_4) {
    area : 8.780800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178165e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fillcap_8) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178198e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fillcap_16) {
    area : 35.123200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178198e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fillcap_32) {
    area : 70.246400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178264e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__fillcap_64) {
    area : 140.492800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178396e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__filltie) {
    area : 4.390400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178165e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__hold) {
    area : 19.756800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!Z" ;
      value : "4.39065e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "Z" ;
      value : "4.39065e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "4.39065e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(Z) {
      capacitance : 0.02266 ;
      direction : inout ;
      driver_type : bus_hold ;
      function : "Z" ;
      input_voltage : default ;
      max_transition : 8.6 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "1" ;

      internal_power() {

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0852, 0.08343, 0.08834, 0.1029, 0.1283, 0.1656, 0.2158, 0.2799, \
                 0.3584, 0.4526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002533, 0.001181, 0.002329, 0.01303, 0.0353, 0.06991, 0.1177, \
                 0.1794, 0.2557, 0.3477");
        }
      }
    }
  }
/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__icgtn_1) {
    area : 68.051200 ;
    clock_gating_integrated_cell : "latch_negedge_precontrol" ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!E&!TE" ;
      value : "0.0002230074" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!E&TE" ;
      value : "0.0002089791" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&E&!TE" ;
      value : "0.0002042997" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&E&TE" ;
      value : "0.0002043063" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!E&!TE" ;
      value : "0.0001379895" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!E&TE" ;
      value : "0.0001417251" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&E&!TE" ;
      value : "0.0001274889" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&E&TE" ;
      value : "0.0001274889" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002230074" ;
    }

    statetable("CLKN E TE", "IQ3 IQN3") {
      table : "H L L : - - : L H, \
              H H - : - - : H L, \
              H - H : - - : H L, \
              L - - : - - : N N" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.006717 ;
      clock : true ;
      clock_gate_clock_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 1.115 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1066, 0.1062, 0.1074, 0.114, 0.1267, 0.1468, 0.1743, 0.2099, \
                 0.2538, 0.3066");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05547, 0.055, 0.0557, 0.061, 0.07199, 0.08945, 0.1139, 0.1455, \
                 0.1846, 0.2315");
        }
      }

      internal_power() {
        when : "!E&TE" ;

        fall_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1845, 0.1841, 0.1848, 0.1899, 0.2006, 0.2178, 0.2419, 0.2737, \
                 0.3157, 0.37");
        }
      }

      internal_power() {
        when : "E&!TE" ;

        fall_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1756, 0.1751, 0.1759, 0.1812, 0.1921, 0.2096, 0.234, 0.2661, \
                 0.3088, 0.3634");
        }
      }

      internal_power() {
        when : "E&TE" ;

        fall_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1749, 0.1744, 0.1751, 0.1804, 0.1914, 0.2088, 0.2333, 0.2656, \
                 0.3086, 0.3638");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&!TE" ;

        rise_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&TE" ;

        rise_constraint(scalar) {
          values("1.115");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&!TE" ;

        rise_constraint(scalar) {
          values("1.063");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&TE" ;

        rise_constraint(scalar) {
          values("1.004");
        }
      }
    }

    pin(E) {
      capacitance : 0.003282 ;
      clock_gate_enable_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01357, 0.01356, 0.01355, 0.01356, 0.01356, 0.01357, 0.01357, \
                 0.01358, 0.01357, 0.01358");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01195, -0.01193, -0.01196, -0.01203, -0.01208, -0.01213, -0.01215, \
                 -0.01216, -0.01217, -0.01218");
        }
      }

      internal_power() {
        when : "!CLKN&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005972, 0.005968, 0.006003, 0.006009, 0.006002, 0.006013, 0.006008, \
                 0.006014, 0.006012, 0.006015");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005449, -0.005437, -0.005445, -0.005457, -0.005451, -0.005445, \
                 -0.005463, -0.00546, -0.005463, -0.005463");
        }
      }

      internal_power() {
        when : "CLKN&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1696, 0.1691, 0.1686, 0.1701, 0.1771, 0.1905, 0.2106, 0.2378, \
                 0.2715, 0.3123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1111, 0.1109, 0.1103, 0.1118, 0.1173, 0.128, 0.1445, 0.1669, \
                 0.1954, 0.2302");
        }
      }

      internal_power() {
        when : "CLKN&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008201, 0.008186, 0.0082, 0.008215, 0.008191, 0.008201, 0.008191, \
                 0.008168, 0.008136, 0.008099");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004519, -0.004506, -0.004529, -0.004533, -0.004542, -0.004559, \
                 -0.004566, -0.004573, -0.004582, -0.0046");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.647, -0.635, -0.573, -0.501, -0.421, -0.337, -0.229, -0.111, 0.027, 0.189",\
                 "-0.658, -0.644, -0.587, -0.505, -0.432, -0.342, -0.245, -0.122, 0.016, 0.177",\
                 "-0.694, -0.675, -0.614, -0.546, -0.461, -0.374, -0.268, -0.155, -0.01, 0.15",\
                 "-0.762, -0.739, -0.688, -0.612, -0.533, -0.445, -0.334, -0.212, -0.064, 0.098",\
                 "-0.896, -0.873, -0.816, -0.743, -0.666, -0.565, -0.459, -0.328, -0.182, -0.013",\
                 "-1.084, -1.067, -1.011, -0.936, -0.854, -0.756, -0.645, -0.508, -0.363, -0.188",\
                 "-1.339, -1.324, -1.262, -1.184, -1.102, -1.005, -0.896, -0.764, -0.612, -0.438",\
                 "-1.647, -1.628, -1.572, -1.499, -1.411, -1.311, -1.207, -1.076, -0.929, -0.757",\
                 "-2.001, -1.984, -1.926, -1.849, -1.767, -1.67, -1.563, -1.435, -1.292, -1.127",\
                 "-2.397, -2.379, -2.321, -2.246, -2.166, -2.075, -1.966, -1.844, -1.701, -1.54");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.092, -0.074, -0.004, 0.108, 0.241, 0.394, 0.572, 0.762, 0.974, 1.205",\
                 "-0.104, -0.088, -0.018, 0.102, 0.232, 0.383, 0.561, 0.75, 0.964, 1.194",\
                 "-0.13, -0.112, -0.047, 0.068, 0.208, 0.36, 0.538, 0.727, 0.941, 1.174",\
                 "-0.171, -0.16, -0.091, 0.031, 0.164, 0.322, 0.505, 0.697, 0.915, 1.15",\
                 "-0.218, -0.201, -0.13, -0.01, 0.135, 0.293, 0.479, 0.679, 0.897, 1.137",\
                 "-0.232, -0.212, -0.143, -0.022, 0.119, 0.286, 0.473, 0.68, 0.9, 1.144",\
                 "-0.209, -0.193, -0.121, -0.006, 0.139, 0.308, 0.493, 0.71, 0.931, 1.175",\
                 "-0.16, -0.141, -0.074, 0.052, 0.195, 0.365, 0.559, 0.767, 0.996, 1.246",\
                 "-0.067, -0.049, 0.018, 0.143, 0.295, 0.462, 0.659, 0.874, 1.104, 1.359",\
                 "0.061, 0.079, 0.151, 0.278, 0.425, 0.602, 0.802, 1.021, 1.262, 1.515");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.67, 0.655, 0.6, 0.52, 0.437, 0.349, 0.246, 0.117, -0.019, -0.179",\
                 "0.685, 0.667, 0.61, 0.534, 0.448, 0.354, 0.253, 0.127, -0.009, -0.172",\
                 "0.715, 0.698, 0.646, 0.564, 0.479, 0.387, 0.287, 0.162, 0.018, -0.144",\
                 "0.79, 0.768, 0.712, 0.636, 0.55, 0.453, 0.344, 0.219, 0.073, -0.092",\
                 "0.918, 0.904, 0.843, 0.765, 0.68, 0.583, 0.465, 0.336, 0.192, 0.02",\
                 "1.107, 1.096, 1.036, 0.959, 0.872, 0.766, 0.652, 0.516, 0.368, 0.194",\
                 "1.364, 1.35, 1.29, 1.215, 1.12, 1.019, 0.904, 0.774, 0.617, 0.445",\
                 "1.671, 1.652, 1.597, 1.518, 1.427, 1.328, 1.217, 1.082, 0.935, 0.765",\
                 "2.025, 2.007, 1.951, 1.867, 1.786, 1.68, 1.569, 1.448, 1.299, 1.136",\
                 "2.418, 2.405, 2.349, 2.269, 2.179, 2.082, 1.974, 1.852, 1.719, 1.556");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.756, 0.744, 0.712, 0.674, 0.615, 0.516, 0.381, 0.212, 0.005, -0.246",\
                 "0.767, 0.762, 0.723, 0.688, 0.625, 0.531, 0.39, 0.229, 0.015, -0.235",\
                 "0.796, 0.781, 0.748, 0.709, 0.653, 0.559, 0.423, 0.255, 0.043, -0.208",\
                 "0.844, 0.826, 0.793, 0.758, 0.692, 0.607, 0.464, 0.299, 0.09, -0.165",\
                 "0.881, 0.865, 0.835, 0.792, 0.734, 0.645, 0.505, 0.336, 0.135, -0.123",\
                 "0.9, 0.889, 0.858, 0.82, 0.758, 0.664, 0.524, 0.365, 0.148, -0.109",\
                 "0.892, 0.887, 0.846, 0.815, 0.754, 0.655, 0.517, 0.354, 0.139, -0.118",\
                 "0.856, 0.84, 0.808, 0.77, 0.709, 0.621, 0.485, 0.309, 0.098, -0.16",\
                 "0.783, 0.763, 0.735, 0.696, 0.632, 0.538, 0.399, 0.233, 0.023, -0.242",\
                 "0.663, 0.649, 0.616, 0.579, 0.517, 0.427, 0.283, 0.113, -0.1, -0.358");
        }
      }
    }

    pin(IQ3) {
      direction : internal ;
      internal_node : IQ3 ;
      inverted_output : false ;
    }

    pin(IQN3) {
      direction : internal ;
      internal_node : IQN3 ;
      inverted_output : true ;
    }

    pin(Q) {
      clock_gate_out_pin : true ;
      direction : output ;
      max_capacitance : 0.3602 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      state_function : "(CLKN|(!IQ3))" ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "!E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1947, 0.1948, 0.1952, 0.1958, 0.1967, 0.1974, 0.1978, 0.1985, 0.1991, 0.2018",\
                 "0.1948, 0.1948, 0.1952, 0.1959, 0.1968, 0.1976, 0.198, 0.1985, 0.199, 0.2025",\
                 "0.196, 0.1957, 0.1958, 0.1963, 0.1973, 0.1981, 0.1987, 0.1993, 0.1996, 0.2021",\
                 "0.2011, 0.2006, 0.2, 0.2001, 0.2008, 0.2016, 0.2023, 0.2025, 0.2032, 0.2067",\
                 "0.2116, 0.2106, 0.2092, 0.2087, 0.2092, 0.2099, 0.2103, 0.2108, 0.2114, 0.2151",\
                 "0.2282, 0.2267, 0.2244, 0.2232, 0.2234, 0.2238, 0.2241, 0.2247, 0.2252, 0.2299",\
                 "0.252, 0.2503, 0.2471, 0.2448, 0.2439, 0.2445, 0.2448, 0.2448, 0.246, 0.2509",\
                 "0.2822, 0.28, 0.276, 0.2729, 0.2713, 0.2705, 0.2713, 0.2715, 0.2725, 0.2797",\
                 "0.3157, 0.313, 0.308, 0.304, 0.3014, 0.3, 0.2996, 0.3008, 0.3019, 0.3125",\
                 "0.3521, 0.3486, 0.3427, 0.3377, 0.3345, 0.3323, 0.331, 0.3311, 0.3341, 0.3501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1947, 0.1948, 0.1952, 0.1958, 0.1967, 0.1974, 0.1978, 0.1985, 0.1991, 0.2018",\
                 "0.1948, 0.1948, 0.1952, 0.1959, 0.1968, 0.1976, 0.198, 0.1985, 0.199, 0.2025",\
                 "0.196, 0.1957, 0.1958, 0.1963, 0.1973, 0.1981, 0.1987, 0.1993, 0.1996, 0.2021",\
                 "0.2011, 0.2006, 0.2, 0.2001, 0.2008, 0.2016, 0.2023, 0.2025, 0.2032, 0.2067",\
                 "0.2116, 0.2106, 0.2092, 0.2087, 0.2092, 0.2099, 0.2103, 0.2108, 0.2114, 0.2151",\
                 "0.2282, 0.2267, 0.2244, 0.2232, 0.2234, 0.2238, 0.2241, 0.2247, 0.2252, 0.2299",\
                 "0.252, 0.2503, 0.2471, 0.2448, 0.2439, 0.2445, 0.2448, 0.2448, 0.246, 0.2509",\
                 "0.2822, 0.28, 0.276, 0.2729, 0.2713, 0.2705, 0.2713, 0.2715, 0.2725, 0.2797",\
                 "0.3157, 0.313, 0.308, 0.304, 0.3014, 0.3, 0.2996, 0.3008, 0.3019, 0.3125",\
                 "0.3521, 0.3486, 0.3427, 0.3377, 0.3345, 0.3323, 0.331, 0.3311, 0.3341, 0.3501");
        }
      }

      internal_power() {
        related_pin : "CLKN" ;
        when : "!E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1767, 0.176, 0.1753, 0.175, 0.1749, 0.1748, 0.1748, 0.1748, 0.1748, 0.1747",\
                 "0.1756, 0.1749, 0.1742, 0.1739, 0.1738, 0.1737, 0.1737, 0.1737, 0.1737, 0.1736",\
                 "0.1776, 0.1768, 0.1761, 0.1758, 0.1757, 0.1757, 0.1757, 0.1757, 0.1757, 0.1756",\
                 "0.1907, 0.1896, 0.1882, 0.1876, 0.1873, 0.1872, 0.1872, 0.1872, 0.1871, 0.1871",\
                 "0.2155, 0.214, 0.2118, 0.2106, 0.21, 0.2098, 0.2096, 0.2096, 0.2095, 0.2095",\
                 "0.2538, 0.2518, 0.2485, 0.2466, 0.2455, 0.245, 0.2447, 0.2445, 0.2444, 0.2444",\
                 "0.3063, 0.3037, 0.2995, 0.2965, 0.2948, 0.2938, 0.2933, 0.2929, 0.2926, 0.2926",\
                 "0.3738, 0.3707, 0.3652, 0.3611, 0.3586, 0.3571, 0.3562, 0.3557, 0.3553, 0.3551",\
                 "0.4569, 0.4533, 0.4466, 0.4414, 0.4378, 0.4356, 0.4343, 0.4335, 0.4329, 0.4326",\
                 "0.5565, 0.5525, 0.5444, 0.5379, 0.5332, 0.5303, 0.5285, 0.5272, 0.5264, 0.5259");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("-0.08595, -0.0859, -0.08531, -0.08462, -0.08439, -0.08359, -0.0832, -0.08281, -0.08185, -0.07785",\
                 "-0.08589, -0.08586, -0.08529, -0.08457, -0.08415, -0.08365, -0.08306, -0.08244, -0.0815, -0.07843",\
                 "-0.08469, -0.08488, -0.08464, -0.08403, -0.08374, -0.08307, -0.08241, -0.08176, -0.08089, -0.07761",\
                 "-0.07968, -0.08027, -0.08055, -0.08051, -0.08015, -0.07958, -0.07903, -0.0786, -0.07786, -0.07384",\
                 "-0.06961, -0.07051, -0.07195, -0.07199, -0.07209, -0.07169, -0.07123, -0.07064, -0.06962, -0.06473",\
                 "-0.05364, -0.05511, -0.05719, -0.05861, -0.05835, -0.05838, -0.05831, -0.05786, -0.05727, -0.05199",\
                 "-0.03202, -0.03373, -0.03677, -0.03894, -0.03994, -0.03967, -0.03934, -0.03922, -0.03891, -0.03378",\
                 "-0.004526, -0.0069, -0.01079, -0.01376, -0.01558, -0.01637, -0.01538, -0.01473, -0.01451, -0.006896",\
                 "0.02656, 0.02378, 0.01869, 0.01516, 0.01212, 0.01061, 0.01067, 0.01175, 0.01284, 0.02347",\
                 "0.0601, 0.05657, 0.05092, 0.04613, 0.0426, 0.04026, 0.03894, 0.03919, 0.04253, 0.0582");
        }
      }

      internal_power() {
        related_pin : "CLKN" ;
        when : "E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1766, 0.1759, 0.1752, 0.1749, 0.1748, 0.1747, 0.1747, 0.1747, 0.1747, 0.1746",\
                 "0.1755, 0.1748, 0.1741, 0.1738, 0.1737, 0.1736, 0.1736, 0.1736, 0.1736, 0.1735",\
                 "0.1775, 0.1767, 0.176, 0.1757, 0.1756, 0.1756, 0.1756, 0.1756, 0.1756, 0.1755",\
                 "0.1906, 0.1895, 0.1881, 0.1875, 0.1872, 0.1871, 0.1871, 0.1871, 0.187, 0.187",\
                 "0.2154, 0.2138, 0.2117, 0.2105, 0.2099, 0.2096, 0.2095, 0.2095, 0.2095, 0.2094",\
                 "0.2537, 0.2517, 0.2484, 0.2465, 0.2454, 0.2449, 0.2446, 0.2444, 0.2443, 0.2443",\
                 "0.3062, 0.3036, 0.2994, 0.2964, 0.2947, 0.2937, 0.2931, 0.2928, 0.2926, 0.2925",\
                 "0.3737, 0.3706, 0.3651, 0.361, 0.3585, 0.357, 0.3561, 0.3555, 0.3553, 0.355",\
                 "0.4569, 0.4532, 0.4465, 0.4412, 0.4377, 0.4356, 0.4343, 0.4334, 0.4328, 0.4325",\
                 "0.5565, 0.5523, 0.5443, 0.5377, 0.5332, 0.5303, 0.5284, 0.5272, 0.5264, 0.5258");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("-0.07699, -0.07695, -0.07636, -0.07568, -0.07545, -0.07469, -0.07426, -0.07384, -0.07288, -0.06894",\
                 "-0.07689, -0.07685, -0.07626, -0.07557, -0.07512, -0.07472, -0.07406, -0.07344, -0.07253, -0.06946",\
                 "-0.07579, -0.07596, -0.07575, -0.07514, -0.07485, -0.07415, -0.07352, -0.07304, -0.07236, -0.06875",\
                 "-0.07089, -0.07147, -0.07175, -0.07172, -0.07133, -0.07079, -0.07023, -0.06978, -0.06907, -0.06508",\
                 "-0.06101, -0.062, -0.06342, -0.06353, -0.06344, -0.06331, -0.06268, -0.06203, -0.06121, -0.05601",\
                 "-0.04535, -0.04689, -0.04896, -0.05032, -0.05006, -0.05009, -0.05003, -0.04974, -0.04882, -0.04308",\
                 "-0.02404, -0.02578, -0.02885, -0.03096, -0.03209, -0.03169, -0.03136, -0.03137, -0.03103, -0.02494",\
                 "0.00304, 0.000653, -0.003215, -0.006214, -0.008035, -0.008757, -0.007835, -0.007381, -0.006928, -0.0003726",\
                 "0.03349, 0.03077, 0.02582, 0.02226, 0.01885, 0.01743, 0.0172, 0.01891, 0.01964, 0.03109",\
                 "0.0667, 0.0632, 0.05735, 0.0527, 0.04916, 0.04682, 0.04563, 0.04573, 0.04907, 0.06497");
        }
      }

      internal_power() {
        related_pin : "CLKN" ;
        when : "E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1766, 0.1759, 0.1752, 0.1749, 0.1748, 0.1747, 0.1747, 0.1747, 0.1747, 0.1746",\
                 "0.1755, 0.1748, 0.1741, 0.1738, 0.1737, 0.1736, 0.1736, 0.1736, 0.1735, 0.1735",\
                 "0.1775, 0.1768, 0.176, 0.1757, 0.1756, 0.1756, 0.1756, 0.1756, 0.1756, 0.1756",\
                 "0.1906, 0.1895, 0.1881, 0.1875, 0.1873, 0.1871, 0.1871, 0.1871, 0.187, 0.187",\
                 "0.2154, 0.2139, 0.2117, 0.2105, 0.2099, 0.2097, 0.2096, 0.2094, 0.2094, 0.2094",\
                 "0.2537, 0.2517, 0.2484, 0.2464, 0.2454, 0.2449, 0.2446, 0.2444, 0.2443, 0.2443",\
                 "0.3062, 0.3036, 0.2993, 0.2963, 0.2947, 0.2937, 0.2931, 0.2928, 0.2926, 0.2925",\
                 "0.3738, 0.3705, 0.3652, 0.361, 0.3585, 0.357, 0.3561, 0.3555, 0.3552, 0.355",\
                 "0.4569, 0.4532, 0.4465, 0.4412, 0.4377, 0.4355, 0.4343, 0.4333, 0.4328, 0.4324",\
                 "0.5565, 0.5524, 0.5442, 0.5378, 0.5332, 0.5302, 0.5284, 0.5271, 0.5263, 0.5258");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("-0.07624, -0.07619, -0.0756, -0.07491, -0.07469, -0.07389, -0.07347, -0.07281, -0.07222, -0.06785",\
                 "-0.07617, -0.07613, -0.07557, -0.07485, -0.0744, -0.074, -0.07334, -0.07288, -0.07191, -0.06907",\
                 "-0.07499, -0.07519, -0.07499, -0.07437, -0.07408, -0.07342, -0.07276, -0.07227, -0.07163, -0.06799",\
                 "-0.07015, -0.07073, -0.071, -0.07091, -0.07062, -0.07009, -0.0692, -0.06871, -0.06797, -0.06434",\
                 "-0.06034, -0.06135, -0.06272, -0.06283, -0.06284, -0.06247, -0.06198, -0.06136, -0.06047, -0.05534",\
                 "-0.04465, -0.046, -0.04836, -0.04959, -0.04946, -0.04936, -0.04916, -0.04891, -0.04802, -0.04334",\
                 "-0.02329, -0.02504, -0.02815, -0.03003, -0.03139, -0.03099, -0.0306, -0.03067, -0.03026, -0.02424",\
                 "0.003633, 0.001242, -0.002632, -0.00573, -0.007419, -0.008372, -0.007186, -0.0066, -0.006478, 0.0005403",\
                 "0.03376, 0.03091, 0.02605, 0.0223, 0.01922, 0.01777, 0.01744, 0.01879, 0.02004, 0.03066",\
                 "0.06622, 0.06298, 0.05713, 0.05231, 0.04868, 0.04624, 0.04512, 0.04531, 0.04871, 0.06438");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b0 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.3396, 0.3807, 0.4958, 0.6744, 0.9277, 1.274, 1.728, 2.301, 2.999, 3.831",\
                 "0.3501, 0.3911, 0.5063, 0.6849, 0.9382, 1.285, 1.739, 2.311, 3.009, 3.841",\
                 "0.4079, 0.4489, 0.5638, 0.7425, 0.9958, 1.342, 1.797, 2.368, 3.067, 3.899",\
                 "0.529, 0.5704, 0.686, 0.8649, 1.118, 1.465, 1.919, 2.491, 3.189, 4.021",\
                 "0.689, 0.7316, 0.8499, 1.032, 1.287, 1.634, 2.088, 2.66, 3.358, 4.19",\
                 "0.8889, 0.9334, 1.055, 1.24, 1.497, 1.845, 2.299, 2.871, 3.569, 4.401",\
                 "1.126, 1.174, 1.302, 1.493, 1.752, 2.1, 2.556, 3.128, 3.825, 4.658",\
                 "1.399, 1.452, 1.588, 1.788, 2.054, 2.405, 2.86, 3.433, 4.131, 4.963",\
                 "1.711, 1.768, 1.914, 2.122, 2.398, 2.758, 3.217, 3.789, 4.488, 5.321",\
                 "2.063, 2.124, 2.279, 2.499, 2.784, 3.155, 3.624, 4.201, 4.9, 5.732");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.2091, 0.2462, 0.3663, 0.5908, 0.9391, 1.428, 2.071, 2.881, 3.867, 5.047",\
                 "0.2235, 0.2606, 0.3807, 0.6052, 0.9536, 1.442, 2.086, 2.895, 3.886, 5.064",\
                 "0.2715, 0.3082, 0.4276, 0.6518, 1, 1.489, 2.133, 2.942, 3.932, 5.107",\
                 "0.3184, 0.3568, 0.4769, 0.7005, 1.049, 1.537, 2.181, 2.99, 3.978, 5.156",\
                 "0.3424, 0.3829, 0.5047, 0.7274, 1.075, 1.563, 2.207, 3.017, 4.003, 5.184",\
                 "0.3388, 0.3827, 0.5092, 0.7323, 1.079, 1.567, 2.208, 3.017, 4.005, 5.182",\
                 "0.3035, 0.3503, 0.4831, 0.7094, 1.058, 1.544, 2.186, 2.994, 3.982, 5.16",\
                 "0.234, 0.2841, 0.4235, 0.6543, 1.006, 1.496, 2.137, 2.945, 3.932, 5.109",\
                 "0.1275, 0.1817, 0.328, 0.564, 0.9192, 1.415, 2.06, 2.869, 3.856, 5.032",\
                 "-0.0187, 0.0391, 0.1942, 0.4357, 0.7956, 1.297, 1.95, 2.762, 3.749, 4.926");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1329, 0.1776, 0.3118, 0.5536, 0.9453, 1.514, 2.277, 3.236, 4.412, 5.818",\
                 "0.1327, 0.1773, 0.312, 0.5534, 0.945, 1.514, 2.277, 3.239, 4.415, 5.819",\
                 "0.1332, 0.1776, 0.3121, 0.5531, 0.9459, 1.515, 2.277, 3.24, 4.417, 5.82",\
                 "0.1398, 0.1839, 0.3166, 0.556, 0.945, 1.515, 2.277, 3.239, 4.416, 5.82",\
                 "0.1522, 0.196, 0.3298, 0.5668, 0.9506, 1.515, 2.277, 3.241, 4.415, 5.811",\
                 "0.171, 0.2132, 0.3446, 0.5776, 0.9598, 1.523, 2.276, 3.24, 4.417, 5.82",\
                 "0.196, 0.2394, 0.3688, 0.5978, 0.9694, 1.529, 2.283, 3.241, 4.411, 5.815",\
                 "0.2222, 0.2688, 0.3992, 0.6288, 0.9952, 1.541, 2.289, 3.245, 4.414, 5.816",\
                 "0.251, 0.3008, 0.4332, 0.6656, 1.034, 1.573, 2.304, 3.251, 4.419, 5.814",\
                 "0.2816, 0.3346, 0.4724, 0.7054, 1.076, 1.622, 2.348, 3.273, 4.426, 5.817");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1108, 0.1643, 0.3627, 0.7551, 1.369, 2.23, 3.364, 4.798, 6.541, 8.632",\
                 "0.1108, 0.1644, 0.3628, 0.755, 1.369, 2.23, 3.363, 4.792, 6.536, 8.61",\
                 "0.1124, 0.1655, 0.3631, 0.7559, 1.369, 2.23, 3.363, 4.791, 6.535, 8.623",\
                 "0.1238, 0.175, 0.3665, 0.7564, 1.371, 2.23, 3.364, 4.797, 6.535, 8.621",\
                 "0.1386, 0.1886, 0.3722, 0.758, 1.371, 2.229, 3.363, 4.791, 6.54, 8.615",\
                 "0.156, 0.2062, 0.3846, 0.7618, 1.372, 2.231, 3.36, 4.79, 6.53, 8.612",\
                 "0.1758, 0.228, 0.4034, 0.7748, 1.378, 2.234, 3.362, 4.795, 6.525, 8.61",\
                 "0.1966, 0.2492, 0.4244, 0.791, 1.396, 2.243, 3.367, 4.789, 6.54, 8.599",\
                 "0.2204, 0.274, 0.4496, 0.8098, 1.419, 2.268, 3.382, 4.795, 6.529, 8.613",\
                 "0.2472, 0.3006, 0.478, 0.8314, 1.442, 2.3, 3.413, 4.815, 6.535, 8.606");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b1 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&!TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.3396, 0.3807, 0.4958, 0.6744, 0.9277, 1.274, 1.728, 2.301, 2.999, 3.831",\
                 "0.3501, 0.3911, 0.5063, 0.6849, 0.9382, 1.285, 1.739, 2.311, 3.009, 3.841",\
                 "0.4079, 0.4489, 0.5638, 0.7425, 0.9958, 1.342, 1.797, 2.368, 3.067, 3.899",\
                 "0.529, 0.5704, 0.686, 0.8649, 1.118, 1.465, 1.919, 2.491, 3.189, 4.021",\
                 "0.689, 0.7315, 0.8499, 1.032, 1.287, 1.634, 2.088, 2.66, 3.358, 4.19",\
                 "0.8889, 0.9334, 1.055, 1.24, 1.497, 1.845, 2.299, 2.871, 3.568, 4.401",\
                 "1.125, 1.174, 1.302, 1.493, 1.752, 2.1, 2.556, 3.128, 3.825, 4.657",\
                 "1.399, 1.452, 1.588, 1.788, 2.054, 2.405, 2.86, 3.433, 4.131, 4.963",\
                 "1.711, 1.768, 1.914, 2.122, 2.398, 2.758, 3.217, 3.789, 4.488, 5.321",\
                 "2.063, 2.124, 2.279, 2.499, 2.784, 3.155, 3.624, 4.201, 4.9, 5.732");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.2091, 0.2462, 0.3663, 0.5908, 0.9391, 1.428, 2.071, 2.88, 3.867, 5.047",\
                 "0.2235, 0.2606, 0.3807, 0.6052, 0.9536, 1.442, 2.086, 2.895, 3.885, 5.063",\
                 "0.2715, 0.3083, 0.4276, 0.6518, 1, 1.489, 2.133, 2.942, 3.931, 5.109",\
                 "0.3184, 0.3568, 0.4769, 0.7005, 1.049, 1.537, 2.181, 2.99, 3.978, 5.155",\
                 "0.3424, 0.3829, 0.5047, 0.7273, 1.076, 1.564, 2.207, 3.018, 4.004, 5.185",\
                 "0.3388, 0.3827, 0.5092, 0.7323, 1.079, 1.567, 2.208, 3.018, 4.007, 5.185",\
                 "0.3035, 0.3503, 0.4831, 0.7094, 1.058, 1.544, 2.186, 2.994, 3.982, 5.162",\
                 "0.2341, 0.2841, 0.4235, 0.6543, 1.006, 1.496, 2.137, 2.946, 3.932, 5.109",\
                 "0.1279, 0.1818, 0.3281, 0.5644, 0.9192, 1.415, 2.06, 2.869, 3.855, 5.032",\
                 "-0.0187, 0.039, 0.194, 0.4357, 0.7956, 1.297, 1.95, 2.762, 3.749, 4.925");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1332, 0.1776, 0.3118, 0.5536, 0.9453, 1.514, 2.277, 3.236, 4.412, 5.818",\
                 "0.1327, 0.1773, 0.312, 0.5534, 0.9452, 1.514, 2.277, 3.239, 4.415, 5.819",\
                 "0.1332, 0.1776, 0.3121, 0.5534, 0.9458, 1.515, 2.277, 3.24, 4.417, 5.82",\
                 "0.1398, 0.1838, 0.3166, 0.556, 0.945, 1.515, 2.277, 3.239, 4.416, 5.82",\
                 "0.1524, 0.1958, 0.33, 0.5668, 0.9518, 1.515, 2.277, 3.241, 4.413, 5.812",\
                 "0.171, 0.2132, 0.3446, 0.5776, 0.9598, 1.523, 2.276, 3.24, 4.418, 5.821",\
                 "0.196, 0.2392, 0.3688, 0.5978, 0.9696, 1.528, 2.283, 3.241, 4.411, 5.819",\
                 "0.2222, 0.2688, 0.3992, 0.6288, 0.9964, 1.541, 2.288, 3.244, 4.415, 5.816",\
                 "0.2508, 0.3014, 0.4332, 0.6658, 1.033, 1.573, 2.304, 3.251, 4.419, 5.814",\
                 "0.2816, 0.3352, 0.4724, 0.7056, 1.076, 1.622, 2.348, 3.275, 4.426, 5.817");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1108, 0.1643, 0.3627, 0.7549, 1.369, 2.229, 3.364, 4.797, 6.54, 8.631",\
                 "0.1108, 0.1643, 0.3629, 0.7551, 1.369, 2.232, 3.363, 4.791, 6.536, 8.612",\
                 "0.1127, 0.1654, 0.3631, 0.7559, 1.369, 2.23, 3.363, 4.789, 6.534, 8.617",\
                 "0.1238, 0.175, 0.3665, 0.7564, 1.371, 2.23, 3.364, 4.797, 6.535, 8.621",\
                 "0.1386, 0.1886, 0.3724, 0.758, 1.371, 2.23, 3.364, 4.789, 6.544, 8.613",\
                 "0.156, 0.2062, 0.3846, 0.7618, 1.372, 2.23, 3.36, 4.789, 6.534, 8.626",\
                 "0.1758, 0.228, 0.4034, 0.7748, 1.379, 2.234, 3.362, 4.787, 6.532, 8.611",\
                 "0.1972, 0.2492, 0.4244, 0.791, 1.396, 2.243, 3.366, 4.789, 6.539, 8.603",\
                 "0.2202, 0.2734, 0.449, 0.8106, 1.419, 2.269, 3.382, 4.793, 6.53, 8.607",\
                 "0.2472, 0.3012, 0.4778, 0.8314, 1.442, 2.301, 3.414, 4.815, 6.541, 8.606");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b1 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.3396, 0.3807, 0.4958, 0.6744, 0.9277, 1.274, 1.728, 2.301, 2.999, 3.831",\
                 "0.3501, 0.3911, 0.5063, 0.6849, 0.9382, 1.285, 1.739, 2.311, 3.009, 3.841",\
                 "0.4079, 0.4489, 0.5638, 0.7425, 0.9957, 1.342, 1.796, 2.368, 3.067, 3.899",\
                 "0.529, 0.5704, 0.686, 0.8649, 1.118, 1.465, 1.919, 2.491, 3.189, 4.021",\
                 "0.689, 0.7316, 0.8499, 1.032, 1.287, 1.634, 2.088, 2.66, 3.358, 4.19",\
                 "0.8889, 0.9334, 1.055, 1.24, 1.497, 1.845, 2.299, 2.871, 3.569, 4.402",\
                 "1.126, 1.174, 1.302, 1.493, 1.752, 2.1, 2.556, 3.128, 3.825, 4.657",\
                 "1.399, 1.452, 1.588, 1.788, 2.054, 2.405, 2.86, 3.433, 4.131, 4.963",\
                 "1.711, 1.768, 1.914, 2.122, 2.398, 2.758, 3.217, 3.789, 4.488, 5.321",\
                 "2.063, 2.124, 2.279, 2.499, 2.784, 3.155, 3.624, 4.201, 4.9, 5.732");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.2091, 0.2462, 0.3663, 0.5908, 0.9391, 1.428, 2.071, 2.881, 3.868, 5.048",\
                 "0.2235, 0.2606, 0.3807, 0.6052, 0.9536, 1.442, 2.086, 2.894, 3.885, 5.063",\
                 "0.2715, 0.3083, 0.4276, 0.6518, 1, 1.489, 2.133, 2.941, 3.93, 5.107",\
                 "0.3184, 0.3568, 0.4769, 0.7005, 1.049, 1.537, 2.18, 2.991, 3.976, 5.156",\
                 "0.3424, 0.3829, 0.5047, 0.7274, 1.075, 1.564, 2.207, 3.018, 4.004, 5.185",\
                 "0.3388, 0.3827, 0.5087, 0.7323, 1.079, 1.567, 2.208, 3.018, 4.008, 5.184",\
                 "0.3035, 0.3503, 0.4831, 0.7094, 1.058, 1.544, 2.186, 2.994, 3.982, 5.16",\
                 "0.2337, 0.2841, 0.4235, 0.6538, 1.006, 1.496, 2.137, 2.945, 3.932, 5.109",\
                 "0.1278, 0.1818, 0.3282, 0.564, 0.9192, 1.415, 2.06, 2.868, 3.855, 5.032",\
                 "-0.0182, 0.0394, 0.1942, 0.4357, 0.7955, 1.297, 1.95, 2.762, 3.749, 4.926");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.133, 0.1776, 0.3117, 0.5537, 0.9456, 1.513, 2.277, 3.236, 4.411, 5.818",\
                 "0.1327, 0.1773, 0.312, 0.5533, 0.9458, 1.515, 2.276, 3.241, 4.418, 5.819",\
                 "0.1332, 0.1776, 0.312, 0.5534, 0.9451, 1.514, 2.276, 3.24, 4.417, 5.82",\
                 "0.1398, 0.184, 0.3168, 0.5556, 0.946, 1.514, 2.277, 3.237, 4.412, 5.818",\
                 "0.1524, 0.196, 0.33, 0.5668, 0.9502, 1.515, 2.277, 3.241, 4.415, 5.814",\
                 "0.171, 0.2132, 0.3448, 0.5774, 0.9596, 1.523, 2.277, 3.238, 4.416, 5.813",\
                 "0.196, 0.2394, 0.3686, 0.5988, 0.9698, 1.53, 2.283, 3.239, 4.415, 5.818",\
                 "0.2224, 0.2692, 0.3994, 0.6294, 0.9964, 1.541, 2.287, 3.244, 4.414, 5.813",\
                 "0.251, 0.3008, 0.4334, 0.666, 1.033, 1.573, 2.307, 3.251, 4.419, 5.814",\
                 "0.2814, 0.3346, 0.4724, 0.7036, 1.076, 1.622, 2.348, 3.273, 4.428, 5.817");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1108, 0.1643, 0.3627, 0.7553, 1.369, 2.23, 3.364, 4.799, 6.544, 8.615",\
                 "0.1108, 0.1644, 0.3628, 0.756, 1.368, 2.232, 3.362, 4.79, 6.535, 8.616",\
                 "0.1127, 0.1654, 0.3631, 0.7559, 1.369, 2.229, 3.364, 4.792, 6.537, 8.624",\
                 "0.1238, 0.175, 0.3665, 0.7564, 1.371, 2.23, 3.364, 4.792, 6.54, 8.631",\
                 "0.1386, 0.1884, 0.3724, 0.7582, 1.371, 2.23, 3.364, 4.789, 6.543, 8.612",\
                 "0.156, 0.2066, 0.3848, 0.7616, 1.371, 2.23, 3.362, 4.789, 6.53, 8.621",\
                 "0.1758, 0.228, 0.4032, 0.7748, 1.379, 2.234, 3.363, 4.797, 6.526, 8.611",\
                 "0.1972, 0.2492, 0.4244, 0.7914, 1.396, 2.243, 3.365, 4.79, 6.542, 8.606",\
                 "0.22, 0.2734, 0.4494, 0.8098, 1.418, 2.268, 3.381, 4.795, 6.531, 8.611",\
                 "0.2454, 0.3016, 0.478, 0.8318, 1.441, 2.301, 3.415, 4.816, 6.537, 8.606");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.3396, 0.3807, 0.4958, 0.6744, 0.9277, 1.274, 1.728, 2.301, 2.999, 3.831",\
                 "0.3501, 0.3911, 0.5063, 0.6849, 0.9382, 1.285, 1.739, 2.311, 3.009, 3.841",\
                 "0.4079, 0.4489, 0.5638, 0.7425, 0.9957, 1.342, 1.796, 2.368, 3.067, 3.899",\
                 "0.529, 0.5704, 0.686, 0.8649, 1.118, 1.465, 1.919, 2.491, 3.189, 4.021",\
                 "0.689, 0.7316, 0.8499, 1.032, 1.287, 1.634, 2.088, 2.66, 3.358, 4.19",\
                 "0.8889, 0.9334, 1.055, 1.24, 1.497, 1.845, 2.299, 2.871, 3.569, 4.402",\
                 "1.126, 1.174, 1.302, 1.493, 1.752, 2.1, 2.556, 3.128, 3.825, 4.657",\
                 "1.399, 1.452, 1.588, 1.788, 2.054, 2.405, 2.86, 3.433, 4.131, 4.963",\
                 "1.711, 1.768, 1.914, 2.122, 2.398, 2.758, 3.217, 3.789, 4.488, 5.321",\
                 "2.063, 2.124, 2.279, 2.499, 2.784, 3.155, 3.624, 4.201, 4.9, 5.732");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.2091, 0.2462, 0.3663, 0.5908, 0.9391, 1.428, 2.071, 2.88, 3.867, 5.047",\
                 "0.2235, 0.2606, 0.3807, 0.6052, 0.9536, 1.442, 2.086, 2.895, 3.885, 5.063",\
                 "0.2715, 0.3083, 0.4276, 0.6518, 1, 1.489, 2.133, 2.942, 3.931, 5.109",\
                 "0.3184, 0.3568, 0.4769, 0.7005, 1.049, 1.537, 2.181, 2.99, 3.978, 5.155",\
                 "0.3424, 0.3829, 0.5047, 0.7273, 1.076, 1.564, 2.207, 3.018, 4.004, 5.185",\
                 "0.3388, 0.3827, 0.5092, 0.7323, 1.079, 1.567, 2.208, 3.018, 4.007, 5.185",\
                 "0.3035, 0.3503, 0.4831, 0.7094, 1.058, 1.544, 2.186, 2.994, 3.982, 5.162",\
                 "0.2341, 0.2841, 0.4235, 0.6543, 1.006, 1.496, 2.137, 2.946, 3.932, 5.109",\
                 "0.1279, 0.1818, 0.3281, 0.5644, 0.9192, 1.415, 2.06, 2.869, 3.855, 5.032",\
                 "-0.0187, 0.039, 0.194, 0.4357, 0.7956, 1.297, 1.95, 2.762, 3.749, 4.925");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1332, 0.1776, 0.3118, 0.5536, 0.9453, 1.514, 2.277, 3.236, 4.412, 5.818",\
                 "0.1327, 0.1773, 0.312, 0.5534, 0.9452, 1.514, 2.277, 3.239, 4.415, 5.819",\
                 "0.1332, 0.1776, 0.3121, 0.5534, 0.9458, 1.515, 2.277, 3.24, 4.417, 5.82",\
                 "0.1398, 0.1838, 0.3166, 0.556, 0.945, 1.515, 2.277, 3.239, 4.416, 5.82",\
                 "0.1524, 0.1958, 0.33, 0.5668, 0.9518, 1.515, 2.277, 3.241, 4.413, 5.812",\
                 "0.171, 0.2132, 0.3446, 0.5776, 0.9598, 1.523, 2.276, 3.24, 4.418, 5.821",\
                 "0.196, 0.2392, 0.3688, 0.5978, 0.9696, 1.528, 2.283, 3.241, 4.411, 5.819",\
                 "0.2222, 0.2688, 0.3992, 0.6288, 0.9964, 1.541, 2.288, 3.244, 4.415, 5.816",\
                 "0.2508, 0.3014, 0.4332, 0.6658, 1.033, 1.573, 2.304, 3.251, 4.419, 5.814",\
                 "0.2816, 0.3352, 0.4724, 0.7056, 1.076, 1.622, 2.348, 3.275, 4.426, 5.817");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1108, 0.1643, 0.3627, 0.7551, 1.369, 2.23, 3.364, 4.798, 6.541, 8.632",\
                 "0.1108, 0.1644, 0.3628, 0.755, 1.369, 2.23, 3.363, 4.792, 6.536, 8.61",\
                 "0.1124, 0.1655, 0.3631, 0.7559, 1.369, 2.23, 3.363, 4.791, 6.535, 8.623",\
                 "0.1238, 0.175, 0.3665, 0.7564, 1.371, 2.23, 3.364, 4.797, 6.535, 8.621",\
                 "0.1386, 0.1886, 0.3722, 0.758, 1.371, 2.229, 3.363, 4.791, 6.54, 8.615",\
                 "0.156, 0.2062, 0.3846, 0.7618, 1.372, 2.231, 3.36, 4.79, 6.53, 8.612",\
                 "0.1758, 0.228, 0.4034, 0.7748, 1.378, 2.234, 3.362, 4.795, 6.525, 8.61",\
                 "0.1966, 0.2492, 0.4244, 0.791, 1.396, 2.243, 3.367, 4.789, 6.54, 8.599",\
                 "0.2204, 0.274, 0.4496, 0.8098, 1.419, 2.268, 3.382, 4.795, 6.529, 8.613",\
                 "0.2472, 0.3006, 0.478, 0.8314, 1.442, 2.3, 3.413, 4.815, 6.535, 8.606");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b0 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational_rise ;
        when : "!E&!TE" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.209, 0.2461, 0.3663, 0.5907, 0.9391, 1.429, 2.071, 2.88, 3.868, 5.046",\
                 "0.2234, 0.2605, 0.3807, 0.6052, 0.9537, 1.444, 2.086, 2.895, 3.883, 5.059",\
                 "0.2715, 0.3083, 0.4276, 0.6519, 1, 1.491, 2.133, 2.942, 3.929, 5.107",\
                 "0.3182, 0.3567, 0.4769, 0.7004, 1.048, 1.539, 2.181, 2.99, 3.977, 5.155",\
                 "0.3424, 0.3833, 0.5051, 0.7274, 1.075, 1.565, 2.207, 3.016, 4.003, 5.182",\
                 "0.339, 0.3826, 0.5086, 0.7323, 1.079, 1.568, 2.21, 3.019, 4.006, 5.183",\
                 "0.3036, 0.3504, 0.4832, 0.7091, 1.057, 1.547, 2.188, 2.996, 3.984, 5.161",\
                 "0.2336, 0.2841, 0.4237, 0.654, 1.006, 1.499, 2.14, 2.947, 3.934, 5.111",\
                 "0.1276, 0.1817, 0.3285, 0.564, 0.9195, 1.417, 2.059, 2.866, 3.852, 5.028",\
                 "-0.0183, 0.0395, 0.1944, 0.4357, 0.7961, 1.298, 1.943, 2.749, 3.734, 4.911");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00348, 0.01218, 0.0288, 0.0547, 0.09103, 0.1388, 0.1991, 0.2726, 0.3602");
          values("0.1108, 0.1643, 0.3629, 0.7551, 1.371, 2.232, 3.358, 4.792, 6.53, 8.605",\
                 "0.1107, 0.1643, 0.3633, 0.7551, 1.371, 2.232, 3.361, 4.784, 6.527, 8.602",\
                 "0.1124, 0.1655, 0.3635, 0.7551, 1.371, 2.231, 3.361, 4.787, 6.529, 8.603",\
                 "0.1238, 0.1749, 0.3671, 0.7555, 1.371, 2.232, 3.361, 4.791, 6.529, 8.601",\
                 "0.138, 0.1884, 0.3722, 0.758, 1.372, 2.232, 3.36, 4.79, 6.525, 8.604",\
                 "0.1562, 0.2064, 0.3846, 0.7622, 1.374, 2.233, 3.36, 4.788, 6.529, 8.601",\
                 "0.1762, 0.2278, 0.4028, 0.7748, 1.38, 2.237, 3.362, 4.79, 6.527, 8.605",\
                 "0.1968, 0.2504, 0.4244, 0.7912, 1.398, 2.249, 3.37, 4.786, 6.53, 8.608",\
                 "0.221, 0.274, 0.4488, 0.8104, 1.419, 2.265, 3.374, 4.79, 6.526, 8.61",\
                 "0.2456, 0.3004, 0.4772, 0.8316, 1.441, 2.288, 3.386, 4.787, 6.529, 8.601");
        }
      }
    }

    pin(TE) {
      capacitance : 0.003163 ;
      clock_gate_test_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02199, 0.02198, 0.02198, 0.02196, 0.02196, 0.02195, 0.022, 0.02197, \
                 0.02198, 0.02198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01056, -0.01083, -0.01129, -0.01158, -0.01172, -0.01185, -0.01191, \
                 -0.01194, -0.01197, -0.012");
        }
      }

      internal_power() {
        when : "!CLKN&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01229, 0.01228, 0.01229, 0.01227, 0.01229, 0.01229, 0.0123, \
                 0.0123, 0.0123, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01147, -0.0116, -0.01181, -0.01195, -0.012, -0.01203, -0.01208, \
                 -0.01208, -0.01212, -0.01212");
        }
      }

      internal_power() {
        when : "CLKN&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1781, 0.1776, 0.1769, 0.1776, 0.1834, 0.197, 0.2199, 0.2513, \
                 0.2909, 0.3384");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1192, 0.1184, 0.1176, 0.1187, 0.1243, 0.1361, 0.1549, 0.1808, \
                 0.2144, 0.2556");
        }
      }

      internal_power() {
        when : "CLKN&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01228, 0.01227, 0.01228, 0.01228, 0.01228, 0.01229, 0.0123, \
                 0.01229, 0.0123, 0.0123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01082, -0.01148, -0.01177, -0.01192, -0.01198, -0.01205, -0.01207, \
                 -0.01209, -0.01211, -0.01211");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.681, -0.669, -0.61, -0.529, -0.451, -0.372, -0.263, -0.147, -0.005, 0.153",\
                 "-0.692, -0.676, -0.622, -0.544, -0.471, -0.384, -0.279, -0.157, -0.016, 0.141",\
                 "-0.731, -0.71, -0.653, -0.581, -0.505, -0.412, -0.314, -0.193, -0.051, 0.107",\
                 "-0.78, -0.758, -0.705, -0.627, -0.554, -0.467, -0.364, -0.239, -0.099, 0.065",\
                 "-0.873, -0.857, -0.799, -0.728, -0.645, -0.556, -0.447, -0.321, -0.182, -0.013",\
                 "-1.021, -1.002, -0.947, -0.87, -0.793, -0.702, -0.591, -0.466, -0.321, -0.155",\
                 "-1.221, -1.204, -1.144, -1.074, -0.994, -0.904, -0.799, -0.676, -0.529, -0.367",\
                 "-1.47, -1.455, -1.398, -1.324, -1.241, -1.159, -1.061, -0.944, -0.8, -0.637",\
                 "-1.747, -1.735, -1.678, -1.605, -1.532, -1.45, -1.356, -1.246, -1.113, -0.956",\
                 "-2.063, -2.048, -1.989, -1.921, -1.852, -1.771, -1.681, -1.58, -1.458, -1.31");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.081, -0.015, 0.099, 0.234, 0.388, 0.563, 0.75, 0.966, 1.194",\
                 "-0.111, -0.096, -0.024, 0.093, 0.224, 0.377, 0.552, 0.738, 0.956, 1.184",\
                 "-0.141, -0.124, -0.055, 0.063, 0.2, 0.354, 0.529, 0.721, 0.933, 1.163",\
                 "-0.189, -0.17, -0.102, 0.016, 0.158, 0.315, 0.495, 0.69, 0.906, 1.144",\
                 "-0.241, -0.224, -0.147, -0.026, 0.122, 0.285, 0.468, 0.671, 0.887, 1.131",\
                 "-0.267, -0.247, -0.175, -0.051, 0.101, 0.27, 0.46, 0.663, 0.889, 1.132",\
                 "-0.268, -0.253, -0.175, -0.046, 0.103, 0.281, 0.476, 0.69, 0.913, 1.168",\
                 "-0.237, -0.219, -0.143, -0.008, 0.151, 0.331, 0.53, 0.744, 0.975, 1.23",\
                 "-0.179, -0.162, -0.081, 0.055, 0.22, 0.41, 0.617, 0.841, 1.073, 1.332",\
                 "-0.09, -0.073, 0.006, 0.154, 0.33, 0.524, 0.738, 0.965, 1.217, 1.474");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.704, 0.689, 0.632, 0.556, 0.474, 0.378, 0.28, 0.153, 0.012, -0.147",\
                 "0.719, 0.707, 0.646, 0.573, 0.486, 0.389, 0.287, 0.163, 0.023, -0.135",\
                 "0.753, 0.74, 0.685, 0.599, 0.523, 0.425, 0.323, 0.199, 0.059, -0.101",\
                 "0.808, 0.787, 0.729, 0.651, 0.571, 0.475, 0.374, 0.246, 0.108, -0.058",\
                 "0.896, 0.88, 0.826, 0.744, 0.66, 0.566, 0.459, 0.329, 0.192, 0.02",\
                 "1.044, 1.025, 0.973, 0.893, 0.81, 0.713, 0.605, 0.474, 0.326, 0.162",\
                 "1.246, 1.23, 1.172, 1.095, 1.011, 0.918, 0.807, 0.686, 0.54, 0.374",\
                 "1.494, 1.479, 1.423, 1.344, 1.264, 1.168, 1.071, 0.95, 0.814, 0.646",\
                 "1.77, 1.759, 1.703, 1.631, 1.55, 1.46, 1.368, 1.252, 1.12, 0.974",\
                 "2.085, 2.069, 2.016, 1.939, 1.863, 1.785, 1.696, 1.597, 1.476, 1.326");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.79, 0.785, 0.75, 0.71, 0.653, 0.556, 0.415, 0.253, 0.044, -0.215",\
                 "0.801, 0.794, 0.758, 0.727, 0.664, 0.566, 0.433, 0.259, 0.047, -0.204",\
                 "0.833, 0.817, 0.787, 0.744, 0.688, 0.591, 0.45, 0.286, 0.076, -0.181",\
                 "0.88, 0.864, 0.828, 0.797, 0.734, 0.636, 0.504, 0.333, 0.117, -0.131",\
                 "0.926, 0.919, 0.878, 0.845, 0.781, 0.688, 0.545, 0.38, 0.173, -0.087",\
                 "0.958, 0.948, 0.915, 0.878, 0.819, 0.723, 0.584, 0.415, 0.2, -0.051",\
                 "0.976, 0.964, 0.936, 0.895, 0.834, 0.736, 0.598, 0.432, 0.215, -0.047",\
                 "0.969, 0.953, 0.92, 0.884, 0.827, 0.73, 0.583, 0.412, 0.199, -0.065",\
                 "0.934, 0.915, 0.884, 0.845, 0.783, 0.685, 0.541, 0.368, 0.155, -0.116",\
                 "0.861, 0.848, 0.815, 0.781, 0.714, 0.621, 0.475, 0.304, 0.08, -0.194");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__icgtn_2) {
    area : 72.441600 ;
    clock_gating_integrated_cell : "latch_negedge_precontrol" ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!E&!TE" ;
      value : "0.0002450613" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!E&TE" ;
      value : "0.0002195622" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&E&!TE" ;
      value : "0.0002148828" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&E&TE" ;
      value : "0.0002148828" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!E&!TE" ;
      value : "0.000149193" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!E&TE" ;
      value : "0.0001529286" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&E&!TE" ;
      value : "0.0001386924" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&E&TE" ;
      value : "0.0001386924" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002450613" ;
    }

    statetable("CLKN E TE", "IQ3 IQN3") {
      table : "H L L : - - : L H, \
              H H - : - - : H L, \
              H - H : - - : H L, \
              L - - : - - : N N" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.007892 ;
      clock : true ;
      clock_gate_clock_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 1.122 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1132, 0.1126, 0.1142, 0.1217, 0.1363, 0.1593, 0.1908, 0.2314, \
                 0.2815, 0.3417");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05409, 0.05336, 0.05417, 0.0603, 0.07316, 0.09368, 0.122, 0.1588, \
                 0.2042, 0.2587");
        }
      }

      internal_power() {
        when : "!E&TE" ;

        fall_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1868, 0.1861, 0.1868, 0.1929, 0.2054, 0.2256, 0.2538, 0.2906, \
                 0.3394, 0.4022");
        }
      }

      internal_power() {
        when : "E&!TE" ;

        fall_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1778, 0.1772, 0.1779, 0.184, 0.1969, 0.2173, 0.2457, 0.283, \
                 0.3324, 0.3958");
        }
      }

      internal_power() {
        when : "E&TE" ;

        fall_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1771, 0.1764, 0.1771, 0.1833, 0.1961, 0.2165, 0.245, 0.2824, \
                 0.3324, 0.3963");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&!TE" ;

        rise_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&TE" ;

        rise_constraint(scalar) {
          values("1.122");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&!TE" ;

        rise_constraint(scalar) {
          values("1.07");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&TE" ;

        rise_constraint(scalar) {
          values("1.01");
        }
      }
    }

    pin(E) {
      capacitance : 0.003284 ;
      clock_gate_enable_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01356, 0.01358, 0.01356, 0.01355, 0.01354, 0.01358, 0.01357, \
                 0.01357, 0.01357, 0.01357");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01193, -0.01194, -0.01194, -0.01203, -0.0121, -0.0121, -0.01215, \
                 -0.01216, -0.01217, -0.01218");
        }
      }

      internal_power() {
        when : "!CLKN&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005969, 0.00598, 0.005984, 0.00599, 0.005995, 0.006007, 0.006011, \
                 0.006016, 0.006014, 0.006009");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00544, -0.005449, -0.005451, -0.005456, -0.005447, -0.005467, \
                 -0.005461, -0.005466, -0.005465, -0.005463");
        }
      }

      internal_power() {
        when : "CLKN&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1711, 0.1706, 0.17, 0.1715, 0.1786, 0.1918, 0.212, 0.2391, 0.2729, \
                 0.3136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1142, 0.1141, 0.1135, 0.1149, 0.1204, 0.1311, 0.1476, 0.1701, \
                 0.1985, 0.2332");
        }
      }

      internal_power() {
        when : "CLKN&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008201, 0.008186, 0.008202, 0.008214, 0.008191, 0.008204, 0.008186, \
                 0.008165, 0.008135, 0.008099");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004519, -0.004511, -0.004521, -0.004531, -0.004538, -0.004555, \
                 -0.004565, -0.004575, -0.004584, -0.004598");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.67, -0.648, -0.594, -0.528, -0.459, -0.395, -0.305, -0.212, -0.1, 0.023",\
                 "-0.678, -0.66, -0.604, -0.534, -0.471, -0.401, -0.322, -0.223, -0.112, 0.015",\
                 "-0.71, -0.693, -0.637, -0.575, -0.505, -0.438, -0.35, -0.255, -0.142, -0.016",\
                 "-0.78, -0.758, -0.711, -0.643, -0.575, -0.504, -0.413, -0.312, -0.195, -0.07",\
                 "-0.91, -0.896, -0.843, -0.775, -0.706, -0.627, -0.539, -0.432, -0.315, -0.18",\
                 "-1.101, -1.084, -1.03, -0.965, -0.889, -0.815, -0.726, -0.617, -0.499, -0.362",\
                 "-1.356, -1.341, -1.28, -1.214, -1.148, -1.066, -0.977, -0.871, -0.748, -0.609",\
                 "-1.665, -1.646, -1.591, -1.524, -1.456, -1.37, -1.285, -1.179, -1.064, -0.924",\
                 "-2.017, -2, -1.943, -1.876, -1.805, -1.733, -1.646, -1.543, -1.424, -1.298",\
                 "-2.412, -2.399, -2.343, -2.28, -2.208, -2.133, -2.045, -1.947, -1.836, -1.714");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.126, -0.108, -0.041, 0.062, 0.181, 0.319, 0.462, 0.626, 0.807, 1.002",\
                 "-0.138, -0.12, -0.054, 0.054, 0.17, 0.306, 0.458, 0.619, 0.795, 0.99",\
                 "-0.168, -0.148, -0.078, 0.022, 0.148, 0.277, 0.429, 0.591, 0.776, 0.97",\
                 "-0.208, -0.189, -0.126, -0.015, 0.106, 0.242, 0.396, 0.563, 0.749, 0.943",\
                 "-0.248, -0.232, -0.164, -0.057, 0.068, 0.215, 0.371, 0.546, 0.726, 0.928",\
                 "-0.267, -0.253, -0.181, -0.073, 0.058, 0.2, 0.365, 0.536, 0.727, 0.931",\
                 "-0.251, -0.236, -0.166, -0.056, 0.076, 0.221, 0.388, 0.563, 0.753, 0.968",\
                 "-0.195, -0.183, -0.112, -0.002, 0.129, 0.281, 0.452, 0.624, 0.82, 1.038",\
                 "-0.107, -0.089, -0.015, 0.099, 0.23, 0.379, 0.546, 0.733, 0.926, 1.143",\
                 "0.024, 0.037, 0.114, 0.227, 0.36, 0.518, 0.688, 0.877, 1.082, 1.3");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.698, 0.682, 0.627, 0.556, 0.481, 0.407, 0.322, 0.224, 0.108, -0.017",\
                 "0.705, 0.691, 0.64, 0.563, 0.494, 0.413, 0.33, 0.229, 0.119, -0.01",\
                 "0.742, 0.728, 0.677, 0.599, 0.523, 0.444, 0.359, 0.261, 0.15, 0.022",\
                 "0.817, 0.797, 0.741, 0.667, 0.592, 0.512, 0.424, 0.326, 0.204, 0.076",\
                 "0.941, 0.927, 0.878, 0.802, 0.727, 0.645, 0.545, 0.44, 0.324, 0.187",\
                 "1.136, 1.119, 1.068, 0.995, 0.915, 0.826, 0.733, 0.626, 0.504, 0.369",\
                 "1.39, 1.375, 1.317, 1.245, 1.166, 1.079, 0.985, 0.881, 0.753, 0.624",\
                 "1.694, 1.682, 1.628, 1.552, 1.471, 1.387, 1.295, 1.19, 1.07, 0.941",\
                 "2.049, 2.032, 1.984, 1.902, 1.824, 1.743, 1.651, 1.549, 1.439, 1.307",\
                 "2.444, 2.431, 2.375, 2.303, 2.227, 2.147, 2.059, 1.964, 1.854, 1.725");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.779, 0.771, 0.745, 0.71, 0.667, 0.591, 0.491, 0.348, 0.18, -0.022",\
                 "0.787, 0.786, 0.752, 0.727, 0.679, 0.607, 0.501, 0.366, 0.192, -0.015",\
                 "0.817, 0.811, 0.787, 0.75, 0.705, 0.636, 0.531, 0.392, 0.225, 0.012",\
                 "0.862, 0.855, 0.822, 0.797, 0.745, 0.68, 0.574, 0.433, 0.274, 0.054",\
                 "0.903, 0.896, 0.869, 0.839, 0.788, 0.715, 0.608, 0.477, 0.315, 0.092",\
                 "0.923, 0.919, 0.89, 0.856, 0.81, 0.739, 0.638, 0.5, 0.326, 0.117",\
                 "0.917, 0.912, 0.882, 0.855, 0.8, 0.736, 0.622, 0.491, 0.316, 0.11",\
                 "0.88, 0.87, 0.839, 0.81, 0.768, 0.696, 0.583, 0.452, 0.28, 0.063",\
                 "0.799, 0.795, 0.768, 0.731, 0.688, 0.617, 0.505, 0.368, 0.202, -0.017",\
                 "0.689, 0.68, 0.649, 0.619, 0.577, 0.498, 0.39, 0.256, 0.08, -0.133");
        }
      }
    }

    pin(IQ3) {
      direction : internal ;
      internal_node : IQ3 ;
      inverted_output : false ;
    }

    pin(IQN3) {
      direction : internal ;
      internal_node : IQN3 ;
      inverted_output : true ;
    }

    pin(Q) {
      clock_gate_out_pin : true ;
      direction : output ;
      max_capacitance : 0.7218 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      state_function : "(CLKN|(!IQ3))" ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "!E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2275, 0.2265, 0.226, 0.2272, 0.229, 0.2304, 0.2314, 0.2323, 0.2331, 0.2394",\
                 "0.2277, 0.2268, 0.2262, 0.2274, 0.2292, 0.2302, 0.2314, 0.2323, 0.2339, 0.2402",\
                 "0.229, 0.2276, 0.2265, 0.2274, 0.2293, 0.2306, 0.2319, 0.2329, 0.2337, 0.2393",\
                 "0.2375, 0.235, 0.2322, 0.2317, 0.2331, 0.2342, 0.235, 0.2366, 0.2369, 0.2432",\
                 "0.2525, 0.249, 0.2439, 0.2421, 0.2426, 0.2433, 0.2443, 0.2449, 0.2461, 0.2548",\
                 "0.2757, 0.2707, 0.2636, 0.2598, 0.2591, 0.2592, 0.2594, 0.26, 0.2609, 0.2701",\
                 "0.3085, 0.3019, 0.2925, 0.2867, 0.2837, 0.2839, 0.2839, 0.2838, 0.2851, 0.2971",\
                 "0.3497, 0.3414, 0.3299, 0.3218, 0.3174, 0.315, 0.3161, 0.3166, 0.3164, 0.3323",\
                 "0.395, 0.3849, 0.3713, 0.3609, 0.3545, 0.3501, 0.3492, 0.351, 0.3529, 0.3772",\
                 "0.4444, 0.433, 0.4165, 0.4036, 0.3956, 0.3901, 0.3871, 0.3863, 0.3923, 0.426");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2275, 0.2265, 0.226, 0.2272, 0.229, 0.2304, 0.2314, 0.2323, 0.2331, 0.2394",\
                 "0.2277, 0.2268, 0.2262, 0.2274, 0.2292, 0.2302, 0.2314, 0.2323, 0.2339, 0.2402",\
                 "0.229, 0.2276, 0.2265, 0.2274, 0.2293, 0.2306, 0.2319, 0.2329, 0.2337, 0.2393",\
                 "0.2375, 0.235, 0.2322, 0.2317, 0.2331, 0.2342, 0.235, 0.2366, 0.2369, 0.2432",\
                 "0.2525, 0.249, 0.2439, 0.2421, 0.2426, 0.2433, 0.2443, 0.2449, 0.2461, 0.2548",\
                 "0.2757, 0.2707, 0.2636, 0.2598, 0.2591, 0.2592, 0.2594, 0.26, 0.2609, 0.2701",\
                 "0.3085, 0.3019, 0.2925, 0.2867, 0.2837, 0.2839, 0.2839, 0.2838, 0.2851, 0.2971",\
                 "0.3497, 0.3414, 0.3299, 0.3218, 0.3174, 0.315, 0.3161, 0.3166, 0.3164, 0.3323",\
                 "0.395, 0.3849, 0.3713, 0.3609, 0.3545, 0.3501, 0.3492, 0.351, 0.3529, 0.3772",\
                 "0.4444, 0.433, 0.4165, 0.4036, 0.3956, 0.3901, 0.3871, 0.3863, 0.3923, 0.426");
        }
      }

      internal_power() {
        related_pin : "CLKN" ;
        when : "!E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2297, 0.2255, 0.2214, 0.2198, 0.2189, 0.2185, 0.2182, 0.2181, 0.218, 0.2179",\
                 "0.2284, 0.2242, 0.2202, 0.2185, 0.2177, 0.2172, 0.2169, 0.2168, 0.2167, 0.2166",\
                 "0.2305, 0.2263, 0.2221, 0.2204, 0.2197, 0.2192, 0.219, 0.2188, 0.2188, 0.2187",\
                 "0.2463, 0.2415, 0.2361, 0.2336, 0.2324, 0.2319, 0.2316, 0.2315, 0.2313, 0.2312",\
                 "0.2785, 0.2725, 0.2648, 0.2606, 0.2587, 0.2577, 0.2571, 0.2568, 0.2566, 0.2564",\
                 "0.3265, 0.3192, 0.309, 0.303, 0.2998, 0.2981, 0.2971, 0.2965, 0.2961, 0.2959",\
                 "0.3921, 0.3837, 0.3707, 0.3622, 0.3573, 0.3546, 0.3529, 0.3519, 0.3513, 0.3509",\
                 "0.476, 0.4663, 0.45, 0.4389, 0.4321, 0.4281, 0.4256, 0.4241, 0.4231, 0.4224",\
                 "0.5785, 0.5679, 0.5485, 0.5345, 0.5256, 0.5199, 0.5164, 0.5141, 0.5127, 0.5116",\
                 "0.7007, 0.689, 0.6666, 0.6496, 0.6382, 0.6308, 0.6259, 0.6228, 0.6207, 0.6192");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("-0.05826, -0.05926, -0.0594, -0.05823, -0.05757, -0.05625, -0.05506, -0.05324, -0.0507, -0.04508",\
                 "-0.05805, -0.05918, -0.0592, -0.0581, -0.05714, -0.05592, -0.05479, -0.05327, -0.05139, -0.04445",\
                 "-0.05667, -0.05804, -0.05868, -0.05794, -0.05702, -0.05573, -0.05447, -0.05298, -0.0511, -0.04354",\
                 "-0.04819, -0.05065, -0.05315, -0.05363, -0.05343, -0.05218, -0.05115, -0.04913, -0.04693, -0.04057",\
                 "-0.0334, -0.03687, -0.04196, -0.04303, -0.04385, -0.04316, -0.0422, -0.04114, -0.03956, -0.02987",\
                 "-0.01096, -0.01604, -0.02261, -0.02649, -0.02709, -0.02754, -0.02784, -0.02638, -0.02513, -0.01413",\
                 "0.01952, 0.01302, 0.003974, -0.002147, -0.005415, -0.004949, -0.005011, -0.005107, -0.003799, 0.0079",\
                 "0.0579, 0.04955, 0.03823, 0.02993, 0.02495, 0.02307, 0.02416, 0.02469, 0.02481, 0.04167",\
                 "0.101, 0.09099, 0.07723, 0.06718, 0.06008, 0.056, 0.05458, 0.05709, 0.05865, 0.08196",\
                 "0.1477, 0.1363, 0.1198, 0.1075, 0.09869, 0.09213, 0.0891, 0.0893, 0.09605, 0.1299");
        }
      }

      internal_power() {
        related_pin : "CLKN" ;
        when : "E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2296, 0.2254, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178",\
                 "0.2283, 0.2241, 0.22, 0.2184, 0.2176, 0.2171, 0.2168, 0.2167, 0.2166, 0.2165",\
                 "0.2304, 0.2262, 0.222, 0.2203, 0.2195, 0.2191, 0.2189, 0.2187, 0.2187, 0.2186",\
                 "0.2462, 0.2414, 0.236, 0.2335, 0.2324, 0.2318, 0.2315, 0.2314, 0.2312, 0.2311",\
                 "0.2784, 0.2724, 0.2647, 0.2605, 0.2586, 0.2576, 0.257, 0.2567, 0.2565, 0.2563",\
                 "0.3264, 0.3191, 0.3089, 0.3029, 0.2997, 0.298, 0.297, 0.2964, 0.296, 0.2958",\
                 "0.392, 0.3835, 0.3705, 0.362, 0.3572, 0.3545, 0.3528, 0.3519, 0.3512, 0.3508",\
                 "0.4758, 0.4662, 0.4499, 0.4389, 0.4321, 0.428, 0.4256, 0.424, 0.423, 0.4222",\
                 "0.5784, 0.5677, 0.5484, 0.5345, 0.5255, 0.5198, 0.5163, 0.514, 0.5126, 0.5115",\
                 "0.7006, 0.689, 0.6665, 0.6495, 0.6381, 0.6307, 0.6258, 0.6227, 0.6206, 0.6191");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("-0.04922, -0.05021, -0.05036, -0.04916, -0.04853, -0.04721, -0.04605, -0.04423, -0.0417, -0.03607",\
                 "-0.04907, -0.05021, -0.05023, -0.04912, -0.04816, -0.04694, -0.04601, -0.04429, -0.04241, -0.03547",\
                 "-0.0477, -0.04907, -0.04982, -0.04895, -0.04792, -0.04663, -0.04551, -0.04372, -0.04283, -0.03461",\
                 "-0.03927, -0.04173, -0.04424, -0.04472, -0.04452, -0.04327, -0.04224, -0.03993, -0.03805, -0.0317",\
                 "-0.02489, -0.02837, -0.03346, -0.03453, -0.03535, -0.03466, -0.03386, -0.03267, -0.03076, -0.0214",\
                 "-0.002655, -0.007731, -0.01432, -0.01819, -0.01879, -0.01924, -0.01878, -0.01812, -0.01687, -0.005867",\
                 "0.02761, 0.02116, 0.01205, 0.00596, 0.002692, 0.003159, 0.003097, 0.002967, 0.004276, 0.01597",\
                 "0.06555, 0.05714, 0.04598, 0.03788, 0.03263, 0.03033, 0.03178, 0.03231, 0.03276, 0.04929",\
                 "0.108, 0.09799, 0.08419, 0.07434, 0.06711, 0.06296, 0.06154, 0.06405, 0.06528, 0.0886",\
                 "0.1541, 0.1428, 0.1265, 0.114, 0.1051, 0.09923, 0.09613, 0.096, 0.1024, 0.1362");
        }
      }

      internal_power() {
        related_pin : "CLKN" ;
        when : "E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2296, 0.2254, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178",\
                 "0.2283, 0.2241, 0.22, 0.2184, 0.2176, 0.2171, 0.2168, 0.2167, 0.2166, 0.2165",\
                 "0.2304, 0.2262, 0.222, 0.2203, 0.2196, 0.2191, 0.2189, 0.2187, 0.2187, 0.2186",\
                 "0.2462, 0.2414, 0.236, 0.2335, 0.2324, 0.2318, 0.2315, 0.2313, 0.2312, 0.2312",\
                 "0.2784, 0.2724, 0.2647, 0.2606, 0.2586, 0.2576, 0.257, 0.2566, 0.2564, 0.2563",\
                 "0.3264, 0.3191, 0.3089, 0.3029, 0.2997, 0.298, 0.297, 0.2964, 0.2961, 0.2958",\
                 "0.392, 0.3835, 0.3705, 0.3622, 0.3572, 0.3544, 0.3528, 0.3519, 0.3512, 0.3507",\
                 "0.4757, 0.466, 0.4499, 0.4389, 0.4321, 0.428, 0.4256, 0.424, 0.423, 0.4223",\
                 "0.5784, 0.5677, 0.5484, 0.5344, 0.5255, 0.5198, 0.5163, 0.5141, 0.5126, 0.5115",\
                 "0.7006, 0.689, 0.6665, 0.6495, 0.638, 0.6307, 0.6259, 0.6227, 0.6206, 0.6192");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("-0.04852, -0.04951, -0.04966, -0.04849, -0.04787, -0.04651, -0.04532, -0.04386, -0.04198, -0.0357",\
                 "-0.04831, -0.04943, -0.04946, -0.04835, -0.04739, -0.0461, -0.04484, -0.04385, -0.04197, -0.0347",\
                 "-0.04693, -0.04831, -0.04909, -0.04818, -0.04729, -0.04613, -0.04471, -0.04328, -0.04141, -0.03384",\
                 "-0.03856, -0.041, -0.04353, -0.04401, -0.04378, -0.04255, -0.0413, -0.03954, -0.03767, -0.03132",\
                 "-0.02412, -0.02759, -0.03268, -0.03375, -0.03441, -0.03398, -0.03318, -0.03189, -0.03031, -0.02062",\
                 "-0.001845, -0.006917, -0.01354, -0.01745, -0.01804, -0.0185, -0.01863, -0.01731, -0.01573, -0.005386",\
                 "0.02838, 0.02191, 0.01287, 0.006546, 0.004037, 0.004009, 0.004343, 0.003388, 0.005026, 0.01871",\
                 "0.06612, 0.05761, 0.04665, 0.03845, 0.0333, 0.03103, 0.03232, 0.03318, 0.03297, 0.04883",\
                 "0.108, 0.09803, 0.08413, 0.07428, 0.06709, 0.06287, 0.06155, 0.06472, 0.06529, 0.0886",\
                 "0.1538, 0.1424, 0.1263, 0.1136, 0.1045, 0.0988, 0.09505, 0.09525, 0.1017, 0.1364");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b0 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.3714, 0.4209, 0.5487, 0.7368, 0.9944, 1.341, 1.794, 2.364, 3.06, 3.889",\
                 "0.3826, 0.4322, 0.5599, 0.7481, 1.006, 1.353, 1.805, 2.375, 3.071, 3.9",\
                 "0.4386, 0.488, 0.6156, 0.8037, 1.061, 1.408, 1.861, 2.431, 3.127, 3.956",\
                 "0.5601, 0.6094, 0.7368, 0.9248, 1.182, 1.529, 1.982, 2.551, 3.248, 4.077",\
                 "0.7213, 0.773, 0.9036, 1.095, 1.354, 1.7, 2.153, 2.722, 3.418, 4.248",\
                 "0.9172, 0.9718, 1.106, 1.3, 1.561, 1.91, 2.362, 2.931, 3.627, 4.455",\
                 "1.148, 1.206, 1.348, 1.547, 1.81, 2.159, 2.612, 3.182, 3.877, 4.706",\
                 "1.411, 1.474, 1.625, 1.833, 2.102, 2.452, 2.904, 3.474, 4.17, 4.998",\
                 "1.708, 1.776, 1.937, 2.155, 2.433, 2.789, 3.244, 3.813, 4.508, 5.338",\
                 "2.04, 2.112, 2.284, 2.513, 2.801, 3.167, 3.629, 4.201, 4.896, 5.725");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2308, 0.2731, 0.3978, 0.6233, 0.973, 1.464, 2.109, 2.923, 3.916, 5.1",\
                 "0.2457, 0.2879, 0.4125, 0.6382, 0.988, 1.479, 2.123, 2.938, 3.93, 5.115",\
                 "0.2973, 0.3392, 0.4632, 0.6884, 1.038, 1.529, 2.175, 2.988, 3.979, 5.166",\
                 "0.3641, 0.4081, 0.5335, 0.7575, 1.106, 1.597, 2.242, 3.056, 4.049, 5.231",\
                 "0.411, 0.4583, 0.5871, 0.8108, 1.159, 1.649, 2.293, 3.107, 4.096, 5.284",\
                 "0.4353, 0.4863, 0.6212, 0.845, 1.192, 1.68, 2.324, 3.136, 4.13, 5.312",\
                 "0.4325, 0.4879, 0.6301, 0.8575, 1.204, 1.691, 2.334, 3.145, 4.136, 5.319",\
                 "0.3992, 0.4592, 0.6101, 0.8428, 1.192, 1.68, 2.322, 3.133, 4.123, 5.305",\
                 "0.3343, 0.3987, 0.5581, 0.7979, 1.151, 1.643, 2.287, 3.098, 4.087, 5.267",\
                 "0.2352, 0.3047, 0.473, 0.7206, 1.078, 1.575, 2.225, 3.037, 4.026, 5.206");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.1232, 0.1737, 0.3154, 0.5542, 0.9376, 1.498, 2.254, 3.212, 4.384, 5.782",\
                 "0.1232, 0.1738, 0.3156, 0.5542, 0.9371, 1.496, 2.251, 3.212, 4.385, 5.783",\
                 "0.1232, 0.1736, 0.3153, 0.5542, 0.9376, 1.498, 2.254, 3.213, 4.385, 5.776",\
                 "0.1278, 0.1776, 0.3182, 0.556, 0.9382, 1.497, 2.253, 3.209, 4.381, 5.782",\
                 "0.1444, 0.1936, 0.3332, 0.5672, 0.9432, 1.499, 2.254, 3.212, 4.384, 5.78",\
                 "0.1636, 0.2134, 0.3496, 0.5822, 0.9532, 1.507, 2.254, 3.21, 4.385, 5.784",\
                 "0.1874, 0.2404, 0.3742, 0.601, 0.9642, 1.513, 2.261, 3.215, 4.382, 5.774",\
                 "0.2148, 0.2716, 0.408, 0.6316, 0.9848, 1.522, 2.269, 3.217, 4.386, 5.779",\
                 "0.2432, 0.3036, 0.4452, 0.6706, 1.021, 1.548, 2.277, 3.222, 4.386, 5.778",\
                 "0.274, 0.3396, 0.4878, 0.7132, 1.066, 1.591, 2.312, 3.238, 4.393, 5.781");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.09028, 0.1454, 0.3373, 0.728, 1.345, 2.207, 3.347, 4.781, 6.531, 8.615",\
                 "0.09006, 0.145, 0.3373, 0.7281, 1.343, 2.207, 3.344, 4.777, 6.528, 8.618",\
                 "0.0908, 0.1459, 0.3372, 0.7283, 1.345, 2.207, 3.345, 4.778, 6.541, 8.618",\
                 "0.1035, 0.157, 0.3421, 0.7286, 1.345, 2.207, 3.349, 4.78, 6.529, 8.612",\
                 "0.1194, 0.1726, 0.352, 0.7314, 1.345, 2.207, 3.344, 4.779, 6.534, 8.618",\
                 "0.1386, 0.192, 0.3672, 0.7356, 1.346, 2.207, 3.348, 4.776, 6.526, 8.613",\
                 "0.1608, 0.2158, 0.389, 0.7478, 1.352, 2.209, 3.344, 4.782, 6.523, 8.616",\
                 "0.184, 0.24, 0.416, 0.7658, 1.364, 2.216, 3.347, 4.775, 6.535, 8.604",\
                 "0.208, 0.2672, 0.444, 0.7882, 1.385, 2.237, 3.358, 4.778, 6.523, 8.609",\
                 "0.2332, 0.2956, 0.474, 0.8142, 1.409, 2.266, 3.384, 4.792, 6.527, 8.607");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b1 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&!TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.3714, 0.4209, 0.5487, 0.7368, 0.9944, 1.341, 1.794, 2.364, 3.06, 3.889",\
                 "0.3826, 0.4322, 0.5599, 0.7481, 1.006, 1.353, 1.805, 2.375, 3.071, 3.9",\
                 "0.4386, 0.488, 0.6156, 0.8037, 1.061, 1.408, 1.861, 2.431, 3.127, 3.956",\
                 "0.5601, 0.6095, 0.7368, 0.9248, 1.182, 1.529, 1.982, 2.552, 3.247, 4.077",\
                 "0.7213, 0.773, 0.9036, 1.095, 1.354, 1.7, 2.153, 2.722, 3.418, 4.248",\
                 "0.9172, 0.9717, 1.106, 1.3, 1.561, 1.91, 2.362, 2.931, 3.627, 4.455",\
                 "1.148, 1.206, 1.348, 1.547, 1.81, 2.159, 2.612, 3.182, 3.876, 4.705",\
                 "1.411, 1.474, 1.625, 1.833, 2.102, 2.452, 2.904, 3.475, 4.17, 4.998",\
                 "1.708, 1.776, 1.937, 2.155, 2.433, 2.789, 3.244, 3.813, 4.509, 5.338",\
                 "2.04, 2.112, 2.284, 2.513, 2.801, 3.167, 3.629, 4.201, 4.897, 5.725");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2308, 0.2731, 0.3978, 0.6233, 0.973, 1.464, 2.109, 2.923, 3.916, 5.1",\
                 "0.2457, 0.2879, 0.4126, 0.6382, 0.988, 1.479, 2.123, 2.938, 3.93, 5.115",\
                 "0.2973, 0.3392, 0.4632, 0.6884, 1.038, 1.529, 2.175, 2.988, 3.979, 5.165",\
                 "0.3641, 0.4081, 0.5335, 0.7575, 1.106, 1.597, 2.242, 3.056, 4.049, 5.231",\
                 "0.411, 0.4583, 0.5871, 0.8108, 1.159, 1.649, 2.293, 3.107, 4.096, 5.284",\
                 "0.4353, 0.4863, 0.6212, 0.845, 1.192, 1.68, 2.324, 3.136, 4.13, 5.312",\
                 "0.4325, 0.4879, 0.6301, 0.8575, 1.204, 1.691, 2.334, 3.145, 4.136, 5.319",\
                 "0.3992, 0.4592, 0.6102, 0.8428, 1.192, 1.68, 2.322, 3.133, 4.123, 5.305",\
                 "0.3343, 0.3987, 0.5584, 0.7981, 1.151, 1.643, 2.287, 3.097, 4.086, 5.267",\
                 "0.2356, 0.3046, 0.4734, 0.7205, 1.078, 1.575, 2.225, 3.037, 4.026, 5.206");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.1232, 0.1737, 0.3154, 0.5542, 0.9376, 1.498, 2.254, 3.212, 4.384, 5.782",\
                 "0.1232, 0.1738, 0.3156, 0.5542, 0.9371, 1.496, 2.251, 3.212, 4.385, 5.783",\
                 "0.1232, 0.1736, 0.3154, 0.5545, 0.9368, 1.498, 2.254, 3.213, 4.385, 5.778",\
                 "0.1279, 0.1776, 0.3182, 0.556, 0.9374, 1.496, 2.251, 3.212, 4.386, 5.776",\
                 "0.1444, 0.1936, 0.3332, 0.5672, 0.9432, 1.499, 2.254, 3.212, 4.384, 5.779",\
                 "0.1636, 0.2132, 0.3496, 0.5822, 0.9532, 1.507, 2.255, 3.21, 4.385, 5.784",\
                 "0.1882, 0.2404, 0.3742, 0.6002, 0.9634, 1.513, 2.261, 3.215, 4.384, 5.781",\
                 "0.215, 0.2716, 0.408, 0.6322, 0.9864, 1.522, 2.265, 3.217, 4.385, 5.779",\
                 "0.2432, 0.3036, 0.4448, 0.6712, 1.024, 1.549, 2.276, 3.223, 4.387, 5.776",\
                 "0.274, 0.339, 0.4884, 0.713, 1.068, 1.593, 2.311, 3.242, 4.393, 5.781");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.09026, 0.1454, 0.3373, 0.728, 1.345, 2.206, 3.347, 4.781, 6.531, 8.615",\
                 "0.09006, 0.145, 0.3373, 0.7281, 1.343, 2.207, 3.344, 4.777, 6.528, 8.618",\
                 "0.0908, 0.1459, 0.3374, 0.7283, 1.343, 2.207, 3.345, 4.778, 6.54, 8.618",\
                 "0.1035, 0.157, 0.3421, 0.7286, 1.345, 2.207, 3.349, 4.78, 6.529, 8.61",\
                 "0.1194, 0.1726, 0.352, 0.7314, 1.346, 2.207, 3.344, 4.778, 6.535, 8.618",\
                 "0.1386, 0.192, 0.3672, 0.7356, 1.346, 2.207, 3.343, 4.776, 6.527, 8.613",\
                 "0.1608, 0.2158, 0.3892, 0.7478, 1.352, 2.209, 3.344, 4.782, 6.523, 8.616",\
                 "0.184, 0.24, 0.4152, 0.7668, 1.364, 2.216, 3.347, 4.775, 6.532, 8.606",\
                 "0.208, 0.2674, 0.4438, 0.7886, 1.385, 2.236, 3.357, 4.781, 6.522, 8.612",\
                 "0.2324, 0.2952, 0.4746, 0.8142, 1.409, 2.267, 3.384, 4.793, 6.527, 8.605");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b1 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.3714, 0.421, 0.5487, 0.7368, 0.9944, 1.341, 1.794, 2.364, 3.06, 3.889",\
                 "0.3826, 0.4322, 0.5599, 0.7481, 1.006, 1.353, 1.805, 2.375, 3.071, 3.9",\
                 "0.4386, 0.488, 0.6156, 0.8037, 1.061, 1.408, 1.861, 2.431, 3.127, 3.956",\
                 "0.5601, 0.6095, 0.7368, 0.9248, 1.182, 1.529, 1.982, 2.551, 3.248, 4.077",\
                 "0.7213, 0.773, 0.9035, 1.095, 1.354, 1.7, 2.153, 2.722, 3.418, 4.247",\
                 "0.9172, 0.9717, 1.106, 1.3, 1.561, 1.91, 2.362, 2.931, 3.626, 4.455",\
                 "1.148, 1.206, 1.348, 1.547, 1.81, 2.159, 2.612, 3.182, 3.876, 4.706",\
                 "1.411, 1.474, 1.625, 1.833, 2.102, 2.451, 2.904, 3.475, 4.17, 4.998",\
                 "1.708, 1.776, 1.937, 2.155, 2.433, 2.789, 3.244, 3.813, 4.508, 5.338",\
                 "2.04, 2.112, 2.284, 2.513, 2.801, 3.167, 3.629, 4.201, 4.896, 5.725");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2308, 0.2731, 0.3978, 0.6233, 0.973, 1.464, 2.109, 2.923, 3.916, 5.099",\
                 "0.2457, 0.2879, 0.4126, 0.6382, 0.988, 1.479, 2.123, 2.938, 3.931, 5.115",\
                 "0.2973, 0.3392, 0.4631, 0.6884, 1.038, 1.529, 2.174, 2.988, 3.98, 5.166",\
                 "0.3641, 0.4081, 0.5335, 0.7575, 1.106, 1.597, 2.242, 3.055, 4.049, 5.23",\
                 "0.411, 0.4583, 0.5871, 0.8108, 1.159, 1.648, 2.292, 3.107, 4.096, 5.284",\
                 "0.4353, 0.4863, 0.6211, 0.845, 1.192, 1.68, 2.324, 3.136, 4.13, 5.311",\
                 "0.4325, 0.4879, 0.6301, 0.8575, 1.204, 1.691, 2.335, 3.145, 4.137, 5.319",\
                 "0.3991, 0.4592, 0.6101, 0.8431, 1.192, 1.68, 2.323, 3.133, 4.123, 5.304",\
                 "0.3343, 0.3986, 0.5584, 0.7981, 1.151, 1.643, 2.287, 3.097, 4.087, 5.267",\
                 "0.2356, 0.3046, 0.4735, 0.7205, 1.077, 1.575, 2.225, 3.037, 4.026, 5.207");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.1232, 0.1737, 0.3152, 0.555, 0.936, 1.497, 2.254, 3.212, 4.382, 5.782",\
                 "0.1231, 0.1738, 0.3156, 0.5543, 0.9373, 1.496, 2.252, 3.211, 4.385, 5.783",\
                 "0.1232, 0.1737, 0.3153, 0.5547, 0.9378, 1.497, 2.254, 3.213, 4.385, 5.779",\
                 "0.1281, 0.1776, 0.3182, 0.556, 0.9384, 1.496, 2.253, 3.212, 4.383, 5.782",\
                 "0.1444, 0.1936, 0.3334, 0.567, 0.9432, 1.5, 2.254, 3.213, 4.385, 5.784",\
                 "0.1636, 0.2132, 0.3498, 0.5814, 0.954, 1.506, 2.256, 3.21, 4.385, 5.785",\
                 "0.188, 0.2404, 0.3742, 0.6008, 0.9638, 1.513, 2.26, 3.215, 4.383, 5.781",\
                 "0.2148, 0.271, 0.4076, 0.6322, 0.9876, 1.522, 2.265, 3.217, 4.382, 5.779",\
                 "0.2444, 0.304, 0.4452, 0.6706, 1.022, 1.549, 2.277, 3.223, 4.387, 5.778",\
                 "0.2742, 0.339, 0.4878, 0.7136, 1.067, 1.591, 2.311, 3.24, 4.392, 5.781");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.09026, 0.1454, 0.3373, 0.728, 1.345, 2.206, 3.345, 4.78, 6.53, 8.611",\
                 "0.09006, 0.145, 0.3371, 0.7281, 1.343, 2.207, 3.343, 4.779, 6.528, 8.618",\
                 "0.0908, 0.1459, 0.3376, 0.7281, 1.345, 2.211, 3.345, 4.777, 6.528, 8.618",\
                 "0.1035, 0.157, 0.3421, 0.7286, 1.345, 2.207, 3.345, 4.778, 6.531, 8.617",\
                 "0.1194, 0.1726, 0.352, 0.7314, 1.346, 2.21, 3.344, 4.778, 6.535, 8.618",\
                 "0.1384, 0.1922, 0.3672, 0.7356, 1.346, 2.208, 3.348, 4.775, 6.526, 8.626",\
                 "0.1608, 0.2158, 0.389, 0.7484, 1.351, 2.209, 3.344, 4.773, 6.523, 8.612",\
                 "0.1836, 0.2398, 0.4154, 0.7664, 1.364, 2.217, 3.349, 4.775, 6.535, 8.609",\
                 "0.208, 0.2678, 0.4438, 0.7886, 1.384, 2.236, 3.358, 4.78, 6.521, 8.615",\
                 "0.2324, 0.2952, 0.4742, 0.8136, 1.409, 2.267, 3.386, 4.794, 6.527, 8.607");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.3714, 0.421, 0.5487, 0.7368, 0.9944, 1.341, 1.794, 2.364, 3.06, 3.889",\
                 "0.3826, 0.4322, 0.5599, 0.7481, 1.006, 1.353, 1.805, 2.375, 3.071, 3.9",\
                 "0.4386, 0.488, 0.6156, 0.8037, 1.061, 1.408, 1.861, 2.431, 3.127, 3.956",\
                 "0.5601, 0.6095, 0.7368, 0.9248, 1.182, 1.529, 1.982, 2.551, 3.248, 4.077",\
                 "0.7213, 0.773, 0.9035, 1.095, 1.354, 1.7, 2.153, 2.722, 3.418, 4.247",\
                 "0.9172, 0.9717, 1.106, 1.3, 1.561, 1.91, 2.362, 2.931, 3.626, 4.455",\
                 "1.148, 1.206, 1.348, 1.547, 1.81, 2.159, 2.612, 3.182, 3.876, 4.706",\
                 "1.411, 1.474, 1.625, 1.833, 2.102, 2.451, 2.904, 3.475, 4.17, 4.998",\
                 "1.708, 1.776, 1.937, 2.155, 2.433, 2.789, 3.244, 3.813, 4.508, 5.338",\
                 "2.04, 2.112, 2.284, 2.513, 2.801, 3.167, 3.629, 4.201, 4.896, 5.725");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2308, 0.2731, 0.3978, 0.6234, 0.9731, 1.465, 2.109, 2.921, 3.912, 5.093",\
                 "0.2457, 0.2879, 0.4126, 0.6382, 0.988, 1.48, 2.124, 2.936, 3.927, 5.108",\
                 "0.2973, 0.3392, 0.4632, 0.6885, 1.038, 1.53, 2.174, 2.986, 3.978, 5.159",\
                 "0.364, 0.4081, 0.5334, 0.7575, 1.107, 1.598, 2.242, 3.054, 4.045, 5.227",\
                 "0.4111, 0.4582, 0.5872, 0.8107, 1.159, 1.65, 2.294, 3.105, 4.096, 5.279",\
                 "0.4353, 0.4863, 0.6211, 0.845, 1.192, 1.682, 2.325, 3.136, 4.127, 5.308",\
                 "0.4323, 0.4878, 0.6302, 0.8576, 1.204, 1.694, 2.336, 3.147, 4.138, 5.319",\
                 "0.3989, 0.4592, 0.6101, 0.843, 1.192, 1.683, 2.325, 3.135, 4.124, 5.305",\
                 "0.3341, 0.3984, 0.5585, 0.7981, 1.151, 1.645, 2.285, 3.094, 4.084, 5.263",\
                 "0.2356, 0.3044, 0.4731, 0.7204, 1.077, 1.575, 2.214, 3.022, 4.01, 5.191");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.1232, 0.1737, 0.3152, 0.555, 0.936, 1.497, 2.254, 3.212, 4.382, 5.782",\
                 "0.1231, 0.1738, 0.3156, 0.5543, 0.9373, 1.496, 2.252, 3.211, 4.385, 5.783",\
                 "0.1232, 0.1737, 0.3153, 0.5547, 0.9378, 1.497, 2.254, 3.213, 4.385, 5.779",\
                 "0.1281, 0.1776, 0.3182, 0.556, 0.9384, 1.496, 2.253, 3.212, 4.383, 5.782",\
                 "0.1444, 0.1936, 0.3334, 0.567, 0.9432, 1.5, 2.254, 3.213, 4.385, 5.784",\
                 "0.1636, 0.2132, 0.3498, 0.5814, 0.954, 1.506, 2.256, 3.21, 4.385, 5.785",\
                 "0.188, 0.2404, 0.3742, 0.6008, 0.9638, 1.513, 2.26, 3.215, 4.383, 5.781",\
                 "0.2148, 0.271, 0.4076, 0.6322, 0.9876, 1.522, 2.265, 3.217, 4.382, 5.779",\
                 "0.2444, 0.304, 0.4452, 0.6706, 1.022, 1.549, 2.277, 3.223, 4.387, 5.778",\
                 "0.2742, 0.339, 0.4878, 0.7136, 1.067, 1.591, 2.311, 3.24, 4.392, 5.781");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.09026, 0.1454, 0.3373, 0.728, 1.345, 2.206, 3.345, 4.78, 6.53, 8.611",\
                 "0.09006, 0.145, 0.3371, 0.7281, 1.343, 2.207, 3.343, 4.779, 6.528, 8.618",\
                 "0.0908, 0.1459, 0.3376, 0.7281, 1.345, 2.211, 3.345, 4.777, 6.528, 8.618",\
                 "0.1035, 0.157, 0.3421, 0.7286, 1.345, 2.207, 3.345, 4.778, 6.531, 8.617",\
                 "0.1194, 0.1726, 0.352, 0.7314, 1.346, 2.21, 3.344, 4.778, 6.535, 8.618",\
                 "0.1384, 0.1922, 0.3672, 0.7356, 1.346, 2.208, 3.348, 4.775, 6.526, 8.626",\
                 "0.1608, 0.2158, 0.389, 0.7484, 1.351, 2.209, 3.344, 4.773, 6.523, 8.612",\
                 "0.1836, 0.2398, 0.4154, 0.7664, 1.364, 2.217, 3.349, 4.775, 6.535, 8.609",\
                 "0.208, 0.2678, 0.4438, 0.7886, 1.384, 2.236, 3.358, 4.78, 6.521, 8.615",\
                 "0.2324, 0.2952, 0.4742, 0.8136, 1.409, 2.267, 3.386, 4.794, 6.527, 8.607");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b0 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational_rise ;
        when : "!E&!TE" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.2308, 0.2731, 0.3978, 0.6234, 0.9731, 1.465, 2.109, 2.921, 3.912, 5.093",\
                 "0.2457, 0.2879, 0.4126, 0.6382, 0.988, 1.48, 2.124, 2.936, 3.927, 5.108",\
                 "0.2973, 0.3392, 0.4632, 0.6885, 1.038, 1.53, 2.174, 2.986, 3.978, 5.159",\
                 "0.364, 0.4081, 0.5334, 0.7575, 1.107, 1.598, 2.242, 3.054, 4.045, 5.227",\
                 "0.4111, 0.4582, 0.5872, 0.8107, 1.159, 1.65, 2.294, 3.105, 4.096, 5.279",\
                 "0.4353, 0.4863, 0.6211, 0.845, 1.192, 1.682, 2.325, 3.136, 4.127, 5.308",\
                 "0.4323, 0.4878, 0.6302, 0.8576, 1.204, 1.694, 2.336, 3.147, 4.138, 5.319",\
                 "0.3989, 0.4592, 0.6101, 0.843, 1.192, 1.683, 2.325, 3.135, 4.124, 5.305",\
                 "0.3341, 0.3984, 0.5585, 0.7981, 1.151, 1.645, 2.285, 3.094, 4.084, 5.263",\
                 "0.2356, 0.3044, 0.4731, 0.7204, 1.077, 1.575, 2.214, 3.022, 4.01, 5.191");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.546, 0.7218");
          values("0.09044, 0.1453, 0.3372, 0.7272, 1.345, 2.208, 3.34, 4.77, 6.518, 8.607",\
                 "0.09018, 0.1451, 0.3372, 0.7273, 1.345, 2.209, 3.34, 4.777, 6.518, 8.61",\
                 "0.09008, 0.1458, 0.3374, 0.7273, 1.345, 2.208, 3.341, 4.769, 6.517, 8.599",\
                 "0.1035, 0.1569, 0.3423, 0.7276, 1.345, 2.208, 3.341, 4.77, 6.522, 8.599",\
                 "0.1192, 0.1724, 0.352, 0.7308, 1.346, 2.207, 3.342, 4.777, 6.519, 8.606",\
                 "0.1392, 0.1926, 0.3676, 0.735, 1.348, 2.208, 3.342, 4.769, 6.521, 8.599",\
                 "0.1622, 0.2148, 0.3896, 0.7472, 1.353, 2.211, 3.34, 4.778, 6.521, 8.603",\
                 "0.1846, 0.241, 0.4158, 0.7656, 1.368, 2.22, 3.343, 4.77, 6.53, 8.605",\
                 "0.2074, 0.2676, 0.4444, 0.7886, 1.388, 2.231, 3.344, 4.771, 6.519, 8.602",\
                 "0.232, 0.2956, 0.4742, 0.8136, 1.41, 2.245, 3.35, 4.772, 6.518, 8.599");
        }
      }
    }

    pin(TE) {
      capacitance : 0.003163 ;
      clock_gate_test_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02201, 0.02199, 0.02196, 0.02194, 0.02195, 0.02197, 0.022, 0.02198, \
                 0.02197, 0.02198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01054, -0.01083, -0.01128, -0.01156, -0.01176, -0.01182, -0.01191, \
                 -0.01195, -0.01198, -0.012");
        }
      }

      internal_power() {
        when : "!CLKN&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01228, 0.01228, 0.01228, 0.01227, 0.0123, 0.0123, 0.0123, 0.0123, \
                 0.01229, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01148, -0.0116, -0.0118, -0.01193, -0.012, -0.01206, -0.01208, \
                 -0.0121, -0.0121, -0.01212");
        }
      }

      internal_power() {
        when : "CLKN&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1796, 0.179, 0.1784, 0.179, 0.1849, 0.1985, 0.2212, 0.2527, \
                 0.2922, 0.3398");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1224, 0.1216, 0.1207, 0.1218, 0.1274, 0.1392, 0.158, 0.184, \
                 0.2175, 0.2586");
        }
      }

      internal_power() {
        when : "CLKN&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01228, 0.01227, 0.01228, 0.01228, 0.01228, 0.01229, 0.0123, \
                 0.01229, 0.01229, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01082, -0.01149, -0.01178, -0.01192, -0.01198, -0.01205, -0.01207, \
                 -0.01209, -0.01211, -0.01211");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.698, -0.683, -0.632, -0.565, -0.496, -0.424, -0.347, -0.247, -0.14, -0.014",\
                 "-0.712, -0.7, -0.64, -0.574, -0.51, -0.437, -0.356, -0.259, -0.152, -0.022",\
                 "-0.747, -0.728, -0.677, -0.61, -0.539, -0.47, -0.386, -0.292, -0.184, -0.059",\
                 "-0.798, -0.777, -0.728, -0.658, -0.596, -0.526, -0.433, -0.339, -0.23, -0.103",\
                 "-0.888, -0.873, -0.816, -0.754, -0.686, -0.609, -0.527, -0.424, -0.315, -0.18",\
                 "-1.038, -1.02, -0.966, -0.9, -0.827, -0.761, -0.672, -0.567, -0.458, -0.323",\
                 "-1.238, -1.221, -1.172, -1.104, -1.034, -0.965, -0.88, -0.784, -0.665, -0.538",\
                 "-1.488, -1.467, -1.417, -1.351, -1.286, -1.218, -1.139, -1.047, -0.935, -0.813",\
                 "-1.763, -1.751, -1.694, -1.631, -1.568, -1.508, -1.433, -1.347, -1.245, -1.127",\
                 "-2.079, -2.059, -2.01, -1.949, -1.886, -1.823, -1.759, -1.676, -1.584, -1.478");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.137, -0.122, -0.052, 0.053, 0.174, 0.307, 0.462, 0.62, 0.799, 0.991",\
                 "-0.152, -0.128, -0.066, 0.044, 0.162, 0.3, 0.45, 0.607, 0.787, 0.979",\
                 "-0.178, -0.16, -0.086, 0.016, 0.139, 0.271, 0.42, 0.584, 0.768, 0.96",\
                 "-0.226, -0.209, -0.143, -0.03, 0.095, 0.235, 0.386, 0.556, 0.74, 0.937",\
                 "-0.278, -0.255, -0.19, -0.078, 0.054, 0.197, 0.359, 0.531, 0.717, 0.922",\
                 "-0.307, -0.289, -0.219, -0.103, 0.031, 0.184, 0.345, 0.528, 0.716, 0.925",\
                 "-0.31, -0.287, -0.211, -0.095, 0.042, 0.194, 0.363, 0.544, 0.742, 0.954",\
                 "-0.284, -0.267, -0.186, -0.061, 0.077, 0.239, 0.413, 0.601, 0.8, 1.014",\
                 "-0.226, -0.21, -0.131, 0.003, 0.154, 0.316, 0.499, 0.692, 0.894, 1.116",\
                 "-0.137, -0.12, -0.037, 0.098, 0.252, 0.427, 0.617, 0.821, 1.028, 1.259");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.733, 0.716, 0.664, 0.592, 0.519, 0.435, 0.356, 0.253, 0.148, 0.019",\
                 "0.746, 0.731, 0.675, 0.602, 0.525, 0.448, 0.364, 0.265, 0.16, 0.027",\
                 "0.78, 0.763, 0.709, 0.634, 0.566, 0.483, 0.404, 0.298, 0.192, 0.065",\
                 "0.835, 0.816, 0.758, 0.69, 0.613, 0.533, 0.454, 0.353, 0.239, 0.11",\
                 "0.926, 0.911, 0.852, 0.781, 0.707, 0.627, 0.539, 0.432, 0.324, 0.187",\
                 "1.067, 1.054, 0.998, 0.929, 0.854, 0.772, 0.679, 0.584, 0.462, 0.33",\
                 "1.271, 1.255, 1.208, 1.135, 1.051, 0.978, 0.888, 0.794, 0.676, 0.545",\
                 "1.517, 1.502, 1.448, 1.378, 1.301, 1.227, 1.149, 1.053, 0.942, 0.821",\
                 "1.794, 1.783, 1.727, 1.657, 1.587, 1.518, 1.445, 1.353, 1.252, 1.136",\
                 "2.105, 2.09, 2.043, 1.973, 1.905, 1.836, 1.774, 1.693, 1.602, 1.489");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.819, 0.812, 0.782, 0.747, 0.705, 0.631, 0.525, 0.389, 0.219, 0.004",\
                 "0.828, 0.818, 0.788, 0.756, 0.718, 0.643, 0.536, 0.396, 0.224, 0.022",\
                 "0.855, 0.846, 0.819, 0.784, 0.74, 0.668, 0.567, 0.423, 0.25, 0.044",\
                 "0.899, 0.893, 0.862, 0.835, 0.787, 0.716, 0.604, 0.473, 0.3, 0.093",\
                 "0.948, 0.942, 0.913, 0.882, 0.835, 0.767, 0.659, 0.514, 0.353, 0.139",\
                 "0.981, 0.978, 0.947, 0.915, 0.872, 0.799, 0.692, 0.559, 0.379, 0.169",\
                 "1.002, 0.998, 0.964, 0.935, 0.891, 0.817, 0.711, 0.569, 0.387, 0.181",\
                 "0.992, 0.983, 0.951, 0.924, 0.879, 0.806, 0.7, 0.555, 0.375, 0.159",\
                 "0.95, 0.948, 0.917, 0.88, 0.84, 0.763, 0.653, 0.51, 0.334, 0.109",\
                 "0.887, 0.88, 0.847, 0.82, 0.773, 0.698, 0.59, 0.44, 0.26, 0.036");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__icgtn_4) {
    area : 81.222400 ;
    clock_gating_integrated_cell : "latch_negedge_precontrol" ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!E&!TE" ;
      value : "0.0002672208" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&!E&TE" ;
      value : "0.0002426193" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&E&!TE" ;
      value : "0.0002379432" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLKN&E&TE" ;
      value : "0.0002379432" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!E&!TE" ;
      value : "0.0001713855" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&!E&TE" ;
      value : "0.0001750881" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&E&!TE" ;
      value : "0.0001608519" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLKN&E&TE" ;
      value : "0.0001608519" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002672208" ;
    }

    statetable("CLKN E TE", "IQ3 IQN3") {
      table : "H L L : - - : L H, \
              H H - : - - : H L, \
              H - H : - - : H L, \
              L - - : - - : N N" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLKN) {
      capacitance : 0.007825 ;
      clock : true ;
      clock_gate_clock_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 1.122 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1134, 0.1128, 0.1144, 0.1219, 0.1366, 0.1595, 0.191, 0.2315, \
                 0.2817, 0.3419");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05406, 0.05338, 0.05418, 0.06029, 0.07322, 0.09355, 0.122, 0.1588, \
                 0.2042, 0.2588");
        }
      }

      internal_power() {
        when : "!E&TE" ;

        fall_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1868, 0.1861, 0.1869, 0.1929, 0.2054, 0.2255, 0.2538, 0.2906, \
                 0.3393, 0.4023");
        }
      }

      internal_power() {
        when : "E&!TE" ;

        fall_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1778, 0.1771, 0.1779, 0.1841, 0.1968, 0.2173, 0.2457, 0.283, \
                 0.3325, 0.3958");
        }
      }

      internal_power() {
        when : "E&TE" ;

        fall_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1771, 0.1764, 0.1772, 0.1833, 0.1961, 0.2166, 0.245, 0.2825, \
                 0.3324, 0.3963");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&!TE" ;

        rise_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_NOT_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&TE" ;

        rise_constraint(scalar) {
          values("1.122");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&!TE" ;

        rise_constraint(scalar) {
          values("1.07");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "ENABLE_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&TE" ;

        rise_constraint(scalar) {
          values("1.01");
        }
      }
    }

    pin(E) {
      capacitance : 0.003271 ;
      clock_gate_enable_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01357, 0.01356, 0.01356, 0.01354, 0.01357, 0.01357, 0.01357, \
                 0.01357, 0.01357, 0.01356");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01193, -0.01194, -0.01195, -0.01204, -0.01209, -0.01213, -0.01216, \
                 -0.01216, -0.01217, -0.01218");
        }
      }

      internal_power() {
        when : "!CLKN&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005965, 0.005972, 0.005987, 0.005987, 0.006014, 0.005985, 0.006004, \
                 0.00601, 0.006011, 0.006009");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00545, -0.005451, -0.005444, -0.005449, -0.005461, -0.005463, \
                 -0.005464, -0.005465, -0.005461, -0.005463");
        }
      }

      internal_power() {
        when : "CLKN&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.171, 0.1706, 0.17, 0.1715, 0.1786, 0.1918, 0.212, 0.2391, 0.2729, \
                 0.3135");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1143, 0.1141, 0.1136, 0.115, 0.1204, 0.1311, 0.1477, 0.17, 0.1985, \
                 0.2333");
        }
      }

      internal_power() {
        when : "CLKN&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008199, 0.008186, 0.008197, 0.008212, 0.008192, 0.0082, 0.00819, \
                 0.00817, 0.008134, 0.008099");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004519, -0.004514, -0.004521, -0.004528, -0.004537, -0.004552, \
                 -0.004564, -0.004574, -0.004582, -0.004597");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.664, -0.648, -0.594, -0.528, -0.46, -0.389, -0.305, -0.212, -0.1, 0.023",\
                 "-0.671, -0.66, -0.604, -0.534, -0.471, -0.401, -0.313, -0.223, -0.112, 0.015",\
                 "-0.71, -0.693, -0.637, -0.575, -0.505, -0.431, -0.35, -0.255, -0.142, -0.016",\
                 "-0.78, -0.758, -0.705, -0.643, -0.575, -0.496, -0.413, -0.312, -0.195, -0.07",\
                 "-0.91, -0.896, -0.834, -0.775, -0.706, -0.627, -0.539, -0.432, -0.315, -0.18",\
                 "-1.101, -1.084, -1.03, -0.965, -0.889, -0.815, -0.726, -0.617, -0.499, -0.362",\
                 "-1.347, -1.333, -1.28, -1.214, -1.142, -1.066, -0.969, -0.871, -0.748, -0.609",\
                 "-1.659, -1.64, -1.591, -1.524, -1.448, -1.37, -1.285, -1.179, -1.064, -0.924",\
                 "-2.009, -1.992, -1.934, -1.876, -1.805, -1.728, -1.64, -1.543, -1.424, -1.298",\
                 "-2.402, -2.389, -2.332, -2.268, -2.202, -2.127, -2.045, -1.947, -1.836, -1.714");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.126, -0.108, -0.041, 0.062, 0.181, 0.319, 0.47, 0.626, 0.807, 1.002",\
                 "-0.138, -0.12, -0.054, 0.054, 0.17, 0.306, 0.458, 0.619, 0.795, 0.99",\
                 "-0.168, -0.148, -0.078, 0.022, 0.148, 0.277, 0.429, 0.591, 0.776, 0.97",\
                 "-0.208, -0.189, -0.126, -0.015, 0.106, 0.242, 0.396, 0.563, 0.749, 0.949",\
                 "-0.248, -0.232, -0.164, -0.057, 0.068, 0.215, 0.371, 0.546, 0.726, 0.934",\
                 "-0.267, -0.247, -0.181, -0.073, 0.058, 0.2, 0.365, 0.536, 0.727, 0.931",\
                 "-0.251, -0.236, -0.166, -0.056, 0.076, 0.221, 0.388, 0.563, 0.753, 0.968",\
                 "-0.195, -0.183, -0.112, 0.005, 0.129, 0.281, 0.452, 0.63, 0.82, 1.038",\
                 "-0.107, -0.089, -0.015, 0.099, 0.229, 0.379, 0.546, 0.733, 0.933, 1.152",\
                 "0.024, 0.037, 0.114, 0.227, 0.359, 0.518, 0.688, 0.877, 1.082, 1.3");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.681, 0.662, 0.611, 0.547, 0.474, 0.401, 0.314, 0.218, 0.108, -0.017",\
                 "0.691, 0.675, 0.616, 0.553, 0.478, 0.407, 0.33, 0.229, 0.119, -0.01",\
                 "0.721, 0.704, 0.654, 0.587, 0.514, 0.444, 0.359, 0.261, 0.15, 0.022",\
                 "0.799, 0.777, 0.723, 0.659, 0.587, 0.512, 0.424, 0.319, 0.204, 0.076",\
                 "0.926, 0.911, 0.861, 0.787, 0.714, 0.636, 0.545, 0.44, 0.324, 0.187",\
                 "1.119, 1.102, 1.049, 0.981, 0.907, 0.82, 0.733, 0.626, 0.504, 0.369",\
                 "1.373, 1.358, 1.299, 1.235, 1.154, 1.073, 0.985, 0.881, 0.753, 0.617",\
                 "1.677, 1.664, 1.61, 1.538, 1.464, 1.379, 1.295, 1.185, 1.07, 0.933",\
                 "2.033, 2.015, 1.959, 1.893, 1.814, 1.738, 1.651, 1.549, 1.439, 1.307",\
                 "2.428, 2.41, 2.359, 2.292, 2.215, 2.14, 2.052, 1.956, 1.845, 1.725");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.779, 0.771, 0.745, 0.719, 0.675, 0.625, 0.533, 0.401, 0.251, 0.056",\
                 "0.794, 0.778, 0.758, 0.727, 0.687, 0.637, 0.544, 0.414, 0.256, 0.064",\
                 "0.817, 0.805, 0.779, 0.75, 0.714, 0.668, 0.577, 0.441, 0.283, 0.087",\
                 "0.862, 0.855, 0.822, 0.797, 0.755, 0.709, 0.614, 0.48, 0.335, 0.132",\
                 "0.903, 0.888, 0.869, 0.834, 0.794, 0.75, 0.653, 0.521, 0.371, 0.169",\
                 "0.923, 0.913, 0.89, 0.856, 0.819, 0.772, 0.679, 0.55, 0.389, 0.201",\
                 "0.917, 0.904, 0.882, 0.855, 0.811, 0.763, 0.67, 0.54, 0.381, 0.189",\
                 "0.88, 0.87, 0.839, 0.81, 0.768, 0.722, 0.622, 0.492, 0.341, 0.135",\
                 "0.807, 0.795, 0.768, 0.731, 0.698, 0.643, 0.547, 0.422, 0.264, 0.055",\
                 "0.689, 0.68, 0.649, 0.619, 0.577, 0.53, 0.433, 0.304, 0.143, -0.056");
        }
      }
    }

    pin(IQ3) {
      direction : internal ;
      internal_node : IQ3 ;
      inverted_output : false ;
    }

    pin(IQN3) {
      direction : internal ;
      internal_node : IQN3 ;
      inverted_output : true ;
    }

    pin(Q) {
      clock_gate_out_pin : true ;
      direction : output ;
      max_capacitance : 1.442 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      state_function : "(CLKN|(!IQ3))" ;

      internal_power() {
        related_pin : "CLKN" ;
        when : "!E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.3155, 0.3086, 0.3014, 0.3009, 0.3032, 0.3045, 0.3059, 0.3083, 0.3107, 0.3248",\
                 "0.3156, 0.3089, 0.302, 0.3012, 0.3035, 0.3052, 0.3066, 0.308, 0.3113, 0.3265",\
                 "0.3161, 0.3093, 0.302, 0.3011, 0.3034, 0.3051, 0.3064, 0.3088, 0.3115, 0.3263",\
                 "0.3298, 0.3213, 0.3103, 0.3069, 0.3078, 0.3085, 0.3095, 0.3119, 0.3143, 0.3309",\
                 "0.3553, 0.3433, 0.3277, 0.3204, 0.3186, 0.318, 0.3187, 0.3211, 0.3232, 0.3405",\
                 "0.3912, 0.3751, 0.3546, 0.3425, 0.3377, 0.335, 0.3344, 0.3341, 0.3376, 0.3581",\
                 "0.4388, 0.4185, 0.3923, 0.3753, 0.3651, 0.3633, 0.3597, 0.3584, 0.3623, 0.3904",\
                 "0.4972, 0.473, 0.4405, 0.4185, 0.4034, 0.3958, 0.3958, 0.3928, 0.393, 0.4302",\
                 "0.5622, 0.535, 0.4948, 0.4679, 0.4479, 0.4355, 0.4306, 0.4349, 0.4337, 0.4819",\
                 "0.6319, 0.6024, 0.554, 0.5215, 0.4982, 0.481, 0.4701, 0.4693, 0.4804, 0.5535");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.3155, 0.3086, 0.3014, 0.3009, 0.3032, 0.3045, 0.3059, 0.3083, 0.3107, 0.3248",\
                 "0.3156, 0.3089, 0.302, 0.3012, 0.3035, 0.3052, 0.3066, 0.308, 0.3113, 0.3265",\
                 "0.3161, 0.3093, 0.302, 0.3011, 0.3034, 0.3051, 0.3064, 0.3088, 0.3115, 0.3263",\
                 "0.3298, 0.3213, 0.3103, 0.3069, 0.3078, 0.3085, 0.3095, 0.3119, 0.3143, 0.3309",\
                 "0.3553, 0.3433, 0.3277, 0.3204, 0.3186, 0.318, 0.3187, 0.3211, 0.3232, 0.3405",\
                 "0.3912, 0.3751, 0.3546, 0.3425, 0.3377, 0.335, 0.3344, 0.3341, 0.3376, 0.3581",\
                 "0.4388, 0.4185, 0.3923, 0.3753, 0.3651, 0.3633, 0.3597, 0.3584, 0.3623, 0.3904",\
                 "0.4972, 0.473, 0.4405, 0.4185, 0.4034, 0.3958, 0.3958, 0.3928, 0.393, 0.4302",\
                 "0.5622, 0.535, 0.4948, 0.4679, 0.4479, 0.4355, 0.4306, 0.4349, 0.4337, 0.4819",\
                 "0.6319, 0.6024, 0.554, 0.5215, 0.4982, 0.481, 0.4701, 0.4693, 0.4804, 0.5535");
        }
      }

      internal_power() {
        related_pin : "CLKN" ;
        when : "!E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.365, 0.3482, 0.3238, 0.3114, 0.3047, 0.3008, 0.2985, 0.2969, 0.2959, 0.2951",\
                 "0.3639, 0.3471, 0.3227, 0.3104, 0.3037, 0.2998, 0.2974, 0.2958, 0.2949, 0.2941",\
                 "0.3655, 0.3488, 0.3243, 0.3119, 0.3052, 0.3014, 0.2991, 0.2975, 0.2965, 0.2958",\
                 "0.3785, 0.3616, 0.3366, 0.3235, 0.3165, 0.3126, 0.3102, 0.3087, 0.3077, 0.307",\
                 "0.4177, 0.3992, 0.3703, 0.3534, 0.3442, 0.339, 0.3357, 0.3336, 0.3322, 0.3313",\
                 "0.4786, 0.4577, 0.4226, 0.401, 0.3883, 0.3808, 0.3763, 0.3735, 0.3715, 0.3701",\
                 "0.5577, 0.5346, 0.4935, 0.4664, 0.4496, 0.4397, 0.4334, 0.4293, 0.4266, 0.4247",\
                 "0.6583, 0.6333, 0.5856, 0.552, 0.5307, 0.517, 0.5084, 0.5026, 0.4989, 0.4963",\
                 "0.7811, 0.7541, 0.6996, 0.6589, 0.632, 0.6143, 0.6026, 0.595, 0.5898, 0.5861",\
                 "0.9255, 0.897, 0.8362, 0.7875, 0.7547, 0.7325, 0.7174, 0.7073, 0.7002, 0.695");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.02949, 0.0228, 0.01686, 0.01529, 0.01632, 0.01831, 0.01966, 0.02303, 0.02674, 0.03962",\
                 "0.02995, 0.02332, 0.017, 0.0156, 0.0162, 0.01865, 0.02033, 0.02403, 0.0284, 0.04091",\
                 "0.03055, 0.02381, 0.01756, 0.01566, 0.01665, 0.01858, 0.02025, 0.02363, 0.02734, 0.04146",\
                 "0.04416, 0.03559, 0.02546, 0.02135, 0.02059, 0.02179, 0.02379, 0.02684, 0.02956, 0.04715",\
                 "0.06957, 0.05731, 0.04268, 0.03491, 0.03135, 0.03172, 0.03307, 0.03447, 0.03823, 0.05718",\
                 "0.1045, 0.08817, 0.06813, 0.05524, 0.05043, 0.0479, 0.04792, 0.04701, 0.0515, 0.07332",\
                 "0.1499, 0.1294, 0.1044, 0.08498, 0.07539, 0.07338, 0.07077, 0.06853, 0.0711, 0.09985",\
                 "0.2054, 0.1815, 0.149, 0.1255, 0.1101, 0.103, 0.1023, 0.101, 0.1009, 0.1381",\
                 "0.268, 0.2408, 0.2009, 0.1725, 0.1526, 0.14, 0.1344, 0.138, 0.1392, 0.189",\
                 "0.3349, 0.3054, 0.2576, 0.2248, 0.2001, 0.182, 0.1725, 0.17, 0.1805, 0.2594");
        }
      }

      internal_power() {
        related_pin : "CLKN" ;
        when : "E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.3649, 0.3481, 0.3237, 0.3113, 0.3046, 0.3007, 0.2984, 0.2968, 0.2958, 0.295",\
                 "0.3638, 0.347, 0.3226, 0.3102, 0.3035, 0.2996, 0.2973, 0.2957, 0.2948, 0.294",\
                 "0.3654, 0.3487, 0.3242, 0.3118, 0.3051, 0.3013, 0.299, 0.2974, 0.2964, 0.2957",\
                 "0.3784, 0.3615, 0.3365, 0.3234, 0.3164, 0.3125, 0.3101, 0.3086, 0.3076, 0.3069",\
                 "0.4176, 0.3991, 0.3701, 0.3533, 0.3441, 0.3389, 0.3356, 0.3335, 0.3322, 0.3312",\
                 "0.4785, 0.4575, 0.4224, 0.4009, 0.3882, 0.3807, 0.3761, 0.3733, 0.3713, 0.37",\
                 "0.5576, 0.5345, 0.4935, 0.4662, 0.4498, 0.4396, 0.4331, 0.4292, 0.4264, 0.4246",\
                 "0.6582, 0.6333, 0.5855, 0.5519, 0.5305, 0.5169, 0.5083, 0.5025, 0.4988, 0.4962",\
                 "0.781, 0.754, 0.6995, 0.6588, 0.6319, 0.6142, 0.6027, 0.5949, 0.5896, 0.586",\
                 "0.9254, 0.8969, 0.8361, 0.7874, 0.7546, 0.7324, 0.7173, 0.7071, 0.7001, 0.6951");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.03852, 0.03181, 0.02588, 0.02428, 0.02528, 0.0273, 0.02865, 0.03202, 0.03573, 0.04927",\
                 "0.039, 0.03236, 0.02604, 0.02467, 0.02573, 0.02765, 0.02933, 0.03304, 0.0374, 0.04991",\
                 "0.0395, 0.03275, 0.02649, 0.0246, 0.02562, 0.02748, 0.02949, 0.03254, 0.03624, 0.05362",\
                 "0.05302, 0.04445, 0.03448, 0.02987, 0.02942, 0.03058, 0.03259, 0.03563, 0.03835, 0.05594",\
                 "0.07815, 0.06588, 0.05126, 0.04352, 0.03993, 0.03994, 0.04161, 0.04301, 0.04711, 0.06473",\
                 "0.1127, 0.09643, 0.07636, 0.06347, 0.05866, 0.05609, 0.05513, 0.05521, 0.05969, 0.08152",\
                 "0.1581, 0.1375, 0.1121, 0.09313, 0.0831, 0.08182, 0.07855, 0.07665, 0.0802, 0.1076",\
                 "0.2132, 0.1892, 0.1566, 0.1332, 0.1177, 0.1106, 0.1123, 0.1089, 0.1098, 0.1437",\
                 "0.2749, 0.2477, 0.2078, 0.1794, 0.1599, 0.1469, 0.1413, 0.1452, 0.1474, 0.1955",\
                 "0.3414, 0.3119, 0.2644, 0.2313, 0.2058, 0.1882, 0.1793, 0.1768, 0.1869, 0.262");
        }
      }

      internal_power() {
        related_pin : "CLKN" ;
        when : "E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.365, 0.3481, 0.3237, 0.3113, 0.3046, 0.3007, 0.2984, 0.2968, 0.2958, 0.295",\
                 "0.3638, 0.347, 0.3227, 0.3102, 0.3036, 0.2997, 0.2973, 0.2958, 0.2948, 0.294",\
                 "0.3655, 0.3487, 0.3243, 0.3118, 0.3051, 0.3013, 0.299, 0.2974, 0.2964, 0.2957",\
                 "0.3784, 0.3615, 0.3365, 0.3234, 0.3165, 0.3125, 0.3101, 0.3086, 0.3076, 0.3069",\
                 "0.4176, 0.3992, 0.3701, 0.3533, 0.3441, 0.3388, 0.3356, 0.3336, 0.3322, 0.3312",\
                 "0.4785, 0.4576, 0.4224, 0.4006, 0.3882, 0.3806, 0.3761, 0.3732, 0.3712, 0.3699",\
                 "0.5577, 0.5345, 0.4935, 0.4663, 0.4497, 0.4396, 0.4332, 0.4291, 0.4264, 0.4246",\
                 "0.6583, 0.6333, 0.5855, 0.5519, 0.5305, 0.5169, 0.5083, 0.5025, 0.4987, 0.4962",\
                 "0.7809, 0.754, 0.6995, 0.6588, 0.6318, 0.6141, 0.6025, 0.5949, 0.5896, 0.586",\
                 "0.9253, 0.8969, 0.8362, 0.7875, 0.7547, 0.7323, 0.7173, 0.7071, 0.7001, 0.6951");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.03927, 0.03258, 0.02667, 0.02507, 0.02609, 0.02805, 0.02972, 0.03277, 0.03648, 0.052",\
                 "0.03973, 0.03287, 0.0268, 0.0254, 0.02646, 0.02838, 0.03006, 0.0341, 0.03714, 0.05031",\
                 "0.04022, 0.03347, 0.02721, 0.02532, 0.02628, 0.0282, 0.02988, 0.03292, 0.03663, 0.05207",\
                 "0.05375, 0.04524, 0.03508, 0.03064, 0.03021, 0.03137, 0.03338, 0.03643, 0.03915, 0.05674",\
                 "0.07886, 0.06662, 0.05199, 0.04422, 0.04066, 0.04096, 0.04231, 0.04371, 0.04715, 0.06642",\
                 "0.1135, 0.09715, 0.07705, 0.06436, 0.05968, 0.05685, 0.05523, 0.05663, 0.06078, 0.08228",\
                 "0.1589, 0.1385, 0.1128, 0.09492, 0.08427, 0.08318, 0.07925, 0.07801, 0.08025, 0.1087",\
                 "0.2137, 0.1894, 0.1571, 0.1337, 0.1181, 0.1111, 0.1118, 0.1084, 0.11, 0.1462",\
                 "0.2748, 0.2478, 0.2077, 0.1791, 0.159, 0.1479, 0.1416, 0.1449, 0.1474, 0.1959",\
                 "0.3409, 0.3114, 0.2636, 0.2308, 0.2059, 0.1887, 0.1771, 0.1766, 0.1871, 0.2647");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b0 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.5603, 0.6206, 0.7702, 0.9838, 1.26, 1.616, 2.072, 2.642, 3.337, 4.167",\
                 "0.5724, 0.6328, 0.7822, 0.9959, 1.272, 1.629, 2.084, 2.654, 3.35, 4.179",\
                 "0.6265, 0.6868, 0.8362, 1.05, 1.326, 1.682, 2.138, 2.708, 3.404, 4.232",\
                 "0.7468, 0.8069, 0.9561, 1.169, 1.446, 1.802, 2.257, 2.827, 3.523, 4.352",\
                 "0.9356, 0.9967, 1.146, 1.359, 1.635, 1.991, 2.446, 3.016, 3.712, 4.54",\
                 "1.16, 1.224, 1.378, 1.597, 1.875, 2.232, 2.687, 3.256, 3.951, 4.78",\
                 "1.421, 1.489, 1.65, 1.872, 2.154, 2.513, 2.969, 3.538, 4.232, 5.06",\
                 "1.721, 1.793, 1.962, 2.191, 2.478, 2.838, 3.293, 3.863, 4.557, 5.385",\
                 "2.058, 2.134, 2.313, 2.552, 2.847, 3.21, 3.666, 4.235, 4.929, 5.757",\
                 "2.432, 2.512, 2.702, 2.952, 3.257, 3.628, 4.087, 4.656, 5.349, 6.177");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.3321, 0.3807, 0.5156, 0.7436, 1.093, 1.584, 2.23, 3.04, 4.032, 5.215",\
                 "0.3474, 0.3961, 0.5308, 0.7589, 1.108, 1.599, 2.245, 3.055, 4.049, 5.229",\
                 "0.3993, 0.4479, 0.5826, 0.8104, 1.16, 1.65, 2.297, 3.107, 4.099, 5.283",\
                 "0.4924, 0.5416, 0.6759, 0.9025, 1.251, 1.741, 2.385, 3.2, 4.189, 5.376",\
                 "0.5749, 0.6281, 0.7678, 0.9952, 1.342, 1.831, 2.475, 3.289, 4.282, 5.466",\
                 "0.6357, 0.693, 0.8391, 1.069, 1.414, 1.901, 2.544, 3.357, 4.347, 5.527",\
                 "0.6709, 0.7332, 0.8873, 1.121, 1.466, 1.951, 2.592, 3.402, 4.395, 5.575",\
                 "0.6776, 0.7448, 0.9081, 1.149, 1.495, 1.979, 2.619, 3.428, 4.417, 5.598",\
                 "0.6523, 0.7245, 0.8976, 1.148, 1.497, 1.983, 2.622, 3.429, 4.418, 5.597",\
                 "0.5926, 0.6696, 0.8534, 1.113, 1.468, 1.957, 2.599, 3.406, 4.393, 5.572");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.1741, 0.2331, 0.3884, 0.6334, 1.002, 1.54, 2.279, 3.228, 4.395, 5.789",\
                 "0.174, 0.2329, 0.3871, 0.632, 1, 1.539, 2.278, 3.227, 4.399, 5.797",\
                 "0.1739, 0.2332, 0.387, 0.6328, 1, 1.539, 2.277, 3.229, 4.398, 5.795",\
                 "0.174, 0.2332, 0.3882, 0.6334, 1.001, 1.54, 2.279, 3.228, 4.394, 5.789",\
                 "0.1876, 0.2454, 0.3964, 0.639, 1.006, 1.541, 2.28, 3.23, 4.397, 5.794",\
                 "0.2122, 0.2708, 0.4216, 0.6608, 1.017, 1.548, 2.282, 3.23, 4.398, 5.793",\
                 "0.2362, 0.298, 0.4478, 0.6844, 1.036, 1.561, 2.287, 3.23, 4.395, 5.789",\
                 "0.266, 0.3318, 0.4822, 0.7138, 1.059, 1.574, 2.296, 3.236, 4.401, 5.791",\
                 "0.299, 0.3692, 0.5266, 0.7554, 1.091, 1.593, 2.307, 3.241, 4.401, 5.796",\
                 "0.336, 0.4082, 0.5754, 0.8064, 1.14, 1.632, 2.329, 3.253, 4.41, 5.794");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.1109, 0.1678, 0.3561, 0.7326, 1.346, 2.211, 3.346, 4.785, 6.536, 8.635",\
                 "0.111, 0.1684, 0.3562, 0.7327, 1.344, 2.212, 3.346, 4.783, 6.532, 8.629",\
                 "0.1105, 0.1686, 0.3563, 0.7323, 1.346, 2.211, 3.347, 4.786, 6.538, 8.62",\
                 "0.1196, 0.1744, 0.3594, 0.7348, 1.344, 2.207, 3.345, 4.781, 6.541, 8.62",\
                 "0.1412, 0.1958, 0.3766, 0.7388, 1.347, 2.211, 3.35, 4.782, 6.531, 8.62",\
                 "0.1636, 0.2182, 0.397, 0.7492, 1.348, 2.21, 3.348, 4.777, 6.535, 8.618",\
                 "0.1896, 0.2472, 0.4236, 0.7636, 1.353, 2.211, 3.346, 4.782, 6.526, 8.613",\
                 "0.2174, 0.278, 0.4558, 0.788, 1.364, 2.215, 3.347, 4.778, 6.534, 8.608",\
                 "0.2476, 0.3126, 0.492, 0.8186, 1.386, 2.23, 3.353, 4.779, 6.524, 8.622",\
                 "0.2794, 0.3482, 0.5292, 0.8552, 1.413, 2.252, 3.371, 4.788, 6.529, 8.607");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b1 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&!TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.5603, 0.6206, 0.7702, 0.9838, 1.26, 1.616, 2.072, 2.642, 3.337, 4.167",\
                 "0.5724, 0.6328, 0.7824, 0.996, 1.272, 1.628, 2.084, 2.654, 3.35, 4.179",\
                 "0.6265, 0.6868, 0.8362, 1.05, 1.326, 1.682, 2.138, 2.708, 3.404, 4.232",\
                 "0.7468, 0.8069, 0.9561, 1.169, 1.446, 1.802, 2.257, 2.827, 3.523, 4.352",\
                 "0.9356, 0.9966, 1.146, 1.359, 1.636, 1.991, 2.446, 3.016, 3.712, 4.541",\
                 "1.159, 1.224, 1.378, 1.597, 1.875, 2.232, 2.687, 3.256, 3.951, 4.78",\
                 "1.421, 1.489, 1.65, 1.872, 2.154, 2.513, 2.969, 3.538, 4.232, 5.06",\
                 "1.721, 1.793, 1.962, 2.191, 2.478, 2.838, 3.293, 3.863, 4.557, 5.385",\
                 "2.058, 2.134, 2.313, 2.552, 2.847, 3.21, 3.666, 4.235, 4.929, 5.756",\
                 "2.432, 2.512, 2.702, 2.952, 3.257, 3.628, 4.087, 4.656, 5.35, 6.176");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.3321, 0.3807, 0.5156, 0.7436, 1.093, 1.584, 2.23, 3.04, 4.032, 5.216",\
                 "0.3474, 0.3961, 0.5308, 0.7589, 1.108, 1.599, 2.245, 3.055, 4.049, 5.229",\
                 "0.3993, 0.4479, 0.5826, 0.8104, 1.16, 1.65, 2.297, 3.108, 4.099, 5.284",\
                 "0.4924, 0.5416, 0.6759, 0.9025, 1.251, 1.741, 2.385, 3.2, 4.189, 5.376",\
                 "0.5749, 0.6281, 0.7678, 0.9952, 1.342, 1.831, 2.475, 3.289, 4.282, 5.46",\
                 "0.6357, 0.693, 0.8391, 1.069, 1.414, 1.901, 2.544, 3.357, 4.346, 5.527",\
                 "0.671, 0.7333, 0.8874, 1.121, 1.466, 1.951, 2.592, 3.402, 4.395, 5.575",\
                 "0.6777, 0.7448, 0.9081, 1.149, 1.495, 1.979, 2.619, 3.428, 4.417, 5.597",\
                 "0.6521, 0.7245, 0.8976, 1.148, 1.497, 1.983, 2.622, 3.429, 4.418, 5.597",\
                 "0.5924, 0.6696, 0.8533, 1.113, 1.468, 1.957, 2.599, 3.407, 4.394, 5.572");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.1739, 0.2331, 0.3882, 0.6334, 1.002, 1.54, 2.279, 3.228, 4.395, 5.789",\
                 "0.1741, 0.2332, 0.3884, 0.6321, 1, 1.54, 2.279, 3.23, 4.399, 5.79",\
                 "0.1739, 0.2332, 0.387, 0.6328, 1, 1.539, 2.277, 3.229, 4.398, 5.795",\
                 "0.174, 0.2332, 0.3882, 0.6334, 1.001, 1.54, 2.279, 3.228, 4.394, 5.789",\
                 "0.1876, 0.2454, 0.3964, 0.639, 1.003, 1.541, 2.278, 3.23, 4.398, 5.793",\
                 "0.2116, 0.2714, 0.4216, 0.6606, 1.018, 1.548, 2.281, 3.23, 4.398, 5.796",\
                 "0.2364, 0.2982, 0.447, 0.6852, 1.038, 1.562, 2.289, 3.232, 4.397, 5.792",\
                 "0.2664, 0.3312, 0.4828, 0.7138, 1.059, 1.574, 2.296, 3.236, 4.401, 5.791",\
                 "0.299, 0.3692, 0.5266, 0.7554, 1.091, 1.593, 2.307, 3.241, 4.401, 5.796",\
                 "0.336, 0.4084, 0.5752, 0.8064, 1.141, 1.631, 2.329, 3.25, 4.409, 5.796");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.1107, 0.1679, 0.3561, 0.7325, 1.346, 2.211, 3.346, 4.785, 6.538, 8.62",\
                 "0.111, 0.1684, 0.3562, 0.7327, 1.345, 2.212, 3.346, 4.783, 6.532, 8.629",\
                 "0.1104, 0.1686, 0.3563, 0.7323, 1.346, 2.211, 3.347, 4.786, 6.538, 8.62",\
                 "0.1196, 0.1744, 0.3596, 0.7332, 1.344, 2.207, 3.345, 4.781, 6.541, 8.62",\
                 "0.1412, 0.1958, 0.3766, 0.7388, 1.347, 2.211, 3.35, 4.782, 6.53, 8.625",\
                 "0.1626, 0.2182, 0.397, 0.7492, 1.348, 2.21, 3.349, 4.777, 6.534, 8.617",\
                 "0.19, 0.2472, 0.4242, 0.7636, 1.353, 2.211, 3.347, 4.778, 6.525, 8.613",\
                 "0.2174, 0.278, 0.4558, 0.788, 1.364, 2.215, 3.348, 4.776, 6.532, 8.608",\
                 "0.2482, 0.3126, 0.492, 0.8186, 1.386, 2.23, 3.353, 4.779, 6.524, 8.622",\
                 "0.2794, 0.3472, 0.5288, 0.8552, 1.412, 2.252, 3.369, 4.789, 6.527, 8.607");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b1 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.5602, 0.6206, 0.7702, 0.9837, 1.26, 1.616, 2.072, 2.642, 3.337, 4.167",\
                 "0.5725, 0.6328, 0.7824, 0.996, 1.272, 1.629, 2.084, 2.654, 3.35, 4.179",\
                 "0.6265, 0.6867, 0.8364, 1.05, 1.326, 1.682, 2.138, 2.708, 3.404, 4.233",\
                 "0.7468, 0.8069, 0.9561, 1.169, 1.446, 1.802, 2.257, 2.827, 3.523, 4.352",\
                 "0.9357, 0.9969, 1.146, 1.359, 1.635, 1.991, 2.446, 3.016, 3.712, 4.54",\
                 "1.159, 1.224, 1.379, 1.597, 1.876, 2.232, 2.687, 3.256, 3.951, 4.779",\
                 "1.421, 1.489, 1.65, 1.872, 2.154, 2.513, 2.969, 3.538, 4.232, 5.06",\
                 "1.721, 1.793, 1.962, 2.191, 2.478, 2.838, 3.293, 3.863, 4.557, 5.385",\
                 "2.058, 2.135, 2.313, 2.552, 2.847, 3.21, 3.666, 4.235, 4.929, 5.757",\
                 "2.431, 2.512, 2.702, 2.952, 3.257, 3.628, 4.087, 4.656, 5.35, 6.177");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.3321, 0.3807, 0.5157, 0.7436, 1.093, 1.584, 2.23, 3.041, 4.032, 5.217",\
                 "0.3474, 0.3959, 0.5308, 0.7589, 1.108, 1.599, 2.245, 3.055, 4.048, 5.23",\
                 "0.3993, 0.4479, 0.5826, 0.8105, 1.16, 1.65, 2.296, 3.108, 4.099, 5.286",\
                 "0.4924, 0.5416, 0.6759, 0.9025, 1.251, 1.741, 2.385, 3.2, 4.189, 5.376",\
                 "0.5749, 0.6281, 0.7678, 0.9952, 1.342, 1.831, 2.475, 3.289, 4.282, 5.466",\
                 "0.6357, 0.693, 0.8391, 1.069, 1.414, 1.901, 2.544, 3.357, 4.346, 5.527",\
                 "0.6711, 0.7333, 0.8874, 1.121, 1.466, 1.951, 2.592, 3.402, 4.393, 5.575",\
                 "0.6776, 0.7448, 0.9081, 1.149, 1.495, 1.979, 2.619, 3.428, 4.417, 5.598",\
                 "0.6522, 0.7245, 0.8979, 1.148, 1.497, 1.983, 2.622, 3.429, 4.418, 5.597",\
                 "0.5926, 0.6696, 0.8534, 1.113, 1.468, 1.957, 2.599, 3.407, 4.394, 5.573");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.1741, 0.2332, 0.3885, 0.6325, 1.002, 1.539, 2.279, 3.228, 4.394, 5.79",\
                 "0.1739, 0.2329, 0.3876, 0.6319, 1, 1.539, 2.278, 3.227, 4.399, 5.796",\
                 "0.174, 0.2329, 0.388, 0.6328, 1.001, 1.539, 2.279, 3.228, 4.399, 5.792",\
                 "0.174, 0.2332, 0.3882, 0.6334, 1.001, 1.54, 2.279, 3.228, 4.394, 5.789",\
                 "0.1876, 0.2454, 0.3966, 0.6388, 1.005, 1.542, 2.278, 3.23, 4.395, 5.793",\
                 "0.2116, 0.271, 0.4204, 0.6612, 1.018, 1.547, 2.281, 3.23, 4.395, 5.79",\
                 "0.236, 0.298, 0.447, 0.6848, 1.038, 1.561, 2.289, 3.23, 4.396, 5.788",\
                 "0.2666, 0.3314, 0.4828, 0.7142, 1.059, 1.574, 2.296, 3.236, 4.401, 5.795",\
                 "0.2992, 0.3686, 0.5266, 0.755, 1.092, 1.593, 2.304, 3.241, 4.402, 5.796",\
                 "0.3348, 0.4082, 0.5754, 0.807, 1.141, 1.632, 2.329, 3.251, 4.411, 5.797");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.1111, 0.1678, 0.3561, 0.7325, 1.346, 2.211, 3.347, 4.786, 6.538, 8.619",\
                 "0.111, 0.1686, 0.3561, 0.7327, 1.345, 2.212, 3.346, 4.784, 6.534, 8.635",\
                 "0.1104, 0.1686, 0.3563, 0.7327, 1.347, 2.21, 3.347, 4.788, 6.542, 8.62",\
                 "0.1189, 0.1744, 0.3594, 0.7342, 1.344, 2.207, 3.345, 4.782, 6.541, 8.62",\
                 "0.141, 0.1958, 0.3766, 0.7388, 1.346, 2.211, 3.35, 4.782, 6.532, 8.62",\
                 "0.1628, 0.2186, 0.3972, 0.749, 1.349, 2.211, 3.347, 4.779, 6.534, 8.618",\
                 "0.19, 0.2472, 0.4236, 0.7654, 1.354, 2.213, 3.346, 4.78, 6.526, 8.613",\
                 "0.2174, 0.2788, 0.4558, 0.7884, 1.364, 2.216, 3.347, 4.777, 6.532, 8.608",\
                 "0.2478, 0.3126, 0.4906, 0.8186, 1.385, 2.229, 3.353, 4.78, 6.524, 8.622",\
                 "0.279, 0.3484, 0.5292, 0.8552, 1.413, 2.252, 3.371, 4.788, 6.527, 8.607");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.5602, 0.6206, 0.7702, 0.9837, 1.26, 1.616, 2.072, 2.642, 3.337, 4.167",\
                 "0.5725, 0.6328, 0.7824, 0.996, 1.272, 1.629, 2.084, 2.654, 3.35, 4.179",\
                 "0.6265, 0.6867, 0.8364, 1.05, 1.326, 1.682, 2.138, 2.708, 3.404, 4.233",\
                 "0.7468, 0.8069, 0.9561, 1.169, 1.446, 1.802, 2.257, 2.827, 3.523, 4.352",\
                 "0.9357, 0.9969, 1.146, 1.359, 1.635, 1.991, 2.446, 3.016, 3.712, 4.54",\
                 "1.159, 1.224, 1.379, 1.597, 1.876, 2.232, 2.687, 3.256, 3.951, 4.779",\
                 "1.421, 1.489, 1.65, 1.872, 2.154, 2.513, 2.969, 3.538, 4.232, 5.06",\
                 "1.721, 1.793, 1.962, 2.191, 2.478, 2.838, 3.293, 3.863, 4.557, 5.385",\
                 "2.058, 2.135, 2.313, 2.552, 2.847, 3.21, 3.666, 4.235, 4.929, 5.757",\
                 "2.431, 2.512, 2.702, 2.952, 3.257, 3.628, 4.087, 4.656, 5.35, 6.177");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.3321, 0.3807, 0.5156, 0.7436, 1.093, 1.584, 2.23, 3.04, 4.032, 5.215",\
                 "0.3474, 0.3961, 0.5308, 0.7589, 1.108, 1.599, 2.245, 3.055, 4.049, 5.229",\
                 "0.3993, 0.4479, 0.5826, 0.8104, 1.16, 1.65, 2.297, 3.107, 4.099, 5.283",\
                 "0.4924, 0.5416, 0.6759, 0.9025, 1.251, 1.741, 2.385, 3.2, 4.189, 5.376",\
                 "0.5749, 0.6281, 0.7678, 0.9952, 1.342, 1.831, 2.475, 3.289, 4.282, 5.466",\
                 "0.6357, 0.693, 0.8391, 1.069, 1.414, 1.901, 2.544, 3.357, 4.347, 5.527",\
                 "0.6709, 0.7332, 0.8873, 1.121, 1.466, 1.951, 2.592, 3.402, 4.395, 5.575",\
                 "0.6776, 0.7448, 0.9081, 1.149, 1.495, 1.979, 2.619, 3.428, 4.417, 5.598",\
                 "0.6523, 0.7245, 0.8976, 1.148, 1.497, 1.983, 2.622, 3.429, 4.418, 5.597",\
                 "0.5926, 0.6696, 0.8534, 1.113, 1.468, 1.957, 2.599, 3.406, 4.393, 5.572");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.1741, 0.2332, 0.3885, 0.6325, 1.002, 1.539, 2.279, 3.228, 4.394, 5.79",\
                 "0.1739, 0.2329, 0.3876, 0.6319, 1, 1.539, 2.278, 3.227, 4.399, 5.796",\
                 "0.174, 0.2329, 0.388, 0.6328, 1.001, 1.539, 2.279, 3.228, 4.399, 5.792",\
                 "0.174, 0.2332, 0.3882, 0.6334, 1.001, 1.54, 2.279, 3.228, 4.394, 5.789",\
                 "0.1876, 0.2454, 0.3966, 0.6388, 1.005, 1.542, 2.278, 3.23, 4.395, 5.793",\
                 "0.2116, 0.271, 0.4204, 0.6612, 1.018, 1.547, 2.281, 3.23, 4.395, 5.79",\
                 "0.236, 0.298, 0.447, 0.6848, 1.038, 1.561, 2.289, 3.23, 4.396, 5.788",\
                 "0.2666, 0.3314, 0.4828, 0.7142, 1.059, 1.574, 2.296, 3.236, 4.401, 5.795",\
                 "0.2992, 0.3686, 0.5266, 0.755, 1.092, 1.593, 2.304, 3.241, 4.402, 5.796",\
                 "0.3348, 0.4082, 0.5754, 0.807, 1.141, 1.632, 2.329, 3.251, 4.411, 5.797");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.1109, 0.1678, 0.3561, 0.7326, 1.346, 2.211, 3.346, 4.785, 6.536, 8.635",\
                 "0.111, 0.1684, 0.3562, 0.7327, 1.344, 2.212, 3.346, 4.783, 6.532, 8.629",\
                 "0.1105, 0.1686, 0.3563, 0.7323, 1.346, 2.211, 3.347, 4.786, 6.538, 8.62",\
                 "0.1196, 0.1744, 0.3594, 0.7348, 1.344, 2.207, 3.345, 4.781, 6.541, 8.62",\
                 "0.1412, 0.1958, 0.3766, 0.7388, 1.347, 2.211, 3.35, 4.782, 6.531, 8.62",\
                 "0.1636, 0.2182, 0.397, 0.7492, 1.348, 2.21, 3.348, 4.777, 6.535, 8.618",\
                 "0.1896, 0.2472, 0.4236, 0.7636, 1.353, 2.211, 3.346, 4.782, 6.526, 8.613",\
                 "0.2174, 0.278, 0.4558, 0.788, 1.364, 2.215, 3.347, 4.778, 6.534, 8.608",\
                 "0.2476, 0.3126, 0.492, 0.8186, 1.386, 2.23, 3.353, 4.779, 6.524, 8.622",\
                 "0.2794, 0.3482, 0.5292, 0.8552, 1.413, 2.252, 3.371, 4.788, 6.529, 8.607");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        sdf_cond : "E===1'b0 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational_rise ;
        when : "!E&!TE" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.3322, 0.3808, 0.5156, 0.7436, 1.094, 1.584, 2.228, 3.039, 4.031, 5.212",\
                 "0.3473, 0.396, 0.5309, 0.7589, 1.109, 1.599, 2.243, 3.054, 4.046, 5.227",\
                 "0.3993, 0.4478, 0.5825, 0.8105, 1.16, 1.65, 2.294, 3.106, 4.098, 5.278",\
                 "0.4923, 0.5416, 0.6758, 0.9025, 1.252, 1.741, 2.385, 3.196, 4.188, 5.369",\
                 "0.5749, 0.6279, 0.7677, 0.9952, 1.343, 1.831, 2.474, 3.285, 4.276, 5.458",\
                 "0.6358, 0.693, 0.8391, 1.069, 1.415, 1.901, 2.543, 3.354, 4.344, 5.526",\
                 "0.671, 0.7332, 0.8875, 1.121, 1.467, 1.952, 2.592, 3.402, 4.392, 5.572",\
                 "0.6776, 0.7448, 0.9081, 1.149, 1.497, 1.979, 2.618, 3.427, 4.415, 5.595",\
                 "0.6522, 0.7244, 0.8977, 1.148, 1.498, 1.979, 2.615, 3.423, 4.411, 5.589",\
                 "0.5929, 0.6697, 0.8532, 1.113, 1.469, 1.947, 2.582, 3.387, 4.373, 5.552");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04585, 0.1125, 0.2163, 0.362, 0.5538, 0.7953, 1.09, 1.442");
          values("0.111, 0.1686, 0.3563, 0.7323, 1.345, 2.205, 3.339, 4.769, 6.519, 8.6",\
                 "0.1104, 0.1684, 0.3562, 0.7325, 1.345, 2.206, 3.341, 4.778, 6.518, 8.601",\
                 "0.1109, 0.1677, 0.3564, 0.7323, 1.345, 2.205, 3.34, 4.77, 6.517, 8.602",\
                 "0.119, 0.1744, 0.3596, 0.733, 1.345, 2.205, 3.34, 4.77, 6.518, 8.6",\
                 "0.1404, 0.1962, 0.3768, 0.7392, 1.346, 2.205, 3.337, 4.768, 6.516, 8.607",\
                 "0.163, 0.2192, 0.3974, 0.749, 1.348, 2.203, 3.338, 4.778, 6.52, 8.607",\
                 "0.19, 0.248, 0.4238, 0.7642, 1.353, 2.206, 3.338, 4.778, 6.518, 8.606",\
                 "0.2176, 0.2784, 0.4552, 0.789, 1.364, 2.209, 3.339, 4.77, 6.516, 8.604",\
                 "0.2474, 0.3126, 0.4916, 0.8198, 1.378, 2.211, 3.34, 4.771, 6.518, 8.617",\
                 "0.279, 0.3472, 0.5296, 0.8554, 1.397, 2.213, 3.339, 4.771, 6.517, 8.597");
        }
      }
    }

    pin(TE) {
      capacitance : 0.00314 ;
      clock_gate_test_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLKN&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.022, 0.02201, 0.02196, 0.02194, 0.02196, 0.02198, 0.02199, 0.02197, \
                 0.02197, 0.02198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01055, -0.01084, -0.01128, -0.01157, -0.01172, -0.01185, -0.01191, \
                 -0.01195, -0.01198, -0.01199");
        }
      }

      internal_power() {
        when : "!CLKN&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0123, 0.01226, 0.01228, 0.01228, 0.01232, 0.01228, 0.0123, 0.0123, \
                 0.0123, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01148, -0.01159, -0.01178, -0.0119, -0.01201, -0.01206, -0.01209, \
                 -0.0121, -0.01211, -0.01212");
        }
      }

      internal_power() {
        when : "CLKN&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1795, 0.179, 0.1784, 0.179, 0.1849, 0.1984, 0.2212, 0.2527, \
                 0.2922, 0.3397");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1224, 0.1216, 0.1208, 0.1218, 0.1274, 0.1393, 0.158, 0.184, \
                 0.2175, 0.2586");
        }
      }

      internal_power() {
        when : "CLKN&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01228, 0.01226, 0.01228, 0.01228, 0.01228, 0.01228, 0.01229, \
                 0.01229, 0.01229, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01082, -0.01149, -0.01179, -0.01192, -0.01198, -0.01206, -0.01206, \
                 -0.01209, -0.01211, -0.01212");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.698, -0.683, -0.626, -0.565, -0.496, -0.424, -0.339, -0.247, -0.132, -0.008",\
                 "-0.712, -0.692, -0.64, -0.573, -0.509, -0.437, -0.356, -0.259, -0.144, -0.022",\
                 "-0.747, -0.728, -0.677, -0.61, -0.539, -0.47, -0.386, -0.292, -0.184, -0.054",\
                 "-0.798, -0.777, -0.728, -0.658, -0.596, -0.518, -0.433, -0.339, -0.23, -0.103",\
                 "-0.888, -0.873, -0.816, -0.754, -0.686, -0.609, -0.527, -0.424, -0.315, -0.18",\
                 "-1.032, -1.02, -0.966, -0.901, -0.827, -0.756, -0.672, -0.567, -0.452, -0.323",\
                 "-1.238, -1.221, -1.163, -1.104, -1.034, -0.958, -0.88, -0.774, -0.665, -0.531",\
                 "-1.476, -1.461, -1.411, -1.351, -1.286, -1.21, -1.139, -1.047, -0.935, -0.805",\
                 "-1.755, -1.735, -1.686, -1.631, -1.568, -1.502, -1.433, -1.347, -1.245, -1.127",\
                 "-2.063, -2.048, -1.994, -1.938, -1.886, -1.823, -1.759, -1.676, -1.584, -1.478");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.137, -0.122, -0.052, 0.053, 0.174, 0.307, 0.462, 0.62, 0.799, 0.991",\
                 "-0.152, -0.128, -0.06, 0.044, 0.162, 0.3, 0.45, 0.607, 0.787, 0.984",\
                 "-0.178, -0.16, -0.086, 0.016, 0.139, 0.271, 0.42, 0.584, 0.768, 0.96",\
                 "-0.226, -0.209, -0.143, -0.03, 0.095, 0.235, 0.386, 0.556, 0.74, 0.937",\
                 "-0.278, -0.255, -0.19, -0.073, 0.054, 0.206, 0.359, 0.531, 0.717, 0.922",\
                 "-0.307, -0.289, -0.213, -0.103, 0.031, 0.184, 0.352, 0.528, 0.716, 0.925",\
                 "-0.31, -0.287, -0.211, -0.095, 0.041, 0.194, 0.363, 0.544, 0.742, 0.954",\
                 "-0.284, -0.267, -0.186, -0.061, 0.077, 0.239, 0.413, 0.601, 0.8, 1.014",\
                 "-0.226, -0.21, -0.123, 0.003, 0.154, 0.316, 0.499, 0.692, 0.902, 1.116",\
                 "-0.137, -0.12, -0.037, 0.098, 0.251, 0.427, 0.617, 0.821, 1.037, 1.259");
        }
      }

      timing() {
        related_pin : "CLKN" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.716, 0.696, 0.643, 0.574, 0.504, 0.435, 0.347, 0.253, 0.148, 0.019",\
                 "0.726, 0.707, 0.658, 0.592, 0.517, 0.442, 0.364, 0.265, 0.152, 0.027",\
                 "0.758, 0.746, 0.693, 0.622, 0.557, 0.476, 0.395, 0.298, 0.192, 0.06",\
                 "0.817, 0.797, 0.741, 0.674, 0.602, 0.533, 0.444, 0.346, 0.239, 0.11",\
                 "0.903, 0.888, 0.835, 0.766, 0.693, 0.618, 0.533, 0.432, 0.324, 0.187",\
                 "1.05, 1.037, 0.979, 0.915, 0.845, 0.766, 0.679, 0.575, 0.462, 0.33",\
                 "1.255, 1.238, 1.181, 1.115, 1.046, 0.972, 0.888, 0.794, 0.67, 0.545",\
                 "1.5, 1.485, 1.43, 1.365, 1.293, 1.227, 1.149, 1.053, 0.942, 0.821",\
                 "1.778, 1.767, 1.711, 1.649, 1.578, 1.513, 1.439, 1.353, 1.252, 1.136",\
                 "2.09, 2.075, 2.021, 1.961, 1.899, 1.836, 1.767, 1.693, 1.602, 1.489");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.819, 0.805, 0.777, 0.756, 0.72, 0.666, 0.567, 0.442, 0.283, 0.082",\
                 "0.828, 0.818, 0.794, 0.765, 0.718, 0.678, 0.578, 0.444, 0.288, 0.095",\
                 "0.855, 0.846, 0.819, 0.79, 0.749, 0.7, 0.604, 0.473, 0.316, 0.114",\
                 "0.899, 0.893, 0.868, 0.835, 0.792, 0.753, 0.644, 0.52, 0.361, 0.166",\
                 "0.948, 0.942, 0.913, 0.882, 0.841, 0.802, 0.699, 0.573, 0.409, 0.211",\
                 "0.981, 0.978, 0.947, 0.915, 0.88, 0.831, 0.733, 0.601, 0.447, 0.246",\
                 "1.002, 0.99, 0.964, 0.935, 0.891, 0.844, 0.743, 0.618, 0.452, 0.26",\
                 "0.992, 0.983, 0.957, 0.924, 0.879, 0.84, 0.739, 0.601, 0.442, 0.231",\
                 "0.95, 0.94, 0.917, 0.88, 0.849, 0.795, 0.694, 0.557, 0.396, 0.199",\
                 "0.887, 0.88, 0.852, 0.82, 0.779, 0.731, 0.625, 0.488, 0.323, 0.118");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__icgtp_1) {
    area : 61.465600 ;
    clock_gating_integrated_cell : "latch_posedge_precontrol" ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!E&!TE" ;
      value : "0.0001266969" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!E&TE" ;
      value : "0.0001308945" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&E&!TE" ;
      value : "0.0001166583" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&E&TE" ;
      value : "0.0001166583" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!E&!TE" ;
      value : "0.0002059266" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!E&TE" ;
      value : "0.0001961817" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&E&!TE" ;
      value : "0.0001914693" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&E&TE" ;
      value : "0.0001914693" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002059266" ;
    }

    statetable("CLK E TE", "IQ2 IQN2") {
      table : "L L L : - - : L H, \
              L H - : - - : H L, \
              L - H : - - : H L, \
              H - - : - - : N N" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.006772 ;
      clock : true ;
      clock_gate_clock_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.919 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1147, 0.1142, 0.1152, 0.1219, 0.1347, 0.1547, 0.1826, 0.2184, \
                 0.2628, 0.316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05706, 0.05666, 0.05727, 0.06262, 0.07364, 0.09125, 0.1158, \
                 0.1477, 0.187, 0.2344");
        }
      }

      internal_power() {
        when : "!E&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2294, 0.229, 0.23, 0.2371, 0.2511, 0.2728, 0.3029, 0.3435, 0.3973, \
                 0.4649");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "E&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.219, 0.2185, 0.2195, 0.2267, 0.2406, 0.2623, 0.2925, 0.3336, \
                 0.388, 0.4561");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "E&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2188, 0.2183, 0.2193, 0.2264, 0.2405, 0.2624, 0.2928, 0.3347, \
                 0.3898, 0.4586");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&!TE" ;

        fall_constraint(scalar) {
          values("0.713");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&TE" ;

        fall_constraint(scalar) {
          values("0.919");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&!TE" ;

        fall_constraint(scalar) {
          values("0.86");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&TE" ;

        fall_constraint(scalar) {
          values("0.801");
        }
      }
    }

    pin(E) {
      capacitance : 0.003296 ;
      clock_gate_enable_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1192, 0.1209, 0.1279, 0.1411, 0.1611, 0.1878, \
                 0.221, 0.261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09913, 0.09893, 0.09836, 0.09972, 0.1051, 0.1157, 0.1319, 0.154, \
                 0.1821, 0.2166");
        }
      }

      internal_power() {
        when : "!CLK&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008215, 0.008195, 0.008203, 0.008225, 0.008201, 0.008215, 0.008203, \
                 0.008175, 0.008148, 0.00811");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004507, -0.004499, -0.004514, -0.004523, -0.004529, -0.004554, \
                 -0.004554, -0.004564, -0.004575, -0.004592");
        }
      }

      internal_power() {
        when : "CLK&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01354, 0.01355, 0.01354, 0.01353, 0.01353, 0.01356, 0.01354, \
                 0.01355, 0.01355, 0.01355");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01194, -0.01194, -0.01195, -0.01204, -0.01208, -0.01213, -0.01216, \
                 -0.01216, -0.01217, -0.01218");
        }
      }

      internal_power() {
        when : "CLK&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005985, 0.005981, 0.00599, 0.006006, 0.006009, 0.006017, 0.006024, \
                 0.006021, 0.006021, 0.00602");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005452, -0.005452, -0.005446, -0.005451, -0.005455, -0.005463, \
                 -0.005468, -0.005467, -0.005464, -0.005462");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : hold_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.378, -0.368, -0.32, -0.247, -0.191, -0.136, -0.103, -0.1, -0.116, -0.154",\
                 "-0.384, -0.374, -0.326, -0.254, -0.201, -0.148, -0.116, -0.11, -0.12, -0.163",\
                 "-0.42, -0.408, -0.362, -0.291, -0.235, -0.182, -0.151, -0.143, -0.159, -0.199",\
                 "-0.489, -0.479, -0.433, -0.359, -0.306, -0.255, -0.214, -0.212, -0.221, -0.26",\
                 "-0.613, -0.602, -0.556, -0.49, -0.43, -0.381, -0.344, -0.328, -0.343, -0.377",\
                 "-0.796, -0.784, -0.736, -0.674, -0.608, -0.556, -0.517, -0.499, -0.51, -0.543",\
                 "-1.018, -1.016, -0.963, -0.895, -0.839, -0.783, -0.743, -0.725, -0.73, -0.752",\
                 "-1.293, -1.282, -1.237, -1.171, -1.108, -1.05, -1.012, -0.984, -0.989, -1.012",\
                 "-1.603, -1.591, -1.554, -1.482, -1.417, -1.361, -1.315, -1.293, -1.292, -1.307",\
                 "-1.949, -1.944, -1.903, -1.832, -1.767, -1.713, -1.667, -1.636, -1.629, -1.647");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.258, -0.245, -0.213, -0.192, -0.198, -0.217, -0.255, -0.318, -0.395, -0.498",\
                 "-0.268, -0.255, -0.225, -0.206, -0.208, -0.23, -0.27, -0.331, -0.409, -0.509",\
                 "-0.296, -0.284, -0.252, -0.233, -0.235, -0.253, -0.286, -0.348, -0.424, -0.526",\
                 "-0.335, -0.324, -0.294, -0.268, -0.264, -0.277, -0.314, -0.366, -0.44, -0.54",\
                 "-0.375, -0.363, -0.321, -0.295, -0.282, -0.294, -0.327, -0.38, -0.447, -0.549",\
                 "-0.399, -0.383, -0.341, -0.307, -0.293, -0.302, -0.328, -0.382, -0.452, -0.55",\
                 "-0.386, -0.373, -0.329, -0.295, -0.279, -0.291, -0.315, -0.364, -0.44, -0.538",\
                 "-0.349, -0.339, -0.292, -0.255, -0.234, -0.242, -0.27, -0.326, -0.402, -0.501",\
                 "-0.274, -0.258, -0.214, -0.172, -0.158, -0.166, -0.198, -0.253, -0.327, -0.434",\
                 "-0.158, -0.146, -0.106, -0.064, -0.046, -0.051, -0.09, -0.144, -0.224, -0.327");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : setup_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.447, 0.436, 0.385, 0.311, 0.243, 0.194, 0.162, 0.159, 0.18, 0.227",\
                 "0.459, 0.444, 0.391, 0.322, 0.255, 0.201, 0.176, 0.163, 0.192, 0.237",\
                 "0.49, 0.479, 0.425, 0.35, 0.288, 0.234, 0.205, 0.199, 0.225, 0.269",\
                 "0.562, 0.556, 0.497, 0.422, 0.36, 0.307, 0.274, 0.273, 0.291, 0.333",\
                 "0.695, 0.68, 0.635, 0.554, 0.492, 0.443, 0.408, 0.395, 0.419, 0.461",\
                 "0.883, 0.872, 0.819, 0.739, 0.679, 0.621, 0.591, 0.575, 0.593, 0.634",\
                 "1.128, 1.11, 1.063, 0.985, 0.914, 0.857, 0.824, 0.813, 0.818, 0.859",\
                 "1.411, 1.401, 1.342, 1.258, 1.19, 1.134, 1.1, 1.082, 1.097, 1.14",\
                 "1.738, 1.726, 1.669, 1.587, 1.512, 1.455, 1.415, 1.401, 1.416, 1.451",\
                 "2.111, 2.101, 2.043, 1.95, 1.875, 1.817, 1.781, 1.764, 1.782, 1.817");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.693, 0.682, 0.643, 0.665, 0.705, 0.792, 0.896, 1.003, 1.143, 1.295",\
                 "0.705, 0.699, 0.652, 0.669, 0.718, 0.802, 0.904, 1.017, 1.163, 1.306",\
                 "0.737, 0.722, 0.685, 0.692, 0.749, 0.834, 0.93, 1.044, 1.184, 1.336",\
                 "0.78, 0.768, 0.723, 0.743, 0.792, 0.87, 0.973, 1.081, 1.226, 1.369",\
                 "0.822, 0.811, 0.765, 0.776, 0.828, 0.916, 1.008, 1.114, 1.251, 1.396",\
                 "0.837, 0.825, 0.781, 0.798, 0.854, 0.928, 1.022, 1.131, 1.269, 1.404",\
                 "0.833, 0.818, 0.782, 0.795, 0.84, 0.925, 1.017, 1.116, 1.255, 1.402",\
                 "0.797, 0.78, 0.74, 0.75, 0.805, 0.882, 0.973, 1.076, 1.212, 1.348",\
                 "0.719, 0.707, 0.66, 0.679, 0.717, 0.8, 0.889, 0.996, 1.128, 1.271",\
                 "0.601, 0.597, 0.547, 0.557, 0.606, 0.692, 0.775, 0.879, 1.017, 1.152");
        }
      }
    }

    pin(IQ2) {
      direction : internal ;
      internal_node : IQ2 ;
      inverted_output : false ;
    }

    pin(IQN2) {
      direction : internal ;
      internal_node : IQN2 ;
      inverted_output : true ;
    }

    pin(Q) {
      clock_gate_out_pin : true ;
      direction : output ;
      max_capacitance : 0.3597 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      state_function : "(CLK&IQ2)" ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1676, 0.1677, 0.168, 0.1682, 0.1683, 0.1684, 0.1685, 0.1685, 0.1685, 0.1685",\
                 "0.1674, 0.1675, 0.1678, 0.168, 0.1682, 0.1682, 0.1683, 0.1683, 0.1683, 0.1683",\
                 "0.1684, 0.1683, 0.1686, 0.1688, 0.169, 0.1691, 0.1691, 0.1691, 0.1692, 0.1692",\
                 "0.1747, 0.1742, 0.1737, 0.1735, 0.1735, 0.1737, 0.1737, 0.1737, 0.1737, 0.1737",\
                 "0.1873, 0.1863, 0.1848, 0.184, 0.1838, 0.1837, 0.1836, 0.1836, 0.1836, 0.1836",\
                 "0.2067, 0.2051, 0.2026, 0.2009, 0.2, 0.1997, 0.1995, 0.1994, 0.1993, 0.1993",\
                 "0.2334, 0.2312, 0.2275, 0.2248, 0.2233, 0.2225, 0.2221, 0.2218, 0.2216, 0.2215",\
                 "0.2675, 0.2646, 0.2598, 0.2559, 0.2537, 0.2523, 0.2515, 0.2511, 0.2508, 0.2506",\
                 "0.305, 0.3017, 0.2956, 0.2908, 0.2875, 0.2855, 0.2842, 0.2835, 0.2828, 0.2825",\
                 "0.3455, 0.3416, 0.3342, 0.3279, 0.3236, 0.3207, 0.3191, 0.318, 0.3172, 0.3167");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1676, 0.1677, 0.168, 0.1682, 0.1683, 0.1684, 0.1685, 0.1685, 0.1685, 0.1685",\
                 "0.1674, 0.1675, 0.1678, 0.168, 0.1682, 0.1682, 0.1683, 0.1683, 0.1683, 0.1683",\
                 "0.1684, 0.1683, 0.1686, 0.1688, 0.169, 0.1691, 0.1691, 0.1691, 0.1692, 0.1692",\
                 "0.1747, 0.1742, 0.1737, 0.1735, 0.1735, 0.1737, 0.1737, 0.1737, 0.1737, 0.1737",\
                 "0.1873, 0.1863, 0.1848, 0.184, 0.1838, 0.1837, 0.1836, 0.1836, 0.1836, 0.1836",\
                 "0.2067, 0.2051, 0.2026, 0.2009, 0.2, 0.1997, 0.1995, 0.1994, 0.1993, 0.1993",\
                 "0.2334, 0.2312, 0.2275, 0.2248, 0.2233, 0.2225, 0.2221, 0.2218, 0.2216, 0.2215",\
                 "0.2675, 0.2646, 0.2598, 0.2559, 0.2537, 0.2523, 0.2515, 0.2511, 0.2508, 0.2506",\
                 "0.305, 0.3017, 0.2956, 0.2908, 0.2875, 0.2855, 0.2842, 0.2835, 0.2828, 0.2825",\
                 "0.3455, 0.3416, 0.3342, 0.3279, 0.3236, 0.3207, 0.3191, 0.318, 0.3172, 0.3167");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "!E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("-0.05249, -0.05239, -0.05214, -0.05197, -0.0518, -0.05171, -0.05165, -0.05162, -0.05159, -0.05158",\
                 "-0.05291, -0.05283, -0.05251, -0.05232, -0.05214, -0.05204, -0.05198, -0.05195, -0.05192, -0.0519",\
                 "-0.05179, -0.05188, -0.05171, -0.05147, -0.05129, -0.05117, -0.05113, -0.05109, -0.05104, -0.05101",\
                 "-0.04575, -0.04625, -0.04682, -0.047, -0.04694, -0.04683, -0.04678, -0.04675, -0.04673, -0.04674",\
                 "-0.03413, -0.03515, -0.03664, -0.03744, -0.03771, -0.03779, -0.03782, -0.03784, -0.03784, -0.03783",\
                 "-0.01624, -0.01784, -0.02045, -0.02204, -0.02286, -0.02325, -0.02344, -0.0235, -0.02355, -0.02364",\
                 "0.008234, 0.005938, 0.002288, -0.0004381, -0.001989, -0.002765, -0.003207, -0.003467, -0.003616, -0.003708",\
                 "0.03744, 0.03457, 0.02975, 0.02589, 0.02351, 0.02219, 0.02153, 0.02107, 0.02074, 0.02054",\
                 "0.06948, 0.06615, 0.06004, 0.05516, 0.05186, 0.04978, 0.04859, 0.04787, 0.04734, 0.04694",\
                 "0.1047, 0.1008, 0.09334, 0.0872, 0.08275, 0.07991, 0.07819, 0.07701, 0.07635, 0.07585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1136, 0.1131, 0.1127, 0.1129, 0.1132, 0.1138, 0.1142, 0.1149, 0.1157, 0.1192",\
                 "0.1125, 0.112, 0.1117, 0.1119, 0.1123, 0.1128, 0.1134, 0.1139, 0.1147, 0.1181",\
                 "0.1138, 0.1131, 0.1127, 0.1128, 0.1131, 0.1137, 0.1142, 0.1148, 0.1156, 0.1196",\
                 "0.1247, 0.1239, 0.1227, 0.1223, 0.1225, 0.1228, 0.1235, 0.124, 0.1246, 0.1285",\
                 "0.1467, 0.1453, 0.1434, 0.1428, 0.1423, 0.1425, 0.143, 0.1435, 0.1444, 0.1488",\
                 "0.1813, 0.1797, 0.177, 0.1752, 0.175, 0.1747, 0.1746, 0.1753, 0.1761, 0.1813",\
                 "0.2294, 0.2274, 0.2239, 0.2212, 0.22, 0.2201, 0.2199, 0.2197, 0.2204, 0.2275",\
                 "0.2915, 0.2891, 0.2847, 0.2812, 0.2788, 0.278, 0.2788, 0.2787, 0.2791, 0.2874",\
                 "0.3682, 0.3653, 0.3601, 0.3554, 0.3525, 0.3506, 0.3503, 0.3516, 0.3526, 0.3645",\
                 "0.4599, 0.4565, 0.4504, 0.4451, 0.4408, 0.4387, 0.4364, 0.4372, 0.4404, 0.4602");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("-0.04202, -0.04193, -0.04168, -0.04151, -0.04134, -0.04129, -0.04119, -0.04116, -0.04113, -0.04111",\
                 "-0.04238, -0.0423, -0.04198, -0.04179, -0.04161, -0.04152, -0.04145, -0.04142, -0.0414, -0.04138",\
                 "-0.04125, -0.04134, -0.04116, -0.04093, -0.04074, -0.04063, -0.04059, -0.04054, -0.04049, -0.04047",\
                 "-0.03529, -0.03577, -0.03634, -0.03654, -0.03647, -0.03635, -0.03631, -0.03627, -0.03627, -0.03626",\
                 "-0.02359, -0.02462, -0.02609, -0.0269, -0.02718, -0.02727, -0.02725, -0.02727, -0.02727, -0.02728",\
                 "-0.005592, -0.007182, -0.009822, -0.01144, -0.0123, -0.01266, -0.01283, -0.0129, -0.01296, -0.01305",\
                 "0.01862, 0.0164, 0.01275, 0.01002, 0.00847, 0.00774, 0.007255, 0.006995, 0.006846, 0.006754",\
                 "0.04747, 0.04453, 0.03971, 0.03595, 0.03351, 0.03219, 0.03146, 0.03097, 0.03067, 0.03054",\
                 "0.07889, 0.07555, 0.06935, 0.06456, 0.06126, 0.05922, 0.058, 0.05724, 0.05674, 0.05635",\
                 "0.1135, 0.1097, 0.1022, 0.09608, 0.09162, 0.08875, 0.087, 0.08585, 0.08509, 0.08466");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1135, 0.113, 0.1126, 0.1128, 0.1132, 0.1137, 0.1141, 0.1148, 0.1156, 0.1192",\
                 "0.1125, 0.1119, 0.1116, 0.1118, 0.1123, 0.1128, 0.1134, 0.1138, 0.1146, 0.1184",\
                 "0.1137, 0.113, 0.1126, 0.1127, 0.113, 0.1136, 0.1141, 0.1147, 0.1155, 0.1193",\
                 "0.1246, 0.1237, 0.1226, 0.1222, 0.1224, 0.1227, 0.1234, 0.124, 0.1245, 0.1285",\
                 "0.1465, 0.1452, 0.1434, 0.1427, 0.1423, 0.1425, 0.1429, 0.1434, 0.1443, 0.1488",\
                 "0.1812, 0.1796, 0.1769, 0.1751, 0.1748, 0.1746, 0.1746, 0.1751, 0.1759, 0.181",\
                 "0.2293, 0.2273, 0.2239, 0.2211, 0.2199, 0.22, 0.2198, 0.2197, 0.2204, 0.2275",\
                 "0.2914, 0.289, 0.2846, 0.281, 0.2785, 0.2779, 0.2788, 0.2786, 0.2794, 0.2871",\
                 "0.3681, 0.3651, 0.36, 0.3555, 0.3523, 0.3504, 0.3502, 0.3515, 0.3519, 0.3648",\
                 "0.4598, 0.4563, 0.4502, 0.4449, 0.4408, 0.4386, 0.4369, 0.4373, 0.4407, 0.4603");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("-0.04187, -0.04179, -0.04146, -0.04131, -0.04113, -0.04105, -0.04098, -0.04093, -0.04093, -0.04092",\
                 "-0.04216, -0.0421, -0.04177, -0.04159, -0.04138, -0.04131, -0.04125, -0.04122, -0.04119, -0.04117",\
                 "-0.04106, -0.04115, -0.04097, -0.04074, -0.04055, -0.04044, -0.0404, -0.04035, -0.0403, -0.04028",\
                 "-0.03504, -0.03552, -0.0361, -0.03627, -0.03617, -0.03611, -0.03607, -0.03607, -0.03605, -0.03603",\
                 "-0.02351, -0.02453, -0.026, -0.02681, -0.02708, -0.02715, -0.0272, -0.0272, -0.02719, -0.02719",\
                 "-0.005785, -0.007428, -0.01003, -0.01157, -0.01249, -0.01286, -0.01301, -0.01311, -0.01316, -0.0132",\
                 "0.01827, 0.01602, 0.01242, 0.009686, 0.008148, 0.007379, 0.00694, 0.006676, 0.006521, 0.006429",\
                 "0.04639, 0.04348, 0.03867, 0.03487, 0.03246, 0.03114, 0.03038, 0.02995, 0.02962, 0.02943",\
                 "0.07701, 0.07368, 0.06757, 0.06266, 0.05939, 0.05734, 0.05616, 0.05536, 0.05487, 0.05451",\
                 "0.111, 0.107, 0.09975, 0.09351, 0.08922, 0.08635, 0.08457, 0.08338, 0.08266, 0.08209");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1135, 0.113, 0.1127, 0.1128, 0.1132, 0.1137, 0.1141, 0.1148, 0.1156, 0.1192",\
                 "0.1125, 0.1119, 0.1116, 0.1118, 0.1122, 0.1126, 0.1133, 0.114, 0.1147, 0.1184",\
                 "0.1136, 0.1131, 0.1126, 0.1127, 0.113, 0.1136, 0.1142, 0.1146, 0.1157, 0.1186",\
                 "0.1246, 0.1237, 0.1226, 0.1222, 0.1224, 0.1227, 0.1233, 0.124, 0.1245, 0.1292",\
                 "0.1465, 0.1452, 0.1433, 0.1427, 0.1422, 0.1425, 0.143, 0.1438, 0.1443, 0.1485",\
                 "0.1812, 0.1796, 0.1769, 0.175, 0.1748, 0.1746, 0.1746, 0.1751, 0.1759, 0.181",\
                 "0.2293, 0.2272, 0.2239, 0.221, 0.2198, 0.22, 0.2198, 0.2196, 0.2204, 0.2275",\
                 "0.2914, 0.289, 0.2846, 0.281, 0.2785, 0.2779, 0.2788, 0.2786, 0.2794, 0.2871",\
                 "0.3681, 0.3652, 0.3599, 0.3552, 0.3523, 0.3505, 0.35, 0.3517, 0.3519, 0.3645",\
                 "0.4598, 0.4564, 0.4502, 0.445, 0.4407, 0.4386, 0.4363, 0.4372, 0.4407, 0.4604");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b0 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.2273, 0.2607, 0.357, 0.5188, 0.7636, 1.106, 1.556, 2.124, 2.817, 3.643",\
                 "0.2445, 0.278, 0.3743, 0.5361, 0.7808, 1.123, 1.573, 2.141, 2.834, 3.66",\
                 "0.3091, 0.3425, 0.4387, 0.6007, 0.8455, 1.188, 1.638, 2.205, 2.899, 3.725",\
                 "0.4096, 0.445, 0.5446, 0.7077, 0.9522, 1.294, 1.744, 2.312, 3.005, 3.831",\
                 "0.5239, 0.5616, 0.6667, 0.8329, 1.078, 1.42, 1.87, 2.437, 3.129, 3.954",\
                 "0.6485, 0.6906, 0.803, 0.9749, 1.222, 1.564, 2.014, 2.58, 3.272, 4.097",\
                 "0.7832, 0.8297, 0.951, 1.131, 1.383, 1.726, 2.176, 2.743, 3.434, 4.259",\
                 "0.9275, 0.9781, 1.109, 1.299, 1.558, 1.908, 2.36, 2.927, 3.619, 4.443",\
                 "1.083, 1.137, 1.278, 1.478, 1.745, 2.103, 2.564, 3.134, 3.826, 4.65",\
                 "1.249, 1.308, 1.459, 1.669, 1.945, 2.311, 2.781, 3.361, 4.058, 4.883");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.31, 0.3527, 0.4819, 0.7086, 1.057, 1.544, 2.186, 2.995, 3.983, 5.156",\
                 "0.3195, 0.3622, 0.4913, 0.7181, 1.066, 1.554, 2.196, 3.005, 3.992, 5.169",\
                 "0.3619, 0.4043, 0.5332, 0.7597, 1.108, 1.596, 2.237, 3.047, 4.034, 5.21",\
                 "0.4296, 0.4728, 0.6026, 0.8288, 1.177, 1.664, 2.306, 3.114, 4.101, 5.279",\
                 "0.4947, 0.5389, 0.6703, 0.8971, 1.245, 1.732, 2.374, 3.183, 4.17, 5.343",\
                 "0.5575, 0.6036, 0.7379, 0.9647, 1.312, 1.799, 2.44, 3.249, 4.236, 5.413",\
                 "0.6124, 0.6611, 0.8007, 1.031, 1.378, 1.864, 2.506, 3.313, 4.3, 5.474",\
                 "0.6566, 0.7087, 0.8542, 1.091, 1.442, 1.928, 2.568, 3.376, 4.362, 5.537",\
                 "0.6884, 0.744, 0.8963, 1.14, 1.497, 1.989, 2.63, 3.437, 4.423, 5.598",\
                 "0.7059, 0.765, 0.925, 1.176, 1.54, 2.041, 2.689, 3.497, 4.482, 5.657");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1008, 0.1392, 0.2647, 0.5139, 0.9194, 1.495, 2.253, 3.211, 4.379, 5.772",\
                 "0.1007, 0.1396, 0.265, 0.5145, 0.92, 1.493, 2.252, 3.21, 4.375, 5.771",\
                 "0.1021, 0.1405, 0.2654, 0.5144, 0.9188, 1.495, 2.254, 3.21, 4.38, 5.773",\
                 "0.1152, 0.1533, 0.2747, 0.5174, 0.9204, 1.495, 2.253, 3.211, 4.378, 5.77",\
                 "0.1348, 0.172, 0.291, 0.5266, 0.9228, 1.494, 2.253, 3.21, 4.374, 5.762",\
                 "0.159, 0.1978, 0.3152, 0.542, 0.9296, 1.497, 2.253, 3.207, 4.374, 5.769",\
                 "0.1878, 0.2268, 0.3452, 0.5682, 0.9468, 1.504, 2.254, 3.205, 4.37, 5.759",\
                 "0.2132, 0.2576, 0.379, 0.5992, 0.9776, 1.529, 2.266, 3.209, 4.368, 5.758",\
                 "0.2412, 0.2892, 0.4154, 0.6348, 1.01, 1.566, 2.3, 3.231, 4.377, 5.753",\
                 "0.273, 0.3224, 0.4544, 0.6724, 1.046, 1.607, 2.349, 3.271, 4.403, 5.767");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1381, 0.1939, 0.3842, 0.7635, 1.373, 2.235, 3.363, 4.79, 6.532, 8.6",\
                 "0.1379, 0.1937, 0.3838, 0.7633, 1.376, 2.232, 3.364, 4.791, 6.531, 8.603",\
                 "0.1381, 0.1939, 0.3846, 0.7636, 1.373, 2.236, 3.368, 4.787, 6.527, 8.607",\
                 "0.1454, 0.2013, 0.3887, 0.7654, 1.373, 2.232, 3.364, 4.791, 6.535, 8.602",\
                 "0.1558, 0.2106, 0.3964, 0.7702, 1.376, 2.236, 3.363, 4.79, 6.531, 8.599",\
                 "0.17, 0.2246, 0.4072, 0.7736, 1.379, 2.237, 3.369, 4.79, 6.531, 8.603",\
                 "0.1882, 0.2424, 0.4252, 0.7842, 1.381, 2.239, 3.367, 4.795, 6.529, 8.603",\
                 "0.209, 0.2636, 0.4476, 0.8056, 1.397, 2.241, 3.37, 4.791, 6.53, 8.603",\
                 "0.2338, 0.2894, 0.4724, 0.8308, 1.423, 2.261, 3.375, 4.795, 6.53, 8.604",\
                 "0.2584, 0.3154, 0.4992, 0.8594, 1.455, 2.299, 3.404, 4.805, 6.532, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b1 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&!TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.2273, 0.2607, 0.357, 0.5188, 0.7636, 1.106, 1.556, 2.124, 2.817, 3.643",\
                 "0.2445, 0.278, 0.3743, 0.5361, 0.7808, 1.123, 1.573, 2.141, 2.834, 3.66",\
                 "0.3091, 0.3425, 0.4387, 0.6007, 0.8455, 1.188, 1.638, 2.205, 2.899, 3.725",\
                 "0.4095, 0.445, 0.5446, 0.7076, 0.9521, 1.294, 1.744, 2.312, 3.005, 3.831",\
                 "0.5239, 0.5616, 0.6667, 0.8329, 1.078, 1.42, 1.87, 2.437, 3.13, 3.956",\
                 "0.6485, 0.6906, 0.803, 0.9749, 1.222, 1.564, 2.014, 2.58, 3.272, 4.097",\
                 "0.7835, 0.8297, 0.951, 1.131, 1.383, 1.726, 2.176, 2.743, 3.434, 4.259",\
                 "0.9275, 0.9781, 1.109, 1.298, 1.558, 1.908, 2.36, 2.927, 3.619, 4.443",\
                 "1.083, 1.137, 1.278, 1.478, 1.745, 2.103, 2.564, 3.134, 3.826, 4.65",\
                 "1.249, 1.308, 1.459, 1.669, 1.945, 2.311, 2.781, 3.361, 4.058, 4.883");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.31, 0.3527, 0.4819, 0.7086, 1.057, 1.544, 2.186, 2.995, 3.982, 5.156",\
                 "0.3195, 0.3622, 0.4913, 0.7181, 1.066, 1.554, 2.196, 3.005, 3.992, 5.165",\
                 "0.3619, 0.4043, 0.5332, 0.7597, 1.108, 1.596, 2.237, 3.047, 4.034, 5.21",\
                 "0.4296, 0.4728, 0.6026, 0.8288, 1.177, 1.664, 2.306, 3.114, 4.101, 5.279",\
                 "0.4947, 0.5389, 0.6703, 0.8971, 1.245, 1.732, 2.374, 3.183, 4.169, 5.344",\
                 "0.5575, 0.6036, 0.7379, 0.9647, 1.312, 1.799, 2.44, 3.249, 4.236, 5.413",\
                 "0.6124, 0.6611, 0.8007, 1.031, 1.378, 1.864, 2.506, 3.313, 4.3, 5.474",\
                 "0.6567, 0.7087, 0.8542, 1.091, 1.441, 1.928, 2.568, 3.376, 4.362, 5.537",\
                 "0.6885, 0.7438, 0.8962, 1.139, 1.497, 1.989, 2.63, 3.437, 4.423, 5.598",\
                 "0.7059, 0.7651, 0.925, 1.176, 1.54, 2.042, 2.689, 3.497, 4.482, 5.658");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1008, 0.1392, 0.2646, 0.5139, 0.9194, 1.495, 2.253, 3.211, 4.379, 5.772",\
                 "0.1007, 0.1396, 0.265, 0.5145, 0.92, 1.493, 2.252, 3.21, 4.376, 5.771",\
                 "0.1021, 0.1405, 0.2654, 0.5144, 0.9186, 1.495, 2.254, 3.21, 4.38, 5.773",\
                 "0.1152, 0.1533, 0.2747, 0.5174, 0.9194, 1.495, 2.253, 3.211, 4.378, 5.771",\
                 "0.1348, 0.172, 0.291, 0.5266, 0.9234, 1.495, 2.253, 3.21, 4.37, 5.765",\
                 "0.159, 0.1978, 0.315, 0.542, 0.9294, 1.497, 2.253, 3.207, 4.374, 5.769",\
                 "0.1858, 0.2268, 0.3452, 0.5682, 0.9468, 1.505, 2.254, 3.205, 4.37, 5.758",\
                 "0.2136, 0.2576, 0.3796, 0.5994, 0.9772, 1.529, 2.267, 3.208, 4.368, 5.758",\
                 "0.241, 0.2892, 0.4158, 0.6346, 1.01, 1.566, 2.3, 3.226, 4.377, 5.755",\
                 "0.2708, 0.3224, 0.455, 0.6726, 1.046, 1.607, 2.348, 3.271, 4.405, 5.768");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1381, 0.1939, 0.3842, 0.7635, 1.373, 2.235, 3.363, 4.79, 6.532, 8.6",\
                 "0.1376, 0.1937, 0.3837, 0.7635, 1.374, 2.233, 3.364, 4.79, 6.532, 8.599",\
                 "0.1381, 0.1939, 0.3846, 0.7636, 1.373, 2.236, 3.368, 4.788, 6.527, 8.607",\
                 "0.1454, 0.2016, 0.3887, 0.7654, 1.373, 2.233, 3.364, 4.791, 6.535, 8.602",\
                 "0.1558, 0.2106, 0.3966, 0.7702, 1.375, 2.233, 3.364, 4.791, 6.531, 8.602",\
                 "0.17, 0.2246, 0.4072, 0.7732, 1.379, 2.235, 3.369, 4.79, 6.531, 8.601",\
                 "0.1882, 0.2424, 0.4252, 0.7842, 1.381, 2.239, 3.367, 4.795, 6.529, 8.603",\
                 "0.2094, 0.2636, 0.4472, 0.8066, 1.395, 2.242, 3.369, 4.791, 6.529, 8.603",\
                 "0.2326, 0.2888, 0.4726, 0.8316, 1.426, 2.263, 3.375, 4.795, 6.531, 8.61",\
                 "0.2584, 0.3138, 0.4994, 0.8584, 1.457, 2.301, 3.402, 4.803, 6.532, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b1 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.2273, 0.2608, 0.357, 0.5188, 0.7636, 1.106, 1.556, 2.124, 2.816, 3.641",\
                 "0.2446, 0.278, 0.3743, 0.5361, 0.7808, 1.123, 1.573, 2.141, 2.834, 3.66",\
                 "0.3091, 0.3425, 0.4387, 0.6007, 0.8455, 1.188, 1.638, 2.205, 2.899, 3.725",\
                 "0.4095, 0.445, 0.5446, 0.7076, 0.9521, 1.294, 1.744, 2.312, 3.005, 3.831",\
                 "0.5239, 0.5616, 0.6667, 0.8329, 1.078, 1.42, 1.87, 2.437, 3.13, 3.954",\
                 "0.6485, 0.6906, 0.803, 0.975, 1.222, 1.564, 2.014, 2.58, 3.272, 4.097",\
                 "0.7834, 0.8297, 0.951, 1.131, 1.383, 1.726, 2.176, 2.743, 3.435, 4.259",\
                 "0.9277, 0.9783, 1.109, 1.299, 1.558, 1.908, 2.36, 2.927, 3.619, 4.443",\
                 "1.083, 1.137, 1.278, 1.478, 1.745, 2.103, 2.564, 3.134, 3.826, 4.65",\
                 "1.249, 1.308, 1.459, 1.669, 1.945, 2.311, 2.781, 3.361, 4.058, 4.883");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.31, 0.3527, 0.4819, 0.7086, 1.057, 1.544, 2.186, 2.996, 3.983, 5.157",\
                 "0.3195, 0.3621, 0.4913, 0.7181, 1.066, 1.554, 2.196, 3.005, 3.992, 5.169",\
                 "0.3619, 0.4043, 0.5332, 0.7597, 1.108, 1.596, 2.238, 3.047, 4.034, 5.211",\
                 "0.4296, 0.4727, 0.6026, 0.8287, 1.177, 1.664, 2.306, 3.115, 4.102, 5.277",\
                 "0.4947, 0.5388, 0.6702, 0.8971, 1.245, 1.732, 2.374, 3.182, 4.169, 5.347",\
                 "0.5575, 0.6036, 0.7379, 0.9647, 1.312, 1.799, 2.44, 3.249, 4.236, 5.413",\
                 "0.6125, 0.6611, 0.8007, 1.031, 1.378, 1.864, 2.506, 3.313, 4.3, 5.474",\
                 "0.6568, 0.7087, 0.8542, 1.091, 1.441, 1.928, 2.568, 3.376, 4.362, 5.538",\
                 "0.6884, 0.744, 0.8963, 1.139, 1.497, 1.989, 2.631, 3.437, 4.423, 5.598",\
                 "0.7059, 0.765, 0.9249, 1.176, 1.54, 2.041, 2.689, 3.497, 4.482, 5.657");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1009, 0.1394, 0.2651, 0.5143, 0.9198, 1.494, 2.251, 3.211, 4.371, 5.766",\
                 "0.1006, 0.1396, 0.265, 0.5145, 0.9196, 1.493, 2.251, 3.21, 4.375, 5.771",\
                 "0.1021, 0.1405, 0.2654, 0.5145, 0.9186, 1.495, 2.253, 3.21, 4.38, 5.773",\
                 "0.1151, 0.1533, 0.2747, 0.5176, 0.9196, 1.495, 2.252, 3.211, 4.377, 5.771",\
                 "0.1346, 0.1722, 0.291, 0.5266, 0.9228, 1.494, 2.253, 3.21, 4.372, 5.762",\
                 "0.1592, 0.1978, 0.3152, 0.5422, 0.93, 1.497, 2.253, 3.205, 4.374, 5.769",\
                 "0.1858, 0.2264, 0.3452, 0.5684, 0.9472, 1.504, 2.254, 3.206, 4.371, 5.763",\
                 "0.2136, 0.257, 0.379, 0.5994, 0.977, 1.529, 2.268, 3.208, 4.367, 5.758",\
                 "0.2412, 0.2892, 0.4154, 0.6344, 1.01, 1.565, 2.3, 3.228, 4.374, 5.753",\
                 "0.2728, 0.3222, 0.4546, 0.6728, 1.046, 1.607, 2.35, 3.273, 4.403, 5.769");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1381, 0.1939, 0.3842, 0.7636, 1.373, 2.236, 3.363, 4.79, 6.532, 8.602",\
                 "0.1378, 0.1937, 0.3838, 0.7634, 1.376, 2.237, 3.364, 4.79, 6.53, 8.607",\
                 "0.138, 0.194, 0.3845, 0.7637, 1.373, 2.236, 3.364, 4.79, 6.53, 8.607",\
                 "0.1454, 0.2015, 0.3885, 0.764, 1.373, 2.233, 3.363, 4.79, 6.531, 8.605",\
                 "0.156, 0.2106, 0.3964, 0.7708, 1.378, 2.235, 3.364, 4.789, 6.531, 8.604",\
                 "0.17, 0.2246, 0.4072, 0.7744, 1.378, 2.235, 3.369, 4.79, 6.531, 8.601",\
                 "0.188, 0.2424, 0.4252, 0.785, 1.382, 2.239, 3.367, 4.795, 6.529, 8.603",\
                 "0.2094, 0.2636, 0.4472, 0.8066, 1.395, 2.242, 3.369, 4.791, 6.529, 8.599",\
                 "0.233, 0.2894, 0.4718, 0.8312, 1.422, 2.264, 3.374, 4.795, 6.529, 8.6",\
                 "0.2584, 0.3154, 0.4998, 0.8594, 1.455, 2.299, 3.404, 4.805, 6.532, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.2273, 0.2608, 0.357, 0.5188, 0.7636, 1.106, 1.556, 2.124, 2.816, 3.641",\
                 "0.2446, 0.278, 0.3743, 0.5361, 0.7808, 1.123, 1.573, 2.141, 2.834, 3.66",\
                 "0.3091, 0.3425, 0.4387, 0.6007, 0.8455, 1.188, 1.638, 2.205, 2.899, 3.725",\
                 "0.4095, 0.445, 0.5446, 0.7076, 0.9521, 1.294, 1.744, 2.312, 3.005, 3.831",\
                 "0.5239, 0.5616, 0.6667, 0.8329, 1.078, 1.42, 1.87, 2.437, 3.13, 3.954",\
                 "0.6485, 0.6906, 0.803, 0.975, 1.222, 1.564, 2.014, 2.58, 3.272, 4.097",\
                 "0.7834, 0.8297, 0.951, 1.131, 1.383, 1.726, 2.176, 2.743, 3.435, 4.259",\
                 "0.9277, 0.9783, 1.109, 1.299, 1.558, 1.908, 2.36, 2.927, 3.619, 4.443",\
                 "1.083, 1.137, 1.278, 1.478, 1.745, 2.103, 2.564, 3.134, 3.826, 4.65",\
                 "1.249, 1.308, 1.459, 1.669, 1.945, 2.311, 2.781, 3.361, 4.058, 4.883");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.31, 0.3527, 0.4819, 0.7086, 1.057, 1.544, 2.186, 2.995, 3.982, 5.156",\
                 "0.3195, 0.3622, 0.4913, 0.7181, 1.066, 1.554, 2.196, 3.005, 3.992, 5.165",\
                 "0.3619, 0.4043, 0.5332, 0.7597, 1.108, 1.596, 2.237, 3.047, 4.034, 5.21",\
                 "0.4296, 0.4728, 0.6026, 0.8288, 1.177, 1.664, 2.306, 3.114, 4.101, 5.279",\
                 "0.4947, 0.5389, 0.6703, 0.8971, 1.245, 1.732, 2.374, 3.183, 4.169, 5.344",\
                 "0.5575, 0.6036, 0.7379, 0.9647, 1.312, 1.799, 2.44, 3.249, 4.236, 5.413",\
                 "0.6124, 0.6611, 0.8007, 1.031, 1.378, 1.864, 2.506, 3.313, 4.3, 5.474",\
                 "0.6567, 0.7087, 0.8542, 1.091, 1.441, 1.928, 2.568, 3.376, 4.362, 5.537",\
                 "0.6885, 0.7438, 0.8962, 1.139, 1.497, 1.989, 2.63, 3.437, 4.423, 5.598",\
                 "0.7059, 0.7651, 0.925, 1.176, 1.54, 2.042, 2.689, 3.497, 4.482, 5.658");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1009, 0.1394, 0.2651, 0.5143, 0.9198, 1.494, 2.251, 3.211, 4.371, 5.766",\
                 "0.1006, 0.1396, 0.265, 0.5145, 0.9196, 1.493, 2.251, 3.21, 4.375, 5.771",\
                 "0.1021, 0.1405, 0.2654, 0.5145, 0.9186, 1.495, 2.253, 3.21, 4.38, 5.773",\
                 "0.1151, 0.1533, 0.2747, 0.5176, 0.9196, 1.495, 2.252, 3.211, 4.377, 5.771",\
                 "0.1346, 0.1722, 0.291, 0.5266, 0.9228, 1.494, 2.253, 3.21, 4.372, 5.762",\
                 "0.1592, 0.1978, 0.3152, 0.5422, 0.93, 1.497, 2.253, 3.205, 4.374, 5.769",\
                 "0.1858, 0.2264, 0.3452, 0.5684, 0.9472, 1.504, 2.254, 3.206, 4.371, 5.763",\
                 "0.2136, 0.257, 0.379, 0.5994, 0.977, 1.529, 2.268, 3.208, 4.367, 5.758",\
                 "0.2412, 0.2892, 0.4154, 0.6344, 1.01, 1.565, 2.3, 3.228, 4.374, 5.753",\
                 "0.2728, 0.3222, 0.4546, 0.6728, 1.046, 1.607, 2.35, 3.273, 4.403, 5.769");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1381, 0.1939, 0.3842, 0.7635, 1.373, 2.235, 3.363, 4.79, 6.532, 8.6",\
                 "0.1376, 0.1937, 0.3837, 0.7635, 1.374, 2.233, 3.364, 4.79, 6.532, 8.599",\
                 "0.1381, 0.1939, 0.3846, 0.7636, 1.373, 2.236, 3.368, 4.788, 6.527, 8.607",\
                 "0.1454, 0.2016, 0.3887, 0.7654, 1.373, 2.233, 3.364, 4.791, 6.535, 8.602",\
                 "0.1558, 0.2106, 0.3966, 0.7702, 1.375, 2.233, 3.364, 4.791, 6.531, 8.602",\
                 "0.17, 0.2246, 0.4072, 0.7732, 1.379, 2.235, 3.369, 4.79, 6.531, 8.601",\
                 "0.1882, 0.2424, 0.4252, 0.7842, 1.381, 2.239, 3.367, 4.795, 6.529, 8.603",\
                 "0.2094, 0.2636, 0.4472, 0.8066, 1.395, 2.242, 3.369, 4.791, 6.529, 8.603",\
                 "0.2326, 0.2888, 0.4726, 0.8316, 1.426, 2.263, 3.375, 4.795, 6.531, 8.61",\
                 "0.2584, 0.3138, 0.4994, 0.8584, 1.457, 2.301, 3.402, 4.803, 6.532, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b0 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational_fall ;
        when : "!E&!TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.2273, 0.2608, 0.357, 0.5188, 0.7637, 1.108, 1.561, 2.127, 2.819, 3.644",\
                 "0.2445, 0.278, 0.3743, 0.5361, 0.7809, 1.125, 1.578, 2.145, 2.836, 3.661",\
                 "0.3091, 0.3425, 0.4388, 0.6007, 0.8456, 1.19, 1.643, 2.209, 2.901, 3.726",\
                 "0.4096, 0.445, 0.5447, 0.7077, 0.9523, 1.297, 1.749, 2.316, 3.008, 3.832",\
                 "0.5239, 0.5618, 0.6667, 0.8329, 1.078, 1.422, 1.875, 2.441, 3.133, 3.958",\
                 "0.6486, 0.6906, 0.8031, 0.975, 1.222, 1.565, 2.018, 2.584, 3.276, 4.1",\
                 "0.7832, 0.8296, 0.9511, 1.131, 1.383, 1.728, 2.181, 2.747, 3.438, 4.263",\
                 "0.9273, 0.9779, 1.109, 1.299, 1.558, 1.909, 2.364, 2.93, 3.621, 4.445",\
                 "1.083, 1.137, 1.278, 1.478, 1.746, 2.104, 2.563, 3.128, 3.818, 4.642",\
                 "1.249, 1.308, 1.459, 1.669, 1.945, 2.312, 2.776, 3.34, 4.03, 4.853");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1008, 0.1392, 0.2649, 0.5144, 0.9198, 1.501, 2.255, 3.199, 4.361, 5.752",\
                 "0.1008, 0.1392, 0.2648, 0.5145, 0.92, 1.501, 2.254, 3.199, 4.363, 5.75",\
                 "0.1021, 0.1405, 0.2654, 0.5145, 0.92, 1.501, 2.255, 3.199, 4.366, 5.755",\
                 "0.1153, 0.1533, 0.2746, 0.5172, 0.9202, 1.501, 2.254, 3.2, 4.366, 5.755",\
                 "0.1344, 0.1722, 0.2908, 0.5266, 0.924, 1.502, 2.256, 3.201, 4.361, 5.751",\
                 "0.159, 0.1976, 0.3152, 0.5418, 0.9296, 1.506, 2.258, 3.201, 4.362, 5.751",\
                 "0.1876, 0.2272, 0.3448, 0.5682, 0.9472, 1.513, 2.26, 3.201, 4.366, 5.754",\
                 "0.2136, 0.2586, 0.379, 0.5992, 0.977, 1.536, 2.271, 3.204, 4.363, 5.754",\
                 "0.241, 0.2892, 0.4156, 0.634, 1.01, 1.566, 2.286, 3.207, 4.364, 5.747",\
                 "0.2712, 0.3214, 0.4546, 0.6726, 1.046, 1.601, 2.304, 3.21, 4.365, 5.75");
        }
      }
    }

    pin(TE) {
      capacitance : 0.003156 ;
      clock_gate_test_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1288, 0.1283, 0.1276, 0.1282, 0.1342, 0.1478, 0.1704, 0.2013, \
                 0.2401, 0.2869");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1071, 0.1063, 0.1054, 0.1065, 0.1121, 0.1238, 0.1424, 0.1681, \
                 0.2014, 0.2421");
        }
      }

      internal_power() {
        when : "!CLK&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01229, 0.01226, 0.01225, 0.01227, 0.01227, 0.01229, 0.0123, \
                 0.0123, 0.01229, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01082, -0.01149, -0.01178, -0.01192, -0.01198, -0.01206, -0.01207, \
                 -0.01209, -0.01211, -0.01211");
        }
      }

      internal_power() {
        when : "CLK&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.022, 0.02198, 0.02196, 0.0219, 0.02191, 0.02196, 0.02196, 0.02194, \
                 0.02195, 0.02195");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01055, -0.01083, -0.01127, -0.01157, -0.01172, -0.01185, -0.01191, \
                 -0.01195, -0.01199, -0.012");
        }
      }

      internal_power() {
        when : "CLK&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01229, 0.01228, 0.0123, 0.01228, 0.01227, 0.01231, 0.01229, \
                 0.01229, 0.01229, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01146, -0.0116, -0.0118, -0.01193, -0.012, -0.01206, -0.01208, \
                 -0.0121, -0.01211, -0.01211");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : hold_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.412, -0.402, -0.353, -0.283, -0.22, -0.176, -0.145, -0.135, -0.148, -0.191",\
                 "-0.425, -0.414, -0.362, -0.293, -0.239, -0.183, -0.15, -0.146, -0.16, -0.2",\
                 "-0.457, -0.444, -0.393, -0.332, -0.27, -0.221, -0.187, -0.18, -0.192, -0.236",\
                 "-0.507, -0.498, -0.45, -0.382, -0.322, -0.27, -0.234, -0.232, -0.239, -0.282",\
                 "-0.598, -0.587, -0.538, -0.469, -0.41, -0.355, -0.327, -0.313, -0.324, -0.365",\
                 "-0.727, -0.719, -0.672, -0.6, -0.538, -0.491, -0.45, -0.432, -0.447, -0.479",\
                 "-0.892, -0.887, -0.836, -0.765, -0.708, -0.655, -0.614, -0.598, -0.606, -0.631",\
                 "-1.092, -1.085, -1.044, -0.97, -0.908, -0.848, -0.807, -0.795, -0.8, -0.821",\
                 "-1.317, -1.31, -1.272, -1.203, -1.143, -1.083, -1.043, -1.016, -1.02, -1.037",\
                 "-1.579, -1.572, -1.533, -1.463, -1.398, -1.338, -1.296, -1.269, -1.26, -1.274");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.303, -0.286, -0.256, -0.237, -0.243, -0.268, -0.314, -0.377, -0.459, -0.565",\
                 "-0.309, -0.302, -0.261, -0.245, -0.255, -0.278, -0.322, -0.384, -0.465, -0.577",\
                 "-0.339, -0.325, -0.291, -0.268, -0.278, -0.297, -0.341, -0.404, -0.49, -0.59",\
                 "-0.38, -0.372, -0.334, -0.306, -0.311, -0.328, -0.364, -0.426, -0.501, -0.607",\
                 "-0.427, -0.417, -0.373, -0.348, -0.343, -0.355, -0.39, -0.439, -0.523, -0.621",\
                 "-0.463, -0.454, -0.411, -0.373, -0.363, -0.378, -0.409, -0.457, -0.536, -0.634",\
                 "-0.479, -0.467, -0.42, -0.386, -0.376, -0.386, -0.412, -0.462, -0.541, -0.638",\
                 "-0.467, -0.458, -0.416, -0.375, -0.36, -0.368, -0.397, -0.452, -0.53, -0.629",\
                 "-0.433, -0.419, -0.379, -0.338, -0.319, -0.334, -0.364, -0.422, -0.498, -0.605",\
                 "-0.366, -0.356, -0.315, -0.276, -0.26, -0.271, -0.304, -0.36, -0.449, -0.557");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : setup_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.481, 0.47, 0.417, 0.347, 0.28, 0.228, 0.196, 0.194, 0.211, 0.259",\
                 "0.493, 0.484, 0.433, 0.351, 0.293, 0.236, 0.21, 0.205, 0.224, 0.273",\
                 "0.527, 0.515, 0.465, 0.39, 0.323, 0.272, 0.241, 0.236, 0.258, 0.307",\
                 "0.581, 0.565, 0.515, 0.444, 0.375, 0.321, 0.294, 0.286, 0.309, 0.356",\
                 "0.673, 0.664, 0.608, 0.533, 0.471, 0.417, 0.385, 0.38, 0.4, 0.443",\
                 "0.814, 0.801, 0.749, 0.673, 0.609, 0.551, 0.517, 0.508, 0.525, 0.569",\
                 "1.002, 0.99, 0.936, 0.855, 0.782, 0.729, 0.694, 0.686, 0.694, 0.738",\
                 "1.216, 1.204, 1.15, 1.064, 0.997, 0.941, 0.905, 0.893, 0.908, 0.949",\
                 "1.468, 1.453, 1.396, 1.308, 1.237, 1.182, 1.149, 1.137, 1.151, 1.19",\
                 "1.746, 1.734, 1.678, 1.586, 1.512, 1.455, 1.424, 1.405, 1.422, 1.459");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.733, 0.723, 0.686, 0.701, 0.749, 0.827, 0.938, 1.05, 1.198, 1.342",\
                 "0.746, 0.731, 0.693, 0.708, 0.764, 0.843, 0.947, 1.059, 1.203, 1.353",\
                 "0.774, 0.758, 0.724, 0.732, 0.792, 0.866, 0.966, 1.082, 1.226, 1.374",\
                 "0.817, 0.806, 0.764, 0.774, 0.829, 0.914, 1.013, 1.121, 1.261, 1.408",\
                 "0.866, 0.857, 0.817, 0.829, 0.875, 0.96, 1.054, 1.165, 1.299, 1.444",\
                 "0.9, 0.884, 0.845, 0.864, 0.915, 0.988, 1.083, 1.199, 1.327, 1.475",\
                 "0.917, 0.904, 0.864, 0.875, 0.925, 1.005, 1.098, 1.213, 1.338, 1.487",\
                 "0.91, 0.899, 0.852, 0.864, 0.916, 1, 1.09, 1.196, 1.327, 1.475",\
                 "0.871, 0.867, 0.817, 0.827, 0.878, 0.947, 1.043, 1.151, 1.291, 1.433",\
                 "0.809, 0.796, 0.756, 0.758, 0.809, 0.886, 0.975, 1.086, 1.215, 1.367");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__icgtp_2) {
    area : 65.856000 ;
    clock_gating_integrated_cell : "latch_posedge_precontrol" ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!E&!TE" ;
      value : "0.0001381017" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!E&TE" ;
      value : "0.000141966" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&E&!TE" ;
      value : "0.0001277331" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&E&TE" ;
      value : "0.0001277298" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!E&!TE" ;
      value : "0.0002368575" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!E&TE" ;
      value : "0.0002074314" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&E&!TE" ;
      value : "0.0002027256" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&E&TE" ;
      value : "0.000202719" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002368575" ;
    }

    statetable("CLK E TE", "IQ2 IQN2") {
      table : "L L L : - - : L H, \
              L H - : - - : H L, \
              L - H : - - : H L, \
              H - - : - - : N N" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.007782 ;
      clock : true ;
      clock_gate_clock_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 1.004 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1197, 0.1194, 0.1203, 0.1269, 0.1398, 0.1598, 0.1876, 0.2235, \
                 0.2678, 0.3211");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05397, 0.05359, 0.05423, 0.0595, 0.07058, 0.08815, 0.1126, 0.1445, \
                 0.1839, 0.2312");
        }
      }

      internal_power() {
        when : "!E&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2391, 0.2386, 0.2397, 0.2467, 0.2608, 0.2825, 0.3125, 0.3525, \
                 0.4059, 0.4745");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "E&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2287, 0.2282, 0.2292, 0.2363, 0.2503, 0.2719, 0.3019, 0.3424, \
                 0.3968, 0.4662");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "E&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2285, 0.228, 0.229, 0.2361, 0.2502, 0.2721, 0.3022, 0.3433, \
                 0.3988, 0.4692");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&!TE" ;

        fall_constraint(scalar) {
          values("0.728");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&TE" ;

        fall_constraint(scalar) {
          values("1.004");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&!TE" ;

        fall_constraint(scalar) {
          values("0.945");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&TE" ;

        fall_constraint(scalar) {
          values("0.892");
        }
      }
    }

    pin(E) {
      capacitance : 0.003283 ;
      clock_gate_enable_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1242, 0.1237, 0.1231, 0.1247, 0.1318, 0.1449, 0.1649, 0.1915, \
                 0.2247, 0.2646");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1035, 0.1033, 0.1027, 0.1041, 0.1094, 0.1199, 0.1361, 0.1582, \
                 0.1862, 0.2205");
        }
      }

      internal_power() {
        when : "!CLK&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008215, 0.008197, 0.008206, 0.008216, 0.008206, 0.008216, 0.0082, \
                 0.00818, 0.008149, 0.00811");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004507, -0.0045, -0.004519, -0.004519, -0.004528, -0.004549, \
                 -0.004556, -0.004562, -0.004573, -0.004593");
        }
      }

      internal_power() {
        when : "CLK&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01353, 0.01355, 0.01355, 0.01352, 0.01355, 0.01353, 0.01355, \
                 0.01355, 0.01355, 0.01355");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01193, -0.01195, -0.01193, -0.01204, -0.0121, -0.01213, -0.01215, \
                 -0.01215, -0.01217, -0.01218");
        }
      }

      internal_power() {
        when : "CLK&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005985, 0.005994, 0.005989, 0.006, 0.00602, 0.006013, 0.006011, \
                 0.006023, 0.006022, 0.006023");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005442, -0.005442, -0.005453, -0.005443, -0.00546, -0.005452, \
                 -0.005465, -0.005467, -0.005461, -0.005465");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : hold_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.372, -0.361, -0.32, -0.247, -0.191, -0.142, -0.111, -0.1, -0.108, -0.149",\
                 "-0.377, -0.366, -0.326, -0.254, -0.201, -0.154, -0.116, -0.104, -0.12, -0.158",\
                 "-0.415, -0.402, -0.362, -0.291, -0.235, -0.182, -0.151, -0.137, -0.151, -0.193",\
                 "-0.48, -0.469, -0.433, -0.359, -0.306, -0.255, -0.224, -0.205, -0.221, -0.254",\
                 "-0.605, -0.595, -0.556, -0.49, -0.43, -0.381, -0.344, -0.328, -0.334, -0.365",\
                 "-0.779, -0.766, -0.736, -0.666, -0.608, -0.561, -0.517, -0.499, -0.505, -0.53",\
                 "-1.002, -0.99, -0.963, -0.895, -0.839, -0.783, -0.743, -0.715, -0.718, -0.738",\
                 "-1.258, -1.252, -1.23, -1.164, -1.1, -1.05, -1.002, -0.978, -0.976, -0.996",\
                 "-1.556, -1.551, -1.537, -1.465, -1.407, -1.356, -1.315, -1.286, -1.276, -1.289",\
                 "-1.897, -1.891, -1.881, -1.822, -1.755, -1.707, -1.659, -1.628, -1.611, -1.617");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.263, -0.252, -0.213, -0.192, -0.198, -0.222, -0.263, -0.318, -0.395, -0.498",\
                 "-0.275, -0.263, -0.225, -0.206, -0.208, -0.236, -0.27, -0.331, -0.409, -0.514",\
                 "-0.302, -0.29, -0.252, -0.233, -0.235, -0.253, -0.295, -0.348, -0.432, -0.531",\
                 "-0.344, -0.334, -0.294, -0.268, -0.264, -0.277, -0.314, -0.366, -0.44, -0.545",\
                 "-0.382, -0.371, -0.33, -0.3, -0.289, -0.294, -0.327, -0.38, -0.457, -0.555",\
                 "-0.405, -0.389, -0.347, -0.315, -0.302, -0.308, -0.335, -0.382, -0.458, -0.556",\
                 "-0.395, -0.381, -0.338, -0.305, -0.284, -0.291, -0.323, -0.364, -0.44, -0.538",\
                 "-0.355, -0.344, -0.304, -0.262, -0.242, -0.25, -0.28, -0.332, -0.402, -0.501",\
                 "-0.282, -0.266, -0.222, -0.181, -0.168, -0.177, -0.204, -0.26, -0.335, -0.434",\
                 "-0.168, -0.156, -0.112, -0.076, -0.051, -0.058, -0.09, -0.152, -0.224, -0.332");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : setup_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.492, 0.477, 0.428, 0.356, 0.288, 0.222, 0.179, 0.165, 0.188, 0.233",\
                 "0.5, 0.492, 0.438, 0.36, 0.293, 0.23, 0.184, 0.175, 0.2, 0.242",\
                 "0.533, 0.521, 0.472, 0.396, 0.331, 0.266, 0.223, 0.205, 0.233, 0.274",\
                 "0.608, 0.594, 0.544, 0.467, 0.397, 0.336, 0.294, 0.279, 0.3, 0.345",\
                 "0.732, 0.718, 0.678, 0.597, 0.532, 0.469, 0.419, 0.41, 0.428, 0.467",\
                 "0.923, 0.907, 0.864, 0.783, 0.714, 0.653, 0.605, 0.592, 0.604, 0.641",\
                 "1.162, 1.152, 1.109, 1.025, 0.954, 0.884, 0.832, 0.823, 0.83, 0.874",\
                 "1.447, 1.437, 1.386, 1.304, 1.234, 1.16, 1.11, 1.093, 1.111, 1.148",\
                 "1.778, 1.767, 1.719, 1.631, 1.559, 1.481, 1.433, 1.414, 1.431, 1.469",\
                 "2.152, 2.137, 2.091, 2.001, 1.917, 1.849, 1.795, 1.78, 1.791, 1.827");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.779, 0.771, 0.707, 0.729, 0.787, 0.867, 0.971, 1.103, 1.27, 1.43",\
                 "0.794, 0.786, 0.717, 0.737, 0.795, 0.878, 0.981, 1.118, 1.276, 1.437",\
                 "0.823, 0.811, 0.748, 0.761, 0.827, 0.904, 1.011, 1.144, 1.309, 1.465",\
                 "0.862, 0.855, 0.793, 0.804, 0.861, 0.943, 1.053, 1.181, 1.34, 1.503",\
                 "0.903, 0.896, 0.835, 0.845, 0.902, 0.986, 1.088, 1.217, 1.374, 1.533",\
                 "0.923, 0.913, 0.851, 0.864, 0.924, 0.999, 1.103, 1.232, 1.385, 1.546",\
                 "0.926, 0.904, 0.846, 0.855, 0.914, 0.992, 1.098, 1.223, 1.374, 1.537",\
                 "0.88, 0.87, 0.808, 0.83, 0.879, 0.957, 1.061, 1.179, 1.34, 1.491",\
                 "0.807, 0.795, 0.735, 0.74, 0.802, 0.879, 0.972, 1.104, 1.26, 1.415",\
                 "0.7, 0.686, 0.622, 0.63, 0.684, 0.763, 0.861, 0.99, 1.143, 1.295");
        }
      }
    }

    pin(IQ2) {
      direction : internal ;
      internal_node : IQ2 ;
      inverted_output : false ;
    }

    pin(IQN2) {
      direction : internal ;
      internal_node : IQN2 ;
      inverted_output : true ;
    }

    pin(Q) {
      clock_gate_out_pin : true ;
      direction : output ;
      max_capacitance : 0.7211 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      state_function : "(CLK&IQ2)" ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.2096, 0.2089, 0.209, 0.2093, 0.2095, 0.2096, 0.2096, 0.2096, 0.2097, 0.2097",\
                 "0.209, 0.2082, 0.2083, 0.2086, 0.2088, 0.2089, 0.209, 0.209, 0.209, 0.209",\
                 "0.2102, 0.2091, 0.2088, 0.2092, 0.2095, 0.2097, 0.2097, 0.2098, 0.2098, 0.2099",\
                 "0.2207, 0.2182, 0.216, 0.2155, 0.2153, 0.2153, 0.2153, 0.2153, 0.2154, 0.2154",\
                 "0.2397, 0.2359, 0.2313, 0.2292, 0.2284, 0.228, 0.2279, 0.2278, 0.2278, 0.2277",\
                 "0.2686, 0.2632, 0.2559, 0.2519, 0.2498, 0.2488, 0.2483, 0.248, 0.2479, 0.2478",\
                 "0.3078, 0.3009, 0.2907, 0.2843, 0.2808, 0.2789, 0.2778, 0.2772, 0.2768, 0.2765",\
                 "0.3577, 0.3493, 0.336, 0.3272, 0.3218, 0.3187, 0.317, 0.3159, 0.3152, 0.3147",\
                 "0.4141, 0.4047, 0.3884, 0.3767, 0.3694, 0.365, 0.3623, 0.3606, 0.3595, 0.3588",\
                 "0.4747, 0.4642, 0.445, 0.4307, 0.4211, 0.415, 0.4112, 0.4087, 0.4072, 0.4061");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.2096, 0.2089, 0.209, 0.2093, 0.2095, 0.2096, 0.2096, 0.2096, 0.2097, 0.2097",\
                 "0.209, 0.2082, 0.2083, 0.2086, 0.2088, 0.2089, 0.209, 0.209, 0.209, 0.209",\
                 "0.2102, 0.2091, 0.2088, 0.2092, 0.2095, 0.2097, 0.2097, 0.2098, 0.2098, 0.2099",\
                 "0.2207, 0.2182, 0.216, 0.2155, 0.2153, 0.2153, 0.2153, 0.2153, 0.2154, 0.2154",\
                 "0.2397, 0.2359, 0.2313, 0.2292, 0.2284, 0.228, 0.2279, 0.2278, 0.2278, 0.2277",\
                 "0.2686, 0.2632, 0.2559, 0.2519, 0.2498, 0.2488, 0.2483, 0.248, 0.2479, 0.2478",\
                 "0.3078, 0.3009, 0.2907, 0.2843, 0.2808, 0.2789, 0.2778, 0.2772, 0.2768, 0.2765",\
                 "0.3577, 0.3493, 0.336, 0.3272, 0.3218, 0.3187, 0.317, 0.3159, 0.3152, 0.3147",\
                 "0.4141, 0.4047, 0.3884, 0.3767, 0.3694, 0.365, 0.3623, 0.3606, 0.3595, 0.3588",\
                 "0.4747, 0.4642, 0.445, 0.4307, 0.4211, 0.415, 0.4112, 0.4087, 0.4072, 0.4061");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "!E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("-0.01924, -0.01999, -0.01988, -0.01946, -0.01925, -0.01917, -0.01912, -0.01907, -0.01904, -0.01902",\
                 "-0.01977, -0.02061, -0.02052, -0.0201, -0.01993, -0.01975, -0.01972, -0.01966, -0.01964, -0.01961",\
                 "-0.01863, -0.01965, -0.02001, -0.01961, -0.01934, -0.01916, -0.01904, -0.01899, -0.01893, -0.0189",\
                 "-0.008382, -0.01088, -0.01317, -0.01362, -0.01377, -0.01369, -0.01372, -0.01374, -0.0137, -0.01366",\
                 "0.009633, 0.005831, 0.001327, -0.0007887, -0.001624, -0.001964, -0.002112, -0.002191, -0.002198, -0.002274",\
                 "0.03716, 0.03171, 0.02444, 0.02034, 0.0184, 0.01743, 0.01684, 0.01658, 0.01651, 0.01638",\
                 "0.07411, 0.06705, 0.05692, 0.05039, 0.04705, 0.04524, 0.04412, 0.04352, 0.04313, 0.04283",\
                 "0.1191, 0.1108, 0.09766, 0.08865, 0.08334, 0.08034, 0.07856, 0.07747, 0.07674, 0.07621",\
                 "0.1693, 0.1598, 0.1436, 0.132, 0.1246, 0.1202, 0.1175, 0.1158, 0.1147, 0.114",\
                 "0.224, 0.2137, 0.1944, 0.1801, 0.1705, 0.1643, 0.1605, 0.158, 0.1564, 0.1553");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.1434, 0.1413, 0.1398, 0.1399, 0.1405, 0.1415, 0.1425, 0.1438, 0.1456, 0.1524",\
                 "0.1423, 0.1402, 0.1386, 0.1388, 0.1395, 0.1404, 0.1415, 0.1428, 0.1443, 0.1509",\
                 "0.1437, 0.1415, 0.1395, 0.1394, 0.1401, 0.1411, 0.1424, 0.1435, 0.145, 0.1517",\
                 "0.1581, 0.155, 0.1516, 0.1503, 0.1506, 0.1516, 0.1523, 0.1537, 0.1552, 0.1632",\
                 "0.1855, 0.1815, 0.1763, 0.1743, 0.1732, 0.1736, 0.1744, 0.1758, 0.1783, 0.1857",\
                 "0.2289, 0.2236, 0.2164, 0.2118, 0.2109, 0.2107, 0.2105, 0.2115, 0.2133, 0.2236",\
                 "0.2881, 0.2815, 0.2724, 0.2655, 0.2625, 0.263, 0.2624, 0.2616, 0.2635, 0.2786",\
                 "0.3644, 0.356, 0.3449, 0.3365, 0.3309, 0.3288, 0.3304, 0.3302, 0.3309, 0.3479",\
                 "0.4578, 0.4482, 0.4345, 0.4241, 0.4171, 0.4129, 0.4122, 0.414, 0.4159, 0.441",\
                 "0.5689, 0.5577, 0.5416, 0.5295, 0.5201, 0.5155, 0.5112, 0.5123, 0.5188, 0.5576");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("-0.008783, -0.009611, -0.009526, -0.009103, -0.008866, -0.008786, -0.00873, -0.008691, -0.008658, -0.008638",\
                 "-0.009265, -0.01012, -0.009991, -0.009625, -0.00937, -0.009271, -0.009209, -0.009186, -0.009156, -0.009136",\
                 "-0.008083, -0.009113, -0.009466, -0.0091, -0.0088, -0.008618, -0.008499, -0.00845, -0.008387, -0.008354",\
                 "0.002084, -0.0004473, -0.002737, -0.003183, -0.003338, -0.003249, -0.003282, -0.003289, -0.003265, -0.003226",\
                 "0.02017, 0.01637, 0.01188, 0.00975, 0.008928, 0.008562, 0.008387, 0.008351, 0.008327, 0.008268",\
                 "0.04778, 0.04229, 0.03506, 0.03096, 0.02902, 0.02804, 0.02745, 0.0272, 0.02713, 0.027",\
                 "0.08477, 0.07767, 0.06758, 0.06104, 0.05761, 0.05579, 0.0548, 0.05408, 0.05368, 0.05348",\
                 "0.1293, 0.121, 0.1078, 0.09875, 0.09347, 0.09043, 0.08865, 0.0876, 0.08684, 0.08634",\
                 "0.1784, 0.169, 0.1528, 0.1411, 0.1338, 0.1293, 0.1266, 0.125, 0.1239, 0.1231",\
                 "0.2324, 0.222, 0.2027, 0.1883, 0.1788, 0.1726, 0.1688, 0.1664, 0.1647, 0.1636");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.1433, 0.1412, 0.1397, 0.1398, 0.1404, 0.1414, 0.1424, 0.1438, 0.1453, 0.1524",\
                 "0.1422, 0.1401, 0.1385, 0.1387, 0.1394, 0.1403, 0.1414, 0.1425, 0.1443, 0.1509",\
                 "0.1436, 0.1414, 0.1394, 0.1394, 0.14, 0.141, 0.1423, 0.1432, 0.145, 0.1514",\
                 "0.158, 0.1549, 0.1515, 0.1502, 0.1505, 0.1513, 0.1521, 0.1534, 0.1549, 0.1629",\
                 "0.1854, 0.1814, 0.1761, 0.1741, 0.1731, 0.1735, 0.1744, 0.1752, 0.177, 0.1854",\
                 "0.2288, 0.2235, 0.2163, 0.2117, 0.2109, 0.2106, 0.2104, 0.2115, 0.213, 0.223",\
                 "0.288, 0.2814, 0.2722, 0.2654, 0.2623, 0.2628, 0.2625, 0.2617, 0.2639, 0.2768",\
                 "0.3642, 0.356, 0.3448, 0.3363, 0.3314, 0.3287, 0.3307, 0.3299, 0.3309, 0.3479",\
                 "0.4577, 0.4479, 0.4343, 0.424, 0.4169, 0.4129, 0.4116, 0.4144, 0.4159, 0.4412",\
                 "0.5688, 0.5576, 0.5416, 0.5294, 0.52, 0.5149, 0.5106, 0.5117, 0.5185, 0.5595");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("-0.00858, -0.009336, -0.00926, -0.008798, -0.008679, -0.008554, -0.008488, -0.008438, -0.008412, -0.008395",\
                 "-0.009078, -0.009903, -0.009752, -0.009412, -0.009158, -0.009059, -0.008996, -0.008973, -0.008923, -0.008903",\
                 "-0.007943, -0.008973, -0.009329, -0.00896, -0.008659, -0.008478, -0.008362, -0.008309, -0.00825, -0.008214",\
                 "0.002218, -0.000231, -0.002373, -0.003016, -0.003125, -0.003135, -0.003066, -0.003092, -0.00299, -0.002967",\
                 "0.02028, 0.01639, 0.01187, 0.009821, 0.008956, 0.008633, 0.008438, 0.008418, 0.008369, 0.008332",\
                 "0.04763, 0.04218, 0.03491, 0.03081, 0.02887, 0.02787, 0.02734, 0.02707, 0.02697, 0.02687",\
                 "0.08438, 0.07732, 0.06728, 0.06075, 0.05742, 0.05557, 0.05451, 0.05379, 0.05339, 0.05313",\
                 "0.1283, 0.12, 0.1067, 0.0978, 0.09239, 0.08945, 0.08774, 0.08658, 0.08586, 0.08536",\
                 "0.1764, 0.1669, 0.1507, 0.1391, 0.1318, 0.1274, 0.1246, 0.123, 0.1219, 0.1212",\
                 "0.2294, 0.2189, 0.1997, 0.1854, 0.1758, 0.1696, 0.1658, 0.1634, 0.1618, 0.1607");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.1433, 0.1412, 0.1397, 0.1398, 0.1404, 0.1414, 0.1428, 0.1438, 0.1453, 0.1524",\
                 "0.1422, 0.1402, 0.1386, 0.1387, 0.1392, 0.1404, 0.1413, 0.1425, 0.1443, 0.1522",\
                 "0.1435, 0.1414, 0.1394, 0.1393, 0.1399, 0.1409, 0.142, 0.1429, 0.1453, 0.1514",\
                 "0.158, 0.1549, 0.1515, 0.1502, 0.1503, 0.1513, 0.1526, 0.1534, 0.1552, 0.1645",\
                 "0.1856, 0.1814, 0.1762, 0.1741, 0.1729, 0.1734, 0.1744, 0.1755, 0.1773, 0.186",\
                 "0.2287, 0.2234, 0.2163, 0.2117, 0.2111, 0.2107, 0.2102, 0.2108, 0.214, 0.2236",\
                 "0.288, 0.2813, 0.2721, 0.2658, 0.2625, 0.2628, 0.2623, 0.2623, 0.2635, 0.2786",\
                 "0.3642, 0.356, 0.3448, 0.3363, 0.3309, 0.3286, 0.3301, 0.3299, 0.3309, 0.3476",\
                 "0.4577, 0.448, 0.4343, 0.424, 0.4168, 0.4129, 0.4116, 0.4144, 0.4159, 0.441",\
                 "0.5688, 0.5577, 0.5417, 0.5294, 0.5201, 0.5151, 0.5109, 0.512, 0.5188, 0.56");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b0 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.2299, 0.2696, 0.3744, 0.5411, 0.7892, 1.135, 1.591, 2.165, 2.864, 3.698",\
                 "0.2468, 0.2866, 0.3914, 0.5582, 0.8062, 1.152, 1.608, 2.182, 2.882, 3.717",\
                 "0.3117, 0.3511, 0.4557, 0.6224, 0.8705, 1.217, 1.672, 2.245, 2.947, 3.782",\
                 "0.4181, 0.4597, 0.5674, 0.7351, 0.9829, 1.329, 1.784, 2.358, 3.057, 3.892",\
                 "0.5387, 0.5838, 0.6976, 0.8693, 1.118, 1.464, 1.918, 2.492, 3.192, 4.026",\
                 "0.6732, 0.7231, 0.8452, 1.022, 1.271, 1.617, 2.072, 2.644, 3.344, 4.178",\
                 "0.8197, 0.875, 1.006, 1.192, 1.445, 1.791, 2.245, 2.818, 3.517, 4.351",\
                 "0.9781, 1.038, 1.18, 1.376, 1.636, 1.987, 2.441, 3.014, 3.713, 4.546",\
                 "1.149, 1.214, 1.367, 1.573, 1.842, 2.2, 2.66, 3.233, 3.932, 4.766",\
                 "1.334, 1.403, 1.567, 1.785, 2.063, 2.428, 2.897, 3.478, 4.178, 5.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.29, 0.3371, 0.4713, 0.6998, 1.049, 1.539, 2.183, 2.995, 3.986, 5.164",\
                 "0.3004, 0.3474, 0.4817, 0.7103, 1.06, 1.549, 2.193, 3.006, 3.997, 5.177",\
                 "0.3449, 0.3919, 0.5256, 0.754, 1.104, 1.593, 2.238, 3.05, 4.04, 5.221",\
                 "0.4172, 0.4651, 0.5999, 0.8278, 1.177, 1.666, 2.311, 3.122, 4.112, 5.294",\
                 "0.4851, 0.5348, 0.6716, 0.9003, 1.249, 1.738, 2.382, 3.193, 4.182, 5.365",\
                 "0.5485, 0.6012, 0.7414, 0.9702, 1.318, 1.807, 2.45, 3.262, 4.252, 5.433",\
                 "0.6024, 0.6589, 0.805, 1.037, 1.384, 1.871, 2.515, 3.325, 4.315, 5.494",\
                 "0.6446, 0.7053, 0.8583, 1.096, 1.446, 1.933, 2.575, 3.386, 4.375, 5.556",\
                 "0.6725, 0.7377, 0.8989, 1.143, 1.499, 1.991, 2.633, 3.442, 4.432, 5.611",\
                 "0.6847, 0.7544, 0.9242, 1.177, 1.538, 2.037, 2.684, 3.494, 4.483, 5.662");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.08232, 0.1256, 0.2536, 0.5015, 0.9096, 1.489, 2.254, 3.223, 4.401, 5.806",\
                 "0.08232, 0.1256, 0.2537, 0.5015, 0.908, 1.489, 2.255, 3.224, 4.402, 5.813",\
                 "0.08286, 0.1265, 0.2541, 0.5024, 0.9093, 1.49, 2.257, 3.225, 4.408, 5.816",\
                 "0.0967, 0.139, 0.263, 0.5052, 0.9088, 1.488, 2.255, 3.221, 4.403, 5.81",\
                 "0.116, 0.1582, 0.281, 0.5156, 0.9134, 1.489, 2.256, 3.225, 4.398, 5.812",\
                 "0.1388, 0.1848, 0.3044, 0.5298, 0.9188, 1.492, 2.257, 3.221, 4.402, 5.813",\
                 "0.165, 0.213, 0.3356, 0.5552, 0.932, 1.498, 2.258, 3.221, 4.397, 5.808",\
                 "0.1904, 0.2454, 0.371, 0.5878, 0.9588, 1.514, 2.264, 3.221, 4.396, 5.8",\
                 "0.216, 0.2742, 0.4092, 0.6252, 0.9932, 1.547, 2.286, 3.232, 4.4, 5.799",\
                 "0.2432, 0.3062, 0.4482, 0.6658, 1.03, 1.586, 2.33, 3.263, 4.416, 5.806");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.1045, 0.1634, 0.3541, 0.7332, 1.345, 2.205, 3.344, 4.773, 6.521, 8.597",\
                 "0.1048, 0.1634, 0.3542, 0.7329, 1.343, 2.21, 3.345, 4.771, 6.517, 8.604",\
                 "0.1048, 0.1633, 0.3542, 0.7325, 1.343, 2.21, 3.348, 4.774, 6.521, 8.603",\
                 "0.1138, 0.1711, 0.3596, 0.7354, 1.346, 2.207, 3.341, 4.774, 6.526, 8.601",\
                 "0.1256, 0.1818, 0.3686, 0.74, 1.346, 2.21, 3.348, 4.776, 6.516, 8.601",\
                 "0.1426, 0.1972, 0.38, 0.7444, 1.349, 2.21, 3.346, 4.773, 6.521, 8.601",\
                 "0.1608, 0.2166, 0.3984, 0.754, 1.353, 2.212, 3.345, 4.779, 6.518, 8.599",\
                 "0.1828, 0.241, 0.4216, 0.7746, 1.365, 2.214, 3.346, 4.775, 6.52, 8.598",\
                 "0.2054, 0.2674, 0.4476, 0.798, 1.387, 2.233, 3.352, 4.776, 6.521, 8.611",\
                 "0.2304, 0.2928, 0.4758, 0.826, 1.418, 2.264, 3.373, 4.783, 6.522, 8.598");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b1 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&!TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.2298, 0.2696, 0.3744, 0.5411, 0.7892, 1.135, 1.591, 2.165, 2.864, 3.698",\
                 "0.2468, 0.2866, 0.3914, 0.5582, 0.8062, 1.152, 1.608, 2.182, 2.882, 3.717",\
                 "0.3117, 0.3511, 0.4557, 0.6224, 0.8705, 1.217, 1.672, 2.246, 2.947, 3.782",\
                 "0.418, 0.4597, 0.5674, 0.7351, 0.9829, 1.329, 1.784, 2.357, 3.057, 3.891",\
                 "0.5387, 0.5838, 0.6976, 0.8693, 1.118, 1.463, 1.918, 2.492, 3.192, 4.026",\
                 "0.6732, 0.7231, 0.8452, 1.022, 1.271, 1.617, 2.072, 2.644, 3.344, 4.178",\
                 "0.8197, 0.875, 1.006, 1.192, 1.445, 1.791, 2.245, 2.818, 3.517, 4.351",\
                 "0.9781, 1.038, 1.18, 1.376, 1.636, 1.987, 2.441, 3.014, 3.713, 4.546",\
                 "1.149, 1.214, 1.367, 1.573, 1.842, 2.2, 2.66, 3.233, 3.932, 4.766",\
                 "1.334, 1.403, 1.567, 1.785, 2.063, 2.428, 2.897, 3.478, 4.178, 5.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.2901, 0.3371, 0.4713, 0.6998, 1.049, 1.539, 2.183, 2.995, 3.986, 5.164",\
                 "0.3004, 0.3474, 0.4817, 0.7103, 1.06, 1.549, 2.193, 3.006, 3.997, 5.177",\
                 "0.3449, 0.3919, 0.5256, 0.754, 1.104, 1.593, 2.238, 3.05, 4.04, 5.221",\
                 "0.4172, 0.4651, 0.5999, 0.8278, 1.177, 1.666, 2.31, 3.122, 4.113, 5.293",\
                 "0.4851, 0.5348, 0.6716, 0.9003, 1.249, 1.738, 2.382, 3.193, 4.184, 5.366",\
                 "0.5485, 0.6012, 0.7414, 0.9702, 1.318, 1.807, 2.45, 3.261, 4.252, 5.433",\
                 "0.6024, 0.6589, 0.805, 1.037, 1.384, 1.872, 2.515, 3.325, 4.316, 5.496",\
                 "0.6446, 0.7052, 0.8583, 1.096, 1.446, 1.933, 2.575, 3.386, 4.375, 5.555",\
                 "0.6725, 0.7377, 0.8989, 1.143, 1.499, 1.99, 2.633, 3.442, 4.432, 5.611",\
                 "0.6847, 0.7544, 0.9242, 1.177, 1.538, 2.037, 2.685, 3.494, 4.483, 5.662");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.08212, 0.1257, 0.2537, 0.5017, 0.9096, 1.489, 2.254, 3.223, 4.401, 5.806",\
                 "0.0822, 0.1256, 0.2537, 0.502, 0.9091, 1.488, 2.255, 3.224, 4.402, 5.813",\
                 "0.08286, 0.1265, 0.2541, 0.5024, 0.9093, 1.49, 2.257, 3.225, 4.407, 5.816",\
                 "0.09672, 0.139, 0.263, 0.5052, 0.9088, 1.488, 2.255, 3.225, 4.403, 5.81",\
                 "0.116, 0.1582, 0.281, 0.5158, 0.9136, 1.49, 2.256, 3.225, 4.399, 5.812",\
                 "0.1388, 0.1848, 0.3044, 0.5298, 0.919, 1.492, 2.257, 3.221, 4.402, 5.813",\
                 "0.165, 0.213, 0.3356, 0.5552, 0.9322, 1.498, 2.257, 3.221, 4.395, 5.808",\
                 "0.19, 0.2454, 0.3708, 0.5878, 0.9588, 1.513, 2.263, 3.222, 4.397, 5.802",\
                 "0.216, 0.2742, 0.4094, 0.6252, 0.9932, 1.546, 2.286, 3.234, 4.398, 5.799",\
                 "0.2432, 0.3062, 0.4486, 0.6658, 1.03, 1.586, 2.33, 3.263, 4.416, 5.802");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.1045, 0.1634, 0.3541, 0.7332, 1.345, 2.205, 3.344, 4.773, 6.521, 8.596",\
                 "0.1048, 0.1634, 0.3542, 0.7329, 1.343, 2.21, 3.345, 4.771, 6.517, 8.604",\
                 "0.1048, 0.1633, 0.3542, 0.7325, 1.343, 2.21, 3.348, 4.774, 6.521, 8.603",\
                 "0.1138, 0.1711, 0.3598, 0.734, 1.346, 2.208, 3.342, 4.772, 6.52, 8.603",\
                 "0.1256, 0.1818, 0.3688, 0.74, 1.346, 2.21, 3.349, 4.777, 6.521, 8.601",\
                 "0.1426, 0.1972, 0.38, 0.7444, 1.349, 2.211, 3.346, 4.772, 6.525, 8.603",\
                 "0.1608, 0.2166, 0.3984, 0.754, 1.353, 2.213, 3.345, 4.779, 6.517, 8.604",\
                 "0.1828, 0.2406, 0.4216, 0.7748, 1.366, 2.214, 3.348, 4.775, 6.529, 8.598",\
                 "0.2054, 0.266, 0.4478, 0.798, 1.39, 2.234, 3.351, 4.777, 6.521, 8.609",\
                 "0.2304, 0.293, 0.4756, 0.826, 1.418, 2.264, 3.375, 4.784, 6.523, 8.6");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b1 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.2299, 0.2696, 0.3744, 0.5411, 0.7892, 1.135, 1.591, 2.165, 2.865, 3.7",\
                 "0.2469, 0.2866, 0.3914, 0.5582, 0.8062, 1.152, 1.608, 2.182, 2.882, 3.717",\
                 "0.3117, 0.3511, 0.4557, 0.6224, 0.8705, 1.217, 1.672, 2.246, 2.947, 3.782",\
                 "0.4181, 0.4597, 0.5675, 0.7351, 0.9829, 1.329, 1.784, 2.358, 3.058, 3.891",\
                 "0.5389, 0.5839, 0.6978, 0.8693, 1.118, 1.464, 1.918, 2.492, 3.192, 4.025",\
                 "0.6732, 0.7231, 0.8452, 1.022, 1.271, 1.617, 2.072, 2.644, 3.345, 4.178",\
                 "0.8199, 0.875, 1.006, 1.191, 1.445, 1.791, 2.245, 2.818, 3.517, 4.351",\
                 "0.9781, 1.038, 1.181, 1.376, 1.637, 1.987, 2.441, 3.014, 3.713, 4.546",\
                 "1.149, 1.214, 1.367, 1.573, 1.842, 2.2, 2.66, 3.233, 3.932, 4.766",\
                 "1.334, 1.403, 1.567, 1.785, 2.063, 2.428, 2.897, 3.478, 4.178, 5.012");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.29, 0.3371, 0.4713, 0.6998, 1.049, 1.539, 2.183, 2.995, 3.986, 5.164",\
                 "0.3004, 0.3475, 0.4817, 0.7102, 1.06, 1.549, 2.194, 3.006, 3.996, 5.175",\
                 "0.3449, 0.3919, 0.5256, 0.7539, 1.103, 1.593, 2.237, 3.05, 4.04, 5.221",\
                 "0.4172, 0.4651, 0.5998, 0.8277, 1.177, 1.666, 2.31, 3.121, 4.113, 5.291",\
                 "0.4851, 0.5348, 0.6716, 0.9003, 1.249, 1.738, 2.382, 3.193, 4.183, 5.365",\
                 "0.5485, 0.6012, 0.7414, 0.9701, 1.318, 1.807, 2.45, 3.262, 4.251, 5.433",\
                 "0.6024, 0.6589, 0.805, 1.037, 1.384, 1.872, 2.515, 3.325, 4.316, 5.496",\
                 "0.6446, 0.7053, 0.8584, 1.096, 1.446, 1.933, 2.576, 3.386, 4.375, 5.555",\
                 "0.6723, 0.7377, 0.8989, 1.143, 1.499, 1.991, 2.633, 3.442, 4.432, 5.611",\
                 "0.6847, 0.7544, 0.9242, 1.177, 1.538, 2.037, 2.685, 3.494, 4.483, 5.662");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.08232, 0.1256, 0.2536, 0.5016, 0.9078, 1.489, 2.255, 3.224, 4.402, 5.813",\
                 "0.08222, 0.1256, 0.2536, 0.502, 0.9089, 1.488, 2.255, 3.224, 4.402, 5.813",\
                 "0.08286, 0.1265, 0.2541, 0.5024, 0.9093, 1.49, 2.257, 3.225, 4.407, 5.816",\
                 "0.0968, 0.139, 0.2631, 0.5052, 0.9088, 1.489, 2.256, 3.223, 4.401, 5.808",\
                 "0.116, 0.1584, 0.281, 0.5158, 0.914, 1.491, 2.254, 3.225, 4.398, 5.81",\
                 "0.1388, 0.1848, 0.3044, 0.53, 0.919, 1.492, 2.257, 3.221, 4.399, 5.808",\
                 "0.1644, 0.2124, 0.3356, 0.5554, 0.9318, 1.497, 2.258, 3.22, 4.397, 5.807",\
                 "0.1904, 0.2434, 0.3708, 0.5876, 0.959, 1.514, 2.266, 3.222, 4.396, 5.797",\
                 "0.216, 0.2742, 0.4094, 0.6252, 0.9936, 1.547, 2.287, 3.232, 4.398, 5.797",\
                 "0.2432, 0.3058, 0.4494, 0.6654, 1.03, 1.588, 2.33, 3.261, 4.414, 5.806");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.1044, 0.1634, 0.3541, 0.7332, 1.345, 2.205, 3.344, 4.773, 6.521, 8.596",\
                 "0.1048, 0.1633, 0.3541, 0.7332, 1.346, 2.207, 3.342, 4.773, 6.521, 8.599",\
                 "0.1046, 0.1633, 0.3542, 0.7328, 1.346, 2.21, 3.346, 4.773, 6.519, 8.603",\
                 "0.1138, 0.1712, 0.3596, 0.7338, 1.345, 2.207, 3.345, 4.779, 6.521, 8.598",\
                 "0.1254, 0.1816, 0.3686, 0.74, 1.347, 2.207, 3.348, 4.774, 6.521, 8.603",\
                 "0.1426, 0.1972, 0.38, 0.7446, 1.35, 2.211, 3.342, 4.773, 6.518, 8.602",\
                 "0.161, 0.2164, 0.399, 0.7546, 1.353, 2.212, 3.345, 4.777, 6.518, 8.602",\
                 "0.1828, 0.241, 0.4212, 0.7748, 1.365, 2.215, 3.346, 4.776, 6.518, 8.598",\
                 "0.2072, 0.2658, 0.4476, 0.798, 1.388, 2.233, 3.354, 4.777, 6.521, 8.611",\
                 "0.23, 0.293, 0.4764, 0.826, 1.418, 2.263, 3.374, 4.784, 6.521, 8.598");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.2299, 0.2696, 0.3744, 0.5411, 0.7892, 1.135, 1.591, 2.165, 2.865, 3.7",\
                 "0.2469, 0.2866, 0.3914, 0.5582, 0.8062, 1.152, 1.608, 2.182, 2.882, 3.717",\
                 "0.3117, 0.3511, 0.4557, 0.6224, 0.8705, 1.217, 1.672, 2.246, 2.947, 3.782",\
                 "0.4181, 0.4597, 0.5675, 0.7351, 0.9829, 1.329, 1.784, 2.358, 3.058, 3.891",\
                 "0.5389, 0.5839, 0.6978, 0.8693, 1.118, 1.464, 1.918, 2.492, 3.192, 4.025",\
                 "0.6732, 0.7231, 0.8452, 1.022, 1.271, 1.617, 2.072, 2.644, 3.345, 4.178",\
                 "0.8199, 0.875, 1.006, 1.191, 1.445, 1.791, 2.245, 2.818, 3.517, 4.351",\
                 "0.9781, 1.038, 1.181, 1.376, 1.637, 1.987, 2.441, 3.014, 3.713, 4.546",\
                 "1.149, 1.214, 1.367, 1.573, 1.842, 2.2, 2.66, 3.233, 3.932, 4.766",\
                 "1.334, 1.403, 1.567, 1.785, 2.063, 2.428, 2.897, 3.478, 4.178, 5.012");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.29, 0.3371, 0.4713, 0.6998, 1.049, 1.539, 2.183, 2.995, 3.986, 5.164",\
                 "0.3004, 0.3475, 0.4817, 0.7102, 1.06, 1.549, 2.194, 3.006, 3.996, 5.175",\
                 "0.3449, 0.3919, 0.5256, 0.7539, 1.103, 1.593, 2.237, 3.05, 4.04, 5.221",\
                 "0.4172, 0.4651, 0.5998, 0.8277, 1.177, 1.666, 2.31, 3.121, 4.113, 5.291",\
                 "0.4851, 0.5348, 0.6716, 0.9003, 1.249, 1.738, 2.382, 3.193, 4.183, 5.365",\
                 "0.5485, 0.6012, 0.7414, 0.9701, 1.318, 1.807, 2.45, 3.262, 4.251, 5.433",\
                 "0.6024, 0.6589, 0.805, 1.037, 1.384, 1.872, 2.515, 3.325, 4.316, 5.496",\
                 "0.6446, 0.7053, 0.8584, 1.096, 1.446, 1.933, 2.576, 3.386, 4.375, 5.555",\
                 "0.6723, 0.7377, 0.8989, 1.143, 1.499, 1.991, 2.633, 3.442, 4.432, 5.611",\
                 "0.6847, 0.7544, 0.9242, 1.177, 1.538, 2.037, 2.685, 3.494, 4.483, 5.662");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.08232, 0.1256, 0.2536, 0.5015, 0.9096, 1.489, 2.254, 3.223, 4.401, 5.806",\
                 "0.08232, 0.1256, 0.2537, 0.5015, 0.908, 1.489, 2.255, 3.224, 4.402, 5.813",\
                 "0.08286, 0.1265, 0.2541, 0.5024, 0.9093, 1.49, 2.257, 3.225, 4.408, 5.816",\
                 "0.0967, 0.139, 0.263, 0.5052, 0.9088, 1.488, 2.255, 3.221, 4.403, 5.81",\
                 "0.116, 0.1582, 0.281, 0.5156, 0.9134, 1.489, 2.256, 3.225, 4.398, 5.812",\
                 "0.1388, 0.1848, 0.3044, 0.5298, 0.9188, 1.492, 2.257, 3.221, 4.402, 5.813",\
                 "0.165, 0.213, 0.3356, 0.5552, 0.932, 1.498, 2.258, 3.221, 4.397, 5.808",\
                 "0.1904, 0.2454, 0.371, 0.5878, 0.9588, 1.514, 2.264, 3.221, 4.396, 5.8",\
                 "0.216, 0.2742, 0.4092, 0.6252, 0.9932, 1.547, 2.286, 3.232, 4.4, 5.799",\
                 "0.2432, 0.3062, 0.4482, 0.6658, 1.03, 1.586, 2.33, 3.263, 4.416, 5.806");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.1044, 0.1634, 0.3541, 0.7332, 1.345, 2.205, 3.344, 4.773, 6.521, 8.596",\
                 "0.1048, 0.1633, 0.3541, 0.7332, 1.346, 2.207, 3.342, 4.773, 6.521, 8.599",\
                 "0.1046, 0.1633, 0.3542, 0.7328, 1.346, 2.21, 3.346, 4.773, 6.519, 8.603",\
                 "0.1138, 0.1712, 0.3596, 0.7338, 1.345, 2.207, 3.345, 4.779, 6.521, 8.598",\
                 "0.1254, 0.1816, 0.3686, 0.74, 1.347, 2.207, 3.348, 4.774, 6.521, 8.603",\
                 "0.1426, 0.1972, 0.38, 0.7446, 1.35, 2.211, 3.342, 4.773, 6.518, 8.602",\
                 "0.161, 0.2164, 0.399, 0.7546, 1.353, 2.212, 3.345, 4.777, 6.518, 8.602",\
                 "0.1828, 0.241, 0.4212, 0.7748, 1.365, 2.215, 3.346, 4.776, 6.518, 8.598",\
                 "0.2072, 0.2658, 0.4476, 0.798, 1.388, 2.233, 3.354, 4.777, 6.521, 8.611",\
                 "0.23, 0.293, 0.4764, 0.826, 1.418, 2.263, 3.374, 4.784, 6.521, 8.598");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b0 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational_fall ;
        when : "!E&!TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.2298, 0.2696, 0.3744, 0.5411, 0.7893, 1.138, 1.595, 2.168, 2.867, 3.701",\
                 "0.2468, 0.2866, 0.3914, 0.5581, 0.8063, 1.155, 1.612, 2.185, 2.884, 3.718",\
                 "0.3117, 0.3511, 0.4557, 0.6224, 0.8706, 1.219, 1.676, 2.249, 2.949, 3.783",\
                 "0.418, 0.4597, 0.5675, 0.7351, 0.9831, 1.331, 1.788, 2.361, 3.061, 3.894",\
                 "0.5387, 0.5838, 0.6978, 0.8693, 1.118, 1.466, 1.923, 2.495, 3.195, 4.028",\
                 "0.6732, 0.7232, 0.8451, 1.022, 1.271, 1.619, 2.076, 2.648, 3.347, 4.181",\
                 "0.8193, 0.8748, 1.006, 1.191, 1.445, 1.793, 2.25, 2.822, 3.52, 4.354",\
                 "0.978, 1.038, 1.181, 1.376, 1.637, 1.988, 2.446, 3.017, 3.716, 4.549",\
                 "1.149, 1.214, 1.367, 1.573, 1.842, 2.201, 2.66, 3.231, 3.929, 4.762",\
                 "1.334, 1.403, 1.567, 1.785, 2.063, 2.43, 2.891, 3.46, 4.157, 4.99");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00597, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5454, 0.7211");
          values("0.08212, 0.1256, 0.2537, 0.5016, 0.9095, 1.495, 2.257, 3.214, 4.391, 5.798",\
                 "0.08214, 0.1256, 0.2537, 0.5018, 0.9096, 1.496, 2.257, 3.214, 4.391, 5.798",\
                 "0.08284, 0.1262, 0.2542, 0.5017, 0.9093, 1.495, 2.257, 3.213, 4.391, 5.791",\
                 "0.09674, 0.1389, 0.2631, 0.5052, 0.91, 1.496, 2.257, 3.212, 4.388, 5.795",\
                 "0.1158, 0.1584, 0.2808, 0.5158, 0.914, 1.496, 2.258, 3.212, 4.392, 5.798",\
                 "0.1392, 0.1846, 0.305, 0.53, 0.9198, 1.5, 2.258, 3.212, 4.391, 5.794",\
                 "0.1642, 0.2134, 0.3356, 0.555, 0.933, 1.505, 2.261, 3.215, 4.393, 5.797",\
                 "0.1904, 0.244, 0.3708, 0.5872, 0.9604, 1.521, 2.268, 3.216, 4.388, 5.795",\
                 "0.2158, 0.2744, 0.409, 0.6248, 0.994, 1.547, 2.277, 3.217, 4.389, 5.791",\
                 "0.2434, 0.306, 0.4482, 0.6652, 1.031, 1.577, 2.291, 3.22, 4.394, 5.793");
        }
      }
    }

    pin(TE) {
      capacitance : 0.003131 ;
      clock_gate_test_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1327, 0.1322, 0.1315, 0.1322, 0.1381, 0.1516, 0.1741, 0.2049, \
                 0.2436, 0.2904");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1114, 0.1106, 0.1097, 0.1108, 0.1164, 0.128, 0.1466, 0.1723, \
                 0.2054, 0.246");
        }
      }

      internal_power() {
        when : "!CLK&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01227, 0.01227, 0.01223, 0.01226, 0.01228, 0.0123, 0.0123, 0.01229, \
                 0.01229, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01083, -0.01149, -0.01177, -0.01193, -0.01198, -0.01205, -0.01207, \
                 -0.01209, -0.01211, -0.01212");
        }
      }

      internal_power() {
        when : "CLK&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02198, 0.02195, 0.02197, 0.02193, 0.02195, 0.02193, 0.02197, \
                 0.02195, 0.02195, 0.02195");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01055, -0.01084, -0.01127, -0.01157, -0.01177, -0.01186, -0.01191, \
                 -0.01195, -0.01198, -0.01199");
        }
      }

      internal_power() {
        when : "CLK&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01229, 0.01228, 0.01228, 0.01228, 0.0123, 0.01231, 0.01229, \
                 0.01229, 0.01228, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01146, -0.0116, -0.0118, -0.01192, -0.01202, -0.01202, -0.01209, \
                 -0.0121, -0.01211, -0.01211");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : hold_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.401, -0.389, -0.353, -0.283, -0.228, -0.176, -0.145, -0.135, -0.148, -0.185",\
                 "-0.412, -0.406, -0.368, -0.293, -0.239, -0.189, -0.159, -0.146, -0.16, -0.195",\
                 "-0.452, -0.438, -0.401, -0.332, -0.27, -0.221, -0.187, -0.18, -0.192, -0.231",\
                 "-0.498, -0.488, -0.45, -0.382, -0.322, -0.27, -0.234, -0.225, -0.239, -0.277",\
                 "-0.583, -0.572, -0.538, -0.469, -0.41, -0.364, -0.327, -0.313, -0.315, -0.353",\
                 "-0.71, -0.701, -0.666, -0.6, -0.538, -0.491, -0.45, -0.432, -0.437, -0.466",\
                 "-0.867, -0.861, -0.836, -0.765, -0.708, -0.655, -0.614, -0.588, -0.594, -0.616",\
                 "-1.063, -1.055, -1.031, -0.963, -0.901, -0.848, -0.807, -0.784, -0.787, -0.805",\
                 "-1.277, -1.27, -1.256, -1.186, -1.133, -1.078, -1.037, -1.009, -0.996, -1.01",\
                 "-1.522, -1.514, -1.511, -1.44, -1.386, -1.338, -1.288, -1.253, -1.233, -1.238");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.309, -0.293, -0.256, -0.237, -0.243, -0.274, -0.314, -0.377, -0.459, -0.571",\
                 "-0.316, -0.302, -0.267, -0.245, -0.255, -0.284, -0.322, -0.39, -0.473, -0.577",\
                 "-0.345, -0.331, -0.291, -0.274, -0.278, -0.304, -0.341, -0.404, -0.49, -0.596",\
                 "-0.389, -0.372, -0.34, -0.314, -0.311, -0.328, -0.364, -0.426, -0.501, -0.607",\
                 "-0.434, -0.425, -0.382, -0.353, -0.343, -0.355, -0.39, -0.447, -0.523, -0.627",\
                 "-0.468, -0.46, -0.417, -0.381, -0.372, -0.378, -0.409, -0.457, -0.536, -0.64",\
                 "-0.487, -0.476, -0.429, -0.395, -0.382, -0.386, -0.42, -0.471, -0.547, -0.645",\
                 "-0.479, -0.464, -0.422, -0.382, -0.367, -0.376, -0.407, -0.458, -0.537, -0.637",\
                 "-0.441, -0.427, -0.387, -0.347, -0.329, -0.339, -0.37, -0.429, -0.506, -0.614",\
                 "-0.377, -0.366, -0.321, -0.282, -0.266, -0.278, -0.311, -0.368, -0.449, -0.557");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : setup_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.521, 0.511, 0.466, 0.392, 0.318, 0.257, 0.213, 0.2, 0.219, 0.269",\
                 "0.534, 0.524, 0.474, 0.399, 0.332, 0.265, 0.227, 0.211, 0.232, 0.279",\
                 "0.57, 0.556, 0.512, 0.437, 0.366, 0.304, 0.26, 0.249, 0.266, 0.312",\
                 "0.626, 0.613, 0.561, 0.49, 0.418, 0.358, 0.314, 0.299, 0.318, 0.361",\
                 "0.71, 0.703, 0.652, 0.581, 0.512, 0.443, 0.396, 0.388, 0.409, 0.449",\
                 "0.854, 0.842, 0.794, 0.717, 0.653, 0.583, 0.53, 0.516, 0.536, 0.576",\
                 "1.044, 1.032, 0.982, 0.895, 0.822, 0.756, 0.702, 0.696, 0.706, 0.752",\
                 "1.258, 1.246, 1.2, 1.111, 1.034, 0.966, 0.915, 0.904, 0.922, 0.965",\
                 "1.507, 1.502, 1.446, 1.36, 1.285, 1.209, 1.161, 1.151, 1.167, 1.208",\
                 "1.788, 1.781, 1.727, 1.637, 1.554, 1.487, 1.439, 1.429, 1.44, 1.474");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.819, 0.812, 0.75, 0.765, 0.824, 0.907, 1.014, 1.15, 1.31, 1.472",\
                 "0.835, 0.818, 0.764, 0.785, 0.834, 0.908, 1.024, 1.16, 1.316, 1.484",\
                 "0.855, 0.852, 0.787, 0.802, 0.862, 0.936, 1.048, 1.181, 1.342, 1.503",\
                 "0.899, 0.893, 0.828, 0.858, 0.903, 0.987, 1.093, 1.221, 1.384, 1.542",\
                 "0.956, 0.942, 0.878, 0.892, 0.949, 1.03, 1.134, 1.262, 1.422, 1.581",\
                 "0.992, 0.978, 0.915, 0.929, 0.986, 1.069, 1.164, 1.3, 1.453, 1.611",\
                 "1.002, 0.99, 0.936, 0.945, 1, 1.086, 1.179, 1.311, 1.462, 1.623",\
                 "0.998, 0.989, 0.926, 0.937, 0.99, 1.067, 1.178, 1.299, 1.455, 1.611",\
                 "0.966, 0.948, 0.884, 0.897, 0.953, 1.031, 1.137, 1.259, 1.408, 1.577",\
                 "0.898, 0.89, 0.826, 0.837, 0.892, 0.97, 1.061, 1.19, 1.35, 1.5");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__icgtp_4) {
    area : 74.636800 ;
    clock_gating_integrated_cell : "latch_posedge_precontrol" ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!E&!TE" ;
      value : "0.0001611225" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!E&TE" ;
      value : "0.0001649901" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&E&!TE" ;
      value : "0.0001507539" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&E&TE" ;
      value : "0.0001507539" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!E&!TE" ;
      value : "0.0002602974" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!E&TE" ;
      value : "0.000229581" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&E&!TE" ;
      value : "0.0002248917" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&E&TE" ;
      value : "0.0002248884" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002602974" ;
    }

    statetable("CLK E TE", "IQ2 IQN2") {
      table : "L L L : - - : L H, \
              L H - : - - : H L, \
              L - H : - - : H L, \
              H - - : - - : N N" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.007761 ;
      clock : true ;
      clock_gate_clock_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 1.024 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1198, 0.1194, 0.1204, 0.127, 0.1399, 0.1599, 0.1877, 0.2237, \
                 0.2681, 0.3213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05404, 0.0536, 0.05425, 0.05954, 0.07065, 0.08815, 0.1128, 0.1447, \
                 0.184, 0.2314");
        }
      }

      internal_power() {
        when : "!E&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2383, 0.2378, 0.2388, 0.2459, 0.2599, 0.2815, 0.3115, 0.3516, \
                 0.4052, 0.4738");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "E&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2277, 0.2273, 0.2283, 0.2355, 0.2494, 0.2711, 0.3011, 0.3415, \
                 0.396, 0.4655");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "E&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2276, 0.2271, 0.2282, 0.2353, 0.2494, 0.2712, 0.3013, 0.3425, \
                 0.398, 0.4686");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&!TE" ;

        fall_constraint(scalar) {
          values("0.728");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!E&TE" ;

        fall_constraint(scalar) {
          values("1.024");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_E_AND_NOT_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&!TE" ;

        fall_constraint(scalar) {
          values("0.965");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_E_AND_TE === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "E&TE" ;

        fall_constraint(scalar) {
          values("0.906");
        }
      }
    }

    pin(E) {
      capacitance : 0.003249 ;
      clock_gate_enable_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.124, 0.1234, 0.1229, 0.1245, 0.1316, 0.1447, 0.1647, 0.1913, \
                 0.2245, 0.2644");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1025, 0.1023, 0.1017, 0.1031, 0.1084, 0.119, 0.1352, 0.1572, \
                 0.1852, 0.2196");
        }
      }

      internal_power() {
        when : "!CLK&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008214, 0.008195, 0.008207, 0.008216, 0.008199, 0.008211, 0.008202, \
                 0.008177, 0.008148, 0.008109");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004508, -0.0045, -0.004518, -0.004524, -0.004536, -0.004549, \
                 -0.004552, -0.004562, -0.004576, -0.004592");
        }
      }

      internal_power() {
        when : "CLK&!TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01357, 0.01359, 0.01356, 0.01355, 0.01356, 0.0136, 0.01359, \
                 0.01358, 0.01358, 0.01359");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01193, -0.01193, -0.01193, -0.01204, -0.0121, -0.01213, -0.01215, \
                 -0.01215, -0.01217, -0.01217");
        }
      }

      internal_power() {
        when : "CLK&TE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005986, 0.005994, 0.006001, 0.006014, 0.006004, 0.006026, 0.006022, \
                 0.006027, 0.006023, 0.006022");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005446, -0.00545, -0.00543, -0.005444, -0.005445, -0.005463, \
                 -0.00546, -0.00546, -0.005457, -0.005458");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : hold_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.303, -0.293, -0.251, -0.192, -0.146, -0.107, -0.078, -0.076, -0.092, -0.144",\
                 "-0.309, -0.302, -0.261, -0.197, -0.154, -0.113, -0.09, -0.08, -0.104, -0.153",\
                 "-0.345, -0.337, -0.291, -0.233, -0.183, -0.151, -0.123, -0.112, -0.134, -0.188",\
                 "-0.407, -0.401, -0.363, -0.306, -0.259, -0.219, -0.184, -0.185, -0.204, -0.249",\
                 "-0.531, -0.518, -0.477, -0.427, -0.383, -0.337, -0.31, -0.299, -0.315, -0.359",\
                 "-0.699, -0.689, -0.653, -0.6, -0.556, -0.513, -0.483, -0.466, -0.484, -0.524",\
                 "-0.909, -0.904, -0.864, -0.816, -0.776, -0.729, -0.702, -0.676, -0.694, -0.73",\
                 "-1.157, -1.151, -1.125, -1.07, -1.034, -0.991, -0.953, -0.938, -0.949, -0.988",\
                 "-1.444, -1.438, -1.413, -1.361, -1.332, -1.293, -1.256, -1.239, -1.245, -1.28",\
                 "-1.772, -1.771, -1.747, -1.703, -1.672, -1.635, -1.595, -1.572, -1.575, -1.611");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.263, -0.252, -0.213, -0.192, -0.198, -0.222, -0.263, -0.324, -0.403, -0.503",\
                 "-0.275, -0.263, -0.225, -0.206, -0.208, -0.236, -0.27, -0.337, -0.417, -0.52",\
                 "-0.302, -0.29, -0.252, -0.233, -0.235, -0.259, -0.295, -0.354, -0.432, -0.537",\
                 "-0.344, -0.334, -0.294, -0.268, -0.264, -0.277, -0.314, -0.372, -0.449, -0.551",\
                 "-0.382, -0.371, -0.33, -0.3, -0.289, -0.302, -0.333, -0.38, -0.457, -0.561",\
                 "-0.405, -0.389, -0.347, -0.315, -0.302, -0.308, -0.335, -0.382, -0.463, -0.556",\
                 "-0.395, -0.381, -0.338, -0.295, -0.284, -0.291, -0.323, -0.374, -0.446, -0.545",\
                 "-0.355, -0.344, -0.298, -0.262, -0.242, -0.25, -0.28, -0.332, -0.409, -0.509",\
                 "-0.282, -0.266, -0.222, -0.181, -0.168, -0.177, -0.204, -0.26, -0.335, -0.443",\
                 "-0.168, -0.156, -0.112, -0.069, -0.051, -0.058, -0.097, -0.152, -0.233, -0.337");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : setup_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.458, 0.443, 0.39, 0.32, 0.251, 0.199, 0.17, 0.171, 0.188, 0.238",\
                 "0.466, 0.452, 0.403, 0.322, 0.262, 0.212, 0.184, 0.175, 0.2, 0.247",\
                 "0.501, 0.485, 0.433, 0.356, 0.296, 0.247, 0.214, 0.211, 0.233, 0.28",\
                 "0.571, 0.556, 0.503, 0.429, 0.365, 0.314, 0.284, 0.279, 0.3, 0.35",\
                 "0.702, 0.695, 0.643, 0.56, 0.498, 0.452, 0.419, 0.41, 0.428, 0.473",\
                 "0.894, 0.884, 0.826, 0.754, 0.688, 0.637, 0.598, 0.592, 0.604, 0.647",\
                 "1.137, 1.127, 1.072, 0.995, 0.925, 0.871, 0.832, 0.823, 0.836, 0.874",\
                 "1.429, 1.413, 1.355, 1.271, 1.205, 1.151, 1.11, 1.099, 1.111, 1.148",\
                 "1.754, 1.742, 1.686, 1.596, 1.531, 1.471, 1.433, 1.421, 1.431, 1.469",\
                 "2.131, 2.116, 2.059, 1.967, 1.893, 1.836, 1.795, 1.788, 1.8, 1.832");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.79, 0.771, 0.723, 0.71, 0.764, 0.861, 0.98, 1.133, 1.31, 1.487",\
                 "0.801, 0.786, 0.735, 0.717, 0.772, 0.878, 0.998, 1.154, 1.316, 1.5",\
                 "0.823, 0.811, 0.764, 0.744, 0.801, 0.904, 1.029, 1.175, 1.342, 1.519",\
                 "0.871, 0.855, 0.81, 0.789, 0.845, 0.943, 1.063, 1.221, 1.384, 1.559",\
                 "0.911, 0.896, 0.852, 0.829, 0.882, 0.986, 1.1, 1.247, 1.422, 1.587",\
                 "0.929, 0.919, 0.864, 0.842, 0.907, 0.999, 1.11, 1.266, 1.427, 1.598",\
                 "0.926, 0.921, 0.864, 0.835, 0.897, 0.992, 1.106, 1.262, 1.415, 1.587",\
                 "0.886, 0.87, 0.827, 0.81, 0.857, 0.941, 1.061, 1.208, 1.374, 1.547",\
                 "0.815, 0.803, 0.743, 0.722, 0.774, 0.868, 0.978, 1.131, 1.291, 1.469",\
                 "0.7, 0.686, 0.638, 0.607, 0.66, 0.75, 0.868, 1.014, 1.179, 1.346");
        }
      }
    }

    pin(IQ2) {
      direction : internal ;
      internal_node : IQ2 ;
      inverted_output : false ;
    }

    pin(IQN2) {
      direction : internal ;
      internal_node : IQN2 ;
      inverted_output : true ;
    }

    pin(Q) {
      clock_gate_out_pin : true ;
      direction : output ;
      max_capacitance : 1.439 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      state_function : "(CLK&IQ2)" ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.3031, 0.2953, 0.2888, 0.2865, 0.2856, 0.285, 0.2847, 0.2845, 0.2844, 0.2843",\
                 "0.3027, 0.2949, 0.2884, 0.2861, 0.2851, 0.2846, 0.2843, 0.2841, 0.284, 0.284",\
                 "0.3031, 0.2952, 0.2884, 0.2861, 0.2852, 0.2848, 0.2846, 0.2844, 0.2843, 0.2843",\
                 "0.3166, 0.3066, 0.2964, 0.2921, 0.2904, 0.2895, 0.289, 0.2887, 0.2886, 0.2885",\
                 "0.3467, 0.3332, 0.3169, 0.3084, 0.3042, 0.3021, 0.3009, 0.3002, 0.2998, 0.2995",\
                 "0.3882, 0.3716, 0.3482, 0.3348, 0.3275, 0.3235, 0.3212, 0.3198, 0.319, 0.3184",\
                 "0.4424, 0.4231, 0.3926, 0.3732, 0.3617, 0.3551, 0.3512, 0.3488, 0.3472, 0.3462",\
                 "0.5102, 0.4882, 0.4502, 0.4241, 0.4081, 0.3983, 0.3924, 0.3885, 0.3859, 0.3842",\
                 "0.5864, 0.5622, 0.5167, 0.4842, 0.4633, 0.4495, 0.4409, 0.4354, 0.4316, 0.4291",\
                 "0.6685, 0.6425, 0.5901, 0.5505, 0.5236, 0.506, 0.4942, 0.4867, 0.4813, 0.4777");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.3031, 0.2953, 0.2888, 0.2865, 0.2856, 0.285, 0.2847, 0.2845, 0.2844, 0.2843",\
                 "0.3027, 0.2949, 0.2884, 0.2861, 0.2851, 0.2846, 0.2843, 0.2841, 0.284, 0.284",\
                 "0.3031, 0.2952, 0.2884, 0.2861, 0.2852, 0.2848, 0.2846, 0.2844, 0.2843, 0.2843",\
                 "0.3166, 0.3066, 0.2964, 0.2921, 0.2904, 0.2895, 0.289, 0.2887, 0.2886, 0.2885",\
                 "0.3467, 0.3332, 0.3169, 0.3084, 0.3042, 0.3021, 0.3009, 0.3002, 0.2998, 0.2995",\
                 "0.3882, 0.3716, 0.3482, 0.3348, 0.3275, 0.3235, 0.3212, 0.3198, 0.319, 0.3184",\
                 "0.4424, 0.4231, 0.3926, 0.3732, 0.3617, 0.3551, 0.3512, 0.3488, 0.3472, 0.3462",\
                 "0.5102, 0.4882, 0.4502, 0.4241, 0.4081, 0.3983, 0.3924, 0.3885, 0.3859, 0.3842",\
                 "0.5864, 0.5622, 0.5167, 0.4842, 0.4633, 0.4495, 0.4409, 0.4354, 0.4316, 0.4291",\
                 "0.6685, 0.6425, 0.5901, 0.5505, 0.5236, 0.506, 0.4942, 0.4867, 0.4813, 0.4777");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "!E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.07542, 0.06756, 0.06093, 0.05874, 0.05774, 0.05731, 0.05703, 0.05686, 0.05675, 0.0567",\
                 "0.07517, 0.06727, 0.06065, 0.05841, 0.05749, 0.05699, 0.0567, 0.05653, 0.05643, 0.05636",\
                 "0.07562, 0.06753, 0.0608, 0.05851, 0.05769, 0.05727, 0.05703, 0.0569, 0.05681, 0.05676",\
                 "0.08851, 0.07861, 0.06839, 0.06418, 0.06235, 0.0615, 0.06112, 0.06087, 0.06074, 0.06064",\
                 "0.1178, 0.1044, 0.08793, 0.07938, 0.07536, 0.07325, 0.07209, 0.07146, 0.07104, 0.07077",\
                 "0.1577, 0.141, 0.1177, 0.1044, 0.09701, 0.09298, 0.0909, 0.08958, 0.08869, 0.0881",\
                 "0.2098, 0.1904, 0.1596, 0.1405, 0.1292, 0.1227, 0.1187, 0.1163, 0.1148, 0.1139",\
                 "0.2726, 0.2506, 0.2124, 0.1866, 0.1706, 0.161, 0.1551, 0.1512, 0.1486, 0.1469",\
                 "0.3423, 0.3182, 0.273, 0.2403, 0.219, 0.2054, 0.1971, 0.1914, 0.1877, 0.1851",\
                 "0.4183, 0.3925, 0.34, 0.3004, 0.2736, 0.2559, 0.2443, 0.2365, 0.2313, 0.2276");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.2445, 0.2334, 0.2228, 0.2183, 0.2173, 0.2185, 0.2199, 0.2217, 0.2265, 0.2394",\
                 "0.2433, 0.2329, 0.2218, 0.2174, 0.2164, 0.2175, 0.2199, 0.221, 0.2238, 0.2381",\
                 "0.2441, 0.2334, 0.2227, 0.2179, 0.2168, 0.2179, 0.2196, 0.2233, 0.2251, 0.2393",\
                 "0.2602, 0.2487, 0.2358, 0.229, 0.227, 0.2271, 0.2282, 0.2303, 0.2331, 0.2504",\
                 "0.2971, 0.2827, 0.2659, 0.256, 0.2511, 0.2499, 0.2509, 0.2511, 0.2546, 0.2749",\
                 "0.3506, 0.3328, 0.3115, 0.2973, 0.2908, 0.2868, 0.2863, 0.287, 0.2903, 0.3121",\
                 "0.4227, 0.4022, 0.3751, 0.3563, 0.3457, 0.3423, 0.3387, 0.3372, 0.3402, 0.3689",\
                 "0.5143, 0.4905, 0.4576, 0.4337, 0.4189, 0.4119, 0.4113, 0.4077, 0.4077, 0.445",\
                 "0.6253, 0.5989, 0.5591, 0.5308, 0.5108, 0.4984, 0.4935, 0.4961, 0.4972, 0.5515",\
                 "0.7558, 0.7271, 0.6802, 0.6476, 0.6232, 0.6069, 0.5965, 0.5956, 0.6051, 0.6935");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "E&!TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.08598, 0.07806, 0.07148, 0.06933, 0.06829, 0.06781, 0.06752, 0.06736, 0.06727, 0.0672",\
                 "0.0856, 0.0778, 0.07117, 0.06893, 0.06801, 0.06752, 0.06723, 0.06705, 0.06695, 0.06689",\
                 "0.08609, 0.07801, 0.07127, 0.06899, 0.06816, 0.06775, 0.06751, 0.06737, 0.06729, 0.06724",\
                 "0.09899, 0.08903, 0.07892, 0.07465, 0.07281, 0.07203, 0.0716, 0.07136, 0.07122, 0.07113",\
                 "0.1283, 0.1149, 0.09846, 0.08988, 0.08585, 0.08374, 0.08262, 0.08196, 0.08156, 0.08127",\
                 "0.1682, 0.1515, 0.1282, 0.1148, 0.1075, 0.1034, 0.1013, 0.1, 0.09915, 0.09856",\
                 "0.2203, 0.201, 0.1701, 0.151, 0.1397, 0.1332, 0.1293, 0.1269, 0.1254, 0.1244",\
                 "0.2827, 0.2607, 0.2225, 0.1969, 0.1807, 0.171, 0.165, 0.1613, 0.1587, 0.157",\
                 "0.3515, 0.3275, 0.2819, 0.2495, 0.2281, 0.2146, 0.2063, 0.2007, 0.1969, 0.1943",\
                 "0.4266, 0.4008, 0.3482, 0.3087, 0.2819, 0.2642, 0.2526, 0.2447, 0.2396, 0.2359");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.2444, 0.2332, 0.2227, 0.2183, 0.2172, 0.2185, 0.2196, 0.2214, 0.2265, 0.2394",\
                 "0.2433, 0.2328, 0.222, 0.2174, 0.2164, 0.2172, 0.2189, 0.2207, 0.2265, 0.2381",\
                 "0.244, 0.2333, 0.2226, 0.2178, 0.2167, 0.2175, 0.2196, 0.223, 0.2251, 0.2394",\
                 "0.2601, 0.2486, 0.2355, 0.2289, 0.2269, 0.2271, 0.2282, 0.2303, 0.2327, 0.2485",\
                 "0.297, 0.2826, 0.266, 0.2558, 0.251, 0.2502, 0.2513, 0.2517, 0.2552, 0.2749",\
                 "0.3503, 0.3327, 0.3113, 0.2972, 0.2907, 0.2868, 0.2863, 0.287, 0.2903, 0.3118",\
                 "0.4226, 0.4018, 0.3753, 0.3565, 0.3455, 0.3419, 0.3397, 0.3362, 0.3402, 0.3685",\
                 "0.5142, 0.4904, 0.4571, 0.4334, 0.4189, 0.4112, 0.4107, 0.4074, 0.4067, 0.445",\
                 "0.625, 0.5988, 0.559, 0.5307, 0.5107, 0.4984, 0.4932, 0.4961, 0.4972, 0.5515",\
                 "0.7558, 0.727, 0.6801, 0.6468, 0.6224, 0.6063, 0.5958, 0.5947, 0.6052, 0.6926");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "E&TE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.08611, 0.07821, 0.07162, 0.06947, 0.06844, 0.06795, 0.06767, 0.06751, 0.06742, 0.06735",\
                 "0.08578, 0.07797, 0.07134, 0.0691, 0.06818, 0.06769, 0.0674, 0.06722, 0.06712, 0.06706",\
                 "0.08625, 0.07816, 0.07144, 0.06915, 0.06832, 0.06791, 0.06767, 0.06753, 0.06745, 0.0674",\
                 "0.09928, 0.08927, 0.07912, 0.07485, 0.07301, 0.07221, 0.07178, 0.07155, 0.07141, 0.07134",\
                 "0.1284, 0.115, 0.09853, 0.08998, 0.08596, 0.08384, 0.08262, 0.08196, 0.08157, 0.0813",\
                 "0.1681, 0.1514, 0.1281, 0.1147, 0.1075, 0.1035, 0.1012, 0.0999, 0.09908, 0.09852",\
                 "0.2201, 0.2005, 0.17, 0.1507, 0.1395, 0.133, 0.1291, 0.1266, 0.1251, 0.124",\
                 "0.2816, 0.2595, 0.2215, 0.1957, 0.1799, 0.17, 0.1641, 0.1602, 0.1578, 0.156",\
                 "0.3496, 0.3255, 0.2799, 0.2475, 0.2261, 0.2129, 0.2043, 0.1986, 0.1949, 0.1923",\
                 "0.4236, 0.3976, 0.3453, 0.3055, 0.2789, 0.2612, 0.2495, 0.2419, 0.2365, 0.2329");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.2441, 0.2333, 0.2227, 0.2183, 0.2172, 0.2182, 0.2199, 0.2217, 0.2265, 0.2378",\
                 "0.2433, 0.2324, 0.2218, 0.2174, 0.2164, 0.2172, 0.2186, 0.2207, 0.2235, 0.2378",\
                 "0.2439, 0.2332, 0.2226, 0.2176, 0.2166, 0.2172, 0.2203, 0.2217, 0.2242, 0.2384",\
                 "0.2601, 0.2484, 0.2355, 0.229, 0.2269, 0.2274, 0.2288, 0.2313, 0.2341, 0.2488",\
                 "0.2971, 0.2825, 0.2657, 0.2559, 0.2508, 0.2499, 0.2513, 0.2511, 0.2542, 0.2749",\
                 "0.3505, 0.3328, 0.3109, 0.2966, 0.2905, 0.2865, 0.2866, 0.2864, 0.289, 0.3118",\
                 "0.4227, 0.4021, 0.3751, 0.356, 0.3451, 0.3423, 0.3391, 0.3365, 0.3396, 0.3689",\
                 "0.5142, 0.4904, 0.4577, 0.434, 0.4184, 0.4112, 0.411, 0.4077, 0.4077, 0.4453",\
                 "0.6251, 0.5985, 0.559, 0.5317, 0.5122, 0.4987, 0.4935, 0.4948, 0.4962, 0.5506",\
                 "0.7557, 0.7273, 0.6801, 0.6474, 0.6233, 0.6073, 0.5958, 0.595, 0.6062, 0.6935");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b0 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.3269, 0.3743, 0.4944, 0.6722, 0.9228, 1.267, 1.718, 2.287, 2.983, 3.811",\
                 "0.3445, 0.3918, 0.512, 0.6897, 0.9403, 1.284, 1.736, 2.305, 2.999, 3.828",\
                 "0.4093, 0.4565, 0.5764, 0.7541, 1.005, 1.349, 1.8, 2.369, 3.064, 3.892",\
                 "0.5347, 0.582, 0.7019, 0.8795, 1.13, 1.474, 1.925, 2.494, 3.189, 4.017",\
                 "0.6844, 0.7364, 0.863, 1.045, 1.296, 1.639, 2.09, 2.658, 3.353, 4.179",\
                 "0.8491, 0.9056, 1.04, 1.229, 1.482, 1.826, 2.276, 2.843, 3.537, 4.366",\
                 "1.029, 1.091, 1.235, 1.432, 1.69, 2.033, 2.483, 3.05, 3.743, 4.571",\
                 "1.223, 1.29, 1.445, 1.653, 1.918, 2.263, 2.712, 3.279, 3.972, 4.798",\
                 "1.43, 1.502, 1.669, 1.89, 2.163, 2.515, 2.967, 3.533, 4.225, 5.051",\
                 "1.651, 1.727, 1.906, 2.14, 2.426, 2.785, 3.243, 3.812, 4.503, 5.329");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.4152, 0.4694, 0.617, 0.8547, 1.206, 1.695, 2.339, 3.149, 4.14, 5.321",\
                 "0.4261, 0.4803, 0.6279, 0.8656, 1.216, 1.706, 2.35, 3.162, 4.149, 5.33",\
                 "0.47, 0.5243, 0.6717, 0.9093, 1.26, 1.75, 2.394, 3.205, 4.195, 5.376",\
                 "0.5594, 0.6136, 0.7604, 0.997, 1.347, 1.836, 2.48, 3.291, 4.28, 5.462",\
                 "0.6566, 0.7135, 0.8632, 1.101, 1.45, 1.938, 2.581, 3.392, 4.381, 5.561",\
                 "0.7476, 0.8074, 0.9608, 1.2, 1.55, 2.037, 2.679, 3.49, 4.48, 5.655",\
                 "0.8326, 0.8963, 1.055, 1.297, 1.645, 2.131, 2.772, 3.581, 4.572, 5.749",\
                 "0.9072, 0.9755, 1.141, 1.389, 1.739, 2.223, 2.863, 3.671, 4.659, 5.839",\
                 "0.9698, 1.042, 1.217, 1.472, 1.825, 2.312, 2.95, 3.757, 4.745, 5.922",\
                 "1.018, 1.095, 1.279, 1.542, 1.902, 2.392, 3.032, 3.839, 4.825, 6.002");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.1095, 0.1568, 0.2901, 0.5274, 0.9165, 1.486, 2.244, 3.204, 4.373, 5.77",\
                 "0.1097, 0.1568, 0.2903, 0.527, 0.917, 1.485, 2.244, 3.202, 4.375, 5.773",\
                 "0.1096, 0.1568, 0.2902, 0.5263, 0.9167, 1.484, 2.245, 3.202, 4.375, 5.772",\
                 "0.1171, 0.1629, 0.2946, 0.5286, 0.9176, 1.485, 2.244, 3.204, 4.37, 5.766",\
                 "0.1412, 0.1886, 0.3172, 0.5418, 0.9222, 1.486, 2.245, 3.202, 4.374, 5.77",\
                 "0.1666, 0.2168, 0.3454, 0.5642, 0.9326, 1.49, 2.243, 3.199, 4.376, 5.769",\
                 "0.1954, 0.2494, 0.3804, 0.5938, 0.9488, 1.496, 2.246, 3.202, 4.368, 5.764",\
                 "0.2262, 0.285, 0.4214, 0.633, 0.9758, 1.51, 2.252, 3.202, 4.369, 5.764",\
                 "0.2592, 0.3232, 0.4672, 0.6796, 1.017, 1.538, 2.267, 3.209, 4.37, 5.759",\
                 "0.293, 0.3614, 0.5152, 0.732, 1.061, 1.579, 2.302, 3.227, 4.378, 5.761");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.1323, 0.1933, 0.388, 0.753, 1.354, 2.211, 3.346, 4.778, 6.527, 8.6",\
                 "0.1316, 0.1933, 0.3878, 0.7533, 1.354, 2.211, 3.351, 4.774, 6.522, 8.611",\
                 "0.1324, 0.1935, 0.3883, 0.7533, 1.353, 2.213, 3.345, 4.777, 6.522, 8.602",\
                 "0.1353, 0.1955, 0.3898, 0.7536, 1.354, 2.213, 3.348, 4.779, 6.525, 8.601",\
                 "0.1518, 0.2112, 0.403, 0.762, 1.353, 2.209, 3.349, 4.781, 6.522, 8.603",\
                 "0.1712, 0.2294, 0.418, 0.7704, 1.359, 2.212, 3.346, 4.774, 6.532, 8.597",\
                 "0.1928, 0.2528, 0.4376, 0.7834, 1.364, 2.216, 3.351, 4.776, 6.519, 8.597",\
                 "0.2184, 0.2806, 0.4642, 0.8042, 1.374, 2.22, 3.349, 4.779, 6.525, 8.615",\
                 "0.245, 0.3106, 0.4944, 0.8322, 1.394, 2.228, 3.353, 4.778, 6.522, 8.607",\
                 "0.2744, 0.343, 0.5272, 0.8652, 1.422, 2.251, 3.367, 4.784, 6.524, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b1 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&!TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.3269, 0.3743, 0.4944, 0.6722, 0.9228, 1.267, 1.718, 2.287, 2.983, 3.811",\
                 "0.3445, 0.3918, 0.512, 0.6897, 0.9403, 1.284, 1.736, 2.305, 2.999, 3.828",\
                 "0.4093, 0.4565, 0.5764, 0.7541, 1.005, 1.349, 1.8, 2.369, 3.064, 3.892",\
                 "0.5347, 0.5821, 0.7019, 0.8794, 1.13, 1.474, 1.925, 2.494, 3.189, 4.017",\
                 "0.6844, 0.7364, 0.863, 1.045, 1.296, 1.639, 2.09, 2.658, 3.353, 4.179",\
                 "0.8491, 0.9056, 1.04, 1.229, 1.482, 1.826, 2.276, 2.843, 3.537, 4.366",\
                 "1.029, 1.091, 1.235, 1.432, 1.69, 2.033, 2.483, 3.05, 3.743, 4.571",\
                 "1.223, 1.29, 1.445, 1.654, 1.918, 2.263, 2.712, 3.279, 3.972, 4.798",\
                 "1.43, 1.502, 1.669, 1.89, 2.164, 2.515, 2.967, 3.533, 4.225, 5.051",\
                 "1.651, 1.727, 1.906, 2.14, 2.426, 2.785, 3.243, 3.812, 4.503, 5.329");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.4152, 0.4694, 0.617, 0.8547, 1.206, 1.695, 2.339, 3.149, 4.14, 5.321",\
                 "0.4261, 0.4803, 0.6279, 0.8655, 1.216, 1.706, 2.35, 3.16, 4.151, 5.332",\
                 "0.47, 0.5243, 0.6717, 0.9093, 1.26, 1.75, 2.394, 3.205, 4.195, 5.376",\
                 "0.5594, 0.6136, 0.7604, 0.997, 1.347, 1.836, 2.48, 3.29, 4.28, 5.462",\
                 "0.6566, 0.7135, 0.8632, 1.101, 1.45, 1.938, 2.582, 3.393, 4.382, 5.56",\
                 "0.7476, 0.8074, 0.9608, 1.2, 1.55, 2.037, 2.679, 3.49, 4.48, 5.656",\
                 "0.8326, 0.8963, 1.055, 1.297, 1.645, 2.131, 2.772, 3.581, 4.572, 5.749",\
                 "0.9071, 0.9755, 1.141, 1.389, 1.739, 2.223, 2.863, 3.671, 4.659, 5.839",\
                 "0.9698, 1.042, 1.217, 1.472, 1.825, 2.312, 2.95, 3.757, 4.745, 5.922",\
                 "1.017, 1.095, 1.279, 1.542, 1.901, 2.392, 3.032, 3.838, 4.824, 6.002");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.1095, 0.1564, 0.29, 0.5274, 0.9164, 1.486, 2.244, 3.204, 4.373, 5.769",\
                 "0.1093, 0.1568, 0.2903, 0.5271, 0.9172, 1.485, 2.244, 3.201, 4.376, 5.774",\
                 "0.1096, 0.1568, 0.2902, 0.5261, 0.9168, 1.485, 2.244, 3.202, 4.375, 5.773",\
                 "0.1171, 0.163, 0.2946, 0.5282, 0.9172, 1.486, 2.244, 3.204, 4.37, 5.766",\
                 "0.1412, 0.1886, 0.3172, 0.5418, 0.9222, 1.486, 2.245, 3.202, 4.374, 5.77",\
                 "0.1666, 0.2168, 0.3452, 0.5642, 0.9326, 1.49, 2.243, 3.199, 4.376, 5.77",\
                 "0.1954, 0.2494, 0.3804, 0.5942, 0.9486, 1.497, 2.246, 3.202, 4.368, 5.764",\
                 "0.2262, 0.285, 0.4214, 0.6336, 0.9778, 1.509, 2.251, 3.202, 4.37, 5.763",\
                 "0.2594, 0.323, 0.4674, 0.6798, 1.017, 1.538, 2.265, 3.208, 4.37, 5.759",\
                 "0.293, 0.3614, 0.5156, 0.732, 1.061, 1.579, 2.301, 3.227, 4.38, 5.761");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.1323, 0.1933, 0.388, 0.753, 1.354, 2.211, 3.346, 4.778, 6.527, 8.6",\
                 "0.1322, 0.1933, 0.3878, 0.7528, 1.354, 2.21, 3.346, 4.779, 6.522, 8.601",\
                 "0.1324, 0.1935, 0.3883, 0.7533, 1.353, 2.213, 3.345, 4.777, 6.522, 8.602",\
                 "0.1353, 0.1954, 0.39, 0.7536, 1.354, 2.209, 3.348, 4.776, 6.524, 8.601",\
                 "0.1518, 0.2112, 0.403, 0.7622, 1.356, 2.211, 3.351, 4.784, 6.529, 8.604",\
                 "0.17, 0.2294, 0.4178, 0.7704, 1.359, 2.212, 3.346, 4.774, 6.532, 8.597",\
                 "0.1928, 0.2524, 0.4382, 0.7834, 1.365, 2.216, 3.351, 4.776, 6.519, 8.599",\
                 "0.219, 0.2806, 0.4638, 0.8044, 1.374, 2.22, 3.349, 4.779, 6.525, 8.599",\
                 "0.2452, 0.3104, 0.4948, 0.8322, 1.394, 2.228, 3.353, 4.779, 6.522, 8.607",\
                 "0.2748, 0.3428, 0.5272, 0.8648, 1.424, 2.253, 3.365, 4.782, 6.523, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b1 && TE===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "E&TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.327, 0.3743, 0.4944, 0.6722, 0.9228, 1.267, 1.718, 2.287, 2.983, 3.811",\
                 "0.3445, 0.3918, 0.512, 0.6897, 0.9403, 1.284, 1.736, 2.305, 2.999, 3.828",\
                 "0.4093, 0.4565, 0.5764, 0.7541, 1.005, 1.349, 1.8, 2.369, 3.064, 3.892",\
                 "0.5348, 0.5822, 0.7019, 0.8794, 1.13, 1.474, 1.925, 2.494, 3.189, 4.018",\
                 "0.6844, 0.7363, 0.863, 1.045, 1.296, 1.639, 2.09, 2.658, 3.353, 4.18",\
                 "0.849, 0.9056, 1.04, 1.229, 1.482, 1.826, 2.276, 2.844, 3.538, 4.366",\
                 "1.029, 1.09, 1.235, 1.432, 1.69, 2.033, 2.483, 3.05, 3.743, 4.571",\
                 "1.223, 1.289, 1.445, 1.653, 1.918, 2.263, 2.712, 3.279, 3.972, 4.798",\
                 "1.43, 1.502, 1.669, 1.89, 2.163, 2.515, 2.966, 3.532, 4.225, 5.051",\
                 "1.651, 1.727, 1.906, 2.14, 2.426, 2.785, 3.242, 3.812, 4.503, 5.329");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.4152, 0.4694, 0.617, 0.8546, 1.206, 1.695, 2.339, 3.149, 4.139, 5.321",\
                 "0.4261, 0.4803, 0.6279, 0.8656, 1.216, 1.706, 2.35, 3.16, 4.149, 5.331",\
                 "0.4701, 0.5243, 0.6717, 0.9094, 1.26, 1.749, 2.394, 3.205, 4.195, 5.375",\
                 "0.5595, 0.6137, 0.7604, 0.997, 1.347, 1.836, 2.48, 3.291, 4.281, 5.462",\
                 "0.6566, 0.7135, 0.863, 1.101, 1.45, 1.938, 2.582, 3.392, 4.38, 5.561",\
                 "0.7476, 0.8075, 0.9605, 1.2, 1.549, 2.037, 2.678, 3.49, 4.48, 5.656",\
                 "0.8327, 0.8963, 1.055, 1.297, 1.645, 2.131, 2.773, 3.581, 4.572, 5.749",\
                 "0.9073, 0.9756, 1.141, 1.389, 1.738, 2.223, 2.863, 3.671, 4.659, 5.839",\
                 "0.9697, 1.042, 1.217, 1.472, 1.826, 2.311, 2.949, 3.756, 4.743, 5.921",\
                 "1.018, 1.095, 1.279, 1.542, 1.902, 2.392, 3.032, 3.838, 4.824, 6.002");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.1096, 0.1568, 0.29, 0.5274, 0.9164, 1.486, 2.244, 3.204, 4.373, 5.769",\
                 "0.1093, 0.1568, 0.2903, 0.5271, 0.9172, 1.485, 2.244, 3.201, 4.376, 5.774",\
                 "0.1096, 0.1568, 0.2902, 0.5261, 0.9167, 1.484, 2.245, 3.202, 4.375, 5.772",\
                 "0.1172, 0.1629, 0.2946, 0.5286, 0.9172, 1.485, 2.243, 3.203, 4.375, 5.773",\
                 "0.1412, 0.1886, 0.3174, 0.5418, 0.922, 1.486, 2.245, 3.201, 4.374, 5.769",\
                 "0.1666, 0.2168, 0.3454, 0.5644, 0.9326, 1.491, 2.245, 3.203, 4.37, 5.768",\
                 "0.1954, 0.2496, 0.3802, 0.593, 0.949, 1.499, 2.246, 3.202, 4.368, 5.763",\
                 "0.2262, 0.2856, 0.4216, 0.6332, 0.9764, 1.509, 2.251, 3.202, 4.367, 5.763",\
                 "0.2596, 0.323, 0.4674, 0.6796, 1.016, 1.54, 2.27, 3.208, 4.37, 5.759",\
                 "0.293, 0.3616, 0.515, 0.732, 1.061, 1.579, 2.3, 3.23, 4.378, 5.761");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.1313, 0.1933, 0.3881, 0.7528, 1.354, 2.21, 3.345, 4.777, 6.526, 8.599",\
                 "0.1318, 0.1933, 0.388, 0.7531, 1.353, 2.21, 3.346, 4.773, 6.521, 8.603",\
                 "0.1323, 0.1931, 0.3883, 0.7537, 1.353, 2.213, 3.351, 4.776, 6.52, 8.615",\
                 "0.1349, 0.1956, 0.3902, 0.754, 1.354, 2.212, 3.348, 4.776, 6.532, 8.603",\
                 "0.1518, 0.211, 0.403, 0.7608, 1.355, 2.212, 3.349, 4.781, 6.518, 8.603",\
                 "0.171, 0.2288, 0.4188, 0.7714, 1.359, 2.214, 3.348, 4.775, 6.521, 8.598",\
                 "0.1926, 0.2528, 0.4378, 0.7836, 1.364, 2.216, 3.351, 4.777, 6.532, 8.599",\
                 "0.218, 0.2804, 0.4632, 0.8036, 1.373, 2.22, 3.35, 4.777, 6.525, 8.601",\
                 "0.2456, 0.3106, 0.495, 0.8326, 1.394, 2.228, 3.352, 4.779, 6.521, 8.608",\
                 "0.2744, 0.3436, 0.5274, 0.8654, 1.422, 2.253, 3.365, 4.783, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.327, 0.3743, 0.4944, 0.6722, 0.9228, 1.267, 1.718, 2.287, 2.983, 3.811",\
                 "0.3445, 0.3918, 0.512, 0.6897, 0.9403, 1.284, 1.736, 2.305, 2.999, 3.828",\
                 "0.4093, 0.4565, 0.5764, 0.7541, 1.005, 1.349, 1.8, 2.369, 3.064, 3.892",\
                 "0.5348, 0.5822, 0.7019, 0.8794, 1.13, 1.474, 1.925, 2.494, 3.189, 4.018",\
                 "0.6844, 0.7363, 0.863, 1.045, 1.296, 1.639, 2.09, 2.658, 3.353, 4.18",\
                 "0.849, 0.9056, 1.04, 1.229, 1.482, 1.826, 2.276, 2.844, 3.538, 4.366",\
                 "1.029, 1.09, 1.235, 1.432, 1.69, 2.033, 2.483, 3.05, 3.743, 4.571",\
                 "1.223, 1.289, 1.445, 1.653, 1.918, 2.263, 2.712, 3.279, 3.972, 4.798",\
                 "1.43, 1.502, 1.669, 1.89, 2.163, 2.515, 2.966, 3.532, 4.225, 5.051",\
                 "1.651, 1.727, 1.906, 2.14, 2.426, 2.785, 3.242, 3.812, 4.503, 5.329");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.4152, 0.4694, 0.617, 0.8546, 1.206, 1.695, 2.339, 3.149, 4.139, 5.321",\
                 "0.4261, 0.4803, 0.6279, 0.8656, 1.216, 1.706, 2.35, 3.16, 4.149, 5.331",\
                 "0.4701, 0.5243, 0.6717, 0.9094, 1.26, 1.749, 2.394, 3.205, 4.195, 5.375",\
                 "0.5595, 0.6137, 0.7604, 0.997, 1.347, 1.836, 2.48, 3.291, 4.281, 5.462",\
                 "0.6566, 0.7135, 0.863, 1.101, 1.45, 1.938, 2.582, 3.392, 4.38, 5.561",\
                 "0.7476, 0.8075, 0.9605, 1.2, 1.549, 2.037, 2.678, 3.49, 4.48, 5.656",\
                 "0.8327, 0.8963, 1.055, 1.297, 1.645, 2.131, 2.773, 3.581, 4.572, 5.749",\
                 "0.9073, 0.9756, 1.141, 1.389, 1.738, 2.223, 2.863, 3.671, 4.659, 5.839",\
                 "0.9697, 1.042, 1.217, 1.472, 1.826, 2.311, 2.949, 3.756, 4.743, 5.921",\
                 "1.018, 1.095, 1.279, 1.542, 1.902, 2.392, 3.032, 3.838, 4.824, 6.002");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.1096, 0.1568, 0.29, 0.5274, 0.9164, 1.486, 2.244, 3.204, 4.373, 5.769",\
                 "0.1093, 0.1568, 0.2903, 0.5271, 0.9172, 1.485, 2.244, 3.201, 4.376, 5.774",\
                 "0.1096, 0.1568, 0.2902, 0.5261, 0.9167, 1.484, 2.245, 3.202, 4.375, 5.772",\
                 "0.1172, 0.1629, 0.2946, 0.5286, 0.9172, 1.485, 2.243, 3.203, 4.375, 5.773",\
                 "0.1412, 0.1886, 0.3174, 0.5418, 0.922, 1.486, 2.245, 3.201, 4.374, 5.769",\
                 "0.1666, 0.2168, 0.3454, 0.5644, 0.9326, 1.491, 2.245, 3.203, 4.37, 5.768",\
                 "0.1954, 0.2496, 0.3802, 0.593, 0.949, 1.499, 2.246, 3.202, 4.368, 5.763",\
                 "0.2262, 0.2856, 0.4216, 0.6332, 0.9764, 1.509, 2.251, 3.202, 4.367, 5.763",\
                 "0.2596, 0.323, 0.4674, 0.6796, 1.016, 1.54, 2.27, 3.208, 4.37, 5.759",\
                 "0.293, 0.3616, 0.515, 0.732, 1.061, 1.579, 2.3, 3.23, 4.378, 5.761");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.1313, 0.1933, 0.3881, 0.7528, 1.354, 2.21, 3.345, 4.777, 6.526, 8.599",\
                 "0.1318, 0.1933, 0.388, 0.7531, 1.353, 2.21, 3.346, 4.773, 6.521, 8.603",\
                 "0.1323, 0.1931, 0.3883, 0.7537, 1.353, 2.213, 3.351, 4.776, 6.52, 8.615",\
                 "0.1349, 0.1956, 0.3902, 0.754, 1.354, 2.212, 3.348, 4.776, 6.532, 8.603",\
                 "0.1518, 0.211, 0.403, 0.7608, 1.355, 2.212, 3.349, 4.781, 6.518, 8.603",\
                 "0.171, 0.2288, 0.4188, 0.7714, 1.359, 2.214, 3.348, 4.775, 6.521, 8.598",\
                 "0.1926, 0.2528, 0.4378, 0.7836, 1.364, 2.216, 3.351, 4.777, 6.532, 8.599",\
                 "0.218, 0.2804, 0.4632, 0.8036, 1.373, 2.22, 3.35, 4.777, 6.525, 8.601",\
                 "0.2456, 0.3106, 0.495, 0.8326, 1.394, 2.228, 3.352, 4.779, 6.521, 8.608",\
                 "0.2744, 0.3436, 0.5274, 0.8654, 1.422, 2.253, 3.365, 4.783, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "E===1'b0 && TE===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational_fall ;
        when : "!E&!TE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.3269, 0.3743, 0.4944, 0.6722, 0.9231, 1.27, 1.721, 2.289, 2.983, 3.81",\
                 "0.3445, 0.3918, 0.5119, 0.6897, 0.9406, 1.287, 1.739, 2.307, 3, 3.828",\
                 "0.4093, 0.4565, 0.5764, 0.7542, 1.005, 1.352, 1.803, 2.371, 3.065, 3.892",\
                 "0.5348, 0.5822, 0.7019, 0.8795, 1.13, 1.477, 1.928, 2.496, 3.19, 4.017",\
                 "0.6844, 0.7362, 0.8629, 1.045, 1.296, 1.642, 2.093, 2.66, 3.354, 4.181",\
                 "0.8493, 0.9058, 1.04, 1.229, 1.483, 1.829, 2.278, 2.845, 3.538, 4.364",\
                 "1.029, 1.09, 1.235, 1.432, 1.69, 2.035, 2.484, 3.05, 3.743, 4.569",\
                 "1.223, 1.29, 1.445, 1.653, 1.919, 2.265, 2.712, 3.277, 3.969, 4.795",\
                 "1.43, 1.502, 1.669, 1.89, 2.165, 2.513, 2.958, 3.522, 4.213, 5.039",\
                 "1.651, 1.727, 1.906, 2.14, 2.426, 2.777, 3.219, 3.782, 4.472, 5.297");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04577, 0.1123, 0.216, 0.3614, 0.5528, 0.7939, 1.088, 1.439");
          values("0.1096, 0.1567, 0.2901, 0.5272, 0.9182, 1.487, 2.238, 3.19, 4.357, 5.752",\
                 "0.1095, 0.1566, 0.29, 0.527, 0.9182, 1.487, 2.237, 3.19, 4.357, 5.748",\
                 "0.1093, 0.1568, 0.2899, 0.5266, 0.9183, 1.487, 2.238, 3.19, 4.356, 5.754",\
                 "0.1172, 0.1629, 0.2942, 0.5288, 0.919, 1.487, 2.238, 3.189, 4.355, 5.754",\
                 "0.1412, 0.1888, 0.3178, 0.5422, 0.9238, 1.488, 2.238, 3.19, 4.357, 5.754",\
                 "0.1666, 0.2166, 0.3452, 0.5642, 0.9364, 1.49, 2.237, 3.19, 4.357, 5.755",\
                 "0.1948, 0.2494, 0.38, 0.5934, 0.9512, 1.496, 2.238, 3.192, 4.36, 5.75",\
                 "0.2258, 0.2856, 0.4214, 0.6336, 0.978, 1.504, 2.241, 3.191, 4.357, 5.751",\
                 "0.2592, 0.3232, 0.4672, 0.6806, 1.012, 1.517, 2.24, 3.191, 4.357, 5.746",\
                 "0.2922, 0.3614, 0.5156, 0.7332, 1.052, 1.53, 2.242, 3.191, 4.356, 5.747");
        }
      }
    }

    pin(TE) {
      capacitance : 0.003158 ;
      clock_gate_test_pin : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1325, 0.132, 0.1313, 0.132, 0.1378, 0.1514, 0.1739, 0.2047, \
                 0.2435, 0.2902");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1104, 0.1096, 0.1087, 0.1098, 0.1154, 0.127, 0.1456, 0.1713, \
                 0.2045, 0.2452");
        }
      }

      internal_power() {
        when : "!CLK&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01229, 0.01226, 0.01225, 0.01227, 0.01228, 0.0123, 0.0123, 0.0123, \
                 0.0123, 0.01229");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01081, -0.01151, -0.01178, -0.01193, -0.01199, -0.01205, -0.01207, \
                 -0.01209, -0.01211, -0.01211");
        }
      }

      internal_power() {
        when : "CLK&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02202, 0.022, 0.022, 0.02198, 0.02195, 0.02199, 0.02201, 0.02199, \
                 0.022, 0.022");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01055, -0.01083, -0.01128, -0.01157, -0.01177, -0.01185, -0.01191, \
                 -0.01195, -0.01198, -0.01199");
        }
      }

      internal_power() {
        when : "CLK&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01228, 0.01229, 0.01229, 0.01228, 0.01229, 0.01231, 0.0123, \
                 0.0123, 0.0123, 0.0123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01147, -0.0116, -0.0118, -0.01193, -0.012, -0.01206, -0.01208, \
                 -0.0121, -0.01211, -0.01213");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : hold_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.338, -0.327, -0.288, -0.219, -0.176, -0.142, -0.111, -0.106, -0.132, -0.18",\
                 "-0.35, -0.334, -0.297, -0.235, -0.193, -0.154, -0.125, -0.122, -0.144, -0.19",\
                 "-0.382, -0.373, -0.33, -0.274, -0.226, -0.182, -0.16, -0.155, -0.175, -0.226",\
                 "-0.435, -0.421, -0.381, -0.321, -0.28, -0.233, -0.204, -0.205, -0.221, -0.271",\
                 "-0.516, -0.502, -0.469, -0.406, -0.363, -0.32, -0.293, -0.284, -0.305, -0.347",\
                 "-0.629, -0.625, -0.589, -0.527, -0.486, -0.443, -0.416, -0.398, -0.421, -0.466",\
                 "-0.774, -0.767, -0.737, -0.685, -0.645, -0.601, -0.573, -0.549, -0.57, -0.616",\
                 "-0.957, -0.948, -0.92, -0.87, -0.834, -0.789, -0.758, -0.744, -0.76, -0.797",\
                 "-1.158, -1.149, -1.124, -1.081, -1.048, -1.015, -0.978, -0.955, -0.973, -1.001",\
                 "-1.387, -1.388, -1.367, -1.323, -1.297, -1.26, -1.224, -1.197, -1.206, -1.243");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.303, -0.293, -0.256, -0.237, -0.243, -0.274, -0.314, -0.383, -0.467, -0.576",\
                 "-0.316, -0.302, -0.267, -0.245, -0.255, -0.284, -0.322, -0.39, -0.474, -0.583",\
                 "-0.345, -0.331, -0.291, -0.274, -0.278, -0.304, -0.341, -0.41, -0.49, -0.601",\
                 "-0.389, -0.372, -0.34, -0.314, -0.311, -0.328, -0.364, -0.426, -0.51, -0.612",\
                 "-0.434, -0.417, -0.382, -0.353, -0.343, -0.355, -0.396, -0.447, -0.523, -0.633",\
                 "-0.468, -0.46, -0.417, -0.381, -0.372, -0.383, -0.409, -0.466, -0.541, -0.64",\
                 "-0.487, -0.467, -0.429, -0.395, -0.382, -0.386, -0.42, -0.471, -0.547, -0.652",\
                 "-0.473, -0.464, -0.422, -0.383, -0.367, -0.376, -0.407, -0.463, -0.537, -0.645",\
                 "-0.441, -0.427, -0.379, -0.347, -0.329, -0.339, -0.37, -0.429, -0.506, -0.614",\
                 "-0.377, -0.366, -0.321, -0.282, -0.266, -0.278, -0.311, -0.368, -0.449, -0.562");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : setup_rising ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.492, 0.477, 0.423, 0.347, 0.288, 0.234, 0.213, 0.2, 0.227, 0.274",\
                 "0.507, 0.492, 0.438, 0.36, 0.301, 0.248, 0.218, 0.217, 0.24, 0.284",\
                 "0.538, 0.527, 0.473, 0.396, 0.331, 0.285, 0.26, 0.249, 0.274, 0.317",\
                 "0.59, 0.575, 0.526, 0.444, 0.386, 0.336, 0.304, 0.299, 0.326, 0.367",\
                 "0.688, 0.672, 0.617, 0.538, 0.478, 0.425, 0.396, 0.388, 0.409, 0.455",\
                 "0.825, 0.813, 0.762, 0.681, 0.618, 0.567, 0.53, 0.525, 0.536, 0.582",\
                 "1.019, 0.998, 0.945, 0.865, 0.794, 0.743, 0.702, 0.696, 0.712, 0.752",\
                 "1.234, 1.222, 1.162, 1.077, 1.005, 0.957, 0.924, 0.91, 0.922, 0.965",\
                 "1.484, 1.47, 1.413, 1.325, 1.256, 1.198, 1.161, 1.151, 1.167, 1.208",\
                 "1.767, 1.755, 1.694, 1.603, 1.53, 1.474, 1.439, 1.429, 1.44, 1.479");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.83, 0.819, 0.761, 0.747, 0.809, 0.907, 1.039, 1.18, 1.35, 1.539",\
                 "0.842, 0.826, 0.776, 0.765, 0.818, 0.908, 1.033, 1.19, 1.364, 1.542",\
                 "0.866, 0.852, 0.803, 0.79, 0.836, 0.936, 1.057, 1.206, 1.391, 1.562",\
                 "0.908, 0.903, 0.845, 0.827, 0.887, 0.987, 1.103, 1.261, 1.427, 1.598",\
                 "0.956, 0.95, 0.895, 0.882, 0.929, 1.03, 1.151, 1.299, 1.46, 1.635",\
                 "0.998, 0.978, 0.928, 0.915, 0.968, 1.063, 1.177, 1.333, 1.495, 1.669",\
                 "1.019, 0.998, 0.954, 0.925, 0.977, 1.073, 1.187, 1.34, 1.498, 1.666",\
                 "1.004, 0.989, 0.939, 0.924, 0.968, 1.059, 1.178, 1.328, 1.489, 1.659",\
                 "0.974, 0.956, 0.908, 0.88, 0.925, 1.025, 1.143, 1.286, 1.447, 1.622",\
                 "0.908, 0.901, 0.842, 0.82, 0.857, 0.957, 1.068, 1.214, 1.386, 1.546");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__inv_1) {
    area : 8.780800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "3.285909e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "3.33135e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.004623 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 0.3503 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003411, 0.01187, 0.02804, 0.05322, 0.08855, 0.135, 0.1936, 0.2651, 0.3503");
          values("0.0003145, 0.0005748, 0.0008889, 0.001007, 0.001081, 0.001092, 0.001117, 0.001123, 0.001128, 0.00113",\
                 "-0.0005271, -8.964e-05, 0.0004576, 0.0007832, 0.0009226, 0.0009797, 0.001031, 0.001037, 0.001071, 0.001077",\
                 "0.001501, 0.001344, 0.001183, 0.001121, 0.001115, 0.00114, 0.001147, 0.001127, 0.0011, 0.001125",\
                 "0.01025, 0.008832, 0.006483, 0.00473, 0.003613, 0.002902, 0.002412, 0.002084, 0.001851, 0.001692",\
                 "0.02679, 0.02421, 0.01881, 0.01404, 0.01063, 0.00814, 0.006407, 0.005195, 0.004265, 0.003619",\
                 "0.05174, 0.04815, 0.0396, 0.03096, 0.02403, 0.01884, 0.01497, 0.01207, 0.009909, 0.008186",\
                 "0.08563, 0.0812, 0.06984, 0.05688, 0.04565, 0.03676, 0.02974, 0.0243, 0.02003, 0.01667",\
                 "0.129, 0.1237, 0.11, 0.09291, 0.07684, 0.06335, 0.05227, 0.04351, 0.03639, 0.03067",\
                 "0.1824, 0.1765, 0.1606, 0.1396, 0.1185, 0.09975, 0.08419, 0.0711, 0.06042, 0.0516",\
                 "0.2463, 0.2399, 0.2221, 0.1976, 0.1715, 0.1472, 0.1261, 0.1081, 0.09302, 0.08027");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003411, 0.01187, 0.02804, 0.05322, 0.08855, 0.135, 0.1936, 0.2651, 0.3503");
          values("0.0412, 0.04179, 0.04248, 0.04272, 0.04267, 0.04282, 0.04259, 0.04265, 0.04255, 0.04371",\
                 "0.03993, 0.04046, 0.04136, 0.0418, 0.04234, 0.04256, 0.04226, 0.04255, 0.04222, 0.0446",\
                 "0.04366, 0.04309, 0.04197, 0.04196, 0.04204, 0.0423, 0.04219, 0.04179, 0.04196, 0.04417",\
                 "0.05466, 0.05294, 0.04954, 0.04645, 0.04498, 0.04391, 0.04275, 0.04225, 0.04196, 0.0442",\
                 "0.07388, 0.07096, 0.06515, 0.05863, 0.05376, 0.05022, 0.04817, 0.04631, 0.0456, 0.04711",\
                 "0.1023, 0.09829, 0.08949, 0.08001, 0.07108, 0.06388, 0.0585, 0.05463, 0.05144, 0.05338",\
                 "0.1405, 0.1357, 0.1239, 0.1105, 0.09791, 0.08694, 0.07698, 0.06984, 0.06469, 0.06654",\
                 "0.1893, 0.1837, 0.1692, 0.1521, 0.1355, 0.1199, 0.106, 0.09426, 0.08554, 0.08772",\
                 "0.2494, 0.243, 0.2263, 0.205, 0.1837, 0.1637, 0.1457, 0.1285, 0.1166, 0.123",\
                 "0.3213, 0.3144, 0.2955, 0.2705, 0.2449, 0.2201, 0.1973, 0.1758, 0.1608, 0.1799");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003411, 0.01187, 0.02804, 0.05322, 0.08855, 0.135, 0.1936, 0.2651, 0.3503");
          values("0.04794, 0.06619, 0.1293, 0.2491, 0.4356, 0.697, 1.041, 1.474, 2.004, 2.635",\
                 "0.0614, 0.0799, 0.1434, 0.2636, 0.4497, 0.7113, 1.055, 1.489, 2.018, 2.648",\
                 "0.0781, 0.1095, 0.193, 0.3153, 0.5015, 0.7626, 1.107, 1.54, 2.069, 2.699",\
                 "0.07644, 0.1212, 0.2392, 0.4046, 0.6035, 0.8634, 1.207, 1.639, 2.167, 2.797",\
                 "0.05137, 0.1102, 0.2641, 0.4772, 0.7337, 1.023, 1.366, 1.797, 2.324, 2.955",\
                 "0.0011, 0.0735, 0.2627, 0.5255, 0.8389, 1.195, 1.586, 2.023, 2.548, 3.175",\
                 "-0.0768, 0.0085, 0.2332, 0.5454, 0.9166, 1.336, 1.802, 2.304, 2.847, 3.471",\
                 "-0.1861, -0.0868, 0.1742, 0.5343, 0.9645, 1.449, 1.985, 2.568, 3.189, 3.846",\
                 "-0.3288, -0.2149, 0.082, 0.4921, 0.9811, 1.531, 2.137, 2.796, 3.502, 4.25",\
                 "-0.506, -0.3778, -0.0443, 0.4138, 0.9632, 1.579, 2.255, 2.99, 3.777, 4.616");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003411, 0.01187, 0.02804, 0.05322, 0.08855, 0.135, 0.1936, 0.2651, 0.3503");
          values("0.07315, 0.107, 0.2224, 0.4406, 0.7792, 1.255, 1.879, 2.667, 3.629, 4.776",\
                 "0.08857, 0.1223, 0.2384, 0.4569, 0.7968, 1.272, 1.898, 2.685, 3.646, 4.793",\
                 "0.1468, 0.1877, 0.3037, 0.5212, 0.8601, 1.336, 1.961, 2.749, 3.709, 4.855",\
                 "0.2298, 0.2827, 0.4317, 0.6541, 0.9893, 1.462, 2.086, 2.871, 3.834, 4.977",\
                 "0.3382, 0.4048, 0.5863, 0.8572, 1.201, 1.668, 2.289, 3.071, 4.031, 5.174",\
                 "0.4714, 0.5536, 0.7715, 1.088, 1.491, 1.967, 2.581, 3.359, 4.313, 5.453",\
                 "0.6314, 0.7308, 0.9884, 1.35, 1.809, 2.354, 2.976, 3.748, 4.696, 5.832",\
                 "0.8216, 0.9369, 1.236, 1.65, 2.161, 2.772, 3.468, 4.249, 5.19, 6.317",\
                 "1.044, 1.174, 1.517, 1.984, 2.553, 3.222, 3.996, 4.85, 5.802, 6.92",\
                 "1.299, 1.445, 1.83, 2.356, 2.984, 3.714, 4.557, 5.496, 6.522, 7.651");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003411, 0.01187, 0.02804, 0.05322, 0.08855, 0.135, 0.1936, 0.2651, 0.3503");
          values("0.04896, 0.07906, 0.1848, 0.3861, 0.6992, 1.137, 1.715, 2.444, 3.331, 4.392",\
                 "0.05396, 0.07956, 0.1849, 0.3859, 0.6987, 1.138, 1.716, 2.444, 3.333, 4.394",\
                 "0.09792, 0.13, 0.2141, 0.3866, 0.6987, 1.138, 1.716, 2.444, 3.333, 4.391",\
                 "0.1588, 0.2005, 0.3141, 0.4792, 0.7208, 1.138, 1.715, 2.442, 3.333, 4.392",\
                 "0.2342, 0.2899, 0.4333, 0.6372, 0.8916, 1.213, 1.725, 2.443, 3.332, 4.392",\
                 "0.3238, 0.3938, 0.571, 0.811, 1.115, 1.469, 1.885, 2.491, 3.335, 4.389",\
                 "0.4278, 0.5134, 0.7288, 1.016, 1.358, 1.77, 2.232, 2.748, 3.456, 4.414",\
                 "0.5452, 0.65, 0.9018, 1.238, 1.632, 2.088, 2.612, 3.188, 3.82, 4.634",\
                 "0.675, 0.7974, 1.095, 1.485, 1.929, 2.431, 3.015, 3.658, 4.363, 5.108",\
                 "0.8166, 0.96, 1.304, 1.747, 2.253, 2.815, 3.438, 4.149, 4.924, 5.752");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003411, 0.01187, 0.02804, 0.05322, 0.08855, 0.135, 0.1936, 0.2651, 0.3503");
          values("0.09478, 0.1522, 0.3539, 0.7374, 1.335, 2.172, 3.275, 4.664, 6.361, 8.383",\
                 "0.0948, 0.1521, 0.3531, 0.735, 1.333, 2.172, 3.274, 4.664, 6.36, 8.381",\
                 "0.1335, 0.1822, 0.3547, 0.7372, 1.335, 2.173, 3.275, 4.664, 6.359, 8.382",\
                 "0.1898, 0.2497, 0.4286, 0.7463, 1.334, 2.172, 3.274, 4.664, 6.36, 8.383",\
                 "0.2656, 0.337, 0.5446, 0.8654, 1.36, 2.171, 3.273, 4.664, 6.36, 8.383",\
                 "0.3562, 0.4404, 0.6712, 1.044, 1.524, 2.22, 3.275, 4.662, 6.36, 8.383",\
                 "0.4568, 0.5606, 0.8232, 1.226, 1.776, 2.431, 3.352, 4.667, 6.356, 8.383",\
                 "0.5676, 0.691, 0.999, 1.434, 2.035, 2.762, 3.611, 4.778, 6.37, 8.379",\
                 "0.6938, 0.8342, 1.193, 1.672, 2.3, 3.103, 4.022, 5.089, 6.522, 8.404",\
                 "0.8328, 0.9912, 1.398, 1.934, 2.599, 3.45, 4.457, 5.568, 6.882, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__inv_2) {
    area : 13.171200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "4.4847e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.009068 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 0.703 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005846, 0.02285, 0.05534, 0.1059, 0.1769, 0.2704, 0.3881, 0.5318, 0.703");
          values("-0.00498, -0.004119, -0.003317, -0.003007, -0.002863, -0.002857, -0.002822, -0.002808, -0.002819, -0.002791",\
                 "-0.006561, -0.005629, -0.004231, -0.003509, -0.00314, -0.003022, -0.002961, -0.00294, -0.002929, -0.00293",\
                 "-0.001719, -0.002274, -0.002735, -0.002783, -0.002791, -0.002823, -0.002838, -0.002858, -0.002865, -0.002875",\
                 "0.01704, 0.01372, 0.008202, 0.00453, 0.002166, 0.0006667, -0.000311, -0.0009797, -0.00144, -0.00176",\
                 "0.05154, 0.0454, 0.03349, 0.02328, 0.01612, 0.01117, 0.007669, 0.00519, 0.003396, 0.002115",\
                 "0.1024, 0.09425, 0.07568, 0.05748, 0.04308, 0.03267, 0.02473, 0.01881, 0.01438, 0.01114",\
                 "0.171, 0.1612, 0.1367, 0.1096, 0.08666, 0.0685, 0.05436, 0.0434, 0.03481, 0.02812",\
                 "0.2584, 0.247, 0.2177, 0.1821, 0.1488, 0.1217, 0.09943, 0.08153, 0.06722, 0.05584",\
                 "0.3659, 0.3531, 0.3195, 0.2759, 0.2325, 0.1945, 0.1628, 0.1367, 0.115, 0.09722",\
                 "0.4943, 0.4803, 0.443, 0.3925, 0.3387, 0.2895, 0.2469, 0.2108, 0.1805, 0.1551");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005846, 0.02285, 0.05534, 0.1059, 0.1769, 0.2704, 0.3881, 0.5318, 0.703");
          values("0.07296, 0.07493, 0.07654, 0.07745, 0.07608, 0.07584, 0.07521, 0.07467, 0.07441, 0.0802",\
                 "0.07104, 0.07233, 0.07465, 0.07663, 0.07773, 0.07528, 0.07441, 0.07368, 0.0837, 0.0911",\
                 "0.07948, 0.07797, 0.07588, 0.0757, 0.07572, 0.07627, 0.07639, 0.07599, 0.07606, 0.07968",\
                 "0.1028, 0.09878, 0.09203, 0.08504, 0.08341, 0.07994, 0.07821, 0.07698, 0.07738, 0.08173",\
                 "0.1425, 0.1358, 0.1226, 0.109, 0.09965, 0.09231, 0.08778, 0.08424, 0.08136, 0.08768",\
                 "0.2003, 0.1914, 0.1719, 0.1525, 0.1341, 0.1196, 0.1089, 0.1021, 0.09456, 0.1004",\
                 "0.2777, 0.2669, 0.2412, 0.214, 0.1885, 0.1654, 0.1465, 0.1318, 0.1223, 0.1249",\
                 "0.3761, 0.3636, 0.3333, 0.2972, 0.263, 0.2313, 0.2036, 0.1806, 0.1636, 0.169",\
                 "0.497, 0.4829, 0.4476, 0.4035, 0.3602, 0.3203, 0.2832, 0.2499, 0.2246, 0.2402",\
                 "0.6409, 0.6259, 0.5863, 0.5348, 0.4816, 0.4327, 0.385, 0.3419, 0.3113, 0.3546");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005846, 0.02285, 0.05534, 0.1059, 0.1769, 0.2704, 0.3881, 0.5318, 0.703");
          values("0.0391, 0.05766, 0.1213, 0.2415, 0.4288, 0.692, 1.039, 1.474, 2.004, 2.638",\
                 "0.0512, 0.07155, 0.1353, 0.2562, 0.444, 0.7061, 1.052, 1.488, 2.02, 2.654",\
                 "0.06069, 0.09584, 0.1841, 0.3083, 0.4955, 0.7584, 1.104, 1.539, 2.072, 2.705",\
                 "0.05115, 0.1018, 0.2267, 0.3964, 0.598, 0.8593, 1.205, 1.639, 2.171, 2.804",\
                 "0.01859, 0.0842, 0.2473, 0.4661, 0.7264, 1.019, 1.363, 1.797, 2.327, 2.961",\
                 "-0.0396, 0.0419, 0.2434, 0.5113, 0.8297, 1.19, 1.585, 2.023, 2.551, 3.183",\
                 "-0.1257, -0.0294, 0.2093, 0.53, 0.9061, 1.33, 1.8, 2.305, 2.85, 3.478",\
                 "-0.2428, -0.1301, 0.1456, 0.5159, 0.9523, 1.442, 1.982, 2.568, 3.193, 3.854",\
                 "-0.3926, -0.2648, 0.0495, 0.4695, 0.9672, 1.523, 2.133, 2.795, 3.506, 4.257",\
                 "-0.578, -0.4343, -0.0811, 0.3896, 0.9461, 1.57, 2.251, 2.988, 3.78, 4.622");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005846, 0.02285, 0.05534, 0.1059, 0.1769, 0.2704, 0.3881, 0.5318, 0.703");
          values("0.05653, 0.09124, 0.2076, 0.4271, 0.7687, 1.245, 1.873, 2.665, 3.632, 4.785",\
                 "0.07265, 0.1066, 0.2235, 0.4439, 0.7862, 1.265, 1.891, 2.686, 3.655, 4.806",\
                 "0.125, 0.1698, 0.2901, 0.5084, 0.8485, 1.327, 1.955, 2.748, 3.714, 4.865",\
                 "0.2009, 0.2595, 0.4149, 0.6418, 0.9784, 1.454, 2.081, 2.872, 3.838, 4.988",\
                 "0.3006, 0.3757, 0.5657, 0.8425, 1.19, 1.66, 2.284, 3.072, 4.035, 5.185",\
                 "0.425, 0.5181, 0.7471, 1.071, 1.478, 1.959, 2.576, 3.359, 4.318, 5.466",\
                 "0.5763, 0.6877, 0.9596, 1.33, 1.795, 2.345, 2.972, 3.748, 4.702, 5.844",\
                 "0.7576, 0.8864, 1.204, 1.627, 2.145, 2.761, 3.462, 4.248, 5.193, 6.328",\
                 "0.9706, 1.117, 1.479, 1.96, 2.534, 3.212, 3.991, 4.851, 5.806, 6.932",\
                 "1.218, 1.38, 1.787, 2.328, 2.964, 3.701, 4.548, 5.496, 6.526, 7.663");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005846, 0.02285, 0.05534, 0.1059, 0.1769, 0.2704, 0.3881, 0.5318, 0.703");
          values("0.03484, 0.065, 0.1709, 0.373, 0.6892, 1.128, 1.708, 2.438, 3.332, 4.395",\
                 "0.04361, 0.06706, 0.1709, 0.3731, 0.6883, 1.128, 1.709, 2.442, 3.336, 4.401",\
                 "0.08098, 0.1161, 0.2045, 0.375, 0.6883, 1.129, 1.71, 2.443, 3.335, 4.402",\
                 "0.1348, 0.1823, 0.3008, 0.4696, 0.7114, 1.129, 1.709, 2.442, 3.336, 4.402",\
                 "0.2025, 0.2659, 0.4169, 0.6248, 0.8834, 1.207, 1.719, 2.439, 3.335, 4.401",\
                 "0.2838, 0.3634, 0.5514, 0.7992, 1.108, 1.464, 1.881, 2.49, 3.338, 4.4",\
                 "0.3774, 0.4766, 0.7058, 1.001, 1.348, 1.762, 2.226, 2.749, 3.458, 4.424",\
                 "0.4826, 0.6052, 0.876, 1.222, 1.618, 2.082, 2.609, 3.188, 3.821, 4.64",\
                 "0.602, 0.7436, 1.064, 1.463, 1.921, 2.425, 3.008, 3.659, 4.364, 5.114",\
                 "0.7314, 0.898, 1.268, 1.725, 2.237, 2.804, 3.433, 4.151, 4.926, 5.764");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005846, 0.02285, 0.05534, 0.1059, 0.1769, 0.2704, 0.3881, 0.5318, 0.703");
          values("0.06763, 0.1251, 0.3261, 0.7107, 1.313, 2.154, 3.26, 4.661, 6.365, 8.399",\
                 "0.06932, 0.1251, 0.3275, 0.7125, 1.314, 2.156, 3.26, 4.656, 6.368, 8.4",\
                 "0.1068, 0.1614, 0.3304, 0.7139, 1.314, 2.156, 3.264, 4.661, 6.364, 8.399",\
                 "0.1594, 0.2229, 0.4078, 0.7252, 1.311, 2.156, 3.264, 4.661, 6.365, 8.398",\
                 "0.2276, 0.3068, 0.5186, 0.8472, 1.34, 2.155, 3.263, 4.661, 6.366, 8.398",\
                 "0.3072, 0.4066, 0.6436, 1.024, 1.506, 2.205, 3.265, 4.661, 6.365, 8.399",\
                 "0.398, 0.5156, 0.7936, 1.205, 1.76, 2.42, 3.341, 4.665, 6.364, 8.397",\
                 "0.5008, 0.6382, 0.9688, 1.409, 2.012, 2.752, 3.603, 4.776, 6.379, 8.398",\
                 "0.6146, 0.7738, 1.155, 1.646, 2.281, 3.09, 4.012, 5.088, 6.525, 8.426",\
                 "0.7442, 0.9206, 1.355, 1.907, 2.579, 3.434, 4.447, 5.566, 6.889, 8.612");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__inv_3) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "5.63805e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "5.63805e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.01361 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 1.053 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008261, 0.03375, 0.08242, 0.1583, 0.2646, 0.4047, 0.581, 0.7964, 1.053");
          values("-0.005284, -0.003839, -0.002719, -0.002183, -0.002039, -0.001971, -0.001964, -0.001928, -0.001908, -0.001872",\
                 "-0.007598, -0.006088, -0.004011, -0.00298, -0.002473, -0.002316, -0.002188, -0.002108, -0.002032, -0.00197",\
                 "-0.0003542, -0.001215, -0.001833, -0.001885, -0.001893, -0.001883, -0.001934, -0.001978, -0.001902, -0.001898",\
                 "0.02787, 0.02283, 0.01459, 0.009031, 0.005479, 0.003285, 0.001839, 0.000844, 0.0001789, -0.0002892",\
                 "0.0794, 0.07031, 0.05232, 0.03723, 0.02648, 0.01897, 0.01376, 0.0101, 0.007371, 0.005436",\
                 "0.1557, 0.1436, 0.1158, 0.08826, 0.06711, 0.05109, 0.03945, 0.03064, 0.02402, 0.01906",\
                 "0.2586, 0.2436, 0.2072, 0.1666, 0.1318, 0.105, 0.08358, 0.06707, 0.05436, 0.04441",\
                 "0.3895, 0.3723, 0.3284, 0.2752, 0.2255, 0.1844, 0.1513, 0.1244, 0.1033, 0.08609",\
                 "0.5504, 0.5313, 0.4809, 0.4158, 0.351, 0.2939, 0.2465, 0.2069, 0.1747, 0.1478",\
                 "0.7429, 0.7222, 0.6661, 0.5902, 0.5102, 0.4364, 0.3727, 0.3185, 0.2728, 0.2343");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008261, 0.03375, 0.08242, 0.1583, 0.2646, 0.4047, 0.581, 0.7964, 1.053");
          values("0.1132, 0.116, 0.1184, 0.1199, 0.1215, 0.1239, 0.1249, 0.1286, 0.1315, 0.1373",\
                 "0.1104, 0.1122, 0.1158, 0.118, 0.1208, 0.1227, 0.1255, 0.129, 0.1302, 0.1373",\
                 "0.1233, 0.1213, 0.1185, 0.1188, 0.1207, 0.1233, 0.1242, 0.1266, 0.1315, 0.1381",\
                 "0.1583, 0.1521, 0.1418, 0.133, 0.129, 0.1278, 0.1288, 0.1296, 0.1308, 0.1395",\
                 "0.2176, 0.2076, 0.1878, 0.1707, 0.1558, 0.1475, 0.143, 0.1395, 0.1396, 0.1482",\
                 "0.3043, 0.2912, 0.2619, 0.2329, 0.2087, 0.1887, 0.1757, 0.1666, 0.1626, 0.1704",\
                 "0.4202, 0.4044, 0.3667, 0.3252, 0.2886, 0.2581, 0.2314, 0.2121, 0.1993, 0.207",\
                 "0.5676, 0.5494, 0.504, 0.4505, 0.4002, 0.3568, 0.3189, 0.2861, 0.2624, 0.2719",\
                 "0.7483, 0.7282, 0.6758, 0.61, 0.5452, 0.4869, 0.4377, 0.3923, 0.355, 0.3784",\
                 "0.9648, 0.943, 0.8845, 0.8069, 0.7284, 0.6536, 0.5895, 0.5341, 0.4908, 0.5465");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008261, 0.03375, 0.08242, 0.1583, 0.2646, 0.4047, 0.581, 0.7964, 1.053");
          values("0.0393, 0.05784, 0.1213, 0.242, 0.4292, 0.6916, 1.038, 1.474, 2.007, 2.639",\
                 "0.0514, 0.07168, 0.1355, 0.2561, 0.4438, 0.7071, 1.053, 1.489, 2.021, 2.655",\
                 "0.06102, 0.09607, 0.1842, 0.3084, 0.4957, 0.758, 1.105, 1.541, 2.071, 2.707",\
                 "0.05174, 0.1022, 0.2269, 0.3966, 0.5979, 0.8593, 1.205, 1.64, 2.171, 2.806",\
                 "0.01934, 0.08507, 0.2479, 0.4665, 0.7268, 1.019, 1.364, 1.798, 2.327, 2.961",\
                 "-0.0379, 0.043, 0.2434, 0.5117, 0.8289, 1.19, 1.585, 2.023, 2.552, 3.183",\
                 "-0.1243, -0.0276, 0.2098, 0.5301, 0.906, 1.331, 1.8, 2.305, 2.85, 3.478",\
                 "-0.2413, -0.1289, 0.1469, 0.5174, 0.9522, 1.442, 1.982, 2.568, 3.193, 3.854",\
                 "-0.3912, -0.263, 0.0512, 0.4711, 0.9679, 1.524, 2.133, 2.795, 3.505, 4.256",\
                 "-0.5761, -0.4325, -0.0788, 0.3912, 0.9436, 1.571, 2.248, 2.989, 3.781, 4.623");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008261, 0.03375, 0.08242, 0.1583, 0.2646, 0.4047, 0.581, 0.7964, 1.053");
          values("0.05681, 0.09146, 0.2078, 0.4276, 0.7689, 1.245, 1.876, 2.667, 3.63, 4.788",\
                 "0.07294, 0.1067, 0.2236, 0.4438, 0.7853, 1.264, 1.892, 2.682, 3.654, 4.807",\
                 "0.1256, 0.17, 0.2902, 0.5087, 0.8487, 1.327, 1.958, 2.75, 3.713, 4.871",\
                 "0.2018, 0.2599, 0.4152, 0.6417, 0.9781, 1.454, 2.08, 2.872, 3.841, 4.992",\
                 "0.3014, 0.3759, 0.5662, 0.8426, 1.19, 1.66, 2.284, 3.072, 4.038, 5.189",\
                 "0.4261, 0.5188, 0.748, 1.071, 1.478, 1.959, 2.575, 3.359, 4.317, 5.464",\
                 "0.5778, 0.6887, 0.9607, 1.331, 1.796, 2.345, 2.972, 3.747, 4.699, 5.844",\
                 "0.7592, 0.8872, 1.205, 1.628, 2.146, 2.762, 3.462, 4.247, 5.194, 6.327",\
                 "0.9724, 1.118, 1.48, 1.961, 2.535, 3.212, 3.99, 4.85, 5.804, 6.93",\
                 "1.219, 1.382, 1.789, 2.329, 2.966, 3.702, 4.549, 5.497, 6.525, 7.661");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008261, 0.03375, 0.08242, 0.1583, 0.2646, 0.4047, 0.581, 0.7964, 1.053");
          values("0.03494, 0.06537, 0.1706, 0.3741, 0.689, 1.133, 1.707, 2.443, 3.328, 4.408",\
                 "0.04374, 0.06722, 0.171, 0.3738, 0.6886, 1.127, 1.707, 2.442, 3.329, 4.402",\
                 "0.0811, 0.1158, 0.2043, 0.3744, 0.6879, 1.13, 1.714, 2.437, 3.345, 4.396",\
                 "0.1351, 0.1826, 0.3016, 0.4697, 0.7114, 1.13, 1.713, 2.445, 3.344, 4.411",\
                 "0.203, 0.2658, 0.4158, 0.625, 0.8838, 1.206, 1.72, 2.443, 3.335, 4.403",\
                 "0.2846, 0.365, 0.5516, 0.7982, 1.108, 1.462, 1.879, 2.489, 3.337, 4.403",\
                 "0.3806, 0.4774, 0.7052, 0.9988, 1.346, 1.764, 2.226, 2.748, 3.456, 4.427",\
                 "0.4838, 0.6042, 0.8774, 1.219, 1.623, 2.078, 2.605, 3.185, 3.821, 4.638",\
                 "0.6022, 0.7462, 1.063, 1.462, 1.917, 2.421, 3.004, 3.656, 4.359, 5.113",\
                 "0.7326, 0.8994, 1.267, 1.725, 2.235, 2.8, 3.432, 4.145, 4.925, 5.756");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008261, 0.03375, 0.08242, 0.1583, 0.2646, 0.4047, 0.581, 0.7964, 1.053");
          values("0.06803, 0.1254, 0.3262, 0.7111, 1.313, 2.154, 3.265, 4.66, 6.362, 8.408",\
                 "0.06972, 0.1255, 0.3267, 0.7115, 1.312, 2.155, 3.263, 4.657, 6.37, 8.401",\
                 "0.1073, 0.161, 0.3294, 0.7121, 1.312, 2.153, 3.265, 4.662, 6.362, 8.399",\
                 "0.1603, 0.2233, 0.4078, 0.7252, 1.312, 2.153, 3.266, 4.664, 6.362, 8.403",\
                 "0.2282, 0.304, 0.5178, 0.8468, 1.339, 2.152, 3.262, 4.655, 6.362, 8.398",\
                 "0.3086, 0.4034, 0.642, 1.022, 1.506, 2.208, 3.262, 4.654, 6.369, 8.39",\
                 "0.3978, 0.514, 0.7924, 1.203, 1.759, 2.419, 3.343, 4.658, 6.355, 8.391",\
                 "0.4998, 0.6386, 0.9672, 1.41, 2.01, 2.746, 3.599, 4.775, 6.371, 8.392",\
                 "0.6168, 0.7734, 1.152, 1.644, 2.278, 3.086, 4.007, 5.082, 6.519, 8.41",\
                 "0.7454, 0.9224, 1.356, 1.909, 2.579, 3.43, 4.441, 5.557, 6.881, 8.606");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__inv_4) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.7914e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.01798 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 1.408 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01071, 0.04479, 0.1099, 0.2113, 0.3536, 0.5408, 0.7766, 1.065, 1.408");
          values("-0.01133, -0.00917, -0.00733, -0.006734, -0.006442, -0.006332, -0.006294, -0.006282, -0.006227, -0.006222",\
                 "-0.01441, -0.01216, -0.009187, -0.007588, -0.006967, -0.006753, -0.006583, -0.006503, -0.006379, -0.006382",\
                 "-0.003785, -0.005257, -0.006073, -0.006225, -0.006184, -0.006172, -0.006132, -0.006164, -0.006179, -0.006218",\
                 "0.03508, 0.02754, 0.01622, 0.008489, 0.003732, 0.0007616, -0.00124, -0.002526, -0.003449, -0.004057",\
                 "0.1049, 0.092, 0.06685, 0.04626, 0.03164, 0.02183, 0.01481, 0.009753, 0.006238, 0.003625",\
                 "0.2077, 0.1903, 0.1519, 0.1145, 0.08581, 0.06459, 0.04884, 0.03714, 0.02828, 0.02159",\
                 "0.3453, 0.3244, 0.2745, 0.2192, 0.173, 0.1361, 0.108, 0.08602, 0.06896, 0.05553",\
                 "0.5204, 0.4966, 0.4367, 0.3644, 0.2977, 0.2424, 0.1982, 0.1625, 0.1338, 0.1109",\
                 "0.7357, 0.7091, 0.6404, 0.5525, 0.4649, 0.3884, 0.3245, 0.2723, 0.2293, 0.1938",\
                 "0.9929, 0.964, 0.8871, 0.7853, 0.6775, 0.5785, 0.4926, 0.421, 0.3598, 0.3088");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01071, 0.04479, 0.1099, 0.2113, 0.3536, 0.5408, 0.7766, 1.065, 1.408");
          values("0.138, 0.1426, 0.1465, 0.1488, 0.15, 0.1527, 0.156, 0.1575, 0.1644, 0.1699",\
                 "0.135, 0.1373, 0.1423, 0.1466, 0.149, 0.1514, 0.1543, 0.1595, 0.1595, 0.1722",\
                 "0.1534, 0.1499, 0.1463, 0.1461, 0.1483, 0.1514, 0.1537, 0.1566, 0.1634, 0.1721",\
                 "0.2012, 0.192, 0.1773, 0.1661, 0.1604, 0.1586, 0.1599, 0.1599, 0.1671, 0.1748",\
                 "0.2815, 0.2674, 0.2396, 0.2156, 0.1965, 0.1847, 0.1784, 0.1754, 0.1747, 0.192",\
                 "0.3978, 0.3796, 0.3394, 0.2992, 0.2666, 0.2402, 0.2213, 0.2087, 0.2025, 0.2122",\
                 "0.5529, 0.5308, 0.4793, 0.4226, 0.3733, 0.3319, 0.2979, 0.2707, 0.2527, 0.2661",\
                 "0.7501, 0.7247, 0.6617, 0.5899, 0.5211, 0.4646, 0.414, 0.3686, 0.3377, 0.3537",\
                 "0.9917, 0.9636, 0.8919, 0.8026, 0.7163, 0.6381, 0.5741, 0.51, 0.4636, 0.4893",\
                 "1.281, 1.25, 1.17, 1.065, 0.9601, 0.8606, 0.7718, 0.6968, 0.6402, 0.7194");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01071, 0.04479, 0.1099, 0.2113, 0.3536, 0.5408, 0.7766, 1.065, 1.408");
          values("0.03589, 0.05462, 0.1184, 0.2394, 0.4271, 0.6905, 1.037, 1.476, 2.007, 2.645",\
                 "0.04706, 0.06843, 0.1325, 0.2539, 0.4417, 0.7055, 1.052, 1.49, 2.021, 2.659",\
                 "0.05355, 0.09051, 0.1807, 0.3059, 0.4938, 0.7574, 1.104, 1.54, 2.075, 2.712",\
                 "0.04095, 0.09426, 0.222, 0.3933, 0.596, 0.8585, 1.205, 1.641, 2.175, 2.811",\
                 "0.00551, 0.07489, 0.2416, 0.4624, 0.7241, 1.018, 1.363, 1.799, 2.331, 2.966",\
                 "-0.0556, 0.0302, 0.2356, 0.5069, 0.8268, 1.189, 1.584, 2.024, 2.553, 3.187",\
                 "-0.145, -0.0426, 0.2008, 0.5242, 0.9022, 1.329, 1.799, 2.307, 2.852, 3.483",\
                 "-0.2655, -0.1467, 0.1359, 0.5102, 0.9487, 1.44, 1.982, 2.57, 3.196, 3.858",\
                 "-0.4188, -0.2835, 0.0393, 0.4637, 0.9632, 1.52, 2.132, 2.797, 3.509, 4.262",\
                 "-0.6069, -0.4555, -0.0934, 0.3814, 0.9419, 1.568, 2.252, 2.99, 3.785, 4.629");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01071, 0.04479, 0.1099, 0.2113, 0.3536, 0.5408, 0.7766, 1.065, 1.408");
          values("0.05038, 0.08553, 0.2023, 0.4225, 0.7646, 1.245, 1.874, 2.67, 3.638, 4.794",\
                 "0.06679, 0.101, 0.2182, 0.4394, 0.7812, 1.262, 1.893, 2.685, 3.657, 4.815",\
                 "0.1166, 0.1627, 0.2848, 0.5035, 0.8457, 1.325, 1.957, 2.751, 3.72, 4.879",\
                 "0.1895, 0.2504, 0.4085, 0.6373, 0.9743, 1.451, 2.081, 2.876, 3.842, 5.001",\
                 "0.2854, 0.3646, 0.5583, 0.8373, 1.186, 1.658, 2.283, 3.075, 4.042, 5.195",\
                 "0.4062, 0.5043, 0.7387, 1.064, 1.474, 1.957, 2.576, 3.361, 4.322, 5.476",\
                 "0.5538, 0.6709, 0.9502, 1.324, 1.791, 2.342, 2.971, 3.75, 4.705, 5.852",\
                 "0.7318, 0.8674, 1.19, 1.619, 2.14, 2.76, 3.461, 4.249, 5.197, 6.337",\
                 "0.9408, 1.095, 1.466, 1.951, 2.53, 3.209, 3.99, 4.851, 5.809, 6.939",\
                 "1.184, 1.356, 1.772, 2.319, 2.96, 3.698, 4.547, 5.499, 6.53, 7.669");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01071, 0.04479, 0.1099, 0.2113, 0.3536, 0.5408, 0.7766, 1.065, 1.408");
          values("0.02957, 0.05991, 0.1656, 0.3687, 0.6857, 1.131, 1.715, 2.439, 3.352, 4.41",\
                 "0.03925, 0.0626, 0.1661, 0.3694, 0.6854, 1.13, 1.715, 2.441, 3.351, 4.4",\
                 "0.07392, 0.1102, 0.2009, 0.3704, 0.6854, 1.129, 1.712, 2.45, 3.339, 4.4",\
                 "0.1246, 0.1748, 0.2962, 0.4671, 0.7088, 1.128, 1.712, 2.449, 3.348, 4.42",\
                 "0.1892, 0.2565, 0.41, 0.6202, 0.8804, 1.204, 1.719, 2.444, 3.344, 4.419",\
                 "0.2672, 0.3518, 0.5442, 0.7934, 1.105, 1.461, 1.879, 2.49, 3.345, 4.407",\
                 "0.3564, 0.4628, 0.6956, 0.9926, 1.344, 1.758, 2.226, 2.747, 3.463, 4.432",\
                 "0.457, 0.5894, 0.8678, 1.214, 1.613, 2.076, 2.606, 3.187, 3.823, 4.646",\
                 "0.5698, 0.7236, 1.05, 1.453, 1.91, 2.422, 3.006, 3.658, 4.363, 5.119",\
                 "0.6958, 0.8718, 1.253, 1.714, 2.23, 2.797, 3.432, 4.145, 4.929, 5.761");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01071, 0.04479, 0.1099, 0.2113, 0.3536, 0.5408, 0.7766, 1.065, 1.408");
          values("0.05774, 0.1154, 0.3172, 0.7044, 1.306, 2.152, 3.262, 4.665, 6.373, 8.424",\
                 "0.06096, 0.1153, 0.3177, 0.7043, 1.305, 2.152, 3.264, 4.662, 6.382, 8.413",\
                 "0.0965, 0.1523, 0.3207, 0.7037, 1.306, 2.151, 3.263, 4.664, 6.372, 8.413",\
                 "0.1467, 0.2123, 0.4009, 0.7157, 1.304, 2.154, 3.262, 4.662, 6.369, 8.418",\
                 "0.2112, 0.292, 0.5084, 0.8396, 1.336, 2.149, 3.26, 4.662, 6.373, 8.41",\
                 "0.287, 0.3878, 0.632, 1.015, 1.501, 2.2, 3.259, 4.66, 6.371, 8.41",\
                 "0.3732, 0.4968, 0.7836, 1.193, 1.752, 2.413, 3.342, 4.663, 6.368, 8.402",\
                 "0.4706, 0.617, 0.9554, 1.402, 2.004, 2.743, 3.599, 4.775, 6.376, 8.405",\
                 "0.581, 0.7488, 1.138, 1.634, 2.27, 3.086, 4.006, 5.083, 6.536, 8.423",\
                 "0.7076, 0.894, 1.336, 1.897, 2.571, 3.426, 4.446, 5.559, 6.887, 8.63");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__inv_8) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001140447" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001140447" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.03638 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 2.804 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02034, 0.08825, 0.2179, 0.4199, 0.7034, 1.076, 1.546, 2.12, 2.804");
          values("-0.02253, -0.01798, -0.01471, -0.01341, -0.01293, -0.01268, -0.01262, -0.01248, -0.01249, -0.0124",\
                 "-0.02895, -0.02442, -0.01814, -0.01545, -0.01417, -0.01346, -0.01314, -0.013, -0.01276, -0.01272",\
                 "-0.007498, -0.01021, -0.01211, -0.01231, -0.01233, -0.01236, -0.01238, -0.01238, -0.01239, -0.01238",\
                 "0.07037, 0.05544, 0.0324, 0.01703, 0.007445, 0.001399, -0.002409, -0.005058, -0.006762, -0.008",\
                 "0.2098, 0.1841, 0.1339, 0.09261, 0.0637, 0.04363, 0.0294, 0.01965, 0.01238, 0.007333",\
                 "0.4149, 0.3806, 0.3038, 0.2294, 0.1719, 0.1294, 0.09782, 0.07437, 0.05656, 0.04324",\
                 "0.6905, 0.6485, 0.5487, 0.4389, 0.3461, 0.2728, 0.2157, 0.1721, 0.138, 0.1113",\
                 "1.04, 0.9927, 0.8728, 0.7292, 0.5956, 0.4859, 0.3969, 0.3252, 0.2681, 0.2222",\
                 "1.47, 1.417, 1.28, 1.105, 0.9306, 0.7775, 0.6503, 0.5448, 0.4581, 0.3879",\
                 "1.984, 1.927, 1.774, 1.569, 1.355, 1.156, 0.9864, 0.8418, 0.7204, 0.618");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02034, 0.08825, 0.2179, 0.4199, 0.7034, 1.076, 1.546, 2.12, 2.804");
          values("0.285, 0.2942, 0.3024, 0.3047, 0.3094, 0.3165, 0.3191, 0.3273, 0.3313, 0.3597",\
                 "0.2789, 0.284, 0.2935, 0.3007, 0.3071, 0.3129, 0.3168, 0.3276, 0.3306, 0.3548",\
                 "0.3157, 0.3094, 0.3016, 0.3012, 0.3057, 0.3122, 0.3165, 0.3243, 0.33, 0.3618",\
                 "0.4113, 0.393, 0.3635, 0.341, 0.3298, 0.3251, 0.3271, 0.33, 0.3343, 0.3594",\
                 "0.5718, 0.5435, 0.4879, 0.4416, 0.4011, 0.3769, 0.3634, 0.3593, 0.3591, 0.3766",\
                 "0.8044, 0.7679, 0.6873, 0.6074, 0.543, 0.4888, 0.4521, 0.427, 0.4153, 0.4375",\
                 "1.115, 1.07, 0.9671, 0.8543, 0.7562, 0.6756, 0.6013, 0.5514, 0.5174, 0.5358",\
                 "1.508, 1.458, 1.333, 1.189, 1.053, 0.9382, 0.8353, 0.7488, 0.6834, 0.7086",\
                 "1.992, 1.936, 1.792, 1.613, 1.44, 1.285, 1.152, 1.033, 0.9367, 0.9838",\
                 "2.569, 2.508, 2.348, 2.14, 1.928, 1.727, 1.554, 1.405, 1.291, 1.444");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02034, 0.08825, 0.2179, 0.4199, 0.7034, 1.076, 1.546, 2.12, 2.804");
          values("0.03587, 0.05466, 0.1183, 0.239, 0.4264, 0.6894, 1.036, 1.471, 2.005, 2.638",\
                 "0.04699, 0.06835, 0.1324, 0.2532, 0.4407, 0.7042, 1.05, 1.487, 2.017, 2.654",\
                 "0.05335, 0.0903, 0.1804, 0.3054, 0.4929, 0.7554, 1.101, 1.538, 2.07, 2.705",\
                 "0.04056, 0.09379, 0.2215, 0.3926, 0.5948, 0.8568, 1.202, 1.638, 2.168, 2.805",\
                 "0.00497, 0.07435, 0.2409, 0.4614, 0.7231, 1.017, 1.361, 1.795, 2.325, 2.96",\
                 "-0.0564, 0.0294, 0.2348, 0.5059, 0.8253, 1.186, 1.582, 2.021, 2.55, 3.18",\
                 "-0.1461, -0.0436, 0.2, 0.5224, 0.9009, 1.327, 1.796, 2.303, 2.847, 3.477",\
                 "-0.2663, -0.1471, 0.1346, 0.5092, 0.9468, 1.437, 1.978, 2.565, 3.191, 3.852",\
                 "-0.4197, -0.2844, 0.0379, 0.4619, 0.9607, 1.518, 2.129, 2.792, 3.503, 4.255",\
                 "-0.6079, -0.4562, -0.0945, 0.381, 0.936, 1.564, 2.248, 2.986, 3.778, 4.62");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02034, 0.08825, 0.2179, 0.4199, 0.7034, 1.076, 1.546, 2.12, 2.804");
          values("0.05012, 0.08544, 0.2021, 0.4212, 0.7625, 1.239, 1.871, 2.66, 3.631, 4.783",\
                 "0.06662, 0.1006, 0.2177, 0.4384, 0.7791, 1.258, 1.888, 2.68, 3.649, 4.803",\
                 "0.1162, 0.1623, 0.2843, 0.5022, 0.8438, 1.322, 1.952, 2.742, 3.713, 4.862",\
                 "0.1889, 0.2501, 0.408, 0.6362, 0.973, 1.448, 2.075, 2.869, 3.836, 4.99",\
                 "0.2849, 0.3638, 0.5573, 0.8361, 1.184, 1.654, 2.278, 3.068, 4.028, 5.184",\
                 "0.4055, 0.5032, 0.7376, 1.063, 1.472, 1.954, 2.571, 3.355, 4.315, 5.459",\
                 "0.553, 0.6702, 0.949, 1.322, 1.788, 2.339, 2.966, 3.743, 4.694, 5.837",\
                 "0.7303, 0.8659, 1.189, 1.618, 2.138, 2.756, 3.456, 4.242, 5.188, 6.322",\
                 "0.9394, 1.094, 1.464, 1.949, 2.526, 3.204, 3.982, 4.845, 5.8, 6.927",\
                 "1.183, 1.355, 1.771, 2.317, 2.955, 3.692, 4.54, 5.489, 6.521, 7.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02034, 0.08825, 0.2179, 0.4199, 0.7034, 1.076, 1.546, 2.12, 2.804");
          values("0.02945, 0.05981, 0.1654, 0.3673, 0.6842, 1.128, 1.702, 2.447, 3.326, 4.414",\
                 "0.03905, 0.06242, 0.1657, 0.3679, 0.6831, 1.125, 1.71, 2.434, 3.344, 4.397",\
                 "0.07352, 0.1099, 0.2004, 0.3699, 0.6837, 1.125, 1.709, 2.445, 3.34, 4.412",\
                 "0.1242, 0.1749, 0.2959, 0.4665, 0.7059, 1.124, 1.705, 2.444, 3.337, 4.411",\
                 "0.1887, 0.2559, 0.41, 0.62, 0.8788, 1.203, 1.715, 2.437, 3.337, 4.409",\
                 "0.2664, 0.3512, 0.5432, 0.792, 1.101, 1.459, 1.877, 2.486, 3.335, 4.401",\
                 "0.356, 0.4616, 0.6954, 0.9914, 1.341, 1.756, 2.221, 2.746, 3.455, 4.424",\
                 "0.456, 0.5846, 0.8628, 1.211, 1.613, 2.073, 2.602, 3.184, 3.821, 4.637",\
                 "0.5686, 0.7214, 1.05, 1.454, 1.907, 2.417, 3, 3.653, 4.357, 5.112",\
                 "0.6944, 0.8716, 1.254, 1.709, 2.23, 2.798, 3.427, 4.142, 4.921, 5.754");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.02034, 0.08825, 0.2179, 0.4199, 0.7034, 1.076, 1.546, 2.12, 2.804");
          values("0.05726, 0.115, 0.3172, 0.7009, 1.303, 2.144, 3.255, 4.65, 6.358, 8.391",\
                 "0.06068, 0.1147, 0.3162, 0.7017, 1.301, 2.145, 3.257, 4.652, 6.359, 8.394",\
                 "0.09612, 0.1515, 0.3194, 0.7018, 1.303, 2.145, 3.253, 4.656, 6.358, 8.387",\
                 "0.1465, 0.2122, 0.4, 0.7164, 1.302, 2.144, 3.256, 4.653, 6.359, 8.389",\
                 "0.2102, 0.2912, 0.5072, 0.8382, 1.33, 2.145, 3.253, 4.649, 6.361, 8.393",\
                 "0.2852, 0.387, 0.632, 1.014, 1.498, 2.197, 3.253, 4.645, 6.35, 8.392",\
                 "0.3712, 0.4948, 0.781, 1.192, 1.748, 2.409, 3.331, 4.65, 6.347, 8.384",\
                 "0.469, 0.6148, 0.95, 1.398, 2.002, 2.739, 3.592, 4.77, 6.359, 8.387",\
                 "0.5796, 0.7466, 1.136, 1.633, 2.267, 3.082, 4.001, 5.076, 6.517, 8.406",\
                 "0.7074, 0.8918, 1.337, 1.89, 2.57, 3.421, 4.435, 5.554, 6.876, 8.606");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__inv_12) {
    area : 57.075200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001547106" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0001601787" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001601787" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.05414 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 4.203 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03, 0.1318, 0.3262, 0.6291, 1.054, 1.613, 2.318, 3.178, 4.203");
          values("-0.04143, -0.0349, -0.02903, -0.02712, -0.02658, -0.02609, -0.02598, -0.02575, -0.02583, -0.02563",\
                 "-0.05081, -0.04366, -0.03446, -0.03005, -0.02817, -0.02723, -0.02667, -0.02638, -0.02618, -0.02591",\
                 "-0.01812, -0.02227, -0.02516, -0.02554, -0.02553, -0.02542, -0.02537, -0.02535, -0.02531, -0.02528",\
                 "0.09963, 0.07683, 0.04163, 0.01854, 0.004139, -0.004707, -0.01067, -0.0143, -0.01709, -0.01887",\
                 "0.3091, 0.2706, 0.1941, 0.132, 0.08828, 0.05828, 0.03731, 0.02249, 0.01184, 0.004086",\
                 "0.6168, 0.5649, 0.4495, 0.3375, 0.2504, 0.187, 0.1397, 0.1046, 0.0781, 0.05802",\
                 "1.03, 0.9673, 0.8169, 0.6513, 0.5108, 0.4018, 0.3163, 0.2513, 0.1997, 0.1595",\
                 "1.555, 1.483, 1.303, 1.086, 0.8851, 0.7212, 0.587, 0.4805, 0.3945, 0.3258",\
                 "2.199, 2.12, 1.913, 1.65, 1.387, 1.158, 0.9685, 0.8104, 0.6798, 0.5737",\
                 "2.97, 2.884, 2.654, 2.347, 2.027, 1.727, 1.472, 1.256, 1.072, 0.9164");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03, 0.1318, 0.3262, 0.6291, 1.054, 1.613, 2.318, 3.178, 4.203");
          values("0.4298, 0.4435, 0.4565, 0.4623, 0.4683, 0.4743, 0.4811, 0.487, 0.4975, 0.5425",\
                 "0.4211, 0.4279, 0.4438, 0.4527, 0.4627, 0.4717, 0.4811, 0.4874, 0.4942, 0.5293",\
                 "0.4774, 0.4663, 0.4552, 0.4547, 0.463, 0.4717, 0.4771, 0.4933, 0.5041, 0.5447",\
                 "0.6207, 0.5929, 0.5488, 0.5141, 0.4964, 0.4921, 0.4943, 0.4969, 0.5173, 0.5464",\
                 "0.8619, 0.8187, 0.7342, 0.6646, 0.6053, 0.57, 0.5504, 0.5421, 0.5491, 0.5735",\
                 "1.211, 1.155, 1.035, 0.9141, 0.8171, 0.7357, 0.6774, 0.6402, 0.6238, 0.6634",\
                 "1.676, 1.609, 1.452, 1.281, 1.139, 1.015, 0.9104, 0.8292, 0.7798, 0.7952",\
                 "2.266, 2.19, 2.001, 1.785, 1.579, 1.409, 1.254, 1.125, 1.026, 1.063",\
                 "2.99, 2.906, 2.69, 2.423, 2.157, 1.923, 1.729, 1.546, 1.405, 1.482",\
                 "3.856, 3.764, 3.524, 3.211, 2.893, 2.593, 2.334, 2.113, 1.934, 2.169");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03, 0.1318, 0.3262, 0.6291, 1.054, 1.613, 2.318, 3.178, 4.203");
          values("0.03551, 0.05427, 0.118, 0.2389, 0.4264, 0.6902, 1.037, 1.472, 2.007, 2.64",\
                 "0.04645, 0.06804, 0.1321, 0.2531, 0.4412, 0.7045, 1.051, 1.488, 2.021, 2.654",\
                 "0.05231, 0.08955, 0.1802, 0.3053, 0.493, 0.7561, 1.102, 1.538, 2.073, 2.705",\
                 "0.03887, 0.09276, 0.221, 0.3926, 0.5951, 0.857, 1.203, 1.639, 2.172, 2.807",\
                 "0.00292, 0.07286, 0.2401, 0.4612, 0.7232, 1.017, 1.362, 1.797, 2.328, 2.962",\
                 "-0.0591, 0.027, 0.2337, 0.5053, 0.825, 1.187, 1.583, 2.022, 2.551, 3.183",\
                 "-0.1492, -0.0455, 0.1991, 0.5222, 0.9007, 1.327, 1.797, 2.303, 2.849, 3.479",\
                 "-0.27, -0.1502, 0.1341, 0.5071, 0.9465, 1.438, 1.979, 2.567, 3.192, 3.854",\
                 "-0.4243, -0.2873, 0.0368, 0.4611, 0.9604, 1.518, 2.13, 2.793, 3.505, 4.257",\
                 "-0.6125, -0.4598, -0.0958, 0.3793, 0.9376, 1.564, 2.248, 2.987, 3.78, 4.624");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03, 0.1318, 0.3262, 0.6291, 1.054, 1.613, 2.318, 3.178, 4.203");
          values("0.04954, 0.08466, 0.2016, 0.4211, 0.7625, 1.241, 1.87, 2.664, 3.632, 4.783",\
                 "0.06595, 0.09994, 0.2174, 0.4375, 0.7803, 1.259, 1.888, 2.681, 3.649, 4.806",\
                 "0.1152, 0.1615, 0.2837, 0.5023, 0.8426, 1.322, 1.953, 2.742, 3.711, 4.867",\
                 "0.1873, 0.2489, 0.4074, 0.6358, 0.9729, 1.449, 2.077, 2.87, 3.836, 4.992",\
                 "0.2824, 0.3623, 0.5564, 0.8355, 1.184, 1.655, 2.277, 3.065, 4.032, 5.187",\
                 "0.4025, 0.5016, 0.7365, 1.062, 1.472, 1.954, 2.571, 3.355, 4.318, 5.461",\
                 "0.5496, 0.6678, 0.9471, 1.321, 1.788, 2.339, 2.967, 3.744, 4.697, 5.841",\
                 "0.7263, 0.8627, 1.189, 1.617, 2.136, 2.756, 3.456, 4.243, 5.19, 6.323",\
                 "0.935, 1.09, 1.462, 1.948, 2.524, 3.203, 3.983, 4.845, 5.801, 6.927",\
                 "1.177, 1.351, 1.768, 2.314, 2.954, 3.692, 4.542, 5.491, 6.521, 7.659");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03, 0.1318, 0.3262, 0.6291, 1.054, 1.613, 2.318, 3.178, 4.203");
          values("0.02858, 0.05879, 0.1646, 0.3667, 0.684, 1.127, 1.704, 2.448, 3.33, 4.418",\
                 "0.03832, 0.0618, 0.1649, 0.368, 0.6835, 1.128, 1.711, 2.441, 3.329, 4.418",\
                 "0.07236, 0.1091, 0.2, 0.369, 0.684, 1.127, 1.711, 2.446, 3.344, 4.415",\
                 "0.1233, 0.1735, 0.2953, 0.4661, 0.7067, 1.126, 1.71, 2.445, 3.344, 4.412",\
                 "0.1869, 0.2536, 0.4086, 0.6198, 0.8796, 1.203, 1.717, 2.438, 3.337, 4.41",\
                 "0.2632, 0.349, 0.5436, 0.7914, 1.101, 1.459, 1.878, 2.486, 3.34, 4.403",\
                 "0.352, 0.4586, 0.6944, 0.9908, 1.341, 1.758, 2.223, 2.745, 3.457, 4.425",\
                 "0.4512, 0.5828, 0.8616, 1.212, 1.615, 2.073, 2.603, 3.184, 3.82, 4.639",\
                 "0.5632, 0.7212, 1.047, 1.454, 1.907, 2.417, 3.002, 3.655, 4.36, 5.115",\
                 "0.689, 0.8686, 1.254, 1.712, 2.23, 2.801, 3.429, 4.142, 4.924, 5.757");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.03, 0.1318, 0.3262, 0.6291, 1.054, 1.613, 2.318, 3.178, 4.203");
          values("0.05576, 0.1133, 0.3158, 0.6998, 1.302, 2.146, 3.255, 4.657, 6.361, 8.392",\
                 "0.05932, 0.113, 0.3155, 0.6999, 1.302, 2.146, 3.258, 4.653, 6.367, 8.396",\
                 "0.09402, 0.1503, 0.318, 0.7005, 1.302, 2.146, 3.254, 4.648, 6.355, 8.394",\
                 "0.1438, 0.2099, 0.3988, 0.7134, 1.301, 2.144, 3.255, 4.651, 6.357, 8.394",\
                 "0.2082, 0.2886, 0.5058, 0.8372, 1.329, 2.142, 3.25, 4.655, 6.355, 8.386",\
                 "0.2818, 0.3844, 0.631, 1.011, 1.498, 2.194, 3.25, 4.648, 6.356, 8.402",\
                 "0.368, 0.4918, 0.779, 1.191, 1.748, 2.409, 3.331, 4.653, 6.359, 8.383",\
                 "0.464, 0.6104, 0.9518, 1.396, 2, 2.739, 3.593, 4.765, 6.366, 8.381",\
                 "0.5736, 0.7422, 1.133, 1.631, 2.267, 3.074, 4.001, 5.076, 6.523, 8.406",\
                 "0.7006, 0.887, 1.332, 1.891, 2.567, 3.416, 4.435, 5.552, 6.879, 8.598");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__inv_16) {
    area : 74.636800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0001990197" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0002063094" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002063094" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.07291 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 5.593 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0396, 0.1751, 0.4338, 0.8369, 1.402, 2.147, 3.084, 4.229, 5.593");
          values("-0.05489, -0.04629, -0.03844, -0.0363, -0.03544, -0.03481, -0.03457, -0.03447, -0.03418, -0.03408",\
                 "-0.06735, -0.05796, -0.04606, -0.04017, -0.03754, -0.03622, -0.03552, -0.03508, -0.03473, -0.0347",\
                 "-0.02406, -0.02994, -0.03351, -0.03343, -0.03346, -0.03379, -0.03383, -0.03385, -0.03391, -0.0338",\
                 "0.1313, 0.1014, 0.05524, 0.0249, 0.005826, -0.006402, -0.01415, -0.01935, -0.02284, -0.02518",\
                 "0.41, 0.3583, 0.2581, 0.1751, 0.1177, 0.0779, 0.04962, 0.02971, 0.01579, 0.005502",\
                 "0.8197, 0.7508, 0.5981, 0.4492, 0.3343, 0.2489, 0.186, 0.1391, 0.1043, 0.07727",\
                 "1.369, 1.286, 1.087, 0.8666, 0.6812, 0.5357, 0.4224, 0.3344, 0.266, 0.2127",\
                 "2.068, 1.973, 1.734, 1.448, 1.18, 0.9605, 0.7826, 0.6403, 0.5259, 0.4349",\
                 "2.926, 2.821, 2.547, 2.196, 1.848, 1.543, 1.29, 1.08, 0.9075, 0.7651",\
                 "3.952, 3.838, 3.533, 3.126, 2.699, 2.302, 1.961, 1.672, 1.429, 1.225");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0396, 0.1751, 0.4338, 0.8369, 1.402, 2.147, 3.084, 4.229, 5.593");
          values("0.5902, 0.6087, 0.6237, 0.63, 0.644, 0.648, 0.6619, 0.6666, 0.6954, 0.7179",\
                 "0.5786, 0.5882, 0.6083, 0.6204, 0.6311, 0.6467, 0.652, 0.6765, 0.6789, 0.7245",\
                 "0.6518, 0.6381, 0.6246, 0.6237, 0.6341, 0.6414, 0.6603, 0.6666, 0.6888, 0.7187",\
                 "0.8427, 0.8054, 0.7475, 0.7016, 0.676, 0.6725, 0.6715, 0.6798, 0.6888, 0.7397",\
                 "1.162, 1.105, 0.9944, 0.9033, 0.8245, 0.7738, 0.751, 0.7359, 0.7378, 0.7812",\
                 "1.627, 1.554, 1.392, 1.233, 1.104, 1, 0.9236, 0.8679, 0.8461, 0.8874",\
                 "2.247, 2.159, 1.951, 1.725, 1.533, 1.367, 1.232, 1.119, 1.056, 1.083",\
                 "3.033, 2.931, 2.682, 2.392, 2.123, 1.896, 1.691, 1.523, 1.391, 1.434",\
                 "3.997, 3.885, 3.599, 3.245, 2.898, 2.579, 2.323, 2.081, 1.89, 1.988",\
                 "5.151, 5.028, 4.71, 4.29, 3.874, 3.473, 3.119, 2.833, 2.593, 2.903");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0396, 0.1751, 0.4338, 0.8369, 1.402, 2.147, 3.084, 4.229, 5.593");
          values("0.03635, 0.05506, 0.1188, 0.2395, 0.427, 0.6909, 1.038, 1.474, 2.005, 2.641",\
                 "0.04746, 0.06882, 0.1329, 0.2539, 0.4415, 0.7047, 1.051, 1.489, 2.019, 2.658",\
                 "0.05392, 0.09088, 0.181, 0.306, 0.4934, 0.7571, 1.104, 1.54, 2.072, 2.708",\
                 "0.04128, 0.09452, 0.2221, 0.3934, 0.5958, 0.8578, 1.204, 1.639, 2.173, 2.808",\
                 "0.00585, 0.07509, 0.2417, 0.4622, 0.7238, 1.017, 1.363, 1.796, 2.329, 2.961",\
                 "-0.0553, 0.0306, 0.2358, 0.5068, 0.8261, 1.187, 1.583, 2.022, 2.551, 3.184",\
                 "-0.1449, -0.0425, 0.2008, 0.5237, 0.9018, 1.328, 1.798, 2.304, 2.85, 3.479",\
                 "-0.2654, -0.1463, 0.1359, 0.5104, 0.9476, 1.439, 1.98, 2.567, 3.193, 3.854",\
                 "-0.4181, -0.2832, 0.0391, 0.4622, 0.9618, 1.519, 2.13, 2.794, 3.505, 4.258",\
                 "-0.6062, -0.4546, -0.0925, 0.3823, 0.9409, 1.566, 2.247, 2.987, 3.781, 4.623");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0396, 0.1751, 0.4338, 0.8369, 1.402, 2.147, 3.084, 4.229, 5.593");
          values("0.05077, 0.08596, 0.2026, 0.4219, 0.7637, 1.242, 1.869, 2.665, 3.629, 4.784",\
                 "0.06725, 0.1012, 0.2185, 0.4385, 0.7811, 1.259, 1.889, 2.68, 3.649, 4.804",\
                 "0.117, 0.1631, 0.2849, 0.5035, 0.8442, 1.323, 1.95, 2.746, 3.71, 4.866",\
                 "0.1898, 0.2508, 0.4086, 0.6367, 0.9735, 1.45, 2.077, 2.87, 3.833, 4.991",\
                 "0.2852, 0.3645, 0.5577, 0.8369, 1.185, 1.655, 2.279, 3.068, 4.029, 5.185",\
                 "0.4062, 0.5044, 0.7387, 1.063, 1.473, 1.954, 2.571, 3.354, 4.317, 5.465",\
                 "0.5543, 0.6711, 0.9487, 1.323, 1.789, 2.339, 2.967, 3.743, 4.697, 5.84",\
                 "0.7315, 0.8668, 1.19, 1.618, 2.138, 2.756, 3.456, 4.243, 5.187, 6.325",\
                 "0.9406, 1.094, 1.464, 1.949, 2.526, 3.204, 3.983, 4.844, 5.8, 6.927",\
                 "1.184, 1.356, 1.772, 2.317, 2.956, 3.693, 4.542, 5.49, 6.521, 7.657");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0396, 0.1751, 0.4338, 0.8369, 1.402, 2.147, 3.084, 4.229, 5.593");
          values("0.02958, 0.0599, 0.1659, 0.3683, 0.6842, 1.129, 1.706, 2.437, 3.348, 4.419",\
                 "0.03925, 0.06264, 0.1659, 0.3685, 0.6848, 1.128, 1.712, 2.449, 3.347, 4.396",\
                 "0.07396, 0.1101, 0.2007, 0.3697, 0.6834, 1.128, 1.712, 2.443, 3.343, 4.404",\
                 "0.1247, 0.1749, 0.2962, 0.467, 0.708, 1.126, 1.709, 2.442, 3.346, 4.415",\
                 "0.1893, 0.2555, 0.4097, 0.6204, 0.8802, 1.204, 1.718, 2.443, 3.342, 4.404",\
                 "0.2674, 0.3524, 0.5442, 0.7932, 1.102, 1.46, 1.878, 2.487, 3.342, 4.409",\
                 "0.3562, 0.4628, 0.696, 0.992, 1.342, 1.758, 2.223, 2.746, 3.46, 4.426",\
                 "0.4572, 0.5864, 0.8664, 1.212, 1.612, 2.073, 2.604, 3.185, 3.82, 4.641",\
                 "0.5702, 0.7254, 1.048, 1.452, 1.909, 2.418, 3.002, 3.655, 4.362, 5.115",\
                 "0.696, 0.873, 1.254, 1.71, 2.229, 2.798, 3.429, 4.145, 4.925, 5.76");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0396, 0.1751, 0.4338, 0.8369, 1.402, 2.147, 3.084, 4.229, 5.593");
          values("0.05751, 0.1152, 0.3164, 0.7018, 1.305, 2.147, 3.254, 4.654, 6.356, 8.401",\
                 "0.06084, 0.1153, 0.3172, 0.7019, 1.304, 2.146, 3.258, 4.651, 6.364, 8.395",\
                 "0.09604, 0.1519, 0.3206, 0.7019, 1.302, 2.145, 3.253, 4.654, 6.356, 8.399",\
                 "0.1467, 0.2116, 0.4, 0.7144, 1.301, 2.145, 3.251, 4.649, 6.364, 8.387",\
                 "0.2118, 0.2912, 0.5074, 0.8382, 1.331, 2.144, 3.254, 4.647, 6.363, 8.395",\
                 "0.2858, 0.3872, 0.6314, 1.013, 1.499, 2.197, 3.251, 4.648, 6.355, 8.389",\
                 "0.3728, 0.4964, 0.7816, 1.192, 1.749, 2.409, 3.332, 4.652, 6.354, 8.384",\
                 "0.4702, 0.6152, 0.9514, 1.398, 2.001, 2.739, 3.593, 4.765, 6.364, 8.38",\
                 "0.5806, 0.7472, 1.136, 1.637, 2.27, 3.082, 4.002, 5.077, 6.515, 8.409",\
                 "0.7074, 0.8922, 1.337, 1.891, 2.565, 3.42, 4.438, 5.553, 6.878, 8.602");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__inv_20) {
    area : 92.198400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I" ;
      value : "0.0002433288" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I" ;
      value : "0.0002524434" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002524434" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I) {
      capacitance : 0.09057 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 6.994 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04927, 0.2187, 0.5422, 1.046, 1.754, 2.684, 3.857, 5.288, 6.994");
          values("-0.0696, -0.05848, -0.0491, -0.04568, -0.04451, -0.04373, -0.04339, -0.04337, -0.04291, -0.04316",\
                 "-0.08401, -0.07245, -0.05728, -0.05014, -0.04703, -0.04535, -0.04441, -0.04381, -0.04365, -0.04327",\
                 "-0.02995, -0.03759, -0.04182, -0.04229, -0.04238, -0.04248, -0.04243, -0.04246, -0.04244, -0.04235",\
                 "0.1646, 0.1268, 0.06896, 0.03104, 0.007163, -0.007734, -0.01756, -0.02406, -0.02845, -0.03145",\
                 "0.5127, 0.4482, 0.3225, 0.2189, 0.1468, 0.09687, 0.06216, 0.03744, 0.01965, 0.006867",\
                 "1.024, 0.9383, 0.7473, 0.5612, 0.4172, 0.3108, 0.232, 0.1735, 0.1295, 0.09659",\
                 "1.711, 1.606, 1.358, 1.083, 0.8507, 0.6676, 0.5267, 0.4169, 0.3324, 0.2655",\
                 "2.583, 2.465, 2.165, 1.807, 1.474, 1.199, 0.9771, 0.7987, 0.6569, 0.5425",\
                 "3.656, 3.524, 3.181, 2.743, 2.308, 1.927, 1.61, 1.347, 1.133, 0.9542",\
                 "4.935, 4.793, 4.414, 3.904, 3.369, 2.873, 2.447, 2.089, 1.784, 1.529");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04927, 0.2187, 0.5422, 1.046, 1.754, 2.684, 3.857, 5.288, 6.994");
          values("0.738, 0.7597, 0.7847, 0.794, 0.8007, 0.8105, 0.8108, 0.8321, 0.8287, 0.8964",\
                 "0.7244, 0.7362, 0.7598, 0.7795, 0.7948, 0.8072, 0.8227, 0.8486, 0.8452, 0.9077",\
                 "0.8163, 0.7991, 0.7799, 0.7821, 0.7918, 0.8056, 0.8171, 0.8255, 0.8683, 0.9321",\
                 "1.055, 1.009, 0.9348, 0.8788, 0.8479, 0.8409, 0.8379, 0.8552, 0.8551, 0.9373",\
                 "1.457, 1.386, 1.244, 1.126, 1.027, 0.9739, 0.9405, 0.9179, 0.9246, 0.9703",\
                 "2.035, 1.944, 1.742, 1.541, 1.384, 1.245, 1.147, 1.099, 1.063, 1.115",\
                 "2.809, 2.698, 2.439, 2.154, 1.911, 1.71, 1.532, 1.4, 1.311, 1.369",\
                 "3.791, 3.665, 3.35, 2.989, 2.651, 2.366, 2.114, 1.894, 1.751, 1.784",\
                 "4.994, 4.855, 4.496, 4.052, 3.61, 3.23, 2.898, 2.593, 2.357, 2.491",\
                 "6.433, 6.281, 5.883, 5.361, 4.836, 4.332, 3.895, 3.525, 3.234, 3.625");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04927, 0.2187, 0.5422, 1.046, 1.754, 2.684, 3.857, 5.288, 6.994");
          values("0.03794, 0.05683, 0.1207, 0.2417, 0.4297, 0.6933, 1.041, 1.479, 2.014, 2.651",\
                 "0.04906, 0.07042, 0.1348, 0.2558, 0.4443, 0.7084, 1.056, 1.492, 2.028, 2.663",\
                 "0.05578, 0.09261, 0.1829, 0.3081, 0.4959, 0.7602, 1.107, 1.545, 2.08, 2.715",\
                 "0.04321, 0.09648, 0.2242, 0.3955, 0.5983, 0.8607, 1.208, 1.644, 2.177, 2.814",\
                 "0.00792, 0.07736, 0.2437, 0.4645, 0.7267, 1.021, 1.366, 1.803, 2.335, 2.971",\
                 "-0.0529, 0.0326, 0.2379, 0.5091, 0.829, 1.191, 1.588, 2.027, 2.557, 3.191",\
                 "-0.1423, -0.0401, 0.2035, 0.5267, 0.9052, 1.331, 1.802, 2.31, 2.856, 3.487",\
                 "-0.2624, -0.1434, 0.1389, 0.5135, 0.9516, 1.443, 1.985, 2.572, 3.199, 3.862",\
                 "-0.4158, -0.2803, 0.0424, 0.467, 0.9657, 1.522, 2.136, 2.8, 3.512, 4.266",\
                 "-0.6029, -0.4518, -0.0895, 0.386, 0.945, 1.571, 2.255, 2.994, 3.789, 4.633");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04927, 0.2187, 0.5422, 1.046, 1.754, 2.684, 3.857, 5.288, 6.994");
          values("0.05243, 0.08759, 0.2049, 0.4248, 0.7666, 1.245, 1.876, 2.667, 3.641, 4.794",\
                 "0.06884, 0.1029, 0.2203, 0.441, 0.7828, 1.263, 1.893, 2.686, 3.656, 4.814",\
                 "0.1187, 0.1647, 0.2867, 0.5055, 0.8467, 1.327, 1.957, 2.75, 3.718, 4.87",\
                 "0.1916, 0.2526, 0.4105, 0.6389, 0.9763, 1.453, 2.081, 2.873, 3.844, 4.994",\
                 "0.2877, 0.3667, 0.5599, 0.8386, 1.187, 1.659, 2.283, 3.072, 4.038, 5.195",\
                 "0.4085, 0.5061, 0.7406, 1.065, 1.476, 1.958, 2.576, 3.361, 4.323, 5.475",\
                 "0.5565, 0.6729, 0.9512, 1.325, 1.792, 2.343, 2.971, 3.749, 4.703, 5.846",\
                 "0.734, 0.869, 1.194, 1.621, 2.141, 2.759, 3.461, 4.248, 5.196, 6.334",\
                 "0.9433, 1.097, 1.467, 1.952, 2.529, 3.208, 3.987, 4.85, 5.806, 6.935",\
                 "1.186, 1.358, 1.774, 2.319, 2.959, 3.697, 4.546, 5.496, 6.528, 7.666");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04927, 0.2187, 0.5422, 1.046, 1.754, 2.684, 3.857, 5.288, 6.994");
          values("0.02977, 0.06013, 0.1666, 0.3701, 0.6846, 1.131, 1.717, 2.444, 3.341, 4.409",\
                 "0.03924, 0.06286, 0.1666, 0.37, 0.687, 1.132, 1.717, 2.453, 3.341, 4.428",\
                 "0.07436, 0.1103, 0.2009, 0.3714, 0.6855, 1.131, 1.716, 2.455, 3.353, 4.427",\
                 "0.1254, 0.1752, 0.2967, 0.467, 0.7087, 1.129, 1.713, 2.45, 3.348, 4.425",\
                 "0.1901, 0.257, 0.4104, 0.6212, 0.8808, 1.207, 1.722, 2.446, 3.35, 4.424",\
                 "0.2676, 0.3532, 0.5448, 0.7936, 1.104, 1.462, 1.882, 2.494, 3.35, 4.412",\
                 "0.3576, 0.4632, 0.697, 0.993, 1.344, 1.759, 2.227, 2.751, 3.466, 4.438",\
                 "0.4586, 0.5868, 0.8678, 1.214, 1.616, 2.077, 2.61, 3.19, 3.827, 4.652",\
                 "0.5708, 0.7256, 1.05, 1.455, 1.911, 2.421, 3.009, 3.661, 4.365, 5.123",\
                 "0.6976, 0.8742, 1.256, 1.713, 2.231, 2.801, 3.434, 4.15, 4.933, 5.771");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.04927, 0.2187, 0.5422, 1.046, 1.754, 2.684, 3.857, 5.288, 6.994");
          values("0.05759, 0.1152, 0.3177, 0.7041, 1.306, 2.151, 3.262, 4.658, 6.371, 8.407",\
                 "0.0609, 0.1156, 0.3172, 0.7038, 1.305, 2.149, 3.262, 4.657, 6.375, 8.41",\
                 "0.09654, 0.152, 0.3203, 0.7028, 1.305, 2.15, 3.261, 4.662, 6.365, 8.399",\
                 "0.1469, 0.2123, 0.4004, 0.7156, 1.304, 2.148, 3.26, 4.657, 6.369, 8.401",\
                 "0.212, 0.2914, 0.5072, 0.8392, 1.334, 2.146, 3.26, 4.659, 6.371, 8.403",\
                 "0.2866, 0.3892, 0.6316, 1.014, 1.501, 2.201, 3.258, 4.658, 6.366, 8.404",\
                 "0.3734, 0.4972, 0.7818, 1.194, 1.752, 2.414, 3.336, 4.661, 6.361, 8.403",\
                 "0.4718, 0.6166, 0.951, 1.399, 2.003, 2.743, 3.598, 4.774, 6.372, 8.392",\
                 "0.581, 0.7474, 1.138, 1.634, 2.271, 3.081, 4.007, 5.083, 6.529, 8.417",\
                 "0.7092, 0.8942, 1.338, 1.893, 2.57, 3.421, 4.447, 5.557, 6.886, 8.628");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__invz_1) {
    area : 37.318400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "7.46955e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "7.40982e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0001007325" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0001017522" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001017522" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.005811 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1043, 0.1036, 0.1055, 0.1141, 0.1314, 0.1591, 0.198, 0.2488, \
                 0.3122, 0.3889");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0726, 0.07206, 0.07349, 0.07939, 0.09012, 0.1065, 0.1301, 0.163, \
                 0.2057, 0.2584");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.003079 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04563, 0.04514, 0.04639, 0.05155, 0.06141, 0.07657, 0.09736, \
                 0.1242, 0.1575, 0.1976");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00929, 0.009077, 0.009823, 0.01365, 0.02173, 0.03448, 0.05236, \
                 0.07554, 0.1044, 0.1391");
        }
      }
    }

    pin(ZN) {
      capacitance : 0.002861 ;
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 0.3238 ;
      max_transition : 8.6 ;
      min_capacitance : 0.003861 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.08045, 0.08043, 0.08038, 0.08033, 0.08031, 0.08032, 0.08033, 0.08033, 0.08033, 0.08033",\
                 "0.08062, 0.08059, 0.08051, 0.08045, 0.08045, 0.08045, 0.08047, 0.08047, 0.08045, 0.08046",\
                 "0.08447, 0.08442, 0.08438, 0.08434, 0.08434, 0.08435, 0.08435, 0.08437, 0.08435, 0.08435",\
                 "0.0928, 0.09277, 0.09272, 0.09273, 0.09269, 0.09274, 0.09276, 0.09276, 0.09275, 0.09275",\
                 "0.1069, 0.1069, 0.1069, 0.1068, 0.1068, 0.1068, 0.1068, 0.1068, 0.1068, 0.1069",\
                 "0.1273, 0.1273, 0.1273, 0.1273, 0.1273, 0.1273, 0.1273, 0.1273, 0.1273, 0.1273",\
                 "0.1546, 0.1545, 0.1545, 0.1545, 0.1545, 0.1545, 0.1545, 0.1545, 0.1545, 0.1545",\
                 "0.1889, 0.1889, 0.1888, 0.1888, 0.1888, 0.1888, 0.1888, 0.1888, 0.1888, 0.1888",\
                 "0.2306, 0.2307, 0.2306, 0.2306, 0.2306, 0.2306, 0.2306, 0.2306, 0.2306, 0.2306",\
                 "0.2803, 0.2803, 0.2803, 0.2803, 0.2803, 0.2803, 0.2803, 0.2803, 0.2803, 0.2803");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.04911, 0.0491, 0.04911, 0.04913, 0.04932, 0.04975, 0.05018, 0.0507, 0.05152, 0.05492",\
                 "0.04861, 0.04862, 0.04863, 0.04864, 0.04883, 0.04926, 0.04965, 0.05053, 0.05093, 0.05415",\
                 "0.04994, 0.04988, 0.04986, 0.04994, 0.05011, 0.05064, 0.05091, 0.05145, 0.05205, 0.05502",\
                 "0.05685, 0.05681, 0.05688, 0.05694, 0.05711, 0.05744, 0.0579, 0.05838, 0.05902, 0.06258",\
                 "0.07186, 0.07188, 0.07172, 0.07218, 0.07222, 0.07246, 0.07285, 0.07343, 0.07416, 0.07816",\
                 "0.09614, 0.09611, 0.09604, 0.09608, 0.09661, 0.09698, 0.09714, 0.09765, 0.09894, 0.103",\
                 "0.1303, 0.1304, 0.1303, 0.1301, 0.1304, 0.1313, 0.132, 0.1322, 0.1326, 0.1387",\
                 "0.1749, 0.175, 0.175, 0.175, 0.175, 0.1753, 0.1767, 0.1773, 0.1779, 0.1848",\
                 "0.2307, 0.2306, 0.2307, 0.2307, 0.2305, 0.2308, 0.2314, 0.233, 0.2345, 0.2454",\
                 "0.2978, 0.2979, 0.2979, 0.2979, 0.2979, 0.2979, 0.2979, 0.2992, 0.3026, 0.3186");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.1325, 0.132, 0.1313, 0.1311, 0.1311, 0.1311, 0.1311, 0.1311, 0.1311, 0.1311",\
                 "0.1323, 0.1317, 0.1311, 0.1308, 0.1308, 0.1308, 0.1308, 0.1308, 0.1308, 0.1308",\
                 "0.1329, 0.1324, 0.1317, 0.1315, 0.1314, 0.1315, 0.1315, 0.1315, 0.1315, 0.1315",\
                 "0.1368, 0.1363, 0.1357, 0.1354, 0.1354, 0.1354, 0.1354, 0.1354, 0.1354, 0.1354",\
                 "0.1454, 0.1448, 0.1441, 0.1438, 0.1437, 0.1438, 0.1438, 0.1438, 0.1438, 0.1438",\
                 "0.1589, 0.1583, 0.1575, 0.1572, 0.1572, 0.1572, 0.1571, 0.1571, 0.1572, 0.1572",\
                 "0.1781, 0.1775, 0.1766, 0.1761, 0.176, 0.176, 0.176, 0.1759, 0.176, 0.1759",\
                 "0.2031, 0.2023, 0.2013, 0.2008, 0.2006, 0.2005, 0.2005, 0.2005, 0.2005, 0.2005",\
                 "0.2339, 0.2331, 0.2319, 0.2313, 0.231, 0.231, 0.231, 0.2309, 0.2309, 0.2309",\
                 "0.2712, 0.2704, 0.269, 0.2682, 0.2679, 0.2678, 0.2678, 0.2677, 0.2677, 0.2677");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.1118, 0.1119, 0.1128, 0.1138, 0.1148, 0.1157, 0.1166, 0.1175, 0.1187, 0.1215",\
                 "0.1112, 0.1115, 0.1122, 0.1133, 0.1143, 0.1153, 0.1161, 0.1168, 0.1176, 0.1214",\
                 "0.1125, 0.1128, 0.1135, 0.1145, 0.1155, 0.1165, 0.1172, 0.1184, 0.1194, 0.1228",\
                 "0.1179, 0.1181, 0.1188, 0.1198, 0.1208, 0.1218, 0.1226, 0.1233, 0.1243, 0.1285",\
                 "0.1282, 0.1283, 0.1291, 0.13, 0.1309, 0.132, 0.1328, 0.1335, 0.1343, 0.1394",\
                 "0.1442, 0.1443, 0.1446, 0.1458, 0.1466, 0.1476, 0.1485, 0.1492, 0.1501, 0.1558",\
                 "0.1662, 0.1663, 0.1666, 0.1672, 0.1687, 0.1696, 0.1704, 0.1711, 0.172, 0.1803",\
                 "0.1949, 0.195, 0.1951, 0.1955, 0.1966, 0.198, 0.1989, 0.1994, 0.2006, 0.2119",\
                 "0.2305, 0.2304, 0.2304, 0.2306, 0.2315, 0.2324, 0.234, 0.2352, 0.2369, 0.2546",\
                 "0.2734, 0.2731, 0.2729, 0.2731, 0.2737, 0.274, 0.275, 0.2776, 0.281, 0.3118");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.211, 0.23, 0.298, 0.423, 0.574, 0.754, 0.962, 1.197, 1.461, \
                 1.752");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.338, 0.354, 0.423, 0.546, 0.703, 0.893, 1.115, 1.37, 1.657, \
                 1.983");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.2805, 0.3247, 0.4426, 0.6074, 0.8147, 1.074, 1.398, 1.797, 2.282, 2.86",\
                 "0.2953, 0.3393, 0.4572, 0.6221, 0.8294, 1.089, 1.412, 1.812, 2.297, 2.874",\
                 "0.3528, 0.3962, 0.5126, 0.6766, 0.8835, 1.143, 1.466, 1.866, 2.351, 2.928",\
                 "0.4351, 0.4791, 0.5935, 0.7546, 0.9597, 1.218, 1.541, 1.941, 2.426, 3.003",\
                 "0.4795, 0.5234, 0.6365, 0.7953, 0.9993, 1.257, 1.579, 1.979, 2.464, 3.041",\
                 "0.4838, 0.527, 0.638, 0.7956, 0.9988, 1.256, 1.578, 1.976, 2.461, 3.039",\
                 "0.4552, 0.4982, 0.6077, 0.7632, 0.9641, 1.22, 1.541, 1.94, 2.424, 3",\
                 "0.3938, 0.4369, 0.546, 0.7001, 0.8995, 1.153, 1.474, 1.872, 2.356, 2.933",\
                 "0.2981, 0.342, 0.4513, 0.6049, 0.8034, 1.057, 1.377, 1.775, 2.259, 2.836",\
                 "0.1649, 0.2097, 0.3199, 0.474, 0.6723, 0.9252, 1.245, 1.643, 2.127, 2.704");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.2597, 0.3062, 0.4419, 0.6715, 1.019, 1.506, 2.146, 2.954, 3.938, 5.114",\
                 "0.2719, 0.3184, 0.4541, 0.6836, 1.031, 1.518, 2.158, 2.966, 3.951, 5.126",\
                 "0.3155, 0.3621, 0.4979, 0.7276, 1.075, 1.562, 2.202, 3.008, 3.992, 5.164",\
                 "0.3628, 0.412, 0.5513, 0.7826, 1.13, 1.617, 2.257, 3.064, 4.046, 5.219",\
                 "0.3913, 0.4451, 0.5898, 0.8238, 1.173, 1.66, 2.299, 3.106, 4.089, 5.262",\
                 "0.3944, 0.4562, 0.6118, 0.8502, 1.2, 1.688, 2.328, 3.135, 4.119, 5.294",\
                 "0.3678, 0.4393, 0.6112, 0.8592, 1.213, 1.7, 2.341, 3.147, 4.132, 5.305",\
                 "0.3086, 0.3907, 0.5825, 0.8433, 1.205, 1.698, 2.338, 3.144, 4.129, 5.301",\
                 "0.2155, 0.3087, 0.5234, 0.8002, 1.173, 1.673, 2.319, 3.126, 4.11, 5.283",\
                 "0.0852, 0.1906, 0.4309, 0.7267, 1.111, 1.622, 2.279, 3.09, 4.075, 5.248");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.1549, 0.1994, 0.3188, 0.495, 0.7516, 1.119, 1.619, 2.27, 3.076, 4.043",\
                 "0.1548, 0.1998, 0.3189, 0.4942, 0.7524, 1.12, 1.619, 2.27, 3.076, 4.044",\
                 "0.1516, 0.196, 0.3155, 0.4929, 0.7519, 1.118, 1.619, 2.269, 3.075, 4.045",\
                 "0.1587, 0.1981, 0.3086, 0.4858, 0.7476, 1.117, 1.618, 2.268, 3.075, 4.043",\
                 "0.163, 0.198, 0.3052, 0.482, 0.7414, 1.113, 1.617, 2.268, 3.075, 4.045",\
                 "0.1596, 0.195, 0.3008, 0.479, 0.7412, 1.11, 1.611, 2.264, 3.073, 4.045",\
                 "0.1592, 0.193, 0.2978, 0.4736, 0.7348, 1.106, 1.61, 2.26, 3.066, 4.037",\
                 "0.1606, 0.1942, 0.2958, 0.4684, 0.7282, 1.101, 1.607, 2.26, 3.066, 4.031",\
                 "0.1634, 0.196, 0.2956, 0.4676, 0.7276, 1.098, 1.607, 2.26, 3.066, 4.034",\
                 "0.1678, 0.2, 0.2972, 0.4668, 0.7254, 1.098, 1.604, 2.262, 3.067, 4.033");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.1614, 0.2178, 0.4068, 0.7791, 1.386, 2.238, 3.37, 4.792, 6.527, 8.603",\
                 "0.1611, 0.2177, 0.4067, 0.7791, 1.385, 2.239, 3.369, 4.794, 6.53, 8.603",\
                 "0.1614, 0.2184, 0.4069, 0.779, 1.382, 2.239, 3.369, 4.798, 6.532, 8.61",\
                 "0.1747, 0.2279, 0.4132, 0.7808, 1.383, 2.239, 3.369, 4.8, 6.536, 8.615",\
                 "0.196, 0.2464, 0.4232, 0.7874, 1.388, 2.241, 3.368, 4.797, 6.532, 8.613",\
                 "0.2282, 0.2766, 0.4426, 0.795, 1.389, 2.242, 3.369, 4.787, 6.528, 8.601",\
                 "0.2656, 0.3162, 0.4742, 0.8144, 1.397, 2.245, 3.371, 4.792, 6.523, 8.598",\
                 "0.3066, 0.3612, 0.5136, 0.8428, 1.419, 2.255, 3.373, 4.791, 6.531, 8.593",\
                 "0.3504, 0.4084, 0.5622, 0.878, 1.451, 2.284, 3.391, 4.795, 6.526, 8.604",\
                 "0.3986, 0.463, 0.6202, 0.9194, 1.487, 2.324, 3.429, 4.814, 6.531, 8.594");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.5848, 0.6311, 0.7563, 0.9274, 1.138, 1.398, 1.722, 2.122, 2.607, 3.185",\
                 "0.598, 0.6445, 0.7695, 0.9405, 1.151, 1.411, 1.735, 2.135, 2.62, 3.198",\
                 "0.64, 0.6864, 0.8114, 0.9824, 1.193, 1.453, 1.777, 2.177, 2.662, 3.24",\
                 "0.6761, 0.7224, 0.8475, 1.019, 1.229, 1.49, 1.814, 2.214, 2.699, 3.276",\
                 "0.6922, 0.7386, 0.8637, 1.035, 1.246, 1.506, 1.83, 2.23, 2.715, 3.292",\
                 "0.6859, 0.7325, 0.8578, 1.029, 1.24, 1.501, 1.825, 2.224, 2.71, 3.287",\
                 "0.6526, 0.6991, 0.8246, 0.9968, 1.207, 1.468, 1.792, 2.192, 2.677, 3.254",\
                 "0.5875, 0.6343, 0.7603, 0.9335, 1.145, 1.406, 1.731, 2.13, 2.615, 3.193",\
                 "0.4891, 0.5356, 0.6623, 0.8366, 1.049, 1.311, 1.635, 2.035, 2.52, 3.097",\
                 "0.3544, 0.4017, 0.5291, 0.7039, 0.9169, 1.179, 1.504, 1.904, 2.389, 2.966");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.619, 0.6673, 0.8067, 1.039, 1.389, 1.876, 2.519, 3.326, 4.312, 5.487",\
                 "0.6349, 0.6835, 0.8225, 1.055, 1.405, 1.893, 2.534, 3.342, 4.325, 5.5",\
                 "0.7033, 0.7518, 0.891, 1.123, 1.473, 1.961, 2.603, 3.41, 4.397, 5.571",\
                 "0.8248, 0.8732, 1.012, 1.245, 1.595, 2.083, 2.724, 3.531, 4.514, 5.687",\
                 "0.9803, 1.029, 1.168, 1.4, 1.75, 2.238, 2.879, 3.687, 4.67, 5.843",\
                 "1.172, 1.221, 1.36, 1.592, 1.942, 2.429, 3.071, 3.88, 4.863, 6.034",\
                 "1.398, 1.447, 1.586, 1.819, 2.168, 2.656, 3.297, 4.104, 5.09, 6.261",\
                 "1.659, 1.709, 1.848, 2.081, 2.43, 2.918, 3.559, 4.365, 5.349, 6.523",\
                 "1.956, 2.006, 2.146, 2.379, 2.728, 3.216, 3.856, 4.663, 5.646, 6.819",\
                 "2.29, 2.34, 2.482, 2.715, 3.064, 3.551, 4.193, 4.999, 5.983, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.1738, 0.2194, 0.3393, 0.5091, 0.7612, 1.125, 1.621, 2.269, 3.075, 4.045",\
                 "0.1739, 0.2193, 0.3392, 0.5092, 0.7606, 1.124, 1.622, 2.271, 3.077, 4.045",\
                 "0.174, 0.2196, 0.3398, 0.5088, 0.7608, 1.123, 1.622, 2.27, 3.077, 4.045",\
                 "0.1738, 0.2194, 0.3394, 0.5088, 0.761, 1.124, 1.622, 2.268, 3.074, 4.045",\
                 "0.174, 0.2194, 0.3396, 0.5088, 0.7598, 1.123, 1.62, 2.268, 3.076, 4.042",\
                 "0.1752, 0.2208, 0.341, 0.5102, 0.7598, 1.122, 1.621, 2.271, 3.075, 4.043",\
                 "0.1768, 0.222, 0.3428, 0.5116, 0.7612, 1.124, 1.622, 2.267, 3.071, 4.041",\
                 "0.1792, 0.2242, 0.3454, 0.5154, 0.7634, 1.125, 1.622, 2.268, 3.071, 4.037",\
                 "0.1812, 0.2266, 0.3486, 0.5174, 0.7658, 1.129, 1.622, 2.268, 3.076, 4.036",\
                 "0.1836, 0.2292, 0.3514, 0.521, 0.7686, 1.129, 1.625, 2.272, 3.075, 4.039");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.003861, 0.006069, 0.01382, 0.02862, 0.05169, 0.08405, 0.1266, 0.1803, 0.2458, 0.3238");
          values("0.1665, 0.2218, 0.409, 0.7788, 1.383, 2.241, 3.368, 4.791, 6.531, 8.601",\
                 "0.1671, 0.2217, 0.4083, 0.7794, 1.382, 2.24, 3.368, 4.792, 6.538, 8.602",\
                 "0.1666, 0.2224, 0.4084, 0.779, 1.382, 2.243, 3.369, 4.793, 6.532, 8.601",\
                 "0.1674, 0.222, 0.4084, 0.7794, 1.382, 2.239, 3.369, 4.799, 6.534, 8.614",\
                 "0.1678, 0.2228, 0.4088, 0.7794, 1.382, 2.239, 3.369, 4.793, 6.537, 8.614",\
                 "0.1702, 0.2242, 0.4098, 0.7798, 1.384, 2.239, 3.369, 4.793, 6.539, 8.608",\
                 "0.171, 0.2268, 0.411, 0.78, 1.383, 2.238, 3.365, 4.789, 6.528, 8.592",\
                 "0.1736, 0.2296, 0.4134, 0.7814, 1.383, 2.242, 3.365, 4.785, 6.524, 8.592",\
                 "0.177, 0.232, 0.4164, 0.7818, 1.385, 2.239, 3.372, 4.785, 6.524, 8.587",\
                 "0.1796, 0.2354, 0.4186, 0.7838, 1.384, 2.24, 3.368, 4.786, 6.52, 8.598");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__invz_2) {
    area : 37.318400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "7.77909e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "7.82364e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0001113189" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0001117842" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001117842" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008995 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1481, 0.1461, 0.1492, 0.1638, 0.1934, 0.2402, 0.3055, 0.3907, \
                 0.4968, 0.6249");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1051, 0.1036, 0.1063, 0.1167, 0.1348, 0.1621, 0.2015, 0.2562, \
                 0.3266, 0.4136");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.004847 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07321, 0.07189, 0.0742, 0.08341, 0.1008, 0.1272, 0.1635, 0.2102, \
                 0.2681, 0.3378");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0165, 0.01585, 0.01718, 0.0243, 0.03906, 0.06209, 0.09409, 0.1355, \
                 0.1869, 0.2488");
        }
      }
    }

    pin(ZN) {
      capacitance : 0.003508 ;
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 0.6989 ;
      max_transition : 8.6 ;
      min_capacitance : 0.004508 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.1245, 0.1244, 0.1242, 0.1241, 0.1241, 0.1241, 0.1241, 0.1241, 0.1242, 0.1242",\
                 "0.1248, 0.1247, 0.1245, 0.1244, 0.1244, 0.1244, 0.1244, 0.1245, 0.1245, 0.1245",\
                 "0.1303, 0.1302, 0.1302, 0.1302, 0.1302, 0.1303, 0.1303, 0.1303, 0.1303, 0.1303",\
                 "0.144, 0.144, 0.144, 0.1439, 0.1439, 0.144, 0.144, 0.144, 0.144, 0.144",\
                 "0.1674, 0.1674, 0.1674, 0.1674, 0.1674, 0.1674, 0.1675, 0.1675, 0.1675, 0.1675",\
                 "0.2014, 0.2014, 0.2013, 0.2013, 0.2013, 0.2014, 0.2014, 0.2014, 0.2014, 0.2014",\
                 "0.2467, 0.2468, 0.2467, 0.2466, 0.2467, 0.2467, 0.2467, 0.2467, 0.2467, 0.2467",\
                 "0.3038, 0.3038, 0.3037, 0.3037, 0.3037, 0.3038, 0.3038, 0.3038, 0.3038, 0.3038",\
                 "0.3733, 0.3733, 0.3733, 0.3731, 0.3732, 0.3732, 0.3732, 0.3732, 0.3733, 0.3733",\
                 "0.4557, 0.4557, 0.4556, 0.4556, 0.4556, 0.4556, 0.4556, 0.4556, 0.4557, 0.4556");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.07717, 0.07716, 0.07732, 0.07733, 0.07789, 0.07856, 0.07973, 0.08091, 0.08352, 0.08874",\
                 "0.07604, 0.0761, 0.07609, 0.07624, 0.07676, 0.07737, 0.07851, 0.07992, 0.08154, 0.08821",\
                 "0.07831, 0.07827, 0.07838, 0.07848, 0.07894, 0.07965, 0.08112, 0.08256, 0.08418, 0.09065",\
                 "0.09087, 0.09079, 0.09123, 0.09125, 0.09161, 0.09242, 0.09379, 0.09444, 0.09639, 0.1039",\
                 "0.1175, 0.1176, 0.1173, 0.1181, 0.1185, 0.1189, 0.1197, 0.1212, 0.1225, 0.1313",\
                 "0.1597, 0.1599, 0.1597, 0.1597, 0.1611, 0.1618, 0.1626, 0.163, 0.1654, 0.1741",\
                 "0.2186, 0.2187, 0.2187, 0.2187, 0.2188, 0.2211, 0.2222, 0.2227, 0.2241, 0.236",\
                 "0.2951, 0.2952, 0.2954, 0.2952, 0.2954, 0.296, 0.2993, 0.3003, 0.3017, 0.3157",\
                 "0.3901, 0.3903, 0.3906, 0.3906, 0.3906, 0.3905, 0.3921, 0.3957, 0.3988, 0.4197",\
                 "0.5045, 0.5047, 0.505, 0.5047, 0.5051, 0.5044, 0.505, 0.5075, 0.5148, 0.5492");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.2046, 0.2031, 0.2022, 0.2022, 0.2026, 0.2027, 0.2028, 0.2029, 0.203, 0.203",\
                 "0.2039, 0.2025, 0.2015, 0.2016, 0.2019, 0.2021, 0.2022, 0.2023, 0.2023, 0.2023",\
                 "0.2048, 0.2034, 0.2024, 0.2025, 0.2029, 0.203, 0.2031, 0.2032, 0.2033, 0.2033",\
                 "0.2122, 0.2106, 0.2096, 0.2097, 0.21, 0.2101, 0.2102, 0.2103, 0.2103, 0.2104",\
                 "0.2274, 0.2258, 0.2247, 0.2248, 0.2249, 0.2252, 0.2253, 0.2254, 0.2254, 0.2254",\
                 "0.252, 0.2504, 0.2491, 0.249, 0.2492, 0.2493, 0.2495, 0.2496, 0.2496, 0.2496",\
                 "0.2865, 0.2846, 0.2829, 0.2827, 0.2829, 0.2831, 0.2832, 0.2832, 0.2833, 0.2833",\
                 "0.3309, 0.3288, 0.3268, 0.3264, 0.3265, 0.3266, 0.3267, 0.3268, 0.3269, 0.3269",\
                 "0.3861, 0.3838, 0.3814, 0.3807, 0.3807, 0.3808, 0.3808, 0.3809, 0.3809, 0.381",\
                 "0.4523, 0.4499, 0.4471, 0.4461, 0.446, 0.446, 0.446, 0.446, 0.4461, 0.4461");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.1763, 0.1773, 0.1795, 0.1821, 0.1841, 0.1859, 0.1875, 0.1891, 0.191, 0.198",\
                 "0.175, 0.1758, 0.1782, 0.1807, 0.1828, 0.1845, 0.1862, 0.1881, 0.1897, 0.1974",\
                 "0.1772, 0.1779, 0.1803, 0.1828, 0.1848, 0.1865, 0.1881, 0.1898, 0.1924, 0.1993",\
                 "0.1868, 0.1874, 0.1894, 0.1921, 0.1941, 0.1958, 0.1975, 0.199, 0.2019, 0.2098",\
                 "0.2048, 0.2054, 0.2076, 0.2097, 0.2119, 0.2141, 0.2155, 0.2175, 0.2194, 0.2288",\
                 "0.2324, 0.2329, 0.2344, 0.2371, 0.2392, 0.2408, 0.2425, 0.2439, 0.2459, 0.2579",\
                 "0.2708, 0.2711, 0.2721, 0.274, 0.2769, 0.2791, 0.2802, 0.2821, 0.2835, 0.3001",\
                 "0.3204, 0.3206, 0.3211, 0.3228, 0.3245, 0.3268, 0.3304, 0.3316, 0.3341, 0.3572",\
                 "0.3819, 0.3816, 0.3821, 0.3836, 0.3849, 0.3858, 0.3901, 0.3923, 0.3959, 0.4296",\
                 "0.456, 0.4555, 0.4555, 0.4565, 0.4576, 0.4593, 0.4611, 0.4654, 0.4735, 0.5353");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.185, 0.203, 0.271, 0.387, 0.527, 0.696, 0.892, 1.117, 1.369, \
                 1.652");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.27, 0.285, 0.353, 0.466, 0.609, 0.783, 0.989, 1.228, 1.5, 1.808");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.2053, 0.2574, 0.3823, 0.5482, 0.7597, 1.031, 1.376, 1.807, 2.333, 2.96",\
                 "0.2208, 0.2729, 0.3979, 0.5638, 0.7753, 1.046, 1.392, 1.823, 2.349, 2.975",\
                 "0.2775, 0.3282, 0.4505, 0.615, 0.826, 1.097, 1.442, 1.874, 2.399, 3.026",\
                 "0.3437, 0.3963, 0.5152, 0.6766, 0.886, 1.157, 1.502, 1.933, 2.459, 3.085",\
                 "0.3669, 0.4181, 0.5353, 0.6956, 0.904, 1.173, 1.518, 1.949, 2.475, 3.102",\
                 "0.3549, 0.4054, 0.5203, 0.679, 0.8865, 1.156, 1.5, 1.93, 2.456, 3.082",\
                 "0.3125, 0.3633, 0.4775, 0.6342, 0.8399, 1.108, 1.452, 1.882, 2.407, 3.033",\
                 "0.2386, 0.2895, 0.4035, 0.5595, 0.7643, 1.032, 1.375, 1.806, 2.331, 2.956",\
                 "0.1301, 0.1823, 0.2969, 0.4528, 0.6571, 0.9241, 1.268, 1.698, 2.223, 2.849",\
                 "-0.0154, 0.0378, 0.1536, 0.3099, 0.5141, 0.781, 1.125, 1.555, 2.081, 2.707");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.1804, 0.2297, 0.3635, 0.5908, 0.9394, 1.428, 2.071, 2.883, 3.874, 5.054",\
                 "0.1935, 0.2428, 0.3765, 0.6038, 0.9524, 1.441, 2.085, 2.896, 3.886, 5.067",\
                 "0.2362, 0.2865, 0.4209, 0.6483, 0.997, 1.485, 2.128, 2.941, 3.929, 5.112",\
                 "0.2717, 0.3269, 0.466, 0.6956, 1.044, 1.533, 2.175, 2.988, 3.978, 5.159",\
                 "0.2856, 0.3499, 0.4964, 0.7277, 1.078, 1.567, 2.209, 3.021, 4.01, 5.189",\
                 "0.272, 0.3483, 0.509, 0.7447, 1.095, 1.585, 2.228, 3.039, 4.027, 5.206",\
                 "0.2281, 0.3173, 0.4979, 0.7427, 1.097, 1.586, 2.23, 3.04, 4.029, 5.207",\
                 "0.1519, 0.2557, 0.4594, 0.716, 1.077, 1.571, 2.215, 3.026, 4.014, 5.193",\
                 "0.0419, 0.1607, 0.3907, 0.6625, 1.032, 1.534, 2.182, 2.993, 3.982, 5.161",\
                 "-0.1063, 0.0289, 0.2885, 0.5794, 0.9579, 1.469, 2.127, 2.942, 3.931, 5.111");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.1082, 0.1611, 0.2854, 0.4694, 0.7496, 1.157, 1.713, 2.43, 3.308, 4.363",\
                 "0.1082, 0.161, 0.2853, 0.4695, 0.7495, 1.157, 1.714, 2.429, 3.31, 4.365",\
                 "0.1043, 0.1563, 0.281, 0.4669, 0.7483, 1.156, 1.712, 2.429, 3.31, 4.364",\
                 "0.1159, 0.1592, 0.2727, 0.46, 0.7458, 1.156, 1.713, 2.429, 3.31, 4.364",\
                 "0.1142, 0.156, 0.2706, 0.4582, 0.74, 1.15, 1.711, 2.429, 3.31, 4.365",\
                 "0.1124, 0.1532, 0.267, 0.4548, 0.7396, 1.149, 1.705, 2.424, 3.308, 4.362",\
                 "0.1132, 0.1534, 0.2644, 0.4494, 0.735, 1.145, 1.705, 2.42, 3.3, 4.356",\
                 "0.116, 0.154, 0.2636, 0.4474, 0.7316, 1.145, 1.705, 2.42, 3.302, 4.351",\
                 "0.1188, 0.1572, 0.2636, 0.4472, 0.731, 1.144, 1.706, 2.422, 3.302, 4.352",\
                 "0.123, 0.1612, 0.2654, 0.4474, 0.7308, 1.144, 1.704, 2.424, 3.301, 4.352");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.09956, 0.1584, 0.3487, 0.7293, 1.341, 2.204, 3.337, 4.767, 6.515, 8.594",\
                 "0.09944, 0.1584, 0.3487, 0.7302, 1.34, 2.205, 3.338, 4.765, 6.512, 8.597",\
                 "0.1027, 0.1603, 0.3494, 0.7288, 1.343, 2.201, 3.337, 4.769, 6.513, 8.598",\
                 "0.1188, 0.1722, 0.3569, 0.7318, 1.34, 2.202, 3.335, 4.767, 6.513, 8.596",\
                 "0.142, 0.1932, 0.3654, 0.7372, 1.344, 2.202, 3.338, 4.767, 6.523, 8.593",\
                 "0.1714, 0.225, 0.3852, 0.743, 1.346, 2.206, 3.338, 4.764, 6.509, 8.593",\
                 "0.2038, 0.2616, 0.4148, 0.7592, 1.353, 2.207, 3.339, 4.771, 6.507, 8.584",\
                 "0.237, 0.3018, 0.4528, 0.7824, 1.373, 2.217, 3.341, 4.766, 6.513, 8.587",\
                 "0.2744, 0.3472, 0.4984, 0.8122, 1.402, 2.245, 3.358, 4.77, 6.509, 8.601",\
                 "0.3146, 0.3952, 0.5528, 0.8474, 1.429, 2.282, 3.388, 4.788, 6.515, 8.587");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.4624, 0.5166, 0.649, 0.8197, 1.033, 1.305, 1.651, 2.082, 2.608, 3.234",\
                 "0.4761, 0.5302, 0.6628, 0.8335, 1.047, 1.319, 1.664, 2.096, 2.622, 3.248",\
                 "0.5164, 0.5705, 0.7029, 0.8738, 1.087, 1.359, 1.704, 2.136, 2.662, 3.288",\
                 "0.5472, 0.6014, 0.734, 0.9048, 1.118, 1.39, 1.736, 2.167, 2.693, 3.319",\
                 "0.5604, 0.6145, 0.747, 0.9177, 1.131, 1.403, 1.749, 2.18, 2.706, 3.333",\
                 "0.5532, 0.6073, 0.74, 0.9113, 1.125, 1.397, 1.742, 2.174, 2.7, 3.326",\
                 "0.5201, 0.5743, 0.7075, 0.8792, 1.093, 1.365, 1.711, 2.142, 2.668, 3.294",\
                 "0.4583, 0.5126, 0.6464, 0.8189, 1.034, 1.306, 1.652, 2.083, 2.609, 3.236",\
                 "0.3666, 0.4205, 0.5547, 0.728, 0.9429, 1.216, 1.561, 1.993, 2.519, 3.145",\
                 "0.2407, 0.2951, 0.4301, 0.6041, 0.8195, 1.092, 1.438, 1.87, 2.396, 3.022");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.4771, 0.5293, 0.6668, 0.8972, 1.248, 1.738, 2.382, 3.192, 4.183, 5.358",\
                 "0.4923, 0.5446, 0.6821, 0.9124, 1.263, 1.753, 2.398, 3.209, 4.199, 5.381",\
                 "0.5593, 0.6114, 0.749, 0.9793, 1.33, 1.82, 2.464, 3.276, 4.267, 5.447",\
                 "0.6707, 0.723, 0.8606, 1.091, 1.442, 1.931, 2.576, 3.388, 4.379, 5.559",\
                 "0.811, 0.8635, 1.001, 1.231, 1.582, 2.072, 2.716, 3.529, 4.519, 5.699",\
                 "0.9839, 1.036, 1.174, 1.404, 1.755, 2.244, 2.889, 3.701, 4.687, 5.867",\
                 "1.188, 1.241, 1.379, 1.609, 1.96, 2.45, 3.093, 3.904, 4.894, 6.074",\
                 "1.424, 1.477, 1.616, 1.846, 2.197, 2.686, 3.33, 4.14, 5.129, 6.307",\
                 "1.692, 1.746, 1.886, 2.116, 2.467, 2.957, 3.6, 4.41, 5.398, 6.576",\
                 "1.995, 2.049, 2.19, 2.42, 2.771, 3.26, 3.904, 4.714, 5.703, 6.881");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.1215, 0.1763, 0.3006, 0.4778, 0.7539, 1.159, 1.714, 2.429, 3.309, 4.362",\
                 "0.1219, 0.1763, 0.3005, 0.478, 0.7536, 1.16, 1.714, 2.429, 3.312, 4.366",\
                 "0.1216, 0.1762, 0.3009, 0.4772, 0.7532, 1.159, 1.714, 2.43, 3.308, 4.364",\
                 "0.1217, 0.1765, 0.3014, 0.4778, 0.7546, 1.16, 1.715, 2.429, 3.31, 4.363",\
                 "0.1218, 0.177, 0.3014, 0.4774, 0.7534, 1.16, 1.714, 2.43, 3.311, 4.363",\
                 "0.1232, 0.1776, 0.3026, 0.4784, 0.7534, 1.157, 1.712, 2.427, 3.311, 4.365",\
                 "0.1242, 0.1788, 0.3042, 0.4802, 0.7554, 1.158, 1.714, 2.426, 3.305, 4.357",\
                 "0.1258, 0.1808, 0.3066, 0.482, 0.756, 1.16, 1.713, 2.426, 3.305, 4.356",\
                 "0.1276, 0.1824, 0.3094, 0.484, 0.7578, 1.162, 1.713, 2.427, 3.305, 4.355",\
                 "0.1298, 0.1844, 0.312, 0.4872, 0.7592, 1.163, 1.716, 2.427, 3.307, 4.359");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.004508, 0.009301, 0.02613, 0.05825, 0.1083, 0.1785, 0.271, 0.3874, 0.5295, 0.6989");
          values("0.1045, 0.1612, 0.3492, 0.7306, 1.343, 2.202, 3.337, 4.767, 6.51, 8.605",\
                 "0.1048, 0.1609, 0.349, 0.7299, 1.34, 2.205, 3.338, 4.765, 6.513, 8.596",\
                 "0.1048, 0.1612, 0.3489, 0.7301, 1.34, 2.204, 3.336, 4.768, 6.515, 8.591",\
                 "0.1056, 0.1618, 0.3494, 0.7294, 1.341, 2.203, 3.336, 4.767, 6.515, 8.593",\
                 "0.1064, 0.1622, 0.3494, 0.7294, 1.341, 2.204, 3.337, 4.768, 6.515, 8.589",\
                 "0.1074, 0.1636, 0.3506, 0.7296, 1.341, 2.204, 3.335, 4.765, 6.51, 8.59",\
                 "0.109, 0.1658, 0.3522, 0.7302, 1.34, 2.2, 3.334, 4.762, 6.516, 8.592",\
                 "0.1116, 0.1686, 0.3538, 0.731, 1.342, 2.2, 3.335, 4.764, 6.501, 8.587",\
                 "0.1138, 0.1712, 0.356, 0.7306, 1.341, 2.201, 3.334, 4.761, 6.515, 8.583",\
                 "0.117, 0.1746, 0.3584, 0.7322, 1.341, 2.201, 3.334, 4.759, 6.501, 8.588");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__invz_3) {
    area : 50.489600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "8.28036e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "8.32293e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0001338282" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0001344321" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001344321" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008829 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1646, 0.1627, 0.1656, 0.1795, 0.2085, 0.2546, 0.3192, 0.404, \
                 0.5099, 0.6378");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1046, 0.1032, 0.1059, 0.1161, 0.134, 0.1611, 0.1996, 0.2532, \
                 0.3228, 0.4091");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.004587 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08423, 0.08303, 0.08449, 0.0926, 0.1085, 0.1329, 0.1666, 0.2105, \
                 0.2652, 0.3313");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02766, 0.02716, 0.02828, 0.03434, 0.04763, 0.06871, 0.09847, \
                 0.1373, 0.1857, 0.2441");
        }
      }
    }

    pin(ZN) {
      capacitance : 0.006663 ;
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 1.05 ;
      max_transition : 8.6 ;
      min_capacitance : 0.007663 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.1655, 0.1655, 0.1654, 0.1654, 0.1655, 0.1655, 0.1655, 0.1656, 0.1656, 0.1656",\
                 "0.1659, 0.1659, 0.1659, 0.1658, 0.1658, 0.1659, 0.1659, 0.1659, 0.166, 0.166",\
                 "0.172, 0.1719, 0.1719, 0.1719, 0.1719, 0.172, 0.172, 0.172, 0.172, 0.172",\
                 "0.1858, 0.1859, 0.1859, 0.1858, 0.1858, 0.1859, 0.1859, 0.1859, 0.186, 0.186",\
                 "0.2095, 0.2095, 0.2095, 0.2095, 0.2095, 0.2094, 0.2095, 0.2095, 0.2095, 0.2095",\
                 "0.2436, 0.2436, 0.2435, 0.2436, 0.2436, 0.2437, 0.2436, 0.2436, 0.2436, 0.2437",\
                 "0.2892, 0.2891, 0.289, 0.2889, 0.2889, 0.2889, 0.2891, 0.2891, 0.2891, 0.2891",\
                 "0.3463, 0.3463, 0.3462, 0.3461, 0.3462, 0.3462, 0.3462, 0.3463, 0.3463, 0.3463",\
                 "0.416, 0.416, 0.4159, 0.4158, 0.4158, 0.4158, 0.4159, 0.4159, 0.4159, 0.4159",\
                 "0.4986, 0.4986, 0.4986, 0.4983, 0.4984, 0.4984, 0.4984, 0.4984, 0.4985, 0.4985");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.1204, 0.1203, 0.1205, 0.1206, 0.1211, 0.1222, 0.1244, 0.1266, 0.1285, 0.1378",\
                 "0.1192, 0.1192, 0.1194, 0.1195, 0.12, 0.1212, 0.1234, 0.1256, 0.1279, 0.1365",\
                 "0.1213, 0.1213, 0.1214, 0.1216, 0.1221, 0.1234, 0.125, 0.1266, 0.1289, 0.1396",\
                 "0.1335, 0.1333, 0.1339, 0.1338, 0.1345, 0.1358, 0.1373, 0.1404, 0.1421, 0.1538",\
                 "0.1594, 0.1594, 0.159, 0.1603, 0.1608, 0.1616, 0.163, 0.1645, 0.1673, 0.181",\
                 "0.2008, 0.201, 0.2006, 0.2006, 0.2025, 0.2037, 0.2042, 0.2061, 0.2099, 0.2242",\
                 "0.2591, 0.2591, 0.2592, 0.2593, 0.2594, 0.2624, 0.2643, 0.2645, 0.2674, 0.2852",\
                 "0.3352, 0.3354, 0.3353, 0.3356, 0.335, 0.3361, 0.3409, 0.3428, 0.345, 0.3659",\
                 "0.4298, 0.43, 0.4303, 0.4303, 0.4299, 0.4301, 0.4323, 0.4381, 0.4418, 0.4754",\
                 "0.5441, 0.5442, 0.545, 0.5446, 0.5443, 0.5444, 0.5455, 0.5487, 0.5594, 0.6109");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.2742, 0.2745, 0.2763, 0.2782, 0.2794, 0.2801, 0.2804, 0.2807, 0.2809, 0.281",\
                 "0.2736, 0.2739, 0.2757, 0.2776, 0.2788, 0.2795, 0.2798, 0.2801, 0.2803, 0.2804",\
                 "0.2745, 0.2747, 0.2766, 0.2784, 0.2796, 0.2803, 0.2807, 0.281, 0.2811, 0.2812",\
                 "0.2813, 0.2813, 0.283, 0.2848, 0.286, 0.2868, 0.2872, 0.2874, 0.2876, 0.2877",\
                 "0.2963, 0.2962, 0.2976, 0.2994, 0.3005, 0.3013, 0.3017, 0.302, 0.3022, 0.3023",\
                 "0.3202, 0.3201, 0.321, 0.3225, 0.3238, 0.3245, 0.3249, 0.3252, 0.3254, 0.3255",\
                 "0.3546, 0.3541, 0.3544, 0.3559, 0.3569, 0.3577, 0.3581, 0.3584, 0.3586, 0.3587",\
                 "0.399, 0.3981, 0.3978, 0.3989, 0.3999, 0.4006, 0.4011, 0.4014, 0.4016, 0.4017",\
                 "0.4545, 0.4531, 0.4521, 0.4529, 0.4537, 0.4544, 0.4548, 0.4552, 0.4554, 0.4556",\
                 "0.5209, 0.5192, 0.5175, 0.5177, 0.5184, 0.519, 0.5195, 0.5198, 0.52, 0.5201");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.2356, 0.237, 0.2408, 0.2443, 0.2472, 0.2501, 0.2524, 0.2552, 0.2578, 0.2689",\
                 "0.2343, 0.2358, 0.2393, 0.243, 0.2462, 0.2489, 0.2514, 0.2536, 0.2575, 0.2686",\
                 "0.2357, 0.237, 0.2406, 0.2446, 0.2476, 0.2502, 0.2524, 0.2552, 0.2578, 0.2703",\
                 "0.2443, 0.2458, 0.2492, 0.2527, 0.256, 0.2584, 0.2613, 0.2635, 0.2666, 0.2813",\
                 "0.2614, 0.2627, 0.2662, 0.2695, 0.2728, 0.2754, 0.2781, 0.2806, 0.2844, 0.2993",\
                 "0.2882, 0.2895, 0.292, 0.296, 0.2988, 0.3015, 0.3042, 0.3064, 0.3112, 0.329",\
                 "0.3256, 0.3264, 0.3287, 0.3318, 0.3358, 0.3389, 0.3405, 0.3434, 0.3466, 0.3745",\
                 "0.3744, 0.3752, 0.3771, 0.379, 0.3824, 0.3873, 0.3896, 0.3929, 0.3957, 0.4323",\
                 "0.4354, 0.4356, 0.4371, 0.44, 0.4422, 0.4447, 0.449, 0.4543, 0.4596, 0.5156",\
                 "0.5089, 0.5089, 0.5098, 0.5116, 0.5141, 0.5163, 0.5197, 0.5253, 0.5388, 0.6358");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.235, 0.253, 0.321, 0.449, 0.603, 0.788, 1.005, 1.254, 1.533, \
                 1.846");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.298, 0.312, 0.381, 0.494, 0.638, 0.815, 1.024, 1.265, 1.539, \
                 1.851");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.2203, 0.2693, 0.3883, 0.5493, 0.7575, 1.027, 1.372, 1.804, 2.331, 2.959",\
                 "0.2357, 0.2848, 0.4036, 0.5649, 0.7731, 1.042, 1.387, 1.82, 2.346, 2.974",\
                 "0.2919, 0.3401, 0.4576, 0.6181, 0.8261, 1.095, 1.44, 1.872, 2.399, 3.027",\
                 "0.3577, 0.4086, 0.5257, 0.685, 0.8923, 1.162, 1.507, 1.939, 2.465, 3.093",\
                 "0.3836, 0.4339, 0.5502, 0.7094, 0.9161, 1.184, 1.529, 1.961, 2.488, 3.116",\
                 "0.3742, 0.4245, 0.5404, 0.6994, 0.9057, 1.174, 1.518, 1.95, 2.476, 3.104",\
                 "0.3339, 0.3846, 0.5007, 0.6584, 0.8643, 1.133, 1.477, 1.908, 2.434, 3.061",\
                 "0.2611, 0.3125, 0.4294, 0.5873, 0.7931, 1.061, 1.405, 1.837, 2.363, 2.99",\
                 "0.1537, 0.2064, 0.324, 0.4826, 0.6885, 0.9564, 1.301, 1.732, 2.259, 2.885",\
                 "0.0086, 0.0627, 0.1822, 0.3414, 0.5474, 0.8154, 1.16, 1.591, 2.118, 2.745");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.2126, 0.2626, 0.398, 0.6263, 0.9757, 1.465, 2.109, 2.922, 3.914, 5.095",\
                 "0.2261, 0.276, 0.4114, 0.6397, 0.989, 1.478, 2.122, 2.936, 3.928, 5.109",\
                 "0.2727, 0.3233, 0.459, 0.6874, 1.037, 1.527, 2.171, 2.982, 3.971, 5.156",\
                 "0.3193, 0.3755, 0.5164, 0.7466, 1.096, 1.585, 2.23, 3.041, 4.032, 5.212",\
                 "0.3433, 0.4081, 0.5576, 0.7902, 1.141, 1.63, 2.274, 3.085, 4.074, 5.257",\
                 "0.3391, 0.4159, 0.5799, 0.817, 1.167, 1.658, 2.301, 3.113, 4.103, 5.286",\
                 "0.3033, 0.3934, 0.5776, 0.8236, 1.177, 1.667, 2.311, 3.122, 4.112, 5.293",\
                 "0.2344, 0.3379, 0.5459, 0.8046, 1.164, 1.657, 2.301, 3.112, 4.102, 5.282",\
                 "0.1299, 0.2479, 0.4816, 0.757, 1.124, 1.624, 2.272, 3.083, 4.073, 5.253",\
                 "-0.0125, 0.1206, 0.3827, 0.6776, 1.054, 1.562, 2.218, 3.032, 4.022, 5.203");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.1141, 0.1623, 0.2816, 0.4648, 0.7465, 1.159, 1.719, 2.439, 3.323, 4.375",\
                 "0.114, 0.1625, 0.2816, 0.4655, 0.7464, 1.159, 1.72, 2.438, 3.323, 4.38",\
                 "0.1115, 0.1597, 0.2794, 0.4643, 0.747, 1.158, 1.719, 2.439, 3.322, 4.379",\
                 "0.1243, 0.1661, 0.2772, 0.4613, 0.746, 1.158, 1.718, 2.439, 3.319, 4.377",\
                 "0.1256, 0.1658, 0.2774, 0.461, 0.742, 1.155, 1.717, 2.439, 3.322, 4.38",\
                 "0.1258, 0.1658, 0.2754, 0.4588, 0.7426, 1.155, 1.713, 2.435, 3.321, 4.378",\
                 "0.1272, 0.167, 0.2756, 0.4586, 0.7412, 1.153, 1.713, 2.432, 3.313, 4.369",\
                 "0.1302, 0.1694, 0.2762, 0.4586, 0.7406, 1.152, 1.715, 2.434, 3.314, 4.367",\
                 "0.1344, 0.1724, 0.2782, 0.4594, 0.7414, 1.153, 1.716, 2.434, 3.314, 4.37",\
                 "0.1394, 0.178, 0.281, 0.4598, 0.7424, 1.154, 1.715, 2.436, 3.315, 4.368");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.1151, 0.1719, 0.3606, 0.7409, 1.351, 2.215, 3.352, 4.784, 6.532, 8.608",\
                 "0.1149, 0.172, 0.3606, 0.7405, 1.354, 2.214, 3.351, 4.784, 6.532, 8.61",\
                 "0.117, 0.1731, 0.361, 0.7402, 1.353, 2.213, 3.35, 4.789, 6.541, 8.617",\
                 "0.1363, 0.1879, 0.3687, 0.742, 1.353, 2.214, 3.35, 4.78, 6.529, 8.614",\
                 "0.162, 0.2114, 0.3804, 0.7478, 1.354, 2.216, 3.355, 4.786, 6.537, 8.616",\
                 "0.1932, 0.245, 0.4014, 0.7534, 1.356, 2.216, 3.353, 4.78, 6.528, 8.612",\
                 "0.2278, 0.285, 0.4328, 0.7688, 1.362, 2.219, 3.351, 4.787, 6.522, 8.609",\
                 "0.2634, 0.3274, 0.475, 0.7938, 1.378, 2.226, 3.353, 4.78, 6.536, 8.607",\
                 "0.3022, 0.3732, 0.5238, 0.8258, 1.404, 2.247, 3.366, 4.783, 6.526, 8.623",\
                 "0.3446, 0.4226, 0.5798, 0.8628, 1.43, 2.281, 3.394, 4.801, 6.53, 8.608");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.443, 0.4961, 0.6221, 0.7869, 0.9965, 1.266, 1.612, 2.044, 2.571, 3.199",\
                 "0.4571, 0.5101, 0.6362, 0.801, 1.011, 1.281, 1.626, 2.058, 2.585, 3.213",\
                 "0.5021, 0.5551, 0.6813, 0.8461, 1.056, 1.326, 1.671, 2.103, 2.63, 3.257",\
                 "0.5424, 0.5953, 0.7216, 0.8865, 1.096, 1.366, 1.712, 2.144, 2.67, 3.298",\
                 "0.5633, 0.6164, 0.7425, 0.9077, 1.117, 1.388, 1.733, 2.165, 2.692, 3.32",\
                 "0.5601, 0.613, 0.7397, 0.9053, 1.115, 1.385, 1.731, 2.163, 2.69, 3.317",\
                 "0.5295, 0.5826, 0.7098, 0.876, 1.086, 1.357, 1.702, 2.134, 2.661, 3.288",\
                 "0.4672, 0.5205, 0.6487, 0.8156, 1.026, 1.297, 1.642, 2.075, 2.601, 3.229",\
                 "0.3722, 0.4257, 0.5551, 0.7228, 0.9339, 1.205, 1.55, 1.982, 2.509, 3.137",\
                 "0.241, 0.2946, 0.4252, 0.5939, 0.8056, 1.076, 1.422, 1.854, 2.381, 3.009");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.5477, 0.6001, 0.739, 0.9702, 1.321, 1.813, 2.458, 3.268, 4.259, 5.444",\
                 "0.5629, 0.6154, 0.754, 0.9855, 1.337, 1.827, 2.473, 3.285, 4.276, 5.46",\
                 "0.6298, 0.6823, 0.8209, 1.052, 1.404, 1.894, 2.539, 3.353, 4.345, 5.527",\
                 "0.7531, 0.8053, 0.9438, 1.175, 1.526, 2.018, 2.663, 3.473, 4.464, 5.646",\
                 "0.908, 0.9607, 1.1, 1.331, 1.682, 2.173, 2.819, 3.632, 4.624, 5.805",\
                 "1.098, 1.151, 1.29, 1.522, 1.873, 2.364, 3.01, 3.821, 4.812, 5.994",\
                 "1.325, 1.378, 1.517, 1.748, 2.099, 2.59, 3.235, 4.047, 5.039, 6.219",\
                 "1.585, 1.64, 1.78, 2.011, 2.363, 2.853, 3.497, 4.309, 5.299, 6.479",\
                 "1.883, 1.937, 2.079, 2.311, 2.662, 3.153, 3.797, 4.609, 5.598, 6.778",\
                 "2.217, 2.272, 2.415, 2.647, 2.999, 3.489, 4.134, 4.946, 5.936, 7.115");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.1232, 0.1742, 0.2902, 0.4691, 0.7491, 1.159, 1.719, 2.439, 3.323, 4.374",\
                 "0.1229, 0.1739, 0.2897, 0.4688, 0.7493, 1.159, 1.719, 2.439, 3.323, 4.374",\
                 "0.1232, 0.174, 0.29, 0.4694, 0.7494, 1.158, 1.719, 2.44, 3.32, 4.378",\
                 "0.1234, 0.1745, 0.2908, 0.4698, 0.7492, 1.159, 1.719, 2.439, 3.322, 4.379",\
                 "0.124, 0.175, 0.2914, 0.469, 0.7484, 1.16, 1.72, 2.439, 3.324, 4.378",\
                 "0.1248, 0.1764, 0.2932, 0.47, 0.7492, 1.158, 1.717, 2.438, 3.324, 4.373",\
                 "0.1264, 0.1784, 0.295, 0.4726, 0.7508, 1.16, 1.719, 2.435, 3.317, 4.373",\
                 "0.1286, 0.181, 0.2976, 0.4742, 0.7528, 1.16, 1.718, 2.435, 3.318, 4.369",\
                 "0.1308, 0.184, 0.301, 0.4766, 0.7528, 1.161, 1.719, 2.436, 3.319, 4.371",\
                 "0.1334, 0.1872, 0.3056, 0.4794, 0.7544, 1.161, 1.719, 2.44, 3.32, 4.371");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.007663, 0.01486, 0.04012, 0.08835, 0.1635, 0.2689, 0.4077, 0.5825, 0.7959, 1.05");
          values("0.1175, 0.1725, 0.3605, 0.7399, 1.352, 2.214, 3.351, 4.784, 6.541, 8.617",\
                 "0.1175, 0.1729, 0.3605, 0.7399, 1.351, 2.216, 3.351, 4.782, 6.53, 8.617",\
                 "0.1176, 0.1724, 0.3605, 0.7414, 1.354, 2.215, 3.353, 4.782, 6.532, 8.617",\
                 "0.118, 0.1728, 0.3604, 0.74, 1.351, 2.217, 3.35, 4.786, 6.534, 8.616",\
                 "0.1186, 0.1742, 0.3612, 0.7398, 1.353, 2.218, 3.351, 4.782, 6.533, 8.609",\
                 "0.1206, 0.1762, 0.3616, 0.74, 1.352, 2.212, 3.35, 4.787, 6.527, 8.61",\
                 "0.122, 0.177, 0.3632, 0.7412, 1.351, 2.212, 3.349, 4.779, 6.528, 8.609",\
                 "0.1246, 0.1804, 0.3654, 0.7422, 1.352, 2.213, 3.346, 4.78, 6.523, 8.608",\
                 "0.1278, 0.1838, 0.3682, 0.742, 1.353, 2.214, 3.347, 4.777, 6.53, 8.601",\
                 "0.1312, 0.1872, 0.3704, 0.7432, 1.352, 2.215, 3.35, 4.776, 6.519, 8.612");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__invz_4) {
    area : 52.684800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "8.90868e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "8.95092e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0001449954" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0001458864" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001458864" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008856 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1702, 0.1682, 0.1708, 0.1849, 0.2136, 0.2596, 0.3241, 0.409, \
                 0.5152, 0.6436");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1039, 0.1024, 0.1052, 0.1152, 0.133, 0.1601, 0.1981, 0.2512, \
                 0.3203, 0.4063");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.004576 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09434, 0.09313, 0.09442, 0.1022, 0.1176, 0.1417, 0.1749, 0.2185, \
                 0.2729, 0.3386");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03254, 0.03207, 0.03307, 0.03883, 0.05151, 0.0722, 0.1015, 0.1399, \
                 0.188, 0.2461");
        }
      }
    }

    pin(ZN) {
      capacitance : 0.007223 ;
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 1.399 ;
      max_transition : 8.6 ;
      min_capacitance : 0.008223 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.188, 0.188, 0.1879, 0.1878, 0.1878, 0.1879, 0.1879, 0.188, 0.188, 0.188",\
                 "0.1884, 0.1883, 0.1882, 0.1882, 0.1882, 0.1883, 0.1884, 0.1883, 0.1883, 0.1884",\
                 "0.1944, 0.1944, 0.1942, 0.1943, 0.1943, 0.1944, 0.1945, 0.1945, 0.1945, 0.1945",\
                 "0.2085, 0.2085, 0.2084, 0.2083, 0.2084, 0.2084, 0.2085, 0.2084, 0.2085, 0.2085",\
                 "0.2321, 0.2321, 0.232, 0.232, 0.232, 0.232, 0.2321, 0.2321, 0.232, 0.2321",\
                 "0.2663, 0.2663, 0.2662, 0.2661, 0.2662, 0.2663, 0.2662, 0.2662, 0.2663, 0.2663",\
                 "0.3117, 0.3118, 0.3117, 0.3115, 0.3116, 0.3116, 0.3117, 0.3117, 0.3117, 0.3117",\
                 "0.3689, 0.3689, 0.3689, 0.3687, 0.3688, 0.3688, 0.3688, 0.3689, 0.3689, 0.3689",\
                 "0.4387, 0.4386, 0.4386, 0.4384, 0.4384, 0.4384, 0.4385, 0.4385, 0.4385, 0.4386",\
                 "0.5213, 0.5214, 0.5212, 0.5211, 0.521, 0.521, 0.5211, 0.5211, 0.5211, 0.5211");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.1427, 0.1427, 0.1427, 0.143, 0.1437, 0.1452, 0.148, 0.1513, 0.1544, 0.1669",\
                 "0.1417, 0.1417, 0.1416, 0.1419, 0.1428, 0.1442, 0.1461, 0.1503, 0.1528, 0.1656",\
                 "0.1435, 0.1437, 0.1437, 0.1441, 0.1448, 0.1462, 0.148, 0.1509, 0.1554, 0.1684",\
                 "0.1555, 0.1555, 0.1562, 0.1562, 0.157, 0.1591, 0.1616, 0.1645, 0.167, 0.1821",\
                 "0.181, 0.1815, 0.1806, 0.1824, 0.1828, 0.1841, 0.1853, 0.1892, 0.1927, 0.2104",\
                 "0.2223, 0.2225, 0.2226, 0.2222, 0.2245, 0.2264, 0.2272, 0.2288, 0.235, 0.2541",\
                 "0.2804, 0.2805, 0.2808, 0.2806, 0.2809, 0.2851, 0.287, 0.2881, 0.2905, 0.3155",\
                 "0.3564, 0.3566, 0.3569, 0.3569, 0.3565, 0.358, 0.3645, 0.3669, 0.3678, 0.3998",\
                 "0.4512, 0.4517, 0.4517, 0.4519, 0.4514, 0.4518, 0.4546, 0.4623, 0.4682, 0.5141",\
                 "0.5656, 0.5661, 0.5668, 0.5661, 0.5658, 0.5663, 0.5675, 0.5719, 0.589, 0.6557");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.3124, 0.3132, 0.3162, 0.3191, 0.3209, 0.3219, 0.3225, 0.3227, 0.323, 0.3231",\
                 "0.3119, 0.3125, 0.3158, 0.3186, 0.3203, 0.3213, 0.3219, 0.3223, 0.3225, 0.3227",\
                 "0.3127, 0.3131, 0.3164, 0.3192, 0.321, 0.322, 0.3226, 0.3229, 0.3232, 0.3234",\
                 "0.3199, 0.3201, 0.3229, 0.3258, 0.3276, 0.3287, 0.3293, 0.3297, 0.3298, 0.33",\
                 "0.335, 0.3353, 0.3378, 0.3404, 0.3422, 0.3433, 0.3439, 0.3443, 0.3445, 0.3447",\
                 "0.3603, 0.3602, 0.3619, 0.3643, 0.3663, 0.3672, 0.3679, 0.3683, 0.3686, 0.3688",\
                 "0.396, 0.3955, 0.3963, 0.3985, 0.4002, 0.4013, 0.402, 0.4024, 0.4026, 0.4029",\
                 "0.4425, 0.4412, 0.4412, 0.4429, 0.4446, 0.4457, 0.4464, 0.4468, 0.4472, 0.4473",\
                 "0.4999, 0.498, 0.4971, 0.4984, 0.4998, 0.5009, 0.5015, 0.502, 0.5023, 0.5026",\
                 "0.5689, 0.5663, 0.5644, 0.5652, 0.5666, 0.5675, 0.5681, 0.5686, 0.5689, 0.5691");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.2722, 0.275, 0.2803, 0.2848, 0.2886, 0.292, 0.2948, 0.2984, 0.3022, 0.3178",\
                 "0.2709, 0.2734, 0.279, 0.2837, 0.2878, 0.2907, 0.2945, 0.2971, 0.3009, 0.3174",\
                 "0.2719, 0.2746, 0.2797, 0.2845, 0.2887, 0.292, 0.2958, 0.2984, 0.3022, 0.3186",\
                 "0.2807, 0.2831, 0.2883, 0.293, 0.2969, 0.3009, 0.3037, 0.3083, 0.3111, 0.3282",\
                 "0.2981, 0.3007, 0.3055, 0.3097, 0.314, 0.3181, 0.3212, 0.3254, 0.3286, 0.3491",\
                 "0.3253, 0.3274, 0.3311, 0.3368, 0.341, 0.3441, 0.3473, 0.3512, 0.3564, 0.3815",\
                 "0.3636, 0.3652, 0.3687, 0.3731, 0.3785, 0.3831, 0.3859, 0.3896, 0.3931, 0.4287",\
                 "0.4135, 0.4151, 0.4185, 0.4222, 0.4263, 0.4332, 0.4377, 0.4391, 0.4435, 0.4932",\
                 "0.4764, 0.4774, 0.4803, 0.4841, 0.4871, 0.491, 0.4998, 0.505, 0.5124, 0.5858",\
                 "0.5521, 0.5529, 0.5558, 0.5591, 0.5625, 0.5652, 0.5684, 0.5804, 0.5954, 0.7251");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.27, 0.288, 0.355, 0.488, 0.653, 0.851, 1.083, 1.347, 1.646, \
                 1.981");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.311, 0.326, 0.395, 0.508, 0.651, 0.829, 1.038, 1.28, 1.557, \
                 1.868");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.2136, 0.267, 0.391, 0.556, 0.7665, 1.037, 1.383, 1.815, 2.342, 2.97",\
                 "0.229, 0.2823, 0.4068, 0.5716, 0.7821, 1.053, 1.399, 1.831, 2.358, 2.986",\
                 "0.2851, 0.3379, 0.4609, 0.6253, 0.8356, 1.106, 1.452, 1.885, 2.412, 3.04",\
                 "0.3506, 0.4076, 0.5316, 0.6953, 0.9052, 1.176, 1.522, 1.954, 2.481, 3.109",\
                 "0.3777, 0.4345, 0.5582, 0.7214, 0.9309, 1.201, 1.546, 1.979, 2.506, 3.134",\
                 "0.3693, 0.4262, 0.5495, 0.7126, 0.9218, 1.192, 1.537, 1.968, 2.496, 3.124",\
                 "0.3285, 0.3863, 0.51, 0.6728, 0.8816, 1.151, 1.496, 1.928, 2.454, 3.082",\
                 "0.2557, 0.3142, 0.4389, 0.6019, 0.8107, 1.08, 1.425, 1.857, 2.384, 3.011",\
                 "0.1479, 0.2078, 0.3339, 0.4975, 0.7065, 0.976, 1.321, 1.753, 2.28, 2.907",\
                 "0.0026, 0.0643, 0.1921, 0.3565, 0.5657, 0.8353, 1.181, 1.613, 2.139, 2.767");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.21, 0.2631, 0.3991, 0.6271, 0.9765, 1.466, 2.111, 2.923, 3.916, 5.096",\
                 "0.2238, 0.2769, 0.4128, 0.6409, 0.9903, 1.48, 2.124, 2.938, 3.93, 5.111",\
                 "0.2717, 0.3255, 0.462, 0.6901, 1.039, 1.529, 2.172, 2.987, 3.978, 5.161",\
                 "0.3205, 0.3823, 0.5254, 0.755, 1.104, 1.594, 2.238, 3.052, 4.044, 5.224",\
                 "0.3443, 0.4172, 0.5713, 0.8039, 1.154, 1.643, 2.288, 3.098, 4.09, 5.272",\
                 "0.3385, 0.4252, 0.5966, 0.834, 1.184, 1.674, 2.318, 3.131, 4.12, 5.3",\
                 "0.3004, 0.4015, 0.5955, 0.8426, 1.195, 1.685, 2.329, 3.14, 4.131, 5.314",\
                 "0.2274, 0.3435, 0.5627, 0.824, 1.182, 1.674, 2.319, 3.13, 4.12, 5.3",\
                 "0.1177, 0.2493, 0.4963, 0.775, 1.14, 1.639, 2.285, 3.097, 4.087, 5.268",\
                 "-0.0315, 0.1159, 0.3925, 0.6923, 1.067, 1.572, 2.227, 3.041, 4.031, 5.212");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.1055, 0.1576, 0.2821, 0.4673, 0.7491, 1.158, 1.719, 2.439, 3.319, 4.377",\
                 "0.1054, 0.1575, 0.2821, 0.468, 0.7493, 1.158, 1.719, 2.437, 3.32, 4.38",\
                 "0.1035, 0.1554, 0.2803, 0.4671, 0.7484, 1.158, 1.719, 2.439, 3.32, 4.379",\
                 "0.1187, 0.1655, 0.2801, 0.4647, 0.7486, 1.158, 1.72, 2.437, 3.322, 4.38",\
                 "0.122, 0.1662, 0.2802, 0.4642, 0.7452, 1.157, 1.718, 2.439, 3.32, 4.379",\
                 "0.1228, 0.1668, 0.2794, 0.4644, 0.7462, 1.156, 1.714, 2.435, 3.32, 4.38",\
                 "0.1248, 0.1686, 0.28, 0.4628, 0.745, 1.156, 1.714, 2.432, 3.315, 4.371",\
                 "0.1282, 0.1712, 0.281, 0.4642, 0.7446, 1.154, 1.715, 2.435, 3.314, 4.368",\
                 "0.1322, 0.175, 0.2832, 0.4652, 0.7454, 1.156, 1.716, 2.435, 3.317, 4.369",\
                 "0.1372, 0.1792, 0.2868, 0.4668, 0.7462, 1.156, 1.716, 2.435, 3.317, 4.37");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.1034, 0.1597, 0.3475, 0.7288, 1.34, 2.205, 3.345, 4.773, 6.52, 8.607",\
                 "0.1033, 0.1597, 0.3476, 0.729, 1.34, 2.202, 3.341, 4.774, 6.523, 8.603",\
                 "0.1059, 0.1618, 0.348, 0.7287, 1.34, 2.204, 3.34, 4.774, 6.518, 8.609",\
                 "0.1273, 0.1793, 0.3558, 0.731, 1.342, 2.204, 3.344, 4.774, 6.522, 8.607",\
                 "0.1536, 0.206, 0.3706, 0.7354, 1.344, 2.203, 3.346, 4.774, 6.523, 8.607",\
                 "0.1842, 0.2404, 0.3936, 0.7418, 1.344, 2.206, 3.343, 4.769, 6.516, 8.61",\
                 "0.2166, 0.28, 0.4292, 0.7578, 1.349, 2.206, 3.34, 4.775, 6.516, 8.603",\
                 "0.2496, 0.3224, 0.4726, 0.7836, 1.364, 2.213, 3.342, 4.77, 6.519, 8.599",\
                 "0.286, 0.367, 0.5234, 0.8152, 1.388, 2.234, 3.354, 4.773, 6.516, 8.614",\
                 "0.3252, 0.414, 0.5798, 0.8554, 1.414, 2.261, 3.378, 4.79, 6.522, 8.598");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.4484, 0.5062, 0.6383, 0.807, 1.019, 1.29, 1.636, 2.069, 2.596, 3.224",\
                 "0.4626, 0.5205, 0.6526, 0.8212, 1.033, 1.304, 1.65, 2.083, 2.61, 3.238",\
                 "0.5097, 0.5677, 0.6997, 0.8682, 1.08, 1.351, 1.697, 2.13, 2.657, 3.285",\
                 "0.5573, 0.6154, 0.7473, 0.9161, 1.128, 1.4, 1.746, 2.178, 2.705, 3.333",\
                 "0.585, 0.6431, 0.7754, 0.9445, 1.156, 1.428, 1.774, 2.206, 2.734, 3.361",\
                 "0.59, 0.6478, 0.7805, 0.9497, 1.162, 1.433, 1.78, 2.212, 2.74, 3.368",\
                 "0.5668, 0.625, 0.7584, 0.9283, 1.141, 1.413, 1.759, 2.191, 2.718, 3.346",\
                 "0.513, 0.5709, 0.7055, 0.8765, 1.09, 1.362, 1.708, 2.14, 2.667, 3.295",\
                 "0.4262, 0.4843, 0.6198, 0.7915, 1.005, 1.277, 1.624, 2.056, 2.583, 3.211",\
                 "0.3036, 0.3621, 0.4989, 0.6716, 0.8858, 1.158, 1.505, 1.937, 2.464, 3.093");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.5326, 0.5879, 0.7274, 0.9582, 1.309, 1.801, 2.446, 3.257, 4.248, 5.432",\
                 "0.5478, 0.6032, 0.7427, 0.9737, 1.325, 1.816, 2.462, 3.273, 4.263, 5.447",\
                 "0.6147, 0.6701, 0.8094, 1.04, 1.392, 1.882, 2.528, 3.342, 4.334, 5.517",\
                 "0.74, 0.7953, 0.9348, 1.166, 1.517, 2.008, 2.653, 3.467, 4.46, 5.642",\
                 "0.8987, 0.9546, 1.094, 1.325, 1.677, 2.168, 2.814, 3.625, 4.617, 5.797",\
                 "1.091, 1.148, 1.288, 1.519, 1.87, 2.361, 3.007, 3.82, 4.812, 5.993",\
                 "1.32, 1.377, 1.517, 1.748, 2.1, 2.59, 3.235, 4.048, 5.041, 6.222",\
                 "1.583, 1.641, 1.782, 2.014, 2.365, 2.857, 3.501, 4.313, 5.303, 6.485",\
                 "1.883, 1.941, 2.084, 2.316, 2.668, 3.159, 3.804, 4.616, 5.606, 6.786",\
                 "2.22, 2.28, 2.424, 2.656, 3.008, 3.499, 4.144, 4.956, 5.946, 7.127");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.1137, 0.1688, 0.2901, 0.4709, 0.7513, 1.159, 1.719, 2.439, 3.323, 4.379",\
                 "0.1137, 0.169, 0.2899, 0.4712, 0.7508, 1.16, 1.719, 2.438, 3.324, 4.378",\
                 "0.1137, 0.169, 0.29, 0.4716, 0.7508, 1.16, 1.721, 2.438, 3.32, 4.378",\
                 "0.1142, 0.1695, 0.2906, 0.4712, 0.7516, 1.159, 1.72, 2.439, 3.319, 4.376",\
                 "0.1148, 0.1702, 0.2912, 0.471, 0.751, 1.16, 1.719, 2.439, 3.319, 4.376",\
                 "0.1158, 0.1718, 0.2934, 0.4724, 0.751, 1.159, 1.718, 2.439, 3.32, 4.378",\
                 "0.1172, 0.174, 0.2952, 0.475, 0.7526, 1.161, 1.719, 2.435, 3.319, 4.375",\
                 "0.1192, 0.1766, 0.2978, 0.477, 0.7534, 1.161, 1.721, 2.436, 3.318, 4.37",\
                 "0.1214, 0.1796, 0.3018, 0.4794, 0.755, 1.163, 1.721, 2.438, 3.318, 4.373",\
                 "0.124, 0.1824, 0.3058, 0.4822, 0.7566, 1.164, 1.722, 2.437, 3.322, 4.372");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.008223, 0.01782, 0.05151, 0.1159, 0.2161, 0.3567, 0.5418, 0.775, 1.06, 1.399");
          values("0.1033, 0.1595, 0.3468, 0.7289, 1.34, 2.206, 3.34, 4.778, 6.533, 8.605",\
                 "0.1029, 0.1592, 0.3468, 0.7278, 1.342, 2.205, 3.34, 4.779, 6.533, 8.607",\
                 "0.1033, 0.159, 0.347, 0.7276, 1.342, 2.203, 3.345, 4.774, 6.524, 8.608",\
                 "0.1038, 0.1598, 0.3472, 0.7282, 1.341, 2.203, 3.342, 4.774, 6.523, 8.603",\
                 "0.1054, 0.1612, 0.3478, 0.728, 1.34, 2.207, 3.34, 4.773, 6.524, 8.615",\
                 "0.1066, 0.1622, 0.3486, 0.7278, 1.341, 2.204, 3.339, 4.772, 6.524, 8.603",\
                 "0.109, 0.1644, 0.35, 0.7284, 1.34, 2.201, 3.341, 4.768, 6.516, 8.603",\
                 "0.1114, 0.167, 0.352, 0.729, 1.341, 2.203, 3.337, 4.776, 6.519, 8.6",\
                 "0.115, 0.1704, 0.3538, 0.7302, 1.341, 2.202, 3.339, 4.766, 6.522, 8.593",\
                 "0.119, 0.1742, 0.3572, 0.7304, 1.342, 2.205, 3.338, 4.767, 6.511, 8.61");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__invz_8) {
    area : 85.612800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "0.0001225719" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "0.00012342" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0002234232" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0002256309" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002256309" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008841 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2131, 0.2114, 0.214, 0.2274, 0.2551, 0.2987, 0.3613, 0.444, \
                 0.5483, 0.675");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1048, 0.1034, 0.1061, 0.1159, 0.1334, 0.16, 0.1964, 0.2458, \
                 0.3119, 0.395");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.008993 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1713, 0.1687, 0.1719, 0.1881, 0.2195, 0.2681, 0.3351, 0.4228, \
                 0.5318, 0.6634");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05772, 0.05683, 0.05898, 0.07119, 0.09724, 0.1393, 0.1986, 0.2759, \
                 0.3725, 0.4888");
        }
      }
    }

    pin(ZN) {
      capacitance : 0.01515 ;
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 2.79 ;
      max_transition : 8.6 ;
      min_capacitance : 0.01615 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.3309, 0.3307, 0.3307, 0.3306, 0.3306, 0.3307, 0.3308, 0.3309, 0.3309, 0.3309",\
                 "0.3311, 0.3311, 0.331, 0.331, 0.3311, 0.3311, 0.3312, 0.3312, 0.3313, 0.3313",\
                 "0.3373, 0.3373, 0.3372, 0.3372, 0.3372, 0.3373, 0.3374, 0.3374, 0.3374, 0.3374",\
                 "0.3514, 0.3514, 0.3513, 0.3512, 0.3512, 0.3513, 0.3514, 0.3514, 0.3514, 0.3514",\
                 "0.3752, 0.375, 0.3749, 0.3749, 0.3747, 0.3748, 0.3748, 0.3748, 0.3749, 0.3748",\
                 "0.4091, 0.409, 0.4091, 0.409, 0.409, 0.4089, 0.4089, 0.4089, 0.4089, 0.409",\
                 "0.4547, 0.4548, 0.4545, 0.4541, 0.4542, 0.4543, 0.4544, 0.4543, 0.4544, 0.4544",\
                 "0.512, 0.5121, 0.5119, 0.5117, 0.5115, 0.5117, 0.5117, 0.5118, 0.5119, 0.5118",\
                 "0.5813, 0.5815, 0.5814, 0.5813, 0.5812, 0.5813, 0.5813, 0.5814, 0.5814, 0.5815",\
                 "0.6642, 0.6643, 0.6641, 0.6639, 0.6638, 0.6639, 0.6639, 0.6639, 0.664, 0.6641");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.2861, 0.2865, 0.286, 0.2866, 0.2886, 0.2912, 0.2949, 0.3001, 0.3082, 0.3352",\
                 "0.2853, 0.2856, 0.2852, 0.2858, 0.2879, 0.2903, 0.2949, 0.3001, 0.3065, 0.3369",\
                 "0.2871, 0.287, 0.2874, 0.2879, 0.2892, 0.2919, 0.2972, 0.3014, 0.3092, 0.3399",\
                 "0.2979, 0.2987, 0.2983, 0.2994, 0.3004, 0.3041, 0.3077, 0.3126, 0.3187, 0.355",\
                 "0.3216, 0.3224, 0.3209, 0.3245, 0.3252, 0.3282, 0.3328, 0.338, 0.3459, 0.3805",\
                 "0.3608, 0.3606, 0.361, 0.3602, 0.3661, 0.3675, 0.3701, 0.374, 0.3816, 0.4302",\
                 "0.4166, 0.4169, 0.4185, 0.4157, 0.4173, 0.4282, 0.4288, 0.4311, 0.4387, 0.4915",\
                 "0.4904, 0.491, 0.4907, 0.4905, 0.4905, 0.4949, 0.5061, 0.509, 0.5125, 0.5833",\
                 "0.5837, 0.5839, 0.5851, 0.5854, 0.5842, 0.5859, 0.5912, 0.6073, 0.6183, 0.7116",\
                 "0.6969, 0.6971, 0.6985, 0.6992, 0.6981, 0.6988, 0.6991, 0.7083, 0.7431, 0.8898");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.5389, 0.5448, 0.5568, 0.5645, 0.5684, 0.5705, 0.5718, 0.5726, 0.5729, 0.5732",\
                 "0.5375, 0.5437, 0.5557, 0.5634, 0.5674, 0.5695, 0.5706, 0.5713, 0.5718, 0.5721",\
                 "0.5394, 0.5452, 0.5572, 0.5649, 0.5688, 0.571, 0.5721, 0.5729, 0.5733, 0.5737",\
                 "0.5529, 0.5586, 0.5698, 0.5773, 0.5815, 0.5838, 0.585, 0.5858, 0.5862, 0.5866",\
                 "0.5831, 0.5883, 0.5988, 0.6067, 0.6109, 0.6133, 0.6147, 0.6154, 0.616, 0.6164",\
                 "0.6316, 0.6357, 0.6458, 0.6533, 0.6578, 0.6602, 0.6618, 0.6628, 0.6633, 0.6637",\
                 "0.7006, 0.704, 0.7127, 0.7204, 0.725, 0.7277, 0.7294, 0.7304, 0.731, 0.7315",\
                 "0.7906, 0.793, 0.8003, 0.8077, 0.8122, 0.8153, 0.817, 0.8182, 0.819, 0.8194",\
                 "0.9019, 0.9035, 0.9097, 0.9167, 0.9215, 0.9245, 0.9263, 0.9276, 0.9284, 0.9289",\
                 "1.036, 1.037, 1.041, 1.048, 1.053, 1.056, 1.058, 1.059, 1.06, 1.061");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.5124, 0.5185, 0.5283, 0.5381, 0.5445, 0.5512, 0.5588, 0.5617, 0.5708, 0.6022",\
                 "0.5097, 0.5164, 0.5258, 0.5355, 0.5419, 0.5479, 0.5551, 0.559, 0.5665, 0.5977",\
                 "0.5123, 0.519, 0.5282, 0.5374, 0.5445, 0.5505, 0.5588, 0.5623, 0.5708, 0.6047",\
                 "0.5297, 0.535, 0.5454, 0.5546, 0.562, 0.5677, 0.5753, 0.5788, 0.5886, 0.6245",\
                 "0.5632, 0.5681, 0.5786, 0.5874, 0.5947, 0.6017, 0.6099, 0.6135, 0.623, 0.6672",\
                 "0.6165, 0.6211, 0.6291, 0.6403, 0.6468, 0.6545, 0.6594, 0.666, 0.6779, 0.7238",\
                 "0.6908, 0.6955, 0.7028, 0.7099, 0.7221, 0.7287, 0.7353, 0.7425, 0.7499, 0.8168",\
                 "0.7885, 0.793, 0.8002, 0.8079, 0.8161, 0.8284, 0.8356, 0.8396, 0.8476, 0.9474",\
                 "0.9108, 0.9152, 0.9218, 0.9292, 0.9376, 0.9426, 0.9574, 0.9656, 0.9829, 1.134",\
                 "1.059, 1.063, 1.069, 1.077, 1.084, 1.089, 1.099, 1.113, 1.15, 1.404");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.455, 0.474, 0.54, 0.675, 0.883, 1.12, 1.394, 1.708, 2.061, 2.453");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.405, 0.419, 0.488, 0.603, 0.748, 0.928, 1.143, 1.391, 1.672, \
                 1.993");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.2549, 0.3168, 0.4589, 0.644, 0.8715, 1.154, 1.506, 1.942, 2.472, 3.103",\
                 "0.2705, 0.3323, 0.4744, 0.6597, 0.887, 1.169, 1.522, 1.958, 2.488, 3.119",\
                 "0.3265, 0.3881, 0.5299, 0.7149, 0.9421, 1.225, 1.577, 2.013, 2.543, 3.175",\
                 "0.3996, 0.4671, 0.614, 0.8006, 1.029, 1.311, 1.664, 2.1, 2.63, 3.261",\
                 "0.4377, 0.5088, 0.6579, 0.8452, 1.073, 1.355, 1.708, 2.144, 2.674, 3.305",\
                 "0.4366, 0.5082, 0.6584, 0.8455, 1.074, 1.356, 1.708, 2.144, 2.673, 3.305",\
                 "0.4009, 0.4732, 0.6245, 0.8124, 1.04, 1.322, 1.674, 2.11, 2.64, 3.27",\
                 "0.3312, 0.4047, 0.5573, 0.746, 0.9747, 1.257, 1.609, 2.045, 2.575, 3.205",\
                 "0.2261, 0.3007, 0.455, 0.6452, 0.8746, 1.157, 1.51, 1.946, 2.475, 3.106",\
                 "0.084, 0.1601, 0.3162, 0.5073, 0.7375, 1.021, 1.373, 1.809, 2.339, 2.97");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.2801, 0.3447, 0.4959, 0.73, 1.08, 1.569, 2.212, 3.024, 4.013, 5.195",\
                 "0.2943, 0.3589, 0.51, 0.7442, 1.094, 1.583, 2.225, 3.038, 4.026, 5.208",\
                 "0.3445, 0.4092, 0.5606, 0.7947, 1.144, 1.633, 2.278, 3.089, 4.08, 5.26",\
                 "0.4122, 0.4853, 0.6431, 0.8787, 1.228, 1.718, 2.361, 3.171, 4.161, 5.342",\
                 "0.4541, 0.541, 0.7163, 0.9581, 1.308, 1.797, 2.44, 3.252, 4.241, 5.42",\
                 "0.466, 0.5678, 0.765, 1.016, 1.368, 1.857, 2.499, 3.31, 4.299, 5.479",\
                 "0.444, 0.5616, 0.786, 1.051, 1.405, 1.894, 2.537, 3.346, 4.337, 5.514",\
                 "0.3863, 0.5196, 0.7736, 1.058, 1.419, 1.909, 2.552, 3.361, 4.35, 5.529",\
                 "0.2909, 0.4397, 0.725, 1.034, 1.405, 1.898, 2.542, 3.351, 4.34, 5.518",\
                 "0.1556, 0.3203, 0.6369, 0.9736, 1.357, 1.857, 2.506, 3.317, 4.305, 5.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.1247, 0.1836, 0.3242, 0.5207, 0.8024, 1.204, 1.755, 2.469, 3.349, 4.412",\
                 "0.1249, 0.1833, 0.3241, 0.5206, 0.8027, 1.203, 1.754, 2.469, 3.353, 4.409",\
                 "0.1243, 0.1828, 0.3234, 0.5206, 0.803, 1.205, 1.755, 2.468, 3.351, 4.407",\
                 "0.1413, 0.1983, 0.3305, 0.5236, 0.804, 1.206, 1.756, 2.469, 3.35, 4.406",\
                 "0.1552, 0.2104, 0.3358, 0.5258, 0.8036, 1.205, 1.755, 2.469, 3.35, 4.407",\
                 "0.1584, 0.2126, 0.3372, 0.5264, 0.8048, 1.204, 1.752, 2.468, 3.351, 4.41",\
                 "0.161, 0.2152, 0.3392, 0.527, 0.8054, 1.205, 1.755, 2.464, 3.348, 4.406",\
                 "0.1642, 0.218, 0.342, 0.5296, 0.8064, 1.206, 1.753, 2.465, 3.347, 4.402",\
                 "0.168, 0.2222, 0.345, 0.5322, 0.8082, 1.207, 1.753, 2.468, 3.348, 4.404",\
                 "0.1734, 0.2268, 0.349, 0.5352, 0.811, 1.208, 1.757, 2.467, 3.35, 4.406");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.1284, 0.1878, 0.3703, 0.7383, 1.344, 2.206, 3.338, 4.768, 6.515, 8.599",\
                 "0.1285, 0.1876, 0.3705, 0.7384, 1.345, 2.206, 3.337, 4.769, 6.526, 8.596",\
                 "0.1289, 0.1884, 0.371, 0.7394, 1.344, 2.205, 3.338, 4.774, 6.517, 8.596",\
                 "0.1518, 0.2066, 0.3779, 0.7392, 1.344, 2.206, 3.339, 4.774, 6.515, 8.594",\
                 "0.1828, 0.2424, 0.4042, 0.7488, 1.345, 2.205, 3.341, 4.769, 6.516, 8.597",\
                 "0.2158, 0.2832, 0.4384, 0.7634, 1.349, 2.209, 3.34, 4.768, 6.513, 8.592",\
                 "0.2492, 0.327, 0.4846, 0.7868, 1.355, 2.208, 3.34, 4.773, 6.521, 8.589",\
                 "0.2838, 0.3738, 0.5374, 0.8236, 1.371, 2.21, 3.34, 4.766, 6.518, 8.59",\
                 "0.318, 0.4206, 0.6008, 0.869, 1.397, 2.226, 3.344, 4.769, 6.509, 8.602",\
                 "0.3546, 0.4668, 0.665, 0.9266, 1.431, 2.249, 3.365, 4.777, 6.512, 8.587");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.4581, 0.5239, 0.6705, 0.8568, 1.084, 1.367, 1.719, 2.156, 2.686, 3.317",\
                 "0.4723, 0.538, 0.6845, 0.8708, 1.099, 1.381, 1.733, 2.17, 2.7, 3.331",\
                 "0.5174, 0.5831, 0.7296, 0.916, 1.144, 1.426, 1.779, 2.215, 2.745, 3.376",\
                 "0.5575, 0.6235, 0.7702, 0.9567, 1.184, 1.467, 1.82, 2.256, 2.786, 3.417",\
                 "0.5784, 0.6442, 0.7909, 0.9781, 1.206, 1.489, 1.841, 2.278, 2.808, 3.439",\
                 "0.5747, 0.6408, 0.7883, 0.9757, 1.204, 1.487, 1.839, 2.276, 2.806, 3.437",\
                 "0.5437, 0.6101, 0.7583, 0.9465, 1.175, 1.458, 1.811, 2.247, 2.777, 3.408",\
                 "0.4818, 0.5488, 0.6978, 0.8867, 1.116, 1.399, 1.752, 2.188, 2.718, 3.349",\
                 "0.387, 0.4545, 0.6044, 0.7944, 1.024, 1.308, 1.661, 2.097, 2.627, 3.258",\
                 "0.2569, 0.3248, 0.4758, 0.667, 0.8974, 1.181, 1.534, 1.971, 2.501, 3.133");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.5578, 0.6233, 0.7763, 1.012, 1.364, 1.853, 2.499, 3.309, 4.3, 5.48",\
                 "0.573, 0.6385, 0.7915, 1.028, 1.379, 1.869, 2.514, 3.323, 4.314, 5.492",\
                 "0.6398, 0.7053, 0.8582, 1.094, 1.446, 1.935, 2.581, 3.392, 4.383, 5.563",\
                 "0.7596, 0.8253, 0.9784, 1.215, 1.566, 2.056, 2.701, 3.51, 4.504, 5.684",\
                 "0.9099, 0.9757, 1.129, 1.365, 1.717, 2.207, 2.852, 3.663, 4.655, 5.835",\
                 "1.095, 1.161, 1.314, 1.551, 1.903, 2.393, 3.037, 3.849, 4.84, 6.02",\
                 "1.314, 1.38, 1.534, 1.771, 2.123, 2.613, 3.256, 4.069, 5.058, 6.24",\
                 "1.567, 1.635, 1.79, 2.026, 2.378, 2.869, 3.513, 4.323, 5.311, 6.491",\
                 "1.858, 1.926, 2.081, 2.319, 2.671, 3.161, 3.805, 4.615, 5.604, 6.783",\
                 "2.185, 2.254, 2.411, 2.649, 3.001, 3.492, 4.136, 4.946, 5.935, 7.114");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.1267, 0.1843, 0.3229, 0.5193, 0.8004, 1.204, 1.754, 2.469, 3.354, 4.41",\
                 "0.1266, 0.1845, 0.3223, 0.5184, 0.8007, 1.203, 1.755, 2.468, 3.35, 4.408",\
                 "0.1268, 0.1844, 0.3231, 0.5187, 0.8008, 1.204, 1.755, 2.47, 3.35, 4.411",\
                 "0.1275, 0.1851, 0.3232, 0.5194, 0.8008, 1.204, 1.755, 2.468, 3.353, 4.409",\
                 "0.1284, 0.1862, 0.3246, 0.5188, 0.801, 1.204, 1.755, 2.468, 3.35, 4.412",\
                 "0.13, 0.1878, 0.3254, 0.52, 0.8016, 1.203, 1.754, 2.468, 3.35, 4.41",\
                 "0.1322, 0.1908, 0.3282, 0.5222, 0.8022, 1.204, 1.754, 2.466, 3.351, 4.409",\
                 "0.1346, 0.1934, 0.3306, 0.5242, 0.8036, 1.206, 1.754, 2.467, 3.35, 4.405",\
                 "0.1372, 0.1964, 0.333, 0.5258, 0.8052, 1.206, 1.756, 2.467, 3.351, 4.407",\
                 "0.1398, 0.2, 0.3364, 0.5288, 0.807, 1.207, 1.757, 2.469, 3.352, 4.407");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.01615, 0.0353, 0.1025, 0.2308, 0.4308, 0.7113, 1.08, 1.546, 2.113, 2.79");
          values("0.1227, 0.1825, 0.367, 0.7378, 1.343, 2.205, 3.337, 4.77, 6.516, 8.592",\
                 "0.1224, 0.1828, 0.367, 0.7377, 1.342, 2.203, 3.343, 4.773, 6.515, 8.603",\
                 "0.1223, 0.1829, 0.367, 0.7368, 1.344, 2.206, 3.339, 4.774, 6.517, 8.595",\
                 "0.1228, 0.1824, 0.3676, 0.738, 1.344, 2.204, 3.339, 4.771, 6.517, 8.598",\
                 "0.124, 0.1834, 0.368, 0.737, 1.344, 2.206, 3.339, 4.771, 6.516, 8.594",\
                 "0.125, 0.1848, 0.3684, 0.7376, 1.343, 2.203, 3.339, 4.767, 6.517, 8.59",\
                 "0.1264, 0.1862, 0.37, 0.7388, 1.343, 2.203, 3.336, 4.773, 6.52, 8.596",\
                 "0.1286, 0.1878, 0.372, 0.7384, 1.344, 2.204, 3.336, 4.764, 6.517, 8.599",\
                 "0.131, 0.19, 0.3726, 0.7392, 1.344, 2.203, 3.337, 4.763, 6.516, 8.584",\
                 "0.1342, 0.1924, 0.3758, 0.7406, 1.345, 2.205, 3.338, 4.765, 6.505, 8.596");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__invz_12) {
    area : 118.540800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "0.0001562253" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "0.0001574958" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.0003018609" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.0003053787" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003053787" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008841 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2611, 0.2594, 0.2619, 0.2746, 0.3013, 0.3439, 0.4047, 0.4853, \
                 0.5872, 0.7121");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1055, 0.104, 0.1067, 0.1163, 0.1338, 0.1601, 0.1961, 0.2433, \
                 0.3062, 0.3869");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.01337 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.2652, 0.2693, 0.2935, 0.3403, 0.4129, 0.5133, 0.6443, \
                 0.808, 1.005");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0902, 0.0888, 0.09212, 0.1098, 0.1488, 0.2114, 0.2997, 0.4156, \
                 0.5601, 0.7346");
        }
      }
    }

    pin(ZN) {
      capacitance : 0.02352 ;
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 4.18 ;
      max_transition : 8.6 ;
      min_capacitance : 0.02452 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.4719, 0.4715, 0.4716, 0.4713, 0.4713, 0.4714, 0.4716, 0.4718, 0.4718, 0.4718",\
                 "0.472, 0.4719, 0.4719, 0.4718, 0.4717, 0.4719, 0.472, 0.472, 0.4722, 0.4722",\
                 "0.4781, 0.4778, 0.4778, 0.4777, 0.4778, 0.4779, 0.478, 0.478, 0.4781, 0.4781",\
                 "0.4922, 0.4918, 0.4916, 0.4914, 0.4913, 0.4914, 0.4915, 0.4915, 0.4916, 0.4916",\
                 "0.5154, 0.5153, 0.5152, 0.5151, 0.5149, 0.515, 0.515, 0.5151, 0.5151, 0.5151",\
                 "0.5493, 0.549, 0.5493, 0.5491, 0.5492, 0.5491, 0.5491, 0.5491, 0.5491, 0.5491",\
                 "0.5947, 0.5945, 0.5945, 0.5943, 0.5941, 0.5943, 0.5944, 0.5944, 0.5944, 0.5944",\
                 "0.6518, 0.6516, 0.6515, 0.6513, 0.6511, 0.6511, 0.6513, 0.6513, 0.6514, 0.6514",\
                 "0.7211, 0.7215, 0.7213, 0.7209, 0.7208, 0.7209, 0.7209, 0.721, 0.7211, 0.7212",\
                 "0.8035, 0.8036, 0.8036, 0.8034, 0.8032, 0.8031, 0.8033, 0.8033, 0.8033, 0.8035");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.4317, 0.4325, 0.4328, 0.432, 0.435, 0.4389, 0.4445, 0.454, 0.4637, 0.4999",\
                 "0.4309, 0.4311, 0.432, 0.4311, 0.4344, 0.4375, 0.4462, 0.453, 0.4637, 0.4993",\
                 "0.4328, 0.4332, 0.4341, 0.4337, 0.4354, 0.4412, 0.4455, 0.4569, 0.4637, 0.5081",\
                 "0.4431, 0.4436, 0.4429, 0.4439, 0.4462, 0.4511, 0.4584, 0.4655, 0.4703, 0.5257",\
                 "0.4654, 0.4658, 0.4666, 0.47, 0.471, 0.4761, 0.4808, 0.4903, 0.5021, 0.5553",\
                 "0.5024, 0.5029, 0.5043, 0.503, 0.5103, 0.5128, 0.5194, 0.5286, 0.5338, 0.6025",\
                 "0.5566, 0.5579, 0.5581, 0.5561, 0.5598, 0.5705, 0.5755, 0.5781, 0.5908, 0.6705",\
                 "0.6285, 0.6295, 0.6307, 0.6304, 0.631, 0.6345, 0.6537, 0.6591, 0.6642, 0.7719",\
                 "0.7199, 0.7203, 0.7224, 0.7238, 0.7228, 0.7213, 0.7329, 0.7588, 0.7691, 0.9264",\
                 "0.8315, 0.8323, 0.8332, 0.8333, 0.8353, 0.8329, 0.8346, 0.8537, 0.9074, 1.139");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.7778, 0.7896, 0.8095, 0.8208, 0.8264, 0.8292, 0.8309, 0.8318, 0.8324, 0.8328",\
                 "0.7764, 0.7878, 0.8078, 0.8195, 0.825, 0.8278, 0.8294, 0.8304, 0.8311, 0.8315",\
                 "0.779, 0.7902, 0.8096, 0.8216, 0.827, 0.8301, 0.8318, 0.8327, 0.8333, 0.8338",\
                 "0.7982, 0.8087, 0.8275, 0.8395, 0.8453, 0.8484, 0.8503, 0.8514, 0.8521, 0.8526",\
                 "0.8417, 0.8513, 0.8694, 0.8815, 0.8879, 0.8912, 0.8932, 0.8944, 0.8952, 0.8956",\
                 "0.9121, 0.921, 0.9379, 0.9503, 0.9573, 0.961, 0.9629, 0.9643, 0.9652, 0.9657",\
                 "1.012, 1.02, 1.036, 1.049, 1.056, 1.06, 1.062, 1.064, 1.065, 1.066",\
                 "1.143, 1.15, 1.165, 1.177, 1.185, 1.19, 1.192, 1.194, 1.195, 1.196",\
                 "1.308, 1.314, 1.327, 1.339, 1.347, 1.352, 1.355, 1.357, 1.358, 1.359",\
                 "1.504, 1.509, 1.522, 1.534, 1.542, 1.547, 1.551, 1.552, 1.554, 1.555");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.7759, 0.7848, 0.8011, 0.8131, 0.8233, 0.8334, 0.8414, 0.8542, 0.8599, 0.9076",\
                 "0.7726, 0.7809, 0.7975, 0.8098, 0.82, 0.8291, 0.8374, 0.8436, 0.8566, 0.9005",\
                 "0.7761, 0.7846, 0.801, 0.8128, 0.823, 0.8331, 0.8414, 0.8538, 0.8599, 0.9087",\
                 "0.8008, 0.8095, 0.8245, 0.8375, 0.8484, 0.8578, 0.8648, 0.8789, 0.8917, 0.9427",\
                 "0.8506, 0.8586, 0.872, 0.8863, 0.8972, 0.9077, 0.915, 0.9228, 0.9346, 1.004",\
                 "0.9288, 0.9351, 0.9492, 0.9636, 0.9731, 0.9865, 0.9935, 1.005, 1.021, 1.099",\
                 "1.039, 1.046, 1.058, 1.068, 1.086, 1.094, 1.104, 1.116, 1.13, 1.232",\
                 "1.184, 1.191, 1.203, 1.213, 1.224, 1.241, 1.255, 1.264, 1.275, 1.427",\
                 "1.366, 1.372, 1.383, 1.395, 1.402, 1.414, 1.435, 1.448, 1.471, 1.704",\
                 "1.587, 1.592, 1.602, 1.611, 1.623, 1.633, 1.641, 1.67, 1.723, 2.136");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.651, 0.669, 0.736, 0.869, 1.084, 1.362, 1.668, 2.014, 2.406, \
                 2.84");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.489, 0.504, 0.572, 0.688, 0.834, 1.015, 1.235, 1.489, 1.776, \
                 2.101");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.2943, 0.3635, 0.5214, 0.7255, 0.9699, 1.264, 1.623, 2.059, 2.587, 3.213",\
                 "0.31, 0.3791, 0.5369, 0.7412, 0.986, 1.28, 1.638, 2.075, 2.602, 3.229",\
                 "0.3653, 0.4344, 0.5923, 0.7967, 1.041, 1.335, 1.693, 2.13, 2.657, 3.284",\
                 "0.4441, 0.5184, 0.6807, 0.8871, 1.132, 1.427, 1.785, 2.222, 2.75, 3.376",\
                 "0.4906, 0.5724, 0.7445, 0.9537, 1.2, 1.495, 1.853, 2.29, 2.817, 3.444",\
                 "0.4967, 0.5794, 0.7527, 0.9628, 1.209, 1.504, 1.862, 2.299, 2.826, 3.452",\
                 "0.4647, 0.5486, 0.7229, 0.9336, 1.18, 1.475, 1.834, 2.27, 2.797, 3.423",\
                 "0.3971, 0.4821, 0.6579, 0.8698, 1.117, 1.413, 1.771, 2.208, 2.735, 3.36",\
                 "0.2946, 0.3808, 0.5586, 0.7718, 1.02, 1.316, 1.675, 2.112, 2.639, 3.265",\
                 "0.1535, 0.241, 0.4207, 0.6355, 0.8851, 1.181, 1.541, 1.977, 2.504, 3.131");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.3472, 0.4234, 0.5931, 0.8379, 1.19, 1.679, 2.323, 3.134, 4.125, 5.305",\
                 "0.3614, 0.4377, 0.6073, 0.8521, 1.204, 1.694, 2.337, 3.148, 4.139, 5.32",\
                 "0.4115, 0.4877, 0.6573, 0.902, 1.255, 1.744, 2.388, 3.199, 4.189, 5.369",\
                 "0.4895, 0.5717, 0.7457, 0.9916, 1.344, 1.834, 2.477, 3.289, 4.279, 5.46",\
                 "0.5461, 0.6443, 0.8396, 1.094, 1.448, 1.937, 2.58, 3.389, 4.381, 5.561",\
                 "0.5711, 0.6853, 0.9071, 1.175, 1.532, 2.021, 2.664, 3.475, 4.462, 5.644",\
                 "0.562, 0.6929, 0.9446, 1.231, 1.593, 2.083, 2.726, 3.535, 4.524, 5.705",\
                 "0.516, 0.6637, 0.9481, 1.259, 1.631, 2.122, 2.764, 3.573, 4.561, 5.74",\
                 "0.4316, 0.5958, 0.9142, 1.254, 1.639, 2.134, 2.777, 3.586, 4.574, 5.752",\
                 "0.3078, 0.4877, 0.8398, 1.212, 1.616, 2.118, 2.763, 3.572, 4.56, 5.738");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.1449, 0.2095, 0.364, 0.5736, 0.8567, 1.249, 1.782, 2.478, 3.345, 4.386",\
                 "0.1449, 0.2095, 0.364, 0.5742, 0.857, 1.25, 1.782, 2.477, 3.346, 4.388",\
                 "0.1445, 0.2091, 0.3638, 0.5749, 0.8574, 1.249, 1.782, 2.478, 3.344, 4.386",\
                 "0.1615, 0.2231, 0.371, 0.5776, 0.8594, 1.251, 1.783, 2.477, 3.342, 4.387",\
                 "0.1832, 0.249, 0.3888, 0.5852, 0.8634, 1.252, 1.784, 2.478, 3.343, 4.388",\
                 "0.191, 0.2538, 0.391, 0.5878, 0.864, 1.251, 1.782, 2.476, 3.345, 4.388",\
                 "0.1942, 0.2566, 0.3936, 0.5894, 0.8648, 1.253, 1.781, 2.473, 3.343, 4.389",\
                 "0.1974, 0.2602, 0.3974, 0.592, 0.867, 1.254, 1.784, 2.475, 3.342, 4.383",\
                 "0.2012, 0.2638, 0.4008, 0.5958, 0.87, 1.256, 1.784, 2.478, 3.342, 4.384",\
                 "0.2058, 0.2686, 0.4054, 0.5988, 0.8742, 1.259, 1.787, 2.477, 3.344, 4.388");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.1561, 0.2205, 0.4044, 0.7579, 1.353, 2.21, 3.346, 4.777, 6.518, 8.599",\
                 "0.1565, 0.2206, 0.4035, 0.7594, 1.353, 2.21, 3.346, 4.776, 6.518, 8.6",\
                 "0.1566, 0.2207, 0.4035, 0.7583, 1.353, 2.208, 3.346, 4.78, 6.517, 8.596",\
                 "0.1745, 0.2331, 0.4084, 0.7596, 1.353, 2.208, 3.345, 4.771, 6.526, 8.601",\
                 "0.21, 0.276, 0.4412, 0.772, 1.356, 2.209, 3.341, 4.771, 6.525, 8.603",\
                 "0.2456, 0.3222, 0.485, 0.7978, 1.363, 2.212, 3.344, 4.78, 6.515, 8.597",\
                 "0.2824, 0.3706, 0.5388, 0.8302, 1.376, 2.214, 3.346, 4.77, 6.511, 8.612",\
                 "0.3202, 0.422, 0.6044, 0.8792, 1.395, 2.221, 3.346, 4.773, 6.515, 8.588",\
                 "0.3564, 0.4714, 0.6728, 0.9386, 1.429, 2.234, 3.349, 4.774, 6.512, 8.591",\
                 "0.3924, 0.5212, 0.744, 1.009, 1.474, 2.259, 3.362, 4.779, 6.515, 8.591");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.5004, 0.5727, 0.7329, 0.9371, 1.181, 1.475, 1.833, 2.27, 2.797, 3.423",\
                 "0.5146, 0.5868, 0.7471, 0.9513, 1.195, 1.489, 1.847, 2.284, 2.811, 3.438",\
                 "0.5599, 0.6321, 0.7924, 0.9967, 1.241, 1.534, 1.893, 2.329, 2.856, 3.483",\
                 "0.6008, 0.6733, 0.8339, 1.039, 1.282, 1.576, 1.934, 2.371, 2.898, 3.525",\
                 "0.6221, 0.6942, 0.8551, 1.06, 1.304, 1.598, 1.956, 2.393, 2.92, 3.547",\
                 "0.6185, 0.6909, 0.8521, 1.058, 1.302, 1.596, 1.954, 2.391, 2.919, 3.545",\
                 "0.5873, 0.6601, 0.822, 1.028, 1.273, 1.567, 1.925, 2.362, 2.889, 3.516",\
                 "0.5248, 0.5979, 0.7605, 0.9675, 1.213, 1.507, 1.866, 2.303, 2.83, 3.457",\
                 "0.4301, 0.5038, 0.6674, 0.875, 1.121, 1.415, 1.774, 2.211, 2.739, 3.365",\
                 "0.2998, 0.3745, 0.5387, 0.7471, 0.9932, 1.288, 1.647, 2.085, 2.612, 3.239");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.6275, 0.7041, 0.8746, 1.121, 1.475, 1.965, 2.609, 3.421, 4.408, 5.59",\
                 "0.6426, 0.7193, 0.8899, 1.136, 1.49, 1.98, 2.624, 3.435, 4.423, 5.603",\
                 "0.7091, 0.7857, 0.9564, 1.202, 1.556, 2.047, 2.691, 3.502, 4.49, 5.67",\
                 "0.8291, 0.9057, 1.076, 1.322, 1.676, 2.167, 2.811, 3.623, 4.612, 5.792",\
                 "0.9798, 1.057, 1.227, 1.474, 1.828, 2.318, 2.962, 3.773, 4.765, 5.939",\
                 "1.164, 1.241, 1.412, 1.659, 2.013, 2.504, 3.148, 3.96, 4.95, 6.127",\
                 "1.384, 1.462, 1.633, 1.88, 2.234, 2.724, 3.368, 4.179, 5.169, 6.349",\
                 "1.64, 1.718, 1.889, 2.136, 2.491, 2.982, 3.626, 4.435, 5.426, 6.606",\
                 "1.932, 2.011, 2.183, 2.431, 2.785, 3.276, 3.92, 4.73, 5.719, 6.898",\
                 "2.264, 2.343, 2.517, 2.765, 3.12, 3.61, 4.255, 5.066, 6.054, 7.232");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.1414, 0.2043, 0.3577, 0.5679, 0.8527, 1.246, 1.781, 2.476, 3.342, 4.388",\
                 "0.1413, 0.2042, 0.3578, 0.5687, 0.8526, 1.247, 1.781, 2.477, 3.343, 4.387",\
                 "0.1413, 0.2044, 0.3579, 0.5686, 0.8536, 1.247, 1.781, 2.476, 3.342, 4.39",\
                 "0.1427, 0.205, 0.3588, 0.5684, 0.8532, 1.247, 1.781, 2.476, 3.346, 4.388",\
                 "0.143, 0.2062, 0.3596, 0.5682, 0.853, 1.247, 1.782, 2.476, 3.346, 4.386",\
                 "0.145, 0.2076, 0.361, 0.57, 0.8538, 1.247, 1.781, 2.476, 3.346, 4.387",\
                 "0.1468, 0.21, 0.3624, 0.5712, 0.8544, 1.249, 1.78, 2.474, 3.341, 4.392",\
                 "0.1492, 0.2122, 0.364, 0.5726, 0.8562, 1.249, 1.781, 2.477, 3.341, 4.385",\
                 "0.1518, 0.2152, 0.3668, 0.5746, 0.8576, 1.249, 1.782, 2.476, 3.342, 4.385",\
                 "0.1544, 0.2178, 0.3694, 0.5762, 0.859, 1.251, 1.782, 2.476, 3.343, 4.387");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02452, 0.0532, 0.1539, 0.3461, 0.6456, 1.066, 1.619, 2.316, 3.166, 4.18");
          values("0.1473, 0.2117, 0.3981, 0.756, 1.353, 2.207, 3.344, 4.771, 6.517, 8.599",\
                 "0.1469, 0.2116, 0.3982, 0.756, 1.353, 2.209, 3.346, 4.777, 6.518, 8.601",\
                 "0.1477, 0.2117, 0.3984, 0.7558, 1.352, 2.208, 3.345, 4.773, 6.516, 8.601",\
                 "0.1472, 0.212, 0.3986, 0.7572, 1.353, 2.207, 3.347, 4.773, 6.52, 8.6",\
                 "0.1482, 0.2128, 0.3988, 0.7564, 1.353, 2.21, 3.346, 4.777, 6.519, 8.607",\
                 "0.1494, 0.2146, 0.3996, 0.7564, 1.352, 2.209, 3.342, 4.772, 6.519, 8.61",\
                 "0.1516, 0.2168, 0.4008, 0.7574, 1.351, 2.209, 3.341, 4.776, 6.524, 8.597",\
                 "0.1522, 0.218, 0.402, 0.7578, 1.353, 2.208, 3.341, 4.774, 6.517, 8.609",\
                 "0.154, 0.2186, 0.4046, 0.7596, 1.354, 2.21, 3.34, 4.768, 6.522, 8.589",\
                 "0.1566, 0.2208, 0.4046, 0.7594, 1.355, 2.209, 3.344, 4.773, 6.511, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__invz_16) {
    area : 153.664000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&!I" ;
      value : "0.0001898358" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!EN&I" ;
      value : "0.0001915287" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&!I" ;
      value : "0.000380292" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "EN&I" ;
      value : "0.00038511" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.00038511" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(EN) {
      capacitance : 0.008803 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.3048, 0.3032, 0.3057, 0.3175, 0.3432, 0.3848, 0.4438, 0.523, \
                 0.6231, 0.746");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        when : "I" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1078, 0.1064, 0.109, 0.1185, 0.1359, 0.162, 0.1977, 0.244, 0.3039, \
                 0.3818");
        }

        rise_power(scalar) {
          values("0");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }
    }

    pin(I) {
      capacitance : 0.01769 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!EN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.3451, 0.34, 0.3459, 0.3783, 0.4406, 0.5376, 0.6715, 0.8465, \
                 1.064, 1.328");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1273, 0.1256, 0.1297, 0.1535, 0.2053, 0.289, 0.4072, 0.5614, \
                 0.754, 0.9866");
        }
      }
    }

    pin(ZN) {
      capacitance : 0.03263 ;
      direction : output ;
      function : "(!I)" ;
      max_capacitance : 5.56 ;
      max_transition : 8.6 ;
      min_capacitance : 0.03363 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
      three_state : "(!EN)" ;

      internal_power() {
        related_pin : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.6143, 0.6144, 0.6143, 0.6141, 0.6142, 0.614, 0.6141, 0.6143, 0.6143, 0.6143",\
                 "0.6146, 0.6148, 0.6146, 0.6144, 0.6144, 0.6144, 0.6145, 0.6146, 0.6146, 0.6147",\
                 "0.6203, 0.6202, 0.6203, 0.62, 0.62, 0.6201, 0.6202, 0.6203, 0.6203, 0.6204",\
                 "0.6342, 0.634, 0.6339, 0.6336, 0.6335, 0.6335, 0.6337, 0.6337, 0.6338, 0.6338",\
                 "0.6576, 0.6571, 0.6571, 0.6567, 0.6566, 0.6566, 0.6567, 0.6569, 0.6569, 0.657",\
                 "0.6907, 0.6911, 0.6908, 0.6907, 0.6907, 0.6906, 0.6906, 0.6907, 0.6907, 0.6908",\
                 "0.7361, 0.7358, 0.7359, 0.7357, 0.7355, 0.7356, 0.7357, 0.7357, 0.7356, 0.7356",\
                 "0.7932, 0.7928, 0.7929, 0.7928, 0.7926, 0.7926, 0.7927, 0.7929, 0.7929, 0.7928",\
                 "0.8621, 0.8625, 0.8624, 0.8622, 0.8621, 0.8619, 0.862, 0.8621, 0.8622, 0.8623",\
                 "0.9447, 0.9448, 0.9447, 0.9444, 0.9442, 0.9441, 0.9442, 0.9442, 0.9443, 0.9444");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.5866, 0.5875, 0.5881, 0.5875, 0.591, 0.5973, 0.6031, 0.6128, 0.6313, 0.6783",\
                 "0.5857, 0.5862, 0.5886, 0.5861, 0.5886, 0.5963, 0.6048, 0.6128, 0.6346, 0.6918",\
                 "0.5873, 0.5884, 0.5897, 0.5878, 0.5923, 0.5976, 0.6051, 0.6161, 0.6313, 0.6925",\
                 "0.5973, 0.5983, 0.5988, 0.597, 0.6005, 0.6075, 0.6137, 0.6194, 0.6341, 0.7038",\
                 "0.6185, 0.6195, 0.6212, 0.6224, 0.6266, 0.6332, 0.6391, 0.6458, 0.6737, 0.7491",\
                 "0.6546, 0.6554, 0.6546, 0.6564, 0.6636, 0.6672, 0.6747, 0.6854, 0.7028, 0.7954",\
                 "0.7065, 0.7071, 0.7098, 0.7076, 0.7111, 0.7237, 0.7288, 0.7402, 0.7545, 0.8804",\
                 "0.7769, 0.7772, 0.7797, 0.7792, 0.7791, 0.789, 0.8094, 0.8128, 0.8288, 0.9817",\
                 "0.8664, 0.8672, 0.8676, 0.8673, 0.8715, 0.8715, 0.8853, 0.9118, 0.9378, 1.155",\
                 "0.976, 0.9764, 0.9806, 0.9792, 0.9797, 0.9781, 0.9813, 1.003, 1.079, 1.423");
        }
      }

      internal_power() {
        related_pin : "I" ;
        when : "EN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("1.018, 1.035, 1.061, 1.076, 1.083, 1.087, 1.089, 1.09, 1.091, 1.091",\
                 "1.017, 1.033, 1.059, 1.075, 1.081, 1.085, 1.087, 1.088, 1.089, 1.089",\
                 "1.02, 1.036, 1.062, 1.077, 1.084, 1.088, 1.09, 1.091, 1.092, 1.092",\
                 "1.045, 1.06, 1.085, 1.101, 1.108, 1.112, 1.114, 1.115, 1.116, 1.117",\
                 "1.101, 1.115, 1.139, 1.156, 1.163, 1.168, 1.171, 1.172, 1.173, 1.174",\
                 "1.193, 1.206, 1.23, 1.246, 1.255, 1.26, 1.262, 1.264, 1.265, 1.266",\
                 "1.323, 1.335, 1.358, 1.375, 1.385, 1.39, 1.393, 1.395, 1.396, 1.397",\
                 "1.495, 1.506, 1.528, 1.545, 1.555, 1.56, 1.564, 1.566, 1.567, 1.568",\
                 "1.709, 1.72, 1.741, 1.757, 1.767, 1.774, 1.777, 1.78, 1.781, 1.783",\
                 "1.969, 1.978, 1.997, 2.015, 2.025, 2.032, 2.036, 2.039, 2.04, 2.041");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("1.027, 1.041, 1.061, 1.075, 1.088, 1.1, 1.109, 1.121, 1.133, 1.195",\
                 "1.022, 1.035, 1.055, 1.07, 1.083, 1.096, 1.106, 1.115, 1.133, 1.195",\
                 "1.027, 1.039, 1.061, 1.075, 1.087, 1.099, 1.11, 1.121, 1.143, 1.205",\
                 "1.06, 1.071, 1.092, 1.106, 1.119, 1.131, 1.144, 1.154, 1.172, 1.247",\
                 "1.125, 1.135, 1.153, 1.169, 1.182, 1.195, 1.205, 1.217, 1.238, 1.322",\
                 "1.228, 1.237, 1.256, 1.273, 1.286, 1.3, 1.313, 1.322, 1.349, 1.455",\
                 "1.373, 1.382, 1.397, 1.412, 1.434, 1.446, 1.455, 1.466, 1.486, 1.632",\
                 "1.564, 1.572, 1.589, 1.603, 1.614, 1.641, 1.649, 1.658, 1.678, 1.89",\
                 "1.805, 1.812, 1.828, 1.84, 1.849, 1.865, 1.893, 1.911, 1.943, 2.258",\
                 "2.096, 2.104, 2.118, 2.128, 2.141, 2.152, 2.165, 2.205, 2.271, 2.828");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : negative_unate ;
        timing_type : three_state_disable ;

        cell_fall(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.842, 0.861, 0.929, 1.059, 1.273, 1.573, 1.913, 2.286, 2.705, \
                 3.171");
        }

        cell_rise(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.578, 0.592, 0.66, 0.774, 0.92, 1.101, 1.319, 1.574, 1.861, 2.187");
        }

        fall_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }

        rise_transition(tmg_ntin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, 0, 0, 0, 0, 0, 0, 0, 0, 0");
        }
      }

      timing() {
        related_pin : "EN" ;
        timing_sense : positive_unate ;
        timing_type : three_state_enable ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.3357, 0.4113, 0.5843, 0.8076, 1.071, 1.38, 1.75, 2.193, 2.725, 3.354",\
                 "0.3513, 0.427, 0.5998, 0.823, 1.086, 1.396, 1.765, 2.209, 2.74, 3.369",\
                 "0.4061, 0.4818, 0.6547, 0.8778, 1.141, 1.45, 1.82, 2.264, 2.795, 3.424",\
                 "0.49, 0.5696, 0.7457, 0.9706, 1.235, 1.545, 1.915, 2.359, 2.89, 3.519",\
                 "0.5454, 0.6352, 0.8268, 1.058, 1.325, 1.636, 2.006, 2.45, 2.981, 3.61",\
                 "0.5594, 0.6526, 0.8465, 1.078, 1.345, 1.656, 2.026, 2.47, 3.002, 3.63",\
                 "0.5331, 0.627, 0.8222, 1.055, 1.322, 1.634, 2.004, 2.448, 2.978, 3.607",\
                 "0.4696, 0.5643, 0.7615, 0.9959, 1.264, 1.576, 1.946, 2.39, 2.921, 3.549",\
                 "0.3686, 0.4654, 0.6647, 0.9007, 1.17, 1.482, 1.853, 2.297, 2.828, 3.457",\
                 "0.2308, 0.3279, 0.5291, 0.7669, 1.037, 1.351, 1.722, 2.167, 2.698, 3.326");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.4113, 0.4975, 0.6853, 0.9425, 1.299, 1.789, 2.431, 3.242, 4.23, 5.41",\
                 "0.4256, 0.512, 0.6995, 0.9569, 1.314, 1.803, 2.446, 3.254, 4.245, 5.422",\
                 "0.4754, 0.5618, 0.7491, 1.007, 1.364, 1.853, 2.496, 3.304, 4.294, 5.472",\
                 "0.5589, 0.6487, 0.8389, 1.097, 1.454, 1.944, 2.586, 3.397, 4.384, 5.564",\
                 "0.6294, 0.7356, 0.9477, 1.214, 1.573, 2.062, 2.704, 3.514, 4.504, 5.682",\
                 "0.6664, 0.7895, 1.031, 1.315, 1.679, 2.169, 2.811, 3.621, 4.61, 5.789",\
                 "0.6685, 0.8094, 1.083, 1.389, 1.762, 2.253, 2.895, 3.703, 4.692, 5.869",\
                 "0.6335, 0.7919, 1.1, 1.435, 1.819, 2.313, 2.955, 3.762, 4.749, 5.925",\
                 "0.5591, 0.7348, 1.079, 1.446, 1.848, 2.346, 2.988, 3.796, 4.782, 5.958",\
                 "0.4441, 0.6364, 1.017, 1.42, 1.844, 2.351, 2.995, 3.803, 4.789, 5.965");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.1659, 0.2358, 0.4032, 0.6287, 0.9198, 1.311, 1.835, 2.522, 3.381, 4.42",\
                 "0.1659, 0.2359, 0.4033, 0.6291, 0.919, 1.31, 1.836, 2.52, 3.379, 4.418",\
                 "0.1658, 0.2357, 0.4032, 0.6283, 0.9188, 1.312, 1.836, 2.52, 3.377, 4.419",\
                 "0.1805, 0.2466, 0.4086, 0.6328, 0.9222, 1.313, 1.837, 2.521, 3.381, 4.418",\
                 "0.2088, 0.2812, 0.4386, 0.648, 0.9306, 1.318, 1.839, 2.523, 3.378, 4.42",\
                 "0.2228, 0.2932, 0.4442, 0.65, 0.9318, 1.316, 1.838, 2.522, 3.382, 4.424",\
                 "0.2274, 0.2974, 0.4474, 0.6532, 0.9346, 1.318, 1.84, 2.519, 3.379, 4.422",\
                 "0.2308, 0.301, 0.4518, 0.6568, 0.9366, 1.32, 1.841, 2.521, 3.376, 4.415",\
                 "0.2348, 0.3046, 0.4564, 0.661, 0.939, 1.323, 1.841, 2.521, 3.376, 4.416",\
                 "0.2386, 0.309, 0.4606, 0.6658, 0.9438, 1.326, 1.844, 2.523, 3.381, 4.42");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.1825, 0.2536, 0.4399, 0.7846, 1.364, 2.213, 3.347, 4.775, 6.522, 8.609",\
                 "0.1828, 0.2524, 0.4395, 0.7859, 1.366, 2.213, 3.344, 4.773, 6.515, 8.607",\
                 "0.1828, 0.2525, 0.4389, 0.785, 1.364, 2.212, 3.346, 4.773, 6.52, 8.596",\
                 "0.1947, 0.2602, 0.4432, 0.7856, 1.365, 2.213, 3.347, 4.781, 6.519, 8.603",\
                 "0.235, 0.3064, 0.4736, 0.7992, 1.367, 2.214, 3.347, 4.774, 6.524, 8.593",\
                 "0.274, 0.3566, 0.528, 0.8334, 1.38, 2.216, 3.344, 4.772, 6.525, 8.597",\
                 "0.314, 0.4088, 0.59, 0.8744, 1.4, 2.223, 3.345, 4.773, 6.523, 8.599",\
                 "0.355, 0.463, 0.6602, 0.933, 1.427, 2.234, 3.348, 4.774, 6.514, 8.597",\
                 "0.3954, 0.5178, 0.7338, 1.004, 1.469, 2.249, 3.355, 4.773, 6.512, 8.594",\
                 "0.4342, 0.5706, 0.8142, 1.085, 1.523, 2.277, 3.367, 4.778, 6.514, 8.587");
        }
      }

      timing() {
        related_pin : "I" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.5406, 0.6188, 0.7929, 1.015, 1.277, 1.586, 1.955, 2.399, 2.93, 3.559",\
                 "0.5547, 0.6329, 0.8071, 1.029, 1.291, 1.6, 1.969, 2.413, 2.944, 3.573",\
                 "0.5994, 0.6776, 0.8518, 1.074, 1.336, 1.645, 2.014, 2.458, 2.989, 3.618",\
                 "0.639, 0.7171, 0.8912, 1.114, 1.376, 1.685, 2.054, 2.498, 3.029, 3.658",\
                 "0.6581, 0.7362, 0.9106, 1.133, 1.396, 1.704, 2.074, 2.518, 3.049, 3.678",\
                 "0.6531, 0.7314, 0.9063, 1.129, 1.392, 1.701, 2.071, 2.515, 3.046, 3.675",\
                 "0.6199, 0.6984, 0.8741, 1.098, 1.361, 1.67, 2.04, 2.484, 3.015, 3.644",\
                 "0.5567, 0.6356, 0.8116, 1.036, 1.299, 1.609, 1.979, 2.422, 2.954, 3.583",\
                 "0.4607, 0.54, 0.7168, 0.9416, 1.205, 1.515, 1.885, 2.329, 2.861, 3.489",\
                 "0.3297, 0.4096, 0.5871, 0.8129, 1.077, 1.387, 1.757, 2.202, 2.733, 3.362");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.689, 0.7755, 0.963, 1.221, 1.579, 2.069, 2.712, 3.522, 4.51, 5.687",\
                 "0.7043, 0.7906, 0.9782, 1.236, 1.594, 2.085, 2.728, 3.538, 4.527, 5.707",\
                 "0.7706, 0.8571, 1.045, 1.303, 1.66, 2.151, 2.794, 3.605, 4.593, 5.772",\
                 "0.889, 0.9753, 1.163, 1.421, 1.779, 2.269, 2.913, 3.721, 4.713, 5.89",\
                 "1.037, 1.124, 1.312, 1.57, 1.928, 2.419, 3.062, 3.872, 4.862, 6.041",\
                 "1.221, 1.307, 1.495, 1.754, 2.112, 2.603, 3.246, 4.055, 5.046, 6.222",\
                 "1.439, 1.525, 1.714, 1.973, 2.331, 2.822, 3.465, 4.276, 5.261, 6.444",\
                 "1.693, 1.78, 1.969, 2.228, 2.587, 3.078, 3.72, 4.53, 5.519, 6.699",\
                 "1.985, 2.073, 2.262, 2.522, 2.88, 3.371, 4.014, 4.824, 5.811, 6.988",\
                 "2.317, 2.405, 2.595, 2.855, 3.214, 3.705, 4.349, 5.158, 6.146, 7.322");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.1578, 0.2266, 0.3941, 0.6212, 0.9142, 1.307, 1.834, 2.518, 3.381, 4.418",\
                 "0.158, 0.2266, 0.394, 0.6216, 0.914, 1.308, 1.834, 2.518, 3.381, 4.418",\
                 "0.1581, 0.2267, 0.3942, 0.6212, 0.9142, 1.308, 1.834, 2.518, 3.381, 4.419",\
                 "0.1584, 0.2274, 0.3948, 0.622, 0.9136, 1.308, 1.834, 2.519, 3.378, 4.418",\
                 "0.1596, 0.2282, 0.3952, 0.6218, 0.9144, 1.308, 1.833, 2.52, 3.379, 4.418",\
                 "0.1608, 0.2298, 0.396, 0.6226, 0.9144, 1.307, 1.835, 2.52, 3.378, 4.42",\
                 "0.1626, 0.2314, 0.3976, 0.623, 0.9156, 1.308, 1.833, 2.517, 3.377, 4.418",\
                 "0.1648, 0.233, 0.3994, 0.625, 0.9168, 1.309, 1.836, 2.52, 3.376, 4.417",\
                 "0.1668, 0.2354, 0.4014, 0.6274, 0.9176, 1.31, 1.834, 2.519, 3.378, 4.417",\
                 "0.1696, 0.238, 0.403, 0.6284, 0.9186, 1.311, 1.836, 2.52, 3.379, 4.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.03363, 0.07177, 0.2057, 0.4614, 0.8598, 1.419, 2.154, 3.081, 4.212, 5.56");
          values("0.1713, 0.2418, 0.4319, 0.781, 1.363, 2.213, 3.347, 4.774, 6.519, 8.595",\
                 "0.1711, 0.2416, 0.4317, 0.781, 1.363, 2.213, 3.345, 4.78, 6.521, 8.593",\
                 "0.1713, 0.2418, 0.4318, 0.7824, 1.365, 2.213, 3.346, 4.779, 6.517, 8.593",\
                 "0.1716, 0.2422, 0.4322, 0.7818, 1.365, 2.213, 3.345, 4.772, 6.513, 8.595",\
                 "0.173, 0.243, 0.4324, 0.7814, 1.365, 2.214, 3.347, 4.774, 6.524, 8.596",\
                 "0.1738, 0.2446, 0.4334, 0.7812, 1.365, 2.212, 3.344, 4.774, 6.516, 8.605",\
                 "0.176, 0.246, 0.4342, 0.7824, 1.364, 2.212, 3.344, 4.778, 6.513, 8.602",\
                 "0.1776, 0.2472, 0.4348, 0.7828, 1.363, 2.214, 3.343, 4.772, 6.517, 8.607",\
                 "0.1782, 0.2486, 0.4382, 0.7838, 1.366, 2.214, 3.343, 4.769, 6.516, 8.59",\
                 "0.1802, 0.2502, 0.4388, 0.7848, 1.366, 2.215, 3.346, 4.772, 6.507, 8.586");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latq_1) {
    area : 43.904000 ;

    latch(IQ1,IQN1) {
      enable : "E" ;
      data_in : "(!D)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E" ;
      value : "0.0001491435" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E" ;
      value : "0.0001068837" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E" ;
      value : "0.0001820181" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E" ;
      value : "0.0001043064" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001820181" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.002994 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009014, 0.00902, 0.009007, 0.009009, 0.009011, 0.009025, 0.00902, \
                 0.009017, 0.009022, 0.009019");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008155, -0.008146, -0.008155, -0.008196, -0.008222, -0.008264, \
                 -0.008281, -0.008284, -0.008286, -0.008295");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.59, -0.573, -0.519, -0.446, -0.369, -0.28, -0.17, -0.041, 0.115, 0.288",\
                 "-0.603, -0.588, -0.533, -0.457, -0.378, -0.289, -0.176, -0.05, 0.105, 0.277",\
                 "-0.64, -0.627, -0.566, -0.5, -0.418, -0.329, -0.214, -0.087, 0.065, 0.246",\
                 "-0.726, -0.71, -0.653, -0.581, -0.501, -0.409, -0.294, -0.158, -0.003, 0.182",\
                 "-0.873, -0.857, -0.799, -0.728, -0.646, -0.548, -0.43, -0.291, -0.135, 0.052",\
                 "-1.073, -1.061, -1.004, -0.929, -0.845, -0.745, -0.631, -0.491, -0.332, -0.142",\
                 "-1.33, -1.316, -1.262, -1.184, -1.102, -1.005, -0.888, -0.745, -0.588, -0.402",\
                 "-1.647, -1.634, -1.572, -1.498, -1.419, -1.319, -1.197, -1.07, -0.908, -0.725",\
                 "-2.009, -1.992, -1.934, -1.858, -1.777, -1.686, -1.575, -1.442, -1.284, -1.109",\
                 "-2.412, -2.394, -2.337, -2.268, -2.184, -2.095, -1.988, -1.86, -1.71, -1.54");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.088, -0.02, 0.09, 0.226, 0.376, 0.555, 0.75, 0.966, 1.215",\
                 "-0.111, -0.096, -0.03, 0.083, 0.216, 0.371, 0.544, 0.744, 0.964, 1.205",\
                 "-0.135, -0.118, -0.047, 0.063, 0.2, 0.347, 0.529, 0.727, 0.95, 1.19",\
                 "-0.18, -0.16, -0.097, 0.016, 0.153, 0.315, 0.495, 0.697, 0.915, 1.167",\
                 "-0.218, -0.201, -0.13, -0.02, 0.122, 0.285, 0.462, 0.672, 0.897, 1.148",\
                 "-0.232, -0.218, -0.149, -0.037, 0.11, 0.27, 0.453, 0.663, 0.889, 1.144",\
                 "-0.217, -0.202, -0.13, -0.016, 0.122, 0.288, 0.476, 0.69, 0.913, 1.175",\
                 "-0.166, -0.147, -0.081, 0.039, 0.181, 0.348, 0.54, 0.744, 0.982, 1.238",\
                 "-0.075, -0.057, 0.01, 0.134, 0.277, 0.441, 0.635, 0.847, 1.089, 1.35",\
                 "0.056, 0.069, 0.14, 0.261, 0.407, 0.576, 0.774, 0.997, 1.235, 1.5");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.859, 0.846, 0.788, 0.719, 0.66, 0.637, 0.693, 0.802, 0.968, 1.165",\
                 "0.876, 0.858, 0.806, 0.737, 0.671, 0.649, 0.698, 0.814, 0.978, 1.175",\
                 "0.909, 0.894, 0.842, 0.767, 0.705, 0.681, 0.731, 0.827, 0.969, 1.149",\
                 "0.989, 0.97, 0.915, 0.843, 0.782, 0.753, 0.783, 0.854, 0.964, 1.111",\
                 "1.127, 1.112, 1.061, 0.987, 0.922, 0.881, 0.876, 0.921, 0.996, 1.092",\
                 "1.332, 1.314, 1.26, 1.193, 1.117, 1.063, 1.036, 1.047, 1.086, 1.151",\
                 "1.583, 1.564, 1.516, 1.444, 1.371, 1.302, 1.26, 1.243, 1.249, 1.287",\
                 "1.889, 1.873, 1.821, 1.752, 1.679, 1.606, 1.549, 1.511, 1.495, 1.507",\
                 "2.24, 2.224, 2.182, 2.12, 2.051, 1.968, 1.9, 1.853, 1.82, 1.821",\
                 "2.636, 2.62, 2.579, 2.532, 2.459, 2.386, 2.309, 2.251, 2.215, 2.195");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.235, 0.217, 0.144, 0.029, -0.107, -0.261, -0.428, -0.62, -0.823, -1.059",\
                 "0.24, 0.222, 0.154, 0.033, -0.101, -0.259, -0.424, -0.613, -0.82, -1.053",\
                 "0.259, 0.242, 0.173, 0.054, -0.077, -0.232, -0.402, -0.596, -0.801, -1.039",\
                 "0.308, 0.286, 0.219, 0.1, -0.036, -0.198, -0.365, -0.569, -0.783, -1.026",\
                 "0.338, 0.317, 0.252, 0.132, -0.006, -0.17, -0.353, -0.553, -0.774, -1.023",\
                 "0.336, 0.318, 0.251, 0.132, -0.005, -0.173, -0.359, -0.562, -0.785, -1.034",\
                 "0.302, 0.287, 0.221, 0.096, -0.041, -0.207, -0.396, -0.602, -0.83, -1.082",\
                 "0.231, 0.213, 0.143, 0.029, -0.113, -0.28, -0.471, -0.687, -0.915, -1.173",\
                 "0.13, 0.113, 0.04, -0.082, -0.22, -0.395, -0.588, -0.807, -1.043, -1.305",\
                 "-0.014, -0.032, -0.102, -0.221, -0.371, -0.543, -0.745, -0.964, -1.208, -1.473");
        }
      }
    }

    pin(E) {
      capacitance : 0.00365 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.917 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09553, 0.09493, 0.09615, 0.1029, 0.1158, 0.136, 0.1637, 0.1997, \
                 0.244, 0.2973");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05464, 0.05419, 0.05501, 0.06021, 0.07131, 0.08893, 0.1136, \
                 0.1454, 0.1849, 0.2323");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09756, 0.09697, 0.09827, 0.1051, 0.1182, 0.1384, 0.1663, 0.2022, \
                 0.2466, 0.2999");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05367, 0.05322, 0.05404, 0.05919, 0.07015, 0.08767, 0.1122, \
                 0.1439, 0.1834, 0.2309");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        rise_constraint(scalar) {
          values("0.917");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        rise_constraint(scalar) {
          values("0.581");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQN1" ;
      max_capacitance : 0.3598 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1672, 0.164, 0.1578, 0.1534, 0.1508, 0.1491, 0.148, 0.1472, 0.1467, 0.1463",\
                 "0.167, 0.1637, 0.1574, 0.1531, 0.1505, 0.1487, 0.1476, 0.1468, 0.1463, 0.1459",\
                 "0.1667, 0.1634, 0.1571, 0.1528, 0.1501, 0.1484, 0.1473, 0.1466, 0.146, 0.1456",\
                 "0.1689, 0.1657, 0.1593, 0.1548, 0.1522, 0.1505, 0.1493, 0.1486, 0.1481, 0.1476",\
                 "0.1792, 0.1758, 0.1688, 0.1638, 0.1606, 0.1587, 0.1574, 0.1565, 0.1559, 0.1555",\
                 "0.1969, 0.1931, 0.1853, 0.1795, 0.1758, 0.1733, 0.1718, 0.1707, 0.1699, 0.1694",\
                 "0.2229, 0.2188, 0.2098, 0.2028, 0.1982, 0.1952, 0.1931, 0.1918, 0.1908, 0.1901",\
                 "0.2578, 0.2533, 0.2432, 0.2346, 0.2288, 0.2248, 0.2222, 0.2203, 0.219, 0.218",\
                 "0.3007, 0.296, 0.2845, 0.2741, 0.267, 0.262, 0.2586, 0.2561, 0.2543, 0.253",\
                 "0.3515, 0.3463, 0.3336, 0.3215, 0.3127, 0.3065, 0.3022, 0.299, 0.2968, 0.2952");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1129, 0.1118, 0.11, 0.1092, 0.1091, 0.1095, 0.1101, 0.1106, 0.1112, 0.1146",\
                 "0.1124, 0.1113, 0.1095, 0.1088, 0.1087, 0.1091, 0.1095, 0.1101, 0.1109, 0.1146",\
                 "0.1123, 0.1111, 0.1093, 0.1085, 0.1084, 0.1087, 0.1093, 0.1098, 0.1106, 0.1141",\
                 "0.1161, 0.1148, 0.1127, 0.1115, 0.111, 0.1115, 0.1117, 0.1122, 0.1131, 0.1171",\
                 "0.1253, 0.1236, 0.1208, 0.119, 0.118, 0.1181, 0.1185, 0.1187, 0.1195, 0.1242",\
                 "0.1407, 0.1387, 0.135, 0.1321, 0.1311, 0.1304, 0.1302, 0.1304, 0.1312, 0.1363",\
                 "0.1629, 0.1603, 0.1557, 0.1518, 0.1494, 0.149, 0.1484, 0.1479, 0.1483, 0.1549",\
                 "0.1919, 0.1887, 0.1831, 0.178, 0.1742, 0.1727, 0.1726, 0.172, 0.172, 0.1803",\
                 "0.2278, 0.2239, 0.2171, 0.211, 0.2063, 0.2033, 0.2017, 0.2022, 0.2027, 0.2143",\
                 "0.2709, 0.2663, 0.2583, 0.2512, 0.2452, 0.2409, 0.2381, 0.2372, 0.2398, 0.2566");
        }
      }

      internal_power() {
        related_pin : "E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1516, 0.1484, 0.1422, 0.1381, 0.1356, 0.134, 0.1329, 0.1321, 0.1316, 0.1312",\
                 "0.1515, 0.1483, 0.1422, 0.1381, 0.1356, 0.1339, 0.1329, 0.1321, 0.1316, 0.1312",\
                 "0.1513, 0.1481, 0.142, 0.1379, 0.1354, 0.1338, 0.1327, 0.1319, 0.1314, 0.131",\
                 "0.1513, 0.1481, 0.142, 0.1379, 0.1354, 0.1337, 0.1327, 0.1319, 0.1314, 0.131",\
                 "0.1516, 0.1484, 0.1422, 0.1381, 0.1356, 0.1339, 0.1329, 0.1321, 0.1316, 0.1312",\
                 "0.1522, 0.149, 0.1429, 0.1388, 0.1362, 0.1345, 0.1335, 0.1327, 0.1322, 0.1318",\
                 "0.1536, 0.1503, 0.144, 0.1399, 0.1373, 0.1356, 0.1345, 0.1338, 0.1333, 0.1329",\
                 "0.1556, 0.1523, 0.1459, 0.1415, 0.1389, 0.1372, 0.1361, 0.1353, 0.1348, 0.1344",\
                 "0.1579, 0.1546, 0.148, 0.1436, 0.1408, 0.139, 0.1379, 0.1371, 0.1366, 0.1362",\
                 "0.1608, 0.1574, 0.1507, 0.146, 0.1431, 0.1413, 0.1401, 0.1393, 0.1387, 0.1383");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1196, 0.1185, 0.1166, 0.1157, 0.1155, 0.1158, 0.1163, 0.1169, 0.1178, 0.1217",\
                 "0.1197, 0.1184, 0.1166, 0.1157, 0.1154, 0.1159, 0.1163, 0.1169, 0.1177, 0.1218",\
                 "0.1197, 0.1185, 0.1166, 0.1157, 0.1155, 0.1158, 0.1164, 0.1169, 0.1177, 0.1217",\
                 "0.1198, 0.1186, 0.1168, 0.1159, 0.1157, 0.116, 0.1166, 0.117, 0.118, 0.1225",\
                 "0.1199, 0.1187, 0.117, 0.116, 0.1158, 0.1161, 0.1166, 0.1172, 0.1182, 0.1232",\
                 "0.1202, 0.119, 0.117, 0.1165, 0.1162, 0.1163, 0.1168, 0.1175, 0.1182, 0.1242",\
                 "0.1202, 0.119, 0.1172, 0.116, 0.1162, 0.1169, 0.1172, 0.1176, 0.1185, 0.1258",\
                 "0.1206, 0.1193, 0.1174, 0.1164, 0.1161, 0.1168, 0.1181, 0.1185, 0.1192, 0.129",\
                 "0.1207, 0.1194, 0.1176, 0.1166, 0.1164, 0.1163, 0.1175, 0.1196, 0.1203, 0.134",\
                 "0.1208, 0.1195, 0.1177, 0.1169, 0.1164, 0.1166, 0.1166, 0.1184, 0.1225, 0.1437");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.6776, 0.7288, 0.8653, 1.06, 1.299, 1.592, 1.955, 2.403, 2.947, 3.594",\
                 "0.691, 0.7422, 0.8787, 1.073, 1.312, 1.606, 1.969, 2.417, 2.96, 3.607",\
                 "0.7298, 0.7811, 0.9176, 1.112, 1.351, 1.645, 2.008, 2.455, 2.999, 3.646",\
                 "0.8121, 0.8631, 0.9995, 1.194, 1.433, 1.726, 2.089, 2.537, 3.081, 3.728",\
                 "0.9552, 1.008, 1.146, 1.341, 1.58, 1.874, 2.237, 2.684, 3.228, 3.875",\
                 "1.153, 1.206, 1.349, 1.55, 1.793, 2.088, 2.452, 2.9, 3.443, 4.09",\
                 "1.404, 1.46, 1.607, 1.814, 2.063, 2.362, 2.727, 3.175, 3.718, 4.365",\
                 "1.701, 1.761, 1.917, 2.132, 2.388, 2.692, 3.06, 3.509, 4.052, 4.699",\
                 "2.043, 2.106, 2.271, 2.498, 2.766, 3.078, 3.451, 3.901, 4.445, 5.091",\
                 "2.427, 2.494, 2.668, 2.909, 3.19, 3.515, 3.898, 4.353, 4.899, 5.545");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.447, 0.4936, 0.6329, 0.8684, 1.218, 1.706, 2.349, 3.157, 4.144, 5.322",\
                 "0.4547, 0.5012, 0.6406, 0.876, 1.226, 1.714, 2.357, 3.166, 4.153, 5.328",\
                 "0.4773, 0.5236, 0.6628, 0.8981, 1.248, 1.736, 2.378, 3.187, 4.174, 5.352",\
                 "0.5213, 0.5679, 0.7074, 0.9421, 1.291, 1.779, 2.422, 3.23, 4.217, 5.395",\
                 "0.5638, 0.6116, 0.7539, 0.9901, 1.339, 1.826, 2.468, 3.276, 4.263, 5.44",\
                 "0.5878, 0.6376, 0.7836, 1.022, 1.371, 1.857, 2.498, 3.305, 4.292, 5.469",\
                 "0.5838, 0.6359, 0.7872, 1.031, 1.381, 1.866, 2.505, 3.312, 4.298, 5.475",\
                 "0.5461, 0.6014, 0.7588, 1.009, 1.364, 1.85, 2.489, 3.295, 4.28, 5.456",\
                 "0.4715, 0.5304, 0.6942, 0.9525, 1.313, 1.804, 2.445, 3.251, 4.235, 5.409",\
                 "0.3581, 0.4207, 0.5919, 0.8581, 1.226, 1.724, 2.371, 3.179, 4.163, 5.337");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.211, 0.2598, 0.3931, 0.5909, 0.865, 1.266, 1.819, 2.543, 3.442, 4.531",\
                 "0.2111, 0.2598, 0.393, 0.5911, 0.8658, 1.266, 1.819, 2.542, 3.443, 4.531",\
                 "0.2113, 0.26, 0.3932, 0.5912, 0.866, 1.266, 1.819, 2.542, 3.442, 4.531",\
                 "0.211, 0.2598, 0.3936, 0.5914, 0.8672, 1.267, 1.82, 2.542, 3.443, 4.528",\
                 "0.2206, 0.2696, 0.4012, 0.5968, 0.87, 1.269, 1.821, 2.544, 3.446, 4.529",\
                 "0.2346, 0.2852, 0.4204, 0.6158, 0.8828, 1.276, 1.824, 2.545, 3.444, 4.531",\
                 "0.254, 0.3058, 0.4442, 0.6398, 0.905, 1.291, 1.831, 2.549, 3.448, 4.528",\
                 "0.2812, 0.3362, 0.4784, 0.6738, 0.9352, 1.314, 1.847, 2.557, 3.449, 4.532",\
                 "0.3106, 0.3692, 0.5202, 0.7202, 0.981, 1.349, 1.869, 2.569, 3.454, 4.529",\
                 "0.3418, 0.4042, 0.5646, 0.773, 1.038, 1.404, 1.916, 2.598, 3.468, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1576, 0.2179, 0.415, 0.7817, 1.378, 2.234, 3.367, 4.796, 6.539, 8.603",\
                 "0.1576, 0.2174, 0.4149, 0.782, 1.378, 2.235, 3.367, 4.791, 6.533, 8.607",\
                 "0.1574, 0.2176, 0.4146, 0.783, 1.379, 2.236, 3.369, 4.795, 6.533, 8.604",\
                 "0.1605, 0.2207, 0.4164, 0.7834, 1.379, 2.235, 3.367, 4.798, 6.533, 8.61",\
                 "0.171, 0.2308, 0.4274, 0.7884, 1.38, 2.236, 3.366, 4.796, 6.535, 8.607",\
                 "0.1844, 0.2446, 0.4418, 0.7988, 1.384, 2.237, 3.366, 4.792, 6.533, 8.609",\
                 "0.2016, 0.262, 0.462, 0.8148, 1.393, 2.24, 3.369, 4.788, 6.529, 8.606",\
                 "0.2242, 0.284, 0.4856, 0.839, 1.411, 2.247, 3.371, 4.791, 6.542, 8.604",\
                 "0.2476, 0.3086, 0.5126, 0.8688, 1.437, 2.271, 3.384, 4.794, 6.529, 8.605",\
                 "0.2722, 0.3358, 0.5402, 0.8996, 1.471, 2.304, 3.411, 4.818, 6.535, 8.603");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.7403, 0.7914, 0.9281, 1.123, 1.362, 1.655, 2.018, 2.466, 3.009, 3.656",\
                 "0.7536, 0.8048, 0.9415, 1.136, 1.375, 1.669, 2.032, 2.479, 3.023, 3.67",\
                 "0.8003, 0.8514, 0.9881, 1.183, 1.422, 1.715, 2.078, 2.526, 3.069, 3.717",\
                 "0.8561, 0.9071, 1.044, 1.238, 1.477, 1.771, 2.134, 2.582, 3.125, 3.772",\
                 "0.8992, 0.9504, 1.087, 1.282, 1.521, 1.814, 2.177, 2.625, 3.168, 3.815",\
                 "0.9292, 0.9802, 1.117, 1.311, 1.551, 1.844, 2.207, 2.655, 3.199, 3.846",\
                 "0.943, 0.9944, 1.131, 1.326, 1.565, 1.859, 2.222, 2.67, 3.213, 3.86",\
                 "0.9369, 0.9883, 1.125, 1.321, 1.56, 1.854, 2.217, 2.665, 3.208, 3.855",\
                 "0.9071, 0.9585, 1.096, 1.292, 1.532, 1.826, 2.189, 2.637, 3.181, 3.827",\
                 "0.8521, 0.9043, 1.042, 1.239, 1.479, 1.774, 2.137, 2.585, 3.129, 3.775");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.7722, 0.8187, 0.9579, 1.193, 1.543, 2.031, 2.674, 3.482, 4.47, 5.646",\
                 "0.7858, 0.8321, 0.9714, 1.207, 1.556, 2.044, 2.687, 3.496, 4.483, 5.66",\
                 "0.8353, 0.8816, 1.021, 1.256, 1.606, 2.093, 2.736, 3.545, 4.532, 5.71",\
                 "0.8945, 0.9409, 1.08, 1.315, 1.665, 2.153, 2.796, 3.604, 4.592, 5.769",\
                 "0.9401, 0.9866, 1.126, 1.361, 1.711, 2.198, 2.84, 3.649, 4.635, 5.815",\
                 "0.9708, 1.017, 1.156, 1.391, 1.741, 2.229, 2.871, 3.679, 4.667, 5.845",\
                 "0.981, 1.027, 1.167, 1.402, 1.752, 2.239, 2.881, 3.689, 4.676, 5.854",\
                 "0.9695, 1.016, 1.155, 1.39, 1.74, 2.227, 2.869, 3.677, 4.664, 5.841",\
                 "0.9321, 0.9782, 1.118, 1.353, 1.703, 2.19, 2.832, 3.64, 4.626, 5.802",\
                 "0.869, 0.9151, 1.054, 1.289, 1.64, 2.128, 2.769, 3.577, 4.563, 5.74");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.2097, 0.258, 0.3911, 0.5896, 0.8648, 1.264, 1.819, 2.544, 3.446, 4.529",\
                 "0.2102, 0.2581, 0.3915, 0.5896, 0.865, 1.264, 1.82, 2.543, 3.444, 4.53",\
                 "0.2098, 0.2579, 0.3912, 0.59, 0.866, 1.264, 1.818, 2.544, 3.447, 4.525",\
                 "0.2096, 0.2582, 0.3912, 0.5898, 0.8664, 1.266, 1.82, 2.544, 3.444, 4.531",\
                 "0.2092, 0.2578, 0.3916, 0.59, 0.866, 1.265, 1.817, 2.542, 3.444, 4.531",\
                 "0.2096, 0.2586, 0.3914, 0.59, 0.8648, 1.265, 1.819, 2.544, 3.445, 4.531",\
                 "0.2108, 0.2596, 0.3928, 0.591, 0.8652, 1.265, 1.817, 2.54, 3.445, 4.531",\
                 "0.2124, 0.2614, 0.3944, 0.5928, 0.8684, 1.265, 1.819, 2.541, 3.44, 4.525",\
                 "0.215, 0.264, 0.397, 0.5954, 0.869, 1.267, 1.822, 2.546, 3.444, 4.523",\
                 "0.2176, 0.2666, 0.3998, 0.598, 0.8714, 1.269, 1.821, 2.544, 3.441, 4.524");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09093, 0.1387, 0.1989, 0.2723, 0.3598");
          values("0.1579, 0.2177, 0.4152, 0.782, 1.379, 2.235, 3.366, 4.792, 6.531, 8.611",\
                 "0.1575, 0.2179, 0.4152, 0.782, 1.379, 2.235, 3.366, 4.793, 6.533, 8.611",\
                 "0.1576, 0.2178, 0.4152, 0.782, 1.379, 2.235, 3.367, 4.798, 6.533, 8.609",\
                 "0.1574, 0.2178, 0.4146, 0.783, 1.379, 2.235, 3.367, 4.797, 6.533, 8.608",\
                 "0.1574, 0.2178, 0.4152, 0.7832, 1.378, 2.239, 3.365, 4.796, 6.529, 8.606",\
                 "0.1574, 0.2178, 0.4152, 0.7828, 1.378, 2.236, 3.366, 4.794, 6.537, 8.605",\
                 "0.1578, 0.218, 0.4146, 0.783, 1.379, 2.234, 3.363, 4.79, 6.533, 8.616",\
                 "0.1576, 0.2176, 0.4152, 0.7816, 1.379, 2.234, 3.364, 4.79, 6.528, 8.602",\
                 "0.1578, 0.218, 0.415, 0.7818, 1.38, 2.233, 3.367, 4.789, 6.525, 8.618",\
                 "0.1576, 0.2178, 0.415, 0.7824, 1.379, 2.234, 3.364, 4.789, 6.525, 8.598");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latq_2) {
    area : 48.294400 ;

    latch(IQ1,IQN1) {
      enable : "E" ;
      data_in : "(!D)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E" ;
      value : "0.0001606968" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E" ;
      value : "0.0001184172" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E" ;
      value : "0.0001814142" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E" ;
      value : "0.0001153812" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001814142" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.002993 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009001, 0.00899, 0.009016, 0.009005, 0.009015, 0.009027, 0.009019, \
                 0.009021, 0.009016, 0.009021");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008151, -0.008144, -0.008151, -0.008207, -0.008222, -0.008262, \
                 -0.008275, -0.00828, -0.008286, -0.008292");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.767, -0.751, -0.696, -0.619, -0.541, -0.447, -0.339, -0.206, -0.053, 0.122",\
                 "-0.781, -0.763, -0.705, -0.631, -0.548, -0.46, -0.347, -0.223, -0.064, 0.109",\
                 "-0.817, -0.805, -0.747, -0.674, -0.591, -0.502, -0.386, -0.261, -0.101, 0.075",\
                 "-0.898, -0.884, -0.827, -0.75, -0.67, -0.577, -0.463, -0.332, -0.169, 0.009",\
                 "-1.044, -1.027, -0.973, -0.897, -0.814, -0.714, -0.601, -0.469, -0.305, -0.121",\
                 "-1.251, -1.238, -1.183, -1.104, -1.02, -0.923, -0.8, -0.668, -0.505, -0.317",\
                 "-1.516, -1.504, -1.443, -1.364, -1.279, -1.18, -1.058, -0.92, -0.765, -0.581",\
                 "-1.842, -1.825, -1.771, -1.691, -1.597, -1.496, -1.383, -1.242, -1.084, -0.9",\
                 "-2.216, -2.201, -2.141, -2.059, -1.975, -1.874, -1.758, -1.624, -1.463, -1.28",\
                 "-2.631, -2.614, -2.557, -2.481, -2.393, -2.289, -2.173, -2.043, -1.89, -1.719");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.206, -0.184, -0.116, -0.001, 0.137, 0.29, 0.462, 0.662, 0.879, 1.127",\
                 "-0.213, -0.191, -0.125, -0.004, 0.124, 0.282, 0.458, 0.655, 0.875, 1.115",\
                 "-0.232, -0.219, -0.149, -0.036, 0.104, 0.258, 0.438, 0.634, 0.85, 1.099",\
                 "-0.28, -0.266, -0.195, -0.084, 0.053, 0.213, 0.396, 0.596, 0.818, 1.066",\
                 "-0.33, -0.317, -0.251, -0.137, -0, 0.162, 0.348, 0.553, 0.783, 1.029",\
                 "-0.37, -0.354, -0.283, -0.168, -0.03, 0.13, 0.318, 0.52, 0.748, 1.002",\
                 "-0.369, -0.356, -0.284, -0.175, -0.039, 0.126, 0.307, 0.514, 0.747, 1.003",\
                 "-0.349, -0.333, -0.261, -0.148, -0.012, 0.154, 0.345, 0.549, 0.78, 1.038",\
                 "-0.282, -0.266, -0.197, -0.076, 0.059, 0.221, 0.41, 0.624, 0.855, 1.116",\
                 "-0.173, -0.156, -0.09, 0.026, 0.169, 0.337, 0.524, 0.741, 0.974, 1.234");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.922, 0.901, 0.852, 0.792, 0.749, 0.752, 0.828, 0.973, 1.167, 1.404",\
                 "0.931, 0.913, 0.865, 0.804, 0.756, 0.755, 0.827, 0.963, 1.147, 1.374",\
                 "0.968, 0.953, 0.898, 0.837, 0.792, 0.789, 0.857, 0.976, 1.151, 1.363",\
                 "1.044, 1.028, 0.978, 0.919, 0.866, 0.862, 0.913, 1.021, 1.174, 1.357",\
                 "1.186, 1.174, 1.121, 1.056, 1.01, 0.986, 1.014, 1.091, 1.204, 1.355",\
                 "1.395, 1.379, 1.324, 1.258, 1.205, 1.166, 1.17, 1.215, 1.301, 1.41",\
                 "1.659, 1.641, 1.589, 1.514, 1.452, 1.403, 1.381, 1.399, 1.444, 1.523",\
                 "1.978, 1.962, 1.908, 1.832, 1.767, 1.707, 1.666, 1.654, 1.671, 1.723",\
                 "2.351, 2.337, 2.282, 2.208, 2.136, 2.068, 2.018, 1.988, 1.991, 2.019",\
                 "2.772, 2.756, 2.703, 2.626, 2.555, 2.483, 2.423, 2.379, 2.368, 2.38");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.326, 0.313, 0.24, 0.129, -0.017, -0.175, -0.344, -0.538, -0.744, -0.98",\
                 "0.336, 0.317, 0.249, 0.129, -0.008, -0.165, -0.339, -0.53, -0.74, -0.974",\
                 "0.356, 0.337, 0.268, 0.153, 0.018, -0.143, -0.311, -0.509, -0.718, -0.959",\
                 "0.408, 0.392, 0.318, 0.199, 0.064, -0.095, -0.265, -0.469, -0.679, -0.925",\
                 "0.457, 0.44, 0.365, 0.253, 0.115, -0.048, -0.227, -0.427, -0.65, -0.897",\
                 "0.48, 0.465, 0.392, 0.279, 0.144, -0.022, -0.204, -0.402, -0.633, -0.879",\
                 "0.479, 0.458, 0.393, 0.276, 0.136, -0.025, -0.21, -0.407, -0.635, -0.889",\
                 "0.437, 0.422, 0.354, 0.236, 0.101, -0.062, -0.247, -0.452, -0.679, -0.934",\
                 "0.361, 0.345, 0.28, 0.163, 0.017, -0.148, -0.334, -0.544, -0.771, -1.026",\
                 "0.247, 0.23, 0.161, 0.042, -0.103, -0.272, -0.459, -0.669, -0.911, -1.171");
        }
      }
    }

    pin(E) {
      capacitance : 0.003609 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.98 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09569, 0.09509, 0.09634, 0.1031, 0.116, 0.1361, 0.1639, 0.1998, \
                 0.2441, 0.2974");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05463, 0.05415, 0.05498, 0.06019, 0.07125, 0.08885, 0.1134, \
                 0.1453, 0.1848, 0.2322");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09653, 0.0959, 0.09724, 0.1041, 0.1171, 0.1373, 0.1652, 0.2011, \
                 0.2455, 0.299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0536, 0.05315, 0.05392, 0.05912, 0.07005, 0.08758, 0.1121, 0.1438, \
                 0.1833, 0.2307");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        rise_constraint(scalar) {
          values("0.98");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        rise_constraint(scalar) {
          values("0.676");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQN1" ;
      max_capacitance : 0.7212 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.264, 0.2535, 0.2318, 0.2159, 0.2065, 0.2006, 0.1967, 0.194, 0.1921, 0.1907",\
                 "0.2637, 0.2532, 0.2315, 0.2156, 0.2063, 0.2004, 0.1965, 0.1937, 0.1918, 0.1904",\
                 "0.2634, 0.2529, 0.2311, 0.2152, 0.206, 0.2001, 0.1961, 0.1934, 0.1915, 0.1901",\
                 "0.2651, 0.2545, 0.2327, 0.2167, 0.2075, 0.2015, 0.1976, 0.1949, 0.193, 0.1916",\
                 "0.2753, 0.2646, 0.2422, 0.2252, 0.2153, 0.209, 0.2048, 0.202, 0.1999, 0.1985",\
                 "0.2972, 0.286, 0.2621, 0.2432, 0.2317, 0.2245, 0.2196, 0.2162, 0.2138, 0.2121",\
                 "0.3283, 0.3165, 0.2908, 0.2694, 0.2561, 0.2474, 0.2416, 0.2376, 0.2347, 0.2326",\
                 "0.3708, 0.3585, 0.3305, 0.3058, 0.29, 0.2794, 0.2721, 0.267, 0.2636, 0.2609",\
                 "0.4245, 0.4117, 0.3812, 0.3526, 0.3336, 0.3206, 0.3116, 0.3053, 0.3007, 0.2973",\
                 "0.4883, 0.4748, 0.442, 0.4092, 0.3865, 0.3707, 0.3596, 0.3517, 0.3459, 0.3416");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.1622, 0.1561, 0.1488, 0.1447, 0.1431, 0.1433, 0.1438, 0.145, 0.146, 0.1528",\
                 "0.1618, 0.1556, 0.1484, 0.1442, 0.1425, 0.1429, 0.143, 0.144, 0.1464, 0.1522",\
                 "0.1615, 0.1554, 0.148, 0.144, 0.1422, 0.1424, 0.1433, 0.1433, 0.1454, 0.1524",\
                 "0.1655, 0.1591, 0.1515, 0.1468, 0.1451, 0.1446, 0.1451, 0.1463, 0.1473, 0.1553",\
                 "0.1784, 0.171, 0.162, 0.156, 0.1525, 0.1518, 0.1516, 0.1523, 0.154, 0.164",\
                 "0.1989, 0.1903, 0.179, 0.1712, 0.167, 0.1644, 0.1639, 0.1635, 0.1656, 0.1759",\
                 "0.2281, 0.2181, 0.2043, 0.1939, 0.1878, 0.1854, 0.1828, 0.1813, 0.1827, 0.1965",\
                 "0.266, 0.2545, 0.2378, 0.225, 0.2157, 0.2105, 0.2099, 0.2083, 0.2076, 0.2246",\
                 "0.3122, 0.2993, 0.2793, 0.2641, 0.2525, 0.2441, 0.2403, 0.24, 0.2397, 0.2647",\
                 "0.3669, 0.3528, 0.3288, 0.3108, 0.2963, 0.2867, 0.2794, 0.2772, 0.2803, 0.3199");
        }
      }

      internal_power() {
        related_pin : "E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.2486, 0.2381, 0.2165, 0.2007, 0.1916, 0.1858, 0.1819, 0.1792, 0.1773, 0.1759",\
                 "0.2485, 0.2381, 0.2165, 0.2008, 0.1916, 0.1858, 0.182, 0.1792, 0.1773, 0.1759",\
                 "0.2483, 0.2378, 0.2162, 0.2005, 0.1914, 0.1856, 0.1817, 0.179, 0.1771, 0.1757",\
                 "0.2481, 0.2377, 0.2161, 0.2003, 0.1912, 0.1854, 0.1816, 0.1789, 0.177, 0.1756",\
                 "0.2484, 0.2379, 0.2164, 0.2006, 0.1914, 0.1856, 0.1817, 0.179, 0.1772, 0.1757",\
                 "0.249, 0.2385, 0.2169, 0.2011, 0.192, 0.1861, 0.1822, 0.1795, 0.1776, 0.1762",\
                 "0.2503, 0.2398, 0.2181, 0.2021, 0.1929, 0.1871, 0.1831, 0.1804, 0.1785, 0.177",\
                 "0.2526, 0.2421, 0.2201, 0.2038, 0.1945, 0.1885, 0.1846, 0.1818, 0.1798, 0.1784",\
                 "0.2558, 0.2451, 0.2229, 0.2062, 0.1966, 0.1905, 0.1864, 0.1835, 0.1815, 0.1801",\
                 "0.2594, 0.2486, 0.226, 0.2091, 0.1991, 0.1928, 0.1886, 0.1857, 0.1836, 0.1822");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.1686, 0.1624, 0.155, 0.1509, 0.149, 0.1491, 0.1493, 0.1505, 0.1518, 0.1602",\
                 "0.1685, 0.1622, 0.155, 0.1508, 0.149, 0.1491, 0.1493, 0.1503, 0.1526, 0.1596",\
                 "0.1686, 0.1623, 0.155, 0.151, 0.1491, 0.1492, 0.1498, 0.1508, 0.1518, 0.1603",\
                 "0.1687, 0.1625, 0.1552, 0.1512, 0.1497, 0.149, 0.1496, 0.1506, 0.1529, 0.1612",\
                 "0.1689, 0.1627, 0.1554, 0.1514, 0.1493, 0.1492, 0.15, 0.1505, 0.1536, 0.1628",\
                 "0.1691, 0.1628, 0.1554, 0.1517, 0.1499, 0.1496, 0.1499, 0.1508, 0.1529, 0.1655",\
                 "0.1692, 0.163, 0.1557, 0.1513, 0.15, 0.1508, 0.1508, 0.1513, 0.1529, 0.1698",\
                 "0.1693, 0.1631, 0.1559, 0.1516, 0.1499, 0.1503, 0.1518, 0.1522, 0.1539, 0.1746",\
                 "0.1696, 0.1633, 0.156, 0.1521, 0.1498, 0.1492, 0.1507, 0.155, 0.1562, 0.1853",\
                 "0.1697, 0.1635, 0.1562, 0.1521, 0.1504, 0.149, 0.1498, 0.1521, 0.1602, 0.2039");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.8082, 0.874, 1.035, 1.255, 1.518, 1.83, 2.205, 2.66, 3.207, 3.857",\
                 "0.8223, 0.8879, 1.049, 1.268, 1.531, 1.843, 2.219, 2.674, 3.221, 3.871",\
                 "0.8614, 0.927, 1.088, 1.307, 1.571, 1.882, 2.258, 2.713, 3.26, 3.91",\
                 "0.9411, 1.006, 1.167, 1.386, 1.65, 1.961, 2.337, 2.792, 3.339, 3.989",\
                 "1.086, 1.151, 1.312, 1.531, 1.794, 2.106, 2.481, 2.936, 3.483, 4.133",\
                 "1.287, 1.355, 1.52, 1.744, 2.009, 2.322, 2.698, 3.152, 3.699, 4.349",\
                 "1.546, 1.616, 1.785, 2.014, 2.285, 2.603, 2.98, 3.435, 3.982, 4.632",\
                 "1.858, 1.931, 2.107, 2.343, 2.621, 2.942, 3.323, 3.78, 4.327, 4.976",\
                 "2.217, 2.294, 2.479, 2.726, 3.012, 3.341, 3.726, 4.185, 4.733, 5.382",\
                 "2.621, 2.701, 2.897, 3.156, 3.456, 3.796, 4.189, 4.651, 5.2, 5.849");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.5171, 0.5721, 0.7247, 0.9701, 1.324, 1.814, 2.458, 3.269, 4.261, 5.442",\
                 "0.5248, 0.5798, 0.7323, 0.9778, 1.332, 1.821, 2.465, 3.276, 4.267, 5.45",\
                 "0.5472, 0.6022, 0.7546, 1, 1.354, 1.843, 2.488, 3.298, 4.29, 5.472",\
                 "0.5943, 0.6492, 0.8016, 1.047, 1.4, 1.889, 2.533, 3.344, 4.336, 5.517",\
                 "0.6485, 0.7053, 0.8605, 1.107, 1.46, 1.948, 2.591, 3.403, 4.393, 5.572",\
                 "0.6888, 0.748, 0.9067, 1.156, 1.51, 1.997, 2.64, 3.451, 4.44, 5.621",\
                 "0.7039, 0.7665, 0.9305, 1.185, 1.539, 2.026, 2.667, 3.476, 4.466, 5.646",\
                 "0.6875, 0.7538, 0.9241, 1.185, 1.544, 2.03, 2.67, 3.478, 4.466, 5.646",\
                 "0.6338, 0.7046, 0.8827, 1.151, 1.516, 2.007, 2.647, 3.454, 4.441, 5.619",\
                 "0.5414, 0.6162, 0.8028, 1.08, 1.453, 1.949, 2.594, 3.402, 4.388, 5.565");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.2245, 0.2879, 0.4414, 0.6558, 0.9364, 1.327, 1.869, 2.579, 3.468, 4.553",\
                 "0.2253, 0.2878, 0.4415, 0.6558, 0.9372, 1.33, 1.867, 2.576, 3.472, 4.552",\
                 "0.2257, 0.288, 0.4414, 0.656, 0.937, 1.33, 1.867, 2.575, 3.471, 4.551",\
                 "0.2248, 0.2878, 0.4416, 0.6562, 0.9374, 1.33, 1.867, 2.576, 3.47, 4.553",\
                 "0.228, 0.291, 0.4444, 0.6584, 0.9392, 1.331, 1.867, 2.577, 3.471, 4.55",\
                 "0.2434, 0.3086, 0.4634, 0.6748, 0.95, 1.338, 1.873, 2.581, 3.47, 4.548",\
                 "0.26, 0.3264, 0.4858, 0.6998, 0.9748, 1.354, 1.884, 2.583, 3.475, 4.554",\
                 "0.2848, 0.3528, 0.5152, 0.7304, 1.003, 1.379, 1.899, 2.594, 3.479, 4.554",\
                 "0.3138, 0.3876, 0.5582, 0.7744, 1.045, 1.413, 1.925, 2.61, 3.486, 4.556",\
                 "0.3464, 0.4244, 0.6048, 0.8294, 1.101, 1.464, 1.962, 2.637, 3.501, 4.562");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.142, 0.2057, 0.4104, 0.7748, 1.361, 2.218, 3.35, 4.784, 6.528, 8.611",\
                 "0.142, 0.2052, 0.4104, 0.7738, 1.361, 2.215, 3.351, 4.781, 6.531, 8.608",\
                 "0.142, 0.2056, 0.4105, 0.7744, 1.361, 2.219, 3.35, 4.778, 6.529, 8.61",\
                 "0.1432, 0.2068, 0.4112, 0.7744, 1.362, 2.218, 3.35, 4.783, 6.529, 8.61",\
                 "0.1546, 0.2174, 0.4212, 0.7818, 1.364, 2.218, 3.35, 4.788, 6.528, 8.609",\
                 "0.1682, 0.2314, 0.4366, 0.793, 1.369, 2.22, 3.351, 4.78, 6.528, 8.608",\
                 "0.1862, 0.2508, 0.4556, 0.8106, 1.378, 2.22, 3.357, 4.787, 6.527, 8.604",\
                 "0.2078, 0.2748, 0.4798, 0.8368, 1.395, 2.227, 3.353, 4.783, 6.524, 8.615",\
                 "0.2334, 0.3038, 0.507, 0.8678, 1.424, 2.248, 3.362, 4.783, 6.526, 8.607",\
                 "0.2606, 0.333, 0.539, 0.9016, 1.458, 2.28, 3.386, 4.796, 6.528, 8.605");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.8729, 0.9383, 1.099, 1.319, 1.582, 1.894, 2.269, 2.724, 3.271, 3.921",\
                 "0.8864, 0.9518, 1.113, 1.332, 1.596, 1.907, 2.283, 2.738, 3.285, 3.935",\
                 "0.9329, 0.9983, 1.159, 1.379, 1.642, 1.954, 2.329, 2.784, 3.332, 3.981",\
                 "0.9878, 1.053, 1.214, 1.434, 1.697, 2.009, 2.384, 2.839, 3.386, 4.036",\
                 "1.03, 1.096, 1.257, 1.476, 1.739, 2.051, 2.427, 2.882, 3.429, 4.079",\
                 "1.059, 1.124, 1.285, 1.505, 1.768, 2.08, 2.456, 2.91, 3.458, 4.108",\
                 "1.073, 1.138, 1.299, 1.519, 1.782, 2.093, 2.469, 2.924, 3.471, 4.122",\
                 "1.067, 1.132, 1.294, 1.514, 1.777, 2.089, 2.465, 2.92, 3.467, 4.117",\
                 "1.038, 1.104, 1.266, 1.487, 1.751, 2.063, 2.439, 2.894, 3.441, 4.091",\
                 "0.9846, 1.051, 1.213, 1.435, 1.699, 2.012, 2.388, 2.843, 3.39, 4.041");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.8415, 0.8964, 1.049, 1.294, 1.648, 2.138, 2.782, 3.593, 4.584, 5.764",\
                 "0.8548, 0.9099, 1.062, 1.308, 1.662, 2.151, 2.795, 3.606, 4.596, 5.779",\
                 "0.9042, 0.9593, 1.112, 1.357, 1.711, 2.2, 2.845, 3.656, 4.647, 5.829",\
                 "0.9641, 1.019, 1.172, 1.417, 1.771, 2.26, 2.905, 3.715, 4.705, 5.888",\
                 "1.01, 1.065, 1.217, 1.462, 1.816, 2.306, 2.95, 3.761, 4.75, 5.934",\
                 "1.04, 1.095, 1.248, 1.493, 1.847, 2.337, 2.98, 3.793, 4.782, 5.963",\
                 "1.051, 1.106, 1.259, 1.504, 1.858, 2.347, 2.991, 3.802, 4.794, 5.976",\
                 "1.039, 1.094, 1.247, 1.492, 1.846, 2.335, 2.979, 3.789, 4.779, 5.961",\
                 "1.003, 1.058, 1.21, 1.456, 1.81, 2.299, 2.942, 3.753, 4.743, 5.923",\
                 "0.9401, 0.995, 1.147, 1.393, 1.746, 2.236, 2.88, 3.69, 4.68, 5.861");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.2243, 0.2872, 0.4406, 0.6552, 0.9364, 1.327, 1.869, 2.578, 3.471, 4.553",\
                 "0.2245, 0.2871, 0.4404, 0.6556, 0.936, 1.327, 1.869, 2.577, 3.471, 4.548",\
                 "0.2244, 0.287, 0.4406, 0.6556, 0.9364, 1.329, 1.868, 2.577, 3.467, 4.553",\
                 "0.2254, 0.287, 0.4404, 0.6552, 0.937, 1.328, 1.868, 2.577, 3.471, 4.553",\
                 "0.2242, 0.2868, 0.441, 0.6554, 0.937, 1.329, 1.869, 2.576, 3.471, 4.551",\
                 "0.2238, 0.287, 0.4406, 0.6556, 0.9356, 1.328, 1.868, 2.578, 3.468, 4.55",\
                 "0.225, 0.2876, 0.4414, 0.656, 0.9368, 1.328, 1.866, 2.574, 3.471, 4.552",\
                 "0.2278, 0.29, 0.4434, 0.6582, 0.9388, 1.329, 1.866, 2.577, 3.465, 4.549",\
                 "0.2292, 0.2924, 0.4462, 0.6604, 0.9402, 1.33, 1.868, 2.575, 3.466, 4.545",\
                 "0.2318, 0.2954, 0.4494, 0.6636, 0.9442, 1.333, 1.869, 2.58, 3.467, 4.549");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005971, 0.02342, 0.05674, 0.1086, 0.1815, 0.2773, 0.3981, 0.5455, 0.7212");
          values("0.1425, 0.2055, 0.4106, 0.7748, 1.361, 2.219, 3.35, 4.783, 6.531, 8.614",\
                 "0.1431, 0.2056, 0.4104, 0.7748, 1.361, 2.219, 3.349, 4.783, 6.528, 8.61",\
                 "0.143, 0.2054, 0.411, 0.7748, 1.361, 2.218, 3.35, 4.783, 6.528, 8.611",\
                 "0.1424, 0.2052, 0.4102, 0.774, 1.361, 2.217, 3.349, 4.783, 6.528, 8.609",\
                 "0.1424, 0.2052, 0.4102, 0.7752, 1.363, 2.217, 3.35, 4.785, 6.524, 8.61",\
                 "0.142, 0.2056, 0.4108, 0.774, 1.362, 2.215, 3.354, 4.787, 6.528, 8.618",\
                 "0.1422, 0.2052, 0.4112, 0.775, 1.363, 2.215, 3.35, 4.78, 6.529, 8.609",\
                 "0.1422, 0.2052, 0.4104, 0.7752, 1.362, 2.217, 3.347, 4.784, 6.532, 8.606",\
                 "0.142, 0.2052, 0.4104, 0.7748, 1.363, 2.216, 3.349, 4.777, 6.521, 8.609",\
                 "0.1424, 0.2052, 0.4104, 0.7742, 1.361, 2.216, 3.35, 4.775, 6.522, 8.599");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latq_4) {
    area : 61.465600 ;

    latch(IQ1,IQN1) {
      enable : "E" ;
      data_in : "(!D)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E" ;
      value : "0.0001952181" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E" ;
      value : "0.0001529418" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E" ;
      value : "0.0002297262" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E" ;
      value : "0.0001487376" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002297262" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.002991 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009004, 0.009024, 0.009011, 0.008983, 0.009029, 0.009013, 0.009023, \
                 0.009019, 0.009017, 0.009014");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008151, -0.008127, -0.008152, -0.008207, -0.008232, -0.008262, \
                 -0.008278, -0.008282, -0.008287, -0.008295");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : hold_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-1.145, -1.134, -1.077, -1.001, -0.913, -0.821, -0.718, -0.595, -0.451, -0.284",\
                 "-1.164, -1.145, -1.09, -1.007, -0.926, -0.832, -0.733, -0.611, -0.465, -0.3",\
                 "-1.203, -1.184, -1.125, -1.05, -0.965, -0.872, -0.766, -0.646, -0.506, -0.333",\
                 "-1.271, -1.26, -1.204, -1.125, -1.045, -0.95, -0.843, -0.72, -0.571, -0.405",\
                 "-1.409, -1.398, -1.338, -1.266, -1.177, -1.082, -0.979, -0.854, -0.703, -0.532",\
                 "-1.625, -1.609, -1.553, -1.477, -1.388, -1.29, -1.184, -1.055, -0.903, -0.724",\
                 "-1.895, -1.881, -1.824, -1.743, -1.657, -1.558, -1.445, -1.32, -1.167, -0.994",\
                 "-2.225, -2.213, -2.156, -2.079, -1.989, -1.892, -1.773, -1.648, -1.496, -1.315",\
                 "-2.622, -2.602, -2.546, -2.47, -2.382, -2.283, -2.172, -2.042, -1.891, -1.713",\
                 "-3.068, -3.055, -2.997, -2.917, -2.834, -2.735, -2.623, -2.49, -2.341, -2.174");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.424, -0.409, -0.342, -0.228, -0.094, 0.065, 0.251, 0.443, 0.664, 0.908",\
                 "-0.432, -0.414, -0.35, -0.235, -0.1, 0.058, 0.244, 0.44, 0.659, 0.901",\
                 "-0.457, -0.438, -0.37, -0.256, -0.122, 0.034, 0.221, 0.417, 0.635, 0.879",\
                 "-0.498, -0.488, -0.421, -0.306, -0.174, -0.014, 0.166, 0.369, 0.591, 0.837",\
                 "-0.576, -0.556, -0.486, -0.379, -0.248, -0.083, 0.091, 0.294, 0.518, 0.767",\
                 "-0.641, -0.625, -0.557, -0.446, -0.31, -0.151, 0.029, 0.233, 0.459, 0.711",\
                 "-0.69, -0.673, -0.601, -0.485, -0.359, -0.197, -0.016, 0.192, 0.411, 0.668",\
                 "-0.703, -0.691, -0.621, -0.509, -0.375, -0.216, -0.036, 0.166, 0.395, 0.647",\
                 "-0.688, -0.667, -0.602, -0.486, -0.348, -0.198, -0.015, 0.186, 0.412, 0.665",\
                 "-0.626, -0.612, -0.546, -0.428, -0.296, -0.135, 0.046, 0.255, 0.479, 0.732");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : setup_falling ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.3, 1.284, 1.233, 1.174, 1.129, 1.12, 1.174, 1.304, 1.493, 1.737",\
                 "1.313, 1.295, 1.244, 1.19, 1.142, 1.126, 1.187, 1.304, 1.492, 1.73",\
                 "1.349, 1.332, 1.283, 1.225, 1.175, 1.165, 1.22, 1.336, 1.515, 1.749",\
                 "1.426, 1.414, 1.355, 1.294, 1.252, 1.235, 1.283, 1.388, 1.558, 1.777",\
                 "1.558, 1.544, 1.495, 1.43, 1.38, 1.363, 1.391, 1.484, 1.63, 1.819",\
                 "1.763, 1.75, 1.7, 1.639, 1.581, 1.549, 1.561, 1.628, 1.73, 1.889",\
                 "2.039, 2.027, 1.969, 1.904, 1.846, 1.8, 1.792, 1.828, 1.905, 2.022",\
                 "2.373, 2.356, 2.306, 2.233, 2.167, 2.111, 2.076, 2.077, 2.13, 2.209",\
                 "2.773, 2.754, 2.704, 2.636, 2.562, 2.492, 2.437, 2.42, 2.435, 2.487",\
                 "3.23, 3.212, 3.158, 3.086, 3.013, 2.936, 2.88, 2.841, 2.836, 2.866");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.538, 0.525, 0.455, 0.347, 0.213, 0.055, -0.116, -0.307, -0.521, -0.751",\
                 "0.548, 0.532, 0.462, 0.351, 0.216, 0.065, -0.107, -0.303, -0.515, -0.749",\
                 "0.57, 0.55, 0.488, 0.373, 0.244, 0.087, -0.085, -0.279, -0.487, -0.723",\
                 "0.617, 0.604, 0.532, 0.422, 0.286, 0.139, -0.036, -0.228, -0.443, -0.679",\
                 "0.688, 0.672, 0.6, 0.491, 0.364, 0.206, 0.036, -0.16, -0.376, -0.617",\
                 "0.75, 0.73, 0.666, 0.556, 0.425, 0.27, 0.099, -0.098, -0.318, -0.562",\
                 "0.791, 0.775, 0.71, 0.595, 0.462, 0.305, 0.129, -0.065, -0.281, -0.525",\
                 "0.797, 0.78, 0.715, 0.603, 0.472, 0.317, 0.144, -0.057, -0.273, -0.519",\
                 "0.775, 0.755, 0.685, 0.574, 0.442, 0.281, 0.109, -0.085, -0.304, -0.548",\
                 "0.705, 0.686, 0.616, 0.501, 0.368, 0.213, 0.033, -0.166, -0.379, -0.629");
        }
      }
    }

    pin(E) {
      capacitance : 0.003606 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 1.363 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0957, 0.09511, 0.09638, 0.1031, 0.116, 0.1361, 0.1639, 0.1997, \
                 0.2442, 0.2974");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05454, 0.05412, 0.0549, 0.06009, 0.07117, 0.08877, 0.1134, 0.1453, \
                 0.1847, 0.2322");
        }
      }

      internal_power() {
        when : "D" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09809, 0.09747, 0.0988, 0.1056, 0.1187, 0.1389, 0.1668, 0.2027, \
                 0.2471, 0.3005");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05356, 0.05314, 0.0539, 0.05902, 0.06998, 0.08753, 0.112, 0.1438, \
                 0.1832, 0.2306");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D" ;

        rise_constraint(scalar) {
          values("1.363");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D" ;

        rise_constraint(scalar) {
          values("0.881");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQN1" ;
      max_capacitance : 1.438 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("0.6734, 0.6446, 0.5742, 0.504, 0.4594, 0.4304, 0.4102, 0.3957, 0.3851, 0.3773",\
                 "0.6731, 0.6443, 0.5739, 0.5038, 0.4591, 0.4301, 0.4099, 0.3955, 0.3849, 0.3771",\
                 "0.6728, 0.644, 0.5737, 0.5035, 0.4588, 0.4298, 0.4096, 0.3952, 0.3846, 0.3768",\
                 "0.6736, 0.6448, 0.5744, 0.5043, 0.4596, 0.4305, 0.4104, 0.396, 0.3855, 0.3777",\
                 "0.6796, 0.6508, 0.5803, 0.5098, 0.4649, 0.4357, 0.4153, 0.4008, 0.3903, 0.3824",\
                 "0.7032, 0.6741, 0.6026, 0.5303, 0.4833, 0.4526, 0.4312, 0.4159, 0.4048, 0.3965",\
                 "0.7494, 0.7197, 0.6454, 0.569, 0.5179, 0.4841, 0.4604, 0.4434, 0.4309, 0.4218",\
                 "0.8105, 0.78, 0.7028, 0.6211, 0.5646, 0.5269, 0.5001, 0.4808, 0.4666, 0.456",\
                 "0.8887, 0.8574, 0.777, 0.689, 0.6261, 0.5832, 0.5523, 0.53, 0.5134, 0.5012",\
                 "0.9869, 0.9547, 0.871, 0.7757, 0.7044, 0.6553, 0.6195, 0.5935, 0.5738, 0.5591");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3775, 0.3525, 0.3169, 0.2964, 0.2837, 0.2771, 0.2743, 0.2746, 0.275, 0.2904",\
                 "0.3769, 0.3521, 0.3164, 0.2947, 0.283, 0.2771, 0.2743, 0.2736, 0.2734, 0.2911",\
                 "0.3765, 0.3517, 0.3161, 0.2944, 0.2826, 0.2761, 0.274, 0.2733, 0.2737, 0.2893",\
                 "0.3785, 0.3537, 0.318, 0.2961, 0.2849, 0.2777, 0.2743, 0.274, 0.2741, 0.2945",\
                 "0.3967, 0.3713, 0.3337, 0.31, 0.2955, 0.288, 0.2839, 0.2826, 0.2837, 0.3041",\
                 "0.4322, 0.4048, 0.3625, 0.3364, 0.3184, 0.3078, 0.3021, 0.2987, 0.2999, 0.3248",\
                 "0.4805, 0.4514, 0.4031, 0.371, 0.3515, 0.3375, 0.3281, 0.324, 0.3245, 0.3514",\
                 "0.5445, 0.5136, 0.4585, 0.4209, 0.3934, 0.3771, 0.3667, 0.3606, 0.3563, 0.3954",\
                 "0.6228, 0.5897, 0.5264, 0.4826, 0.4498, 0.4266, 0.4133, 0.4055, 0.4052, 0.4567",\
                 "0.7146, 0.6791, 0.6077, 0.5568, 0.5182, 0.4873, 0.4674, 0.4598, 0.4617, 0.5471");
        }
      }

      internal_power() {
        related_pin : "E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("0.6587, 0.6299, 0.5596, 0.4896, 0.445, 0.416, 0.3958, 0.3814, 0.3709, 0.363",\
                 "0.6586, 0.63, 0.5596, 0.4895, 0.4449, 0.4159, 0.3958, 0.3814, 0.3708, 0.363",\
                 "0.6586, 0.6299, 0.5594, 0.4895, 0.4448, 0.4159, 0.3958, 0.3813, 0.3707, 0.3628",\
                 "0.6584, 0.6297, 0.5593, 0.4892, 0.4447, 0.4157, 0.3956, 0.3812, 0.3706, 0.3628",\
                 "0.6584, 0.6297, 0.5593, 0.4893, 0.4447, 0.4156, 0.3955, 0.3811, 0.3705, 0.3627",\
                 "0.6589, 0.6301, 0.5597, 0.4897, 0.445, 0.4161, 0.3959, 0.3814, 0.3709, 0.363",\
                 "0.6596, 0.6308, 0.5605, 0.4904, 0.4457, 0.4166, 0.3962, 0.3818, 0.3712, 0.3633",\
                 "0.6621, 0.6335, 0.5628, 0.4925, 0.4475, 0.4182, 0.3979, 0.3832, 0.3725, 0.3647",\
                 "0.6673, 0.6382, 0.5674, 0.4963, 0.4508, 0.4212, 0.4005, 0.3857, 0.3749, 0.3669",\
                 "0.6742, 0.6451, 0.5734, 0.5016, 0.4554, 0.4252, 0.4041, 0.3891, 0.378, 0.3698");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3826, 0.3579, 0.3224, 0.3013, 0.2889, 0.2826, 0.2799, 0.2788, 0.2799, 0.2951",\
                 "0.3826, 0.3578, 0.3225, 0.3012, 0.2889, 0.282, 0.279, 0.2796, 0.2807, 0.2975",\
                 "0.3826, 0.3578, 0.3219, 0.3013, 0.2897, 0.2829, 0.2792, 0.2795, 0.2799, 0.2973",\
                 "0.3828, 0.358, 0.3227, 0.3014, 0.289, 0.2821, 0.279, 0.279, 0.2798, 0.2989",\
                 "0.3829, 0.358, 0.3224, 0.3015, 0.2894, 0.2824, 0.2799, 0.2789, 0.2801, 0.3022",\
                 "0.3829, 0.3581, 0.3228, 0.3017, 0.2892, 0.2833, 0.2805, 0.2792, 0.2818, 0.3079",\
                 "0.3833, 0.3585, 0.3227, 0.3007, 0.2907, 0.2842, 0.2801, 0.28, 0.2814, 0.3144",\
                 "0.3833, 0.3585, 0.3227, 0.301, 0.2882, 0.2838, 0.2824, 0.2815, 0.2849, 0.3272",\
                 "0.3835, 0.3585, 0.3229, 0.3008, 0.289, 0.2823, 0.2819, 0.284, 0.29, 0.3517",\
                 "0.3833, 0.3583, 0.3231, 0.302, 0.2884, 0.2791, 0.2773, 0.281, 0.2951, 0.3928");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("1.254, 1.336, 1.539, 1.808, 2.12, 2.479, 2.89, 3.368, 3.929, 4.584",\
                 "1.269, 1.35, 1.554, 1.822, 2.134, 2.493, 2.904, 3.383, 3.943, 4.598",\
                 "1.308, 1.39, 1.593, 1.861, 2.174, 2.533, 2.944, 3.422, 3.982, 4.637",\
                 "1.383, 1.465, 1.668, 1.937, 2.249, 2.608, 3.019, 3.497, 4.058, 4.713",\
                 "1.52, 1.601, 1.805, 2.073, 2.385, 2.744, 3.155, 3.633, 4.194, 4.849",\
                 "1.732, 1.814, 2.017, 2.284, 2.596, 2.955, 3.366, 3.844, 4.404, 5.059",\
                 "2.003, 2.088, 2.296, 2.569, 2.883, 3.243, 3.655, 4.134, 4.693, 5.348",\
                 "2.336, 2.422, 2.635, 2.914, 3.235, 3.601, 4.016, 4.496, 5.057, 5.711",\
                 "2.73, 2.818, 3.037, 3.322, 3.649, 4.021, 4.442, 4.925, 5.487, 6.142",\
                 "3.178, 3.27, 3.497, 3.792, 4.127, 4.505, 4.933, 5.42, 5.984, 6.639");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("0.7794, 0.8472, 1.024, 1.292, 1.659, 2.15, 2.792, 3.601, 4.591, 5.767",\
                 "0.7872, 0.855, 1.032, 1.3, 1.666, 2.158, 2.8, 3.608, 4.598, 5.776",\
                 "0.8095, 0.8774, 1.054, 1.322, 1.689, 2.18, 2.822, 3.631, 4.62, 5.798",\
                 "0.8568, 0.9247, 1.101, 1.369, 1.736, 2.227, 2.869, 3.677, 4.666, 5.845",\
                 "0.9317, 1, 1.177, 1.445, 1.81, 2.301, 2.942, 3.751, 4.739, 5.919",\
                 "1.004, 1.075, 1.257, 1.528, 1.894, 2.384, 3.024, 3.832, 4.818, 5.998",\
                 "1.06, 1.134, 1.321, 1.596, 1.965, 2.456, 3.094, 3.901, 4.888, 6.064",\
                 "1.092, 1.17, 1.364, 1.644, 2.016, 2.506, 3.144, 3.949, 4.934, 6.109",\
                 "1.091, 1.173, 1.375, 1.662, 2.04, 2.532, 3.169, 3.972, 4.955, 6.128",\
                 "1.053, 1.139, 1.351, 1.645, 2.031, 2.528, 3.167, 3.968, 4.95, 6.122");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3432, 0.427, 0.6264, 0.8562, 1.157, 1.546, 2.055, 2.729, 3.576, 4.627",\
                 "0.3432, 0.4278, 0.6266, 0.8564, 1.157, 1.546, 2.058, 2.727, 3.578, 4.626",\
                 "0.344, 0.428, 0.6266, 0.8564, 1.156, 1.546, 2.058, 2.727, 3.58, 4.625",\
                 "0.3442, 0.4282, 0.6268, 0.8562, 1.157, 1.546, 2.058, 2.726, 3.576, 4.628",\
                 "0.3426, 0.4276, 0.627, 0.8566, 1.158, 1.546, 2.058, 2.726, 3.576, 4.624",\
                 "0.3486, 0.4328, 0.6324, 0.8614, 1.16, 1.549, 2.06, 2.73, 3.581, 4.627",\
                 "0.3692, 0.4558, 0.6578, 0.8838, 1.176, 1.561, 2.068, 2.734, 3.584, 4.627",\
                 "0.3898, 0.4768, 0.6854, 0.9164, 1.209, 1.59, 2.088, 2.745, 3.587, 4.632",\
                 "0.4166, 0.507, 0.7202, 0.9526, 1.245, 1.624, 2.119, 2.77, 3.6, 4.635",\
                 "0.4532, 0.5478, 0.7674, 1.002, 1.292, 1.669, 2.157, 2.798, 3.622, 4.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1992, 0.2724, 0.4861, 0.8454, 1.407, 2.239, 3.361, 4.791, 6.526, 8.609",\
                 "0.1996, 0.2722, 0.4869, 0.847, 1.408, 2.239, 3.361, 4.787, 6.535, 8.614",\
                 "0.1997, 0.2721, 0.4866, 0.847, 1.408, 2.239, 3.361, 4.788, 6.536, 8.613",\
                 "0.1992, 0.2718, 0.4868, 0.847, 1.408, 2.239, 3.361, 4.788, 6.534, 8.618",\
                 "0.2052, 0.2778, 0.49, 0.8478, 1.41, 2.24, 3.36, 4.784, 6.528, 8.608",\
                 "0.2214, 0.2954, 0.507, 0.8628, 1.418, 2.242, 3.358, 4.784, 6.527, 8.609",\
                 "0.2404, 0.3158, 0.5274, 0.8836, 1.432, 2.247, 3.361, 4.783, 6.528, 8.619",\
                 "0.2648, 0.3424, 0.5532, 0.9096, 1.451, 2.257, 3.366, 4.791, 6.525, 8.617",\
                 "0.2944, 0.3742, 0.5858, 0.9412, 1.479, 2.275, 3.372, 4.787, 6.53, 8.612",\
                 "0.3282, 0.4116, 0.624, 0.9776, 1.517, 2.307, 3.393, 4.799, 6.529, 8.606");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("1.321, 1.403, 1.606, 1.875, 2.187, 2.546, 2.957, 3.436, 3.996, 4.651",\
                 "1.335, 1.416, 1.62, 1.888, 2.2, 2.559, 2.971, 3.449, 4.009, 4.664",\
                 "1.382, 1.463, 1.666, 1.935, 2.247, 2.606, 3.017, 3.496, 4.056, 4.711",\
                 "1.436, 1.518, 1.721, 1.989, 2.302, 2.66, 3.072, 3.55, 4.111, 4.766",\
                 "1.477, 1.559, 1.762, 2.03, 2.343, 2.701, 3.112, 3.591, 4.151, 4.806",\
                 "1.504, 1.585, 1.789, 2.057, 2.369, 2.728, 3.139, 3.618, 4.178, 4.833",\
                 "1.515, 1.597, 1.8, 2.068, 2.381, 2.74, 3.151, 3.63, 4.19, 4.845",\
                 "1.51, 1.592, 1.795, 2.063, 2.376, 2.735, 3.146, 3.625, 4.185, 4.84",\
                 "1.484, 1.566, 1.77, 2.038, 2.351, 2.71, 3.121, 3.6, 4.16, 4.815",\
                 "1.433, 1.516, 1.72, 1.99, 2.303, 2.662, 3.074, 3.553, 4.113, 4.768");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("1.101, 1.169, 1.346, 1.614, 1.98, 2.472, 3.114, 3.923, 4.91, 6.092",\
                 "1.115, 1.183, 1.359, 1.627, 1.994, 2.485, 3.127, 3.936, 4.926, 6.103",\
                 "1.164, 1.232, 1.408, 1.677, 2.043, 2.535, 3.177, 3.985, 4.975, 6.15",\
                 "1.223, 1.292, 1.468, 1.736, 2.103, 2.594, 3.236, 4.045, 5.033, 6.214",\
                 "1.27, 1.338, 1.514, 1.782, 2.149, 2.64, 3.282, 4.091, 5.079, 6.26",\
                 "1.3, 1.368, 1.544, 1.813, 2.179, 2.671, 3.313, 4.122, 5.108, 6.29",\
                 "1.311, 1.379, 1.556, 1.824, 2.191, 2.682, 3.324, 4.133, 5.121, 6.302",\
                 "1.299, 1.367, 1.544, 1.812, 2.179, 2.67, 3.312, 4.12, 5.107, 6.289",\
                 "1.264, 1.331, 1.507, 1.776, 2.142, 2.634, 3.276, 4.083, 5.071, 6.248",\
                 "1.2, 1.268, 1.444, 1.713, 2.079, 2.571, 3.213, 4.021, 5.009, 6.187");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3432, 0.4282, 0.6258, 0.8564, 1.156, 1.546, 2.056, 2.726, 3.577, 4.627",\
                 "0.343, 0.4278, 0.626, 0.8564, 1.156, 1.545, 2.057, 2.726, 3.578, 4.624",\
                 "0.3428, 0.4274, 0.6258, 0.8566, 1.156, 1.546, 2.059, 2.726, 3.581, 4.626",\
                 "0.3432, 0.427, 0.6262, 0.8566, 1.156, 1.545, 2.057, 2.729, 3.577, 4.622",\
                 "0.3426, 0.4278, 0.6258, 0.8564, 1.157, 1.546, 2.056, 2.727, 3.579, 4.622",\
                 "0.343, 0.428, 0.6262, 0.857, 1.156, 1.546, 2.057, 2.726, 3.581, 4.627",\
                 "0.3426, 0.4274, 0.6264, 0.8572, 1.156, 1.546, 2.057, 2.728, 3.578, 4.624",\
                 "0.3434, 0.4282, 0.6272, 0.8578, 1.157, 1.546, 2.057, 2.726, 3.577, 4.628",\
                 "0.3466, 0.4308, 0.6302, 0.86, 1.159, 1.549, 2.058, 2.725, 3.574, 4.619",\
                 "0.3502, 0.4348, 0.6346, 0.8644, 1.163, 1.551, 2.06, 2.728, 3.577, 4.622");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04574, 0.1122, 0.2158, 0.3612, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1996, 0.272, 0.4866, 0.8474, 1.408, 2.238, 3.357, 4.784, 6.525, 8.605",\
                 "0.1994, 0.272, 0.4866, 0.8472, 1.41, 2.237, 3.361, 4.791, 6.527, 8.613",\
                 "0.1996, 0.272, 0.4864, 0.8454, 1.408, 2.239, 3.361, 4.79, 6.541, 8.603",\
                 "0.1994, 0.272, 0.4866, 0.8472, 1.407, 2.239, 3.362, 4.784, 6.526, 8.606",\
                 "0.1992, 0.2716, 0.4866, 0.8474, 1.408, 2.237, 3.359, 4.784, 6.525, 8.605",\
                 "0.199, 0.2716, 0.4864, 0.846, 1.407, 2.238, 3.357, 4.783, 6.528, 8.606",\
                 "0.1992, 0.2716, 0.4868, 0.8468, 1.408, 2.236, 3.359, 4.785, 6.531, 8.607",\
                 "0.199, 0.2714, 0.4866, 0.8468, 1.409, 2.236, 3.358, 4.78, 6.532, 8.622",\
                 "0.1986, 0.2712, 0.4862, 0.8468, 1.409, 2.236, 3.356, 4.78, 6.526, 8.606",\
                 "0.1992, 0.2716, 0.4862, 0.8456, 1.408, 2.235, 3.358, 4.78, 6.52, 8.601");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latrnq_1) {
    area : 48.294400 ;

    latch(IQ2,IQN2) {
      enable : "E" ;
      data_in : "D" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!RN" ;
      value : "0.0001060257" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&RN" ;
      value : "0.0001270731" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!RN" ;
      value : "0.0001062831" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&RN" ;
      value : "0.0001065603" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!RN" ;
      value : "0.0001061016" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&RN" ;
      value : "0.0001487541" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!RN" ;
      value : "0.0001227567" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&RN" ;
      value : "0.000115599" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001487541" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.003026 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01129, 0.01138, 0.01156, 0.01177, 0.01194, 0.01205, 0.01211, \
                 0.01216, 0.01219, 0.0122");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008149, -0.008135, -0.008151, -0.008198, -0.008232, -0.008269, \
                 -0.008277, -0.00828, -0.008291, -0.00829");
        }
      }

      internal_power() {
        when : "!E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00901, 0.009021, 0.008994, 0.008996, 0.009016, 0.009025, 0.009022, \
                 0.009015, 0.009011, 0.009014");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008142, -0.008129, -0.008152, -0.008208, -0.00822, -0.008245, \
                 -0.008272, -0.008275, -0.008287, -0.008291");
        }
      }

      internal_power() {
        when : "E&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009225, 0.009211, 0.009215, 0.009202, 0.009199, 0.009204, 0.009201, \
                 0.009201, 0.009203, 0.009192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006878, -0.006879, -0.006875, -0.006881, -0.006875, -0.00691, \
                 -0.00692, -0.006931, -0.006945, -0.006975");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.567, -0.553, -0.498, -0.428, -0.34, -0.245, -0.137, -0.011, 0.138, 0.304",\
                 "-0.582, -0.565, -0.51, -0.438, -0.355, -0.254, -0.15, -0.02, 0.121, 0.293",\
                 "-0.618, -0.604, -0.551, -0.477, -0.391, -0.291, -0.178, -0.056, 0.089, 0.262",\
                 "-0.698, -0.681, -0.63, -0.558, -0.47, -0.365, -0.254, -0.118, 0.032, 0.204",\
                 "-0.836, -0.819, -0.764, -0.691, -0.598, -0.486, -0.373, -0.232, -0.078, 0.1",\
                 "-1.015, -1.002, -0.94, -0.863, -0.775, -0.658, -0.537, -0.39, -0.237, -0.052",\
                 "-1.238, -1.221, -1.163, -1.084, -0.994, -0.877, -0.743, -0.598, -0.434, -0.245",\
                 "-1.5, -1.479, -1.417, -1.337, -1.249, -1.134, -0.983, -0.835, -0.672, -0.478",\
                 "-1.786, -1.767, -1.703, -1.622, -1.54, -1.419, -1.274, -1.111, -0.934, -0.74",\
                 "-2.115, -2.09, -2.021, -1.944, -1.857, -1.739, -1.581, -1.405, -1.224, -1.023");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.487, -0.484, -0.492, -0.537, -0.63, -0.723, -0.794, -0.837, -0.849, -0.821",\
                 "-0.494, -0.493, -0.498, -0.544, -0.634, -0.726, -0.802, -0.844, -0.851, -0.824",\
                 "-0.517, -0.515, -0.519, -0.569, -0.652, -0.731, -0.803, -0.845, -0.854, -0.821",\
                 "-0.562, -0.556, -0.566, -0.605, -0.675, -0.745, -0.813, -0.853, -0.859, -0.825",\
                 "-0.62, -0.61, -0.616, -0.648, -0.706, -0.767, -0.83, -0.869, -0.882, -0.853",\
                 "-0.664, -0.66, -0.66, -0.68, -0.731, -0.793, -0.854, -0.904, -0.929, -0.912",\
                 "-0.69, -0.69, -0.682, -0.705, -0.753, -0.81, -0.88, -0.94, -0.978, -0.987",\
                 "-0.703, -0.697, -0.69, -0.709, -0.752, -0.823, -0.905, -0.978, -1.043, -1.068",\
                 "-0.68, -0.675, -0.669, -0.687, -0.736, -0.816, -0.913, -1.009, -1.097, -1.154",\
                 "-0.632, -0.628, -0.626, -0.64, -0.695, -0.782, -0.896, -1.014, -1.134, -1.233");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.647, 0.627, 0.573, 0.51, 0.437, 0.36, 0.305, 0.265, 0.251, 0.233",\
                 "0.657, 0.643, 0.586, 0.524, 0.448, 0.371, 0.313, 0.276, 0.248, 0.231",\
                 "0.694, 0.681, 0.622, 0.558, 0.488, 0.406, 0.341, 0.292, 0.25, 0.221",\
                 "0.771, 0.758, 0.7, 0.636, 0.56, 0.475, 0.404, 0.326, 0.265, 0.205",\
                 "0.903, 0.888, 0.835, 0.765, 0.687, 0.592, 0.488, 0.395, 0.296, 0.193",\
                 "1.084, 1.066, 1.011, 0.937, 0.854, 0.745, 0.631, 0.516, 0.389, 0.259",\
                 "1.305, 1.29, 1.226, 1.145, 1.063, 0.945, 0.816, 0.686, 0.54, 0.381",\
                 "1.559, 1.538, 1.467, 1.391, 1.308, 1.193, 1.051, 0.899, 0.739, 0.574",\
                 "1.842, 1.823, 1.752, 1.675, 1.587, 1.471, 1.315, 1.151, 0.98, 0.794",\
                 "2.163, 2.137, 2.064, 1.984, 1.898, 1.778, 1.617, 1.437, 1.251, 1.054");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.555, 0.552, 0.562, 0.647, 0.861, 1.224, 1.713, 2.348, 3.133, 4.059",\
                 "0.562, 0.556, 0.569, 0.65, 0.872, 1.232, 1.718, 2.354, 3.13, 4.063",\
                 "0.581, 0.58, 0.591, 0.674, 0.888, 1.236, 1.718, 2.324, 3.087, 3.985",\
                 "0.635, 0.633, 0.636, 0.712, 0.914, 1.235, 1.682, 2.25, 2.956, 3.797",\
                 "0.688, 0.68, 0.687, 0.749, 0.921, 1.205, 1.597, 2.113, 2.756, 3.511",\
                 "0.733, 0.73, 0.736, 0.79, 0.933, 1.187, 1.548, 2.024, 2.616, 3.331",\
                 "0.766, 0.758, 0.764, 0.815, 0.937, 1.174, 1.51, 1.965, 2.526, 3.221",\
                 "0.774, 0.774, 0.777, 0.817, 0.931, 1.151, 1.481, 1.929, 2.495, 3.183",\
                 "0.759, 0.755, 0.76, 0.801, 0.906, 1.109, 1.433, 1.873, 2.451, 3.154",\
                 "0.715, 0.712, 0.718, 0.753, 0.851, 1.054, 1.367, 1.82, 2.395, 3.122");
        }
      }
    }

    pin(E) {
      capacitance : 0.007231 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.723 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06447, 0.06379, 0.06549, 0.07208, 0.0848, 0.1042, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003844, 0.003354, 0.004228, 0.009437, 0.02035, 0.03735, 0.06097, \
                 0.09147, 0.1293, 0.1747");
        }
      }

      internal_power() {
        when : "!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06446, 0.06378, 0.06544, 0.07204, 0.08478, 0.1042, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0008911, 0.0004026, 0.001236, 0.006461, 0.01735, 0.03441, 0.05798, \
                 0.08853, 0.1263, 0.1718");
        }
      }

      internal_power() {
        when : "D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06467, 0.064, 0.06568, 0.07228, 0.08497, 0.1043, 0.1309, 0.1649, \
                 0.2072, 0.2579");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01188, 0.01137, 0.01224, 0.01748, 0.02837, 0.04538, 0.06896, \
                 0.09947, 0.1373, 0.1827");
        }
      }

      internal_power() {
        when : "D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06454, 0.0638, 0.06561, 0.07239, 0.0852, 0.1047, 0.1313, 0.1655, \
                 0.2078, 0.2586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0006789, 0.0001712, 0.001008, 0.006177, 0.01687, 0.03384, 0.05739, \
                 0.0879, 0.1256, 0.1711");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN" ;

        rise_constraint(scalar) {
          values("0.723");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN" ;

        rise_constraint(scalar) {
          values("0.492");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ2" ;
      max_capacitance : 0.3601 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1947, 0.1945, 0.1945, 0.1948, 0.1949, 0.195, 0.1951, 0.1951, 0.1951, 0.1951",\
                 "0.1945, 0.1943, 0.1943, 0.1945, 0.1947, 0.1948, 0.1948, 0.1948, 0.1948, 0.1949",\
                 "0.194, 0.1938, 0.1938, 0.194, 0.1942, 0.1943, 0.1943, 0.1944, 0.1944, 0.1944",\
                 "0.1958, 0.1955, 0.1956, 0.1958, 0.196, 0.1961, 0.1961, 0.1962, 0.1962, 0.1962",\
                 "0.2027, 0.2025, 0.2026, 0.2028, 0.203, 0.2031, 0.2031, 0.2031, 0.2031, 0.2032",\
                 "0.2153, 0.2152, 0.2152, 0.2153, 0.2155, 0.2157, 0.2157, 0.2157, 0.2157, 0.2157",\
                 "0.2344, 0.2342, 0.2343, 0.2344, 0.2345, 0.2346, 0.2346, 0.2346, 0.2347, 0.2347",\
                 "0.2598, 0.2596, 0.2595, 0.2597, 0.2599, 0.26, 0.26, 0.2601, 0.2601, 0.2601",\
                 "0.2915, 0.2912, 0.2912, 0.2912, 0.2914, 0.2915, 0.2915, 0.2916, 0.2916, 0.2916",\
                 "0.3291, 0.3289, 0.3288, 0.3288, 0.329, 0.3291, 0.3292, 0.3292, 0.3293, 0.3293");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1476, 0.1476, 0.1477, 0.1482, 0.1488, 0.1496, 0.1501, 0.1509, 0.1518, 0.1557",\
                 "0.1472, 0.147, 0.1472, 0.1478, 0.1484, 0.1493, 0.1499, 0.1502, 0.1514, 0.1553",\
                 "0.1469, 0.1468, 0.1469, 0.1474, 0.1481, 0.1488, 0.1494, 0.1502, 0.1515, 0.1554",\
                 "0.1489, 0.1487, 0.1488, 0.1496, 0.1503, 0.151, 0.1515, 0.1521, 0.1529, 0.1584",\
                 "0.1545, 0.1544, 0.1545, 0.1551, 0.1561, 0.1567, 0.1573, 0.1578, 0.1592, 0.1641",\
                 "0.1652, 0.165, 0.1651, 0.166, 0.1666, 0.167, 0.1676, 0.1684, 0.1693, 0.1757",\
                 "0.181, 0.1806, 0.1807, 0.1811, 0.1821, 0.1831, 0.1835, 0.1844, 0.1851, 0.193",\
                 "0.2022, 0.2019, 0.202, 0.2026, 0.2031, 0.204, 0.2053, 0.2061, 0.2072, 0.217",\
                 "0.2288, 0.2287, 0.2286, 0.2293, 0.2296, 0.2302, 0.2313, 0.2335, 0.2346, 0.2487",\
                 "0.2613, 0.261, 0.261, 0.2617, 0.2623, 0.2625, 0.2631, 0.2643, 0.2686, 0.2913");
        }
      }

      internal_power() {
        related_pin : "E" ;
        when : "RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.184, 0.1838, 0.1837, 0.184, 0.1841, 0.1842, 0.1842, 0.1843, 0.1843, 0.1843",\
                 "0.1839, 0.1837, 0.1837, 0.1839, 0.1841, 0.1842, 0.1843, 0.1843, 0.1843, 0.1843",\
                 "0.1837, 0.1835, 0.1835, 0.1837, 0.1839, 0.184, 0.184, 0.184, 0.1841, 0.1841",\
                 "0.1831, 0.183, 0.183, 0.1832, 0.1833, 0.1834, 0.1835, 0.1835, 0.1835, 0.1836",\
                 "0.1825, 0.1824, 0.1825, 0.1826, 0.1828, 0.1829, 0.1829, 0.183, 0.183, 0.183",\
                 "0.1823, 0.1822, 0.1821, 0.1824, 0.1825, 0.1825, 0.1826, 0.1826, 0.1827, 0.1827",\
                 "0.1827, 0.1825, 0.1825, 0.1827, 0.1829, 0.1829, 0.183, 0.183, 0.183, 0.1831",\
                 "0.1834, 0.1832, 0.1831, 0.1833, 0.1835, 0.1836, 0.1836, 0.1837, 0.1837, 0.1837",\
                 "0.1843, 0.1842, 0.1843, 0.1844, 0.1846, 0.1846, 0.1847, 0.1847, 0.1847, 0.1848",\
                 "0.1855, 0.1853, 0.1854, 0.1857, 0.1859, 0.1858, 0.1859, 0.1859, 0.1859, 0.1859");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1497, 0.1496, 0.1497, 0.1503, 0.1509, 0.1517, 0.1526, 0.1528, 0.1537, 0.1577",\
                 "0.1498, 0.1496, 0.1498, 0.1504, 0.151, 0.1519, 0.1524, 0.153, 0.1537, 0.1585",\
                 "0.1501, 0.1499, 0.1501, 0.1506, 0.1513, 0.152, 0.1526, 0.1531, 0.1542, 0.1588",\
                 "0.1528, 0.1526, 0.1528, 0.1534, 0.154, 0.1549, 0.1554, 0.156, 0.1569, 0.1612",\
                 "0.1592, 0.1589, 0.1592, 0.1598, 0.1604, 0.1612, 0.162, 0.1623, 0.1632, 0.1687",\
                 "0.1701, 0.1699, 0.1698, 0.1708, 0.1713, 0.1721, 0.1726, 0.1733, 0.1743, 0.1805",\
                 "0.1852, 0.1848, 0.185, 0.1854, 0.1865, 0.1875, 0.1879, 0.1885, 0.1892, 0.1977",\
                 "0.2025, 0.2019, 0.2021, 0.2027, 0.203, 0.2041, 0.2057, 0.2065, 0.2067, 0.2175",\
                 "0.2216, 0.2214, 0.2215, 0.2219, 0.2221, 0.223, 0.2239, 0.2265, 0.2273, 0.2416",\
                 "0.2427, 0.2425, 0.2425, 0.2428, 0.2436, 0.2438, 0.2443, 0.2461, 0.2501, 0.2718");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1802, 0.18, 0.1802, 0.1805, 0.1806, 0.1807, 0.1807, 0.1807, 0.1808, 0.1808",\
                 "0.1799, 0.1799, 0.18, 0.1803, 0.1804, 0.1805, 0.1805, 0.1805, 0.1805, 0.1806",\
                 "0.1804, 0.1802, 0.1804, 0.1807, 0.1808, 0.1808, 0.1809, 0.1809, 0.1809, 0.1809",\
                 "0.1842, 0.1841, 0.1842, 0.1845, 0.1846, 0.1847, 0.1847, 0.1847, 0.1847, 0.1848",\
                 "0.1939, 0.1938, 0.1939, 0.1942, 0.1943, 0.1944, 0.1945, 0.1945, 0.1945, 0.1945",\
                 "0.2097, 0.2095, 0.2095, 0.2098, 0.2099, 0.21, 0.21, 0.2101, 0.2101, 0.2101",\
                 "0.2308, 0.2307, 0.2308, 0.231, 0.2311, 0.2312, 0.2312, 0.2312, 0.2313, 0.2313",\
                 "0.257, 0.2569, 0.2568, 0.2571, 0.2573, 0.2573, 0.2574, 0.2574, 0.2574, 0.2575",\
                 "0.2876, 0.2873, 0.2873, 0.2875, 0.2877, 0.2878, 0.2879, 0.2879, 0.2879, 0.2879",\
                 "0.322, 0.3218, 0.3217, 0.3219, 0.3221, 0.3221, 0.3222, 0.3222, 0.3222, 0.3222");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1802, 0.18, 0.1802, 0.1805, 0.1806, 0.1807, 0.1807, 0.1807, 0.1808, 0.1808",\
                 "0.1799, 0.1799, 0.18, 0.1803, 0.1804, 0.1805, 0.1805, 0.1805, 0.1805, 0.1806",\
                 "0.1804, 0.1802, 0.1804, 0.1807, 0.1808, 0.1808, 0.1809, 0.1809, 0.1809, 0.1809",\
                 "0.1842, 0.1841, 0.1842, 0.1845, 0.1846, 0.1847, 0.1847, 0.1847, 0.1847, 0.1848",\
                 "0.1939, 0.1938, 0.1939, 0.1942, 0.1943, 0.1944, 0.1945, 0.1945, 0.1945, 0.1945",\
                 "0.2097, 0.2095, 0.2095, 0.2098, 0.2099, 0.21, 0.21, 0.2101, 0.2101, 0.2101",\
                 "0.2308, 0.2307, 0.2308, 0.231, 0.2311, 0.2312, 0.2312, 0.2312, 0.2313, 0.2313",\
                 "0.257, 0.2569, 0.2568, 0.2571, 0.2573, 0.2573, 0.2574, 0.2574, 0.2574, 0.2575",\
                 "0.2876, 0.2873, 0.2873, 0.2875, 0.2877, 0.2878, 0.2879, 0.2879, 0.2879, 0.2879",\
                 "0.322, 0.3218, 0.3217, 0.3219, 0.3221, 0.3221, 0.3222, 0.3222, 0.3222, 0.3222");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1801, 0.1799, 0.18, 0.1803, 0.1803, 0.1804, 0.1805, 0.1805, 0.1805, 0.1805",\
                 "0.18, 0.1799, 0.18, 0.1803, 0.1804, 0.1805, 0.1805, 0.1805, 0.1806, 0.1806",\
                 "0.1803, 0.1803, 0.1804, 0.1807, 0.1808, 0.1808, 0.1809, 0.1809, 0.1809, 0.1809",\
                 "0.1842, 0.184, 0.1842, 0.1845, 0.1846, 0.1846, 0.1847, 0.1847, 0.1847, 0.1847",\
                 "0.1939, 0.1938, 0.1938, 0.1941, 0.1943, 0.1944, 0.1944, 0.1945, 0.1945, 0.1945",\
                 "0.2097, 0.2095, 0.2095, 0.2098, 0.2099, 0.21, 0.2101, 0.2101, 0.2101, 0.2101",\
                 "0.2309, 0.2307, 0.2307, 0.2309, 0.2311, 0.2312, 0.2312, 0.2313, 0.2313, 0.2313",\
                 "0.2571, 0.2569, 0.2568, 0.2571, 0.2572, 0.2573, 0.2574, 0.2574, 0.2574, 0.2574",\
                 "0.2876, 0.2873, 0.2873, 0.2876, 0.2877, 0.2878, 0.2878, 0.2879, 0.2879, 0.2879",\
                 "0.3219, 0.3217, 0.3216, 0.3219, 0.322, 0.3221, 0.3221, 0.3222, 0.3222, 0.3222");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1801, 0.1799, 0.18, 0.1803, 0.1803, 0.1804, 0.1805, 0.1805, 0.1805, 0.1805",\
                 "0.18, 0.1799, 0.18, 0.1803, 0.1804, 0.1805, 0.1805, 0.1805, 0.1806, 0.1806",\
                 "0.1803, 0.1803, 0.1804, 0.1807, 0.1808, 0.1808, 0.1809, 0.1809, 0.1809, 0.1809",\
                 "0.1842, 0.184, 0.1842, 0.1845, 0.1846, 0.1846, 0.1847, 0.1847, 0.1847, 0.1847",\
                 "0.1939, 0.1938, 0.1938, 0.1941, 0.1943, 0.1944, 0.1944, 0.1945, 0.1945, 0.1945",\
                 "0.2097, 0.2095, 0.2095, 0.2098, 0.2099, 0.21, 0.2101, 0.2101, 0.2101, 0.2101",\
                 "0.2309, 0.2307, 0.2307, 0.2309, 0.2311, 0.2312, 0.2312, 0.2313, 0.2313, 0.2313",\
                 "0.2571, 0.2569, 0.2568, 0.2571, 0.2572, 0.2573, 0.2574, 0.2574, 0.2574, 0.2574",\
                 "0.2876, 0.2873, 0.2873, 0.2876, 0.2877, 0.2878, 0.2878, 0.2879, 0.2879, 0.2879",\
                 "0.3219, 0.3217, 0.3216, 0.3219, 0.322, 0.3221, 0.3221, 0.3222, 0.3222, 0.3222");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2022, 0.202, 0.2021, 0.2024, 0.2025, 0.2026, 0.2026, 0.2026, 0.2027, 0.2027",\
                 "0.2008, 0.2008, 0.2008, 0.2011, 0.2012, 0.2013, 0.2013, 0.2014, 0.2014, 0.2014",\
                 "0.2007, 0.2005, 0.2006, 0.2009, 0.201, 0.2011, 0.2011, 0.2011, 0.2011, 0.2012",\
                 "0.2044, 0.2043, 0.2043, 0.2046, 0.2047, 0.2048, 0.2048, 0.2049, 0.2049, 0.2049",\
                 "0.2133, 0.2131, 0.2131, 0.2134, 0.2135, 0.2137, 0.2137, 0.2137, 0.2137, 0.2138",\
                 "0.2273, 0.2271, 0.2271, 0.2274, 0.2276, 0.2275, 0.2275, 0.2276, 0.2276, 0.2276",\
                 "0.2497, 0.2495, 0.2494, 0.2497, 0.2498, 0.2499, 0.2499, 0.2499, 0.2499, 0.25",\
                 "0.2793, 0.279, 0.279, 0.2792, 0.2794, 0.2794, 0.2795, 0.2795, 0.2795, 0.2796",\
                 "0.3159, 0.3156, 0.3156, 0.3158, 0.3159, 0.316, 0.3161, 0.3161, 0.3161, 0.3161",\
                 "0.3597, 0.3596, 0.3595, 0.3595, 0.3596, 0.3597, 0.3598, 0.3598, 0.3599, 0.3599");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.148, 0.1479, 0.148, 0.1485, 0.1491, 0.15, 0.1505, 0.1512, 0.1522, 0.1563",\
                 "0.1477, 0.1475, 0.1477, 0.1482, 0.1489, 0.1497, 0.1504, 0.151, 0.152, 0.1566",\
                 "0.1473, 0.1471, 0.1473, 0.1479, 0.1489, 0.1494, 0.15, 0.1506, 0.1513, 0.1564",\
                 "0.1491, 0.1489, 0.1491, 0.1499, 0.1503, 0.1511, 0.1517, 0.1524, 0.1538, 0.1578",\
                 "0.1551, 0.155, 0.1553, 0.1556, 0.1563, 0.1571, 0.1577, 0.1583, 0.1592, 0.1645",\
                 "0.1664, 0.1663, 0.1663, 0.1672, 0.1679, 0.1683, 0.169, 0.1693, 0.1708, 0.1768",\
                 "0.1837, 0.1835, 0.1835, 0.1841, 0.1851, 0.1862, 0.1865, 0.1869, 0.1879, 0.1958",\
                 "0.2074, 0.2072, 0.2071, 0.2075, 0.208, 0.2093, 0.2105, 0.2111, 0.212, 0.2214",\
                 "0.2369, 0.2366, 0.2367, 0.2373, 0.2376, 0.2382, 0.2394, 0.2414, 0.2429, 0.2563",\
                 "0.2729, 0.2726, 0.2724, 0.2731, 0.2733, 0.2738, 0.2742, 0.2762, 0.2801, 0.3004");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("1.028, 1.056, 1.135, 1.265, 1.458, 1.727, 2.08, 2.526, 3.069, 3.717",\
                 "1.042, 1.07, 1.15, 1.279, 1.472, 1.741, 2.094, 2.54, 3.083, 3.731",\
                 "1.079, 1.107, 1.187, 1.316, 1.509, 1.778, 2.132, 2.577, 3.12, 3.768",\
                 "1.157, 1.185, 1.265, 1.395, 1.588, 1.856, 2.21, 2.655, 3.199, 3.847",\
                 "1.293, 1.321, 1.401, 1.53, 1.723, 1.992, 2.345, 2.791, 3.334, 3.982",\
                 "1.477, 1.505, 1.585, 1.715, 1.908, 2.177, 2.53, 2.975, 3.519, 4.167",\
                 "1.706, 1.735, 1.815, 1.945, 2.137, 2.406, 2.759, 3.205, 3.748, 4.396",\
                 "1.974, 2.003, 2.082, 2.212, 2.405, 2.674, 3.027, 3.473, 4.016, 4.664",\
                 "2.276, 2.304, 2.384, 2.513, 2.707, 2.976, 3.329, 3.774, 4.317, 4.966",\
                 "2.609, 2.638, 2.718, 2.847, 3.041, 3.31, 3.663, 4.108, 4.652, 5.3");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.9023, 0.9389, 1.058, 1.282, 1.631, 2.119, 2.762, 3.573, 4.561, 5.736",\
                 "0.9093, 0.9455, 1.064, 1.289, 1.638, 2.126, 2.769, 3.579, 4.568, 5.743",\
                 "0.9312, 0.9674, 1.086, 1.311, 1.66, 2.148, 2.791, 3.601, 4.59, 5.763",\
                 "0.9782, 1.014, 1.133, 1.358, 1.706, 2.195, 2.839, 3.649, 4.636, 5.814",\
                 "1.033, 1.07, 1.188, 1.413, 1.762, 2.251, 2.894, 3.704, 4.692, 5.866",\
                 "1.081, 1.117, 1.236, 1.46, 1.809, 2.297, 2.94, 3.749, 4.736, 5.914",\
                 "1.111, 1.147, 1.266, 1.49, 1.839, 2.327, 2.969, 3.779, 4.767, 5.945",\
                 "1.118, 1.154, 1.273, 1.497, 1.846, 2.335, 2.977, 3.785, 4.773, 5.951",\
                 "1.099, 1.135, 1.254, 1.478, 1.827, 2.316, 2.958, 3.767, 4.754, 5.93",\
                 "1.05, 1.087, 1.205, 1.43, 1.778, 2.267, 2.909, 3.718, 4.706, 5.882");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.0904, 0.1214, 0.2196, 0.411, 0.7264, 1.176, 1.769, 2.516, 3.429, 4.518",\
                 "0.0906, 0.1214, 0.2194, 0.4112, 0.7266, 1.175, 1.769, 2.515, 3.43, 4.522",\
                 "0.091, 0.1218, 0.2192, 0.411, 0.7266, 1.175, 1.769, 2.515, 3.431, 4.521",\
                 "0.0906, 0.1214, 0.2194, 0.4106, 0.7262, 1.175, 1.769, 2.517, 3.431, 4.522",\
                 "0.0908, 0.1214, 0.2198, 0.4112, 0.7262, 1.176, 1.769, 2.516, 3.431, 4.521",\
                 "0.0912, 0.122, 0.2196, 0.4112, 0.7244, 1.176, 1.768, 2.514, 3.431, 4.522",\
                 "0.0916, 0.1218, 0.2202, 0.4108, 0.725, 1.174, 1.766, 2.516, 3.429, 4.515",\
                 "0.0918, 0.1222, 0.2198, 0.4116, 0.7256, 1.175, 1.767, 2.514, 3.425, 4.515",\
                 "0.0918, 0.1228, 0.2214, 0.4114, 0.7248, 1.176, 1.767, 2.515, 3.424, 4.511",\
                 "0.0926, 0.1236, 0.221, 0.4118, 0.7264, 1.175, 1.767, 2.514, 3.427, 4.513");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1152, 0.1678, 0.3671, 0.7586, 1.372, 2.233, 3.368, 4.792, 6.537, 8.617",\
                 "0.1149, 0.1678, 0.3668, 0.7588, 1.371, 2.232, 3.363, 4.798, 6.537, 8.616",\
                 "0.115, 0.1682, 0.3666, 0.759, 1.372, 2.233, 3.366, 4.794, 6.537, 8.609",\
                 "0.115, 0.168, 0.3666, 0.7588, 1.372, 2.232, 3.365, 4.794, 6.533, 8.611",\
                 "0.1152, 0.1682, 0.3664, 0.759, 1.372, 2.233, 3.365, 4.792, 6.536, 8.606",\
                 "0.115, 0.1682, 0.367, 0.7596, 1.372, 2.232, 3.365, 4.792, 6.532, 8.615",\
                 "0.1152, 0.1682, 0.3666, 0.759, 1.373, 2.233, 3.369, 4.79, 6.531, 8.605",\
                 "0.1156, 0.1686, 0.3668, 0.7588, 1.372, 2.232, 3.362, 4.792, 6.53, 8.605",\
                 "0.1162, 0.169, 0.3668, 0.759, 1.372, 2.231, 3.366, 4.787, 6.531, 8.62",\
                 "0.1162, 0.169, 0.3668, 0.7584, 1.371, 2.233, 3.364, 4.79, 6.532, 8.6");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("1.076, 1.105, 1.184, 1.314, 1.507, 1.776, 2.129, 2.574, 3.118, 3.766",\
                 "1.09, 1.118, 1.198, 1.328, 1.52, 1.789, 2.143, 2.588, 3.132, 3.779",\
                 "1.131, 1.159, 1.239, 1.369, 1.561, 1.83, 2.184, 2.629, 3.173, 3.82",\
                 "1.168, 1.196, 1.276, 1.405, 1.598, 1.867, 2.22, 2.666, 3.209, 3.857",\
                 "1.195, 1.223, 1.303, 1.433, 1.626, 1.894, 2.248, 2.693, 3.237, 3.884",\
                 "1.206, 1.234, 1.314, 1.443, 1.636, 1.905, 2.258, 2.704, 3.247, 3.895",\
                 "1.198, 1.226, 1.305, 1.435, 1.628, 1.897, 2.25, 2.695, 3.239, 3.887",\
                 "1.168, 1.196, 1.276, 1.405, 1.598, 1.867, 2.221, 2.666, 3.209, 3.857",\
                 "1.114, 1.143, 1.222, 1.352, 1.545, 1.813, 2.167, 2.612, 3.156, 3.803",\
                 "1.035, 1.063, 1.143, 1.274, 1.467, 1.734, 2.088, 2.533, 3.077, 3.724");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8346, 0.8707, 0.9896, 1.214, 1.563, 2.052, 2.694, 3.503, 4.493, 5.671",\
                 "0.8459, 0.8821, 1.001, 1.225, 1.574, 2.063, 2.706, 3.517, 4.504, 5.681",\
                 "0.8839, 0.92, 1.039, 1.263, 1.612, 2.101, 2.744, 3.553, 4.543, 5.718",\
                 "0.9548, 0.9909, 1.11, 1.334, 1.683, 2.172, 2.815, 3.626, 4.612, 5.79",\
                 "1.023, 1.059, 1.178, 1.402, 1.751, 2.24, 2.882, 3.691, 4.681, 5.859",\
                 "1.076, 1.113, 1.231, 1.456, 1.804, 2.293, 2.936, 3.746, 4.734, 5.912",\
                 "1.109, 1.144, 1.263, 1.488, 1.837, 2.325, 2.967, 3.776, 4.765, 5.942",\
                 "1.113, 1.148, 1.267, 1.492, 1.84, 2.329, 2.971, 3.78, 4.767, 5.944",\
                 "1.083, 1.12, 1.238, 1.462, 1.811, 2.3, 2.942, 3.751, 4.738, 5.914",\
                 "1.017, 1.053, 1.172, 1.397, 1.745, 2.233, 2.876, 3.685, 4.672, 5.849");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.091, 0.1216, 0.2192, 0.411, 0.7262, 1.176, 1.769, 2.515, 3.431, 4.522",\
                 "0.0906, 0.1216, 0.22, 0.4106, 0.7264, 1.176, 1.769, 2.517, 3.431, 4.522",\
                 "0.091, 0.1216, 0.2192, 0.4112, 0.7256, 1.175, 1.769, 2.515, 3.432, 4.522",\
                 "0.0906, 0.1216, 0.2192, 0.4116, 0.7262, 1.175, 1.769, 2.516, 3.431, 4.522",\
                 "0.0904, 0.1218, 0.2198, 0.411, 0.7256, 1.176, 1.769, 2.514, 3.431, 4.521",\
                 "0.0902, 0.1212, 0.22, 0.4114, 0.7244, 1.175, 1.769, 2.516, 3.431, 4.522",\
                 "0.0904, 0.1214, 0.2194, 0.4112, 0.7258, 1.175, 1.766, 2.513, 3.427, 4.513",\
                 "0.0906, 0.1214, 0.2192, 0.4108, 0.725, 1.174, 1.766, 2.513, 3.425, 4.512",\
                 "0.0904, 0.1218, 0.2196, 0.4108, 0.7266, 1.175, 1.77, 2.514, 3.426, 4.512",\
                 "0.0908, 0.1214, 0.2192, 0.4108, 0.7264, 1.174, 1.768, 2.516, 3.425, 4.512");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1147, 0.1679, 0.3662, 0.7588, 1.372, 2.231, 3.366, 4.792, 6.535, 8.614",\
                 "0.115, 0.168, 0.3667, 0.759, 1.372, 2.231, 3.366, 4.793, 6.535, 8.612",\
                 "0.1148, 0.1678, 0.3664, 0.7588, 1.372, 2.232, 3.367, 4.798, 6.534, 8.607",\
                 "0.115, 0.168, 0.3666, 0.759, 1.372, 2.232, 3.365, 4.794, 6.533, 8.611",\
                 "0.115, 0.1682, 0.3664, 0.759, 1.372, 2.232, 3.365, 4.79, 6.535, 8.614",\
                 "0.1154, 0.1682, 0.3666, 0.7598, 1.372, 2.231, 3.363, 4.794, 6.536, 8.614",\
                 "0.1154, 0.1684, 0.3666, 0.7588, 1.372, 2.232, 3.368, 4.791, 6.532, 8.608",\
                 "0.1156, 0.1684, 0.3666, 0.759, 1.374, 2.232, 3.363, 4.792, 6.53, 8.611",\
                 "0.1162, 0.169, 0.3666, 0.7586, 1.371, 2.233, 3.365, 4.787, 6.526, 8.62",\
                 "0.1166, 0.1692, 0.3668, 0.7588, 1.372, 2.232, 3.365, 4.789, 6.535, 8.601");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b0 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7578, 0.7861, 0.8656, 0.9952, 1.188, 1.457, 1.811, 2.256, 2.8, 3.447",\
                 "0.7741, 0.8023, 0.8817, 1.011, 1.204, 1.473, 1.826, 2.272, 2.816, 3.464",\
                 "0.8398, 0.868, 0.9474, 1.077, 1.27, 1.539, 1.892, 2.338, 2.881, 3.53",\
                 "0.9723, 1, 1.08, 1.21, 1.402, 1.671, 2.025, 2.47, 3.014, 3.662",\
                 "1.158, 1.186, 1.265, 1.395, 1.588, 1.857, 2.21, 2.656, 3.2, 3.847",\
                 "1.374, 1.402, 1.482, 1.612, 1.804, 2.073, 2.427, 2.872, 3.416, 4.064",\
                 "1.623, 1.652, 1.731, 1.861, 2.054, 2.322, 2.676, 3.121, 3.665, 4.314",\
                 "1.907, 1.935, 2.015, 2.144, 2.337, 2.606, 2.959, 3.405, 3.948, 4.596",\
                 "2.225, 2.253, 2.333, 2.462, 2.655, 2.924, 3.278, 3.723, 4.266, 4.914",\
                 "2.578, 2.607, 2.686, 2.816, 3.009, 3.278, 3.631, 4.077, 4.62, 5.268");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.08984, 0.1208, 0.219, 0.4105, 0.7264, 1.176, 1.77, 2.517, 3.434, 4.524",\
                 "0.08968, 0.1207, 0.2189, 0.4111, 0.7264, 1.176, 1.77, 2.52, 3.433, 4.522",\
                 "0.08986, 0.1208, 0.219, 0.411, 0.7264, 1.176, 1.77, 2.517, 3.433, 4.523",\
                 "0.0896, 0.1204, 0.219, 0.411, 0.7264, 1.176, 1.77, 2.521, 3.433, 4.523",\
                 "0.0896, 0.121, 0.2192, 0.411, 0.7254, 1.176, 1.771, 2.519, 3.431, 4.525",\
                 "0.0898, 0.1214, 0.2194, 0.4104, 0.7246, 1.176, 1.77, 2.518, 3.435, 4.517",\
                 "0.0904, 0.1208, 0.2192, 0.4108, 0.725, 1.174, 1.767, 2.516, 3.429, 4.524",\
                 "0.09, 0.1218, 0.2188, 0.4112, 0.7264, 1.176, 1.77, 2.514, 3.427, 4.515",\
                 "0.0912, 0.1216, 0.22, 0.4108, 0.7262, 1.175, 1.767, 2.513, 3.425, 4.511",\
                 "0.0912, 0.1218, 0.22, 0.4112, 0.7262, 1.174, 1.769, 2.517, 3.429, 4.513");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7579, 0.7862, 0.8656, 0.9951, 1.188, 1.457, 1.81, 2.256, 2.8, 3.447",\
                 "0.774, 0.8023, 0.8817, 1.011, 1.204, 1.473, 1.826, 2.272, 2.816, 3.464",\
                 "0.8399, 0.8681, 0.9475, 1.077, 1.27, 1.539, 1.892, 2.338, 2.881, 3.53",\
                 "0.9722, 1, 1.08, 1.209, 1.402, 1.671, 2.024, 2.47, 3.014, 3.662",\
                 "1.157, 1.186, 1.265, 1.395, 1.588, 1.857, 2.21, 2.656, 3.199, 3.847",\
                 "1.374, 1.402, 1.482, 1.612, 1.804, 2.073, 2.427, 2.872, 3.416, 4.064",\
                 "1.623, 1.652, 1.731, 1.861, 2.054, 2.322, 2.676, 3.121, 3.665, 4.313",\
                 "1.907, 1.935, 2.015, 2.144, 2.337, 2.606, 2.96, 3.405, 3.948, 4.596",\
                 "2.225, 2.253, 2.333, 2.462, 2.655, 2.924, 3.278, 3.723, 4.266, 4.914",\
                 "2.578, 2.606, 2.686, 2.816, 3.009, 3.278, 3.631, 4.076, 4.62, 5.268");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.08984, 0.1207, 0.2188, 0.4112, 0.7264, 1.176, 1.77, 2.518, 3.432, 4.525",\
                 "0.08968, 0.1207, 0.219, 0.411, 0.7264, 1.176, 1.771, 2.521, 3.43, 4.523",\
                 "0.0896, 0.1208, 0.219, 0.411, 0.7262, 1.174, 1.771, 2.521, 3.435, 4.52",\
                 "0.0894, 0.1206, 0.2188, 0.4108, 0.7256, 1.175, 1.77, 2.521, 3.431, 4.525",\
                 "0.0898, 0.1206, 0.219, 0.4114, 0.7256, 1.176, 1.771, 2.519, 3.431, 4.525",\
                 "0.0898, 0.1208, 0.219, 0.4104, 0.7246, 1.176, 1.769, 2.517, 3.435, 4.521",\
                 "0.09, 0.1212, 0.2194, 0.4116, 0.7256, 1.174, 1.768, 2.516, 3.43, 4.523",\
                 "0.0906, 0.1212, 0.2196, 0.4108, 0.7264, 1.175, 1.768, 2.514, 3.427, 4.513",\
                 "0.091, 0.1216, 0.2194, 0.411, 0.726, 1.175, 1.766, 2.517, 3.424, 4.51",\
                 "0.091, 0.1218, 0.2192, 0.4112, 0.7254, 1.174, 1.769, 2.519, 3.427, 4.511");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7586, 0.7868, 0.8664, 0.996, 1.189, 1.458, 1.811, 2.256, 2.8, 3.448",\
                 "0.7729, 0.8012, 0.8808, 1.01, 1.203, 1.472, 1.826, 2.271, 2.815, 3.462",\
                 "0.8376, 0.8658, 0.9455, 1.075, 1.268, 1.537, 1.89, 2.335, 2.879, 3.528",\
                 "0.97, 0.9982, 1.078, 1.207, 1.4, 1.669, 2.022, 2.468, 3.011, 3.66",\
                 "1.155, 1.183, 1.263, 1.392, 1.585, 1.854, 2.207, 2.653, 3.196, 3.845",\
                 "1.372, 1.4, 1.48, 1.61, 1.803, 2.072, 2.425, 2.87, 3.414, 4.062",\
                 "1.624, 1.653, 1.733, 1.862, 2.055, 2.324, 2.677, 3.122, 3.666, 4.314",\
                 "1.912, 1.94, 2.019, 2.149, 2.342, 2.611, 2.964, 3.41, 3.953, 4.6",\
                 "2.233, 2.262, 2.342, 2.471, 2.664, 2.933, 3.286, 3.732, 4.275, 4.923",\
                 "2.591, 2.62, 2.7, 2.829, 3.022, 3.291, 3.645, 4.09, 4.633, 5.281");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.9164, 0.9529, 1.071, 1.296, 1.645, 2.134, 2.777, 3.587, 4.575, 5.75",\
                 "0.9244, 0.9607, 1.08, 1.304, 1.653, 2.141, 2.785, 3.596, 4.584, 5.76",\
                 "0.9367, 0.9729, 1.092, 1.316, 1.665, 2.154, 2.797, 3.608, 4.594, 5.772",\
                 "0.9582, 0.9944, 1.113, 1.338, 1.687, 2.175, 2.818, 3.629, 4.618, 5.79",\
                 "0.9837, 1.02, 1.139, 1.363, 1.712, 2.201, 2.844, 3.652, 4.642, 5.82",\
                 "1.004, 1.04, 1.159, 1.383, 1.732, 2.221, 2.863, 3.674, 4.663, 5.84",\
                 "1.01, 1.046, 1.165, 1.389, 1.738, 2.226, 2.869, 3.678, 4.665, 5.847",\
                 "0.9912, 1.027, 1.146, 1.37, 1.719, 2.208, 2.85, 3.659, 4.646, 5.824",\
                 "0.9424, 0.9786, 1.097, 1.322, 1.671, 2.159, 2.801, 3.61, 4.597, 5.774",\
                 "0.8614, 0.8976, 1.016, 1.241, 1.589, 2.078, 2.72, 3.529, 4.516, 5.693");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.09036, 0.1208, 0.2192, 0.4107, 0.7264, 1.175, 1.769, 2.517, 3.431, 4.525",\
                 "0.09012, 0.1211, 0.2192, 0.4111, 0.7264, 1.176, 1.77, 2.518, 3.433, 4.525",\
                 "0.09016, 0.121, 0.2188, 0.4108, 0.7264, 1.176, 1.77, 2.519, 3.434, 4.52",\
                 "0.09, 0.1212, 0.2188, 0.4104, 0.7256, 1.174, 1.77, 2.516, 3.434, 4.52",\
                 "0.0902, 0.121, 0.2194, 0.4114, 0.7264, 1.176, 1.768, 2.519, 3.434, 4.517",\
                 "0.0904, 0.1214, 0.2194, 0.4106, 0.7248, 1.175, 1.769, 2.515, 3.433, 4.523",\
                 "0.0908, 0.122, 0.2196, 0.4112, 0.7258, 1.174, 1.767, 2.515, 3.431, 4.518",\
                 "0.0916, 0.122, 0.2202, 0.411, 0.7264, 1.174, 1.766, 2.514, 3.428, 4.517",\
                 "0.0918, 0.1224, 0.2202, 0.4114, 0.725, 1.176, 1.768, 2.514, 3.425, 4.511",\
                 "0.0922, 0.1232, 0.2208, 0.4114, 0.7266, 1.175, 1.766, 2.516, 3.426, 4.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1149, 0.1681, 0.3666, 0.7588, 1.371, 2.233, 3.368, 4.793, 6.537, 8.617",\
                 "0.1149, 0.1679, 0.3668, 0.7586, 1.372, 2.232, 3.365, 4.794, 6.537, 8.611",\
                 "0.1148, 0.1676, 0.3666, 0.7586, 1.371, 2.233, 3.365, 4.794, 6.534, 8.612",\
                 "0.115, 0.1678, 0.3666, 0.7588, 1.372, 2.233, 3.366, 4.793, 6.537, 8.608",\
                 "0.115, 0.1684, 0.3664, 0.759, 1.372, 2.233, 3.366, 4.79, 6.535, 8.614",\
                 "0.1152, 0.1682, 0.3664, 0.759, 1.371, 2.233, 3.364, 4.798, 6.537, 8.61",\
                 "0.1156, 0.1684, 0.3664, 0.7588, 1.372, 2.231, 3.367, 4.791, 6.534, 8.609",\
                 "0.1156, 0.1686, 0.3666, 0.7596, 1.373, 2.232, 3.362, 4.793, 6.532, 8.606",\
                 "0.116, 0.169, 0.3668, 0.7588, 1.373, 2.231, 3.364, 4.79, 6.528, 8.615",\
                 "0.1164, 0.1694, 0.3668, 0.7586, 1.372, 2.233, 3.362, 4.788, 6.528, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7586, 0.7868, 0.8664, 0.996, 1.189, 1.458, 1.811, 2.256, 2.8, 3.448",\
                 "0.7729, 0.8012, 0.8808, 1.01, 1.203, 1.472, 1.826, 2.271, 2.815, 3.462",\
                 "0.8376, 0.8658, 0.9455, 1.075, 1.268, 1.537, 1.89, 2.335, 2.879, 3.528",\
                 "0.97, 0.9982, 1.078, 1.207, 1.4, 1.669, 2.022, 2.468, 3.011, 3.66",\
                 "1.155, 1.183, 1.263, 1.392, 1.585, 1.854, 2.207, 2.653, 3.196, 3.845",\
                 "1.372, 1.4, 1.48, 1.61, 1.803, 2.072, 2.425, 2.87, 3.414, 4.062",\
                 "1.624, 1.653, 1.733, 1.862, 2.055, 2.324, 2.677, 3.122, 3.666, 4.314",\
                 "1.912, 1.94, 2.019, 2.149, 2.342, 2.611, 2.964, 3.41, 3.953, 4.6",\
                 "2.233, 2.262, 2.342, 2.471, 2.664, 2.933, 3.286, 3.732, 4.275, 4.923",\
                 "2.591, 2.62, 2.7, 2.829, 3.022, 3.291, 3.645, 4.09, 4.633, 5.281");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.9164, 0.9529, 1.071, 1.296, 1.645, 2.134, 2.777, 3.587, 4.575, 5.75",\
                 "0.9244, 0.9607, 1.08, 1.304, 1.653, 2.141, 2.785, 3.596, 4.584, 5.76",\
                 "0.9367, 0.9729, 1.092, 1.316, 1.665, 2.154, 2.797, 3.608, 4.594, 5.772",\
                 "0.9582, 0.9944, 1.113, 1.338, 1.687, 2.175, 2.818, 3.629, 4.618, 5.79",\
                 "0.9837, 1.02, 1.139, 1.363, 1.712, 2.201, 2.844, 3.652, 4.642, 5.82",\
                 "1.004, 1.04, 1.159, 1.383, 1.732, 2.221, 2.863, 3.674, 4.663, 5.84",\
                 "1.01, 1.046, 1.165, 1.389, 1.738, 2.226, 2.869, 3.678, 4.665, 5.847",\
                 "0.9912, 1.027, 1.146, 1.37, 1.719, 2.208, 2.85, 3.659, 4.646, 5.824",\
                 "0.9424, 0.9786, 1.097, 1.322, 1.671, 2.159, 2.801, 3.61, 4.597, 5.774",\
                 "0.8614, 0.8976, 1.016, 1.241, 1.589, 2.078, 2.72, 3.529, 4.516, 5.693");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.08984, 0.1207, 0.2188, 0.4112, 0.7264, 1.176, 1.77, 2.518, 3.432, 4.525",\
                 "0.08968, 0.1207, 0.219, 0.411, 0.7264, 1.176, 1.771, 2.521, 3.43, 4.523",\
                 "0.0896, 0.1208, 0.219, 0.411, 0.7262, 1.174, 1.771, 2.521, 3.435, 4.52",\
                 "0.0894, 0.1206, 0.2188, 0.4108, 0.7256, 1.175, 1.77, 2.521, 3.431, 4.525",\
                 "0.0898, 0.1206, 0.219, 0.4114, 0.7256, 1.176, 1.771, 2.519, 3.431, 4.525",\
                 "0.0898, 0.1208, 0.219, 0.4104, 0.7246, 1.176, 1.769, 2.517, 3.435, 4.521",\
                 "0.09, 0.1212, 0.2194, 0.4116, 0.7256, 1.174, 1.768, 2.516, 3.43, 4.523",\
                 "0.0906, 0.1212, 0.2196, 0.4108, 0.7264, 1.175, 1.768, 2.514, 3.427, 4.513",\
                 "0.091, 0.1216, 0.2194, 0.411, 0.726, 1.175, 1.766, 2.517, 3.424, 4.51",\
                 "0.091, 0.1218, 0.2192, 0.4112, 0.7254, 1.174, 1.769, 2.519, 3.427, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1149, 0.1681, 0.3666, 0.7588, 1.371, 2.233, 3.368, 4.793, 6.537, 8.617",\
                 "0.1149, 0.1679, 0.3668, 0.7586, 1.372, 2.232, 3.365, 4.794, 6.537, 8.611",\
                 "0.1148, 0.1676, 0.3666, 0.7586, 1.371, 2.233, 3.365, 4.794, 6.534, 8.612",\
                 "0.115, 0.1678, 0.3666, 0.7588, 1.372, 2.233, 3.366, 4.793, 6.537, 8.608",\
                 "0.115, 0.1684, 0.3664, 0.759, 1.372, 2.233, 3.366, 4.79, 6.535, 8.614",\
                 "0.1152, 0.1682, 0.3664, 0.759, 1.371, 2.233, 3.364, 4.798, 6.537, 8.61",\
                 "0.1156, 0.1684, 0.3664, 0.7588, 1.372, 2.231, 3.367, 4.791, 6.534, 8.609",\
                 "0.1156, 0.1686, 0.3666, 0.7596, 1.373, 2.232, 3.362, 4.793, 6.532, 8.606",\
                 "0.116, 0.169, 0.3668, 0.7588, 1.373, 2.231, 3.364, 4.79, 6.528, 8.615",\
                 "0.1164, 0.1694, 0.3668, 0.7586, 1.372, 2.233, 3.362, 4.788, 6.528, 8.602");
        }
      }
    }

    pin(RN) {
      capacitance : 0.00514 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.445 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009057, 0.008515, 0.008398, 0.008366, 0.00836, 0.008367, 0.008375, \
                 0.008371, 0.008373, 0.00837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008372, -0.008357, -0.008356, -0.008347, -0.008339, -0.008354, \
                 -0.008349, -0.008346, -0.008348, -0.00835");
        }
      }

      internal_power() {
        when : "!D&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008913, 0.008407, 0.008383, 0.008364, 0.008361, 0.008377, 0.008373, \
                 0.008377, 0.008371, 0.008376");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008371, -0.008353, -0.008357, -0.008344, -0.008338, -0.008355, \
                 -0.00835, -0.00835, -0.008346, -0.008351");
        }
      }

      internal_power() {
        when : "D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009433, 0.008498, 0.008388, 0.008372, 0.008378, 0.008376, 0.008361, \
                 0.00838, 0.008375, 0.008374");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008366, -0.008355, -0.008356, -0.008351, -0.00834, -0.008359, \
                 -0.008351, -0.008351, -0.008346, -0.008352");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.567, 0.566, 0.573, 0.656, 0.876, 1.235, 1.722, 2.354, 3.133, 4.059",\
                 "0.575, 0.572, 0.581, 0.669, 0.88, 1.238, 1.727, 2.36, 3.138, 4.063",\
                 "0.587, 0.586, 0.598, 0.674, 0.896, 1.248, 1.736, 2.362, 3.12, 4.039",\
                 "0.608, 0.604, 0.619, 0.697, 0.903, 1.243, 1.712, 2.317, 3.07, 3.954",\
                 "0.635, 0.633, 0.643, 0.713, 0.909, 1.232, 1.677, 2.261, 2.973, 3.833",\
                 "0.658, 0.654, 0.66, 0.725, 0.907, 1.209, 1.635, 2.192, 2.878, 3.699",\
                 "0.673, 0.672, 0.674, 0.735, 0.897, 1.187, 1.599, 2.14, 2.815, 3.613",\
                 "0.662, 0.655, 0.665, 0.717, 0.864, 1.143, 1.539, 2.072, 2.724, 3.518",\
                 "0.624, 0.618, 0.627, 0.679, 0.821, 1.083, 1.486, 2.015, 2.684, 3.496",\
                 "0.549, 0.549, 0.557, 0.602, 0.737, 0.996, 1.389, 1.924, 2.602, 3.429");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.504, -0.498, -0.503, -0.557, -0.645, -0.735, -0.811, -0.855, -0.865, -0.831",\
                 "-0.507, -0.501, -0.51, -0.563, -0.648, -0.743, -0.819, -0.862, -0.875, -0.839",\
                 "-0.522, -0.521, -0.519, -0.575, -0.662, -0.75, -0.821, -0.87, -0.879, -0.848",\
                 "-0.544, -0.536, -0.543, -0.589, -0.67, -0.752, -0.823, -0.867, -0.877, -0.847",\
                 "-0.568, -0.564, -0.564, -0.612, -0.679, -0.758, -0.825, -0.876, -0.892, -0.865",\
                 "-0.589, -0.589, -0.589, -0.622, -0.687, -0.766, -0.833, -0.887, -0.919, -0.905",\
                 "-0.597, -0.596, -0.601, -0.625, -0.696, -0.776, -0.848, -0.911, -0.96, -0.966",\
                 "-0.591, -0.589, -0.59, -0.616, -0.686, -0.772, -0.866, -0.95, -1.016, -1.044",\
                 "-0.545, -0.547, -0.553, -0.582, -0.65, -0.753, -0.86, -0.969, -1.059, -1.127",\
                 "-0.475, -0.476, -0.482, -0.511, -0.582, -0.691, -0.825, -0.958, -1.089, -1.197");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E" ;

        fall_constraint(scalar) {
          values("0.445");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E" ;

        fall_constraint(scalar) {
          values("0.445");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latrnq_2) {
    area : 52.684800 ;

    latch(IQ2,IQN2) {
      enable : "E" ;
      data_in : "D" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!RN" ;
      value : "0.0001175592" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&RN" ;
      value : "0.0001386033" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!RN" ;
      value : "0.0001178166" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&RN" ;
      value : "0.0001180905" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!RN" ;
      value : "0.0001176351" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&RN" ;
      value : "0.0001598322" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!RN" ;
      value : "0.0001342902" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&RN" ;
      value : "0.0001266771" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001598322" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.003027 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01129, 0.01137, 0.01156, 0.01177, 0.01193, 0.01205, 0.01211, \
                 0.01216, 0.01219, 0.0122");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008153, -0.008135, -0.008151, -0.008197, -0.008228, -0.008268, \
                 -0.008276, -0.008284, -0.008294, -0.008293");
        }
      }

      internal_power() {
        when : "!E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009023, 0.009014, 0.008996, 0.008996, 0.009011, 0.009016, 0.00902, \
                 0.009018, 0.009019, 0.009014");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008143, -0.008128, -0.008152, -0.008209, -0.008217, -0.00825, \
                 -0.00827, -0.008276, -0.008286, -0.008291");
        }
      }

      internal_power() {
        when : "E&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009225, 0.009217, 0.009212, 0.009202, 0.009199, 0.009202, 0.009198, \
                 0.0092, 0.009203, 0.009192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006879, -0.006879, -0.006875, -0.006872, -0.006875, -0.00691, \
                 -0.006919, -0.006929, -0.006945, -0.006974");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.567, -0.553, -0.498, -0.428, -0.34, -0.24, -0.137, -0.011, 0.138, 0.304",\
                 "-0.582, -0.565, -0.51, -0.438, -0.355, -0.254, -0.15, -0.02, 0.129, 0.293",\
                 "-0.618, -0.604, -0.551, -0.477, -0.391, -0.291, -0.178, -0.056, 0.089, 0.262",\
                 "-0.698, -0.681, -0.624, -0.558, -0.47, -0.365, -0.254, -0.118, 0.032, 0.204",\
                 "-0.836, -0.819, -0.764, -0.691, -0.598, -0.486, -0.373, -0.232, -0.078, 0.1",\
                 "-1.015, -1.002, -0.94, -0.863, -0.775, -0.658, -0.53, -0.39, -0.237, -0.052",\
                 "-1.238, -1.221, -1.153, -1.084, -0.994, -0.877, -0.743, -0.598, -0.434, -0.245",\
                 "-1.5, -1.479, -1.411, -1.337, -1.249, -1.126, -0.983, -0.835, -0.672, -0.478",\
                 "-1.786, -1.767, -1.703, -1.622, -1.54, -1.419, -1.268, -1.111, -0.934, -0.74",\
                 "-2.115, -2.09, -2.021, -1.945, -1.851, -1.739, -1.581, -1.405, -1.224, -1.023");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.487, -0.484, -0.492, -0.537, -0.63, -0.723, -0.794, -0.837, -0.849, -0.815",\
                 "-0.494, -0.493, -0.498, -0.544, -0.633, -0.726, -0.802, -0.844, -0.851, -0.824",\
                 "-0.517, -0.515, -0.519, -0.569, -0.652, -0.731, -0.803, -0.845, -0.854, -0.821",\
                 "-0.562, -0.556, -0.566, -0.605, -0.675, -0.745, -0.813, -0.853, -0.859, -0.825",\
                 "-0.62, -0.61, -0.616, -0.648, -0.706, -0.767, -0.83, -0.869, -0.882, -0.853",\
                 "-0.664, -0.66, -0.66, -0.68, -0.731, -0.793, -0.854, -0.904, -0.929, -0.912",\
                 "-0.69, -0.69, -0.682, -0.705, -0.753, -0.81, -0.88, -0.94, -0.978, -0.987",\
                 "-0.703, -0.697, -0.69, -0.709, -0.752, -0.823, -0.905, -0.978, -1.037, -1.068",\
                 "-0.68, -0.675, -0.669, -0.687, -0.736, -0.816, -0.913, -1.009, -1.097, -1.154",\
                 "-0.632, -0.628, -0.621, -0.64, -0.695, -0.782, -0.896, -1.014, -1.134, -1.233");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.653, 0.634, 0.578, 0.51, 0.444, 0.366, 0.314, 0.277, 0.267, 0.259",\
                 "0.664, 0.643, 0.592, 0.524, 0.455, 0.377, 0.321, 0.282, 0.256, 0.247",\
                 "0.699, 0.681, 0.63, 0.558, 0.488, 0.406, 0.35, 0.298, 0.266, 0.242",\
                 "0.78, 0.758, 0.7, 0.636, 0.565, 0.475, 0.404, 0.333, 0.274, 0.216",\
                 "0.911, 0.896, 0.835, 0.771, 0.693, 0.592, 0.493, 0.403, 0.305, 0.199",\
                 "1.084, 1.072, 1.011, 0.937, 0.863, 0.745, 0.631, 0.516, 0.394, 0.259",\
                 "1.305, 1.29, 1.226, 1.145, 1.068, 0.951, 0.816, 0.686, 0.54, 0.388",\
                 "1.559, 1.538, 1.467, 1.398, 1.316, 1.193, 1.051, 0.904, 0.746, 0.574",\
                 "1.842, 1.823, 1.752, 1.675, 1.597, 1.471, 1.315, 1.151, 0.98, 0.803",\
                 "2.163, 2.137, 2.064, 1.989, 1.898, 1.785, 1.617, 1.445, 1.26, 1.054");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.567, 0.566, 0.573, 0.656, 0.876, 1.247, 1.756, 2.401, 3.196, 4.143",\
                 "0.575, 0.572, 0.581, 0.659, 0.888, 1.256, 1.761, 2.402, 3.194, 4.141",\
                 "0.592, 0.592, 0.598, 0.68, 0.905, 1.261, 1.745, 2.38, 3.153, 4.066",\
                 "0.644, 0.642, 0.648, 0.728, 0.93, 1.257, 1.712, 2.303, 3.026, 3.892",\
                 "0.695, 0.695, 0.704, 0.764, 0.941, 1.24, 1.649, 2.187, 2.86, 3.654",\
                 "0.745, 0.736, 0.743, 0.798, 0.95, 1.209, 1.588, 2.074, 2.684, 3.434",\
                 "0.774, 0.775, 0.782, 0.825, 0.954, 1.194, 1.55, 2.014, 2.608, 3.321",\
                 "0.786, 0.786, 0.789, 0.83, 0.945, 1.168, 1.51, 1.969, 2.555, 3.27",\
                 "0.775, 0.771, 0.776, 0.818, 0.925, 1.13, 1.462, 1.921, 2.513, 3.244",\
                 "0.731, 0.728, 0.734, 0.77, 0.868, 1.073, 1.396, 1.86, 2.467, 3.209");
        }
      }
    }

    pin(E) {
      capacitance : 0.007229 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.728 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06448, 0.06378, 0.0655, 0.07208, 0.0848, 0.1042, 0.1307, 0.1648, \
                 0.207, 0.2577");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003844, 0.003354, 0.004228, 0.009437, 0.02034, 0.03735, 0.06097, \
                 0.09147, 0.1293, 0.1747");
        }
      }

      internal_power() {
        when : "!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06448, 0.06376, 0.06547, 0.07204, 0.08478, 0.1041, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0008911, 0.0003893, 0.001236, 0.006447, 0.01735, 0.03441, 0.05798, \
                 0.08852, 0.1263, 0.1718");
        }
      }

      internal_power() {
        when : "D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06468, 0.06399, 0.06568, 0.07228, 0.08497, 0.1043, 0.1308, 0.1649, \
                 0.2072, 0.2579");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01188, 0.01137, 0.01224, 0.01748, 0.02837, 0.04539, 0.06896, \
                 0.09946, 0.1373, 0.1827");
        }
      }

      internal_power() {
        when : "D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06455, 0.0638, 0.06561, 0.07239, 0.0852, 0.1047, 0.1313, 0.1655, \
                 0.2078, 0.2586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0006852, 0.0001849, 0.0009983, 0.006141, 0.0169, 0.03385, 0.05739, \
                 0.08788, 0.1257, 0.1711");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN" ;

        rise_constraint(scalar) {
          values("0.728");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN" ;

        rise_constraint(scalar) {
          values("0.503");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ2" ;
      max_capacitance : 0.7201 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.2361, 0.2334, 0.2312, 0.2306, 0.2305, 0.2304, 0.2303, 0.2303, 0.2303, 0.2303",\
                 "0.2359, 0.2331, 0.231, 0.2304, 0.2301, 0.23, 0.2301, 0.2301, 0.2301, 0.2301",\
                 "0.2354, 0.2326, 0.2304, 0.2298, 0.2296, 0.2296, 0.2296, 0.2296, 0.2296, 0.2296",\
                 "0.2371, 0.2344, 0.2322, 0.2317, 0.2315, 0.2314, 0.2314, 0.2313, 0.2314, 0.2314",\
                 "0.2441, 0.2414, 0.2393, 0.2386, 0.2384, 0.2383, 0.2383, 0.2383, 0.2383, 0.2383",\
                 "0.2567, 0.2538, 0.2517, 0.2513, 0.251, 0.251, 0.2509, 0.2508, 0.2509, 0.2509",\
                 "0.2757, 0.273, 0.2706, 0.2699, 0.2698, 0.2698, 0.2697, 0.2697, 0.2697, 0.2697",\
                 "0.3012, 0.2983, 0.296, 0.2952, 0.2951, 0.295, 0.295, 0.295, 0.2949, 0.295",\
                 "0.3327, 0.3297, 0.3273, 0.3265, 0.3263, 0.3263, 0.3263, 0.3263, 0.3262, 0.3262",\
                 "0.3707, 0.3676, 0.365, 0.3642, 0.3642, 0.3639, 0.364, 0.3639, 0.3639, 0.364");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.1805, 0.179, 0.1778, 0.1783, 0.1791, 0.1808, 0.1819, 0.1837, 0.1851, 0.1936",\
                 "0.1802, 0.1785, 0.177, 0.1778, 0.1786, 0.1802, 0.1814, 0.183, 0.1844, 0.1926",\
                 "0.1798, 0.1782, 0.1767, 0.1773, 0.1783, 0.1798, 0.181, 0.183, 0.1837, 0.1925",\
                 "0.1818, 0.1802, 0.1788, 0.1791, 0.1805, 0.1817, 0.1834, 0.1843, 0.1871, 0.1958",\
                 "0.1874, 0.1859, 0.1844, 0.1849, 0.1855, 0.1873, 0.1886, 0.1899, 0.1917, 0.2026",\
                 "0.1981, 0.1964, 0.1951, 0.1956, 0.1966, 0.1977, 0.1991, 0.2002, 0.2036, 0.2142",\
                 "0.2137, 0.2121, 0.2102, 0.2106, 0.2124, 0.2142, 0.2148, 0.2163, 0.2179, 0.2334",\
                 "0.235, 0.2333, 0.2319, 0.2324, 0.2328, 0.2345, 0.237, 0.2381, 0.2401, 0.2607",\
                 "0.2619, 0.2602, 0.2582, 0.2587, 0.259, 0.26, 0.2628, 0.2664, 0.2706, 0.2976",\
                 "0.2942, 0.2924, 0.2906, 0.2908, 0.2918, 0.2922, 0.2931, 0.2971, 0.3053, 0.3491");
        }
      }

      internal_power() {
        related_pin : "E" ;
        when : "RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.2253, 0.2225, 0.2204, 0.2197, 0.2194, 0.2195, 0.2194, 0.2195, 0.2194, 0.2194",\
                 "0.2252, 0.2224, 0.2204, 0.2198, 0.2195, 0.2196, 0.2194, 0.2194, 0.2194, 0.2194",\
                 "0.225, 0.2223, 0.22, 0.2194, 0.2193, 0.2192, 0.2192, 0.2192, 0.2192, 0.2192",\
                 "0.2245, 0.2217, 0.2196, 0.219, 0.2189, 0.2187, 0.2187, 0.2188, 0.2188, 0.2188",\
                 "0.2239, 0.221, 0.2189, 0.2184, 0.2181, 0.2181, 0.2181, 0.2181, 0.2181, 0.2181",\
                 "0.2237, 0.2209, 0.2189, 0.2182, 0.218, 0.2178, 0.2178, 0.2178, 0.2178, 0.2178",\
                 "0.224, 0.2213, 0.2192, 0.2186, 0.2184, 0.2183, 0.2183, 0.2182, 0.2182, 0.2182",\
                 "0.2247, 0.222, 0.2198, 0.2193, 0.2191, 0.219, 0.2189, 0.2189, 0.2189, 0.2188",\
                 "0.2257, 0.2229, 0.2209, 0.2203, 0.2201, 0.2199, 0.22, 0.2199, 0.2199, 0.2199",\
                 "0.2268, 0.2241, 0.2219, 0.2212, 0.2212, 0.221, 0.221, 0.221, 0.221, 0.221");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.1826, 0.1809, 0.1798, 0.18, 0.181, 0.1828, 0.1838, 0.186, 0.1864, 0.1944",\
                 "0.1826, 0.181, 0.1798, 0.1801, 0.1811, 0.183, 0.1839, 0.1851, 0.1879, 0.1939",\
                 "0.1828, 0.1812, 0.1799, 0.1807, 0.1814, 0.1831, 0.1842, 0.1863, 0.187, 0.1958",\
                 "0.1856, 0.1841, 0.1829, 0.1834, 0.1842, 0.186, 0.187, 0.1884, 0.1902, 0.1991",\
                 "0.1921, 0.1903, 0.1888, 0.1892, 0.1901, 0.1917, 0.193, 0.1945, 0.1963, 0.2071",\
                 "0.203, 0.2014, 0.1997, 0.2007, 0.2017, 0.2025, 0.2036, 0.2049, 0.2074, 0.219",\
                 "0.2182, 0.2164, 0.2149, 0.2146, 0.2167, 0.2189, 0.2194, 0.2203, 0.2222, 0.2385",\
                 "0.2352, 0.2337, 0.232, 0.2321, 0.2327, 0.2347, 0.2376, 0.2386, 0.2416, 0.2601",\
                 "0.2545, 0.2527, 0.251, 0.2513, 0.252, 0.2526, 0.2549, 0.2589, 0.2611, 0.2907",\
                 "0.2756, 0.2738, 0.2722, 0.272, 0.2731, 0.2732, 0.2742, 0.2775, 0.2866, 0.33");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.2217, 0.219, 0.217, 0.2165, 0.2163, 0.2162, 0.2162, 0.2162, 0.2162, 0.2162",\
                 "0.2214, 0.2187, 0.2167, 0.2163, 0.2161, 0.216, 0.216, 0.216, 0.216, 0.216",\
                 "0.2217, 0.2191, 0.2171, 0.2166, 0.2165, 0.2163, 0.2163, 0.2163, 0.2163, 0.2163",\
                 "0.2256, 0.2229, 0.2209, 0.2205, 0.2203, 0.2202, 0.2202, 0.2202, 0.2201, 0.2201",\
                 "0.2352, 0.2326, 0.2307, 0.2301, 0.2301, 0.2298, 0.2299, 0.2299, 0.2299, 0.2298",\
                 "0.2509, 0.2482, 0.2462, 0.2456, 0.2454, 0.2453, 0.2453, 0.2453, 0.2453, 0.2453",\
                 "0.2721, 0.2694, 0.2673, 0.2667, 0.2665, 0.2665, 0.2664, 0.2664, 0.2663, 0.2663",\
                 "0.2982, 0.2955, 0.2932, 0.2928, 0.2926, 0.2925, 0.2925, 0.2925, 0.2924, 0.2924",\
                 "0.3288, 0.3259, 0.3238, 0.3231, 0.323, 0.3228, 0.3228, 0.3228, 0.3229, 0.3228",\
                 "0.3631, 0.3602, 0.358, 0.3575, 0.3571, 0.3571, 0.3571, 0.3571, 0.3571, 0.3571");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.2217, 0.219, 0.217, 0.2165, 0.2163, 0.2162, 0.2162, 0.2162, 0.2162, 0.2162",\
                 "0.2214, 0.2187, 0.2167, 0.2163, 0.2161, 0.216, 0.216, 0.216, 0.216, 0.216",\
                 "0.2217, 0.2191, 0.2171, 0.2166, 0.2165, 0.2163, 0.2163, 0.2163, 0.2163, 0.2163",\
                 "0.2256, 0.2229, 0.2209, 0.2205, 0.2203, 0.2202, 0.2202, 0.2202, 0.2201, 0.2201",\
                 "0.2352, 0.2326, 0.2307, 0.2301, 0.2301, 0.2298, 0.2299, 0.2299, 0.2299, 0.2298",\
                 "0.2509, 0.2482, 0.2462, 0.2456, 0.2454, 0.2453, 0.2453, 0.2453, 0.2453, 0.2453",\
                 "0.2721, 0.2694, 0.2673, 0.2667, 0.2665, 0.2665, 0.2664, 0.2664, 0.2663, 0.2663",\
                 "0.2982, 0.2955, 0.2932, 0.2928, 0.2926, 0.2925, 0.2925, 0.2925, 0.2924, 0.2924",\
                 "0.3288, 0.3259, 0.3238, 0.3231, 0.323, 0.3228, 0.3228, 0.3228, 0.3229, 0.3228",\
                 "0.3631, 0.3602, 0.358, 0.3575, 0.3571, 0.3571, 0.3571, 0.3571, 0.3571, 0.3571");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.2214, 0.2187, 0.2168, 0.2163, 0.216, 0.2159, 0.2159, 0.2159, 0.2159, 0.2159",\
                 "0.2214, 0.2188, 0.2168, 0.2163, 0.2162, 0.2161, 0.216, 0.216, 0.216, 0.216",\
                 "0.2218, 0.2191, 0.2171, 0.2166, 0.2165, 0.2164, 0.2164, 0.2164, 0.2164, 0.2164",\
                 "0.2256, 0.2229, 0.2209, 0.2204, 0.2203, 0.2201, 0.2201, 0.2201, 0.2201, 0.2201",\
                 "0.2353, 0.2326, 0.2307, 0.2302, 0.23, 0.2299, 0.2299, 0.2299, 0.2299, 0.2298",\
                 "0.2508, 0.2482, 0.2461, 0.2456, 0.2454, 0.2453, 0.2453, 0.2453, 0.2453, 0.2453",\
                 "0.2721, 0.2694, 0.2671, 0.2666, 0.2667, 0.2664, 0.2665, 0.2664, 0.2664, 0.2664",\
                 "0.2982, 0.2954, 0.2933, 0.2927, 0.2927, 0.2925, 0.2924, 0.2925, 0.2925, 0.2925",\
                 "0.3287, 0.3258, 0.3237, 0.3231, 0.323, 0.3228, 0.3228, 0.3228, 0.3228, 0.3228",\
                 "0.3631, 0.36, 0.3579, 0.3572, 0.3573, 0.3571, 0.3571, 0.357, 0.357, 0.357");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.2214, 0.2187, 0.2168, 0.2163, 0.216, 0.2159, 0.2159, 0.2159, 0.2159, 0.2159",\
                 "0.2214, 0.2188, 0.2168, 0.2163, 0.2162, 0.2161, 0.216, 0.216, 0.216, 0.216",\
                 "0.2218, 0.2191, 0.2171, 0.2166, 0.2165, 0.2164, 0.2164, 0.2164, 0.2164, 0.2164",\
                 "0.2256, 0.2229, 0.2209, 0.2204, 0.2203, 0.2201, 0.2201, 0.2201, 0.2201, 0.2201",\
                 "0.2353, 0.2326, 0.2307, 0.2302, 0.23, 0.2299, 0.2299, 0.2299, 0.2299, 0.2298",\
                 "0.2508, 0.2482, 0.2461, 0.2456, 0.2454, 0.2453, 0.2453, 0.2453, 0.2453, 0.2453",\
                 "0.2721, 0.2694, 0.2671, 0.2666, 0.2667, 0.2664, 0.2665, 0.2664, 0.2664, 0.2664",\
                 "0.2982, 0.2954, 0.2933, 0.2927, 0.2927, 0.2925, 0.2924, 0.2925, 0.2925, 0.2925",\
                 "0.3287, 0.3258, 0.3237, 0.3231, 0.323, 0.3228, 0.3228, 0.3228, 0.3228, 0.3228",\
                 "0.3631, 0.36, 0.3579, 0.3572, 0.3573, 0.3571, 0.3571, 0.357, 0.357, 0.357");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.2437, 0.241, 0.239, 0.2384, 0.2381, 0.238, 0.2381, 0.2381, 0.2381, 0.2381",\
                 "0.2424, 0.2396, 0.2376, 0.237, 0.2369, 0.2368, 0.2368, 0.2368, 0.2368, 0.2368",\
                 "0.2422, 0.2394, 0.2374, 0.2369, 0.2365, 0.2367, 0.2365, 0.2365, 0.2365, 0.2365",\
                 "0.2459, 0.2432, 0.2412, 0.2406, 0.2402, 0.2404, 0.2402, 0.2402, 0.2402, 0.2402",\
                 "0.2547, 0.252, 0.25, 0.2493, 0.2492, 0.249, 0.2491, 0.2491, 0.249, 0.249",\
                 "0.2686, 0.2658, 0.264, 0.2633, 0.2629, 0.2628, 0.2628, 0.2628, 0.2628, 0.2628",\
                 "0.2911, 0.2881, 0.286, 0.2853, 0.2852, 0.2851, 0.2851, 0.2851, 0.2851, 0.2851",\
                 "0.3206, 0.3178, 0.3154, 0.3148, 0.3146, 0.3145, 0.3146, 0.3145, 0.3145, 0.3145",\
                 "0.3572, 0.3541, 0.3518, 0.351, 0.3509, 0.3509, 0.3508, 0.3508, 0.3508, 0.3508",\
                 "0.4011, 0.3981, 0.3956, 0.3949, 0.3947, 0.3945, 0.3945, 0.3945, 0.3944, 0.3944");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.1809, 0.1793, 0.1776, 0.1781, 0.1792, 0.1805, 0.1819, 0.1833, 0.1851, 0.1923",\
                 "0.1807, 0.179, 0.1775, 0.1784, 0.1791, 0.1804, 0.1817, 0.183, 0.1847, 0.1929",\
                 "0.1803, 0.1787, 0.1774, 0.1776, 0.1787, 0.1803, 0.1815, 0.1833, 0.1851, 0.1922",\
                 "0.182, 0.1803, 0.1792, 0.1798, 0.1809, 0.1823, 0.1834, 0.185, 0.1864, 0.1956",\
                 "0.1881, 0.1864, 0.1848, 0.1853, 0.1867, 0.1882, 0.1898, 0.1906, 0.192, 0.2029",\
                 "0.1993, 0.1977, 0.1961, 0.1973, 0.1982, 0.1994, 0.2004, 0.2015, 0.2043, 0.2154",\
                 "0.2165, 0.2149, 0.2133, 0.2129, 0.2148, 0.2169, 0.2177, 0.2193, 0.2218, 0.2366",\
                 "0.2401, 0.2384, 0.237, 0.2368, 0.2378, 0.2399, 0.2425, 0.2437, 0.2457, 0.2646",\
                 "0.2698, 0.2682, 0.2666, 0.2669, 0.2678, 0.2682, 0.2705, 0.2747, 0.2765, 0.3055",\
                 "0.3059, 0.3042, 0.3018, 0.3027, 0.3032, 0.3035, 0.3047, 0.308, 0.3164, 0.3571");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("1.076, 1.113, 1.207, 1.346, 1.543, 1.813, 2.167, 2.613, 3.157, 3.806",\
                 "1.09, 1.127, 1.221, 1.36, 1.557, 1.826, 2.181, 2.627, 3.171, 3.82",\
                 "1.127, 1.164, 1.258, 1.397, 1.594, 1.864, 2.218, 2.664, 3.208, 3.857",\
                 "1.206, 1.242, 1.336, 1.476, 1.672, 1.942, 2.296, 2.742, 3.287, 3.935",\
                 "1.342, 1.378, 1.472, 1.612, 1.808, 2.078, 2.432, 2.878, 3.422, 4.071",\
                 "1.526, 1.562, 1.656, 1.796, 1.993, 2.263, 2.617, 3.062, 3.607, 4.256",\
                 "1.755, 1.792, 1.886, 2.025, 2.222, 2.492, 2.845, 3.291, 3.836, 4.485",\
                 "2.023, 2.06, 2.154, 2.293, 2.49, 2.76, 3.114, 3.559, 4.104, 4.753",\
                 "2.324, 2.361, 2.455, 2.594, 2.791, 3.061, 3.415, 3.86, 4.405, 5.053",\
                 "2.659, 2.696, 2.79, 2.929, 3.126, 3.396, 3.75, 4.196, 4.74, 5.389");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.9471, 0.9891, 1.113, 1.337, 1.686, 2.176, 2.82, 3.629, 4.621, 5.799",\
                 "0.9539, 0.9957, 1.119, 1.344, 1.692, 2.182, 2.826, 3.635, 4.628, 5.802",\
                 "0.9759, 1.018, 1.141, 1.366, 1.715, 2.204, 2.849, 3.659, 4.647, 5.829",\
                 "1.023, 1.065, 1.188, 1.413, 1.762, 2.251, 2.895, 3.706, 4.697, 5.874",\
                 "1.078, 1.12, 1.244, 1.468, 1.817, 2.307, 2.95, 3.761, 4.751, 5.928",\
                 "1.126, 1.167, 1.291, 1.515, 1.864, 2.353, 2.997, 3.808, 4.797, 5.975",\
                 "1.156, 1.198, 1.321, 1.546, 1.895, 2.384, 3.027, 3.837, 4.827, 6.006",\
                 "1.164, 1.206, 1.329, 1.553, 1.902, 2.391, 3.034, 3.844, 4.833, 6.012",\
                 "1.145, 1.187, 1.31, 1.535, 1.884, 2.373, 3.016, 3.826, 4.815, 5.992",\
                 "1.097, 1.139, 1.262, 1.487, 1.836, 2.324, 2.968, 3.778, 4.766, 5.945");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.0912, 0.1278, 0.231, 0.416, 0.7208, 1.168, 1.761, 2.51, 3.423, 4.514",\
                 "0.0914, 0.1278, 0.2312, 0.4166, 0.7208, 1.166, 1.76, 2.51, 3.425, 4.512",\
                 "0.091, 0.1278, 0.2308, 0.416, 0.7226, 1.166, 1.76, 2.507, 3.426, 4.517",\
                 "0.0912, 0.1278, 0.2308, 0.4166, 0.7226, 1.167, 1.76, 2.51, 3.426, 4.515",\
                 "0.0912, 0.1274, 0.2312, 0.4162, 0.7224, 1.166, 1.759, 2.509, 3.426, 4.518",\
                 "0.0914, 0.1276, 0.231, 0.4164, 0.7206, 1.167, 1.759, 2.51, 3.421, 4.512",\
                 "0.0916, 0.1284, 0.2314, 0.4166, 0.7222, 1.165, 1.759, 2.509, 3.425, 4.517",\
                 "0.0918, 0.128, 0.2316, 0.4166, 0.7214, 1.167, 1.758, 2.508, 3.422, 4.509",\
                 "0.0922, 0.1284, 0.232, 0.4166, 0.7224, 1.166, 1.759, 2.507, 3.418, 4.506",\
                 "0.0928, 0.1288, 0.2318, 0.4166, 0.7222, 1.166, 1.759, 2.507, 3.422, 4.509");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.0952, 0.1507, 0.3404, 0.729, 1.343, 2.205, 3.339, 4.769, 6.511, 8.591",\
                 "0.09546, 0.1506, 0.3406, 0.7284, 1.344, 2.205, 3.339, 4.769, 6.514, 8.589",\
                 "0.0954, 0.1506, 0.3408, 0.7286, 1.344, 2.205, 3.339, 4.769, 6.519, 8.593",\
                 "0.0954, 0.1506, 0.3406, 0.7286, 1.342, 2.203, 3.34, 4.769, 6.515, 8.591",\
                 "0.0956, 0.1508, 0.3412, 0.7294, 1.343, 2.204, 3.342, 4.769, 6.513, 8.589",\
                 "0.0952, 0.1506, 0.3406, 0.7288, 1.344, 2.208, 3.337, 4.768, 6.512, 8.591",\
                 "0.0958, 0.1508, 0.3412, 0.7292, 1.343, 2.203, 3.336, 4.766, 6.509, 8.59",\
                 "0.096, 0.151, 0.3414, 0.729, 1.343, 2.203, 3.335, 4.764, 6.509, 8.585",\
                 "0.0964, 0.1516, 0.3412, 0.7292, 1.343, 2.203, 3.336, 4.762, 6.505, 8.601",\
                 "0.0968, 0.1518, 0.3412, 0.7292, 1.343, 2.203, 3.335, 4.764, 6.512, 8.582");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("1.125, 1.161, 1.255, 1.395, 1.591, 1.861, 2.215, 2.661, 3.206, 3.854",\
                 "1.138, 1.175, 1.269, 1.408, 1.605, 1.875, 2.229, 2.675, 3.219, 3.868",\
                 "1.179, 1.216, 1.31, 1.449, 1.646, 1.916, 2.27, 2.716, 3.26, 3.909",\
                 "1.216, 1.253, 1.347, 1.486, 1.683, 1.952, 2.306, 2.752, 3.297, 3.946",\
                 "1.243, 1.28, 1.374, 1.513, 1.71, 1.98, 2.334, 2.78, 3.324, 3.973",\
                 "1.254, 1.291, 1.385, 1.524, 1.721, 1.991, 2.345, 2.79, 3.335, 3.984",\
                 "1.246, 1.282, 1.376, 1.516, 1.713, 1.982, 2.336, 2.782, 3.326, 3.975",\
                 "1.216, 1.253, 1.347, 1.486, 1.683, 1.953, 2.307, 2.753, 3.297, 3.946",\
                 "1.162, 1.199, 1.293, 1.432, 1.629, 1.899, 2.253, 2.699, 3.243, 3.892",\
                 "1.083, 1.12, 1.214, 1.353, 1.551, 1.82, 2.175, 2.62, 3.164, 3.813");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.8793, 0.921, 1.045, 1.269, 1.618, 2.108, 2.752, 3.562, 4.551, 5.732",\
                 "0.8906, 0.9323, 1.056, 1.28, 1.629, 2.119, 2.763, 3.573, 4.564, 5.74",\
                 "0.9283, 0.9702, 1.094, 1.318, 1.667, 2.157, 2.801, 3.612, 4.6, 5.782",\
                 "0.9995, 1.041, 1.165, 1.389, 1.738, 2.228, 2.872, 3.681, 4.673, 5.848",\
                 "1.067, 1.109, 1.233, 1.457, 1.806, 2.296, 2.939, 3.748, 4.74, 5.919",\
                 "1.121, 1.163, 1.287, 1.511, 1.86, 2.349, 2.993, 3.805, 4.795, 5.97",\
                 "1.154, 1.196, 1.319, 1.543, 1.892, 2.382, 3.024, 3.835, 4.824, 6.007",\
                 "1.158, 1.2, 1.323, 1.548, 1.896, 2.386, 3.028, 3.838, 4.827, 6.007",\
                 "1.129, 1.171, 1.295, 1.519, 1.868, 2.357, 3, 3.809, 4.798, 5.976",\
                 "1.064, 1.106, 1.229, 1.453, 1.802, 2.291, 2.934, 3.744, 4.733, 5.911");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.0914, 0.1272, 0.2314, 0.4158, 0.722, 1.167, 1.761, 2.509, 3.426, 4.518",\
                 "0.0912, 0.1274, 0.2316, 0.4158, 0.7228, 1.167, 1.76, 2.51, 3.421, 4.515",\
                 "0.0914, 0.1278, 0.2308, 0.4166, 0.7226, 1.165, 1.758, 2.508, 3.426, 4.518",\
                 "0.0912, 0.1274, 0.2312, 0.416, 0.7226, 1.167, 1.761, 2.507, 3.422, 4.515",\
                 "0.091, 0.1272, 0.2312, 0.4162, 0.7224, 1.168, 1.76, 2.51, 3.423, 4.517",\
                 "0.0912, 0.128, 0.2308, 0.4164, 0.721, 1.167, 1.76, 2.51, 3.423, 4.518",\
                 "0.091, 0.1278, 0.2312, 0.4164, 0.722, 1.166, 1.758, 2.507, 3.419, 4.512",\
                 "0.091, 0.1282, 0.2308, 0.4162, 0.7216, 1.166, 1.758, 2.506, 3.419, 4.507",\
                 "0.0912, 0.127, 0.2308, 0.4162, 0.7212, 1.167, 1.761, 2.506, 3.421, 4.507",\
                 "0.0912, 0.1272, 0.231, 0.4164, 0.7212, 1.166, 1.76, 2.509, 3.421, 4.509");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.0951, 0.1503, 0.3405, 0.729, 1.345, 2.205, 3.339, 4.768, 6.522, 8.593",\
                 "0.09574, 0.1506, 0.3406, 0.729, 1.343, 2.205, 3.339, 4.773, 6.515, 8.595",\
                 "0.0958, 0.1508, 0.3408, 0.7288, 1.344, 2.206, 3.339, 4.769, 6.52, 8.593",\
                 "0.0958, 0.1506, 0.3406, 0.729, 1.343, 2.205, 3.339, 4.766, 6.514, 8.588",\
                 "0.0958, 0.1508, 0.3406, 0.729, 1.343, 2.204, 3.342, 4.767, 6.513, 8.593",\
                 "0.0952, 0.1506, 0.3408, 0.7286, 1.342, 2.207, 3.338, 4.769, 6.513, 8.595",\
                 "0.0962, 0.1506, 0.3406, 0.7292, 1.342, 2.203, 3.341, 4.767, 6.512, 8.59",\
                 "0.0962, 0.1508, 0.3408, 0.7292, 1.343, 2.205, 3.335, 4.763, 6.506, 8.588",\
                 "0.0966, 0.1514, 0.341, 0.7292, 1.344, 2.204, 3.339, 4.762, 6.506, 8.595",\
                 "0.0962, 0.1518, 0.3416, 0.729, 1.342, 2.204, 3.336, 4.763, 6.509, 8.582");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b0 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.806, 0.8427, 0.9365, 1.076, 1.273, 1.542, 1.896, 2.342, 2.887, 3.536",\
                 "0.8221, 0.8588, 0.9528, 1.092, 1.289, 1.558, 1.912, 2.359, 2.903, 3.552",\
                 "0.8878, 0.9245, 1.018, 1.158, 1.354, 1.624, 1.978, 2.424, 2.968, 3.618",\
                 "1.02, 1.057, 1.151, 1.29, 1.487, 1.757, 2.111, 2.557, 3.101, 3.751",\
                 "1.205, 1.242, 1.336, 1.475, 1.672, 1.942, 2.296, 2.741, 3.287, 3.935",\
                 "1.422, 1.459, 1.553, 1.692, 1.888, 2.158, 2.512, 2.958, 3.503, 4.152",\
                 "1.671, 1.708, 1.802, 1.941, 2.138, 2.408, 2.761, 3.207, 3.752, 4.401",\
                 "1.954, 1.991, 2.085, 2.224, 2.421, 2.691, 3.045, 3.491, 4.035, 4.684",\
                 "2.273, 2.309, 2.403, 2.543, 2.739, 3.009, 3.363, 3.809, 4.353, 5.002",\
                 "2.626, 2.662, 2.757, 2.896, 3.093, 3.362, 3.717, 4.163, 4.707, 5.356");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.09086, 0.127, 0.2305, 0.416, 0.7224, 1.166, 1.761, 2.508, 3.429, 4.518",\
                 "0.09068, 0.127, 0.2305, 0.4158, 0.721, 1.168, 1.76, 2.511, 3.427, 4.521",\
                 "0.0906, 0.127, 0.2306, 0.4164, 0.7224, 1.166, 1.761, 2.51, 3.429, 4.52",\
                 "0.0908, 0.127, 0.2306, 0.4164, 0.7226, 1.166, 1.761, 2.51, 3.429, 4.52",\
                 "0.0906, 0.127, 0.2306, 0.4162, 0.7218, 1.167, 1.761, 2.511, 3.423, 4.521",\
                 "0.0908, 0.127, 0.2308, 0.4162, 0.7218, 1.166, 1.76, 2.512, 3.424, 4.521",\
                 "0.0908, 0.1274, 0.2308, 0.4162, 0.7212, 1.166, 1.758, 2.509, 3.422, 4.52",\
                 "0.091, 0.1274, 0.2312, 0.4164, 0.7212, 1.168, 1.759, 2.507, 3.42, 4.509",\
                 "0.0912, 0.1274, 0.2314, 0.4164, 0.7212, 1.166, 1.758, 2.507, 3.419, 4.507",\
                 "0.0916, 0.1276, 0.2316, 0.416, 0.7208, 1.166, 1.759, 2.507, 3.422, 4.507");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.806, 0.8426, 0.9365, 1.076, 1.272, 1.542, 1.896, 2.342, 2.886, 3.536",\
                 "0.822, 0.8587, 0.9526, 1.092, 1.289, 1.558, 1.912, 2.359, 2.903, 3.552",\
                 "0.8879, 0.9245, 1.018, 1.158, 1.354, 1.624, 1.978, 2.424, 2.969, 3.618",\
                 "1.02, 1.057, 1.151, 1.29, 1.487, 1.756, 2.11, 2.556, 3.101, 3.751",\
                 "1.205, 1.242, 1.336, 1.475, 1.672, 1.942, 2.296, 2.742, 3.287, 3.935",\
                 "1.422, 1.459, 1.552, 1.692, 1.889, 2.158, 2.512, 2.959, 3.503, 4.152",\
                 "1.671, 1.708, 1.802, 1.941, 2.138, 2.408, 2.762, 3.207, 3.752, 4.402",\
                 "1.954, 1.991, 2.085, 2.225, 2.421, 2.691, 3.045, 3.491, 4.035, 4.684",\
                 "2.272, 2.309, 2.403, 2.542, 2.739, 3.009, 3.363, 3.809, 4.353, 5.001",\
                 "2.626, 2.662, 2.756, 2.895, 3.092, 3.362, 3.717, 4.163, 4.707, 5.356");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.09068, 0.1271, 0.2308, 0.416, 0.7222, 1.166, 1.761, 2.51, 3.429, 4.52",\
                 "0.09044, 0.1271, 0.2306, 0.4158, 0.7214, 1.167, 1.76, 2.511, 3.428, 4.521",\
                 "0.0908, 0.1272, 0.2306, 0.4158, 0.7212, 1.168, 1.76, 2.512, 3.427, 4.521",\
                 "0.0908, 0.127, 0.2308, 0.416, 0.7222, 1.165, 1.761, 2.51, 3.428, 4.52",\
                 "0.0906, 0.127, 0.2312, 0.416, 0.7214, 1.166, 1.761, 2.511, 3.423, 4.521",\
                 "0.0908, 0.127, 0.2308, 0.416, 0.7204, 1.166, 1.76, 2.511, 3.427, 4.521",\
                 "0.0908, 0.1272, 0.2312, 0.4162, 0.7212, 1.166, 1.758, 2.509, 3.426, 4.521",\
                 "0.0912, 0.128, 0.231, 0.4162, 0.7204, 1.167, 1.76, 2.506, 3.42, 4.51",\
                 "0.0912, 0.1276, 0.2316, 0.4158, 0.7214, 1.166, 1.76, 2.508, 3.419, 4.506",\
                 "0.0914, 0.1276, 0.2316, 0.4164, 0.7212, 1.166, 1.76, 2.507, 3.421, 4.507");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.8071, 0.844, 0.9377, 1.077, 1.274, 1.544, 1.898, 2.344, 2.888, 3.538",\
                 "0.8217, 0.8584, 0.9524, 1.092, 1.288, 1.558, 1.912, 2.358, 2.903, 3.551",\
                 "0.8863, 0.923, 1.017, 1.156, 1.353, 1.623, 1.977, 2.423, 2.968, 3.616",\
                 "1.018, 1.055, 1.149, 1.288, 1.485, 1.755, 2.109, 2.555, 3.1, 3.748",\
                 "1.203, 1.24, 1.334, 1.474, 1.67, 1.94, 2.294, 2.74, 3.284, 3.934",\
                 "1.421, 1.458, 1.551, 1.691, 1.887, 2.157, 2.511, 2.957, 3.502, 4.15",\
                 "1.673, 1.71, 1.803, 1.943, 2.139, 2.409, 2.763, 3.209, 3.753, 4.402",\
                 "1.96, 1.997, 2.091, 2.23, 2.427, 2.696, 3.05, 3.497, 4.041, 4.689",\
                 "2.282, 2.318, 2.412, 2.552, 2.748, 3.018, 3.373, 3.818, 4.363, 5.011",\
                 "2.64, 2.677, 2.771, 2.91, 3.107, 3.377, 3.731, 4.177, 4.721, 5.369");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.9613, 1.003, 1.126, 1.351, 1.7, 2.189, 2.833, 3.645, 4.635, 5.81",\
                 "0.9692, 1.011, 1.134, 1.359, 1.708, 2.198, 2.84, 3.652, 4.643, 5.819",\
                 "0.9814, 1.023, 1.147, 1.371, 1.72, 2.21, 2.853, 3.665, 4.654, 5.832",\
                 "1.003, 1.045, 1.168, 1.393, 1.742, 2.231, 2.875, 3.684, 4.677, 5.854",\
                 "1.029, 1.071, 1.194, 1.419, 1.768, 2.257, 2.902, 3.713, 4.7, 5.882",\
                 "1.049, 1.091, 1.215, 1.439, 1.788, 2.277, 2.921, 3.733, 4.721, 5.899",\
                 "1.055, 1.097, 1.22, 1.445, 1.794, 2.283, 2.926, 3.737, 4.725, 5.908",\
                 "1.037, 1.079, 1.202, 1.427, 1.776, 2.265, 2.908, 3.718, 4.706, 5.886",\
                 "0.9888, 1.031, 1.154, 1.379, 1.727, 2.216, 2.859, 3.669, 4.658, 5.836",\
                 "0.9085, 0.9501, 1.073, 1.298, 1.647, 2.136, 2.779, 3.589, 4.577, 5.756");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.0908, 0.1274, 0.231, 0.4165, 0.7224, 1.167, 1.761, 2.511, 3.427, 4.519",\
                 "0.09092, 0.127, 0.2307, 0.416, 0.7224, 1.165, 1.76, 2.509, 3.427, 4.519",\
                 "0.0914, 0.1278, 0.2308, 0.4158, 0.7216, 1.167, 1.759, 2.511, 3.425, 4.514",\
                 "0.091, 0.1274, 0.231, 0.4152, 0.7204, 1.167, 1.759, 2.511, 3.425, 4.521",\
                 "0.091, 0.1274, 0.231, 0.416, 0.7226, 1.167, 1.76, 2.512, 3.426, 4.521",\
                 "0.091, 0.1274, 0.2308, 0.4164, 0.7204, 1.166, 1.759, 2.509, 3.423, 4.52",\
                 "0.0918, 0.1276, 0.2312, 0.4164, 0.7208, 1.165, 1.758, 2.508, 3.424, 4.516",\
                 "0.0916, 0.128, 0.2318, 0.4162, 0.721, 1.166, 1.759, 2.505, 3.42, 4.513",\
                 "0.092, 0.128, 0.2316, 0.417, 0.7224, 1.166, 1.759, 2.506, 3.418, 4.507",\
                 "0.0924, 0.1286, 0.2318, 0.4176, 0.7212, 1.167, 1.759, 2.509, 3.419, 4.508");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.0957, 0.1501, 0.3412, 0.729, 1.343, 2.205, 3.339, 4.767, 6.515, 8.592",\
                 "0.0954, 0.1506, 0.3406, 0.7288, 1.344, 2.208, 3.34, 4.775, 6.514, 8.587",\
                 "0.0954, 0.1506, 0.3404, 0.729, 1.344, 2.204, 3.341, 4.768, 6.514, 8.601",\
                 "0.0956, 0.1508, 0.3406, 0.7286, 1.345, 2.205, 3.339, 4.769, 6.51, 8.591",\
                 "0.0954, 0.1508, 0.3404, 0.7298, 1.344, 2.206, 3.339, 4.77, 6.516, 8.591",\
                 "0.0954, 0.1504, 0.341, 0.73, 1.343, 2.206, 3.339, 4.767, 6.511, 8.602",\
                 "0.0962, 0.151, 0.3414, 0.7288, 1.343, 2.203, 3.336, 4.764, 6.511, 8.59",\
                 "0.0962, 0.1512, 0.3408, 0.7296, 1.342, 2.204, 3.335, 4.767, 6.507, 8.588",\
                 "0.0962, 0.1514, 0.3412, 0.729, 1.344, 2.203, 3.337, 4.767, 6.506, 8.584",\
                 "0.0964, 0.1516, 0.341, 0.7296, 1.343, 2.203, 3.335, 4.763, 6.508, 8.583");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.8071, 0.844, 0.9377, 1.077, 1.274, 1.544, 1.898, 2.344, 2.888, 3.538",\
                 "0.8217, 0.8584, 0.9524, 1.092, 1.288, 1.558, 1.912, 2.358, 2.903, 3.551",\
                 "0.8863, 0.923, 1.017, 1.156, 1.353, 1.623, 1.977, 2.423, 2.968, 3.616",\
                 "1.018, 1.055, 1.149, 1.288, 1.485, 1.755, 2.109, 2.555, 3.1, 3.748",\
                 "1.203, 1.24, 1.334, 1.474, 1.67, 1.94, 2.294, 2.74, 3.284, 3.934",\
                 "1.421, 1.458, 1.551, 1.691, 1.887, 2.157, 2.511, 2.957, 3.502, 4.15",\
                 "1.673, 1.71, 1.803, 1.943, 2.139, 2.409, 2.763, 3.209, 3.753, 4.402",\
                 "1.96, 1.997, 2.091, 2.23, 2.427, 2.696, 3.05, 3.497, 4.041, 4.689",\
                 "2.282, 2.318, 2.412, 2.552, 2.748, 3.018, 3.373, 3.818, 4.363, 5.011",\
                 "2.64, 2.677, 2.771, 2.91, 3.107, 3.377, 3.731, 4.177, 4.721, 5.369");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.9613, 1.003, 1.126, 1.351, 1.7, 2.189, 2.833, 3.645, 4.635, 5.81",\
                 "0.9692, 1.011, 1.134, 1.359, 1.708, 2.198, 2.84, 3.652, 4.643, 5.819",\
                 "0.9814, 1.023, 1.147, 1.371, 1.72, 2.21, 2.853, 3.665, 4.654, 5.832",\
                 "1.003, 1.045, 1.168, 1.393, 1.742, 2.231, 2.875, 3.684, 4.677, 5.854",\
                 "1.029, 1.071, 1.194, 1.419, 1.768, 2.257, 2.902, 3.713, 4.7, 5.882",\
                 "1.049, 1.091, 1.215, 1.439, 1.788, 2.277, 2.921, 3.733, 4.721, 5.899",\
                 "1.055, 1.097, 1.22, 1.445, 1.794, 2.283, 2.926, 3.737, 4.725, 5.908",\
                 "1.037, 1.079, 1.202, 1.427, 1.776, 2.265, 2.908, 3.718, 4.706, 5.886",\
                 "0.9888, 1.031, 1.154, 1.379, 1.727, 2.216, 2.859, 3.669, 4.658, 5.836",\
                 "0.9085, 0.9501, 1.073, 1.298, 1.647, 2.136, 2.779, 3.589, 4.577, 5.756");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.09086, 0.127, 0.2305, 0.416, 0.7224, 1.166, 1.761, 2.508, 3.429, 4.518",\
                 "0.09068, 0.127, 0.2305, 0.4158, 0.721, 1.168, 1.76, 2.511, 3.427, 4.521",\
                 "0.0906, 0.127, 0.2306, 0.4164, 0.7224, 1.166, 1.761, 2.51, 3.429, 4.52",\
                 "0.0908, 0.127, 0.2306, 0.4164, 0.7226, 1.166, 1.761, 2.51, 3.429, 4.52",\
                 "0.0906, 0.127, 0.2306, 0.4162, 0.7218, 1.167, 1.761, 2.511, 3.423, 4.521",\
                 "0.0908, 0.127, 0.2308, 0.4162, 0.7218, 1.166, 1.76, 2.512, 3.424, 4.521",\
                 "0.0908, 0.1274, 0.2308, 0.4162, 0.7212, 1.166, 1.758, 2.509, 3.422, 4.52",\
                 "0.091, 0.1274, 0.2312, 0.4164, 0.7212, 1.168, 1.759, 2.507, 3.42, 4.509",\
                 "0.0912, 0.1274, 0.2314, 0.4164, 0.7212, 1.166, 1.758, 2.507, 3.419, 4.507",\
                 "0.0916, 0.1276, 0.2316, 0.416, 0.7208, 1.166, 1.759, 2.507, 3.422, 4.507");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.0957, 0.1501, 0.3412, 0.729, 1.343, 2.205, 3.339, 4.767, 6.515, 8.592",\
                 "0.0954, 0.1506, 0.3406, 0.7288, 1.344, 2.208, 3.34, 4.775, 6.514, 8.587",\
                 "0.0954, 0.1506, 0.3404, 0.729, 1.344, 2.204, 3.341, 4.768, 6.514, 8.601",\
                 "0.0956, 0.1508, 0.3406, 0.7286, 1.345, 2.205, 3.339, 4.769, 6.51, 8.591",\
                 "0.0954, 0.1508, 0.3404, 0.7298, 1.344, 2.206, 3.339, 4.77, 6.516, 8.591",\
                 "0.0954, 0.1504, 0.341, 0.73, 1.343, 2.206, 3.339, 4.767, 6.511, 8.602",\
                 "0.0962, 0.151, 0.3414, 0.7288, 1.343, 2.203, 3.336, 4.764, 6.511, 8.59",\
                 "0.0962, 0.1512, 0.3408, 0.7296, 1.342, 2.204, 3.335, 4.767, 6.507, 8.588",\
                 "0.0962, 0.1514, 0.3412, 0.729, 1.344, 2.203, 3.337, 4.767, 6.506, 8.584",\
                 "0.0964, 0.1516, 0.341, 0.7296, 1.343, 2.203, 3.335, 4.763, 6.508, 8.583");
        }
      }
    }

    pin(RN) {
      capacitance : 0.00514 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.445 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009041, 0.008514, 0.008398, 0.008366, 0.008363, 0.008367, 0.008376, \
                 0.008372, 0.008376, 0.008371");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008372, -0.008356, -0.008356, -0.008341, -0.008339, -0.008354, \
                 -0.008349, -0.008348, -0.008354, -0.008351");
        }
      }

      internal_power() {
        when : "!D&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008918, 0.008394, 0.008372, 0.008365, 0.00836, 0.008377, 0.008376, \
                 0.008377, 0.008374, 0.008378");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008368, -0.008353, -0.008357, -0.008344, -0.008339, -0.008355, \
                 -0.00835, -0.008353, -0.008347, -0.008351");
        }
      }

      internal_power() {
        when : "D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009428, 0.008492, 0.008383, 0.008374, 0.008372, 0.008369, 0.008364, \
                 0.008379, 0.008375, 0.008379");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008365, -0.008356, -0.008356, -0.008351, -0.00834, -0.008358, \
                 -0.008351, -0.00835, -0.008346, -0.008352");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.578, 0.573, 0.584, 0.674, 0.891, 1.264, 1.772, 2.413, 3.212, 4.158",\
                 "0.589, 0.58, 0.592, 0.679, 0.895, 1.262, 1.77, 2.408, 3.194, 4.141",\
                 "0.597, 0.598, 0.606, 0.686, 0.914, 1.274, 1.772, 2.411, 3.203, 4.141",\
                 "0.617, 0.613, 0.625, 0.705, 0.919, 1.272, 1.752, 2.37, 3.131, 4.049",\
                 "0.65, 0.649, 0.652, 0.723, 0.929, 1.258, 1.723, 2.328, 3.059, 3.952",\
                 "0.67, 0.665, 0.673, 0.739, 0.924, 1.231, 1.676, 2.251, 2.957, 3.803",\
                 "0.681, 0.681, 0.692, 0.745, 0.914, 1.214, 1.639, 2.199, 2.892, 3.728",\
                 "0.673, 0.673, 0.684, 0.73, 0.886, 1.176, 1.588, 2.14, 2.826, 3.661",\
                 "0.64, 0.635, 0.644, 0.696, 0.84, 1.104, 1.516, 2.062, 2.754, 3.586",\
                 "0.564, 0.565, 0.573, 0.624, 0.755, 1.022, 1.424, 1.972, 2.674, 3.526");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.498, -0.498, -0.503, -0.546, -0.645, -0.735, -0.811, -0.855, -0.865, -0.831",\
                 "-0.507, -0.501, -0.51, -0.563, -0.649, -0.743, -0.819, -0.862, -0.875, -0.839",\
                 "-0.522, -0.515, -0.519, -0.575, -0.662, -0.75, -0.821, -0.87, -0.879, -0.848",\
                 "-0.544, -0.536, -0.543, -0.589, -0.67, -0.752, -0.823, -0.867, -0.877, -0.847",\
                 "-0.568, -0.564, -0.564, -0.612, -0.679, -0.758, -0.825, -0.876, -0.892, -0.859",\
                 "-0.589, -0.589, -0.589, -0.622, -0.687, -0.766, -0.833, -0.887, -0.919, -0.905",\
                 "-0.597, -0.596, -0.601, -0.625, -0.696, -0.776, -0.848, -0.911, -0.96, -0.966",\
                 "-0.591, -0.583, -0.59, -0.616, -0.686, -0.772, -0.866, -0.95, -1.016, -1.044",\
                 "-0.545, -0.547, -0.545, -0.582, -0.65, -0.748, -0.86, -0.969, -1.059, -1.127",\
                 "-0.475, -0.476, -0.476, -0.511, -0.582, -0.691, -0.825, -0.958, -1.089, -1.197");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E" ;

        fall_constraint(scalar) {
          values("0.445");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E" ;

        fall_constraint(scalar) {
          values("0.445");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latrnq_4) {
    area : 68.051200 ;

    latch(IQ2,IQN2) {
      enable : "E" ;
      data_in : "D" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!RN" ;
      value : "0.0001632807" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&RN" ;
      value : "0.0001843281" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!RN" ;
      value : "0.0001635381" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&RN" ;
      value : "0.0001638153" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!RN" ;
      value : "0.0001633566" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&RN" ;
      value : "0.0002046429" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!RN" ;
      value : "0.0001800117" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&RN" ;
      value : "0.0001714878" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002046429" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.003027 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01129, 0.01137, 0.01155, 0.01178, 0.01193, 0.01205, 0.01211, \
                 0.01216, 0.01219, 0.0122");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008153, -0.008134, -0.00815, -0.008198, -0.008232, -0.008267, \
                 -0.008278, -0.008283, -0.008293, -0.008292");
        }
      }

      internal_power() {
        when : "!E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009011, 0.009001, 0.009011, 0.008994, 0.008997, 0.009023, 0.009018, \
                 0.009019, 0.009019, 0.009011");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00814, -0.008133, -0.00815, -0.008197, -0.008222, -0.008264, \
                 -0.008274, -0.008275, -0.008288, -0.008291");
        }
      }

      internal_power() {
        when : "E&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009215, 0.009208, 0.009214, 0.009205, 0.009203, 0.009205, 0.009206, \
                 0.009197, 0.009192, 0.009181");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006872, -0.006879, -0.006876, -0.006873, -0.006887, -0.006909, \
                 -0.006916, -0.006932, -0.006948, -0.006973");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.67, -0.655, -0.605, -0.537, -0.451, -0.355, -0.246, -0.123, 0.019, 0.189",\
                 "-0.685, -0.668, -0.616, -0.544, -0.471, -0.372, -0.262, -0.14, 0.008, 0.177",\
                 "-0.72, -0.71, -0.653, -0.587, -0.505, -0.406, -0.295, -0.174, -0.026, 0.144",\
                 "-0.798, -0.787, -0.734, -0.666, -0.586, -0.482, -0.363, -0.239, -0.09, 0.081",\
                 "-0.933, -0.919, -0.869, -0.802, -0.719, -0.609, -0.493, -0.358, -0.211, -0.031",\
                 "-1.124, -1.108, -1.055, -0.98, -0.897, -0.788, -0.665, -0.525, -0.374, -0.188",\
                 "-1.356, -1.341, -1.28, -1.204, -1.125, -1.012, -0.88, -0.735, -0.576, -0.395",\
                 "-1.629, -1.61, -1.547, -1.478, -1.389, -1.286, -1.149, -0.996, -0.827, -0.645",\
                 "-1.938, -1.912, -1.852, -1.78, -1.691, -1.592, -1.445, -1.286, -1.113, -0.929",\
                 "-2.277, -2.253, -2.187, -2.117, -2.029, -1.926, -1.781, -1.612, -1.431, -1.238");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.561, -0.559, -0.573, -0.619, -0.712, -0.827, -0.921, -0.991, -1.032, -1.034",\
                 "-0.569, -0.565, -0.575, -0.621, -0.718, -0.832, -0.922, -0.999, -1.036, -1.033",\
                 "-0.592, -0.586, -0.598, -0.65, -0.739, -0.84, -0.929, -1, -1.036, -1.035",\
                 "-0.635, -0.633, -0.647, -0.696, -0.776, -0.862, -0.943, -1.007, -1.043, -1.038",\
                 "-0.702, -0.695, -0.703, -0.749, -0.814, -0.889, -0.962, -1.024, -1.062, -1.062",\
                 "-0.756, -0.754, -0.762, -0.79, -0.845, -0.918, -0.988, -1.055, -1.097, -1.106",\
                 "-0.799, -0.801, -0.8, -0.825, -0.879, -0.945, -1.017, -1.086, -1.143, -1.173",\
                 "-0.827, -0.822, -0.82, -0.843, -0.893, -0.966, -1.041, -1.127, -1.199, -1.243",\
                 "-0.823, -0.82, -0.818, -0.836, -0.887, -0.968, -1.061, -1.158, -1.253, -1.325",\
                 "-0.788, -0.785, -0.787, -0.808, -0.862, -0.95, -1.06, -1.173, -1.287, -1.397");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.75, 0.737, 0.686, 0.629, 0.578, 0.516, 0.474, 0.466, 0.49, 0.524",\
                 "0.767, 0.746, 0.699, 0.65, 0.594, 0.531, 0.484, 0.48, 0.497, 0.53",\
                 "0.801, 0.787, 0.74, 0.68, 0.636, 0.566, 0.522, 0.497, 0.506, 0.532",\
                 "0.88, 0.864, 0.81, 0.758, 0.703, 0.629, 0.574, 0.533, 0.51, 0.501",\
                 "1.008, 0.996, 0.948, 0.887, 0.835, 0.75, 0.665, 0.588, 0.523, 0.461",\
                 "1.194, 1.178, 1.126, 1.068, 1.003, 0.907, 0.8, 0.702, 0.599, 0.492",\
                 "1.423, 1.41, 1.353, 1.284, 1.211, 1.113, 0.993, 0.862, 0.735, 0.595",\
                 "1.689, 1.67, 1.61, 1.538, 1.464, 1.37, 1.227, 1.087, 0.935, 0.781",\
                 "1.985, 1.967, 1.901, 1.832, 1.758, 1.659, 1.516, 1.353, 1.19, 1.01",\
                 "2.324, 2.3, 2.236, 2.163, 2.084, 1.985, 1.838, 1.661, 1.485, 1.29");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.641, 0.641, 0.664, 0.756, 0.98, 1.362, 1.89, 2.567, 3.403, 4.387",\
                 "0.65, 0.651, 0.669, 0.765, 0.988, 1.368, 1.898, 2.575, 3.403, 4.393",\
                 "0.672, 0.669, 0.693, 0.779, 1.009, 1.382, 1.899, 2.554, 3.368, 4.334",\
                 "0.717, 0.72, 0.735, 0.827, 1.046, 1.404, 1.892, 2.524, 3.297, 4.228",\
                 "0.783, 0.78, 0.799, 0.876, 1.069, 1.388, 1.843, 2.432, 3.163, 4.03",\
                 "0.842, 0.842, 0.858, 0.922, 1.091, 1.376, 1.79, 2.327, 2.998, 3.822",\
                 "0.892, 0.887, 0.9, 0.965, 1.108, 1.362, 1.744, 2.248, 2.886, 3.663",\
                 "0.915, 0.917, 0.926, 0.977, 1.116, 1.353, 1.715, 2.203, 2.826, 3.597",\
                 "0.918, 0.916, 0.933, 0.976, 1.105, 1.324, 1.675, 2.15, 2.77, 3.541",\
                 "0.892, 0.895, 0.901, 0.943, 1.059, 1.28, 1.617, 2.091, 2.71, 3.495");
        }
      }
    }

    pin(E) {
      capacitance : 0.007226 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.823 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06447, 0.0638, 0.06551, 0.07211, 0.08478, 0.1042, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003853, 0.003366, 0.004234, 0.009448, 0.02035, 0.03735, 0.06097, \
                 0.09147, 0.1293, 0.1747");
        }
      }

      internal_power() {
        when : "!D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06447, 0.06378, 0.06547, 0.07208, 0.08474, 0.1041, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0008961, 0.0003993, 0.001277, 0.006482, 0.01736, 0.03436, 0.05798, \
                 0.08851, 0.1263, 0.1718");
        }
      }

      internal_power() {
        when : "D&!RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06466, 0.06402, 0.06568, 0.07226, 0.08498, 0.1043, 0.1308, 0.1649, \
                 0.2072, 0.2579");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01189, 0.01138, 0.01224, 0.01747, 0.02837, 0.04534, 0.06896, \
                 0.09946, 0.1373, 0.1827");
        }
      }

      internal_power() {
        when : "D&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06455, 0.06385, 0.06562, 0.0724, 0.0852, 0.1047, 0.1313, 0.1655, \
                 0.2078, 0.2586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0007008, 0.0002092, 0.000997, 0.006127, 0.01692, 0.03384, 0.0574, \
                 0.08786, 0.1256, 0.1711");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN" ;

        rise_constraint(scalar) {
          values("0.823");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN" ;

        rise_constraint(scalar) {
          values("0.576");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ2" ;
      max_capacitance : 1.444 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.3851, 0.3797, 0.376, 0.3754, 0.3752, 0.3754, 0.3754, 0.3754, 0.3754, 0.3754",\
                 "0.3848, 0.3794, 0.3758, 0.3752, 0.3752, 0.3751, 0.3751, 0.3752, 0.3752, 0.3752",\
                 "0.3845, 0.379, 0.3754, 0.3749, 0.3747, 0.3747, 0.3747, 0.3747, 0.3747, 0.3747",\
                 "0.386, 0.3805, 0.3768, 0.3762, 0.376, 0.3761, 0.3762, 0.3762, 0.3762, 0.3762",\
                 "0.3938, 0.3882, 0.3849, 0.3841, 0.3839, 0.3839, 0.384, 0.384, 0.384, 0.384",\
                 "0.4091, 0.4036, 0.3999, 0.3993, 0.3992, 0.3992, 0.3991, 0.3991, 0.3992, 0.3992",\
                 "0.4323, 0.4265, 0.4232, 0.4222, 0.4222, 0.4222, 0.4221, 0.4221, 0.4221, 0.4221",\
                 "0.4638, 0.4579, 0.4539, 0.453, 0.4531, 0.453, 0.4531, 0.4531, 0.453, 0.453",\
                 "0.5029, 0.4969, 0.4927, 0.4917, 0.4916, 0.4916, 0.4916, 0.4916, 0.4917, 0.4916",\
                 "0.5493, 0.5429, 0.5383, 0.5372, 0.5374, 0.5372, 0.5373, 0.5372, 0.5372, 0.5373");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.3096, 0.3068, 0.3045, 0.3065, 0.3097, 0.3118, 0.3146, 0.3169, 0.3214, 0.3367",\
                 "0.3092, 0.3064, 0.3047, 0.306, 0.3097, 0.3128, 0.314, 0.3169, 0.3198, 0.3383",\
                 "0.309, 0.3061, 0.3044, 0.306, 0.3085, 0.3111, 0.314, 0.3162, 0.3228, 0.3389",\
                 "0.3111, 0.3083, 0.3065, 0.308, 0.3105, 0.3144, 0.3156, 0.3185, 0.3225, 0.3417",\
                 "0.3186, 0.3155, 0.3138, 0.3152, 0.3173, 0.32, 0.3232, 0.3258, 0.3295, 0.3521",\
                 "0.3316, 0.3285, 0.3263, 0.3293, 0.3309, 0.3336, 0.3364, 0.3403, 0.3427, 0.3685",\
                 "0.3507, 0.348, 0.3461, 0.3472, 0.35, 0.354, 0.3549, 0.3583, 0.3623, 0.3946",\
                 "0.3769, 0.3737, 0.3722, 0.3729, 0.3748, 0.3798, 0.3849, 0.3861, 0.3899, 0.434",\
                 "0.4101, 0.4063, 0.4042, 0.4056, 0.4073, 0.4088, 0.4146, 0.422, 0.4272, 0.4905",\
                 "0.4492, 0.446, 0.4434, 0.4439, 0.4465, 0.4474, 0.4499, 0.4565, 0.4745, 0.5676");
        }
      }

      internal_power() {
        related_pin : "E" ;
        when : "RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.3738, 0.3684, 0.3645, 0.3643, 0.3642, 0.3641, 0.364, 0.3641, 0.3641, 0.3642",\
                 "0.3738, 0.3682, 0.3648, 0.3641, 0.3639, 0.3641, 0.3641, 0.3641, 0.3641, 0.3642",\
                 "0.3736, 0.3681, 0.3645, 0.364, 0.364, 0.3639, 0.3639, 0.364, 0.364, 0.364",\
                 "0.3732, 0.3678, 0.3641, 0.3635, 0.3633, 0.3635, 0.3635, 0.3635, 0.3635, 0.3635",\
                 "0.3718, 0.3664, 0.3629, 0.3623, 0.3622, 0.3622, 0.3622, 0.3622, 0.3622, 0.3622",\
                 "0.3712, 0.3655, 0.3621, 0.3617, 0.3615, 0.3614, 0.3614, 0.3614, 0.3614, 0.3614",\
                 "0.3714, 0.3661, 0.3623, 0.362, 0.3618, 0.3619, 0.3619, 0.3619, 0.3619, 0.3619",\
                 "0.3724, 0.3669, 0.3634, 0.3628, 0.3626, 0.3626, 0.3627, 0.3627, 0.3627, 0.3627",\
                 "0.3735, 0.3678, 0.3647, 0.3637, 0.3638, 0.3637, 0.3638, 0.3637, 0.3638, 0.3638",\
                 "0.375, 0.3695, 0.3661, 0.3653, 0.3653, 0.3654, 0.3651, 0.3651, 0.3651, 0.3653");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.3116, 0.3083, 0.3075, 0.3087, 0.3114, 0.3137, 0.3163, 0.3202, 0.325, 0.3391",\
                 "0.3116, 0.3086, 0.3067, 0.3092, 0.3117, 0.3136, 0.3171, 0.319, 0.3242, 0.3382",\
                 "0.3122, 0.3094, 0.3078, 0.3095, 0.3114, 0.3141, 0.3169, 0.3192, 0.325, 0.3393",\
                 "0.3151, 0.3122, 0.3109, 0.3126, 0.3153, 0.3172, 0.3201, 0.3223, 0.3272, 0.3449",\
                 "0.3246, 0.3215, 0.3198, 0.321, 0.3231, 0.3259, 0.3291, 0.3323, 0.3353, 0.3576",\
                 "0.3387, 0.3358, 0.3325, 0.336, 0.3381, 0.34, 0.3432, 0.3451, 0.3511, 0.3792",\
                 "0.3592, 0.3561, 0.3532, 0.3541, 0.3585, 0.3613, 0.3632, 0.3663, 0.3696, 0.4048",\
                 "0.383, 0.3797, 0.3775, 0.3786, 0.3804, 0.3843, 0.3891, 0.3916, 0.3954, 0.4402",\
                 "0.4099, 0.4065, 0.404, 0.4057, 0.4059, 0.4079, 0.4137, 0.4202, 0.4267, 0.4899",\
                 "0.439, 0.4354, 0.4326, 0.4336, 0.435, 0.4361, 0.4386, 0.4462, 0.4635, 0.5582");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.3572, 0.352, 0.3491, 0.3485, 0.3486, 0.3482, 0.3483, 0.3483, 0.3483, 0.3484",\
                 "0.357, 0.3518, 0.3487, 0.3482, 0.3479, 0.3481, 0.3481, 0.3481, 0.3481, 0.3482",\
                 "0.3574, 0.3522, 0.349, 0.3486, 0.3484, 0.3484, 0.3485, 0.3485, 0.3485, 0.3486",\
                 "0.3614, 0.3561, 0.3531, 0.3526, 0.3524, 0.3524, 0.3524, 0.3525, 0.3526, 0.3526",\
                 "0.3745, 0.369, 0.366, 0.3654, 0.3654, 0.3653, 0.3654, 0.3654, 0.3654, 0.3654",\
                 "0.3944, 0.3888, 0.3859, 0.3853, 0.3851, 0.3851, 0.3852, 0.3853, 0.3853, 0.3853",\
                 "0.4213, 0.4159, 0.4126, 0.4115, 0.4117, 0.4117, 0.4116, 0.4117, 0.4117, 0.4117",\
                 "0.4535, 0.4479, 0.4446, 0.4439, 0.4437, 0.444, 0.4439, 0.4439, 0.4439, 0.4439",\
                 "0.4911, 0.4855, 0.4819, 0.481, 0.481, 0.4814, 0.4812, 0.4813, 0.4814, 0.4813",\
                 "0.5332, 0.5277, 0.5242, 0.5233, 0.5234, 0.5231, 0.5232, 0.5232, 0.5232, 0.5232");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.3572, 0.352, 0.3491, 0.3485, 0.3486, 0.3482, 0.3483, 0.3483, 0.3483, 0.3484",\
                 "0.357, 0.3518, 0.3487, 0.3482, 0.3479, 0.3481, 0.3481, 0.3481, 0.3481, 0.3482",\
                 "0.3574, 0.3522, 0.349, 0.3486, 0.3484, 0.3484, 0.3485, 0.3485, 0.3485, 0.3486",\
                 "0.3614, 0.3561, 0.3531, 0.3526, 0.3524, 0.3524, 0.3524, 0.3525, 0.3526, 0.3526",\
                 "0.3745, 0.369, 0.366, 0.3654, 0.3654, 0.3653, 0.3654, 0.3654, 0.3654, 0.3654",\
                 "0.3944, 0.3888, 0.3859, 0.3853, 0.3851, 0.3851, 0.3852, 0.3853, 0.3853, 0.3853",\
                 "0.4213, 0.4159, 0.4126, 0.4115, 0.4117, 0.4117, 0.4116, 0.4117, 0.4117, 0.4117",\
                 "0.4535, 0.4479, 0.4446, 0.4439, 0.4437, 0.444, 0.4439, 0.4439, 0.4439, 0.4439",\
                 "0.4911, 0.4855, 0.4819, 0.481, 0.481, 0.4814, 0.4812, 0.4813, 0.4814, 0.4813",\
                 "0.5332, 0.5277, 0.5242, 0.5233, 0.5234, 0.5231, 0.5232, 0.5232, 0.5232, 0.5232");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.357, 0.3518, 0.3486, 0.3481, 0.3479, 0.3479, 0.3481, 0.3481, 0.3481, 0.3481",\
                 "0.3571, 0.3519, 0.3487, 0.3482, 0.3481, 0.3481, 0.3481, 0.3482, 0.3482, 0.3482",\
                 "0.3575, 0.3521, 0.3492, 0.3485, 0.3483, 0.3485, 0.3485, 0.3485, 0.3486, 0.3486",\
                 "0.3614, 0.3562, 0.353, 0.3524, 0.3523, 0.3524, 0.3525, 0.3524, 0.3525, 0.3525",\
                 "0.3745, 0.3692, 0.3659, 0.3654, 0.3654, 0.3654, 0.3654, 0.3654, 0.3654, 0.3655",\
                 "0.3943, 0.389, 0.3858, 0.3851, 0.3851, 0.3851, 0.3851, 0.3851, 0.3852, 0.3852",\
                 "0.4209, 0.4155, 0.4117, 0.4115, 0.4114, 0.4116, 0.4115, 0.4115, 0.4116, 0.4116",\
                 "0.4536, 0.448, 0.4446, 0.4439, 0.4437, 0.444, 0.4439, 0.4438, 0.4439, 0.4439",\
                 "0.4912, 0.4854, 0.482, 0.4813, 0.4813, 0.4814, 0.4812, 0.4813, 0.4813, 0.4813",\
                 "0.5333, 0.5276, 0.5241, 0.5233, 0.5233, 0.5231, 0.5231, 0.5231, 0.5232, 0.5232");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.357, 0.3518, 0.3486, 0.3481, 0.3479, 0.3479, 0.3481, 0.3481, 0.3481, 0.3481",\
                 "0.3571, 0.3519, 0.3487, 0.3482, 0.3481, 0.3481, 0.3481, 0.3482, 0.3482, 0.3482",\
                 "0.3575, 0.3521, 0.3492, 0.3485, 0.3483, 0.3485, 0.3485, 0.3485, 0.3486, 0.3486",\
                 "0.3614, 0.3562, 0.353, 0.3524, 0.3523, 0.3524, 0.3525, 0.3524, 0.3525, 0.3525",\
                 "0.3745, 0.3692, 0.3659, 0.3654, 0.3654, 0.3654, 0.3654, 0.3654, 0.3654, 0.3655",\
                 "0.3943, 0.389, 0.3858, 0.3851, 0.3851, 0.3851, 0.3851, 0.3851, 0.3852, 0.3852",\
                 "0.4209, 0.4155, 0.4117, 0.4115, 0.4114, 0.4116, 0.4115, 0.4115, 0.4116, 0.4116",\
                 "0.4536, 0.448, 0.4446, 0.4439, 0.4437, 0.444, 0.4439, 0.4438, 0.4439, 0.4439",\
                 "0.4912, 0.4854, 0.482, 0.4813, 0.4813, 0.4814, 0.4812, 0.4813, 0.4813, 0.4813",\
                 "0.5333, 0.5276, 0.5241, 0.5233, 0.5233, 0.5231, 0.5231, 0.5231, 0.5232, 0.5232");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.3802, 0.3748, 0.3715, 0.371, 0.3708, 0.3708, 0.3709, 0.3709, 0.3709, 0.371",\
                 "0.3786, 0.3734, 0.3701, 0.3696, 0.3694, 0.3695, 0.3695, 0.3696, 0.3696, 0.3696",\
                 "0.3783, 0.373, 0.3696, 0.3692, 0.3694, 0.369, 0.3691, 0.3691, 0.3691, 0.3692",\
                 "0.3822, 0.3768, 0.3735, 0.3732, 0.3732, 0.3729, 0.373, 0.373, 0.373, 0.3731",\
                 "0.3947, 0.3894, 0.386, 0.3855, 0.3853, 0.3854, 0.3853, 0.3854, 0.3854, 0.3854",\
                 "0.4129, 0.4077, 0.4043, 0.4037, 0.4036, 0.4037, 0.4036, 0.4035, 0.4035, 0.4035",\
                 "0.4409, 0.4352, 0.4317, 0.4311, 0.4312, 0.431, 0.4311, 0.4311, 0.4312, 0.4312",\
                 "0.4777, 0.4721, 0.468, 0.4673, 0.4674, 0.4673, 0.4673, 0.4674, 0.4673, 0.4674",\
                 "0.5226, 0.5171, 0.5126, 0.512, 0.5117, 0.5118, 0.5118, 0.512, 0.5119, 0.5119",\
                 "0.576, 0.5696, 0.5657, 0.5644, 0.5643, 0.5642, 0.5642, 0.5642, 0.5642, 0.5643");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.3101, 0.3073, 0.3052, 0.3073, 0.3096, 0.3121, 0.3143, 0.3176, 0.3218, 0.3371",\
                 "0.3099, 0.3071, 0.3054, 0.3074, 0.3104, 0.3121, 0.315, 0.3172, 0.3231, 0.3387",\
                 "0.3094, 0.3062, 0.3044, 0.3065, 0.3099, 0.3115, 0.3153, 0.3163, 0.3228, 0.336",\
                 "0.3113, 0.308, 0.3072, 0.3089, 0.3118, 0.3134, 0.3156, 0.3186, 0.3238, 0.3411",\
                 "0.3182, 0.3151, 0.3133, 0.3153, 0.3176, 0.3214, 0.3232, 0.3252, 0.3308, 0.3502",\
                 "0.3316, 0.3283, 0.3269, 0.3297, 0.3315, 0.3332, 0.3361, 0.3387, 0.345, 0.3696",\
                 "0.3519, 0.3489, 0.3462, 0.3474, 0.3514, 0.3554, 0.3566, 0.359, 0.3649, 0.396",\
                 "0.3796, 0.3764, 0.3743, 0.374, 0.3771, 0.3804, 0.3856, 0.3884, 0.3902, 0.4339",\
                 "0.414, 0.4109, 0.4082, 0.4094, 0.4113, 0.4128, 0.4189, 0.4263, 0.4298, 0.489",\
                 "0.4557, 0.4522, 0.4498, 0.4509, 0.4532, 0.4527, 0.4549, 0.4635, 0.4786, 0.5657");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("1.141, 1.177, 1.27, 1.407, 1.603, 1.874, 2.23, 2.677, 3.224, 3.876",\
                 "1.155, 1.192, 1.284, 1.422, 1.618, 1.889, 2.244, 2.692, 3.239, 3.891",\
                 "1.192, 1.229, 1.321, 1.459, 1.655, 1.926, 2.282, 2.73, 3.276, 3.928",\
                 "1.269, 1.306, 1.398, 1.536, 1.732, 2.003, 2.359, 2.806, 3.353, 4.005",\
                 "1.406, 1.443, 1.535, 1.672, 1.869, 2.139, 2.495, 2.943, 3.49, 4.141",\
                 "1.596, 1.632, 1.724, 1.862, 2.058, 2.329, 2.684, 3.133, 3.679, 4.331",\
                 "1.833, 1.87, 1.963, 2.1, 2.296, 2.567, 2.923, 3.37, 3.917, 4.569",\
                 "2.114, 2.151, 2.243, 2.381, 2.577, 2.848, 3.204, 3.651, 4.198, 4.85",\
                 "2.431, 2.468, 2.56, 2.698, 2.894, 3.165, 3.521, 3.968, 4.515, 5.167",\
                 "2.782, 2.819, 2.912, 3.049, 3.246, 3.517, 3.872, 4.32, 4.867, 5.518");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.9677, 1.009, 1.133, 1.358, 1.709, 2.2, 2.846, 3.661, 4.652, 5.84",\
                 "0.9746, 1.016, 1.139, 1.365, 1.716, 2.207, 2.853, 3.666, 4.662, 5.846",\
                 "0.9967, 1.038, 1.162, 1.387, 1.738, 2.229, 2.875, 3.69, 4.683, 5.867",\
                 "1.045, 1.087, 1.21, 1.435, 1.786, 2.277, 2.923, 3.738, 4.729, 5.917",\
                 "1.11, 1.151, 1.274, 1.5, 1.85, 2.341, 2.988, 3.802, 4.797, 5.98",\
                 "1.17, 1.211, 1.334, 1.56, 1.91, 2.402, 3.048, 3.861, 4.855, 6.04",\
                 "1.216, 1.257, 1.381, 1.606, 1.957, 2.448, 3.093, 3.907, 4.901, 6.085",\
                 "1.241, 1.283, 1.406, 1.631, 1.982, 2.473, 3.119, 3.932, 4.925, 6.108",\
                 "1.241, 1.282, 1.405, 1.631, 1.981, 2.473, 3.119, 3.932, 4.924, 6.107",\
                 "1.212, 1.254, 1.377, 1.602, 1.953, 2.444, 3.089, 3.903, 4.896, 6.079");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.0824, 0.119, 0.2218, 0.409, 0.7188, 1.168, 1.763, 2.517, 3.436, 4.527",\
                 "0.0822, 0.1188, 0.2224, 0.409, 0.718, 1.168, 1.764, 2.517, 3.436, 4.532",\
                 "0.0828, 0.119, 0.2222, 0.409, 0.7196, 1.168, 1.764, 2.517, 3.436, 4.532",\
                 "0.0824, 0.1188, 0.2216, 0.4088, 0.719, 1.168, 1.763, 2.517, 3.434, 4.527",\
                 "0.0826, 0.1188, 0.2222, 0.4096, 0.7196, 1.168, 1.763, 2.517, 3.436, 4.527",\
                 "0.0826, 0.1192, 0.2224, 0.4088, 0.7188, 1.168, 1.765, 2.517, 3.434, 4.532",\
                 "0.0828, 0.119, 0.2226, 0.4088, 0.719, 1.166, 1.762, 2.517, 3.433, 4.532",\
                 "0.0834, 0.1196, 0.2228, 0.4088, 0.7182, 1.167, 1.763, 2.513, 3.433, 4.53",\
                 "0.084, 0.1202, 0.223, 0.4096, 0.718, 1.167, 1.764, 2.514, 3.43, 4.524",\
                 "0.0848, 0.1212, 0.2236, 0.4098, 0.7184, 1.168, 1.765, 2.514, 3.432, 4.524");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.08532, 0.1409, 0.3346, 0.7252, 1.341, 2.21, 3.345, 4.781, 6.529, 8.616",\
                 "0.0858, 0.1412, 0.3334, 0.7252, 1.342, 2.206, 3.346, 4.78, 6.53, 8.624",\
                 "0.0856, 0.141, 0.3334, 0.7246, 1.342, 2.206, 3.35, 4.78, 6.534, 8.622",\
                 "0.0858, 0.141, 0.3334, 0.7252, 1.342, 2.207, 3.344, 4.781, 6.531, 8.618",\
                 "0.0856, 0.141, 0.3332, 0.726, 1.342, 2.209, 3.344, 4.781, 6.53, 8.621",\
                 "0.086, 0.1408, 0.3334, 0.7256, 1.342, 2.208, 3.345, 4.778, 6.534, 8.619",\
                 "0.0866, 0.1416, 0.3338, 0.725, 1.342, 2.205, 3.347, 4.779, 6.53, 8.619",\
                 "0.0862, 0.1418, 0.3336, 0.7254, 1.342, 2.206, 3.344, 4.775, 6.525, 8.617",\
                 "0.0864, 0.142, 0.3336, 0.7252, 1.342, 2.206, 3.345, 4.776, 6.529, 8.613",\
                 "0.0868, 0.1426, 0.3344, 0.7252, 1.344, 2.207, 3.345, 4.775, 6.525, 8.613");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("1.186, 1.222, 1.315, 1.452, 1.649, 1.919, 2.275, 2.723, 3.27, 3.921",\
                 "1.2, 1.236, 1.328, 1.466, 1.662, 1.933, 2.289, 2.736, 3.283, 3.935",\
                 "1.241, 1.278, 1.37, 1.508, 1.704, 1.975, 2.33, 2.778, 3.325, 3.977",\
                 "1.278, 1.315, 1.407, 1.545, 1.741, 2.012, 2.368, 2.815, 3.362, 4.014",\
                 "1.306, 1.343, 1.435, 1.573, 1.769, 2.04, 2.395, 2.843, 3.39, 4.042",\
                 "1.318, 1.354, 1.447, 1.584, 1.781, 2.051, 2.407, 2.855, 3.402, 4.054",\
                 "1.311, 1.347, 1.44, 1.577, 1.774, 2.044, 2.4, 2.848, 3.395, 4.046",\
                 "1.283, 1.319, 1.412, 1.549, 1.746, 2.017, 2.372, 2.82, 3.367, 4.018",\
                 "1.23, 1.267, 1.359, 1.497, 1.693, 1.964, 2.319, 2.767, 3.314, 3.966",\
                 "1.154, 1.191, 1.283, 1.421, 1.617, 1.888, 2.243, 2.69, 3.237, 3.889");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.8991, 0.9406, 1.064, 1.29, 1.641, 2.131, 2.778, 3.591, 4.585, 5.77",\
                 "0.9105, 0.9521, 1.076, 1.301, 1.652, 2.143, 2.789, 3.604, 4.598, 5.779",\
                 "0.9486, 0.9903, 1.114, 1.339, 1.69, 2.181, 2.826, 3.642, 4.635, 5.819",\
                 "1.024, 1.065, 1.189, 1.415, 1.765, 2.256, 2.902, 3.718, 4.71, 5.895",\
                 "1.111, 1.153, 1.276, 1.502, 1.852, 2.343, 2.99, 3.803, 4.799, 5.98",\
                 "1.184, 1.226, 1.348, 1.574, 1.924, 2.416, 3.061, 3.876, 4.871, 6.055",\
                 "1.238, 1.28, 1.403, 1.628, 1.979, 2.47, 3.116, 3.929, 4.924, 6.108",\
                 "1.266, 1.307, 1.43, 1.656, 2.006, 2.497, 3.143, 3.956, 4.949, 6.132",\
                 "1.261, 1.303, 1.426, 1.651, 2.002, 2.492, 3.138, 3.952, 4.944, 6.127",\
                 "1.22, 1.262, 1.385, 1.61, 1.961, 2.452, 3.098, 3.911, 4.904, 6.087");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.0822, 0.1194, 0.2216, 0.409, 0.7194, 1.169, 1.765, 2.517, 3.436, 4.533",\
                 "0.0826, 0.119, 0.2216, 0.4088, 0.7184, 1.168, 1.763, 2.517, 3.436, 4.527",\
                 "0.0824, 0.1192, 0.2218, 0.4092, 0.7196, 1.168, 1.764, 2.516, 3.432, 4.533",\
                 "0.0826, 0.1192, 0.2218, 0.409, 0.7188, 1.168, 1.763, 2.517, 3.436, 4.526",\
                 "0.0824, 0.119, 0.2218, 0.409, 0.7194, 1.168, 1.764, 2.517, 3.436, 4.532",\
                 "0.0822, 0.119, 0.2222, 0.4086, 0.7176, 1.168, 1.764, 2.517, 3.436, 4.529",\
                 "0.0826, 0.1186, 0.2214, 0.4088, 0.719, 1.167, 1.762, 2.515, 3.433, 4.531",\
                 "0.0824, 0.1188, 0.2216, 0.409, 0.7182, 1.167, 1.763, 2.514, 3.43, 4.527",\
                 "0.0822, 0.1186, 0.2216, 0.409, 0.7182, 1.169, 1.764, 2.516, 3.432, 4.524",\
                 "0.0824, 0.119, 0.2218, 0.4096, 0.719, 1.168, 1.763, 2.518, 3.433, 4.525");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.08558, 0.1409, 0.3334, 0.7258, 1.341, 2.209, 3.346, 4.778, 6.533, 8.621",\
                 "0.08584, 0.1411, 0.3336, 0.7248, 1.341, 2.209, 3.344, 4.781, 6.535, 8.626",\
                 "0.086, 0.141, 0.3334, 0.7252, 1.342, 2.209, 3.349, 4.781, 6.534, 8.632",\
                 "0.086, 0.1412, 0.3334, 0.7252, 1.342, 2.209, 3.349, 4.78, 6.533, 8.62",\
                 "0.0856, 0.1412, 0.3334, 0.7248, 1.341, 2.21, 3.345, 4.778, 6.532, 8.617",\
                 "0.0858, 0.1414, 0.3336, 0.725, 1.341, 2.206, 3.351, 4.781, 6.536, 8.624",\
                 "0.086, 0.141, 0.3338, 0.726, 1.341, 2.205, 3.343, 4.776, 6.532, 8.623",\
                 "0.086, 0.1418, 0.3338, 0.7248, 1.342, 2.205, 3.344, 4.781, 6.528, 8.618",\
                 "0.0866, 0.1418, 0.334, 0.7254, 1.342, 2.207, 3.345, 4.775, 6.529, 8.615",\
                 "0.087, 0.1422, 0.3348, 0.7254, 1.343, 2.206, 3.344, 4.779, 6.526, 8.613");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b0 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.8095, 0.8461, 0.9383, 1.076, 1.272, 1.543, 1.899, 2.347, 2.894, 3.545",\
                 "0.8258, 0.8623, 0.9548, 1.092, 1.288, 1.559, 1.915, 2.363, 2.91, 3.562",\
                 "0.8914, 0.9279, 1.02, 1.158, 1.354, 1.625, 1.98, 2.428, 2.976, 3.627",\
                 "1.025, 1.061, 1.154, 1.291, 1.488, 1.758, 2.114, 2.562, 3.11, 3.76",\
                 "1.221, 1.258, 1.35, 1.488, 1.684, 1.955, 2.31, 2.759, 3.306, 3.957",\
                 "1.45, 1.487, 1.579, 1.717, 1.913, 2.184, 2.539, 2.987, 3.535, 4.187",\
                 "1.713, 1.749, 1.841, 1.979, 2.175, 2.446, 2.801, 3.249, 3.796, 4.448",\
                 "2.009, 2.045, 2.138, 2.275, 2.471, 2.742, 3.098, 3.546, 4.092, 4.744",\
                 "2.34, 2.377, 2.469, 2.606, 2.803, 3.074, 3.429, 3.877, 4.424, 5.075",\
                 "2.708, 2.744, 2.837, 2.974, 3.17, 3.441, 3.797, 4.245, 4.791, 5.444");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.08166, 0.1185, 0.2218, 0.4088, 0.7188, 1.168, 1.764, 2.52, 3.44, 4.537",\
                 "0.08194, 0.1185, 0.2216, 0.409, 0.7188, 1.168, 1.765, 2.519, 3.441, 4.531",\
                 "0.0818, 0.1184, 0.2216, 0.4088, 0.7196, 1.168, 1.766, 2.52, 3.436, 4.538",\
                 "0.0818, 0.1182, 0.2216, 0.409, 0.7196, 1.168, 1.765, 2.52, 3.44, 4.537",\
                 "0.0818, 0.1182, 0.2218, 0.409, 0.7194, 1.168, 1.764, 2.518, 3.437, 4.538",\
                 "0.082, 0.1182, 0.2214, 0.4086, 0.7174, 1.167, 1.764, 2.52, 3.435, 4.537",\
                 "0.0822, 0.119, 0.2214, 0.4084, 0.7174, 1.167, 1.762, 2.516, 3.434, 4.537",\
                 "0.0822, 0.1186, 0.222, 0.409, 0.7188, 1.168, 1.762, 2.514, 3.433, 4.528",\
                 "0.0824, 0.1188, 0.2218, 0.4094, 0.7192, 1.167, 1.763, 2.513, 3.431, 4.525",\
                 "0.0826, 0.1188, 0.2222, 0.4092, 0.7184, 1.169, 1.766, 2.519, 3.434, 4.524");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.8097, 0.8462, 0.9383, 1.076, 1.272, 1.543, 1.899, 2.347, 2.894, 3.546",\
                 "0.8259, 0.8623, 0.9548, 1.092, 1.288, 1.559, 1.915, 2.363, 2.91, 3.562",\
                 "0.8914, 0.928, 1.02, 1.158, 1.354, 1.625, 1.98, 2.428, 2.976, 3.627",\
                 "1.025, 1.061, 1.154, 1.291, 1.487, 1.758, 2.114, 2.562, 3.109, 3.761",\
                 "1.221, 1.258, 1.35, 1.487, 1.684, 1.954, 2.31, 2.758, 3.306, 3.956",\
                 "1.45, 1.487, 1.58, 1.717, 1.913, 2.184, 2.54, 2.988, 3.535, 4.186",\
                 "1.713, 1.749, 1.841, 1.979, 2.175, 2.446, 2.801, 3.249, 3.796, 4.448",\
                 "2.008, 2.045, 2.137, 2.275, 2.471, 2.742, 3.098, 3.545, 4.092, 4.744",\
                 "2.34, 2.376, 2.469, 2.606, 2.803, 3.073, 3.429, 3.877, 4.424, 5.075",\
                 "2.708, 2.744, 2.837, 2.974, 3.17, 3.441, 3.797, 4.245, 4.791, 5.443");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.08182, 0.1184, 0.2213, 0.4097, 0.7188, 1.167, 1.765, 2.52, 3.437, 4.538",\
                 "0.08168, 0.1182, 0.2217, 0.409, 0.7186, 1.168, 1.765, 2.52, 3.435, 4.538",\
                 "0.0818, 0.1184, 0.2218, 0.4096, 0.7182, 1.167, 1.764, 2.52, 3.44, 4.537",\
                 "0.0818, 0.1182, 0.2216, 0.4096, 0.7182, 1.168, 1.764, 2.518, 3.442, 4.531",\
                 "0.0818, 0.1184, 0.2218, 0.4088, 0.7194, 1.168, 1.765, 2.52, 3.437, 4.538",\
                 "0.0822, 0.1182, 0.2216, 0.4094, 0.7186, 1.169, 1.765, 2.52, 3.437, 4.538",\
                 "0.082, 0.1186, 0.2218, 0.409, 0.7184, 1.167, 1.763, 2.516, 3.435, 4.537",\
                 "0.0824, 0.1186, 0.222, 0.4088, 0.7182, 1.167, 1.763, 2.514, 3.432, 4.528",\
                 "0.0828, 0.119, 0.2216, 0.409, 0.7184, 1.167, 1.763, 2.516, 3.432, 4.523",\
                 "0.0824, 0.119, 0.222, 0.409, 0.7194, 1.168, 1.764, 2.515, 3.431, 4.524");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.8119, 0.8486, 0.9408, 1.078, 1.275, 1.545, 1.901, 2.349, 2.896, 3.547",\
                 "0.8266, 0.8632, 0.9555, 1.093, 1.289, 1.56, 1.916, 2.364, 2.91, 3.562",\
                 "0.8912, 0.9278, 1.02, 1.158, 1.354, 1.625, 1.98, 2.428, 2.975, 3.627",\
                 "1.024, 1.061, 1.153, 1.291, 1.487, 1.758, 2.113, 2.561, 3.108, 3.76",\
                 "1.22, 1.257, 1.349, 1.486, 1.682, 1.953, 2.309, 2.757, 3.303, 3.955",\
                 "1.449, 1.485, 1.578, 1.715, 1.912, 2.182, 2.538, 2.986, 3.532, 4.184",\
                 "1.714, 1.75, 1.842, 1.98, 2.176, 2.447, 2.802, 3.25, 3.797, 4.449",\
                 "2.014, 2.05, 2.142, 2.28, 2.476, 2.747, 3.102, 3.55, 4.097, 4.748",\
                 "2.349, 2.386, 2.478, 2.615, 2.812, 3.083, 3.438, 3.886, 4.433, 5.084",\
                 "2.721, 2.758, 2.85, 2.988, 3.184, 3.455, 3.811, 4.259, 4.805, 5.458");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.9819, 1.024, 1.147, 1.372, 1.723, 2.214, 2.86, 3.675, 4.666, 5.854",\
                 "0.9904, 1.032, 1.155, 1.381, 1.732, 2.223, 2.868, 3.684, 4.677, 5.861",\
                 "1.002, 1.044, 1.167, 1.393, 1.744, 2.235, 2.881, 3.696, 4.69, 5.872",\
                 "1.024, 1.066, 1.189, 1.415, 1.766, 2.257, 2.902, 3.718, 4.709, 5.896",\
                 "1.055, 1.097, 1.22, 1.446, 1.796, 2.288, 2.934, 3.749, 4.741, 5.927",\
                 "1.083, 1.124, 1.247, 1.473, 1.823, 2.314, 2.961, 3.774, 4.769, 5.953",\
                 "1.098, 1.14, 1.263, 1.489, 1.84, 2.331, 2.976, 3.79, 4.783, 5.971",\
                 "1.093, 1.135, 1.258, 1.483, 1.834, 2.325, 2.97, 3.784, 4.776, 5.961",\
                 "1.06, 1.102, 1.225, 1.45, 1.8, 2.292, 2.937, 3.751, 4.744, 5.926",\
                 "0.9944, 1.036, 1.16, 1.385, 1.736, 2.227, 2.872, 3.685, 4.678, 5.861");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.0821, 0.1186, 0.2214, 0.409, 0.7194, 1.168, 1.764, 2.518, 3.438, 4.536",\
                 "0.08194, 0.1187, 0.222, 0.4094, 0.719, 1.168, 1.763, 2.518, 3.438, 4.536",\
                 "0.0822, 0.1186, 0.2214, 0.409, 0.7188, 1.168, 1.765, 2.517, 3.436, 4.535",\
                 "0.082, 0.1186, 0.2214, 0.409, 0.7188, 1.168, 1.765, 2.517, 3.436, 4.537",\
                 "0.082, 0.1186, 0.2218, 0.4092, 0.7194, 1.168, 1.763, 2.518, 3.437, 4.536",\
                 "0.0824, 0.1184, 0.2218, 0.4094, 0.7188, 1.168, 1.764, 2.518, 3.438, 4.537",\
                 "0.0824, 0.1186, 0.2218, 0.4088, 0.718, 1.167, 1.762, 2.516, 3.437, 4.535",\
                 "0.0828, 0.1194, 0.2218, 0.4092, 0.718, 1.169, 1.762, 2.514, 3.433, 4.531",\
                 "0.0832, 0.1196, 0.2224, 0.409, 0.7194, 1.168, 1.763, 2.515, 3.431, 4.525",\
                 "0.084, 0.1202, 0.2228, 0.4108, 0.7182, 1.167, 1.765, 2.514, 3.43, 4.524");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.08574, 0.1408, 0.3344, 0.725, 1.342, 2.205, 3.347, 4.781, 6.53, 8.617",\
                 "0.0856, 0.141, 0.3332, 0.7252, 1.342, 2.206, 3.349, 4.78, 6.534, 8.621",\
                 "0.0858, 0.1412, 0.3336, 0.7252, 1.342, 2.208, 3.351, 4.781, 6.535, 8.628",\
                 "0.0858, 0.1414, 0.3336, 0.7252, 1.342, 2.206, 3.347, 4.781, 6.53, 8.618",\
                 "0.0854, 0.141, 0.3334, 0.7264, 1.343, 2.21, 3.346, 4.78, 6.532, 8.62",\
                 "0.0856, 0.1414, 0.3342, 0.7258, 1.342, 2.209, 3.346, 4.781, 6.535, 8.622",\
                 "0.0858, 0.1414, 0.334, 0.7248, 1.343, 2.205, 3.345, 4.78, 6.529, 8.617",\
                 "0.0858, 0.1416, 0.3336, 0.725, 1.341, 2.208, 3.342, 4.78, 6.527, 8.612",\
                 "0.0864, 0.1418, 0.3342, 0.7254, 1.341, 2.206, 3.344, 4.776, 6.527, 8.615",\
                 "0.0874, 0.1424, 0.3346, 0.7252, 1.342, 2.207, 3.342, 4.778, 6.528, 8.61");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.8119, 0.8486, 0.9408, 1.078, 1.275, 1.545, 1.901, 2.349, 2.896, 3.547",\
                 "0.8266, 0.8632, 0.9555, 1.093, 1.289, 1.56, 1.916, 2.364, 2.91, 3.562",\
                 "0.8912, 0.9278, 1.02, 1.158, 1.354, 1.625, 1.98, 2.428, 2.975, 3.627",\
                 "1.024, 1.061, 1.153, 1.291, 1.487, 1.758, 2.113, 2.561, 3.108, 3.76",\
                 "1.22, 1.257, 1.349, 1.486, 1.682, 1.953, 2.309, 2.757, 3.303, 3.955",\
                 "1.449, 1.485, 1.578, 1.715, 1.912, 2.182, 2.538, 2.986, 3.532, 4.184",\
                 "1.714, 1.75, 1.842, 1.98, 2.176, 2.447, 2.802, 3.25, 3.797, 4.449",\
                 "2.014, 2.05, 2.142, 2.28, 2.476, 2.747, 3.102, 3.55, 4.097, 4.748",\
                 "2.349, 2.386, 2.478, 2.615, 2.812, 3.083, 3.438, 3.886, 4.433, 5.084",\
                 "2.721, 2.758, 2.85, 2.988, 3.184, 3.455, 3.811, 4.259, 4.805, 5.458");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.9819, 1.024, 1.147, 1.372, 1.723, 2.214, 2.86, 3.675, 4.666, 5.854",\
                 "0.9904, 1.032, 1.155, 1.381, 1.732, 2.223, 2.868, 3.684, 4.677, 5.861",\
                 "1.002, 1.044, 1.167, 1.393, 1.744, 2.235, 2.881, 3.696, 4.69, 5.872",\
                 "1.024, 1.066, 1.189, 1.415, 1.766, 2.257, 2.902, 3.718, 4.709, 5.896",\
                 "1.055, 1.097, 1.22, 1.446, 1.796, 2.288, 2.934, 3.749, 4.741, 5.927",\
                 "1.083, 1.124, 1.247, 1.473, 1.823, 2.314, 2.961, 3.774, 4.769, 5.953",\
                 "1.098, 1.14, 1.263, 1.489, 1.84, 2.331, 2.976, 3.79, 4.783, 5.971",\
                 "1.093, 1.135, 1.258, 1.483, 1.834, 2.325, 2.97, 3.784, 4.776, 5.961",\
                 "1.06, 1.102, 1.225, 1.45, 1.8, 2.292, 2.937, 3.751, 4.744, 5.926",\
                 "0.9944, 1.036, 1.16, 1.385, 1.736, 2.227, 2.872, 3.685, 4.678, 5.861");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.08166, 0.1185, 0.2218, 0.4088, 0.7188, 1.168, 1.764, 2.52, 3.44, 4.537",\
                 "0.08194, 0.1185, 0.2216, 0.409, 0.7188, 1.168, 1.765, 2.519, 3.441, 4.531",\
                 "0.0818, 0.1184, 0.2216, 0.4088, 0.7196, 1.168, 1.766, 2.52, 3.436, 4.538",\
                 "0.0818, 0.1182, 0.2216, 0.409, 0.7196, 1.168, 1.765, 2.52, 3.44, 4.537",\
                 "0.0818, 0.1182, 0.2218, 0.409, 0.7194, 1.168, 1.764, 2.518, 3.437, 4.538",\
                 "0.082, 0.1182, 0.2214, 0.4086, 0.7174, 1.167, 1.764, 2.52, 3.435, 4.537",\
                 "0.0822, 0.119, 0.2214, 0.4084, 0.7174, 1.167, 1.762, 2.516, 3.434, 4.537",\
                 "0.0822, 0.1186, 0.222, 0.409, 0.7188, 1.168, 1.762, 2.514, 3.433, 4.528",\
                 "0.0824, 0.1188, 0.2218, 0.4094, 0.7192, 1.167, 1.763, 2.513, 3.431, 4.525",\
                 "0.0826, 0.1188, 0.2222, 0.4092, 0.7184, 1.169, 1.766, 2.519, 3.434, 4.524");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7967, 1.092, 1.444");
          values("0.08574, 0.1408, 0.3344, 0.725, 1.342, 2.205, 3.347, 4.781, 6.53, 8.617",\
                 "0.0856, 0.141, 0.3332, 0.7252, 1.342, 2.206, 3.349, 4.78, 6.534, 8.621",\
                 "0.0858, 0.1412, 0.3336, 0.7252, 1.342, 2.208, 3.351, 4.781, 6.535, 8.628",\
                 "0.0858, 0.1414, 0.3336, 0.7252, 1.342, 2.206, 3.347, 4.781, 6.53, 8.618",\
                 "0.0854, 0.141, 0.3334, 0.7264, 1.343, 2.21, 3.346, 4.78, 6.532, 8.62",\
                 "0.0856, 0.1414, 0.3342, 0.7258, 1.342, 2.209, 3.346, 4.781, 6.535, 8.622",\
                 "0.0858, 0.1414, 0.334, 0.7248, 1.343, 2.205, 3.345, 4.78, 6.529, 8.617",\
                 "0.0858, 0.1416, 0.3336, 0.725, 1.341, 2.208, 3.342, 4.78, 6.527, 8.612",\
                 "0.0864, 0.1418, 0.3342, 0.7254, 1.341, 2.206, 3.344, 4.776, 6.527, 8.615",\
                 "0.0874, 0.1424, 0.3346, 0.7252, 1.342, 2.207, 3.342, 4.778, 6.528, 8.61");
        }
      }
    }

    pin(RN) {
      capacitance : 0.005137 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.497 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009049, 0.008503, 0.008397, 0.008383, 0.008372, 0.008377, 0.008376, \
                 0.008376, 0.008377, 0.00838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008373, -0.008358, -0.008361, -0.008356, -0.008343, -0.008355, \
                 -0.008353, -0.008349, -0.008351, -0.008351");
        }
      }

      internal_power() {
        when : "!D&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008915, 0.008395, 0.008394, 0.008381, 0.008365, 0.008374, 0.008373, \
                 0.008378, 0.008372, 0.00838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008368, -0.008356, -0.008362, -0.008352, -0.008343, -0.008357, \
                 -0.00835, -0.008353, -0.00835, -0.008351");
        }
      }

      internal_power() {
        when : "D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009426, 0.008503, 0.008386, 0.008372, 0.008382, 0.008377, 0.008364, \
                 0.008378, 0.008376, 0.008371");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00837, -0.008359, -0.00836, -0.00835, -0.008344, -0.008356, \
                 -0.008354, -0.008349, -0.008349, -0.008347");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.658, 0.655, 0.675, 0.765, 0.988, 1.368, 1.899, 2.573, 3.403, 4.387",\
                 "0.664, 0.667, 0.681, 0.775, 0.996, 1.373, 1.907, 2.575, 3.403, 4.387",\
                 "0.678, 0.675, 0.701, 0.784, 1.018, 1.395, 1.917, 2.592, 3.418, 4.398",\
                 "0.699, 0.7, 0.718, 0.804, 1.025, 1.389, 1.902, 2.557, 3.358, 4.312",\
                 "0.732, 0.734, 0.748, 0.834, 1.043, 1.398, 1.894, 2.535, 3.314, 4.25",\
                 "0.756, 0.76, 0.775, 0.856, 1.047, 1.387, 1.864, 2.479, 3.229, 4.145",\
                 "0.774, 0.775, 0.791, 0.865, 1.046, 1.362, 1.817, 2.414, 3.146, 4.027",\
                 "0.78, 0.78, 0.796, 0.864, 1.034, 1.336, 1.783, 2.369, 3.102, 3.98",\
                 "0.751, 0.755, 0.768, 0.836, 1.001, 1.282, 1.716, 2.292, 3.019, 3.892",\
                 "0.694, 0.696, 0.713, 0.775, 0.928, 1.209, 1.631, 2.203, 2.935, 3.823");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.573, -0.573, -0.583, -0.637, -0.728, -0.838, -0.938, -1.009, -1.048, -1.044",\
                 "-0.582, -0.581, -0.593, -0.64, -0.733, -0.849, -0.947, -1.017, -1.052, -1.054",\
                 "-0.597, -0.592, -0.606, -0.656, -0.748, -0.859, -0.948, -1.025, -1.061, -1.062",\
                 "-0.616, -0.613, -0.624, -0.673, -0.76, -0.862, -0.953, -1.02, -1.06, -1.06",\
                 "-0.65, -0.649, -0.651, -0.701, -0.78, -0.872, -0.956, -1.024, -1.062, -1.068",\
                 "-0.675, -0.672, -0.679, -0.717, -0.793, -0.88, -0.961, -1.038, -1.086, -1.099",\
                 "-0.69, -0.69, -0.692, -0.735, -0.805, -0.891, -0.977, -1.057, -1.12, -1.151",\
                 "-0.691, -0.691, -0.696, -0.736, -0.804, -0.898, -0.992, -1.087, -1.165, -1.212",\
                 "-0.664, -0.659, -0.669, -0.705, -0.783, -0.879, -0.996, -1.104, -1.206, -1.28",\
                 "-0.6, -0.602, -0.616, -0.651, -0.725, -0.834, -0.967, -1.102, -1.233, -1.345");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latrsnq_1) {
    area : 52.684800 ;

    latch(IQ2,IQN2) {
      enable : "E" ;
      data_in : "D" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : H ;
      clear_preset_var2 : L ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!RN&!SETN" ;
      value : "0.0001220439" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!RN&SETN" ;
      value : "0.0001174041" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&RN&!SETN" ;
      value : "0.0001151832" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&RN&SETN" ;
      value : "0.0001384482" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!RN&!SETN" ;
      value : "0.0001059036" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!RN&SETN" ;
      value : "0.0001176582" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&RN&!SETN" ;
      value : "0.0001064811" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&RN&SETN" ;
      value : "0.0001179354" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!RN&!SETN" ;
      value : "0.0001221198" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!RN&SETN" ;
      value : "0.00011748" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&RN&!SETN" ;
      value : "0.0001151832" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&RN&SETN" ;
      value : "0.0001651815" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!RN&!SETN" ;
      value : "0.0001223772" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!RN&SETN" ;
      value : "0.0001341351" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&RN&!SETN" ;
      value : "0.0001154406" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&RN&SETN" ;
      value : "0.0001320231" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001651815" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.003028 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01128, 0.01137, 0.01156, 0.01177, 0.01193, 0.01205, 0.01211, \
                 0.01216, 0.0122, 0.01221");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008153, -0.008135, -0.008151, -0.008198, -0.008228, -0.008265, \
                 -0.008278, -0.00828, -0.008292, -0.00829");
        }
      }

      internal_power() {
        when : "!E&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01128, 0.01137, 0.01156, 0.01177, 0.01193, 0.01205, 0.01211, \
                 0.01215, 0.01219, 0.0122");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008152, -0.008135, -0.008151, -0.008197, -0.008228, -0.008261, \
                 -0.008278, -0.008281, -0.008294, -0.008293");
        }
      }

      internal_power() {
        when : "!E&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008366, 0.008365, 0.008363, 0.008346, 0.008357, 0.00838, 0.008373, \
                 0.008364, 0.008367, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006999, -0.007606, -0.008127, -0.008206, -0.008215, -0.008259, \
                 -0.008274, -0.008278, -0.008287, -0.008291");
        }
      }

      internal_power() {
        when : "!E&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009005, 0.009005, 0.008991, 0.008998, 0.009, 0.009008, 0.009021, \
                 0.009019, 0.009015, 0.009016");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008146, -0.008137, -0.008146, -0.008225, -0.008248, -0.008253, \
                 -0.008279, -0.00828, -0.008284, -0.00829");
        }
      }

      internal_power() {
        when : "E&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009225, 0.009215, 0.009219, 0.009207, 0.009201, 0.009206, 0.009204, \
                 0.009197, 0.009203, 0.00918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006871, -0.006879, -0.006874, -0.006879, -0.006878, -0.006915, \
                 -0.006919, -0.006933, -0.006942, -0.006973");
        }
      }

      internal_power() {
        when : "E&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009224, 0.009215, 0.009217, 0.009202, 0.009205, 0.009207, 0.009202, \
                 0.009204, 0.009201, 0.009179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00687, -0.006879, -0.006874, -0.006876, -0.006882, -0.006914, \
                 -0.006917, -0.006933, -0.006943, -0.00697");
        }
      }

      internal_power() {
        when : "E&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08404, 0.08375, 0.08326, 0.08482, 0.09026, 0.1005, 0.1158, 0.1364, \
                 0.1623, 0.1938");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02069, 0.02022, 0.01993, 0.0213, 0.02562, 0.03378, 0.04633, \
                 0.06359, 0.08575, 0.113");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.567, -0.546, -0.492, -0.419, -0.325, -0.228, -0.12, 0.007, 0.154, 0.325",\
                 "-0.576, -0.565, -0.504, -0.428, -0.339, -0.242, -0.133, -0.008, 0.145, 0.314",\
                 "-0.613, -0.598, -0.543, -0.471, -0.374, -0.278, -0.169, -0.037, 0.114, 0.284",\
                 "-0.689, -0.671, -0.624, -0.551, -0.459, -0.35, -0.234, -0.105, 0.049, 0.227",\
                 "-0.829, -0.811, -0.756, -0.68, -0.585, -0.478, -0.356, -0.217, -0.059, 0.124",\
                 "-1.009, -0.99, -0.934, -0.856, -0.757, -0.642, -0.51, -0.373, -0.211, -0.026",\
                 "-1.229, -1.213, -1.144, -1.064, -0.976, -0.857, -0.719, -0.569, -0.405, -0.217",\
                 "-1.482, -1.467, -1.398, -1.317, -1.234, -1.109, -0.963, -0.807, -0.632, -0.446",\
                 "-1.77, -1.743, -1.678, -1.605, -1.512, -1.392, -1.238, -1.07, -0.895, -0.695",\
                 "-2.084, -2.064, -1.994, -1.916, -1.821, -1.7, -1.538, -1.357, -1.17, -0.967");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.55, -0.539, -0.53, -0.565, -0.652, -0.746, -0.82, -0.867, -0.88, -0.852",\
                 "-0.555, -0.549, -0.533, -0.573, -0.656, -0.749, -0.819, -0.868, -0.883, -0.855",\
                 "-0.576, -0.568, -0.559, -0.592, -0.67, -0.757, -0.83, -0.87, -0.887, -0.853",\
                 "-0.626, -0.614, -0.607, -0.635, -0.702, -0.774, -0.833, -0.88, -0.885, -0.859",\
                 "-0.68, -0.672, -0.66, -0.68, -0.733, -0.793, -0.853, -0.898, -0.911, -0.889",\
                 "-0.727, -0.719, -0.704, -0.717, -0.757, -0.82, -0.881, -0.929, -0.955, -0.944",\
                 "-0.757, -0.75, -0.737, -0.745, -0.782, -0.844, -0.904, -0.969, -1.013, -1.016",\
                 "-0.774, -0.768, -0.752, -0.756, -0.789, -0.856, -0.934, -1.007, -1.07, -1.1",\
                 "-0.76, -0.756, -0.735, -0.74, -0.783, -0.853, -0.943, -1.043, -1.129, -1.19",\
                 "-0.72, -0.712, -0.702, -0.702, -0.743, -0.827, -0.932, -1.054, -1.17, -1.269");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.647, 0.627, 0.573, 0.502, 0.422, 0.337, 0.272, 0.224, 0.188, 0.16",\
                 "0.664, 0.643, 0.586, 0.515, 0.432, 0.348, 0.287, 0.235, 0.2, 0.168",\
                 "0.694, 0.681, 0.622, 0.553, 0.47, 0.381, 0.314, 0.255, 0.208, 0.162",\
                 "0.771, 0.758, 0.694, 0.628, 0.544, 0.453, 0.364, 0.286, 0.204, 0.126",\
                 "0.903, 0.888, 0.835, 0.76, 0.673, 0.566, 0.465, 0.358, 0.258, 0.139",\
                 "1.084, 1.066, 1.004, 0.929, 0.845, 0.718, 0.598, 0.483, 0.347, 0.201",\
                 "1.305, 1.281, 1.217, 1.135, 1.051, 0.925, 0.791, 0.647, 0.499, 0.338",\
                 "1.553, 1.526, 1.454, 1.378, 1.293, 1.168, 1.022, 0.864, 0.705, 0.526",\
                 "1.834, 1.807, 1.736, 1.657, 1.568, 1.444, 1.285, 1.117, 0.941, 0.749",\
                 "2.142, 2.116, 2.043, 1.967, 1.874, 1.752, 1.581, 1.397, 1.206, 0.998");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.641, 0.634, 0.627, 0.674, 0.868, 1.207, 1.688, 2.301, 3.069, 3.976",\
                 "0.644, 0.635, 0.634, 0.679, 0.872, 1.208, 1.684, 2.295, 3.058, 3.963",\
                 "0.667, 0.657, 0.653, 0.703, 0.888, 1.217, 1.682, 2.275, 3.013, 3.889",\
                 "0.717, 0.71, 0.7, 0.743, 0.914, 1.213, 1.642, 2.19, 2.869, 3.685",\
                 "0.769, 0.757, 0.756, 0.786, 0.928, 1.196, 1.568, 2.061, 2.671, 3.404",\
                 "0.814, 0.807, 0.8, 0.827, 0.95, 1.187, 1.534, 1.99, 2.553, 3.24",\
                 "0.85, 0.844, 0.837, 0.855, 0.96, 1.18, 1.51, 1.945, 2.496, 3.157",\
                 "0.862, 0.852, 0.852, 0.87, 0.96, 1.16, 1.481, 1.9, 2.447, 3.111",\
                 "0.855, 0.851, 0.842, 0.862, 0.944, 1.13, 1.439, 1.873, 2.427, 3.109",\
                 "0.814, 0.811, 0.809, 0.826, 0.898, 1.08, 1.382, 1.812, 2.377, 3.081");
        }
      }
    }

    pin(E) {
      capacitance : 0.007233 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.718 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06793, 0.06731, 0.06892, 0.07553, 0.08823, 0.1076, 0.1341, 0.1682, \
                 0.2104, 0.2611");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004311, 0.003813, 0.004676, 0.009834, 0.02072, 0.03769, 0.06131, \
                 0.09182, 0.1296, 0.1751");
        }
      }

      internal_power() {
        when : "!D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06449, 0.06379, 0.06549, 0.07212, 0.08484, 0.1042, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00384, 0.003351, 0.004227, 0.009445, 0.02038, 0.03734, 0.06097, \
                 0.09149, 0.1293, 0.1747");
        }
      }

      internal_power() {
        when : "!D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09312, 0.09254, 0.09453, 0.1017, 0.115, 0.135, 0.1623, 0.1973, \
                 0.2405, 0.2926");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07269, 0.07225, 0.07292, 0.07785, 0.08859, 0.1056, 0.1296, 0.1607, \
                 0.1995, 0.2465");
        }
      }

      internal_power() {
        when : "!D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06448, 0.06378, 0.06547, 0.0721, 0.08481, 0.1042, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0009126, 0.0004208, 0.001217, 0.006435, 0.01732, 0.03437, 0.05795, \
                 0.08851, 0.1263, 0.1718");
        }
      }

      internal_power() {
        when : "D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06811, 0.06746, 0.0691, 0.07571, 0.08837, 0.1077, 0.1342, 0.1683, \
                 0.2105, 0.2612");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01235, 0.01184, 0.01268, 0.01785, 0.0287, 0.04573, 0.06931, \
                 0.09982, 0.1376, 0.1831");
        }
      }

      internal_power() {
        when : "D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06469, 0.06399, 0.06567, 0.07228, 0.08501, 0.1043, 0.1308, 0.1649, \
                 0.2072, 0.2579");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01187, 0.01136, 0.01224, 0.01748, 0.02837, 0.04535, 0.06897, \
                 0.09948, 0.1373, 0.1827");
        }
      }

      internal_power() {
        when : "D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06455, 0.06383, 0.06561, 0.07238, 0.0852, 0.1048, 0.1313, 0.1655, \
                 0.2078, 0.2586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003186, 0.002676, 0.003485, 0.008619, 0.01939, 0.0363, 0.05983, \
                 0.09031, 0.1281, 0.1735");
        }
      }

      internal_power() {
        when : "D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06455, 0.06383, 0.06561, 0.07238, 0.0852, 0.1047, 0.1313, 0.1655, \
                 0.2078, 0.2586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0006727, 0.0002056, 0.001004, 0.006127, 0.01693, 0.03391, 0.0574, \
                 0.08786, 0.1257, 0.1711");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SETN" ;

        rise_constraint(scalar) {
          values("0.718");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SETN" ;

        rise_constraint(scalar) {
          values("0.576");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ2" ;
      max_capacitance : 0.3602 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E&RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1921, 0.1918, 0.1914, 0.1916, 0.1917, 0.1918, 0.1918, 0.1919, 0.1919, 0.1919",\
                 "0.1918, 0.1914, 0.1912, 0.1912, 0.1914, 0.1915, 0.1916, 0.1916, 0.1916, 0.1916",\
                 "0.1913, 0.191, 0.1907, 0.1908, 0.1909, 0.1909, 0.191, 0.1911, 0.1911, 0.1911",\
                 "0.193, 0.1927, 0.1924, 0.1926, 0.1926, 0.1927, 0.1928, 0.1928, 0.1928, 0.1928",\
                 "0.1994, 0.1991, 0.1989, 0.199, 0.199, 0.1991, 0.1992, 0.1992, 0.1992, 0.1992",\
                 "0.2112, 0.2107, 0.2105, 0.2106, 0.2107, 0.2107, 0.2108, 0.2108, 0.2108, 0.2108",\
                 "0.229, 0.2286, 0.2284, 0.2284, 0.2285, 0.2286, 0.2286, 0.2286, 0.2286, 0.2287",\
                 "0.2528, 0.2524, 0.2521, 0.2522, 0.2522, 0.2523, 0.2524, 0.2524, 0.2524, 0.2524",\
                 "0.2825, 0.2822, 0.2818, 0.2818, 0.2819, 0.282, 0.282, 0.282, 0.2821, 0.2821",\
                 "0.3184, 0.3179, 0.3175, 0.3176, 0.3176, 0.3176, 0.3176, 0.3177, 0.3177, 0.3178");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1623, 0.162, 0.1618, 0.1621, 0.1626, 0.1634, 0.1641, 0.1645, 0.1655, 0.1705",\
                 "0.1619, 0.1615, 0.1613, 0.1616, 0.1621, 0.163, 0.1638, 0.1644, 0.1648, 0.1692",\
                 "0.1616, 0.1612, 0.1609, 0.1613, 0.1618, 0.1627, 0.1633, 0.1641, 0.1648, 0.17",\
                 "0.1632, 0.1629, 0.1626, 0.163, 0.1636, 0.1644, 0.165, 0.1656, 0.1664, 0.1716",\
                 "0.1686, 0.1682, 0.168, 0.1683, 0.1688, 0.1696, 0.1703, 0.171, 0.1721, 0.1776",\
                 "0.1782, 0.1778, 0.1775, 0.1782, 0.1786, 0.1794, 0.1799, 0.1804, 0.1815, 0.1882",\
                 "0.193, 0.1925, 0.1923, 0.1926, 0.1937, 0.1944, 0.1949, 0.1955, 0.1966, 0.205",\
                 "0.2132, 0.2128, 0.2125, 0.2128, 0.2133, 0.2145, 0.2156, 0.2161, 0.2171, 0.2279",\
                 "0.2386, 0.2382, 0.2378, 0.2382, 0.2381, 0.2389, 0.2406, 0.242, 0.2442, 0.2587",\
                 "0.2695, 0.2691, 0.2689, 0.269, 0.2693, 0.2697, 0.2706, 0.2721, 0.2763, 0.2995");
        }
      }

      internal_power() {
        related_pin : "E" ;
        when : "RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1812, 0.1809, 0.1806, 0.1807, 0.1808, 0.1808, 0.1809, 0.181, 0.181, 0.181",\
                 "0.1812, 0.1808, 0.1806, 0.1807, 0.1808, 0.1809, 0.1809, 0.181, 0.181, 0.181",\
                 "0.1811, 0.1807, 0.1805, 0.1806, 0.1807, 0.1808, 0.1808, 0.1809, 0.1809, 0.1809",\
                 "0.1808, 0.1804, 0.1802, 0.1803, 0.1804, 0.1805, 0.1805, 0.1805, 0.1806, 0.1806",\
                 "0.1803, 0.1799, 0.1797, 0.1798, 0.1799, 0.18, 0.18, 0.18, 0.1801, 0.1801",\
                 "0.1801, 0.1798, 0.1797, 0.1797, 0.1798, 0.1798, 0.1799, 0.18, 0.18, 0.18",\
                 "0.1805, 0.1802, 0.1801, 0.1801, 0.1802, 0.1803, 0.1803, 0.1803, 0.1803, 0.1803",\
                 "0.1811, 0.1808, 0.1806, 0.1807, 0.1808, 0.1808, 0.1808, 0.1809, 0.1809, 0.1809",\
                 "0.1821, 0.1816, 0.1816, 0.1816, 0.1817, 0.1818, 0.1819, 0.1819, 0.1819, 0.1819",\
                 "0.1833, 0.1829, 0.1827, 0.1828, 0.1829, 0.1829, 0.183, 0.183, 0.1831, 0.1831");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1645, 0.1641, 0.1638, 0.1642, 0.1648, 0.1656, 0.1662, 0.1669, 0.1673, 0.1719",\
                 "0.1645, 0.1641, 0.1639, 0.1643, 0.1648, 0.1657, 0.1662, 0.1669, 0.1676, 0.1721",\
                 "0.1647, 0.1644, 0.1642, 0.1646, 0.1652, 0.166, 0.1665, 0.1672, 0.1681, 0.1724",\
                 "0.1672, 0.1668, 0.1665, 0.1672, 0.1676, 0.1683, 0.1692, 0.1697, 0.1702, 0.1754",\
                 "0.1728, 0.1725, 0.1721, 0.1726, 0.1731, 0.174, 0.1745, 0.1752, 0.1766, 0.1815",\
                 "0.1821, 0.1818, 0.1814, 0.1821, 0.1824, 0.1831, 0.1838, 0.1847, 0.1854, 0.1926",\
                 "0.1966, 0.1961, 0.1958, 0.1961, 0.1972, 0.198, 0.1984, 0.1993, 0.2002, 0.2093",\
                 "0.2135, 0.2132, 0.2128, 0.2131, 0.2135, 0.2146, 0.2159, 0.2163, 0.217, 0.2279",\
                 "0.232, 0.2316, 0.2311, 0.2314, 0.2318, 0.2323, 0.2338, 0.2355, 0.2373, 0.2522",\
                 "0.2522, 0.2517, 0.2516, 0.2518, 0.2521, 0.2527, 0.2531, 0.255, 0.2597, 0.2821");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!D&!E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1802, 0.1799, 0.1799, 0.1798, 0.1799, 0.18, 0.1801, 0.1801, 0.1801, 0.1802",\
                 "0.1802, 0.1799, 0.1798, 0.1799, 0.18, 0.1801, 0.1802, 0.1802, 0.1802, 0.1802",\
                 "0.1807, 0.1804, 0.1804, 0.1804, 0.1805, 0.1806, 0.1806, 0.1807, 0.1807, 0.1807",\
                 "0.184, 0.1837, 0.1836, 0.1837, 0.1838, 0.1839, 0.1839, 0.184, 0.184, 0.184",\
                 "0.1927, 0.1923, 0.1922, 0.1923, 0.1923, 0.1925, 0.1925, 0.1926, 0.1926, 0.1926",\
                 "0.2069, 0.2067, 0.2066, 0.2066, 0.2067, 0.2068, 0.2068, 0.2069, 0.2068, 0.2068",\
                 "0.2268, 0.2265, 0.2263, 0.2264, 0.2264, 0.2265, 0.2265, 0.2265, 0.2266, 0.2265",\
                 "0.2514, 0.251, 0.2508, 0.2509, 0.2511, 0.2512, 0.2512, 0.2512, 0.2512, 0.2512",\
                 "0.2804, 0.2801, 0.2797, 0.2798, 0.28, 0.2801, 0.2801, 0.2802, 0.2802, 0.2802",\
                 "0.3131, 0.3127, 0.3126, 0.3126, 0.3127, 0.3127, 0.3128, 0.3127, 0.3128, 0.3128");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1802, 0.1799, 0.1799, 0.1798, 0.1799, 0.18, 0.1801, 0.1801, 0.1801, 0.1802",\
                 "0.1802, 0.1799, 0.1798, 0.1799, 0.18, 0.1801, 0.1802, 0.1802, 0.1802, 0.1802",\
                 "0.1807, 0.1804, 0.1804, 0.1804, 0.1805, 0.1806, 0.1806, 0.1807, 0.1807, 0.1807",\
                 "0.184, 0.1837, 0.1836, 0.1837, 0.1838, 0.1839, 0.1839, 0.184, 0.184, 0.184",\
                 "0.1927, 0.1923, 0.1922, 0.1923, 0.1923, 0.1925, 0.1925, 0.1926, 0.1926, 0.1926",\
                 "0.2069, 0.2067, 0.2066, 0.2066, 0.2067, 0.2068, 0.2068, 0.2069, 0.2068, 0.2068",\
                 "0.2268, 0.2265, 0.2263, 0.2264, 0.2264, 0.2265, 0.2265, 0.2265, 0.2266, 0.2265",\
                 "0.2514, 0.251, 0.2508, 0.2509, 0.2511, 0.2512, 0.2512, 0.2512, 0.2512, 0.2512",\
                 "0.2804, 0.2801, 0.2797, 0.2798, 0.28, 0.2801, 0.2801, 0.2802, 0.2802, 0.2802",\
                 "0.3131, 0.3127, 0.3126, 0.3126, 0.3127, 0.3127, 0.3128, 0.3127, 0.3128, 0.3128");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&!E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1801, 0.1798, 0.1799, 0.1798, 0.1799, 0.18, 0.1801, 0.1801, 0.1801, 0.1801",\
                 "0.1802, 0.1799, 0.1799, 0.1799, 0.18, 0.1801, 0.1801, 0.1802, 0.1802, 0.1802",\
                 "0.1806, 0.1803, 0.1801, 0.1802, 0.1804, 0.1805, 0.1805, 0.1805, 0.1806, 0.1806",\
                 "0.1839, 0.1836, 0.1836, 0.1836, 0.1837, 0.1838, 0.1839, 0.1839, 0.1839, 0.1839",\
                 "0.1925, 0.1922, 0.192, 0.1921, 0.1922, 0.1923, 0.1924, 0.1924, 0.1924, 0.1924",\
                 "0.2068, 0.2064, 0.2061, 0.2063, 0.2065, 0.2066, 0.2066, 0.2067, 0.2067, 0.2067",\
                 "0.2265, 0.2262, 0.2259, 0.2262, 0.2262, 0.2263, 0.2263, 0.2263, 0.2263, 0.2263",\
                 "0.2512, 0.2508, 0.2506, 0.2507, 0.2508, 0.2509, 0.251, 0.251, 0.251, 0.251",\
                 "0.2802, 0.2799, 0.2795, 0.2797, 0.2797, 0.2799, 0.2799, 0.28, 0.28, 0.28",\
                 "0.3128, 0.3125, 0.3123, 0.3123, 0.3124, 0.3124, 0.3125, 0.3125, 0.3125, 0.3125");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1801, 0.1798, 0.1799, 0.1798, 0.1799, 0.18, 0.1801, 0.1801, 0.1801, 0.1801",\
                 "0.1802, 0.1799, 0.1799, 0.1799, 0.18, 0.1801, 0.1801, 0.1802, 0.1802, 0.1802",\
                 "0.1806, 0.1803, 0.1801, 0.1802, 0.1804, 0.1805, 0.1805, 0.1805, 0.1806, 0.1806",\
                 "0.1839, 0.1836, 0.1836, 0.1836, 0.1837, 0.1838, 0.1839, 0.1839, 0.1839, 0.1839",\
                 "0.1925, 0.1922, 0.192, 0.1921, 0.1922, 0.1923, 0.1924, 0.1924, 0.1924, 0.1924",\
                 "0.2068, 0.2064, 0.2061, 0.2063, 0.2065, 0.2066, 0.2066, 0.2067, 0.2067, 0.2067",\
                 "0.2265, 0.2262, 0.2259, 0.2262, 0.2262, 0.2263, 0.2263, 0.2263, 0.2263, 0.2263",\
                 "0.2512, 0.2508, 0.2506, 0.2507, 0.2508, 0.2509, 0.251, 0.251, 0.251, 0.251",\
                 "0.2802, 0.2799, 0.2795, 0.2797, 0.2797, 0.2799, 0.2799, 0.28, 0.28, 0.28",\
                 "0.3128, 0.3125, 0.3123, 0.3123, 0.3124, 0.3124, 0.3125, 0.3125, 0.3125, 0.3125");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.2021, 0.2018, 0.2015, 0.2016, 0.2018, 0.2018, 0.2019, 0.2019, 0.202, 0.202",\
                 "0.2008, 0.2006, 0.2003, 0.2004, 0.2005, 0.2006, 0.2006, 0.2007, 0.2007, 0.2007",\
                 "0.2006, 0.2004, 0.2001, 0.2002, 0.2003, 0.2004, 0.2005, 0.2005, 0.2005, 0.2005",\
                 "0.2039, 0.2036, 0.2033, 0.2035, 0.2036, 0.2037, 0.2038, 0.2038, 0.2038, 0.2038",\
                 "0.212, 0.2117, 0.2115, 0.2116, 0.2117, 0.2117, 0.2118, 0.2118, 0.2118, 0.2119",\
                 "0.2242, 0.2239, 0.2237, 0.2237, 0.2238, 0.2239, 0.2239, 0.2239, 0.224, 0.224",\
                 "0.2448, 0.2445, 0.2442, 0.2442, 0.2443, 0.2444, 0.2445, 0.2445, 0.2445, 0.2445",\
                 "0.2726, 0.2722, 0.2719, 0.272, 0.2721, 0.2722, 0.2723, 0.2723, 0.2723, 0.2723",\
                 "0.3072, 0.3068, 0.3065, 0.3066, 0.3066, 0.3068, 0.3068, 0.3068, 0.3068, 0.3069",\
                 "0.349, 0.3487, 0.3482, 0.3482, 0.3483, 0.3484, 0.3485, 0.3485, 0.3485, 0.3485");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1626, 0.1622, 0.162, 0.1624, 0.1631, 0.1637, 0.1644, 0.1652, 0.1658, 0.1699",\
                 "0.1623, 0.162, 0.1618, 0.1624, 0.1628, 0.1636, 0.1642, 0.1652, 0.1655, 0.1702",\
                 "0.1619, 0.1616, 0.1614, 0.1618, 0.1624, 0.1631, 0.1637, 0.1645, 0.1653, 0.1703",\
                 "0.1636, 0.1632, 0.163, 0.1633, 0.1638, 0.1647, 0.1654, 0.1661, 0.1668, 0.1726",\
                 "0.1693, 0.169, 0.1687, 0.169, 0.1696, 0.1705, 0.1709, 0.1714, 0.1725, 0.1787",\
                 "0.18, 0.1797, 0.1792, 0.18, 0.1806, 0.1812, 0.1817, 0.1823, 0.1833, 0.1899",\
                 "0.1967, 0.1963, 0.1959, 0.1962, 0.197, 0.1981, 0.1983, 0.1993, 0.2, 0.2089",\
                 "0.2192, 0.2188, 0.2186, 0.2189, 0.2192, 0.2204, 0.2219, 0.2221, 0.2226, 0.233",\
                 "0.2479, 0.2476, 0.247, 0.2473, 0.2479, 0.2482, 0.2495, 0.2514, 0.2529, 0.267",\
                 "0.2826, 0.2821, 0.2818, 0.2821, 0.2828, 0.283, 0.2835, 0.285, 0.2895, 0.311");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&!E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09359, 0.09333, 0.09305, 0.09327, 0.0934, 0.09349, 0.09355, 0.09358, 0.0936, 0.0936",\
                 "0.09313, 0.0928, 0.09257, 0.0928, 0.09301, 0.09304, 0.09309, 0.09312, 0.09316, 0.09311",\
                 "0.09341, 0.0932, 0.09301, 0.09315, 0.09328, 0.09341, 0.09344, 0.09346, 0.09347, 0.09346",\
                 "0.09825, 0.09794, 0.09771, 0.09786, 0.09797, 0.09807, 0.09813, 0.09817, 0.09819, 0.0982",\
                 "0.1085, 0.108, 0.1078, 0.1079, 0.108, 0.108, 0.1081, 0.1081, 0.1081, 0.1081",\
                 "0.1249, 0.1245, 0.124, 0.124, 0.1241, 0.1241, 0.1242, 0.1243, 0.1243, 0.1244",\
                 "0.1482, 0.1475, 0.147, 0.1469, 0.1469, 0.1469, 0.147, 0.147, 0.147, 0.147",\
                 "0.1783, 0.1776, 0.1769, 0.1767, 0.1767, 0.1766, 0.1766, 0.1766, 0.1766, 0.1766",\
                 "0.2157, 0.2148, 0.2139, 0.2135, 0.2133, 0.2133, 0.2133, 0.2133, 0.2134, 0.2134",\
                 "0.2605, 0.2595, 0.2581, 0.2577, 0.2574, 0.2574, 0.2574, 0.2574, 0.2574, 0.2574");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1358, 0.1356, 0.1359, 0.1365, 0.1371, 0.1379, 0.1385, 0.1392, 0.14, 0.1438",\
                 "0.1354, 0.1353, 0.1356, 0.1361, 0.1368, 0.1376, 0.1382, 0.1389, 0.1398, 0.1435",\
                 "0.1359, 0.1357, 0.136, 0.1365, 0.1372, 0.1379, 0.1386, 0.1393, 0.1401, 0.1443",\
                 "0.1415, 0.1413, 0.1414, 0.1418, 0.1425, 0.1433, 0.1439, 0.1445, 0.1453, 0.1499",\
                 "0.1532, 0.1528, 0.1529, 0.1534, 0.1539, 0.1547, 0.1556, 0.156, 0.1573, 0.1621",\
                 "0.1718, 0.1714, 0.171, 0.1717, 0.1722, 0.1728, 0.1735, 0.1741, 0.1751, 0.1815",\
                 "0.198, 0.1974, 0.1965, 0.1966, 0.1975, 0.1987, 0.1989, 0.1995, 0.2005, 0.2088",\
                 "0.2315, 0.2308, 0.2302, 0.2299, 0.2301, 0.2313, 0.2325, 0.233, 0.2336, 0.2448",\
                 "0.2731, 0.2723, 0.2712, 0.2708, 0.2711, 0.2716, 0.273, 0.2744, 0.2763, 0.2922",\
                 "0.3229, 0.3221, 0.3206, 0.32, 0.3198, 0.3203, 0.3209, 0.3231, 0.3272, 0.3554");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&!E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1616, 0.1614, 0.1616, 0.1625, 0.1631, 0.1639, 0.1643, 0.165, 0.1658, 0.1693",\
                 "0.1613, 0.1612, 0.1613, 0.1622, 0.1629, 0.1635, 0.164, 0.1651, 0.1657, 0.1687",\
                 "0.1618, 0.1616, 0.1618, 0.1626, 0.1632, 0.164, 0.1645, 0.1652, 0.1659, 0.1695",\
                 "0.1675, 0.1673, 0.1673, 0.168, 0.1685, 0.1693, 0.1699, 0.1705, 0.1715, 0.1754",\
                 "0.1797, 0.1794, 0.1794, 0.1799, 0.1805, 0.1812, 0.1818, 0.1823, 0.1832, 0.1883",\
                 "0.1995, 0.1991, 0.1986, 0.1991, 0.1998, 0.2003, 0.2008, 0.2016, 0.2025, 0.2086",\
                 "0.227, 0.2262, 0.2257, 0.2258, 0.2264, 0.2275, 0.2278, 0.2282, 0.2291, 0.237",\
                 "0.258, 0.2574, 0.2564, 0.2563, 0.2565, 0.2576, 0.2587, 0.2594, 0.26, 0.2712",\
                 "0.2921, 0.2914, 0.2902, 0.2901, 0.29, 0.2903, 0.2918, 0.2931, 0.2948, 0.3111",\
                 "0.3295, 0.3287, 0.3273, 0.3265, 0.3265, 0.3267, 0.3274, 0.3294, 0.3337, 0.3612");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1616, 0.1614, 0.1616, 0.1625, 0.1631, 0.1639, 0.1643, 0.165, 0.1658, 0.1693",\
                 "0.1613, 0.1612, 0.1613, 0.1622, 0.1629, 0.1635, 0.164, 0.1651, 0.1657, 0.1687",\
                 "0.1618, 0.1616, 0.1618, 0.1626, 0.1632, 0.164, 0.1645, 0.1652, 0.1659, 0.1695",\
                 "0.1675, 0.1673, 0.1673, 0.168, 0.1685, 0.1693, 0.1699, 0.1705, 0.1715, 0.1754",\
                 "0.1797, 0.1794, 0.1794, 0.1799, 0.1805, 0.1812, 0.1818, 0.1823, 0.1832, 0.1883",\
                 "0.1995, 0.1991, 0.1986, 0.1991, 0.1998, 0.2003, 0.2008, 0.2016, 0.2025, 0.2086",\
                 "0.227, 0.2262, 0.2257, 0.2258, 0.2264, 0.2275, 0.2278, 0.2282, 0.2291, 0.237",\
                 "0.258, 0.2574, 0.2564, 0.2563, 0.2565, 0.2576, 0.2587, 0.2594, 0.26, 0.2712",\
                 "0.2921, 0.2914, 0.2902, 0.2901, 0.29, 0.2903, 0.2918, 0.2931, 0.2948, 0.3111",\
                 "0.3295, 0.3287, 0.3273, 0.3265, 0.3265, 0.3267, 0.3274, 0.3294, 0.3337, 0.3612");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09615, 0.09581, 0.0957, 0.0959, 0.09598, 0.09597, 0.09602, 0.0961, 0.09612, 0.09613",\
                 "0.09568, 0.09538, 0.09533, 0.09533, 0.09549, 0.09555, 0.09561, 0.09564, 0.09565, 0.09567",\
                 "0.09596, 0.09566, 0.09553, 0.09573, 0.09582, 0.09586, 0.0959, 0.09594, 0.09596, 0.09596",\
                 "0.1008, 0.1005, 0.1003, 0.1004, 0.1006, 0.1006, 0.1007, 0.1007, 0.1008, 0.1008",\
                 "0.111, 0.1107, 0.1104, 0.1105, 0.1105, 0.1105, 0.1106, 0.1106, 0.1107, 0.1107",\
                 "0.1277, 0.1272, 0.1266, 0.1266, 0.1267, 0.1268, 0.1269, 0.1269, 0.1269, 0.1269",\
                 "0.1509, 0.1504, 0.1498, 0.1497, 0.1496, 0.1497, 0.1497, 0.1497, 0.1497, 0.1497",\
                 "0.1812, 0.1805, 0.1797, 0.1795, 0.1795, 0.1794, 0.1794, 0.1794, 0.1795, 0.1795",\
                 "0.2187, 0.2178, 0.2168, 0.2164, 0.2163, 0.2162, 0.2162, 0.2162, 0.2163, 0.2163",\
                 "0.2635, 0.2625, 0.2613, 0.2607, 0.2604, 0.2603, 0.2604, 0.2605, 0.2605, 0.2605");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1359, 0.1358, 0.136, 0.1366, 0.1373, 0.1381, 0.1389, 0.1393, 0.1403, 0.1449",\
                 "0.1356, 0.1355, 0.1357, 0.1363, 0.1371, 0.1378, 0.1385, 0.1389, 0.1399, 0.1439",\
                 "0.136, 0.1359, 0.1361, 0.1368, 0.1374, 0.1382, 0.1388, 0.14, 0.1409, 0.1444",\
                 "0.1416, 0.1415, 0.1416, 0.1421, 0.1427, 0.1436, 0.1443, 0.1449, 0.1461, 0.1503",\
                 "0.1535, 0.153, 0.1531, 0.1536, 0.1541, 0.1549, 0.1556, 0.1562, 0.1575, 0.1622",\
                 "0.1721, 0.1716, 0.1712, 0.1718, 0.1724, 0.1731, 0.1736, 0.1741, 0.1751, 0.1816",\
                 "0.1982, 0.1975, 0.1969, 0.197, 0.1976, 0.1989, 0.1991, 0.1997, 0.2007, 0.2095",\
                 "0.2318, 0.2312, 0.2305, 0.2302, 0.2303, 0.2314, 0.2326, 0.2332, 0.2338, 0.2452",\
                 "0.2735, 0.2728, 0.2717, 0.271, 0.2712, 0.2718, 0.2731, 0.2744, 0.2762, 0.2924",\
                 "0.3232, 0.3223, 0.3207, 0.3201, 0.3203, 0.3206, 0.3209, 0.3232, 0.327, 0.355");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09296, 0.09259, 0.09268, 0.0927, 0.09269, 0.09287, 0.09289, 0.09291, 0.0929, 0.09292",\
                 "0.0924, 0.09211, 0.092, 0.09227, 0.09228, 0.09236, 0.0924, 0.09242, 0.09244, 0.09245",\
                 "0.0927, 0.09237, 0.09229, 0.09239, 0.09257, 0.09261, 0.09265, 0.09268, 0.0927, 0.09272",\
                 "0.09754, 0.09723, 0.09699, 0.0971, 0.09723, 0.09733, 0.09738, 0.09741, 0.09743, 0.09744",\
                 "0.1076, 0.1072, 0.107, 0.107, 0.107, 0.1071, 0.1071, 0.1072, 0.1073, 0.1073",\
                 "0.1241, 0.1236, 0.123, 0.123, 0.1232, 0.1233, 0.1233, 0.1233, 0.1234, 0.1233",\
                 "0.1472, 0.1466, 0.1459, 0.1459, 0.146, 0.1459, 0.146, 0.1459, 0.146, 0.146",\
                 "0.1773, 0.1766, 0.1758, 0.1755, 0.1755, 0.1754, 0.1755, 0.1756, 0.1756, 0.1756",\
                 "0.2147, 0.2139, 0.2128, 0.2125, 0.2122, 0.2123, 0.2122, 0.2122, 0.2122, 0.2123",\
                 "0.2594, 0.2584, 0.2572, 0.2566, 0.2563, 0.2563, 0.2563, 0.2563, 0.2563, 0.2563");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1383, 0.1382, 0.1384, 0.1391, 0.1397, 0.1405, 0.141, 0.1418, 0.1425, 0.1469",\
                 "0.138, 0.1378, 0.1381, 0.1388, 0.1394, 0.1402, 0.1407, 0.1415, 0.1422, 0.1466",\
                 "0.1385, 0.1383, 0.1385, 0.1392, 0.1399, 0.1407, 0.1413, 0.1419, 0.1426, 0.1464",\
                 "0.144, 0.1439, 0.1439, 0.1445, 0.1451, 0.146, 0.1467, 0.1471, 0.1479, 0.1523",\
                 "0.1559, 0.1555, 0.1555, 0.156, 0.1565, 0.1573, 0.158, 0.159, 0.1594, 0.1651",\
                 "0.1746, 0.1741, 0.1737, 0.1741, 0.1751, 0.1755, 0.176, 0.1767, 0.1778, 0.1839",\
                 "0.2006, 0.1999, 0.1992, 0.1992, 0.2002, 0.2013, 0.2016, 0.2021, 0.2032, 0.2118",\
                 "0.2342, 0.2335, 0.2328, 0.2326, 0.2327, 0.2337, 0.2351, 0.2356, 0.2361, 0.2478",\
                 "0.2759, 0.2752, 0.2738, 0.2735, 0.2738, 0.2741, 0.2756, 0.2771, 0.2789, 0.2952",\
                 "0.3256, 0.3249, 0.3234, 0.3228, 0.3228, 0.3229, 0.3235, 0.3256, 0.3297, 0.3579");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&!E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.0936, 0.09333, 0.09305, 0.09327, 0.09341, 0.0935, 0.09355, 0.09358, 0.0936, 0.09361",\
                 "0.0931, 0.09282, 0.09254, 0.09291, 0.09301, 0.09306, 0.09309, 0.09312, 0.09318, 0.0932",\
                 "0.09345, 0.09317, 0.09294, 0.09315, 0.09328, 0.09341, 0.09344, 0.09345, 0.09347, 0.09346",\
                 "0.09825, 0.09794, 0.09771, 0.09786, 0.09798, 0.09808, 0.09813, 0.09817, 0.09819, 0.0982",\
                 "0.1085, 0.108, 0.1078, 0.1078, 0.108, 0.108, 0.1081, 0.1081, 0.1081, 0.1081",\
                 "0.1249, 0.1245, 0.1241, 0.1241, 0.1242, 0.1241, 0.1242, 0.1243, 0.1243, 0.1244",\
                 "0.1482, 0.1475, 0.147, 0.1467, 0.1469, 0.1469, 0.147, 0.147, 0.147, 0.147",\
                 "0.1783, 0.1777, 0.1769, 0.1767, 0.1767, 0.1766, 0.1766, 0.1766, 0.1766, 0.1766",\
                 "0.2157, 0.2148, 0.2138, 0.2135, 0.2133, 0.2133, 0.2134, 0.2134, 0.2134, 0.2134",\
                 "0.2605, 0.2596, 0.2581, 0.2578, 0.2575, 0.2574, 0.2575, 0.2574, 0.2574, 0.2574");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1358, 0.1356, 0.1359, 0.1364, 0.1371, 0.1379, 0.1385, 0.1392, 0.1405, 0.1438",\
                 "0.1354, 0.1353, 0.1356, 0.1361, 0.1368, 0.1376, 0.1382, 0.1389, 0.1398, 0.1435",\
                 "0.1359, 0.1357, 0.136, 0.1365, 0.1372, 0.1379, 0.1386, 0.1393, 0.1401, 0.1443",\
                 "0.1415, 0.1413, 0.1414, 0.1418, 0.1425, 0.1433, 0.1439, 0.1445, 0.1453, 0.1499",\
                 "0.1532, 0.1528, 0.1529, 0.1534, 0.1539, 0.1547, 0.1556, 0.156, 0.1573, 0.1621",\
                 "0.1718, 0.1714, 0.171, 0.1717, 0.1722, 0.1728, 0.1735, 0.1741, 0.1751, 0.1815",\
                 "0.198, 0.1974, 0.1967, 0.1967, 0.1976, 0.1987, 0.1989, 0.1995, 0.2001, 0.2082",\
                 "0.2315, 0.2308, 0.2302, 0.2301, 0.2302, 0.2312, 0.2325, 0.233, 0.2336, 0.2448",\
                 "0.2731, 0.2723, 0.2712, 0.2709, 0.2711, 0.2714, 0.2728, 0.2741, 0.276, 0.2916",\
                 "0.3229, 0.322, 0.3208, 0.3201, 0.3198, 0.3203, 0.3211, 0.3231, 0.3268, 0.3554");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&!E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1615, 0.1614, 0.1617, 0.1625, 0.1631, 0.1639, 0.1644, 0.1653, 0.166, 0.169",\
                 "0.1613, 0.1612, 0.1613, 0.1622, 0.1628, 0.1635, 0.164, 0.165, 0.166, 0.1687",\
                 "0.1618, 0.1616, 0.1618, 0.1626, 0.1633, 0.1639, 0.1644, 0.1651, 0.1659, 0.1702",\
                 "0.1675, 0.1673, 0.1674, 0.168, 0.1686, 0.1693, 0.1699, 0.1708, 0.1713, 0.1754",\
                 "0.1797, 0.1794, 0.1794, 0.1799, 0.1805, 0.1811, 0.1818, 0.1821, 0.1834, 0.188",\
                 "0.1995, 0.199, 0.1987, 0.1991, 0.1998, 0.2003, 0.2009, 0.2015, 0.2025, 0.2093",\
                 "0.2269, 0.2264, 0.2256, 0.2258, 0.2264, 0.2275, 0.228, 0.2287, 0.2294, 0.2375",\
                 "0.2581, 0.2574, 0.2563, 0.2565, 0.2566, 0.2576, 0.2589, 0.2596, 0.26, 0.2706",\
                 "0.2923, 0.2914, 0.2903, 0.29, 0.2899, 0.2903, 0.2919, 0.2931, 0.2948, 0.3112",\
                 "0.3295, 0.3286, 0.3273, 0.3268, 0.3265, 0.3267, 0.3269, 0.3295, 0.3337, 0.3612");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1615, 0.1614, 0.1617, 0.1625, 0.1631, 0.1639, 0.1644, 0.1653, 0.166, 0.169",\
                 "0.1613, 0.1612, 0.1613, 0.1622, 0.1628, 0.1635, 0.164, 0.165, 0.166, 0.1687",\
                 "0.1618, 0.1616, 0.1618, 0.1626, 0.1633, 0.1639, 0.1644, 0.1651, 0.1659, 0.1702",\
                 "0.1675, 0.1673, 0.1674, 0.168, 0.1686, 0.1693, 0.1699, 0.1708, 0.1713, 0.1754",\
                 "0.1797, 0.1794, 0.1794, 0.1799, 0.1805, 0.1811, 0.1818, 0.1821, 0.1834, 0.188",\
                 "0.1995, 0.199, 0.1987, 0.1991, 0.1998, 0.2003, 0.2009, 0.2015, 0.2025, 0.2093",\
                 "0.2269, 0.2264, 0.2256, 0.2258, 0.2264, 0.2275, 0.228, 0.2287, 0.2294, 0.2375",\
                 "0.2581, 0.2574, 0.2563, 0.2565, 0.2566, 0.2576, 0.2589, 0.2596, 0.26, 0.2706",\
                 "0.2923, 0.2914, 0.2903, 0.29, 0.2899, 0.2903, 0.2919, 0.2931, 0.2948, 0.3112",\
                 "0.3295, 0.3286, 0.3273, 0.3268, 0.3265, 0.3267, 0.3269, 0.3295, 0.3337, 0.3612");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09614, 0.09585, 0.09564, 0.09595, 0.096, 0.09604, 0.09611, 0.09614, 0.09617, 0.09618",\
                 "0.09568, 0.09543, 0.09526, 0.09537, 0.09555, 0.09557, 0.09562, 0.09566, 0.09566, 0.09568",\
                 "0.09596, 0.09565, 0.09553, 0.09573, 0.09581, 0.09586, 0.0959, 0.09594, 0.09596, 0.09596",\
                 "0.1009, 0.1005, 0.1003, 0.1004, 0.1005, 0.1006, 0.1007, 0.1007, 0.1007, 0.1007",\
                 "0.1111, 0.1108, 0.1105, 0.1105, 0.1105, 0.1106, 0.1106, 0.1107, 0.1108, 0.1108",\
                 "0.1276, 0.1271, 0.1267, 0.1267, 0.1268, 0.1269, 0.1269, 0.1269, 0.127, 0.1269",\
                 "0.151, 0.1504, 0.1497, 0.1496, 0.1496, 0.1496, 0.1497, 0.1497, 0.1497, 0.1497",\
                 "0.1812, 0.1805, 0.1797, 0.1795, 0.1795, 0.1794, 0.1793, 0.1794, 0.1794, 0.1794",\
                 "0.2187, 0.2179, 0.2168, 0.2164, 0.2163, 0.2162, 0.2162, 0.2163, 0.2163, 0.2163",\
                 "0.2635, 0.2626, 0.2613, 0.2607, 0.2604, 0.2604, 0.2605, 0.2604, 0.2604, 0.2604");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1359, 0.1358, 0.136, 0.1367, 0.1373, 0.1381, 0.1389, 0.1393, 0.1403, 0.1443",\
                 "0.1356, 0.1355, 0.1357, 0.1363, 0.1371, 0.1378, 0.1385, 0.1389, 0.1399, 0.1439",\
                 "0.136, 0.1359, 0.1361, 0.1368, 0.1374, 0.1382, 0.1388, 0.14, 0.1409, 0.1444",\
                 "0.1416, 0.1415, 0.1416, 0.1421, 0.1427, 0.1436, 0.1443, 0.1449, 0.1461, 0.1503",\
                 "0.1535, 0.153, 0.1531, 0.1535, 0.1541, 0.1549, 0.1555, 0.1564, 0.1572, 0.1625",\
                 "0.1721, 0.1716, 0.1712, 0.1718, 0.1724, 0.1729, 0.1736, 0.1742, 0.175, 0.1816",\
                 "0.1982, 0.1975, 0.1968, 0.197, 0.1978, 0.1989, 0.1994, 0.1999, 0.2008, 0.2095",\
                 "0.2319, 0.2313, 0.2303, 0.23, 0.2304, 0.2316, 0.2324, 0.2331, 0.2337, 0.2449",\
                 "0.2735, 0.2728, 0.2716, 0.271, 0.2711, 0.2718, 0.273, 0.2747, 0.2762, 0.2927",\
                 "0.3232, 0.3223, 0.321, 0.3203, 0.3199, 0.3202, 0.3211, 0.3232, 0.327, 0.3551");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("1.09, 1.119, 1.2, 1.331, 1.524, 1.793, 2.146, 2.592, 3.135, 3.783",\
                 "1.104, 1.133, 1.214, 1.345, 1.538, 1.807, 2.16, 2.606, 3.149, 3.797",\
                 "1.141, 1.17, 1.251, 1.382, 1.575, 1.843, 2.197, 2.642, 3.186, 3.833",\
                 "1.219, 1.248, 1.329, 1.46, 1.653, 1.922, 2.275, 2.72, 3.264, 3.912",\
                 "1.352, 1.381, 1.462, 1.593, 1.786, 2.055, 2.408, 2.853, 3.397, 4.045",\
                 "1.531, 1.561, 1.642, 1.772, 1.965, 2.234, 2.588, 3.033, 3.577, 4.224",\
                 "1.755, 1.784, 1.865, 1.996, 2.19, 2.458, 2.812, 3.257, 3.8, 4.449",\
                 "2.015, 2.044, 2.126, 2.256, 2.449, 2.718, 3.072, 3.517, 4.06, 4.708",\
                 "2.307, 2.336, 2.418, 2.549, 2.742, 3.011, 3.364, 3.809, 4.353, 5.001",\
                 "2.632, 2.662, 2.743, 2.874, 3.067, 3.336, 3.69, 4.135, 4.678, 5.326");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("1.059, 1.096, 1.215, 1.439, 1.787, 2.276, 2.919, 3.728, 4.716, 5.894",\
                 "1.066, 1.103, 1.221, 1.446, 1.794, 2.283, 2.925, 3.735, 4.722, 5.902",\
                 "1.088, 1.125, 1.243, 1.467, 1.816, 2.304, 2.948, 3.758, 4.745, 5.923",\
                 "1.134, 1.171, 1.29, 1.514, 1.862, 2.351, 2.994, 3.805, 4.792, 5.968",\
                 "1.19, 1.226, 1.345, 1.569, 1.918, 2.406, 3.05, 3.86, 4.848, 6.026",\
                 "1.237, 1.273, 1.392, 1.616, 1.964, 2.453, 3.096, 3.905, 4.894, 6.073",\
                 "1.268, 1.305, 1.423, 1.648, 1.996, 2.485, 3.127, 3.936, 4.926, 6.103",\
                 "1.279, 1.316, 1.435, 1.659, 2.007, 2.495, 3.138, 3.947, 4.934, 6.112",\
                 "1.264, 1.3, 1.419, 1.643, 1.992, 2.48, 3.122, 3.931, 4.919, 6.095",\
                 "1.219, 1.256, 1.375, 1.599, 1.947, 2.436, 3.079, 3.887, 4.875, 6.052");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.0956, 0.1264, 0.2234, 0.4136, 0.7266, 1.175, 1.769, 2.518, 3.431, 4.523",\
                 "0.0952, 0.1262, 0.2234, 0.4126, 0.7262, 1.176, 1.769, 2.518, 3.428, 4.519",\
                 "0.0954, 0.1266, 0.224, 0.4134, 0.7272, 1.176, 1.768, 2.516, 3.432, 4.523",\
                 "0.0958, 0.1264, 0.2236, 0.4136, 0.7272, 1.176, 1.768, 2.517, 3.428, 4.52",\
                 "0.0954, 0.1268, 0.2244, 0.4134, 0.7258, 1.176, 1.769, 2.517, 3.43, 4.517",\
                 "0.0954, 0.1264, 0.2234, 0.4138, 0.7268, 1.176, 1.768, 2.517, 3.431, 4.522",\
                 "0.096, 0.127, 0.2242, 0.4134, 0.7264, 1.174, 1.766, 2.517, 3.428, 4.519",\
                 "0.0964, 0.1274, 0.225, 0.4134, 0.7258, 1.175, 1.767, 2.514, 3.425, 4.515",\
                 "0.0968, 0.1282, 0.2248, 0.4136, 0.7268, 1.176, 1.767, 2.514, 3.425, 4.512",\
                 "0.0978, 0.1284, 0.2256, 0.414, 0.7272, 1.176, 1.768, 2.514, 3.428, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.119, 0.1712, 0.3676, 0.7592, 1.372, 2.233, 3.365, 4.795, 6.534, 8.612",\
                 "0.1188, 0.1714, 0.3672, 0.7592, 1.372, 2.232, 3.364, 4.793, 6.532, 8.61",\
                 "0.1188, 0.1712, 0.3672, 0.759, 1.372, 2.232, 3.366, 4.795, 6.535, 8.611",\
                 "0.1188, 0.1712, 0.3674, 0.7592, 1.371, 2.231, 3.366, 4.794, 6.538, 8.615",\
                 "0.119, 0.1712, 0.3684, 0.7594, 1.372, 2.232, 3.366, 4.792, 6.533, 8.615",\
                 "0.119, 0.1714, 0.3682, 0.7596, 1.374, 2.232, 3.365, 4.792, 6.541, 8.606",\
                 "0.1194, 0.172, 0.3686, 0.7592, 1.371, 2.231, 3.362, 4.791, 6.53, 8.611",\
                 "0.1196, 0.1718, 0.3674, 0.7592, 1.373, 2.233, 3.363, 4.792, 6.528, 8.604",\
                 "0.1202, 0.1722, 0.3678, 0.759, 1.371, 2.235, 3.364, 4.787, 6.529, 8.617",\
                 "0.1206, 0.1726, 0.3678, 0.7602, 1.372, 2.232, 3.363, 4.792, 6.527, 8.6");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("1.137, 1.166, 1.247, 1.378, 1.571, 1.84, 2.193, 2.639, 3.182, 3.83",\
                 "1.151, 1.18, 1.261, 1.392, 1.585, 1.854, 2.207, 2.653, 3.196, 3.844",\
                 "1.192, 1.221, 1.303, 1.433, 1.626, 1.895, 2.249, 2.694, 3.237, 3.885",\
                 "1.23, 1.259, 1.34, 1.471, 1.664, 1.933, 2.286, 2.732, 3.275, 3.923",\
                 "1.258, 1.288, 1.369, 1.499, 1.692, 1.961, 2.314, 2.76, 3.303, 3.951",\
                 "1.269, 1.298, 1.379, 1.51, 1.703, 1.971, 2.325, 2.77, 3.314, 3.962",\
                 "1.261, 1.29, 1.371, 1.502, 1.695, 1.963, 2.317, 2.762, 3.306, 3.954",\
                 "1.23, 1.259, 1.341, 1.472, 1.665, 1.933, 2.287, 2.732, 3.276, 3.923",\
                 "1.177, 1.206, 1.287, 1.418, 1.611, 1.88, 2.233, 2.678, 3.222, 3.87",\
                 "1.098, 1.127, 1.208, 1.339, 1.532, 1.8, 2.154, 2.6, 3.143, 3.791");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.9924, 1.029, 1.148, 1.372, 1.72, 2.209, 2.851, 3.661, 4.648, 5.829",\
                 "1.003, 1.04, 1.159, 1.383, 1.732, 2.22, 2.863, 3.674, 4.662, 5.837",\
                 "1.041, 1.078, 1.197, 1.421, 1.769, 2.258, 2.901, 3.712, 4.699, 5.875",\
                 "1.111, 1.147, 1.266, 1.491, 1.839, 2.328, 2.97, 3.78, 4.766, 5.947",\
                 "1.177, 1.214, 1.333, 1.557, 1.905, 2.394, 3.037, 3.848, 4.836, 6.01",\
                 "1.229, 1.265, 1.384, 1.608, 1.956, 2.445, 3.088, 3.899, 4.885, 6.064",\
                 "1.261, 1.298, 1.417, 1.641, 1.989, 2.478, 3.12, 3.93, 4.919, 6.097",\
                 "1.267, 1.304, 1.423, 1.647, 1.995, 2.484, 3.126, 3.934, 4.922, 6.101",\
                 "1.241, 1.278, 1.396, 1.619, 1.968, 2.457, 3.099, 3.908, 4.896, 6.072",\
                 "1.179, 1.215, 1.334, 1.558, 1.906, 2.395, 3.037, 3.846, 4.834, 6.01");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.0958, 0.1264, 0.2238, 0.4134, 0.7268, 1.175, 1.769, 2.518, 3.431, 4.523",\
                 "0.095, 0.1262, 0.2234, 0.4134, 0.7262, 1.175, 1.77, 2.518, 3.427, 4.519",\
                 "0.0958, 0.1266, 0.224, 0.4132, 0.7258, 1.176, 1.768, 2.518, 3.429, 4.521",\
                 "0.0954, 0.1264, 0.2234, 0.413, 0.7258, 1.175, 1.77, 2.518, 3.428, 4.521",\
                 "0.0954, 0.1266, 0.2232, 0.4132, 0.726, 1.176, 1.769, 2.517, 3.432, 4.523",\
                 "0.0952, 0.1264, 0.2236, 0.4128, 0.7262, 1.175, 1.767, 2.516, 3.432, 4.52",\
                 "0.095, 0.1262, 0.2236, 0.413, 0.7254, 1.174, 1.767, 2.512, 3.427, 4.513",\
                 "0.0952, 0.1262, 0.2236, 0.413, 0.7272, 1.174, 1.768, 2.514, 3.425, 4.514",\
                 "0.0952, 0.1262, 0.2236, 0.4134, 0.7272, 1.174, 1.768, 2.516, 3.425, 4.511",\
                 "0.096, 0.1268, 0.2234, 0.413, 0.7252, 1.176, 1.769, 2.514, 3.426, 4.513");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1189, 0.1714, 0.3674, 0.7594, 1.372, 2.232, 3.363, 4.792, 6.535, 8.608",\
                 "0.119, 0.1712, 0.3676, 0.7594, 1.373, 2.231, 3.366, 4.794, 6.538, 8.614",\
                 "0.119, 0.171, 0.3678, 0.7592, 1.372, 2.232, 3.366, 4.795, 6.537, 8.617",\
                 "0.119, 0.1712, 0.3676, 0.7592, 1.371, 2.232, 3.365, 4.794, 6.531, 8.611",\
                 "0.119, 0.1712, 0.3676, 0.7594, 1.374, 2.231, 3.365, 4.791, 6.537, 8.607",\
                 "0.1192, 0.1712, 0.3674, 0.7596, 1.372, 2.232, 3.366, 4.795, 6.535, 8.612",\
                 "0.1196, 0.172, 0.3678, 0.7594, 1.372, 2.231, 3.365, 4.791, 6.537, 8.612",\
                 "0.1198, 0.172, 0.3676, 0.7594, 1.372, 2.233, 3.363, 4.788, 6.534, 8.606",\
                 "0.12, 0.1718, 0.3678, 0.7596, 1.373, 2.232, 3.365, 4.788, 6.53, 8.611",\
                 "0.1202, 0.1724, 0.3682, 0.76, 1.374, 2.233, 3.363, 4.789, 6.532, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b0 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.8439, 0.8728, 0.9538, 1.084, 1.277, 1.546, 1.899, 2.345, 2.888, 3.537",\
                 "0.8601, 0.889, 0.9701, 1.1, 1.293, 1.562, 1.916, 2.361, 2.904, 3.553",\
                 "0.9258, 0.9547, 1.036, 1.166, 1.359, 1.628, 1.981, 2.427, 2.97, 3.619",\
                 "1.056, 1.085, 1.166, 1.296, 1.489, 1.758, 2.111, 2.556, 3.1, 3.749",\
                 "1.232, 1.261, 1.342, 1.473, 1.666, 1.935, 2.288, 2.734, 3.277, 3.926",\
                 "1.442, 1.47, 1.552, 1.682, 1.875, 2.144, 2.497, 2.943, 3.486, 4.135",\
                 "1.683, 1.712, 1.794, 1.924, 2.117, 2.386, 2.739, 3.184, 3.728, 4.377",\
                 "1.959, 1.988, 2.069, 2.2, 2.393, 2.662, 3.015, 3.461, 4.004, 4.652",\
                 "2.269, 2.298, 2.38, 2.51, 2.703, 2.972, 3.325, 3.771, 4.314, 4.962",\
                 "2.615, 2.644, 2.725, 2.856, 3.049, 3.318, 3.672, 4.117, 4.66, 5.309");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09468, 0.1256, 0.2231, 0.4134, 0.727, 1.175, 1.771, 2.52, 3.435, 4.517",\
                 "0.09468, 0.1255, 0.2233, 0.4126, 0.7256, 1.176, 1.771, 2.52, 3.434, 4.517",\
                 "0.0946, 0.1256, 0.2232, 0.413, 0.7272, 1.176, 1.771, 2.52, 3.435, 4.518",\
                 "0.0948, 0.1256, 0.2232, 0.4126, 0.7254, 1.175, 1.77, 2.52, 3.434, 4.517",\
                 "0.0946, 0.1258, 0.223, 0.4126, 0.7256, 1.175, 1.77, 2.52, 3.435, 4.519",\
                 "0.095, 0.1258, 0.2236, 0.4126, 0.7262, 1.176, 1.768, 2.517, 3.43, 4.524",\
                 "0.0952, 0.1262, 0.2232, 0.4132, 0.726, 1.175, 1.766, 2.516, 3.43, 4.524",\
                 "0.0954, 0.1262, 0.2234, 0.4128, 0.7258, 1.176, 1.767, 2.514, 3.427, 4.514",\
                 "0.0958, 0.1266, 0.2236, 0.4134, 0.7268, 1.176, 1.768, 2.519, 3.425, 4.512",\
                 "0.0958, 0.127, 0.2246, 0.4136, 0.7266, 1.174, 1.769, 2.513, 3.428, 4.516");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.844, 0.873, 0.9539, 1.084, 1.277, 1.546, 1.9, 2.345, 2.888, 3.537",\
                 "0.8601, 0.8891, 0.9701, 1.1, 1.293, 1.562, 1.916, 2.361, 2.904, 3.553",\
                 "0.9259, 0.9549, 1.036, 1.166, 1.359, 1.628, 1.981, 2.427, 2.97, 3.619",\
                 "1.056, 1.085, 1.166, 1.296, 1.489, 1.758, 2.111, 2.557, 3.101, 3.748",\
                 "1.232, 1.261, 1.342, 1.473, 1.666, 1.934, 2.288, 2.734, 3.277, 3.924",\
                 "1.441, 1.47, 1.551, 1.682, 1.875, 2.144, 2.497, 2.943, 3.487, 4.135",\
                 "1.683, 1.712, 1.793, 1.924, 2.117, 2.385, 2.739, 3.184, 3.728, 4.377",\
                 "1.958, 1.987, 2.069, 2.199, 2.392, 2.661, 3.014, 3.46, 4.003, 4.651",\
                 "2.269, 2.298, 2.379, 2.51, 2.703, 2.971, 3.325, 3.77, 4.313, 4.961",\
                 "2.614, 2.643, 2.725, 2.855, 3.049, 3.317, 3.671, 4.116, 4.659, 5.308");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09466, 0.1256, 0.2231, 0.4124, 0.7256, 1.176, 1.77, 2.52, 3.435, 4.517",\
                 "0.09468, 0.1256, 0.2231, 0.4126, 0.7258, 1.176, 1.771, 2.52, 3.435, 4.517",\
                 "0.0948, 0.1256, 0.2232, 0.4126, 0.7256, 1.176, 1.771, 2.52, 3.435, 4.517",\
                 "0.0946, 0.1254, 0.223, 0.413, 0.7266, 1.176, 1.769, 2.517, 3.434, 4.525",\
                 "0.0946, 0.1258, 0.223, 0.4132, 0.7262, 1.176, 1.769, 2.518, 3.432, 4.525",\
                 "0.095, 0.1258, 0.2228, 0.413, 0.7256, 1.176, 1.77, 2.519, 3.433, 4.518",\
                 "0.0954, 0.1262, 0.223, 0.413, 0.7256, 1.174, 1.767, 2.516, 3.432, 4.519",\
                 "0.095, 0.1262, 0.2232, 0.4134, 0.7256, 1.176, 1.767, 2.514, 3.425, 4.516",\
                 "0.0954, 0.1268, 0.2236, 0.413, 0.7268, 1.176, 1.768, 2.518, 3.425, 4.511",\
                 "0.0956, 0.127, 0.2246, 0.4136, 0.7268, 1.174, 1.769, 2.52, 3.428, 4.516");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.8408, 0.87, 0.951, 1.081, 1.274, 1.543, 1.897, 2.342, 2.886, 3.534",\
                 "0.8556, 0.8846, 0.9655, 1.096, 1.289, 1.558, 1.912, 2.357, 2.901, 3.548",\
                 "0.9205, 0.9495, 1.031, 1.161, 1.354, 1.623, 1.977, 2.422, 2.966, 3.613",\
                 "1.051, 1.08, 1.161, 1.291, 1.484, 1.753, 2.107, 2.552, 3.095, 3.744",\
                 "1.227, 1.256, 1.337, 1.468, 1.661, 1.93, 2.283, 2.729, 3.272, 3.921",\
                 "1.437, 1.466, 1.547, 1.678, 1.871, 2.139, 2.493, 2.938, 3.482, 4.13",\
                 "1.681, 1.71, 1.792, 1.922, 2.115, 2.384, 2.737, 3.183, 3.726, 4.374",\
                 "1.959, 1.988, 2.07, 2.201, 2.394, 2.662, 3.016, 3.461, 4.005, 4.652",\
                 "2.272, 2.302, 2.383, 2.514, 2.707, 2.976, 3.329, 3.775, 4.318, 4.966",\
                 "2.622, 2.651, 2.733, 2.863, 3.056, 3.325, 3.679, 4.124, 4.668, 5.316");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("1.073, 1.109, 1.229, 1.453, 1.801, 2.29, 2.932, 3.743, 4.729, 5.909",\
                 "1.081, 1.118, 1.237, 1.461, 1.809, 2.298, 2.941, 3.752, 4.739, 5.916",\
                 "1.093, 1.13, 1.248, 1.473, 1.821, 2.31, 2.953, 3.763, 4.75, 5.928",\
                 "1.115, 1.151, 1.27, 1.494, 1.843, 2.331, 2.974, 3.784, 4.771, 5.95",\
                 "1.141, 1.178, 1.297, 1.521, 1.869, 2.358, 3.001, 3.81, 4.799, 5.978",\
                 "1.163, 1.199, 1.318, 1.542, 1.891, 2.38, 3.023, 3.833, 4.821, 5.997",\
                 "1.172, 1.208, 1.327, 1.551, 1.899, 2.388, 3.03, 3.84, 4.83, 6.007",\
                 "1.158, 1.194, 1.313, 1.537, 1.886, 2.375, 3.017, 3.825, 4.813, 5.99",\
                 "1.114, 1.151, 1.269, 1.494, 1.842, 2.331, 2.973, 3.782, 4.769, 5.946",\
                 "1.038, 1.074, 1.193, 1.417, 1.765, 2.254, 2.897, 3.705, 4.692, 5.87");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09516, 0.126, 0.2235, 0.4128, 0.7266, 1.175, 1.768, 2.519, 3.43, 4.517",\
                 "0.09484, 0.1261, 0.2238, 0.4132, 0.7262, 1.175, 1.769, 2.519, 3.434, 4.525",\
                 "0.0948, 0.1262, 0.2238, 0.4132, 0.726, 1.175, 1.769, 2.519, 3.434, 4.525",\
                 "0.095, 0.126, 0.2232, 0.4134, 0.7266, 1.175, 1.77, 2.519, 3.435, 4.519",\
                 "0.095, 0.1262, 0.2234, 0.4138, 0.7272, 1.175, 1.769, 2.518, 3.432, 4.522",\
                 "0.0956, 0.1266, 0.2234, 0.4128, 0.7254, 1.176, 1.769, 2.519, 3.431, 4.524",\
                 "0.0954, 0.1266, 0.2234, 0.4132, 0.7254, 1.174, 1.767, 2.517, 3.43, 4.519",\
                 "0.0964, 0.1268, 0.224, 0.4136, 0.7258, 1.174, 1.767, 2.513, 3.428, 4.518",\
                 "0.0966, 0.1274, 0.2244, 0.4132, 0.7272, 1.176, 1.769, 2.513, 3.425, 4.51",\
                 "0.0972, 0.1282, 0.2246, 0.4136, 0.7272, 1.174, 1.769, 2.515, 3.426, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.119, 0.1714, 0.3676, 0.7594, 1.372, 2.232, 3.365, 4.794, 6.532, 8.611",\
                 "0.1192, 0.1712, 0.3676, 0.7588, 1.373, 2.232, 3.366, 4.795, 6.536, 8.62",\
                 "0.119, 0.1712, 0.3674, 0.7592, 1.371, 2.232, 3.366, 4.795, 6.535, 8.611",\
                 "0.119, 0.1714, 0.3672, 0.759, 1.372, 2.232, 3.366, 4.795, 6.533, 8.612",\
                 "0.119, 0.1716, 0.3682, 0.7592, 1.371, 2.232, 3.366, 4.793, 6.535, 8.614",\
                 "0.1192, 0.1712, 0.3672, 0.7592, 1.372, 2.232, 3.366, 4.794, 6.538, 8.615",\
                 "0.1192, 0.1716, 0.3674, 0.76, 1.372, 2.231, 3.363, 4.791, 6.536, 8.612",\
                 "0.1196, 0.172, 0.3678, 0.759, 1.373, 2.231, 3.362, 4.794, 6.534, 8.61",\
                 "0.1198, 0.1722, 0.3678, 0.7594, 1.373, 2.233, 3.364, 4.787, 6.53, 8.603",\
                 "0.1208, 0.173, 0.368, 0.7604, 1.373, 2.232, 3.363, 4.788, 6.532, 8.601");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.8408, 0.87, 0.951, 1.081, 1.274, 1.543, 1.897, 2.342, 2.886, 3.534",\
                 "0.8556, 0.8846, 0.9655, 1.096, 1.289, 1.558, 1.912, 2.357, 2.901, 3.548",\
                 "0.9205, 0.9495, 1.031, 1.161, 1.354, 1.623, 1.977, 2.422, 2.966, 3.613",\
                 "1.051, 1.08, 1.161, 1.291, 1.484, 1.753, 2.107, 2.552, 3.095, 3.744",\
                 "1.227, 1.256, 1.337, 1.468, 1.661, 1.93, 2.283, 2.729, 3.272, 3.921",\
                 "1.437, 1.466, 1.547, 1.678, 1.871, 2.139, 2.493, 2.938, 3.482, 4.13",\
                 "1.681, 1.71, 1.792, 1.922, 2.115, 2.384, 2.737, 3.183, 3.726, 4.374",\
                 "1.959, 1.988, 2.07, 2.201, 2.394, 2.662, 3.016, 3.461, 4.005, 4.652",\
                 "2.272, 2.302, 2.383, 2.514, 2.707, 2.976, 3.329, 3.775, 4.318, 4.966",\
                 "2.622, 2.651, 2.733, 2.863, 3.056, 3.325, 3.679, 4.124, 4.668, 5.316");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("1.073, 1.109, 1.229, 1.453, 1.801, 2.29, 2.932, 3.743, 4.729, 5.909",\
                 "1.081, 1.118, 1.237, 1.461, 1.809, 2.298, 2.941, 3.752, 4.739, 5.916",\
                 "1.093, 1.13, 1.248, 1.473, 1.821, 2.31, 2.953, 3.763, 4.75, 5.928",\
                 "1.115, 1.151, 1.27, 1.494, 1.843, 2.331, 2.974, 3.784, 4.771, 5.95",\
                 "1.141, 1.178, 1.297, 1.521, 1.869, 2.358, 3.001, 3.81, 4.799, 5.978",\
                 "1.163, 1.199, 1.318, 1.542, 1.891, 2.38, 3.023, 3.833, 4.821, 5.997",\
                 "1.172, 1.208, 1.327, 1.551, 1.899, 2.388, 3.03, 3.84, 4.83, 6.007",\
                 "1.158, 1.194, 1.313, 1.537, 1.886, 2.375, 3.017, 3.825, 4.813, 5.99",\
                 "1.114, 1.151, 1.269, 1.494, 1.842, 2.331, 2.973, 3.782, 4.769, 5.946",\
                 "1.038, 1.074, 1.193, 1.417, 1.765, 2.254, 2.897, 3.705, 4.692, 5.87");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09466, 0.1256, 0.2231, 0.4124, 0.7256, 1.176, 1.77, 2.52, 3.435, 4.517",\
                 "0.09468, 0.1256, 0.2231, 0.4126, 0.7258, 1.176, 1.771, 2.52, 3.435, 4.517",\
                 "0.0948, 0.1256, 0.2232, 0.4126, 0.7256, 1.176, 1.771, 2.52, 3.435, 4.517",\
                 "0.0946, 0.1254, 0.223, 0.413, 0.7266, 1.176, 1.769, 2.517, 3.434, 4.525",\
                 "0.0946, 0.1258, 0.223, 0.4132, 0.7262, 1.176, 1.769, 2.518, 3.432, 4.525",\
                 "0.095, 0.1258, 0.2228, 0.413, 0.7256, 1.176, 1.77, 2.519, 3.433, 4.518",\
                 "0.0954, 0.1262, 0.223, 0.413, 0.7256, 1.174, 1.767, 2.516, 3.432, 4.519",\
                 "0.095, 0.1262, 0.2232, 0.4134, 0.7256, 1.176, 1.767, 2.514, 3.425, 4.516",\
                 "0.0954, 0.1268, 0.2236, 0.413, 0.7268, 1.176, 1.768, 2.518, 3.425, 4.511",\
                 "0.0956, 0.127, 0.2246, 0.4136, 0.7268, 1.174, 1.769, 2.52, 3.428, 4.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.119, 0.1714, 0.3676, 0.7594, 1.372, 2.232, 3.365, 4.794, 6.532, 8.611",\
                 "0.1192, 0.1712, 0.3676, 0.7588, 1.373, 2.232, 3.366, 4.795, 6.536, 8.62",\
                 "0.119, 0.1712, 0.3674, 0.7592, 1.371, 2.232, 3.366, 4.795, 6.535, 8.611",\
                 "0.119, 0.1714, 0.3672, 0.759, 1.372, 2.232, 3.366, 4.795, 6.533, 8.612",\
                 "0.119, 0.1716, 0.3682, 0.7592, 1.371, 2.232, 3.366, 4.793, 6.535, 8.614",\
                 "0.1192, 0.1712, 0.3672, 0.7592, 1.372, 2.232, 3.366, 4.794, 6.538, 8.615",\
                 "0.1192, 0.1716, 0.3674, 0.76, 1.372, 2.231, 3.363, 4.791, 6.536, 8.612",\
                 "0.1196, 0.172, 0.3678, 0.759, 1.373, 2.231, 3.362, 4.794, 6.534, 8.61",\
                 "0.1198, 0.1722, 0.3678, 0.7594, 1.373, 2.233, 3.364, 4.787, 6.53, 8.603",\
                 "0.1208, 0.173, 0.368, 0.7604, 1.373, 2.232, 3.363, 4.788, 6.532, 8.601");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b0 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&!E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.487, 0.5159, 0.5967, 0.727, 0.9201, 1.189, 1.543, 1.988, 2.532, 3.179",\
                 "0.4972, 0.5261, 0.6071, 0.7374, 0.9303, 1.199, 1.553, 1.998, 2.542, 3.19",\
                 "0.5408, 0.5697, 0.6506, 0.7808, 0.9739, 1.243, 1.596, 2.042, 2.586, 3.233",\
                 "0.616, 0.6448, 0.7259, 0.8563, 1.049, 1.318, 1.672, 2.117, 2.661, 3.309",\
                 "0.6875, 0.7165, 0.798, 0.9287, 1.122, 1.391, 1.744, 2.19, 2.733, 3.381",\
                 "0.7542, 0.7834, 0.8653, 0.9964, 1.19, 1.458, 1.812, 2.257, 2.801, 3.449",\
                 "0.8123, 0.8422, 0.9249, 1.056, 1.25, 1.519, 1.872, 2.317, 2.86, 3.508",\
                 "0.8581, 0.8883, 0.9718, 1.104, 1.297, 1.566, 1.92, 2.365, 2.909, 3.556",\
                 "0.8886, 0.9195, 1.004, 1.136, 1.33, 1.599, 1.953, 2.398, 2.941, 3.589",\
                 "0.9016, 0.9329, 1.018, 1.152, 1.346, 1.615, 1.968, 2.413, 2.957, 3.605");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4397, 0.4758, 0.5948, 0.8196, 1.168, 1.657, 2.3, 3.11, 4.098, 5.276",\
                 "0.4567, 0.493, 0.6121, 0.8368, 1.186, 1.674, 2.318, 3.127, 4.116, 5.292",\
                 "0.5218, 0.558, 0.677, 0.9016, 1.25, 1.74, 2.382, 3.192, 4.181, 5.356",\
                 "0.6381, 0.6743, 0.7931, 1.017, 1.366, 1.855, 2.498, 3.308, 4.297, 5.471",\
                 "0.7751, 0.8116, 0.9304, 1.155, 1.503, 1.992, 2.634, 3.445, 4.433, 5.608",\
                 "0.9301, 0.9665, 1.086, 1.31, 1.658, 2.146, 2.789, 3.6, 4.588, 5.765",\
                 "1.101, 1.137, 1.256, 1.479, 1.828, 2.316, 2.958, 3.767, 4.757, 5.934",\
                 "1.285, 1.322, 1.442, 1.665, 2.013, 2.501, 3.143, 3.952, 4.94, 6.12",\
                 "1.485, 1.522, 1.641, 1.864, 2.212, 2.7, 3.342, 4.151, 5.138, 6.315",\
                 "1.698, 1.738, 1.857, 2.078, 2.426, 2.914, 3.556, 4.365, 5.352, 6.53");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09396, 0.1252, 0.2228, 0.413, 0.7264, 1.175, 1.768, 2.517, 3.434, 4.525",\
                 "0.09388, 0.1251, 0.2228, 0.4131, 0.7264, 1.176, 1.768, 2.52, 3.434, 4.522",\
                 "0.09388, 0.1251, 0.2229, 0.4127, 0.7268, 1.176, 1.77, 2.519, 3.43, 4.523",\
                 "0.0946, 0.126, 0.223, 0.4132, 0.7262, 1.176, 1.77, 2.52, 3.431, 4.524",\
                 "0.0966, 0.1274, 0.2244, 0.413, 0.7256, 1.176, 1.77, 2.52, 3.433, 4.524",\
                 "0.098, 0.1294, 0.2256, 0.4146, 0.7272, 1.174, 1.768, 2.516, 3.428, 4.524",\
                 "0.1018, 0.1316, 0.2284, 0.4152, 0.728, 1.175, 1.768, 2.513, 3.426, 4.517",\
                 "0.1048, 0.1352, 0.231, 0.4176, 0.7284, 1.175, 1.767, 2.514, 3.425, 4.513",\
                 "0.109, 0.1388, 0.2352, 0.4186, 0.7284, 1.175, 1.769, 2.514, 3.428, 4.515",\
                 "0.114, 0.1436, 0.2378, 0.4214, 0.7298, 1.176, 1.77, 2.516, 3.427, 4.513");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1144, 0.1676, 0.3662, 0.759, 1.372, 2.234, 3.364, 4.793, 6.534, 8.616",\
                 "0.1146, 0.1676, 0.3664, 0.7586, 1.372, 2.234, 3.366, 4.792, 6.532, 8.608",\
                 "0.1146, 0.1678, 0.3665, 0.7587, 1.372, 2.233, 3.366, 4.791, 6.536, 8.607",\
                 "0.115, 0.1682, 0.3664, 0.7586, 1.372, 2.232, 3.366, 4.792, 6.537, 8.607",\
                 "0.1172, 0.17, 0.3668, 0.7582, 1.372, 2.232, 3.365, 4.793, 6.537, 8.606",\
                 "0.1192, 0.1718, 0.3676, 0.7594, 1.371, 2.235, 3.365, 4.791, 6.534, 8.607",\
                 "0.1218, 0.1744, 0.3686, 0.7594, 1.373, 2.232, 3.367, 4.789, 6.538, 8.606",\
                 "0.1256, 0.1772, 0.3694, 0.7598, 1.372, 2.233, 3.362, 4.789, 6.534, 8.609",\
                 "0.1298, 0.1808, 0.3704, 0.7602, 1.372, 2.232, 3.363, 4.788, 6.528, 8.603",\
                 "0.1336, 0.1844, 0.372, 0.7608, 1.373, 2.234, 3.368, 4.789, 6.527, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b0 && RN===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&!E&RN" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4449, 0.4811, 0.6, 0.8247, 1.173, 1.662, 2.305, 3.114, 4.101, 5.279",\
                 "0.4618, 0.4984, 0.6172, 0.8419, 1.191, 1.679, 2.322, 3.131, 4.12, 5.295",\
                 "0.527, 0.5633, 0.6823, 0.9069, 1.256, 1.744, 2.386, 3.196, 4.183, 5.361",\
                 "0.6444, 0.6807, 0.7995, 1.024, 1.372, 1.861, 2.504, 3.314, 4.302, 5.48",\
                 "0.7835, 0.82, 0.9389, 1.163, 1.511, 2, 2.642, 3.452, 4.439, 5.617",\
                 "0.9412, 0.9779, 1.097, 1.32, 1.669, 2.157, 2.8, 3.61, 4.598, 5.776",\
                 "1.115, 1.151, 1.27, 1.494, 1.842, 2.33, 2.972, 3.782, 4.771, 5.948",\
                 "1.302, 1.34, 1.458, 1.681, 2.029, 2.517, 3.159, 3.968, 4.956, 6.135",\
                 "1.504, 1.542, 1.66, 1.883, 2.231, 2.719, 3.361, 4.17, 5.157, 6.334",\
                 "1.72, 1.759, 1.878, 2.099, 2.447, 2.935, 3.577, 4.386, 5.373, 6.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1149, 0.1678, 0.3665, 0.7587, 1.371, 2.234, 3.365, 4.79, 6.534, 8.611",\
                 "0.1151, 0.1681, 0.3665, 0.7586, 1.371, 2.231, 3.365, 4.793, 6.538, 8.611",\
                 "0.1149, 0.1682, 0.3663, 0.7585, 1.372, 2.234, 3.363, 4.79, 6.533, 8.611",\
                 "0.1156, 0.1686, 0.3666, 0.7594, 1.373, 2.234, 3.363, 4.79, 6.531, 8.611",\
                 "0.1178, 0.1702, 0.367, 0.76, 1.372, 2.234, 3.363, 4.789, 6.532, 8.613",\
                 "0.1198, 0.1718, 0.3674, 0.7586, 1.371, 2.233, 3.365, 4.792, 6.535, 8.607",\
                 "0.123, 0.1744, 0.3684, 0.7604, 1.373, 2.231, 3.362, 4.792, 6.536, 8.611",\
                 "0.1258, 0.1776, 0.3698, 0.7602, 1.372, 2.232, 3.363, 4.795, 6.532, 8.605",\
                 "0.13, 0.1804, 0.3708, 0.7594, 1.373, 2.233, 3.362, 4.788, 6.536, 8.609",\
                 "0.1334, 0.1842, 0.3718, 0.7608, 1.373, 2.232, 3.362, 4.787, 6.527, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b1 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4932, 0.5222, 0.6033, 0.7335, 0.9266, 1.196, 1.549, 1.995, 2.538, 3.186",\
                 "0.5037, 0.5326, 0.6135, 0.7439, 0.9371, 1.206, 1.559, 2.005, 2.548, 3.197",\
                 "0.547, 0.576, 0.6571, 0.7873, 0.9804, 1.249, 1.603, 2.048, 2.592, 3.239",\
                 "0.6234, 0.6523, 0.7335, 0.864, 1.057, 1.326, 1.679, 2.125, 2.669, 3.317",\
                 "0.6962, 0.7254, 0.8072, 0.9378, 1.131, 1.4, 1.753, 2.199, 2.742, 3.391",\
                 "0.7652, 0.7945, 0.8766, 1.008, 1.201, 1.47, 1.823, 2.268, 2.812, 3.46",\
                 "0.8249, 0.8549, 0.9379, 1.07, 1.262, 1.531, 1.885, 2.33, 2.873, 3.521",\
                 "0.8727, 0.9031, 0.9866, 1.119, 1.312, 1.581, 1.934, 2.379, 2.923, 3.571",\
                 "0.9054, 0.9362, 1.021, 1.154, 1.347, 1.616, 1.969, 2.415, 2.958, 3.606",\
                 "0.9206, 0.9522, 1.038, 1.171, 1.366, 1.634, 1.987, 2.433, 2.976, 3.624");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4411, 0.4774, 0.5964, 0.8213, 1.17, 1.659, 2.303, 3.112, 4.102, 5.279",\
                 "0.4585, 0.4948, 0.6137, 0.8386, 1.187, 1.677, 2.32, 3.128, 4.116, 5.295",\
                 "0.5232, 0.5598, 0.6786, 0.9035, 1.252, 1.741, 2.384, 3.196, 4.185, 5.364",\
                 "0.6399, 0.6764, 0.795, 1.02, 1.368, 1.857, 2.5, 3.312, 4.301, 5.48",\
                 "0.7777, 0.8139, 0.9328, 1.157, 1.506, 1.995, 2.639, 3.448, 4.438, 5.617",\
                 "0.933, 0.9697, 1.089, 1.312, 1.66, 2.15, 2.792, 3.601, 4.592, 5.767",\
                 "1.105, 1.141, 1.26, 1.484, 1.832, 2.32, 2.962, 3.772, 4.762, 5.939",\
                 "1.29, 1.328, 1.446, 1.669, 2.017, 2.505, 3.148, 3.957, 4.944, 6.125",\
                 "1.49, 1.528, 1.647, 1.869, 2.217, 2.705, 3.347, 4.156, 5.143, 6.32",\
                 "1.705, 1.744, 1.862, 2.084, 2.432, 2.92, 3.562, 4.37, 5.359, 6.535");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.0945, 0.1253, 0.2232, 0.4127, 0.7267, 1.175, 1.768, 2.518, 3.434, 4.523",\
                 "0.09452, 0.1254, 0.223, 0.413, 0.7255, 1.176, 1.769, 2.52, 3.433, 4.521",\
                 "0.09456, 0.1254, 0.2233, 0.4128, 0.7265, 1.176, 1.769, 2.518, 3.433, 4.524",\
                 "0.095, 0.1262, 0.2238, 0.4134, 0.7268, 1.176, 1.77, 2.516, 3.429, 4.523",\
                 "0.0966, 0.1274, 0.2244, 0.4132, 0.7268, 1.176, 1.769, 2.52, 3.434, 4.517",\
                 "0.0986, 0.1296, 0.2262, 0.4144, 0.7274, 1.174, 1.767, 2.515, 3.428, 4.524",\
                 "0.102, 0.132, 0.229, 0.416, 0.7276, 1.175, 1.767, 2.513, 3.426, 4.517",\
                 "0.1052, 0.1358, 0.2316, 0.4178, 0.7276, 1.177, 1.769, 2.514, 3.425, 4.512",\
                 "0.1096, 0.1396, 0.2348, 0.4192, 0.728, 1.175, 1.769, 2.516, 3.428, 4.511",\
                 "0.1142, 0.1446, 0.2384, 0.4216, 0.73, 1.175, 1.768, 2.514, 3.426, 4.513");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1147, 0.1677, 0.3663, 0.7589, 1.372, 2.233, 3.367, 4.793, 6.535, 8.619",\
                 "0.1146, 0.1679, 0.3664, 0.7588, 1.372, 2.233, 3.365, 4.799, 6.546, 8.634",\
                 "0.1148, 0.168, 0.3671, 0.759, 1.372, 2.234, 3.368, 4.797, 6.54, 8.614",\
                 "0.1154, 0.1684, 0.3666, 0.759, 1.372, 2.231, 3.366, 4.795, 6.537, 8.618",\
                 "0.1172, 0.17, 0.367, 0.7582, 1.372, 2.232, 3.366, 4.794, 6.54, 8.615",\
                 "0.1198, 0.1718, 0.3676, 0.7588, 1.371, 2.235, 3.365, 4.791, 6.536, 8.618",\
                 "0.1222, 0.1742, 0.3684, 0.7592, 1.372, 2.231, 3.368, 4.79, 6.533, 8.621",\
                 "0.126, 0.1768, 0.3694, 0.76, 1.373, 2.234, 3.363, 4.789, 6.534, 8.61",\
                 "0.1294, 0.1806, 0.3706, 0.7602, 1.372, 2.232, 3.364, 4.788, 6.531, 8.604",\
                 "0.134, 0.1848, 0.372, 0.7606, 1.374, 2.231, 3.37, 4.789, 6.527, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b1 && RN===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&E&RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4965, 0.5254, 0.6062, 0.7367, 0.9296, 1.199, 1.552, 1.997, 2.541, 3.19",\
                 "0.5068, 0.5357, 0.6167, 0.747, 0.9401, 1.209, 1.562, 2.008, 2.552, 3.199",\
                 "0.5504, 0.5793, 0.6604, 0.7907, 0.9836, 1.252, 1.606, 2.051, 2.595, 3.244",\
                 "0.6273, 0.6562, 0.7373, 0.8677, 1.061, 1.33, 1.683, 2.129, 2.672, 3.321",\
                 "0.7011, 0.7303, 0.812, 0.9428, 1.136, 1.405, 1.758, 2.204, 2.747, 3.395",\
                 "0.7704, 0.7998, 0.8818, 1.013, 1.206, 1.475, 1.828, 2.273, 2.817, 3.465",\
                 "0.8309, 0.8608, 0.9435, 1.075, 1.268, 1.537, 1.89, 2.336, 2.879, 3.527",\
                 "0.8793, 0.9096, 0.9932, 1.125, 1.319, 1.588, 1.941, 2.386, 2.93, 3.578",\
                 "0.9125, 0.9434, 1.028, 1.161, 1.354, 1.623, 1.976, 2.422, 2.965, 3.613",\
                 "0.9284, 0.96, 1.046, 1.179, 1.373, 1.642, 1.995, 2.44, 2.984, 3.631");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4451, 0.4816, 0.6005, 0.8253, 1.174, 1.663, 2.306, 3.117, 4.103, 5.279",\
                 "0.4626, 0.4986, 0.6177, 0.8425, 1.191, 1.68, 2.323, 3.134, 4.12, 5.296",\
                 "0.5275, 0.5638, 0.6827, 0.9076, 1.256, 1.745, 2.387, 3.198, 4.187, 5.366",\
                 "0.6448, 0.6812, 0.7999, 1.024, 1.373, 1.862, 2.505, 3.315, 4.304, 5.484",\
                 "0.7839, 0.8201, 0.9389, 1.163, 1.512, 2.001, 2.644, 3.455, 4.443, 5.618",\
                 "0.9411, 0.9774, 1.096, 1.319, 1.668, 2.157, 2.799, 3.609, 4.6, 5.779",\
                 "1.114, 1.15, 1.269, 1.492, 1.84, 2.329, 2.971, 3.78, 4.771, 5.948",\
                 "1.3, 1.338, 1.456, 1.68, 2.028, 2.516, 3.158, 3.967, 4.954, 6.135",\
                 "1.502, 1.54, 1.658, 1.881, 2.229, 2.717, 3.359, 4.168, 5.156, 6.332",\
                 "1.718, 1.757, 1.876, 2.098, 2.446, 2.933, 3.576, 4.386, 5.373, 6.55");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09442, 0.1252, 0.2228, 0.4123, 0.726, 1.176, 1.77, 2.52, 3.436, 4.522",\
                 "0.0942, 0.1253, 0.2231, 0.413, 0.7259, 1.176, 1.77, 2.518, 3.434, 4.522",\
                 "0.09438, 0.1251, 0.2228, 0.413, 0.7258, 1.176, 1.769, 2.518, 3.434, 4.526",\
                 "0.0948, 0.126, 0.2236, 0.4128, 0.7272, 1.176, 1.77, 2.52, 3.435, 4.525",\
                 "0.0968, 0.1274, 0.2246, 0.4132, 0.7256, 1.175, 1.769, 2.521, 3.43, 4.526",\
                 "0.0986, 0.1298, 0.226, 0.4144, 0.7262, 1.174, 1.767, 2.515, 3.428, 4.524",\
                 "0.102, 0.132, 0.2288, 0.4154, 0.7268, 1.174, 1.768, 2.513, 3.425, 4.517",\
                 "0.105, 0.1354, 0.2314, 0.4182, 0.728, 1.177, 1.767, 2.516, 3.424, 4.512",\
                 "0.109, 0.1394, 0.2346, 0.4194, 0.7282, 1.176, 1.767, 2.514, 3.425, 4.512",\
                 "0.114, 0.1438, 0.2382, 0.4218, 0.7296, 1.176, 1.77, 2.514, 3.426, 4.512");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1148, 0.1676, 0.3668, 0.7588, 1.372, 2.233, 3.369, 4.794, 6.544, 8.621",\
                 "0.1147, 0.1681, 0.3663, 0.7588, 1.372, 2.233, 3.369, 4.794, 6.544, 8.621",\
                 "0.1148, 0.1681, 0.3666, 0.759, 1.372, 2.233, 3.365, 4.794, 6.536, 8.616",\
                 "0.1156, 0.1686, 0.3666, 0.7586, 1.372, 2.232, 3.366, 4.801, 6.538, 8.618",\
                 "0.1172, 0.1702, 0.367, 0.7602, 1.372, 2.232, 3.366, 4.795, 6.537, 8.626",\
                 "0.1198, 0.1724, 0.3674, 0.759, 1.371, 2.233, 3.365, 4.793, 6.539, 8.612",\
                 "0.1224, 0.1744, 0.3686, 0.7594, 1.373, 2.232, 3.366, 4.788, 6.531, 8.623",\
                 "0.126, 0.1776, 0.3694, 0.76, 1.373, 2.233, 3.363, 4.791, 6.534, 8.61",\
                 "0.1302, 0.181, 0.3706, 0.7608, 1.374, 2.234, 3.364, 4.788, 6.531, 8.605",\
                 "0.1338, 0.185, 0.3724, 0.7604, 1.373, 2.233, 3.362, 4.788, 6.528, 8.605");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b0 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&!E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.487, 0.5159, 0.5967, 0.727, 0.9201, 1.189, 1.543, 1.988, 2.532, 3.179",\
                 "0.4974, 0.5261, 0.607, 0.7376, 0.9303, 1.199, 1.553, 1.998, 2.542, 3.19",\
                 "0.5406, 0.5696, 0.6504, 0.7808, 0.9739, 1.243, 1.596, 2.042, 2.586, 3.233",\
                 "0.616, 0.6449, 0.7259, 0.8563, 1.049, 1.318, 1.672, 2.117, 2.661, 3.309",\
                 "0.6875, 0.7165, 0.798, 0.9285, 1.122, 1.391, 1.744, 2.189, 2.734, 3.381",\
                 "0.7542, 0.7833, 0.8653, 0.9965, 1.19, 1.458, 1.812, 2.257, 2.801, 3.449",\
                 "0.8122, 0.8422, 0.9247, 1.056, 1.25, 1.519, 1.872, 2.317, 2.86, 3.508",\
                 "0.8581, 0.8881, 0.9718, 1.104, 1.297, 1.566, 1.92, 2.365, 2.909, 3.556",\
                 "0.8884, 0.9193, 1.004, 1.136, 1.33, 1.599, 1.952, 2.398, 2.941, 3.589",\
                 "0.9017, 0.933, 1.018, 1.152, 1.346, 1.615, 1.968, 2.413, 2.957, 3.605");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4397, 0.4758, 0.5949, 0.8196, 1.168, 1.657, 2.3, 3.11, 4.098, 5.273",\
                 "0.4567, 0.493, 0.6121, 0.8368, 1.186, 1.674, 2.318, 3.127, 4.116, 5.292",\
                 "0.5218, 0.558, 0.677, 0.9016, 1.25, 1.74, 2.382, 3.192, 4.181, 5.356",\
                 "0.6381, 0.6743, 0.7931, 1.017, 1.366, 1.855, 2.498, 3.308, 4.297, 5.471",\
                 "0.7751, 0.8116, 0.9304, 1.155, 1.503, 1.992, 2.634, 3.445, 4.433, 5.608",\
                 "0.9301, 0.9665, 1.086, 1.31, 1.658, 2.146, 2.789, 3.6, 4.588, 5.765",\
                 "1.101, 1.137, 1.256, 1.479, 1.828, 2.316, 2.958, 3.767, 4.757, 5.935",\
                 "1.285, 1.322, 1.442, 1.665, 2.013, 2.501, 3.143, 3.952, 4.94, 6.12",\
                 "1.485, 1.522, 1.641, 1.864, 2.212, 2.7, 3.342, 4.151, 5.138, 6.314",\
                 "1.699, 1.738, 1.857, 2.078, 2.426, 2.914, 3.556, 4.365, 5.352, 6.53");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09398, 0.1251, 0.2228, 0.4131, 0.7266, 1.175, 1.768, 2.517, 3.434, 4.525",\
                 "0.0938, 0.125, 0.2225, 0.4129, 0.7266, 1.176, 1.771, 2.52, 3.429, 4.521",\
                 "0.09418, 0.1252, 0.2225, 0.4127, 0.7268, 1.176, 1.77, 2.519, 3.43, 4.523",\
                 "0.0946, 0.126, 0.223, 0.4132, 0.7262, 1.176, 1.77, 2.52, 3.431, 4.524",\
                 "0.0966, 0.1274, 0.2246, 0.4128, 0.7258, 1.175, 1.77, 2.52, 3.433, 4.523",\
                 "0.098, 0.1296, 0.2256, 0.4142, 0.7258, 1.174, 1.767, 2.515, 3.428, 4.524",\
                 "0.101, 0.1316, 0.2288, 0.4152, 0.728, 1.175, 1.767, 2.513, 3.425, 4.517",\
                 "0.1048, 0.1358, 0.231, 0.418, 0.7284, 1.176, 1.769, 2.514, 3.425, 4.513",\
                 "0.109, 0.139, 0.234, 0.4192, 0.7282, 1.175, 1.769, 2.515, 3.426, 4.511",\
                 "0.1134, 0.1442, 0.2378, 0.422, 0.7298, 1.177, 1.77, 2.516, 3.427, 4.512");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1143, 0.1678, 0.3667, 0.7586, 1.372, 2.234, 3.366, 4.792, 6.537, 8.605",\
                 "0.1146, 0.1676, 0.3664, 0.7586, 1.372, 2.234, 3.366, 4.792, 6.532, 8.608",\
                 "0.1146, 0.1678, 0.3665, 0.7587, 1.372, 2.233, 3.366, 4.791, 6.536, 8.607",\
                 "0.115, 0.1682, 0.3664, 0.7586, 1.372, 2.232, 3.366, 4.792, 6.537, 8.607",\
                 "0.1172, 0.17, 0.3668, 0.7582, 1.372, 2.232, 3.365, 4.793, 6.537, 8.606",\
                 "0.1192, 0.1718, 0.3676, 0.7594, 1.371, 2.235, 3.365, 4.791, 6.534, 8.607",\
                 "0.1218, 0.174, 0.3682, 0.7606, 1.373, 2.232, 3.367, 4.789, 6.537, 8.613",\
                 "0.1256, 0.1772, 0.3692, 0.7604, 1.373, 2.233, 3.362, 4.789, 6.534, 8.609",\
                 "0.1298, 0.1808, 0.3704, 0.7604, 1.372, 2.233, 3.363, 4.788, 6.53, 8.608",\
                 "0.133, 0.1844, 0.3722, 0.7608, 1.373, 2.234, 3.368, 4.789, 6.527, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b0 && RN===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&!E&RN" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4447, 0.4811, 0.6002, 0.8248, 1.174, 1.662, 2.305, 3.114, 4.102, 5.278",\
                 "0.4621, 0.4983, 0.6174, 0.842, 1.191, 1.679, 2.322, 3.132, 4.12, 5.297",\
                 "0.5269, 0.5632, 0.6823, 0.9069, 1.256, 1.744, 2.387, 3.197, 4.185, 5.362",\
                 "0.6444, 0.6808, 0.7995, 1.024, 1.372, 1.861, 2.504, 3.313, 4.302, 5.48",\
                 "0.7837, 0.8202, 0.9386, 1.163, 1.511, 2, 2.643, 3.453, 4.441, 5.619",\
                 "0.9415, 0.9778, 1.097, 1.32, 1.669, 2.157, 2.8, 3.61, 4.599, 5.776",\
                 "1.115, 1.152, 1.27, 1.494, 1.842, 2.33, 2.973, 3.782, 4.771, 5.95",\
                 "1.303, 1.34, 1.458, 1.682, 2.03, 2.518, 3.16, 3.969, 4.957, 6.134",\
                 "1.505, 1.542, 1.661, 1.883, 2.231, 2.719, 3.361, 4.171, 5.157, 6.334",\
                 "1.721, 1.759, 1.878, 2.1, 2.447, 2.935, 3.577, 4.387, 5.375, 6.551");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1151, 0.1679, 0.3663, 0.7583, 1.372, 2.232, 3.364, 4.793, 6.537, 8.611",\
                 "0.1148, 0.1679, 0.3665, 0.7598, 1.372, 2.232, 3.365, 4.794, 6.537, 8.614",\
                 "0.1151, 0.1679, 0.3665, 0.7583, 1.372, 2.231, 3.365, 4.794, 6.536, 8.605",\
                 "0.1158, 0.1688, 0.3666, 0.7584, 1.371, 2.231, 3.365, 4.794, 6.534, 8.607",\
                 "0.1174, 0.1702, 0.3668, 0.7584, 1.373, 2.235, 3.364, 4.792, 6.534, 8.611",\
                 "0.1202, 0.1722, 0.3678, 0.7592, 1.371, 2.232, 3.364, 4.794, 6.534, 8.614",\
                 "0.123, 0.1746, 0.3684, 0.7596, 1.372, 2.231, 3.367, 4.791, 6.534, 8.607",\
                 "0.1258, 0.177, 0.3696, 0.7602, 1.372, 2.233, 3.362, 4.796, 6.534, 8.603",\
                 "0.1296, 0.1808, 0.3708, 0.7602, 1.373, 2.234, 3.363, 4.788, 6.533, 8.606",\
                 "0.1334, 0.1844, 0.372, 0.7602, 1.372, 2.231, 3.363, 4.787, 6.528, 8.609");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b1 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4932, 0.5222, 0.6033, 0.7338, 0.9269, 1.196, 1.549, 1.994, 2.538, 3.186",\
                 "0.5036, 0.5325, 0.6137, 0.7438, 0.9369, 1.206, 1.56, 2.005, 2.548, 3.197",\
                 "0.547, 0.576, 0.6571, 0.7873, 0.9804, 1.249, 1.603, 2.048, 2.592, 3.239",\
                 "0.6234, 0.6523, 0.7334, 0.8639, 1.057, 1.326, 1.679, 2.125, 2.668, 3.317",\
                 "0.6962, 0.7256, 0.8074, 0.9382, 1.131, 1.4, 1.754, 2.199, 2.742, 3.391",\
                 "0.7648, 0.7943, 0.8766, 1.007, 1.201, 1.469, 1.823, 2.268, 2.811, 3.46",\
                 "0.825, 0.855, 0.9377, 1.069, 1.262, 1.531, 1.885, 2.33, 2.873, 3.521",\
                 "0.8727, 0.9032, 0.9866, 1.119, 1.313, 1.581, 1.934, 2.38, 2.923, 3.571",\
                 "0.9055, 0.9364, 1.021, 1.154, 1.347, 1.616, 1.97, 2.415, 2.958, 3.606",\
                 "0.9206, 0.9522, 1.038, 1.171, 1.366, 1.634, 1.987, 2.433, 2.976, 3.624");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4411, 0.4775, 0.5964, 0.821, 1.17, 1.659, 2.302, 3.112, 4.102, 5.279",\
                 "0.4585, 0.4948, 0.6137, 0.8386, 1.187, 1.677, 2.32, 3.128, 4.116, 5.295",\
                 "0.5232, 0.5598, 0.6786, 0.9035, 1.252, 1.741, 2.384, 3.196, 4.185, 5.364",\
                 "0.6399, 0.6764, 0.795, 1.02, 1.368, 1.857, 2.5, 3.312, 4.301, 5.48",\
                 "0.7777, 0.8139, 0.9325, 1.157, 1.506, 1.995, 2.638, 3.448, 4.438, 5.617",\
                 "0.9334, 0.9699, 1.089, 1.313, 1.661, 2.149, 2.792, 3.603, 4.591, 5.772",\
                 "1.105, 1.141, 1.26, 1.484, 1.832, 2.32, 2.963, 3.772, 4.762, 5.939",\
                 "1.29, 1.328, 1.446, 1.669, 2.017, 2.505, 3.147, 3.957, 4.944, 6.124",\
                 "1.49, 1.528, 1.647, 1.869, 2.217, 2.705, 3.347, 4.156, 5.143, 6.32",\
                 "1.706, 1.744, 1.863, 2.085, 2.432, 2.92, 3.562, 4.371, 5.359, 6.536");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09456, 0.1253, 0.2225, 0.4136, 0.7265, 1.176, 1.77, 2.519, 3.429, 4.524",\
                 "0.09456, 0.1256, 0.2229, 0.4127, 0.726, 1.175, 1.768, 2.516, 3.432, 4.521",\
                 "0.09458, 0.1255, 0.2233, 0.4128, 0.7266, 1.176, 1.769, 2.518, 3.433, 4.524",\
                 "0.095, 0.1262, 0.2242, 0.4132, 0.7256, 1.176, 1.77, 2.516, 3.434, 4.519",\
                 "0.0964, 0.1274, 0.2244, 0.4132, 0.7254, 1.175, 1.769, 2.52, 3.434, 4.517",\
                 "0.099, 0.1298, 0.226, 0.4146, 0.7272, 1.174, 1.766, 2.515, 3.428, 4.521",\
                 "0.102, 0.1324, 0.2288, 0.416, 0.7272, 1.175, 1.767, 2.513, 3.424, 4.515",\
                 "0.1054, 0.1358, 0.2314, 0.4172, 0.7282, 1.176, 1.769, 2.513, 3.425, 4.512",\
                 "0.1098, 0.14, 0.2348, 0.4198, 0.7296, 1.175, 1.767, 2.515, 3.428, 4.511",\
                 "0.1144, 0.1446, 0.2388, 0.422, 0.7306, 1.177, 1.768, 2.517, 3.425, 4.512");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1146, 0.1677, 0.3663, 0.7584, 1.372, 2.233, 3.367, 4.792, 6.535, 8.619",\
                 "0.1146, 0.1679, 0.3664, 0.7588, 1.372, 2.233, 3.365, 4.799, 6.545, 8.634",\
                 "0.1148, 0.1679, 0.3671, 0.759, 1.372, 2.234, 3.368, 4.797, 6.54, 8.614",\
                 "0.1154, 0.1684, 0.3666, 0.759, 1.372, 2.231, 3.366, 4.795, 6.537, 8.618",\
                 "0.117, 0.17, 0.367, 0.76, 1.372, 2.233, 3.365, 4.796, 6.537, 8.618",\
                 "0.1194, 0.1714, 0.3676, 0.7596, 1.371, 2.234, 3.365, 4.794, 6.548, 8.618",\
                 "0.1222, 0.1744, 0.3684, 0.7594, 1.373, 2.231, 3.367, 4.788, 6.532, 8.621",\
                 "0.1258, 0.1768, 0.3692, 0.7598, 1.374, 2.233, 3.363, 4.793, 6.534, 8.611",\
                 "0.1294, 0.1804, 0.3704, 0.7602, 1.373, 2.231, 3.364, 4.789, 6.53, 8.603",\
                 "0.1334, 0.1846, 0.3716, 0.7608, 1.373, 2.231, 3.368, 4.788, 6.528, 8.605");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4965, 0.5254, 0.6062, 0.7367, 0.9296, 1.199, 1.552, 1.997, 2.541, 3.19",\
                 "0.5068, 0.5357, 0.6167, 0.747, 0.9401, 1.209, 1.562, 2.008, 2.552, 3.199",\
                 "0.5504, 0.5793, 0.6604, 0.7907, 0.9836, 1.252, 1.606, 2.051, 2.595, 3.244",\
                 "0.6273, 0.6562, 0.7373, 0.8677, 1.061, 1.33, 1.683, 2.129, 2.672, 3.321",\
                 "0.7011, 0.7303, 0.812, 0.9428, 1.136, 1.405, 1.758, 2.204, 2.747, 3.395",\
                 "0.7704, 0.7998, 0.8818, 1.013, 1.206, 1.475, 1.828, 2.273, 2.817, 3.465",\
                 "0.8309, 0.8608, 0.9435, 1.075, 1.268, 1.537, 1.89, 2.336, 2.879, 3.527",\
                 "0.8793, 0.9096, 0.9932, 1.125, 1.319, 1.588, 1.941, 2.386, 2.93, 3.578",\
                 "0.9125, 0.9434, 1.028, 1.161, 1.354, 1.623, 1.976, 2.422, 2.965, 3.613",\
                 "0.9284, 0.96, 1.046, 1.179, 1.373, 1.642, 1.995, 2.44, 2.984, 3.631");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.4447, 0.4811, 0.6002, 0.8248, 1.174, 1.662, 2.305, 3.114, 4.102, 5.278",\
                 "0.4621, 0.4983, 0.6174, 0.842, 1.191, 1.679, 2.322, 3.132, 4.12, 5.297",\
                 "0.5269, 0.5632, 0.6823, 0.9069, 1.256, 1.744, 2.387, 3.197, 4.185, 5.362",\
                 "0.6444, 0.6808, 0.7995, 1.024, 1.372, 1.861, 2.504, 3.313, 4.302, 5.48",\
                 "0.7837, 0.8202, 0.9386, 1.163, 1.511, 2, 2.643, 3.453, 4.441, 5.619",\
                 "0.9415, 0.9778, 1.097, 1.32, 1.669, 2.157, 2.8, 3.61, 4.599, 5.776",\
                 "1.115, 1.152, 1.27, 1.494, 1.842, 2.33, 2.973, 3.782, 4.771, 5.95",\
                 "1.303, 1.34, 1.458, 1.682, 2.03, 2.518, 3.16, 3.969, 4.957, 6.134",\
                 "1.505, 1.542, 1.661, 1.883, 2.231, 2.719, 3.361, 4.171, 5.157, 6.334",\
                 "1.721, 1.759, 1.878, 2.1, 2.447, 2.935, 3.577, 4.387, 5.375, 6.551");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.09442, 0.1252, 0.2228, 0.4123, 0.726, 1.176, 1.77, 2.52, 3.436, 4.522",\
                 "0.0942, 0.1253, 0.2231, 0.413, 0.7259, 1.176, 1.77, 2.518, 3.434, 4.522",\
                 "0.09438, 0.1251, 0.2228, 0.413, 0.7258, 1.176, 1.769, 2.518, 3.434, 4.526",\
                 "0.0948, 0.126, 0.2236, 0.4128, 0.7272, 1.176, 1.77, 2.52, 3.435, 4.525",\
                 "0.0968, 0.1274, 0.2246, 0.4132, 0.7256, 1.175, 1.769, 2.521, 3.43, 4.526",\
                 "0.0986, 0.1298, 0.226, 0.4144, 0.7262, 1.174, 1.767, 2.515, 3.428, 4.524",\
                 "0.102, 0.132, 0.2288, 0.4154, 0.7268, 1.174, 1.768, 2.513, 3.425, 4.517",\
                 "0.105, 0.1354, 0.2314, 0.4182, 0.728, 1.177, 1.767, 2.516, 3.424, 4.512",\
                 "0.109, 0.1394, 0.2346, 0.4194, 0.7282, 1.176, 1.767, 2.514, 3.425, 4.512",\
                 "0.114, 0.1438, 0.2382, 0.4218, 0.7296, 1.176, 1.77, 2.514, 3.426, 4.512");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05469, 0.09101, 0.1388, 0.199, 0.2725, 0.3602");
          values("0.1147, 0.1677, 0.3663, 0.7589, 1.372, 2.233, 3.367, 4.793, 6.535, 8.619",\
                 "0.1146, 0.1679, 0.3664, 0.7588, 1.372, 2.233, 3.365, 4.799, 6.546, 8.634",\
                 "0.1148, 0.168, 0.3671, 0.759, 1.372, 2.234, 3.368, 4.797, 6.54, 8.614",\
                 "0.1154, 0.1684, 0.3666, 0.759, 1.372, 2.231, 3.366, 4.795, 6.537, 8.618",\
                 "0.1172, 0.17, 0.367, 0.7582, 1.372, 2.232, 3.366, 4.794, 6.54, 8.615",\
                 "0.1198, 0.1718, 0.3676, 0.7588, 1.371, 2.235, 3.365, 4.791, 6.536, 8.618",\
                 "0.1222, 0.1742, 0.3684, 0.7592, 1.372, 2.231, 3.368, 4.79, 6.533, 8.621",\
                 "0.126, 0.1768, 0.3694, 0.76, 1.373, 2.234, 3.363, 4.789, 6.534, 8.61",\
                 "0.1294, 0.1806, 0.3706, 0.7602, 1.372, 2.232, 3.364, 4.788, 6.531, 8.604",\
                 "0.134, 0.1848, 0.372, 0.7606, 1.374, 2.231, 3.37, 4.789, 6.527, 8.604");
        }
      }
    }

    pin(RN) {
      capacitance : 0.005141 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.45 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08002, 0.07955, 0.07995, 0.08312, 0.09048, 0.1031, 0.1213, 0.1455, \
                 0.1758, 0.2126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03272, 0.03249, 0.03208, 0.03345, 0.03833, 0.04779, 0.06248, \
                 0.08258, 0.1084, 0.14");
        }
      }

      internal_power() {
        when : "!D&!E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009051, 0.008502, 0.008377, 0.008391, 0.008374, 0.008368, 0.008369, \
                 0.008374, 0.008377, 0.008375");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008381, -0.008354, -0.008357, -0.008342, -0.00834, -0.008358, \
                 -0.008349, -0.008345, -0.008348, -0.008346");
        }
      }

      internal_power() {
        when : "!D&E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009894, 0.008852, 0.008623, 0.008548, 0.008507, 0.008511, 0.00849, \
                 0.008488, 0.008485, 0.008474");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008327, -0.008309, -0.008318, -0.008306, -0.008303, -0.00832, \
                 -0.008313, -0.008308, -0.008303, -0.008308");
        }
      }

      internal_power() {
        when : "!D&E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008923, 0.008397, 0.008388, 0.008373, 0.008353, 0.008376, 0.008374, \
                 0.008376, 0.008375, 0.008381");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008374, -0.008354, -0.008357, -0.008343, -0.008339, -0.008356, \
                 -0.008352, -0.008346, -0.008347, -0.008349");
        }
      }

      internal_power() {
        when : "D&!E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08046, 0.07958, 0.07995, 0.08312, 0.09047, 0.103, 0.1213, 0.1455, \
                 0.1758, 0.2126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03274, 0.03249, 0.03208, 0.03345, 0.03834, 0.04778, 0.06247, \
                 0.08257, 0.1084, 0.14");
        }
      }

      internal_power() {
        when : "D&!E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009439, 0.008484, 0.008389, 0.008365, 0.008377, 0.008379, 0.008365, \
                 0.008377, 0.008376, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008362, -0.008355, -0.008356, -0.008349, -0.00834, -0.008353, \
                 -0.008352, -0.008352, -0.008345, -0.00835");
        }
      }

      internal_power() {
        when : "D&E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09226, 0.09126, 0.09147, 0.09457, 0.1019, 0.1144, 0.1327, 0.1569, \
                 0.1872, 0.2239");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.021, 0.02077, 0.02036, 0.02174, 0.02665, 0.03612, 0.05082, 0.07095, \
                 0.09673, 0.1283");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.653, 0.648, 0.637, 0.692, 0.876, 1.218, 1.697, 2.307, 3.069, 3.986",\
                 "0.657, 0.651, 0.646, 0.698, 0.88, 1.22, 1.701, 2.313, 3.074, 3.984",\
                 "0.672, 0.663, 0.661, 0.703, 0.896, 1.229, 1.7, 2.312, 3.062, 3.959",\
                 "0.699, 0.691, 0.683, 0.728, 0.909, 1.228, 1.682, 2.263, 2.991, 3.859",\
                 "0.725, 0.718, 0.713, 0.75, 0.915, 1.214, 1.643, 2.209, 2.898, 3.732",\
                 "0.745, 0.736, 0.73, 0.768, 0.915, 1.198, 1.608, 2.133, 2.799, 3.589",\
                 "0.766, 0.758, 0.746, 0.775, 0.914, 1.18, 1.574, 2.092, 2.733, 3.506",\
                 "0.756, 0.75, 0.746, 0.77, 0.894, 1.143, 1.529, 2.032, 2.663, 3.43",\
                 "0.727, 0.723, 0.718, 0.74, 0.849, 1.088, 1.462, 1.968, 2.606, 3.379",\
                 "0.658, 0.654, 0.654, 0.68, 0.779, 1.002, 1.374, 1.884, 2.53, 3.326");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : removal_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.561, -0.553, -0.546, -0.574, -0.661, -0.758, -0.836, -0.879, -0.896, -0.867",\
                 "-0.569, -0.565, -0.551, -0.583, -0.671, -0.767, -0.844, -0.892, -0.899, -0.871",\
                 "-0.581, -0.574, -0.559, -0.598, -0.678, -0.776, -0.848, -0.895, -0.912, -0.88",\
                 "-0.598, -0.594, -0.584, -0.612, -0.691, -0.774, -0.843, -0.893, -0.912, -0.881",\
                 "-0.635, -0.626, -0.608, -0.638, -0.706, -0.784, -0.853, -0.898, -0.92, -0.895",\
                 "-0.658, -0.648, -0.634, -0.651, -0.713, -0.793, -0.86, -0.921, -0.95, -0.938",\
                 "-0.673, -0.664, -0.655, -0.665, -0.725, -0.803, -0.88, -0.94, -0.99, -1.002",\
                 "-0.667, -0.661, -0.652, -0.663, -0.723, -0.806, -0.895, -0.978, -1.043, -1.076",\
                 "-0.64, -0.635, -0.619, -0.635, -0.688, -0.785, -0.895, -1.003, -1.09, -1.163",\
                 "-0.574, -0.57, -0.562, -0.579, -0.629, -0.73, -0.86, -0.99, -1.116, -1.228");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E&SETN" ;

        fall_constraint(scalar) {
          values("0.45");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E&SETN" ;

        fall_constraint(scalar) {
          values("0.45");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.017, -0.006, 0.023, 0.035, 0.055, 0.071, 0.083, 0.077, 0.067, 0.038",\
                 "-0.022, -0.016, 0.011, 0.035, 0.047, 0.064, 0.073, 0.075, 0.056, 0.036",\
                 "-0.023, -0.018, 0.016, 0.028, 0.043, 0.06, 0.076, 0.075, 0.065, 0.037",\
                 "0.011, 0.013, 0.037, 0.046, 0.058, 0.074, 0.086, 0.089, 0.076, 0.048",\
                 "0.072, 0.077, 0.088, 0.09, 0.101, 0.118, 0.119, 0.116, 0.102, 0.082",\
                 "0.182, 0.183, 0.189, 0.175, 0.18, 0.194, 0.19, 0.191, 0.171, 0.149",\
                 "0.347, 0.347, 0.341, 0.314, 0.31, 0.328, 0.323, 0.329, 0.31, 0.29",\
                 "0.566, 0.557, 0.528, 0.48, 0.484, 0.516, 0.511, 0.532, 0.516, 0.504",\
                 "0.84, 0.834, 0.779, 0.692, 0.712, 0.751, 0.759, 0.793, 0.793, 0.8",\
                 "1.17, 1.154, 1.079, 0.977, 0.972, 1.042, 1.052, 1.116, 1.136, 1.167");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.017, -0.006, 0.023, 0.035, 0.055, 0.071, 0.083, 0.077, 0.067, 0.038",\
                 "-0.022, -0.016, 0.011, 0.035, 0.047, 0.064, 0.073, 0.075, 0.056, 0.036",\
                 "-0.023, -0.018, 0.016, 0.028, 0.043, 0.06, 0.076, 0.075, 0.065, 0.037",\
                 "0.011, 0.013, 0.037, 0.046, 0.058, 0.074, 0.086, 0.089, 0.076, 0.048",\
                 "0.072, 0.077, 0.088, 0.09, 0.101, 0.118, 0.119, 0.116, 0.102, 0.082",\
                 "0.182, 0.183, 0.189, 0.175, 0.18, 0.194, 0.19, 0.191, 0.171, 0.149",\
                 "0.347, 0.347, 0.341, 0.314, 0.31, 0.328, 0.323, 0.329, 0.31, 0.29",\
                 "0.56, 0.557, 0.535, 0.486, 0.484, 0.516, 0.511, 0.532, 0.516, 0.512",\
                 "0.84, 0.826, 0.779, 0.711, 0.712, 0.751, 0.753, 0.793, 0.801, 0.8",\
                 "1.17, 1.154, 1.079, 0.977, 0.96, 1.042, 1.052, 1.116, 1.136, 1.162");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.132, 0.122, 0.095, 0.074, 0.05, 0.038, 0.027, 0.035, 0.052, 0.082",\
                 "0.138, 0.127, 0.107, 0.081, 0.062, 0.041, 0.038, 0.038, 0.055, 0.09",\
                 "0.146, 0.142, 0.118, 0.089, 0.062, 0.049, 0.042, 0.044, 0.059, 0.092",\
                 "0.153, 0.151, 0.12, 0.092, 0.064, 0.051, 0.034, 0.039, 0.055, 0.087",\
                 "0.159, 0.147, 0.122, 0.09, 0.061, 0.04, 0.024, 0.025, 0.04, 0.074",\
                 "0.14, 0.135, 0.111, 0.074, 0.048, 0.016, 0.005, 0.003, 0.017, 0.052",\
                 "0.108, 0.098, 0.076, 0.046, 0.01, -0.018, -0.04, -0.036, -0.027, 0.003",\
                 "0.042, 0.04, 0.013, -0.018, -0.054, -0.087, -0.1, -0.114, -0.098, -0.072",\
                 "-0.053, -0.056, -0.076, -0.108, -0.144, -0.18, -0.204, -0.213, -0.203, -0.17",\
                 "-0.175, -0.179, -0.193, -0.226, -0.269, -0.304, -0.331, -0.342, -0.334, -0.312");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.132, 0.122, 0.095, 0.074, 0.05, 0.038, 0.027, 0.035, 0.052, 0.082",\
                 "0.138, 0.127, 0.107, 0.081, 0.062, 0.041, 0.038, 0.038, 0.055, 0.09",\
                 "0.146, 0.142, 0.118, 0.089, 0.062, 0.049, 0.042, 0.044, 0.059, 0.092",\
                 "0.153, 0.151, 0.121, 0.092, 0.064, 0.051, 0.034, 0.039, 0.055, 0.087",\
                 "0.159, 0.147, 0.122, 0.09, 0.061, 0.04, 0.024, 0.025, 0.04, 0.074",\
                 "0.14, 0.135, 0.111, 0.074, 0.048, 0.016, 0.005, 0.003, 0.017, 0.052",\
                 "0.108, 0.098, 0.076, 0.046, 0.01, -0.018, -0.04, -0.036, -0.027, 0.003",\
                 "0.042, 0.034, 0.013, -0.018, -0.054, -0.087, -0.1, -0.114, -0.098, -0.072",\
                 "-0.053, -0.056, -0.076, -0.108, -0.144, -0.18, -0.204, -0.213, -0.203, -0.17",\
                 "-0.175, -0.179, -0.193, -0.226, -0.269, -0.304, -0.331, -0.342, -0.334, -0.312");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.003586 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.392 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01351, 0.01345, 0.01343, 0.01342, 0.01343, 0.01344, 0.01345, \
                 0.01346, 0.01344, 0.01345");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008692, -0.008695, -0.008719, -0.008699, -0.008713, -0.008743, \
                 -0.008731, -0.008758, -0.008764, -0.008782");
        }
      }

      internal_power() {
        when : "D&!E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0135, 0.01345, 0.01344, 0.01343, 0.01342, 0.01343, 0.01346, \
                 0.01345, 0.01345, 0.01344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008707, -0.008695, -0.0087, -0.008701, -0.008712, -0.008736, \
                 -0.008732, -0.008759, -0.008764, -0.008778");
        }
      }

      internal_power() {
        when : "D&E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01349, 0.01346, 0.01344, 0.01344, 0.01344, 0.01345, 0.01346, \
                 0.01345, 0.01345, 0.01344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008706, -0.008695, -0.008697, -0.008689, -0.008716, -0.008737, \
                 -0.008747, -0.00875, -0.008769, -0.008788");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.023, -0.042, -0.114, -0.217, -0.345, -0.486, -0.639, -0.821, -1.022, -1.246",\
                 "-0.019, -0.032, -0.1, -0.209, -0.332, -0.477, -0.638, -0.816, -1.013, -1.236",\
                 "0.012, -0.006, -0.071, -0.178, -0.303, -0.442, -0.61, -0.789, -0.991, -1.216",\
                 "0.044, 0.025, -0.042, -0.145, -0.274, -0.417, -0.575, -0.763, -0.967, -1.2",\
                 "0.062, 0.047, -0.018, -0.121, -0.248, -0.389, -0.553, -0.738, -0.944, -1.177",\
                 "0.094, 0.076, 0.009, -0.087, -0.215, -0.362, -0.52, -0.705, -0.916, -1.144",\
                 "0.125, 0.107, 0.049, -0.054, -0.178, -0.322, -0.484, -0.67, -0.878, -1.103",\
                 "0.142, 0.129, 0.062, -0.038, -0.158, -0.306, -0.462, -0.652, -0.854, -1.086",\
                 "0.154, 0.137, 0.073, -0.02, -0.144, -0.285, -0.446, -0.632, -0.833, -1.062",\
                 "0.163, 0.146, 0.085, -0.008, -0.126, -0.265, -0.431, -0.613, -0.821, -1.049");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : removal_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2, 0.213, 0.281, 0.39, 0.516, 0.664, 0.833, 1.028, 1.245, 1.491",\
                 "0.19, 0.206, 0.272, 0.382, 0.51, 0.654, 0.827, 1.019, 1.237, 1.482",\
                 "0.16, 0.172, 0.244, 0.347, 0.478, 0.622, 0.801, 0.988, 1.206, 1.448",\
                 "0.12, 0.139, 0.205, 0.307, 0.438, 0.586, 0.755, 0.951, 1.168, 1.407",\
                 "0.087, 0.108, 0.175, 0.275, 0.404, 0.548, 0.72, 0.908, 1.124, 1.369",\
                 "0.061, 0.077, 0.144, 0.248, 0.373, 0.518, 0.682, 0.873, 1.088, 1.332",\
                 "0.036, 0.056, 0.124, 0.224, 0.35, 0.49, 0.662, 0.846, 1.061, 1.303",\
                 "0.029, 0.044, 0.112, 0.212, 0.335, 0.483, 0.647, 0.836, 1.043, 1.286",\
                 "0.036, 0.047, 0.117, 0.213, 0.343, 0.483, 0.647, 0.834, 1.042, 1.287",\
                 "0.05, 0.069, 0.135, 0.233, 0.36, 0.505, 0.667, 0.853, 1.064, 1.295");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.132, 0.138, 0.146, 0.153, 0.159, 0.14, 0.108, 0.042, -0.053, -0.175",\
                 "0.122, 0.127, 0.142, 0.151, 0.147, 0.135, 0.098, 0.04, -0.056, -0.179",\
                 "0.095, 0.107, 0.118, 0.12, 0.122, 0.111, 0.076, 0.013, -0.076, -0.193",\
                 "0.074, 0.081, 0.089, 0.092, 0.09, 0.074, 0.046, -0.018, -0.108, -0.226",\
                 "0.05, 0.062, 0.062, 0.064, 0.061, 0.048, 0.01, -0.054, -0.144, -0.269",\
                 "0.038, 0.041, 0.049, 0.051, 0.04, 0.016, -0.018, -0.087, -0.18, -0.304",\
                 "0.027, 0.038, 0.042, 0.034, 0.024, 0.005, -0.04, -0.1, -0.204, -0.331",\
                 "0.035, 0.038, 0.044, 0.039, 0.025, 0.003, -0.036, -0.114, -0.213, -0.342",\
                 "0.052, 0.055, 0.059, 0.055, 0.04, 0.017, -0.027, -0.098, -0.203, -0.334",\
                 "0.082, 0.09, 0.092, 0.087, 0.074, 0.052, 0.003, -0.072, -0.17, -0.312");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.132, 0.138, 0.146, 0.153, 0.159, 0.14, 0.108, 0.042, -0.053, -0.175",\
                 "0.122, 0.127, 0.142, 0.151, 0.147, 0.135, 0.098, 0.034, -0.056, -0.179",\
                 "0.095, 0.107, 0.118, 0.121, 0.122, 0.111, 0.076, 0.013, -0.076, -0.193",\
                 "0.074, 0.081, 0.089, 0.092, 0.09, 0.074, 0.046, -0.018, -0.108, -0.226",\
                 "0.05, 0.062, 0.062, 0.064, 0.061, 0.048, 0.01, -0.054, -0.144, -0.269",\
                 "0.038, 0.041, 0.049, 0.051, 0.04, 0.016, -0.018, -0.087, -0.18, -0.304",\
                 "0.027, 0.038, 0.042, 0.034, 0.024, 0.005, -0.04, -0.1, -0.204, -0.331",\
                 "0.035, 0.038, 0.044, 0.039, 0.025, 0.003, -0.036, -0.114, -0.213, -0.342",\
                 "0.052, 0.055, 0.059, 0.055, 0.04, 0.017, -0.027, -0.098, -0.203, -0.334",\
                 "0.082, 0.09, 0.092, 0.087, 0.074, 0.052, 0.003, -0.072, -0.17, -0.312");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.017, -0.022, -0.023, 0.011, 0.072, 0.182, 0.347, 0.566, 0.84, 1.17",\
                 "-0.006, -0.016, -0.018, 0.013, 0.077, 0.183, 0.347, 0.557, 0.834, 1.154",\
                 "0.023, 0.011, 0.016, 0.037, 0.088, 0.189, 0.341, 0.528, 0.779, 1.079",\
                 "0.035, 0.035, 0.028, 0.046, 0.09, 0.175, 0.314, 0.48, 0.692, 0.977",\
                 "0.055, 0.047, 0.043, 0.058, 0.101, 0.18, 0.31, 0.484, 0.712, 0.972",\
                 "0.071, 0.064, 0.06, 0.074, 0.118, 0.194, 0.328, 0.516, 0.751, 1.042",\
                 "0.083, 0.073, 0.076, 0.086, 0.119, 0.19, 0.323, 0.511, 0.759, 1.052",\
                 "0.077, 0.075, 0.075, 0.089, 0.116, 0.191, 0.329, 0.532, 0.793, 1.116",\
                 "0.067, 0.056, 0.065, 0.076, 0.102, 0.171, 0.31, 0.516, 0.793, 1.136",\
                 "0.038, 0.036, 0.037, 0.048, 0.082, 0.149, 0.29, 0.504, 0.8, 1.167");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.017, -0.022, -0.023, 0.011, 0.072, 0.182, 0.347, 0.56, 0.84, 1.17",\
                 "-0.006, -0.016, -0.018, 0.013, 0.077, 0.183, 0.347, 0.557, 0.826, 1.154",\
                 "0.023, 0.011, 0.016, 0.037, 0.088, 0.189, 0.341, 0.535, 0.779, 1.079",\
                 "0.035, 0.035, 0.028, 0.046, 0.09, 0.175, 0.314, 0.486, 0.711, 0.977",\
                 "0.055, 0.047, 0.043, 0.058, 0.101, 0.18, 0.31, 0.484, 0.712, 0.96",\
                 "0.071, 0.064, 0.06, 0.074, 0.118, 0.194, 0.328, 0.516, 0.751, 1.042",\
                 "0.083, 0.073, 0.076, 0.086, 0.119, 0.19, 0.323, 0.511, 0.753, 1.052",\
                 "0.077, 0.075, 0.075, 0.089, 0.116, 0.191, 0.329, 0.532, 0.793, 1.116",\
                 "0.067, 0.056, 0.065, 0.076, 0.102, 0.171, 0.31, 0.516, 0.801, 1.136",\
                 "0.038, 0.036, 0.037, 0.048, 0.082, 0.149, 0.29, 0.512, 0.8, 1.162");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E&RN" ;

        fall_constraint(scalar) {
          values("0.392");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E&RN" ;

        fall_constraint(scalar) {
          values("0.392");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latrsnq_2) {
    area : 54.880000 ;

    latch(IQ2,IQN2) {
      enable : "E" ;
      data_in : "D" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : H ;
      clear_preset_var2 : L ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!RN&!SETN" ;
      value : "0.0001331979" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!RN&SETN" ;
      value : "0.0001288122" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&RN&!SETN" ;
      value : "0.0001263372" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&RN&SETN" ;
      value : "0.0001498596" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!RN&!SETN" ;
      value : "0.0001170576" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!RN&SETN" ;
      value : "0.0001290696" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&RN&!SETN" ;
      value : "0.0001176351" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&RN&SETN" ;
      value : "0.0001293468" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!RN&!SETN" ;
      value : "0.0001332738" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!RN&SETN" ;
      value : "0.0001288914" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&RN&!SETN" ;
      value : "0.0001263372" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&RN&SETN" ;
      value : "0.0001763355" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!RN&!SETN" ;
      value : "0.0001335312" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!RN&SETN" ;
      value : "0.0001455465" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&RN&!SETN" ;
      value : "0.0001265946" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&RN&SETN" ;
      value : "0.0001431771" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001763355" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.003026 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01128, 0.01138, 0.01156, 0.01178, 0.01194, 0.01205, 0.01211, \
                 0.01216, 0.01219, 0.0122");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008153, -0.008135, -0.008151, -0.008198, -0.008228, -0.00826, \
                 -0.008278, -0.008281, -0.008293, -0.008292");
        }
      }

      internal_power() {
        when : "!E&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01128, 0.01138, 0.01156, 0.01177, 0.01194, 0.01205, 0.01211, \
                 0.01215, 0.01219, 0.0122");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008152, -0.008135, -0.008151, -0.008197, -0.00823, -0.008263, \
                 -0.008278, -0.008279, -0.008293, -0.00829");
        }
      }

      internal_power() {
        when : "!E&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008359, 0.008366, 0.00836, 0.008343, 0.008357, 0.00838, 0.008373, \
                 0.008365, 0.008366, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006995, -0.007605, -0.008127, -0.008202, -0.008215, -0.008259, \
                 -0.008274, -0.008278, -0.008286, -0.008292");
        }
      }

      internal_power() {
        when : "!E&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009005, 0.009003, 0.00899, 0.008997, 0.009001, 0.009, 0.009018, \
                 0.009012, 0.009012, 0.009019");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008135, -0.008133, -0.008152, -0.008202, -0.00822, -0.008241, \
                 -0.008275, -0.008286, -0.008289, -0.008296");
        }
      }

      internal_power() {
        when : "E&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009225, 0.009217, 0.009207, 0.009207, 0.0092, 0.009202, 0.009196, \
                 0.009198, 0.009203, 0.009174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006873, -0.006879, -0.006875, -0.006875, -0.006879, -0.006911, \
                 -0.006919, -0.00693, -0.006943, -0.006969");
        }
      }

      internal_power() {
        when : "E&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009225, 0.009208, 0.009217, 0.009203, 0.009198, 0.0092, 0.009194, \
                 0.009199, 0.009201, 0.009182");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006872, -0.006879, -0.006874, -0.00688, -0.006882, -0.006912, \
                 -0.006916, -0.006932, -0.00695, -0.006974");
        }
      }

      internal_power() {
        when : "E&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08462, 0.08435, 0.08384, 0.08539, 0.09082, 0.101, 0.1164, 0.1369, \
                 0.1629, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02068, 0.02022, 0.01993, 0.02129, 0.0256, 0.03375, 0.04627, \
                 0.06353, 0.08567, 0.1129");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.578, -0.559, -0.508, -0.428, -0.34, -0.24, -0.128, -0.005, 0.146, 0.314",\
                 "-0.596, -0.573, -0.522, -0.447, -0.355, -0.254, -0.142, -0.02, 0.129, 0.303",\
                 "-0.629, -0.616, -0.559, -0.482, -0.391, -0.291, -0.178, -0.05, 0.098, 0.273",\
                 "-0.707, -0.691, -0.636, -0.558, -0.47, -0.365, -0.244, -0.118, 0.041, 0.216",\
                 "-0.843, -0.826, -0.773, -0.696, -0.598, -0.486, -0.367, -0.232, -0.069, 0.112",\
                 "-1.027, -1.008, -0.947, -0.87, -0.775, -0.658, -0.53, -0.382, -0.227, -0.039",\
                 "-1.246, -1.23, -1.163, -1.084, -0.994, -0.871, -0.735, -0.579, -0.423, -0.231",\
                 "-1.505, -1.485, -1.417, -1.337, -1.249, -1.126, -0.973, -0.824, -0.652, -0.462",\
                 "-1.786, -1.767, -1.703, -1.622, -1.53, -1.408, -1.256, -1.09, -0.911, -0.713",\
                 "-2.11, -2.085, -2.015, -1.938, -1.846, -1.726, -1.56, -1.381, -1.197, -0.992");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.561, -0.553, -0.54, -0.565, -0.653, -0.752, -0.828, -0.873, -0.888, -0.862",\
                 "-0.562, -0.557, -0.545, -0.573, -0.664, -0.755, -0.827, -0.88, -0.891, -0.866",\
                 "-0.586, -0.58, -0.566, -0.598, -0.678, -0.763, -0.83, -0.882, -0.895, -0.864",\
                 "-0.635, -0.623, -0.613, -0.643, -0.707, -0.782, -0.843, -0.887, -0.894, -0.87",\
                 "-0.695, -0.687, -0.669, -0.685, -0.74, -0.802, -0.859, -0.906, -0.92, -0.895",\
                 "-0.739, -0.731, -0.717, -0.724, -0.766, -0.826, -0.887, -0.937, -0.966, -0.951",\
                 "-0.774, -0.767, -0.746, -0.755, -0.793, -0.85, -0.912, -0.969, -1.019, -1.03",\
                 "-0.785, -0.78, -0.764, -0.763, -0.804, -0.865, -0.944, -1.019, -1.077, -1.108",\
                 "-0.776, -0.764, -0.751, -0.757, -0.792, -0.863, -0.955, -1.05, -1.136, -1.199",\
                 "-0.736, -0.728, -0.718, -0.718, -0.754, -0.834, -0.939, -1.054, -1.17, -1.274");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.67, 0.655, 0.594, 0.52, 0.437, 0.355, 0.288, 0.241, 0.211, 0.186",\
                 "0.685, 0.667, 0.604, 0.534, 0.455, 0.366, 0.304, 0.253, 0.224, 0.195",\
                 "0.721, 0.698, 0.646, 0.57, 0.488, 0.4, 0.332, 0.274, 0.233, 0.189",\
                 "0.799, 0.777, 0.717, 0.651, 0.565, 0.468, 0.384, 0.306, 0.23, 0.16",\
                 "0.926, 0.911, 0.852, 0.781, 0.693, 0.583, 0.482, 0.38, 0.277, 0.157",\
                 "1.107, 1.09, 1.03, 0.951, 0.863, 0.739, 0.618, 0.5, 0.368, 0.227",\
                 "1.322, 1.307, 1.235, 1.155, 1.068, 0.945, 0.807, 0.676, 0.523, 0.36",\
                 "1.576, 1.556, 1.479, 1.405, 1.316, 1.193, 1.041, 0.887, 0.726, 0.55",\
                 "1.858, 1.831, 1.76, 1.684, 1.597, 1.471, 1.309, 1.137, 0.964, 0.776",\
                 "2.173, 2.148, 2.075, 1.989, 1.905, 1.778, 1.61, 1.421, 1.233, 1.029");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.67, 0.662, 0.653, 0.692, 0.883, 1.235, 1.73, 2.36, 3.149, 4.075",\
                 "0.678, 0.667, 0.658, 0.698, 0.895, 1.238, 1.727, 2.36, 3.146, 4.078",\
                 "0.694, 0.686, 0.677, 0.721, 0.914, 1.248, 1.718, 2.331, 3.095, 3.996",\
                 "0.744, 0.729, 0.723, 0.766, 0.94, 1.25, 1.682, 2.25, 2.956, 3.803",\
                 "0.798, 0.788, 0.782, 0.812, 0.955, 1.24, 1.626, 2.143, 2.794, 3.565",\
                 "0.842, 0.836, 0.826, 0.856, 0.977, 1.22, 1.581, 2.066, 2.663, 3.389",\
                 "0.875, 0.87, 0.864, 0.885, 0.988, 1.207, 1.55, 2.004, 2.573, 3.271",\
                 "0.892, 0.887, 0.876, 0.897, 0.99, 1.202, 1.529, 1.974, 2.542, 3.23",\
                 "0.879, 0.875, 0.875, 0.888, 0.972, 1.162, 1.48, 1.927, 2.505, 3.208",\
                 "0.845, 0.838, 0.836, 0.854, 0.928, 1.106, 1.417, 1.868, 2.458, 3.178");
        }
      }
    }

    pin(E) {
      capacitance : 0.007228 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.744 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06793, 0.06729, 0.06892, 0.07555, 0.08823, 0.1076, 0.1341, 0.1682, \
                 0.2104, 0.2611");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004311, 0.003834, 0.004667, 0.009853, 0.02072, 0.03769, 0.06133, \
                 0.09182, 0.1296, 0.1751");
        }
      }

      internal_power() {
        when : "!D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0645, 0.06381, 0.06549, 0.07212, 0.08483, 0.1041, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00384, 0.003352, 0.004191, 0.009445, 0.02038, 0.03735, 0.06097, \
                 0.09148, 0.1293, 0.1747");
        }
      }

      internal_power() {
        when : "!D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09311, 0.09252, 0.09452, 0.1017, 0.115, 0.135, 0.1623, 0.1972, \
                 0.2405, 0.2926");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07325, 0.07282, 0.0735, 0.07842, 0.08917, 0.1062, 0.1302, 0.1613, \
                 0.2, 0.247");
        }
      }

      internal_power() {
        when : "!D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0645, 0.06379, 0.06547, 0.07211, 0.08484, 0.1041, 0.1307, 0.1648, \
                 0.2071, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0008732, 0.0003748, 0.001237, 0.006447, 0.01734, 0.03441, 0.05803, \
                 0.08852, 0.1264, 0.1718");
        }
      }

      internal_power() {
        when : "D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06811, 0.06746, 0.0691, 0.07569, 0.08835, 0.1077, 0.1342, 0.1683, \
                 0.2105, 0.2613");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01235, 0.01184, 0.01268, 0.01786, 0.02871, 0.04568, 0.0693, \
                 0.09979, 0.1376, 0.183");
        }
      }

      internal_power() {
        when : "D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0647, 0.064, 0.06568, 0.07227, 0.08504, 0.1043, 0.1308, 0.165, \
                 0.2072, 0.2579");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01187, 0.01137, 0.01224, 0.01748, 0.02838, 0.04535, 0.06897, \
                 0.09947, 0.1373, 0.1827");
        }
      }

      internal_power() {
        when : "D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06456, 0.06381, 0.06561, 0.07238, 0.08519, 0.1048, 0.1313, 0.1655, \
                 0.2078, 0.2586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003165, 0.002678, 0.003486, 0.008618, 0.01939, 0.03631, 0.05983, \
                 0.09031, 0.1281, 0.1735");
        }
      }

      internal_power() {
        when : "D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06455, 0.06381, 0.06561, 0.07239, 0.0852, 0.1047, 0.1313, 0.1655, \
                 0.2078, 0.2586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0006891, 0.0001813, 0.0009874, 0.006152, 0.01693, 0.03387, 0.0574, \
                 0.08786, 0.1256, 0.1711");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SETN" ;

        rise_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SETN" ;

        rise_constraint(scalar) {
          values("0.608");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ2" ;
      max_capacitance : 0.7214 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E&RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2452, 0.2427, 0.241, 0.2407, 0.2405, 0.2405, 0.2405, 0.2405, 0.2405, 0.2405",\
                 "0.2448, 0.2424, 0.2406, 0.24, 0.2403, 0.2401, 0.2403, 0.2401, 0.2402, 0.2402",\
                 "0.2444, 0.2419, 0.2401, 0.2397, 0.2396, 0.2396, 0.2398, 0.2397, 0.2397, 0.2397",\
                 "0.246, 0.2436, 0.2418, 0.2414, 0.2413, 0.2413, 0.2414, 0.2414, 0.2414, 0.2414",\
                 "0.2523, 0.25, 0.2481, 0.2477, 0.2477, 0.2477, 0.2478, 0.2477, 0.2478, 0.2478",\
                 "0.2643, 0.2617, 0.2599, 0.2595, 0.2595, 0.2594, 0.2595, 0.2594, 0.2595, 0.2595",\
                 "0.2821, 0.2796, 0.2778, 0.2772, 0.2773, 0.2773, 0.2771, 0.2772, 0.2773, 0.2773",\
                 "0.3062, 0.3037, 0.3015, 0.3013, 0.301, 0.3012, 0.3012, 0.3011, 0.3011, 0.3012",\
                 "0.336, 0.3337, 0.3315, 0.331, 0.3308, 0.3308, 0.3308, 0.3308, 0.3308, 0.3308",\
                 "0.3723, 0.3697, 0.3676, 0.3667, 0.3668, 0.3668, 0.3668, 0.3669, 0.3669, 0.3667");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2045, 0.203, 0.2018, 0.2023, 0.2035, 0.2048, 0.2063, 0.2074, 0.2091, 0.218",\
                 "0.2038, 0.2024, 0.2016, 0.2023, 0.2034, 0.2046, 0.2061, 0.207, 0.2095, 0.2171",\
                 "0.2036, 0.2021, 0.2011, 0.2017, 0.2028, 0.2044, 0.2058, 0.2064, 0.2088, 0.2174",\
                 "0.2053, 0.2038, 0.2028, 0.2037, 0.205, 0.2067, 0.2071, 0.2084, 0.2105, 0.2203",\
                 "0.2107, 0.2092, 0.208, 0.2086, 0.2095, 0.2111, 0.2128, 0.2133, 0.2161, 0.2269",\
                 "0.2205, 0.2191, 0.2179, 0.2189, 0.2196, 0.2211, 0.2227, 0.2245, 0.2251, 0.2388",\
                 "0.2353, 0.2338, 0.2329, 0.2324, 0.2346, 0.236, 0.2377, 0.2387, 0.2403, 0.2571",\
                 "0.2557, 0.2543, 0.2528, 0.2537, 0.2544, 0.2566, 0.2588, 0.2601, 0.2616, 0.2837",\
                 "0.2815, 0.2798, 0.2783, 0.279, 0.2796, 0.2804, 0.2829, 0.2872, 0.2908, 0.3201",\
                 "0.3127, 0.3111, 0.3094, 0.3097, 0.3109, 0.3107, 0.3126, 0.3158, 0.3245, 0.3718");
        }
      }

      internal_power() {
        related_pin : "E" ;
        when : "RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2342, 0.2318, 0.2299, 0.2294, 0.2295, 0.2296, 0.2296, 0.2296, 0.2296, 0.2296",\
                 "0.2343, 0.2318, 0.2301, 0.2296, 0.2295, 0.2297, 0.2297, 0.2296, 0.2297, 0.2297",\
                 "0.2342, 0.2317, 0.2299, 0.2294, 0.2294, 0.2295, 0.2295, 0.2295, 0.2295, 0.2295",\
                 "0.2339, 0.2314, 0.2296, 0.2291, 0.2291, 0.2292, 0.2292, 0.2292, 0.2292, 0.2292",\
                 "0.2333, 0.231, 0.2292, 0.2287, 0.2287, 0.2287, 0.2287, 0.2288, 0.2288, 0.2288",\
                 "0.2332, 0.2307, 0.2291, 0.2286, 0.2285, 0.2285, 0.2284, 0.2285, 0.2285, 0.2285",\
                 "0.2336, 0.2312, 0.2293, 0.2287, 0.2289, 0.2288, 0.2288, 0.2289, 0.2289, 0.2289",\
                 "0.2342, 0.2317, 0.23, 0.2296, 0.2295, 0.2294, 0.2295, 0.2295, 0.2295, 0.2295",\
                 "0.2351, 0.2326, 0.2307, 0.2304, 0.2303, 0.2304, 0.2303, 0.2303, 0.2303, 0.2304",\
                 "0.2362, 0.2338, 0.232, 0.2314, 0.2316, 0.2315, 0.2315, 0.2316, 0.2316, 0.2316");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2065, 0.2051, 0.2039, 0.2043, 0.2055, 0.2068, 0.2085, 0.2093, 0.2114, 0.2193",\
                 "0.2068, 0.2054, 0.2044, 0.2048, 0.2057, 0.2072, 0.2088, 0.2102, 0.2126, 0.2188",\
                 "0.2071, 0.2058, 0.2048, 0.2054, 0.2063, 0.2076, 0.209, 0.2104, 0.2122, 0.2202",\
                 "0.2094, 0.2081, 0.2069, 0.2078, 0.2084, 0.2102, 0.2113, 0.2131, 0.2146, 0.2237",\
                 "0.215, 0.2136, 0.2124, 0.2129, 0.2142, 0.2156, 0.2169, 0.2185, 0.2193, 0.2311",\
                 "0.2243, 0.223, 0.2217, 0.2228, 0.2236, 0.2249, 0.226, 0.228, 0.2288, 0.2427",\
                 "0.2389, 0.2375, 0.2359, 0.2363, 0.2381, 0.2399, 0.2407, 0.242, 0.2443, 0.2604",\
                 "0.2563, 0.2547, 0.2538, 0.2539, 0.2545, 0.2566, 0.2591, 0.26, 0.2618, 0.284",\
                 "0.2753, 0.2739, 0.272, 0.2728, 0.2726, 0.2742, 0.2764, 0.2807, 0.2833, 0.3139",\
                 "0.2959, 0.2943, 0.2928, 0.2928, 0.2932, 0.2947, 0.2963, 0.2988, 0.3088, 0.3556");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!D&!E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2327, 0.2306, 0.2288, 0.2284, 0.2284, 0.2285, 0.2285, 0.2285, 0.2285, 0.2285",\
                 "0.2328, 0.2305, 0.2288, 0.2285, 0.2285, 0.2285, 0.2287, 0.2287, 0.2286, 0.2286",\
                 "0.2333, 0.2311, 0.2293, 0.2289, 0.2289, 0.2289, 0.2291, 0.229, 0.229, 0.229",\
                 "0.2366, 0.2344, 0.2326, 0.2323, 0.2323, 0.2324, 0.2324, 0.2324, 0.2324, 0.2324",\
                 "0.2452, 0.2429, 0.2411, 0.2408, 0.241, 0.2409, 0.241, 0.241, 0.2409, 0.241",\
                 "0.2597, 0.2574, 0.2556, 0.2551, 0.2551, 0.2551, 0.2553, 0.2553, 0.2553, 0.2553",\
                 "0.2795, 0.2771, 0.2755, 0.2751, 0.275, 0.2751, 0.2749, 0.2749, 0.275, 0.2751",\
                 "0.3044, 0.302, 0.3003, 0.2998, 0.2997, 0.2999, 0.2999, 0.2998, 0.3, 0.3",\
                 "0.334, 0.3314, 0.3295, 0.3292, 0.3293, 0.3292, 0.3292, 0.3292, 0.3293, 0.3293",\
                 "0.367, 0.3645, 0.3628, 0.3622, 0.3621, 0.3621, 0.3622, 0.3622, 0.3622, 0.3623");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2327, 0.2306, 0.2288, 0.2284, 0.2284, 0.2285, 0.2285, 0.2285, 0.2285, 0.2285",\
                 "0.2328, 0.2305, 0.2288, 0.2285, 0.2285, 0.2285, 0.2287, 0.2287, 0.2286, 0.2286",\
                 "0.2333, 0.2311, 0.2293, 0.2289, 0.2289, 0.2289, 0.2291, 0.229, 0.229, 0.229",\
                 "0.2366, 0.2344, 0.2326, 0.2323, 0.2323, 0.2324, 0.2324, 0.2324, 0.2324, 0.2324",\
                 "0.2452, 0.2429, 0.2411, 0.2408, 0.241, 0.2409, 0.241, 0.241, 0.2409, 0.241",\
                 "0.2597, 0.2574, 0.2556, 0.2551, 0.2551, 0.2551, 0.2553, 0.2553, 0.2553, 0.2553",\
                 "0.2795, 0.2771, 0.2755, 0.2751, 0.275, 0.2751, 0.2749, 0.2749, 0.275, 0.2751",\
                 "0.3044, 0.302, 0.3003, 0.2998, 0.2997, 0.2999, 0.2999, 0.2998, 0.3, 0.3",\
                 "0.334, 0.3314, 0.3295, 0.3292, 0.3293, 0.3292, 0.3292, 0.3292, 0.3293, 0.3293",\
                 "0.367, 0.3645, 0.3628, 0.3622, 0.3621, 0.3621, 0.3622, 0.3622, 0.3622, 0.3623");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&!E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2328, 0.2306, 0.2287, 0.2284, 0.2284, 0.2284, 0.2285, 0.2285, 0.2285, 0.2285",\
                 "0.2328, 0.2306, 0.2289, 0.2284, 0.2285, 0.2285, 0.2286, 0.2286, 0.2286, 0.2286",\
                 "0.2332, 0.231, 0.2292, 0.2288, 0.2289, 0.2289, 0.229, 0.2289, 0.229, 0.229",\
                 "0.2366, 0.2343, 0.2326, 0.2323, 0.2322, 0.2322, 0.2322, 0.2323, 0.2323, 0.2323",\
                 "0.245, 0.2427, 0.2411, 0.2408, 0.2406, 0.2409, 0.2409, 0.2409, 0.2409, 0.2409",\
                 "0.2594, 0.2572, 0.2555, 0.2551, 0.2551, 0.2549, 0.255, 0.255, 0.255, 0.2551",\
                 "0.2794, 0.277, 0.2753, 0.2747, 0.2747, 0.2747, 0.2749, 0.2749, 0.2749, 0.275",\
                 "0.3043, 0.3019, 0.3, 0.2994, 0.2996, 0.2998, 0.2997, 0.2996, 0.2996, 0.2996",\
                 "0.3337, 0.3313, 0.3293, 0.329, 0.3288, 0.3288, 0.329, 0.3291, 0.329, 0.329",\
                 "0.3668, 0.3644, 0.3626, 0.3619, 0.3619, 0.3618, 0.3618, 0.3619, 0.3619, 0.3619");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2328, 0.2306, 0.2287, 0.2284, 0.2284, 0.2284, 0.2285, 0.2285, 0.2285, 0.2285",\
                 "0.2328, 0.2306, 0.2289, 0.2284, 0.2285, 0.2285, 0.2286, 0.2286, 0.2286, 0.2286",\
                 "0.2332, 0.231, 0.2292, 0.2288, 0.2289, 0.2289, 0.229, 0.2289, 0.229, 0.229",\
                 "0.2366, 0.2343, 0.2326, 0.2323, 0.2322, 0.2322, 0.2322, 0.2323, 0.2323, 0.2323",\
                 "0.245, 0.2427, 0.2411, 0.2408, 0.2406, 0.2409, 0.2409, 0.2409, 0.2409, 0.2409",\
                 "0.2594, 0.2572, 0.2555, 0.2551, 0.2551, 0.2549, 0.255, 0.255, 0.255, 0.2551",\
                 "0.2794, 0.277, 0.2753, 0.2747, 0.2747, 0.2747, 0.2749, 0.2749, 0.2749, 0.275",\
                 "0.3043, 0.3019, 0.3, 0.2994, 0.2996, 0.2998, 0.2997, 0.2996, 0.2996, 0.2996",\
                 "0.3337, 0.3313, 0.3293, 0.329, 0.3288, 0.3288, 0.329, 0.3291, 0.329, 0.329",\
                 "0.3668, 0.3644, 0.3626, 0.3619, 0.3619, 0.3618, 0.3618, 0.3619, 0.3619, 0.3619");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2549, 0.2525, 0.2508, 0.2504, 0.2505, 0.2503, 0.2504, 0.2504, 0.2504, 0.2504",\
                 "0.2536, 0.2513, 0.2495, 0.2491, 0.249, 0.2491, 0.2491, 0.2491, 0.2491, 0.2491",\
                 "0.2533, 0.251, 0.2493, 0.2489, 0.249, 0.2489, 0.249, 0.249, 0.249, 0.249",\
                 "0.2567, 0.2542, 0.2525, 0.2521, 0.2521, 0.2522, 0.2522, 0.2522, 0.2522, 0.2522",\
                 "0.2648, 0.2624, 0.2606, 0.2602, 0.2602, 0.2602, 0.2603, 0.2604, 0.2604, 0.2604",\
                 "0.277, 0.2747, 0.2727, 0.2725, 0.2725, 0.2725, 0.2725, 0.2725, 0.2725, 0.2725",\
                 "0.2977, 0.2953, 0.2936, 0.2929, 0.2929, 0.293, 0.2931, 0.2931, 0.2931, 0.2931",\
                 "0.3257, 0.3232, 0.3211, 0.3204, 0.3206, 0.3207, 0.3207, 0.3207, 0.3207, 0.3208",\
                 "0.3606, 0.3581, 0.3561, 0.3554, 0.3556, 0.3555, 0.3554, 0.3554, 0.3554, 0.3554",\
                 "0.4028, 0.4001, 0.398, 0.3973, 0.3974, 0.3972, 0.3972, 0.3973, 0.3973, 0.3973");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2047, 0.2035, 0.2027, 0.2028, 0.2037, 0.2054, 0.2068, 0.2084, 0.2102, 0.2178",\
                 "0.2046, 0.2032, 0.2023, 0.2029, 0.2042, 0.2052, 0.2066, 0.208, 0.2098, 0.2175",\
                 "0.204, 0.2027, 0.2018, 0.2021, 0.203, 0.2048, 0.2061, 0.2071, 0.2095, 0.2174",\
                 "0.2058, 0.2042, 0.2033, 0.2039, 0.2047, 0.2072, 0.2081, 0.2097, 0.2108, 0.2197",\
                 "0.2116, 0.2102, 0.209, 0.2094, 0.2107, 0.212, 0.2132, 0.215, 0.2158, 0.2275",\
                 "0.2222, 0.2209, 0.2194, 0.2206, 0.2214, 0.2231, 0.2242, 0.2262, 0.2277, 0.2421",\
                 "0.2391, 0.2377, 0.2361, 0.2364, 0.2384, 0.2405, 0.2409, 0.2423, 0.2443, 0.2619",\
                 "0.2618, 0.2604, 0.2591, 0.2594, 0.2605, 0.2627, 0.2653, 0.2664, 0.2671, 0.2883",\
                 "0.2908, 0.2893, 0.2879, 0.2886, 0.2886, 0.2897, 0.2922, 0.2958, 0.2977, 0.3275",\
                 "0.3259, 0.3245, 0.3231, 0.3232, 0.324, 0.3246, 0.3259, 0.3287, 0.3359, 0.3817");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&!E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1452, 0.1429, 0.1413, 0.1411, 0.1413, 0.1411, 0.1412, 0.1411, 0.1411, 0.1412",\
                 "0.1447, 0.1424, 0.1409, 0.1406, 0.1406, 0.1406, 0.1406, 0.1406, 0.1406, 0.1406",\
                 "0.145, 0.1428, 0.1409, 0.1408, 0.1408, 0.1409, 0.141, 0.1409, 0.141, 0.141",\
                 "0.1502, 0.1479, 0.1462, 0.1458, 0.1457, 0.1457, 0.1459, 0.146, 0.146, 0.146",\
                 "0.1613, 0.1588, 0.1569, 0.1561, 0.1562, 0.1563, 0.1563, 0.1563, 0.1563, 0.1563",\
                 "0.179, 0.1763, 0.1739, 0.1731, 0.1731, 0.1731, 0.1732, 0.1732, 0.1732, 0.1732",\
                 "0.204, 0.2009, 0.198, 0.1973, 0.1969, 0.197, 0.197, 0.1969, 0.1969, 0.1969",\
                 "0.2362, 0.2328, 0.2296, 0.2283, 0.2279, 0.2279, 0.2277, 0.2276, 0.2276, 0.2276",\
                 "0.2758, 0.2719, 0.2682, 0.2666, 0.266, 0.2657, 0.2657, 0.2656, 0.2656, 0.2656",\
                 "0.3232, 0.319, 0.3146, 0.3127, 0.312, 0.3118, 0.3116, 0.3114, 0.3113, 0.3113");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1762, 0.1753, 0.1753, 0.1767, 0.1777, 0.1794, 0.1807, 0.1817, 0.1838, 0.1907",\
                 "0.1757, 0.1751, 0.175, 0.1761, 0.1774, 0.1791, 0.1802, 0.1814, 0.1828, 0.1897",\
                 "0.1763, 0.1754, 0.1754, 0.1765, 0.1778, 0.1792, 0.1807, 0.1823, 0.1831, 0.1907",\
                 "0.1822, 0.1813, 0.1808, 0.1819, 0.1833, 0.1847, 0.1861, 0.187, 0.1887, 0.1972",\
                 "0.1953, 0.1938, 0.1932, 0.1939, 0.1952, 0.1967, 0.198, 0.1995, 0.2013, 0.2104",\
                 "0.2155, 0.214, 0.2127, 0.2131, 0.2143, 0.2154, 0.2169, 0.218, 0.2201, 0.2323",\
                 "0.2439, 0.242, 0.2398, 0.2394, 0.2413, 0.243, 0.244, 0.245, 0.2469, 0.263",\
                 "0.2802, 0.278, 0.2757, 0.2744, 0.2747, 0.2765, 0.279, 0.2803, 0.2814, 0.3041",\
                 "0.3249, 0.3224, 0.3194, 0.3178, 0.3178, 0.3187, 0.3209, 0.3248, 0.3272, 0.3606",\
                 "0.378, 0.375, 0.3709, 0.3696, 0.369, 0.3689, 0.3704, 0.3745, 0.3825, 0.4388");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&!E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2022, 0.2012, 0.2011, 0.2026, 0.2043, 0.2053, 0.2063, 0.2075, 0.2092, 0.2169",\
                 "0.202, 0.2011, 0.2009, 0.2024, 0.2037, 0.2048, 0.2062, 0.2068, 0.2086, 0.2159",\
                 "0.2022, 0.2014, 0.2011, 0.2026, 0.204, 0.2053, 0.2066, 0.2079, 0.2093, 0.2169",\
                 "0.2085, 0.2075, 0.2069, 0.2082, 0.2095, 0.2109, 0.2124, 0.2132, 0.2143, 0.2231",\
                 "0.2222, 0.2207, 0.2203, 0.221, 0.2219, 0.2236, 0.2246, 0.2257, 0.2278, 0.2383",\
                 "0.2436, 0.242, 0.2405, 0.2411, 0.2425, 0.2433, 0.2447, 0.2461, 0.248, 0.2601",\
                 "0.2736, 0.2718, 0.2697, 0.2695, 0.2706, 0.2726, 0.2735, 0.2744, 0.2764, 0.2926",\
                 "0.3084, 0.3063, 0.3035, 0.3023, 0.3026, 0.3046, 0.3069, 0.3081, 0.3095, 0.3325",\
                 "0.3464, 0.3439, 0.3405, 0.339, 0.3391, 0.3394, 0.3425, 0.3451, 0.3484, 0.383",\
                 "0.3878, 0.3849, 0.381, 0.3796, 0.3789, 0.3791, 0.3804, 0.3845, 0.3925, 0.4501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2022, 0.2012, 0.2011, 0.2026, 0.2043, 0.2053, 0.2063, 0.2075, 0.2092, 0.2169",\
                 "0.202, 0.2011, 0.2009, 0.2024, 0.2037, 0.2048, 0.2062, 0.2068, 0.2086, 0.2159",\
                 "0.2022, 0.2014, 0.2011, 0.2026, 0.204, 0.2053, 0.2066, 0.2079, 0.2093, 0.2169",\
                 "0.2085, 0.2075, 0.2069, 0.2082, 0.2095, 0.2109, 0.2124, 0.2132, 0.2143, 0.2231",\
                 "0.2222, 0.2207, 0.2203, 0.221, 0.2219, 0.2236, 0.2246, 0.2257, 0.2278, 0.2383",\
                 "0.2436, 0.242, 0.2405, 0.2411, 0.2425, 0.2433, 0.2447, 0.2461, 0.248, 0.2601",\
                 "0.2736, 0.2718, 0.2697, 0.2695, 0.2706, 0.2726, 0.2735, 0.2744, 0.2764, 0.2926",\
                 "0.3084, 0.3063, 0.3035, 0.3023, 0.3026, 0.3046, 0.3069, 0.3081, 0.3095, 0.3325",\
                 "0.3464, 0.3439, 0.3405, 0.339, 0.3391, 0.3394, 0.3425, 0.3451, 0.3484, 0.383",\
                 "0.3878, 0.3849, 0.381, 0.3796, 0.3789, 0.3791, 0.3804, 0.3845, 0.3925, 0.4501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1479, 0.1457, 0.144, 0.1437, 0.1436, 0.1438, 0.1438, 0.1437, 0.1438, 0.1438",\
                 "0.1475, 0.1453, 0.1434, 0.1432, 0.1432, 0.1432, 0.1433, 0.1433, 0.1433, 0.1433",\
                 "0.1477, 0.1455, 0.1436, 0.1434, 0.1434, 0.1434, 0.1435, 0.1435, 0.1435, 0.1436",\
                 "0.1531, 0.1507, 0.1489, 0.1485, 0.1485, 0.1485, 0.1485, 0.1486, 0.1486, 0.1486",\
                 "0.1642, 0.1617, 0.1596, 0.1593, 0.1589, 0.159, 0.1589, 0.1589, 0.159, 0.159",\
                 "0.1819, 0.1791, 0.1767, 0.1759, 0.1758, 0.1758, 0.1758, 0.1759, 0.1759, 0.176",\
                 "0.207, 0.2037, 0.2011, 0.2, 0.1998, 0.1997, 0.1998, 0.1997, 0.1997, 0.1997",\
                 "0.2393, 0.2358, 0.2323, 0.2312, 0.2307, 0.2308, 0.2305, 0.2306, 0.2306, 0.2305",\
                 "0.279, 0.2753, 0.2712, 0.2699, 0.2691, 0.2688, 0.2689, 0.2687, 0.2688, 0.2688",\
                 "0.3265, 0.3223, 0.3178, 0.3161, 0.3149, 0.3147, 0.3145, 0.3146, 0.3145, 0.3145");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1764, 0.1755, 0.1755, 0.1767, 0.1781, 0.1796, 0.181, 0.1821, 0.1839, 0.1918",\
                 "0.1761, 0.1752, 0.175, 0.1763, 0.1776, 0.1794, 0.1805, 0.1821, 0.1835, 0.1925",\
                 "0.1765, 0.1754, 0.1755, 0.1768, 0.1781, 0.1795, 0.1809, 0.1824, 0.1839, 0.1908",\
                 "0.1824, 0.1815, 0.181, 0.1821, 0.1832, 0.185, 0.1863, 0.188, 0.1892, 0.1998",\
                 "0.1953, 0.1942, 0.1935, 0.1945, 0.1951, 0.1966, 0.198, 0.1996, 0.2017, 0.2112",\
                 "0.2156, 0.2143, 0.2129, 0.2136, 0.2147, 0.2161, 0.2173, 0.2184, 0.2206, 0.2347",\
                 "0.2441, 0.2424, 0.2405, 0.2399, 0.2413, 0.243, 0.2445, 0.2447, 0.2467, 0.2629",\
                 "0.2805, 0.2782, 0.2755, 0.2749, 0.2748, 0.2765, 0.2795, 0.2804, 0.2815, 0.3042",\
                 "0.3251, 0.3228, 0.319, 0.3177, 0.318, 0.3183, 0.3217, 0.3246, 0.3276, 0.3608",\
                 "0.3783, 0.3755, 0.3719, 0.3698, 0.3694, 0.3695, 0.3705, 0.375, 0.3829, 0.4401");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1446, 0.1423, 0.1407, 0.1403, 0.1404, 0.1404, 0.1405, 0.1405, 0.1405, 0.1406",\
                 "0.1441, 0.142, 0.1404, 0.1399, 0.1398, 0.14, 0.14, 0.14, 0.1401, 0.1401",\
                 "0.1444, 0.1422, 0.1405, 0.1401, 0.1401, 0.1402, 0.1402, 0.1404, 0.1403, 0.1404",\
                 "0.1496, 0.1473, 0.1456, 0.1451, 0.1451, 0.1451, 0.1452, 0.1452, 0.1452, 0.1453",\
                 "0.1606, 0.1581, 0.1563, 0.1554, 0.1555, 0.1555, 0.1555, 0.1556, 0.1555, 0.1556",\
                 "0.1782, 0.1755, 0.1732, 0.1726, 0.1724, 0.1724, 0.1723, 0.1723, 0.1723, 0.1723",\
                 "0.2031, 0.1999, 0.197, 0.1963, 0.196, 0.196, 0.196, 0.196, 0.196, 0.196",\
                 "0.2352, 0.2317, 0.2284, 0.2272, 0.2267, 0.2266, 0.2265, 0.2266, 0.2266, 0.2266",\
                 "0.2751, 0.2711, 0.2675, 0.2658, 0.2652, 0.265, 0.2648, 0.2648, 0.2649, 0.2648",\
                 "0.3222, 0.3181, 0.3134, 0.3119, 0.3111, 0.3107, 0.3105, 0.3105, 0.3104, 0.3104");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1789, 0.1779, 0.1778, 0.1791, 0.1804, 0.1818, 0.1832, 0.1847, 0.1865, 0.1931",\
                 "0.1787, 0.1775, 0.1777, 0.1789, 0.1801, 0.1815, 0.183, 0.1844, 0.1859, 0.1945",\
                 "0.1788, 0.178, 0.1779, 0.1792, 0.1805, 0.1822, 0.1832, 0.1847, 0.1862, 0.1938",\
                 "0.1849, 0.1839, 0.1835, 0.1845, 0.1857, 0.1873, 0.1887, 0.1897, 0.1925, 0.2021",\
                 "0.1979, 0.1967, 0.1963, 0.1965, 0.1978, 0.199, 0.2005, 0.2022, 0.204, 0.2148",\
                 "0.2183, 0.2165, 0.2147, 0.2157, 0.2171, 0.2183, 0.2195, 0.2214, 0.2225, 0.2364",\
                 "0.2468, 0.245, 0.2421, 0.2423, 0.2437, 0.2458, 0.2467, 0.2477, 0.2493, 0.2669",\
                 "0.2833, 0.281, 0.278, 0.2776, 0.2776, 0.2791, 0.2821, 0.2833, 0.2844, 0.3079",\
                 "0.3279, 0.3255, 0.3217, 0.3207, 0.3204, 0.3209, 0.324, 0.3266, 0.3302, 0.3636",\
                 "0.3811, 0.3784, 0.3738, 0.3721, 0.3719, 0.3723, 0.3728, 0.3773, 0.3849, 0.4438");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&!E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1452, 0.1429, 0.1413, 0.141, 0.141, 0.141, 0.1411, 0.1411, 0.1411, 0.1411",\
                 "0.1447, 0.1426, 0.1409, 0.1406, 0.1406, 0.1406, 0.1406, 0.1406, 0.1406, 0.1406",\
                 "0.145, 0.1428, 0.141, 0.1408, 0.1408, 0.1409, 0.141, 0.1409, 0.1409, 0.1409",\
                 "0.1502, 0.1479, 0.1462, 0.1458, 0.1457, 0.1457, 0.1459, 0.146, 0.146, 0.146",\
                 "0.1613, 0.1587, 0.1566, 0.1565, 0.1562, 0.1563, 0.1563, 0.1563, 0.1563, 0.1563",\
                 "0.1789, 0.1763, 0.1739, 0.1731, 0.1731, 0.1731, 0.1732, 0.1732, 0.1732, 0.1732",\
                 "0.2039, 0.201, 0.198, 0.1973, 0.1969, 0.197, 0.197, 0.1969, 0.197, 0.1969",\
                 "0.236, 0.2327, 0.2293, 0.2282, 0.2279, 0.2278, 0.2275, 0.2276, 0.2276, 0.2276",\
                 "0.2756, 0.2721, 0.2682, 0.2668, 0.2662, 0.2658, 0.2657, 0.2656, 0.2656, 0.2656",\
                 "0.3232, 0.3191, 0.3146, 0.3127, 0.312, 0.3118, 0.3116, 0.3114, 0.3113, 0.3113");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1762, 0.1753, 0.1753, 0.1767, 0.1778, 0.1794, 0.1807, 0.1817, 0.1838, 0.1907",\
                 "0.1759, 0.1751, 0.175, 0.1761, 0.1776, 0.1791, 0.1804, 0.1814, 0.1825, 0.1901",\
                 "0.1763, 0.1754, 0.1754, 0.1765, 0.1778, 0.1792, 0.1807, 0.1823, 0.1831, 0.1907",\
                 "0.1822, 0.1813, 0.1808, 0.1819, 0.1833, 0.1847, 0.1861, 0.187, 0.1887, 0.1972",\
                 "0.1952, 0.1939, 0.1934, 0.1941, 0.1948, 0.1965, 0.1979, 0.1992, 0.2013, 0.2095",\
                 "0.2155, 0.214, 0.2122, 0.2131, 0.2143, 0.2154, 0.2169, 0.218, 0.2201, 0.2323",\
                 "0.2439, 0.2422, 0.2398, 0.2394, 0.2413, 0.2431, 0.244, 0.245, 0.2469, 0.263",\
                 "0.2803, 0.2783, 0.2757, 0.2744, 0.2747, 0.2765, 0.279, 0.2803, 0.2814, 0.3041",\
                 "0.3248, 0.3224, 0.3193, 0.3177, 0.3176, 0.3182, 0.3209, 0.3248, 0.3272, 0.3604",\
                 "0.378, 0.375, 0.3712, 0.3696, 0.3688, 0.3689, 0.3704, 0.3745, 0.3825, 0.4388");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&!E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2022, 0.2012, 0.2011, 0.2027, 0.2041, 0.2053, 0.2066, 0.2081, 0.2096, 0.2162",\
                 "0.2019, 0.201, 0.2009, 0.2024, 0.2038, 0.205, 0.206, 0.2075, 0.2092, 0.2162",\
                 "0.2022, 0.2014, 0.2011, 0.2027, 0.204, 0.2053, 0.2067, 0.2078, 0.2096, 0.2169",\
                 "0.2085, 0.2075, 0.2068, 0.2082, 0.2095, 0.2109, 0.2118, 0.2131, 0.2146, 0.2231",\
                 "0.2218, 0.2207, 0.2203, 0.221, 0.2222, 0.2232, 0.2244, 0.2257, 0.2275, 0.2383",\
                 "0.2435, 0.2421, 0.2403, 0.241, 0.2423, 0.2434, 0.2449, 0.2458, 0.247, 0.2598",\
                 "0.2737, 0.2717, 0.2697, 0.269, 0.2703, 0.2725, 0.2729, 0.2741, 0.2764, 0.2919",\
                 "0.3084, 0.3062, 0.3035, 0.3024, 0.3027, 0.3043, 0.3068, 0.3084, 0.3102, 0.3327",\
                 "0.3462, 0.3436, 0.3403, 0.3391, 0.3393, 0.3394, 0.3422, 0.3447, 0.3487, 0.3818",\
                 "0.3878, 0.3847, 0.3809, 0.3792, 0.3784, 0.3787, 0.3798, 0.3842, 0.3928, 0.4498");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.2022, 0.2012, 0.2011, 0.2027, 0.2041, 0.2053, 0.2066, 0.2081, 0.2096, 0.2162",\
                 "0.2019, 0.201, 0.2009, 0.2024, 0.2038, 0.205, 0.206, 0.2075, 0.2092, 0.2162",\
                 "0.2022, 0.2014, 0.2011, 0.2027, 0.204, 0.2053, 0.2067, 0.2078, 0.2096, 0.2169",\
                 "0.2085, 0.2075, 0.2068, 0.2082, 0.2095, 0.2109, 0.2118, 0.2131, 0.2146, 0.2231",\
                 "0.2218, 0.2207, 0.2203, 0.221, 0.2222, 0.2232, 0.2244, 0.2257, 0.2275, 0.2383",\
                 "0.2435, 0.2421, 0.2403, 0.241, 0.2423, 0.2434, 0.2449, 0.2458, 0.247, 0.2598",\
                 "0.2737, 0.2717, 0.2697, 0.269, 0.2703, 0.2725, 0.2729, 0.2741, 0.2764, 0.2919",\
                 "0.3084, 0.3062, 0.3035, 0.3024, 0.3027, 0.3043, 0.3068, 0.3084, 0.3102, 0.3327",\
                 "0.3462, 0.3436, 0.3403, 0.3391, 0.3393, 0.3394, 0.3422, 0.3447, 0.3487, 0.3818",\
                 "0.3878, 0.3847, 0.3809, 0.3792, 0.3784, 0.3787, 0.3798, 0.3842, 0.3928, 0.4498");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1479, 0.1458, 0.1438, 0.1437, 0.1436, 0.1437, 0.1437, 0.1437, 0.1437, 0.1437",\
                 "0.1475, 0.1452, 0.1434, 0.1432, 0.1432, 0.1432, 0.1433, 0.1433, 0.1433, 0.1433",\
                 "0.1477, 0.1455, 0.1436, 0.1434, 0.1434, 0.1434, 0.1436, 0.1435, 0.1435, 0.1435",\
                 "0.1531, 0.1507, 0.1489, 0.1485, 0.1485, 0.1485, 0.1485, 0.1486, 0.1486, 0.1486",\
                 "0.1642, 0.1617, 0.1596, 0.1593, 0.1588, 0.159, 0.1589, 0.1589, 0.159, 0.159",\
                 "0.1819, 0.1791, 0.1767, 0.1759, 0.1758, 0.1758, 0.1758, 0.1759, 0.1759, 0.176",\
                 "0.207, 0.2037, 0.2011, 0.2002, 0.1998, 0.1997, 0.1997, 0.1997, 0.1997, 0.1998",\
                 "0.2393, 0.2358, 0.2323, 0.2312, 0.2307, 0.2305, 0.2305, 0.2305, 0.2305, 0.2305",\
                 "0.279, 0.2753, 0.2712, 0.2699, 0.269, 0.2688, 0.2688, 0.2688, 0.2687, 0.2688",\
                 "0.3265, 0.3223, 0.3177, 0.3159, 0.3151, 0.3148, 0.3146, 0.3146, 0.3145, 0.3145");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.1764, 0.1754, 0.1755, 0.1768, 0.1781, 0.1795, 0.181, 0.1824, 0.1845, 0.1912",\
                 "0.1761, 0.1753, 0.175, 0.1765, 0.1776, 0.1796, 0.1812, 0.1821, 0.1835, 0.1925",\
                 "0.1765, 0.1754, 0.1755, 0.1768, 0.1781, 0.1795, 0.1809, 0.1824, 0.1839, 0.1908",\
                 "0.1825, 0.1816, 0.181, 0.1821, 0.183, 0.185, 0.1864, 0.1877, 0.1892, 0.1998",\
                 "0.1954, 0.1942, 0.1939, 0.1943, 0.1952, 0.1968, 0.1982, 0.1996, 0.2011, 0.2129",\
                 "0.2158, 0.2142, 0.2129, 0.2136, 0.2151, 0.2161, 0.2172, 0.2191, 0.2202, 0.2347",\
                 "0.2441, 0.2421, 0.2399, 0.2395, 0.2413, 0.2434, 0.2448, 0.2454, 0.246, 0.2629",\
                 "0.2806, 0.2782, 0.2757, 0.2745, 0.2748, 0.2766, 0.2795, 0.28, 0.2815, 0.3042",\
                 "0.3252, 0.3229, 0.3191, 0.3179, 0.3177, 0.319, 0.3217, 0.3239, 0.3279, 0.3597",\
                 "0.3786, 0.3757, 0.3717, 0.3696, 0.3697, 0.3698, 0.3709, 0.3756, 0.3832, 0.4394");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("1.138, 1.173, 1.263, 1.399, 1.595, 1.865, 2.219, 2.666, 3.211, 3.861",\
                 "1.152, 1.187, 1.278, 1.413, 1.609, 1.879, 2.233, 2.68, 3.225, 3.875",\
                 "1.189, 1.224, 1.314, 1.45, 1.646, 1.915, 2.27, 2.717, 3.262, 3.912",\
                 "1.267, 1.302, 1.393, 1.529, 1.724, 1.994, 2.348, 2.795, 3.34, 3.99",\
                 "1.4, 1.435, 1.526, 1.662, 1.857, 2.127, 2.481, 2.928, 3.473, 4.123",\
                 "1.58, 1.616, 1.706, 1.842, 2.037, 2.307, 2.662, 3.108, 3.653, 4.304",\
                 "1.805, 1.84, 1.931, 2.067, 2.262, 2.532, 2.886, 3.333, 3.878, 4.528",\
                 "2.066, 2.101, 2.192, 2.328, 2.524, 2.794, 3.148, 3.595, 4.14, 4.79",\
                 "2.361, 2.396, 2.487, 2.623, 2.818, 3.088, 3.443, 3.889, 4.434, 5.084",\
                 "2.688, 2.723, 2.814, 2.951, 3.146, 3.415, 3.77, 4.217, 4.762, 5.411");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("1.063, 1.103, 1.223, 1.448, 1.797, 2.287, 2.932, 3.745, 4.736, 5.918",\
                 "1.07, 1.109, 1.23, 1.455, 1.804, 2.294, 2.939, 3.752, 4.744, 5.924",\
                 "1.092, 1.131, 1.252, 1.477, 1.826, 2.316, 2.961, 3.773, 4.765, 5.947",\
                 "1.138, 1.178, 1.298, 1.523, 1.873, 2.362, 3.008, 3.82, 4.812, 5.993",\
                 "1.194, 1.234, 1.354, 1.579, 1.928, 2.418, 3.064, 3.876, 4.868, 6.049",\
                 "1.242, 1.282, 1.402, 1.626, 1.976, 2.466, 3.111, 3.922, 4.913, 6.096",\
                 "1.274, 1.313, 1.434, 1.658, 2.008, 2.498, 3.143, 3.955, 4.946, 6.127",\
                 "1.285, 1.325, 1.445, 1.67, 2.02, 2.51, 3.154, 3.965, 4.956, 6.138",\
                 "1.271, 1.31, 1.431, 1.655, 2.005, 2.494, 3.139, 3.95, 4.941, 6.12",\
                 "1.228, 1.268, 1.388, 1.612, 1.962, 2.452, 3.096, 3.908, 4.898, 6.078");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.0858, 0.1202, 0.2212, 0.4066, 0.7154, 1.163, 1.76, 2.511, 3.428, 4.517",\
                 "0.0858, 0.1202, 0.2206, 0.4066, 0.716, 1.164, 1.76, 2.511, 3.426, 4.523",\
                 "0.0858, 0.1202, 0.2206, 0.4068, 0.7164, 1.164, 1.76, 2.511, 3.428, 4.523",\
                 "0.0856, 0.1202, 0.2208, 0.4066, 0.7164, 1.164, 1.76, 2.511, 3.428, 4.523",\
                 "0.0858, 0.1204, 0.2212, 0.407, 0.7154, 1.164, 1.76, 2.51, 3.429, 4.523",\
                 "0.0862, 0.1208, 0.2212, 0.4064, 0.7168, 1.164, 1.76, 2.509, 3.427, 4.52",\
                 "0.0862, 0.1212, 0.221, 0.407, 0.716, 1.164, 1.758, 2.508, 3.428, 4.521",\
                 "0.0864, 0.1214, 0.2214, 0.4074, 0.716, 1.165, 1.757, 2.507, 3.424, 4.515",\
                 "0.087, 0.1222, 0.2218, 0.4072, 0.7168, 1.164, 1.758, 2.507, 3.421, 4.511",\
                 "0.0876, 0.1222, 0.222, 0.4076, 0.7172, 1.163, 1.759, 2.507, 3.423, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.0884, 0.1416, 0.3346, 0.727, 1.344, 2.204, 3.341, 4.773, 6.523, 8.607",\
                 "0.0888, 0.1416, 0.3346, 0.7272, 1.343, 2.208, 3.34, 4.773, 6.518, 8.607",\
                 "0.0888, 0.1416, 0.3346, 0.7268, 1.343, 2.208, 3.341, 4.778, 6.519, 8.607",\
                 "0.089, 0.1416, 0.3346, 0.7268, 1.342, 2.203, 3.341, 4.776, 6.52, 8.607",\
                 "0.0886, 0.1418, 0.3346, 0.7264, 1.342, 2.208, 3.341, 4.778, 6.519, 8.607",\
                 "0.089, 0.1416, 0.3348, 0.7272, 1.342, 2.204, 3.339, 4.772, 6.519, 8.603",\
                 "0.089, 0.142, 0.3346, 0.7272, 1.342, 2.203, 3.34, 4.77, 6.521, 8.607",\
                 "0.0894, 0.1424, 0.335, 0.7274, 1.342, 2.203, 3.339, 4.773, 6.518, 8.601",\
                 "0.0898, 0.1426, 0.335, 0.7274, 1.343, 2.204, 3.341, 4.768, 6.517, 8.608",\
                 "0.0902, 0.1432, 0.335, 0.7278, 1.342, 2.205, 3.339, 4.768, 6.514, 8.593");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("1.185, 1.22, 1.311, 1.446, 1.642, 1.911, 2.266, 2.712, 3.258, 3.908",\
                 "1.199, 1.234, 1.325, 1.461, 1.656, 1.926, 2.28, 2.727, 3.272, 3.923",\
                 "1.24, 1.276, 1.366, 1.502, 1.697, 1.967, 2.322, 2.769, 3.313, 3.963",\
                 "1.278, 1.313, 1.404, 1.54, 1.735, 2.005, 2.359, 2.806, 3.351, 4.002",\
                 "1.306, 1.342, 1.432, 1.568, 1.763, 2.033, 2.388, 2.834, 3.379, 4.029",\
                 "1.317, 1.353, 1.443, 1.579, 1.774, 2.044, 2.399, 2.845, 3.391, 4.041",\
                 "1.308, 1.344, 1.434, 1.57, 1.765, 2.035, 2.39, 2.836, 3.381, 4.031",\
                 "1.279, 1.314, 1.405, 1.541, 1.736, 2.005, 2.36, 2.807, 3.352, 4.001",\
                 "1.224, 1.26, 1.35, 1.487, 1.681, 1.952, 2.306, 2.752, 3.297, 3.948",\
                 "1.146, 1.181, 1.272, 1.408, 1.602, 1.872, 2.228, 2.674, 3.219, 3.869");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.9962, 1.036, 1.156, 1.381, 1.73, 2.22, 2.866, 3.678, 4.67, 5.851",\
                 "1.008, 1.048, 1.168, 1.392, 1.742, 2.232, 2.877, 3.69, 4.682, 5.859",\
                 "1.046, 1.085, 1.206, 1.43, 1.78, 2.27, 2.915, 3.728, 4.719, 5.897",\
                 "1.115, 1.155, 1.275, 1.5, 1.849, 2.34, 2.984, 3.798, 4.788, 5.968",\
                 "1.182, 1.222, 1.342, 1.567, 1.916, 2.406, 3.051, 3.862, 4.854, 6.037",\
                 "1.234, 1.274, 1.394, 1.619, 1.968, 2.458, 3.103, 3.914, 4.906, 6.089",\
                 "1.267, 1.307, 1.427, 1.652, 2.001, 2.491, 3.136, 3.947, 4.94, 6.121",\
                 "1.274, 1.314, 1.435, 1.659, 2.008, 2.498, 3.142, 3.953, 4.944, 6.126",\
                 "1.249, 1.289, 1.409, 1.633, 1.982, 2.472, 3.117, 3.928, 4.918, 6.098",\
                 "1.187, 1.227, 1.348, 1.572, 1.921, 2.411, 3.056, 3.867, 4.857, 6.038");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.0856, 0.1206, 0.221, 0.4064, 0.7162, 1.165, 1.759, 2.509, 3.427, 4.517",\
                 "0.0856, 0.1202, 0.2208, 0.4064, 0.7158, 1.164, 1.76, 2.511, 3.429, 4.519",\
                 "0.0858, 0.1204, 0.2206, 0.407, 0.7162, 1.163, 1.76, 2.511, 3.428, 4.523",\
                 "0.0856, 0.12, 0.221, 0.4064, 0.7162, 1.165, 1.76, 2.507, 3.429, 4.516",\
                 "0.0856, 0.1202, 0.2206, 0.4066, 0.7158, 1.163, 1.76, 2.511, 3.427, 4.523",\
                 "0.0856, 0.1202, 0.2206, 0.4062, 0.715, 1.164, 1.76, 2.511, 3.424, 4.52",\
                 "0.0856, 0.1204, 0.2206, 0.4066, 0.7152, 1.164, 1.757, 2.507, 3.425, 4.515",\
                 "0.0856, 0.1204, 0.2212, 0.4068, 0.7158, 1.164, 1.759, 2.506, 3.421, 4.514",\
                 "0.0856, 0.1204, 0.2202, 0.4074, 0.7158, 1.165, 1.758, 2.508, 3.424, 4.51",\
                 "0.0854, 0.1206, 0.2206, 0.4064, 0.7158, 1.165, 1.759, 2.51, 3.421, 4.513");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08886, 0.1418, 0.3346, 0.7268, 1.343, 2.208, 3.341, 4.778, 6.519, 8.607",\
                 "0.0888, 0.1414, 0.3348, 0.7268, 1.342, 2.208, 3.34, 4.771, 6.523, 8.602",\
                 "0.0888, 0.1416, 0.3346, 0.7266, 1.344, 2.205, 3.339, 4.772, 6.522, 8.599",\
                 "0.0888, 0.1416, 0.3344, 0.7274, 1.341, 2.203, 3.341, 4.774, 6.522, 8.609",\
                 "0.0886, 0.1418, 0.3346, 0.7268, 1.342, 2.204, 3.34, 4.771, 6.524, 8.6",\
                 "0.089, 0.1418, 0.3346, 0.7272, 1.34, 2.203, 3.341, 4.771, 6.523, 8.599",\
                 "0.0894, 0.142, 0.3348, 0.7274, 1.341, 2.203, 3.339, 4.771, 6.519, 8.612",\
                 "0.0898, 0.1422, 0.335, 0.7278, 1.342, 2.203, 3.339, 4.771, 6.516, 8.6",\
                 "0.0896, 0.1426, 0.335, 0.727, 1.342, 2.204, 3.342, 4.768, 6.515, 8.608",\
                 "0.0898, 0.1428, 0.3348, 0.7274, 1.342, 2.205, 3.34, 4.769, 6.514, 8.592");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b0 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.8884, 0.9235, 1.014, 1.15, 1.345, 1.615, 1.969, 2.416, 2.961, 3.612",\
                 "0.9043, 0.9398, 1.03, 1.166, 1.361, 1.631, 1.986, 2.432, 2.978, 3.628",\
                 "0.9705, 1.006, 1.096, 1.232, 1.427, 1.696, 2.051, 2.498, 3.043, 3.694",\
                 "1.1, 1.136, 1.226, 1.362, 1.556, 1.826, 2.181, 2.628, 3.173, 3.824",\
                 "1.278, 1.313, 1.403, 1.539, 1.734, 2.004, 2.359, 2.806, 3.351, 4.001",\
                 "1.488, 1.523, 1.613, 1.749, 1.944, 2.214, 2.569, 3.016, 3.561, 4.211",\
                 "1.731, 1.766, 1.857, 1.992, 2.187, 2.458, 2.812, 3.258, 3.804, 4.454",\
                 "2.008, 2.044, 2.134, 2.27, 2.465, 2.735, 3.089, 3.536, 4.081, 4.731",\
                 "2.32, 2.356, 2.446, 2.582, 2.777, 3.047, 3.402, 3.849, 4.393, 5.043",\
                 "2.668, 2.703, 2.793, 2.93, 3.125, 3.395, 3.749, 4.196, 4.741, 5.391");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08462, 0.1195, 0.22, 0.4062, 0.7162, 1.165, 1.758, 2.513, 3.429, 4.522",\
                 "0.08464, 0.1195, 0.2202, 0.4062, 0.7162, 1.164, 1.76, 2.512, 3.428, 4.525",\
                 "0.0844, 0.1196, 0.2202, 0.4062, 0.7162, 1.164, 1.761, 2.513, 3.429, 4.522",\
                 "0.0844, 0.1194, 0.22, 0.4064, 0.7152, 1.165, 1.761, 2.513, 3.426, 4.523",\
                 "0.0848, 0.1196, 0.22, 0.4056, 0.7154, 1.165, 1.761, 2.51, 3.427, 4.524",\
                 "0.085, 0.12, 0.2204, 0.407, 0.7152, 1.165, 1.759, 2.509, 3.431, 4.523",\
                 "0.085, 0.12, 0.2208, 0.406, 0.716, 1.164, 1.757, 2.507, 3.427, 4.525",\
                 "0.0852, 0.1202, 0.2208, 0.4062, 0.715, 1.166, 1.759, 2.507, 3.421, 4.514",\
                 "0.0858, 0.1204, 0.2216, 0.4066, 0.717, 1.165, 1.757, 2.508, 3.421, 4.511",\
                 "0.086, 0.121, 0.2214, 0.407, 0.7158, 1.165, 1.759, 2.51, 3.425, 4.511");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.8884, 0.9237, 1.014, 1.15, 1.345, 1.615, 1.969, 2.416, 2.961, 3.612",\
                 "0.9047, 0.9398, 1.03, 1.166, 1.361, 1.631, 1.985, 2.432, 2.978, 3.628",\
                 "0.9705, 1.006, 1.096, 1.232, 1.427, 1.696, 2.051, 2.498, 3.043, 3.694",\
                 "1.1, 1.136, 1.226, 1.361, 1.556, 1.826, 2.181, 2.627, 3.173, 3.824",\
                 "1.278, 1.313, 1.403, 1.539, 1.734, 2.004, 2.359, 2.805, 3.351, 4.001",\
                 "1.488, 1.523, 1.613, 1.749, 1.944, 2.214, 2.569, 3.015, 3.561, 4.211",\
                 "1.731, 1.766, 1.856, 1.992, 2.187, 2.457, 2.812, 3.258, 3.804, 4.454",\
                 "2.007, 2.042, 2.133, 2.269, 2.464, 2.734, 3.089, 3.535, 4.08, 4.73",\
                 "2.319, 2.355, 2.445, 2.581, 2.776, 3.046, 3.401, 3.848, 4.392, 5.042",\
                 "2.667, 2.702, 2.793, 2.929, 3.124, 3.394, 3.749, 4.195, 4.74, 5.391");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08462, 0.1196, 0.2199, 0.4062, 0.7162, 1.164, 1.761, 2.513, 3.429, 4.522",\
                 "0.0845, 0.1195, 0.2202, 0.406, 0.7162, 1.164, 1.761, 2.513, 3.426, 4.523",\
                 "0.0844, 0.1196, 0.22, 0.406, 0.7162, 1.164, 1.761, 2.513, 3.43, 4.521",\
                 "0.0852, 0.1194, 0.2202, 0.407, 0.7162, 1.165, 1.758, 2.513, 3.429, 4.522",\
                 "0.0848, 0.1194, 0.2202, 0.4064, 0.7154, 1.165, 1.76, 2.512, 3.43, 4.523",\
                 "0.085, 0.1194, 0.22, 0.4066, 0.7156, 1.165, 1.761, 2.513, 3.43, 4.524",\
                 "0.0852, 0.1202, 0.2208, 0.4064, 0.7156, 1.164, 1.757, 2.508, 3.428, 4.522",\
                 "0.0854, 0.1204, 0.2202, 0.4068, 0.7152, 1.165, 1.758, 2.507, 3.424, 4.518",\
                 "0.0858, 0.1206, 0.2206, 0.4068, 0.7162, 1.165, 1.758, 2.51, 3.421, 4.511",\
                 "0.086, 0.1206, 0.2214, 0.4072, 0.7154, 1.164, 1.758, 2.509, 3.424, 4.514");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.8854, 0.921, 1.011, 1.147, 1.342, 1.612, 1.967, 2.414, 2.959, 3.609",\
                 "0.9002, 0.9355, 1.026, 1.162, 1.357, 1.627, 1.982, 2.428, 2.973, 3.624",\
                 "0.9651, 1, 1.091, 1.227, 1.422, 1.692, 2.046, 2.493, 3.039, 3.688",\
                 "1.095, 1.13, 1.221, 1.357, 1.552, 1.822, 2.176, 2.623, 3.169, 3.819",\
                 "1.272, 1.308, 1.398, 1.534, 1.729, 1.999, 2.353, 2.8, 3.346, 3.996",\
                 "1.483, 1.519, 1.609, 1.745, 1.94, 2.21, 2.564, 3.011, 3.556, 4.207",\
                 "1.729, 1.764, 1.854, 1.991, 2.186, 2.456, 2.81, 3.257, 3.802, 4.452",\
                 "2.008, 2.044, 2.135, 2.27, 2.465, 2.735, 3.09, 3.536, 4.082, 4.731",\
                 "2.323, 2.359, 2.45, 2.586, 2.781, 3.051, 3.405, 3.852, 4.397, 5.047",\
                 "2.675, 2.711, 2.801, 2.937, 3.133, 3.402, 3.757, 4.204, 4.749, 5.399");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("1.077, 1.117, 1.238, 1.462, 1.812, 2.302, 2.947, 3.759, 4.751, 5.931",\
                 "1.086, 1.125, 1.246, 1.47, 1.82, 2.31, 2.955, 3.767, 4.759, 5.939",\
                 "1.097, 1.137, 1.257, 1.482, 1.831, 2.321, 2.966, 3.779, 4.771, 5.951",\
                 "1.119, 1.158, 1.279, 1.503, 1.853, 2.343, 2.987, 3.801, 4.791, 5.972",\
                 "1.146, 1.186, 1.306, 1.53, 1.88, 2.37, 3.015, 3.825, 4.818, 6.001",\
                 "1.167, 1.207, 1.327, 1.552, 1.901, 2.392, 3.036, 3.85, 4.839, 6.022",\
                 "1.177, 1.217, 1.337, 1.561, 1.911, 2.401, 3.045, 3.857, 4.849, 6.031",\
                 "1.164, 1.204, 1.324, 1.548, 1.898, 2.388, 3.033, 3.844, 4.834, 6.014",\
                 "1.121, 1.161, 1.281, 1.506, 1.855, 2.345, 2.989, 3.801, 4.791, 5.972",\
                 "1.046, 1.087, 1.207, 1.431, 1.78, 2.27, 2.914, 3.726, 4.716, 5.897");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08504, 0.12, 0.2206, 0.4066, 0.7162, 1.164, 1.761, 2.512, 3.43, 4.522",\
                 "0.0852, 0.1202, 0.2206, 0.4066, 0.7152, 1.164, 1.76, 2.513, 3.43, 4.517",\
                 "0.0852, 0.1198, 0.2206, 0.4062, 0.7156, 1.163, 1.759, 2.511, 3.428, 4.524",\
                 "0.085, 0.1198, 0.22, 0.4064, 0.7164, 1.164, 1.76, 2.513, 3.428, 4.524",\
                 "0.0852, 0.1198, 0.2206, 0.4066, 0.716, 1.164, 1.759, 2.511, 3.43, 4.523",\
                 "0.0854, 0.1198, 0.2202, 0.4068, 0.7152, 1.164, 1.76, 2.512, 3.429, 4.522",\
                 "0.0856, 0.1202, 0.2206, 0.4064, 0.7156, 1.164, 1.758, 2.509, 3.426, 4.522",\
                 "0.0862, 0.1208, 0.2208, 0.407, 0.7154, 1.165, 1.759, 2.507, 3.422, 4.516",\
                 "0.0866, 0.1218, 0.222, 0.407, 0.717, 1.164, 1.757, 2.508, 3.421, 4.512",\
                 "0.0872, 0.1218, 0.2224, 0.4074, 0.716, 1.164, 1.759, 2.506, 3.421, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.0886, 0.1418, 0.3346, 0.7268, 1.342, 2.208, 3.34, 4.773, 6.517, 8.605",\
                 "0.0888, 0.1414, 0.3344, 0.7264, 1.342, 2.208, 3.339, 4.773, 6.519, 8.604",\
                 "0.0886, 0.1416, 0.3352, 0.7264, 1.343, 2.208, 3.34, 4.773, 6.517, 8.606",\
                 "0.0888, 0.1416, 0.3348, 0.7268, 1.342, 2.205, 3.339, 4.775, 6.52, 8.612",\
                 "0.089, 0.1412, 0.3346, 0.727, 1.341, 2.204, 3.341, 4.77, 6.525, 8.601",\
                 "0.0884, 0.1416, 0.3344, 0.7268, 1.343, 2.204, 3.34, 4.775, 6.519, 8.603",\
                 "0.0888, 0.1422, 0.3348, 0.7276, 1.341, 2.203, 3.343, 4.771, 6.522, 8.604",\
                 "0.0894, 0.1424, 0.3346, 0.7272, 1.342, 2.207, 3.338, 4.768, 6.519, 8.601",\
                 "0.0898, 0.1426, 0.335, 0.7274, 1.341, 2.204, 3.339, 4.768, 6.515, 8.594",\
                 "0.0902, 0.1434, 0.335, 0.7266, 1.343, 2.205, 3.339, 4.769, 6.516, 8.593");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.8854, 0.921, 1.011, 1.147, 1.342, 1.612, 1.967, 2.414, 2.959, 3.609",\
                 "0.9002, 0.9355, 1.026, 1.162, 1.357, 1.627, 1.982, 2.428, 2.973, 3.624",\
                 "0.9651, 1, 1.091, 1.227, 1.422, 1.692, 2.046, 2.493, 3.039, 3.688",\
                 "1.095, 1.13, 1.221, 1.357, 1.552, 1.822, 2.176, 2.623, 3.169, 3.819",\
                 "1.272, 1.308, 1.398, 1.534, 1.729, 1.999, 2.353, 2.8, 3.346, 3.996",\
                 "1.483, 1.519, 1.609, 1.745, 1.94, 2.21, 2.564, 3.011, 3.556, 4.207",\
                 "1.729, 1.764, 1.854, 1.991, 2.186, 2.456, 2.81, 3.257, 3.802, 4.452",\
                 "2.008, 2.044, 2.135, 2.27, 2.465, 2.735, 3.09, 3.536, 4.082, 4.731",\
                 "2.323, 2.359, 2.45, 2.586, 2.781, 3.051, 3.405, 3.852, 4.397, 5.047",\
                 "2.675, 2.711, 2.801, 2.937, 3.133, 3.402, 3.757, 4.204, 4.749, 5.399");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("1.077, 1.117, 1.238, 1.462, 1.812, 2.302, 2.947, 3.759, 4.751, 5.931",\
                 "1.086, 1.125, 1.246, 1.47, 1.82, 2.31, 2.955, 3.767, 4.759, 5.939",\
                 "1.097, 1.137, 1.257, 1.482, 1.831, 2.321, 2.966, 3.779, 4.771, 5.951",\
                 "1.119, 1.158, 1.279, 1.503, 1.853, 2.343, 2.987, 3.801, 4.791, 5.972",\
                 "1.146, 1.186, 1.306, 1.53, 1.88, 2.37, 3.015, 3.825, 4.818, 6.001",\
                 "1.167, 1.207, 1.327, 1.552, 1.901, 2.392, 3.036, 3.85, 4.839, 6.022",\
                 "1.177, 1.217, 1.337, 1.561, 1.911, 2.401, 3.045, 3.857, 4.849, 6.031",\
                 "1.164, 1.204, 1.324, 1.548, 1.898, 2.388, 3.033, 3.844, 4.834, 6.014",\
                 "1.121, 1.161, 1.281, 1.506, 1.855, 2.345, 2.989, 3.801, 4.791, 5.972",\
                 "1.046, 1.087, 1.207, 1.431, 1.78, 2.27, 2.914, 3.726, 4.716, 5.897");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08462, 0.1195, 0.22, 0.4062, 0.7162, 1.165, 1.758, 2.513, 3.429, 4.522",\
                 "0.08464, 0.1195, 0.2202, 0.4062, 0.7162, 1.164, 1.76, 2.512, 3.428, 4.525",\
                 "0.0844, 0.1196, 0.2202, 0.4062, 0.7162, 1.164, 1.761, 2.513, 3.429, 4.522",\
                 "0.0844, 0.1194, 0.22, 0.4064, 0.7152, 1.165, 1.761, 2.513, 3.426, 4.523",\
                 "0.0848, 0.1196, 0.22, 0.4056, 0.7154, 1.165, 1.761, 2.51, 3.427, 4.524",\
                 "0.085, 0.12, 0.2204, 0.407, 0.7152, 1.165, 1.759, 2.509, 3.431, 4.523",\
                 "0.085, 0.12, 0.2208, 0.406, 0.716, 1.164, 1.757, 2.507, 3.427, 4.525",\
                 "0.0852, 0.1202, 0.2208, 0.4062, 0.715, 1.166, 1.759, 2.507, 3.421, 4.514",\
                 "0.0858, 0.1204, 0.2216, 0.4066, 0.717, 1.165, 1.757, 2.508, 3.421, 4.511",\
                 "0.086, 0.121, 0.2214, 0.407, 0.7158, 1.165, 1.759, 2.51, 3.425, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.0886, 0.1418, 0.3346, 0.7268, 1.342, 2.208, 3.34, 4.773, 6.517, 8.605",\
                 "0.0888, 0.1414, 0.3344, 0.7264, 1.342, 2.208, 3.339, 4.773, 6.519, 8.604",\
                 "0.0886, 0.1416, 0.3352, 0.7264, 1.343, 2.208, 3.34, 4.773, 6.517, 8.606",\
                 "0.0888, 0.1416, 0.3348, 0.7268, 1.342, 2.205, 3.339, 4.775, 6.52, 8.612",\
                 "0.089, 0.1412, 0.3346, 0.727, 1.341, 2.204, 3.341, 4.77, 6.525, 8.601",\
                 "0.0884, 0.1416, 0.3344, 0.7268, 1.343, 2.204, 3.34, 4.775, 6.519, 8.603",\
                 "0.0888, 0.1422, 0.3348, 0.7276, 1.341, 2.203, 3.343, 4.771, 6.522, 8.604",\
                 "0.0894, 0.1424, 0.3346, 0.7272, 1.342, 2.207, 3.338, 4.768, 6.519, 8.601",\
                 "0.0898, 0.1426, 0.335, 0.7274, 1.341, 2.204, 3.339, 4.768, 6.515, 8.594",\
                 "0.0902, 0.1434, 0.335, 0.7266, 1.343, 2.205, 3.339, 4.769, 6.516, 8.593");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b0 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&!E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.5303, 0.5656, 0.6556, 0.7915, 0.9866, 1.256, 1.611, 2.058, 2.603, 3.254",\
                 "0.5407, 0.5759, 0.6658, 0.8018, 0.9967, 1.267, 1.621, 2.068, 2.614, 3.263",\
                 "0.5843, 0.6192, 0.7094, 0.8454, 1.04, 1.31, 1.665, 2.112, 2.657, 3.308",\
                 "0.6636, 0.6988, 0.7888, 0.9247, 1.12, 1.39, 1.744, 2.191, 2.737, 3.387",\
                 "0.7419, 0.7773, 0.8681, 1.004, 1.2, 1.469, 1.824, 2.27, 2.816, 3.466",\
                 "0.816, 0.8518, 0.943, 1.08, 1.275, 1.545, 1.899, 2.346, 2.891, 3.541",\
                 "0.883, 0.9196, 1.011, 1.148, 1.343, 1.613, 1.968, 2.414, 2.96, 3.609",\
                 "0.9378, 0.9748, 1.068, 1.205, 1.401, 1.671, 2.025, 2.472, 3.017, 3.666",\
                 "0.9781, 1.016, 1.11, 1.248, 1.444, 1.714, 2.068, 2.515, 3.06, 3.71",\
                 "1.002, 1.041, 1.136, 1.276, 1.472, 1.742, 2.096, 2.543, 3.088, 3.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.4365, 0.4751, 0.5955, 0.8209, 1.171, 1.661, 2.306, 3.118, 4.109, 5.292",\
                 "0.4536, 0.4927, 0.6128, 0.838, 1.188, 1.678, 2.323, 3.134, 4.125, 5.308",\
                 "0.5187, 0.5575, 0.6777, 0.9029, 1.253, 1.743, 2.388, 3.199, 4.189, 5.373",\
                 "0.6379, 0.6769, 0.7967, 1.022, 1.372, 1.862, 2.507, 3.319, 4.31, 5.493",\
                 "0.7802, 0.8191, 0.9392, 1.164, 1.514, 2.004, 2.649, 3.46, 4.452, 5.631",\
                 "0.9398, 0.9795, 1.1, 1.324, 1.673, 2.163, 2.808, 3.621, 4.612, 5.794",\
                 "1.116, 1.156, 1.276, 1.5, 1.849, 2.338, 2.983, 3.795, 4.788, 5.969",\
                 "1.306, 1.347, 1.468, 1.69, 2.039, 2.529, 3.173, 3.984, 4.974, 6.158",\
                 "1.509, 1.551, 1.673, 1.895, 2.243, 2.733, 3.377, 4.189, 5.178, 6.358",\
                 "1.728, 1.77, 1.892, 2.115, 2.462, 2.952, 3.596, 4.407, 5.398, 6.578");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.0842, 0.119, 0.2197, 0.4062, 0.7157, 1.163, 1.76, 2.513, 3.429, 4.522",\
                 "0.08412, 0.1189, 0.2197, 0.4061, 0.7161, 1.165, 1.76, 2.511, 3.429, 4.525",\
                 "0.08396, 0.1191, 0.2196, 0.406, 0.716, 1.164, 1.76, 2.513, 3.428, 4.523",\
                 "0.0846, 0.1198, 0.2208, 0.4064, 0.716, 1.165, 1.761, 2.513, 3.427, 4.523",\
                 "0.0864, 0.1214, 0.2216, 0.4068, 0.7154, 1.165, 1.761, 2.513, 3.429, 4.521",\
                 "0.0884, 0.1232, 0.223, 0.4078, 0.7154, 1.163, 1.758, 2.509, 3.427, 4.525",\
                 "0.0918, 0.1256, 0.2256, 0.4096, 0.7168, 1.164, 1.759, 2.506, 3.424, 4.516",\
                 "0.0952, 0.1294, 0.229, 0.4124, 0.7184, 1.165, 1.757, 2.509, 3.421, 4.51",\
                 "0.0994, 0.134, 0.2326, 0.414, 0.7188, 1.164, 1.759, 2.509, 3.421, 4.513",\
                 "0.1036, 0.139, 0.2362, 0.417, 0.7198, 1.166, 1.758, 2.509, 3.421, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08346, 0.1369, 0.3331, 0.7263, 1.341, 2.205, 3.34, 4.772, 6.52, 8.604",\
                 "0.08326, 0.1367, 0.3331, 0.726, 1.341, 2.203, 3.341, 4.769, 6.519, 8.602",\
                 "0.08366, 0.1367, 0.3331, 0.7262, 1.341, 2.204, 3.341, 4.77, 6.515, 8.603",\
                 "0.0842, 0.1376, 0.3334, 0.7262, 1.342, 2.205, 3.34, 4.775, 6.526, 8.6",\
                 "0.0864, 0.1394, 0.3338, 0.7274, 1.341, 2.203, 3.341, 4.771, 6.522, 8.6",\
                 "0.089, 0.142, 0.3348, 0.7266, 1.341, 2.207, 3.34, 4.772, 6.52, 8.604",\
                 "0.0928, 0.145, 0.3356, 0.7278, 1.342, 2.205, 3.343, 4.769, 6.517, 8.607",\
                 "0.0962, 0.1488, 0.3372, 0.7276, 1.343, 2.204, 3.338, 4.773, 6.519, 8.601",\
                 "0.1006, 0.1534, 0.3394, 0.7284, 1.343, 2.203, 3.338, 4.768, 6.517, 8.594",\
                 "0.1054, 0.1586, 0.341, 0.7284, 1.344, 2.207, 3.338, 4.767, 6.513, 8.597");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b0 && RN===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&!E&RN" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.4417, 0.4806, 0.6009, 0.8259, 1.176, 1.666, 2.311, 3.123, 4.115, 5.295",\
                 "0.4589, 0.4978, 0.6181, 0.8432, 1.193, 1.683, 2.328, 3.14, 4.131, 5.313",\
                 "0.5237, 0.5628, 0.6831, 0.9082, 1.258, 1.748, 2.393, 3.205, 4.197, 5.378",\
                 "0.644, 0.683, 0.8029, 1.028, 1.378, 1.868, 2.513, 3.325, 4.316, 5.498",\
                 "0.7882, 0.8275, 0.9476, 1.172, 1.521, 2.011, 2.656, 3.468, 4.46, 5.641",\
                 "0.9505, 0.9901, 1.111, 1.334, 1.684, 2.174, 2.818, 3.631, 4.622, 5.804",\
                 "1.129, 1.169, 1.29, 1.513, 1.862, 2.351, 2.996, 3.808, 4.798, 5.981",\
                 "1.321, 1.363, 1.483, 1.705, 2.054, 2.544, 3.188, 4, 4.99, 6.172",\
                 "1.527, 1.569, 1.69, 1.912, 2.261, 2.75, 3.395, 4.206, 5.196, 6.376",\
                 "1.748, 1.791, 1.912, 2.135, 2.483, 2.972, 3.615, 4.427, 5.417, 6.598");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08422, 0.1372, 0.3332, 0.7257, 1.342, 2.203, 3.341, 4.773, 6.52, 8.606",\
                 "0.0836, 0.1372, 0.333, 0.7271, 1.342, 2.207, 3.34, 4.774, 6.522, 8.603",\
                 "0.08374, 0.137, 0.3333, 0.7265, 1.341, 2.203, 3.339, 4.771, 6.52, 8.598",\
                 "0.0848, 0.138, 0.3332, 0.727, 1.341, 2.205, 3.338, 4.772, 6.524, 8.603",\
                 "0.0866, 0.14, 0.334, 0.7274, 1.342, 2.204, 3.34, 4.771, 6.517, 8.605",\
                 "0.0894, 0.1424, 0.335, 0.7264, 1.341, 2.207, 3.34, 4.773, 6.52, 8.602",\
                 "0.093, 0.1458, 0.3358, 0.7266, 1.34, 2.203, 3.339, 4.771, 6.517, 8.601",\
                 "0.097, 0.1492, 0.3372, 0.7272, 1.341, 2.204, 3.338, 4.774, 6.514, 8.605",\
                 "0.102, 0.1536, 0.3388, 0.7276, 1.341, 2.205, 3.338, 4.767, 6.517, 8.592",\
                 "0.1056, 0.158, 0.3408, 0.728, 1.342, 2.204, 3.337, 4.769, 6.514, 8.599");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b1 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.5367, 0.5721, 0.6624, 0.7982, 0.9933, 1.263, 1.618, 2.065, 2.61, 3.26",\
                 "0.5474, 0.5825, 0.6727, 0.8087, 1.004, 1.274, 1.628, 2.075, 2.62, 3.271",\
                 "0.5907, 0.6259, 0.7162, 0.8523, 1.047, 1.317, 1.672, 2.118, 2.664, 3.314",\
                 "0.6713, 0.7066, 0.7968, 0.9326, 1.128, 1.398, 1.752, 2.199, 2.744, 3.395",\
                 "0.751, 0.7864, 0.8774, 1.013, 1.209, 1.479, 1.833, 2.28, 2.826, 3.476",\
                 "0.8265, 0.8623, 0.9538, 1.09, 1.286, 1.555, 1.91, 2.357, 2.902, 3.552",\
                 "0.8952, 0.9314, 1.023, 1.161, 1.356, 1.626, 1.98, 2.427, 2.972, 3.622",\
                 "0.9519, 0.9889, 1.082, 1.22, 1.415, 1.685, 2.04, 2.486, 3.031, 3.681",\
                 "0.9948, 1.033, 1.127, 1.265, 1.462, 1.731, 2.085, 2.533, 3.078, 3.727",\
                 "1.021, 1.059, 1.155, 1.295, 1.49, 1.76, 2.115, 2.561, 3.107, 3.756");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.438, 0.4768, 0.5972, 0.8225, 1.173, 1.663, 2.309, 3.119, 4.113, 5.295",\
                 "0.4554, 0.4943, 0.6144, 0.8399, 1.19, 1.68, 2.325, 3.138, 4.128, 5.31",\
                 "0.5203, 0.559, 0.6795, 0.9047, 1.255, 1.745, 2.391, 3.202, 4.192, 5.374",\
                 "0.6397, 0.6786, 0.7987, 1.024, 1.374, 1.864, 2.509, 3.322, 4.312, 5.497",\
                 "0.7821, 0.8217, 0.9415, 1.166, 1.516, 2.006, 2.652, 3.464, 4.457, 5.639",\
                 "0.9425, 0.9825, 1.103, 1.327, 1.676, 2.166, 2.811, 3.624, 4.616, 5.8",\
                 "1.119, 1.16, 1.28, 1.504, 1.852, 2.342, 2.986, 3.798, 4.791, 5.974",\
                 "1.31, 1.351, 1.472, 1.694, 2.043, 2.532, 3.177, 3.988, 4.979, 6.163",\
                 "1.514, 1.556, 1.677, 1.9, 2.248, 2.738, 3.382, 4.193, 5.184, 6.364",\
                 "1.734, 1.776, 1.899, 2.12, 2.468, 2.958, 3.602, 4.414, 5.405, 6.585");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08454, 0.1195, 0.22, 0.4063, 0.7158, 1.165, 1.76, 2.513, 3.429, 4.524",\
                 "0.0844, 0.1195, 0.22, 0.4063, 0.7162, 1.164, 1.76, 2.513, 3.43, 4.518",\
                 "0.08454, 0.12, 0.22, 0.4066, 0.7162, 1.164, 1.76, 2.513, 3.43, 4.517",\
                 "0.085, 0.12, 0.2204, 0.4068, 0.716, 1.165, 1.761, 2.512, 3.431, 4.52",\
                 "0.0868, 0.122, 0.2218, 0.4074, 0.7164, 1.165, 1.76, 2.511, 3.429, 4.523",\
                 "0.0894, 0.1236, 0.2236, 0.4082, 0.7156, 1.164, 1.759, 2.509, 3.428, 4.521",\
                 "0.0922, 0.1266, 0.226, 0.4094, 0.7166, 1.164, 1.757, 2.506, 3.424, 4.516",\
                 "0.0964, 0.1298, 0.2296, 0.4128, 0.7186, 1.166, 1.759, 2.507, 3.42, 4.511",\
                 "0.0998, 0.1344, 0.2328, 0.414, 0.7192, 1.164, 1.759, 2.509, 3.422, 4.511",\
                 "0.1042, 0.1392, 0.2368, 0.4176, 0.7208, 1.166, 1.758, 2.51, 3.421, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08336, 0.1369, 0.3332, 0.7262, 1.341, 2.205, 3.34, 4.774, 6.52, 8.605",\
                 "0.08356, 0.1368, 0.3332, 0.726, 1.341, 2.204, 3.346, 4.774, 6.533, 8.609",\
                 "0.08352, 0.1371, 0.3337, 0.726, 1.341, 2.204, 3.342, 4.781, 6.531, 8.623",\
                 "0.0842, 0.1378, 0.3332, 0.7262, 1.341, 2.204, 3.342, 4.775, 6.532, 8.606",\
                 "0.0864, 0.1396, 0.3336, 0.7274, 1.344, 2.203, 3.342, 4.775, 6.525, 8.601",\
                 "0.0892, 0.1418, 0.335, 0.7272, 1.341, 2.204, 3.339, 4.774, 6.522, 8.609",\
                 "0.0928, 0.145, 0.3358, 0.7276, 1.341, 2.203, 3.34, 4.772, 6.523, 8.605",\
                 "0.0964, 0.1492, 0.337, 0.728, 1.343, 2.203, 3.338, 4.769, 6.519, 8.603",\
                 "0.101, 0.1534, 0.3388, 0.7274, 1.342, 2.206, 3.338, 4.767, 6.514, 8.595",\
                 "0.1058, 0.1586, 0.3416, 0.7282, 1.343, 2.207, 3.337, 4.769, 6.512, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b1 && RN===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&E&RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.5399, 0.5751, 0.6652, 0.801, 0.9961, 1.266, 1.621, 2.067, 2.613, 3.264",\
                 "0.5504, 0.5854, 0.6756, 0.8114, 1.006, 1.276, 1.631, 2.078, 2.623, 3.274",\
                 "0.5937, 0.629, 0.7191, 0.8549, 1.05, 1.32, 1.675, 2.121, 2.667, 3.317",\
                 "0.675, 0.7102, 0.8002, 0.9361, 1.131, 1.401, 1.756, 2.202, 2.748, 3.399",\
                 "0.7557, 0.7912, 0.8819, 1.018, 1.213, 1.483, 1.837, 2.284, 2.83, 3.481",\
                 "0.8319, 0.8678, 0.9589, 1.095, 1.291, 1.56, 1.915, 2.362, 2.907, 3.558",\
                 "0.9007, 0.937, 1.029, 1.166, 1.361, 1.631, 1.986, 2.432, 2.977, 3.627",\
                 "0.9585, 0.9952, 1.088, 1.226, 1.422, 1.691, 2.046, 2.492, 3.037, 3.687",\
                 "1.002, 1.04, 1.134, 1.272, 1.468, 1.738, 2.092, 2.539, 3.084, 3.733",\
                 "1.028, 1.067, 1.162, 1.302, 1.497, 1.767, 2.122, 2.568, 3.114, 3.763");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.442, 0.4808, 0.6012, 0.8266, 1.176, 1.667, 2.313, 3.124, 4.118, 5.299",\
                 "0.4594, 0.4981, 0.6185, 0.8439, 1.193, 1.684, 2.328, 3.142, 4.133, 5.315",\
                 "0.5242, 0.563, 0.6834, 0.9088, 1.259, 1.749, 2.395, 3.207, 4.197, 5.381",\
                 "0.6441, 0.6833, 0.8032, 1.028, 1.378, 1.869, 2.514, 3.325, 4.319, 5.502",\
                 "0.7881, 0.8276, 0.9476, 1.172, 1.522, 2.012, 2.657, 3.47, 4.462, 5.646",\
                 "0.9497, 0.9893, 1.109, 1.334, 1.683, 2.173, 2.818, 3.631, 4.624, 5.805",\
                 "1.128, 1.168, 1.288, 1.512, 1.861, 2.351, 2.995, 3.806, 4.8, 5.981",\
                 "1.32, 1.361, 1.482, 1.705, 2.053, 2.543, 3.187, 3.999, 4.989, 6.174",\
                 "1.526, 1.568, 1.689, 1.911, 2.26, 2.749, 3.393, 4.205, 5.195, 6.375",\
                 "1.746, 1.789, 1.911, 2.133, 2.481, 2.971, 3.615, 4.427, 5.418, 6.598");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08438, 0.1191, 0.2198, 0.406, 0.716, 1.165, 1.76, 2.513, 3.427, 4.523",\
                 "0.08422, 0.1193, 0.22, 0.4068, 0.7158, 1.165, 1.761, 2.513, 3.431, 4.525",\
                 "0.08426, 0.1198, 0.2203, 0.406, 0.715, 1.164, 1.761, 2.512, 3.427, 4.52",\
                 "0.085, 0.1196, 0.2204, 0.4066, 0.716, 1.165, 1.761, 2.512, 3.432, 4.523",\
                 "0.0866, 0.1214, 0.2216, 0.4068, 0.7166, 1.165, 1.76, 2.51, 3.432, 4.524",\
                 "0.0888, 0.1232, 0.2232, 0.408, 0.716, 1.163, 1.759, 2.507, 3.427, 4.526",\
                 "0.0918, 0.1258, 0.226, 0.409, 0.7174, 1.163, 1.758, 2.506, 3.424, 4.514",\
                 "0.0954, 0.13, 0.229, 0.4114, 0.717, 1.166, 1.757, 2.507, 3.421, 4.512",\
                 "0.0998, 0.134, 0.2328, 0.4146, 0.7182, 1.166, 1.759, 2.509, 3.422, 4.514",\
                 "0.1042, 0.1388, 0.2364, 0.4174, 0.72, 1.166, 1.76, 2.509, 3.422, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08384, 0.1372, 0.3332, 0.7263, 1.343, 2.203, 3.342, 4.773, 6.524, 8.602",\
                 "0.0839, 0.1372, 0.3332, 0.7261, 1.343, 2.204, 3.34, 4.774, 6.52, 8.606",\
                 "0.08364, 0.1372, 0.3341, 0.7265, 1.34, 2.204, 3.342, 4.774, 6.518, 8.607",\
                 "0.0846, 0.138, 0.3342, 0.7264, 1.34, 2.205, 3.342, 4.775, 6.525, 8.608",\
                 "0.0868, 0.1398, 0.3338, 0.7258, 1.341, 2.205, 3.343, 4.775, 6.524, 8.607",\
                 "0.0894, 0.142, 0.3346, 0.7268, 1.34, 2.204, 3.34, 4.775, 6.52, 8.606",\
                 "0.0926, 0.1452, 0.3358, 0.7278, 1.342, 2.203, 3.343, 4.769, 6.517, 8.618",\
                 "0.0966, 0.1496, 0.3372, 0.7276, 1.342, 2.203, 3.338, 4.77, 6.519, 8.599",\
                 "0.1018, 0.1536, 0.3388, 0.7282, 1.342, 2.203, 3.338, 4.768, 6.518, 8.595",\
                 "0.1058, 0.1584, 0.3416, 0.7288, 1.342, 2.205, 3.342, 4.772, 6.512, 8.597");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b0 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&!E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.5302, 0.5656, 0.6553, 0.7913, 0.9862, 1.256, 1.611, 2.058, 2.603, 3.252",\
                 "0.5408, 0.5757, 0.666, 0.8018, 0.9967, 1.267, 1.621, 2.068, 2.614, 3.263",\
                 "0.5843, 0.6192, 0.7094, 0.8454, 1.04, 1.31, 1.665, 2.111, 2.657, 3.308",\
                 "0.6636, 0.6988, 0.7888, 0.9247, 1.12, 1.39, 1.744, 2.191, 2.737, 3.387",\
                 "0.7419, 0.7774, 0.8679, 1.004, 1.2, 1.47, 1.824, 2.271, 2.816, 3.466",\
                 "0.8157, 0.8518, 0.943, 1.08, 1.275, 1.545, 1.899, 2.346, 2.891, 3.541",\
                 "0.883, 0.9195, 1.011, 1.148, 1.343, 1.613, 1.968, 2.414, 2.959, 3.609",\
                 "0.9375, 0.9743, 1.068, 1.205, 1.4, 1.67, 2.025, 2.471, 3.017, 3.666",\
                 "0.9781, 1.016, 1.11, 1.248, 1.445, 1.714, 2.069, 2.515, 3.061, 3.71",\
                 "1.003, 1.041, 1.136, 1.276, 1.472, 1.742, 2.096, 2.543, 3.088, 3.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.4365, 0.4751, 0.5955, 0.8209, 1.171, 1.661, 2.306, 3.118, 4.109, 5.292",\
                 "0.4539, 0.4926, 0.6128, 0.8382, 1.188, 1.678, 2.324, 3.135, 4.126, 5.309",\
                 "0.5187, 0.5575, 0.6777, 0.9029, 1.253, 1.743, 2.388, 3.199, 4.189, 5.373",\
                 "0.6379, 0.6769, 0.7967, 1.022, 1.372, 1.862, 2.507, 3.319, 4.31, 5.493",\
                 "0.7801, 0.8192, 0.9392, 1.164, 1.514, 2.004, 2.648, 3.461, 4.452, 5.632",\
                 "0.9398, 0.9795, 1.1, 1.324, 1.673, 2.163, 2.808, 3.621, 4.612, 5.794",\
                 "1.116, 1.156, 1.276, 1.5, 1.849, 2.339, 2.983, 3.795, 4.788, 5.969",\
                 "1.306, 1.347, 1.468, 1.69, 2.039, 2.529, 3.173, 3.984, 4.974, 6.158",\
                 "1.509, 1.551, 1.672, 1.895, 2.243, 2.733, 3.377, 4.189, 5.178, 6.358",\
                 "1.728, 1.77, 1.892, 2.115, 2.463, 2.952, 3.596, 4.407, 5.398, 6.578");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08402, 0.1189, 0.2198, 0.4062, 0.7154, 1.165, 1.76, 2.512, 3.43, 4.525",\
                 "0.08396, 0.1191, 0.2196, 0.4061, 0.7159, 1.165, 1.76, 2.512, 3.429, 4.525",\
                 "0.08396, 0.1191, 0.2196, 0.4061, 0.7162, 1.164, 1.76, 2.513, 3.428, 4.522",\
                 "0.0846, 0.1198, 0.2208, 0.4064, 0.716, 1.165, 1.761, 2.513, 3.427, 4.523",\
                 "0.0864, 0.121, 0.2218, 0.4068, 0.7154, 1.165, 1.761, 2.513, 3.429, 4.521",\
                 "0.0886, 0.1232, 0.223, 0.4078, 0.7164, 1.163, 1.758, 2.509, 3.427, 4.525",\
                 "0.0918, 0.126, 0.2256, 0.4094, 0.7168, 1.165, 1.759, 2.506, 3.424, 4.516",\
                 "0.0952, 0.1298, 0.2288, 0.4118, 0.7176, 1.165, 1.758, 2.507, 3.421, 4.51",\
                 "0.0994, 0.1334, 0.2324, 0.4138, 0.7182, 1.165, 1.758, 2.509, 3.422, 4.511",\
                 "0.1036, 0.139, 0.2362, 0.417, 0.7196, 1.166, 1.758, 2.509, 3.422, 4.513");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08346, 0.1369, 0.3331, 0.7263, 1.341, 2.205, 3.34, 4.772, 6.52, 8.604",\
                 "0.08358, 0.1366, 0.3331, 0.7264, 1.342, 2.206, 3.341, 4.773, 6.524, 8.599",\
                 "0.08366, 0.1367, 0.3331, 0.7262, 1.341, 2.204, 3.341, 4.77, 6.515, 8.603",\
                 "0.0842, 0.1376, 0.3334, 0.7262, 1.342, 2.205, 3.34, 4.775, 6.526, 8.6",\
                 "0.0864, 0.1392, 0.3336, 0.7274, 1.341, 2.205, 3.341, 4.773, 6.523, 8.604",\
                 "0.089, 0.142, 0.3342, 0.7266, 1.341, 2.207, 3.34, 4.772, 6.52, 8.604",\
                 "0.0928, 0.145, 0.3356, 0.7278, 1.342, 2.203, 3.343, 4.769, 6.517, 8.607",\
                 "0.0966, 0.149, 0.3372, 0.7276, 1.343, 2.204, 3.338, 4.773, 6.519, 8.601",\
                 "0.101, 0.1534, 0.339, 0.7276, 1.342, 2.206, 3.338, 4.768, 6.515, 8.596",\
                 "0.1052, 0.1586, 0.3412, 0.7282, 1.342, 2.207, 3.338, 4.767, 6.513, 8.595");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b0 && RN===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&!E&RN" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.4417, 0.4806, 0.6009, 0.8261, 1.176, 1.666, 2.31, 3.122, 4.114, 5.295",\
                 "0.459, 0.4979, 0.6181, 0.8433, 1.193, 1.683, 2.328, 3.14, 4.131, 5.313",\
                 "0.5237, 0.5628, 0.6831, 0.9082, 1.258, 1.748, 2.393, 3.205, 4.197, 5.378",\
                 "0.644, 0.683, 0.803, 1.028, 1.378, 1.868, 2.512, 3.325, 4.315, 5.497",\
                 "0.7879, 0.8274, 0.9475, 1.172, 1.522, 2.012, 2.656, 3.469, 4.461, 5.642",\
                 "0.9504, 0.9904, 1.11, 1.334, 1.684, 2.174, 2.819, 3.631, 4.622, 5.803",\
                 "1.129, 1.169, 1.289, 1.513, 1.862, 2.352, 2.996, 3.808, 4.801, 5.98",\
                 "1.321, 1.362, 1.483, 1.706, 2.055, 2.545, 3.189, 4, 4.991, 6.173",\
                 "1.527, 1.569, 1.691, 1.913, 2.262, 2.751, 3.395, 4.206, 5.197, 6.377",\
                 "1.748, 1.791, 1.912, 2.134, 2.482, 2.971, 3.615, 4.427, 5.418, 6.599");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08422, 0.1372, 0.3332, 0.727, 1.342, 2.204, 3.339, 4.77, 6.52, 8.602",\
                 "0.0842, 0.1371, 0.3332, 0.7269, 1.341, 2.204, 3.339, 4.772, 6.52, 8.602",\
                 "0.08374, 0.137, 0.3333, 0.7264, 1.341, 2.205, 3.338, 4.772, 6.52, 8.6",\
                 "0.0848, 0.1382, 0.3334, 0.7272, 1.341, 2.207, 3.341, 4.773, 6.517, 8.602",\
                 "0.0872, 0.1398, 0.334, 0.7274, 1.341, 2.207, 3.34, 4.772, 6.518, 8.605",\
                 "0.0896, 0.1422, 0.3348, 0.7264, 1.34, 2.205, 3.338, 4.771, 6.525, 8.603",\
                 "0.0924, 0.1458, 0.3356, 0.7278, 1.342, 2.203, 3.339, 4.768, 6.519, 8.605",\
                 "0.0974, 0.1492, 0.3374, 0.728, 1.342, 2.204, 3.338, 4.774, 6.512, 8.601",\
                 "0.1014, 0.154, 0.3388, 0.7274, 1.34, 2.203, 3.338, 4.767, 6.52, 8.599",\
                 "0.106, 0.158, 0.3412, 0.7288, 1.342, 2.206, 3.337, 4.771, 6.515, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b1 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.5369, 0.5719, 0.6622, 0.7982, 0.9934, 1.263, 1.618, 2.065, 2.61, 3.26",\
                 "0.5474, 0.5824, 0.6727, 0.8087, 1.004, 1.274, 1.628, 2.075, 2.62, 3.271",\
                 "0.5906, 0.6259, 0.7162, 0.8523, 1.047, 1.317, 1.672, 2.119, 2.664, 3.314",\
                 "0.6713, 0.7066, 0.7968, 0.9326, 1.128, 1.398, 1.752, 2.199, 2.744, 3.395",\
                 "0.751, 0.7865, 0.8774, 1.014, 1.209, 1.479, 1.833, 2.28, 2.826, 3.476",\
                 "0.8265, 0.8624, 0.9539, 1.09, 1.286, 1.555, 1.91, 2.357, 2.902, 3.553",\
                 "0.8953, 0.9314, 1.024, 1.16, 1.356, 1.626, 1.98, 2.427, 2.972, 3.622",\
                 "0.9519, 0.989, 1.082, 1.22, 1.415, 1.685, 2.04, 2.486, 3.031, 3.681",\
                 "0.9949, 1.033, 1.127, 1.265, 1.462, 1.732, 2.086, 2.533, 3.078, 3.727",\
                 "1.021, 1.059, 1.155, 1.294, 1.491, 1.76, 2.115, 2.561, 3.107, 3.756");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.438, 0.4768, 0.5972, 0.8226, 1.173, 1.662, 2.308, 3.121, 4.114, 5.295",\
                 "0.4554, 0.4943, 0.6144, 0.8399, 1.19, 1.68, 2.325, 3.138, 4.128, 5.311",\
                 "0.5203, 0.559, 0.6795, 0.9047, 1.255, 1.745, 2.391, 3.202, 4.192, 5.374",\
                 "0.6398, 0.6787, 0.7987, 1.024, 1.374, 1.864, 2.508, 3.323, 4.314, 5.496",\
                 "0.7823, 0.8217, 0.9419, 1.166, 1.516, 2.007, 2.651, 3.464, 4.454, 5.638",\
                 "0.9429, 0.9821, 1.103, 1.327, 1.676, 2.166, 2.811, 3.624, 4.616, 5.801",\
                 "1.119, 1.159, 1.28, 1.503, 1.852, 2.342, 2.987, 3.799, 4.79, 5.97",\
                 "1.31, 1.351, 1.472, 1.694, 2.043, 2.533, 3.177, 3.988, 4.978, 6.162",\
                 "1.514, 1.556, 1.677, 1.9, 2.248, 2.738, 3.381, 4.193, 5.183, 6.363",\
                 "1.734, 1.777, 1.898, 2.12, 2.469, 2.958, 3.602, 4.414, 5.405, 6.584");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08444, 0.12, 0.2205, 0.4063, 0.7157, 1.163, 1.761, 2.513, 3.429, 4.518",\
                 "0.0844, 0.1195, 0.22, 0.4063, 0.7162, 1.164, 1.76, 2.513, 3.43, 4.518",\
                 "0.08448, 0.12, 0.22, 0.4067, 0.7162, 1.164, 1.76, 2.509, 3.427, 4.521",\
                 "0.085, 0.12, 0.2206, 0.4068, 0.7162, 1.165, 1.761, 2.512, 3.43, 4.521",\
                 "0.087, 0.1222, 0.222, 0.4074, 0.716, 1.165, 1.761, 2.511, 3.429, 4.523",\
                 "0.0894, 0.1236, 0.2236, 0.4082, 0.7156, 1.163, 1.758, 2.509, 3.428, 4.521",\
                 "0.092, 0.127, 0.2262, 0.4096, 0.717, 1.164, 1.757, 2.506, 3.424, 4.514",\
                 "0.0964, 0.13, 0.2292, 0.412, 0.7186, 1.166, 1.759, 2.506, 3.42, 4.511",\
                 "0.0998, 0.1342, 0.2328, 0.414, 0.7194, 1.164, 1.759, 2.509, 3.424, 4.511",\
                 "0.1044, 0.1392, 0.2372, 0.4174, 0.7212, 1.166, 1.758, 2.51, 3.422, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08336, 0.137, 0.3332, 0.7263, 1.341, 2.206, 3.342, 4.773, 6.524, 8.603",\
                 "0.08352, 0.1368, 0.3332, 0.7261, 1.341, 2.205, 3.342, 4.774, 6.533, 8.609",\
                 "0.08352, 0.1371, 0.3337, 0.726, 1.341, 2.204, 3.342, 4.781, 6.531, 8.623",\
                 "0.084, 0.1376, 0.3332, 0.7258, 1.341, 2.205, 3.339, 4.774, 6.522, 8.604",\
                 "0.0864, 0.1396, 0.334, 0.7272, 1.341, 2.205, 3.341, 4.774, 6.531, 8.608",\
                 "0.0896, 0.142, 0.3346, 0.7264, 1.341, 2.206, 3.339, 4.775, 6.522, 8.609",\
                 "0.0924, 0.1456, 0.3356, 0.7268, 1.342, 2.203, 3.34, 4.768, 6.52, 8.609",\
                 "0.0966, 0.1492, 0.3372, 0.7276, 1.342, 2.205, 3.339, 4.768, 6.519, 8.6",\
                 "0.1014, 0.1532, 0.3388, 0.728, 1.341, 2.205, 3.339, 4.767, 6.517, 8.598",\
                 "0.1062, 0.158, 0.3416, 0.7286, 1.343, 2.204, 3.343, 4.768, 6.513, 8.596");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.5399, 0.5751, 0.6652, 0.801, 0.9961, 1.266, 1.621, 2.067, 2.613, 3.264",\
                 "0.5504, 0.5854, 0.6756, 0.8114, 1.006, 1.276, 1.631, 2.078, 2.623, 3.274",\
                 "0.5937, 0.629, 0.7191, 0.8549, 1.05, 1.32, 1.675, 2.121, 2.667, 3.317",\
                 "0.675, 0.7102, 0.8002, 0.9361, 1.131, 1.401, 1.756, 2.202, 2.748, 3.399",\
                 "0.7557, 0.7912, 0.8819, 1.018, 1.213, 1.483, 1.837, 2.284, 2.83, 3.481",\
                 "0.8319, 0.8678, 0.9589, 1.095, 1.291, 1.56, 1.915, 2.362, 2.907, 3.558",\
                 "0.9007, 0.937, 1.029, 1.166, 1.361, 1.631, 1.986, 2.432, 2.977, 3.627",\
                 "0.9585, 0.9952, 1.088, 1.226, 1.422, 1.691, 2.046, 2.492, 3.037, 3.687",\
                 "1.002, 1.04, 1.134, 1.272, 1.468, 1.738, 2.092, 2.539, 3.084, 3.733",\
                 "1.028, 1.067, 1.162, 1.302, 1.497, 1.767, 2.122, 2.568, 3.114, 3.763");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.4417, 0.4806, 0.6009, 0.8261, 1.176, 1.666, 2.31, 3.122, 4.114, 5.295",\
                 "0.459, 0.4979, 0.6181, 0.8433, 1.193, 1.683, 2.328, 3.14, 4.131, 5.313",\
                 "0.5237, 0.5628, 0.6831, 0.9082, 1.258, 1.748, 2.393, 3.205, 4.197, 5.378",\
                 "0.644, 0.683, 0.803, 1.028, 1.378, 1.868, 2.512, 3.325, 4.315, 5.497",\
                 "0.7879, 0.8274, 0.9475, 1.172, 1.522, 2.012, 2.656, 3.469, 4.461, 5.642",\
                 "0.9504, 0.9904, 1.11, 1.334, 1.684, 2.174, 2.819, 3.631, 4.622, 5.803",\
                 "1.129, 1.169, 1.289, 1.513, 1.862, 2.352, 2.996, 3.808, 4.801, 5.98",\
                 "1.321, 1.362, 1.483, 1.706, 2.055, 2.545, 3.189, 4, 4.991, 6.173",\
                 "1.527, 1.569, 1.691, 1.913, 2.262, 2.751, 3.395, 4.206, 5.197, 6.377",\
                 "1.748, 1.791, 1.912, 2.134, 2.482, 2.971, 3.615, 4.427, 5.418, 6.599");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08438, 0.1191, 0.2198, 0.406, 0.716, 1.165, 1.76, 2.513, 3.427, 4.523",\
                 "0.08422, 0.1193, 0.22, 0.4068, 0.7158, 1.165, 1.761, 2.513, 3.431, 4.525",\
                 "0.08426, 0.1198, 0.2203, 0.406, 0.715, 1.164, 1.761, 2.512, 3.427, 4.52",\
                 "0.085, 0.1196, 0.2204, 0.4066, 0.716, 1.165, 1.761, 2.512, 3.432, 4.523",\
                 "0.0866, 0.1214, 0.2216, 0.4068, 0.7166, 1.165, 1.76, 2.51, 3.432, 4.524",\
                 "0.0888, 0.1232, 0.2232, 0.408, 0.716, 1.163, 1.759, 2.507, 3.427, 4.526",\
                 "0.0918, 0.1258, 0.226, 0.409, 0.7174, 1.163, 1.758, 2.506, 3.424, 4.514",\
                 "0.0954, 0.13, 0.229, 0.4114, 0.717, 1.166, 1.757, 2.507, 3.421, 4.512",\
                 "0.0998, 0.134, 0.2328, 0.4146, 0.7182, 1.166, 1.759, 2.509, 3.422, 4.514",\
                 "0.1042, 0.1388, 0.2364, 0.4174, 0.72, 1.166, 1.76, 2.509, 3.422, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005972, 0.02343, 0.05676, 0.1087, 0.1816, 0.2774, 0.3982, 0.5457, 0.7214");
          values("0.08336, 0.137, 0.3332, 0.7263, 1.341, 2.206, 3.342, 4.773, 6.524, 8.603",\
                 "0.08352, 0.1368, 0.3332, 0.7261, 1.341, 2.205, 3.342, 4.774, 6.533, 8.609",\
                 "0.08352, 0.1371, 0.3337, 0.726, 1.341, 2.204, 3.342, 4.781, 6.531, 8.623",\
                 "0.084, 0.1376, 0.3332, 0.7258, 1.341, 2.205, 3.339, 4.774, 6.522, 8.604",\
                 "0.0864, 0.1396, 0.334, 0.7272, 1.341, 2.205, 3.341, 4.774, 6.531, 8.608",\
                 "0.0896, 0.142, 0.3346, 0.7264, 1.341, 2.206, 3.339, 4.775, 6.522, 8.609",\
                 "0.0924, 0.1456, 0.3356, 0.7268, 1.342, 2.203, 3.34, 4.768, 6.52, 8.609",\
                 "0.0966, 0.1492, 0.3372, 0.7276, 1.342, 2.205, 3.339, 4.768, 6.519, 8.6",\
                 "0.1014, 0.1532, 0.3388, 0.728, 1.341, 2.205, 3.339, 4.767, 6.517, 8.598",\
                 "0.1062, 0.158, 0.3416, 0.7286, 1.343, 2.204, 3.343, 4.768, 6.513, 8.596");
        }
      }
    }

    pin(RN) {
      capacitance : 0.005096 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.466 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08059, 0.08013, 0.08053, 0.08368, 0.09103, 0.1036, 0.1218, 0.146, \
                 0.1763, 0.2131");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03273, 0.0325, 0.03207, 0.03345, 0.03831, 0.04777, 0.06242, \
                 0.08251, 0.1083, 0.1399");
        }
      }

      internal_power() {
        when : "!D&!E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009057, 0.008509, 0.008396, 0.008376, 0.008366, 0.008364, 0.008377, \
                 0.008375, 0.008373, 0.008375");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008376, -0.008353, -0.008348, -0.008341, -0.008345, -0.008355, \
                 -0.008347, -0.008349, -0.008348, -0.008351");
        }
      }

      internal_power() {
        when : "!D&E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009894, 0.008848, 0.008626, 0.00855, 0.008507, 0.008509, 0.008492, \
                 0.008487, 0.008485, 0.008473");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008327, -0.008309, -0.008318, -0.008307, -0.008302, -0.00832, \
                 -0.008308, -0.008313, -0.00831, -0.008307");
        }
      }

      internal_power() {
        when : "!D&E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008922, 0.008408, 0.008379, 0.008368, 0.008359, 0.008371, 0.008377, \
                 0.008376, 0.008377, 0.008379");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008365, -0.008353, -0.008354, -0.008347, -0.008341, -0.008362, \
                 -0.008351, -0.008348, -0.008347, -0.008363");
        }
      }

      internal_power() {
        when : "D&!E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08103, 0.08015, 0.08053, 0.08369, 0.09102, 0.1035, 0.1218, 0.146, \
                 0.1763, 0.213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03273, 0.0325, 0.03208, 0.03345, 0.03833, 0.04775, 0.06242, \
                 0.08251, 0.1083, 0.1399");
        }
      }

      internal_power() {
        when : "D&!E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009446, 0.008485, 0.00839, 0.008367, 0.008381, 0.008369, 0.008365, \
                 0.00838, 0.008376, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008363, -0.008355, -0.008355, -0.008347, -0.00834, -0.008357, \
                 -0.008354, -0.008352, -0.008346, -0.008349");
        }
      }

      internal_power() {
        when : "D&E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09285, 0.09185, 0.09205, 0.09514, 0.1024, 0.1149, 0.1332, 0.1574, \
                 0.1877, 0.2244");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.021, 0.02077, 0.02036, 0.02173, 0.02664, 0.03609, 0.05077, 0.07087, \
                 0.09666, 0.1282");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.681, 0.675, 0.664, 0.71, 0.898, 1.247, 1.739, 2.372, 3.156, 4.096",\
                 "0.691, 0.683, 0.669, 0.717, 0.903, 1.256, 1.744, 2.378, 3.162, 4.094",\
                 "0.699, 0.692, 0.685, 0.726, 0.923, 1.261, 1.745, 2.374, 3.153, 4.082",\
                 "0.726, 0.72, 0.706, 0.751, 0.93, 1.257, 1.732, 2.33, 3.087, 3.982",\
                 "0.747, 0.741, 0.73, 0.771, 0.936, 1.249, 1.689, 2.269, 2.993, 3.845",\
                 "0.773, 0.766, 0.756, 0.79, 0.942, 1.236, 1.662, 2.218, 2.909, 3.738",\
                 "0.791, 0.784, 0.773, 0.805, 0.937, 1.214, 1.615, 2.16, 2.827, 3.642",\
                 "0.786, 0.78, 0.771, 0.797, 0.916, 1.176, 1.568, 2.1, 2.765, 3.566",\
                 "0.759, 0.747, 0.743, 0.766, 0.878, 1.12, 1.51, 2.035, 2.7, 3.514",\
                 "0.694, 0.686, 0.686, 0.708, 0.809, 1.041, 1.417, 1.948, 2.629, 3.449");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : removal_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.573, -0.566, -0.551, -0.583, -0.667, -0.763, -0.836, -0.89, -0.904, -0.873",\
                 "-0.582, -0.573, -0.563, -0.592, -0.679, -0.773, -0.844, -0.898, -0.907, -0.881",\
                 "-0.592, -0.586, -0.574, -0.604, -0.687, -0.782, -0.857, -0.901, -0.92, -0.891",\
                 "-0.616, -0.604, -0.595, -0.62, -0.697, -0.782, -0.853, -0.9, -0.912, -0.892",\
                 "-0.642, -0.633, -0.625, -0.643, -0.713, -0.784, -0.859, -0.906, -0.93, -0.907",\
                 "-0.67, -0.66, -0.647, -0.666, -0.722, -0.799, -0.867, -0.929, -0.955, -0.944",\
                 "-0.681, -0.681, -0.664, -0.675, -0.73, -0.81, -0.888, -0.95, -1.002, -1.009",\
                 "-0.685, -0.679, -0.665, -0.676, -0.73, -0.814, -0.905, -0.984, -1.05, -1.084",\
                 "-0.656, -0.651, -0.636, -0.644, -0.698, -0.795, -0.901, -1.009, -1.097, -1.163",\
                 "-0.595, -0.586, -0.578, -0.59, -0.641, -0.743, -0.867, -0.998, -1.125, -1.233");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E&SETN" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E&SETN" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.044, 0.072, 0.092, 0.106, 0.116, 0.125, 0.122, 0.106",\
                 "-0.001, 0.007, 0.041, 0.064, 0.085, 0.1, 0.115, 0.123, 0.121, 0.099",\
                 "-0.001, 0.012, 0.04, 0.063, 0.087, 0.098, 0.112, 0.124, 0.122, 0.102",\
                 "0.029, 0.042, 0.066, 0.085, 0.1, 0.118, 0.126, 0.135, 0.137, 0.115",\
                 "0.102, 0.116, 0.123, 0.133, 0.142, 0.153, 0.159, 0.168, 0.168, 0.148",\
                 "0.222, 0.236, 0.234, 0.234, 0.233, 0.238, 0.237, 0.242, 0.234, 0.213",\
                 "0.398, 0.416, 0.395, 0.384, 0.373, 0.376, 0.371, 0.378, 0.375, 0.347",\
                 "0.631, 0.653, 0.609, 0.58, 0.573, 0.567, 0.559, 0.584, 0.584, 0.568",\
                 "0.936, 0.954, 0.878, 0.823, 0.796, 0.819, 0.806, 0.854, 0.871, 0.864",\
                 "1.284, 1.311, 1.197, 1.128, 1.11, 1.113, 1.116, 1.18, 1.217, 1.228");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.044, 0.072, 0.092, 0.106, 0.116, 0.13, 0.122, 0.101",\
                 "-0.001, 0.007, 0.041, 0.064, 0.085, 0.1, 0.115, 0.123, 0.121, 0.099",\
                 "-0.001, 0.012, 0.04, 0.063, 0.087, 0.098, 0.112, 0.124, 0.122, 0.102",\
                 "0.029, 0.042, 0.066, 0.085, 0.1, 0.118, 0.126, 0.135, 0.137, 0.115",\
                 "0.102, 0.116, 0.123, 0.133, 0.142, 0.153, 0.159, 0.168, 0.168, 0.142",\
                 "0.222, 0.236, 0.234, 0.234, 0.233, 0.238, 0.237, 0.242, 0.234, 0.213",\
                 "0.398, 0.416, 0.395, 0.384, 0.378, 0.376, 0.371, 0.378, 0.375, 0.347",\
                 "0.631, 0.653, 0.609, 0.58, 0.573, 0.567, 0.559, 0.584, 0.584, 0.56",\
                 "0.928, 0.954, 0.878, 0.815, 0.816, 0.808, 0.806, 0.847, 0.863, 0.845",\
                 "1.284, 1.306, 1.197, 1.128, 1.11, 1.119, 1.109, 1.18, 1.217, 1.213");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.108, 0.085, 0.056, 0.027, 0.009, 0.002, -0.001, 0.012, 0.035",\
                 "0.124, 0.119, 0.089, 0.062, 0.038, 0.018, 0.004, 0.002, 0.015, 0.043",\
                 "0.136, 0.124, 0.103, 0.071, 0.044, 0.023, 0.006, 0.006, 0.018, 0.044",\
                 "0.144, 0.131, 0.103, 0.077, 0.043, 0.022, 0.004, 0.005, 0.012, 0.043",\
                 "0.144, 0.131, 0.104, 0.069, 0.041, 0.014, -0.004, -0.005, 0.002, 0.032",\
                 "0.123, 0.117, 0.092, 0.052, 0.022, -0.005, -0.029, -0.031, -0.02, 0.007",\
                 "0.091, 0.081, 0.058, 0.026, -0.012, -0.045, -0.065, -0.075, -0.062, -0.04",\
                 "0.024, 0.016, -0.006, -0.038, -0.076, -0.104, -0.13, -0.143, -0.138, -0.112",\
                 "-0.069, -0.072, -0.093, -0.125, -0.163, -0.201, -0.228, -0.24, -0.234, -0.215",\
                 "-0.191, -0.195, -0.215, -0.249, -0.287, -0.33, -0.359, -0.374, -0.37, -0.348");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.108, 0.085, 0.056, 0.027, 0.009, 0.002, -0.001, 0.012, 0.035",\
                 "0.124, 0.119, 0.089, 0.062, 0.038, 0.018, 0.004, 0.002, 0.015, 0.043",\
                 "0.136, 0.124, 0.103, 0.071, 0.044, 0.023, 0.006, 0.006, 0.018, 0.044",\
                 "0.144, 0.131, 0.103, 0.077, 0.043, 0.022, 0.004, 0.005, 0.012, 0.043",\
                 "0.144, 0.131, 0.104, 0.069, 0.041, 0.014, -0.004, -0.005, 0.002, 0.032",\
                 "0.123, 0.117, 0.092, 0.052, 0.022, -0.005, -0.029, -0.031, -0.02, 0.007",\
                 "0.091, 0.081, 0.058, 0.026, -0.012, -0.045, -0.065, -0.075, -0.062, -0.04",\
                 "0.024, 0.016, -0.006, -0.038, -0.076, -0.104, -0.13, -0.143, -0.138, -0.112",\
                 "-0.069, -0.072, -0.093, -0.125, -0.163, -0.201, -0.228, -0.24, -0.234, -0.215",\
                 "-0.191, -0.195, -0.215, -0.249, -0.287, -0.33, -0.359, -0.374, -0.37, -0.348");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.003625 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.398 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01349, 0.01346, 0.01343, 0.01342, 0.01344, 0.01345, 0.01346, \
                 0.01345, 0.01345, 0.01345");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009695, -0.009672, -0.009686, -0.009701, -0.009693, -0.009722, \
                 -0.009732, -0.009734, -0.009738, -0.009757");
        }
      }

      internal_power() {
        when : "D&!E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01349, 0.01349, 0.01346, 0.01343, 0.01343, 0.01343, 0.01346, \
                 0.01345, 0.01346, 0.01345");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0097, -0.009689, -0.009685, -0.009703, -0.009694, -0.009723, \
                 -0.009732, -0.009734, -0.009737, -0.009757");
        }
      }

      internal_power() {
        when : "D&E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01347, 0.01348, 0.01344, 0.01346, 0.01345, 0.01345, 0.01345, \
                 0.01345, 0.01345, 0.01344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009705, -0.00969, -0.009697, -0.009693, -0.009689, -0.009727, \
                 -0.009714, -0.009734, -0.009742, -0.009755");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.017, -0.001, -0.071, -0.18, -0.3, -0.445, -0.597, -0.774, -0.967, -1.189",\
                 "0.028, 0.007, -0.059, -0.17, -0.294, -0.436, -0.587, -0.762, -0.956, -1.184",\
                 "0.055, 0.035, -0.031, -0.137, -0.26, -0.398, -0.556, -0.739, -0.933, -1.163",\
                 "0.09, 0.073, 0.005, -0.099, -0.226, -0.366, -0.525, -0.709, -0.915, -1.138",\
                 "0.106, 0.092, 0.035, -0.074, -0.195, -0.337, -0.502, -0.686, -0.898, -1.119",\
                 "0.146, 0.129, 0.06, -0.036, -0.162, -0.308, -0.466, -0.646, -0.858, -1.086",\
                 "0.175, 0.158, 0.094, -0.004, -0.133, -0.274, -0.436, -0.622, -0.825, -1.053",\
                 "0.195, 0.177, 0.118, 0.022, -0.099, -0.247, -0.403, -0.589, -0.793, -1.022",\
                 "0.218, 0.209, 0.139, 0.041, -0.078, -0.217, -0.381, -0.557, -0.771, -0.999",\
                 "0.236, 0.219, 0.155, 0.065, -0.055, -0.194, -0.352, -0.533, -0.74, -0.972");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : removal_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.183, 0.199, 0.265, 0.371, 0.501, 0.647, 0.825, 1.016, 1.229, 1.475",\
                 "0.176, 0.19, 0.26, 0.363, 0.494, 0.642, 0.81, 1.007, 1.221, 1.467",\
                 "0.144, 0.16, 0.228, 0.329, 0.461, 0.609, 0.782, 0.97, 1.19, 1.432",\
                 "0.101, 0.119, 0.187, 0.291, 0.417, 0.564, 0.735, 0.93, 1.142, 1.385",\
                 "0.065, 0.085, 0.149, 0.254, 0.377, 0.53, 0.697, 0.886, 1.105, 1.345",\
                 "0.032, 0.047, 0.119, 0.219, 0.346, 0.491, 0.655, 0.848, 1.062, 1.306",\
                 "0.01, 0.021, 0.087, 0.193, 0.316, 0.463, 0.63, 0.817, 1.031, 1.267",\
                 "-0.006, 0.008, 0.075, 0.179, 0.299, 0.449, 0.608, 0.796, 1.009, 1.246",\
                 "-0.003, 0.007, 0.076, 0.178, 0.305, 0.441, 0.605, 0.793, 1.003, 1.242",\
                 "0.009, 0.027, 0.092, 0.188, 0.312, 0.46, 0.624, 0.805, 1.019, 1.249");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.124, 0.136, 0.144, 0.144, 0.123, 0.091, 0.024, -0.069, -0.191",\
                 "0.108, 0.119, 0.124, 0.131, 0.131, 0.117, 0.081, 0.016, -0.072, -0.195",\
                 "0.085, 0.089, 0.103, 0.103, 0.104, 0.092, 0.058, -0.006, -0.093, -0.215",\
                 "0.056, 0.062, 0.071, 0.077, 0.069, 0.052, 0.026, -0.038, -0.125, -0.249",\
                 "0.027, 0.038, 0.044, 0.043, 0.041, 0.022, -0.012, -0.076, -0.163, -0.287",\
                 "0.009, 0.018, 0.023, 0.022, 0.014, -0.005, -0.045, -0.104, -0.201, -0.33",\
                 "0.002, 0.004, 0.006, 0.004, -0.004, -0.029, -0.065, -0.13, -0.228, -0.359",\
                 "-0.001, 0.002, 0.006, 0.005, -0.005, -0.031, -0.075, -0.143, -0.24, -0.374",\
                 "0.012, 0.015, 0.018, 0.012, 0.002, -0.02, -0.062, -0.138, -0.234, -0.37",\
                 "0.035, 0.043, 0.044, 0.043, 0.032, 0.007, -0.04, -0.112, -0.215, -0.348");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.124, 0.136, 0.144, 0.144, 0.123, 0.091, 0.024, -0.069, -0.191",\
                 "0.108, 0.119, 0.124, 0.131, 0.131, 0.117, 0.081, 0.016, -0.072, -0.195",\
                 "0.085, 0.089, 0.103, 0.103, 0.104, 0.092, 0.058, -0.006, -0.093, -0.215",\
                 "0.056, 0.062, 0.071, 0.077, 0.069, 0.052, 0.026, -0.038, -0.125, -0.249",\
                 "0.027, 0.038, 0.044, 0.043, 0.041, 0.022, -0.012, -0.076, -0.163, -0.287",\
                 "0.009, 0.018, 0.023, 0.022, 0.014, -0.005, -0.045, -0.104, -0.201, -0.33",\
                 "0.002, 0.004, 0.006, 0.004, -0.004, -0.029, -0.065, -0.13, -0.228, -0.359",\
                 "-0.001, 0.002, 0.006, 0.005, -0.005, -0.031, -0.075, -0.143, -0.24, -0.374",\
                 "0.012, 0.015, 0.018, 0.012, 0.002, -0.02, -0.062, -0.138, -0.234, -0.37",\
                 "0.035, 0.043, 0.044, 0.043, 0.032, 0.007, -0.04, -0.112, -0.215, -0.348");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.001, -0.001, 0.029, 0.102, 0.222, 0.398, 0.631, 0.936, 1.284",\
                 "0.015, 0.007, 0.012, 0.042, 0.116, 0.236, 0.416, 0.653, 0.954, 1.311",\
                 "0.044, 0.041, 0.04, 0.066, 0.123, 0.234, 0.395, 0.609, 0.878, 1.197",\
                 "0.072, 0.064, 0.063, 0.085, 0.133, 0.234, 0.384, 0.58, 0.823, 1.128",\
                 "0.092, 0.085, 0.087, 0.1, 0.142, 0.233, 0.373, 0.573, 0.796, 1.11",\
                 "0.106, 0.1, 0.098, 0.118, 0.153, 0.238, 0.376, 0.567, 0.819, 1.113",\
                 "0.116, 0.115, 0.112, 0.126, 0.159, 0.237, 0.371, 0.559, 0.806, 1.116",\
                 "0.125, 0.123, 0.124, 0.135, 0.168, 0.242, 0.378, 0.584, 0.854, 1.18",\
                 "0.122, 0.121, 0.122, 0.137, 0.168, 0.234, 0.375, 0.584, 0.871, 1.217",\
                 "0.106, 0.099, 0.102, 0.115, 0.148, 0.213, 0.347, 0.568, 0.864, 1.228");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.001, -0.001, 0.029, 0.102, 0.222, 0.398, 0.631, 0.928, 1.284",\
                 "0.015, 0.007, 0.012, 0.042, 0.116, 0.236, 0.416, 0.653, 0.954, 1.306",\
                 "0.044, 0.041, 0.04, 0.066, 0.123, 0.234, 0.395, 0.609, 0.878, 1.197",\
                 "0.072, 0.064, 0.063, 0.085, 0.133, 0.234, 0.384, 0.58, 0.815, 1.128",\
                 "0.092, 0.085, 0.087, 0.1, 0.142, 0.233, 0.378, 0.573, 0.816, 1.11",\
                 "0.106, 0.1, 0.098, 0.118, 0.153, 0.238, 0.376, 0.567, 0.808, 1.119",\
                 "0.116, 0.115, 0.112, 0.126, 0.159, 0.237, 0.371, 0.559, 0.806, 1.109",\
                 "0.13, 0.123, 0.124, 0.135, 0.168, 0.242, 0.378, 0.584, 0.847, 1.18",\
                 "0.122, 0.121, 0.122, 0.137, 0.168, 0.234, 0.375, 0.584, 0.863, 1.217",\
                 "0.101, 0.099, 0.102, 0.115, 0.142, 0.213, 0.347, 0.56, 0.845, 1.213");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E&RN" ;

        fall_constraint(scalar) {
          values("0.398");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E&RN" ;

        fall_constraint(scalar) {
          values("0.398");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latrsnq_4) {
    area : 68.051200 ;

    latch(IQ2,IQN2) {
      enable : "E" ;
      data_in : "D" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : H ;
      clear_preset_var2 : L ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!RN&!SETN" ;
      value : "0.0001668876" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!RN&SETN" ;
      value : "0.0001629573" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&RN&!SETN" ;
      value : "0.0001600236" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&RN&SETN" ;
      value : "0.0001839981" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!RN&!SETN" ;
      value : "0.000150744" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!RN&SETN" ;
      value : "0.0001632147" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&RN&!SETN" ;
      value : "0.0001513248" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&RN&SETN" ;
      value : "0.0001634919" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!RN&!SETN" ;
      value : "0.0001669635" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!RN&SETN" ;
      value : "0.0001630332" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&RN&!SETN" ;
      value : "0.0001600236" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&RN&SETN" ;
      value : "0.0002100219" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!RN&!SETN" ;
      value : "0.0001672209" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!RN&SETN" ;
      value : "0.0001796916" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&RN&!SETN" ;
      value : "0.000160281" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&RN&SETN" ;
      value : "0.0001768668" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002100219" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.003027 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01128, 0.01137, 0.01155, 0.01177, 0.01194, 0.01205, 0.01211, \
                 0.01216, 0.0122, 0.0122");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008154, -0.008134, -0.00815, -0.008197, -0.008228, -0.008262, \
                 -0.008277, -0.008281, -0.00829, -0.00829");
        }
      }

      internal_power() {
        when : "!E&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01128, 0.01137, 0.01155, 0.01177, 0.01194, 0.01205, 0.01211, \
                 0.01216, 0.01219, 0.0122");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008158, -0.008134, -0.00815, -0.008197, -0.008228, -0.008263, \
                 -0.008277, -0.008281, -0.008293, -0.008291");
        }
      }

      internal_power() {
        when : "!E&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008358, 0.008361, 0.008352, 0.008342, 0.008357, 0.00838, 0.008371, \
                 0.008368, 0.008366, 0.00837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006999, -0.007604, -0.008126, -0.008205, -0.008215, -0.008259, \
                 -0.008276, -0.008281, -0.00828, -0.00829");
        }
      }

      internal_power() {
        when : "!E&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009005, 0.009004, 0.008982, 0.008997, 0.008998, 0.009, 0.009018, \
                 0.009018, 0.009016, 0.009016");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008133, -0.008128, -0.008152, -0.008202, -0.008223, -0.008245, \
                 -0.008281, -0.008286, -0.008287, -0.008293");
        }
      }

      internal_power() {
        when : "E&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009225, 0.009213, 0.009213, 0.00921, 0.009199, 0.009202, 0.0092, \
                 0.009197, 0.009202, 0.009179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006873, -0.006879, -0.006874, -0.006871, -0.006881, -0.00691, \
                 -0.006918, -0.006928, -0.006952, -0.006967");
        }
      }

      internal_power() {
        when : "E&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009215, 0.009213, 0.009213, 0.009207, 0.009205, 0.009204, 0.009196, \
                 0.009201, 0.009205, 0.009185");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006875, -0.006878, -0.006874, -0.00688, -0.006876, -0.006911, \
                 -0.006917, -0.006935, -0.006947, -0.006974");
        }
      }

      internal_power() {
        when : "E&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08463, 0.08435, 0.08384, 0.08539, 0.09082, 0.101, 0.1163, 0.1369, \
                 0.1629, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02069, 0.02022, 0.01993, 0.02129, 0.0256, 0.03375, 0.04627, \
                 0.06352, 0.08566, 0.1129");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.624, -0.607, -0.551, -0.474, -0.377, -0.28, -0.162, -0.041, 0.115, 0.283",\
                 "-0.637, -0.62, -0.563, -0.486, -0.394, -0.289, -0.176, -0.05, 0.097, 0.272",\
                 "-0.678, -0.663, -0.598, -0.523, -0.426, -0.329, -0.214, -0.087, 0.065, 0.241",\
                 "-0.753, -0.739, -0.682, -0.604, -0.512, -0.401, -0.284, -0.152, 0.006, 0.182",\
                 "-0.888, -0.873, -0.816, -0.738, -0.645, -0.53, -0.407, -0.269, -0.106, 0.076",\
                 "-1.078, -1.061, -0.998, -0.914, -0.819, -0.702, -0.571, -0.424, -0.264, -0.078",\
                 "-1.305, -1.281, -1.217, -1.134, -1.039, -0.918, -0.775, -0.628, -0.464, -0.274",\
                 "-1.564, -1.545, -1.473, -1.391, -1.3, -1.176, -1.031, -0.875, -0.699, -0.509",\
                 "-1.858, -1.832, -1.761, -1.683, -1.588, -1.471, -1.315, -1.151, -0.965, -0.767",\
                 "-2.178, -2.158, -2.085, -2, -1.91, -1.791, -1.631, -1.453, -1.26, -1.059");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.607, -0.601, -0.578, -0.592, -0.675, -0.769, -0.845, -0.89, -0.904, -0.878",\
                 "-0.61, -0.604, -0.587, -0.592, -0.679, -0.773, -0.844, -0.898, -0.907, -0.881",\
                 "-0.635, -0.627, -0.606, -0.621, -0.696, -0.782, -0.848, -0.895, -0.912, -0.885",\
                 "-0.68, -0.671, -0.653, -0.666, -0.728, -0.796, -0.863, -0.907, -0.912, -0.887",\
                 "-0.739, -0.734, -0.712, -0.712, -0.76, -0.819, -0.882, -0.92, -0.939, -0.913",\
                 "-0.791, -0.784, -0.762, -0.753, -0.792, -0.847, -0.908, -0.954, -0.982, -0.97",\
                 "-0.825, -0.819, -0.791, -0.785, -0.816, -0.871, -0.937, -0.989, -1.037, -1.044",\
                 "-0.845, -0.834, -0.814, -0.803, -0.826, -0.89, -0.963, -1.036, -1.097, -1.124",\
                 "-0.831, -0.82, -0.801, -0.792, -0.821, -0.889, -0.972, -1.063, -1.152, -1.217",\
                 "-0.793, -0.785, -0.771, -0.763, -0.79, -0.86, -0.96, -1.078, -1.188, -1.289");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN_AND_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "RN&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.727, 0.709, 0.648, 0.574, 0.489, 0.389, 0.322, 0.265, 0.227, 0.207",\
                 "0.739, 0.723, 0.663, 0.592, 0.502, 0.401, 0.33, 0.276, 0.24, 0.21",\
                 "0.774, 0.758, 0.701, 0.622, 0.54, 0.438, 0.359, 0.298, 0.25, 0.205",\
                 "0.853, 0.835, 0.775, 0.697, 0.613, 0.504, 0.414, 0.333, 0.256, 0.182",\
                 "0.985, 0.965, 0.913, 0.829, 0.74, 0.627, 0.516, 0.41, 0.296, 0.181",\
                 "1.165, 1.149, 1.087, 1.002, 0.915, 0.788, 0.658, 0.533, 0.4, 0.253",\
                 "1.39, 1.367, 1.299, 1.215, 1.12, 0.999, 0.856, 0.715, 0.564, 0.395",\
                 "1.647, 1.622, 1.548, 1.465, 1.375, 1.252, 1.1, 0.939, 0.773, 0.598",\
                 "1.929, 1.911, 1.835, 1.753, 1.663, 1.534, 1.374, 1.198, 1.027, 0.83",\
                 "2.251, 2.227, 2.15, 2.062, 1.971, 1.849, 1.681, 1.493, 1.305, 1.095");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.75, 0.737, 0.723, 0.747, 0.913, 1.247, 1.739, 2.372, 3.156, 4.096",\
                 "0.753, 0.746, 0.735, 0.756, 0.919, 1.256, 1.744, 2.366, 3.154, 4.089",\
                 "0.774, 0.763, 0.748, 0.773, 0.94, 1.261, 1.727, 2.343, 3.104, 4.018",\
                 "0.826, 0.816, 0.799, 0.82, 0.967, 1.272, 1.702, 2.276, 2.991, 3.842",\
                 "0.874, 0.864, 0.852, 0.865, 0.988, 1.258, 1.649, 2.165, 2.803, 3.583",\
                 "0.923, 0.913, 0.902, 0.915, 1.021, 1.252, 1.615, 2.091, 2.695, 3.421",\
                 "0.959, 0.947, 0.936, 0.945, 1.028, 1.241, 1.574, 2.033, 2.597, 3.3",\
                 "0.974, 0.965, 0.951, 0.964, 1.042, 1.235, 1.549, 1.997, 2.562, 3.254",\
                 "0.966, 0.956, 0.95, 0.958, 1.029, 1.203, 1.521, 1.961, 2.536, 3.235",\
                 "0.934, 0.927, 0.922, 0.932, 0.994, 1.164, 1.467, 1.908, 2.503, 3.219");
        }
      }
    }

    pin(E) {
      capacitance : 0.007227 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.802 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06794, 0.06724, 0.06894, 0.07555, 0.08823, 0.1076, 0.1341, 0.1682, \
                 0.2104, 0.2611");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004312, 0.003807, 0.004657, 0.009855, 0.02072, 0.03769, 0.06132, \
                 0.09182, 0.1296, 0.1751");
        }
      }

      internal_power() {
        when : "!D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06448, 0.06379, 0.0655, 0.07209, 0.08483, 0.1041, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00384, 0.003359, 0.004214, 0.009437, 0.02037, 0.03737, 0.06097, \
                 0.09146, 0.1293, 0.1747");
        }
      }

      internal_power() {
        when : "!D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09313, 0.09253, 0.09452, 0.1017, 0.115, 0.1349, 0.1622, 0.1973, \
                 0.2405, 0.2926");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07326, 0.07283, 0.0735, 0.07842, 0.08917, 0.1062, 0.1302, 0.1613, \
                 0.2, 0.247");
        }
      }

      internal_power() {
        when : "!D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06446, 0.0638, 0.06546, 0.07211, 0.08483, 0.1042, 0.1307, 0.1648, \
                 0.207, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0009016, 0.0003851, 0.001241, 0.00646, 0.01735, 0.03441, 0.058, \
                 0.08852, 0.1263, 0.1718");
        }
      }

      internal_power() {
        when : "D&!RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06811, 0.06744, 0.06909, 0.07571, 0.08832, 0.1077, 0.1342, 0.1683, \
                 0.2105, 0.2612");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01236, 0.01185, 0.01268, 0.01787, 0.0287, 0.04571, 0.0693, 0.09981, \
                 0.1376, 0.1831");
        }
      }

      internal_power() {
        when : "D&!RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06468, 0.06397, 0.06568, 0.07227, 0.085, 0.1043, 0.1308, 0.1649, \
                 0.2072, 0.2579");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01187, 0.01137, 0.01223, 0.01748, 0.02839, 0.04538, 0.06897, \
                 0.09947, 0.1373, 0.1827");
        }
      }

      internal_power() {
        when : "D&RN&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06453, 0.06383, 0.06561, 0.07239, 0.08519, 0.1047, 0.1313, 0.1655, \
                 0.2078, 0.2586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0032, 0.002688, 0.003465, 0.008628, 0.01939, 0.0363, 0.05983, \
                 0.09031, 0.1281, 0.1735");
        }
      }

      internal_power() {
        when : "D&RN&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06454, 0.06383, 0.06561, 0.07239, 0.0852, 0.1048, 0.1313, 0.1655, \
                 0.2078, 0.2586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0006828, 0.0002084, 0.0009886, 0.006153, 0.01694, 0.03388, 0.0574, \
                 0.08786, 0.1256, 0.1711");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SETN" ;

        rise_constraint(scalar) {
          values("0.802");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SETN" ;

        rise_constraint(scalar) {
          values("0.686");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ2" ;
      max_capacitance : 1.444 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E&RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3697, 0.3641, 0.3598, 0.3593, 0.359, 0.3588, 0.3588, 0.3588, 0.3589, 0.3589",\
                 "0.3694, 0.3636, 0.3596, 0.3586, 0.3584, 0.3588, 0.3586, 0.3588, 0.3588, 0.3588",\
                 "0.3687, 0.3633, 0.3588, 0.358, 0.3579, 0.3581, 0.3582, 0.3582, 0.3582, 0.358",\
                 "0.3705, 0.3651, 0.3607, 0.3597, 0.3598, 0.3599, 0.3598, 0.3598, 0.3598, 0.3598",\
                 "0.377, 0.3714, 0.367, 0.3662, 0.3662, 0.3661, 0.3662, 0.3664, 0.3663, 0.3664",\
                 "0.3889, 0.3831, 0.3792, 0.3784, 0.3782, 0.3782, 0.3781, 0.3781, 0.3781, 0.3782",\
                 "0.4073, 0.4016, 0.3973, 0.3966, 0.3963, 0.3961, 0.396, 0.396, 0.3961, 0.3961",\
                 "0.4319, 0.426, 0.4213, 0.4205, 0.4202, 0.4204, 0.4203, 0.4203, 0.4204, 0.4204",\
                 "0.4626, 0.4564, 0.4521, 0.4506, 0.4509, 0.4506, 0.4505, 0.4508, 0.4507, 0.4507",\
                 "0.4996, 0.4935, 0.4888, 0.4872, 0.4871, 0.4872, 0.4869, 0.4871, 0.4871, 0.4871");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3336, 0.33, 0.3269, 0.3278, 0.3296, 0.3321, 0.3348, 0.3373, 0.3417, 0.3591",\
                 "0.3334, 0.33, 0.3262, 0.3269, 0.33, 0.3328, 0.3345, 0.337, 0.3394, 0.3584",\
                 "0.3331, 0.3297, 0.3259, 0.326, 0.3288, 0.3324, 0.3341, 0.3367, 0.3391, 0.359",\
                 "0.3349, 0.331, 0.3275, 0.3277, 0.3313, 0.3341, 0.3358, 0.3383, 0.3404, 0.3621",\
                 "0.3404, 0.3368, 0.3335, 0.3334, 0.3362, 0.3397, 0.3421, 0.3439, 0.346, 0.3701",\
                 "0.3498, 0.3458, 0.3428, 0.3435, 0.3447, 0.3473, 0.351, 0.3532, 0.357, 0.3839",\
                 "0.3652, 0.3618, 0.3579, 0.3574, 0.3607, 0.3641, 0.3655, 0.3686, 0.3723, 0.4073",\
                 "0.3866, 0.383, 0.3793, 0.3786, 0.3793, 0.3842, 0.3883, 0.3903, 0.3946, 0.4404",\
                 "0.4134, 0.4094, 0.4049, 0.4056, 0.4054, 0.4083, 0.414, 0.4194, 0.4267, 0.4941",\
                 "0.4459, 0.4415, 0.4375, 0.4368, 0.4386, 0.4407, 0.4427, 0.4499, 0.4675, 0.5636");
        }
      }

      internal_power() {
        related_pin : "E" ;
        when : "RN&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3589, 0.3533, 0.3491, 0.348, 0.348, 0.3482, 0.3482, 0.3482, 0.3483, 0.3483",\
                 "0.3591, 0.3535, 0.3489, 0.3483, 0.3481, 0.3482, 0.3483, 0.3484, 0.3484, 0.3485",\
                 "0.3589, 0.3536, 0.349, 0.348, 0.3483, 0.3481, 0.3483, 0.3483, 0.3483, 0.3483",\
                 "0.3586, 0.3531, 0.3486, 0.3483, 0.3481, 0.3481, 0.3479, 0.348, 0.348, 0.348",\
                 "0.3579, 0.3524, 0.3481, 0.3471, 0.347, 0.3471, 0.3472, 0.3472, 0.3472, 0.3474",\
                 "0.3577, 0.3523, 0.3483, 0.3474, 0.3471, 0.3472, 0.3472, 0.3471, 0.3471, 0.3471",\
                 "0.3584, 0.3527, 0.3485, 0.3477, 0.3471, 0.3473, 0.3476, 0.3476, 0.3477, 0.3477",\
                 "0.359, 0.3534, 0.3493, 0.3486, 0.3483, 0.348, 0.3481, 0.3483, 0.3483, 0.3483",\
                 "0.36, 0.3543, 0.3499, 0.349, 0.3494, 0.3492, 0.3491, 0.3491, 0.349, 0.349",\
                 "0.3611, 0.3554, 0.3514, 0.3501, 0.3502, 0.3504, 0.3503, 0.3503, 0.3502, 0.3504");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3363, 0.3326, 0.3296, 0.3293, 0.3316, 0.3347, 0.3374, 0.3396, 0.3413, 0.3607",\
                 "0.3362, 0.3325, 0.33, 0.3301, 0.3318, 0.3349, 0.3372, 0.3398, 0.3438, 0.3615",\
                 "0.3365, 0.3332, 0.3301, 0.3303, 0.332, 0.3351, 0.3378, 0.3403, 0.344, 0.361",\
                 "0.3386, 0.3353, 0.3313, 0.333, 0.3344, 0.3372, 0.3399, 0.3421, 0.3464, 0.3662",\
                 "0.345, 0.3415, 0.3377, 0.3384, 0.3406, 0.3445, 0.3472, 0.3475, 0.3522, 0.3743",\
                 "0.3539, 0.3503, 0.347, 0.3476, 0.3491, 0.3517, 0.3547, 0.3573, 0.3614, 0.3883",\
                 "0.3688, 0.3652, 0.3613, 0.3608, 0.3645, 0.3671, 0.3688, 0.3716, 0.3756, 0.4109",\
                 "0.3874, 0.384, 0.3803, 0.3797, 0.3807, 0.3855, 0.3908, 0.3926, 0.3982, 0.4436",\
                 "0.4081, 0.4046, 0.3996, 0.3998, 0.4008, 0.4035, 0.4085, 0.4152, 0.4225, 0.4867",\
                 "0.4304, 0.4264, 0.4224, 0.4214, 0.4225, 0.4253, 0.427, 0.4333, 0.4517, 0.5496");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!D&!E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3562, 0.3508, 0.3471, 0.3461, 0.346, 0.3462, 0.3462, 0.3465, 0.3465, 0.3465",\
                 "0.3563, 0.3509, 0.3471, 0.3467, 0.3464, 0.3462, 0.3464, 0.3464, 0.3464, 0.3464",\
                 "0.3567, 0.3512, 0.3476, 0.347, 0.3468, 0.3469, 0.3469, 0.3468, 0.3469, 0.3468",\
                 "0.36, 0.3548, 0.3513, 0.3499, 0.3498, 0.3499, 0.3501, 0.3501, 0.3501, 0.3501",\
                 "0.3684, 0.3632, 0.3594, 0.3584, 0.3581, 0.3584, 0.3585, 0.3585, 0.3587, 0.3587",\
                 "0.3831, 0.3778, 0.374, 0.3728, 0.3727, 0.373, 0.373, 0.3731, 0.3731, 0.3731",\
                 "0.4033, 0.3979, 0.3939, 0.3929, 0.3928, 0.3928, 0.3931, 0.3932, 0.3933, 0.3933",\
                 "0.4292, 0.4236, 0.4191, 0.4183, 0.4184, 0.4185, 0.4186, 0.4185, 0.4187, 0.4187",\
                 "0.4598, 0.4542, 0.4502, 0.4495, 0.4491, 0.449, 0.449, 0.4491, 0.4492, 0.4492",\
                 "0.4944, 0.4885, 0.4845, 0.4837, 0.4831, 0.4831, 0.4834, 0.4833, 0.4834, 0.4835");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3562, 0.3508, 0.3471, 0.3461, 0.346, 0.3462, 0.3462, 0.3465, 0.3465, 0.3465",\
                 "0.3563, 0.3509, 0.3471, 0.3467, 0.3464, 0.3462, 0.3464, 0.3464, 0.3464, 0.3464",\
                 "0.3567, 0.3512, 0.3476, 0.347, 0.3468, 0.3469, 0.3469, 0.3468, 0.3469, 0.3468",\
                 "0.36, 0.3548, 0.3513, 0.3499, 0.3498, 0.3499, 0.3501, 0.3501, 0.3501, 0.3501",\
                 "0.3684, 0.3632, 0.3594, 0.3584, 0.3581, 0.3584, 0.3585, 0.3585, 0.3587, 0.3587",\
                 "0.3831, 0.3778, 0.374, 0.3728, 0.3727, 0.373, 0.373, 0.3731, 0.3731, 0.3731",\
                 "0.4033, 0.3979, 0.3939, 0.3929, 0.3928, 0.3928, 0.3931, 0.3932, 0.3933, 0.3933",\
                 "0.4292, 0.4236, 0.4191, 0.4183, 0.4184, 0.4185, 0.4186, 0.4185, 0.4187, 0.4187",\
                 "0.4598, 0.4542, 0.4502, 0.4495, 0.4491, 0.449, 0.449, 0.4491, 0.4492, 0.4492",\
                 "0.4944, 0.4885, 0.4845, 0.4837, 0.4831, 0.4831, 0.4834, 0.4833, 0.4834, 0.4835");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&!E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3561, 0.3509, 0.3472, 0.3461, 0.3459, 0.3461, 0.3462, 0.3463, 0.3464, 0.3464",\
                 "0.3562, 0.3509, 0.3472, 0.3462, 0.3459, 0.3461, 0.3462, 0.3463, 0.3465, 0.3464",\
                 "0.3567, 0.3514, 0.3476, 0.3466, 0.3463, 0.3466, 0.3466, 0.3467, 0.3469, 0.3468",\
                 "0.3598, 0.3544, 0.351, 0.3497, 0.35, 0.3499, 0.3498, 0.3498, 0.3499, 0.3499",\
                 "0.3684, 0.3631, 0.3593, 0.3583, 0.358, 0.3583, 0.3584, 0.3584, 0.3586, 0.3586",\
                 "0.3832, 0.3778, 0.3736, 0.3726, 0.3725, 0.3728, 0.3728, 0.3729, 0.373, 0.373",\
                 "0.4031, 0.3979, 0.3938, 0.3928, 0.3926, 0.3929, 0.393, 0.3928, 0.393, 0.393",\
                 "0.429, 0.4234, 0.4195, 0.4183, 0.4181, 0.4182, 0.4183, 0.4184, 0.4183, 0.4183",\
                 "0.4594, 0.4537, 0.45, 0.4488, 0.4488, 0.4487, 0.4489, 0.4489, 0.4488, 0.4487",\
                 "0.4942, 0.4885, 0.4841, 0.4836, 0.4832, 0.4831, 0.4833, 0.4831, 0.4831, 0.4831");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3561, 0.3509, 0.3472, 0.3461, 0.3459, 0.3461, 0.3462, 0.3463, 0.3464, 0.3464",\
                 "0.3562, 0.3509, 0.3472, 0.3462, 0.3459, 0.3461, 0.3462, 0.3463, 0.3465, 0.3464",\
                 "0.3567, 0.3514, 0.3476, 0.3466, 0.3463, 0.3466, 0.3466, 0.3467, 0.3469, 0.3468",\
                 "0.3598, 0.3544, 0.351, 0.3497, 0.35, 0.3499, 0.3498, 0.3498, 0.3499, 0.3499",\
                 "0.3684, 0.3631, 0.3593, 0.3583, 0.358, 0.3583, 0.3584, 0.3584, 0.3586, 0.3586",\
                 "0.3832, 0.3778, 0.3736, 0.3726, 0.3725, 0.3728, 0.3728, 0.3729, 0.373, 0.373",\
                 "0.4031, 0.3979, 0.3938, 0.3928, 0.3926, 0.3929, 0.393, 0.3928, 0.393, 0.393",\
                 "0.429, 0.4234, 0.4195, 0.4183, 0.4181, 0.4182, 0.4183, 0.4184, 0.4183, 0.4183",\
                 "0.4594, 0.4537, 0.45, 0.4488, 0.4488, 0.4487, 0.4489, 0.4489, 0.4488, 0.4487",\
                 "0.4942, 0.4885, 0.4841, 0.4836, 0.4832, 0.4831, 0.4833, 0.4831, 0.4831, 0.4831");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "D&E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3787, 0.3733, 0.3691, 0.3682, 0.3686, 0.3683, 0.3683, 0.3684, 0.3685, 0.3685",\
                 "0.3774, 0.3717, 0.368, 0.3671, 0.367, 0.3672, 0.367, 0.3672, 0.3672, 0.3672",\
                 "0.3772, 0.3717, 0.3678, 0.3668, 0.3666, 0.3668, 0.3668, 0.3671, 0.3671, 0.3671",\
                 "0.3804, 0.3751, 0.371, 0.3699, 0.3698, 0.37, 0.3702, 0.3701, 0.3701, 0.3701",\
                 "0.3887, 0.3835, 0.3794, 0.3783, 0.3786, 0.3786, 0.3786, 0.3787, 0.3787, 0.3785",\
                 "0.4012, 0.3956, 0.3913, 0.3907, 0.3908, 0.3906, 0.3907, 0.3907, 0.3908, 0.3907",\
                 "0.4219, 0.4162, 0.4118, 0.4111, 0.4109, 0.411, 0.4109, 0.411, 0.411, 0.4111",\
                 "0.4502, 0.4447, 0.4404, 0.4391, 0.4391, 0.4392, 0.4392, 0.4392, 0.4391, 0.4394",\
                 "0.4858, 0.4801, 0.4758, 0.475, 0.4741, 0.4742, 0.4744, 0.4746, 0.4745, 0.4746",\
                 "0.529, 0.5232, 0.5188, 0.5176, 0.5173, 0.5173, 0.5173, 0.5169, 0.5169, 0.5171");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3341, 0.3308, 0.3274, 0.3281, 0.3299, 0.3328, 0.3355, 0.3377, 0.3404, 0.3594",\
                 "0.3337, 0.3302, 0.3268, 0.3275, 0.3306, 0.3334, 0.3351, 0.3374, 0.34, 0.3587",\
                 "0.3335, 0.3301, 0.3263, 0.327, 0.3292, 0.3328, 0.3345, 0.337, 0.3394, 0.3593",\
                 "0.3353, 0.3318, 0.3281, 0.3282, 0.3304, 0.3341, 0.3361, 0.3387, 0.3407, 0.3625",\
                 "0.3407, 0.3372, 0.3339, 0.3346, 0.3368, 0.3404, 0.3427, 0.3436, 0.3477, 0.3698",\
                 "0.3516, 0.3482, 0.3444, 0.3459, 0.3473, 0.3496, 0.3523, 0.3542, 0.3596, 0.3859",\
                 "0.3692, 0.3656, 0.361, 0.3612, 0.3648, 0.3684, 0.3698, 0.3722, 0.3782, 0.4093",\
                 "0.3932, 0.3892, 0.3854, 0.3856, 0.3865, 0.3909, 0.3959, 0.3976, 0.4005, 0.4465",\
                 "0.4232, 0.4194, 0.4144, 0.4155, 0.4161, 0.4179, 0.4226, 0.4293, 0.4365, 0.4975",\
                 "0.4597, 0.456, 0.4517, 0.4507, 0.4522, 0.4539, 0.4566, 0.4625, 0.4798, 0.5753");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&!E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.2676, 0.2624, 0.259, 0.2578, 0.2577, 0.2578, 0.258, 0.258, 0.2581, 0.2581",\
                 "0.2673, 0.2622, 0.2585, 0.2575, 0.2574, 0.2576, 0.2579, 0.2579, 0.258, 0.2579",\
                 "0.2674, 0.2619, 0.2585, 0.2579, 0.2574, 0.2576, 0.2577, 0.258, 0.258, 0.2579",\
                 "0.2736, 0.268, 0.264, 0.2638, 0.2634, 0.2637, 0.2637, 0.2638, 0.2638, 0.2638",\
                 "0.2886, 0.283, 0.2783, 0.277, 0.277, 0.2771, 0.2772, 0.2772, 0.2773, 0.2773",\
                 "0.3107, 0.3044, 0.2994, 0.2978, 0.2977, 0.2971, 0.2971, 0.2973, 0.2973, 0.2975",\
                 "0.3415, 0.3346, 0.3286, 0.3267, 0.3259, 0.326, 0.3257, 0.3258, 0.3258, 0.3258",\
                 "0.3812, 0.3733, 0.3664, 0.3635, 0.3625, 0.3622, 0.3622, 0.3623, 0.3622, 0.3622",\
                 "0.4295, 0.4211, 0.412, 0.4092, 0.4083, 0.4076, 0.4075, 0.4073, 0.4073, 0.4072",\
                 "0.4868, 0.4776, 0.4675, 0.4637, 0.4618, 0.4606, 0.4604, 0.4603, 0.4602, 0.4603");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.2927, 0.2903, 0.2897, 0.2915, 0.2937, 0.2972, 0.2999, 0.3021, 0.3047, 0.3201",\
                 "0.2927, 0.29, 0.2893, 0.2914, 0.2938, 0.2972, 0.3002, 0.3027, 0.306, 0.3195",\
                 "0.2928, 0.2903, 0.2897, 0.2916, 0.2941, 0.2975, 0.3002, 0.3021, 0.3057, 0.3201",\
                 "0.3, 0.2976, 0.2966, 0.2979, 0.3014, 0.3031, 0.3065, 0.3084, 0.3107, 0.3285",\
                 "0.318, 0.3151, 0.3125, 0.313, 0.3151, 0.3183, 0.3216, 0.3242, 0.3275, 0.3473",\
                 "0.345, 0.3415, 0.3372, 0.3383, 0.3398, 0.3427, 0.3461, 0.348, 0.3524, 0.3766",\
                 "0.3817, 0.3771, 0.3724, 0.3701, 0.3744, 0.3777, 0.3794, 0.3815, 0.3859, 0.4183",\
                 "0.4278, 0.4232, 0.4167, 0.4142, 0.4151, 0.4186, 0.4236, 0.425, 0.4284, 0.4766",\
                 "0.4841, 0.4784, 0.4703, 0.4663, 0.4662, 0.4678, 0.4734, 0.4778, 0.486, 0.5578",\
                 "0.5498, 0.543, 0.5337, 0.5299, 0.5287, 0.5285, 0.5315, 0.5396, 0.5558, 0.6804");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&!E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3195, 0.3175, 0.3163, 0.3187, 0.3212, 0.3236, 0.3263, 0.3289, 0.3325, 0.3466",\
                 "0.3194, 0.317, 0.3161, 0.3183, 0.3211, 0.3236, 0.3266, 0.3275, 0.3328, 0.3459",\
                 "0.3194, 0.3171, 0.316, 0.3186, 0.3211, 0.3236, 0.3267, 0.3289, 0.3322, 0.3472",\
                 "0.3269, 0.3245, 0.3228, 0.325, 0.3277, 0.3309, 0.3323, 0.3368, 0.3404, 0.3559",\
                 "0.3455, 0.3429, 0.3402, 0.342, 0.3441, 0.3468, 0.3495, 0.3517, 0.355, 0.3751",\
                 "0.3742, 0.3701, 0.3668, 0.3677, 0.3694, 0.3725, 0.3739, 0.3771, 0.3819, 0.4037",\
                 "0.4137, 0.4095, 0.4045, 0.4031, 0.4062, 0.4084, 0.4102, 0.4122, 0.4166, 0.451",\
                 "0.4613, 0.4558, 0.4495, 0.4477, 0.4477, 0.451, 0.456, 0.4588, 0.4611, 0.5064",\
                 "0.5139, 0.5071, 0.4998, 0.4968, 0.495, 0.4972, 0.5032, 0.508, 0.5144, 0.5856",\
                 "0.57, 0.5638, 0.5544, 0.5504, 0.5491, 0.5504, 0.5517, 0.5572, 0.577, 0.6978");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3195, 0.3175, 0.3163, 0.3187, 0.3212, 0.3236, 0.3263, 0.3289, 0.3325, 0.3466",\
                 "0.3194, 0.317, 0.3161, 0.3183, 0.3211, 0.3236, 0.3266, 0.3275, 0.3328, 0.3459",\
                 "0.3194, 0.3171, 0.316, 0.3186, 0.3211, 0.3236, 0.3267, 0.3289, 0.3322, 0.3472",\
                 "0.3269, 0.3245, 0.3228, 0.325, 0.3277, 0.3309, 0.3323, 0.3368, 0.3404, 0.3559",\
                 "0.3455, 0.3429, 0.3402, 0.342, 0.3441, 0.3468, 0.3495, 0.3517, 0.355, 0.3751",\
                 "0.3742, 0.3701, 0.3668, 0.3677, 0.3694, 0.3725, 0.3739, 0.3771, 0.3819, 0.4037",\
                 "0.4137, 0.4095, 0.4045, 0.4031, 0.4062, 0.4084, 0.4102, 0.4122, 0.4166, 0.451",\
                 "0.4613, 0.4558, 0.4495, 0.4477, 0.4477, 0.451, 0.456, 0.4588, 0.4611, 0.5064",\
                 "0.5139, 0.5071, 0.4998, 0.4968, 0.495, 0.4972, 0.5032, 0.508, 0.5144, 0.5856",\
                 "0.57, 0.5638, 0.5544, 0.5504, 0.5491, 0.5504, 0.5517, 0.5572, 0.577, 0.6978");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.2711, 0.2657, 0.262, 0.2609, 0.2607, 0.2609, 0.261, 0.2611, 0.2613, 0.2613",\
                 "0.2707, 0.2651, 0.2616, 0.2604, 0.2607, 0.2605, 0.2607, 0.2607, 0.2607, 0.2607",\
                 "0.2707, 0.2654, 0.2616, 0.2606, 0.2603, 0.2606, 0.2606, 0.2607, 0.2608, 0.2609",\
                 "0.2768, 0.2712, 0.2673, 0.2664, 0.2666, 0.2664, 0.2666, 0.2666, 0.2668, 0.2668",\
                 "0.2919, 0.2863, 0.2814, 0.2801, 0.2801, 0.28, 0.2801, 0.2801, 0.2802, 0.2802",\
                 "0.3144, 0.308, 0.3029, 0.3009, 0.301, 0.3004, 0.3007, 0.3008, 0.3006, 0.3006",\
                 "0.3451, 0.3383, 0.3325, 0.3303, 0.3293, 0.3291, 0.3293, 0.3292, 0.3293, 0.3294",\
                 "0.3851, 0.377, 0.3698, 0.3675, 0.3661, 0.366, 0.366, 0.366, 0.3658, 0.3658",\
                 "0.4339, 0.4249, 0.4165, 0.4126, 0.4113, 0.4111, 0.411, 0.4108, 0.4107, 0.4107",\
                 "0.4916, 0.482, 0.4721, 0.4672, 0.4658, 0.4649, 0.4647, 0.4645, 0.4643, 0.4642");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.2935, 0.2911, 0.2897, 0.2923, 0.2942, 0.2976, 0.3013, 0.3028, 0.3074, 0.3222",\
                 "0.2932, 0.2909, 0.2898, 0.2918, 0.2944, 0.2973, 0.3003, 0.3018, 0.3061, 0.3205",\
                 "0.2934, 0.2909, 0.2897, 0.2919, 0.2938, 0.2973, 0.3009, 0.3022, 0.3064, 0.3218",\
                 "0.3001, 0.298, 0.2967, 0.2981, 0.3005, 0.3032, 0.3069, 0.3081, 0.3121, 0.3292",\
                 "0.3184, 0.3153, 0.3134, 0.3141, 0.3158, 0.32, 0.3224, 0.3246, 0.3283, 0.3487",\
                 "0.345, 0.3414, 0.3381, 0.3389, 0.3402, 0.3431, 0.3461, 0.3477, 0.3521, 0.3819",\
                 "0.3822, 0.3781, 0.3723, 0.3718, 0.3743, 0.3778, 0.3798, 0.3819, 0.386, 0.4227",\
                 "0.4285, 0.4233, 0.4172, 0.4146, 0.4146, 0.419, 0.423, 0.4245, 0.4288, 0.4774",\
                 "0.4848, 0.4792, 0.4716, 0.467, 0.4666, 0.4679, 0.4742, 0.4789, 0.4887, 0.5566",\
                 "0.5509, 0.5443, 0.5359, 0.5309, 0.5292, 0.5309, 0.5329, 0.5397, 0.5566, 0.6783");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.2676, 0.2623, 0.2585, 0.2575, 0.2574, 0.2576, 0.2578, 0.2578, 0.2579, 0.2579",\
                 "0.2671, 0.2616, 0.2581, 0.2571, 0.2573, 0.2573, 0.2575, 0.2576, 0.2576, 0.2576",\
                 "0.2673, 0.262, 0.2582, 0.2577, 0.257, 0.2572, 0.2573, 0.2575, 0.2575, 0.2575",\
                 "0.2732, 0.2678, 0.2639, 0.2633, 0.2629, 0.263, 0.2632, 0.2633, 0.2633, 0.2633",\
                 "0.2883, 0.2826, 0.2778, 0.2765, 0.2769, 0.2766, 0.2765, 0.2766, 0.2767, 0.2767",\
                 "0.3107, 0.3041, 0.2988, 0.2977, 0.2974, 0.2969, 0.2969, 0.2969, 0.297, 0.2971",\
                 "0.3414, 0.3344, 0.3279, 0.3261, 0.3253, 0.325, 0.3251, 0.3253, 0.3253, 0.3254",\
                 "0.3811, 0.3734, 0.366, 0.3632, 0.3623, 0.3617, 0.3616, 0.3616, 0.3618, 0.3616",\
                 "0.4295, 0.4209, 0.4123, 0.4089, 0.4074, 0.4066, 0.4067, 0.4063, 0.4064, 0.4064",\
                 "0.487, 0.4776, 0.4676, 0.4632, 0.4616, 0.4605, 0.4602, 0.46, 0.4599, 0.4599");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.296, 0.2938, 0.293, 0.2951, 0.2973, 0.3002, 0.3032, 0.3065, 0.3098, 0.3242",\
                 "0.2958, 0.2935, 0.2924, 0.2943, 0.2968, 0.2999, 0.3026, 0.3048, 0.3101, 0.3265",\
                 "0.2961, 0.2936, 0.2925, 0.2945, 0.2968, 0.3006, 0.3026, 0.3051, 0.3078, 0.3231",\
                 "0.303, 0.3006, 0.2995, 0.3009, 0.3043, 0.3062, 0.3098, 0.3111, 0.3157, 0.3328",\
                 "0.3214, 0.3176, 0.3156, 0.3164, 0.3188, 0.3213, 0.3247, 0.3289, 0.3309, 0.3556",\
                 "0.3479, 0.3445, 0.3399, 0.3417, 0.3436, 0.3458, 0.3485, 0.3527, 0.3558, 0.3796",\
                 "0.3849, 0.3809, 0.3748, 0.3737, 0.377, 0.3801, 0.3818, 0.3842, 0.3883, 0.4214",\
                 "0.4314, 0.4265, 0.4196, 0.4169, 0.4176, 0.4223, 0.4263, 0.4274, 0.4321, 0.4807",\
                 "0.4881, 0.4821, 0.4735, 0.4708, 0.4701, 0.4715, 0.4775, 0.4822, 0.49, 0.5606",\
                 "0.554, 0.5471, 0.5381, 0.5336, 0.5332, 0.5322, 0.5356, 0.5443, 0.5603, 0.6822");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&!E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.2676, 0.2624, 0.259, 0.2578, 0.2581, 0.2578, 0.2579, 0.258, 0.2581, 0.2581",\
                 "0.2673, 0.2622, 0.2585, 0.2575, 0.2574, 0.2576, 0.2579, 0.2579, 0.258, 0.2579",\
                 "0.2675, 0.2622, 0.2585, 0.2576, 0.2573, 0.2576, 0.2577, 0.2577, 0.2578, 0.2579",\
                 "0.2736, 0.268, 0.264, 0.2638, 0.2634, 0.2637, 0.2637, 0.2638, 0.2638, 0.2638",\
                 "0.2888, 0.283, 0.2785, 0.2768, 0.277, 0.2771, 0.2772, 0.2772, 0.2773, 0.2773",\
                 "0.3107, 0.3044, 0.2994, 0.298, 0.2977, 0.2971, 0.2971, 0.2973, 0.2973, 0.2974",\
                 "0.3417, 0.3346, 0.3286, 0.3267, 0.3259, 0.326, 0.3257, 0.3258, 0.3258, 0.3258",\
                 "0.3812, 0.3734, 0.3664, 0.3635, 0.3625, 0.3622, 0.3622, 0.3623, 0.3622, 0.3622",\
                 "0.4297, 0.4212, 0.412, 0.4092, 0.4077, 0.4071, 0.407, 0.4068, 0.4068, 0.4069",\
                 "0.4872, 0.4778, 0.4678, 0.4634, 0.4616, 0.4608, 0.4601, 0.4603, 0.4602, 0.4602");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.2927, 0.2903, 0.2897, 0.2915, 0.2937, 0.2972, 0.2999, 0.3021, 0.3047, 0.3201",\
                 "0.2928, 0.2904, 0.2892, 0.2914, 0.2936, 0.2968, 0.3002, 0.3037, 0.3067, 0.3182",\
                 "0.2928, 0.2903, 0.2897, 0.2916, 0.2941, 0.2975, 0.3002, 0.3021, 0.3057, 0.3201",\
                 "0.3, 0.2976, 0.2964, 0.298, 0.3003, 0.3044, 0.3065, 0.308, 0.3103, 0.3282",\
                 "0.3179, 0.3151, 0.3125, 0.3134, 0.3151, 0.3183, 0.3216, 0.3242, 0.3275, 0.3473",\
                 "0.3446, 0.3415, 0.3375, 0.3385, 0.3395, 0.3424, 0.3454, 0.3473, 0.3524, 0.3766",\
                 "0.3817, 0.3771, 0.3724, 0.3707, 0.3744, 0.3777, 0.3794, 0.3815, 0.3859, 0.4183",\
                 "0.4278, 0.4232, 0.417, 0.4146, 0.4147, 0.4186, 0.4233, 0.425, 0.4284, 0.4731",\
                 "0.4841, 0.4784, 0.4703, 0.4668, 0.4664, 0.4678, 0.4738, 0.4792, 0.4873, 0.5571",\
                 "0.5498, 0.543, 0.5337, 0.5299, 0.5288, 0.5292, 0.5315, 0.5393, 0.5552, 0.6804");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&!E&RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3195, 0.3171, 0.3165, 0.3189, 0.3216, 0.3239, 0.3266, 0.3282, 0.3315, 0.3466",\
                 "0.3193, 0.317, 0.316, 0.3185, 0.321, 0.3236, 0.3257, 0.3282, 0.3322, 0.3449",\
                 "0.3194, 0.317, 0.3162, 0.3184, 0.321, 0.324, 0.3263, 0.3279, 0.3309, 0.3469",\
                 "0.327, 0.3245, 0.3229, 0.3252, 0.3277, 0.3309, 0.3323, 0.3345, 0.3392, 0.3586",\
                 "0.3459, 0.3427, 0.3402, 0.3418, 0.344, 0.3471, 0.3495, 0.3533, 0.3563, 0.3755",\
                 "0.374, 0.3704, 0.3664, 0.3677, 0.3693, 0.3718, 0.3735, 0.3768, 0.3815, 0.407",\
                 "0.4137, 0.4095, 0.4038, 0.4028, 0.4056, 0.4078, 0.4095, 0.4129, 0.4176, 0.4507",\
                 "0.4614, 0.456, 0.4493, 0.4475, 0.4482, 0.451, 0.455, 0.4575, 0.4601, 0.5097",\
                 "0.5137, 0.5075, 0.4992, 0.4964, 0.4946, 0.4969, 0.5039, 0.5072, 0.5161, 0.5859",\
                 "0.5702, 0.563, 0.5549, 0.5505, 0.5488, 0.55, 0.5524, 0.5595, 0.5747, 0.6996");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.3195, 0.3171, 0.3165, 0.3189, 0.3216, 0.3239, 0.3266, 0.3282, 0.3315, 0.3466",\
                 "0.3193, 0.317, 0.316, 0.3185, 0.321, 0.3236, 0.3257, 0.3282, 0.3322, 0.3449",\
                 "0.3194, 0.317, 0.3162, 0.3184, 0.321, 0.324, 0.3263, 0.3279, 0.3309, 0.3469",\
                 "0.327, 0.3245, 0.3229, 0.3252, 0.3277, 0.3309, 0.3323, 0.3345, 0.3392, 0.3586",\
                 "0.3459, 0.3427, 0.3402, 0.3418, 0.344, 0.3471, 0.3495, 0.3533, 0.3563, 0.3755",\
                 "0.374, 0.3704, 0.3664, 0.3677, 0.3693, 0.3718, 0.3735, 0.3768, 0.3815, 0.407",\
                 "0.4137, 0.4095, 0.4038, 0.4028, 0.4056, 0.4078, 0.4095, 0.4129, 0.4176, 0.4507",\
                 "0.4614, 0.456, 0.4493, 0.4475, 0.4482, 0.451, 0.455, 0.4575, 0.4601, 0.5097",\
                 "0.5137, 0.5075, 0.4992, 0.4964, 0.4946, 0.4969, 0.5039, 0.5072, 0.5161, 0.5859",\
                 "0.5702, 0.563, 0.5549, 0.5505, 0.5488, 0.55, 0.5524, 0.5595, 0.5747, 0.6996");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&E&!RN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.2711, 0.2657, 0.2623, 0.2609, 0.2607, 0.2609, 0.261, 0.2611, 0.2613, 0.2613",\
                 "0.2706, 0.2653, 0.2615, 0.2604, 0.2604, 0.2605, 0.2608, 0.2607, 0.2608, 0.2608",\
                 "0.2708, 0.2654, 0.2616, 0.2606, 0.2603, 0.2606, 0.2609, 0.2609, 0.2609, 0.2609",\
                 "0.2768, 0.2712, 0.2673, 0.2664, 0.2666, 0.2664, 0.2666, 0.2666, 0.2667, 0.2668",\
                 "0.2919, 0.2863, 0.2815, 0.2807, 0.2801, 0.28, 0.2801, 0.2801, 0.2802, 0.2802",\
                 "0.3144, 0.3081, 0.303, 0.3009, 0.301, 0.3004, 0.3007, 0.3007, 0.3006, 0.3006",\
                 "0.3453, 0.3383, 0.3323, 0.3303, 0.3293, 0.3291, 0.3293, 0.3293, 0.3294, 0.3293",\
                 "0.3851, 0.3771, 0.3697, 0.3675, 0.3662, 0.366, 0.366, 0.366, 0.3659, 0.3658",\
                 "0.4339, 0.4251, 0.4164, 0.4133, 0.4115, 0.411, 0.4106, 0.4107, 0.4107, 0.4107",\
                 "0.4915, 0.4818, 0.4719, 0.4674, 0.4655, 0.4645, 0.4639, 0.4639, 0.464, 0.4641");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.2932, 0.2911, 0.2904, 0.2923, 0.2942, 0.2976, 0.3013, 0.3025, 0.3074, 0.3222",\
                 "0.2932, 0.2909, 0.2898, 0.2918, 0.2944, 0.2973, 0.3003, 0.3018, 0.3061, 0.3205",\
                 "0.2934, 0.2909, 0.2897, 0.2919, 0.2938, 0.2973, 0.3009, 0.3022, 0.3064, 0.3218",\
                 "0.3002, 0.298, 0.2967, 0.2981, 0.3005, 0.3032, 0.3069, 0.3081, 0.3121, 0.3292",\
                 "0.3184, 0.3157, 0.3129, 0.3141, 0.3164, 0.3194, 0.3221, 0.3253, 0.3283, 0.352",\
                 "0.3451, 0.3416, 0.338, 0.3388, 0.3398, 0.3425, 0.3458, 0.3474, 0.3518, 0.3812",\
                 "0.3818, 0.3775, 0.373, 0.371, 0.3739, 0.3778, 0.3791, 0.3809, 0.3846, 0.4197",\
                 "0.4286, 0.4238, 0.4179, 0.4144, 0.4148, 0.419, 0.4234, 0.4258, 0.4307, 0.4793",\
                 "0.4849, 0.4791, 0.4719, 0.4673, 0.4671, 0.4692, 0.4739, 0.4786, 0.4871, 0.558",\
                 "0.5508, 0.5442, 0.5356, 0.5311, 0.5291, 0.5289, 0.5336, 0.5394, 0.5562, 0.6767");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("1.224, 1.259, 1.349, 1.484, 1.68, 1.95, 2.305, 2.753, 3.299, 3.951",\
                 "1.238, 1.274, 1.363, 1.499, 1.694, 1.964, 2.319, 2.767, 3.313, 3.965",\
                 "1.275, 1.31, 1.4, 1.535, 1.73, 2.001, 2.356, 2.804, 3.35, 4.002",\
                 "1.353, 1.388, 1.478, 1.613, 1.809, 2.079, 2.434, 2.882, 3.428, 4.08",\
                 "1.486, 1.522, 1.612, 1.747, 1.942, 2.212, 2.568, 3.015, 3.562, 4.213",\
                 "1.668, 1.703, 1.793, 1.928, 2.124, 2.394, 2.749, 3.197, 3.743, 4.395",\
                 "1.893, 1.929, 2.019, 2.154, 2.349, 2.62, 2.975, 3.422, 3.969, 4.62",\
                 "2.157, 2.193, 2.283, 2.418, 2.613, 2.884, 3.239, 3.687, 4.233, 4.885",\
                 "2.455, 2.49, 2.581, 2.716, 2.911, 3.182, 3.537, 3.985, 4.531, 5.182",\
                 "2.786, 2.821, 2.912, 3.047, 3.242, 3.513, 3.868, 4.316, 4.862, 5.513");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("1.158, 1.198, 1.319, 1.544, 1.894, 2.385, 3.03, 3.845, 4.838, 6.023",\
                 "1.165, 1.205, 1.325, 1.551, 1.901, 2.391, 3.037, 3.85, 4.844, 6.03",\
                 "1.187, 1.227, 1.347, 1.572, 1.922, 2.413, 3.059, 3.872, 4.866, 6.052",\
                 "1.233, 1.273, 1.394, 1.618, 1.969, 2.459, 3.105, 3.918, 4.912, 6.098",\
                 "1.289, 1.33, 1.45, 1.675, 2.025, 2.516, 3.161, 3.974, 4.968, 6.154",\
                 "1.337, 1.377, 1.498, 1.722, 2.072, 2.563, 3.209, 4.023, 5.017, 6.2",\
                 "1.37, 1.411, 1.531, 1.755, 2.105, 2.596, 3.241, 4.056, 5.049, 6.231",\
                 "1.384, 1.424, 1.545, 1.769, 2.119, 2.61, 3.255, 4.068, 5.061, 6.245",\
                 "1.372, 1.412, 1.533, 1.757, 2.107, 2.598, 3.244, 4.057, 5.048, 6.231",\
                 "1.331, 1.372, 1.492, 1.716, 2.067, 2.558, 3.203, 4.017, 5.009, 6.191");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.0842, 0.1184, 0.2174, 0.4042, 0.7162, 1.166, 1.761, 2.512, 3.435, 4.532",\
                 "0.0842, 0.1178, 0.2174, 0.404, 0.716, 1.166, 1.761, 2.515, 3.434, 4.53",\
                 "0.0838, 0.1182, 0.2172, 0.4034, 0.716, 1.165, 1.762, 2.516, 3.435, 4.532",\
                 "0.0842, 0.1184, 0.2172, 0.4038, 0.7162, 1.166, 1.762, 2.516, 3.435, 4.532",\
                 "0.084, 0.1184, 0.2178, 0.4042, 0.7154, 1.164, 1.762, 2.516, 3.435, 4.532",\
                 "0.084, 0.1186, 0.2174, 0.404, 0.7164, 1.166, 1.761, 2.516, 3.435, 4.529",\
                 "0.085, 0.1188, 0.218, 0.4038, 0.7162, 1.165, 1.761, 2.513, 3.43, 4.53",\
                 "0.0852, 0.1192, 0.2182, 0.4052, 0.7154, 1.166, 1.76, 2.51, 3.428, 4.527",\
                 "0.0854, 0.1194, 0.2186, 0.4044, 0.7156, 1.165, 1.761, 2.511, 3.428, 4.52",\
                 "0.0862, 0.1208, 0.2192, 0.4048, 0.7158, 1.165, 1.762, 2.513, 3.429, 4.521");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.0874, 0.1404, 0.3322, 0.7254, 1.342, 2.208, 3.342, 4.776, 6.532, 8.617",\
                 "0.0878, 0.1404, 0.3328, 0.725, 1.342, 2.207, 3.342, 4.775, 6.532, 8.615",\
                 "0.0878, 0.1404, 0.3326, 0.7252, 1.342, 2.207, 3.341, 4.775, 6.532, 8.615",\
                 "0.0876, 0.1404, 0.3326, 0.725, 1.342, 2.207, 3.342, 4.775, 6.532, 8.615",\
                 "0.088, 0.1402, 0.3324, 0.7248, 1.342, 2.208, 3.341, 4.776, 6.529, 8.613",\
                 "0.0882, 0.1406, 0.3322, 0.7248, 1.34, 2.208, 3.342, 4.778, 6.527, 8.618",\
                 "0.088, 0.1408, 0.3324, 0.725, 1.34, 2.203, 3.342, 4.777, 6.527, 8.611",\
                 "0.0886, 0.1414, 0.3324, 0.7258, 1.34, 2.205, 3.342, 4.78, 6.527, 8.614",\
                 "0.0886, 0.1416, 0.3324, 0.7254, 1.341, 2.206, 3.342, 4.773, 6.527, 8.611",\
                 "0.0892, 0.1422, 0.333, 0.7258, 1.34, 2.203, 3.343, 4.779, 6.522, 8.608");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("1.271, 1.307, 1.397, 1.532, 1.727, 1.997, 2.353, 2.801, 3.347, 3.998",\
                 "1.285, 1.321, 1.41, 1.546, 1.741, 2.011, 2.366, 2.814, 3.361, 4.013",\
                 "1.327, 1.362, 1.452, 1.587, 1.782, 2.052, 2.408, 2.855, 3.402, 4.054",\
                 "1.364, 1.4, 1.489, 1.625, 1.82, 2.09, 2.445, 2.893, 3.44, 4.091",\
                 "1.392, 1.428, 1.518, 1.653, 1.848, 2.118, 2.474, 2.922, 3.468, 4.12",\
                 "1.403, 1.438, 1.528, 1.663, 1.858, 2.128, 2.484, 2.932, 3.478, 4.129",\
                 "1.394, 1.43, 1.52, 1.655, 1.85, 2.12, 2.476, 2.923, 3.47, 4.121",\
                 "1.365, 1.4, 1.49, 1.626, 1.821, 2.091, 2.446, 2.894, 3.44, 4.091",\
                 "1.312, 1.347, 1.437, 1.572, 1.767, 2.038, 2.393, 2.841, 3.387, 4.039",\
                 "1.232, 1.268, 1.358, 1.493, 1.688, 1.958, 2.314, 2.761, 3.308, 3.959");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("1.092, 1.132, 1.253, 1.477, 1.827, 2.318, 2.964, 3.777, 4.771, 5.956",\
                 "1.103, 1.143, 1.264, 1.488, 1.838, 2.329, 2.975, 3.789, 4.784, 5.967",\
                 "1.141, 1.181, 1.302, 1.526, 1.876, 2.367, 3.013, 3.827, 4.822, 6.003",\
                 "1.21, 1.25, 1.37, 1.595, 1.945, 2.436, 3.082, 3.896, 4.89, 6.071",\
                 "1.278, 1.318, 1.438, 1.663, 2.013, 2.504, 3.149, 3.963, 4.957, 6.139",\
                 "1.329, 1.369, 1.49, 1.714, 2.064, 2.555, 3.201, 4.015, 5.009, 6.192",\
                 "1.363, 1.403, 1.524, 1.748, 2.098, 2.589, 3.234, 4.048, 5.043, 6.227",\
                 "1.371, 1.412, 1.532, 1.756, 2.106, 2.597, 3.242, 4.055, 5.048, 6.233",\
                 "1.348, 1.388, 1.508, 1.733, 2.083, 2.574, 3.22, 4.033, 5.024, 6.207",\
                 "1.289, 1.329, 1.449, 1.674, 2.023, 2.514, 3.16, 3.973, 4.966, 6.149");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.084, 0.1184, 0.2176, 0.4036, 0.716, 1.166, 1.761, 2.516, 3.433, 4.532",\
                 "0.084, 0.118, 0.2172, 0.4042, 0.716, 1.166, 1.762, 2.516, 3.433, 4.525",\
                 "0.0838, 0.1182, 0.2174, 0.4034, 0.716, 1.166, 1.762, 2.513, 3.43, 4.529",\
                 "0.084, 0.1184, 0.2174, 0.4034, 0.7158, 1.166, 1.762, 2.516, 3.435, 4.532",\
                 "0.084, 0.1188, 0.2178, 0.4042, 0.716, 1.165, 1.761, 2.514, 3.435, 4.532",\
                 "0.084, 0.1182, 0.218, 0.404, 0.7148, 1.166, 1.761, 2.516, 3.434, 4.532",\
                 "0.0838, 0.1186, 0.2174, 0.4038, 0.7154, 1.164, 1.759, 2.512, 3.431, 4.528",\
                 "0.0842, 0.1182, 0.2178, 0.404, 0.715, 1.165, 1.759, 2.512, 3.427, 4.522",\
                 "0.084, 0.1178, 0.2176, 0.4038, 0.7148, 1.166, 1.76, 2.511, 3.427, 4.52",\
                 "0.084, 0.118, 0.2172, 0.4034, 0.715, 1.165, 1.761, 2.514, 3.429, 4.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.0876, 0.1402, 0.3322, 0.7252, 1.341, 2.207, 3.342, 4.774, 6.533, 8.616",\
                 "0.0878, 0.1402, 0.3324, 0.7252, 1.342, 2.208, 3.343, 4.777, 6.527, 8.62",\
                 "0.0882, 0.1404, 0.332, 0.7254, 1.342, 2.207, 3.342, 4.778, 6.528, 8.616",\
                 "0.088, 0.1404, 0.3322, 0.7248, 1.342, 2.208, 3.342, 4.778, 6.532, 8.618",\
                 "0.088, 0.1404, 0.332, 0.7258, 1.342, 2.208, 3.343, 4.778, 6.532, 8.618",\
                 "0.088, 0.1408, 0.3322, 0.7248, 1.342, 2.205, 3.343, 4.777, 6.527, 8.619",\
                 "0.0882, 0.141, 0.3324, 0.7252, 1.341, 2.204, 3.347, 4.774, 6.529, 8.614",\
                 "0.0886, 0.1408, 0.3322, 0.7254, 1.34, 2.204, 3.342, 4.778, 6.525, 8.618",\
                 "0.0886, 0.1412, 0.3326, 0.7254, 1.342, 2.204, 3.341, 4.773, 6.525, 8.611",\
                 "0.0892, 0.1418, 0.3326, 0.7254, 1.342, 2.205, 3.342, 4.775, 6.521, 8.607");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b0 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.9712, 1.007, 1.097, 1.232, 1.427, 1.697, 2.052, 2.5, 3.047, 3.698",\
                 "0.9875, 1.023, 1.112, 1.247, 1.443, 1.713, 2.068, 2.516, 3.063, 3.715",\
                 "1.053, 1.089, 1.178, 1.313, 1.508, 1.779, 2.134, 2.581, 3.128, 3.78",\
                 "1.183, 1.218, 1.308, 1.443, 1.638, 1.908, 2.264, 2.712, 3.259, 3.909",\
                 "1.361, 1.396, 1.486, 1.621, 1.816, 2.086, 2.442, 2.89, 3.437, 4.088",\
                 "1.572, 1.607, 1.697, 1.832, 2.027, 2.298, 2.653, 3.101, 3.648, 4.299",\
                 "1.817, 1.852, 1.942, 2.077, 2.272, 2.542, 2.897, 3.345, 3.892, 4.544",\
                 "2.096, 2.132, 2.222, 2.357, 2.551, 2.822, 3.177, 3.625, 4.171, 4.823",\
                 "2.412, 2.448, 2.537, 2.673, 2.868, 3.138, 3.494, 3.942, 4.488, 5.139",\
                 "2.764, 2.799, 2.889, 3.024, 3.219, 3.489, 3.846, 4.293, 4.84, 5.491");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08308, 0.1173, 0.2164, 0.4032, 0.716, 1.165, 1.762, 2.513, 3.434, 4.534",\
                 "0.0832, 0.1174, 0.2164, 0.4036, 0.7158, 1.165, 1.762, 2.515, 3.432, 4.532",\
                 "0.083, 0.1174, 0.2166, 0.4038, 0.7158, 1.166, 1.762, 2.516, 3.437, 4.526",\
                 "0.083, 0.1174, 0.2168, 0.4034, 0.716, 1.166, 1.763, 2.513, 3.435, 4.533",\
                 "0.0832, 0.118, 0.2164, 0.4032, 0.716, 1.164, 1.763, 2.513, 3.436, 4.533",\
                 "0.0834, 0.1178, 0.2168, 0.4036, 0.7146, 1.165, 1.762, 2.514, 3.436, 4.533",\
                 "0.0834, 0.1174, 0.2168, 0.4036, 0.7152, 1.165, 1.761, 2.514, 3.435, 4.529",\
                 "0.0836, 0.1176, 0.2178, 0.4032, 0.715, 1.164, 1.761, 2.51, 3.43, 4.526",\
                 "0.0838, 0.1182, 0.2174, 0.4044, 0.7154, 1.166, 1.761, 2.511, 3.428, 4.521",\
                 "0.0842, 0.1182, 0.2178, 0.404, 0.7162, 1.166, 1.763, 2.512, 3.432, 4.52");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&!E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.9714, 1.007, 1.097, 1.232, 1.426, 1.697, 2.052, 2.5, 3.047, 3.698",\
                 "0.9876, 1.023, 1.113, 1.248, 1.442, 1.713, 2.068, 2.516, 3.063, 3.715",\
                 "1.053, 1.089, 1.178, 1.313, 1.508, 1.779, 2.134, 2.582, 3.129, 3.78",\
                 "1.183, 1.218, 1.308, 1.443, 1.638, 1.908, 2.264, 2.712, 3.259, 3.909",\
                 "1.361, 1.396, 1.486, 1.621, 1.816, 2.086, 2.442, 2.889, 3.437, 4.088",\
                 "1.571, 1.607, 1.697, 1.832, 2.027, 2.297, 2.652, 3.1, 3.647, 4.298",\
                 "1.816, 1.852, 1.941, 2.076, 2.271, 2.542, 2.897, 3.345, 3.891, 4.543",\
                 "2.095, 2.131, 2.22, 2.356, 2.551, 2.822, 3.177, 3.625, 4.171, 4.822",\
                 "2.411, 2.447, 2.536, 2.672, 2.866, 3.137, 3.492, 3.94, 4.487, 5.138",\
                 "2.762, 2.797, 2.888, 3.023, 3.218, 3.488, 3.844, 4.292, 4.838, 5.49");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08294, 0.1174, 0.2164, 0.403, 0.7158, 1.164, 1.763, 2.513, 3.436, 4.533",\
                 "0.083, 0.1176, 0.2164, 0.4034, 0.716, 1.164, 1.762, 2.513, 3.435, 4.533",\
                 "0.0832, 0.1174, 0.2166, 0.4032, 0.7148, 1.164, 1.763, 2.513, 3.436, 4.533",\
                 "0.0828, 0.1172, 0.2168, 0.4036, 0.716, 1.166, 1.761, 2.513, 3.432, 4.534",\
                 "0.0834, 0.1178, 0.2166, 0.4032, 0.7148, 1.164, 1.762, 2.513, 3.434, 4.533",\
                 "0.0832, 0.1178, 0.217, 0.4038, 0.7148, 1.164, 1.762, 2.515, 3.433, 4.533",\
                 "0.0832, 0.1176, 0.2168, 0.4034, 0.7152, 1.164, 1.76, 2.515, 3.436, 4.527",\
                 "0.0838, 0.118, 0.2174, 0.4034, 0.7154, 1.166, 1.762, 2.51, 3.43, 4.525",\
                 "0.0838, 0.118, 0.2172, 0.4034, 0.7144, 1.165, 1.761, 2.511, 3.428, 4.521",\
                 "0.0844, 0.1186, 0.2178, 0.4038, 0.7156, 1.166, 1.761, 2.512, 3.43, 4.52");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "D===1'b1 && E===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "D&E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.9673, 1.003, 1.092, 1.228, 1.423, 1.693, 2.049, 2.496, 3.043, 3.695",\
                 "0.9819, 1.017, 1.107, 1.242, 1.437, 1.708, 2.063, 2.511, 3.058, 3.709",\
                 "1.047, 1.082, 1.172, 1.307, 1.502, 1.773, 2.128, 2.576, 3.123, 3.774",\
                 "1.176, 1.212, 1.302, 1.437, 1.632, 1.903, 2.258, 2.706, 3.253, 3.904",\
                 "1.355, 1.391, 1.48, 1.616, 1.811, 2.081, 2.436, 2.884, 3.431, 4.083",\
                 "1.566, 1.602, 1.692, 1.827, 2.022, 2.293, 2.648, 3.096, 3.643, 4.293",\
                 "1.813, 1.849, 1.939, 2.074, 2.269, 2.54, 2.895, 3.342, 3.889, 4.541",\
                 "2.096, 2.131, 2.221, 2.357, 2.552, 2.822, 3.177, 3.625, 4.171, 4.823",\
                 "2.414, 2.45, 2.54, 2.675, 2.87, 3.14, 3.496, 3.943, 4.49, 5.141",\
                 "2.769, 2.805, 2.895, 3.031, 3.226, 3.496, 3.852, 4.299, 4.846, 5.497");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("1.172, 1.212, 1.333, 1.558, 1.908, 2.398, 3.044, 3.857, 4.851, 6.037",\
                 "1.18, 1.22, 1.341, 1.566, 1.916, 2.406, 3.052, 3.865, 4.859, 6.045",\
                 "1.192, 1.232, 1.352, 1.578, 1.928, 2.418, 3.064, 3.877, 4.871, 6.057",\
                 "1.213, 1.254, 1.374, 1.599, 1.949, 2.44, 3.085, 3.898, 4.891, 6.078",\
                 "1.241, 1.281, 1.401, 1.626, 1.976, 2.467, 3.112, 3.927, 4.921, 6.103",\
                 "1.263, 1.303, 1.424, 1.648, 1.998, 2.489, 3.135, 3.948, 4.943, 6.125",\
                 "1.274, 1.314, 1.434, 1.659, 2.009, 2.5, 3.145, 3.959, 4.954, 6.134",\
                 "1.264, 1.304, 1.424, 1.649, 1.999, 2.49, 3.135, 3.948, 4.941, 6.126",\
                 "1.224, 1.265, 1.385, 1.609, 1.959, 2.45, 3.096, 3.909, 4.902, 6.084",\
                 "1.152, 1.193, 1.313, 1.537, 1.887, 2.378, 3.024, 3.837, 4.83, 6.012");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08344, 0.118, 0.217, 0.4032, 0.716, 1.166, 1.761, 2.513, 3.431, 4.531",\
                 "0.0836, 0.1178, 0.2168, 0.4036, 0.7162, 1.165, 1.763, 2.513, 3.432, 4.528",\
                 "0.0838, 0.1178, 0.2168, 0.4036, 0.7162, 1.165, 1.762, 2.516, 3.433, 4.532",\
                 "0.0838, 0.118, 0.217, 0.404, 0.7162, 1.165, 1.762, 2.512, 3.431, 4.532",\
                 "0.0836, 0.1184, 0.217, 0.4036, 0.7162, 1.166, 1.762, 2.516, 3.436, 4.53",\
                 "0.0836, 0.1176, 0.2174, 0.4042, 0.7148, 1.164, 1.762, 2.515, 3.435, 4.533",\
                 "0.084, 0.1178, 0.217, 0.4038, 0.7154, 1.165, 1.762, 2.514, 3.435, 4.529",\
                 "0.0844, 0.1186, 0.2178, 0.404, 0.7156, 1.166, 1.761, 2.51, 3.43, 4.522",\
                 "0.0852, 0.1188, 0.218, 0.404, 0.7164, 1.165, 1.761, 2.515, 3.428, 4.52",\
                 "0.0856, 0.1198, 0.2182, 0.4042, 0.7164, 1.164, 1.762, 2.51, 3.43, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.0876, 0.1404, 0.3322, 0.7254, 1.342, 2.208, 3.342, 4.775, 6.532, 8.615",\
                 "0.088, 0.1402, 0.3322, 0.725, 1.342, 2.208, 3.342, 4.775, 6.532, 8.615",\
                 "0.0876, 0.1402, 0.3322, 0.725, 1.342, 2.208, 3.342, 4.775, 6.532, 8.615",\
                 "0.0876, 0.1404, 0.3322, 0.7252, 1.341, 2.208, 3.342, 4.776, 6.527, 8.614",\
                 "0.0878, 0.1404, 0.3322, 0.7254, 1.341, 2.208, 3.341, 4.778, 6.529, 8.617",\
                 "0.088, 0.1406, 0.3322, 0.7248, 1.34, 2.208, 3.343, 4.775, 6.532, 8.619",\
                 "0.0882, 0.141, 0.3322, 0.7254, 1.34, 2.204, 3.342, 4.777, 6.532, 8.613",\
                 "0.0882, 0.1412, 0.3326, 0.7254, 1.342, 2.206, 3.341, 4.781, 6.526, 8.614",\
                 "0.0894, 0.1416, 0.3328, 0.7252, 1.339, 2.205, 3.342, 4.773, 6.527, 8.612",\
                 "0.09, 0.142, 0.3326, 0.7258, 1.342, 2.205, 3.342, 4.776, 6.526, 8.609");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.9673, 1.003, 1.092, 1.228, 1.423, 1.693, 2.049, 2.496, 3.043, 3.695",\
                 "0.9819, 1.017, 1.107, 1.242, 1.437, 1.708, 2.063, 2.511, 3.058, 3.709",\
                 "1.047, 1.082, 1.172, 1.307, 1.502, 1.773, 2.128, 2.576, 3.123, 3.774",\
                 "1.176, 1.212, 1.302, 1.437, 1.632, 1.903, 2.258, 2.706, 3.253, 3.904",\
                 "1.355, 1.391, 1.48, 1.616, 1.811, 2.081, 2.436, 2.884, 3.431, 4.083",\
                 "1.566, 1.602, 1.692, 1.827, 2.022, 2.293, 2.648, 3.096, 3.643, 4.293",\
                 "1.813, 1.849, 1.939, 2.074, 2.269, 2.54, 2.895, 3.342, 3.889, 4.541",\
                 "2.096, 2.131, 2.221, 2.357, 2.552, 2.822, 3.177, 3.625, 4.171, 4.823",\
                 "2.414, 2.45, 2.54, 2.675, 2.87, 3.14, 3.496, 3.943, 4.49, 5.141",\
                 "2.769, 2.805, 2.895, 3.031, 3.226, 3.496, 3.852, 4.299, 4.846, 5.497");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("1.172, 1.212, 1.333, 1.558, 1.908, 2.398, 3.044, 3.857, 4.851, 6.037",\
                 "1.18, 1.22, 1.341, 1.566, 1.916, 2.406, 3.052, 3.865, 4.859, 6.045",\
                 "1.192, 1.232, 1.352, 1.578, 1.928, 2.418, 3.064, 3.877, 4.871, 6.057",\
                 "1.213, 1.254, 1.374, 1.599, 1.949, 2.44, 3.085, 3.898, 4.891, 6.078",\
                 "1.241, 1.281, 1.401, 1.626, 1.976, 2.467, 3.112, 3.927, 4.921, 6.103",\
                 "1.263, 1.303, 1.424, 1.648, 1.998, 2.489, 3.135, 3.948, 4.943, 6.125",\
                 "1.274, 1.314, 1.434, 1.659, 2.009, 2.5, 3.145, 3.959, 4.954, 6.134",\
                 "1.264, 1.304, 1.424, 1.649, 1.999, 2.49, 3.135, 3.948, 4.941, 6.126",\
                 "1.224, 1.265, 1.385, 1.609, 1.959, 2.45, 3.096, 3.909, 4.902, 6.084",\
                 "1.152, 1.193, 1.313, 1.537, 1.887, 2.378, 3.024, 3.837, 4.83, 6.012");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08308, 0.1173, 0.2164, 0.4032, 0.716, 1.165, 1.762, 2.513, 3.434, 4.534",\
                 "0.0832, 0.1174, 0.2164, 0.4036, 0.7158, 1.165, 1.762, 2.515, 3.432, 4.532",\
                 "0.083, 0.1174, 0.2166, 0.4038, 0.7158, 1.166, 1.762, 2.516, 3.437, 4.526",\
                 "0.083, 0.1174, 0.2168, 0.4034, 0.716, 1.166, 1.763, 2.513, 3.435, 4.533",\
                 "0.0832, 0.118, 0.2164, 0.4032, 0.716, 1.164, 1.763, 2.513, 3.436, 4.533",\
                 "0.0834, 0.1178, 0.2168, 0.4036, 0.7146, 1.165, 1.762, 2.514, 3.436, 4.533",\
                 "0.0834, 0.1174, 0.2168, 0.4036, 0.7152, 1.165, 1.761, 2.514, 3.435, 4.529",\
                 "0.0836, 0.1176, 0.2178, 0.4032, 0.715, 1.164, 1.761, 2.51, 3.43, 4.526",\
                 "0.0838, 0.1182, 0.2174, 0.4044, 0.7154, 1.166, 1.761, 2.511, 3.428, 4.521",\
                 "0.0842, 0.1182, 0.2178, 0.404, 0.7162, 1.166, 1.763, 2.512, 3.432, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.0876, 0.1404, 0.3322, 0.7254, 1.342, 2.208, 3.342, 4.775, 6.532, 8.615",\
                 "0.088, 0.1402, 0.3322, 0.725, 1.342, 2.208, 3.342, 4.775, 6.532, 8.615",\
                 "0.0876, 0.1402, 0.3322, 0.725, 1.342, 2.208, 3.342, 4.775, 6.532, 8.615",\
                 "0.0876, 0.1404, 0.3322, 0.7252, 1.341, 2.208, 3.342, 4.776, 6.527, 8.614",\
                 "0.0878, 0.1404, 0.3322, 0.7254, 1.341, 2.208, 3.341, 4.778, 6.529, 8.617",\
                 "0.088, 0.1406, 0.3322, 0.7248, 1.34, 2.208, 3.343, 4.775, 6.532, 8.619",\
                 "0.0882, 0.141, 0.3322, 0.7254, 1.34, 2.204, 3.342, 4.777, 6.532, 8.613",\
                 "0.0882, 0.1412, 0.3326, 0.7254, 1.342, 2.206, 3.341, 4.781, 6.526, 8.614",\
                 "0.0894, 0.1416, 0.3328, 0.7252, 1.339, 2.205, 3.342, 4.773, 6.527, 8.612",\
                 "0.09, 0.142, 0.3326, 0.7258, 1.342, 2.205, 3.342, 4.776, 6.526, 8.609");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b0 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&!E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.6085, 0.6442, 0.7336, 0.8687, 1.064, 1.334, 1.69, 2.138, 2.684, 3.336",\
                 "0.6197, 0.655, 0.7446, 0.8796, 1.075, 1.345, 1.7, 2.148, 2.695, 3.346",\
                 "0.6626, 0.6981, 0.7877, 0.9225, 1.117, 1.388, 1.743, 2.191, 2.738, 3.389",\
                 "0.75, 0.7856, 0.875, 1.01, 1.205, 1.475, 1.831, 2.279, 2.825, 3.477",\
                 "0.8489, 0.8845, 0.9745, 1.11, 1.305, 1.575, 1.931, 2.379, 2.925, 3.577",\
                 "0.9412, 0.977, 1.067, 1.203, 1.399, 1.669, 2.024, 2.472, 3.019, 3.671",\
                 "1.028, 1.065, 1.156, 1.293, 1.488, 1.758, 2.114, 2.561, 3.107, 3.759",\
                 "1.105, 1.143, 1.235, 1.372, 1.568, 1.838, 2.193, 2.64, 3.187, 3.838",\
                 "1.169, 1.207, 1.301, 1.439, 1.635, 1.905, 2.261, 2.708, 3.255, 3.906",\
                 "1.217, 1.257, 1.352, 1.491, 1.687, 1.957, 2.312, 2.76, 3.306, 3.958");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.4976, 0.5368, 0.6571, 0.8826, 1.233, 1.724, 2.371, 3.184, 4.177, 5.362",\
                 "0.5154, 0.5544, 0.6747, 0.9002, 1.251, 1.742, 2.387, 3.202, 4.196, 5.376",\
                 "0.5802, 0.6192, 0.7396, 0.9651, 1.315, 1.807, 2.452, 3.267, 4.26, 5.442",\
                 "0.707, 0.7459, 0.8662, 1.092, 1.442, 1.933, 2.579, 3.392, 4.386, 5.57",\
                 "0.8678, 0.9072, 1.027, 1.252, 1.602, 2.093, 2.739, 3.554, 4.547, 5.729",\
                 "1.046, 1.087, 1.207, 1.431, 1.781, 2.272, 2.918, 3.732, 4.725, 5.909",\
                 "1.243, 1.283, 1.404, 1.627, 1.977, 2.468, 3.114, 3.927, 4.922, 6.105",\
                 "1.454, 1.496, 1.617, 1.84, 2.189, 2.679, 3.325, 4.138, 5.13, 6.316",\
                 "1.68, 1.723, 1.845, 2.068, 2.417, 2.907, 3.552, 4.365, 5.357, 6.539",\
                 "1.921, 1.964, 2.088, 2.311, 2.659, 3.149, 3.794, 4.607, 5.599, 6.782");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08282, 0.1171, 0.2166, 0.4036, 0.7157, 1.166, 1.762, 2.514, 3.432, 4.532",\
                 "0.08248, 0.1169, 0.2163, 0.4039, 0.7159, 1.165, 1.762, 2.512, 3.434, 4.534",\
                 "0.083, 0.1172, 0.2162, 0.4042, 0.7146, 1.164, 1.763, 2.513, 3.435, 4.532",\
                 "0.0832, 0.1174, 0.2166, 0.4038, 0.7152, 1.166, 1.762, 2.516, 3.437, 4.527",\
                 "0.085, 0.1196, 0.218, 0.404, 0.7152, 1.165, 1.761, 2.516, 3.436, 4.528",\
                 "0.0874, 0.1212, 0.2206, 0.4058, 0.7168, 1.164, 1.762, 2.515, 3.436, 4.529",\
                 "0.0904, 0.1248, 0.2226, 0.4072, 0.7158, 1.166, 1.759, 2.511, 3.431, 4.528",\
                 "0.0946, 0.1282, 0.2262, 0.4096, 0.7178, 1.167, 1.761, 2.51, 3.428, 4.52",\
                 "0.0992, 0.133, 0.2302, 0.4112, 0.719, 1.166, 1.761, 2.512, 3.429, 4.52",\
                 "0.1042, 0.1384, 0.2346, 0.4144, 0.7196, 1.166, 1.761, 2.514, 3.428, 4.523");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08158, 0.1343, 0.3313, 0.7239, 1.341, 2.204, 3.342, 4.779, 6.531, 8.615",\
                 "0.08136, 0.1343, 0.3305, 0.7238, 1.342, 2.206, 3.343, 4.775, 6.527, 8.611",\
                 "0.08142, 0.1344, 0.3303, 0.7238, 1.342, 2.204, 3.342, 4.779, 6.531, 8.616",\
                 "0.0814, 0.1346, 0.3314, 0.7238, 1.342, 2.204, 3.343, 4.775, 6.529, 8.621",\
                 "0.0844, 0.1372, 0.3308, 0.724, 1.341, 2.207, 3.343, 4.776, 6.53, 8.616",\
                 "0.0874, 0.1394, 0.3318, 0.7248, 1.34, 2.208, 3.342, 4.776, 6.529, 8.616",\
                 "0.0908, 0.1436, 0.333, 0.7254, 1.34, 2.204, 3.345, 4.774, 6.529, 8.616",\
                 "0.0958, 0.148, 0.335, 0.726, 1.341, 2.205, 3.343, 4.774, 6.526, 8.616",\
                 "0.102, 0.154, 0.3376, 0.7272, 1.341, 2.206, 3.341, 4.775, 6.528, 8.612",\
                 "0.1068, 0.16, 0.3412, 0.7266, 1.343, 2.205, 3.341, 4.773, 6.524, 8.609");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b0 && RN===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&!E&RN" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.5027, 0.542, 0.6622, 0.8876, 1.238, 1.729, 2.375, 3.189, 4.183, 5.366",\
                 "0.5204, 0.5597, 0.6799, 0.9051, 1.256, 1.747, 2.392, 3.207, 4.199, 5.384",\
                 "0.5851, 0.6243, 0.7446, 0.9701, 1.32, 1.811, 2.457, 3.272, 4.265, 5.449",\
                 "0.7124, 0.7516, 0.8717, 1.097, 1.447, 1.938, 2.584, 3.398, 4.391, 5.574",\
                 "0.8745, 0.9146, 1.034, 1.259, 1.609, 2.1, 2.746, 3.561, 4.553, 5.736",\
                 "1.055, 1.095, 1.216, 1.44, 1.79, 2.281, 2.927, 3.74, 4.732, 5.915",\
                 "1.254, 1.295, 1.415, 1.639, 1.989, 2.479, 3.125, 3.938, 4.933, 6.116",\
                 "1.468, 1.51, 1.631, 1.854, 2.203, 2.693, 3.339, 4.152, 5.144, 6.329",\
                 "1.696, 1.739, 1.861, 2.083, 2.432, 2.922, 3.568, 4.381, 5.373, 6.555",\
                 "1.938, 1.982, 2.105, 2.328, 2.675, 3.165, 3.81, 4.624, 5.616, 6.799");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08186, 0.1344, 0.3305, 0.7253, 1.34, 2.207, 3.343, 4.776, 6.529, 8.612",\
                 "0.08188, 0.1346, 0.3304, 0.7241, 1.34, 2.204, 3.34, 4.778, 6.529, 8.617",\
                 "0.08164, 0.1347, 0.3303, 0.7253, 1.34, 2.205, 3.341, 4.778, 6.529, 8.614",\
                 "0.0818, 0.1348, 0.3306, 0.7252, 1.34, 2.205, 3.342, 4.778, 6.532, 8.618",\
                 "0.0848, 0.1376, 0.3314, 0.7252, 1.34, 2.205, 3.341, 4.778, 6.529, 8.617",\
                 "0.0876, 0.1404, 0.3322, 0.7244, 1.341, 2.206, 3.343, 4.776, 6.53, 8.611",\
                 "0.0916, 0.144, 0.333, 0.7258, 1.34, 2.204, 3.34, 4.776, 6.53, 8.62",\
                 "0.0964, 0.149, 0.335, 0.7264, 1.341, 2.203, 3.341, 4.777, 6.524, 8.615",\
                 "0.1014, 0.154, 0.3378, 0.7266, 1.34, 2.206, 3.341, 4.775, 6.532, 8.614",\
                 "0.1076, 0.1592, 0.3406, 0.7274, 1.341, 2.204, 3.344, 4.777, 6.524, 8.617");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b1 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.6152, 0.6507, 0.7404, 0.8755, 1.07, 1.341, 1.696, 2.144, 2.691, 3.342",\
                 "0.6258, 0.6614, 0.7512, 0.8861, 1.081, 1.351, 1.707, 2.155, 2.701, 3.353",\
                 "0.6689, 0.7045, 0.7941, 0.9292, 1.124, 1.394, 1.75, 2.198, 2.745, 3.396",\
                 "0.7567, 0.7923, 0.882, 1.017, 1.212, 1.483, 1.838, 2.286, 2.832, 3.484",\
                 "0.8567, 0.8927, 0.9828, 1.118, 1.314, 1.584, 1.939, 2.387, 2.934, 3.585",\
                 "0.9504, 0.9867, 1.077, 1.213, 1.408, 1.679, 2.034, 2.482, 3.028, 3.68",\
                 "1.039, 1.076, 1.168, 1.304, 1.499, 1.769, 2.125, 2.572, 3.119, 3.77",\
                 "1.118, 1.155, 1.248, 1.385, 1.581, 1.851, 2.206, 2.654, 3.2, 3.851",\
                 "1.183, 1.222, 1.316, 1.453, 1.65, 1.92, 2.275, 2.722, 3.269, 3.92",\
                 "1.233, 1.273, 1.369, 1.507, 1.703, 1.974, 2.329, 2.777, 3.323, 3.974");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.4996, 0.5386, 0.6586, 0.8844, 1.235, 1.726, 2.372, 3.186, 4.181, 5.366",\
                 "0.5171, 0.5562, 0.6764, 0.9021, 1.252, 1.744, 2.389, 3.204, 4.198, 5.383",\
                 "0.582, 0.6209, 0.7412, 0.9669, 1.317, 1.808, 2.454, 3.268, 4.263, 5.448",\
                 "0.7087, 0.748, 0.8679, 1.093, 1.444, 1.935, 2.58, 3.395, 4.389, 5.574",\
                 "0.8697, 0.9092, 1.029, 1.254, 1.604, 2.096, 2.742, 3.557, 4.549, 5.735",\
                 "1.049, 1.089, 1.209, 1.434, 1.783, 2.275, 2.92, 3.734, 4.729, 5.916",\
                 "1.246, 1.287, 1.407, 1.631, 1.981, 2.472, 3.117, 3.93, 4.926, 6.111",\
                 "1.458, 1.5, 1.62, 1.844, 2.193, 2.684, 3.329, 4.142, 5.134, 6.318",\
                 "1.685, 1.728, 1.85, 2.072, 2.421, 2.912, 3.557, 4.369, 5.362, 6.545",\
                 "1.925, 1.97, 2.094, 2.316, 2.664, 3.155, 3.799, 4.612, 5.605, 6.787");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08326, 0.1174, 0.2166, 0.404, 0.7152, 1.165, 1.762, 2.516, 3.432, 4.532",\
                 "0.08326, 0.1174, 0.2166, 0.4035, 0.716, 1.165, 1.762, 2.515, 3.435, 4.526",\
                 "0.08324, 0.1176, 0.2166, 0.4038, 0.715, 1.164, 1.762, 2.512, 3.434, 4.53",\
                 "0.0834, 0.1178, 0.2168, 0.404, 0.7158, 1.166, 1.763, 2.514, 3.436, 4.53",\
                 "0.0854, 0.1196, 0.2186, 0.404, 0.7164, 1.164, 1.762, 2.516, 3.434, 4.527",\
                 "0.0878, 0.1216, 0.2206, 0.406, 0.715, 1.164, 1.762, 2.515, 3.435, 4.532",\
                 "0.091, 0.1248, 0.223, 0.408, 0.7168, 1.164, 1.759, 2.511, 3.431, 4.526",\
                 "0.0956, 0.129, 0.2264, 0.4098, 0.7178, 1.166, 1.76, 2.512, 3.428, 4.522",\
                 "0.0996, 0.1334, 0.2304, 0.4116, 0.7184, 1.167, 1.762, 2.512, 3.429, 4.52",\
                 "0.1048, 0.139, 0.2356, 0.4152, 0.7194, 1.167, 1.761, 2.514, 3.429, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08132, 0.1343, 0.3305, 0.7241, 1.341, 2.206, 3.343, 4.781, 6.534, 8.622",\
                 "0.08132, 0.1343, 0.3311, 0.7239, 1.342, 2.203, 3.342, 4.785, 6.531, 8.618",\
                 "0.08132, 0.1345, 0.3305, 0.7243, 1.341, 2.206, 3.342, 4.782, 6.533, 8.62",\
                 "0.0814, 0.1346, 0.3304, 0.7242, 1.342, 2.206, 3.342, 4.782, 6.532, 8.619",\
                 "0.084, 0.1372, 0.331, 0.724, 1.341, 2.204, 3.344, 4.779, 6.528, 8.62",\
                 "0.0876, 0.14, 0.3324, 0.7246, 1.34, 2.208, 3.342, 4.778, 6.53, 8.622",\
                 "0.0908, 0.1436, 0.3332, 0.7254, 1.341, 2.204, 3.342, 4.775, 6.527, 8.622",\
                 "0.096, 0.1486, 0.3346, 0.726, 1.34, 2.203, 3.34, 4.773, 6.525, 8.619",\
                 "0.1014, 0.1538, 0.3376, 0.7262, 1.341, 2.206, 3.341, 4.775, 6.527, 8.614",\
                 "0.107, 0.1594, 0.3414, 0.7268, 1.342, 2.204, 3.341, 4.774, 6.524, 8.612");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b1 && RN===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&E&RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.6181, 0.6537, 0.7433, 0.8783, 1.073, 1.344, 1.699, 2.147, 2.694, 3.345",\
                 "0.629, 0.6645, 0.754, 0.8891, 1.084, 1.355, 1.71, 2.158, 2.705, 3.356",\
                 "0.6724, 0.7077, 0.7972, 0.9322, 1.127, 1.397, 1.753, 2.201, 2.748, 3.399",\
                 "0.7602, 0.7956, 0.8853, 1.02, 1.215, 1.486, 1.841, 2.289, 2.835, 3.488",\
                 "0.8611, 0.8967, 0.9868, 1.122, 1.317, 1.588, 1.943, 2.391, 2.938, 3.59",\
                 "0.9551, 0.9917, 1.082, 1.218, 1.413, 1.683, 2.039, 2.487, 3.033, 3.686",\
                 "1.044, 1.081, 1.172, 1.309, 1.504, 1.774, 2.13, 2.578, 3.124, 3.775",\
                 "1.123, 1.161, 1.253, 1.39, 1.586, 1.856, 2.211, 2.659, 3.206, 3.857",\
                 "1.19, 1.228, 1.321, 1.459, 1.655, 1.926, 2.281, 2.728, 3.275, 3.926",\
                 "1.24, 1.279, 1.375, 1.513, 1.71, 1.98, 2.335, 2.783, 3.329, 3.98");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.5032, 0.5424, 0.6628, 0.8882, 1.239, 1.73, 2.375, 3.189, 4.185, 5.37",\
                 "0.5208, 0.56, 0.6801, 0.9055, 1.256, 1.747, 2.393, 3.208, 4.203, 5.388",\
                 "0.5857, 0.6247, 0.745, 0.9707, 1.321, 1.812, 2.458, 3.273, 4.263, 5.45",\
                 "0.7126, 0.7519, 0.872, 1.097, 1.448, 1.939, 2.584, 3.398, 4.394, 5.579",\
                 "0.8751, 0.9142, 1.034, 1.259, 1.609, 2.101, 2.747, 3.562, 4.556, 5.739",\
                 "1.055, 1.095, 1.215, 1.44, 1.789, 2.28, 2.926, 3.741, 4.736, 5.918",\
                 "1.253, 1.294, 1.414, 1.637, 1.987, 2.478, 3.123, 3.937, 4.933, 6.117",\
                 "1.466, 1.508, 1.629, 1.852, 2.201, 2.692, 3.337, 4.15, 5.142, 6.328",\
                 "1.694, 1.737, 1.859, 2.081, 2.431, 2.921, 3.566, 4.379, 5.372, 6.554",\
                 "1.936, 1.981, 2.104, 2.327, 2.675, 3.165, 3.81, 4.623, 5.615, 6.798");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08302, 0.1173, 0.2164, 0.404, 0.7158, 1.165, 1.762, 2.512, 3.434, 4.531",\
                 "0.08304, 0.1173, 0.2164, 0.4035, 0.7156, 1.165, 1.762, 2.513, 3.434, 4.532",\
                 "0.083, 0.1173, 0.2163, 0.4036, 0.7148, 1.164, 1.763, 2.513, 3.436, 4.528",\
                 "0.083, 0.1178, 0.2166, 0.4036, 0.7158, 1.164, 1.761, 2.515, 3.437, 4.533",\
                 "0.0854, 0.1196, 0.2182, 0.4038, 0.7162, 1.165, 1.761, 2.516, 3.434, 4.535",\
                 "0.0874, 0.1214, 0.2204, 0.406, 0.7162, 1.164, 1.762, 2.515, 3.434, 4.529",\
                 "0.0908, 0.1244, 0.223, 0.407, 0.7166, 1.166, 1.759, 2.511, 3.432, 4.528",\
                 "0.0948, 0.129, 0.2264, 0.4098, 0.7168, 1.164, 1.759, 2.511, 3.428, 4.52",\
                 "0.0992, 0.1332, 0.231, 0.412, 0.7194, 1.166, 1.761, 2.512, 3.428, 4.52",\
                 "0.1048, 0.1386, 0.2348, 0.4148, 0.7192, 1.166, 1.761, 2.513, 3.431, 4.521");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08166, 0.1345, 0.3305, 0.7239, 1.342, 2.207, 3.344, 4.778, 6.532, 8.618",\
                 "0.08176, 0.1345, 0.3307, 0.7242, 1.342, 2.205, 3.343, 4.778, 6.534, 8.622",\
                 "0.08152, 0.1347, 0.3314, 0.7242, 1.342, 2.205, 3.345, 4.778, 6.532, 8.618",\
                 "0.082, 0.1348, 0.3314, 0.7244, 1.342, 2.207, 3.342, 4.781, 6.534, 8.617",\
                 "0.0844, 0.137, 0.3312, 0.7242, 1.342, 2.205, 3.344, 4.781, 6.531, 8.62",\
                 "0.0872, 0.1402, 0.3318, 0.725, 1.34, 2.207, 3.343, 4.78, 6.529, 8.632",\
                 "0.092, 0.1436, 0.3332, 0.725, 1.34, 2.204, 3.348, 4.774, 6.527, 8.616",\
                 "0.096, 0.1492, 0.3352, 0.725, 1.341, 2.204, 3.34, 4.774, 6.528, 8.616",\
                 "0.1012, 0.1542, 0.3378, 0.7268, 1.341, 2.204, 3.342, 4.773, 6.53, 8.615",\
                 "0.1078, 0.1598, 0.3416, 0.7268, 1.343, 2.206, 3.341, 4.776, 6.524, 8.613");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b0 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&!E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.6085, 0.6442, 0.7336, 0.8687, 1.064, 1.334, 1.69, 2.138, 2.684, 3.336",\
                 "0.6197, 0.655, 0.7446, 0.8796, 1.075, 1.345, 1.7, 2.148, 2.695, 3.346",\
                 "0.6627, 0.6979, 0.7876, 0.9227, 1.117, 1.388, 1.743, 2.191, 2.738, 3.39",\
                 "0.75, 0.7856, 0.875, 1.01, 1.205, 1.475, 1.831, 2.279, 2.825, 3.477",\
                 "0.8489, 0.8845, 0.9745, 1.11, 1.305, 1.575, 1.931, 2.379, 2.925, 3.577",\
                 "0.9412, 0.9771, 1.067, 1.203, 1.399, 1.669, 2.024, 2.472, 3.019, 3.67",\
                 "1.028, 1.065, 1.156, 1.293, 1.488, 1.758, 2.114, 2.561, 3.107, 3.759",\
                 "1.105, 1.143, 1.235, 1.372, 1.568, 1.838, 2.193, 2.64, 3.187, 3.838",\
                 "1.169, 1.207, 1.301, 1.439, 1.635, 1.905, 2.261, 2.708, 3.254, 3.906",\
                 "1.217, 1.257, 1.352, 1.49, 1.687, 1.957, 2.312, 2.76, 3.306, 3.957");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.4976, 0.5368, 0.6571, 0.8826, 1.233, 1.724, 2.371, 3.184, 4.177, 5.362",\
                 "0.5155, 0.5546, 0.6747, 0.9002, 1.251, 1.742, 2.387, 3.201, 4.195, 5.376",\
                 "0.5802, 0.6192, 0.7396, 0.9651, 1.315, 1.807, 2.452, 3.267, 4.26, 5.442",\
                 "0.707, 0.7459, 0.8662, 1.092, 1.442, 1.933, 2.579, 3.393, 4.386, 5.57",\
                 "0.8677, 0.9072, 1.027, 1.252, 1.602, 2.093, 2.739, 3.554, 4.547, 5.729",\
                 "1.046, 1.087, 1.207, 1.431, 1.78, 2.272, 2.917, 3.732, 4.725, 5.909",\
                 "1.243, 1.283, 1.404, 1.627, 1.977, 2.468, 3.114, 3.927, 4.922, 6.105",\
                 "1.454, 1.496, 1.617, 1.84, 2.189, 2.679, 3.325, 4.138, 5.13, 6.315",\
                 "1.68, 1.723, 1.845, 2.068, 2.417, 2.907, 3.552, 4.365, 5.357, 6.539",\
                 "1.921, 1.964, 2.088, 2.311, 2.659, 3.149, 3.794, 4.607, 5.599, 6.782");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08282, 0.1171, 0.2166, 0.4036, 0.7157, 1.166, 1.763, 2.514, 3.431, 4.532",\
                 "0.08248, 0.1169, 0.2163, 0.4039, 0.7159, 1.165, 1.762, 2.512, 3.434, 4.534",\
                 "0.08282, 0.1172, 0.2163, 0.4034, 0.7158, 1.164, 1.762, 2.515, 3.431, 4.532",\
                 "0.0832, 0.1174, 0.2166, 0.4038, 0.7152, 1.166, 1.762, 2.516, 3.437, 4.527",\
                 "0.0852, 0.1196, 0.2182, 0.4038, 0.7152, 1.165, 1.761, 2.516, 3.436, 4.527",\
                 "0.0874, 0.1214, 0.2206, 0.406, 0.7168, 1.164, 1.761, 2.515, 3.436, 4.533",\
                 "0.0906, 0.1248, 0.2232, 0.4072, 0.7172, 1.165, 1.759, 2.51, 3.431, 4.528",\
                 "0.0946, 0.1282, 0.2262, 0.4092, 0.7178, 1.167, 1.761, 2.51, 3.428, 4.52",\
                 "0.0992, 0.133, 0.2306, 0.4112, 0.7186, 1.167, 1.761, 2.512, 3.431, 4.52",\
                 "0.104, 0.1388, 0.2344, 0.4138, 0.7196, 1.168, 1.761, 2.512, 3.431, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08152, 0.1343, 0.3313, 0.7239, 1.341, 2.204, 3.342, 4.779, 6.531, 8.615",\
                 "0.0815, 0.1343, 0.3303, 0.7238, 1.341, 2.205, 3.343, 4.779, 6.532, 8.61",\
                 "0.08142, 0.1344, 0.3303, 0.7238, 1.342, 2.204, 3.342, 4.779, 6.531, 8.616",\
                 "0.0814, 0.1346, 0.3314, 0.7242, 1.342, 2.205, 3.342, 4.778, 6.533, 8.621",\
                 "0.0842, 0.1372, 0.3308, 0.724, 1.341, 2.207, 3.343, 4.776, 6.53, 8.616",\
                 "0.0876, 0.1394, 0.3318, 0.7246, 1.34, 2.208, 3.342, 4.776, 6.529, 8.617",\
                 "0.0908, 0.1436, 0.333, 0.7256, 1.34, 2.204, 3.345, 4.774, 6.529, 8.616",\
                 "0.0958, 0.148, 0.335, 0.7254, 1.341, 2.205, 3.342, 4.773, 6.525, 8.614",\
                 "0.102, 0.154, 0.3376, 0.7264, 1.341, 2.206, 3.341, 4.773, 6.528, 8.612",\
                 "0.1068, 0.16, 0.3412, 0.7266, 1.341, 2.205, 3.341, 4.773, 6.522, 8.609");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b0 && RN===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&!E&RN" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.5028, 0.5421, 0.6623, 0.8879, 1.238, 1.729, 2.375, 3.189, 4.182, 5.365",\
                 "0.5203, 0.5597, 0.6799, 0.9052, 1.256, 1.747, 2.393, 3.207, 4.2, 5.383",\
                 "0.5851, 0.6244, 0.7448, 0.9701, 1.32, 1.812, 2.457, 3.271, 4.264, 5.448",\
                 "0.7124, 0.7514, 0.8717, 1.097, 1.447, 1.938, 2.584, 3.398, 4.392, 5.575",\
                 "0.8749, 0.9144, 1.034, 1.259, 1.609, 2.101, 2.747, 3.56, 4.553, 5.735",\
                 "1.055, 1.096, 1.216, 1.44, 1.79, 2.28, 2.926, 3.741, 4.734, 5.918",\
                 "1.254, 1.295, 1.415, 1.639, 1.989, 2.479, 3.124, 3.938, 4.931, 6.117",\
                 "1.468, 1.51, 1.631, 1.854, 2.203, 2.693, 3.339, 4.152, 5.145, 6.33",\
                 "1.696, 1.739, 1.861, 2.083, 2.432, 2.922, 3.568, 4.381, 5.374, 6.556",\
                 "1.939, 1.982, 2.106, 2.328, 2.676, 3.165, 3.811, 4.624, 5.616, 6.799");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.0814, 0.1345, 0.3305, 0.7244, 1.341, 2.204, 3.341, 4.777, 6.529, 8.615",\
                 "0.08194, 0.1345, 0.3305, 0.7251, 1.34, 2.206, 3.342, 4.778, 6.527, 8.622",\
                 "0.08138, 0.1346, 0.3304, 0.7249, 1.34, 2.207, 3.343, 4.779, 6.529, 8.616",\
                 "0.082, 0.135, 0.3304, 0.7246, 1.34, 2.205, 3.343, 4.778, 6.527, 8.619",\
                 "0.0844, 0.137, 0.3312, 0.7248, 1.341, 2.205, 3.343, 4.778, 6.531, 8.615",\
                 "0.0882, 0.1402, 0.3322, 0.7244, 1.341, 2.207, 3.343, 4.776, 6.527, 8.613",\
                 "0.0922, 0.1438, 0.3332, 0.7248, 1.34, 2.204, 3.341, 4.777, 6.53, 8.616",\
                 "0.097, 0.1486, 0.3352, 0.7254, 1.34, 2.203, 3.341, 4.776, 6.527, 8.615",\
                 "0.1022, 0.1544, 0.3376, 0.7262, 1.34, 2.204, 3.341, 4.775, 6.525, 8.613",\
                 "0.1066, 0.1596, 0.3412, 0.7272, 1.341, 2.203, 3.342, 4.774, 6.522, 8.615");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b1 && RN===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&E&!RN" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.6152, 0.6507, 0.7402, 0.8754, 1.07, 1.341, 1.696, 2.144, 2.691, 3.342",\
                 "0.6258, 0.6614, 0.7511, 0.886, 1.081, 1.351, 1.707, 2.155, 2.702, 3.353",\
                 "0.6689, 0.7044, 0.7941, 0.9292, 1.124, 1.394, 1.75, 2.198, 2.745, 3.396",\
                 "0.7568, 0.7924, 0.882, 1.017, 1.212, 1.483, 1.838, 2.286, 2.833, 3.484",\
                 "0.8567, 0.8928, 0.9829, 1.118, 1.314, 1.584, 1.939, 2.387, 2.934, 3.585",\
                 "0.9505, 0.9867, 1.077, 1.213, 1.408, 1.679, 2.034, 2.482, 3.028, 3.68",\
                 "1.039, 1.076, 1.168, 1.304, 1.499, 1.77, 2.125, 2.572, 3.119, 3.77",\
                 "1.118, 1.155, 1.248, 1.385, 1.581, 1.851, 2.206, 2.654, 3.2, 3.851",\
                 "1.184, 1.222, 1.316, 1.454, 1.649, 1.92, 2.275, 2.723, 3.269, 3.92",\
                 "1.233, 1.273, 1.369, 1.507, 1.703, 1.974, 2.329, 2.776, 3.323, 3.974");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.4994, 0.5386, 0.659, 0.8844, 1.235, 1.726, 2.372, 3.186, 4.181, 5.366",\
                 "0.5171, 0.5562, 0.6764, 0.9021, 1.252, 1.744, 2.389, 3.204, 4.198, 5.383",\
                 "0.582, 0.6209, 0.7412, 0.9669, 1.317, 1.808, 2.454, 3.268, 4.263, 5.448",\
                 "0.7087, 0.7479, 0.8679, 1.093, 1.444, 1.935, 2.58, 3.395, 4.389, 5.574",\
                 "0.8697, 0.9095, 1.029, 1.254, 1.604, 2.095, 2.741, 3.555, 4.551, 5.736",\
                 "1.049, 1.089, 1.21, 1.433, 1.783, 2.274, 2.92, 3.734, 4.728, 5.915",\
                 "1.245, 1.286, 1.407, 1.631, 1.98, 2.471, 3.116, 3.93, 4.923, 6.109",\
                 "1.457, 1.5, 1.621, 1.844, 2.193, 2.683, 3.329, 4.142, 5.135, 6.32",\
                 "1.685, 1.728, 1.85, 2.072, 2.421, 2.911, 3.556, 4.369, 5.362, 6.544",\
                 "1.925, 1.97, 2.094, 2.316, 2.664, 3.155, 3.8, 4.612, 5.605, 6.788");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08326, 0.1175, 0.2171, 0.404, 0.7153, 1.165, 1.762, 2.516, 3.432, 4.532",\
                 "0.08316, 0.1175, 0.2166, 0.4038, 0.716, 1.164, 1.762, 2.512, 3.431, 4.532",\
                 "0.08328, 0.1175, 0.2166, 0.4036, 0.7152, 1.164, 1.762, 2.513, 3.433, 4.533",\
                 "0.0832, 0.1176, 0.2168, 0.4038, 0.7158, 1.166, 1.762, 2.514, 3.434, 4.529",\
                 "0.0856, 0.1196, 0.2184, 0.4046, 0.7166, 1.164, 1.761, 2.515, 3.435, 4.526",\
                 "0.0878, 0.122, 0.221, 0.4056, 0.7152, 1.164, 1.762, 2.514, 3.435, 4.532",\
                 "0.0908, 0.125, 0.223, 0.4082, 0.717, 1.165, 1.759, 2.511, 3.431, 4.523",\
                 "0.0956, 0.129, 0.2262, 0.4098, 0.7178, 1.166, 1.76, 2.512, 3.428, 4.522",\
                 "0.0996, 0.1336, 0.2304, 0.412, 0.7176, 1.166, 1.761, 2.512, 3.429, 4.52",\
                 "0.1048, 0.139, 0.2348, 0.4146, 0.7192, 1.167, 1.761, 2.513, 3.429, 4.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.0815, 0.1343, 0.3304, 0.724, 1.341, 2.206, 3.343, 4.781, 6.534, 8.622",\
                 "0.08132, 0.1343, 0.3311, 0.7239, 1.342, 2.203, 3.342, 4.785, 6.531, 8.618",\
                 "0.08132, 0.1345, 0.3305, 0.7241, 1.341, 2.206, 3.342, 4.783, 6.533, 8.62",\
                 "0.0818, 0.1346, 0.3304, 0.7242, 1.342, 2.206, 3.342, 4.783, 6.532, 8.619",\
                 "0.0842, 0.1372, 0.3308, 0.7238, 1.342, 2.205, 3.342, 4.778, 6.529, 8.622",\
                 "0.0874, 0.14, 0.332, 0.7246, 1.34, 2.208, 3.342, 4.778, 6.53, 8.621",\
                 "0.0916, 0.1436, 0.333, 0.7252, 1.341, 2.204, 3.342, 4.775, 6.526, 8.621",\
                 "0.096, 0.1482, 0.3352, 0.7262, 1.342, 2.205, 3.343, 4.779, 6.526, 8.619",\
                 "0.1012, 0.1544, 0.3374, 0.7266, 1.342, 2.206, 3.342, 4.775, 6.529, 8.605",\
                 "0.107, 0.1598, 0.341, 0.727, 1.342, 2.204, 3.342, 4.777, 6.523, 8.609");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.6181, 0.6537, 0.7433, 0.8783, 1.073, 1.344, 1.699, 2.147, 2.694, 3.345",\
                 "0.629, 0.6645, 0.754, 0.8891, 1.084, 1.355, 1.71, 2.158, 2.705, 3.356",\
                 "0.6724, 0.7077, 0.7972, 0.9322, 1.127, 1.397, 1.753, 2.201, 2.748, 3.399",\
                 "0.7602, 0.7956, 0.8853, 1.02, 1.215, 1.486, 1.841, 2.289, 2.835, 3.488",\
                 "0.8611, 0.8967, 0.9868, 1.122, 1.317, 1.588, 1.943, 2.391, 2.938, 3.59",\
                 "0.9551, 0.9917, 1.082, 1.218, 1.413, 1.683, 2.039, 2.487, 3.033, 3.686",\
                 "1.044, 1.081, 1.172, 1.309, 1.504, 1.774, 2.13, 2.578, 3.124, 3.775",\
                 "1.123, 1.161, 1.253, 1.39, 1.586, 1.856, 2.211, 2.659, 3.206, 3.857",\
                 "1.19, 1.228, 1.321, 1.459, 1.655, 1.926, 2.281, 2.728, 3.275, 3.926",\
                 "1.24, 1.279, 1.375, 1.513, 1.71, 1.98, 2.335, 2.783, 3.329, 3.98");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.5028, 0.5421, 0.6623, 0.8879, 1.238, 1.729, 2.375, 3.189, 4.182, 5.365",\
                 "0.5203, 0.5597, 0.6799, 0.9052, 1.256, 1.747, 2.393, 3.207, 4.2, 5.383",\
                 "0.5851, 0.6244, 0.7448, 0.9701, 1.32, 1.812, 2.457, 3.271, 4.264, 5.448",\
                 "0.7124, 0.7514, 0.8717, 1.097, 1.447, 1.938, 2.584, 3.398, 4.392, 5.575",\
                 "0.8749, 0.9144, 1.034, 1.259, 1.609, 2.101, 2.747, 3.56, 4.553, 5.735",\
                 "1.055, 1.096, 1.216, 1.44, 1.79, 2.28, 2.926, 3.741, 4.734, 5.918",\
                 "1.254, 1.295, 1.415, 1.639, 1.989, 2.479, 3.124, 3.938, 4.931, 6.117",\
                 "1.468, 1.51, 1.631, 1.854, 2.203, 2.693, 3.339, 4.152, 5.145, 6.33",\
                 "1.696, 1.739, 1.861, 2.083, 2.432, 2.922, 3.568, 4.381, 5.374, 6.556",\
                 "1.939, 1.982, 2.106, 2.328, 2.676, 3.165, 3.811, 4.624, 5.616, 6.799");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08302, 0.1173, 0.2164, 0.404, 0.7158, 1.165, 1.762, 2.512, 3.434, 4.531",\
                 "0.08304, 0.1173, 0.2164, 0.4035, 0.7156, 1.165, 1.762, 2.513, 3.434, 4.532",\
                 "0.083, 0.1173, 0.2163, 0.4036, 0.7148, 1.164, 1.763, 2.513, 3.436, 4.528",\
                 "0.083, 0.1178, 0.2166, 0.4036, 0.7158, 1.164, 1.761, 2.515, 3.437, 4.533",\
                 "0.0854, 0.1196, 0.2182, 0.4038, 0.7162, 1.165, 1.761, 2.516, 3.434, 4.535",\
                 "0.0874, 0.1214, 0.2204, 0.406, 0.7162, 1.164, 1.762, 2.515, 3.434, 4.529",\
                 "0.0908, 0.1244, 0.223, 0.407, 0.7166, 1.166, 1.759, 2.511, 3.432, 4.528",\
                 "0.0948, 0.129, 0.2264, 0.4098, 0.7168, 1.164, 1.759, 2.511, 3.428, 4.52",\
                 "0.0992, 0.1332, 0.231, 0.412, 0.7194, 1.166, 1.761, 2.512, 3.428, 4.52",\
                 "0.1048, 0.1386, 0.2348, 0.4148, 0.7192, 1.166, 1.761, 2.513, 3.431, 4.521");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04592, 0.1127, 0.2167, 0.3626, 0.5546, 0.7966, 1.092, 1.444");
          values("0.08166, 0.1345, 0.3305, 0.7239, 1.342, 2.207, 3.344, 4.778, 6.532, 8.618",\
                 "0.08176, 0.1345, 0.3307, 0.7242, 1.342, 2.205, 3.343, 4.778, 6.534, 8.622",\
                 "0.08152, 0.1347, 0.3314, 0.7242, 1.342, 2.205, 3.345, 4.778, 6.532, 8.618",\
                 "0.082, 0.1348, 0.3314, 0.7244, 1.342, 2.207, 3.342, 4.781, 6.534, 8.617",\
                 "0.0844, 0.137, 0.3312, 0.7242, 1.342, 2.205, 3.344, 4.781, 6.531, 8.62",\
                 "0.0872, 0.1402, 0.3318, 0.725, 1.34, 2.207, 3.343, 4.78, 6.529, 8.632",\
                 "0.092, 0.1436, 0.3332, 0.725, 1.34, 2.204, 3.348, 4.774, 6.527, 8.616",\
                 "0.096, 0.1492, 0.3352, 0.725, 1.341, 2.204, 3.34, 4.774, 6.528, 8.616",\
                 "0.1012, 0.1542, 0.3378, 0.7268, 1.341, 2.204, 3.342, 4.773, 6.53, 8.615",\
                 "0.1078, 0.1598, 0.3416, 0.7268, 1.343, 2.206, 3.341, 4.776, 6.524, 8.613");
        }
      }
    }

    pin(RN) {
      capacitance : 0.005095 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.513 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08061, 0.08014, 0.08053, 0.08368, 0.09103, 0.1036, 0.1218, 0.146, \
                 0.1763, 0.2131");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03273, 0.0325, 0.03208, 0.03345, 0.03831, 0.04776, 0.06242, \
                 0.08251, 0.1083, 0.1399");
        }
      }

      internal_power() {
        when : "!D&!E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009067, 0.008507, 0.00839, 0.008381, 0.008364, 0.008361, 0.008374, \
                 0.008369, 0.008374, 0.008376");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008371, -0.008353, -0.008364, -0.008348, -0.008335, -0.008356, \
                 -0.00835, -0.008346, -0.008345, -0.008345");
        }
      }

      internal_power() {
        when : "!D&E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009885, 0.008855, 0.008623, 0.008556, 0.008507, 0.008503, 0.008493, \
                 0.008479, 0.008483, 0.008473");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008326, -0.008308, -0.008318, -0.008307, -0.008301, -0.008319, \
                 -0.008308, -0.008313, -0.008309, -0.008304");
        }
      }

      internal_power() {
        when : "!D&E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008921, 0.008396, 0.008377, 0.008368, 0.008351, 0.008371, 0.008376, \
                 0.008377, 0.008375, 0.008379");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008367, -0.008351, -0.008353, -0.008349, -0.00834, -0.008358, \
                 -0.008354, -0.008347, -0.008347, -0.008349");
        }
      }

      internal_power() {
        when : "D&!E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08103, 0.08015, 0.08053, 0.08368, 0.09101, 0.1036, 0.1218, 0.146, \
                 0.1763, 0.2131");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03274, 0.0325, 0.03208, 0.03345, 0.03832, 0.04776, 0.06242, \
                 0.08251, 0.1083, 0.1399");
        }
      }

      internal_power() {
        when : "D&!E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009428, 0.008488, 0.00839, 0.008373, 0.008378, 0.008374, 0.008376, \
                 0.008379, 0.008375, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008365, -0.008356, -0.008355, -0.008343, -0.00834, -0.008362, \
                 -0.008354, -0.008351, -0.008345, -0.008345");
        }
      }

      internal_power() {
        when : "D&E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09284, 0.09185, 0.09205, 0.09515, 0.1024, 0.115, 0.1332, 0.1574, \
                 0.1876, 0.2244");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.021, 0.02077, 0.02037, 0.02173, 0.02664, 0.0361, 0.05077, 0.07087, \
                 0.09666, 0.1282");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.761, 0.75, 0.739, 0.765, 0.928, 1.264, 1.747, 2.384, 3.172, 4.116",\
                 "0.767, 0.754, 0.74, 0.766, 0.926, 1.262, 1.744, 2.372, 3.162, 4.094",\
                 "0.78, 0.769, 0.756, 0.779, 0.94, 1.274, 1.754, 2.38, 3.162, 4.093",\
                 "0.808, 0.797, 0.775, 0.797, 0.956, 1.272, 1.742, 2.343, 3.096, 3.998",\
                 "0.829, 0.819, 0.808, 0.823, 0.969, 1.267, 1.706, 2.283, 3.002, 3.875",\
                 "0.854, 0.842, 0.832, 0.849, 0.977, 1.258, 1.676, 2.226, 2.92, 3.744",\
                 "0.875, 0.861, 0.855, 0.865, 0.977, 1.234, 1.631, 2.17, 2.839, 3.649",\
                 "0.874, 0.864, 0.852, 0.864, 0.968, 1.21, 1.598, 2.112, 2.772, 3.566",\
                 "0.847, 0.835, 0.826, 0.845, 0.934, 1.156, 1.527, 2.049, 2.715, 3.505",\
                 "0.788, 0.78, 0.777, 0.792, 0.874, 1.093, 1.46, 1.988, 2.665, 3.5");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : removal_falling ;
        when : "SETN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.618, -0.614, -0.589, -0.601, -0.682, -0.781, -0.853, -0.908, -0.92, -0.893",\
                 "-0.63, -0.62, -0.599, -0.611, -0.695, -0.79, -0.862, -0.916, -0.931, -0.902",\
                 "-0.64, -0.633, -0.614, -0.627, -0.705, -0.795, -0.875, -0.92, -0.936, -0.907",\
                 "-0.662, -0.652, -0.636, -0.643, -0.718, -0.796, -0.873, -0.92, -0.938, -0.909",\
                 "-0.695, -0.68, -0.66, -0.67, -0.733, -0.811, -0.876, -0.928, -0.949, -0.925",\
                 "-0.722, -0.707, -0.685, -0.688, -0.74, -0.82, -0.887, -0.946, -0.976, -0.964",\
                 "-0.74, -0.733, -0.71, -0.706, -0.753, -0.83, -0.904, -0.969, -1.013, -1.03",\
                 "-0.744, -0.733, -0.714, -0.709, -0.752, -0.831, -0.914, -1.001, -1.064, -1.1",\
                 "-0.72, -0.708, -0.693, -0.687, -0.726, -0.816, -0.919, -1.023, -1.113, -1.181",\
                 "-0.663, -0.66, -0.643, -0.64, -0.677, -0.769, -0.889, -1.014, -1.143, -1.248");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E&SETN" ;

        fall_constraint(scalar) {
          values("0.513");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E&SETN" ;

        fall_constraint(scalar) {
          values("0.513");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.063, 0.069, 0.109, 0.162, 0.189, 0.221, 0.251, 0.278, 0.29, 0.294",\
                 "0.06, 0.063, 0.106, 0.151, 0.186, 0.212, 0.244, 0.272, 0.289, 0.287",\
                 "0.063, 0.065, 0.103, 0.149, 0.182, 0.213, 0.248, 0.274, 0.288, 0.289",\
                 "0.092, 0.1, 0.129, 0.169, 0.195, 0.227, 0.256, 0.282, 0.303, 0.3",\
                 "0.169, 0.17, 0.192, 0.222, 0.243, 0.267, 0.291, 0.309, 0.329, 0.326",\
                 "0.309, 0.301, 0.31, 0.321, 0.329, 0.345, 0.359, 0.376, 0.386, 0.381",\
                 "0.508, 0.493, 0.495, 0.484, 0.47, 0.477, 0.493, 0.505, 0.505, 0.497",\
                 "0.773, 0.742, 0.734, 0.693, 0.677, 0.676, 0.686, 0.693, 0.699, 0.687",\
                 "1.103, 1.059, 1.027, 0.964, 0.939, 0.929, 0.936, 0.955, 0.964, 0.963",\
                 "1.498, 1.437, 1.385, 1.284, 1.228, 1.248, 1.259, 1.276, 1.298, 1.31");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.063, 0.069, 0.109, 0.162, 0.189, 0.221, 0.251, 0.278, 0.29, 0.294",\
                 "0.06, 0.063, 0.106, 0.151, 0.186, 0.212, 0.244, 0.272, 0.289, 0.287",\
                 "0.063, 0.065, 0.103, 0.149, 0.182, 0.213, 0.248, 0.274, 0.288, 0.289",\
                 "0.092, 0.1, 0.129, 0.169, 0.195, 0.227, 0.256, 0.282, 0.303, 0.305",\
                 "0.169, 0.17, 0.192, 0.222, 0.243, 0.267, 0.291, 0.309, 0.329, 0.332",\
                 "0.303, 0.301, 0.31, 0.321, 0.329, 0.345, 0.359, 0.376, 0.381, 0.388",\
                 "0.508, 0.493, 0.495, 0.484, 0.476, 0.477, 0.493, 0.505, 0.505, 0.504",\
                 "0.773, 0.742, 0.727, 0.693, 0.677, 0.676, 0.686, 0.693, 0.699, 0.695",\
                 "1.103, 1.059, 1.027, 0.964, 0.93, 0.934, 0.936, 0.955, 0.964, 0.972",\
                 "1.498, 1.437, 1.385, 1.29, 1.24, 1.242, 1.252, 1.276, 1.298, 1.326");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.069, 0.06, 0.026, -0.017, -0.054, -0.088, -0.116, -0.136, -0.139, -0.137",\
                 "0.076, 0.071, 0.036, -0.006, -0.047, -0.082, -0.107, -0.13, -0.138, -0.13",\
                 "0.087, 0.077, 0.047, 0.002, -0.043, -0.079, -0.103, -0.124, -0.131, -0.128",\
                 "0.09, 0.083, 0.045, 0, -0.042, -0.073, -0.105, -0.128, -0.137, -0.131",\
                 "0.085, 0.077, 0.043, -0.005, -0.047, -0.083, -0.113, -0.13, -0.14, -0.135",\
                 "0.065, 0.058, 0.022, -0.021, -0.066, -0.103, -0.136, -0.157, -0.161, -0.155",\
                 "0.024, 0.021, -0.015, -0.054, -0.098, -0.14, -0.169, -0.192, -0.198, -0.19",\
                 "-0.041, -0.05, -0.074, -0.118, -0.158, -0.205, -0.237, -0.257, -0.267, -0.256",\
                 "-0.14, -0.144, -0.167, -0.204, -0.248, -0.295, -0.334, -0.355, -0.366, -0.35",\
                 "-0.263, -0.273, -0.295, -0.333, -0.377, -0.42, -0.459, -0.486, -0.488, -0.486");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.069, 0.06, 0.026, -0.017, -0.054, -0.088, -0.116, -0.136, -0.139, -0.137",\
                 "0.076, 0.071, 0.036, -0.006, -0.047, -0.082, -0.107, -0.13, -0.138, -0.13",\
                 "0.087, 0.077, 0.047, 0.002, -0.043, -0.079, -0.103, -0.124, -0.131, -0.128",\
                 "0.09, 0.083, 0.045, 0, -0.042, -0.073, -0.105, -0.128, -0.137, -0.131",\
                 "0.085, 0.077, 0.043, -0.005, -0.047, -0.083, -0.113, -0.13, -0.14, -0.135",\
                 "0.065, 0.058, 0.022, -0.021, -0.066, -0.103, -0.136, -0.157, -0.161, -0.155",\
                 "0.024, 0.021, -0.015, -0.054, -0.098, -0.14, -0.169, -0.192, -0.198, -0.19",\
                 "-0.041, -0.05, -0.074, -0.118, -0.158, -0.205, -0.237, -0.257, -0.267, -0.256",\
                 "-0.14, -0.144, -0.167, -0.204, -0.248, -0.295, -0.334, -0.355, -0.366, -0.35",\
                 "-0.263, -0.273, -0.295, -0.333, -0.377, -0.42, -0.459, -0.486, -0.488, -0.486");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.003627 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.471 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0135, 0.01349, 0.01347, 0.01345, 0.01344, 0.01347, 0.01347, \
                 0.01345, 0.01345, 0.01344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009701, -0.0097, -0.009683, -0.009691, -0.009711, -0.009722, \
                 -0.009734, -0.009743, -0.009745, -0.009761");
        }
      }

      internal_power() {
        when : "D&!E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0135, 0.01348, 0.01346, 0.01344, 0.01345, 0.01345, 0.01346, \
                 0.01346, 0.01345, 0.01346");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009697, -0.009685, -0.009694, -0.009693, -0.009711, -0.009725, \
                 -0.009734, -0.009743, -0.009746, -0.009752");
        }
      }

      internal_power() {
        when : "D&E&RN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01347, 0.01346, 0.01343, 0.01344, 0.01342, 0.01345, 0.01344, \
                 0.01346, 0.01344, 0.01345");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009693, -0.009688, -0.009689, -0.009703, -0.009709, -0.009722, \
                 -0.009732, -0.009735, -0.009746, -0.009772");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : recovery_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.092, 0.074, 0.009, -0.098, -0.226, -0.365, -0.521, -0.691, -0.887, -1.1",\
                 "0.104, 0.087, 0.018, -0.093, -0.216, -0.354, -0.51, -0.679, -0.876, -1.089",\
                 "0.136, 0.118, 0.047, -0.056, -0.182, -0.321, -0.474, -0.652, -0.842, -1.066",\
                 "0.181, 0.17, 0.097, 0, -0.131, -0.279, -0.425, -0.609, -0.81, -1.032",\
                 "0.21, 0.201, 0.139, 0.032, -0.094, -0.232, -0.393, -0.575, -0.774, -1.012",\
                 "0.255, 0.241, 0.175, 0.081, -0.048, -0.189, -0.352, -0.536, -0.737, -0.963",\
                 "0.31, 0.295, 0.23, 0.126, 0.005, -0.14, -0.299, -0.485, -0.689, -0.917",\
                 "0.349, 0.332, 0.267, 0.176, 0.05, -0.087, -0.247, -0.435, -0.638, -0.87",\
                 "0.385, 0.37, 0.304, 0.216, 0.092, -0.049, -0.21, -0.388, -0.599, -0.827",\
                 "0.408, 0.392, 0.327, 0.238, 0.118, -0.019, -0.181, -0.366, -0.569, -0.798");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_RN === 1'b1" ;
        timing_type : removal_falling ;
        when : "RN" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.132, 0.145, 0.216, 0.317, 0.449, 0.595, 0.766, 0.951, 1.173, 1.408",\
                 "0.122, 0.135, 0.201, 0.305, 0.433, 0.583, 0.758, 0.941, 1.156, 1.398",\
                 "0.085, 0.101, 0.166, 0.271, 0.4, 0.545, 0.719, 0.907, 1.123, 1.362",\
                 "0.029, 0.052, 0.112, 0.215, 0.343, 0.491, 0.665, 0.85, 1.063, 1.307",\
                 "-0.017, -0, 0.062, 0.164, 0.296, 0.442, 0.605, 0.797, 1.01, 1.25",\
                 "-0.065, -0.047, 0.017, 0.124, 0.25, 0.389, 0.561, 0.747, 0.957, 1.196",\
                 "-0.099, -0.09, -0.021, 0.084, 0.202, 0.349, 0.517, 0.7, 0.913, 1.153",\
                 "-0.136, -0.118, -0.05, 0.045, 0.173, 0.314, 0.481, 0.664, 0.874, 1.118",\
                 "-0.155, -0.138, -0.065, 0.029, 0.154, 0.295, 0.458, 0.645, 0.855, 1.089",\
                 "-0.158, -0.141, -0.074, 0.026, 0.145, 0.291, 0.453, 0.638, 0.848, 1.08");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.069, 0.076, 0.087, 0.09, 0.085, 0.065, 0.024, -0.041, -0.14, -0.263",\
                 "0.06, 0.071, 0.077, 0.083, 0.077, 0.058, 0.021, -0.05, -0.144, -0.273",\
                 "0.026, 0.036, 0.047, 0.045, 0.043, 0.022, -0.015, -0.074, -0.167, -0.295",\
                 "-0.017, -0.006, 0.002, -0, -0.005, -0.021, -0.054, -0.118, -0.204, -0.333",\
                 "-0.054, -0.047, -0.043, -0.042, -0.047, -0.066, -0.098, -0.158, -0.248, -0.377",\
                 "-0.088, -0.082, -0.079, -0.073, -0.083, -0.103, -0.14, -0.205, -0.295, -0.42",\
                 "-0.116, -0.107, -0.103, -0.105, -0.113, -0.136, -0.169, -0.237, -0.334, -0.459",\
                 "-0.136, -0.13, -0.124, -0.128, -0.13, -0.157, -0.192, -0.257, -0.355, -0.486",\
                 "-0.139, -0.138, -0.131, -0.137, -0.14, -0.161, -0.198, -0.267, -0.366, -0.488",\
                 "-0.137, -0.13, -0.128, -0.131, -0.135, -0.155, -0.19, -0.256, -0.35, -0.486");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.069, 0.076, 0.087, 0.09, 0.085, 0.065, 0.024, -0.041, -0.14, -0.263",\
                 "0.06, 0.071, 0.077, 0.083, 0.077, 0.058, 0.021, -0.05, -0.144, -0.273",\
                 "0.026, 0.036, 0.047, 0.045, 0.043, 0.022, -0.015, -0.074, -0.167, -0.295",\
                 "-0.017, -0.006, 0.002, -0, -0.005, -0.021, -0.054, -0.118, -0.204, -0.333",\
                 "-0.054, -0.047, -0.043, -0.042, -0.047, -0.066, -0.098, -0.158, -0.248, -0.377",\
                 "-0.088, -0.082, -0.079, -0.073, -0.083, -0.103, -0.14, -0.205, -0.295, -0.42",\
                 "-0.116, -0.107, -0.103, -0.105, -0.113, -0.136, -0.169, -0.237, -0.334, -0.459",\
                 "-0.136, -0.13, -0.124, -0.128, -0.13, -0.157, -0.192, -0.257, -0.355, -0.486",\
                 "-0.139, -0.138, -0.131, -0.137, -0.14, -0.161, -0.198, -0.267, -0.366, -0.488",\
                 "-0.137, -0.13, -0.128, -0.131, -0.135, -0.155, -0.19, -0.256, -0.35, -0.486");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.063, 0.06, 0.063, 0.092, 0.169, 0.309, 0.508, 0.773, 1.103, 1.498",\
                 "0.069, 0.063, 0.065, 0.1, 0.17, 0.301, 0.493, 0.742, 1.059, 1.437",\
                 "0.109, 0.106, 0.103, 0.129, 0.192, 0.31, 0.495, 0.734, 1.027, 1.385",\
                 "0.162, 0.151, 0.149, 0.169, 0.222, 0.321, 0.484, 0.693, 0.964, 1.284",\
                 "0.189, 0.186, 0.182, 0.195, 0.243, 0.329, 0.47, 0.677, 0.939, 1.228",\
                 "0.221, 0.212, 0.213, 0.227, 0.267, 0.345, 0.477, 0.676, 0.929, 1.248",\
                 "0.251, 0.244, 0.248, 0.256, 0.291, 0.359, 0.493, 0.686, 0.936, 1.259",\
                 "0.278, 0.272, 0.274, 0.282, 0.309, 0.376, 0.505, 0.693, 0.955, 1.276",\
                 "0.29, 0.289, 0.288, 0.303, 0.329, 0.386, 0.505, 0.699, 0.964, 1.298",\
                 "0.294, 0.287, 0.289, 0.3, 0.326, 0.381, 0.497, 0.687, 0.963, 1.31");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "D&!E" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.063, 0.06, 0.063, 0.092, 0.169, 0.303, 0.508, 0.773, 1.103, 1.498",\
                 "0.069, 0.063, 0.065, 0.1, 0.17, 0.301, 0.493, 0.742, 1.059, 1.437",\
                 "0.109, 0.106, 0.103, 0.129, 0.192, 0.31, 0.495, 0.727, 1.027, 1.385",\
                 "0.162, 0.151, 0.149, 0.169, 0.222, 0.321, 0.484, 0.693, 0.964, 1.29",\
                 "0.189, 0.186, 0.182, 0.195, 0.243, 0.329, 0.476, 0.677, 0.93, 1.24",\
                 "0.221, 0.212, 0.213, 0.227, 0.267, 0.345, 0.477, 0.676, 0.934, 1.242",\
                 "0.251, 0.244, 0.248, 0.256, 0.291, 0.359, 0.493, 0.686, 0.936, 1.252",\
                 "0.278, 0.272, 0.274, 0.282, 0.309, 0.376, 0.505, 0.693, 0.955, 1.276",\
                 "0.29, 0.289, 0.288, 0.303, 0.329, 0.381, 0.505, 0.699, 0.964, 1.298",\
                 "0.294, 0.287, 0.289, 0.305, 0.332, 0.388, 0.504, 0.695, 0.972, 1.326");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E&RN" ;

        fall_constraint(scalar) {
          values("0.471");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E_AND_RN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E&RN" ;

        fall_constraint(scalar) {
          values("0.471");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latsnq_1) {
    area : 46.099200 ;

    latch(IQ2,IQN2) {
      enable : "E" ;
      data_in : "D" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!SETN" ;
      value : "0.0001038048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&SETN" ;
      value : "0.0001390719" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!SETN" ;
      value : "0.0001064811" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&SETN" ;
      value : "0.0001180146" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!SETN" ;
      value : "0.0001038048" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&SETN" ;
      value : "0.0001645215" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!SETN" ;
      value : "0.0001040622" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&SETN" ;
      value : "0.0001206447" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001645215" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.00327 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008366, 0.008341, 0.008349, 0.008355, 0.008357, 0.008366, 0.008364, \
                 0.008367, 0.008369, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007019, -0.007607, -0.008128, -0.008206, -0.00823, -0.008262, \
                 -0.008269, -0.008284, -0.008286, -0.008291");
        }
      }

      internal_power() {
        when : "!E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009001, 0.009017, 0.008996, 0.009002, 0.009005, 0.009014, 0.009012, \
                 0.009014, 0.009004, 0.009009");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008164, -0.008133, -0.008158, -0.008209, -0.008228, -0.008245, \
                 -0.008278, -0.008284, -0.00829, -0.008293");
        }
      }

      internal_power() {
        when : "E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06797, 0.06755, 0.06729, 0.06968, 0.07666, 0.08896, 0.1067, \
                 0.13, 0.159, 0.1941");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01891, 0.01844, 0.0183, 0.02023, 0.02572, 0.03545, 0.04994, \
                 0.06939, 0.09404, 0.1241");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.504, -0.484, -0.428, -0.346, -0.258, -0.165, -0.061, 0.066, 0.21, 0.377",\
                 "-0.514, -0.501, -0.439, -0.361, -0.27, -0.177, -0.073, 0.052, 0.201, 0.366",\
                 "-0.554, -0.539, -0.48, -0.401, -0.305, -0.214, -0.105, 0.019, 0.164, 0.338",\
                 "-0.644, -0.623, -0.566, -0.49, -0.39, -0.292, -0.174, -0.052, 0.102, 0.277",\
                 "-0.784, -0.772, -0.712, -0.633, -0.531, -0.416, -0.304, -0.165, -0.012, 0.165",\
                 "-0.986, -0.966, -0.902, -0.819, -0.722, -0.605, -0.476, -0.339, -0.185, -0",\
                 "-1.229, -1.213, -1.144, -1.064, -0.965, -0.837, -0.702, -0.559, -0.399, -0.217",\
                 "-1.523, -1.497, -1.429, -1.344, -1.249, -1.117, -0.973, -0.83, -0.659, -0.478",\
                 "-1.85, -1.824, -1.752, -1.666, -1.578, -1.445, -1.291, -1.131, -0.957, -0.767",\
                 "-2.225, -2.2, -2.123, -2.033, -1.94, -1.804, -1.638, -1.469, -1.287, -1.089");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.303, -0.3, -0.315, -0.365, -0.436, -0.481, -0.482, -0.454, -0.371, -0.232",\
                 "-0.316, -0.31, -0.32, -0.381, -0.44, -0.484, -0.493, -0.456, -0.369, -0.237",\
                 "-0.339, -0.337, -0.346, -0.395, -0.452, -0.489, -0.495, -0.46, -0.374, -0.236",\
                 "-0.371, -0.372, -0.381, -0.413, -0.464, -0.496, -0.503, -0.466, -0.379, -0.249",\
                 "-0.404, -0.402, -0.399, -0.432, -0.471, -0.504, -0.516, -0.491, -0.409, -0.287",\
                 "-0.411, -0.407, -0.404, -0.424, -0.459, -0.502, -0.53, -0.516, -0.468, -0.356",\
                 "-0.386, -0.381, -0.375, -0.395, -0.439, -0.493, -0.533, -0.549, -0.523, -0.445",\
                 "-0.331, -0.321, -0.317, -0.335, -0.39, -0.452, -0.514, -0.561, -0.571, -0.525",\
                 "-0.234, -0.226, -0.222, -0.242, -0.3, -0.376, -0.464, -0.544, -0.592, -0.596",\
                 "-0.101, -0.094, -0.09, -0.114, -0.171, -0.265, -0.375, -0.479, -0.575, -0.629");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.561, 0.545, 0.482, 0.41, 0.31, 0.228, 0.162, 0.106, 0.06, 0.014",\
                 "0.575, 0.556, 0.492, 0.418, 0.324, 0.242, 0.176, 0.115, 0.063, 0.011",\
                 "0.613, 0.592, 0.535, 0.454, 0.366, 0.278, 0.205, 0.131, 0.068, 0.006",\
                 "0.699, 0.681, 0.619, 0.544, 0.444, 0.351, 0.264, 0.166, 0.073, -0.025",\
                 "0.844, 0.826, 0.765, 0.681, 0.579, 0.469, 0.368, 0.255, 0.135, 0.002",\
                 "1.032, 1.019, 0.953, 0.871, 0.766, 0.642, 0.524, 0.399, 0.263, 0.11",\
                 "1.28, 1.255, 1.19, 1.105, 1, 0.871, 0.743, 0.608, 0.452, 0.288",\
                 "1.565, 1.538, 1.461, 1.378, 1.286, 1.151, 1.002, 0.858, 0.699, 0.518",\
                 "1.889, 1.863, 1.785, 1.701, 1.606, 1.465, 1.309, 1.151, 0.98, 0.794",\
                 "2.256, 2.227, 2.15, 2.062, 1.965, 1.823, 1.66, 1.485, 1.305, 1.106");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.372, 0.374, 0.38, 0.483, 0.72, 1.074, 1.553, 2.165, 2.918, 3.809",\
                 "0.384, 0.381, 0.391, 0.495, 0.725, 1.073, 1.555, 2.163, 2.897, 3.78",\
                 "0.404, 0.402, 0.417, 0.512, 0.731, 1.063, 1.519, 2.095, 2.806, 3.642",\
                 "0.444, 0.44, 0.451, 0.529, 0.724, 1.023, 1.433, 1.942, 2.581, 3.344",\
                 "0.479, 0.471, 0.478, 0.538, 0.707, 0.977, 1.357, 1.832, 2.434, 3.148",\
                 "0.486, 0.477, 0.481, 0.534, 0.679, 0.934, 1.285, 1.746, 2.317, 3.001",\
                 "0.462, 0.458, 0.465, 0.505, 0.639, 0.877, 1.227, 1.691, 2.26, 2.957",\
                 "0.414, 0.41, 0.41, 0.443, 0.568, 0.806, 1.159, 1.631, 2.225, 2.951",\
                 "0.329, 0.321, 0.321, 0.355, 0.471, 0.7, 1.055, 1.543, 2.17, 2.929",\
                 "0.205, 0.198, 0.198, 0.227, 0.332, 0.562, 0.925, 1.437, 2.106, 2.922");
        }
      }
    }

    pin(E) {
      capacitance : 0.006975 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.655 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09182, 0.09122, 0.09319, 0.1005, 0.1139, 0.1341, 0.1615, 0.1968, \
                 0.2403, 0.2927");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.058, 0.05754, 0.05787, 0.06258, 0.07327, 0.09049, 0.1146, 0.1459, \
                 0.1852, 0.2324");
        }
      }

      internal_power() {
        when : "!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06358, 0.06284, 0.06453, 0.07124, 0.08396, 0.1034, 0.1299, 0.1641, \
                 0.2063, 0.2571");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0008739, 0.0003592, 0.001225, 0.006499, 0.01743, 0.03452, 0.05812, \
                 0.08867, 0.1265, 0.172");
        }
      }

      internal_power() {
        when : "D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0647, 0.06402, 0.0658, 0.07264, 0.08549, 0.1051, 0.1317, 0.1658, \
                 0.2082, 0.259");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003159, 0.002645, 0.003471, 0.008669, 0.01946, 0.03642, 0.05996, \
                 0.09048, 0.1282, 0.1737");
        }
      }

      internal_power() {
        when : "D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0647, 0.06399, 0.06583, 0.07266, 0.08548, 0.105, 0.1317, 0.1659, \
                 0.2082, 0.259");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0007042, 0.0001494, 0.0009881, 0.006187, 0.01701, 0.03397, 0.05753, \
                 0.08803, 0.1258, 0.1713");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SETN" ;

        rise_constraint(scalar) {
          values("0.655");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SETN" ;

        rise_constraint(scalar) {
          values("0.34");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ2" ;
      max_capacitance : 0.3594 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1749, 0.1746, 0.1745, 0.1747, 0.1747, 0.1747, 0.1748, 0.1749, 0.1749, 0.1749",\
                 "0.1744, 0.1741, 0.1739, 0.1742, 0.1742, 0.1742, 0.1744, 0.1744, 0.1744, 0.1744",\
                 "0.1742, 0.1739, 0.1738, 0.1739, 0.174, 0.1741, 0.1741, 0.1742, 0.1742, 0.1742",\
                 "0.1769, 0.1765, 0.1764, 0.1766, 0.1767, 0.1768, 0.1769, 0.1769, 0.1769, 0.1769",\
                 "0.1851, 0.1848, 0.1847, 0.1848, 0.1849, 0.185, 0.185, 0.185, 0.1851, 0.1851",\
                 "0.199, 0.1987, 0.1985, 0.1987, 0.1987, 0.1988, 0.1989, 0.1989, 0.1989, 0.1989",\
                 "0.2195, 0.2192, 0.2189, 0.219, 0.2192, 0.2194, 0.2194, 0.2194, 0.2194, 0.2195",\
                 "0.2462, 0.2459, 0.2458, 0.2458, 0.2459, 0.246, 0.2461, 0.2461, 0.2461, 0.2461",\
                 "0.2795, 0.2792, 0.2788, 0.2789, 0.279, 0.2791, 0.2792, 0.2792, 0.2792, 0.2792",\
                 "0.3192, 0.3189, 0.3186, 0.3187, 0.3188, 0.3188, 0.3188, 0.3188, 0.3189, 0.3189");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1515, 0.1514, 0.1515, 0.1522, 0.1529, 0.1536, 0.1543, 0.1549, 0.1558, 0.16",\
                 "0.1511, 0.1509, 0.1511, 0.1516, 0.1523, 0.153, 0.1537, 0.1543, 0.1551, 0.1592",\
                 "0.1509, 0.1508, 0.151, 0.1515, 0.1522, 0.153, 0.1535, 0.154, 0.155, 0.1588",\
                 "0.1535, 0.1532, 0.1534, 0.1542, 0.155, 0.1556, 0.1564, 0.1568, 0.1576, 0.1627",\
                 "0.16, 0.1598, 0.1601, 0.1606, 0.1613, 0.162, 0.1627, 0.1633, 0.1642, 0.1695",\
                 "0.1715, 0.1713, 0.1714, 0.1721, 0.1731, 0.1736, 0.1741, 0.1744, 0.1753, 0.1813",\
                 "0.1885, 0.1883, 0.1883, 0.1889, 0.1899, 0.1912, 0.1914, 0.192, 0.1929, 0.1998",\
                 "0.2111, 0.2109, 0.2108, 0.2114, 0.2121, 0.213, 0.2145, 0.2153, 0.2159, 0.2243",\
                 "0.2394, 0.2392, 0.2392, 0.2399, 0.24, 0.2408, 0.2419, 0.2438, 0.245, 0.2576",\
                 "0.274, 0.2736, 0.2736, 0.2741, 0.2747, 0.2749, 0.2755, 0.2771, 0.2811, 0.3");
        }
      }

      internal_power() {
        related_pin : "E" ;
        when : "SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1656, 0.1652, 0.1652, 0.1652, 0.1654, 0.1654, 0.1655, 0.1655, 0.1655, 0.1655",\
                 "0.1657, 0.1654, 0.1652, 0.1654, 0.1654, 0.1655, 0.1655, 0.1656, 0.1656, 0.1656",\
                 "0.165, 0.1648, 0.1647, 0.1647, 0.1648, 0.1649, 0.1649, 0.1649, 0.165, 0.165",\
                 "0.1644, 0.1641, 0.1639, 0.164, 0.1641, 0.1642, 0.1643, 0.1643, 0.1643, 0.1644",\
                 "0.1638, 0.1635, 0.1634, 0.1635, 0.1636, 0.1638, 0.1638, 0.1638, 0.1638, 0.1638",\
                 "0.1638, 0.1635, 0.1634, 0.1635, 0.1637, 0.1637, 0.1638, 0.1638, 0.1638, 0.1638",\
                 "0.1645, 0.1641, 0.164, 0.164, 0.1642, 0.1642, 0.1642, 0.1643, 0.1643, 0.1643",\
                 "0.1653, 0.1649, 0.1647, 0.1649, 0.1649, 0.165, 0.1651, 0.1651, 0.1652, 0.1652",\
                 "0.1662, 0.166, 0.1658, 0.166, 0.166, 0.1661, 0.1662, 0.1662, 0.1663, 0.1663",\
                 "0.1678, 0.1675, 0.1675, 0.1675, 0.1677, 0.1677, 0.1677, 0.1677, 0.1678, 0.1678");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1543, 0.1542, 0.1543, 0.1548, 0.1557, 0.1564, 0.157, 0.1573, 0.1585, 0.1626",\
                 "0.1544, 0.1542, 0.1544, 0.155, 0.1558, 0.1565, 0.1572, 0.1577, 0.1586, 0.1628",\
                 "0.1549, 0.1548, 0.1549, 0.1556, 0.1562, 0.157, 0.1579, 0.1584, 0.1589, 0.1631",\
                 "0.158, 0.1579, 0.158, 0.1587, 0.1592, 0.1602, 0.161, 0.1614, 0.1622, 0.1664",\
                 "0.1648, 0.1647, 0.165, 0.1654, 0.166, 0.1668, 0.1674, 0.168, 0.1691, 0.1739",\
                 "0.1767, 0.1766, 0.1766, 0.1772, 0.1783, 0.1786, 0.1791, 0.1798, 0.1811, 0.1865",\
                 "0.1905, 0.1903, 0.1904, 0.1909, 0.1918, 0.193, 0.1935, 0.1939, 0.1946, 0.2026",\
                 "0.2059, 0.2057, 0.2056, 0.2062, 0.2069, 0.2077, 0.2095, 0.2102, 0.2104, 0.2199",\
                 "0.2229, 0.2226, 0.2228, 0.2231, 0.2235, 0.2241, 0.2254, 0.2276, 0.2284, 0.241",\
                 "0.2418, 0.2416, 0.2415, 0.2421, 0.2424, 0.2427, 0.2431, 0.2449, 0.249, 0.267");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1574, 0.1573, 0.1575, 0.1582, 0.1589, 0.1597, 0.1603, 0.1608, 0.1617, 0.1656",\
                 "0.1571, 0.1569, 0.1571, 0.1579, 0.1585, 0.1593, 0.1598, 0.1608, 0.1614, 0.1649",\
                 "0.1576, 0.1574, 0.1576, 0.1583, 0.1591, 0.1598, 0.1602, 0.1613, 0.1619, 0.1648",\
                 "0.1635, 0.1633, 0.1634, 0.164, 0.1645, 0.1653, 0.1658, 0.1669, 0.1674, 0.1714",\
                 "0.1762, 0.1758, 0.1759, 0.1761, 0.1769, 0.1777, 0.1782, 0.1789, 0.1797, 0.1842",\
                 "0.1968, 0.1965, 0.196, 0.1964, 0.1971, 0.1978, 0.1982, 0.1988, 0.1998, 0.2056",\
                 "0.2228, 0.2224, 0.2218, 0.2218, 0.2224, 0.2237, 0.224, 0.2243, 0.2253, 0.2339",\
                 "0.252, 0.2514, 0.2507, 0.2502, 0.2503, 0.2513, 0.2527, 0.2534, 0.2539, 0.2647",\
                 "0.2839, 0.2831, 0.2823, 0.2818, 0.2818, 0.2824, 0.2837, 0.2852, 0.2875, 0.3031",\
                 "0.319, 0.3182, 0.3168, 0.3165, 0.3165, 0.3164, 0.317, 0.3194, 0.3238, 0.3505");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1574, 0.1573, 0.1575, 0.1582, 0.1589, 0.1597, 0.1603, 0.1608, 0.1617, 0.1656",\
                 "0.1571, 0.1569, 0.1571, 0.1579, 0.1585, 0.1593, 0.1598, 0.1608, 0.1614, 0.1649",\
                 "0.1576, 0.1574, 0.1576, 0.1583, 0.1591, 0.1598, 0.1602, 0.1613, 0.1619, 0.1648",\
                 "0.1635, 0.1633, 0.1634, 0.164, 0.1645, 0.1653, 0.1658, 0.1669, 0.1674, 0.1714",\
                 "0.1762, 0.1758, 0.1759, 0.1761, 0.1769, 0.1777, 0.1782, 0.1789, 0.1797, 0.1842",\
                 "0.1968, 0.1965, 0.196, 0.1964, 0.1971, 0.1978, 0.1982, 0.1988, 0.1998, 0.2056",\
                 "0.2228, 0.2224, 0.2218, 0.2218, 0.2224, 0.2237, 0.224, 0.2243, 0.2253, 0.2339",\
                 "0.252, 0.2514, 0.2507, 0.2502, 0.2503, 0.2513, 0.2527, 0.2534, 0.2539, 0.2647",\
                 "0.2839, 0.2831, 0.2823, 0.2818, 0.2818, 0.2824, 0.2837, 0.2852, 0.2875, 0.3031",\
                 "0.319, 0.3182, 0.3168, 0.3165, 0.3165, 0.3164, 0.317, 0.3194, 0.3238, 0.3505");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.0911, 0.09076, 0.09073, 0.09093, 0.091, 0.09115, 0.09118, 0.09121, 0.09122, 0.09124",\
                 "0.09059, 0.09033, 0.09047, 0.09057, 0.09056, 0.09068, 0.09069, 0.09071, 0.09073, 0.09075",\
                 "0.09094, 0.09058, 0.09055, 0.09072, 0.0908, 0.09089, 0.09094, 0.09097, 0.09099, 0.09101",\
                 "0.09576, 0.09547, 0.09537, 0.0954, 0.09556, 0.09565, 0.0957, 0.09574, 0.09577, 0.09578",\
                 "0.106, 0.1056, 0.1054, 0.1055, 0.1055, 0.1056, 0.1056, 0.1057, 0.1057, 0.1057",\
                 "0.1225, 0.122, 0.1215, 0.1215, 0.1217, 0.1218, 0.1218, 0.1218, 0.1219, 0.1219",\
                 "0.1457, 0.1452, 0.1447, 0.1444, 0.1445, 0.1446, 0.1446, 0.1446, 0.1447, 0.1447",\
                 "0.1759, 0.1753, 0.1745, 0.1743, 0.1743, 0.1742, 0.1743, 0.1743, 0.1743, 0.1743",\
                 "0.2133, 0.2125, 0.2115, 0.2112, 0.211, 0.211, 0.211, 0.211, 0.211, 0.2111",\
                 "0.2581, 0.2571, 0.2559, 0.2555, 0.2553, 0.2552, 0.2552, 0.2553, 0.2553, 0.2553");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1341, 0.134, 0.1344, 0.1348, 0.1356, 0.1365, 0.1371, 0.138, 0.1386, 0.1419",\
                 "0.1338, 0.1336, 0.1339, 0.1345, 0.1352, 0.1361, 0.1369, 0.1371, 0.1383, 0.1418",\
                 "0.1342, 0.1341, 0.1344, 0.1349, 0.1357, 0.1365, 0.1372, 0.1378, 0.1386, 0.1427",\
                 "0.1399, 0.1399, 0.1399, 0.1404, 0.141, 0.1419, 0.1425, 0.1432, 0.1446, 0.1488",\
                 "0.1517, 0.1514, 0.1514, 0.1519, 0.1524, 0.1532, 0.1539, 0.1545, 0.1555, 0.1608",\
                 "0.1705, 0.17, 0.1698, 0.1703, 0.171, 0.1717, 0.1721, 0.1727, 0.1736, 0.1793",\
                 "0.1967, 0.1963, 0.1956, 0.1956, 0.1963, 0.1975, 0.1981, 0.1985, 0.1994, 0.2079",\
                 "0.2305, 0.2299, 0.2292, 0.2287, 0.2292, 0.2298, 0.2313, 0.2324, 0.2328, 0.2438",\
                 "0.2721, 0.2714, 0.2701, 0.2698, 0.2698, 0.2703, 0.2718, 0.2734, 0.2751, 0.2913",\
                 "0.322, 0.3211, 0.3196, 0.3193, 0.319, 0.3198, 0.32, 0.3219, 0.3262, 0.3542");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1575, 0.1573, 0.1575, 0.1582, 0.1587, 0.1595, 0.1601, 0.1612, 0.1617, 0.1653",\
                 "0.157, 0.1569, 0.1571, 0.1578, 0.1584, 0.1591, 0.1597, 0.1608, 0.1614, 0.1648",\
                 "0.1576, 0.1574, 0.1576, 0.1583, 0.159, 0.1598, 0.1602, 0.1613, 0.1618, 0.1655",\
                 "0.1635, 0.1633, 0.1635, 0.164, 0.1645, 0.1654, 0.1659, 0.1668, 0.1674, 0.1714",\
                 "0.1759, 0.1757, 0.1757, 0.1761, 0.1766, 0.1774, 0.1781, 0.1788, 0.1797, 0.1845",\
                 "0.1969, 0.1964, 0.1959, 0.1965, 0.1972, 0.1977, 0.1983, 0.1991, 0.1998, 0.2056",\
                 "0.2228, 0.2222, 0.2216, 0.2217, 0.2226, 0.2235, 0.2239, 0.2243, 0.2253, 0.2327",\
                 "0.2518, 0.2512, 0.2503, 0.2502, 0.2507, 0.2516, 0.2528, 0.2532, 0.2541, 0.265",\
                 "0.284, 0.2833, 0.2822, 0.2817, 0.2818, 0.2822, 0.2839, 0.2853, 0.2872, 0.3034",\
                 "0.319, 0.3182, 0.317, 0.3165, 0.3168, 0.3171, 0.3171, 0.3198, 0.3236, 0.3513");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1575, 0.1573, 0.1575, 0.1582, 0.1587, 0.1595, 0.1601, 0.1612, 0.1617, 0.1653",\
                 "0.157, 0.1569, 0.1571, 0.1578, 0.1584, 0.1591, 0.1597, 0.1608, 0.1614, 0.1648",\
                 "0.1576, 0.1574, 0.1576, 0.1583, 0.159, 0.1598, 0.1602, 0.1613, 0.1618, 0.1655",\
                 "0.1635, 0.1633, 0.1635, 0.164, 0.1645, 0.1654, 0.1659, 0.1668, 0.1674, 0.1714",\
                 "0.1759, 0.1757, 0.1757, 0.1761, 0.1766, 0.1774, 0.1781, 0.1788, 0.1797, 0.1845",\
                 "0.1969, 0.1964, 0.1959, 0.1965, 0.1972, 0.1977, 0.1983, 0.1991, 0.1998, 0.2056",\
                 "0.2228, 0.2222, 0.2216, 0.2217, 0.2226, 0.2235, 0.2239, 0.2243, 0.2253, 0.2327",\
                 "0.2518, 0.2512, 0.2503, 0.2502, 0.2507, 0.2516, 0.2528, 0.2532, 0.2541, 0.265",\
                 "0.284, 0.2833, 0.2822, 0.2817, 0.2818, 0.2822, 0.2839, 0.2853, 0.2872, 0.3034",\
                 "0.319, 0.3182, 0.317, 0.3165, 0.3168, 0.3171, 0.3171, 0.3198, 0.3236, 0.3513");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.9896, 1.018, 1.099, 1.229, 1.422, 1.689, 2.042, 2.487, 3.029, 3.677",\
                 "1.002, 1.031, 1.112, 1.242, 1.434, 1.702, 2.055, 2.499, 3.042, 3.689",\
                 "1.041, 1.07, 1.151, 1.28, 1.473, 1.741, 2.094, 2.539, 3.081, 3.728",\
                 "1.126, 1.155, 1.235, 1.365, 1.558, 1.826, 2.179, 2.623, 3.166, 3.813",\
                 "1.269, 1.298, 1.379, 1.508, 1.701, 1.969, 2.322, 2.767, 3.309, 3.956",\
                 "1.466, 1.495, 1.576, 1.706, 1.898, 2.166, 2.519, 2.964, 3.506, 4.153",\
                 "1.715, 1.743, 1.824, 1.954, 2.147, 2.415, 2.768, 3.212, 3.754, 4.401",\
                 "2.007, 2.036, 2.117, 2.247, 2.44, 2.708, 3.06, 3.505, 4.047, 4.694",\
                 "2.343, 2.372, 2.453, 2.583, 2.776, 3.044, 3.397, 3.841, 4.383, 5.03",\
                 "2.722, 2.751, 2.832, 2.962, 3.155, 3.423, 3.776, 4.22, 4.763, 5.41");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.7307, 0.7668, 0.8854, 1.11, 1.458, 1.946, 2.588, 3.396, 4.383, 5.556",\
                 "0.739, 0.775, 0.8937, 1.118, 1.466, 1.954, 2.595, 3.402, 4.389, 5.567",\
                 "0.7623, 0.7986, 0.9173, 1.141, 1.489, 1.978, 2.619, 3.426, 4.414, 5.59",\
                 "0.8006, 0.8367, 0.9553, 1.179, 1.528, 2.015, 2.657, 3.465, 4.452, 5.626",\
                 "0.828, 0.8641, 0.9827, 1.207, 1.555, 2.043, 2.685, 3.493, 4.48, 5.654",\
                 "0.8325, 0.8687, 0.9873, 1.211, 1.559, 2.047, 2.688, 3.497, 4.481, 5.657",\
                 "0.8078, 0.8438, 0.9623, 1.186, 1.535, 2.022, 2.663, 3.47, 4.457, 5.632",\
                 "0.7487, 0.7848, 0.9033, 1.127, 1.476, 1.963, 2.604, 3.411, 4.397, 5.572",\
                 "0.6532, 0.6894, 0.8078, 1.032, 1.38, 1.867, 2.509, 3.316, 4.301, 5.476",\
                 "0.519, 0.555, 0.6736, 0.8975, 1.246, 1.734, 2.374, 3.182, 4.167, 5.342");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.09402, 0.125, 0.222, 0.4116, 0.7256, 1.173, 1.766, 2.511, 3.427, 4.516",\
                 "0.0944, 0.125, 0.2216, 0.412, 0.7254, 1.174, 1.766, 2.514, 3.426, 4.516",\
                 "0.0946, 0.1252, 0.2226, 0.4126, 0.7256, 1.174, 1.767, 2.514, 3.427, 4.511",\
                 "0.0946, 0.1252, 0.2226, 0.4122, 0.7256, 1.174, 1.767, 2.513, 3.427, 4.511",\
                 "0.0944, 0.1252, 0.222, 0.4122, 0.7248, 1.173, 1.766, 2.514, 3.427, 4.509",\
                 "0.0948, 0.1252, 0.2224, 0.4118, 0.724, 1.173, 1.766, 2.513, 3.423, 4.515",\
                 "0.0944, 0.1254, 0.2224, 0.4118, 0.7248, 1.172, 1.763, 2.509, 3.424, 4.509",\
                 "0.0952, 0.126, 0.2232, 0.4122, 0.7248, 1.173, 1.765, 2.508, 3.419, 4.51",\
                 "0.0958, 0.1266, 0.223, 0.4124, 0.726, 1.174, 1.764, 2.508, 3.418, 4.504",\
                 "0.0956, 0.127, 0.2232, 0.412, 0.7258, 1.172, 1.766, 2.511, 3.42, 4.504");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1151, 0.1683, 0.3663, 0.7576, 1.37, 2.229, 3.36, 4.784, 6.521, 8.591",\
                 "0.1151, 0.1679, 0.3667, 0.7576, 1.37, 2.229, 3.359, 4.782, 6.528, 8.597",\
                 "0.1152, 0.1681, 0.3664, 0.7578, 1.37, 2.228, 3.361, 4.786, 6.523, 8.593",\
                 "0.1152, 0.1682, 0.3664, 0.758, 1.37, 2.229, 3.36, 4.784, 6.524, 8.596",\
                 "0.115, 0.168, 0.3666, 0.7584, 1.37, 2.229, 3.359, 4.783, 6.52, 8.592",\
                 "0.1152, 0.1684, 0.3662, 0.7578, 1.37, 2.229, 3.359, 4.786, 6.518, 8.598",\
                 "0.1154, 0.1686, 0.3664, 0.758, 1.37, 2.227, 3.36, 4.779, 6.517, 8.594",\
                 "0.1158, 0.1688, 0.3666, 0.759, 1.37, 2.229, 3.358, 4.779, 6.518, 8.59",\
                 "0.116, 0.169, 0.3664, 0.7592, 1.37, 2.231, 3.357, 4.781, 6.515, 8.594",\
                 "0.1164, 0.169, 0.3666, 0.758, 1.37, 2.228, 3.357, 4.779, 6.515, 8.585");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("1.047, 1.076, 1.157, 1.286, 1.479, 1.747, 2.1, 2.545, 3.087, 3.735",\
                 "1.061, 1.09, 1.17, 1.3, 1.493, 1.761, 2.114, 2.558, 3.101, 3.748",\
                 "1.099, 1.128, 1.208, 1.338, 1.531, 1.799, 2.152, 2.596, 3.139, 3.786",\
                 "1.134, 1.162, 1.243, 1.373, 1.565, 1.834, 2.186, 2.631, 3.174, 3.82",\
                 "1.16, 1.189, 1.27, 1.4, 1.592, 1.86, 2.213, 2.657, 3.2, 3.847",\
                 "1.17, 1.199, 1.279, 1.409, 1.602, 1.87, 2.223, 2.667, 3.21, 3.857",\
                 "1.161, 1.19, 1.271, 1.401, 1.593, 1.862, 2.214, 2.659, 3.201, 3.848",\
                 "1.131, 1.16, 1.241, 1.371, 1.563, 1.832, 2.184, 2.629, 3.171, 3.817",\
                 "1.077, 1.106, 1.186, 1.316, 1.509, 1.777, 2.13, 2.574, 3.117, 3.763",\
                 "0.9989, 1.028, 1.108, 1.238, 1.431, 1.699, 2.052, 2.496, 3.039, 3.685");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.6916, 0.7277, 0.8463, 1.071, 1.418, 1.907, 2.548, 3.356, 4.343, 5.518",\
                 "0.7035, 0.7396, 0.8582, 1.082, 1.43, 1.919, 2.561, 3.369, 4.356, 5.528",\
                 "0.746, 0.7822, 0.9005, 1.125, 1.473, 1.961, 2.603, 3.411, 4.396, 5.571",\
                 "0.8021, 0.8383, 0.9566, 1.181, 1.529, 2.017, 2.659, 3.467, 4.451, 5.629",\
                 "0.8378, 0.8741, 0.9927, 1.217, 1.565, 2.052, 2.695, 3.503, 4.489, 5.662",\
                 "0.8495, 0.8856, 1.004, 1.228, 1.576, 2.064, 2.705, 3.515, 4.501, 5.674",\
                 "0.8278, 0.8639, 0.9826, 1.206, 1.554, 2.042, 2.683, 3.49, 4.476, 5.654",\
                 "0.7681, 0.804, 0.9227, 1.147, 1.495, 1.982, 2.623, 3.431, 4.416, 5.59",\
                 "0.6673, 0.7034, 0.822, 1.046, 1.394, 1.882, 2.523, 3.33, 4.315, 5.49",\
                 "0.5229, 0.5591, 0.6774, 0.9013, 1.249, 1.737, 2.378, 3.186, 4.172, 5.346");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.0946, 0.125, 0.2224, 0.4122, 0.7256, 1.173, 1.766, 2.511, 3.427, 4.515",\
                 "0.0946, 0.1254, 0.2222, 0.4126, 0.7252, 1.174, 1.767, 2.513, 3.426, 4.514",\
                 "0.0946, 0.1254, 0.2228, 0.4126, 0.7252, 1.174, 1.767, 2.513, 3.426, 4.514",\
                 "0.094, 0.1254, 0.2218, 0.4116, 0.7256, 1.173, 1.765, 2.512, 3.424, 4.516",\
                 "0.0942, 0.1248, 0.2226, 0.4118, 0.7258, 1.173, 1.766, 2.51, 3.423, 4.516",\
                 "0.0946, 0.1254, 0.2224, 0.4122, 0.724, 1.172, 1.765, 2.513, 3.426, 4.514",\
                 "0.0948, 0.125, 0.2224, 0.412, 0.7242, 1.172, 1.763, 2.509, 3.42, 4.509",\
                 "0.0942, 0.125, 0.222, 0.412, 0.7258, 1.173, 1.764, 2.509, 3.418, 4.502",\
                 "0.0942, 0.125, 0.2218, 0.4118, 0.7246, 1.172, 1.768, 2.51, 3.421, 4.505",\
                 "0.094, 0.1248, 0.222, 0.4116, 0.7248, 1.173, 1.767, 2.511, 3.419, 4.502");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1149, 0.1682, 0.3663, 0.7577, 1.37, 2.229, 3.36, 4.79, 6.52, 8.592",\
                 "0.1152, 0.1682, 0.3663, 0.7581, 1.369, 2.229, 3.36, 4.784, 6.522, 8.591",\
                 "0.115, 0.1682, 0.3661, 0.7582, 1.37, 2.229, 3.36, 4.786, 6.523, 8.601",\
                 "0.1152, 0.1682, 0.3662, 0.758, 1.369, 2.228, 3.361, 4.786, 6.519, 8.593",\
                 "0.115, 0.168, 0.3668, 0.7576, 1.37, 2.229, 3.361, 4.783, 6.526, 8.599",\
                 "0.1152, 0.1684, 0.3668, 0.7578, 1.369, 2.231, 3.359, 4.782, 6.526, 8.599",\
                 "0.1156, 0.1684, 0.3664, 0.7578, 1.37, 2.227, 3.359, 4.779, 6.52, 8.596",\
                 "0.116, 0.1686, 0.3662, 0.7584, 1.371, 2.229, 3.356, 4.78, 6.516, 8.596",\
                 "0.1162, 0.1688, 0.367, 0.7578, 1.37, 2.231, 3.357, 4.782, 6.515, 8.584",\
                 "0.1164, 0.1692, 0.3666, 0.758, 1.371, 2.227, 3.362, 4.779, 6.516, 8.586");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&!E" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.435, 0.471, 0.5897, 0.8138, 1.162, 1.65, 2.291, 3.1, 4.086, 5.26",\
                 "0.4521, 0.4882, 0.6068, 0.831, 1.179, 1.667, 2.308, 3.116, 4.102, 5.275",\
                 "0.5171, 0.5531, 0.6717, 0.8958, 1.244, 1.732, 2.373, 3.181, 4.168, 5.34",\
                 "0.6332, 0.6692, 0.7877, 1.012, 1.36, 1.847, 2.489, 3.297, 4.283, 5.456",\
                 "0.7709, 0.807, 0.9253, 1.148, 1.497, 1.985, 2.626, 3.435, 4.42, 5.596",\
                 "0.9268, 0.9633, 1.081, 1.304, 1.652, 2.14, 2.782, 3.588, 4.574, 5.75",\
                 "1.098, 1.135, 1.253, 1.475, 1.823, 2.31, 2.951, 3.759, 4.747, 5.921",\
                 "1.283, 1.319, 1.437, 1.659, 2.006, 2.493, 3.134, 3.942, 4.927, 6.102",\
                 "1.48, 1.516, 1.634, 1.856, 2.203, 2.69, 3.332, 4.139, 5.124, 6.298",\
                 "1.691, 1.728, 1.845, 2.067, 2.413, 2.901, 3.541, 4.35, 5.334, 6.509");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1147, 0.1675, 0.3661, 0.7587, 1.369, 2.227, 3.357, 4.785, 6.523, 8.591",\
                 "0.1147, 0.1674, 0.3662, 0.7584, 1.369, 2.227, 3.361, 4.785, 6.525, 8.588",\
                 "0.1147, 0.1675, 0.3664, 0.7586, 1.369, 2.227, 3.36, 4.785, 6.525, 8.59",\
                 "0.115, 0.1682, 0.3662, 0.7584, 1.372, 2.228, 3.361, 4.785, 6.525, 8.588",\
                 "0.1168, 0.1692, 0.3664, 0.7588, 1.37, 2.228, 3.359, 4.783, 6.522, 8.599",\
                 "0.119, 0.1712, 0.367, 0.7576, 1.369, 2.232, 3.359, 4.781, 6.519, 8.599",\
                 "0.122, 0.173, 0.3676, 0.7586, 1.371, 2.229, 3.362, 4.782, 6.52, 8.591",\
                 "0.1238, 0.1748, 0.368, 0.7576, 1.372, 2.229, 3.356, 4.787, 6.521, 8.592",\
                 "0.1262, 0.1774, 0.3686, 0.7586, 1.369, 2.228, 3.356, 4.779, 6.517, 8.589",\
                 "0.1276, 0.1784, 0.3692, 0.7586, 1.37, 2.229, 3.363, 4.779, 6.515, 8.589");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.4825, 0.5111, 0.5916, 0.7213, 0.9139, 1.182, 1.535, 1.98, 2.522, 3.17",\
                 "0.4929, 0.5215, 0.6017, 0.7316, 0.9242, 1.192, 1.545, 1.99, 2.533, 3.179",\
                 "0.5363, 0.5649, 0.6453, 0.7751, 0.9677, 1.236, 1.589, 2.033, 2.576, 3.223",\
                 "0.6114, 0.6401, 0.7206, 0.8504, 1.043, 1.311, 1.664, 2.109, 2.652, 3.297",\
                 "0.6825, 0.7114, 0.7925, 0.9226, 1.115, 1.383, 1.736, 2.181, 2.724, 3.37",\
                 "0.7492, 0.7783, 0.8596, 0.99, 1.183, 1.451, 1.804, 2.248, 2.791, 3.437",\
                 "0.8074, 0.8368, 0.9186, 1.05, 1.242, 1.511, 1.863, 2.308, 2.85, 3.497",\
                 "0.8525, 0.8823, 0.9652, 1.097, 1.29, 1.558, 1.911, 2.355, 2.898, 3.544",\
                 "0.8826, 0.9132, 0.9969, 1.129, 1.323, 1.591, 1.944, 2.388, 2.93, 3.577",\
                 "0.8954, 0.9264, 1.012, 1.144, 1.338, 1.606, 1.959, 2.403, 2.946, 3.592");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.4337, 0.4697, 0.5885, 0.8129, 1.161, 1.648, 2.29, 3.1, 4.084, 5.259",\
                 "0.4508, 0.4869, 0.6056, 0.8299, 1.178, 1.666, 2.308, 3.115, 4.104, 5.28",\
                 "0.5158, 0.5517, 0.6706, 0.8949, 1.243, 1.731, 2.372, 3.181, 4.166, 5.342",\
                 "0.6314, 0.6676, 0.7861, 1.01, 1.358, 1.846, 2.489, 3.296, 4.285, 5.462",\
                 "0.7675, 0.8038, 0.9221, 1.146, 1.494, 1.982, 2.624, 3.432, 4.42, 5.597",\
                 "0.9225, 0.9586, 1.077, 1.301, 1.648, 2.136, 2.777, 3.585, 4.572, 5.749",\
                 "1.093, 1.13, 1.247, 1.471, 1.818, 2.306, 2.947, 3.754, 4.743, 5.918",\
                 "1.277, 1.314, 1.433, 1.654, 2.002, 2.489, 3.13, 3.939, 4.923, 6.102",\
                 "1.476, 1.513, 1.631, 1.853, 2.201, 2.688, 3.329, 4.136, 5.122, 6.296",\
                 "1.69, 1.728, 1.846, 2.068, 2.415, 2.902, 3.543, 4.351, 5.336, 6.511");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.09378, 0.1243, 0.2219, 0.4118, 0.7257, 1.174, 1.766, 2.514, 3.429, 4.518",\
                 "0.09318, 0.124, 0.2219, 0.4113, 0.7257, 1.174, 1.765, 2.512, 3.428, 4.512",\
                 "0.09364, 0.1243, 0.2217, 0.4118, 0.7257, 1.174, 1.766, 2.513, 3.427, 4.511",\
                 "0.094, 0.1252, 0.2226, 0.4124, 0.7258, 1.174, 1.767, 2.515, 3.425, 4.515",\
                 "0.0958, 0.1266, 0.2234, 0.412, 0.7252, 1.173, 1.766, 2.515, 3.424, 4.516",\
                 "0.0978, 0.1284, 0.2246, 0.4136, 0.7244, 1.172, 1.765, 2.51, 3.422, 4.516",\
                 "0.1004, 0.1312, 0.2276, 0.4142, 0.7262, 1.173, 1.763, 2.509, 3.418, 4.508",\
                 "0.104, 0.135, 0.23, 0.4162, 0.7262, 1.175, 1.764, 2.509, 3.418, 4.503",\
                 "0.1084, 0.1386, 0.2336, 0.4184, 0.7278, 1.174, 1.764, 2.51, 3.419, 4.503",\
                 "0.113, 0.1432, 0.2374, 0.4198, 0.7286, 1.175, 1.766, 2.512, 3.42, 4.507");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1144, 0.1676, 0.3665, 0.7576, 1.37, 2.228, 3.359, 4.786, 6.524, 8.604",\
                 "0.1144, 0.1677, 0.3666, 0.7582, 1.37, 2.228, 3.361, 4.787, 6.527, 8.597",\
                 "0.1144, 0.1676, 0.3663, 0.758, 1.37, 2.23, 3.359, 4.786, 6.525, 8.601",\
                 "0.1152, 0.1684, 0.3666, 0.758, 1.369, 2.229, 3.361, 4.784, 6.526, 8.601",\
                 "0.1172, 0.1698, 0.3666, 0.7584, 1.369, 2.229, 3.361, 4.786, 6.523, 8.598",\
                 "0.1194, 0.1714, 0.3674, 0.7586, 1.369, 2.229, 3.359, 4.785, 6.533, 8.596",\
                 "0.122, 0.1738, 0.3682, 0.7584, 1.371, 2.227, 3.361, 4.779, 6.52, 8.606",\
                 "0.1258, 0.1774, 0.369, 0.759, 1.371, 2.228, 3.356, 4.782, 6.517, 8.594",\
                 "0.1298, 0.1806, 0.37, 0.7602, 1.372, 2.228, 3.356, 4.779, 6.519, 8.587",\
                 "0.134, 0.184, 0.3718, 0.7598, 1.372, 2.229, 3.362, 4.778, 6.515, 8.589");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&!E" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.435, 0.471, 0.5897, 0.8138, 1.162, 1.65, 2.291, 3.099, 4.084, 5.259",\
                 "0.4521, 0.4882, 0.6068, 0.831, 1.179, 1.667, 2.308, 3.116, 4.102, 5.275",\
                 "0.5171, 0.553, 0.6717, 0.8959, 1.244, 1.732, 2.373, 3.181, 4.167, 5.34",\
                 "0.6331, 0.6692, 0.7877, 1.012, 1.36, 1.848, 2.489, 3.296, 4.282, 5.457",\
                 "0.7706, 0.8066, 0.9249, 1.148, 1.496, 1.984, 2.626, 3.434, 4.421, 5.596",\
                 "0.927, 0.963, 1.081, 1.304, 1.652, 2.14, 2.782, 3.59, 4.574, 5.75",\
                 "1.098, 1.134, 1.252, 1.475, 1.822, 2.31, 2.951, 3.758, 4.747, 5.92",\
                 "1.282, 1.319, 1.436, 1.659, 2.006, 2.494, 3.135, 3.942, 4.927, 6.105",\
                 "1.48, 1.517, 1.634, 1.855, 2.202, 2.69, 3.331, 4.138, 5.123, 6.297",\
                 "1.691, 1.727, 1.845, 2.066, 2.413, 2.9, 3.541, 4.348, 5.334, 6.508");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1147, 0.1675, 0.3663, 0.7585, 1.369, 2.228, 3.361, 4.785, 6.522, 8.591",\
                 "0.1144, 0.1675, 0.3663, 0.7581, 1.371, 2.229, 3.361, 4.785, 6.525, 8.588",\
                 "0.1147, 0.1676, 0.366, 0.7581, 1.369, 2.228, 3.361, 4.785, 6.525, 8.588",\
                 "0.1152, 0.1682, 0.366, 0.7576, 1.37, 2.229, 3.36, 4.783, 6.522, 8.595",\
                 "0.1172, 0.1694, 0.3664, 0.7584, 1.37, 2.229, 3.359, 4.781, 6.52, 8.598",\
                 "0.1188, 0.1718, 0.3672, 0.759, 1.37, 2.232, 3.359, 4.785, 6.518, 8.599",\
                 "0.1214, 0.1732, 0.3676, 0.759, 1.37, 2.229, 3.363, 4.783, 6.522, 8.591",\
                 "0.1242, 0.175, 0.3682, 0.7576, 1.371, 2.227, 3.356, 4.788, 6.521, 8.599",\
                 "0.1258, 0.1768, 0.3688, 0.7584, 1.369, 2.228, 3.356, 4.779, 6.522, 8.586",\
                 "0.1276, 0.1782, 0.3692, 0.7584, 1.371, 2.228, 3.359, 4.779, 6.514, 8.59");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.4825, 0.5111, 0.5916, 0.7213, 0.9139, 1.182, 1.535, 1.98, 2.522, 3.17",\
                 "0.4929, 0.5215, 0.6017, 0.7316, 0.9242, 1.192, 1.545, 1.99, 2.533, 3.179",\
                 "0.5363, 0.5649, 0.6453, 0.7751, 0.9677, 1.236, 1.589, 2.033, 2.576, 3.223",\
                 "0.6114, 0.6401, 0.7206, 0.8504, 1.043, 1.311, 1.664, 2.109, 2.652, 3.297",\
                 "0.6825, 0.7114, 0.7925, 0.9226, 1.115, 1.383, 1.736, 2.181, 2.724, 3.37",\
                 "0.7492, 0.7783, 0.8596, 0.99, 1.183, 1.451, 1.804, 2.248, 2.791, 3.437",\
                 "0.8074, 0.8368, 0.9186, 1.05, 1.242, 1.511, 1.863, 2.308, 2.85, 3.497",\
                 "0.8525, 0.8823, 0.9652, 1.097, 1.29, 1.558, 1.911, 2.355, 2.898, 3.544",\
                 "0.8826, 0.9132, 0.9969, 1.129, 1.323, 1.591, 1.944, 2.388, 2.93, 3.577",\
                 "0.8954, 0.9264, 1.012, 1.144, 1.338, 1.606, 1.959, 2.403, 2.946, 3.592");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.4337, 0.4697, 0.5885, 0.8129, 1.161, 1.648, 2.29, 3.1, 4.084, 5.259",\
                 "0.4508, 0.4869, 0.6056, 0.8299, 1.178, 1.666, 2.308, 3.115, 4.104, 5.28",\
                 "0.5158, 0.5517, 0.6706, 0.8949, 1.243, 1.731, 2.372, 3.181, 4.166, 5.342",\
                 "0.6314, 0.6676, 0.7861, 1.01, 1.358, 1.846, 2.489, 3.296, 4.285, 5.462",\
                 "0.7675, 0.8038, 0.9221, 1.146, 1.494, 1.982, 2.624, 3.432, 4.42, 5.597",\
                 "0.9225, 0.9586, 1.077, 1.301, 1.648, 2.136, 2.777, 3.585, 4.572, 5.749",\
                 "1.093, 1.13, 1.247, 1.471, 1.818, 2.306, 2.947, 3.754, 4.743, 5.918",\
                 "1.277, 1.314, 1.433, 1.654, 2.002, 2.489, 3.13, 3.939, 4.923, 6.102",\
                 "1.476, 1.513, 1.631, 1.853, 2.201, 2.688, 3.329, 4.136, 5.122, 6.296",\
                 "1.69, 1.728, 1.846, 2.068, 2.415, 2.902, 3.543, 4.351, 5.336, 6.511");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.09378, 0.1243, 0.2219, 0.4118, 0.7257, 1.174, 1.766, 2.514, 3.429, 4.518",\
                 "0.09318, 0.124, 0.2219, 0.4113, 0.7257, 1.174, 1.765, 2.512, 3.428, 4.512",\
                 "0.09364, 0.1243, 0.2217, 0.4118, 0.7257, 1.174, 1.766, 2.513, 3.427, 4.511",\
                 "0.094, 0.1252, 0.2226, 0.4124, 0.7258, 1.174, 1.767, 2.515, 3.425, 4.515",\
                 "0.0958, 0.1266, 0.2234, 0.412, 0.7252, 1.173, 1.766, 2.515, 3.424, 4.516",\
                 "0.0978, 0.1284, 0.2246, 0.4136, 0.7244, 1.172, 1.765, 2.51, 3.422, 4.516",\
                 "0.1004, 0.1312, 0.2276, 0.4142, 0.7262, 1.173, 1.763, 2.509, 3.418, 4.508",\
                 "0.104, 0.135, 0.23, 0.4162, 0.7262, 1.175, 1.764, 2.509, 3.418, 4.503",\
                 "0.1084, 0.1386, 0.2336, 0.4184, 0.7278, 1.174, 1.764, 2.51, 3.419, 4.503",\
                 "0.113, 0.1432, 0.2374, 0.4198, 0.7286, 1.175, 1.766, 2.512, 3.42, 4.507");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003474, 0.01216, 0.02874, 0.05458, 0.09083, 0.1385, 0.1986, 0.272, 0.3594");
          values("0.1144, 0.1676, 0.3665, 0.7576, 1.37, 2.228, 3.359, 4.786, 6.524, 8.604",\
                 "0.1144, 0.1677, 0.3666, 0.7582, 1.37, 2.228, 3.361, 4.787, 6.527, 8.597",\
                 "0.1144, 0.1676, 0.3663, 0.758, 1.37, 2.23, 3.359, 4.786, 6.525, 8.601",\
                 "0.1152, 0.1684, 0.3666, 0.758, 1.369, 2.229, 3.361, 4.784, 6.526, 8.601",\
                 "0.1172, 0.1698, 0.3666, 0.7584, 1.369, 2.229, 3.361, 4.786, 6.523, 8.598",\
                 "0.1194, 0.1714, 0.3674, 0.7586, 1.369, 2.229, 3.359, 4.785, 6.533, 8.596",\
                 "0.122, 0.1738, 0.3682, 0.7584, 1.371, 2.227, 3.361, 4.779, 6.52, 8.606",\
                 "0.1258, 0.1774, 0.369, 0.759, 1.371, 2.228, 3.356, 4.782, 6.517, 8.594",\
                 "0.1298, 0.1806, 0.37, 0.7602, 1.372, 2.228, 3.356, 4.779, 6.519, 8.587",\
                 "0.134, 0.184, 0.3718, 0.7598, 1.372, 2.229, 3.362, 4.778, 6.515, 8.589");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.003939 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.314 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01349, 0.01346, 0.01344, 0.01342, 0.01345, 0.01344, 0.01345, \
                 0.01345, 0.01346, 0.01345");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009657, -0.009637, -0.009648, -0.00964, -0.009661, -0.009679, \
                 -0.009699, -0.009692, -0.009703, -0.009727");
        }
      }

      internal_power() {
        when : "D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01347, 0.01349, 0.01342, 0.01343, 0.01346, 0.01345, 0.01345, \
                 0.01345, 0.01345, 0.01344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009646, -0.009639, -0.009648, -0.00964, -0.009661, -0.00968, \
                 -0.009671, -0.009687, -0.009707, -0.009726");
        }
      }

      internal_power() {
        when : "D&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01349, 0.01346, 0.01345, 0.01343, 0.01342, 0.01346, 0.01345, \
                 0.01345, 0.01345, 0.01343");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009658, -0.009643, -0.009643, -0.009647, -0.009666, -0.009687, \
                 -0.009678, -0.009699, -0.009709, -0.009705");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006, -0.015, -0.082, -0.189, -0.308, -0.445, -0.597, -0.768, -0.959, -1.178",\
                 "0.008, -0.008, -0.077, -0.18, -0.301, -0.436, -0.587, -0.762, -0.956, -1.173",\
                 "0.039, 0.023, -0.039, -0.149, -0.269, -0.404, -0.565, -0.739, -0.933, -1.157",\
                 "0.072, 0.064, -0.007, -0.107, -0.232, -0.366, -0.525, -0.709, -0.906, -1.133",\
                 "0.107, 0.093, 0.026, -0.074, -0.195, -0.337, -0.496, -0.679, -0.878, -1.106",\
                 "0.146, 0.129, 0.066, -0.029, -0.153, -0.297, -0.453, -0.637, -0.837, -1.066",\
                 "0.175, 0.158, 0.094, -0.004, -0.121, -0.261, -0.42, -0.602, -0.807, -1.032",\
                 "0.195, 0.177, 0.112, 0.022, -0.098, -0.238, -0.393, -0.578, -0.78, -1.014",\
                 "0.202, 0.185, 0.122, 0.032, -0.088, -0.227, -0.387, -0.564, -0.771, -0.999",\
                 "0.2, 0.183, 0.118, 0.031, -0.085, -0.22, -0.381, -0.557, -0.767, -0.997");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.109, 0.124, 0.189, 0.29, 0.42, 0.56, 0.723, 0.91, 1.117, 1.356",\
                 "0.094, 0.111, 0.177, 0.286, 0.409, 0.548, 0.715, 0.899, 1.108, 1.346",\
                 "0.063, 0.077, 0.142, 0.248, 0.374, 0.513, 0.683, 0.864, 1.074, 1.314",\
                 "0.02, 0.033, 0.1, 0.207, 0.327, 0.469, 0.635, 0.817, 1.028, 1.262",\
                 "-0.017, -0, 0.062, 0.164, 0.283, 0.425, 0.588, 0.775, 0.982, 1.22",\
                 "-0.054, -0.041, 0.03, 0.124, 0.25, 0.389, 0.554, 0.739, 0.947, 1.183",\
                 "-0.083, -0.064, 0.006, 0.104, 0.219, 0.362, 0.525, 0.71, 0.913, 1.146",\
                 "-0.095, -0.082, -0.012, 0.085, 0.203, 0.348, 0.501, 0.687, 0.894, 1.126",\
                 "-0.099, -0.081, -0.015, 0.082, 0.201, 0.337, 0.499, 0.678, 0.887, 1.125",\
                 "-0.08, -0.067, 0.001, 0.093, 0.211, 0.35, 0.503, 0.685, 0.893, 1.126");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E" ;

        fall_constraint(scalar) {
          values("0.314");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E" ;

        fall_constraint(scalar) {
          values("0.314");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latsnq_2) {
    area : 48.294400 ;

    latch(IQ2,IQN2) {
      enable : "E" ;
      data_in : "D" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!SETN" ;
      value : "0.0001149588" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&SETN" ;
      value : "0.0001504833" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!SETN" ;
      value : "0.0001176351" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&SETN" ;
      value : "0.000129426" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!SETN" ;
      value : "0.0001149588" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&SETN" ;
      value : "0.0001756788" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!SETN" ;
      value : "0.0001152162" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&SETN" ;
      value : "0.0001317987" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001756788" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.003272 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008367, 0.00834, 0.008349, 0.008354, 0.008356, 0.008379, 0.008361, \
                 0.008367, 0.008367, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007023, -0.007595, -0.008127, -0.008204, -0.008223, -0.008265, \
                 -0.008274, -0.008284, -0.008283, -0.008291");
        }
      }

      internal_power() {
        when : "!E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008998, 0.009017, 0.008995, 0.008994, 0.009004, 0.009015, 0.00901, \
                 0.00901, 0.009009, 0.009006");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00815, -0.008158, -0.008161, -0.008204, -0.00823, -0.008254, \
                 -0.008277, -0.008286, -0.008285, -0.008292");
        }
      }

      internal_power() {
        when : "E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06798, 0.06755, 0.0673, 0.06968, 0.07668, 0.08897, 0.1067, 0.13, \
                 0.159, 0.1941");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0189, 0.01844, 0.01831, 0.02024, 0.02572, 0.03545, 0.04994, \
                 0.06936, 0.09402, 0.1241");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.521, -0.505, -0.444, -0.365, -0.265, -0.176, -0.069, 0.054, 0.202, 0.366",\
                 "-0.535, -0.517, -0.456, -0.38, -0.278, -0.189, -0.082, 0.046, 0.185, 0.356",\
                 "-0.57, -0.556, -0.496, -0.419, -0.322, -0.221, -0.114, 0.006, 0.156, 0.327",\
                 "-0.653, -0.633, -0.578, -0.505, -0.406, -0.299, -0.184, -0.058, 0.093, 0.266",\
                 "-0.799, -0.788, -0.721, -0.648, -0.545, -0.434, -0.316, -0.18, -0.021, 0.154",\
                 "-1.004, -0.984, -0.921, -0.834, -0.731, -0.615, -0.49, -0.348, -0.196, -0.013",\
                 "-1.246, -1.23, -1.163, -1.074, -0.982, -0.85, -0.719, -0.569, -0.411, -0.231",\
                 "-1.541, -1.521, -1.448, -1.364, -1.263, -1.134, -0.992, -0.841, -0.679, -0.486",\
                 "-1.866, -1.848, -1.769, -1.683, -1.588, -1.461, -1.309, -1.151, -0.973, -0.785",\
                 "-2.246, -2.221, -2.144, -2.056, -1.959, -1.823, -1.659, -1.493, -1.305, -1.11");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.309, -0.307, -0.32, -0.374, -0.436, -0.481, -0.491, -0.454, -0.371, -0.237",\
                 "-0.323, -0.318, -0.326, -0.38, -0.448, -0.49, -0.493, -0.462, -0.377, -0.242",\
                 "-0.345, -0.343, -0.346, -0.401, -0.452, -0.495, -0.495, -0.46, -0.374, -0.242",\
                 "-0.38, -0.382, -0.386, -0.421, -0.464, -0.496, -0.503, -0.466, -0.387, -0.254",\
                 "-0.412, -0.409, -0.408, -0.432, -0.471, -0.504, -0.521, -0.491, -0.419, -0.293",\
                 "-0.417, -0.412, -0.411, -0.432, -0.468, -0.507, -0.53, -0.525, -0.468, -0.362",\
                 "-0.395, -0.39, -0.384, -0.405, -0.445, -0.493, -0.533, -0.549, -0.529, -0.445",\
                 "-0.337, -0.333, -0.329, -0.342, -0.39, -0.452, -0.514, -0.566, -0.578, -0.525",\
                 "-0.242, -0.234, -0.23, -0.25, -0.3, -0.381, -0.47, -0.544, -0.599, -0.596",\
                 "-0.111, -0.104, -0.101, -0.12, -0.177, -0.271, -0.375, -0.479, -0.575, -0.634");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.584, 0.566, 0.503, 0.429, 0.325, 0.245, 0.179, 0.123, 0.076, 0.035",\
                 "0.596, 0.58, 0.515, 0.438, 0.339, 0.254, 0.184, 0.127, 0.079, 0.032",\
                 "0.635, 0.615, 0.551, 0.477, 0.375, 0.291, 0.214, 0.149, 0.084, 0.022",\
                 "0.717, 0.7, 0.636, 0.559, 0.46, 0.358, 0.274, 0.179, 0.09, -0.008",\
                 "0.859, 0.842, 0.782, 0.702, 0.599, 0.487, 0.379, 0.269, 0.154, 0.014",\
                 "1.055, 1.037, 0.973, 0.885, 0.784, 0.659, 0.537, 0.415, 0.274, 0.123",\
                 "1.297, 1.281, 1.208, 1.125, 1.023, 0.891, 0.759, 0.618, 0.469, 0.303",\
                 "1.582, 1.562, 1.485, 1.398, 1.301, 1.168, 1.022, 0.876, 0.712, 0.534",\
                 "1.913, 1.887, 1.81, 1.718, 1.625, 1.486, 1.332, 1.171, 0.996, 0.812",\
                 "2.282, 2.253, 2.177, 2.084, 1.983, 1.849, 1.681, 1.509, 1.323, 1.126");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.395, 0.388, 0.401, 0.501, 0.742, 1.109, 1.612, 2.242, 3.029, 3.95",\
                 "0.404, 0.397, 0.409, 0.505, 0.749, 1.114, 1.607, 2.235, 3.01, 3.926",\
                 "0.426, 0.42, 0.433, 0.529, 0.757, 1.108, 1.591, 2.194, 2.938, 3.825",\
                 "0.462, 0.459, 0.468, 0.552, 0.75, 1.067, 1.503, 2.049, 2.729, 3.534",\
                 "0.494, 0.494, 0.495, 0.554, 0.734, 1.021, 1.414, 1.921, 2.557, 3.303",\
                 "0.503, 0.5, 0.5, 0.549, 0.705, 0.966, 1.345, 1.83, 2.433, 3.162",\
                 "0.487, 0.484, 0.483, 0.525, 0.662, 0.918, 1.292, 1.779, 2.39, 3.143",\
                 "0.437, 0.434, 0.435, 0.463, 0.59, 0.84, 1.207, 1.705, 2.333, 3.103",\
                 "0.353, 0.353, 0.346, 0.373, 0.49, 0.732, 1.108, 1.63, 2.295, 3.118",\
                 "0.231, 0.23, 0.225, 0.249, 0.356, 0.595, 0.975, 1.509, 2.224, 3.086");
        }
      }
    }

    pin(E) {
      capacitance : 0.006937 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.671 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09163, 0.09098, 0.09301, 0.1003, 0.1137, 0.1339, 0.1614, 0.1966, \
                 0.2401, 0.2925");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.058, 0.05753, 0.05788, 0.06259, 0.07331, 0.09052, 0.1146, 0.146, \
                 0.1852, 0.2324");
        }
      }

      internal_power() {
        when : "!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06341, 0.06266, 0.06433, 0.071, 0.0838, 0.1032, 0.1298, 0.1639, \
                 0.2062, 0.2569");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0008761, 0.0003404, 0.00123, 0.006518, 0.01744, 0.0345, 0.05818, \
                 0.08875, 0.1266, 0.172");
        }
      }

      internal_power() {
        when : "D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06453, 0.06383, 0.06564, 0.07247, 0.08532, 0.1049, 0.1315, 0.1657, \
                 0.208, 0.2588");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003163, 0.002647, 0.003486, 0.008679, 0.01948, 0.03645, 0.05999, \
                 0.0905, 0.1283, 0.1738");
        }
      }

      internal_power() {
        when : "D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06453, 0.06381, 0.06564, 0.07249, 0.08538, 0.1049, 0.1315, 0.1657, \
                 0.208, 0.2588");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0007111, 0.0001466, 0.001004, 0.006191, 0.01702, 0.03398, 0.05755, \
                 0.08808, 0.1259, 0.1713");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SETN" ;

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SETN" ;

        rise_constraint(scalar) {
          values("0.356");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ2" ;
      max_capacitance : 0.7201 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.2271, 0.2248, 0.223, 0.2227, 0.2227, 0.2227, 0.2227, 0.2227, 0.2227, 0.2228",\
                 "0.2266, 0.2243, 0.2227, 0.2224, 0.2224, 0.2223, 0.2224, 0.2224, 0.2224, 0.2225",\
                 "0.2264, 0.224, 0.2223, 0.2219, 0.2219, 0.2221, 0.222, 0.2221, 0.2221, 0.2221",\
                 "0.2291, 0.2268, 0.2251, 0.2247, 0.2247, 0.2249, 0.2248, 0.2248, 0.2249, 0.2249",\
                 "0.2374, 0.2352, 0.2333, 0.233, 0.2331, 0.2329, 0.233, 0.233, 0.233, 0.233",\
                 "0.2512, 0.2489, 0.2471, 0.247, 0.2468, 0.2469, 0.2469, 0.2469, 0.2469, 0.2469",\
                 "0.2718, 0.2694, 0.2677, 0.267, 0.2673, 0.2673, 0.2672, 0.2672, 0.2672, 0.2673",\
                 "0.2987, 0.2964, 0.2943, 0.2939, 0.2939, 0.2939, 0.294, 0.294, 0.294, 0.294",\
                 "0.3321, 0.3296, 0.3275, 0.3271, 0.327, 0.3272, 0.3271, 0.3273, 0.3273, 0.3273",\
                 "0.3719, 0.3695, 0.3676, 0.367, 0.3669, 0.3669, 0.367, 0.367, 0.367, 0.367");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.1931, 0.1922, 0.1922, 0.1931, 0.1943, 0.1957, 0.1972, 0.1985, 0.2002, 0.2063",\
                 "0.1926, 0.1916, 0.1914, 0.1926, 0.1938, 0.1952, 0.1972, 0.1982, 0.1989, 0.2075",\
                 "0.1924, 0.1916, 0.1912, 0.1925, 0.1942, 0.1954, 0.1965, 0.1975, 0.1996, 0.2091",\
                 "0.195, 0.1941, 0.1937, 0.1952, 0.1966, 0.1976, 0.199, 0.2005, 0.2022, 0.209",\
                 "0.2014, 0.2003, 0.2004, 0.2013, 0.2023, 0.204, 0.2054, 0.2064, 0.2078, 0.2175",\
                 "0.2131, 0.2122, 0.2116, 0.2129, 0.2151, 0.216, 0.2171, 0.218, 0.2207, 0.2307",\
                 "0.2303, 0.2292, 0.229, 0.2296, 0.2315, 0.234, 0.2346, 0.2354, 0.2376, 0.2517",\
                 "0.2529, 0.2519, 0.2513, 0.2521, 0.2526, 0.2546, 0.2586, 0.2591, 0.2608, 0.2782",\
                 "0.2813, 0.2801, 0.2794, 0.2803, 0.2813, 0.2827, 0.2848, 0.2878, 0.2916, 0.316",\
                 "0.3162, 0.3149, 0.3143, 0.3154, 0.3165, 0.3168, 0.3178, 0.3205, 0.3278, 0.3646");
        }
      }

      internal_power() {
        related_pin : "E" ;
        when : "SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.2179, 0.2157, 0.2139, 0.2135, 0.2135, 0.2134, 0.2134, 0.2135, 0.2135, 0.2135",\
                 "0.218, 0.2157, 0.214, 0.2135, 0.2135, 0.2136, 0.2136, 0.2136, 0.2137, 0.2137",\
                 "0.2174, 0.2152, 0.2133, 0.213, 0.2129, 0.2131, 0.213, 0.2131, 0.2131, 0.2131",\
                 "0.2167, 0.2143, 0.2127, 0.2123, 0.2123, 0.2123, 0.2123, 0.2124, 0.2124, 0.2124",\
                 "0.2161, 0.2138, 0.2122, 0.2118, 0.2118, 0.2118, 0.2118, 0.2118, 0.2118, 0.2118",\
                 "0.2161, 0.2138, 0.2122, 0.212, 0.2119, 0.2118, 0.2118, 0.2118, 0.2118, 0.2118",\
                 "0.2167, 0.2143, 0.2124, 0.2121, 0.2122, 0.2123, 0.2123, 0.2123, 0.2123, 0.2123",\
                 "0.2174, 0.2152, 0.2134, 0.2129, 0.2131, 0.2131, 0.213, 0.2131, 0.2131, 0.2131",\
                 "0.2186, 0.2163, 0.2147, 0.2142, 0.2142, 0.2143, 0.2143, 0.2143, 0.2144, 0.2144",\
                 "0.22, 0.2178, 0.2158, 0.2156, 0.2155, 0.2157, 0.2157, 0.2157, 0.2157, 0.2157");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.196, 0.1949, 0.1949, 0.1958, 0.1968, 0.1984, 0.2001, 0.2021, 0.2032, 0.2119",\
                 "0.196, 0.1951, 0.1949, 0.1959, 0.1972, 0.1989, 0.2, 0.2013, 0.2031, 0.2098",\
                 "0.1965, 0.1956, 0.1953, 0.1964, 0.1976, 0.1994, 0.2012, 0.2021, 0.2029, 0.2112",\
                 "0.1997, 0.1986, 0.1983, 0.1999, 0.2009, 0.2022, 0.2036, 0.2048, 0.2072, 0.2142",\
                 "0.2064, 0.2054, 0.2055, 0.2062, 0.2073, 0.2091, 0.2109, 0.2118, 0.2129, 0.2234",\
                 "0.2182, 0.2171, 0.2166, 0.2178, 0.22, 0.2212, 0.2222, 0.2239, 0.2254, 0.2383",\
                 "0.2327, 0.2314, 0.2309, 0.2319, 0.2333, 0.2361, 0.2369, 0.2373, 0.2395, 0.2532",\
                 "0.2481, 0.247, 0.2464, 0.2472, 0.2475, 0.2502, 0.2535, 0.2552, 0.2565, 0.2734",\
                 "0.2654, 0.2644, 0.2638, 0.2644, 0.2651, 0.2655, 0.2682, 0.2732, 0.2763, 0.3014",\
                 "0.2844, 0.2833, 0.2827, 0.2836, 0.2845, 0.2839, 0.2854, 0.2894, 0.2968, 0.3341");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.1987, 0.1979, 0.1976, 0.1992, 0.2001, 0.2016, 0.2032, 0.2042, 0.2056, 0.2122",\
                 "0.1986, 0.1976, 0.1976, 0.1987, 0.1998, 0.2016, 0.2027, 0.2048, 0.2063, 0.2117",\
                 "0.1988, 0.1979, 0.1979, 0.199, 0.2004, 0.2017, 0.2032, 0.2042, 0.2056, 0.2131",\
                 "0.2054, 0.2042, 0.2037, 0.2049, 0.2061, 0.2078, 0.209, 0.2102, 0.2122, 0.2194",\
                 "0.2192, 0.218, 0.2173, 0.2176, 0.2187, 0.2202, 0.2218, 0.2237, 0.2248, 0.2343",\
                 "0.2418, 0.2403, 0.2389, 0.2394, 0.2407, 0.2418, 0.2429, 0.2445, 0.2466, 0.2567",\
                 "0.2705, 0.2689, 0.2668, 0.2658, 0.2675, 0.2698, 0.2711, 0.2721, 0.2744, 0.2893",\
                 "0.3032, 0.3009, 0.2982, 0.2974, 0.2974, 0.299, 0.3021, 0.3031, 0.3049, 0.3271",\
                 "0.3386, 0.3363, 0.3327, 0.3319, 0.3318, 0.3327, 0.3351, 0.3388, 0.3414, 0.3735",\
                 "0.3773, 0.3745, 0.3707, 0.3696, 0.369, 0.3689, 0.3695, 0.3744, 0.3832, 0.4377");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.1987, 0.1979, 0.1976, 0.1992, 0.2001, 0.2016, 0.2032, 0.2042, 0.2056, 0.2122",\
                 "0.1986, 0.1976, 0.1976, 0.1987, 0.1998, 0.2016, 0.2027, 0.2048, 0.2063, 0.2117",\
                 "0.1988, 0.1979, 0.1979, 0.199, 0.2004, 0.2017, 0.2032, 0.2042, 0.2056, 0.2131",\
                 "0.2054, 0.2042, 0.2037, 0.2049, 0.2061, 0.2078, 0.209, 0.2102, 0.2122, 0.2194",\
                 "0.2192, 0.218, 0.2173, 0.2176, 0.2187, 0.2202, 0.2218, 0.2237, 0.2248, 0.2343",\
                 "0.2418, 0.2403, 0.2389, 0.2394, 0.2407, 0.2418, 0.2429, 0.2445, 0.2466, 0.2567",\
                 "0.2705, 0.2689, 0.2668, 0.2658, 0.2675, 0.2698, 0.2711, 0.2721, 0.2744, 0.2893",\
                 "0.3032, 0.3009, 0.2982, 0.2974, 0.2974, 0.299, 0.3021, 0.3031, 0.3049, 0.3271",\
                 "0.3386, 0.3363, 0.3327, 0.3319, 0.3318, 0.3327, 0.3351, 0.3388, 0.3414, 0.3735",\
                 "0.3773, 0.3745, 0.3707, 0.3696, 0.369, 0.3689, 0.3695, 0.3744, 0.3832, 0.4377");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.143, 0.1407, 0.1392, 0.1389, 0.1389, 0.139, 0.139, 0.139, 0.139, 0.139",\
                 "0.1425, 0.1404, 0.1386, 0.1384, 0.1384, 0.1384, 0.1385, 0.1385, 0.1385, 0.1386",\
                 "0.1428, 0.1405, 0.139, 0.1387, 0.1386, 0.1387, 0.1388, 0.1388, 0.1388, 0.1388",\
                 "0.1481, 0.1459, 0.1442, 0.1438, 0.1438, 0.1438, 0.1438, 0.1438, 0.1439, 0.1439",\
                 "0.1591, 0.1567, 0.1548, 0.1544, 0.1541, 0.1541, 0.1541, 0.1541, 0.1541, 0.1542",\
                 "0.1768, 0.1739, 0.1717, 0.171, 0.171, 0.171, 0.1711, 0.1711, 0.1712, 0.1712",\
                 "0.2017, 0.1988, 0.196, 0.195, 0.1948, 0.1951, 0.1949, 0.1949, 0.1949, 0.1949",\
                 "0.2338, 0.2304, 0.2271, 0.2261, 0.2256, 0.2255, 0.2254, 0.2255, 0.2255, 0.2255",\
                 "0.2735, 0.2699, 0.266, 0.2645, 0.2639, 0.2637, 0.2637, 0.2637, 0.2637, 0.2637",\
                 "0.3211, 0.3168, 0.3125, 0.3106, 0.3097, 0.3094, 0.3093, 0.3092, 0.3091, 0.3092");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.1755, 0.1746, 0.1745, 0.1757, 0.1771, 0.1786, 0.1799, 0.1811, 0.1835, 0.1892",\
                 "0.175, 0.1743, 0.174, 0.1754, 0.1765, 0.1783, 0.1795, 0.1805, 0.1832, 0.19",\
                 "0.1753, 0.1743, 0.1744, 0.1757, 0.177, 0.1785, 0.18, 0.1818, 0.1829, 0.192",\
                 "0.1816, 0.1806, 0.1802, 0.1812, 0.1823, 0.1841, 0.1858, 0.1864, 0.1882, 0.1964",\
                 "0.1945, 0.1932, 0.1928, 0.1935, 0.1943, 0.1963, 0.1975, 0.1986, 0.2004, 0.2097",\
                 "0.2151, 0.2134, 0.2121, 0.2127, 0.2142, 0.2152, 0.2163, 0.2181, 0.2196, 0.2331",\
                 "0.2434, 0.2416, 0.2395, 0.2387, 0.2403, 0.2426, 0.2432, 0.2444, 0.2464, 0.2611",\
                 "0.2799, 0.2779, 0.2753, 0.2745, 0.2747, 0.2767, 0.2788, 0.2801, 0.2814, 0.3038",\
                 "0.3247, 0.3221, 0.3186, 0.317, 0.3169, 0.3177, 0.321, 0.3233, 0.3269, 0.3619",\
                 "0.3776, 0.3747, 0.3707, 0.3689, 0.3681, 0.3691, 0.3698, 0.3737, 0.3822, 0.4373");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.1987, 0.1978, 0.1977, 0.199, 0.2001, 0.2019, 0.2031, 0.2052, 0.2066, 0.2116",\
                 "0.1984, 0.1976, 0.1975, 0.1987, 0.2, 0.2014, 0.2029, 0.2038, 0.2059, 0.2127",\
                 "0.1988, 0.198, 0.1979, 0.1991, 0.2001, 0.2016, 0.2035, 0.2042, 0.2059, 0.2134",\
                 "0.2053, 0.2043, 0.2037, 0.2049, 0.206, 0.2076, 0.2091, 0.2111, 0.2122, 0.2194",\
                 "0.2192, 0.218, 0.2172, 0.2177, 0.2187, 0.2206, 0.2217, 0.223, 0.2251, 0.234",\
                 "0.2415, 0.2402, 0.2388, 0.2392, 0.2406, 0.2417, 0.2428, 0.2445, 0.2463, 0.2588",\
                 "0.2705, 0.269, 0.2667, 0.266, 0.2676, 0.2698, 0.2702, 0.2711, 0.2734, 0.2893",\
                 "0.3029, 0.3011, 0.2978, 0.2976, 0.2978, 0.2999, 0.3028, 0.3035, 0.3049, 0.3257",\
                 "0.3385, 0.3358, 0.3333, 0.3317, 0.3317, 0.3314, 0.3358, 0.3385, 0.3417, 0.3741",\
                 "0.3772, 0.3747, 0.3711, 0.3695, 0.3691, 0.3698, 0.3701, 0.3746, 0.3825, 0.4391");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.1987, 0.1978, 0.1977, 0.199, 0.2001, 0.2019, 0.2031, 0.2052, 0.2066, 0.2116",\
                 "0.1984, 0.1976, 0.1975, 0.1987, 0.2, 0.2014, 0.2029, 0.2038, 0.2059, 0.2127",\
                 "0.1988, 0.198, 0.1979, 0.1991, 0.2001, 0.2016, 0.2035, 0.2042, 0.2059, 0.2134",\
                 "0.2053, 0.2043, 0.2037, 0.2049, 0.206, 0.2076, 0.2091, 0.2111, 0.2122, 0.2194",\
                 "0.2192, 0.218, 0.2172, 0.2177, 0.2187, 0.2206, 0.2217, 0.223, 0.2251, 0.234",\
                 "0.2415, 0.2402, 0.2388, 0.2392, 0.2406, 0.2417, 0.2428, 0.2445, 0.2463, 0.2588",\
                 "0.2705, 0.269, 0.2667, 0.266, 0.2676, 0.2698, 0.2702, 0.2711, 0.2734, 0.2893",\
                 "0.3029, 0.3011, 0.2978, 0.2976, 0.2978, 0.2999, 0.3028, 0.3035, 0.3049, 0.3257",\
                 "0.3385, 0.3358, 0.3333, 0.3317, 0.3317, 0.3314, 0.3358, 0.3385, 0.3417, 0.3741",\
                 "0.3772, 0.3747, 0.3711, 0.3695, 0.3691, 0.3698, 0.3701, 0.3746, 0.3825, 0.4391");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("1.038, 1.074, 1.164, 1.299, 1.494, 1.763, 2.117, 2.563, 3.108, 3.756",\
                 "1.051, 1.086, 1.177, 1.312, 1.507, 1.776, 2.13, 2.576, 3.121, 3.77",\
                 "1.09, 1.125, 1.215, 1.351, 1.545, 1.815, 2.169, 2.615, 3.159, 3.809",\
                 "1.175, 1.21, 1.3, 1.436, 1.63, 1.9, 2.254, 2.699, 3.244, 3.893",\
                 "1.318, 1.354, 1.444, 1.579, 1.774, 2.043, 2.398, 2.843, 3.388, 4.037",\
                 "1.516, 1.551, 1.641, 1.777, 1.972, 2.241, 2.595, 3.041, 3.585, 4.233",\
                 "1.764, 1.799, 1.89, 2.025, 2.22, 2.49, 2.843, 3.289, 3.834, 4.483",\
                 "2.058, 2.093, 2.183, 2.319, 2.514, 2.783, 3.137, 3.583, 4.127, 4.776",\
                 "2.395, 2.43, 2.521, 2.656, 2.851, 3.12, 3.474, 3.92, 4.464, 5.113",\
                 "2.775, 2.811, 2.901, 3.037, 3.232, 3.501, 3.855, 4.301, 4.846, 5.494");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.7312, 0.77, 0.89, 1.115, 1.464, 1.953, 2.598, 3.408, 4.398, 5.573",\
                 "0.7392, 0.7779, 0.8979, 1.123, 1.472, 1.961, 2.604, 3.415, 4.404, 5.586",\
                 "0.7626, 0.8015, 0.9215, 1.146, 1.495, 1.985, 2.629, 3.439, 4.429, 5.61",\
                 "0.801, 0.8398, 0.9598, 1.184, 1.534, 2.023, 2.668, 3.478, 4.468, 5.643",\
                 "0.8283, 0.8672, 0.9871, 1.212, 1.561, 2.05, 2.695, 3.504, 4.492, 5.672",\
                 "0.8333, 0.8723, 0.9921, 1.217, 1.566, 2.055, 2.699, 3.509, 4.497, 5.676",\
                 "0.809, 0.8481, 0.9682, 1.193, 1.542, 2.031, 2.674, 3.484, 4.473, 5.651",\
                 "0.7507, 0.7897, 0.9097, 1.134, 1.483, 1.972, 2.616, 3.425, 4.414, 5.592",\
                 "0.6557, 0.6946, 0.8145, 1.039, 1.388, 1.877, 2.521, 3.33, 4.319, 5.497",\
                 "0.5224, 0.5612, 0.6811, 0.9059, 1.255, 1.744, 2.387, 3.197, 4.186, 5.364");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.0844, 0.119, 0.2192, 0.4052, 0.7144, 1.163, 1.757, 2.505, 3.42, 4.517",\
                 "0.0848, 0.1196, 0.2196, 0.4056, 0.715, 1.163, 1.757, 2.504, 3.42, 4.516",\
                 "0.0844, 0.1194, 0.2196, 0.4058, 0.7146, 1.163, 1.757, 2.507, 3.42, 4.516",\
                 "0.0848, 0.1192, 0.2196, 0.4054, 0.7146, 1.163, 1.756, 2.505, 3.424, 4.512",\
                 "0.0848, 0.1196, 0.2198, 0.4056, 0.7138, 1.161, 1.757, 2.505, 3.418, 4.517",\
                 "0.0848, 0.1194, 0.2196, 0.406, 0.7152, 1.161, 1.757, 2.504, 3.42, 4.516",\
                 "0.085, 0.1202, 0.22, 0.4056, 0.7154, 1.161, 1.755, 2.504, 3.421, 4.513",\
                 "0.0854, 0.1206, 0.22, 0.4058, 0.7144, 1.163, 1.754, 2.503, 3.417, 4.509",\
                 "0.086, 0.1206, 0.2206, 0.4066, 0.7158, 1.161, 1.755, 2.502, 3.415, 4.503",\
                 "0.0864, 0.1214, 0.221, 0.4062, 0.715, 1.162, 1.756, 2.504, 3.417, 4.504");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.08436, 0.1371, 0.3326, 0.7246, 1.339, 2.201, 3.335, 4.762, 6.51, 8.584",\
                 "0.08386, 0.137, 0.3329, 0.725, 1.339, 2.2, 3.334, 4.762, 6.511, 8.587",\
                 "0.08434, 0.1371, 0.3328, 0.725, 1.339, 2.201, 3.337, 4.766, 6.509, 8.591",\
                 "0.0844, 0.137, 0.3328, 0.7254, 1.339, 2.199, 3.334, 4.763, 6.51, 8.585",\
                 "0.0842, 0.1374, 0.3326, 0.7252, 1.339, 2.201, 3.336, 4.764, 6.507, 8.594",\
                 "0.0842, 0.1378, 0.3328, 0.7248, 1.339, 2.2, 3.334, 4.764, 6.508, 8.584",\
                 "0.0846, 0.1376, 0.3328, 0.7248, 1.339, 2.199, 3.332, 4.76, 6.506, 8.589",\
                 "0.0848, 0.1382, 0.3326, 0.7248, 1.339, 2.199, 3.338, 4.758, 6.504, 8.581",\
                 "0.0854, 0.1386, 0.3328, 0.7258, 1.339, 2.201, 3.332, 4.761, 6.501, 8.594",\
                 "0.0858, 0.1388, 0.333, 0.7252, 1.34, 2.199, 3.338, 4.758, 6.501, 8.579");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("1.096, 1.131, 1.221, 1.357, 1.551, 1.821, 2.175, 2.621, 3.165, 3.814",\
                 "1.109, 1.145, 1.235, 1.37, 1.565, 1.834, 2.188, 2.634, 3.179, 3.827",\
                 "1.147, 1.182, 1.273, 1.408, 1.603, 1.872, 2.226, 2.672, 3.217, 3.865",\
                 "1.182, 1.217, 1.307, 1.443, 1.638, 1.907, 2.261, 2.707, 3.252, 3.9",\
                 "1.209, 1.244, 1.334, 1.469, 1.664, 1.933, 2.288, 2.733, 3.278, 3.927",\
                 "1.218, 1.253, 1.343, 1.479, 1.673, 1.943, 2.297, 2.743, 3.287, 3.936",\
                 "1.209, 1.245, 1.335, 1.47, 1.665, 1.935, 2.288, 2.734, 3.278, 3.927",\
                 "1.179, 1.214, 1.305, 1.44, 1.635, 1.904, 2.259, 2.704, 3.248, 3.897",\
                 "1.126, 1.161, 1.251, 1.386, 1.581, 1.85, 2.205, 2.65, 3.195, 3.843",\
                 "1.046, 1.081, 1.171, 1.307, 1.502, 1.771, 2.125, 2.571, 3.115, 3.764");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.6918, 0.7305, 0.8506, 1.075, 1.424, 1.914, 2.558, 3.369, 4.358, 5.537",\
                 "0.7039, 0.7428, 0.8628, 1.087, 1.436, 1.926, 2.571, 3.381, 4.37, 5.548",\
                 "0.7462, 0.7851, 0.9051, 1.13, 1.479, 1.969, 2.612, 3.423, 4.41, 5.593",\
                 "0.8023, 0.841, 0.961, 1.186, 1.535, 2.024, 2.669, 3.48, 4.469, 5.645",\
                 "0.8384, 0.8772, 0.9972, 1.222, 1.571, 2.061, 2.704, 3.515, 4.502, 5.685",\
                 "0.8501, 0.8889, 1.009, 1.233, 1.583, 2.072, 2.715, 3.527, 4.515, 5.695",\
                 "0.8291, 0.8679, 0.9879, 1.213, 1.562, 2.05, 2.694, 3.504, 4.492, 5.674",\
                 "0.77, 0.809, 0.929, 1.154, 1.502, 1.992, 2.635, 3.445, 4.433, 5.611",\
                 "0.6701, 0.7091, 0.8289, 1.054, 1.402, 1.891, 2.535, 3.345, 4.333, 5.511",\
                 "0.5259, 0.5651, 0.6848, 0.9091, 1.258, 1.748, 2.39, 3.2, 4.189, 5.368");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.0848, 0.1198, 0.22, 0.4056, 0.7154, 1.162, 1.758, 2.504, 3.419, 4.517",\
                 "0.0848, 0.1198, 0.2196, 0.4058, 0.7144, 1.163, 1.757, 2.506, 3.421, 4.516",\
                 "0.0848, 0.1196, 0.2204, 0.4052, 0.7148, 1.163, 1.757, 2.504, 3.421, 4.517",\
                 "0.0846, 0.1194, 0.2198, 0.4054, 0.7146, 1.163, 1.758, 2.506, 3.421, 4.517",\
                 "0.0848, 0.1194, 0.2198, 0.4062, 0.714, 1.161, 1.757, 2.504, 3.42, 4.517",\
                 "0.0848, 0.1194, 0.22, 0.4064, 0.7134, 1.162, 1.755, 2.507, 3.418, 4.514",\
                 "0.085, 0.1198, 0.22, 0.4054, 0.7138, 1.162, 1.753, 2.501, 3.415, 4.507",\
                 "0.0852, 0.12, 0.2194, 0.4058, 0.7144, 1.162, 1.754, 2.502, 3.415, 4.504",\
                 "0.0848, 0.1196, 0.2198, 0.4058, 0.7152, 1.163, 1.756, 2.503, 3.417, 4.503",\
                 "0.0848, 0.1192, 0.2194, 0.4058, 0.7152, 1.163, 1.756, 2.504, 3.415, 4.505");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.08398, 0.1373, 0.3325, 0.7252, 1.338, 2.2, 3.336, 4.766, 6.509, 8.588",\
                 "0.08428, 0.1371, 0.3324, 0.7249, 1.341, 2.199, 3.337, 4.765, 6.511, 8.594",\
                 "0.08436, 0.1371, 0.3328, 0.7246, 1.339, 2.2, 3.335, 4.764, 6.506, 8.584",\
                 "0.0844, 0.1374, 0.3328, 0.725, 1.338, 2.199, 3.336, 4.762, 6.511, 8.586",\
                 "0.0838, 0.1372, 0.3326, 0.725, 1.339, 2.201, 3.335, 4.764, 6.505, 8.585",\
                 "0.0842, 0.1376, 0.333, 0.7256, 1.338, 2.202, 3.334, 4.766, 6.507, 8.588",\
                 "0.0846, 0.1376, 0.3324, 0.7252, 1.339, 2.199, 3.332, 4.762, 6.508, 8.592",\
                 "0.0848, 0.138, 0.3328, 0.7252, 1.338, 2.2, 3.332, 4.759, 6.505, 8.586",\
                 "0.085, 0.1386, 0.3328, 0.7262, 1.338, 2.201, 3.332, 4.76, 6.502, 8.585",\
                 "0.0856, 0.1384, 0.333, 0.7248, 1.339, 2.2, 3.338, 4.759, 6.502, 8.578");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&!E" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.4344, 0.4734, 0.5932, 0.8181, 1.167, 1.656, 2.301, 3.11, 4.099, 5.278",\
                 "0.4519, 0.4907, 0.6107, 0.8353, 1.184, 1.674, 2.318, 3.127, 4.117, 5.295",\
                 "0.5169, 0.5557, 0.6756, 0.9003, 1.249, 1.739, 2.383, 3.192, 4.181, 5.361",\
                 "0.6361, 0.675, 0.7946, 1.019, 1.368, 1.858, 2.501, 3.312, 4.301, 5.478",\
                 "0.7789, 0.8179, 0.9376, 1.161, 1.511, 2, 2.644, 3.454, 4.444, 5.623",\
                 "0.9401, 0.9797, 1.1, 1.323, 1.671, 2.16, 2.804, 3.614, 4.603, 5.781",\
                 "1.116, 1.157, 1.276, 1.499, 1.847, 2.336, 2.98, 3.79, 4.78, 5.958",\
                 "1.307, 1.347, 1.466, 1.689, 2.036, 2.525, 3.169, 3.978, 4.967, 6.147",\
                 "1.509, 1.551, 1.669, 1.891, 2.239, 2.728, 3.371, 4.181, 5.169, 6.347",\
                 "1.725, 1.767, 1.886, 2.107, 2.454, 2.942, 3.586, 4.397, 5.385, 6.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.08334, 0.1368, 0.3327, 0.7249, 1.339, 2.203, 3.334, 4.761, 6.504, 8.59",\
                 "0.08356, 0.1367, 0.3325, 0.7245, 1.339, 2.201, 3.335, 4.764, 6.509, 8.584",\
                 "0.08362, 0.1368, 0.3324, 0.7243, 1.341, 2.201, 3.334, 4.762, 6.504, 8.587",\
                 "0.084, 0.1374, 0.3328, 0.7252, 1.339, 2.201, 3.335, 4.765, 6.511, 8.581",\
                 "0.0862, 0.139, 0.333, 0.7256, 1.34, 2.201, 3.334, 4.764, 6.506, 8.591",\
                 "0.0886, 0.141, 0.3336, 0.7244, 1.338, 2.199, 3.334, 4.763, 6.509, 8.583",\
                 "0.0918, 0.1438, 0.3342, 0.725, 1.339, 2.2, 3.337, 4.761, 6.51, 8.592",\
                 "0.0946, 0.1468, 0.3352, 0.726, 1.338, 2.2, 3.332, 4.766, 6.505, 8.588",\
                 "0.0982, 0.149, 0.3362, 0.725, 1.338, 2.202, 3.332, 4.76, 6.51, 8.579",\
                 "0.1004, 0.1516, 0.3366, 0.7264, 1.339, 2.202, 3.337, 4.758, 6.502, 8.583");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.5286, 0.5637, 0.6536, 0.7891, 0.9838, 1.253, 1.607, 2.053, 2.598, 3.246",\
                 "0.539, 0.5739, 0.6638, 0.7994, 0.9941, 1.263, 1.618, 2.063, 2.608, 3.256",\
                 "0.5825, 0.6177, 0.7075, 0.843, 1.038, 1.307, 1.661, 2.107, 2.652, 3.3",\
                 "0.6621, 0.6973, 0.7871, 0.9226, 1.117, 1.387, 1.741, 2.187, 2.731, 3.381",\
                 "0.7403, 0.7756, 0.866, 1.002, 1.197, 1.466, 1.82, 2.266, 2.81, 3.459",\
                 "0.8145, 0.8502, 0.941, 1.077, 1.272, 1.542, 1.895, 2.341, 2.885, 3.535",\
                 "0.8814, 0.9176, 1.009, 1.146, 1.341, 1.611, 1.964, 2.41, 2.954, 3.603",\
                 "0.9364, 0.9733, 1.066, 1.203, 1.399, 1.668, 2.022, 2.468, 3.012, 3.66",\
                 "0.9769, 1.014, 1.108, 1.247, 1.442, 1.712, 2.065, 2.511, 3.055, 3.704",\
                 "1.001, 1.04, 1.135, 1.273, 1.47, 1.739, 2.093, 2.538, 3.082, 3.731");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.4333, 0.472, 0.592, 0.8167, 1.166, 1.656, 2.3, 3.109, 4.102, 5.277",\
                 "0.4506, 0.4892, 0.6092, 0.8343, 1.183, 1.673, 2.317, 3.126, 4.119, 5.299",\
                 "0.5153, 0.554, 0.6742, 0.8992, 1.249, 1.738, 2.382, 3.194, 4.183, 5.363",\
                 "0.6345, 0.6733, 0.793, 1.018, 1.367, 1.857, 2.5, 3.311, 4.302, 5.482",\
                 "0.7761, 0.8152, 0.9354, 1.16, 1.509, 1.998, 2.642, 3.454, 4.442, 5.62",\
                 "0.936, 0.9754, 1.096, 1.319, 1.668, 2.157, 2.8, 3.612, 4.603, 5.783",\
                 "1.111, 1.152, 1.272, 1.494, 1.843, 2.332, 2.975, 3.785, 4.777, 5.955",\
                 "1.302, 1.343, 1.463, 1.686, 2.034, 2.522, 3.166, 3.975, 4.964, 6.146",\
                 "1.505, 1.547, 1.667, 1.89, 2.238, 2.726, 3.369, 4.179, 5.167, 6.345",\
                 "1.722, 1.765, 1.887, 2.109, 2.456, 2.945, 3.587, 4.397, 5.386, 6.565");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.08378, 0.1187, 0.2189, 0.4054, 0.7145, 1.162, 1.758, 2.508, 3.422, 4.514",\
                 "0.08364, 0.1191, 0.2191, 0.4052, 0.7145, 1.161, 1.757, 2.508, 3.422, 4.514",\
                 "0.08386, 0.1185, 0.2189, 0.4058, 0.7146, 1.162, 1.757, 2.508, 3.422, 4.514",\
                 "0.0846, 0.1192, 0.22, 0.4054, 0.7148, 1.163, 1.757, 2.508, 3.422, 4.518",\
                 "0.086, 0.121, 0.221, 0.406, 0.7152, 1.163, 1.757, 2.508, 3.423, 4.516",\
                 "0.088, 0.1226, 0.222, 0.407, 0.7144, 1.161, 1.755, 2.502, 3.421, 4.517",\
                 "0.0914, 0.1258, 0.225, 0.4086, 0.7152, 1.161, 1.754, 2.501, 3.418, 4.505",\
                 "0.0948, 0.129, 0.2284, 0.4116, 0.7174, 1.163, 1.756, 2.502, 3.414, 4.504",\
                 "0.0992, 0.1336, 0.2318, 0.4128, 0.7166, 1.162, 1.757, 2.504, 3.415, 4.506",\
                 "0.1034, 0.1378, 0.2362, 0.4158, 0.7188, 1.164, 1.756, 2.506, 3.415, 4.504");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.08354, 0.1365, 0.3324, 0.7249, 1.339, 2.2, 3.337, 4.762, 6.513, 8.598",\
                 "0.08338, 0.1365, 0.3326, 0.7247, 1.339, 2.2, 3.337, 4.767, 6.513, 8.592",\
                 "0.08318, 0.1367, 0.3335, 0.725, 1.338, 2.201, 3.335, 4.767, 6.51, 8.59",\
                 "0.0842, 0.1376, 0.3338, 0.725, 1.338, 2.201, 3.334, 4.771, 6.511, 8.589",\
                 "0.0864, 0.1394, 0.3332, 0.7258, 1.339, 2.201, 3.336, 4.764, 6.519, 8.603",\
                 "0.0888, 0.1418, 0.334, 0.7258, 1.338, 2.201, 3.334, 4.766, 6.51, 8.587",\
                 "0.0926, 0.145, 0.3352, 0.7254, 1.338, 2.2, 3.338, 4.76, 6.505, 8.599",\
                 "0.0962, 0.1486, 0.3364, 0.7268, 1.34, 2.199, 3.333, 4.76, 6.507, 8.586",\
                 "0.1006, 0.153, 0.3382, 0.727, 1.341, 2.202, 3.331, 4.759, 6.503, 8.576",\
                 "0.1056, 0.1586, 0.341, 0.7268, 1.341, 2.201, 3.331, 4.759, 6.501, 8.581");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&!E" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.4344, 0.4733, 0.5932, 0.818, 1.167, 1.657, 2.301, 3.11, 4.1, 5.277",\
                 "0.4517, 0.4906, 0.6106, 0.8353, 1.184, 1.674, 2.318, 3.127, 4.116, 5.296",\
                 "0.517, 0.5556, 0.6756, 0.9004, 1.249, 1.739, 2.382, 3.193, 4.183, 5.362",\
                 "0.6361, 0.6751, 0.7946, 1.019, 1.368, 1.858, 2.502, 3.311, 4.301, 5.48",\
                 "0.779, 0.8181, 0.9377, 1.162, 1.511, 2, 2.644, 3.454, 4.444, 5.621",\
                 "0.94, 0.9797, 1.099, 1.323, 1.671, 2.161, 2.805, 3.614, 4.605, 5.784",\
                 "1.116, 1.157, 1.276, 1.499, 1.847, 2.336, 2.979, 3.789, 4.781, 5.96",\
                 "1.306, 1.347, 1.466, 1.689, 2.037, 2.525, 3.169, 3.979, 4.967, 6.147",\
                 "1.509, 1.55, 1.67, 1.891, 2.239, 2.728, 3.371, 4.18, 5.169, 6.347",\
                 "1.726, 1.766, 1.886, 2.107, 2.455, 2.943, 3.585, 4.396, 5.385, 6.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.08336, 0.1368, 0.3327, 0.7244, 1.339, 2.201, 3.335, 4.764, 6.509, 8.584",\
                 "0.08326, 0.1368, 0.3324, 0.7243, 1.339, 2.201, 3.334, 4.761, 6.503, 8.587",\
                 "0.0835, 0.1366, 0.3326, 0.7254, 1.338, 2.201, 3.333, 4.764, 6.507, 8.591",\
                 "0.0842, 0.1374, 0.3324, 0.7252, 1.338, 2.201, 3.335, 4.764, 6.511, 8.589",\
                 "0.086, 0.139, 0.333, 0.7242, 1.339, 2.201, 3.336, 4.765, 6.511, 8.584",\
                 "0.089, 0.1412, 0.3336, 0.726, 1.339, 2.203, 3.335, 4.763, 6.506, 8.591",\
                 "0.0918, 0.144, 0.3342, 0.7252, 1.34, 2.2, 3.332, 4.76, 6.509, 8.586",\
                 "0.0946, 0.1468, 0.3352, 0.7262, 1.34, 2.2, 3.331, 4.764, 6.508, 8.579",\
                 "0.0974, 0.1494, 0.336, 0.7248, 1.339, 2.199, 3.332, 4.76, 6.502, 8.583",\
                 "0.1, 0.1512, 0.3366, 0.7258, 1.34, 2.2, 3.337, 4.761, 6.5, 8.582");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.5286, 0.5637, 0.6536, 0.7891, 0.9838, 1.253, 1.607, 2.053, 2.598, 3.246",\
                 "0.539, 0.5739, 0.6638, 0.7994, 0.9941, 1.263, 1.618, 2.063, 2.608, 3.256",\
                 "0.5825, 0.6177, 0.7075, 0.843, 1.038, 1.307, 1.661, 2.107, 2.652, 3.3",\
                 "0.6621, 0.6973, 0.7871, 0.9226, 1.117, 1.387, 1.741, 2.187, 2.731, 3.381",\
                 "0.7403, 0.7756, 0.866, 1.002, 1.197, 1.466, 1.82, 2.266, 2.81, 3.459",\
                 "0.8145, 0.8502, 0.941, 1.077, 1.272, 1.542, 1.895, 2.341, 2.885, 3.535",\
                 "0.8814, 0.9176, 1.009, 1.146, 1.341, 1.611, 1.964, 2.41, 2.954, 3.603",\
                 "0.9364, 0.9733, 1.066, 1.203, 1.399, 1.668, 2.022, 2.468, 3.012, 3.66",\
                 "0.9769, 1.014, 1.108, 1.247, 1.442, 1.712, 2.065, 2.511, 3.055, 3.704",\
                 "1.001, 1.04, 1.135, 1.273, 1.47, 1.739, 2.093, 2.538, 3.082, 3.731");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.4333, 0.472, 0.592, 0.8167, 1.166, 1.656, 2.3, 3.109, 4.102, 5.277",\
                 "0.4506, 0.4892, 0.6092, 0.8343, 1.183, 1.673, 2.317, 3.126, 4.119, 5.299",\
                 "0.5153, 0.554, 0.6742, 0.8992, 1.249, 1.738, 2.382, 3.194, 4.183, 5.363",\
                 "0.6345, 0.6733, 0.793, 1.018, 1.367, 1.857, 2.5, 3.311, 4.302, 5.482",\
                 "0.7761, 0.8152, 0.9354, 1.16, 1.509, 1.998, 2.642, 3.454, 4.442, 5.62",\
                 "0.936, 0.9754, 1.096, 1.319, 1.668, 2.157, 2.8, 3.612, 4.603, 5.783",\
                 "1.111, 1.152, 1.272, 1.494, 1.843, 2.332, 2.975, 3.785, 4.777, 5.955",\
                 "1.302, 1.343, 1.463, 1.686, 2.034, 2.522, 3.166, 3.975, 4.964, 6.146",\
                 "1.505, 1.547, 1.667, 1.89, 2.238, 2.726, 3.369, 4.179, 5.167, 6.345",\
                 "1.722, 1.765, 1.887, 2.109, 2.456, 2.945, 3.587, 4.397, 5.386, 6.565");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.08378, 0.1187, 0.2189, 0.4054, 0.7145, 1.162, 1.758, 2.508, 3.422, 4.514",\
                 "0.08364, 0.1191, 0.2191, 0.4052, 0.7145, 1.161, 1.757, 2.508, 3.422, 4.514",\
                 "0.08386, 0.1185, 0.2189, 0.4058, 0.7146, 1.162, 1.757, 2.508, 3.422, 4.514",\
                 "0.0846, 0.1192, 0.22, 0.4054, 0.7148, 1.163, 1.757, 2.508, 3.422, 4.518",\
                 "0.086, 0.121, 0.221, 0.406, 0.7152, 1.163, 1.757, 2.508, 3.423, 4.516",\
                 "0.088, 0.1226, 0.222, 0.407, 0.7144, 1.161, 1.755, 2.502, 3.421, 4.517",\
                 "0.0914, 0.1258, 0.225, 0.4086, 0.7152, 1.161, 1.754, 2.501, 3.418, 4.505",\
                 "0.0948, 0.129, 0.2284, 0.4116, 0.7174, 1.163, 1.756, 2.502, 3.414, 4.504",\
                 "0.0992, 0.1336, 0.2318, 0.4128, 0.7166, 1.162, 1.757, 2.504, 3.415, 4.506",\
                 "0.1034, 0.1378, 0.2362, 0.4158, 0.7188, 1.164, 1.756, 2.506, 3.415, 4.504");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005963, 0.02339, 0.05666, 0.1085, 0.1812, 0.2769, 0.3975, 0.5447, 0.7201");
          values("0.08354, 0.1365, 0.3324, 0.7249, 1.339, 2.2, 3.337, 4.762, 6.513, 8.598",\
                 "0.08338, 0.1365, 0.3326, 0.7247, 1.339, 2.2, 3.337, 4.767, 6.513, 8.592",\
                 "0.08318, 0.1367, 0.3335, 0.725, 1.338, 2.201, 3.335, 4.767, 6.51, 8.59",\
                 "0.0842, 0.1376, 0.3338, 0.725, 1.338, 2.201, 3.334, 4.771, 6.511, 8.589",\
                 "0.0864, 0.1394, 0.3332, 0.7258, 1.339, 2.201, 3.336, 4.764, 6.519, 8.603",\
                 "0.0888, 0.1418, 0.334, 0.7258, 1.338, 2.201, 3.334, 4.766, 6.51, 8.587",\
                 "0.0926, 0.145, 0.3352, 0.7254, 1.338, 2.2, 3.338, 4.76, 6.505, 8.599",\
                 "0.0962, 0.1486, 0.3364, 0.7268, 1.34, 2.199, 3.333, 4.76, 6.507, 8.586",\
                 "0.1006, 0.153, 0.3382, 0.727, 1.341, 2.202, 3.331, 4.759, 6.503, 8.576",\
                 "0.1056, 0.1586, 0.341, 0.7268, 1.341, 2.201, 3.331, 4.759, 6.501, 8.581");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.003937 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.34 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0135, 0.01348, 0.01344, 0.01345, 0.01345, 0.01345, 0.01345, \
                 0.01345, 0.01345, 0.01344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009639, -0.00965, -0.00963, -0.009642, -0.009648, -0.009689, \
                 -0.009661, -0.009694, -0.009705, -0.009731");
        }
      }

      internal_power() {
        when : "D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01347, 0.0135, 0.01345, 0.01344, 0.01344, 0.01345, 0.01345, \
                 0.01344, 0.01344, 0.01343");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009639, -0.00965, -0.00963, -0.009645, -0.009648, -0.009689, \
                 -0.009672, -0.009694, -0.009705, -0.009731");
        }
      }

      internal_power() {
        when : "D&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01349, 0.01346, 0.01344, 0.01344, 0.01342, 0.01345, 0.01345, \
                 0.01344, 0.01344, 0.01343");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009639, -0.009647, -0.009661, -0.009648, -0.009651, -0.009675, \
                 -0.009681, -0.009691, -0.009706, -0.009708");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04, 0.026, -0.044, -0.153, -0.27, -0.405, -0.555, -0.726, -0.919, -1.126",\
                 "0.042, 0.031, -0.041, -0.141, -0.263, -0.401, -0.553, -0.727, -0.916, -1.131",\
                 "0.077, 0.059, -0.008, -0.108, -0.225, -0.366, -0.519, -0.696, -0.892, -1.109",\
                 "0.117, 0.102, 0.034, -0.069, -0.189, -0.329, -0.485, -0.663, -0.862, -1.082",\
                 "0.152, 0.139, 0.069, -0.032, -0.148, -0.293, -0.45, -0.627, -0.83, -1.052",\
                 "0.192, 0.176, 0.111, 0.015, -0.11, -0.248, -0.406, -0.587, -0.79, -1.015",\
                 "0.226, 0.21, 0.148, 0.056, -0.07, -0.207, -0.363, -0.544, -0.748, -0.974",\
                 "0.254, 0.237, 0.174, 0.082, -0.039, -0.179, -0.335, -0.515, -0.719, -0.942",\
                 "0.274, 0.257, 0.189, 0.102, -0.021, -0.159, -0.316, -0.496, -0.701, -0.927",\
                 "0.278, 0.261, 0.198, 0.104, -0.007, -0.142, -0.302, -0.486, -0.686, -0.916");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.092, 0.11, 0.173, 0.28, 0.397, 0.543, 0.707, 0.892, 1.101, 1.335",\
                 "0.081, 0.095, 0.165, 0.266, 0.386, 0.53, 0.698, 0.882, 1.092, 1.325",\
                 "0.042, 0.059, 0.126, 0.231, 0.356, 0.494, 0.656, 0.845, 1.057, 1.292",\
                 "0.002, 0.013, 0.077, 0.184, 0.301, 0.447, 0.605, 0.797, 1.002, 1.24",\
                 "-0.047, -0.031, 0.036, 0.138, 0.256, 0.399, 0.559, 0.746, 0.953, 1.19",\
                 "-0.088, -0.071, -0.002, 0.095, 0.215, 0.356, 0.52, 0.705, 0.91, 1.144",\
                 "-0.116, -0.099, -0.03, 0.064, 0.185, 0.322, 0.484, 0.671, 0.877, 1.11",\
                 "-0.136, -0.124, -0.056, 0.039, 0.166, 0.297, 0.462, 0.641, 0.847, 1.086",\
                 "-0.147, -0.13, -0.065, 0.038, 0.154, 0.29, 0.446, 0.631, 0.832, 1.071",\
                 "-0.137, -0.12, -0.053, 0.043, 0.157, 0.291, 0.453, 0.63, 0.839, 1.07");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E" ;

        fall_constraint(scalar) {
          values("0.34");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E" ;

        fall_constraint(scalar) {
          values("0.34");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__latsnq_4) {
    area : 61.465600 ;

    latch(IQ2,IQN2) {
      enable : "E" ;
      data_in : "D" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&!SETN" ;
      value : "0.0001486056" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&!E&SETN" ;
      value : "0.0001845723" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&!SETN" ;
      value : "0.0001512027" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!D&E&SETN" ;
      value : "0.0001637229" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&!SETN" ;
      value : "0.0001486056" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&!E&SETN" ;
      value : "0.0002090583" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&!SETN" ;
      value : "0.0001488597" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "D&E&SETN" ;
      value : "0.0001651848" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002090583" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(D) {
      capacitance : 0.002881 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00836, 0.008348, 0.008354, 0.008357, 0.008352, 0.00837, 0.00837, \
                 0.008367, 0.008368, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007018, -0.007599, -0.008134, -0.00821, -0.008223, -0.008265, \
                 -0.008274, -0.008279, -0.008289, -0.008295");
        }
      }

      internal_power() {
        when : "!E&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008993, 0.009009, 0.008977, 0.008991, 0.008998, 0.009017, 0.009011, \
                 0.009009, 0.009011, 0.009011");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008152, -0.008145, -0.008156, -0.008211, -0.008228, -0.00826, \
                 -0.00828, -0.008284, -0.008288, -0.008291");
        }
      }

      internal_power() {
        when : "E&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07246, 0.07206, 0.0718, 0.07404, 0.08084, 0.09286, 0.1104, 0.1335, \
                 0.1624, 0.1974");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02246, 0.02232, 0.02416, 0.02945, 0.03897, 0.05316, \
                 0.07239, 0.09686, 0.1267");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : hold_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.544, -0.525, -0.465, -0.392, -0.302, -0.205, -0.103, 0.024, 0.17, 0.335",\
                 "-0.555, -0.541, -0.48, -0.399, -0.316, -0.219, -0.107, 0.01, 0.153, 0.324",\
                 "-0.592, -0.574, -0.519, -0.442, -0.348, -0.253, -0.151, -0.025, 0.122, 0.289",\
                 "-0.68, -0.662, -0.601, -0.528, -0.438, -0.336, -0.224, -0.092, 0.058, 0.232",\
                 "-0.821, -0.811, -0.747, -0.675, -0.578, -0.469, -0.35, -0.217, -0.059, 0.118",\
                 "-1.027, -1.008, -0.947, -0.87, -0.775, -0.653, -0.53, -0.39, -0.232, -0.052",\
                 "-1.271, -1.256, -1.19, -1.104, -1.016, -0.891, -0.759, -0.618, -0.458, -0.274",\
                 "-1.57, -1.545, -1.479, -1.397, -1.308, -1.176, -1.041, -0.887, -0.719, -0.533",\
                 "-1.898, -1.88, -1.81, -1.727, -1.635, -1.513, -1.362, -1.198, -1.027, -0.839",\
                 "-2.282, -2.258, -2.187, -2.1, -2.006, -1.881, -1.717, -1.548, -1.368, -1.171");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.349, -0.348, -0.353, -0.401, -0.482, -0.533, -0.55, -0.536, -0.467, -0.352",\
                 "-0.357, -0.35, -0.356, -0.409, -0.486, -0.537, -0.553, -0.54, -0.474, -0.352",\
                 "-0.382, -0.379, -0.378, -0.43, -0.496, -0.546, -0.558, -0.541, -0.473, -0.354",\
                 "-0.417, -0.421, -0.421, -0.459, -0.512, -0.548, -0.563, -0.546, -0.484, -0.361",\
                 "-0.456, -0.448, -0.451, -0.48, -0.518, -0.556, -0.584, -0.565, -0.504, -0.401",\
                 "-0.468, -0.465, -0.462, -0.476, -0.521, -0.567, -0.591, -0.601, -0.557, -0.459",\
                 "-0.454, -0.45, -0.438, -0.455, -0.502, -0.554, -0.597, -0.618, -0.606, -0.538",\
                 "-0.408, -0.404, -0.398, -0.409, -0.456, -0.519, -0.583, -0.635, -0.652, -0.613",\
                 "-0.322, -0.314, -0.313, -0.329, -0.376, -0.455, -0.541, -0.618, -0.67, -0.677",\
                 "-0.199, -0.198, -0.192, -0.209, -0.26, -0.349, -0.454, -0.559, -0.656, -0.716");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_SETN === 1'b1" ;
        timing_type : setup_falling ;
        when : "SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.613, 0.593, 0.535, 0.465, 0.37, 0.291, 0.238, 0.194, 0.172, 0.155",\
                 "0.623, 0.603, 0.545, 0.476, 0.386, 0.301, 0.244, 0.199, 0.168, 0.148",\
                 "0.662, 0.645, 0.583, 0.512, 0.427, 0.336, 0.278, 0.218, 0.183, 0.146",\
                 "0.744, 0.729, 0.665, 0.598, 0.502, 0.409, 0.324, 0.252, 0.178, 0.098",\
                 "0.889, 0.873, 0.808, 0.739, 0.646, 0.531, 0.43, 0.329, 0.22, 0.097",\
                 "1.084, 1.066, 1.004, 0.922, 0.828, 0.707, 0.591, 0.474, 0.337, 0.194",\
                 "1.33, 1.315, 1.244, 1.165, 1.068, 0.938, 0.807, 0.676, 0.529, 0.367",\
                 "1.618, 1.598, 1.523, 1.445, 1.353, 1.219, 1.08, 0.927, 0.773, 0.598",\
                 "1.945, 1.927, 1.851, 1.771, 1.682, 1.544, 1.386, 1.225, 1.058, 0.875",\
                 "2.319, 2.295, 2.22, 2.135, 2.041, 1.907, 1.746, 1.573, 1.386, 1.193");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.447, 0.443, 0.444, 0.538, 0.779, 1.16, 1.671, 2.331, 3.125, 4.085",\
                 "0.452, 0.452, 0.45, 0.544, 0.787, 1.161, 1.675, 2.325, 3.114, 4.063",\
                 "0.479, 0.473, 0.48, 0.57, 0.81, 1.172, 1.663, 2.293, 3.079, 3.991",\
                 "0.517, 0.517, 0.515, 0.598, 0.803, 1.133, 1.593, 2.176, 2.895, 3.752",\
                 "0.554, 0.548, 0.548, 0.612, 0.794, 1.091, 1.506, 2.046, 2.709, 3.511",\
                 "0.566, 0.565, 0.564, 0.615, 0.775, 1.047, 1.44, 1.956, 2.6, 3.376",\
                 "0.555, 0.552, 0.556, 0.595, 0.731, 0.992, 1.373, 1.877, 2.514, 3.278",\
                 "0.514, 0.511, 0.516, 0.543, 0.671, 0.924, 1.305, 1.814, 2.468, 3.27",\
                 "0.441, 0.434, 0.437, 0.469, 0.584, 0.821, 1.202, 1.732, 2.412, 3.253",\
                 "0.33, 0.324, 0.327, 0.35, 0.457, 0.692, 1.075, 1.621, 2.341, 3.229");
        }
      }
    }

    pin(E) {
      capacitance : 0.006933 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_high : 0.697 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09438, 0.0937, 0.09575, 0.1031, 0.1165, 0.1368, 0.1642, 0.1995, \
                 0.243, 0.2953");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06229, 0.06185, 0.06226, 0.06705, 0.07781, 0.09499, 0.1192, \
                 0.1505, 0.1896, 0.2369");
        }
      }

      internal_power() {
        when : "!D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06226, 0.06152, 0.06327, 0.07, 0.08279, 0.1023, 0.1289, 0.163, \
                 0.2053, 0.2561");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0008536, 0.0003251, 0.001241, 0.006551, 0.01754, 0.03464, 0.05835, \
                 0.08891, 0.1268, 0.1723");
        }
      }

      internal_power() {
        when : "D&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06343, 0.06269, 0.06456, 0.07143, 0.08437, 0.1039, 0.1306, 0.1648, \
                 0.2072, 0.258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003166, 0.002647, 0.00349, 0.008706, 0.01955, 0.03656, 0.06015, \
                 0.09069, 0.1285, 0.174");
        }
      }

      internal_power() {
        when : "D&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06343, 0.06269, 0.06455, 0.07144, 0.08438, 0.1039, 0.1306, 0.1648, \
                 0.2072, 0.2579");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0006787, 0.0001485, 0.0009974, 0.006238, 0.01709, 0.03412, 0.05773, \
                 0.08824, 0.126, 0.1716");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SETN" ;

        rise_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "E" ;
        sdf_cond : "ENABLE_D_AND_SETN === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SETN" ;

        rise_constraint(scalar) {
          values("0.408");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ2" ;
      max_capacitance : 1.444 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "D" ;
        when : "E&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.3541, 0.3501, 0.3478, 0.3473, 0.3474, 0.3476, 0.3477, 0.3479, 0.3478, 0.348",\
                 "0.3537, 0.3496, 0.347, 0.347, 0.347, 0.3472, 0.3473, 0.3475, 0.3475, 0.3475",\
                 "0.3536, 0.3492, 0.3468, 0.3467, 0.3472, 0.3469, 0.3471, 0.3471, 0.3472, 0.3473",\
                 "0.3561, 0.3519, 0.3491, 0.3495, 0.3497, 0.3498, 0.3498, 0.3498, 0.3499, 0.3499",\
                 "0.3647, 0.3608, 0.3581, 0.358, 0.358, 0.3584, 0.3584, 0.3585, 0.3584, 0.3584",\
                 "0.3794, 0.3752, 0.3721, 0.3725, 0.3724, 0.3725, 0.3728, 0.3729, 0.3729, 0.3729",\
                 "0.4015, 0.3972, 0.3946, 0.3941, 0.3944, 0.3946, 0.3948, 0.3948, 0.3948, 0.3948",\
                 "0.4304, 0.4259, 0.4228, 0.4228, 0.4228, 0.4229, 0.4231, 0.4231, 0.4231, 0.4233",\
                 "0.4664, 0.4617, 0.4584, 0.4584, 0.4585, 0.4587, 0.4588, 0.4589, 0.459, 0.459",\
                 "0.5094, 0.5046, 0.5016, 0.5008, 0.5009, 0.5009, 0.5013, 0.5013, 0.5014, 0.5014");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.3261, 0.3239, 0.3241, 0.3264, 0.3293, 0.3317, 0.3341, 0.3373, 0.3398, 0.3551",\
                 "0.3258, 0.3236, 0.3234, 0.3255, 0.3276, 0.3313, 0.3335, 0.336, 0.3401, 0.3524",\
                 "0.3254, 0.3232, 0.3224, 0.3248, 0.3277, 0.332, 0.3332, 0.336, 0.3401, 0.3533",\
                 "0.3279, 0.326, 0.3252, 0.3274, 0.3312, 0.3346, 0.3361, 0.3393, 0.3425, 0.3575",\
                 "0.335, 0.3328, 0.3329, 0.334, 0.337, 0.3406, 0.3437, 0.3459, 0.3487, 0.3669",\
                 "0.3476, 0.3454, 0.3448, 0.3476, 0.3511, 0.3525, 0.3553, 0.3578, 0.3623, 0.3833",\
                 "0.366, 0.3639, 0.3631, 0.3647, 0.3683, 0.3736, 0.3751, 0.3761, 0.3809, 0.4095",\
                 "0.3906, 0.3885, 0.3873, 0.3887, 0.3897, 0.3954, 0.4011, 0.4032, 0.4061, 0.4443",\
                 "0.4212, 0.419, 0.4175, 0.4192, 0.4207, 0.4214, 0.4282, 0.4355, 0.4408, 0.4936",\
                 "0.4584, 0.4555, 0.4543, 0.4567, 0.4582, 0.4591, 0.4632, 0.4687, 0.4822, 0.5643");
        }
      }

      internal_power() {
        related_pin : "E" ;
        when : "SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.3449, 0.3405, 0.3382, 0.3381, 0.338, 0.3382, 0.3385, 0.3385, 0.3385, 0.3387",\
                 "0.3449, 0.3409, 0.3381, 0.3382, 0.3382, 0.3385, 0.3386, 0.3386, 0.3386, 0.3387",\
                 "0.3444, 0.34, 0.3378, 0.3378, 0.3377, 0.338, 0.3381, 0.3381, 0.3382, 0.3381",\
                 "0.3436, 0.3397, 0.3366, 0.3371, 0.3372, 0.3373, 0.3373, 0.3374, 0.3375, 0.3375",\
                 "0.3427, 0.3387, 0.3364, 0.3361, 0.3363, 0.3362, 0.3364, 0.3365, 0.3365, 0.3365",\
                 "0.3428, 0.3385, 0.3358, 0.3359, 0.336, 0.3362, 0.3364, 0.3364, 0.3365, 0.3365",\
                 "0.343, 0.3392, 0.3366, 0.3367, 0.3362, 0.3366, 0.3367, 0.3367, 0.3367, 0.3368",\
                 "0.3441, 0.3398, 0.3371, 0.3374, 0.3374, 0.3374, 0.3375, 0.3376, 0.3376, 0.3376",\
                 "0.3451, 0.341, 0.3382, 0.3384, 0.3385, 0.3386, 0.3387, 0.3388, 0.3388, 0.3388",\
                 "0.3467, 0.3424, 0.34, 0.3398, 0.34, 0.3401, 0.3403, 0.3403, 0.3404, 0.3404");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.3286, 0.3266, 0.3267, 0.3284, 0.3308, 0.3336, 0.3368, 0.3406, 0.3427, 0.3561",\
                 "0.3289, 0.3269, 0.3261, 0.3293, 0.3315, 0.3348, 0.3373, 0.3402, 0.3416, 0.3586",\
                 "0.3295, 0.3273, 0.3273, 0.3289, 0.3327, 0.3347, 0.3375, 0.34, 0.3451, 0.358",\
                 "0.3325, 0.3304, 0.33, 0.3333, 0.3361, 0.3403, 0.3408, 0.345, 0.3475, 0.3638",\
                 "0.34, 0.3379, 0.3376, 0.339, 0.3423, 0.3456, 0.3487, 0.3513, 0.3525, 0.3748",\
                 "0.3532, 0.3508, 0.3491, 0.3529, 0.3564, 0.3583, 0.3611, 0.3633, 0.3678, 0.3918",\
                 "0.3698, 0.3674, 0.3668, 0.3684, 0.3721, 0.3766, 0.3794, 0.3795, 0.3839, 0.4128",\
                 "0.3884, 0.3859, 0.3847, 0.3862, 0.3881, 0.3919, 0.4, 0.4011, 0.4048, 0.4405",\
                 "0.4086, 0.4065, 0.4056, 0.4066, 0.409, 0.4086, 0.4147, 0.4243, 0.4282, 0.4804",\
                 "0.4313, 0.429, 0.4268, 0.4295, 0.4306, 0.4324, 0.4332, 0.4414, 0.4585, 0.534");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.3232, 0.3213, 0.3212, 0.3241, 0.3259, 0.3292, 0.332, 0.3348, 0.3379, 0.3514",\
                 "0.3224, 0.3204, 0.3205, 0.3233, 0.3251, 0.3285, 0.332, 0.3339, 0.3379, 0.3497",\
                 "0.3224, 0.3205, 0.3203, 0.323, 0.3254, 0.3289, 0.3314, 0.3336, 0.337, 0.3524",\
                 "0.3327, 0.3305, 0.3296, 0.3323, 0.3346, 0.3378, 0.3403, 0.3425, 0.3459, 0.3627",\
                 "0.3548, 0.352, 0.3507, 0.3521, 0.3542, 0.3573, 0.3598, 0.3623, 0.3661, 0.3849",\
                 "0.3889, 0.3854, 0.3825, 0.3844, 0.3867, 0.3893, 0.3911, 0.3936, 0.3982, 0.4221",\
                 "0.4348, 0.4312, 0.4271, 0.4265, 0.4294, 0.4332, 0.435, 0.4364, 0.4429, 0.4741",\
                 "0.4883, 0.4836, 0.4783, 0.4778, 0.4774, 0.482, 0.4875, 0.4882, 0.4923, 0.5397",\
                 "0.5466, 0.5418, 0.5359, 0.5324, 0.5332, 0.5358, 0.5393, 0.5443, 0.5533, 0.6268",\
                 "0.6104, 0.6041, 0.5965, 0.5945, 0.5935, 0.5942, 0.5944, 0.6041, 0.6205, 0.7468");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.3232, 0.3213, 0.3212, 0.3241, 0.3259, 0.3292, 0.332, 0.3348, 0.3379, 0.3514",\
                 "0.3224, 0.3204, 0.3205, 0.3233, 0.3251, 0.3285, 0.332, 0.3339, 0.3379, 0.3497",\
                 "0.3224, 0.3205, 0.3203, 0.323, 0.3254, 0.3289, 0.3314, 0.3336, 0.337, 0.3524",\
                 "0.3327, 0.3305, 0.3296, 0.3323, 0.3346, 0.3378, 0.3403, 0.3425, 0.3459, 0.3627",\
                 "0.3548, 0.352, 0.3507, 0.3521, 0.3542, 0.3573, 0.3598, 0.3623, 0.3661, 0.3849",\
                 "0.3889, 0.3854, 0.3825, 0.3844, 0.3867, 0.3893, 0.3911, 0.3936, 0.3982, 0.4221",\
                 "0.4348, 0.4312, 0.4271, 0.4265, 0.4294, 0.4332, 0.435, 0.4364, 0.4429, 0.4741",\
                 "0.4883, 0.4836, 0.4783, 0.4778, 0.4774, 0.482, 0.4875, 0.4882, 0.4923, 0.5397",\
                 "0.5466, 0.5418, 0.5359, 0.5324, 0.5332, 0.5358, 0.5393, 0.5443, 0.5533, 0.6268",\
                 "0.6104, 0.6041, 0.5965, 0.5945, 0.5935, 0.5942, 0.5944, 0.6041, 0.6205, 0.7468");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!D&E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.2565, 0.2528, 0.2505, 0.2507, 0.2507, 0.2509, 0.251, 0.2511, 0.2512, 0.2512",\
                 "0.256, 0.252, 0.2502, 0.2503, 0.2503, 0.2506, 0.2507, 0.2508, 0.2508, 0.2508",\
                 "0.2567, 0.2526, 0.2503, 0.2509, 0.2509, 0.2513, 0.2513, 0.2513, 0.2514, 0.2514",\
                 "0.2656, 0.2615, 0.2589, 0.2588, 0.2592, 0.2593, 0.2595, 0.2596, 0.2596, 0.2597",\
                 "0.2828, 0.2784, 0.2758, 0.2755, 0.2749, 0.2752, 0.2755, 0.2756, 0.2757, 0.2757",\
                 "0.3106, 0.3055, 0.3019, 0.3013, 0.301, 0.3013, 0.3013, 0.3015, 0.3016, 0.3016",\
                 "0.3488, 0.3431, 0.3382, 0.3372, 0.3368, 0.3367, 0.3371, 0.3371, 0.3371, 0.3371",\
                 "0.3979, 0.3912, 0.3856, 0.3841, 0.3829, 0.3829, 0.3832, 0.3832, 0.3833, 0.3833",\
                 "0.4581, 0.4508, 0.4438, 0.4415, 0.4402, 0.44, 0.4401, 0.4402, 0.4401, 0.4402",\
                 "0.5295, 0.5212, 0.5132, 0.5101, 0.5087, 0.5079, 0.5081, 0.5079, 0.5079, 0.5079");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.2999, 0.2983, 0.2985, 0.3009, 0.3033, 0.3061, 0.3092, 0.3124, 0.3155, 0.3287",\
                 "0.2988, 0.2974, 0.2978, 0.2996, 0.3024, 0.3061, 0.3083, 0.3124, 0.3145, 0.3276",\
                 "0.2994, 0.2978, 0.2976, 0.3, 0.3029, 0.3061, 0.3083, 0.3114, 0.3145, 0.3328",\
                 "0.3092, 0.3071, 0.3065, 0.3087, 0.3112, 0.3144, 0.3172, 0.32, 0.3231, 0.339",\
                 "0.3299, 0.3274, 0.3266, 0.3275, 0.3302, 0.3332, 0.336, 0.3395, 0.342, 0.3608",\
                 "0.3626, 0.359, 0.3566, 0.3573, 0.3603, 0.3622, 0.3653, 0.3679, 0.3718, 0.396",\
                 "0.4061, 0.4021, 0.3985, 0.3975, 0.4009, 0.4048, 0.4063, 0.409, 0.4132, 0.4457",\
                 "0.4626, 0.4585, 0.4526, 0.4507, 0.4524, 0.4563, 0.462, 0.4634, 0.4692, 0.5107",\
                 "0.531, 0.526, 0.519, 0.5173, 0.5165, 0.5186, 0.5241, 0.5298, 0.5384, 0.6116",\
                 "0.6123, 0.6066, 0.599, 0.5951, 0.5949, 0.5959, 0.5987, 0.6061, 0.6247, 0.7462");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "D&!E" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.3233, 0.3212, 0.3211, 0.324, 0.3258, 0.3292, 0.332, 0.3345, 0.3379, 0.3517",\
                 "0.3223, 0.3206, 0.3204, 0.3233, 0.3251, 0.3282, 0.3313, 0.3332, 0.337, 0.3517",\
                 "0.3222, 0.3206, 0.3206, 0.3234, 0.3252, 0.3283, 0.3314, 0.3339, 0.3373, 0.3524",\
                 "0.3326, 0.3304, 0.3298, 0.3323, 0.335, 0.3378, 0.3406, 0.3428, 0.3459, 0.3628",\
                 "0.3549, 0.352, 0.3511, 0.3522, 0.3543, 0.3573, 0.3604, 0.3619, 0.3671, 0.3839",\
                 "0.3888, 0.3859, 0.3825, 0.3842, 0.3862, 0.3883, 0.3911, 0.393, 0.3965, 0.4217",\
                 "0.4352, 0.4312, 0.4273, 0.4263, 0.4294, 0.4335, 0.4353, 0.4367, 0.4422, 0.4741",\
                 "0.4886, 0.4844, 0.4783, 0.4778, 0.4782, 0.4814, 0.4875, 0.4882, 0.492, 0.5397",\
                 "0.547, 0.5416, 0.5356, 0.5323, 0.5331, 0.5358, 0.5403, 0.5453, 0.5533, 0.6213",\
                 "0.6102, 0.6049, 0.5969, 0.5935, 0.5933, 0.5926, 0.596, 0.6051, 0.6208, 0.7429");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.3233, 0.3212, 0.3211, 0.324, 0.3258, 0.3292, 0.332, 0.3345, 0.3379, 0.3517",\
                 "0.3223, 0.3206, 0.3204, 0.3233, 0.3251, 0.3282, 0.3313, 0.3332, 0.337, 0.3517",\
                 "0.3222, 0.3206, 0.3206, 0.3234, 0.3252, 0.3283, 0.3314, 0.3339, 0.3373, 0.3524",\
                 "0.3326, 0.3304, 0.3298, 0.3323, 0.335, 0.3378, 0.3406, 0.3428, 0.3459, 0.3628",\
                 "0.3549, 0.352, 0.3511, 0.3522, 0.3543, 0.3573, 0.3604, 0.3619, 0.3671, 0.3839",\
                 "0.3888, 0.3859, 0.3825, 0.3842, 0.3862, 0.3883, 0.3911, 0.393, 0.3965, 0.4217",\
                 "0.4352, 0.4312, 0.4273, 0.4263, 0.4294, 0.4335, 0.4353, 0.4367, 0.4422, 0.4741",\
                 "0.4886, 0.4844, 0.4783, 0.4778, 0.4782, 0.4814, 0.4875, 0.4882, 0.492, 0.5397",\
                 "0.547, 0.5416, 0.5356, 0.5323, 0.5331, 0.5358, 0.5403, 0.5453, 0.5533, 0.6213",\
                 "0.6102, 0.6049, 0.5969, 0.5935, 0.5933, 0.5926, 0.596, 0.6051, 0.6208, 0.7429");
        }
      }

      timing() {
        related_pin : "D" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("1.029, 1.063, 1.151, 1.285, 1.48, 1.751, 2.106, 2.554, 3.101, 3.752",\
                 "1.042, 1.076, 1.164, 1.298, 1.493, 1.764, 2.119, 2.567, 3.114, 3.766",\
                 "1.081, 1.115, 1.203, 1.337, 1.532, 1.803, 2.158, 2.606, 3.153, 3.804",\
                 "1.165, 1.199, 1.287, 1.422, 1.616, 1.887, 2.242, 2.69, 3.237, 3.888",\
                 "1.31, 1.345, 1.433, 1.567, 1.761, 2.032, 2.388, 2.835, 3.382, 4.034",\
                 "1.509, 1.544, 1.632, 1.766, 1.961, 2.231, 2.587, 3.035, 3.582, 4.234",\
                 "1.761, 1.796, 1.884, 2.018, 2.213, 2.484, 2.839, 3.287, 3.834, 4.486",\
                 "2.06, 2.094, 2.183, 2.317, 2.511, 2.782, 3.137, 3.585, 4.132, 4.784",\
                 "2.401, 2.436, 2.524, 2.658, 2.853, 3.124, 3.479, 3.927, 4.474, 5.125",\
                 "2.786, 2.821, 2.91, 3.044, 3.239, 3.509, 3.865, 4.313, 4.86, 5.511");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.7738, 0.8124, 0.9328, 1.158, 1.509, 2.001, 2.647, 3.461, 4.453, 5.639",\
                 "0.7818, 0.8205, 0.9407, 1.166, 1.517, 2.008, 2.655, 3.47, 4.463, 5.644",\
                 "0.8055, 0.8443, 0.9642, 1.19, 1.541, 2.032, 2.679, 3.493, 4.487, 5.668",\
                 "0.8462, 0.885, 1.005, 1.231, 1.582, 2.073, 2.719, 3.533, 4.527, 5.708",\
                 "0.8793, 0.9179, 1.038, 1.264, 1.614, 2.106, 2.751, 3.565, 4.561, 5.741",\
                 "0.892, 0.931, 1.051, 1.277, 1.627, 2.119, 2.765, 3.578, 4.571, 5.754",\
                 "0.8762, 0.9151, 1.035, 1.261, 1.611, 2.103, 2.748, 3.562, 4.555, 5.739",\
                 "0.8273, 0.8662, 0.9865, 1.212, 1.562, 2.053, 2.699, 3.512, 4.505, 5.689",\
                 "0.742, 0.7811, 0.9006, 1.126, 1.477, 1.968, 2.613, 3.427, 4.419, 5.602",\
                 "0.6185, 0.6569, 0.7775, 1.003, 1.353, 1.845, 2.49, 3.303, 4.296, 5.48");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.078, 0.1132, 0.2124, 0.4012, 0.715, 1.165, 1.763, 2.515, 3.437, 4.534",\
                 "0.078, 0.1134, 0.2126, 0.4012, 0.7148, 1.165, 1.763, 2.516, 3.436, 4.531",\
                 "0.0784, 0.113, 0.2126, 0.4018, 0.7142, 1.166, 1.763, 2.516, 3.436, 4.534",\
                 "0.0782, 0.1132, 0.2128, 0.4012, 0.7146, 1.166, 1.763, 2.516, 3.436, 4.534",\
                 "0.0782, 0.1132, 0.2128, 0.4016, 0.7154, 1.165, 1.763, 2.516, 3.437, 4.532",\
                 "0.0786, 0.1132, 0.2124, 0.402, 0.7148, 1.166, 1.762, 2.514, 3.436, 4.532",\
                 "0.079, 0.1136, 0.2128, 0.4014, 0.7144, 1.164, 1.76, 2.515, 3.435, 4.531",\
                 "0.079, 0.114, 0.2132, 0.4016, 0.7144, 1.165, 1.762, 2.512, 3.431, 4.527",\
                 "0.0796, 0.1138, 0.2134, 0.4018, 0.7146, 1.166, 1.762, 2.512, 3.429, 4.522",\
                 "0.0802, 0.1146, 0.2142, 0.4022, 0.7154, 1.165, 1.762, 2.514, 3.428, 4.521");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.08038, 0.1337, 0.3308, 0.7246, 1.34, 2.206, 3.345, 4.781, 6.529, 8.619",\
                 "0.0803, 0.1334, 0.3302, 0.7242, 1.34, 2.206, 3.346, 4.78, 6.535, 8.62",\
                 "0.08028, 0.1334, 0.3306, 0.7244, 1.341, 2.206, 3.346, 4.78, 6.535, 8.62",\
                 "0.0804, 0.1334, 0.3306, 0.7244, 1.341, 2.205, 3.346, 4.78, 6.533, 8.616",\
                 "0.0806, 0.134, 0.3304, 0.7246, 1.342, 2.205, 3.344, 4.779, 6.533, 8.616",\
                 "0.0806, 0.1338, 0.3302, 0.7248, 1.341, 2.207, 3.343, 4.777, 6.531, 8.615",\
                 "0.081, 0.134, 0.3306, 0.7244, 1.342, 2.205, 3.346, 4.778, 6.531, 8.618",\
                 "0.0812, 0.1342, 0.3306, 0.7248, 1.341, 2.204, 3.343, 4.778, 6.528, 8.614",\
                 "0.0814, 0.1346, 0.3308, 0.7252, 1.343, 2.205, 3.343, 4.775, 6.524, 8.62",\
                 "0.0818, 0.1352, 0.3306, 0.7258, 1.341, 2.205, 3.343, 4.778, 6.525, 8.609");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("1.082, 1.116, 1.204, 1.339, 1.533, 1.804, 2.16, 2.607, 3.154, 3.806",\
                 "1.096, 1.13, 1.218, 1.352, 1.547, 1.817, 2.173, 2.621, 3.168, 3.82",\
                 "1.134, 1.168, 1.256, 1.391, 1.585, 1.856, 2.211, 2.659, 3.206, 3.858",\
                 "1.168, 1.202, 1.29, 1.424, 1.619, 1.89, 2.245, 2.693, 3.24, 3.892",\
                 "1.194, 1.228, 1.316, 1.45, 1.645, 1.916, 2.271, 2.719, 3.266, 3.918",\
                 "1.203, 1.237, 1.325, 1.459, 1.654, 1.925, 2.28, 2.728, 3.275, 3.926",\
                 "1.194, 1.228, 1.316, 1.45, 1.645, 1.916, 2.271, 2.719, 3.266, 3.917",\
                 "1.163, 1.197, 1.286, 1.419, 1.615, 1.885, 2.241, 2.688, 3.235, 3.887",\
                 "1.109, 1.144, 1.232, 1.366, 1.561, 1.831, 2.187, 2.635, 3.181, 3.833",\
                 "1.03, 1.065, 1.153, 1.287, 1.481, 1.752, 2.108, 2.555, 3.102, 3.754");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.7337, 0.7725, 0.893, 1.119, 1.469, 1.96, 2.607, 3.422, 4.414, 5.598",\
                 "0.7461, 0.785, 0.9048, 1.131, 1.481, 1.973, 2.62, 3.434, 4.425, 5.612",\
                 "0.7889, 0.8276, 0.948, 1.173, 1.524, 2.016, 2.663, 3.477, 4.47, 5.651",\
                 "0.8515, 0.8904, 1.011, 1.236, 1.587, 2.079, 2.725, 3.54, 4.533, 5.716",\
                 "0.8964, 0.9353, 1.055, 1.281, 1.632, 2.123, 2.769, 3.583, 4.576, 5.762",\
                 "0.9184, 0.9572, 1.077, 1.303, 1.653, 2.144, 2.791, 3.604, 4.599, 5.784",\
                 "0.9087, 0.9475, 1.068, 1.293, 1.644, 2.135, 2.78, 3.594, 4.589, 5.773",\
                 "0.8623, 0.901, 1.021, 1.247, 1.597, 2.088, 2.734, 3.547, 4.54, 5.724",\
                 "0.7749, 0.8139, 0.9339, 1.159, 1.509, 2, 2.647, 3.46, 4.452, 5.635",\
                 "0.644, 0.6832, 0.8025, 1.028, 1.378, 1.871, 2.516, 3.329, 4.323, 5.505");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.0784, 0.1126, 0.2128, 0.4012, 0.7144, 1.165, 1.762, 2.516, 3.434, 4.532",\
                 "0.0782, 0.1126, 0.2126, 0.4014, 0.7154, 1.165, 1.763, 2.516, 3.437, 4.531",\
                 "0.0784, 0.113, 0.2128, 0.4012, 0.7148, 1.165, 1.763, 2.516, 3.437, 4.534",\
                 "0.0784, 0.113, 0.2132, 0.4014, 0.7144, 1.166, 1.763, 2.517, 3.435, 4.533",\
                 "0.0782, 0.1134, 0.2128, 0.4018, 0.7138, 1.166, 1.763, 2.516, 3.437, 4.533",\
                 "0.0784, 0.1128, 0.2126, 0.4012, 0.7136, 1.165, 1.762, 2.516, 3.436, 4.533",\
                 "0.0782, 0.1128, 0.2128, 0.4016, 0.7136, 1.166, 1.76, 2.511, 3.43, 4.528",\
                 "0.0782, 0.1134, 0.2126, 0.4012, 0.7152, 1.165, 1.76, 2.513, 3.428, 4.523",\
                 "0.0784, 0.1126, 0.2128, 0.4012, 0.7152, 1.167, 1.763, 2.513, 3.429, 4.522",\
                 "0.0784, 0.1126, 0.2124, 0.401, 0.7154, 1.165, 1.762, 2.514, 3.43, 4.524");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.08082, 0.1338, 0.3304, 0.7247, 1.34, 2.208, 3.346, 4.782, 6.533, 8.628",\
                 "0.08054, 0.1334, 0.3305, 0.7244, 1.341, 2.206, 3.344, 4.781, 6.534, 8.616",\
                 "0.08046, 0.1336, 0.3304, 0.7244, 1.341, 2.206, 3.346, 4.78, 6.534, 8.618",\
                 "0.081, 0.1336, 0.3306, 0.7246, 1.341, 2.206, 3.346, 4.782, 6.533, 8.627",\
                 "0.0804, 0.134, 0.3308, 0.7246, 1.34, 2.205, 3.344, 4.779, 6.536, 8.623",\
                 "0.0808, 0.134, 0.3304, 0.7254, 1.34, 2.209, 3.343, 4.778, 6.532, 8.621",\
                 "0.0808, 0.134, 0.331, 0.7246, 1.342, 2.204, 3.344, 4.778, 6.531, 8.629",\
                 "0.0808, 0.1342, 0.3308, 0.7252, 1.343, 2.205, 3.345, 4.777, 6.526, 8.615",\
                 "0.0816, 0.1344, 0.3308, 0.7248, 1.341, 2.204, 3.345, 4.775, 6.524, 8.613",\
                 "0.0818, 0.135, 0.331, 0.7248, 1.341, 2.207, 3.349, 4.776, 6.526, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&!E" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.4427, 0.4815, 0.6016, 0.8274, 1.178, 1.669, 2.315, 3.13, 4.123, 5.308",\
                 "0.4591, 0.4979, 0.6181, 0.8438, 1.194, 1.686, 2.332, 3.146, 4.139, 5.321",\
                 "0.5235, 0.5624, 0.6824, 0.9082, 1.259, 1.75, 2.396, 3.211, 4.204, 5.388",\
                 "0.6475, 0.6862, 0.8061, 1.032, 1.382, 1.873, 2.52, 3.334, 4.328, 5.511",\
                 "0.8012, 0.8403, 0.9599, 1.185, 1.535, 2.027, 2.673, 3.486, 4.479, 5.663",\
                 "0.9789, 1.018, 1.138, 1.363, 1.713, 2.204, 2.851, 3.665, 4.658, 5.842",\
                 "1.18, 1.221, 1.34, 1.564, 1.914, 2.405, 3.051, 3.866, 4.86, 6.041",\
                 "1.404, 1.444, 1.564, 1.788, 2.137, 2.627, 3.273, 4.087, 5.08, 6.265",\
                 "1.647, 1.688, 1.809, 2.031, 2.381, 2.871, 3.516, 4.33, 5.322, 6.505",\
                 "1.912, 1.954, 2.074, 2.296, 2.644, 3.135, 3.78, 4.594, 5.586, 6.77");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.07994, 0.133, 0.3301, 0.7242, 1.342, 2.208, 3.345, 4.779, 6.532, 8.617",\
                 "0.07952, 0.1329, 0.3303, 0.7241, 1.342, 2.209, 3.343, 4.778, 6.533, 8.612",\
                 "0.08004, 0.133, 0.3306, 0.7246, 1.342, 2.205, 3.344, 4.78, 6.53, 8.623",\
                 "0.0804, 0.1336, 0.3304, 0.7244, 1.34, 2.21, 3.345, 4.781, 6.531, 8.621",\
                 "0.0826, 0.1356, 0.3308, 0.7248, 1.341, 2.206, 3.345, 4.776, 6.529, 8.622",\
                 "0.0848, 0.1378, 0.3314, 0.7246, 1.341, 2.205, 3.345, 4.781, 6.531, 8.619",\
                 "0.0884, 0.1404, 0.3322, 0.7252, 1.34, 2.204, 3.35, 4.778, 6.534, 8.619",\
                 "0.092, 0.144, 0.3332, 0.7252, 1.342, 2.205, 3.343, 4.785, 6.527, 8.621",\
                 "0.096, 0.1474, 0.3342, 0.7262, 1.341, 2.205, 3.345, 4.776, 6.524, 8.614",\
                 "0.099, 0.151, 0.3354, 0.7264, 1.342, 2.206, 3.347, 4.779, 6.525, 8.611");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b0 && E===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!D&E" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.4701, 0.5044, 0.5923, 0.7262, 0.921, 1.192, 1.547, 1.995, 2.542, 3.194",\
                 "0.4816, 0.5159, 0.6037, 0.7376, 0.9324, 1.203, 1.559, 2.007, 2.554, 3.206",\
                 "0.5265, 0.5609, 0.6486, 0.7825, 0.9774, 1.248, 1.603, 2.052, 2.599, 3.251",\
                 "0.6004, 0.6349, 0.7227, 0.8567, 1.052, 1.322, 1.678, 2.126, 2.673, 3.325",\
                 "0.6665, 0.7012, 0.7894, 0.9238, 1.119, 1.389, 1.745, 2.193, 2.74, 3.392",\
                 "0.7228, 0.7577, 0.8468, 0.9811, 1.176, 1.446, 1.802, 2.25, 2.797, 3.448",\
                 "0.7644, 0.8, 0.8895, 1.024, 1.22, 1.49, 1.845, 2.293, 2.84, 3.491",\
                 "0.7877, 0.824, 0.9145, 1.05, 1.246, 1.516, 1.871, 2.319, 2.865, 3.517",\
                 "0.7899, 0.8269, 0.918, 1.055, 1.251, 1.521, 1.876, 2.324, 2.871, 3.522",\
                 "0.7679, 0.8058, 0.8991, 1.036, 1.232, 1.502, 1.858, 2.306, 2.852, 3.504");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.4415, 0.4803, 0.6007, 0.8266, 1.177, 1.668, 2.315, 3.128, 4.125, 5.309",\
                 "0.4578, 0.4968, 0.6171, 0.8428, 1.194, 1.685, 2.332, 3.147, 4.14, 5.322",\
                 "0.5225, 0.5612, 0.6814, 0.9073, 1.258, 1.749, 2.397, 3.209, 4.205, 5.39",\
                 "0.6461, 0.685, 0.8048, 1.03, 1.381, 1.873, 2.519, 3.334, 4.327, 5.509",\
                 "0.7986, 0.8379, 0.9581, 1.183, 1.534, 2.025, 2.672, 3.485, 4.481, 5.664",\
                 "0.9756, 1.015, 1.135, 1.36, 1.71, 2.201, 2.847, 3.663, 4.656, 5.837",\
                 "1.176, 1.216, 1.336, 1.56, 1.91, 2.401, 3.047, 3.861, 4.857, 6.039",\
                 "1.398, 1.439, 1.56, 1.783, 2.133, 2.623, 3.269, 4.082, 5.075, 6.26",\
                 "1.642, 1.684, 1.805, 2.028, 2.377, 2.868, 3.513, 4.327, 5.319, 6.502",\
                 "1.907, 1.95, 2.072, 2.295, 2.644, 3.134, 3.78, 4.593, 5.586, 6.769");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.07698, 0.1119, 0.2116, 0.4011, 0.7141, 1.164, 1.761, 2.515, 3.434, 4.536",\
                 "0.07704, 0.1118, 0.2119, 0.4013, 0.7145, 1.164, 1.762, 2.516, 3.434, 4.537",\
                 "0.07706, 0.1119, 0.212, 0.4009, 0.7138, 1.166, 1.764, 2.517, 3.433, 4.537",\
                 "0.07792, 0.1126, 0.2124, 0.401, 0.7152, 1.165, 1.762, 2.516, 3.433, 4.536",\
                 "0.0796, 0.1138, 0.2138, 0.4012, 0.7134, 1.165, 1.763, 2.517, 3.434, 4.534",\
                 "0.082, 0.1166, 0.2156, 0.4032, 0.7138, 1.164, 1.761, 2.515, 3.433, 4.536",\
                 "0.0854, 0.1188, 0.2178, 0.4042, 0.7154, 1.166, 1.76, 2.512, 3.428, 4.526",\
                 "0.089, 0.123, 0.2214, 0.4058, 0.716, 1.165, 1.761, 2.514, 3.428, 4.522",\
                 "0.0936, 0.1268, 0.225, 0.4086, 0.718, 1.166, 1.762, 2.511, 3.429, 4.523",\
                 "0.0982, 0.1318, 0.2286, 0.4108, 0.7176, 1.167, 1.764, 2.513, 3.431, 4.525");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.07968, 0.1327, 0.3304, 0.7247, 1.342, 2.209, 3.345, 4.78, 6.533, 8.618",\
                 "0.07944, 0.1328, 0.3301, 0.7244, 1.341, 2.206, 3.346, 4.782, 6.534, 8.633",\
                 "0.0798, 0.1327, 0.3301, 0.7242, 1.34, 2.205, 3.345, 4.779, 6.533, 8.619",\
                 "0.0806, 0.1336, 0.3306, 0.7242, 1.341, 2.206, 3.346, 4.783, 6.534, 8.632",\
                 "0.0828, 0.1356, 0.331, 0.725, 1.342, 2.206, 3.346, 4.781, 6.533, 8.636",\
                 "0.085, 0.138, 0.3322, 0.7254, 1.341, 2.205, 3.344, 4.781, 6.541, 8.628",\
                 "0.0884, 0.141, 0.3328, 0.7256, 1.34, 2.205, 3.348, 4.779, 6.529, 8.63",\
                 "0.0926, 0.1446, 0.3338, 0.726, 1.341, 2.205, 3.342, 4.779, 6.526, 8.612",\
                 "0.097, 0.1494, 0.3356, 0.7262, 1.341, 2.207, 3.342, 4.776, 6.528, 8.611",\
                 "0.1022, 0.1544, 0.3388, 0.728, 1.341, 2.206, 3.343, 4.779, 6.524, 8.611");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "D===1'b1 && E===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "D&!E" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.4428, 0.4815, 0.6017, 0.8274, 1.178, 1.669, 2.315, 3.13, 4.123, 5.308",\
                 "0.4589, 0.4979, 0.6181, 0.8438, 1.194, 1.686, 2.332, 3.146, 4.14, 5.323",\
                 "0.5234, 0.5624, 0.6825, 0.9083, 1.259, 1.75, 2.396, 3.211, 4.204, 5.389",\
                 "0.6474, 0.6863, 0.8061, 1.032, 1.382, 1.874, 2.52, 3.334, 4.328, 5.511",\
                 "0.8012, 0.8404, 0.9603, 1.185, 1.536, 2.027, 2.674, 3.487, 4.48, 5.662",\
                 "0.9789, 1.019, 1.138, 1.363, 1.713, 2.204, 2.851, 3.664, 4.657, 5.842",\
                 "1.181, 1.221, 1.341, 1.564, 1.914, 2.405, 3.051, 3.864, 4.859, 6.042",\
                 "1.404, 1.445, 1.564, 1.788, 2.138, 2.627, 3.273, 4.086, 5.079, 6.263",\
                 "1.647, 1.688, 1.809, 2.031, 2.381, 2.871, 3.517, 4.33, 5.322, 6.505",\
                 "1.911, 1.954, 2.074, 2.296, 2.645, 3.135, 3.781, 4.594, 5.587, 6.77");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.07974, 0.1328, 0.3301, 0.7242, 1.342, 2.209, 3.345, 4.78, 6.532, 8.615",\
                 "0.07958, 0.1328, 0.3303, 0.7245, 1.34, 2.205, 3.344, 4.78, 6.529, 8.623",\
                 "0.0798, 0.1331, 0.3303, 0.7241, 1.342, 2.208, 3.345, 4.778, 6.531, 8.618",\
                 "0.0804, 0.1336, 0.3302, 0.725, 1.34, 2.205, 3.345, 4.781, 6.531, 8.621",\
                 "0.0826, 0.1354, 0.3308, 0.7244, 1.342, 2.206, 3.345, 4.78, 6.532, 8.614",\
                 "0.085, 0.1378, 0.3316, 0.7244, 1.34, 2.208, 3.343, 4.782, 6.53, 8.619",\
                 "0.0884, 0.1406, 0.3322, 0.7252, 1.341, 2.204, 3.348, 4.779, 6.534, 8.619",\
                 "0.0916, 0.1434, 0.333, 0.7248, 1.342, 2.205, 3.342, 4.776, 6.528, 8.619",\
                 "0.0962, 0.147, 0.3346, 0.7258, 1.341, 2.205, 3.345, 4.775, 6.53, 8.618",\
                 "0.0988, 0.1504, 0.3356, 0.7254, 1.341, 2.205, 3.342, 4.775, 6.526, 8.61");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.4701, 0.5044, 0.5923, 0.7262, 0.921, 1.192, 1.547, 1.995, 2.542, 3.194",\
                 "0.4816, 0.5159, 0.6037, 0.7376, 0.9324, 1.203, 1.559, 2.007, 2.554, 3.206",\
                 "0.5265, 0.5609, 0.6486, 0.7825, 0.9774, 1.248, 1.603, 2.052, 2.599, 3.251",\
                 "0.6004, 0.6349, 0.7227, 0.8567, 1.052, 1.322, 1.678, 2.126, 2.673, 3.325",\
                 "0.6665, 0.7012, 0.7894, 0.9238, 1.119, 1.389, 1.745, 2.193, 2.74, 3.392",\
                 "0.7228, 0.7577, 0.8468, 0.9811, 1.176, 1.446, 1.802, 2.25, 2.797, 3.448",\
                 "0.7644, 0.8, 0.8895, 1.024, 1.22, 1.49, 1.845, 2.293, 2.84, 3.491",\
                 "0.7877, 0.824, 0.9145, 1.05, 1.246, 1.516, 1.871, 2.319, 2.865, 3.517",\
                 "0.7899, 0.8269, 0.918, 1.055, 1.251, 1.521, 1.876, 2.324, 2.871, 3.522",\
                 "0.7679, 0.8058, 0.8991, 1.036, 1.232, 1.502, 1.858, 2.306, 2.852, 3.504");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.4428, 0.4815, 0.6017, 0.8274, 1.178, 1.669, 2.315, 3.13, 4.123, 5.308",\
                 "0.4589, 0.4979, 0.6181, 0.8438, 1.194, 1.686, 2.332, 3.146, 4.14, 5.323",\
                 "0.5234, 0.5624, 0.6825, 0.9083, 1.259, 1.75, 2.396, 3.211, 4.204, 5.389",\
                 "0.6474, 0.6863, 0.8061, 1.032, 1.382, 1.874, 2.52, 3.334, 4.328, 5.511",\
                 "0.8012, 0.8404, 0.9603, 1.185, 1.536, 2.027, 2.674, 3.487, 4.48, 5.662",\
                 "0.9789, 1.019, 1.138, 1.363, 1.713, 2.204, 2.851, 3.664, 4.657, 5.842",\
                 "1.181, 1.221, 1.341, 1.564, 1.914, 2.405, 3.051, 3.864, 4.859, 6.042",\
                 "1.404, 1.445, 1.564, 1.788, 2.138, 2.627, 3.273, 4.086, 5.079, 6.263",\
                 "1.647, 1.688, 1.809, 2.031, 2.381, 2.871, 3.517, 4.33, 5.322, 6.505",\
                 "1.911, 1.954, 2.074, 2.296, 2.645, 3.135, 3.781, 4.594, 5.587, 6.77");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.07698, 0.1119, 0.2116, 0.4011, 0.7141, 1.164, 1.761, 2.515, 3.434, 4.536",\
                 "0.07704, 0.1118, 0.2119, 0.4013, 0.7145, 1.164, 1.762, 2.516, 3.434, 4.537",\
                 "0.07706, 0.1119, 0.212, 0.4009, 0.7138, 1.166, 1.764, 2.517, 3.433, 4.537",\
                 "0.07792, 0.1126, 0.2124, 0.401, 0.7152, 1.165, 1.762, 2.516, 3.433, 4.536",\
                 "0.0796, 0.1138, 0.2138, 0.4012, 0.7134, 1.165, 1.763, 2.517, 3.434, 4.534",\
                 "0.082, 0.1166, 0.2156, 0.4032, 0.7138, 1.164, 1.761, 2.515, 3.433, 4.536",\
                 "0.0854, 0.1188, 0.2178, 0.4042, 0.7154, 1.166, 1.76, 2.512, 3.428, 4.526",\
                 "0.089, 0.123, 0.2214, 0.4058, 0.716, 1.165, 1.761, 2.514, 3.428, 4.522",\
                 "0.0936, 0.1268, 0.225, 0.4086, 0.718, 1.166, 1.762, 2.511, 3.429, 4.523",\
                 "0.0982, 0.1318, 0.2286, 0.4108, 0.7176, 1.167, 1.764, 2.513, 3.431, 4.525");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01096, 0.04593, 0.1127, 0.2167, 0.3627, 0.5548, 0.7968, 1.092, 1.444");
          values("0.07968, 0.1327, 0.3304, 0.7247, 1.342, 2.209, 3.345, 4.78, 6.533, 8.618",\
                 "0.07944, 0.1328, 0.3301, 0.7244, 1.341, 2.206, 3.346, 4.782, 6.534, 8.633",\
                 "0.0798, 0.1327, 0.3301, 0.7242, 1.34, 2.205, 3.345, 4.779, 6.533, 8.619",\
                 "0.0806, 0.1336, 0.3306, 0.7242, 1.341, 2.206, 3.346, 4.783, 6.534, 8.632",\
                 "0.0828, 0.1356, 0.331, 0.725, 1.342, 2.206, 3.346, 4.781, 6.533, 8.636",\
                 "0.085, 0.138, 0.3322, 0.7254, 1.341, 2.205, 3.344, 4.781, 6.541, 8.628",\
                 "0.0884, 0.141, 0.3328, 0.7256, 1.34, 2.205, 3.348, 4.779, 6.529, 8.63",\
                 "0.0926, 0.1446, 0.3338, 0.726, 1.341, 2.205, 3.342, 4.779, 6.526, 8.612",\
                 "0.097, 0.1494, 0.3356, 0.7262, 1.341, 2.207, 3.342, 4.776, 6.528, 8.611",\
                 "0.1022, 0.1544, 0.3388, 0.728, 1.341, 2.206, 3.343, 4.779, 6.524, 8.611");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.005155 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.371 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01839, 0.01839, 0.01831, 0.01834, 0.01833, 0.01834, 0.01834, \
                 0.01834, 0.01834, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01235, -0.01235, -0.01233, -0.01234, -0.01233, -0.0124, -0.0124, \
                 -0.01242, -0.01242, -0.01246");
        }
      }

      internal_power() {
        when : "D&!E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0184, 0.01837, 0.01832, 0.01832, 0.01837, 0.01835, 0.01834, \
                 0.01834, 0.01834, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01235, -0.01235, -0.01233, -0.01233, -0.01236, -0.0124, -0.0124, \
                 -0.01242, -0.01243, -0.01246");
        }
      }

      internal_power() {
        when : "D&E" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01839, 0.01835, 0.01831, 0.01832, 0.0183, 0.01834, 0.01835, \
                 0.01834, 0.01832, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01235, -0.01235, -0.01235, -0.01236, -0.01235, -0.01241, -0.0124, \
                 -0.01242, -0.01243, -0.01247");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : recovery_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.017, -0.001, -0.071, -0.18, -0.293, -0.428, -0.58, -0.75, -0.935, -1.147",\
                 "0.022, 0.007, -0.065, -0.17, -0.286, -0.424, -0.57, -0.745, -0.932, -1.142",\
                 "0.05, 0.035, -0.031, -0.137, -0.251, -0.392, -0.547, -0.721, -0.909, -1.125",\
                 "0.081, 0.064, -0.001, -0.099, -0.226, -0.366, -0.515, -0.696, -0.888, -1.116",\
                 "0.1, 0.085, 0.017, -0.084, -0.201, -0.337, -0.502, -0.678, -0.878, -1.1",\
                 "0.123, 0.105, 0.041, -0.058, -0.171, -0.318, -0.473, -0.654, -0.853, -1.073",\
                 "0.142, 0.124, 0.058, -0.044, -0.161, -0.301, -0.46, -0.631, -0.836, -1.06",\
                 "0.13, 0.117, 0.05, -0.045, -0.158, -0.297, -0.452, -0.635, -0.834, -1.062",\
                 "0.115, 0.105, 0.04, -0.055, -0.173, -0.306, -0.464, -0.645, -0.848, -1.071",\
                 "0.08, 0.062, 0, -0.092, -0.204, -0.343, -0.495, -0.677, -0.875, -1.1");
        }
      }

      timing() {
        related_pin : "E" ;
        timing_type : removal_falling ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.132, 0.151, 0.216, 0.317, 0.442, 0.583, 0.749, 0.939, 1.149, 1.387",\
                 "0.122, 0.143, 0.207, 0.305, 0.433, 0.577, 0.741, 0.929, 1.14, 1.378",\
                 "0.09, 0.107, 0.173, 0.271, 0.4, 0.539, 0.71, 0.895, 1.107, 1.34",\
                 "0.056, 0.071, 0.135, 0.238, 0.359, 0.498, 0.665, 0.85, 1.063, 1.301",\
                 "0.02, 0.038, 0.105, 0.201, 0.33, 0.469, 0.634, 0.82, 1.029, 1.268",\
                 "0.004, 0.018, 0.081, 0.182, 0.303, 0.448, 0.608, 0.797, 1.004, 1.241",\
                 "-0.007, 0.013, 0.078, 0.184, 0.299, 0.443, 0.598, 0.788, 0.99, 1.225",\
                 "0.011, 0.026, 0.093, 0.192, 0.314, 0.449, 0.608, 0.79, 1.002, 1.238",\
                 "0.044, 0.063, 0.126, 0.221, 0.343, 0.478, 0.635, 0.82, 1.027, 1.26",\
                 "0.097, 0.111, 0.178, 0.272, 0.395, 0.531, 0.688, 0.869, 1.073, 1.305");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!E" ;

        fall_constraint(scalar) {
          values("0.371");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_D_AND_NOT_E === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!E" ;

        fall_constraint(scalar) {
          values("0.371");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__mux2_1) {
    area : 28.537600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!S" ;
      value : "8.5008e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&S" ;
      value : "8.44107e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!S" ;
      value : "8.57637e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&S" ;
      value : "8.14803e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!S" ;
      value : "8.20776e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&S" ;
      value : "8.51664e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!S" ;
      value : "8.20776e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&S" ;
      value : "8.14803e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.57637e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I0) {
      capacitance : 0.003134 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I1&S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008968, 0.008404, 0.008189, 0.008169, 0.008162, 0.008176, 0.008172, \
                 0.008174, 0.008168, 0.008166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007806, -0.007781, -0.007825, -0.007905, -0.00795, -0.007995, \
                 -0.008025, -0.008033, -0.008044, -0.008048");
        }
      }

      internal_power() {
        when : "I1&S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008167, 0.008161, 0.008152, 0.008163, 0.008162, 0.008176, 0.008179, \
                 0.008168, 0.008177, 0.008177");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006687, -0.007262, -0.007812, -0.007906, -0.007951, -0.007995, \
                 -0.008024, -0.008028, -0.00804, -0.008045");
        }
      }
    }

    pin(I1) {
      capacitance : 0.002895 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008952, 0.008403, 0.008193, 0.008166, 0.008151, 0.00818, 0.008169, \
                 0.008162, 0.00817, 0.008167");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007971, -0.007956, -0.007977, -0.008017, -0.008042, -0.008073, \
                 -0.008076, -0.008095, -0.008099, -0.008101");
        }
      }

      internal_power() {
        when : "I0&!S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00817, 0.008165, 0.008156, 0.008155, 0.008152, 0.008174, 0.008174, \
                 0.008168, 0.008171, 0.008174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006879, -0.007455, -0.007945, -0.008029, -0.008039, -0.008071, \
                 -0.008082, -0.008089, -0.008104, -0.008099");
        }
      }
    }

    pin(S) {
      capacitance : 0.006195 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05561, 0.05504, 0.05627, 0.06137, 0.07123, 0.08622, 0.1069, \
                 0.1337, 0.1668, 0.2067");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003913, 0.003634, 0.004398, 0.008246, 0.01631, 0.029, 0.04682, \
                 0.06991, 0.09863, 0.1332");
        }
      }

      internal_power() {
        when : "I0&I1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05459, 0.05405, 0.05537, 0.06059, 0.07049, 0.08571, 0.1065, \
                 0.1333, 0.1665, 0.2065");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003671, 0.003421, 0.004155, 0.00793, 0.01588, 0.02851, 0.04623, \
                 0.06928, 0.09794, 0.1325");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "((I0&(!S))|(I1&S))" ;
      max_capacitance : 0.3597 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&!S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1015, 0.09915, 0.0953, 0.09298, 0.09161, 0.09078, 0.09025, 0.0899, 0.08967, 0.0895",\
                 "0.1011, 0.09875, 0.09489, 0.09261, 0.09122, 0.09038, 0.08986, 0.0895, 0.08927, 0.08911",\
                 "0.101, 0.09853, 0.0947, 0.09237, 0.09097, 0.09017, 0.08968, 0.08932, 0.08909, 0.08892",\
                 "0.1039, 0.1014, 0.0974, 0.09485, 0.09338, 0.09251, 0.09197, 0.09162, 0.09138, 0.09121",\
                 "0.1133, 0.1106, 0.1058, 0.1026, 0.1007, 0.09965, 0.09896, 0.09851, 0.09821, 0.098",\
                 "0.1292, 0.1261, 0.1204, 0.1163, 0.1138, 0.1123, 0.1114, 0.1108, 0.1104, 0.1101",\
                 "0.1523, 0.1488, 0.1418, 0.1366, 0.1332, 0.1311, 0.1297, 0.1289, 0.1283, 0.1279",\
                 "0.1824, 0.1784, 0.1699, 0.1634, 0.159, 0.156, 0.1541, 0.1529, 0.152, 0.1514",\
                 "0.2189, 0.2145, 0.2049, 0.1968, 0.191, 0.1872, 0.1847, 0.183, 0.1818, 0.1809",\
                 "0.2623, 0.2576, 0.2468, 0.237, 0.2299, 0.2251, 0.2217, 0.2195, 0.2179, 0.2167");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.05584, 0.05496, 0.05394, 0.05375, 0.05399, 0.05457, 0.05522, 0.05593, 0.05658, 0.06003",\
                 "0.0554, 0.05449, 0.05355, 0.05326, 0.0535, 0.0541, 0.05463, 0.05537, 0.05615, 0.05937",\
                 "0.05534, 0.05445, 0.05335, 0.05303, 0.0533, 0.05394, 0.05446, 0.05507, 0.05588, 0.05985",\
                 "0.05858, 0.05758, 0.05605, 0.0553, 0.05538, 0.05579, 0.05641, 0.05699, 0.05783, 0.06221",\
                 "0.06635, 0.06498, 0.06278, 0.06171, 0.06089, 0.0614, 0.06169, 0.06227, 0.06336, 0.06736",\
                 "0.07942, 0.07775, 0.07475, 0.07246, 0.07188, 0.07143, 0.07132, 0.0718, 0.0725, 0.07783",\
                 "0.09836, 0.09613, 0.09226, 0.08877, 0.08676, 0.08687, 0.08644, 0.08632, 0.08698, 0.09322",\
                 "0.1229, 0.1202, 0.1155, 0.111, 0.1082, 0.1066, 0.107, 0.1068, 0.1069, 0.1148",\
                 "0.1537, 0.1504, 0.1446, 0.1392, 0.135, 0.1323, 0.1315, 0.1323, 0.1332, 0.1441",\
                 "0.1907, 0.1869, 0.1802, 0.1736, 0.1684, 0.1648, 0.1626, 0.1621, 0.1647, 0.1814");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&!S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1015, 0.09915, 0.0953, 0.09298, 0.09161, 0.09078, 0.09025, 0.0899, 0.08967, 0.0895",\
                 "0.1011, 0.09875, 0.09489, 0.09261, 0.09121, 0.09038, 0.08986, 0.0895, 0.08927, 0.08911",\
                 "0.1009, 0.09853, 0.09472, 0.09236, 0.09097, 0.09017, 0.08968, 0.08932, 0.08909, 0.08892",\
                 "0.1039, 0.1014, 0.0974, 0.09485, 0.09338, 0.0925, 0.09197, 0.09162, 0.09138, 0.09121",\
                 "0.1133, 0.1106, 0.1058, 0.1026, 0.1007, 0.09965, 0.09897, 0.09851, 0.09821, 0.098",\
                 "0.1292, 0.1261, 0.1203, 0.1163, 0.1138, 0.1123, 0.1114, 0.1108, 0.1104, 0.1101",\
                 "0.1523, 0.1488, 0.1418, 0.1366, 0.1332, 0.131, 0.1297, 0.1289, 0.1283, 0.1278",\
                 "0.1824, 0.1784, 0.17, 0.1634, 0.1589, 0.156, 0.1542, 0.1529, 0.152, 0.1514",\
                 "0.2189, 0.2145, 0.2049, 0.1968, 0.191, 0.1872, 0.1847, 0.183, 0.1818, 0.181",\
                 "0.2624, 0.2576, 0.2467, 0.237, 0.2299, 0.2251, 0.2217, 0.2195, 0.2179, 0.2167");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.05584, 0.05496, 0.05394, 0.05375, 0.05399, 0.05457, 0.05522, 0.05593, 0.05658, 0.06003",\
                 "0.05539, 0.05456, 0.05355, 0.05326, 0.0535, 0.05411, 0.05463, 0.05537, 0.05674, 0.05937",\
                 "0.05534, 0.05445, 0.05335, 0.05303, 0.0533, 0.05394, 0.05446, 0.05507, 0.05588, 0.05985",\
                 "0.05858, 0.05758, 0.05605, 0.0553, 0.05538, 0.05585, 0.05647, 0.05705, 0.05842, 0.06155",\
                 "0.06636, 0.065, 0.06267, 0.06171, 0.06092, 0.06143, 0.06169, 0.06223, 0.06309, 0.06769",\
                 "0.07942, 0.07771, 0.07463, 0.07246, 0.07188, 0.07143, 0.07126, 0.0718, 0.0725, 0.0775",\
                 "0.09836, 0.09613, 0.09227, 0.08873, 0.08706, 0.08687, 0.08644, 0.08613, 0.08698, 0.09322",\
                 "0.1229, 0.1203, 0.1155, 0.1113, 0.1081, 0.1065, 0.107, 0.1068, 0.107, 0.1151",\
                 "0.1537, 0.1504, 0.1445, 0.1392, 0.135, 0.1323, 0.1315, 0.1323, 0.1334, 0.1439",\
                 "0.1907, 0.1869, 0.1802, 0.1737, 0.1685, 0.1646, 0.1626, 0.1623, 0.1645, 0.1814");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1071, 0.1047, 0.1009, 0.09855, 0.09717, 0.09632, 0.0958, 0.09545, 0.09521, 0.09505",\
                 "0.1068, 0.1043, 0.1005, 0.09817, 0.09678, 0.09597, 0.09543, 0.09509, 0.09485, 0.09469",\
                 "0.1065, 0.1041, 0.1003, 0.09791, 0.09652, 0.09571, 0.0952, 0.09485, 0.09462, 0.09446",\
                 "0.1095, 0.107, 0.1029, 0.1004, 0.09891, 0.09802, 0.09747, 0.09708, 0.09684, 0.09667",\
                 "0.1188, 0.1161, 0.1113, 0.1081, 0.1063, 0.1052, 0.1045, 0.104, 0.1037, 0.1035",\
                 "0.1347, 0.1315, 0.1258, 0.1218, 0.1193, 0.1178, 0.1168, 0.1162, 0.1158, 0.1155",\
                 "0.1578, 0.1543, 0.1473, 0.142, 0.1386, 0.1365, 0.1352, 0.1342, 0.1337, 0.1333",\
                 "0.1877, 0.1838, 0.1754, 0.1688, 0.1643, 0.1613, 0.1595, 0.1582, 0.1574, 0.1568",\
                 "0.2243, 0.22, 0.2103, 0.2021, 0.1964, 0.1925, 0.19, 0.1883, 0.1871, 0.1862",\
                 "0.2677, 0.2629, 0.2522, 0.2422, 0.2351, 0.2302, 0.227, 0.2246, 0.223, 0.2219");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.05035, 0.04942, 0.0484, 0.04817, 0.04841, 0.04912, 0.04964, 0.05028, 0.05103, 0.05442",\
                 "0.0499, 0.04907, 0.04797, 0.04771, 0.04801, 0.04866, 0.04911, 0.04986, 0.0506, 0.05376",\
                 "0.04981, 0.04889, 0.04779, 0.04745, 0.04768, 0.04823, 0.04878, 0.04953, 0.05086, 0.0539",\
                 "0.05314, 0.05214, 0.05054, 0.04986, 0.04976, 0.05034, 0.05086, 0.05137, 0.05235, 0.05693",\
                 "0.06093, 0.05954, 0.05715, 0.05609, 0.05554, 0.05569, 0.05598, 0.05672, 0.05791, 0.06174",\
                 "0.07404, 0.07226, 0.06926, 0.06682, 0.06623, 0.06582, 0.06568, 0.06645, 0.06685, 0.07189",\
                 "0.09289, 0.09073, 0.08659, 0.08332, 0.08134, 0.08119, 0.08079, 0.08074, 0.0816, 0.0876",\
                 "0.1175, 0.1148, 0.11, 0.1054, 0.1025, 0.1011, 0.1014, 0.1014, 0.1014, 0.1095",\
                 "0.1481, 0.1449, 0.1391, 0.134, 0.1295, 0.1267, 0.1261, 0.127, 0.1272, 0.1385",\
                 "0.1852, 0.1814, 0.1747, 0.1682, 0.1628, 0.1586, 0.1571, 0.1566, 0.159, 0.1758");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1071, 0.1047, 0.1009, 0.09855, 0.09717, 0.09632, 0.0958, 0.09545, 0.09521, 0.09505",\
                 "0.1068, 0.1043, 0.1005, 0.09817, 0.09678, 0.09597, 0.09543, 0.09509, 0.09485, 0.09469",\
                 "0.1065, 0.1041, 0.1003, 0.09792, 0.09652, 0.09571, 0.0952, 0.09485, 0.09462, 0.09446",\
                 "0.1095, 0.107, 0.1029, 0.1003, 0.09888, 0.09801, 0.09744, 0.09707, 0.09683, 0.09667",\
                 "0.1188, 0.1161, 0.1113, 0.1081, 0.1062, 0.1051, 0.1044, 0.104, 0.1037, 0.1034",\
                 "0.1347, 0.1315, 0.1258, 0.1217, 0.1193, 0.1177, 0.1168, 0.1162, 0.1158, 0.1155",\
                 "0.1578, 0.1543, 0.1473, 0.142, 0.1386, 0.1365, 0.1351, 0.1343, 0.1337, 0.1333",\
                 "0.1877, 0.1838, 0.1754, 0.1688, 0.1643, 0.1614, 0.1595, 0.1582, 0.1574, 0.1568",\
                 "0.2243, 0.22, 0.2103, 0.2021, 0.1964, 0.1925, 0.19, 0.1883, 0.1871, 0.1862",\
                 "0.2677, 0.2629, 0.2522, 0.2422, 0.2351, 0.2302, 0.2269, 0.2247, 0.223, 0.2219");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.05036, 0.04947, 0.04841, 0.04817, 0.04841, 0.04909, 0.04964, 0.05028, 0.05103, 0.05475",\
                 "0.04995, 0.04899, 0.04798, 0.04768, 0.04795, 0.04866, 0.04908, 0.04986, 0.05057, 0.05376",\
                 "0.04981, 0.04889, 0.04779, 0.04745, 0.04768, 0.04823, 0.04878, 0.04953, 0.05086, 0.0539",\
                 "0.05314, 0.05216, 0.05053, 0.04986, 0.04976, 0.05034, 0.05086, 0.05137, 0.05235, 0.05693",\
                 "0.06093, 0.0595, 0.05715, 0.05609, 0.05554, 0.05569, 0.05617, 0.05675, 0.05758, 0.06174",\
                 "0.07403, 0.07226, 0.06931, 0.06692, 0.0662, 0.06585, 0.06568, 0.06622, 0.06682, 0.07222",\
                 "0.09285, 0.09074, 0.0867, 0.08332, 0.08138, 0.08119, 0.08086, 0.08074, 0.08156, 0.0876",\
                 "0.1175, 0.1148, 0.1099, 0.1057, 0.1025, 0.1012, 0.1013, 0.1012, 0.1015, 0.1095",\
                 "0.1482, 0.1449, 0.139, 0.1339, 0.1294, 0.1272, 0.1261, 0.127, 0.1274, 0.1385",\
                 "0.1852, 0.1814, 0.1747, 0.1683, 0.163, 0.1586, 0.1572, 0.1565, 0.1592, 0.175");
        }
      }

      internal_power() {
        related_pin : "S" ;
        when : "!I0&I1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1385, 0.1362, 0.1328, 0.1308, 0.1296, 0.1288, 0.1283, 0.128, 0.1278, 0.1277",\
                 "0.1375, 0.1353, 0.1319, 0.1298, 0.1286, 0.1279, 0.1274, 0.1271, 0.1269, 0.1267",\
                 "0.1386, 0.1364, 0.133, 0.131, 0.1299, 0.1291, 0.1287, 0.1284, 0.1282, 0.128",\
                 "0.1475, 0.1451, 0.1414, 0.1392, 0.1379, 0.1371, 0.1366, 0.1363, 0.1361, 0.1359",\
                 "0.1676, 0.1648, 0.16, 0.1568, 0.1549, 0.1539, 0.1532, 0.1528, 0.1525, 0.1523",\
                 "0.1978, 0.1945, 0.1885, 0.1842, 0.1816, 0.1801, 0.1791, 0.1785, 0.178, 0.1777",\
                 "0.2394, 0.2356, 0.2281, 0.2225, 0.2189, 0.2167, 0.2153, 0.2143, 0.2137, 0.2133",\
                 "0.2929, 0.2885, 0.2795, 0.2724, 0.2675, 0.2645, 0.2624, 0.261, 0.2601, 0.2594",\
                 "0.3585, 0.3537, 0.3432, 0.3343, 0.3282, 0.324, 0.3212, 0.3193, 0.318, 0.3171",\
                 "0.4367, 0.4316, 0.4196, 0.409, 0.4013, 0.396, 0.3923, 0.3898, 0.388, 0.3867");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.05213, 0.05132, 0.05037, 0.05036, 0.0507, 0.05121, 0.05186, 0.05241, 0.05322, 0.05684",\
                 "0.05201, 0.0512, 0.05035, 0.0502, 0.0506, 0.05111, 0.0518, 0.05241, 0.05315, 0.05707",\
                 "0.05346, 0.05255, 0.05155, 0.05125, 0.05166, 0.05217, 0.05295, 0.0535, 0.05424, 0.05854",\
                 "0.0617, 0.06064, 0.05885, 0.05792, 0.05789, 0.05827, 0.05886, 0.05944, 0.06041, 0.06486",\
                 "0.07803, 0.07639, 0.07375, 0.07237, 0.07152, 0.07147, 0.07199, 0.07257, 0.0732, 0.07825",\
                 "0.1036, 0.1015, 0.09799, 0.09508, 0.09406, 0.09355, 0.09344, 0.09369, 0.09428, 0.09995",\
                 "0.1388, 0.1364, 0.1318, 0.1279, 0.1255, 0.1249, 0.1244, 0.1239, 0.1248, 0.1305",\
                 "0.1844, 0.1812, 0.1759, 0.1708, 0.1675, 0.1655, 0.1651, 0.1649, 0.165, 0.1725",\
                 "0.2405, 0.2366, 0.23, 0.2241, 0.2191, 0.2163, 0.2147, 0.2154, 0.2158, 0.2266",\
                 "0.3077, 0.3032, 0.2957, 0.2884, 0.2826, 0.2784, 0.2756, 0.2751, 0.2773, 0.2936");
        }
      }

      internal_power() {
        related_pin : "S" ;
        when : "I0&!I1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.09765, 0.09526, 0.09135, 0.08904, 0.08761, 0.08683, 0.08631, 0.08601, 0.08577, 0.0856",\
                 "0.09744, 0.09505, 0.09119, 0.08886, 0.08744, 0.08662, 0.08612, 0.08577, 0.08554, 0.08538",\
                 "0.09783, 0.09545, 0.0916, 0.0892, 0.08782, 0.087, 0.0865, 0.08616, 0.08593, 0.08577",\
                 "0.1009, 0.09856, 0.09483, 0.09255, 0.09124, 0.09044, 0.08991, 0.08959, 0.08936, 0.08922",\
                 "0.1082, 0.1059, 0.1023, 0.1002, 0.09889, 0.09814, 0.09767, 0.09737, 0.09716, 0.09702",\
                 "0.1208, 0.1185, 0.1149, 0.1128, 0.1117, 0.1109, 0.1105, 0.1102, 0.11, 0.1099",\
                 "0.1393, 0.1369, 0.1333, 0.1312, 0.13, 0.1293, 0.1289, 0.1286, 0.1284, 0.1283",\
                 "0.1636, 0.1611, 0.1575, 0.1552, 0.154, 0.1534, 0.1529, 0.1526, 0.1524, 0.1523",\
                 "0.1945, 0.192, 0.1882, 0.1858, 0.1845, 0.1838, 0.1834, 0.1832, 0.1829, 0.1828",\
                 "0.2315, 0.229, 0.225, 0.2226, 0.2212, 0.2204, 0.2199, 0.2196, 0.2194, 0.2193");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1138, 0.1128, 0.1116, 0.1111, 0.1113, 0.1119, 0.1125, 0.1133, 0.114, 0.1183",\
                 "0.1132, 0.1124, 0.1111, 0.1107, 0.1109, 0.1114, 0.112, 0.1128, 0.1137, 0.1173",\
                 "0.1148, 0.1138, 0.1126, 0.1122, 0.1123, 0.1129, 0.1136, 0.1142, 0.1151, 0.1196",\
                 "0.1206, 0.1196, 0.1183, 0.1179, 0.1181, 0.1186, 0.1192, 0.1199, 0.1208, 0.1252",\
                 "0.131, 0.1301, 0.129, 0.1285, 0.1286, 0.1291, 0.1298, 0.1307, 0.1315, 0.1364",\
                 "0.1471, 0.1461, 0.1446, 0.1445, 0.1445, 0.1452, 0.1456, 0.1463, 0.1473, 0.1544",\
                 "0.1694, 0.1684, 0.1669, 0.1661, 0.1666, 0.1672, 0.1674, 0.168, 0.1691, 0.1775",\
                 "0.198, 0.1969, 0.1952, 0.1941, 0.1941, 0.195, 0.1961, 0.1967, 0.1974, 0.2093",\
                 "0.2335, 0.2323, 0.2304, 0.2294, 0.2289, 0.2293, 0.2312, 0.2317, 0.2341, 0.253",\
                 "0.2761, 0.2748, 0.2728, 0.2716, 0.2711, 0.271, 0.2714, 0.2738, 0.2781, 0.3115");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.5422, 0.5872, 0.7068, 0.8779, 1.098, 1.38, 1.737, 2.182, 2.725, 3.372",\
                 "0.5556, 0.6007, 0.7201, 0.8913, 1.112, 1.393, 1.75, 2.196, 2.739, 3.386",\
                 "0.5955, 0.6407, 0.7601, 0.9312, 1.152, 1.433, 1.79, 2.236, 2.779, 3.426",\
                 "0.6813, 0.7264, 0.8455, 1.017, 1.237, 1.518, 1.875, 2.321, 2.864, 3.511",\
                 "0.8218, 0.8685, 0.9911, 1.165, 1.386, 1.668, 2.025, 2.47, 3.013, 3.66",\
                 "1.015, 1.064, 1.19, 1.369, 1.595, 1.879, 2.236, 2.682, 3.224, 3.871",\
                 "1.256, 1.308, 1.441, 1.626, 1.857, 2.144, 2.503, 2.949, 3.492, 4.139",\
                 "1.538, 1.593, 1.734, 1.93, 2.171, 2.464, 2.826, 3.272, 3.815, 4.461",\
                 "1.861, 1.919, 2.069, 2.276, 2.53, 2.835, 3.204, 3.652, 4.195, 4.842",\
                 "2.226, 2.288, 2.447, 2.665, 2.932, 3.251, 3.632, 4.089, 4.635, 5.282");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.3803, 0.4239, 0.5556, 0.7836, 1.132, 1.62, 2.263, 3.071, 4.058, 5.236",\
                 "0.3876, 0.4311, 0.5629, 0.7908, 1.14, 1.627, 2.269, 3.079, 4.066, 5.241",\
                 "0.409, 0.4523, 0.5838, 0.8116, 1.16, 1.649, 2.291, 3.1, 4.087, 5.261",\
                 "0.4474, 0.4915, 0.6234, 0.851, 1.199, 1.687, 2.33, 3.138, 4.126, 5.3",\
                 "0.4782, 0.5235, 0.6578, 0.886, 1.233, 1.721, 2.362, 3.171, 4.159, 5.335",\
                 "0.4868, 0.5342, 0.6722, 0.9025, 1.249, 1.736, 2.377, 3.185, 4.171, 5.347",\
                 "0.4659, 0.5152, 0.6585, 0.8931, 1.242, 1.728, 2.368, 3.175, 4.161, 5.337",\
                 "0.4106, 0.4626, 0.6118, 0.8532, 1.207, 1.695, 2.335, 3.142, 4.127, 5.302",\
                 "0.3188, 0.3737, 0.5283, 0.7762, 1.136, 1.631, 2.275, 3.082, 4.066, 5.241",\
                 "0.1887, 0.247, 0.4081, 0.662, 1.029, 1.532, 2.184, 2.995, 3.98, 5.154");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1726, 0.2158, 0.3324, 0.5222, 0.8075, 1.224, 1.792, 2.531, 3.44, 4.524",\
                 "0.1728, 0.2157, 0.3322, 0.5224, 0.8087, 1.223, 1.792, 2.529, 3.44, 4.527",\
                 "0.1731, 0.2155, 0.3327, 0.5223, 0.8072, 1.223, 1.792, 2.531, 3.438, 4.527",\
                 "0.174, 0.2168, 0.3336, 0.5228, 0.8086, 1.223, 1.792, 2.531, 3.44, 4.528",\
                 "0.1862, 0.2296, 0.3456, 0.5316, 0.8138, 1.226, 1.795, 2.531, 3.441, 4.528",\
                 "0.2008, 0.246, 0.3648, 0.55, 0.8266, 1.234, 1.799, 2.531, 3.436, 4.525",\
                 "0.2246, 0.271, 0.3906, 0.5768, 0.8492, 1.248, 1.805, 2.536, 3.442, 4.527",\
                 "0.2522, 0.3016, 0.4268, 0.616, 0.8856, 1.273, 1.818, 2.54, 3.441, 4.526",\
                 "0.2798, 0.3332, 0.4662, 0.661, 0.936, 1.318, 1.85, 2.558, 3.448, 4.525",\
                 "0.3118, 0.3676, 0.5084, 0.7086, 0.9916, 1.38, 1.908, 2.597, 3.471, 4.537");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1407, 0.198, 0.3888, 0.7645, 1.371, 2.232, 3.363, 4.789, 6.532, 8.598",\
                 "0.1405, 0.198, 0.3892, 0.7656, 1.372, 2.232, 3.363, 4.789, 6.53, 8.606",\
                 "0.1408, 0.1979, 0.3891, 0.765, 1.375, 2.231, 3.362, 4.786, 6.53, 8.598",\
                 "0.1449, 0.2027, 0.3917, 0.7656, 1.372, 2.232, 3.363, 4.788, 6.529, 8.6",\
                 "0.154, 0.2128, 0.4006, 0.7708, 1.375, 2.231, 3.366, 4.791, 6.527, 8.602",\
                 "0.168, 0.226, 0.4144, 0.7788, 1.378, 2.234, 3.367, 4.785, 6.525, 8.602",\
                 "0.185, 0.2424, 0.4344, 0.7956, 1.385, 2.235, 3.363, 4.794, 6.526, 8.6",\
                 "0.2046, 0.263, 0.4574, 0.8182, 1.407, 2.248, 3.368, 4.787, 6.536, 8.598",\
                 "0.226, 0.2856, 0.4794, 0.8458, 1.437, 2.278, 3.387, 4.792, 6.526, 8.603",\
                 "0.2504, 0.3106, 0.5046, 0.872, 1.468, 2.318, 3.422, 4.816, 6.533, 8.598");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.5422, 0.5872, 0.7068, 0.8779, 1.098, 1.38, 1.737, 2.182, 2.725, 3.372",\
                 "0.5556, 0.6007, 0.7201, 0.8913, 1.112, 1.393, 1.75, 2.196, 2.739, 3.386",\
                 "0.5955, 0.6407, 0.7601, 0.9312, 1.152, 1.433, 1.79, 2.236, 2.779, 3.426",\
                 "0.6813, 0.7264, 0.8455, 1.017, 1.237, 1.518, 1.875, 2.321, 2.864, 3.511",\
                 "0.8218, 0.8685, 0.9908, 1.164, 1.386, 1.668, 2.025, 2.47, 3.013, 3.66",\
                 "1.015, 1.064, 1.191, 1.369, 1.595, 1.879, 2.236, 2.682, 3.224, 3.871",\
                 "1.256, 1.307, 1.441, 1.626, 1.857, 2.144, 2.503, 2.949, 3.492, 4.139",\
                 "1.538, 1.593, 1.734, 1.93, 2.171, 2.464, 2.826, 3.272, 3.815, 4.461",\
                 "1.861, 1.919, 2.069, 2.276, 2.53, 2.835, 3.204, 3.652, 4.195, 4.842",\
                 "2.226, 2.287, 2.447, 2.665, 2.932, 3.251, 3.632, 4.089, 4.635, 5.282");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.3803, 0.4239, 0.5556, 0.7836, 1.132, 1.62, 2.263, 3.071, 4.058, 5.236",\
                 "0.3877, 0.4313, 0.5629, 0.7908, 1.14, 1.627, 2.27, 3.079, 4.065, 5.241",\
                 "0.409, 0.4523, 0.5838, 0.8116, 1.16, 1.649, 2.291, 3.1, 4.087, 5.261",\
                 "0.4474, 0.4915, 0.6234, 0.851, 1.199, 1.687, 2.329, 3.138, 4.123, 5.3",\
                 "0.4782, 0.5235, 0.6578, 0.886, 1.233, 1.721, 2.362, 3.171, 4.159, 5.335",\
                 "0.4868, 0.5342, 0.6722, 0.9025, 1.249, 1.736, 2.377, 3.185, 4.171, 5.348",\
                 "0.4659, 0.5152, 0.6584, 0.893, 1.242, 1.728, 2.368, 3.175, 4.161, 5.337",\
                 "0.4106, 0.4628, 0.6118, 0.8533, 1.206, 1.695, 2.335, 3.141, 4.127, 5.302",\
                 "0.3184, 0.3737, 0.5289, 0.7762, 1.137, 1.631, 2.275, 3.082, 4.066, 5.241",\
                 "0.1889, 0.247, 0.4081, 0.6625, 1.029, 1.532, 2.184, 2.995, 3.98, 5.154");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1726, 0.2158, 0.3324, 0.5222, 0.8075, 1.224, 1.792, 2.531, 3.44, 4.524",\
                 "0.1729, 0.2157, 0.3322, 0.5224, 0.8086, 1.223, 1.792, 2.529, 3.44, 4.527",\
                 "0.1731, 0.2155, 0.3325, 0.522, 0.8074, 1.223, 1.792, 2.531, 3.438, 4.527",\
                 "0.174, 0.2168, 0.3336, 0.5228, 0.8086, 1.223, 1.792, 2.531, 3.44, 4.528",\
                 "0.1862, 0.2296, 0.3454, 0.5316, 0.8128, 1.225, 1.795, 2.531, 3.441, 4.528",\
                 "0.2012, 0.246, 0.3636, 0.55, 0.8268, 1.234, 1.799, 2.532, 3.44, 4.528",\
                 "0.2246, 0.2712, 0.3916, 0.5766, 0.8492, 1.249, 1.805, 2.536, 3.441, 4.527",\
                 "0.2514, 0.3016, 0.428, 0.6146, 0.8852, 1.273, 1.819, 2.54, 3.44, 4.527",\
                 "0.2798, 0.3332, 0.4658, 0.6602, 0.9358, 1.318, 1.85, 2.558, 3.448, 4.525",\
                 "0.3114, 0.3676, 0.5066, 0.709, 0.9916, 1.38, 1.908, 2.597, 3.471, 4.537");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1407, 0.198, 0.3887, 0.7644, 1.371, 2.232, 3.363, 4.789, 6.532, 8.598",\
                 "0.1409, 0.1988, 0.3892, 0.7656, 1.372, 2.232, 3.363, 4.789, 6.527, 8.606",\
                 "0.1408, 0.1979, 0.3891, 0.765, 1.375, 2.231, 3.362, 4.786, 6.53, 8.598",\
                 "0.1449, 0.2027, 0.3917, 0.7656, 1.372, 2.231, 3.362, 4.789, 6.525, 8.603",\
                 "0.1542, 0.2126, 0.4008, 0.7708, 1.373, 2.231, 3.366, 4.791, 6.525, 8.602",\
                 "0.168, 0.226, 0.415, 0.7788, 1.377, 2.235, 3.362, 4.785, 6.526, 8.602",\
                 "0.185, 0.2424, 0.4348, 0.795, 1.385, 2.235, 3.363, 4.795, 6.526, 8.6",\
                 "0.2044, 0.263, 0.456, 0.8196, 1.408, 2.25, 3.367, 4.787, 6.536, 8.598",\
                 "0.2272, 0.2856, 0.4796, 0.845, 1.437, 2.278, 3.387, 4.792, 6.525, 8.607",\
                 "0.2494, 0.3106, 0.5046, 0.8718, 1.468, 2.318, 3.424, 4.82, 6.535, 8.598");
        }
      }

      timing() {
        related_pin : "I0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.5422, 0.5872, 0.7068, 0.8779, 1.098, 1.38, 1.737, 2.182, 2.725, 3.372",\
                 "0.5556, 0.6007, 0.7201, 0.8913, 1.112, 1.393, 1.75, 2.196, 2.739, 3.386",\
                 "0.5955, 0.6407, 0.7601, 0.9312, 1.152, 1.433, 1.79, 2.236, 2.779, 3.426",\
                 "0.6813, 0.7264, 0.8455, 1.017, 1.237, 1.518, 1.875, 2.321, 2.864, 3.511",\
                 "0.8218, 0.8685, 0.9908, 1.164, 1.386, 1.668, 2.025, 2.47, 3.013, 3.66",\
                 "1.015, 1.064, 1.191, 1.369, 1.595, 1.879, 2.236, 2.682, 3.224, 3.871",\
                 "1.256, 1.307, 1.441, 1.626, 1.857, 2.144, 2.503, 2.949, 3.492, 4.139",\
                 "1.538, 1.593, 1.734, 1.93, 2.171, 2.464, 2.826, 3.272, 3.815, 4.461",\
                 "1.861, 1.919, 2.069, 2.276, 2.53, 2.835, 3.204, 3.652, 4.195, 4.842",\
                 "2.226, 2.287, 2.447, 2.665, 2.932, 3.251, 3.632, 4.089, 4.635, 5.282");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.3803, 0.4239, 0.5556, 0.7836, 1.132, 1.62, 2.263, 3.071, 4.058, 5.236",\
                 "0.3877, 0.4313, 0.5629, 0.7908, 1.14, 1.627, 2.27, 3.079, 4.065, 5.241",\
                 "0.409, 0.4523, 0.5838, 0.8116, 1.16, 1.649, 2.291, 3.1, 4.087, 5.261",\
                 "0.4474, 0.4915, 0.6234, 0.851, 1.199, 1.687, 2.329, 3.138, 4.123, 5.3",\
                 "0.4782, 0.5235, 0.6578, 0.886, 1.233, 1.721, 2.362, 3.171, 4.159, 5.335",\
                 "0.4868, 0.5342, 0.6722, 0.9025, 1.249, 1.736, 2.377, 3.185, 4.171, 5.348",\
                 "0.4659, 0.5152, 0.6584, 0.893, 1.242, 1.728, 2.368, 3.175, 4.161, 5.337",\
                 "0.4106, 0.4628, 0.6118, 0.8533, 1.206, 1.695, 2.335, 3.141, 4.127, 5.302",\
                 "0.3184, 0.3737, 0.5289, 0.7762, 1.137, 1.631, 2.275, 3.082, 4.066, 5.241",\
                 "0.1889, 0.247, 0.4081, 0.6625, 1.029, 1.532, 2.184, 2.995, 3.98, 5.154");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1726, 0.2158, 0.3324, 0.5222, 0.8075, 1.224, 1.792, 2.531, 3.44, 4.524",\
                 "0.1729, 0.2157, 0.3322, 0.5224, 0.8086, 1.223, 1.792, 2.529, 3.44, 4.527",\
                 "0.1731, 0.2155, 0.3325, 0.522, 0.8074, 1.223, 1.792, 2.531, 3.438, 4.527",\
                 "0.174, 0.2168, 0.3336, 0.5228, 0.8086, 1.223, 1.792, 2.531, 3.44, 4.528",\
                 "0.1862, 0.2296, 0.3454, 0.5316, 0.8128, 1.225, 1.795, 2.531, 3.441, 4.528",\
                 "0.2012, 0.246, 0.3636, 0.55, 0.8268, 1.234, 1.799, 2.532, 3.44, 4.528",\
                 "0.2246, 0.2712, 0.3916, 0.5766, 0.8492, 1.249, 1.805, 2.536, 3.441, 4.527",\
                 "0.2514, 0.3016, 0.428, 0.6146, 0.8852, 1.273, 1.819, 2.54, 3.44, 4.527",\
                 "0.2798, 0.3332, 0.4658, 0.6602, 0.9358, 1.318, 1.85, 2.558, 3.448, 4.525",\
                 "0.3114, 0.3676, 0.5066, 0.709, 0.9916, 1.38, 1.908, 2.597, 3.471, 4.537");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1407, 0.198, 0.3887, 0.7644, 1.371, 2.232, 3.363, 4.789, 6.532, 8.598",\
                 "0.1409, 0.1988, 0.3892, 0.7656, 1.372, 2.232, 3.363, 4.789, 6.527, 8.606",\
                 "0.1408, 0.1979, 0.3891, 0.765, 1.375, 2.231, 3.362, 4.786, 6.53, 8.598",\
                 "0.1449, 0.2027, 0.3917, 0.7656, 1.372, 2.231, 3.362, 4.789, 6.525, 8.603",\
                 "0.1542, 0.2126, 0.4008, 0.7708, 1.373, 2.231, 3.366, 4.791, 6.525, 8.602",\
                 "0.168, 0.226, 0.415, 0.7788, 1.377, 2.235, 3.362, 4.785, 6.526, 8.602",\
                 "0.185, 0.2424, 0.4348, 0.795, 1.385, 2.235, 3.363, 4.795, 6.526, 8.6",\
                 "0.2044, 0.263, 0.456, 0.8196, 1.408, 2.25, 3.367, 4.787, 6.536, 8.598",\
                 "0.2272, 0.2856, 0.4796, 0.845, 1.437, 2.278, 3.387, 4.792, 6.525, 8.607",\
                 "0.2494, 0.3106, 0.5046, 0.8718, 1.468, 2.318, 3.424, 4.82, 6.535, 8.598");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.5462, 0.5912, 0.7106, 0.8819, 1.102, 1.384, 1.741, 2.186, 2.73, 3.376",\
                 "0.5596, 0.6048, 0.7239, 0.8952, 1.115, 1.397, 1.754, 2.2, 2.743, 3.39",\
                 "0.5987, 0.644, 0.763, 0.9343, 1.155, 1.436, 1.794, 2.239, 2.782, 3.429",\
                 "0.6837, 0.7286, 0.8476, 1.019, 1.239, 1.52, 1.877, 2.323, 2.866, 3.513",\
                 "0.8236, 0.8702, 0.9927, 1.166, 1.388, 1.67, 2.027, 2.472, 3.015, 3.662",\
                 "1.016, 1.065, 1.192, 1.37, 1.596, 1.88, 2.238, 2.683, 3.226, 3.873",\
                 "1.257, 1.308, 1.442, 1.627, 1.858, 2.145, 2.505, 2.95, 3.493, 4.14",\
                 "1.539, 1.594, 1.736, 1.931, 2.172, 2.465, 2.826, 3.273, 3.816, 4.462",\
                 "1.861, 1.92, 2.07, 2.277, 2.531, 2.835, 3.204, 3.653, 4.196, 4.842",\
                 "2.226, 2.288, 2.447, 2.666, 2.933, 3.251, 3.632, 4.089, 4.635, 5.282");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.3757, 0.4193, 0.5508, 0.7788, 1.127, 1.616, 2.258, 3.067, 4.054, 5.231",\
                 "0.3834, 0.4271, 0.5584, 0.7864, 1.135, 1.623, 2.266, 3.074, 4.061, 5.239",\
                 "0.4065, 0.4498, 0.5811, 0.809, 1.157, 1.646, 2.287, 3.097, 4.083, 5.259",\
                 "0.4467, 0.4907, 0.6223, 0.8497, 1.198, 1.686, 2.328, 3.137, 4.124, 5.301",\
                 "0.4782, 0.5235, 0.6572, 0.8854, 1.233, 1.721, 2.362, 3.17, 4.156, 5.334",\
                 "0.4875, 0.5346, 0.6725, 0.9024, 1.249, 1.736, 2.377, 3.185, 4.171, 5.348",\
                 "0.4667, 0.5161, 0.659, 0.8937, 1.242, 1.728, 2.368, 3.175, 4.162, 5.336",\
                 "0.4115, 0.4637, 0.6125, 0.8536, 1.207, 1.696, 2.335, 3.142, 4.127, 5.302",\
                 "0.3199, 0.3754, 0.5298, 0.7777, 1.137, 1.632, 2.277, 3.082, 4.067, 5.241",\
                 "0.1897, 0.2485, 0.4089, 0.6637, 1.029, 1.532, 2.185, 2.996, 3.98, 5.154");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1727, 0.2159, 0.3322, 0.5223, 0.8079, 1.223, 1.792, 2.531, 3.44, 4.527",\
                 "0.1727, 0.2153, 0.332, 0.5223, 0.8074, 1.224, 1.794, 2.531, 3.44, 4.524",\
                 "0.1733, 0.2154, 0.3328, 0.5222, 0.809, 1.223, 1.793, 2.531, 3.439, 4.527",\
                 "0.1738, 0.2168, 0.3336, 0.524, 0.8094, 1.225, 1.794, 2.53, 3.44, 4.527",\
                 "0.1864, 0.2294, 0.3452, 0.5314, 0.8128, 1.226, 1.795, 2.531, 3.436, 4.525",\
                 "0.2026, 0.2458, 0.3634, 0.5502, 0.8272, 1.234, 1.797, 2.532, 3.44, 4.527",\
                 "0.225, 0.2714, 0.3908, 0.5762, 0.848, 1.248, 1.805, 2.535, 3.441, 4.528",\
                 "0.2514, 0.3008, 0.4262, 0.6156, 0.8846, 1.273, 1.819, 2.54, 3.441, 4.525",\
                 "0.2802, 0.333, 0.465, 0.66, 0.9352, 1.318, 1.85, 2.556, 3.448, 4.525",\
                 "0.3108, 0.3674, 0.5072, 0.7084, 0.9916, 1.38, 1.907, 2.596, 3.469, 4.537");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1402, 0.1987, 0.3885, 0.7645, 1.372, 2.231, 3.363, 4.788, 6.528, 8.605",\
                 "0.1403, 0.1975, 0.3884, 0.7644, 1.374, 2.232, 3.362, 4.788, 6.528, 8.605",\
                 "0.1401, 0.1974, 0.3885, 0.7647, 1.372, 2.23, 3.362, 4.789, 6.528, 8.605",\
                 "0.1446, 0.2022, 0.3913, 0.7656, 1.374, 2.231, 3.363, 4.787, 6.526, 8.605",\
                 "0.1546, 0.2124, 0.4008, 0.77, 1.376, 2.231, 3.361, 4.788, 6.523, 8.601",\
                 "0.1682, 0.226, 0.4146, 0.7778, 1.377, 2.234, 3.362, 4.783, 6.526, 8.599",\
                 "0.1846, 0.2418, 0.434, 0.7946, 1.387, 2.235, 3.363, 4.786, 6.523, 8.6",\
                 "0.2046, 0.2634, 0.4564, 0.8168, 1.406, 2.247, 3.368, 4.786, 6.537, 8.598",\
                 "0.227, 0.284, 0.4794, 0.845, 1.435, 2.278, 3.384, 4.795, 6.526, 8.602",\
                 "0.251, 0.3086, 0.505, 0.8712, 1.468, 2.316, 3.42, 4.818, 6.534, 8.597");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.5462, 0.5912, 0.7106, 0.8819, 1.102, 1.384, 1.741, 2.186, 2.73, 3.376",\
                 "0.5596, 0.6048, 0.7239, 0.8952, 1.115, 1.397, 1.754, 2.2, 2.743, 3.39",\
                 "0.5987, 0.644, 0.763, 0.9343, 1.155, 1.436, 1.794, 2.239, 2.782, 3.429",\
                 "0.6838, 0.7286, 0.8476, 1.019, 1.239, 1.52, 1.878, 2.323, 2.866, 3.513",\
                 "0.8236, 0.8703, 0.9928, 1.166, 1.388, 1.67, 2.027, 2.472, 3.015, 3.662",\
                 "1.016, 1.065, 1.192, 1.37, 1.596, 1.88, 2.238, 2.683, 3.226, 3.873",\
                 "1.257, 1.309, 1.442, 1.627, 1.858, 2.145, 2.505, 2.95, 3.493, 4.14",\
                 "1.539, 1.594, 1.736, 1.931, 2.172, 2.465, 2.827, 3.273, 3.816, 4.462",\
                 "1.862, 1.92, 2.07, 2.277, 2.531, 2.836, 3.204, 3.653, 4.196, 4.843",\
                 "2.226, 2.288, 2.447, 2.665, 2.933, 3.251, 3.632, 4.09, 4.635, 5.282");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.3757, 0.4193, 0.5508, 0.7788, 1.127, 1.616, 2.258, 3.067, 4.054, 5.231",\
                 "0.3836, 0.4269, 0.5584, 0.7864, 1.135, 1.623, 2.266, 3.074, 4.061, 5.239",\
                 "0.4065, 0.4498, 0.5811, 0.809, 1.157, 1.646, 2.287, 3.097, 4.083, 5.259",\
                 "0.4467, 0.4907, 0.6223, 0.8497, 1.198, 1.686, 2.328, 3.137, 4.124, 5.301",\
                 "0.4782, 0.5235, 0.6573, 0.8854, 1.233, 1.72, 2.362, 3.17, 4.158, 5.335",\
                 "0.4875, 0.5346, 0.6725, 0.9025, 1.249, 1.736, 2.377, 3.185, 4.172, 5.347",\
                 "0.4669, 0.5162, 0.659, 0.8937, 1.242, 1.728, 2.368, 3.175, 4.162, 5.336",\
                 "0.4115, 0.4637, 0.6125, 0.8537, 1.207, 1.696, 2.335, 3.142, 4.127, 5.302",\
                 "0.3202, 0.3751, 0.5298, 0.7779, 1.137, 1.633, 2.276, 3.083, 4.067, 5.241",\
                 "0.1896, 0.2484, 0.4089, 0.6637, 1.029, 1.532, 2.185, 2.996, 3.98, 5.154");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1727, 0.2159, 0.3322, 0.5223, 0.8079, 1.223, 1.792, 2.531, 3.44, 4.527",\
                 "0.1727, 0.2153, 0.3322, 0.5223, 0.8072, 1.224, 1.794, 2.531, 3.44, 4.524",\
                 "0.1733, 0.2154, 0.3328, 0.5222, 0.809, 1.223, 1.793, 2.531, 3.439, 4.527",\
                 "0.174, 0.2166, 0.3336, 0.5226, 0.8084, 1.225, 1.792, 2.531, 3.441, 4.528",\
                 "0.1864, 0.2298, 0.3452, 0.5316, 0.8132, 1.227, 1.792, 2.53, 3.439, 4.524",\
                 "0.2026, 0.2458, 0.3638, 0.5502, 0.8266, 1.233, 1.798, 2.532, 3.439, 4.528",\
                 "0.225, 0.271, 0.3902, 0.5762, 0.8484, 1.25, 1.805, 2.535, 3.442, 4.528",\
                 "0.2512, 0.3008, 0.4262, 0.6156, 0.8842, 1.272, 1.82, 2.54, 3.44, 4.527",\
                 "0.2804, 0.3328, 0.4662, 0.6614, 0.9356, 1.318, 1.851, 2.559, 3.447, 4.525",\
                 "0.3108, 0.3676, 0.507, 0.7088, 0.9906, 1.379, 1.907, 2.597, 3.472, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1402, 0.1975, 0.3885, 0.7645, 1.372, 2.231, 3.363, 4.788, 6.528, 8.605",\
                 "0.1399, 0.1987, 0.3885, 0.7647, 1.372, 2.231, 3.362, 4.788, 6.528, 8.605",\
                 "0.1401, 0.1974, 0.3885, 0.7647, 1.372, 2.23, 3.362, 4.789, 6.528, 8.605",\
                 "0.1446, 0.2023, 0.3913, 0.7654, 1.373, 2.231, 3.363, 4.787, 6.526, 8.605",\
                 "0.1546, 0.2124, 0.4008, 0.77, 1.376, 2.233, 3.361, 4.788, 6.528, 8.6",\
                 "0.1682, 0.226, 0.4142, 0.7776, 1.377, 2.235, 3.364, 4.785, 6.525, 8.602",\
                 "0.184, 0.2424, 0.434, 0.7946, 1.387, 2.235, 3.363, 4.786, 6.524, 8.6",\
                 "0.2046, 0.2634, 0.4556, 0.8182, 1.406, 2.247, 3.367, 4.786, 6.534, 8.598",\
                 "0.227, 0.2852, 0.4788, 0.8446, 1.437, 2.276, 3.384, 4.794, 6.526, 8.598",\
                 "0.2504, 0.3092, 0.505, 0.8722, 1.468, 2.315, 3.422, 4.821, 6.532, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.5462, 0.5912, 0.7106, 0.8819, 1.102, 1.384, 1.741, 2.186, 2.73, 3.376",\
                 "0.5596, 0.6048, 0.7239, 0.8952, 1.115, 1.397, 1.754, 2.2, 2.743, 3.39",\
                 "0.5987, 0.644, 0.763, 0.9343, 1.155, 1.436, 1.794, 2.239, 2.782, 3.429",\
                 "0.6838, 0.7286, 0.8476, 1.019, 1.239, 1.52, 1.878, 2.323, 2.866, 3.513",\
                 "0.8236, 0.8703, 0.9928, 1.166, 1.388, 1.67, 2.027, 2.472, 3.015, 3.662",\
                 "1.016, 1.065, 1.192, 1.37, 1.596, 1.88, 2.238, 2.683, 3.226, 3.873",\
                 "1.257, 1.309, 1.442, 1.627, 1.858, 2.145, 2.505, 2.95, 3.493, 4.14",\
                 "1.539, 1.594, 1.736, 1.931, 2.172, 2.465, 2.827, 3.273, 3.816, 4.462",\
                 "1.862, 1.92, 2.07, 2.277, 2.531, 2.836, 3.204, 3.653, 4.196, 4.843",\
                 "2.226, 2.288, 2.447, 2.665, 2.933, 3.251, 3.632, 4.09, 4.635, 5.282");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.3757, 0.4193, 0.5508, 0.7788, 1.127, 1.616, 2.258, 3.067, 4.054, 5.231",\
                 "0.3834, 0.4271, 0.5584, 0.7864, 1.135, 1.623, 2.266, 3.074, 4.061, 5.239",\
                 "0.4065, 0.4498, 0.5811, 0.809, 1.157, 1.646, 2.287, 3.097, 4.083, 5.259",\
                 "0.4467, 0.4907, 0.6223, 0.8497, 1.198, 1.686, 2.328, 3.137, 4.124, 5.301",\
                 "0.4782, 0.5235, 0.6572, 0.8854, 1.233, 1.721, 2.362, 3.17, 4.156, 5.334",\
                 "0.4875, 0.5346, 0.6725, 0.9024, 1.249, 1.736, 2.377, 3.185, 4.171, 5.348",\
                 "0.4667, 0.5161, 0.659, 0.8937, 1.242, 1.728, 2.368, 3.175, 4.162, 5.336",\
                 "0.4115, 0.4637, 0.6125, 0.8536, 1.207, 1.696, 2.335, 3.142, 4.127, 5.302",\
                 "0.3199, 0.3754, 0.5298, 0.7777, 1.137, 1.632, 2.277, 3.082, 4.067, 5.241",\
                 "0.1897, 0.2485, 0.4089, 0.6637, 1.029, 1.532, 2.185, 2.996, 3.98, 5.154");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1727, 0.2159, 0.3322, 0.5223, 0.8079, 1.223, 1.792, 2.531, 3.44, 4.527",\
                 "0.1727, 0.2153, 0.332, 0.5223, 0.8074, 1.224, 1.794, 2.531, 3.44, 4.524",\
                 "0.1733, 0.2154, 0.3328, 0.5222, 0.809, 1.223, 1.793, 2.531, 3.439, 4.527",\
                 "0.1738, 0.2168, 0.3336, 0.524, 0.8094, 1.225, 1.794, 2.53, 3.44, 4.527",\
                 "0.1864, 0.2294, 0.3452, 0.5314, 0.8128, 1.226, 1.795, 2.531, 3.436, 4.525",\
                 "0.2026, 0.2458, 0.3634, 0.5502, 0.8272, 1.234, 1.797, 2.532, 3.44, 4.527",\
                 "0.225, 0.2714, 0.3908, 0.5762, 0.848, 1.248, 1.805, 2.535, 3.441, 4.528",\
                 "0.2514, 0.3008, 0.4262, 0.6156, 0.8846, 1.273, 1.819, 2.54, 3.441, 4.525",\
                 "0.2802, 0.333, 0.465, 0.66, 0.9352, 1.318, 1.85, 2.556, 3.448, 4.525",\
                 "0.3108, 0.3674, 0.5072, 0.7084, 0.9916, 1.38, 1.907, 2.596, 3.469, 4.537");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1402, 0.1975, 0.3885, 0.7645, 1.372, 2.231, 3.363, 4.788, 6.528, 8.605",\
                 "0.1399, 0.1987, 0.3885, 0.7647, 1.372, 2.231, 3.362, 4.788, 6.528, 8.605",\
                 "0.1401, 0.1974, 0.3885, 0.7647, 1.372, 2.23, 3.362, 4.789, 6.528, 8.605",\
                 "0.1446, 0.2023, 0.3913, 0.7654, 1.373, 2.231, 3.363, 4.787, 6.526, 8.605",\
                 "0.1546, 0.2124, 0.4008, 0.77, 1.376, 2.233, 3.361, 4.788, 6.528, 8.6",\
                 "0.1682, 0.226, 0.4142, 0.7776, 1.377, 2.235, 3.364, 4.785, 6.525, 8.602",\
                 "0.184, 0.2424, 0.434, 0.7946, 1.387, 2.235, 3.363, 4.786, 6.524, 8.6",\
                 "0.2046, 0.2634, 0.4556, 0.8182, 1.406, 2.247, 3.367, 4.786, 6.534, 8.598",\
                 "0.227, 0.2852, 0.4788, 0.8446, 1.437, 2.276, 3.384, 4.794, 6.526, 8.598",\
                 "0.2504, 0.3092, 0.505, 0.8722, 1.468, 2.315, 3.422, 4.821, 6.532, 8.6");
        }
      }

      timing() {
        related_pin : "S" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.6069, 0.6521, 0.7713, 0.9426, 1.163, 1.444, 1.802, 2.247, 2.79, 3.437",\
                 "0.6207, 0.6658, 0.7852, 0.9562, 1.177, 1.458, 1.815, 2.261, 2.804, 3.451",\
                 "0.659, 0.7044, 0.8235, 0.9947, 1.215, 1.497, 1.854, 2.299, 2.843, 3.489",\
                 "0.6899, 0.7352, 0.8543, 1.026, 1.246, 1.527, 1.885, 2.33, 2.873, 3.521",\
                 "0.7111, 0.7548, 0.8707, 1.04, 1.26, 1.542, 1.899, 2.345, 2.888, 3.535",\
                 "0.7032, 0.7466, 0.8618, 1.031, 1.25, 1.532, 1.889, 2.335, 2.878, 3.526",\
                 "0.6669, 0.7104, 0.8263, 0.9954, 1.215, 1.496, 1.854, 2.3, 2.843, 3.49",\
                 "0.6005, 0.6435, 0.7595, 0.9295, 1.15, 1.431, 1.79, 2.235, 2.779, 3.426",\
                 "0.5004, 0.5441, 0.6611, 0.8303, 1.052, 1.336, 1.698, 2.148, 2.691, 3.339",\
                 "0.3659, 0.409, 0.5259, 0.6961, 0.9182, 1.206, 1.573, 2.024, 2.567, 3.214");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.5465, 0.5901, 0.7216, 0.9493, 1.298, 1.786, 2.429, 3.237, 4.224, 5.402",\
                 "0.5625, 0.6063, 0.7374, 0.9654, 1.314, 1.802, 2.445, 3.253, 4.24, 5.414",\
                 "0.6317, 0.6751, 0.8065, 1.034, 1.383, 1.871, 2.514, 3.322, 4.31, 5.486",\
                 "0.7555, 0.7988, 0.9299, 1.158, 1.506, 1.994, 2.637, 3.445, 4.432, 5.61",\
                 "0.9132, 0.9561, 1.088, 1.316, 1.664, 2.152, 2.795, 3.602, 4.589, 5.768",\
                 "1.106, 1.149, 1.281, 1.508, 1.857, 2.345, 2.987, 3.795, 4.782, 5.958",\
                 "1.334, 1.377, 1.509, 1.737, 2.085, 2.573, 3.215, 4.023, 5.01, 6.187",\
                 "1.595, 1.639, 1.771, 2, 2.349, 2.837, 3.479, 4.287, 5.274, 6.45",\
                 "1.894, 1.938, 2.07, 2.3, 2.652, 3.14, 3.782, 4.591, 5.577, 6.752",\
                 "2.229, 2.273, 2.406, 2.637, 2.989, 3.477, 4.118, 4.927, 5.913, 7.089");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1738, 0.2157, 0.3323, 0.5228, 0.8077, 1.224, 1.793, 2.531, 3.44, 4.528",\
                 "0.173, 0.2156, 0.3322, 0.522, 0.8084, 1.223, 1.793, 2.528, 3.441, 4.528",\
                 "0.1734, 0.2156, 0.3324, 0.5222, 0.809, 1.223, 1.792, 2.531, 3.44, 4.525",\
                 "0.172, 0.2146, 0.3316, 0.5226, 0.8068, 1.224, 1.793, 2.531, 3.44, 4.528",\
                 "0.1672, 0.208, 0.3248, 0.5174, 0.8062, 1.224, 1.794, 2.531, 3.438, 4.527",\
                 "0.165, 0.206, 0.3244, 0.517, 0.8048, 1.221, 1.793, 2.531, 3.441, 4.526",\
                 "0.166, 0.2068, 0.3244, 0.5178, 0.8044, 1.222, 1.792, 2.528, 3.436, 4.524",\
                 "0.167, 0.2078, 0.3262, 0.519, 0.8058, 1.224, 1.794, 2.53, 3.435, 4.52",\
                 "0.1684, 0.2098, 0.3274, 0.5206, 0.8124, 1.236, 1.809, 2.539, 3.44, 4.521",\
                 "0.1696, 0.2116, 0.3292, 0.5226, 0.8176, 1.25, 1.824, 2.545, 3.44, 4.517");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1411, 0.1995, 0.3894, 0.7651, 1.372, 2.231, 3.362, 4.788, 6.528, 8.605",\
                 "0.1414, 0.1994, 0.389, 0.765, 1.371, 2.231, 3.363, 4.788, 6.528, 8.598",\
                 "0.141, 0.1985, 0.3895, 0.7654, 1.374, 2.231, 3.362, 4.788, 6.526, 8.605",\
                 "0.1414, 0.1986, 0.3896, 0.7654, 1.372, 2.231, 3.362, 4.788, 6.532, 8.599",\
                 "0.1406, 0.1996, 0.3896, 0.7656, 1.372, 2.232, 3.362, 4.785, 6.526, 8.598",\
                 "0.141, 0.1994, 0.3898, 0.7652, 1.373, 2.231, 3.366, 4.786, 6.528, 8.601",\
                 "0.1432, 0.2008, 0.392, 0.7662, 1.372, 2.231, 3.366, 4.786, 6.526, 8.599",\
                 "0.1448, 0.203, 0.3928, 0.769, 1.375, 2.231, 3.36, 4.787, 6.523, 8.595",\
                 "0.1472, 0.2054, 0.3962, 0.7756, 1.382, 2.235, 3.362, 4.784, 6.529, 8.607",\
                 "0.1504, 0.2078, 0.3984, 0.7806, 1.38, 2.233, 3.36, 4.784, 6.521, 8.598");
        }
      }

      timing() {
        related_pin : "S" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.4621, 0.5073, 0.6262, 0.797, 1.017, 1.299, 1.656, 2.102, 2.644, 3.292",\
                 "0.4729, 0.5177, 0.6368, 0.8076, 1.028, 1.309, 1.666, 2.112, 2.655, 3.302",\
                 "0.5264, 0.5714, 0.6899, 0.8607, 1.081, 1.362, 1.719, 2.165, 2.708, 3.355",\
                 "0.6523, 0.6969, 0.8152, 0.9856, 1.206, 1.487, 1.844, 2.29, 2.833, 3.48",\
                 "0.8381, 0.8848, 1.006, 1.179, 1.401, 1.682, 2.039, 2.485, 3.028, 3.675",\
                 "1.068, 1.117, 1.244, 1.422, 1.648, 1.932, 2.29, 2.735, 3.278, 3.924",\
                 "1.345, 1.398, 1.532, 1.716, 1.946, 2.232, 2.591, 3.037, 3.58, 4.226",\
                 "1.667, 1.724, 1.868, 2.062, 2.298, 2.587, 2.948, 3.394, 3.937, 4.584",\
                 "2.032, 2.094, 2.249, 2.454, 2.701, 2.999, 3.363, 3.811, 4.353, 5.001",\
                 "2.445, 2.51, 2.675, 2.894, 3.153, 3.462, 3.835, 4.287, 4.832, 5.478");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.3291, 0.3726, 0.5043, 0.7327, 1.082, 1.569, 2.212, 3.021, 4.008, 5.182",\
                 "0.3411, 0.3847, 0.5164, 0.7447, 1.094, 1.581, 2.224, 3.033, 4.02, 5.196",\
                 "0.3836, 0.4271, 0.5584, 0.7863, 1.135, 1.623, 2.266, 3.074, 4.062, 5.239",\
                 "0.4475, 0.4913, 0.6228, 0.8499, 1.198, 1.685, 2.328, 3.137, 4.124, 5.301",\
                 "0.492, 0.5371, 0.6703, 0.8981, 1.245, 1.732, 2.375, 3.182, 4.169, 5.346",\
                 "0.5108, 0.5578, 0.6947, 0.9226, 1.268, 1.755, 2.395, 3.203, 4.192, 5.365",\
                 "0.4963, 0.5462, 0.6883, 0.9198, 1.266, 1.75, 2.391, 3.197, 4.184, 5.362",\
                 "0.4437, 0.4971, 0.6455, 0.8825, 1.232, 1.718, 2.356, 3.163, 4.148, 5.322",\
                 "0.3507, 0.4077, 0.5628, 0.8063, 1.16, 1.651, 2.292, 3.097, 4.082, 5.257",\
                 "0.2152, 0.2757, 0.4379, 0.6882, 1.047, 1.543, 2.191, 3, 3.984, 5.158");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1695, 0.2114, 0.3296, 0.5202, 0.8071, 1.223, 1.792, 2.528, 3.437, 4.525",\
                 "0.1687, 0.212, 0.3292, 0.5201, 0.8072, 1.222, 1.792, 2.529, 3.437, 4.524",\
                 "0.1684, 0.2109, 0.329, 0.5195, 0.8068, 1.223, 1.794, 2.528, 3.44, 4.528",\
                 "0.1688, 0.2118, 0.3302, 0.5206, 0.807, 1.224, 1.794, 2.529, 3.439, 4.524",\
                 "0.1876, 0.2296, 0.345, 0.5314, 0.813, 1.224, 1.795, 2.53, 3.437, 4.525",\
                 "0.2092, 0.252, 0.3664, 0.5512, 0.8286, 1.235, 1.798, 2.533, 3.44, 4.525",\
                 "0.2366, 0.282, 0.3958, 0.5756, 0.8486, 1.249, 1.807, 2.535, 3.438, 4.528",\
                 "0.2696, 0.319, 0.4364, 0.6128, 0.8756, 1.266, 1.817, 2.542, 3.444, 4.528",\
                 "0.3042, 0.3572, 0.4834, 0.6594, 0.919, 1.301, 1.838, 2.552, 3.45, 4.528",\
                 "0.3394, 0.3972, 0.5324, 0.7104, 0.9736, 1.353, 1.88, 2.579, 3.467, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02876, 0.05462, 0.0909, 0.1386, 0.1988, 0.2722, 0.3597");
          values("0.1401, 0.197, 0.388, 0.7641, 1.375, 2.232, 3.363, 4.786, 6.529, 8.6",\
                 "0.1401, 0.1972, 0.3883, 0.7647, 1.375, 2.232, 3.361, 4.788, 6.53, 8.605",\
                 "0.1396, 0.1972, 0.3884, 0.7649, 1.372, 2.231, 3.361, 4.788, 6.528, 8.605",\
                 "0.1466, 0.2038, 0.3925, 0.7654, 1.371, 2.231, 3.362, 4.788, 6.527, 8.606",\
                 "0.1582, 0.215, 0.4024, 0.7716, 1.374, 2.23, 3.361, 4.788, 6.534, 8.605",\
                 "0.1748, 0.2308, 0.415, 0.7772, 1.378, 2.233, 3.362, 4.785, 6.527, 8.601",\
                 "0.1958, 0.2518, 0.4362, 0.7916, 1.384, 2.236, 3.365, 4.792, 6.524, 8.599",\
                 "0.221, 0.2748, 0.4596, 0.8134, 1.401, 2.245, 3.367, 4.789, 6.538, 8.597",\
                 "0.2456, 0.301, 0.4868, 0.8376, 1.425, 2.27, 3.384, 4.793, 6.528, 8.619",\
                 "0.2724, 0.3302, 0.516, 0.8646, 1.452, 2.304, 3.413, 4.816, 6.535, 8.602");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__mux2_2) {
    area : 32.928000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!S" ;
      value : "9.42414e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&S" ;
      value : "9.46968e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!S" ;
      value : "9.43239e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&S" ;
      value : "9.29016e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!S" ;
      value : "9.24462e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&S" ;
      value : "9.47793e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!S" ;
      value : "9.24462e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&S" ;
      value : "9.29016e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "9.47793e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I0) {
      capacitance : 0.004608 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I1&S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01798, 0.01667, 0.01627, 0.01628, 0.01627, 0.01631, 0.01632, \
                 0.01631, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01555, -0.01554, -0.01561, -0.01576, -0.01586, -0.01595, -0.01599, \
                 -0.01601, -0.01603, -0.01604");
        }
      }

      internal_power() {
        when : "I1&S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.0163, 0.01626, 0.01627, 0.01628, 0.01631, 0.01632, 0.01631, \
                 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01331, -0.01453, -0.01557, -0.01576, -0.01585, -0.01595, -0.01599, \
                 -0.01601, -0.01603, -0.01605");
        }
      }
    }

    pin(I1) {
      capacitance : 0.004617 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01799, 0.01676, 0.01634, 0.01631, 0.01628, 0.01633, 0.01631, \
                 0.01631, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01581, -0.01575, -0.01592, -0.016, -0.01605, -0.01612, -0.01612, \
                 -0.01615, -0.01616, -0.01617");
        }
      }

      internal_power() {
        when : "I0&!S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01632, 0.0163, 0.0163, 0.01631, 0.01628, 0.01633, 0.01632, 0.01631, \
                 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01405, -0.01512, -0.01589, -0.016, -0.01605, -0.01612, -0.01613, \
                 -0.01616, -0.01615, -0.01616");
        }
      }
    }

    pin(S) {
      capacitance : 0.009907 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08743, 0.08598, 0.08839, 0.09809, 0.1161, 0.1433, 0.1805, 0.2283, \
                 0.2875, 0.3588");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006122, 0.005365, 0.006748, 0.01444, 0.03, 0.05393, 0.08702, \
                 0.1297, 0.1824, 0.2458");
        }
      }

      internal_power() {
        when : "I0&I1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08405, 0.08269, 0.08539, 0.09535, 0.1136, 0.141, 0.1784, 0.2263, \
                 0.2857, 0.3569");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009088, 0.008386, 0.00972, 0.01717, 0.03243, 0.05614, 0.08902, \
                 0.1315, 0.1842, 0.2475");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "((I0&(!S))|(I1&S))" ;
      max_capacitance : 0.7209 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&!S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.177, 0.1713, 0.1631, 0.1592, 0.1569, 0.1556, 0.1548, 0.1543, 0.154, 0.1538",\
                 "0.1761, 0.1703, 0.1622, 0.1583, 0.156, 0.1547, 0.1539, 0.1534, 0.1531, 0.1528",\
                 "0.1754, 0.1695, 0.1616, 0.1574, 0.1552, 0.154, 0.1532, 0.1527, 0.1523, 0.1521",\
                 "0.1813, 0.1753, 0.1665, 0.162, 0.1595, 0.158, 0.1572, 0.1567, 0.1563, 0.156",\
                 "0.1988, 0.1921, 0.1818, 0.1758, 0.1725, 0.1708, 0.1696, 0.1689, 0.1685, 0.1681",\
                 "0.2274, 0.22, 0.2078, 0.2001, 0.1956, 0.1932, 0.1916, 0.1907, 0.1901, 0.1896",\
                 "0.2689, 0.2605, 0.2457, 0.2358, 0.2298, 0.2263, 0.2241, 0.2227, 0.2217, 0.2211",\
                 "0.3224, 0.3131, 0.2957, 0.2831, 0.2751, 0.2702, 0.267, 0.265, 0.2637, 0.2627",\
                 "0.3878, 0.3777, 0.3573, 0.3419, 0.3314, 0.3251, 0.3208, 0.3181, 0.3162, 0.3148",\
                 "0.465, 0.4545, 0.4313, 0.4125, 0.3999, 0.3915, 0.3859, 0.3823, 0.3796, 0.3778");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.09895, 0.09691, 0.09512, 0.09514, 0.09603, 0.09739, 0.09872, 0.1007, 0.1026, 0.108",\
                 "0.09798, 0.09598, 0.09416, 0.09425, 0.09504, 0.0964, 0.09767, 0.09874, 0.1009, 0.107",\
                 "0.09776, 0.09574, 0.0936, 0.09359, 0.09424, 0.09564, 0.09694, 0.09841, 0.09992, 0.1083",\
                 "0.104, 0.1015, 0.09861, 0.09736, 0.09801, 0.09901, 0.1004, 0.1024, 0.1032, 0.111",\
                 "0.1187, 0.1155, 0.1107, 0.109, 0.1081, 0.1087, 0.1097, 0.1109, 0.1138, 0.1208",\
                 "0.1436, 0.1391, 0.1327, 0.1287, 0.1277, 0.1275, 0.1272, 0.1284, 0.13, 0.1408",\
                 "0.1792, 0.1735, 0.1648, 0.1584, 0.1548, 0.1557, 0.1555, 0.1552, 0.1574, 0.1688",\
                 "0.2253, 0.2182, 0.2076, 0.1992, 0.1941, 0.1914, 0.1924, 0.1921, 0.1931, 0.2078",\
                 "0.2822, 0.2737, 0.2613, 0.2509, 0.2425, 0.2385, 0.2369, 0.2389, 0.2401, 0.2624",\
                 "0.3506, 0.3405, 0.3261, 0.3128, 0.3039, 0.2968, 0.2929, 0.2927, 0.2971, 0.3329");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&!S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.177, 0.1713, 0.1631, 0.1592, 0.1569, 0.1556, 0.1548, 0.1543, 0.154, 0.1538",\
                 "0.1761, 0.1703, 0.1622, 0.1583, 0.156, 0.1547, 0.1539, 0.1534, 0.1531, 0.1528",\
                 "0.1754, 0.1695, 0.1616, 0.1574, 0.1552, 0.154, 0.1532, 0.1527, 0.1523, 0.1521",\
                 "0.1813, 0.1753, 0.1665, 0.162, 0.1594, 0.158, 0.1572, 0.1567, 0.1563, 0.1561",\
                 "0.1988, 0.192, 0.1818, 0.1759, 0.1726, 0.1707, 0.1697, 0.1689, 0.1684, 0.1681",\
                 "0.2275, 0.22, 0.2078, 0.2001, 0.1956, 0.1932, 0.1916, 0.1907, 0.1901, 0.1896",\
                 "0.2689, 0.2606, 0.2458, 0.2358, 0.2298, 0.2262, 0.2241, 0.2227, 0.2217, 0.2212",\
                 "0.3224, 0.3133, 0.2957, 0.283, 0.2749, 0.2701, 0.267, 0.2651, 0.2637, 0.2627",\
                 "0.3878, 0.3779, 0.3574, 0.3419, 0.3315, 0.3249, 0.3208, 0.3181, 0.3162, 0.3149",\
                 "0.4652, 0.4544, 0.4313, 0.4125, 0.3999, 0.3915, 0.3861, 0.3822, 0.3797, 0.3778");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.09895, 0.09692, 0.09522, 0.09528, 0.09603, 0.09742, 0.09879, 0.1001, 0.1022, 0.1096",\
                 "0.09798, 0.09598, 0.09416, 0.09425, 0.09504, 0.0964, 0.09767, 0.09874, 0.1009, 0.107",\
                 "0.09776, 0.09573, 0.0936, 0.09359, 0.09428, 0.09564, 0.09691, 0.09841, 0.09992, 0.1083",\
                 "0.1039, 0.1015, 0.09858, 0.09732, 0.09784, 0.09904, 0.1003, 0.1017, 0.1032, 0.111",\
                 "0.1187, 0.1154, 0.1108, 0.1091, 0.1081, 0.1086, 0.1098, 0.1109, 0.1135, 0.1208",\
                 "0.1437, 0.1392, 0.1327, 0.1287, 0.1278, 0.1275, 0.1273, 0.1284, 0.13, 0.1398",\
                 "0.1792, 0.1734, 0.1648, 0.1579, 0.155, 0.1551, 0.1548, 0.1545, 0.1564, 0.1683",\
                 "0.2253, 0.2182, 0.2076, 0.1992, 0.1936, 0.1914, 0.1922, 0.1921, 0.1931, 0.2078",\
                 "0.2822, 0.2737, 0.2614, 0.2507, 0.2431, 0.2384, 0.2372, 0.2389, 0.2411, 0.2624",\
                 "0.3505, 0.3406, 0.326, 0.3124, 0.3033, 0.2968, 0.2936, 0.2927, 0.2988, 0.3334");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1874, 0.1816, 0.1737, 0.1698, 0.1676, 0.1663, 0.1656, 0.1651, 0.1647, 0.1645",\
                 "0.1865, 0.1807, 0.1729, 0.1689, 0.1667, 0.1654, 0.1647, 0.1642, 0.1638, 0.1636",\
                 "0.1856, 0.1799, 0.172, 0.168, 0.1657, 0.1645, 0.1638, 0.1632, 0.1629, 0.1627",\
                 "0.191, 0.1849, 0.1763, 0.1718, 0.1694, 0.1679, 0.1672, 0.1666, 0.1663, 0.166",\
                 "0.2079, 0.2012, 0.1909, 0.1851, 0.182, 0.1802, 0.1791, 0.1784, 0.1779, 0.1775",\
                 "0.2362, 0.2287, 0.2166, 0.2091, 0.2046, 0.2023, 0.2008, 0.1998, 0.1992, 0.1987",\
                 "0.2775, 0.2692, 0.2544, 0.2445, 0.2386, 0.2351, 0.233, 0.2316, 0.2307, 0.2301",\
                 "0.331, 0.3219, 0.3042, 0.2915, 0.2837, 0.2788, 0.2759, 0.2739, 0.2725, 0.2716",\
                 "0.3964, 0.3864, 0.3661, 0.3503, 0.3403, 0.3336, 0.3295, 0.3268, 0.3248, 0.3234",\
                 "0.4738, 0.463, 0.44, 0.4211, 0.4085, 0.3999, 0.3945, 0.3907, 0.3882, 0.3863");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.09092, 0.08893, 0.08714, 0.0869, 0.08799, 0.08902, 0.09012, 0.09172, 0.09422, 0.1002",\
                 "0.09002, 0.08791, 0.08599, 0.08591, 0.08676, 0.08796, 0.08946, 0.0904, 0.09224, 0.09965",\
                 "0.08973, 0.08753, 0.08559, 0.08529, 0.08594, 0.08727, 0.0887, 0.09007, 0.09158, 0.09928",\
                 "0.09595, 0.09338, 0.09044, 0.08918, 0.08967, 0.09063, 0.09187, 0.09304, 0.09554, 0.1037",\
                 "0.1108, 0.1074, 0.1024, 0.1007, 0.09973, 0.1003, 0.1014, 0.1026, 0.1048, 0.1143",\
                 "0.1356, 0.131, 0.1248, 0.1203, 0.1195, 0.1188, 0.1185, 0.1201, 0.1213, 0.1322",\
                 "0.1707, 0.1652, 0.1567, 0.1503, 0.1467, 0.1466, 0.1462, 0.1462, 0.1471, 0.1604",\
                 "0.2166, 0.2095, 0.1994, 0.1904, 0.1846, 0.1821, 0.1832, 0.1837, 0.1845, 0.2006",\
                 "0.2732, 0.2647, 0.2523, 0.2416, 0.2335, 0.2293, 0.228, 0.2299, 0.2321, 0.2532",\
                 "0.3414, 0.3314, 0.3167, 0.3039, 0.2952, 0.2878, 0.2836, 0.2831, 0.2891, 0.3231");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1873, 0.1816, 0.1737, 0.1698, 0.1676, 0.1663, 0.1656, 0.1651, 0.1647, 0.1645",\
                 "0.1865, 0.1807, 0.1729, 0.1689, 0.1667, 0.1654, 0.1647, 0.1642, 0.1638, 0.1636",\
                 "0.1856, 0.1799, 0.172, 0.168, 0.1657, 0.1645, 0.1638, 0.1632, 0.1629, 0.1627",\
                 "0.1909, 0.1849, 0.1763, 0.1719, 0.1694, 0.168, 0.1672, 0.1666, 0.1663, 0.166",\
                 "0.2079, 0.2012, 0.1909, 0.1851, 0.1819, 0.1801, 0.179, 0.1783, 0.1778, 0.1775",\
                 "0.2362, 0.2287, 0.2166, 0.2091, 0.2047, 0.2023, 0.2008, 0.1998, 0.1992, 0.1987",\
                 "0.2775, 0.2691, 0.2545, 0.2445, 0.2387, 0.2351, 0.233, 0.2317, 0.2307, 0.2301",\
                 "0.331, 0.3219, 0.3044, 0.2915, 0.2838, 0.2789, 0.2758, 0.2739, 0.2725, 0.2716",\
                 "0.3965, 0.3864, 0.366, 0.3502, 0.3402, 0.3337, 0.3295, 0.3267, 0.3248, 0.3235",\
                 "0.4738, 0.4629, 0.44, 0.4211, 0.4084, 0.4, 0.3945, 0.3907, 0.3881, 0.3863");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.09093, 0.08889, 0.08708, 0.08704, 0.08782, 0.08905, 0.09025, 0.09172, 0.09356, 0.09998",\
                 "0.09002, 0.08791, 0.08599, 0.08591, 0.08676, 0.08796, 0.08946, 0.0904, 0.09224, 0.09965",\
                 "0.08974, 0.08769, 0.08546, 0.08516, 0.08601, 0.08717, 0.08837, 0.08974, 0.09257, 0.09815",\
                 "0.09595, 0.09338, 0.09044, 0.08918, 0.08967, 0.09063, 0.09227, 0.09337, 0.09488, 0.1037",\
                 "0.1108, 0.1074, 0.1024, 0.1007, 0.09977, 0.1001, 0.1016, 0.1026, 0.1041, 0.1143",\
                 "0.1355, 0.1311, 0.1246, 0.1205, 0.1196, 0.119, 0.1186, 0.1201, 0.121, 0.1312",\
                 "0.1707, 0.1651, 0.1567, 0.15, 0.1471, 0.1467, 0.1468, 0.1462, 0.1471, 0.1601",\
                 "0.2166, 0.2097, 0.1992, 0.1906, 0.1844, 0.1824, 0.1832, 0.1837, 0.1838, 0.2003",\
                 "0.2733, 0.2649, 0.2527, 0.2415, 0.2335, 0.2298, 0.2277, 0.2303, 0.2324, 0.2549",\
                 "0.3415, 0.3316, 0.317, 0.3037, 0.2946, 0.2876, 0.2839, 0.2831, 0.2894, 0.3222");
        }
      }

      internal_power() {
        related_pin : "S" ;
        when : "!I0&I1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.2255, 0.22, 0.2129, 0.2092, 0.2072, 0.206, 0.2052, 0.2048, 0.2044, 0.2042",\
                 "0.2229, 0.2174, 0.2103, 0.2067, 0.2047, 0.2035, 0.2028, 0.2023, 0.202, 0.2018",\
                 "0.2249, 0.2195, 0.2123, 0.2088, 0.207, 0.2058, 0.2051, 0.2047, 0.2044, 0.2042",\
                 "0.2432, 0.2373, 0.229, 0.2246, 0.2224, 0.2211, 0.2203, 0.2197, 0.2194, 0.2191",\
                 "0.2815, 0.2744, 0.2635, 0.2573, 0.2539, 0.2519, 0.2507, 0.25, 0.2495, 0.2491",\
                 "0.3371, 0.3289, 0.3153, 0.3068, 0.3021, 0.2991, 0.2974, 0.2963, 0.2955, 0.2951",\
                 "0.4127, 0.4035, 0.3867, 0.3756, 0.3689, 0.3647, 0.3622, 0.3605, 0.3595, 0.3587",\
                 "0.5093, 0.499, 0.4791, 0.4648, 0.4557, 0.4499, 0.4463, 0.4439, 0.4423, 0.4412",\
                 "0.6276, 0.6165, 0.5934, 0.5755, 0.5638, 0.556, 0.5511, 0.5477, 0.5454, 0.5438",\
                 "0.7685, 0.7565, 0.7304, 0.7087, 0.694, 0.6841, 0.6775, 0.673, 0.6698, 0.6676");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.0932, 0.09124, 0.08978, 0.08984, 0.09069, 0.09195, 0.09345, 0.09439, 0.09722, 0.1028",\
                 "0.09267, 0.09061, 0.08902, 0.08941, 0.0901, 0.09143, 0.09273, 0.09406, 0.09623, 0.102",\
                 "0.09532, 0.09323, 0.09117, 0.09106, 0.09188, 0.09347, 0.09428, 0.09571, 0.09854, 0.1038",\
                 "0.1121, 0.1092, 0.1057, 0.104, 0.1041, 0.105, 0.106, 0.1076, 0.1091, 0.1169",\
                 "0.144, 0.1401, 0.1342, 0.1316, 0.1301, 0.1305, 0.1311, 0.132, 0.1352, 0.1426",\
                 "0.1927, 0.1877, 0.1798, 0.1741, 0.1726, 0.1717, 0.1711, 0.1719, 0.1738, 0.1851",\
                 "0.2595, 0.2529, 0.2428, 0.235, 0.2304, 0.2296, 0.229, 0.2284, 0.2296, 0.242",\
                 "0.3448, 0.3363, 0.3244, 0.3142, 0.3072, 0.3038, 0.3041, 0.3035, 0.3036, 0.3191",\
                 "0.4492, 0.4394, 0.4245, 0.4128, 0.4032, 0.3978, 0.3948, 0.3969, 0.3971, 0.4199",\
                 "0.5741, 0.5624, 0.5454, 0.5308, 0.52, 0.5111, 0.507, 0.5062, 0.5106, 0.5446");
        }
      }

      internal_power() {
        related_pin : "S" ;
        when : "I0&!I1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1658, 0.16, 0.1521, 0.1481, 0.1459, 0.1447, 0.1439, 0.1434, 0.1432, 0.1429",\
                 "0.1651, 0.1594, 0.1515, 0.1475, 0.1453, 0.144, 0.1433, 0.1428, 0.1425, 0.1422",\
                 "0.1654, 0.1596, 0.1517, 0.1478, 0.1456, 0.1443, 0.1436, 0.1431, 0.1428, 0.1426",\
                 "0.1704, 0.165, 0.1575, 0.1538, 0.1519, 0.1508, 0.1501, 0.1496, 0.1493, 0.1491",\
                 "0.1839, 0.1785, 0.1715, 0.168, 0.1662, 0.1652, 0.1646, 0.1642, 0.1639, 0.1638",\
                 "0.2076, 0.2022, 0.1952, 0.1917, 0.19, 0.1892, 0.1886, 0.1882, 0.188, 0.1878",\
                 "0.2417, 0.2362, 0.2289, 0.2256, 0.2238, 0.2228, 0.2224, 0.2219, 0.2216, 0.2215",\
                 "0.2864, 0.2809, 0.2735, 0.2699, 0.268, 0.267, 0.2666, 0.2662, 0.266, 0.2658",\
                 "0.3432, 0.3376, 0.33, 0.326, 0.324, 0.3232, 0.3227, 0.3225, 0.3222, 0.3221",\
                 "0.4102, 0.4044, 0.3965, 0.3924, 0.3905, 0.3893, 0.3886, 0.3882, 0.388, 0.3878");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1883, 0.1862, 0.1841, 0.1838, 0.1846, 0.1862, 0.1877, 0.1888, 0.1917, 0.1976",\
                 "0.1869, 0.1848, 0.1829, 0.1827, 0.1833, 0.185, 0.186, 0.1872, 0.1893, 0.1972",\
                 "0.19, 0.1878, 0.1859, 0.1856, 0.1866, 0.1877, 0.1889, 0.1905, 0.1933, 0.1988",\
                 "0.2008, 0.1988, 0.1965, 0.1962, 0.1972, 0.1982, 0.1997, 0.2017, 0.2032, 0.2116",\
                 "0.2197, 0.2175, 0.2157, 0.2155, 0.2162, 0.2175, 0.2193, 0.2202, 0.222, 0.2321",\
                 "0.2486, 0.2463, 0.2436, 0.2438, 0.2448, 0.2457, 0.2471, 0.2482, 0.2501, 0.2622",\
                 "0.288, 0.2855, 0.2828, 0.282, 0.2834, 0.2852, 0.2863, 0.2871, 0.2895, 0.3057",\
                 "0.3387, 0.3362, 0.333, 0.3318, 0.3317, 0.3343, 0.3364, 0.3376, 0.3404, 0.3631",\
                 "0.4013, 0.3986, 0.3952, 0.394, 0.3936, 0.3945, 0.3968, 0.4, 0.4037, 0.4393",\
                 "0.4766, 0.4736, 0.4697, 0.4681, 0.4681, 0.468, 0.4694, 0.4741, 0.4819, 0.5422");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.474, 0.5228, 0.6427, 0.8091, 1.024, 1.303, 1.659, 2.106, 2.651, 3.301",\
                 "0.4865, 0.5353, 0.655, 0.8217, 1.037, 1.315, 1.672, 2.119, 2.664, 3.314",\
                 "0.5248, 0.5737, 0.693, 0.8597, 1.075, 1.353, 1.71, 2.157, 2.702, 3.351",\
                 "0.606, 0.6549, 0.7743, 0.9406, 1.156, 1.434, 1.791, 2.238, 2.783, 3.432",\
                 "0.7319, 0.783, 0.9068, 1.077, 1.293, 1.572, 1.929, 2.375, 2.92, 3.571",\
                 "0.9047, 0.9576, 1.086, 1.261, 1.481, 1.763, 2.12, 2.567, 3.111, 3.761",\
                 "1.119, 1.176, 1.31, 1.492, 1.717, 2, 2.358, 2.805, 3.35, 3.999",\
                 "1.37, 1.43, 1.573, 1.763, 1.997, 2.285, 2.645, 3.092, 3.637, 4.286",\
                 "1.657, 1.72, 1.872, 2.073, 2.318, 2.615, 2.979, 3.428, 3.973, 4.622",\
                 "1.98, 2.047, 2.208, 2.42, 2.676, 2.985, 3.36, 3.815, 4.361, 5.01");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.3215, 0.3665, 0.4977, 0.7256, 1.075, 1.566, 2.21, 3.021, 4.011, 5.194",\
                 "0.3304, 0.3755, 0.5065, 0.7343, 1.084, 1.574, 2.22, 3.031, 4.022, 5.2",\
                 "0.3554, 0.4004, 0.5312, 0.7588, 1.109, 1.599, 2.244, 3.055, 4.046, 5.228",\
                 "0.3969, 0.4429, 0.5746, 0.8018, 1.151, 1.641, 2.286, 3.096, 4.087, 5.27",\
                 "0.4312, 0.4789, 0.6132, 0.8407, 1.189, 1.679, 2.322, 3.134, 4.123, 5.306",\
                 "0.4462, 0.4961, 0.6344, 0.8636, 1.211, 1.7, 2.344, 3.155, 4.146, 5.325",\
                 "0.4352, 0.4882, 0.6313, 0.8641, 1.214, 1.702, 2.344, 3.155, 4.145, 5.324",\
                 "0.3939, 0.4503, 0.6, 0.8385, 1.192, 1.682, 2.324, 3.133, 4.123, 5.303",\
                 "0.3206, 0.3808, 0.5373, 0.7822, 1.14, 1.636, 2.281, 3.09, 4.079, 5.258",\
                 "0.2142, 0.2787, 0.4418, 0.692, 1.056, 1.559, 2.211, 3.024, 4.012, 5.191");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.136, 0.1822, 0.2982, 0.486, 0.774, 1.197, 1.775, 2.52, 3.437, 4.524",\
                 "0.1363, 0.182, 0.2982, 0.486, 0.7739, 1.197, 1.775, 2.519, 3.437, 4.53",\
                 "0.1362, 0.1818, 0.2982, 0.4861, 0.774, 1.197, 1.776, 2.522, 3.435, 4.529",\
                 "0.1383, 0.1838, 0.3004, 0.4866, 0.7742, 1.198, 1.776, 2.521, 3.435, 4.53",\
                 "0.15, 0.1974, 0.3134, 0.497, 0.7808, 1.201, 1.777, 2.522, 3.437, 4.525",\
                 "0.1628, 0.2134, 0.3298, 0.5152, 0.7932, 1.208, 1.781, 2.522, 3.437, 4.53",\
                 "0.1824, 0.2332, 0.3534, 0.5366, 0.8112, 1.218, 1.787, 2.525, 3.434, 4.53",\
                 "0.2046, 0.2592, 0.3846, 0.5704, 0.84, 1.237, 1.798, 2.528, 3.437, 4.528",\
                 "0.231, 0.2878, 0.4192, 0.6096, 0.8826, 1.274, 1.82, 2.541, 3.443, 4.528",\
                 "0.2576, 0.3188, 0.4566, 0.6518, 0.9326, 1.325, 1.864, 2.568, 3.458, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1013, 0.1606, 0.3516, 0.7329, 1.347, 2.211, 3.345, 4.772, 6.516, 8.603",\
                 "0.1011, 0.1596, 0.3517, 0.7336, 1.345, 2.208, 3.343, 4.775, 6.522, 8.601",\
                 "0.1008, 0.1604, 0.3517, 0.7345, 1.345, 2.207, 3.343, 4.774, 6.521, 8.606",\
                 "0.1064, 0.1653, 0.3551, 0.7338, 1.347, 2.21, 3.346, 4.771, 6.521, 8.601",\
                 "0.1162, 0.1744, 0.3638, 0.7372, 1.346, 2.207, 3.347, 4.777, 6.517, 8.603",\
                 "0.1306, 0.1876, 0.3762, 0.7446, 1.349, 2.209, 3.347, 4.772, 6.52, 8.597",\
                 "0.1456, 0.2032, 0.3946, 0.758, 1.355, 2.212, 3.345, 4.775, 6.516, 8.599",\
                 "0.1648, 0.2244, 0.4146, 0.7784, 1.374, 2.222, 3.346, 4.772, 6.523, 8.616",\
                 "0.1848, 0.2448, 0.4374, 0.8014, 1.399, 2.246, 3.364, 4.777, 6.518, 8.61",\
                 "0.2072, 0.268, 0.4606, 0.827, 1.427, 2.28, 3.392, 4.797, 6.529, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.474, 0.5228, 0.6427, 0.8091, 1.024, 1.303, 1.659, 2.106, 2.651, 3.301",\
                 "0.4865, 0.5353, 0.655, 0.8217, 1.037, 1.315, 1.672, 2.119, 2.664, 3.314",\
                 "0.5248, 0.5737, 0.693, 0.8597, 1.075, 1.353, 1.71, 2.157, 2.702, 3.351",\
                 "0.606, 0.6549, 0.7743, 0.9406, 1.156, 1.434, 1.791, 2.237, 2.782, 3.432",\
                 "0.732, 0.783, 0.9067, 1.077, 1.294, 1.572, 1.929, 2.376, 2.92, 3.57",\
                 "0.9047, 0.9576, 1.086, 1.261, 1.481, 1.763, 2.12, 2.567, 3.111, 3.761",\
                 "1.119, 1.176, 1.311, 1.492, 1.716, 2, 2.358, 2.805, 3.35, 3.999",\
                 "1.37, 1.43, 1.573, 1.763, 1.997, 2.285, 2.645, 3.092, 3.637, 4.286",\
                 "1.657, 1.72, 1.872, 2.073, 2.318, 2.615, 2.979, 3.428, 3.974, 4.622",\
                 "1.98, 2.047, 2.208, 2.419, 2.676, 2.985, 3.361, 3.815, 4.361, 5.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.3215, 0.3665, 0.4977, 0.7255, 1.075, 1.566, 2.211, 3.022, 4.013, 5.195",\
                 "0.3304, 0.3755, 0.5065, 0.7343, 1.084, 1.574, 2.22, 3.031, 4.022, 5.2",\
                 "0.3554, 0.4004, 0.5312, 0.7588, 1.109, 1.599, 2.244, 3.055, 4.046, 5.228",\
                 "0.3969, 0.4429, 0.5746, 0.8017, 1.151, 1.641, 2.286, 3.098, 4.087, 5.27",\
                 "0.4312, 0.4789, 0.6132, 0.8407, 1.189, 1.679, 2.323, 3.134, 4.124, 5.306",\
                 "0.4462, 0.4961, 0.6344, 0.8636, 1.211, 1.7, 2.344, 3.155, 4.146, 5.326",\
                 "0.435, 0.4882, 0.6313, 0.8645, 1.213, 1.701, 2.344, 3.154, 4.145, 5.325",\
                 "0.3939, 0.4503, 0.6, 0.8385, 1.192, 1.682, 2.324, 3.133, 4.123, 5.303",\
                 "0.3206, 0.3806, 0.5373, 0.7817, 1.14, 1.636, 2.281, 3.09, 4.079, 5.258",\
                 "0.2143, 0.2785, 0.4418, 0.6918, 1.056, 1.559, 2.211, 3.024, 4.012, 5.191");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.136, 0.1822, 0.2982, 0.486, 0.774, 1.197, 1.775, 2.52, 3.437, 4.524",\
                 "0.1362, 0.182, 0.2982, 0.486, 0.7739, 1.197, 1.775, 2.519, 3.437, 4.53",\
                 "0.1362, 0.1818, 0.2982, 0.4861, 0.774, 1.197, 1.776, 2.522, 3.435, 4.529",\
                 "0.1383, 0.1838, 0.3004, 0.4866, 0.7742, 1.198, 1.776, 2.522, 3.435, 4.53",\
                 "0.1506, 0.1976, 0.3134, 0.497, 0.7806, 1.201, 1.778, 2.521, 3.437, 4.53",\
                 "0.1628, 0.2134, 0.33, 0.5152, 0.7932, 1.208, 1.781, 2.522, 3.437, 4.53",\
                 "0.1824, 0.2352, 0.3534, 0.5366, 0.8106, 1.218, 1.787, 2.523, 3.436, 4.53",\
                 "0.205, 0.26, 0.3846, 0.5698, 0.84, 1.238, 1.797, 2.528, 3.436, 4.528",\
                 "0.231, 0.2884, 0.4192, 0.61, 0.8844, 1.274, 1.821, 2.541, 3.442, 4.527",\
                 "0.2568, 0.3192, 0.4572, 0.653, 0.9326, 1.325, 1.863, 2.568, 3.459, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1013, 0.1605, 0.3515, 0.7335, 1.347, 2.208, 3.342, 4.774, 6.52, 8.606",\
                 "0.1011, 0.1596, 0.3517, 0.7336, 1.345, 2.208, 3.343, 4.775, 6.522, 8.601",\
                 "0.1008, 0.1604, 0.3517, 0.7345, 1.345, 2.207, 3.343, 4.774, 6.521, 8.606",\
                 "0.1065, 0.1653, 0.3551, 0.7338, 1.346, 2.207, 3.343, 4.772, 6.521, 8.599",\
                 "0.1164, 0.1746, 0.3638, 0.7374, 1.346, 2.208, 3.342, 4.776, 6.515, 8.603",\
                 "0.1306, 0.1872, 0.3762, 0.7446, 1.349, 2.209, 3.343, 4.771, 6.518, 8.598",\
                 "0.1454, 0.2034, 0.3946, 0.758, 1.357, 2.21, 3.344, 4.78, 6.517, 8.599",\
                 "0.1648, 0.2244, 0.4148, 0.7798, 1.373, 2.222, 3.347, 4.772, 6.525, 8.616",\
                 "0.1854, 0.2454, 0.4372, 0.8012, 1.4, 2.244, 3.36, 4.776, 6.518, 8.61",\
                 "0.2062, 0.2684, 0.4606, 0.8254, 1.426, 2.28, 3.392, 4.801, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.474, 0.5228, 0.6427, 0.8091, 1.024, 1.303, 1.659, 2.106, 2.651, 3.301",\
                 "0.4865, 0.5353, 0.655, 0.8217, 1.037, 1.315, 1.672, 2.119, 2.664, 3.314",\
                 "0.5248, 0.5737, 0.693, 0.8597, 1.075, 1.353, 1.71, 2.157, 2.702, 3.351",\
                 "0.606, 0.6549, 0.7743, 0.9406, 1.156, 1.434, 1.791, 2.237, 2.782, 3.432",\
                 "0.732, 0.783, 0.9067, 1.077, 1.294, 1.572, 1.929, 2.376, 2.92, 3.57",\
                 "0.9047, 0.9576, 1.086, 1.261, 1.481, 1.763, 2.12, 2.567, 3.111, 3.761",\
                 "1.119, 1.176, 1.311, 1.492, 1.716, 2, 2.358, 2.805, 3.35, 3.999",\
                 "1.37, 1.43, 1.573, 1.763, 1.997, 2.285, 2.645, 3.092, 3.637, 4.286",\
                 "1.657, 1.72, 1.872, 2.073, 2.318, 2.615, 2.979, 3.428, 3.974, 4.622",\
                 "1.98, 2.047, 2.208, 2.419, 2.676, 2.985, 3.361, 3.815, 4.361, 5.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.3215, 0.3665, 0.4977, 0.7255, 1.075, 1.566, 2.211, 3.022, 4.013, 5.195",\
                 "0.3304, 0.3755, 0.5065, 0.7343, 1.084, 1.574, 2.22, 3.031, 4.022, 5.2",\
                 "0.3554, 0.4004, 0.5312, 0.7588, 1.109, 1.599, 2.244, 3.055, 4.046, 5.228",\
                 "0.3969, 0.4429, 0.5746, 0.8017, 1.151, 1.641, 2.286, 3.098, 4.087, 5.27",\
                 "0.4312, 0.4789, 0.6132, 0.8407, 1.189, 1.679, 2.323, 3.134, 4.124, 5.306",\
                 "0.4462, 0.4961, 0.6344, 0.8636, 1.211, 1.7, 2.344, 3.155, 4.146, 5.326",\
                 "0.435, 0.4882, 0.6313, 0.8645, 1.213, 1.701, 2.344, 3.154, 4.145, 5.325",\
                 "0.3939, 0.4503, 0.6, 0.8385, 1.192, 1.682, 2.324, 3.133, 4.123, 5.303",\
                 "0.3206, 0.3806, 0.5373, 0.7817, 1.14, 1.636, 2.281, 3.09, 4.079, 5.258",\
                 "0.2143, 0.2785, 0.4418, 0.6918, 1.056, 1.559, 2.211, 3.024, 4.012, 5.191");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.136, 0.1822, 0.2982, 0.486, 0.774, 1.197, 1.775, 2.52, 3.437, 4.524",\
                 "0.1363, 0.182, 0.2982, 0.486, 0.7739, 1.197, 1.775, 2.519, 3.437, 4.53",\
                 "0.1362, 0.1818, 0.2982, 0.4861, 0.774, 1.197, 1.776, 2.522, 3.435, 4.529",\
                 "0.1383, 0.1838, 0.3004, 0.4866, 0.7742, 1.198, 1.776, 2.521, 3.435, 4.53",\
                 "0.15, 0.1974, 0.3134, 0.497, 0.7808, 1.201, 1.777, 2.522, 3.437, 4.525",\
                 "0.1628, 0.2134, 0.3298, 0.5152, 0.7932, 1.208, 1.781, 2.522, 3.437, 4.53",\
                 "0.1824, 0.2332, 0.3534, 0.5366, 0.8112, 1.218, 1.787, 2.525, 3.434, 4.53",\
                 "0.2046, 0.2592, 0.3846, 0.5704, 0.84, 1.237, 1.798, 2.528, 3.437, 4.528",\
                 "0.231, 0.2878, 0.4192, 0.6096, 0.8826, 1.274, 1.82, 2.541, 3.443, 4.528",\
                 "0.2576, 0.3188, 0.4566, 0.6518, 0.9326, 1.325, 1.864, 2.568, 3.458, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1013, 0.1605, 0.3515, 0.7335, 1.347, 2.208, 3.342, 4.774, 6.52, 8.606",\
                 "0.1011, 0.1596, 0.3517, 0.7336, 1.345, 2.208, 3.343, 4.775, 6.522, 8.601",\
                 "0.1008, 0.1604, 0.3517, 0.7345, 1.345, 2.207, 3.343, 4.774, 6.521, 8.606",\
                 "0.1065, 0.1653, 0.3551, 0.7338, 1.346, 2.207, 3.343, 4.772, 6.521, 8.599",\
                 "0.1164, 0.1746, 0.3638, 0.7374, 1.346, 2.208, 3.342, 4.776, 6.515, 8.603",\
                 "0.1306, 0.1872, 0.3762, 0.7446, 1.349, 2.209, 3.343, 4.771, 6.518, 8.598",\
                 "0.1454, 0.2034, 0.3946, 0.758, 1.357, 2.21, 3.344, 4.78, 6.517, 8.599",\
                 "0.1648, 0.2244, 0.4148, 0.7798, 1.373, 2.222, 3.347, 4.772, 6.525, 8.616",\
                 "0.1854, 0.2454, 0.4372, 0.8012, 1.4, 2.244, 3.36, 4.776, 6.518, 8.61",\
                 "0.2062, 0.2684, 0.4606, 0.8254, 1.426, 2.28, 3.392, 4.801, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.4805, 0.529, 0.6482, 0.8148, 1.03, 1.309, 1.666, 2.113, 2.658, 3.307",\
                 "0.4934, 0.5421, 0.6614, 0.8279, 1.043, 1.322, 1.679, 2.126, 2.671, 3.321",\
                 "0.5328, 0.5815, 0.7005, 0.8669, 1.083, 1.361, 1.718, 2.165, 2.71, 3.36",\
                 "0.6122, 0.6608, 0.7797, 0.946, 1.162, 1.44, 1.797, 2.244, 2.789, 3.439",\
                 "0.735, 0.7857, 0.9093, 1.079, 1.297, 1.576, 1.932, 2.379, 2.924, 3.573",\
                 "0.9059, 0.9588, 1.087, 1.262, 1.483, 1.765, 2.122, 2.569, 3.114, 3.763",\
                 "1.119, 1.175, 1.31, 1.491, 1.717, 2.001, 2.36, 2.807, 3.351, 4.001",\
                 "1.37, 1.429, 1.572, 1.762, 1.997, 2.285, 2.646, 3.093, 3.638, 4.287",\
                 "1.656, 1.719, 1.87, 2.071, 2.317, 2.615, 2.98, 3.429, 3.974, 4.623",\
                 "1.978, 2.044, 2.205, 2.417, 2.675, 2.985, 3.36, 3.815, 4.361, 5.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.3204, 0.3658, 0.4968, 0.7247, 1.075, 1.565, 2.209, 3.021, 4.012, 5.192",\
                 "0.3296, 0.3747, 0.5058, 0.7336, 1.084, 1.574, 2.218, 3.031, 4.022, 5.2",\
                 "0.3562, 0.4012, 0.5322, 0.7597, 1.109, 1.6, 2.244, 3.056, 4.048, 5.225",\
                 "0.4001, 0.4462, 0.5778, 0.8049, 1.155, 1.645, 2.289, 3.101, 4.092, 5.272",\
                 "0.4367, 0.4842, 0.6182, 0.8456, 1.194, 1.684, 2.328, 3.14, 4.131, 5.311",\
                 "0.4532, 0.5033, 0.6413, 0.8701, 1.218, 1.706, 2.35, 3.161, 4.152, 5.33",\
                 "0.4433, 0.4963, 0.6396, 0.8718, 1.221, 1.709, 2.352, 3.162, 4.153, 5.331",\
                 "0.4028, 0.4593, 0.6083, 0.8463, 1.199, 1.689, 2.331, 3.141, 4.131, 5.311",\
                 "0.3305, 0.3906, 0.5461, 0.7899, 1.148, 1.644, 2.289, 3.099, 4.088, 5.266",\
                 "0.2251, 0.2887, 0.4509, 0.7012, 1.065, 1.567, 2.22, 3.032, 4.02, 5.2");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1349, 0.1808, 0.2972, 0.486, 0.7746, 1.199, 1.778, 2.519, 3.437, 4.53",\
                 "0.135, 0.181, 0.297, 0.4864, 0.775, 1.198, 1.776, 2.522, 3.437, 4.53",\
                 "0.1351, 0.1808, 0.2977, 0.4866, 0.775, 1.198, 1.776, 2.521, 3.436, 4.529",\
                 "0.1373, 0.183, 0.299, 0.4872, 0.7764, 1.197, 1.777, 2.521, 3.434, 4.53",\
                 "0.15, 0.1966, 0.3128, 0.4978, 0.7812, 1.202, 1.779, 2.521, 3.436, 4.529",\
                 "0.1624, 0.2112, 0.3292, 0.5156, 0.7948, 1.209, 1.783, 2.524, 3.437, 4.525",\
                 "0.182, 0.2326, 0.354, 0.5376, 0.8132, 1.22, 1.788, 2.526, 3.434, 4.527",\
                 "0.2046, 0.259, 0.3836, 0.5712, 0.8422, 1.239, 1.798, 2.529, 3.436, 4.527",\
                 "0.2296, 0.2874, 0.4192, 0.6116, 0.8854, 1.275, 1.822, 2.54, 3.444, 4.527",\
                 "0.2554, 0.3186, 0.457, 0.6538, 0.9366, 1.327, 1.864, 2.571, 3.457, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1016, 0.1597, 0.3519, 0.7332, 1.345, 2.212, 3.341, 4.775, 6.521, 8.603",\
                 "0.1014, 0.1599, 0.3518, 0.7335, 1.345, 2.207, 3.344, 4.774, 6.523, 8.6",\
                 "0.1014, 0.1608, 0.352, 0.7343, 1.346, 2.212, 3.343, 4.773, 6.523, 8.598",\
                 "0.1072, 0.1648, 0.3552, 0.7338, 1.346, 2.207, 3.347, 4.775, 6.521, 8.602",\
                 "0.1164, 0.1742, 0.3632, 0.7374, 1.348, 2.208, 3.343, 4.777, 6.521, 8.604",\
                 "0.1298, 0.1872, 0.3758, 0.744, 1.349, 2.209, 3.345, 4.771, 6.517, 8.599",\
                 "0.1454, 0.2038, 0.3932, 0.758, 1.356, 2.211, 3.344, 4.778, 6.52, 8.602",\
                 "0.1656, 0.2224, 0.414, 0.7774, 1.373, 2.222, 3.347, 4.773, 6.529, 8.599",\
                 "0.1844, 0.2436, 0.436, 0.7996, 1.4, 2.245, 3.363, 4.778, 6.518, 8.613",\
                 "0.2056, 0.2664, 0.4578, 0.8236, 1.426, 2.283, 3.397, 4.795, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.4805, 0.5291, 0.6482, 0.8148, 1.03, 1.309, 1.666, 2.113, 2.658, 3.307",\
                 "0.4934, 0.5421, 0.6614, 0.8279, 1.043, 1.322, 1.679, 2.126, 2.671, 3.321",\
                 "0.5328, 0.5815, 0.7005, 0.8669, 1.083, 1.361, 1.718, 2.165, 2.71, 3.36",\
                 "0.6122, 0.6608, 0.7796, 0.946, 1.162, 1.44, 1.797, 2.244, 2.789, 3.439",\
                 "0.7349, 0.7857, 0.9093, 1.079, 1.297, 1.576, 1.933, 2.38, 2.925, 3.574",\
                 "0.9059, 0.9589, 1.087, 1.262, 1.483, 1.765, 2.122, 2.569, 3.114, 3.763",\
                 "1.119, 1.175, 1.31, 1.491, 1.717, 2.001, 2.359, 2.807, 3.351, 4.001",\
                 "1.37, 1.429, 1.572, 1.762, 1.997, 2.285, 2.646, 3.093, 3.638, 4.287",\
                 "1.655, 1.719, 1.87, 2.071, 2.317, 2.615, 2.98, 3.429, 3.974, 4.623",\
                 "1.977, 2.044, 2.205, 2.417, 2.675, 2.985, 3.36, 3.815, 4.361, 5.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.3204, 0.3657, 0.4967, 0.7245, 1.075, 1.565, 2.21, 3.021, 4.012, 5.194",\
                 "0.3296, 0.3747, 0.5058, 0.7336, 1.084, 1.574, 2.218, 3.031, 4.022, 5.2",\
                 "0.3562, 0.4013, 0.5321, 0.7596, 1.11, 1.6, 2.244, 3.057, 4.046, 5.228",\
                 "0.4001, 0.4462, 0.5778, 0.8049, 1.155, 1.645, 2.289, 3.101, 4.092, 5.271",\
                 "0.4367, 0.4842, 0.6181, 0.8456, 1.194, 1.684, 2.328, 3.14, 4.131, 5.311",\
                 "0.4532, 0.5033, 0.6413, 0.8701, 1.218, 1.707, 2.35, 3.161, 4.152, 5.332",\
                 "0.4433, 0.4963, 0.6395, 0.8719, 1.221, 1.709, 2.352, 3.162, 4.153, 5.331",\
                 "0.4028, 0.4593, 0.6084, 0.8466, 1.199, 1.69, 2.332, 3.142, 4.131, 5.31",\
                 "0.3309, 0.3909, 0.5464, 0.7898, 1.148, 1.644, 2.289, 3.099, 4.088, 5.267",\
                 "0.2252, 0.2888, 0.451, 0.7009, 1.064, 1.567, 2.219, 3.032, 4.02, 5.2");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1351, 0.1807, 0.2973, 0.486, 0.7746, 1.199, 1.778, 2.519, 3.437, 4.53",\
                 "0.135, 0.181, 0.297, 0.4864, 0.775, 1.198, 1.776, 2.522, 3.436, 4.53",\
                 "0.1351, 0.1808, 0.2978, 0.4866, 0.775, 1.198, 1.776, 2.521, 3.436, 4.529",\
                 "0.1372, 0.183, 0.2988, 0.4874, 0.7762, 1.199, 1.777, 2.52, 3.436, 4.53",\
                 "0.1494, 0.1966, 0.3128, 0.4978, 0.783, 1.202, 1.779, 2.522, 3.436, 4.527",\
                 "0.1624, 0.2118, 0.3292, 0.5156, 0.7946, 1.209, 1.783, 2.524, 3.437, 4.525",\
                 "0.1824, 0.2332, 0.3532, 0.5376, 0.8128, 1.22, 1.788, 2.525, 3.438, 4.529",\
                 "0.2046, 0.259, 0.3846, 0.5712, 0.8422, 1.239, 1.798, 2.528, 3.436, 4.525",\
                 "0.2304, 0.288, 0.419, 0.6114, 0.8846, 1.276, 1.823, 2.539, 3.442, 4.528",\
                 "0.2562, 0.318, 0.4574, 0.6554, 0.9358, 1.33, 1.865, 2.571, 3.457, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1017, 0.1599, 0.3518, 0.7331, 1.345, 2.207, 3.344, 4.776, 6.521, 8.603",\
                 "0.1013, 0.1599, 0.3519, 0.7335, 1.345, 2.207, 3.344, 4.774, 6.523, 8.599",\
                 "0.1013, 0.1598, 0.3519, 0.7335, 1.346, 2.207, 3.343, 4.775, 6.519, 8.603",\
                 "0.1072, 0.1648, 0.3552, 0.7338, 1.346, 2.207, 3.345, 4.774, 6.519, 8.601",\
                 "0.1166, 0.1746, 0.3632, 0.7374, 1.348, 2.211, 3.343, 4.773, 6.52, 8.604",\
                 "0.1298, 0.1874, 0.3758, 0.7442, 1.349, 2.21, 3.348, 4.773, 6.519, 8.603",\
                 "0.1454, 0.2026, 0.393, 0.7582, 1.356, 2.212, 3.344, 4.778, 6.52, 8.602",\
                 "0.1656, 0.2236, 0.4136, 0.7774, 1.373, 2.222, 3.347, 4.774, 6.53, 8.598",\
                 "0.1834, 0.2446, 0.4356, 0.7998, 1.4, 2.246, 3.361, 4.779, 6.518, 8.6",\
                 "0.2044, 0.2668, 0.4578, 0.8236, 1.425, 2.283, 3.392, 4.799, 6.525, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.4805, 0.5291, 0.6482, 0.8148, 1.03, 1.309, 1.666, 2.113, 2.658, 3.307",\
                 "0.4934, 0.5421, 0.6614, 0.8279, 1.043, 1.322, 1.679, 2.126, 2.671, 3.321",\
                 "0.5328, 0.5815, 0.7005, 0.8669, 1.083, 1.361, 1.718, 2.165, 2.71, 3.36",\
                 "0.6122, 0.6608, 0.7796, 0.946, 1.162, 1.44, 1.797, 2.244, 2.789, 3.439",\
                 "0.7349, 0.7857, 0.9093, 1.079, 1.297, 1.576, 1.933, 2.38, 2.925, 3.574",\
                 "0.9059, 0.9589, 1.087, 1.262, 1.483, 1.765, 2.122, 2.569, 3.114, 3.763",\
                 "1.119, 1.175, 1.31, 1.491, 1.717, 2.001, 2.359, 2.807, 3.351, 4.001",\
                 "1.37, 1.429, 1.572, 1.762, 1.997, 2.285, 2.646, 3.093, 3.638, 4.287",\
                 "1.655, 1.719, 1.87, 2.071, 2.317, 2.615, 2.98, 3.429, 3.974, 4.623",\
                 "1.977, 2.044, 2.205, 2.417, 2.675, 2.985, 3.36, 3.815, 4.361, 5.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.3204, 0.3657, 0.4967, 0.7245, 1.075, 1.565, 2.21, 3.021, 4.012, 5.194",\
                 "0.3296, 0.3747, 0.5058, 0.7336, 1.084, 1.574, 2.218, 3.031, 4.022, 5.2",\
                 "0.3562, 0.4013, 0.5321, 0.7596, 1.11, 1.6, 2.244, 3.057, 4.046, 5.228",\
                 "0.4001, 0.4462, 0.5778, 0.8049, 1.155, 1.645, 2.289, 3.101, 4.092, 5.271",\
                 "0.4367, 0.4842, 0.6181, 0.8456, 1.194, 1.684, 2.328, 3.14, 4.131, 5.311",\
                 "0.4532, 0.5033, 0.6413, 0.8701, 1.218, 1.707, 2.35, 3.161, 4.152, 5.332",\
                 "0.4433, 0.4963, 0.6395, 0.8719, 1.221, 1.709, 2.352, 3.162, 4.153, 5.331",\
                 "0.4028, 0.4593, 0.6084, 0.8466, 1.199, 1.69, 2.332, 3.142, 4.131, 5.31",\
                 "0.3309, 0.3909, 0.5464, 0.7898, 1.148, 1.644, 2.289, 3.099, 4.088, 5.267",\
                 "0.2252, 0.2888, 0.451, 0.7009, 1.064, 1.567, 2.219, 3.032, 4.02, 5.2");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1349, 0.1808, 0.2972, 0.486, 0.7746, 1.199, 1.778, 2.519, 3.437, 4.53",\
                 "0.135, 0.181, 0.297, 0.4864, 0.775, 1.198, 1.776, 2.522, 3.437, 4.53",\
                 "0.1351, 0.1808, 0.2977, 0.4866, 0.775, 1.198, 1.776, 2.521, 3.436, 4.529",\
                 "0.1373, 0.183, 0.299, 0.4872, 0.7764, 1.197, 1.777, 2.521, 3.434, 4.53",\
                 "0.15, 0.1966, 0.3128, 0.4978, 0.7812, 1.202, 1.779, 2.521, 3.436, 4.529",\
                 "0.1624, 0.2112, 0.3292, 0.5156, 0.7948, 1.209, 1.783, 2.524, 3.437, 4.525",\
                 "0.182, 0.2326, 0.354, 0.5376, 0.8132, 1.22, 1.788, 2.526, 3.434, 4.527",\
                 "0.2046, 0.259, 0.3836, 0.5712, 0.8422, 1.239, 1.798, 2.529, 3.436, 4.527",\
                 "0.2296, 0.2874, 0.4192, 0.6116, 0.8854, 1.275, 1.822, 2.54, 3.444, 4.527",\
                 "0.2554, 0.3186, 0.457, 0.6538, 0.9366, 1.327, 1.864, 2.571, 3.457, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1016, 0.1597, 0.3519, 0.7332, 1.345, 2.212, 3.341, 4.775, 6.521, 8.603",\
                 "0.1014, 0.1599, 0.3518, 0.7335, 1.345, 2.207, 3.344, 4.774, 6.523, 8.6",\
                 "0.1014, 0.1608, 0.352, 0.7343, 1.346, 2.212, 3.343, 4.773, 6.523, 8.598",\
                 "0.1072, 0.1648, 0.3552, 0.7338, 1.346, 2.207, 3.347, 4.775, 6.521, 8.602",\
                 "0.1164, 0.1742, 0.3632, 0.7374, 1.348, 2.208, 3.343, 4.777, 6.521, 8.604",\
                 "0.1298, 0.1872, 0.3758, 0.744, 1.349, 2.209, 3.345, 4.771, 6.517, 8.599",\
                 "0.1454, 0.2038, 0.3932, 0.758, 1.356, 2.211, 3.344, 4.778, 6.52, 8.602",\
                 "0.1656, 0.2224, 0.414, 0.7774, 1.373, 2.222, 3.347, 4.773, 6.529, 8.599",\
                 "0.1844, 0.2436, 0.436, 0.7996, 1.4, 2.245, 3.363, 4.778, 6.518, 8.613",\
                 "0.2056, 0.2664, 0.4578, 0.8236, 1.426, 2.283, 3.397, 4.795, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "S" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.5027, 0.5513, 0.6705, 0.8369, 1.053, 1.331, 1.688, 2.135, 2.68, 3.33",\
                 "0.5168, 0.5654, 0.6846, 0.851, 1.066, 1.345, 1.702, 2.149, 2.694, 3.344",\
                 "0.5505, 0.5989, 0.7183, 0.8846, 1.1, 1.379, 1.736, 2.183, 2.728, 3.378",\
                 "0.576, 0.6242, 0.7429, 0.9092, 1.125, 1.404, 1.761, 2.207, 2.752, 3.403",\
                 "0.592, 0.6381, 0.754, 0.919, 1.134, 1.413, 1.77, 2.217, 2.762, 3.412",\
                 "0.5813, 0.6276, 0.7426, 0.9077, 1.123, 1.402, 1.759, 2.206, 2.752, 3.402",\
                 "0.5466, 0.5929, 0.7082, 0.8732, 1.088, 1.367, 1.724, 2.171, 2.716, 3.366",\
                 "0.4851, 0.5317, 0.6474, 0.8128, 1.028, 1.308, 1.667, 2.114, 2.66, 3.31",\
                 "0.3947, 0.4408, 0.5576, 0.7233, 0.9402, 1.224, 1.587, 2.038, 2.584, 3.235",\
                 "0.2729, 0.3198, 0.4359, 0.6019, 0.8203, 1.107, 1.473, 1.922, 2.467, 3.116");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.4398, 0.4848, 0.6158, 0.8433, 1.193, 1.684, 2.328, 3.139, 4.129, 5.311",\
                 "0.4549, 0.5, 0.631, 0.8584, 1.208, 1.699, 2.344, 3.155, 4.147, 5.327",\
                 "0.5226, 0.5674, 0.6984, 0.9259, 1.276, 1.766, 2.41, 3.223, 4.213, 5.393",\
                 "0.6322, 0.6772, 0.8081, 1.036, 1.385, 1.876, 2.52, 3.33, 4.321, 5.504",\
                 "0.7694, 0.8144, 0.9453, 1.173, 1.523, 2.013, 2.658, 3.469, 4.46, 5.639",\
                 "0.9377, 0.9828, 1.114, 1.341, 1.69, 2.181, 2.825, 3.637, 4.628, 5.809",\
                 "1.136, 1.181, 1.312, 1.539, 1.889, 2.379, 3.023, 3.835, 4.826, 6.007",\
                 "1.364, 1.41, 1.541, 1.769, 2.12, 2.61, 3.254, 4.065, 5.056, 6.237",\
                 "1.624, 1.67, 1.801, 2.031, 2.383, 2.874, 3.518, 4.33, 5.32, 6.5",\
                 "1.916, 1.962, 2.094, 2.325, 2.678, 3.167, 3.811, 4.622, 5.613, 6.792");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1353, 0.1807, 0.2979, 0.4862, 0.7745, 1.199, 1.776, 2.522, 3.437, 4.53",\
                 "0.1348, 0.1807, 0.2971, 0.4867, 0.7751, 1.199, 1.776, 2.522, 3.436, 4.53",\
                 "0.1348, 0.1813, 0.2975, 0.4867, 0.7752, 1.198, 1.776, 2.522, 3.433, 4.525",\
                 "0.1313, 0.1772, 0.2954, 0.4856, 0.7744, 1.198, 1.776, 2.522, 3.435, 4.524",\
                 "0.127, 0.1712, 0.29, 0.4812, 0.773, 1.199, 1.776, 2.522, 3.434, 4.527",\
                 "0.1262, 0.1704, 0.2904, 0.4814, 0.7718, 1.196, 1.776, 2.52, 3.436, 4.528",\
                 "0.1276, 0.1714, 0.2902, 0.483, 0.7742, 1.197, 1.776, 2.519, 3.432, 4.525",\
                 "0.128, 0.173, 0.2918, 0.4836, 0.7748, 1.201, 1.78, 2.519, 3.432, 4.521",\
                 "0.1294, 0.1742, 0.2924, 0.4858, 0.781, 1.216, 1.796, 2.533, 3.436, 4.522",\
                 "0.1316, 0.1756, 0.2942, 0.4874, 0.7886, 1.228, 1.802, 2.528, 3.431, 4.517");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1015, 0.16, 0.3519, 0.7329, 1.347, 2.207, 3.344, 4.774, 6.518, 8.603",\
                 "0.1015, 0.1608, 0.3519, 0.7328, 1.346, 2.21, 3.343, 4.774, 6.519, 8.606",\
                 "0.1015, 0.1609, 0.3518, 0.7332, 1.347, 2.208, 3.344, 4.775, 6.52, 8.607",\
                 "0.101, 0.1604, 0.3522, 0.733, 1.345, 2.211, 3.346, 4.771, 6.516, 8.603",\
                 "0.101, 0.1598, 0.352, 0.734, 1.345, 2.206, 3.345, 4.774, 6.521, 8.598",\
                 "0.1016, 0.1606, 0.3524, 0.734, 1.345, 2.21, 3.348, 4.773, 6.519, 8.603",\
                 "0.103, 0.1618, 0.353, 0.7334, 1.345, 2.207, 3.346, 4.781, 6.519, 8.6",\
                 "0.1048, 0.1636, 0.3548, 0.737, 1.348, 2.208, 3.341, 4.772, 6.52, 8.597",\
                 "0.1068, 0.1652, 0.3572, 0.7418, 1.352, 2.211, 3.343, 4.77, 6.519, 8.594",\
                 "0.1098, 0.1678, 0.3598, 0.7468, 1.352, 2.208, 3.341, 4.771, 6.515, 8.602");
        }
      }

      timing() {
        related_pin : "S" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.389, 0.4377, 0.5575, 0.7237, 0.9388, 1.217, 1.574, 2.021, 2.566, 3.216",\
                 "0.3985, 0.4473, 0.5669, 0.7331, 0.9482, 1.227, 1.583, 2.03, 2.575, 3.225",\
                 "0.451, 0.4996, 0.6188, 0.7851, 1, 1.279, 1.635, 2.082, 2.627, 3.277",\
                 "0.5728, 0.6213, 0.7402, 0.9062, 1.122, 1.4, 1.757, 2.203, 2.748, 3.398",\
                 "0.7396, 0.7915, 0.9153, 1.085, 1.302, 1.581, 1.938, 2.384, 2.929, 3.579",\
                 "0.945, 1, 1.13, 1.304, 1.525, 1.806, 2.164, 2.61, 3.155, 3.804",\
                 "1.192, 1.251, 1.389, 1.569, 1.793, 2.075, 2.434, 2.881, 3.426, 4.074",\
                 "1.479, 1.542, 1.69, 1.879, 2.109, 2.393, 2.752, 3.2, 3.745, 4.394",\
                 "1.805, 1.873, 2.031, 2.232, 2.471, 2.762, 3.123, 3.57, 4.115, 4.765",\
                 "2.172, 2.244, 2.414, 2.626, 2.876, 3.177, 3.545, 3.995, 4.54, 5.189");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.273, 0.3182, 0.4497, 0.6778, 1.028, 1.518, 2.162, 2.974, 3.964, 5.143",\
                 "0.2857, 0.3309, 0.4623, 0.6905, 1.04, 1.531, 2.175, 2.986, 3.976, 5.158",\
                 "0.3312, 0.3762, 0.507, 0.7349, 1.085, 1.575, 2.219, 3.032, 4.022, 5.201",\
                 "0.3958, 0.4415, 0.5732, 0.7998, 1.149, 1.639, 2.282, 3.094, 4.084, 5.267",\
                 "0.4429, 0.4904, 0.6231, 0.8497, 1.198, 1.687, 2.332, 3.143, 4.132, 5.311",\
                 "0.4667, 0.5171, 0.6535, 0.8799, 1.226, 1.715, 2.358, 3.17, 4.161, 5.341",\
                 "0.4616, 0.5152, 0.6571, 0.8862, 1.232, 1.719, 2.362, 3.172, 4.163, 5.345",\
                 "0.4227, 0.4805, 0.6289, 0.8623, 1.211, 1.698, 2.34, 3.149, 4.138, 5.318",\
                 "0.348, 0.4097, 0.5654, 0.8045, 1.156, 1.648, 2.291, 3.1, 4.088, 5.268",\
                 "0.2358, 0.3018, 0.465, 0.7102, 1.065, 1.562, 2.21, 3.022, 4.009, 5.188");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1332, 0.1794, 0.2962, 0.4849, 0.7731, 1.198, 1.777, 2.522, 3.437, 4.531",\
                 "0.1333, 0.1791, 0.2962, 0.4848, 0.7733, 1.197, 1.776, 2.522, 3.436, 4.529",\
                 "0.1322, 0.1783, 0.2956, 0.4843, 0.7737, 1.197, 1.775, 2.522, 3.434, 4.529",\
                 "0.1365, 0.1818, 0.2988, 0.4864, 0.7736, 1.198, 1.776, 2.521, 3.435, 4.529",\
                 "0.1574, 0.2028, 0.3168, 0.4992, 0.7814, 1.201, 1.777, 2.521, 3.437, 4.53",\
                 "0.1762, 0.2248, 0.3368, 0.5174, 0.7962, 1.211, 1.783, 2.523, 3.436, 4.53",\
                 "0.2018, 0.2532, 0.3646, 0.5398, 0.8106, 1.221, 1.791, 2.528, 3.439, 4.524",\
                 "0.2302, 0.2856, 0.4024, 0.572, 0.8352, 1.232, 1.797, 2.532, 3.44, 4.53",\
                 "0.2606, 0.321, 0.4456, 0.6138, 0.873, 1.261, 1.811, 2.541, 3.445, 4.531",\
                 "0.2938, 0.3586, 0.4932, 0.6604, 0.9178, 1.303, 1.845, 2.556, 3.453, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.398, 0.5453, 0.7209");
          values("0.1009, 0.1594, 0.3516, 0.7332, 1.345, 2.211, 3.343, 4.774, 6.52, 8.598",\
                 "0.101, 0.1598, 0.3517, 0.7341, 1.347, 2.208, 3.343, 4.773, 6.516, 8.603",\
                 "0.1012, 0.1596, 0.3518, 0.7333, 1.345, 2.208, 3.343, 4.775, 6.522, 8.603",\
                 "0.1085, 0.1669, 0.3571, 0.7338, 1.345, 2.212, 3.341, 4.776, 6.52, 8.602",\
                 "0.1212, 0.178, 0.3648, 0.7394, 1.349, 2.207, 3.343, 4.774, 6.52, 8.597",\
                 "0.1376, 0.1938, 0.3774, 0.7438, 1.35, 2.212, 3.346, 4.775, 6.521, 8.606",\
                 "0.1576, 0.213, 0.395, 0.7548, 1.354, 2.213, 3.346, 4.78, 6.518, 8.6",\
                 "0.179, 0.2352, 0.4176, 0.7742, 1.369, 2.22, 3.349, 4.775, 6.527, 8.599",\
                 "0.202, 0.2608, 0.442, 0.7934, 1.391, 2.241, 3.361, 4.779, 6.52, 8.615",\
                 "0.2258, 0.2864, 0.4694, 0.8164, 1.411, 2.269, 3.387, 4.799, 6.525, 8.604");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__mux2_4) {
    area : 41.708800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!S" ;
      value : "0.0001173084" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&S" ;
      value : "0.0001177638" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!S" ;
      value : "0.0001173876" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&S" ;
      value : "0.0001150578" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!S" ;
      value : "0.0001145991" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&S" ;
      value : "0.0001178463" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!S" ;
      value : "0.0001145991" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&S" ;
      value : "0.0001150578" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001178463" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I0) {
      capacitance : 0.004613 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I1&S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01798, 0.01667, 0.01627, 0.01628, 0.01627, 0.0163, 0.01631, \
                 0.0163, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01555, -0.01553, -0.01561, -0.01576, -0.01586, -0.01596, -0.01599, \
                 -0.016, -0.01603, -0.01604");
        }
      }

      internal_power() {
        when : "I1&S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.0163, 0.01626, 0.01629, 0.01627, 0.01631, 0.01632, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01331, -0.01453, -0.01557, -0.01576, -0.01585, -0.01595, -0.01599, \
                 -0.01601, -0.01602, -0.01604");
        }
      }
    }

    pin(I1) {
      capacitance : 0.004583 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01797, 0.01671, 0.01634, 0.01632, 0.01628, 0.01633, 0.01632, \
                 0.0163, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01581, -0.01574, -0.01591, -0.016, -0.01604, -0.01611, -0.01612, \
                 -0.01614, -0.01616, -0.01617");
        }
      }

      internal_power() {
        when : "I0&!S" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01627, 0.01631, 0.0163, 0.01627, 0.01633, 0.01632, 0.01631, \
                 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01404, -0.0151, -0.01592, -0.01601, -0.01604, -0.01612, -0.01613, \
                 -0.01615, -0.01616, -0.01617");
        }
      }
    }

    pin(S) {
      capacitance : 0.009826 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08756, 0.08613, 0.08854, 0.09816, 0.1161, 0.1434, 0.1806, 0.2284, \
                 0.2876, 0.3589");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006185, 0.005435, 0.006772, 0.01446, 0.02999, 0.05386, 0.087, \
                 0.1296, 0.1824, 0.2458");
        }
      }

      internal_power() {
        when : "I0&I1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08415, 0.08276, 0.08545, 0.09539, 0.1136, 0.1411, 0.1784, 0.2264, \
                 0.2858, 0.357");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009128, 0.008461, 0.009739, 0.01721, 0.0324, 0.05615, 0.08902, \
                 0.1315, 0.1842, 0.2475");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "((I0&(!S))|(I1&S))" ;
      max_capacitance : 1.44 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&!S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.3342, 0.3156, 0.2826, 0.2631, 0.2523, 0.246, 0.2419, 0.2392, 0.2374, 0.2361",\
                 "0.3335, 0.3149, 0.2818, 0.2624, 0.2516, 0.2452, 0.2411, 0.2385, 0.2366, 0.2353",\
                 "0.3327, 0.314, 0.2811, 0.2615, 0.2506, 0.2445, 0.2404, 0.2377, 0.2359, 0.2346",\
                 "0.337, 0.3181, 0.2847, 0.2649, 0.254, 0.2475, 0.2434, 0.2407, 0.2388, 0.2375",\
                 "0.3586, 0.3388, 0.3028, 0.2802, 0.2675, 0.2601, 0.2552, 0.252, 0.2498, 0.2483",\
                 "0.3944, 0.3736, 0.3338, 0.3075, 0.2921, 0.2829, 0.2771, 0.2732, 0.2705, 0.2687",\
                 "0.4453, 0.423, 0.3789, 0.3479, 0.3289, 0.3173, 0.3099, 0.305, 0.3017, 0.2993",\
                 "0.5137, 0.4898, 0.4408, 0.4033, 0.3798, 0.3648, 0.3552, 0.3488, 0.3443, 0.3412",\
                 "0.5982, 0.5729, 0.5183, 0.4737, 0.445, 0.4259, 0.4133, 0.4049, 0.3989, 0.3947",\
                 "0.697, 0.6706, 0.6106, 0.5581, 0.5229, 0.4995, 0.4839, 0.4728, 0.4652, 0.4596");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1965, 0.1869, 0.1769, 0.1727, 0.1723, 0.1744, 0.1771, 0.1793, 0.1825, 0.195",\
                 "0.1956, 0.1862, 0.1763, 0.1722, 0.1713, 0.1731, 0.1752, 0.1783, 0.1812, 0.194",\
                 "0.195, 0.1857, 0.1756, 0.1711, 0.1706, 0.1721, 0.1738, 0.1773, 0.1802, 0.1969",\
                 "0.2032, 0.1933, 0.1819, 0.1759, 0.1739, 0.1754, 0.1768, 0.1796, 0.1822, 0.1988",\
                 "0.2238, 0.2116, 0.1974, 0.1891, 0.185, 0.185, 0.1861, 0.1885, 0.1915, 0.2104",\
                 "0.2576, 0.2427, 0.2243, 0.2113, 0.2071, 0.2041, 0.2032, 0.2044, 0.2074, 0.2292",\
                 "0.3051, 0.2871, 0.2636, 0.2459, 0.236, 0.2351, 0.2319, 0.2308, 0.2332, 0.2603",\
                 "0.3663, 0.3448, 0.3167, 0.2946, 0.279, 0.2718, 0.2722, 0.2696, 0.2707, 0.304",\
                 "0.4408, 0.416, 0.3809, 0.3558, 0.3363, 0.3249, 0.3187, 0.3207, 0.3201, 0.369",\
                 "0.5281, 0.5005, 0.4594, 0.4291, 0.4047, 0.3873, 0.3775, 0.3747, 0.3843, 0.4579");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&!S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.3342, 0.3156, 0.2826, 0.2631, 0.2523, 0.246, 0.2419, 0.2392, 0.2374, 0.2361",\
                 "0.3335, 0.3149, 0.2818, 0.2624, 0.2516, 0.2452, 0.2411, 0.2385, 0.2366, 0.2353",\
                 "0.3327, 0.314, 0.2811, 0.2615, 0.2506, 0.2445, 0.2404, 0.2377, 0.2359, 0.2346",\
                 "0.3369, 0.3181, 0.2848, 0.2649, 0.2539, 0.2474, 0.2434, 0.2407, 0.2388, 0.2375",\
                 "0.3586, 0.3389, 0.3027, 0.2802, 0.2675, 0.2601, 0.2552, 0.252, 0.2498, 0.2483",\
                 "0.3945, 0.3737, 0.334, 0.3076, 0.2923, 0.2829, 0.2771, 0.2732, 0.2707, 0.2687",\
                 "0.4453, 0.4229, 0.3789, 0.3476, 0.3289, 0.3173, 0.3099, 0.305, 0.3017, 0.2993",\
                 "0.5137, 0.4898, 0.4406, 0.4033, 0.3798, 0.3649, 0.3553, 0.3489, 0.3444, 0.3412",\
                 "0.5983, 0.5728, 0.5184, 0.4735, 0.4444, 0.4256, 0.4131, 0.4047, 0.3988, 0.3945",\
                 "0.697, 0.6704, 0.611, 0.5581, 0.5229, 0.4994, 0.4838, 0.4728, 0.4653, 0.4597");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1966, 0.1869, 0.1772, 0.173, 0.1722, 0.1741, 0.1758, 0.179, 0.1819, 0.1953",\
                 "0.1956, 0.1862, 0.1763, 0.1722, 0.1713, 0.1731, 0.1752, 0.1783, 0.1812, 0.194",\
                 "0.195, 0.1857, 0.1756, 0.1711, 0.1706, 0.1721, 0.1738, 0.1763, 0.1802, 0.1969",\
                 "0.2032, 0.1933, 0.1819, 0.1757, 0.1739, 0.1751, 0.1771, 0.1803, 0.1829, 0.1981",\
                 "0.2238, 0.2116, 0.1974, 0.1891, 0.185, 0.185, 0.1861, 0.1885, 0.1915, 0.2104",\
                 "0.2576, 0.2426, 0.2243, 0.2116, 0.2071, 0.2038, 0.2032, 0.2044, 0.2074, 0.2285",\
                 "0.3052, 0.2874, 0.2643, 0.2461, 0.2375, 0.2355, 0.2313, 0.2304, 0.2332, 0.2606",\
                 "0.3663, 0.3449, 0.3165, 0.2946, 0.279, 0.2718, 0.2722, 0.2696, 0.2707, 0.3059",\
                 "0.4407, 0.4163, 0.3812, 0.3555, 0.3342, 0.3239, 0.3197, 0.3204, 0.3201, 0.369",\
                 "0.528, 0.5004, 0.4596, 0.4281, 0.4044, 0.386, 0.3775, 0.3747, 0.3843, 0.4562");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.3442, 0.3255, 0.2928, 0.2736, 0.2627, 0.2564, 0.2524, 0.2497, 0.248, 0.2467",\
                 "0.3434, 0.3248, 0.292, 0.2728, 0.262, 0.2557, 0.2517, 0.2491, 0.2472, 0.246",\
                 "0.3426, 0.3239, 0.2909, 0.2719, 0.2612, 0.2549, 0.2509, 0.2482, 0.2465, 0.2451",\
                 "0.3462, 0.3275, 0.2943, 0.2747, 0.2638, 0.2574, 0.2533, 0.2506, 0.2488, 0.2476",\
                 "0.3674, 0.3478, 0.3119, 0.2895, 0.277, 0.2695, 0.2647, 0.2615, 0.2593, 0.2578",\
                 "0.403, 0.3823, 0.3424, 0.3163, 0.3011, 0.2919, 0.2862, 0.2824, 0.2797, 0.2779",\
                 "0.4534, 0.4313, 0.3877, 0.3564, 0.3376, 0.326, 0.3187, 0.314, 0.3106, 0.3082",\
                 "0.5218, 0.4983, 0.4492, 0.4119, 0.3885, 0.3735, 0.3641, 0.3577, 0.3531, 0.35",\
                 "0.6061, 0.5811, 0.5269, 0.4819, 0.453, 0.4343, 0.4217, 0.4134, 0.4074, 0.4032",\
                 "0.7053, 0.6788, 0.6195, 0.5667, 0.5313, 0.5081, 0.4921, 0.4812, 0.4736, 0.4681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1887, 0.1793, 0.1694, 0.1646, 0.164, 0.1658, 0.1672, 0.1696, 0.1725, 0.187",\
                 "0.188, 0.1785, 0.1682, 0.164, 0.1634, 0.1651, 0.1665, 0.169, 0.1732, 0.186",\
                 "0.1871, 0.1778, 0.1676, 0.1629, 0.1622, 0.1638, 0.1655, 0.1677, 0.1715, 0.1886",\
                 "0.1952, 0.1852, 0.1739, 0.1676, 0.1656, 0.1667, 0.1691, 0.172, 0.1752, 0.1898",\
                 "0.2158, 0.2039, 0.1889, 0.181, 0.177, 0.177, 0.178, 0.1789, 0.1828, 0.2018",\
                 "0.2495, 0.235, 0.2158, 0.2034, 0.1984, 0.1955, 0.1942, 0.1947, 0.1981, 0.2199",\
                 "0.2967, 0.2789, 0.2554, 0.2377, 0.2295, 0.2278, 0.2239, 0.2221, 0.2249, 0.251",\
                 "0.3578, 0.3364, 0.308, 0.2862, 0.2699, 0.2631, 0.2648, 0.2603, 0.2613, 0.294",\
                 "0.4319, 0.4074, 0.3733, 0.3459, 0.3277, 0.3139, 0.3091, 0.3117, 0.3128, 0.359",\
                 "0.5188, 0.4915, 0.4505, 0.4209, 0.3951, 0.3789, 0.3694, 0.3651, 0.3773, 0.4505");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&S" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.3442, 0.3255, 0.2928, 0.2736, 0.2627, 0.2565, 0.2524, 0.2498, 0.248, 0.2467",\
                 "0.3434, 0.3248, 0.2918, 0.2728, 0.262, 0.2558, 0.2518, 0.2491, 0.2473, 0.246",\
                 "0.3426, 0.3239, 0.2909, 0.2719, 0.2612, 0.2549, 0.2509, 0.2482, 0.2465, 0.2452",\
                 "0.3462, 0.3275, 0.2943, 0.2746, 0.2638, 0.2574, 0.2534, 0.2506, 0.2489, 0.2476",\
                 "0.3674, 0.3478, 0.3119, 0.2894, 0.2769, 0.2695, 0.2647, 0.2615, 0.2593, 0.2578",\
                 "0.4031, 0.3823, 0.3426, 0.3165, 0.3011, 0.2919, 0.2862, 0.2824, 0.2797, 0.2779",\
                 "0.4535, 0.4315, 0.3877, 0.3562, 0.3378, 0.3263, 0.3189, 0.3139, 0.3107, 0.3084",\
                 "0.5219, 0.4983, 0.4492, 0.4119, 0.3885, 0.3735, 0.364, 0.3576, 0.3531, 0.35",\
                 "0.6062, 0.5811, 0.5269, 0.4817, 0.4531, 0.4341, 0.4217, 0.4132, 0.4074, 0.4031",\
                 "0.7054, 0.6787, 0.6193, 0.5669, 0.5315, 0.5078, 0.4921, 0.4813, 0.4736, 0.4682");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1887, 0.1793, 0.1694, 0.1646, 0.1643, 0.1658, 0.1672, 0.1696, 0.1725, 0.187",\
                 "0.1879, 0.1784, 0.1682, 0.1638, 0.163, 0.1648, 0.1665, 0.1693, 0.1722, 0.1857",\
                 "0.1871, 0.1776, 0.1676, 0.163, 0.1622, 0.1638, 0.1658, 0.1677, 0.1715, 0.1886",\
                 "0.1952, 0.1853, 0.1737, 0.1675, 0.1656, 0.1667, 0.1691, 0.1716, 0.1752, 0.1894",\
                 "0.216, 0.2038, 0.1893, 0.1812, 0.1771, 0.1766, 0.1777, 0.1786, 0.1825, 0.2014",\
                 "0.2493, 0.2346, 0.216, 0.2035, 0.1989, 0.1955, 0.1949, 0.1954, 0.1981, 0.2199",\
                 "0.2968, 0.2789, 0.2559, 0.2392, 0.229, 0.2271, 0.2236, 0.2224, 0.2249, 0.2513",\
                 "0.3577, 0.3365, 0.308, 0.2862, 0.2709, 0.2624, 0.2642, 0.2606, 0.2617, 0.294",\
                 "0.4318, 0.407, 0.3731, 0.3464, 0.3266, 0.3156, 0.3087, 0.3101, 0.3124, 0.359",\
                 "0.5187, 0.4913, 0.4503, 0.4206, 0.3955, 0.3786, 0.3678, 0.3649, 0.3767, 0.4473");
        }
      }

      internal_power() {
        related_pin : "S" ;
        when : "!I0&I1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.3837, 0.3652, 0.3326, 0.3135, 0.3031, 0.2967, 0.2927, 0.29, 0.2882, 0.2868",\
                 "0.3816, 0.3631, 0.3305, 0.3116, 0.301, 0.2947, 0.2907, 0.2881, 0.2862, 0.2849",\
                 "0.3831, 0.3647, 0.3321, 0.3132, 0.3029, 0.2966, 0.2927, 0.29, 0.2881, 0.2868",\
                 "0.3987, 0.38, 0.3468, 0.3273, 0.3166, 0.3102, 0.3062, 0.3035, 0.3017, 0.3004",\
                 "0.4452, 0.4248, 0.3876, 0.3637, 0.3503, 0.3422, 0.3369, 0.3335, 0.3312, 0.3295",\
                 "0.5172, 0.4946, 0.4509, 0.4212, 0.4033, 0.3924, 0.3856, 0.381, 0.3777, 0.3756",\
                 "0.6085, 0.5841, 0.5345, 0.498, 0.4757, 0.4617, 0.4524, 0.4464, 0.4422, 0.4393",\
                 "0.7237, 0.6977, 0.642, 0.5981, 0.5704, 0.5522, 0.5401, 0.5321, 0.5266, 0.5226",\
                 "0.8646, 0.837, 0.7755, 0.7229, 0.6886, 0.6656, 0.6503, 0.6398, 0.6323, 0.627",\
                 "1.031, 1.002, 0.935, 0.8731, 0.8317, 0.8031, 0.7837, 0.7699, 0.7603, 0.7534");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1912, 0.1819, 0.1715, 0.1677, 0.1669, 0.1688, 0.1711, 0.1736, 0.1769, 0.19",\
                 "0.1906, 0.1813, 0.1712, 0.1674, 0.1665, 0.1684, 0.1698, 0.172, 0.1749, 0.189",\
                 "0.1927, 0.1835, 0.1735, 0.1689, 0.1683, 0.1697, 0.1718, 0.1733, 0.1779, 0.1949",\
                 "0.2138, 0.2033, 0.1903, 0.1834, 0.1812, 0.1813, 0.183, 0.1855, 0.1884, 0.2046",\
                 "0.2561, 0.243, 0.2257, 0.2151, 0.2093, 0.2084, 0.2084, 0.2096, 0.2129, 0.2321",\
                 "0.3175, 0.3005, 0.278, 0.2625, 0.2553, 0.2506, 0.2487, 0.2485, 0.2522, 0.2743",\
                 "0.3997, 0.3786, 0.3513, 0.3297, 0.3166, 0.3133, 0.3088, 0.3056, 0.3077, 0.3351",\
                 "0.5026, 0.4779, 0.444, 0.4184, 0.3994, 0.3899, 0.388, 0.3844, 0.3838, 0.416",\
                 "0.6266, 0.5982, 0.5573, 0.5263, 0.5042, 0.4879, 0.481, 0.4834, 0.4828, 0.5312",\
                 "0.7719, 0.7409, 0.6925, 0.6581, 0.6298, 0.6106, 0.5959, 0.5918, 0.6011, 0.6748");
        }
      }

      internal_power() {
        related_pin : "S" ;
        when : "I0&!I1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.3213, 0.3026, 0.2696, 0.2504, 0.2397, 0.2335, 0.2295, 0.2269, 0.2251, 0.2238",\
                 "0.3208, 0.3021, 0.2692, 0.2498, 0.2391, 0.233, 0.2289, 0.2263, 0.2245, 0.2233",\
                 "0.3215, 0.3029, 0.2698, 0.2507, 0.24, 0.2338, 0.2298, 0.2272, 0.2253, 0.2241",\
                 "0.3269, 0.3084, 0.2759, 0.2569, 0.2467, 0.2405, 0.2365, 0.2339, 0.2322, 0.2309",\
                 "0.3382, 0.3199, 0.2879, 0.2698, 0.2602, 0.2542, 0.2507, 0.2482, 0.2465, 0.2454",\
                 "0.3604, 0.342, 0.3105, 0.293, 0.2834, 0.2778, 0.2741, 0.2719, 0.2703, 0.2692",\
                 "0.3944, 0.3757, 0.3443, 0.3264, 0.3168, 0.3114, 0.3076, 0.3052, 0.3036, 0.3025",\
                 "0.4393, 0.4207, 0.3886, 0.3706, 0.3609, 0.3551, 0.3516, 0.3492, 0.3474, 0.3462",\
                 "0.4957, 0.477, 0.4443, 0.4257, 0.4153, 0.4096, 0.4059, 0.4035, 0.402, 0.4008",\
                 "0.5649, 0.546, 0.5126, 0.4932, 0.4824, 0.4764, 0.4731, 0.4709, 0.4692, 0.4681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.2849, 0.2755, 0.2652, 0.2604, 0.2597, 0.2615, 0.2646, 0.2654, 0.2696, 0.2831",\
                 "0.2836, 0.2744, 0.2641, 0.2596, 0.2587, 0.2599, 0.2619, 0.2658, 0.2683, 0.2833",\
                 "0.2864, 0.277, 0.2671, 0.2626, 0.2617, 0.2635, 0.2662, 0.2671, 0.2713, 0.2866",\
                 "0.2975, 0.2881, 0.2777, 0.2729, 0.2722, 0.2741, 0.2755, 0.2776, 0.2819, 0.3013",\
                 "0.3158, 0.3064, 0.2967, 0.2922, 0.2915, 0.2932, 0.2949, 0.2981, 0.301, 0.3227",\
                 "0.3445, 0.3352, 0.325, 0.3211, 0.3202, 0.3213, 0.3237, 0.3248, 0.3285, 0.3539",\
                 "0.3851, 0.3752, 0.3646, 0.3582, 0.3594, 0.3609, 0.3623, 0.3646, 0.3689, 0.4026",\
                 "0.4369, 0.427, 0.4152, 0.4097, 0.4068, 0.4104, 0.4137, 0.4168, 0.42, 0.4686",\
                 "0.501, 0.4906, 0.4777, 0.4719, 0.4698, 0.4691, 0.4748, 0.479, 0.4872, 0.562",\
                 "0.5779, 0.5667, 0.5532, 0.5464, 0.544, 0.544, 0.5451, 0.5531, 0.569, 0.6968");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.6435, 0.7014, 0.8411, 1.031, 1.267, 1.559, 1.923, 2.372, 2.918, 3.568",\
                 "0.6567, 0.7143, 0.8543, 1.044, 1.281, 1.572, 1.936, 2.385, 2.931, 3.581",\
                 "0.6949, 0.7526, 0.8923, 1.083, 1.319, 1.611, 1.974, 2.423, 2.969, 3.619",\
                 "0.7742, 0.8319, 0.971, 1.161, 1.397, 1.689, 2.052, 2.501, 3.047, 3.697",\
                 "0.9086, 0.9677, 1.108, 1.299, 1.536, 1.828, 2.191, 2.64, 3.186, 3.836",\
                 "1.089, 1.15, 1.296, 1.492, 1.732, 2.026, 2.39, 2.839, 3.384, 4.034",\
                 "1.32, 1.382, 1.532, 1.733, 1.979, 2.276, 2.642, 3.091, 3.636, 4.285",\
                 "1.592, 1.658, 1.816, 2.023, 2.275, 2.576, 2.943, 3.394, 3.939, 4.588",\
                 "1.905, 1.975, 2.139, 2.356, 2.618, 2.926, 3.297, 3.748, 4.294, 4.942",\
                 "2.256, 2.328, 2.502, 2.73, 3.002, 3.321, 3.7, 4.155, 4.701, 5.35");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.4264, 0.4766, 0.6179, 0.8507, 1.201, 1.691, 2.336, 3.146, 4.137, 5.319",\
                 "0.4354, 0.4858, 0.6268, 0.8597, 1.21, 1.699, 2.343, 3.156, 4.146, 5.328",\
                 "0.4607, 0.511, 0.6519, 0.8845, 1.235, 1.724, 2.369, 3.181, 4.172, 5.349",\
                 "0.5107, 0.5611, 0.7021, 0.9343, 1.284, 1.773, 2.417, 3.229, 4.219, 5.399",\
                 "0.5625, 0.6152, 0.759, 0.9921, 1.341, 1.829, 2.473, 3.285, 4.275, 5.455",\
                 "0.6015, 0.6563, 0.8033, 1.038, 1.387, 1.874, 2.517, 3.328, 4.318, 5.498",\
                 "0.6169, 0.6745, 0.8262, 1.065, 1.414, 1.9, 2.542, 3.351, 4.341, 5.52",\
                 "0.604, 0.6653, 0.8233, 1.068, 1.419, 1.905, 2.545, 3.355, 4.343, 5.522",\
                 "0.5593, 0.6245, 0.7881, 1.041, 1.397, 1.887, 2.528, 3.335, 4.323, 5.501",\
                 "0.4806, 0.55, 0.7215, 0.98, 1.342, 1.838, 2.484, 3.292, 4.279, 5.457");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1842, 0.2385, 0.3699, 0.567, 0.8496, 1.258, 1.817, 2.548, 3.457, 4.548",\
                 "0.1848, 0.2399, 0.3699, 0.567, 0.8504, 1.256, 1.817, 2.547, 3.455, 4.549",\
                 "0.1846, 0.2394, 0.3693, 0.5666, 0.8496, 1.257, 1.817, 2.55, 3.459, 4.546",\
                 "0.1842, 0.2384, 0.369, 0.5678, 0.8498, 1.258, 1.817, 2.547, 3.458, 4.548",\
                 "0.1946, 0.2494, 0.3778, 0.5734, 0.8538, 1.259, 1.819, 2.551, 3.459, 4.545",\
                 "0.2078, 0.2648, 0.398, 0.593, 0.8682, 1.268, 1.823, 2.551, 3.456, 4.547",\
                 "0.2262, 0.2832, 0.4194, 0.6144, 0.89, 1.283, 1.832, 2.556, 3.461, 4.549",\
                 "0.2502, 0.3102, 0.45, 0.6446, 0.916, 1.304, 1.846, 2.562, 3.463, 4.55",\
                 "0.2784, 0.3418, 0.4874, 0.6856, 0.956, 1.335, 1.864, 2.573, 3.466, 4.546",\
                 "0.3094, 0.3768, 0.529, 0.7322, 1.008, 1.383, 1.901, 2.595, 3.48, 4.555");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1214, 0.1809, 0.3748, 0.7449, 1.351, 2.213, 3.346, 4.78, 6.523, 8.604",\
                 "0.1211, 0.1813, 0.3758, 0.7461, 1.351, 2.213, 3.346, 4.777, 6.523, 8.605",\
                 "0.1205, 0.1814, 0.3756, 0.746, 1.349, 2.212, 3.349, 4.785, 6.524, 8.6",\
                 "0.1236, 0.1836, 0.3772, 0.7472, 1.351, 2.213, 3.346, 4.782, 6.528, 8.609",\
                 "0.1354, 0.1946, 0.3878, 0.7508, 1.352, 2.212, 3.345, 4.783, 6.533, 8.602",\
                 "0.1488, 0.2078, 0.401, 0.7598, 1.354, 2.211, 3.344, 4.776, 6.52, 8.604",\
                 "0.1672, 0.227, 0.4202, 0.774, 1.361, 2.216, 3.347, 4.781, 6.524, 8.599",\
                 "0.1904, 0.2492, 0.4424, 0.7974, 1.375, 2.221, 3.35, 4.776, 6.531, 8.611",\
                 "0.215, 0.2762, 0.468, 0.8224, 1.4, 2.24, 3.357, 4.78, 6.52, 8.597",\
                 "0.2402, 0.305, 0.4956, 0.8518, 1.429, 2.27, 3.383, 4.79, 6.524, 8.599");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.6435, 0.7014, 0.8411, 1.031, 1.267, 1.559, 1.923, 2.372, 2.918, 3.568",\
                 "0.6567, 0.7143, 0.8543, 1.044, 1.281, 1.572, 1.936, 2.385, 2.931, 3.581",\
                 "0.6949, 0.7526, 0.8923, 1.083, 1.319, 1.611, 1.974, 2.423, 2.969, 3.619",\
                 "0.7742, 0.832, 0.9713, 1.161, 1.397, 1.689, 2.052, 2.501, 3.047, 3.697",\
                 "0.9086, 0.9678, 1.109, 1.299, 1.536, 1.828, 2.191, 2.64, 3.186, 3.836",\
                 "1.089, 1.15, 1.296, 1.491, 1.732, 2.026, 2.39, 2.839, 3.384, 4.034",\
                 "1.32, 1.382, 1.532, 1.733, 1.979, 2.276, 2.642, 3.091, 3.636, 4.285",\
                 "1.592, 1.659, 1.816, 2.023, 2.275, 2.576, 2.944, 3.394, 3.939, 4.587",\
                 "1.905, 1.974, 2.139, 2.357, 2.617, 2.926, 3.297, 3.748, 4.293, 4.942",\
                 "2.256, 2.328, 2.501, 2.729, 3.002, 3.321, 3.7, 4.155, 4.701, 5.35");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.4266, 0.4766, 0.6178, 0.8506, 1.201, 1.69, 2.335, 3.147, 4.138, 5.319",\
                 "0.4354, 0.4858, 0.6268, 0.8597, 1.21, 1.699, 2.343, 3.156, 4.146, 5.328",\
                 "0.4607, 0.511, 0.6519, 0.8845, 1.235, 1.724, 2.369, 3.181, 4.172, 5.349",\
                 "0.5107, 0.5611, 0.7022, 0.9343, 1.284, 1.773, 2.418, 3.229, 4.22, 5.402",\
                 "0.5625, 0.6152, 0.759, 0.9921, 1.341, 1.829, 2.473, 3.285, 4.275, 5.455",\
                 "0.6015, 0.6563, 0.8033, 1.038, 1.387, 1.874, 2.517, 3.328, 4.318, 5.497",\
                 "0.6167, 0.6747, 0.8268, 1.065, 1.414, 1.9, 2.542, 3.351, 4.341, 5.52",\
                 "0.6042, 0.6654, 0.8233, 1.068, 1.419, 1.905, 2.546, 3.355, 4.343, 5.522",\
                 "0.5593, 0.6243, 0.7884, 1.041, 1.396, 1.886, 2.528, 3.335, 4.323, 5.501",\
                 "0.4805, 0.55, 0.7217, 0.9793, 1.342, 1.837, 2.484, 3.292, 4.279, 5.456");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1841, 0.2385, 0.3699, 0.567, 0.8496, 1.258, 1.817, 2.548, 3.457, 4.548",\
                 "0.1848, 0.24, 0.3699, 0.567, 0.8504, 1.256, 1.817, 2.547, 3.455, 4.549",\
                 "0.1846, 0.2394, 0.3693, 0.5666, 0.8496, 1.257, 1.817, 2.55, 3.459, 4.546",\
                 "0.1838, 0.2384, 0.37, 0.5674, 0.8498, 1.258, 1.817, 2.551, 3.459, 4.548",\
                 "0.1946, 0.249, 0.378, 0.5734, 0.8538, 1.259, 1.819, 2.551, 3.459, 4.545",\
                 "0.2078, 0.2654, 0.3978, 0.5924, 0.8682, 1.268, 1.822, 2.55, 3.459, 4.549",\
                 "0.2264, 0.2834, 0.4194, 0.6142, 0.8898, 1.283, 1.832, 2.556, 3.46, 4.549",\
                 "0.2502, 0.3104, 0.4494, 0.6446, 0.916, 1.303, 1.845, 2.563, 3.463, 4.55",\
                 "0.2784, 0.3424, 0.4876, 0.6848, 0.9558, 1.335, 1.865, 2.572, 3.467, 4.547",\
                 "0.3094, 0.3764, 0.5296, 0.7322, 1.008, 1.383, 1.902, 2.595, 3.482, 4.557");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1211, 0.1809, 0.3759, 0.7459, 1.351, 2.212, 3.344, 4.777, 6.523, 8.606",\
                 "0.121, 0.1813, 0.3758, 0.7461, 1.351, 2.213, 3.346, 4.777, 6.523, 8.605",\
                 "0.1205, 0.1814, 0.3756, 0.746, 1.349, 2.212, 3.348, 4.776, 6.524, 8.6",\
                 "0.1237, 0.1835, 0.3772, 0.746, 1.351, 2.209, 3.345, 4.777, 6.523, 8.605",\
                 "0.1354, 0.1946, 0.3878, 0.7508, 1.352, 2.212, 3.345, 4.783, 6.533, 8.602",\
                 "0.1488, 0.2078, 0.401, 0.7604, 1.354, 2.211, 3.344, 4.775, 6.519, 8.612",\
                 "0.1678, 0.2266, 0.4196, 0.7742, 1.361, 2.216, 3.346, 4.78, 6.527, 8.6",\
                 "0.1888, 0.2498, 0.4424, 0.7974, 1.375, 2.221, 3.35, 4.776, 6.531, 8.605",\
                 "0.2144, 0.2772, 0.468, 0.8226, 1.401, 2.241, 3.357, 4.779, 6.52, 8.604",\
                 "0.2402, 0.3042, 0.4952, 0.8522, 1.429, 2.27, 3.383, 4.79, 6.524, 8.599");
        }
      }

      timing() {
        related_pin : "I0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.6435, 0.7014, 0.8411, 1.031, 1.267, 1.559, 1.923, 2.372, 2.918, 3.568",\
                 "0.6567, 0.7143, 0.8543, 1.044, 1.281, 1.572, 1.936, 2.385, 2.931, 3.581",\
                 "0.6949, 0.7526, 0.8923, 1.083, 1.319, 1.611, 1.974, 2.423, 2.969, 3.619",\
                 "0.7742, 0.832, 0.9713, 1.161, 1.397, 1.689, 2.052, 2.501, 3.047, 3.697",\
                 "0.9086, 0.9678, 1.109, 1.299, 1.536, 1.828, 2.191, 2.64, 3.186, 3.836",\
                 "1.089, 1.15, 1.296, 1.491, 1.732, 2.026, 2.39, 2.839, 3.384, 4.034",\
                 "1.32, 1.382, 1.532, 1.733, 1.979, 2.276, 2.642, 3.091, 3.636, 4.285",\
                 "1.592, 1.659, 1.816, 2.023, 2.275, 2.576, 2.944, 3.394, 3.939, 4.587",\
                 "1.905, 1.974, 2.139, 2.357, 2.617, 2.926, 3.297, 3.748, 4.293, 4.942",\
                 "2.256, 2.328, 2.501, 2.729, 3.002, 3.321, 3.7, 4.155, 4.701, 5.35");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.4266, 0.4766, 0.6178, 0.8506, 1.201, 1.69, 2.335, 3.147, 4.138, 5.319",\
                 "0.4354, 0.4858, 0.6268, 0.8597, 1.21, 1.699, 2.343, 3.156, 4.146, 5.328",\
                 "0.4607, 0.511, 0.6519, 0.8845, 1.235, 1.724, 2.369, 3.181, 4.172, 5.349",\
                 "0.5107, 0.5611, 0.7022, 0.9343, 1.284, 1.773, 2.418, 3.229, 4.22, 5.402",\
                 "0.5625, 0.6152, 0.759, 0.9921, 1.341, 1.829, 2.473, 3.285, 4.275, 5.455",\
                 "0.6015, 0.6563, 0.8033, 1.038, 1.387, 1.874, 2.517, 3.328, 4.318, 5.497",\
                 "0.6167, 0.6747, 0.8268, 1.065, 1.414, 1.9, 2.542, 3.351, 4.341, 5.52",\
                 "0.6042, 0.6654, 0.8233, 1.068, 1.419, 1.905, 2.546, 3.355, 4.343, 5.522",\
                 "0.5593, 0.6243, 0.7884, 1.041, 1.396, 1.886, 2.528, 3.335, 4.323, 5.501",\
                 "0.4805, 0.55, 0.7217, 0.9793, 1.342, 1.837, 2.484, 3.292, 4.279, 5.456");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1841, 0.2385, 0.3699, 0.567, 0.8496, 1.258, 1.817, 2.548, 3.457, 4.548",\
                 "0.1848, 0.24, 0.3699, 0.567, 0.8504, 1.256, 1.817, 2.547, 3.455, 4.549",\
                 "0.1846, 0.2394, 0.3693, 0.5666, 0.8496, 1.257, 1.817, 2.55, 3.459, 4.546",\
                 "0.1838, 0.2384, 0.37, 0.5674, 0.8498, 1.258, 1.817, 2.551, 3.459, 4.548",\
                 "0.1946, 0.249, 0.378, 0.5734, 0.8538, 1.259, 1.819, 2.551, 3.459, 4.545",\
                 "0.2078, 0.2654, 0.3978, 0.5924, 0.8682, 1.268, 1.822, 2.55, 3.459, 4.549",\
                 "0.2264, 0.2834, 0.4194, 0.6142, 0.8898, 1.283, 1.832, 2.556, 3.46, 4.549",\
                 "0.2502, 0.3104, 0.4494, 0.6446, 0.916, 1.303, 1.845, 2.563, 3.463, 4.55",\
                 "0.2784, 0.3424, 0.4876, 0.6848, 0.9558, 1.335, 1.865, 2.572, 3.467, 4.547",\
                 "0.3094, 0.3764, 0.5296, 0.7322, 1.008, 1.383, 1.902, 2.595, 3.482, 4.557");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1211, 0.1809, 0.3759, 0.7459, 1.351, 2.212, 3.344, 4.777, 6.523, 8.606",\
                 "0.121, 0.1813, 0.3758, 0.7461, 1.351, 2.213, 3.346, 4.777, 6.523, 8.605",\
                 "0.1205, 0.1814, 0.3756, 0.746, 1.349, 2.212, 3.348, 4.776, 6.524, 8.6",\
                 "0.1237, 0.1835, 0.3772, 0.746, 1.351, 2.209, 3.345, 4.777, 6.523, 8.605",\
                 "0.1354, 0.1946, 0.3878, 0.7508, 1.352, 2.212, 3.345, 4.783, 6.533, 8.602",\
                 "0.1488, 0.2078, 0.401, 0.7604, 1.354, 2.211, 3.344, 4.775, 6.519, 8.612",\
                 "0.1678, 0.2266, 0.4196, 0.7742, 1.361, 2.216, 3.346, 4.78, 6.527, 8.6",\
                 "0.1888, 0.2498, 0.4424, 0.7974, 1.375, 2.221, 3.35, 4.776, 6.531, 8.605",\
                 "0.2144, 0.2772, 0.468, 0.8226, 1.401, 2.241, 3.357, 4.779, 6.52, 8.604",\
                 "0.2402, 0.3042, 0.4952, 0.8522, 1.429, 2.27, 3.383, 4.79, 6.524, 8.599");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.6495, 0.7071, 0.8465, 1.037, 1.273, 1.565, 1.929, 2.379, 2.924, 3.574",\
                 "0.6633, 0.7209, 0.8604, 1.05, 1.287, 1.579, 1.943, 2.392, 2.938, 3.588",\
                 "0.7029, 0.7605, 0.9002, 1.09, 1.326, 1.619, 1.983, 2.432, 2.978, 3.628",\
                 "0.7806, 0.8382, 0.9774, 1.167, 1.403, 1.696, 2.06, 2.509, 3.055, 3.704",\
                 "0.9124, 0.9712, 1.112, 1.303, 1.539, 1.832, 2.195, 2.645, 3.19, 3.84",\
                 "1.091, 1.152, 1.297, 1.493, 1.734, 2.029, 2.393, 2.842, 3.387, 4.037",\
                 "1.32, 1.382, 1.532, 1.733, 1.979, 2.277, 2.643, 3.093, 3.638, 4.287",\
                 "1.592, 1.658, 1.815, 2.023, 2.275, 2.576, 2.945, 3.395, 3.94, 4.589",\
                 "1.904, 1.973, 2.138, 2.355, 2.617, 2.926, 3.297, 3.748, 4.294, 4.943",\
                 "2.254, 2.326, 2.5, 2.728, 3.001, 3.321, 3.7, 4.154, 4.7, 5.35");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.4258, 0.4761, 0.6171, 0.8498, 1.2, 1.69, 2.334, 3.146, 4.137, 5.318",\
                 "0.4348, 0.4853, 0.626, 0.8588, 1.209, 1.699, 2.343, 3.155, 4.146, 5.327",\
                 "0.4613, 0.5117, 0.6526, 0.8854, 1.235, 1.725, 2.37, 3.182, 4.172, 5.35",\
                 "0.5133, 0.5637, 0.7047, 0.9366, 1.286, 1.776, 2.421, 3.231, 4.222, 5.404",\
                 "0.5672, 0.6197, 0.7632, 0.9963, 1.345, 1.833, 2.478, 3.287, 4.278, 5.46",\
                 "0.6074, 0.662, 0.8088, 1.044, 1.392, 1.88, 2.522, 3.333, 4.324, 5.504",\
                 "0.6242, 0.6817, 0.8333, 1.072, 1.421, 1.907, 2.549, 3.358, 4.347, 5.526",\
                 "0.6125, 0.6737, 0.8309, 1.075, 1.426, 1.912, 2.553, 3.362, 4.35, 5.529",\
                 "0.5683, 0.6333, 0.7974, 1.048, 1.405, 1.894, 2.535, 3.343, 4.331, 5.509",\
                 "0.4902, 0.5591, 0.7306, 0.9886, 1.349, 1.846, 2.492, 3.3, 4.287, 5.465");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1833, 0.2378, 0.3687, 0.5671, 0.8504, 1.259, 1.818, 2.551, 3.459, 4.548",\
                 "0.1832, 0.2378, 0.3686, 0.5672, 0.8502, 1.259, 1.818, 2.548, 3.458, 4.548",\
                 "0.1837, 0.2387, 0.3682, 0.567, 0.8506, 1.258, 1.818, 2.551, 3.455, 4.549",\
                 "0.1832, 0.2378, 0.3688, 0.5676, 0.8508, 1.259, 1.818, 2.551, 3.455, 4.549",\
                 "0.194, 0.2486, 0.377, 0.5732, 0.8542, 1.261, 1.821, 2.549, 3.458, 4.547",\
                 "0.2074, 0.2636, 0.3968, 0.5924, 0.8698, 1.269, 1.823, 2.551, 3.458, 4.549",\
                 "0.2254, 0.2834, 0.4198, 0.6152, 0.8912, 1.285, 1.833, 2.555, 3.458, 4.548",\
                 "0.2492, 0.3108, 0.4498, 0.645, 0.9172, 1.305, 1.846, 2.563, 3.462, 4.55",\
                 "0.277, 0.3414, 0.4862, 0.6868, 0.9578, 1.338, 1.867, 2.575, 3.467, 4.549",\
                 "0.3084, 0.376, 0.5292, 0.7326, 1.01, 1.385, 1.905, 2.596, 3.477, 4.557");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1208, 0.181, 0.3754, 0.7452, 1.35, 2.211, 3.349, 4.776, 6.521, 8.606",\
                 "0.1214, 0.1812, 0.376, 0.7454, 1.352, 2.211, 3.35, 4.776, 6.52, 8.606",\
                 "0.1204, 0.1813, 0.3747, 0.7453, 1.352, 2.211, 3.35, 4.776, 6.523, 8.6",\
                 "0.1237, 0.1834, 0.3772, 0.747, 1.35, 2.209, 3.346, 4.78, 6.523, 8.604",\
                 "0.1354, 0.1946, 0.3868, 0.7508, 1.353, 2.213, 3.346, 4.775, 6.522, 8.605",\
                 "0.1486, 0.2084, 0.4006, 0.7604, 1.354, 2.212, 3.349, 4.782, 6.519, 8.603",\
                 "0.167, 0.2266, 0.4194, 0.7748, 1.361, 2.216, 3.349, 4.781, 6.528, 8.616",\
                 "0.189, 0.2492, 0.4412, 0.796, 1.376, 2.222, 3.353, 4.776, 6.528, 8.599",\
                 "0.2136, 0.2762, 0.4666, 0.8214, 1.4, 2.24, 3.357, 4.782, 6.521, 8.601",\
                 "0.2384, 0.3028, 0.4938, 0.8512, 1.43, 2.272, 3.383, 4.794, 6.526, 8.599");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.6495, 0.7072, 0.8466, 1.037, 1.273, 1.566, 1.929, 2.379, 2.924, 3.574",\
                 "0.6633, 0.7209, 0.8605, 1.05, 1.287, 1.579, 1.943, 2.392, 2.938, 3.588",\
                 "0.7029, 0.7605, 0.9002, 1.09, 1.326, 1.619, 1.983, 2.432, 2.978, 3.628",\
                 "0.7806, 0.8383, 0.9774, 1.167, 1.403, 1.696, 2.06, 2.509, 3.055, 3.704",\
                 "0.9127, 0.9712, 1.112, 1.303, 1.539, 1.832, 2.195, 2.645, 3.19, 3.84",\
                 "1.091, 1.151, 1.297, 1.493, 1.734, 2.029, 2.393, 2.842, 3.387, 4.037",\
                 "1.32, 1.383, 1.532, 1.733, 1.979, 2.277, 2.643, 3.092, 3.638, 4.287",\
                 "1.592, 1.658, 1.815, 2.023, 2.275, 2.577, 2.944, 3.395, 3.94, 4.589",\
                 "1.903, 1.973, 2.138, 2.355, 2.617, 2.926, 3.297, 3.748, 4.294, 4.943",\
                 "2.254, 2.326, 2.5, 2.728, 3.001, 3.321, 3.699, 4.154, 4.7, 5.35");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.4258, 0.4761, 0.6171, 0.8498, 1.2, 1.69, 2.334, 3.146, 4.137, 5.318",\
                 "0.4348, 0.4852, 0.6261, 0.8588, 1.209, 1.699, 2.344, 3.155, 4.146, 5.327",\
                 "0.4613, 0.5115, 0.6526, 0.8855, 1.235, 1.725, 2.37, 3.18, 4.172, 5.35",\
                 "0.5133, 0.564, 0.7046, 0.9366, 1.286, 1.776, 2.421, 3.232, 4.221, 5.404",\
                 "0.5672, 0.6197, 0.7632, 0.9964, 1.345, 1.834, 2.477, 3.289, 4.28, 5.461",\
                 "0.6076, 0.6621, 0.8091, 1.044, 1.392, 1.88, 2.522, 3.333, 4.324, 5.504",\
                 "0.6242, 0.6817, 0.8334, 1.072, 1.421, 1.907, 2.548, 3.358, 4.348, 5.526",\
                 "0.6126, 0.6736, 0.8309, 1.075, 1.426, 1.912, 2.553, 3.362, 4.35, 5.529",\
                 "0.5683, 0.6333, 0.7974, 1.048, 1.404, 1.894, 2.535, 3.343, 4.33, 5.508",\
                 "0.4902, 0.5592, 0.7303, 0.9885, 1.35, 1.845, 2.492, 3.301, 4.287, 5.465");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1835, 0.2378, 0.3688, 0.5671, 0.8506, 1.259, 1.817, 2.549, 3.458, 4.548",\
                 "0.1832, 0.2378, 0.3682, 0.5672, 0.851, 1.257, 1.818, 2.551, 3.459, 4.549",\
                 "0.1837, 0.2388, 0.3682, 0.567, 0.8508, 1.259, 1.818, 2.55, 3.455, 4.547",\
                 "0.1832, 0.2376, 0.3684, 0.5674, 0.8506, 1.259, 1.818, 2.551, 3.458, 4.549",\
                 "0.1936, 0.2486, 0.377, 0.5732, 0.854, 1.261, 1.819, 2.551, 3.459, 4.546",\
                 "0.2068, 0.2648, 0.3972, 0.5928, 0.8698, 1.269, 1.823, 2.553, 3.458, 4.547",\
                 "0.2246, 0.2824, 0.4198, 0.615, 0.8906, 1.284, 1.834, 2.557, 3.459, 4.549",\
                 "0.2492, 0.3108, 0.4494, 0.6452, 0.9178, 1.306, 1.846, 2.563, 3.462, 4.546",\
                 "0.2774, 0.342, 0.4886, 0.6862, 0.9582, 1.338, 1.867, 2.575, 3.467, 4.548",\
                 "0.3092, 0.3764, 0.5284, 0.733, 1.01, 1.384, 1.905, 2.596, 3.477, 4.553");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1208, 0.181, 0.3754, 0.7452, 1.352, 2.211, 3.349, 4.776, 6.521, 8.606",\
                 "0.1213, 0.1811, 0.3749, 0.7456, 1.35, 2.213, 3.345, 4.777, 6.523, 8.607",\
                 "0.1204, 0.181, 0.3749, 0.7452, 1.352, 2.211, 3.347, 4.776, 6.524, 8.602",\
                 "0.1237, 0.1833, 0.3766, 0.7474, 1.349, 2.21, 3.346, 4.781, 6.524, 8.604",\
                 "0.1354, 0.1946, 0.3872, 0.7508, 1.352, 2.213, 3.344, 4.785, 6.521, 8.606",\
                 "0.1486, 0.2074, 0.4008, 0.7602, 1.354, 2.211, 3.35, 4.778, 6.519, 8.603",\
                 "0.167, 0.2268, 0.42, 0.7742, 1.361, 2.215, 3.348, 4.781, 6.523, 8.616",\
                 "0.1886, 0.2492, 0.4412, 0.7958, 1.376, 2.223, 3.351, 4.776, 6.526, 8.599",\
                 "0.2134, 0.2754, 0.4662, 0.8224, 1.402, 2.242, 3.357, 4.779, 6.52, 8.6",\
                 "0.239, 0.3026, 0.4932, 0.8514, 1.428, 2.269, 3.384, 4.792, 6.528, 8.599");
        }
      }

      timing() {
        related_pin : "I1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.6495, 0.7072, 0.8466, 1.037, 1.273, 1.566, 1.929, 2.379, 2.924, 3.574",\
                 "0.6633, 0.7209, 0.8605, 1.05, 1.287, 1.579, 1.943, 2.392, 2.938, 3.588",\
                 "0.7029, 0.7605, 0.9002, 1.09, 1.326, 1.619, 1.983, 2.432, 2.978, 3.628",\
                 "0.7806, 0.8383, 0.9774, 1.167, 1.403, 1.696, 2.06, 2.509, 3.055, 3.704",\
                 "0.9127, 0.9712, 1.112, 1.303, 1.539, 1.832, 2.195, 2.645, 3.19, 3.84",\
                 "1.091, 1.151, 1.297, 1.493, 1.734, 2.029, 2.393, 2.842, 3.387, 4.037",\
                 "1.32, 1.383, 1.532, 1.733, 1.979, 2.277, 2.643, 3.092, 3.638, 4.287",\
                 "1.592, 1.658, 1.815, 2.023, 2.275, 2.577, 2.944, 3.395, 3.94, 4.589",\
                 "1.903, 1.973, 2.138, 2.355, 2.617, 2.926, 3.297, 3.748, 4.294, 4.943",\
                 "2.254, 2.326, 2.5, 2.728, 3.001, 3.321, 3.699, 4.154, 4.7, 5.35");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.4258, 0.4761, 0.6171, 0.8498, 1.2, 1.69, 2.334, 3.146, 4.137, 5.318",\
                 "0.4348, 0.4852, 0.6261, 0.8588, 1.209, 1.699, 2.344, 3.155, 4.146, 5.327",\
                 "0.4613, 0.5115, 0.6526, 0.8855, 1.235, 1.725, 2.37, 3.18, 4.172, 5.35",\
                 "0.5133, 0.564, 0.7046, 0.9366, 1.286, 1.776, 2.421, 3.232, 4.221, 5.404",\
                 "0.5672, 0.6197, 0.7632, 0.9964, 1.345, 1.834, 2.477, 3.289, 4.28, 5.461",\
                 "0.6076, 0.6621, 0.8091, 1.044, 1.392, 1.88, 2.522, 3.333, 4.324, 5.504",\
                 "0.6242, 0.6817, 0.8334, 1.072, 1.421, 1.907, 2.548, 3.358, 4.348, 5.526",\
                 "0.6126, 0.6736, 0.8309, 1.075, 1.426, 1.912, 2.553, 3.362, 4.35, 5.529",\
                 "0.5683, 0.6333, 0.7974, 1.048, 1.404, 1.894, 2.535, 3.343, 4.33, 5.508",\
                 "0.4902, 0.5592, 0.7303, 0.9885, 1.35, 1.845, 2.492, 3.301, 4.287, 5.465");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1833, 0.2378, 0.3687, 0.5671, 0.8504, 1.259, 1.818, 2.551, 3.459, 4.548",\
                 "0.1832, 0.2378, 0.3686, 0.5672, 0.8502, 1.259, 1.818, 2.548, 3.458, 4.548",\
                 "0.1837, 0.2387, 0.3682, 0.567, 0.8506, 1.258, 1.818, 2.551, 3.455, 4.549",\
                 "0.1832, 0.2378, 0.3688, 0.5676, 0.8508, 1.259, 1.818, 2.551, 3.455, 4.549",\
                 "0.194, 0.2486, 0.377, 0.5732, 0.8542, 1.261, 1.821, 2.549, 3.458, 4.547",\
                 "0.2074, 0.2636, 0.3968, 0.5924, 0.8698, 1.269, 1.823, 2.551, 3.458, 4.549",\
                 "0.2254, 0.2834, 0.4198, 0.6152, 0.8912, 1.285, 1.833, 2.555, 3.458, 4.548",\
                 "0.2492, 0.3108, 0.4498, 0.645, 0.9172, 1.305, 1.846, 2.563, 3.462, 4.55",\
                 "0.277, 0.3414, 0.4862, 0.6868, 0.9578, 1.338, 1.867, 2.575, 3.467, 4.549",\
                 "0.3084, 0.376, 0.5292, 0.7326, 1.01, 1.385, 1.905, 2.596, 3.477, 4.557");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1208, 0.181, 0.3754, 0.7452, 1.35, 2.211, 3.349, 4.776, 6.521, 8.606",\
                 "0.1214, 0.1812, 0.376, 0.7454, 1.352, 2.211, 3.35, 4.776, 6.52, 8.606",\
                 "0.1204, 0.1813, 0.3747, 0.7453, 1.352, 2.211, 3.35, 4.776, 6.523, 8.6",\
                 "0.1237, 0.1834, 0.3772, 0.747, 1.35, 2.209, 3.346, 4.78, 6.523, 8.604",\
                 "0.1354, 0.1946, 0.3868, 0.7508, 1.353, 2.213, 3.346, 4.775, 6.522, 8.605",\
                 "0.1486, 0.2084, 0.4006, 0.7604, 1.354, 2.212, 3.349, 4.782, 6.519, 8.603",\
                 "0.167, 0.2266, 0.4194, 0.7748, 1.361, 2.216, 3.349, 4.781, 6.528, 8.616",\
                 "0.189, 0.2492, 0.4412, 0.796, 1.376, 2.222, 3.353, 4.776, 6.528, 8.599",\
                 "0.2136, 0.2762, 0.4666, 0.8214, 1.4, 2.24, 3.357, 4.782, 6.521, 8.601",\
                 "0.2384, 0.3028, 0.4938, 0.8512, 1.43, 2.272, 3.383, 4.794, 6.526, 8.599");
        }
      }

      timing() {
        related_pin : "S" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.6659, 0.7237, 0.863, 1.053, 1.289, 1.582, 1.946, 2.395, 2.941, 3.59",\
                 "0.6802, 0.7377, 0.8771, 1.067, 1.304, 1.596, 1.96, 2.409, 2.955, 3.605",\
                 "0.7163, 0.7738, 0.9135, 1.103, 1.34, 1.632, 1.996, 2.445, 2.991, 3.641",\
                 "0.7416, 0.7993, 0.9389, 1.129, 1.365, 1.658, 2.021, 2.471, 3.017, 3.666",\
                 "0.7587, 0.8154, 0.9513, 1.14, 1.375, 1.668, 2.032, 2.481, 3.027, 3.676",\
                 "0.7512, 0.8065, 0.9416, 1.13, 1.365, 1.657, 2.021, 2.471, 3.017, 3.666",\
                 "0.7176, 0.7731, 0.9083, 1.096, 1.331, 1.624, 1.988, 2.437, 2.983, 3.633",\
                 "0.657, 0.7128, 0.8483, 1.037, 1.273, 1.566, 1.93, 2.379, 2.925, 3.575",\
                 "0.5673, 0.6241, 0.7592, 0.9482, 1.184, 1.477, 1.842, 2.293, 2.84, 3.49",\
                 "0.4478, 0.5038, 0.6404, 0.8292, 1.066, 1.361, 1.73, 2.186, 2.736, 3.386");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.5433, 0.5936, 0.7345, 0.9671, 1.317, 1.807, 2.452, 3.262, 4.253, 5.436",\
                 "0.5587, 0.609, 0.7498, 0.9825, 1.332, 1.822, 2.467, 3.278, 4.269, 5.449",\
                 "0.6259, 0.6762, 0.8172, 1.05, 1.4, 1.889, 2.534, 3.345, 4.337, 5.518",\
                 "0.7365, 0.7867, 0.9276, 1.16, 1.51, 2, 2.644, 3.457, 4.447, 5.625",\
                 "0.8749, 0.925, 1.066, 1.299, 1.649, 2.139, 2.783, 3.595, 4.584, 5.765",\
                 "1.046, 1.096, 1.237, 1.469, 1.819, 2.309, 2.954, 3.765, 4.756, 5.937",\
                 "1.247, 1.298, 1.439, 1.671, 2.021, 2.511, 3.155, 3.966, 4.956, 6.137",\
                 "1.48, 1.531, 1.672, 1.905, 2.255, 2.744, 3.388, 4.199, 5.19, 6.37",\
                 "1.745, 1.796, 1.937, 2.17, 2.522, 3.012, 3.656, 4.467, 5.457, 6.637",\
                 "2.042, 2.093, 2.235, 2.469, 2.822, 3.313, 3.957, 4.767, 5.758, 6.938");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1836, 0.2377, 0.3681, 0.5672, 0.85, 1.258, 1.817, 2.55, 3.458, 4.548",\
                 "0.1841, 0.2387, 0.3685, 0.5671, 0.8504, 1.258, 1.819, 2.551, 3.457, 4.549",\
                 "0.1838, 0.2393, 0.3682, 0.5672, 0.8508, 1.258, 1.818, 2.551, 3.458, 4.549",\
                 "0.1828, 0.237, 0.3676, 0.5666, 0.8504, 1.259, 1.817, 2.55, 3.459, 4.549",\
                 "0.1784, 0.2312, 0.3598, 0.5614, 0.8488, 1.257, 1.817, 2.548, 3.458, 4.548",\
                 "0.1752, 0.2278, 0.358, 0.5602, 0.8466, 1.256, 1.817, 2.551, 3.459, 4.549",\
                 "0.1764, 0.2286, 0.3596, 0.5612, 0.8462, 1.256, 1.816, 2.547, 3.457, 4.544",\
                 "0.1782, 0.2306, 0.3608, 0.5626, 0.848, 1.258, 1.82, 2.55, 3.453, 4.542",\
                 "0.18, 0.2326, 0.3624, 0.5642, 0.85, 1.26, 1.822, 2.551, 3.455, 4.543",\
                 "0.1816, 0.2344, 0.3652, 0.5662, 0.8524, 1.269, 1.841, 2.572, 3.468, 4.546");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1212, 0.181, 0.375, 0.745, 1.351, 2.214, 3.346, 4.779, 6.529, 8.603",\
                 "0.1206, 0.1812, 0.376, 0.7454, 1.349, 2.21, 3.349, 4.782, 6.523, 8.604",\
                 "0.1209, 0.181, 0.3761, 0.7454, 1.35, 2.213, 3.346, 4.779, 6.523, 8.602",\
                 "0.121, 0.1812, 0.3752, 0.7452, 1.349, 2.213, 3.347, 4.776, 6.523, 8.601",\
                 "0.121, 0.1802, 0.3758, 0.7458, 1.349, 2.212, 3.346, 4.784, 6.524, 8.605",\
                 "0.1206, 0.1806, 0.376, 0.7452, 1.349, 2.211, 3.346, 4.784, 6.522, 8.6",\
                 "0.1218, 0.1818, 0.3764, 0.7468, 1.35, 2.21, 3.348, 4.781, 6.529, 8.598",\
                 "0.1238, 0.1838, 0.3786, 0.747, 1.35, 2.211, 3.343, 4.777, 6.517, 8.61",\
                 "0.1256, 0.1864, 0.3804, 0.7508, 1.354, 2.212, 3.343, 4.774, 6.517, 8.611",\
                 "0.1292, 0.1884, 0.3822, 0.7554, 1.361, 2.214, 3.343, 4.773, 6.519, 8.604");
        }
      }

      timing() {
        related_pin : "S" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.558, 0.616, 0.7559, 0.946, 1.182, 1.474, 1.838, 2.287, 2.833, 3.482",\
                 "0.5691, 0.6271, 0.7671, 0.9571, 1.193, 1.485, 1.849, 2.298, 2.844, 3.493",\
                 "0.6196, 0.6775, 0.8174, 1.007, 1.243, 1.535, 1.899, 2.348, 2.894, 3.544",\
                 "0.739, 0.7966, 0.936, 1.126, 1.362, 1.654, 2.017, 2.466, 3.012, 3.662",\
                 "0.9295, 0.9881, 1.129, 1.319, 1.555, 1.847, 2.21, 2.659, 3.204, 3.854",\
                 "1.158, 1.221, 1.368, 1.564, 1.805, 2.098, 2.462, 2.91, 3.455, 4.105",\
                 "1.43, 1.496, 1.651, 1.853, 2.097, 2.394, 2.76, 3.209, 3.753, 4.402",\
                 "1.748, 1.817, 1.98, 2.189, 2.44, 2.739, 3.105, 3.554, 4.1, 4.748",\
                 "2.109, 2.182, 2.355, 2.574, 2.832, 3.136, 3.503, 3.952, 4.497, 5.146",\
                 "2.513, 2.59, 2.772, 3.005, 3.273, 3.585, 3.957, 4.407, 4.952, 5.6");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.3785, 0.4288, 0.5698, 0.8026, 1.153, 1.642, 2.288, 3.098, 4.089, 5.27",\
                 "0.3915, 0.4417, 0.5826, 0.8157, 1.166, 1.655, 2.3, 3.111, 4.101, 5.284",\
                 "0.4367, 0.487, 0.6279, 0.8606, 1.211, 1.701, 2.345, 3.157, 4.148, 5.326",\
                 "0.5208, 0.5712, 0.7112, 0.9427, 1.292, 1.781, 2.426, 3.237, 4.228, 5.408",\
                 "0.5979, 0.6504, 0.7929, 1.025, 1.373, 1.86, 2.503, 3.315, 4.304, 5.486",\
                 "0.6537, 0.7086, 0.8543, 1.087, 1.434, 1.921, 2.562, 3.374, 4.362, 5.544",\
                 "0.6823, 0.7413, 0.8924, 1.128, 1.473, 1.958, 2.599, 3.408, 4.398, 5.578",\
                 "0.6796, 0.7428, 0.9007, 1.141, 1.488, 1.971, 2.61, 3.418, 4.406, 5.585",\
                 "0.6411, 0.7086, 0.8744, 1.121, 1.472, 1.956, 2.595, 3.402, 4.389, 5.567",\
                 "0.5652, 0.6369, 0.8113, 1.066, 1.42, 1.909, 2.551, 3.358, 4.343, 5.521");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1838, 0.2382, 0.3685, 0.5667, 0.8492, 1.258, 1.817, 2.548, 3.458, 4.548",\
                 "0.1838, 0.2381, 0.3686, 0.5668, 0.8494, 1.258, 1.817, 2.547, 3.457, 4.549",\
                 "0.1841, 0.2381, 0.3684, 0.5666, 0.8492, 1.257, 1.816, 2.548, 3.456, 4.549",\
                 "0.1834, 0.2376, 0.3688, 0.5674, 0.8504, 1.258, 1.816, 2.551, 3.459, 4.544",\
                 "0.1996, 0.2532, 0.38, 0.5738, 0.8538, 1.259, 1.82, 2.551, 3.459, 4.544",\
                 "0.226, 0.2826, 0.4104, 0.5994, 0.8722, 1.269, 1.823, 2.552, 3.458, 4.547",\
                 "0.2506, 0.3104, 0.4418, 0.6276, 0.8968, 1.288, 1.835, 2.556, 3.46, 4.546",\
                 "0.2816, 0.3434, 0.4786, 0.66, 0.9234, 1.307, 1.849, 2.565, 3.464, 4.55",\
                 "0.3172, 0.382, 0.5246, 0.7042, 0.9602, 1.33, 1.861, 2.574, 3.47, 4.551",\
                 "0.353, 0.4232, 0.5754, 0.7582, 1.009, 1.371, 1.888, 2.587, 3.477, 4.556");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01093, 0.04579, 0.1124, 0.2161, 0.3616, 0.5531, 0.7943, 1.089, 1.44");
          values("0.1209, 0.1812, 0.3752, 0.7452, 1.349, 2.213, 3.346, 4.78, 6.523, 8.606",\
                 "0.1205, 0.1813, 0.3758, 0.7465, 1.349, 2.212, 3.348, 4.775, 6.521, 8.606",\
                 "0.1214, 0.1813, 0.3759, 0.7451, 1.352, 2.211, 3.347, 4.786, 6.524, 8.601",\
                 "0.1254, 0.1843, 0.3774, 0.746, 1.351, 2.211, 3.345, 4.783, 6.523, 8.605",\
                 "0.1412, 0.1992, 0.3896, 0.7526, 1.353, 2.213, 3.347, 4.78, 6.522, 8.605",\
                 "0.16, 0.2168, 0.4044, 0.761, 1.356, 2.215, 3.345, 4.785, 6.524, 8.605",\
                 "0.1842, 0.242, 0.425, 0.7728, 1.36, 2.216, 3.348, 4.775, 6.533, 8.611",\
                 "0.2096, 0.2692, 0.4506, 0.7946, 1.373, 2.22, 3.351, 4.779, 6.52, 8.6",\
                 "0.238, 0.2986, 0.4804, 0.8204, 1.393, 2.235, 3.357, 4.781, 6.523, 8.616",\
                 "0.2666, 0.3296, 0.5128, 0.8502, 1.417, 2.259, 3.377, 4.788, 6.526, 8.604");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__mux4_1) {
    area : 70.246400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002351052" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&!S0&S1" ;
      value : "0.0002345937" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&S0&!S1" ;
      value : "0.0002345937" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&S0&S1" ;
      value : "0.0002340822" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&!S0&!S1" ;
      value : "0.0002360457" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&!S0&S1" ;
      value : "0.0002355342" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&S0&!S1" ;
      value : "0.0002369829" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&S0&S1" ;
      value : "0.0002367024" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&!S0&!S1" ;
      value : "0.0002374944" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&!S0&S1" ;
      value : "0.0002372139" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&S0&!S1" ;
      value : "0.0002355342" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&S0&S1" ;
      value : "0.0002350227" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&!S0&!S1" ;
      value : "0.0002364714" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&!S0&S1" ;
      value : "0.0002361876" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&S0&!S1" ;
      value : "0.0002359599" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&S0&S1" ;
      value : "0.0002356761" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002360457" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&!S0&S1" ;
      value : "0.0002355342" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&S0&!S1" ;
      value : "0.0002372139" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&S0&S1" ;
      value : "0.0002364714" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&!S0&!S1" ;
      value : "0.0002369829" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&!S0&S1" ;
      value : "0.0002364714" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&S0&!S1" ;
      value : "0.0002376396" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&S0&S1" ;
      value : "0.0002371281" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&!S0&!S1" ;
      value : "0.0002384349" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&!S0&S1" ;
      value : "0.0002381511" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&S0&!S1" ;
      value : "0.0002381511" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&S0&S1" ;
      value : "0.0002374119" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&!S0&!S1" ;
      value : "0.0002374086" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&!S0&S1" ;
      value : "0.0002371281" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&S0&!S1" ;
      value : "0.0002366133" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&S0&S1" ;
      value : "0.0002361018" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002377254" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&!S0&S1" ;
      value : "0.0002369829" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&S0&!S1" ;
      value : "0.0002355342" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&S0&S1" ;
      value : "0.0002350227" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&!S0&!S1" ;
      value : "0.0002386626" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&!S0&S1" ;
      value : "0.0002379234" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&S0&!S1" ;
      value : "0.0002379234" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&S0&S1" ;
      value : "0.0002376396" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&!S0&!S1" ;
      value : "0.0002381511" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&!S0&S1" ;
      value : "0.0002376396" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&S0&!S1" ;
      value : "0.0002364714" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&S0&S1" ;
      value : "0.0002359599" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&!S0&!S1" ;
      value : "0.0002371248" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&!S0&S1" ;
      value : "0.0002366133" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&S0&!S1" ;
      value : "0.0002368971" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&S0&S1" ;
      value : "0.0002366166" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002366991" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&!S0&S1" ;
      value : "0.0002359599" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&S0&!S1" ;
      value : "0.0002361876" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&S0&S1" ;
      value : "0.0002354484" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&!S0&!S1" ;
      value : "0.0002376396" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&!S0&S1" ;
      value : "0.0002368971" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&S0&!S1" ;
      value : "0.0002366133" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&S0&S1" ;
      value : "0.0002361018" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&!S0&!S1" ;
      value : "0.0002371248" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&!S0&S1" ;
      value : "0.0002366133" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&S0&!S1" ;
      value : "0.0002371281" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&S0&S1" ;
      value : "0.0002363856" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&!S0&!S1" ;
      value : "0.0002361018" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&!S0&S1" ;
      value : "0.0002355903" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&S0&!S1" ;
      value : "0.0002355903" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&S0&S1" ;
      value : "0.0002350788" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002386626" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I0) {
      capacitance : 0.002787 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I1&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07623, 0.07594, 0.07693, 0.08099, 0.0891, 0.1021, 0.1205, 0.1448, \
                 0.1754, 0.2124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02225, 0.0221, 0.02293, 0.02616, 0.0327, 0.04339, 0.0587, 0.07913, \
                 0.105, 0.1366");
        }
      }

      internal_power() {
        when : "!I1&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02862, 0.02806, 0.02984, 0.0355, 0.04566, 0.06072, 0.08118, \
                 0.1072, 0.1394, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00347, 0.003228, 0.004196, 0.008491, 0.0168, 0.02953, 0.04696, \
                 0.06933, 0.09701, 0.1302");
        }
      }

      internal_power() {
        when : "!I1&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02862, 0.02806, 0.02984, 0.03549, 0.04566, 0.06072, 0.08118, \
                 0.1072, 0.1394, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003478, 0.003227, 0.004196, 0.008491, 0.0168, 0.02953, 0.04696, \
                 0.06933, 0.09701, 0.1302");
        }
      }

      internal_power() {
        when : "!I1&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07622, 0.07594, 0.07693, 0.08099, 0.08912, 0.1021, 0.1205, 0.1448, \
                 0.1754, 0.2124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02226, 0.02211, 0.02293, 0.02616, 0.0327, 0.04339, 0.0587, 0.07913, \
                 0.105, 0.1366");
        }
      }

      internal_power() {
        when : "!I1&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0286, 0.02806, 0.02984, 0.03549, 0.04566, 0.06074, 0.08117, \
                 0.1072, 0.1394, 0.1779");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003461, 0.003229, 0.004205, 0.008491, 0.0168, 0.02954, 0.04697, \
                 0.06933, 0.097, 0.1302");
        }
      }

      internal_power() {
        when : "!I1&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02861, 0.02806, 0.02984, 0.0355, 0.04566, 0.06074, 0.08117, \
                 0.1072, 0.1394, 0.1779");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003483, 0.003228, 0.004205, 0.008491, 0.0168, 0.02954, 0.04696, \
                 0.06933, 0.097, 0.1302");
        }
      }

      internal_power() {
        when : "!I1&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07623, 0.07594, 0.07693, 0.08098, 0.08911, 0.1021, 0.1205, 0.1448, \
                 0.1754, 0.2124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02226, 0.02211, 0.02293, 0.02617, 0.03271, 0.04338, 0.0587, \
                 0.07913, 0.105, 0.1366");
        }
      }

      internal_power() {
        when : "!I1&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0286, 0.02806, 0.02984, 0.03549, 0.04566, 0.06073, 0.08117, \
                 0.1072, 0.1394, 0.1779");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003479, 0.003227, 0.004196, 0.008491, 0.0168, 0.02953, 0.04696, \
                 0.06933, 0.09701, 0.1302");
        }
      }

      internal_power() {
        when : "!I1&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0286, 0.02806, 0.02985, 0.0355, 0.04566, 0.06074, 0.08117, 0.1072, \
                 0.1394, 0.1779");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00346, 0.003227, 0.004196, 0.008491, 0.0168, 0.02953, 0.04696, \
                 0.06933, 0.09701, 0.1302");
        }
      }

      internal_power() {
        when : "!I1&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07623, 0.07594, 0.07693, 0.08099, 0.08911, 0.1021, 0.1205, 0.1448, \
                 0.1753, 0.2124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02226, 0.02211, 0.02293, 0.02617, 0.03271, 0.04338, 0.0587, \
                 0.07913, 0.105, 0.1366");
        }
      }

      internal_power() {
        when : "!I1&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0286, 0.02806, 0.02984, 0.0355, 0.04566, 0.06074, 0.08115, 0.1072, \
                 0.1394, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003478, 0.003228, 0.004203, 0.008491, 0.0168, 0.02954, 0.04694, \
                 0.06933, 0.09701, 0.1302");
        }
      }

      internal_power() {
        when : "!I1&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0286, 0.02806, 0.02985, 0.0355, 0.04566, 0.06074, 0.08115, 0.1072, \
                 0.1394, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003471, 0.003228, 0.004208, 0.008491, 0.0168, 0.02954, 0.04694, \
                 0.06933, 0.097, 0.1302");
        }
      }

      internal_power() {
        when : "I1&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07622, 0.07594, 0.07693, 0.08099, 0.08911, 0.1021, 0.1206, 0.1448, \
                 0.1754, 0.2124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02226, 0.02211, 0.02293, 0.02616, 0.0327, 0.04338, 0.0587, 0.07913, \
                 0.105, 0.1366");
        }
      }

      internal_power() {
        when : "I1&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02862, 0.02806, 0.02984, 0.03549, 0.04566, 0.06074, 0.08118, \
                 0.1072, 0.1394, 0.1779");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003471, 0.003228, 0.004191, 0.00849, 0.01681, 0.02951, 0.04694, \
                 0.06933, 0.097, 0.1302");
        }
      }

      internal_power() {
        when : "I1&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02862, 0.02806, 0.02985, 0.03549, 0.04566, 0.06074, 0.08118, \
                 0.1072, 0.1394, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003462, 0.003228, 0.004186, 0.00849, 0.0168, 0.02951, 0.04695, \
                 0.06933, 0.09701, 0.1302");
        }
      }

      internal_power() {
        when : "I1&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07622, 0.07594, 0.07693, 0.08099, 0.08913, 0.1021, 0.1206, 0.1448, \
                 0.1754, 0.2124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02226, 0.02211, 0.02293, 0.02616, 0.0327, 0.04337, 0.05869, \
                 0.07913, 0.105, 0.1366");
        }
      }

      internal_power() {
        when : "I1&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0286, 0.02806, 0.02984, 0.03549, 0.04566, 0.06076, 0.08114, \
                 0.1072, 0.1394, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003476, 0.003229, 0.004211, 0.008489, 0.0168, 0.02951, 0.04695, \
                 0.06933, 0.09701, 0.1302");
        }
      }

      internal_power() {
        when : "I1&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02859, 0.02806, 0.02984, 0.03549, 0.04566, 0.06076, 0.08114, \
                 0.1072, 0.1394, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003473, 0.003229, 0.004211, 0.008489, 0.0168, 0.02951, 0.04695, \
                 0.06933, 0.097, 0.1302");
        }
      }

      internal_power() {
        when : "I1&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07623, 0.07594, 0.07693, 0.08098, 0.08911, 0.1021, 0.1205, 0.1448, \
                 0.1753, 0.2124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02226, 0.02211, 0.02293, 0.02616, 0.0327, 0.04338, 0.0587, 0.07913, \
                 0.105, 0.1366");
        }
      }

      internal_power() {
        when : "I1&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0286, 0.02806, 0.02985, 0.03549, 0.04566, 0.06074, 0.08117, \
                 0.1072, 0.1394, 0.1779");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00348, 0.003228, 0.004191, 0.00849, 0.01681, 0.02951, 0.04694, \
                 0.06932, 0.097, 0.1302");
        }
      }

      internal_power() {
        when : "I1&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02861, 0.02806, 0.02984, 0.03549, 0.04566, 0.06074, 0.08116, \
                 0.1072, 0.1393, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00348, 0.003228, 0.004186, 0.00849, 0.0168, 0.02951, 0.04694, \
                 0.06932, 0.09701, 0.1302");
        }
      }

      internal_power() {
        when : "I1&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07623, 0.07594, 0.07693, 0.081, 0.08909, 0.1021, 0.1205, 0.1448, \
                 0.1753, 0.2124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02226, 0.02211, 0.02293, 0.02616, 0.03271, 0.04338, 0.0587, \
                 0.07913, 0.105, 0.1366");
        }
      }

      internal_power() {
        when : "I1&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02862, 0.02806, 0.02984, 0.03549, 0.04566, 0.06075, 0.08114, \
                 0.1072, 0.1394, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003472, 0.003229, 0.004212, 0.008489, 0.0168, 0.02951, 0.04697, \
                 0.06933, 0.09702, 0.1302");
        }
      }

      internal_power() {
        when : "I1&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0286, 0.02806, 0.02985, 0.03549, 0.04566, 0.06073, 0.08114, \
                 0.1072, 0.1394, 0.178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003481, 0.003229, 0.004211, 0.008489, 0.01681, 0.02951, 0.04696, \
                 0.06933, 0.097, 0.1302");
        }
      }
    }

    pin(I1) {
      capacitance : 0.00285 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.0321, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002994, 0.002729, 0.003799, 0.008267, 0.0168, 0.02972, 0.04731, \
                 0.06982, 0.09759, 0.1309");
        }
      }

      internal_power() {
        when : "!I0&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02478, 0.02426, 0.02622, 0.0321, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1754");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00299, 0.002721, 0.003801, 0.008267, 0.0168, 0.02971, 0.04731, \
                 0.06983, 0.09761, 0.1308");
        }
      }

      internal_power() {
        when : "!I0&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07935, 0.07908, 0.08013, 0.08427, 0.09249, 0.1056, 0.1241, 0.1485, \
                 0.1792, 0.2163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0149, 0.01475, 0.01564, 0.01896, 0.02565, 0.03642, 0.05187, \
                 0.07239, 0.09836, 0.1301");
        }
      }

      internal_power() {
        when : "!I0&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.0321, 0.04243, 0.05772, 0.07822, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002997, 0.002729, 0.003802, 0.008267, 0.0168, 0.02972, 0.04731, \
                 0.06983, 0.09759, 0.1309");
        }
      }

      internal_power() {
        when : "!I0&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.0321, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002995, 0.002721, 0.00381, 0.008267, 0.0168, 0.02971, 0.04731, \
                 0.06983, 0.09761, 0.1309");
        }
      }

      internal_power() {
        when : "!I0&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07935, 0.07908, 0.08013, 0.08427, 0.09249, 0.1056, 0.1241, 0.1485, \
                 0.1791, 0.2163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01491, 0.01475, 0.01564, 0.01896, 0.02565, 0.03642, 0.05187, \
                 0.07239, 0.09838, 0.1301");
        }
      }

      internal_power() {
        when : "!I0&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02478, 0.02426, 0.02622, 0.0321, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002997, 0.00273, 0.003799, 0.008267, 0.0168, 0.02971, 0.04731, \
                 0.06981, 0.0976, 0.1309");
        }
      }

      internal_power() {
        when : "!I0&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02478, 0.02426, 0.02622, 0.03211, 0.04243, 0.05772, 0.07823, \
                 0.1045, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003006, 0.002721, 0.003794, 0.008268, 0.0168, 0.02972, 0.04732, \
                 0.06982, 0.0976, 0.1309");
        }
      }

      internal_power() {
        when : "!I0&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07934, 0.07908, 0.08013, 0.08427, 0.09249, 0.1056, 0.1241, 0.1485, \
                 0.1792, 0.2163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01491, 0.01475, 0.01564, 0.01896, 0.02566, 0.03641, 0.05187, \
                 0.07239, 0.09836, 0.1301");
        }
      }

      internal_power() {
        when : "!I0&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.0321, 0.04243, 0.05772, 0.07823, \
                 0.1045, 0.1368, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00298, 0.00273, 0.003798, 0.008267, 0.0168, 0.02972, 0.04731, \
                 0.06982, 0.0976, 0.1308");
        }
      }

      internal_power() {
        when : "!I0&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.03211, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002996, 0.002722, 0.003794, 0.008268, 0.0168, 0.02972, 0.04732, \
                 0.06982, 0.09759, 0.1309");
        }
      }

      internal_power() {
        when : "!I0&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07934, 0.07908, 0.08013, 0.08427, 0.0925, 0.1056, 0.1241, 0.1485, \
                 0.1791, 0.2163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0149, 0.01475, 0.01564, 0.01896, 0.02564, 0.03641, 0.05187, \
                 0.07239, 0.09838, 0.1301");
        }
      }

      internal_power() {
        when : "I0&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.03209, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003003, 0.00273, 0.003799, 0.008268, 0.0168, 0.02971, 0.04731, \
                 0.06982, 0.0976, 0.1308");
        }
      }

      internal_power() {
        when : "I0&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02478, 0.02425, 0.02622, 0.0321, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003005, 0.002721, 0.003798, 0.008267, 0.0168, 0.02971, 0.04731, \
                 0.06982, 0.0976, 0.1309");
        }
      }

      internal_power() {
        when : "I0&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07934, 0.07908, 0.08013, 0.08427, 0.09249, 0.1056, 0.1241, 0.1485, \
                 0.1792, 0.2163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01491, 0.01475, 0.01564, 0.01896, 0.02565, 0.03641, 0.05187, \
                 0.07239, 0.09836, 0.1301");
        }
      }

      internal_power() {
        when : "I0&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.03209, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002995, 0.00273, 0.0038, 0.008268, 0.0168, 0.02971, 0.04731, \
                 0.06982, 0.0976, 0.1308");
        }
      }

      internal_power() {
        when : "I0&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02425, 0.02622, 0.0321, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002997, 0.002721, 0.003798, 0.008267, 0.0168, 0.02972, 0.04731, \
                 0.06982, 0.09759, 0.1308");
        }
      }

      internal_power() {
        when : "I0&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07934, 0.07908, 0.08013, 0.08427, 0.09249, 0.1056, 0.1241, 0.1485, \
                 0.1791, 0.2163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01491, 0.01475, 0.01564, 0.01896, 0.02565, 0.03641, 0.05187, \
                 0.07239, 0.09838, 0.1301");
        }
      }

      internal_power() {
        when : "I0&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.0321, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002995, 0.002731, 0.003795, 0.008269, 0.0168, 0.02971, 0.04731, \
                 0.06982, 0.0976, 0.1309");
        }
      }

      internal_power() {
        when : "I0&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02478, 0.02425, 0.02622, 0.03208, 0.04243, 0.05772, 0.07823, \
                 0.1045, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003006, 0.002722, 0.003802, 0.008269, 0.0168, 0.02972, 0.04731, \
                 0.06982, 0.0976, 0.1309");
        }
      }

      internal_power() {
        when : "I0&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07935, 0.07908, 0.08013, 0.08427, 0.09249, 0.1056, 0.1241, 0.1485, \
                 0.1792, 0.2163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0149, 0.01475, 0.01564, 0.01896, 0.02565, 0.03642, 0.05187, \
                 0.07239, 0.09837, 0.1301");
        }
      }

      internal_power() {
        when : "I0&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.0321, 0.04243, 0.05772, 0.07823, \
                 0.1044, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002998, 0.002731, 0.003795, 0.008269, 0.0168, 0.02971, 0.04731, \
                 0.06982, 0.0976, 0.1309");
        }
      }

      internal_power() {
        when : "I0&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02479, 0.02426, 0.02622, 0.03208, 0.04243, 0.05772, 0.07823, \
                 0.1045, 0.1367, 0.1753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002998, 0.002722, 0.003804, 0.008268, 0.0168, 0.02972, 0.04731, \
                 0.06983, 0.0976, 0.1309");
        }
      }

      internal_power() {
        when : "I0&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07936, 0.07908, 0.08013, 0.08427, 0.09249, 0.1056, 0.1241, 0.1485, \
                 0.1791, 0.2163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01492, 0.01475, 0.01564, 0.01896, 0.02565, 0.03642, 0.05187, \
                 0.07239, 0.09838, 0.1301");
        }
      }
    }

    pin(I2) {
      capacitance : 0.00275 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07775, 0.07749, 0.07852, 0.08246, 0.09046, 0.1033, 0.1216, 0.1457, \
                 0.1761, 0.213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02664, 0.02648, 0.0273, 0.03052, 0.03702, 0.04754, 0.06275, \
                 0.08303, 0.1087, 0.1402");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02821, 0.03391, 0.04412, 0.05922, 0.07964, \
                 0.1057, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004483, 0.004175, 0.005177, 0.009472, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02821, 0.03391, 0.04412, 0.05922, 0.07964, \
                 0.1058, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004444, 0.004178, 0.005177, 0.009469, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "!I0&!I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07776, 0.07749, 0.07851, 0.08246, 0.09047, 0.1033, 0.1216, 0.1457, \
                 0.1761, 0.213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02664, 0.02647, 0.0273, 0.03052, 0.03702, 0.04754, 0.06275, \
                 0.08303, 0.1087, 0.1402");
        }
      }

      internal_power() {
        when : "!I0&!I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02821, 0.03391, 0.04412, 0.05922, 0.07963, \
                 0.1057, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004469, 0.004177, 0.005178, 0.009461, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "!I0&!I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.0282, 0.03391, 0.04412, 0.05922, 0.07964, \
                 0.1057, 0.1379, 0.1765");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004483, 0.004176, 0.005178, 0.009451, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.09808, 0.1313");
        }
      }

      internal_power() {
        when : "!I0&I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07775, 0.07749, 0.07852, 0.08246, 0.09045, 0.1033, 0.1216, 0.1457, \
                 0.1761, 0.213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02665, 0.02647, 0.0273, 0.03052, 0.03702, 0.04754, 0.06275, \
                 0.08303, 0.1087, 0.1402");
        }
      }

      internal_power() {
        when : "!I0&I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02821, 0.03391, 0.04412, 0.05922, 0.07963, \
                 0.1057, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004484, 0.004173, 0.005178, 0.00947, 0.01782, 0.03057, 0.04802, \
                 0.07044, 0.0981, 0.1313");
        }
      }

      internal_power() {
        when : "!I0&I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.0282, 0.03392, 0.04412, 0.05922, 0.07963, \
                 0.1057, 0.1379, 0.1765");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004457, 0.004163, 0.005178, 0.009472, 0.01782, 0.03058, 0.04802, \
                 0.07043, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "!I0&I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07776, 0.07749, 0.07853, 0.08246, 0.09046, 0.1033, 0.1216, 0.1457, \
                 0.1761, 0.213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02664, 0.02647, 0.0273, 0.03052, 0.03702, 0.04754, 0.06275, \
                 0.08303, 0.1087, 0.1402");
        }
      }

      internal_power() {
        when : "!I0&I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02822, 0.03391, 0.04412, 0.05923, 0.07965, \
                 0.1057, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004485, 0.004177, 0.005179, 0.009459, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.0981, 0.1313");
        }
      }

      internal_power() {
        when : "!I0&I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02822, 0.03391, 0.04412, 0.05923, 0.07965, \
                 0.1057, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004481, 0.004178, 0.005179, 0.009482, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.0981, 0.1313");
        }
      }

      internal_power() {
        when : "I0&!I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07778, 0.07749, 0.07851, 0.08246, 0.09047, 0.1033, 0.1216, 0.1457, \
                 0.1761, 0.213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02664, 0.02647, 0.0273, 0.03052, 0.03702, 0.04756, 0.06275, \
                 0.08303, 0.1087, 0.1402");
        }
      }

      internal_power() {
        when : "I0&!I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.0282, 0.0339, 0.04412, 0.05922, 0.07964, 0.1057, \
                 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004447, 0.004176, 0.005177, 0.009471, 0.01782, 0.03056, 0.04802, \
                 0.07043, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "I0&!I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02821, 0.03392, 0.04412, 0.05922, 0.07964, \
                 0.1057, 0.1379, 0.1765");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004468, 0.004161, 0.005177, 0.009468, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "I0&!I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07776, 0.07749, 0.07852, 0.08246, 0.09049, 0.1033, 0.1216, 0.1457, \
                 0.1761, 0.213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02664, 0.02647, 0.0273, 0.03052, 0.03702, 0.04755, 0.06275, \
                 0.08303, 0.1087, 0.1402");
        }
      }

      internal_power() {
        when : "I0&!I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.0282, 0.03391, 0.04412, 0.05922, 0.07963, \
                 0.1057, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004453, 0.004178, 0.005178, 0.009449, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "I0&!I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02821, 0.0339, 0.04412, 0.05923, 0.07964, \
                 0.1057, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004462, 0.004177, 0.005178, 0.009449, 0.01782, 0.03057, 0.04802, \
                 0.07044, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "I0&I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07778, 0.07749, 0.07852, 0.08246, 0.09049, 0.1033, 0.1216, 0.1457, \
                 0.1761, 0.213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02665, 0.02647, 0.0273, 0.03052, 0.03702, 0.04756, 0.06275, \
                 0.08303, 0.1087, 0.1402");
        }
      }

      internal_power() {
        when : "I0&I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02821, 0.03391, 0.04412, 0.05922, 0.07964, \
                 0.1057, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004484, 0.004177, 0.005178, 0.009469, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "I0&I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.0282, 0.03392, 0.04412, 0.05922, 0.07964, \
                 0.1057, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004447, 0.004162, 0.005178, 0.009471, 0.01782, 0.03057, 0.04802, \
                 0.07044, 0.0981, 0.1313");
        }
      }

      internal_power() {
        when : "I0&I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07776, 0.07749, 0.07852, 0.08246, 0.09049, 0.1033, 0.1216, 0.1457, \
                 0.1761, 0.213");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02665, 0.02648, 0.0273, 0.03052, 0.03702, 0.04756, 0.06275, \
                 0.08303, 0.1087, 0.1402");
        }
      }

      internal_power() {
        when : "I0&I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02822, 0.03392, 0.04412, 0.05923, 0.07964, \
                 0.1058, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004479, 0.004178, 0.005179, 0.009461, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.09809, 0.1313");
        }
      }

      internal_power() {
        when : "I0&I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02638, 0.02822, 0.0339, 0.04412, 0.05923, 0.07964, \
                 0.1058, 0.1379, 0.1764");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004478, 0.004163, 0.005179, 0.009481, 0.01782, 0.03057, 0.04802, \
                 0.07043, 0.09808, 0.1313");
        }
      }
    }

    pin(I3) {
      capacitance : 0.002749 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02603, 0.02551, 0.02739, 0.03319, 0.04349, 0.05862, 0.07917, \
                 0.1053, 0.1376, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003325, 0.003061, 0.004093, 0.008498, 0.01696, 0.02979, 0.04733, \
                 0.06978, 0.09753, 0.1308");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02605, 0.02551, 0.02739, 0.03319, 0.04349, 0.05864, 0.07917, \
                 0.1053, 0.1376, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003345, 0.003061, 0.004093, 0.008498, 0.01696, 0.0298, 0.04732, \
                 0.06978, 0.09753, 0.1308");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08379, 0.08352, 0.08455, 0.08854, 0.09659, 0.1094, 0.1278, 0.152, \
                 0.1824, 0.2194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01861, 0.01845, 0.01933, 0.02259, 0.02914, 0.03977, 0.05501, \
                 0.07534, 0.1011, 0.1326");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02606, 0.02551, 0.02739, 0.03319, 0.04349, 0.05865, 0.07916, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003336, 0.003061, 0.004094, 0.008499, 0.01696, 0.02979, 0.04733, \
                 0.06978, 0.09752, 0.1307");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02604, 0.02551, 0.02739, 0.03319, 0.04349, 0.05865, 0.07916, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003323, 0.003062, 0.004094, 0.008499, 0.01696, 0.0298, 0.04732, \
                 0.06978, 0.09752, 0.1307");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08379, 0.08352, 0.08455, 0.08854, 0.09659, 0.1094, 0.1278, 0.152, \
                 0.1824, 0.2194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01862, 0.01845, 0.01933, 0.02258, 0.02914, 0.03976, 0.05501, \
                 0.07534, 0.1011, 0.1326");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02603, 0.02551, 0.02739, 0.03319, 0.04349, 0.05862, 0.07917, \
                 0.1053, 0.1376, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00334, 0.003061, 0.004095, 0.008498, 0.01696, 0.02979, 0.04732, \
                 0.06978, 0.09753, 0.1308");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02604, 0.02551, 0.02739, 0.03319, 0.04349, 0.05864, 0.07917, \
                 0.1053, 0.1376, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003339, 0.003061, 0.004096, 0.008498, 0.01696, 0.02979, 0.04732, \
                 0.06978, 0.09753, 0.1308");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08378, 0.08352, 0.08455, 0.08854, 0.09659, 0.1094, 0.1278, 0.152, \
                 0.1825, 0.2194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01861, 0.01846, 0.01933, 0.02259, 0.02915, 0.03977, 0.055, 0.07533, \
                 0.1011, 0.1326");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02606, 0.02551, 0.02739, 0.03319, 0.04349, 0.05865, 0.07916, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003336, 0.003061, 0.004094, 0.008498, 0.01696, 0.0298, 0.04733, \
                 0.06978, 0.09752, 0.1307");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02604, 0.02551, 0.02739, 0.03319, 0.04349, 0.05865, 0.07916, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003324, 0.003062, 0.004094, 0.008499, 0.01696, 0.0298, 0.04732, \
                 0.06978, 0.09752, 0.1307");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08378, 0.08352, 0.08455, 0.08854, 0.09659, 0.1094, 0.1278, 0.152, \
                 0.1824, 0.2194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01863, 0.01846, 0.01933, 0.02258, 0.02915, 0.03976, 0.055, 0.07533, \
                 0.1011, 0.1326");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02606, 0.02551, 0.0274, 0.03319, 0.04349, 0.05865, 0.07917, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003334, 0.003062, 0.004094, 0.008499, 0.01696, 0.0298, 0.04732, \
                 0.06978, 0.09753, 0.1308");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02604, 0.02551, 0.02739, 0.03319, 0.04349, 0.05865, 0.07917, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003338, 0.003061, 0.004099, 0.008498, 0.01697, 0.0298, 0.04733, \
                 0.06978, 0.09754, 0.1308");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08379, 0.08352, 0.08455, 0.08855, 0.09659, 0.1094, 0.1278, 0.152, \
                 0.1824, 0.2194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01861, 0.01845, 0.01933, 0.02259, 0.02915, 0.03977, 0.05501, \
                 0.07534, 0.1011, 0.1326");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02604, 0.02551, 0.02739, 0.03319, 0.04349, 0.05864, 0.07917, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003329, 0.003063, 0.004095, 0.0085, 0.01696, 0.0298, 0.04733, \
                 0.06978, 0.09753, 0.1307");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02604, 0.02551, 0.02739, 0.03319, 0.04349, 0.05864, 0.07916, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003324, 0.003063, 0.004095, 0.0085, 0.01696, 0.0298, 0.04733, \
                 0.06978, 0.09753, 0.1307");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08379, 0.08352, 0.08455, 0.08854, 0.09659, 0.1094, 0.1278, 0.152, \
                 0.1825, 0.2194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01862, 0.01845, 0.01933, 0.02259, 0.02915, 0.03976, 0.05501, \
                 0.07534, 0.1011, 0.1326");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02604, 0.02551, 0.0274, 0.03319, 0.04349, 0.05864, 0.07917, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003334, 0.003062, 0.004096, 0.008499, 0.01696, 0.0298, 0.04733, \
                 0.06978, 0.09753, 0.1308");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02606, 0.02551, 0.02739, 0.03319, 0.04349, 0.05865, 0.07917, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003337, 0.003061, 0.004097, 0.008499, 0.01696, 0.0298, 0.04732, \
                 0.06978, 0.09754, 0.1308");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08378, 0.08352, 0.08455, 0.08854, 0.09659, 0.1094, 0.1278, 0.152, \
                 0.1824, 0.2194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01863, 0.01846, 0.01933, 0.02258, 0.02915, 0.03977, 0.055, 0.07533, \
                 0.1011, 0.1326");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02604, 0.02551, 0.02739, 0.03319, 0.04349, 0.05864, 0.07917, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003324, 0.003063, 0.004095, 0.0085, 0.01696, 0.0298, 0.04732, \
                 0.06978, 0.09753, 0.1307");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02604, 0.02551, 0.02739, 0.03319, 0.04349, 0.05864, 0.07916, \
                 0.1053, 0.1375, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003324, 0.003063, 0.004095, 0.0085, 0.01696, 0.0298, 0.04733, \
                 0.06978, 0.09753, 0.1307");
        }
      }

      internal_power() {
        when : "I0&I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08378, 0.08352, 0.08455, 0.08854, 0.0966, 0.1094, 0.1278, 0.152, \
                 0.1824, 0.2194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01863, 0.01846, 0.01933, 0.02258, 0.02915, 0.03977, 0.055, 0.07533, \
                 0.1011, 0.1326");
        }
      }
    }

    pin(S0) {
      capacitance : 0.009917 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08893, 0.08841, 0.08886, 0.09283, 0.101, 0.1142, 0.1328, 0.1572, \
                 0.1879, 0.225");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001111, 0.0009949, 0.001543, 0.004401, 0.01089, 0.02174, 0.03749, \
                 0.05839, 0.08473, 0.1168");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08893, 0.0884, 0.08886, 0.09284, 0.101, 0.1142, 0.1328, 0.1572, \
                 0.1879, 0.225");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001125, 0.001011, 0.00155, 0.004399, 0.01092, 0.02176, 0.03749, \
                 0.05841, 0.08475, 0.1167");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1378, 0.1371, 0.1378, 0.1445, 0.1588, 0.1816, 0.2138, 0.2561, \
                 0.3092, 0.3738");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01471, 0.01471, 0.01585, 0.02069, 0.03167, 0.05018, 0.07712, \
                 0.113, 0.1584, 0.2136");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1189, 0.1184, 0.1199, 0.1272, 0.1409, 0.1611, 0.1886, 0.2242, \
                 0.2701, 0.3272");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07143, 0.07172, 0.07515, 0.08301, 0.09531, 0.113, 0.137, 0.1675, \
                 0.2069, 0.2565");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08815, 0.08766, 0.0882, 0.0923, 0.1006, 0.1138, 0.1324, 0.1569, \
                 0.1876, 0.2249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001131, 0.00101, 0.001518, 0.004354, 0.01079, 0.02159, 0.03723, \
                 0.05807, 0.08435, 0.1163");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08815, 0.08767, 0.08819, 0.09229, 0.1005, 0.1138, 0.1324, 0.1569, \
                 0.1877, 0.2249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001133, 0.001, 0.001523, 0.00434, 0.01076, 0.02157, 0.03724, \
                 0.05808, 0.08435, 0.1163");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1346, 0.1338, 0.1345, 0.1415, 0.1559, 0.1789, 0.2113, 0.2538, \
                 0.3071, 0.3717");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01132, 0.0113, 0.01248, 0.01742, 0.02855, 0.04727, 0.07442, \
                 0.1105, 0.156, 0.2113");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1339, 0.1331, 0.1339, 0.1409, 0.1554, 0.1785, 0.2109, 0.2535, \
                 0.3069, 0.3715");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0113, 0.01129, 0.01245, 0.01737, 0.02842, 0.04707, 0.07413, \
                 0.1102, 0.1556, 0.2109");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1156, 0.1152, 0.1167, 0.1241, 0.1377, 0.158, 0.1856, 0.2213, \
                 0.2675, 0.325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06822, 0.06852, 0.07205, 0.07995, 0.09227, 0.11, 0.134, 0.1647, \
                 0.2045, 0.2545");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1145, 0.1141, 0.1157, 0.1232, 0.1369, 0.1573, 0.1848, 0.2208, \
                 0.2671, 0.3245");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06839, 0.06869, 0.07221, 0.08009, 0.09234, 0.11, 0.1338, 0.1644, \
                 0.2042, 0.2541");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08815, 0.08768, 0.08822, 0.09229, 0.1005, 0.1138, 0.1325, 0.1569, \
                 0.1876, 0.2248");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001135, 0.0009964, 0.001519, 0.004334, 0.01076, 0.02157, 0.03721, \
                 0.05807, 0.08435, 0.1164");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08812, 0.08766, 0.08823, 0.09229, 0.1005, 0.1138, 0.1324, 0.1569, \
                 0.1876, 0.2249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001145, 0.001012, 0.001524, 0.00434, 0.01079, 0.02157, 0.03724, \
                 0.05806, 0.08434, 0.1163");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1371, 0.1364, 0.1371, 0.1439, 0.1583, 0.1812, 0.2135, 0.2558, \
                 0.309, 0.3736");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01473, 0.01473, 0.01583, 0.02063, 0.03155, 0.04997, 0.07685, \
                 0.1127, 0.158, 0.2131");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1178, 0.1174, 0.119, 0.1264, 0.14, 0.1604, 0.1879, 0.2236, 0.2695, \
                 0.3267");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07162, 0.07189, 0.07531, 0.08313, 0.09537, 0.113, 0.1368, 0.1672, \
                 0.2065, 0.2561");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08742, 0.08697, 0.08758, 0.09179, 0.1001, 0.1134, 0.1321, 0.1566, \
                 0.1873, 0.2247");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001131, 0.001004, 0.001494, 0.004287, 0.01065, 0.0214, 0.03698, \
                 0.05775, 0.08398, 0.1159");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08741, 0.08696, 0.0876, 0.09179, 0.1001, 0.1133, 0.1321, 0.1566, \
                 0.1874, 0.2247");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001124, 0.001011, 0.001495, 0.004281, 0.01065, 0.0214, 0.03699, \
                 0.05773, 0.08398, 0.1159");
        }
      }
    }

    pin(S1) {
      capacitance : 0.005428 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04812, 0.04752, 0.04871, 0.0537, 0.06315, 0.07764, 0.09743, \
                 0.123, 0.1547, 0.1929");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001102, 0.0008784, 0.001602, 0.005347, 0.01307, 0.02523, 0.04216, \
                 0.06412, 0.09144, 0.1243");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04812, 0.04752, 0.04871, 0.05369, 0.06317, 0.07761, 0.09743, \
                 0.123, 0.1547, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001073, 0.000878, 0.001602, 0.005348, 0.01309, 0.02522, 0.04216, \
                 0.06412, 0.09143, 0.1243");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04812, 0.04752, 0.04871, 0.0537, 0.06315, 0.07764, 0.09743, \
                 0.123, 0.1547, 0.1929");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001089, 0.0008786, 0.001606, 0.005347, 0.01307, 0.02523, 0.04216, \
                 0.06412, 0.09144, 0.1243");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04812, 0.04752, 0.04871, 0.05369, 0.06317, 0.07761, 0.09743, \
                 0.123, 0.1547, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001088, 0.0008783, 0.001604, 0.005348, 0.01309, 0.02523, 0.04216, \
                 0.06412, 0.09143, 0.1243");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04812, 0.04752, 0.04871, 0.05369, 0.06316, 0.07764, 0.09743, \
                 0.123, 0.1547, 0.1929");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001089, 0.0008785, 0.001611, 0.005347, 0.01307, 0.02523, 0.04216, \
                 0.06412, 0.09144, 0.1243");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04812, 0.04752, 0.04871, 0.05369, 0.06316, 0.07764, 0.09743, \
                 0.123, 0.1547, 0.1929");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001087, 0.0008787, 0.001594, 0.005347, 0.01307, 0.02523, 0.04216, \
                 0.06412, 0.09144, 0.1243");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04743, 0.04683, 0.04816, 0.05323, 0.06283, 0.07733, 0.09722, \
                 0.1228, 0.1546, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00108, 0.000851, 0.001575, 0.005255, 0.01288, 0.02497, 0.04181, \
                 0.06373, 0.09094, 0.1238");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04743, 0.04683, 0.04816, 0.05323, 0.06283, 0.07733, 0.09722, \
                 0.1228, 0.1546, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001089, 0.000851, 0.001575, 0.005255, 0.01288, 0.02497, 0.04182, \
                 0.06373, 0.09094, 0.1238");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04812, 0.04752, 0.04871, 0.0537, 0.06317, 0.07761, 0.09743, \
                 0.123, 0.1547, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001085, 0.0008782, 0.001601, 0.005348, 0.01309, 0.02523, 0.04216, \
                 0.06412, 0.09143, 0.1243");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04743, 0.04683, 0.04816, 0.05325, 0.06281, 0.07731, 0.09722, \
                 0.1228, 0.1546, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001077, 0.0008502, 0.001574, 0.005253, 0.01288, 0.02497, 0.04182, \
                 0.06373, 0.09096, 0.1238");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04812, 0.04752, 0.04871, 0.05369, 0.06315, 0.07761, 0.09743, \
                 0.123, 0.1547, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001088, 0.0008783, 0.001605, 0.005348, 0.01309, 0.02523, 0.04216, \
                 0.06412, 0.09143, 0.1243");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04743, 0.04683, 0.04816, 0.05323, 0.06282, 0.07731, 0.09722, \
                 0.1228, 0.1546, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001077, 0.0008502, 0.001574, 0.005253, 0.01288, 0.02497, 0.04182, \
                 0.06373, 0.09096, 0.1238");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04743, 0.04683, 0.04816, 0.05323, 0.06283, 0.07733, 0.09722, \
                 0.1229, 0.1546, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001088, 0.000851, 0.001575, 0.005255, 0.01288, 0.02497, 0.04182, \
                 0.06373, 0.09094, 0.1238");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04743, 0.04683, 0.04816, 0.05323, 0.06281, 0.07731, 0.09723, \
                 0.1228, 0.1546, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001078, 0.0008502, 0.001574, 0.005247, 0.01288, 0.02497, 0.04182, \
                 0.06373, 0.09096, 0.1238");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04743, 0.04683, 0.04816, 0.05323, 0.06281, 0.07731, 0.09723, \
                 0.1228, 0.1546, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001085, 0.0008502, 0.001574, 0.005247, 0.01289, 0.02496, 0.04182, \
                 0.06373, 0.09096, 0.1238");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04743, 0.04683, 0.04816, 0.05323, 0.06283, 0.07733, 0.09722, \
                 0.1228, 0.1546, 0.1928");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001083, 0.000851, 0.001575, 0.005255, 0.01289, 0.02496, 0.04182, \
                 0.06373, 0.09094, 0.1238");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "((I0&(!S0)&(!S1))|(I1&S0&(!S1))|(I2&(!S0)&S1)|(I3&S0&S1))" ;
      max_capacitance : 0.2264 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1474, 0.1458, 0.1423, 0.1393, 0.1372, 0.1357, 0.1347, 0.134, 0.1334, 0.1331",\
                 "0.1472, 0.1455, 0.142, 0.1391, 0.137, 0.1355, 0.1345, 0.1338, 0.1332, 0.1328",\
                 "0.1482, 0.1466, 0.143, 0.1401, 0.138, 0.1365, 0.1355, 0.1348, 0.1342, 0.1339",\
                 "0.1521, 0.1505, 0.1469, 0.1438, 0.1416, 0.1402, 0.1391, 0.1384, 0.1378, 0.1374",\
                 "0.1613, 0.1595, 0.1556, 0.1521, 0.1496, 0.1479, 0.1467, 0.1458, 0.1452, 0.1448",\
                 "0.1762, 0.1742, 0.1697, 0.1657, 0.1627, 0.1606, 0.1592, 0.1582, 0.1574, 0.1569",\
                 "0.197, 0.1949, 0.1899, 0.1852, 0.1816, 0.179, 0.1773, 0.176, 0.1751, 0.1744",\
                 "0.2246, 0.2223, 0.2167, 0.2112, 0.2069, 0.2038, 0.2015, 0.1999, 0.1988, 0.1979",\
                 "0.2592, 0.2568, 0.2506, 0.2442, 0.239, 0.2353, 0.2325, 0.2305, 0.229, 0.228",\
                 "0.3011, 0.2984, 0.2917, 0.2844, 0.2784, 0.2739, 0.2705, 0.2681, 0.2662, 0.2648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07153, 0.07084, 0.06947, 0.06868, 0.06849, 0.06864, 0.06873, 0.06904, 0.0696, 0.07173",\
                 "0.07137, 0.07068, 0.06934, 0.06855, 0.06829, 0.06834, 0.06853, 0.0688, 0.06924, 0.07137",\
                 "0.07229, 0.07156, 0.07021, 0.06943, 0.06911, 0.06926, 0.06942, 0.06973, 0.07026, 0.07253",\
                 "0.07581, 0.07505, 0.07366, 0.07264, 0.07238, 0.07237, 0.07259, 0.0728, 0.07351, 0.07623",\
                 "0.08333, 0.08246, 0.08085, 0.07959, 0.07911, 0.079, 0.07902, 0.07927, 0.07971, 0.0828",\
                 "0.09507, 0.09408, 0.09193, 0.09043, 0.08971, 0.08926, 0.08919, 0.08956, 0.08969, 0.0933",\
                 "0.112, 0.1107, 0.1083, 0.106, 0.1049, 0.1046, 0.1041, 0.104, 0.1046, 0.109",\
                 "0.1345, 0.133, 0.13, 0.1271, 0.1253, 0.1243, 0.1242, 0.1243, 0.1241, 0.1304",\
                 "0.163, 0.1613, 0.1576, 0.1541, 0.1515, 0.1499, 0.1495, 0.1497, 0.1499, 0.1579",\
                 "0.1976, 0.1957, 0.1915, 0.1875, 0.1842, 0.1819, 0.1804, 0.1803, 0.1823, 0.1945");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1474, 0.1458, 0.1423, 0.1393, 0.1372, 0.1357, 0.1347, 0.134, 0.1334, 0.1331",\
                 "0.1472, 0.1455, 0.142, 0.1391, 0.137, 0.1355, 0.1345, 0.1338, 0.1332, 0.1328",\
                 "0.1482, 0.1466, 0.143, 0.1401, 0.138, 0.1365, 0.1355, 0.1348, 0.1342, 0.1338",\
                 "0.1521, 0.1505, 0.1469, 0.1438, 0.1416, 0.1402, 0.1391, 0.1384, 0.1378, 0.1374",\
                 "0.1613, 0.1595, 0.1555, 0.1521, 0.1496, 0.1479, 0.1467, 0.1458, 0.1452, 0.1448",\
                 "0.1762, 0.1742, 0.1697, 0.1657, 0.1627, 0.1606, 0.1592, 0.1582, 0.1574, 0.1569",\
                 "0.197, 0.1949, 0.1899, 0.1852, 0.1815, 0.179, 0.1773, 0.176, 0.1751, 0.1744",\
                 "0.2246, 0.2223, 0.2167, 0.2112, 0.2069, 0.2038, 0.2015, 0.1999, 0.1988, 0.1979",\
                 "0.2592, 0.2568, 0.2505, 0.2442, 0.239, 0.2353, 0.2325, 0.2305, 0.229, 0.2279",\
                 "0.3011, 0.2985, 0.2917, 0.2844, 0.2784, 0.2739, 0.2705, 0.2681, 0.2662, 0.2648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07152, 0.07083, 0.06947, 0.06873, 0.06849, 0.06847, 0.06866, 0.06894, 0.0694, 0.07203",\
                 "0.07137, 0.07068, 0.06934, 0.06855, 0.06829, 0.06834, 0.06853, 0.0688, 0.06924, 0.07137",\
                 "0.07232, 0.07152, 0.07019, 0.0694, 0.06918, 0.06916, 0.06936, 0.06966, 0.07006, 0.07233",\
                 "0.07581, 0.07505, 0.07366, 0.07264, 0.07238, 0.07237, 0.07259, 0.0728, 0.07351, 0.07626",\
                 "0.08333, 0.08246, 0.08085, 0.07961, 0.07911, 0.07897, 0.07919, 0.0795, 0.07994, 0.0826",\
                 "0.09507, 0.09408, 0.09193, 0.09043, 0.08971, 0.08926, 0.08919, 0.08956, 0.08969, 0.0933",\
                 "0.112, 0.1107, 0.1083, 0.106, 0.1048, 0.1044, 0.1042, 0.104, 0.1043, 0.1089",\
                 "0.1344, 0.133, 0.1301, 0.1271, 0.1253, 0.1243, 0.1245, 0.124, 0.1242, 0.1301",\
                 "0.163, 0.1613, 0.1576, 0.1543, 0.1515, 0.1499, 0.1494, 0.1497, 0.1499, 0.1581",\
                 "0.1975, 0.1957, 0.1915, 0.1875, 0.1841, 0.1818, 0.1804, 0.1803, 0.182, 0.1945");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1474, 0.1458, 0.1423, 0.1393, 0.1372, 0.1358, 0.1347, 0.134, 0.1334, 0.1331",\
                 "0.1472, 0.1455, 0.142, 0.139, 0.1369, 0.1355, 0.1345, 0.1337, 0.1332, 0.1328",\
                 "0.1482, 0.1466, 0.143, 0.1401, 0.138, 0.1365, 0.1355, 0.1348, 0.1342, 0.1339",\
                 "0.1521, 0.1504, 0.1468, 0.1438, 0.1416, 0.1402, 0.1391, 0.1384, 0.1378, 0.1374",\
                 "0.1613, 0.1595, 0.1555, 0.1521, 0.1496, 0.1479, 0.1467, 0.1458, 0.1452, 0.1448",\
                 "0.1762, 0.1743, 0.1698, 0.1657, 0.1627, 0.1606, 0.1592, 0.1581, 0.1574, 0.1569",\
                 "0.197, 0.1949, 0.1899, 0.1852, 0.1816, 0.179, 0.1773, 0.176, 0.1751, 0.1744",\
                 "0.2246, 0.2223, 0.2167, 0.2112, 0.2069, 0.2037, 0.2015, 0.1999, 0.1988, 0.1979",\
                 "0.2592, 0.2568, 0.2505, 0.2441, 0.239, 0.2353, 0.2325, 0.2305, 0.229, 0.2279",\
                 "0.3011, 0.2985, 0.2917, 0.2844, 0.2784, 0.2738, 0.2705, 0.268, 0.2662, 0.2648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07153, 0.0708, 0.06948, 0.06864, 0.06842, 0.06854, 0.0687, 0.06907, 0.06957, 0.07203",\
                 "0.07137, 0.07069, 0.06934, 0.06855, 0.06829, 0.06834, 0.06853, 0.0688, 0.06924, 0.07137",\
                 "0.07226, 0.07155, 0.07019, 0.06942, 0.06915, 0.0692, 0.06939, 0.06993, 0.07036, 0.0723",\
                 "0.07588, 0.07503, 0.07365, 0.07266, 0.07235, 0.07243, 0.07256, 0.0728, 0.07344, 0.07593",\
                 "0.0833, 0.08245, 0.08083, 0.07959, 0.07905, 0.079, 0.07899, 0.07923, 0.07965, 0.08257",\
                 "0.09507, 0.09408, 0.09193, 0.09043, 0.08971, 0.08926, 0.08919, 0.08956, 0.08979, 0.09356",\
                 "0.112, 0.1108, 0.1084, 0.106, 0.1049, 0.1046, 0.1042, 0.1041, 0.1043, 0.1088",\
                 "0.1344, 0.133, 0.13, 0.1271, 0.1251, 0.1244, 0.1244, 0.1239, 0.1242, 0.13",\
                 "0.163, 0.1613, 0.1576, 0.1542, 0.1516, 0.1499, 0.1493, 0.1498, 0.15, 0.1578",\
                 "0.1976, 0.1957, 0.1915, 0.1874, 0.1843, 0.182, 0.1804, 0.1802, 0.1821, 0.1944");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1474, 0.1458, 0.1423, 0.1393, 0.1372, 0.1357, 0.1347, 0.134, 0.1334, 0.1331",\
                 "0.1472, 0.1455, 0.142, 0.1391, 0.1369, 0.1355, 0.1345, 0.1337, 0.1332, 0.1328",\
                 "0.1482, 0.1466, 0.143, 0.1401, 0.138, 0.1365, 0.1355, 0.1348, 0.1343, 0.1339",\
                 "0.1521, 0.1505, 0.1469, 0.1438, 0.1416, 0.1402, 0.1391, 0.1384, 0.1378, 0.1374",\
                 "0.1613, 0.1595, 0.1556, 0.1521, 0.1496, 0.1479, 0.1467, 0.1458, 0.1452, 0.1448",\
                 "0.1762, 0.1742, 0.1698, 0.1657, 0.1627, 0.1606, 0.1592, 0.1582, 0.1574, 0.1569",\
                 "0.1971, 0.1949, 0.1899, 0.1852, 0.1816, 0.179, 0.1772, 0.176, 0.1751, 0.1744",\
                 "0.2246, 0.2223, 0.2167, 0.2112, 0.2069, 0.2038, 0.2015, 0.1999, 0.1988, 0.1979",\
                 "0.2592, 0.2568, 0.2505, 0.2441, 0.239, 0.2353, 0.2325, 0.2305, 0.229, 0.2279",\
                 "0.3011, 0.2985, 0.2917, 0.2844, 0.2784, 0.2739, 0.2705, 0.268, 0.2662, 0.2648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07152, 0.07084, 0.06951, 0.06871, 0.06849, 0.06851, 0.06873, 0.06897, 0.06953, 0.07157",\
                 "0.07137, 0.07069, 0.06934, 0.06855, 0.06829, 0.06834, 0.06853, 0.0688, 0.06924, 0.07137",\
                 "0.07226, 0.07155, 0.07019, 0.06939, 0.06915, 0.0692, 0.06936, 0.06993, 0.07029, 0.07226",\
                 "0.07588, 0.07502, 0.07361, 0.0727, 0.07238, 0.0725, 0.07259, 0.0728, 0.07344, 0.07596",\
                 "0.0833, 0.08245, 0.08085, 0.07959, 0.07898, 0.079, 0.07899, 0.07923, 0.07965, 0.08257",\
                 "0.09507, 0.09408, 0.09193, 0.09043, 0.08971, 0.08926, 0.08919, 0.08956, 0.08969, 0.09356",\
                 "0.112, 0.1108, 0.1084, 0.106, 0.1048, 0.1045, 0.104, 0.1041, 0.1046, 0.1088",\
                 "0.1345, 0.1331, 0.13, 0.127, 0.1252, 0.1243, 0.1245, 0.124, 0.1242, 0.13",\
                 "0.1629, 0.1613, 0.1576, 0.1542, 0.1516, 0.1498, 0.1493, 0.15, 0.1498, 0.158",\
                 "0.1976, 0.1957, 0.1915, 0.1875, 0.1841, 0.1818, 0.1804, 0.1804, 0.1823, 0.1948");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1474, 0.1458, 0.1423, 0.1393, 0.1372, 0.1357, 0.1347, 0.134, 0.1334, 0.1331",\
                 "0.1472, 0.1455, 0.142, 0.1391, 0.137, 0.1355, 0.1345, 0.1338, 0.1332, 0.1328",\
                 "0.1482, 0.1466, 0.143, 0.1401, 0.138, 0.1365, 0.1355, 0.1348, 0.1342, 0.1339",\
                 "0.1521, 0.1505, 0.1469, 0.1438, 0.1417, 0.1402, 0.1391, 0.1384, 0.1378, 0.1375",\
                 "0.1613, 0.1595, 0.1555, 0.152, 0.1496, 0.1479, 0.1467, 0.1458, 0.1452, 0.1448",\
                 "0.1761, 0.1742, 0.1697, 0.1657, 0.1627, 0.1607, 0.1592, 0.1582, 0.1575, 0.1569",\
                 "0.197, 0.1949, 0.1899, 0.1852, 0.1815, 0.179, 0.1773, 0.176, 0.1751, 0.1744",\
                 "0.2246, 0.2223, 0.2167, 0.2112, 0.2069, 0.2038, 0.2015, 0.1999, 0.1988, 0.1979",\
                 "0.2592, 0.2568, 0.2505, 0.2442, 0.2391, 0.2353, 0.2325, 0.2305, 0.229, 0.2279",\
                 "0.3011, 0.2985, 0.2917, 0.2844, 0.2784, 0.2739, 0.2705, 0.2681, 0.2662, 0.2648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07153, 0.07082, 0.06948, 0.06868, 0.06842, 0.06864, 0.06873, 0.06904, 0.06937, 0.07154",\
                 "0.07137, 0.07064, 0.06933, 0.06854, 0.06832, 0.06847, 0.06856, 0.0688, 0.06937, 0.07154",\
                 "0.07225, 0.07154, 0.07018, 0.06941, 0.06915, 0.0692, 0.06936, 0.06993, 0.07036, 0.0723",\
                 "0.07581, 0.07505, 0.07366, 0.07264, 0.07238, 0.07237, 0.07259, 0.0728, 0.07351, 0.07626",\
                 "0.08333, 0.08246, 0.08085, 0.07959, 0.07911, 0.07897, 0.07906, 0.07927, 0.07965, 0.0826",\
                 "0.09507, 0.09408, 0.09193, 0.09042, 0.08974, 0.08926, 0.08925, 0.08956, 0.09012, 0.09346",\
                 "0.112, 0.1107, 0.1083, 0.106, 0.1049, 0.1044, 0.104, 0.104, 0.1043, 0.109",\
                 "0.1345, 0.133, 0.13, 0.127, 0.1253, 0.1244, 0.1242, 0.1241, 0.1243, 0.13",\
                 "0.163, 0.1613, 0.1576, 0.154, 0.1515, 0.1497, 0.1493, 0.1497, 0.1496, 0.1581",\
                 "0.1976, 0.1957, 0.1915, 0.1875, 0.1841, 0.1819, 0.1804, 0.1802, 0.1822, 0.1947");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1474, 0.1458, 0.1422, 0.1393, 0.1372, 0.1357, 0.1347, 0.134, 0.1335, 0.1331",\
                 "0.1472, 0.1455, 0.142, 0.1391, 0.137, 0.1355, 0.1345, 0.1337, 0.1332, 0.1328",\
                 "0.1482, 0.1466, 0.143, 0.1401, 0.138, 0.1365, 0.1355, 0.1348, 0.1342, 0.1338",\
                 "0.1521, 0.1505, 0.1469, 0.1438, 0.1416, 0.1402, 0.1391, 0.1384, 0.1378, 0.1374",\
                 "0.1613, 0.1595, 0.1555, 0.152, 0.1496, 0.1479, 0.1466, 0.1458, 0.1452, 0.1448",\
                 "0.1762, 0.1743, 0.1697, 0.1656, 0.1627, 0.1607, 0.1592, 0.1581, 0.1574, 0.1569",\
                 "0.197, 0.1949, 0.1899, 0.1851, 0.1815, 0.179, 0.1772, 0.176, 0.1751, 0.1744",\
                 "0.2246, 0.2223, 0.2167, 0.2112, 0.2069, 0.2038, 0.2015, 0.1999, 0.1988, 0.1979",\
                 "0.2592, 0.2568, 0.2505, 0.2442, 0.2391, 0.2353, 0.2325, 0.2305, 0.229, 0.2279",\
                 "0.3011, 0.2985, 0.2917, 0.2844, 0.2784, 0.2739, 0.2705, 0.2681, 0.2662, 0.2648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07152, 0.07083, 0.06953, 0.06864, 0.06842, 0.0685, 0.06873, 0.06897, 0.06937, 0.07157",\
                 "0.07137, 0.07063, 0.06933, 0.06854, 0.06826, 0.06847, 0.06856, 0.0688, 0.06937, 0.07154",\
                 "0.07229, 0.07152, 0.07022, 0.06939, 0.06911, 0.06923, 0.06936, 0.06963, 0.07006, 0.07253",\
                 "0.07581, 0.07505, 0.07366, 0.07264, 0.07238, 0.07237, 0.07259, 0.0728, 0.07351, 0.07626",\
                 "0.08333, 0.08246, 0.08085, 0.07959, 0.07911, 0.07897, 0.07919, 0.0795, 0.07994, 0.0826",\
                 "0.09507, 0.09408, 0.09193, 0.09045, 0.08974, 0.08926, 0.08925, 0.08956, 0.09012, 0.09346",\
                 "0.112, 0.1107, 0.1083, 0.106, 0.1048, 0.1044, 0.1041, 0.104, 0.1043, 0.109",\
                 "0.1344, 0.133, 0.13, 0.127, 0.1252, 0.1244, 0.1242, 0.124, 0.1243, 0.13",\
                 "0.163, 0.1613, 0.1576, 0.154, 0.1517, 0.1497, 0.1492, 0.15, 0.1496, 0.1581",\
                 "0.1976, 0.1957, 0.1915, 0.1875, 0.1841, 0.1819, 0.1804, 0.1803, 0.1822, 0.1948");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1474, 0.1458, 0.1423, 0.1393, 0.1372, 0.1358, 0.1347, 0.134, 0.1334, 0.1331",\
                 "0.1472, 0.1455, 0.142, 0.139, 0.137, 0.1355, 0.1345, 0.1338, 0.1332, 0.1328",\
                 "0.1482, 0.1466, 0.143, 0.1401, 0.138, 0.1365, 0.1355, 0.1348, 0.1342, 0.1339",\
                 "0.1521, 0.1505, 0.1469, 0.1438, 0.1416, 0.1402, 0.1391, 0.1384, 0.1378, 0.1374",\
                 "0.1613, 0.1595, 0.1555, 0.1521, 0.1496, 0.1479, 0.1467, 0.1458, 0.1452, 0.1448",\
                 "0.1762, 0.1742, 0.1697, 0.1656, 0.1627, 0.1607, 0.1592, 0.1582, 0.1574, 0.1569",\
                 "0.197, 0.1949, 0.1899, 0.1852, 0.1816, 0.179, 0.1772, 0.176, 0.1751, 0.1744",\
                 "0.2246, 0.2223, 0.2167, 0.2112, 0.2069, 0.2038, 0.2015, 0.1999, 0.1988, 0.1979",\
                 "0.2592, 0.2568, 0.2506, 0.2441, 0.239, 0.2353, 0.2325, 0.2305, 0.229, 0.2279",\
                 "0.3011, 0.2985, 0.2917, 0.2844, 0.2784, 0.2739, 0.2705, 0.268, 0.2662, 0.2648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07151, 0.07084, 0.06953, 0.0687, 0.06842, 0.0685, 0.06866, 0.0692, 0.06937, 0.07157",\
                 "0.07137, 0.07066, 0.06938, 0.06855, 0.06829, 0.06837, 0.06853, 0.06884, 0.06924, 0.07137",\
                 "0.07226, 0.07153, 0.07019, 0.06939, 0.06915, 0.0692, 0.06936, 0.06986, 0.07026, 0.07263",\
                 "0.07587, 0.07501, 0.07364, 0.07269, 0.07238, 0.07237, 0.07259, 0.0728, 0.07351, 0.07616",\
                 "0.0833, 0.08245, 0.08083, 0.07959, 0.07898, 0.079, 0.07906, 0.07923, 0.07965, 0.08257",\
                 "0.09507, 0.09408, 0.09193, 0.09042, 0.08977, 0.08923, 0.08909, 0.08956, 0.08966, 0.09389",\
                 "0.112, 0.1107, 0.1084, 0.106, 0.1049, 0.1044, 0.1041, 0.104, 0.1043, 0.1088",\
                 "0.1344, 0.1329, 0.13, 0.127, 0.1252, 0.1244, 0.1244, 0.124, 0.1244, 0.13",\
                 "0.1629, 0.1613, 0.1576, 0.154, 0.1515, 0.1499, 0.1491, 0.1499, 0.1498, 0.1579",\
                 "0.1976, 0.1957, 0.1915, 0.1875, 0.1841, 0.1818, 0.1803, 0.1804, 0.1823, 0.1948");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1474, 0.1458, 0.1423, 0.1393, 0.1372, 0.1357, 0.1347, 0.134, 0.1334, 0.1331",\
                 "0.1471, 0.1455, 0.142, 0.1391, 0.137, 0.1355, 0.1345, 0.1338, 0.1332, 0.1328",\
                 "0.1482, 0.1466, 0.143, 0.1401, 0.138, 0.1365, 0.1355, 0.1348, 0.1343, 0.1339",\
                 "0.1521, 0.1505, 0.1468, 0.1438, 0.1416, 0.1402, 0.1391, 0.1384, 0.1378, 0.1374",\
                 "0.1613, 0.1595, 0.1555, 0.1521, 0.1496, 0.1479, 0.1467, 0.1458, 0.1452, 0.1448",\
                 "0.1761, 0.1742, 0.1697, 0.1657, 0.1627, 0.1607, 0.1592, 0.1581, 0.1574, 0.1569",\
                 "0.197, 0.1949, 0.1899, 0.1852, 0.1816, 0.179, 0.1773, 0.176, 0.1751, 0.1744",\
                 "0.2246, 0.2223, 0.2167, 0.2112, 0.2069, 0.2038, 0.2015, 0.1999, 0.1988, 0.1979",\
                 "0.2592, 0.2568, 0.2506, 0.2441, 0.239, 0.2353, 0.2325, 0.2305, 0.229, 0.2279",\
                 "0.3011, 0.2985, 0.2917, 0.2844, 0.2784, 0.2738, 0.2705, 0.2681, 0.2662, 0.2648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07156, 0.07084, 0.06948, 0.06873, 0.06849, 0.06854, 0.06873, 0.06907, 0.0696, 0.07203",\
                 "0.07137, 0.07066, 0.06938, 0.06855, 0.06829, 0.06837, 0.06853, 0.06884, 0.06924, 0.07137",\
                 "0.07225, 0.07151, 0.07017, 0.06943, 0.06915, 0.06916, 0.06942, 0.06966, 0.07023, 0.07223",\
                 "0.07584, 0.07505, 0.07366, 0.07264, 0.07238, 0.07237, 0.07256, 0.07283, 0.07347, 0.07609",\
                 "0.0833, 0.08245, 0.08085, 0.07959, 0.07898, 0.079, 0.07906, 0.07923, 0.07965, 0.08257",\
                 "0.09507, 0.09408, 0.09193, 0.09045, 0.08977, 0.08923, 0.08909, 0.08956, 0.08966, 0.09389",\
                 "0.112, 0.1107, 0.1084, 0.106, 0.1048, 0.1044, 0.104, 0.104, 0.1043, 0.1088",\
                 "0.1344, 0.133, 0.13, 0.127, 0.1253, 0.1245, 0.1244, 0.124, 0.1242, 0.13",\
                 "0.1629, 0.1613, 0.1576, 0.154, 0.1515, 0.1499, 0.1491, 0.1499, 0.1498, 0.1579",\
                 "0.1976, 0.1957, 0.1915, 0.1875, 0.1841, 0.1818, 0.1804, 0.1804, 0.1823, 0.195");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1503, 0.1487, 0.1452, 0.1423, 0.1402, 0.1388, 0.1378, 0.1371, 0.1365, 0.1361",\
                 "0.1501, 0.1485, 0.145, 0.1421, 0.14, 0.1386, 0.1376, 0.1368, 0.1363, 0.1359",\
                 "0.1512, 0.1496, 0.1461, 0.1432, 0.1411, 0.1396, 0.1386, 0.1379, 0.1374, 0.137",\
                 "0.1552, 0.1535, 0.1499, 0.1469, 0.1448, 0.1433, 0.1423, 0.1416, 0.141, 0.1407",\
                 "0.1644, 0.1626, 0.1587, 0.1552, 0.1528, 0.1511, 0.1499, 0.1491, 0.1485, 0.148",\
                 "0.1793, 0.1773, 0.1729, 0.1688, 0.166, 0.1639, 0.1625, 0.1615, 0.1608, 0.1602",\
                 "0.2001, 0.198, 0.1931, 0.1884, 0.1848, 0.1823, 0.1806, 0.1794, 0.1785, 0.1778",\
                 "0.2277, 0.2254, 0.2199, 0.2144, 0.2102, 0.2071, 0.2049, 0.2033, 0.2022, 0.2014",\
                 "0.2624, 0.2599, 0.2538, 0.2474, 0.2424, 0.2387, 0.236, 0.234, 0.2326, 0.2315",\
                 "0.3043, 0.3017, 0.295, 0.2877, 0.2818, 0.2773, 0.274, 0.2716, 0.2698, 0.2684");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.0641, 0.06337, 0.06208, 0.06132, 0.06106, 0.06128, 0.06137, 0.06161, 0.06217, 0.06437",\
                 "0.06402, 0.06325, 0.06194, 0.06121, 0.0609, 0.06111, 0.0612, 0.06144, 0.06201, 0.06418",\
                 "0.06493, 0.06415, 0.06288, 0.06211, 0.06185, 0.06187, 0.0621, 0.06234, 0.06283, 0.0653",\
                 "0.06855, 0.06781, 0.0664, 0.06546, 0.06515, 0.06517, 0.06533, 0.0656, 0.06615, 0.0688",\
                 "0.07617, 0.07522, 0.07374, 0.07245, 0.07195, 0.07194, 0.0719, 0.0721, 0.07275, 0.0757",\
                 "0.08804, 0.08705, 0.08492, 0.08348, 0.08278, 0.0822, 0.08226, 0.08227, 0.08273, 0.08653",\
                 "0.105, 0.1037, 0.1012, 0.0989, 0.09782, 0.09738, 0.09727, 0.0971, 0.09738, 0.1019",\
                 "0.1276, 0.1261, 0.1231, 0.1201, 0.1183, 0.1175, 0.1175, 0.1174, 0.1173, 0.123",\
                 "0.156, 0.1543, 0.1508, 0.1472, 0.1447, 0.1429, 0.1424, 0.1432, 0.1431, 0.1514",\
                 "0.1906, 0.1888, 0.1847, 0.1806, 0.1773, 0.1752, 0.1731, 0.1732, 0.1753, 0.188");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1503, 0.1487, 0.1452, 0.1423, 0.1402, 0.1388, 0.1378, 0.1371, 0.1365, 0.1361",\
                 "0.1501, 0.1485, 0.145, 0.1421, 0.14, 0.1386, 0.1376, 0.1368, 0.1363, 0.1359",\
                 "0.1512, 0.1496, 0.1461, 0.1432, 0.1411, 0.1397, 0.1387, 0.1379, 0.1374, 0.137",\
                 "0.1552, 0.1535, 0.1499, 0.1469, 0.1448, 0.1433, 0.1423, 0.1415, 0.141, 0.1406",\
                 "0.1644, 0.1626, 0.1587, 0.1552, 0.1528, 0.1511, 0.1499, 0.1491, 0.1485, 0.148",\
                 "0.1793, 0.1774, 0.1729, 0.1688, 0.1659, 0.1639, 0.1625, 0.1615, 0.1608, 0.1602",\
                 "0.2001, 0.198, 0.1931, 0.1884, 0.1849, 0.1824, 0.1806, 0.1793, 0.1785, 0.1778",\
                 "0.2277, 0.2254, 0.2199, 0.2144, 0.2102, 0.2071, 0.2049, 0.2034, 0.2022, 0.2014",\
                 "0.2624, 0.26, 0.2538, 0.2475, 0.2424, 0.2387, 0.236, 0.234, 0.2326, 0.2315",\
                 "0.3043, 0.3017, 0.295, 0.2877, 0.2818, 0.2773, 0.274, 0.2716, 0.2698, 0.2684");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06414, 0.06338, 0.06211, 0.06132, 0.06106, 0.06115, 0.06137, 0.06161, 0.06204, 0.06441",\
                 "0.06397, 0.06326, 0.06191, 0.06116, 0.0609, 0.06098, 0.0612, 0.06144, 0.06188, 0.06418",\
                 "0.06488, 0.06419, 0.06295, 0.0621, 0.06185, 0.062, 0.0621, 0.06237, 0.0629, 0.0652",\
                 "0.06857, 0.06779, 0.06647, 0.06547, 0.06512, 0.06514, 0.06533, 0.0659, 0.06638, 0.06854",\
                 "0.07616, 0.07529, 0.07373, 0.07249, 0.07195, 0.07177, 0.07193, 0.0721, 0.07258, 0.07564",\
                 "0.08804, 0.08705, 0.08489, 0.08348, 0.08274, 0.0822, 0.08226, 0.08227, 0.08273, 0.08653",\
                 "0.105, 0.1038, 0.1012, 0.09909, 0.09782, 0.09751, 0.09721, 0.09697, 0.09774, 0.1015",\
                 "0.1276, 0.1262, 0.1231, 0.1202, 0.1182, 0.1177, 0.1175, 0.1172, 0.1173, 0.1231",\
                 "0.156, 0.1544, 0.1508, 0.1475, 0.1447, 0.1431, 0.1424, 0.1431, 0.1429, 0.1512",\
                 "0.1907, 0.1888, 0.1848, 0.1807, 0.1776, 0.1753, 0.1734, 0.1735, 0.1756, 0.1879");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1503, 0.1487, 0.1452, 0.1423, 0.1402, 0.1388, 0.1378, 0.1371, 0.1365, 0.1361",\
                 "0.1501, 0.1485, 0.145, 0.1421, 0.14, 0.1386, 0.1376, 0.1368, 0.1363, 0.1359",\
                 "0.1512, 0.1496, 0.1461, 0.1431, 0.1411, 0.1396, 0.1386, 0.1379, 0.1374, 0.137",\
                 "0.1552, 0.1535, 0.15, 0.1469, 0.1448, 0.1433, 0.1423, 0.1416, 0.141, 0.1407",\
                 "0.1644, 0.1626, 0.1587, 0.1552, 0.1528, 0.1511, 0.1499, 0.1491, 0.1485, 0.148",\
                 "0.1793, 0.1773, 0.1729, 0.1688, 0.166, 0.1639, 0.1625, 0.1615, 0.1608, 0.1602",\
                 "0.2001, 0.198, 0.1931, 0.1884, 0.1849, 0.1824, 0.1806, 0.1794, 0.1785, 0.1778",\
                 "0.2277, 0.2254, 0.2199, 0.2144, 0.2102, 0.2071, 0.2049, 0.2033, 0.2022, 0.2014",\
                 "0.2624, 0.2599, 0.2538, 0.2474, 0.2424, 0.2387, 0.236, 0.234, 0.2326, 0.2315",\
                 "0.3043, 0.3017, 0.295, 0.2877, 0.2818, 0.2774, 0.274, 0.2716, 0.2698, 0.2685");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06413, 0.0634, 0.06216, 0.0613, 0.06106, 0.06115, 0.06134, 0.06161, 0.06217, 0.06444",\
                 "0.06393, 0.06321, 0.06192, 0.06119, 0.06096, 0.06101, 0.0612, 0.06174, 0.06211, 0.06391",\
                 "0.06493, 0.06415, 0.06288, 0.06211, 0.06185, 0.06187, 0.0621, 0.06234, 0.06283, 0.0653",\
                 "0.06854, 0.06777, 0.0664, 0.06541, 0.06515, 0.06514, 0.06536, 0.0656, 0.06628, 0.06897",\
                 "0.07617, 0.07526, 0.07374, 0.07248, 0.07192, 0.0718, 0.07196, 0.07217, 0.07275, 0.07567",\
                 "0.08804, 0.08707, 0.08492, 0.08347, 0.08278, 0.0822, 0.08213, 0.08227, 0.08273, 0.08632",\
                 "0.105, 0.1038, 0.1012, 0.09903, 0.09786, 0.09745, 0.09708, 0.097, 0.09774, 0.1021",\
                 "0.1275, 0.1261, 0.1231, 0.1202, 0.1183, 0.1174, 0.1174, 0.1171, 0.1173, 0.123",\
                 "0.156, 0.1543, 0.1507, 0.1473, 0.1447, 0.1428, 0.1424, 0.143, 0.1431, 0.1515",\
                 "0.1907, 0.1888, 0.1847, 0.1807, 0.1776, 0.1752, 0.1734, 0.1734, 0.1746, 0.188");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1503, 0.1487, 0.1452, 0.1423, 0.1402, 0.1388, 0.1378, 0.1371, 0.1365, 0.1361",\
                 "0.1501, 0.1485, 0.145, 0.1421, 0.14, 0.1386, 0.1376, 0.1368, 0.1363, 0.1359",\
                 "0.1512, 0.1496, 0.1461, 0.1432, 0.1411, 0.1396, 0.1386, 0.1379, 0.1374, 0.137",\
                 "0.1552, 0.1535, 0.1499, 0.1469, 0.1448, 0.1433, 0.1423, 0.1416, 0.141, 0.1406",\
                 "0.1644, 0.1626, 0.1587, 0.1552, 0.1528, 0.1511, 0.1499, 0.1491, 0.1485, 0.148",\
                 "0.1793, 0.1773, 0.1729, 0.1689, 0.1659, 0.1639, 0.1625, 0.1615, 0.1608, 0.1602",\
                 "0.2001, 0.198, 0.1931, 0.1884, 0.1849, 0.1824, 0.1806, 0.1793, 0.1785, 0.1778",\
                 "0.2277, 0.2254, 0.2199, 0.2144, 0.2102, 0.2071, 0.2049, 0.2034, 0.2022, 0.2014",\
                 "0.2624, 0.2599, 0.2538, 0.2475, 0.2424, 0.2387, 0.236, 0.234, 0.2326, 0.2315",\
                 "0.3043, 0.3017, 0.295, 0.2877, 0.2818, 0.2774, 0.274, 0.2716, 0.2698, 0.2685");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06408, 0.06338, 0.06212, 0.06135, 0.06106, 0.06115, 0.06137, 0.06161, 0.06221, 0.06441",\
                 "0.06402, 0.06326, 0.06192, 0.06119, 0.06096, 0.06101, 0.0612, 0.06174, 0.06208, 0.06428",\
                 "0.06488, 0.06419, 0.06295, 0.0621, 0.06185, 0.062, 0.0621, 0.06237, 0.0629, 0.0652",\
                 "0.06854, 0.06777, 0.0664, 0.0654, 0.06515, 0.06514, 0.06536, 0.0656, 0.06628, 0.069",\
                 "0.07617, 0.07526, 0.07374, 0.07244, 0.07195, 0.0718, 0.07196, 0.07217, 0.07275, 0.07567",\
                 "0.08804, 0.08707, 0.08489, 0.08347, 0.08274, 0.0822, 0.08213, 0.08227, 0.08273, 0.08663",\
                 "0.105, 0.1038, 0.1012, 0.09907, 0.09782, 0.09751, 0.09721, 0.09697, 0.09744, 0.1015",\
                 "0.1276, 0.1262, 0.123, 0.1201, 0.1182, 0.1177, 0.1173, 0.1172, 0.1173, 0.1231",\
                 "0.156, 0.1543, 0.1508, 0.1475, 0.1447, 0.1431, 0.1424, 0.1427, 0.1432, 0.1511",\
                 "0.1907, 0.1888, 0.1848, 0.1806, 0.1773, 0.175, 0.1737, 0.1736, 0.1752, 0.1875");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1503, 0.1487, 0.1452, 0.1423, 0.1402, 0.1388, 0.1378, 0.1371, 0.1365, 0.1361",\
                 "0.1501, 0.1485, 0.145, 0.1421, 0.14, 0.1386, 0.1376, 0.1369, 0.1363, 0.1359",\
                 "0.1512, 0.1496, 0.1461, 0.1432, 0.1411, 0.1397, 0.1386, 0.1379, 0.1374, 0.137",\
                 "0.1552, 0.1535, 0.15, 0.1469, 0.1448, 0.1433, 0.1423, 0.1416, 0.141, 0.1407",\
                 "0.1644, 0.1626, 0.1587, 0.1552, 0.1528, 0.1511, 0.1499, 0.1491, 0.1485, 0.148",\
                 "0.1793, 0.1773, 0.1729, 0.1689, 0.1659, 0.1639, 0.1625, 0.1615, 0.1608, 0.1602",\
                 "0.2001, 0.198, 0.1931, 0.1884, 0.1849, 0.1823, 0.1806, 0.1794, 0.1785, 0.1778",\
                 "0.2277, 0.2254, 0.2199, 0.2144, 0.2102, 0.2071, 0.2049, 0.2034, 0.2022, 0.2014",\
                 "0.2624, 0.2599, 0.2538, 0.2474, 0.2424, 0.2387, 0.236, 0.234, 0.2326, 0.2315",\
                 "0.3043, 0.3017, 0.295, 0.2877, 0.2818, 0.2774, 0.274, 0.2716, 0.2698, 0.2684");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06408, 0.06337, 0.06218, 0.06127, 0.0611, 0.06115, 0.0613, 0.06161, 0.06221, 0.0648",\
                 "0.06398, 0.06324, 0.06193, 0.06117, 0.0609, 0.06111, 0.0612, 0.06145, 0.06201, 0.06418",\
                 "0.06493, 0.06415, 0.06288, 0.06211, 0.06185, 0.06187, 0.0621, 0.06234, 0.06283, 0.0653",\
                 "0.06854, 0.06779, 0.06634, 0.06546, 0.06512, 0.06514, 0.06536, 0.0656, 0.06631, 0.06903",\
                 "0.07616, 0.0753, 0.07373, 0.07252, 0.07195, 0.07181, 0.07193, 0.0721, 0.07258, 0.07564",\
                 "0.08804, 0.08705, 0.08491, 0.08344, 0.08264, 0.0822, 0.08213, 0.08233, 0.08276, 0.08632",\
                 "0.105, 0.1037, 0.1012, 0.09906, 0.09786, 0.09751, 0.09714, 0.09694, 0.09744, 0.1021",\
                 "0.1275, 0.1261, 0.123, 0.1201, 0.1183, 0.1174, 0.1174, 0.1171, 0.1173, 0.123",\
                 "0.156, 0.1543, 0.1507, 0.1472, 0.1448, 0.1428, 0.1424, 0.143, 0.1431, 0.1515",\
                 "0.1907, 0.1888, 0.1847, 0.1807, 0.1776, 0.1752, 0.1737, 0.1732, 0.1751, 0.1874");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1503, 0.1487, 0.1452, 0.1423, 0.1402, 0.1388, 0.1378, 0.1371, 0.1365, 0.1361",\
                 "0.1501, 0.1485, 0.145, 0.1421, 0.14, 0.1386, 0.1376, 0.1369, 0.1363, 0.1359",\
                 "0.1512, 0.1496, 0.1461, 0.1431, 0.1411, 0.1397, 0.1386, 0.1379, 0.1374, 0.137",\
                 "0.1552, 0.1535, 0.15, 0.1469, 0.1448, 0.1433, 0.1423, 0.1416, 0.141, 0.1406",\
                 "0.1644, 0.1626, 0.1587, 0.1552, 0.1528, 0.1511, 0.1499, 0.1491, 0.1485, 0.1481",\
                 "0.1793, 0.1773, 0.1729, 0.1689, 0.1659, 0.1639, 0.1625, 0.1615, 0.1608, 0.1603",\
                 "0.2001, 0.198, 0.1931, 0.1884, 0.1849, 0.1824, 0.1806, 0.1794, 0.1785, 0.1778",\
                 "0.2277, 0.2254, 0.2199, 0.2144, 0.2102, 0.2071, 0.2049, 0.2034, 0.2022, 0.2014",\
                 "0.2624, 0.26, 0.2538, 0.2475, 0.2424, 0.2387, 0.236, 0.234, 0.2326, 0.2315",\
                 "0.3043, 0.3017, 0.295, 0.2877, 0.2818, 0.2774, 0.274, 0.2716, 0.2698, 0.2684");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06411, 0.0634, 0.06212, 0.06135, 0.0611, 0.06115, 0.06134, 0.06158, 0.06237, 0.06441",\
                 "0.06392, 0.0632, 0.06197, 0.06116, 0.0609, 0.06101, 0.0612, 0.06145, 0.06188, 0.06418",\
                 "0.06488, 0.06419, 0.06295, 0.0621, 0.06185, 0.062, 0.0621, 0.06234, 0.0629, 0.0652",\
                 "0.06856, 0.06779, 0.0664, 0.06542, 0.06515, 0.06517, 0.06536, 0.06564, 0.06631, 0.06903",\
                 "0.07617, 0.07529, 0.07371, 0.07243, 0.07195, 0.07181, 0.07196, 0.07224, 0.07255, 0.07564",\
                 "0.08804, 0.08705, 0.08491, 0.08344, 0.08264, 0.0822, 0.08213, 0.08233, 0.08273, 0.08667",\
                 "0.105, 0.1037, 0.1012, 0.09907, 0.09782, 0.09751, 0.09721, 0.09697, 0.09744, 0.1015",\
                 "0.1275, 0.1261, 0.123, 0.1201, 0.1184, 0.1177, 0.1175, 0.1173, 0.1173, 0.123",\
                 "0.156, 0.1544, 0.1508, 0.1475, 0.1448, 0.143, 0.1424, 0.1427, 0.1432, 0.1511",\
                 "0.1907, 0.1888, 0.1848, 0.1807, 0.1773, 0.1751, 0.1737, 0.1734, 0.1752, 0.1878");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1503, 0.1487, 0.1452, 0.1423, 0.1402, 0.1388, 0.1378, 0.1371, 0.1365, 0.1361",\
                 "0.1501, 0.1485, 0.145, 0.1421, 0.14, 0.1386, 0.1376, 0.1369, 0.1363, 0.1359",\
                 "0.1512, 0.1496, 0.1461, 0.1432, 0.1411, 0.1397, 0.1387, 0.1379, 0.1374, 0.137",\
                 "0.1552, 0.1535, 0.15, 0.1469, 0.1448, 0.1433, 0.1423, 0.1416, 0.141, 0.1407",\
                 "0.1644, 0.1626, 0.1587, 0.1552, 0.1528, 0.1511, 0.1499, 0.1491, 0.1485, 0.148",\
                 "0.1793, 0.1773, 0.1729, 0.1689, 0.1659, 0.1639, 0.1625, 0.1615, 0.1608, 0.1602",\
                 "0.2001, 0.198, 0.1931, 0.1884, 0.1849, 0.1823, 0.1806, 0.1794, 0.1785, 0.1778",\
                 "0.2277, 0.2254, 0.2199, 0.2144, 0.2102, 0.2071, 0.2049, 0.2034, 0.2022, 0.2014",\
                 "0.2624, 0.2599, 0.2538, 0.2474, 0.2424, 0.2387, 0.236, 0.234, 0.2326, 0.2315",\
                 "0.3043, 0.3017, 0.295, 0.2877, 0.2818, 0.2774, 0.274, 0.2717, 0.2698, 0.2685");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.0641, 0.06341, 0.06211, 0.06133, 0.06113, 0.06115, 0.06134, 0.06154, 0.06237, 0.06441",\
                 "0.06402, 0.06325, 0.06191, 0.06116, 0.0609, 0.06101, 0.0612, 0.06145, 0.06188, 0.06418",\
                 "0.06492, 0.06415, 0.06288, 0.06211, 0.06185, 0.06187, 0.0621, 0.06234, 0.06283, 0.0653",\
                 "0.06858, 0.06781, 0.06642, 0.06547, 0.06515, 0.06514, 0.06536, 0.0656, 0.06628, 0.06903",\
                 "0.07616, 0.07526, 0.07373, 0.07245, 0.07195, 0.07194, 0.0719, 0.0721, 0.07262, 0.07567",\
                 "0.08804, 0.08705, 0.08486, 0.08344, 0.08264, 0.0822, 0.08213, 0.08227, 0.08276, 0.08635",\
                 "0.105, 0.1038, 0.1012, 0.09897, 0.09786, 0.09748, 0.09711, 0.09704, 0.09744, 0.1021",\
                 "0.1275, 0.1261, 0.123, 0.1201, 0.1183, 0.1174, 0.1174, 0.1171, 0.1173, 0.123",\
                 "0.156, 0.1543, 0.1507, 0.1473, 0.1446, 0.1428, 0.1424, 0.1429, 0.1431, 0.1508",\
                 "0.1907, 0.1888, 0.1848, 0.1806, 0.1773, 0.1752, 0.1735, 0.1735, 0.1756, 0.1876");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1503, 0.1487, 0.1452, 0.1423, 0.1402, 0.1388, 0.1378, 0.1371, 0.1365, 0.1361",\
                 "0.1501, 0.1485, 0.145, 0.1421, 0.14, 0.1386, 0.1376, 0.1369, 0.1363, 0.1359",\
                 "0.1512, 0.1496, 0.1461, 0.1431, 0.1411, 0.1397, 0.1386, 0.1379, 0.1374, 0.137",\
                 "0.1552, 0.1535, 0.1499, 0.1469, 0.1448, 0.1433, 0.1423, 0.1416, 0.141, 0.1406",\
                 "0.1644, 0.1626, 0.1587, 0.1552, 0.1528, 0.1511, 0.1499, 0.1491, 0.1485, 0.1481",\
                 "0.1793, 0.1773, 0.1729, 0.1689, 0.166, 0.1639, 0.1625, 0.1615, 0.1608, 0.1602",\
                 "0.2001, 0.198, 0.1931, 0.1884, 0.1849, 0.1824, 0.1806, 0.1794, 0.1785, 0.1778",\
                 "0.2277, 0.2254, 0.2199, 0.2144, 0.2101, 0.2071, 0.2049, 0.2034, 0.2022, 0.2014",\
                 "0.2624, 0.26, 0.2538, 0.2475, 0.2424, 0.2387, 0.236, 0.234, 0.2326, 0.2315",\
                 "0.3043, 0.3017, 0.295, 0.2877, 0.2818, 0.2774, 0.2741, 0.2716, 0.2698, 0.2685");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.0641, 0.0634, 0.06212, 0.06135, 0.0611, 0.06115, 0.06134, 0.06154, 0.06237, 0.06438",\
                 "0.06402, 0.06325, 0.0619, 0.0612, 0.06086, 0.06098, 0.06117, 0.06145, 0.06208, 0.06461",\
                 "0.06488, 0.06419, 0.06295, 0.0621, 0.06185, 0.062, 0.0621, 0.06234, 0.0629, 0.0652",\
                 "0.06856, 0.06779, 0.06638, 0.06542, 0.06515, 0.06517, 0.06536, 0.0656, 0.06631, 0.069",\
                 "0.07616, 0.07527, 0.07373, 0.0724, 0.07192, 0.07177, 0.07206, 0.0721, 0.07272, 0.0757",\
                 "0.08804, 0.08704, 0.08492, 0.08347, 0.08264, 0.0822, 0.08213, 0.08233, 0.08273, 0.08663",\
                 "0.105, 0.1038, 0.1012, 0.09904, 0.09782, 0.09751, 0.09721, 0.09697, 0.09744, 0.1015",\
                 "0.1276, 0.1261, 0.123, 0.1203, 0.1183, 0.1173, 0.1173, 0.1172, 0.1173, 0.123",\
                 "0.156, 0.1543, 0.1508, 0.1475, 0.1448, 0.1431, 0.1425, 0.1427, 0.1431, 0.1511",\
                 "0.1907, 0.1889, 0.1848, 0.1806, 0.1773, 0.175, 0.1737, 0.1734, 0.1754, 0.1876");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&!I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1566, 0.155, 0.1513, 0.1482, 0.146, 0.1444, 0.1433, 0.1426, 0.142, 0.1416",\
                 "0.1564, 0.1548, 0.1511, 0.148, 0.1457, 0.1442, 0.1431, 0.1423, 0.1418, 0.1413",\
                 "0.1575, 0.1558, 0.1521, 0.149, 0.1468, 0.1452, 0.1441, 0.1433, 0.1428, 0.1424",\
                 "0.1613, 0.1596, 0.1559, 0.1527, 0.1504, 0.1488, 0.1477, 0.1469, 0.1464, 0.1459",\
                 "0.1704, 0.1686, 0.1644, 0.1608, 0.1583, 0.1565, 0.1552, 0.1543, 0.1537, 0.1532",\
                 "0.1852, 0.1832, 0.1786, 0.1744, 0.1713, 0.1691, 0.1676, 0.1666, 0.1658, 0.1652",\
                 "0.2059, 0.2037, 0.1987, 0.1938, 0.1901, 0.1874, 0.1856, 0.1843, 0.1833, 0.1826",\
                 "0.2333, 0.231, 0.2253, 0.2197, 0.2153, 0.2121, 0.2097, 0.2081, 0.2069, 0.206",\
                 "0.2679, 0.2654, 0.2591, 0.2525, 0.2474, 0.2435, 0.2407, 0.2386, 0.2371, 0.2359",\
                 "0.3096, 0.307, 0.3002, 0.2927, 0.2866, 0.282, 0.2786, 0.276, 0.2741, 0.2727");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06938, 0.06858, 0.06716, 0.06631, 0.06605, 0.0661, 0.06625, 0.06646, 0.06706, 0.06919",\
                 "0.06919, 0.06843, 0.06699, 0.06614, 0.06588, 0.0659, 0.06609, 0.0663, 0.06689, 0.06911",\
                 "0.07005, 0.06927, 0.06799, 0.067, 0.06671, 0.06672, 0.06685, 0.06715, 0.06772, 0.07005",\
                 "0.07366, 0.07279, 0.07132, 0.07029, 0.06994, 0.06992, 0.07002, 0.07029, 0.0708, 0.07342",\
                 "0.08111, 0.08016, 0.07855, 0.0772, 0.07661, 0.07652, 0.07648, 0.07669, 0.07714, 0.08019",\
                 "0.09286, 0.09175, 0.08958, 0.08812, 0.08726, 0.08675, 0.08671, 0.08695, 0.08722, 0.09089",\
                 "0.1097, 0.1084, 0.1058, 0.1035, 0.1024, 0.1019, 0.1016, 0.1015, 0.1017, 0.1063",\
                 "0.1321, 0.1306, 0.1275, 0.1245, 0.1226, 0.1216, 0.1215, 0.1212, 0.1214, 0.1273",\
                 "0.1605, 0.1588, 0.1551, 0.1516, 0.149, 0.1471, 0.1465, 0.1469, 0.1474, 0.1555",\
                 "0.195, 0.1931, 0.189, 0.1846, 0.1812, 0.179, 0.1771, 0.1773, 0.179, 0.1912");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&!I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1566, 0.155, 0.1513, 0.1482, 0.146, 0.1444, 0.1433, 0.1426, 0.142, 0.1416",\
                 "0.1564, 0.1547, 0.1511, 0.148, 0.1458, 0.1442, 0.1431, 0.1423, 0.1418, 0.1413",\
                 "0.1574, 0.1558, 0.1521, 0.149, 0.1468, 0.1452, 0.1441, 0.1433, 0.1428, 0.1424",\
                 "0.1613, 0.1596, 0.1559, 0.1527, 0.1504, 0.1488, 0.1477, 0.1469, 0.1463, 0.1459",\
                 "0.1704, 0.1686, 0.1644, 0.1608, 0.1583, 0.1564, 0.1552, 0.1543, 0.1536, 0.1532",\
                 "0.1851, 0.1832, 0.1786, 0.1744, 0.1713, 0.1692, 0.1676, 0.1666, 0.1658, 0.1652",\
                 "0.2059, 0.2037, 0.1987, 0.1938, 0.1901, 0.1874, 0.1856, 0.1843, 0.1833, 0.1826",\
                 "0.2333, 0.2309, 0.2253, 0.2197, 0.2153, 0.2121, 0.2097, 0.2081, 0.2069, 0.206",\
                 "0.2679, 0.2653, 0.2591, 0.2525, 0.2474, 0.2435, 0.2407, 0.2386, 0.2371, 0.2359",\
                 "0.3096, 0.3071, 0.3001, 0.2927, 0.2866, 0.282, 0.2786, 0.276, 0.2742, 0.2727");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06933, 0.06856, 0.06718, 0.0663, 0.06605, 0.06603, 0.06622, 0.06646, 0.06706, 0.06949",\
                 "0.06919, 0.06843, 0.06699, 0.06614, 0.06588, 0.0659, 0.06609, 0.0663, 0.06686, 0.06911",\
                 "0.07005, 0.06927, 0.06799, 0.067, 0.06671, 0.06672, 0.06685, 0.06715, 0.06772, 0.07005",\
                 "0.07367, 0.07279, 0.07135, 0.07033, 0.06987, 0.07002, 0.07008, 0.07029, 0.07083, 0.07355",\
                 "0.08111, 0.08016, 0.07855, 0.0772, 0.07661, 0.07652, 0.07648, 0.07669, 0.07714, 0.08019",\
                 "0.09286, 0.09175, 0.0896, 0.08812, 0.08723, 0.08672, 0.08668, 0.08672, 0.08722, 0.09089",\
                 "0.1097, 0.1084, 0.1058, 0.1034, 0.1022, 0.1018, 0.1014, 0.1015, 0.1017, 0.106",\
                 "0.1321, 0.1306, 0.1275, 0.1245, 0.1226, 0.1216, 0.1215, 0.1212, 0.1215, 0.1273",\
                 "0.1604, 0.1587, 0.1552, 0.1517, 0.1488, 0.1472, 0.1464, 0.1469, 0.1471, 0.1554",\
                 "0.195, 0.1931, 0.189, 0.1847, 0.1813, 0.179, 0.1776, 0.1772, 0.1792, 0.1919");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1566, 0.155, 0.1513, 0.1482, 0.146, 0.1444, 0.1433, 0.1426, 0.142, 0.1416",\
                 "0.1564, 0.1547, 0.1511, 0.148, 0.1458, 0.1442, 0.1431, 0.1423, 0.1418, 0.1413",\
                 "0.1575, 0.1558, 0.1521, 0.149, 0.1468, 0.1452, 0.1441, 0.1433, 0.1428, 0.1424",\
                 "0.1614, 0.1596, 0.1559, 0.1527, 0.1504, 0.1488, 0.1477, 0.1469, 0.1463, 0.1459",\
                 "0.1704, 0.1686, 0.1645, 0.1609, 0.1583, 0.1565, 0.1552, 0.1543, 0.1537, 0.1532",\
                 "0.1851, 0.1831, 0.1786, 0.1743, 0.1713, 0.1691, 0.1676, 0.1666, 0.1658, 0.1652",\
                 "0.2059, 0.2037, 0.1987, 0.1938, 0.1901, 0.1875, 0.1856, 0.1843, 0.1833, 0.1826",\
                 "0.2333, 0.231, 0.2252, 0.2197, 0.2153, 0.2121, 0.2097, 0.2081, 0.2069, 0.206",\
                 "0.2679, 0.2654, 0.2591, 0.2526, 0.2474, 0.2435, 0.2407, 0.2386, 0.2371, 0.2359",\
                 "0.3096, 0.307, 0.3002, 0.2927, 0.2867, 0.282, 0.2786, 0.276, 0.2742, 0.2727");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06938, 0.06856, 0.06716, 0.06635, 0.06605, 0.06603, 0.06629, 0.06656, 0.06703, 0.06926",\
                 "0.06919, 0.06843, 0.06699, 0.06614, 0.06588, 0.0659, 0.06609, 0.0663, 0.06686, 0.06911",\
                 "0.07005, 0.06927, 0.06799, 0.067, 0.06671, 0.06672, 0.06685, 0.06715, 0.06772, 0.07005",\
                 "0.07366, 0.07279, 0.07132, 0.07029, 0.06994, 0.06992, 0.07002, 0.07029, 0.0708, 0.07342",\
                 "0.08111, 0.08018, 0.07855, 0.0772, 0.07661, 0.07652, 0.07648, 0.07669, 0.07714, 0.08019",\
                 "0.09286, 0.09175, 0.0896, 0.08812, 0.08723, 0.08672, 0.08668, 0.08695, 0.08722, 0.09089",\
                 "0.1097, 0.1084, 0.1057, 0.1034, 0.1023, 0.1019, 0.1015, 0.1013, 0.1017, 0.1059",\
                 "0.1321, 0.1306, 0.1275, 0.1245, 0.1226, 0.1216, 0.1215, 0.1213, 0.1214, 0.1273",\
                 "0.1605, 0.1587, 0.1551, 0.1516, 0.149, 0.147, 0.1466, 0.1468, 0.1472, 0.1552",\
                 "0.195, 0.193, 0.189, 0.1847, 0.1812, 0.179, 0.1776, 0.1772, 0.1792, 0.1919");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1566, 0.155, 0.1513, 0.1482, 0.146, 0.1444, 0.1433, 0.1426, 0.142, 0.1416",\
                 "0.1564, 0.1547, 0.1511, 0.148, 0.1458, 0.1442, 0.1431, 0.1423, 0.1418, 0.1413",\
                 "0.1574, 0.1558, 0.1521, 0.149, 0.1468, 0.1452, 0.1441, 0.1433, 0.1428, 0.1424",\
                 "0.1613, 0.1596, 0.1559, 0.1527, 0.1504, 0.1488, 0.1477, 0.1469, 0.1463, 0.1459",\
                 "0.1704, 0.1686, 0.1645, 0.1609, 0.1583, 0.1565, 0.1552, 0.1543, 0.1536, 0.1532",\
                 "0.1851, 0.1832, 0.1786, 0.1744, 0.1713, 0.1691, 0.1677, 0.1666, 0.1658, 0.1652",\
                 "0.2059, 0.2037, 0.1987, 0.1938, 0.1901, 0.1874, 0.1856, 0.1843, 0.1833, 0.1826",\
                 "0.2333, 0.231, 0.2252, 0.2197, 0.2153, 0.2121, 0.2097, 0.2081, 0.2069, 0.206",\
                 "0.2678, 0.2653, 0.2591, 0.2526, 0.2474, 0.2435, 0.2406, 0.2386, 0.2371, 0.2359",\
                 "0.3096, 0.3071, 0.3002, 0.2927, 0.2866, 0.282, 0.2786, 0.276, 0.2742, 0.2727");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06938, 0.06862, 0.06716, 0.06633, 0.06601, 0.06603, 0.06619, 0.06666, 0.06716, 0.06899",\
                 "0.06925, 0.06839, 0.06707, 0.0662, 0.06591, 0.06586, 0.06606, 0.06626, 0.06686, 0.06911",\
                 "0.07005, 0.06927, 0.06799, 0.067, 0.06671, 0.06672, 0.06685, 0.06715, 0.06772, 0.07005",\
                 "0.07366, 0.07279, 0.07132, 0.07029, 0.06994, 0.06996, 0.07002, 0.07029, 0.0708, 0.07342",\
                 "0.08111, 0.08018, 0.07855, 0.0772, 0.07661, 0.07652, 0.07648, 0.07669, 0.07714, 0.08019",\
                 "0.09286, 0.09175, 0.0896, 0.08812, 0.08723, 0.08672, 0.08668, 0.08672, 0.08722, 0.09089",\
                 "0.1097, 0.1084, 0.1058, 0.1034, 0.1023, 0.1019, 0.1015, 0.1013, 0.1017, 0.1059",\
                 "0.1321, 0.1306, 0.1275, 0.1245, 0.1226, 0.1216, 0.1219, 0.1212, 0.1214, 0.1273",\
                 "0.1604, 0.1587, 0.1552, 0.1516, 0.1488, 0.1472, 0.1465, 0.1468, 0.1469, 0.1553",\
                 "0.195, 0.193, 0.189, 0.1847, 0.1812, 0.179, 0.1776, 0.1772, 0.1792, 0.1919");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&!I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1566, 0.155, 0.1513, 0.1482, 0.146, 0.1444, 0.1433, 0.1426, 0.142, 0.1416",\
                 "0.1564, 0.1547, 0.1511, 0.148, 0.1458, 0.1442, 0.1431, 0.1423, 0.1418, 0.1414",\
                 "0.1574, 0.1558, 0.1521, 0.149, 0.1468, 0.1452, 0.1441, 0.1433, 0.1428, 0.1424",\
                 "0.1613, 0.1596, 0.1559, 0.1527, 0.1504, 0.1488, 0.1477, 0.1469, 0.1463, 0.1459",\
                 "0.1704, 0.1686, 0.1645, 0.1609, 0.1583, 0.1565, 0.1552, 0.1543, 0.1537, 0.1532",\
                 "0.1851, 0.1832, 0.1786, 0.1744, 0.1713, 0.1691, 0.1676, 0.1665, 0.1657, 0.1652",\
                 "0.2059, 0.2037, 0.1987, 0.1938, 0.1901, 0.1874, 0.1856, 0.1843, 0.1833, 0.1826",\
                 "0.2333, 0.231, 0.2252, 0.2197, 0.2153, 0.212, 0.2097, 0.2081, 0.2069, 0.206",\
                 "0.2679, 0.2654, 0.2591, 0.2526, 0.2474, 0.2434, 0.2407, 0.2386, 0.2371, 0.236",\
                 "0.3096, 0.307, 0.3002, 0.2927, 0.2866, 0.282, 0.2785, 0.276, 0.2741, 0.2727");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06937, 0.06858, 0.06718, 0.06632, 0.06601, 0.06606, 0.06625, 0.06653, 0.06709, 0.06929",\
                 "0.0692, 0.06843, 0.06699, 0.06614, 0.06588, 0.0659, 0.06609, 0.0663, 0.06686, 0.06911",\
                 "0.07007, 0.06928, 0.06799, 0.067, 0.0667, 0.06672, 0.06685, 0.06715, 0.06772, 0.07005",\
                 "0.07367, 0.0728, 0.07134, 0.0703, 0.06994, 0.06992, 0.07005, 0.07029, 0.0708, 0.07345",\
                 "0.08111, 0.08018, 0.07849, 0.0772, 0.0766, 0.07652, 0.07648, 0.07669, 0.07714, 0.08019",\
                 "0.09287, 0.09175, 0.08963, 0.08811, 0.08726, 0.08685, 0.08671, 0.08705, 0.08728, 0.09095",\
                 "0.1097, 0.1084, 0.1056, 0.1034, 0.1022, 0.1018, 0.1016, 0.1013, 0.1016, 0.1062",\
                 "0.132, 0.1306, 0.1275, 0.1247, 0.1225, 0.1218, 0.1214, 0.1211, 0.1216, 0.1273",\
                 "0.1605, 0.1588, 0.1551, 0.1515, 0.1489, 0.1471, 0.1465, 0.147, 0.1472, 0.1555",\
                 "0.195, 0.1931, 0.1889, 0.1848, 0.1813, 0.1792, 0.1773, 0.1773, 0.179, 0.1921");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&!I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1566, 0.155, 0.1513, 0.1482, 0.146, 0.1444, 0.1433, 0.1426, 0.142, 0.1416",\
                 "0.1564, 0.1548, 0.1511, 0.148, 0.1458, 0.1442, 0.1431, 0.1423, 0.1418, 0.1413",\
                 "0.1575, 0.1558, 0.1521, 0.149, 0.1468, 0.1452, 0.1442, 0.1434, 0.1428, 0.1424",\
                 "0.1613, 0.1596, 0.1559, 0.1527, 0.1504, 0.1488, 0.1477, 0.1469, 0.1463, 0.1459",\
                 "0.1704, 0.1686, 0.1645, 0.1609, 0.1583, 0.1565, 0.1552, 0.1543, 0.1537, 0.1532",\
                 "0.1852, 0.1831, 0.1786, 0.1744, 0.1713, 0.1691, 0.1676, 0.1666, 0.1658, 0.1652",\
                 "0.2059, 0.2037, 0.1987, 0.1938, 0.1901, 0.1875, 0.1856, 0.1843, 0.1833, 0.1826",\
                 "0.2333, 0.231, 0.2253, 0.2196, 0.2153, 0.212, 0.2097, 0.208, 0.2069, 0.206",\
                 "0.2679, 0.2654, 0.2591, 0.2526, 0.2474, 0.2434, 0.2406, 0.2386, 0.2371, 0.2359",\
                 "0.3097, 0.307, 0.3002, 0.2927, 0.2866, 0.282, 0.2785, 0.276, 0.2741, 0.2727");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06938, 0.0686, 0.06717, 0.06632, 0.06604, 0.06603, 0.06625, 0.06646, 0.06709, 0.06923",\
                 "0.06921, 0.06843, 0.06707, 0.06616, 0.06591, 0.06593, 0.06609, 0.06633, 0.06693, 0.06928",\
                 "0.07007, 0.06928, 0.06799, 0.067, 0.0667, 0.06672, 0.06685, 0.06715, 0.06772, 0.07005",\
                 "0.07367, 0.07281, 0.07134, 0.07031, 0.06994, 0.06992, 0.07005, 0.07029, 0.0708, 0.07342",\
                 "0.08111, 0.08018, 0.07849, 0.0772, 0.0766, 0.07652, 0.07648, 0.07669, 0.07714, 0.08019",\
                 "0.09285, 0.09175, 0.08963, 0.08811, 0.0873, 0.08675, 0.08671, 0.08689, 0.08725, 0.09089",\
                 "0.1097, 0.1084, 0.1056, 0.1036, 0.1022, 0.1018, 0.1014, 0.1013, 0.1016, 0.1062",\
                 "0.132, 0.1306, 0.1274, 0.1245, 0.1226, 0.1217, 0.1214, 0.1212, 0.1213, 0.1273",\
                 "0.1604, 0.1587, 0.1552, 0.1516, 0.1489, 0.1471, 0.1465, 0.147, 0.1472, 0.1553",\
                 "0.195, 0.193, 0.1889, 0.1847, 0.1813, 0.179, 0.1773, 0.1773, 0.179, 0.1921");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1566, 0.155, 0.1513, 0.1482, 0.146, 0.1444, 0.1433, 0.1426, 0.142, 0.1416",\
                 "0.1564, 0.1547, 0.1511, 0.148, 0.1458, 0.1442, 0.1431, 0.1423, 0.1418, 0.1414",\
                 "0.1575, 0.1558, 0.1521, 0.149, 0.1468, 0.1452, 0.1441, 0.1433, 0.1428, 0.1424",\
                 "0.1613, 0.1596, 0.1559, 0.1527, 0.1504, 0.1488, 0.1477, 0.1469, 0.1463, 0.1459",\
                 "0.1704, 0.1686, 0.1645, 0.1609, 0.1583, 0.1565, 0.1552, 0.1543, 0.1537, 0.1532",\
                 "0.1851, 0.1832, 0.1786, 0.1744, 0.1714, 0.1691, 0.1677, 0.1666, 0.1658, 0.1652",\
                 "0.2059, 0.2037, 0.1987, 0.1938, 0.1901, 0.1875, 0.1856, 0.1843, 0.1833, 0.1826",\
                 "0.2333, 0.231, 0.2253, 0.2197, 0.2153, 0.212, 0.2097, 0.2081, 0.2068, 0.206",\
                 "0.2679, 0.2654, 0.2591, 0.2526, 0.2474, 0.2434, 0.2407, 0.2386, 0.2371, 0.236",\
                 "0.3096, 0.307, 0.3002, 0.2927, 0.2866, 0.282, 0.2785, 0.276, 0.2741, 0.2727");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06937, 0.06859, 0.06724, 0.06632, 0.06604, 0.06606, 0.06625, 0.06653, 0.06706, 0.06899",\
                 "0.06919, 0.06843, 0.06699, 0.06614, 0.06588, 0.0659, 0.06609, 0.0663, 0.06686, 0.06911",\
                 "0.07007, 0.06928, 0.06799, 0.067, 0.0667, 0.06672, 0.06685, 0.06715, 0.06772, 0.07005",\
                 "0.07363, 0.07279, 0.07131, 0.07029, 0.06994, 0.06992, 0.07002, 0.07029, 0.0708, 0.07342",\
                 "0.08111, 0.08018, 0.07849, 0.0772, 0.0766, 0.07652, 0.07648, 0.07669, 0.07714, 0.08019",\
                 "0.09286, 0.09175, 0.08966, 0.08811, 0.0873, 0.08679, 0.08678, 0.08679, 0.08712, 0.09066",\
                 "0.1097, 0.1084, 0.1057, 0.1036, 0.1022, 0.1018, 0.1016, 0.1013, 0.1016, 0.1063",\
                 "0.132, 0.1306, 0.1276, 0.1245, 0.1225, 0.1216, 0.1217, 0.1212, 0.1212, 0.1273",\
                 "0.1605, 0.1588, 0.1551, 0.1516, 0.1489, 0.1471, 0.1467, 0.1468, 0.1468, 0.1552",\
                 "0.195, 0.193, 0.1889, 0.1847, 0.1812, 0.179, 0.1773, 0.1773, 0.179, 0.1921");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1566, 0.155, 0.1513, 0.1482, 0.146, 0.1444, 0.1433, 0.1426, 0.142, 0.1416",\
                 "0.1564, 0.1547, 0.1511, 0.148, 0.1458, 0.1442, 0.1431, 0.1423, 0.1418, 0.1413",\
                 "0.1575, 0.1558, 0.1521, 0.149, 0.1468, 0.1453, 0.1441, 0.1434, 0.1428, 0.1424",\
                 "0.1614, 0.1596, 0.1559, 0.1527, 0.1504, 0.1488, 0.1477, 0.1469, 0.1463, 0.1459",\
                 "0.1704, 0.1686, 0.1645, 0.1609, 0.1583, 0.1565, 0.1552, 0.1543, 0.1537, 0.1532",\
                 "0.1851, 0.1832, 0.1786, 0.1744, 0.1713, 0.1691, 0.1676, 0.1666, 0.1658, 0.1652",\
                 "0.2059, 0.2037, 0.1987, 0.1938, 0.1901, 0.1875, 0.1856, 0.1843, 0.1833, 0.1826",\
                 "0.2333, 0.231, 0.2253, 0.2197, 0.2153, 0.2121, 0.2097, 0.2081, 0.2069, 0.206",\
                 "0.2678, 0.2654, 0.2591, 0.2526, 0.2474, 0.2434, 0.2406, 0.2386, 0.237, 0.2359",\
                 "0.3097, 0.307, 0.3002, 0.2927, 0.2866, 0.282, 0.2785, 0.276, 0.2741, 0.2727");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06938, 0.06862, 0.06718, 0.06634, 0.06601, 0.06603, 0.06619, 0.06672, 0.06693, 0.06899",\
                 "0.06921, 0.06841, 0.06701, 0.0662, 0.06588, 0.06586, 0.06599, 0.06656, 0.06673, 0.06918",\
                 "0.07007, 0.06928, 0.06799, 0.067, 0.0667, 0.06672, 0.06685, 0.06715, 0.06772, 0.07005",\
                 "0.07367, 0.07279, 0.07134, 0.0703, 0.06994, 0.06992, 0.07005, 0.07032, 0.0708, 0.07345",\
                 "0.08111, 0.08018, 0.07849, 0.0772, 0.0766, 0.07652, 0.07648, 0.07669, 0.07714, 0.08019",\
                 "0.09286, 0.09175, 0.08964, 0.08811, 0.08726, 0.08675, 0.08671, 0.08682, 0.08725, 0.09089",\
                 "0.1097, 0.1084, 0.1057, 0.1036, 0.1022, 0.1018, 0.1014, 0.1013, 0.1016, 0.1063",\
                 "0.132, 0.1306, 0.1276, 0.1245, 0.1225, 0.1216, 0.1219, 0.1213, 0.1215, 0.1273",\
                 "0.1604, 0.1586, 0.1552, 0.1516, 0.1489, 0.1471, 0.1467, 0.1468, 0.1468, 0.1552",\
                 "0.195, 0.193, 0.1889, 0.1847, 0.1812, 0.179, 0.1773, 0.1773, 0.179, 0.1921");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&!I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1626, 0.1609, 0.1573, 0.1542, 0.1519, 0.1504, 0.1493, 0.1485, 0.1479, 0.1475",\
                 "0.1624, 0.1607, 0.1571, 0.154, 0.1517, 0.1502, 0.1491, 0.1483, 0.1477, 0.1473",\
                 "0.1635, 0.1618, 0.1582, 0.155, 0.1528, 0.1512, 0.1501, 0.1493, 0.1488, 0.1484",\
                 "0.1674, 0.1657, 0.1619, 0.1587, 0.1564, 0.1548, 0.1537, 0.1529, 0.1524, 0.1519",\
                 "0.1764, 0.1746, 0.1705, 0.1669, 0.1643, 0.1625, 0.1612, 0.1603, 0.1597, 0.1592",\
                 "0.1912, 0.1892, 0.1846, 0.1804, 0.1774, 0.1752, 0.1737, 0.1726, 0.1719, 0.1713",\
                 "0.2119, 0.2098, 0.2047, 0.1998, 0.1961, 0.1935, 0.1916, 0.1903, 0.1894, 0.1887",\
                 "0.2393, 0.237, 0.2314, 0.2257, 0.2214, 0.2181, 0.2158, 0.2142, 0.213, 0.2121",\
                 "0.2739, 0.2714, 0.2652, 0.2586, 0.2534, 0.2495, 0.2467, 0.2447, 0.2431, 0.242",\
                 "0.3157, 0.313, 0.3062, 0.2988, 0.2928, 0.288, 0.2847, 0.2821, 0.2802, 0.2788");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06129, 0.06052, 0.05911, 0.05825, 0.05796, 0.05808, 0.05817, 0.05841, 0.05901, 0.06124",\
                 "0.06108, 0.06036, 0.05895, 0.05814, 0.0578, 0.05781, 0.05794, 0.05821, 0.05878, 0.06088",\
                 "0.06205, 0.06128, 0.05985, 0.05898, 0.05872, 0.0587, 0.05889, 0.05913, 0.0597, 0.06203",\
                 "0.06562, 0.06484, 0.06334, 0.06238, 0.06195, 0.0619, 0.06203, 0.06257, 0.06275, 0.06524",\
                 "0.07321, 0.07227, 0.07062, 0.06922, 0.06869, 0.06864, 0.06863, 0.069, 0.06955, 0.07245",\
                 "0.08497, 0.08381, 0.08166, 0.08018, 0.07934, 0.07887, 0.07876, 0.0791, 0.07963, 0.08277",\
                 "0.1018, 0.1006, 0.09799, 0.09571, 0.09452, 0.09418, 0.09381, 0.0935, 0.09381, 0.09814",\
                 "0.1243, 0.1228, 0.1197, 0.1168, 0.1148, 0.1138, 0.1139, 0.1134, 0.1135, 0.1193",\
                 "0.1527, 0.1511, 0.1474, 0.144, 0.1411, 0.1394, 0.1388, 0.1391, 0.1393, 0.1472",\
                 "0.1873, 0.1853, 0.1812, 0.1769, 0.1735, 0.171, 0.1696, 0.1696, 0.1715, 0.184");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&!I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1626, 0.1609, 0.1573, 0.1542, 0.1519, 0.1504, 0.1493, 0.1485, 0.1479, 0.1475",\
                 "0.1624, 0.1607, 0.1571, 0.154, 0.1517, 0.1502, 0.1491, 0.1483, 0.1477, 0.1473",\
                 "0.1635, 0.1618, 0.1582, 0.155, 0.1528, 0.1512, 0.1501, 0.1493, 0.1488, 0.1484",\
                 "0.1674, 0.1656, 0.1619, 0.1587, 0.1564, 0.1548, 0.1537, 0.1529, 0.1523, 0.1519",\
                 "0.1764, 0.1746, 0.1705, 0.1669, 0.1643, 0.1625, 0.1612, 0.1603, 0.1597, 0.1592",\
                 "0.1912, 0.1892, 0.1847, 0.1804, 0.1774, 0.1752, 0.1737, 0.1726, 0.1718, 0.1713",\
                 "0.2119, 0.2098, 0.2047, 0.1998, 0.1961, 0.1935, 0.1916, 0.1904, 0.1894, 0.1887",\
                 "0.2393, 0.237, 0.2314, 0.2257, 0.2214, 0.2181, 0.2159, 0.2142, 0.213, 0.2121",\
                 "0.2739, 0.2714, 0.2652, 0.2586, 0.2534, 0.2495, 0.2467, 0.2447, 0.2431, 0.242",\
                 "0.3157, 0.313, 0.3062, 0.2988, 0.2928, 0.2881, 0.2846, 0.2821, 0.2802, 0.2788");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06127, 0.06049, 0.05912, 0.05827, 0.05796, 0.05798, 0.0581, 0.05841, 0.05901, 0.06111",\
                 "0.06111, 0.06033, 0.05899, 0.05809, 0.05776, 0.05791, 0.058, 0.05831, 0.05881, 0.06098",\
                 "0.06205, 0.0613, 0.05991, 0.05898, 0.05865, 0.05884, 0.0589, 0.05914, 0.0597, 0.06255",\
                 "0.06564, 0.06485, 0.06346, 0.06236, 0.06195, 0.06191, 0.06213, 0.0626, 0.06272, 0.06524",\
                 "0.07321, 0.07227, 0.07065, 0.06926, 0.06869, 0.06864, 0.06863, 0.069, 0.06955, 0.07245",\
                 "0.08498, 0.08389, 0.08166, 0.0802, 0.07938, 0.0788, 0.07879, 0.0789, 0.0792, 0.08358",\
                 "0.1019, 0.1006, 0.09799, 0.09567, 0.09446, 0.09405, 0.09361, 0.09351, 0.09385, 0.09846",\
                 "0.1243, 0.1228, 0.1197, 0.1167, 0.1148, 0.1138, 0.1136, 0.1134, 0.1138, 0.1193",\
                 "0.1527, 0.151, 0.1474, 0.1438, 0.141, 0.1394, 0.1388, 0.1389, 0.1394, 0.1474",\
                 "0.1873, 0.1854, 0.1812, 0.1769, 0.1736, 0.171, 0.1696, 0.1694, 0.1712, 0.1837");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1626, 0.1609, 0.1573, 0.1542, 0.1519, 0.1504, 0.1493, 0.1485, 0.1479, 0.1475",\
                 "0.1624, 0.1607, 0.1571, 0.154, 0.1517, 0.1502, 0.1491, 0.1483, 0.1477, 0.1473",\
                 "0.1635, 0.1618, 0.1581, 0.155, 0.1528, 0.1512, 0.1501, 0.1493, 0.1488, 0.1484",\
                 "0.1674, 0.1657, 0.1619, 0.1587, 0.1564, 0.1549, 0.1537, 0.1529, 0.1523, 0.1519",\
                 "0.1764, 0.1746, 0.1705, 0.1669, 0.1643, 0.1625, 0.1612, 0.1603, 0.1597, 0.1592",\
                 "0.1912, 0.1892, 0.1846, 0.1804, 0.1773, 0.1752, 0.1737, 0.1726, 0.1718, 0.1713",\
                 "0.2119, 0.2097, 0.2047, 0.1998, 0.1962, 0.1935, 0.1916, 0.1903, 0.1894, 0.1887",\
                 "0.2393, 0.237, 0.2314, 0.2257, 0.2213, 0.2182, 0.2159, 0.2142, 0.213, 0.2121",\
                 "0.2739, 0.2714, 0.2652, 0.2586, 0.2534, 0.2495, 0.2467, 0.2447, 0.2432, 0.2421",\
                 "0.3157, 0.313, 0.3062, 0.2988, 0.2927, 0.2881, 0.2847, 0.2821, 0.2803, 0.2788");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06132, 0.06053, 0.05911, 0.0583, 0.05796, 0.05795, 0.05814, 0.05844, 0.05894, 0.06154",\
                 "0.06108, 0.06031, 0.05894, 0.05802, 0.0578, 0.05788, 0.05797, 0.05821, 0.05881, 0.06152",\
                 "0.06202, 0.06126, 0.05989, 0.05903, 0.05865, 0.0588, 0.05889, 0.0591, 0.05967, 0.06203",\
                 "0.06566, 0.06484, 0.06333, 0.06238, 0.06192, 0.06191, 0.06206, 0.06257, 0.06275, 0.06524",\
                 "0.07318, 0.07227, 0.07061, 0.0692, 0.06865, 0.06854, 0.06863, 0.06877, 0.06938, 0.07285",\
                 "0.08497, 0.08381, 0.08166, 0.08018, 0.07931, 0.07883, 0.07886, 0.07887, 0.07959, 0.08304",\
                 "0.1019, 0.1006, 0.09806, 0.09571, 0.09443, 0.09405, 0.09371, 0.09351, 0.09414, 0.09836",\
                 "0.1243, 0.1228, 0.1197, 0.1168, 0.1149, 0.1139, 0.1138, 0.1133, 0.1134, 0.1192",\
                 "0.1527, 0.1511, 0.1474, 0.1438, 0.1411, 0.1392, 0.1386, 0.1389, 0.1393, 0.1474",\
                 "0.1873, 0.1853, 0.1813, 0.1769, 0.1738, 0.1712, 0.1695, 0.1696, 0.1712, 0.1842");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1626, 0.1609, 0.1573, 0.1542, 0.1519, 0.1504, 0.1493, 0.1485, 0.1479, 0.1475",\
                 "0.1624, 0.1607, 0.1571, 0.154, 0.1517, 0.1502, 0.1491, 0.1483, 0.1477, 0.1473",\
                 "0.1635, 0.1618, 0.1582, 0.155, 0.1528, 0.1512, 0.1501, 0.1493, 0.1488, 0.1484",\
                 "0.1674, 0.1656, 0.1619, 0.1587, 0.1564, 0.1548, 0.1537, 0.1529, 0.1524, 0.1519",\
                 "0.1764, 0.1746, 0.1705, 0.1669, 0.1643, 0.1625, 0.1613, 0.1603, 0.1597, 0.1592",\
                 "0.1912, 0.1892, 0.1846, 0.1805, 0.1774, 0.1752, 0.1737, 0.1726, 0.1719, 0.1713",\
                 "0.2119, 0.2097, 0.2047, 0.1998, 0.1962, 0.1935, 0.1916, 0.1903, 0.1894, 0.1887",\
                 "0.2394, 0.237, 0.2314, 0.2257, 0.2214, 0.2182, 0.2158, 0.2142, 0.213, 0.2121",\
                 "0.2739, 0.2714, 0.2652, 0.2586, 0.2535, 0.2495, 0.2468, 0.2447, 0.2431, 0.2421",\
                 "0.3157, 0.313, 0.3062, 0.2988, 0.2927, 0.2881, 0.2847, 0.2821, 0.2803, 0.2789");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06127, 0.06054, 0.05915, 0.05827, 0.05796, 0.05798, 0.0581, 0.05841, 0.05901, 0.06127",\
                 "0.06107, 0.06034, 0.05893, 0.05802, 0.0578, 0.05791, 0.05797, 0.05821, 0.05878, 0.06129",\
                 "0.06202, 0.06124, 0.05988, 0.05903, 0.05865, 0.0588, 0.05889, 0.0591, 0.05967, 0.06164",\
                 "0.06566, 0.06484, 0.06333, 0.06238, 0.06192, 0.0619, 0.06206, 0.06257, 0.06275, 0.06524",\
                 "0.07323, 0.07229, 0.07062, 0.06922, 0.06869, 0.06854, 0.06863, 0.0688, 0.06951, 0.07249",\
                 "0.08498, 0.08391, 0.08181, 0.0803, 0.07938, 0.0789, 0.07893, 0.07887, 0.07926, 0.083",\
                 "0.1018, 0.1006, 0.09793, 0.09571, 0.09449, 0.09401, 0.09374, 0.09357, 0.09375, 0.09842",\
                 "0.1243, 0.1228, 0.1197, 0.1166, 0.1149, 0.1139, 0.1138, 0.1134, 0.1136, 0.1192",\
                 "0.1528, 0.151, 0.1473, 0.1438, 0.1411, 0.1392, 0.1388, 0.139, 0.1396, 0.1474",\
                 "0.1873, 0.1853, 0.1813, 0.1769, 0.1735, 0.1713, 0.1697, 0.1696, 0.1713, 0.1842");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&!I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1626, 0.1609, 0.1573, 0.1542, 0.1519, 0.1504, 0.1493, 0.1485, 0.1479, 0.1475",\
                 "0.1624, 0.1607, 0.1571, 0.154, 0.1517, 0.1502, 0.1491, 0.1483, 0.1477, 0.1473",\
                 "0.1635, 0.1618, 0.1582, 0.155, 0.1528, 0.1512, 0.1501, 0.1493, 0.1488, 0.1484",\
                 "0.1674, 0.1657, 0.1619, 0.1587, 0.1564, 0.1548, 0.1537, 0.1529, 0.1523, 0.1519",\
                 "0.1764, 0.1746, 0.1705, 0.1669, 0.1643, 0.1625, 0.1612, 0.1603, 0.1597, 0.1592",\
                 "0.1912, 0.1892, 0.1847, 0.1804, 0.1773, 0.1752, 0.1737, 0.1726, 0.1719, 0.1713",\
                 "0.2119, 0.2098, 0.2047, 0.1998, 0.1961, 0.1935, 0.1916, 0.1903, 0.1894, 0.1887",\
                 "0.2393, 0.237, 0.2314, 0.2257, 0.2214, 0.2181, 0.2158, 0.2142, 0.213, 0.2121",\
                 "0.2739, 0.2714, 0.2652, 0.2586, 0.2534, 0.2495, 0.2468, 0.2447, 0.2432, 0.242",\
                 "0.3157, 0.313, 0.3062, 0.2988, 0.2928, 0.288, 0.2847, 0.2821, 0.2802, 0.2788");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.0613, 0.06051, 0.05912, 0.05827, 0.05793, 0.05794, 0.05814, 0.05844, 0.05897, 0.06107",\
                 "0.06108, 0.06036, 0.05894, 0.05807, 0.05783, 0.05788, 0.05797, 0.05821, 0.05878, 0.06088",\
                 "0.06207, 0.06129, 0.05985, 0.059, 0.05869, 0.0587, 0.05883, 0.0591, 0.05967, 0.06193",\
                 "0.06564, 0.06486, 0.06335, 0.06236, 0.06195, 0.0619, 0.06213, 0.0626, 0.06275, 0.06524",\
                 "0.07321, 0.07227, 0.07062, 0.06922, 0.06869, 0.06864, 0.06863, 0.069, 0.06955, 0.07245",\
                 "0.08499, 0.08394, 0.08177, 0.08027, 0.07944, 0.0789, 0.07879, 0.0789, 0.07943, 0.08297",\
                 "0.1019, 0.1006, 0.09799, 0.09561, 0.09446, 0.09401, 0.09358, 0.09347, 0.09414, 0.09804",\
                 "0.1243, 0.1228, 0.1198, 0.1168, 0.1147, 0.1139, 0.1137, 0.1134, 0.1136, 0.1193",\
                 "0.1528, 0.151, 0.1474, 0.1438, 0.1411, 0.1394, 0.1388, 0.1393, 0.1394, 0.1474",\
                 "0.1873, 0.1853, 0.1812, 0.1769, 0.1736, 0.171, 0.1696, 0.1694, 0.1715, 0.1837");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&!I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1626, 0.1609, 0.1573, 0.1542, 0.1519, 0.1504, 0.1493, 0.1485, 0.1479, 0.1475",\
                 "0.1624, 0.1607, 0.1571, 0.154, 0.1517, 0.1502, 0.1491, 0.1483, 0.1477, 0.1473",\
                 "0.1635, 0.1618, 0.1582, 0.155, 0.1528, 0.1512, 0.1501, 0.1493, 0.1488, 0.1484",\
                 "0.1674, 0.1657, 0.1619, 0.1587, 0.1564, 0.1548, 0.1537, 0.1529, 0.1523, 0.1519",\
                 "0.1764, 0.1746, 0.1705, 0.1669, 0.1643, 0.1625, 0.1612, 0.1603, 0.1597, 0.1592",\
                 "0.1912, 0.1892, 0.1846, 0.1804, 0.1773, 0.1752, 0.1737, 0.1726, 0.1719, 0.1713",\
                 "0.2119, 0.2098, 0.2047, 0.1998, 0.1961, 0.1935, 0.1916, 0.1903, 0.1894, 0.1887",\
                 "0.2393, 0.237, 0.2314, 0.2257, 0.2213, 0.2181, 0.2159, 0.2142, 0.213, 0.2121",\
                 "0.2739, 0.2714, 0.2652, 0.2586, 0.2534, 0.2495, 0.2468, 0.2447, 0.2432, 0.242",\
                 "0.3157, 0.313, 0.3062, 0.2988, 0.2928, 0.2881, 0.2847, 0.2821, 0.2802, 0.2788");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06126, 0.06053, 0.05916, 0.05827, 0.05799, 0.05798, 0.05817, 0.05841, 0.05881, 0.06111",\
                 "0.06112, 0.06036, 0.05894, 0.05808, 0.05783, 0.05778, 0.05797, 0.05821, 0.05878, 0.06116",\
                 "0.06205, 0.06128, 0.05985, 0.05898, 0.05872, 0.0587, 0.05889, 0.05913, 0.0597, 0.06203",\
                 "0.06562, 0.06483, 0.06333, 0.06238, 0.06195, 0.0619, 0.06213, 0.06257, 0.06272, 0.06524",\
                 "0.07321, 0.07227, 0.07065, 0.06931, 0.06869, 0.06864, 0.06863, 0.069, 0.06955, 0.07245",\
                 "0.08498, 0.08389, 0.08166, 0.0802, 0.07938, 0.0788, 0.07883, 0.0789, 0.07923, 0.08358",\
                 "0.1019, 0.1006, 0.09803, 0.09573, 0.09449, 0.09411, 0.09358, 0.0935, 0.09381, 0.09882",\
                 "0.1243, 0.1228, 0.1197, 0.1167, 0.1148, 0.1137, 0.1138, 0.1134, 0.1136, 0.1193",\
                 "0.1527, 0.151, 0.1474, 0.1438, 0.141, 0.1392, 0.1388, 0.139, 0.1393, 0.1479",\
                 "0.1873, 0.1853, 0.1812, 0.1768, 0.1735, 0.171, 0.1696, 0.1694, 0.1711, 0.1841");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1626, 0.1609, 0.1573, 0.1542, 0.1519, 0.1504, 0.1493, 0.1485, 0.1479, 0.1475",\
                 "0.1624, 0.1607, 0.1571, 0.154, 0.1517, 0.1502, 0.1491, 0.1483, 0.1477, 0.1473",\
                 "0.1635, 0.1618, 0.1582, 0.155, 0.1528, 0.1512, 0.1501, 0.1493, 0.1488, 0.1484",\
                 "0.1674, 0.1657, 0.1619, 0.1587, 0.1564, 0.1548, 0.1537, 0.1529, 0.1524, 0.1519",\
                 "0.1764, 0.1746, 0.1705, 0.1669, 0.1643, 0.1625, 0.1612, 0.1604, 0.1597, 0.1592",\
                 "0.1912, 0.1892, 0.1846, 0.1804, 0.1773, 0.1752, 0.1737, 0.1726, 0.1718, 0.1713",\
                 "0.2119, 0.2097, 0.2047, 0.1998, 0.1961, 0.1935, 0.1916, 0.1903, 0.1894, 0.1887",\
                 "0.2393, 0.237, 0.2314, 0.2257, 0.2213, 0.2182, 0.2158, 0.2142, 0.213, 0.2121",\
                 "0.2738, 0.2714, 0.2652, 0.2586, 0.2535, 0.2495, 0.2467, 0.2447, 0.2432, 0.242",\
                 "0.3157, 0.313, 0.3062, 0.2988, 0.2927, 0.2881, 0.2847, 0.2821, 0.2803, 0.2788");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06127, 0.06049, 0.05914, 0.05826, 0.05799, 0.05798, 0.05817, 0.05838, 0.05894, 0.06111",\
                 "0.06111, 0.06031, 0.05893, 0.05811, 0.05776, 0.05791, 0.05797, 0.05818, 0.05878, 0.06119",\
                 "0.06205, 0.06129, 0.05988, 0.05899, 0.05865, 0.0588, 0.05889, 0.05914, 0.05967, 0.06203",\
                 "0.06564, 0.06483, 0.06332, 0.06234, 0.06195, 0.06191, 0.06213, 0.06257, 0.06282, 0.0652",\
                 "0.07318, 0.07227, 0.07064, 0.0692, 0.06865, 0.06854, 0.0686, 0.06877, 0.06938, 0.07282",\
                 "0.08498, 0.08389, 0.08181, 0.0803, 0.07951, 0.0789, 0.07893, 0.07887, 0.07926, 0.08284",\
                 "0.1018, 0.1006, 0.098, 0.09574, 0.09436, 0.09392, 0.09348, 0.09337, 0.09371, 0.09836",\
                 "0.1243, 0.1228, 0.1197, 0.1167, 0.1147, 0.1138, 0.1137, 0.1135, 0.1137, 0.1193",\
                 "0.1528, 0.151, 0.1474, 0.1438, 0.1411, 0.1392, 0.1389, 0.139, 0.1391, 0.1474",\
                 "0.1873, 0.1854, 0.1813, 0.1769, 0.1736, 0.1712, 0.1697, 0.1697, 0.1713, 0.1842");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1626, 0.1609, 0.1573, 0.1542, 0.1519, 0.1504, 0.1493, 0.1485, 0.1479, 0.1475",\
                 "0.1624, 0.1607, 0.1571, 0.1539, 0.1517, 0.1502, 0.1491, 0.1483, 0.1477, 0.1473",\
                 "0.1635, 0.1618, 0.1582, 0.155, 0.1528, 0.1512, 0.1501, 0.1493, 0.1488, 0.1484",\
                 "0.1674, 0.1657, 0.1619, 0.1587, 0.1564, 0.1548, 0.1537, 0.1529, 0.1523, 0.1519",\
                 "0.1764, 0.1746, 0.1705, 0.1669, 0.1643, 0.1625, 0.1612, 0.1603, 0.1597, 0.1592",\
                 "0.1912, 0.1892, 0.1846, 0.1804, 0.1774, 0.1752, 0.1737, 0.1726, 0.1718, 0.1713",\
                 "0.2119, 0.2097, 0.2047, 0.1998, 0.1961, 0.1935, 0.1916, 0.1903, 0.1894, 0.1887",\
                 "0.2393, 0.237, 0.2314, 0.2257, 0.2214, 0.2182, 0.2158, 0.2142, 0.213, 0.2121",\
                 "0.2739, 0.2714, 0.2652, 0.2586, 0.2534, 0.2495, 0.2468, 0.2447, 0.2432, 0.242",\
                 "0.3156, 0.313, 0.3062, 0.2988, 0.2927, 0.2881, 0.2847, 0.2821, 0.2803, 0.2789");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06125, 0.06048, 0.05911, 0.05827, 0.05799, 0.05798, 0.0581, 0.05841, 0.05897, 0.06124",\
                 "0.06108, 0.06032, 0.05894, 0.05803, 0.0578, 0.05778, 0.0579, 0.05847, 0.05858, 0.06074",\
                 "0.06202, 0.06126, 0.05989, 0.05903, 0.05865, 0.0588, 0.05889, 0.0591, 0.05967, 0.06203",\
                 "0.06565, 0.06484, 0.06332, 0.06235, 0.06195, 0.0619, 0.0621, 0.06257, 0.06278, 0.06527",\
                 "0.07318, 0.07229, 0.07064, 0.06929, 0.06869, 0.06854, 0.06856, 0.06903, 0.06922, 0.07282",\
                 "0.08498, 0.08391, 0.08181, 0.0803, 0.07938, 0.0789, 0.07893, 0.07887, 0.07926, 0.08284",\
                 "0.1018, 0.1006, 0.09797, 0.0957, 0.09446, 0.09415, 0.09364, 0.09344, 0.09378, 0.09808",\
                 "0.1243, 0.1228, 0.1197, 0.1166, 0.1147, 0.1139, 0.1139, 0.1134, 0.1133, 0.1193",\
                 "0.1527, 0.1511, 0.1473, 0.1437, 0.1411, 0.1392, 0.1388, 0.1392, 0.1391, 0.1474",\
                 "0.1873, 0.1854, 0.1813, 0.1769, 0.1735, 0.1713, 0.1693, 0.1695, 0.1712, 0.1842");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&!I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2167, 0.215, 0.2114, 0.2083, 0.206, 0.2045, 0.2034, 0.2026, 0.2021, 0.2017",\
                 "0.2161, 0.2145, 0.2108, 0.2077, 0.2055, 0.204, 0.2029, 0.2021, 0.2016, 0.2011",\
                 "0.2168, 0.2151, 0.2115, 0.2084, 0.2062, 0.2046, 0.2035, 0.2028, 0.2022, 0.2018",\
                 "0.2228, 0.2211, 0.2174, 0.2143, 0.212, 0.2105, 0.2094, 0.2086, 0.208, 0.2076",\
                 "0.2372, 0.2355, 0.2315, 0.2281, 0.2256, 0.2239, 0.2227, 0.2218, 0.2212, 0.2208",\
                 "0.2614, 0.2595, 0.2551, 0.2511, 0.2482, 0.2462, 0.2448, 0.2438, 0.2431, 0.2426",\
                 "0.2955, 0.2934, 0.2886, 0.284, 0.2806, 0.2782, 0.2766, 0.2754, 0.2745, 0.2739",\
                 "0.3405, 0.3383, 0.333, 0.3277, 0.3236, 0.3208, 0.3187, 0.3173, 0.3162, 0.3154",\
                 "0.3973, 0.395, 0.389, 0.383, 0.3782, 0.3747, 0.3722, 0.3703, 0.3689, 0.368",\
                 "0.4662, 0.4637, 0.4572, 0.4502, 0.4448, 0.4406, 0.4375, 0.4352, 0.4335, 0.4323");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.05728, 0.05653, 0.05515, 0.05434, 0.05407, 0.05412, 0.05431, 0.05458, 0.05515, 0.05723",\
                 "0.05732, 0.05656, 0.05521, 0.05436, 0.05407, 0.05425, 0.05431, 0.05455, 0.05511, 0.05698",\
                 "0.05844, 0.05767, 0.05635, 0.05553, 0.05519, 0.05537, 0.05543, 0.05567, 0.05623, 0.05873",\
                 "0.06364, 0.06279, 0.06127, 0.06023, 0.05987, 0.05979, 0.05995, 0.06049, 0.06064, 0.06304",\
                 "0.07575, 0.07477, 0.07298, 0.07141, 0.07073, 0.07052, 0.07061, 0.07092, 0.071, 0.07395",\
                 "0.09576, 0.09455, 0.09205, 0.09023, 0.08915, 0.08847, 0.08833, 0.08857, 0.08903, 0.09234",\
                 "0.1247, 0.1233, 0.1204, 0.1175, 0.116, 0.1155, 0.1148, 0.1145, 0.1147, 0.1192",\
                 "0.1633, 0.1616, 0.1581, 0.1547, 0.1522, 0.151, 0.1507, 0.1502, 0.1501, 0.1557",\
                 "0.2119, 0.21, 0.2059, 0.2014, 0.1986, 0.1961, 0.1953, 0.1956, 0.1953, 0.2031",\
                 "0.2708, 0.2686, 0.264, 0.259, 0.2551, 0.2522, 0.2501, 0.2498, 0.2511, 0.2632");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&!I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1481, 0.1465, 0.1427, 0.1396, 0.1373, 0.1358, 0.1347, 0.1339, 0.1333, 0.1329",\
                 "0.1483, 0.1466, 0.1429, 0.1398, 0.1375, 0.136, 0.1348, 0.134, 0.1335, 0.133",\
                 "0.151, 0.1493, 0.1457, 0.1426, 0.1403, 0.1388, 0.1377, 0.137, 0.1364, 0.136",\
                 "0.158, 0.1564, 0.1528, 0.1497, 0.1476, 0.1461, 0.1451, 0.1443, 0.1438, 0.1434",\
                 "0.1719, 0.1701, 0.1662, 0.1628, 0.1604, 0.1587, 0.1575, 0.1567, 0.1561, 0.1557",\
                 "0.1907, 0.1888, 0.1847, 0.1811, 0.1784, 0.1766, 0.1754, 0.1745, 0.1739, 0.1734",\
                 "0.215, 0.2131, 0.2089, 0.2052, 0.2025, 0.2006, 0.1993, 0.1984, 0.1978, 0.1973",\
                 "0.2457, 0.2438, 0.2395, 0.2357, 0.2329, 0.231, 0.2297, 0.2288, 0.2281, 0.2276",\
                 "0.2833, 0.2814, 0.277, 0.2731, 0.2703, 0.2684, 0.267, 0.266, 0.2653, 0.2648",\
                 "0.3288, 0.3269, 0.3224, 0.3183, 0.3154, 0.3134, 0.3121, 0.3111, 0.3105, 0.31");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1611, 0.1603, 0.1586, 0.1574, 0.1569, 0.1568, 0.1569, 0.1572, 0.1576, 0.1599",\
                 "0.1606, 0.1598, 0.1582, 0.157, 0.1565, 0.1563, 0.1566, 0.1567, 0.1571, 0.1595",\
                 "0.1619, 0.161, 0.1594, 0.1583, 0.1577, 0.1577, 0.1577, 0.158, 0.1585, 0.1611",\
                 "0.1687, 0.1679, 0.1662, 0.1651, 0.1645, 0.1644, 0.1645, 0.165, 0.1652, 0.168",\
                 "0.182, 0.1811, 0.1794, 0.1782, 0.1776, 0.1776, 0.1776, 0.1778, 0.1785, 0.1817",\
                 "0.2019, 0.2011, 0.1994, 0.1982, 0.1976, 0.1974, 0.1975, 0.1978, 0.1983, 0.2029",\
                 "0.2294, 0.2285, 0.2267, 0.2254, 0.2249, 0.2246, 0.2245, 0.2248, 0.2254, 0.2315",\
                 "0.2647, 0.2637, 0.2617, 0.2602, 0.2596, 0.2598, 0.2596, 0.2596, 0.2603, 0.2698",\
                 "0.3088, 0.3076, 0.3057, 0.3039, 0.303, 0.3027, 0.3033, 0.3033, 0.3048, 0.3199",\
                 "0.3634, 0.3623, 0.3599, 0.3583, 0.3573, 0.3567, 0.357, 0.358, 0.361, 0.3864");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2057, 0.2041, 0.2006, 0.1976, 0.1956, 0.1941, 0.1931, 0.1924, 0.1919, 0.1915",\
                 "0.2052, 0.2035, 0.2, 0.1971, 0.195, 0.1936, 0.1925, 0.1918, 0.1913, 0.1909",\
                 "0.2059, 0.2042, 0.2007, 0.1978, 0.1957, 0.1943, 0.1932, 0.1925, 0.192, 0.1916",\
                 "0.212, 0.2104, 0.2068, 0.2038, 0.2017, 0.2002, 0.1992, 0.1985, 0.1979, 0.1976",\
                 "0.2265, 0.2248, 0.2209, 0.2176, 0.2153, 0.2137, 0.2125, 0.2118, 0.2112, 0.2108",\
                 "0.2509, 0.2491, 0.2447, 0.2409, 0.2381, 0.2362, 0.2349, 0.2339, 0.2332, 0.2328",\
                 "0.2852, 0.2831, 0.2784, 0.2739, 0.2707, 0.2683, 0.2667, 0.2655, 0.2647, 0.2641",\
                 "0.3304, 0.3282, 0.323, 0.3178, 0.3138, 0.311, 0.309, 0.3075, 0.3065, 0.3058",\
                 "0.3873, 0.385, 0.3792, 0.3732, 0.3685, 0.3651, 0.3626, 0.3608, 0.3595, 0.3585",\
                 "0.4564, 0.4538, 0.4474, 0.4406, 0.4351, 0.431, 0.4279, 0.4257, 0.4241, 0.4229");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06042, 0.05975, 0.05844, 0.05775, 0.05753, 0.05758, 0.05771, 0.05808, 0.05854, 0.06073",\
                 "0.06047, 0.05973, 0.05848, 0.05773, 0.0575, 0.05762, 0.05777, 0.05828, 0.05864, 0.06091",\
                 "0.06161, 0.06094, 0.05962, 0.05881, 0.05862, 0.0587, 0.05889, 0.0592, 0.0598, 0.06256",\
                 "0.06691, 0.06612, 0.06463, 0.0637, 0.06337, 0.06332, 0.06355, 0.06409, 0.0645, 0.06748",\
                 "0.07903, 0.07808, 0.0764, 0.07492, 0.0743, 0.07428, 0.07421, 0.07438, 0.07499, 0.07795",\
                 "0.09909, 0.09793, 0.0956, 0.09383, 0.09291, 0.0922, 0.09199, 0.0921, 0.09279, 0.09605",\
                 "0.1282, 0.1267, 0.1239, 0.1213, 0.1198, 0.1193, 0.1187, 0.1183, 0.1185, 0.123",\
                 "0.1667, 0.1652, 0.1616, 0.1582, 0.1559, 0.1548, 0.1545, 0.154, 0.154, 0.1596",\
                 "0.2155, 0.2135, 0.2095, 0.2055, 0.2023, 0.2002, 0.1992, 0.1994, 0.1994, 0.2071",\
                 "0.2744, 0.2722, 0.2676, 0.2629, 0.259, 0.2561, 0.2544, 0.2538, 0.2556, 0.2676");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2544, 0.2527, 0.2493, 0.2464, 0.2444, 0.243, 0.242, 0.2412, 0.2407, 0.2403",\
                 "0.2536, 0.252, 0.2485, 0.2456, 0.2436, 0.2422, 0.2412, 0.2404, 0.2399, 0.2396",\
                 "0.2545, 0.2529, 0.2494, 0.2465, 0.2445, 0.2431, 0.242, 0.2413, 0.2408, 0.2404",\
                 "0.2634, 0.2617, 0.2582, 0.2553, 0.2532, 0.2518, 0.2508, 0.2501, 0.2495, 0.2492",\
                 "0.284, 0.2823, 0.2785, 0.2752, 0.2729, 0.2713, 0.2702, 0.2694, 0.2689, 0.2685",\
                 "0.318, 0.3162, 0.3118, 0.3081, 0.3054, 0.3035, 0.3022, 0.3013, 0.3006, 0.3001",\
                 "0.3658, 0.3638, 0.3591, 0.3547, 0.3515, 0.3492, 0.3476, 0.3465, 0.3457, 0.3451",\
                 "0.4289, 0.4267, 0.4215, 0.4165, 0.4126, 0.4098, 0.4078, 0.4064, 0.4054, 0.4047",\
                 "0.5083, 0.506, 0.5002, 0.4943, 0.4897, 0.4863, 0.4839, 0.4822, 0.4809, 0.4799",\
                 "0.6045, 0.6021, 0.5956, 0.5888, 0.5835, 0.5794, 0.5765, 0.5743, 0.5727, 0.5715");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07405, 0.07329, 0.07206, 0.07131, 0.07116, 0.07115, 0.07137, 0.07161, 0.07221, 0.07426",\
                 "0.07418, 0.07343, 0.07217, 0.07142, 0.07123, 0.07128, 0.0715, 0.07197, 0.07207, 0.07428",\
                 "0.07596, 0.07521, 0.07397, 0.07317, 0.07294, 0.07303, 0.07318, 0.07372, 0.07402, 0.07645",\
                 "0.08317, 0.08239, 0.08104, 0.07998, 0.07967, 0.07963, 0.07982, 0.08029, 0.08073, 0.08368",\
                 "0.09982, 0.09885, 0.09723, 0.09566, 0.09502, 0.09484, 0.09506, 0.09511, 0.09572, 0.09875",\
                 "0.1275, 0.1264, 0.124, 0.1223, 0.1213, 0.1206, 0.1204, 0.1206, 0.121, 0.1248",\
                 "0.1678, 0.1664, 0.1635, 0.1608, 0.1592, 0.1588, 0.1582, 0.158, 0.1582, 0.1625",\
                 "0.2214, 0.2199, 0.2163, 0.2128, 0.2105, 0.2092, 0.209, 0.2087, 0.2086, 0.2139",\
                 "0.2891, 0.2872, 0.2831, 0.2791, 0.2759, 0.2738, 0.2728, 0.2731, 0.2731, 0.2807",\
                 "0.3712, 0.3691, 0.3644, 0.3597, 0.3558, 0.3528, 0.3511, 0.3506, 0.3522, 0.3638");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2621, 0.2604, 0.2568, 0.2538, 0.2516, 0.2501, 0.249, 0.2483, 0.2477, 0.2473",\
                 "0.2613, 0.2596, 0.256, 0.253, 0.2508, 0.2493, 0.2482, 0.2474, 0.2469, 0.2465",\
                 "0.2622, 0.2605, 0.2569, 0.2539, 0.2517, 0.2502, 0.2491, 0.2484, 0.2478, 0.2474",\
                 "0.2712, 0.2695, 0.2659, 0.2628, 0.2606, 0.2591, 0.258, 0.2572, 0.2566, 0.2562",\
                 "0.2918, 0.29, 0.2861, 0.2827, 0.2803, 0.2786, 0.2774, 0.2766, 0.276, 0.2756",\
                 "0.3258, 0.3239, 0.3196, 0.3156, 0.3128, 0.3108, 0.3095, 0.3085, 0.3078, 0.3073",\
                 "0.3737, 0.3716, 0.3668, 0.3623, 0.359, 0.3567, 0.355, 0.3538, 0.353, 0.3524",\
                 "0.4367, 0.4346, 0.4293, 0.4241, 0.4202, 0.4173, 0.4153, 0.4138, 0.4128, 0.412",\
                 "0.5163, 0.5139, 0.508, 0.5021, 0.4973, 0.4939, 0.4914, 0.4897, 0.4883, 0.4873",\
                 "0.6125, 0.61, 0.6036, 0.5967, 0.5913, 0.5872, 0.5842, 0.5818, 0.5802, 0.579");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.0675, 0.06675, 0.06536, 0.06454, 0.06423, 0.06431, 0.06447, 0.06478, 0.06531, 0.06703",\
                 "0.0676, 0.06684, 0.0655, 0.06468, 0.0644, 0.06445, 0.06474, 0.06484, 0.06544, 0.06768",\
                 "0.06939, 0.06864, 0.06726, 0.06647, 0.06614, 0.06613, 0.06632, 0.06653, 0.06703, 0.06946",\
                 "0.07666, 0.07584, 0.07431, 0.07323, 0.07291, 0.07293, 0.07299, 0.07349, 0.07371, 0.07624",\
                 "0.09342, 0.09243, 0.09072, 0.08917, 0.08849, 0.08821, 0.0882, 0.08831, 0.08862, 0.09187",\
                 "0.1213, 0.1201, 0.1176, 0.1158, 0.1147, 0.114, 0.1138, 0.1138, 0.1143, 0.1179",\
                 "0.1617, 0.1603, 0.1574, 0.1545, 0.1529, 0.1523, 0.1517, 0.1514, 0.1516, 0.1561",\
                 "0.2154, 0.2138, 0.2101, 0.2068, 0.2042, 0.2029, 0.2027, 0.2021, 0.2021, 0.2075",\
                 "0.2832, 0.2812, 0.2771, 0.2728, 0.2698, 0.2675, 0.2665, 0.2666, 0.2665, 0.2747",\
                 "0.3654, 0.3632, 0.3585, 0.3538, 0.3495, 0.3467, 0.3448, 0.3442, 0.3458, 0.3576");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2352, 0.2336, 0.23, 0.2271, 0.225, 0.2235, 0.2225, 0.2217, 0.2212, 0.2208",\
                 "0.2347, 0.2331, 0.2296, 0.2266, 0.2245, 0.223, 0.222, 0.2212, 0.2207, 0.2203",\
                 "0.2365, 0.2349, 0.2313, 0.2283, 0.2262, 0.2247, 0.2237, 0.223, 0.2224, 0.222",\
                 "0.246, 0.2443, 0.2407, 0.2377, 0.2355, 0.234, 0.233, 0.2322, 0.2317, 0.2313",\
                 "0.2658, 0.264, 0.2601, 0.2568, 0.2544, 0.2528, 0.2516, 0.2508, 0.2502, 0.2498",\
                 "0.2973, 0.2954, 0.291, 0.2871, 0.2843, 0.2823, 0.281, 0.28, 0.2793, 0.2788",\
                 "0.3404, 0.3384, 0.3336, 0.329, 0.3256, 0.3233, 0.3217, 0.3205, 0.3196, 0.319",\
                 "0.397, 0.3947, 0.3894, 0.3841, 0.3801, 0.3772, 0.3751, 0.3737, 0.3726, 0.3718",\
                 "0.4693, 0.4669, 0.461, 0.455, 0.4501, 0.4466, 0.4441, 0.4422, 0.4409, 0.4399",\
                 "0.5584, 0.5558, 0.5493, 0.5424, 0.5368, 0.5326, 0.5295, 0.5272, 0.5255, 0.5243");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1301, 0.1294, 0.1281, 0.1274, 0.1272, 0.1272, 0.1275, 0.1277, 0.1282, 0.1304",\
                 "0.1304, 0.1298, 0.1285, 0.1278, 0.1275, 0.1276, 0.1278, 0.1281, 0.1286, 0.1309",\
                 "0.1345, 0.1338, 0.1325, 0.1318, 0.1316, 0.1316, 0.1319, 0.1321, 0.1326, 0.1349",\
                 "0.1447, 0.1438, 0.1425, 0.1414, 0.1411, 0.1412, 0.1413, 0.1416, 0.1422, 0.1447",\
                 "0.1625, 0.1615, 0.1598, 0.1583, 0.1577, 0.1575, 0.1577, 0.1577, 0.1582, 0.1612",\
                 "0.1893, 0.1881, 0.1857, 0.184, 0.183, 0.1824, 0.1823, 0.1824, 0.183, 0.1861",\
                 "0.2263, 0.2249, 0.2219, 0.2193, 0.2179, 0.2174, 0.217, 0.2165, 0.2168, 0.2211",\
                 "0.2745, 0.2727, 0.2693, 0.2659, 0.2636, 0.2624, 0.2621, 0.2616, 0.2617, 0.267",\
                 "0.3361, 0.3342, 0.3301, 0.3262, 0.323, 0.321, 0.3198, 0.3201, 0.3202, 0.3278",\
                 "0.4126, 0.4105, 0.4059, 0.401, 0.3972, 0.3944, 0.3926, 0.392, 0.3938, 0.4056");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1576, 0.1559, 0.1522, 0.1491, 0.1469, 0.1453, 0.1442, 0.1434, 0.1428, 0.1424",\
                 "0.1578, 0.1561, 0.1525, 0.1494, 0.1471, 0.1456, 0.1445, 0.1437, 0.1431, 0.1427",\
                 "0.1611, 0.1594, 0.1558, 0.1528, 0.1505, 0.149, 0.1479, 0.1472, 0.1466, 0.1462",\
                 "0.17, 0.1684, 0.1648, 0.1618, 0.1597, 0.1582, 0.1571, 0.1564, 0.1559, 0.1555",\
                 "0.1885, 0.1867, 0.1828, 0.1794, 0.1769, 0.1753, 0.1741, 0.1733, 0.1727, 0.1723",\
                 "0.2149, 0.213, 0.2089, 0.2052, 0.2026, 0.2008, 0.1996, 0.1987, 0.1981, 0.1976",\
                 "0.2503, 0.2484, 0.2442, 0.2405, 0.2378, 0.2359, 0.2347, 0.2337, 0.2331, 0.2326",\
                 "0.2959, 0.2941, 0.2898, 0.286, 0.2832, 0.2813, 0.28, 0.2791, 0.2784, 0.2779",\
                 "0.3526, 0.3507, 0.3464, 0.3425, 0.3396, 0.3377, 0.3363, 0.3353, 0.3346, 0.3342",\
                 "0.4212, 0.4192, 0.4148, 0.4107, 0.4078, 0.4059, 0.4045, 0.4036, 0.403, 0.4024");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2059, 0.2051, 0.2035, 0.2023, 0.2019, 0.2018, 0.2019, 0.2023, 0.2027, 0.2048",\
                 "0.2051, 0.2043, 0.2028, 0.2016, 0.2011, 0.201, 0.2013, 0.2015, 0.2018, 0.2043",\
                 "0.2067, 0.2058, 0.2043, 0.2031, 0.2026, 0.2025, 0.2028, 0.203, 0.2035, 0.206",\
                 "0.2164, 0.2156, 0.2139, 0.2128, 0.2124, 0.2123, 0.2125, 0.2127, 0.2131, 0.2161",\
                 "0.2359, 0.2349, 0.2334, 0.2321, 0.2316, 0.2315, 0.2316, 0.2319, 0.2327, 0.2356",\
                 "0.2656, 0.2647, 0.2631, 0.2619, 0.2613, 0.2611, 0.2612, 0.2615, 0.262, 0.2665",\
                 "0.3068, 0.3058, 0.3041, 0.3028, 0.3023, 0.3019, 0.3019, 0.3022, 0.3029, 0.3086",\
                 "0.3601, 0.3592, 0.3571, 0.3556, 0.3549, 0.3552, 0.3549, 0.3549, 0.3559, 0.365",\
                 "0.4266, 0.4255, 0.4236, 0.4219, 0.421, 0.4208, 0.4214, 0.4214, 0.4227, 0.4373",\
                 "0.5088, 0.5077, 0.5055, 0.5038, 0.5028, 0.5022, 0.5025, 0.5037, 0.5066, 0.5319");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2049, 0.2033, 0.1998, 0.1969, 0.1948, 0.1934, 0.1923, 0.1916, 0.1911, 0.1907",\
                 "0.2044, 0.2028, 0.1993, 0.1963, 0.1943, 0.1928, 0.1918, 0.1911, 0.1906, 0.1902",\
                 "0.2052, 0.2036, 0.2001, 0.1971, 0.195, 0.1936, 0.1926, 0.1919, 0.1913, 0.191",\
                 "0.2114, 0.2098, 0.2062, 0.2032, 0.2011, 0.1997, 0.1986, 0.1979, 0.1974, 0.197",\
                 "0.226, 0.2243, 0.2204, 0.2171, 0.2148, 0.2132, 0.2121, 0.2112, 0.2107, 0.2103",\
                 "0.2505, 0.2486, 0.2442, 0.2404, 0.2377, 0.2358, 0.2345, 0.2335, 0.2328, 0.2323",\
                 "0.2848, 0.2828, 0.278, 0.2736, 0.2703, 0.268, 0.2664, 0.2652, 0.2644, 0.2638",\
                 "0.3301, 0.3279, 0.3226, 0.3175, 0.3136, 0.3107, 0.3087, 0.3073, 0.3062, 0.3055",\
                 "0.3872, 0.3848, 0.3789, 0.373, 0.3682, 0.3648, 0.3624, 0.3606, 0.3593, 0.3582",\
                 "0.4562, 0.4537, 0.4472, 0.4404, 0.4349, 0.4308, 0.4278, 0.4256, 0.4239, 0.4227");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.06044, 0.0597, 0.05846, 0.05773, 0.0575, 0.05758, 0.05781, 0.05805, 0.05864, 0.06073",\
                 "0.06045, 0.05978, 0.05849, 0.05775, 0.05763, 0.05765, 0.05784, 0.05808, 0.05864, 0.06084",\
                 "0.06165, 0.06086, 0.05962, 0.05886, 0.05862, 0.05874, 0.05893, 0.05947, 0.05977, 0.0622",\
                 "0.06686, 0.06609, 0.06461, 0.06362, 0.06331, 0.06332, 0.06355, 0.06405, 0.0643, 0.06684",\
                 "0.07894, 0.07798, 0.0763, 0.0748, 0.0742, 0.07408, 0.07407, 0.07432, 0.0747, 0.0775",\
                 "0.0989, 0.09777, 0.09533, 0.09353, 0.09261, 0.09207, 0.09189, 0.09181, 0.0923, 0.09569",\
                 "0.1279, 0.1266, 0.1236, 0.121, 0.1194, 0.119, 0.1185, 0.1181, 0.1183, 0.1227",\
                 "0.1664, 0.1648, 0.1613, 0.1579, 0.1555, 0.1543, 0.1543, 0.1538, 0.1538, 0.1592",\
                 "0.215, 0.2131, 0.209, 0.205, 0.2019, 0.1997, 0.1989, 0.199, 0.1993, 0.2068",\
                 "0.2739, 0.2718, 0.2672, 0.2624, 0.2587, 0.2558, 0.2541, 0.2534, 0.2552, 0.2665");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.137, 0.1354, 0.1318, 0.1289, 0.1268, 0.1253, 0.1243, 0.1236, 0.123, 0.1227",\
                 "0.1371, 0.1355, 0.132, 0.129, 0.1269, 0.1255, 0.1245, 0.1237, 0.1232, 0.1228",\
                 "0.1399, 0.1383, 0.1348, 0.1319, 0.1298, 0.1284, 0.1274, 0.1267, 0.1262, 0.1258",\
                 "0.147, 0.1454, 0.142, 0.1391, 0.1371, 0.1358, 0.1348, 0.1341, 0.1336, 0.1333",\
                 "0.1609, 0.1592, 0.1554, 0.1522, 0.1499, 0.1484, 0.1473, 0.1465, 0.146, 0.1456",\
                 "0.1796, 0.1778, 0.1739, 0.1705, 0.168, 0.1663, 0.1652, 0.1644, 0.1638, 0.1634",\
                 "0.2039, 0.2021, 0.1981, 0.1945, 0.192, 0.1902, 0.189, 0.1882, 0.1876, 0.1872",\
                 "0.2346, 0.2328, 0.2287, 0.2251, 0.2225, 0.2207, 0.2195, 0.2186, 0.218, 0.2176",\
                 "0.2723, 0.2704, 0.2662, 0.2625, 0.2598, 0.258, 0.2567, 0.2558, 0.2552, 0.2547",\
                 "0.318, 0.3161, 0.3118, 0.3079, 0.3051, 0.3033, 0.3021, 0.3013, 0.3007, 0.3002");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1643, 0.1635, 0.162, 0.1608, 0.1604, 0.1604, 0.1605, 0.161, 0.1611, 0.1634",\
                 "0.1639, 0.1631, 0.1615, 0.1604, 0.1599, 0.1598, 0.16, 0.1604, 0.1608, 0.1637",\
                 "0.1651, 0.1643, 0.1627, 0.1616, 0.1612, 0.1612, 0.1615, 0.1616, 0.1619, 0.1645",\
                 "0.172, 0.1711, 0.1696, 0.1684, 0.168, 0.168, 0.1682, 0.1685, 0.169, 0.1722",\
                 "0.1853, 0.1844, 0.1828, 0.1817, 0.1812, 0.1811, 0.1813, 0.1815, 0.1821, 0.1855",\
                 "0.2053, 0.2045, 0.2029, 0.2017, 0.2011, 0.201, 0.2012, 0.2016, 0.2021, 0.207",\
                 "0.2327, 0.2319, 0.2303, 0.2289, 0.2285, 0.2282, 0.2281, 0.2285, 0.2291, 0.2355",\
                 "0.2682, 0.2673, 0.2653, 0.2638, 0.2633, 0.2634, 0.2633, 0.2633, 0.2641, 0.2737",\
                 "0.3122, 0.3112, 0.3092, 0.3076, 0.3067, 0.3066, 0.3073, 0.3071, 0.3086, 0.3231",\
                 "0.3672, 0.3661, 0.3638, 0.3621, 0.3613, 0.3607, 0.3611, 0.3621, 0.3651, 0.3908");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1498, 0.1482, 0.1447, 0.1418, 0.1397, 0.1382, 0.1372, 0.1365, 0.1359, 0.1356",\
                 "0.1501, 0.1485, 0.145, 0.1421, 0.14, 0.1385, 0.1375, 0.1368, 0.1363, 0.1359",\
                 "0.1535, 0.1518, 0.1484, 0.1455, 0.1434, 0.142, 0.141, 0.1403, 0.1398, 0.1394",\
                 "0.1624, 0.1608, 0.1574, 0.1545, 0.1525, 0.1512, 0.1502, 0.1495, 0.149, 0.1487",\
                 "0.1806, 0.1789, 0.1751, 0.1719, 0.1696, 0.1681, 0.167, 0.1662, 0.1657, 0.1653",\
                 "0.2068, 0.205, 0.201, 0.1976, 0.1952, 0.1935, 0.1924, 0.1916, 0.191, 0.1906",\
                 "0.2419, 0.2401, 0.2361, 0.2326, 0.2301, 0.2284, 0.2272, 0.2263, 0.2258, 0.2253",\
                 "0.2875, 0.2856, 0.2816, 0.2779, 0.2754, 0.2736, 0.2724, 0.2716, 0.271, 0.2705",\
                 "0.3439, 0.342, 0.3378, 0.3341, 0.3315, 0.3297, 0.3284, 0.3276, 0.327, 0.3265",\
                 "0.4128, 0.4109, 0.4066, 0.4027, 0.4, 0.3982, 0.397, 0.3961, 0.3955, 0.3951");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2124, 0.2115, 0.21, 0.2089, 0.2085, 0.2085, 0.2087, 0.209, 0.2094, 0.2116",\
                 "0.2117, 0.2109, 0.2093, 0.2083, 0.2079, 0.2078, 0.2081, 0.2082, 0.2088, 0.2111",\
                 "0.2132, 0.2123, 0.2108, 0.2097, 0.2093, 0.2093, 0.2096, 0.2097, 0.2102, 0.2128",\
                 "0.2228, 0.222, 0.2204, 0.2194, 0.219, 0.2189, 0.2191, 0.2194, 0.2199, 0.2228",\
                 "0.2421, 0.2412, 0.2397, 0.2386, 0.238, 0.238, 0.2381, 0.2384, 0.2392, 0.2425",\
                 "0.2717, 0.2708, 0.2693, 0.2682, 0.2676, 0.2675, 0.2676, 0.2678, 0.2687, 0.2729",\
                 "0.3127, 0.3117, 0.31, 0.3088, 0.3084, 0.3081, 0.3083, 0.3085, 0.309, 0.3153",\
                 "0.3658, 0.3648, 0.3631, 0.3615, 0.361, 0.3611, 0.361, 0.3612, 0.362, 0.371",\
                 "0.4323, 0.4312, 0.4293, 0.4276, 0.4269, 0.4266, 0.4274, 0.4273, 0.4286, 0.4431",\
                 "0.5146, 0.5135, 0.5113, 0.5098, 0.5087, 0.5085, 0.5087, 0.5098, 0.513, 0.5377");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2429, 0.2412, 0.2376, 0.2344, 0.2322, 0.2306, 0.2295, 0.2287, 0.2281, 0.2277",\
                 "0.2425, 0.2408, 0.2371, 0.234, 0.2317, 0.2302, 0.229, 0.2283, 0.2277, 0.2273",\
                 "0.2443, 0.2425, 0.2389, 0.2357, 0.2335, 0.2319, 0.2308, 0.23, 0.2294, 0.229",\
                 "0.2537, 0.252, 0.2482, 0.245, 0.2427, 0.2411, 0.2401, 0.2392, 0.2387, 0.2383",\
                 "0.2734, 0.2716, 0.2676, 0.2641, 0.2616, 0.2599, 0.2587, 0.2578, 0.2572, 0.2567",\
                 "0.3047, 0.3028, 0.2984, 0.2943, 0.2914, 0.2893, 0.2879, 0.2869, 0.2862, 0.2856",\
                 "0.3477, 0.3456, 0.3407, 0.3361, 0.3326, 0.3301, 0.3284, 0.3272, 0.3263, 0.3257",\
                 "0.4042, 0.402, 0.3966, 0.3913, 0.3871, 0.3842, 0.382, 0.3805, 0.3795, 0.3787",\
                 "0.4768, 0.4744, 0.4684, 0.4623, 0.4574, 0.4538, 0.4512, 0.4494, 0.448, 0.447",\
                 "0.566, 0.5634, 0.5568, 0.5498, 0.5442, 0.5399, 0.5368, 0.5345, 0.5327, 0.5314");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1236, 0.1229, 0.1215, 0.1208, 0.1205, 0.1205, 0.1207, 0.1212, 0.1213, 0.1241",\
                 "0.1241, 0.1233, 0.122, 0.1212, 0.121, 0.121, 0.1212, 0.1214, 0.122, 0.1241",\
                 "0.1283, 0.1275, 0.1262, 0.1253, 0.125, 0.1251, 0.1253, 0.1255, 0.1262, 0.1282",\
                 "0.1383, 0.1375, 0.1359, 0.1349, 0.1346, 0.1345, 0.1347, 0.1349, 0.1354, 0.1381",\
                 "0.1561, 0.1552, 0.1534, 0.1519, 0.1511, 0.1509, 0.1509, 0.1512, 0.1518, 0.1545",\
                 "0.1829, 0.1817, 0.1793, 0.1774, 0.1764, 0.1756, 0.1754, 0.1755, 0.1762, 0.1795",\
                 "0.2198, 0.2185, 0.2155, 0.2128, 0.2111, 0.2106, 0.2101, 0.2096, 0.2098, 0.2143",\
                 "0.2681, 0.2664, 0.2628, 0.2594, 0.2569, 0.2557, 0.2555, 0.2548, 0.2549, 0.2603",\
                 "0.3302, 0.3284, 0.3243, 0.32, 0.317, 0.3146, 0.3137, 0.3138, 0.3138, 0.3214",\
                 "0.4071, 0.405, 0.4002, 0.3955, 0.3914, 0.3888, 0.3867, 0.3861, 0.3877, 0.3996");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2079, 0.2063, 0.2028, 0.1998, 0.1977, 0.1962, 0.1952, 0.1944, 0.1939, 0.1935",\
                 "0.2085, 0.2068, 0.2033, 0.2004, 0.1983, 0.1968, 0.1958, 0.195, 0.1945, 0.1941",\
                 "0.2142, 0.2125, 0.2091, 0.2062, 0.2041, 0.2027, 0.2016, 0.2009, 0.2004, 0.2",\
                 "0.2264, 0.2249, 0.2214, 0.2185, 0.2165, 0.2152, 0.2142, 0.2135, 0.213, 0.2126",\
                 "0.2463, 0.2447, 0.2409, 0.2376, 0.2353, 0.2338, 0.2327, 0.2319, 0.2314, 0.231",\
                 "0.2722, 0.2704, 0.2664, 0.263, 0.2605, 0.2588, 0.2577, 0.2569, 0.2563, 0.2559",\
                 "0.3047, 0.3029, 0.2989, 0.2952, 0.2927, 0.2909, 0.2897, 0.2888, 0.2882, 0.2878",\
                 "0.3451, 0.3433, 0.3392, 0.3355, 0.333, 0.3312, 0.3299, 0.3291, 0.3285, 0.328",\
                 "0.3959, 0.394, 0.3899, 0.3862, 0.3835, 0.3816, 0.3803, 0.3794, 0.3788, 0.3783",\
                 "0.4593, 0.4573, 0.4531, 0.4491, 0.4463, 0.4445, 0.4432, 0.4424, 0.4417, 0.4413");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1952, 0.1944, 0.1928, 0.1917, 0.1912, 0.1911, 0.1913, 0.1915, 0.1921, 0.1944",\
                 "0.1948, 0.194, 0.1924, 0.1913, 0.1908, 0.1907, 0.1908, 0.1911, 0.1915, 0.1945",\
                 "0.1971, 0.1963, 0.1947, 0.1935, 0.1931, 0.193, 0.1931, 0.1934, 0.1939, 0.1963",\
                 "0.2072, 0.2064, 0.2048, 0.2037, 0.2032, 0.2031, 0.2034, 0.2035, 0.204, 0.2067",\
                 "0.226, 0.225, 0.2235, 0.2223, 0.2218, 0.2216, 0.2217, 0.222, 0.2224, 0.2258",\
                 "0.2531, 0.2523, 0.2507, 0.2495, 0.2489, 0.2487, 0.2488, 0.2493, 0.2498, 0.2547",\
                 "0.2896, 0.2887, 0.287, 0.2857, 0.2852, 0.2849, 0.2848, 0.2851, 0.2858, 0.292",\
                 "0.3363, 0.3354, 0.3335, 0.332, 0.3314, 0.3314, 0.3313, 0.3313, 0.3322, 0.3414",\
                 "0.3956, 0.3946, 0.3926, 0.3909, 0.39, 0.3897, 0.3906, 0.3904, 0.3919, 0.4062",\
                 "0.4705, 0.4693, 0.4672, 0.4653, 0.4643, 0.4641, 0.4641, 0.4656, 0.4681, 0.4938");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2159, 0.2142, 0.2105, 0.2073, 0.2051, 0.2035, 0.2024, 0.2016, 0.201, 0.2006",\
                 "0.2164, 0.2147, 0.2111, 0.2079, 0.2057, 0.2041, 0.203, 0.2022, 0.2016, 0.2012",\
                 "0.2222, 0.2205, 0.2168, 0.2137, 0.2115, 0.21, 0.2089, 0.2081, 0.2075, 0.2071",\
                 "0.2343, 0.2327, 0.2291, 0.2261, 0.2239, 0.2224, 0.2214, 0.2207, 0.2201, 0.2197",\
                 "0.2543, 0.2525, 0.2486, 0.2452, 0.2428, 0.2411, 0.2399, 0.2391, 0.2385, 0.2381",\
                 "0.2803, 0.2784, 0.2743, 0.2706, 0.268, 0.2662, 0.2649, 0.264, 0.2634, 0.2629",\
                 "0.3128, 0.3109, 0.3067, 0.303, 0.3003, 0.2984, 0.2971, 0.2962, 0.2955, 0.295",\
                 "0.3534, 0.3515, 0.3473, 0.3434, 0.3406, 0.3387, 0.3374, 0.3364, 0.3358, 0.3353",\
                 "0.4047, 0.4028, 0.3984, 0.3944, 0.3916, 0.3896, 0.3882, 0.3873, 0.3866, 0.3861",\
                 "0.4681, 0.4661, 0.4617, 0.4576, 0.4546, 0.4526, 0.4512, 0.4503, 0.4496, 0.4491");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1888, 0.1879, 0.1862, 0.185, 0.1845, 0.1844, 0.1846, 0.1847, 0.1852, 0.1876",\
                 "0.1884, 0.1875, 0.1858, 0.1846, 0.1841, 0.184, 0.1842, 0.1843, 0.1847, 0.1871",\
                 "0.1907, 0.1898, 0.1881, 0.1869, 0.1864, 0.1863, 0.1864, 0.1866, 0.1873, 0.1897",\
                 "0.2008, 0.2, 0.1983, 0.197, 0.1965, 0.1964, 0.1965, 0.1967, 0.1972, 0.2002",\
                 "0.2195, 0.2186, 0.217, 0.2156, 0.2151, 0.215, 0.2151, 0.2153, 0.216, 0.2195",\
                 "0.2467, 0.2459, 0.2442, 0.2428, 0.2423, 0.242, 0.2421, 0.2426, 0.2428, 0.2472",\
                 "0.2832, 0.2822, 0.2804, 0.279, 0.2786, 0.2783, 0.2782, 0.2784, 0.2792, 0.2852",\
                 "0.3302, 0.3291, 0.3273, 0.3255, 0.3249, 0.3249, 0.3248, 0.325, 0.3258, 0.3349",\
                 "0.3897, 0.3886, 0.3866, 0.3847, 0.3838, 0.3837, 0.3842, 0.3839, 0.3853, 0.4001",\
                 "0.4646, 0.4634, 0.4611, 0.4591, 0.4581, 0.4575, 0.4578, 0.4592, 0.4618, 0.4878");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1372, 0.1355, 0.132, 0.1291, 0.1269, 0.1255, 0.1245, 0.1237, 0.1232, 0.1228",\
                 "0.1373, 0.1356, 0.1321, 0.1292, 0.1271, 0.1256, 0.1246, 0.1239, 0.1233, 0.1229",\
                 "0.14, 0.1384, 0.135, 0.132, 0.13, 0.1285, 0.1276, 0.1268, 0.1263, 0.1259",\
                 "0.1472, 0.1456, 0.1422, 0.1393, 0.1373, 0.1359, 0.1349, 0.1343, 0.1338, 0.1334",\
                 "0.161, 0.1593, 0.1555, 0.1523, 0.15, 0.1485, 0.1474, 0.1466, 0.1461, 0.1457",\
                 "0.1796, 0.1778, 0.1739, 0.1704, 0.168, 0.1663, 0.1652, 0.1644, 0.1638, 0.1634",\
                 "0.2036, 0.2018, 0.1978, 0.1943, 0.1918, 0.1901, 0.1889, 0.188, 0.1875, 0.187",\
                 "0.2343, 0.2324, 0.2283, 0.2247, 0.2222, 0.2204, 0.2192, 0.2184, 0.2178, 0.2173",\
                 "0.2718, 0.27, 0.2658, 0.2621, 0.2594, 0.2576, 0.2563, 0.2555, 0.2549, 0.2544",\
                 "0.3175, 0.3156, 0.3112, 0.3074, 0.3047, 0.3029, 0.3016, 0.3008, 0.3002, 0.2998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1633, 0.1624, 0.1609, 0.1598, 0.1593, 0.1593, 0.1594, 0.1598, 0.1603, 0.163",\
                 "0.1629, 0.162, 0.1605, 0.1594, 0.1589, 0.1589, 0.159, 0.1592, 0.1597, 0.1623",\
                 "0.1642, 0.1633, 0.1618, 0.1607, 0.1603, 0.1603, 0.1604, 0.1607, 0.1612, 0.164",\
                 "0.1712, 0.1704, 0.1688, 0.1677, 0.1672, 0.1671, 0.1673, 0.1675, 0.1682, 0.171",\
                 "0.1846, 0.1837, 0.1822, 0.1809, 0.1805, 0.1803, 0.1805, 0.1808, 0.1813, 0.1851",\
                 "0.2045, 0.2037, 0.2021, 0.201, 0.2004, 0.2004, 0.2004, 0.2007, 0.2015, 0.2058",\
                 "0.232, 0.2312, 0.2295, 0.2283, 0.2278, 0.2275, 0.2276, 0.2277, 0.2284, 0.2344",\
                 "0.2675, 0.2665, 0.2647, 0.2632, 0.2625, 0.2629, 0.2626, 0.2628, 0.2636, 0.2729",\
                 "0.3116, 0.3106, 0.3086, 0.307, 0.3061, 0.3058, 0.3067, 0.3066, 0.308, 0.3222",\
                 "0.3667, 0.3656, 0.3633, 0.3616, 0.3608, 0.3603, 0.3608, 0.362, 0.3646, 0.39");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2159, 0.2142, 0.2106, 0.2075, 0.2052, 0.2037, 0.2026, 0.2018, 0.2013, 0.2009",\
                 "0.2154, 0.2137, 0.2101, 0.207, 0.2048, 0.2032, 0.2021, 0.2013, 0.2008, 0.2004",\
                 "0.2162, 0.2145, 0.2108, 0.2077, 0.2055, 0.204, 0.2029, 0.2021, 0.2015, 0.2011",\
                 "0.2223, 0.2206, 0.2169, 0.2137, 0.2115, 0.21, 0.2089, 0.2081, 0.2075, 0.2071",\
                 "0.2367, 0.235, 0.231, 0.2276, 0.2251, 0.2234, 0.2222, 0.2214, 0.2208, 0.2203",\
                 "0.2609, 0.2591, 0.2546, 0.2507, 0.2478, 0.2458, 0.2444, 0.2434, 0.2427, 0.2422",\
                 "0.2951, 0.2931, 0.2882, 0.2837, 0.2803, 0.2779, 0.2762, 0.275, 0.2741, 0.2735",\
                 "0.3404, 0.3381, 0.3327, 0.3274, 0.3234, 0.3205, 0.3184, 0.317, 0.3159, 0.3151",\
                 "0.3972, 0.3948, 0.3888, 0.3828, 0.378, 0.3746, 0.3721, 0.3702, 0.3689, 0.3678",\
                 "0.4661, 0.4635, 0.4571, 0.4501, 0.4446, 0.4404, 0.4373, 0.4351, 0.4334, 0.4321");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.05733, 0.05658, 0.05519, 0.0544, 0.0541, 0.05408, 0.05431, 0.05465, 0.05511, 0.05774",\
                 "0.05734, 0.05659, 0.05523, 0.05443, 0.05407, 0.05425, 0.05434, 0.05458, 0.05515, 0.05738",\
                 "0.05844, 0.05767, 0.05633, 0.05553, 0.05522, 0.05521, 0.05543, 0.0557, 0.05623, 0.059",\
                 "0.06357, 0.06276, 0.06121, 0.06019, 0.05984, 0.05976, 0.05995, 0.06013, 0.06084, 0.06379",\
                 "0.07564, 0.07467, 0.07287, 0.07133, 0.07063, 0.07039, 0.07051, 0.07078, 0.0709, 0.07386",\
                 "0.09553, 0.09432, 0.0918, 0.09012, 0.08905, 0.08831, 0.0881, 0.08818, 0.0887, 0.09261",\
                 "0.1245, 0.123, 0.1201, 0.1173, 0.1157, 0.1151, 0.1147, 0.1143, 0.1144, 0.1192",\
                 "0.1629, 0.1612, 0.1577, 0.1542, 0.1517, 0.1504, 0.1502, 0.1497, 0.1496, 0.1552",\
                 "0.2114, 0.2095, 0.2055, 0.2012, 0.198, 0.1958, 0.1948, 0.195, 0.1949, 0.2028",\
                 "0.2704, 0.2682, 0.2635, 0.2587, 0.2546, 0.2517, 0.2498, 0.2493, 0.2508, 0.2628");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1482, 0.1465, 0.1428, 0.1397, 0.1374, 0.1359, 0.1348, 0.134, 0.1334, 0.133",\
                 "0.1484, 0.1467, 0.143, 0.1399, 0.1376, 0.1361, 0.135, 0.1342, 0.1336, 0.1332",\
                 "0.1511, 0.1494, 0.1458, 0.1427, 0.1405, 0.1389, 0.1379, 0.1371, 0.1365, 0.1361",\
                 "0.1581, 0.1565, 0.1529, 0.1499, 0.1477, 0.1462, 0.1452, 0.1444, 0.1439, 0.1435",\
                 "0.1719, 0.1701, 0.1662, 0.1628, 0.1604, 0.1587, 0.1576, 0.1567, 0.1562, 0.1557",\
                 "0.1907, 0.1888, 0.1847, 0.1811, 0.1784, 0.1766, 0.1754, 0.1745, 0.1739, 0.1734",\
                 "0.2148, 0.2129, 0.2087, 0.205, 0.2023, 0.2004, 0.1991, 0.1982, 0.1976, 0.1971",\
                 "0.2455, 0.2436, 0.2392, 0.2354, 0.2327, 0.2308, 0.2295, 0.2285, 0.2279, 0.2274",\
                 "0.2829, 0.281, 0.2766, 0.2727, 0.2699, 0.2679, 0.2666, 0.2656, 0.2649, 0.2644",\
                 "0.3283, 0.3263, 0.3218, 0.3177, 0.3148, 0.3129, 0.3116, 0.3106, 0.3099, 0.3094");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.16, 0.1592, 0.1576, 0.1563, 0.1559, 0.1558, 0.1559, 0.1561, 0.1566, 0.159",\
                 "0.1596, 0.1587, 0.1571, 0.1559, 0.1555, 0.1554, 0.1555, 0.1557, 0.1561, 0.1587",\
                 "0.161, 0.1601, 0.1585, 0.1573, 0.1568, 0.1568, 0.1568, 0.1572, 0.1578, 0.1603",\
                 "0.1679, 0.167, 0.1654, 0.1643, 0.1637, 0.1638, 0.1637, 0.1639, 0.1645, 0.1674",\
                 "0.1812, 0.1803, 0.1786, 0.1774, 0.1769, 0.1767, 0.1769, 0.1773, 0.1779, 0.1811",\
                 "0.2012, 0.2003, 0.1986, 0.1974, 0.1968, 0.1966, 0.1967, 0.197, 0.1976, 0.2017",\
                 "0.2287, 0.2278, 0.2261, 0.2247, 0.2242, 0.2238, 0.2238, 0.2241, 0.2247, 0.2308",\
                 "0.2641, 0.2632, 0.2612, 0.2596, 0.2589, 0.259, 0.259, 0.2589, 0.2598, 0.2686",\
                 "0.3082, 0.3071, 0.305, 0.3034, 0.3024, 0.302, 0.3029, 0.3027, 0.3041, 0.3185",\
                 "0.3629, 0.3617, 0.3594, 0.3577, 0.3567, 0.3565, 0.3564, 0.3576, 0.3604, 0.3863");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&!I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1075, 0.1067, 0.1052, 0.1041, 0.1034, 0.1029, 0.1026, 0.1023, 0.1022, 0.102",\
                 "0.1068, 0.1059, 0.1044, 0.1033, 0.1026, 0.1022, 0.1018, 0.1016, 0.1014, 0.1013",\
                 "0.1086, 0.1077, 0.1062, 0.1052, 0.1045, 0.1041, 0.1038, 0.1036, 0.1034, 0.1033",\
                 "0.1165, 0.1156, 0.1139, 0.1127, 0.112, 0.1116, 0.1113, 0.111, 0.1109, 0.1108",\
                 "0.1326, 0.1315, 0.1294, 0.1279, 0.1269, 0.1263, 0.1259, 0.1257, 0.1255, 0.1253",\
                 "0.1572, 0.1559, 0.1533, 0.1512, 0.1499, 0.1491, 0.1485, 0.1482, 0.1479, 0.1478",\
                 "0.1913, 0.1898, 0.1865, 0.1838, 0.182, 0.1808, 0.18, 0.1795, 0.1792, 0.1789",\
                 "0.2355, 0.2337, 0.2297, 0.2262, 0.2238, 0.2222, 0.2211, 0.2203, 0.2197, 0.2193",\
                 "0.2901, 0.288, 0.2833, 0.279, 0.2759, 0.2737, 0.2721, 0.2711, 0.2703, 0.2697",\
                 "0.3557, 0.3534, 0.3479, 0.3426, 0.3387, 0.3359, 0.3339, 0.3324, 0.3313, 0.3306");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.03975, 0.03931, 0.03873, 0.03845, 0.03852, 0.03864, 0.03889, 0.0394, 0.0397, 0.04191",\
                 "0.03949, 0.03904, 0.03842, 0.03824, 0.03826, 0.03851, 0.03866, 0.0392, 0.0396, 0.0421",\
                 "0.04096, 0.0405, 0.03986, 0.03967, 0.03971, 0.03989, 0.04018, 0.04049, 0.04099, 0.04327",\
                 "0.04799, 0.04747, 0.04647, 0.04597, 0.04588, 0.04613, 0.04629, 0.04656, 0.04719, 0.04976",\
                 "0.06119, 0.06039, 0.05891, 0.05822, 0.05776, 0.05771, 0.0579, 0.05818, 0.05869, 0.06147",\
                 "0.08164, 0.08061, 0.07875, 0.07716, 0.07683, 0.07649, 0.07632, 0.07646, 0.07689, 0.07991",\
                 "0.11, 0.1088, 0.1063, 0.104, 0.1029, 0.1026, 0.1025, 0.1025, 0.1025, 0.1065",\
                 "0.147, 0.1454, 0.1423, 0.1394, 0.1376, 0.1367, 0.1369, 0.1367, 0.137, 0.1415",\
                 "0.1928, 0.1911, 0.1873, 0.1839, 0.1814, 0.1797, 0.179, 0.1795, 0.1802, 0.1872",\
                 "0.2482, 0.246, 0.2418, 0.2376, 0.2346, 0.232, 0.2309, 0.2305, 0.2322, 0.2427");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1075, 0.1066, 0.1052, 0.1041, 0.1034, 0.1029, 0.1026, 0.1023, 0.1022, 0.102",\
                 "0.1067, 0.1059, 0.1044, 0.1033, 0.1026, 0.1022, 0.1018, 0.1016, 0.1014, 0.1013",\
                 "0.1085, 0.1076, 0.1062, 0.1052, 0.1045, 0.1041, 0.1038, 0.1036, 0.1034, 0.1033",\
                 "0.1165, 0.1155, 0.1139, 0.1127, 0.112, 0.1116, 0.1113, 0.1111, 0.1109, 0.1108",\
                 "0.1326, 0.1315, 0.1294, 0.1279, 0.1269, 0.1263, 0.1259, 0.1257, 0.1255, 0.1254",\
                 "0.1572, 0.1559, 0.1533, 0.1512, 0.1499, 0.1491, 0.1486, 0.1482, 0.148, 0.1478",\
                 "0.1914, 0.1898, 0.1865, 0.1838, 0.182, 0.1809, 0.1801, 0.1796, 0.1792, 0.1789",\
                 "0.2355, 0.2338, 0.2297, 0.2263, 0.2239, 0.2222, 0.2211, 0.2203, 0.2198, 0.2194",\
                 "0.2902, 0.2881, 0.2833, 0.2791, 0.2759, 0.2738, 0.2722, 0.2711, 0.2704, 0.2698",\
                 "0.3558, 0.3535, 0.3479, 0.3427, 0.3388, 0.336, 0.3339, 0.3325, 0.3314, 0.3307");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.03976, 0.0393, 0.03874, 0.03845, 0.03852, 0.03864, 0.03893, 0.03947, 0.03977, 0.04185",\
                 "0.03947, 0.03902, 0.03848, 0.03825, 0.03822, 0.03844, 0.03866, 0.03904, 0.03947, 0.04152",\
                 "0.04092, 0.04049, 0.03986, 0.03967, 0.03968, 0.03989, 0.04015, 0.04052, 0.04095, 0.04304",\
                 "0.04797, 0.04745, 0.04644, 0.04596, 0.04588, 0.046, 0.04622, 0.04656, 0.04719, 0.05007",\
                 "0.06119, 0.06045, 0.05893, 0.05826, 0.05779, 0.05775, 0.05807, 0.05818, 0.05885, 0.06152",\
                 "0.08172, 0.08072, 0.07872, 0.07725, 0.07687, 0.07649, 0.07635, 0.07652, 0.07728, 0.08011",\
                 "0.1101, 0.1088, 0.1063, 0.1042, 0.103, 0.1028, 0.1025, 0.1025, 0.1027, 0.1062",\
                 "0.147, 0.1455, 0.1423, 0.1395, 0.1377, 0.1367, 0.1369, 0.1369, 0.1371, 0.1414",\
                 "0.1928, 0.1911, 0.1873, 0.184, 0.1816, 0.1799, 0.1791, 0.1797, 0.1802, 0.1868",\
                 "0.2482, 0.2461, 0.2418, 0.2377, 0.2345, 0.2323, 0.231, 0.2305, 0.2321, 0.2426");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1075, 0.1066, 0.1052, 0.1041, 0.1034, 0.1029, 0.1026, 0.1023, 0.1022, 0.102",\
                 "0.1067, 0.1059, 0.1044, 0.1033, 0.1026, 0.1022, 0.1018, 0.1016, 0.1014, 0.1013",\
                 "0.1085, 0.1076, 0.1062, 0.1052, 0.1045, 0.1041, 0.1038, 0.1036, 0.1034, 0.1033",\
                 "0.1165, 0.1155, 0.1139, 0.1127, 0.112, 0.1116, 0.1113, 0.1111, 0.1109, 0.1108",\
                 "0.1326, 0.1315, 0.1294, 0.1279, 0.1269, 0.1263, 0.1259, 0.1257, 0.1255, 0.1253",\
                 "0.1572, 0.1559, 0.1533, 0.1512, 0.1499, 0.1491, 0.1486, 0.1482, 0.148, 0.1478",\
                 "0.1913, 0.1898, 0.1865, 0.1838, 0.1821, 0.1809, 0.1801, 0.1796, 0.1792, 0.1789",\
                 "0.2356, 0.2337, 0.2297, 0.2263, 0.2238, 0.2222, 0.2211, 0.2203, 0.2198, 0.2194",\
                 "0.2902, 0.2881, 0.2833, 0.2791, 0.2759, 0.2738, 0.2722, 0.2711, 0.2704, 0.2698",\
                 "0.3558, 0.3535, 0.3479, 0.3427, 0.3388, 0.336, 0.3339, 0.3325, 0.3314, 0.3307");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.03977, 0.0393, 0.03874, 0.03844, 0.03852, 0.03867, 0.03899, 0.03943, 0.0399, 0.04185",\
                 "0.03948, 0.03903, 0.03848, 0.03823, 0.03832, 0.03841, 0.03863, 0.0392, 0.0396, 0.04152",\
                 "0.04094, 0.0405, 0.03988, 0.03967, 0.03968, 0.03996, 0.04031, 0.04072, 0.04092, 0.04304",\
                 "0.04797, 0.04745, 0.04644, 0.04591, 0.04588, 0.046, 0.04622, 0.04656, 0.04719, 0.05007",\
                 "0.06121, 0.06044, 0.05896, 0.05828, 0.05783, 0.05778, 0.05794, 0.05828, 0.05882, 0.06151",\
                 "0.08172, 0.08072, 0.07872, 0.07725, 0.07687, 0.07649, 0.07635, 0.07652, 0.07728, 0.08011",\
                 "0.1101, 0.1088, 0.1063, 0.1042, 0.103, 0.1028, 0.1025, 0.1025, 0.1027, 0.1062",\
                 "0.147, 0.1455, 0.1424, 0.1395, 0.1375, 0.1367, 0.137, 0.1368, 0.137, 0.1418",\
                 "0.1928, 0.1911, 0.1873, 0.184, 0.1816, 0.1799, 0.1791, 0.1797, 0.18, 0.1872",\
                 "0.2482, 0.2461, 0.2418, 0.2377, 0.2345, 0.2323, 0.231, 0.2305, 0.2321, 0.2425");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1075, 0.1067, 0.1052, 0.1041, 0.1034, 0.1029, 0.1026, 0.1023, 0.1022, 0.102",\
                 "0.1068, 0.1059, 0.1044, 0.1033, 0.1026, 0.1022, 0.1018, 0.1016, 0.1014, 0.1013",\
                 "0.1086, 0.1077, 0.1062, 0.1052, 0.1045, 0.1041, 0.1038, 0.1036, 0.1034, 0.1033",\
                 "0.1165, 0.1156, 0.1139, 0.1127, 0.112, 0.1116, 0.1113, 0.111, 0.1109, 0.1108",\
                 "0.1326, 0.1315, 0.1294, 0.1279, 0.1269, 0.1263, 0.1259, 0.1257, 0.1255, 0.1253",\
                 "0.1572, 0.1559, 0.1533, 0.1512, 0.1499, 0.1491, 0.1485, 0.1482, 0.1479, 0.1478",\
                 "0.1913, 0.1898, 0.1865, 0.1838, 0.182, 0.1808, 0.18, 0.1795, 0.1792, 0.1789",\
                 "0.2355, 0.2337, 0.2296, 0.2263, 0.2238, 0.2222, 0.2211, 0.2203, 0.2197, 0.2194",\
                 "0.2901, 0.288, 0.2832, 0.279, 0.2758, 0.2737, 0.2721, 0.271, 0.2703, 0.2697",\
                 "0.3557, 0.3534, 0.3479, 0.3426, 0.3387, 0.3359, 0.3339, 0.3324, 0.3313, 0.3306");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.03978, 0.03931, 0.03874, 0.03845, 0.03852, 0.03867, 0.03893, 0.03943, 0.0398, 0.04185",\
                 "0.03949, 0.03904, 0.03849, 0.03825, 0.03826, 0.03844, 0.0388, 0.03917, 0.03937, 0.04206",\
                 "0.04095, 0.0405, 0.03986, 0.03967, 0.03971, 0.03989, 0.04018, 0.04049, 0.04099, 0.04327",\
                 "0.04799, 0.04746, 0.04647, 0.04597, 0.04588, 0.04603, 0.04629, 0.04656, 0.04716, 0.04972",\
                 "0.06119, 0.06038, 0.059, 0.05822, 0.05776, 0.05781, 0.05794, 0.05831, 0.05882, 0.06116",\
                 "0.08164, 0.08061, 0.07864, 0.07716, 0.0767, 0.07649, 0.07628, 0.07646, 0.07689, 0.07991",\
                 "0.1101, 0.1088, 0.1062, 0.104, 0.1029, 0.1026, 0.1025, 0.1022, 0.1027, 0.1069",\
                 "0.147, 0.1454, 0.1423, 0.1396, 0.1376, 0.1367, 0.1369, 0.1367, 0.1371, 0.1415",\
                 "0.1928, 0.1911, 0.1873, 0.1839, 0.1815, 0.1797, 0.179, 0.1797, 0.1802, 0.1872",\
                 "0.2482, 0.246, 0.2418, 0.2376, 0.2344, 0.2321, 0.2308, 0.2306, 0.232, 0.2425");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07639, 0.07549, 0.07373, 0.07236, 0.07139, 0.07073, 0.07026, 0.06991, 0.06966, 0.06946",\
                 "0.07642, 0.07549, 0.07369, 0.07233, 0.07138, 0.07072, 0.07025, 0.06992, 0.06966, 0.0695",\
                 "0.07867, 0.07776, 0.07601, 0.07471, 0.07383, 0.07322, 0.07279, 0.07249, 0.07225, 0.0721",\
                 "0.08585, 0.08474, 0.08271, 0.08119, 0.08023, 0.07961, 0.07919, 0.07889, 0.07868, 0.07852",\
                 "0.09837, 0.09707, 0.09467, 0.09292, 0.09177, 0.09107, 0.09063, 0.09031, 0.09009, 0.08993",\
                 "0.1151, 0.1138, 0.1115, 0.1097, 0.1085, 0.1078, 0.1074, 0.1071, 0.1069, 0.1067",\
                 "0.1379, 0.1366, 0.1342, 0.1324, 0.1312, 0.1305, 0.1301, 0.1297, 0.1295, 0.1294",\
                 "0.1669, 0.1656, 0.1631, 0.1612, 0.16, 0.1593, 0.1589, 0.1586, 0.1584, 0.1583",\
                 "0.203, 0.2016, 0.1991, 0.1971, 0.196, 0.1953, 0.1949, 0.1946, 0.1944, 0.1943",\
                 "0.249, 0.2476, 0.245, 0.2428, 0.2415, 0.2408, 0.2405, 0.2404, 0.2403, 0.2403");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.09895, 0.09835, 0.09743, 0.09698, 0.09687, 0.09708, 0.09734, 0.09761, 0.09827, 0.1009",\
                 "0.09835, 0.09779, 0.09682, 0.09638, 0.09627, 0.09642, 0.09671, 0.09708, 0.09768, 0.0999",\
                 "0.1005, 0.09988, 0.09902, 0.09848, 0.09845, 0.09863, 0.09895, 0.09946, 0.09976, 0.1021",\
                 "0.108, 0.1074, 0.1064, 0.1059, 0.1061, 0.1061, 0.1063, 0.1067, 0.1073, 0.11",\
                 "0.1211, 0.1205, 0.1197, 0.1191, 0.119, 0.1192, 0.1195, 0.1201, 0.1203, 0.1236",\
                 "0.1407, 0.1401, 0.1391, 0.1387, 0.1385, 0.1387, 0.1388, 0.1395, 0.1399, 0.1435",\
                 "0.1673, 0.1667, 0.1655, 0.1648, 0.1648, 0.165, 0.1651, 0.1653, 0.166, 0.1714",\
                 "0.2016, 0.2008, 0.1997, 0.1988, 0.1986, 0.199, 0.1995, 0.1995, 0.2002, 0.2079",\
                 "0.2462, 0.2453, 0.2438, 0.2429, 0.2425, 0.2427, 0.2436, 0.244, 0.2453, 0.2573",\
                 "0.3016, 0.3007, 0.299, 0.298, 0.2974, 0.2975, 0.298, 0.299, 0.3023, 0.3228");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1075, 0.1067, 0.1052, 0.1041, 0.1033, 0.1029, 0.1026, 0.1023, 0.1022, 0.102",\
                 "0.1067, 0.1059, 0.1044, 0.1033, 0.1026, 0.1022, 0.1018, 0.1016, 0.1014, 0.1013",\
                 "0.1085, 0.1077, 0.1062, 0.1052, 0.1045, 0.1041, 0.1038, 0.1036, 0.1034, 0.1033",\
                 "0.1165, 0.1155, 0.1139, 0.1127, 0.112, 0.1116, 0.1113, 0.1111, 0.1109, 0.1108",\
                 "0.1326, 0.1315, 0.1294, 0.1279, 0.1269, 0.1263, 0.1259, 0.1257, 0.1255, 0.1254",\
                 "0.1572, 0.1559, 0.1533, 0.1512, 0.1499, 0.1491, 0.1486, 0.1482, 0.148, 0.1478",\
                 "0.1914, 0.1898, 0.1865, 0.1838, 0.1821, 0.1809, 0.1801, 0.1796, 0.1792, 0.1789",\
                 "0.2356, 0.2338, 0.2297, 0.2263, 0.2238, 0.2222, 0.2211, 0.2203, 0.2198, 0.2194",\
                 "0.2902, 0.2881, 0.2833, 0.2791, 0.2759, 0.2738, 0.2722, 0.2711, 0.2704, 0.2698",\
                 "0.3558, 0.3535, 0.3479, 0.3427, 0.3388, 0.336, 0.3339, 0.3325, 0.3314, 0.3307");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.03974, 0.03931, 0.03874, 0.03845, 0.03849, 0.03864, 0.03886, 0.0392, 0.0397, 0.04191",\
                 "0.03949, 0.03903, 0.03842, 0.03825, 0.03826, 0.03854, 0.0387, 0.03904, 0.0396, 0.0421",\
                 "0.04092, 0.04048, 0.03991, 0.03957, 0.03971, 0.03993, 0.04031, 0.04072, 0.04095, 0.04304",\
                 "0.04797, 0.04745, 0.04644, 0.04596, 0.04588, 0.046, 0.04622, 0.04656, 0.04719, 0.05007",\
                 "0.06119, 0.06041, 0.059, 0.05827, 0.05779, 0.05791, 0.05794, 0.05844, 0.05879, 0.06154",\
                 "0.08172, 0.08074, 0.07872, 0.07717, 0.07687, 0.07649, 0.07648, 0.07652, 0.07695, 0.07998",\
                 "0.1101, 0.1088, 0.1063, 0.1041, 0.1028, 0.1026, 0.1025, 0.1024, 0.1026, 0.1064",\
                 "0.147, 0.1455, 0.1423, 0.1394, 0.1376, 0.1367, 0.1369, 0.1368, 0.137, 0.1416",\
                 "0.1928, 0.1911, 0.1873, 0.184, 0.1814, 0.1797, 0.1792, 0.1796, 0.18, 0.1874",\
                 "0.2482, 0.2461, 0.2418, 0.2377, 0.2345, 0.2322, 0.231, 0.2306, 0.2324, 0.2428");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07639, 0.07546, 0.07366, 0.0723, 0.07135, 0.07069, 0.07022, 0.06988, 0.06963, 0.06946",\
                 "0.07642, 0.07549, 0.07369, 0.07233, 0.07138, 0.07072, 0.07025, 0.06992, 0.06966, 0.0695",\
                 "0.07867, 0.07776, 0.07601, 0.07471, 0.07383, 0.07322, 0.07279, 0.07249, 0.07225, 0.0721",\
                 "0.08585, 0.08474, 0.08271, 0.08119, 0.08023, 0.07961, 0.07919, 0.07889, 0.07868, 0.07852",\
                 "0.09835, 0.0971, 0.09467, 0.0929, 0.09178, 0.09107, 0.09062, 0.09031, 0.09008, 0.08993",\
                 "0.1151, 0.1138, 0.1115, 0.1097, 0.1085, 0.1078, 0.1074, 0.1071, 0.1069, 0.1067",\
                 "0.1379, 0.1366, 0.1342, 0.1324, 0.1312, 0.1305, 0.1301, 0.1297, 0.1295, 0.1294",\
                 "0.1669, 0.1656, 0.1631, 0.1612, 0.16, 0.1593, 0.1589, 0.1586, 0.1584, 0.1583",\
                 "0.203, 0.2016, 0.1991, 0.1971, 0.196, 0.1953, 0.1948, 0.1946, 0.1944, 0.1943",\
                 "0.249, 0.2476, 0.245, 0.2428, 0.2415, 0.2408, 0.2405, 0.2404, 0.2403, 0.2403");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.09895, 0.09837, 0.09742, 0.09697, 0.0969, 0.09715, 0.09734, 0.09761, 0.09831, 0.1007",\
                 "0.09835, 0.09779, 0.09682, 0.09638, 0.09627, 0.09642, 0.09671, 0.09708, 0.09768, 0.09986",\
                 "0.1005, 0.09988, 0.09902, 0.09848, 0.09845, 0.09863, 0.09895, 0.09946, 0.09976, 0.1021",\
                 "0.1079, 0.1074, 0.1064, 0.1059, 0.1061, 0.1062, 0.1063, 0.1067, 0.1073, 0.1104",\
                 "0.1211, 0.1205, 0.1197, 0.1191, 0.119, 0.1193, 0.1195, 0.1198, 0.1203, 0.1236",\
                 "0.1407, 0.1401, 0.1391, 0.1387, 0.1385, 0.1387, 0.1388, 0.1395, 0.1399, 0.1435",\
                 "0.1673, 0.1667, 0.1655, 0.1649, 0.1648, 0.1649, 0.1651, 0.1653, 0.166, 0.1714",\
                 "0.2016, 0.2008, 0.1996, 0.1988, 0.1985, 0.1989, 0.1995, 0.1995, 0.2002, 0.208",\
                 "0.2462, 0.2453, 0.2438, 0.2428, 0.2425, 0.2427, 0.2436, 0.2439, 0.2456, 0.2572",\
                 "0.3017, 0.3007, 0.2991, 0.298, 0.2974, 0.2975, 0.2978, 0.2992, 0.3023, 0.3229");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1075, 0.1066, 0.1052, 0.1041, 0.1034, 0.1029, 0.1026, 0.1023, 0.1022, 0.102",\
                 "0.1067, 0.1059, 0.1044, 0.1033, 0.1026, 0.1022, 0.1018, 0.1016, 0.1014, 0.1013",\
                 "0.1085, 0.1077, 0.1062, 0.1052, 0.1045, 0.1041, 0.1038, 0.1036, 0.1034, 0.1033",\
                 "0.1165, 0.1155, 0.1139, 0.1127, 0.112, 0.1116, 0.1113, 0.1111, 0.1109, 0.1108",\
                 "0.1326, 0.1315, 0.1294, 0.1279, 0.1269, 0.1263, 0.1259, 0.1257, 0.1255, 0.1253",\
                 "0.1572, 0.1559, 0.1533, 0.1512, 0.1499, 0.1491, 0.1486, 0.1482, 0.148, 0.1478",\
                 "0.1913, 0.1898, 0.1865, 0.1838, 0.182, 0.1809, 0.1801, 0.1796, 0.1792, 0.1789",\
                 "0.2356, 0.2338, 0.2297, 0.2262, 0.2238, 0.2222, 0.2211, 0.2203, 0.2198, 0.2194",\
                 "0.2902, 0.2881, 0.2833, 0.2791, 0.2759, 0.2737, 0.2722, 0.2711, 0.2704, 0.2698",\
                 "0.3558, 0.3535, 0.3479, 0.3427, 0.3388, 0.336, 0.3339, 0.3325, 0.3314, 0.3307");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.03974, 0.03932, 0.03876, 0.03845, 0.03855, 0.0386, 0.03889, 0.03917, 0.03983, 0.04178",\
                 "0.03949, 0.03903, 0.0385, 0.03825, 0.03826, 0.03854, 0.0387, 0.03904, 0.0396, 0.0421",\
                 "0.04094, 0.04047, 0.03983, 0.03966, 0.03968, 0.04002, 0.04031, 0.04075, 0.04092, 0.0432",\
                 "0.04797, 0.04745, 0.04644, 0.04591, 0.04588, 0.046, 0.04622, 0.04656, 0.04719, 0.05007",\
                 "0.06128, 0.06044, 0.059, 0.05828, 0.05779, 0.05781, 0.05787, 0.05824, 0.05889, 0.06151",\
                 "0.08172, 0.08071, 0.07872, 0.07717, 0.07687, 0.07652, 0.07645, 0.07649, 0.07718, 0.07998",\
                 "0.1101, 0.1088, 0.1063, 0.1041, 0.1029, 0.1027, 0.1025, 0.1024, 0.1026, 0.1064",\
                 "0.147, 0.1455, 0.1424, 0.1395, 0.1376, 0.1367, 0.1371, 0.1368, 0.1371, 0.1417",\
                 "0.1928, 0.1911, 0.1873, 0.184, 0.1814, 0.1797, 0.1791, 0.1797, 0.18, 0.1874",\
                 "0.2482, 0.2461, 0.2418, 0.2377, 0.2345, 0.2321, 0.231, 0.2306, 0.2324, 0.2428");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07644, 0.07551, 0.07368, 0.07233, 0.07139, 0.0707, 0.07024, 0.06991, 0.06968, 0.0695",\
                 "0.07643, 0.07551, 0.07372, 0.07236, 0.0714, 0.07074, 0.07027, 0.06994, 0.06968, 0.06952",\
                 "0.07869, 0.07777, 0.07604, 0.07474, 0.07386, 0.07325, 0.07282, 0.07252, 0.07228, 0.07214",\
                 "0.08584, 0.08473, 0.08268, 0.08119, 0.08025, 0.07963, 0.07921, 0.07891, 0.07869, 0.07854",\
                 "0.09843, 0.09714, 0.09476, 0.09298, 0.09183, 0.09112, 0.09068, 0.09036, 0.09014, 0.08998",\
                 "0.1152, 0.1139, 0.1115, 0.1096, 0.1085, 0.1078, 0.1074, 0.1071, 0.1069, 0.1067",\
                 "0.1379, 0.1366, 0.1342, 0.1324, 0.1313, 0.1306, 0.1301, 0.1298, 0.1296, 0.1295",\
                 "0.1668, 0.1655, 0.1631, 0.1612, 0.1601, 0.1594, 0.159, 0.1587, 0.1585, 0.1583",\
                 "0.203, 0.2017, 0.1991, 0.1971, 0.196, 0.1953, 0.195, 0.1947, 0.1945, 0.1944",\
                 "0.249, 0.2476, 0.245, 0.2428, 0.2415, 0.2408, 0.2406, 0.2404, 0.2404, 0.2403");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.09896, 0.09836, 0.09748, 0.09689, 0.09693, 0.09705, 0.09734, 0.09768, 0.09834, 0.1009",\
                 "0.09835, 0.09779, 0.09683, 0.09633, 0.0963, 0.09642, 0.09674, 0.09712, 0.09768, 0.1",\
                 "0.1005, 0.09986, 0.09902, 0.09852, 0.09842, 0.09857, 0.09882, 0.09919, 0.09979, 0.1025",\
                 "0.1079, 0.1074, 0.1064, 0.1059, 0.1059, 0.1061, 0.1064, 0.1066, 0.1072, 0.1104",\
                 "0.1211, 0.1206, 0.1197, 0.1191, 0.1191, 0.1192, 0.1195, 0.1199, 0.1205, 0.1235",\
                 "0.1407, 0.1401, 0.1391, 0.1387, 0.1385, 0.1385, 0.1389, 0.1394, 0.14, 0.1439",\
                 "0.1673, 0.1666, 0.1654, 0.1648, 0.1648, 0.165, 0.1651, 0.1653, 0.1663, 0.1713",\
                 "0.2016, 0.2009, 0.1996, 0.1987, 0.1986, 0.1989, 0.1994, 0.1996, 0.2002, 0.2083",\
                 "0.2462, 0.2453, 0.2438, 0.2429, 0.2427, 0.2427, 0.2437, 0.2442, 0.2456, 0.2575",\
                 "0.3016, 0.3007, 0.299, 0.2978, 0.2975, 0.2975, 0.2979, 0.2991, 0.302, 0.3238");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07644, 0.0755, 0.07368, 0.07235, 0.07137, 0.07072, 0.07025, 0.06991, 0.06966, 0.0695",\
                 "0.07643, 0.07551, 0.07372, 0.07236, 0.0714, 0.07074, 0.07027, 0.06994, 0.06968, 0.06952",\
                 "0.07869, 0.07778, 0.07604, 0.07474, 0.07386, 0.07325, 0.07282, 0.07252, 0.07228, 0.07214",\
                 "0.08584, 0.08473, 0.08268, 0.08119, 0.08025, 0.07964, 0.07921, 0.07891, 0.07869, 0.07854",\
                 "0.09843, 0.09714, 0.09477, 0.09298, 0.09183, 0.09113, 0.09068, 0.09036, 0.09014, 0.08998",\
                 "0.1152, 0.1139, 0.1115, 0.1096, 0.1085, 0.1078, 0.1074, 0.1071, 0.1069, 0.1067",\
                 "0.1379, 0.1366, 0.1342, 0.1324, 0.1313, 0.1306, 0.1301, 0.1298, 0.1296, 0.1295",\
                 "0.1668, 0.1655, 0.1631, 0.1613, 0.1601, 0.1594, 0.159, 0.1587, 0.1585, 0.1583",\
                 "0.203, 0.2017, 0.1991, 0.1971, 0.196, 0.1953, 0.195, 0.1947, 0.1945, 0.1944",\
                 "0.249, 0.2476, 0.245, 0.2428, 0.2415, 0.2408, 0.2406, 0.2404, 0.2404, 0.2403");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.09896, 0.09836, 0.09748, 0.09693, 0.09693, 0.09705, 0.09734, 0.09768, 0.09834, 0.1009",\
                 "0.09835, 0.09779, 0.09683, 0.09633, 0.0963, 0.09642, 0.09674, 0.09712, 0.09768, 0.1",\
                 "0.1005, 0.09986, 0.09902, 0.09852, 0.09842, 0.09857, 0.09882, 0.09919, 0.09979, 0.1025",\
                 "0.1079, 0.1074, 0.1064, 0.1059, 0.1059, 0.1061, 0.1063, 0.1066, 0.1072, 0.1104",\
                 "0.1211, 0.1206, 0.1197, 0.1191, 0.1191, 0.1192, 0.1195, 0.1199, 0.1205, 0.1235",\
                 "0.1407, 0.1402, 0.1391, 0.1387, 0.1385, 0.1386, 0.1389, 0.1394, 0.14, 0.1439",\
                 "0.1673, 0.1666, 0.1655, 0.1648, 0.1648, 0.165, 0.1651, 0.1653, 0.1661, 0.1714",\
                 "0.2016, 0.2009, 0.1996, 0.1988, 0.1986, 0.199, 0.1993, 0.1996, 0.2003, 0.2083",\
                 "0.2462, 0.2453, 0.2438, 0.2428, 0.2426, 0.2428, 0.2436, 0.2442, 0.2457, 0.2576",\
                 "0.3016, 0.3007, 0.299, 0.2979, 0.2975, 0.2975, 0.298, 0.2995, 0.3019, 0.323");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&!I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1075, 0.1067, 0.1052, 0.1041, 0.1034, 0.1029, 0.1026, 0.1023, 0.1022, 0.102",\
                 "0.1068, 0.1059, 0.1044, 0.1033, 0.1026, 0.1022, 0.1018, 0.1016, 0.1014, 0.1013",\
                 "0.1086, 0.1077, 0.1062, 0.1052, 0.1045, 0.1041, 0.1038, 0.1036, 0.1034, 0.1033",\
                 "0.1165, 0.1156, 0.1139, 0.1127, 0.112, 0.1116, 0.1113, 0.111, 0.1109, 0.1108",\
                 "0.1326, 0.1315, 0.1294, 0.1279, 0.1269, 0.1263, 0.1259, 0.1257, 0.1255, 0.1253",\
                 "0.1572, 0.1559, 0.1533, 0.1512, 0.1499, 0.1491, 0.1485, 0.1482, 0.1479, 0.1478",\
                 "0.1913, 0.1898, 0.1865, 0.1838, 0.182, 0.1808, 0.18, 0.1795, 0.1792, 0.1789",\
                 "0.2355, 0.2337, 0.2296, 0.2263, 0.2238, 0.2222, 0.2211, 0.2203, 0.2197, 0.2194",\
                 "0.2901, 0.288, 0.2833, 0.279, 0.2758, 0.2737, 0.2721, 0.271, 0.2703, 0.2697",\
                 "0.3557, 0.3534, 0.3479, 0.3426, 0.3387, 0.3359, 0.3339, 0.3324, 0.3313, 0.3306");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.03977, 0.03934, 0.03869, 0.03847, 0.03849, 0.03864, 0.03889, 0.03947, 0.03973, 0.04178",\
                 "0.03949, 0.03904, 0.03844, 0.03823, 0.03822, 0.03841, 0.0386, 0.03917, 0.03957, 0.04149",\
                 "0.04095, 0.0405, 0.03986, 0.03967, 0.03971, 0.03989, 0.04018, 0.04049, 0.04099, 0.04327",\
                 "0.04799, 0.04746, 0.04647, 0.04597, 0.04588, 0.046, 0.04632, 0.04653, 0.04712, 0.04916",\
                 "0.06121, 0.06039, 0.0589, 0.05822, 0.05776, 0.05768, 0.0579, 0.05818, 0.05869, 0.06147",\
                 "0.08164, 0.08059, 0.07868, 0.07716, 0.07674, 0.07646, 0.07642, 0.07649, 0.07689, 0.07988",\
                 "0.11, 0.1088, 0.1062, 0.1041, 0.1028, 0.1028, 0.1025, 0.1022, 0.1026, 0.107",\
                 "0.147, 0.1454, 0.1423, 0.1396, 0.1377, 0.1366, 0.1369, 0.1367, 0.137, 0.1415",\
                 "0.1928, 0.1911, 0.1873, 0.1839, 0.1815, 0.1798, 0.179, 0.1797, 0.1802, 0.1872",\
                 "0.2482, 0.246, 0.2418, 0.2376, 0.2344, 0.2321, 0.2309, 0.2305, 0.2321, 0.2427");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1075, 0.1067, 0.1052, 0.1041, 0.1034, 0.1029, 0.1026, 0.1023, 0.1022, 0.102",\
                 "0.1068, 0.1059, 0.1044, 0.1033, 0.1026, 0.1022, 0.1018, 0.1016, 0.1014, 0.1013",\
                 "0.1086, 0.1077, 0.1062, 0.1052, 0.1045, 0.1041, 0.1038, 0.1036, 0.1034, 0.1033",\
                 "0.1165, 0.1156, 0.1139, 0.1127, 0.112, 0.1116, 0.1113, 0.111, 0.1109, 0.1108",\
                 "0.1326, 0.1315, 0.1294, 0.1279, 0.1269, 0.1263, 0.1259, 0.1257, 0.1255, 0.1253",\
                 "0.1572, 0.1559, 0.1533, 0.1512, 0.1499, 0.1491, 0.1485, 0.1482, 0.1479, 0.1478",\
                 "0.1913, 0.1898, 0.1865, 0.1838, 0.182, 0.1808, 0.18, 0.1795, 0.1792, 0.1789",\
                 "0.2355, 0.2337, 0.2296, 0.2263, 0.2238, 0.2221, 0.221, 0.2202, 0.2197, 0.2193",\
                 "0.2901, 0.288, 0.2833, 0.279, 0.2758, 0.2737, 0.2721, 0.2711, 0.2703, 0.2697",\
                 "0.3557, 0.3534, 0.3479, 0.3427, 0.3387, 0.3359, 0.3339, 0.3324, 0.3313, 0.3306");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.03979, 0.03931, 0.03873, 0.03845, 0.03852, 0.03867, 0.03896, 0.03943, 0.03983, 0.04182",\
                 "0.0395, 0.03904, 0.03843, 0.03823, 0.03826, 0.03837, 0.03866, 0.03894, 0.0394, 0.0421",\
                 "0.04095, 0.0405, 0.03986, 0.03966, 0.03971, 0.03989, 0.04018, 0.04049, 0.04099, 0.04327",\
                 "0.048, 0.04746, 0.04647, 0.04597, 0.04595, 0.046, 0.04632, 0.04656, 0.04703, 0.04943",\
                 "0.06121, 0.06039, 0.0589, 0.05822, 0.05776, 0.05768, 0.0579, 0.05818, 0.05869, 0.06147",\
                 "0.08164, 0.08059, 0.07867, 0.07716, 0.07674, 0.07646, 0.07642, 0.07649, 0.07689, 0.07988",\
                 "0.1101, 0.1088, 0.1062, 0.1042, 0.1028, 0.1028, 0.1027, 0.1024, 0.1028, 0.1064",\
                 "0.147, 0.1454, 0.1423, 0.1396, 0.1376, 0.1366, 0.1369, 0.1367, 0.137, 0.1415",\
                 "0.1928, 0.191, 0.1873, 0.184, 0.1815, 0.1797, 0.179, 0.1796, 0.1803, 0.1871",\
                 "0.2482, 0.246, 0.2418, 0.2377, 0.2344, 0.2321, 0.2309, 0.2306, 0.2321, 0.2429");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07641, 0.07548, 0.07375, 0.07239, 0.07142, 0.07076, 0.07029, 0.06994, 0.06971, 0.06952",\
                 "0.07643, 0.07551, 0.07372, 0.07236, 0.0714, 0.07074, 0.07027, 0.06994, 0.06968, 0.06952",\
                 "0.07869, 0.07778, 0.07604, 0.07474, 0.07386, 0.07325, 0.07282, 0.07252, 0.07228, 0.07214",\
                 "0.08584, 0.08473, 0.08268, 0.08119, 0.08024, 0.07963, 0.07921, 0.0789, 0.0787, 0.07855",\
                 "0.09843, 0.09714, 0.09477, 0.09298, 0.09183, 0.09112, 0.09068, 0.09036, 0.09014, 0.08998",\
                 "0.1152, 0.1139, 0.1115, 0.1096, 0.1085, 0.1078, 0.1074, 0.107, 0.1068, 0.1067",\
                 "0.1379, 0.1366, 0.1342, 0.1324, 0.1313, 0.1306, 0.1301, 0.1298, 0.1296, 0.1295",\
                 "0.1668, 0.1655, 0.1631, 0.1613, 0.1601, 0.1594, 0.1589, 0.1587, 0.1584, 0.1583",\
                 "0.203, 0.2017, 0.1991, 0.1971, 0.196, 0.1953, 0.195, 0.1947, 0.1945, 0.1944",\
                 "0.249, 0.2476, 0.245, 0.2428, 0.2415, 0.2408, 0.2406, 0.2404, 0.2404, 0.2403");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.09896, 0.09839, 0.09747, 0.0969, 0.0969, 0.09718, 0.09734, 0.09771, 0.09847, 0.1005",\
                 "0.09834, 0.09779, 0.09683, 0.09633, 0.0963, 0.09642, 0.09674, 0.09712, 0.09768, 0.1",\
                 "0.1005, 0.09986, 0.09902, 0.09852, 0.09842, 0.09857, 0.09882, 0.09919, 0.09979, 0.1025",\
                 "0.1079, 0.1074, 0.1065, 0.1059, 0.1059, 0.1061, 0.1064, 0.1067, 0.1072, 0.1104",\
                 "0.1211, 0.1206, 0.1197, 0.1191, 0.1191, 0.1192, 0.1195, 0.12, 0.1202, 0.1233",\
                 "0.1407, 0.1401, 0.1391, 0.1387, 0.1385, 0.1385, 0.1389, 0.1394, 0.14, 0.1439",\
                 "0.1673, 0.1666, 0.1654, 0.1648, 0.1648, 0.165, 0.1651, 0.1654, 0.1659, 0.1715",\
                 "0.2016, 0.2009, 0.1996, 0.1989, 0.1985, 0.199, 0.1994, 0.1997, 0.2002, 0.208",\
                 "0.2462, 0.2453, 0.2438, 0.2428, 0.2426, 0.2428, 0.2437, 0.244, 0.2454, 0.2573",\
                 "0.3016, 0.3007, 0.299, 0.2978, 0.2975, 0.2976, 0.2977, 0.2991, 0.3017, 0.3238");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07639, 0.07545, 0.07368, 0.07236, 0.07136, 0.07073, 0.07026, 0.06992, 0.06966, 0.0695",\
                 "0.07642, 0.07549, 0.07369, 0.07233, 0.07138, 0.07072, 0.07025, 0.06992, 0.06966, 0.0695",\
                 "0.07867, 0.07776, 0.07601, 0.07471, 0.07383, 0.07322, 0.07279, 0.07249, 0.07225, 0.0721",\
                 "0.08585, 0.08474, 0.08271, 0.08119, 0.08023, 0.07961, 0.07919, 0.07889, 0.07868, 0.07852",\
                 "0.09835, 0.0971, 0.09466, 0.09291, 0.09178, 0.09107, 0.09062, 0.09031, 0.0901, 0.08993",\
                 "0.1151, 0.1138, 0.1115, 0.1097, 0.1085, 0.1078, 0.1074, 0.1071, 0.1069, 0.1067",\
                 "0.1379, 0.1366, 0.1342, 0.1324, 0.1312, 0.1305, 0.1301, 0.1297, 0.1295, 0.1294",\
                 "0.1669, 0.1656, 0.1631, 0.1612, 0.16, 0.1593, 0.1589, 0.1586, 0.1584, 0.1583",\
                 "0.203, 0.2016, 0.1991, 0.1971, 0.196, 0.1953, 0.1948, 0.1946, 0.1944, 0.1943",\
                 "0.249, 0.2476, 0.245, 0.2429, 0.2415, 0.2408, 0.2405, 0.2404, 0.2403, 0.2403");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.09895, 0.09837, 0.09742, 0.09697, 0.0969, 0.09715, 0.09734, 0.09774, 0.09831, 0.1007",\
                 "0.09835, 0.09779, 0.09682, 0.09638, 0.09627, 0.09642, 0.09671, 0.09708, 0.09768, 0.09986",\
                 "0.1005, 0.09988, 0.09902, 0.09848, 0.09845, 0.09863, 0.09895, 0.09946, 0.09976, 0.1021",\
                 "0.108, 0.1074, 0.1064, 0.1059, 0.1061, 0.1061, 0.1063, 0.1067, 0.1073, 0.1099",\
                 "0.1211, 0.1205, 0.1197, 0.1191, 0.119, 0.1192, 0.1195, 0.1201, 0.1203, 0.1236",\
                 "0.1407, 0.1401, 0.1391, 0.1387, 0.1385, 0.1386, 0.1389, 0.1395, 0.1399, 0.1439",\
                 "0.1673, 0.1667, 0.1655, 0.1649, 0.1648, 0.1651, 0.1651, 0.1653, 0.166, 0.1714",\
                 "0.2015, 0.2008, 0.1996, 0.1988, 0.1985, 0.199, 0.1993, 0.1997, 0.2002, 0.2083",\
                 "0.2462, 0.2453, 0.2438, 0.2428, 0.2427, 0.2427, 0.2434, 0.2441, 0.2456, 0.2572",\
                 "0.3016, 0.3007, 0.2991, 0.2979, 0.2975, 0.2975, 0.2978, 0.2992, 0.3023, 0.3236");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.07641, 0.07548, 0.07368, 0.07232, 0.07137, 0.07071, 0.07024, 0.0699, 0.06966, 0.06948",\
                 "0.07643, 0.07551, 0.07372, 0.07236, 0.0714, 0.07074, 0.07027, 0.06994, 0.06968, 0.06952",\
                 "0.07869, 0.07778, 0.07604, 0.07474, 0.07386, 0.07325, 0.07282, 0.07252, 0.07228, 0.07214",\
                 "0.08584, 0.08473, 0.08268, 0.08119, 0.08024, 0.07963, 0.07921, 0.07891, 0.0787, 0.07855",\
                 "0.09843, 0.09714, 0.09477, 0.093, 0.09183, 0.09113, 0.09068, 0.09036, 0.09014, 0.08998",\
                 "0.1152, 0.1139, 0.1115, 0.1097, 0.1085, 0.1078, 0.1074, 0.107, 0.1069, 0.1067",\
                 "0.1379, 0.1366, 0.1342, 0.1324, 0.1313, 0.1306, 0.1301, 0.1298, 0.1296, 0.1295",\
                 "0.1668, 0.1655, 0.1631, 0.1613, 0.1601, 0.1594, 0.1589, 0.1586, 0.1585, 0.1583",\
                 "0.203, 0.2017, 0.1991, 0.1971, 0.196, 0.1953, 0.195, 0.1947, 0.1945, 0.1944",\
                 "0.249, 0.2476, 0.245, 0.2428, 0.2415, 0.2408, 0.2406, 0.2404, 0.2404, 0.2403");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.09896, 0.09839, 0.09748, 0.09689, 0.0969, 0.09718, 0.09734, 0.09771, 0.09847, 0.1005",\
                 "0.09834, 0.09779, 0.09683, 0.09633, 0.0963, 0.09642, 0.09674, 0.09712, 0.09768, 0.1",\
                 "0.1005, 0.09986, 0.09902, 0.09852, 0.09842, 0.09857, 0.09882, 0.09919, 0.09979, 0.1025",\
                 "0.1079, 0.1074, 0.1065, 0.1059, 0.1059, 0.1061, 0.1064, 0.1067, 0.1072, 0.1104",\
                 "0.1211, 0.1205, 0.1197, 0.1191, 0.119, 0.1192, 0.1194, 0.12, 0.1202, 0.1233",\
                 "0.1407, 0.1401, 0.1391, 0.1387, 0.1385, 0.1386, 0.1389, 0.1394, 0.14, 0.1439",\
                 "0.1673, 0.1666, 0.1655, 0.1648, 0.1648, 0.165, 0.1651, 0.1654, 0.1661, 0.1715",\
                 "0.2016, 0.2009, 0.1996, 0.1988, 0.1985, 0.199, 0.1994, 0.1997, 0.2002, 0.208",\
                 "0.2461, 0.2453, 0.2438, 0.2428, 0.2426, 0.2428, 0.2436, 0.2442, 0.2457, 0.2576",\
                 "0.3016, 0.3007, 0.299, 0.2979, 0.2976, 0.2976, 0.298, 0.299, 0.3018, 0.323");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.0764, 0.07546, 0.07366, 0.07229, 0.07134, 0.07067, 0.07021, 0.06987, 0.06962, 0.06945",\
                 "0.07642, 0.07549, 0.07369, 0.07233, 0.07138, 0.07072, 0.07025, 0.06992, 0.06966, 0.0695",\
                 "0.07867, 0.07776, 0.07601, 0.07471, 0.07383, 0.07322, 0.07279, 0.07249, 0.07225, 0.0721",\
                 "0.08585, 0.08474, 0.08271, 0.08119, 0.08023, 0.07961, 0.07919, 0.07889, 0.07868, 0.07852",\
                 "0.09835, 0.0971, 0.09466, 0.09291, 0.09176, 0.09107, 0.09062, 0.09031, 0.0901, 0.08992",\
                 "0.1151, 0.1138, 0.1115, 0.1097, 0.1085, 0.1078, 0.1074, 0.1071, 0.1068, 0.1067",\
                 "0.1379, 0.1366, 0.1342, 0.1324, 0.1312, 0.1305, 0.1301, 0.1297, 0.1295, 0.1294",\
                 "0.1669, 0.1656, 0.1631, 0.1612, 0.16, 0.1593, 0.1589, 0.1586, 0.1584, 0.1582",\
                 "0.203, 0.2016, 0.1991, 0.1971, 0.196, 0.1953, 0.1948, 0.1947, 0.1944, 0.1943",\
                 "0.249, 0.2476, 0.245, 0.2429, 0.2415, 0.2408, 0.2405, 0.2404, 0.2403, 0.2403");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.09895, 0.09837, 0.09742, 0.09688, 0.09687, 0.09701, 0.09734, 0.09764, 0.09824, 0.1003",\
                 "0.09835, 0.09779, 0.09682, 0.09638, 0.09627, 0.09642, 0.09671, 0.09708, 0.09768, 0.09986",\
                 "0.1005, 0.09988, 0.09902, 0.09848, 0.09845, 0.09863, 0.09895, 0.09946, 0.09976, 0.1021",\
                 "0.1079, 0.1073, 0.1064, 0.1059, 0.1059, 0.1061, 0.1063, 0.1067, 0.1073, 0.1104",\
                 "0.1211, 0.1205, 0.1197, 0.1191, 0.1191, 0.1192, 0.1195, 0.1198, 0.1203, 0.1236",\
                 "0.1407, 0.1401, 0.1391, 0.1387, 0.1385, 0.1385, 0.1388, 0.1394, 0.1399, 0.1437",\
                 "0.1673, 0.1667, 0.1655, 0.1649, 0.1648, 0.1649, 0.1651, 0.1653, 0.166, 0.1714",\
                 "0.2015, 0.2008, 0.1996, 0.1988, 0.1985, 0.199, 0.1993, 0.1997, 0.2002, 0.2083",\
                 "0.2462, 0.2453, 0.2438, 0.2428, 0.2427, 0.2427, 0.2434, 0.2443, 0.2455, 0.2569",\
                 "0.3017, 0.3007, 0.2991, 0.2978, 0.2975, 0.2975, 0.2978, 0.2993, 0.3023, 0.3232");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7283, 0.7885, 0.9568, 1.199, 1.503, 1.876, 2.329, 2.88, 3.543, 4.331",\
                 "0.7452, 0.8053, 0.9739, 1.216, 1.521, 1.893, 2.346, 2.897, 3.561, 4.348",\
                 "0.8142, 0.8745, 1.043, 1.285, 1.59, 1.962, 2.415, 2.966, 3.63, 4.417",\
                 "0.9512, 1.011, 1.179, 1.422, 1.726, 2.098, 2.552, 3.103, 3.766, 4.554",\
                 "1.151, 1.211, 1.381, 1.623, 1.928, 2.3, 2.754, 3.305, 3.968, 4.755",\
                 "1.393, 1.455, 1.628, 1.876, 2.183, 2.556, 3.011, 3.561, 4.224, 5.011",\
                 "1.677, 1.741, 1.919, 2.172, 2.486, 2.863, 3.319, 3.871, 4.533, 5.32",\
                 "2.006, 2.073, 2.256, 2.518, 2.837, 3.22, 3.679, 4.232, 4.895, 5.681",\
                 "2.376, 2.447, 2.638, 2.911, 3.24, 3.628, 4.092, 4.647, 5.311, 6.097",\
                 "2.79, 2.863, 3.065, 3.349, 3.691, 4.09, 4.56, 5.118, 5.783, 6.57");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6172, 0.6636, 0.8057, 1.044, 1.395, 1.881, 2.518, 3.324, 4.305, 5.477",\
                 "0.6302, 0.6766, 0.8188, 1.058, 1.408, 1.893, 2.531, 3.337, 4.316, 5.487",\
                 "0.6743, 0.7207, 0.8627, 1.101, 1.452, 1.937, 2.575, 3.381, 4.362, 5.534",\
                 "0.7401, 0.7866, 0.9283, 1.167, 1.517, 2.002, 2.64, 3.446, 4.427, 5.6",\
                 "0.8085, 0.8558, 0.9992, 1.239, 1.589, 2.073, 2.712, 3.516, 4.499, 5.668",\
                 "0.8597, 0.9082, 1.054, 1.296, 1.647, 2.132, 2.769, 3.572, 4.555, 5.723",\
                 "0.887, 0.9372, 1.087, 1.331, 1.683, 2.167, 2.804, 3.607, 4.588, 5.76",\
                 "0.8829, 0.9356, 1.089, 1.338, 1.693, 2.176, 2.812, 3.614, 4.594, 5.763",\
                 "0.8419, 0.8975, 1.056, 1.311, 1.67, 2.156, 2.791, 3.592, 4.572, 5.74",\
                 "0.7596, 0.8185, 0.9842, 1.246, 1.61, 2.1, 2.738, 3.539, 4.517, 5.686");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2931, 0.3552, 0.5236, 0.7724, 1.126, 1.618, 2.284, 3.152, 4.242, 5.557",\
                 "0.2934, 0.3558, 0.5234, 0.773, 1.126, 1.618, 2.284, 3.152, 4.242, 5.557",\
                 "0.2931, 0.3554, 0.5242, 0.7728, 1.126, 1.619, 2.285, 3.153, 4.239, 5.559",\
                 "0.2938, 0.3562, 0.525, 0.773, 1.126, 1.62, 2.284, 3.152, 4.243, 5.555",\
                 "0.303, 0.3646, 0.5326, 0.7796, 1.13, 1.623, 2.287, 3.156, 4.241, 5.561",\
                 "0.3214, 0.3844, 0.5538, 0.7974, 1.144, 1.631, 2.293, 3.154, 4.244, 5.556",\
                 "0.3428, 0.406, 0.579, 0.824, 1.167, 1.645, 2.303, 3.161, 4.245, 5.56",\
                 "0.3706, 0.4366, 0.612, 0.8582, 1.198, 1.671, 2.318, 3.173, 4.251, 5.562",\
                 "0.4038, 0.4714, 0.6534, 0.9046, 1.237, 1.703, 2.342, 3.185, 4.256, 5.566",\
                 "0.4364, 0.5088, 0.6994, 0.9582, 1.29, 1.749, 2.375, 3.21, 4.265, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1992, 0.259, 0.4552, 0.8194, 1.407, 2.255, 3.381, 4.802, 6.54, 8.611",\
                 "0.1993, 0.2592, 0.4559, 0.8202, 1.407, 2.255, 3.38, 4.804, 6.539, 8.608",\
                 "0.1993, 0.2589, 0.4562, 0.8194, 1.407, 2.254, 3.381, 4.802, 6.539, 8.611",\
                 "0.1994, 0.2598, 0.4564, 0.8204, 1.41, 2.255, 3.381, 4.803, 6.54, 8.613",\
                 "0.2076, 0.2674, 0.4632, 0.824, 1.408, 2.26, 3.38, 4.804, 6.537, 8.623",\
                 "0.2194, 0.2784, 0.475, 0.8342, 1.413, 2.256, 3.381, 4.802, 6.548, 8.616",\
                 "0.234, 0.2926, 0.49, 0.8462, 1.42, 2.259, 3.387, 4.801, 6.538, 8.608",\
                 "0.2532, 0.3116, 0.5084, 0.8654, 1.431, 2.262, 3.382, 4.804, 6.538, 8.604",\
                 "0.2776, 0.3364, 0.5308, 0.8874, 1.449, 2.274, 3.388, 4.806, 6.536, 8.601",\
                 "0.3008, 0.3624, 0.5578, 0.9136, 1.474, 2.297, 3.402, 4.807, 6.536, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7283, 0.7883, 0.9569, 1.2, 1.504, 1.876, 2.329, 2.88, 3.543, 4.331",\
                 "0.7452, 0.8055, 0.974, 1.216, 1.521, 1.893, 2.346, 2.897, 3.561, 4.348",\
                 "0.8143, 0.8742, 1.042, 1.285, 1.589, 1.961, 2.415, 2.966, 3.63, 4.417",\
                 "0.9512, 1.011, 1.18, 1.422, 1.726, 2.098, 2.552, 3.103, 3.766, 4.554",\
                 "1.151, 1.212, 1.38, 1.623, 1.928, 2.3, 2.754, 3.305, 3.968, 4.755",\
                 "1.393, 1.455, 1.628, 1.875, 2.183, 2.556, 3.011, 3.561, 4.224, 5.011",\
                 "1.677, 1.741, 1.919, 2.172, 2.486, 2.863, 3.319, 3.871, 4.533, 5.32",\
                 "2.006, 2.073, 2.256, 2.518, 2.837, 3.22, 3.679, 4.232, 4.895, 5.681",\
                 "2.376, 2.447, 2.638, 2.911, 3.24, 3.628, 4.092, 4.647, 5.311, 6.097",\
                 "2.79, 2.863, 3.065, 3.349, 3.691, 4.09, 4.559, 5.118, 5.783, 6.57");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6171, 0.6636, 0.8057, 1.044, 1.395, 1.88, 2.518, 3.324, 4.303, 5.478",\
                 "0.6302, 0.6766, 0.8188, 1.058, 1.408, 1.893, 2.531, 3.337, 4.316, 5.487",\
                 "0.6742, 0.7206, 0.8627, 1.101, 1.452, 1.937, 2.575, 3.381, 4.361, 5.53",\
                 "0.7401, 0.7866, 0.9283, 1.167, 1.517, 2.002, 2.64, 3.446, 4.427, 5.6",\
                 "0.8085, 0.8559, 0.9992, 1.239, 1.589, 2.073, 2.711, 3.516, 4.498, 5.666",\
                 "0.8597, 0.9082, 1.054, 1.296, 1.647, 2.132, 2.769, 3.572, 4.555, 5.723",\
                 "0.887, 0.9372, 1.087, 1.331, 1.683, 2.168, 2.804, 3.607, 4.588, 5.76",\
                 "0.8831, 0.9356, 1.089, 1.338, 1.693, 2.177, 2.812, 3.614, 4.594, 5.763",\
                 "0.8419, 0.8975, 1.056, 1.311, 1.67, 2.156, 2.791, 3.592, 4.572, 5.74",\
                 "0.7596, 0.8185, 0.9841, 1.246, 1.61, 2.1, 2.738, 3.539, 4.517, 5.686");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2931, 0.3557, 0.5235, 0.7734, 1.126, 1.618, 2.285, 3.155, 4.242, 5.559",\
                 "0.2939, 0.3551, 0.5234, 0.773, 1.126, 1.619, 2.284, 3.152, 4.242, 5.557",\
                 "0.2933, 0.3559, 0.5236, 0.772, 1.126, 1.619, 2.285, 3.154, 4.241, 5.555",\
                 "0.2938, 0.3562, 0.5244, 0.774, 1.126, 1.619, 2.285, 3.151, 4.243, 5.555",\
                 "0.3026, 0.3646, 0.5328, 0.7788, 1.131, 1.621, 2.287, 3.156, 4.241, 5.561",\
                 "0.3212, 0.3846, 0.5544, 0.7974, 1.143, 1.63, 2.291, 3.154, 4.244, 5.557",\
                 "0.343, 0.4068, 0.5798, 0.8252, 1.167, 1.647, 2.303, 3.163, 4.244, 5.562",\
                 "0.3706, 0.4356, 0.612, 0.8584, 1.198, 1.671, 2.318, 3.173, 4.251, 5.56",\
                 "0.4038, 0.471, 0.6534, 0.9042, 1.237, 1.701, 2.342, 3.185, 4.256, 5.566",\
                 "0.4364, 0.5088, 0.6994, 0.958, 1.29, 1.75, 2.375, 3.21, 4.267, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1994, 0.2591, 0.4565, 0.8193, 1.407, 2.255, 3.381, 4.804, 6.539, 8.613",\
                 "0.1993, 0.2592, 0.4559, 0.8202, 1.407, 2.255, 3.38, 4.804, 6.539, 8.608",\
                 "0.1992, 0.2594, 0.4555, 0.82, 1.407, 2.255, 3.38, 4.804, 6.542, 8.616",\
                 "0.1994, 0.2598, 0.4564, 0.8204, 1.41, 2.255, 3.381, 4.803, 6.54, 8.613",\
                 "0.2076, 0.2674, 0.4632, 0.8246, 1.408, 2.26, 3.38, 4.804, 6.54, 8.611",\
                 "0.2194, 0.2784, 0.475, 0.8342, 1.413, 2.256, 3.381, 4.802, 6.548, 8.616",\
                 "0.234, 0.2926, 0.49, 0.8462, 1.422, 2.259, 3.382, 4.801, 6.539, 8.608",\
                 "0.2526, 0.3116, 0.5096, 0.865, 1.43, 2.262, 3.382, 4.803, 6.534, 8.605",\
                 "0.2776, 0.336, 0.531, 0.8876, 1.449, 2.274, 3.386, 4.804, 6.536, 8.603",\
                 "0.3008, 0.3624, 0.5574, 0.9144, 1.474, 2.296, 3.402, 4.807, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7283, 0.7883, 0.9569, 1.2, 1.504, 1.876, 2.329, 2.88, 3.543, 4.331",\
                 "0.7453, 0.8055, 0.974, 1.216, 1.521, 1.893, 2.346, 2.897, 3.561, 4.348",\
                 "0.8142, 0.8742, 1.043, 1.285, 1.589, 1.961, 2.415, 2.966, 3.63, 4.417",\
                 "0.9511, 1.011, 1.179, 1.422, 1.726, 2.098, 2.552, 3.103, 3.766, 4.553",\
                 "1.151, 1.212, 1.38, 1.624, 1.928, 2.3, 2.754, 3.305, 3.968, 4.755",\
                 "1.393, 1.455, 1.628, 1.876, 2.183, 2.556, 3.01, 3.561, 4.224, 5.011",\
                 "1.677, 1.741, 1.919, 2.172, 2.486, 2.863, 3.319, 3.87, 4.533, 5.32",\
                 "2.006, 2.073, 2.256, 2.518, 2.837, 3.219, 3.679, 4.232, 4.895, 5.681",\
                 "2.376, 2.447, 2.638, 2.911, 3.239, 3.628, 4.092, 4.647, 5.311, 6.097",\
                 "2.79, 2.864, 3.065, 3.35, 3.69, 4.09, 4.56, 5.118, 5.783, 6.569");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6171, 0.6635, 0.8056, 1.044, 1.395, 1.881, 2.518, 3.324, 4.306, 5.478",\
                 "0.6301, 0.6766, 0.8188, 1.057, 1.408, 1.893, 2.531, 3.337, 4.316, 5.487",\
                 "0.6741, 0.7205, 0.8627, 1.101, 1.452, 1.937, 2.576, 3.379, 4.363, 5.53",\
                 "0.7401, 0.7864, 0.9283, 1.167, 1.517, 2.002, 2.64, 3.446, 4.426, 5.599",\
                 "0.8085, 0.8558, 0.9992, 1.239, 1.589, 2.073, 2.711, 3.516, 4.497, 5.666",\
                 "0.8597, 0.9082, 1.054, 1.296, 1.647, 2.132, 2.769, 3.572, 4.557, 5.724",\
                 "0.887, 0.9371, 1.087, 1.331, 1.683, 2.167, 2.804, 3.607, 4.588, 5.76",\
                 "0.8829, 0.9353, 1.089, 1.338, 1.693, 2.176, 2.812, 3.615, 4.594, 5.764",\
                 "0.8419, 0.8974, 1.056, 1.311, 1.67, 2.156, 2.791, 3.593, 4.572, 5.74",\
                 "0.7598, 0.8185, 0.9841, 1.246, 1.61, 2.1, 2.738, 3.539, 4.517, 5.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2931, 0.3557, 0.5235, 0.7718, 1.126, 1.619, 2.286, 3.151, 4.242, 5.554",\
                 "0.2931, 0.3551, 0.5234, 0.7724, 1.126, 1.619, 2.284, 3.151, 4.243, 5.558",\
                 "0.2933, 0.3559, 0.524, 0.7714, 1.126, 1.62, 2.285, 3.155, 4.239, 5.559",\
                 "0.2938, 0.3562, 0.5246, 0.7734, 1.126, 1.618, 2.284, 3.152, 4.242, 5.556",\
                 "0.303, 0.3648, 0.533, 0.7794, 1.131, 1.623, 2.287, 3.156, 4.24, 5.561",\
                 "0.3212, 0.3846, 0.5536, 0.7974, 1.144, 1.63, 2.292, 3.158, 4.245, 5.558",\
                 "0.3428, 0.407, 0.5796, 0.8244, 1.166, 1.647, 2.303, 3.161, 4.245, 5.562",\
                 "0.3706, 0.4356, 0.612, 0.858, 1.198, 1.67, 2.317, 3.171, 4.249, 5.562",\
                 "0.4036, 0.4706, 0.6534, 0.9044, 1.236, 1.702, 2.342, 3.186, 4.254, 5.566",\
                 "0.4372, 0.5094, 0.6988, 0.957, 1.291, 1.75, 2.376, 3.205, 4.266, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1993, 0.2593, 0.456, 0.82, 1.407, 2.255, 3.381, 4.803, 6.541, 8.613",\
                 "0.1993, 0.2592, 0.4559, 0.8201, 1.408, 2.255, 3.38, 4.805, 6.539, 8.608",\
                 "0.1994, 0.2592, 0.4566, 0.8196, 1.407, 2.255, 3.382, 4.803, 6.54, 8.617",\
                 "0.2004, 0.2588, 0.4562, 0.8202, 1.409, 2.253, 3.382, 4.802, 6.537, 8.61",\
                 "0.2084, 0.2678, 0.4634, 0.824, 1.41, 2.26, 3.38, 4.804, 6.544, 8.609",\
                 "0.2194, 0.2784, 0.475, 0.8342, 1.414, 2.256, 3.381, 4.802, 6.536, 8.621",\
                 "0.2342, 0.2924, 0.4906, 0.8462, 1.421, 2.26, 3.386, 4.801, 6.539, 8.62",\
                 "0.2534, 0.312, 0.5084, 0.8644, 1.43, 2.264, 3.382, 4.804, 6.548, 8.602",\
                 "0.2776, 0.3364, 0.5308, 0.8868, 1.45, 2.274, 3.387, 4.805, 6.537, 8.619",\
                 "0.3012, 0.3618, 0.5572, 0.9144, 1.476, 2.297, 3.4, 4.807, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7283, 0.7883, 0.9569, 1.199, 1.504, 1.876, 2.329, 2.88, 3.544, 4.331",\
                 "0.7452, 0.8054, 0.974, 1.217, 1.52, 1.892, 2.346, 2.897, 3.56, 4.348",\
                 "0.8143, 0.8743, 1.043, 1.285, 1.59, 1.962, 2.415, 2.966, 3.63, 4.417",\
                 "0.9512, 1.011, 1.179, 1.422, 1.726, 2.098, 2.552, 3.103, 3.766, 4.554",\
                 "1.151, 1.211, 1.381, 1.623, 1.928, 2.3, 2.754, 3.305, 3.968, 4.755",\
                 "1.393, 1.455, 1.628, 1.876, 2.183, 2.556, 3.01, 3.561, 4.224, 5.011",\
                 "1.677, 1.741, 1.919, 2.173, 2.486, 2.863, 3.319, 3.871, 4.533, 5.32",\
                 "2.006, 2.073, 2.256, 2.518, 2.837, 3.22, 3.679, 4.232, 4.895, 5.681",\
                 "2.376, 2.447, 2.638, 2.911, 3.239, 3.628, 4.092, 4.647, 5.311, 6.097",\
                 "2.79, 2.864, 3.064, 3.349, 3.69, 4.09, 4.56, 5.118, 5.783, 6.569");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6171, 0.6636, 0.8056, 1.044, 1.395, 1.88, 2.518, 3.324, 4.303, 5.475",\
                 "0.6301, 0.6766, 0.8188, 1.057, 1.408, 1.893, 2.531, 3.337, 4.316, 5.487",\
                 "0.6741, 0.7205, 0.8627, 1.101, 1.452, 1.937, 2.576, 3.379, 4.363, 5.531",\
                 "0.7401, 0.7863, 0.9282, 1.167, 1.517, 2.002, 2.64, 3.446, 4.425, 5.598",\
                 "0.8085, 0.8558, 0.9992, 1.239, 1.589, 2.073, 2.711, 3.516, 4.497, 5.666",\
                 "0.8597, 0.9082, 1.054, 1.296, 1.647, 2.132, 2.769, 3.572, 4.555, 5.724",\
                 "0.887, 0.9371, 1.087, 1.331, 1.683, 2.167, 2.804, 3.607, 4.588, 5.759",\
                 "0.8831, 0.9357, 1.089, 1.338, 1.693, 2.177, 2.812, 3.615, 4.594, 5.763",\
                 "0.8419, 0.8974, 1.056, 1.311, 1.67, 2.156, 2.791, 3.592, 4.572, 5.74",\
                 "0.7598, 0.8185, 0.9841, 1.246, 1.61, 2.1, 2.738, 3.539, 4.517, 5.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2931, 0.3557, 0.5235, 0.7718, 1.126, 1.619, 2.286, 3.155, 4.243, 5.557",\
                 "0.2934, 0.3554, 0.5237, 0.772, 1.126, 1.62, 2.286, 3.153, 4.242, 5.561",\
                 "0.2933, 0.3557, 0.5236, 0.7726, 1.126, 1.619, 2.285, 3.153, 4.239, 5.559",\
                 "0.2938, 0.356, 0.5248, 0.7734, 1.126, 1.619, 2.284, 3.152, 4.242, 5.557",\
                 "0.3032, 0.3646, 0.5326, 0.7786, 1.13, 1.623, 2.287, 3.156, 4.24, 5.561",\
                 "0.3214, 0.3844, 0.5536, 0.7974, 1.143, 1.629, 2.293, 3.158, 4.243, 5.56",\
                 "0.343, 0.4064, 0.5794, 0.8266, 1.167, 1.647, 2.303, 3.161, 4.245, 5.562",\
                 "0.3706, 0.4356, 0.612, 0.8578, 1.198, 1.67, 2.317, 3.171, 4.248, 5.557",\
                 "0.4038, 0.4708, 0.6534, 0.9042, 1.236, 1.703, 2.342, 3.185, 4.254, 5.566",\
                 "0.437, 0.5094, 0.6998, 0.9578, 1.291, 1.75, 2.375, 3.207, 4.267, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1993, 0.2591, 0.4561, 0.8202, 1.407, 2.255, 3.381, 4.802, 6.536, 8.607",\
                 "0.1993, 0.2592, 0.4559, 0.8201, 1.408, 2.255, 3.38, 4.805, 6.539, 8.608",\
                 "0.1994, 0.2592, 0.4566, 0.8198, 1.408, 2.255, 3.382, 4.802, 6.54, 8.617",\
                 "0.2004, 0.2592, 0.4562, 0.8198, 1.408, 2.254, 3.381, 4.802, 6.536, 8.608",\
                 "0.2084, 0.2678, 0.4634, 0.824, 1.409, 2.26, 3.38, 4.804, 6.544, 8.609",\
                 "0.2194, 0.2784, 0.475, 0.8342, 1.414, 2.256, 3.381, 4.802, 6.547, 8.621",\
                 "0.2342, 0.2924, 0.4906, 0.8462, 1.419, 2.26, 3.381, 4.799, 6.539, 8.62",\
                 "0.2538, 0.3128, 0.5084, 0.8644, 1.431, 2.264, 3.381, 4.803, 6.548, 8.605",\
                 "0.2776, 0.336, 0.5308, 0.8874, 1.45, 2.274, 3.387, 4.802, 6.535, 8.611",\
                 "0.3012, 0.3618, 0.5572, 0.9144, 1.474, 2.296, 3.402, 4.808, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7283, 0.7883, 0.9569, 1.2, 1.504, 1.876, 2.329, 2.88, 3.544, 4.331",\
                 "0.7452, 0.8055, 0.974, 1.216, 1.521, 1.893, 2.346, 2.897, 3.561, 4.348",\
                 "0.8141, 0.8745, 1.043, 1.285, 1.59, 1.961, 2.415, 2.966, 3.63, 4.417",\
                 "0.9512, 1.011, 1.18, 1.422, 1.726, 2.098, 2.552, 3.103, 3.766, 4.554",\
                 "1.151, 1.212, 1.38, 1.623, 1.928, 2.3, 2.754, 3.305, 3.968, 4.755",\
                 "1.393, 1.455, 1.628, 1.876, 2.183, 2.557, 3.011, 3.561, 4.224, 5.011",\
                 "1.677, 1.742, 1.919, 2.172, 2.485, 2.863, 3.319, 3.871, 4.533, 5.32",\
                 "2.006, 2.073, 2.257, 2.518, 2.837, 3.22, 3.679, 4.232, 4.895, 5.681",\
                 "2.377, 2.447, 2.638, 2.911, 3.239, 3.628, 4.092, 4.647, 5.311, 6.097",\
                 "2.79, 2.864, 3.065, 3.349, 3.691, 4.09, 4.56, 5.118, 5.783, 6.57");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6171, 0.6635, 0.8056, 1.044, 1.395, 1.881, 2.518, 3.324, 4.304, 5.473",\
                 "0.6302, 0.6766, 0.8187, 1.057, 1.408, 1.894, 2.531, 3.337, 4.317, 5.489",\
                 "0.6742, 0.7205, 0.8627, 1.101, 1.452, 1.937, 2.576, 3.379, 4.363, 5.53",\
                 "0.7401, 0.7866, 0.9283, 1.167, 1.517, 2.002, 2.64, 3.446, 4.427, 5.6",\
                 "0.8085, 0.8559, 0.9992, 1.239, 1.589, 2.073, 2.711, 3.516, 4.497, 5.666",\
                 "0.8597, 0.9082, 1.054, 1.296, 1.647, 2.132, 2.769, 3.572, 4.556, 5.726",\
                 "0.887, 0.9372, 1.087, 1.331, 1.683, 2.167, 2.804, 3.607, 4.589, 5.757",\
                 "0.883, 0.9353, 1.089, 1.338, 1.693, 2.177, 2.812, 3.615, 4.595, 5.764",\
                 "0.8419, 0.8975, 1.056, 1.311, 1.67, 2.156, 2.791, 3.592, 4.572, 5.74",\
                 "0.7598, 0.8185, 0.9841, 1.246, 1.61, 2.1, 2.738, 3.539, 4.517, 5.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2931, 0.3557, 0.5237, 0.7732, 1.126, 1.619, 2.286, 3.154, 4.241, 5.553",\
                 "0.294, 0.3552, 0.5234, 0.773, 1.126, 1.618, 2.284, 3.152, 4.242, 5.557",\
                 "0.2937, 0.3554, 0.5242, 0.772, 1.126, 1.619, 2.285, 3.154, 4.239, 5.559",\
                 "0.2938, 0.356, 0.525, 0.7732, 1.126, 1.619, 2.284, 3.152, 4.242, 5.556",\
                 "0.303, 0.3648, 0.5332, 0.7788, 1.131, 1.621, 2.287, 3.156, 4.24, 5.561",\
                 "0.3214, 0.3844, 0.5542, 0.797, 1.144, 1.63, 2.291, 3.158, 4.245, 5.559",\
                 "0.3428, 0.4066, 0.5798, 0.8252, 1.166, 1.647, 2.3, 3.163, 4.245, 5.562",\
                 "0.3706, 0.4366, 0.6124, 0.8582, 1.198, 1.671, 2.318, 3.173, 4.251, 5.557",\
                 "0.4032, 0.4714, 0.6532, 0.904, 1.237, 1.702, 2.342, 3.185, 4.253, 5.566",\
                 "0.4364, 0.509, 0.7002, 0.958, 1.29, 1.75, 2.375, 3.21, 4.267, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1993, 0.2592, 0.456, 0.8204, 1.407, 2.254, 3.381, 4.802, 6.543, 8.615",\
                 "0.1994, 0.2593, 0.4559, 0.8194, 1.407, 2.255, 3.381, 4.801, 6.536, 8.607",\
                 "0.1994, 0.2592, 0.4565, 0.8198, 1.407, 2.255, 3.382, 4.803, 6.54, 8.616",\
                 "0.1994, 0.2598, 0.4564, 0.8204, 1.41, 2.255, 3.381, 4.803, 6.54, 8.613",\
                 "0.2076, 0.2674, 0.4632, 0.824, 1.408, 2.26, 3.381, 4.804, 6.545, 8.611",\
                 "0.2194, 0.2784, 0.475, 0.8342, 1.413, 2.256, 3.382, 4.802, 6.542, 8.606",\
                 "0.234, 0.2926, 0.49, 0.8462, 1.42, 2.259, 3.382, 4.802, 6.535, 8.604",\
                 "0.254, 0.313, 0.5076, 0.8646, 1.43, 2.263, 3.382, 4.8, 6.546, 8.602",\
                 "0.2776, 0.336, 0.5308, 0.8876, 1.451, 2.275, 3.387, 4.804, 6.536, 8.599",\
                 "0.3012, 0.3618, 0.5574, 0.9144, 1.474, 2.296, 3.4, 4.807, 6.534, 8.598");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7283, 0.7883, 0.957, 1.199, 1.504, 1.876, 2.329, 2.88, 3.544, 4.331",\
                 "0.7452, 0.8053, 0.974, 1.216, 1.521, 1.893, 2.346, 2.897, 3.561, 4.348",\
                 "0.8143, 0.8742, 1.042, 1.285, 1.589, 1.961, 2.415, 2.966, 3.63, 4.417",\
                 "0.9513, 1.011, 1.18, 1.422, 1.726, 2.098, 2.552, 3.103, 3.766, 4.554",\
                 "1.151, 1.212, 1.38, 1.623, 1.928, 2.3, 2.754, 3.305, 3.968, 4.755",\
                 "1.393, 1.455, 1.628, 1.876, 2.183, 2.556, 3.01, 3.561, 4.225, 5.011",\
                 "1.677, 1.742, 1.919, 2.173, 2.485, 2.863, 3.319, 3.87, 4.533, 5.32",\
                 "2.006, 2.073, 2.257, 2.518, 2.837, 3.22, 3.679, 4.232, 4.895, 5.681",\
                 "2.376, 2.447, 2.638, 2.911, 3.239, 3.628, 4.092, 4.647, 5.311, 6.097",\
                 "2.79, 2.864, 3.065, 3.349, 3.691, 4.09, 4.56, 5.118, 5.782, 6.569");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6172, 0.6636, 0.8058, 1.044, 1.395, 1.881, 2.518, 3.324, 4.303, 5.474",\
                 "0.6302, 0.6766, 0.8187, 1.057, 1.408, 1.894, 2.531, 3.337, 4.317, 5.489",\
                 "0.6742, 0.7205, 0.8628, 1.101, 1.452, 1.937, 2.575, 3.381, 4.36, 5.533",\
                 "0.7401, 0.7866, 0.9283, 1.167, 1.517, 2.002, 2.64, 3.446, 4.427, 5.6",\
                 "0.8085, 0.8559, 0.9993, 1.239, 1.589, 2.073, 2.711, 3.516, 4.498, 5.666",\
                 "0.8597, 0.9082, 1.054, 1.296, 1.647, 2.132, 2.769, 3.572, 4.556, 5.726",\
                 "0.887, 0.9372, 1.087, 1.331, 1.683, 2.167, 2.804, 3.607, 4.588, 5.76",\
                 "0.8829, 0.9352, 1.089, 1.338, 1.693, 2.177, 2.812, 3.615, 4.595, 5.764",\
                 "0.8419, 0.8975, 1.056, 1.311, 1.67, 2.156, 2.791, 3.592, 4.572, 5.74",\
                 "0.7598, 0.8185, 0.9841, 1.246, 1.61, 2.1, 2.738, 3.539, 4.517, 5.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2931, 0.3557, 0.5238, 0.7728, 1.126, 1.62, 2.284, 3.151, 4.243, 5.553",\
                 "0.2937, 0.3557, 0.5235, 0.771, 1.126, 1.618, 2.284, 3.151, 4.243, 5.554",\
                 "0.2933, 0.3559, 0.5236, 0.772, 1.126, 1.619, 2.285, 3.154, 4.241, 5.558",\
                 "0.2938, 0.3566, 0.5244, 0.7738, 1.127, 1.619, 2.284, 3.151, 4.243, 5.556",\
                 "0.3028, 0.365, 0.5328, 0.779, 1.131, 1.623, 2.287, 3.156, 4.241, 5.561",\
                 "0.3212, 0.3842, 0.5544, 0.797, 1.145, 1.63, 2.293, 3.154, 4.245, 5.56",\
                 "0.3424, 0.4066, 0.5798, 0.8252, 1.167, 1.647, 2.303, 3.163, 4.244, 5.562",\
                 "0.3706, 0.4356, 0.6124, 0.8584, 1.198, 1.671, 2.318, 3.171, 4.247, 5.557",\
                 "0.403, 0.471, 0.6532, 0.9038, 1.237, 1.702, 2.341, 3.185, 4.253, 5.562",\
                 "0.4364, 0.509, 0.7004, 0.9582, 1.29, 1.75, 2.378, 3.209, 4.267, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1993, 0.2591, 0.4548, 0.82, 1.408, 2.255, 3.381, 4.803, 6.54, 8.609",\
                 "0.1994, 0.2593, 0.4559, 0.8194, 1.407, 2.255, 3.381, 4.801, 6.536, 8.606",\
                 "0.1987, 0.2579, 0.4553, 0.8202, 1.408, 2.26, 3.381, 4.804, 6.536, 8.606",\
                 "0.1994, 0.2598, 0.4564, 0.8204, 1.41, 2.255, 3.381, 4.803, 6.54, 8.613",\
                 "0.2076, 0.2674, 0.4632, 0.824, 1.408, 2.26, 3.38, 4.804, 6.54, 8.611",\
                 "0.2194, 0.2784, 0.475, 0.8342, 1.413, 2.256, 3.382, 4.802, 6.542, 8.606",\
                 "0.234, 0.2926, 0.49, 0.8462, 1.422, 2.259, 3.386, 4.801, 6.539, 8.61",\
                 "0.2536, 0.3124, 0.5078, 0.8646, 1.43, 2.263, 3.382, 4.804, 6.546, 8.604",\
                 "0.2776, 0.336, 0.5308, 0.8876, 1.449, 2.275, 3.387, 4.804, 6.536, 8.599",\
                 "0.3012, 0.3618, 0.5574, 0.9144, 1.474, 2.296, 3.4, 4.807, 6.534, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7283, 0.7883, 0.9569, 1.2, 1.504, 1.876, 2.329, 2.88, 3.544, 4.331",\
                 "0.7452, 0.8055, 0.974, 1.216, 1.521, 1.893, 2.346, 2.897, 3.561, 4.348",\
                 "0.8143, 0.8743, 1.042, 1.285, 1.59, 1.961, 2.415, 2.966, 3.63, 4.417",\
                 "0.9512, 1.011, 1.18, 1.422, 1.726, 2.098, 2.552, 3.103, 3.766, 4.553",\
                 "1.151, 1.212, 1.38, 1.624, 1.928, 2.3, 2.754, 3.305, 3.968, 4.755",\
                 "1.393, 1.455, 1.628, 1.876, 2.183, 2.556, 3.011, 3.562, 4.224, 5.011",\
                 "1.677, 1.741, 1.919, 2.173, 2.486, 2.863, 3.319, 3.871, 4.533, 5.32",\
                 "2.006, 2.073, 2.256, 2.518, 2.837, 3.22, 3.679, 4.231, 4.895, 5.681",\
                 "2.376, 2.447, 2.639, 2.911, 3.239, 3.628, 4.092, 4.647, 5.311, 6.097",\
                 "2.79, 2.864, 3.064, 3.35, 3.69, 4.09, 4.56, 5.118, 5.783, 6.569");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6171, 0.6636, 0.8057, 1.044, 1.395, 1.881, 2.518, 3.323, 4.303, 5.474",\
                 "0.6301, 0.6765, 0.8188, 1.057, 1.408, 1.893, 2.531, 3.337, 4.316, 5.487",\
                 "0.6741, 0.7205, 0.8627, 1.101, 1.452, 1.937, 2.576, 3.378, 4.363, 5.531",\
                 "0.7401, 0.7863, 0.9282, 1.167, 1.517, 2.002, 2.64, 3.446, 4.427, 5.6",\
                 "0.8085, 0.8558, 0.9992, 1.239, 1.589, 2.073, 2.711, 3.516, 4.497, 5.666",\
                 "0.8597, 0.9082, 1.054, 1.296, 1.647, 2.132, 2.769, 3.572, 4.555, 5.728",\
                 "0.887, 0.9371, 1.087, 1.331, 1.683, 2.167, 2.804, 3.607, 4.588, 5.761",\
                 "0.8828, 0.9352, 1.089, 1.338, 1.693, 2.177, 2.812, 3.615, 4.594, 5.763",\
                 "0.8419, 0.8974, 1.057, 1.311, 1.67, 2.156, 2.791, 3.593, 4.571, 5.74",\
                 "0.7598, 0.8185, 0.9841, 1.246, 1.61, 2.1, 2.738, 3.539, 4.517, 5.686");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2931, 0.3557, 0.5235, 0.7732, 1.126, 1.619, 2.286, 3.154, 4.243, 5.558",\
                 "0.2938, 0.3553, 0.5236, 0.7722, 1.126, 1.618, 2.285, 3.152, 4.238, 5.561",\
                 "0.2933, 0.3558, 0.5236, 0.772, 1.126, 1.619, 2.285, 3.154, 4.239, 5.559",\
                 "0.2938, 0.3566, 0.5246, 0.772, 1.127, 1.62, 2.286, 3.153, 4.242, 5.561",\
                 "0.303, 0.3648, 0.533, 0.7794, 1.13, 1.623, 2.287, 3.156, 4.241, 5.561",\
                 "0.321, 0.3844, 0.5536, 0.797, 1.144, 1.629, 2.291, 3.158, 4.24, 5.561",\
                 "0.3438, 0.407, 0.5798, 0.8254, 1.167, 1.646, 2.302, 3.161, 4.245, 5.562",\
                 "0.3706, 0.4356, 0.612, 0.8578, 1.198, 1.671, 2.317, 3.172, 4.248, 5.557",\
                 "0.4038, 0.4708, 0.6534, 0.9038, 1.236, 1.703, 2.342, 3.186, 4.254, 5.566",\
                 "0.437, 0.5094, 0.6992, 0.9564, 1.291, 1.749, 2.377, 3.207, 4.267, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1994, 0.2591, 0.4548, 0.8201, 1.408, 2.254, 3.381, 4.804, 6.54, 8.608",\
                 "0.1994, 0.2592, 0.4549, 0.8201, 1.408, 2.259, 3.38, 4.805, 6.541, 8.609",\
                 "0.1994, 0.2592, 0.4566, 0.8198, 1.408, 2.255, 3.382, 4.801, 6.539, 8.618",\
                 "0.2006, 0.2594, 0.4556, 0.8196, 1.41, 2.255, 3.381, 4.803, 6.539, 8.613",\
                 "0.2084, 0.2678, 0.4634, 0.824, 1.409, 2.26, 3.381, 4.804, 6.544, 8.609",\
                 "0.2194, 0.2784, 0.475, 0.8342, 1.413, 2.256, 3.382, 4.803, 6.548, 8.612",\
                 "0.2342, 0.2924, 0.4898, 0.8462, 1.42, 2.259, 3.387, 4.802, 6.537, 8.608",\
                 "0.2526, 0.3124, 0.5078, 0.8638, 1.431, 2.263, 3.382, 4.803, 6.531, 8.606",\
                 "0.2776, 0.336, 0.5324, 0.8876, 1.451, 2.275, 3.386, 4.807, 6.536, 8.603",\
                 "0.3012, 0.3618, 0.5572, 0.9144, 1.474, 2.296, 3.402, 4.808, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7283, 0.7883, 0.9569, 1.2, 1.504, 1.876, 2.329, 2.88, 3.544, 4.331",\
                 "0.7452, 0.8054, 0.9736, 1.217, 1.521, 1.893, 2.346, 2.897, 3.561, 4.348",\
                 "0.8143, 0.8743, 1.043, 1.285, 1.59, 1.961, 2.415, 2.966, 3.63, 4.417",\
                 "0.9512, 1.011, 1.179, 1.422, 1.726, 2.098, 2.552, 3.103, 3.766, 4.554",\
                 "1.151, 1.211, 1.38, 1.624, 1.928, 2.3, 2.754, 3.305, 3.968, 4.755",\
                 "1.393, 1.455, 1.628, 1.876, 2.183, 2.556, 3.01, 3.561, 4.224, 5.011",\
                 "1.677, 1.741, 1.919, 2.173, 2.486, 2.863, 3.319, 3.871, 4.533, 5.32",\
                 "2.006, 2.073, 2.256, 2.518, 2.837, 3.22, 3.678, 4.232, 4.895, 5.681",\
                 "2.376, 2.447, 2.639, 2.911, 3.239, 3.628, 4.092, 4.647, 5.311, 6.097",\
                 "2.79, 2.864, 3.064, 3.349, 3.69, 4.09, 4.56, 5.118, 5.783, 6.57");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6171, 0.6636, 0.8056, 1.044, 1.395, 1.881, 2.519, 3.324, 4.306, 5.478",\
                 "0.6301, 0.6765, 0.8188, 1.057, 1.408, 1.893, 2.531, 3.337, 4.316, 5.487",\
                 "0.6741, 0.7205, 0.8626, 1.101, 1.452, 1.937, 2.575, 3.381, 4.362, 5.534",\
                 "0.7401, 0.7865, 0.9283, 1.167, 1.517, 2.002, 2.64, 3.446, 4.427, 5.6",\
                 "0.8085, 0.8558, 0.9992, 1.239, 1.589, 2.073, 2.711, 3.516, 4.497, 5.666",\
                 "0.8597, 0.9082, 1.054, 1.296, 1.647, 2.132, 2.769, 3.572, 4.555, 5.728",\
                 "0.887, 0.9371, 1.087, 1.331, 1.683, 2.167, 2.804, 3.607, 4.589, 5.761",\
                 "0.8826, 0.9356, 1.089, 1.338, 1.693, 2.176, 2.812, 3.614, 4.594, 5.763",\
                 "0.8419, 0.8974, 1.057, 1.311, 1.67, 2.156, 2.791, 3.593, 4.571, 5.74",\
                 "0.7598, 0.8185, 0.9841, 1.246, 1.61, 2.1, 2.738, 3.539, 4.517, 5.686");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2931, 0.3557, 0.5235, 0.7718, 1.126, 1.618, 2.284, 3.154, 4.243, 5.558",\
                 "0.2932, 0.3553, 0.5236, 0.7718, 1.126, 1.618, 2.285, 3.151, 4.243, 5.555",\
                 "0.2932, 0.3559, 0.5236, 0.772, 1.126, 1.619, 2.285, 3.154, 4.239, 5.559",\
                 "0.2944, 0.356, 0.5244, 0.774, 1.126, 1.618, 2.285, 3.151, 4.243, 5.554",\
                 "0.3028, 0.3646, 0.533, 0.7792, 1.131, 1.621, 2.287, 3.156, 4.239, 5.558",\
                 "0.3216, 0.3842, 0.5536, 0.797, 1.143, 1.631, 2.291, 3.158, 4.245, 5.561",\
                 "0.3426, 0.406, 0.5798, 0.8266, 1.166, 1.647, 2.3, 3.161, 4.245, 5.562",\
                 "0.3706, 0.4356, 0.612, 0.8578, 1.198, 1.67, 2.318, 3.173, 4.251, 5.557",\
                 "0.4038, 0.4708, 0.6534, 0.9048, 1.236, 1.704, 2.342, 3.185, 4.254, 5.566",\
                 "0.437, 0.5094, 0.6996, 0.9572, 1.291, 1.749, 2.376, 3.208, 4.266, 5.564");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1991, 0.259, 0.456, 0.8193, 1.407, 2.255, 3.381, 4.803, 6.541, 8.613",\
                 "0.1994, 0.2592, 0.4549, 0.8201, 1.408, 2.259, 3.38, 4.805, 6.541, 8.609",\
                 "0.1994, 0.2595, 0.4559, 0.8194, 1.407, 2.254, 3.381, 4.801, 6.539, 8.611",\
                 "0.1994, 0.2598, 0.4564, 0.8204, 1.41, 2.254, 3.381, 4.801, 6.539, 8.612",\
                 "0.2084, 0.2678, 0.4634, 0.824, 1.409, 2.26, 3.381, 4.804, 6.544, 8.609",\
                 "0.2194, 0.2784, 0.475, 0.8342, 1.413, 2.256, 3.382, 4.803, 6.548, 8.612",\
                 "0.2342, 0.2924, 0.4898, 0.8462, 1.42, 2.259, 3.381, 4.801, 6.537, 8.608",\
                 "0.253, 0.3124, 0.5078, 0.8638, 1.43, 2.263, 3.382, 4.801, 6.537, 8.604",\
                 "0.2776, 0.336, 0.5324, 0.8876, 1.451, 2.275, 3.386, 4.807, 6.536, 8.603",\
                 "0.3012, 0.3618, 0.5572, 0.9144, 1.474, 2.296, 3.402, 4.808, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7283, 0.7883, 0.9569, 1.2, 1.504, 1.876, 2.329, 2.88, 3.544, 4.331",\
                 "0.7452, 0.8054, 0.9736, 1.217, 1.521, 1.893, 2.346, 2.897, 3.561, 4.348",\
                 "0.8143, 0.8743, 1.043, 1.285, 1.59, 1.961, 2.415, 2.966, 3.63, 4.417",\
                 "0.9512, 1.011, 1.179, 1.422, 1.726, 2.098, 2.552, 3.103, 3.766, 4.554",\
                 "1.151, 1.211, 1.38, 1.624, 1.928, 2.3, 2.754, 3.305, 3.968, 4.755",\
                 "1.393, 1.455, 1.628, 1.876, 2.183, 2.556, 3.01, 3.561, 4.224, 5.011",\
                 "1.677, 1.741, 1.919, 2.173, 2.486, 2.863, 3.319, 3.871, 4.533, 5.32",\
                 "2.006, 2.073, 2.256, 2.518, 2.837, 3.22, 3.678, 4.232, 4.895, 5.681",\
                 "2.376, 2.447, 2.639, 2.911, 3.239, 3.628, 4.092, 4.647, 5.311, 6.097",\
                 "2.79, 2.864, 3.064, 3.349, 3.69, 4.09, 4.56, 5.118, 5.783, 6.57");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6171, 0.6635, 0.8056, 1.044, 1.395, 1.881, 2.518, 3.324, 4.306, 5.478",\
                 "0.6301, 0.6766, 0.8188, 1.057, 1.408, 1.893, 2.531, 3.337, 4.316, 5.487",\
                 "0.6741, 0.7205, 0.8627, 1.101, 1.452, 1.937, 2.576, 3.379, 4.363, 5.53",\
                 "0.7401, 0.7864, 0.9283, 1.167, 1.517, 2.002, 2.64, 3.446, 4.426, 5.599",\
                 "0.8085, 0.8558, 0.9992, 1.239, 1.589, 2.073, 2.711, 3.516, 4.497, 5.666",\
                 "0.8597, 0.9082, 1.054, 1.296, 1.647, 2.132, 2.769, 3.572, 4.557, 5.724",\
                 "0.887, 0.9371, 1.087, 1.331, 1.683, 2.167, 2.804, 3.607, 4.588, 5.76",\
                 "0.8829, 0.9353, 1.089, 1.338, 1.693, 2.176, 2.812, 3.615, 4.594, 5.764",\
                 "0.8419, 0.8974, 1.056, 1.311, 1.67, 2.156, 2.791, 3.593, 4.572, 5.74",\
                 "0.7598, 0.8185, 0.9841, 1.246, 1.61, 2.1, 2.738, 3.539, 4.517, 5.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2931, 0.3557, 0.5237, 0.7732, 1.126, 1.619, 2.286, 3.154, 4.241, 5.553",\
                 "0.294, 0.3552, 0.5234, 0.773, 1.126, 1.618, 2.284, 3.152, 4.242, 5.557",\
                 "0.2937, 0.3554, 0.5242, 0.772, 1.126, 1.619, 2.285, 3.154, 4.239, 5.559",\
                 "0.2938, 0.356, 0.525, 0.7732, 1.126, 1.619, 2.284, 3.152, 4.242, 5.556",\
                 "0.303, 0.3648, 0.5332, 0.7788, 1.131, 1.621, 2.287, 3.156, 4.24, 5.561",\
                 "0.3214, 0.3844, 0.5542, 0.797, 1.144, 1.63, 2.291, 3.158, 4.245, 5.559",\
                 "0.3428, 0.4066, 0.5798, 0.8252, 1.166, 1.647, 2.3, 3.163, 4.245, 5.562",\
                 "0.3706, 0.4366, 0.6124, 0.8582, 1.198, 1.671, 2.318, 3.173, 4.251, 5.557",\
                 "0.4032, 0.4714, 0.6532, 0.904, 1.237, 1.702, 2.342, 3.185, 4.253, 5.566",\
                 "0.4364, 0.509, 0.7002, 0.958, 1.29, 1.75, 2.375, 3.21, 4.267, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1992, 0.259, 0.4552, 0.8194, 1.407, 2.255, 3.381, 4.802, 6.54, 8.611",\
                 "0.1993, 0.2592, 0.4559, 0.8202, 1.407, 2.255, 3.38, 4.804, 6.539, 8.608",\
                 "0.1993, 0.2589, 0.4562, 0.8194, 1.407, 2.254, 3.381, 4.802, 6.539, 8.611",\
                 "0.1994, 0.2598, 0.4564, 0.8204, 1.41, 2.255, 3.381, 4.803, 6.54, 8.613",\
                 "0.2076, 0.2674, 0.4632, 0.824, 1.408, 2.26, 3.38, 4.804, 6.537, 8.623",\
                 "0.2194, 0.2784, 0.475, 0.8342, 1.413, 2.256, 3.381, 4.802, 6.548, 8.616",\
                 "0.234, 0.2926, 0.49, 0.8462, 1.42, 2.259, 3.387, 4.801, 6.538, 8.608",\
                 "0.2532, 0.3116, 0.5084, 0.8654, 1.431, 2.262, 3.382, 4.804, 6.538, 8.604",\
                 "0.2776, 0.3364, 0.5308, 0.8874, 1.449, 2.274, 3.388, 4.806, 6.536, 8.601",\
                 "0.3008, 0.3624, 0.5578, 0.9136, 1.474, 2.297, 3.402, 4.807, 6.536, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7184, 0.7784, 0.946, 1.189, 1.492, 1.864, 2.317, 2.868, 3.531, 4.318",\
                 "0.7356, 0.7954, 0.9638, 1.206, 1.509, 1.881, 2.334, 2.885, 3.548, 4.335",\
                 "0.8045, 0.8644, 1.032, 1.275, 1.578, 1.95, 2.403, 2.954, 3.617, 4.404",\
                 "0.941, 1.001, 1.169, 1.411, 1.714, 2.086, 2.539, 3.09, 3.753, 4.541",\
                 "1.139, 1.199, 1.367, 1.61, 1.914, 2.285, 2.739, 3.289, 3.952, 4.739",\
                 "1.378, 1.44, 1.612, 1.859, 2.166, 2.539, 2.993, 3.543, 4.206, 4.993",\
                 "1.66, 1.724, 1.901, 2.154, 2.466, 2.843, 3.299, 3.85, 4.513, 5.299",\
                 "1.987, 2.053, 2.236, 2.497, 2.815, 3.196, 3.655, 4.208, 4.871, 5.658",\
                 "2.354, 2.425, 2.616, 2.887, 3.215, 3.603, 4.066, 4.621, 5.285, 6.071",\
                 "2.766, 2.839, 3.04, 3.323, 3.664, 4.062, 4.531, 5.09, 5.755, 6.541");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.604, 0.6502, 0.7921, 1.031, 1.381, 1.867, 2.504, 3.31, 4.29, 5.463",\
                 "0.6169, 0.6632, 0.805, 1.043, 1.394, 1.879, 2.517, 3.323, 4.302, 5.475",\
                 "0.6607, 0.7066, 0.8487, 1.087, 1.437, 1.923, 2.561, 3.365, 4.349, 5.52",\
                 "0.726, 0.7723, 0.9138, 1.152, 1.502, 1.987, 2.625, 3.431, 4.41, 5.582",\
                 "0.7933, 0.8403, 0.9838, 1.223, 1.573, 2.058, 2.695, 3.5, 4.481, 5.652",\
                 "0.8431, 0.8915, 1.037, 1.279, 1.63, 2.114, 2.752, 3.556, 4.535, 5.708",\
                 "0.8685, 0.9188, 1.068, 1.312, 1.664, 2.148, 2.785, 3.587, 4.57, 5.737",\
                 "0.863, 0.9151, 1.068, 1.318, 1.672, 2.156, 2.791, 3.593, 4.573, 5.742",\
                 "0.8192, 0.8745, 1.034, 1.288, 1.647, 2.133, 2.768, 3.57, 4.549, 5.717",\
                 "0.7352, 0.7939, 0.9589, 1.22, 1.584, 2.075, 2.712, 3.514, 4.492, 5.66");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2919, 0.3541, 0.5217, 0.77, 1.123, 1.618, 2.285, 3.154, 4.241, 5.559",\
                 "0.292, 0.3544, 0.5218, 0.7692, 1.124, 1.617, 2.284, 3.154, 4.241, 5.561",\
                 "0.2919, 0.3545, 0.5216, 0.7712, 1.124, 1.617, 2.284, 3.152, 4.243, 5.558",\
                 "0.2932, 0.355, 0.5232, 0.7716, 1.124, 1.617, 2.284, 3.151, 4.243, 5.556",\
                 "0.3012, 0.3634, 0.5308, 0.7776, 1.129, 1.62, 2.285, 3.155, 4.239, 5.561",\
                 "0.3194, 0.3824, 0.5516, 0.794, 1.141, 1.628, 2.29, 3.156, 4.241, 5.561",\
                 "0.3398, 0.404, 0.577, 0.8224, 1.164, 1.645, 2.3, 3.162, 4.246, 5.562",\
                 "0.3672, 0.4322, 0.6084, 0.854, 1.193, 1.668, 2.316, 3.17, 4.25, 5.559",\
                 "0.4002, 0.4682, 0.6504, 0.8994, 1.233, 1.701, 2.34, 3.183, 4.253, 5.566",\
                 "0.4336, 0.5056, 0.694, 0.952, 1.287, 1.748, 2.375, 3.207, 4.266, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1987, 0.2585, 0.4556, 0.8188, 1.407, 2.254, 3.381, 4.802, 6.536, 8.608",\
                 "0.1988, 0.2584, 0.454, 0.8187, 1.407, 2.255, 3.381, 4.802, 6.535, 8.605",\
                 "0.1984, 0.2572, 0.4545, 0.819, 1.407, 2.255, 3.381, 4.806, 6.539, 8.608",\
                 "0.1998, 0.2592, 0.4548, 0.8194, 1.406, 2.259, 3.38, 4.804, 6.537, 8.605",\
                 "0.2072, 0.2678, 0.4624, 0.8232, 1.407, 2.254, 3.381, 4.806, 6.538, 8.604",\
                 "0.2188, 0.2784, 0.4734, 0.833, 1.413, 2.257, 3.381, 4.803, 6.538, 8.624",\
                 "0.233, 0.292, 0.4888, 0.846, 1.42, 2.259, 3.382, 4.8, 6.538, 8.602",\
                 "0.2526, 0.3112, 0.5072, 0.8634, 1.429, 2.264, 3.381, 4.804, 6.546, 8.606",\
                 "0.2764, 0.3344, 0.5302, 0.8874, 1.449, 2.276, 3.387, 4.805, 6.536, 8.601",\
                 "0.3, 0.361, 0.5562, 0.9126, 1.476, 2.295, 3.407, 4.811, 6.539, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7184, 0.7784, 0.946, 1.189, 1.492, 1.864, 2.317, 2.868, 3.531, 4.318",\
                 "0.7355, 0.7955, 0.9636, 1.206, 1.509, 1.881, 2.334, 2.885, 3.548, 4.335",\
                 "0.8046, 0.8647, 1.033, 1.274, 1.578, 1.95, 2.403, 2.954, 3.617, 4.404",\
                 "0.941, 1.001, 1.169, 1.411, 1.714, 2.086, 2.539, 3.09, 3.753, 4.54",\
                 "1.139, 1.199, 1.367, 1.61, 1.913, 2.285, 2.739, 3.289, 3.952, 4.739",\
                 "1.378, 1.439, 1.612, 1.859, 2.166, 2.539, 2.993, 3.543, 4.206, 4.993",\
                 "1.66, 1.724, 1.901, 2.154, 2.466, 2.843, 3.299, 3.85, 4.513, 5.299",\
                 "1.987, 2.053, 2.236, 2.497, 2.815, 3.197, 3.656, 4.208, 4.872, 5.658",\
                 "2.354, 2.425, 2.616, 2.887, 3.215, 3.603, 4.066, 4.621, 5.285, 6.071",\
                 "2.766, 2.839, 3.039, 3.323, 3.663, 4.062, 4.531, 5.09, 5.755, 6.541");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.604, 0.6502, 0.7921, 1.031, 1.381, 1.866, 2.504, 3.31, 4.289, 5.462",\
                 "0.6168, 0.6632, 0.805, 1.043, 1.394, 1.879, 2.517, 3.323, 4.302, 5.474",\
                 "0.6604, 0.7067, 0.8487, 1.087, 1.437, 1.923, 2.561, 3.366, 4.346, 5.519",\
                 "0.7259, 0.7721, 0.9138, 1.152, 1.502, 1.987, 2.626, 3.429, 4.413, 5.58",\
                 "0.7935, 0.8404, 0.9838, 1.223, 1.573, 2.058, 2.695, 3.501, 4.48, 5.653",\
                 "0.8431, 0.8915, 1.037, 1.279, 1.63, 2.114, 2.752, 3.556, 4.535, 5.708",\
                 "0.8687, 0.9188, 1.068, 1.312, 1.664, 2.148, 2.785, 3.588, 4.568, 5.74",\
                 "0.8624, 0.9153, 1.069, 1.318, 1.672, 2.156, 2.791, 3.593, 4.573, 5.742",\
                 "0.8192, 0.8745, 1.033, 1.288, 1.647, 2.133, 2.768, 3.569, 4.549, 5.717",\
                 "0.7352, 0.7939, 0.9592, 1.22, 1.585, 2.075, 2.713, 3.514, 4.492, 5.66");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2919, 0.3541, 0.5217, 0.77, 1.123, 1.618, 2.285, 3.154, 4.241, 5.559",\
                 "0.2918, 0.354, 0.5214, 0.7692, 1.124, 1.616, 2.282, 3.154, 4.241, 5.561",\
                 "0.292, 0.3539, 0.5222, 0.7704, 1.124, 1.618, 2.284, 3.153, 4.237, 5.56",\
                 "0.293, 0.355, 0.5232, 0.7718, 1.125, 1.618, 2.284, 3.15, 4.241, 5.558",\
                 "0.3012, 0.3632, 0.5308, 0.7776, 1.128, 1.62, 2.285, 3.155, 4.239, 5.561",\
                 "0.3192, 0.3824, 0.5516, 0.7944, 1.141, 1.629, 2.29, 3.154, 4.243, 5.56",\
                 "0.34, 0.404, 0.577, 0.822, 1.164, 1.645, 2.299, 3.162, 4.245, 5.562",\
                 "0.368, 0.433, 0.6086, 0.8542, 1.195, 1.668, 2.317, 3.172, 4.247, 5.563",\
                 "0.4002, 0.4682, 0.6502, 0.9004, 1.233, 1.701, 2.34, 3.183, 4.253, 5.566",\
                 "0.4342, 0.5056, 0.694, 0.954, 1.287, 1.748, 2.375, 3.207, 4.265, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1984, 0.2586, 0.454, 0.8189, 1.407, 2.255, 3.381, 4.803, 6.541, 8.606",\
                 "0.1987, 0.2584, 0.4556, 0.8186, 1.407, 2.255, 3.381, 4.802, 6.536, 8.604",\
                 "0.1987, 0.2583, 0.4555, 0.8192, 1.407, 2.254, 3.381, 4.801, 6.537, 8.608",\
                 "0.1996, 0.2592, 0.4556, 0.8198, 1.408, 2.255, 3.38, 4.802, 6.54, 8.617",\
                 "0.2076, 0.267, 0.4626, 0.8248, 1.408, 2.254, 3.381, 4.803, 6.536, 8.609",\
                 "0.2188, 0.2784, 0.4734, 0.833, 1.413, 2.257, 3.381, 4.803, 6.538, 8.624",\
                 "0.2334, 0.2924, 0.4882, 0.8448, 1.42, 2.259, 3.386, 4.8, 6.538, 8.616",\
                 "0.2534, 0.3116, 0.5076, 0.8632, 1.43, 2.264, 3.382, 4.803, 6.535, 8.603",\
                 "0.2764, 0.3344, 0.5302, 0.8876, 1.449, 2.273, 3.387, 4.803, 6.535, 8.6",\
                 "0.3006, 0.3612, 0.5568, 0.9134, 1.475, 2.297, 3.406, 4.808, 6.536, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7184, 0.7784, 0.946, 1.189, 1.492, 1.864, 2.317, 2.868, 3.531, 4.318",\
                 "0.7356, 0.7957, 0.9638, 1.206, 1.509, 1.881, 2.334, 2.885, 3.548, 4.335",\
                 "0.8046, 0.8644, 1.032, 1.274, 1.578, 1.95, 2.403, 2.954, 3.617, 4.404",\
                 "0.941, 1.001, 1.169, 1.411, 1.714, 2.086, 2.539, 3.09, 3.753, 4.541",\
                 "1.139, 1.199, 1.367, 1.61, 1.914, 2.285, 2.739, 3.289, 3.952, 4.74",\
                 "1.378, 1.439, 1.612, 1.859, 2.166, 2.538, 2.992, 3.543, 4.206, 4.993",\
                 "1.66, 1.724, 1.901, 2.154, 2.466, 2.843, 3.299, 3.85, 4.513, 5.299",\
                 "1.986, 2.053, 2.236, 2.497, 2.815, 3.196, 3.655, 4.208, 4.872, 5.658",\
                 "2.354, 2.425, 2.616, 2.887, 3.215, 3.603, 4.066, 4.621, 5.285, 6.071",\
                 "2.766, 2.839, 3.04, 3.323, 3.664, 4.062, 4.531, 5.09, 5.755, 6.541");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6039, 0.6502, 0.7921, 1.031, 1.381, 1.866, 2.505, 3.31, 4.29, 5.464",\
                 "0.6169, 0.6631, 0.8051, 1.044, 1.394, 1.879, 2.518, 3.321, 4.305, 5.473",\
                 "0.6607, 0.7066, 0.8487, 1.087, 1.437, 1.923, 2.561, 3.365, 4.349, 5.52",\
                 "0.7259, 0.7721, 0.9137, 1.152, 1.502, 1.987, 2.625, 3.431, 4.412, 5.585",\
                 "0.7933, 0.8404, 0.9839, 1.223, 1.573, 2.058, 2.695, 3.499, 4.482, 5.653",\
                 "0.8431, 0.8915, 1.037, 1.279, 1.63, 2.114, 2.752, 3.556, 4.535, 5.71",\
                 "0.8685, 0.9187, 1.068, 1.312, 1.664, 2.148, 2.785, 3.587, 4.569, 5.741",\
                 "0.8626, 0.9151, 1.068, 1.318, 1.672, 2.155, 2.791, 3.593, 4.573, 5.742",\
                 "0.8191, 0.8745, 1.034, 1.288, 1.647, 2.133, 2.768, 3.57, 4.549, 5.718",\
                 "0.7352, 0.7939, 0.9589, 1.22, 1.585, 2.075, 2.712, 3.514, 4.492, 5.66");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2919, 0.3541, 0.5217, 0.77, 1.123, 1.618, 2.285, 3.154, 4.243, 5.559",\
                 "0.2919, 0.3538, 0.5217, 0.7692, 1.124, 1.617, 2.284, 3.154, 4.241, 5.561",\
                 "0.292, 0.3546, 0.5214, 0.7704, 1.125, 1.617, 2.285, 3.15, 4.242, 5.559",\
                 "0.2934, 0.3548, 0.5228, 0.7716, 1.124, 1.617, 2.283, 3.15, 4.242, 5.555",\
                 "0.3012, 0.3634, 0.5308, 0.7776, 1.129, 1.62, 2.285, 3.155, 4.239, 5.56",\
                 "0.3194, 0.3822, 0.5512, 0.7942, 1.141, 1.629, 2.291, 3.156, 4.243, 5.561",\
                 "0.34, 0.404, 0.577, 0.8224, 1.164, 1.644, 2.3, 3.161, 4.246, 5.562",\
                 "0.3678, 0.4332, 0.6086, 0.8544, 1.193, 1.668, 2.316, 3.17, 4.251, 5.559",\
                 "0.4002, 0.4682, 0.6504, 0.8994, 1.233, 1.701, 2.34, 3.183, 4.253, 5.566",\
                 "0.4336, 0.5056, 0.694, 0.9542, 1.288, 1.748, 2.374, 3.207, 4.266, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.198, 0.2584, 0.4553, 0.8188, 1.407, 2.255, 3.38, 4.802, 6.538, 8.611",\
                 "0.1987, 0.2587, 0.4556, 0.819, 1.406, 2.259, 3.382, 4.802, 6.54, 8.618",\
                 "0.1984, 0.2572, 0.4545, 0.819, 1.407, 2.255, 3.381, 4.806, 6.539, 8.608",\
                 "0.1998, 0.2596, 0.4554, 0.8196, 1.409, 2.255, 3.381, 4.804, 6.54, 8.613",\
                 "0.2072, 0.267, 0.4624, 0.825, 1.408, 2.254, 3.381, 4.803, 6.54, 8.607",\
                 "0.2188, 0.2784, 0.4734, 0.833, 1.413, 2.257, 3.382, 4.803, 6.538, 8.611",\
                 "0.2336, 0.2934, 0.4888, 0.8444, 1.42, 2.258, 3.387, 4.803, 6.538, 8.608",\
                 "0.253, 0.3112, 0.5072, 0.8632, 1.431, 2.262, 3.382, 4.803, 6.532, 8.604",\
                 "0.2772, 0.3344, 0.5302, 0.8874, 1.449, 2.276, 3.386, 4.803, 6.534, 8.603",\
                 "0.3, 0.361, 0.556, 0.9126, 1.477, 2.297, 3.401, 4.807, 6.535, 8.598");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7185, 0.7784, 0.946, 1.189, 1.492, 1.864, 2.317, 2.868, 3.531, 4.318",\
                 "0.7355, 0.7955, 0.9636, 1.205, 1.509, 1.881, 2.334, 2.885, 3.548, 4.335",\
                 "0.8046, 0.8647, 1.033, 1.274, 1.578, 1.949, 2.403, 2.954, 3.617, 4.404",\
                 "0.941, 1.001, 1.169, 1.411, 1.714, 2.086, 2.539, 3.09, 3.753, 4.54",\
                 "1.139, 1.199, 1.367, 1.61, 1.913, 2.285, 2.739, 3.29, 3.952, 4.739",\
                 "1.378, 1.44, 1.612, 1.859, 2.166, 2.539, 2.992, 3.543, 4.206, 4.993",\
                 "1.66, 1.724, 1.901, 2.154, 2.466, 2.843, 3.299, 3.85, 4.513, 5.299",\
                 "1.986, 2.053, 2.236, 2.497, 2.815, 3.197, 3.656, 4.208, 4.872, 5.658",\
                 "2.354, 2.425, 2.616, 2.887, 3.215, 3.603, 4.066, 4.621, 5.285, 6.071",\
                 "2.766, 2.839, 3.039, 3.323, 3.664, 4.062, 4.531, 5.09, 5.755, 6.541");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6039, 0.6502, 0.7921, 1.031, 1.381, 1.866, 2.505, 3.31, 4.291, 5.463",\
                 "0.6169, 0.6632, 0.805, 1.044, 1.394, 1.879, 2.518, 3.321, 4.305, 5.473",\
                 "0.6604, 0.7067, 0.8487, 1.087, 1.437, 1.923, 2.561, 3.366, 4.346, 5.519",\
                 "0.726, 0.7722, 0.9137, 1.152, 1.502, 1.987, 2.625, 3.431, 4.413, 5.585",\
                 "0.7933, 0.8404, 0.9838, 1.223, 1.573, 2.058, 2.695, 3.499, 4.482, 5.653",\
                 "0.8431, 0.8915, 1.037, 1.279, 1.63, 2.114, 2.752, 3.556, 4.535, 5.709",\
                 "0.8687, 0.9189, 1.068, 1.312, 1.664, 2.148, 2.785, 3.588, 4.569, 5.74",\
                 "0.8628, 0.9153, 1.069, 1.318, 1.672, 2.156, 2.791, 3.594, 4.573, 5.742",\
                 "0.8191, 0.8742, 1.033, 1.288, 1.647, 2.133, 2.768, 3.569, 4.549, 5.717",\
                 "0.7352, 0.7939, 0.9592, 1.22, 1.584, 2.075, 2.713, 3.514, 4.492, 5.661");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2919, 0.3541, 0.5217, 0.77, 1.123, 1.618, 2.285, 3.154, 4.243, 5.559",\
                 "0.2922, 0.354, 0.5214, 0.7704, 1.124, 1.618, 2.284, 3.154, 4.243, 5.557",\
                 "0.292, 0.3539, 0.5222, 0.7706, 1.124, 1.618, 2.284, 3.154, 4.237, 5.56",\
                 "0.2934, 0.3548, 0.5232, 0.7716, 1.125, 1.618, 2.284, 3.153, 4.241, 5.56",\
                 "0.3012, 0.3632, 0.5308, 0.7764, 1.129, 1.621, 2.286, 3.155, 4.239, 5.561",\
                 "0.3192, 0.3826, 0.552, 0.7952, 1.141, 1.629, 2.29, 3.157, 4.244, 5.559",\
                 "0.34, 0.404, 0.577, 0.8226, 1.164, 1.645, 2.3, 3.162, 4.245, 5.562",\
                 "0.3674, 0.4328, 0.6086, 0.8544, 1.194, 1.669, 2.317, 3.171, 4.247, 5.559",\
                 "0.4002, 0.4682, 0.6502, 0.9004, 1.233, 1.701, 2.34, 3.183, 4.253, 5.566",\
                 "0.4342, 0.5056, 0.694, 0.954, 1.288, 1.748, 2.374, 3.205, 4.265, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1987, 0.2586, 0.4556, 0.8192, 1.407, 2.255, 3.382, 4.801, 6.538, 8.611",\
                 "0.1987, 0.2584, 0.4556, 0.819, 1.406, 2.259, 3.382, 4.802, 6.54, 8.618",\
                 "0.1987, 0.2583, 0.4555, 0.8192, 1.407, 2.254, 3.381, 4.801, 6.537, 8.608",\
                 "0.1996, 0.2596, 0.4556, 0.8196, 1.41, 2.255, 3.381, 4.803, 6.541, 8.613",\
                 "0.2072, 0.267, 0.4624, 0.8236, 1.408, 2.254, 3.381, 4.803, 6.54, 8.607",\
                 "0.2188, 0.2784, 0.4734, 0.833, 1.413, 2.257, 3.382, 4.803, 6.538, 8.61",\
                 "0.2334, 0.292, 0.488, 0.8458, 1.42, 2.259, 3.386, 4.8, 6.538, 8.616",\
                 "0.2522, 0.3116, 0.5086, 0.8638, 1.43, 2.263, 3.382, 4.803, 6.549, 8.604",\
                 "0.2772, 0.3344, 0.5302, 0.8876, 1.449, 2.276, 3.387, 4.802, 6.536, 8.611",\
                 "0.3006, 0.361, 0.5568, 0.9134, 1.475, 2.296, 3.4, 4.808, 6.536, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7184, 0.7784, 0.946, 1.189, 1.492, 1.864, 2.317, 2.868, 3.531, 4.318",\
                 "0.7355, 0.7956, 0.9637, 1.206, 1.509, 1.881, 2.334, 2.885, 3.548, 4.335",\
                 "0.8047, 0.8646, 1.032, 1.275, 1.578, 1.95, 2.403, 2.954, 3.617, 4.404",\
                 "0.9412, 1.001, 1.169, 1.411, 1.714, 2.086, 2.539, 3.09, 3.753, 4.541",\
                 "1.139, 1.199, 1.367, 1.61, 1.914, 2.285, 2.739, 3.289, 3.952, 4.74",\
                 "1.377, 1.44, 1.612, 1.859, 2.166, 2.539, 2.992, 3.543, 4.207, 4.993",\
                 "1.66, 1.723, 1.9, 2.154, 2.466, 2.843, 3.298, 3.85, 4.513, 5.3",\
                 "1.986, 2.053, 2.236, 2.497, 2.815, 3.196, 3.655, 4.208, 4.872, 5.658",\
                 "2.354, 2.425, 2.616, 2.887, 3.215, 3.603, 4.066, 4.621, 5.285, 6.071",\
                 "2.766, 2.839, 3.04, 3.323, 3.664, 4.062, 4.531, 5.09, 5.755, 6.541");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6038, 0.6502, 0.7922, 1.031, 1.381, 1.866, 2.505, 3.309, 4.293, 5.465",\
                 "0.6171, 0.6632, 0.8051, 1.044, 1.394, 1.88, 2.517, 3.323, 4.303, 5.475",\
                 "0.6607, 0.7066, 0.8487, 1.087, 1.437, 1.923, 2.561, 3.365, 4.349, 5.52",\
                 "0.7259, 0.7723, 0.9138, 1.152, 1.502, 1.987, 2.625, 3.431, 4.413, 5.585",\
                 "0.7934, 0.8404, 0.9838, 1.223, 1.573, 2.058, 2.695, 3.501, 4.48, 5.653",\
                 "0.8431, 0.8915, 1.037, 1.279, 1.63, 2.114, 2.752, 3.556, 4.538, 5.71",\
                 "0.8687, 0.9188, 1.068, 1.312, 1.664, 2.148, 2.785, 3.588, 4.569, 5.741",\
                 "0.8629, 0.9151, 1.069, 1.318, 1.672, 2.155, 2.791, 3.593, 4.573, 5.742",\
                 "0.8192, 0.8745, 1.034, 1.288, 1.647, 2.133, 2.768, 3.57, 4.549, 5.718",\
                 "0.7352, 0.7939, 0.9589, 1.22, 1.585, 2.075, 2.712, 3.514, 4.492, 5.66");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2919, 0.3541, 0.5217, 0.77, 1.123, 1.618, 2.285, 3.154, 4.243, 5.559",\
                 "0.2919, 0.3539, 0.5221, 0.7704, 1.124, 1.618, 2.284, 3.154, 4.238, 5.56",\
                 "0.292, 0.3539, 0.5216, 0.7694, 1.124, 1.618, 2.285, 3.154, 4.241, 5.56",\
                 "0.2926, 0.355, 0.5228, 0.7716, 1.124, 1.617, 2.284, 3.151, 4.242, 5.556",\
                 "0.3012, 0.3634, 0.5308, 0.777, 1.129, 1.62, 2.285, 3.155, 4.239, 5.56",\
                 "0.3194, 0.3818, 0.5516, 0.7944, 1.142, 1.629, 2.29, 3.156, 4.244, 5.554",\
                 "0.34, 0.4046, 0.5774, 0.823, 1.164, 1.645, 2.301, 3.159, 4.246, 5.557",\
                 "0.3678, 0.433, 0.6086, 0.854, 1.194, 1.668, 2.316, 3.17, 4.251, 5.559",\
                 "0.4002, 0.4682, 0.6504, 0.8994, 1.233, 1.701, 2.34, 3.183, 4.253, 5.566",\
                 "0.4336, 0.5056, 0.694, 0.9542, 1.288, 1.748, 2.373, 3.205, 4.266, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1987, 0.2587, 0.4555, 0.8191, 1.407, 2.255, 3.38, 4.803, 6.542, 8.612",\
                 "0.1984, 0.2583, 0.4546, 0.8187, 1.407, 2.254, 3.381, 4.801, 6.537, 8.608",\
                 "0.1984, 0.2573, 0.4545, 0.819, 1.407, 2.255, 3.381, 4.806, 6.539, 8.609",\
                 "0.1988, 0.2592, 0.455, 0.8198, 1.407, 2.255, 3.381, 4.801, 6.542, 8.613",\
                 "0.2074, 0.267, 0.4628, 0.8248, 1.408, 2.256, 3.381, 4.803, 6.537, 8.609",\
                 "0.2188, 0.2784, 0.4732, 0.8336, 1.413, 2.256, 3.382, 4.804, 6.54, 8.61",\
                 "0.233, 0.292, 0.4888, 0.8444, 1.42, 2.26, 3.386, 4.8, 6.539, 8.608",\
                 "0.2528, 0.3112, 0.5086, 0.8634, 1.431, 2.262, 3.382, 4.803, 6.536, 8.606",\
                 "0.2764, 0.3344, 0.5302, 0.8874, 1.449, 2.276, 3.386, 4.803, 6.534, 8.603",\
                 "0.3008, 0.361, 0.5562, 0.9126, 1.477, 2.297, 3.401, 4.811, 6.536, 8.598");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7185, 0.7784, 0.946, 1.189, 1.492, 1.864, 2.317, 2.868, 3.531, 4.318",\
                 "0.7355, 0.7955, 0.9637, 1.205, 1.509, 1.88, 2.334, 2.885, 3.548, 4.335",\
                 "0.8044, 0.8646, 1.032, 1.274, 1.578, 1.95, 2.403, 2.954, 3.617, 4.404",\
                 "0.9409, 1.001, 1.169, 1.411, 1.714, 2.086, 2.539, 3.09, 3.753, 4.54",\
                 "1.139, 1.199, 1.367, 1.61, 1.914, 2.285, 2.739, 3.29, 3.952, 4.74",\
                 "1.378, 1.44, 1.612, 1.859, 2.166, 2.538, 2.993, 3.543, 4.206, 4.993",\
                 "1.66, 1.723, 1.901, 2.153, 2.466, 2.843, 3.299, 3.85, 4.513, 5.299",\
                 "1.986, 2.053, 2.236, 2.497, 2.815, 3.196, 3.656, 4.208, 4.872, 5.658",\
                 "2.354, 2.425, 2.616, 2.887, 3.215, 3.603, 4.066, 4.621, 5.285, 6.071",\
                 "2.766, 2.839, 3.039, 3.323, 3.663, 4.062, 4.531, 5.09, 5.755, 6.542");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6039, 0.6503, 0.7922, 1.031, 1.381, 1.866, 2.505, 3.309, 4.293, 5.464",\
                 "0.6168, 0.6631, 0.8051, 1.044, 1.394, 1.879, 2.517, 3.323, 4.302, 5.475",\
                 "0.6604, 0.7067, 0.8487, 1.087, 1.437, 1.923, 2.561, 3.366, 4.346, 5.519",\
                 "0.726, 0.7722, 0.9138, 1.152, 1.502, 1.988, 2.625, 3.431, 4.413, 5.585",\
                 "0.7935, 0.8407, 0.9838, 1.223, 1.573, 2.057, 2.696, 3.499, 4.48, 5.653",\
                 "0.8431, 0.8915, 1.037, 1.279, 1.63, 2.114, 2.752, 3.556, 4.538, 5.708",\
                 "0.8687, 0.9189, 1.068, 1.312, 1.664, 2.148, 2.785, 3.588, 4.569, 5.74",\
                 "0.8624, 0.9151, 1.068, 1.318, 1.672, 2.156, 2.791, 3.593, 4.573, 5.742",\
                 "0.8191, 0.8745, 1.033, 1.288, 1.647, 2.133, 2.768, 3.569, 4.549, 5.717",\
                 "0.7352, 0.7939, 0.9592, 1.22, 1.584, 2.075, 2.713, 3.514, 4.492, 5.66");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2919, 0.3541, 0.5217, 0.77, 1.123, 1.618, 2.285, 3.154, 4.243, 5.559",\
                 "0.2918, 0.354, 0.5213, 0.7694, 1.124, 1.618, 2.284, 3.154, 4.241, 5.561",\
                 "0.2927, 0.354, 0.5216, 0.7702, 1.124, 1.617, 2.284, 3.152, 4.243, 5.558",\
                 "0.2934, 0.355, 0.523, 0.7716, 1.125, 1.618, 2.284, 3.153, 4.237, 5.56",\
                 "0.3012, 0.3632, 0.5308, 0.7776, 1.128, 1.62, 2.285, 3.151, 4.239, 5.557",\
                 "0.3192, 0.3826, 0.5514, 0.7944, 1.142, 1.629, 2.291, 3.157, 4.242, 5.561",\
                 "0.34, 0.4046, 0.577, 0.8228, 1.164, 1.645, 2.3, 3.162, 4.245, 5.562",\
                 "0.3674, 0.4328, 0.6084, 0.854, 1.194, 1.668, 2.317, 3.171, 4.247, 5.562",\
                 "0.4002, 0.4682, 0.6502, 0.9004, 1.233, 1.701, 2.34, 3.183, 4.253, 5.566",\
                 "0.4346, 0.5056, 0.6938, 0.954, 1.287, 1.748, 2.374, 3.206, 4.266, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1987, 0.2582, 0.4555, 0.819, 1.407, 2.255, 3.38, 4.807, 6.541, 8.606",\
                 "0.1987, 0.2587, 0.4539, 0.819, 1.407, 2.255, 3.381, 4.802, 6.536, 8.605",\
                 "0.1987, 0.2583, 0.4555, 0.8192, 1.407, 2.254, 3.381, 4.801, 6.537, 8.608",\
                 "0.1996, 0.2596, 0.4554, 0.8194, 1.409, 2.255, 3.381, 4.802, 6.542, 8.613",\
                 "0.2076, 0.2664, 0.462, 0.8244, 1.408, 2.259, 3.381, 4.8, 6.537, 8.608",\
                 "0.2188, 0.2784, 0.4732, 0.8336, 1.413, 2.256, 3.382, 4.804, 6.54, 8.61",\
                 "0.2334, 0.292, 0.488, 0.8458, 1.42, 2.259, 3.386, 4.8, 6.538, 8.616",\
                 "0.2532, 0.3116, 0.507, 0.8638, 1.429, 2.263, 3.382, 4.803, 6.534, 8.604",\
                 "0.2772, 0.3344, 0.5302, 0.8876, 1.449, 2.274, 3.387, 4.802, 6.536, 8.611",\
                 "0.3006, 0.361, 0.5568, 0.9136, 1.475, 2.297, 3.4, 4.807, 6.536, 8.598");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7185, 0.7784, 0.946, 1.189, 1.492, 1.864, 2.317, 2.868, 3.531, 4.318",\
                 "0.7355, 0.7957, 0.9637, 1.206, 1.509, 1.881, 2.334, 2.885, 3.548, 4.335",\
                 "0.8047, 0.8646, 1.032, 1.275, 1.578, 1.95, 2.403, 2.954, 3.617, 4.404",\
                 "0.9412, 1.001, 1.169, 1.411, 1.714, 2.086, 2.539, 3.09, 3.753, 4.541",\
                 "1.139, 1.199, 1.367, 1.61, 1.914, 2.285, 2.739, 3.289, 3.952, 4.74",\
                 "1.378, 1.439, 1.612, 1.859, 2.166, 2.539, 2.992, 3.543, 4.206, 4.993",\
                 "1.66, 1.723, 1.9, 2.154, 2.466, 2.843, 3.298, 3.85, 4.513, 5.299",\
                 "1.987, 2.052, 2.236, 2.497, 2.815, 3.196, 3.655, 4.208, 4.872, 5.658",\
                 "2.354, 2.425, 2.616, 2.887, 3.215, 3.603, 4.066, 4.621, 5.285, 6.071",\
                 "2.766, 2.84, 3.04, 3.323, 3.664, 4.062, 4.532, 5.09, 5.755, 6.542");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.604, 0.6502, 0.7922, 1.031, 1.381, 1.866, 2.505, 3.309, 4.293, 5.464",\
                 "0.6169, 0.6632, 0.8051, 1.043, 1.394, 1.879, 2.517, 3.323, 4.302, 5.475",\
                 "0.6607, 0.7066, 0.8487, 1.087, 1.437, 1.923, 2.561, 3.365, 4.349, 5.52",\
                 "0.7261, 0.7723, 0.9139, 1.152, 1.502, 1.987, 2.625, 3.431, 4.412, 5.585",\
                 "0.7934, 0.8404, 0.9838, 1.223, 1.573, 2.058, 2.695, 3.5, 4.484, 5.652",\
                 "0.8431, 0.8915, 1.037, 1.279, 1.63, 2.114, 2.752, 3.556, 4.538, 5.71",\
                 "0.8685, 0.9187, 1.068, 1.312, 1.664, 2.148, 2.785, 3.588, 4.569, 5.741",\
                 "0.8626, 0.9151, 1.069, 1.318, 1.672, 2.155, 2.791, 3.593, 4.573, 5.742",\
                 "0.8191, 0.8745, 1.034, 1.288, 1.647, 2.133, 2.768, 3.569, 4.549, 5.717",\
                 "0.7352, 0.7939, 0.9589, 1.22, 1.585, 2.075, 2.712, 3.514, 4.493, 5.66");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2919, 0.3541, 0.5217, 0.77, 1.123, 1.618, 2.285, 3.154, 4.243, 5.559",\
                 "0.2919, 0.3539, 0.5221, 0.7704, 1.124, 1.618, 2.284, 3.154, 4.238, 5.56",\
                 "0.292, 0.3539, 0.5216, 0.7706, 1.124, 1.617, 2.284, 3.154, 4.241, 5.558",\
                 "0.2926, 0.3548, 0.5228, 0.7714, 1.124, 1.617, 2.284, 3.151, 4.242, 5.556",\
                 "0.3012, 0.3634, 0.5308, 0.7776, 1.129, 1.62, 2.285, 3.155, 4.239, 5.56",\
                 "0.3194, 0.382, 0.5514, 0.7952, 1.142, 1.629, 2.291, 3.157, 4.243, 5.558",\
                 "0.34, 0.4044, 0.5774, 0.823, 1.164, 1.645, 2.301, 3.159, 4.246, 5.556",\
                 "0.3684, 0.4332, 0.61, 0.8544, 1.194, 1.668, 2.316, 3.17, 4.247, 5.559",\
                 "0.4004, 0.4682, 0.6504, 0.8996, 1.233, 1.701, 2.34, 3.183, 4.253, 5.566",\
                 "0.4336, 0.5046, 0.694, 0.9542, 1.288, 1.748, 2.374, 3.206, 4.266, 5.564");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1987, 0.2584, 0.4544, 0.8192, 1.407, 2.255, 3.38, 4.807, 6.541, 8.606",\
                 "0.1988, 0.2584, 0.4554, 0.8186, 1.407, 2.255, 3.381, 4.802, 6.536, 8.605",\
                 "0.1984, 0.2572, 0.4545, 0.819, 1.407, 2.255, 3.381, 4.806, 6.539, 8.608",\
                 "0.1994, 0.2592, 0.4558, 0.8194, 1.409, 2.255, 3.381, 4.804, 6.539, 8.613",\
                 "0.2074, 0.267, 0.4628, 0.8236, 1.408, 2.255, 3.381, 4.806, 6.537, 8.623",\
                 "0.2188, 0.2784, 0.4732, 0.8336, 1.413, 2.256, 3.382, 4.803, 6.54, 8.611",\
                 "0.2336, 0.2934, 0.4888, 0.8464, 1.419, 2.258, 3.387, 4.801, 6.539, 8.608",\
                 "0.253, 0.3112, 0.5086, 0.8634, 1.431, 2.262, 3.382, 4.803, 6.532, 8.604",\
                 "0.2772, 0.3344, 0.5302, 0.8874, 1.449, 2.276, 3.386, 4.802, 6.536, 8.618",\
                 "0.3008, 0.361, 0.556, 0.9126, 1.474, 2.296, 3.401, 4.808, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7185, 0.7784, 0.946, 1.189, 1.492, 1.864, 2.317, 2.868, 3.531, 4.318",\
                 "0.7355, 0.7955, 0.9637, 1.205, 1.509, 1.88, 2.334, 2.885, 3.548, 4.335",\
                 "0.8044, 0.8646, 1.032, 1.274, 1.578, 1.95, 2.403, 2.954, 3.617, 4.404",\
                 "0.941, 1.001, 1.168, 1.411, 1.714, 2.086, 2.539, 3.09, 3.753, 4.54",\
                 "1.139, 1.199, 1.367, 1.61, 1.914, 2.285, 2.739, 3.29, 3.953, 4.74",\
                 "1.378, 1.44, 1.612, 1.859, 2.166, 2.539, 2.992, 3.543, 4.206, 4.993",\
                 "1.66, 1.723, 1.901, 2.154, 2.466, 2.843, 3.299, 3.85, 4.513, 5.299",\
                 "1.986, 2.053, 2.236, 2.497, 2.815, 3.196, 3.656, 4.208, 4.872, 5.658",\
                 "2.354, 2.425, 2.616, 2.887, 3.215, 3.603, 4.066, 4.621, 5.285, 6.071",\
                 "2.766, 2.84, 3.039, 3.323, 3.664, 4.062, 4.532, 5.091, 5.755, 6.542");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.604, 0.6502, 0.7922, 1.031, 1.381, 1.866, 2.505, 3.309, 4.293, 5.464",\
                 "0.617, 0.6632, 0.805, 1.043, 1.394, 1.879, 2.518, 3.322, 4.305, 5.478",\
                 "0.6604, 0.7067, 0.8487, 1.087, 1.437, 1.923, 2.561, 3.366, 4.346, 5.519",\
                 "0.726, 0.7722, 0.9138, 1.152, 1.502, 1.988, 2.625, 3.431, 4.413, 5.585",\
                 "0.7935, 0.8407, 0.9838, 1.223, 1.573, 2.058, 2.695, 3.5, 4.481, 5.652",\
                 "0.8431, 0.8915, 1.037, 1.279, 1.63, 2.114, 2.752, 3.556, 4.538, 5.709",\
                 "0.8687, 0.9186, 1.068, 1.312, 1.664, 2.148, 2.785, 3.588, 4.569, 5.74",\
                 "0.8628, 0.9151, 1.069, 1.318, 1.672, 2.155, 2.791, 3.594, 4.573, 5.742",\
                 "0.8191, 0.8742, 1.033, 1.288, 1.647, 2.133, 2.768, 3.569, 4.549, 5.717",\
                 "0.7352, 0.7939, 0.9592, 1.22, 1.584, 2.075, 2.713, 3.514, 4.493, 5.661");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2919, 0.3541, 0.5217, 0.77, 1.123, 1.618, 2.285, 3.154, 4.243, 5.559",\
                 "0.2918, 0.354, 0.5215, 0.7694, 1.124, 1.618, 2.284, 3.154, 4.24, 5.56",\
                 "0.2927, 0.354, 0.5216, 0.7702, 1.124, 1.617, 2.284, 3.152, 4.243, 5.558",\
                 "0.2932, 0.3552, 0.5226, 0.77, 1.125, 1.619, 2.283, 3.152, 4.237, 5.56",\
                 "0.3012, 0.3632, 0.5308, 0.7776, 1.129, 1.62, 2.286, 3.154, 4.243, 5.558",\
                 "0.3196, 0.3824, 0.5516, 0.7948, 1.141, 1.629, 2.291, 3.153, 4.244, 5.56",\
                 "0.34, 0.4044, 0.577, 0.8222, 1.164, 1.645, 2.3, 3.162, 4.245, 5.562",\
                 "0.3674, 0.4328, 0.609, 0.8544, 1.193, 1.669, 2.317, 3.171, 4.247, 5.561",\
                 "0.4002, 0.4682, 0.6502, 0.9004, 1.233, 1.701, 2.34, 3.183, 4.253, 5.566",\
                 "0.4342, 0.5046, 0.6938, 0.953, 1.288, 1.748, 2.374, 3.205, 4.266, 5.564");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1987, 0.2584, 0.4555, 0.819, 1.407, 2.255, 3.38, 4.808, 6.541, 8.607",\
                 "0.1987, 0.2584, 0.4551, 0.8187, 1.407, 2.255, 3.38, 4.803, 6.542, 8.612",\
                 "0.1987, 0.2583, 0.4555, 0.8192, 1.407, 2.254, 3.381, 4.801, 6.537, 8.608",\
                 "0.1998, 0.2596, 0.4552, 0.8196, 1.409, 2.255, 3.381, 4.803, 6.541, 8.613",\
                 "0.2076, 0.266, 0.4624, 0.8236, 1.408, 2.255, 3.379, 4.807, 6.537, 8.606",\
                 "0.2188, 0.2784, 0.4734, 0.833, 1.413, 2.256, 3.382, 4.803, 6.54, 8.61",\
                 "0.2334, 0.2926, 0.4888, 0.8456, 1.42, 2.259, 3.386, 4.8, 6.538, 8.616",\
                 "0.2522, 0.3116, 0.5086, 0.8638, 1.431, 2.262, 3.382, 4.803, 6.549, 8.604",\
                 "0.2772, 0.3344, 0.5302, 0.8876, 1.449, 2.276, 3.387, 4.802, 6.534, 8.611",\
                 "0.3006, 0.3616, 0.5568, 0.9134, 1.476, 2.296, 3.401, 4.809, 6.536, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7185, 0.7784, 0.946, 1.189, 1.492, 1.864, 2.317, 2.868, 3.531, 4.318",\
                 "0.7355, 0.7955, 0.9637, 1.205, 1.509, 1.88, 2.334, 2.885, 3.548, 4.335",\
                 "0.8044, 0.8646, 1.032, 1.274, 1.578, 1.95, 2.403, 2.954, 3.617, 4.404",\
                 "0.941, 1.001, 1.168, 1.411, 1.714, 2.086, 2.539, 3.09, 3.753, 4.54",\
                 "1.139, 1.199, 1.367, 1.61, 1.914, 2.285, 2.739, 3.29, 3.953, 4.74",\
                 "1.378, 1.44, 1.612, 1.859, 2.166, 2.539, 2.992, 3.543, 4.206, 4.993",\
                 "1.66, 1.723, 1.901, 2.154, 2.466, 2.843, 3.299, 3.85, 4.513, 5.299",\
                 "1.986, 2.053, 2.236, 2.497, 2.815, 3.196, 3.656, 4.208, 4.872, 5.658",\
                 "2.354, 2.425, 2.616, 2.887, 3.215, 3.603, 4.066, 4.621, 5.285, 6.071",\
                 "2.766, 2.84, 3.039, 3.323, 3.664, 4.062, 4.532, 5.091, 5.755, 6.542");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.604, 0.6502, 0.7921, 1.031, 1.381, 1.866, 2.504, 3.31, 4.289, 5.462",\
                 "0.6168, 0.6632, 0.805, 1.043, 1.394, 1.879, 2.517, 3.323, 4.302, 5.474",\
                 "0.6604, 0.7067, 0.8487, 1.087, 1.437, 1.923, 2.561, 3.366, 4.346, 5.519",\
                 "0.7259, 0.7721, 0.9138, 1.152, 1.502, 1.987, 2.626, 3.429, 4.413, 5.58",\
                 "0.7935, 0.8404, 0.9838, 1.223, 1.573, 2.058, 2.695, 3.501, 4.48, 5.653",\
                 "0.8431, 0.8915, 1.037, 1.279, 1.63, 2.114, 2.752, 3.556, 4.535, 5.708",\
                 "0.8687, 0.9188, 1.068, 1.312, 1.664, 2.148, 2.785, 3.588, 4.568, 5.74",\
                 "0.8624, 0.9153, 1.069, 1.318, 1.672, 2.156, 2.791, 3.593, 4.573, 5.742",\
                 "0.8192, 0.8745, 1.033, 1.288, 1.647, 2.133, 2.768, 3.569, 4.549, 5.717",\
                 "0.7352, 0.7939, 0.9592, 1.22, 1.585, 2.075, 2.713, 3.514, 4.492, 5.66");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2919, 0.3541, 0.5217, 0.77, 1.123, 1.618, 2.285, 3.154, 4.243, 5.559",\
                 "0.2918, 0.354, 0.5213, 0.7694, 1.124, 1.618, 2.284, 3.154, 4.241, 5.561",\
                 "0.2927, 0.354, 0.5216, 0.7702, 1.124, 1.617, 2.284, 3.152, 4.243, 5.558",\
                 "0.2934, 0.355, 0.523, 0.7716, 1.125, 1.618, 2.284, 3.153, 4.237, 5.56",\
                 "0.3012, 0.3632, 0.5308, 0.7776, 1.128, 1.62, 2.285, 3.151, 4.239, 5.557",\
                 "0.3192, 0.3826, 0.5514, 0.7944, 1.142, 1.629, 2.291, 3.157, 4.242, 5.561",\
                 "0.34, 0.4046, 0.577, 0.8228, 1.164, 1.645, 2.3, 3.162, 4.245, 5.562",\
                 "0.3674, 0.4328, 0.6084, 0.854, 1.194, 1.668, 2.317, 3.171, 4.247, 5.562",\
                 "0.4002, 0.4682, 0.6502, 0.9004, 1.233, 1.701, 2.34, 3.183, 4.253, 5.566",\
                 "0.4346, 0.5056, 0.6938, 0.954, 1.287, 1.748, 2.374, 3.206, 4.266, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1987, 0.2585, 0.4556, 0.8188, 1.407, 2.254, 3.381, 4.802, 6.536, 8.608",\
                 "0.1988, 0.2584, 0.454, 0.8187, 1.407, 2.255, 3.381, 4.802, 6.535, 8.605",\
                 "0.1984, 0.2572, 0.4545, 0.819, 1.407, 2.255, 3.381, 4.806, 6.539, 8.608",\
                 "0.1998, 0.2592, 0.4548, 0.8194, 1.406, 2.259, 3.38, 4.804, 6.537, 8.605",\
                 "0.2072, 0.2678, 0.4624, 0.8232, 1.407, 2.254, 3.381, 4.806, 6.538, 8.604",\
                 "0.2188, 0.2784, 0.4734, 0.833, 1.413, 2.257, 3.381, 4.803, 6.538, 8.624",\
                 "0.233, 0.292, 0.4888, 0.846, 1.42, 2.259, 3.382, 4.8, 6.538, 8.602",\
                 "0.2526, 0.3112, 0.5072, 0.8634, 1.429, 2.264, 3.381, 4.804, 6.546, 8.606",\
                 "0.2764, 0.3344, 0.5302, 0.8874, 1.449, 2.276, 3.387, 4.805, 6.536, 8.601",\
                 "0.3, 0.361, 0.5562, 0.9126, 1.476, 2.295, 3.407, 4.811, 6.539, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7487, 0.8098, 0.9804, 1.226, 1.534, 1.909, 2.365, 2.917, 3.581, 4.368",\
                 "0.7658, 0.8268, 0.9979, 1.244, 1.551, 1.926, 2.381, 2.934, 3.598, 4.385",\
                 "0.8348, 0.8959, 1.067, 1.312, 1.62, 1.995, 2.45, 3.003, 3.667, 4.454",\
                 "0.9719, 1.033, 1.204, 1.449, 1.756, 2.131, 2.587, 3.14, 3.804, 4.591",\
                 "1.173, 1.234, 1.405, 1.651, 1.959, 2.334, 2.79, 3.342, 4.006, 4.794",\
                 "1.417, 1.48, 1.655, 1.905, 2.215, 2.591, 3.048, 3.6, 4.264, 5.051",\
                 "1.703, 1.768, 1.947, 2.205, 2.52, 2.9, 3.358, 3.911, 4.575, 5.362",\
                 "2.034, 2.101, 2.287, 2.552, 2.874, 3.259, 3.721, 4.275, 4.939, 5.726",\
                 "2.407, 2.477, 2.672, 2.947, 3.278, 3.669, 4.135, 4.692, 5.356, 6.142",\
                 "2.823, 2.897, 3.1, 3.388, 3.731, 4.133, 4.606, 5.166, 5.832, 6.618");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6316, 0.6783, 0.8215, 1.061, 1.413, 1.898, 2.536, 3.341, 4.322, 5.494",\
                 "0.6445, 0.6914, 0.8346, 1.074, 1.426, 1.911, 2.549, 3.354, 4.335, 5.507",\
                 "0.6886, 0.7353, 0.8787, 1.118, 1.469, 1.955, 2.593, 3.398, 4.379, 5.552",\
                 "0.7554, 0.8021, 0.9451, 1.185, 1.535, 2.021, 2.659, 3.464, 4.443, 5.615",\
                 "0.8266, 0.8743, 1.019, 1.259, 1.61, 2.094, 2.732, 3.537, 4.516, 5.69",\
                 "0.8805, 0.9295, 1.077, 1.32, 1.671, 2.156, 2.793, 3.596, 4.581, 5.751",\
                 "0.911, 0.9618, 1.112, 1.358, 1.711, 2.195, 2.832, 3.635, 4.617, 5.787",\
                 "0.9108, 0.9637, 1.118, 1.369, 1.724, 2.208, 2.844, 3.646, 4.626, 5.794",\
                 "0.8731, 0.9292, 1.089, 1.346, 1.705, 2.191, 2.826, 3.627, 4.607, 5.775",\
                 "0.7945, 0.8535, 1.02, 1.283, 1.648, 2.138, 2.776, 3.577, 4.555, 5.724");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2995, 0.3626, 0.5331, 0.7834, 1.137, 1.63, 2.295, 3.161, 4.242, 5.562",\
                 "0.2998, 0.3625, 0.5336, 0.7834, 1.137, 1.631, 2.296, 3.159, 4.247, 5.563",\
                 "0.2996, 0.3628, 0.5332, 0.7824, 1.137, 1.629, 2.295, 3.162, 4.246, 5.563",\
                 "0.3008, 0.3634, 0.5342, 0.784, 1.138, 1.632, 2.295, 3.162, 4.243, 5.563",\
                 "0.3084, 0.3714, 0.542, 0.7896, 1.142, 1.632, 2.298, 3.16, 4.247, 5.562",\
                 "0.3266, 0.3908, 0.5624, 0.8066, 1.155, 1.642, 2.301, 3.165, 4.248, 5.563",\
                 "0.3474, 0.413, 0.5884, 0.8356, 1.178, 1.658, 2.311, 3.17, 4.25, 5.564",\
                 "0.3752, 0.442, 0.6202, 0.8688, 1.208, 1.682, 2.328, 3.18, 4.256, 5.566",\
                 "0.408, 0.4766, 0.6618, 0.9138, 1.249, 1.715, 2.351, 3.193, 4.261, 5.567",\
                 "0.4422, 0.5146, 0.7076, 0.9664, 1.301, 1.763, 2.386, 3.216, 4.273, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2021, 0.262, 0.4596, 0.8231, 1.408, 2.261, 3.382, 4.801, 6.537, 8.609",\
                 "0.2022, 0.262, 0.4596, 0.8231, 1.408, 2.26, 3.382, 4.801, 6.537, 8.609",\
                 "0.2021, 0.2619, 0.4595, 0.8232, 1.41, 2.259, 3.381, 4.802, 6.539, 8.612",\
                 "0.2032, 0.2632, 0.4604, 0.8236, 1.408, 2.261, 3.381, 4.804, 6.537, 8.604",\
                 "0.2112, 0.2694, 0.466, 0.827, 1.41, 2.261, 3.381, 4.804, 6.535, 8.609",\
                 "0.2214, 0.2812, 0.479, 0.8376, 1.416, 2.263, 3.38, 4.8, 6.536, 8.607",\
                 "0.2376, 0.296, 0.4932, 0.8496, 1.422, 2.259, 3.385, 4.798, 6.539, 8.619",\
                 "0.2554, 0.3154, 0.5116, 0.868, 1.433, 2.264, 3.383, 4.801, 6.545, 8.605",\
                 "0.2808, 0.34, 0.5346, 0.8912, 1.453, 2.274, 3.386, 4.804, 6.533, 8.601",\
                 "0.3054, 0.3664, 0.562, 0.9196, 1.479, 2.296, 3.403, 4.807, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7488, 0.8098, 0.9809, 1.226, 1.534, 1.909, 2.364, 2.917, 3.581, 4.368",\
                 "0.7659, 0.8268, 0.9979, 1.244, 1.551, 1.926, 2.381, 2.934, 3.598, 4.385",\
                 "0.8348, 0.8959, 1.067, 1.312, 1.62, 1.995, 2.45, 3.003, 3.667, 4.454",\
                 "0.9718, 1.033, 1.204, 1.449, 1.756, 2.131, 2.587, 3.14, 3.803, 4.591",\
                 "1.173, 1.234, 1.405, 1.651, 1.959, 2.334, 2.79, 3.342, 4.006, 4.793",\
                 "1.416, 1.479, 1.655, 1.905, 2.215, 2.591, 3.048, 3.6, 4.264, 5.051",\
                 "1.703, 1.768, 1.947, 2.204, 2.52, 2.9, 3.358, 3.911, 4.575, 5.362",\
                 "2.034, 2.101, 2.287, 2.552, 2.874, 3.259, 3.721, 4.275, 4.939, 5.725",\
                 "2.407, 2.477, 2.671, 2.947, 3.278, 3.67, 4.135, 4.691, 5.356, 6.142",\
                 "2.823, 2.898, 3.1, 3.387, 3.731, 4.133, 4.606, 5.166, 5.832, 6.618");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6314, 0.6782, 0.8214, 1.061, 1.412, 1.898, 2.536, 3.341, 4.323, 5.496",\
                 "0.6446, 0.6914, 0.8346, 1.074, 1.426, 1.911, 2.549, 3.354, 4.335, 5.507",\
                 "0.6886, 0.7353, 0.8787, 1.118, 1.469, 1.955, 2.593, 3.398, 4.379, 5.552",\
                 "0.7554, 0.8021, 0.9451, 1.185, 1.535, 2.021, 2.659, 3.464, 4.447, 5.617",\
                 "0.8266, 0.8743, 1.019, 1.259, 1.61, 2.094, 2.732, 3.537, 4.516, 5.69",\
                 "0.8805, 0.9295, 1.077, 1.32, 1.671, 2.156, 2.793, 3.597, 4.581, 5.752",\
                 "0.911, 0.9618, 1.112, 1.358, 1.711, 2.195, 2.832, 3.635, 4.617, 5.786",\
                 "0.911, 0.9637, 1.118, 1.369, 1.724, 2.208, 2.844, 3.646, 4.626, 5.796",\
                 "0.8733, 0.9291, 1.089, 1.346, 1.705, 2.191, 2.826, 3.627, 4.607, 5.775",\
                 "0.7948, 0.8538, 1.021, 1.283, 1.648, 2.139, 2.776, 3.577, 4.555, 5.723");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2995, 0.3626, 0.5335, 0.782, 1.137, 1.63, 2.295, 3.161, 4.243, 5.562",\
                 "0.2996, 0.3626, 0.5338, 0.7826, 1.137, 1.631, 2.295, 3.158, 4.242, 5.561",\
                 "0.2996, 0.3628, 0.5332, 0.7824, 1.137, 1.629, 2.295, 3.162, 4.246, 5.563",\
                 "0.3004, 0.3636, 0.5346, 0.7838, 1.138, 1.631, 2.295, 3.162, 4.243, 5.562",\
                 "0.308, 0.3712, 0.5418, 0.7886, 1.142, 1.633, 2.297, 3.162, 4.242, 5.561",\
                 "0.327, 0.391, 0.5626, 0.8066, 1.155, 1.641, 2.301, 3.161, 4.249, 5.563",\
                 "0.3474, 0.413, 0.5886, 0.8346, 1.178, 1.658, 2.313, 3.17, 4.248, 5.564",\
                 "0.3752, 0.442, 0.62, 0.8688, 1.208, 1.682, 2.328, 3.18, 4.256, 5.566",\
                 "0.408, 0.4766, 0.6618, 0.914, 1.247, 1.715, 2.353, 3.193, 4.261, 5.569",\
                 "0.4422, 0.5148, 0.7076, 0.9668, 1.301, 1.762, 2.386, 3.216, 4.272, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2022, 0.2624, 0.4592, 0.8227, 1.411, 2.256, 3.38, 4.801, 6.54, 8.612",\
                 "0.2022, 0.262, 0.4595, 0.8231, 1.408, 2.261, 3.382, 4.801, 6.537, 8.609",\
                 "0.2021, 0.2619, 0.4595, 0.8232, 1.41, 2.259, 3.381, 4.802, 6.539, 8.612",\
                 "0.2032, 0.2624, 0.4596, 0.823, 1.409, 2.255, 3.381, 4.803, 6.539, 8.61",\
                 "0.2112, 0.2694, 0.466, 0.827, 1.41, 2.261, 3.381, 4.804, 6.535, 8.609",\
                 "0.2214, 0.2812, 0.479, 0.8376, 1.416, 2.262, 3.381, 4.806, 6.539, 8.61",\
                 "0.2376, 0.296, 0.4938, 0.85, 1.424, 2.26, 3.38, 4.798, 6.539, 8.613",\
                 "0.2558, 0.3156, 0.5116, 0.8682, 1.434, 2.264, 3.382, 4.801, 6.545, 8.601",\
                 "0.2794, 0.3392, 0.5346, 0.8912, 1.453, 2.275, 3.385, 4.802, 6.536, 8.602",\
                 "0.3062, 0.3652, 0.563, 0.9192, 1.478, 2.297, 3.401, 4.807, 6.536, 8.598");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7488, 0.8098, 0.9804, 1.226, 1.534, 1.909, 2.364, 2.917, 3.581, 4.368",\
                 "0.7658, 0.8267, 0.9979, 1.244, 1.551, 1.926, 2.381, 2.934, 3.598, 4.385",\
                 "0.8348, 0.8959, 1.067, 1.312, 1.62, 1.995, 2.45, 3.003, 3.667, 4.454",\
                 "0.9718, 1.033, 1.203, 1.449, 1.756, 2.131, 2.587, 3.14, 3.804, 4.591",\
                 "1.173, 1.234, 1.405, 1.651, 1.959, 2.334, 2.79, 3.342, 4.006, 4.793",\
                 "1.417, 1.48, 1.655, 1.905, 2.215, 2.591, 3.048, 3.6, 4.264, 5.051",\
                 "1.703, 1.768, 1.947, 2.204, 2.52, 2.9, 3.358, 3.911, 4.575, 5.362",\
                 "2.034, 2.101, 2.287, 2.552, 2.873, 3.259, 3.721, 4.275, 4.939, 5.726",\
                 "2.407, 2.477, 2.671, 2.947, 3.278, 3.67, 4.135, 4.692, 5.356, 6.142",\
                 "2.823, 2.897, 3.1, 3.387, 3.731, 4.133, 4.606, 5.166, 5.832, 6.618");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6315, 0.6783, 0.8214, 1.061, 1.413, 1.898, 2.536, 3.34, 4.324, 5.492",\
                 "0.6445, 0.6914, 0.8346, 1.074, 1.426, 1.911, 2.549, 3.354, 4.335, 5.507",\
                 "0.6886, 0.7353, 0.8787, 1.118, 1.469, 1.955, 2.593, 3.398, 4.379, 5.552",\
                 "0.7554, 0.8021, 0.9451, 1.184, 1.535, 2.021, 2.659, 3.464, 4.443, 5.615",\
                 "0.8266, 0.8743, 1.019, 1.259, 1.61, 2.094, 2.732, 3.537, 4.516, 5.69",\
                 "0.8805, 0.9295, 1.077, 1.32, 1.671, 2.156, 2.793, 3.596, 4.581, 5.751",\
                 "0.9113, 0.9619, 1.112, 1.358, 1.711, 2.195, 2.831, 3.635, 4.616, 5.787",\
                 "0.911, 0.9637, 1.118, 1.369, 1.724, 2.208, 2.844, 3.646, 4.626, 5.794",\
                 "0.8737, 0.9293, 1.089, 1.346, 1.705, 2.191, 2.826, 3.627, 4.607, 5.775",\
                 "0.7948, 0.8538, 1.021, 1.283, 1.648, 2.139, 2.776, 3.577, 4.555, 5.723");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2995, 0.3626, 0.5332, 0.7818, 1.137, 1.63, 2.295, 3.161, 4.242, 5.562",\
                 "0.2996, 0.3632, 0.534, 0.7822, 1.137, 1.631, 2.296, 3.159, 4.247, 5.563",\
                 "0.2996, 0.3628, 0.5332, 0.7824, 1.137, 1.629, 2.295, 3.162, 4.246, 5.563",\
                 "0.3002, 0.3636, 0.5344, 0.7838, 1.138, 1.63, 2.295, 3.161, 4.242, 5.562",\
                 "0.3082, 0.3714, 0.5418, 0.7894, 1.142, 1.633, 2.296, 3.16, 4.246, 5.558",\
                 "0.327, 0.3908, 0.5624, 0.8066, 1.155, 1.642, 2.301, 3.162, 4.249, 5.562",\
                 "0.3474, 0.413, 0.5884, 0.8346, 1.178, 1.659, 2.313, 3.17, 4.246, 5.564",\
                 "0.3754, 0.4414, 0.6198, 0.869, 1.209, 1.682, 2.328, 3.179, 4.256, 5.566",\
                 "0.408, 0.4766, 0.661, 0.9142, 1.249, 1.715, 2.353, 3.193, 4.261, 5.569",\
                 "0.4422, 0.5144, 0.7064, 0.9672, 1.302, 1.761, 2.39, 3.216, 4.272, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2022, 0.2624, 0.4595, 0.823, 1.409, 2.256, 3.381, 4.8, 6.538, 8.62",\
                 "0.2022, 0.262, 0.4595, 0.8231, 1.408, 2.261, 3.382, 4.801, 6.537, 8.609",\
                 "0.2021, 0.2619, 0.4595, 0.8232, 1.41, 2.259, 3.381, 4.802, 6.539, 8.612",\
                 "0.2032, 0.2632, 0.4604, 0.8236, 1.408, 2.261, 3.381, 4.804, 6.537, 8.604",\
                 "0.2112, 0.2694, 0.466, 0.827, 1.41, 2.261, 3.381, 4.804, 6.535, 8.609",\
                 "0.2214, 0.2812, 0.479, 0.8376, 1.416, 2.262, 3.381, 4.8, 6.536, 8.607",\
                 "0.2372, 0.2966, 0.493, 0.85, 1.422, 2.26, 3.385, 4.801, 6.539, 8.617",\
                 "0.2558, 0.3152, 0.5116, 0.8682, 1.433, 2.263, 3.382, 4.804, 6.548, 8.605",\
                 "0.2788, 0.3386, 0.5346, 0.8912, 1.453, 2.275, 3.387, 4.801, 6.535, 8.614",\
                 "0.3062, 0.3646, 0.563, 0.9192, 1.477, 2.297, 3.401, 4.807, 6.536, 8.598");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7488, 0.8098, 0.9809, 1.226, 1.534, 1.909, 2.364, 2.917, 3.581, 4.368",\
                 "0.7659, 0.8269, 0.9979, 1.244, 1.551, 1.926, 2.382, 2.934, 3.598, 4.385",\
                 "0.8348, 0.8959, 1.067, 1.312, 1.62, 1.995, 2.45, 3.003, 3.667, 4.454",\
                 "0.9718, 1.033, 1.204, 1.449, 1.756, 2.131, 2.587, 3.139, 3.803, 4.591",\
                 "1.173, 1.234, 1.405, 1.651, 1.959, 2.334, 2.79, 3.342, 4.006, 4.793",\
                 "1.417, 1.48, 1.655, 1.905, 2.215, 2.591, 3.048, 3.6, 4.264, 5.051",\
                 "1.703, 1.768, 1.947, 2.204, 2.52, 2.9, 3.358, 3.911, 4.575, 5.362",\
                 "2.033, 2.101, 2.287, 2.551, 2.873, 3.259, 3.721, 4.275, 4.939, 5.726",\
                 "2.407, 2.477, 2.671, 2.947, 3.278, 3.67, 4.135, 4.691, 5.356, 6.143",\
                 "2.823, 2.898, 3.1, 3.387, 3.731, 4.134, 4.606, 5.166, 5.832, 6.618");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6315, 0.6783, 0.8215, 1.061, 1.412, 1.898, 2.536, 3.339, 4.323, 5.491",\
                 "0.6446, 0.6912, 0.8346, 1.074, 1.426, 1.911, 2.549, 3.353, 4.334, 5.507",\
                 "0.6886, 0.7353, 0.8787, 1.118, 1.469, 1.955, 2.593, 3.398, 4.379, 5.552",\
                 "0.7554, 0.8022, 0.9451, 1.184, 1.535, 2.021, 2.659, 3.464, 4.443, 5.616",\
                 "0.8266, 0.8743, 1.019, 1.259, 1.61, 2.094, 2.732, 3.537, 4.516, 5.69",\
                 "0.8805, 0.9295, 1.077, 1.32, 1.671, 2.156, 2.793, 3.597, 4.581, 5.752",\
                 "0.9113, 0.9619, 1.112, 1.358, 1.711, 2.195, 2.831, 3.635, 4.616, 5.787",\
                 "0.911, 0.9637, 1.118, 1.369, 1.724, 2.208, 2.844, 3.646, 4.626, 5.795",\
                 "0.8733, 0.9291, 1.089, 1.346, 1.705, 2.191, 2.826, 3.627, 4.607, 5.775",\
                 "0.7948, 0.8538, 1.021, 1.283, 1.648, 2.139, 2.776, 3.577, 4.555, 5.723");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2995, 0.3626, 0.5336, 0.782, 1.137, 1.63, 2.295, 3.161, 4.243, 5.562",\
                 "0.2995, 0.3628, 0.5341, 0.7834, 1.137, 1.631, 2.295, 3.161, 4.243, 5.563",\
                 "0.2996, 0.3628, 0.5332, 0.7824, 1.137, 1.629, 2.295, 3.162, 4.246, 5.563",\
                 "0.3004, 0.3634, 0.534, 0.7842, 1.138, 1.63, 2.295, 3.161, 4.242, 5.562",\
                 "0.3082, 0.3712, 0.5422, 0.7886, 1.142, 1.634, 2.297, 3.161, 4.246, 5.563",\
                 "0.3268, 0.3908, 0.5626, 0.8066, 1.155, 1.642, 2.302, 3.165, 4.249, 5.556",\
                 "0.3474, 0.413, 0.5884, 0.8346, 1.178, 1.657, 2.313, 3.17, 4.251, 5.561",\
                 "0.375, 0.4414, 0.62, 0.869, 1.209, 1.682, 2.328, 3.179, 4.256, 5.564",\
                 "0.408, 0.4766, 0.6608, 0.9138, 1.247, 1.715, 2.352, 3.193, 4.261, 5.569",\
                 "0.4422, 0.5148, 0.7066, 0.9672, 1.301, 1.763, 2.39, 3.216, 4.272, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2021, 0.2623, 0.4594, 0.8227, 1.409, 2.256, 3.38, 4.801, 6.54, 8.616",\
                 "0.202, 0.2626, 0.4585, 0.8231, 1.408, 2.256, 3.38, 4.807, 6.535, 8.608",\
                 "0.2021, 0.2619, 0.4595, 0.8232, 1.41, 2.259, 3.381, 4.802, 6.539, 8.612",\
                 "0.2032, 0.2632, 0.4606, 0.8234, 1.409, 2.261, 3.381, 4.804, 6.538, 8.606",\
                 "0.2112, 0.2694, 0.466, 0.827, 1.41, 2.261, 3.381, 4.804, 6.535, 8.609",\
                 "0.2214, 0.2812, 0.479, 0.8376, 1.416, 2.262, 3.381, 4.806, 6.539, 8.61",\
                 "0.2372, 0.2966, 0.4932, 0.8494, 1.422, 2.26, 3.385, 4.801, 6.539, 8.617",\
                 "0.2558, 0.3154, 0.5118, 0.868, 1.433, 2.264, 3.382, 4.801, 6.546, 8.603",\
                 "0.2794, 0.3392, 0.5346, 0.8912, 1.453, 2.275, 3.388, 4.804, 6.536, 8.602",\
                 "0.3062, 0.3646, 0.563, 0.9192, 1.477, 2.297, 3.401, 4.807, 6.536, 8.598");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7488, 0.8098, 0.9809, 1.226, 1.534, 1.909, 2.364, 2.917, 3.581, 4.368",\
                 "0.7658, 0.8269, 0.9979, 1.244, 1.551, 1.926, 2.381, 2.934, 3.598, 4.385",\
                 "0.8348, 0.8957, 1.067, 1.313, 1.62, 1.995, 2.45, 3.003, 3.667, 4.454",\
                 "0.9717, 1.033, 1.204, 1.449, 1.756, 2.131, 2.587, 3.139, 3.803, 4.591",\
                 "1.173, 1.234, 1.405, 1.651, 1.959, 2.334, 2.79, 3.342, 4.006, 4.794",\
                 "1.416, 1.479, 1.654, 1.905, 2.215, 2.591, 3.048, 3.6, 4.263, 5.052",\
                 "1.703, 1.768, 1.947, 2.204, 2.52, 2.9, 3.358, 3.911, 4.575, 5.362",\
                 "2.034, 2.101, 2.287, 2.551, 2.873, 3.258, 3.72, 4.274, 4.938, 5.725",\
                 "2.407, 2.477, 2.671, 2.947, 3.278, 3.669, 4.135, 4.692, 5.356, 6.142",\
                 "2.823, 2.897, 3.099, 3.387, 3.731, 4.133, 4.605, 5.166, 5.832, 6.618");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6315, 0.6782, 0.8215, 1.061, 1.413, 1.898, 2.535, 3.341, 4.323, 5.495",\
                 "0.6445, 0.6914, 0.8346, 1.074, 1.426, 1.911, 2.549, 3.354, 4.335, 5.507",\
                 "0.6886, 0.7353, 0.8787, 1.118, 1.469, 1.955, 2.593, 3.398, 4.379, 5.552",\
                 "0.7554, 0.8021, 0.9451, 1.185, 1.536, 2.021, 2.659, 3.464, 4.443, 5.615",\
                 "0.8266, 0.8742, 1.019, 1.259, 1.61, 2.094, 2.732, 3.537, 4.516, 5.69",\
                 "0.8805, 0.9295, 1.077, 1.32, 1.671, 2.156, 2.793, 3.596, 4.581, 5.751",\
                 "0.9113, 0.9619, 1.112, 1.358, 1.711, 2.195, 2.832, 3.635, 4.617, 5.788",\
                 "0.9102, 0.9634, 1.118, 1.369, 1.724, 2.208, 2.844, 3.646, 4.626, 5.794",\
                 "0.8736, 0.9294, 1.089, 1.346, 1.705, 2.191, 2.826, 3.627, 4.607, 5.775",\
                 "0.7948, 0.8539, 1.02, 1.284, 1.648, 2.139, 2.776, 3.577, 4.556, 5.724");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2995, 0.3626, 0.5335, 0.782, 1.137, 1.63, 2.295, 3.161, 4.243, 5.562",\
                 "0.2994, 0.3628, 0.5342, 0.7832, 1.137, 1.63, 2.295, 3.161, 4.243, 5.562",\
                 "0.2997, 0.3631, 0.5336, 0.783, 1.137, 1.629, 2.296, 3.159, 4.246, 5.563",\
                 "0.3004, 0.3634, 0.5346, 0.7828, 1.138, 1.631, 2.295, 3.162, 4.242, 5.559",\
                 "0.3084, 0.3714, 0.543, 0.7902, 1.143, 1.633, 2.297, 3.158, 4.246, 5.563",\
                 "0.3268, 0.3906, 0.5626, 0.8066, 1.154, 1.642, 2.301, 3.162, 4.245, 5.558",\
                 "0.3474, 0.4128, 0.588, 0.8348, 1.178, 1.657, 2.312, 3.17, 4.251, 5.564",\
                 "0.3748, 0.4412, 0.6198, 0.87, 1.208, 1.683, 2.328, 3.179, 4.252, 5.565",\
                 "0.408, 0.4766, 0.6616, 0.9134, 1.248, 1.715, 2.353, 3.193, 4.261, 5.569",\
                 "0.441, 0.5148, 0.706, 0.968, 1.301, 1.761, 2.386, 3.216, 4.271, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2019, 0.2609, 0.46, 0.8234, 1.409, 2.256, 3.382, 4.802, 6.539, 8.611",\
                 "0.2022, 0.262, 0.4596, 0.8232, 1.408, 2.26, 3.381, 4.801, 6.537, 8.609",\
                 "0.2021, 0.2619, 0.4596, 0.8234, 1.409, 2.259, 3.381, 4.802, 6.538, 8.611",\
                 "0.203, 0.2632, 0.4594, 0.8236, 1.408, 2.26, 3.381, 4.804, 6.538, 8.605",\
                 "0.2112, 0.2694, 0.4664, 0.8272, 1.41, 2.261, 3.381, 4.804, 6.535, 8.609",\
                 "0.2216, 0.2812, 0.479, 0.8368, 1.415, 2.257, 3.381, 4.801, 6.537, 8.608",\
                 "0.2372, 0.2966, 0.493, 0.8496, 1.421, 2.26, 3.385, 4.802, 6.538, 8.607",\
                 "0.2562, 0.3166, 0.5124, 0.8694, 1.433, 2.266, 3.382, 4.802, 6.533, 8.605",\
                 "0.2792, 0.3386, 0.5344, 0.8912, 1.454, 2.274, 3.387, 4.803, 6.536, 8.603",\
                 "0.3046, 0.3664, 0.5614, 0.9188, 1.477, 2.296, 3.4, 4.807, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7488, 0.8098, 0.9809, 1.226, 1.534, 1.909, 2.364, 2.917, 3.581, 4.368",\
                 "0.7659, 0.8268, 0.9979, 1.244, 1.551, 1.926, 2.382, 2.934, 3.598, 4.385",\
                 "0.8348, 0.8959, 1.067, 1.313, 1.62, 1.994, 2.45, 3.003, 3.667, 4.454",\
                 "0.9718, 1.033, 1.204, 1.449, 1.756, 2.131, 2.587, 3.14, 3.804, 4.591",\
                 "1.173, 1.234, 1.405, 1.651, 1.959, 2.334, 2.79, 3.342, 4.006, 4.793",\
                 "1.417, 1.48, 1.655, 1.905, 2.215, 2.591, 3.048, 3.601, 4.264, 5.051",\
                 "1.703, 1.767, 1.947, 2.204, 2.521, 2.901, 3.358, 3.912, 4.575, 5.362",\
                 "2.034, 2.101, 2.287, 2.551, 2.873, 3.258, 3.72, 4.274, 4.939, 5.725",\
                 "2.407, 2.477, 2.672, 2.946, 3.278, 3.669, 4.135, 4.691, 5.356, 6.142",\
                 "2.823, 2.897, 3.099, 3.387, 3.731, 4.133, 4.605, 5.166, 5.832, 6.619");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6315, 0.6782, 0.8215, 1.061, 1.412, 1.898, 2.536, 3.341, 4.323, 5.492",\
                 "0.6445, 0.6914, 0.8345, 1.074, 1.426, 1.911, 2.549, 3.354, 4.336, 5.508",\
                 "0.6886, 0.7353, 0.8787, 1.118, 1.469, 1.955, 2.593, 3.398, 4.379, 5.552",\
                 "0.7554, 0.802, 0.9451, 1.185, 1.536, 2.021, 2.659, 3.464, 4.443, 5.615",\
                 "0.8266, 0.8742, 1.019, 1.259, 1.61, 2.094, 2.732, 3.537, 4.516, 5.69",\
                 "0.8805, 0.9295, 1.077, 1.32, 1.671, 2.156, 2.793, 3.597, 4.581, 5.752",\
                 "0.9113, 0.9619, 1.112, 1.358, 1.711, 2.195, 2.831, 3.635, 4.617, 5.788",\
                 "0.9102, 0.9634, 1.118, 1.369, 1.724, 2.208, 2.844, 3.646, 4.626, 5.795",\
                 "0.8733, 0.9291, 1.089, 1.345, 1.705, 2.191, 2.826, 3.627, 4.607, 5.775",\
                 "0.7948, 0.8538, 1.021, 1.283, 1.648, 2.138, 2.776, 3.577, 4.556, 5.724");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2996, 0.3626, 0.5336, 0.782, 1.137, 1.63, 2.295, 3.161, 4.247, 5.562",\
                 "0.2995, 0.3628, 0.5335, 0.782, 1.138, 1.631, 2.295, 3.161, 4.247, 5.563",\
                 "0.2995, 0.3627, 0.5334, 0.7836, 1.137, 1.631, 2.296, 3.162, 4.246, 5.563",\
                 "0.3008, 0.3636, 0.5342, 0.7838, 1.138, 1.63, 2.295, 3.161, 4.242, 5.562",\
                 "0.3084, 0.3714, 0.5418, 0.7898, 1.142, 1.633, 2.297, 3.159, 4.246, 5.562",\
                 "0.3268, 0.3908, 0.5626, 0.8066, 1.155, 1.642, 2.302, 3.165, 4.244, 5.561",\
                 "0.3482, 0.4122, 0.588, 0.835, 1.178, 1.658, 2.313, 3.17, 4.249, 5.563",\
                 "0.3752, 0.441, 0.62, 0.869, 1.209, 1.682, 2.328, 3.179, 4.256, 5.565",\
                 "0.408, 0.4766, 0.662, 0.9128, 1.246, 1.715, 2.353, 3.193, 4.261, 5.569",\
                 "0.441, 0.5148, 0.7064, 0.9678, 1.301, 1.761, 2.387, 3.22, 4.271, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2021, 0.2613, 0.4596, 0.8235, 1.409, 2.256, 3.381, 4.801, 6.54, 8.605",\
                 "0.2017, 0.2619, 0.4585, 0.8233, 1.409, 2.256, 3.381, 4.801, 6.54, 8.612",\
                 "0.202, 0.262, 0.4596, 0.8234, 1.409, 2.259, 3.381, 4.802, 6.538, 8.611",\
                 "0.203, 0.2624, 0.4596, 0.8238, 1.408, 2.259, 3.381, 4.804, 6.538, 8.605",\
                 "0.2112, 0.2694, 0.4664, 0.8272, 1.41, 2.261, 3.381, 4.804, 6.535, 8.609",\
                 "0.2216, 0.2812, 0.479, 0.8368, 1.415, 2.258, 3.38, 4.801, 6.539, 8.61",\
                 "0.2372, 0.2966, 0.493, 0.8514, 1.423, 2.26, 3.384, 4.802, 6.538, 8.607",\
                 "0.2558, 0.3166, 0.5124, 0.868, 1.433, 2.264, 3.382, 4.803, 6.537, 8.601",\
                 "0.2792, 0.3384, 0.5354, 0.8932, 1.454, 2.275, 3.387, 4.803, 6.536, 8.601",\
                 "0.3062, 0.3646, 0.5618, 0.9194, 1.477, 2.296, 3.4, 4.807, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7488, 0.8098, 0.9809, 1.226, 1.534, 1.909, 2.364, 2.917, 3.581, 4.368",\
                 "0.7658, 0.8269, 0.9979, 1.244, 1.55, 1.926, 2.382, 2.934, 3.598, 4.385",\
                 "0.8348, 0.8958, 1.067, 1.313, 1.62, 1.994, 2.45, 3.003, 3.667, 4.454",\
                 "0.9718, 1.033, 1.203, 1.449, 1.756, 2.131, 2.587, 3.139, 3.803, 4.591",\
                 "1.173, 1.234, 1.406, 1.652, 1.959, 2.334, 2.79, 3.342, 4.006, 4.794",\
                 "1.417, 1.479, 1.654, 1.905, 2.216, 2.592, 3.048, 3.6, 4.264, 5.051",\
                 "1.702, 1.767, 1.947, 2.204, 2.52, 2.9, 3.358, 3.911, 4.574, 5.361",\
                 "2.034, 2.101, 2.287, 2.551, 2.873, 3.258, 3.72, 4.274, 4.938, 5.725",\
                 "2.407, 2.477, 2.671, 2.946, 3.278, 3.669, 4.135, 4.692, 5.356, 6.142",\
                 "2.823, 2.897, 3.099, 3.387, 3.731, 4.134, 4.605, 5.166, 5.832, 6.619");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6315, 0.6782, 0.8215, 1.061, 1.413, 1.898, 2.535, 3.341, 4.322, 5.49",\
                 "0.6445, 0.6914, 0.8346, 1.074, 1.426, 1.911, 2.549, 3.354, 4.335, 5.507",\
                 "0.6886, 0.7353, 0.8787, 1.118, 1.469, 1.955, 2.593, 3.398, 4.379, 5.552",\
                 "0.7555, 0.8021, 0.9451, 1.185, 1.536, 2.021, 2.659, 3.464, 4.444, 5.617",\
                 "0.8266, 0.8742, 1.019, 1.259, 1.61, 2.094, 2.732, 3.537, 4.516, 5.69",\
                 "0.8805, 0.9295, 1.077, 1.32, 1.671, 2.156, 2.794, 3.598, 4.579, 5.747",\
                 "0.9113, 0.9619, 1.112, 1.358, 1.711, 2.195, 2.832, 3.635, 4.616, 5.789",\
                 "0.9102, 0.9634, 1.119, 1.369, 1.724, 2.208, 2.844, 3.646, 4.626, 5.795",\
                 "0.8736, 0.9294, 1.089, 1.346, 1.705, 2.191, 2.826, 3.627, 4.606, 5.774",\
                 "0.7948, 0.8538, 1.021, 1.283, 1.648, 2.138, 2.776, 3.577, 4.556, 5.724");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2996, 0.3626, 0.5336, 0.782, 1.137, 1.63, 2.295, 3.161, 4.243, 5.562",\
                 "0.2997, 0.3628, 0.5335, 0.7826, 1.137, 1.631, 2.295, 3.159, 4.247, 5.562",\
                 "0.2996, 0.3626, 0.5338, 0.7826, 1.137, 1.631, 2.295, 3.159, 4.242, 5.561",\
                 "0.3002, 0.3636, 0.5342, 0.7834, 1.138, 1.63, 2.295, 3.161, 4.242, 5.562",\
                 "0.3084, 0.3714, 0.5416, 0.7902, 1.141, 1.633, 2.297, 3.159, 4.245, 5.562",\
                 "0.3268, 0.391, 0.5626, 0.8062, 1.156, 1.641, 2.301, 3.165, 4.247, 5.563",\
                 "0.3478, 0.4122, 0.5886, 0.8352, 1.178, 1.657, 2.313, 3.17, 4.247, 5.564",\
                 "0.3746, 0.4412, 0.62, 0.8684, 1.209, 1.683, 2.327, 3.179, 4.255, 5.565",\
                 "0.408, 0.4768, 0.6616, 0.9126, 1.248, 1.713, 2.353, 3.193, 4.259, 5.569",\
                 "0.441, 0.5138, 0.707, 0.9688, 1.301, 1.762, 2.388, 3.218, 4.271, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2017, 0.2621, 0.4585, 0.8227, 1.409, 2.26, 3.382, 4.802, 6.538, 8.614",\
                 "0.2022, 0.262, 0.4596, 0.8232, 1.408, 2.26, 3.381, 4.801, 6.537, 8.609",\
                 "0.2021, 0.2619, 0.4596, 0.8234, 1.409, 2.259, 3.381, 4.802, 6.538, 8.611",\
                 "0.2028, 0.2622, 0.4594, 0.8232, 1.409, 2.256, 3.381, 4.804, 6.541, 8.608",\
                 "0.2112, 0.2694, 0.4664, 0.8272, 1.41, 2.261, 3.381, 4.804, 6.535, 8.609",\
                 "0.2214, 0.2812, 0.479, 0.8366, 1.416, 2.263, 3.381, 4.804, 6.547, 8.617",\
                 "0.2372, 0.2966, 0.4934, 0.8514, 1.421, 2.26, 3.385, 4.802, 6.538, 8.607",\
                 "0.2558, 0.3166, 0.512, 0.8678, 1.433, 2.264, 3.382, 4.803, 6.538, 8.603",\
                 "0.2792, 0.3386, 0.5344, 0.8918, 1.454, 2.274, 3.387, 4.801, 6.536, 8.608",\
                 "0.3062, 0.3646, 0.5618, 0.9194, 1.477, 2.296, 3.4, 4.807, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7488, 0.8098, 0.9808, 1.226, 1.534, 1.909, 2.364, 2.917, 3.581, 4.368",\
                 "0.7658, 0.8269, 0.9978, 1.243, 1.551, 1.926, 2.381, 2.934, 3.598, 4.385",\
                 "0.8348, 0.8958, 1.067, 1.313, 1.619, 1.995, 2.45, 3.003, 3.667, 4.454",\
                 "0.9718, 1.033, 1.203, 1.449, 1.756, 2.131, 2.587, 3.14, 3.804, 4.591",\
                 "1.173, 1.234, 1.406, 1.652, 1.959, 2.334, 2.79, 3.342, 4.006, 4.794",\
                 "1.416, 1.479, 1.655, 1.905, 2.215, 2.592, 3.048, 3.6, 4.264, 5.051",\
                 "1.702, 1.768, 1.947, 2.204, 2.52, 2.9, 3.358, 3.911, 4.574, 5.361",\
                 "2.034, 2.101, 2.287, 2.551, 2.873, 3.258, 3.719, 4.274, 4.938, 5.725",\
                 "2.407, 2.477, 2.671, 2.946, 3.278, 3.669, 4.135, 4.691, 5.356, 6.142",\
                 "2.823, 2.897, 3.099, 3.387, 3.731, 4.134, 4.605, 5.166, 5.832, 6.619");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6315, 0.6783, 0.8215, 1.061, 1.412, 1.898, 2.536, 3.339, 4.323, 5.49",\
                 "0.6446, 0.6913, 0.8346, 1.074, 1.425, 1.911, 2.549, 3.354, 4.334, 5.506",\
                 "0.6886, 0.7353, 0.8787, 1.118, 1.469, 1.955, 2.593, 3.398, 4.379, 5.552",\
                 "0.7554, 0.8022, 0.9451, 1.185, 1.536, 2.021, 2.659, 3.464, 4.443, 5.615",\
                 "0.8266, 0.8742, 1.019, 1.259, 1.61, 2.094, 2.732, 3.537, 4.516, 5.69",\
                 "0.8805, 0.9295, 1.077, 1.32, 1.671, 2.156, 2.793, 3.596, 4.581, 5.752",\
                 "0.9113, 0.9619, 1.112, 1.358, 1.711, 2.195, 2.832, 3.635, 4.616, 5.789",\
                 "0.9102, 0.9634, 1.119, 1.369, 1.724, 2.208, 2.844, 3.646, 4.626, 5.795",\
                 "0.8733, 0.9291, 1.089, 1.345, 1.705, 2.191, 2.826, 3.627, 4.606, 5.774",\
                 "0.7948, 0.8538, 1.021, 1.283, 1.648, 2.138, 2.776, 3.577, 4.556, 5.724");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2996, 0.3626, 0.5334, 0.782, 1.137, 1.629, 2.295, 3.161, 4.247, 5.562",\
                 "0.3, 0.3627, 0.5339, 0.7824, 1.138, 1.631, 2.295, 3.161, 4.246, 5.563",\
                 "0.2997, 0.3626, 0.5336, 0.783, 1.138, 1.629, 2.296, 3.16, 4.247, 5.562",\
                 "0.3002, 0.3636, 0.5344, 0.7838, 1.138, 1.63, 2.295, 3.161, 4.242, 5.562",\
                 "0.3082, 0.3712, 0.5418, 0.7902, 1.141, 1.632, 2.297, 3.159, 4.245, 5.562",\
                 "0.3272, 0.3906, 0.5628, 0.8066, 1.155, 1.642, 2.301, 3.163, 4.243, 5.562",\
                 "0.348, 0.4124, 0.5884, 0.835, 1.179, 1.659, 2.312, 3.169, 4.25, 5.564",\
                 "0.3746, 0.4412, 0.62, 0.8688, 1.208, 1.683, 2.328, 3.177, 4.256, 5.565",\
                 "0.408, 0.4766, 0.661, 0.9126, 1.247, 1.715, 2.353, 3.193, 4.261, 5.569",\
                 "0.441, 0.5148, 0.707, 0.9688, 1.301, 1.762, 2.386, 3.218, 4.271, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2021, 0.2622, 0.46, 0.8225, 1.409, 2.256, 3.38, 4.802, 6.54, 8.615",\
                 "0.2021, 0.2626, 0.4596, 0.8226, 1.411, 2.256, 3.382, 4.804, 6.54, 8.606",\
                 "0.2021, 0.262, 0.4596, 0.8234, 1.409, 2.259, 3.381, 4.802, 6.538, 8.611",\
                 "0.203, 0.2632, 0.4594, 0.8236, 1.408, 2.26, 3.381, 4.804, 6.538, 8.605",\
                 "0.2112, 0.2694, 0.4664, 0.8272, 1.41, 2.261, 3.381, 4.804, 6.535, 8.609",\
                 "0.2216, 0.2812, 0.479, 0.8368, 1.415, 2.258, 3.38, 4.8, 6.538, 8.607",\
                 "0.2372, 0.2966, 0.4934, 0.8514, 1.423, 2.26, 3.381, 4.802, 6.538, 8.607",\
                 "0.2558, 0.3166, 0.5128, 0.8678, 1.433, 2.264, 3.382, 4.805, 6.545, 8.603",\
                 "0.2792, 0.3384, 0.5354, 0.8932, 1.454, 2.274, 3.387, 4.801, 6.536, 8.608",\
                 "0.3062, 0.3646, 0.5618, 0.9194, 1.477, 2.296, 3.4, 4.807, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7488, 0.8098, 0.9808, 1.226, 1.534, 1.909, 2.364, 2.917, 3.581, 4.368",\
                 "0.7658, 0.8269, 0.9978, 1.243, 1.551, 1.926, 2.381, 2.934, 3.598, 4.385",\
                 "0.8348, 0.8958, 1.067, 1.313, 1.619, 1.995, 2.45, 3.003, 3.667, 4.454",\
                 "0.9718, 1.033, 1.203, 1.449, 1.756, 2.131, 2.587, 3.14, 3.804, 4.591",\
                 "1.173, 1.234, 1.406, 1.652, 1.959, 2.334, 2.79, 3.342, 4.006, 4.794",\
                 "1.416, 1.479, 1.655, 1.905, 2.215, 2.592, 3.048, 3.6, 4.264, 5.051",\
                 "1.702, 1.768, 1.947, 2.204, 2.52, 2.9, 3.358, 3.911, 4.574, 5.361",\
                 "2.034, 2.101, 2.287, 2.551, 2.873, 3.258, 3.719, 4.274, 4.938, 5.725",\
                 "2.407, 2.477, 2.671, 2.946, 3.278, 3.669, 4.135, 4.691, 5.356, 6.142",\
                 "2.823, 2.897, 3.099, 3.387, 3.731, 4.134, 4.605, 5.166, 5.832, 6.619");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6314, 0.6782, 0.8214, 1.061, 1.412, 1.898, 2.536, 3.341, 4.323, 5.496",\
                 "0.6446, 0.6914, 0.8346, 1.074, 1.426, 1.911, 2.549, 3.354, 4.335, 5.507",\
                 "0.6886, 0.7353, 0.8787, 1.118, 1.469, 1.955, 2.593, 3.398, 4.379, 5.552",\
                 "0.7554, 0.8021, 0.9451, 1.185, 1.535, 2.021, 2.659, 3.464, 4.447, 5.617",\
                 "0.8266, 0.8743, 1.019, 1.259, 1.61, 2.094, 2.732, 3.537, 4.516, 5.69",\
                 "0.8805, 0.9295, 1.077, 1.32, 1.671, 2.156, 2.793, 3.597, 4.581, 5.752",\
                 "0.911, 0.9618, 1.112, 1.358, 1.711, 2.195, 2.832, 3.635, 4.617, 5.786",\
                 "0.911, 0.9637, 1.118, 1.369, 1.724, 2.208, 2.844, 3.646, 4.626, 5.796",\
                 "0.8733, 0.9291, 1.089, 1.346, 1.705, 2.191, 2.826, 3.627, 4.607, 5.775",\
                 "0.7948, 0.8538, 1.021, 1.283, 1.648, 2.139, 2.776, 3.577, 4.555, 5.723");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2996, 0.3626, 0.5336, 0.782, 1.137, 1.63, 2.295, 3.161, 4.243, 5.562",\
                 "0.2997, 0.3628, 0.5335, 0.7826, 1.137, 1.631, 2.295, 3.159, 4.247, 5.562",\
                 "0.2996, 0.3626, 0.5338, 0.7826, 1.137, 1.631, 2.295, 3.159, 4.242, 5.561",\
                 "0.3002, 0.3636, 0.5342, 0.7834, 1.138, 1.63, 2.295, 3.161, 4.242, 5.562",\
                 "0.3084, 0.3714, 0.5416, 0.7902, 1.141, 1.633, 2.297, 3.159, 4.245, 5.562",\
                 "0.3268, 0.391, 0.5626, 0.8062, 1.156, 1.641, 2.301, 3.165, 4.247, 5.563",\
                 "0.3478, 0.4122, 0.5886, 0.8352, 1.178, 1.657, 2.313, 3.17, 4.247, 5.564",\
                 "0.3746, 0.4412, 0.62, 0.8684, 1.209, 1.683, 2.327, 3.179, 4.255, 5.565",\
                 "0.408, 0.4768, 0.6616, 0.9126, 1.248, 1.713, 2.353, 3.193, 4.259, 5.569",\
                 "0.441, 0.5138, 0.707, 0.9688, 1.301, 1.762, 2.388, 3.218, 4.271, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2022, 0.2624, 0.4595, 0.823, 1.409, 2.256, 3.381, 4.8, 6.538, 8.62",\
                 "0.2022, 0.262, 0.4595, 0.8231, 1.408, 2.261, 3.382, 4.801, 6.537, 8.609",\
                 "0.2021, 0.2619, 0.4595, 0.8232, 1.41, 2.259, 3.381, 4.802, 6.539, 8.612",\
                 "0.2032, 0.2632, 0.4604, 0.8236, 1.408, 2.261, 3.381, 4.804, 6.537, 8.604",\
                 "0.2112, 0.2694, 0.466, 0.827, 1.41, 2.261, 3.381, 4.804, 6.535, 8.609",\
                 "0.2214, 0.2812, 0.479, 0.8376, 1.416, 2.262, 3.381, 4.8, 6.536, 8.607",\
                 "0.2372, 0.2966, 0.493, 0.85, 1.422, 2.26, 3.385, 4.801, 6.539, 8.617",\
                 "0.2558, 0.3152, 0.5116, 0.8682, 1.433, 2.263, 3.382, 4.804, 6.548, 8.605",\
                 "0.2788, 0.3386, 0.5346, 0.8912, 1.453, 2.275, 3.387, 4.801, 6.535, 8.614",\
                 "0.3062, 0.3646, 0.563, 0.9192, 1.477, 2.297, 3.401, 4.807, 6.536, 8.598");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7467, 0.8078, 0.9786, 1.224, 1.531, 1.906, 2.361, 2.914, 3.577, 4.365",\
                 "0.7638, 0.8248, 0.9959, 1.241, 1.548, 1.923, 2.378, 2.931, 3.595, 4.382",\
                 "0.8328, 0.8939, 1.065, 1.31, 1.617, 1.992, 2.447, 3, 3.664, 4.451",\
                 "0.9696, 1.03, 1.201, 1.446, 1.754, 2.128, 2.584, 3.136, 3.8, 4.587",\
                 "1.169, 1.23, 1.401, 1.647, 1.955, 2.329, 2.785, 3.337, 4.001, 4.789",\
                 "1.411, 1.474, 1.649, 1.899, 2.209, 2.585, 3.042, 3.594, 4.258, 5.045",\
                 "1.696, 1.761, 1.94, 2.197, 2.512, 2.892, 3.35, 3.903, 4.566, 5.353",\
                 "2.026, 2.093, 2.279, 2.543, 2.865, 3.249, 3.711, 4.265, 4.929, 5.716",\
                 "2.399, 2.468, 2.662, 2.936, 3.267, 3.659, 4.124, 4.681, 5.345, 6.132",\
                 "2.813, 2.888, 3.089, 3.377, 3.72, 4.121, 4.593, 5.153, 5.819, 6.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6221, 0.6689, 0.8117, 1.051, 1.402, 1.888, 2.525, 3.331, 4.312, 5.485",\
                 "0.635, 0.682, 0.8249, 1.064, 1.416, 1.901, 2.539, 3.344, 4.324, 5.497",\
                 "0.6794, 0.7261, 0.869, 1.109, 1.46, 1.945, 2.582, 3.388, 4.37, 5.542",\
                 "0.7467, 0.7935, 0.9362, 1.176, 1.526, 2.012, 2.65, 3.453, 4.436, 5.604",\
                 "0.8181, 0.8657, 1.01, 1.25, 1.601, 2.086, 2.723, 3.528, 4.511, 5.681",\
                 "0.8715, 0.9204, 1.067, 1.31, 1.662, 2.147, 2.784, 3.587, 4.571, 5.737",\
                 "0.9017, 0.9526, 1.103, 1.349, 1.701, 2.185, 2.822, 3.625, 4.606, 5.775",\
                 "0.9009, 0.9533, 1.108, 1.358, 1.713, 2.197, 2.833, 3.635, 4.614, 5.784",\
                 "0.8627, 0.9184, 1.078, 1.334, 1.694, 2.179, 2.815, 3.616, 4.595, 5.763",\
                 "0.7829, 0.8416, 1.008, 1.271, 1.635, 2.126, 2.763, 3.564, 4.543, 5.71");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2995, 0.3627, 0.5336, 0.7824, 1.137, 1.63, 2.296, 3.158, 4.245, 5.561",\
                 "0.2996, 0.3629, 0.5325, 0.782, 1.136, 1.63, 2.294, 3.161, 4.244, 5.56",\
                 "0.2998, 0.3627, 0.5336, 0.7818, 1.136, 1.63, 2.295, 3.159, 4.242, 5.557",\
                 "0.3004, 0.3636, 0.5342, 0.7832, 1.137, 1.629, 2.294, 3.16, 4.243, 5.561",\
                 "0.308, 0.3716, 0.5412, 0.7892, 1.141, 1.632, 2.296, 3.161, 4.244, 5.555",\
                 "0.327, 0.3908, 0.5622, 0.806, 1.155, 1.641, 2.301, 3.164, 4.248, 5.559",\
                 "0.3464, 0.412, 0.5878, 0.834, 1.177, 1.657, 2.312, 3.169, 4.249, 5.562",\
                 "0.374, 0.4404, 0.6186, 0.8668, 1.207, 1.682, 2.327, 3.179, 4.251, 5.562",\
                 "0.4068, 0.475, 0.659, 0.9124, 1.246, 1.715, 2.35, 3.193, 4.258, 5.568",\
                 "0.4402, 0.513, 0.7042, 0.9674, 1.3, 1.76, 2.386, 3.215, 4.271, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2011, 0.2607, 0.4584, 0.8221, 1.411, 2.256, 3.381, 4.801, 6.54, 8.612",\
                 "0.2017, 0.2613, 0.4581, 0.8217, 1.409, 2.259, 3.381, 4.803, 6.537, 8.609",\
                 "0.2013, 0.2614, 0.4582, 0.8234, 1.408, 2.256, 3.381, 4.801, 6.54, 8.612",\
                 "0.2018, 0.2624, 0.4588, 0.8228, 1.411, 2.256, 3.381, 4.803, 6.548, 8.616",\
                 "0.2108, 0.2696, 0.4658, 0.8264, 1.41, 2.256, 3.381, 4.804, 6.542, 8.608",\
                 "0.222, 0.2816, 0.478, 0.837, 1.415, 2.257, 3.38, 4.802, 6.542, 8.613",\
                 "0.2364, 0.2958, 0.4922, 0.8502, 1.422, 2.26, 3.383, 4.802, 6.539, 8.611",\
                 "0.256, 0.315, 0.5122, 0.8682, 1.433, 2.266, 3.382, 4.801, 6.534, 8.604",\
                 "0.2784, 0.3392, 0.535, 0.891, 1.453, 2.275, 3.388, 4.807, 6.535, 8.599",\
                 "0.3058, 0.366, 0.5622, 0.918, 1.477, 2.297, 3.4, 4.807, 6.536, 8.6");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7467, 0.8078, 0.9784, 1.224, 1.531, 1.906, 2.361, 2.914, 3.577, 4.365",\
                 "0.7638, 0.8247, 0.9958, 1.241, 1.548, 1.923, 2.378, 2.931, 3.595, 4.382",\
                 "0.8328, 0.8939, 1.065, 1.31, 1.617, 1.992, 2.447, 3, 3.664, 4.451",\
                 "0.9695, 1.031, 1.201, 1.446, 1.753, 2.128, 2.584, 3.136, 3.8, 4.587",\
                 "1.169, 1.23, 1.401, 1.647, 1.954, 2.329, 2.785, 3.337, 4.001, 4.788",\
                 "1.411, 1.474, 1.649, 1.899, 2.209, 2.585, 3.042, 3.594, 4.258, 5.045",\
                 "1.696, 1.761, 1.94, 2.197, 2.512, 2.892, 3.35, 3.903, 4.567, 5.353",\
                 "2.026, 2.093, 2.279, 2.543, 2.865, 3.249, 3.711, 4.265, 4.929, 5.715",\
                 "2.399, 2.468, 2.662, 2.936, 3.267, 3.659, 4.125, 4.681, 5.345, 6.132",\
                 "2.813, 2.887, 3.089, 3.376, 3.72, 4.121, 4.593, 5.153, 5.819, 6.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.622, 0.6687, 0.8119, 1.051, 1.402, 1.888, 2.526, 3.331, 4.312, 5.486",\
                 "0.6351, 0.6819, 0.8249, 1.064, 1.416, 1.901, 2.538, 3.344, 4.325, 5.498",\
                 "0.6793, 0.7261, 0.869, 1.109, 1.46, 1.945, 2.583, 3.388, 4.37, 5.543",\
                 "0.7466, 0.7936, 0.9362, 1.176, 1.526, 2.012, 2.65, 3.453, 4.436, 5.604",\
                 "0.8181, 0.8657, 1.01, 1.25, 1.601, 2.086, 2.723, 3.528, 4.511, 5.682",\
                 "0.8715, 0.9204, 1.067, 1.31, 1.662, 2.147, 2.783, 3.587, 4.568, 5.743",\
                 "0.9018, 0.9526, 1.102, 1.348, 1.701, 2.185, 2.822, 3.625, 4.606, 5.779",\
                 "0.9008, 0.9532, 1.108, 1.358, 1.713, 2.197, 2.833, 3.635, 4.615, 5.784",\
                 "0.8626, 0.9177, 1.078, 1.334, 1.693, 2.179, 2.815, 3.616, 4.595, 5.763",\
                 "0.7829, 0.8416, 1.008, 1.271, 1.636, 2.126, 2.763, 3.564, 4.542, 5.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2996, 0.3627, 0.5329, 0.782, 1.137, 1.63, 2.295, 3.16, 4.246, 5.561",\
                 "0.2997, 0.3631, 0.5332, 0.7818, 1.136, 1.63, 2.295, 3.159, 4.242, 5.56",\
                 "0.3002, 0.3627, 0.5336, 0.7818, 1.136, 1.629, 2.295, 3.159, 4.242, 5.558",\
                 "0.3006, 0.3636, 0.5342, 0.7834, 1.138, 1.629, 2.294, 3.16, 4.245, 5.562",\
                 "0.3082, 0.3712, 0.5414, 0.7894, 1.141, 1.632, 2.296, 3.161, 4.242, 5.561",\
                 "0.3266, 0.391, 0.5628, 0.8056, 1.154, 1.641, 2.3, 3.164, 4.248, 5.563",\
                 "0.3466, 0.4116, 0.5878, 0.8342, 1.177, 1.656, 2.312, 3.169, 4.25, 5.564",\
                 "0.374, 0.4404, 0.619, 0.8668, 1.207, 1.682, 2.326, 3.176, 4.253, 5.562",\
                 "0.4068, 0.4756, 0.6592, 0.9114, 1.246, 1.713, 2.35, 3.192, 4.26, 5.568",\
                 "0.4404, 0.5128, 0.7042, 0.9648, 1.3, 1.76, 2.384, 3.215, 4.271, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2017, 0.2607, 0.4583, 0.8226, 1.409, 2.259, 3.381, 4.801, 6.539, 8.61",\
                 "0.2012, 0.2619, 0.4578, 0.8221, 1.409, 2.255, 3.382, 4.803, 6.539, 8.612",\
                 "0.2017, 0.2615, 0.458, 0.8218, 1.409, 2.255, 3.381, 4.802, 6.541, 8.612",\
                 "0.202, 0.2624, 0.4594, 0.8228, 1.411, 2.256, 3.381, 4.803, 6.549, 8.616",\
                 "0.2108, 0.2696, 0.4662, 0.8262, 1.41, 2.256, 3.381, 4.804, 6.542, 8.608",\
                 "0.222, 0.2816, 0.4778, 0.8368, 1.415, 2.258, 3.381, 4.802, 6.541, 8.613",\
                 "0.2362, 0.2958, 0.4928, 0.8498, 1.422, 2.259, 3.387, 4.802, 6.537, 8.607",\
                 "0.2558, 0.315, 0.5116, 0.868, 1.433, 2.264, 3.382, 4.802, 6.531, 8.604",\
                 "0.2784, 0.3384, 0.535, 0.8908, 1.454, 2.275, 3.388, 4.806, 6.535, 8.599",\
                 "0.3058, 0.366, 0.5622, 0.918, 1.478, 2.297, 3.4, 4.807, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7468, 0.8078, 0.9784, 1.224, 1.531, 1.906, 2.361, 2.914, 3.577, 4.365",\
                 "0.7638, 0.8249, 0.9957, 1.241, 1.548, 1.923, 2.378, 2.931, 3.594, 4.382",\
                 "0.8329, 0.8939, 1.065, 1.31, 1.617, 1.992, 2.447, 3, 3.664, 4.451",\
                 "0.9694, 1.03, 1.201, 1.446, 1.753, 2.128, 2.583, 3.136, 3.8, 4.587",\
                 "1.169, 1.23, 1.401, 1.647, 1.955, 2.329, 2.785, 3.337, 4.001, 4.788",\
                 "1.411, 1.474, 1.649, 1.899, 2.209, 2.585, 3.041, 3.594, 4.257, 5.044",\
                 "1.696, 1.761, 1.94, 2.197, 2.513, 2.892, 3.35, 3.903, 4.567, 5.353",\
                 "2.026, 2.093, 2.279, 2.543, 2.865, 3.25, 3.711, 4.265, 4.929, 5.716",\
                 "2.399, 2.469, 2.662, 2.937, 3.268, 3.659, 4.125, 4.681, 5.345, 6.132",\
                 "2.813, 2.887, 3.089, 3.377, 3.72, 4.121, 4.594, 5.153, 5.819, 6.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6221, 0.6688, 0.8117, 1.051, 1.402, 1.888, 2.526, 3.331, 4.313, 5.486",\
                 "0.6351, 0.6818, 0.8248, 1.064, 1.415, 1.901, 2.538, 3.344, 4.326, 5.499",\
                 "0.6793, 0.726, 0.8691, 1.108, 1.46, 1.945, 2.582, 3.388, 4.369, 5.542",\
                 "0.7466, 0.7935, 0.9361, 1.175, 1.526, 2.011, 2.65, 3.454, 4.435, 5.604",\
                 "0.818, 0.8657, 1.01, 1.25, 1.601, 2.085, 2.723, 3.528, 4.51, 5.682",\
                 "0.8715, 0.9204, 1.067, 1.31, 1.662, 2.147, 2.784, 3.588, 4.571, 5.739",\
                 "0.9019, 0.9526, 1.103, 1.349, 1.701, 2.185, 2.822, 3.625, 4.605, 5.778",\
                 "0.9002, 0.9533, 1.108, 1.359, 1.713, 2.197, 2.833, 3.635, 4.615, 5.783",\
                 "0.8624, 0.9183, 1.078, 1.334, 1.693, 2.179, 2.814, 3.615, 4.595, 5.763",\
                 "0.7825, 0.842, 1.009, 1.271, 1.636, 2.126, 2.764, 3.565, 4.543, 5.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2996, 0.3628, 0.5329, 0.7818, 1.137, 1.63, 2.295, 3.158, 4.246, 5.561",\
                 "0.2998, 0.3628, 0.5337, 0.7822, 1.137, 1.63, 2.295, 3.158, 4.245, 5.561",\
                 "0.2996, 0.3626, 0.5336, 0.7818, 1.136, 1.63, 2.295, 3.159, 4.243, 5.559",\
                 "0.3004, 0.3636, 0.5338, 0.7832, 1.138, 1.63, 2.296, 3.157, 4.245, 5.561",\
                 "0.3082, 0.3714, 0.5414, 0.7894, 1.141, 1.632, 2.296, 3.16, 4.245, 5.559",\
                 "0.3262, 0.3904, 0.5622, 0.8056, 1.154, 1.641, 2.3, 3.165, 4.246, 5.563",\
                 "0.3468, 0.4124, 0.5882, 0.8336, 1.177, 1.657, 2.311, 3.169, 4.25, 5.564",\
                 "0.3744, 0.4404, 0.6192, 0.867, 1.206, 1.681, 2.327, 3.177, 4.256, 5.562",\
                 "0.4066, 0.4746, 0.6594, 0.9122, 1.245, 1.714, 2.352, 3.192, 4.261, 5.57",\
                 "0.4404, 0.513, 0.7054, 0.9656, 1.299, 1.76, 2.386, 3.217, 4.271, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2018, 0.2615, 0.4589, 0.8221, 1.41, 2.255, 3.381, 4.802, 6.542, 8.612",\
                 "0.2017, 0.2619, 0.4586, 0.8228, 1.41, 2.254, 3.381, 4.801, 6.541, 8.612",\
                 "0.2017, 0.2619, 0.4582, 0.822, 1.409, 2.255, 3.381, 4.802, 6.538, 8.612",\
                 "0.2024, 0.2624, 0.4588, 0.8228, 1.408, 2.256, 3.382, 4.803, 6.546, 8.615",\
                 "0.2104, 0.27, 0.4662, 0.8268, 1.41, 2.261, 3.382, 4.801, 6.541, 8.612",\
                 "0.222, 0.2816, 0.4778, 0.837, 1.415, 2.257, 3.379, 4.803, 6.542, 8.621",\
                 "0.2368, 0.2958, 0.4932, 0.85, 1.422, 2.26, 3.383, 4.801, 6.538, 8.607",\
                 "0.256, 0.316, 0.5124, 0.868, 1.432, 2.263, 3.382, 4.803, 6.538, 8.604",\
                 "0.2792, 0.339, 0.5348, 0.891, 1.453, 2.274, 3.387, 4.802, 6.536, 8.604",\
                 "0.3042, 0.366, 0.5614, 0.9176, 1.477, 2.296, 3.4, 4.806, 6.539, 8.601");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7467, 0.8077, 0.9787, 1.224, 1.531, 1.906, 2.361, 2.914, 3.577, 4.365",\
                 "0.7638, 0.8249, 0.9952, 1.241, 1.548, 1.923, 2.378, 2.931, 3.595, 4.382",\
                 "0.8328, 0.8939, 1.065, 1.31, 1.617, 1.992, 2.447, 3, 3.664, 4.451",\
                 "0.9695, 1.03, 1.201, 1.446, 1.753, 2.128, 2.584, 3.136, 3.8, 4.587",\
                 "1.169, 1.231, 1.401, 1.647, 1.955, 2.329, 2.785, 3.337, 4.001, 4.788",\
                 "1.411, 1.474, 1.649, 1.899, 2.209, 2.585, 3.042, 3.594, 4.257, 5.045",\
                 "1.696, 1.761, 1.94, 2.197, 2.513, 2.892, 3.35, 3.903, 4.567, 5.353",\
                 "2.026, 2.093, 2.279, 2.543, 2.865, 3.25, 3.71, 4.265, 4.929, 5.716",\
                 "2.398, 2.468, 2.662, 2.937, 3.268, 3.659, 4.124, 4.681, 5.345, 6.132",\
                 "2.813, 2.887, 3.089, 3.376, 3.72, 4.121, 4.594, 5.153, 5.819, 6.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6221, 0.6689, 0.8118, 1.051, 1.402, 1.888, 2.526, 3.331, 4.312, 5.485",\
                 "0.635, 0.6818, 0.8248, 1.064, 1.415, 1.901, 2.538, 3.344, 4.325, 5.498",\
                 "0.6793, 0.726, 0.8691, 1.108, 1.46, 1.945, 2.582, 3.388, 4.368, 5.542",\
                 "0.7466, 0.7935, 0.9361, 1.175, 1.526, 2.011, 2.65, 3.454, 4.435, 5.603",\
                 "0.8181, 0.8657, 1.01, 1.25, 1.601, 2.086, 2.723, 3.528, 4.511, 5.681",\
                 "0.8718, 0.9207, 1.068, 1.311, 1.662, 2.147, 2.784, 3.588, 4.568, 5.741",\
                 "0.9019, 0.9527, 1.103, 1.349, 1.701, 2.185, 2.821, 3.625, 4.606, 5.779",\
                 "0.9002, 0.9532, 1.108, 1.358, 1.714, 2.197, 2.833, 3.635, 4.615, 5.784",\
                 "0.8624, 0.9183, 1.078, 1.334, 1.693, 2.179, 2.815, 3.616, 4.595, 5.763",\
                 "0.7829, 0.842, 1.009, 1.271, 1.636, 2.126, 2.764, 3.565, 4.543, 5.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2994, 0.3628, 0.5327, 0.7818, 1.137, 1.63, 2.295, 3.159, 4.246, 5.561",\
                 "0.2998, 0.3626, 0.5328, 0.7818, 1.136, 1.63, 2.295, 3.159, 4.242, 5.558",\
                 "0.2997, 0.3627, 0.5336, 0.7818, 1.136, 1.63, 2.295, 3.159, 4.243, 5.559",\
                 "0.3004, 0.3634, 0.5342, 0.7824, 1.138, 1.629, 2.294, 3.16, 4.243, 5.557",\
                 "0.3082, 0.3712, 0.5414, 0.7886, 1.141, 1.631, 2.297, 3.162, 4.246, 5.563",\
                 "0.3272, 0.3904, 0.562, 0.8056, 1.154, 1.641, 2.301, 3.161, 4.248, 5.561",\
                 "0.3468, 0.4122, 0.5882, 0.8352, 1.177, 1.657, 2.309, 3.169, 4.25, 5.564",\
                 "0.3744, 0.4404, 0.6192, 0.867, 1.207, 1.681, 2.326, 3.177, 4.253, 5.562",\
                 "0.407, 0.4754, 0.6592, 0.9116, 1.246, 1.714, 2.351, 3.192, 4.26, 5.568",\
                 "0.4404, 0.5134, 0.7054, 0.9658, 1.3, 1.759, 2.386, 3.215, 4.271, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2015, 0.2614, 0.4581, 0.8223, 1.409, 2.259, 3.381, 4.801, 6.539, 8.612",\
                 "0.2017, 0.2615, 0.4584, 0.823, 1.409, 2.254, 3.381, 4.801, 6.539, 8.612",\
                 "0.2017, 0.2619, 0.4583, 0.8218, 1.409, 2.256, 3.381, 4.802, 6.537, 8.611",\
                 "0.2024, 0.2624, 0.4588, 0.823, 1.408, 2.256, 3.382, 4.804, 6.546, 8.615",\
                 "0.2108, 0.2694, 0.4658, 0.8264, 1.41, 2.256, 3.381, 4.804, 6.541, 8.609",\
                 "0.2214, 0.2808, 0.4788, 0.8366, 1.415, 2.262, 3.379, 4.803, 6.541, 8.607",\
                 "0.2366, 0.2958, 0.492, 0.8486, 1.422, 2.26, 3.383, 4.8, 6.539, 8.609",\
                 "0.2568, 0.315, 0.5124, 0.8674, 1.433, 2.264, 3.382, 4.802, 6.547, 8.6",\
                 "0.28, 0.3396, 0.5352, 0.891, 1.453, 2.274, 3.387, 4.805, 6.533, 8.601",\
                 "0.305, 0.366, 0.5614, 0.9176, 1.477, 2.297, 3.4, 4.808, 6.537, 8.601");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7467, 0.8077, 0.9784, 1.224, 1.531, 1.906, 2.361, 2.914, 3.577, 4.365",\
                 "0.7638, 0.8249, 0.9959, 1.241, 1.548, 1.923, 2.378, 2.931, 3.595, 4.382",\
                 "0.8328, 0.8939, 1.065, 1.31, 1.617, 1.992, 2.447, 3, 3.664, 4.451",\
                 "0.9693, 1.03, 1.201, 1.446, 1.753, 2.128, 2.584, 3.136, 3.8, 4.587",\
                 "1.169, 1.23, 1.401, 1.647, 1.955, 2.329, 2.785, 3.337, 4.001, 4.789",\
                 "1.411, 1.474, 1.649, 1.899, 2.209, 2.585, 3.041, 3.594, 4.257, 5.045",\
                 "1.696, 1.761, 1.94, 2.197, 2.512, 2.892, 3.35, 3.903, 4.567, 5.353",\
                 "2.026, 2.093, 2.279, 2.543, 2.865, 3.249, 3.711, 4.265, 4.929, 5.715",\
                 "2.399, 2.469, 2.662, 2.936, 3.268, 3.659, 4.124, 4.681, 5.345, 6.132",\
                 "2.813, 2.888, 3.089, 3.377, 3.72, 4.121, 4.594, 5.153, 5.819, 6.605");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.622, 0.6687, 0.8118, 1.051, 1.402, 1.888, 2.525, 3.331, 4.312, 5.484",\
                 "0.6351, 0.6819, 0.8248, 1.064, 1.416, 1.901, 2.538, 3.344, 4.324, 5.497",\
                 "0.6795, 0.7262, 0.8691, 1.109, 1.46, 1.945, 2.583, 3.388, 4.368, 5.541",\
                 "0.7466, 0.7936, 0.9362, 1.176, 1.526, 2.012, 2.65, 3.453, 4.436, 5.604",\
                 "0.8181, 0.8657, 1.01, 1.25, 1.601, 2.086, 2.723, 3.528, 4.511, 5.681",\
                 "0.8718, 0.9207, 1.068, 1.311, 1.662, 2.147, 2.784, 3.588, 4.569, 5.741",\
                 "0.9019, 0.9527, 1.103, 1.349, 1.701, 2.185, 2.822, 3.625, 4.605, 5.776",\
                 "0.9008, 0.9533, 1.108, 1.358, 1.713, 2.197, 2.833, 3.635, 4.614, 5.783",\
                 "0.8629, 0.9183, 1.078, 1.334, 1.694, 2.179, 2.815, 3.616, 4.595, 5.763",\
                 "0.7829, 0.8416, 1.008, 1.271, 1.636, 2.126, 2.763, 3.564, 4.542, 5.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2995, 0.3626, 0.5331, 0.7824, 1.137, 1.63, 2.295, 3.16, 4.246, 5.561",\
                 "0.2994, 0.3626, 0.5326, 0.782, 1.136, 1.63, 2.294, 3.161, 4.245, 5.563",\
                 "0.3002, 0.3627, 0.5336, 0.7818, 1.136, 1.63, 2.295, 3.159, 4.242, 5.557",\
                 "0.3002, 0.3636, 0.5344, 0.7832, 1.137, 1.63, 2.294, 3.16, 4.242, 5.562",\
                 "0.3084, 0.371, 0.5414, 0.7892, 1.141, 1.632, 2.297, 3.161, 4.242, 5.56",\
                 "0.3262, 0.3904, 0.5622, 0.8054, 1.154, 1.641, 2.3, 3.164, 4.243, 5.559",\
                 "0.3466, 0.4116, 0.5878, 0.8338, 1.177, 1.656, 2.311, 3.169, 4.25, 5.564",\
                 "0.3738, 0.4404, 0.619, 0.8668, 1.207, 1.682, 2.327, 3.176, 4.256, 5.566",\
                 "0.4068, 0.4752, 0.6592, 0.9118, 1.246, 1.715, 2.351, 3.192, 4.26, 5.568",\
                 "0.4402, 0.5134, 0.7042, 0.965, 1.3, 1.76, 2.385, 3.214, 4.272, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2016, 0.2616, 0.459, 0.8227, 1.409, 2.255, 3.381, 4.802, 6.539, 8.61",\
                 "0.2016, 0.2615, 0.4588, 0.8222, 1.408, 2.254, 3.381, 4.801, 6.538, 8.61",\
                 "0.2013, 0.2616, 0.4581, 0.8226, 1.409, 2.259, 3.381, 4.803, 6.536, 8.608",\
                 "0.202, 0.2624, 0.4588, 0.8228, 1.411, 2.256, 3.381, 4.803, 6.548, 8.616",\
                 "0.2108, 0.2696, 0.4658, 0.8264, 1.41, 2.256, 3.381, 4.804, 6.542, 8.608",\
                 "0.2222, 0.2808, 0.4786, 0.8364, 1.415, 2.257, 3.381, 4.8, 6.537, 8.609",\
                 "0.2366, 0.2958, 0.4922, 0.8498, 1.422, 2.26, 3.381, 4.801, 6.538, 8.615",\
                 "0.256, 0.3154, 0.5132, 0.869, 1.433, 2.264, 3.383, 4.801, 6.544, 8.606",\
                 "0.2788, 0.3382, 0.535, 0.8908, 1.453, 2.275, 3.388, 4.806, 6.535, 8.609",\
                 "0.3058, 0.366, 0.5622, 0.918, 1.478, 2.296, 3.4, 4.807, 6.538, 8.6");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7467, 0.8076, 0.9787, 1.224, 1.531, 1.906, 2.361, 2.914, 3.577, 4.365",\
                 "0.7639, 0.8249, 0.9959, 1.241, 1.548, 1.923, 2.379, 2.931, 3.595, 4.382",\
                 "0.8328, 0.8939, 1.065, 1.31, 1.617, 1.992, 2.447, 3, 3.664, 4.451",\
                 "0.9696, 1.03, 1.201, 1.446, 1.754, 2.128, 2.584, 3.136, 3.8, 4.587",\
                 "1.169, 1.23, 1.402, 1.647, 1.955, 2.329, 2.785, 3.337, 4.001, 4.788",\
                 "1.411, 1.474, 1.649, 1.899, 2.209, 2.585, 3.041, 3.593, 4.257, 5.045",\
                 "1.696, 1.761, 1.94, 2.197, 2.512, 2.892, 3.35, 3.903, 4.567, 5.353",\
                 "2.026, 2.093, 2.279, 2.543, 2.865, 3.249, 3.711, 4.265, 4.929, 5.715",\
                 "2.399, 2.469, 2.662, 2.937, 3.268, 3.659, 4.124, 4.68, 5.345, 6.132",\
                 "2.813, 2.887, 3.089, 3.376, 3.72, 4.121, 4.593, 5.153, 5.819, 6.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6221, 0.6689, 0.8118, 1.051, 1.402, 1.888, 2.525, 3.331, 4.31, 5.483",\
                 "0.6352, 0.6819, 0.8248, 1.064, 1.416, 1.901, 2.538, 3.344, 4.324, 5.497",\
                 "0.6794, 0.7261, 0.869, 1.109, 1.46, 1.945, 2.582, 3.388, 4.37, 5.542",\
                 "0.7467, 0.7936, 0.9362, 1.176, 1.526, 2.012, 2.65, 3.453, 4.436, 5.604",\
                 "0.8181, 0.8656, 1.01, 1.25, 1.601, 2.086, 2.723, 3.527, 4.511, 5.682",\
                 "0.8715, 0.9204, 1.067, 1.31, 1.662, 2.147, 2.784, 3.587, 4.568, 5.743",\
                 "0.9019, 0.9526, 1.103, 1.349, 1.701, 2.185, 2.822, 3.624, 4.607, 5.778",\
                 "0.9009, 0.9532, 1.108, 1.358, 1.713, 2.197, 2.833, 3.635, 4.615, 5.783",\
                 "0.8624, 0.9182, 1.078, 1.334, 1.693, 2.179, 2.815, 3.616, 4.595, 5.763",\
                 "0.7829, 0.8416, 1.008, 1.271, 1.636, 2.126, 2.763, 3.564, 4.542, 5.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2996, 0.363, 0.5328, 0.782, 1.137, 1.63, 2.295, 3.16, 4.246, 5.561",\
                 "0.2995, 0.3626, 0.5327, 0.7816, 1.136, 1.63, 2.294, 3.158, 4.245, 5.555",\
                 "0.3002, 0.3627, 0.5336, 0.7818, 1.136, 1.629, 2.295, 3.158, 4.241, 5.56",\
                 "0.3004, 0.3634, 0.5342, 0.7832, 1.137, 1.629, 2.294, 3.159, 4.244, 5.561",\
                 "0.3082, 0.3712, 0.5416, 0.7884, 1.142, 1.633, 2.296, 3.161, 4.243, 5.561",\
                 "0.3262, 0.391, 0.5624, 0.8052, 1.154, 1.64, 2.299, 3.163, 4.247, 5.56",\
                 "0.3466, 0.4116, 0.5878, 0.8342, 1.177, 1.656, 2.312, 3.167, 4.25, 5.564",\
                 "0.374, 0.4404, 0.6192, 0.8668, 1.206, 1.682, 2.327, 3.176, 4.254, 5.565",\
                 "0.4068, 0.475, 0.6592, 0.9126, 1.247, 1.714, 2.351, 3.191, 4.26, 5.568",\
                 "0.4402, 0.5126, 0.7042, 0.9648, 1.3, 1.76, 2.384, 3.215, 4.272, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2012, 0.2614, 0.4578, 0.8227, 1.409, 2.26, 3.381, 4.801, 6.539, 8.606",\
                 "0.2011, 0.2615, 0.4586, 0.8226, 1.408, 2.255, 3.381, 4.804, 6.538, 8.609",\
                 "0.2013, 0.2614, 0.4582, 0.8234, 1.408, 2.256, 3.381, 4.801, 6.54, 8.612",\
                 "0.2018, 0.2624, 0.4588, 0.8228, 1.411, 2.256, 3.381, 4.803, 6.548, 8.616",\
                 "0.2108, 0.2696, 0.4662, 0.8264, 1.41, 2.256, 3.381, 4.804, 6.542, 8.608",\
                 "0.222, 0.2816, 0.4778, 0.8368, 1.415, 2.258, 3.381, 4.802, 6.541, 8.613",\
                 "0.2366, 0.2958, 0.4926, 0.8502, 1.422, 2.26, 3.384, 4.801, 6.538, 8.61",\
                 "0.256, 0.315, 0.5116, 0.8672, 1.433, 2.263, 3.382, 4.803, 6.546, 8.606",\
                 "0.2782, 0.3402, 0.535, 0.891, 1.453, 2.275, 3.388, 4.804, 6.534, 8.607",\
                 "0.3058, 0.3662, 0.5622, 0.918, 1.477, 2.296, 3.4, 4.807, 6.536, 8.6");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7467, 0.8076, 0.9787, 1.224, 1.531, 1.906, 2.361, 2.914, 3.577, 4.365",\
                 "0.7638, 0.8248, 0.9957, 1.241, 1.548, 1.923, 2.378, 2.931, 3.595, 4.382",\
                 "0.8328, 0.8939, 1.065, 1.31, 1.617, 1.992, 2.447, 3, 3.664, 4.451",\
                 "0.9693, 1.03, 1.201, 1.446, 1.754, 2.128, 2.584, 3.136, 3.8, 4.587",\
                 "1.169, 1.23, 1.401, 1.647, 1.955, 2.329, 2.785, 3.337, 4.001, 4.788",\
                 "1.411, 1.474, 1.649, 1.899, 2.209, 2.585, 3.042, 3.594, 4.258, 5.045",\
                 "1.696, 1.761, 1.94, 2.197, 2.513, 2.892, 3.35, 3.903, 4.567, 5.354",\
                 "2.026, 2.093, 2.279, 2.543, 2.864, 3.25, 3.711, 4.265, 4.929, 5.716",\
                 "2.398, 2.468, 2.662, 2.937, 3.268, 3.659, 4.125, 4.681, 5.345, 6.132",\
                 "2.813, 2.887, 3.089, 3.376, 3.72, 4.121, 4.594, 5.153, 5.819, 6.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.622, 0.6687, 0.8119, 1.051, 1.402, 1.888, 2.525, 3.331, 4.311, 5.483",\
                 "0.6353, 0.6818, 0.8248, 1.064, 1.415, 1.901, 2.538, 3.344, 4.325, 5.498",\
                 "0.6794, 0.7261, 0.869, 1.109, 1.46, 1.945, 2.582, 3.388, 4.369, 5.542",\
                 "0.7467, 0.7935, 0.9362, 1.176, 1.526, 2.012, 2.65, 3.453, 4.436, 5.604",\
                 "0.818, 0.8657, 1.01, 1.25, 1.601, 2.085, 2.723, 3.528, 4.51, 5.683",\
                 "0.8718, 0.9207, 1.068, 1.311, 1.662, 2.147, 2.784, 3.588, 4.568, 5.739",\
                 "0.9019, 0.9524, 1.103, 1.349, 1.701, 2.185, 2.821, 3.624, 4.606, 5.778",\
                 "0.9002, 0.9533, 1.108, 1.359, 1.713, 2.197, 2.833, 3.635, 4.615, 5.784",\
                 "0.8624, 0.918, 1.078, 1.334, 1.694, 2.179, 2.815, 3.616, 4.595, 5.763",\
                 "0.7831, 0.842, 1.009, 1.271, 1.636, 2.126, 2.764, 3.564, 4.543, 5.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2994, 0.363, 0.5327, 0.7818, 1.137, 1.63, 2.295, 3.158, 4.246, 5.561",\
                 "0.3, 0.3628, 0.5337, 0.7816, 1.136, 1.629, 2.294, 3.161, 4.243, 5.562",\
                 "0.2996, 0.3626, 0.5336, 0.7818, 1.136, 1.63, 2.295, 3.159, 4.243, 5.558",\
                 "0.3002, 0.3636, 0.5344, 0.783, 1.137, 1.63, 2.293, 3.16, 4.244, 5.561",\
                 "0.308, 0.3716, 0.5412, 0.7894, 1.141, 1.633, 2.295, 3.161, 4.242, 5.561",\
                 "0.327, 0.3904, 0.5618, 0.8058, 1.153, 1.641, 2.3, 3.164, 4.248, 5.56",\
                 "0.3468, 0.4124, 0.5878, 0.8342, 1.177, 1.657, 2.311, 3.169, 4.25, 5.564",\
                 "0.3744, 0.4404, 0.6192, 0.867, 1.207, 1.681, 2.327, 3.176, 4.253, 5.564",\
                 "0.407, 0.4754, 0.6594, 0.9116, 1.246, 1.715, 2.351, 3.192, 4.261, 5.57",\
                 "0.4402, 0.5136, 0.7054, 0.967, 1.299, 1.76, 2.386, 3.214, 4.271, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2016, 0.2608, 0.4589, 0.8219, 1.408, 2.256, 3.381, 4.802, 6.535, 8.608",\
                 "0.2012, 0.2618, 0.4587, 0.8219, 1.409, 2.255, 3.381, 4.802, 6.538, 8.612",\
                 "0.2016, 0.2615, 0.4582, 0.8224, 1.409, 2.256, 3.381, 4.801, 6.539, 8.612",\
                 "0.202, 0.2624, 0.459, 0.8228, 1.411, 2.256, 3.381, 4.803, 6.54, 8.616",\
                 "0.2104, 0.27, 0.466, 0.8268, 1.41, 2.259, 3.381, 4.801, 6.541, 8.612",\
                 "0.2214, 0.2804, 0.4788, 0.8366, 1.415, 2.263, 3.379, 4.801, 6.541, 8.609",\
                 "0.2362, 0.2964, 0.4932, 0.8498, 1.423, 2.26, 3.387, 4.801, 6.539, 8.607",\
                 "0.256, 0.316, 0.5124, 0.8682, 1.432, 2.266, 3.383, 4.804, 6.545, 8.603",\
                 "0.28, 0.339, 0.5352, 0.891, 1.453, 2.274, 3.388, 4.805, 6.535, 8.601",\
                 "0.3038, 0.3648, 0.5614, 0.9176, 1.477, 2.295, 3.4, 4.808, 6.539, 8.601");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7466, 0.8078, 0.9787, 1.224, 1.531, 1.906, 2.361, 2.914, 3.577, 4.365",\
                 "0.7638, 0.8249, 0.9959, 1.241, 1.548, 1.923, 2.379, 2.931, 3.595, 4.382",\
                 "0.8328, 0.8939, 1.065, 1.31, 1.617, 1.992, 2.447, 3, 3.664, 4.451",\
                 "0.9696, 1.03, 1.201, 1.446, 1.754, 2.128, 2.584, 3.136, 3.8, 4.587",\
                 "1.169, 1.23, 1.401, 1.647, 1.954, 2.329, 2.785, 3.337, 4.001, 4.788",\
                 "1.411, 1.474, 1.649, 1.899, 2.209, 2.585, 3.041, 3.594, 4.257, 5.044",\
                 "1.696, 1.761, 1.94, 2.197, 2.513, 2.892, 3.35, 3.903, 4.567, 5.354",\
                 "2.026, 2.093, 2.279, 2.543, 2.865, 3.25, 3.711, 4.265, 4.929, 5.716",\
                 "2.398, 2.468, 2.662, 2.936, 3.268, 3.659, 4.124, 4.681, 5.345, 6.132",\
                 "2.813, 2.887, 3.089, 3.376, 3.72, 4.122, 4.594, 5.153, 5.819, 6.605");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.622, 0.6687, 0.8118, 1.052, 1.403, 1.888, 2.526, 3.331, 4.312, 5.485",\
                 "0.6351, 0.6818, 0.8248, 1.065, 1.415, 1.901, 2.539, 3.343, 4.325, 5.494",\
                 "0.6793, 0.726, 0.8691, 1.108, 1.46, 1.945, 2.582, 3.388, 4.369, 5.542",\
                 "0.7467, 0.7936, 0.9362, 1.176, 1.526, 2.012, 2.65, 3.454, 4.435, 5.603",\
                 "0.818, 0.8655, 1.01, 1.25, 1.601, 2.085, 2.723, 3.527, 4.51, 5.683",\
                 "0.8718, 0.9207, 1.068, 1.311, 1.662, 2.147, 2.784, 3.588, 4.568, 5.739",\
                 "0.9019, 0.9524, 1.103, 1.349, 1.701, 2.185, 2.822, 3.624, 4.606, 5.776",\
                 "0.9002, 0.9532, 1.108, 1.358, 1.713, 2.197, 2.833, 3.635, 4.614, 5.784",\
                 "0.8619, 0.9184, 1.078, 1.334, 1.693, 2.179, 2.815, 3.616, 4.595, 5.763",\
                 "0.7828, 0.842, 1.009, 1.271, 1.636, 2.126, 2.764, 3.564, 4.543, 5.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2998, 0.3627, 0.5327, 0.7818, 1.137, 1.63, 2.295, 3.159, 4.246, 5.561",\
                 "0.2999, 0.3627, 0.5328, 0.782, 1.136, 1.629, 2.295, 3.161, 4.243, 5.557",\
                 "0.2997, 0.3627, 0.5336, 0.7818, 1.136, 1.63, 2.295, 3.159, 4.243, 5.559",\
                 "0.3004, 0.3636, 0.5342, 0.7832, 1.137, 1.63, 2.294, 3.16, 4.246, 5.561",\
                 "0.3084, 0.3712, 0.5412, 0.7886, 1.142, 1.632, 2.295, 3.161, 4.243, 5.563",\
                 "0.3264, 0.3908, 0.5616, 0.8056, 1.155, 1.64, 2.299, 3.165, 4.248, 5.563",\
                 "0.3468, 0.4122, 0.5878, 0.8346, 1.177, 1.656, 2.311, 3.169, 4.25, 5.564",\
                 "0.3744, 0.4404, 0.619, 0.867, 1.207, 1.681, 2.326, 3.18, 4.256, 5.56",\
                 "0.4064, 0.4754, 0.6594, 0.9126, 1.246, 1.713, 2.353, 3.193, 4.261, 5.569",\
                 "0.441, 0.5134, 0.7054, 0.9658, 1.299, 1.761, 2.386, 3.215, 4.271, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2017, 0.2619, 0.4581, 0.8226, 1.408, 2.259, 3.381, 4.801, 6.539, 8.612",\
                 "0.2017, 0.2606, 0.4588, 0.8228, 1.409, 2.256, 3.382, 4.803, 6.546, 8.61",\
                 "0.2017, 0.2619, 0.4582, 0.822, 1.409, 2.255, 3.381, 4.802, 6.538, 8.612",\
                 "0.2024, 0.2624, 0.4594, 0.8232, 1.409, 2.256, 3.382, 4.804, 6.545, 8.613",\
                 "0.2098, 0.2694, 0.466, 0.8266, 1.41, 2.26, 3.38, 4.803, 6.54, 8.612",\
                 "0.2214, 0.2804, 0.4788, 0.8366, 1.415, 2.263, 3.379, 4.801, 6.541, 8.609",\
                 "0.2366, 0.2952, 0.4926, 0.8496, 1.422, 2.26, 3.385, 4.802, 6.536, 8.615",\
                 "0.2568, 0.315, 0.5124, 0.8678, 1.432, 2.265, 3.383, 4.803, 6.539, 8.603",\
                 "0.28, 0.3392, 0.5348, 0.891, 1.453, 2.275, 3.388, 4.801, 6.535, 8.601",\
                 "0.3062, 0.3648, 0.5614, 0.918, 1.477, 2.297, 3.404, 4.806, 6.539, 8.599");
        }
      }

      timing() {
        related_pin : "I3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7467, 0.8076, 0.9787, 1.224, 1.531, 1.906, 2.361, 2.914, 3.577, 4.365",\
                 "0.7638, 0.8248, 0.9957, 1.241, 1.548, 1.923, 2.378, 2.931, 3.595, 4.382",\
                 "0.8328, 0.8939, 1.065, 1.31, 1.617, 1.992, 2.447, 3, 3.664, 4.451",\
                 "0.9693, 1.03, 1.201, 1.446, 1.754, 2.128, 2.584, 3.136, 3.8, 4.587",\
                 "1.169, 1.23, 1.401, 1.647, 1.955, 2.329, 2.785, 3.337, 4.001, 4.788",\
                 "1.411, 1.474, 1.649, 1.899, 2.209, 2.585, 3.042, 3.594, 4.258, 5.045",\
                 "1.696, 1.761, 1.94, 2.197, 2.513, 2.892, 3.35, 3.903, 4.567, 5.354",\
                 "2.026, 2.093, 2.279, 2.543, 2.864, 3.25, 3.711, 4.265, 4.929, 5.716",\
                 "2.398, 2.468, 2.662, 2.937, 3.268, 3.659, 4.125, 4.681, 5.345, 6.132",\
                 "2.813, 2.887, 3.089, 3.376, 3.72, 4.121, 4.594, 5.153, 5.819, 6.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6221, 0.6689, 0.8118, 1.051, 1.402, 1.888, 2.526, 3.331, 4.312, 5.485",\
                 "0.635, 0.6818, 0.8248, 1.064, 1.415, 1.901, 2.538, 3.344, 4.325, 5.498",\
                 "0.6793, 0.726, 0.8691, 1.108, 1.46, 1.945, 2.582, 3.388, 4.368, 5.542",\
                 "0.7466, 0.7935, 0.9361, 1.175, 1.526, 2.011, 2.65, 3.454, 4.435, 5.603",\
                 "0.8181, 0.8657, 1.01, 1.25, 1.601, 2.086, 2.723, 3.528, 4.511, 5.681",\
                 "0.8718, 0.9207, 1.068, 1.311, 1.662, 2.147, 2.784, 3.588, 4.568, 5.741",\
                 "0.9019, 0.9527, 1.103, 1.349, 1.701, 2.185, 2.821, 3.625, 4.606, 5.779",\
                 "0.9002, 0.9532, 1.108, 1.358, 1.714, 2.197, 2.833, 3.635, 4.615, 5.784",\
                 "0.8624, 0.9183, 1.078, 1.334, 1.693, 2.179, 2.815, 3.616, 4.595, 5.763",\
                 "0.7829, 0.842, 1.009, 1.271, 1.636, 2.126, 2.764, 3.565, 4.543, 5.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2994, 0.363, 0.5327, 0.7818, 1.137, 1.63, 2.295, 3.158, 4.246, 5.561",\
                 "0.3, 0.3628, 0.5337, 0.7816, 1.136, 1.629, 2.294, 3.161, 4.243, 5.562",\
                 "0.2996, 0.3626, 0.5336, 0.7818, 1.136, 1.63, 2.295, 3.159, 4.243, 5.558",\
                 "0.3002, 0.3636, 0.5344, 0.783, 1.137, 1.63, 2.293, 3.16, 4.244, 5.561",\
                 "0.308, 0.3716, 0.5412, 0.7894, 1.141, 1.633, 2.295, 3.161, 4.242, 5.561",\
                 "0.327, 0.3904, 0.5618, 0.8058, 1.153, 1.641, 2.3, 3.164, 4.248, 5.56",\
                 "0.3468, 0.4124, 0.5878, 0.8342, 1.177, 1.657, 2.311, 3.169, 4.25, 5.564",\
                 "0.3744, 0.4404, 0.6192, 0.867, 1.207, 1.681, 2.327, 3.176, 4.253, 5.564",\
                 "0.407, 0.4754, 0.6594, 0.9116, 1.246, 1.715, 2.351, 3.192, 4.261, 5.57",\
                 "0.4402, 0.5136, 0.7054, 0.967, 1.299, 1.76, 2.386, 3.214, 4.271, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2018, 0.2615, 0.4589, 0.8221, 1.41, 2.255, 3.381, 4.802, 6.542, 8.612",\
                 "0.2017, 0.2619, 0.4586, 0.8228, 1.41, 2.254, 3.381, 4.801, 6.541, 8.612",\
                 "0.2017, 0.2619, 0.4582, 0.822, 1.409, 2.255, 3.381, 4.802, 6.538, 8.612",\
                 "0.2024, 0.2624, 0.4588, 0.8228, 1.408, 2.256, 3.382, 4.803, 6.546, 8.615",\
                 "0.2104, 0.27, 0.4662, 0.8268, 1.41, 2.261, 3.382, 4.801, 6.541, 8.612",\
                 "0.222, 0.2816, 0.4778, 0.837, 1.415, 2.257, 3.379, 4.803, 6.542, 8.621",\
                 "0.2368, 0.2958, 0.4932, 0.85, 1.422, 2.26, 3.383, 4.801, 6.538, 8.607",\
                 "0.256, 0.316, 0.5124, 0.868, 1.432, 2.263, 3.382, 4.803, 6.538, 8.604",\
                 "0.2792, 0.339, 0.5348, 0.891, 1.453, 2.274, 3.387, 4.802, 6.536, 8.604",\
                 "0.3042, 0.366, 0.5614, 0.9176, 1.477, 2.296, 3.4, 4.806, 6.539, 8.601");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6915, 0.7525, 0.9233, 1.169, 1.476, 1.85, 2.306, 2.858, 3.522, 4.31",\
                 "0.7046, 0.7656, 0.9363, 1.182, 1.488, 1.863, 2.319, 2.871, 3.535, 4.323",\
                 "0.7522, 0.8131, 0.984, 1.23, 1.536, 1.911, 2.367, 2.919, 3.583, 4.37",\
                 "0.8489, 0.9097, 1.08, 1.326, 1.632, 2.007, 2.462, 3.015, 3.679, 4.466",\
                 "0.9695, 1.03, 1.2, 1.444, 1.751, 2.125, 2.581, 3.133, 3.797, 4.584",\
                 "1.041, 1.101, 1.271, 1.514, 1.82, 2.194, 2.649, 3.201, 3.864, 4.652",\
                 "1.06, 1.121, 1.29, 1.534, 1.84, 2.213, 2.668, 3.219, 3.883, 4.67",\
                 "1.036, 1.097, 1.266, 1.511, 1.817, 2.191, 2.645, 3.196, 3.859, 4.646",\
                 "0.9709, 1.031, 1.201, 1.446, 1.754, 2.128, 2.582, 3.134, 3.797, 4.583",\
                 "0.8646, 0.9259, 1.096, 1.341, 1.648, 2.023, 2.48, 3.033, 3.696, 4.484");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8217, 0.8686, 1.012, 1.251, 1.602, 2.087, 2.725, 3.53, 4.509, 5.679",\
                 "0.8381, 0.8849, 1.028, 1.267, 1.618, 2.103, 2.741, 3.546, 4.526, 5.697",\
                 "0.9061, 0.953, 1.096, 1.335, 1.686, 2.171, 2.809, 3.614, 4.594, 5.766",\
                 "1.048, 1.095, 1.238, 1.478, 1.828, 2.313, 2.951, 3.756, 4.737, 5.906",\
                 "1.252, 1.298, 1.441, 1.681, 2.031, 2.516, 3.154, 3.959, 4.942, 6.108",\
                 "1.489, 1.536, 1.679, 1.918, 2.268, 2.753, 3.391, 4.194, 5.179, 6.349",\
                 "1.764, 1.811, 1.955, 2.194, 2.543, 3.027, 3.665, 4.47, 5.453, 6.624",\
                 "2.079, 2.126, 2.269, 2.509, 2.859, 3.343, 3.98, 4.783, 5.765, 6.933",\
                 "2.433, 2.48, 2.625, 2.865, 3.215, 3.7, 4.336, 5.138, 6.118, 7.289",\
                 "2.829, 2.877, 3.021, 3.262, 3.614, 4.102, 4.739, 5.542, 6.523, 7.691");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3, 0.363, 0.5332, 0.7829, 1.137, 1.629, 2.293, 3.159, 4.244, 5.561",\
                 "0.2996, 0.363, 0.5333, 0.782, 1.137, 1.628, 2.295, 3.161, 4.245, 5.563",\
                 "0.2994, 0.3622, 0.5324, 0.7828, 1.136, 1.629, 2.295, 3.159, 4.246, 5.562",\
                 "0.2964, 0.3594, 0.5316, 0.7806, 1.136, 1.628, 2.295, 3.158, 4.244, 5.56",\
                 "0.304, 0.3658, 0.534, 0.7828, 1.137, 1.631, 2.295, 3.16, 4.245, 5.563",\
                 "0.308, 0.37, 0.5372, 0.783, 1.135, 1.628, 2.293, 3.16, 4.241, 5.56",\
                 "0.3098, 0.3706, 0.539, 0.7854, 1.136, 1.626, 2.289, 3.158, 4.245, 5.559",\
                 "0.311, 0.373, 0.5404, 0.7884, 1.139, 1.63, 2.289, 3.153, 4.236, 5.556",\
                 "0.3132, 0.3746, 0.5438, 0.7918, 1.141, 1.632, 2.294, 3.157, 4.239, 5.547",\
                 "0.3152, 0.377, 0.5456, 0.7926, 1.144, 1.636, 2.301, 3.164, 4.242, 5.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2057, 0.2655, 0.4622, 0.8254, 1.41, 2.26, 3.38, 4.804, 6.54, 8.612",\
                 "0.2054, 0.2651, 0.462, 0.8248, 1.41, 2.256, 3.381, 4.804, 6.539, 8.606",\
                 "0.2056, 0.2654, 0.462, 0.8242, 1.41, 2.261, 3.381, 4.804, 6.54, 8.605",\
                 "0.2052, 0.2642, 0.4622, 0.8248, 1.41, 2.256, 3.382, 4.804, 6.543, 8.61",\
                 "0.206, 0.266, 0.4628, 0.8248, 1.411, 2.256, 3.38, 4.803, 6.539, 8.615",\
                 "0.2056, 0.2656, 0.4628, 0.8256, 1.41, 2.256, 3.381, 4.801, 6.538, 8.609",\
                 "0.2072, 0.267, 0.4636, 0.8266, 1.411, 2.256, 3.38, 4.802, 6.54, 8.606",\
                 "0.2104, 0.2696, 0.4666, 0.8286, 1.41, 2.254, 3.382, 4.8, 6.538, 8.606",\
                 "0.2136, 0.2732, 0.4696, 0.831, 1.413, 2.259, 3.377, 4.797, 6.541, 8.6",\
                 "0.2174, 0.2768, 0.472, 0.8354, 1.421, 2.266, 3.381, 4.796, 6.53, 8.612");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.687, 0.7479, 0.9187, 1.164, 1.471, 1.846, 2.302, 2.854, 3.518, 4.305",\
                 "0.7, 0.7611, 0.9318, 1.177, 1.484, 1.859, 2.314, 2.867, 3.531, 4.318",\
                 "0.7473, 0.8084, 0.9792, 1.225, 1.531, 1.906, 2.362, 2.914, 3.578, 4.366",\
                 "0.8418, 0.9025, 1.073, 1.318, 1.625, 2, 2.455, 3.008, 3.672, 4.459",\
                 "0.958, 1.019, 1.189, 1.433, 1.739, 2.114, 2.569, 3.122, 3.785, 4.573",\
                 "1.023, 1.083, 1.252, 1.496, 1.802, 2.176, 2.631, 3.183, 3.847, 4.634",\
                 "1.036, 1.097, 1.266, 1.51, 1.815, 2.189, 2.644, 3.195, 3.859, 4.646",\
                 "1.006, 1.066, 1.236, 1.48, 1.786, 2.16, 2.615, 3.166, 3.829, 4.615",\
                 "0.9349, 0.9955, 1.166, 1.41, 1.716, 2.091, 2.545, 3.097, 3.76, 4.546",\
                 "0.8213, 0.8822, 1.052, 1.298, 1.605, 1.98, 2.437, 2.99, 3.654, 4.441");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8046, 0.8514, 0.9944, 1.234, 1.584, 2.07, 2.708, 3.511, 4.496, 5.663",\
                 "0.8211, 0.8678, 1.011, 1.25, 1.601, 2.086, 2.724, 3.529, 4.509, 5.681",\
                 "0.8893, 0.936, 1.079, 1.319, 1.669, 2.154, 2.793, 3.597, 4.577, 5.749",\
                 "1.031, 1.078, 1.221, 1.46, 1.81, 2.296, 2.934, 3.739, 4.719, 5.89",\
                 "1.23, 1.277, 1.42, 1.659, 2.009, 2.495, 3.133, 3.935, 4.92, 6.087",\
                 "1.462, 1.509, 1.652, 1.891, 2.242, 2.727, 3.365, 4.168, 5.15, 6.321",\
                 "1.733, 1.78, 1.923, 2.163, 2.512, 2.996, 3.634, 4.437, 5.42, 6.591",\
                 "2.043, 2.09, 2.233, 2.473, 2.823, 3.307, 3.943, 4.747, 5.729, 6.9",\
                 "2.392, 2.44, 2.584, 2.824, 3.175, 3.659, 4.296, 5.098, 6.079, 7.249",\
                 "2.783, 2.832, 2.976, 3.216, 3.569, 4.057, 4.695, 5.498, 6.479, 7.647");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2998, 0.3631, 0.5335, 0.7829, 1.137, 1.629, 2.293, 3.158, 4.245, 5.562",\
                 "0.2996, 0.3626, 0.5327, 0.7816, 1.137, 1.63, 2.295, 3.158, 4.242, 5.559",\
                 "0.299, 0.3619, 0.5322, 0.7822, 1.137, 1.63, 2.295, 3.157, 4.242, 5.56",\
                 "0.2958, 0.36, 0.5308, 0.7808, 1.135, 1.628, 2.294, 3.157, 4.246, 5.562",\
                 "0.3042, 0.366, 0.5338, 0.7822, 1.136, 1.631, 2.295, 3.161, 4.246, 5.563",\
                 "0.3088, 0.3698, 0.5374, 0.783, 1.135, 1.629, 2.293, 3.16, 4.247, 5.562",\
                 "0.3088, 0.3706, 0.539, 0.7856, 1.136, 1.626, 2.289, 3.157, 4.243, 5.562",\
                 "0.3108, 0.3726, 0.5414, 0.7868, 1.138, 1.631, 2.291, 3.152, 4.237, 5.554",\
                 "0.3128, 0.375, 0.543, 0.7898, 1.141, 1.634, 2.292, 3.155, 4.243, 5.547",\
                 "0.3152, 0.3774, 0.5462, 0.7932, 1.144, 1.635, 2.301, 3.163, 4.243, 5.551");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2051, 0.2648, 0.4616, 0.8248, 1.412, 2.256, 3.38, 4.802, 6.538, 8.618",\
                 "0.2051, 0.2647, 0.4617, 0.8246, 1.409, 2.256, 3.381, 4.804, 6.538, 8.606",\
                 "0.205, 0.2646, 0.4616, 0.8246, 1.409, 2.256, 3.38, 4.804, 6.539, 8.604",\
                 "0.2052, 0.2648, 0.4618, 0.8246, 1.41, 2.256, 3.379, 4.804, 6.541, 8.604",\
                 "0.205, 0.2652, 0.4626, 0.8248, 1.41, 2.256, 3.381, 4.8, 6.542, 8.617",\
                 "0.2064, 0.2654, 0.4624, 0.8238, 1.41, 2.256, 3.38, 4.8, 6.541, 8.605",\
                 "0.207, 0.2674, 0.4642, 0.8252, 1.41, 2.258, 3.38, 4.802, 6.539, 8.609",\
                 "0.2102, 0.2694, 0.466, 0.8282, 1.411, 2.254, 3.382, 4.808, 6.536, 8.606",\
                 "0.213, 0.2722, 0.4684, 0.8306, 1.413, 2.256, 3.377, 4.799, 6.545, 8.604",\
                 "0.217, 0.2752, 0.4722, 0.8348, 1.422, 2.265, 3.382, 4.798, 6.53, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.672, 0.732, 0.8994, 1.142, 1.445, 1.817, 2.27, 2.821, 3.484, 4.272",\
                 "0.6851, 0.745, 0.913, 1.155, 1.458, 1.83, 2.283, 2.834, 3.497, 4.284",\
                 "0.733, 0.793, 0.9605, 1.203, 1.506, 1.878, 2.331, 2.882, 3.545, 4.333",\
                 "0.8306, 0.8904, 1.058, 1.3, 1.603, 1.975, 2.428, 2.979, 3.642, 4.43",\
                 "0.9489, 1.009, 1.176, 1.416, 1.719, 2.091, 2.544, 3.095, 3.758, 4.545",\
                 "1.017, 1.076, 1.242, 1.482, 1.785, 2.155, 2.608, 3.159, 3.822, 4.609",\
                 "1.034, 1.093, 1.26, 1.5, 1.802, 2.172, 2.624, 3.174, 3.837, 4.624",\
                 "1.009, 1.068, 1.235, 1.475, 1.778, 2.149, 2.602, 3.151, 3.813, 4.6",\
                 "0.9432, 1.002, 1.169, 1.411, 1.714, 2.085, 2.537, 3.087, 3.75, 4.536",\
                 "0.8357, 0.8955, 1.063, 1.304, 1.608, 1.98, 2.434, 2.987, 3.65, 4.436");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8063, 0.8527, 0.9948, 1.233, 1.583, 2.068, 2.706, 3.511, 4.492, 5.66",\
                 "0.8228, 0.8693, 1.011, 1.249, 1.599, 2.085, 2.722, 3.528, 4.51, 5.682",\
                 "0.8908, 0.9371, 1.079, 1.317, 1.667, 2.153, 2.791, 3.596, 4.576, 5.745",\
                 "1.033, 1.079, 1.221, 1.459, 1.809, 2.295, 2.932, 3.737, 4.72, 5.892",\
                 "1.235, 1.282, 1.424, 1.662, 2.012, 2.497, 3.134, 3.939, 4.923, 6.094",\
                 "1.471, 1.518, 1.66, 1.898, 2.248, 2.733, 3.37, 4.173, 5.157, 6.33",\
                 "1.745, 1.792, 1.934, 2.172, 2.522, 3.006, 3.643, 4.448, 5.431, 6.601",\
                 "2.058, 2.105, 2.248, 2.486, 2.836, 3.319, 3.956, 4.76, 5.742, 6.913",\
                 "2.412, 2.459, 2.602, 2.841, 3.191, 3.675, 4.312, 5.115, 6.095, 7.265",\
                 "2.806, 2.854, 2.997, 3.237, 3.589, 4.076, 4.715, 5.517, 6.497, 7.666");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2922, 0.3543, 0.5219, 0.771, 1.124, 1.618, 2.284, 3.15, 4.243, 5.56",\
                 "0.2921, 0.3539, 0.5218, 0.7694, 1.124, 1.619, 2.284, 3.154, 4.241, 5.56",\
                 "0.2918, 0.3535, 0.5212, 0.7702, 1.123, 1.618, 2.285, 3.154, 4.242, 5.559",\
                 "0.2884, 0.351, 0.5196, 0.769, 1.123, 1.617, 2.284, 3.153, 4.243, 5.559",\
                 "0.2968, 0.357, 0.5226, 0.7702, 1.125, 1.618, 2.284, 3.152, 4.238, 5.56",\
                 "0.2996, 0.36, 0.525, 0.7704, 1.122, 1.616, 2.283, 3.154, 4.24, 5.561",\
                 "0.3008, 0.3612, 0.5264, 0.7732, 1.124, 1.613, 2.279, 3.148, 4.241, 5.557",\
                 "0.3022, 0.3636, 0.5286, 0.7746, 1.126, 1.618, 2.28, 3.145, 4.232, 5.554",\
                 "0.3048, 0.3652, 0.5312, 0.779, 1.128, 1.621, 2.283, 3.152, 4.233, 5.545",\
                 "0.3066, 0.3678, 0.5334, 0.7792, 1.132, 1.623, 2.29, 3.158, 4.244, 5.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2028, 0.2622, 0.4586, 0.8218, 1.408, 2.255, 3.381, 4.804, 6.544, 8.614",\
                 "0.2023, 0.2613, 0.4583, 0.8214, 1.408, 2.254, 3.381, 4.803, 6.541, 8.612",\
                 "0.2024, 0.2626, 0.458, 0.8216, 1.408, 2.254, 3.38, 4.804, 6.542, 8.612",\
                 "0.2024, 0.2626, 0.4584, 0.8218, 1.408, 2.254, 3.381, 4.803, 6.542, 8.612",\
                 "0.2022, 0.2622, 0.459, 0.8214, 1.41, 2.256, 3.381, 4.805, 6.539, 8.606",\
                 "0.204, 0.2626, 0.4592, 0.8228, 1.41, 2.254, 3.381, 4.801, 6.541, 8.613",\
                 "0.2058, 0.2648, 0.4608, 0.8232, 1.41, 2.257, 3.38, 4.801, 6.54, 8.61",\
                 "0.2078, 0.2676, 0.4624, 0.825, 1.41, 2.254, 3.382, 4.799, 6.537, 8.61",\
                 "0.2112, 0.2702, 0.465, 0.8272, 1.411, 2.256, 3.379, 4.798, 6.542, 8.599",\
                 "0.215, 0.2742, 0.4696, 0.832, 1.421, 2.267, 3.386, 4.797, 6.53, 8.606");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6677, 0.7277, 0.895, 1.137, 1.441, 1.813, 2.266, 2.817, 3.48, 4.267",\
                 "0.6809, 0.7407, 0.9087, 1.151, 1.454, 1.825, 2.279, 2.83, 3.493, 4.28",\
                 "0.7286, 0.7885, 0.9561, 1.198, 1.502, 1.873, 2.327, 2.878, 3.541, 4.328",\
                 "0.8236, 0.8834, 1.051, 1.293, 1.596, 1.967, 2.421, 2.972, 3.635, 4.422",\
                 "0.9379, 0.9973, 1.164, 1.405, 1.708, 2.079, 2.532, 3.083, 3.746, 4.534",\
                 "0.9993, 1.058, 1.225, 1.465, 1.767, 2.138, 2.59, 3.141, 3.804, 4.591",\
                 "1.01, 1.069, 1.235, 1.476, 1.778, 2.149, 2.601, 3.151, 3.813, 4.6",\
                 "0.979, 1.038, 1.205, 1.446, 1.748, 2.119, 2.571, 3.121, 3.783, 4.57",\
                 "0.9064, 0.9662, 1.132, 1.374, 1.677, 2.048, 2.501, 3.051, 3.713, 4.5",\
                 "0.7933, 0.8532, 1.02, 1.262, 1.566, 1.938, 2.392, 2.945, 3.609, 4.395");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7896, 0.8358, 0.9778, 1.216, 1.566, 2.052, 2.689, 3.494, 4.477, 5.646",\
                 "0.8058, 0.8521, 0.9943, 1.232, 1.583, 2.068, 2.706, 3.511, 4.493, 5.665",\
                 "0.8742, 0.9204, 1.063, 1.301, 1.651, 2.136, 2.774, 3.579, 4.561, 5.733",\
                 "1.015, 1.062, 1.204, 1.442, 1.792, 2.277, 2.915, 3.719, 4.702, 5.87",\
                 "1.213, 1.26, 1.402, 1.64, 1.99, 2.475, 3.113, 3.918, 4.901, 6.071",\
                 "1.445, 1.492, 1.634, 1.872, 2.222, 2.706, 3.344, 4.149, 5.131, 6.303",\
                 "1.714, 1.761, 1.903, 2.142, 2.49, 2.975, 3.613, 4.417, 5.398, 6.571",\
                 "2.023, 2.07, 2.213, 2.451, 2.8, 3.285, 3.921, 4.724, 5.706, 6.878",\
                 "2.372, 2.419, 2.562, 2.801, 3.151, 3.635, 4.272, 5.075, 6.055, 7.225",\
                 "2.762, 2.809, 2.953, 3.193, 3.545, 4.033, 4.671, 5.474, 6.455, 7.623");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2921, 0.3539, 0.5215, 0.7692, 1.124, 1.616, 2.284, 3.154, 4.238, 5.56",\
                 "0.2917, 0.3542, 0.5221, 0.7708, 1.124, 1.618, 2.283, 3.153, 4.237, 5.56",\
                 "0.2913, 0.353, 0.5206, 0.769, 1.124, 1.618, 2.284, 3.154, 4.237, 5.56",\
                 "0.2884, 0.3506, 0.5196, 0.7688, 1.123, 1.617, 2.283, 3.152, 4.238, 5.56",\
                 "0.2964, 0.3572, 0.5226, 0.77, 1.125, 1.616, 2.285, 3.153, 4.242, 5.555",\
                 "0.2992, 0.3596, 0.5244, 0.7706, 1.121, 1.614, 2.283, 3.154, 4.241, 5.561",\
                 "0.3002, 0.3608, 0.5262, 0.7726, 1.123, 1.614, 2.278, 3.149, 4.236, 5.559",\
                 "0.302, 0.363, 0.529, 0.7746, 1.126, 1.618, 2.282, 3.145, 4.233, 5.554",\
                 "0.3042, 0.3648, 0.5308, 0.7764, 1.128, 1.62, 2.282, 3.148, 4.235, 5.546",\
                 "0.3062, 0.3674, 0.534, 0.7798, 1.131, 1.623, 2.293, 3.158, 4.239, 5.551");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2019, 0.2624, 0.4579, 0.8214, 1.408, 2.254, 3.381, 4.803, 6.536, 8.619",\
                 "0.2017, 0.2624, 0.4577, 0.8214, 1.408, 2.255, 3.379, 4.801, 6.541, 8.605",\
                 "0.2018, 0.2622, 0.4574, 0.8212, 1.41, 2.255, 3.379, 4.801, 6.541, 8.605",\
                 "0.2018, 0.2622, 0.458, 0.8214, 1.409, 2.255, 3.381, 4.803, 6.538, 8.603",\
                 "0.2022, 0.2612, 0.4596, 0.8222, 1.408, 2.256, 3.381, 4.801, 6.541, 8.609",\
                 "0.203, 0.2622, 0.4584, 0.8218, 1.408, 2.254, 3.382, 4.801, 6.541, 8.606",\
                 "0.2058, 0.2636, 0.461, 0.823, 1.408, 2.257, 3.379, 4.802, 6.537, 8.612",\
                 "0.208, 0.266, 0.4624, 0.825, 1.408, 2.253, 3.381, 4.797, 6.536, 8.606",\
                 "0.2098, 0.2696, 0.4648, 0.8266, 1.413, 2.259, 3.377, 4.8, 6.54, 8.598",\
                 "0.2142, 0.273, 0.4688, 0.8328, 1.421, 2.27, 3.382, 4.798, 6.532, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.674, 0.7339, 0.9018, 1.144, 1.448, 1.819, 2.273, 2.823, 3.487, 4.274",\
                 "0.6871, 0.747, 0.9151, 1.157, 1.461, 1.833, 2.286, 2.837, 3.5, 4.287",\
                 "0.735, 0.795, 0.9632, 1.205, 1.509, 1.88, 2.334, 2.885, 3.548, 4.335",\
                 "0.8334, 0.8931, 1.06, 1.303, 1.606, 1.978, 2.431, 2.982, 3.645, 4.433",\
                 "0.9536, 1.014, 1.181, 1.421, 1.725, 2.096, 2.549, 3.1, 3.763, 4.55",\
                 "1.024, 1.084, 1.25, 1.491, 1.793, 2.163, 2.616, 3.167, 3.83, 4.617",\
                 "1.044, 1.103, 1.27, 1.51, 1.812, 2.183, 2.635, 3.185, 3.848, 4.635",\
                 "1.021, 1.081, 1.247, 1.488, 1.791, 2.162, 2.615, 3.165, 3.826, 4.613",\
                 "0.9571, 1.017, 1.185, 1.426, 1.729, 2.1, 2.553, 3.103, 3.765, 4.551",\
                 "0.8528, 0.9124, 1.08, 1.322, 1.625, 1.998, 2.452, 3.004, 3.667, 4.454");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8173, 0.8639, 1.006, 1.244, 1.594, 2.079, 2.717, 3.523, 4.502, 5.675",\
                 "0.8336, 0.8802, 1.022, 1.261, 1.61, 2.095, 2.733, 3.539, 4.518, 5.693",\
                 "0.9013, 0.948, 1.09, 1.328, 1.678, 2.163, 2.801, 3.606, 4.586, 5.757",\
                 "1.043, 1.09, 1.232, 1.47, 1.82, 2.305, 2.943, 3.748, 4.728, 5.899",\
                 "1.247, 1.294, 1.436, 1.674, 2.024, 2.509, 3.147, 3.951, 4.933, 6.101",\
                 "1.485, 1.532, 1.674, 1.912, 2.262, 2.747, 3.384, 4.189, 5.172, 6.344",\
                 "1.761, 1.808, 1.951, 2.189, 2.538, 3.022, 3.66, 4.465, 5.444, 6.616",\
                 "2.078, 2.125, 2.268, 2.506, 2.855, 3.339, 3.976, 4.779, 5.76, 6.934",\
                 "2.434, 2.481, 2.625, 2.864, 3.214, 3.698, 4.334, 5.137, 6.117, 7.287",\
                 "2.833, 2.88, 3.024, 3.264, 3.615, 4.103, 4.74, 5.543, 6.524, 7.692");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2926, 0.3548, 0.5235, 0.7715, 1.125, 1.618, 2.284, 3.153, 4.237, 5.56",\
                 "0.2926, 0.3542, 0.523, 0.7718, 1.125, 1.617, 2.285, 3.153, 4.243, 5.558",\
                 "0.2918, 0.3538, 0.5234, 0.7712, 1.125, 1.618, 2.283, 3.153, 4.238, 5.56",\
                 "0.289, 0.3516, 0.5206, 0.7698, 1.123, 1.618, 2.284, 3.154, 4.242, 5.56",\
                 "0.2972, 0.358, 0.5232, 0.771, 1.126, 1.619, 2.284, 3.154, 4.239, 5.561",\
                 "0.3002, 0.3606, 0.5254, 0.7712, 1.122, 1.616, 2.283, 3.152, 4.238, 5.56",\
                 "0.3012, 0.3622, 0.5272, 0.7736, 1.125, 1.614, 2.279, 3.15, 4.237, 5.557",\
                 "0.3032, 0.3646, 0.5298, 0.7756, 1.127, 1.62, 2.28, 3.145, 4.233, 5.555",\
                 "0.305, 0.366, 0.5316, 0.7788, 1.128, 1.621, 2.283, 3.148, 4.233, 5.545",\
                 "0.3074, 0.3684, 0.5356, 0.782, 1.132, 1.623, 2.292, 3.156, 4.239, 5.549");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2035, 0.263, 0.4592, 0.8216, 1.407, 2.256, 3.381, 4.803, 6.535, 8.609",\
                 "0.2034, 0.2629, 0.4581, 0.8222, 1.408, 2.259, 3.381, 4.804, 6.541, 8.613",\
                 "0.2034, 0.2628, 0.458, 0.822, 1.408, 2.259, 3.38, 4.804, 6.541, 8.607",\
                 "0.2032, 0.2634, 0.4592, 0.822, 1.408, 2.255, 3.38, 4.804, 6.543, 8.609",\
                 "0.2036, 0.2632, 0.4602, 0.822, 1.408, 2.255, 3.382, 4.806, 6.549, 8.613",\
                 "0.2042, 0.2634, 0.459, 0.8226, 1.408, 2.255, 3.381, 4.803, 6.542, 8.613",\
                 "0.2064, 0.2652, 0.4616, 0.8236, 1.41, 2.254, 3.38, 4.801, 6.536, 8.607",\
                 "0.2084, 0.2686, 0.464, 0.8258, 1.408, 2.253, 3.381, 4.8, 6.537, 8.603",\
                 "0.2116, 0.271, 0.4664, 0.8278, 1.411, 2.256, 3.378, 4.798, 6.534, 8.601",\
                 "0.2158, 0.2742, 0.4704, 0.8324, 1.421, 2.266, 3.381, 4.797, 6.532, 8.602");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6941, 0.755, 0.926, 1.172, 1.479, 1.853, 2.309, 2.861, 3.525, 4.312",\
                 "0.7071, 0.7682, 0.939, 1.185, 1.491, 1.866, 2.322, 2.874, 3.538, 4.326",\
                 "0.7545, 0.8157, 0.9866, 1.232, 1.539, 1.914, 2.369, 2.922, 3.586, 4.373",\
                 "0.8521, 0.9131, 1.084, 1.329, 1.636, 2.01, 2.466, 3.019, 3.683, 4.47",\
                 "0.9744, 1.035, 1.205, 1.45, 1.756, 2.131, 2.587, 3.139, 3.803, 4.59",\
                 "1.049, 1.11, 1.279, 1.523, 1.829, 2.203, 2.658, 3.21, 3.873, 4.661",\
                 "1.071, 1.131, 1.301, 1.545, 1.851, 2.224, 2.679, 3.23, 3.894, 4.681",\
                 "1.05, 1.11, 1.28, 1.524, 1.83, 2.204, 2.659, 3.21, 3.873, 4.66",\
                 "0.9863, 1.047, 1.217, 1.462, 1.769, 2.143, 2.598, 3.15, 3.813, 4.599",\
                 "0.8822, 0.9434, 1.114, 1.359, 1.666, 2.041, 2.497, 3.051, 3.714, 4.501");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8328, 0.8797, 1.023, 1.262, 1.613, 2.098, 2.736, 3.541, 4.52, 5.694",\
                 "0.8491, 0.8961, 1.039, 1.279, 1.629, 2.114, 2.752, 3.557, 4.536, 5.706",\
                 "0.917, 0.964, 1.107, 1.346, 1.697, 2.182, 2.819, 3.625, 4.605, 5.778",\
                 "1.059, 1.106, 1.249, 1.488, 1.839, 2.324, 2.962, 3.767, 4.747, 5.918",\
                 "1.264, 1.311, 1.454, 1.693, 2.043, 2.529, 3.167, 3.971, 4.951, 6.125",\
                 "1.503, 1.55, 1.693, 1.932, 2.283, 2.767, 3.405, 4.21, 5.191, 6.359",\
                 "1.78, 1.828, 1.971, 2.21, 2.56, 3.044, 3.681, 4.487, 5.468, 6.64",\
                 "2.098, 2.146, 2.289, 2.529, 2.879, 3.363, 3.999, 4.802, 5.785, 6.957",\
                 "2.456, 2.503, 2.648, 2.887, 3.238, 3.722, 4.359, 5.161, 6.141, 7.311",\
                 "2.856, 2.904, 3.048, 3.288, 3.641, 4.128, 4.766, 5.569, 6.549, 7.717");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3002, 0.3632, 0.5339, 0.7841, 1.138, 1.63, 2.295, 3.16, 4.245, 5.563",\
                 "0.3004, 0.3632, 0.5344, 0.7838, 1.138, 1.63, 2.293, 3.158, 4.245, 5.559",\
                 "0.2998, 0.3629, 0.5334, 0.7822, 1.137, 1.63, 2.293, 3.159, 4.247, 5.556",\
                 "0.2966, 0.3602, 0.5314, 0.7806, 1.135, 1.63, 2.293, 3.157, 4.243, 5.561",\
                 "0.3044, 0.3664, 0.5346, 0.7836, 1.139, 1.629, 2.293, 3.159, 4.243, 5.56",\
                 "0.3098, 0.3702, 0.5376, 0.7834, 1.136, 1.628, 2.292, 3.161, 4.242, 5.559",\
                 "0.31, 0.3716, 0.5392, 0.786, 1.137, 1.627, 2.29, 3.157, 4.244, 5.557",\
                 "0.3118, 0.3738, 0.5412, 0.7886, 1.139, 1.632, 2.29, 3.153, 4.237, 5.555",\
                 "0.314, 0.3754, 0.544, 0.792, 1.142, 1.633, 2.293, 3.156, 4.241, 5.547",\
                 "0.3164, 0.378, 0.5468, 0.7942, 1.145, 1.635, 2.301, 3.161, 4.241, 5.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2064, 0.2663, 0.4622, 0.8252, 1.409, 2.26, 3.381, 4.802, 6.537, 8.608",\
                 "0.2063, 0.2662, 0.462, 0.8252, 1.41, 2.259, 3.38, 4.804, 6.538, 8.615",\
                 "0.2064, 0.266, 0.462, 0.825, 1.409, 2.261, 3.382, 4.801, 6.536, 8.611",\
                 "0.2064, 0.2662, 0.4618, 0.8258, 1.409, 2.259, 3.381, 4.804, 6.542, 8.606",\
                 "0.2066, 0.2662, 0.4628, 0.8258, 1.41, 2.256, 3.382, 4.804, 6.536, 8.61",\
                 "0.207, 0.2668, 0.4628, 0.8246, 1.409, 2.259, 3.382, 4.804, 6.546, 8.614",\
                 "0.2088, 0.2684, 0.4638, 0.8258, 1.41, 2.256, 3.381, 4.803, 6.541, 8.608",\
                 "0.2116, 0.271, 0.4668, 0.8276, 1.411, 2.254, 3.382, 4.797, 6.537, 8.605",\
                 "0.2146, 0.274, 0.4702, 0.8318, 1.414, 2.255, 3.378, 4.798, 6.544, 8.599",\
                 "0.22, 0.2778, 0.4744, 0.8346, 1.423, 2.265, 3.384, 4.798, 6.53, 8.596");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6726, 0.7325, 0.9004, 1.142, 1.445, 1.817, 2.27, 2.821, 3.484, 4.272",\
                 "0.6855, 0.7453, 0.9135, 1.155, 1.459, 1.83, 2.284, 2.834, 3.498, 4.285",\
                 "0.7335, 0.7934, 0.9615, 1.203, 1.507, 1.878, 2.332, 2.883, 3.546, 4.333",\
                 "0.8312, 0.8909, 1.058, 1.3, 1.603, 1.975, 2.428, 2.979, 3.643, 4.43",\
                 "0.9494, 1.009, 1.176, 1.417, 1.72, 2.091, 2.544, 3.095, 3.758, 4.545",\
                 "1.017, 1.076, 1.242, 1.482, 1.785, 2.155, 2.608, 3.159, 3.822, 4.609",\
                 "1.033, 1.092, 1.258, 1.498, 1.801, 2.172, 2.624, 3.174, 3.836, 4.623",\
                 "1.007, 1.066, 1.232, 1.473, 1.776, 2.147, 2.6, 3.149, 3.812, 4.598",\
                 "0.9402, 1, 1.166, 1.408, 1.711, 2.082, 2.534, 3.084, 3.746, 4.533",\
                 "0.8315, 0.8918, 1.058, 1.3, 1.604, 1.976, 2.43, 2.983, 3.646, 4.433");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8014, 0.8479, 0.9897, 1.228, 1.578, 2.063, 2.701, 3.506, 4.489, 5.661",\
                 "0.8178, 0.8643, 1.006, 1.244, 1.594, 2.08, 2.718, 3.522, 4.506, 5.676",\
                 "0.886, 0.9322, 1.074, 1.313, 1.663, 2.148, 2.786, 3.591, 4.573, 5.745",\
                 "1.028, 1.074, 1.216, 1.454, 1.804, 2.29, 2.928, 3.733, 4.715, 5.887",\
                 "1.229, 1.276, 1.418, 1.656, 2.006, 2.491, 3.129, 3.932, 4.913, 6.088",\
                 "1.464, 1.51, 1.652, 1.89, 2.24, 2.725, 3.363, 4.168, 5.15, 6.319",\
                 "1.736, 1.783, 1.926, 2.164, 2.513, 2.997, 3.635, 4.44, 5.42, 6.589",\
                 "2.049, 2.095, 2.238, 2.477, 2.826, 3.31, 3.947, 4.75, 5.732, 6.902",\
                 "2.4, 2.447, 2.59, 2.829, 3.179, 3.664, 4.301, 5.103, 6.084, 7.254",\
                 "2.794, 2.841, 2.984, 3.224, 3.577, 4.064, 4.702, 5.506, 6.486, 7.654");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2921, 0.3539, 0.5218, 0.7695, 1.124, 1.616, 2.285, 3.154, 4.241, 5.561",\
                 "0.2923, 0.3541, 0.5221, 0.7712, 1.124, 1.616, 2.283, 3.15, 4.242, 5.554",\
                 "0.2914, 0.3539, 0.5218, 0.7704, 1.124, 1.618, 2.284, 3.154, 4.238, 5.56",\
                 "0.2888, 0.3508, 0.5204, 0.7678, 1.123, 1.615, 2.284, 3.153, 4.242, 5.56",\
                 "0.2962, 0.3574, 0.5226, 0.7702, 1.125, 1.619, 2.284, 3.154, 4.237, 5.56",\
                 "0.2998, 0.3598, 0.5256, 0.7706, 1.122, 1.616, 2.281, 3.154, 4.242, 5.554",\
                 "0.3006, 0.3612, 0.5268, 0.7738, 1.125, 1.613, 2.279, 3.147, 4.241, 5.559",\
                 "0.303, 0.363, 0.5286, 0.7754, 1.126, 1.618, 2.28, 3.145, 4.234, 5.552",\
                 "0.304, 0.3648, 0.5308, 0.7774, 1.128, 1.621, 2.283, 3.148, 4.233, 5.546",\
                 "0.3076, 0.3674, 0.5348, 0.7804, 1.132, 1.623, 2.291, 3.156, 4.239, 5.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2024, 0.2611, 0.4584, 0.8216, 1.408, 2.254, 3.381, 4.803, 6.541, 8.612",\
                 "0.2026, 0.2622, 0.4586, 0.822, 1.41, 2.255, 3.38, 4.807, 6.539, 8.609",\
                 "0.2022, 0.263, 0.4584, 0.8218, 1.408, 2.254, 3.381, 4.802, 6.54, 8.613",\
                 "0.2024, 0.2614, 0.4584, 0.8214, 1.408, 2.255, 3.381, 4.803, 6.542, 8.608",\
                 "0.2028, 0.2626, 0.4596, 0.8222, 1.408, 2.255, 3.382, 4.8, 6.536, 8.612",\
                 "0.2034, 0.2626, 0.459, 0.8228, 1.408, 2.255, 3.381, 4.804, 6.541, 8.62",\
                 "0.206, 0.2644, 0.4608, 0.823, 1.41, 2.254, 3.379, 4.803, 6.544, 8.613",\
                 "0.2078, 0.2672, 0.4632, 0.825, 1.41, 2.254, 3.382, 4.798, 6.536, 8.608",\
                 "0.2114, 0.2708, 0.4664, 0.8266, 1.412, 2.258, 3.377, 4.797, 6.543, 8.6",\
                 "0.2152, 0.274, 0.47, 0.833, 1.421, 2.266, 3.384, 4.798, 6.528, 8.596");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6916, 0.7526, 0.9233, 1.169, 1.476, 1.85, 2.306, 2.858, 3.522, 4.309",\
                 "0.705, 0.766, 0.9362, 1.182, 1.489, 1.864, 2.319, 2.872, 3.535, 4.323",\
                 "0.7525, 0.8135, 0.9843, 1.23, 1.537, 1.911, 2.367, 2.919, 3.583, 4.37",\
                 "0.8493, 0.9101, 1.081, 1.326, 1.633, 2.007, 2.463, 3.015, 3.679, 4.467",\
                 "0.9692, 1.03, 1.2, 1.444, 1.751, 2.125, 2.581, 3.133, 3.797, 4.584",\
                 "1.041, 1.102, 1.271, 1.515, 1.82, 2.194, 2.649, 3.201, 3.865, 4.652",\
                 "1.059, 1.12, 1.289, 1.533, 1.839, 2.212, 2.667, 3.218, 3.881, 4.669",\
                 "1.035, 1.095, 1.265, 1.509, 1.815, 2.189, 2.643, 3.195, 3.857, 4.644",\
                 "0.9683, 1.029, 1.198, 1.443, 1.75, 2.124, 2.58, 3.131, 3.793, 4.58",\
                 "0.8604, 0.9212, 1.091, 1.336, 1.643, 2.018, 2.475, 3.028, 3.692, 4.478");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8165, 0.8634, 1.006, 1.246, 1.597, 2.081, 2.719, 3.525, 4.504, 5.676",\
                 "0.833, 0.8799, 1.023, 1.262, 1.613, 2.098, 2.736, 3.541, 4.521, 5.692",\
                 "0.9013, 0.9481, 1.091, 1.33, 1.681, 2.167, 2.805, 3.608, 4.592, 5.76",\
                 "1.043, 1.09, 1.233, 1.472, 1.823, 2.308, 2.946, 3.751, 4.731, 5.903",\
                 "1.245, 1.292, 1.435, 1.675, 2.025, 2.51, 3.148, 3.952, 4.936, 6.108",\
                 "1.481, 1.528, 1.671, 1.91, 2.261, 2.746, 3.383, 4.187, 5.171, 6.338",\
                 "1.755, 1.802, 1.946, 2.184, 2.534, 3.019, 3.656, 4.461, 5.441, 6.611",\
                 "2.068, 2.116, 2.259, 2.499, 2.849, 3.333, 3.969, 4.773, 5.754, 6.926",\
                 "2.421, 2.469, 2.613, 2.853, 3.203, 3.688, 4.325, 5.127, 6.107, 7.278",\
                 "2.815, 2.863, 3.008, 3.249, 3.602, 4.089, 4.727, 5.53, 6.51, 7.679");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2998, 0.3627, 0.5331, 0.7834, 1.137, 1.629, 2.295, 3.159, 4.246, 5.562",\
                 "0.2999, 0.3629, 0.533, 0.782, 1.137, 1.628, 2.294, 3.158, 4.246, 5.563",\
                 "0.2992, 0.3621, 0.5324, 0.7828, 1.136, 1.629, 2.295, 3.159, 4.246, 5.562",\
                 "0.2966, 0.3596, 0.5312, 0.781, 1.136, 1.629, 2.295, 3.159, 4.244, 5.559",\
                 "0.3036, 0.3656, 0.534, 0.7832, 1.137, 1.631, 2.294, 3.161, 4.243, 5.562",\
                 "0.3084, 0.3696, 0.537, 0.7832, 1.134, 1.628, 2.292, 3.16, 4.241, 5.56",\
                 "0.3092, 0.371, 0.5382, 0.7854, 1.137, 1.626, 2.289, 3.158, 4.244, 5.56",\
                 "0.3108, 0.3722, 0.5402, 0.7888, 1.139, 1.631, 2.292, 3.153, 4.238, 5.557",\
                 "0.3126, 0.3744, 0.5436, 0.7902, 1.141, 1.632, 2.293, 3.158, 4.237, 5.548",\
                 "0.315, 0.377, 0.5454, 0.7934, 1.145, 1.636, 2.301, 3.163, 4.242, 5.552");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2058, 0.2656, 0.462, 0.8242, 1.409, 2.26, 3.381, 4.804, 6.535, 8.605",\
                 "0.2057, 0.2656, 0.4621, 0.8242, 1.409, 2.26, 3.381, 4.804, 6.541, 8.604",\
                 "0.2056, 0.2654, 0.4618, 0.8244, 1.41, 2.255, 3.38, 4.8, 6.539, 8.618",\
                 "0.2056, 0.2654, 0.462, 0.8242, 1.41, 2.255, 3.381, 4.804, 6.539, 8.605",\
                 "0.2054, 0.2656, 0.4628, 0.8242, 1.409, 2.259, 3.382, 4.804, 6.542, 8.61",\
                 "0.2072, 0.2662, 0.4624, 0.8246, 1.41, 2.256, 3.381, 4.8, 6.538, 8.615",\
                 "0.2084, 0.2674, 0.4648, 0.827, 1.412, 2.258, 3.38, 4.803, 6.542, 8.612",\
                 "0.211, 0.27, 0.466, 0.8286, 1.411, 2.254, 3.38, 4.799, 6.537, 8.614",\
                 "0.2148, 0.2736, 0.4696, 0.8316, 1.412, 2.259, 3.378, 4.798, 6.54, 8.602",\
                 "0.2182, 0.2766, 0.472, 0.8344, 1.422, 2.267, 3.388, 4.797, 6.532, 8.616");
        }
      }

      timing() {
        related_pin : "S0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.6941, 0.755, 0.926, 1.172, 1.479, 1.853, 2.309, 2.861, 3.525, 4.312",\
                 "0.7071, 0.7682, 0.939, 1.185, 1.491, 1.866, 2.322, 2.874, 3.538, 4.326",\
                 "0.7545, 0.8157, 0.9866, 1.232, 1.539, 1.914, 2.369, 2.922, 3.586, 4.373",\
                 "0.8521, 0.9131, 1.084, 1.329, 1.636, 2.01, 2.466, 3.019, 3.683, 4.47",\
                 "0.9744, 1.035, 1.205, 1.45, 1.756, 2.131, 2.587, 3.139, 3.803, 4.59",\
                 "1.049, 1.11, 1.279, 1.523, 1.829, 2.203, 2.658, 3.21, 3.873, 4.661",\
                 "1.071, 1.131, 1.301, 1.545, 1.851, 2.224, 2.679, 3.23, 3.894, 4.681",\
                 "1.05, 1.11, 1.28, 1.524, 1.83, 2.204, 2.659, 3.21, 3.873, 4.66",\
                 "0.9863, 1.047, 1.217, 1.462, 1.769, 2.143, 2.598, 3.15, 3.813, 4.599",\
                 "0.8822, 0.9434, 1.114, 1.359, 1.666, 2.041, 2.497, 3.051, 3.714, 4.501");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8328, 0.8797, 1.023, 1.262, 1.613, 2.098, 2.736, 3.541, 4.52, 5.694",\
                 "0.8491, 0.8961, 1.039, 1.279, 1.629, 2.114, 2.752, 3.557, 4.536, 5.706",\
                 "0.917, 0.964, 1.107, 1.346, 1.697, 2.182, 2.819, 3.625, 4.605, 5.778",\
                 "1.059, 1.106, 1.249, 1.488, 1.839, 2.324, 2.962, 3.767, 4.747, 5.918",\
                 "1.264, 1.311, 1.454, 1.693, 2.043, 2.529, 3.167, 3.971, 4.951, 6.125",\
                 "1.503, 1.55, 1.693, 1.932, 2.283, 2.767, 3.405, 4.21, 5.191, 6.359",\
                 "1.78, 1.828, 1.971, 2.21, 2.56, 3.044, 3.681, 4.487, 5.468, 6.64",\
                 "2.098, 2.146, 2.289, 2.529, 2.879, 3.363, 3.999, 4.802, 5.785, 6.957",\
                 "2.456, 2.503, 2.648, 2.887, 3.238, 3.722, 4.359, 5.161, 6.141, 7.311",\
                 "2.856, 2.904, 3.048, 3.288, 3.641, 4.128, 4.766, 5.569, 6.549, 7.717");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3, 0.363, 0.5332, 0.7829, 1.137, 1.629, 2.293, 3.159, 4.244, 5.561",\
                 "0.2996, 0.363, 0.5333, 0.782, 1.137, 1.628, 2.295, 3.161, 4.245, 5.563",\
                 "0.2994, 0.3622, 0.5324, 0.7828, 1.136, 1.629, 2.295, 3.159, 4.246, 5.562",\
                 "0.2964, 0.3594, 0.5316, 0.7806, 1.136, 1.628, 2.295, 3.158, 4.244, 5.56",\
                 "0.304, 0.3658, 0.534, 0.7828, 1.137, 1.631, 2.295, 3.16, 4.245, 5.563",\
                 "0.308, 0.37, 0.5372, 0.783, 1.135, 1.628, 2.293, 3.16, 4.241, 5.56",\
                 "0.3098, 0.3706, 0.539, 0.7854, 1.136, 1.626, 2.289, 3.158, 4.245, 5.559",\
                 "0.311, 0.373, 0.5404, 0.7884, 1.139, 1.63, 2.289, 3.153, 4.236, 5.556",\
                 "0.3132, 0.3746, 0.5438, 0.7918, 1.141, 1.632, 2.294, 3.157, 4.239, 5.547",\
                 "0.3152, 0.377, 0.5456, 0.7926, 1.144, 1.636, 2.301, 3.164, 4.242, 5.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2024, 0.2611, 0.4584, 0.8216, 1.408, 2.254, 3.381, 4.803, 6.541, 8.612",\
                 "0.2026, 0.2622, 0.4586, 0.822, 1.41, 2.255, 3.38, 4.807, 6.539, 8.609",\
                 "0.2022, 0.263, 0.4584, 0.8218, 1.408, 2.254, 3.381, 4.802, 6.54, 8.613",\
                 "0.2024, 0.2614, 0.4584, 0.8214, 1.408, 2.255, 3.381, 4.803, 6.542, 8.608",\
                 "0.2028, 0.2626, 0.4596, 0.8222, 1.408, 2.255, 3.382, 4.8, 6.536, 8.612",\
                 "0.2034, 0.2626, 0.459, 0.8228, 1.408, 2.255, 3.381, 4.804, 6.541, 8.62",\
                 "0.206, 0.2644, 0.4608, 0.823, 1.41, 2.254, 3.379, 4.803, 6.544, 8.613",\
                 "0.2078, 0.2672, 0.4632, 0.825, 1.41, 2.254, 3.382, 4.798, 6.536, 8.608",\
                 "0.2114, 0.2708, 0.4664, 0.8266, 1.412, 2.258, 3.377, 4.797, 6.543, 8.6",\
                 "0.2152, 0.274, 0.47, 0.833, 1.421, 2.266, 3.384, 4.798, 6.528, 8.596");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8009, 0.8616, 1.032, 1.276, 1.583, 1.958, 2.413, 2.966, 3.63, 4.417",\
                 "0.8162, 0.8768, 1.047, 1.291, 1.598, 1.973, 2.429, 2.981, 3.645, 4.432",\
                 "0.8766, 0.9372, 1.107, 1.352, 1.659, 2.033, 2.489, 3.041, 3.705, 4.493",\
                 "1.006, 1.066, 1.236, 1.481, 1.787, 2.162, 2.618, 3.17, 3.834, 4.622",\
                 "1.209, 1.269, 1.438, 1.683, 1.99, 2.364, 2.82, 3.372, 4.036, 4.824",\
                 "1.466, 1.528, 1.701, 1.949, 2.257, 2.633, 3.089, 3.641, 4.305, 5.092",\
                 "1.773, 1.837, 2.014, 2.269, 2.583, 2.962, 3.42, 3.973, 4.637, 5.424",\
                 "2.132, 2.198, 2.381, 2.643, 2.963, 3.347, 3.809, 4.364, 5.028, 5.815",\
                 "2.541, 2.611, 2.802, 3.074, 3.404, 3.794, 4.259, 4.815, 5.481, 6.268",\
                 "2.999, 3.072, 3.273, 3.559, 3.901, 4.302, 4.773, 5.332, 5.999, 6.787");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.5766, 0.6234, 0.7664, 1.006, 1.357, 1.843, 2.48, 3.286, 4.267, 5.44",\
                 "0.5892, 0.636, 0.7789, 1.019, 1.37, 1.855, 2.493, 3.298, 4.279, 5.452",\
                 "0.632, 0.6788, 0.8219, 1.061, 1.413, 1.898, 2.536, 3.341, 4.322, 5.495",\
                 "0.709, 0.7555, 0.8981, 1.137, 1.488, 1.973, 2.612, 3.415, 4.398, 5.566",\
                 "0.7865, 0.8342, 0.9786, 1.219, 1.569, 2.054, 2.692, 3.496, 4.477, 5.645",\
                 "0.8391, 0.8885, 1.036, 1.278, 1.63, 2.114, 2.751, 3.553, 4.538, 5.709",\
                 "0.8614, 0.9129, 1.064, 1.31, 1.662, 2.146, 2.782, 3.585, 4.566, 5.737",\
                 "0.8438, 0.8983, 1.056, 1.307, 1.662, 2.145, 2.78, 3.582, 4.562, 5.731",\
                 "0.7825, 0.8411, 1.005, 1.263, 1.623, 2.11, 2.745, 3.545, 4.525, 5.693",\
                 "0.6732, 0.7356, 0.9077, 1.174, 1.54, 2.032, 2.671, 3.472, 4.45, 5.618");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2975, 0.3604, 0.5303, 0.7804, 1.136, 1.63, 2.295, 3.158, 4.246, 5.562",\
                 "0.2977, 0.3606, 0.5303, 0.7804, 1.136, 1.629, 2.294, 3.161, 4.241, 5.562",\
                 "0.2979, 0.3608, 0.531, 0.7814, 1.136, 1.628, 2.296, 3.157, 4.245, 5.562",\
                 "0.298, 0.361, 0.5308, 0.7816, 1.136, 1.629, 2.295, 3.159, 4.246, 5.563",\
                 "0.3012, 0.3638, 0.5362, 0.7846, 1.138, 1.63, 2.295, 3.159, 4.245, 5.562",\
                 "0.317, 0.3806, 0.5516, 0.7978, 1.149, 1.638, 2.298, 3.164, 4.245, 5.561",\
                 "0.3366, 0.4002, 0.577, 0.8244, 1.172, 1.654, 2.308, 3.167, 4.25, 5.561",\
                 "0.3596, 0.4254, 0.605, 0.855, 1.198, 1.676, 2.325, 3.178, 4.256, 5.566",\
                 "0.3888, 0.4584, 0.6444, 0.8972, 1.235, 1.704, 2.345, 3.194, 4.264, 5.57",\
                 "0.4222, 0.4956, 0.6904, 0.952, 1.287, 1.75, 2.376, 3.211, 4.272, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2009, 0.2613, 0.4579, 0.8217, 1.409, 2.256, 3.381, 4.802, 6.54, 8.612",\
                 "0.201, 0.2612, 0.4579, 0.8217, 1.409, 2.255, 3.382, 4.801, 6.538, 8.611",\
                 "0.2014, 0.2616, 0.4579, 0.8218, 1.409, 2.255, 3.381, 4.802, 6.539, 8.612",\
                 "0.2028, 0.2626, 0.46, 0.823, 1.408, 2.259, 3.38, 4.802, 6.547, 8.611",\
                 "0.2132, 0.2722, 0.4686, 0.8282, 1.411, 2.259, 3.38, 4.804, 6.547, 8.614",\
                 "0.229, 0.287, 0.4822, 0.8406, 1.417, 2.258, 3.381, 4.801, 6.541, 8.608",\
                 "0.2482, 0.3066, 0.5004, 0.8544, 1.425, 2.263, 3.385, 4.803, 6.537, 8.608",\
                 "0.2734, 0.3316, 0.5238, 0.8756, 1.438, 2.268, 3.386, 4.804, 6.537, 8.606",\
                 "0.3032, 0.3622, 0.5516, 0.905, 1.462, 2.285, 3.391, 4.807, 6.536, 8.62",\
                 "0.3322, 0.3936, 0.5864, 0.935, 1.491, 2.31, 3.413, 4.815, 6.539, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.778, 0.8375, 1.005, 1.246, 1.55, 1.922, 2.375, 2.926, 3.59, 4.377",\
                 "0.793, 0.8527, 1.02, 1.261, 1.565, 1.937, 2.39, 2.941, 3.604, 4.392",\
                 "0.8534, 0.913, 1.08, 1.321, 1.625, 1.997, 2.45, 3.001, 3.664, 4.452",\
                 "0.9824, 1.042, 1.209, 1.45, 1.754, 2.125, 2.579, 3.13, 3.793, 4.581",\
                 "1.186, 1.245, 1.412, 1.653, 1.956, 2.328, 2.782, 3.333, 3.996, 4.783",\
                 "1.443, 1.504, 1.674, 1.919, 2.224, 2.597, 3.051, 3.602, 4.265, 5.052",\
                 "1.749, 1.812, 1.986, 2.237, 2.549, 2.925, 3.381, 3.932, 4.595, 5.382",\
                 "2.108, 2.173, 2.354, 2.612, 2.929, 3.309, 3.768, 4.322, 4.985, 5.772",\
                 "2.516, 2.585, 2.774, 3.043, 3.368, 3.755, 4.217, 4.772, 5.437, 6.224",\
                 "2.973, 3.045, 3.244, 3.527, 3.866, 4.262, 4.731, 5.289, 5.954, 6.741");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.5619, 0.6083, 0.7501, 0.9888, 1.339, 1.824, 2.463, 3.266, 4.251, 5.42",\
                 "0.5744, 0.6204, 0.7626, 1.001, 1.351, 1.837, 2.475, 3.278, 4.263, 5.432",\
                 "0.6171, 0.6634, 0.8052, 1.044, 1.394, 1.88, 2.518, 3.323, 4.306, 5.478",\
                 "0.6919, 0.7381, 0.8796, 1.118, 1.468, 1.953, 2.591, 3.395, 4.378, 5.551",\
                 "0.7643, 0.8117, 0.9551, 1.194, 1.544, 2.029, 2.667, 3.471, 4.454, 5.626",\
                 "0.8126, 0.8615, 1.007, 1.249, 1.6, 2.084, 2.721, 3.525, 4.508, 5.679",\
                 "0.8295, 0.8806, 1.031, 1.276, 1.627, 2.11, 2.747, 3.549, 4.531, 5.702",\
                 "0.8073, 0.8615, 1.017, 1.267, 1.621, 2.105, 2.74, 3.542, 4.522, 5.691",\
                 "0.7408, 0.7986, 0.9616, 1.218, 1.578, 2.065, 2.7, 3.501, 4.48, 5.648",\
                 "0.6265, 0.6883, 0.859, 1.124, 1.489, 1.981, 2.621, 3.422, 4.401, 5.569");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2907, 0.3532, 0.5204, 0.7694, 1.124, 1.618, 2.286, 3.154, 4.243, 5.56",\
                 "0.2914, 0.3525, 0.5203, 0.769, 1.124, 1.617, 2.285, 3.154, 4.239, 5.56",\
                 "0.2908, 0.3526, 0.5202, 0.769, 1.124, 1.617, 2.285, 3.155, 4.241, 5.561",\
                 "0.2916, 0.3528, 0.5206, 0.7698, 1.125, 1.619, 2.284, 3.154, 4.24, 5.559",\
                 "0.2948, 0.3566, 0.5244, 0.7724, 1.126, 1.619, 2.286, 3.155, 4.241, 5.561",\
                 "0.3114, 0.374, 0.5428, 0.787, 1.138, 1.626, 2.289, 3.156, 4.239, 5.56",\
                 "0.33, 0.3932, 0.566, 0.813, 1.159, 1.641, 2.298, 3.162, 4.245, 5.555",\
                 "0.3554, 0.4192, 0.5956, 0.8432, 1.184, 1.663, 2.315, 3.17, 4.251, 5.562",\
                 "0.3848, 0.453, 0.635, 0.8856, 1.222, 1.693, 2.336, 3.185, 4.259, 5.567",\
                 "0.4168, 0.49, 0.6816, 0.9416, 1.274, 1.738, 2.366, 3.202, 4.268, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1983, 0.2582, 0.4546, 0.8187, 1.407, 2.255, 3.382, 4.802, 6.536, 8.623",\
                 "0.1981, 0.258, 0.4545, 0.819, 1.407, 2.255, 3.382, 4.801, 6.538, 8.621",\
                 "0.1983, 0.2582, 0.4545, 0.8194, 1.407, 2.255, 3.38, 4.803, 6.542, 8.612",\
                 "0.199, 0.2594, 0.4562, 0.8198, 1.406, 2.255, 3.38, 4.803, 6.541, 8.613",\
                 "0.2106, 0.269, 0.4646, 0.8264, 1.409, 2.255, 3.381, 4.803, 6.542, 8.61",\
                 "0.225, 0.2836, 0.4782, 0.8358, 1.415, 2.257, 3.381, 4.801, 6.541, 8.609",\
                 "0.2462, 0.3028, 0.4952, 0.8494, 1.423, 2.261, 3.385, 4.805, 6.538, 8.609",\
                 "0.2702, 0.328, 0.5196, 0.8718, 1.437, 2.266, 3.387, 4.804, 6.537, 8.605",\
                 "0.2992, 0.357, 0.5472, 0.8996, 1.46, 2.282, 3.393, 4.807, 6.538, 8.619",\
                 "0.327, 0.388, 0.5794, 0.932, 1.49, 2.31, 3.413, 4.814, 6.54, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7669, 0.8267, 0.994, 1.236, 1.539, 1.911, 2.365, 2.916, 3.579, 4.366",\
                 "0.7821, 0.8417, 1.009, 1.251, 1.554, 1.926, 2.38, 2.931, 3.594, 4.382",\
                 "0.8427, 0.9022, 1.07, 1.311, 1.615, 1.987, 2.44, 2.991, 3.655, 4.442",\
                 "0.9722, 1.032, 1.199, 1.44, 1.744, 2.116, 2.569, 3.12, 3.784, 4.571",\
                 "1.174, 1.233, 1.4, 1.641, 1.945, 2.317, 2.77, 3.321, 3.984, 4.772",\
                 "1.428, 1.488, 1.658, 1.904, 2.21, 2.583, 3.037, 3.588, 4.251, 5.038",\
                 "1.73, 1.793, 1.968, 2.22, 2.531, 2.908, 3.363, 3.915, 4.578, 5.365",\
                 "2.085, 2.151, 2.331, 2.591, 2.908, 3.29, 3.749, 4.302, 4.966, 5.753",\
                 "2.489, 2.559, 2.748, 3.018, 3.344, 3.733, 4.195, 4.75, 5.415, 6.202",\
                 "2.941, 3.014, 3.214, 3.498, 3.838, 4.237, 4.705, 5.264, 5.929, 6.717");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.5625, 0.6084, 0.7505, 0.989, 1.339, 1.825, 2.463, 3.268, 4.249, 5.421",\
                 "0.5748, 0.6208, 0.763, 1.001, 1.352, 1.837, 2.476, 3.28, 4.262, 5.43",\
                 "0.6176, 0.6635, 0.8057, 1.044, 1.394, 1.88, 2.518, 3.322, 4.306, 5.474",\
                 "0.6922, 0.7382, 0.8799, 1.118, 1.468, 1.953, 2.591, 3.396, 4.379, 5.551",\
                 "0.7645, 0.8116, 0.9553, 1.194, 1.544, 2.029, 2.667, 3.471, 4.453, 5.626",\
                 "0.8125, 0.8615, 1.008, 1.249, 1.6, 2.084, 2.721, 3.525, 4.507, 5.679",\
                 "0.8295, 0.8806, 1.031, 1.276, 1.626, 2.11, 2.746, 3.549, 4.53, 5.702",\
                 "0.8073, 0.8615, 1.017, 1.267, 1.621, 2.104, 2.74, 3.542, 4.522, 5.691",\
                 "0.7407, 0.7987, 0.9615, 1.218, 1.577, 2.064, 2.699, 3.5, 4.48, 5.648",\
                 "0.6264, 0.6881, 0.8588, 1.123, 1.489, 1.981, 2.62, 3.422, 4.4, 5.568");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.29, 0.3517, 0.5198, 0.77, 1.124, 1.618, 2.284, 3.152, 4.241, 5.557",\
                 "0.2899, 0.3522, 0.5197, 0.7702, 1.124, 1.617, 2.283, 3.151, 4.242, 5.555",\
                 "0.2902, 0.3526, 0.5204, 0.77, 1.124, 1.618, 2.285, 3.152, 4.243, 5.557",\
                 "0.2902, 0.3522, 0.5206, 0.7702, 1.124, 1.618, 2.285, 3.152, 4.243, 5.558",\
                 "0.2942, 0.356, 0.5242, 0.7738, 1.126, 1.619, 2.285, 3.151, 4.243, 5.554",\
                 "0.3102, 0.373, 0.5428, 0.787, 1.138, 1.626, 2.29, 3.157, 4.242, 5.561",\
                 "0.329, 0.3926, 0.5662, 0.814, 1.159, 1.643, 2.301, 3.16, 4.246, 5.557",\
                 "0.3552, 0.4188, 0.5964, 0.8434, 1.187, 1.664, 2.315, 3.169, 4.248, 5.561",\
                 "0.3838, 0.453, 0.6354, 0.8874, 1.223, 1.695, 2.336, 3.185, 4.259, 5.569",\
                 "0.4168, 0.49, 0.6834, 0.9428, 1.277, 1.74, 2.37, 3.202, 4.268, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1981, 0.2578, 0.4548, 0.8185, 1.408, 2.259, 3.381, 4.801, 6.538, 8.608",\
                 "0.1982, 0.258, 0.4552, 0.8184, 1.406, 2.259, 3.381, 4.804, 6.547, 8.615",\
                 "0.1982, 0.2574, 0.4539, 0.8188, 1.407, 2.255, 3.382, 4.802, 6.539, 8.62",\
                 "0.1992, 0.2588, 0.456, 0.8194, 1.407, 2.255, 3.381, 4.804, 6.541, 8.612",\
                 "0.2104, 0.2698, 0.4656, 0.8266, 1.409, 2.255, 3.38, 4.804, 6.541, 8.613",\
                 "0.2252, 0.2832, 0.4786, 0.8356, 1.415, 2.262, 3.38, 4.803, 6.542, 8.613",\
                 "0.2464, 0.3032, 0.4954, 0.8498, 1.423, 2.261, 3.387, 4.81, 6.536, 8.607",\
                 "0.2704, 0.329, 0.5194, 0.8728, 1.437, 2.266, 3.386, 4.805, 6.536, 8.605",\
                 "0.2986, 0.358, 0.5482, 0.8992, 1.459, 2.282, 3.391, 4.808, 6.539, 8.62",\
                 "0.3278, 0.39, 0.58, 0.932, 1.491, 2.309, 3.415, 4.815, 6.54, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7894, 0.8502, 1.02, 1.265, 1.572, 1.947, 2.402, 2.955, 3.619, 4.406",\
                 "0.8049, 0.8654, 1.036, 1.28, 1.587, 1.962, 2.418, 2.97, 3.634, 4.421",\
                 "0.8658, 0.9264, 1.097, 1.341, 1.648, 2.023, 2.478, 3.031, 3.695, 4.482",\
                 "0.9951, 1.056, 1.225, 1.47, 1.777, 2.151, 2.607, 3.16, 3.824, 4.611",\
                 "1.196, 1.256, 1.426, 1.671, 1.977, 2.352, 2.808, 3.36, 4.024, 4.811",\
                 "1.45, 1.512, 1.685, 1.934, 2.242, 2.618, 3.074, 3.627, 4.29, 5.078",\
                 "1.753, 1.817, 1.994, 2.249, 2.564, 2.944, 3.402, 3.955, 4.619, 5.406",\
                 "2.109, 2.175, 2.358, 2.621, 2.942, 3.326, 3.788, 4.343, 5.007, 5.794",\
                 "2.513, 2.583, 2.775, 3.049, 3.379, 3.769, 4.235, 4.792, 5.457, 6.244",\
                 "2.965, 3.039, 3.241, 3.53, 3.873, 4.274, 4.746, 5.306, 5.972, 6.761");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.5766, 0.6233, 0.7663, 1.006, 1.357, 1.843, 2.48, 3.286, 4.267, 5.439",\
                 "0.589, 0.6357, 0.7789, 1.019, 1.37, 1.855, 2.493, 3.298, 4.279, 5.452",\
                 "0.632, 0.6787, 0.8218, 1.061, 1.412, 1.898, 2.536, 3.34, 4.324, 5.493",\
                 "0.7089, 0.7555, 0.8981, 1.137, 1.488, 1.973, 2.612, 3.415, 4.396, 5.569",\
                 "0.7864, 0.8339, 0.9786, 1.219, 1.569, 2.054, 2.691, 3.495, 4.477, 5.646",\
                 "0.839, 0.8883, 1.036, 1.278, 1.629, 2.114, 2.75, 3.553, 4.537, 5.706",\
                 "0.8612, 0.913, 1.064, 1.31, 1.661, 2.145, 2.782, 3.584, 4.565, 5.737",\
                 "0.8437, 0.8988, 1.055, 1.307, 1.662, 2.145, 2.78, 3.582, 4.561, 5.731",\
                 "0.7824, 0.8411, 1.005, 1.263, 1.623, 2.109, 2.744, 3.545, 4.524, 5.693",\
                 "0.6728, 0.7355, 0.9078, 1.174, 1.54, 2.031, 2.671, 3.472, 4.45, 5.617");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2977, 0.3601, 0.53, 0.7802, 1.135, 1.629, 2.294, 3.161, 4.242, 5.562",\
                 "0.2971, 0.3603, 0.5301, 0.78, 1.136, 1.63, 2.295, 3.161, 4.246, 5.563",\
                 "0.2975, 0.3602, 0.5302, 0.781, 1.136, 1.629, 2.295, 3.159, 4.246, 5.562",\
                 "0.2974, 0.3604, 0.5308, 0.7814, 1.136, 1.629, 2.295, 3.159, 4.246, 5.563",\
                 "0.3006, 0.3638, 0.535, 0.7844, 1.138, 1.631, 2.296, 3.158, 4.246, 5.563",\
                 "0.3168, 0.3798, 0.5524, 0.7976, 1.149, 1.637, 2.298, 3.163, 4.243, 5.56",\
                 "0.3346, 0.3994, 0.5756, 0.826, 1.171, 1.653, 2.308, 3.168, 4.248, 5.559",\
                 "0.3598, 0.4258, 0.6054, 0.8552, 1.198, 1.676, 2.325, 3.177, 4.257, 5.565",\
                 "0.3884, 0.4586, 0.6454, 0.8998, 1.237, 1.706, 2.346, 3.194, 4.263, 5.57",\
                 "0.4236, 0.4956, 0.693, 0.957, 1.291, 1.752, 2.38, 3.213, 4.272, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.201, 0.2613, 0.4579, 0.8217, 1.409, 2.256, 3.382, 4.802, 6.54, 8.611",\
                 "0.2014, 0.2609, 0.4593, 0.8226, 1.409, 2.259, 3.38, 4.803, 6.538, 8.612",\
                 "0.2014, 0.2617, 0.4586, 0.822, 1.411, 2.255, 3.38, 4.807, 6.539, 8.624",\
                 "0.203, 0.2628, 0.4604, 0.8232, 1.411, 2.254, 3.38, 4.803, 6.54, 8.607",\
                 "0.213, 0.2722, 0.4688, 0.8286, 1.411, 2.256, 3.381, 4.805, 6.548, 8.618",\
                 "0.229, 0.287, 0.4824, 0.8392, 1.417, 2.257, 3.38, 4.799, 6.539, 8.623",\
                 "0.25, 0.3074, 0.4998, 0.8536, 1.424, 2.263, 3.385, 4.801, 6.532, 8.605",\
                 "0.274, 0.3328, 0.5244, 0.8758, 1.438, 2.267, 3.385, 4.805, 6.537, 8.603",\
                 "0.3038, 0.3624, 0.5526, 0.9044, 1.462, 2.282, 3.392, 4.806, 6.537, 8.619",\
                 "0.3324, 0.394, 0.586, 0.936, 1.492, 2.311, 3.41, 4.815, 6.542, 8.602");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7858, 0.8454, 1.013, 1.254, 1.558, 1.929, 2.383, 2.934, 3.597, 4.384",\
                 "0.8008, 0.8605, 1.028, 1.269, 1.573, 1.944, 2.398, 2.949, 3.612, 4.399",\
                 "0.8607, 0.9204, 1.088, 1.329, 1.632, 2.004, 2.457, 3.008, 3.672, 4.459",\
                 "0.9893, 1.049, 1.216, 1.457, 1.76, 2.132, 2.585, 3.136, 3.799, 4.587",\
                 "1.193, 1.252, 1.419, 1.66, 1.963, 2.335, 2.788, 3.339, 4.003, 4.79",\
                 "1.452, 1.513, 1.683, 1.928, 2.233, 2.606, 3.059, 3.61, 4.273, 5.06",\
                 "1.761, 1.823, 1.998, 2.249, 2.559, 2.936, 3.392, 3.943, 4.606, 5.393",\
                 "2.123, 2.188, 2.368, 2.626, 2.942, 3.323, 3.782, 4.335, 4.998, 5.785",\
                 "2.534, 2.603, 2.792, 3.06, 3.385, 3.772, 4.234, 4.788, 5.453, 6.239",\
                 "2.996, 3.068, 3.267, 3.549, 3.886, 4.282, 4.75, 5.308, 5.973, 6.76");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.5617, 0.608, 0.7499, 0.9885, 1.339, 1.825, 2.463, 3.267, 4.25, 5.417",\
                 "0.574, 0.6204, 0.7622, 1.001, 1.351, 1.837, 2.475, 3.279, 4.261, 5.433",\
                 "0.6169, 0.6629, 0.805, 1.043, 1.394, 1.879, 2.518, 3.322, 4.305, 5.472",\
                 "0.6918, 0.7378, 0.8795, 1.117, 1.468, 1.953, 2.591, 3.395, 4.378, 5.548",\
                 "0.7642, 0.8114, 0.9549, 1.194, 1.544, 2.029, 2.666, 3.47, 4.452, 5.624",\
                 "0.8126, 0.8615, 1.007, 1.249, 1.6, 2.084, 2.721, 3.525, 4.507, 5.674",\
                 "0.8296, 0.8808, 1.031, 1.275, 1.627, 2.11, 2.747, 3.549, 4.53, 5.698",\
                 "0.8076, 0.8619, 1.018, 1.268, 1.622, 2.105, 2.74, 3.542, 4.522, 5.691",\
                 "0.7411, 0.7989, 0.9619, 1.219, 1.578, 2.065, 2.7, 3.501, 4.48, 5.648",\
                 "0.6267, 0.6885, 0.8595, 1.124, 1.489, 1.981, 2.621, 3.423, 4.401, 5.569");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.292, 0.3534, 0.5212, 0.7706, 1.124, 1.618, 2.286, 3.154, 4.243, 5.556",\
                 "0.2923, 0.3541, 0.5209, 0.7706, 1.124, 1.617, 2.284, 3.15, 4.243, 5.553",\
                 "0.2925, 0.354, 0.521, 0.7708, 1.124, 1.617, 2.285, 3.151, 4.243, 5.556",\
                 "0.2926, 0.3536, 0.5214, 0.7696, 1.124, 1.62, 2.285, 3.155, 4.24, 5.561",\
                 "0.296, 0.3574, 0.5256, 0.774, 1.127, 1.619, 2.284, 3.152, 4.242, 5.555",\
                 "0.313, 0.375, 0.5434, 0.7874, 1.138, 1.626, 2.288, 3.155, 4.241, 5.558",\
                 "0.3322, 0.3952, 0.568, 0.8146, 1.159, 1.641, 2.3, 3.161, 4.244, 5.556",\
                 "0.3566, 0.4218, 0.5962, 0.8432, 1.186, 1.664, 2.315, 3.169, 4.251, 5.561",\
                 "0.387, 0.4552, 0.6368, 0.8858, 1.221, 1.69, 2.334, 3.185, 4.26, 5.568",\
                 "0.42, 0.4916, 0.6836, 0.939, 1.273, 1.734, 2.364, 3.204, 4.266, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1982, 0.2581, 0.4546, 0.8183, 1.406, 2.255, 3.38, 4.802, 6.536, 8.602",\
                 "0.1984, 0.2582, 0.4544, 0.8192, 1.406, 2.255, 3.379, 4.803, 6.538, 8.611",\
                 "0.1981, 0.2583, 0.4551, 0.8188, 1.406, 2.258, 3.381, 4.801, 6.535, 8.609",\
                 "0.1992, 0.2594, 0.4566, 0.8194, 1.407, 2.256, 3.382, 4.801, 6.538, 8.609",\
                 "0.2104, 0.2692, 0.465, 0.8266, 1.409, 2.255, 3.379, 4.803, 6.538, 8.611",\
                 "0.2244, 0.2828, 0.4782, 0.8368, 1.415, 2.257, 3.38, 4.802, 6.541, 8.608",\
                 "0.2454, 0.3034, 0.4958, 0.8496, 1.423, 2.262, 3.386, 4.803, 6.535, 8.6",\
                 "0.2704, 0.3274, 0.5198, 0.8712, 1.435, 2.265, 3.386, 4.805, 6.537, 8.603",\
                 "0.299, 0.3574, 0.5478, 0.899, 1.46, 2.282, 3.393, 4.808, 6.537, 8.619",\
                 "0.3266, 0.388, 0.5792, 0.9312, 1.49, 2.311, 3.411, 4.817, 6.54, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.7753, 0.835, 1.002, 1.244, 1.547, 1.919, 2.373, 2.924, 3.587, 4.374",\
                 "0.7904, 0.8502, 1.018, 1.259, 1.563, 1.934, 2.388, 2.939, 3.602, 4.39",\
                 "0.8509, 0.9107, 1.078, 1.319, 1.623, 1.995, 2.448, 2.999, 3.663, 4.45",\
                 "0.9803, 1.04, 1.207, 1.448, 1.751, 2.123, 2.577, 3.128, 3.791, 4.579",\
                 "1.183, 1.243, 1.409, 1.65, 1.954, 2.326, 2.779, 3.33, 3.993, 4.78",\
                 "1.439, 1.5, 1.671, 1.916, 2.221, 2.594, 3.048, 3.599, 4.262, 5.049",\
                 "1.745, 1.808, 1.983, 2.234, 2.545, 2.922, 3.378, 3.929, 4.592, 5.379",\
                 "2.103, 2.168, 2.349, 2.608, 2.925, 3.306, 3.765, 4.318, 4.982, 5.768",\
                 "2.511, 2.58, 2.769, 3.038, 3.364, 3.751, 4.213, 4.768, 5.433, 6.22",\
                 "2.967, 3.038, 3.239, 3.521, 3.861, 4.258, 4.726, 5.284, 5.949, 6.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.5619, 0.6081, 0.7502, 0.9887, 1.339, 1.825, 2.462, 3.268, 4.248, 5.421",\
                 "0.5741, 0.6206, 0.7625, 1.001, 1.352, 1.837, 2.474, 3.281, 4.26, 5.432",\
                 "0.6172, 0.6631, 0.8053, 1.044, 1.394, 1.879, 2.518, 3.321, 4.306, 5.474",\
                 "0.6919, 0.7379, 0.8796, 1.118, 1.468, 1.953, 2.591, 3.395, 4.375, 5.55",\
                 "0.7642, 0.8115, 0.955, 1.194, 1.544, 2.029, 2.667, 3.471, 4.452, 5.62",\
                 "0.8123, 0.8611, 1.007, 1.248, 1.599, 2.084, 2.721, 3.525, 4.507, 5.675",\
                 "0.8295, 0.8808, 1.031, 1.275, 1.626, 2.11, 2.747, 3.549, 4.531, 5.702",\
                 "0.8075, 0.8616, 1.017, 1.267, 1.621, 2.105, 2.74, 3.542, 4.522, 5.691",\
                 "0.7407, 0.7984, 0.9616, 1.218, 1.578, 2.064, 2.7, 3.5, 4.48, 5.648",\
                 "0.6262, 0.6881, 0.8591, 1.123, 1.489, 1.981, 2.621, 3.422, 4.401, 5.569");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.291, 0.3528, 0.5202, 0.7702, 1.124, 1.617, 2.283, 3.151, 4.242, 5.556",\
                 "0.2911, 0.3528, 0.5207, 0.7704, 1.125, 1.617, 2.284, 3.151, 4.242, 5.554",\
                 "0.2913, 0.3529, 0.5206, 0.7704, 1.124, 1.617, 2.284, 3.151, 4.243, 5.554",\
                 "0.2912, 0.3536, 0.5208, 0.7698, 1.125, 1.618, 2.286, 3.154, 4.243, 5.56",\
                 "0.2948, 0.3568, 0.5252, 0.7724, 1.126, 1.619, 2.286, 3.155, 4.241, 5.561",\
                 "0.313, 0.3746, 0.5428, 0.7868, 1.138, 1.625, 2.288, 3.156, 4.24, 5.561",\
                 "0.3308, 0.3944, 0.5664, 0.8136, 1.158, 1.641, 2.299, 3.16, 4.241, 5.559",\
                 "0.3558, 0.4206, 0.5964, 0.8436, 1.188, 1.664, 2.315, 3.17, 4.25, 5.563",\
                 "0.3856, 0.455, 0.6362, 0.886, 1.222, 1.693, 2.335, 3.185, 4.259, 5.568",\
                 "0.4186, 0.4912, 0.6834, 0.9422, 1.276, 1.736, 2.367, 3.203, 4.268, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1984, 0.2585, 0.4554, 0.8192, 1.407, 2.255, 3.381, 4.803, 6.536, 8.607",\
                 "0.1976, 0.258, 0.4549, 0.8194, 1.408, 2.255, 3.381, 4.802, 6.536, 8.606",\
                 "0.1982, 0.2575, 0.4549, 0.8184, 1.407, 2.255, 3.382, 4.802, 6.539, 8.62",\
                 "0.1994, 0.259, 0.4562, 0.8198, 1.407, 2.255, 3.381, 4.803, 6.539, 8.61",\
                 "0.211, 0.2706, 0.465, 0.8266, 1.409, 2.256, 3.38, 4.804, 6.544, 8.614",\
                 "0.2252, 0.2838, 0.4782, 0.837, 1.415, 2.258, 3.381, 4.803, 6.54, 8.617",\
                 "0.2454, 0.3038, 0.4956, 0.8496, 1.422, 2.262, 3.386, 4.803, 6.537, 8.608",\
                 "0.2698, 0.3274, 0.5194, 0.8728, 1.436, 2.265, 3.386, 4.805, 6.538, 8.604",\
                 "0.299, 0.3568, 0.5476, 0.8996, 1.46, 2.281, 3.391, 4.805, 6.538, 8.615",\
                 "0.3272, 0.3884, 0.58, 0.9318, 1.489, 2.31, 3.413, 4.817, 6.543, 8.602");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8087, 0.8694, 1.039, 1.284, 1.591, 1.965, 2.421, 2.974, 3.637, 4.425",\
                 "0.8241, 0.8847, 1.055, 1.299, 1.606, 1.981, 2.436, 2.989, 3.653, 4.44",\
                 "0.8841, 0.9447, 1.115, 1.359, 1.666, 2.041, 2.496, 3.049, 3.713, 4.5",\
                 "1.013, 1.073, 1.243, 1.488, 1.794, 2.169, 2.624, 3.177, 3.841, 4.628",\
                 "1.216, 1.276, 1.446, 1.69, 1.997, 2.372, 2.827, 3.38, 4.043, 4.831",\
                 "1.476, 1.538, 1.711, 1.959, 2.267, 2.643, 3.098, 3.651, 4.315, 5.102",\
                 "1.785, 1.849, 2.026, 2.28, 2.594, 2.974, 3.431, 3.984, 4.648, 5.435",\
                 "2.147, 2.213, 2.397, 2.658, 2.978, 3.362, 3.823, 4.377, 5.042, 5.829",\
                 "2.561, 2.63, 2.821, 3.093, 3.421, 3.811, 4.275, 4.832, 5.497, 6.284",\
                 "3.023, 3.096, 3.297, 3.582, 3.923, 4.323, 4.793, 5.352, 6.018, 6.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.5767, 0.6235, 0.7665, 1.006, 1.357, 1.843, 2.481, 3.284, 4.266, 5.44",\
                 "0.5892, 0.6358, 0.779, 1.019, 1.37, 1.855, 2.494, 3.297, 4.28, 5.453",\
                 "0.6321, 0.6787, 0.8219, 1.062, 1.413, 1.898, 2.536, 3.34, 4.323, 5.49",\
                 "0.7091, 0.7557, 0.8983, 1.138, 1.488, 1.974, 2.612, 3.416, 4.4, 5.568",\
                 "0.7862, 0.8341, 0.9787, 1.219, 1.569, 2.054, 2.691, 3.496, 4.478, 5.65",\
                 "0.8395, 0.8887, 1.036, 1.278, 1.63, 2.114, 2.751, 3.555, 4.538, 5.709",\
                 "0.8609, 0.913, 1.064, 1.31, 1.662, 2.146, 2.782, 3.584, 4.565, 5.738",\
                 "0.8442, 0.8988, 1.056, 1.307, 1.662, 2.145, 2.781, 3.583, 4.562, 5.731",\
                 "0.7828, 0.8412, 1.005, 1.264, 1.624, 2.11, 2.745, 3.545, 4.525, 5.693",\
                 "0.6734, 0.7358, 0.9082, 1.174, 1.541, 2.032, 2.671, 3.472, 4.451, 5.618");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2991, 0.3616, 0.5315, 0.782, 1.136, 1.629, 2.295, 3.158, 4.247, 5.563",\
                 "0.2989, 0.3615, 0.5315, 0.781, 1.137, 1.63, 2.295, 3.161, 4.245, 5.563",\
                 "0.2997, 0.3614, 0.5318, 0.7808, 1.136, 1.628, 2.295, 3.157, 4.247, 5.563",\
                 "0.2996, 0.3622, 0.532, 0.7824, 1.135, 1.629, 2.295, 3.16, 4.245, 5.563",\
                 "0.3026, 0.3654, 0.5356, 0.7842, 1.139, 1.63, 2.297, 3.159, 4.246, 5.562",\
                 "0.3192, 0.3824, 0.5526, 0.7984, 1.149, 1.638, 2.299, 3.162, 4.245, 5.559",\
                 "0.3376, 0.4024, 0.5766, 0.826, 1.171, 1.653, 2.308, 3.167, 4.246, 5.558",\
                 "0.3614, 0.4272, 0.6056, 0.8556, 1.198, 1.676, 2.324, 3.178, 4.256, 5.566",\
                 "0.3916, 0.4608, 0.6444, 0.8972, 1.233, 1.705, 2.347, 3.193, 4.262, 5.568",\
                 "0.4228, 0.497, 0.6912, 0.9514, 1.285, 1.747, 2.378, 3.211, 4.272, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2013, 0.2614, 0.4586, 0.822, 1.408, 2.255, 3.38, 4.801, 6.537, 8.611",\
                 "0.2013, 0.2608, 0.4592, 0.8227, 1.409, 2.256, 3.38, 4.803, 6.54, 8.607",\
                 "0.2014, 0.2601, 0.4591, 0.8224, 1.408, 2.255, 3.381, 4.804, 6.539, 8.609",\
                 "0.2026, 0.2626, 0.4602, 0.8232, 1.409, 2.255, 3.382, 4.801, 6.539, 8.62",\
                 "0.213, 0.273, 0.4684, 0.83, 1.411, 2.255, 3.381, 4.803, 6.541, 8.605",\
                 "0.228, 0.2866, 0.4816, 0.8394, 1.417, 2.258, 3.381, 4.803, 6.541, 8.609",\
                 "0.2484, 0.3072, 0.5006, 0.8536, 1.425, 2.262, 3.385, 4.803, 6.537, 8.606",\
                 "0.2742, 0.3318, 0.5238, 0.8754, 1.437, 2.268, 3.385, 4.806, 6.537, 8.606",\
                 "0.3022, 0.3628, 0.5524, 0.9042, 1.462, 2.282, 3.39, 4.809, 6.536, 8.62",\
                 "0.3318, 0.3946, 0.5834, 0.9348, 1.492, 2.309, 3.413, 4.814, 6.541, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.798, 0.8587, 1.029, 1.273, 1.58, 1.955, 2.411, 2.963, 3.627, 4.414",\
                 "0.8134, 0.8742, 1.044, 1.289, 1.596, 1.97, 2.426, 2.978, 3.642, 4.43",\
                 "0.874, 0.9346, 1.105, 1.349, 1.656, 2.031, 2.487, 3.039, 3.703, 4.49",\
                 "1.003, 1.064, 1.234, 1.479, 1.785, 2.16, 2.615, 3.168, 3.832, 4.619",\
                 "1.206, 1.266, 1.436, 1.68, 1.987, 2.362, 2.817, 3.369, 4.034, 4.821",\
                 "1.463, 1.525, 1.698, 1.946, 2.255, 2.63, 3.086, 3.638, 4.302, 5.089",\
                 "1.769, 1.832, 2.01, 2.265, 2.579, 2.959, 3.416, 3.97, 4.633, 5.421",\
                 "2.128, 2.194, 2.377, 2.639, 2.959, 3.343, 3.805, 4.359, 5.024, 5.811",\
                 "2.535, 2.605, 2.797, 3.07, 3.399, 3.79, 4.254, 4.811, 5.477, 6.263",\
                 "2.992, 3.066, 3.267, 3.553, 3.897, 4.297, 4.768, 5.328, 5.994, 6.782");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.5767, 0.6234, 0.7664, 1.006, 1.357, 1.843, 2.481, 3.286, 4.268, 5.441",\
                 "0.5892, 0.6359, 0.7789, 1.019, 1.37, 1.855, 2.493, 3.298, 4.279, 5.452",\
                 "0.632, 0.6787, 0.8217, 1.061, 1.413, 1.898, 2.536, 3.341, 4.323, 5.496",\
                 "0.7089, 0.7555, 0.8983, 1.137, 1.488, 1.973, 2.611, 3.416, 4.399, 5.571",\
                 "0.7863, 0.8341, 0.9783, 1.219, 1.569, 2.054, 2.692, 3.496, 4.477, 5.645",\
                 "0.8389, 0.8884, 1.036, 1.278, 1.63, 2.114, 2.751, 3.554, 4.537, 5.709",\
                 "0.8614, 0.913, 1.064, 1.31, 1.662, 2.145, 2.782, 3.584, 4.565, 5.737",\
                 "0.844, 0.8987, 1.056, 1.307, 1.662, 2.145, 2.78, 3.582, 4.562, 5.731",\
                 "0.7823, 0.8408, 1.005, 1.263, 1.623, 2.11, 2.745, 3.545, 4.525, 5.693",\
                 "0.6731, 0.7354, 0.908, 1.174, 1.54, 2.032, 2.671, 3.472, 4.45, 5.618");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2978, 0.3611, 0.5304, 0.7806, 1.136, 1.629, 2.294, 3.161, 4.242, 5.562",\
                 "0.2977, 0.3606, 0.531, 0.7814, 1.136, 1.629, 2.294, 3.16, 4.243, 5.561",\
                 "0.298, 0.3612, 0.5304, 0.7808, 1.136, 1.629, 2.294, 3.161, 4.242, 5.562",\
                 "0.2982, 0.361, 0.5314, 0.7818, 1.136, 1.629, 2.293, 3.159, 4.244, 5.561",\
                 "0.302, 0.3642, 0.5362, 0.7848, 1.138, 1.63, 2.294, 3.16, 4.244, 5.56",\
                 "0.3188, 0.3812, 0.5522, 0.7976, 1.149, 1.638, 2.298, 3.164, 4.246, 5.562",\
                 "0.3364, 0.4008, 0.5758, 0.8244, 1.171, 1.653, 2.309, 3.169, 4.247, 5.561",\
                 "0.3598, 0.427, 0.6056, 0.8558, 1.198, 1.676, 2.325, 3.179, 4.256, 5.56",\
                 "0.3908, 0.4596, 0.6452, 0.8978, 1.235, 1.705, 2.348, 3.193, 4.263, 5.571",\
                 "0.4252, 0.4968, 0.6928, 0.9542, 1.288, 1.751, 2.379, 3.21, 4.272, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2012, 0.2613, 0.4588, 0.822, 1.411, 2.255, 3.381, 4.803, 6.542, 8.612",\
                 "0.201, 0.2612, 0.4579, 0.8217, 1.409, 2.255, 3.381, 4.801, 6.538, 8.612",\
                 "0.2015, 0.2618, 0.4589, 0.822, 1.41, 2.254, 3.381, 4.802, 6.541, 8.612",\
                 "0.202, 0.2614, 0.46, 0.823, 1.408, 2.26, 3.381, 4.803, 6.542, 8.612",\
                 "0.2132, 0.2726, 0.4686, 0.8286, 1.41, 2.259, 3.38, 4.804, 6.546, 8.613",\
                 "0.2286, 0.2868, 0.4828, 0.8392, 1.417, 2.258, 3.381, 4.803, 6.54, 8.612",\
                 "0.2492, 0.3072, 0.5002, 0.8542, 1.424, 2.263, 3.386, 4.811, 6.532, 8.609",\
                 "0.2736, 0.3318, 0.5246, 0.876, 1.437, 2.267, 3.385, 4.805, 6.535, 8.6",\
                 "0.3022, 0.3612, 0.5526, 0.904, 1.463, 2.282, 3.391, 4.806, 6.536, 8.614",\
                 "0.3322, 0.3932, 0.5846, 0.9368, 1.492, 2.31, 3.41, 4.815, 6.541, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.8087, 0.8694, 1.039, 1.284, 1.591, 1.965, 2.421, 2.974, 3.637, 4.425",\
                 "0.8241, 0.8847, 1.055, 1.299, 1.606, 1.981, 2.436, 2.989, 3.653, 4.44",\
                 "0.8841, 0.9447, 1.115, 1.359, 1.666, 2.041, 2.496, 3.049, 3.713, 4.5",\
                 "1.013, 1.073, 1.243, 1.488, 1.794, 2.169, 2.624, 3.177, 3.841, 4.628",\
                 "1.216, 1.276, 1.446, 1.69, 1.997, 2.372, 2.827, 3.38, 4.043, 4.831",\
                 "1.476, 1.538, 1.711, 1.959, 2.267, 2.643, 3.098, 3.651, 4.315, 5.102",\
                 "1.785, 1.849, 2.026, 2.28, 2.594, 2.974, 3.431, 3.984, 4.648, 5.435",\
                 "2.147, 2.213, 2.397, 2.658, 2.978, 3.362, 3.823, 4.377, 5.042, 5.829",\
                 "2.561, 2.63, 2.821, 3.093, 3.421, 3.811, 4.275, 4.832, 5.497, 6.284",\
                 "3.023, 3.096, 3.297, 3.582, 3.923, 4.323, 4.793, 5.352, 6.018, 6.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.5767, 0.6235, 0.7665, 1.006, 1.357, 1.843, 2.481, 3.284, 4.266, 5.44",\
                 "0.5892, 0.6358, 0.779, 1.019, 1.37, 1.855, 2.494, 3.297, 4.28, 5.453",\
                 "0.6321, 0.6787, 0.8219, 1.062, 1.413, 1.898, 2.536, 3.34, 4.323, 5.49",\
                 "0.7091, 0.7557, 0.8983, 1.138, 1.488, 1.974, 2.612, 3.416, 4.4, 5.568",\
                 "0.7862, 0.8341, 0.9787, 1.219, 1.569, 2.054, 2.691, 3.496, 4.478, 5.65",\
                 "0.8395, 0.8887, 1.036, 1.278, 1.63, 2.114, 2.751, 3.555, 4.538, 5.709",\
                 "0.8609, 0.913, 1.064, 1.31, 1.662, 2.146, 2.782, 3.584, 4.565, 5.738",\
                 "0.8442, 0.8988, 1.056, 1.307, 1.662, 2.145, 2.781, 3.583, 4.562, 5.731",\
                 "0.7828, 0.8412, 1.005, 1.264, 1.624, 2.11, 2.745, 3.545, 4.525, 5.693",\
                 "0.6734, 0.7358, 0.9082, 1.174, 1.541, 2.032, 2.671, 3.472, 4.451, 5.618");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2975, 0.3604, 0.5303, 0.7804, 1.136, 1.63, 2.295, 3.158, 4.246, 5.562",\
                 "0.2977, 0.3606, 0.5303, 0.7804, 1.136, 1.629, 2.294, 3.161, 4.241, 5.562",\
                 "0.2979, 0.3608, 0.531, 0.7814, 1.136, 1.628, 2.296, 3.157, 4.245, 5.562",\
                 "0.298, 0.361, 0.5308, 0.7816, 1.136, 1.629, 2.295, 3.159, 4.246, 5.563",\
                 "0.3012, 0.3638, 0.5362, 0.7846, 1.138, 1.63, 2.295, 3.159, 4.245, 5.562",\
                 "0.317, 0.3806, 0.5516, 0.7978, 1.149, 1.638, 2.298, 3.164, 4.245, 5.561",\
                 "0.3366, 0.4002, 0.577, 0.8244, 1.172, 1.654, 2.308, 3.167, 4.25, 5.561",\
                 "0.3596, 0.4254, 0.605, 0.855, 1.198, 1.676, 2.325, 3.178, 4.256, 5.566",\
                 "0.3888, 0.4584, 0.6444, 0.8972, 1.235, 1.704, 2.345, 3.194, 4.264, 5.57",\
                 "0.4222, 0.4956, 0.6904, 0.952, 1.287, 1.75, 2.376, 3.211, 4.272, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.201, 0.2613, 0.4579, 0.8217, 1.409, 2.256, 3.382, 4.802, 6.54, 8.611",\
                 "0.2014, 0.2609, 0.4593, 0.8226, 1.409, 2.259, 3.38, 4.803, 6.538, 8.612",\
                 "0.2014, 0.2617, 0.4586, 0.822, 1.411, 2.255, 3.38, 4.807, 6.539, 8.624",\
                 "0.203, 0.2628, 0.4604, 0.8232, 1.411, 2.254, 3.38, 4.803, 6.54, 8.607",\
                 "0.213, 0.2722, 0.4688, 0.8286, 1.411, 2.256, 3.381, 4.805, 6.548, 8.618",\
                 "0.229, 0.287, 0.4824, 0.8392, 1.417, 2.257, 3.38, 4.799, 6.539, 8.623",\
                 "0.25, 0.3074, 0.4998, 0.8536, 1.424, 2.263, 3.385, 4.801, 6.532, 8.605",\
                 "0.274, 0.3328, 0.5244, 0.8758, 1.438, 2.267, 3.385, 4.805, 6.537, 8.603",\
                 "0.3038, 0.3624, 0.5526, 0.9044, 1.462, 2.282, 3.392, 4.806, 6.537, 8.619",\
                 "0.3324, 0.394, 0.586, 0.936, 1.492, 2.311, 3.41, 4.815, 6.542, 8.602");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3735, 0.4287, 0.5871, 0.8218, 1.122, 1.494, 1.948, 2.5, 3.165, 3.952",\
                 "0.3884, 0.4437, 0.602, 0.8365, 1.137, 1.508, 1.963, 2.515, 3.179, 3.968",\
                 "0.4465, 0.5011, 0.6581, 0.8918, 1.192, 1.563, 2.018, 2.57, 3.234, 4.022",\
                 "0.5478, 0.599, 0.7477, 0.9746, 1.271, 1.641, 2.094, 2.646, 3.31, 4.098",\
                 "0.6162, 0.6663, 0.8091, 1.03, 1.322, 1.69, 2.142, 2.694, 3.358, 4.146",\
                 "0.6229, 0.672, 0.8142, 1.034, 1.325, 1.691, 2.142, 2.693, 3.357, 4.145",\
                 "0.5897, 0.6384, 0.7796, 0.9988, 1.29, 1.657, 2.107, 2.657, 3.32, 4.108",\
                 "0.5183, 0.567, 0.7072, 0.9257, 1.217, 1.583, 2.035, 2.585, 3.247, 4.033",\
                 "0.4083, 0.4561, 0.5964, 0.8146, 1.106, 1.473, 1.926, 2.478, 3.142, 3.929",\
                 "0.2573, 0.3057, 0.4448, 0.6626, 0.9541, 1.324, 1.783, 2.345, 3.015, 3.805");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4788, 0.5244, 0.6663, 0.9047, 1.255, 1.741, 2.38, 3.185, 4.168, 5.34",\
                 "0.4948, 0.5407, 0.6824, 0.9209, 1.272, 1.758, 2.396, 3.201, 4.183, 5.356",\
                 "0.5641, 0.6099, 0.7517, 0.9902, 1.341, 1.827, 2.465, 3.269, 4.254, 5.422",\
                 "0.6936, 0.7392, 0.8806, 1.119, 1.47, 1.955, 2.594, 3.399, 4.383, 5.551",\
                 "0.8583, 0.9036, 1.044, 1.282, 1.633, 2.119, 2.757, 3.562, 4.546, 5.717",\
                 "1.057, 1.102, 1.243, 1.48, 1.83, 2.315, 2.953, 3.758, 4.743, 5.909",\
                 "1.291, 1.336, 1.476, 1.714, 2.063, 2.548, 3.185, 3.991, 4.974, 6.143",\
                 "1.561, 1.606, 1.746, 1.984, 2.335, 2.821, 3.458, 4.261, 5.242, 6.415",\
                 "1.871, 1.916, 2.055, 2.294, 2.649, 3.139, 3.778, 4.581, 5.562, 6.731",\
                 "2.221, 2.266, 2.405, 2.646, 3.006, 3.503, 4.148, 4.953, 5.933, 7.102");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2348, 0.298, 0.4735, 0.7372, 1.106, 1.611, 2.281, 3.153, 4.244, 5.561",\
                 "0.2346, 0.2981, 0.4728, 0.7369, 1.107, 1.611, 2.281, 3.155, 4.24, 5.557",\
                 "0.2313, 0.2947, 0.4699, 0.7342, 1.105, 1.609, 2.281, 3.155, 4.242, 5.555",\
                 "0.2275, 0.2843, 0.4534, 0.7214, 1.095, 1.603, 2.277, 3.152, 4.239, 5.561",\
                 "0.2328, 0.2852, 0.4438, 0.7078, 1.086, 1.597, 2.276, 3.15, 4.242, 5.558",\
                 "0.229, 0.2814, 0.4412, 0.7064, 1.082, 1.589, 2.269, 3.148, 4.24, 5.553",\
                 "0.2278, 0.2806, 0.4398, 0.7058, 1.081, 1.59, 2.265, 3.137, 4.235, 5.555",\
                 "0.2272, 0.2794, 0.4386, 0.7062, 1.083, 1.593, 2.267, 3.139, 4.226, 5.548",\
                 "0.2268, 0.2792, 0.4384, 0.7052, 1.084, 1.599, 2.276, 3.147, 4.233, 5.543",\
                 "0.2272, 0.2786, 0.438, 0.7058, 1.086, 1.611, 2.31, 3.189, 4.264, 5.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1912, 0.2527, 0.4516, 0.8168, 1.406, 2.255, 3.38, 4.803, 6.541, 8.613",\
                 "0.1908, 0.2517, 0.4515, 0.8167, 1.406, 2.255, 3.381, 4.802, 6.54, 8.612",\
                 "0.1906, 0.2514, 0.4514, 0.8174, 1.406, 2.26, 3.381, 4.803, 6.539, 8.622",\
                 "0.1902, 0.2514, 0.4504, 0.8172, 1.406, 2.259, 3.382, 4.803, 6.538, 8.621",\
                 "0.1878, 0.2496, 0.4486, 0.8164, 1.408, 2.255, 3.381, 4.803, 6.537, 8.606",\
                 "0.188, 0.2496, 0.4498, 0.815, 1.406, 2.253, 3.381, 4.803, 6.539, 8.618",\
                 "0.1884, 0.2506, 0.4508, 0.818, 1.405, 2.252, 3.38, 4.802, 6.539, 8.619",\
                 "0.1898, 0.2508, 0.4512, 0.82, 1.41, 2.254, 3.376, 4.806, 6.535, 8.606",\
                 "0.1906, 0.2514, 0.4528, 0.8284, 1.426, 2.268, 3.387, 4.795, 6.532, 8.6",\
                 "0.1936, 0.2534, 0.4544, 0.836, 1.447, 2.295, 3.402, 4.807, 6.529, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3735, 0.4286, 0.5867, 0.8211, 1.122, 1.493, 1.948, 2.5, 3.164, 3.952",\
                 "0.3884, 0.4437, 0.602, 0.8365, 1.137, 1.508, 1.963, 2.515, 3.179, 3.968",\
                 "0.4465, 0.5011, 0.6581, 0.8918, 1.192, 1.563, 2.018, 2.57, 3.234, 4.022",\
                 "0.5478, 0.599, 0.7477, 0.9746, 1.271, 1.641, 2.094, 2.646, 3.31, 4.098",\
                 "0.616, 0.6663, 0.8091, 1.03, 1.322, 1.69, 2.142, 2.694, 3.358, 4.146",\
                 "0.6229, 0.672, 0.8141, 1.034, 1.325, 1.691, 2.142, 2.693, 3.357, 4.145",\
                 "0.5897, 0.6384, 0.7796, 0.999, 1.29, 1.657, 2.107, 2.657, 3.32, 4.108",\
                 "0.5183, 0.567, 0.7072, 0.9257, 1.217, 1.583, 2.035, 2.585, 3.247, 4.033",\
                 "0.4083, 0.4561, 0.5964, 0.8146, 1.106, 1.473, 1.926, 2.478, 3.142, 3.929",\
                 "0.2573, 0.3057, 0.4448, 0.6626, 0.9541, 1.324, 1.783, 2.345, 3.016, 3.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4788, 0.5245, 0.6662, 0.9048, 1.255, 1.741, 2.379, 3.185, 4.167, 5.34",\
                 "0.4948, 0.5407, 0.6824, 0.9209, 1.272, 1.758, 2.396, 3.201, 4.183, 5.356",\
                 "0.5641, 0.6099, 0.7517, 0.9902, 1.341, 1.827, 2.465, 3.269, 4.254, 5.422",\
                 "0.6936, 0.7392, 0.8806, 1.119, 1.47, 1.955, 2.594, 3.4, 4.383, 5.555",\
                 "0.8583, 0.9036, 1.044, 1.282, 1.633, 2.119, 2.757, 3.563, 4.542, 5.714",\
                 "1.057, 1.102, 1.243, 1.48, 1.83, 2.315, 2.953, 3.758, 4.743, 5.909",\
                 "1.291, 1.336, 1.476, 1.714, 2.063, 2.548, 3.185, 3.991, 4.974, 6.143",\
                 "1.561, 1.606, 1.746, 1.984, 2.335, 2.821, 3.458, 4.261, 5.242, 6.416",\
                 "1.871, 1.916, 2.055, 2.294, 2.649, 3.139, 3.778, 4.581, 5.561, 6.731",\
                 "2.221, 2.266, 2.405, 2.646, 3.006, 3.503, 4.148, 4.953, 5.933, 7.102");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2348, 0.2982, 0.4725, 0.7364, 1.106, 1.611, 2.283, 3.154, 4.243, 5.561",\
                 "0.2346, 0.2981, 0.4728, 0.7369, 1.107, 1.611, 2.281, 3.155, 4.24, 5.557",\
                 "0.2313, 0.2947, 0.4699, 0.7342, 1.105, 1.609, 2.281, 3.155, 4.242, 5.555",\
                 "0.2275, 0.2843, 0.4534, 0.7214, 1.095, 1.604, 2.277, 3.152, 4.239, 5.561",\
                 "0.2328, 0.2858, 0.4438, 0.708, 1.086, 1.597, 2.276, 3.151, 4.242, 5.559",\
                 "0.2294, 0.2814, 0.4414, 0.7064, 1.082, 1.589, 2.27, 3.146, 4.239, 5.553",\
                 "0.228, 0.2806, 0.4398, 0.7066, 1.082, 1.59, 2.265, 3.137, 4.235, 5.555",\
                 "0.2272, 0.2794, 0.4386, 0.7062, 1.083, 1.593, 2.269, 3.139, 4.227, 5.548",\
                 "0.2268, 0.2792, 0.4384, 0.7052, 1.084, 1.599, 2.278, 3.149, 4.231, 5.543",\
                 "0.2272, 0.2786, 0.438, 0.7058, 1.086, 1.611, 2.31, 3.188, 4.265, 5.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1907, 0.2517, 0.4509, 0.8167, 1.409, 2.253, 3.381, 4.802, 6.54, 8.613",\
                 "0.1908, 0.2517, 0.4515, 0.8167, 1.406, 2.255, 3.381, 4.802, 6.54, 8.612",\
                 "0.1906, 0.2514, 0.4514, 0.8174, 1.406, 2.26, 3.381, 4.803, 6.539, 8.622",\
                 "0.1892, 0.2514, 0.4504, 0.8172, 1.406, 2.254, 3.382, 4.805, 6.538, 8.612",\
                 "0.1876, 0.2496, 0.4486, 0.8164, 1.408, 2.254, 3.381, 4.804, 6.54, 8.605",\
                 "0.188, 0.2496, 0.4498, 0.815, 1.406, 2.253, 3.381, 4.803, 6.539, 8.618",\
                 "0.1884, 0.2506, 0.4508, 0.8172, 1.405, 2.251, 3.38, 4.802, 6.539, 8.619",\
                 "0.1898, 0.2508, 0.4518, 0.82, 1.41, 2.254, 3.376, 4.806, 6.535, 8.601",\
                 "0.1906, 0.2514, 0.4528, 0.8272, 1.426, 2.268, 3.382, 4.795, 6.532, 8.602",\
                 "0.1934, 0.2526, 0.4548, 0.836, 1.447, 2.295, 3.404, 4.807, 6.529, 8.612");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3736, 0.4288, 0.5866, 0.8212, 1.122, 1.494, 1.948, 2.501, 3.165, 3.953",\
                 "0.3884, 0.4436, 0.6019, 0.8364, 1.137, 1.509, 1.963, 2.516, 3.18, 3.968",\
                 "0.4464, 0.501, 0.658, 0.8917, 1.192, 1.563, 2.018, 2.57, 3.234, 4.023",\
                 "0.5475, 0.5987, 0.7474, 0.9744, 1.271, 1.641, 2.095, 2.646, 3.311, 4.099",\
                 "0.6157, 0.6661, 0.8092, 1.03, 1.322, 1.69, 2.142, 2.694, 3.358, 4.146",\
                 "0.623, 0.6725, 0.8142, 1.033, 1.325, 1.691, 2.142, 2.693, 3.357, 4.145",\
                 "0.5895, 0.6383, 0.7795, 0.9989, 1.29, 1.657, 2.108, 2.657, 3.32, 4.108",\
                 "0.517, 0.5658, 0.7066, 0.9257, 1.217, 1.584, 2.035, 2.585, 3.248, 4.034",\
                 "0.4081, 0.4567, 0.596, 0.8143, 1.106, 1.473, 1.927, 2.479, 3.142, 3.929",\
                 "0.257, 0.3055, 0.4447, 0.6625, 0.9539, 1.324, 1.783, 2.345, 3.016, 3.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4783, 0.524, 0.6658, 0.9045, 1.255, 1.741, 2.379, 3.185, 4.168, 5.34",\
                 "0.4943, 0.5401, 0.682, 0.9206, 1.271, 1.758, 2.396, 3.201, 4.183, 5.356",\
                 "0.5636, 0.6094, 0.7513, 0.9899, 1.341, 1.827, 2.465, 3.27, 4.253, 5.425",\
                 "0.693, 0.7388, 0.8802, 1.119, 1.47, 1.956, 2.594, 3.399, 4.379, 5.555",\
                 "0.8579, 0.9033, 1.044, 1.282, 1.633, 2.119, 2.757, 3.563, 4.542, 5.716",\
                 "1.056, 1.102, 1.242, 1.48, 1.83, 2.315, 2.953, 3.759, 4.742, 5.91",\
                 "1.29, 1.336, 1.476, 1.714, 2.064, 2.548, 3.186, 3.991, 4.974, 6.146",\
                 "1.561, 1.606, 1.746, 1.984, 2.335, 2.821, 3.458, 4.261, 5.242, 6.415",\
                 "1.871, 1.915, 2.055, 2.294, 2.65, 3.14, 3.778, 4.582, 5.562, 6.731",\
                 "2.221, 2.266, 2.405, 2.645, 3.006, 3.503, 4.148, 4.953, 5.934, 7.103");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2348, 0.2983, 0.4725, 0.7367, 1.107, 1.611, 2.284, 3.155, 4.244, 5.558",\
                 "0.2346, 0.298, 0.4737, 0.7369, 1.107, 1.612, 2.282, 3.155, 4.241, 5.557",\
                 "0.2312, 0.2947, 0.47, 0.7345, 1.105, 1.61, 2.281, 3.155, 4.241, 5.557",\
                 "0.2274, 0.2844, 0.4528, 0.7216, 1.096, 1.603, 2.279, 3.153, 4.244, 5.558",\
                 "0.2328, 0.2848, 0.443, 0.7078, 1.086, 1.597, 2.276, 3.151, 4.242, 5.56",\
                 "0.2294, 0.2814, 0.4408, 0.708, 1.081, 1.589, 2.27, 3.148, 4.239, 5.561",\
                 "0.2278, 0.2804, 0.4398, 0.7068, 1.083, 1.591, 2.265, 3.138, 4.231, 5.559",\
                 "0.2272, 0.2798, 0.4384, 0.7056, 1.083, 1.593, 2.268, 3.14, 4.226, 5.545",\
                 "0.2266, 0.279, 0.4378, 0.7052, 1.085, 1.596, 2.277, 3.152, 4.231, 5.543",\
                 "0.2272, 0.2786, 0.4372, 0.7046, 1.086, 1.612, 2.31, 3.189, 4.263, 5.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1907, 0.2519, 0.4515, 0.818, 1.409, 2.254, 3.381, 4.801, 6.542, 8.612",\
                 "0.1907, 0.2517, 0.4518, 0.8174, 1.409, 2.255, 3.381, 4.802, 6.54, 8.613",\
                 "0.1905, 0.2516, 0.4516, 0.8171, 1.406, 2.255, 3.38, 4.804, 6.542, 8.612",\
                 "0.1898, 0.2506, 0.4506, 0.817, 1.408, 2.256, 3.381, 4.807, 6.538, 8.613",\
                 "0.1876, 0.2502, 0.4492, 0.8166, 1.409, 2.254, 3.381, 4.801, 6.536, 8.609",\
                 "0.1878, 0.2498, 0.45, 0.8154, 1.406, 2.256, 3.381, 4.804, 6.54, 8.621",\
                 "0.1882, 0.2508, 0.4504, 0.818, 1.405, 2.252, 3.382, 4.802, 6.541, 8.605",\
                 "0.1898, 0.2516, 0.452, 0.82, 1.412, 2.258, 3.376, 4.801, 6.535, 8.608",\
                 "0.1906, 0.2512, 0.4526, 0.8288, 1.424, 2.268, 3.383, 4.796, 6.533, 8.601",\
                 "0.1936, 0.2532, 0.4546, 0.8362, 1.446, 2.295, 3.404, 4.807, 6.531, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3736, 0.4287, 0.5866, 0.8216, 1.122, 1.494, 1.948, 2.501, 3.165, 3.953",\
                 "0.3884, 0.4436, 0.6019, 0.8364, 1.137, 1.509, 1.963, 2.516, 3.18, 3.968",\
                 "0.4464, 0.501, 0.658, 0.8917, 1.192, 1.563, 2.018, 2.57, 3.234, 4.023",\
                 "0.5475, 0.5987, 0.7474, 0.9744, 1.271, 1.641, 2.094, 2.646, 3.311, 4.099",\
                 "0.6157, 0.6661, 0.8092, 1.03, 1.322, 1.69, 2.142, 2.694, 3.358, 4.146",\
                 "0.6229, 0.6723, 0.8141, 1.033, 1.325, 1.691, 2.142, 2.693, 3.357, 4.145",\
                 "0.5895, 0.6383, 0.7795, 0.9989, 1.29, 1.657, 2.108, 2.657, 3.32, 4.108",\
                 "0.517, 0.5658, 0.7069, 0.9258, 1.217, 1.584, 2.035, 2.585, 3.248, 4.034",\
                 "0.4081, 0.4567, 0.596, 0.8143, 1.106, 1.473, 1.927, 2.479, 3.143, 3.929",\
                 "0.257, 0.3055, 0.4448, 0.6625, 0.9539, 1.324, 1.783, 2.345, 3.016, 3.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4783, 0.524, 0.6658, 0.9045, 1.255, 1.741, 2.379, 3.185, 4.168, 5.34",\
                 "0.4943, 0.5401, 0.682, 0.9206, 1.271, 1.758, 2.396, 3.201, 4.183, 5.356",\
                 "0.5636, 0.6094, 0.7513, 0.9899, 1.341, 1.827, 2.465, 3.27, 4.253, 5.425",\
                 "0.693, 0.7388, 0.8802, 1.119, 1.47, 1.956, 2.594, 3.399, 4.379, 5.555",\
                 "0.8579, 0.9033, 1.044, 1.282, 1.633, 2.119, 2.757, 3.563, 4.542, 5.716",\
                 "1.056, 1.102, 1.242, 1.48, 1.83, 2.315, 2.953, 3.759, 4.742, 5.911",\
                 "1.29, 1.336, 1.476, 1.714, 2.063, 2.548, 3.186, 3.991, 4.974, 6.143",\
                 "1.561, 1.606, 1.746, 1.984, 2.335, 2.821, 3.458, 4.261, 5.243, 6.414",\
                 "1.871, 1.915, 2.055, 2.294, 2.65, 3.14, 3.779, 4.582, 5.562, 6.732",\
                 "2.221, 2.266, 2.405, 2.645, 3.006, 3.503, 4.149, 4.953, 5.934, 7.103");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2348, 0.2982, 0.4725, 0.737, 1.107, 1.611, 2.282, 3.153, 4.244, 5.559",\
                 "0.2346, 0.298, 0.4737, 0.7369, 1.107, 1.612, 2.282, 3.155, 4.241, 5.557",\
                 "0.2312, 0.2947, 0.4699, 0.7345, 1.105, 1.61, 2.281, 3.155, 4.241, 5.557",\
                 "0.2274, 0.2844, 0.4528, 0.7218, 1.096, 1.603, 2.28, 3.153, 4.24, 5.556",\
                 "0.2328, 0.2848, 0.443, 0.7078, 1.087, 1.598, 2.276, 3.151, 4.242, 5.56",\
                 "0.2296, 0.2818, 0.4416, 0.708, 1.081, 1.589, 2.269, 3.146, 4.239, 5.561",\
                 "0.228, 0.2806, 0.4398, 0.7068, 1.083, 1.591, 2.265, 3.138, 4.231, 5.559",\
                 "0.2276, 0.2798, 0.4382, 0.7056, 1.083, 1.593, 2.269, 3.139, 4.226, 5.55",\
                 "0.2266, 0.279, 0.4382, 0.7052, 1.085, 1.596, 2.277, 3.152, 4.232, 5.543",\
                 "0.2272, 0.2786, 0.4374, 0.7046, 1.086, 1.613, 2.31, 3.189, 4.263, 5.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1906, 0.2519, 0.4515, 0.8174, 1.409, 2.254, 3.381, 4.801, 6.542, 8.612",\
                 "0.1907, 0.2517, 0.4518, 0.8174, 1.409, 2.255, 3.381, 4.802, 6.54, 8.613",\
                 "0.1905, 0.2516, 0.4516, 0.8171, 1.406, 2.255, 3.38, 4.804, 6.542, 8.612",\
                 "0.1898, 0.2506, 0.4506, 0.817, 1.408, 2.256, 3.381, 4.807, 6.538, 8.613",\
                 "0.1876, 0.2502, 0.4492, 0.8166, 1.409, 2.254, 3.381, 4.801, 6.536, 8.609",\
                 "0.1878, 0.2504, 0.45, 0.8154, 1.406, 2.254, 3.381, 4.804, 6.54, 8.621",\
                 "0.1882, 0.2508, 0.4504, 0.818, 1.405, 2.252, 3.382, 4.802, 6.539, 8.605",\
                 "0.1898, 0.2516, 0.452, 0.8202, 1.41, 2.254, 3.376, 4.799, 6.533, 8.608",\
                 "0.1906, 0.2512, 0.4526, 0.8274, 1.425, 2.269, 3.381, 4.796, 6.535, 8.599",\
                 "0.1936, 0.2532, 0.4556, 0.8374, 1.446, 2.295, 3.403, 4.806, 6.531, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3734, 0.4287, 0.5871, 0.8218, 1.122, 1.494, 1.949, 2.501, 3.165, 3.953",\
                 "0.3884, 0.4436, 0.6019, 0.8364, 1.137, 1.509, 1.963, 2.516, 3.18, 3.968",\
                 "0.4464, 0.501, 0.658, 0.8917, 1.192, 1.563, 2.018, 2.57, 3.234, 4.023",\
                 "0.5475, 0.5987, 0.7474, 0.9744, 1.271, 1.641, 2.095, 2.647, 3.311, 4.099",\
                 "0.6157, 0.6661, 0.8093, 1.03, 1.322, 1.69, 2.142, 2.694, 3.358, 4.146",\
                 "0.6229, 0.6723, 0.8141, 1.033, 1.325, 1.691, 2.142, 2.693, 3.357, 4.145",\
                 "0.5895, 0.6383, 0.7795, 0.9989, 1.29, 1.657, 2.108, 2.657, 3.32, 4.108",\
                 "0.517, 0.5658, 0.7069, 0.9258, 1.217, 1.584, 2.035, 2.585, 3.248, 4.034",\
                 "0.4081, 0.4567, 0.596, 0.8143, 1.106, 1.473, 1.927, 2.479, 3.142, 3.929",\
                 "0.257, 0.3055, 0.4447, 0.6625, 0.9539, 1.324, 1.783, 2.345, 3.016, 3.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4782, 0.524, 0.6658, 0.9045, 1.255, 1.741, 2.38, 3.184, 4.168, 5.34",\
                 "0.4943, 0.5402, 0.682, 0.9206, 1.271, 1.758, 2.396, 3.201, 4.183, 5.356",\
                 "0.5636, 0.6094, 0.7513, 0.9899, 1.341, 1.827, 2.465, 3.27, 4.253, 5.425",\
                 "0.693, 0.7388, 0.8803, 1.119, 1.47, 1.956, 2.594, 3.399, 4.379, 5.555",\
                 "0.8579, 0.9033, 1.044, 1.282, 1.633, 2.119, 2.757, 3.562, 4.544, 5.712",\
                 "1.056, 1.102, 1.242, 1.48, 1.83, 2.315, 2.953, 3.759, 4.742, 5.911",\
                 "1.29, 1.336, 1.476, 1.714, 2.064, 2.548, 3.186, 3.99, 4.973, 6.144",\
                 "1.561, 1.606, 1.746, 1.984, 2.335, 2.821, 3.458, 4.261, 5.243, 6.416",\
                 "1.871, 1.916, 2.055, 2.294, 2.65, 3.14, 3.779, 4.582, 5.562, 6.731",\
                 "2.221, 2.266, 2.405, 2.645, 3.006, 3.503, 4.149, 4.953, 5.934, 7.103");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2347, 0.2978, 0.4735, 0.7376, 1.106, 1.611, 2.282, 3.154, 4.244, 5.561",\
                 "0.2346, 0.298, 0.4737, 0.7369, 1.107, 1.612, 2.282, 3.155, 4.241, 5.557",\
                 "0.2313, 0.2946, 0.4698, 0.7344, 1.105, 1.61, 2.281, 3.155, 4.242, 5.555",\
                 "0.2274, 0.2844, 0.4528, 0.7216, 1.096, 1.604, 2.278, 3.15, 4.241, 5.561",\
                 "0.2328, 0.2852, 0.4434, 0.7078, 1.086, 1.597, 2.276, 3.151, 4.242, 5.56",\
                 "0.2296, 0.2818, 0.4416, 0.708, 1.082, 1.589, 2.269, 3.148, 4.239, 5.561",\
                 "0.228, 0.2806, 0.4398, 0.7068, 1.083, 1.591, 2.265, 3.138, 4.234, 5.551",\
                 "0.2272, 0.2798, 0.4382, 0.7056, 1.083, 1.594, 2.269, 3.139, 4.226, 5.545",\
                 "0.2266, 0.279, 0.4378, 0.7052, 1.085, 1.596, 2.277, 3.152, 4.231, 5.543",\
                 "0.2272, 0.2786, 0.4372, 0.7046, 1.086, 1.612, 2.31, 3.189, 4.263, 5.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1908, 0.2513, 0.4516, 0.8178, 1.407, 2.254, 3.38, 4.803, 6.541, 8.61",\
                 "0.1907, 0.2517, 0.4518, 0.8174, 1.409, 2.255, 3.381, 4.802, 6.54, 8.613",\
                 "0.1905, 0.2516, 0.4516, 0.8171, 1.406, 2.255, 3.38, 4.804, 6.542, 8.612",\
                 "0.1898, 0.2514, 0.4508, 0.817, 1.408, 2.255, 3.381, 4.803, 6.536, 8.612",\
                 "0.1882, 0.2502, 0.4492, 0.8164, 1.408, 2.254, 3.381, 4.804, 6.549, 8.617",\
                 "0.1878, 0.2498, 0.45, 0.8154, 1.405, 2.255, 3.381, 4.804, 6.54, 8.621",\
                 "0.1882, 0.2508, 0.4508, 0.8182, 1.405, 2.252, 3.383, 4.8, 6.543, 8.609",\
                 "0.1892, 0.2516, 0.452, 0.8202, 1.41, 2.254, 3.376, 4.804, 6.536, 8.603",\
                 "0.1914, 0.2514, 0.4526, 0.8274, 1.425, 2.269, 3.382, 4.796, 6.539, 8.601",\
                 "0.1936, 0.2538, 0.4548, 0.836, 1.445, 2.295, 3.405, 4.811, 6.531, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3735, 0.4287, 0.5869, 0.8217, 1.122, 1.494, 1.948, 2.5, 3.164, 3.953",\
                 "0.3884, 0.4437, 0.602, 0.8365, 1.137, 1.508, 1.963, 2.515, 3.179, 3.968",\
                 "0.4465, 0.5011, 0.6581, 0.8918, 1.192, 1.563, 2.018, 2.57, 3.234, 4.022",\
                 "0.5478, 0.599, 0.7477, 0.9746, 1.271, 1.641, 2.094, 2.646, 3.31, 4.098",\
                 "0.6159, 0.6663, 0.8091, 1.03, 1.322, 1.69, 2.142, 2.694, 3.358, 4.146",\
                 "0.6229, 0.6719, 0.8142, 1.034, 1.325, 1.691, 2.142, 2.693, 3.357, 4.145",\
                 "0.5897, 0.6384, 0.7796, 0.999, 1.29, 1.657, 2.107, 2.657, 3.32, 4.107",\
                 "0.5183, 0.567, 0.7073, 0.9257, 1.217, 1.583, 2.035, 2.585, 3.247, 4.033",\
                 "0.4083, 0.4561, 0.5964, 0.8146, 1.106, 1.473, 1.926, 2.478, 3.142, 3.929",\
                 "0.2573, 0.3057, 0.4448, 0.6626, 0.9541, 1.324, 1.783, 2.345, 3.015, 3.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4788, 0.5245, 0.6662, 0.9047, 1.255, 1.741, 2.379, 3.185, 4.167, 5.34",\
                 "0.4948, 0.5407, 0.6824, 0.9209, 1.272, 1.758, 2.396, 3.201, 4.183, 5.356",\
                 "0.5641, 0.6099, 0.7517, 0.9902, 1.341, 1.827, 2.465, 3.269, 4.254, 5.422",\
                 "0.6936, 0.7392, 0.8806, 1.119, 1.47, 1.956, 2.594, 3.4, 4.383, 5.554",\
                 "0.8583, 0.9036, 1.044, 1.282, 1.633, 2.119, 2.757, 3.562, 4.546, 5.717",\
                 "1.057, 1.102, 1.243, 1.48, 1.83, 2.315, 2.954, 3.758, 4.743, 5.91",\
                 "1.291, 1.336, 1.476, 1.714, 2.063, 2.548, 3.185, 3.991, 4.974, 6.143",\
                 "1.561, 1.606, 1.746, 1.984, 2.335, 2.821, 3.458, 4.261, 5.242, 6.415",\
                 "1.871, 1.916, 2.055, 2.294, 2.649, 3.139, 3.778, 4.581, 5.561, 6.731",\
                 "2.221, 2.266, 2.405, 2.646, 3.006, 3.504, 4.148, 4.953, 5.933, 7.102");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2347, 0.2978, 0.4725, 0.7368, 1.106, 1.611, 2.282, 3.155, 4.243, 5.555",\
                 "0.2346, 0.2981, 0.4728, 0.7369, 1.107, 1.611, 2.281, 3.155, 4.24, 5.557",\
                 "0.2313, 0.2947, 0.4699, 0.7342, 1.105, 1.609, 2.281, 3.155, 4.242, 5.555",\
                 "0.2275, 0.2843, 0.4534, 0.7214, 1.095, 1.603, 2.277, 3.152, 4.239, 5.561",\
                 "0.233, 0.2858, 0.4438, 0.7082, 1.086, 1.596, 2.276, 3.151, 4.242, 5.558",\
                 "0.229, 0.2816, 0.4412, 0.7068, 1.082, 1.589, 2.27, 3.144, 4.24, 5.553",\
                 "0.228, 0.2806, 0.4396, 0.7066, 1.081, 1.59, 2.265, 3.137, 4.231, 5.559",\
                 "0.2272, 0.2794, 0.4388, 0.7062, 1.083, 1.591, 2.268, 3.14, 4.226, 5.548",\
                 "0.2268, 0.2792, 0.4384, 0.7052, 1.084, 1.598, 2.277, 3.147, 4.233, 5.542",\
                 "0.2272, 0.2786, 0.438, 0.7058, 1.086, 1.612, 2.31, 3.189, 4.264, 5.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1907, 0.2517, 0.451, 0.8167, 1.409, 2.253, 3.381, 4.803, 6.54, 8.613",\
                 "0.1908, 0.2517, 0.4515, 0.8167, 1.406, 2.255, 3.381, 4.802, 6.54, 8.612",\
                 "0.1906, 0.2514, 0.4514, 0.8174, 1.406, 2.26, 3.381, 4.803, 6.539, 8.622",\
                 "0.19, 0.2514, 0.4504, 0.8172, 1.406, 2.255, 3.382, 4.803, 6.538, 8.612",\
                 "0.1876, 0.2496, 0.4486, 0.8164, 1.408, 2.255, 3.381, 4.803, 6.537, 8.606",\
                 "0.188, 0.2496, 0.4498, 0.815, 1.406, 2.252, 3.382, 4.803, 6.539, 8.619",\
                 "0.1884, 0.2506, 0.4508, 0.8172, 1.405, 2.252, 3.38, 4.802, 6.539, 8.619",\
                 "0.1898, 0.2508, 0.4518, 0.8198, 1.411, 2.259, 3.376, 4.8, 6.534, 8.608",\
                 "0.1906, 0.2514, 0.4528, 0.8272, 1.426, 2.266, 3.382, 4.796, 6.533, 8.602",\
                 "0.1936, 0.2526, 0.4548, 0.837, 1.445, 2.293, 3.401, 4.807, 6.529, 8.6");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3734, 0.4286, 0.5866, 0.8211, 1.122, 1.494, 1.948, 2.501, 3.165, 3.953",\
                 "0.3884, 0.4436, 0.6019, 0.8364, 1.137, 1.509, 1.963, 2.516, 3.18, 3.968",\
                 "0.4464, 0.501, 0.658, 0.8917, 1.192, 1.563, 2.018, 2.57, 3.234, 4.023",\
                 "0.5475, 0.5987, 0.7474, 0.9744, 1.271, 1.641, 2.095, 2.647, 3.311, 4.099",\
                 "0.6157, 0.6661, 0.8092, 1.03, 1.322, 1.69, 2.142, 2.694, 3.358, 4.146",\
                 "0.6229, 0.6723, 0.8139, 1.033, 1.325, 1.691, 2.142, 2.693, 3.357, 4.145",\
                 "0.5895, 0.6383, 0.7795, 0.9989, 1.29, 1.657, 2.108, 2.657, 3.32, 4.108",\
                 "0.517, 0.5658, 0.7069, 0.9258, 1.217, 1.584, 2.035, 2.585, 3.248, 4.034",\
                 "0.4081, 0.4567, 0.596, 0.8143, 1.106, 1.473, 1.927, 2.479, 3.143, 3.929",\
                 "0.257, 0.3055, 0.4448, 0.6625, 0.9539, 1.324, 1.783, 2.345, 3.016, 3.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4782, 0.524, 0.6658, 0.9045, 1.255, 1.741, 2.38, 3.184, 4.168, 5.34",\
                 "0.4943, 0.5402, 0.682, 0.9206, 1.271, 1.758, 2.396, 3.201, 4.183, 5.356",\
                 "0.5636, 0.6094, 0.7513, 0.9899, 1.341, 1.827, 2.465, 3.27, 4.253, 5.425",\
                 "0.693, 0.7388, 0.8803, 1.119, 1.47, 1.956, 2.593, 3.4, 4.379, 5.555",\
                 "0.8579, 0.9032, 1.044, 1.282, 1.633, 2.119, 2.757, 3.562, 4.544, 5.712",\
                 "1.056, 1.102, 1.242, 1.48, 1.83, 2.315, 2.953, 3.759, 4.742, 5.911",\
                 "1.29, 1.336, 1.476, 1.714, 2.063, 2.548, 3.186, 3.99, 4.974, 6.143",\
                 "1.561, 1.606, 1.746, 1.984, 2.335, 2.821, 3.458, 4.261, 5.243, 6.416",\
                 "1.871, 1.916, 2.055, 2.294, 2.65, 3.14, 3.779, 4.582, 5.562, 6.732",\
                 "2.221, 2.266, 2.405, 2.645, 3.006, 3.503, 4.149, 4.953, 5.934, 7.103");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2347, 0.2981, 0.4725, 0.7365, 1.107, 1.611, 2.284, 3.154, 4.244, 5.561",\
                 "0.2346, 0.298, 0.4737, 0.7369, 1.107, 1.612, 2.282, 3.155, 4.241, 5.557",\
                 "0.2313, 0.2946, 0.4698, 0.7344, 1.105, 1.61, 2.281, 3.155, 4.242, 5.555",\
                 "0.2274, 0.2844, 0.4528, 0.7218, 1.096, 1.604, 2.28, 3.15, 4.242, 5.56",\
                 "0.2328, 0.2852, 0.443, 0.708, 1.086, 1.598, 2.276, 3.151, 4.242, 5.56",\
                 "0.2296, 0.2818, 0.4406, 0.7076, 1.082, 1.589, 2.269, 3.149, 4.241, 5.561",\
                 "0.228, 0.2806, 0.4398, 0.7068, 1.083, 1.591, 2.265, 3.138, 4.234, 5.551",\
                 "0.2272, 0.2798, 0.4382, 0.7056, 1.083, 1.594, 2.267, 3.139, 4.226, 5.545",\
                 "0.2266, 0.279, 0.4382, 0.7052, 1.083, 1.596, 2.277, 3.147, 4.233, 5.543",\
                 "0.2272, 0.2786, 0.4374, 0.705, 1.086, 1.613, 2.31, 3.189, 4.263, 5.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1908, 0.2513, 0.4516, 0.8178, 1.407, 2.254, 3.38, 4.803, 6.541, 8.61",\
                 "0.1907, 0.2517, 0.4518, 0.8174, 1.409, 2.255, 3.381, 4.802, 6.54, 8.613",\
                 "0.1905, 0.2516, 0.4516, 0.8171, 1.406, 2.255, 3.38, 4.804, 6.542, 8.612",\
                 "0.1898, 0.2514, 0.4508, 0.817, 1.408, 2.255, 3.382, 4.805, 6.536, 8.612",\
                 "0.1882, 0.249, 0.4492, 0.8162, 1.406, 2.254, 3.38, 4.804, 6.549, 8.617",\
                 "0.1878, 0.2498, 0.45, 0.8154, 1.406, 2.254, 3.381, 4.804, 6.54, 8.621",\
                 "0.1882, 0.2508, 0.4504, 0.8172, 1.405, 2.252, 3.383, 4.8, 6.539, 8.605",\
                 "0.1892, 0.2516, 0.452, 0.8202, 1.41, 2.254, 3.376, 4.804, 6.536, 8.603",\
                 "0.1914, 0.2514, 0.4526, 0.8274, 1.425, 2.269, 3.381, 4.796, 6.535, 8.599",\
                 "0.1936, 0.2542, 0.4556, 0.8374, 1.446, 2.295, 3.403, 4.804, 6.529, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3735, 0.4286, 0.5867, 0.821, 1.122, 1.493, 1.948, 2.5, 3.164, 3.952",\
                 "0.3884, 0.4437, 0.602, 0.8365, 1.137, 1.508, 1.963, 2.515, 3.179, 3.968",\
                 "0.4465, 0.5011, 0.6581, 0.8918, 1.192, 1.563, 2.018, 2.57, 3.234, 4.022",\
                 "0.5478, 0.599, 0.7477, 0.9746, 1.271, 1.641, 2.094, 2.646, 3.31, 4.098",\
                 "0.616, 0.6663, 0.8091, 1.03, 1.322, 1.69, 2.142, 2.693, 3.358, 4.146",\
                 "0.6229, 0.6719, 0.8141, 1.034, 1.326, 1.691, 2.142, 2.693, 3.357, 4.145",\
                 "0.5897, 0.6384, 0.7796, 0.9988, 1.29, 1.657, 2.107, 2.657, 3.32, 4.108",\
                 "0.5183, 0.567, 0.7072, 0.9257, 1.217, 1.583, 2.035, 2.585, 3.247, 4.033",\
                 "0.4083, 0.4561, 0.5964, 0.8146, 1.106, 1.473, 1.926, 2.479, 3.142, 3.928",\
                 "0.2573, 0.3057, 0.4448, 0.6626, 0.9541, 1.324, 1.783, 2.345, 3.015, 3.805");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4788, 0.5245, 0.6662, 0.9048, 1.255, 1.741, 2.38, 3.185, 4.166, 5.339",\
                 "0.4948, 0.5407, 0.6824, 0.9209, 1.272, 1.758, 2.396, 3.201, 4.183, 5.356",\
                 "0.5641, 0.6099, 0.7517, 0.9902, 1.341, 1.827, 2.465, 3.269, 4.254, 5.422",\
                 "0.6936, 0.7392, 0.8806, 1.119, 1.47, 1.956, 2.594, 3.4, 4.383, 5.555",\
                 "0.8583, 0.9036, 1.044, 1.282, 1.633, 2.119, 2.757, 3.563, 4.542, 5.714",\
                 "1.057, 1.102, 1.243, 1.48, 1.83, 2.315, 2.953, 3.758, 4.743, 5.912",\
                 "1.291, 1.336, 1.476, 1.714, 2.063, 2.548, 3.185, 3.991, 4.974, 6.143",\
                 "1.561, 1.606, 1.746, 1.984, 2.335, 2.821, 3.458, 4.261, 5.242, 6.415",\
                 "1.871, 1.916, 2.055, 2.294, 2.649, 3.139, 3.778, 4.582, 5.562, 6.731",\
                 "2.221, 2.266, 2.405, 2.645, 3.006, 3.504, 4.148, 4.954, 5.933, 7.102");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2347, 0.2982, 0.4723, 0.7363, 1.106, 1.611, 2.282, 3.153, 4.243, 5.561",\
                 "0.2346, 0.2981, 0.4728, 0.7369, 1.107, 1.611, 2.281, 3.155, 4.24, 5.557",\
                 "0.2313, 0.2947, 0.4699, 0.7342, 1.105, 1.609, 2.281, 3.155, 4.242, 5.555",\
                 "0.2275, 0.2843, 0.4534, 0.7214, 1.095, 1.604, 2.277, 3.152, 4.239, 5.561",\
                 "0.2328, 0.2858, 0.4438, 0.7082, 1.085, 1.598, 2.276, 3.151, 4.242, 5.56",\
                 "0.2294, 0.2816, 0.4414, 0.7068, 1.082, 1.589, 2.27, 3.148, 4.239, 5.56",\
                 "0.228, 0.2806, 0.4396, 0.7068, 1.083, 1.591, 2.265, 3.139, 4.236, 5.559",\
                 "0.2272, 0.2794, 0.4388, 0.7062, 1.083, 1.593, 2.268, 3.142, 4.227, 5.546",\
                 "0.2268, 0.2792, 0.4384, 0.7052, 1.084, 1.596, 2.276, 3.151, 4.231, 5.543",\
                 "0.2272, 0.2786, 0.438, 0.7058, 1.086, 1.612, 2.31, 3.189, 4.264, 5.561");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1907, 0.2517, 0.4515, 0.8175, 1.406, 2.254, 3.381, 4.801, 6.538, 8.61",\
                 "0.1908, 0.2517, 0.4515, 0.8167, 1.406, 2.255, 3.381, 4.802, 6.54, 8.612",\
                 "0.1906, 0.2514, 0.4514, 0.8174, 1.406, 2.26, 3.381, 4.803, 6.539, 8.622",\
                 "0.1896, 0.2514, 0.4504, 0.8172, 1.409, 2.255, 3.382, 4.805, 6.538, 8.613",\
                 "0.1878, 0.2496, 0.4486, 0.8164, 1.408, 2.255, 3.381, 4.804, 6.54, 8.605",\
                 "0.1874, 0.25, 0.4492, 0.815, 1.406, 2.255, 3.38, 4.803, 6.538, 8.607",\
                 "0.1884, 0.2506, 0.4508, 0.8172, 1.405, 2.251, 3.381, 4.802, 6.539, 8.619",\
                 "0.1898, 0.2508, 0.4518, 0.8198, 1.411, 2.259, 3.376, 4.8, 6.534, 8.608",\
                 "0.1906, 0.2514, 0.4528, 0.8272, 1.426, 2.266, 3.382, 4.796, 6.539, 8.602",\
                 "0.1934, 0.2526, 0.4548, 0.8358, 1.445, 2.295, 3.401, 4.805, 6.529, 8.594");
        }
      }

      timing() {
        related_pin : "S1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3734, 0.4286, 0.5866, 0.8211, 1.122, 1.494, 1.948, 2.501, 3.165, 3.953",\
                 "0.3884, 0.4436, 0.6019, 0.8364, 1.137, 1.509, 1.963, 2.516, 3.18, 3.968",\
                 "0.4464, 0.501, 0.658, 0.8917, 1.192, 1.563, 2.018, 2.57, 3.234, 4.023",\
                 "0.5475, 0.5987, 0.7474, 0.9744, 1.271, 1.641, 2.095, 2.647, 3.311, 4.099",\
                 "0.6157, 0.6661, 0.8092, 1.03, 1.322, 1.69, 2.142, 2.694, 3.358, 4.146",\
                 "0.6229, 0.6723, 0.8139, 1.033, 1.325, 1.691, 2.142, 2.693, 3.357, 4.145",\
                 "0.5895, 0.6383, 0.7795, 0.9989, 1.29, 1.657, 2.108, 2.657, 3.32, 4.108",\
                 "0.517, 0.5658, 0.7069, 0.9258, 1.217, 1.584, 2.035, 2.585, 3.248, 4.034",\
                 "0.4081, 0.4567, 0.596, 0.8143, 1.106, 1.473, 1.927, 2.479, 3.143, 3.929",\
                 "0.257, 0.3055, 0.4448, 0.6625, 0.9539, 1.324, 1.783, 2.345, 3.016, 3.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4782, 0.524, 0.6658, 0.9045, 1.255, 1.741, 2.38, 3.184, 4.168, 5.34",\
                 "0.4943, 0.5402, 0.682, 0.9206, 1.271, 1.758, 2.396, 3.201, 4.183, 5.356",\
                 "0.5636, 0.6094, 0.7513, 0.9899, 1.341, 1.827, 2.465, 3.27, 4.253, 5.425",\
                 "0.693, 0.7388, 0.8803, 1.119, 1.47, 1.956, 2.593, 3.4, 4.379, 5.555",\
                 "0.8579, 0.9032, 1.044, 1.282, 1.633, 2.119, 2.757, 3.562, 4.544, 5.712",\
                 "1.056, 1.102, 1.242, 1.48, 1.83, 2.315, 2.953, 3.759, 4.742, 5.911",\
                 "1.29, 1.336, 1.476, 1.714, 2.063, 2.548, 3.186, 3.99, 4.974, 6.143",\
                 "1.561, 1.606, 1.746, 1.984, 2.335, 2.821, 3.458, 4.261, 5.243, 6.416",\
                 "1.871, 1.916, 2.055, 2.294, 2.65, 3.14, 3.779, 4.582, 5.562, 6.732",\
                 "2.221, 2.266, 2.405, 2.645, 3.006, 3.503, 4.149, 4.953, 5.934, 7.103");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2348, 0.2982, 0.4725, 0.7364, 1.106, 1.611, 2.283, 3.154, 4.243, 5.561",\
                 "0.2346, 0.2981, 0.4728, 0.7369, 1.107, 1.611, 2.281, 3.155, 4.24, 5.557",\
                 "0.2313, 0.2947, 0.4699, 0.7342, 1.105, 1.609, 2.281, 3.155, 4.242, 5.555",\
                 "0.2275, 0.2843, 0.4534, 0.7214, 1.095, 1.604, 2.277, 3.152, 4.239, 5.561",\
                 "0.2328, 0.2858, 0.4438, 0.708, 1.086, 1.597, 2.276, 3.151, 4.242, 5.559",\
                 "0.2294, 0.2814, 0.4414, 0.7064, 1.082, 1.589, 2.27, 3.146, 4.239, 5.553",\
                 "0.228, 0.2806, 0.4398, 0.7066, 1.082, 1.59, 2.265, 3.137, 4.235, 5.555",\
                 "0.2272, 0.2794, 0.4386, 0.7062, 1.083, 1.593, 2.269, 3.139, 4.227, 5.548",\
                 "0.2268, 0.2792, 0.4384, 0.7052, 1.084, 1.599, 2.278, 3.149, 4.231, 5.543",\
                 "0.2272, 0.2786, 0.438, 0.7058, 1.086, 1.611, 2.31, 3.188, 4.265, 5.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1907, 0.2517, 0.4515, 0.8175, 1.406, 2.254, 3.381, 4.801, 6.538, 8.61",\
                 "0.1908, 0.2517, 0.4515, 0.8167, 1.406, 2.255, 3.381, 4.802, 6.54, 8.612",\
                 "0.1906, 0.2514, 0.4514, 0.8174, 1.406, 2.26, 3.381, 4.803, 6.539, 8.622",\
                 "0.1896, 0.2514, 0.4504, 0.8172, 1.409, 2.255, 3.382, 4.805, 6.538, 8.613",\
                 "0.1878, 0.2496, 0.4486, 0.8164, 1.408, 2.255, 3.381, 4.804, 6.54, 8.605",\
                 "0.1874, 0.25, 0.4492, 0.815, 1.406, 2.255, 3.38, 4.803, 6.538, 8.607",\
                 "0.1884, 0.2506, 0.4508, 0.8172, 1.405, 2.251, 3.381, 4.802, 6.539, 8.619",\
                 "0.1898, 0.2508, 0.4518, 0.8198, 1.411, 2.259, 3.376, 4.8, 6.534, 8.608",\
                 "0.1906, 0.2514, 0.4528, 0.8272, 1.426, 2.266, 3.382, 4.796, 6.539, 8.602",\
                 "0.1934, 0.2526, 0.4548, 0.8358, 1.445, 2.295, 3.401, 4.805, 6.529, 8.594");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4248, 0.4747, 0.62, 0.8428, 1.135, 1.501, 1.952, 2.503, 3.166, 3.954",\
                 "0.4399, 0.4898, 0.6347, 0.8574, 1.15, 1.516, 1.967, 2.517, 3.181, 3.969",\
                 "0.5082, 0.5576, 0.7019, 0.9241, 1.216, 1.582, 2.033, 2.584, 3.247, 4.035",\
                 "0.6448, 0.6933, 0.8351, 1.056, 1.347, 1.712, 2.163, 2.713, 3.377, 4.165",\
                 "0.8322, 0.8814, 1.024, 1.244, 1.535, 1.9, 2.351, 2.901, 3.565, 4.352",\
                 "1.065, 1.117, 1.262, 1.484, 1.777, 2.144, 2.595, 3.145, 3.809, 4.596",\
                 "1.346, 1.401, 1.554, 1.78, 2.075, 2.443, 2.897, 3.449, 4.112, 4.9",\
                 "1.67, 1.73, 1.895, 2.131, 2.432, 2.803, 3.258, 3.812, 4.477, 5.265",\
                 "2.04, 2.104, 2.283, 2.534, 2.846, 3.225, 3.684, 4.239, 4.906, 5.695",\
                 "2.457, 2.526, 2.718, 2.986, 3.313, 3.705, 4.175, 4.735, 5.402, 6.192");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3227, 0.3698, 0.5143, 0.7549, 1.107, 1.593, 2.231, 3.034, 4.02, 5.189",\
                 "0.3354, 0.3826, 0.527, 0.7676, 1.12, 1.606, 2.243, 3.048, 4.032, 5.204",\
                 "0.3808, 0.4274, 0.571, 0.8114, 1.163, 1.649, 2.288, 3.092, 4.076, 5.247",\
                 "0.4403, 0.4858, 0.6276, 0.8672, 1.219, 1.704, 2.342, 3.148, 4.13, 5.303",\
                 "0.4781, 0.5227, 0.6627, 0.902, 1.254, 1.74, 2.378, 3.182, 4.166, 5.335",\
                 "0.4842, 0.53, 0.6705, 0.9088, 1.26, 1.747, 2.385, 3.188, 4.171, 5.339",\
                 "0.4498, 0.4976, 0.6408, 0.8819, 1.234, 1.72, 2.359, 3.163, 4.143, 5.312",\
                 "0.3687, 0.4198, 0.5674, 0.8126, 1.17, 1.658, 2.295, 3.099, 4.081, 5.25",\
                 "0.2396, 0.294, 0.4472, 0.6972, 1.059, 1.554, 2.196, 2.999, 3.98, 5.15",\
                 "0.0595, 0.1171, 0.2775, 0.5327, 0.8994, 1.4, 2.051, 2.86, 3.841, 5.01");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.212, 0.2699, 0.4379, 0.7046, 1.08, 1.59, 2.268, 3.142, 4.237, 5.558",\
                 "0.2115, 0.2691, 0.4371, 0.7044, 1.081, 1.59, 2.268, 3.143, 4.239, 5.556",\
                 "0.2103, 0.2676, 0.4347, 0.703, 1.08, 1.589, 2.268, 3.143, 4.239, 5.557",\
                 "0.2086, 0.2646, 0.4312, 0.7008, 1.078, 1.588, 2.266, 3.145, 4.237, 5.559",\
                 "0.2202, 0.2756, 0.4378, 0.702, 1.078, 1.588, 2.268, 3.146, 4.235, 5.556",\
                 "0.2382, 0.292, 0.4522, 0.7128, 1.086, 1.595, 2.272, 3.146, 4.238, 5.56",\
                 "0.2652, 0.3212, 0.4778, 0.7308, 1.1, 1.606, 2.282, 3.155, 4.242, 5.561",\
                 "0.2998, 0.3604, 0.5194, 0.7642, 1.123, 1.624, 2.294, 3.164, 4.248, 5.558",\
                 "0.3352, 0.4018, 0.5726, 0.8144, 1.169, 1.655, 2.314, 3.176, 4.258, 5.57",\
                 "0.3744, 0.4464, 0.631, 0.8746, 1.225, 1.714, 2.36, 3.204, 4.274, 5.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1924, 0.2535, 0.4526, 0.8193, 1.407, 2.255, 3.382, 4.801, 6.537, 8.61",\
                 "0.1923, 0.2543, 0.453, 0.8188, 1.407, 2.255, 3.381, 4.803, 6.539, 8.612",\
                 "0.1898, 0.2519, 0.4523, 0.8185, 1.408, 2.255, 3.381, 4.804, 6.539, 8.608",\
                 "0.1892, 0.2513, 0.4523, 0.8192, 1.408, 2.255, 3.381, 4.801, 6.54, 8.613",\
                 "0.1948, 0.2548, 0.4554, 0.8258, 1.414, 2.257, 3.381, 4.801, 6.538, 8.622",\
                 "0.2092, 0.2662, 0.4628, 0.8292, 1.417, 2.264, 3.384, 4.802, 6.538, 8.61",\
                 "0.2294, 0.2846, 0.4784, 0.8428, 1.424, 2.266, 3.388, 4.81, 6.538, 8.6",\
                 "0.2546, 0.3082, 0.4988, 0.8632, 1.443, 2.276, 3.392, 4.808, 6.538, 8.607",\
                 "0.2796, 0.3364, 0.5222, 0.8848, 1.47, 2.306, 3.412, 4.815, 6.544, 8.614",\
                 "0.3078, 0.3646, 0.5486, 0.9094, 1.497, 2.341, 3.449, 4.842, 6.555, 8.611");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.424, 0.4738, 0.6189, 0.8417, 1.134, 1.5, 1.952, 2.502, 3.166, 3.954",\
                 "0.439, 0.4889, 0.6337, 0.8563, 1.149, 1.515, 1.966, 2.517, 3.181, 3.969",\
                 "0.5074, 0.5568, 0.7008, 0.9231, 1.215, 1.581, 2.033, 2.583, 3.247, 4.035",\
                 "0.644, 0.6926, 0.8343, 1.055, 1.346, 1.712, 2.163, 2.714, 3.377, 4.165",\
                 "0.8315, 0.8807, 1.024, 1.244, 1.534, 1.9, 2.351, 2.901, 3.565, 4.352",\
                 "1.065, 1.116, 1.262, 1.484, 1.776, 2.143, 2.595, 3.146, 3.809, 4.597",\
                 "1.345, 1.4, 1.554, 1.78, 2.074, 2.443, 2.897, 3.449, 4.112, 4.9",\
                 "1.67, 1.73, 1.894, 2.13, 2.431, 2.803, 3.258, 3.812, 4.478, 5.265",\
                 "2.039, 2.103, 2.282, 2.533, 2.845, 3.225, 3.684, 4.239, 4.906, 5.695",\
                 "2.456, 2.525, 2.717, 2.985, 3.312, 3.705, 4.175, 4.735, 5.403, 6.193");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3223, 0.3693, 0.5138, 0.7545, 1.107, 1.592, 2.231, 3.034, 4.019, 5.187",\
                 "0.3349, 0.382, 0.5267, 0.7672, 1.119, 1.605, 2.244, 3.047, 4.032, 5.2",\
                 "0.3805, 0.427, 0.5706, 0.8111, 1.163, 1.649, 2.287, 3.093, 4.073, 5.243",\
                 "0.4401, 0.4855, 0.6274, 0.867, 1.218, 1.704, 2.343, 3.148, 4.13, 5.303",\
                 "0.4778, 0.5228, 0.6628, 0.9022, 1.254, 1.74, 2.378, 3.183, 4.163, 5.337",\
                 "0.4845, 0.5302, 0.6706, 0.9091, 1.261, 1.747, 2.386, 3.189, 4.172, 5.344",\
                 "0.4499, 0.4977, 0.641, 0.882, 1.234, 1.72, 2.359, 3.163, 4.143, 5.314",\
                 "0.3691, 0.4199, 0.5675, 0.8129, 1.17, 1.658, 2.296, 3.1, 4.081, 5.25",\
                 "0.2399, 0.2943, 0.4475, 0.6978, 1.06, 1.554, 2.196, 3, 3.981, 5.15",\
                 "0.0594, 0.1172, 0.2782, 0.5331, 0.9, 1.401, 2.051, 2.86, 3.841, 5.011");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2114, 0.2695, 0.4369, 0.7058, 1.081, 1.591, 2.269, 3.144, 4.235, 5.559",\
                 "0.2111, 0.2686, 0.4367, 0.7045, 1.081, 1.591, 2.269, 3.144, 4.24, 5.557",\
                 "0.2098, 0.2677, 0.4344, 0.7038, 1.08, 1.59, 2.268, 3.143, 4.238, 5.557",\
                 "0.2084, 0.2642, 0.431, 0.7002, 1.077, 1.588, 2.268, 3.142, 4.237, 5.558",\
                 "0.2202, 0.2754, 0.4374, 0.7026, 1.079, 1.588, 2.268, 3.146, 4.24, 5.559",\
                 "0.2378, 0.2924, 0.4518, 0.7134, 1.087, 1.596, 2.273, 3.145, 4.236, 5.56",\
                 "0.2652, 0.321, 0.4774, 0.73, 1.098, 1.608, 2.282, 3.155, 4.242, 5.561",\
                 "0.2992, 0.36, 0.5196, 0.765, 1.125, 1.622, 2.294, 3.164, 4.247, 5.564",\
                 "0.3354, 0.4032, 0.5724, 0.8152, 1.168, 1.658, 2.317, 3.176, 4.258, 5.567",\
                 "0.3734, 0.4452, 0.6308, 0.8744, 1.228, 1.715, 2.361, 3.208, 4.277, 5.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1926, 0.2544, 0.4528, 0.8193, 1.407, 2.255, 3.382, 4.802, 6.538, 8.621",\
                 "0.1922, 0.2541, 0.4532, 0.8189, 1.408, 2.259, 3.38, 4.802, 6.537, 8.604",\
                 "0.19, 0.2518, 0.4522, 0.8186, 1.408, 2.256, 3.38, 4.804, 6.542, 8.609",\
                 "0.1899, 0.2512, 0.4525, 0.8194, 1.407, 2.255, 3.382, 4.803, 6.54, 8.612",\
                 "0.1958, 0.255, 0.4558, 0.8254, 1.412, 2.257, 3.38, 4.804, 6.536, 8.611",\
                 "0.2092, 0.2662, 0.4624, 0.831, 1.418, 2.262, 3.384, 4.802, 6.54, 8.608",\
                 "0.23, 0.2842, 0.4784, 0.8436, 1.425, 2.267, 3.388, 4.81, 6.535, 8.606",\
                 "0.254, 0.3076, 0.498, 0.8622, 1.444, 2.277, 3.392, 4.809, 6.543, 8.61",\
                 "0.2792, 0.3362, 0.522, 0.8852, 1.47, 2.306, 3.411, 4.815, 6.544, 8.612",\
                 "0.3086, 0.3646, 0.548, 0.9086, 1.496, 2.341, 3.449, 4.84, 6.552, 8.612");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4239, 0.4739, 0.6189, 0.8417, 1.134, 1.5, 1.952, 2.502, 3.166, 3.954",\
                 "0.439, 0.4889, 0.6337, 0.8563, 1.149, 1.515, 1.966, 2.517, 3.181, 3.969",\
                 "0.5074, 0.5568, 0.7008, 0.9231, 1.215, 1.581, 2.033, 2.583, 3.247, 4.035",\
                 "0.644, 0.6926, 0.8342, 1.055, 1.346, 1.712, 2.163, 2.714, 3.377, 4.165",\
                 "0.8315, 0.8808, 1.024, 1.244, 1.534, 1.9, 2.351, 2.901, 3.565, 4.352",\
                 "1.065, 1.116, 1.262, 1.484, 1.776, 2.143, 2.595, 3.146, 3.809, 4.597",\
                 "1.345, 1.4, 1.554, 1.78, 2.074, 2.443, 2.897, 3.449, 4.112, 4.9",\
                 "1.67, 1.73, 1.893, 2.13, 2.431, 2.803, 3.258, 3.812, 4.478, 5.265",\
                 "2.039, 2.103, 2.282, 2.533, 2.846, 3.225, 3.684, 4.239, 4.906, 5.695",\
                 "2.456, 2.525, 2.717, 2.985, 3.312, 3.705, 4.175, 4.735, 5.403, 6.193");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3223, 0.3693, 0.5138, 0.7544, 1.107, 1.592, 2.231, 3.035, 4.018, 5.187",\
                 "0.3349, 0.3821, 0.5267, 0.7673, 1.119, 1.605, 2.243, 3.048, 4.031, 5.2",\
                 "0.3804, 0.427, 0.5707, 0.811, 1.163, 1.649, 2.288, 3.092, 4.074, 5.242",\
                 "0.4401, 0.4855, 0.6274, 0.8669, 1.218, 1.704, 2.343, 3.148, 4.13, 5.303",\
                 "0.4779, 0.5228, 0.663, 0.9021, 1.254, 1.74, 2.378, 3.183, 4.166, 5.338",\
                 "0.4845, 0.5302, 0.6706, 0.9091, 1.261, 1.747, 2.386, 3.189, 4.172, 5.344",\
                 "0.4497, 0.4977, 0.641, 0.882, 1.234, 1.72, 2.359, 3.163, 4.143, 5.314",\
                 "0.3691, 0.42, 0.5679, 0.8129, 1.17, 1.658, 2.296, 3.1, 4.081, 5.25",\
                 "0.2399, 0.2943, 0.4475, 0.6978, 1.06, 1.554, 2.196, 3, 3.981, 5.15",\
                 "0.0594, 0.1172, 0.2782, 0.5331, 0.9, 1.401, 2.051, 2.86, 3.841, 5.011");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2114, 0.269, 0.437, 0.7058, 1.081, 1.591, 2.269, 3.144, 4.236, 5.559",\
                 "0.2111, 0.2686, 0.4367, 0.7045, 1.081, 1.591, 2.269, 3.144, 4.24, 5.557",\
                 "0.2098, 0.2677, 0.4344, 0.7038, 1.08, 1.59, 2.268, 3.143, 4.238, 5.557",\
                 "0.2084, 0.2642, 0.4312, 0.7002, 1.077, 1.588, 2.268, 3.142, 4.237, 5.56",\
                 "0.2202, 0.2752, 0.4374, 0.7026, 1.079, 1.588, 2.268, 3.146, 4.239, 5.559",\
                 "0.2378, 0.2924, 0.4518, 0.713, 1.086, 1.596, 2.273, 3.145, 4.236, 5.56",\
                 "0.2654, 0.3208, 0.478, 0.7308, 1.1, 1.608, 2.283, 3.155, 4.242, 5.561",\
                 "0.2992, 0.3602, 0.5192, 0.7648, 1.123, 1.622, 2.295, 3.164, 4.248, 5.562",\
                 "0.3352, 0.4032, 0.5724, 0.8144, 1.167, 1.658, 2.317, 3.176, 4.258, 5.567",\
                 "0.3734, 0.4452, 0.6308, 0.8744, 1.228, 1.714, 2.361, 3.208, 4.273, 5.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1928, 0.2544, 0.4528, 0.8189, 1.408, 2.259, 3.381, 4.803, 6.54, 8.619",\
                 "0.1922, 0.2536, 0.4537, 0.8191, 1.409, 2.256, 3.381, 4.804, 6.541, 8.605",\
                 "0.1896, 0.2517, 0.4514, 0.8182, 1.408, 2.26, 3.379, 4.804, 6.545, 8.614",\
                 "0.1899, 0.2512, 0.4525, 0.8194, 1.407, 2.255, 3.382, 4.803, 6.54, 8.612",\
                 "0.195, 0.2552, 0.4558, 0.8252, 1.412, 2.257, 3.381, 4.803, 6.542, 8.606",\
                 "0.2092, 0.2662, 0.4624, 0.831, 1.418, 2.262, 3.384, 4.8, 6.54, 8.608",\
                 "0.2298, 0.2844, 0.4784, 0.8436, 1.425, 2.265, 3.388, 4.81, 6.535, 8.606",\
                 "0.254, 0.3092, 0.498, 0.8622, 1.443, 2.277, 3.392, 4.808, 6.539, 8.602",\
                 "0.2792, 0.3362, 0.522, 0.8852, 1.47, 2.306, 3.411, 4.815, 6.543, 8.614",\
                 "0.3086, 0.3646, 0.548, 0.9086, 1.496, 2.341, 3.449, 4.84, 6.552, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4248, 0.4747, 0.6199, 0.8428, 1.135, 1.501, 1.952, 2.503, 3.166, 3.954",\
                 "0.4399, 0.4898, 0.6347, 0.8574, 1.15, 1.516, 1.967, 2.517, 3.181, 3.969",\
                 "0.5082, 0.5576, 0.7019, 0.9241, 1.216, 1.582, 2.033, 2.583, 3.247, 4.035",\
                 "0.6448, 0.6933, 0.8351, 1.056, 1.347, 1.712, 2.163, 2.713, 3.377, 4.165",\
                 "0.8322, 0.8814, 1.024, 1.244, 1.535, 1.9, 2.351, 2.901, 3.565, 4.352",\
                 "1.065, 1.117, 1.262, 1.484, 1.777, 2.144, 2.595, 3.146, 3.809, 4.596",\
                 "1.346, 1.401, 1.554, 1.78, 2.075, 2.443, 2.897, 3.449, 4.112, 4.9",\
                 "1.67, 1.73, 1.895, 2.131, 2.432, 2.803, 3.258, 3.812, 4.477, 5.265",\
                 "2.04, 2.104, 2.283, 2.534, 2.845, 3.225, 3.684, 4.239, 4.906, 5.695",\
                 "2.457, 2.526, 2.718, 2.986, 3.313, 3.706, 4.175, 4.734, 5.402, 6.192");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3229, 0.3698, 0.5143, 0.7549, 1.107, 1.592, 2.231, 3.035, 4.019, 5.188",\
                 "0.3354, 0.3826, 0.5272, 0.7677, 1.119, 1.605, 2.244, 3.049, 4.03, 5.204",\
                 "0.3808, 0.4274, 0.571, 0.8114, 1.163, 1.649, 2.288, 3.092, 4.076, 5.247",\
                 "0.4403, 0.4858, 0.6276, 0.8672, 1.218, 1.704, 2.342, 3.148, 4.13, 5.303",\
                 "0.4781, 0.5227, 0.663, 0.9022, 1.254, 1.74, 2.378, 3.183, 4.165, 5.332",\
                 "0.4842, 0.53, 0.6705, 0.9088, 1.26, 1.747, 2.385, 3.189, 4.171, 5.339",\
                 "0.4495, 0.4976, 0.6408, 0.8819, 1.234, 1.72, 2.359, 3.162, 4.143, 5.314",\
                 "0.3687, 0.4198, 0.5674, 0.8125, 1.17, 1.658, 2.295, 3.099, 4.081, 5.25",\
                 "0.2396, 0.294, 0.4472, 0.6972, 1.059, 1.553, 2.195, 2.999, 3.98, 5.15",\
                 "0.0595, 0.1171, 0.2774, 0.5327, 0.8995, 1.4, 2.051, 2.86, 3.841, 5.01");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2121, 0.27, 0.4379, 0.7046, 1.08, 1.59, 2.269, 3.142, 4.237, 5.557",\
                 "0.2115, 0.2691, 0.4371, 0.7044, 1.08, 1.59, 2.268, 3.143, 4.239, 5.556",\
                 "0.2104, 0.2682, 0.4347, 0.7028, 1.08, 1.589, 2.268, 3.143, 4.239, 5.557",\
                 "0.2086, 0.2646, 0.4314, 0.7008, 1.078, 1.588, 2.266, 3.145, 4.237, 5.559",\
                 "0.2202, 0.2756, 0.438, 0.7018, 1.078, 1.588, 2.267, 3.144, 4.239, 5.557",\
                 "0.238, 0.2922, 0.4522, 0.7128, 1.086, 1.595, 2.273, 3.145, 4.236, 5.56",\
                 "0.2654, 0.3212, 0.4778, 0.7306, 1.1, 1.606, 2.282, 3.155, 4.242, 5.561",\
                 "0.2996, 0.3604, 0.5198, 0.7644, 1.123, 1.624, 2.294, 3.164, 4.25, 5.558",\
                 "0.3352, 0.4018, 0.5722, 0.8144, 1.167, 1.655, 2.316, 3.176, 4.257, 5.572",\
                 "0.3744, 0.4464, 0.631, 0.8746, 1.225, 1.714, 2.36, 3.205, 4.274, 5.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.193, 0.2545, 0.4528, 0.819, 1.407, 2.259, 3.381, 4.803, 6.539, 8.621",\
                 "0.1925, 0.2543, 0.4532, 0.8189, 1.409, 2.259, 3.379, 4.804, 6.544, 8.612",\
                 "0.1898, 0.2519, 0.4522, 0.8185, 1.407, 2.255, 3.381, 4.804, 6.539, 8.608",\
                 "0.1893, 0.2514, 0.4523, 0.8192, 1.408, 2.256, 3.381, 4.801, 6.54, 8.612",\
                 "0.1948, 0.2548, 0.4558, 0.8258, 1.412, 2.255, 3.381, 4.803, 6.54, 8.61",\
                 "0.2092, 0.2662, 0.4628, 0.8292, 1.417, 2.264, 3.384, 4.802, 6.538, 8.61",\
                 "0.2298, 0.2846, 0.4784, 0.8428, 1.424, 2.266, 3.388, 4.815, 6.535, 8.608",\
                 "0.2546, 0.3082, 0.4988, 0.862, 1.443, 2.276, 3.392, 4.809, 6.545, 8.608",\
                 "0.2796, 0.3364, 0.5222, 0.8848, 1.47, 2.305, 3.413, 4.815, 6.544, 8.612",\
                 "0.3078, 0.3646, 0.5488, 0.9096, 1.496, 2.345, 3.449, 4.841, 6.553, 8.611");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4239, 0.4738, 0.6188, 0.8417, 1.134, 1.5, 1.952, 2.503, 3.166, 3.954",\
                 "0.439, 0.4889, 0.6337, 0.8563, 1.149, 1.515, 1.966, 2.517, 3.181, 3.969",\
                 "0.5074, 0.5568, 0.7008, 0.9231, 1.215, 1.581, 2.033, 2.583, 3.247, 4.035",\
                 "0.644, 0.6926, 0.8345, 1.055, 1.346, 1.712, 2.163, 2.714, 3.377, 4.165",\
                 "0.8315, 0.8807, 1.024, 1.244, 1.534, 1.9, 2.351, 2.901, 3.565, 4.352",\
                 "1.065, 1.116, 1.262, 1.484, 1.776, 2.143, 2.595, 3.146, 3.809, 4.597",\
                 "1.345, 1.4, 1.554, 1.78, 2.074, 2.443, 2.897, 3.449, 4.112, 4.9",\
                 "1.67, 1.73, 1.894, 2.131, 2.431, 2.803, 3.258, 3.812, 4.478, 5.265",\
                 "2.039, 2.103, 2.282, 2.533, 2.845, 3.225, 3.684, 4.239, 4.906, 5.695",\
                 "2.456, 2.525, 2.718, 2.985, 3.312, 3.705, 4.175, 4.735, 5.403, 6.193");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3222, 0.3693, 0.5138, 0.7546, 1.106, 1.592, 2.231, 3.034, 4.019, 5.189",\
                 "0.3351, 0.3821, 0.5266, 0.7673, 1.119, 1.605, 2.243, 3.049, 4.031, 5.204",\
                 "0.3804, 0.427, 0.5708, 0.8111, 1.163, 1.649, 2.287, 3.093, 4.073, 5.244",\
                 "0.4401, 0.4855, 0.6274, 0.867, 1.218, 1.704, 2.343, 3.148, 4.13, 5.303",\
                 "0.4778, 0.5228, 0.6627, 0.902, 1.254, 1.74, 2.378, 3.182, 4.166, 5.335",\
                 "0.4845, 0.5302, 0.6706, 0.9091, 1.261, 1.748, 2.386, 3.189, 4.173, 5.34",\
                 "0.4499, 0.498, 0.641, 0.8819, 1.234, 1.72, 2.359, 3.163, 4.144, 5.314",\
                 "0.3691, 0.4199, 0.5675, 0.813, 1.17, 1.658, 2.296, 3.099, 4.081, 5.251",\
                 "0.2399, 0.2943, 0.4475, 0.6978, 1.059, 1.554, 2.196, 2.999, 3.98, 5.15",\
                 "0.0594, 0.1172, 0.2782, 0.5333, 0.9001, 1.401, 2.051, 2.86, 3.841, 5.011");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2118, 0.2695, 0.4367, 0.7057, 1.079, 1.588, 2.269, 3.143, 4.239, 5.559",\
                 "0.2111, 0.2686, 0.4367, 0.7045, 1.081, 1.591, 2.269, 3.144, 4.24, 5.557",\
                 "0.2098, 0.2677, 0.4344, 0.7026, 1.08, 1.59, 2.268, 3.145, 4.24, 5.557",\
                 "0.2084, 0.2642, 0.4316, 0.7004, 1.077, 1.589, 2.268, 3.142, 4.237, 5.557",\
                 "0.2202, 0.2754, 0.4374, 0.7026, 1.079, 1.588, 2.268, 3.146, 4.24, 5.559",\
                 "0.2378, 0.2924, 0.4518, 0.7134, 1.087, 1.596, 2.273, 3.145, 4.236, 5.56",\
                 "0.2652, 0.3208, 0.4774, 0.731, 1.1, 1.607, 2.282, 3.155, 4.242, 5.561",\
                 "0.2992, 0.36, 0.5206, 0.7652, 1.123, 1.622, 2.295, 3.164, 4.248, 5.561",\
                 "0.3354, 0.4032, 0.5724, 0.815, 1.168, 1.658, 2.317, 3.177, 4.258, 5.567",\
                 "0.3734, 0.4454, 0.6306, 0.8744, 1.228, 1.715, 2.361, 3.208, 4.277, 5.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1925, 0.2533, 0.4527, 0.8198, 1.408, 2.255, 3.382, 4.801, 6.536, 8.61",\
                 "0.1925, 0.2536, 0.4536, 0.8191, 1.41, 2.254, 3.381, 4.802, 6.542, 8.612",\
                 "0.1895, 0.2516, 0.4525, 0.8193, 1.408, 2.255, 3.379, 4.804, 6.54, 8.607",\
                 "0.1899, 0.2512, 0.4525, 0.8194, 1.407, 2.255, 3.382, 4.803, 6.54, 8.612",\
                 "0.1958, 0.255, 0.4554, 0.826, 1.412, 2.257, 3.38, 4.803, 6.537, 8.62",\
                 "0.2092, 0.2666, 0.4624, 0.8302, 1.418, 2.263, 3.39, 4.802, 6.539, 8.613",\
                 "0.23, 0.285, 0.4784, 0.8428, 1.425, 2.265, 3.388, 4.813, 6.537, 8.605",\
                 "0.255, 0.3078, 0.498, 0.862, 1.444, 2.278, 3.392, 4.809, 6.538, 8.608",\
                 "0.2792, 0.3362, 0.522, 0.8852, 1.471, 2.306, 3.412, 4.815, 6.543, 8.613",\
                 "0.3086, 0.3646, 0.548, 0.91, 1.496, 2.343, 3.449, 4.843, 6.552, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.424, 0.4738, 0.6189, 0.8417, 1.134, 1.501, 1.952, 2.503, 3.166, 3.954",\
                 "0.439, 0.4889, 0.6337, 0.8563, 1.149, 1.515, 1.966, 2.517, 3.181, 3.969",\
                 "0.5074, 0.5568, 0.7008, 0.9231, 1.215, 1.581, 2.033, 2.583, 3.247, 4.035",\
                 "0.644, 0.6926, 0.8345, 1.055, 1.346, 1.712, 2.163, 2.714, 3.377, 4.165",\
                 "0.8315, 0.8808, 1.024, 1.244, 1.534, 1.9, 2.351, 2.901, 3.565, 4.352",\
                 "1.065, 1.116, 1.262, 1.484, 1.776, 2.143, 2.595, 3.146, 3.809, 4.597",\
                 "1.345, 1.4, 1.554, 1.78, 2.074, 2.443, 2.897, 3.449, 4.112, 4.9",\
                 "1.67, 1.73, 1.893, 2.13, 2.431, 2.803, 3.258, 3.812, 4.478, 5.265",\
                 "2.039, 2.103, 2.282, 2.533, 2.846, 3.225, 3.684, 4.239, 4.906, 5.695",\
                 "2.457, 2.525, 2.718, 2.985, 3.312, 3.705, 4.175, 4.735, 5.403, 6.193");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3222, 0.3693, 0.5139, 0.7546, 1.106, 1.593, 2.231, 3.036, 4.019, 5.191",\
                 "0.3351, 0.3821, 0.5266, 0.7673, 1.119, 1.605, 2.243, 3.049, 4.031, 5.204",\
                 "0.3804, 0.427, 0.5707, 0.8111, 1.163, 1.649, 2.287, 3.092, 4.074, 5.246",\
                 "0.4401, 0.4855, 0.6274, 0.8669, 1.218, 1.704, 2.343, 3.148, 4.13, 5.303",\
                 "0.478, 0.5228, 0.6627, 0.9021, 1.254, 1.74, 2.379, 3.182, 4.165, 5.338",\
                 "0.4845, 0.5302, 0.6706, 0.9091, 1.261, 1.747, 2.386, 3.189, 4.172, 5.34",\
                 "0.4497, 0.4977, 0.641, 0.8819, 1.234, 1.72, 2.359, 3.163, 4.144, 5.314",\
                 "0.3691, 0.42, 0.5677, 0.8129, 1.17, 1.658, 2.296, 3.1, 4.081, 5.251",\
                 "0.2399, 0.2943, 0.4475, 0.6978, 1.06, 1.554, 2.197, 3, 3.98, 5.15",\
                 "0.0594, 0.1172, 0.2782, 0.5331, 0.9001, 1.401, 2.051, 2.86, 3.841, 5.011");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2118, 0.2695, 0.4373, 0.7047, 1.081, 1.591, 2.269, 3.145, 4.24, 5.552",\
                 "0.2111, 0.2686, 0.4367, 0.7045, 1.081, 1.591, 2.269, 3.144, 4.24, 5.557",\
                 "0.2098, 0.2677, 0.4344, 0.7026, 1.08, 1.59, 2.268, 3.145, 4.24, 5.557",\
                 "0.2084, 0.2642, 0.4318, 0.7004, 1.077, 1.589, 2.268, 3.142, 4.237, 5.558",\
                 "0.2202, 0.2752, 0.4374, 0.7026, 1.079, 1.588, 2.268, 3.146, 4.239, 5.559",\
                 "0.2378, 0.2924, 0.4516, 0.7134, 1.086, 1.596, 2.273, 3.145, 4.236, 5.56",\
                 "0.2654, 0.3208, 0.478, 0.7308, 1.099, 1.607, 2.283, 3.155, 4.242, 5.561",\
                 "0.2992, 0.36, 0.5192, 0.7646, 1.123, 1.622, 2.294, 3.164, 4.25, 5.561",\
                 "0.3364, 0.4032, 0.5724, 0.8142, 1.167, 1.658, 2.317, 3.176, 4.258, 5.565",\
                 "0.3738, 0.4454, 0.6306, 0.8744, 1.228, 1.714, 2.361, 3.208, 4.273, 5.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1927, 0.2539, 0.4534, 0.8191, 1.409, 2.254, 3.381, 4.803, 6.542, 8.611",\
                 "0.1925, 0.2536, 0.4533, 0.8191, 1.41, 2.254, 3.381, 4.802, 6.542, 8.612",\
                 "0.1897, 0.2518, 0.4524, 0.8186, 1.408, 2.255, 3.379, 4.803, 6.545, 8.61",\
                 "0.1899, 0.2512, 0.4525, 0.8194, 1.407, 2.255, 3.382, 4.803, 6.54, 8.612",\
                 "0.195, 0.255, 0.4554, 0.8252, 1.412, 2.256, 3.382, 4.803, 6.54, 8.607",\
                 "0.2092, 0.2662, 0.4624, 0.8302, 1.418, 2.262, 3.391, 4.801, 6.538, 8.613",\
                 "0.2298, 0.2844, 0.4784, 0.8428, 1.425, 2.265, 3.388, 4.813, 6.537, 8.605",\
                 "0.255, 0.3092, 0.4984, 0.8628, 1.444, 2.277, 3.395, 4.809, 6.539, 8.608",\
                 "0.2792, 0.3362, 0.522, 0.8852, 1.471, 2.306, 3.41, 4.815, 6.543, 8.613",\
                 "0.3086, 0.3646, 0.548, 0.9088, 1.496, 2.343, 3.449, 4.843, 6.552, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4248, 0.4747, 0.6199, 0.8428, 1.135, 1.501, 1.952, 2.503, 3.166, 3.954",\
                 "0.4399, 0.4898, 0.6347, 0.8574, 1.15, 1.516, 1.967, 2.517, 3.181, 3.969",\
                 "0.5082, 0.5576, 0.7019, 0.9241, 1.216, 1.582, 2.033, 2.583, 3.247, 4.035",\
                 "0.6448, 0.6933, 0.8352, 1.056, 1.347, 1.712, 2.163, 2.713, 3.377, 4.165",\
                 "0.8322, 0.8814, 1.024, 1.244, 1.535, 1.9, 2.351, 2.901, 3.565, 4.352",\
                 "1.065, 1.117, 1.262, 1.484, 1.777, 2.144, 2.595, 3.146, 3.809, 4.596",\
                 "1.346, 1.401, 1.554, 1.78, 2.075, 2.443, 2.897, 3.449, 4.112, 4.9",\
                 "1.67, 1.73, 1.895, 2.131, 2.432, 2.803, 3.258, 3.812, 4.477, 5.265",\
                 "2.04, 2.104, 2.283, 2.534, 2.845, 3.225, 3.684, 4.239, 4.905, 5.695",\
                 "2.457, 2.526, 2.718, 2.986, 3.313, 3.705, 4.175, 4.735, 5.402, 6.192");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3228, 0.3698, 0.5143, 0.755, 1.107, 1.593, 2.231, 3.034, 4.019, 5.188",\
                 "0.3354, 0.3826, 0.527, 0.7677, 1.119, 1.605, 2.243, 3.049, 4.032, 5.202",\
                 "0.3808, 0.4274, 0.571, 0.8114, 1.163, 1.649, 2.288, 3.092, 4.076, 5.247",\
                 "0.4403, 0.4858, 0.6276, 0.8672, 1.218, 1.704, 2.343, 3.148, 4.128, 5.302",\
                 "0.4778, 0.5227, 0.6627, 0.902, 1.254, 1.74, 2.378, 3.182, 4.166, 5.335",\
                 "0.4842, 0.53, 0.6705, 0.9088, 1.26, 1.747, 2.385, 3.189, 4.172, 5.339",\
                 "0.4498, 0.4976, 0.6408, 0.8819, 1.234, 1.72, 2.359, 3.162, 4.143, 5.313",\
                 "0.3687, 0.4198, 0.5676, 0.8125, 1.169, 1.658, 2.295, 3.099, 4.081, 5.25",\
                 "0.2396, 0.294, 0.4472, 0.6972, 1.059, 1.553, 2.196, 2.999, 3.98, 5.15",\
                 "0.0595, 0.1171, 0.2774, 0.5327, 0.8995, 1.4, 2.05, 2.86, 3.841, 5.01");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2119, 0.27, 0.438, 0.7046, 1.08, 1.59, 2.269, 3.142, 4.238, 5.556",\
                 "0.2115, 0.2691, 0.4371, 0.7044, 1.08, 1.59, 2.268, 3.143, 4.239, 5.556",\
                 "0.2104, 0.2682, 0.4347, 0.7028, 1.08, 1.589, 2.268, 3.143, 4.239, 5.557",\
                 "0.2086, 0.2646, 0.4316, 0.7008, 1.078, 1.588, 2.266, 3.145, 4.237, 5.559",\
                 "0.2202, 0.2756, 0.438, 0.7018, 1.078, 1.588, 2.268, 3.144, 4.239, 5.557",\
                 "0.238, 0.2924, 0.4522, 0.7128, 1.086, 1.595, 2.273, 3.145, 4.236, 5.56",\
                 "0.2652, 0.3212, 0.4778, 0.7298, 1.1, 1.606, 2.282, 3.155, 4.242, 5.561",\
                 "0.2996, 0.3604, 0.5192, 0.7648, 1.122, 1.624, 2.294, 3.164, 4.248, 5.558",\
                 "0.3352, 0.4032, 0.5726, 0.8144, 1.167, 1.657, 2.314, 3.176, 4.257, 5.57",\
                 "0.3744, 0.4464, 0.631, 0.8746, 1.225, 1.714, 2.36, 3.204, 4.274, 5.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1929, 0.2543, 0.4533, 0.8196, 1.407, 2.255, 3.382, 4.802, 6.537, 8.623",\
                 "0.1925, 0.2543, 0.4534, 0.8189, 1.408, 2.255, 3.381, 4.804, 6.542, 8.61",\
                 "0.1898, 0.2519, 0.4522, 0.8185, 1.407, 2.255, 3.381, 4.804, 6.539, 8.608",\
                 "0.1894, 0.2514, 0.4523, 0.8194, 1.409, 2.255, 3.382, 4.804, 6.536, 8.611",\
                 "0.1954, 0.2548, 0.4554, 0.8258, 1.412, 2.257, 3.381, 4.801, 6.538, 8.622",\
                 "0.2092, 0.2662, 0.4628, 0.8292, 1.418, 2.264, 3.39, 4.803, 6.539, 8.611",\
                 "0.2294, 0.2846, 0.4784, 0.8432, 1.425, 2.266, 3.388, 4.815, 6.537, 8.607",\
                 "0.2546, 0.3082, 0.4982, 0.862, 1.443, 2.277, 3.392, 4.808, 6.538, 8.61",\
                 "0.2796, 0.3364, 0.5222, 0.8848, 1.471, 2.305, 3.411, 4.815, 6.544, 8.612",\
                 "0.3078, 0.3646, 0.5486, 0.9096, 1.496, 2.345, 3.45, 4.842, 6.555, 8.609");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.4248, 0.4748, 0.6199, 0.8427, 1.135, 1.501, 1.952, 2.503, 3.166, 3.954",\
                 "0.4399, 0.4898, 0.6347, 0.8574, 1.15, 1.516, 1.967, 2.517, 3.181, 3.969",\
                 "0.5082, 0.5576, 0.7018, 0.9241, 1.216, 1.582, 2.033, 2.584, 3.247, 4.035",\
                 "0.6448, 0.6933, 0.8351, 1.056, 1.347, 1.712, 2.163, 2.713, 3.377, 4.165",\
                 "0.8322, 0.8814, 1.024, 1.244, 1.535, 1.9, 2.351, 2.901, 3.565, 4.352",\
                 "1.065, 1.117, 1.262, 1.484, 1.777, 2.144, 2.595, 3.146, 3.809, 4.596",\
                 "1.346, 1.401, 1.554, 1.78, 2.075, 2.443, 2.897, 3.449, 4.112, 4.9",\
                 "1.67, 1.73, 1.895, 2.131, 2.432, 2.803, 3.258, 3.812, 4.477, 5.265",\
                 "2.04, 2.104, 2.283, 2.533, 2.846, 3.225, 3.684, 4.239, 4.905, 5.695",\
                 "2.457, 2.526, 2.718, 2.986, 3.313, 3.706, 4.175, 4.735, 5.402, 6.192");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3229, 0.3698, 0.5143, 0.7549, 1.107, 1.592, 2.231, 3.035, 4.019, 5.187",\
                 "0.3356, 0.3826, 0.527, 0.7676, 1.119, 1.605, 2.244, 3.049, 4.029, 5.204",\
                 "0.3808, 0.4274, 0.571, 0.8114, 1.163, 1.649, 2.288, 3.092, 4.076, 5.247",\
                 "0.4403, 0.4858, 0.6276, 0.8672, 1.219, 1.704, 2.343, 3.148, 4.127, 5.301",\
                 "0.4778, 0.5227, 0.6627, 0.902, 1.254, 1.74, 2.378, 3.182, 4.166, 5.335",\
                 "0.4842, 0.53, 0.6705, 0.9088, 1.26, 1.747, 2.385, 3.189, 4.172, 5.339",\
                 "0.4495, 0.4976, 0.6409, 0.8818, 1.234, 1.72, 2.359, 3.163, 4.143, 5.316",\
                 "0.3687, 0.4198, 0.5676, 0.8125, 1.17, 1.658, 2.295, 3.099, 4.081, 5.25",\
                 "0.2396, 0.2936, 0.4472, 0.6972, 1.059, 1.553, 2.195, 2.999, 3.98, 5.15",\
                 "0.0595, 0.1171, 0.2774, 0.5326, 0.8995, 1.4, 2.051, 2.86, 3.841, 5.011");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.212, 0.2701, 0.4381, 0.7045, 1.08, 1.59, 2.269, 3.142, 4.238, 5.556",\
                 "0.2115, 0.2691, 0.4371, 0.7044, 1.08, 1.59, 2.268, 3.143, 4.239, 5.556",\
                 "0.2104, 0.2682, 0.4348, 0.7027, 1.08, 1.589, 2.268, 3.143, 4.239, 5.555",\
                 "0.2086, 0.2646, 0.4318, 0.7008, 1.078, 1.588, 2.266, 3.145, 4.237, 5.559",\
                 "0.2202, 0.2756, 0.438, 0.702, 1.078, 1.588, 2.268, 3.145, 4.239, 5.557",\
                 "0.238, 0.2922, 0.4522, 0.7128, 1.086, 1.595, 2.273, 3.145, 4.236, 5.56",\
                 "0.2654, 0.3212, 0.4778, 0.7306, 1.098, 1.606, 2.282, 3.155, 4.242, 5.561",\
                 "0.2994, 0.3604, 0.5198, 0.7644, 1.123, 1.623, 2.293, 3.163, 4.248, 5.558",\
                 "0.3352, 0.4024, 0.5726, 0.815, 1.169, 1.657, 2.314, 3.176, 4.257, 5.569",\
                 "0.3744, 0.4458, 0.631, 0.8746, 1.225, 1.714, 2.36, 3.204, 4.272, 5.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.193, 0.2545, 0.4528, 0.8187, 1.407, 2.259, 3.381, 4.803, 6.54, 8.619",\
                 "0.1927, 0.2543, 0.4531, 0.8188, 1.41, 2.255, 3.381, 4.804, 6.535, 8.612",\
                 "0.1897, 0.2519, 0.4522, 0.8185, 1.407, 2.255, 3.381, 4.803, 6.539, 8.608",\
                 "0.1894, 0.2514, 0.4523, 0.8194, 1.409, 2.255, 3.381, 4.801, 6.537, 8.609",\
                 "0.1954, 0.2548, 0.4554, 0.8258, 1.412, 2.257, 3.381, 4.801, 6.538, 8.622",\
                 "0.2092, 0.2662, 0.4626, 0.8292, 1.418, 2.264, 3.39, 4.803, 6.539, 8.611",\
                 "0.2298, 0.2846, 0.4776, 0.8432, 1.425, 2.266, 3.389, 4.805, 6.534, 8.606",\
                 "0.2546, 0.3082, 0.4982, 0.862, 1.443, 2.277, 3.392, 4.808, 6.538, 8.605",\
                 "0.2796, 0.3346, 0.5222, 0.8848, 1.47, 2.305, 3.412, 4.815, 6.543, 8.612",\
                 "0.3078, 0.3646, 0.549, 0.9088, 1.496, 2.344, 3.447, 4.842, 6.552, 8.611");
        }
      }

      timing() {
        related_pin : "S1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.424, 0.4738, 0.6189, 0.8417, 1.134, 1.501, 1.952, 2.503, 3.166, 3.954",\
                 "0.439, 0.4889, 0.6337, 0.8563, 1.149, 1.515, 1.966, 2.517, 3.181, 3.969",\
                 "0.5074, 0.5568, 0.7008, 0.9231, 1.215, 1.581, 2.033, 2.583, 3.247, 4.035",\
                 "0.644, 0.6926, 0.8345, 1.055, 1.346, 1.712, 2.163, 2.714, 3.377, 4.165",\
                 "0.8315, 0.8808, 1.024, 1.244, 1.534, 1.9, 2.351, 2.901, 3.565, 4.352",\
                 "1.065, 1.116, 1.262, 1.484, 1.776, 2.143, 2.595, 3.146, 3.809, 4.597",\
                 "1.345, 1.4, 1.554, 1.78, 2.074, 2.443, 2.897, 3.449, 4.112, 4.9",\
                 "1.67, 1.73, 1.893, 2.13, 2.431, 2.803, 3.258, 3.812, 4.478, 5.265",\
                 "2.039, 2.103, 2.282, 2.533, 2.846, 3.225, 3.684, 4.239, 4.906, 5.695",\
                 "2.457, 2.525, 2.718, 2.985, 3.312, 3.705, 4.175, 4.735, 5.403, 6.193");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.3223, 0.3693, 0.5138, 0.7544, 1.107, 1.592, 2.231, 3.035, 4.018, 5.187",\
                 "0.3349, 0.3821, 0.5267, 0.7673, 1.119, 1.605, 2.243, 3.048, 4.031, 5.2",\
                 "0.3804, 0.427, 0.5707, 0.811, 1.163, 1.649, 2.288, 3.092, 4.074, 5.242",\
                 "0.4401, 0.4855, 0.6274, 0.8669, 1.218, 1.704, 2.343, 3.148, 4.13, 5.303",\
                 "0.4779, 0.5228, 0.663, 0.9021, 1.254, 1.74, 2.378, 3.183, 4.166, 5.338",\
                 "0.4845, 0.5302, 0.6706, 0.9091, 1.261, 1.747, 2.386, 3.189, 4.172, 5.344",\
                 "0.4497, 0.4977, 0.641, 0.882, 1.234, 1.72, 2.359, 3.163, 4.143, 5.314",\
                 "0.3691, 0.42, 0.5679, 0.8129, 1.17, 1.658, 2.296, 3.1, 4.081, 5.25",\
                 "0.2399, 0.2943, 0.4475, 0.6978, 1.06, 1.554, 2.196, 3, 3.981, 5.15",\
                 "0.0594, 0.1172, 0.2782, 0.5331, 0.9, 1.401, 2.051, 2.86, 3.841, 5.011");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.2118, 0.2695, 0.4373, 0.7047, 1.081, 1.591, 2.269, 3.145, 4.24, 5.552",\
                 "0.2111, 0.2686, 0.4367, 0.7045, 1.081, 1.591, 2.269, 3.144, 4.24, 5.557",\
                 "0.2098, 0.2677, 0.4344, 0.7026, 1.08, 1.59, 2.268, 3.145, 4.24, 5.557",\
                 "0.2084, 0.2642, 0.4318, 0.7004, 1.077, 1.589, 2.268, 3.142, 4.237, 5.558",\
                 "0.2202, 0.2752, 0.4374, 0.7026, 1.079, 1.588, 2.268, 3.146, 4.239, 5.559",\
                 "0.2378, 0.2924, 0.4516, 0.7134, 1.086, 1.596, 2.273, 3.145, 4.236, 5.56",\
                 "0.2654, 0.3208, 0.478, 0.7308, 1.099, 1.607, 2.283, 3.155, 4.242, 5.561",\
                 "0.2992, 0.36, 0.5192, 0.7646, 1.123, 1.622, 2.294, 3.164, 4.25, 5.561",\
                 "0.3364, 0.4032, 0.5724, 0.8142, 1.167, 1.658, 2.317, 3.176, 4.258, 5.565",\
                 "0.3738, 0.4454, 0.6306, 0.8744, 1.228, 1.714, 2.361, 3.208, 4.273, 5.578");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002555, 0.008015, 0.01844, 0.03469, 0.05748, 0.08747, 0.1253, 0.1714, 0.2264");
          values("0.1929, 0.2543, 0.4533, 0.8196, 1.407, 2.255, 3.382, 4.802, 6.537, 8.623",\
                 "0.1925, 0.2543, 0.4534, 0.8189, 1.408, 2.255, 3.381, 4.804, 6.542, 8.61",\
                 "0.1898, 0.2519, 0.4522, 0.8185, 1.407, 2.255, 3.381, 4.804, 6.539, 8.608",\
                 "0.1894, 0.2514, 0.4523, 0.8194, 1.409, 2.255, 3.382, 4.804, 6.536, 8.611",\
                 "0.1954, 0.2548, 0.4554, 0.8258, 1.412, 2.257, 3.381, 4.801, 6.538, 8.622",\
                 "0.2092, 0.2662, 0.4628, 0.8292, 1.418, 2.264, 3.39, 4.803, 6.539, 8.611",\
                 "0.2294, 0.2846, 0.4784, 0.8432, 1.425, 2.266, 3.388, 4.815, 6.537, 8.607",\
                 "0.2546, 0.3082, 0.4982, 0.862, 1.443, 2.277, 3.392, 4.808, 6.538, 8.61",\
                 "0.2796, 0.3364, 0.5222, 0.8848, 1.471, 2.305, 3.411, 4.815, 6.544, 8.612",\
                 "0.3078, 0.3646, 0.5486, 0.9096, 1.496, 2.345, 3.45, 4.842, 6.555, 8.609");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__mux4_2) {
    area : 74.636800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002460777" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&!S0&S1" ;
      value : "0.0002455728" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&S0&!S1" ;
      value : "0.0002455728" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&S0&S1" ;
      value : "0.0002450712" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&!S0&!S1" ;
      value : "0.0002471337" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&!S0&S1" ;
      value : "0.0002466288" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&S0&!S1" ;
      value : "0.0002480874" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&S0&S1" ;
      value : "0.0002480445" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&!S0&!S1" ;
      value : "0.0002485923" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&!S0&S1" ;
      value : "0.0002485461" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&S0&!S1" ;
      value : "0.0002466288" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&S0&S1" ;
      value : "0.0002461272" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&!S0&!S1" ;
      value : "0.0002481303" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&!S0&S1" ;
      value : "0.0002480874" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&S0&!S1" ;
      value : "0.0002476287" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&S0&S1" ;
      value : "0.0002475825" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002470314" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&!S0&S1" ;
      value : "0.0002465298" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&S0&!S1" ;
      value : "0.0002484471" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&S0&S1" ;
      value : "0.0002474835" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&!S0&!S1" ;
      value : "0.0002480874" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&!S0&S1" ;
      value : "0.0002475858" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&S0&!S1" ;
      value : "0.0002489982" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&S0&S1" ;
      value : "0.0002484933" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&!S0&!S1" ;
      value : "0.000249546" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&!S0&S1" ;
      value : "0.0002495031" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&S0&!S1" ;
      value : "0.0002495031" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&S0&S1" ;
      value : "0.0002485395" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&!S0&!S1" ;
      value : "0.0002490873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&!S0&S1" ;
      value : "0.0002490411" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&S0&!S1" ;
      value : "0.0002485362" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&S0&S1" ;
      value : "0.0002480346" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002489487" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&!S0&S1" ;
      value : "0.0002479884" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&S0&!S1" ;
      value : "0.0002465298" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&S0&S1" ;
      value : "0.0002460249" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&!S0&!S1" ;
      value : "0.0002500047" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&!S0&S1" ;
      value : "0.0002490444" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&S0&!S1" ;
      value : "0.0002490444" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&S0&S1" ;
      value : "0.0002489982" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&!S0&!S1" ;
      value : "0.0002494998" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&!S0&S1" ;
      value : "0.0002489982" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&S0&!S1" ;
      value : "0.0002475858" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&S0&S1" ;
      value : "0.0002470809" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&!S0&!S1" ;
      value : "0.0002490411" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&!S0&S1" ;
      value : "0.0002485362" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&S0&!S1" ;
      value : "0.0002485824" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&S0&S1" ;
      value : "0.0002485395" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002479422" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&!S0&S1" ;
      value : "0.0002469786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&S0&!S1" ;
      value : "0.0002474373" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&S0&S1" ;
      value : "0.000246477" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&!S0&!S1" ;
      value : "0.0002489982" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&!S0&S1" ;
      value : "0.0002480346" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&S0&!S1" ;
      value : "0.0002479884" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&S0&S1" ;
      value : "0.0002474868" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&!S0&!S1" ;
      value : "0.0002484933" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&!S0&S1" ;
      value : "0.0002479884" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&S0&!S1" ;
      value : "0.0002484933" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&S0&S1" ;
      value : "0.000247533" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&!S0&!S1" ;
      value : "0.0002480313" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&!S0&S1" ;
      value : "0.0002475297" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&S0&!S1" ;
      value : "0.0002475297" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&S0&S1" ;
      value : "0.0002470248" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002500047" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I0) {
      capacitance : 0.002852 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I1&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07755, 0.07727, 0.0783, 0.08248, 0.09082, 0.1042, 0.1232, 0.1483, \
                 0.1797, 0.2178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02275, 0.02357, 0.02688, 0.03366, 0.04466, 0.06055, \
                 0.08167, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "!I1&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06241, 0.08343, 0.1103, \
                 0.1433, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003523, 0.003259, 0.004249, 0.008687, 0.0173, 0.03044, 0.04846, \
                 0.0716, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06241, 0.08343, 0.1103, \
                 0.1433, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003523, 0.003259, 0.004249, 0.008687, 0.0173, 0.03044, 0.04846, \
                 0.0716, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07755, 0.07727, 0.0783, 0.08248, 0.09082, 0.1042, 0.1233, 0.1483, \
                 0.1797, 0.2179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02275, 0.02357, 0.02688, 0.03366, 0.04466, 0.06055, \
                 0.08167, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "!I1&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02928, 0.02875, 0.03058, 0.03641, 0.0469, 0.06242, 0.0834, 0.1103, \
                 0.1433, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003565, 0.003261, 0.00425, 0.008682, 0.01729, 0.03044, 0.04846, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06242, 0.08339, 0.1103, \
                 0.1434, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003555, 0.003261, 0.00425, 0.008682, 0.0173, 0.03044, 0.04846, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07755, 0.07727, 0.07831, 0.08248, 0.09087, 0.1042, 0.1233, 0.1483, \
                 0.1797, 0.2179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02275, 0.02357, 0.0269, 0.03366, 0.04466, 0.06055, \
                 0.08167, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "!I1&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02928, 0.02875, 0.03058, 0.03641, 0.0469, 0.06242, 0.08343, \
                 0.1103, 0.1433, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003565, 0.003259, 0.004248, 0.008687, 0.0173, 0.03044, 0.04846, \
                 0.0716, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06241, 0.08343, 0.1103, \
                 0.1433, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003546, 0.003259, 0.004249, 0.008687, 0.0173, 0.03044, 0.04846, \
                 0.0716, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07755, 0.07727, 0.07831, 0.08248, 0.09087, 0.1042, 0.1233, 0.1483, \
                 0.1797, 0.2179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02275, 0.02358, 0.0269, 0.03366, 0.04466, 0.06055, \
                 0.08167, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "!I1&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06242, 0.08341, 0.1103, \
                 0.1434, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003548, 0.003261, 0.00425, 0.008681, 0.01729, 0.03044, 0.04846, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06241, 0.08341, 0.1103, \
                 0.1433, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003564, 0.003261, 0.00425, 0.008678, 0.0173, 0.03044, 0.04846, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07755, 0.07727, 0.0783, 0.08248, 0.09082, 0.1042, 0.1233, 0.1483, \
                 0.1797, 0.2179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02275, 0.02356, 0.0269, 0.03364, 0.04466, 0.06056, \
                 0.08167, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "I1&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06242, 0.08341, 0.1103, \
                 0.1434, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003539, 0.00326, 0.004268, 0.008687, 0.0173, 0.03044, 0.04846, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06242, 0.08341, 0.1103, \
                 0.1434, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003551, 0.00326, 0.004258, 0.008685, 0.0173, 0.03044, 0.04846, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07755, 0.07727, 0.0783, 0.08248, 0.09087, 0.1042, 0.1233, 0.1483, \
                 0.1797, 0.2179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02275, 0.02357, 0.0269, 0.03364, 0.04466, 0.06056, \
                 0.08167, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "I1&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03642, 0.0469, 0.06242, 0.08343, 0.1103, \
                 0.1433, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003571, 0.003262, 0.004252, 0.008666, 0.0173, 0.03044, 0.04845, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03642, 0.0469, 0.06242, 0.08341, 0.1103, \
                 0.1434, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003525, 0.003262, 0.004257, 0.008683, 0.0173, 0.03044, 0.04845, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07755, 0.07727, 0.07831, 0.08248, 0.09087, 0.1042, 0.1233, 0.1483, \
                 0.1797, 0.2178");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02275, 0.02357, 0.0269, 0.03366, 0.04466, 0.06056, \
                 0.08167, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "I1&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06241, 0.08345, 0.1103, \
                 0.1433, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003568, 0.00326, 0.004266, 0.00869, 0.0173, 0.03044, 0.04846, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06241, 0.08345, 0.1103, \
                 0.1433, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003556, 0.00326, 0.004258, 0.008687, 0.0173, 0.03044, 0.04845, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07755, 0.07727, 0.07831, 0.08248, 0.09087, 0.1042, 0.1233, 0.1483, \
                 0.1797, 0.2179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02292, 0.02275, 0.02358, 0.0269, 0.03366, 0.04466, 0.06056, \
                 0.08167, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "I1&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06242, 0.08345, 0.1103, \
                 0.1434, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003566, 0.003262, 0.004262, 0.008681, 0.0173, 0.03044, 0.04845, \
                 0.07161, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0293, 0.02875, 0.03058, 0.03641, 0.0469, 0.06242, 0.08343, 0.1103, \
                 0.1434, 0.183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003549, 0.003262, 0.004256, 0.008681, 0.0173, 0.03044, 0.04845, \
                 0.07161, 0.1002, 0.1345");
        }
      }
    }

    pin(I1) {
      capacitance : 0.002894 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02473, 0.02676, 0.03282, 0.04346, 0.0592, 0.08035, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003074, 0.002763, 0.003875, 0.008532, 0.01734, 0.03068, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02474, 0.02676, 0.03282, 0.04346, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003072, 0.002761, 0.003875, 0.008532, 0.01734, 0.03069, 0.04887, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08055, 0.08029, 0.0814, 0.08565, 0.09411, 0.1076, 0.1268, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.01529, 0.01617, 0.0196, 0.02651, 0.03763, 0.05363, \
                 0.07486, 0.1017, 0.1345");
        }
      }

      internal_power() {
        when : "!I0&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02473, 0.02676, 0.03282, 0.04346, 0.0592, 0.08034, \
                 0.1073, 0.1405, 0.1803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003073, 0.002764, 0.003875, 0.008533, 0.01734, 0.03069, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02474, 0.02676, 0.03282, 0.04346, 0.0592, 0.08034, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003072, 0.002769, 0.003874, 0.008532, 0.01734, 0.03069, 0.04887, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08055, 0.08029, 0.0814, 0.08563, 0.09411, 0.1076, 0.1267, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01548, 0.0153, 0.01618, 0.01961, 0.0265, 0.03763, 0.05363, 0.07486, \
                 0.1017, 0.1345");
        }
      }

      internal_power() {
        when : "!I0&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02473, 0.02676, 0.03282, 0.04346, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003075, 0.002764, 0.003878, 0.008533, 0.01734, 0.03069, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02474, 0.02676, 0.03282, 0.04346, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003076, 0.002769, 0.003875, 0.008533, 0.01734, 0.0307, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08057, 0.08028, 0.0814, 0.08564, 0.09411, 0.1076, 0.1268, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.01529, 0.01618, 0.0196, 0.0265, 0.03763, 0.05363, 0.07486, \
                 0.1017, 0.1345");
        }
      }

      internal_power() {
        when : "!I0&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02473, 0.02676, 0.03282, 0.04346, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003081, 0.002764, 0.003876, 0.008533, 0.01734, 0.0307, 0.04885, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02474, 0.02676, 0.03282, 0.04346, 0.0592, 0.08032, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003074, 0.002769, 0.003875, 0.008533, 0.01734, 0.03068, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08057, 0.08029, 0.0814, 0.08563, 0.0941, 0.1076, 0.1267, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.0153, 0.01617, 0.01962, 0.0265, 0.03763, 0.05363, 0.07487, \
                 0.1017, 0.1345");
        }
      }

      internal_power() {
        when : "I0&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02473, 0.02676, 0.03282, 0.04345, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003074, 0.002763, 0.003877, 0.008533, 0.01734, 0.0307, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "I0&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02473, 0.02676, 0.03282, 0.04345, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003071, 0.002768, 0.003875, 0.008533, 0.01734, 0.0307, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "I0&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08055, 0.08028, 0.0814, 0.08564, 0.09411, 0.1076, 0.1268, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01546, 0.01529, 0.01617, 0.0196, 0.02651, 0.03763, 0.05363, \
                 0.07486, 0.1017, 0.1345");
        }
      }

      internal_power() {
        when : "I0&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02474, 0.02676, 0.03282, 0.04347, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003063, 0.002764, 0.003877, 0.008533, 0.01734, 0.0307, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "I0&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02474, 0.02676, 0.03282, 0.04345, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003072, 0.002763, 0.003875, 0.008533, 0.01734, 0.03069, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "I0&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08055, 0.0803, 0.0814, 0.08563, 0.09411, 0.1076, 0.1267, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01548, 0.0153, 0.01618, 0.0196, 0.0265, 0.03763, 0.05363, 0.07486, \
                 0.1017, 0.1345");
        }
      }

      internal_power() {
        when : "I0&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02473, 0.02675, 0.03282, 0.04345, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003082, 0.002764, 0.003877, 0.008534, 0.01734, 0.0307, 0.04885, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "I0&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02473, 0.02676, 0.03282, 0.04345, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003076, 0.002769, 0.003876, 0.008534, 0.01734, 0.0307, 0.04885, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "I0&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08057, 0.0803, 0.0814, 0.08564, 0.09411, 0.1076, 0.1268, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01546, 0.01529, 0.01618, 0.0196, 0.0265, 0.03763, 0.05363, 0.07486, \
                 0.1017, 0.1345");
        }
      }

      internal_power() {
        when : "I0&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02474, 0.02675, 0.03282, 0.04345, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1803");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003078, 0.002764, 0.003877, 0.008534, 0.01734, 0.0307, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "I0&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02525, 0.02474, 0.02676, 0.03282, 0.04345, 0.0592, 0.08033, \
                 0.1073, 0.1405, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003073, 0.002771, 0.003876, 0.008534, 0.01734, 0.0307, 0.04886, \
                 0.07213, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "I0&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08057, 0.08029, 0.0814, 0.08563, 0.0941, 0.1076, 0.1267, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.01529, 0.01618, 0.01962, 0.0265, 0.03763, 0.05363, \
                 0.07486, 0.1017, 0.1345");
        }
      }
    }

    pin(I2) {
      capacitance : 0.003102 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.089, 0.08879, 0.09013, 0.09483, 0.1044, 0.1198, 0.1417, 0.1706, \
                 0.2068, 0.2509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03063, 0.03148, 0.03528, 0.04309, 0.05598, 0.07467, \
                 0.09959, 0.1312, 0.1698");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03071, 0.03017, 0.03229, 0.03912, 0.05131, 0.06936, 0.09365, \
                 0.1247, 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006412, 0.005893, 0.006967, 0.0122, 0.02242, 0.038, 0.05933, \
                 0.08664, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03071, 0.03017, 0.0323, 0.03912, 0.05131, 0.06936, 0.09365, \
                 0.1247, 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006405, 0.005893, 0.006966, 0.0122, 0.02242, 0.038, 0.05933, \
                 0.08664, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08904, 0.0888, 0.09013, 0.09483, 0.1044, 0.1198, 0.1417, 0.1706, \
                 0.2069, 0.2509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03064, 0.03148, 0.03528, 0.04309, 0.05598, 0.07467, \
                 0.0996, 0.1312, 0.1698");
        }
      }

      internal_power() {
        when : "!I0&!I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0307, 0.03017, 0.03231, 0.03912, 0.05131, 0.06936, 0.0937, 0.1247, \
                 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00637, 0.005894, 0.006967, 0.0122, 0.02242, 0.03799, 0.05934, \
                 0.08667, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03069, 0.03017, 0.03231, 0.03912, 0.05131, 0.06936, 0.09368, \
                 0.1247, 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006391, 0.005894, 0.006969, 0.0122, 0.02242, 0.03799, 0.05933, \
                 0.08666, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.089, 0.08879, 0.09013, 0.09483, 0.1044, 0.1198, 0.1417, 0.1706, \
                 0.2068, 0.2509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03096, 0.03063, 0.0315, 0.03528, 0.04309, 0.05598, 0.07467, \
                 0.0996, 0.1312, 0.1698");
        }
      }

      internal_power() {
        when : "!I0&I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03067, 0.03017, 0.03229, 0.0391, 0.05132, 0.06936, 0.09367, \
                 0.1247, 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006398, 0.005894, 0.00697, 0.0122, 0.02242, 0.03799, 0.05933, \
                 0.08664, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0307, 0.03017, 0.03228, 0.0391, 0.05132, 0.06936, 0.09367, 0.1247, \
                 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006412, 0.005894, 0.006967, 0.0122, 0.02242, 0.038, 0.05933, \
                 0.08664, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08903, 0.0888, 0.09013, 0.09483, 0.1044, 0.1198, 0.1417, 0.1706, \
                 0.2068, 0.2509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03064, 0.0315, 0.03528, 0.04309, 0.05599, 0.07467, \
                 0.0996, 0.1312, 0.1698");
        }
      }

      internal_power() {
        when : "!I0&I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03069, 0.03017, 0.03231, 0.03912, 0.05129, 0.06936, 0.09368, \
                 0.1247, 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006406, 0.005895, 0.00697, 0.0122, 0.02242, 0.03799, 0.05933, \
                 0.08665, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0307, 0.03017, 0.03231, 0.03912, 0.0513, 0.06936, 0.09368, 0.1247, \
                 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006412, 0.005895, 0.006969, 0.0122, 0.02242, 0.03799, 0.05933, \
                 0.08665, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.089, 0.08879, 0.09013, 0.09483, 0.1044, 0.1198, 0.1417, 0.1706, \
                 0.2068, 0.2509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03096, 0.03064, 0.0315, 0.03527, 0.0431, 0.05599, 0.07468, 0.0996, \
                 0.1312, 0.1698");
        }
      }

      internal_power() {
        when : "I0&!I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03071, 0.03017, 0.03229, 0.03912, 0.05131, 0.06936, 0.09366, \
                 0.1247, 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006409, 0.005893, 0.006967, 0.0122, 0.02242, 0.038, 0.05933, \
                 0.08664, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0307, 0.03017, 0.0323, 0.03912, 0.05131, 0.06936, 0.09366, 0.1247, \
                 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006395, 0.005893, 0.006966, 0.0122, 0.02242, 0.038, 0.05933, \
                 0.08664, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.089, 0.08879, 0.09012, 0.09483, 0.1043, 0.1198, 0.1417, 0.1706, \
                 0.2069, 0.2509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03063, 0.03149, 0.03526, 0.0431, 0.05599, 0.07468, \
                 0.0996, 0.1312, 0.1698");
        }
      }

      internal_power() {
        when : "I0&!I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0307, 0.03017, 0.03231, 0.03912, 0.0513, 0.06936, 0.09366, 0.1247, \
                 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006397, 0.005894, 0.006967, 0.0122, 0.02242, 0.03799, 0.05933, \
                 0.08668, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0307, 0.03017, 0.03231, 0.03911, 0.0513, 0.06936, 0.09368, 0.1247, \
                 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006404, 0.005894, 0.006969, 0.0122, 0.02242, 0.03799, 0.05933, \
                 0.08667, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08899, 0.08879, 0.09013, 0.09483, 0.1044, 0.1198, 0.1417, 0.1706, \
                 0.2069, 0.2509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03064, 0.03149, 0.03527, 0.0431, 0.05599, 0.07468, \
                 0.0996, 0.1312, 0.1698");
        }
      }

      internal_power() {
        when : "I0&I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03066, 0.03017, 0.03229, 0.03912, 0.05132, 0.06936, 0.09366, \
                 0.1247, 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006398, 0.005894, 0.00697, 0.0122, 0.02242, 0.038, 0.05933, \
                 0.08664, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0307, 0.03017, 0.03229, 0.03912, 0.05131, 0.06936, 0.09366, \
                 0.1247, 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006409, 0.005894, 0.006967, 0.0122, 0.02242, 0.038, 0.05933, \
                 0.08664, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.089, 0.08879, 0.09012, 0.09483, 0.1044, 0.1198, 0.1417, 0.1706, \
                 0.2069, 0.2509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03094, 0.03064, 0.03149, 0.03528, 0.0431, 0.056, 0.07468, 0.0996, \
                 0.1312, 0.1698");
        }
      }

      internal_power() {
        when : "I0&I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0307, 0.03017, 0.03231, 0.03911, 0.0513, 0.06936, 0.09368, 0.1247, \
                 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006375, 0.005895, 0.00697, 0.0122, 0.02242, 0.03799, 0.05933, \
                 0.08665, 0.1204, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0307, 0.03017, 0.03231, 0.03911, 0.0513, 0.06936, 0.09368, 0.1247, \
                 0.1629, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006336, 0.005895, 0.006969, 0.0122, 0.02242, 0.03799, 0.05933, \
                 0.08665, 0.1204, 0.1608");
        }
      }
    }

    pin(I3) {
      capacitance : 0.00336 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.0292, 0.03137, 0.03829, 0.05053, 0.06865, 0.09298, \
                 0.1241, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005795, 0.005308, 0.006434, 0.01172, 0.02203, 0.03774, 0.0591, \
                 0.08648, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02973, 0.0292, 0.03137, 0.0383, 0.05053, 0.06865, 0.09298, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005796, 0.005308, 0.006434, 0.01172, 0.02204, 0.03774, 0.0591, \
                 0.08648, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09589, 0.09567, 0.09697, 0.1017, 0.1113, 0.1268, 0.1487, 0.1777, \
                 0.214, 0.2581");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02256, 0.02224, 0.02313, 0.02694, 0.03484, 0.04779, 0.06653, \
                 0.09151, 0.1231, 0.1617");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02972, 0.0292, 0.0314, 0.03829, 0.05053, 0.06865, 0.09299, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005797, 0.005308, 0.006411, 0.01174, 0.02205, 0.03772, 0.05909, \
                 0.08649, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02969, 0.02921, 0.0314, 0.03829, 0.05053, 0.06865, 0.093, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005797, 0.005312, 0.006402, 0.01174, 0.02205, 0.03771, 0.0591, \
                 0.08649, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09588, 0.09567, 0.09698, 0.1017, 0.1113, 0.1268, 0.1487, 0.1776, \
                 0.214, 0.258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02225, 0.02311, 0.02695, 0.03484, 0.04778, 0.06653, \
                 0.09151, 0.1231, 0.1617");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02973, 0.0292, 0.03137, 0.03831, 0.05052, 0.06865, 0.09298, \
                 0.1241, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005796, 0.005308, 0.006434, 0.01172, 0.02205, 0.03774, 0.0591, \
                 0.08648, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02973, 0.0292, 0.03137, 0.03831, 0.05053, 0.06865, 0.09298, \
                 0.1241, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005796, 0.005308, 0.006434, 0.01172, 0.02205, 0.03774, 0.0591, \
                 0.08647, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09588, 0.09567, 0.09697, 0.1017, 0.1113, 0.1268, 0.1487, 0.1776, \
                 0.214, 0.258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02225, 0.02313, 0.02697, 0.03485, 0.04779, 0.06653, \
                 0.09151, 0.1231, 0.1617");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0297, 0.0292, 0.0314, 0.03829, 0.05053, 0.06865, 0.093, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005797, 0.005308, 0.006422, 0.01174, 0.02205, 0.03772, 0.0591, \
                 0.08649, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0297, 0.02921, 0.0314, 0.03829, 0.05053, 0.06865, 0.093, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005797, 0.005312, 0.006408, 0.01174, 0.02205, 0.03772, 0.0591, \
                 0.08649, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09588, 0.09567, 0.09697, 0.1017, 0.1113, 0.1267, 0.1487, 0.1776, \
                 0.2139, 0.258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02225, 0.02312, 0.02694, 0.03485, 0.04779, 0.06653, \
                 0.09153, 0.1231, 0.1617");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02975, 0.02921, 0.03138, 0.03829, 0.05054, 0.06866, 0.093, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005808, 0.005312, 0.006443, 0.01173, 0.02203, 0.03775, 0.05909, \
                 0.08651, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02973, 0.0292, 0.03138, 0.0383, 0.05052, 0.06866, 0.09299, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005796, 0.005309, 0.006429, 0.01172, 0.02203, 0.03776, 0.05909, \
                 0.08649, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09589, 0.09567, 0.09697, 0.1017, 0.1113, 0.1268, 0.1487, 0.1777, \
                 0.214, 0.258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02224, 0.02313, 0.02691, 0.03483, 0.04779, 0.06653, \
                 0.0915, 0.1231, 0.1617");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0297, 0.02921, 0.0314, 0.03829, 0.05052, 0.06865, 0.09299, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005797, 0.005312, 0.00642, 0.01174, 0.02205, 0.03775, 0.0591, \
                 0.08648, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02972, 0.02921, 0.0314, 0.03829, 0.05052, 0.06866, 0.09298, \
                 0.1241, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005797, 0.005312, 0.006422, 0.01174, 0.02205, 0.03774, 0.0591, \
                 0.08649, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09588, 0.09567, 0.09698, 0.1017, 0.1113, 0.1268, 0.1487, 0.1777, \
                 0.214, 0.2581");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02256, 0.02224, 0.02312, 0.02694, 0.03483, 0.04778, 0.06653, \
                 0.09151, 0.1231, 0.1617");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02973, 0.02921, 0.03138, 0.0383, 0.05054, 0.06866, 0.093, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005818, 0.005312, 0.006443, 0.01173, 0.02203, 0.03775, 0.05909, \
                 0.08651, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02972, 0.0292, 0.03138, 0.03828, 0.05052, 0.06866, 0.09299, \
                 0.1241, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005818, 0.005309, 0.006429, 0.01172, 0.02203, 0.03775, 0.05909, \
                 0.08649, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09588, 0.09567, 0.09697, 0.1017, 0.1113, 0.1267, 0.1487, 0.1776, \
                 0.214, 0.258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02254, 0.02225, 0.02313, 0.02693, 0.03485, 0.0478, 0.06653, \
                 0.09149, 0.1231, 0.1617");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0297, 0.02921, 0.0314, 0.03829, 0.05052, 0.06865, 0.093, 0.1241, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005798, 0.005312, 0.006439, 0.01174, 0.02205, 0.03776, 0.05909, \
                 0.08648, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02972, 0.02921, 0.0314, 0.03829, 0.05052, 0.06866, 0.09301, \
                 0.1241, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005798, 0.005312, 0.006418, 0.01174, 0.02205, 0.03774, 0.0591, \
                 0.08649, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09588, 0.09567, 0.09697, 0.1017, 0.1113, 0.1267, 0.1487, 0.1776, \
                 0.2139, 0.258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02256, 0.02225, 0.02312, 0.02693, 0.03484, 0.04779, 0.06653, \
                 0.09151, 0.1231, 0.1617");
        }
      }
    }

    pin(S0) {
      capacitance : 0.01052 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09429, 0.09379, 0.09419, 0.09819, 0.1066, 0.1201, 0.1391, 0.1641, \
                 0.1956, 0.2339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001114, 0.001001, 0.001519, 0.004451, 0.01112, 0.02224, 0.03854, \
                 0.06003, 0.08725, 0.1202");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09429, 0.0938, 0.0942, 0.09819, 0.1066, 0.1201, 0.139, 0.1641, \
                 0.1956, 0.2338");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001114, 0.0009962, 0.00153, 0.004445, 0.01109, 0.02231, 0.03853, \
                 0.06003, 0.08724, 0.1203");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1497, 0.149, 0.1498, 0.1571, 0.1728, 0.198, 0.2335, 0.2804, \
                 0.3391, 0.4101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01524, 0.01521, 0.01632, 0.02163, 0.03388, 0.05468, 0.085, 0.1253, \
                 0.1761, 0.2379");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1307, 0.1303, 0.1322, 0.1407, 0.1564, 0.1794, 0.2103, 0.25, \
                 0.3005, 0.3632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08082, 0.08105, 0.08452, 0.09274, 0.1056, 0.1241, 0.1491, 0.1812, \
                 0.2238, 0.2775");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09217, 0.09172, 0.09226, 0.09641, 0.1049, 0.1185, 0.1376, 0.1628, \
                 0.1943, 0.2326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001121, 0.0009829, 0.001499, 0.004396, 0.011, 0.02209, 0.03828, \
                 0.05976, 0.08685, 0.1199");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09217, 0.09172, 0.09225, 0.0964, 0.1048, 0.1185, 0.1376, 0.1627, \
                 0.1943, 0.2327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001121, 0.0009719, 0.001502, 0.004382, 0.01097, 0.02213, 0.03824, \
                 0.05977, 0.08686, 0.1199");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1405, 0.1397, 0.1404, 0.1474, 0.1622, 0.1859, 0.2192, 0.263, \
                 0.3178, 0.3843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01167, 0.01164, 0.01281, 0.01789, 0.02935, 0.0487, 0.07669, \
                 0.114, 0.161, 0.2182");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1384, 0.1377, 0.1385, 0.1456, 0.1605, 0.1843, 0.2178, 0.2616, \
                 0.3166, 0.3832");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01167, 0.01162, 0.01277, 0.0178, 0.02921, 0.0485, 0.07647, 0.1137, \
                 0.1607, 0.2178");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1221, 0.1217, 0.1233, 0.1308, 0.1449, 0.1657, 0.194, 0.2308, \
                 0.2782, 0.3373");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06984, 0.07012, 0.07364, 0.08183, 0.09457, 0.113, 0.1378, 0.1697, \
                 0.211, 0.2625");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1195, 0.1191, 0.1208, 0.1285, 0.1426, 0.1635, 0.1918, 0.2287, \
                 0.2764, 0.3356");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06988, 0.07013, 0.07365, 0.08178, 0.09437, 0.1128, 0.1374, 0.1691, \
                 0.2103, 0.2618");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09331, 0.09284, 0.09336, 0.09746, 0.1059, 0.1195, 0.1385, 0.1637, \
                 0.1952, 0.2335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001134, 0.001005, 0.001496, 0.004365, 0.01098, 0.02208, 0.03824, \
                 0.05974, 0.08684, 0.1198");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09329, 0.09283, 0.09337, 0.09749, 0.1059, 0.1195, 0.1385, 0.1637, \
                 0.1952, 0.2335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001132, 0.0009968, 0.001505, 0.004382, 0.01098, 0.02207, 0.03825, \
                 0.05974, 0.08684, 0.1198");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1487, 0.1481, 0.149, 0.1564, 0.1721, 0.1974, 0.233, 0.2798, \
                 0.3386, 0.4098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01524, 0.01522, 0.01629, 0.02155, 0.03375, 0.05449, 0.08471, \
                 0.125, 0.1757, 0.2375");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1293, 0.1289, 0.1308, 0.1395, 0.1552, 0.1782, 0.2093, 0.249, \
                 0.2996, 0.3623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08099, 0.0812, 0.08466, 0.09285, 0.1056, 0.124, 0.1489, 0.1809, \
                 0.2234, 0.2771");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09125, 0.09084, 0.09145, 0.09572, 0.1042, 0.1179, 0.1371, 0.1623, \
                 0.194, 0.2324");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001146, 0.0009806, 0.001473, 0.004323, 0.01087, 0.0219, 0.038, \
                 0.05944, 0.08651, 0.1195");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09125, 0.09084, 0.09145, 0.09573, 0.1042, 0.1179, 0.1371, 0.1623, \
                 0.194, 0.2324");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00116, 0.0009814, 0.001474, 0.004323, 0.01086, 0.02192, 0.038, \
                 0.05943, 0.08651, 0.1194");
        }
      }
    }

    pin(S1) {
      capacitance : 0.005658 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04893, 0.04837, 0.04959, 0.05472, 0.06448, 0.0794, 0.09981, \
                 0.1261, 0.1587, 0.198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001092, 0.0008174, 0.0016, 0.005474, 0.01349, 0.02606, 0.04358, \
                 0.06633, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04893, 0.04833, 0.04959, 0.0547, 0.06445, 0.07941, 0.09981, \
                 0.1261, 0.1587, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001078, 0.0008173, 0.001583, 0.005475, 0.01348, 0.02606, 0.04357, \
                 0.06632, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04893, 0.04837, 0.04959, 0.05472, 0.06448, 0.0794, 0.09981, \
                 0.1261, 0.1587, 0.198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001093, 0.0008172, 0.001587, 0.005474, 0.01349, 0.02606, 0.04358, \
                 0.06633, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04893, 0.04833, 0.04959, 0.0547, 0.06445, 0.07941, 0.09981, \
                 0.1261, 0.1587, 0.198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001078, 0.0008171, 0.001592, 0.005474, 0.01349, 0.02606, 0.04359, \
                 0.0663, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04893, 0.04837, 0.04959, 0.05471, 0.06448, 0.0794, 0.09981, \
                 0.1261, 0.1587, 0.198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00109, 0.0008177, 0.001594, 0.005475, 0.01349, 0.02606, 0.04358, \
                 0.06632, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04893, 0.04837, 0.04959, 0.05473, 0.06448, 0.0794, 0.09981, \
                 0.1261, 0.1587, 0.198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001086, 0.0008176, 0.001595, 0.005475, 0.01349, 0.02606, 0.04358, \
                 0.06632, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04804, 0.04745, 0.04887, 0.05408, 0.06394, 0.07891, 0.09943, \
                 0.1258, 0.1585, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001072, 0.0008168, 0.001563, 0.005388, 0.01332, 0.02582, 0.04324, \
                 0.06592, 0.09406, 0.128");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04804, 0.04745, 0.04888, 0.05408, 0.06394, 0.07891, 0.09943, \
                 0.1258, 0.1585, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001072, 0.0008245, 0.001563, 0.005386, 0.01332, 0.02582, 0.04324, \
                 0.06592, 0.09406, 0.128");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04893, 0.04833, 0.04959, 0.0547, 0.06445, 0.07941, 0.09981, \
                 0.1261, 0.1587, 0.198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001078, 0.0008172, 0.001599, 0.005475, 0.01349, 0.02606, 0.04359, \
                 0.06632, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04804, 0.04746, 0.04889, 0.05407, 0.06393, 0.07893, 0.09946, \
                 0.1258, 0.1585, 0.1978");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001069, 0.0008258, 0.001563, 0.005387, 0.01331, 0.02582, 0.04324, \
                 0.06591, 0.09407, 0.128");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04893, 0.04833, 0.04959, 0.0547, 0.06445, 0.07941, 0.09981, \
                 0.1261, 0.1587, 0.198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001079, 0.000817, 0.001584, 0.005474, 0.01349, 0.02606, 0.04359, \
                 0.06632, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04804, 0.04746, 0.04889, 0.05407, 0.06392, 0.07894, 0.09946, \
                 0.1258, 0.1585, 0.1978");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001069, 0.0008237, 0.001563, 0.005387, 0.01331, 0.02582, 0.04324, \
                 0.06591, 0.09407, 0.128");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04804, 0.04745, 0.04887, 0.05408, 0.06394, 0.07891, 0.09943, \
                 0.1258, 0.1585, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001072, 0.0008168, 0.001563, 0.005387, 0.01332, 0.02582, 0.04324, \
                 0.06592, 0.09406, 0.128");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04804, 0.04745, 0.04887, 0.05407, 0.06395, 0.07894, 0.09946, \
                 0.1258, 0.1585, 0.1978");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001069, 0.000816, 0.001563, 0.005387, 0.01332, 0.02582, 0.04324, \
                 0.06591, 0.09407, 0.128");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04804, 0.04745, 0.04888, 0.05407, 0.06395, 0.07894, 0.09946, \
                 0.1258, 0.1585, 0.1978");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001069, 0.0008238, 0.001563, 0.005387, 0.01332, 0.02582, 0.04324, \
                 0.06591, 0.09407, 0.128");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04804, 0.04745, 0.04888, 0.05408, 0.06392, 0.07891, 0.09943, \
                 0.1258, 0.1585, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001072, 0.0008242, 0.001563, 0.005386, 0.01332, 0.02582, 0.04324, \
                 0.06592, 0.09406, 0.128");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "((I0&(!S0)&(!S1))|(I1&S0&(!S1))|(I2&(!S0)&S1)|(I3&S0&S1))" ;
      max_capacitance : 0.454 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1989, 0.1939, 0.1832, 0.1746, 0.169, 0.1652, 0.1625, 0.1606, 0.1592, 0.1582",\
                 "0.1987, 0.1937, 0.183, 0.1744, 0.1687, 0.1649, 0.1622, 0.1603, 0.159, 0.158",\
                 "0.1997, 0.1948, 0.1841, 0.1754, 0.1698, 0.166, 0.1633, 0.1614, 0.16, 0.159",\
                 "0.204, 0.199, 0.1882, 0.1794, 0.1736, 0.1697, 0.167, 0.1651, 0.1637, 0.1627",\
                 "0.2149, 0.2098, 0.1982, 0.1887, 0.1823, 0.178, 0.175, 0.1729, 0.1714, 0.1703",\
                 "0.2333, 0.2278, 0.2153, 0.2044, 0.197, 0.1919, 0.1884, 0.1859, 0.1841, 0.1828",\
                 "0.2587, 0.2529, 0.2394, 0.227, 0.2181, 0.2121, 0.2079, 0.2049, 0.2027, 0.2011",\
                 "0.2919, 0.2857, 0.271, 0.257, 0.2466, 0.2393, 0.2342, 0.2304, 0.2278, 0.2258",\
                 "0.3334, 0.327, 0.3111, 0.295, 0.283, 0.2742, 0.2679, 0.2632, 0.2599, 0.2574",\
                 "0.3832, 0.3764, 0.3595, 0.3413, 0.3273, 0.317, 0.3093, 0.3036, 0.2995, 0.2964");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09835, 0.09496, 0.09013, 0.08718, 0.08582, 0.0856, 0.08572, 0.08618, 0.08689, 0.09185",\
                 "0.09814, 0.0947, 0.08996, 0.08695, 0.08566, 0.08537, 0.08552, 0.08598, 0.08722, 0.09248",\
                 "0.09908, 0.09568, 0.09076, 0.08784, 0.08648, 0.08629, 0.08632, 0.08687, 0.08755, 0.09278",\
                 "0.1029, 0.0995, 0.09455, 0.09137, 0.08988, 0.08943, 0.08948, 0.09004, 0.09141, 0.09758",\
                 "0.112, 0.1083, 0.1029, 0.09923, 0.09734, 0.09669, 0.09694, 0.09707, 0.09768, 0.104",\
                 "0.1262, 0.1221, 0.1155, 0.1113, 0.1088, 0.1077, 0.1076, 0.1077, 0.1085, 0.1159",\
                 "0.1466, 0.142, 0.1343, 0.1284, 0.1256, 0.1243, 0.1232, 0.1225, 0.1238, 0.1329",\
                 "0.1735, 0.1685, 0.1597, 0.1528, 0.1478, 0.1455, 0.145, 0.144, 0.1436, 0.1571",\
                 "0.2074, 0.2017, 0.1915, 0.1835, 0.1767, 0.1726, 0.1714, 0.1717, 0.172, 0.1891",\
                 "0.2484, 0.2423, 0.2307, 0.2207, 0.2132, 0.2079, 0.2042, 0.2037, 0.2067, 0.2338");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1989, 0.1939, 0.1832, 0.1746, 0.169, 0.1652, 0.1625, 0.1606, 0.1592, 0.1582",\
                 "0.1987, 0.1937, 0.183, 0.1744, 0.1687, 0.1649, 0.1622, 0.1603, 0.159, 0.158",\
                 "0.1998, 0.1948, 0.1841, 0.1754, 0.1698, 0.166, 0.1633, 0.1614, 0.16, 0.159",\
                 "0.204, 0.199, 0.1882, 0.1794, 0.1736, 0.1697, 0.167, 0.1651, 0.1637, 0.1627",\
                 "0.2149, 0.2098, 0.1982, 0.1887, 0.1823, 0.178, 0.175, 0.1729, 0.1714, 0.1703",\
                 "0.2333, 0.2278, 0.2153, 0.2045, 0.197, 0.1919, 0.1884, 0.1859, 0.1841, 0.1828",\
                 "0.2587, 0.2529, 0.2394, 0.227, 0.2181, 0.2122, 0.2079, 0.2049, 0.2027, 0.2011",\
                 "0.2919, 0.2858, 0.2711, 0.257, 0.2466, 0.2393, 0.2342, 0.2304, 0.2278, 0.2258",\
                 "0.3334, 0.327, 0.3111, 0.295, 0.283, 0.2742, 0.2679, 0.2632, 0.2599, 0.2574",\
                 "0.3832, 0.3764, 0.3594, 0.3413, 0.3272, 0.317, 0.3092, 0.3036, 0.2995, 0.2964");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09838, 0.09497, 0.09019, 0.08715, 0.08582, 0.0856, 0.08572, 0.08618, 0.08689, 0.09185",\
                 "0.09814, 0.0947, 0.08996, 0.08695, 0.08566, 0.08537, 0.08552, 0.08598, 0.08722, 0.09248",\
                 "0.09908, 0.0957, 0.09077, 0.08768, 0.08662, 0.08623, 0.08635, 0.0874, 0.08788, 0.09344",\
                 "0.1029, 0.0995, 0.09455, 0.09137, 0.08988, 0.08943, 0.08948, 0.09004, 0.09141, 0.09758",\
                 "0.112, 0.1083, 0.1029, 0.09923, 0.09734, 0.09669, 0.09694, 0.09707, 0.09768, 0.104",\
                 "0.1262, 0.1221, 0.1155, 0.1113, 0.1088, 0.1077, 0.1072, 0.1073, 0.1085, 0.1156",\
                 "0.1466, 0.142, 0.1343, 0.1285, 0.1256, 0.1241, 0.123, 0.1226, 0.1234, 0.1342",\
                 "0.1735, 0.1685, 0.1597, 0.1526, 0.1477, 0.1459, 0.1449, 0.1442, 0.1439, 0.1571",\
                 "0.2075, 0.2017, 0.1915, 0.1833, 0.1767, 0.1726, 0.1714, 0.1717, 0.172, 0.1884",\
                 "0.2484, 0.2423, 0.2307, 0.2207, 0.2129, 0.2082, 0.2042, 0.2036, 0.2074, 0.2335");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1989, 0.1939, 0.1832, 0.1746, 0.169, 0.1652, 0.1625, 0.1606, 0.1592, 0.1582",\
                 "0.1987, 0.1937, 0.183, 0.1744, 0.1687, 0.1649, 0.1622, 0.1603, 0.159, 0.158",\
                 "0.1998, 0.1948, 0.1841, 0.1754, 0.1698, 0.166, 0.1633, 0.1614, 0.16, 0.159",\
                 "0.204, 0.199, 0.1882, 0.1794, 0.1736, 0.1697, 0.167, 0.1651, 0.1637, 0.1627",\
                 "0.2149, 0.2098, 0.1982, 0.1887, 0.1823, 0.178, 0.175, 0.1729, 0.1714, 0.1703",\
                 "0.2333, 0.2278, 0.2153, 0.2045, 0.1971, 0.1919, 0.1884, 0.1859, 0.1841, 0.1828",\
                 "0.2587, 0.2529, 0.2394, 0.2268, 0.2182, 0.2121, 0.2079, 0.2049, 0.2027, 0.2011",\
                 "0.2919, 0.2858, 0.271, 0.257, 0.2467, 0.2394, 0.2341, 0.2304, 0.2277, 0.2258",\
                 "0.3334, 0.3269, 0.3111, 0.295, 0.283, 0.2741, 0.2679, 0.2632, 0.2599, 0.2574",\
                 "0.3833, 0.3764, 0.3595, 0.3413, 0.3274, 0.3168, 0.3092, 0.3037, 0.2995, 0.2964");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09836, 0.09496, 0.09019, 0.08715, 0.08582, 0.0856, 0.08572, 0.08618, 0.0869, 0.09185",\
                 "0.09808, 0.09469, 0.08988, 0.08695, 0.08566, 0.08534, 0.08552, 0.08598, 0.08723, 0.09248",\
                 "0.09907, 0.09562, 0.09076, 0.08778, 0.08652, 0.08626, 0.08671, 0.08694, 0.08756, 0.09311",\
                 "0.1029, 0.0995, 0.09455, 0.09137, 0.08988, 0.08939, 0.08948, 0.09004, 0.09141, 0.09758",\
                 "0.112, 0.1083, 0.1029, 0.09923, 0.09734, 0.09665, 0.09691, 0.09707, 0.09768, 0.104",\
                 "0.1262, 0.1221, 0.1155, 0.1113, 0.1088, 0.1077, 0.1076, 0.1077, 0.1085, 0.1159",\
                 "0.1466, 0.142, 0.1345, 0.1286, 0.1256, 0.1241, 0.1233, 0.1226, 0.1234, 0.1332",\
                 "0.1735, 0.1685, 0.1597, 0.1529, 0.1478, 0.1458, 0.1453, 0.144, 0.1443, 0.1571",\
                 "0.2075, 0.2017, 0.1915, 0.1831, 0.1767, 0.1726, 0.1716, 0.1713, 0.1717, 0.1888",\
                 "0.2483, 0.2423, 0.2308, 0.2208, 0.2132, 0.2073, 0.2039, 0.2037, 0.2071, 0.2335");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1989, 0.1939, 0.1832, 0.1746, 0.169, 0.1652, 0.1625, 0.1606, 0.1592, 0.1582",\
                 "0.1987, 0.1937, 0.183, 0.1744, 0.1687, 0.1649, 0.1622, 0.1603, 0.159, 0.158",\
                 "0.1998, 0.1948, 0.1841, 0.1754, 0.1698, 0.166, 0.1633, 0.1614, 0.16, 0.159",\
                 "0.204, 0.199, 0.1881, 0.1793, 0.1736, 0.1697, 0.1671, 0.1651, 0.1637, 0.1627",\
                 "0.2149, 0.2098, 0.1982, 0.1887, 0.1823, 0.178, 0.175, 0.1729, 0.1714, 0.1703",\
                 "0.2333, 0.2278, 0.2153, 0.2045, 0.1971, 0.1919, 0.1884, 0.1859, 0.1841, 0.1828",\
                 "0.2587, 0.2529, 0.2394, 0.227, 0.2182, 0.2121, 0.2079, 0.2049, 0.2027, 0.2011",\
                 "0.2919, 0.2857, 0.271, 0.257, 0.2467, 0.2394, 0.2342, 0.2304, 0.2278, 0.2258",\
                 "0.3334, 0.327, 0.3111, 0.295, 0.283, 0.2741, 0.2679, 0.2632, 0.2599, 0.2574",\
                 "0.3833, 0.3764, 0.3595, 0.3413, 0.3273, 0.3169, 0.3092, 0.3037, 0.2995, 0.2964");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09836, 0.09496, 0.09019, 0.08715, 0.08582, 0.0856, 0.08572, 0.08618, 0.0869, 0.09185",\
                 "0.09812, 0.09469, 0.08984, 0.08698, 0.08563, 0.08543, 0.08552, 0.08621, 0.0869, 0.09152",\
                 "0.09909, 0.09564, 0.091, 0.08788, 0.08648, 0.08629, 0.08638, 0.08707, 0.08789, 0.09278",\
                 "0.1029, 0.0995, 0.09455, 0.09137, 0.08988, 0.08939, 0.08948, 0.09004, 0.09141, 0.09758",\
                 "0.112, 0.1083, 0.1029, 0.09919, 0.09734, 0.09665, 0.09691, 0.09707, 0.09768, 0.104",\
                 "0.1262, 0.1221, 0.1155, 0.1113, 0.1088, 0.1077, 0.1076, 0.1077, 0.1085, 0.1159",\
                 "0.1466, 0.142, 0.1345, 0.1284, 0.1255, 0.1242, 0.1232, 0.1226, 0.1231, 0.1342",\
                 "0.1735, 0.1684, 0.1597, 0.1525, 0.1478, 0.1457, 0.1451, 0.1441, 0.1448, 0.1571",\
                 "0.2074, 0.2017, 0.1915, 0.183, 0.1767, 0.1726, 0.1716, 0.1713, 0.1723, 0.1888",\
                 "0.2483, 0.2423, 0.2308, 0.2207, 0.2132, 0.2076, 0.2039, 0.2037, 0.2067, 0.2335");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1989, 0.1939, 0.1832, 0.1746, 0.169, 0.1652, 0.1625, 0.1606, 0.1592, 0.1582",\
                 "0.1987, 0.1937, 0.183, 0.1744, 0.1687, 0.1649, 0.1622, 0.1603, 0.1589, 0.158",\
                 "0.1998, 0.1948, 0.1841, 0.1754, 0.1698, 0.166, 0.1633, 0.1614, 0.16, 0.159",\
                 "0.204, 0.199, 0.1881, 0.1794, 0.1736, 0.1698, 0.167, 0.1651, 0.1638, 0.1627",\
                 "0.2149, 0.2098, 0.1982, 0.1887, 0.1823, 0.178, 0.175, 0.1729, 0.1714, 0.1703",\
                 "0.2333, 0.2278, 0.2153, 0.2044, 0.197, 0.192, 0.1885, 0.1859, 0.1842, 0.1828",\
                 "0.2587, 0.2529, 0.2394, 0.227, 0.2181, 0.2121, 0.2079, 0.2049, 0.2027, 0.2011",\
                 "0.2919, 0.2857, 0.2711, 0.257, 0.2466, 0.2393, 0.2342, 0.2304, 0.2278, 0.2258",\
                 "0.3334, 0.327, 0.3111, 0.295, 0.283, 0.2742, 0.2679, 0.2632, 0.2599, 0.2574",\
                 "0.3832, 0.3764, 0.3595, 0.3413, 0.3273, 0.317, 0.3092, 0.3036, 0.2996, 0.2964");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09835, 0.09496, 0.0902, 0.08715, 0.08582, 0.0856, 0.08572, 0.08618, 0.08689, 0.09185",\
                 "0.09814, 0.0947, 0.08996, 0.08702, 0.08563, 0.0854, 0.08549, 0.08605, 0.08722, 0.09152",\
                 "0.09913, 0.09571, 0.09091, 0.08781, 0.08655, 0.08626, 0.08638, 0.08667, 0.08821, 0.09308",\
                 "0.1029, 0.0995, 0.09455, 0.09137, 0.08988, 0.08943, 0.08948, 0.09004, 0.09141, 0.09758",\
                 "0.112, 0.1084, 0.1029, 0.09916, 0.09727, 0.09672, 0.09658, 0.09713, 0.09768, 0.1043",\
                 "0.1262, 0.1221, 0.1155, 0.1113, 0.1088, 0.1077, 0.1072, 0.1073, 0.1085, 0.1156",\
                 "0.1466, 0.142, 0.1345, 0.1286, 0.1256, 0.1241, 0.1229, 0.1226, 0.1231, 0.1335",\
                 "0.1735, 0.1685, 0.1597, 0.1528, 0.1479, 0.1454, 0.145, 0.1442, 0.1441, 0.1571",\
                 "0.2074, 0.2017, 0.1917, 0.1833, 0.1767, 0.1726, 0.1714, 0.1713, 0.172, 0.1891",\
                 "0.2484, 0.2423, 0.2307, 0.2206, 0.213, 0.2082, 0.2042, 0.2036, 0.2071, 0.2335");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1989, 0.1939, 0.1832, 0.1746, 0.169, 0.1652, 0.1625, 0.1606, 0.1592, 0.1582",\
                 "0.1987, 0.1937, 0.183, 0.1744, 0.1687, 0.1649, 0.1622, 0.1603, 0.159, 0.158",\
                 "0.1998, 0.1948, 0.1841, 0.1754, 0.1698, 0.166, 0.1633, 0.1614, 0.16, 0.159",\
                 "0.204, 0.199, 0.1881, 0.1793, 0.1736, 0.1697, 0.1671, 0.1651, 0.1637, 0.1627",\
                 "0.215, 0.2098, 0.1983, 0.1887, 0.1823, 0.178, 0.175, 0.1729, 0.1714, 0.1703",\
                 "0.2333, 0.2278, 0.2153, 0.2044, 0.197, 0.192, 0.1885, 0.186, 0.1842, 0.1828",\
                 "0.2587, 0.2529, 0.2394, 0.227, 0.2181, 0.2122, 0.2079, 0.2049, 0.2027, 0.2011",\
                 "0.2919, 0.2857, 0.2711, 0.257, 0.2466, 0.2393, 0.2342, 0.2304, 0.2278, 0.2258",\
                 "0.3334, 0.327, 0.3111, 0.295, 0.283, 0.2742, 0.2679, 0.2632, 0.2599, 0.2574",\
                 "0.3832, 0.3764, 0.3594, 0.3413, 0.3273, 0.317, 0.3092, 0.3036, 0.2995, 0.2964");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09836, 0.09497, 0.09019, 0.08721, 0.08582, 0.0856, 0.08572, 0.08618, 0.08689, 0.09185",\
                 "0.09814, 0.0947, 0.09011, 0.08708, 0.08569, 0.08537, 0.08546, 0.08581, 0.08689, 0.09248",\
                 "0.09913, 0.09572, 0.09093, 0.08781, 0.08655, 0.08623, 0.08671, 0.087, 0.08788, 0.09374",\
                 "0.1029, 0.0995, 0.09455, 0.09137, 0.08988, 0.08943, 0.08948, 0.09004, 0.09141, 0.09758",\
                 "0.112, 0.1084, 0.1029, 0.09916, 0.09727, 0.09672, 0.09658, 0.09713, 0.09768, 0.1043",\
                 "0.1262, 0.1221, 0.1155, 0.1117, 0.1089, 0.1078, 0.1072, 0.1073, 0.1085, 0.1156",\
                 "0.1466, 0.142, 0.1346, 0.1286, 0.1256, 0.1241, 0.1229, 0.1226, 0.1231, 0.1335",\
                 "0.1735, 0.1685, 0.1597, 0.1528, 0.1479, 0.1454, 0.145, 0.1442, 0.1441, 0.1571",\
                 "0.2074, 0.2017, 0.1917, 0.1833, 0.1767, 0.1726, 0.1714, 0.1713, 0.172, 0.1888",\
                 "0.2484, 0.2423, 0.2307, 0.2206, 0.213, 0.2082, 0.2042, 0.2036, 0.2071, 0.2335");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1989, 0.1939, 0.1832, 0.1746, 0.169, 0.1652, 0.1625, 0.1606, 0.1592, 0.1582",\
                 "0.1987, 0.1937, 0.183, 0.1743, 0.1687, 0.1649, 0.1622, 0.1603, 0.159, 0.158",\
                 "0.1998, 0.1948, 0.1841, 0.1754, 0.1698, 0.166, 0.1633, 0.1614, 0.16, 0.159",\
                 "0.204, 0.199, 0.1881, 0.1794, 0.1736, 0.1697, 0.1671, 0.1651, 0.1637, 0.1627",\
                 "0.2149, 0.2098, 0.1982, 0.1887, 0.1823, 0.178, 0.175, 0.1729, 0.1714, 0.1703",\
                 "0.2333, 0.2278, 0.2154, 0.2044, 0.197, 0.1919, 0.1885, 0.186, 0.1842, 0.1828",\
                 "0.2587, 0.2529, 0.2394, 0.2269, 0.2182, 0.2121, 0.2079, 0.2049, 0.2027, 0.2011",\
                 "0.2919, 0.2858, 0.271, 0.257, 0.2467, 0.2393, 0.2342, 0.2304, 0.2277, 0.2258",\
                 "0.3334, 0.327, 0.3111, 0.295, 0.283, 0.2741, 0.2679, 0.2632, 0.2599, 0.2574",\
                 "0.3833, 0.3764, 0.3595, 0.3414, 0.3274, 0.3168, 0.3092, 0.3037, 0.2995, 0.2964");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09836, 0.09496, 0.09019, 0.08715, 0.08582, 0.0856, 0.08572, 0.08601, 0.08723, 0.09152",\
                 "0.09814, 0.09471, 0.08989, 0.08698, 0.08566, 0.08537, 0.08552, 0.08598, 0.08723, 0.09248",\
                 "0.09908, 0.0957, 0.09092, 0.08774, 0.08658, 0.08626, 0.08668, 0.0874, 0.08789, 0.09344",\
                 "0.1029, 0.0995, 0.09455, 0.09137, 0.08988, 0.08939, 0.08948, 0.09004, 0.09141, 0.09758",\
                 "0.112, 0.1084, 0.1029, 0.09926, 0.09728, 0.09675, 0.09658, 0.09713, 0.09768, 0.104",\
                 "0.1262, 0.1221, 0.1155, 0.1113, 0.1088, 0.1078, 0.1076, 0.1077, 0.1085, 0.1156",\
                 "0.1466, 0.142, 0.1345, 0.1285, 0.1253, 0.1241, 0.1232, 0.1226, 0.1234, 0.1342",\
                 "0.1735, 0.1684, 0.1598, 0.1525, 0.1476, 0.1458, 0.1454, 0.1445, 0.1436, 0.1568",\
                 "0.2074, 0.2017, 0.1916, 0.183, 0.1767, 0.1726, 0.1716, 0.1713, 0.1723, 0.1888",\
                 "0.2483, 0.2423, 0.2308, 0.2209, 0.2132, 0.2078, 0.2039, 0.2037, 0.2071, 0.2335");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1989, 0.1939, 0.1832, 0.1746, 0.169, 0.1652, 0.1625, 0.1606, 0.1592, 0.1582",\
                 "0.1987, 0.1937, 0.183, 0.1744, 0.1687, 0.1649, 0.1622, 0.1603, 0.159, 0.158",\
                 "0.1998, 0.1948, 0.1841, 0.1754, 0.1698, 0.166, 0.1633, 0.1614, 0.16, 0.159",\
                 "0.204, 0.199, 0.1881, 0.1794, 0.1736, 0.1698, 0.1671, 0.1651, 0.1637, 0.1627",\
                 "0.2149, 0.2097, 0.1982, 0.1887, 0.1823, 0.178, 0.175, 0.1729, 0.1714, 0.1703",\
                 "0.2333, 0.2278, 0.2154, 0.2044, 0.197, 0.1919, 0.1885, 0.186, 0.1842, 0.1828",\
                 "0.2587, 0.2529, 0.2394, 0.227, 0.2182, 0.2121, 0.2079, 0.2049, 0.2027, 0.2011",\
                 "0.2919, 0.2857, 0.2711, 0.257, 0.2467, 0.2394, 0.2342, 0.2304, 0.2278, 0.2258",\
                 "0.3334, 0.327, 0.3111, 0.295, 0.283, 0.2741, 0.2679, 0.2632, 0.2599, 0.2574",\
                 "0.3833, 0.3764, 0.3595, 0.3413, 0.3273, 0.3169, 0.3092, 0.3037, 0.2995, 0.2964");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09833, 0.09497, 0.09019, 0.08715, 0.08582, 0.08553, 0.08572, 0.08618, 0.0869, 0.09251",\
                 "0.09814, 0.09471, 0.08989, 0.08708, 0.08576, 0.0854, 0.08549, 0.08605, 0.08723, 0.09152",\
                 "0.09912, 0.0957, 0.09093, 0.08784, 0.08662, 0.08626, 0.08668, 0.0874, 0.08789, 0.09344",\
                 "0.1029, 0.0995, 0.09455, 0.09137, 0.08988, 0.0894, 0.08948, 0.09004, 0.09141, 0.09758",\
                 "0.112, 0.1084, 0.1029, 0.09916, 0.09728, 0.09675, 0.09658, 0.09713, 0.09768, 0.104",\
                 "0.1262, 0.1221, 0.1155, 0.1113, 0.1089, 0.1076, 0.1076, 0.1076, 0.1085, 0.1156",\
                 "0.1466, 0.142, 0.1345, 0.1285, 0.1253, 0.1241, 0.1232, 0.1226, 0.1234, 0.1339",\
                 "0.1735, 0.1685, 0.1598, 0.1527, 0.1478, 0.1457, 0.1451, 0.1441, 0.1443, 0.1571",\
                 "0.2074, 0.2017, 0.1916, 0.183, 0.1762, 0.1726, 0.1716, 0.1713, 0.1723, 0.1888",\
                 "0.2483, 0.2423, 0.2308, 0.2209, 0.2132, 0.2076, 0.2039, 0.2037, 0.2071, 0.2335");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2015, 0.1966, 0.1859, 0.1773, 0.1718, 0.168, 0.1654, 0.1635, 0.1621, 0.1611",\
                 "0.2013, 0.1964, 0.1857, 0.1772, 0.1716, 0.1678, 0.1652, 0.1633, 0.1619, 0.1609",\
                 "0.2025, 0.1975, 0.1868, 0.1783, 0.1727, 0.1689, 0.1663, 0.1644, 0.163, 0.1621",\
                 "0.2068, 0.2018, 0.191, 0.1822, 0.1766, 0.1727, 0.17, 0.1681, 0.1668, 0.1658",\
                 "0.2177, 0.2125, 0.2011, 0.1916, 0.1853, 0.181, 0.1781, 0.176, 0.1745, 0.1734",\
                 "0.236, 0.2305, 0.2182, 0.2073, 0.2, 0.195, 0.1916, 0.1891, 0.1873, 0.186",\
                 "0.2613, 0.2555, 0.2421, 0.2297, 0.2212, 0.2152, 0.211, 0.208, 0.2059, 0.2043",\
                 "0.2945, 0.2883, 0.2738, 0.2597, 0.2495, 0.2424, 0.2373, 0.2336, 0.231, 0.229",\
                 "0.336, 0.3296, 0.3138, 0.2978, 0.2859, 0.2772, 0.271, 0.2665, 0.2631, 0.2607",\
                 "0.3858, 0.379, 0.3622, 0.3441, 0.3302, 0.32, 0.3124, 0.3069, 0.3028, 0.2998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09075, 0.08735, 0.08261, 0.07959, 0.07837, 0.07824, 0.07866, 0.07889, 0.07964, 0.08492",\
                 "0.09045, 0.08707, 0.08242, 0.07943, 0.07817, 0.07795, 0.07843, 0.07836, 0.07964, 0.08522",\
                 "0.0915, 0.08817, 0.08337, 0.08035, 0.07909, 0.07887, 0.07932, 0.07958, 0.0803, 0.08585",\
                 "0.09544, 0.09209, 0.08717, 0.08395, 0.08249, 0.08217, 0.08229, 0.08278, 0.08415, 0.09002",\
                 "0.1048, 0.1011, 0.09569, 0.09197, 0.09015, 0.08943, 0.08962, 0.08964, 0.09075, 0.09772",\
                 "0.119, 0.1149, 0.1084, 0.1043, 0.1019, 0.1006, 0.1005, 0.1002, 0.1009, 0.109",\
                 "0.1394, 0.1349, 0.1274, 0.1215, 0.1184, 0.1173, 0.1159, 0.1158, 0.1165, 0.126",\
                 "0.1665, 0.1614, 0.1527, 0.1458, 0.1407, 0.1386, 0.1384, 0.1374, 0.1367, 0.1499",\
                 "0.2004, 0.1948, 0.1847, 0.1764, 0.17, 0.1661, 0.1642, 0.1648, 0.1654, 0.1819",\
                 "0.2413, 0.2353, 0.2238, 0.2137, 0.2059, 0.2009, 0.1977, 0.197, 0.1998, 0.2263");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2015, 0.1965, 0.1859, 0.1773, 0.1718, 0.168, 0.1654, 0.1635, 0.1621, 0.1611",\
                 "0.2013, 0.1964, 0.1857, 0.1772, 0.1716, 0.1678, 0.1652, 0.1633, 0.1619, 0.1609",\
                 "0.2025, 0.1975, 0.1868, 0.1783, 0.1727, 0.1689, 0.1663, 0.1644, 0.163, 0.1621",\
                 "0.2068, 0.2018, 0.191, 0.1823, 0.1765, 0.1727, 0.1701, 0.1682, 0.1668, 0.1658",\
                 "0.2177, 0.2126, 0.2011, 0.1917, 0.1853, 0.181, 0.1781, 0.176, 0.1745, 0.1734",\
                 "0.236, 0.2305, 0.2181, 0.2073, 0.2, 0.195, 0.1915, 0.1891, 0.1873, 0.186",\
                 "0.2613, 0.2555, 0.2421, 0.2297, 0.2212, 0.2151, 0.211, 0.208, 0.2059, 0.2044",\
                 "0.2945, 0.2883, 0.2738, 0.2597, 0.2495, 0.2424, 0.2373, 0.2336, 0.231, 0.229",\
                 "0.336, 0.3296, 0.3138, 0.2979, 0.2858, 0.2772, 0.271, 0.2665, 0.2632, 0.2607",\
                 "0.3858, 0.379, 0.3622, 0.344, 0.3302, 0.32, 0.3124, 0.3069, 0.3028, 0.2998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09075, 0.08735, 0.08264, 0.07966, 0.07837, 0.07811, 0.07863, 0.07856, 0.07964, 0.08526",\
                 "0.09057, 0.08717, 0.08245, 0.07943, 0.07817, 0.07798, 0.07847, 0.07872, 0.07964, 0.0846",\
                 "0.09151, 0.08819, 0.08339, 0.08035, 0.07916, 0.07884, 0.07893, 0.07928, 0.0803, 0.08585",\
                 "0.09546, 0.09216, 0.08719, 0.08395, 0.08253, 0.08214, 0.08259, 0.08272, 0.08382, 0.09002",\
                 "0.1047, 0.1011, 0.0957, 0.0919, 0.09012, 0.08943, 0.08965, 0.08981, 0.09075, 0.09674",\
                 "0.1191, 0.1149, 0.1085, 0.1042, 0.1019, 0.1004, 0.1002, 0.1002, 0.1012, 0.1096",\
                 "0.1394, 0.1349, 0.1275, 0.1215, 0.1186, 0.1172, 0.1163, 0.1156, 0.1168, 0.127",\
                 "0.1665, 0.1614, 0.1526, 0.1454, 0.1409, 0.1387, 0.1384, 0.1374, 0.1373, 0.1502",\
                 "0.2004, 0.1946, 0.1845, 0.1764, 0.1695, 0.1662, 0.1651, 0.1651, 0.1651, 0.1822",\
                 "0.2414, 0.2353, 0.2239, 0.2137, 0.2059, 0.2006, 0.1973, 0.1971, 0.2002, 0.2266");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2015, 0.1966, 0.1859, 0.1773, 0.1718, 0.168, 0.1654, 0.1635, 0.1621, 0.1611",\
                 "0.2013, 0.1964, 0.1857, 0.1772, 0.1716, 0.1678, 0.1652, 0.1633, 0.1619, 0.1609",\
                 "0.2025, 0.1975, 0.1868, 0.1783, 0.1727, 0.1689, 0.1663, 0.1644, 0.163, 0.162",\
                 "0.2068, 0.2018, 0.191, 0.1823, 0.1766, 0.1727, 0.17, 0.1681, 0.1668, 0.1658",\
                 "0.2178, 0.2125, 0.2011, 0.1917, 0.1853, 0.181, 0.1781, 0.176, 0.1745, 0.1734",\
                 "0.236, 0.2305, 0.2182, 0.2073, 0.2, 0.1951, 0.1916, 0.1891, 0.1873, 0.186",\
                 "0.2613, 0.2555, 0.2421, 0.2298, 0.2211, 0.2152, 0.2111, 0.208, 0.2059, 0.2043",\
                 "0.2945, 0.2883, 0.2738, 0.2597, 0.2495, 0.2424, 0.2372, 0.2336, 0.231, 0.229",\
                 "0.336, 0.3296, 0.3138, 0.2978, 0.2858, 0.2772, 0.271, 0.2665, 0.2632, 0.2607",\
                 "0.3858, 0.379, 0.3622, 0.3441, 0.3302, 0.32, 0.3124, 0.3069, 0.3028, 0.2998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.0907, 0.08735, 0.0825, 0.07959, 0.07837, 0.07808, 0.07863, 0.07889, 0.07964, 0.08525",\
                 "0.09057, 0.08715, 0.08246, 0.07943, 0.0782, 0.07804, 0.07843, 0.07856, 0.07964, 0.08459",\
                 "0.0915, 0.08808, 0.0833, 0.08032, 0.07909, 0.0788, 0.07893, 0.07928, 0.0803, 0.08648",\
                 "0.09542, 0.09208, 0.0871, 0.08395, 0.08252, 0.08214, 0.08219, 0.08275, 0.08415, 0.09002",\
                 "0.1048, 0.1011, 0.09569, 0.09197, 0.09008, 0.08943, 0.08929, 0.08964, 0.09108, 0.09772",\
                 "0.119, 0.1149, 0.1086, 0.1041, 0.1018, 0.1005, 0.1001, 0.1005, 0.1012, 0.109",\
                 "0.1394, 0.1349, 0.1274, 0.1215, 0.1183, 0.1171, 0.1159, 0.1159, 0.1165, 0.126",\
                 "0.1665, 0.1614, 0.1527, 0.1458, 0.141, 0.1388, 0.1382, 0.1374, 0.138, 0.1502",\
                 "0.2004, 0.1948, 0.1847, 0.1763, 0.1702, 0.1663, 0.1644, 0.1643, 0.1648, 0.1822",\
                 "0.2413, 0.2352, 0.2238, 0.2137, 0.2059, 0.2006, 0.1972, 0.1963, 0.2001, 0.2266");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2015, 0.1965, 0.1859, 0.1773, 0.1718, 0.168, 0.1654, 0.1635, 0.1621, 0.1611",\
                 "0.2013, 0.1964, 0.1857, 0.1772, 0.1716, 0.1678, 0.1652, 0.1633, 0.1619, 0.1609",\
                 "0.2025, 0.1975, 0.1869, 0.1783, 0.1727, 0.1689, 0.1663, 0.1644, 0.163, 0.162",\
                 "0.2068, 0.2018, 0.191, 0.1823, 0.1766, 0.1727, 0.1701, 0.1682, 0.1667, 0.1658",\
                 "0.2177, 0.2126, 0.201, 0.1917, 0.1854, 0.181, 0.1781, 0.176, 0.1745, 0.1734",\
                 "0.236, 0.2305, 0.2181, 0.2073, 0.2, 0.195, 0.1915, 0.1891, 0.1873, 0.186",\
                 "0.2613, 0.2555, 0.2421, 0.2297, 0.2212, 0.2151, 0.211, 0.2081, 0.2059, 0.2043",\
                 "0.2945, 0.2883, 0.2738, 0.2597, 0.2496, 0.2424, 0.2373, 0.2336, 0.231, 0.2291",\
                 "0.336, 0.3296, 0.3138, 0.2979, 0.2858, 0.2772, 0.271, 0.2664, 0.2632, 0.2607",\
                 "0.3858, 0.379, 0.3621, 0.344, 0.3302, 0.3199, 0.3124, 0.3069, 0.3028, 0.2998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09074, 0.08735, 0.0826, 0.07963, 0.07837, 0.07824, 0.07866, 0.07889, 0.07964, 0.08492",\
                 "0.09055, 0.08715, 0.08241, 0.07949, 0.07817, 0.07798, 0.0781, 0.07852, 0.07964, 0.08393",\
                 "0.0915, 0.08819, 0.08339, 0.08035, 0.07916, 0.07884, 0.07893, 0.07928, 0.0803, 0.08585",\
                 "0.09544, 0.09216, 0.08706, 0.08405, 0.08249, 0.0822, 0.08256, 0.08304, 0.08415, 0.08969",\
                 "0.1047, 0.1011, 0.0957, 0.0919, 0.09012, 0.08943, 0.08965, 0.08978, 0.09075, 0.09673",\
                 "0.1191, 0.1149, 0.1084, 0.1041, 0.1019, 0.1004, 0.1001, 0.1002, 0.1012, 0.109",\
                 "0.1394, 0.1348, 0.1274, 0.1215, 0.1186, 0.1172, 0.1161, 0.1157, 0.1165, 0.127",\
                 "0.1665, 0.1614, 0.1526, 0.1458, 0.1408, 0.1387, 0.1382, 0.1371, 0.1373, 0.1502",\
                 "0.2004, 0.1946, 0.1845, 0.1764, 0.1695, 0.1664, 0.1649, 0.1652, 0.1651, 0.1822",\
                 "0.2414, 0.2353, 0.2239, 0.2137, 0.206, 0.2006, 0.1973, 0.1972, 0.2001, 0.2266");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2015, 0.1966, 0.1859, 0.1773, 0.1718, 0.168, 0.1654, 0.1635, 0.1621, 0.1611",\
                 "0.2013, 0.1964, 0.1857, 0.1772, 0.1716, 0.1678, 0.1652, 0.1633, 0.1619, 0.1609",\
                 "0.2025, 0.1975, 0.1869, 0.1783, 0.1727, 0.169, 0.1663, 0.1644, 0.1631, 0.1621",\
                 "0.2068, 0.2018, 0.191, 0.1823, 0.1766, 0.1727, 0.1701, 0.1681, 0.1668, 0.1658",\
                 "0.2177, 0.2126, 0.2011, 0.1916, 0.1853, 0.181, 0.1781, 0.176, 0.1745, 0.1734",\
                 "0.236, 0.2306, 0.2181, 0.2073, 0.1999, 0.195, 0.1916, 0.1891, 0.1873, 0.1861",\
                 "0.2613, 0.2555, 0.2421, 0.2297, 0.2211, 0.2152, 0.211, 0.2081, 0.2059, 0.2043",\
                 "0.2945, 0.2883, 0.2738, 0.2597, 0.2495, 0.2424, 0.2373, 0.2336, 0.231, 0.229",\
                 "0.336, 0.3296, 0.3138, 0.2978, 0.2859, 0.2772, 0.271, 0.2665, 0.2631, 0.2607",\
                 "0.3858, 0.379, 0.3622, 0.3441, 0.3302, 0.3199, 0.3124, 0.3069, 0.3028, 0.2998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09074, 0.08735, 0.08264, 0.07963, 0.07847, 0.07808, 0.07823, 0.07872, 0.07997, 0.08558",\
                 "0.09054, 0.08715, 0.0824, 0.0794, 0.07827, 0.07798, 0.07843, 0.07833, 0.07931, 0.08522",\
                 "0.09155, 0.08816, 0.0834, 0.08035, 0.07913, 0.0788, 0.07932, 0.07965, 0.0803, 0.08615",\
                 "0.09544, 0.09216, 0.08705, 0.08398, 0.08249, 0.0822, 0.08226, 0.08272, 0.08382, 0.09002",\
                 "0.1048, 0.1011, 0.0957, 0.09194, 0.09015, 0.08943, 0.08965, 0.08981, 0.09075, 0.09773",\
                 "0.119, 0.1149, 0.1084, 0.1045, 0.1019, 0.1004, 0.1005, 0.1005, 0.1012, 0.1083",\
                 "0.1394, 0.1349, 0.1275, 0.1215, 0.1183, 0.1171, 0.1158, 0.1161, 0.1165, 0.126",\
                 "0.1665, 0.1614, 0.1527, 0.1458, 0.1407, 0.1388, 0.1382, 0.1373, 0.1382, 0.1502",\
                 "0.2004, 0.1948, 0.1847, 0.1763, 0.17, 0.1661, 0.1646, 0.1643, 0.1651, 0.1822",\
                 "0.2413, 0.2352, 0.2238, 0.2137, 0.2061, 0.2006, 0.1972, 0.1963, 0.1996, 0.2266");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2015, 0.1965, 0.1859, 0.1773, 0.1718, 0.168, 0.1654, 0.1635, 0.1621, 0.1611",\
                 "0.2013, 0.1964, 0.1857, 0.1772, 0.1716, 0.1678, 0.1652, 0.1633, 0.1619, 0.1609",\
                 "0.2025, 0.1975, 0.1869, 0.1783, 0.1727, 0.1689, 0.1663, 0.1644, 0.1631, 0.1621",\
                 "0.2068, 0.2018, 0.191, 0.1822, 0.1766, 0.1727, 0.17, 0.1681, 0.1668, 0.1658",\
                 "0.2177, 0.2125, 0.2011, 0.1917, 0.1853, 0.181, 0.1781, 0.176, 0.1745, 0.1734",\
                 "0.236, 0.2305, 0.2181, 0.2073, 0.2, 0.195, 0.1916, 0.1891, 0.1874, 0.186",\
                 "0.2612, 0.2555, 0.2421, 0.2297, 0.2211, 0.2151, 0.2111, 0.2081, 0.2059, 0.2043",\
                 "0.2945, 0.2883, 0.2738, 0.2597, 0.2496, 0.2423, 0.2372, 0.2336, 0.231, 0.229",\
                 "0.336, 0.3295, 0.3138, 0.2979, 0.2859, 0.2772, 0.271, 0.2665, 0.2632, 0.2607",\
                 "0.3858, 0.379, 0.3622, 0.344, 0.3302, 0.3199, 0.3124, 0.3069, 0.3028, 0.2998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09074, 0.08728, 0.08262, 0.07963, 0.07837, 0.07808, 0.07863, 0.07889, 0.07964, 0.08558",\
                 "0.09053, 0.08719, 0.08243, 0.07943, 0.07827, 0.07791, 0.07843, 0.07882, 0.07931, 0.08459",\
                 "0.0915, 0.08819, 0.08338, 0.08035, 0.07916, 0.07884, 0.07893, 0.07928, 0.0803, 0.08585",\
                 "0.09543, 0.09216, 0.08705, 0.08398, 0.08246, 0.08217, 0.08226, 0.08271, 0.08382, 0.09002",\
                 "0.1047, 0.1011, 0.0957, 0.092, 0.09015, 0.08943, 0.08965, 0.08981, 0.09075, 0.09673",\
                 "0.1191, 0.1149, 0.1084, 0.1041, 0.1019, 0.1005, 0.1004, 0.1001, 0.1018, 0.1093",\
                 "0.1394, 0.1349, 0.1275, 0.1215, 0.1186, 0.1172, 0.1162, 0.1156, 0.1168, 0.126",\
                 "0.1665, 0.1614, 0.1527, 0.1454, 0.141, 0.1386, 0.1384, 0.1374, 0.1373, 0.1499",\
                 "0.2004, 0.1946, 0.1845, 0.1764, 0.1694, 0.1663, 0.1646, 0.165, 0.1651, 0.1822",\
                 "0.2414, 0.2353, 0.2239, 0.2137, 0.206, 0.2004, 0.1973, 0.1972, 0.2001, 0.2266");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2015, 0.1966, 0.1859, 0.1773, 0.1718, 0.168, 0.1654, 0.1635, 0.1621, 0.1611",\
                 "0.2013, 0.1964, 0.1857, 0.1772, 0.1716, 0.1678, 0.1652, 0.1633, 0.1619, 0.1609",\
                 "0.2025, 0.1975, 0.1869, 0.1783, 0.1727, 0.1689, 0.1663, 0.1644, 0.163, 0.1621",\
                 "0.2068, 0.2018, 0.191, 0.1823, 0.1766, 0.1727, 0.1701, 0.1681, 0.1668, 0.1658",\
                 "0.2177, 0.2126, 0.2011, 0.1917, 0.1853, 0.181, 0.1781, 0.176, 0.1745, 0.1734",\
                 "0.236, 0.2306, 0.2182, 0.2074, 0.2, 0.195, 0.1916, 0.1891, 0.1873, 0.186",\
                 "0.2613, 0.2556, 0.2421, 0.2297, 0.2211, 0.2152, 0.211, 0.2081, 0.2059, 0.2043",\
                 "0.2945, 0.2883, 0.2738, 0.2597, 0.2495, 0.2424, 0.2372, 0.2336, 0.231, 0.229",\
                 "0.336, 0.3296, 0.3138, 0.2978, 0.2858, 0.2772, 0.271, 0.2665, 0.2632, 0.2607",\
                 "0.3858, 0.379, 0.3622, 0.3441, 0.3302, 0.3199, 0.3124, 0.3069, 0.3028, 0.2998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09073, 0.08735, 0.08261, 0.07959, 0.07837, 0.07827, 0.07866, 0.07889, 0.07964, 0.08525",\
                 "0.09044, 0.08708, 0.0823, 0.07949, 0.07823, 0.07791, 0.07794, 0.07836, 0.07931, 0.08459",\
                 "0.0915, 0.08808, 0.0833, 0.08039, 0.07919, 0.07884, 0.07893, 0.07928, 0.0803, 0.08648",\
                 "0.09543, 0.09209, 0.08711, 0.08395, 0.08249, 0.08217, 0.08229, 0.08278, 0.08415, 0.09002",\
                 "0.1048, 0.1011, 0.0957, 0.09197, 0.09015, 0.08943, 0.08965, 0.08964, 0.09075, 0.09772",\
                 "0.119, 0.1149, 0.1085, 0.1041, 0.1019, 0.1005, 0.1002, 0.1006, 0.1012, 0.1093",\
                 "0.1394, 0.1349, 0.1275, 0.1215, 0.1184, 0.1171, 0.1159, 0.1159, 0.1165, 0.127",\
                 "0.1665, 0.1614, 0.1527, 0.1457, 0.141, 0.1388, 0.1382, 0.1374, 0.138, 0.1502",\
                 "0.2004, 0.1948, 0.1847, 0.1763, 0.1706, 0.1663, 0.1643, 0.164, 0.1648, 0.1816",\
                 "0.2413, 0.2352, 0.2237, 0.2137, 0.2061, 0.2006, 0.1973, 0.1968, 0.1998, 0.2263");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2015, 0.1965, 0.1859, 0.1773, 0.1718, 0.168, 0.1654, 0.1635, 0.1621, 0.1611",\
                 "0.2013, 0.1964, 0.1857, 0.1772, 0.1716, 0.1678, 0.1652, 0.1633, 0.1619, 0.1609",\
                 "0.2025, 0.1975, 0.1869, 0.1783, 0.1727, 0.1689, 0.1663, 0.1644, 0.1631, 0.1621",\
                 "0.2068, 0.2018, 0.191, 0.1822, 0.1766, 0.1727, 0.17, 0.1681, 0.1667, 0.1658",\
                 "0.2177, 0.2126, 0.2011, 0.1917, 0.1853, 0.181, 0.1781, 0.176, 0.1745, 0.1734",\
                 "0.236, 0.2305, 0.2181, 0.2073, 0.2, 0.195, 0.1916, 0.1891, 0.1874, 0.186",\
                 "0.2613, 0.2555, 0.2421, 0.2298, 0.2211, 0.2151, 0.211, 0.2081, 0.2059, 0.2043",\
                 "0.2945, 0.2883, 0.2738, 0.2597, 0.2496, 0.2424, 0.2372, 0.2336, 0.231, 0.229",\
                 "0.336, 0.3295, 0.3138, 0.2979, 0.2858, 0.2772, 0.271, 0.2665, 0.2632, 0.2607",\
                 "0.3858, 0.379, 0.3622, 0.344, 0.3302, 0.3199, 0.3124, 0.3069, 0.3028, 0.2998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09074, 0.08734, 0.08262, 0.07959, 0.07837, 0.07808, 0.07863, 0.07872, 0.07964, 0.08558",\
                 "0.09054, 0.08716, 0.08243, 0.07946, 0.07817, 0.07798, 0.0781, 0.07849, 0.07964, 0.08393",\
                 "0.0915, 0.08819, 0.08338, 0.08035, 0.07916, 0.07884, 0.07893, 0.07928, 0.0803, 0.08585",\
                 "0.09542, 0.09207, 0.08708, 0.08395, 0.08259, 0.0822, 0.08223, 0.08295, 0.08448, 0.08903",\
                 "0.1048, 0.1011, 0.09569, 0.09194, 0.09015, 0.08943, 0.08962, 0.08964, 0.09075, 0.09772",\
                 "0.1191, 0.1149, 0.1084, 0.1041, 0.1019, 0.1004, 0.1001, 0.1001, 0.1012, 0.109",\
                 "0.1394, 0.1349, 0.1274, 0.1215, 0.1186, 0.1173, 0.1158, 0.1157, 0.1165, 0.127",\
                 "0.1665, 0.1614, 0.1528, 0.1457, 0.1409, 0.1387, 0.1382, 0.1373, 0.138, 0.1499",\
                 "0.2004, 0.1946, 0.1845, 0.1764, 0.1695, 0.1663, 0.1641, 0.1648, 0.1651, 0.1819",\
                 "0.2414, 0.2353, 0.2237, 0.2137, 0.206, 0.2006, 0.1973, 0.1972, 0.2001, 0.2266");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&!I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2101, 0.2054, 0.1959, 0.1888, 0.1841, 0.1811, 0.1789, 0.1774, 0.1764, 0.1756",\
                 "0.2099, 0.2053, 0.1957, 0.1886, 0.184, 0.1809, 0.1787, 0.1772, 0.1762, 0.1754",\
                 "0.2113, 0.2067, 0.1971, 0.1899, 0.1853, 0.1822, 0.1801, 0.1786, 0.1775, 0.1768",\
                 "0.2166, 0.2119, 0.2021, 0.1947, 0.1899, 0.1867, 0.1845, 0.183, 0.1819, 0.1811",\
                 "0.2293, 0.2243, 0.2138, 0.2055, 0.2, 0.1963, 0.1938, 0.192, 0.1908, 0.1899",\
                 "0.2496, 0.2444, 0.2327, 0.2232, 0.2165, 0.2121, 0.2091, 0.2069, 0.2054, 0.2044",\
                 "0.278, 0.2724, 0.2597, 0.2484, 0.2405, 0.2351, 0.2313, 0.2287, 0.2268, 0.2254",\
                 "0.3153, 0.3093, 0.2953, 0.2822, 0.2727, 0.266, 0.2613, 0.258, 0.2556, 0.2538",\
                 "0.3616, 0.3553, 0.34, 0.3249, 0.3136, 0.3054, 0.2996, 0.2954, 0.2923, 0.2901",\
                 "0.4172, 0.4105, 0.394, 0.3768, 0.3637, 0.3539, 0.3468, 0.3416, 0.3378, 0.335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1002, 0.09673, 0.09169, 0.08857, 0.08718, 0.08672, 0.08668, 0.08723, 0.08887, 0.0938",\
                 "0.09979, 0.09639, 0.09139, 0.08827, 0.08678, 0.08639, 0.08648, 0.08684, 0.08788, 0.09347",\
                 "0.1008, 0.09732, 0.09234, 0.08916, 0.08774, 0.08738, 0.08731, 0.0876, 0.08854, 0.09407",\
                 "0.105, 0.1014, 0.09634, 0.09296, 0.0915, 0.09104, 0.09094, 0.09146, 0.09273, 0.09857",\
                 "0.1151, 0.1114, 0.1059, 0.1019, 0.09991, 0.09923, 0.09889, 0.09921, 0.09999, 0.1066",\
                 "0.131, 0.1269, 0.1203, 0.1158, 0.1133, 0.1119, 0.1117, 0.1119, 0.1127, 0.1214",\
                 "0.1539, 0.1493, 0.1418, 0.1358, 0.1328, 0.131, 0.1302, 0.1297, 0.1306, 0.1404",\
                 "0.1843, 0.1794, 0.1707, 0.1633, 0.1585, 0.1564, 0.1558, 0.1548, 0.1544, 0.1676",\
                 "0.2227, 0.2172, 0.207, 0.1987, 0.192, 0.1882, 0.1868, 0.1872, 0.1873, 0.2053",\
                 "0.2695, 0.2634, 0.2521, 0.2418, 0.2341, 0.2286, 0.2254, 0.225, 0.2292, 0.2568");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&!I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2101, 0.2054, 0.1959, 0.1888, 0.1841, 0.1811, 0.1789, 0.1774, 0.1764, 0.1756",\
                 "0.2099, 0.2053, 0.1958, 0.1886, 0.184, 0.1809, 0.1787, 0.1773, 0.1762, 0.1754",\
                 "0.2113, 0.2067, 0.1971, 0.19, 0.1853, 0.1822, 0.1801, 0.1786, 0.1775, 0.1768",\
                 "0.2166, 0.2119, 0.2021, 0.1947, 0.1899, 0.1867, 0.1845, 0.1829, 0.1819, 0.1811",\
                 "0.2293, 0.2244, 0.2139, 0.2055, 0.2, 0.1963, 0.1938, 0.192, 0.1908, 0.1899",\
                 "0.2497, 0.2444, 0.2328, 0.2231, 0.2165, 0.2121, 0.2091, 0.207, 0.2055, 0.2044",\
                 "0.2781, 0.2725, 0.2597, 0.2484, 0.2405, 0.235, 0.2313, 0.2287, 0.2268, 0.2254",\
                 "0.3153, 0.3093, 0.2952, 0.2822, 0.2727, 0.2661, 0.2613, 0.2579, 0.2556, 0.2539",\
                 "0.3616, 0.3553, 0.34, 0.3248, 0.3135, 0.3054, 0.2996, 0.2954, 0.2923, 0.2901",\
                 "0.4172, 0.4105, 0.394, 0.3768, 0.3637, 0.3539, 0.3468, 0.3416, 0.3378, 0.335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1002, 0.09673, 0.09175, 0.0886, 0.08708, 0.08672, 0.08671, 0.08727, 0.08887, 0.0938",\
                 "0.09988, 0.09639, 0.09137, 0.08811, 0.08681, 0.08649, 0.08648, 0.08707, 0.08755, 0.09248",\
                 "0.1008, 0.09735, 0.09233, 0.0891, 0.0877, 0.08738, 0.08731, 0.08786, 0.08887, 0.09407",\
                 "0.105, 0.1016, 0.09634, 0.09289, 0.09143, 0.09094, 0.091, 0.09142, 0.09273, 0.09791",\
                 "0.1151, 0.1114, 0.1059, 0.1019, 0.09991, 0.09923, 0.09892, 0.09921, 0.09999, 0.1066",\
                 "0.131, 0.1269, 0.1205, 0.116, 0.1133, 0.1119, 0.1117, 0.1114, 0.1127, 0.1208",\
                 "0.1539, 0.1493, 0.1418, 0.1359, 0.1326, 0.1312, 0.1296, 0.1296, 0.1309, 0.141",\
                 "0.1843, 0.1793, 0.1706, 0.1635, 0.1584, 0.1565, 0.1555, 0.1548, 0.1544, 0.1682",\
                 "0.2227, 0.2172, 0.207, 0.1987, 0.1924, 0.1885, 0.1874, 0.1871, 0.188, 0.2057",\
                 "0.2695, 0.2634, 0.2521, 0.2418, 0.2341, 0.2287, 0.2257, 0.2249, 0.2282, 0.2564");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2101, 0.2054, 0.1959, 0.1888, 0.1841, 0.1811, 0.1789, 0.1774, 0.1764, 0.1756",\
                 "0.2099, 0.2053, 0.1958, 0.1886, 0.184, 0.1809, 0.1787, 0.1772, 0.1762, 0.1754",\
                 "0.2113, 0.2067, 0.1971, 0.19, 0.1853, 0.1822, 0.1801, 0.1786, 0.1775, 0.1768",\
                 "0.2166, 0.2119, 0.2022, 0.1947, 0.1899, 0.1867, 0.1845, 0.183, 0.1819, 0.1811",\
                 "0.2293, 0.2243, 0.2138, 0.2055, 0.2, 0.1963, 0.1938, 0.192, 0.1908, 0.1899",\
                 "0.2497, 0.2444, 0.2328, 0.223, 0.2166, 0.2121, 0.2091, 0.2069, 0.2054, 0.2043",\
                 "0.278, 0.2724, 0.2597, 0.2484, 0.2405, 0.2351, 0.2313, 0.2287, 0.2268, 0.2254",\
                 "0.3153, 0.3093, 0.2953, 0.2822, 0.2727, 0.266, 0.2613, 0.258, 0.2556, 0.2538",\
                 "0.3616, 0.3553, 0.34, 0.3249, 0.3136, 0.3054, 0.2996, 0.2954, 0.2923, 0.2901",\
                 "0.4172, 0.4105, 0.394, 0.3768, 0.3636, 0.3539, 0.3467, 0.3416, 0.3377, 0.335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1002, 0.09672, 0.09169, 0.0886, 0.08718, 0.08672, 0.08671, 0.08723, 0.08887, 0.0938",\
                 "0.09988, 0.0964, 0.09144, 0.08811, 0.08685, 0.08652, 0.08648, 0.0871, 0.08755, 0.09248",\
                 "0.1008, 0.09732, 0.09234, 0.08906, 0.08767, 0.08738, 0.08731, 0.0876, 0.08854, 0.09407",\
                 "0.105, 0.1014, 0.09633, 0.09282, 0.09147, 0.09094, 0.091, 0.09142, 0.0924, 0.09824",\
                 "0.1151, 0.1114, 0.1059, 0.1019, 0.09991, 0.09923, 0.09889, 0.09921, 0.09999, 0.1066",\
                 "0.131, 0.1269, 0.1203, 0.116, 0.1133, 0.112, 0.1118, 0.1115, 0.1127, 0.1205",\
                 "0.1539, 0.1493, 0.1418, 0.1359, 0.1326, 0.1312, 0.1302, 0.1296, 0.1306, 0.1401",\
                 "0.1843, 0.1794, 0.1707, 0.1633, 0.1585, 0.1562, 0.1555, 0.155, 0.1544, 0.1682",\
                 "0.2227, 0.2172, 0.207, 0.1987, 0.1924, 0.1885, 0.1874, 0.1871, 0.188, 0.2054",\
                 "0.2695, 0.2634, 0.2521, 0.2418, 0.2341, 0.2287, 0.2253, 0.225, 0.2292, 0.2568");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2101, 0.2054, 0.1959, 0.1888, 0.1841, 0.1811, 0.1789, 0.1774, 0.1764, 0.1756",\
                 "0.2099, 0.2053, 0.1958, 0.1886, 0.1839, 0.1809, 0.1787, 0.1773, 0.1762, 0.1754",\
                 "0.2113, 0.2067, 0.1971, 0.19, 0.1854, 0.1822, 0.1801, 0.1786, 0.1776, 0.1768",\
                 "0.2166, 0.2119, 0.2021, 0.1947, 0.1899, 0.1867, 0.1845, 0.1829, 0.1819, 0.1811",\
                 "0.2293, 0.2244, 0.2139, 0.2055, 0.2, 0.1963, 0.1938, 0.192, 0.1908, 0.1899",\
                 "0.2497, 0.2445, 0.2328, 0.2231, 0.2166, 0.2121, 0.2091, 0.2069, 0.2054, 0.2043",\
                 "0.2781, 0.2725, 0.2597, 0.2484, 0.2405, 0.2351, 0.2313, 0.2287, 0.2268, 0.2254",\
                 "0.3153, 0.3093, 0.2953, 0.2822, 0.2727, 0.266, 0.2613, 0.2579, 0.2556, 0.2538",\
                 "0.3615, 0.3553, 0.34, 0.3248, 0.3135, 0.3054, 0.2996, 0.2954, 0.2924, 0.2901",\
                 "0.4172, 0.4105, 0.394, 0.3768, 0.3636, 0.3539, 0.3468, 0.3416, 0.3377, 0.335");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1002, 0.09672, 0.09165, 0.08857, 0.08714, 0.08672, 0.08668, 0.08723, 0.08887, 0.0938",\
                 "0.09983, 0.09631, 0.09138, 0.0882, 0.08678, 0.08649, 0.08641, 0.08707, 0.08755, 0.09347",\
                 "0.1008, 0.09735, 0.09233, 0.0891, 0.08764, 0.08735, 0.08731, 0.0877, 0.08887, 0.09374",\
                 "0.105, 0.1015, 0.09633, 0.09296, 0.0914, 0.09094, 0.091, 0.09123, 0.09273, 0.09824",\
                 "0.1151, 0.1114, 0.1059, 0.1019, 0.09991, 0.09923, 0.09892, 0.09921, 0.09999, 0.1066",\
                 "0.131, 0.1269, 0.1205, 0.116, 0.1133, 0.112, 0.1118, 0.1117, 0.1127, 0.1202",\
                 "0.1539, 0.1493, 0.1418, 0.1359, 0.1326, 0.1312, 0.1296, 0.1295, 0.1309, 0.1401",\
                 "0.1843, 0.1793, 0.1706, 0.1635, 0.1584, 0.1565, 0.1557, 0.155, 0.155, 0.1676",\
                 "0.2227, 0.2172, 0.207, 0.1987, 0.1924, 0.1885, 0.1874, 0.1871, 0.188, 0.2054",\
                 "0.2695, 0.2634, 0.252, 0.2418, 0.2341, 0.2287, 0.2257, 0.2253, 0.228, 0.2568");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&!I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2101, 0.2054, 0.1959, 0.1888, 0.1841, 0.1811, 0.1789, 0.1774, 0.1764, 0.1756",\
                 "0.2099, 0.2052, 0.1957, 0.1886, 0.184, 0.1808, 0.1787, 0.1772, 0.1762, 0.1754",\
                 "0.2113, 0.2067, 0.1972, 0.19, 0.1853, 0.1822, 0.1801, 0.1786, 0.1776, 0.1768",\
                 "0.2166, 0.2119, 0.2021, 0.1947, 0.1899, 0.1867, 0.1845, 0.183, 0.1819, 0.1811",\
                 "0.2293, 0.2243, 0.2139, 0.2055, 0.2, 0.1963, 0.1938, 0.192, 0.1908, 0.1899",\
                 "0.2498, 0.2444, 0.2328, 0.223, 0.2166, 0.2121, 0.2091, 0.207, 0.2055, 0.2044",\
                 "0.278, 0.2724, 0.2597, 0.2484, 0.2405, 0.2351, 0.2313, 0.2287, 0.2268, 0.2254",\
                 "0.3153, 0.3093, 0.2953, 0.2822, 0.2727, 0.266, 0.2613, 0.258, 0.2556, 0.2538",\
                 "0.3616, 0.3553, 0.34, 0.3248, 0.3136, 0.3054, 0.2996, 0.2954, 0.2924, 0.2901",\
                 "0.4171, 0.4105, 0.394, 0.3769, 0.3637, 0.3539, 0.3468, 0.3416, 0.3378, 0.3349");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1002, 0.09673, 0.09166, 0.08857, 0.08718, 0.08672, 0.08668, 0.08723, 0.08887, 0.0938",\
                 "0.09983, 0.09642, 0.09135, 0.08827, 0.08685, 0.08642, 0.08648, 0.08694, 0.08854, 0.09347",\
                 "0.1008, 0.09732, 0.09233, 0.08916, 0.08774, 0.08728, 0.08737, 0.08773, 0.08854, 0.0944",\
                 "0.105, 0.1015, 0.09633, 0.09302, 0.0915, 0.09098, 0.091, 0.09169, 0.0924, 0.09824",\
                 "0.1151, 0.1114, 0.1058, 0.1019, 0.09988, 0.09926, 0.09889, 0.09921, 0.09999, 0.1066",\
                 "0.1311, 0.1269, 0.1203, 0.1161, 0.1133, 0.112, 0.1119, 0.1117, 0.1127, 0.1211",\
                 "0.1539, 0.1493, 0.1419, 0.1359, 0.1327, 0.1312, 0.1301, 0.1296, 0.1306, 0.1401",\
                 "0.1843, 0.1793, 0.1704, 0.1634, 0.1581, 0.1564, 0.1556, 0.1548, 0.1554, 0.1679",\
                 "0.2227, 0.2172, 0.2071, 0.1987, 0.1923, 0.1884, 0.1866, 0.1871, 0.1873, 0.2047",\
                 "0.2695, 0.2634, 0.2521, 0.2418, 0.234, 0.2289, 0.2255, 0.2252, 0.2282, 0.258");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&!I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2101, 0.2054, 0.1959, 0.1888, 0.1841, 0.1811, 0.1789, 0.1774, 0.1764, 0.1756",\
                 "0.2099, 0.2052, 0.1957, 0.1886, 0.184, 0.1808, 0.1787, 0.1772, 0.1762, 0.1754",\
                 "0.2113, 0.2067, 0.1971, 0.19, 0.1853, 0.1822, 0.1801, 0.1786, 0.1775, 0.1768",\
                 "0.2166, 0.2119, 0.2021, 0.1947, 0.1899, 0.1867, 0.1845, 0.183, 0.1819, 0.1811",\
                 "0.2293, 0.2244, 0.2139, 0.2055, 0.2, 0.1963, 0.1938, 0.192, 0.1908, 0.1899",\
                 "0.2496, 0.2445, 0.2328, 0.2231, 0.2165, 0.2121, 0.2091, 0.207, 0.2055, 0.2044",\
                 "0.2781, 0.2725, 0.2597, 0.2484, 0.2405, 0.235, 0.2313, 0.2287, 0.2268, 0.2254",\
                 "0.3153, 0.3094, 0.2953, 0.2822, 0.2727, 0.266, 0.2613, 0.258, 0.2556, 0.2538",\
                 "0.3616, 0.3553, 0.34, 0.3248, 0.3136, 0.3054, 0.2996, 0.2954, 0.2924, 0.2901",\
                 "0.4171, 0.4105, 0.394, 0.3769, 0.3636, 0.3539, 0.3468, 0.3416, 0.3378, 0.3349");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1002, 0.09679, 0.09172, 0.08857, 0.08714, 0.08675, 0.08681, 0.08726, 0.08821, 0.09251",\
                 "0.09988, 0.0964, 0.09135, 0.08827, 0.08684, 0.08642, 0.08648, 0.08693, 0.08854, 0.09347",\
                 "0.1008, 0.09732, 0.09239, 0.08906, 0.08774, 0.08738, 0.0873, 0.08759, 0.08854, 0.09407",\
                 "0.105, 0.1015, 0.09641, 0.09295, 0.09137, 0.09094, 0.091, 0.09152, 0.0924, 0.0979",\
                 "0.1151, 0.1114, 0.1058, 0.1019, 0.09988, 0.09926, 0.09889, 0.09921, 0.09999, 0.1066",\
                 "0.131, 0.1269, 0.1204, 0.1161, 0.1133, 0.112, 0.1118, 0.1118, 0.1127, 0.1205",\
                 "0.1539, 0.1493, 0.1419, 0.1359, 0.1326, 0.1311, 0.1302, 0.1296, 0.1306, 0.1401",\
                 "0.1843, 0.1793, 0.1705, 0.1633, 0.1584, 0.1564, 0.1556, 0.1548, 0.1554, 0.1679",\
                 "0.2227, 0.2172, 0.2071, 0.1987, 0.1924, 0.1882, 0.1871, 0.1867, 0.1876, 0.2057",\
                 "0.2695, 0.2634, 0.2521, 0.2418, 0.234, 0.2289, 0.2255, 0.2252, 0.228, 0.258");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2101, 0.2054, 0.1959, 0.1888, 0.1841, 0.1811, 0.1789, 0.1774, 0.1764, 0.1756",\
                 "0.2099, 0.2052, 0.1957, 0.1886, 0.184, 0.1808, 0.1787, 0.1772, 0.1761, 0.1754",\
                 "0.2113, 0.2067, 0.1971, 0.1899, 0.1853, 0.1822, 0.1801, 0.1786, 0.1775, 0.1768",\
                 "0.2166, 0.2119, 0.2021, 0.1947, 0.1899, 0.1867, 0.1845, 0.183, 0.1819, 0.1811",\
                 "0.2293, 0.2243, 0.2139, 0.2055, 0.2, 0.1963, 0.1938, 0.192, 0.1908, 0.1899",\
                 "0.2497, 0.2445, 0.2328, 0.2231, 0.2166, 0.2121, 0.2091, 0.207, 0.2055, 0.2044",\
                 "0.2781, 0.2724, 0.2597, 0.2484, 0.2405, 0.2351, 0.2313, 0.2287, 0.2268, 0.2254",\
                 "0.3153, 0.3093, 0.2953, 0.2822, 0.2727, 0.2661, 0.2613, 0.2579, 0.2556, 0.2539",\
                 "0.3616, 0.3553, 0.34, 0.3248, 0.3136, 0.3054, 0.2996, 0.2954, 0.2924, 0.2901",\
                 "0.4171, 0.4105, 0.394, 0.3769, 0.3637, 0.3539, 0.3468, 0.3416, 0.3378, 0.3349");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1002, 0.09673, 0.0917, 0.0886, 0.08717, 0.08675, 0.08671, 0.08727, 0.08887, 0.0938",\
                 "0.09988, 0.09642, 0.09135, 0.08827, 0.08684, 0.08642, 0.08648, 0.08694, 0.08854, 0.09347",\
                 "0.1008, 0.09732, 0.09234, 0.08916, 0.08774, 0.08738, 0.0873, 0.08766, 0.08854, 0.09407",\
                 "0.1049, 0.1016, 0.09631, 0.09289, 0.09146, 0.09098, 0.091, 0.09126, 0.09273, 0.09823",\
                 "0.1151, 0.1114, 0.1058, 0.1019, 0.09988, 0.09926, 0.09889, 0.09921, 0.09999, 0.1066",\
                 "0.1311, 0.1269, 0.1203, 0.1161, 0.1133, 0.112, 0.1115, 0.1119, 0.1127, 0.1205",\
                 "0.1539, 0.1493, 0.1419, 0.1359, 0.1325, 0.1311, 0.1302, 0.1296, 0.1306, 0.1401",\
                 "0.1843, 0.1794, 0.1704, 0.1634, 0.1585, 0.1564, 0.1556, 0.1549, 0.1554, 0.1679",\
                 "0.2227, 0.2172, 0.2071, 0.1988, 0.1924, 0.1882, 0.1871, 0.1867, 0.1876, 0.2057",\
                 "0.2695, 0.2634, 0.252, 0.2418, 0.234, 0.2289, 0.2255, 0.2252, 0.2282, 0.258");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2101, 0.2054, 0.1959, 0.1888, 0.1841, 0.1811, 0.1789, 0.1774, 0.1764, 0.1756",\
                 "0.2099, 0.2053, 0.1958, 0.1886, 0.184, 0.1809, 0.1787, 0.1772, 0.1762, 0.1754",\
                 "0.2113, 0.2067, 0.1971, 0.19, 0.1853, 0.1822, 0.1801, 0.1786, 0.1775, 0.1768",\
                 "0.2166, 0.2119, 0.2021, 0.1947, 0.1899, 0.1867, 0.1845, 0.183, 0.1819, 0.1811",\
                 "0.2293, 0.2244, 0.2139, 0.2055, 0.2, 0.1963, 0.1938, 0.192, 0.1908, 0.1899",\
                 "0.2497, 0.2444, 0.2328, 0.2231, 0.2165, 0.2121, 0.2091, 0.207, 0.2054, 0.2044",\
                 "0.278, 0.2725, 0.2597, 0.2484, 0.2405, 0.2351, 0.2313, 0.2287, 0.2268, 0.2254",\
                 "0.3153, 0.3094, 0.2953, 0.2822, 0.2727, 0.266, 0.2613, 0.258, 0.2556, 0.2538",\
                 "0.3616, 0.3552, 0.34, 0.3248, 0.3136, 0.3054, 0.2996, 0.2954, 0.2924, 0.2901",\
                 "0.4171, 0.4105, 0.394, 0.3769, 0.3636, 0.3539, 0.3468, 0.3416, 0.3378, 0.3349");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1002, 0.09672, 0.09165, 0.08857, 0.08714, 0.08672, 0.08668, 0.08723, 0.08887, 0.0938",\
                 "0.09991, 0.09647, 0.09137, 0.08827, 0.08685, 0.08649, 0.08641, 0.08713, 0.08755, 0.09347",\
                 "0.1008, 0.09732, 0.09233, 0.08909, 0.0877, 0.08738, 0.0873, 0.08783, 0.08887, 0.09374",\
                 "0.105, 0.1015, 0.09632, 0.09279, 0.09147, 0.09094, 0.09117, 0.09165, 0.09306, 0.09857",\
                 "0.1151, 0.1114, 0.1058, 0.1019, 0.09988, 0.09926, 0.09889, 0.09921, 0.09999, 0.1066",\
                 "0.131, 0.127, 0.1202, 0.116, 0.1133, 0.1121, 0.1116, 0.1115, 0.1127, 0.1205",\
                 "0.1539, 0.1493, 0.1419, 0.1359, 0.1326, 0.1311, 0.1302, 0.1295, 0.1306, 0.1401",\
                 "0.1843, 0.1793, 0.1705, 0.1633, 0.1584, 0.1563, 0.1559, 0.1552, 0.1547, 0.1679",\
                 "0.2227, 0.2172, 0.2071, 0.1988, 0.1924, 0.1882, 0.1871, 0.1867, 0.188, 0.2057",\
                 "0.2695, 0.2634, 0.252, 0.2418, 0.234, 0.2289, 0.2255, 0.2252, 0.2283, 0.258");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&!I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2171, 0.2124, 0.2029, 0.1957, 0.191, 0.1879, 0.1858, 0.1842, 0.1832, 0.1824",\
                 "0.2169, 0.2122, 0.2027, 0.1955, 0.1908, 0.1877, 0.1856, 0.1841, 0.183, 0.1822",\
                 "0.2183, 0.2136, 0.2041, 0.1969, 0.1922, 0.1891, 0.1869, 0.1854, 0.1844, 0.1836",\
                 "0.2237, 0.2189, 0.2091, 0.2017, 0.1968, 0.1936, 0.1914, 0.1899, 0.1888, 0.188",\
                 "0.2363, 0.2313, 0.2208, 0.2124, 0.2069, 0.2032, 0.2007, 0.1989, 0.1977, 0.1968",\
                 "0.2566, 0.2513, 0.2397, 0.23, 0.2234, 0.219, 0.216, 0.2139, 0.2123, 0.2113",\
                 "0.285, 0.2793, 0.2666, 0.2553, 0.2474, 0.242, 0.2382, 0.2356, 0.2337, 0.2323",\
                 "0.3222, 0.3162, 0.3021, 0.289, 0.2796, 0.2729, 0.2682, 0.2648, 0.2625, 0.2607",\
                 "0.3685, 0.3622, 0.3469, 0.3318, 0.3204, 0.3123, 0.3065, 0.3023, 0.2993, 0.297",\
                 "0.424, 0.4173, 0.401, 0.3836, 0.3705, 0.3607, 0.3536, 0.3485, 0.3446, 0.3418");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09162, 0.08815, 0.08319, 0.07995, 0.0786, 0.07834, 0.07833, 0.07872, 0.07963, 0.08393",\
                 "0.0913, 0.08777, 0.08292, 0.07959, 0.07833, 0.07801, 0.078, 0.07842, 0.0793, 0.0839",\
                 "0.09228, 0.08883, 0.0838, 0.08052, 0.07932, 0.07887, 0.07892, 0.07935, 0.08029, 0.08516",\
                 "0.09651, 0.09303, 0.08794, 0.08457, 0.08305, 0.08263, 0.08262, 0.08304, 0.08415, 0.09032",\
                 "0.1067, 0.1031, 0.09753, 0.09348, 0.0916, 0.09085, 0.09057, 0.09086, 0.0924, 0.09901",\
                 "0.1228, 0.1186, 0.1121, 0.1077, 0.105, 0.1037, 0.1031, 0.1031, 0.1044, 0.1122",\
                 "0.1456, 0.141, 0.1336, 0.1275, 0.1245, 0.1228, 0.1219, 0.1213, 0.1223, 0.1328",\
                 "0.1762, 0.1711, 0.1623, 0.1553, 0.1502, 0.1482, 0.1475, 0.1465, 0.1461, 0.1593",\
                 "0.2146, 0.209, 0.199, 0.1904, 0.1837, 0.1799, 0.1788, 0.1787, 0.1788, 0.1971",\
                 "0.2613, 0.2553, 0.2439, 0.2336, 0.2258, 0.2202, 0.2175, 0.2168, 0.2194, 0.2489");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&!I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2171, 0.2124, 0.2029, 0.1957, 0.191, 0.1879, 0.1858, 0.1842, 0.1832, 0.1824",\
                 "0.2169, 0.2122, 0.2027, 0.1955, 0.1908, 0.1877, 0.1855, 0.184, 0.183, 0.1822",\
                 "0.2183, 0.2137, 0.2041, 0.1969, 0.1922, 0.1891, 0.1869, 0.1854, 0.1844, 0.1836",\
                 "0.2237, 0.2189, 0.2091, 0.2017, 0.1968, 0.1936, 0.1914, 0.1899, 0.1887, 0.188",\
                 "0.2363, 0.2313, 0.2208, 0.2124, 0.2069, 0.2032, 0.2007, 0.1989, 0.1977, 0.1968",\
                 "0.2566, 0.2513, 0.2397, 0.23, 0.2234, 0.219, 0.2161, 0.2139, 0.2124, 0.2113",\
                 "0.285, 0.2793, 0.2666, 0.2553, 0.2474, 0.242, 0.2382, 0.2356, 0.2337, 0.2323",\
                 "0.3221, 0.3162, 0.3022, 0.2891, 0.2796, 0.2729, 0.2682, 0.2648, 0.2625, 0.2607",\
                 "0.3684, 0.3622, 0.3469, 0.3318, 0.3204, 0.3123, 0.3065, 0.3023, 0.2993, 0.297",\
                 "0.424, 0.4174, 0.401, 0.3836, 0.3704, 0.3607, 0.3536, 0.3485, 0.3446, 0.3418");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09151, 0.0882, 0.08319, 0.08005, 0.07863, 0.0783, 0.07856, 0.07905, 0.07963, 0.08459",\
                 "0.09126, 0.08778, 0.08286, 0.07979, 0.0783, 0.07804, 0.07803, 0.07898, 0.0793, 0.08423",\
                 "0.09231, 0.08884, 0.08398, 0.08058, 0.07932, 0.07887, 0.07892, 0.07935, 0.08029, 0.08516",\
                 "0.09653, 0.09301, 0.08789, 0.08461, 0.08298, 0.08253, 0.08255, 0.08301, 0.08481, 0.09032",\
                 "0.1068, 0.103, 0.09747, 0.09361, 0.0915, 0.09081, 0.09054, 0.09103, 0.0924, 0.09835",\
                 "0.1228, 0.1187, 0.1121, 0.1077, 0.1051, 0.1037, 0.1031, 0.1031, 0.1044, 0.1116",\
                 "0.1456, 0.141, 0.1336, 0.1275, 0.1245, 0.123, 0.1219, 0.1213, 0.1223, 0.1321",\
                 "0.1761, 0.1711, 0.1623, 0.1554, 0.15, 0.1479, 0.1473, 0.1464, 0.1461, 0.1596",\
                 "0.2147, 0.209, 0.1991, 0.1904, 0.1839, 0.18, 0.1789, 0.1787, 0.1797, 0.1968",\
                 "0.2613, 0.2553, 0.2439, 0.2338, 0.2256, 0.2206, 0.2175, 0.2171, 0.2201, 0.2491");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2171, 0.2124, 0.2028, 0.1957, 0.191, 0.1879, 0.1858, 0.1842, 0.1832, 0.1824",\
                 "0.2169, 0.2122, 0.2026, 0.1955, 0.1908, 0.1877, 0.1856, 0.184, 0.183, 0.1822",\
                 "0.2183, 0.2136, 0.2041, 0.1969, 0.1922, 0.1891, 0.1869, 0.1854, 0.1844, 0.1836",\
                 "0.2236, 0.2189, 0.2091, 0.2017, 0.1968, 0.1936, 0.1914, 0.1898, 0.1888, 0.188",\
                 "0.2363, 0.2313, 0.2208, 0.2124, 0.2069, 0.2032, 0.2007, 0.1989, 0.1977, 0.1968",\
                 "0.2567, 0.2514, 0.2398, 0.2301, 0.2235, 0.2191, 0.216, 0.2139, 0.2124, 0.2113",\
                 "0.2849, 0.2794, 0.2666, 0.2553, 0.2474, 0.2419, 0.2382, 0.2355, 0.2337, 0.2323",\
                 "0.3222, 0.3162, 0.3022, 0.2891, 0.2796, 0.273, 0.2682, 0.2649, 0.2625, 0.2607",\
                 "0.3684, 0.3621, 0.3469, 0.3318, 0.3204, 0.3123, 0.3066, 0.3023, 0.2992, 0.297",\
                 "0.424, 0.4174, 0.401, 0.3836, 0.3705, 0.3607, 0.3536, 0.3485, 0.3447, 0.3418");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09159, 0.08807, 0.08319, 0.07992, 0.07859, 0.07837, 0.07823, 0.07872, 0.07963, 0.08426",\
                 "0.09127, 0.08785, 0.08289, 0.07972, 0.0784, 0.07794, 0.078, 0.07829, 0.07963, 0.08489",\
                 "0.09234, 0.08886, 0.08382, 0.08061, 0.07925, 0.07887, 0.07892, 0.07951, 0.08029, 0.08516",\
                 "0.09649, 0.09302, 0.08792, 0.08457, 0.08298, 0.08266, 0.08255, 0.08284, 0.08415, 0.08999",\
                 "0.1067, 0.103, 0.09741, 0.09355, 0.0916, 0.09088, 0.0906, 0.0907, 0.09197, 0.09901",\
                 "0.1227, 0.1186, 0.112, 0.1077, 0.105, 0.1037, 0.1032, 0.103, 0.1044, 0.1119",\
                 "0.1456, 0.1411, 0.1336, 0.1276, 0.1243, 0.1227, 0.1215, 0.1213, 0.1223, 0.1321",\
                 "0.1761, 0.1711, 0.1624, 0.1553, 0.15, 0.1477, 0.1473, 0.1462, 0.1461, 0.1597",\
                 "0.2146, 0.209, 0.1991, 0.1903, 0.1838, 0.1802, 0.1789, 0.1789, 0.1792, 0.1971",\
                 "0.2614, 0.2553, 0.244, 0.2336, 0.2258, 0.2201, 0.2173, 0.2164, 0.2203, 0.2482");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2171, 0.2124, 0.2029, 0.1957, 0.191, 0.1879, 0.1858, 0.1842, 0.1832, 0.1824",\
                 "0.2169, 0.2122, 0.2027, 0.1955, 0.1908, 0.1877, 0.1855, 0.184, 0.183, 0.1822",\
                 "0.2183, 0.2136, 0.2041, 0.1969, 0.1922, 0.1891, 0.1869, 0.1854, 0.1844, 0.1836",\
                 "0.2237, 0.219, 0.2091, 0.2016, 0.1968, 0.1936, 0.1914, 0.1898, 0.1888, 0.188",\
                 "0.2363, 0.2313, 0.2208, 0.2124, 0.2069, 0.2032, 0.2007, 0.1989, 0.1977, 0.1968",\
                 "0.2566, 0.2514, 0.2397, 0.23, 0.2234, 0.2191, 0.216, 0.2139, 0.2124, 0.2113",\
                 "0.2849, 0.2794, 0.2666, 0.2553, 0.2474, 0.242, 0.2382, 0.2356, 0.2337, 0.2323",\
                 "0.3222, 0.3162, 0.3021, 0.2891, 0.2796, 0.273, 0.2682, 0.2649, 0.2624, 0.2608",\
                 "0.3684, 0.3621, 0.3469, 0.3318, 0.3204, 0.3123, 0.3065, 0.3023, 0.2992, 0.297",\
                 "0.4239, 0.4174, 0.401, 0.3836, 0.3704, 0.3607, 0.3536, 0.3485, 0.3447, 0.3418");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09151, 0.0882, 0.08319, 0.08005, 0.07863, 0.07834, 0.07856, 0.07859, 0.07963, 0.08426",\
                 "0.09128, 0.08789, 0.08289, 0.07969, 0.07836, 0.07807, 0.07833, 0.07875, 0.0793, 0.0839",\
                 "0.0923, 0.08884, 0.0838, 0.08051, 0.07929, 0.07883, 0.07892, 0.07954, 0.08029, 0.08516",\
                 "0.0965, 0.09302, 0.08791, 0.08464, 0.08308, 0.08256, 0.08262, 0.08301, 0.08415, 0.09032",\
                 "0.1067, 0.103, 0.09749, 0.09345, 0.0916, 0.09078, 0.09054, 0.09106, 0.09174, 0.09835",\
                 "0.1227, 0.1186, 0.1121, 0.1078, 0.1052, 0.1038, 0.1032, 0.1035, 0.1051, 0.1119",\
                 "0.1456, 0.1411, 0.1336, 0.1275, 0.1243, 0.1227, 0.1219, 0.1212, 0.1223, 0.1321",\
                 "0.1761, 0.1711, 0.1623, 0.1553, 0.1503, 0.1479, 0.147, 0.1463, 0.1461, 0.1593",\
                 "0.2146, 0.209, 0.1991, 0.1906, 0.184, 0.1804, 0.1787, 0.1787, 0.1798, 0.1977",\
                 "0.2614, 0.2553, 0.2439, 0.2336, 0.2257, 0.2206, 0.2174, 0.2166, 0.22, 0.2479");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&!I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.217, 0.2124, 0.2028, 0.1957, 0.191, 0.1879, 0.1858, 0.1842, 0.1832, 0.1824",\
                 "0.2169, 0.2122, 0.2026, 0.1955, 0.1908, 0.1877, 0.1856, 0.184, 0.183, 0.1822",\
                 "0.2183, 0.2136, 0.2041, 0.1969, 0.1922, 0.1891, 0.1869, 0.1854, 0.1844, 0.1836",\
                 "0.2237, 0.219, 0.2091, 0.2017, 0.1968, 0.1936, 0.1914, 0.1899, 0.1888, 0.188",\
                 "0.2363, 0.2313, 0.2208, 0.2124, 0.2069, 0.2032, 0.2007, 0.1989, 0.1977, 0.1968",\
                 "0.2566, 0.2513, 0.2397, 0.23, 0.2234, 0.219, 0.216, 0.2138, 0.2123, 0.2112",\
                 "0.285, 0.2793, 0.2666, 0.2552, 0.2474, 0.242, 0.2382, 0.2356, 0.2337, 0.2323",\
                 "0.3222, 0.3162, 0.3022, 0.2891, 0.2796, 0.2729, 0.2682, 0.2648, 0.2625, 0.2607",\
                 "0.3684, 0.3622, 0.3469, 0.3318, 0.3204, 0.3123, 0.3065, 0.3023, 0.2993, 0.297",\
                 "0.424, 0.4173, 0.401, 0.3836, 0.3705, 0.3607, 0.3537, 0.3485, 0.3446, 0.3418");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09152, 0.08808, 0.08319, 0.07995, 0.07869, 0.07834, 0.07833, 0.07872, 0.07963, 0.08393",\
                 "0.09129, 0.08787, 0.08283, 0.07976, 0.07833, 0.07801, 0.07826, 0.07875, 0.0793, 0.08456",\
                 "0.09228, 0.08883, 0.0838, 0.08051, 0.07932, 0.07887, 0.07892, 0.07935, 0.08029, 0.08516",\
                 "0.09651, 0.0931, 0.088, 0.08461, 0.08308, 0.08256, 0.08262, 0.08307, 0.08415, 0.09032",\
                 "0.1067, 0.103, 0.09748, 0.09338, 0.09143, 0.09068, 0.09054, 0.09103, 0.09174, 0.09838",\
                 "0.1227, 0.1186, 0.1121, 0.1079, 0.1052, 0.1038, 0.1032, 0.1032, 0.1044, 0.1119",\
                 "0.1456, 0.141, 0.1336, 0.1275, 0.1246, 0.123, 0.1219, 0.1213, 0.1223, 0.1321",\
                 "0.1761, 0.1711, 0.1623, 0.1552, 0.15, 0.1479, 0.1475, 0.1466, 0.1461, 0.1593",\
                 "0.2147, 0.209, 0.199, 0.1903, 0.1839, 0.1801, 0.1788, 0.1787, 0.1801, 0.1968",\
                 "0.2613, 0.2553, 0.2438, 0.2338, 0.2256, 0.2205, 0.2173, 0.2172, 0.2204, 0.2486");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&!I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2171, 0.2124, 0.2028, 0.1957, 0.191, 0.1879, 0.1858, 0.1842, 0.1832, 0.1824",\
                 "0.2169, 0.2122, 0.2027, 0.1955, 0.1908, 0.1877, 0.1856, 0.1841, 0.183, 0.1822",\
                 "0.2183, 0.2137, 0.2041, 0.1969, 0.1922, 0.1891, 0.1869, 0.1854, 0.1844, 0.1836",\
                 "0.2237, 0.2189, 0.2092, 0.2017, 0.1968, 0.1936, 0.1914, 0.1899, 0.1888, 0.188",\
                 "0.2363, 0.2313, 0.2208, 0.2124, 0.2069, 0.2032, 0.2007, 0.1989, 0.1977, 0.1968",\
                 "0.2566, 0.2513, 0.2397, 0.2299, 0.2234, 0.219, 0.216, 0.2139, 0.2123, 0.2112",\
                 "0.285, 0.2793, 0.2666, 0.2553, 0.2474, 0.242, 0.2382, 0.2356, 0.2337, 0.2323",\
                 "0.3221, 0.3162, 0.3022, 0.2891, 0.2796, 0.273, 0.2682, 0.2648, 0.2625, 0.2607",\
                 "0.3684, 0.3622, 0.3469, 0.3318, 0.3204, 0.3123, 0.3065, 0.3023, 0.2993, 0.297",\
                 "0.424, 0.4173, 0.401, 0.3836, 0.3704, 0.3607, 0.3537, 0.3485, 0.3446, 0.3418");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09151, 0.0882, 0.08319, 0.08005, 0.07863, 0.0783, 0.07856, 0.07905, 0.07963, 0.08459",\
                 "0.09133, 0.08777, 0.08293, 0.07969, 0.07826, 0.07801, 0.078, 0.07826, 0.0793, 0.0839",\
                 "0.09231, 0.08884, 0.08398, 0.08071, 0.07932, 0.07887, 0.07892, 0.07935, 0.08029, 0.08516",\
                 "0.09657, 0.09309, 0.08801, 0.08461, 0.08308, 0.08253, 0.08262, 0.08284, 0.08415, 0.08965",\
                 "0.1068, 0.103, 0.09747, 0.09358, 0.09156, 0.09081, 0.09057, 0.09086, 0.0924, 0.09835",\
                 "0.1227, 0.1186, 0.1121, 0.1078, 0.1053, 0.1038, 0.1032, 0.1032, 0.1047, 0.1122",\
                 "0.1456, 0.1411, 0.1335, 0.1274, 0.1242, 0.1228, 0.1217, 0.1214, 0.1223, 0.1318",\
                 "0.1761, 0.1711, 0.1623, 0.1554, 0.15, 0.1479, 0.1475, 0.1462, 0.1458, 0.1596",\
                 "0.2147, 0.2091, 0.1991, 0.1905, 0.1838, 0.1801, 0.179, 0.1787, 0.1801, 0.1971",\
                 "0.2613, 0.2553, 0.2438, 0.2338, 0.2261, 0.2208, 0.2173, 0.2172, 0.2197, 0.2486");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2171, 0.2124, 0.2028, 0.1957, 0.191, 0.1879, 0.1858, 0.1842, 0.1832, 0.1824",\
                 "0.2169, 0.2122, 0.2027, 0.1955, 0.1908, 0.1877, 0.1855, 0.184, 0.183, 0.1822",\
                 "0.2183, 0.2136, 0.2041, 0.1969, 0.1922, 0.1891, 0.1869, 0.1854, 0.1844, 0.1836",\
                 "0.2236, 0.2189, 0.2091, 0.2016, 0.1968, 0.1936, 0.1914, 0.1899, 0.1888, 0.188",\
                 "0.2363, 0.2313, 0.2208, 0.2124, 0.2069, 0.2032, 0.2007, 0.1989, 0.1977, 0.1968",\
                 "0.2566, 0.2514, 0.2397, 0.2301, 0.2235, 0.2191, 0.2161, 0.2139, 0.2124, 0.2113",\
                 "0.2849, 0.2793, 0.2666, 0.2553, 0.2474, 0.242, 0.2382, 0.2356, 0.2337, 0.2323",\
                 "0.3222, 0.3162, 0.3021, 0.2891, 0.2797, 0.273, 0.2682, 0.2648, 0.2625, 0.2607",\
                 "0.3684, 0.3621, 0.3469, 0.3318, 0.3204, 0.3123, 0.3066, 0.3023, 0.2993, 0.297",\
                 "0.424, 0.4174, 0.401, 0.3836, 0.3705, 0.3607, 0.3536, 0.3485, 0.3447, 0.3418");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09159, 0.08807, 0.08322, 0.08005, 0.07863, 0.07831, 0.07856, 0.07905, 0.07963, 0.08459",\
                 "0.09121, 0.08787, 0.08293, 0.07976, 0.07833, 0.07801, 0.07797, 0.07842, 0.0793, 0.08489",\
                 "0.09234, 0.08887, 0.0838, 0.08071, 0.07932, 0.07887, 0.07925, 0.07951, 0.08029, 0.08549",\
                 "0.0965, 0.09315, 0.08791, 0.08467, 0.08308, 0.0826, 0.08262, 0.08304, 0.08415, 0.09032",\
                 "0.1067, 0.103, 0.0975, 0.09358, 0.09147, 0.09075, 0.09044, 0.09067, 0.09207, 0.09901",\
                 "0.1227, 0.1186, 0.112, 0.1076, 0.1051, 0.1036, 0.1033, 0.1031, 0.1044, 0.1116",\
                 "0.1456, 0.141, 0.1336, 0.1275, 0.1246, 0.1228, 0.1219, 0.1214, 0.1223, 0.1328",\
                 "0.1761, 0.1711, 0.1624, 0.1551, 0.1502, 0.1483, 0.1473, 0.1462, 0.1465, 0.159",\
                 "0.2146, 0.209, 0.199, 0.1903, 0.184, 0.18, 0.179, 0.1788, 0.1798, 0.1971",\
                 "0.2613, 0.2553, 0.2439, 0.2336, 0.2259, 0.2201, 0.2173, 0.2168, 0.2194, 0.2479");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2171, 0.2124, 0.2028, 0.1957, 0.191, 0.1879, 0.1858, 0.1842, 0.1832, 0.1824",\
                 "0.2169, 0.2122, 0.2026, 0.1955, 0.1908, 0.1877, 0.1856, 0.184, 0.183, 0.1822",\
                 "0.2183, 0.2136, 0.2041, 0.1969, 0.1922, 0.1891, 0.1869, 0.1854, 0.1844, 0.1836",\
                 "0.2236, 0.2189, 0.2091, 0.2017, 0.1968, 0.1936, 0.1914, 0.1898, 0.1888, 0.188",\
                 "0.2363, 0.2313, 0.2208, 0.2124, 0.2069, 0.2032, 0.2007, 0.1989, 0.1977, 0.1968",\
                 "0.2566, 0.2514, 0.2397, 0.2301, 0.2235, 0.2191, 0.216, 0.2139, 0.2124, 0.2113",\
                 "0.285, 0.2793, 0.2666, 0.2553, 0.2474, 0.242, 0.2382, 0.2356, 0.2337, 0.2323",\
                 "0.3222, 0.3162, 0.3021, 0.2891, 0.2796, 0.2729, 0.2682, 0.2649, 0.2625, 0.2607",\
                 "0.3684, 0.3621, 0.347, 0.3318, 0.3204, 0.3123, 0.3066, 0.3023, 0.2993, 0.297",\
                 "0.4239, 0.4174, 0.401, 0.3837, 0.3704, 0.3607, 0.3536, 0.3485, 0.3446, 0.3418");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09151, 0.0882, 0.08319, 0.08005, 0.07863, 0.07834, 0.07856, 0.07859, 0.07963, 0.08393",\
                 "0.09132, 0.08788, 0.08287, 0.07959, 0.07836, 0.07794, 0.0779, 0.07842, 0.0793, 0.08423",\
                 "0.09229, 0.08884, 0.08389, 0.08068, 0.07932, 0.07887, 0.07882, 0.07938, 0.08029, 0.08615",\
                 "0.09648, 0.09301, 0.08789, 0.08467, 0.08308, 0.0825, 0.08259, 0.08301, 0.08382, 0.09032",\
                 "0.1068, 0.1031, 0.09752, 0.09352, 0.0916, 0.09071, 0.09047, 0.09106, 0.09141, 0.09901",\
                 "0.1227, 0.1187, 0.112, 0.1076, 0.1051, 0.1037, 0.1031, 0.103, 0.1044, 0.1116",\
                 "0.1456, 0.1411, 0.1335, 0.1274, 0.1243, 0.1227, 0.1219, 0.1215, 0.1223, 0.1321",\
                 "0.1761, 0.171, 0.1623, 0.1553, 0.1503, 0.1481, 0.1476, 0.1466, 0.1465, 0.16",\
                 "0.2146, 0.209, 0.1991, 0.1904, 0.1839, 0.18, 0.179, 0.179, 0.1801, 0.1977",\
                 "0.2614, 0.2553, 0.2438, 0.2336, 0.2261, 0.2206, 0.2174, 0.2171, 0.2197, 0.2479");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&!I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2714, 0.2667, 0.257, 0.2497, 0.245, 0.2418, 0.2397, 0.2382, 0.2371, 0.2363",\
                 "0.2709, 0.2662, 0.2565, 0.2493, 0.2445, 0.2414, 0.2392, 0.2377, 0.2366, 0.2359",\
                 "0.2718, 0.2671, 0.2574, 0.2501, 0.2454, 0.2422, 0.2401, 0.2386, 0.2375, 0.2367",\
                 "0.2786, 0.2739, 0.2641, 0.2567, 0.2518, 0.2486, 0.2464, 0.2449, 0.2438, 0.2431",\
                 "0.2962, 0.2913, 0.2808, 0.2726, 0.2671, 0.2635, 0.261, 0.2593, 0.2582, 0.2573",\
                 "0.3265, 0.3212, 0.3095, 0.2999, 0.2934, 0.2889, 0.2859, 0.2838, 0.2824, 0.2813",\
                 "0.3687, 0.363, 0.3502, 0.3389, 0.3309, 0.3255, 0.3217, 0.3191, 0.3171, 0.3158",\
                 "0.4243, 0.4182, 0.404, 0.3907, 0.3811, 0.3743, 0.3695, 0.3662, 0.3638, 0.362",\
                 "0.494, 0.4875, 0.472, 0.4565, 0.4449, 0.4365, 0.4305, 0.4262, 0.4231, 0.4208",\
                 "0.5779, 0.571, 0.5539, 0.5363, 0.5225, 0.5124, 0.5049, 0.4996, 0.4956, 0.4927");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.08407, 0.08063, 0.07575, 0.07257, 0.07131, 0.07108, 0.07104, 0.07143, 0.07238, 0.077",\
                 "0.08407, 0.08068, 0.0758, 0.07266, 0.07131, 0.07108, 0.07134, 0.07179, 0.07238, 0.07733",\
                 "0.08528, 0.08187, 0.0769, 0.07389, 0.07246, 0.07217, 0.07219, 0.07282, 0.0737, 0.07826",\
                 "0.09106, 0.08768, 0.08254, 0.07913, 0.07754, 0.07715, 0.07708, 0.07777, 0.07854, 0.08441",\
                 "0.1064, 0.1027, 0.09677, 0.0926, 0.09038, 0.0894, 0.08949, 0.08958, 0.09009, 0.0964",\
                 "0.1314, 0.127, 0.1197, 0.1148, 0.1118, 0.11, 0.1096, 0.109, 0.1103, 0.1182",\
                 "0.1673, 0.1624, 0.1539, 0.1469, 0.143, 0.1413, 0.1398, 0.139, 0.1395, 0.15",\
                 "0.215, 0.2095, 0.1995, 0.1913, 0.185, 0.1819, 0.1806, 0.1794, 0.1791, 0.1917",\
                 "0.2746, 0.2684, 0.2571, 0.2469, 0.2391, 0.2341, 0.2315, 0.2313, 0.2316, 0.249",\
                 "0.3465, 0.3397, 0.3268, 0.3149, 0.3058, 0.2989, 0.2949, 0.2932, 0.296, 0.323");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&!I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1997, 0.1951, 0.1854, 0.1782, 0.1735, 0.1703, 0.1682, 0.1667, 0.1656, 0.1648",\
                 "0.1998, 0.1951, 0.1855, 0.1783, 0.1736, 0.1704, 0.1682, 0.1667, 0.1657, 0.1649",\
                 "0.2023, 0.1976, 0.188, 0.1808, 0.1762, 0.1731, 0.1709, 0.1694, 0.1684, 0.1676",\
                 "0.2095, 0.2048, 0.1953, 0.1882, 0.1835, 0.1805, 0.1784, 0.1769, 0.1759, 0.1752",\
                 "0.2246, 0.2198, 0.2097, 0.2019, 0.197, 0.1937, 0.1914, 0.1898, 0.1888, 0.188",\
                 "0.2443, 0.2394, 0.2291, 0.221, 0.2157, 0.2122, 0.2099, 0.2083, 0.2071, 0.2063",\
                 "0.27, 0.265, 0.2545, 0.2463, 0.2409, 0.2373, 0.2348, 0.2331, 0.232, 0.2311",\
                 "0.3024, 0.2974, 0.2868, 0.2783, 0.2728, 0.269, 0.2665, 0.2648, 0.2636, 0.2627",\
                 "0.3421, 0.3372, 0.3262, 0.3175, 0.3117, 0.3079, 0.3054, 0.3036, 0.3024, 0.3015",\
                 "0.3906, 0.3855, 0.3744, 0.3654, 0.3593, 0.3555, 0.353, 0.3512, 0.3501, 0.3492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2, 0.1964, 0.1908, 0.1872, 0.1854, 0.1847, 0.1846, 0.1849, 0.1862, 0.1917",\
                 "0.1995, 0.1958, 0.1903, 0.1867, 0.1849, 0.1842, 0.1842, 0.1844, 0.1859, 0.1911",\
                 "0.2011, 0.1975, 0.192, 0.1882, 0.1865, 0.1859, 0.1857, 0.1863, 0.1871, 0.1933",\
                 "0.2089, 0.2053, 0.1999, 0.1962, 0.1943, 0.1936, 0.1936, 0.1938, 0.1954, 0.2017",\
                 "0.2241, 0.2205, 0.2151, 0.2112, 0.2093, 0.2086, 0.2085, 0.2086, 0.2101, 0.2173",\
                 "0.2469, 0.2433, 0.2379, 0.234, 0.232, 0.2314, 0.231, 0.2314, 0.2327, 0.2416",\
                 "0.2781, 0.2744, 0.2686, 0.2647, 0.2629, 0.2617, 0.262, 0.2623, 0.2634, 0.2763",\
                 "0.3182, 0.3142, 0.3084, 0.3042, 0.3018, 0.3015, 0.301, 0.3008, 0.3026, 0.3217",\
                 "0.3673, 0.3634, 0.3571, 0.3527, 0.3499, 0.3492, 0.3499, 0.3502, 0.3526, 0.3837",\
                 "0.4275, 0.4234, 0.4167, 0.412, 0.4092, 0.4074, 0.4078, 0.4097, 0.4158, 0.4689");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2618, 0.2568, 0.2461, 0.2375, 0.2318, 0.228, 0.2254, 0.2235, 0.2221, 0.2211",\
                 "0.2612, 0.2562, 0.2455, 0.2369, 0.2313, 0.2275, 0.2248, 0.2229, 0.2216, 0.2206",\
                 "0.262, 0.257, 0.2463, 0.2377, 0.232, 0.2282, 0.2256, 0.2237, 0.2223, 0.2213",\
                 "0.2683, 0.2633, 0.2524, 0.2437, 0.238, 0.2342, 0.2315, 0.2296, 0.2283, 0.2273",\
                 "0.2838, 0.2786, 0.2674, 0.2582, 0.2521, 0.248, 0.2451, 0.2431, 0.2417, 0.2406",\
                 "0.3113, 0.3059, 0.2938, 0.2834, 0.2764, 0.2716, 0.2683, 0.266, 0.2643, 0.2631",\
                 "0.3498, 0.3441, 0.331, 0.3193, 0.3111, 0.3056, 0.3017, 0.2989, 0.2969, 0.2955",\
                 "0.4004, 0.3945, 0.3804, 0.3671, 0.3576, 0.3509, 0.3462, 0.3428, 0.3404, 0.3386",\
                 "0.4644, 0.4582, 0.4429, 0.4277, 0.4166, 0.4087, 0.403, 0.3988, 0.3958, 0.3936",\
                 "0.5415, 0.535, 0.5187, 0.5016, 0.4886, 0.4793, 0.4722, 0.4672, 0.4635, 0.4607");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.08666, 0.08339, 0.07859, 0.07573, 0.07451, 0.07428, 0.0748, 0.07503, 0.07601, 0.081",\
                 "0.08672, 0.08342, 0.07867, 0.07577, 0.07457, 0.07428, 0.07474, 0.07509, 0.07601, 0.0813",\
                 "0.08797, 0.08463, 0.0799, 0.07699, 0.07563, 0.07547, 0.07556, 0.07628, 0.077, 0.08189",\
                 "0.09355, 0.09011, 0.08517, 0.082, 0.08061, 0.08019, 0.08018, 0.081, 0.08185, 0.08771",\
                 "0.1082, 0.1044, 0.09873, 0.09458, 0.09256, 0.09174, 0.09147, 0.09202, 0.09274, 0.09875",\
                 "0.1319, 0.1276, 0.1206, 0.1156, 0.1127, 0.111, 0.1106, 0.11, 0.1111, 0.1186",\
                 "0.166, 0.161, 0.1525, 0.1456, 0.1418, 0.14, 0.1383, 0.1379, 0.1383, 0.1484",\
                 "0.2108, 0.2051, 0.1953, 0.1868, 0.1811, 0.178, 0.177, 0.1753, 0.1753, 0.1879",\
                 "0.2667, 0.2605, 0.2491, 0.2394, 0.2316, 0.2263, 0.2241, 0.224, 0.2238, 0.2397",\
                 "0.3339, 0.3271, 0.3141, 0.3024, 0.2934, 0.2867, 0.2823, 0.2808, 0.2841, 0.309");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3166, 0.3117, 0.3011, 0.2926, 0.287, 0.2832, 0.2806, 0.2787, 0.2774, 0.2764",\
                 "0.3159, 0.311, 0.3003, 0.2919, 0.2863, 0.2826, 0.2799, 0.2781, 0.2767, 0.2757",\
                 "0.317, 0.3121, 0.3015, 0.293, 0.2874, 0.2837, 0.281, 0.2792, 0.2778, 0.2768",\
                 "0.3266, 0.3217, 0.311, 0.3024, 0.2968, 0.293, 0.2904, 0.2885, 0.2871, 0.2862",\
                 "0.3494, 0.3443, 0.3331, 0.3241, 0.318, 0.314, 0.3112, 0.3092, 0.3078, 0.3068",\
                 "0.3885, 0.3832, 0.3711, 0.3609, 0.354, 0.3493, 0.3461, 0.3438, 0.3421, 0.3409",\
                 "0.4434, 0.4379, 0.425, 0.4132, 0.4053, 0.3999, 0.396, 0.3932, 0.3913, 0.3898",\
                 "0.5158, 0.5099, 0.4959, 0.4827, 0.4734, 0.4669, 0.4623, 0.459, 0.4565, 0.4548",\
                 "0.607, 0.6006, 0.5856, 0.5705, 0.5596, 0.5518, 0.5461, 0.5421, 0.5391, 0.5369",\
                 "0.717, 0.7104, 0.6942, 0.6772, 0.6644, 0.6551, 0.6483, 0.6433, 0.6396, 0.6369");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1008, 0.0975, 0.09263, 0.08989, 0.08863, 0.08831, 0.08846, 0.08892, 0.08987, 0.09549",\
                 "0.101, 0.09768, 0.09289, 0.08996, 0.0887, 0.08851, 0.0886, 0.08955, 0.08987, 0.09483",\
                 "0.1028, 0.09935, 0.0946, 0.09167, 0.09045, 0.09022, 0.09031, 0.0908, 0.09251, 0.09674",\
                 "0.1108, 0.1074, 0.1024, 0.09916, 0.09774, 0.09728, 0.09728, 0.09783, 0.09933, 0.1052",\
                 "0.131, 0.1271, 0.1216, 0.1173, 0.1154, 0.1145, 0.1145, 0.1148, 0.1152, 0.1215",\
                 "0.1644, 0.1599, 0.1527, 0.1481, 0.1452, 0.1434, 0.1429, 0.1424, 0.1437, 0.1506",\
                 "0.2125, 0.2074, 0.1992, 0.1923, 0.1882, 0.1864, 0.1849, 0.1841, 0.1845, 0.1946",\
                 "0.2762, 0.2706, 0.2607, 0.2524, 0.2464, 0.2431, 0.2419, 0.2407, 0.2403, 0.2522",\
                 "0.3557, 0.3495, 0.3379, 0.3279, 0.3205, 0.3153, 0.3127, 0.3128, 0.3126, 0.3295",\
                 "0.4517, 0.4449, 0.4319, 0.4201, 0.4112, 0.4043, 0.3998, 0.3983, 0.4015, 0.4265");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3172, 0.3125, 0.3029, 0.2957, 0.291, 0.288, 0.2858, 0.2843, 0.2832, 0.2825",\
                 "0.3165, 0.3117, 0.3022, 0.295, 0.2903, 0.2872, 0.285, 0.2835, 0.2825, 0.2817",\
                 "0.3177, 0.313, 0.3033, 0.2961, 0.2914, 0.2883, 0.2862, 0.2847, 0.2836, 0.2829",\
                 "0.3275, 0.3228, 0.313, 0.3057, 0.3009, 0.2978, 0.2956, 0.2941, 0.293, 0.2923",\
                 "0.3515, 0.3465, 0.3361, 0.3279, 0.3226, 0.319, 0.3166, 0.3149, 0.3137, 0.3129",\
                 "0.3917, 0.3865, 0.3749, 0.3653, 0.3588, 0.3545, 0.3516, 0.3495, 0.3481, 0.3471",\
                 "0.4482, 0.4426, 0.4298, 0.4185, 0.4107, 0.4053, 0.4016, 0.3991, 0.3972, 0.3959",\
                 "0.5224, 0.5163, 0.5022, 0.4892, 0.4796, 0.4729, 0.4682, 0.4648, 0.4625, 0.4608",\
                 "0.6154, 0.609, 0.5935, 0.5783, 0.5667, 0.5584, 0.5525, 0.5483, 0.5452, 0.5429",\
                 "0.7274, 0.7207, 0.7039, 0.6862, 0.6726, 0.6626, 0.6553, 0.6499, 0.646, 0.6431");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.09464, 0.09114, 0.08625, 0.08316, 0.0818, 0.08145, 0.08173, 0.08199, 0.08294, 0.08823",\
                 "0.09479, 0.09137, 0.08635, 0.08332, 0.08193, 0.08171, 0.08163, 0.08232, 0.08294, 0.08823",\
                 "0.09662, 0.09321, 0.08824, 0.08514, 0.08375, 0.08352, 0.08378, 0.0841, 0.08459, 0.09077",\
                 "0.1045, 0.1011, 0.09595, 0.0926, 0.09101, 0.09049, 0.09054, 0.09097, 0.09208, 0.09728",\
                 "0.1248, 0.1208, 0.115, 0.1108, 0.1086, 0.1076, 0.1077, 0.1076, 0.1086, 0.1149",\
                 "0.1579, 0.1535, 0.1463, 0.1413, 0.1381, 0.1363, 0.1357, 0.1358, 0.1364, 0.1446",\
                 "0.2056, 0.2008, 0.1924, 0.1853, 0.1813, 0.1792, 0.1779, 0.1769, 0.1776, 0.187",\
                 "0.2691, 0.2636, 0.2538, 0.2455, 0.2391, 0.2358, 0.2345, 0.2338, 0.2329, 0.2458",\
                 "0.3486, 0.3425, 0.331, 0.3209, 0.3132, 0.3081, 0.3054, 0.305, 0.3052, 0.3226",\
                 "0.4446, 0.4378, 0.4248, 0.4132, 0.4035, 0.3969, 0.3922, 0.3912, 0.395, 0.4219");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2977, 0.2927, 0.2819, 0.2732, 0.2675, 0.2637, 0.261, 0.259, 0.2577, 0.2567",\
                 "0.2973, 0.2923, 0.2815, 0.2728, 0.2671, 0.2632, 0.2605, 0.2586, 0.2573, 0.2562",\
                 "0.2996, 0.2945, 0.2837, 0.275, 0.2693, 0.2654, 0.2627, 0.2608, 0.2594, 0.2584",\
                 "0.3103, 0.3053, 0.2944, 0.2856, 0.2798, 0.2759, 0.2732, 0.2713, 0.2699, 0.2689",\
                 "0.333, 0.3278, 0.3165, 0.3072, 0.301, 0.2968, 0.294, 0.2919, 0.2905, 0.2894",\
                 "0.3701, 0.3647, 0.3525, 0.3419, 0.3347, 0.3299, 0.3266, 0.3242, 0.3225, 0.3213",\
                 "0.4206, 0.4149, 0.4017, 0.3898, 0.3816, 0.3758, 0.3718, 0.369, 0.367, 0.3655",\
                 "0.486, 0.4799, 0.4657, 0.4522, 0.4426, 0.4357, 0.4309, 0.4274, 0.425, 0.4232",\
                 "0.5691, 0.5627, 0.5474, 0.5321, 0.5208, 0.5126, 0.5068, 0.5026, 0.4994, 0.4972",\
                 "0.6709, 0.6642, 0.6478, 0.6306, 0.6174, 0.6077, 0.6007, 0.5954, 0.5917, 0.5887");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1657, 0.1623, 0.1576, 0.1548, 0.1535, 0.1533, 0.1533, 0.1537, 0.1549, 0.1599",\
                 "0.1661, 0.1627, 0.158, 0.1551, 0.154, 0.1536, 0.1541, 0.1545, 0.1552, 0.1605",\
                 "0.1701, 0.1668, 0.1621, 0.1593, 0.1579, 0.1577, 0.1578, 0.1584, 0.1592, 0.1641",\
                 "0.1809, 0.1776, 0.1726, 0.1695, 0.168, 0.1676, 0.1676, 0.1683, 0.169, 0.1745",\
                 "0.2017, 0.1978, 0.1921, 0.1881, 0.1859, 0.1852, 0.1848, 0.185, 0.1861, 0.1928",\
                 "0.2325, 0.2282, 0.2211, 0.2162, 0.2133, 0.2116, 0.2112, 0.2107, 0.2114, 0.2189",\
                 "0.2752, 0.2702, 0.2619, 0.2552, 0.251, 0.2493, 0.2477, 0.2468, 0.2475, 0.257",\
                 "0.3305, 0.3249, 0.3151, 0.3068, 0.3009, 0.2976, 0.2968, 0.2952, 0.2951, 0.307",\
                 "0.4019, 0.3957, 0.384, 0.3745, 0.3664, 0.3615, 0.359, 0.359, 0.3588, 0.376",\
                 "0.4897, 0.4829, 0.4698, 0.4582, 0.4491, 0.4424, 0.4381, 0.4369, 0.4402, 0.4647");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2094, 0.2047, 0.1951, 0.1879, 0.1832, 0.1801, 0.178, 0.1764, 0.1754, 0.1746",\
                 "0.2096, 0.2049, 0.1953, 0.1881, 0.1834, 0.1803, 0.1782, 0.1766, 0.1756, 0.1748",\
                 "0.2126, 0.208, 0.1985, 0.1913, 0.1867, 0.1836, 0.1815, 0.18, 0.1789, 0.1782",\
                 "0.2218, 0.2173, 0.2077, 0.2006, 0.196, 0.193, 0.1909, 0.1894, 0.1884, 0.1877",\
                 "0.2417, 0.2368, 0.2268, 0.219, 0.214, 0.2107, 0.2085, 0.2069, 0.2058, 0.205",\
                 "0.2693, 0.2643, 0.254, 0.2459, 0.2407, 0.2372, 0.2349, 0.2333, 0.2321, 0.2313",\
                 "0.3064, 0.3015, 0.291, 0.2829, 0.2775, 0.2738, 0.2714, 0.2698, 0.2686, 0.2678",\
                 "0.3543, 0.3493, 0.3387, 0.3304, 0.3248, 0.3212, 0.3187, 0.317, 0.3158, 0.3149",\
                 "0.4137, 0.4086, 0.3979, 0.3892, 0.3835, 0.3798, 0.3772, 0.3754, 0.3742, 0.3733",\
                 "0.4862, 0.4812, 0.4701, 0.4611, 0.4551, 0.4513, 0.4488, 0.4472, 0.446, 0.4451");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2449, 0.2413, 0.2358, 0.2322, 0.2304, 0.2298, 0.2297, 0.2301, 0.2314, 0.2357",\
                 "0.244, 0.2404, 0.235, 0.2314, 0.2296, 0.2291, 0.2291, 0.2294, 0.2301, 0.2356",\
                 "0.246, 0.2424, 0.2369, 0.2333, 0.2315, 0.231, 0.2309, 0.2311, 0.2323, 0.2379",\
                 "0.2568, 0.2532, 0.2479, 0.2441, 0.2424, 0.2418, 0.2417, 0.2422, 0.2432, 0.2499",\
                 "0.2783, 0.2747, 0.2692, 0.2655, 0.2637, 0.2631, 0.2629, 0.2635, 0.2642, 0.2717",\
                 "0.3111, 0.3077, 0.3021, 0.2984, 0.2965, 0.2957, 0.2955, 0.296, 0.297, 0.3062",\
                 "0.3565, 0.3528, 0.3472, 0.3433, 0.3414, 0.3404, 0.3402, 0.3406, 0.3419, 0.3552",\
                 "0.4149, 0.411, 0.4051, 0.4007, 0.399, 0.3989, 0.3985, 0.3979, 0.3997, 0.4188",\
                 "0.4876, 0.4836, 0.4776, 0.4728, 0.4704, 0.4696, 0.4707, 0.4702, 0.4728, 0.5027",\
                 "0.5758, 0.5717, 0.5651, 0.5604, 0.5579, 0.5562, 0.5558, 0.5585, 0.5638, 0.6172");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2596, 0.2546, 0.2439, 0.2353, 0.2297, 0.2259, 0.2233, 0.2214, 0.22, 0.219",\
                 "0.2591, 0.2541, 0.2434, 0.2349, 0.2292, 0.2254, 0.2228, 0.2209, 0.2195, 0.2185",\
                 "0.26, 0.255, 0.2443, 0.2357, 0.2301, 0.2263, 0.2236, 0.2217, 0.2204, 0.2194",\
                 "0.2663, 0.2613, 0.2505, 0.2418, 0.2362, 0.2324, 0.2297, 0.2278, 0.2264, 0.2254",\
                 "0.282, 0.2769, 0.2656, 0.2565, 0.2503, 0.2462, 0.2434, 0.2414, 0.24, 0.2389",\
                 "0.3096, 0.3043, 0.292, 0.2817, 0.2747, 0.27, 0.2667, 0.2644, 0.2627, 0.2615",\
                 "0.3482, 0.3425, 0.3295, 0.3178, 0.3097, 0.3041, 0.3002, 0.2974, 0.2954, 0.294",\
                 "0.3991, 0.3932, 0.3791, 0.3657, 0.3563, 0.3496, 0.3449, 0.3415, 0.3391, 0.3373",\
                 "0.4631, 0.4568, 0.4416, 0.4264, 0.4153, 0.4074, 0.4017, 0.3976, 0.3945, 0.3923",\
                 "0.5404, 0.5338, 0.5176, 0.5005, 0.4876, 0.478, 0.4711, 0.4661, 0.4623, 0.4596");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.0868, 0.08337, 0.07861, 0.07573, 0.07454, 0.07432, 0.07444, 0.07493, 0.07601, 0.08033",\
                 "0.08676, 0.08342, 0.07861, 0.0758, 0.07457, 0.07435, 0.07483, 0.07509, 0.07601, 0.08129",\
                 "0.08797, 0.08454, 0.07989, 0.07689, 0.07563, 0.07547, 0.07549, 0.07588, 0.077, 0.08222",\
                 "0.09353, 0.09008, 0.08516, 0.08204, 0.08058, 0.08016, 0.08058, 0.08093, 0.08184, 0.08771",\
                 "0.1082, 0.1044, 0.09873, 0.09444, 0.09256, 0.09167, 0.09143, 0.09176, 0.0924, 0.09941",\
                 "0.1318, 0.1275, 0.1203, 0.1153, 0.1125, 0.1108, 0.1103, 0.11, 0.1108, 0.1182",\
                 "0.1657, 0.1607, 0.1523, 0.1456, 0.1413, 0.1397, 0.138, 0.1375, 0.138, 0.1471",\
                 "0.2106, 0.2049, 0.1951, 0.1865, 0.1807, 0.1777, 0.1767, 0.1754, 0.1749, 0.1876",\
                 "0.2664, 0.2601, 0.2486, 0.2389, 0.2312, 0.2261, 0.2235, 0.2234, 0.2235, 0.2394",\
                 "0.3336, 0.3268, 0.3138, 0.3019, 0.2929, 0.2861, 0.2818, 0.2804, 0.2834, 0.3089");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1884, 0.1834, 0.1727, 0.1641, 0.1584, 0.1546, 0.1519, 0.15, 0.1487, 0.1477",\
                 "0.1885, 0.1836, 0.1728, 0.1642, 0.1586, 0.1548, 0.1521, 0.1502, 0.1488, 0.1478",\
                 "0.191, 0.186, 0.1753, 0.1668, 0.1612, 0.1574, 0.1548, 0.1529, 0.1516, 0.1506",\
                 "0.1978, 0.1929, 0.1823, 0.1739, 0.1684, 0.1647, 0.1621, 0.1603, 0.159, 0.1581",\
                 "0.2136, 0.2084, 0.1972, 0.1881, 0.1821, 0.178, 0.1752, 0.1733, 0.1718, 0.1708",\
                 "0.2346, 0.2293, 0.2176, 0.2078, 0.2013, 0.197, 0.194, 0.1919, 0.1904, 0.1894",\
                 "0.2603, 0.2549, 0.243, 0.2331, 0.2264, 0.222, 0.2189, 0.2167, 0.2152, 0.2141",\
                 "0.2926, 0.2871, 0.2751, 0.265, 0.2582, 0.2535, 0.2504, 0.2482, 0.2467, 0.2455",\
                 "0.332, 0.3265, 0.3144, 0.3042, 0.2971, 0.2924, 0.2892, 0.2868, 0.2853, 0.2841",\
                 "0.3794, 0.3739, 0.3616, 0.3508, 0.3437, 0.3389, 0.3357, 0.3334, 0.3317, 0.3306");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1976, 0.194, 0.1888, 0.1853, 0.1836, 0.1831, 0.1834, 0.1841, 0.1842, 0.1895",\
                 "0.1971, 0.1935, 0.1883, 0.1849, 0.1831, 0.1827, 0.183, 0.183, 0.1839, 0.1898",\
                 "0.1983, 0.1949, 0.1896, 0.1861, 0.1845, 0.1839, 0.1843, 0.1846, 0.1855, 0.1917",\
                 "0.2053, 0.2018, 0.1966, 0.1931, 0.1916, 0.1909, 0.1912, 0.1918, 0.1921, 0.1985",\
                 "0.2189, 0.2153, 0.21, 0.2063, 0.2048, 0.2041, 0.2045, 0.2048, 0.2055, 0.2137",\
                 "0.2395, 0.236, 0.2307, 0.2271, 0.2253, 0.2247, 0.2248, 0.2248, 0.2261, 0.2353",\
                 "0.2681, 0.2643, 0.2589, 0.2551, 0.2535, 0.2524, 0.2522, 0.2527, 0.2541, 0.2665",\
                 "0.3049, 0.3011, 0.2954, 0.291, 0.2889, 0.2889, 0.2883, 0.2881, 0.2895, 0.3089",\
                 "0.3505, 0.3466, 0.3406, 0.336, 0.3336, 0.3325, 0.3336, 0.3334, 0.3359, 0.3663",\
                 "0.4068, 0.4027, 0.3961, 0.3915, 0.3886, 0.3879, 0.387, 0.3899, 0.3954, 0.4483");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2014, 0.1965, 0.1858, 0.1772, 0.1716, 0.1678, 0.1652, 0.1633, 0.1619, 0.1609",\
                 "0.2016, 0.1967, 0.186, 0.1774, 0.1718, 0.168, 0.1654, 0.1635, 0.1621, 0.1611",\
                 "0.2047, 0.1998, 0.1891, 0.1806, 0.1751, 0.1713, 0.1687, 0.1668, 0.1655, 0.1645",\
                 "0.2137, 0.2088, 0.1983, 0.1899, 0.1844, 0.1808, 0.1782, 0.1764, 0.1751, 0.1742",\
                 "0.235, 0.2299, 0.2187, 0.2096, 0.2035, 0.1995, 0.1967, 0.1948, 0.1933, 0.1923",\
                 "0.2653, 0.26, 0.2483, 0.2386, 0.2322, 0.2278, 0.2249, 0.2228, 0.2213, 0.2202",\
                 "0.3047, 0.2993, 0.2875, 0.2776, 0.271, 0.2665, 0.2634, 0.2613, 0.2598, 0.2587",\
                 "0.3554, 0.35, 0.3381, 0.328, 0.3212, 0.3167, 0.3136, 0.3114, 0.3098, 0.3087",\
                 "0.4184, 0.4129, 0.4009, 0.3905, 0.3837, 0.379, 0.3758, 0.3735, 0.3719, 0.3708",\
                 "0.4941, 0.4886, 0.4763, 0.4658, 0.4586, 0.4539, 0.4507, 0.4484, 0.4468, 0.4457");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2516, 0.2481, 0.243, 0.2396, 0.2379, 0.2376, 0.2379, 0.2381, 0.2387, 0.2449",\
                 "0.251, 0.2476, 0.2423, 0.2389, 0.2373, 0.2368, 0.2368, 0.2372, 0.2384, 0.2429",\
                 "0.2526, 0.2492, 0.2439, 0.2406, 0.239, 0.2385, 0.2386, 0.2388, 0.2406, 0.2455",\
                 "0.2629, 0.2595, 0.2542, 0.2509, 0.2492, 0.2487, 0.2487, 0.2492, 0.2505, 0.2569",\
                 "0.2836, 0.2801, 0.2748, 0.2714, 0.2696, 0.2691, 0.2696, 0.2694, 0.2705, 0.2777",\
                 "0.3158, 0.3122, 0.3071, 0.3036, 0.3017, 0.3011, 0.3011, 0.3018, 0.303, 0.3116",\
                 "0.3608, 0.3571, 0.3517, 0.3477, 0.3463, 0.3453, 0.3452, 0.3459, 0.3465, 0.3592",\
                 "0.4191, 0.4152, 0.4096, 0.4052, 0.4031, 0.4034, 0.4029, 0.4027, 0.4043, 0.4228",\
                 "0.4917, 0.4877, 0.4818, 0.4775, 0.4751, 0.4739, 0.4753, 0.475, 0.4781, 0.507",\
                 "0.581, 0.5769, 0.5703, 0.5656, 0.5629, 0.5615, 0.5616, 0.5639, 0.5696, 0.6212");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2986, 0.2938, 0.2841, 0.2768, 0.272, 0.2688, 0.2666, 0.2651, 0.264, 0.2633",\
                 "0.2982, 0.2934, 0.2837, 0.2764, 0.2716, 0.2684, 0.2662, 0.2647, 0.2637, 0.2629",\
                 "0.3003, 0.2955, 0.2858, 0.2784, 0.2736, 0.2704, 0.2682, 0.2667, 0.2656, 0.2649",\
                 "0.3105, 0.3058, 0.2959, 0.2885, 0.2836, 0.2804, 0.2781, 0.2766, 0.2755, 0.2748",\
                 "0.3337, 0.3287, 0.3182, 0.3099, 0.3044, 0.3008, 0.2983, 0.2966, 0.2954, 0.2945",\
                 "0.3713, 0.366, 0.3543, 0.3445, 0.3378, 0.3334, 0.3304, 0.3283, 0.3268, 0.3257",\
                 "0.4226, 0.4169, 0.404, 0.3926, 0.3845, 0.3791, 0.3752, 0.3726, 0.3707, 0.3694",\
                 "0.49, 0.4839, 0.4696, 0.4563, 0.4465, 0.4397, 0.4348, 0.4314, 0.429, 0.4273",\
                 "0.5759, 0.5693, 0.5536, 0.5381, 0.5264, 0.5181, 0.5119, 0.5076, 0.5045, 0.5022",\
                 "0.6806, 0.6735, 0.6565, 0.6388, 0.625, 0.6148, 0.6073, 0.6019, 0.5979, 0.595");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1519, 0.1485, 0.1436, 0.1404, 0.1392, 0.1389, 0.1392, 0.1396, 0.1404, 0.1453",\
                 "0.1523, 0.1489, 0.144, 0.1409, 0.1397, 0.1393, 0.1394, 0.1399, 0.1407, 0.146",\
                 "0.1565, 0.1532, 0.1482, 0.145, 0.1437, 0.1434, 0.1438, 0.1441, 0.1446, 0.1495",\
                 "0.1674, 0.164, 0.1587, 0.1554, 0.1539, 0.1535, 0.1534, 0.1541, 0.1548, 0.161",\
                 "0.1887, 0.1847, 0.1789, 0.1748, 0.1725, 0.1716, 0.1717, 0.1717, 0.1723, 0.1789",\
                 "0.2207, 0.2163, 0.2092, 0.2043, 0.2012, 0.1994, 0.199, 0.1984, 0.1998, 0.2076",\
                 "0.265, 0.2601, 0.2516, 0.245, 0.2409, 0.2391, 0.2375, 0.2365, 0.2372, 0.2477",\
                 "0.3228, 0.3172, 0.3075, 0.2989, 0.2928, 0.2897, 0.2886, 0.2877, 0.287, 0.2996",\
                 "0.3965, 0.3904, 0.3787, 0.3689, 0.3613, 0.3561, 0.3539, 0.3539, 0.3531, 0.3708",\
                 "0.4868, 0.4801, 0.4671, 0.4552, 0.4463, 0.4395, 0.4352, 0.4336, 0.4365, 0.4641");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2686, 0.2637, 0.2529, 0.2443, 0.2386, 0.2348, 0.2321, 0.2302, 0.2288, 0.2278",\
                 "0.2691, 0.2642, 0.2534, 0.2448, 0.2392, 0.2353, 0.2326, 0.2307, 0.2293, 0.2283",\
                 "0.2746, 0.2696, 0.2589, 0.2504, 0.2447, 0.241, 0.2383, 0.2364, 0.2351, 0.2341",\
                 "0.2869, 0.282, 0.2714, 0.2629, 0.2574, 0.2538, 0.2512, 0.2493, 0.248, 0.2471",\
                 "0.309, 0.3039, 0.2926, 0.2835, 0.2774, 0.2733, 0.2706, 0.2685, 0.2671, 0.2661",\
                 "0.3377, 0.3324, 0.3206, 0.3108, 0.3043, 0.2999, 0.2969, 0.2948, 0.2933, 0.2922",\
                 "0.3724, 0.3668, 0.355, 0.345, 0.3383, 0.3338, 0.3307, 0.3286, 0.327, 0.3259",\
                 "0.4154, 0.4099, 0.3978, 0.3876, 0.3807, 0.3761, 0.373, 0.3707, 0.3691, 0.368",\
                 "0.4703, 0.4648, 0.4526, 0.4422, 0.4352, 0.4304, 0.427, 0.4248, 0.4231, 0.422",\
                 "0.5383, 0.5328, 0.5204, 0.5097, 0.5025, 0.4976, 0.4942, 0.4918, 0.4902, 0.489");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2354, 0.2318, 0.2266, 0.2228, 0.2212, 0.2206, 0.2205, 0.2209, 0.2219, 0.2274",\
                 "0.235, 0.2314, 0.2262, 0.2224, 0.2209, 0.2203, 0.2206, 0.2209, 0.2215, 0.2274",\
                 "0.2376, 0.234, 0.2287, 0.2252, 0.2235, 0.2229, 0.2229, 0.2231, 0.2244, 0.2306",\
                 "0.249, 0.2455, 0.2401, 0.2366, 0.2349, 0.2343, 0.2343, 0.2347, 0.2356, 0.2414",\
                 "0.2699, 0.2663, 0.261, 0.2574, 0.2555, 0.2549, 0.2548, 0.2552, 0.256, 0.2635",\
                 "0.3001, 0.2966, 0.2912, 0.2874, 0.2857, 0.285, 0.2847, 0.285, 0.2861, 0.2953",\
                 "0.3407, 0.3371, 0.3314, 0.3276, 0.3258, 0.3247, 0.3245, 0.3251, 0.3264, 0.3397",\
                 "0.3924, 0.3886, 0.3828, 0.3785, 0.3763, 0.376, 0.3755, 0.3752, 0.3778, 0.3962",\
                 "0.4571, 0.4532, 0.4472, 0.4423, 0.4397, 0.4387, 0.4395, 0.4395, 0.4424, 0.4722",\
                 "0.5379, 0.5338, 0.527, 0.5221, 0.5194, 0.5179, 0.5184, 0.5204, 0.5261, 0.5789");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.269, 0.2643, 0.2547, 0.2474, 0.2427, 0.2396, 0.2374, 0.2358, 0.2348, 0.234",\
                 "0.2696, 0.2649, 0.2552, 0.2479, 0.2432, 0.2401, 0.2379, 0.2364, 0.2353, 0.2345",\
                 "0.2751, 0.2704, 0.2607, 0.2535, 0.2488, 0.2457, 0.2436, 0.2421, 0.241, 0.2403",\
                 "0.2877, 0.2831, 0.2735, 0.2664, 0.2617, 0.2587, 0.2566, 0.2551, 0.254, 0.2533",\
                 "0.3091, 0.3043, 0.2942, 0.2864, 0.2814, 0.2781, 0.2758, 0.2742, 0.2731, 0.2723",\
                 "0.3364, 0.3315, 0.3212, 0.313, 0.3076, 0.3041, 0.3018, 0.3002, 0.299, 0.2982",\
                 "0.3708, 0.3658, 0.3553, 0.347, 0.3415, 0.3379, 0.3354, 0.3338, 0.3326, 0.3317",\
                 "0.4136, 0.4086, 0.3978, 0.3893, 0.3837, 0.38, 0.3775, 0.3758, 0.3745, 0.3737",\
                 "0.4673, 0.4624, 0.4516, 0.4427, 0.4369, 0.4332, 0.4305, 0.4288, 0.4275, 0.4267",\
                 "0.5345, 0.5293, 0.5182, 0.5092, 0.5031, 0.4992, 0.4966, 0.4949, 0.4937, 0.4928");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2293, 0.2256, 0.2201, 0.2161, 0.2144, 0.2137, 0.2136, 0.2138, 0.2153, 0.2198",\
                 "0.2289, 0.2252, 0.2196, 0.2158, 0.214, 0.2133, 0.2132, 0.2138, 0.2143, 0.2205",\
                 "0.2315, 0.2278, 0.2223, 0.2186, 0.2166, 0.216, 0.2158, 0.2162, 0.2175, 0.2227",\
                 "0.2428, 0.2392, 0.2336, 0.2298, 0.2279, 0.2272, 0.2271, 0.2275, 0.229, 0.2344",\
                 "0.2636, 0.2599, 0.2545, 0.2506, 0.2486, 0.2479, 0.2476, 0.2479, 0.249, 0.2575",\
                 "0.2938, 0.2902, 0.2847, 0.2809, 0.2788, 0.2781, 0.2776, 0.2784, 0.2792, 0.2897",\
                 "0.3344, 0.3307, 0.3249, 0.3209, 0.319, 0.3178, 0.3177, 0.3182, 0.3191, 0.3321",\
                 "0.3864, 0.3824, 0.3766, 0.3719, 0.3698, 0.3695, 0.369, 0.3687, 0.3709, 0.3899",\
                 "0.4518, 0.4478, 0.4416, 0.4366, 0.4339, 0.4334, 0.4336, 0.4337, 0.4361, 0.4671",\
                 "0.5327, 0.5285, 0.5217, 0.5167, 0.5138, 0.5128, 0.5122, 0.5143, 0.5206, 0.5734");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1884, 0.1834, 0.1727, 0.1641, 0.1584, 0.1546, 0.152, 0.1501, 0.1487, 0.1477",\
                 "0.1885, 0.1835, 0.1728, 0.1641, 0.1585, 0.1547, 0.1521, 0.1501, 0.1488, 0.1478",\
                 "0.1909, 0.186, 0.1753, 0.1667, 0.1612, 0.1574, 0.1547, 0.1529, 0.1515, 0.1506",\
                 "0.1977, 0.1928, 0.1822, 0.1738, 0.1683, 0.1646, 0.1621, 0.1602, 0.1589, 0.158",\
                 "0.2134, 0.2083, 0.1971, 0.188, 0.1819, 0.1779, 0.1751, 0.1731, 0.1717, 0.1707",\
                 "0.2342, 0.2289, 0.2173, 0.2075, 0.201, 0.1967, 0.1937, 0.1917, 0.1902, 0.1891",\
                 "0.2598, 0.2544, 0.2425, 0.2326, 0.2259, 0.2214, 0.2184, 0.2162, 0.2147, 0.2136",\
                 "0.2919, 0.2864, 0.2745, 0.2644, 0.2576, 0.253, 0.2498, 0.2477, 0.2461, 0.245",\
                 "0.3311, 0.3257, 0.3135, 0.3032, 0.2963, 0.2917, 0.2884, 0.2861, 0.2845, 0.2834",\
                 "0.3783, 0.3728, 0.3605, 0.35, 0.3428, 0.338, 0.3347, 0.3324, 0.3308, 0.3296");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.195, 0.1915, 0.1862, 0.1827, 0.1811, 0.1806, 0.1805, 0.1809, 0.1819, 0.1872",\
                 "0.1945, 0.191, 0.1859, 0.1822, 0.1807, 0.1802, 0.1802, 0.1806, 0.1816, 0.1871",\
                 "0.1959, 0.1925, 0.1872, 0.1838, 0.1821, 0.1816, 0.1815, 0.182, 0.1835, 0.189",\
                 "0.203, 0.1996, 0.1943, 0.1906, 0.1891, 0.1885, 0.1888, 0.1892, 0.1901, 0.1965",\
                 "0.2166, 0.2131, 0.2077, 0.2042, 0.2024, 0.2019, 0.2021, 0.2021, 0.2032, 0.2117",\
                 "0.2373, 0.2337, 0.2285, 0.2249, 0.2231, 0.2226, 0.2223, 0.2227, 0.2241, 0.234",\
                 "0.2659, 0.2623, 0.2566, 0.2529, 0.2513, 0.2502, 0.25, 0.2508, 0.2522, 0.2642",\
                 "0.3028, 0.2991, 0.2933, 0.289, 0.287, 0.2868, 0.2866, 0.2862, 0.2875, 0.3069",\
                 "0.3486, 0.3446, 0.3384, 0.3338, 0.3315, 0.3302, 0.3316, 0.3317, 0.3342, 0.3647",\
                 "0.4049, 0.4008, 0.394, 0.3895, 0.3867, 0.3855, 0.3858, 0.3881, 0.3935, 0.4452");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2704, 0.2657, 0.256, 0.2487, 0.244, 0.2409, 0.2387, 0.2372, 0.2361, 0.2354",\
                 "0.2699, 0.2652, 0.2556, 0.2483, 0.2436, 0.2405, 0.2383, 0.2368, 0.2357, 0.2349",\
                 "0.271, 0.2663, 0.2566, 0.2493, 0.2445, 0.2414, 0.2392, 0.2377, 0.2366, 0.2359",\
                 "0.2778, 0.2731, 0.2633, 0.2558, 0.251, 0.2479, 0.2457, 0.2441, 0.2431, 0.2423",\
                 "0.2956, 0.2906, 0.2802, 0.2719, 0.2665, 0.2629, 0.2604, 0.2588, 0.2576, 0.2567",\
                 "0.3258, 0.3206, 0.309, 0.2993, 0.2927, 0.2883, 0.2853, 0.2832, 0.2818, 0.2807",\
                 "0.3681, 0.3624, 0.3496, 0.3383, 0.3304, 0.3249, 0.3212, 0.3186, 0.3167, 0.3153",\
                 "0.4238, 0.4177, 0.4035, 0.3903, 0.3806, 0.3738, 0.3691, 0.3657, 0.3633, 0.3616",\
                 "0.4936, 0.4871, 0.4715, 0.4561, 0.4444, 0.4361, 0.4301, 0.4258, 0.4227, 0.4204",\
                 "0.5774, 0.5706, 0.5537, 0.5358, 0.5222, 0.512, 0.5046, 0.4993, 0.4953, 0.4923");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.0841, 0.08068, 0.07571, 0.07266, 0.07127, 0.07108, 0.07134, 0.0716, 0.07304, 0.07734",\
                 "0.0841, 0.0807, 0.07574, 0.07276, 0.07131, 0.07105, 0.07104, 0.07173, 0.07238, 0.07701",\
                 "0.08524, 0.08182, 0.07691, 0.07389, 0.07253, 0.07214, 0.07223, 0.07252, 0.0737, 0.07859",\
                 "0.09101, 0.08767, 0.08245, 0.07907, 0.07754, 0.07709, 0.07708, 0.07754, 0.07854, 0.08408",\
                 "0.1063, 0.1024, 0.09666, 0.0923, 0.09025, 0.08927, 0.08893, 0.08915, 0.09009, 0.09641",\
                 "0.1312, 0.1268, 0.1196, 0.1146, 0.1117, 0.1098, 0.1091, 0.109, 0.11, 0.1182",\
                 "0.1671, 0.1621, 0.1537, 0.1466, 0.1429, 0.1407, 0.1393, 0.1383, 0.1392, 0.1487",\
                 "0.2148, 0.2092, 0.1994, 0.191, 0.1849, 0.1818, 0.1803, 0.1792, 0.1791, 0.1917",\
                 "0.2742, 0.268, 0.2566, 0.2468, 0.2388, 0.2338, 0.2315, 0.231, 0.231, 0.2486",\
                 "0.346, 0.3392, 0.3263, 0.3145, 0.3054, 0.2984, 0.2941, 0.2928, 0.2954, 0.3236");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1998, 0.1951, 0.1855, 0.1782, 0.1736, 0.1704, 0.1682, 0.1667, 0.1657, 0.1649",\
                 "0.1999, 0.1952, 0.1856, 0.1783, 0.1736, 0.1705, 0.1683, 0.1668, 0.1658, 0.165",\
                 "0.2024, 0.1977, 0.1881, 0.1809, 0.1762, 0.1731, 0.171, 0.1695, 0.1685, 0.1677",\
                 "0.2095, 0.2049, 0.1954, 0.1882, 0.1836, 0.1805, 0.1785, 0.177, 0.176, 0.1753",\
                 "0.2246, 0.2198, 0.2097, 0.202, 0.197, 0.1936, 0.1914, 0.1899, 0.1888, 0.188",\
                 "0.2442, 0.2393, 0.229, 0.221, 0.2157, 0.2122, 0.2098, 0.2082, 0.2071, 0.2062",\
                 "0.2697, 0.2647, 0.2543, 0.2461, 0.2407, 0.237, 0.2346, 0.2329, 0.2318, 0.231",\
                 "0.302, 0.297, 0.2864, 0.278, 0.2724, 0.2687, 0.2662, 0.2645, 0.2633, 0.2624",\
                 "0.3417, 0.3366, 0.3259, 0.3171, 0.3114, 0.3076, 0.3051, 0.3033, 0.302, 0.3012",\
                 "0.3899, 0.3848, 0.3737, 0.3647, 0.3587, 0.3549, 0.3524, 0.3508, 0.3496, 0.3487");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1986, 0.1951, 0.1896, 0.1857, 0.184, 0.1833, 0.1832, 0.1834, 0.1842, 0.1904",\
                 "0.1981, 0.1945, 0.1891, 0.1854, 0.1836, 0.1829, 0.183, 0.1834, 0.1839, 0.1891",\
                 "0.1999, 0.1962, 0.1908, 0.187, 0.1852, 0.1846, 0.1845, 0.1847, 0.1861, 0.1917",\
                 "0.2078, 0.2042, 0.1987, 0.1949, 0.1932, 0.1925, 0.1925, 0.1929, 0.194, 0.2001",\
                 "0.223, 0.2194, 0.2139, 0.2102, 0.2083, 0.2075, 0.2074, 0.2076, 0.2088, 0.2163",\
                 "0.2459, 0.2422, 0.2368, 0.2329, 0.2311, 0.2303, 0.2301, 0.2304, 0.2313, 0.2409",\
                 "0.277, 0.2734, 0.2677, 0.2637, 0.2619, 0.2608, 0.2609, 0.2608, 0.2624, 0.276",\
                 "0.3172, 0.3133, 0.3075, 0.303, 0.301, 0.3006, 0.3, 0.2998, 0.3023, 0.3207",\
                 "0.3665, 0.3625, 0.3563, 0.3518, 0.3491, 0.3483, 0.3489, 0.3486, 0.352, 0.382",\
                 "0.4266, 0.4225, 0.4158, 0.411, 0.4084, 0.407, 0.4062, 0.4089, 0.4148, 0.4676");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&!I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1489, 0.1453, 0.1384, 0.1338, 0.1309, 0.129, 0.1278, 0.1268, 0.1261, 0.1257",\
                 "0.1481, 0.1446, 0.1377, 0.1331, 0.1303, 0.1284, 0.1271, 0.1262, 0.1255, 0.125",\
                 "0.1496, 0.146, 0.1392, 0.1347, 0.132, 0.1302, 0.1289, 0.128, 0.1274, 0.1269",\
                 "0.1571, 0.1535, 0.1465, 0.1419, 0.1391, 0.1374, 0.1362, 0.1353, 0.1347, 0.1343",\
                 "0.1749, 0.1709, 0.163, 0.1576, 0.1544, 0.1524, 0.151, 0.1501, 0.1494, 0.1489",\
                 "0.2028, 0.1984, 0.1893, 0.1827, 0.1788, 0.1762, 0.1745, 0.1733, 0.1725, 0.1719",\
                 "0.242, 0.237, 0.2265, 0.2184, 0.2132, 0.2098, 0.2075, 0.206, 0.2049, 0.2041",\
                 "0.2929, 0.2875, 0.2753, 0.2651, 0.2586, 0.2541, 0.2509, 0.2488, 0.2472, 0.2461",\
                 "0.3556, 0.3499, 0.3361, 0.3237, 0.3153, 0.3095, 0.3054, 0.3025, 0.3003, 0.2988",\
                 "0.4304, 0.4244, 0.4093, 0.3943, 0.3839, 0.3767, 0.3713, 0.3674, 0.3646, 0.3626");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.06358, 0.0606, 0.05705, 0.0552, 0.05461, 0.05468, 0.05467, 0.05536, 0.05654, 0.06059",\
                 "0.0633, 0.06033, 0.05681, 0.05501, 0.05441, 0.05448, 0.05447, 0.05516, 0.05621, 0.06026",\
                 "0.06427, 0.06141, 0.05777, 0.05623, 0.05566, 0.0557, 0.05596, 0.05654, 0.05753, 0.06218",\
                 "0.07246, 0.06938, 0.06529, 0.06286, 0.06206, 0.06204, 0.06203, 0.06252, 0.0638, 0.06965",\
                 "0.08865, 0.08484, 0.0797, 0.07652, 0.07474, 0.07438, 0.07434, 0.07483, 0.0759, 0.08138",\
                 "0.1133, 0.109, 0.1023, 0.09768, 0.09562, 0.09438, 0.09377, 0.0937, 0.09461, 0.1016",\
                 "0.1472, 0.142, 0.1337, 0.1274, 0.1238, 0.1224, 0.1218, 0.1207, 0.1216, 0.1299",\
                 "0.1906, 0.1847, 0.175, 0.167, 0.1613, 0.1591, 0.1584, 0.1577, 0.1579, 0.1685",\
                 "0.2441, 0.2372, 0.2257, 0.2158, 0.2091, 0.2047, 0.2029, 0.2033, 0.2037, 0.2189",\
                 "0.3077, 0.3002, 0.2866, 0.2754, 0.2671, 0.2606, 0.2571, 0.2563, 0.2589, 0.2804");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1487, 0.1452, 0.1383, 0.1337, 0.1309, 0.129, 0.1277, 0.1268, 0.1261, 0.1257",\
                 "0.148, 0.1445, 0.1376, 0.133, 0.1302, 0.1284, 0.1271, 0.1262, 0.1255, 0.125",\
                 "0.1495, 0.146, 0.1392, 0.1346, 0.1319, 0.1301, 0.1289, 0.128, 0.1273, 0.1269",\
                 "0.1571, 0.1534, 0.1465, 0.1419, 0.1391, 0.1374, 0.1362, 0.1353, 0.1347, 0.1343",\
                 "0.1748, 0.1709, 0.163, 0.1576, 0.1544, 0.1524, 0.151, 0.1501, 0.1494, 0.1489",\
                 "0.2028, 0.1984, 0.1893, 0.1827, 0.1788, 0.1762, 0.1745, 0.1734, 0.1725, 0.1719",\
                 "0.2419, 0.237, 0.2265, 0.2184, 0.2132, 0.2099, 0.2075, 0.206, 0.2049, 0.2041",\
                 "0.2929, 0.2875, 0.2754, 0.2653, 0.2587, 0.2541, 0.251, 0.2489, 0.2473, 0.2462",\
                 "0.3557, 0.35, 0.3362, 0.3238, 0.3155, 0.3096, 0.3055, 0.3026, 0.3004, 0.2989",\
                 "0.4305, 0.4245, 0.4094, 0.3944, 0.384, 0.3767, 0.3714, 0.3676, 0.3648, 0.3627");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.06354, 0.0606, 0.05701, 0.0552, 0.05461, 0.05468, 0.0548, 0.05549, 0.05653, 0.06059",\
                 "0.06325, 0.06029, 0.05678, 0.05497, 0.05441, 0.05448, 0.0546, 0.05516, 0.0562, 0.06026",\
                 "0.06423, 0.06139, 0.0579, 0.05616, 0.05566, 0.05577, 0.05605, 0.05677, 0.05752, 0.06251",\
                 "0.07249, 0.06938, 0.0652, 0.06289, 0.0621, 0.06207, 0.06216, 0.06255, 0.06379, 0.06965",\
                 "0.08871, 0.08496, 0.07981, 0.07649, 0.0749, 0.07461, 0.07463, 0.07469, 0.07623, 0.08237",\
                 "0.1133, 0.1091, 0.1023, 0.09754, 0.09566, 0.09448, 0.09381, 0.09367, 0.09461, 0.1016",\
                 "0.1472, 0.142, 0.1338, 0.1274, 0.1238, 0.1227, 0.1217, 0.1208, 0.1222, 0.1295",\
                 "0.1906, 0.1847, 0.175, 0.167, 0.1616, 0.159, 0.1585, 0.1581, 0.1579, 0.1685",\
                 "0.2441, 0.2372, 0.2256, 0.2158, 0.2093, 0.2045, 0.2027, 0.2033, 0.2033, 0.2189",\
                 "0.3078, 0.3002, 0.2866, 0.2753, 0.2671, 0.2609, 0.2574, 0.2563, 0.2593, 0.2813");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1487, 0.1452, 0.1383, 0.1337, 0.1309, 0.129, 0.1277, 0.1268, 0.1261, 0.1257",\
                 "0.148, 0.1445, 0.1376, 0.133, 0.1302, 0.1284, 0.1271, 0.1262, 0.1255, 0.125",\
                 "0.1495, 0.146, 0.1392, 0.1346, 0.1319, 0.1301, 0.1289, 0.128, 0.1273, 0.1269",\
                 "0.1571, 0.1534, 0.1465, 0.1419, 0.1391, 0.1374, 0.1362, 0.1353, 0.1347, 0.1343",\
                 "0.1748, 0.1709, 0.163, 0.1576, 0.1544, 0.1524, 0.151, 0.1501, 0.1494, 0.1489",\
                 "0.2028, 0.1984, 0.1893, 0.1827, 0.1788, 0.1762, 0.1745, 0.1733, 0.1725, 0.1719",\
                 "0.2419, 0.237, 0.2265, 0.2184, 0.2132, 0.2099, 0.2075, 0.206, 0.2049, 0.2041",\
                 "0.2929, 0.2876, 0.2754, 0.2652, 0.2587, 0.2542, 0.2511, 0.2489, 0.2473, 0.2462",\
                 "0.3556, 0.35, 0.3362, 0.3238, 0.3154, 0.3096, 0.3055, 0.3026, 0.3005, 0.2989",\
                 "0.4304, 0.4245, 0.4094, 0.3944, 0.384, 0.3767, 0.3714, 0.3676, 0.3648, 0.3627");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.06353, 0.06063, 0.05703, 0.0552, 0.05464, 0.05468, 0.0548, 0.05536, 0.05653, 0.06059",\
                 "0.06326, 0.06029, 0.05678, 0.05497, 0.05441, 0.05448, 0.0546, 0.05516, 0.0562, 0.06026",\
                 "0.06423, 0.06139, 0.0579, 0.05616, 0.05566, 0.05577, 0.05606, 0.05678, 0.05752, 0.06251",\
                 "0.07243, 0.06937, 0.0652, 0.06289, 0.0621, 0.06207, 0.06206, 0.06255, 0.06379, 0.06965",\
                 "0.08871, 0.08496, 0.07971, 0.07642, 0.0749, 0.07438, 0.07437, 0.07489, 0.0759, 0.08138",\
                 "0.1133, 0.1091, 0.1023, 0.09754, 0.09566, 0.09448, 0.09384, 0.09367, 0.09461, 0.1016",\
                 "0.1471, 0.142, 0.1339, 0.1275, 0.124, 0.1227, 0.1218, 0.1208, 0.1222, 0.1299",\
                 "0.1906, 0.1847, 0.175, 0.1671, 0.1616, 0.159, 0.1585, 0.1576, 0.1579, 0.1685",\
                 "0.2441, 0.2372, 0.2256, 0.2158, 0.2092, 0.2047, 0.2026, 0.2032, 0.2037, 0.2179",\
                 "0.3078, 0.3002, 0.2866, 0.2753, 0.2669, 0.2607, 0.2574, 0.2561, 0.2593, 0.2804");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1489, 0.1453, 0.1384, 0.1338, 0.1309, 0.129, 0.1278, 0.1268, 0.1261, 0.1257",\
                 "0.1481, 0.1446, 0.1377, 0.1331, 0.1303, 0.1284, 0.1271, 0.1262, 0.1255, 0.125",\
                 "0.1496, 0.146, 0.1392, 0.1347, 0.132, 0.1302, 0.1289, 0.128, 0.1274, 0.1269",\
                 "0.1571, 0.1535, 0.1465, 0.1419, 0.1391, 0.1374, 0.1362, 0.1353, 0.1347, 0.1343",\
                 "0.1749, 0.1709, 0.163, 0.1576, 0.1544, 0.1524, 0.151, 0.1501, 0.1494, 0.1489",\
                 "0.2028, 0.1984, 0.1893, 0.1827, 0.1787, 0.1762, 0.1745, 0.1733, 0.1725, 0.1719",\
                 "0.2419, 0.237, 0.2265, 0.2184, 0.2132, 0.2099, 0.2075, 0.206, 0.2049, 0.2041",\
                 "0.2929, 0.2875, 0.2753, 0.2651, 0.2586, 0.2541, 0.251, 0.2488, 0.2472, 0.2461",\
                 "0.3557, 0.3499, 0.3361, 0.3238, 0.3154, 0.3095, 0.3054, 0.3025, 0.3003, 0.2988",\
                 "0.4304, 0.4244, 0.4093, 0.3943, 0.3839, 0.3766, 0.3713, 0.3674, 0.3646, 0.3626");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.06359, 0.06065, 0.057, 0.05524, 0.05461, 0.05465, 0.05477, 0.05549, 0.05654, 0.0606",\
                 "0.0633, 0.06033, 0.0568, 0.05501, 0.05441, 0.05448, 0.0546, 0.05516, 0.05621, 0.06027",\
                 "0.06427, 0.06142, 0.05777, 0.05623, 0.05566, 0.0557, 0.05596, 0.05655, 0.05753, 0.06218",\
                 "0.07246, 0.06938, 0.06522, 0.0629, 0.06207, 0.06204, 0.06203, 0.06252, 0.06413, 0.06965",\
                 "0.0886, 0.08489, 0.0797, 0.07643, 0.07484, 0.07435, 0.07437, 0.07483, 0.07557, 0.08105",\
                 "0.1132, 0.109, 0.1023, 0.09768, 0.09582, 0.09438, 0.09368, 0.0937, 0.09461, 0.1022",\
                 "0.1472, 0.142, 0.1337, 0.1274, 0.1236, 0.1224, 0.1216, 0.1207, 0.1212, 0.1299",\
                 "0.1906, 0.1847, 0.175, 0.167, 0.1616, 0.1586, 0.1584, 0.158, 0.1579, 0.1685",\
                 "0.2441, 0.2372, 0.2257, 0.2159, 0.2091, 0.2048, 0.2028, 0.2033, 0.204, 0.2179",\
                 "0.3077, 0.3, 0.2867, 0.2755, 0.2671, 0.2604, 0.2571, 0.2561, 0.2589, 0.2804");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1113, 0.108, 0.1019, 0.09793, 0.09551, 0.09389, 0.09278, 0.09197, 0.09144, 0.09105",\
                 "0.1112, 0.1079, 0.1018, 0.0979, 0.09553, 0.09391, 0.0928, 0.092, 0.09148, 0.09106",\
                 "0.113, 0.1098, 0.1038, 0.1, 0.09776, 0.09626, 0.09523, 0.0945, 0.09402, 0.09366",\
                 "0.1209, 0.1173, 0.1108, 0.1067, 0.1043, 0.1028, 0.1018, 0.1011, 0.1006, 0.1002",\
                 "0.1366, 0.1323, 0.1247, 0.1196, 0.1166, 0.1149, 0.1138, 0.1131, 0.1125, 0.1122",\
                 "0.1543, 0.1499, 0.1422, 0.1371, 0.1341, 0.1322, 0.1311, 0.1304, 0.1298, 0.1296",\
                 "0.1781, 0.1736, 0.1658, 0.1607, 0.1577, 0.1558, 0.1547, 0.1539, 0.1534, 0.1531",\
                 "0.2085, 0.204, 0.1962, 0.1909, 0.1877, 0.1859, 0.1847, 0.1839, 0.1834, 0.1831",\
                 "0.2463, 0.2417, 0.2335, 0.2282, 0.2248, 0.2229, 0.2219, 0.2212, 0.2207, 0.2204",\
                 "0.2945, 0.2898, 0.2814, 0.2755, 0.2719, 0.2699, 0.2691, 0.2686, 0.2683, 0.2681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1241, 0.121, 0.1169, 0.1145, 0.1137, 0.1137, 0.1139, 0.1147, 0.1156, 0.1203",\
                 "0.1236, 0.1204, 0.1163, 0.114, 0.1132, 0.1133, 0.1133, 0.1142, 0.1149, 0.1206",\
                 "0.1259, 0.1227, 0.1185, 0.1163, 0.1154, 0.1156, 0.1157, 0.1162, 0.1173, 0.1228",\
                 "0.1334, 0.1304, 0.1263, 0.124, 0.1231, 0.1232, 0.1234, 0.1238, 0.1254, 0.1313",\
                 "0.147, 0.1441, 0.1402, 0.1379, 0.1369, 0.1369, 0.1376, 0.138, 0.1389, 0.1452",\
                 "0.1677, 0.1646, 0.1607, 0.1586, 0.1575, 0.1573, 0.1576, 0.1583, 0.1595, 0.1676",\
                 "0.1959, 0.1929, 0.1885, 0.1857, 0.1852, 0.1851, 0.1853, 0.1853, 0.187, 0.1976",\
                 "0.2321, 0.2287, 0.2244, 0.2211, 0.2199, 0.2206, 0.2208, 0.221, 0.2228, 0.2383",\
                 "0.278, 0.2745, 0.2693, 0.2665, 0.265, 0.2648, 0.2662, 0.267, 0.2699, 0.2944",\
                 "0.336, 0.3322, 0.3268, 0.3231, 0.3215, 0.3215, 0.3215, 0.3246, 0.3293, 0.3721");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1487, 0.1452, 0.1383, 0.1337, 0.1309, 0.129, 0.1277, 0.1268, 0.1261, 0.1257",\
                 "0.148, 0.1445, 0.1376, 0.133, 0.1302, 0.1284, 0.1271, 0.1262, 0.1255, 0.125",\
                 "0.1495, 0.146, 0.1392, 0.1346, 0.1319, 0.1301, 0.1289, 0.128, 0.1273, 0.1269",\
                 "0.1571, 0.1534, 0.1465, 0.1419, 0.1391, 0.1374, 0.1362, 0.1353, 0.1347, 0.1343",\
                 "0.1748, 0.1709, 0.163, 0.1576, 0.1544, 0.1524, 0.151, 0.1501, 0.1494, 0.1489",\
                 "0.2028, 0.1984, 0.1893, 0.1827, 0.1787, 0.1762, 0.1745, 0.1733, 0.1725, 0.1719",\
                 "0.2419, 0.237, 0.2265, 0.2184, 0.2133, 0.2099, 0.2075, 0.206, 0.2049, 0.2041",\
                 "0.2929, 0.2875, 0.2754, 0.2653, 0.2587, 0.2541, 0.251, 0.2489, 0.2473, 0.2462",\
                 "0.3556, 0.35, 0.3362, 0.3238, 0.3155, 0.3096, 0.3055, 0.3026, 0.3004, 0.2989",\
                 "0.4305, 0.4245, 0.4094, 0.3944, 0.384, 0.3767, 0.3714, 0.3676, 0.3648, 0.3627");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.06353, 0.06056, 0.05705, 0.05514, 0.05464, 0.05468, 0.0547, 0.05539, 0.05653, 0.06059",\
                 "0.06325, 0.06029, 0.05678, 0.05491, 0.05437, 0.05445, 0.05447, 0.05516, 0.0562, 0.06026",\
                 "0.06423, 0.06139, 0.0579, 0.05616, 0.05566, 0.05577, 0.05606, 0.05678, 0.05752, 0.06284",\
                 "0.07243, 0.06938, 0.0652, 0.06289, 0.0621, 0.06207, 0.06216, 0.06255, 0.06379, 0.06965",\
                 "0.08872, 0.08496, 0.07972, 0.07642, 0.0749, 0.07454, 0.07434, 0.07469, 0.07656, 0.08138",\
                 "0.1133, 0.1091, 0.1023, 0.09764, 0.09589, 0.09451, 0.09387, 0.09367, 0.09461, 0.1016",\
                 "0.1471, 0.1419, 0.1338, 0.1274, 0.124, 0.1227, 0.1219, 0.1211, 0.1222, 0.1305",\
                 "0.1906, 0.1847, 0.175, 0.167, 0.1616, 0.1587, 0.1581, 0.1576, 0.1579, 0.1675",\
                 "0.2441, 0.2372, 0.2254, 0.2159, 0.2091, 0.2042, 0.2027, 0.2027, 0.2037, 0.2189",\
                 "0.3078, 0.3002, 0.2866, 0.2756, 0.2671, 0.2609, 0.2574, 0.256, 0.2589, 0.2811");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1113, 0.108, 0.1019, 0.09802, 0.09558, 0.09395, 0.09284, 0.09204, 0.09152, 0.09112",\
                 "0.1112, 0.1079, 0.1018, 0.09791, 0.0955, 0.09389, 0.09276, 0.09202, 0.09145, 0.09106",\
                 "0.113, 0.1098, 0.1038, 0.1, 0.09778, 0.09625, 0.09522, 0.09451, 0.09402, 0.09364",\
                 "0.1209, 0.1173, 0.1108, 0.1067, 0.1043, 0.1028, 0.1018, 0.1011, 0.1006, 0.1002",\
                 "0.1366, 0.1323, 0.1247, 0.1196, 0.1167, 0.1149, 0.1138, 0.1131, 0.1125, 0.1121",\
                 "0.1543, 0.1499, 0.1421, 0.137, 0.1341, 0.1323, 0.1311, 0.1304, 0.1299, 0.1295",\
                 "0.1781, 0.1736, 0.1658, 0.1607, 0.1577, 0.1559, 0.1547, 0.1539, 0.1535, 0.1531",\
                 "0.2085, 0.204, 0.1962, 0.1909, 0.1877, 0.1859, 0.1847, 0.1839, 0.1834, 0.1831",\
                 "0.2463, 0.2417, 0.2335, 0.2282, 0.2248, 0.2229, 0.2219, 0.2212, 0.2207, 0.2204",\
                 "0.2945, 0.2898, 0.2814, 0.2755, 0.2719, 0.2699, 0.2691, 0.2686, 0.2683, 0.2681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1241, 0.121, 0.1169, 0.1145, 0.1138, 0.1137, 0.1139, 0.1147, 0.1156, 0.1203",\
                 "0.1236, 0.1204, 0.1164, 0.1141, 0.1132, 0.1133, 0.1133, 0.1142, 0.1149, 0.1206",\
                 "0.1259, 0.1227, 0.1185, 0.1163, 0.1154, 0.1156, 0.1157, 0.1162, 0.1173, 0.1228",\
                 "0.1334, 0.1303, 0.1263, 0.124, 0.1231, 0.1231, 0.1234, 0.1238, 0.1254, 0.1313",\
                 "0.147, 0.144, 0.1402, 0.1379, 0.137, 0.1369, 0.1376, 0.138, 0.1389, 0.1452",\
                 "0.1677, 0.1646, 0.1607, 0.1586, 0.1575, 0.1573, 0.1576, 0.1583, 0.1595, 0.1676",\
                 "0.1959, 0.1929, 0.1885, 0.1857, 0.1852, 0.1851, 0.1853, 0.1853, 0.187, 0.1976",\
                 "0.2321, 0.2287, 0.2244, 0.2211, 0.22, 0.2203, 0.221, 0.2209, 0.2228, 0.2389",\
                 "0.2781, 0.2746, 0.2693, 0.2665, 0.265, 0.2645, 0.2662, 0.2675, 0.2692, 0.2944",\
                 "0.336, 0.3322, 0.3268, 0.3231, 0.3215, 0.3215, 0.3215, 0.3246, 0.3293, 0.3721");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1487, 0.1452, 0.1383, 0.1337, 0.1309, 0.129, 0.1277, 0.1268, 0.1261, 0.1257",\
                 "0.148, 0.1445, 0.1376, 0.133, 0.1302, 0.1284, 0.1271, 0.1262, 0.1255, 0.125",\
                 "0.1495, 0.146, 0.1392, 0.1346, 0.1319, 0.1301, 0.1289, 0.128, 0.1273, 0.1269",\
                 "0.1571, 0.1534, 0.1465, 0.1419, 0.1391, 0.1374, 0.1362, 0.1353, 0.1347, 0.1343",\
                 "0.1748, 0.1709, 0.163, 0.1576, 0.1544, 0.1524, 0.151, 0.1501, 0.1494, 0.1489",\
                 "0.2028, 0.1984, 0.1893, 0.1828, 0.1788, 0.1762, 0.1745, 0.1733, 0.1725, 0.1719",\
                 "0.2419, 0.237, 0.2265, 0.2184, 0.2133, 0.2099, 0.2075, 0.206, 0.2049, 0.2041",\
                 "0.2929, 0.2876, 0.2754, 0.2652, 0.2587, 0.2542, 0.2511, 0.2489, 0.2473, 0.2462",\
                 "0.3556, 0.3499, 0.3362, 0.3238, 0.3154, 0.3095, 0.3055, 0.3026, 0.3005, 0.2989",\
                 "0.4305, 0.4244, 0.4094, 0.3944, 0.384, 0.3767, 0.3714, 0.3676, 0.3648, 0.3627");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.06353, 0.06061, 0.05702, 0.0552, 0.05464, 0.05468, 0.05487, 0.05519, 0.05654, 0.06125",\
                 "0.06325, 0.06029, 0.05678, 0.05491, 0.05437, 0.05445, 0.05447, 0.05499, 0.05621, 0.06026",\
                 "0.06423, 0.06139, 0.0579, 0.05616, 0.05566, 0.05577, 0.05606, 0.05678, 0.05753, 0.06284",\
                 "0.07249, 0.06938, 0.0652, 0.06289, 0.0621, 0.06207, 0.06216, 0.06255, 0.0638, 0.06965",\
                 "0.08872, 0.08493, 0.07977, 0.07642, 0.0749, 0.07454, 0.07434, 0.07469, 0.07656, 0.08171",\
                 "0.1133, 0.1091, 0.1023, 0.09764, 0.09589, 0.09448, 0.09377, 0.09367, 0.09461, 0.1016",\
                 "0.1471, 0.142, 0.1339, 0.1274, 0.124, 0.123, 0.1218, 0.121, 0.1212, 0.1299",\
                 "0.1906, 0.1847, 0.175, 0.1671, 0.1616, 0.1587, 0.1581, 0.1576, 0.1579, 0.1675",\
                 "0.2441, 0.2372, 0.2256, 0.2159, 0.2092, 0.2042, 0.2026, 0.2031, 0.2037, 0.2176",\
                 "0.3078, 0.3002, 0.2866, 0.2756, 0.267, 0.2606, 0.2574, 0.2561, 0.2589, 0.2811");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1113, 0.1081, 0.1019, 0.09805, 0.09561, 0.09397, 0.09286, 0.09206, 0.09154, 0.09112",\
                 "0.1113, 0.108, 0.1019, 0.09796, 0.09555, 0.09393, 0.09282, 0.09202, 0.09149, 0.0911",\
                 "0.1131, 0.1099, 0.1039, 0.1001, 0.09785, 0.09633, 0.0953, 0.09455, 0.09406, 0.09367",\
                 "0.1209, 0.1173, 0.1108, 0.1067, 0.1043, 0.1028, 0.1018, 0.1012, 0.1007, 0.1003",\
                 "0.1366, 0.1323, 0.1246, 0.1197, 0.1168, 0.115, 0.1139, 0.1131, 0.1126, 0.1122",\
                 "0.1543, 0.1499, 0.1421, 0.1371, 0.1341, 0.1322, 0.1311, 0.1304, 0.1299, 0.1295",\
                 "0.1781, 0.1737, 0.1659, 0.1608, 0.1577, 0.1559, 0.1547, 0.154, 0.1535, 0.1531",\
                 "0.2085, 0.2041, 0.196, 0.1908, 0.1878, 0.1858, 0.1846, 0.1839, 0.1835, 0.183",\
                 "0.2463, 0.2417, 0.2336, 0.2282, 0.2248, 0.223, 0.2219, 0.2212, 0.2207, 0.2204",\
                 "0.2945, 0.2898, 0.2815, 0.2756, 0.2719, 0.27, 0.2691, 0.2687, 0.2684, 0.2682");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1242, 0.121, 0.1169, 0.1145, 0.1138, 0.1137, 0.1139, 0.1144, 0.1156, 0.1203",\
                 "0.1235, 0.1204, 0.1162, 0.114, 0.1131, 0.1133, 0.1134, 0.1138, 0.1153, 0.1203",\
                 "0.1258, 0.1227, 0.1185, 0.1163, 0.1155, 0.1156, 0.1157, 0.1163, 0.1173, 0.1228",\
                 "0.1334, 0.1304, 0.1263, 0.124, 0.1232, 0.1231, 0.1233, 0.124, 0.1251, 0.1303",\
                 "0.147, 0.144, 0.1402, 0.1379, 0.137, 0.1369, 0.1376, 0.138, 0.1389, 0.1452",\
                 "0.1677, 0.1645, 0.1606, 0.1586, 0.1575, 0.1573, 0.1576, 0.1583, 0.1595, 0.1676",\
                 "0.1959, 0.1928, 0.1887, 0.1857, 0.1853, 0.1851, 0.1854, 0.1856, 0.1867, 0.1976",\
                 "0.2321, 0.2288, 0.2244, 0.2212, 0.2202, 0.2203, 0.221, 0.221, 0.2221, 0.2386",\
                 "0.2781, 0.2746, 0.2696, 0.2662, 0.2647, 0.2646, 0.2662, 0.2674, 0.2695, 0.2937",\
                 "0.3359, 0.3322, 0.3268, 0.323, 0.3215, 0.3215, 0.3215, 0.324, 0.3293, 0.3721");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1114, 0.1081, 0.1019, 0.098, 0.09556, 0.09392, 0.09281, 0.09204, 0.09151, 0.09109",\
                 "0.1113, 0.108, 0.1019, 0.09795, 0.09555, 0.09393, 0.09283, 0.09201, 0.09149, 0.0911",\
                 "0.1131, 0.1099, 0.1039, 0.1001, 0.09785, 0.09633, 0.0953, 0.09455, 0.09406, 0.09367",\
                 "0.121, 0.1173, 0.1108, 0.1067, 0.1043, 0.1028, 0.1018, 0.1011, 0.1007, 0.1003",\
                 "0.1366, 0.1323, 0.1246, 0.1197, 0.1168, 0.115, 0.1139, 0.1131, 0.1126, 0.1122",\
                 "0.1543, 0.1499, 0.1421, 0.1371, 0.1341, 0.1322, 0.1311, 0.1304, 0.1299, 0.1295",\
                 "0.1781, 0.1737, 0.1659, 0.1608, 0.1577, 0.1559, 0.1547, 0.154, 0.1535, 0.1531",\
                 "0.2085, 0.2041, 0.1961, 0.1908, 0.1878, 0.1858, 0.1847, 0.1839, 0.1834, 0.183",\
                 "0.2463, 0.2417, 0.2336, 0.2282, 0.2248, 0.223, 0.2219, 0.2212, 0.2207, 0.2205",\
                 "0.2945, 0.2898, 0.2815, 0.2756, 0.272, 0.27, 0.2692, 0.2687, 0.2684, 0.2682");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1241, 0.121, 0.1169, 0.1145, 0.1138, 0.1137, 0.1139, 0.1144, 0.1156, 0.1203",\
                 "0.1235, 0.1204, 0.1162, 0.114, 0.1131, 0.1133, 0.1134, 0.1138, 0.1153, 0.1203",\
                 "0.1258, 0.1227, 0.1185, 0.1163, 0.1155, 0.1156, 0.1157, 0.1163, 0.1173, 0.1228",\
                 "0.1334, 0.1304, 0.1263, 0.124, 0.1233, 0.1231, 0.1233, 0.124, 0.1251, 0.1303",\
                 "0.147, 0.1439, 0.1402, 0.1379, 0.137, 0.1369, 0.1376, 0.138, 0.1389, 0.1452",\
                 "0.1677, 0.1645, 0.1606, 0.1586, 0.1575, 0.1573, 0.1576, 0.1583, 0.1595, 0.1676",\
                 "0.1959, 0.1928, 0.1887, 0.186, 0.1854, 0.1852, 0.185, 0.1855, 0.1867, 0.1979",\
                 "0.2321, 0.2287, 0.2244, 0.2213, 0.2199, 0.2204, 0.2209, 0.2211, 0.2227, 0.2386",\
                 "0.2781, 0.2746, 0.2696, 0.2662, 0.265, 0.2646, 0.2661, 0.267, 0.2695, 0.2937",\
                 "0.3359, 0.3322, 0.3268, 0.323, 0.3217, 0.3214, 0.3215, 0.324, 0.3293, 0.3721");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&!I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1489, 0.1453, 0.1384, 0.1338, 0.1309, 0.129, 0.1278, 0.1268, 0.1261, 0.1257",\
                 "0.1481, 0.1446, 0.1377, 0.1331, 0.1303, 0.1284, 0.1271, 0.1262, 0.1255, 0.125",\
                 "0.1496, 0.146, 0.1392, 0.1347, 0.132, 0.1302, 0.1289, 0.128, 0.1274, 0.1269",\
                 "0.1571, 0.1535, 0.1465, 0.1419, 0.1391, 0.1374, 0.1362, 0.1353, 0.1347, 0.1343",\
                 "0.1749, 0.1709, 0.163, 0.1576, 0.1544, 0.1524, 0.151, 0.1501, 0.1494, 0.1489",\
                 "0.2028, 0.1984, 0.1893, 0.1827, 0.1787, 0.1762, 0.1745, 0.1733, 0.1725, 0.1719",\
                 "0.242, 0.237, 0.2265, 0.2184, 0.2132, 0.2098, 0.2075, 0.206, 0.2049, 0.2041",\
                 "0.2929, 0.2875, 0.2753, 0.2651, 0.2586, 0.2541, 0.2509, 0.2488, 0.2472, 0.2461",\
                 "0.3557, 0.3499, 0.3361, 0.3237, 0.3153, 0.3095, 0.3054, 0.3025, 0.3003, 0.2988",\
                 "0.4304, 0.4244, 0.4093, 0.3943, 0.3839, 0.3767, 0.3713, 0.3674, 0.3646, 0.3626");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.06359, 0.06065, 0.05708, 0.0552, 0.05461, 0.05468, 0.05467, 0.05536, 0.05653, 0.06059",\
                 "0.0633, 0.06033, 0.05681, 0.05501, 0.05441, 0.05448, 0.05447, 0.05516, 0.0562, 0.06026",\
                 "0.06427, 0.06141, 0.05777, 0.05623, 0.05566, 0.0557, 0.05596, 0.05654, 0.05752, 0.06218",\
                 "0.07249, 0.06938, 0.06521, 0.06289, 0.06206, 0.06204, 0.06203, 0.06252, 0.06412, 0.06965",\
                 "0.08867, 0.08505, 0.07984, 0.07665, 0.07487, 0.07445, 0.07473, 0.07493, 0.0759, 0.08171",\
                 "0.1132, 0.109, 0.1023, 0.09768, 0.09562, 0.09438, 0.09368, 0.0937, 0.09461, 0.1022",\
                 "0.1472, 0.142, 0.1337, 0.1274, 0.1238, 0.1226, 0.1219, 0.1207, 0.1216, 0.1302",\
                 "0.1906, 0.1847, 0.175, 0.167, 0.1613, 0.1586, 0.1584, 0.1578, 0.1579, 0.1685",\
                 "0.2441, 0.2371, 0.2256, 0.216, 0.2094, 0.2048, 0.2028, 0.2033, 0.204, 0.2179",\
                 "0.3077, 0.3, 0.2867, 0.2755, 0.267, 0.2604, 0.2572, 0.2561, 0.2589, 0.2804");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1489, 0.1453, 0.1384, 0.1338, 0.1309, 0.129, 0.1278, 0.1268, 0.1261, 0.1257",\
                 "0.1481, 0.1446, 0.1377, 0.1331, 0.1303, 0.1284, 0.1271, 0.1262, 0.1255, 0.125",\
                 "0.1496, 0.146, 0.1392, 0.1347, 0.132, 0.1302, 0.1289, 0.128, 0.1274, 0.1269",\
                 "0.1571, 0.1535, 0.1465, 0.1419, 0.1391, 0.1374, 0.1362, 0.1353, 0.1347, 0.1343",\
                 "0.1749, 0.1709, 0.163, 0.1576, 0.1544, 0.1524, 0.151, 0.1501, 0.1494, 0.1489",\
                 "0.2028, 0.1984, 0.1893, 0.1828, 0.1788, 0.1762, 0.1745, 0.1733, 0.1725, 0.1719",\
                 "0.2419, 0.237, 0.2265, 0.2184, 0.2132, 0.2099, 0.2075, 0.206, 0.2049, 0.2041",\
                 "0.2928, 0.2875, 0.2753, 0.2651, 0.2586, 0.2541, 0.251, 0.2488, 0.2472, 0.2461",\
                 "0.3557, 0.3499, 0.3361, 0.3238, 0.3154, 0.3096, 0.3054, 0.3025, 0.3004, 0.2988",\
                 "0.4304, 0.4244, 0.4092, 0.3943, 0.3839, 0.3766, 0.3713, 0.3675, 0.3647, 0.3626");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.06358, 0.0606, 0.05705, 0.05524, 0.05464, 0.05468, 0.0548, 0.05549, 0.05654, 0.06059",\
                 "0.0633, 0.06033, 0.05681, 0.05501, 0.05441, 0.05448, 0.0546, 0.05516, 0.05621, 0.06026",\
                 "0.06427, 0.06142, 0.05777, 0.05623, 0.05566, 0.0557, 0.05596, 0.05654, 0.05753, 0.06218",\
                 "0.07249, 0.06938, 0.06528, 0.06286, 0.06206, 0.06204, 0.06203, 0.06252, 0.06347, 0.06998",\
                 "0.08863, 0.08494, 0.07983, 0.07666, 0.07487, 0.07445, 0.07473, 0.07493, 0.0759, 0.08171",\
                 "0.1132, 0.109, 0.1023, 0.09768, 0.09559, 0.09438, 0.09381, 0.0937, 0.09461, 0.1013",\
                 "0.1472, 0.142, 0.1337, 0.1275, 0.124, 0.1227, 0.1217, 0.1208, 0.1216, 0.1302",\
                 "0.1906, 0.1847, 0.175, 0.167, 0.1616, 0.1586, 0.1584, 0.158, 0.1579, 0.1685",\
                 "0.2441, 0.2371, 0.2255, 0.216, 0.2094, 0.2048, 0.2028, 0.2033, 0.204, 0.2179",\
                 "0.3077, 0.3002, 0.2867, 0.2753, 0.267, 0.261, 0.2575, 0.256, 0.2583, 0.2807");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1113, 0.1081, 0.1019, 0.09799, 0.09556, 0.09393, 0.09282, 0.09201, 0.09148, 0.09109",\
                 "0.1113, 0.108, 0.1019, 0.09795, 0.09554, 0.09392, 0.09279, 0.09204, 0.09149, 0.09106",\
                 "0.1131, 0.1098, 0.1039, 0.1001, 0.09781, 0.0963, 0.09526, 0.09454, 0.09405, 0.0937",\
                 "0.121, 0.1173, 0.1108, 0.1067, 0.1043, 0.1028, 0.1018, 0.1012, 0.1007, 0.1003",\
                 "0.1366, 0.1322, 0.1247, 0.1197, 0.1168, 0.115, 0.1139, 0.1131, 0.1126, 0.1122",\
                 "0.1543, 0.1499, 0.1421, 0.1371, 0.1341, 0.1322, 0.1311, 0.1304, 0.1299, 0.1295",\
                 "0.1781, 0.1737, 0.1659, 0.1608, 0.1577, 0.1559, 0.1547, 0.154, 0.1535, 0.1531",\
                 "0.2085, 0.2041, 0.1961, 0.1908, 0.1878, 0.1859, 0.1847, 0.1839, 0.1835, 0.1831",\
                 "0.2463, 0.2417, 0.2336, 0.2282, 0.2248, 0.223, 0.2219, 0.2212, 0.2208, 0.2204",\
                 "0.2945, 0.2898, 0.2815, 0.2756, 0.2719, 0.27, 0.2691, 0.2687, 0.2684, 0.2682");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1241, 0.121, 0.1169, 0.1145, 0.1138, 0.1137, 0.1139, 0.1143, 0.1156, 0.1203",\
                 "0.1235, 0.1204, 0.1162, 0.1139, 0.1131, 0.1132, 0.1132, 0.1138, 0.1149, 0.1206",\
                 "0.1258, 0.1227, 0.1185, 0.1163, 0.1155, 0.1156, 0.1157, 0.1163, 0.1173, 0.1228",\
                 "0.1334, 0.1303, 0.1263, 0.124, 0.1232, 0.1231, 0.1233, 0.1242, 0.1251, 0.1306",\
                 "0.147, 0.1439, 0.1402, 0.1379, 0.137, 0.1369, 0.1376, 0.138, 0.1389, 0.1452",\
                 "0.1677, 0.1645, 0.1606, 0.1586, 0.1575, 0.1573, 0.1576, 0.1583, 0.1595, 0.1676",\
                 "0.1959, 0.1928, 0.1887, 0.186, 0.1854, 0.1852, 0.185, 0.1855, 0.1867, 0.1979",\
                 "0.2321, 0.2288, 0.2244, 0.2215, 0.2199, 0.2203, 0.2209, 0.221, 0.2221, 0.2386",\
                 "0.2781, 0.2746, 0.2695, 0.2665, 0.2651, 0.2648, 0.2663, 0.2674, 0.2695, 0.2937",\
                 "0.3359, 0.3322, 0.3268, 0.323, 0.3217, 0.3214, 0.3218, 0.324, 0.3293, 0.3721");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1114, 0.108, 0.1019, 0.09796, 0.09551, 0.0939, 0.09278, 0.09201, 0.09147, 0.09106",\
                 "0.1112, 0.1079, 0.1018, 0.09791, 0.09553, 0.09391, 0.09275, 0.092, 0.09148, 0.09106",\
                 "0.113, 0.1098, 0.1038, 0.1, 0.09777, 0.09626, 0.09523, 0.0945, 0.09402, 0.09366",\
                 "0.1209, 0.1173, 0.1108, 0.1067, 0.1043, 0.1028, 0.1018, 0.1011, 0.1006, 0.1002",\
                 "0.1366, 0.1323, 0.1247, 0.1197, 0.1166, 0.1149, 0.1137, 0.1131, 0.1125, 0.1121",\
                 "0.1543, 0.1498, 0.1421, 0.1371, 0.1341, 0.1322, 0.1311, 0.1303, 0.1299, 0.1296",\
                 "0.1781, 0.1736, 0.1658, 0.1607, 0.1577, 0.1558, 0.1547, 0.1539, 0.1534, 0.153",\
                 "0.2085, 0.204, 0.1962, 0.1909, 0.1878, 0.1859, 0.1847, 0.1839, 0.1834, 0.183",\
                 "0.2463, 0.2417, 0.2335, 0.2282, 0.2248, 0.2229, 0.222, 0.2212, 0.2207, 0.2204",\
                 "0.2945, 0.2898, 0.2815, 0.2755, 0.2719, 0.2699, 0.2691, 0.2686, 0.2683, 0.2681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1241, 0.121, 0.1169, 0.1145, 0.1138, 0.1137, 0.1139, 0.1147, 0.1156, 0.1203",\
                 "0.1236, 0.1204, 0.1164, 0.1141, 0.1132, 0.1133, 0.1133, 0.1143, 0.1149, 0.1206",\
                 "0.1259, 0.1227, 0.1185, 0.1163, 0.1154, 0.1156, 0.1157, 0.1162, 0.1173, 0.1228",\
                 "0.1334, 0.1304, 0.1263, 0.124, 0.1231, 0.1233, 0.1234, 0.1238, 0.1254, 0.1313",\
                 "0.1469, 0.1441, 0.1402, 0.1379, 0.1369, 0.1369, 0.1376, 0.138, 0.1389, 0.1452",\
                 "0.1677, 0.1646, 0.1607, 0.1586, 0.1575, 0.1573, 0.1576, 0.1583, 0.1595, 0.1676",\
                 "0.1959, 0.1929, 0.1885, 0.1857, 0.1854, 0.1851, 0.1853, 0.1853, 0.187, 0.1976",\
                 "0.2321, 0.2287, 0.2244, 0.2211, 0.22, 0.2203, 0.221, 0.221, 0.2228, 0.2389",\
                 "0.278, 0.2745, 0.2695, 0.2665, 0.265, 0.2645, 0.2662, 0.267, 0.2692, 0.2944",\
                 "0.336, 0.3322, 0.3268, 0.3231, 0.3215, 0.3215, 0.3215, 0.3246, 0.3293, 0.3721");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1113, 0.108, 0.1019, 0.09806, 0.09562, 0.09399, 0.09287, 0.09207, 0.09156, 0.09115",\
                 "0.1113, 0.108, 0.1019, 0.09795, 0.09554, 0.09393, 0.09279, 0.09205, 0.09149, 0.09109",\
                 "0.1131, 0.1098, 0.1039, 0.1001, 0.09783, 0.0963, 0.09526, 0.09454, 0.09406, 0.09368",\
                 "0.121, 0.1173, 0.1108, 0.1068, 0.1043, 0.1028, 0.1018, 0.1012, 0.1007, 0.1003",\
                 "0.1366, 0.1323, 0.1246, 0.1197, 0.1168, 0.115, 0.1138, 0.1131, 0.1125, 0.1122",\
                 "0.1543, 0.1499, 0.1421, 0.1371, 0.1341, 0.1322, 0.1311, 0.1304, 0.1299, 0.1295",\
                 "0.1781, 0.1737, 0.1659, 0.1608, 0.1578, 0.1559, 0.1547, 0.154, 0.1535, 0.1531",\
                 "0.2085, 0.204, 0.1961, 0.1908, 0.1878, 0.1859, 0.1847, 0.1839, 0.1834, 0.1831",\
                 "0.2463, 0.2417, 0.2335, 0.2282, 0.2248, 0.223, 0.2219, 0.2212, 0.2207, 0.2204",\
                 "0.2945, 0.2898, 0.2815, 0.2756, 0.272, 0.27, 0.2692, 0.2687, 0.2684, 0.2682");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1241, 0.121, 0.1169, 0.1145, 0.1138, 0.1137, 0.1139, 0.1143, 0.1156, 0.1203",\
                 "0.1235, 0.1204, 0.1162, 0.1139, 0.1131, 0.1132, 0.1132, 0.1137, 0.1149, 0.1206",\
                 "0.1258, 0.1227, 0.1185, 0.1163, 0.1155, 0.1156, 0.1157, 0.1163, 0.1173, 0.1228",\
                 "0.1334, 0.1303, 0.1263, 0.124, 0.1232, 0.1231, 0.1233, 0.1242, 0.1251, 0.1306",\
                 "0.147, 0.1439, 0.1402, 0.1379, 0.137, 0.1369, 0.1376, 0.138, 0.1389, 0.1452",\
                 "0.1676, 0.1645, 0.1606, 0.1586, 0.1575, 0.1573, 0.1576, 0.1583, 0.1595, 0.1676",\
                 "0.1959, 0.1928, 0.1887, 0.1857, 0.1853, 0.1851, 0.1854, 0.1857, 0.187, 0.1976",\
                 "0.2321, 0.2287, 0.2244, 0.2215, 0.2199, 0.2204, 0.2209, 0.2211, 0.2227, 0.2386",\
                 "0.2781, 0.2747, 0.2694, 0.2665, 0.2651, 0.2648, 0.2664, 0.267, 0.2695, 0.2937",\
                 "0.3359, 0.3322, 0.3268, 0.3229, 0.3217, 0.3214, 0.3218, 0.324, 0.3293, 0.3721");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1113, 0.108, 0.1019, 0.09802, 0.09558, 0.09395, 0.09284, 0.09204, 0.09152, 0.09112",\
                 "0.1112, 0.1079, 0.1018, 0.09791, 0.0955, 0.09389, 0.09277, 0.09198, 0.09146, 0.09106",\
                 "0.113, 0.1098, 0.1038, 0.1, 0.09778, 0.09625, 0.09522, 0.09451, 0.09402, 0.09364",\
                 "0.1209, 0.1173, 0.1108, 0.1067, 0.1043, 0.1028, 0.1018, 0.1011, 0.1006, 0.1002",\
                 "0.1366, 0.1323, 0.1247, 0.1197, 0.1167, 0.1149, 0.1138, 0.113, 0.1125, 0.1121",\
                 "0.1543, 0.1498, 0.1421, 0.1371, 0.1341, 0.1322, 0.1311, 0.1303, 0.1299, 0.1296",\
                 "0.1781, 0.1736, 0.1658, 0.1607, 0.1577, 0.1558, 0.1546, 0.1539, 0.1534, 0.1531",\
                 "0.2085, 0.204, 0.1961, 0.1909, 0.1878, 0.1859, 0.1847, 0.1839, 0.1834, 0.183",\
                 "0.2463, 0.2417, 0.2335, 0.2282, 0.2248, 0.2229, 0.2219, 0.2212, 0.2207, 0.2204",\
                 "0.2945, 0.2898, 0.2815, 0.2755, 0.2719, 0.2699, 0.2692, 0.2687, 0.2684, 0.2681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1241, 0.121, 0.1169, 0.1145, 0.1138, 0.1137, 0.1139, 0.1147, 0.1156, 0.1203",\
                 "0.1236, 0.1204, 0.1162, 0.1141, 0.1132, 0.1132, 0.1133, 0.1142, 0.1149, 0.1203",\
                 "0.1259, 0.1227, 0.1185, 0.1163, 0.1154, 0.1156, 0.1157, 0.1162, 0.1173, 0.1228",\
                 "0.1334, 0.1303, 0.1263, 0.124, 0.1231, 0.1231, 0.1234, 0.1238, 0.1254, 0.1313",\
                 "0.1469, 0.144, 0.1402, 0.1379, 0.137, 0.1369, 0.1371, 0.1381, 0.1386, 0.1462",\
                 "0.1677, 0.1646, 0.1607, 0.1586, 0.1575, 0.1573, 0.1576, 0.1583, 0.1595, 0.1676",\
                 "0.1959, 0.1929, 0.1885, 0.1857, 0.1855, 0.1851, 0.1853, 0.1857, 0.187, 0.1976",\
                 "0.2321, 0.2287, 0.2244, 0.2211, 0.22, 0.2205, 0.221, 0.2214, 0.2228, 0.2386",\
                 "0.278, 0.2746, 0.2695, 0.2666, 0.2651, 0.2645, 0.2662, 0.2675, 0.2692, 0.2944",\
                 "0.336, 0.3322, 0.3268, 0.3231, 0.3215, 0.3215, 0.3215, 0.3246, 0.3293, 0.3721");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7414, 0.8148, 1.005, 1.269, 1.59, 1.976, 2.44, 2.999, 3.668, 4.46",\
                 "0.7585, 0.8319, 1.022, 1.286, 1.607, 1.993, 2.457, 3.016, 3.685, 4.477",\
                 "0.8272, 0.9008, 1.091, 1.354, 1.676, 2.062, 2.526, 3.084, 3.754, 4.546",\
                 "0.9632, 1.037, 1.227, 1.49, 1.811, 2.197, 2.661, 3.22, 3.889, 4.681",\
                 "1.163, 1.237, 1.427, 1.69, 2.012, 2.397, 2.862, 3.42, 4.089, 4.882",\
                 "1.404, 1.481, 1.675, 1.942, 2.265, 2.652, 3.117, 3.675, 4.344, 5.136",\
                 "1.688, 1.766, 1.965, 2.238, 2.568, 2.958, 3.425, 3.984, 4.652, 5.444",\
                 "2.014, 2.095, 2.3, 2.582, 2.917, 3.312, 3.782, 4.343, 5.012, 5.804",\
                 "2.382, 2.466, 2.68, 2.971, 3.316, 3.718, 4.192, 4.755, 5.425, 6.216",\
                 "2.789, 2.879, 3.102, 3.405, 3.762, 4.174, 4.654, 5.221, 5.893, 6.685");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6528, 0.7084, 0.864, 1.114, 1.471, 1.961, 2.602, 3.409, 4.399, 5.576",\
                 "0.6658, 0.7214, 0.877, 1.127, 1.484, 1.973, 2.615, 3.423, 4.409, 5.589",\
                 "0.7099, 0.7656, 0.9211, 1.171, 1.528, 2.018, 2.659, 3.468, 4.456, 5.629",\
                 "0.7774, 0.833, 0.9882, 1.238, 1.595, 2.084, 2.725, 3.533, 4.52, 5.698",\
                 "0.8521, 0.9089, 1.065, 1.316, 1.673, 2.161, 2.802, 3.61, 4.597, 5.777",\
                 "0.9116, 0.9703, 1.13, 1.383, 1.741, 2.23, 2.87, 3.678, 4.667, 5.843",\
                 "0.9512, 1.012, 1.175, 1.431, 1.791, 2.279, 2.919, 3.726, 4.712, 5.889",\
                 "0.9617, 1.026, 1.194, 1.455, 1.817, 2.306, 2.945, 3.75, 4.735, 5.911",\
                 "0.939, 1.006, 1.181, 1.448, 1.814, 2.304, 2.942, 3.747, 4.732, 5.906",\
                 "0.8768, 0.9483, 1.131, 1.404, 1.777, 2.271, 2.911, 3.715, 4.699, 5.873");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2568, 0.3339, 0.5265, 0.7918, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.2569, 0.3338, 0.527, 0.7918, 1.151, 1.644, 2.307, 3.174, 4.258, 5.575",\
                 "0.2571, 0.3335, 0.5264, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.256, 5.573",\
                 "0.2572, 0.3342, 0.5276, 0.791, 1.152, 1.646, 2.308, 3.17, 4.26, 5.576",\
                 "0.2624, 0.3404, 0.5338, 0.7974, 1.156, 1.648, 2.31, 3.172, 4.258, 5.578",\
                 "0.281, 0.3586, 0.5526, 0.8128, 1.167, 1.656, 2.313, 3.177, 4.258, 5.575",\
                 "0.299, 0.3796, 0.5786, 0.841, 1.191, 1.671, 2.323, 3.18, 4.259, 5.576",\
                 "0.3236, 0.4068, 0.6084, 0.874, 1.222, 1.697, 2.342, 3.193, 4.269, 5.581",\
                 "0.3552, 0.4406, 0.6476, 0.919, 1.261, 1.731, 2.369, 3.207, 4.275, 5.585",\
                 "0.3864, 0.477, 0.6926, 0.9726, 1.315, 1.779, 2.402, 3.233, 4.288, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1651, 0.2289, 0.4323, 0.7993, 1.38, 2.229, 3.355, 4.786, 6.53, 8.61",\
                 "0.1658, 0.2291, 0.4325, 0.799, 1.381, 2.228, 3.354, 4.789, 6.526, 8.611",\
                 "0.1647, 0.229, 0.4334, 0.7992, 1.381, 2.229, 3.356, 4.784, 6.528, 8.615",\
                 "0.1644, 0.2298, 0.4334, 0.7992, 1.383, 2.225, 3.361, 4.787, 6.529, 8.608",\
                 "0.1734, 0.236, 0.4394, 0.8024, 1.384, 2.228, 3.355, 4.782, 6.528, 8.611",\
                 "0.183, 0.247, 0.4504, 0.8144, 1.388, 2.23, 3.355, 4.784, 6.526, 8.609",\
                 "0.1954, 0.2612, 0.465, 0.827, 1.397, 2.233, 3.359, 4.79, 6.524, 8.62",\
                 "0.2144, 0.2818, 0.484, 0.8444, 1.408, 2.236, 3.357, 4.783, 6.537, 8.604",\
                 "0.2352, 0.3048, 0.5056, 0.8696, 1.429, 2.248, 3.364, 4.783, 6.526, 8.604",\
                 "0.2586, 0.3322, 0.5328, 0.8958, 1.454, 2.269, 3.376, 4.789, 6.526, 8.602");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7414, 0.8149, 1.005, 1.269, 1.59, 1.976, 2.44, 2.999, 3.668, 4.46",\
                 "0.7585, 0.8319, 1.022, 1.286, 1.607, 1.993, 2.457, 3.016, 3.685, 4.477",\
                 "0.8273, 0.9006, 1.091, 1.354, 1.676, 2.062, 2.526, 3.084, 3.754, 4.546",\
                 "0.9632, 1.037, 1.227, 1.49, 1.811, 2.197, 2.661, 3.22, 3.889, 4.682",\
                 "1.163, 1.237, 1.427, 1.69, 2.011, 2.397, 2.862, 3.42, 4.089, 4.882",\
                 "1.404, 1.48, 1.675, 1.942, 2.265, 2.652, 3.117, 3.675, 4.344, 5.136",\
                 "1.688, 1.766, 1.965, 2.238, 2.568, 2.958, 3.425, 3.984, 4.653, 5.444",\
                 "2.014, 2.095, 2.3, 2.582, 2.917, 3.312, 3.782, 4.343, 5.012, 5.804",\
                 "2.382, 2.466, 2.68, 2.971, 3.316, 3.718, 4.192, 4.755, 5.425, 6.216",\
                 "2.789, 2.879, 3.102, 3.405, 3.762, 4.175, 4.654, 5.221, 5.893, 6.685");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6527, 0.7085, 0.8641, 1.114, 1.471, 1.961, 2.602, 3.409, 4.399, 5.576",\
                 "0.6658, 0.7214, 0.877, 1.127, 1.484, 1.973, 2.615, 3.423, 4.409, 5.589",\
                 "0.71, 0.7656, 0.9212, 1.171, 1.528, 2.018, 2.659, 3.467, 4.455, 5.63",\
                 "0.7774, 0.833, 0.9882, 1.238, 1.595, 2.084, 2.725, 3.533, 4.52, 5.698",\
                 "0.8521, 0.9089, 1.065, 1.316, 1.673, 2.161, 2.802, 3.61, 4.597, 5.777",\
                 "0.9116, 0.9703, 1.13, 1.383, 1.741, 2.23, 2.87, 3.678, 4.667, 5.841",\
                 "0.9511, 1.012, 1.175, 1.431, 1.791, 2.279, 2.919, 3.726, 4.713, 5.886",\
                 "0.9617, 1.026, 1.194, 1.455, 1.817, 2.306, 2.945, 3.751, 4.736, 5.911",\
                 "0.939, 1.006, 1.181, 1.448, 1.814, 2.304, 2.942, 3.747, 4.732, 5.905",\
                 "0.8768, 0.9483, 1.131, 1.404, 1.777, 2.271, 2.911, 3.716, 4.699, 5.873");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2568, 0.3335, 0.5265, 0.79, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.2569, 0.3338, 0.5266, 0.7918, 1.151, 1.644, 2.306, 3.174, 4.258, 5.575",\
                 "0.2557, 0.3342, 0.5264, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.256, 5.573",\
                 "0.2568, 0.3342, 0.527, 0.7904, 1.152, 1.644, 2.309, 3.172, 4.255, 5.575",\
                 "0.2624, 0.3404, 0.5338, 0.7972, 1.156, 1.647, 2.309, 3.174, 4.258, 5.578",\
                 "0.281, 0.3586, 0.5526, 0.813, 1.166, 1.656, 2.313, 3.176, 4.258, 5.576",\
                 "0.299, 0.3796, 0.5786, 0.841, 1.191, 1.672, 2.323, 3.18, 4.264, 5.575",\
                 "0.3236, 0.4072, 0.608, 0.8742, 1.222, 1.697, 2.342, 3.192, 4.269, 5.583",\
                 "0.3554, 0.4406, 0.648, 0.9174, 1.261, 1.731, 2.367, 3.207, 4.277, 5.579",\
                 "0.3864, 0.4772, 0.6932, 0.9726, 1.314, 1.776, 2.401, 3.233, 4.286, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1655, 0.2286, 0.4338, 0.8004, 1.38, 2.229, 3.355, 4.786, 6.53, 8.61",\
                 "0.1658, 0.2291, 0.4325, 0.799, 1.381, 2.228, 3.354, 4.789, 6.526, 8.611",\
                 "0.1648, 0.2292, 0.4331, 0.7998, 1.382, 2.226, 3.355, 4.783, 6.529, 8.605",\
                 "0.1644, 0.2298, 0.4334, 0.7992, 1.383, 2.225, 3.361, 4.787, 6.529, 8.608",\
                 "0.1734, 0.236, 0.4394, 0.8024, 1.384, 2.228, 3.354, 4.782, 6.528, 8.611",\
                 "0.183, 0.247, 0.4504, 0.8144, 1.388, 2.23, 3.356, 4.783, 6.526, 8.62",\
                 "0.1956, 0.2612, 0.465, 0.827, 1.397, 2.233, 3.36, 4.785, 6.527, 8.603",\
                 "0.2144, 0.2818, 0.484, 0.8446, 1.408, 2.237, 3.357, 4.781, 6.534, 8.604",\
                 "0.2352, 0.3048, 0.5056, 0.8702, 1.429, 2.248, 3.364, 4.783, 6.524, 8.601",\
                 "0.2586, 0.3322, 0.5346, 0.8958, 1.456, 2.271, 3.376, 4.791, 6.526, 8.602");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7414, 0.8148, 1.005, 1.269, 1.59, 1.976, 2.44, 2.999, 3.668, 4.46",\
                 "0.7585, 0.8319, 1.022, 1.286, 1.607, 1.993, 2.457, 3.016, 3.685, 4.477",\
                 "0.8273, 0.9007, 1.091, 1.354, 1.676, 2.061, 2.526, 3.084, 3.754, 4.546",\
                 "0.9632, 1.037, 1.227, 1.49, 1.811, 2.197, 2.661, 3.22, 3.889, 4.682",\
                 "1.163, 1.237, 1.427, 1.69, 2.012, 2.398, 2.862, 3.42, 4.09, 4.882",\
                 "1.404, 1.481, 1.675, 1.942, 2.265, 2.652, 3.116, 3.675, 4.344, 5.136",\
                 "1.688, 1.766, 1.965, 2.238, 2.568, 2.958, 3.425, 3.984, 4.652, 5.444",\
                 "2.015, 2.095, 2.3, 2.581, 2.917, 3.313, 3.782, 4.343, 5.012, 5.804",\
                 "2.382, 2.467, 2.68, 2.971, 3.316, 3.718, 4.192, 4.755, 5.425, 6.216",\
                 "2.79, 2.878, 3.101, 3.405, 3.762, 4.175, 4.655, 5.222, 5.893, 6.684");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6528, 0.7084, 0.864, 1.114, 1.471, 1.961, 2.602, 3.409, 4.399, 5.576",\
                 "0.6655, 0.7214, 0.877, 1.127, 1.484, 1.973, 2.615, 3.423, 4.408, 5.588",\
                 "0.7099, 0.7655, 0.9211, 1.171, 1.528, 2.018, 2.659, 3.467, 4.454, 5.63",\
                 "0.7774, 0.833, 0.9882, 1.238, 1.595, 2.084, 2.725, 3.533, 4.52, 5.698",\
                 "0.8521, 0.9089, 1.065, 1.316, 1.673, 2.161, 2.802, 3.61, 4.597, 5.777",\
                 "0.9116, 0.9703, 1.13, 1.383, 1.741, 2.23, 2.87, 3.679, 4.667, 5.843",\
                 "0.9512, 1.012, 1.175, 1.432, 1.791, 2.279, 2.919, 3.726, 4.711, 5.891",\
                 "0.9618, 1.026, 1.194, 1.455, 1.817, 2.306, 2.945, 3.75, 4.735, 5.911",\
                 "0.9387, 1.006, 1.181, 1.447, 1.814, 2.304, 2.942, 3.747, 4.732, 5.905",\
                 "0.8768, 0.9483, 1.131, 1.404, 1.777, 2.271, 2.911, 3.715, 4.699, 5.873");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2568, 0.3339, 0.5264, 0.7918, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.257, 0.3339, 0.5264, 0.7918, 1.151, 1.644, 2.307, 3.174, 4.258, 5.575",\
                 "0.2557, 0.3343, 0.5262, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.254, 5.573",\
                 "0.2564, 0.3342, 0.5268, 0.7906, 1.151, 1.646, 2.307, 3.174, 4.254, 5.572",\
                 "0.2626, 0.34, 0.5332, 0.7964, 1.156, 1.647, 2.309, 3.175, 4.258, 5.576",\
                 "0.2796, 0.3588, 0.5526, 0.8132, 1.166, 1.656, 2.314, 3.174, 4.259, 5.575",\
                 "0.2988, 0.38, 0.5776, 0.8418, 1.191, 1.672, 2.325, 3.18, 4.259, 5.576",\
                 "0.3236, 0.4066, 0.6088, 0.8752, 1.22, 1.697, 2.342, 3.192, 4.27, 5.581",\
                 "0.3552, 0.4408, 0.6476, 0.919, 1.261, 1.732, 2.368, 3.208, 4.275, 5.581",\
                 "0.3868, 0.4782, 0.6924, 0.9708, 1.316, 1.776, 2.403, 3.233, 4.286, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2289, 0.4338, 0.8004, 1.38, 2.229, 3.355, 4.786, 6.53, 8.61",\
                 "0.1647, 0.2291, 0.433, 0.7991, 1.381, 2.228, 3.354, 4.789, 6.526, 8.611",\
                 "0.165, 0.229, 0.4323, 0.8004, 1.38, 2.227, 3.355, 4.783, 6.534, 8.605",\
                 "0.1644, 0.2298, 0.4336, 0.7992, 1.383, 2.225, 3.361, 4.787, 6.529, 8.608",\
                 "0.1734, 0.236, 0.4384, 0.8024, 1.384, 2.227, 3.355, 4.782, 6.528, 8.611",\
                 "0.183, 0.247, 0.4504, 0.8144, 1.388, 2.229, 3.355, 4.781, 6.527, 8.61",\
                 "0.1954, 0.2612, 0.4646, 0.8266, 1.397, 2.233, 3.357, 4.791, 6.526, 8.608",\
                 "0.2142, 0.2818, 0.4826, 0.8444, 1.409, 2.237, 3.357, 4.785, 6.526, 8.603",\
                 "0.2352, 0.3048, 0.5056, 0.8692, 1.428, 2.248, 3.362, 4.783, 6.526, 8.606",\
                 "0.2586, 0.3322, 0.5336, 0.8956, 1.454, 2.269, 3.376, 4.791, 6.526, 8.602");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7414, 0.8149, 1.005, 1.269, 1.59, 1.976, 2.44, 2.999, 3.668, 4.46",\
                 "0.7585, 0.8319, 1.022, 1.286, 1.607, 1.993, 2.457, 3.016, 3.685, 4.477",\
                 "0.8273, 0.9007, 1.091, 1.354, 1.676, 2.061, 2.526, 3.084, 3.754, 4.546",\
                 "0.9632, 1.037, 1.227, 1.49, 1.811, 2.197, 2.661, 3.22, 3.889, 4.682",\
                 "1.163, 1.237, 1.427, 1.69, 2.012, 2.398, 2.862, 3.42, 4.09, 4.882",\
                 "1.404, 1.48, 1.675, 1.942, 2.265, 2.652, 3.116, 3.675, 4.344, 5.136",\
                 "1.688, 1.766, 1.965, 2.238, 2.568, 2.958, 3.425, 3.984, 4.652, 5.444",\
                 "2.015, 2.095, 2.3, 2.581, 2.917, 3.313, 3.782, 4.343, 5.012, 5.804",\
                 "2.382, 2.466, 2.68, 2.971, 3.316, 3.718, 4.192, 4.755, 5.425, 6.216",\
                 "2.789, 2.878, 3.101, 3.405, 3.763, 4.175, 4.655, 5.222, 5.893, 6.685");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6528, 0.7084, 0.864, 1.114, 1.471, 1.961, 2.602, 3.409, 4.399, 5.576",\
                 "0.6657, 0.7213, 0.877, 1.127, 1.484, 1.973, 2.615, 3.423, 4.411, 5.584",\
                 "0.7099, 0.7655, 0.9211, 1.171, 1.528, 2.017, 2.659, 3.467, 4.456, 5.63",\
                 "0.7774, 0.833, 0.9882, 1.238, 1.595, 2.084, 2.725, 3.533, 4.52, 5.698",\
                 "0.8521, 0.9089, 1.065, 1.316, 1.673, 2.161, 2.802, 3.61, 4.597, 5.777",\
                 "0.9116, 0.9703, 1.13, 1.383, 1.741, 2.23, 2.87, 3.679, 4.667, 5.843",\
                 "0.9511, 1.012, 1.175, 1.431, 1.791, 2.279, 2.919, 3.726, 4.714, 5.887",\
                 "0.9617, 1.026, 1.194, 1.455, 1.817, 2.306, 2.945, 3.751, 4.735, 5.911",\
                 "0.9386, 1.006, 1.181, 1.447, 1.814, 2.304, 2.942, 3.747, 4.732, 5.905",\
                 "0.8768, 0.9483, 1.131, 1.404, 1.777, 2.271, 2.911, 3.715, 4.699, 5.873");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2568, 0.3335, 0.5264, 0.7918, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.2569, 0.3339, 0.5266, 0.7918, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.2557, 0.3343, 0.5262, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.258, 5.573",\
                 "0.2572, 0.334, 0.5276, 0.7916, 1.15, 1.646, 2.307, 3.172, 4.254, 5.577",\
                 "0.2628, 0.34, 0.5338, 0.7964, 1.156, 1.647, 2.309, 3.174, 4.258, 5.576",\
                 "0.2796, 0.3594, 0.5526, 0.813, 1.166, 1.656, 2.314, 3.174, 4.259, 5.575",\
                 "0.2986, 0.3796, 0.5776, 0.8418, 1.191, 1.672, 2.325, 3.18, 4.259, 5.575",\
                 "0.3236, 0.4064, 0.6088, 0.8752, 1.221, 1.697, 2.342, 3.191, 4.27, 5.579",\
                 "0.3552, 0.4406, 0.648, 0.9182, 1.261, 1.732, 2.368, 3.208, 4.277, 5.585",\
                 "0.3882, 0.4772, 0.6924, 0.9726, 1.315, 1.778, 2.401, 3.232, 4.286, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2289, 0.4338, 0.8003, 1.381, 2.229, 3.355, 4.786, 6.53, 8.61",\
                 "0.1658, 0.2292, 0.4335, 0.7994, 1.381, 2.229, 3.356, 4.784, 6.529, 8.613",\
                 "0.1648, 0.2291, 0.4331, 0.7994, 1.381, 2.229, 3.355, 4.783, 6.527, 8.619",\
                 "0.1644, 0.2298, 0.4336, 0.7992, 1.383, 2.225, 3.361, 4.787, 6.529, 8.608",\
                 "0.1734, 0.236, 0.4384, 0.8024, 1.384, 2.227, 3.355, 4.782, 6.528, 8.611",\
                 "0.183, 0.247, 0.4504, 0.8144, 1.388, 2.231, 3.355, 4.781, 6.527, 8.61",\
                 "0.1956, 0.261, 0.4646, 0.8262, 1.398, 2.232, 3.361, 4.791, 6.527, 8.604",\
                 "0.2146, 0.2812, 0.4828, 0.8458, 1.408, 2.236, 3.357, 4.787, 6.523, 8.602",\
                 "0.2354, 0.3048, 0.5056, 0.87, 1.428, 2.248, 3.362, 4.783, 6.526, 8.608",\
                 "0.2586, 0.3322, 0.5336, 0.8956, 1.454, 2.269, 3.376, 4.791, 6.532, 8.602");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7414, 0.8148, 1.005, 1.269, 1.59, 1.976, 2.44, 2.999, 3.668, 4.46",\
                 "0.7586, 0.8319, 1.022, 1.286, 1.607, 1.993, 2.457, 3.016, 3.685, 4.477",\
                 "0.8272, 0.9008, 1.091, 1.354, 1.676, 2.062, 2.526, 3.084, 3.754, 4.546",\
                 "0.9633, 1.037, 1.227, 1.49, 1.811, 2.197, 2.661, 3.22, 3.889, 4.682",\
                 "1.163, 1.237, 1.427, 1.69, 2.012, 2.397, 2.862, 3.42, 4.089, 4.882",\
                 "1.405, 1.48, 1.675, 1.942, 2.265, 2.652, 3.117, 3.676, 4.345, 5.137",\
                 "1.688, 1.766, 1.965, 2.238, 2.568, 2.958, 3.425, 3.984, 4.653, 5.444",\
                 "2.014, 2.095, 2.3, 2.582, 2.917, 3.312, 3.782, 4.343, 5.012, 5.804",\
                 "2.382, 2.466, 2.68, 2.971, 3.316, 3.718, 4.192, 4.755, 5.425, 6.216",\
                 "2.789, 2.879, 3.102, 3.405, 3.762, 4.175, 4.654, 5.221, 5.893, 6.685");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6528, 0.7085, 0.8641, 1.114, 1.471, 1.961, 2.602, 3.409, 4.399, 5.576",\
                 "0.6658, 0.7214, 0.877, 1.127, 1.484, 1.973, 2.615, 3.423, 4.412, 5.586",\
                 "0.7099, 0.7657, 0.9212, 1.171, 1.528, 2.018, 2.659, 3.466, 4.453, 5.633",\
                 "0.7774, 0.833, 0.9882, 1.238, 1.595, 2.084, 2.725, 3.533, 4.52, 5.698",\
                 "0.8521, 0.909, 1.065, 1.316, 1.673, 2.161, 2.802, 3.611, 4.598, 5.777",\
                 "0.9116, 0.9703, 1.13, 1.383, 1.741, 2.23, 2.87, 3.678, 4.667, 5.841",\
                 "0.9512, 1.012, 1.175, 1.431, 1.791, 2.279, 2.919, 3.726, 4.712, 5.891",\
                 "0.9618, 1.026, 1.194, 1.456, 1.818, 2.306, 2.945, 3.75, 4.735, 5.912",\
                 "0.939, 1.006, 1.181, 1.448, 1.814, 2.304, 2.942, 3.747, 4.732, 5.905",\
                 "0.8768, 0.9483, 1.131, 1.404, 1.777, 2.271, 2.911, 3.716, 4.699, 5.873");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2568, 0.3339, 0.5265, 0.7918, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.2559, 0.3337, 0.5264, 0.79, 1.152, 1.644, 2.309, 3.173, 4.256, 5.573",\
                 "0.2571, 0.3335, 0.5264, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.256, 5.573",\
                 "0.2562, 0.3342, 0.5272, 0.7912, 1.152, 1.644, 2.307, 3.174, 4.254, 5.576",\
                 "0.2624, 0.34, 0.533, 0.7968, 1.156, 1.647, 2.309, 3.174, 4.256, 5.576",\
                 "0.2814, 0.3586, 0.5526, 0.813, 1.166, 1.656, 2.314, 3.177, 4.257, 5.575",\
                 "0.299, 0.3796, 0.5776, 0.841, 1.191, 1.671, 2.323, 3.18, 4.264, 5.576",\
                 "0.3236, 0.4072, 0.608, 0.8742, 1.222, 1.697, 2.342, 3.193, 4.269, 5.581",\
                 "0.3552, 0.4406, 0.6476, 0.9174, 1.261, 1.731, 2.367, 3.207, 4.275, 5.583",\
                 "0.3868, 0.477, 0.6932, 0.9724, 1.315, 1.777, 2.404, 3.233, 4.286, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.229, 0.4338, 0.8004, 1.38, 2.229, 3.355, 4.786, 6.53, 8.61",\
                 "0.1658, 0.2291, 0.4332, 0.7994, 1.381, 2.229, 3.355, 4.784, 6.527, 8.618",\
                 "0.1656, 0.2289, 0.4321, 0.8006, 1.381, 2.228, 3.354, 4.784, 6.529, 8.606",\
                 "0.1644, 0.2298, 0.4334, 0.7992, 1.383, 2.225, 3.361, 4.787, 6.529, 8.608",\
                 "0.1734, 0.2362, 0.439, 0.8024, 1.382, 2.226, 3.358, 4.781, 6.529, 8.609",\
                 "0.183, 0.247, 0.4504, 0.8144, 1.388, 2.23, 3.356, 4.782, 6.526, 8.62",\
                 "0.1954, 0.2612, 0.4646, 0.827, 1.397, 2.233, 3.355, 4.779, 6.523, 8.606",\
                 "0.2136, 0.2812, 0.4832, 0.845, 1.408, 2.237, 3.357, 4.781, 6.526, 8.603",\
                 "0.2344, 0.3048, 0.506, 0.8702, 1.429, 2.248, 3.361, 4.784, 6.524, 8.603",\
                 "0.2586, 0.3322, 0.5346, 0.8958, 1.456, 2.271, 3.376, 4.791, 6.528, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7414, 0.8149, 1.005, 1.269, 1.59, 1.976, 2.44, 2.999, 3.668, 4.46",\
                 "0.7585, 0.832, 1.022, 1.286, 1.607, 1.993, 2.457, 3.016, 3.685, 4.477",\
                 "0.8273, 0.9006, 1.091, 1.354, 1.676, 2.062, 2.526, 3.084, 3.754, 4.546",\
                 "0.9632, 1.037, 1.227, 1.49, 1.811, 2.197, 2.661, 3.22, 3.889, 4.682",\
                 "1.163, 1.237, 1.427, 1.69, 2.012, 2.398, 2.862, 3.42, 4.09, 4.882",\
                 "1.405, 1.48, 1.675, 1.942, 2.265, 2.652, 3.117, 3.676, 4.345, 5.137",\
                 "1.688, 1.766, 1.965, 2.238, 2.568, 2.958, 3.425, 3.984, 4.653, 5.444",\
                 "2.014, 2.095, 2.301, 2.581, 2.917, 3.312, 3.782, 4.343, 5.012, 5.804",\
                 "2.382, 2.466, 2.68, 2.971, 3.316, 3.718, 4.192, 4.755, 5.425, 6.216",\
                 "2.789, 2.879, 3.102, 3.405, 3.762, 4.175, 4.654, 5.222, 5.893, 6.685");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6528, 0.7085, 0.8641, 1.114, 1.471, 1.961, 2.602, 3.409, 4.399, 5.576",\
                 "0.6658, 0.7214, 0.877, 1.127, 1.484, 1.973, 2.615, 3.422, 4.411, 5.585",\
                 "0.7099, 0.7657, 0.9211, 1.171, 1.528, 2.017, 2.659, 3.467, 4.453, 5.634",\
                 "0.7774, 0.833, 0.9882, 1.238, 1.595, 2.084, 2.725, 3.533, 4.52, 5.698",\
                 "0.8521, 0.909, 1.065, 1.316, 1.673, 2.161, 2.802, 3.611, 4.598, 5.777",\
                 "0.9116, 0.9703, 1.13, 1.383, 1.741, 2.23, 2.87, 3.678, 4.667, 5.841",\
                 "0.9511, 1.012, 1.175, 1.431, 1.791, 2.279, 2.919, 3.726, 4.712, 5.891",\
                 "0.9617, 1.026, 1.194, 1.456, 1.818, 2.306, 2.945, 3.75, 4.735, 5.911",\
                 "0.939, 1.006, 1.181, 1.448, 1.814, 2.304, 2.942, 3.747, 4.732, 5.905",\
                 "0.8768, 0.9483, 1.131, 1.404, 1.777, 2.271, 2.911, 3.716, 4.699, 5.873");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2568, 0.3335, 0.5265, 0.79, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.257, 0.3334, 0.527, 0.79, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.2557, 0.3342, 0.5264, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.256, 5.573",\
                 "0.2574, 0.3342, 0.5278, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.255, 5.575",\
                 "0.2628, 0.34, 0.5338, 0.7964, 1.156, 1.647, 2.309, 3.174, 4.258, 5.576",\
                 "0.2814, 0.3586, 0.5526, 0.8124, 1.166, 1.656, 2.313, 3.177, 4.257, 5.575",\
                 "0.299, 0.3796, 0.5778, 0.841, 1.191, 1.672, 2.323, 3.18, 4.264, 5.575",\
                 "0.3262, 0.4072, 0.6078, 0.875, 1.222, 1.697, 2.342, 3.19, 4.269, 5.583",\
                 "0.3554, 0.4406, 0.648, 0.9174, 1.261, 1.731, 2.367, 3.207, 4.277, 5.579",\
                 "0.3884, 0.4772, 0.6932, 0.9706, 1.315, 1.778, 2.401, 3.23, 4.286, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2286, 0.4338, 0.8003, 1.38, 2.229, 3.355, 4.786, 6.53, 8.61",\
                 "0.1658, 0.2292, 0.4331, 0.7996, 1.381, 2.225, 3.355, 4.78, 6.529, 8.604",\
                 "0.1656, 0.2286, 0.4323, 0.801, 1.381, 2.229, 3.356, 4.783, 6.527, 8.612",\
                 "0.1644, 0.2298, 0.4334, 0.7992, 1.383, 2.225, 3.361, 4.787, 6.529, 8.608",\
                 "0.1734, 0.2362, 0.439, 0.8024, 1.382, 2.226, 3.359, 4.781, 6.529, 8.609",\
                 "0.183, 0.247, 0.4504, 0.8142, 1.387, 2.227, 3.356, 4.78, 6.526, 8.62",\
                 "0.1956, 0.261, 0.4646, 0.827, 1.397, 2.233, 3.355, 4.78, 6.523, 8.606",\
                 "0.2144, 0.282, 0.4836, 0.8452, 1.408, 2.237, 3.357, 4.781, 6.524, 8.603",\
                 "0.2344, 0.3048, 0.506, 0.8702, 1.429, 2.248, 3.361, 4.784, 6.524, 8.601",\
                 "0.2586, 0.3322, 0.5346, 0.8958, 1.456, 2.271, 3.376, 4.791, 6.53, 8.602");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7414, 0.8148, 1.005, 1.269, 1.59, 1.976, 2.44, 2.999, 3.668, 4.46",\
                 "0.7585, 0.8319, 1.022, 1.286, 1.607, 1.993, 2.457, 3.016, 3.685, 4.477",\
                 "0.8273, 0.9007, 1.091, 1.354, 1.676, 2.061, 2.526, 3.084, 3.754, 4.546",\
                 "0.9633, 1.036, 1.227, 1.49, 1.811, 2.197, 2.661, 3.22, 3.889, 4.682",\
                 "1.163, 1.237, 1.427, 1.69, 2.012, 2.398, 2.862, 3.42, 4.09, 4.882",\
                 "1.405, 1.48, 1.675, 1.942, 2.265, 2.652, 3.117, 3.676, 4.345, 5.137",\
                 "1.688, 1.766, 1.965, 2.238, 2.568, 2.958, 3.425, 3.984, 4.652, 5.444",\
                 "2.015, 2.095, 2.3, 2.581, 2.917, 3.312, 3.782, 4.343, 5.012, 5.804",\
                 "2.382, 2.466, 2.68, 2.971, 3.316, 3.718, 4.192, 4.755, 5.425, 6.216",\
                 "2.79, 2.878, 3.101, 3.405, 3.763, 4.175, 4.655, 5.222, 5.893, 6.685");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6528, 0.7084, 0.864, 1.114, 1.471, 1.961, 2.602, 3.41, 4.399, 5.574",\
                 "0.6657, 0.7214, 0.877, 1.127, 1.484, 1.973, 2.615, 3.423, 4.408, 5.589",\
                 "0.7099, 0.7656, 0.9212, 1.171, 1.528, 2.017, 2.659, 3.467, 4.455, 5.63",\
                 "0.7774, 0.833, 0.9882, 1.238, 1.595, 2.084, 2.725, 3.533, 4.52, 5.698",\
                 "0.8521, 0.909, 1.065, 1.316, 1.673, 2.161, 2.802, 3.611, 4.598, 5.777",\
                 "0.9116, 0.9703, 1.13, 1.383, 1.741, 2.23, 2.87, 3.679, 4.667, 5.841",\
                 "0.9512, 1.012, 1.175, 1.431, 1.791, 2.279, 2.919, 3.726, 4.713, 5.886",\
                 "0.962, 1.026, 1.194, 1.455, 1.817, 2.306, 2.945, 3.751, 4.735, 5.91",\
                 "0.9386, 1.006, 1.181, 1.447, 1.814, 2.304, 2.942, 3.747, 4.732, 5.905",\
                 "0.8768, 0.9483, 1.131, 1.404, 1.777, 2.271, 2.911, 3.715, 4.699, 5.872");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2568, 0.3339, 0.5264, 0.7918, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.257, 0.3339, 0.5264, 0.7898, 1.151, 1.644, 2.307, 3.174, 4.258, 5.575",\
                 "0.2557, 0.3343, 0.5262, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.257, 5.573",\
                 "0.2564, 0.335, 0.527, 0.7916, 1.15, 1.646, 2.308, 3.174, 4.255, 5.577",\
                 "0.2626, 0.34, 0.5332, 0.7964, 1.156, 1.647, 2.309, 3.175, 4.258, 5.576",\
                 "0.28, 0.3586, 0.5536, 0.8128, 1.166, 1.656, 2.315, 3.177, 4.259, 5.578",\
                 "0.299, 0.38, 0.5778, 0.8414, 1.191, 1.672, 2.325, 3.18, 4.259, 5.576",\
                 "0.3236, 0.4068, 0.6088, 0.8752, 1.22, 1.697, 2.342, 3.189, 4.264, 5.577",\
                 "0.3552, 0.4406, 0.6476, 0.9182, 1.261, 1.732, 2.368, 3.208, 4.275, 5.581",\
                 "0.3866, 0.4784, 0.6924, 0.973, 1.317, 1.776, 2.403, 3.233, 4.286, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2289, 0.4338, 0.8005, 1.38, 2.229, 3.355, 4.78, 6.527, 8.622",\
                 "0.1658, 0.2291, 0.4325, 0.7991, 1.381, 2.228, 3.354, 4.789, 6.526, 8.611",\
                 "0.1648, 0.2291, 0.4339, 0.8004, 1.382, 2.229, 3.356, 4.783, 6.53, 8.604",\
                 "0.1644, 0.2298, 0.4336, 0.7992, 1.383, 2.225, 3.361, 4.787, 6.529, 8.608",\
                 "0.1734, 0.2362, 0.4392, 0.8024, 1.382, 2.226, 3.358, 4.782, 6.529, 8.609",\
                 "0.183, 0.247, 0.4504, 0.8144, 1.388, 2.227, 3.355, 4.781, 6.527, 8.62",\
                 "0.1954, 0.2612, 0.4646, 0.8262, 1.398, 2.232, 3.361, 4.791, 6.527, 8.602",\
                 "0.2134, 0.28, 0.4834, 0.8456, 1.408, 2.237, 3.357, 4.782, 6.537, 8.605",\
                 "0.2354, 0.3048, 0.5066, 0.87, 1.428, 2.248, 3.362, 4.784, 6.526, 8.608",\
                 "0.2586, 0.3322, 0.5336, 0.8974, 1.454, 2.269, 3.376, 4.791, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7414, 0.8149, 1.005, 1.269, 1.59, 1.976, 2.44, 2.999, 3.668, 4.46",\
                 "0.7585, 0.8319, 1.022, 1.286, 1.607, 1.993, 2.457, 3.016, 3.685, 4.477",\
                 "0.8273, 0.9007, 1.091, 1.354, 1.676, 2.061, 2.526, 3.084, 3.754, 4.546",\
                 "0.9634, 1.037, 1.227, 1.49, 1.811, 2.197, 2.661, 3.22, 3.889, 4.682",\
                 "1.163, 1.237, 1.427, 1.69, 2.012, 2.398, 2.862, 3.42, 4.09, 4.882",\
                 "1.405, 1.48, 1.675, 1.942, 2.265, 2.652, 3.117, 3.676, 4.345, 5.136",\
                 "1.688, 1.766, 1.965, 2.238, 2.568, 2.958, 3.425, 3.984, 4.652, 5.444",\
                 "2.014, 2.095, 2.3, 2.581, 2.916, 3.313, 3.782, 4.343, 5.012, 5.804",\
                 "2.382, 2.466, 2.68, 2.971, 3.316, 3.718, 4.192, 4.755, 5.425, 6.216",\
                 "2.79, 2.878, 3.101, 3.406, 3.763, 4.175, 4.655, 5.222, 5.893, 6.684");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6528, 0.7084, 0.864, 1.114, 1.471, 1.96, 2.602, 3.409, 4.399, 5.576",\
                 "0.6657, 0.7214, 0.877, 1.127, 1.484, 1.973, 2.615, 3.423, 4.412, 5.586",\
                 "0.7099, 0.7656, 0.9212, 1.171, 1.528, 2.017, 2.659, 3.467, 4.455, 5.629",\
                 "0.7774, 0.833, 0.9882, 1.238, 1.595, 2.084, 2.725, 3.533, 4.52, 5.698",\
                 "0.8521, 0.909, 1.065, 1.316, 1.673, 2.161, 2.802, 3.611, 4.598, 5.777",\
                 "0.9116, 0.9703, 1.13, 1.383, 1.741, 2.23, 2.87, 3.679, 4.667, 5.841",\
                 "0.9511, 1.012, 1.175, 1.431, 1.791, 2.279, 2.919, 3.726, 4.713, 5.887",\
                 "0.962, 1.026, 1.194, 1.455, 1.817, 2.305, 2.945, 3.75, 4.735, 5.911",\
                 "0.9386, 1.006, 1.181, 1.447, 1.814, 2.304, 2.942, 3.747, 4.732, 5.905",\
                 "0.8768, 0.9483, 1.131, 1.404, 1.777, 2.271, 2.911, 3.715, 4.699, 5.872");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2568, 0.3335, 0.5264, 0.7918, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.2569, 0.3339, 0.5266, 0.7918, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.2557, 0.3343, 0.5262, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.26, 5.574",\
                 "0.256, 0.335, 0.5272, 0.7912, 1.152, 1.644, 2.309, 3.174, 4.255, 5.576",\
                 "0.2628, 0.34, 0.5338, 0.7962, 1.156, 1.647, 2.309, 3.174, 4.258, 5.576",\
                 "0.2802, 0.3586, 0.553, 0.8128, 1.166, 1.656, 2.314, 3.177, 4.257, 5.579",\
                 "0.2986, 0.3796, 0.5778, 0.8408, 1.191, 1.672, 2.325, 3.18, 4.259, 5.575",\
                 "0.3236, 0.407, 0.6084, 0.8752, 1.221, 1.697, 2.342, 3.193, 4.268, 5.583",\
                 "0.3552, 0.4406, 0.648, 0.9182, 1.261, 1.732, 2.368, 3.208, 4.275, 5.585",\
                 "0.3864, 0.477, 0.6926, 0.9728, 1.316, 1.776, 2.403, 3.233, 4.286, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1649, 0.229, 0.4338, 0.8003, 1.38, 2.228, 3.355, 4.786, 6.53, 8.611",\
                 "0.1658, 0.2291, 0.4325, 0.7997, 1.381, 2.229, 3.355, 4.784, 6.527, 8.618",\
                 "0.1655, 0.2291, 0.4333, 0.7992, 1.382, 2.229, 3.356, 4.783, 6.53, 8.605",\
                 "0.1644, 0.2298, 0.4334, 0.7992, 1.383, 2.225, 3.361, 4.787, 6.529, 8.608",\
                 "0.1734, 0.2362, 0.4392, 0.8024, 1.382, 2.226, 3.358, 4.782, 6.529, 8.609",\
                 "0.183, 0.247, 0.4504, 0.8144, 1.388, 2.23, 3.355, 4.781, 6.527, 8.62",\
                 "0.1954, 0.261, 0.4646, 0.8262, 1.398, 2.232, 3.361, 4.791, 6.527, 8.605",\
                 "0.2132, 0.2812, 0.4836, 0.8466, 1.408, 2.237, 3.357, 4.781, 6.534, 8.603",\
                 "0.2354, 0.3048, 0.5066, 0.87, 1.428, 2.248, 3.362, 4.784, 6.526, 8.608",\
                 "0.2586, 0.3322, 0.5336, 0.8974, 1.454, 2.269, 3.376, 4.791, 6.528, 8.6");
        }
      }

      timing() {
        related_pin : "I0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7414, 0.8148, 1.005, 1.269, 1.59, 1.976, 2.44, 2.999, 3.668, 4.46",\
                 "0.7585, 0.8319, 1.022, 1.286, 1.607, 1.993, 2.457, 3.016, 3.685, 4.477",\
                 "0.8273, 0.9007, 1.091, 1.354, 1.676, 2.061, 2.526, 3.084, 3.754, 4.546",\
                 "0.9633, 1.036, 1.227, 1.49, 1.811, 2.197, 2.661, 3.22, 3.889, 4.682",\
                 "1.163, 1.237, 1.427, 1.69, 2.012, 2.398, 2.862, 3.42, 4.09, 4.882",\
                 "1.405, 1.48, 1.675, 1.942, 2.265, 2.652, 3.117, 3.676, 4.345, 5.137",\
                 "1.688, 1.766, 1.965, 2.238, 2.568, 2.958, 3.425, 3.984, 4.652, 5.444",\
                 "2.015, 2.095, 2.3, 2.581, 2.917, 3.312, 3.782, 4.343, 5.012, 5.804",\
                 "2.382, 2.466, 2.68, 2.971, 3.316, 3.718, 4.192, 4.755, 5.425, 6.216",\
                 "2.79, 2.878, 3.101, 3.405, 3.763, 4.175, 4.655, 5.222, 5.893, 6.685");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6528, 0.7085, 0.8641, 1.114, 1.471, 1.961, 2.602, 3.409, 4.399, 5.576",\
                 "0.6658, 0.7214, 0.877, 1.127, 1.484, 1.973, 2.615, 3.423, 4.412, 5.586",\
                 "0.7099, 0.7657, 0.9212, 1.171, 1.528, 2.018, 2.659, 3.466, 4.453, 5.633",\
                 "0.7774, 0.833, 0.9882, 1.238, 1.595, 2.084, 2.725, 3.533, 4.52, 5.698",\
                 "0.8521, 0.909, 1.065, 1.316, 1.673, 2.161, 2.802, 3.611, 4.598, 5.777",\
                 "0.9116, 0.9703, 1.13, 1.383, 1.741, 2.23, 2.87, 3.678, 4.667, 5.841",\
                 "0.9512, 1.012, 1.175, 1.431, 1.791, 2.279, 2.919, 3.726, 4.712, 5.891",\
                 "0.9618, 1.026, 1.194, 1.456, 1.818, 2.306, 2.945, 3.75, 4.735, 5.912",\
                 "0.939, 1.006, 1.181, 1.448, 1.814, 2.304, 2.942, 3.747, 4.732, 5.905",\
                 "0.8768, 0.9483, 1.131, 1.404, 1.777, 2.271, 2.911, 3.716, 4.699, 5.873");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2568, 0.3339, 0.5265, 0.7918, 1.151, 1.645, 2.307, 3.174, 4.259, 5.576",\
                 "0.2569, 0.3338, 0.527, 0.7918, 1.151, 1.644, 2.307, 3.174, 4.258, 5.575",\
                 "0.2571, 0.3335, 0.5264, 0.7906, 1.152, 1.644, 2.309, 3.174, 4.256, 5.573",\
                 "0.2572, 0.3342, 0.5276, 0.791, 1.152, 1.646, 2.308, 3.17, 4.26, 5.576",\
                 "0.2624, 0.3404, 0.5338, 0.7974, 1.156, 1.648, 2.31, 3.172, 4.258, 5.578",\
                 "0.281, 0.3586, 0.5526, 0.8128, 1.167, 1.656, 2.313, 3.177, 4.258, 5.575",\
                 "0.299, 0.3796, 0.5786, 0.841, 1.191, 1.671, 2.323, 3.18, 4.259, 5.576",\
                 "0.3236, 0.4068, 0.6084, 0.874, 1.222, 1.697, 2.342, 3.193, 4.269, 5.581",\
                 "0.3552, 0.4406, 0.6476, 0.919, 1.261, 1.731, 2.369, 3.207, 4.275, 5.585",\
                 "0.3864, 0.477, 0.6926, 0.9726, 1.315, 1.779, 2.402, 3.233, 4.288, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2289, 0.4338, 0.8005, 1.38, 2.229, 3.355, 4.78, 6.527, 8.622",\
                 "0.1658, 0.2291, 0.4325, 0.7991, 1.381, 2.228, 3.354, 4.789, 6.526, 8.611",\
                 "0.1648, 0.2291, 0.4339, 0.8004, 1.382, 2.229, 3.356, 4.783, 6.53, 8.604",\
                 "0.1644, 0.2298, 0.4336, 0.7992, 1.383, 2.225, 3.361, 4.787, 6.529, 8.608",\
                 "0.1734, 0.2362, 0.4392, 0.8024, 1.382, 2.226, 3.358, 4.782, 6.529, 8.609",\
                 "0.183, 0.247, 0.4504, 0.8144, 1.388, 2.227, 3.355, 4.781, 6.527, 8.62",\
                 "0.1954, 0.2612, 0.4646, 0.8262, 1.398, 2.232, 3.361, 4.791, 6.527, 8.602",\
                 "0.2134, 0.28, 0.4834, 0.8456, 1.408, 2.237, 3.357, 4.782, 6.537, 8.605",\
                 "0.2354, 0.3048, 0.5066, 0.87, 1.428, 2.248, 3.362, 4.784, 6.526, 8.608",\
                 "0.2586, 0.3322, 0.5336, 0.8974, 1.454, 2.269, 3.376, 4.791, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7314, 0.8048, 0.9948, 1.258, 1.579, 1.964, 2.427, 2.986, 3.655, 4.447",\
                 "0.7487, 0.8219, 1.012, 1.275, 1.596, 1.981, 2.445, 3.003, 3.672, 4.465",\
                 "0.8176, 0.891, 1.081, 1.344, 1.665, 2.05, 2.514, 3.072, 3.741, 4.534",\
                 "0.9531, 1.026, 1.216, 1.479, 1.8, 2.185, 2.649, 3.207, 3.876, 4.669",\
                 "1.151, 1.224, 1.413, 1.677, 1.998, 2.383, 2.847, 3.405, 4.074, 4.867",\
                 "1.39, 1.465, 1.659, 1.926, 2.248, 2.635, 3.099, 3.658, 4.327, 5.119",\
                 "1.67, 1.748, 1.946, 2.219, 2.548, 2.938, 3.404, 3.963, 4.632, 5.423",\
                 "1.995, 2.075, 2.28, 2.56, 2.895, 3.29, 3.759, 4.32, 4.989, 5.78",\
                 "2.36, 2.445, 2.658, 2.947, 3.292, 3.693, 4.167, 4.729, 5.4, 6.19",\
                 "2.766, 2.855, 3.077, 3.38, 3.736, 4.147, 4.628, 5.195, 5.866, 6.657");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6391, 0.6948, 0.85, 1.1, 1.457, 1.946, 2.588, 3.396, 4.382, 5.559",\
                 "0.6521, 0.7076, 0.863, 1.113, 1.47, 1.959, 2.6, 3.407, 4.395, 5.573",\
                 "0.696, 0.7515, 0.9067, 1.157, 1.514, 2.003, 2.644, 3.452, 4.44, 5.615",\
                 "0.763, 0.8184, 0.9734, 1.223, 1.58, 2.069, 2.71, 3.518, 4.504, 5.683",\
                 "0.8363, 0.8931, 1.05, 1.3, 1.657, 2.145, 2.786, 3.594, 4.579, 5.76",\
                 "0.8947, 0.9535, 1.113, 1.366, 1.724, 2.212, 2.853, 3.66, 4.649, 5.825",\
                 "0.9324, 0.9932, 1.156, 1.412, 1.772, 2.26, 2.899, 3.707, 4.694, 5.872",\
                 "0.9415, 1.005, 1.174, 1.434, 1.796, 2.284, 2.923, 3.729, 4.714, 5.89",\
                 "0.916, 0.984, 1.158, 1.425, 1.791, 2.281, 2.919, 3.725, 4.709, 5.883",\
                 "0.8522, 0.9241, 1.106, 1.378, 1.751, 2.245, 2.886, 3.69, 4.673, 5.847");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2554, 0.3328, 0.5252, 0.7888, 1.149, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2553, 0.3333, 0.5249, 0.7896, 1.15, 1.643, 2.306, 3.172, 4.256, 5.574",\
                 "0.2561, 0.3328, 0.5254, 0.7892, 1.148, 1.644, 2.306, 3.172, 4.254, 5.578",\
                 "0.2554, 0.3332, 0.5256, 0.7892, 1.149, 1.643, 2.306, 3.172, 4.257, 5.572",\
                 "0.2618, 0.3394, 0.5328, 0.7952, 1.153, 1.645, 2.309, 3.174, 4.255, 5.576",\
                 "0.2782, 0.357, 0.5506, 0.8104, 1.166, 1.654, 2.314, 3.175, 4.257, 5.578",\
                 "0.2968, 0.3774, 0.5752, 0.8386, 1.188, 1.669, 2.325, 3.182, 4.263, 5.579",\
                 "0.3224, 0.4042, 0.6054, 0.871, 1.219, 1.695, 2.34, 3.192, 4.268, 5.582",\
                 "0.3522, 0.438, 0.6452, 0.9152, 1.258, 1.729, 2.366, 3.206, 4.274, 5.58",\
                 "0.3844, 0.4744, 0.689, 0.9686, 1.312, 1.776, 2.401, 3.231, 4.287, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2281, 0.4314, 0.8, 1.38, 2.226, 3.355, 4.783, 6.527, 8.605",\
                 "0.1643, 0.2284, 0.4314, 0.8, 1.38, 2.227, 3.355, 4.785, 6.532, 8.609",\
                 "0.1644, 0.2288, 0.4313, 0.7998, 1.38, 2.224, 3.355, 4.783, 6.536, 8.606",\
                 "0.164, 0.229, 0.4318, 0.7986, 1.38, 2.227, 3.354, 4.789, 6.526, 8.609",\
                 "0.173, 0.2354, 0.4384, 0.8022, 1.383, 2.227, 3.356, 4.79, 6.525, 8.612",\
                 "0.1824, 0.2468, 0.4496, 0.8138, 1.388, 2.232, 3.355, 4.781, 6.528, 8.61",\
                 "0.196, 0.2608, 0.4636, 0.8264, 1.397, 2.232, 3.355, 4.787, 6.527, 8.609",\
                 "0.2142, 0.2806, 0.4822, 0.8442, 1.408, 2.236, 3.357, 4.781, 6.537, 8.601",\
                 "0.2354, 0.3036, 0.5058, 0.87, 1.427, 2.248, 3.364, 4.782, 6.527, 8.608",\
                 "0.2582, 0.3298, 0.5326, 0.8966, 1.454, 2.27, 3.375, 4.79, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7314, 0.8048, 0.9948, 1.258, 1.579, 1.964, 2.427, 2.986, 3.655, 4.447",\
                 "0.7487, 0.8219, 1.012, 1.275, 1.596, 1.981, 2.445, 3.003, 3.672, 4.465",\
                 "0.8176, 0.891, 1.081, 1.344, 1.665, 2.05, 2.514, 3.072, 3.741, 4.534",\
                 "0.953, 1.026, 1.216, 1.479, 1.8, 2.185, 2.649, 3.207, 3.876, 4.669",\
                 "1.15, 1.224, 1.414, 1.677, 1.997, 2.383, 2.847, 3.405, 4.074, 4.866",\
                 "1.39, 1.465, 1.659, 1.925, 2.248, 2.635, 3.099, 3.658, 4.327, 5.119",\
                 "1.671, 1.748, 1.947, 2.219, 2.548, 2.938, 3.404, 3.963, 4.632, 5.423",\
                 "1.995, 2.076, 2.28, 2.56, 2.895, 3.29, 3.759, 4.32, 4.989, 5.781",\
                 "2.36, 2.445, 2.658, 2.947, 3.291, 3.693, 4.167, 4.73, 5.399, 6.191",\
                 "2.766, 2.855, 3.077, 3.38, 3.736, 4.147, 4.628, 5.195, 5.866, 6.657");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6391, 0.6948, 0.85, 1.1, 1.457, 1.946, 2.587, 3.395, 4.382, 5.562",\
                 "0.652, 0.7077, 0.863, 1.113, 1.47, 1.959, 2.6, 3.409, 4.395, 5.572",\
                 "0.6959, 0.7514, 0.9067, 1.157, 1.513, 2.003, 2.644, 3.452, 4.439, 5.615",\
                 "0.763, 0.8184, 0.9733, 1.223, 1.58, 2.069, 2.71, 3.518, 4.507, 5.683",\
                 "0.8362, 0.8929, 1.05, 1.3, 1.656, 2.145, 2.786, 3.594, 4.58, 5.76",\
                 "0.8951, 0.9535, 1.113, 1.366, 1.724, 2.212, 2.853, 3.661, 4.647, 5.825",\
                 "0.9322, 0.9932, 1.156, 1.412, 1.772, 2.26, 2.9, 3.707, 4.694, 5.867",\
                 "0.9415, 1.005, 1.173, 1.434, 1.796, 2.285, 2.924, 3.729, 4.714, 5.89",\
                 "0.9163, 0.9835, 1.159, 1.425, 1.791, 2.281, 2.92, 3.725, 4.709, 5.882",\
                 "0.8522, 0.9237, 1.106, 1.378, 1.751, 2.245, 2.886, 3.69, 4.674, 5.848");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2554, 0.3328, 0.5252, 0.7888, 1.149, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2549, 0.3331, 0.5248, 0.7896, 1.15, 1.643, 2.308, 3.171, 4.256, 5.574",\
                 "0.2561, 0.3328, 0.5254, 0.7888, 1.149, 1.643, 2.306, 3.173, 4.259, 5.577",\
                 "0.2562, 0.3334, 0.5252, 0.79, 1.149, 1.643, 2.305, 3.171, 4.258, 5.573",\
                 "0.2614, 0.3392, 0.5322, 0.7952, 1.154, 1.646, 2.308, 3.172, 4.255, 5.578",\
                 "0.2782, 0.3572, 0.5508, 0.8106, 1.166, 1.654, 2.312, 3.174, 4.256, 5.572",\
                 "0.2966, 0.377, 0.576, 0.839, 1.188, 1.67, 2.325, 3.181, 4.261, 5.578",\
                 "0.322, 0.4042, 0.6054, 0.8718, 1.219, 1.695, 2.34, 3.191, 4.268, 5.575",\
                 "0.3528, 0.438, 0.6452, 0.9144, 1.258, 1.728, 2.366, 3.205, 4.276, 5.584",\
                 "0.3844, 0.4748, 0.6886, 0.9686, 1.312, 1.776, 2.401, 3.231, 4.285, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2281, 0.4312, 0.7984, 1.38, 2.226, 3.355, 4.781, 6.534, 8.612",\
                 "0.165, 0.2283, 0.4311, 0.8, 1.38, 2.225, 3.355, 4.782, 6.533, 8.606",\
                 "0.165, 0.2285, 0.4322, 0.7984, 1.383, 2.229, 3.355, 4.782, 6.536, 8.606",\
                 "0.1646, 0.2292, 0.4318, 0.7988, 1.38, 2.228, 3.355, 4.791, 6.53, 8.609",\
                 "0.1718, 0.2354, 0.4384, 0.8016, 1.384, 2.228, 3.356, 4.783, 6.527, 8.612",\
                 "0.182, 0.2468, 0.4498, 0.8134, 1.387, 2.229, 3.358, 4.783, 6.534, 8.61",\
                 "0.1972, 0.2608, 0.4638, 0.8264, 1.397, 2.232, 3.359, 4.791, 6.526, 8.604",\
                 "0.214, 0.282, 0.4834, 0.8448, 1.407, 2.24, 3.357, 4.781, 6.526, 8.602",\
                 "0.2354, 0.3042, 0.5048, 0.8692, 1.427, 2.248, 3.362, 4.783, 6.526, 8.603",\
                 "0.2592, 0.3314, 0.533, 0.8964, 1.454, 2.271, 3.376, 4.79, 6.527, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7314, 0.8048, 0.9948, 1.258, 1.579, 1.964, 2.427, 2.986, 3.655, 4.447",\
                 "0.7487, 0.8219, 1.012, 1.275, 1.596, 1.981, 2.445, 3.003, 3.672, 4.465",\
                 "0.8176, 0.8908, 1.081, 1.344, 1.665, 2.05, 2.514, 3.072, 3.741, 4.534",\
                 "0.953, 1.026, 1.216, 1.479, 1.8, 2.185, 2.649, 3.207, 3.876, 4.669",\
                 "1.151, 1.224, 1.414, 1.677, 1.998, 2.383, 2.847, 3.405, 4.074, 4.867",\
                 "1.39, 1.465, 1.659, 1.925, 2.248, 2.635, 3.099, 3.658, 4.327, 5.119",\
                 "1.671, 1.748, 1.946, 2.219, 2.548, 2.938, 3.404, 3.963, 4.632, 5.423",\
                 "1.995, 2.075, 2.28, 2.559, 2.895, 3.29, 3.759, 4.32, 4.989, 5.78",\
                 "2.36, 2.445, 2.658, 2.948, 3.291, 3.693, 4.167, 4.729, 5.4, 6.19",\
                 "2.766, 2.854, 3.077, 3.38, 3.735, 4.147, 4.628, 5.195, 5.866, 6.657");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6391, 0.6947, 0.8499, 1.1, 1.457, 1.946, 2.587, 3.396, 4.382, 5.558",\
                 "0.6521, 0.7078, 0.863, 1.113, 1.47, 1.959, 2.6, 3.408, 4.395, 5.572",\
                 "0.6959, 0.7514, 0.9067, 1.157, 1.514, 2.003, 2.644, 3.452, 4.439, 5.616",\
                 "0.763, 0.8184, 0.9734, 1.223, 1.58, 2.069, 2.71, 3.517, 4.504, 5.683",\
                 "0.8363, 0.8931, 1.05, 1.3, 1.657, 2.145, 2.786, 3.594, 4.579, 5.76",\
                 "0.8947, 0.9535, 1.113, 1.366, 1.724, 2.212, 2.853, 3.661, 4.648, 5.825",\
                 "0.9324, 0.9932, 1.156, 1.412, 1.772, 2.26, 2.9, 3.707, 4.694, 5.869",\
                 "0.9415, 1.005, 1.173, 1.434, 1.796, 2.284, 2.924, 3.729, 4.714, 5.889",\
                 "0.916, 0.984, 1.158, 1.424, 1.791, 2.282, 2.92, 3.724, 4.709, 5.882",\
                 "0.8522, 0.9237, 1.106, 1.378, 1.751, 2.245, 2.886, 3.69, 4.674, 5.847");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2554, 0.3328, 0.5252, 0.7888, 1.149, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2553, 0.3334, 0.5249, 0.7896, 1.15, 1.643, 2.306, 3.172, 4.256, 5.574",\
                 "0.2556, 0.3332, 0.5254, 0.7888, 1.148, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2564, 0.333, 0.5254, 0.7906, 1.15, 1.643, 2.306, 3.172, 4.257, 5.575",\
                 "0.262, 0.3394, 0.5322, 0.7952, 1.154, 1.645, 2.307, 3.173, 4.259, 5.577",\
                 "0.2782, 0.357, 0.5508, 0.8108, 1.166, 1.654, 2.314, 3.175, 4.259, 5.579",\
                 "0.297, 0.3774, 0.575, 0.8388, 1.188, 1.67, 2.325, 3.181, 4.263, 5.579",\
                 "0.3224, 0.4042, 0.6054, 0.8714, 1.219, 1.695, 2.34, 3.192, 4.268, 5.582",\
                 "0.3522, 0.438, 0.6452, 0.9152, 1.258, 1.729, 2.366, 3.207, 4.275, 5.582",\
                 "0.3844, 0.475, 0.689, 0.9686, 1.311, 1.776, 2.401, 3.231, 4.287, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1652, 0.2283, 0.4321, 0.7998, 1.38, 2.225, 3.355, 4.783, 6.533, 8.605",\
                 "0.165, 0.2283, 0.4314, 0.7986, 1.383, 2.225, 3.355, 4.786, 6.533, 8.605",\
                 "0.1647, 0.2285, 0.4315, 0.7998, 1.38, 2.224, 3.356, 4.78, 6.533, 8.607",\
                 "0.1644, 0.229, 0.4324, 0.7986, 1.38, 2.227, 3.361, 4.787, 6.527, 8.609",\
                 "0.173, 0.2354, 0.4384, 0.8022, 1.382, 2.227, 3.356, 4.789, 6.525, 8.612",\
                 "0.1826, 0.2468, 0.4504, 0.8146, 1.387, 2.228, 3.359, 4.782, 6.529, 8.61",\
                 "0.196, 0.2608, 0.4636, 0.8264, 1.396, 2.232, 3.355, 4.79, 6.525, 8.612",\
                 "0.2142, 0.2806, 0.4828, 0.8442, 1.408, 2.238, 3.357, 4.781, 6.524, 8.604",\
                 "0.2356, 0.3036, 0.5058, 0.869, 1.428, 2.248, 3.364, 4.783, 6.526, 8.603",\
                 "0.2584, 0.3292, 0.533, 0.8966, 1.454, 2.271, 3.374, 4.788, 6.527, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7314, 0.8048, 0.9948, 1.258, 1.579, 1.964, 2.427, 2.986, 3.655, 4.448",\
                 "0.7487, 0.8219, 1.012, 1.275, 1.596, 1.981, 2.445, 3.003, 3.672, 4.465",\
                 "0.8176, 0.8909, 1.081, 1.344, 1.665, 2.05, 2.514, 3.072, 3.741, 4.534",\
                 "0.9531, 1.026, 1.216, 1.479, 1.8, 2.185, 2.649, 3.207, 3.876, 4.669",\
                 "1.151, 1.224, 1.414, 1.677, 1.998, 2.383, 2.847, 3.405, 4.074, 4.867",\
                 "1.39, 1.465, 1.659, 1.925, 2.248, 2.635, 3.099, 3.658, 4.327, 5.119",\
                 "1.671, 1.747, 1.947, 2.219, 2.548, 2.938, 3.404, 3.963, 4.632, 5.424",\
                 "1.995, 2.076, 2.28, 2.56, 2.895, 3.29, 3.759, 4.32, 4.989, 5.781",\
                 "2.36, 2.445, 2.658, 2.947, 3.291, 3.693, 4.167, 4.73, 5.399, 6.191",\
                 "2.766, 2.855, 3.077, 3.38, 3.736, 4.147, 4.628, 5.195, 5.866, 6.657");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6391, 0.6948, 0.85, 1.1, 1.457, 1.946, 2.588, 3.396, 4.382, 5.559",\
                 "0.6521, 0.7076, 0.863, 1.113, 1.47, 1.959, 2.6, 3.409, 4.398, 5.572",\
                 "0.6959, 0.7514, 0.9067, 1.157, 1.513, 2.003, 2.644, 3.452, 4.439, 5.615",\
                 "0.763, 0.8185, 0.9735, 1.223, 1.58, 2.069, 2.71, 3.518, 4.504, 5.684",\
                 "0.8362, 0.8929, 1.05, 1.3, 1.656, 2.145, 2.786, 3.594, 4.58, 5.76",\
                 "0.8951, 0.953, 1.113, 1.366, 1.724, 2.212, 2.853, 3.661, 4.649, 5.826",\
                 "0.9322, 0.9935, 1.156, 1.412, 1.772, 2.26, 2.9, 3.707, 4.694, 5.869",\
                 "0.9415, 1.005, 1.173, 1.434, 1.797, 2.285, 2.923, 3.729, 4.714, 5.89",\
                 "0.916, 0.9836, 1.159, 1.425, 1.791, 2.282, 2.92, 3.725, 4.709, 5.883",\
                 "0.8521, 0.9237, 1.106, 1.378, 1.751, 2.245, 2.886, 3.69, 4.674, 5.848");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2554, 0.3329, 0.5252, 0.7886, 1.148, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2549, 0.333, 0.5248, 0.7896, 1.15, 1.643, 2.308, 3.171, 4.256, 5.574",\
                 "0.2561, 0.3328, 0.5248, 0.789, 1.148, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2554, 0.333, 0.5252, 0.7904, 1.151, 1.643, 2.306, 3.172, 4.256, 5.578",\
                 "0.2616, 0.3394, 0.532, 0.7954, 1.154, 1.646, 2.31, 3.171, 4.259, 5.578",\
                 "0.2782, 0.3572, 0.5508, 0.8106, 1.166, 1.654, 2.313, 3.176, 4.26, 5.571",\
                 "0.2964, 0.3766, 0.5762, 0.8386, 1.188, 1.67, 2.322, 3.178, 4.262, 5.58",\
                 "0.322, 0.4042, 0.6054, 0.8718, 1.219, 1.695, 2.34, 3.192, 4.268, 5.581",\
                 "0.3528, 0.438, 0.6452, 0.9146, 1.258, 1.729, 2.366, 3.205, 4.276, 5.583",\
                 "0.3844, 0.4748, 0.6884, 0.9686, 1.312, 1.774, 2.4, 3.231, 4.285, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2281, 0.4324, 0.7998, 1.38, 2.229, 3.355, 4.783, 6.527, 8.605",\
                 "0.1647, 0.2282, 0.4329, 0.7985, 1.38, 2.229, 3.355, 4.784, 6.526, 8.619",\
                 "0.165, 0.2285, 0.4322, 0.7984, 1.383, 2.229, 3.355, 4.782, 6.536, 8.606",\
                 "0.164, 0.2292, 0.4328, 0.799, 1.38, 2.227, 3.356, 4.786, 6.527, 8.608",\
                 "0.1718, 0.2354, 0.4384, 0.8016, 1.384, 2.228, 3.356, 4.783, 6.527, 8.612",\
                 "0.182, 0.247, 0.4498, 0.813, 1.387, 2.23, 3.357, 4.783, 6.527, 8.607",\
                 "0.1972, 0.2606, 0.4636, 0.8264, 1.397, 2.232, 3.357, 4.786, 6.527, 8.606",\
                 "0.2138, 0.282, 0.4834, 0.845, 1.407, 2.236, 3.357, 4.786, 6.535, 8.6",\
                 "0.2358, 0.3044, 0.505, 0.8692, 1.427, 2.248, 3.363, 4.784, 6.523, 8.598",\
                 "0.2606, 0.3314, 0.533, 0.8964, 1.454, 2.271, 3.376, 4.79, 6.527, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7314, 0.8048, 0.9948, 1.258, 1.579, 1.964, 2.427, 2.986, 3.655, 4.447",\
                 "0.7487, 0.822, 1.012, 1.275, 1.596, 1.981, 2.445, 3.003, 3.672, 4.465",\
                 "0.8175, 0.891, 1.081, 1.344, 1.665, 2.05, 2.514, 3.072, 3.741, 4.534",\
                 "0.953, 1.026, 1.216, 1.479, 1.8, 2.185, 2.648, 3.207, 3.876, 4.669",\
                 "1.15, 1.224, 1.413, 1.676, 1.997, 2.383, 2.847, 3.405, 4.074, 4.866",\
                 "1.39, 1.465, 1.659, 1.926, 2.248, 2.635, 3.099, 3.658, 4.327, 5.119",\
                 "1.671, 1.748, 1.946, 2.219, 2.548, 2.938, 3.404, 3.963, 4.632, 5.423",\
                 "1.995, 2.075, 2.28, 2.56, 2.895, 3.29, 3.759, 4.32, 4.989, 5.78",\
                 "2.36, 2.445, 2.658, 2.947, 3.292, 3.693, 4.167, 4.729, 5.4, 6.191",\
                 "2.766, 2.855, 3.077, 3.38, 3.736, 4.147, 4.628, 5.195, 5.866, 6.657");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6391, 0.6948, 0.85, 1.1, 1.457, 1.946, 2.587, 3.395, 4.381, 5.559",\
                 "0.6521, 0.7077, 0.8629, 1.113, 1.47, 1.959, 2.6, 3.408, 4.395, 5.574",\
                 "0.6959, 0.7515, 0.9068, 1.157, 1.514, 2.003, 2.644, 3.453, 4.439, 5.619",\
                 "0.763, 0.8184, 0.9735, 1.223, 1.58, 2.069, 2.71, 3.518, 4.506, 5.684",\
                 "0.8365, 0.8932, 1.05, 1.3, 1.656, 2.145, 2.786, 3.594, 4.58, 5.76",\
                 "0.8947, 0.9535, 1.113, 1.366, 1.724, 2.212, 2.853, 3.661, 4.648, 5.826",\
                 "0.9324, 0.9932, 1.156, 1.412, 1.772, 2.26, 2.9, 3.707, 4.694, 5.869",\
                 "0.9415, 1.005, 1.174, 1.434, 1.796, 2.284, 2.924, 3.729, 4.714, 5.889",\
                 "0.916, 0.984, 1.158, 1.424, 1.791, 2.281, 2.92, 3.724, 4.709, 5.882",\
                 "0.8523, 0.9237, 1.106, 1.378, 1.751, 2.245, 2.886, 3.69, 4.674, 5.847");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2554, 0.3328, 0.5252, 0.7888, 1.149, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2554, 0.3327, 0.5247, 0.7894, 1.15, 1.643, 2.306, 3.172, 4.258, 5.578",\
                 "0.2561, 0.3328, 0.5246, 0.789, 1.147, 1.643, 2.306, 3.172, 4.255, 5.578",\
                 "0.2556, 0.3334, 0.526, 0.7904, 1.15, 1.643, 2.305, 3.172, 4.259, 5.572",\
                 "0.2616, 0.3394, 0.5322, 0.795, 1.154, 1.644, 2.309, 3.173, 4.256, 5.576",\
                 "0.2786, 0.3568, 0.551, 0.8108, 1.166, 1.654, 2.313, 3.176, 4.26, 5.579",\
                 "0.297, 0.3774, 0.5752, 0.8384, 1.188, 1.67, 2.323, 3.181, 4.263, 5.579",\
                 "0.3224, 0.4042, 0.6052, 0.8718, 1.219, 1.696, 2.34, 3.192, 4.267, 5.579",\
                 "0.3522, 0.438, 0.6452, 0.9154, 1.258, 1.73, 2.366, 3.205, 4.275, 5.584",\
                 "0.3844, 0.4744, 0.689, 0.9686, 1.312, 1.775, 2.401, 3.231, 4.287, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2283, 0.4314, 0.7999, 1.383, 2.225, 3.355, 4.788, 6.525, 8.607",\
                 "0.1648, 0.2283, 0.4321, 0.8, 1.383, 2.224, 3.355, 4.783, 6.53, 8.61",\
                 "0.1651, 0.2281, 0.4315, 0.7998, 1.38, 2.229, 3.356, 4.782, 6.527, 8.612",\
                 "0.1642, 0.2294, 0.433, 0.7994, 1.38, 2.228, 3.354, 4.788, 6.529, 8.611",\
                 "0.172, 0.2352, 0.4384, 0.8018, 1.384, 2.229, 3.355, 4.783, 6.527, 8.612",\
                 "0.1826, 0.2468, 0.4498, 0.8128, 1.388, 2.226, 3.356, 4.782, 6.529, 8.609",\
                 "0.196, 0.2608, 0.4636, 0.8264, 1.396, 2.232, 3.354, 4.782, 6.525, 8.612",\
                 "0.2142, 0.2806, 0.4822, 0.8442, 1.408, 2.236, 3.357, 4.782, 6.523, 8.604",\
                 "0.2356, 0.3036, 0.5058, 0.8688, 1.428, 2.249, 3.363, 4.783, 6.525, 8.603",\
                 "0.2582, 0.3292, 0.5324, 0.8966, 1.457, 2.271, 3.374, 4.788, 6.527, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7314, 0.8048, 0.9948, 1.258, 1.579, 1.964, 2.427, 2.986, 3.655, 4.447",\
                 "0.7487, 0.822, 1.012, 1.275, 1.596, 1.981, 2.445, 3.003, 3.672, 4.465",\
                 "0.8176, 0.891, 1.081, 1.344, 1.665, 2.05, 2.514, 3.072, 3.741, 4.534",\
                 "0.9529, 1.026, 1.216, 1.479, 1.799, 2.185, 2.648, 3.207, 3.876, 4.669",\
                 "1.15, 1.224, 1.414, 1.676, 1.998, 2.383, 2.847, 3.405, 4.074, 4.866",\
                 "1.39, 1.465, 1.659, 1.925, 2.249, 2.635, 3.099, 3.658, 4.327, 5.119",\
                 "1.67, 1.748, 1.946, 2.219, 2.548, 2.938, 3.404, 3.963, 4.632, 5.423",\
                 "1.995, 2.075, 2.28, 2.56, 2.895, 3.29, 3.759, 4.32, 4.989, 5.78",\
                 "2.36, 2.445, 2.658, 2.947, 3.291, 3.693, 4.167, 4.729, 5.4, 6.191",\
                 "2.766, 2.855, 3.077, 3.38, 3.736, 4.147, 4.628, 5.195, 5.866, 6.657");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6391, 0.6947, 0.85, 1.1, 1.457, 1.946, 2.588, 3.396, 4.383, 5.56",\
                 "0.6523, 0.7077, 0.8629, 1.113, 1.47, 1.959, 2.601, 3.409, 4.396, 5.57",\
                 "0.6959, 0.7514, 0.9067, 1.157, 1.513, 2.003, 2.644, 3.452, 4.439, 5.615",\
                 "0.763, 0.8184, 0.9735, 1.223, 1.58, 2.069, 2.71, 3.517, 4.505, 5.683",\
                 "0.8362, 0.8929, 1.05, 1.3, 1.656, 2.145, 2.786, 3.594, 4.58, 5.76",\
                 "0.8951, 0.9535, 1.113, 1.366, 1.724, 2.212, 2.853, 3.661, 4.645, 5.826",\
                 "0.9322, 0.9932, 1.156, 1.412, 1.772, 2.26, 2.9, 3.707, 4.693, 5.869",\
                 "0.9415, 1.005, 1.174, 1.434, 1.796, 2.285, 2.924, 3.729, 4.714, 5.891",\
                 "0.916, 0.9836, 1.159, 1.425, 1.791, 2.281, 2.92, 3.725, 4.709, 5.883",\
                 "0.8523, 0.9237, 1.106, 1.378, 1.751, 2.245, 2.886, 3.69, 4.674, 5.848");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2554, 0.3328, 0.5252, 0.7888, 1.149, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2553, 0.3327, 0.5248, 0.7888, 1.149, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2561, 0.3329, 0.5254, 0.789, 1.147, 1.643, 2.306, 3.172, 4.255, 5.578",\
                 "0.2558, 0.3332, 0.5254, 0.7908, 1.149, 1.643, 2.305, 3.172, 4.259, 5.574",\
                 "0.2616, 0.3394, 0.532, 0.7948, 1.154, 1.646, 2.31, 3.173, 4.255, 5.577",\
                 "0.2782, 0.3568, 0.5508, 0.8108, 1.165, 1.653, 2.313, 3.175, 4.26, 5.576",\
                 "0.2964, 0.3768, 0.5754, 0.8382, 1.188, 1.669, 2.323, 3.181, 4.26, 5.578",\
                 "0.322, 0.4042, 0.6054, 0.8718, 1.219, 1.695, 2.34, 3.191, 4.267, 5.581",\
                 "0.3528, 0.438, 0.6452, 0.9146, 1.258, 1.73, 2.366, 3.207, 4.275, 5.585",\
                 "0.3844, 0.4748, 0.6886, 0.9686, 1.312, 1.775, 2.401, 3.231, 4.285, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2284, 0.4312, 0.7998, 1.38, 2.225, 3.355, 4.782, 6.534, 8.607",\
                 "0.1641, 0.2288, 0.4315, 0.7982, 1.382, 2.229, 3.355, 4.786, 6.53, 8.608",\
                 "0.165, 0.2285, 0.4322, 0.7984, 1.383, 2.229, 3.355, 4.782, 6.536, 8.606",\
                 "0.1642, 0.2294, 0.4326, 0.7996, 1.38, 2.227, 3.354, 4.786, 6.528, 8.609",\
                 "0.1718, 0.2352, 0.4384, 0.802, 1.384, 2.229, 3.355, 4.783, 6.528, 8.612",\
                 "0.182, 0.2472, 0.4492, 0.8126, 1.388, 2.232, 3.356, 4.783, 6.525, 8.607",\
                 "0.1972, 0.2608, 0.4636, 0.8264, 1.397, 2.232, 3.361, 4.791, 6.524, 8.614",\
                 "0.214, 0.282, 0.4828, 0.8448, 1.407, 2.236, 3.357, 4.782, 6.525, 8.605",\
                 "0.2356, 0.3044, 0.505, 0.8692, 1.427, 2.248, 3.361, 4.783, 6.525, 8.602",\
                 "0.2586, 0.3314, 0.533, 0.8964, 1.457, 2.271, 3.376, 4.79, 6.527, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7314, 0.8048, 0.9948, 1.258, 1.579, 1.964, 2.427, 2.986, 3.655, 4.447",\
                 "0.7487, 0.822, 1.012, 1.275, 1.596, 1.981, 2.445, 3.003, 3.672, 4.465",\
                 "0.8175, 0.891, 1.081, 1.344, 1.665, 2.05, 2.514, 3.072, 3.741, 4.534",\
                 "0.953, 1.026, 1.216, 1.478, 1.799, 2.185, 2.649, 3.207, 3.876, 4.669",\
                 "1.15, 1.224, 1.413, 1.677, 1.997, 2.383, 2.847, 3.405, 4.074, 4.867",\
                 "1.39, 1.465, 1.659, 1.925, 2.248, 2.635, 3.099, 3.658, 4.327, 5.119",\
                 "1.671, 1.748, 1.946, 2.219, 2.548, 2.938, 3.404, 3.963, 4.632, 5.423",\
                 "1.995, 2.075, 2.28, 2.559, 2.895, 3.29, 3.759, 4.32, 4.989, 5.78",\
                 "2.36, 2.445, 2.658, 2.947, 3.291, 3.693, 4.167, 4.729, 5.4, 6.191",\
                 "2.766, 2.854, 3.077, 3.38, 3.736, 4.147, 4.628, 5.194, 5.865, 6.657");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6394, 0.6947, 0.85, 1.1, 1.457, 1.946, 2.588, 3.396, 4.382, 5.558",\
                 "0.6521, 0.7076, 0.8629, 1.113, 1.47, 1.959, 2.6, 3.408, 4.396, 5.57",\
                 "0.6959, 0.7514, 0.9067, 1.157, 1.513, 2.003, 2.644, 3.452, 4.439, 5.616",\
                 "0.763, 0.8184, 0.9734, 1.223, 1.58, 2.069, 2.71, 3.518, 4.504, 5.683",\
                 "0.8365, 0.8932, 1.05, 1.3, 1.656, 2.145, 2.786, 3.594, 4.58, 5.76",\
                 "0.8947, 0.9535, 1.113, 1.366, 1.724, 2.212, 2.852, 3.661, 4.648, 5.826",\
                 "0.9322, 0.9935, 1.156, 1.412, 1.772, 2.26, 2.9, 3.707, 4.694, 5.868",\
                 "0.9415, 1.005, 1.173, 1.434, 1.796, 2.284, 2.924, 3.729, 4.714, 5.889",\
                 "0.9164, 0.9839, 1.158, 1.424, 1.791, 2.281, 2.92, 3.724, 4.709, 5.882",\
                 "0.8522, 0.9237, 1.106, 1.378, 1.751, 2.245, 2.886, 3.69, 4.674, 5.847");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2554, 0.3328, 0.5252, 0.7888, 1.149, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2553, 0.3327, 0.5248, 0.7894, 1.15, 1.643, 2.306, 3.172, 4.258, 5.578",\
                 "0.256, 0.3327, 0.5248, 0.7898, 1.148, 1.643, 2.305, 3.172, 4.259, 5.573",\
                 "0.2556, 0.3332, 0.5254, 0.79, 1.151, 1.644, 2.305, 3.17, 4.259, 5.578",\
                 "0.2618, 0.3394, 0.532, 0.7954, 1.154, 1.645, 2.308, 3.172, 4.258, 5.573",\
                 "0.2786, 0.3568, 0.5508, 0.811, 1.166, 1.653, 2.313, 3.174, 4.258, 5.577",\
                 "0.2966, 0.3774, 0.5744, 0.84, 1.188, 1.67, 2.322, 3.181, 4.263, 5.579",\
                 "0.3224, 0.4042, 0.6052, 0.8722, 1.219, 1.695, 2.34, 3.192, 4.265, 5.58",\
                 "0.3522, 0.438, 0.6452, 0.9154, 1.258, 1.729, 2.366, 3.205, 4.275, 5.586",\
                 "0.3844, 0.475, 0.689, 0.9686, 1.312, 1.774, 2.4, 3.228, 4.285, 5.588");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1641, 0.2283, 0.4314, 0.7999, 1.38, 2.226, 3.355, 4.783, 6.527, 8.605",\
                 "0.1643, 0.2284, 0.432, 0.7985, 1.383, 2.229, 3.36, 4.781, 6.537, 8.607",\
                 "0.1647, 0.2285, 0.4315, 0.7984, 1.383, 2.229, 3.356, 4.78, 6.533, 8.607",\
                 "0.164, 0.229, 0.4324, 0.7986, 1.38, 2.227, 3.354, 4.788, 6.526, 8.609",\
                 "0.172, 0.2354, 0.4384, 0.8018, 1.383, 2.228, 3.356, 4.791, 6.527, 8.612",\
                 "0.1826, 0.2468, 0.45, 0.8142, 1.387, 2.228, 3.361, 4.781, 6.529, 8.608",\
                 "0.1972, 0.2608, 0.4636, 0.8264, 1.395, 2.232, 3.355, 4.79, 6.525, 8.604",\
                 "0.2142, 0.2806, 0.4828, 0.8442, 1.408, 2.238, 3.357, 4.781, 6.525, 8.604",\
                 "0.2354, 0.303, 0.5058, 0.8688, 1.429, 2.248, 3.363, 4.785, 6.526, 8.599",\
                 "0.2582, 0.3292, 0.533, 0.8966, 1.457, 2.271, 3.376, 4.789, 6.527, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7314, 0.8048, 0.995, 1.258, 1.579, 1.964, 2.427, 2.986, 3.655, 4.448",\
                 "0.7487, 0.822, 1.012, 1.275, 1.596, 1.981, 2.445, 3.003, 3.672, 4.465",\
                 "0.8175, 0.891, 1.081, 1.344, 1.665, 2.05, 2.514, 3.072, 3.741, 4.534",\
                 "0.953, 1.026, 1.216, 1.479, 1.8, 2.185, 2.648, 3.207, 3.876, 4.669",\
                 "1.15, 1.224, 1.414, 1.676, 1.997, 2.383, 2.847, 3.405, 4.074, 4.866",\
                 "1.39, 1.465, 1.659, 1.925, 2.249, 2.635, 3.099, 3.658, 4.327, 5.119",\
                 "1.671, 1.748, 1.947, 2.219, 2.548, 2.938, 3.404, 3.963, 4.631, 5.423",\
                 "1.995, 2.075, 2.28, 2.56, 2.895, 3.29, 3.759, 4.32, 4.989, 5.781",\
                 "2.36, 2.445, 2.658, 2.947, 3.291, 3.693, 4.167, 4.729, 5.4, 6.191",\
                 "2.766, 2.855, 3.077, 3.38, 3.736, 4.147, 4.628, 5.194, 5.865, 6.657");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6391, 0.6947, 0.85, 1.1, 1.457, 1.946, 2.588, 3.394, 4.382, 5.56",\
                 "0.6521, 0.7076, 0.863, 1.113, 1.47, 1.959, 2.6, 3.409, 4.398, 5.572",\
                 "0.6959, 0.7514, 0.9067, 1.157, 1.513, 2.003, 2.644, 3.452, 4.439, 5.615",\
                 "0.763, 0.8183, 0.9733, 1.223, 1.58, 2.069, 2.71, 3.519, 4.503, 5.684",\
                 "0.8363, 0.893, 1.05, 1.3, 1.656, 2.145, 2.786, 3.594, 4.579, 5.76",\
                 "0.8951, 0.953, 1.113, 1.366, 1.724, 2.212, 2.853, 3.661, 4.649, 5.826",\
                 "0.9322, 0.9932, 1.156, 1.412, 1.772, 2.26, 2.9, 3.706, 4.694, 5.868",\
                 "0.9415, 1.005, 1.174, 1.434, 1.796, 2.285, 2.923, 3.729, 4.714, 5.89",\
                 "0.916, 0.9836, 1.159, 1.425, 1.791, 2.281, 2.92, 3.725, 4.709, 5.883",\
                 "0.8523, 0.9237, 1.106, 1.378, 1.751, 2.245, 2.886, 3.69, 4.674, 5.848");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2554, 0.3328, 0.5253, 0.7884, 1.148, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2554, 0.3326, 0.5249, 0.789, 1.149, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.256, 0.3328, 0.5252, 0.789, 1.149, 1.643, 2.306, 3.17, 4.254, 5.576",\
                 "0.2556, 0.333, 0.5254, 0.7898, 1.149, 1.644, 2.305, 3.171, 4.256, 5.574",\
                 "0.2616, 0.3396, 0.532, 0.7946, 1.154, 1.646, 2.31, 3.173, 4.255, 5.577",\
                 "0.2782, 0.3568, 0.5508, 0.8108, 1.165, 1.653, 2.312, 3.173, 4.259, 5.578",\
                 "0.297, 0.3776, 0.576, 0.8386, 1.187, 1.671, 2.322, 3.181, 4.259, 5.579",\
                 "0.322, 0.4042, 0.6054, 0.8718, 1.218, 1.695, 2.34, 3.192, 4.267, 5.577",\
                 "0.3528, 0.438, 0.6452, 0.9146, 1.258, 1.729, 2.366, 3.206, 4.275, 5.585",\
                 "0.3842, 0.4748, 0.689, 0.9686, 1.312, 1.774, 2.4, 3.228, 4.285, 5.588");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2283, 0.4312, 0.7998, 1.38, 2.225, 3.355, 4.785, 6.533, 8.607",\
                 "0.1645, 0.2285, 0.4324, 0.7995, 1.38, 2.229, 3.355, 4.784, 6.527, 8.62",\
                 "0.165, 0.2285, 0.4322, 0.7984, 1.383, 2.229, 3.355, 4.782, 6.536, 8.606",\
                 "0.1642, 0.229, 0.4322, 0.7986, 1.382, 2.229, 3.355, 4.782, 6.526, 8.609",\
                 "0.173, 0.2354, 0.4384, 0.8028, 1.383, 2.227, 3.356, 4.791, 6.526, 8.612",\
                 "0.182, 0.247, 0.4498, 0.813, 1.387, 2.23, 3.36, 4.783, 6.529, 8.607",\
                 "0.1972, 0.2608, 0.4636, 0.8264, 1.397, 2.232, 3.356, 4.781, 6.526, 8.606",\
                 "0.2138, 0.282, 0.4828, 0.845, 1.409, 2.236, 3.357, 4.781, 6.524, 8.603",\
                 "0.2354, 0.3048, 0.505, 0.8692, 1.427, 2.247, 3.363, 4.783, 6.525, 8.6",\
                 "0.2596, 0.3314, 0.533, 0.8964, 1.457, 2.271, 3.376, 4.79, 6.527, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7314, 0.8048, 0.995, 1.258, 1.579, 1.964, 2.427, 2.986, 3.655, 4.448",\
                 "0.7487, 0.822, 1.012, 1.275, 1.596, 1.981, 2.445, 3.003, 3.672, 4.465",\
                 "0.8175, 0.891, 1.081, 1.344, 1.665, 2.05, 2.514, 3.072, 3.741, 4.534",\
                 "0.953, 1.026, 1.216, 1.479, 1.8, 2.185, 2.648, 3.207, 3.876, 4.669",\
                 "1.15, 1.224, 1.414, 1.676, 1.997, 2.383, 2.847, 3.405, 4.074, 4.866",\
                 "1.39, 1.465, 1.659, 1.925, 2.249, 2.635, 3.099, 3.658, 4.327, 5.119",\
                 "1.671, 1.748, 1.947, 2.219, 2.548, 2.938, 3.404, 3.963, 4.631, 5.423",\
                 "1.995, 2.075, 2.28, 2.56, 2.895, 3.29, 3.759, 4.32, 4.989, 5.781",\
                 "2.36, 2.445, 2.658, 2.947, 3.291, 3.693, 4.167, 4.729, 5.4, 6.191",\
                 "2.766, 2.855, 3.077, 3.38, 3.736, 4.147, 4.628, 5.194, 5.865, 6.657");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6391, 0.6947, 0.85, 1.1, 1.457, 1.946, 2.588, 3.396, 4.383, 5.56",\
                 "0.6523, 0.7077, 0.8629, 1.113, 1.47, 1.959, 2.601, 3.409, 4.396, 5.57",\
                 "0.6959, 0.7514, 0.9067, 1.157, 1.513, 2.003, 2.644, 3.452, 4.439, 5.615",\
                 "0.763, 0.8184, 0.9735, 1.223, 1.58, 2.069, 2.71, 3.517, 4.505, 5.683",\
                 "0.8362, 0.8929, 1.05, 1.3, 1.656, 2.145, 2.786, 3.594, 4.58, 5.76",\
                 "0.8951, 0.9535, 1.113, 1.366, 1.724, 2.212, 2.853, 3.661, 4.645, 5.826",\
                 "0.9322, 0.9932, 1.156, 1.412, 1.772, 2.26, 2.9, 3.707, 4.693, 5.869",\
                 "0.9415, 1.005, 1.174, 1.434, 1.796, 2.285, 2.924, 3.729, 4.714, 5.891",\
                 "0.916, 0.9836, 1.159, 1.425, 1.791, 2.281, 2.92, 3.725, 4.709, 5.883",\
                 "0.8523, 0.9237, 1.106, 1.378, 1.751, 2.245, 2.886, 3.69, 4.674, 5.848");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2554, 0.3328, 0.5253, 0.7884, 1.148, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.2554, 0.3326, 0.5249, 0.789, 1.149, 1.643, 2.306, 3.172, 4.259, 5.578",\
                 "0.256, 0.3328, 0.5252, 0.789, 1.149, 1.643, 2.306, 3.17, 4.254, 5.576",\
                 "0.2556, 0.333, 0.5254, 0.7898, 1.149, 1.644, 2.305, 3.171, 4.256, 5.574",\
                 "0.2616, 0.3396, 0.532, 0.7946, 1.154, 1.646, 2.31, 3.173, 4.255, 5.577",\
                 "0.2782, 0.3568, 0.5508, 0.8108, 1.165, 1.653, 2.312, 3.173, 4.259, 5.578",\
                 "0.297, 0.3776, 0.576, 0.8386, 1.187, 1.671, 2.322, 3.181, 4.259, 5.579",\
                 "0.322, 0.4042, 0.6054, 0.8718, 1.218, 1.695, 2.34, 3.192, 4.267, 5.577",\
                 "0.3528, 0.438, 0.6452, 0.9146, 1.258, 1.729, 2.366, 3.206, 4.275, 5.585",\
                 "0.3842, 0.4748, 0.689, 0.9686, 1.312, 1.774, 2.4, 3.228, 4.285, 5.588");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.165, 0.2283, 0.4312, 0.7998, 1.38, 2.225, 3.355, 4.785, 6.533, 8.607",\
                 "0.1645, 0.2285, 0.4324, 0.7995, 1.38, 2.229, 3.355, 4.784, 6.527, 8.62",\
                 "0.165, 0.2285, 0.4322, 0.7984, 1.383, 2.229, 3.355, 4.782, 6.536, 8.606",\
                 "0.1642, 0.229, 0.4322, 0.7986, 1.382, 2.229, 3.355, 4.782, 6.526, 8.609",\
                 "0.173, 0.2354, 0.4384, 0.8028, 1.383, 2.227, 3.356, 4.791, 6.526, 8.612",\
                 "0.182, 0.247, 0.4498, 0.813, 1.387, 2.23, 3.36, 4.783, 6.529, 8.607",\
                 "0.1972, 0.2608, 0.4636, 0.8264, 1.397, 2.232, 3.356, 4.781, 6.526, 8.606",\
                 "0.2138, 0.282, 0.4828, 0.845, 1.409, 2.236, 3.357, 4.781, 6.524, 8.603",\
                 "0.2354, 0.3048, 0.505, 0.8692, 1.427, 2.247, 3.363, 4.783, 6.525, 8.6",\
                 "0.2596, 0.3314, 0.533, 0.8964, 1.457, 2.271, 3.376, 4.79, 6.527, 8.601");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6779, 0.748, 0.9284, 1.176, 1.481, 1.853, 2.307, 2.859, 3.526, 4.317",\
                 "0.6953, 0.7654, 0.9459, 1.193, 1.499, 1.871, 2.324, 2.877, 3.543, 4.334",\
                 "0.7628, 0.833, 1.013, 1.261, 1.567, 1.938, 2.392, 2.944, 3.61, 4.402",\
                 "0.892, 0.962, 1.142, 1.39, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.072, 1.142, 1.324, 1.572, 1.878, 2.25, 2.704, 3.256, 3.922, 4.713",\
                 "1.283, 1.357, 1.542, 1.796, 2.106, 2.479, 2.933, 3.485, 4.151, 4.942",\
                 "1.528, 1.604, 1.795, 2.055, 2.371, 2.748, 3.204, 3.757, 4.422, 5.213",\
                 "1.805, 1.883, 2.082, 2.352, 2.673, 3.056, 3.515, 4.069, 4.735, 5.525",\
                 "2.11, 2.193, 2.4, 2.682, 3.014, 3.404, 3.867, 4.423, 5.09, 5.88",\
                 "2.447, 2.533, 2.75, 3.043, 3.389, 3.791, 4.261, 4.821, 5.489, 6.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6799, 0.7361, 0.8926, 1.144, 1.502, 1.992, 2.633, 3.441, 4.426, 5.607",\
                 "0.6928, 0.7491, 0.9056, 1.157, 1.515, 2.005, 2.646, 3.455, 4.442, 5.619",\
                 "0.7394, 0.7955, 0.952, 1.203, 1.562, 2.051, 2.692, 3.5, 4.489, 5.661",\
                 "0.8138, 0.8699, 1.026, 1.278, 1.635, 2.124, 2.766, 3.573, 4.56, 5.74",\
                 "0.9007, 0.9578, 1.115, 1.367, 1.725, 2.213, 2.854, 3.662, 4.649, 5.828",\
                 "0.9778, 1.037, 1.198, 1.452, 1.811, 2.3, 2.94, 3.748, 4.734, 5.91",\
                 "1.042, 1.104, 1.268, 1.525, 1.885, 2.374, 3.014, 3.821, 4.806, 5.985",\
                 "1.087, 1.151, 1.32, 1.582, 1.945, 2.433, 3.072, 3.878, 4.863, 6.04",\
                 "1.107, 1.174, 1.35, 1.617, 1.984, 2.474, 3.113, 3.917, 4.901, 6.075",\
                 "1.098, 1.17, 1.353, 1.626, 1.999, 2.494, 3.134, 3.937, 4.921, 6.094");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2365, 0.309, 0.4881, 0.7398, 1.094, 1.59, 2.263, 3.141, 4.233, 5.565",\
                 "0.2368, 0.3092, 0.4877, 0.7398, 1.094, 1.59, 2.261, 3.137, 4.238, 5.564",\
                 "0.237, 0.3092, 0.4882, 0.7402, 1.093, 1.588, 2.263, 3.14, 4.237, 5.565",\
                 "0.2374, 0.3102, 0.4898, 0.7412, 1.094, 1.589, 2.261, 3.138, 4.238, 5.564",\
                 "0.2466, 0.3196, 0.4986, 0.7474, 1.099, 1.593, 2.262, 3.141, 4.238, 5.56",\
                 "0.2628, 0.3378, 0.5202, 0.7676, 1.113, 1.6, 2.27, 3.142, 4.24, 5.566",\
                 "0.2832, 0.3594, 0.5462, 0.795, 1.137, 1.62, 2.28, 3.148, 4.239, 5.562",\
                 "0.3098, 0.389, 0.5812, 0.8324, 1.168, 1.643, 2.296, 3.155, 4.245, 5.568",\
                 "0.34, 0.4234, 0.6214, 0.8788, 1.212, 1.679, 2.319, 3.17, 4.249, 5.565",\
                 "0.373, 0.4604, 0.6676, 0.9336, 1.268, 1.728, 2.357, 3.197, 4.264, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1678, 0.2315, 0.4363, 0.8031, 1.385, 2.23, 3.361, 4.789, 6.525, 8.611",\
                 "0.167, 0.2315, 0.4362, 0.8032, 1.383, 2.227, 3.353, 4.783, 6.529, 8.609",\
                 "0.1675, 0.2316, 0.4364, 0.8042, 1.384, 2.23, 3.355, 4.782, 6.527, 8.609",\
                 "0.1676, 0.2318, 0.4366, 0.8032, 1.383, 2.23, 3.36, 4.788, 6.526, 8.612",\
                 "0.1742, 0.2376, 0.4416, 0.8062, 1.384, 2.231, 3.355, 4.791, 6.528, 8.609",\
                 "0.184, 0.249, 0.4524, 0.8168, 1.39, 2.233, 3.355, 4.783, 6.527, 8.606",\
                 "0.1972, 0.2632, 0.466, 0.8298, 1.398, 2.232, 3.36, 4.781, 6.529, 8.61",\
                 "0.214, 0.282, 0.4848, 0.8478, 1.41, 2.238, 3.358, 4.788, 6.537, 8.607",\
                 "0.236, 0.3046, 0.5062, 0.871, 1.428, 2.249, 3.365, 4.783, 6.529, 8.603",\
                 "0.2584, 0.33, 0.5352, 0.8988, 1.455, 2.268, 3.374, 4.79, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6779, 0.748, 0.9284, 1.176, 1.481, 1.853, 2.307, 2.859, 3.526, 4.317",\
                 "0.6953, 0.7654, 0.9457, 1.194, 1.499, 1.871, 2.324, 2.877, 3.543, 4.334",\
                 "0.7629, 0.833, 1.013, 1.261, 1.566, 1.938, 2.392, 2.944, 3.61, 4.402",\
                 "0.8921, 0.9619, 1.142, 1.39, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.072, 1.143, 1.324, 1.573, 1.878, 2.25, 2.704, 3.256, 3.922, 4.714",\
                 "1.283, 1.357, 1.542, 1.796, 2.105, 2.478, 2.933, 3.485, 4.151, 4.942",\
                 "1.529, 1.604, 1.795, 2.056, 2.37, 2.748, 3.204, 3.757, 4.422, 5.213",\
                 "1.804, 1.883, 2.082, 2.352, 2.673, 3.056, 3.515, 4.069, 4.735, 5.525",\
                 "2.11, 2.193, 2.401, 2.682, 3.014, 3.404, 3.867, 4.423, 5.09, 5.88",\
                 "2.447, 2.533, 2.75, 3.043, 3.389, 3.791, 4.261, 4.821, 5.489, 6.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.68, 0.7361, 0.8925, 1.144, 1.502, 1.992, 2.633, 3.441, 4.426, 5.607",\
                 "0.6929, 0.749, 0.9056, 1.157, 1.515, 2.004, 2.646, 3.454, 4.443, 5.619",\
                 "0.7394, 0.7955, 0.952, 1.204, 1.562, 2.051, 2.692, 3.501, 4.487, 5.667",\
                 "0.8139, 0.87, 1.026, 1.277, 1.635, 2.125, 2.766, 3.573, 4.559, 5.738",\
                 "0.9007, 0.9578, 1.115, 1.367, 1.725, 2.213, 2.854, 3.662, 4.649, 5.828",\
                 "0.9782, 1.037, 1.198, 1.452, 1.811, 2.3, 2.94, 3.747, 4.735, 5.913",\
                 "1.042, 1.104, 1.268, 1.525, 1.886, 2.374, 3.014, 3.821, 4.808, 5.982",\
                 "1.087, 1.151, 1.32, 1.582, 1.945, 2.433, 3.072, 3.878, 4.863, 6.039",\
                 "1.107, 1.174, 1.35, 1.617, 1.984, 2.474, 3.113, 3.918, 4.902, 6.075",\
                 "1.098, 1.17, 1.353, 1.626, 1.999, 2.494, 3.133, 3.937, 4.921, 6.095");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2368, 0.309, 0.4881, 0.7398, 1.093, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.236, 0.309, 0.4879, 0.7398, 1.092, 1.588, 2.26, 3.137, 4.235, 5.565",\
                 "0.237, 0.3094, 0.4886, 0.7396, 1.093, 1.59, 2.263, 3.14, 4.237, 5.565",\
                 "0.2374, 0.3106, 0.4896, 0.7412, 1.095, 1.591, 2.262, 3.139, 4.236, 5.563",\
                 "0.2464, 0.32, 0.4982, 0.7474, 1.098, 1.593, 2.263, 3.138, 4.239, 5.563",\
                 "0.2638, 0.3378, 0.5208, 0.7664, 1.114, 1.602, 2.27, 3.141, 4.24, 5.565",\
                 "0.2834, 0.3598, 0.5468, 0.7958, 1.137, 1.619, 2.279, 3.147, 4.241, 5.56",\
                 "0.3098, 0.3892, 0.5812, 0.8306, 1.168, 1.644, 2.296, 3.157, 4.242, 5.567",\
                 "0.34, 0.4238, 0.6214, 0.8786, 1.212, 1.677, 2.319, 3.17, 4.25, 5.565",\
                 "0.373, 0.4604, 0.6676, 0.9336, 1.268, 1.729, 2.357, 3.196, 4.264, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1673, 0.2315, 0.4356, 0.8031, 1.383, 2.23, 3.361, 4.791, 6.525, 8.611",\
                 "0.1677, 0.2313, 0.4357, 0.8046, 1.382, 2.227, 3.353, 4.782, 6.529, 8.623",\
                 "0.1674, 0.2316, 0.4364, 0.8034, 1.383, 2.23, 3.355, 4.784, 6.527, 8.606",\
                 "0.1666, 0.232, 0.4366, 0.8052, 1.385, 2.23, 3.354, 4.786, 6.524, 8.622",\
                 "0.1742, 0.2376, 0.4416, 0.8062, 1.384, 2.231, 3.353, 4.79, 6.528, 8.609",\
                 "0.1842, 0.249, 0.454, 0.8172, 1.39, 2.229, 3.355, 4.78, 6.529, 8.607",\
                 "0.1972, 0.2632, 0.466, 0.8292, 1.399, 2.233, 3.36, 4.783, 6.527, 8.606",\
                 "0.214, 0.282, 0.4862, 0.847, 1.411, 2.239, 3.358, 4.788, 6.537, 8.603",\
                 "0.236, 0.3046, 0.5062, 0.871, 1.43, 2.247, 3.362, 4.783, 6.528, 8.601",\
                 "0.2584, 0.3296, 0.533, 0.8988, 1.455, 2.268, 3.372, 4.788, 6.525, 8.605");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6779, 0.748, 0.9284, 1.176, 1.481, 1.853, 2.307, 2.859, 3.526, 4.317",\
                 "0.6954, 0.7654, 0.9457, 1.194, 1.499, 1.871, 2.324, 2.877, 3.543, 4.335",\
                 "0.7628, 0.833, 1.013, 1.261, 1.567, 1.938, 2.392, 2.945, 3.611, 4.402",\
                 "0.892, 0.9618, 1.142, 1.39, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.072, 1.142, 1.323, 1.572, 1.878, 2.25, 2.704, 3.256, 3.922, 4.713",\
                 "1.284, 1.356, 1.542, 1.796, 2.105, 2.479, 2.933, 3.485, 4.151, 4.942",\
                 "1.528, 1.604, 1.795, 2.055, 2.371, 2.748, 3.204, 3.756, 4.422, 5.213",\
                 "1.805, 1.883, 2.082, 2.352, 2.673, 3.056, 3.515, 4.07, 4.735, 5.526",\
                 "2.11, 2.193, 2.401, 2.682, 3.014, 3.404, 3.867, 4.423, 5.089, 5.88",\
                 "2.447, 2.533, 2.75, 3.044, 3.39, 3.791, 4.261, 4.821, 5.489, 6.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.68, 0.7361, 0.8926, 1.144, 1.502, 1.992, 2.633, 3.441, 4.426, 5.607",\
                 "0.6928, 0.749, 0.9056, 1.157, 1.515, 2.004, 2.646, 3.454, 4.443, 5.619",\
                 "0.7394, 0.7955, 0.952, 1.203, 1.562, 2.051, 2.692, 3.5, 4.487, 5.667",\
                 "0.8138, 0.8699, 1.026, 1.278, 1.635, 2.125, 2.766, 3.575, 4.56, 5.74",\
                 "0.9007, 0.9578, 1.115, 1.367, 1.725, 2.213, 2.854, 3.662, 4.649, 5.828",\
                 "0.9777, 1.037, 1.198, 1.452, 1.811, 2.3, 2.94, 3.747, 4.735, 5.909",\
                 "1.042, 1.104, 1.268, 1.525, 1.886, 2.374, 3.014, 3.821, 4.808, 5.986",\
                 "1.087, 1.151, 1.32, 1.582, 1.944, 2.433, 3.072, 3.878, 4.863, 6.039",\
                 "1.107, 1.174, 1.35, 1.617, 1.984, 2.474, 3.113, 3.918, 4.902, 6.075",\
                 "1.098, 1.17, 1.353, 1.626, 1.999, 2.494, 3.134, 3.937, 4.921, 6.094");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2369, 0.309, 0.4881, 0.7398, 1.093, 1.59, 2.263, 3.141, 4.233, 5.565",\
                 "0.236, 0.3092, 0.4881, 0.74, 1.094, 1.588, 2.262, 3.138, 4.238, 5.564",\
                 "0.237, 0.3097, 0.488, 0.7402, 1.093, 1.59, 2.263, 3.14, 4.235, 5.565",\
                 "0.2372, 0.3106, 0.4898, 0.7412, 1.095, 1.59, 2.263, 3.14, 4.235, 5.565",\
                 "0.2462, 0.3196, 0.4982, 0.7478, 1.099, 1.593, 2.262, 3.141, 4.239, 5.56",\
                 "0.2624, 0.3376, 0.5208, 0.7668, 1.113, 1.6, 2.268, 3.142, 4.239, 5.566",\
                 "0.283, 0.3596, 0.5462, 0.795, 1.137, 1.617, 2.28, 3.147, 4.241, 5.559",\
                 "0.3092, 0.3894, 0.5814, 0.8314, 1.169, 1.643, 2.295, 3.154, 4.245, 5.564",\
                 "0.34, 0.4232, 0.6218, 0.8792, 1.212, 1.678, 2.319, 3.17, 4.25, 5.569",\
                 "0.3728, 0.4604, 0.6676, 0.934, 1.268, 1.728, 2.357, 3.197, 4.262, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1673, 0.2311, 0.4362, 0.8031, 1.385, 2.23, 3.361, 4.789, 6.525, 8.611",\
                 "0.1677, 0.2312, 0.4356, 0.8046, 1.382, 2.227, 3.353, 4.782, 6.529, 8.623",\
                 "0.1675, 0.2316, 0.4364, 0.805, 1.384, 2.23, 3.355, 4.781, 6.528, 8.606",\
                 "0.1672, 0.2312, 0.4368, 0.8034, 1.385, 2.23, 3.354, 4.784, 6.526, 8.606",\
                 "0.1742, 0.2376, 0.4416, 0.8062, 1.384, 2.231, 3.355, 4.791, 6.528, 8.609",\
                 "0.1852, 0.249, 0.4524, 0.8174, 1.391, 2.233, 3.355, 4.79, 6.529, 8.605",\
                 "0.1972, 0.2632, 0.466, 0.8292, 1.399, 2.233, 3.36, 4.782, 6.528, 8.61",\
                 "0.2134, 0.282, 0.4848, 0.8478, 1.41, 2.238, 3.358, 4.788, 6.537, 8.605",\
                 "0.236, 0.3046, 0.5062, 0.871, 1.43, 2.247, 3.362, 4.783, 6.528, 8.599",\
                 "0.2584, 0.33, 0.5352, 0.8988, 1.455, 2.268, 3.374, 4.788, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6779, 0.748, 0.9284, 1.176, 1.481, 1.853, 2.307, 2.859, 3.526, 4.317",\
                 "0.6952, 0.7654, 0.9457, 1.194, 1.499, 1.87, 2.324, 2.877, 3.543, 4.334",\
                 "0.7629, 0.833, 1.013, 1.261, 1.566, 1.938, 2.392, 2.944, 3.611, 4.402",\
                 "0.8921, 0.9619, 1.142, 1.39, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.072, 1.143, 1.324, 1.573, 1.878, 2.25, 2.704, 3.256, 3.922, 4.714",\
                 "1.284, 1.356, 1.543, 1.797, 2.106, 2.478, 2.933, 3.485, 4.151, 4.942",\
                 "1.528, 1.604, 1.795, 2.055, 2.371, 2.748, 3.204, 3.757, 4.423, 5.213",\
                 "1.804, 1.883, 2.082, 2.351, 2.673, 3.055, 3.515, 4.069, 4.735, 5.525",\
                 "2.11, 2.193, 2.401, 2.682, 3.014, 3.404, 3.867, 4.423, 5.089, 5.88",\
                 "2.447, 2.533, 2.75, 3.044, 3.389, 3.791, 4.262, 4.821, 5.489, 6.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.68, 0.7361, 0.8926, 1.144, 1.502, 1.992, 2.633, 3.441, 4.426, 5.607",\
                 "0.6929, 0.7491, 0.9056, 1.157, 1.515, 2.004, 2.646, 3.454, 4.443, 5.62",\
                 "0.7394, 0.7955, 0.952, 1.204, 1.561, 2.051, 2.692, 3.501, 4.486, 5.667",\
                 "0.8138, 0.8699, 1.026, 1.278, 1.636, 2.125, 2.766, 3.573, 4.559, 5.74",\
                 "0.9007, 0.9578, 1.115, 1.367, 1.725, 2.213, 2.854, 3.662, 4.649, 5.828",\
                 "0.9782, 1.037, 1.198, 1.452, 1.811, 2.3, 2.94, 3.747, 4.735, 5.912",\
                 "1.042, 1.104, 1.268, 1.525, 1.886, 2.374, 3.014, 3.821, 4.808, 5.986",\
                 "1.087, 1.151, 1.32, 1.582, 1.945, 2.433, 3.073, 3.878, 4.863, 6.04",\
                 "1.107, 1.174, 1.35, 1.617, 1.984, 2.474, 3.113, 3.918, 4.902, 6.075",\
                 "1.098, 1.17, 1.353, 1.626, 1.999, 2.494, 3.133, 3.938, 4.921, 6.094");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2366, 0.309, 0.4881, 0.7398, 1.093, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.237, 0.3092, 0.4881, 0.7398, 1.092, 1.59, 2.261, 3.137, 4.238, 5.564",\
                 "0.2359, 0.3092, 0.4878, 0.7398, 1.094, 1.59, 2.262, 3.136, 4.239, 5.563",\
                 "0.2374, 0.3106, 0.4896, 0.7412, 1.095, 1.59, 2.262, 3.14, 4.238, 5.564",\
                 "0.2464, 0.32, 0.4982, 0.7474, 1.098, 1.593, 2.263, 3.138, 4.239, 5.563",\
                 "0.263, 0.3374, 0.5202, 0.7666, 1.112, 1.602, 2.267, 3.142, 4.24, 5.565",\
                 "0.2834, 0.3596, 0.546, 0.7958, 1.137, 1.617, 2.28, 3.147, 4.241, 5.56",\
                 "0.3098, 0.3892, 0.5812, 0.8318, 1.169, 1.642, 2.296, 3.156, 4.244, 5.565",\
                 "0.34, 0.4238, 0.6216, 0.8788, 1.212, 1.679, 2.319, 3.17, 4.25, 5.57",\
                 "0.3728, 0.4604, 0.6676, 0.934, 1.268, 1.729, 2.358, 3.196, 4.262, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1671, 0.2315, 0.4363, 0.8031, 1.385, 2.23, 3.361, 4.789, 6.525, 8.611",\
                 "0.1669, 0.2313, 0.4363, 0.8034, 1.383, 2.23, 3.355, 4.782, 6.529, 8.611",\
                 "0.1673, 0.2316, 0.4364, 0.8034, 1.383, 2.23, 3.355, 4.783, 6.525, 8.609",\
                 "0.1674, 0.232, 0.4368, 0.8034, 1.383, 2.23, 3.354, 4.784, 6.524, 8.605",\
                 "0.1742, 0.2376, 0.4416, 0.8062, 1.384, 2.231, 3.353, 4.79, 6.528, 8.609",\
                 "0.1842, 0.249, 0.454, 0.8174, 1.39, 2.228, 3.355, 4.786, 6.529, 8.609",\
                 "0.1972, 0.2632, 0.466, 0.8292, 1.399, 2.233, 3.36, 4.791, 6.527, 8.61",\
                 "0.2134, 0.282, 0.4862, 0.847, 1.411, 2.239, 3.358, 4.788, 6.537, 8.607",\
                 "0.236, 0.3046, 0.5062, 0.871, 1.43, 2.247, 3.363, 4.783, 6.528, 8.599",\
                 "0.2584, 0.3296, 0.533, 0.8988, 1.455, 2.268, 3.372, 4.787, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6779, 0.748, 0.9284, 1.177, 1.481, 1.853, 2.307, 2.859, 3.526, 4.317",\
                 "0.6954, 0.7654, 0.9457, 1.194, 1.499, 1.871, 2.324, 2.877, 3.543, 4.334",\
                 "0.763, 0.833, 1.013, 1.261, 1.566, 1.938, 2.392, 2.944, 3.611, 4.402",\
                 "0.8922, 0.9621, 1.142, 1.39, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.072, 1.143, 1.324, 1.573, 1.878, 2.25, 2.704, 3.256, 3.922, 4.714",\
                 "1.284, 1.356, 1.543, 1.797, 2.105, 2.479, 2.933, 3.485, 4.151, 4.942",\
                 "1.528, 1.604, 1.795, 2.056, 2.37, 2.748, 3.204, 3.757, 4.422, 5.213",\
                 "1.805, 1.883, 2.082, 2.352, 2.674, 3.056, 3.515, 4.07, 4.735, 5.526",\
                 "2.11, 2.192, 2.4, 2.681, 3.014, 3.404, 3.867, 4.424, 5.09, 5.88",\
                 "2.446, 2.533, 2.75, 3.044, 3.39, 3.791, 4.261, 4.821, 5.489, 6.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.68, 0.7361, 0.8926, 1.144, 1.502, 1.992, 2.633, 3.441, 4.426, 5.607",\
                 "0.6928, 0.7491, 0.9055, 1.157, 1.515, 2.005, 2.646, 3.454, 4.439, 5.62",\
                 "0.7394, 0.7955, 0.952, 1.203, 1.562, 2.051, 2.692, 3.501, 4.489, 5.662",\
                 "0.8138, 0.8699, 1.026, 1.278, 1.635, 2.125, 2.766, 3.574, 4.561, 5.735",\
                 "0.9006, 0.9578, 1.115, 1.367, 1.725, 2.213, 2.854, 3.662, 4.649, 5.828",\
                 "0.978, 1.037, 1.197, 1.452, 1.811, 2.3, 2.94, 3.747, 4.736, 5.913",\
                 "1.042, 1.104, 1.268, 1.525, 1.885, 2.374, 3.014, 3.821, 4.808, 5.986",\
                 "1.087, 1.151, 1.32, 1.582, 1.945, 2.433, 3.072, 3.878, 4.864, 6.04",\
                 "1.106, 1.174, 1.35, 1.617, 1.984, 2.474, 3.112, 3.917, 4.902, 6.075",\
                 "1.098, 1.17, 1.353, 1.626, 2, 2.494, 3.133, 3.938, 4.921, 6.095");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2368, 0.3093, 0.4883, 0.7398, 1.093, 1.59, 2.263, 3.137, 4.234, 5.562",\
                 "0.2361, 0.3092, 0.4882, 0.74, 1.094, 1.59, 2.263, 3.138, 4.235, 5.565",\
                 "0.236, 0.309, 0.4878, 0.7396, 1.094, 1.59, 2.262, 3.139, 4.236, 5.561",\
                 "0.237, 0.3102, 0.4898, 0.7414, 1.093, 1.589, 2.262, 3.136, 4.235, 5.566",\
                 "0.2464, 0.3198, 0.4982, 0.7474, 1.098, 1.593, 2.263, 3.141, 4.238, 5.563",\
                 "0.2624, 0.338, 0.5202, 0.7662, 1.113, 1.601, 2.269, 3.144, 4.239, 5.565",\
                 "0.2822, 0.3596, 0.5462, 0.7946, 1.137, 1.619, 2.28, 3.148, 4.24, 5.567",\
                 "0.31, 0.3892, 0.5806, 0.8328, 1.168, 1.645, 2.295, 3.157, 4.244, 5.568",\
                 "0.34, 0.4228, 0.6216, 0.8788, 1.211, 1.679, 2.319, 3.17, 4.249, 5.569",\
                 "0.3734, 0.4606, 0.6676, 0.9338, 1.268, 1.729, 2.357, 3.197, 4.262, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1672, 0.2314, 0.4362, 0.8031, 1.385, 2.23, 3.361, 4.789, 6.525, 8.611",\
                 "0.1669, 0.2315, 0.4362, 0.8032, 1.385, 2.23, 3.353, 4.789, 6.524, 8.611",\
                 "0.1676, 0.2315, 0.4364, 0.804, 1.384, 2.227, 3.354, 4.783, 6.528, 8.607",\
                 "0.1678, 0.2318, 0.4368, 0.8032, 1.385, 2.228, 3.355, 4.784, 6.532, 8.61",\
                 "0.1742, 0.2376, 0.4416, 0.8062, 1.385, 2.227, 3.355, 4.791, 6.528, 8.608",\
                 "0.1848, 0.2488, 0.4532, 0.8162, 1.391, 2.229, 3.355, 4.788, 6.529, 8.611",\
                 "0.1972, 0.2632, 0.4668, 0.83, 1.398, 2.232, 3.36, 4.784, 6.528, 8.61",\
                 "0.2134, 0.282, 0.4858, 0.847, 1.411, 2.239, 3.358, 4.788, 6.537, 8.603",\
                 "0.2346, 0.3046, 0.5074, 0.8706, 1.429, 2.248, 3.362, 4.782, 6.528, 8.599",\
                 "0.2584, 0.3296, 0.533, 0.8976, 1.457, 2.268, 3.374, 4.787, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6779, 0.748, 0.9284, 1.177, 1.481, 1.853, 2.307, 2.859, 3.526, 4.317",\
                 "0.6954, 0.7654, 0.9458, 1.193, 1.499, 1.871, 2.324, 2.877, 3.543, 4.334",\
                 "0.7629, 0.8331, 1.013, 1.261, 1.566, 1.938, 2.392, 2.945, 3.611, 4.402",\
                 "0.8922, 0.9621, 1.142, 1.39, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.072, 1.143, 1.324, 1.573, 1.878, 2.25, 2.704, 3.256, 3.922, 4.714",\
                 "1.284, 1.357, 1.543, 1.797, 2.105, 2.479, 2.933, 3.485, 4.151, 4.942",\
                 "1.528, 1.604, 1.795, 2.056, 2.37, 2.748, 3.204, 3.757, 4.423, 5.213",\
                 "1.804, 1.883, 2.082, 2.352, 2.673, 3.055, 3.515, 4.069, 4.735, 5.526",\
                 "2.11, 2.192, 2.4, 2.681, 3.014, 3.404, 3.867, 4.424, 5.09, 5.88",\
                 "2.446, 2.533, 2.75, 3.044, 3.39, 3.791, 4.261, 4.821, 5.489, 6.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.68, 0.736, 0.8926, 1.144, 1.502, 1.992, 2.633, 3.441, 4.428, 5.608",\
                 "0.6928, 0.749, 0.9055, 1.157, 1.515, 2.005, 2.646, 3.454, 4.439, 5.62",\
                 "0.7394, 0.7955, 0.952, 1.203, 1.562, 2.051, 2.692, 3.5, 4.487, 5.667",\
                 "0.8139, 0.8699, 1.026, 1.278, 1.635, 2.125, 2.766, 3.575, 4.561, 5.736",\
                 "0.9006, 0.9578, 1.115, 1.367, 1.725, 2.213, 2.854, 3.662, 4.649, 5.828",\
                 "0.978, 1.037, 1.198, 1.452, 1.811, 2.3, 2.94, 3.748, 4.736, 5.914",\
                 "1.042, 1.104, 1.268, 1.525, 1.886, 2.374, 3.014, 3.821, 4.808, 5.983",\
                 "1.087, 1.151, 1.32, 1.582, 1.945, 2.433, 3.072, 3.878, 4.864, 6.04",\
                 "1.106, 1.174, 1.35, 1.617, 1.984, 2.474, 3.113, 3.917, 4.901, 6.075",\
                 "1.098, 1.17, 1.353, 1.626, 2, 2.494, 3.133, 3.938, 4.921, 6.095");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2368, 0.309, 0.4883, 0.7398, 1.093, 1.59, 2.263, 3.137, 4.236, 5.562",\
                 "0.2361, 0.3095, 0.488, 0.7396, 1.093, 1.588, 2.262, 3.138, 4.235, 5.565",\
                 "0.2359, 0.3094, 0.488, 0.7398, 1.093, 1.59, 2.262, 3.137, 4.238, 5.565",\
                 "0.2372, 0.3102, 0.4898, 0.7412, 1.093, 1.589, 2.261, 3.137, 4.234, 5.565",\
                 "0.2464, 0.32, 0.4982, 0.7476, 1.098, 1.593, 2.262, 3.138, 4.238, 5.561",\
                 "0.2638, 0.338, 0.5204, 0.7664, 1.113, 1.601, 2.267, 3.142, 4.239, 5.563",\
                 "0.284, 0.3598, 0.5462, 0.7948, 1.136, 1.618, 2.278, 3.148, 4.239, 5.562",\
                 "0.3098, 0.389, 0.5804, 0.8328, 1.168, 1.642, 2.296, 3.157, 4.245, 5.564",\
                 "0.34, 0.4228, 0.6214, 0.8788, 1.212, 1.678, 2.319, 3.169, 4.249, 5.569",\
                 "0.3734, 0.4606, 0.6676, 0.9338, 1.267, 1.728, 2.357, 3.196, 4.264, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1673, 0.2317, 0.4364, 0.803, 1.385, 2.23, 3.353, 4.791, 6.528, 8.611",\
                 "0.1678, 0.2312, 0.4362, 0.8032, 1.385, 2.23, 3.353, 4.789, 6.524, 8.611",\
                 "0.1675, 0.2315, 0.4364, 0.805, 1.383, 2.23, 3.355, 4.782, 6.528, 8.606",\
                 "0.1674, 0.2324, 0.436, 0.8034, 1.383, 2.23, 3.354, 4.784, 6.533, 8.613",\
                 "0.1742, 0.2376, 0.4416, 0.8062, 1.385, 2.227, 3.355, 4.791, 6.528, 8.609",\
                 "0.1842, 0.2488, 0.4534, 0.8168, 1.39, 2.23, 3.355, 4.782, 6.529, 8.606",\
                 "0.1972, 0.2632, 0.4668, 0.8292, 1.399, 2.232, 3.36, 4.784, 6.528, 8.612",\
                 "0.2134, 0.282, 0.4848, 0.8484, 1.411, 2.238, 3.358, 4.788, 6.537, 8.603",\
                 "0.2346, 0.3046, 0.5074, 0.8706, 1.432, 2.248, 3.363, 4.783, 6.528, 8.604",\
                 "0.2584, 0.3296, 0.533, 0.8976, 1.457, 2.268, 3.374, 4.787, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6779, 0.748, 0.9284, 1.177, 1.481, 1.853, 2.307, 2.859, 3.526, 4.317",\
                 "0.6953, 0.7654, 0.9459, 1.194, 1.499, 1.87, 2.324, 2.877, 3.543, 4.334",\
                 "0.7629, 0.833, 1.013, 1.261, 1.567, 1.938, 2.392, 2.945, 3.611, 4.402",\
                 "0.8922, 0.9621, 1.142, 1.39, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.072, 1.143, 1.324, 1.573, 1.878, 2.25, 2.704, 3.256, 3.922, 4.714",\
                 "1.284, 1.357, 1.542, 1.796, 2.105, 2.479, 2.933, 3.485, 4.151, 4.942",\
                 "1.529, 1.604, 1.795, 2.056, 2.37, 2.748, 3.204, 3.757, 4.422, 5.213",\
                 "1.804, 1.883, 2.082, 2.352, 2.673, 3.055, 3.515, 4.07, 4.735, 5.525",\
                 "2.11, 2.192, 2.4, 2.681, 3.014, 3.404, 3.867, 4.424, 5.09, 5.88",\
                 "2.446, 2.533, 2.75, 3.044, 3.39, 3.791, 4.261, 4.821, 5.489, 6.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6799, 0.7361, 0.8926, 1.144, 1.502, 1.992, 2.633, 3.441, 4.426, 5.607",\
                 "0.6928, 0.7491, 0.9055, 1.157, 1.515, 2.005, 2.646, 3.454, 4.439, 5.62",\
                 "0.7394, 0.7955, 0.952, 1.203, 1.562, 2.051, 2.692, 3.501, 4.489, 5.661",\
                 "0.8139, 0.8699, 1.026, 1.277, 1.635, 2.125, 2.766, 3.575, 4.563, 5.735",\
                 "0.9006, 0.9578, 1.115, 1.367, 1.725, 2.213, 2.854, 3.662, 4.649, 5.828",\
                 "0.978, 1.037, 1.197, 1.452, 1.811, 2.3, 2.94, 3.748, 4.736, 5.914",\
                 "1.042, 1.104, 1.268, 1.525, 1.886, 2.374, 3.014, 3.821, 4.808, 5.985",\
                 "1.087, 1.151, 1.32, 1.582, 1.945, 2.433, 3.072, 3.878, 4.864, 6.04",\
                 "1.106, 1.174, 1.35, 1.617, 1.984, 2.474, 3.113, 3.917, 4.901, 6.075",\
                 "1.098, 1.17, 1.353, 1.626, 2, 2.494, 3.133, 3.938, 4.921, 6.095");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2368, 0.309, 0.4883, 0.7398, 1.093, 1.59, 2.263, 3.137, 4.234, 5.562",\
                 "0.2366, 0.3095, 0.488, 0.7398, 1.094, 1.59, 2.262, 3.139, 4.237, 5.565",\
                 "0.236, 0.3094, 0.4882, 0.74, 1.094, 1.59, 2.262, 3.138, 4.238, 5.559",\
                 "0.237, 0.3102, 0.4898, 0.7414, 1.093, 1.589, 2.262, 3.136, 4.235, 5.566",\
                 "0.2464, 0.3198, 0.4982, 0.7474, 1.098, 1.593, 2.263, 3.141, 4.238, 5.563",\
                 "0.2636, 0.3374, 0.521, 0.7672, 1.113, 1.601, 2.269, 3.141, 4.24, 5.56",\
                 "0.2832, 0.3596, 0.5464, 0.7956, 1.137, 1.617, 2.28, 3.147, 4.242, 5.562",\
                 "0.31, 0.389, 0.5806, 0.8328, 1.168, 1.644, 2.295, 3.156, 4.247, 5.566",\
                 "0.34, 0.4228, 0.6218, 0.8788, 1.211, 1.678, 2.319, 3.169, 4.249, 5.569",\
                 "0.3734, 0.4606, 0.6676, 0.9336, 1.267, 1.729, 2.357, 3.196, 4.262, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.167, 0.2315, 0.4364, 0.8031, 1.385, 2.23, 3.361, 4.789, 6.525, 8.611",\
                 "0.1677, 0.2315, 0.4362, 0.8032, 1.385, 2.23, 3.353, 4.789, 6.524, 8.611",\
                 "0.1675, 0.2315, 0.4366, 0.8042, 1.384, 2.23, 3.355, 4.783, 6.527, 8.61",\
                 "0.167, 0.232, 0.437, 0.8048, 1.384, 2.225, 3.353, 4.783, 6.527, 8.611",\
                 "0.1742, 0.2376, 0.4416, 0.8062, 1.385, 2.227, 3.355, 4.791, 6.528, 8.609",\
                 "0.1848, 0.2488, 0.4534, 0.8168, 1.391, 2.229, 3.354, 4.782, 6.529, 8.606",\
                 "0.1972, 0.2632, 0.4668, 0.8292, 1.399, 2.232, 3.36, 4.784, 6.528, 8.61",\
                 "0.2134, 0.282, 0.4858, 0.847, 1.41, 2.238, 3.358, 4.788, 6.537, 8.603",\
                 "0.2346, 0.3046, 0.5074, 0.8712, 1.432, 2.248, 3.363, 4.783, 6.528, 8.604",\
                 "0.2584, 0.3296, 0.533, 0.8976, 1.457, 2.268, 3.374, 4.787, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6779, 0.748, 0.9284, 1.177, 1.481, 1.853, 2.307, 2.859, 3.526, 4.317",\
                 "0.6953, 0.7653, 0.9457, 1.194, 1.499, 1.871, 2.324, 2.877, 3.543, 4.334",\
                 "0.7629, 0.833, 1.013, 1.261, 1.566, 1.938, 2.392, 2.944, 3.611, 4.402",\
                 "0.8922, 0.9621, 1.142, 1.39, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.072, 1.143, 1.324, 1.573, 1.878, 2.25, 2.704, 3.256, 3.922, 4.714",\
                 "1.283, 1.357, 1.543, 1.796, 2.105, 2.479, 2.933, 3.485, 4.151, 4.942",\
                 "1.528, 1.604, 1.795, 2.056, 2.371, 2.748, 3.204, 3.757, 4.423, 5.213",\
                 "1.805, 1.883, 2.082, 2.352, 2.673, 3.055, 3.515, 4.069, 4.735, 5.525",\
                 "2.11, 2.193, 2.4, 2.681, 3.014, 3.404, 3.867, 4.424, 5.09, 5.88",\
                 "2.446, 2.533, 2.75, 3.044, 3.39, 3.791, 4.261, 4.821, 5.489, 6.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.68, 0.7361, 0.8926, 1.144, 1.502, 1.992, 2.633, 3.441, 4.426, 5.607",\
                 "0.6928, 0.749, 0.9056, 1.157, 1.515, 2.004, 2.646, 3.454, 4.441, 5.619",\
                 "0.7394, 0.7955, 0.952, 1.203, 1.562, 2.051, 2.692, 3.501, 4.487, 5.667",\
                 "0.8139, 0.87, 1.026, 1.278, 1.635, 2.125, 2.766, 3.575, 4.559, 5.74",\
                 "0.9007, 0.9578, 1.115, 1.367, 1.725, 2.213, 2.854, 3.662, 4.649, 5.828",\
                 "0.9779, 1.037, 1.198, 1.452, 1.811, 2.3, 2.941, 3.747, 4.736, 5.909",\
                 "1.042, 1.104, 1.268, 1.525, 1.886, 2.374, 3.014, 3.821, 4.808, 5.982",\
                 "1.087, 1.151, 1.32, 1.582, 1.945, 2.433, 3.072, 3.878, 4.864, 6.04",\
                 "1.106, 1.174, 1.35, 1.617, 1.984, 2.474, 3.113, 3.917, 4.901, 6.075",\
                 "1.098, 1.17, 1.353, 1.626, 2, 2.494, 3.133, 3.938, 4.921, 6.095");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2369, 0.3091, 0.4883, 0.7398, 1.093, 1.59, 2.263, 3.137, 4.236, 5.562",\
                 "0.2368, 0.3093, 0.4882, 0.74, 1.093, 1.588, 2.263, 3.138, 4.235, 5.565",\
                 "0.2359, 0.3092, 0.488, 0.74, 1.094, 1.59, 2.262, 3.139, 4.238, 5.564",\
                 "0.2372, 0.3102, 0.4898, 0.7412, 1.093, 1.589, 2.261, 3.137, 4.234, 5.565",\
                 "0.2464, 0.32, 0.4982, 0.7476, 1.098, 1.593, 2.262, 3.138, 4.238, 5.562",\
                 "0.2626, 0.3376, 0.5208, 0.768, 1.112, 1.602, 2.269, 3.142, 4.239, 5.566",\
                 "0.2832, 0.3596, 0.5464, 0.7948, 1.137, 1.617, 2.28, 3.148, 4.241, 5.562",\
                 "0.3116, 0.3888, 0.5804, 0.8328, 1.168, 1.643, 2.296, 3.157, 4.245, 5.567",\
                 "0.34, 0.4232, 0.6212, 0.8788, 1.212, 1.678, 2.319, 3.169, 4.249, 5.569",\
                 "0.3734, 0.4606, 0.6676, 0.9336, 1.268, 1.729, 2.357, 3.196, 4.266, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1673, 0.2315, 0.4362, 0.8031, 1.385, 2.23, 3.361, 4.789, 6.525, 8.611",\
                 "0.1678, 0.2316, 0.4363, 0.8038, 1.385, 2.23, 3.355, 4.784, 6.535, 8.609",\
                 "0.1674, 0.2315, 0.4364, 0.8034, 1.383, 2.23, 3.355, 4.784, 6.527, 8.606",\
                 "0.1672, 0.2314, 0.4368, 0.8038, 1.385, 2.228, 3.359, 4.781, 6.524, 8.608",\
                 "0.1742, 0.2376, 0.4416, 0.8062, 1.385, 2.227, 3.355, 4.791, 6.528, 8.609",\
                 "0.1842, 0.2498, 0.4536, 0.817, 1.391, 2.229, 3.354, 4.782, 6.528, 8.611",\
                 "0.1972, 0.2632, 0.4668, 0.8292, 1.399, 2.232, 3.36, 4.783, 6.528, 8.61",\
                 "0.2134, 0.282, 0.4848, 0.8484, 1.411, 2.236, 3.358, 4.786, 6.537, 8.603",\
                 "0.2346, 0.3046, 0.5074, 0.8712, 1.432, 2.248, 3.363, 4.783, 6.528, 8.604",\
                 "0.2584, 0.3296, 0.533, 0.8976, 1.457, 2.268, 3.374, 4.787, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "I2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6779, 0.748, 0.9284, 1.177, 1.481, 1.853, 2.307, 2.859, 3.526, 4.317",\
                 "0.6953, 0.7653, 0.9457, 1.194, 1.499, 1.871, 2.324, 2.877, 3.543, 4.334",\
                 "0.7629, 0.833, 1.013, 1.261, 1.566, 1.938, 2.392, 2.944, 3.611, 4.402",\
                 "0.8922, 0.9621, 1.142, 1.39, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.072, 1.143, 1.324, 1.573, 1.878, 2.25, 2.704, 3.256, 3.922, 4.714",\
                 "1.283, 1.357, 1.543, 1.796, 2.105, 2.479, 2.933, 3.485, 4.151, 4.942",\
                 "1.528, 1.604, 1.795, 2.056, 2.371, 2.748, 3.204, 3.757, 4.423, 5.213",\
                 "1.805, 1.883, 2.082, 2.352, 2.673, 3.055, 3.515, 4.069, 4.735, 5.525",\
                 "2.11, 2.193, 2.4, 2.681, 3.014, 3.404, 3.867, 4.424, 5.09, 5.88",\
                 "2.446, 2.533, 2.75, 3.044, 3.39, 3.791, 4.261, 4.821, 5.489, 6.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.68, 0.7361, 0.8926, 1.144, 1.502, 1.992, 2.633, 3.441, 4.426, 5.607",\
                 "0.6928, 0.749, 0.9056, 1.157, 1.515, 2.004, 2.646, 3.454, 4.441, 5.619",\
                 "0.7394, 0.7955, 0.952, 1.203, 1.562, 2.051, 2.692, 3.501, 4.487, 5.667",\
                 "0.8139, 0.87, 1.026, 1.278, 1.635, 2.125, 2.766, 3.575, 4.559, 5.74",\
                 "0.9007, 0.9578, 1.115, 1.367, 1.725, 2.213, 2.854, 3.662, 4.649, 5.828",\
                 "0.9779, 1.037, 1.198, 1.452, 1.811, 2.3, 2.941, 3.747, 4.736, 5.909",\
                 "1.042, 1.104, 1.268, 1.525, 1.886, 2.374, 3.014, 3.821, 4.808, 5.982",\
                 "1.087, 1.151, 1.32, 1.582, 1.945, 2.433, 3.072, 3.878, 4.864, 6.04",\
                 "1.106, 1.174, 1.35, 1.617, 1.984, 2.474, 3.113, 3.917, 4.901, 6.075",\
                 "1.098, 1.17, 1.353, 1.626, 2, 2.494, 3.133, 3.938, 4.921, 6.095");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2369, 0.3091, 0.4883, 0.7398, 1.093, 1.59, 2.263, 3.137, 4.236, 5.562",\
                 "0.2368, 0.3093, 0.4882, 0.74, 1.093, 1.588, 2.263, 3.138, 4.235, 5.565",\
                 "0.2359, 0.3092, 0.488, 0.74, 1.094, 1.59, 2.262, 3.139, 4.238, 5.564",\
                 "0.2372, 0.3102, 0.4898, 0.7412, 1.093, 1.589, 2.261, 3.137, 4.234, 5.565",\
                 "0.2464, 0.32, 0.4982, 0.7476, 1.098, 1.593, 2.262, 3.138, 4.238, 5.562",\
                 "0.2626, 0.3376, 0.5208, 0.768, 1.112, 1.602, 2.269, 3.142, 4.239, 5.566",\
                 "0.2832, 0.3596, 0.5464, 0.7948, 1.137, 1.617, 2.28, 3.148, 4.241, 5.562",\
                 "0.3116, 0.3888, 0.5804, 0.8328, 1.168, 1.643, 2.296, 3.157, 4.245, 5.567",\
                 "0.34, 0.4232, 0.6212, 0.8788, 1.212, 1.678, 2.319, 3.169, 4.249, 5.569",\
                 "0.3734, 0.4606, 0.6676, 0.9336, 1.268, 1.729, 2.357, 3.196, 4.266, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1673, 0.2315, 0.4356, 0.8031, 1.383, 2.23, 3.361, 4.791, 6.525, 8.611",\
                 "0.1677, 0.2313, 0.4357, 0.8046, 1.382, 2.227, 3.353, 4.782, 6.529, 8.623",\
                 "0.1674, 0.2316, 0.4364, 0.8034, 1.383, 2.23, 3.355, 4.784, 6.527, 8.606",\
                 "0.1666, 0.232, 0.4366, 0.8052, 1.385, 2.23, 3.354, 4.786, 6.524, 8.622",\
                 "0.1742, 0.2376, 0.4416, 0.8062, 1.384, 2.231, 3.353, 4.79, 6.528, 8.609",\
                 "0.1842, 0.249, 0.454, 0.8172, 1.39, 2.229, 3.355, 4.78, 6.529, 8.607",\
                 "0.1972, 0.2632, 0.466, 0.8292, 1.399, 2.233, 3.36, 4.783, 6.527, 8.606",\
                 "0.214, 0.282, 0.4862, 0.847, 1.411, 2.239, 3.358, 4.788, 6.537, 8.603",\
                 "0.236, 0.3046, 0.5062, 0.871, 1.43, 2.247, 3.362, 4.783, 6.528, 8.601",\
                 "0.2584, 0.3296, 0.533, 0.8988, 1.455, 2.268, 3.372, 4.788, 6.525, 8.605");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6793, 0.7495, 0.9298, 1.178, 1.483, 1.855, 2.308, 2.861, 3.527, 4.318",\
                 "0.6967, 0.7668, 0.9472, 1.195, 1.5, 1.872, 2.325, 2.878, 3.544, 4.335",\
                 "0.7641, 0.8343, 1.015, 1.263, 1.568, 1.939, 2.393, 2.945, 3.612, 4.403",\
                 "0.8926, 0.9626, 1.143, 1.39, 1.696, 2.067, 2.521, 3.073, 3.74, 4.531",\
                 "1.071, 1.142, 1.323, 1.571, 1.877, 2.249, 2.703, 3.255, 3.921, 4.713",\
                 "1.281, 1.354, 1.54, 1.794, 2.103, 2.476, 2.93, 3.483, 4.149, 4.94",\
                 "1.526, 1.6, 1.792, 2.052, 2.367, 2.744, 3.2, 3.753, 4.419, 5.209",\
                 "1.801, 1.88, 2.078, 2.347, 2.669, 3.051, 3.51, 4.065, 4.73, 5.521",\
                 "2.105, 2.188, 2.395, 2.676, 3.008, 3.398, 3.861, 4.418, 5.084, 5.874",\
                 "2.441, 2.528, 2.745, 3.038, 3.383, 3.784, 4.254, 4.814, 5.482, 6.272");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6711, 0.727, 0.8833, 1.135, 1.493, 1.982, 2.623, 3.43, 4.419, 5.597",\
                 "0.684, 0.7399, 0.8963, 1.148, 1.506, 1.995, 2.636, 3.444, 4.431, 5.611",\
                 "0.7305, 0.7865, 0.9428, 1.194, 1.552, 2.041, 2.682, 3.491, 4.478, 5.657",\
                 "0.806, 0.862, 1.018, 1.269, 1.627, 2.116, 2.757, 3.565, 4.551, 5.732",\
                 "0.8935, 0.9506, 1.108, 1.359, 1.717, 2.205, 2.846, 3.653, 4.639, 5.82",\
                 "0.971, 1.03, 1.19, 1.445, 1.804, 2.292, 2.933, 3.739, 4.725, 5.906",\
                 "1.035, 1.096, 1.26, 1.517, 1.878, 2.366, 3.006, 3.813, 4.8, 5.975",\
                 "1.08, 1.143, 1.313, 1.574, 1.937, 2.425, 3.064, 3.87, 4.854, 6.031",\
                 "1.099, 1.166, 1.342, 1.609, 1.975, 2.466, 3.104, 3.908, 4.892, 6.066",\
                 "1.09, 1.161, 1.344, 1.617, 1.99, 2.484, 3.124, 3.928, 4.912, 6.085");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2371, 0.3094, 0.4886, 0.7394, 1.093, 1.59, 2.263, 3.14, 4.233, 5.561",\
                 "0.2375, 0.3104, 0.4887, 0.7402, 1.093, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.2367, 0.3098, 0.4882, 0.7402, 1.094, 1.59, 2.261, 3.137, 4.238, 5.564",\
                 "0.2374, 0.3114, 0.4898, 0.7412, 1.095, 1.59, 2.263, 3.136, 4.234, 5.565",\
                 "0.2466, 0.32, 0.4984, 0.7482, 1.098, 1.593, 2.262, 3.138, 4.238, 5.558",\
                 "0.263, 0.3382, 0.5202, 0.7666, 1.112, 1.602, 2.27, 3.143, 4.239, 5.561",\
                 "0.2826, 0.3596, 0.5456, 0.7944, 1.137, 1.618, 2.28, 3.147, 4.242, 5.56",\
                 "0.3098, 0.3894, 0.5812, 0.8314, 1.168, 1.643, 2.297, 3.155, 4.244, 5.564",\
                 "0.34, 0.4224, 0.6206, 0.8792, 1.211, 1.678, 2.319, 3.169, 4.25, 5.569",\
                 "0.3724, 0.4598, 0.6656, 0.9328, 1.267, 1.727, 2.355, 3.197, 4.264, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.231, 0.4363, 0.804, 1.382, 2.227, 3.353, 4.787, 6.529, 8.609",\
                 "0.1665, 0.2311, 0.4356, 0.8026, 1.383, 2.226, 3.353, 4.79, 6.527, 8.61",\
                 "0.1667, 0.2314, 0.436, 0.803, 1.385, 2.23, 3.353, 4.791, 6.528, 8.611",\
                 "0.1662, 0.2314, 0.436, 0.8028, 1.385, 2.226, 3.354, 4.791, 6.526, 8.612",\
                 "0.1742, 0.2376, 0.4408, 0.806, 1.386, 2.227, 3.354, 4.786, 6.525, 8.611",\
                 "0.1836, 0.2496, 0.4528, 0.818, 1.391, 2.232, 3.356, 4.783, 6.526, 8.611",\
                 "0.1976, 0.2636, 0.4656, 0.8288, 1.399, 2.232, 3.36, 4.783, 6.528, 8.608",\
                 "0.2146, 0.2814, 0.4846, 0.8462, 1.411, 2.239, 3.358, 4.788, 6.525, 8.606",\
                 "0.2342, 0.3044, 0.507, 0.8702, 1.429, 2.248, 3.364, 4.783, 6.526, 8.605",\
                 "0.2574, 0.3288, 0.5338, 0.896, 1.456, 2.268, 3.373, 4.788, 6.525, 8.605");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6793, 0.7495, 0.9298, 1.178, 1.483, 1.855, 2.308, 2.861, 3.527, 4.318",\
                 "0.6967, 0.7669, 0.9472, 1.195, 1.5, 1.872, 2.326, 2.878, 3.544, 4.336",\
                 "0.7642, 0.8342, 1.015, 1.263, 1.568, 1.939, 2.393, 2.945, 3.612, 4.403",\
                 "0.8925, 0.9625, 1.143, 1.391, 1.696, 2.067, 2.521, 3.073, 3.74, 4.531",\
                 "1.071, 1.142, 1.323, 1.571, 1.877, 2.249, 2.703, 3.255, 3.921, 4.713",\
                 "1.282, 1.354, 1.54, 1.794, 2.103, 2.476, 2.93, 3.483, 4.149, 4.939",\
                 "1.525, 1.6, 1.792, 2.052, 2.367, 2.744, 3.2, 3.753, 4.419, 5.21",\
                 "1.8, 1.88, 2.078, 2.347, 2.668, 3.052, 3.511, 4.065, 4.73, 5.521",\
                 "2.105, 2.188, 2.395, 2.676, 3.008, 3.398, 3.861, 4.418, 5.084, 5.874",\
                 "2.441, 2.528, 2.745, 3.038, 3.383, 3.784, 4.255, 4.814, 5.482, 6.272");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6709, 0.7269, 0.8832, 1.135, 1.493, 1.982, 2.623, 3.432, 4.419, 5.597",\
                 "0.6839, 0.7399, 0.8963, 1.148, 1.506, 1.995, 2.636, 3.445, 4.431, 5.611",\
                 "0.7305, 0.7865, 0.943, 1.194, 1.552, 2.041, 2.682, 3.491, 4.478, 5.657",\
                 "0.8061, 0.862, 1.018, 1.269, 1.627, 2.116, 2.757, 3.565, 4.551, 5.731",\
                 "0.8938, 0.9508, 1.108, 1.359, 1.717, 2.206, 2.847, 3.654, 4.639, 5.819",\
                 "0.971, 1.03, 1.19, 1.445, 1.804, 2.292, 2.932, 3.74, 4.726, 5.906",\
                 "1.035, 1.096, 1.26, 1.517, 1.878, 2.366, 3.006, 3.813, 4.8, 5.976",\
                 "1.079, 1.143, 1.313, 1.574, 1.937, 2.425, 3.064, 3.87, 4.855, 6.031",\
                 "1.099, 1.166, 1.342, 1.609, 1.975, 2.465, 3.104, 3.908, 4.893, 6.066",\
                 "1.09, 1.161, 1.344, 1.617, 1.99, 2.484, 3.124, 3.928, 4.912, 6.085");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2371, 0.3094, 0.4886, 0.7394, 1.093, 1.59, 2.263, 3.14, 4.234, 5.565",\
                 "0.2375, 0.3095, 0.4884, 0.7402, 1.094, 1.59, 2.263, 3.14, 4.235, 5.562",\
                 "0.2368, 0.3097, 0.4882, 0.7404, 1.094, 1.59, 2.263, 3.136, 4.233, 5.565",\
                 "0.2376, 0.3106, 0.4896, 0.7412, 1.095, 1.59, 2.261, 3.138, 4.236, 5.562",\
                 "0.2466, 0.32, 0.4984, 0.7482, 1.098, 1.593, 2.262, 3.138, 4.238, 5.558",\
                 "0.2628, 0.3386, 0.5206, 0.7676, 1.113, 1.601, 2.269, 3.14, 4.239, 5.566",\
                 "0.2828, 0.3594, 0.547, 0.7954, 1.137, 1.618, 2.279, 3.146, 4.24, 5.562",\
                 "0.3098, 0.3892, 0.5798, 0.8314, 1.168, 1.643, 2.296, 3.154, 4.244, 5.564",\
                 "0.34, 0.4224, 0.6206, 0.8792, 1.211, 1.677, 2.319, 3.169, 4.25, 5.569",\
                 "0.3724, 0.4598, 0.6656, 0.9328, 1.267, 1.727, 2.357, 3.192, 4.264, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.2311, 0.4357, 0.8024, 1.382, 2.227, 3.355, 4.786, 6.528, 8.608",\
                 "0.1672, 0.2311, 0.4356, 0.8022, 1.383, 2.227, 3.354, 4.783, 6.527, 8.606",\
                 "0.1671, 0.231, 0.4364, 0.803, 1.385, 2.23, 3.354, 4.791, 6.528, 8.611",\
                 "0.1674, 0.2312, 0.4356, 0.8026, 1.383, 2.227, 3.355, 4.789, 6.525, 8.611",\
                 "0.1738, 0.2372, 0.4416, 0.8054, 1.384, 2.23, 3.354, 4.782, 6.525, 8.61",\
                 "0.1836, 0.2486, 0.4528, 0.818, 1.39, 2.229, 3.361, 4.781, 6.527, 8.608",\
                 "0.1976, 0.2636, 0.4656, 0.8286, 1.399, 2.232, 3.36, 4.783, 6.527, 8.608",\
                 "0.2144, 0.2818, 0.4842, 0.8462, 1.411, 2.238, 3.357, 4.788, 6.537, 8.602",\
                 "0.2342, 0.3044, 0.5058, 0.8702, 1.427, 2.247, 3.362, 4.782, 6.528, 8.601",\
                 "0.2574, 0.329, 0.5328, 0.8994, 1.456, 2.27, 3.373, 4.788, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6793, 0.7495, 0.9298, 1.177, 1.483, 1.855, 2.308, 2.861, 3.527, 4.318",\
                 "0.6968, 0.7668, 0.9473, 1.195, 1.5, 1.872, 2.325, 2.878, 3.544, 4.335",\
                 "0.7641, 0.8343, 1.015, 1.262, 1.568, 1.939, 2.393, 2.945, 3.612, 4.403",\
                 "0.8927, 0.9626, 1.143, 1.391, 1.696, 2.067, 2.521, 3.074, 3.74, 4.531",\
                 "1.071, 1.142, 1.323, 1.571, 1.877, 2.249, 2.703, 3.255, 3.921, 4.712",\
                 "1.282, 1.354, 1.54, 1.794, 2.103, 2.476, 2.931, 3.483, 4.149, 4.94",\
                 "1.525, 1.6, 1.792, 2.052, 2.367, 2.744, 3.2, 3.753, 4.418, 5.209",\
                 "1.801, 1.879, 2.078, 2.347, 2.669, 3.051, 3.51, 4.064, 4.73, 5.52",\
                 "2.105, 2.188, 2.395, 2.676, 3.009, 3.398, 3.862, 4.418, 5.084, 5.874",\
                 "2.44, 2.528, 2.745, 3.037, 3.383, 3.784, 4.255, 4.814, 5.482, 6.272");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6711, 0.7269, 0.8833, 1.135, 1.493, 1.982, 2.623, 3.431, 4.42, 5.597",\
                 "0.6839, 0.74, 0.8963, 1.148, 1.506, 1.995, 2.636, 3.444, 4.43, 5.611",\
                 "0.7305, 0.7866, 0.943, 1.194, 1.552, 2.042, 2.683, 3.491, 4.478, 5.658",\
                 "0.806, 0.862, 1.018, 1.269, 1.627, 2.116, 2.758, 3.565, 4.553, 5.732",\
                 "0.8934, 0.9505, 1.108, 1.359, 1.717, 2.205, 2.846, 3.654, 4.641, 5.819",\
                 "0.971, 1.03, 1.19, 1.445, 1.803, 2.292, 2.933, 3.741, 4.726, 5.906",\
                 "1.035, 1.096, 1.26, 1.517, 1.878, 2.366, 3.006, 3.813, 4.8, 5.977",\
                 "1.08, 1.144, 1.313, 1.574, 1.937, 2.425, 3.064, 3.87, 4.855, 6.031",\
                 "1.099, 1.166, 1.342, 1.608, 1.976, 2.466, 3.104, 3.909, 4.893, 6.067",\
                 "1.089, 1.161, 1.344, 1.617, 1.991, 2.484, 3.124, 3.928, 4.912, 6.085");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2371, 0.3101, 0.4885, 0.74, 1.093, 1.59, 2.263, 3.14, 4.236, 5.564",\
                 "0.237, 0.3104, 0.4884, 0.7402, 1.093, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.2375, 0.3096, 0.4882, 0.7402, 1.094, 1.59, 2.262, 3.136, 4.238, 5.565",\
                 "0.2376, 0.3106, 0.4896, 0.7414, 1.095, 1.588, 2.261, 3.14, 4.238, 5.561",\
                 "0.2466, 0.32, 0.4988, 0.7482, 1.098, 1.593, 2.263, 3.141, 4.238, 5.563",\
                 "0.263, 0.3378, 0.5202, 0.7676, 1.113, 1.6, 2.267, 3.141, 4.239, 5.561",\
                 "0.2828, 0.3596, 0.547, 0.7954, 1.137, 1.618, 2.279, 3.145, 4.242, 5.566",\
                 "0.3098, 0.3886, 0.58, 0.8306, 1.168, 1.643, 2.295, 3.157, 4.244, 5.561",\
                 "0.3398, 0.4226, 0.6218, 0.8792, 1.212, 1.678, 2.32, 3.169, 4.25, 5.571",\
                 "0.372, 0.4596, 0.6656, 0.9322, 1.267, 1.728, 2.358, 3.195, 4.265, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.231, 0.4363, 0.8038, 1.383, 2.227, 3.361, 4.788, 6.529, 8.609",\
                 "0.1672, 0.231, 0.4359, 0.8026, 1.385, 2.229, 3.357, 4.782, 6.524, 8.612",\
                 "0.1673, 0.231, 0.4352, 0.8044, 1.383, 2.229, 3.354, 4.782, 6.528, 8.611",\
                 "0.1662, 0.2312, 0.4362, 0.803, 1.383, 2.23, 3.355, 4.785, 6.529, 8.608",\
                 "0.1734, 0.2374, 0.4416, 0.8056, 1.385, 2.23, 3.354, 4.78, 6.532, 8.609",\
                 "0.184, 0.2486, 0.4526, 0.8168, 1.39, 2.229, 3.356, 4.783, 6.526, 8.605",\
                 "0.1976, 0.2624, 0.4654, 0.8292, 1.399, 2.232, 3.354, 4.783, 6.526, 8.61",\
                 "0.2142, 0.2808, 0.4856, 0.8458, 1.409, 2.238, 3.357, 4.789, 6.537, 8.607",\
                 "0.235, 0.3034, 0.5066, 0.8696, 1.429, 2.248, 3.366, 4.782, 6.527, 8.604",\
                 "0.258, 0.3288, 0.5334, 0.8972, 1.456, 2.268, 3.372, 4.79, 6.526, 8.602");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6793, 0.7495, 0.9298, 1.178, 1.483, 1.854, 2.308, 2.861, 3.527, 4.318",\
                 "0.6967, 0.7667, 0.9471, 1.195, 1.5, 1.872, 2.326, 2.878, 3.544, 4.336",\
                 "0.7641, 0.8342, 1.015, 1.262, 1.568, 1.939, 2.393, 2.945, 3.612, 4.403",\
                 "0.8924, 0.9624, 1.143, 1.391, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.071, 1.142, 1.323, 1.571, 1.877, 2.249, 2.703, 3.255, 3.921, 4.712",\
                 "1.282, 1.355, 1.54, 1.794, 2.103, 2.476, 2.931, 3.483, 4.149, 4.94",\
                 "1.525, 1.601, 1.792, 2.053, 2.367, 2.744, 3.2, 3.753, 4.418, 5.209",\
                 "1.801, 1.88, 2.078, 2.347, 2.669, 3.051, 3.51, 4.064, 4.73, 5.521",\
                 "2.105, 2.188, 2.395, 2.676, 3.009, 3.398, 3.862, 4.418, 5.084, 5.874",\
                 "2.44, 2.528, 2.745, 3.037, 3.383, 3.784, 4.255, 4.814, 5.482, 6.272");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6709, 0.7269, 0.8832, 1.135, 1.493, 1.982, 2.623, 3.431, 4.419, 5.597",\
                 "0.6839, 0.74, 0.8963, 1.148, 1.506, 1.995, 2.636, 3.445, 4.432, 5.61",\
                 "0.7305, 0.7865, 0.9428, 1.194, 1.552, 2.042, 2.683, 3.492, 4.478, 5.658",\
                 "0.806, 0.862, 1.018, 1.269, 1.627, 2.116, 2.757, 3.566, 4.554, 5.727",\
                 "0.8935, 0.9506, 1.108, 1.359, 1.717, 2.205, 2.847, 3.655, 4.642, 5.821",\
                 "0.971, 1.03, 1.19, 1.445, 1.804, 2.292, 2.932, 3.74, 4.725, 5.903",\
                 "1.035, 1.096, 1.26, 1.517, 1.878, 2.366, 3.006, 3.813, 4.8, 5.977",\
                 "1.079, 1.144, 1.313, 1.574, 1.937, 2.425, 3.064, 3.87, 4.855, 6.031",\
                 "1.099, 1.166, 1.341, 1.609, 1.976, 2.466, 3.104, 3.909, 4.893, 6.067",\
                 "1.089, 1.161, 1.344, 1.617, 1.99, 2.484, 3.124, 3.928, 4.912, 6.085");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2371, 0.3101, 0.4883, 0.74, 1.094, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.2372, 0.3101, 0.4885, 0.74, 1.093, 1.589, 2.263, 3.14, 4.235, 5.562",\
                 "0.2366, 0.3097, 0.4882, 0.7402, 1.094, 1.59, 2.263, 3.14, 4.236, 5.564",\
                 "0.2382, 0.311, 0.49, 0.7414, 1.094, 1.59, 2.261, 3.138, 4.235, 5.559",\
                 "0.2464, 0.32, 0.4988, 0.7482, 1.098, 1.593, 2.263, 3.141, 4.236, 5.56",\
                 "0.2628, 0.3378, 0.52, 0.7662, 1.113, 1.6, 2.267, 3.142, 4.237, 5.56",\
                 "0.2828, 0.3596, 0.5458, 0.7946, 1.137, 1.618, 2.279, 3.147, 4.24, 5.564",\
                 "0.3098, 0.3888, 0.5802, 0.8324, 1.168, 1.643, 2.296, 3.154, 4.243, 5.565",\
                 "0.3398, 0.4226, 0.6218, 0.8792, 1.212, 1.678, 2.319, 3.169, 4.25, 5.568",\
                 "0.3724, 0.4596, 0.6656, 0.9322, 1.267, 1.727, 2.356, 3.195, 4.265, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.2311, 0.4357, 0.8024, 1.382, 2.227, 3.355, 4.783, 6.529, 8.609",\
                 "0.1674, 0.2306, 0.4358, 0.8042, 1.383, 2.23, 3.356, 4.786, 6.529, 8.609",\
                 "0.167, 0.2313, 0.436, 0.8026, 1.385, 2.23, 3.354, 4.781, 6.528, 8.611",\
                 "0.166, 0.2312, 0.4362, 0.804, 1.384, 2.227, 3.354, 4.784, 6.529, 8.606",\
                 "0.1734, 0.2376, 0.441, 0.8056, 1.386, 2.226, 3.356, 4.782, 6.529, 8.607",\
                 "0.1834, 0.2482, 0.453, 0.8168, 1.39, 2.229, 3.356, 4.782, 6.525, 8.619",\
                 "0.1976, 0.2624, 0.4654, 0.8292, 1.4, 2.232, 3.361, 4.785, 6.528, 8.61",\
                 "0.2134, 0.2806, 0.4846, 0.8466, 1.411, 2.237, 3.357, 4.788, 6.537, 8.606",\
                 "0.2346, 0.3044, 0.5066, 0.8706, 1.429, 2.248, 3.362, 4.783, 6.529, 8.602",\
                 "0.2594, 0.3288, 0.5336, 0.8972, 1.456, 2.268, 3.373, 4.789, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6793, 0.7495, 0.9299, 1.178, 1.483, 1.854, 2.308, 2.861, 3.527, 4.318",\
                 "0.6968, 0.7669, 0.9473, 1.195, 1.5, 1.872, 2.326, 2.878, 3.544, 4.335",\
                 "0.7641, 0.8342, 1.015, 1.263, 1.568, 1.939, 2.393, 2.945, 3.612, 4.403",\
                 "0.8926, 0.9626, 1.143, 1.391, 1.696, 2.067, 2.521, 3.074, 3.739, 4.531",\
                 "1.071, 1.142, 1.323, 1.571, 1.877, 2.249, 2.703, 3.255, 3.921, 4.713",\
                 "1.281, 1.354, 1.54, 1.794, 2.103, 2.476, 2.931, 3.483, 4.149, 4.94",\
                 "1.525, 1.601, 1.792, 2.052, 2.367, 2.744, 3.2, 3.753, 4.419, 5.209",\
                 "1.801, 1.88, 2.077, 2.347, 2.669, 3.051, 3.51, 4.065, 4.73, 5.521",\
                 "2.105, 2.188, 2.395, 2.676, 3.008, 3.398, 3.861, 4.418, 5.084, 5.874",\
                 "2.441, 2.528, 2.745, 3.038, 3.383, 3.784, 4.254, 4.814, 5.482, 6.272");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6709, 0.7269, 0.8833, 1.135, 1.493, 1.982, 2.623, 3.43, 4.419, 5.597",\
                 "0.6839, 0.74, 0.8963, 1.148, 1.506, 1.995, 2.636, 3.445, 4.432, 5.61",\
                 "0.7305, 0.7865, 0.9428, 1.194, 1.552, 2.041, 2.682, 3.491, 4.478, 5.657",\
                 "0.806, 0.8621, 1.018, 1.269, 1.627, 2.116, 2.757, 3.566, 4.554, 5.728",\
                 "0.8935, 0.9504, 1.108, 1.359, 1.717, 2.206, 2.846, 3.654, 4.641, 5.817",\
                 "0.971, 1.03, 1.19, 1.445, 1.804, 2.292, 2.933, 3.74, 4.726, 5.905",\
                 "1.035, 1.096, 1.26, 1.517, 1.878, 2.366, 3.006, 3.813, 4.8, 5.976",\
                 "1.079, 1.143, 1.313, 1.574, 1.937, 2.425, 3.064, 3.87, 4.855, 6.031",\
                 "1.099, 1.166, 1.342, 1.608, 1.975, 2.465, 3.104, 3.909, 4.893, 6.066",\
                 "1.09, 1.161, 1.343, 1.617, 1.99, 2.484, 3.124, 3.928, 4.912, 6.086");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2363, 0.3094, 0.4885, 0.74, 1.093, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.2368, 0.3094, 0.4884, 0.74, 1.093, 1.59, 2.262, 3.14, 4.233, 5.565",\
                 "0.2365, 0.3098, 0.4882, 0.7402, 1.094, 1.59, 2.261, 3.136, 4.238, 5.564",\
                 "0.2378, 0.3112, 0.49, 0.7412, 1.095, 1.59, 2.263, 3.136, 4.236, 5.564",\
                 "0.2466, 0.32, 0.4984, 0.7482, 1.098, 1.593, 2.262, 3.138, 4.238, 5.558",\
                 "0.2628, 0.338, 0.5206, 0.7676, 1.112, 1.601, 2.269, 3.143, 4.237, 5.562",\
                 "0.2828, 0.3592, 0.547, 0.7946, 1.137, 1.618, 2.28, 3.148, 4.241, 5.564",\
                 "0.3098, 0.3888, 0.5802, 0.8314, 1.168, 1.643, 2.295, 3.155, 4.244, 5.566",\
                 "0.34, 0.4224, 0.6206, 0.8792, 1.211, 1.678, 2.319, 3.169, 4.25, 5.569",\
                 "0.3726, 0.4598, 0.6656, 0.9328, 1.267, 1.727, 2.355, 3.195, 4.264, 5.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.231, 0.4363, 0.804, 1.382, 2.227, 3.353, 4.786, 6.529, 8.609",\
                 "0.1664, 0.2309, 0.4357, 0.8024, 1.382, 2.227, 3.356, 4.786, 6.528, 8.608",\
                 "0.1666, 0.2314, 0.436, 0.803, 1.385, 2.23, 3.353, 4.791, 6.528, 8.611",\
                 "0.1666, 0.2306, 0.436, 0.8038, 1.385, 2.227, 3.354, 4.784, 6.529, 8.604",\
                 "0.1734, 0.2376, 0.4414, 0.8066, 1.384, 2.227, 3.358, 4.783, 6.534, 8.606",\
                 "0.184, 0.2486, 0.4532, 0.8166, 1.39, 2.229, 3.356, 4.79, 6.532, 8.61",\
                 "0.1976, 0.2636, 0.4656, 0.8284, 1.398, 2.232, 3.36, 4.783, 6.527, 8.608",\
                 "0.2144, 0.2818, 0.4844, 0.8476, 1.411, 2.238, 3.358, 4.788, 6.533, 8.606",\
                 "0.2342, 0.3044, 0.507, 0.8698, 1.428, 2.247, 3.362, 4.782, 6.53, 8.6",\
                 "0.2574, 0.329, 0.5318, 0.8994, 1.456, 2.268, 3.377, 4.788, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6793, 0.7495, 0.9299, 1.178, 1.483, 1.854, 2.308, 2.861, 3.527, 4.318",\
                 "0.6967, 0.7668, 0.9473, 1.195, 1.5, 1.872, 2.325, 2.878, 3.544, 4.336",\
                 "0.7642, 0.8342, 1.015, 1.263, 1.568, 1.939, 2.393, 2.945, 3.612, 4.403",\
                 "0.8924, 0.9624, 1.142, 1.391, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.071, 1.142, 1.323, 1.571, 1.877, 2.249, 2.703, 3.255, 3.921, 4.713",\
                 "1.282, 1.354, 1.54, 1.794, 2.103, 2.476, 2.93, 3.483, 4.149, 4.939",\
                 "1.525, 1.6, 1.792, 2.052, 2.367, 2.744, 3.2, 3.753, 4.418, 5.209",\
                 "1.801, 1.88, 2.078, 2.347, 2.668, 3.051, 3.511, 4.065, 4.73, 5.521",\
                 "2.105, 2.188, 2.395, 2.676, 3.008, 3.398, 3.861, 4.418, 5.084, 5.874",\
                 "2.441, 2.528, 2.745, 3.038, 3.383, 3.784, 4.255, 4.814, 5.482, 6.273");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6709, 0.7269, 0.8832, 1.135, 1.493, 1.982, 2.623, 3.432, 4.419, 5.597",\
                 "0.6839, 0.7399, 0.8964, 1.148, 1.506, 1.995, 2.636, 3.444, 4.432, 5.61",\
                 "0.7305, 0.7865, 0.943, 1.194, 1.552, 2.041, 2.682, 3.491, 4.478, 5.657",\
                 "0.8062, 0.8622, 1.018, 1.269, 1.627, 2.116, 2.757, 3.566, 4.554, 5.728",\
                 "0.8938, 0.9508, 1.108, 1.359, 1.717, 2.206, 2.846, 3.653, 4.639, 5.82",\
                 "0.971, 1.03, 1.19, 1.445, 1.804, 2.292, 2.933, 3.74, 4.726, 5.905",\
                 "1.035, 1.096, 1.26, 1.517, 1.878, 2.366, 3.006, 3.813, 4.799, 5.978",\
                 "1.08, 1.144, 1.313, 1.574, 1.937, 2.425, 3.064, 3.87, 4.855, 6.03",\
                 "1.099, 1.167, 1.341, 1.609, 1.975, 2.465, 3.104, 3.909, 4.893, 6.067",\
                 "1.09, 1.161, 1.344, 1.617, 1.99, 2.484, 3.124, 3.928, 4.912, 6.085");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2374, 0.3094, 0.4885, 0.74, 1.093, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.2367, 0.3102, 0.4883, 0.74, 1.093, 1.59, 2.263, 3.137, 4.233, 5.559",\
                 "0.2368, 0.3097, 0.4882, 0.7404, 1.094, 1.59, 2.262, 3.137, 4.234, 5.565",\
                 "0.2384, 0.311, 0.4898, 0.7412, 1.094, 1.589, 2.26, 3.138, 4.234, 5.565",\
                 "0.2466, 0.32, 0.4984, 0.7482, 1.098, 1.593, 2.262, 3.138, 4.238, 5.558",\
                 "0.263, 0.3378, 0.5198, 0.7664, 1.113, 1.601, 2.27, 3.142, 4.239, 5.566",\
                 "0.2828, 0.3598, 0.547, 0.7954, 1.137, 1.618, 2.28, 3.146, 4.238, 5.567",\
                 "0.31, 0.3888, 0.58, 0.8314, 1.169, 1.643, 2.295, 3.154, 4.244, 5.565",\
                 "0.34, 0.4224, 0.6206, 0.8792, 1.211, 1.677, 2.319, 3.169, 4.25, 5.565",\
                 "0.3724, 0.4598, 0.6656, 0.9314, 1.267, 1.727, 2.359, 3.192, 4.264, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.2311, 0.4357, 0.8024, 1.382, 2.227, 3.355, 4.786, 6.528, 8.608",\
                 "0.1672, 0.2312, 0.4361, 0.8028, 1.383, 2.227, 3.354, 4.783, 6.529, 8.609",\
                 "0.1671, 0.231, 0.4364, 0.8024, 1.385, 2.23, 3.353, 4.791, 6.528, 8.611",\
                 "0.167, 0.2312, 0.4354, 0.804, 1.384, 2.226, 3.353, 4.782, 6.526, 8.616",\
                 "0.1738, 0.2372, 0.4416, 0.8054, 1.385, 2.226, 3.354, 4.787, 6.524, 8.61",\
                 "0.184, 0.2486, 0.4532, 0.816, 1.39, 2.229, 3.356, 4.789, 6.528, 8.608",\
                 "0.1972, 0.2624, 0.4664, 0.8292, 1.399, 2.233, 3.355, 4.781, 6.527, 8.61",\
                 "0.2142, 0.2808, 0.4846, 0.8462, 1.411, 2.238, 3.358, 4.789, 6.537, 8.606",\
                 "0.2342, 0.3038, 0.5068, 0.8704, 1.428, 2.247, 3.362, 4.782, 6.53, 8.602",\
                 "0.2574, 0.3286, 0.534, 0.899, 1.455, 2.268, 3.377, 4.786, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6793, 0.7493, 0.9299, 1.178, 1.483, 1.854, 2.308, 2.861, 3.527, 4.318",\
                 "0.6968, 0.7669, 0.9472, 1.195, 1.5, 1.872, 2.326, 2.878, 3.544, 4.336",\
                 "0.7641, 0.8342, 1.015, 1.262, 1.568, 1.939, 2.393, 2.945, 3.612, 4.403",\
                 "0.8927, 0.9626, 1.143, 1.391, 1.696, 2.067, 2.521, 3.073, 3.74, 4.531",\
                 "1.071, 1.142, 1.323, 1.571, 1.877, 2.249, 2.703, 3.255, 3.921, 4.712",\
                 "1.282, 1.355, 1.54, 1.794, 2.103, 2.476, 2.93, 3.483, 4.148, 4.939",\
                 "1.525, 1.601, 1.792, 2.052, 2.367, 2.744, 3.2, 3.753, 4.418, 5.209",\
                 "1.801, 1.88, 2.078, 2.347, 2.669, 3.051, 3.51, 4.064, 4.73, 5.52",\
                 "2.105, 2.188, 2.395, 2.676, 3.008, 3.398, 3.862, 4.418, 5.084, 5.874",\
                 "2.44, 2.528, 2.745, 3.037, 3.383, 3.784, 4.255, 4.814, 5.482, 6.272");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6711, 0.7269, 0.8832, 1.135, 1.493, 1.982, 2.623, 3.432, 4.419, 5.597",\
                 "0.6839, 0.74, 0.8962, 1.148, 1.505, 1.995, 2.636, 3.444, 4.431, 5.609",\
                 "0.7305, 0.7867, 0.943, 1.194, 1.552, 2.042, 2.683, 3.491, 4.477, 5.656",\
                 "0.806, 0.862, 1.018, 1.269, 1.627, 2.116, 2.757, 3.566, 4.554, 5.727",\
                 "0.8936, 0.9507, 1.108, 1.359, 1.717, 2.205, 2.846, 3.654, 4.64, 5.82",\
                 "0.971, 1.03, 1.19, 1.445, 1.804, 2.292, 2.932, 3.741, 4.726, 5.906",\
                 "1.035, 1.096, 1.26, 1.517, 1.878, 2.366, 3.006, 3.813, 4.8, 5.975",\
                 "1.08, 1.143, 1.313, 1.574, 1.937, 2.425, 3.064, 3.87, 4.855, 6.031",\
                 "1.099, 1.166, 1.341, 1.608, 1.976, 2.466, 3.104, 3.909, 4.893, 6.067",\
                 "1.089, 1.161, 1.344, 1.617, 1.99, 2.484, 3.124, 3.928, 4.912, 6.085");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2371, 0.3097, 0.4885, 0.74, 1.093, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.2371, 0.3094, 0.4887, 0.7402, 1.094, 1.588, 2.261, 3.14, 4.235, 5.562",\
                 "0.2375, 0.3097, 0.4882, 0.7402, 1.094, 1.59, 2.263, 3.136, 4.235, 5.562",\
                 "0.238, 0.3106, 0.4898, 0.7416, 1.094, 1.59, 2.261, 3.136, 4.238, 5.561",\
                 "0.2464, 0.32, 0.4988, 0.7482, 1.098, 1.593, 2.263, 3.141, 4.238, 5.558",\
                 "0.2628, 0.3378, 0.52, 0.7676, 1.113, 1.6, 2.267, 3.143, 4.238, 5.566",\
                 "0.283, 0.36, 0.547, 0.7954, 1.137, 1.618, 2.279, 3.147, 4.241, 5.566",\
                 "0.3098, 0.3884, 0.5798, 0.8324, 1.169, 1.642, 2.295, 3.155, 4.243, 5.567",\
                 "0.3398, 0.4226, 0.6218, 0.8792, 1.211, 1.678, 2.321, 3.169, 4.248, 5.57",\
                 "0.372, 0.4596, 0.6656, 0.9322, 1.267, 1.727, 2.356, 3.195, 4.265, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.231, 0.4357, 0.8023, 1.382, 2.227, 3.356, 4.786, 6.528, 8.608",\
                 "0.1664, 0.2311, 0.4356, 0.8024, 1.385, 2.226, 3.354, 4.79, 6.531, 8.609",\
                 "0.1673, 0.2309, 0.436, 0.8026, 1.385, 2.23, 3.356, 4.782, 6.531, 8.611",\
                 "0.1664, 0.2314, 0.4354, 0.8036, 1.384, 2.226, 3.354, 4.784, 6.529, 8.605",\
                 "0.1736, 0.2374, 0.441, 0.8062, 1.384, 2.226, 3.361, 4.783, 6.526, 8.612",\
                 "0.184, 0.2486, 0.4526, 0.817, 1.39, 2.232, 3.361, 4.783, 6.527, 8.608",\
                 "0.1976, 0.2636, 0.4654, 0.8294, 1.398, 2.232, 3.36, 4.78, 6.528, 8.606",\
                 "0.2136, 0.282, 0.4858, 0.8464, 1.41, 2.238, 3.358, 4.789, 6.525, 8.606",\
                 "0.2346, 0.3044, 0.5062, 0.8692, 1.428, 2.247, 3.362, 4.783, 6.529, 8.604",\
                 "0.258, 0.3288, 0.5338, 0.8972, 1.458, 2.268, 3.372, 4.789, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6793, 0.7495, 0.9299, 1.178, 1.483, 1.854, 2.308, 2.861, 3.527, 4.318",\
                 "0.6967, 0.7669, 0.9473, 1.195, 1.5, 1.872, 2.325, 2.878, 3.544, 4.336",\
                 "0.7642, 0.8343, 1.014, 1.262, 1.568, 1.939, 2.393, 2.945, 3.612, 4.403",\
                 "0.8924, 0.9624, 1.143, 1.39, 1.696, 2.067, 2.521, 3.073, 3.74, 4.531",\
                 "1.071, 1.142, 1.323, 1.571, 1.877, 2.249, 2.703, 3.255, 3.921, 4.712",\
                 "1.281, 1.354, 1.54, 1.794, 2.103, 2.476, 2.93, 3.483, 4.148, 4.94",\
                 "1.526, 1.601, 1.792, 2.053, 2.367, 2.744, 3.2, 3.753, 4.418, 5.209",\
                 "1.801, 1.88, 2.078, 2.347, 2.669, 3.051, 3.51, 4.064, 4.73, 5.52",\
                 "2.105, 2.188, 2.395, 2.676, 3.008, 3.398, 3.861, 4.418, 5.084, 5.874",\
                 "2.44, 2.528, 2.745, 3.037, 3.383, 3.784, 4.255, 4.814, 5.482, 6.272");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6709, 0.7269, 0.8832, 1.135, 1.493, 1.982, 2.623, 3.431, 4.419, 5.597",\
                 "0.6839, 0.74, 0.8963, 1.148, 1.506, 1.995, 2.636, 3.444, 4.43, 5.611",\
                 "0.7307, 0.7865, 0.9429, 1.194, 1.552, 2.042, 2.682, 3.491, 4.477, 5.656",\
                 "0.806, 0.862, 1.018, 1.269, 1.627, 2.116, 2.757, 3.565, 4.554, 5.727",\
                 "0.8936, 0.9507, 1.108, 1.359, 1.717, 2.206, 2.846, 3.655, 4.643, 5.82",\
                 "0.971, 1.03, 1.19, 1.445, 1.804, 2.292, 2.933, 3.739, 4.727, 5.906",\
                 "1.035, 1.096, 1.26, 1.517, 1.878, 2.366, 3.006, 3.813, 4.8, 5.977",\
                 "1.08, 1.144, 1.313, 1.574, 1.937, 2.425, 3.064, 3.87, 4.855, 6.032",\
                 "1.099, 1.166, 1.341, 1.608, 1.976, 2.466, 3.104, 3.909, 4.893, 6.067",\
                 "1.089, 1.161, 1.344, 1.617, 1.99, 2.484, 3.124, 3.928, 4.912, 6.085");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2371, 0.31, 0.4885, 0.74, 1.093, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.2375, 0.3094, 0.4884, 0.7396, 1.093, 1.59, 2.263, 3.137, 4.235, 5.561",\
                 "0.2365, 0.3095, 0.4884, 0.7402, 1.094, 1.59, 2.263, 3.14, 4.232, 5.565",\
                 "0.2378, 0.311, 0.4898, 0.7412, 1.095, 1.59, 2.261, 3.138, 4.234, 5.565",\
                 "0.2464, 0.32, 0.4988, 0.7482, 1.098, 1.593, 2.263, 3.141, 4.238, 5.56",\
                 "0.2624, 0.3384, 0.52, 0.7674, 1.112, 1.601, 2.27, 3.142, 4.238, 5.563",\
                 "0.282, 0.3594, 0.5458, 0.7946, 1.137, 1.618, 2.279, 3.147, 4.241, 5.566",\
                 "0.3098, 0.3888, 0.5796, 0.8324, 1.169, 1.642, 2.295, 3.155, 4.246, 5.565",\
                 "0.3398, 0.4226, 0.6218, 0.8792, 1.211, 1.678, 2.319, 3.17, 4.248, 5.57",\
                 "0.3724, 0.4596, 0.6656, 0.9322, 1.266, 1.727, 2.356, 3.195, 4.265, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.2311, 0.4357, 0.8024, 1.382, 2.227, 3.355, 4.783, 6.529, 8.609",\
                 "0.1671, 0.2305, 0.4357, 0.8028, 1.383, 2.23, 3.361, 4.789, 6.526, 8.607",\
                 "0.1664, 0.2313, 0.4356, 0.8024, 1.385, 2.229, 3.361, 4.79, 6.53, 8.61",\
                 "0.1662, 0.2314, 0.436, 0.8036, 1.384, 2.225, 3.354, 4.786, 6.529, 8.607",\
                 "0.1742, 0.2378, 0.4408, 0.806, 1.386, 2.227, 3.361, 4.781, 6.529, 8.611",\
                 "0.184, 0.2486, 0.4526, 0.8164, 1.39, 2.232, 3.356, 4.783, 6.528, 8.607",\
                 "0.1972, 0.2624, 0.4664, 0.8292, 1.4, 2.232, 3.361, 4.788, 6.528, 8.61",\
                 "0.2138, 0.281, 0.484, 0.8458, 1.41, 2.237, 3.357, 4.788, 6.536, 8.603",\
                 "0.2346, 0.3044, 0.5068, 0.8694, 1.43, 2.247, 3.363, 4.783, 6.529, 8.601",\
                 "0.259, 0.3288, 0.5336, 0.8972, 1.455, 2.268, 3.373, 4.787, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6793, 0.7495, 0.9299, 1.178, 1.483, 1.854, 2.308, 2.861, 3.527, 4.318",\
                 "0.6967, 0.7668, 0.9473, 1.195, 1.5, 1.872, 2.325, 2.878, 3.544, 4.336",\
                 "0.7642, 0.8342, 1.015, 1.263, 1.568, 1.939, 2.393, 2.945, 3.612, 4.403",\
                 "0.8924, 0.9624, 1.142, 1.391, 1.695, 2.067, 2.521, 3.073, 3.739, 4.531",\
                 "1.071, 1.142, 1.323, 1.571, 1.877, 2.249, 2.703, 3.255, 3.921, 4.713",\
                 "1.282, 1.354, 1.54, 1.794, 2.103, 2.476, 2.93, 3.483, 4.149, 4.939",\
                 "1.525, 1.6, 1.792, 2.052, 2.367, 2.744, 3.2, 3.753, 4.418, 5.209",\
                 "1.801, 1.88, 2.078, 2.347, 2.668, 3.051, 3.511, 4.065, 4.73, 5.521",\
                 "2.105, 2.188, 2.395, 2.676, 3.008, 3.398, 3.861, 4.418, 5.084, 5.874",\
                 "2.441, 2.528, 2.745, 3.038, 3.383, 3.784, 4.255, 4.814, 5.482, 6.273");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6709, 0.7269, 0.8833, 1.135, 1.493, 1.982, 2.623, 3.43, 4.419, 5.597",\
                 "0.6839, 0.74, 0.8963, 1.148, 1.506, 1.995, 2.636, 3.445, 4.432, 5.61",\
                 "0.7305, 0.7865, 0.9428, 1.194, 1.552, 2.041, 2.682, 3.491, 4.478, 5.657",\
                 "0.806, 0.8621, 1.018, 1.269, 1.627, 2.116, 2.757, 3.566, 4.554, 5.728",\
                 "0.8935, 0.9504, 1.108, 1.359, 1.717, 2.206, 2.846, 3.654, 4.641, 5.817",\
                 "0.971, 1.03, 1.19, 1.445, 1.804, 2.292, 2.933, 3.74, 4.726, 5.905",\
                 "1.035, 1.096, 1.26, 1.517, 1.878, 2.366, 3.006, 3.813, 4.8, 5.976",\
                 "1.079, 1.143, 1.313, 1.574, 1.937, 2.425, 3.064, 3.87, 4.855, 6.031",\
                 "1.099, 1.166, 1.342, 1.608, 1.975, 2.465, 3.104, 3.909, 4.893, 6.066",\
                 "1.09, 1.161, 1.343, 1.617, 1.99, 2.484, 3.124, 3.928, 4.912, 6.086");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2371, 0.3101, 0.4885, 0.74, 1.093, 1.59, 2.263, 3.14, 4.236, 5.564",\
                 "0.237, 0.3104, 0.4884, 0.7402, 1.093, 1.59, 2.263, 3.137, 4.233, 5.565",\
                 "0.2375, 0.3096, 0.4882, 0.7402, 1.094, 1.59, 2.262, 3.136, 4.238, 5.565",\
                 "0.2376, 0.3106, 0.4896, 0.7414, 1.095, 1.588, 2.261, 3.14, 4.238, 5.561",\
                 "0.2466, 0.32, 0.4988, 0.7482, 1.098, 1.593, 2.263, 3.141, 4.238, 5.563",\
                 "0.263, 0.3378, 0.5202, 0.7676, 1.113, 1.6, 2.267, 3.141, 4.239, 5.561",\
                 "0.2828, 0.3596, 0.547, 0.7954, 1.137, 1.618, 2.279, 3.145, 4.242, 5.566",\
                 "0.3098, 0.3886, 0.58, 0.8306, 1.168, 1.643, 2.295, 3.157, 4.244, 5.561",\
                 "0.3398, 0.4226, 0.6218, 0.8792, 1.212, 1.678, 2.32, 3.169, 4.25, 5.571",\
                 "0.372, 0.4596, 0.6656, 0.9322, 1.267, 1.728, 2.358, 3.195, 4.265, 5.57");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.2311, 0.4357, 0.8024, 1.382, 2.227, 3.355, 4.783, 6.529, 8.609",\
                 "0.1674, 0.2306, 0.4358, 0.8042, 1.383, 2.23, 3.356, 4.786, 6.529, 8.609",\
                 "0.167, 0.2313, 0.436, 0.8026, 1.385, 2.23, 3.354, 4.781, 6.528, 8.611",\
                 "0.166, 0.2312, 0.4362, 0.804, 1.384, 2.227, 3.354, 4.784, 6.529, 8.606",\
                 "0.1734, 0.2376, 0.441, 0.8056, 1.386, 2.226, 3.356, 4.782, 6.529, 8.607",\
                 "0.1834, 0.2482, 0.453, 0.8168, 1.39, 2.229, 3.356, 4.782, 6.525, 8.619",\
                 "0.1976, 0.2624, 0.4654, 0.8292, 1.4, 2.232, 3.361, 4.785, 6.528, 8.61",\
                 "0.2134, 0.2806, 0.4846, 0.8466, 1.411, 2.237, 3.357, 4.788, 6.537, 8.606",\
                 "0.2346, 0.3044, 0.5066, 0.8706, 1.429, 2.248, 3.362, 4.783, 6.529, 8.602",\
                 "0.2594, 0.3288, 0.5336, 0.8972, 1.456, 2.268, 3.373, 4.789, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6557, 0.7258, 0.9061, 1.154, 1.459, 1.831, 2.284, 2.837, 3.503, 4.294",\
                 "0.6696, 0.7397, 0.92, 1.168, 1.473, 1.844, 2.298, 2.851, 3.517, 4.308",\
                 "0.7235, 0.7937, 0.974, 1.222, 1.527, 1.898, 2.352, 2.905, 3.571, 4.362",\
                 "0.8216, 0.8916, 1.072, 1.319, 1.624, 1.996, 2.45, 3.002, 3.668, 4.46",\
                 "0.9307, 1.001, 1.18, 1.426, 1.731, 2.103, 2.556, 3.109, 3.775, 4.566",\
                 "0.9927, 1.062, 1.241, 1.487, 1.791, 2.162, 2.615, 3.167, 3.834, 4.625",\
                 "1.011, 1.081, 1.26, 1.506, 1.81, 2.181, 2.634, 3.185, 3.851, 4.643",\
                 "0.9906, 1.06, 1.239, 1.486, 1.79, 2.162, 2.615, 3.166, 3.831, 4.622",\
                 "0.9306, 1.001, 1.18, 1.427, 1.732, 2.103, 2.557, 3.109, 3.774, 4.564",\
                 "0.8317, 0.902, 1.082, 1.33, 1.635, 2.007, 2.462, 3.016, 3.683, 4.474");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8501, 0.9066, 1.063, 1.314, 1.672, 2.161, 2.802, 3.609, 4.595, 5.776",\
                 "0.8666, 0.9231, 1.079, 1.331, 1.688, 2.177, 2.818, 3.625, 4.611, 5.792",\
                 "0.9346, 0.9911, 1.147, 1.398, 1.756, 2.245, 2.886, 3.694, 4.683, 5.86",\
                 "1.077, 1.133, 1.29, 1.541, 1.898, 2.387, 3.028, 3.836, 4.822, 6.003",\
                 "1.284, 1.34, 1.497, 1.748, 2.105, 2.594, 3.235, 4.043, 5.03, 6.209",\
                 "1.523, 1.58, 1.736, 1.987, 2.345, 2.833, 3.474, 4.283, 5.27, 6.447",\
                 "1.799, 1.856, 2.012, 2.263, 2.62, 3.108, 3.749, 4.557, 5.544, 6.724",\
                 "2.113, 2.169, 2.326, 2.578, 2.934, 3.422, 4.062, 4.87, 5.856, 7.033",\
                 "2.464, 2.522, 2.679, 2.931, 3.288, 3.776, 4.416, 5.223, 6.207, 7.383",\
                 "2.856, 2.914, 3.072, 3.325, 3.683, 4.172, 4.813, 5.619, 6.605, 7.78");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2373, 0.3096, 0.489, 0.7404, 1.092, 1.588, 2.262, 3.138, 4.235, 5.565",\
                 "0.2375, 0.3098, 0.4888, 0.7404, 1.093, 1.59, 2.263, 3.14, 4.235, 5.562",\
                 "0.2372, 0.3094, 0.4882, 0.7402, 1.093, 1.59, 2.263, 3.14, 4.236, 5.564",\
                 "0.2352, 0.308, 0.4878, 0.7396, 1.093, 1.588, 2.262, 3.137, 4.233, 5.563",\
                 "0.2408, 0.3116, 0.489, 0.74, 1.095, 1.591, 2.26, 3.138, 4.235, 5.565",\
                 "0.2416, 0.3134, 0.4914, 0.739, 1.092, 1.587, 2.26, 3.139, 4.238, 5.562",\
                 "0.2428, 0.3146, 0.4922, 0.7412, 1.094, 1.586, 2.258, 3.137, 4.236, 5.563",\
                 "0.244, 0.3176, 0.4946, 0.7442, 1.096, 1.59, 2.258, 3.132, 4.228, 5.558",\
                 "0.2464, 0.319, 0.4976, 0.7466, 1.098, 1.59, 2.26, 3.135, 4.231, 5.551",\
                 "0.2486, 0.3212, 0.4998, 0.7486, 1.1, 1.597, 2.268, 3.143, 4.235, 5.553");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1709, 0.2346, 0.4385, 0.8046, 1.385, 2.227, 3.357, 4.783, 6.524, 8.612",\
                 "0.1708, 0.2341, 0.4382, 0.8046, 1.385, 2.227, 3.357, 4.784, 6.524, 8.612",\
                 "0.1696, 0.2342, 0.4386, 0.8048, 1.386, 2.226, 3.355, 4.784, 6.53, 8.611",\
                 "0.1706, 0.234, 0.4386, 0.805, 1.386, 2.23, 3.354, 4.782, 6.524, 8.612",\
                 "0.1712, 0.2348, 0.4392, 0.8068, 1.384, 2.227, 3.354, 4.781, 6.532, 8.607",\
                 "0.1706, 0.235, 0.4386, 0.8042, 1.385, 2.226, 3.352, 4.783, 6.529, 8.622",\
                 "0.1726, 0.2354, 0.4398, 0.8052, 1.382, 2.227, 3.355, 4.781, 6.528, 8.613",\
                 "0.1738, 0.2386, 0.4414, 0.8068, 1.384, 2.225, 3.353, 4.787, 6.528, 8.615",\
                 "0.1774, 0.2412, 0.4444, 0.8094, 1.387, 2.226, 3.351, 4.78, 6.526, 8.599",\
                 "0.1814, 0.2438, 0.4476, 0.813, 1.392, 2.232, 3.354, 4.779, 6.522, 8.608");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6506, 0.7207, 0.9011, 1.148, 1.454, 1.825, 2.279, 2.832, 3.498, 4.289",\
                 "0.6646, 0.7346, 0.9149, 1.163, 1.468, 1.839, 2.293, 2.846, 3.512, 4.303",\
                 "0.7183, 0.7884, 0.9688, 1.217, 1.521, 1.893, 2.347, 2.899, 3.565, 4.357",\
                 "0.8136, 0.8836, 1.064, 1.311, 1.616, 1.988, 2.442, 2.994, 3.66, 4.452",\
                 "0.9179, 0.9879, 1.167, 1.414, 1.718, 2.09, 2.543, 3.096, 3.762, 4.553",\
                 "0.9746, 1.043, 1.222, 1.468, 1.772, 2.143, 2.596, 3.149, 3.815, 4.606",\
                 "0.9864, 1.056, 1.235, 1.481, 1.785, 2.156, 2.609, 3.16, 3.826, 4.617",\
                 "0.9594, 1.029, 1.208, 1.455, 1.759, 2.13, 2.583, 3.135, 3.8, 4.591",\
                 "0.8934, 0.9635, 1.143, 1.39, 1.695, 2.067, 2.52, 3.072, 3.737, 4.527",\
                 "0.788, 0.8589, 1.039, 1.286, 1.592, 1.964, 2.419, 2.974, 3.64, 4.432");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.833, 0.8895, 1.046, 1.297, 1.655, 2.143, 2.785, 3.593, 4.579, 5.759",\
                 "0.8495, 0.9059, 1.062, 1.313, 1.671, 2.16, 2.801, 3.608, 4.598, 5.774",\
                 "0.9177, 0.9741, 1.13, 1.382, 1.739, 2.228, 2.869, 3.677, 4.666, 5.843",\
                 "1.059, 1.116, 1.272, 1.523, 1.881, 2.37, 3.011, 3.82, 4.806, 5.985",\
                 "1.262, 1.318, 1.475, 1.726, 2.083, 2.572, 3.213, 4.021, 5.008, 6.188",\
                 "1.497, 1.553, 1.71, 1.96, 2.318, 2.806, 3.447, 4.255, 5.242, 6.422",\
                 "1.767, 1.824, 1.98, 2.231, 2.588, 3.076, 3.717, 4.525, 5.513, 6.691",\
                 "2.075, 2.132, 2.29, 2.541, 2.898, 3.386, 4.026, 4.833, 5.82, 6.997",\
                 "2.423, 2.48, 2.638, 2.889, 3.247, 3.735, 4.375, 5.181, 6.166, 7.343",\
                 "2.81, 2.868, 3.026, 3.278, 3.636, 4.127, 4.767, 5.575, 6.56, 7.734");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2373, 0.3097, 0.4886, 0.7401, 1.094, 1.59, 2.261, 3.136, 4.233, 5.563",\
                 "0.2363, 0.3098, 0.4887, 0.7396, 1.093, 1.59, 2.263, 3.136, 4.233, 5.559",\
                 "0.2363, 0.3091, 0.4884, 0.7398, 1.093, 1.588, 2.26, 3.138, 4.235, 5.565",\
                 "0.2348, 0.3078, 0.4874, 0.7394, 1.092, 1.588, 2.261, 3.137, 4.235, 5.565",\
                 "0.241, 0.3118, 0.4888, 0.7394, 1.094, 1.589, 2.262, 3.136, 4.238, 5.558",\
                 "0.2414, 0.3132, 0.49, 0.7404, 1.091, 1.587, 2.262, 3.14, 4.235, 5.563",\
                 "0.242, 0.3142, 0.4936, 0.7418, 1.093, 1.586, 2.257, 3.136, 4.233, 5.565",\
                 "0.244, 0.3166, 0.4946, 0.744, 1.096, 1.59, 2.258, 3.131, 4.227, 5.557",\
                 "0.2462, 0.3182, 0.4964, 0.7466, 1.097, 1.593, 2.26, 3.133, 4.23, 5.55",\
                 "0.2484, 0.3212, 0.4992, 0.75, 1.101, 1.596, 2.27, 3.144, 4.236, 5.554");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1703, 0.2339, 0.4384, 0.8046, 1.384, 2.231, 3.355, 4.783, 6.527, 8.61",\
                 "0.1696, 0.2339, 0.4378, 0.8062, 1.384, 2.23, 3.359, 4.787, 6.529, 8.611",\
                 "0.1702, 0.234, 0.4384, 0.8046, 1.383, 2.23, 3.36, 4.78, 6.529, 8.608",\
                 "0.1696, 0.234, 0.438, 0.8064, 1.383, 2.227, 3.354, 4.784, 6.531, 8.608",\
                 "0.1702, 0.2344, 0.4382, 0.805, 1.383, 2.227, 3.354, 4.783, 6.535, 8.607",\
                 "0.1704, 0.2352, 0.438, 0.8036, 1.384, 2.226, 3.355, 4.782, 6.528, 8.612",\
                 "0.1722, 0.2358, 0.4398, 0.805, 1.382, 2.227, 3.353, 4.79, 6.529, 8.606",\
                 "0.1742, 0.2384, 0.4416, 0.8066, 1.383, 2.225, 3.353, 4.787, 6.527, 8.608",\
                 "0.1778, 0.2414, 0.4454, 0.8092, 1.386, 2.225, 3.353, 4.778, 6.526, 8.604",\
                 "0.18, 0.2434, 0.4468, 0.8142, 1.392, 2.232, 3.355, 4.778, 6.522, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6916, 0.765, 0.9549, 1.218, 1.539, 1.924, 2.387, 2.946, 3.615, 4.408",\
                 "0.7048, 0.7781, 0.968, 1.231, 1.552, 1.937, 2.4, 2.959, 3.628, 4.421",\
                 "0.7526, 0.826, 1.016, 1.278, 1.599, 1.985, 2.448, 3.007, 3.676, 4.469",\
                 "0.8502, 0.9235, 1.114, 1.376, 1.697, 2.082, 2.546, 3.104, 3.774, 4.566",\
                 "0.9739, 1.047, 1.236, 1.497, 1.818, 2.203, 2.667, 3.226, 3.895, 4.687",\
                 "1.055, 1.128, 1.316, 1.577, 1.896, 2.28, 2.744, 3.302, 3.971, 4.763",\
                 "1.083, 1.156, 1.345, 1.605, 1.925, 2.309, 2.771, 3.329, 3.998, 4.79",\
                 "1.069, 1.143, 1.331, 1.592, 1.912, 2.296, 2.759, 3.317, 3.984, 4.776",\
                 "1.016, 1.089, 1.278, 1.54, 1.86, 2.244, 2.708, 3.265, 3.934, 4.725",\
                 "0.9237, 0.9974, 1.186, 1.447, 1.768, 2.155, 2.618, 3.177, 3.845, 4.637");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8387, 0.8946, 1.05, 1.3, 1.656, 2.145, 2.786, 3.595, 4.584, 5.759",\
                 "0.8551, 0.911, 1.066, 1.316, 1.673, 2.161, 2.803, 3.611, 4.6, 5.774",\
                 "0.9226, 0.9786, 1.134, 1.384, 1.74, 2.229, 2.87, 3.678, 4.665, 5.843",\
                 "1.064, 1.12, 1.275, 1.525, 1.881, 2.37, 3.011, 3.819, 4.808, 5.984",\
                 "1.265, 1.321, 1.476, 1.726, 2.083, 2.571, 3.213, 4.02, 5.008, 6.183",\
                 "1.499, 1.556, 1.711, 1.96, 2.317, 2.806, 3.447, 4.254, 5.241, 6.421",\
                 "1.77, 1.826, 1.982, 2.232, 2.587, 3.075, 3.716, 4.524, 5.512, 6.687",\
                 "2.079, 2.135, 2.291, 2.541, 2.897, 3.385, 4.025, 4.832, 5.818, 6.997",\
                 "2.426, 2.483, 2.639, 2.889, 3.246, 3.733, 4.374, 5.18, 6.165, 7.342",\
                 "2.812, 2.869, 3.027, 3.278, 3.635, 4.125, 4.766, 5.573, 6.56, 7.734");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2562, 0.3331, 0.525, 0.7888, 1.15, 1.641, 2.305, 3.172, 4.256, 5.572",\
                 "0.2556, 0.3327, 0.5251, 0.789, 1.15, 1.643, 2.305, 3.172, 4.256, 5.57",\
                 "0.2555, 0.3327, 0.5248, 0.7896, 1.15, 1.643, 2.306, 3.171, 4.256, 5.573",\
                 "0.253, 0.331, 0.5238, 0.787, 1.149, 1.642, 2.305, 3.172, 4.256, 5.573",\
                 "0.2598, 0.3358, 0.5274, 0.7908, 1.15, 1.645, 2.306, 3.171, 4.259, 5.577",\
                 "0.267, 0.3412, 0.5304, 0.791, 1.149, 1.644, 2.306, 3.172, 4.259, 5.578",\
                 "0.2676, 0.3436, 0.5316, 0.7946, 1.152, 1.641, 2.303, 3.171, 4.253, 5.575",\
                 "0.2688, 0.3442, 0.5346, 0.7966, 1.152, 1.643, 2.304, 3.165, 4.253, 5.568",\
                 "0.2696, 0.3462, 0.5362, 0.7976, 1.156, 1.647, 2.308, 3.167, 4.248, 5.563",\
                 "0.2722, 0.3488, 0.5386, 0.8012, 1.158, 1.648, 2.312, 3.172, 4.251, 5.567");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1682, 0.2315, 0.4344, 0.8006, 1.381, 2.226, 3.356, 4.783, 6.53, 8.612",\
                 "0.1682, 0.2314, 0.4346, 0.8004, 1.381, 2.23, 3.356, 4.783, 6.53, 8.606",\
                 "0.1676, 0.2318, 0.4352, 0.8006, 1.383, 2.229, 3.355, 4.783, 6.533, 8.609",\
                 "0.1684, 0.2314, 0.4346, 0.8004, 1.381, 2.226, 3.356, 4.783, 6.53, 8.611",\
                 "0.1674, 0.2314, 0.4352, 0.8014, 1.384, 2.229, 3.355, 4.784, 6.537, 8.605",\
                 "0.1686, 0.2314, 0.4354, 0.8, 1.383, 2.229, 3.356, 4.789, 6.527, 8.611",\
                 "0.1708, 0.2342, 0.438, 0.8026, 1.381, 2.224, 3.353, 4.786, 6.53, 8.618",\
                 "0.1732, 0.2364, 0.4384, 0.8038, 1.383, 2.224, 3.352, 4.787, 6.523, 8.608",\
                 "0.1752, 0.2388, 0.4424, 0.8064, 1.384, 2.228, 3.352, 4.779, 6.531, 8.61",\
                 "0.1786, 0.2422, 0.4444, 0.8098, 1.39, 2.234, 3.361, 4.778, 6.522, 8.616");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6863, 0.7595, 0.9494, 1.212, 1.533, 1.918, 2.382, 2.941, 3.61, 4.402",\
                 "0.6993, 0.7724, 0.9624, 1.225, 1.546, 1.931, 2.395, 2.954, 3.622, 4.415",\
                 "0.747, 0.8203, 1.01, 1.273, 1.594, 1.979, 2.443, 3.002, 3.67, 4.463",\
                 "0.8416, 0.9148, 1.104, 1.367, 1.688, 2.073, 2.537, 3.096, 3.765, 4.557",\
                 "0.9605, 1.034, 1.222, 1.484, 1.805, 2.19, 2.653, 3.212, 3.881, 4.673",\
                 "1.034, 1.107, 1.295, 1.556, 1.875, 2.259, 2.723, 3.281, 3.95, 4.742",\
                 "1.054, 1.128, 1.316, 1.576, 1.896, 2.28, 2.742, 3.3, 3.969, 4.761",\
                 "1.033, 1.106, 1.294, 1.555, 1.875, 2.26, 2.723, 3.28, 3.948, 4.739",\
                 "0.973, 1.046, 1.235, 1.496, 1.817, 2.202, 2.665, 3.223, 3.891, 4.682",\
                 "0.8723, 0.9458, 1.135, 1.397, 1.718, 2.103, 2.567, 3.126, 3.795, 4.586");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8164, 0.8721, 1.027, 1.277, 1.634, 2.123, 2.764, 3.572, 4.559, 5.736",\
                 "0.8328, 0.8886, 1.044, 1.294, 1.65, 2.139, 2.78, 3.589, 4.577, 5.751",\
                 "0.9007, 0.9565, 1.112, 1.362, 1.718, 2.207, 2.848, 3.656, 4.642, 5.823",\
                 "1.04, 1.096, 1.251, 1.501, 1.858, 2.347, 2.988, 3.795, 4.782, 5.961",\
                 "1.236, 1.292, 1.447, 1.697, 2.054, 2.542, 3.183, 3.991, 4.98, 6.157",\
                 "1.463, 1.519, 1.675, 1.924, 2.281, 2.769, 3.41, 4.219, 5.207, 6.382",\
                 "1.728, 1.784, 1.94, 2.188, 2.545, 3.033, 3.673, 4.482, 5.471, 6.645",\
                 "2.029, 2.086, 2.242, 2.491, 2.848, 3.335, 3.975, 4.783, 5.769, 6.947",\
                 "2.368, 2.426, 2.582, 2.832, 3.189, 3.677, 4.317, 5.123, 6.108, 7.285",\
                 "2.748, 2.806, 2.962, 3.213, 3.571, 4.061, 4.703, 5.511, 6.496, 7.671");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2548, 0.3326, 0.5251, 0.7894, 1.15, 1.643, 2.308, 3.173, 4.254, 5.578",\
                 "0.2547, 0.3328, 0.5252, 0.7892, 1.15, 1.643, 2.306, 3.172, 4.257, 5.578",\
                 "0.2545, 0.3322, 0.5246, 0.7892, 1.15, 1.642, 2.306, 3.17, 4.256, 5.578",\
                 "0.253, 0.3302, 0.523, 0.7886, 1.147, 1.643, 2.305, 3.17, 4.259, 5.577",\
                 "0.26, 0.3362, 0.5268, 0.7902, 1.15, 1.644, 2.307, 3.172, 4.259, 5.575",\
                 "0.2662, 0.3416, 0.53, 0.7902, 1.149, 1.643, 2.307, 3.172, 4.259, 5.578",\
                 "0.266, 0.3418, 0.5312, 0.7922, 1.151, 1.64, 2.303, 3.17, 4.253, 5.574",\
                 "0.2682, 0.3442, 0.5334, 0.7962, 1.152, 1.643, 2.305, 3.165, 4.25, 5.574",\
                 "0.2696, 0.3458, 0.536, 0.7976, 1.156, 1.645, 2.306, 3.17, 4.248, 5.562",\
                 "0.2714, 0.3488, 0.538, 0.8, 1.157, 1.648, 2.31, 3.172, 4.255, 5.564");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1677, 0.2312, 0.4346, 0.8004, 1.381, 2.229, 3.355, 4.783, 6.534, 8.607",\
                 "0.1665, 0.2312, 0.4349, 0.8006, 1.382, 2.228, 3.355, 4.784, 6.526, 8.619",\
                 "0.1664, 0.2306, 0.4342, 0.8004, 1.383, 2.227, 3.354, 4.784, 6.526, 8.606",\
                 "0.1664, 0.2306, 0.4342, 0.8002, 1.383, 2.226, 3.353, 4.788, 6.529, 8.61",\
                 "0.1674, 0.2318, 0.435, 0.8016, 1.381, 2.225, 3.355, 4.791, 6.53, 8.611",\
                 "0.1682, 0.232, 0.4348, 0.8008, 1.381, 2.228, 3.359, 4.784, 6.526, 8.622",\
                 "0.1706, 0.2336, 0.4364, 0.8014, 1.384, 2.226, 3.359, 4.786, 6.527, 8.622",\
                 "0.1732, 0.2352, 0.4382, 0.8042, 1.381, 2.224, 3.354, 4.786, 6.534, 8.609",\
                 "0.176, 0.2378, 0.4414, 0.8054, 1.385, 2.227, 3.351, 4.778, 6.522, 8.606",\
                 "0.1794, 0.2418, 0.4434, 0.809, 1.394, 2.235, 3.362, 4.779, 6.522, 8.612");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6932, 0.7666, 0.9566, 1.22, 1.541, 1.926, 2.39, 2.948, 3.617, 4.41",\
                 "0.7062, 0.7796, 0.9697, 1.233, 1.554, 1.939, 2.403, 2.961, 3.63, 4.423",\
                 "0.7542, 0.8276, 1.018, 1.281, 1.602, 1.987, 2.451, 3.009, 3.679, 4.471",\
                 "0.8528, 0.9261, 1.116, 1.379, 1.7, 2.085, 2.549, 3.108, 3.777, 4.569",\
                 "0.9782, 1.052, 1.241, 1.502, 1.823, 2.208, 2.672, 3.231, 3.9, 4.692",\
                 "1.062, 1.136, 1.324, 1.585, 1.904, 2.288, 2.752, 3.31, 3.979, 4.771",\
                 "1.093, 1.165, 1.355, 1.616, 1.935, 2.319, 2.782, 3.34, 4.008, 4.801",\
                 "1.082, 1.155, 1.344, 1.605, 1.925, 2.309, 2.772, 3.33, 3.998, 4.789",\
                 "1.031, 1.104, 1.293, 1.555, 1.876, 2.26, 2.723, 3.281, 3.949, 4.741",\
                 "0.94, 1.014, 1.203, 1.466, 1.787, 2.172, 2.636, 3.194, 3.863, 4.654");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8508, 0.9069, 1.062, 1.312, 1.669, 2.158, 2.798, 3.606, 4.593, 5.77",\
                 "0.8672, 0.9232, 1.079, 1.328, 1.685, 2.174, 2.815, 3.623, 4.61, 5.785",\
                 "0.9344, 0.9904, 1.146, 1.396, 1.752, 2.241, 2.882, 3.689, 4.676, 5.855",\
                 "1.075, 1.131, 1.287, 1.536, 1.893, 2.382, 3.023, 3.83, 4.819, 5.996",\
                 "1.278, 1.334, 1.489, 1.739, 2.096, 2.584, 3.225, 4.033, 5.022, 6.198",\
                 "1.514, 1.57, 1.726, 1.975, 2.332, 2.82, 3.461, 4.27, 5.258, 6.435",\
                 "1.787, 1.843, 1.999, 2.248, 2.604, 3.092, 3.733, 4.542, 5.528, 6.704",\
                 "2.098, 2.155, 2.311, 2.561, 2.917, 3.405, 4.045, 4.852, 5.839, 7.017",\
                 "2.448, 2.506, 2.662, 2.913, 3.269, 3.757, 4.396, 5.203, 6.188, 7.364",\
                 "2.838, 2.896, 3.053, 3.304, 3.662, 4.152, 4.793, 5.6, 6.585, 7.76");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2562, 0.3331, 0.5263, 0.7906, 1.148, 1.644, 2.306, 3.172, 4.259, 5.578",\
                 "0.2559, 0.3331, 0.5263, 0.79, 1.149, 1.644, 2.306, 3.172, 4.259, 5.578",\
                 "0.2552, 0.3331, 0.5256, 0.7904, 1.151, 1.643, 2.307, 3.172, 4.254, 5.576",\
                 "0.2534, 0.3312, 0.5252, 0.7896, 1.149, 1.643, 2.305, 3.172, 4.259, 5.576",\
                 "0.2598, 0.3362, 0.5276, 0.7916, 1.15, 1.645, 2.307, 3.172, 4.259, 5.578",\
                 "0.2664, 0.3422, 0.5308, 0.7916, 1.151, 1.645, 2.306, 3.171, 4.259, 5.577",\
                 "0.2678, 0.3434, 0.5322, 0.7946, 1.152, 1.641, 2.304, 3.168, 4.258, 5.576",\
                 "0.27, 0.3456, 0.5346, 0.7964, 1.153, 1.644, 2.303, 3.166, 4.249, 5.57",\
                 "0.271, 0.3474, 0.5374, 0.8004, 1.157, 1.648, 2.306, 3.169, 4.248, 5.564",\
                 "0.273, 0.3498, 0.5398, 0.802, 1.159, 1.648, 2.312, 3.171, 4.253, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1688, 0.2318, 0.4353, 0.8014, 1.384, 2.229, 3.36, 4.784, 6.531, 8.606",\
                 "0.1687, 0.2319, 0.4352, 0.8014, 1.384, 2.228, 3.355, 4.783, 6.536, 8.604",\
                 "0.1688, 0.2326, 0.4354, 0.8012, 1.382, 2.228, 3.355, 4.785, 6.527, 8.609",\
                 "0.1688, 0.2318, 0.4356, 0.8012, 1.382, 2.228, 3.355, 4.788, 6.53, 8.609",\
                 "0.1684, 0.2328, 0.435, 0.8012, 1.382, 2.227, 3.354, 4.789, 6.53, 8.612",\
                 "0.1694, 0.2334, 0.4358, 0.8008, 1.382, 2.229, 3.353, 4.781, 6.53, 8.609",\
                 "0.1712, 0.2348, 0.4374, 0.8016, 1.381, 2.225, 3.355, 4.783, 6.533, 8.608",\
                 "0.1728, 0.2366, 0.4392, 0.804, 1.382, 2.224, 3.352, 4.788, 6.526, 8.61",\
                 "0.1766, 0.2408, 0.4428, 0.8064, 1.384, 2.23, 3.352, 4.779, 6.521, 8.607",\
                 "0.1802, 0.2444, 0.4468, 0.81, 1.391, 2.234, 3.356, 4.778, 6.522, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6581, 0.7282, 0.9085, 1.157, 1.462, 1.833, 2.287, 2.84, 3.506, 4.297",\
                 "0.6721, 0.7421, 0.9225, 1.171, 1.476, 1.847, 2.301, 2.854, 3.52, 4.311",\
                 "0.726, 0.7962, 0.9767, 1.225, 1.53, 1.901, 2.355, 2.908, 3.574, 4.365",\
                 "0.8252, 0.8952, 1.075, 1.323, 1.628, 2, 2.454, 3.006, 3.672, 4.464",\
                 "0.9361, 1.006, 1.185, 1.432, 1.737, 2.108, 2.562, 3.115, 3.781, 4.572",\
                 "1.001, 1.071, 1.25, 1.496, 1.8, 2.171, 2.624, 3.176, 3.842, 4.634",\
                 "1.022, 1.092, 1.27, 1.517, 1.821, 2.192, 2.645, 3.196, 3.862, 4.653",\
                 "1.003, 1.073, 1.252, 1.499, 1.804, 2.175, 2.628, 3.179, 3.844, 4.635",\
                 "0.945, 1.016, 1.195, 1.442, 1.748, 2.119, 2.573, 3.124, 3.79, 4.58",\
                 "0.8483, 0.9187, 1.099, 1.347, 1.653, 2.025, 2.48, 3.034, 3.7, 4.491");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8611, 0.9176, 1.074, 1.325, 1.683, 2.172, 2.813, 3.62, 4.607, 5.785",\
                 "0.8775, 0.934, 1.091, 1.342, 1.699, 2.188, 2.829, 3.637, 4.626, 5.802",\
                 "0.945, 1.002, 1.158, 1.409, 1.767, 2.255, 2.897, 3.705, 4.69, 5.871",\
                 "1.087, 1.144, 1.3, 1.551, 1.909, 2.398, 3.039, 3.846, 4.832, 6.011",\
                 "1.295, 1.352, 1.508, 1.76, 2.117, 2.606, 3.246, 4.055, 5.042, 6.22",\
                 "1.538, 1.594, 1.751, 2.002, 2.359, 2.848, 3.488, 4.296, 5.284, 6.46",\
                 "1.815, 1.872, 2.029, 2.28, 2.637, 3.125, 3.766, 4.574, 5.562, 6.737",\
                 "2.132, 2.189, 2.346, 2.598, 2.954, 3.442, 4.083, 4.889, 5.876, 7.055",\
                 "2.487, 2.545, 2.703, 2.954, 3.311, 3.8, 4.439, 5.245, 6.23, 7.407",\
                 "2.884, 2.942, 3.1, 3.352, 3.71, 4.2, 4.84, 5.647, 6.632, 7.807");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2376, 0.3105, 0.4887, 0.7408, 1.093, 1.59, 2.263, 3.14, 4.235, 5.561",\
                 "0.2376, 0.3105, 0.4888, 0.7408, 1.093, 1.59, 2.263, 3.14, 4.235, 5.561",\
                 "0.2372, 0.3099, 0.489, 0.7404, 1.094, 1.588, 2.262, 3.138, 4.238, 5.565",\
                 "0.2356, 0.3082, 0.4884, 0.7402, 1.093, 1.59, 2.262, 3.138, 4.238, 5.565",\
                 "0.2412, 0.3122, 0.4894, 0.7408, 1.095, 1.59, 2.263, 3.137, 4.238, 5.561",\
                 "0.2422, 0.314, 0.4926, 0.7408, 1.092, 1.588, 2.26, 3.139, 4.236, 5.564",\
                 "0.2444, 0.3154, 0.4934, 0.7422, 1.094, 1.587, 2.258, 3.135, 4.236, 5.564",\
                 "0.2462, 0.3172, 0.496, 0.7446, 1.096, 1.588, 2.261, 3.132, 4.23, 5.558",\
                 "0.2468, 0.3198, 0.4976, 0.7474, 1.098, 1.593, 2.26, 3.135, 4.229, 5.551",\
                 "0.2494, 0.322, 0.5008, 0.7508, 1.103, 1.596, 2.27, 3.143, 4.234, 5.554");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1711, 0.2349, 0.4391, 0.8052, 1.385, 2.226, 3.356, 4.783, 6.529, 8.611",\
                 "0.1706, 0.235, 0.4392, 0.8052, 1.386, 2.231, 3.355, 4.784, 6.529, 8.61",\
                 "0.1714, 0.235, 0.4386, 0.8052, 1.384, 2.227, 3.355, 4.783, 6.526, 8.609",\
                 "0.1718, 0.2352, 0.4392, 0.8048, 1.385, 2.229, 3.36, 4.788, 6.524, 8.621",\
                 "0.1706, 0.2346, 0.4388, 0.805, 1.384, 2.226, 3.361, 4.783, 6.536, 8.61",\
                 "0.1708, 0.2354, 0.4392, 0.8064, 1.384, 2.227, 3.36, 4.783, 6.529, 8.606",\
                 "0.173, 0.2374, 0.4406, 0.8054, 1.383, 2.228, 3.354, 4.781, 6.53, 8.622",\
                 "0.1764, 0.2386, 0.4424, 0.8072, 1.384, 2.226, 3.354, 4.788, 6.526, 8.611",\
                 "0.1782, 0.2428, 0.445, 0.8112, 1.387, 2.227, 3.352, 4.78, 6.52, 8.6",\
                 "0.1818, 0.245, 0.4478, 0.8124, 1.392, 2.231, 3.358, 4.777, 6.522, 8.61");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6911, 0.7645, 0.9544, 1.217, 1.538, 1.923, 2.387, 2.946, 3.615, 4.407",\
                 "0.704, 0.7774, 0.9674, 1.23, 1.551, 1.936, 2.4, 2.958, 3.628, 4.42",\
                 "0.7519, 0.8253, 1.015, 1.278, 1.599, 1.984, 2.448, 3.006, 3.675, 4.468",\
                 "0.849, 0.9223, 1.112, 1.375, 1.696, 2.081, 2.545, 3.103, 3.772, 4.565",\
                 "0.9718, 1.045, 1.234, 1.495, 1.816, 2.201, 2.665, 3.224, 3.893, 4.685",\
                 "1.051, 1.124, 1.313, 1.573, 1.892, 2.276, 2.74, 3.298, 3.967, 4.759",\
                 "1.078, 1.151, 1.338, 1.598, 1.918, 2.302, 2.765, 3.323, 3.991, 4.784",\
                 "1.062, 1.135, 1.323, 1.584, 1.904, 2.288, 2.751, 3.309, 3.977, 4.768",\
                 "1.006, 1.079, 1.268, 1.529, 1.849, 2.235, 2.698, 3.255, 3.923, 4.715",\
                 "0.9107, 0.9844, 1.173, 1.435, 1.756, 2.141, 2.605, 3.163, 3.832, 4.623");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8298, 0.8857, 1.041, 1.291, 1.648, 2.136, 2.777, 3.585, 4.574, 5.752",\
                 "0.8462, 0.9021, 1.058, 1.307, 1.664, 2.153, 2.794, 3.602, 4.591, 5.768",\
                 "0.9142, 0.9701, 1.125, 1.375, 1.732, 2.22, 2.861, 3.669, 4.656, 5.835",\
                 "1.055, 1.111, 1.266, 1.516, 1.872, 2.361, 3.002, 3.811, 4.798, 5.972",\
                 "1.254, 1.31, 1.465, 1.715, 2.071, 2.56, 3.201, 4.009, 4.997, 6.173",\
                 "1.485, 1.541, 1.697, 1.947, 2.303, 2.791, 3.432, 4.24, 5.228, 6.405",\
                 "1.753, 1.81, 1.965, 2.215, 2.571, 3.059, 3.7, 4.508, 5.496, 6.671",\
                 "2.06, 2.116, 2.272, 2.522, 2.879, 3.366, 4.006, 4.813, 5.8, 6.979",\
                 "2.404, 2.461, 2.617, 2.867, 3.224, 3.712, 4.352, 5.159, 6.144, 7.32",\
                 "2.787, 2.845, 3.002, 3.253, 3.611, 4.101, 4.742, 5.55, 6.535, 7.71");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2562, 0.3329, 0.5252, 0.79, 1.15, 1.643, 2.307, 3.172, 4.256, 5.574",\
                 "0.2561, 0.333, 0.525, 0.7886, 1.15, 1.643, 2.307, 3.171, 4.256, 5.572",\
                 "0.2553, 0.3322, 0.5248, 0.789, 1.149, 1.642, 2.305, 3.172, 4.255, 5.573",\
                 "0.2532, 0.3306, 0.5234, 0.7886, 1.149, 1.643, 2.306, 3.172, 4.255, 5.576",\
                 "0.2596, 0.3358, 0.5272, 0.7906, 1.151, 1.645, 2.307, 3.171, 4.259, 5.577",\
                 "0.2658, 0.3416, 0.5304, 0.7906, 1.149, 1.642, 2.306, 3.17, 4.259, 5.578",\
                 "0.2664, 0.3428, 0.531, 0.7928, 1.151, 1.64, 2.302, 3.169, 4.256, 5.575",\
                 "0.2678, 0.3442, 0.5346, 0.795, 1.153, 1.642, 2.303, 3.166, 4.252, 5.573",\
                 "0.2696, 0.346, 0.5364, 0.7976, 1.156, 1.645, 2.307, 3.17, 4.249, 5.565",\
                 "0.2718, 0.3486, 0.5382, 0.8012, 1.158, 1.647, 2.312, 3.175, 4.252, 5.567");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1668, 0.2312, 0.4355, 0.8008, 1.383, 2.227, 3.361, 4.784, 6.529, 8.608",\
                 "0.1676, 0.2316, 0.4352, 0.801, 1.384, 2.225, 3.355, 4.791, 6.529, 8.607",\
                 "0.1668, 0.2316, 0.4348, 0.8006, 1.381, 2.229, 3.361, 4.787, 6.53, 8.609",\
                 "0.1668, 0.2314, 0.435, 0.801, 1.383, 2.228, 3.356, 4.784, 6.53, 8.607",\
                 "0.1688, 0.2326, 0.4352, 0.8008, 1.381, 2.23, 3.356, 4.782, 6.536, 8.607",\
                 "0.1684, 0.232, 0.4352, 0.8, 1.382, 2.227, 3.355, 4.782, 6.534, 8.607",\
                 "0.1706, 0.2334, 0.4378, 0.8018, 1.381, 2.224, 3.354, 4.784, 6.53, 8.619",\
                 "0.1736, 0.237, 0.4394, 0.8042, 1.381, 2.225, 3.355, 4.787, 6.525, 8.605",\
                 "0.1758, 0.2388, 0.4422, 0.8052, 1.384, 2.226, 3.352, 4.78, 6.528, 8.599",\
                 "0.1792, 0.243, 0.445, 0.8096, 1.391, 2.234, 3.357, 4.778, 6.52, 8.61");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6556, 0.7256, 0.9059, 1.154, 1.459, 1.83, 2.284, 2.837, 3.503, 4.294",\
                 "0.6696, 0.7397, 0.92, 1.168, 1.473, 1.844, 2.298, 2.851, 3.517, 4.308",\
                 "0.7236, 0.7937, 0.9741, 1.222, 1.527, 1.899, 2.352, 2.905, 3.571, 4.362",\
                 "0.8216, 0.8916, 1.072, 1.319, 1.624, 1.996, 2.45, 3.002, 3.668, 4.46",\
                 "0.9306, 1.001, 1.18, 1.426, 1.731, 2.103, 2.556, 3.108, 3.775, 4.566",\
                 "0.9921, 1.062, 1.241, 1.487, 1.791, 2.161, 2.615, 3.167, 3.833, 4.624",\
                 "1.01, 1.079, 1.258, 1.505, 1.809, 2.179, 2.632, 3.184, 3.85, 4.641",\
                 "0.988, 1.058, 1.236, 1.484, 1.788, 2.159, 2.612, 3.164, 3.829, 4.619",\
                 "0.9275, 0.9971, 1.176, 1.423, 1.728, 2.1, 2.554, 3.106, 3.771, 4.561",\
                 "0.8267, 0.8968, 1.076, 1.324, 1.63, 2.002, 2.457, 3.011, 3.678, 4.469");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8448, 0.9013, 1.058, 1.309, 1.666, 2.155, 2.796, 3.605, 4.593, 5.771",\
                 "0.8613, 0.9177, 1.074, 1.325, 1.683, 2.172, 2.813, 3.621, 4.61, 5.785",\
                 "0.9294, 0.986, 1.142, 1.393, 1.751, 2.24, 2.881, 3.69, 4.678, 5.855",\
                 "1.072, 1.128, 1.284, 1.536, 1.893, 2.382, 3.023, 3.831, 4.82, 5.998",\
                 "1.277, 1.334, 1.49, 1.741, 2.099, 2.587, 3.228, 4.037, 5.023, 6.202",\
                 "1.516, 1.572, 1.729, 1.98, 2.337, 2.826, 3.467, 4.275, 5.263, 6.44",\
                 "1.789, 1.846, 2.003, 2.254, 2.61, 3.099, 3.74, 4.548, 5.534, 6.714",\
                 "2.102, 2.159, 2.315, 2.567, 2.924, 3.412, 4.052, 4.859, 5.846, 7.024",\
                 "2.452, 2.509, 2.667, 2.919, 3.276, 3.764, 4.404, 5.21, 6.195, 7.371",\
                 "2.843, 2.901, 3.059, 3.311, 3.669, 4.159, 4.799, 5.607, 6.592, 7.766");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2374, 0.3096, 0.4887, 0.7402, 1.093, 1.59, 2.263, 3.14, 4.235, 5.561",\
                 "0.2368, 0.3095, 0.4888, 0.7402, 1.093, 1.588, 2.262, 3.138, 4.235, 5.565",\
                 "0.2365, 0.3093, 0.4886, 0.74, 1.093, 1.588, 2.262, 3.138, 4.235, 5.565",\
                 "0.2344, 0.3082, 0.4868, 0.7392, 1.092, 1.588, 2.261, 3.138, 4.236, 5.565",\
                 "0.2404, 0.3118, 0.489, 0.7398, 1.094, 1.589, 2.261, 3.139, 4.233, 5.564",\
                 "0.2414, 0.3132, 0.4908, 0.739, 1.091, 1.587, 2.26, 3.14, 4.237, 5.563",\
                 "0.2424, 0.3144, 0.4916, 0.742, 1.093, 1.586, 2.257, 3.137, 4.237, 5.562",\
                 "0.2444, 0.3162, 0.4956, 0.7442, 1.096, 1.59, 2.257, 3.132, 4.228, 5.56",\
                 "0.2462, 0.3184, 0.4966, 0.7466, 1.098, 1.592, 2.262, 3.135, 4.229, 5.55",\
                 "0.2484, 0.321, 0.4994, 0.7498, 1.101, 1.594, 2.269, 3.144, 4.234, 5.553");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1702, 0.2344, 0.4389, 0.805, 1.386, 2.226, 3.355, 4.782, 6.529, 8.612",\
                 "0.171, 0.2342, 0.439, 0.806, 1.385, 2.23, 3.36, 4.782, 6.529, 8.621",\
                 "0.1706, 0.2342, 0.4384, 0.805, 1.386, 2.227, 3.355, 4.782, 6.526, 8.612",\
                 "0.17, 0.2344, 0.439, 0.805, 1.386, 2.23, 3.353, 4.789, 6.526, 8.606",\
                 "0.1702, 0.2344, 0.4384, 0.8052, 1.384, 2.226, 3.354, 4.783, 6.53, 8.607",\
                 "0.1716, 0.2348, 0.4386, 0.8046, 1.386, 2.23, 3.357, 4.783, 6.529, 8.61",\
                 "0.1724, 0.2366, 0.4402, 0.8054, 1.382, 2.228, 3.356, 4.782, 6.528, 8.613",\
                 "0.1748, 0.2384, 0.4428, 0.807, 1.385, 2.224, 3.351, 4.788, 6.527, 8.61",\
                 "0.1766, 0.2408, 0.4456, 0.8092, 1.387, 2.226, 3.352, 4.78, 6.523, 8.601",\
                 "0.1814, 0.2452, 0.4476, 0.8126, 1.391, 2.231, 3.357, 4.778, 6.52, 8.61");
        }
      }

      timing() {
        related_pin : "S0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6932, 0.7666, 0.9566, 1.22, 1.541, 1.926, 2.39, 2.948, 3.617, 4.41",\
                 "0.7062, 0.7796, 0.9697, 1.233, 1.554, 1.939, 2.403, 2.961, 3.63, 4.423",\
                 "0.7542, 0.8276, 1.018, 1.281, 1.602, 1.987, 2.451, 3.009, 3.679, 4.471",\
                 "0.8528, 0.9261, 1.116, 1.379, 1.7, 2.085, 2.549, 3.108, 3.777, 4.569",\
                 "0.9782, 1.052, 1.241, 1.502, 1.823, 2.208, 2.672, 3.231, 3.9, 4.692",\
                 "1.062, 1.136, 1.324, 1.585, 1.904, 2.288, 2.752, 3.31, 3.979, 4.771",\
                 "1.093, 1.165, 1.355, 1.616, 1.935, 2.319, 2.782, 3.34, 4.008, 4.801",\
                 "1.082, 1.155, 1.344, 1.605, 1.925, 2.309, 2.772, 3.33, 3.998, 4.789",\
                 "1.031, 1.104, 1.293, 1.555, 1.876, 2.26, 2.723, 3.281, 3.949, 4.741",\
                 "0.94, 1.014, 1.203, 1.466, 1.787, 2.172, 2.636, 3.194, 3.863, 4.654");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8611, 0.9176, 1.074, 1.325, 1.683, 2.172, 2.813, 3.62, 4.607, 5.785",\
                 "0.8775, 0.934, 1.091, 1.342, 1.699, 2.188, 2.829, 3.637, 4.626, 5.802",\
                 "0.945, 1.002, 1.158, 1.409, 1.767, 2.255, 2.897, 3.705, 4.69, 5.871",\
                 "1.087, 1.144, 1.3, 1.551, 1.909, 2.398, 3.039, 3.846, 4.832, 6.011",\
                 "1.295, 1.352, 1.508, 1.76, 2.117, 2.606, 3.246, 4.055, 5.042, 6.22",\
                 "1.538, 1.594, 1.751, 2.002, 2.359, 2.848, 3.488, 4.296, 5.284, 6.46",\
                 "1.815, 1.872, 2.029, 2.28, 2.637, 3.125, 3.766, 4.574, 5.562, 6.737",\
                 "2.132, 2.189, 2.346, 2.598, 2.954, 3.442, 4.083, 4.889, 5.876, 7.055",\
                 "2.487, 2.545, 2.703, 2.954, 3.311, 3.8, 4.439, 5.245, 6.23, 7.407",\
                 "2.884, 2.942, 3.1, 3.352, 3.71, 4.2, 4.84, 5.647, 6.632, 7.807");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2562, 0.3331, 0.525, 0.7888, 1.15, 1.641, 2.305, 3.172, 4.256, 5.572",\
                 "0.2556, 0.3327, 0.5251, 0.789, 1.15, 1.643, 2.305, 3.172, 4.256, 5.57",\
                 "0.2555, 0.3327, 0.5248, 0.7896, 1.15, 1.643, 2.306, 3.171, 4.256, 5.573",\
                 "0.253, 0.331, 0.5238, 0.787, 1.149, 1.642, 2.305, 3.172, 4.256, 5.573",\
                 "0.2598, 0.3358, 0.5274, 0.7908, 1.15, 1.645, 2.306, 3.171, 4.259, 5.577",\
                 "0.267, 0.3412, 0.5304, 0.791, 1.149, 1.644, 2.306, 3.172, 4.259, 5.578",\
                 "0.2676, 0.3436, 0.5316, 0.7946, 1.152, 1.641, 2.303, 3.171, 4.253, 5.575",\
                 "0.2688, 0.3442, 0.5346, 0.7966, 1.152, 1.643, 2.304, 3.165, 4.253, 5.568",\
                 "0.2696, 0.3462, 0.5362, 0.7976, 1.156, 1.647, 2.308, 3.167, 4.248, 5.563",\
                 "0.2722, 0.3488, 0.5386, 0.8012, 1.158, 1.648, 2.312, 3.172, 4.251, 5.567");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1709, 0.2346, 0.4385, 0.8046, 1.385, 2.227, 3.357, 4.783, 6.524, 8.612",\
                 "0.1708, 0.2341, 0.4382, 0.8046, 1.385, 2.227, 3.357, 4.784, 6.524, 8.612",\
                 "0.1696, 0.2342, 0.4386, 0.8048, 1.386, 2.226, 3.355, 4.784, 6.53, 8.611",\
                 "0.1706, 0.234, 0.4386, 0.805, 1.386, 2.23, 3.354, 4.782, 6.524, 8.612",\
                 "0.1712, 0.2348, 0.4392, 0.8068, 1.384, 2.227, 3.354, 4.781, 6.532, 8.607",\
                 "0.1706, 0.235, 0.4386, 0.8042, 1.385, 2.226, 3.352, 4.783, 6.529, 8.622",\
                 "0.1726, 0.2354, 0.4398, 0.8052, 1.382, 2.227, 3.355, 4.781, 6.528, 8.613",\
                 "0.1738, 0.2386, 0.4414, 0.8068, 1.384, 2.225, 3.353, 4.787, 6.528, 8.615",\
                 "0.1774, 0.2412, 0.4444, 0.8094, 1.387, 2.226, 3.351, 4.78, 6.526, 8.599",\
                 "0.1814, 0.2438, 0.4476, 0.813, 1.392, 2.232, 3.354, 4.779, 6.522, 8.608");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7279, 0.7976, 0.977, 1.224, 1.529, 1.9, 2.354, 2.907, 3.573, 4.364",\
                 "0.7434, 0.8132, 0.9925, 1.24, 1.544, 1.916, 2.369, 2.922, 3.588, 4.38",\
                 "0.8026, 0.8723, 1.051, 1.298, 1.603, 1.975, 2.429, 2.981, 3.647, 4.439",\
                 "0.9265, 0.996, 1.175, 1.421, 1.726, 2.098, 2.552, 3.104, 3.77, 4.562",\
                 "1.119, 1.189, 1.368, 1.614, 1.919, 2.291, 2.744, 3.297, 3.963, 4.754",\
                 "1.356, 1.428, 1.612, 1.863, 2.17, 2.543, 2.997, 3.549, 4.215, 5.006",\
                 "1.635, 1.709, 1.898, 2.155, 2.468, 2.845, 3.3, 3.853, 4.518, 5.309",\
                 "1.956, 2.034, 2.23, 2.494, 2.813, 3.193, 3.652, 4.206, 4.872, 5.662",\
                 "2.315, 2.398, 2.603, 2.879, 3.207, 3.593, 4.055, 4.61, 5.277, 6.067",\
                 "2.712, 2.799, 3.015, 3.305, 3.646, 4.041, 4.509, 5.067, 5.734, 6.524");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6226, 0.6787, 0.8351, 1.087, 1.445, 1.934, 2.575, 3.383, 4.372, 5.549",\
                 "0.6354, 0.6914, 0.8478, 1.099, 1.457, 1.947, 2.588, 3.397, 4.383, 5.563",\
                 "0.679, 0.735, 0.8914, 1.143, 1.501, 1.99, 2.632, 3.44, 4.427, 5.606",\
                 "0.7605, 0.8165, 0.9726, 1.224, 1.581, 2.071, 2.712, 3.521, 4.508, 5.682",\
                 "0.8554, 0.9132, 1.071, 1.322, 1.68, 2.168, 2.809, 3.617, 4.603, 5.779",\
                 "0.935, 0.9946, 1.156, 1.41, 1.769, 2.257, 2.897, 3.704, 4.69, 5.87",\
                 "0.9955, 1.058, 1.223, 1.48, 1.84, 2.328, 2.968, 3.774, 4.76, 5.934",\
                 "1.029, 1.096, 1.268, 1.53, 1.893, 2.38, 3.018, 3.824, 4.808, 5.983",\
                 "1.032, 1.103, 1.283, 1.553, 1.92, 2.41, 3.047, 3.851, 4.836, 6.009",\
                 "0.9986, 1.075, 1.266, 1.543, 1.918, 2.413, 3.053, 3.856, 4.839, 6.013");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2366, 0.3086, 0.4871, 0.7386, 1.092, 1.59, 2.262, 3.136, 4.238, 5.563",\
                 "0.2372, 0.309, 0.4873, 0.7388, 1.092, 1.589, 2.262, 3.139, 4.236, 5.563",\
                 "0.2363, 0.3088, 0.4872, 0.7384, 1.093, 1.59, 2.262, 3.137, 4.238, 5.563",\
                 "0.237, 0.3094, 0.4874, 0.7384, 1.093, 1.59, 2.261, 3.138, 4.238, 5.564",\
                 "0.242, 0.3142, 0.493, 0.7432, 1.097, 1.592, 2.262, 3.141, 4.238, 5.564",\
                 "0.261, 0.3336, 0.5138, 0.7608, 1.11, 1.6, 2.268, 3.142, 4.234, 5.565",\
                 "0.2814, 0.3566, 0.54, 0.789, 1.132, 1.617, 2.279, 3.144, 4.241, 5.566",\
                 "0.3078, 0.3864, 0.574, 0.8224, 1.163, 1.638, 2.295, 3.158, 4.245, 5.568",\
                 "0.3416, 0.4234, 0.6174, 0.8692, 1.202, 1.67, 2.314, 3.169, 4.25, 5.572",\
                 "0.3776, 0.4636, 0.6664, 0.927, 1.256, 1.715, 2.347, 3.189, 4.261, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1668, 0.2306, 0.435, 0.8042, 1.382, 2.226, 3.354, 4.788, 6.529, 8.61",\
                 "0.1663, 0.2304, 0.4353, 0.8027, 1.383, 2.23, 3.355, 4.783, 6.527, 8.605",\
                 "0.1667, 0.2312, 0.4358, 0.8024, 1.383, 2.226, 3.354, 4.782, 6.528, 8.61",\
                 "0.1678, 0.2314, 0.4354, 0.8028, 1.385, 2.226, 3.355, 4.781, 6.529, 8.605",\
                 "0.1778, 0.241, 0.4436, 0.807, 1.385, 2.23, 3.355, 4.781, 6.528, 8.619",\
                 "0.1908, 0.2548, 0.4574, 0.82, 1.394, 2.229, 3.355, 4.783, 6.527, 8.611",\
                 "0.209, 0.2758, 0.4742, 0.8338, 1.403, 2.235, 3.364, 4.784, 6.524, 8.605",\
                 "0.2336, 0.3, 0.498, 0.858, 1.415, 2.242, 3.36, 4.791, 6.526, 8.602",\
                 "0.2592, 0.3292, 0.5284, 0.8848, 1.439, 2.254, 3.369, 4.786, 6.53, 8.607",\
                 "0.2902, 0.3628, 0.5616, 0.919, 1.47, 2.281, 3.382, 4.792, 6.53, 8.605");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7957, 0.8688, 1.058, 1.321, 1.642, 2.027, 2.491, 3.05, 3.719, 4.512",\
                 "0.8109, 0.884, 1.073, 1.336, 1.657, 2.042, 2.506, 3.065, 3.735, 4.527",\
                 "0.8717, 0.9447, 1.134, 1.397, 1.717, 2.103, 2.567, 3.126, 3.795, 4.588",\
                 "0.9998, 1.073, 1.262, 1.524, 1.845, 2.231, 2.695, 3.254, 3.923, 4.715",\
                 "1.201, 1.274, 1.463, 1.725, 2.045, 2.431, 2.895, 3.454, 4.123, 4.915",\
                 "1.456, 1.531, 1.723, 1.988, 2.311, 2.697, 3.161, 3.72, 4.389, 5.181",\
                 "1.759, 1.836, 2.033, 2.304, 2.633, 3.023, 3.489, 4.048, 4.717, 5.509",\
                 "2.112, 2.192, 2.395, 2.674, 3.008, 3.403, 3.873, 4.434, 5.104, 5.896",\
                 "2.513, 2.596, 2.809, 3.099, 3.442, 3.843, 4.317, 4.88, 5.551, 6.343",\
                 "2.96, 3.048, 3.271, 3.575, 3.932, 4.344, 4.824, 5.39, 6.062, 6.855");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.5987, 0.6543, 0.8097, 1.06, 1.417, 1.906, 2.547, 3.356, 4.342, 5.518",\
                 "0.6112, 0.6668, 0.822, 1.072, 1.429, 1.918, 2.56, 3.368, 4.354, 5.534",\
                 "0.654, 0.7096, 0.8649, 1.115, 1.472, 1.961, 2.602, 3.411, 4.399, 5.572",\
                 "0.7312, 0.7867, 0.9416, 1.191, 1.548, 2.037, 2.678, 3.486, 4.474, 5.648",\
                 "0.8141, 0.8712, 1.028, 1.278, 1.635, 2.123, 2.763, 3.572, 4.56, 5.736",\
                 "0.8765, 0.9358, 1.096, 1.349, 1.706, 2.194, 2.834, 3.642, 4.63, 5.806",\
                 "0.9106, 0.9732, 1.138, 1.394, 1.752, 2.24, 2.88, 3.686, 4.672, 5.846",\
                 "0.9088, 0.9752, 1.147, 1.408, 1.77, 2.257, 2.895, 3.7, 4.686, 5.86",\
                 "0.8648, 0.9364, 1.116, 1.385, 1.752, 2.241, 2.879, 3.683, 4.667, 5.841",\
                 "0.7749, 0.8512, 1.042, 1.318, 1.692, 2.187, 2.828, 3.632, 4.614, 5.788");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2545, 0.3323, 0.5246, 0.7896, 1.149, 1.645, 2.309, 3.173, 4.254, 5.577",\
                 "0.255, 0.3323, 0.5249, 0.7896, 1.15, 1.644, 2.306, 3.173, 4.254, 5.571",\
                 "0.2546, 0.3322, 0.5244, 0.79, 1.149, 1.643, 2.307, 3.173, 4.26, 5.577",\
                 "0.2558, 0.3324, 0.5254, 0.79, 1.151, 1.644, 2.307, 3.173, 4.255, 5.572",\
                 "0.2568, 0.3344, 0.528, 0.7924, 1.153, 1.645, 2.308, 3.174, 4.255, 5.573",\
                 "0.2718, 0.35, 0.544, 0.805, 1.161, 1.652, 2.312, 3.175, 4.26, 5.576",\
                 "0.2886, 0.3688, 0.5672, 0.8336, 1.185, 1.667, 2.324, 3.18, 4.263, 5.58",\
                 "0.3106, 0.3936, 0.5956, 0.8634, 1.213, 1.692, 2.34, 3.193, 4.267, 5.579",\
                 "0.3396, 0.4252, 0.6344, 0.9068, 1.251, 1.722, 2.363, 3.207, 4.277, 5.581",\
                 "0.3682, 0.46, 0.6824, 0.9628, 1.304, 1.769, 2.397, 3.227, 4.288, 5.59");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1638, 0.2285, 0.4315, 0.7996, 1.38, 2.226, 3.355, 4.783, 6.527, 8.605",\
                 "0.1641, 0.2277, 0.4328, 0.7981, 1.38, 2.229, 3.356, 4.783, 6.527, 8.612",\
                 "0.1643, 0.2281, 0.4328, 0.7978, 1.38, 2.229, 3.355, 4.783, 6.529, 8.615",\
                 "0.1646, 0.2282, 0.4324, 0.799, 1.383, 2.229, 3.354, 4.784, 6.529, 8.607",\
                 "0.175, 0.239, 0.441, 0.8034, 1.383, 2.229, 3.36, 4.784, 6.527, 8.623",\
                 "0.1886, 0.2528, 0.454, 0.8168, 1.39, 2.228, 3.355, 4.782, 6.53, 8.611",\
                 "0.2092, 0.2732, 0.4728, 0.831, 1.398, 2.235, 3.363, 4.789, 6.525, 8.605",\
                 "0.2324, 0.2992, 0.4974, 0.8546, 1.413, 2.24, 3.36, 4.785, 6.536, 8.604",\
                 "0.2598, 0.3294, 0.5268, 0.8824, 1.439, 2.254, 3.367, 4.789, 6.529, 8.622",\
                 "0.2908, 0.362, 0.5614, 0.914, 1.471, 2.283, 3.385, 4.795, 6.53, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7804, 0.8537, 1.043, 1.306, 1.627, 2.013, 2.477, 3.035, 3.705, 4.497",\
                 "0.7959, 0.8689, 1.059, 1.321, 1.642, 2.028, 2.492, 3.051, 3.72, 4.512",\
                 "0.857, 0.9301, 1.12, 1.382, 1.703, 2.089, 2.553, 3.112, 3.781, 4.573",\
                 "0.9854, 1.058, 1.248, 1.51, 1.831, 2.217, 2.681, 3.24, 3.909, 4.701",\
                 "1.184, 1.256, 1.445, 1.708, 2.028, 2.414, 2.878, 3.437, 4.106, 4.898",\
                 "1.434, 1.509, 1.702, 1.968, 2.29, 2.677, 3.141, 3.7, 4.369, 5.161",\
                 "1.731, 1.809, 2.007, 2.278, 2.608, 2.998, 3.464, 4.024, 4.693, 5.485",\
                 "2.079, 2.159, 2.364, 2.644, 2.979, 3.375, 3.845, 4.406, 5.076, 5.868",\
                 "2.474, 2.558, 2.771, 3.063, 3.408, 3.811, 4.284, 4.849, 5.519, 6.311",\
                 "2.914, 3.002, 3.227, 3.534, 3.893, 4.306, 4.786, 5.354, 6.026, 6.819");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.5993, 0.6548, 0.8101, 1.06, 1.417, 1.906, 2.548, 3.356, 4.341, 5.522",\
                 "0.6116, 0.6672, 0.8225, 1.072, 1.429, 1.918, 2.56, 3.368, 4.356, 5.53",\
                 "0.6544, 0.71, 0.8653, 1.115, 1.472, 1.961, 2.603, 3.41, 4.396, 5.576",\
                 "0.7315, 0.787, 0.9419, 1.191, 1.548, 2.037, 2.678, 3.485, 4.472, 5.65",\
                 "0.8142, 0.8714, 1.028, 1.278, 1.635, 2.123, 2.763, 3.572, 4.56, 5.733",\
                 "0.8766, 0.9358, 1.095, 1.349, 1.706, 2.194, 2.834, 3.642, 4.627, 5.803",\
                 "0.9106, 0.9733, 1.138, 1.394, 1.752, 2.24, 2.879, 3.685, 4.671, 5.845",\
                 "0.9085, 0.9754, 1.147, 1.408, 1.77, 2.257, 2.895, 3.7, 4.685, 5.86",\
                 "0.8648, 0.9363, 1.116, 1.385, 1.752, 2.241, 2.879, 3.683, 4.667, 5.841",\
                 "0.7751, 0.8515, 1.042, 1.318, 1.692, 2.187, 2.827, 3.631, 4.614, 5.788");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2547, 0.3319, 0.524, 0.7898, 1.148, 1.643, 2.306, 3.173, 4.259, 5.576",\
                 "0.255, 0.3318, 0.5241, 0.7888, 1.151, 1.644, 2.309, 3.173, 4.255, 5.577",\
                 "0.2539, 0.3322, 0.5242, 0.7886, 1.15, 1.644, 2.309, 3.173, 4.255, 5.578",\
                 "0.254, 0.3326, 0.5248, 0.7894, 1.15, 1.644, 2.309, 3.174, 4.256, 5.578",\
                 "0.2562, 0.334, 0.5272, 0.7916, 1.151, 1.645, 2.309, 3.174, 4.256, 5.577",\
                 "0.2712, 0.3498, 0.5446, 0.8054, 1.162, 1.652, 2.313, 3.176, 4.26, 5.577",\
                 "0.2888, 0.369, 0.5674, 0.8346, 1.185, 1.668, 2.324, 3.178, 4.263, 5.579",\
                 "0.3104, 0.3944, 0.5966, 0.865, 1.214, 1.693, 2.341, 3.194, 4.27, 5.579",\
                 "0.3392, 0.4268, 0.6378, 0.909, 1.254, 1.726, 2.364, 3.207, 4.279, 5.587",\
                 "0.3706, 0.4628, 0.6854, 0.9662, 1.31, 1.771, 2.399, 3.229, 4.29, 5.588");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.164, 0.2282, 0.4319, 0.798, 1.38, 2.229, 3.355, 4.791, 6.526, 8.612",\
                 "0.1646, 0.2282, 0.4326, 0.7982, 1.382, 2.225, 3.357, 4.783, 6.529, 8.615",\
                 "0.1647, 0.2282, 0.4315, 0.7996, 1.38, 2.229, 3.355, 4.787, 6.525, 8.61",\
                 "0.1646, 0.2286, 0.4326, 0.7988, 1.383, 2.229, 3.361, 4.786, 6.529, 8.608",\
                 "0.175, 0.2386, 0.4406, 0.8032, 1.385, 2.226, 3.36, 4.786, 6.529, 8.616",\
                 "0.1882, 0.2528, 0.4554, 0.8168, 1.39, 2.233, 3.361, 4.782, 6.526, 8.618",\
                 "0.2094, 0.2734, 0.473, 0.8314, 1.399, 2.234, 3.359, 4.784, 6.528, 8.604",\
                 "0.234, 0.3002, 0.4966, 0.854, 1.412, 2.24, 3.36, 4.787, 6.539, 8.602",\
                 "0.26, 0.3298, 0.5266, 0.883, 1.439, 2.254, 3.367, 4.786, 6.529, 8.604",\
                 "0.2902, 0.364, 0.5622, 0.9172, 1.469, 2.284, 3.383, 4.794, 6.531, 8.605");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7204, 0.79, 0.9696, 1.217, 1.521, 1.893, 2.347, 2.899, 3.566, 4.357",\
                 "0.7359, 0.8056, 0.9851, 1.232, 1.537, 1.909, 2.362, 2.915, 3.581, 4.372",\
                 "0.7955, 0.8653, 1.045, 1.292, 1.596, 1.968, 2.422, 2.974, 3.641, 4.432",\
                 "0.9201, 0.9897, 1.169, 1.416, 1.72, 2.092, 2.546, 3.098, 3.764, 4.556",\
                 "1.112, 1.182, 1.361, 1.608, 1.912, 2.284, 2.738, 3.29, 3.956, 4.747",\
                 "1.348, 1.42, 1.603, 1.855, 2.163, 2.535, 2.989, 3.542, 4.207, 4.998",\
                 "1.626, 1.701, 1.889, 2.147, 2.46, 2.836, 3.292, 3.845, 4.511, 5.301",\
                 "1.946, 2.025, 2.221, 2.486, 2.805, 3.186, 3.644, 4.199, 4.865, 5.655",\
                 "2.307, 2.389, 2.594, 2.871, 3.2, 3.586, 4.048, 4.603, 5.27, 6.061",\
                 "2.705, 2.791, 3.008, 3.298, 3.639, 4.036, 4.503, 5.062, 5.729, 6.519");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6224, 0.6784, 0.8348, 1.086, 1.444, 1.934, 2.575, 3.383, 4.369, 5.55",\
                 "0.6351, 0.6913, 0.8475, 1.099, 1.457, 1.946, 2.588, 3.396, 4.383, 5.562",\
                 "0.6789, 0.7349, 0.8913, 1.143, 1.501, 1.99, 2.632, 3.44, 4.429, 5.606",\
                 "0.7601, 0.8162, 0.9722, 1.223, 1.581, 2.07, 2.711, 3.519, 4.508, 5.686",\
                 "0.8545, 0.912, 1.069, 1.321, 1.678, 2.167, 2.808, 3.615, 4.603, 5.778",\
                 "0.9333, 0.993, 1.154, 1.408, 1.767, 2.255, 2.895, 3.703, 4.69, 5.868",\
                 "0.9929, 1.056, 1.221, 1.478, 1.838, 2.326, 2.965, 3.772, 4.758, 5.932",\
                 "1.026, 1.093, 1.265, 1.528, 1.89, 2.377, 3.015, 3.821, 4.805, 5.979",\
                 "1.027, 1.099, 1.28, 1.549, 1.917, 2.407, 3.044, 3.848, 4.832, 6.005",\
                 "0.994, 1.071, 1.261, 1.539, 1.914, 2.408, 3.049, 3.852, 4.835, 6.008");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2356, 0.3085, 0.4872, 0.7392, 1.092, 1.59, 2.262, 3.138, 4.238, 5.564",\
                 "0.2366, 0.3082, 0.487, 0.7394, 1.093, 1.589, 2.262, 3.136, 4.238, 5.563",\
                 "0.2367, 0.3083, 0.487, 0.7382, 1.093, 1.589, 2.262, 3.136, 4.238, 5.564",\
                 "0.237, 0.309, 0.4878, 0.7396, 1.092, 1.59, 2.262, 3.138, 4.238, 5.563",\
                 "0.2418, 0.3142, 0.4928, 0.7432, 1.096, 1.591, 2.262, 3.138, 4.235, 5.565",\
                 "0.259, 0.3328, 0.513, 0.7608, 1.109, 1.599, 2.268, 3.143, 4.234, 5.565",\
                 "0.2792, 0.355, 0.5392, 0.7896, 1.133, 1.617, 2.277, 3.148, 4.236, 5.566",\
                 "0.3056, 0.3844, 0.5728, 0.8216, 1.162, 1.64, 2.296, 3.158, 4.246, 5.568",\
                 "0.3384, 0.4204, 0.6172, 0.8694, 1.201, 1.669, 2.313, 3.169, 4.253, 5.571",\
                 "0.372, 0.4602, 0.6652, 0.9268, 1.257, 1.718, 2.348, 3.188, 4.261, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1668, 0.2308, 0.4351, 0.8028, 1.383, 2.23, 3.36, 4.788, 6.526, 8.611",\
                 "0.1669, 0.2304, 0.4358, 0.8027, 1.383, 2.23, 3.355, 4.782, 6.528, 8.608",\
                 "0.1661, 0.2308, 0.4355, 0.8026, 1.382, 2.23, 3.356, 4.782, 6.528, 8.612",\
                 "0.1668, 0.2314, 0.436, 0.8028, 1.385, 2.23, 3.354, 4.79, 6.526, 8.608",\
                 "0.1772, 0.2402, 0.4438, 0.8076, 1.385, 2.231, 3.356, 4.789, 6.528, 8.618",\
                 "0.1906, 0.2558, 0.457, 0.821, 1.392, 2.228, 3.36, 4.781, 6.529, 8.611",\
                 "0.2098, 0.2754, 0.4738, 0.8342, 1.403, 2.235, 3.36, 4.783, 6.527, 8.608",\
                 "0.2334, 0.3006, 0.4986, 0.8566, 1.415, 2.241, 3.36, 4.788, 6.531, 8.604",\
                 "0.2614, 0.3316, 0.5278, 0.8844, 1.439, 2.254, 3.368, 4.786, 6.529, 8.607",\
                 "0.2896, 0.3626, 0.5632, 0.9188, 1.474, 2.282, 3.381, 4.794, 6.531, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8043, 0.8776, 1.067, 1.329, 1.65, 2.036, 2.5, 3.058, 3.728, 4.52",\
                 "0.8196, 0.8928, 1.082, 1.344, 1.665, 2.051, 2.515, 3.074, 3.743, 4.535",\
                 "0.8799, 0.9532, 1.142, 1.405, 1.726, 2.111, 2.575, 3.134, 3.803, 4.595",\
                 "1.007, 1.081, 1.27, 1.532, 1.853, 2.238, 2.702, 3.261, 3.93, 4.723",\
                 "1.209, 1.282, 1.471, 1.732, 2.053, 2.439, 2.903, 3.461, 4.131, 4.923",\
                 "1.466, 1.541, 1.733, 1.998, 2.32, 2.706, 3.171, 3.729, 4.398, 5.191",\
                 "1.771, 1.848, 2.045, 2.317, 2.645, 3.035, 3.5, 4.06, 4.728, 5.52",\
                 "2.127, 2.208, 2.411, 2.689, 3.023, 3.418, 3.888, 4.449, 5.118, 5.909",\
                 "2.532, 2.616, 2.828, 3.117, 3.46, 3.861, 4.334, 4.898, 5.568, 6.36",\
                 "2.984, 3.072, 3.295, 3.598, 3.954, 4.365, 4.844, 5.409, 6.081, 6.874");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.5983, 0.6539, 0.8093, 1.059, 1.416, 1.905, 2.546, 3.355, 4.343, 5.517",\
                 "0.6107, 0.6664, 0.8216, 1.072, 1.429, 1.918, 2.559, 3.368, 4.353, 5.534",\
                 "0.6535, 0.7091, 0.8645, 1.114, 1.471, 1.961, 2.602, 3.41, 4.399, 5.575",\
                 "0.7309, 0.7864, 0.9414, 1.191, 1.548, 2.037, 2.678, 3.486, 4.475, 5.648",\
                 "0.8142, 0.8714, 1.028, 1.278, 1.635, 2.123, 2.763, 3.571, 4.559, 5.737",\
                 "0.8762, 0.9354, 1.095, 1.348, 1.706, 2.194, 2.834, 3.642, 4.63, 5.806",\
                 "0.9109, 0.9733, 1.138, 1.394, 1.752, 2.24, 2.88, 3.686, 4.67, 5.847",\
                 "0.9088, 0.9753, 1.147, 1.409, 1.77, 2.257, 2.896, 3.701, 4.685, 5.861",\
                 "0.8649, 0.9362, 1.116, 1.385, 1.752, 2.241, 2.879, 3.683, 4.667, 5.841",\
                 "0.7752, 0.8515, 1.041, 1.318, 1.692, 2.186, 2.827, 3.632, 4.614, 5.788");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2566, 0.3331, 0.5253, 0.7904, 1.149, 1.645, 2.307, 3.173, 4.26, 5.577",\
                 "0.2563, 0.3331, 0.5256, 0.79, 1.151, 1.644, 2.308, 3.173, 4.254, 5.575",\
                 "0.2563, 0.3332, 0.525, 0.7904, 1.15, 1.645, 2.308, 3.173, 4.258, 5.578",\
                 "0.2568, 0.3334, 0.526, 0.7894, 1.151, 1.644, 2.309, 3.173, 4.254, 5.577",\
                 "0.2582, 0.3356, 0.5284, 0.7928, 1.151, 1.645, 2.309, 3.174, 4.255, 5.575",\
                 "0.2736, 0.3518, 0.5444, 0.8054, 1.162, 1.652, 2.314, 3.175, 4.259, 5.575",\
                 "0.291, 0.371, 0.569, 0.8322, 1.185, 1.668, 2.325, 3.181, 4.262, 5.579",\
                 "0.3128, 0.3956, 0.5968, 0.8638, 1.213, 1.692, 2.339, 3.193, 4.265, 5.579",\
                 "0.3406, 0.4276, 0.636, 0.9054, 1.249, 1.721, 2.364, 3.206, 4.279, 5.587",\
                 "0.37, 0.4622, 0.681, 0.9608, 1.303, 1.765, 2.393, 3.225, 4.288, 5.59");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1647, 0.2282, 0.4311, 0.7983, 1.38, 2.225, 3.36, 4.781, 6.53, 8.607",\
                 "0.1639, 0.2276, 0.4327, 0.7984, 1.38, 2.229, 3.356, 4.783, 6.526, 8.612",\
                 "0.1638, 0.2282, 0.4322, 0.7984, 1.38, 2.229, 3.355, 4.789, 6.53, 8.624",\
                 "0.1646, 0.2288, 0.432, 0.7988, 1.382, 2.229, 3.355, 4.784, 6.528, 8.615",\
                 "0.175, 0.2382, 0.4406, 0.8034, 1.382, 2.229, 3.361, 4.782, 6.529, 8.612",\
                 "0.1892, 0.2528, 0.4544, 0.8166, 1.39, 2.233, 3.355, 4.782, 6.53, 8.611",\
                 "0.2092, 0.2744, 0.472, 0.8312, 1.4, 2.235, 3.357, 4.785, 6.536, 8.609",\
                 "0.2328, 0.3002, 0.4972, 0.8534, 1.413, 2.24, 3.36, 4.785, 6.539, 8.606",\
                 "0.2606, 0.3308, 0.5262, 0.882, 1.438, 2.254, 3.366, 4.788, 6.529, 8.608",\
                 "0.2886, 0.3628, 0.5612, 0.917, 1.47, 2.283, 3.384, 4.796, 6.53, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7903, 0.8634, 1.053, 1.316, 1.637, 2.022, 2.486, 3.045, 3.714, 4.506",\
                 "0.8056, 0.8788, 1.068, 1.331, 1.652, 2.037, 2.502, 3.06, 3.73, 4.522",\
                 "0.8666, 0.9398, 1.129, 1.392, 1.713, 2.098, 2.562, 3.121, 3.79, 4.583",\
                 "0.995, 1.068, 1.258, 1.52, 1.841, 2.226, 2.69, 3.249, 3.918, 4.71",\
                 "1.195, 1.268, 1.457, 1.719, 2.04, 2.425, 2.889, 3.448, 4.117, 4.909",\
                 "1.449, 1.524, 1.716, 1.981, 2.304, 2.69, 3.155, 3.713, 4.382, 5.174",\
                 "1.75, 1.827, 2.024, 2.296, 2.625, 3.015, 3.481, 4.04, 4.709, 5.501",\
                 "2.102, 2.181, 2.385, 2.664, 2.999, 3.395, 3.864, 4.426, 5.095, 5.887",\
                 "2.501, 2.584, 2.797, 3.088, 3.432, 3.833, 4.307, 4.871, 5.542, 6.333",\
                 "2.946, 3.034, 3.258, 3.563, 3.92, 4.332, 4.812, 5.379, 6.051, 6.843");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.5987, 0.6543, 0.8096, 1.06, 1.417, 1.906, 2.547, 3.355, 4.341, 5.521",\
                 "0.611, 0.6666, 0.822, 1.072, 1.429, 1.918, 2.56, 3.368, 4.354, 5.53",\
                 "0.6539, 0.7095, 0.8649, 1.115, 1.472, 1.961, 2.602, 3.41, 4.398, 5.572",\
                 "0.7312, 0.7866, 0.9416, 1.191, 1.548, 2.037, 2.678, 3.486, 4.474, 5.649",\
                 "0.8144, 0.8715, 1.028, 1.278, 1.635, 2.123, 2.764, 3.572, 4.561, 5.733",\
                 "0.8765, 0.9358, 1.095, 1.348, 1.706, 2.194, 2.835, 3.642, 4.63, 5.806",\
                 "0.9108, 0.9733, 1.138, 1.394, 1.752, 2.24, 2.879, 3.685, 4.671, 5.847",\
                 "0.9084, 0.9753, 1.147, 1.408, 1.77, 2.257, 2.895, 3.701, 4.685, 5.86",\
                 "0.8649, 0.9362, 1.116, 1.384, 1.752, 2.242, 2.879, 3.683, 4.667, 5.841",\
                 "0.7749, 0.8513, 1.042, 1.318, 1.691, 2.186, 2.827, 3.631, 4.614, 5.787");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2559, 0.3329, 0.5245, 0.7898, 1.149, 1.645, 2.308, 3.173, 4.258, 5.578",\
                 "0.2559, 0.3326, 0.5252, 0.7896, 1.151, 1.644, 2.308, 3.173, 4.254, 5.574",\
                 "0.256, 0.3326, 0.5246, 0.7898, 1.151, 1.644, 2.308, 3.173, 4.258, 5.578",\
                 "0.2552, 0.3334, 0.5252, 0.7892, 1.15, 1.644, 2.309, 3.173, 4.256, 5.578",\
                 "0.2572, 0.3344, 0.528, 0.7918, 1.153, 1.646, 2.31, 3.174, 4.256, 5.578",\
                 "0.2724, 0.3506, 0.5442, 0.8054, 1.161, 1.652, 2.311, 3.176, 4.257, 5.577",\
                 "0.2898, 0.3694, 0.5682, 0.834, 1.185, 1.667, 2.324, 3.18, 4.263, 5.58",\
                 "0.312, 0.3952, 0.5964, 0.8636, 1.213, 1.692, 2.34, 3.191, 4.268, 5.581",\
                 "0.3394, 0.427, 0.6364, 0.9074, 1.252, 1.726, 2.364, 3.206, 4.276, 5.586",\
                 "0.3722, 0.4624, 0.6832, 0.9646, 1.307, 1.769, 2.396, 3.23, 4.29, 5.588");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1647, 0.2282, 0.4315, 0.7993, 1.38, 2.229, 3.355, 4.787, 6.526, 8.61",\
                 "0.1648, 0.2287, 0.4313, 0.7998, 1.38, 2.225, 3.355, 4.783, 6.526, 8.606",\
                 "0.1647, 0.2282, 0.4311, 0.8, 1.38, 2.225, 3.36, 4.781, 6.53, 8.609",\
                 "0.1644, 0.2284, 0.4324, 0.7986, 1.383, 2.229, 3.356, 4.784, 6.53, 8.605",\
                 "0.1754, 0.239, 0.4412, 0.8036, 1.385, 2.228, 3.357, 4.784, 6.53, 8.606",\
                 "0.1892, 0.2534, 0.4546, 0.8164, 1.39, 2.229, 3.354, 4.782, 6.53, 8.61",\
                 "0.2088, 0.2734, 0.4728, 0.8316, 1.4, 2.234, 3.363, 4.784, 6.528, 8.608",\
                 "0.2342, 0.2996, 0.4968, 0.8548, 1.413, 2.24, 3.36, 4.788, 6.529, 8.604",\
                 "0.26, 0.3292, 0.527, 0.882, 1.44, 2.256, 3.367, 4.788, 6.527, 8.62",\
                 "0.2892, 0.3618, 0.5614, 0.9158, 1.469, 2.283, 3.383, 4.795, 6.533, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7325, 0.8022, 0.9814, 1.229, 1.533, 1.905, 2.358, 2.911, 3.577, 4.368",\
                 "0.7479, 0.8176, 0.9969, 1.244, 1.548, 1.92, 2.374, 2.926, 3.593, 4.384",\
                 "0.8066, 0.8764, 1.056, 1.302, 1.607, 1.979, 2.432, 2.985, 3.651, 4.442",\
                 "0.9297, 0.9992, 1.178, 1.425, 1.73, 2.101, 2.555, 3.107, 3.773, 4.565",\
                 "1.123, 1.192, 1.371, 1.617, 1.922, 2.294, 2.747, 3.3, 3.966, 4.757",\
                 "1.361, 1.432, 1.615, 1.866, 2.174, 2.546, 3, 3.552, 4.218, 5.009",\
                 "1.639, 1.714, 1.902, 2.159, 2.472, 2.848, 3.304, 3.856, 4.522, 5.312",\
                 "1.96, 2.038, 2.233, 2.499, 2.817, 3.197, 3.655, 4.209, 4.875, 5.665",\
                 "2.319, 2.402, 2.607, 2.883, 3.21, 3.596, 4.057, 4.612, 5.279, 6.069",\
                 "2.716, 2.803, 3.018, 3.308, 3.648, 4.044, 4.51, 5.067, 5.734, 6.525");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6228, 0.6788, 0.8352, 1.087, 1.445, 1.934, 2.576, 3.384, 4.371, 5.55",\
                 "0.6354, 0.6915, 0.848, 1.099, 1.457, 1.947, 2.588, 3.397, 4.384, 5.559",\
                 "0.6791, 0.7352, 0.8916, 1.143, 1.501, 1.99, 2.632, 3.44, 4.428, 5.607",\
                 "0.7607, 0.8167, 0.9728, 1.224, 1.582, 2.071, 2.712, 3.521, 4.509, 5.686",\
                 "0.8557, 0.9132, 1.071, 1.322, 1.68, 2.168, 2.809, 3.617, 4.604, 5.783",\
                 "0.9357, 0.9953, 1.156, 1.411, 1.769, 2.258, 2.898, 3.704, 4.69, 5.87",\
                 "0.996, 1.059, 1.224, 1.481, 1.841, 2.329, 2.969, 3.775, 4.76, 5.935",\
                 "1.03, 1.097, 1.269, 1.531, 1.893, 2.381, 3.019, 3.824, 4.809, 5.984",\
                 "1.033, 1.104, 1.284, 1.553, 1.921, 2.411, 3.048, 3.853, 4.836, 6.01",\
                 "0.9995, 1.076, 1.267, 1.544, 1.919, 2.414, 3.054, 3.857, 4.84, 6.013");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2374, 0.3091, 0.4868, 0.739, 1.093, 1.59, 2.262, 3.136, 4.238, 5.563",\
                 "0.2371, 0.3092, 0.4869, 0.7396, 1.092, 1.59, 2.262, 3.137, 4.238, 5.558",\
                 "0.2371, 0.3092, 0.487, 0.7388, 1.093, 1.59, 2.261, 3.138, 4.238, 5.564",\
                 "0.2376, 0.3096, 0.4878, 0.7396, 1.093, 1.59, 2.26, 3.141, 4.237, 5.562",\
                 "0.2428, 0.3148, 0.493, 0.7448, 1.096, 1.592, 2.265, 3.138, 4.234, 5.565",\
                 "0.2612, 0.3348, 0.514, 0.7614, 1.109, 1.6, 2.269, 3.143, 4.237, 5.566",\
                 "0.2826, 0.358, 0.54, 0.7896, 1.133, 1.617, 2.279, 3.147, 4.242, 5.566",\
                 "0.3102, 0.3878, 0.5742, 0.8226, 1.162, 1.639, 2.295, 3.158, 4.246, 5.568",\
                 "0.3434, 0.426, 0.6186, 0.8702, 1.201, 1.67, 2.316, 3.169, 4.251, 5.572",\
                 "0.3778, 0.4666, 0.6672, 0.9258, 1.257, 1.717, 2.346, 3.187, 4.262, 5.574");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1663, 0.2302, 0.4353, 0.8042, 1.383, 2.227, 3.356, 4.783, 6.528, 8.607",\
                 "0.167, 0.2313, 0.436, 0.8022, 1.385, 2.229, 3.354, 4.784, 6.529, 8.604",\
                 "0.1667, 0.2308, 0.4347, 0.8038, 1.383, 2.227, 3.356, 4.782, 6.529, 8.61",\
                 "0.1672, 0.2314, 0.4356, 0.8046, 1.383, 2.227, 3.355, 4.781, 6.53, 8.61",\
                 "0.1774, 0.2404, 0.4436, 0.8068, 1.385, 2.226, 3.356, 4.784, 6.529, 8.607",\
                 "0.1904, 0.2546, 0.4578, 0.82, 1.394, 2.229, 3.356, 4.782, 6.527, 8.612",\
                 "0.2092, 0.2742, 0.475, 0.8336, 1.401, 2.237, 3.363, 4.784, 6.536, 8.606",\
                 "0.2332, 0.3006, 0.4978, 0.8558, 1.415, 2.241, 3.36, 4.789, 6.528, 8.6",\
                 "0.259, 0.3292, 0.5276, 0.8852, 1.439, 2.253, 3.367, 4.786, 6.528, 8.606",\
                 "0.2896, 0.361, 0.5616, 0.9184, 1.471, 2.282, 3.38, 4.794, 6.53, 8.605");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.7259, 0.7956, 0.975, 1.222, 1.527, 1.898, 2.352, 2.905, 3.571, 4.362",\
                 "0.7414, 0.8111, 0.9907, 1.238, 1.543, 1.914, 2.368, 2.92, 3.586, 4.377",\
                 "0.8008, 0.8706, 1.05, 1.297, 1.601, 1.973, 2.427, 2.979, 3.646, 4.437",\
                 "0.9248, 0.9945, 1.173, 1.421, 1.725, 2.097, 2.55, 3.103, 3.769, 4.56",\
                 "1.117, 1.187, 1.366, 1.613, 1.918, 2.289, 2.743, 3.295, 3.961, 4.753",\
                 "1.355, 1.426, 1.61, 1.861, 2.168, 2.541, 2.995, 3.547, 4.213, 5.004",\
                 "1.633, 1.707, 1.896, 2.154, 2.466, 2.843, 3.299, 3.851, 4.517, 5.307",\
                 "1.954, 2.032, 2.228, 2.493, 2.812, 3.192, 3.651, 4.205, 4.871, 5.661",\
                 "2.314, 2.396, 2.602, 2.878, 3.206, 3.592, 4.053, 4.609, 5.276, 6.066",\
                 "2.711, 2.798, 3.014, 3.304, 3.645, 4.041, 4.508, 5.066, 5.733, 6.524");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6227, 0.6787, 0.8349, 1.087, 1.445, 1.934, 2.576, 3.384, 4.369, 5.55",\
                 "0.6353, 0.6914, 0.8478, 1.099, 1.457, 1.947, 2.588, 3.397, 4.383, 5.562",\
                 "0.679, 0.735, 0.8915, 1.143, 1.501, 1.99, 2.631, 3.44, 4.429, 5.601",\
                 "0.7605, 0.8165, 0.9726, 1.224, 1.581, 2.071, 2.712, 3.52, 4.508, 5.686",\
                 "0.8554, 0.9127, 1.07, 1.322, 1.68, 2.168, 2.808, 3.615, 4.604, 5.783",\
                 "0.9348, 0.9945, 1.155, 1.41, 1.769, 2.257, 2.897, 3.705, 4.692, 5.87",\
                 "0.995, 1.058, 1.223, 1.48, 1.84, 2.328, 2.967, 3.774, 4.76, 5.935",\
                 "1.028, 1.095, 1.268, 1.53, 1.892, 2.379, 3.018, 3.824, 4.808, 5.982",\
                 "1.031, 1.102, 1.282, 1.552, 1.92, 2.409, 3.046, 3.851, 4.835, 6.008",\
                 "0.9975, 1.074, 1.265, 1.542, 1.917, 2.412, 3.052, 3.855, 4.838, 6.012");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2364, 0.3098, 0.4871, 0.7388, 1.093, 1.59, 2.261, 3.137, 4.237, 5.565",\
                 "0.2373, 0.309, 0.4874, 0.7394, 1.092, 1.59, 2.262, 3.137, 4.235, 5.565",\
                 "0.2373, 0.309, 0.487, 0.7384, 1.093, 1.589, 2.262, 3.137, 4.238, 5.563",\
                 "0.2376, 0.309, 0.4872, 0.7392, 1.092, 1.59, 2.263, 3.138, 4.238, 5.564",\
                 "0.2422, 0.3152, 0.4926, 0.7428, 1.097, 1.592, 2.264, 3.137, 4.235, 5.565",\
                 "0.2602, 0.334, 0.5138, 0.7608, 1.11, 1.6, 2.269, 3.143, 4.234, 5.564",\
                 "0.2824, 0.3564, 0.5396, 0.789, 1.132, 1.617, 2.277, 3.145, 4.242, 5.566",\
                 "0.3086, 0.3862, 0.5738, 0.8228, 1.161, 1.639, 2.294, 3.159, 4.247, 5.568",\
                 "0.341, 0.4242, 0.6178, 0.869, 1.202, 1.669, 2.315, 3.17, 4.252, 5.57",\
                 "0.3754, 0.4632, 0.667, 0.927, 1.258, 1.716, 2.347, 3.19, 4.263, 5.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1664, 0.2305, 0.4357, 0.8026, 1.383, 2.23, 3.356, 4.782, 6.525, 8.607",\
                 "0.1665, 0.231, 0.4356, 0.8023, 1.383, 2.226, 3.355, 4.782, 6.528, 8.61",\
                 "0.1662, 0.2308, 0.4351, 0.8024, 1.384, 2.228, 3.354, 4.783, 6.526, 8.613",\
                 "0.167, 0.2314, 0.436, 0.8028, 1.385, 2.226, 3.354, 4.79, 6.529, 8.606",\
                 "0.1766, 0.2404, 0.4432, 0.8068, 1.384, 2.226, 3.354, 4.786, 6.529, 8.607",\
                 "0.1908, 0.2548, 0.4578, 0.8208, 1.393, 2.229, 3.356, 4.783, 6.529, 8.611",\
                 "0.2102, 0.274, 0.4744, 0.8346, 1.402, 2.237, 3.363, 4.78, 6.524, 8.61",\
                 "0.2342, 0.301, 0.4986, 0.8572, 1.414, 2.239, 3.36, 4.786, 6.527, 8.604",\
                 "0.2598, 0.33, 0.5278, 0.8854, 1.438, 2.253, 3.367, 4.785, 6.528, 8.601",\
                 "0.2898, 0.3632, 0.5624, 0.9184, 1.471, 2.282, 3.382, 4.791, 6.529, 8.605");
        }
      }

      timing() {
        related_pin : "S0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.8043, 0.8776, 1.067, 1.329, 1.65, 2.036, 2.5, 3.058, 3.728, 4.52",\
                 "0.8196, 0.8928, 1.082, 1.344, 1.665, 2.051, 2.515, 3.074, 3.743, 4.535",\
                 "0.8799, 0.9532, 1.142, 1.405, 1.726, 2.111, 2.575, 3.134, 3.803, 4.595",\
                 "1.007, 1.081, 1.27, 1.532, 1.853, 2.238, 2.702, 3.261, 3.93, 4.723",\
                 "1.209, 1.282, 1.471, 1.732, 2.053, 2.439, 2.903, 3.461, 4.131, 4.923",\
                 "1.466, 1.541, 1.733, 1.998, 2.32, 2.706, 3.171, 3.729, 4.398, 5.191",\
                 "1.771, 1.848, 2.045, 2.317, 2.645, 3.035, 3.5, 4.06, 4.728, 5.52",\
                 "2.127, 2.208, 2.411, 2.689, 3.023, 3.418, 3.888, 4.449, 5.118, 5.909",\
                 "2.532, 2.616, 2.828, 3.117, 3.46, 3.861, 4.334, 4.898, 5.568, 6.36",\
                 "2.984, 3.072, 3.295, 3.598, 3.954, 4.365, 4.844, 5.409, 6.081, 6.874");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.6228, 0.6788, 0.8352, 1.087, 1.445, 1.934, 2.576, 3.384, 4.371, 5.55",\
                 "0.6354, 0.6915, 0.848, 1.099, 1.457, 1.947, 2.588, 3.397, 4.384, 5.559",\
                 "0.6791, 0.7352, 0.8916, 1.143, 1.501, 1.99, 2.632, 3.44, 4.428, 5.607",\
                 "0.7607, 0.8167, 0.9728, 1.224, 1.582, 2.071, 2.712, 3.521, 4.509, 5.686",\
                 "0.8557, 0.9132, 1.071, 1.322, 1.68, 2.168, 2.809, 3.617, 4.604, 5.783",\
                 "0.9357, 0.9953, 1.156, 1.411, 1.769, 2.258, 2.898, 3.704, 4.69, 5.87",\
                 "0.996, 1.059, 1.224, 1.481, 1.841, 2.329, 2.969, 3.775, 4.76, 5.935",\
                 "1.03, 1.097, 1.269, 1.531, 1.893, 2.381, 3.019, 3.824, 4.809, 5.984",\
                 "1.033, 1.104, 1.284, 1.553, 1.921, 2.411, 3.048, 3.853, 4.836, 6.01",\
                 "0.9995, 1.076, 1.267, 1.544, 1.919, 2.414, 3.054, 3.857, 4.84, 6.013");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.2566, 0.3331, 0.5253, 0.7904, 1.149, 1.645, 2.307, 3.173, 4.26, 5.577",\
                 "0.2563, 0.3331, 0.5256, 0.79, 1.151, 1.644, 2.308, 3.173, 4.254, 5.575",\
                 "0.2563, 0.3332, 0.525, 0.7904, 1.15, 1.645, 2.308, 3.173, 4.258, 5.578",\
                 "0.2568, 0.3334, 0.526, 0.7894, 1.151, 1.644, 2.309, 3.173, 4.254, 5.577",\
                 "0.2582, 0.3356, 0.5284, 0.7928, 1.151, 1.645, 2.309, 3.174, 4.255, 5.575",\
                 "0.2736, 0.3518, 0.5444, 0.8054, 1.162, 1.652, 2.314, 3.175, 4.259, 5.575",\
                 "0.291, 0.371, 0.569, 0.8322, 1.185, 1.668, 2.325, 3.181, 4.262, 5.579",\
                 "0.3128, 0.3956, 0.5968, 0.8638, 1.213, 1.692, 2.339, 3.193, 4.265, 5.579",\
                 "0.3406, 0.4276, 0.636, 0.9054, 1.249, 1.721, 2.364, 3.206, 4.279, 5.587",\
                 "0.37, 0.4622, 0.681, 0.9608, 1.303, 1.765, 2.393, 3.225, 4.288, 5.59");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1647, 0.2282, 0.4311, 0.7983, 1.38, 2.225, 3.36, 4.781, 6.53, 8.607",\
                 "0.1639, 0.2276, 0.4327, 0.7984, 1.38, 2.229, 3.356, 4.783, 6.526, 8.612",\
                 "0.1638, 0.2282, 0.4322, 0.7984, 1.38, 2.229, 3.355, 4.789, 6.53, 8.624",\
                 "0.1646, 0.2288, 0.432, 0.7988, 1.382, 2.229, 3.355, 4.784, 6.528, 8.615",\
                 "0.175, 0.2382, 0.4406, 0.8034, 1.382, 2.229, 3.361, 4.782, 6.529, 8.612",\
                 "0.1892, 0.2528, 0.4544, 0.8166, 1.39, 2.233, 3.355, 4.782, 6.53, 8.611",\
                 "0.2092, 0.2744, 0.472, 0.8312, 1.4, 2.235, 3.357, 4.785, 6.536, 8.609",\
                 "0.2328, 0.3002, 0.4972, 0.8534, 1.413, 2.24, 3.36, 4.785, 6.539, 8.606",\
                 "0.2606, 0.3308, 0.5262, 0.882, 1.438, 2.254, 3.366, 4.788, 6.529, 8.608",\
                 "0.2886, 0.3628, 0.5612, 0.917, 1.47, 2.283, 3.384, 4.796, 6.53, 8.604");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3615, 0.426, 0.5956, 0.8353, 1.136, 1.505, 1.958, 2.511, 3.177, 3.969",\
                 "0.3762, 0.4404, 0.6103, 0.85, 1.15, 1.52, 1.973, 2.526, 3.192, 3.984",\
                 "0.432, 0.4957, 0.6645, 0.9033, 1.203, 1.573, 2.026, 2.578, 3.245, 4.037",\
                 "0.5322, 0.5921, 0.7524, 0.9858, 1.283, 1.651, 2.104, 2.657, 3.323, 4.115",\
                 "0.6083, 0.6691, 0.8247, 1.05, 1.343, 1.709, 2.161, 2.713, 3.38, 4.172",\
                 "0.6215, 0.6803, 0.8343, 1.059, 1.351, 1.716, 2.166, 2.718, 3.384, 4.176",\
                 "0.5937, 0.6524, 0.8049, 1.03, 1.322, 1.687, 2.137, 2.688, 3.353, 4.145",\
                 "0.529, 0.5873, 0.7401, 0.9645, 1.257, 1.622, 2.073, 2.624, 3.289, 4.079",\
                 "0.427, 0.4858, 0.6378, 0.8624, 1.154, 1.52, 1.973, 2.525, 3.191, 3.982",\
                 "0.2872, 0.3457, 0.4978, 0.7218, 1.014, 1.382, 1.84, 2.4, 3.072, 3.865");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4993, 0.5544, 0.7098, 0.96, 1.318, 1.807, 2.449, 3.258, 4.246, 5.424",\
                 "0.516, 0.571, 0.7263, 0.9766, 1.334, 1.823, 2.465, 3.273, 4.26, 5.439",\
                 "0.585, 0.6401, 0.7955, 1.046, 1.403, 1.893, 2.534, 3.342, 4.329, 5.51",\
                 "0.7129, 0.7681, 0.9234, 1.174, 1.531, 2.02, 2.662, 3.47, 4.456, 5.636",\
                 "0.8772, 0.932, 1.087, 1.336, 1.694, 2.183, 2.825, 3.634, 4.62, 5.8",\
                 "1.074, 1.128, 1.282, 1.532, 1.888, 2.377, 3.019, 3.828, 4.816, 5.994",\
                 "1.304, 1.359, 1.513, 1.762, 2.119, 2.607, 3.248, 4.056, 5.044, 6.223",\
                 "1.571, 1.625, 1.779, 2.028, 2.385, 2.874, 3.514, 4.321, 5.308, 6.486",\
                 "1.875, 1.929, 2.082, 2.332, 2.691, 3.184, 3.825, 4.632, 5.618, 6.793",\
                 "2.219, 2.272, 2.426, 2.675, 3.038, 3.538, 4.185, 4.995, 5.981, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1878, 0.259, 0.4416, 0.7052, 1.072, 1.576, 2.255, 3.136, 4.236, 5.562",\
                 "0.1878, 0.2587, 0.4419, 0.7054, 1.071, 1.576, 2.255, 3.134, 4.237, 5.564",\
                 "0.1839, 0.2554, 0.4391, 0.7029, 1.069, 1.574, 2.252, 3.136, 4.234, 5.563",\
                 "0.1821, 0.2473, 0.425, 0.6916, 1.062, 1.571, 2.251, 3.133, 4.233, 5.565",\
                 "0.1976, 0.2574, 0.4202, 0.682, 1.056, 1.566, 2.25, 3.13, 4.234, 5.563",\
                 "0.1942, 0.2542, 0.4174, 0.6814, 1.052, 1.56, 2.244, 3.13, 4.23, 5.564",\
                 "0.1944, 0.254, 0.4176, 0.6818, 1.052, 1.561, 2.24, 3.125, 4.23, 5.563",\
                 "0.194, 0.2542, 0.418, 0.6816, 1.053, 1.565, 2.243, 3.124, 4.221, 5.554",\
                 "0.195, 0.2546, 0.4178, 0.6834, 1.055, 1.565, 2.25, 3.129, 4.224, 5.548",\
                 "0.196, 0.2554, 0.4184, 0.6824, 1.057, 1.579, 2.277, 3.162, 4.253, 5.564");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1596, 0.2236, 0.43, 0.7977, 1.381, 2.229, 3.353, 4.782, 6.53, 8.607",\
                 "0.1588, 0.2237, 0.4307, 0.7966, 1.379, 2.229, 3.361, 4.783, 6.533, 8.61",\
                 "0.1593, 0.2236, 0.4302, 0.797, 1.379, 2.226, 3.354, 4.787, 6.526, 8.612",\
                 "0.158, 0.2228, 0.4294, 0.7978, 1.379, 2.226, 3.354, 4.784, 6.525, 8.611",\
                 "0.1554, 0.2206, 0.428, 0.7954, 1.379, 2.228, 3.355, 4.782, 6.528, 8.611",\
                 "0.1556, 0.22, 0.428, 0.7944, 1.379, 2.229, 3.355, 4.781, 6.53, 8.61",\
                 "0.1562, 0.22, 0.4288, 0.7958, 1.38, 2.223, 3.355, 4.791, 6.528, 8.611",\
                 "0.1572, 0.2214, 0.4296, 0.7974, 1.381, 2.225, 3.35, 4.777, 6.522, 8.608",\
                 "0.16, 0.2226, 0.4306, 0.8006, 1.39, 2.235, 3.356, 4.777, 6.523, 8.6",\
                 "0.1616, 0.2244, 0.4316, 0.807, 1.408, 2.26, 3.373, 4.786, 6.52, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3614, 0.4257, 0.596, 0.8356, 1.136, 1.506, 1.959, 2.511, 3.178, 3.97",\
                 "0.3762, 0.4404, 0.6103, 0.85, 1.15, 1.52, 1.973, 2.526, 3.192, 3.984",\
                 "0.432, 0.4957, 0.6645, 0.9033, 1.203, 1.573, 2.026, 2.578, 3.245, 4.037",\
                 "0.5322, 0.5921, 0.7528, 0.9858, 1.283, 1.651, 2.104, 2.657, 3.323, 4.115",\
                 "0.6083, 0.6691, 0.8247, 1.05, 1.343, 1.709, 2.161, 2.713, 3.38, 4.171",\
                 "0.6215, 0.6803, 0.8337, 1.059, 1.351, 1.716, 2.166, 2.718, 3.385, 4.176",\
                 "0.5936, 0.6524, 0.8049, 1.03, 1.322, 1.687, 2.137, 2.688, 3.353, 4.145",\
                 "0.529, 0.5873, 0.7401, 0.9645, 1.257, 1.622, 2.073, 2.624, 3.289, 4.079",\
                 "0.427, 0.4857, 0.6378, 0.8624, 1.154, 1.52, 1.973, 2.525, 3.191, 3.982",\
                 "0.2872, 0.3457, 0.4978, 0.7218, 1.014, 1.382, 1.84, 2.4, 3.072, 3.865");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4993, 0.5544, 0.7098, 0.96, 1.318, 1.807, 2.449, 3.258, 4.246, 5.424",\
                 "0.516, 0.571, 0.7263, 0.9766, 1.334, 1.823, 2.465, 3.274, 4.261, 5.438",\
                 "0.585, 0.6401, 0.7955, 1.046, 1.403, 1.893, 2.534, 3.342, 4.329, 5.51",\
                 "0.713, 0.7681, 0.9234, 1.174, 1.531, 2.02, 2.662, 3.47, 4.456, 5.637",\
                 "0.8772, 0.9319, 1.087, 1.336, 1.694, 2.183, 2.825, 3.634, 4.62, 5.8",\
                 "1.074, 1.128, 1.282, 1.532, 1.888, 2.377, 3.019, 3.828, 4.816, 5.994",\
                 "1.304, 1.359, 1.513, 1.762, 2.119, 2.607, 3.248, 4.056, 5.044, 6.223",\
                 "1.571, 1.625, 1.779, 2.028, 2.385, 2.874, 3.515, 4.321, 5.308, 6.487",\
                 "1.875, 1.929, 2.082, 2.332, 2.691, 3.184, 3.825, 4.633, 5.618, 6.793",\
                 "2.218, 2.272, 2.426, 2.675, 3.038, 3.538, 4.185, 4.995, 5.981, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1873, 0.2587, 0.4416, 0.7053, 1.071, 1.574, 2.254, 3.133, 4.236, 5.562",\
                 "0.1878, 0.2588, 0.4418, 0.7052, 1.072, 1.576, 2.254, 3.135, 4.237, 5.563",\
                 "0.1844, 0.2557, 0.4388, 0.7028, 1.07, 1.574, 2.253, 3.135, 4.232, 5.565",\
                 "0.1821, 0.2473, 0.4252, 0.6916, 1.062, 1.571, 2.251, 3.133, 4.233, 5.565",\
                 "0.1976, 0.2574, 0.4202, 0.6822, 1.056, 1.567, 2.248, 3.132, 4.234, 5.564",\
                 "0.1942, 0.2542, 0.4172, 0.6804, 1.052, 1.56, 2.245, 3.129, 4.23, 5.564",\
                 "0.1942, 0.2536, 0.4176, 0.6814, 1.053, 1.562, 2.241, 3.123, 4.227, 5.563",\
                 "0.194, 0.2542, 0.418, 0.6816, 1.053, 1.565, 2.243, 3.124, 4.221, 5.554",\
                 "0.195, 0.2546, 0.4178, 0.6834, 1.055, 1.566, 2.249, 3.132, 4.225, 5.547",\
                 "0.196, 0.2554, 0.4184, 0.6824, 1.057, 1.579, 2.277, 3.164, 4.253, 5.564");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1596, 0.2237, 0.43, 0.7977, 1.381, 2.229, 3.353, 4.782, 6.53, 8.607",\
                 "0.1588, 0.2237, 0.4299, 0.7968, 1.379, 2.229, 3.361, 4.785, 6.536, 8.609",\
                 "0.1593, 0.2236, 0.4302, 0.797, 1.379, 2.226, 3.354, 4.787, 6.526, 8.612",\
                 "0.1578, 0.2228, 0.4294, 0.7978, 1.379, 2.225, 3.354, 4.784, 6.526, 8.612",\
                 "0.1554, 0.2204, 0.428, 0.7956, 1.379, 2.228, 3.355, 4.782, 6.528, 8.611",\
                 "0.1556, 0.22, 0.428, 0.7944, 1.379, 2.229, 3.355, 4.781, 6.53, 8.61",\
                 "0.156, 0.22, 0.4288, 0.7958, 1.38, 2.223, 3.355, 4.791, 6.528, 8.611",\
                 "0.1572, 0.2224, 0.4296, 0.798, 1.38, 2.223, 3.35, 4.785, 6.522, 8.606",\
                 "0.1588, 0.2226, 0.4304, 0.8006, 1.392, 2.234, 3.356, 4.777, 6.521, 8.6",\
                 "0.1612, 0.2244, 0.4316, 0.807, 1.408, 2.26, 3.373, 4.786, 6.52, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3618, 0.4262, 0.596, 0.8358, 1.136, 1.506, 1.959, 2.512, 3.178, 3.97",\
                 "0.3762, 0.4406, 0.6105, 0.8502, 1.151, 1.52, 1.973, 2.526, 3.193, 3.985",\
                 "0.432, 0.4958, 0.6646, 0.9036, 1.204, 1.573, 2.026, 2.579, 3.246, 4.038",\
                 "0.5322, 0.5922, 0.7528, 0.986, 1.284, 1.652, 2.104, 2.657, 3.324, 4.115",\
                 "0.6082, 0.6692, 0.8246, 1.051, 1.344, 1.71, 2.162, 2.714, 3.38, 4.172",\
                 "0.6217, 0.6806, 0.8339, 1.059, 1.351, 1.716, 2.166, 2.718, 3.384, 4.176",\
                 "0.5937, 0.6523, 0.8052, 1.03, 1.322, 1.687, 2.138, 2.688, 3.353, 4.145",\
                 "0.5284, 0.5873, 0.7397, 0.9642, 1.257, 1.621, 2.072, 2.624, 3.289, 4.078",\
                 "0.4271, 0.4856, 0.6375, 0.8621, 1.154, 1.52, 1.972, 2.524, 3.191, 3.981",\
                 "0.2871, 0.3455, 0.4977, 0.7216, 1.014, 1.382, 1.84, 2.4, 3.072, 3.865");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4987, 0.5538, 0.7091, 0.9596, 1.317, 1.807, 2.449, 3.258, 4.246, 5.423",\
                 "0.5151, 0.5702, 0.7257, 0.9763, 1.334, 1.823, 2.465, 3.273, 4.259, 5.44",\
                 "0.5843, 0.6394, 0.7949, 1.045, 1.403, 1.892, 2.534, 3.342, 4.328, 5.51",\
                 "0.7125, 0.7676, 0.9229, 1.173, 1.531, 2.021, 2.661, 3.47, 4.458, 5.636",\
                 "0.877, 0.9314, 1.086, 1.336, 1.693, 2.183, 2.825, 3.633, 4.621, 5.8",\
                 "1.073, 1.127, 1.282, 1.531, 1.888, 2.377, 3.019, 3.828, 4.816, 5.994",\
                 "1.304, 1.358, 1.512, 1.762, 2.118, 2.606, 3.247, 4.057, 5.045, 6.223",\
                 "1.571, 1.625, 1.778, 2.028, 2.385, 2.874, 3.514, 4.321, 5.308, 6.487",\
                 "1.875, 1.929, 2.082, 2.331, 2.691, 3.183, 3.825, 4.632, 5.618, 6.793",\
                 "2.218, 2.272, 2.425, 2.675, 3.038, 3.538, 4.185, 4.996, 5.98, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1881, 0.2593, 0.4423, 0.7056, 1.07, 1.574, 2.255, 3.133, 4.237, 5.565",\
                 "0.1877, 0.2588, 0.442, 0.7056, 1.072, 1.576, 2.255, 3.135, 4.237, 5.558",\
                 "0.1843, 0.2556, 0.4389, 0.7028, 1.07, 1.575, 2.255, 3.135, 4.236, 5.563",\
                 "0.182, 0.2472, 0.4256, 0.6918, 1.062, 1.572, 2.252, 3.135, 4.236, 5.564",\
                 "0.1974, 0.2576, 0.4194, 0.682, 1.056, 1.567, 2.249, 3.13, 4.235, 5.562",\
                 "0.1942, 0.2542, 0.4172, 0.6806, 1.051, 1.56, 2.245, 3.13, 4.233, 5.563",\
                 "0.1942, 0.2538, 0.4178, 0.6816, 1.052, 1.562, 2.24, 3.122, 4.231, 5.563",\
                 "0.1942, 0.2542, 0.417, 0.682, 1.054, 1.563, 2.243, 3.124, 4.221, 5.554",\
                 "0.1944, 0.2544, 0.4178, 0.6816, 1.055, 1.565, 2.25, 3.133, 4.225, 5.548",\
                 "0.1958, 0.2554, 0.4186, 0.6834, 1.057, 1.579, 2.277, 3.163, 4.256, 5.562");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1594, 0.2236, 0.43, 0.7982, 1.381, 2.229, 3.353, 4.783, 6.53, 8.608",\
                 "0.1589, 0.2236, 0.4305, 0.7969, 1.38, 2.229, 3.353, 4.782, 6.526, 8.612",\
                 "0.1591, 0.2236, 0.4305, 0.7974, 1.38, 2.226, 3.354, 4.787, 6.526, 8.612",\
                 "0.1574, 0.2228, 0.4288, 0.7966, 1.379, 2.228, 3.361, 4.788, 6.53, 8.61",\
                 "0.1552, 0.2202, 0.4276, 0.796, 1.382, 2.228, 3.355, 4.782, 6.529, 8.61",\
                 "0.1554, 0.22, 0.4282, 0.7946, 1.378, 2.229, 3.356, 4.781, 6.53, 8.609",\
                 "0.1558, 0.221, 0.4292, 0.7972, 1.378, 2.223, 3.354, 4.783, 6.529, 8.611",\
                 "0.157, 0.2216, 0.4298, 0.7974, 1.381, 2.225, 3.351, 4.778, 6.536, 8.605",\
                 "0.1588, 0.223, 0.4314, 0.8006, 1.393, 2.235, 3.354, 4.777, 6.523, 8.61",\
                 "0.1612, 0.2244, 0.4316, 0.8062, 1.408, 2.26, 3.373, 4.786, 6.521, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.362, 0.4261, 0.596, 0.8357, 1.136, 1.506, 1.959, 2.512, 3.178, 3.97",\
                 "0.3762, 0.4406, 0.6106, 0.8503, 1.151, 1.52, 1.973, 2.526, 3.193, 3.985",\
                 "0.432, 0.4958, 0.6646, 0.9036, 1.204, 1.573, 2.026, 2.579, 3.246, 4.038",\
                 "0.5322, 0.5922, 0.7528, 0.986, 1.284, 1.652, 2.104, 2.657, 3.324, 4.115",\
                 "0.6081, 0.6691, 0.8247, 1.051, 1.344, 1.71, 2.162, 2.714, 3.38, 4.172",\
                 "0.6217, 0.6806, 0.8339, 1.059, 1.351, 1.716, 2.166, 2.718, 3.384, 4.176",\
                 "0.5937, 0.6523, 0.8052, 1.03, 1.322, 1.687, 2.138, 2.688, 3.353, 4.145",\
                 "0.5282, 0.5873, 0.7395, 0.9643, 1.257, 1.621, 2.072, 2.624, 3.288, 4.079",\
                 "0.427, 0.4856, 0.6375, 0.8621, 1.154, 1.52, 1.972, 2.524, 3.191, 3.982",\
                 "0.2871, 0.3455, 0.4977, 0.7216, 1.014, 1.382, 1.84, 2.4, 3.072, 3.865");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4987, 0.5538, 0.7091, 0.9596, 1.317, 1.807, 2.449, 3.258, 4.246, 5.423",\
                 "0.5151, 0.5701, 0.7257, 0.9763, 1.334, 1.823, 2.465, 3.273, 4.259, 5.44",\
                 "0.5843, 0.6394, 0.7949, 1.045, 1.403, 1.892, 2.534, 3.342, 4.328, 5.51",\
                 "0.7125, 0.7675, 0.9229, 1.173, 1.531, 2.021, 2.661, 3.47, 4.46, 5.636",\
                 "0.877, 0.9314, 1.086, 1.336, 1.693, 2.183, 2.825, 3.633, 4.621, 5.8",\
                 "1.073, 1.127, 1.282, 1.531, 1.888, 2.377, 3.019, 3.828, 4.816, 5.994",\
                 "1.304, 1.358, 1.512, 1.762, 2.118, 2.606, 3.247, 4.057, 5.045, 6.223",\
                 "1.571, 1.625, 1.778, 2.028, 2.385, 2.874, 3.514, 4.321, 5.307, 6.487",\
                 "1.875, 1.929, 2.082, 2.331, 2.691, 3.183, 3.825, 4.633, 5.618, 6.794",\
                 "2.218, 2.272, 2.425, 2.675, 3.038, 3.538, 4.185, 4.996, 5.98, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1881, 0.2592, 0.4425, 0.7057, 1.072, 1.575, 2.255, 3.134, 4.233, 5.563",\
                 "0.1878, 0.2588, 0.4418, 0.7053, 1.072, 1.576, 2.255, 3.135, 4.236, 5.561",\
                 "0.1843, 0.2556, 0.4389, 0.7028, 1.07, 1.575, 2.255, 3.135, 4.236, 5.563",\
                 "0.1819, 0.2472, 0.4254, 0.6918, 1.062, 1.572, 2.252, 3.135, 4.236, 5.564",\
                 "0.1978, 0.2576, 0.4196, 0.6822, 1.056, 1.567, 2.249, 3.13, 4.235, 5.562",\
                 "0.1942, 0.2542, 0.4172, 0.6806, 1.051, 1.56, 2.245, 3.13, 4.235, 5.564",\
                 "0.1942, 0.2538, 0.4178, 0.6816, 1.052, 1.562, 2.24, 3.122, 4.231, 5.563",\
                 "0.1938, 0.2542, 0.4174, 0.6816, 1.054, 1.565, 2.244, 3.124, 4.221, 5.549",\
                 "0.1944, 0.2544, 0.4178, 0.6816, 1.055, 1.565, 2.251, 3.133, 4.225, 5.547",\
                 "0.1958, 0.2554, 0.4186, 0.6834, 1.058, 1.579, 2.279, 3.164, 4.252, 5.562");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1595, 0.2236, 0.4299, 0.7982, 1.381, 2.229, 3.353, 4.783, 6.53, 8.608",\
                 "0.1588, 0.2236, 0.4305, 0.7971, 1.38, 2.229, 3.353, 4.782, 6.526, 8.612",\
                 "0.1591, 0.2236, 0.4305, 0.7974, 1.38, 2.226, 3.354, 4.787, 6.526, 8.612",\
                 "0.1574, 0.2224, 0.4288, 0.7966, 1.381, 2.228, 3.361, 4.788, 6.53, 8.611",\
                 "0.1552, 0.2206, 0.4276, 0.796, 1.382, 2.228, 3.355, 4.782, 6.529, 8.61",\
                 "0.1554, 0.22, 0.4288, 0.7942, 1.378, 2.229, 3.356, 4.781, 6.53, 8.609",\
                 "0.1558, 0.221, 0.4292, 0.7974, 1.378, 2.223, 3.356, 4.78, 6.529, 8.609",\
                 "0.1572, 0.2222, 0.4298, 0.7974, 1.38, 2.224, 3.35, 4.785, 6.536, 8.605",\
                 "0.1588, 0.223, 0.4314, 0.8006, 1.393, 2.235, 3.354, 4.777, 6.523, 8.616",\
                 "0.1614, 0.2244, 0.4316, 0.8062, 1.408, 2.26, 3.373, 4.786, 6.521, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3616, 0.4262, 0.5958, 0.8356, 1.136, 1.506, 1.959, 2.512, 3.178, 3.97",\
                 "0.3763, 0.4406, 0.6106, 0.8502, 1.151, 1.52, 1.973, 2.526, 3.193, 3.985",\
                 "0.4321, 0.4959, 0.6646, 0.9035, 1.203, 1.573, 2.026, 2.579, 3.246, 4.037",\
                 "0.5323, 0.5922, 0.7528, 0.986, 1.283, 1.652, 2.104, 2.657, 3.324, 4.115",\
                 "0.6081, 0.6686, 0.8245, 1.051, 1.344, 1.71, 2.162, 2.714, 3.38, 4.172",\
                 "0.6217, 0.6806, 0.8339, 1.059, 1.351, 1.716, 2.166, 2.718, 3.384, 4.176",\
                 "0.5937, 0.6523, 0.8052, 1.03, 1.322, 1.687, 2.137, 2.688, 3.353, 4.145",\
                 "0.5282, 0.5873, 0.7394, 0.9643, 1.257, 1.622, 2.073, 2.623, 3.288, 4.079",\
                 "0.4271, 0.4854, 0.6375, 0.8621, 1.154, 1.52, 1.972, 2.525, 3.191, 3.982",\
                 "0.2871, 0.3455, 0.4977, 0.7216, 1.014, 1.382, 1.84, 2.4, 3.072, 3.865");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4986, 0.5537, 0.7091, 0.9596, 1.317, 1.807, 2.449, 3.258, 4.246, 5.423",\
                 "0.515, 0.5703, 0.7259, 0.9763, 1.334, 1.823, 2.465, 3.273, 4.261, 5.439",\
                 "0.5843, 0.6394, 0.7949, 1.045, 1.403, 1.892, 2.534, 3.342, 4.328, 5.51",\
                 "0.7125, 0.7675, 0.9229, 1.173, 1.531, 2.021, 2.661, 3.47, 4.458, 5.638",\
                 "0.877, 0.9314, 1.086, 1.336, 1.693, 2.183, 2.825, 3.633, 4.621, 5.8",\
                 "1.073, 1.127, 1.282, 1.531, 1.888, 2.377, 3.019, 3.828, 4.816, 5.994",\
                 "1.304, 1.358, 1.512, 1.762, 2.118, 2.606, 3.247, 4.057, 5.045, 6.223",\
                 "1.571, 1.625, 1.778, 2.028, 2.385, 2.874, 3.514, 4.321, 5.308, 6.487",\
                 "1.875, 1.929, 2.082, 2.332, 2.691, 3.184, 3.825, 4.632, 5.618, 6.793",\
                 "2.218, 2.272, 2.425, 2.675, 3.038, 3.538, 4.186, 4.996, 5.98, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.188, 0.2592, 0.4421, 0.7053, 1.072, 1.576, 2.255, 3.135, 4.237, 5.56",\
                 "0.188, 0.2589, 0.4421, 0.7055, 1.072, 1.575, 2.255, 3.137, 4.237, 5.56",\
                 "0.184, 0.2556, 0.4393, 0.7031, 1.07, 1.575, 2.252, 3.136, 4.233, 5.563",\
                 "0.1819, 0.2472, 0.4256, 0.6924, 1.064, 1.569, 2.253, 3.135, 4.236, 5.564",\
                 "0.1976, 0.2576, 0.4204, 0.682, 1.055, 1.567, 2.25, 3.132, 4.234, 5.562",\
                 "0.1942, 0.2542, 0.4172, 0.6806, 1.051, 1.559, 2.243, 3.13, 4.232, 5.563",\
                 "0.1942, 0.2538, 0.4178, 0.6816, 1.052, 1.561, 2.241, 3.125, 4.229, 5.56",\
                 "0.1938, 0.2542, 0.4174, 0.6816, 1.054, 1.564, 2.243, 3.124, 4.221, 5.553",\
                 "0.1944, 0.2544, 0.4178, 0.6816, 1.055, 1.566, 2.251, 3.133, 4.225, 5.548",\
                 "0.1958, 0.2554, 0.4186, 0.6834, 1.057, 1.579, 2.277, 3.164, 4.256, 5.562");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1596, 0.2239, 0.4299, 0.7984, 1.381, 2.229, 3.352, 4.782, 6.53, 8.608",\
                 "0.1585, 0.2236, 0.43, 0.7985, 1.38, 2.229, 3.36, 4.782, 6.535, 8.609",\
                 "0.1591, 0.2236, 0.4305, 0.7974, 1.38, 2.226, 3.354, 4.787, 6.526, 8.612",\
                 "0.158, 0.2228, 0.4288, 0.7966, 1.381, 2.227, 3.361, 4.784, 6.53, 8.611",\
                 "0.1552, 0.2206, 0.4274, 0.796, 1.382, 2.228, 3.355, 4.782, 6.529, 8.61",\
                 "0.1554, 0.22, 0.4282, 0.7942, 1.378, 2.229, 3.356, 4.781, 6.53, 8.609",\
                 "0.1558, 0.221, 0.4292, 0.7974, 1.378, 2.223, 3.356, 4.78, 6.529, 8.609",\
                 "0.157, 0.2216, 0.4298, 0.798, 1.38, 2.225, 3.35, 4.778, 6.536, 8.605",\
                 "0.1586, 0.223, 0.4298, 0.8004, 1.393, 2.235, 3.355, 4.777, 6.523, 8.61",\
                 "0.1622, 0.2244, 0.4316, 0.8062, 1.408, 2.257, 3.375, 4.786, 6.521, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3619, 0.426, 0.5961, 0.835, 1.136, 1.505, 1.958, 2.511, 3.178, 3.969",\
                 "0.3762, 0.4404, 0.6103, 0.85, 1.15, 1.52, 1.973, 2.526, 3.192, 3.984",\
                 "0.432, 0.4957, 0.6645, 0.9033, 1.203, 1.573, 2.026, 2.578, 3.245, 4.037",\
                 "0.5322, 0.5921, 0.7524, 0.9858, 1.283, 1.651, 2.104, 2.657, 3.323, 4.115",\
                 "0.6082, 0.6691, 0.8247, 1.05, 1.343, 1.709, 2.161, 2.713, 3.38, 4.171",\
                 "0.6215, 0.6802, 0.8337, 1.059, 1.351, 1.716, 2.166, 2.718, 3.385, 4.176",\
                 "0.5937, 0.6524, 0.8049, 1.029, 1.322, 1.687, 2.137, 2.688, 3.353, 4.145",\
                 "0.529, 0.5873, 0.7401, 0.9645, 1.257, 1.622, 2.073, 2.624, 3.289, 4.079",\
                 "0.427, 0.4857, 0.6378, 0.8622, 1.154, 1.52, 1.973, 2.525, 3.191, 3.982",\
                 "0.2873, 0.3457, 0.4978, 0.7217, 1.014, 1.382, 1.84, 2.4, 3.072, 3.865");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4993, 0.5544, 0.7098, 0.96, 1.318, 1.807, 2.449, 3.258, 4.246, 5.424",\
                 "0.516, 0.571, 0.7264, 0.9766, 1.334, 1.823, 2.465, 3.274, 4.261, 5.438",\
                 "0.585, 0.6401, 0.7955, 1.046, 1.403, 1.893, 2.534, 3.342, 4.329, 5.51",\
                 "0.7129, 0.7681, 0.9234, 1.174, 1.531, 2.02, 2.662, 3.47, 4.456, 5.636",\
                 "0.8771, 0.932, 1.087, 1.336, 1.694, 2.183, 2.825, 3.634, 4.62, 5.8",\
                 "1.074, 1.128, 1.282, 1.532, 1.888, 2.377, 3.019, 3.828, 4.816, 5.994",\
                 "1.304, 1.359, 1.513, 1.762, 2.119, 2.607, 3.248, 4.056, 5.044, 6.223",\
                 "1.571, 1.625, 1.779, 2.028, 2.385, 2.874, 3.515, 4.321, 5.308, 6.487",\
                 "1.875, 1.929, 2.082, 2.332, 2.691, 3.184, 3.825, 4.632, 5.618, 6.793",\
                 "2.218, 2.272, 2.426, 2.675, 3.038, 3.538, 4.185, 4.995, 5.981, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.188, 0.2591, 0.4424, 0.7047, 1.071, 1.575, 2.255, 3.133, 4.234, 5.565",\
                 "0.1878, 0.2587, 0.4419, 0.7053, 1.071, 1.576, 2.254, 3.134, 4.237, 5.564",\
                 "0.1839, 0.2554, 0.4391, 0.7029, 1.069, 1.574, 2.252, 3.136, 4.234, 5.563",\
                 "0.1821, 0.2473, 0.425, 0.6916, 1.062, 1.571, 2.251, 3.133, 4.233, 5.565",\
                 "0.1974, 0.258, 0.4202, 0.682, 1.055, 1.566, 2.249, 3.131, 4.234, 5.563",\
                 "0.1942, 0.254, 0.4168, 0.6814, 1.052, 1.56, 2.244, 3.13, 4.234, 5.563",\
                 "0.1944, 0.254, 0.4176, 0.6818, 1.053, 1.561, 2.24, 3.124, 4.229, 5.559",\
                 "0.194, 0.2542, 0.418, 0.6816, 1.053, 1.565, 2.243, 3.124, 4.221, 5.555",\
                 "0.195, 0.2546, 0.4178, 0.6816, 1.056, 1.566, 2.251, 3.132, 4.225, 5.547",\
                 "0.1962, 0.2554, 0.4184, 0.6834, 1.059, 1.579, 2.276, 3.162, 4.253, 5.564");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1596, 0.2237, 0.43, 0.7977, 1.381, 2.229, 3.353, 4.782, 6.53, 8.607",\
                 "0.1588, 0.2237, 0.4299, 0.7968, 1.379, 2.229, 3.361, 4.786, 6.53, 8.608",\
                 "0.1593, 0.2236, 0.4302, 0.797, 1.379, 2.226, 3.354, 4.787, 6.526, 8.612",\
                 "0.1574, 0.2228, 0.4294, 0.7978, 1.379, 2.226, 3.354, 4.784, 6.525, 8.611",\
                 "0.1554, 0.2204, 0.428, 0.7956, 1.379, 2.228, 3.355, 4.782, 6.528, 8.611",\
                 "0.1556, 0.22, 0.428, 0.7944, 1.379, 2.229, 3.355, 4.781, 6.53, 8.61",\
                 "0.156, 0.22, 0.4288, 0.7958, 1.378, 2.223, 3.355, 4.791, 6.528, 8.611",\
                 "0.1572, 0.2224, 0.4296, 0.798, 1.38, 2.223, 3.35, 4.777, 6.522, 8.606",\
                 "0.1588, 0.2228, 0.4306, 0.8006, 1.392, 2.234, 3.356, 4.777, 6.521, 8.6",\
                 "0.1612, 0.2244, 0.4316, 0.807, 1.408, 2.26, 3.373, 4.786, 6.52, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3616, 0.4259, 0.5963, 0.8359, 1.136, 1.506, 1.959, 2.512, 3.179, 3.97",\
                 "0.3763, 0.4406, 0.6105, 0.8503, 1.151, 1.52, 1.973, 2.526, 3.193, 3.985",\
                 "0.4321, 0.4958, 0.6646, 0.9035, 1.204, 1.573, 2.026, 2.579, 3.246, 4.037",\
                 "0.5324, 0.5922, 0.7529, 0.9861, 1.283, 1.652, 2.104, 2.657, 3.324, 4.115",\
                 "0.6081, 0.6692, 0.8246, 1.051, 1.344, 1.71, 2.162, 2.714, 3.38, 4.172",\
                 "0.6217, 0.6806, 0.8339, 1.059, 1.351, 1.716, 2.166, 2.718, 3.384, 4.176",\
                 "0.5937, 0.6523, 0.8052, 1.03, 1.322, 1.687, 2.138, 2.688, 3.353, 4.145",\
                 "0.5282, 0.5868, 0.7394, 0.9643, 1.257, 1.622, 2.073, 2.623, 3.288, 4.079",\
                 "0.427, 0.4854, 0.6377, 0.8621, 1.154, 1.52, 1.972, 2.525, 3.191, 3.982",\
                 "0.2871, 0.3455, 0.4977, 0.7216, 1.014, 1.382, 1.84, 2.4, 3.072, 3.865");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4986, 0.5537, 0.7091, 0.9596, 1.317, 1.807, 2.449, 3.258, 4.246, 5.423",\
                 "0.515, 0.5703, 0.7259, 0.9763, 1.334, 1.823, 2.465, 3.273, 4.261, 5.439",\
                 "0.5843, 0.6394, 0.7949, 1.045, 1.403, 1.892, 2.534, 3.342, 4.328, 5.51",\
                 "0.7125, 0.7675, 0.9229, 1.173, 1.531, 2.021, 2.661, 3.47, 4.46, 5.638",\
                 "0.877, 0.9314, 1.086, 1.336, 1.693, 2.183, 2.825, 3.633, 4.621, 5.8",\
                 "1.073, 1.127, 1.282, 1.531, 1.888, 2.377, 3.019, 3.828, 4.816, 5.994",\
                 "1.304, 1.358, 1.512, 1.762, 2.118, 2.606, 3.247, 4.056, 5.043, 6.223",\
                 "1.571, 1.625, 1.778, 2.028, 2.385, 2.874, 3.514, 4.321, 5.307, 6.487",\
                 "1.875, 1.929, 2.082, 2.332, 2.691, 3.184, 3.826, 4.633, 5.618, 6.794",\
                 "2.218, 2.272, 2.425, 2.675, 3.038, 3.538, 4.186, 4.996, 5.98, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1881, 0.2592, 0.4418, 0.7054, 1.072, 1.575, 2.255, 3.133, 4.236, 5.562",\
                 "0.188, 0.2589, 0.442, 0.7053, 1.072, 1.576, 2.255, 3.135, 4.237, 5.563",\
                 "0.1845, 0.2559, 0.439, 0.7031, 1.07, 1.574, 2.253, 3.136, 4.232, 5.565",\
                 "0.1819, 0.2472, 0.4256, 0.6926, 1.064, 1.569, 2.253, 3.135, 4.236, 5.564",\
                 "0.1976, 0.2576, 0.4192, 0.6818, 1.056, 1.567, 2.248, 3.131, 4.236, 5.564",\
                 "0.1942, 0.2542, 0.4172, 0.6806, 1.051, 1.559, 2.246, 3.13, 4.233, 5.562",\
                 "0.1942, 0.2538, 0.4178, 0.6816, 1.053, 1.562, 2.24, 3.125, 4.231, 5.56",\
                 "0.1938, 0.2546, 0.4174, 0.6816, 1.054, 1.562, 2.243, 3.123, 4.221, 5.554",\
                 "0.1946, 0.2544, 0.4174, 0.6816, 1.055, 1.566, 2.251, 3.129, 4.225, 5.548",\
                 "0.1958, 0.2554, 0.4186, 0.6834, 1.058, 1.579, 2.279, 3.162, 4.252, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1596, 0.2236, 0.4299, 0.7984, 1.381, 2.229, 3.352, 4.782, 6.53, 8.608",\
                 "0.1585, 0.2236, 0.4302, 0.7985, 1.38, 2.229, 3.36, 4.782, 6.535, 8.61",\
                 "0.1591, 0.2236, 0.4305, 0.7974, 1.38, 2.226, 3.354, 4.787, 6.526, 8.612",\
                 "0.1576, 0.2224, 0.4288, 0.7966, 1.381, 2.227, 3.361, 4.784, 6.53, 8.608",\
                 "0.1552, 0.2206, 0.4274, 0.796, 1.382, 2.228, 3.355, 4.782, 6.529, 8.61",\
                 "0.1554, 0.22, 0.4288, 0.7942, 1.378, 2.229, 3.356, 4.781, 6.53, 8.609",\
                 "0.1558, 0.221, 0.4288, 0.7966, 1.378, 2.223, 3.355, 4.791, 6.528, 8.609",\
                 "0.1572, 0.2222, 0.4298, 0.798, 1.38, 2.224, 3.35, 4.785, 6.536, 8.605",\
                 "0.1586, 0.2222, 0.431, 0.8004, 1.39, 2.235, 3.354, 4.777, 6.523, 8.616",\
                 "0.1614, 0.2244, 0.4316, 0.8062, 1.408, 2.257, 3.375, 4.786, 6.521, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3613, 0.4259, 0.596, 0.8356, 1.136, 1.506, 1.959, 2.511, 3.178, 3.97",\
                 "0.3762, 0.4404, 0.6103, 0.85, 1.15, 1.52, 1.973, 2.526, 3.192, 3.984",\
                 "0.432, 0.4957, 0.6645, 0.9033, 1.203, 1.573, 2.026, 2.578, 3.245, 4.037",\
                 "0.5322, 0.5921, 0.7528, 0.9858, 1.283, 1.651, 2.104, 2.657, 3.323, 4.115",\
                 "0.6081, 0.6691, 0.8247, 1.05, 1.343, 1.709, 2.161, 2.713, 3.38, 4.171",\
                 "0.6215, 0.6802, 0.8337, 1.059, 1.351, 1.716, 2.166, 2.718, 3.385, 4.176",\
                 "0.5936, 0.6524, 0.8049, 1.03, 1.322, 1.687, 2.137, 2.688, 3.353, 4.145",\
                 "0.5293, 0.5873, 0.7401, 0.9645, 1.257, 1.622, 2.073, 2.624, 3.289, 4.079",\
                 "0.427, 0.4857, 0.6376, 0.8622, 1.154, 1.52, 1.973, 2.525, 3.191, 3.982",\
                 "0.2873, 0.3457, 0.4978, 0.7217, 1.014, 1.382, 1.84, 2.4, 3.072, 3.865");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4993, 0.5544, 0.7098, 0.96, 1.318, 1.807, 2.449, 3.258, 4.246, 5.424",\
                 "0.516, 0.571, 0.7263, 0.9765, 1.334, 1.823, 2.465, 3.274, 4.262, 5.436",\
                 "0.585, 0.6401, 0.7955, 1.046, 1.403, 1.893, 2.534, 3.342, 4.329, 5.51",\
                 "0.713, 0.7679, 0.9234, 1.174, 1.531, 2.02, 2.662, 3.47, 4.456, 5.637",\
                 "0.8771, 0.9319, 1.087, 1.336, 1.694, 2.183, 2.824, 3.633, 4.622, 5.799",\
                 "1.074, 1.128, 1.282, 1.532, 1.888, 2.377, 3.019, 3.828, 4.816, 5.994",\
                 "1.305, 1.359, 1.513, 1.762, 2.119, 2.607, 3.248, 4.056, 5.044, 6.223",\
                 "1.571, 1.625, 1.779, 2.028, 2.385, 2.874, 3.515, 4.321, 5.308, 6.487",\
                 "1.875, 1.929, 2.082, 2.332, 2.691, 3.184, 3.826, 4.633, 5.618, 6.793",\
                 "2.218, 2.272, 2.426, 2.675, 3.038, 3.538, 4.185, 4.995, 5.981, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1876, 0.2588, 0.4416, 0.7053, 1.071, 1.574, 2.254, 3.133, 4.236, 5.562",\
                 "0.1878, 0.2588, 0.4418, 0.7052, 1.072, 1.576, 2.254, 3.136, 4.237, 5.563",\
                 "0.1844, 0.2557, 0.4388, 0.7028, 1.07, 1.574, 2.253, 3.135, 4.232, 5.565",\
                 "0.1821, 0.2473, 0.4252, 0.6916, 1.062, 1.571, 2.251, 3.133, 4.233, 5.565",\
                 "0.1976, 0.258, 0.4202, 0.6814, 1.056, 1.567, 2.25, 3.133, 4.234, 5.562",\
                 "0.1942, 0.254, 0.4168, 0.6808, 1.052, 1.56, 2.245, 3.13, 4.234, 5.561",\
                 "0.1942, 0.254, 0.4176, 0.6814, 1.052, 1.561, 2.24, 3.124, 4.227, 5.558",\
                 "0.194, 0.2542, 0.418, 0.6816, 1.053, 1.565, 2.243, 3.124, 4.221, 5.554",\
                 "0.195, 0.2548, 0.417, 0.6816, 1.056, 1.565, 2.252, 3.132, 4.225, 5.547",\
                 "0.1962, 0.2554, 0.4184, 0.6834, 1.059, 1.579, 2.279, 3.161, 4.252, 5.562");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1596, 0.2237, 0.43, 0.7977, 1.381, 2.229, 3.353, 4.782, 6.53, 8.607",\
                 "0.1588, 0.2237, 0.43, 0.797, 1.38, 2.229, 3.36, 4.783, 6.529, 8.605",\
                 "0.1593, 0.2236, 0.4302, 0.797, 1.379, 2.226, 3.354, 4.787, 6.526, 8.612",\
                 "0.1578, 0.2228, 0.4292, 0.7978, 1.379, 2.225, 3.354, 4.784, 6.525, 8.612",\
                 "0.1554, 0.2198, 0.428, 0.7956, 1.379, 2.229, 3.361, 4.785, 6.528, 8.61",\
                 "0.1556, 0.22, 0.428, 0.7944, 1.379, 2.229, 3.355, 4.781, 6.53, 8.61",\
                 "0.1558, 0.22, 0.428, 0.7958, 1.378, 2.223, 3.356, 4.789, 6.529, 8.61",\
                 "0.1572, 0.2224, 0.4296, 0.798, 1.38, 2.223, 3.35, 4.781, 6.522, 8.602",\
                 "0.1588, 0.2226, 0.4306, 0.8006, 1.392, 2.233, 3.357, 4.777, 6.519, 8.6",\
                 "0.1612, 0.2244, 0.4316, 0.807, 1.408, 2.26, 3.373, 4.786, 6.52, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3619, 0.426, 0.5961, 0.835, 1.136, 1.505, 1.958, 2.511, 3.178, 3.969",\
                 "0.3762, 0.4404, 0.6103, 0.85, 1.15, 1.52, 1.973, 2.526, 3.192, 3.984",\
                 "0.432, 0.4957, 0.6645, 0.9033, 1.203, 1.573, 2.026, 2.578, 3.245, 4.037",\
                 "0.5322, 0.5921, 0.7524, 0.9858, 1.283, 1.651, 2.104, 2.657, 3.323, 4.115",\
                 "0.6082, 0.6691, 0.8247, 1.05, 1.343, 1.709, 2.161, 2.713, 3.38, 4.171",\
                 "0.6215, 0.6802, 0.8337, 1.059, 1.351, 1.716, 2.166, 2.718, 3.385, 4.176",\
                 "0.5937, 0.6524, 0.8049, 1.029, 1.322, 1.687, 2.137, 2.688, 3.353, 4.145",\
                 "0.529, 0.5873, 0.7401, 0.9645, 1.257, 1.622, 2.073, 2.624, 3.289, 4.079",\
                 "0.427, 0.4857, 0.6378, 0.8622, 1.154, 1.52, 1.973, 2.525, 3.191, 3.982",\
                 "0.2873, 0.3457, 0.4978, 0.7217, 1.014, 1.382, 1.84, 2.4, 3.072, 3.865");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4993, 0.5544, 0.7098, 0.96, 1.318, 1.807, 2.449, 3.258, 4.246, 5.424",\
                 "0.516, 0.571, 0.7263, 0.9765, 1.334, 1.823, 2.465, 3.274, 4.262, 5.436",\
                 "0.585, 0.6401, 0.7955, 1.046, 1.403, 1.893, 2.534, 3.342, 4.329, 5.51",\
                 "0.713, 0.7679, 0.9234, 1.174, 1.531, 2.02, 2.662, 3.47, 4.456, 5.637",\
                 "0.8771, 0.9319, 1.087, 1.336, 1.694, 2.183, 2.824, 3.633, 4.622, 5.799",\
                 "1.074, 1.128, 1.282, 1.532, 1.888, 2.377, 3.019, 3.828, 4.816, 5.994",\
                 "1.305, 1.359, 1.513, 1.762, 2.119, 2.607, 3.248, 4.056, 5.044, 6.223",\
                 "1.571, 1.625, 1.779, 2.028, 2.385, 2.874, 3.515, 4.321, 5.308, 6.487",\
                 "1.875, 1.929, 2.082, 2.332, 2.691, 3.184, 3.826, 4.633, 5.618, 6.793",\
                 "2.218, 2.272, 2.426, 2.675, 3.038, 3.538, 4.185, 4.995, 5.981, 7.155");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1881, 0.2592, 0.4418, 0.7054, 1.072, 1.575, 2.255, 3.133, 4.236, 5.562",\
                 "0.188, 0.2589, 0.442, 0.7053, 1.072, 1.576, 2.255, 3.135, 4.237, 5.563",\
                 "0.1845, 0.2559, 0.439, 0.7031, 1.07, 1.574, 2.253, 3.136, 4.232, 5.565",\
                 "0.1819, 0.2472, 0.4256, 0.6926, 1.064, 1.569, 2.253, 3.135, 4.236, 5.564",\
                 "0.1976, 0.2576, 0.4192, 0.6818, 1.056, 1.567, 2.248, 3.131, 4.236, 5.564",\
                 "0.1942, 0.2542, 0.4172, 0.6806, 1.051, 1.559, 2.246, 3.13, 4.233, 5.562",\
                 "0.1942, 0.2538, 0.4178, 0.6816, 1.053, 1.562, 2.24, 3.125, 4.231, 5.56",\
                 "0.1938, 0.2546, 0.4174, 0.6816, 1.054, 1.562, 2.243, 3.123, 4.221, 5.554",\
                 "0.1946, 0.2544, 0.4174, 0.6816, 1.055, 1.566, 2.251, 3.129, 4.225, 5.548",\
                 "0.1958, 0.2554, 0.4186, 0.6834, 1.058, 1.579, 2.279, 3.162, 4.252, 5.566");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1596, 0.2236, 0.4299, 0.7984, 1.381, 2.229, 3.352, 4.782, 6.53, 8.608",\
                 "0.1585, 0.2236, 0.4302, 0.7985, 1.38, 2.229, 3.36, 4.782, 6.535, 8.61",\
                 "0.1591, 0.2236, 0.4305, 0.7974, 1.38, 2.226, 3.354, 4.787, 6.526, 8.612",\
                 "0.1576, 0.2224, 0.4288, 0.7966, 1.381, 2.227, 3.361, 4.784, 6.53, 8.608",\
                 "0.1552, 0.2206, 0.4274, 0.796, 1.382, 2.228, 3.355, 4.782, 6.529, 8.61",\
                 "0.1554, 0.22, 0.4288, 0.7942, 1.378, 2.229, 3.356, 4.781, 6.53, 8.609",\
                 "0.1558, 0.221, 0.4288, 0.7966, 1.378, 2.223, 3.355, 4.791, 6.528, 8.609",\
                 "0.1572, 0.2222, 0.4298, 0.798, 1.38, 2.224, 3.35, 4.785, 6.536, 8.605",\
                 "0.1586, 0.2222, 0.431, 0.8004, 1.39, 2.235, 3.354, 4.777, 6.523, 8.616",\
                 "0.1614, 0.2244, 0.4316, 0.8062, 1.408, 2.257, 3.375, 4.786, 6.521, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4436, 0.5085, 0.683, 0.933, 1.247, 1.628, 2.091, 2.649, 3.319, 4.111",\
                 "0.4591, 0.5239, 0.6982, 0.9483, 1.262, 1.644, 2.106, 2.664, 3.334, 4.127",\
                 "0.5262, 0.5906, 0.7642, 1.014, 1.327, 1.709, 2.171, 2.729, 3.398, 4.192",\
                 "0.659, 0.7221, 0.8927, 1.14, 1.453, 1.834, 2.296, 2.854, 3.524, 4.317",\
                 "0.8445, 0.9082, 1.078, 1.324, 1.635, 2.016, 2.478, 3.036, 3.705, 4.498",\
                 "1.073, 1.139, 1.313, 1.561, 1.874, 2.256, 2.718, 3.276, 3.946, 4.738",\
                 "1.349, 1.418, 1.6, 1.853, 2.169, 2.553, 3.017, 3.577, 4.246, 5.038",\
                 "1.666, 1.742, 1.937, 2.201, 2.523, 2.909, 3.376, 3.937, 4.608, 5.4",\
                 "2.028, 2.109, 2.318, 2.6, 2.934, 3.329, 3.798, 4.361, 5.033, 5.827",\
                 "2.435, 2.521, 2.745, 3.047, 3.397, 3.805, 4.285, 4.852, 5.525, 6.319");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3484, 0.4044, 0.5622, 0.8151, 1.174, 1.664, 2.305, 3.113, 4.101, 5.281",\
                 "0.3614, 0.4174, 0.5752, 0.8281, 1.187, 1.677, 2.318, 3.127, 4.114, 5.294",\
                 "0.4063, 0.462, 0.6194, 0.8721, 1.231, 1.721, 2.363, 3.172, 4.161, 5.337",\
                 "0.4789, 0.5328, 0.6873, 0.9381, 1.296, 1.786, 2.427, 3.236, 4.223, 5.401",\
                 "0.5356, 0.5893, 0.7421, 0.9923, 1.351, 1.84, 2.481, 3.29, 4.278, 5.453",\
                 "0.5644, 0.6205, 0.7738, 1.023, 1.381, 1.87, 2.512, 3.319, 4.306, 5.481",\
                 "0.5571, 0.6169, 0.7742, 1.025, 1.383, 1.871, 2.512, 3.319, 4.306, 5.481",\
                 "0.5068, 0.5714, 0.7354, 0.9905, 1.351, 1.841, 2.481, 3.288, 4.274, 5.448",\
                 "0.4083, 0.4774, 0.6497, 0.9102, 1.276, 1.771, 2.413, 3.219, 4.204, 5.379",\
                 "0.2593, 0.3325, 0.5144, 0.7816, 1.153, 1.653, 2.302, 3.111, 4.096, 5.27");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1936, 0.2678, 0.4627, 0.7401, 1.116, 1.62, 2.293, 3.164, 4.256, 5.571",\
                 "0.1932, 0.2672, 0.4624, 0.7397, 1.116, 1.623, 2.294, 3.162, 4.254, 5.574",\
                 "0.1913, 0.2654, 0.46, 0.7382, 1.114, 1.619, 2.291, 3.166, 4.254, 5.571",\
                 "0.1878, 0.261, 0.4554, 0.7346, 1.112, 1.62, 2.291, 3.161, 4.254, 5.573",\
                 "0.1998, 0.2702, 0.4578, 0.7344, 1.112, 1.62, 2.293, 3.162, 4.254, 5.574",\
                 "0.2166, 0.2874, 0.4746, 0.746, 1.12, 1.626, 2.297, 3.167, 4.257, 5.576",\
                 "0.2422, 0.3166, 0.502, 0.7674, 1.136, 1.638, 2.307, 3.172, 4.259, 5.578",\
                 "0.2746, 0.3546, 0.547, 0.8042, 1.162, 1.658, 2.321, 3.184, 4.268, 5.582",\
                 "0.3082, 0.396, 0.6036, 0.8606, 1.21, 1.689, 2.344, 3.197, 4.275, 5.584",\
                 "0.344, 0.439, 0.6644, 0.9308, 1.274, 1.749, 2.387, 3.225, 4.292, 5.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.159, 0.2245, 0.4309, 0.7996, 1.381, 2.23, 3.361, 4.789, 6.527, 8.61",\
                 "0.1588, 0.2244, 0.4308, 0.7995, 1.381, 2.23, 3.361, 4.789, 6.528, 8.609",\
                 "0.1574, 0.2226, 0.4306, 0.7993, 1.383, 2.229, 3.355, 4.784, 6.529, 8.611",\
                 "0.1549, 0.2197, 0.4294, 0.7996, 1.381, 2.23, 3.361, 4.78, 6.532, 8.609",\
                 "0.165, 0.2268, 0.4336, 0.804, 1.385, 2.23, 3.356, 4.784, 6.526, 8.62",\
                 "0.1822, 0.242, 0.4422, 0.8104, 1.391, 2.236, 3.361, 4.783, 6.528, 8.613",\
                 "0.206, 0.2652, 0.458, 0.8224, 1.397, 2.238, 3.362, 4.788, 6.526, 8.608",\
                 "0.2346, 0.2946, 0.4826, 0.8434, 1.415, 2.246, 3.365, 4.789, 6.538, 8.603",\
                 "0.2618, 0.3248, 0.5118, 0.8704, 1.442, 2.271, 3.38, 4.794, 6.533, 8.615",\
                 "0.289, 0.3582, 0.5462, 0.8978, 1.472, 2.304, 3.415, 4.814, 6.538, 8.613");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4427, 0.5075, 0.6818, 0.9318, 1.246, 1.628, 2.09, 2.649, 3.318, 4.111",\
                 "0.4582, 0.5229, 0.697, 0.9471, 1.261, 1.643, 2.105, 2.664, 3.334, 4.127",\
                 "0.5253, 0.5897, 0.7628, 1.012, 1.326, 1.708, 2.17, 2.729, 3.398, 4.192",\
                 "0.6583, 0.7213, 0.8918, 1.14, 1.452, 1.833, 2.296, 2.854, 3.524, 4.317",\
                 "0.8438, 0.9074, 1.078, 1.323, 1.634, 2.015, 2.478, 3.036, 3.705, 4.498",\
                 "1.073, 1.139, 1.312, 1.561, 1.873, 2.255, 2.718, 3.276, 3.946, 4.738",\
                 "1.348, 1.418, 1.599, 1.853, 2.168, 2.553, 3.017, 3.577, 4.246, 5.039",\
                 "1.666, 1.742, 1.936, 2.201, 2.522, 2.909, 3.376, 3.937, 4.608, 5.401",\
                 "2.027, 2.108, 2.317, 2.599, 2.934, 3.328, 3.798, 4.362, 5.033, 5.827",\
                 "2.433, 2.521, 2.745, 3.046, 3.397, 3.805, 4.285, 4.852, 5.526, 6.32");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3479, 0.4038, 0.5617, 0.8146, 1.174, 1.663, 2.305, 3.114, 4.101, 5.28",\
                 "0.3609, 0.4168, 0.5746, 0.8276, 1.187, 1.676, 2.318, 3.126, 4.114, 5.294",\
                 "0.4059, 0.4615, 0.6189, 0.8717, 1.231, 1.721, 2.363, 3.171, 4.16, 5.333",\
                 "0.4788, 0.5326, 0.687, 0.938, 1.297, 1.786, 2.427, 3.236, 4.223, 5.401",\
                 "0.5354, 0.5894, 0.7423, 0.9924, 1.351, 1.84, 2.481, 3.289, 4.275, 5.455",\
                 "0.5645, 0.6205, 0.7738, 1.023, 1.381, 1.871, 2.512, 3.319, 4.307, 5.48",\
                 "0.5571, 0.6169, 0.7743, 1.025, 1.383, 1.872, 2.513, 3.32, 4.306, 5.483",\
                 "0.5072, 0.5716, 0.7357, 0.9907, 1.352, 1.842, 2.481, 3.288, 4.274, 5.449",\
                 "0.4087, 0.4776, 0.6502, 0.9104, 1.277, 1.771, 2.414, 3.219, 4.204, 5.379",\
                 "0.2599, 0.333, 0.5149, 0.7816, 1.153, 1.653, 2.302, 3.112, 4.097, 5.271");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.193, 0.2672, 0.4623, 0.7401, 1.116, 1.621, 2.294, 3.166, 4.256, 5.57",\
                 "0.1924, 0.2667, 0.4618, 0.7398, 1.117, 1.623, 2.295, 3.163, 4.255, 5.573",\
                 "0.1908, 0.2649, 0.4595, 0.7384, 1.115, 1.623, 2.295, 3.167, 4.254, 5.572",\
                 "0.1874, 0.2604, 0.4554, 0.7346, 1.114, 1.62, 2.293, 3.166, 4.256, 5.577",\
                 "0.199, 0.27, 0.4574, 0.735, 1.113, 1.621, 2.295, 3.163, 4.256, 5.577",\
                 "0.216, 0.2872, 0.4734, 0.7466, 1.121, 1.627, 2.298, 3.167, 4.257, 5.572",\
                 "0.242, 0.3164, 0.5014, 0.7676, 1.136, 1.639, 2.309, 3.17, 4.26, 5.578",\
                 "0.2744, 0.3544, 0.5472, 0.8046, 1.162, 1.657, 2.321, 3.185, 4.268, 5.582",\
                 "0.309, 0.3964, 0.604, 0.8612, 1.21, 1.691, 2.342, 3.198, 4.277, 5.59",\
                 "0.344, 0.4394, 0.6644, 0.932, 1.275, 1.753, 2.387, 3.23, 4.292, 5.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1588, 0.2249, 0.431, 0.7995, 1.381, 2.23, 3.354, 4.782, 6.528, 8.607",\
                 "0.1586, 0.2242, 0.4309, 0.7996, 1.381, 2.23, 3.353, 4.79, 6.528, 8.609",\
                 "0.1569, 0.2226, 0.4305, 0.7988, 1.382, 2.226, 3.359, 4.783, 6.528, 8.608",\
                 "0.155, 0.2196, 0.429, 0.7998, 1.381, 2.23, 3.353, 4.781, 6.531, 8.609",\
                 "0.165, 0.2264, 0.4332, 0.804, 1.387, 2.231, 3.36, 4.783, 6.524, 8.611",\
                 "0.1824, 0.2422, 0.442, 0.81, 1.391, 2.234, 3.357, 4.783, 6.528, 8.612",\
                 "0.206, 0.2646, 0.4578, 0.8232, 1.397, 2.237, 3.363, 4.786, 6.525, 8.607",\
                 "0.2324, 0.2942, 0.4826, 0.8434, 1.416, 2.246, 3.367, 4.788, 6.539, 8.602",\
                 "0.2618, 0.325, 0.5112, 0.87, 1.441, 2.271, 3.378, 4.794, 6.532, 8.614",\
                 "0.2894, 0.3584, 0.5444, 0.9002, 1.472, 2.304, 3.413, 4.814, 6.541, 8.612");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4427, 0.5075, 0.6818, 0.9318, 1.246, 1.628, 2.09, 2.649, 3.318, 4.111",\
                 "0.4582, 0.5229, 0.697, 0.9471, 1.261, 1.643, 2.105, 2.664, 3.334, 4.127",\
                 "0.5253, 0.5897, 0.7628, 1.012, 1.326, 1.708, 2.17, 2.729, 3.398, 4.192",\
                 "0.6583, 0.7213, 0.8918, 1.14, 1.452, 1.833, 2.296, 2.854, 3.524, 4.317",\
                 "0.8438, 0.9074, 1.078, 1.323, 1.634, 2.015, 2.478, 3.036, 3.705, 4.498",\
                 "1.073, 1.139, 1.312, 1.561, 1.873, 2.255, 2.718, 3.276, 3.946, 4.738",\
                 "1.348, 1.418, 1.599, 1.853, 2.168, 2.553, 3.017, 3.577, 4.246, 5.039",\
                 "1.666, 1.742, 1.936, 2.2, 2.522, 2.909, 3.376, 3.937, 4.608, 5.401",\
                 "2.026, 2.108, 2.318, 2.599, 2.933, 3.328, 3.798, 4.361, 5.033, 5.827",\
                 "2.433, 2.521, 2.745, 3.046, 3.397, 3.805, 4.285, 4.852, 5.526, 6.32");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3479, 0.4038, 0.5617, 0.8146, 1.174, 1.663, 2.305, 3.114, 4.101, 5.28",\
                 "0.3609, 0.4168, 0.5746, 0.8276, 1.187, 1.676, 2.318, 3.126, 4.114, 5.294",\
                 "0.4059, 0.4615, 0.6189, 0.8717, 1.231, 1.721, 2.363, 3.171, 4.16, 5.333",\
                 "0.4788, 0.5326, 0.687, 0.938, 1.297, 1.786, 2.427, 3.236, 4.223, 5.401",\
                 "0.5354, 0.5894, 0.7421, 0.9921, 1.351, 1.84, 2.481, 3.289, 4.275, 5.456",\
                 "0.5645, 0.6205, 0.7738, 1.023, 1.381, 1.871, 2.512, 3.319, 4.307, 5.481",\
                 "0.5572, 0.617, 0.7744, 1.025, 1.383, 1.871, 2.513, 3.32, 4.306, 5.48",\
                 "0.5072, 0.5716, 0.7357, 0.9908, 1.352, 1.842, 2.481, 3.288, 4.274, 5.449",\
                 "0.4087, 0.4776, 0.6502, 0.9105, 1.277, 1.771, 2.413, 3.219, 4.204, 5.38",\
                 "0.2599, 0.333, 0.5149, 0.7816, 1.153, 1.653, 2.302, 3.112, 4.097, 5.271");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.193, 0.2672, 0.4623, 0.7401, 1.116, 1.621, 2.294, 3.166, 4.256, 5.57",\
                 "0.1924, 0.2667, 0.4618, 0.7398, 1.117, 1.623, 2.295, 3.163, 4.255, 5.573",\
                 "0.1908, 0.2649, 0.4595, 0.7384, 1.115, 1.623, 2.295, 3.167, 4.254, 5.572",\
                 "0.1874, 0.2604, 0.4554, 0.7344, 1.114, 1.621, 2.293, 3.166, 4.256, 5.577",\
                 "0.199, 0.27, 0.4574, 0.7348, 1.113, 1.621, 2.295, 3.164, 4.256, 5.577",\
                 "0.217, 0.2874, 0.4742, 0.7466, 1.121, 1.627, 2.298, 3.167, 4.255, 5.573",\
                 "0.242, 0.3164, 0.5014, 0.7676, 1.136, 1.639, 2.309, 3.174, 4.26, 5.578",\
                 "0.2744, 0.3548, 0.5472, 0.8052, 1.162, 1.657, 2.322, 3.184, 4.266, 5.582",\
                 "0.3086, 0.3964, 0.6032, 0.8618, 1.209, 1.69, 2.344, 3.198, 4.276, 5.59",\
                 "0.344, 0.4394, 0.6644, 0.9314, 1.275, 1.753, 2.387, 3.228, 4.292, 5.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1588, 0.2244, 0.431, 0.7995, 1.381, 2.23, 3.354, 4.79, 6.528, 8.608",\
                 "0.1585, 0.2242, 0.4309, 0.7996, 1.381, 2.23, 3.353, 4.79, 6.528, 8.609",\
                 "0.1569, 0.2226, 0.4305, 0.7988, 1.382, 2.226, 3.359, 4.783, 6.528, 8.608",\
                 "0.1547, 0.2195, 0.4292, 0.7998, 1.381, 2.23, 3.361, 4.78, 6.53, 8.609",\
                 "0.165, 0.2264, 0.4338, 0.804, 1.385, 2.23, 3.355, 4.782, 6.526, 8.61",\
                 "0.1824, 0.2422, 0.442, 0.81, 1.391, 2.234, 3.356, 4.783, 6.528, 8.613",\
                 "0.2058, 0.2646, 0.4576, 0.8232, 1.399, 2.237, 3.361, 4.786, 6.525, 8.604",\
                 "0.2324, 0.2942, 0.4826, 0.8442, 1.416, 2.246, 3.366, 4.788, 6.539, 8.602",\
                 "0.2618, 0.325, 0.5112, 0.8702, 1.441, 2.27, 3.383, 4.793, 6.532, 8.612",\
                 "0.2894, 0.3584, 0.5444, 0.9002, 1.471, 2.304, 3.413, 4.812, 6.541, 8.61");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4436, 0.5085, 0.683, 0.933, 1.247, 1.628, 2.091, 2.649, 3.319, 4.111",\
                 "0.4591, 0.5239, 0.6982, 0.9483, 1.262, 1.644, 2.106, 2.664, 3.334, 4.127",\
                 "0.5262, 0.5906, 0.7642, 1.014, 1.327, 1.709, 2.171, 2.729, 3.398, 4.192",\
                 "0.659, 0.7221, 0.8927, 1.14, 1.453, 1.834, 2.296, 2.854, 3.524, 4.316",\
                 "0.8445, 0.9082, 1.078, 1.324, 1.635, 2.016, 2.478, 3.036, 3.705, 4.498",\
                 "1.073, 1.139, 1.313, 1.561, 1.874, 2.256, 2.718, 3.276, 3.945, 4.738",\
                 "1.349, 1.419, 1.6, 1.853, 2.169, 2.553, 3.017, 3.577, 4.246, 5.038",\
                 "1.667, 1.742, 1.936, 2.201, 2.523, 2.909, 3.376, 3.937, 4.608, 5.4",\
                 "2.028, 2.109, 2.318, 2.6, 2.934, 3.329, 3.798, 4.361, 5.033, 5.827",\
                 "2.435, 2.521, 2.745, 3.046, 3.397, 3.805, 4.285, 4.852, 5.525, 6.319");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3486, 0.4044, 0.5623, 0.8151, 1.174, 1.664, 2.306, 3.114, 4.102, 5.281",\
                 "0.3614, 0.4174, 0.5752, 0.8281, 1.187, 1.677, 2.318, 3.127, 4.114, 5.294",\
                 "0.4063, 0.462, 0.6195, 0.8721, 1.231, 1.721, 2.363, 3.172, 4.161, 5.337",\
                 "0.4789, 0.5328, 0.6872, 0.9381, 1.296, 1.786, 2.427, 3.235, 4.222, 5.401",\
                 "0.5355, 0.5893, 0.7421, 0.9922, 1.351, 1.84, 2.481, 3.29, 4.278, 5.454",\
                 "0.5642, 0.6205, 0.7738, 1.023, 1.381, 1.87, 2.511, 3.319, 4.306, 5.484",\
                 "0.5571, 0.6169, 0.7742, 1.025, 1.383, 1.871, 2.512, 3.319, 4.306, 5.481",\
                 "0.5068, 0.5714, 0.7354, 0.9905, 1.352, 1.841, 2.481, 3.288, 4.274, 5.448",\
                 "0.4083, 0.4771, 0.6497, 0.9103, 1.276, 1.771, 2.413, 3.219, 4.204, 5.379",\
                 "0.2593, 0.3323, 0.5144, 0.7816, 1.153, 1.653, 2.302, 3.111, 4.096, 5.27");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1936, 0.2678, 0.4627, 0.7401, 1.116, 1.62, 2.293, 3.164, 4.256, 5.572",\
                 "0.1933, 0.2672, 0.4624, 0.7397, 1.116, 1.623, 2.294, 3.162, 4.254, 5.574",\
                 "0.1913, 0.2654, 0.46, 0.7382, 1.114, 1.619, 2.291, 3.166, 4.254, 5.571",\
                 "0.1878, 0.261, 0.4554, 0.7346, 1.112, 1.62, 2.293, 3.161, 4.254, 5.576",\
                 "0.1998, 0.2702, 0.4578, 0.7344, 1.112, 1.62, 2.293, 3.162, 4.254, 5.574",\
                 "0.2162, 0.2874, 0.4746, 0.7464, 1.12, 1.624, 2.295, 3.166, 4.253, 5.577",\
                 "0.242, 0.3162, 0.502, 0.7674, 1.136, 1.638, 2.307, 3.172, 4.259, 5.578",\
                 "0.2744, 0.3546, 0.547, 0.8042, 1.162, 1.658, 2.321, 3.183, 4.268, 5.582",\
                 "0.3086, 0.396, 0.604, 0.8604, 1.21, 1.691, 2.344, 3.198, 4.276, 5.589",\
                 "0.344, 0.439, 0.6638, 0.931, 1.274, 1.751, 2.387, 3.225, 4.292, 5.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1591, 0.2248, 0.4317, 0.7994, 1.381, 2.227, 3.354, 4.782, 6.529, 8.607",\
                 "0.1588, 0.2244, 0.4308, 0.7994, 1.381, 2.23, 3.354, 4.79, 6.528, 8.609",\
                 "0.1574, 0.2226, 0.4306, 0.7991, 1.383, 2.229, 3.355, 4.784, 6.529, 8.611",\
                 "0.1549, 0.2197, 0.4294, 0.7998, 1.381, 2.23, 3.361, 4.784, 6.527, 8.609",\
                 "0.1648, 0.2268, 0.4338, 0.8038, 1.384, 2.23, 3.356, 4.784, 6.527, 8.623",\
                 "0.1828, 0.242, 0.4422, 0.8104, 1.391, 2.236, 3.359, 4.783, 6.528, 8.612",\
                 "0.2062, 0.2652, 0.458, 0.8224, 1.397, 2.237, 3.361, 4.785, 6.528, 8.608",\
                 "0.2346, 0.2946, 0.4826, 0.8434, 1.416, 2.247, 3.365, 4.788, 6.538, 8.603",\
                 "0.2616, 0.325, 0.5118, 0.8692, 1.444, 2.272, 3.378, 4.793, 6.532, 8.609",\
                 "0.289, 0.3576, 0.5462, 0.8986, 1.471, 2.304, 3.415, 4.813, 6.538, 8.613");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4427, 0.5076, 0.6818, 0.9318, 1.246, 1.628, 2.09, 2.649, 3.318, 4.111",\
                 "0.4582, 0.5229, 0.697, 0.9471, 1.261, 1.643, 2.105, 2.664, 3.334, 4.127",\
                 "0.5253, 0.5897, 0.7628, 1.012, 1.326, 1.708, 2.17, 2.729, 3.398, 4.192",\
                 "0.6583, 0.7213, 0.8919, 1.14, 1.452, 1.833, 2.296, 2.854, 3.524, 4.317",\
                 "0.8438, 0.9074, 1.078, 1.323, 1.634, 2.015, 2.478, 3.036, 3.705, 4.498",\
                 "1.073, 1.139, 1.312, 1.561, 1.873, 2.255, 2.718, 3.276, 3.946, 4.738",\
                 "1.348, 1.418, 1.6, 1.853, 2.168, 2.553, 3.017, 3.577, 4.246, 5.039",\
                 "1.666, 1.742, 1.936, 2.201, 2.522, 2.909, 3.376, 3.937, 4.608, 5.401",\
                 "2.026, 2.108, 2.317, 2.599, 2.934, 3.328, 3.798, 4.362, 5.033, 5.827",\
                 "2.434, 2.521, 2.745, 3.046, 3.397, 3.805, 4.285, 4.852, 5.526, 6.32");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3479, 0.4038, 0.5617, 0.8146, 1.174, 1.664, 2.305, 3.113, 4.1, 5.281",\
                 "0.3609, 0.4168, 0.5746, 0.8276, 1.187, 1.676, 2.318, 3.126, 4.112, 5.294",\
                 "0.4059, 0.4615, 0.6189, 0.8717, 1.231, 1.721, 2.363, 3.171, 4.16, 5.333",\
                 "0.4788, 0.5326, 0.687, 0.938, 1.297, 1.786, 2.427, 3.236, 4.223, 5.401",\
                 "0.5354, 0.5894, 0.742, 0.9921, 1.351, 1.84, 2.481, 3.29, 4.274, 5.454",\
                 "0.5645, 0.6205, 0.7738, 1.023, 1.381, 1.871, 2.512, 3.319, 4.307, 5.48",\
                 "0.5571, 0.6169, 0.7742, 1.025, 1.383, 1.872, 2.513, 3.32, 4.306, 5.481",\
                 "0.5072, 0.5716, 0.7357, 0.9907, 1.352, 1.842, 2.481, 3.288, 4.274, 5.448",\
                 "0.4087, 0.4776, 0.6498, 0.9106, 1.276, 1.771, 2.414, 3.219, 4.203, 5.379",\
                 "0.2599, 0.333, 0.5149, 0.7819, 1.153, 1.653, 2.302, 3.112, 4.096, 5.271");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1932, 0.2672, 0.4623, 0.7401, 1.116, 1.621, 2.293, 3.166, 4.256, 5.569",\
                 "0.1924, 0.2667, 0.4618, 0.7398, 1.117, 1.623, 2.295, 3.163, 4.255, 5.573",\
                 "0.1908, 0.2649, 0.4595, 0.7384, 1.115, 1.623, 2.295, 3.167, 4.254, 5.572",\
                 "0.1874, 0.2604, 0.4556, 0.7346, 1.114, 1.621, 2.293, 3.166, 4.256, 5.577",\
                 "0.199, 0.27, 0.4574, 0.735, 1.113, 1.621, 2.295, 3.165, 4.256, 5.577",\
                 "0.216, 0.2872, 0.4734, 0.7466, 1.12, 1.625, 2.296, 3.167, 4.254, 5.577",\
                 "0.242, 0.3164, 0.5008, 0.7676, 1.136, 1.639, 2.309, 3.17, 4.26, 5.578",\
                 "0.274, 0.3544, 0.5472, 0.8046, 1.162, 1.657, 2.321, 3.185, 4.268, 5.582",\
                 "0.3086, 0.3964, 0.604, 0.8616, 1.209, 1.691, 2.344, 3.198, 4.277, 5.59",\
                 "0.3442, 0.4394, 0.6646, 0.9312, 1.275, 1.753, 2.387, 3.23, 4.292, 5.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1588, 0.2243, 0.431, 0.8013, 1.381, 2.227, 3.361, 4.788, 6.527, 8.61",\
                 "0.1585, 0.2242, 0.4309, 0.7998, 1.382, 2.23, 3.36, 4.785, 6.525, 8.611",\
                 "0.1569, 0.2226, 0.4305, 0.7988, 1.382, 2.226, 3.359, 4.783, 6.528, 8.607",\
                 "0.1551, 0.2198, 0.4292, 0.7998, 1.381, 2.23, 3.353, 4.781, 6.531, 8.609",\
                 "0.165, 0.2264, 0.434, 0.804, 1.385, 2.227, 3.355, 4.783, 6.525, 8.624",\
                 "0.1822, 0.2422, 0.442, 0.8098, 1.391, 2.232, 3.356, 4.783, 6.528, 8.611",\
                 "0.2058, 0.2648, 0.4578, 0.8232, 1.399, 2.236, 3.361, 4.784, 6.524, 8.6",\
                 "0.2324, 0.2942, 0.4826, 0.8434, 1.416, 2.247, 3.366, 4.789, 6.538, 8.606",\
                 "0.2618, 0.325, 0.5126, 0.8708, 1.442, 2.269, 3.378, 4.793, 6.531, 8.614",\
                 "0.2894, 0.3584, 0.5444, 0.901, 1.472, 2.304, 3.414, 4.812, 6.541, 8.614");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4427, 0.5076, 0.6818, 0.9318, 1.246, 1.628, 2.09, 2.649, 3.318, 4.111",\
                 "0.4582, 0.5229, 0.697, 0.9471, 1.261, 1.643, 2.105, 2.664, 3.334, 4.127",\
                 "0.5253, 0.5897, 0.7628, 1.012, 1.326, 1.708, 2.17, 2.729, 3.398, 4.192",\
                 "0.6583, 0.7213, 0.892, 1.14, 1.452, 1.833, 2.296, 2.854, 3.524, 4.317",\
                 "0.8438, 0.9074, 1.078, 1.323, 1.634, 2.015, 2.478, 3.036, 3.705, 4.498",\
                 "1.073, 1.139, 1.312, 1.56, 1.873, 2.255, 2.718, 3.276, 3.946, 4.738",\
                 "1.348, 1.418, 1.599, 1.853, 2.168, 2.553, 3.017, 3.577, 4.246, 5.039",\
                 "1.666, 1.742, 1.936, 2.2, 2.522, 2.909, 3.376, 3.937, 4.608, 5.401",\
                 "2.027, 2.108, 2.318, 2.599, 2.933, 3.328, 3.799, 4.361, 5.034, 5.827",\
                 "2.434, 2.52, 2.745, 3.046, 3.397, 3.805, 4.285, 4.852, 5.526, 6.32");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3479, 0.4038, 0.5617, 0.8146, 1.174, 1.663, 2.305, 3.113, 4.101, 5.28",\
                 "0.3609, 0.4168, 0.5746, 0.8276, 1.187, 1.676, 2.318, 3.126, 4.112, 5.294",\
                 "0.4059, 0.4615, 0.6189, 0.8717, 1.231, 1.721, 2.363, 3.171, 4.16, 5.333",\
                 "0.4788, 0.5326, 0.687, 0.938, 1.297, 1.786, 2.427, 3.236, 4.223, 5.401",\
                 "0.5354, 0.5894, 0.7421, 0.9921, 1.351, 1.84, 2.481, 3.29, 4.274, 5.454",\
                 "0.5645, 0.6205, 0.7738, 1.023, 1.381, 1.871, 2.512, 3.319, 4.307, 5.481",\
                 "0.5572, 0.617, 0.7744, 1.025, 1.383, 1.871, 2.513, 3.32, 4.306, 5.48",\
                 "0.5072, 0.5716, 0.7357, 0.9908, 1.352, 1.842, 2.481, 3.288, 4.274, 5.448",\
                 "0.4087, 0.4776, 0.6503, 0.9106, 1.277, 1.771, 2.414, 3.219, 4.204, 5.379",\
                 "0.2599, 0.333, 0.5149, 0.7819, 1.153, 1.653, 2.302, 3.112, 4.096, 5.271");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.193, 0.2672, 0.4623, 0.7401, 1.116, 1.621, 2.293, 3.166, 4.256, 5.569",\
                 "0.1924, 0.2667, 0.4618, 0.7398, 1.117, 1.623, 2.295, 3.163, 4.255, 5.573",\
                 "0.1908, 0.2649, 0.4595, 0.7384, 1.115, 1.623, 2.295, 3.167, 4.254, 5.572",\
                 "0.1874, 0.2604, 0.4548, 0.7346, 1.114, 1.621, 2.293, 3.166, 4.256, 5.577",\
                 "0.199, 0.27, 0.4574, 0.7348, 1.113, 1.621, 2.295, 3.164, 4.256, 5.577",\
                 "0.217, 0.2874, 0.474, 0.7468, 1.121, 1.627, 2.298, 3.167, 4.257, 5.573",\
                 "0.242, 0.3168, 0.5014, 0.7676, 1.136, 1.639, 2.309, 3.174, 4.26, 5.578",\
                 "0.2742, 0.3548, 0.547, 0.8052, 1.162, 1.657, 2.322, 3.184, 4.266, 5.582",\
                 "0.3086, 0.396, 0.6032, 0.862, 1.211, 1.691, 2.345, 3.199, 4.277, 5.59",\
                 "0.3442, 0.4394, 0.6646, 0.932, 1.275, 1.753, 2.387, 3.228, 4.292, 5.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1588, 0.2249, 0.431, 0.7997, 1.381, 2.23, 3.359, 4.781, 6.528, 8.611",\
                 "0.1585, 0.2242, 0.4309, 0.7998, 1.382, 2.23, 3.36, 4.785, 6.525, 8.611",\
                 "0.1569, 0.2226, 0.4305, 0.7988, 1.382, 2.226, 3.359, 4.783, 6.528, 8.607",\
                 "0.1556, 0.2198, 0.4292, 0.7998, 1.381, 2.23, 3.353, 4.781, 6.531, 8.609",\
                 "0.165, 0.2266, 0.4338, 0.804, 1.385, 2.227, 3.355, 4.782, 6.525, 8.611",\
                 "0.1822, 0.2422, 0.442, 0.8098, 1.391, 2.234, 3.358, 4.783, 6.528, 8.613",\
                 "0.2058, 0.2646, 0.4582, 0.8224, 1.399, 2.237, 3.361, 4.783, 6.526, 8.606",\
                 "0.2324, 0.2942, 0.4826, 0.8442, 1.416, 2.247, 3.366, 4.789, 6.537, 8.606",\
                 "0.2618, 0.325, 0.512, 0.8708, 1.441, 2.269, 3.378, 4.794, 6.532, 8.609",\
                 "0.2894, 0.3584, 0.5444, 0.901, 1.471, 2.304, 3.413, 4.812, 6.541, 8.614");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4436, 0.5085, 0.683, 0.933, 1.247, 1.628, 2.091, 2.649, 3.319, 4.111",\
                 "0.4591, 0.5239, 0.6982, 0.9483, 1.262, 1.644, 2.106, 2.664, 3.334, 4.127",\
                 "0.5262, 0.5906, 0.7642, 1.014, 1.327, 1.709, 2.171, 2.729, 3.398, 4.192",\
                 "0.659, 0.7221, 0.8927, 1.14, 1.453, 1.834, 2.296, 2.854, 3.524, 4.316",\
                 "0.8445, 0.9082, 1.078, 1.324, 1.635, 2.016, 2.478, 3.036, 3.705, 4.498",\
                 "1.073, 1.139, 1.313, 1.561, 1.874, 2.256, 2.718, 3.276, 3.945, 4.738",\
                 "1.349, 1.419, 1.6, 1.853, 2.169, 2.553, 3.017, 3.577, 4.246, 5.038",\
                 "1.667, 1.742, 1.936, 2.201, 2.523, 2.909, 3.376, 3.937, 4.608, 5.4",\
                 "2.028, 2.109, 2.318, 2.6, 2.934, 3.329, 3.798, 4.361, 5.033, 5.827",\
                 "2.435, 2.521, 2.745, 3.047, 3.397, 3.805, 4.285, 4.852, 5.525, 6.319");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3484, 0.4044, 0.5622, 0.8151, 1.174, 1.664, 2.305, 3.113, 4.101, 5.281",\
                 "0.3614, 0.4174, 0.5752, 0.8281, 1.187, 1.677, 2.318, 3.126, 4.114, 5.294",\
                 "0.4063, 0.462, 0.6194, 0.8721, 1.231, 1.721, 2.363, 3.172, 4.161, 5.337",\
                 "0.4789, 0.5328, 0.6873, 0.9381, 1.296, 1.786, 2.427, 3.236, 4.222, 5.401",\
                 "0.5355, 0.5894, 0.7423, 0.9925, 1.351, 1.84, 2.481, 3.289, 4.277, 5.455",\
                 "0.5642, 0.6205, 0.7738, 1.023, 1.381, 1.87, 2.511, 3.319, 4.306, 5.484",\
                 "0.5572, 0.6169, 0.7742, 1.025, 1.383, 1.871, 2.512, 3.319, 4.305, 5.481",\
                 "0.5068, 0.5714, 0.7354, 0.9905, 1.351, 1.841, 2.481, 3.288, 4.274, 5.448",\
                 "0.4083, 0.4771, 0.6497, 0.9103, 1.276, 1.771, 2.413, 3.219, 4.204, 5.379",\
                 "0.2593, 0.3323, 0.5144, 0.7815, 1.153, 1.653, 2.302, 3.111, 4.096, 5.27");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1936, 0.2678, 0.4627, 0.7401, 1.116, 1.62, 2.293, 3.164, 4.256, 5.572",\
                 "0.1933, 0.2672, 0.4624, 0.7397, 1.116, 1.623, 2.294, 3.162, 4.254, 5.574",\
                 "0.1913, 0.2654, 0.46, 0.7382, 1.114, 1.619, 2.291, 3.166, 4.254, 5.571",\
                 "0.1876, 0.261, 0.4554, 0.7344, 1.112, 1.619, 2.293, 3.161, 4.254, 5.576",\
                 "0.1998, 0.2702, 0.4578, 0.7344, 1.112, 1.62, 2.293, 3.162, 4.254, 5.574",\
                 "0.2162, 0.2874, 0.4746, 0.7464, 1.12, 1.624, 2.295, 3.167, 4.253, 5.577",\
                 "0.2422, 0.316, 0.502, 0.7674, 1.136, 1.638, 2.307, 3.17, 4.259, 5.578",\
                 "0.2744, 0.3546, 0.5466, 0.8042, 1.162, 1.658, 2.321, 3.184, 4.268, 5.582",\
                 "0.3084, 0.396, 0.604, 0.8606, 1.21, 1.691, 2.344, 3.198, 4.276, 5.589",\
                 "0.344, 0.439, 0.6646, 0.9306, 1.275, 1.749, 2.387, 3.225, 4.292, 5.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1589, 0.2247, 0.4309, 0.7996, 1.381, 2.23, 3.361, 4.789, 6.527, 8.609",\
                 "0.1588, 0.2244, 0.4309, 0.7995, 1.381, 2.23, 3.361, 4.789, 6.527, 8.609",\
                 "0.1574, 0.2226, 0.4306, 0.7993, 1.383, 2.229, 3.355, 4.784, 6.529, 8.611",\
                 "0.1548, 0.2197, 0.4294, 0.7998, 1.381, 2.23, 3.361, 4.78, 6.528, 8.609",\
                 "0.1656, 0.2272, 0.434, 0.804, 1.385, 2.23, 3.356, 4.782, 6.529, 8.606",\
                 "0.1828, 0.242, 0.4422, 0.8104, 1.391, 2.236, 3.359, 4.783, 6.528, 8.612",\
                 "0.2058, 0.2652, 0.458, 0.8224, 1.397, 2.237, 3.362, 4.784, 6.538, 8.603",\
                 "0.2346, 0.2946, 0.4826, 0.8434, 1.415, 2.247, 3.365, 4.789, 6.538, 8.603",\
                 "0.2616, 0.3248, 0.5118, 0.8694, 1.442, 2.272, 3.378, 4.793, 6.532, 8.609",\
                 "0.289, 0.3576, 0.5462, 0.8986, 1.471, 2.304, 3.415, 4.813, 6.538, 8.613");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4436, 0.5085, 0.683, 0.933, 1.247, 1.628, 2.091, 2.649, 3.319, 4.111",\
                 "0.4591, 0.5239, 0.6982, 0.9483, 1.262, 1.644, 2.106, 2.664, 3.334, 4.127",\
                 "0.5262, 0.5906, 0.7642, 1.014, 1.327, 1.709, 2.171, 2.729, 3.398, 4.192",\
                 "0.659, 0.7221, 0.8927, 1.14, 1.453, 1.834, 2.296, 2.854, 3.524, 4.316",\
                 "0.8445, 0.9082, 1.078, 1.324, 1.635, 2.016, 2.478, 3.036, 3.705, 4.498",\
                 "1.073, 1.139, 1.313, 1.561, 1.874, 2.256, 2.718, 3.276, 3.945, 4.738",\
                 "1.349, 1.419, 1.6, 1.853, 2.169, 2.553, 3.017, 3.577, 4.246, 5.038",\
                 "1.666, 1.742, 1.937, 2.201, 2.523, 2.909, 3.376, 3.937, 4.608, 5.4",\
                 "2.028, 2.109, 2.318, 2.6, 2.934, 3.329, 3.798, 4.361, 5.032, 5.827",\
                 "2.435, 2.521, 2.745, 3.046, 3.397, 3.805, 4.285, 4.852, 5.525, 6.319");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3484, 0.4044, 0.5622, 0.8151, 1.174, 1.664, 2.305, 3.114, 4.102, 5.281",\
                 "0.3614, 0.4174, 0.5752, 0.8281, 1.187, 1.677, 2.318, 3.127, 4.114, 5.294",\
                 "0.4063, 0.462, 0.6195, 0.8721, 1.231, 1.721, 2.363, 3.172, 4.161, 5.337",\
                 "0.4789, 0.5328, 0.6873, 0.9381, 1.296, 1.786, 2.427, 3.236, 4.223, 5.401",\
                 "0.5352, 0.5892, 0.7423, 0.9925, 1.351, 1.84, 2.481, 3.289, 4.277, 5.456",\
                 "0.5642, 0.6205, 0.7738, 1.023, 1.381, 1.87, 2.511, 3.319, 4.306, 5.484",\
                 "0.5571, 0.6169, 0.7742, 1.025, 1.383, 1.871, 2.512, 3.32, 4.306, 5.481",\
                 "0.5068, 0.5714, 0.7354, 0.9905, 1.352, 1.841, 2.481, 3.288, 4.274, 5.448",\
                 "0.4083, 0.4771, 0.6498, 0.9103, 1.276, 1.771, 2.413, 3.219, 4.204, 5.379",\
                 "0.2593, 0.3325, 0.5144, 0.7815, 1.152, 1.653, 2.302, 3.111, 4.096, 5.27");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1936, 0.2678, 0.4627, 0.7401, 1.116, 1.62, 2.293, 3.164, 4.256, 5.572",\
                 "0.1933, 0.2673, 0.4624, 0.7397, 1.116, 1.623, 2.294, 3.162, 4.254, 5.574",\
                 "0.1913, 0.2654, 0.46, 0.7382, 1.114, 1.619, 2.291, 3.166, 4.254, 5.571",\
                 "0.188, 0.261, 0.4554, 0.7344, 1.112, 1.619, 2.292, 3.161, 4.253, 5.577",\
                 "0.1998, 0.2702, 0.4578, 0.7346, 1.112, 1.62, 2.293, 3.162, 4.254, 5.574",\
                 "0.217, 0.2874, 0.4736, 0.7466, 1.12, 1.626, 2.297, 3.166, 4.251, 5.576",\
                 "0.242, 0.3164, 0.5014, 0.7674, 1.135, 1.638, 2.307, 3.173, 4.259, 5.578",\
                 "0.2756, 0.3546, 0.5466, 0.8042, 1.162, 1.658, 2.321, 3.183, 4.264, 5.582",\
                 "0.3086, 0.3964, 0.604, 0.8604, 1.21, 1.69, 2.345, 3.198, 4.276, 5.589",\
                 "0.344, 0.439, 0.6642, 0.931, 1.276, 1.751, 2.387, 3.228, 4.289, 5.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.159, 0.2244, 0.4309, 0.7994, 1.381, 2.23, 3.354, 4.782, 6.528, 8.608",\
                 "0.1588, 0.2244, 0.4308, 0.7994, 1.381, 2.23, 3.354, 4.79, 6.528, 8.609",\
                 "0.1574, 0.2226, 0.4306, 0.7991, 1.383, 2.229, 3.355, 4.784, 6.529, 8.611",\
                 "0.1548, 0.2197, 0.43, 0.7998, 1.38, 2.23, 3.361, 4.78, 6.533, 8.608",\
                 "0.1652, 0.2268, 0.434, 0.8038, 1.385, 2.23, 3.356, 4.782, 6.529, 8.606",\
                 "0.1828, 0.242, 0.4422, 0.8104, 1.391, 2.236, 3.356, 4.783, 6.528, 8.609",\
                 "0.2062, 0.2652, 0.458, 0.8224, 1.398, 2.237, 3.361, 4.786, 6.531, 8.602",\
                 "0.2346, 0.2946, 0.4826, 0.8434, 1.416, 2.247, 3.365, 4.788, 6.538, 8.603",\
                 "0.2616, 0.325, 0.5118, 0.8692, 1.442, 2.272, 3.378, 4.793, 6.532, 8.615",\
                 "0.289, 0.358, 0.5462, 0.8992, 1.471, 2.306, 3.413, 4.812, 6.54, 8.611");
        }
      }

      timing() {
        related_pin : "S1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.4427, 0.5076, 0.6818, 0.9318, 1.246, 1.628, 2.09, 2.649, 3.318, 4.111",\
                 "0.4582, 0.5229, 0.697, 0.9471, 1.261, 1.643, 2.105, 2.664, 3.334, 4.127",\
                 "0.5253, 0.5897, 0.7628, 1.012, 1.326, 1.708, 2.17, 2.729, 3.398, 4.192",\
                 "0.6583, 0.7213, 0.892, 1.14, 1.452, 1.833, 2.296, 2.854, 3.524, 4.317",\
                 "0.8438, 0.9074, 1.078, 1.323, 1.634, 2.015, 2.478, 3.036, 3.705, 4.498",\
                 "1.073, 1.139, 1.312, 1.56, 1.873, 2.255, 2.718, 3.276, 3.946, 4.738",\
                 "1.348, 1.418, 1.599, 1.853, 2.168, 2.553, 3.017, 3.577, 4.246, 5.039",\
                 "1.666, 1.742, 1.936, 2.2, 2.522, 2.909, 3.376, 3.937, 4.608, 5.401",\
                 "2.027, 2.108, 2.318, 2.599, 2.933, 3.328, 3.799, 4.361, 5.034, 5.827",\
                 "2.434, 2.52, 2.745, 3.046, 3.397, 3.805, 4.285, 4.852, 5.526, 6.32");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.3486, 0.4044, 0.5623, 0.8151, 1.174, 1.664, 2.306, 3.114, 4.102, 5.281",\
                 "0.3614, 0.4174, 0.5752, 0.8281, 1.187, 1.677, 2.318, 3.127, 4.114, 5.294",\
                 "0.4063, 0.462, 0.6195, 0.8721, 1.231, 1.721, 2.363, 3.172, 4.161, 5.337",\
                 "0.4789, 0.5328, 0.6872, 0.9381, 1.296, 1.786, 2.427, 3.235, 4.222, 5.401",\
                 "0.5355, 0.5893, 0.7421, 0.9922, 1.351, 1.84, 2.481, 3.29, 4.278, 5.454",\
                 "0.5642, 0.6205, 0.7738, 1.023, 1.381, 1.87, 2.511, 3.319, 4.306, 5.484",\
                 "0.5571, 0.6169, 0.7742, 1.025, 1.383, 1.871, 2.512, 3.319, 4.306, 5.481",\
                 "0.5068, 0.5714, 0.7354, 0.9905, 1.352, 1.841, 2.481, 3.288, 4.274, 5.448",\
                 "0.4083, 0.4771, 0.6497, 0.9103, 1.276, 1.771, 2.413, 3.219, 4.204, 5.379",\
                 "0.2593, 0.3323, 0.5144, 0.7816, 1.153, 1.653, 2.302, 3.111, 4.096, 5.27");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1936, 0.2678, 0.4627, 0.7401, 1.116, 1.62, 2.293, 3.164, 4.256, 5.572",\
                 "0.1933, 0.2673, 0.4624, 0.7397, 1.116, 1.623, 2.294, 3.162, 4.254, 5.574",\
                 "0.1913, 0.2654, 0.46, 0.7382, 1.114, 1.619, 2.291, 3.166, 4.254, 5.571",\
                 "0.188, 0.261, 0.4554, 0.7344, 1.112, 1.619, 2.292, 3.161, 4.253, 5.577",\
                 "0.1998, 0.2702, 0.4578, 0.7346, 1.112, 1.62, 2.293, 3.162, 4.254, 5.574",\
                 "0.217, 0.2874, 0.4736, 0.7466, 1.12, 1.626, 2.297, 3.166, 4.251, 5.576",\
                 "0.242, 0.3164, 0.5014, 0.7674, 1.135, 1.638, 2.307, 3.173, 4.259, 5.578",\
                 "0.2756, 0.3546, 0.5466, 0.8042, 1.162, 1.658, 2.321, 3.183, 4.264, 5.582",\
                 "0.3086, 0.3964, 0.604, 0.8604, 1.21, 1.69, 2.345, 3.198, 4.276, 5.589",\
                 "0.344, 0.439, 0.6642, 0.931, 1.276, 1.751, 2.387, 3.228, 4.289, 5.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004127, 0.0151, 0.03606, 0.06871, 0.1145, 0.1748, 0.2508, 0.3435, 0.454");
          values("0.1588, 0.2243, 0.431, 0.8013, 1.381, 2.227, 3.361, 4.788, 6.527, 8.61",\
                 "0.1585, 0.2242, 0.4309, 0.7998, 1.382, 2.23, 3.36, 4.785, 6.525, 8.611",\
                 "0.1569, 0.2226, 0.4305, 0.7988, 1.382, 2.226, 3.359, 4.783, 6.528, 8.607",\
                 "0.1551, 0.2198, 0.4292, 0.7998, 1.381, 2.23, 3.353, 4.781, 6.531, 8.609",\
                 "0.165, 0.2264, 0.434, 0.804, 1.385, 2.227, 3.355, 4.783, 6.525, 8.624",\
                 "0.1822, 0.2422, 0.442, 0.8098, 1.391, 2.232, 3.356, 4.783, 6.528, 8.611",\
                 "0.2058, 0.2648, 0.4578, 0.8232, 1.399, 2.236, 3.361, 4.784, 6.524, 8.6",\
                 "0.2324, 0.2942, 0.4826, 0.8434, 1.416, 2.247, 3.366, 4.789, 6.538, 8.606",\
                 "0.2618, 0.325, 0.5126, 0.8708, 1.442, 2.269, 3.378, 4.793, 6.531, 8.614",\
                 "0.2894, 0.3584, 0.5444, 0.901, 1.472, 2.304, 3.414, 4.812, 6.541, 8.614");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__mux4_4) {
    area : 83.417600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002689137" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&!S0&S1" ;
      value : "0.0002684088" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&S0&!S1" ;
      value : "0.0002684088" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&!I3&S0&S1" ;
      value : "0.0002679072" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&!S0&!S1" ;
      value : "0.0002699697" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&!S0&S1" ;
      value : "0.0002694648" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&S0&!S1" ;
      value : "0.0002709234" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&!I2&I3&S0&S1" ;
      value : "0.0002713392" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&!S0&!S1" ;
      value : "0.0002714283" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&!S0&S1" ;
      value : "0.0002718408" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&S0&!S1" ;
      value : "0.0002694648" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&!I3&S0&S1" ;
      value : "0.0002689632" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&!S0&!S1" ;
      value : "0.0002709663" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&!S0&S1" ;
      value : "0.0002713821" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&S0&!S1" ;
      value : "0.0002704647" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&!I1&I2&I3&S0&S1" ;
      value : "0.0002708772" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002698674" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&!S0&S1" ;
      value : "0.0002693658" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&S0&!S1" ;
      value : "0.0002717418" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&!I3&S0&S1" ;
      value : "0.0002703195" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&!S0&!S1" ;
      value : "0.0002709234" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&!S0&S1" ;
      value : "0.0002704218" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&S0&!S1" ;
      value : "0.0002722929" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&!I2&I3&S0&S1" ;
      value : "0.000271788" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&!S0&!S1" ;
      value : "0.000272382" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&!S0&S1" ;
      value : "0.0002727978" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&S0&!S1" ;
      value : "0.0002727978" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&!I3&S0&S1" ;
      value : "0.0002713755" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&!S0&!S1" ;
      value : "0.0002719233" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&!S0&S1" ;
      value : "0.0002723358" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&S0&!S1" ;
      value : "0.0002718309" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!I0&I1&I2&I3&S0&S1" ;
      value : "0.0002713293" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002722434" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&!S0&S1" ;
      value : "0.0002708244" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&S0&!S1" ;
      value : "0.0002693658" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&!I3&S0&S1" ;
      value : "0.0002688609" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&!S0&!S1" ;
      value : "0.0002732994" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&!S0&S1" ;
      value : "0.0002718804" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&S0&!S1" ;
      value : "0.0002718804" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&!I2&I3&S0&S1" ;
      value : "0.0002722929" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&!S0&!S1" ;
      value : "0.0002727945" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&!S0&S1" ;
      value : "0.0002722929" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&S0&!S1" ;
      value : "0.0002704218" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&!I3&S0&S1" ;
      value : "0.0002699169" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&!S0&!S1" ;
      value : "0.0002723358" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&!S0&S1" ;
      value : "0.0002718309" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&S0&!S1" ;
      value : "0.0002714184" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&!I1&I2&I3&S0&S1" ;
      value : "0.0002718342" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&!S0&!S1" ;
      value : "0.0002712369" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&!S0&S1" ;
      value : "0.0002698146" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&S0&!S1" ;
      value : "0.000270732" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&!I3&S0&S1" ;
      value : "0.000269313" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&!S0&!S1" ;
      value : "0.0002722929" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&!S0&S1" ;
      value : "0.0002708706" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&S0&!S1" ;
      value : "0.0002712831" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&!I2&I3&S0&S1" ;
      value : "0.0002707815" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&!S0&!S1" ;
      value : "0.000271788" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&!S0&S1" ;
      value : "0.0002712831" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&S0&!S1" ;
      value : "0.000271788" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&!I3&S0&S1" ;
      value : "0.000270369" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&!S0&!S1" ;
      value : "0.000271326" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&!S0&S1" ;
      value : "0.0002708244" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&S0&!S1" ;
      value : "0.0002708244" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "I0&I1&I2&I3&S0&S1" ;
      value : "0.0002703195" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002732994" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(I0) {
      capacitance : 0.002808 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I1&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07731, 0.07702, 0.07807, 0.08224, 0.09057, 0.104, 0.1231, 0.1481, \
                 0.1795, 0.2177");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0229, 0.02275, 0.02358, 0.02689, 0.03368, 0.0447, 0.06056, 0.08171, \
                 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "!I1&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02892, 0.0284, 0.03025, 0.03609, 0.04658, 0.06216, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003542, 0.003269, 0.004251, 0.008704, 0.01734, 0.0305, 0.04852, \
                 0.07165, 0.1003, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03025, 0.03609, 0.04658, 0.06216, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00352, 0.003256, 0.004251, 0.008703, 0.01734, 0.0305, 0.04852, \
                 0.07165, 0.1003, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07731, 0.07702, 0.07807, 0.08224, 0.09057, 0.104, 0.123, 0.148, \
                 0.1795, 0.2177");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02291, 0.02275, 0.02358, 0.02689, 0.03368, 0.0447, 0.06056, \
                 0.08171, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "!I1&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02892, 0.0284, 0.03025, 0.03609, 0.04658, 0.06217, 0.08315, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003539, 0.003258, 0.004252, 0.008705, 0.01734, 0.0305, 0.04852, \
                 0.07165, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02892, 0.0284, 0.03025, 0.03609, 0.04658, 0.06217, 0.08315, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003532, 0.00326, 0.004252, 0.008705, 0.01734, 0.0305, 0.04852, \
                 0.07165, 0.1002, 0.1346");
        }
      }

      internal_power() {
        when : "!I1&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07731, 0.07702, 0.07807, 0.08224, 0.09058, 0.104, 0.1231, 0.148, \
                 0.1795, 0.2177");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02291, 0.02275, 0.02358, 0.02689, 0.03368, 0.0447, 0.06056, \
                 0.08171, 0.1085, 0.1412");
        }
      }

      internal_power() {
        when : "!I1&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03025, 0.03609, 0.04658, 0.06217, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00352, 0.003255, 0.004251, 0.008704, 0.01734, 0.0305, 0.04852, \
                 0.07165, 0.1003, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03026, 0.03609, 0.04658, 0.06217, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003545, 0.003244, 0.004251, 0.008703, 0.01734, 0.0305, 0.04852, \
                 0.07165, 0.1003, 0.1345");
        }
      }

      internal_power() {
        when : "!I1&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07731, 0.07702, 0.07807, 0.08224, 0.09058, 0.104, 0.1231, 0.148, \
                 0.1795, 0.2177");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02291, 0.02275, 0.02358, 0.02689, 0.03368, 0.0447, 0.06056, \
                 0.08171, 0.1085, 0.1412");
        }
      }

      internal_power() {
        when : "!I1&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02892, 0.0284, 0.03025, 0.03609, 0.04658, 0.06216, 0.08315, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003522, 0.003245, 0.004252, 0.008705, 0.01734, 0.0305, 0.04852, \
                 0.07165, 0.1002, 0.1346");
        }
      }

      internal_power() {
        when : "!I1&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03026, 0.03609, 0.04658, 0.06214, 0.08315, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003539, 0.003248, 0.004252, 0.008705, 0.01734, 0.0305, 0.04852, \
                 0.07165, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07731, 0.07702, 0.07807, 0.08224, 0.09057, 0.104, 0.1231, 0.148, \
                 0.1795, 0.2177");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02291, 0.02275, 0.02358, 0.02689, 0.03368, 0.0447, 0.06056, \
                 0.08171, 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "I1&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03025, 0.03609, 0.04658, 0.06216, 0.08315, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003538, 0.003252, 0.004261, 0.008704, 0.01733, 0.03049, 0.04852, \
                 0.07165, 0.1003, 0.1346");
        }
      }

      internal_power() {
        when : "I1&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03024, 0.03609, 0.04658, 0.06216, 0.08315, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003545, 0.003243, 0.004262, 0.008702, 0.01733, 0.03049, 0.04852, \
                 0.07165, 0.1003, 0.1346");
        }
      }

      internal_power() {
        when : "I1&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07731, 0.07702, 0.07807, 0.08224, 0.09057, 0.104, 0.123, 0.148, \
                 0.1795, 0.2177");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0229, 0.02275, 0.02357, 0.02689, 0.03368, 0.0447, 0.06056, 0.08171, \
                 0.1085, 0.1411");
        }
      }

      internal_power() {
        when : "I1&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03026, 0.03609, 0.04658, 0.06212, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003543, 0.003248, 0.004263, 0.008705, 0.01733, 0.03048, 0.04852, \
                 0.07165, 0.1002, 0.1345");
        }
      }

      internal_power() {
        when : "I1&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03024, 0.03609, 0.04658, 0.06212, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003539, 0.003269, 0.004263, 0.008705, 0.01733, 0.03048, 0.04852, \
                 0.07165, 0.1003, 0.1346");
        }
      }

      internal_power() {
        when : "I1&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07732, 0.07702, 0.07807, 0.08224, 0.09058, 0.104, 0.1231, 0.148, \
                 0.1795, 0.2177");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0229, 0.02275, 0.02358, 0.0269, 0.03368, 0.0447, 0.06056, 0.08171, \
                 0.1085, 0.1412");
        }
      }

      internal_power() {
        when : "I1&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03026, 0.03609, 0.04658, 0.06216, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0035, 0.00326, 0.004261, 0.008704, 0.01733, 0.03049, 0.04852, \
                 0.07165, 0.1003, 0.1345");
        }
      }

      internal_power() {
        when : "I1&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03026, 0.03609, 0.04658, 0.06216, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003521, 0.003265, 0.004262, 0.008702, 0.01733, 0.03049, 0.04852, \
                 0.07165, 0.1003, 0.1346");
        }
      }

      internal_power() {
        when : "I1&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07731, 0.07702, 0.07807, 0.08224, 0.09058, 0.104, 0.1231, 0.148, \
                 0.1795, 0.2176");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0229, 0.02275, 0.02358, 0.0269, 0.03368, 0.0447, 0.06056, 0.08171, \
                 0.1085, 0.1412");
        }
      }

      internal_power() {
        when : "I1&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03024, 0.03609, 0.04658, 0.06212, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003545, 0.003248, 0.004263, 0.008705, 0.01733, 0.03048, 0.04852, \
                 0.07165, 0.1003, 0.1345");
        }
      }

      internal_power() {
        when : "I1&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02895, 0.0284, 0.03025, 0.03609, 0.04658, 0.06212, 0.08317, \
                 0.11, 0.1431, 0.1828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003531, 0.00327, 0.004263, 0.008705, 0.01733, 0.03048, 0.04852, \
                 0.07165, 0.1003, 0.1345");
        }
      }
    }

    pin(I1) {
      capacitance : 0.002897 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02509, 0.02457, 0.02659, 0.03267, 0.04334, 0.05908, 0.08022, \
                 0.1072, 0.1404, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003074, 0.002769, 0.003878, 0.008533, 0.01737, 0.03072, 0.04889, \
                 0.07216, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02509, 0.02456, 0.02659, 0.03266, 0.04334, 0.05907, 0.08022, \
                 0.1072, 0.1404, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00307, 0.002774, 0.003878, 0.008534, 0.01737, 0.03072, 0.04889, \
                 0.07216, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08049, 0.08021, 0.08132, 0.08556, 0.09404, 0.1076, 0.1267, 0.1518, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.01528, 0.01618, 0.01961, 0.02652, 0.03765, 0.05364, \
                 0.07487, 0.1018, 0.1345");
        }
      }

      internal_power() {
        when : "!I0&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02508, 0.02457, 0.02659, 0.03268, 0.04334, 0.05908, 0.08021, \
                 0.1072, 0.1404, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003073, 0.002783, 0.003879, 0.008533, 0.01737, 0.03071, 0.04889, \
                 0.07217, 0.1009, 0.1353");
        }
      }

      internal_power() {
        when : "!I0&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02509, 0.02457, 0.02659, 0.03268, 0.04334, 0.05908, 0.08022, \
                 0.1072, 0.1404, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003061, 0.002775, 0.003879, 0.008534, 0.01737, 0.03071, 0.0489, \
                 0.07216, 0.1009, 0.1353");
        }
      }

      internal_power() {
        when : "!I0&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08049, 0.08021, 0.08132, 0.08555, 0.09405, 0.1076, 0.1267, 0.1518, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.01529, 0.01619, 0.01961, 0.02652, 0.03765, 0.05364, \
                 0.07487, 0.1018, 0.1345");
        }
      }

      internal_power() {
        when : "!I0&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02508, 0.02457, 0.02659, 0.03266, 0.04334, 0.05908, 0.08022, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003074, 0.002783, 0.00388, 0.008534, 0.01737, 0.03072, 0.04889, \
                 0.07217, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02509, 0.02457, 0.02659, 0.03266, 0.04334, 0.05908, 0.08021, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003069, 0.002773, 0.00388, 0.008534, 0.01737, 0.03071, 0.04889, \
                 0.07216, 0.1009, 0.1353");
        }
      }

      internal_power() {
        when : "!I0&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08049, 0.08021, 0.08132, 0.08556, 0.09404, 0.1076, 0.1267, 0.1518, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.01528, 0.01618, 0.01961, 0.02652, 0.03765, 0.05364, \
                 0.07487, 0.1018, 0.1345");
        }
      }

      internal_power() {
        when : "!I0&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02508, 0.02457, 0.02659, 0.03268, 0.04334, 0.05908, 0.08022, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003071, 0.002783, 0.003879, 0.008534, 0.01737, 0.03072, 0.04889, \
                 0.07216, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02509, 0.02457, 0.02659, 0.03266, 0.04334, 0.05908, 0.08022, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003067, 0.002775, 0.003881, 0.008534, 0.01737, 0.03072, 0.04889, \
                 0.07216, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "!I0&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08049, 0.08021, 0.08132, 0.08555, 0.09405, 0.1076, 0.1267, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.01529, 0.01619, 0.01961, 0.02652, 0.03765, 0.05364, \
                 0.07487, 0.1018, 0.1345");
        }
      }

      internal_power() {
        when : "I0&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02508, 0.02457, 0.0266, 0.03266, 0.04333, 0.05908, 0.08021, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003075, 0.002771, 0.003871, 0.008534, 0.01737, 0.03071, 0.04889, \
                 0.07216, 0.1009, 0.1353");
        }
      }

      internal_power() {
        when : "I0&!I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02508, 0.02457, 0.02659, 0.03267, 0.04333, 0.05907, 0.08022, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003071, 0.002775, 0.003871, 0.008534, 0.01737, 0.03072, 0.04889, \
                 0.07217, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "I0&!I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08049, 0.08021, 0.08132, 0.08556, 0.09405, 0.1076, 0.1267, 0.1518, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.01528, 0.01618, 0.01961, 0.02652, 0.03765, 0.05364, \
                 0.07487, 0.1018, 0.1345");
        }
      }

      internal_power() {
        when : "I0&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02508, 0.02457, 0.0266, 0.03266, 0.04332, 0.05908, 0.08021, \
                 0.1072, 0.1404, 0.1802");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003073, 0.002771, 0.003871, 0.008535, 0.01737, 0.03072, 0.04889, \
                 0.07216, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "I0&!I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02508, 0.02456, 0.02659, 0.03267, 0.04333, 0.05908, 0.08021, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003068, 0.002775, 0.003871, 0.008535, 0.01737, 0.03071, 0.04889, \
                 0.07216, 0.1008, 0.1352");
        }
      }

      internal_power() {
        when : "I0&!I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08049, 0.08021, 0.08132, 0.08555, 0.09405, 0.1076, 0.1267, 0.1518, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01548, 0.01529, 0.01619, 0.01962, 0.02652, 0.03765, 0.05364, \
                 0.07487, 0.1018, 0.1345");
        }
      }

      internal_power() {
        when : "I0&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02508, 0.02457, 0.0266, 0.03266, 0.04333, 0.05908, 0.08022, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003073, 0.002771, 0.003872, 0.008535, 0.01737, 0.03071, 0.0489, \
                 0.07216, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "I0&I2&!I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02509, 0.02456, 0.02659, 0.03266, 0.04332, 0.05908, 0.08021, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003064, 0.002773, 0.003872, 0.008536, 0.01737, 0.03071, 0.04889, \
                 0.07216, 0.1008, 0.1353");
        }
      }

      internal_power() {
        when : "I0&I2&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08049, 0.08021, 0.08132, 0.08556, 0.09404, 0.1076, 0.1267, 0.1518, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01546, 0.01528, 0.01619, 0.01961, 0.02652, 0.03765, 0.05364, \
                 0.07488, 0.1018, 0.1345");
        }
      }

      internal_power() {
        when : "I0&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02508, 0.02457, 0.0266, 0.03266, 0.04332, 0.05908, 0.08022, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003087, 0.002771, 0.003872, 0.008535, 0.01737, 0.03071, 0.04889, \
                 0.07215, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "I0&I2&I3&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02509, 0.02457, 0.02659, 0.03266, 0.04333, 0.05908, 0.0802, \
                 0.1072, 0.1404, 0.1801");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.003064, 0.002776, 0.003872, 0.008535, 0.01737, 0.03071, 0.04889, \
                 0.07217, 0.1009, 0.1352");
        }
      }

      internal_power() {
        when : "I0&I2&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08049, 0.08021, 0.08132, 0.08555, 0.09405, 0.1076, 0.1267, 0.1519, \
                 0.1834, 0.2217");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01547, 0.01529, 0.01619, 0.01961, 0.02652, 0.03765, 0.05364, \
                 0.07487, 0.1018, 0.1345");
        }
      }
    }

    pin(I2) {
      capacitance : 0.003052 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09776, 0.09755, 0.09886, 0.1035, 0.1128, 0.128, 0.1497, 0.1785, \
                 0.2144, 0.2583");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03064, 0.0315, 0.03526, 0.04296, 0.0557, 0.07417, 0.09894, \
                 0.1302, 0.1686");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0306, 0.03008, 0.03221, 0.03903, 0.05122, 0.06927, 0.09359, \
                 0.1246, 0.1628, 0.2086");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006392, 0.005892, 0.00697, 0.01219, 0.02244, 0.038, 0.05934, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03058, 0.03008, 0.03221, 0.03903, 0.05122, 0.06927, 0.09359, \
                 0.1247, 0.1628, 0.2086");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006406, 0.005893, 0.00697, 0.0122, 0.02244, 0.038, 0.05934, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "!I0&!I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09776, 0.09755, 0.09886, 0.1035, 0.1128, 0.128, 0.1497, 0.1785, \
                 0.2144, 0.2583");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03064, 0.03148, 0.03525, 0.04296, 0.0557, 0.07418, \
                 0.09894, 0.1303, 0.1686");
        }
      }

      internal_power() {
        when : "!I0&!I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0306, 0.03008, 0.0322, 0.03904, 0.05122, 0.06926, 0.09358, 0.1246, \
                 0.1628, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006335, 0.005894, 0.006968, 0.01219, 0.02244, 0.038, 0.05932, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "!I0&!I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0306, 0.03008, 0.03221, 0.03904, 0.05122, 0.06926, 0.09359, \
                 0.1246, 0.1628, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006411, 0.005894, 0.006963, 0.01219, 0.02244, 0.038, 0.05933, \
                 0.08667, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "!I0&I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09776, 0.09755, 0.09885, 0.1035, 0.1128, 0.128, 0.1497, 0.1785, \
                 0.2144, 0.2583");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03064, 0.0315, 0.03526, 0.04296, 0.0557, 0.07418, 0.09894, \
                 0.1303, 0.1686");
        }
      }

      internal_power() {
        when : "!I0&I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0306, 0.03007, 0.03221, 0.03903, 0.05122, 0.06926, 0.09362, \
                 0.1246, 0.1628, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006338, 0.005894, 0.00697, 0.0122, 0.02244, 0.038, 0.05934, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "!I0&I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03059, 0.03007, 0.03221, 0.03903, 0.05122, 0.06926, 0.09358, \
                 0.1246, 0.1628, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006409, 0.005894, 0.00697, 0.0122, 0.02244, 0.038, 0.05933, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "!I0&I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09775, 0.09755, 0.09885, 0.1035, 0.1128, 0.128, 0.1496, 0.1785, \
                 0.2144, 0.2583");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03064, 0.03149, 0.03526, 0.04296, 0.0557, 0.07418, \
                 0.09893, 0.1303, 0.1686");
        }
      }

      internal_power() {
        when : "!I0&I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0306, 0.03007, 0.03221, 0.03905, 0.05122, 0.06926, 0.09358, \
                 0.1246, 0.1628, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006412, 0.005896, 0.006964, 0.01219, 0.02244, 0.03801, 0.05933, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "!I0&I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03059, 0.03007, 0.03221, 0.03905, 0.05122, 0.06926, 0.09358, \
                 0.1246, 0.1628, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006413, 0.005896, 0.006964, 0.01219, 0.02244, 0.03801, 0.05933, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "I0&!I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09775, 0.09755, 0.09885, 0.1035, 0.1128, 0.128, 0.1497, 0.1784, \
                 0.2144, 0.2583");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03095, 0.03064, 0.0315, 0.03526, 0.04297, 0.0557, 0.07418, 0.09894, \
                 0.1302, 0.1686");
        }
      }

      internal_power() {
        when : "I0&!I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03058, 0.03008, 0.03221, 0.03903, 0.05122, 0.06927, 0.09358, \
                 0.1246, 0.1628, 0.2086");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006391, 0.005893, 0.00697, 0.01219, 0.02244, 0.038, 0.05934, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "I0&!I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0306, 0.03008, 0.03221, 0.03903, 0.05122, 0.06927, 0.09359, \
                 0.1246, 0.1628, 0.2086");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006408, 0.005893, 0.00697, 0.01219, 0.02244, 0.038, 0.05934, \
                 0.08669, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "I0&!I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09775, 0.09755, 0.09884, 0.1035, 0.1128, 0.128, 0.1497, 0.1784, \
                 0.2144, 0.2583");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03096, 0.03064, 0.0315, 0.03526, 0.04297, 0.0557, 0.07418, 0.09894, \
                 0.1303, 0.1686");
        }
      }

      internal_power() {
        when : "I0&!I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0306, 0.03008, 0.03222, 0.03904, 0.05122, 0.06926, 0.09359, \
                 0.1246, 0.1628, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00639, 0.005894, 0.006968, 0.01219, 0.02244, 0.038, 0.05932, \
                 0.08667, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "I0&!I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0306, 0.03008, 0.03222, 0.03904, 0.05122, 0.06926, 0.09358, \
                 0.1246, 0.1628, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006411, 0.005894, 0.006963, 0.01219, 0.02244, 0.038, 0.05933, \
                 0.08667, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "I0&I1&!I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09775, 0.09755, 0.09885, 0.1035, 0.1128, 0.128, 0.1497, 0.1784, \
                 0.2144, 0.2583");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03094, 0.03064, 0.03151, 0.03526, 0.04297, 0.0557, 0.07418, \
                 0.09894, 0.1303, 0.1686");
        }
      }

      internal_power() {
        when : "I0&I1&!I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03058, 0.03007, 0.03221, 0.03903, 0.05122, 0.06926, 0.09359, \
                 0.1246, 0.1628, 0.2086");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006395, 0.005894, 0.006971, 0.0122, 0.02244, 0.038, 0.05933, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "I0&I1&!I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0306, 0.03007, 0.03221, 0.03903, 0.05122, 0.06926, 0.09359, \
                 0.1246, 0.1628, 0.2086");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006412, 0.005894, 0.00697, 0.0122, 0.02244, 0.038, 0.05933, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "I0&I1&I3&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09775, 0.09755, 0.09884, 0.1035, 0.1128, 0.128, 0.1497, 0.1784, \
                 0.2144, 0.2583");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03096, 0.03064, 0.03148, 0.03526, 0.04297, 0.0557, 0.07418, \
                 0.09894, 0.1303, 0.1686");
        }
      }

      internal_power() {
        when : "I0&I1&I3&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03059, 0.03007, 0.03221, 0.03905, 0.05122, 0.06926, 0.09358, \
                 0.1246, 0.1628, 0.2086");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006412, 0.005896, 0.006964, 0.01219, 0.02244, 0.038, 0.05933, \
                 0.08668, 0.1204, 0.1609");
        }
      }

      internal_power() {
        when : "I0&I1&I3&S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03061, 0.03007, 0.03222, 0.03905, 0.05122, 0.06926, 0.09358, \
                 0.1246, 0.1628, 0.2087");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006414, 0.005896, 0.006964, 0.01219, 0.02244, 0.038, 0.05933, \
                 0.08668, 0.1204, 0.1609");
        }
      }
    }

    pin(I3) {
      capacitance : 0.003341 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03137, 0.03826, 0.05054, 0.06865, 0.09297, \
                 0.1241, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005814, 0.005316, 0.006447, 0.01172, 0.02205, 0.03775, 0.0591, \
                 0.08647, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03137, 0.03827, 0.05052, 0.06864, 0.09296, \
                 0.124, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005799, 0.005316, 0.006447, 0.01172, 0.02206, 0.03774, 0.0591, \
                 0.08647, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1045, 0.1058, 0.1104, 0.1199, 0.1351, 0.1568, 0.1854, \
                 0.2216, 0.2655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02256, 0.02227, 0.02315, 0.02693, 0.0347, 0.04748, 0.06599, \
                 0.09076, 0.1222, 0.1606");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02919, 0.03137, 0.03824, 0.05053, 0.06865, 0.093, 0.124, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005749, 0.005317, 0.006416, 0.01173, 0.02207, 0.03774, 0.0591, \
                 0.08647, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02918, 0.03137, 0.03827, 0.05052, 0.06864, 0.093, 0.124, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005785, 0.005317, 0.006422, 0.01173, 0.02208, 0.03774, 0.0591, \
                 0.08648, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1045, 0.1058, 0.1105, 0.1199, 0.1351, 0.1568, 0.1854, \
                 0.2216, 0.2655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02227, 0.02315, 0.02691, 0.0347, 0.04748, 0.066, 0.09077, \
                 0.1221, 0.1606");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03137, 0.03827, 0.05054, 0.06864, 0.09296, \
                 0.124, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0058, 0.005316, 0.006447, 0.01171, 0.02205, 0.03774, 0.05911, \
                 0.08647, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03137, 0.03827, 0.05052, 0.06864, 0.09296, \
                 0.124, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005799, 0.005316, 0.006447, 0.01171, 0.02207, 0.03775, 0.05911, \
                 0.08647, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1045, 0.1058, 0.1105, 0.1199, 0.1351, 0.1567, 0.1855, \
                 0.2216, 0.2655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02228, 0.02315, 0.02693, 0.03469, 0.04749, 0.066, 0.09078, \
                 0.1222, 0.1605");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02919, 0.03136, 0.03826, 0.05053, 0.06865, 0.093, 0.124, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005801, 0.005317, 0.006449, 0.01173, 0.02205, 0.03775, 0.05911, \
                 0.08648, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02918, 0.03136, 0.03826, 0.05052, 0.06864, 0.093, 0.124, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005786, 0.005317, 0.006444, 0.01173, 0.02207, 0.03774, 0.0591, \
                 0.08647, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1045, 0.1058, 0.1105, 0.1199, 0.1351, 0.1567, 0.1854, \
                 0.2216, 0.2655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02228, 0.02315, 0.02693, 0.03469, 0.04749, 0.066, 0.09075, \
                 0.1222, 0.1606");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03137, 0.03831, 0.05052, 0.06864, 0.09299, \
                 0.124, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005828, 0.005317, 0.006421, 0.01174, 0.02206, 0.03776, 0.0591, \
                 0.08648, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03137, 0.03831, 0.05053, 0.06865, 0.09298, \
                 0.124, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005817, 0.005316, 0.006424, 0.01177, 0.02206, 0.03776, 0.05911, \
                 0.08647, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1045, 0.1058, 0.1104, 0.1199, 0.1351, 0.1568, 0.1854, \
                 0.2216, 0.2655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02227, 0.02314, 0.02691, 0.03469, 0.04749, 0.066, 0.09075, \
                 0.1222, 0.1606");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03136, 0.03829, 0.05052, 0.06864, 0.093, 0.124, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005782, 0.005318, 0.006423, 0.01173, 0.02207, 0.03775, 0.05909, \
                 0.08648, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03136, 0.03829, 0.05052, 0.06864, 0.093, 0.124, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005785, 0.005318, 0.006423, 0.01173, 0.02206, 0.03775, 0.05909, \
                 0.08647, 0.1202, 0.1608");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1045, 0.1058, 0.1105, 0.1199, 0.1351, 0.1568, 0.1854, \
                 0.2216, 0.2655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02256, 0.02227, 0.02315, 0.02694, 0.0347, 0.04748, 0.06599, \
                 0.09075, 0.1221, 0.1606");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03137, 0.0383, 0.05052, 0.06864, 0.09299, \
                 0.124, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005799, 0.005317, 0.00642, 0.01174, 0.02205, 0.03776, 0.05911, \
                 0.08646, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03138, 0.03831, 0.05053, 0.06864, 0.09299, \
                 0.124, 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0058, 0.005317, 0.006424, 0.01177, 0.02205, 0.03775, 0.0591, \
                 0.08647, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1045, 0.1058, 0.1105, 0.1199, 0.1351, 0.1568, 0.1854, \
                 0.2216, 0.2655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02228, 0.02316, 0.02693, 0.0347, 0.04748, 0.066, 0.09075, \
                 0.1222, 0.1606");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02917, 0.03136, 0.03829, 0.05052, 0.06864, 0.093, 0.124, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005785, 0.005318, 0.006423, 0.01173, 0.02207, 0.03775, 0.05909, \
                 0.08649, 0.1203, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!S0&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02918, 0.03138, 0.03829, 0.05052, 0.06864, 0.093, 0.124, \
                 0.1623, 0.2081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005797, 0.005318, 0.006445, 0.01173, 0.02207, 0.03774, 0.05909, \
                 0.08649, 0.1202, 0.1608");
        }
      }

      internal_power() {
        when : "I0&I1&I2&S0&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1047, 0.1045, 0.1058, 0.1105, 0.1199, 0.1351, 0.1568, 0.1855, \
                 0.2216, 0.2655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02255, 0.02227, 0.02314, 0.02693, 0.03469, 0.04749, 0.066, 0.09075, \
                 0.1222, 0.1606");
        }
      }
    }

    pin(S0) {
      capacitance : 0.01087 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09796, 0.09747, 0.09788, 0.1018, 0.1101, 0.1234, 0.1424, 0.1674, \
                 0.1987, 0.2369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001139, 0.001002, 0.001508, 0.004391, 0.01098, 0.02202, 0.03811, \
                 0.05954, 0.08666, 0.1196");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09798, 0.09747, 0.09788, 0.1018, 0.1101, 0.1234, 0.1424, 0.1673, \
                 0.1987, 0.2368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001132, 0.001007, 0.001508, 0.004389, 0.01094, 0.022, 0.03811, \
                 0.05957, 0.08668, 0.1196");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1622, 0.1616, 0.1623, 0.1694, 0.1847, 0.2095, 0.2447, 0.2911, \
                 0.3495, 0.4204");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01524, 0.01526, 0.01634, 0.02148, 0.0334, 0.05384, 0.08373, \
                 0.1237, 0.1742, 0.2358");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1346, 0.1342, 0.136, 0.1445, 0.1601, 0.183, 0.2139, 0.2534, \
                 0.3033, 0.3654");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08988, 0.09013, 0.0935, 0.1018, 0.1146, 0.1331, 0.158, 0.19, \
                 0.2317, 0.2849");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09587, 0.09539, 0.09592, 0.09999, 0.1084, 0.1218, 0.1409, 0.1659, \
                 0.1975, 0.2357");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001108, 0.001002, 0.00149, 0.004338, 0.01087, 0.02185, 0.03788, \
                 0.05929, 0.0863, 0.1192");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09587, 0.0954, 0.09592, 0.09998, 0.1083, 0.1218, 0.1409, 0.1659, \
                 0.1974, 0.2356");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001119, 0.0009966, 0.00148, 0.004321, 0.01086, 0.02184, 0.03791, \
                 0.05931, 0.08632, 0.1193");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1442, 0.1435, 0.1442, 0.1511, 0.1658, 0.1893, 0.2225, 0.2663, \
                 0.3209, 0.3874");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01168, 0.01165, 0.01281, 0.01783, 0.0292, 0.04843, 0.07632, \
                 0.1135, 0.1605, 0.2176");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1422, 0.1414, 0.1422, 0.1493, 0.164, 0.1878, 0.2211, 0.2649, \
                 0.3197, 0.3862");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01165, 0.01162, 0.01276, 0.01775, 0.02908, 0.04823, 0.07607, \
                 0.1132, 0.1601, 0.2172");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1263, 0.1259, 0.1274, 0.1349, 0.1489, 0.1697, 0.1979, 0.2346, \
                 0.2819, 0.3408");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07059, 0.07089, 0.07439, 0.08264, 0.09542, 0.1139, 0.1386, 0.1704, \
                 0.2116, 0.2631");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1237, 0.1233, 0.1249, 0.1325, 0.1466, 0.1675, 0.1957, 0.2325, \
                 0.2801, 0.3391");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07062, 0.0709, 0.07441, 0.08259, 0.09527, 0.1136, 0.1382, 0.1699, \
                 0.2109, 0.2623");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09701, 0.09655, 0.09703, 0.1011, 0.1094, 0.1228, 0.1418, 0.1669, \
                 0.1983, 0.2365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001124, 0.0009902, 0.001495, 0.004318, 0.01082, 0.02184, 0.03787, \
                 0.05928, 0.0863, 0.1192");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&!I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09697, 0.09651, 0.09701, 0.1011, 0.1094, 0.1229, 0.1419, 0.1669, \
                 0.1984, 0.2365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001145, 0.001005, 0.001504, 0.004333, 0.01085, 0.02186, 0.03786, \
                 0.05926, 0.08629, 0.1192");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1613, 0.1607, 0.1615, 0.1687, 0.1839, 0.2089, 0.2442, 0.2907, \
                 0.3492, 0.42");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01526, 0.01527, 0.01632, 0.02141, 0.03328, 0.05366, 0.08349, \
                 0.1234, 0.1739, 0.2354");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1332, 0.1328, 0.1347, 0.1432, 0.1589, 0.1818, 0.2128, 0.2523, \
                 0.3024, 0.3647");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09005, 0.09026, 0.09367, 0.1019, 0.1146, 0.133, 0.1579, 0.1897, \
                 0.2314, 0.2844");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&!S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09494, 0.09453, 0.09513, 0.09931, 0.1077, 0.1212, 0.1403, 0.1655, \
                 0.197, 0.2353");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001134, 0.0009716, 0.001478, 0.004252, 0.01074, 0.02167, 0.03764, \
                 0.05898, 0.08597, 0.1188");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&S1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09496, 0.09453, 0.09513, 0.09931, 0.1077, 0.1213, 0.1403, 0.1655, \
                 0.1971, 0.2353");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001138, 0.0009811, 0.001474, 0.004253, 0.01074, 0.02168, 0.03763, \
                 0.05898, 0.08595, 0.1188");
        }
      }
    }

    pin(S1) {
      capacitance : 0.005723 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!I0&!I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04887, 0.04827, 0.04951, 0.05462, 0.06443, 0.07931, 0.09971, \
                 0.1261, 0.1587, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001092, 0.000835, 0.00161, 0.005493, 0.01352, 0.02607, 0.04359, \
                 0.06633, 0.09454, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04886, 0.04829, 0.04949, 0.05464, 0.0644, 0.07933, 0.09971, \
                 0.126, 0.1587, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001092, 0.000835, 0.00161, 0.005493, 0.01351, 0.02607, 0.0436, \
                 0.06632, 0.09454, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&!I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04887, 0.04827, 0.04951, 0.05462, 0.06443, 0.07931, 0.09971, \
                 0.1261, 0.1587, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001092, 0.0008348, 0.00161, 0.005493, 0.01352, 0.02607, 0.04359, \
                 0.06633, 0.09454, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&!I1&I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04886, 0.04829, 0.04949, 0.05464, 0.0644, 0.07932, 0.0997, 0.126, \
                 0.1587, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001092, 0.0008349, 0.00161, 0.005494, 0.01351, 0.02607, 0.04359, \
                 0.06634, 0.09454, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04887, 0.04827, 0.04949, 0.05464, 0.06443, 0.07931, 0.09971, \
                 0.1261, 0.1587, 0.198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001092, 0.0008351, 0.001615, 0.005493, 0.01352, 0.02607, 0.04358, \
                 0.06634, 0.09454, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04887, 0.04827, 0.04949, 0.05464, 0.06443, 0.07931, 0.09971, \
                 0.1261, 0.1587, 0.198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001079, 0.000835, 0.001615, 0.005493, 0.01352, 0.02607, 0.04358, \
                 0.06634, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "!I0&I1&!I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04798, 0.04738, 0.04882, 0.05402, 0.06392, 0.07887, 0.09936, \
                 0.1257, 0.1584, 0.1977");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001078, 0.0008269, 0.00156, 0.005379, 0.01333, 0.02583, 0.04327, \
                 0.06592, 0.0941, 0.128");
        }
      }

      internal_power() {
        when : "!I0&I1&I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04798, 0.04738, 0.04882, 0.05402, 0.06392, 0.07887, 0.09936, \
                 0.1257, 0.1584, 0.1977");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001078, 0.0008269, 0.001573, 0.005379, 0.01333, 0.02583, 0.04327, \
                 0.06592, 0.0941, 0.128");
        }
      }

      internal_power() {
        when : "I0&!I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04886, 0.04829, 0.04949, 0.05464, 0.06444, 0.07932, 0.09971, \
                 0.126, 0.1587, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001092, 0.0008349, 0.00161, 0.005493, 0.01351, 0.02607, 0.04359, \
                 0.06632, 0.09454, 0.1285");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04798, 0.04738, 0.04882, 0.05402, 0.06387, 0.07886, 0.09936, \
                 0.1257, 0.1584, 0.1977");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001054, 0.0008262, 0.001588, 0.005379, 0.01331, 0.02583, 0.04327, \
                 0.06593, 0.09409, 0.128");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&!I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04886, 0.04829, 0.04949, 0.05464, 0.06444, 0.07932, 0.0997, \
                 0.1261, 0.1587, 0.1979");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001093, 0.0008348, 0.001615, 0.005494, 0.01351, 0.02607, 0.0436, \
                 0.06634, 0.09453, 0.1285");
        }
      }

      internal_power() {
        when : "I0&!I1&I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04795, 0.04738, 0.04882, 0.05402, 0.06387, 0.07886, 0.09936, \
                 0.1257, 0.1584, 0.1977");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001054, 0.0008264, 0.001578, 0.005379, 0.01332, 0.02583, 0.04328, \
                 0.06593, 0.09409, 0.128");
        }
      }

      internal_power() {
        when : "I0&I1&!I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04798, 0.04738, 0.04882, 0.05402, 0.06392, 0.07887, 0.09936, \
                 0.1257, 0.1585, 0.1977");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001078, 0.0008269, 0.001561, 0.005379, 0.01332, 0.02583, 0.04327, \
                 0.06592, 0.0941, 0.128");
        }
      }

      internal_power() {
        when : "I0&I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04799, 0.04738, 0.04882, 0.05402, 0.06386, 0.07886, 0.09936, \
                 0.1257, 0.1584, 0.1977");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001054, 0.0008261, 0.001582, 0.005379, 0.01332, 0.02583, 0.04326, \
                 0.06593, 0.0941, 0.128");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&!S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04799, 0.04738, 0.04882, 0.05402, 0.06386, 0.07886, 0.09936, \
                 0.1258, 0.1584, 0.1977");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001054, 0.0008263, 0.001564, 0.005379, 0.01332, 0.02583, 0.04327, \
                 0.06593, 0.0941, 0.128");
        }
      }

      internal_power() {
        when : "I0&I1&I2&I3&S0" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04799, 0.04738, 0.04882, 0.05402, 0.06392, 0.07887, 0.09936, \
                 0.1257, 0.1584, 0.1977");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001078, 0.000827, 0.001582, 0.005379, 0.01333, 0.02583, 0.04327, \
                 0.06592, 0.0941, 0.128");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "((I0&(!S0)&(!S1))|(I1&S0&(!S1))|(I2&(!S0)&S1)|(I3&S0&S1))" ;
      max_capacitance : 0.9054 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3396, 0.3267, 0.2966, 0.2682, 0.2501, 0.2378, 0.2292, 0.2229, 0.2183, 0.2148",\
                 "0.3394, 0.3265, 0.2964, 0.268, 0.2499, 0.2376, 0.229, 0.2227, 0.2181, 0.2146",\
                 "0.3405, 0.3276, 0.2975, 0.2691, 0.251, 0.2387, 0.2301, 0.2238, 0.2192, 0.2157",\
                 "0.3446, 0.3317, 0.3016, 0.273, 0.2547, 0.2424, 0.2337, 0.2274, 0.2228, 0.2193",\
                 "0.3564, 0.3433, 0.3126, 0.283, 0.2639, 0.2509, 0.2418, 0.2352, 0.2304, 0.2268",\
                 "0.3796, 0.3661, 0.3338, 0.3022, 0.2811, 0.2666, 0.2564, 0.2492, 0.2437, 0.2397",\
                 "0.4127, 0.3986, 0.3648, 0.3301, 0.3062, 0.2897, 0.2781, 0.2696, 0.2634, 0.2588",\
                 "0.4553, 0.4407, 0.4049, 0.3671, 0.3401, 0.321, 0.3074, 0.2975, 0.2901, 0.2846",\
                 "0.5087, 0.4937, 0.4558, 0.4141, 0.3835, 0.361, 0.3451, 0.3333, 0.3244, 0.318",\
                 "0.5732, 0.5574, 0.5175, 0.4719, 0.4369, 0.4111, 0.3922, 0.3781, 0.3676, 0.3597");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1885, 0.1769, 0.1598, 0.1492, 0.1432, 0.1407, 0.1397, 0.1397, 0.1402, 0.1502",\
                 "0.1884, 0.1768, 0.1595, 0.149, 0.143, 0.1405, 0.1394, 0.1394, 0.1402, 0.1496",\
                 "0.1893, 0.1778, 0.1604, 0.1499, 0.1439, 0.1413, 0.1404, 0.1404, 0.1414, 0.1514",\
                 "0.1929, 0.1813, 0.1641, 0.1533, 0.1473, 0.1441, 0.1433, 0.143, 0.1443, 0.157",\
                 "0.2037, 0.1919, 0.1738, 0.1619, 0.1553, 0.1521, 0.1506, 0.1503, 0.1514, 0.1638",\
                 "0.2223, 0.2097, 0.1898, 0.1772, 0.1689, 0.1646, 0.1628, 0.1622, 0.1634, 0.1787",\
                 "0.2478, 0.2348, 0.2127, 0.1974, 0.1887, 0.183, 0.1793, 0.1787, 0.1788, 0.1983",\
                 "0.2821, 0.2683, 0.2438, 0.2257, 0.2124, 0.2075, 0.2034, 0.2008, 0.2014, 0.2275",\
                 "0.3254, 0.3108, 0.2834, 0.2617, 0.246, 0.2369, 0.2328, 0.2308, 0.2308, 0.2663",\
                 "0.3776, 0.3621, 0.3311, 0.3069, 0.2881, 0.274, 0.2664, 0.2648, 0.2705, 0.3276");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3396, 0.3267, 0.2966, 0.2682, 0.2501, 0.2378, 0.2292, 0.2229, 0.2183, 0.2149",\
                 "0.3394, 0.3265, 0.2964, 0.268, 0.2499, 0.2376, 0.229, 0.2227, 0.218, 0.2146",\
                 "0.3405, 0.3276, 0.2975, 0.2691, 0.251, 0.2387, 0.2301, 0.2238, 0.2191, 0.2157",\
                 "0.3446, 0.3317, 0.3016, 0.273, 0.2547, 0.2424, 0.2337, 0.2274, 0.2228, 0.2194",\
                 "0.3564, 0.3433, 0.3126, 0.283, 0.2639, 0.2509, 0.2418, 0.2352, 0.2304, 0.2268",\
                 "0.3796, 0.366, 0.3339, 0.3022, 0.2812, 0.2666, 0.2565, 0.2491, 0.2437, 0.2397",\
                 "0.4127, 0.3986, 0.3647, 0.33, 0.3062, 0.2897, 0.2781, 0.2696, 0.2634, 0.2588",\
                 "0.4553, 0.4408, 0.4049, 0.3673, 0.3401, 0.321, 0.3073, 0.2974, 0.29, 0.2847",\
                 "0.5087, 0.4936, 0.4559, 0.4141, 0.3835, 0.3611, 0.3452, 0.3333, 0.3245, 0.318",\
                 "0.5731, 0.5574, 0.5175, 0.4718, 0.4369, 0.4112, 0.3921, 0.3781, 0.3676, 0.3596");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1885, 0.1769, 0.1596, 0.1491, 0.1434, 0.1406, 0.1394, 0.1397, 0.1402, 0.1499",\
                 "0.1884, 0.1768, 0.1595, 0.149, 0.1429, 0.1405, 0.1394, 0.1394, 0.1402, 0.1496",\
                 "0.1893, 0.1778, 0.1604, 0.1499, 0.1439, 0.1413, 0.1403, 0.1404, 0.1414, 0.1514",\
                 "0.1929, 0.1813, 0.1641, 0.1533, 0.1473, 0.1441, 0.1433, 0.143, 0.1443, 0.157",\
                 "0.2037, 0.1919, 0.1738, 0.162, 0.1551, 0.1521, 0.1506, 0.1503, 0.1514, 0.1638",\
                 "0.2223, 0.2096, 0.1898, 0.1772, 0.1689, 0.1646, 0.1625, 0.1622, 0.1634, 0.1787",\
                 "0.2478, 0.2348, 0.2127, 0.1974, 0.1887, 0.183, 0.1793, 0.1787, 0.1788, 0.1983",\
                 "0.2821, 0.2683, 0.2436, 0.2255, 0.2128, 0.2071, 0.2034, 0.2008, 0.2003, 0.2275",\
                 "0.3253, 0.3108, 0.2834, 0.2617, 0.2459, 0.2365, 0.2327, 0.2301, 0.2308, 0.2663",\
                 "0.3776, 0.3622, 0.3311, 0.3069, 0.288, 0.274, 0.2664, 0.2648, 0.2691, 0.3285");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3396, 0.3267, 0.2966, 0.2682, 0.2501, 0.2378, 0.2292, 0.2229, 0.2183, 0.2148",\
                 "0.3394, 0.3265, 0.2964, 0.268, 0.2499, 0.2376, 0.229, 0.2227, 0.2181, 0.2146",\
                 "0.3405, 0.3276, 0.2975, 0.2691, 0.251, 0.2387, 0.2301, 0.2238, 0.2192, 0.2157",\
                 "0.3447, 0.3317, 0.3015, 0.273, 0.2547, 0.2424, 0.2337, 0.2274, 0.2228, 0.2193",\
                 "0.3564, 0.3433, 0.3126, 0.283, 0.2639, 0.2509, 0.2418, 0.2352, 0.2304, 0.2268",\
                 "0.3796, 0.3662, 0.3338, 0.3022, 0.281, 0.2665, 0.2564, 0.2491, 0.2437, 0.2397",\
                 "0.4127, 0.3987, 0.3648, 0.33, 0.3062, 0.2897, 0.2781, 0.2696, 0.2634, 0.2588",\
                 "0.4553, 0.4406, 0.4049, 0.3671, 0.3402, 0.3211, 0.3074, 0.2974, 0.2901, 0.2846",\
                 "0.5086, 0.4935, 0.4558, 0.4141, 0.3835, 0.3611, 0.345, 0.3332, 0.3245, 0.3179",\
                 "0.5731, 0.5574, 0.5176, 0.4719, 0.4367, 0.4111, 0.3921, 0.3781, 0.3676, 0.3595");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1885, 0.1769, 0.1598, 0.1491, 0.1432, 0.1406, 0.1397, 0.1397, 0.1409, 0.1509",\
                 "0.1884, 0.1767, 0.1597, 0.149, 0.1432, 0.1403, 0.1394, 0.1394, 0.1402, 0.1515",\
                 "0.1893, 0.1777, 0.1606, 0.1498, 0.1439, 0.1413, 0.1404, 0.1404, 0.1426, 0.1523",\
                 "0.1929, 0.1814, 0.164, 0.1531, 0.1471, 0.1442, 0.1437, 0.1434, 0.1443, 0.157",\
                 "0.2037, 0.1921, 0.174, 0.162, 0.1549, 0.152, 0.1506, 0.15, 0.1514, 0.1652",\
                 "0.2223, 0.2096, 0.1899, 0.1772, 0.1688, 0.1647, 0.1621, 0.1628, 0.1631, 0.1787",\
                 "0.2478, 0.2348, 0.2127, 0.1971, 0.1887, 0.183, 0.1793, 0.1787, 0.1788, 0.1996",\
                 "0.282, 0.2681, 0.2435, 0.2257, 0.2124, 0.2071, 0.2031, 0.2004, 0.2021, 0.2265",\
                 "0.3253, 0.3108, 0.2834, 0.2614, 0.2462, 0.2368, 0.2328, 0.2305, 0.2308, 0.2663",\
                 "0.3776, 0.362, 0.3312, 0.3068, 0.2885, 0.2737, 0.2671, 0.2648, 0.27, 0.3274");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "!I1&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3396, 0.3267, 0.2966, 0.2682, 0.2501, 0.2378, 0.2292, 0.2229, 0.2183, 0.2148",\
                 "0.3394, 0.3265, 0.2964, 0.268, 0.2499, 0.2376, 0.229, 0.2227, 0.2181, 0.2146",\
                 "0.3405, 0.3276, 0.2975, 0.2691, 0.251, 0.2387, 0.2301, 0.2238, 0.2192, 0.2157",\
                 "0.3446, 0.3317, 0.3015, 0.273, 0.2547, 0.2424, 0.2337, 0.2274, 0.2228, 0.2194",\
                 "0.3564, 0.3433, 0.3126, 0.283, 0.2639, 0.2509, 0.2418, 0.2352, 0.2304, 0.2268",\
                 "0.3796, 0.3661, 0.3339, 0.3022, 0.2811, 0.2666, 0.2564, 0.2491, 0.2437, 0.2397",\
                 "0.4127, 0.3987, 0.3647, 0.33, 0.3062, 0.2897, 0.2781, 0.2696, 0.2634, 0.2588",\
                 "0.4552, 0.4407, 0.4049, 0.3672, 0.3401, 0.321, 0.3073, 0.2975, 0.2901, 0.2846",\
                 "0.5087, 0.4935, 0.4556, 0.4141, 0.3835, 0.3611, 0.345, 0.3332, 0.3244, 0.3179",\
                 "0.5731, 0.5574, 0.5176, 0.4719, 0.4369, 0.4113, 0.3921, 0.3781, 0.3676, 0.3596");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1886, 0.1769, 0.1598, 0.1491, 0.1432, 0.1406, 0.1397, 0.1397, 0.1409, 0.1509",\
                 "0.1884, 0.1768, 0.1595, 0.1489, 0.1432, 0.1404, 0.1394, 0.1394, 0.1402, 0.1496",\
                 "0.1893, 0.1777, 0.1606, 0.1498, 0.1439, 0.1413, 0.1404, 0.1404, 0.1426, 0.1523",\
                 "0.1929, 0.1814, 0.1641, 0.1532, 0.1473, 0.1441, 0.1433, 0.143, 0.1443, 0.157",\
                 "0.2037, 0.1921, 0.1741, 0.1622, 0.1551, 0.1518, 0.1503, 0.1506, 0.153, 0.1652",\
                 "0.2223, 0.2096, 0.1899, 0.1772, 0.1688, 0.1647, 0.1621, 0.1628, 0.1634, 0.1787",\
                 "0.2478, 0.2348, 0.2127, 0.1971, 0.1887, 0.183, 0.1793, 0.1787, 0.1788, 0.1996",\
                 "0.2821, 0.2681, 0.2436, 0.2257, 0.2126, 0.2066, 0.2027, 0.2004, 0.2017, 0.2269",\
                 "0.3253, 0.3108, 0.2834, 0.2614, 0.2464, 0.2368, 0.2328, 0.2305, 0.2308, 0.2663",\
                 "0.3776, 0.362, 0.3312, 0.3068, 0.288, 0.2737, 0.2671, 0.2648, 0.27, 0.3274");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&!I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3396, 0.3267, 0.2966, 0.2682, 0.2501, 0.2378, 0.2292, 0.2229, 0.2183, 0.2148",\
                 "0.3394, 0.3265, 0.2964, 0.268, 0.2499, 0.2376, 0.2289, 0.2227, 0.2181, 0.2146",\
                 "0.3405, 0.3276, 0.2975, 0.2691, 0.251, 0.2387, 0.2301, 0.2238, 0.2191, 0.2157",\
                 "0.3446, 0.3317, 0.3016, 0.2731, 0.2547, 0.2424, 0.2337, 0.2274, 0.2228, 0.2193",\
                 "0.3564, 0.3434, 0.3126, 0.283, 0.2638, 0.2509, 0.2418, 0.2352, 0.2304, 0.2268",\
                 "0.3796, 0.3661, 0.3339, 0.3022, 0.2811, 0.2666, 0.2564, 0.2491, 0.2437, 0.2397",\
                 "0.4127, 0.3986, 0.3647, 0.33, 0.3062, 0.2897, 0.278, 0.2696, 0.2634, 0.2588",\
                 "0.4553, 0.4408, 0.405, 0.3671, 0.3402, 0.3209, 0.3073, 0.2974, 0.2901, 0.2846",\
                 "0.5087, 0.4937, 0.4558, 0.4141, 0.3835, 0.3611, 0.3451, 0.3333, 0.3245, 0.3181",\
                 "0.5731, 0.5574, 0.5175, 0.4719, 0.4369, 0.4112, 0.3921, 0.3781, 0.3676, 0.3597");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1885, 0.177, 0.1596, 0.1491, 0.1434, 0.1407, 0.1394, 0.1397, 0.1402, 0.1499",\
                 "0.1884, 0.1769, 0.1595, 0.149, 0.1432, 0.1405, 0.1394, 0.1394, 0.1402, 0.1496",\
                 "0.1893, 0.1778, 0.1603, 0.1499, 0.1439, 0.1413, 0.1404, 0.1404, 0.1414, 0.1514",\
                 "0.1929, 0.1817, 0.1642, 0.1532, 0.1472, 0.1443, 0.1433, 0.1434, 0.1443, 0.157",\
                 "0.2037, 0.1921, 0.1739, 0.1621, 0.1551, 0.1519, 0.1503, 0.1503, 0.1517, 0.1645",\
                 "0.2223, 0.2097, 0.1898, 0.1772, 0.1689, 0.1645, 0.1621, 0.1615, 0.1637, 0.1787",\
                 "0.2478, 0.2348, 0.2127, 0.1974, 0.1887, 0.183, 0.1793, 0.1787, 0.1788, 0.1986",\
                 "0.282, 0.2682, 0.2436, 0.2256, 0.2123, 0.2072, 0.2034, 0.2004, 0.2006, 0.2272",\
                 "0.3254, 0.3108, 0.2831, 0.2617, 0.2459, 0.2371, 0.2328, 0.2308, 0.2308, 0.2667",\
                 "0.3776, 0.362, 0.3311, 0.3069, 0.2881, 0.2734, 0.2667, 0.2641, 0.2697, 0.3271");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&!I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3396, 0.3267, 0.2966, 0.2682, 0.2501, 0.2378, 0.2292, 0.2229, 0.2183, 0.2149",\
                 "0.3394, 0.3265, 0.2965, 0.2681, 0.2499, 0.2376, 0.229, 0.2227, 0.2181, 0.2146",\
                 "0.3405, 0.3276, 0.2975, 0.2691, 0.251, 0.2387, 0.2301, 0.2238, 0.2192, 0.2157",\
                 "0.3447, 0.3317, 0.3016, 0.273, 0.2547, 0.2424, 0.2337, 0.2274, 0.2228, 0.2194",\
                 "0.3564, 0.3433, 0.3126, 0.283, 0.2638, 0.2509, 0.2418, 0.2352, 0.2304, 0.2268",\
                 "0.3796, 0.3661, 0.3338, 0.3023, 0.2811, 0.2667, 0.2564, 0.2492, 0.2437, 0.2397",\
                 "0.4127, 0.3986, 0.3647, 0.33, 0.3062, 0.2897, 0.278, 0.2696, 0.2634, 0.2588",\
                 "0.4553, 0.4408, 0.4049, 0.3671, 0.3401, 0.3209, 0.3073, 0.2974, 0.29, 0.2846",\
                 "0.5086, 0.4937, 0.4558, 0.4141, 0.3835, 0.3611, 0.3452, 0.3333, 0.3245, 0.3181",\
                 "0.5731, 0.5574, 0.5175, 0.4718, 0.4367, 0.411, 0.3921, 0.3781, 0.3677, 0.3596");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1885, 0.1769, 0.1596, 0.1491, 0.1432, 0.1407, 0.1394, 0.1397, 0.1402, 0.1512",\
                 "0.1884, 0.1769, 0.1595, 0.149, 0.1432, 0.1405, 0.1394, 0.1394, 0.1402, 0.1496",\
                 "0.1893, 0.1778, 0.1603, 0.1499, 0.1439, 0.1413, 0.1404, 0.1404, 0.1414, 0.1514",\
                 "0.1929, 0.1817, 0.1642, 0.1534, 0.147, 0.1442, 0.1437, 0.1443, 0.1447, 0.157",\
                 "0.2037, 0.1921, 0.1739, 0.1621, 0.1551, 0.1519, 0.1503, 0.1503, 0.1507, 0.1645",\
                 "0.2223, 0.2096, 0.1898, 0.1772, 0.1689, 0.1645, 0.1621, 0.1622, 0.1634, 0.1787",\
                 "0.2478, 0.2348, 0.2127, 0.1974, 0.1886, 0.183, 0.1793, 0.1787, 0.1788, 0.1986",\
                 "0.282, 0.2682, 0.2436, 0.2253, 0.2132, 0.2073, 0.2037, 0.2004, 0.2006, 0.2272",\
                 "0.3253, 0.3108, 0.2831, 0.2618, 0.2459, 0.2371, 0.2328, 0.2308, 0.2308, 0.2667",\
                 "0.3776, 0.362, 0.3311, 0.3069, 0.288, 0.2731, 0.2667, 0.2638, 0.2694, 0.3285");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&I2&!I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3396, 0.3267, 0.2966, 0.2682, 0.2501, 0.2378, 0.2292, 0.2229, 0.2183, 0.2148",\
                 "0.3394, 0.3265, 0.2964, 0.268, 0.2499, 0.2376, 0.229, 0.2227, 0.2181, 0.2146",\
                 "0.3405, 0.3276, 0.2975, 0.2691, 0.251, 0.2387, 0.2301, 0.2238, 0.2192, 0.2157",\
                 "0.3446, 0.3317, 0.3016, 0.273, 0.2547, 0.2424, 0.2337, 0.2274, 0.2228, 0.2194",\
                 "0.3564, 0.3433, 0.3125, 0.283, 0.2638, 0.2509, 0.2418, 0.2352, 0.2304, 0.2268",\
                 "0.3796, 0.3661, 0.3338, 0.3023, 0.2811, 0.2666, 0.2565, 0.2491, 0.2437, 0.2397",\
                 "0.4127, 0.3987, 0.3647, 0.33, 0.3062, 0.2897, 0.2781, 0.2696, 0.2634, 0.2588",\
                 "0.4552, 0.4407, 0.4049, 0.3671, 0.3401, 0.3211, 0.3074, 0.2974, 0.2901, 0.2847",\
                 "0.5086, 0.4935, 0.4557, 0.4141, 0.3835, 0.3611, 0.3451, 0.3332, 0.3244, 0.3179",\
                 "0.5732, 0.5574, 0.5176, 0.4719, 0.4369, 0.4111, 0.392, 0.3781, 0.3676, 0.3596");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1885, 0.1769, 0.1598, 0.1491, 0.1432, 0.1407, 0.1397, 0.1397, 0.1402, 0.1502",\
                 "0.1884, 0.1769, 0.1595, 0.149, 0.1432, 0.1405, 0.1394, 0.1394, 0.1402, 0.1496",\
                 "0.1893, 0.1778, 0.1603, 0.1499, 0.144, 0.1413, 0.1404, 0.1404, 0.1414, 0.1517",\
                 "0.193, 0.1814, 0.1643, 0.1533, 0.147, 0.1445, 0.1433, 0.1434, 0.1443, 0.1554",\
                 "0.2037, 0.1921, 0.1737, 0.1619, 0.1551, 0.1521, 0.1506, 0.1503, 0.1517, 0.1645",\
                 "0.2223, 0.2096, 0.1899, 0.1772, 0.1689, 0.1646, 0.1621, 0.1625, 0.1634, 0.179",\
                 "0.2479, 0.2348, 0.2127, 0.1971, 0.1887, 0.183, 0.1793, 0.1787, 0.1788, 0.1986",\
                 "0.2822, 0.2682, 0.2436, 0.2258, 0.2128, 0.2066, 0.2031, 0.2004, 0.2003, 0.2262",\
                 "0.3253, 0.3108, 0.2833, 0.2614, 0.2456, 0.2371, 0.2328, 0.2301, 0.2308, 0.2667",\
                 "0.3776, 0.362, 0.3312, 0.3068, 0.2881, 0.2737, 0.2671, 0.2648, 0.2697, 0.3274");
        }
      }

      internal_power() {
        related_pin : "I0" ;
        when : "I1&I2&I3&!S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3396, 0.3267, 0.2966, 0.2682, 0.2501, 0.2378, 0.2292, 0.2229, 0.2183, 0.2148",\
                 "0.3394, 0.3265, 0.2964, 0.268, 0.2499, 0.2376, 0.229, 0.2227, 0.2181, 0.2146",\
                 "0.3405, 0.3276, 0.2975, 0.2691, 0.251, 0.2387, 0.2301, 0.2238, 0.2191, 0.2157",\
                 "0.3446, 0.3317, 0.3016, 0.273, 0.2547, 0.2424, 0.2337, 0.2274, 0.2228, 0.2193",\
                 "0.3564, 0.3433, 0.3126, 0.283, 0.2639, 0.2509, 0.2418, 0.2352, 0.2304, 0.2268",\
                 "0.3796, 0.3662, 0.3338, 0.3022, 0.281, 0.2666, 0.2564, 0.2491, 0.2437, 0.2397",\
                 "0.4126, 0.3987, 0.3647, 0.33, 0.3062, 0.2897, 0.2781, 0.2696, 0.2634, 0.2588",\
                 "0.4553, 0.4406, 0.4049, 0.3672, 0.3401, 0.321, 0.3073, 0.2975, 0.2901, 0.2847",\
                 "0.5087, 0.4936, 0.4558, 0.4142, 0.3836, 0.3613, 0.3451, 0.3333, 0.3246, 0.3179",\
                 "0.5732, 0.5574, 0.5176, 0.4719, 0.4369, 0.411, 0.392, 0.3781, 0.3675, 0.3595");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1885, 0.1769, 0.1598, 0.1492, 0.1432, 0.1407, 0.1397, 0.1397, 0.1402, 0.1502",\
                 "0.1884, 0.1769, 0.1595, 0.149, 0.1432, 0.1405, 0.1394, 0.1394, 0.1402, 0.1496",\
                 "0.1892, 0.1778, 0.1603, 0.1499, 0.144, 0.1413, 0.1404, 0.1404, 0.1414, 0.1517",\
                 "0.193, 0.1814, 0.1643, 0.1533, 0.147, 0.1445, 0.1433, 0.1434, 0.1443, 0.1554",\
                 "0.2037, 0.1921, 0.1738, 0.1619, 0.1551, 0.1521, 0.1509, 0.1506, 0.1517, 0.1645",\
                 "0.2222, 0.2096, 0.1899, 0.1772, 0.1689, 0.1647, 0.1621, 0.1625, 0.1634, 0.179",\
                 "0.2479, 0.2348, 0.2127, 0.1971, 0.1887, 0.183, 0.1793, 0.1787, 0.1788, 0.1986",\
                 "0.2822, 0.2684, 0.2436, 0.2258, 0.2128, 0.2066, 0.2027, 0.2004, 0.2003, 0.2269",\
                 "0.3253, 0.3108, 0.2833, 0.2614, 0.2456, 0.2371, 0.2328, 0.2301, 0.2308, 0.2667",\
                 "0.3776, 0.362, 0.3312, 0.3068, 0.288, 0.2737, 0.2671, 0.2645, 0.27, 0.3274");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3422, 0.3293, 0.2993, 0.2711, 0.2529, 0.2407, 0.2321, 0.2259, 0.2213, 0.2179",\
                 "0.342, 0.3291, 0.2991, 0.2708, 0.2528, 0.2406, 0.232, 0.2257, 0.2211, 0.2177",\
                 "0.3432, 0.3303, 0.3003, 0.2719, 0.2539, 0.2417, 0.2331, 0.2269, 0.2223, 0.2188",\
                 "0.3474, 0.3345, 0.3043, 0.276, 0.2577, 0.2454, 0.2368, 0.2305, 0.2259, 0.2225",\
                 "0.3591, 0.3461, 0.3153, 0.2859, 0.2668, 0.2539, 0.2449, 0.2383, 0.2335, 0.23",\
                 "0.3822, 0.3686, 0.3365, 0.3049, 0.284, 0.2696, 0.2596, 0.2523, 0.2469, 0.2429",\
                 "0.4149, 0.4008, 0.3672, 0.3328, 0.3091, 0.2927, 0.2811, 0.2728, 0.2666, 0.262",\
                 "0.4573, 0.4429, 0.4072, 0.3696, 0.3427, 0.3238, 0.3103, 0.3006, 0.2933, 0.2879",\
                 "0.5107, 0.4956, 0.4578, 0.4165, 0.386, 0.364, 0.3482, 0.3364, 0.3277, 0.3213",\
                 "0.5749, 0.5591, 0.5195, 0.4742, 0.4394, 0.4136, 0.395, 0.3812, 0.3708, 0.3629");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1808, 0.1691, 0.1521, 0.1416, 0.1358, 0.1332, 0.1324, 0.1325, 0.133, 0.1439",\
                 "0.1806, 0.169, 0.152, 0.1411, 0.1354, 0.1328, 0.1321, 0.1321, 0.1327, 0.142",\
                 "0.1816, 0.1701, 0.1527, 0.1423, 0.1365, 0.1339, 0.1328, 0.1331, 0.1341, 0.1441",\
                 "0.1853, 0.1737, 0.1564, 0.1459, 0.1399, 0.1367, 0.1361, 0.1361, 0.1387, 0.1494",\
                 "0.1963, 0.1846, 0.1666, 0.1549, 0.1478, 0.1447, 0.1433, 0.143, 0.1441, 0.1582",\
                 "0.215, 0.2025, 0.1826, 0.1701, 0.162, 0.1574, 0.1552, 0.1549, 0.1555, 0.1707",\
                 "0.2406, 0.2276, 0.2056, 0.19, 0.1811, 0.1759, 0.172, 0.1717, 0.1729, 0.1908",\
                 "0.2751, 0.2611, 0.2362, 0.2182, 0.2054, 0.1997, 0.1965, 0.1935, 0.1937, 0.2193",\
                 "0.3183, 0.3036, 0.2762, 0.2544, 0.2389, 0.2299, 0.2252, 0.2232, 0.2239, 0.2595",\
                 "0.3705, 0.3548, 0.324, 0.3, 0.2816, 0.2676, 0.2598, 0.2582, 0.2628, 0.3204");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3422, 0.3293, 0.2993, 0.2711, 0.2529, 0.2408, 0.2321, 0.2259, 0.2213, 0.2179",\
                 "0.342, 0.3291, 0.2991, 0.2708, 0.2528, 0.2406, 0.2319, 0.2257, 0.2211, 0.2177",\
                 "0.3432, 0.3303, 0.3003, 0.2719, 0.2539, 0.2417, 0.2331, 0.2269, 0.2223, 0.2188",\
                 "0.3474, 0.3344, 0.3044, 0.2759, 0.2577, 0.2454, 0.2368, 0.2305, 0.2259, 0.2225",\
                 "0.3592, 0.3461, 0.3153, 0.286, 0.2669, 0.254, 0.2449, 0.2383, 0.2336, 0.23",\
                 "0.3822, 0.3686, 0.3365, 0.305, 0.284, 0.2696, 0.2595, 0.2523, 0.2469, 0.2429",\
                 "0.4149, 0.401, 0.3671, 0.3328, 0.3092, 0.2927, 0.2811, 0.2728, 0.2666, 0.262",\
                 "0.4574, 0.4429, 0.4072, 0.3697, 0.3429, 0.3239, 0.3104, 0.3006, 0.2934, 0.2879",\
                 "0.5107, 0.4956, 0.4579, 0.4165, 0.386, 0.364, 0.3482, 0.3364, 0.3277, 0.3213",\
                 "0.575, 0.5593, 0.5196, 0.4742, 0.4394, 0.4136, 0.395, 0.3812, 0.3708, 0.3628");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1808, 0.1693, 0.1521, 0.1416, 0.1357, 0.1332, 0.1321, 0.1331, 0.133, 0.1439",\
                 "0.1805, 0.1691, 0.1518, 0.1413, 0.1356, 0.1328, 0.1318, 0.1321, 0.1333, 0.1436",\
                 "0.1815, 0.17, 0.1527, 0.1423, 0.1365, 0.1339, 0.1328, 0.1335, 0.1341, 0.1445",\
                 "0.1853, 0.174, 0.1564, 0.1459, 0.1396, 0.1368, 0.1364, 0.1361, 0.1371, 0.1488",\
                 "0.1963, 0.1846, 0.1663, 0.1545, 0.148, 0.1448, 0.1433, 0.1427, 0.1445, 0.1582",\
                 "0.215, 0.2029, 0.1826, 0.1701, 0.1621, 0.1574, 0.1552, 0.1552, 0.1555, 0.1711",\
                 "0.2406, 0.2277, 0.2055, 0.1896, 0.1808, 0.1759, 0.172, 0.1714, 0.1732, 0.1917",\
                 "0.2751, 0.2613, 0.2365, 0.2183, 0.2056, 0.1995, 0.1958, 0.1938, 0.1937, 0.2193",\
                 "0.3183, 0.3035, 0.276, 0.2547, 0.2393, 0.2296, 0.2255, 0.2242, 0.2252, 0.2616",\
                 "0.3706, 0.3549, 0.3239, 0.2995, 0.2809, 0.2674, 0.2598, 0.2579, 0.2625, 0.3201");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3422, 0.3293, 0.2993, 0.2711, 0.2529, 0.2408, 0.2321, 0.2259, 0.2213, 0.2179",\
                 "0.342, 0.3291, 0.2991, 0.2708, 0.2527, 0.2406, 0.232, 0.2257, 0.2211, 0.2177",\
                 "0.3432, 0.3303, 0.3003, 0.272, 0.2539, 0.2417, 0.2332, 0.2268, 0.2222, 0.2188",\
                 "0.3474, 0.3345, 0.3044, 0.276, 0.2577, 0.2454, 0.2368, 0.2305, 0.2259, 0.2225",\
                 "0.3592, 0.3461, 0.3153, 0.286, 0.2668, 0.254, 0.2449, 0.2383, 0.2336, 0.23",\
                 "0.3822, 0.3686, 0.3364, 0.3049, 0.284, 0.2696, 0.2596, 0.2523, 0.2469, 0.243",\
                 "0.4148, 0.4008, 0.3672, 0.3328, 0.3092, 0.2927, 0.2811, 0.2728, 0.2666, 0.262",\
                 "0.4573, 0.4429, 0.4072, 0.3696, 0.3427, 0.3238, 0.3103, 0.3006, 0.2933, 0.2879",\
                 "0.5107, 0.4956, 0.4578, 0.4166, 0.386, 0.3642, 0.3481, 0.3365, 0.3277, 0.3212",\
                 "0.5749, 0.5591, 0.5196, 0.4742, 0.4394, 0.4136, 0.395, 0.3811, 0.3708, 0.3629");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1807, 0.1694, 0.1521, 0.1412, 0.1359, 0.1328, 0.1321, 0.1318, 0.1323, 0.1439",\
                 "0.1806, 0.169, 0.1519, 0.1412, 0.1356, 0.1329, 0.1321, 0.1318, 0.1327, 0.1442",\
                 "0.1815, 0.1701, 0.1529, 0.1423, 0.1365, 0.1339, 0.1324, 0.1341, 0.1344, 0.1457",\
                 "0.1853, 0.1737, 0.1564, 0.1459, 0.1399, 0.137, 0.1361, 0.1358, 0.1371, 0.1491",\
                 "0.1963, 0.1846, 0.1667, 0.1547, 0.1478, 0.1447, 0.1433, 0.143, 0.1441, 0.1569",\
                 "0.215, 0.2026, 0.1827, 0.1702, 0.1621, 0.1575, 0.1552, 0.1556, 0.1558, 0.1721",\
                 "0.2406, 0.2277, 0.2056, 0.19, 0.1808, 0.1758, 0.1724, 0.1717, 0.1725, 0.1924",\
                 "0.2751, 0.2611, 0.2362, 0.2182, 0.2059, 0.2003, 0.1965, 0.1935, 0.1937, 0.2193",\
                 "0.3184, 0.3036, 0.2762, 0.2544, 0.2394, 0.2291, 0.2248, 0.2232, 0.2239, 0.2598",\
                 "0.3705, 0.3548, 0.324, 0.2998, 0.2814, 0.2672, 0.2595, 0.2582, 0.2628, 0.3204");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "!I0&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3422, 0.3293, 0.2993, 0.2711, 0.2529, 0.2408, 0.2321, 0.2259, 0.2213, 0.2179",\
                 "0.342, 0.3291, 0.2991, 0.2709, 0.2528, 0.2406, 0.2319, 0.2257, 0.2211, 0.2177",\
                 "0.3432, 0.3303, 0.3003, 0.2719, 0.2539, 0.2417, 0.2331, 0.2269, 0.2223, 0.2189",\
                 "0.3474, 0.3344, 0.3043, 0.2759, 0.2577, 0.2454, 0.2368, 0.2305, 0.2259, 0.2225",\
                 "0.3591, 0.346, 0.3153, 0.2859, 0.2669, 0.254, 0.2449, 0.2384, 0.2336, 0.23",\
                 "0.3822, 0.3686, 0.3365, 0.3051, 0.284, 0.2696, 0.2595, 0.2523, 0.2469, 0.2429",\
                 "0.4149, 0.401, 0.3671, 0.3328, 0.3092, 0.2927, 0.2811, 0.2728, 0.2666, 0.262",\
                 "0.4574, 0.4429, 0.4072, 0.3696, 0.3429, 0.3239, 0.3104, 0.3006, 0.2933, 0.2879",\
                 "0.5107, 0.4956, 0.4579, 0.4166, 0.386, 0.364, 0.3482, 0.3364, 0.3277, 0.3212",\
                 "0.575, 0.5593, 0.5196, 0.4742, 0.4393, 0.4136, 0.395, 0.3811, 0.3708, 0.3628");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1806, 0.1693, 0.1521, 0.1415, 0.1356, 0.133, 0.1321, 0.1318, 0.133, 0.1436",\
                 "0.1806, 0.169, 0.152, 0.1413, 0.1354, 0.1327, 0.1321, 0.1318, 0.1327, 0.1442",\
                 "0.1815, 0.1701, 0.1529, 0.1423, 0.1365, 0.1339, 0.1324, 0.1341, 0.1344, 0.1457",\
                 "0.1854, 0.1738, 0.1567, 0.1459, 0.1397, 0.137, 0.1361, 0.1358, 0.1371, 0.1488",\
                 "0.1963, 0.1845, 0.1665, 0.1548, 0.1477, 0.1444, 0.1433, 0.1427, 0.1438, 0.1566",\
                 "0.215, 0.2029, 0.1826, 0.1701, 0.1618, 0.1574, 0.1549, 0.1549, 0.1555, 0.1717",\
                 "0.2406, 0.2277, 0.2055, 0.1896, 0.1808, 0.1757, 0.1724, 0.1711, 0.1729, 0.1908",\
                 "0.2751, 0.2613, 0.2365, 0.2183, 0.2059, 0.1995, 0.1958, 0.1935, 0.1934, 0.2197",\
                 "0.3183, 0.3035, 0.276, 0.2547, 0.2393, 0.2296, 0.2252, 0.2242, 0.2239, 0.2603",\
                 "0.3705, 0.3549, 0.3239, 0.2999, 0.2806, 0.2674, 0.2592, 0.2575, 0.2625, 0.3198");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&!I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3422, 0.3293, 0.2993, 0.2711, 0.2529, 0.2407, 0.2321, 0.2259, 0.2213, 0.2179",\
                 "0.342, 0.3291, 0.2991, 0.2709, 0.2528, 0.2406, 0.232, 0.2257, 0.2211, 0.2177",\
                 "0.3432, 0.3303, 0.3003, 0.2719, 0.2539, 0.2417, 0.2332, 0.2269, 0.2223, 0.2188",\
                 "0.3474, 0.3344, 0.3044, 0.2759, 0.2577, 0.2454, 0.2368, 0.2305, 0.2259, 0.2225",\
                 "0.3592, 0.3461, 0.3154, 0.286, 0.2669, 0.254, 0.2449, 0.2384, 0.2336, 0.23",\
                 "0.3821, 0.3686, 0.3364, 0.3049, 0.284, 0.2697, 0.2596, 0.2523, 0.2469, 0.2429",\
                 "0.4149, 0.4009, 0.3672, 0.3328, 0.3092, 0.2927, 0.2811, 0.2727, 0.2666, 0.262",\
                 "0.4573, 0.4429, 0.4072, 0.3696, 0.3427, 0.3238, 0.3104, 0.3006, 0.2933, 0.2879",\
                 "0.5107, 0.4956, 0.4578, 0.4164, 0.3859, 0.364, 0.3481, 0.3364, 0.3278, 0.3212",\
                 "0.5749, 0.5591, 0.5195, 0.4742, 0.4393, 0.4136, 0.395, 0.3811, 0.3707, 0.3629");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1807, 0.1691, 0.1522, 0.1416, 0.1357, 0.1332, 0.1321, 0.1328, 0.133, 0.1439",\
                 "0.1806, 0.1691, 0.1519, 0.1413, 0.1354, 0.1327, 0.1321, 0.1318, 0.1327, 0.1442",\
                 "0.1815, 0.1702, 0.1529, 0.1423, 0.1364, 0.1339, 0.1328, 0.1331, 0.1338, 0.1454",\
                 "0.1854, 0.1738, 0.1564, 0.1459, 0.1399, 0.137, 0.1361, 0.1361, 0.1364, 0.1488",\
                 "0.1963, 0.1845, 0.1665, 0.1548, 0.1481, 0.1448, 0.1433, 0.143, 0.1445, 0.1582",\
                 "0.215, 0.2029, 0.1826, 0.1702, 0.1618, 0.1573, 0.1555, 0.1549, 0.1561, 0.1711",\
                 "0.2406, 0.2276, 0.2055, 0.1901, 0.1811, 0.176, 0.1724, 0.1717, 0.1732, 0.1908",\
                 "0.275, 0.2614, 0.2365, 0.2184, 0.2058, 0.1995, 0.1961, 0.1935, 0.1924, 0.219",\
                 "0.3183, 0.3036, 0.2762, 0.2544, 0.2387, 0.2296, 0.2248, 0.2239, 0.2239, 0.2598",\
                 "0.3705, 0.3548, 0.324, 0.2998, 0.2814, 0.2672, 0.2595, 0.2569, 0.2628, 0.3204");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&!I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3422, 0.3293, 0.2993, 0.2711, 0.2529, 0.2408, 0.2321, 0.2259, 0.2213, 0.2179",\
                 "0.342, 0.3291, 0.2991, 0.2709, 0.2528, 0.2406, 0.232, 0.2257, 0.2211, 0.2177",\
                 "0.3432, 0.3303, 0.3003, 0.2719, 0.2539, 0.2417, 0.2331, 0.2268, 0.2223, 0.2189",\
                 "0.3474, 0.3344, 0.3044, 0.2759, 0.2577, 0.2454, 0.2368, 0.2305, 0.2259, 0.2225",\
                 "0.3592, 0.3461, 0.3154, 0.286, 0.2669, 0.254, 0.245, 0.2384, 0.2336, 0.23",\
                 "0.3821, 0.3685, 0.3364, 0.3049, 0.284, 0.2696, 0.2595, 0.2523, 0.2469, 0.2429",\
                 "0.4148, 0.4009, 0.3671, 0.3328, 0.3091, 0.2926, 0.2811, 0.2728, 0.2666, 0.262",\
                 "0.4574, 0.4429, 0.4072, 0.3696, 0.3427, 0.3239, 0.3104, 0.3006, 0.2933, 0.2879",\
                 "0.5107, 0.4956, 0.4579, 0.4164, 0.3859, 0.364, 0.3481, 0.3364, 0.3277, 0.3212",\
                 "0.575, 0.5592, 0.5195, 0.4741, 0.4394, 0.4136, 0.395, 0.3812, 0.3708, 0.3628");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1808, 0.1694, 0.1521, 0.1415, 0.1356, 0.1332, 0.1321, 0.1321, 0.133, 0.1439",\
                 "0.1806, 0.1691, 0.1518, 0.1413, 0.1356, 0.1328, 0.1318, 0.1321, 0.1327, 0.1436",\
                 "0.1815, 0.17, 0.1527, 0.1423, 0.1363, 0.1339, 0.1328, 0.1331, 0.1341, 0.1445",\
                 "0.1853, 0.1737, 0.1566, 0.1459, 0.1399, 0.1368, 0.1361, 0.1358, 0.1371, 0.1498",\
                 "0.1963, 0.1844, 0.1663, 0.1547, 0.1477, 0.1447, 0.1433, 0.143, 0.1438, 0.1582",\
                 "0.215, 0.2029, 0.1826, 0.1701, 0.1619, 0.1573, 0.1549, 0.1552, 0.1558, 0.1707",\
                 "0.2406, 0.2277, 0.2056, 0.19, 0.1811, 0.1755, 0.1724, 0.1714, 0.1729, 0.1908",\
                 "0.2751, 0.2613, 0.2365, 0.2181, 0.2056, 0.1995, 0.1958, 0.1935, 0.1934, 0.219",\
                 "0.3183, 0.3035, 0.276, 0.2547, 0.2391, 0.2296, 0.2255, 0.2235, 0.2239, 0.2598",\
                 "0.3705, 0.3549, 0.3239, 0.2996, 0.2811, 0.2677, 0.2595, 0.2579, 0.2631, 0.3196");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&I2&!I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3422, 0.3293, 0.2993, 0.2711, 0.2529, 0.2408, 0.2321, 0.2259, 0.2213, 0.2179",\
                 "0.342, 0.3291, 0.2991, 0.2708, 0.2527, 0.2406, 0.2319, 0.2257, 0.2211, 0.2177",\
                 "0.3432, 0.3303, 0.3003, 0.2719, 0.2539, 0.2417, 0.2331, 0.2269, 0.2223, 0.2189",\
                 "0.3474, 0.3345, 0.3044, 0.2759, 0.2577, 0.2454, 0.2368, 0.2306, 0.2259, 0.2225",\
                 "0.3592, 0.3461, 0.3153, 0.2859, 0.2669, 0.254, 0.2449, 0.2383, 0.2335, 0.23",\
                 "0.3821, 0.3686, 0.3365, 0.305, 0.2841, 0.2697, 0.2596, 0.2523, 0.2469, 0.243",\
                 "0.4148, 0.4008, 0.3672, 0.3328, 0.309, 0.2927, 0.2812, 0.2728, 0.2666, 0.262",\
                 "0.4573, 0.4429, 0.4072, 0.3695, 0.3428, 0.3238, 0.3103, 0.3006, 0.2933, 0.2879",\
                 "0.5107, 0.4956, 0.4578, 0.4166, 0.3859, 0.3642, 0.3481, 0.3365, 0.3277, 0.3212",\
                 "0.5749, 0.5591, 0.5195, 0.4742, 0.4393, 0.4137, 0.395, 0.3811, 0.3707, 0.3628");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1807, 0.1692, 0.1521, 0.1415, 0.1356, 0.1329, 0.1321, 0.1321, 0.133, 0.1439",\
                 "0.1805, 0.169, 0.152, 0.1413, 0.1354, 0.1327, 0.1321, 0.1318, 0.1333, 0.1423",\
                 "0.1815, 0.1701, 0.1529, 0.1423, 0.1365, 0.1339, 0.1324, 0.1341, 0.1344, 0.1457",\
                 "0.1853, 0.1737, 0.1564, 0.1459, 0.1399, 0.137, 0.1361, 0.1358, 0.1371, 0.1491",\
                 "0.1963, 0.1846, 0.1667, 0.1549, 0.1478, 0.1447, 0.1433, 0.143, 0.1441, 0.1569",\
                 "0.215, 0.2026, 0.1827, 0.1702, 0.1621, 0.1575, 0.1552, 0.1556, 0.1558, 0.1721",\
                 "0.2406, 0.2276, 0.2055, 0.1901, 0.1814, 0.1757, 0.1724, 0.1717, 0.1725, 0.192",\
                 "0.275, 0.2614, 0.2365, 0.2184, 0.2058, 0.1995, 0.1961, 0.1935, 0.1955, 0.2193",\
                 "0.3184, 0.3036, 0.2762, 0.2544, 0.2387, 0.2296, 0.2248, 0.2239, 0.2239, 0.2598",\
                 "0.3705, 0.3548, 0.324, 0.2998, 0.2809, 0.267, 0.2601, 0.2589, 0.2628, 0.3198");
        }
      }

      internal_power() {
        related_pin : "I1" ;
        when : "I0&I2&I3&S0&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3422, 0.3293, 0.2993, 0.2711, 0.2529, 0.2408, 0.2321, 0.2259, 0.2213, 0.2179",\
                 "0.342, 0.3291, 0.2991, 0.2709, 0.2528, 0.2406, 0.2319, 0.2257, 0.2211, 0.2177",\
                 "0.3432, 0.3303, 0.3002, 0.2719, 0.2539, 0.2417, 0.2332, 0.2268, 0.2223, 0.2189",\
                 "0.3474, 0.3344, 0.3044, 0.276, 0.2577, 0.2454, 0.2368, 0.2305, 0.2259, 0.2225",\
                 "0.3592, 0.346, 0.3154, 0.2859, 0.2669, 0.254, 0.245, 0.2384, 0.2336, 0.23",\
                 "0.3822, 0.3686, 0.3364, 0.3049, 0.284, 0.2696, 0.2596, 0.2523, 0.2469, 0.243",\
                 "0.4148, 0.4008, 0.3671, 0.3328, 0.3092, 0.2928, 0.2811, 0.2727, 0.2665, 0.262",\
                 "0.4574, 0.4429, 0.4072, 0.3696, 0.3427, 0.324, 0.3104, 0.3006, 0.2933, 0.2879",\
                 "0.5107, 0.4957, 0.4579, 0.4166, 0.3859, 0.364, 0.3481, 0.3364, 0.3277, 0.3212",\
                 "0.575, 0.5593, 0.5196, 0.474, 0.4392, 0.4136, 0.3951, 0.3812, 0.3707, 0.3628");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1808, 0.1692, 0.1522, 0.1415, 0.1356, 0.1331, 0.1321, 0.1318, 0.133, 0.1439",\
                 "0.1806, 0.1691, 0.1518, 0.1415, 0.1356, 0.1329, 0.1318, 0.1321, 0.1323, 0.1442",\
                 "0.1815, 0.1701, 0.1529, 0.1423, 0.1365, 0.1339, 0.1324, 0.1341, 0.1344, 0.1457",\
                 "0.1854, 0.174, 0.1566, 0.1458, 0.1397, 0.1368, 0.1357, 0.1361, 0.1371, 0.1491",\
                 "0.1963, 0.1844, 0.1663, 0.1547, 0.1477, 0.1446, 0.143, 0.1434, 0.1448, 0.1573",\
                 "0.215, 0.2029, 0.1826, 0.1701, 0.162, 0.1574, 0.1552, 0.1552, 0.1555, 0.1711",\
                 "0.2406, 0.2277, 0.2056, 0.19, 0.1812, 0.1755, 0.1724, 0.1711, 0.1722, 0.1927",\
                 "0.2751, 0.2613, 0.2366, 0.2188, 0.2054, 0.1995, 0.1958, 0.1942, 0.1934, 0.2197",\
                 "0.3183, 0.3035, 0.276, 0.2547, 0.2393, 0.2296, 0.2252, 0.2242, 0.2252, 0.2591",\
                 "0.3705, 0.355, 0.324, 0.2996, 0.2811, 0.2677, 0.2595, 0.2579, 0.2631, 0.3196");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&!I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3485, 0.3362, 0.3084, 0.2839, 0.2686, 0.2583, 0.251, 0.2458, 0.2421, 0.2392",\
                 "0.3483, 0.336, 0.3082, 0.2838, 0.2684, 0.2582, 0.2508, 0.2456, 0.2419, 0.2391",\
                 "0.3498, 0.3374, 0.3096, 0.2852, 0.2697, 0.2594, 0.2522, 0.247, 0.2432, 0.2404",\
                 "0.355, 0.3427, 0.3146, 0.29, 0.2743, 0.2639, 0.2565, 0.2513, 0.2475, 0.2447",\
                 "0.369, 0.3564, 0.3277, 0.3018, 0.285, 0.2738, 0.266, 0.2604, 0.2564, 0.2534",\
                 "0.3948, 0.3817, 0.3512, 0.323, 0.3042, 0.2915, 0.2825, 0.2762, 0.2715, 0.2681",\
                 "0.4308, 0.4172, 0.3849, 0.3535, 0.3321, 0.3172, 0.3068, 0.2993, 0.2938, 0.2897",\
                 "0.4777, 0.4634, 0.4292, 0.3942, 0.3696, 0.352, 0.3395, 0.3306, 0.3239, 0.3191",\
                 "0.5363, 0.5217, 0.4849, 0.4461, 0.4173, 0.3968, 0.382, 0.371, 0.363, 0.357",\
                 "0.6063, 0.5909, 0.5523, 0.5091, 0.4762, 0.4521, 0.4342, 0.4211, 0.4114, 0.4041");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1917, 0.1803, 0.1624, 0.1511, 0.1452, 0.142, 0.1407, 0.1407, 0.1416, 0.1515",\
                 "0.1914, 0.1798, 0.162, 0.1511, 0.1446, 0.1418, 0.1403, 0.1404, 0.1409, 0.1511",\
                 "0.1923, 0.1806, 0.163, 0.1517, 0.1455, 0.1426, 0.1417, 0.142, 0.1427, 0.1539",\
                 "0.1965, 0.1848, 0.1669, 0.1556, 0.1494, 0.1462, 0.1446, 0.1447, 0.1456, 0.1586",\
                 "0.2077, 0.1958, 0.1773, 0.1653, 0.158, 0.1546, 0.1532, 0.1529, 0.154, 0.1674",\
                 "0.228, 0.2155, 0.1954, 0.182, 0.1736, 0.169, 0.1664, 0.1664, 0.167, 0.1832",\
                 "0.2557, 0.2429, 0.2205, 0.2048, 0.1955, 0.1899, 0.1859, 0.1849, 0.1854, 0.2054",\
                 "0.2929, 0.2792, 0.2544, 0.2359, 0.223, 0.2175, 0.2129, 0.2107, 0.2106, 0.239",\
                 "0.3402, 0.3259, 0.2985, 0.2768, 0.2615, 0.2511, 0.2459, 0.2447, 0.2446, 0.2866",\
                 "0.3976, 0.3821, 0.3519, 0.3278, 0.3085, 0.2953, 0.2872, 0.2852, 0.29, 0.3536");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&!I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3485, 0.3362, 0.3084, 0.284, 0.2686, 0.2583, 0.251, 0.2458, 0.2421, 0.2393",\
                 "0.3483, 0.336, 0.3082, 0.2838, 0.2684, 0.2581, 0.2508, 0.2456, 0.2419, 0.2391",\
                 "0.3497, 0.3374, 0.3095, 0.2851, 0.2698, 0.2594, 0.2522, 0.247, 0.2432, 0.2405",\
                 "0.355, 0.3427, 0.3146, 0.29, 0.2743, 0.2639, 0.2566, 0.2513, 0.2475, 0.2447",\
                 "0.369, 0.3565, 0.3276, 0.3017, 0.285, 0.2738, 0.2659, 0.2604, 0.2564, 0.2534",\
                 "0.3948, 0.3817, 0.3512, 0.3229, 0.3043, 0.2915, 0.2826, 0.2761, 0.2715, 0.2681",\
                 "0.4308, 0.4172, 0.385, 0.3535, 0.3321, 0.3172, 0.3068, 0.2993, 0.2938, 0.2898",\
                 "0.4775, 0.4636, 0.4292, 0.3943, 0.3694, 0.3521, 0.3395, 0.3305, 0.324, 0.3191",\
                 "0.5363, 0.5216, 0.4851, 0.4461, 0.4174, 0.3967, 0.382, 0.371, 0.363, 0.3571",\
                 "0.6062, 0.5909, 0.5523, 0.5091, 0.4761, 0.4521, 0.4343, 0.4211, 0.4113, 0.4041");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1917, 0.1801, 0.1624, 0.1512, 0.145, 0.142, 0.1407, 0.1407, 0.1412, 0.1515",\
                 "0.1913, 0.1799, 0.162, 0.151, 0.1448, 0.1417, 0.1403, 0.1404, 0.1412, 0.1511",\
                 "0.1923, 0.1806, 0.163, 0.1517, 0.1454, 0.1428, 0.141, 0.1414, 0.144, 0.1526",\
                 "0.1965, 0.1848, 0.1671, 0.1557, 0.1492, 0.1461, 0.145, 0.1447, 0.1456, 0.1586",\
                 "0.2077, 0.1958, 0.1773, 0.1653, 0.158, 0.1544, 0.1529, 0.1532, 0.1537, 0.1681",\
                 "0.2279, 0.2153, 0.1955, 0.182, 0.1737, 0.169, 0.1664, 0.1664, 0.167, 0.1832",\
                 "0.2557, 0.2428, 0.2205, 0.2048, 0.1954, 0.1899, 0.1859, 0.1849, 0.1854, 0.2054",\
                 "0.2929, 0.2792, 0.2544, 0.2358, 0.223, 0.2172, 0.2129, 0.2107, 0.212, 0.239",\
                 "0.3402, 0.3259, 0.2985, 0.2768, 0.2615, 0.2514, 0.2473, 0.2447, 0.2459, 0.2866",\
                 "0.3976, 0.3821, 0.352, 0.3278, 0.3085, 0.2953, 0.2879, 0.2852, 0.2907, 0.354");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3485, 0.3362, 0.3084, 0.2839, 0.2686, 0.2583, 0.251, 0.2458, 0.242, 0.2393",\
                 "0.3483, 0.336, 0.3082, 0.2838, 0.2685, 0.2581, 0.2508, 0.2457, 0.2419, 0.2391",\
                 "0.3497, 0.3374, 0.3096, 0.2852, 0.2698, 0.2594, 0.2522, 0.247, 0.2432, 0.2404",\
                 "0.355, 0.3426, 0.3146, 0.2899, 0.2744, 0.2639, 0.2565, 0.2513, 0.2475, 0.2447",\
                 "0.369, 0.3565, 0.3277, 0.3017, 0.285, 0.2738, 0.266, 0.2604, 0.2564, 0.2534",\
                 "0.3948, 0.3818, 0.3512, 0.323, 0.3042, 0.2915, 0.2825, 0.2761, 0.2715, 0.2681",\
                 "0.4307, 0.4172, 0.3851, 0.3534, 0.3321, 0.3172, 0.3067, 0.2992, 0.2938, 0.2898",\
                 "0.4778, 0.4635, 0.4292, 0.3941, 0.3696, 0.352, 0.3395, 0.3304, 0.324, 0.3191",\
                 "0.5363, 0.5216, 0.4851, 0.4461, 0.4173, 0.3968, 0.382, 0.3709, 0.363, 0.357",\
                 "0.6062, 0.5909, 0.5523, 0.5092, 0.4761, 0.4521, 0.4343, 0.4212, 0.4114, 0.4041");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1917, 0.1803, 0.1624, 0.1513, 0.1449, 0.1421, 0.141, 0.1414, 0.1416, 0.1528",\
                 "0.1914, 0.1798, 0.1621, 0.1509, 0.1446, 0.1416, 0.1403, 0.1404, 0.1412, 0.1511",\
                 "0.1923, 0.1806, 0.163, 0.1519, 0.1457, 0.1426, 0.1413, 0.141, 0.1423, 0.1529",\
                 "0.1965, 0.1848, 0.1671, 0.1557, 0.1492, 0.1463, 0.1446, 0.1447, 0.1456, 0.1586",\
                 "0.2077, 0.1959, 0.1773, 0.1654, 0.158, 0.1541, 0.1529, 0.1523, 0.1534, 0.1668",\
                 "0.2279, 0.2153, 0.1955, 0.1821, 0.1737, 0.169, 0.1664, 0.1665, 0.167, 0.1832",\
                 "0.2557, 0.2428, 0.2206, 0.2048, 0.1954, 0.1899, 0.1859, 0.1849, 0.1854, 0.2054",\
                 "0.2929, 0.2792, 0.2544, 0.236, 0.223, 0.2172, 0.2129, 0.211, 0.211, 0.2409",\
                 "0.3402, 0.3259, 0.2985, 0.2768, 0.2615, 0.251, 0.2473, 0.2447, 0.2459, 0.2866",\
                 "0.3976, 0.3821, 0.352, 0.3278, 0.3085, 0.2953, 0.2872, 0.2856, 0.29, 0.3542");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "!I0&I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3485, 0.3362, 0.3084, 0.284, 0.2686, 0.2583, 0.251, 0.2458, 0.2421, 0.2393",\
                 "0.3483, 0.336, 0.3082, 0.2838, 0.2685, 0.2581, 0.2508, 0.2457, 0.2419, 0.2391",\
                 "0.3497, 0.3374, 0.3096, 0.2851, 0.2697, 0.2595, 0.2522, 0.247, 0.2433, 0.2404",\
                 "0.355, 0.3426, 0.3146, 0.29, 0.2743, 0.2639, 0.2566, 0.2513, 0.2475, 0.2447",\
                 "0.369, 0.3564, 0.3277, 0.3016, 0.285, 0.2738, 0.2659, 0.2603, 0.2563, 0.2534",\
                 "0.3948, 0.3816, 0.3512, 0.3229, 0.3043, 0.2915, 0.2825, 0.2761, 0.2715, 0.2681",\
                 "0.4308, 0.4172, 0.385, 0.3535, 0.3321, 0.3172, 0.3067, 0.2992, 0.2937, 0.2898",\
                 "0.4776, 0.4636, 0.4292, 0.3943, 0.3694, 0.352, 0.3396, 0.3307, 0.324, 0.3191",\
                 "0.5363, 0.5216, 0.4851, 0.4461, 0.4174, 0.3967, 0.382, 0.3709, 0.363, 0.357",\
                 "0.6062, 0.5909, 0.5523, 0.5092, 0.4763, 0.4519, 0.4342, 0.4211, 0.4114, 0.4041");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1917, 0.1801, 0.1624, 0.1512, 0.1449, 0.1421, 0.141, 0.1414, 0.1416, 0.1528",\
                 "0.1914, 0.1798, 0.1621, 0.1508, 0.1448, 0.1418, 0.1407, 0.1414, 0.1422, 0.1514",\
                 "0.1923, 0.1807, 0.1631, 0.1516, 0.1454, 0.1431, 0.141, 0.1414, 0.1427, 0.1526",\
                 "0.1964, 0.1849, 0.1669, 0.1555, 0.1492, 0.1462, 0.145, 0.1457, 0.1456, 0.1576",\
                 "0.2077, 0.1958, 0.1773, 0.1653, 0.158, 0.1547, 0.1532, 0.1529, 0.1534, 0.1664",\
                 "0.2279, 0.2153, 0.1955, 0.182, 0.1737, 0.169, 0.1664, 0.1664, 0.167, 0.1832",\
                 "0.2557, 0.2428, 0.2205, 0.2048, 0.1954, 0.1899, 0.1859, 0.1849, 0.1854, 0.2054",\
                 "0.2929, 0.2792, 0.2544, 0.2358, 0.223, 0.2172, 0.2129, 0.2107, 0.212, 0.239",\
                 "0.3402, 0.3259, 0.2985, 0.2768, 0.2615, 0.251, 0.2473, 0.2447, 0.2459, 0.2866",\
                 "0.3976, 0.3821, 0.352, 0.3278, 0.3085, 0.2953, 0.2879, 0.2859, 0.29, 0.354");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&!I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3484, 0.3362, 0.3084, 0.284, 0.2686, 0.2583, 0.251, 0.2458, 0.242, 0.2393",\
                 "0.3483, 0.336, 0.3082, 0.2838, 0.2684, 0.2581, 0.2508, 0.2456, 0.2419, 0.2391",\
                 "0.3498, 0.3374, 0.3096, 0.2852, 0.2697, 0.2594, 0.2522, 0.247, 0.2432, 0.2405",\
                 "0.355, 0.3426, 0.3146, 0.29, 0.2744, 0.2639, 0.2565, 0.2513, 0.2475, 0.2447",\
                 "0.369, 0.3565, 0.3277, 0.3018, 0.2851, 0.2738, 0.266, 0.2604, 0.2564, 0.2534",\
                 "0.3948, 0.3817, 0.3512, 0.323, 0.3042, 0.2915, 0.2825, 0.2761, 0.2715, 0.2681",\
                 "0.4307, 0.4173, 0.3849, 0.3536, 0.3322, 0.3172, 0.3069, 0.2992, 0.2938, 0.2898",\
                 "0.4776, 0.4636, 0.4292, 0.3942, 0.3697, 0.352, 0.3394, 0.3305, 0.3239, 0.319",\
                 "0.5363, 0.5216, 0.485, 0.446, 0.4174, 0.3969, 0.3819, 0.371, 0.363, 0.357",\
                 "0.6062, 0.591, 0.5523, 0.509, 0.4762, 0.452, 0.4342, 0.4212, 0.4113, 0.4041");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1917, 0.1802, 0.1624, 0.1511, 0.1452, 0.142, 0.1407, 0.1407, 0.1416, 0.1515",\
                 "0.1914, 0.1799, 0.1623, 0.1508, 0.1446, 0.1418, 0.1403, 0.1401, 0.1412, 0.1511",\
                 "0.1923, 0.1806, 0.163, 0.1517, 0.1458, 0.1426, 0.1417, 0.1414, 0.1423, 0.1526",\
                 "0.1965, 0.1849, 0.1671, 0.1556, 0.1495, 0.1462, 0.145, 0.145, 0.1456, 0.1576",\
                 "0.2077, 0.1957, 0.1772, 0.1654, 0.158, 0.1544, 0.1529, 0.1526, 0.1537, 0.1677",\
                 "0.228, 0.2156, 0.1955, 0.1819, 0.1736, 0.1689, 0.1664, 0.1665, 0.167, 0.1838",\
                 "0.2557, 0.2429, 0.2206, 0.2044, 0.1956, 0.1897, 0.1859, 0.1849, 0.1854, 0.2054",\
                 "0.2928, 0.2792, 0.2549, 0.2362, 0.2228, 0.2175, 0.2126, 0.2107, 0.2123, 0.2393",\
                 "0.3402, 0.3259, 0.2985, 0.2768, 0.2614, 0.2512, 0.2473, 0.244, 0.2446, 0.2859",\
                 "0.3976, 0.3824, 0.352, 0.327, 0.3092, 0.295, 0.2875, 0.2852, 0.2903, 0.354");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&!I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3485, 0.3361, 0.3083, 0.284, 0.2686, 0.2583, 0.251, 0.2458, 0.2421, 0.2393",\
                 "0.3483, 0.336, 0.3082, 0.2838, 0.2684, 0.2581, 0.2508, 0.2457, 0.2419, 0.2391",\
                 "0.3497, 0.3374, 0.3096, 0.2852, 0.2697, 0.2594, 0.2522, 0.247, 0.2432, 0.2405",\
                 "0.3549, 0.3426, 0.3146, 0.2899, 0.2743, 0.2638, 0.2565, 0.2513, 0.2475, 0.2447",\
                 "0.3689, 0.3564, 0.3276, 0.3017, 0.285, 0.2738, 0.266, 0.2604, 0.2564, 0.2534",\
                 "0.3948, 0.3816, 0.3512, 0.323, 0.3042, 0.2915, 0.2825, 0.2761, 0.2715, 0.2681",\
                 "0.4307, 0.4173, 0.3851, 0.3535, 0.3322, 0.3172, 0.3068, 0.2993, 0.2938, 0.2898",\
                 "0.4776, 0.4635, 0.4292, 0.3944, 0.3695, 0.352, 0.3394, 0.3305, 0.3239, 0.3191",\
                 "0.5363, 0.5215, 0.4849, 0.4461, 0.4174, 0.3969, 0.3819, 0.371, 0.3629, 0.357",\
                 "0.6062, 0.591, 0.5523, 0.5091, 0.4762, 0.452, 0.4342, 0.4213, 0.4114, 0.4041");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1917, 0.1801, 0.1624, 0.1511, 0.145, 0.1421, 0.141, 0.1407, 0.1412, 0.1515",\
                 "0.1914, 0.1797, 0.1621, 0.151, 0.1448, 0.1417, 0.141, 0.14, 0.1412, 0.1514",\
                 "0.1923, 0.1808, 0.1631, 0.1517, 0.1458, 0.1426, 0.1417, 0.1414, 0.1423, 0.1526",\
                 "0.1965, 0.1848, 0.167, 0.1556, 0.1494, 0.1462, 0.145, 0.1447, 0.1456, 0.1576",\
                 "0.2077, 0.1958, 0.1775, 0.1651, 0.158, 0.1544, 0.1532, 0.1526, 0.1537, 0.1668",\
                 "0.228, 0.2155, 0.1955, 0.1819, 0.1734, 0.169, 0.1664, 0.1664, 0.167, 0.1838",\
                 "0.2557, 0.2428, 0.2205, 0.2044, 0.1954, 0.1897, 0.1859, 0.1849, 0.1854, 0.2054",\
                 "0.2929, 0.279, 0.2546, 0.2358, 0.223, 0.2175, 0.2133, 0.211, 0.2104, 0.238",\
                 "0.3402, 0.3259, 0.2985, 0.2768, 0.2614, 0.2511, 0.2473, 0.244, 0.2446, 0.2863",\
                 "0.3976, 0.3824, 0.352, 0.327, 0.3092, 0.295, 0.2872, 0.2852, 0.2903, 0.354");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&I1&!I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3485, 0.3362, 0.3083, 0.2839, 0.2686, 0.2583, 0.251, 0.2458, 0.242, 0.2393",\
                 "0.3483, 0.336, 0.3082, 0.2838, 0.2684, 0.2581, 0.2508, 0.2456, 0.2418, 0.2391",\
                 "0.3497, 0.3374, 0.3096, 0.2851, 0.2697, 0.2594, 0.2522, 0.247, 0.2432, 0.2405",\
                 "0.355, 0.3426, 0.3146, 0.29, 0.2744, 0.2639, 0.2565, 0.2513, 0.2475, 0.2447",\
                 "0.369, 0.3565, 0.3277, 0.3018, 0.2851, 0.2738, 0.266, 0.2604, 0.2564, 0.2534",\
                 "0.3948, 0.3817, 0.3513, 0.3229, 0.3043, 0.2915, 0.2825, 0.2761, 0.2715, 0.2681",\
                 "0.4307, 0.4173, 0.385, 0.3534, 0.3321, 0.3172, 0.3069, 0.2993, 0.2938, 0.2898",\
                 "0.4776, 0.4635, 0.4292, 0.3941, 0.3695, 0.352, 0.3394, 0.3305, 0.324, 0.319",\
                 "0.5364, 0.5215, 0.4849, 0.446, 0.4174, 0.3969, 0.3819, 0.371, 0.363, 0.357",\
                 "0.6062, 0.591, 0.5523, 0.5091, 0.4761, 0.452, 0.4343, 0.4213, 0.4113, 0.4041");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1917, 0.1801, 0.1625, 0.1512, 0.1449, 0.1419, 0.1407, 0.1407, 0.1416, 0.1515",\
                 "0.1914, 0.1798, 0.1621, 0.1508, 0.1446, 0.1417, 0.1407, 0.1404, 0.1416, 0.1515",\
                 "0.1923, 0.1806, 0.163, 0.1517, 0.1458, 0.1427, 0.1417, 0.1414, 0.1423, 0.1526",\
                 "0.1965, 0.1848, 0.1669, 0.1555, 0.1494, 0.1461, 0.1453, 0.1457, 0.1456, 0.1586",\
                 "0.2077, 0.1959, 0.1774, 0.1653, 0.158, 0.1544, 0.1529, 0.1526, 0.1534, 0.1664",\
                 "0.228, 0.2155, 0.1955, 0.1819, 0.1734, 0.169, 0.1664, 0.1665, 0.167, 0.1838",\
                 "0.2557, 0.2429, 0.2206, 0.2044, 0.1954, 0.1899, 0.1859, 0.1849, 0.1854, 0.2054",\
                 "0.2928, 0.2793, 0.2543, 0.2359, 0.2228, 0.2171, 0.213, 0.211, 0.2104, 0.2397",\
                 "0.3402, 0.3259, 0.2985, 0.2768, 0.2614, 0.251, 0.2473, 0.244, 0.2446, 0.2848",\
                 "0.3976, 0.3824, 0.352, 0.327, 0.3092, 0.295, 0.2875, 0.2859, 0.2903, 0.354");
        }
      }

      internal_power() {
        related_pin : "I2" ;
        when : "I0&I1&I3&!S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3484, 0.3361, 0.3084, 0.284, 0.2686, 0.2583, 0.251, 0.2458, 0.242, 0.2393",\
                 "0.3483, 0.336, 0.3082, 0.2839, 0.2684, 0.2581, 0.2508, 0.2456, 0.2419, 0.2391",\
                 "0.3498, 0.3374, 0.3096, 0.2852, 0.2698, 0.2594, 0.2521, 0.247, 0.2432, 0.2404",\
                 "0.355, 0.3426, 0.3146, 0.2899, 0.2743, 0.2638, 0.2565, 0.2513, 0.2475, 0.2447",\
                 "0.369, 0.3564, 0.3277, 0.3018, 0.285, 0.2738, 0.2659, 0.2604, 0.2564, 0.2534",\
                 "0.3948, 0.3817, 0.3512, 0.323, 0.3043, 0.2915, 0.2825, 0.2762, 0.2715, 0.2681",\
                 "0.4308, 0.4173, 0.3851, 0.3536, 0.3321, 0.3173, 0.3069, 0.2991, 0.2938, 0.2897",\
                 "0.4775, 0.4635, 0.4292, 0.3942, 0.3695, 0.3519, 0.3394, 0.3306, 0.3239, 0.3191",\
                 "0.5364, 0.5216, 0.485, 0.4461, 0.4174, 0.3969, 0.3818, 0.371, 0.3629, 0.357",\
                 "0.6062, 0.591, 0.5523, 0.509, 0.4761, 0.452, 0.4342, 0.4211, 0.4113, 0.404");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1917, 0.1801, 0.1624, 0.1512, 0.1451, 0.142, 0.1407, 0.1407, 0.1412, 0.1515",\
                 "0.1914, 0.1797, 0.1621, 0.151, 0.1446, 0.142, 0.1404, 0.1414, 0.1416, 0.1511",\
                 "0.1923, 0.1807, 0.163, 0.1516, 0.1454, 0.1427, 0.141, 0.142, 0.1427, 0.1533",\
                 "0.1964, 0.185, 0.1669, 0.1556, 0.1494, 0.1462, 0.145, 0.1447, 0.1456, 0.1586",\
                 "0.2077, 0.1957, 0.1772, 0.1654, 0.158, 0.1544, 0.1529, 0.1526, 0.1537, 0.1677",\
                 "0.228, 0.2155, 0.1955, 0.1819, 0.1734, 0.169, 0.1664, 0.1665, 0.167, 0.1838",\
                 "0.2557, 0.2428, 0.2206, 0.2044, 0.1954, 0.1897, 0.1859, 0.1849, 0.1854, 0.2054",\
                 "0.2929, 0.279, 0.2546, 0.2358, 0.223, 0.2171, 0.213, 0.2107, 0.2116, 0.2406",\
                 "0.3402, 0.3259, 0.2985, 0.2768, 0.2614, 0.251, 0.2473, 0.244, 0.2446, 0.2856",\
                 "0.3976, 0.3824, 0.352, 0.327, 0.3092, 0.295, 0.2875, 0.2859, 0.2903, 0.354");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&!I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3558, 0.3435, 0.3156, 0.2911, 0.2757, 0.2653, 0.258, 0.2528, 0.249, 0.2462",\
                 "0.3556, 0.3433, 0.3154, 0.2909, 0.2755, 0.2651, 0.2578, 0.2526, 0.2488, 0.246",\
                 "0.3571, 0.3447, 0.3168, 0.2923, 0.2769, 0.2665, 0.2592, 0.254, 0.2502, 0.2474",\
                 "0.3623, 0.3499, 0.3219, 0.2971, 0.2814, 0.2709, 0.2636, 0.2583, 0.2545, 0.2517",\
                 "0.3764, 0.3637, 0.3348, 0.3089, 0.2921, 0.2809, 0.273, 0.2674, 0.2633, 0.2603",\
                 "0.4019, 0.3888, 0.3583, 0.33, 0.3112, 0.2984, 0.2895, 0.2831, 0.2784, 0.275",\
                 "0.4378, 0.4243, 0.3919, 0.3606, 0.3392, 0.3243, 0.3138, 0.3062, 0.3007, 0.2967",\
                 "0.4845, 0.4704, 0.4363, 0.4012, 0.3766, 0.359, 0.3465, 0.3375, 0.331, 0.3261",\
                 "0.543, 0.5284, 0.4917, 0.4529, 0.4243, 0.4036, 0.3888, 0.378, 0.3699, 0.3639",\
                 "0.613, 0.5977, 0.559, 0.5159, 0.4829, 0.4589, 0.4412, 0.4279, 0.4183, 0.411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1829, 0.1713, 0.1537, 0.1427, 0.1364, 0.1336, 0.1321, 0.1321, 0.1333, 0.1429",\
                 "0.1826, 0.171, 0.1536, 0.1424, 0.1362, 0.1333, 0.1318, 0.1318, 0.1323, 0.1422",\
                 "0.1836, 0.1722, 0.1545, 0.1432, 0.1372, 0.1342, 0.1328, 0.1328, 0.1338, 0.1434",\
                 "0.1878, 0.1763, 0.1583, 0.147, 0.1407, 0.1379, 0.1361, 0.1364, 0.1371, 0.149",\
                 "0.1992, 0.1873, 0.1692, 0.1568, 0.1499, 0.1461, 0.1443, 0.1447, 0.1454, 0.1585",\
                 "0.2195, 0.2071, 0.187, 0.1737, 0.1649, 0.1605, 0.1582, 0.1579, 0.1601, 0.1746",\
                 "0.2473, 0.2343, 0.212, 0.1961, 0.1873, 0.1812, 0.1776, 0.1767, 0.1768, 0.1975",\
                 "0.2846, 0.2708, 0.2463, 0.2277, 0.215, 0.2089, 0.2054, 0.2024, 0.2021, 0.2308",\
                 "0.332, 0.3176, 0.2902, 0.2686, 0.2528, 0.2423, 0.2397, 0.2357, 0.2362, 0.2771",\
                 "0.3894, 0.3742, 0.3439, 0.3188, 0.3003, 0.2868, 0.2789, 0.278, 0.2814, 0.3445");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&!I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3558, 0.3434, 0.3155, 0.2911, 0.2757, 0.2653, 0.258, 0.2528, 0.249, 0.2462",\
                 "0.3556, 0.3432, 0.3154, 0.2909, 0.2755, 0.2651, 0.2578, 0.2526, 0.2488, 0.246",\
                 "0.3571, 0.3447, 0.3168, 0.2923, 0.2769, 0.2665, 0.2592, 0.254, 0.2502, 0.2474",\
                 "0.3623, 0.3499, 0.3218, 0.2971, 0.2814, 0.271, 0.2636, 0.2583, 0.2545, 0.2517",\
                 "0.3763, 0.3638, 0.3349, 0.3088, 0.2921, 0.2808, 0.273, 0.2674, 0.2633, 0.2603",\
                 "0.4019, 0.3888, 0.3583, 0.3299, 0.3112, 0.2984, 0.2895, 0.2831, 0.2785, 0.275",\
                 "0.4378, 0.4243, 0.3919, 0.3606, 0.3392, 0.3243, 0.3138, 0.3063, 0.3008, 0.2967",\
                 "0.4845, 0.4705, 0.4363, 0.4012, 0.3766, 0.359, 0.3466, 0.3375, 0.331, 0.3261",\
                 "0.543, 0.5284, 0.4918, 0.4529, 0.4243, 0.4036, 0.3888, 0.378, 0.3699, 0.364",\
                 "0.613, 0.5977, 0.559, 0.5159, 0.483, 0.459, 0.441, 0.428, 0.4183, 0.411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1829, 0.1713, 0.1536, 0.1426, 0.1364, 0.1334, 0.1321, 0.1321, 0.133, 0.1432",\
                 "0.1826, 0.1711, 0.1535, 0.1424, 0.1361, 0.1333, 0.1318, 0.1318, 0.1327, 0.1432",\
                 "0.1836, 0.172, 0.1545, 0.1433, 0.1372, 0.1341, 0.1328, 0.1328, 0.1338, 0.1441",\
                 "0.1877, 0.1763, 0.1583, 0.147, 0.1409, 0.1376, 0.1364, 0.1364, 0.1374, 0.1497",\
                 "0.1992, 0.1873, 0.1691, 0.1568, 0.1497, 0.1461, 0.1443, 0.1447, 0.1458, 0.1585",\
                 "0.2195, 0.2071, 0.187, 0.1737, 0.1653, 0.1604, 0.1578, 0.1575, 0.1588, 0.1746",\
                 "0.2473, 0.2345, 0.2122, 0.1966, 0.1877, 0.1818, 0.178, 0.1773, 0.1772, 0.1975",\
                 "0.2845, 0.2709, 0.2466, 0.2277, 0.2146, 0.2089, 0.205, 0.2024, 0.2031, 0.2311",\
                 "0.332, 0.3174, 0.2905, 0.2687, 0.2533, 0.2432, 0.239, 0.2364, 0.2377, 0.2758",\
                 "0.3894, 0.3743, 0.3438, 0.3189, 0.3003, 0.2867, 0.2793, 0.2767, 0.2821, 0.3445");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3558, 0.3434, 0.3156, 0.2911, 0.2757, 0.2653, 0.258, 0.2528, 0.249, 0.2462",\
                 "0.3556, 0.3433, 0.3154, 0.2909, 0.2755, 0.2652, 0.2578, 0.2526, 0.2488, 0.246",\
                 "0.3571, 0.3447, 0.3168, 0.2924, 0.2769, 0.2665, 0.2592, 0.254, 0.2502, 0.2474",\
                 "0.3623, 0.3499, 0.3219, 0.2971, 0.2815, 0.271, 0.2636, 0.2583, 0.2544, 0.2517",\
                 "0.3763, 0.3638, 0.3349, 0.3088, 0.2921, 0.2809, 0.2731, 0.2674, 0.2633, 0.2603",\
                 "0.402, 0.3889, 0.3583, 0.3299, 0.3112, 0.2985, 0.2895, 0.2831, 0.2785, 0.2751",\
                 "0.4379, 0.4243, 0.3919, 0.3606, 0.3391, 0.3242, 0.3137, 0.3062, 0.3007, 0.2967",\
                 "0.4846, 0.4705, 0.4361, 0.4012, 0.3765, 0.3591, 0.3464, 0.3375, 0.3309, 0.326",\
                 "0.543, 0.5284, 0.4918, 0.4528, 0.4242, 0.4037, 0.3889, 0.3779, 0.3699, 0.3639",\
                 "0.613, 0.5978, 0.559, 0.516, 0.4829, 0.4589, 0.4412, 0.4279, 0.4183, 0.4109");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1829, 0.1714, 0.1538, 0.1426, 0.1363, 0.1335, 0.1324, 0.1318, 0.133, 0.1432",\
                 "0.1826, 0.171, 0.1533, 0.1423, 0.136, 0.1331, 0.1321, 0.1328, 0.133, 0.1436",\
                 "0.1836, 0.172, 0.1545, 0.1433, 0.137, 0.1342, 0.1328, 0.1331, 0.1338, 0.1441",\
                 "0.1878, 0.1763, 0.1584, 0.1473, 0.1407, 0.1376, 0.1361, 0.1364, 0.1374, 0.15",\
                 "0.1991, 0.1873, 0.1689, 0.1568, 0.1497, 0.146, 0.1446, 0.144, 0.1458, 0.1592",\
                 "0.2195, 0.2071, 0.187, 0.1737, 0.1653, 0.1605, 0.1582, 0.1579, 0.1601, 0.1746",\
                 "0.2473, 0.2345, 0.2122, 0.1961, 0.1871, 0.1813, 0.1773, 0.1764, 0.1768, 0.1978",\
                 "0.2846, 0.271, 0.2464, 0.2282, 0.215, 0.2091, 0.2054, 0.2018, 0.2022, 0.2311",\
                 "0.3319, 0.3176, 0.2903, 0.2686, 0.2533, 0.2428, 0.239, 0.2364, 0.238, 0.2768",\
                 "0.3894, 0.3738, 0.3436, 0.3199, 0.3003, 0.2866, 0.2803, 0.2773, 0.2818, 0.3438");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "!I0&I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3558, 0.3434, 0.3156, 0.2911, 0.2757, 0.2653, 0.258, 0.2528, 0.249, 0.2462",\
                 "0.3556, 0.3433, 0.3154, 0.2909, 0.2755, 0.2651, 0.2578, 0.2526, 0.2488, 0.246",\
                 "0.3571, 0.3447, 0.3169, 0.2923, 0.2769, 0.2665, 0.2592, 0.254, 0.2502, 0.2474",\
                 "0.3623, 0.3499, 0.3219, 0.2971, 0.2815, 0.2709, 0.2635, 0.2583, 0.2545, 0.2517",\
                 "0.3763, 0.3637, 0.3348, 0.3089, 0.2921, 0.2808, 0.273, 0.2674, 0.2633, 0.2603",\
                 "0.4019, 0.3888, 0.3582, 0.3298, 0.3112, 0.2985, 0.2895, 0.2831, 0.2785, 0.2751",\
                 "0.4379, 0.4243, 0.3919, 0.3606, 0.3391, 0.3243, 0.3137, 0.3062, 0.3007, 0.2967",\
                 "0.4847, 0.4705, 0.4361, 0.4012, 0.3765, 0.3591, 0.3465, 0.3375, 0.3309, 0.3261",\
                 "0.543, 0.5284, 0.4918, 0.4528, 0.4242, 0.4037, 0.3889, 0.378, 0.37, 0.3639",\
                 "0.6131, 0.5977, 0.559, 0.5159, 0.4831, 0.459, 0.441, 0.428, 0.4182, 0.411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1828, 0.1713, 0.1538, 0.1427, 0.1364, 0.1335, 0.1321, 0.1331, 0.133, 0.1436",\
                 "0.1826, 0.171, 0.1533, 0.1423, 0.136, 0.1331, 0.1314, 0.1328, 0.133, 0.1436",\
                 "0.1837, 0.172, 0.1544, 0.1434, 0.1372, 0.1341, 0.1331, 0.1328, 0.1338, 0.1451",\
                 "0.1877, 0.1762, 0.1584, 0.1471, 0.1407, 0.1378, 0.1361, 0.1364, 0.1374, 0.1491",\
                 "0.1992, 0.1874, 0.1689, 0.1568, 0.1499, 0.1459, 0.1443, 0.1443, 0.1454, 0.1582",\
                 "0.2195, 0.2069, 0.187, 0.1737, 0.1647, 0.1607, 0.1582, 0.1582, 0.1598, 0.1752",\
                 "0.2474, 0.2343, 0.2123, 0.1961, 0.1874, 0.1813, 0.1773, 0.177, 0.1768, 0.1978",\
                 "0.2845, 0.271, 0.2466, 0.2277, 0.2146, 0.2089, 0.205, 0.2024, 0.2031, 0.2308",\
                 "0.3319, 0.3176, 0.2903, 0.2688, 0.2533, 0.2428, 0.2387, 0.2367, 0.2359, 0.2761",\
                 "0.3895, 0.3738, 0.3435, 0.3199, 0.3002, 0.2873, 0.2796, 0.2767, 0.2824, 0.3445");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&!I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3558, 0.3434, 0.3156, 0.2911, 0.2757, 0.2654, 0.258, 0.2528, 0.249, 0.2462",\
                 "0.3556, 0.3433, 0.3154, 0.2909, 0.2755, 0.2651, 0.2578, 0.2526, 0.2488, 0.246",\
                 "0.3571, 0.3447, 0.3168, 0.2923, 0.2769, 0.2665, 0.2592, 0.254, 0.2502, 0.2474",\
                 "0.3623, 0.3499, 0.3219, 0.2971, 0.2814, 0.2709, 0.2635, 0.2583, 0.2545, 0.2517",\
                 "0.3763, 0.3637, 0.3349, 0.3089, 0.2921, 0.2808, 0.273, 0.2674, 0.2633, 0.2603",\
                 "0.4019, 0.3888, 0.3582, 0.33, 0.3112, 0.2984, 0.2895, 0.2831, 0.2784, 0.275",\
                 "0.4378, 0.4243, 0.3919, 0.3606, 0.3392, 0.3243, 0.3138, 0.3062, 0.3007, 0.2967",\
                 "0.4845, 0.4706, 0.4361, 0.4012, 0.3764, 0.359, 0.3465, 0.3375, 0.331, 0.3261",\
                 "0.543, 0.5284, 0.4918, 0.4529, 0.4243, 0.4036, 0.3888, 0.378, 0.3699, 0.3639",\
                 "0.613, 0.5977, 0.559, 0.5158, 0.4829, 0.4589, 0.4412, 0.4279, 0.4183, 0.411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1829, 0.1715, 0.1536, 0.1427, 0.1365, 0.1337, 0.1321, 0.1321, 0.133, 0.1432",\
                 "0.1826, 0.1711, 0.1535, 0.1424, 0.1361, 0.1331, 0.1321, 0.1318, 0.1336, 0.1436",\
                 "0.1837, 0.172, 0.1545, 0.1432, 0.1372, 0.1341, 0.1328, 0.1328, 0.1338, 0.1434",\
                 "0.1878, 0.1764, 0.1583, 0.147, 0.141, 0.1376, 0.1361, 0.1364, 0.1374, 0.1494",\
                 "0.1992, 0.1873, 0.1692, 0.1568, 0.1499, 0.1461, 0.1443, 0.1447, 0.1458, 0.1585",\
                 "0.2195, 0.2071, 0.1871, 0.1738, 0.1651, 0.1608, 0.1582, 0.1582, 0.1588, 0.1746",\
                 "0.2473, 0.2344, 0.2121, 0.1961, 0.1873, 0.1812, 0.1776, 0.1767, 0.1768, 0.1975",\
                 "0.2845, 0.2708, 0.2462, 0.2274, 0.2149, 0.209, 0.2044, 0.2021, 0.2014, 0.2308",\
                 "0.332, 0.3176, 0.2902, 0.2686, 0.2528, 0.2423, 0.239, 0.2361, 0.2362, 0.279",\
                 "0.3894, 0.3742, 0.3437, 0.319, 0.3002, 0.2874, 0.2786, 0.2763, 0.2831, 0.3458");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&!I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3558, 0.3434, 0.3155, 0.2911, 0.2756, 0.2653, 0.258, 0.2528, 0.249, 0.2462",\
                 "0.3556, 0.3433, 0.3154, 0.2909, 0.2755, 0.2651, 0.2578, 0.2526, 0.2488, 0.246",\
                 "0.3571, 0.3447, 0.3168, 0.2923, 0.2769, 0.2665, 0.2592, 0.254, 0.2502, 0.2474",\
                 "0.3623, 0.35, 0.3219, 0.2971, 0.2814, 0.271, 0.2635, 0.2582, 0.2544, 0.2517",\
                 "0.3764, 0.3637, 0.3349, 0.3088, 0.2921, 0.2808, 0.273, 0.2674, 0.2633, 0.2603",\
                 "0.4019, 0.3888, 0.3583, 0.3299, 0.3112, 0.2984, 0.2895, 0.2831, 0.2784, 0.275",\
                 "0.4378, 0.4243, 0.3919, 0.3606, 0.3392, 0.3243, 0.3138, 0.3063, 0.3007, 0.2967",\
                 "0.4845, 0.4704, 0.4361, 0.4012, 0.3764, 0.359, 0.3465, 0.3375, 0.331, 0.3261",\
                 "0.543, 0.5284, 0.4919, 0.4529, 0.4243, 0.4036, 0.3888, 0.378, 0.37, 0.3639",\
                 "0.6129, 0.5976, 0.559, 0.5158, 0.4829, 0.459, 0.4411, 0.428, 0.4183, 0.411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1829, 0.1713, 0.1536, 0.1428, 0.1363, 0.1336, 0.1321, 0.1321, 0.133, 0.1442",\
                 "0.1826, 0.1712, 0.1534, 0.1424, 0.1362, 0.1332, 0.1318, 0.1318, 0.1327, 0.1422",\
                 "0.1836, 0.172, 0.1543, 0.1431, 0.1372, 0.1342, 0.1328, 0.1328, 0.1334, 0.1434",\
                 "0.1877, 0.1761, 0.1583, 0.1471, 0.1409, 0.1379, 0.1361, 0.1364, 0.1374, 0.1497",\
                 "0.1991, 0.1873, 0.1689, 0.157, 0.1496, 0.1464, 0.1443, 0.1447, 0.1451, 0.1592",\
                 "0.2195, 0.2071, 0.187, 0.1737, 0.1653, 0.1605, 0.1582, 0.1575, 0.1588, 0.1746",\
                 "0.2473, 0.2343, 0.2123, 0.1962, 0.1871, 0.1811, 0.1773, 0.176, 0.1768, 0.1971",\
                 "0.2846, 0.271, 0.2459, 0.2278, 0.2146, 0.2092, 0.2044, 0.2021, 0.2021, 0.2297",\
                 "0.332, 0.3174, 0.29, 0.2685, 0.2533, 0.2428, 0.2393, 0.2361, 0.2377, 0.2758",\
                 "0.3894, 0.3743, 0.3438, 0.3194, 0.3007, 0.2864, 0.2796, 0.2767, 0.2817, 0.3458");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&I1&!I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3558, 0.3434, 0.3155, 0.2911, 0.2757, 0.2653, 0.258, 0.2528, 0.249, 0.2462",\
                 "0.3556, 0.3433, 0.3154, 0.2909, 0.2755, 0.2651, 0.2578, 0.2526, 0.2488, 0.246",\
                 "0.3571, 0.3447, 0.3168, 0.2923, 0.2769, 0.2665, 0.2592, 0.254, 0.2502, 0.2474",\
                 "0.3623, 0.3499, 0.3219, 0.2971, 0.2815, 0.271, 0.2635, 0.2583, 0.2545, 0.2516",\
                 "0.3763, 0.3638, 0.3349, 0.3088, 0.2921, 0.2809, 0.2731, 0.2674, 0.2634, 0.2603",\
                 "0.4019, 0.3889, 0.3583, 0.33, 0.3112, 0.2984, 0.2895, 0.2831, 0.2785, 0.2751",\
                 "0.4379, 0.4243, 0.3919, 0.3606, 0.3391, 0.3243, 0.3137, 0.3062, 0.3007, 0.2967",\
                 "0.4846, 0.4704, 0.4362, 0.4012, 0.3765, 0.359, 0.3465, 0.3375, 0.3309, 0.3261",\
                 "0.543, 0.5285, 0.4918, 0.4528, 0.4242, 0.4037, 0.3889, 0.378, 0.3699, 0.3639",\
                 "0.613, 0.5977, 0.559, 0.5159, 0.4831, 0.4589, 0.4412, 0.4279, 0.4183, 0.4109");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1829, 0.1713, 0.1538, 0.1427, 0.1363, 0.1334, 0.1321, 0.1321, 0.133, 0.1439",\
                 "0.1826, 0.171, 0.1535, 0.1424, 0.1361, 0.1333, 0.1321, 0.1318, 0.133, 0.1426",\
                 "0.1836, 0.172, 0.1545, 0.1432, 0.1372, 0.1342, 0.1328, 0.1328, 0.1338, 0.1434",\
                 "0.1877, 0.1763, 0.1584, 0.1471, 0.1407, 0.1376, 0.1361, 0.1364, 0.1374, 0.1494",\
                 "0.1992, 0.1874, 0.1689, 0.1568, 0.1497, 0.146, 0.1443, 0.1443, 0.1454, 0.1582",\
                 "0.2195, 0.2072, 0.1872, 0.1738, 0.1654, 0.1606, 0.1582, 0.1575, 0.1584, 0.1733",\
                 "0.2472, 0.2344, 0.2123, 0.1961, 0.1874, 0.1812, 0.1776, 0.177, 0.1768, 0.1978",\
                 "0.2846, 0.2709, 0.2465, 0.2275, 0.215, 0.209, 0.205, 0.2024, 0.2017, 0.2324",\
                 "0.332, 0.3174, 0.2902, 0.2687, 0.2529, 0.2421, 0.2384, 0.2364, 0.2366, 0.2774",\
                 "0.3895, 0.3742, 0.3435, 0.3191, 0.3006, 0.2865, 0.2796, 0.2773, 0.2821, 0.3454");
        }
      }

      internal_power() {
        related_pin : "I3" ;
        when : "I0&I1&I2&S0&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3558, 0.3434, 0.3156, 0.2911, 0.2757, 0.2652, 0.258, 0.2527, 0.249, 0.2462",\
                 "0.3555, 0.3433, 0.3154, 0.2909, 0.2755, 0.2651, 0.2578, 0.2526, 0.2488, 0.246",\
                 "0.3571, 0.3447, 0.3169, 0.2923, 0.2768, 0.2665, 0.2592, 0.254, 0.2502, 0.2474",\
                 "0.3623, 0.3499, 0.3219, 0.2971, 0.2815, 0.271, 0.2635, 0.2583, 0.2545, 0.2517",\
                 "0.3763, 0.3637, 0.3348, 0.3088, 0.2921, 0.2809, 0.273, 0.2674, 0.2633, 0.2603",\
                 "0.4019, 0.3888, 0.3584, 0.33, 0.3112, 0.2984, 0.2895, 0.2831, 0.2785, 0.2751",\
                 "0.4379, 0.4243, 0.392, 0.3606, 0.3392, 0.3243, 0.3138, 0.3062, 0.3008, 0.2967",\
                 "0.4845, 0.4705, 0.4363, 0.4012, 0.3765, 0.3591, 0.3464, 0.3375, 0.3309, 0.3261",\
                 "0.5431, 0.5284, 0.4918, 0.4528, 0.4243, 0.4037, 0.3888, 0.378, 0.37, 0.3639",\
                 "0.6131, 0.5976, 0.559, 0.5158, 0.483, 0.4589, 0.4411, 0.428, 0.4183, 0.411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1828, 0.1713, 0.1538, 0.1427, 0.1365, 0.1334, 0.1324, 0.1321, 0.133, 0.1426",\
                 "0.1826, 0.1709, 0.1535, 0.1424, 0.136, 0.1331, 0.1318, 0.1318, 0.1323, 0.1426",\
                 "0.1836, 0.172, 0.1544, 0.1433, 0.137, 0.1341, 0.1331, 0.1338, 0.1338, 0.1441",\
                 "0.1877, 0.1763, 0.1583, 0.147, 0.1407, 0.1377, 0.1364, 0.1364, 0.1374, 0.1504",\
                 "0.1992, 0.1874, 0.1689, 0.1568, 0.1497, 0.1459, 0.1443, 0.1443, 0.1454, 0.1582",\
                 "0.2194, 0.2074, 0.1869, 0.1738, 0.1653, 0.1606, 0.1582, 0.1575, 0.1581, 0.1733",\
                 "0.2474, 0.2343, 0.2123, 0.1962, 0.1876, 0.1815, 0.1776, 0.1764, 0.1772, 0.1984",\
                 "0.2846, 0.2706, 0.2464, 0.2275, 0.215, 0.2093, 0.205, 0.2024, 0.2021, 0.2298",\
                 "0.332, 0.3176, 0.2904, 0.2687, 0.2532, 0.2422, 0.2387, 0.2364, 0.2377, 0.2761",\
                 "0.3895, 0.3742, 0.3438, 0.3192, 0.3004, 0.2873, 0.2796, 0.2773, 0.2824, 0.3451");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&!I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4143, 0.4018, 0.3738, 0.3492, 0.3336, 0.323, 0.3157, 0.3105, 0.3067, 0.3039",\
                 "0.4138, 0.4014, 0.3734, 0.3487, 0.3331, 0.3226, 0.3153, 0.3101, 0.3062, 0.3034",\
                 "0.4148, 0.4024, 0.3743, 0.3497, 0.3341, 0.3235, 0.3162, 0.3109, 0.3071, 0.3043",\
                 "0.4212, 0.4088, 0.3807, 0.3559, 0.3401, 0.3296, 0.3222, 0.3169, 0.3131, 0.3103",\
                 "0.4384, 0.4259, 0.3972, 0.3715, 0.3551, 0.344, 0.3363, 0.3308, 0.3269, 0.3239",\
                 "0.4728, 0.4597, 0.4294, 0.4016, 0.383, 0.3705, 0.3617, 0.3555, 0.351, 0.3478",\
                 "0.5221, 0.5086, 0.4764, 0.4454, 0.4241, 0.4095, 0.3993, 0.3919, 0.3866, 0.3827",\
                 "0.5867, 0.5726, 0.5383, 0.5037, 0.4792, 0.4619, 0.4495, 0.4408, 0.4343, 0.4296",\
                 "0.6683, 0.6535, 0.6171, 0.5781, 0.5499, 0.5294, 0.5146, 0.5038, 0.4958, 0.4899",\
                 "0.7672, 0.7517, 0.7129, 0.6697, 0.6367, 0.6124, 0.5946, 0.5813, 0.5715, 0.5641");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1754, 0.164, 0.1464, 0.1351, 0.1292, 0.1263, 0.1252, 0.1245, 0.1254, 0.1364",\
                 "0.1754, 0.1641, 0.1464, 0.1351, 0.1293, 0.1261, 0.1252, 0.1249, 0.1257, 0.137",\
                 "0.1766, 0.1653, 0.1477, 0.1365, 0.1304, 0.1273, 0.1265, 0.1262, 0.1272, 0.1385",\
                 "0.1821, 0.1708, 0.1527, 0.1415, 0.1351, 0.1323, 0.1305, 0.1305, 0.1321, 0.1438",\
                 "0.1995, 0.1876, 0.1687, 0.1562, 0.1485, 0.1447, 0.1427, 0.143, 0.1451, 0.1566",\
                 "0.2308, 0.218, 0.1971, 0.1826, 0.1732, 0.1675, 0.1648, 0.1638, 0.164, 0.1802",\
                 "0.2746, 0.2607, 0.2368, 0.2186, 0.2081, 0.201, 0.1958, 0.1948, 0.1946, 0.214",\
                 "0.3325, 0.3176, 0.2905, 0.2689, 0.2534, 0.2454, 0.2407, 0.2358, 0.2354, 0.2622",\
                 "0.4046, 0.3888, 0.358, 0.3327, 0.3145, 0.3004, 0.2948, 0.2915, 0.2918, 0.3293",\
                 "0.4908, 0.4739, 0.439, 0.4102, 0.3879, 0.3714, 0.3605, 0.3572, 0.361, 0.4215");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&!I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3384, 0.326, 0.298, 0.2735, 0.258, 0.2475, 0.2403, 0.2351, 0.2312, 0.2284",\
                 "0.3384, 0.326, 0.2981, 0.2735, 0.2581, 0.2477, 0.2404, 0.2351, 0.2313, 0.2286",\
                 "0.3406, 0.3283, 0.3003, 0.2758, 0.2604, 0.2499, 0.2427, 0.2375, 0.2337, 0.231",\
                 "0.3471, 0.3348, 0.307, 0.2826, 0.2672, 0.2569, 0.2497, 0.2446, 0.2409, 0.2381",\
                 "0.3638, 0.3513, 0.3229, 0.2976, 0.2814, 0.2705, 0.2629, 0.2575, 0.2536, 0.2507",\
                 "0.387, 0.3742, 0.3448, 0.3184, 0.3014, 0.2899, 0.282, 0.2764, 0.2723, 0.2693",\
                 "0.4134, 0.4005, 0.3709, 0.3441, 0.3269, 0.3152, 0.307, 0.3012, 0.2971, 0.2941",\
                 "0.4466, 0.4337, 0.4038, 0.3767, 0.3591, 0.3471, 0.3388, 0.3329, 0.3286, 0.3255",\
                 "0.4872, 0.4741, 0.4441, 0.4166, 0.3985, 0.3862, 0.3776, 0.3717, 0.3673, 0.3642",\
                 "0.5356, 0.5225, 0.4921, 0.4642, 0.4457, 0.4331, 0.4246, 0.4182, 0.4139, 0.4106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2958, 0.2841, 0.266, 0.2543, 0.2474, 0.2437, 0.2427, 0.2424, 0.2433, 0.2546",\
                 "0.2955, 0.2837, 0.2657, 0.2538, 0.2467, 0.2437, 0.2423, 0.2417, 0.2433, 0.254",\
                 "0.297, 0.2854, 0.2673, 0.2552, 0.2482, 0.2451, 0.2436, 0.243, 0.2447, 0.2558",\
                 "0.3045, 0.2929, 0.2746, 0.2627, 0.2558, 0.2525, 0.2512, 0.2519, 0.2519, 0.264",\
                 "0.3194, 0.3079, 0.2894, 0.2774, 0.2705, 0.2671, 0.2658, 0.2648, 0.2659, 0.2815",\
                 "0.3419, 0.3301, 0.312, 0.2999, 0.2927, 0.2893, 0.2875, 0.2876, 0.2887, 0.3088",\
                 "0.3732, 0.3616, 0.343, 0.3312, 0.324, 0.3199, 0.3186, 0.3183, 0.3207, 0.3471",\
                 "0.4138, 0.4019, 0.3833, 0.3703, 0.3635, 0.3597, 0.3572, 0.3569, 0.3592, 0.4002",\
                 "0.4641, 0.452, 0.433, 0.4195, 0.4104, 0.4075, 0.4063, 0.4057, 0.411, 0.4757",\
                 "0.5243, 0.5121, 0.4925, 0.4781, 0.4696, 0.4647, 0.4628, 0.4648, 0.4793, 0.5933");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4066, 0.3936, 0.3635, 0.3351, 0.317, 0.3048, 0.2961, 0.2898, 0.2852, 0.2818",\
                 "0.4061, 0.3932, 0.3631, 0.3347, 0.3165, 0.3043, 0.2956, 0.2894, 0.2847, 0.2813",\
                 "0.4069, 0.394, 0.3639, 0.3355, 0.3173, 0.305, 0.2964, 0.2901, 0.2855, 0.2821",\
                 "0.4129, 0.4, 0.3698, 0.3413, 0.3231, 0.3107, 0.302, 0.2958, 0.2912, 0.2878",\
                 "0.4278, 0.4147, 0.3843, 0.3553, 0.3366, 0.324, 0.3151, 0.3087, 0.304, 0.3005",\
                 "0.458, 0.4446, 0.4132, 0.3825, 0.3622, 0.3484, 0.3388, 0.3318, 0.3267, 0.3229",\
                 "0.503, 0.4892, 0.456, 0.4228, 0.4002, 0.3847, 0.3738, 0.3659, 0.3601, 0.3557",\
                 "0.5615, 0.5472, 0.5124, 0.4761, 0.4508, 0.4332, 0.4206, 0.4115, 0.4048, 0.3997",\
                 "0.6359, 0.6209, 0.5843, 0.5444, 0.5158, 0.4954, 0.4806, 0.4698, 0.4619, 0.4559",\
                 "0.7265, 0.7111, 0.6723, 0.6286, 0.5958, 0.5723, 0.5551, 0.5423, 0.5327, 0.5255");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1768, 0.1653, 0.1484, 0.1376, 0.1319, 0.1293, 0.1281, 0.1285, 0.1284, 0.1403",\
                 "0.1767, 0.1653, 0.1482, 0.1376, 0.1319, 0.1291, 0.1285, 0.1282, 0.129, 0.1383",\
                 "0.178, 0.1664, 0.1494, 0.1387, 0.1328, 0.1303, 0.1295, 0.1295, 0.1311, 0.1402",\
                 "0.1834, 0.1722, 0.1547, 0.1438, 0.1378, 0.135, 0.1338, 0.1338, 0.1351, 0.1472",\
                 "0.2005, 0.1885, 0.1703, 0.1579, 0.1503, 0.147, 0.1453, 0.1447, 0.1461, 0.1599",\
                 "0.2306, 0.2178, 0.197, 0.1831, 0.1737, 0.1684, 0.1654, 0.1655, 0.166, 0.1813",\
                 "0.2727, 0.259, 0.2353, 0.2176, 0.2069, 0.2, 0.1948, 0.1935, 0.193, 0.2128",\
                 "0.3284, 0.3136, 0.2861, 0.2653, 0.2497, 0.2417, 0.2364, 0.2334, 0.2307, 0.2588",\
                 "0.3973, 0.3813, 0.3501, 0.3253, 0.306, 0.2937, 0.2882, 0.2846, 0.2833, 0.3207",\
                 "0.4795, 0.4622, 0.427, 0.3982, 0.376, 0.36, 0.3486, 0.344, 0.3492, 0.4041");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.47, 0.4572, 0.4272, 0.3989, 0.3809, 0.3687, 0.3601, 0.3538, 0.3493, 0.3459",\
                 "0.4694, 0.4565, 0.4265, 0.3983, 0.3803, 0.368, 0.3595, 0.3532, 0.3486, 0.3452",\
                 "0.4706, 0.4577, 0.4277, 0.3994, 0.3814, 0.3692, 0.3605, 0.3543, 0.3498, 0.3463",\
                 "0.4796, 0.4668, 0.4367, 0.4084, 0.3903, 0.378, 0.3694, 0.3632, 0.3586, 0.3552",\
                 "0.5016, 0.4886, 0.4583, 0.4294, 0.4108, 0.3982, 0.3894, 0.3831, 0.3784, 0.375",\
                 "0.5433, 0.53, 0.4985, 0.468, 0.4478, 0.4341, 0.4245, 0.4176, 0.4125, 0.4088",\
                 "0.6045, 0.5907, 0.5577, 0.5246, 0.5021, 0.4867, 0.4758, 0.4679, 0.4621, 0.4578",\
                 "0.6846, 0.6704, 0.6357, 0.5994, 0.5743, 0.5567, 0.5442, 0.5351, 0.5284, 0.5233",\
                 "0.7862, 0.7714, 0.7346, 0.695, 0.6663, 0.646, 0.6313, 0.6206, 0.6126, 0.6067",\
                 "0.9099, 0.8947, 0.8557, 0.812, 0.7793, 0.7559, 0.7386, 0.7259, 0.7163, 0.709");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1909, 0.1793, 0.1624, 0.1517, 0.1458, 0.1434, 0.142, 0.142, 0.1429, 0.1523",\
                 "0.191, 0.1795, 0.1625, 0.1516, 0.1459, 0.1435, 0.1423, 0.142, 0.1432, 0.1532",\
                 "0.1928, 0.1815, 0.1643, 0.1536, 0.1479, 0.1451, 0.144, 0.145, 0.1449, 0.1554",\
                 "0.2005, 0.1891, 0.1716, 0.1609, 0.1548, 0.152, 0.1509, 0.1509, 0.1519, 0.1627",\
                 "0.223, 0.2111, 0.1926, 0.1802, 0.1729, 0.1695, 0.1674, 0.1674, 0.1692, 0.182",\
                 "0.2625, 0.2498, 0.2288, 0.2149, 0.2053, 0.2003, 0.1978, 0.1975, 0.1977, 0.2127",\
                 "0.3184, 0.3047, 0.2805, 0.2634, 0.2524, 0.2456, 0.241, 0.2394, 0.2385, 0.2594",\
                 "0.3927, 0.3778, 0.3501, 0.3298, 0.3138, 0.3052, 0.3007, 0.2971, 0.2953, 0.3213",\
                 "0.4852, 0.4692, 0.438, 0.4129, 0.3947, 0.381, 0.3747, 0.3717, 0.3714, 0.4078",\
                 "0.5959, 0.5787, 0.5433, 0.5147, 0.4923, 0.4748, 0.4647, 0.4608, 0.4644, 0.5202");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4599, 0.4475, 0.4196, 0.395, 0.3796, 0.3691, 0.3619, 0.3566, 0.3528, 0.35",\
                 "0.4592, 0.4468, 0.4188, 0.3943, 0.3788, 0.3684, 0.3611, 0.3559, 0.3521, 0.3493",\
                 "0.4604, 0.448, 0.4201, 0.3955, 0.38, 0.3696, 0.3623, 0.357, 0.3532, 0.3505",\
                 "0.4699, 0.4575, 0.4295, 0.4048, 0.3892, 0.3786, 0.3713, 0.3661, 0.3623, 0.3595",\
                 "0.4935, 0.481, 0.4524, 0.4268, 0.4105, 0.3995, 0.3919, 0.3864, 0.3825, 0.3795",\
                 "0.5377, 0.5248, 0.4946, 0.4669, 0.4486, 0.4361, 0.4274, 0.4213, 0.4168, 0.4136",\
                 "0.601, 0.5874, 0.5554, 0.5246, 0.5037, 0.4893, 0.4791, 0.4718, 0.4666, 0.4627",\
                 "0.684, 0.6699, 0.6358, 0.6013, 0.5771, 0.5601, 0.5479, 0.5392, 0.5329, 0.5283",\
                 "0.7886, 0.7738, 0.7374, 0.699, 0.6709, 0.6508, 0.6361, 0.6255, 0.6176, 0.6118",\
                 "0.9151, 0.8997, 0.8608, 0.818, 0.7855, 0.7616, 0.7441, 0.7311, 0.7214, 0.7142");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.186, 0.1744, 0.1569, 0.1458, 0.1398, 0.1367, 0.1357, 0.1354, 0.136, 0.1456",\
                 "0.1861, 0.1747, 0.157, 0.1458, 0.1397, 0.1373, 0.1354, 0.1358, 0.1363, 0.1465",\
                 "0.188, 0.1765, 0.1587, 0.1476, 0.1414, 0.1387, 0.137, 0.1374, 0.1387, 0.1487",\
                 "0.1956, 0.184, 0.1664, 0.1551, 0.1485, 0.1457, 0.1446, 0.144, 0.1453, 0.1574",\
                 "0.2177, 0.2058, 0.1872, 0.1745, 0.1667, 0.163, 0.1611, 0.1608, 0.1623, 0.175",\
                 "0.2574, 0.2446, 0.2235, 0.209, 0.1992, 0.1939, 0.1908, 0.1899, 0.1904, 0.2066",\
                 "0.3131, 0.2992, 0.2752, 0.2573, 0.2466, 0.2392, 0.2344, 0.2324, 0.2329, 0.2532",\
                 "0.3869, 0.3721, 0.345, 0.3232, 0.3081, 0.2995, 0.2935, 0.2905, 0.2905, 0.3159",\
                 "0.479, 0.4632, 0.4321, 0.4073, 0.3881, 0.3746, 0.369, 0.3651, 0.3647, 0.4017",\
                 "0.5895, 0.5726, 0.5378, 0.5088, 0.4865, 0.4701, 0.4598, 0.4552, 0.4582, 0.5207");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4432, 0.4302, 0.4, 0.3715, 0.3532, 0.3408, 0.3321, 0.3258, 0.3211, 0.3176",\
                 "0.4428, 0.4298, 0.3996, 0.3711, 0.3528, 0.3404, 0.3317, 0.3254, 0.3207, 0.3172",\
                 "0.4451, 0.4321, 0.4019, 0.3734, 0.355, 0.3426, 0.3339, 0.3275, 0.3229, 0.3195",\
                 "0.4555, 0.4426, 0.4122, 0.3836, 0.3652, 0.3528, 0.344, 0.3377, 0.333, 0.3296",\
                 "0.4776, 0.4645, 0.4339, 0.4048, 0.386, 0.3732, 0.3643, 0.3578, 0.3531, 0.3496",\
                 "0.5175, 0.504, 0.4725, 0.4416, 0.4211, 0.4071, 0.3974, 0.3904, 0.3852, 0.3814",\
                 "0.5746, 0.5607, 0.5275, 0.4939, 0.4711, 0.4554, 0.4444, 0.4364, 0.4304, 0.4261",\
                 "0.6477, 0.6334, 0.5984, 0.5619, 0.5363, 0.5185, 0.5057, 0.4964, 0.4896, 0.4845",\
                 "0.7407, 0.7258, 0.689, 0.649, 0.6199, 0.5994, 0.5846, 0.5736, 0.5654, 0.5594",\
                 "0.8554, 0.84, 0.801, 0.7571, 0.7243, 0.7004, 0.6829, 0.6701, 0.6604, 0.6529");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2647, 0.2533, 0.236, 0.2255, 0.2198, 0.2171, 0.2163, 0.2169, 0.2171, 0.2268",\
                 "0.2651, 0.2537, 0.2363, 0.2261, 0.2203, 0.2175, 0.2166, 0.2166, 0.2175, 0.2274",\
                 "0.2692, 0.2578, 0.2405, 0.23, 0.2245, 0.2214, 0.2209, 0.2206, 0.2212, 0.2329",\
                 "0.2799, 0.2683, 0.251, 0.2403, 0.2343, 0.2316, 0.2304, 0.2305, 0.2315, 0.2419",\
                 "0.3032, 0.2912, 0.2728, 0.2605, 0.2533, 0.2495, 0.2479, 0.248, 0.2494, 0.2619",\
                 "0.3405, 0.3276, 0.3066, 0.2931, 0.2836, 0.2784, 0.2757, 0.2754, 0.2756, 0.2912",\
                 "0.3912, 0.3775, 0.3537, 0.3356, 0.3253, 0.3186, 0.3136, 0.3123, 0.3125, 0.3323",\
                 "0.4574, 0.4425, 0.4153, 0.3944, 0.379, 0.3706, 0.3657, 0.3618, 0.3615, 0.3879",\
                 "0.5409, 0.5247, 0.4939, 0.469, 0.4506, 0.4374, 0.4317, 0.4285, 0.4275, 0.4646",\
                 "0.6432, 0.626, 0.591, 0.5627, 0.5401, 0.5235, 0.5126, 0.5087, 0.5119, 0.5678");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3479, 0.3356, 0.3077, 0.2832, 0.2678, 0.2574, 0.2501, 0.2449, 0.2411, 0.2382",\
                 "0.3481, 0.3357, 0.3078, 0.2834, 0.2679, 0.2576, 0.2502, 0.245, 0.2412, 0.2385",\
                 "0.351, 0.3386, 0.3107, 0.2863, 0.2709, 0.2606, 0.2532, 0.2481, 0.2443, 0.2415",\
                 "0.3595, 0.3472, 0.3194, 0.295, 0.2797, 0.2694, 0.2622, 0.2571, 0.2534, 0.2507",\
                 "0.381, 0.3685, 0.3401, 0.3148, 0.2986, 0.2877, 0.28, 0.2746, 0.2708, 0.2679",\
                 "0.4119, 0.399, 0.3697, 0.3433, 0.3263, 0.3148, 0.3069, 0.3013, 0.2973, 0.2943",\
                 "0.4499, 0.4371, 0.4075, 0.3807, 0.3635, 0.3518, 0.3436, 0.3379, 0.3337, 0.3307",\
                 "0.4985, 0.4855, 0.4557, 0.4286, 0.4111, 0.3992, 0.3909, 0.385, 0.3808, 0.3777",\
                 "0.5587, 0.5457, 0.5157, 0.4881, 0.4702, 0.4581, 0.4497, 0.4434, 0.4392, 0.4361",\
                 "0.6311, 0.6179, 0.5876, 0.5597, 0.5412, 0.5287, 0.5201, 0.514, 0.5096, 0.5064");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3408, 0.3291, 0.3109, 0.2993, 0.2926, 0.2889, 0.2879, 0.2872, 0.2882, 0.2998",\
                 "0.3401, 0.3285, 0.3103, 0.2984, 0.2916, 0.2885, 0.2872, 0.2866, 0.2885, 0.2985",\
                 "0.3417, 0.3302, 0.3123, 0.3002, 0.2934, 0.2902, 0.2889, 0.2895, 0.2902, 0.3",\
                 "0.3524, 0.3408, 0.3228, 0.3108, 0.3039, 0.3007, 0.2988, 0.2998, 0.3021, 0.3138",\
                 "0.3735, 0.3621, 0.3436, 0.3318, 0.3247, 0.3213, 0.3202, 0.3209, 0.3231, 0.3359",\
                 "0.4062, 0.3946, 0.3764, 0.3646, 0.3576, 0.3537, 0.3519, 0.3529, 0.3537, 0.3728",\
                 "0.4516, 0.4398, 0.4217, 0.4098, 0.4028, 0.3986, 0.3968, 0.3971, 0.3986, 0.4254",\
                 "0.5107, 0.4987, 0.4799, 0.467, 0.4601, 0.4569, 0.4545, 0.4539, 0.4566, 0.4982",\
                 "0.5841, 0.5721, 0.5532, 0.5402, 0.5314, 0.5276, 0.5274, 0.5258, 0.5307, 0.5961",\
                 "0.6723, 0.6602, 0.6401, 0.6265, 0.6177, 0.613, 0.6106, 0.6143, 0.6277, 0.7409");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "!I0&I1&I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4045, 0.3915, 0.3614, 0.333, 0.3149, 0.3026, 0.294, 0.2877, 0.2831, 0.2797",\
                 "0.404, 0.391, 0.3609, 0.3326, 0.3144, 0.3022, 0.2935, 0.2872, 0.2827, 0.2792",\
                 "0.405, 0.392, 0.3619, 0.3335, 0.3153, 0.3031, 0.2944, 0.2881, 0.2835, 0.2801",\
                 "0.411, 0.3981, 0.3679, 0.3394, 0.3212, 0.3089, 0.3002, 0.2939, 0.2893, 0.286",\
                 "0.4261, 0.4131, 0.3826, 0.3536, 0.3349, 0.3223, 0.3134, 0.307, 0.3023, 0.2988",\
                 "0.4564, 0.4432, 0.4116, 0.3809, 0.3606, 0.3468, 0.3372, 0.3302, 0.3251, 0.3213",\
                 "0.5016, 0.4878, 0.4547, 0.4214, 0.3988, 0.3833, 0.3724, 0.3645, 0.3587, 0.3543",\
                 "0.5605, 0.5463, 0.5114, 0.4751, 0.4496, 0.432, 0.4193, 0.4101, 0.4034, 0.3983",\
                 "0.6351, 0.6203, 0.5834, 0.5436, 0.5148, 0.4944, 0.4796, 0.4688, 0.4607, 0.4548",\
                 "0.726, 0.7106, 0.6717, 0.6279, 0.5951, 0.5716, 0.5543, 0.5414, 0.5318, 0.5245");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1768, 0.1654, 0.1482, 0.1376, 0.132, 0.1289, 0.1285, 0.1282, 0.1287, 0.1403",\
                 "0.1767, 0.1655, 0.1482, 0.1376, 0.1318, 0.1292, 0.1281, 0.1285, 0.129, 0.1383",\
                 "0.178, 0.1666, 0.1492, 0.1387, 0.1331, 0.1302, 0.1295, 0.1292, 0.1305, 0.1415",\
                 "0.1833, 0.1719, 0.1544, 0.1438, 0.1378, 0.135, 0.1341, 0.1338, 0.1348, 0.1452",\
                 "0.2005, 0.1885, 0.17, 0.1578, 0.1506, 0.1468, 0.145, 0.1453, 0.1478, 0.1592",\
                 "0.2305, 0.2176, 0.1967, 0.1831, 0.1736, 0.1679, 0.1651, 0.1651, 0.1654, 0.18",\
                 "0.2726, 0.2589, 0.2349, 0.2171, 0.2067, 0.1997, 0.1951, 0.1929, 0.1933, 0.2151",\
                 "0.3283, 0.3134, 0.2857, 0.2652, 0.2495, 0.2409, 0.2367, 0.2331, 0.2331, 0.2582",\
                 "0.3971, 0.3812, 0.35, 0.3252, 0.306, 0.2933, 0.2872, 0.2846, 0.2846, 0.3191",\
                 "0.4792, 0.462, 0.4266, 0.398, 0.3753, 0.3581, 0.3476, 0.3437, 0.3483, 0.4041");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&!I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3293, 0.3164, 0.2864, 0.258, 0.2399, 0.2276, 0.219, 0.2127, 0.2081, 0.2047",\
                 "0.3294, 0.3165, 0.2865, 0.2582, 0.2399, 0.2277, 0.2191, 0.2128, 0.2082, 0.2048",\
                 "0.3317, 0.3188, 0.2888, 0.2605, 0.2423, 0.2301, 0.2215, 0.2153, 0.2107, 0.2073",\
                 "0.3377, 0.3249, 0.295, 0.2668, 0.2489, 0.2368, 0.2284, 0.2222, 0.2177, 0.2144",\
                 "0.3546, 0.3416, 0.3111, 0.2821, 0.2633, 0.2506, 0.2417, 0.2353, 0.2306, 0.2271",\
                 "0.382, 0.3683, 0.3362, 0.3054, 0.2851, 0.2713, 0.2617, 0.2548, 0.2498, 0.2461",\
                 "0.4093, 0.3955, 0.363, 0.3317, 0.311, 0.2969, 0.2869, 0.2799, 0.2747, 0.2709",\
                 "0.4424, 0.4285, 0.3959, 0.364, 0.343, 0.3287, 0.3186, 0.3114, 0.3061, 0.3023",\
                 "0.4829, 0.4689, 0.4361, 0.4039, 0.3825, 0.3678, 0.3576, 0.3502, 0.3449, 0.3409",\
                 "0.5311, 0.5171, 0.4839, 0.4513, 0.4297, 0.4146, 0.4041, 0.3967, 0.3912, 0.3871");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2922, 0.2806, 0.263, 0.2517, 0.2452, 0.2422, 0.241, 0.2417, 0.242, 0.253",\
                 "0.2918, 0.2802, 0.2624, 0.2512, 0.2448, 0.2418, 0.2403, 0.2404, 0.2417, 0.2523",\
                 "0.2929, 0.2814, 0.2635, 0.2525, 0.246, 0.2429, 0.2413, 0.2414, 0.2427, 0.2551",\
                 "0.2995, 0.288, 0.2701, 0.2591, 0.2526, 0.2496, 0.2483, 0.2483, 0.2483, 0.2627",\
                 "0.3129, 0.3015, 0.2835, 0.2719, 0.2654, 0.2621, 0.2608, 0.2608, 0.2619, 0.2769",\
                 "0.3335, 0.3217, 0.3043, 0.2925, 0.2857, 0.2825, 0.2809, 0.2813, 0.2823, 0.3019",\
                 "0.3621, 0.3503, 0.3322, 0.321, 0.3144, 0.3106, 0.3093, 0.309, 0.3108, 0.338",\
                 "0.3996, 0.3878, 0.3694, 0.3567, 0.3504, 0.3471, 0.3446, 0.344, 0.3473, 0.3865",\
                 "0.4461, 0.4342, 0.4152, 0.4023, 0.3936, 0.3907, 0.3898, 0.3895, 0.3944, 0.4586",\
                 "0.5023, 0.4901, 0.4706, 0.457, 0.4488, 0.4435, 0.443, 0.4446, 0.4569, 0.5718");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&!I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3425, 0.3296, 0.2995, 0.2713, 0.2531, 0.2409, 0.2322, 0.226, 0.2214, 0.218",\
                 "0.3427, 0.3298, 0.2998, 0.2715, 0.2534, 0.2412, 0.2325, 0.2263, 0.2217, 0.2183",\
                 "0.3454, 0.3325, 0.3025, 0.2743, 0.2563, 0.2441, 0.2355, 0.2293, 0.2247, 0.2213",\
                 "0.3536, 0.3407, 0.3109, 0.2828, 0.2649, 0.2529, 0.2445, 0.2383, 0.2338, 0.2305",\
                 "0.376, 0.3629, 0.3324, 0.3034, 0.2846, 0.2718, 0.2629, 0.2565, 0.2518, 0.2483",\
                 "0.4123, 0.3986, 0.3666, 0.3358, 0.3154, 0.3017, 0.2921, 0.2852, 0.2802, 0.2765",\
                 "0.4529, 0.4391, 0.4066, 0.3754, 0.3546, 0.3406, 0.3308, 0.3238, 0.3186, 0.3148",\
                 "0.5041, 0.4902, 0.4577, 0.426, 0.4051, 0.3907, 0.3807, 0.3735, 0.3683, 0.3644",\
                 "0.5678, 0.5539, 0.5211, 0.4891, 0.4675, 0.4531, 0.4429, 0.4356, 0.4302, 0.4263",\
                 "0.6443, 0.6302, 0.5972, 0.5646, 0.5428, 0.5281, 0.5177, 0.5103, 0.5048, 0.5008");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.355, 0.3433, 0.3259, 0.3145, 0.3082, 0.3054, 0.304, 0.3044, 0.3049, 0.3148",\
                 "0.3543, 0.3427, 0.3252, 0.3141, 0.3077, 0.3047, 0.3034, 0.3037, 0.3049, 0.315",\
                 "0.356, 0.3445, 0.3269, 0.3154, 0.3094, 0.3061, 0.3047, 0.3051, 0.306, 0.3175",\
                 "0.3657, 0.3542, 0.3366, 0.3253, 0.319, 0.3162, 0.3153, 0.3159, 0.3156, 0.3287",\
                 "0.386, 0.3744, 0.3568, 0.3452, 0.3386, 0.3358, 0.3344, 0.3354, 0.3376, 0.3525",\
                 "0.4178, 0.4059, 0.3887, 0.3769, 0.3704, 0.3673, 0.3657, 0.3661, 0.3671, 0.3871",\
                 "0.4626, 0.4508, 0.4329, 0.4217, 0.4155, 0.4112, 0.4093, 0.4103, 0.4115, 0.4384",\
                 "0.5213, 0.5096, 0.491, 0.4786, 0.472, 0.4688, 0.4667, 0.4668, 0.4701, 0.5075",\
                 "0.5945, 0.5824, 0.5632, 0.5509, 0.5426, 0.5392, 0.539, 0.5377, 0.5427, 0.6058",\
                 "0.6832, 0.671, 0.6513, 0.6379, 0.6302, 0.6256, 0.6238, 0.6265, 0.6392, 0.75");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4423, 0.4299, 0.4017, 0.377, 0.3613, 0.3507, 0.3433, 0.338, 0.3342, 0.3314",\
                 "0.442, 0.4296, 0.4014, 0.3767, 0.3609, 0.3504, 0.343, 0.3377, 0.3339, 0.331",\
                 "0.4441, 0.4317, 0.4035, 0.3788, 0.363, 0.3524, 0.345, 0.3397, 0.3359, 0.333",\
                 "0.4541, 0.4417, 0.4134, 0.3885, 0.3726, 0.362, 0.3545, 0.3492, 0.3454, 0.3426",\
                 "0.4769, 0.4644, 0.4356, 0.4097, 0.3932, 0.382, 0.3742, 0.3687, 0.3647, 0.3618",\
                 "0.5188, 0.5058, 0.4753, 0.4472, 0.4286, 0.4159, 0.4071, 0.4008, 0.3963, 0.393",\
                 "0.5777, 0.564, 0.5318, 0.5005, 0.479, 0.4642, 0.4538, 0.4464, 0.441, 0.4371",\
                 "0.6543, 0.6401, 0.6057, 0.5707, 0.5459, 0.5285, 0.5161, 0.5072, 0.5006, 0.4958",\
                 "0.7524, 0.7374, 0.7007, 0.6616, 0.633, 0.6122, 0.5971, 0.5861, 0.578, 0.5721",\
                 "0.8724, 0.8569, 0.8178, 0.7742, 0.741, 0.7164, 0.6982, 0.6849, 0.6748, 0.6674");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.244, 0.2325, 0.2148, 0.2036, 0.1977, 0.1949, 0.1935, 0.1935, 0.196, 0.2043",\
                 "0.2445, 0.2328, 0.2153, 0.2043, 0.1981, 0.1954, 0.1941, 0.1942, 0.1944, 0.2059",\
                 "0.2486, 0.237, 0.2194, 0.2085, 0.2024, 0.1992, 0.1981, 0.1981, 0.1991, 0.2104",\
                 "0.2593, 0.2477, 0.23, 0.2186, 0.2123, 0.2095, 0.2083, 0.208, 0.2093, 0.2204",\
                 "0.2827, 0.2708, 0.252, 0.2396, 0.2319, 0.228, 0.2262, 0.2265, 0.2266, 0.2394",\
                 "0.3213, 0.3085, 0.2874, 0.2729, 0.2634, 0.258, 0.2549, 0.2539, 0.2551, 0.2713",\
                 "0.3732, 0.3596, 0.3358, 0.3174, 0.3073, 0.2997, 0.2951, 0.2928, 0.2936, 0.3136",\
                 "0.4413, 0.4267, 0.3996, 0.3784, 0.3624, 0.3548, 0.3492, 0.3453, 0.3446, 0.3714",\
                 "0.5276, 0.512, 0.481, 0.4558, 0.4369, 0.4248, 0.4182, 0.4143, 0.4152, 0.454",\
                 "0.6323, 0.6154, 0.5808, 0.552, 0.5295, 0.5133, 0.502, 0.4991, 0.5015, 0.5632");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&I2&!I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4187, 0.4058, 0.3758, 0.3474, 0.3292, 0.3169, 0.3082, 0.3019, 0.2973, 0.2939",\
                 "0.4192, 0.4063, 0.3762, 0.3478, 0.3296, 0.3174, 0.3087, 0.3024, 0.2978, 0.2944",\
                 "0.4243, 0.4114, 0.3814, 0.3531, 0.3349, 0.3227, 0.314, 0.3077, 0.3032, 0.2997",\
                 "0.436, 0.4231, 0.3932, 0.365, 0.3471, 0.335, 0.3265, 0.3203, 0.3158, 0.3124",\
                 "0.4594, 0.4463, 0.4158, 0.3868, 0.3679, 0.3551, 0.3462, 0.3397, 0.335, 0.3315",\
                 "0.4946, 0.4808, 0.4487, 0.4177, 0.3974, 0.3837, 0.3739, 0.367, 0.362, 0.3582",\
                 "0.531, 0.5171, 0.4847, 0.4531, 0.4322, 0.4181, 0.4081, 0.401, 0.3958, 0.392",\
                 "0.5747, 0.5608, 0.5281, 0.4962, 0.4751, 0.4605, 0.4504, 0.4431, 0.4378, 0.4339",\
                 "0.6299, 0.6159, 0.583, 0.5507, 0.529, 0.5143, 0.5039, 0.4965, 0.4911, 0.4871",\
                 "0.6985, 0.6844, 0.6511, 0.6183, 0.5964, 0.5814, 0.5708, 0.5632, 0.5577, 0.5536");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3303, 0.3186, 0.301, 0.2897, 0.2831, 0.2798, 0.2786, 0.2787, 0.2796, 0.289",\
                 "0.33, 0.3184, 0.3004, 0.2893, 0.2826, 0.2794, 0.278, 0.2783, 0.2786, 0.2906",\
                 "0.3325, 0.3209, 0.3032, 0.2919, 0.2852, 0.282, 0.2809, 0.2803, 0.2816, 0.294",\
                 "0.3436, 0.3318, 0.3142, 0.3026, 0.2963, 0.2929, 0.2915, 0.2915, 0.2925, 0.3046",\
                 "0.3643, 0.3529, 0.3348, 0.3232, 0.3165, 0.3131, 0.312, 0.3117, 0.3121, 0.3297",\
                 "0.3945, 0.3828, 0.365, 0.3532, 0.3463, 0.3431, 0.342, 0.3414, 0.3427, 0.363",\
                 "0.4354, 0.4234, 0.4051, 0.3938, 0.3873, 0.383, 0.3816, 0.3813, 0.3828, 0.4112",\
                 "0.4875, 0.4754, 0.457, 0.4444, 0.4377, 0.4341, 0.4321, 0.4318, 0.4348, 0.4742",\
                 "0.5528, 0.5406, 0.5215, 0.5085, 0.4993, 0.4966, 0.4964, 0.4951, 0.4993, 0.565",\
                 "0.6331, 0.6209, 0.601, 0.5878, 0.5787, 0.5736, 0.5727, 0.574, 0.5891, 0.7004");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4084, 0.3961, 0.3681, 0.3436, 0.328, 0.3176, 0.3102, 0.305, 0.3012, 0.2984",\
                 "0.4089, 0.3966, 0.3686, 0.344, 0.3285, 0.318, 0.3107, 0.3055, 0.3017, 0.2988",\
                 "0.4141, 0.4018, 0.3738, 0.3493, 0.3338, 0.3234, 0.3161, 0.3109, 0.3071, 0.3043",\
                 "0.4263, 0.414, 0.3862, 0.3617, 0.3462, 0.3359, 0.3287, 0.3235, 0.3198, 0.3171",\
                 "0.4493, 0.4368, 0.4083, 0.3829, 0.3668, 0.3558, 0.3481, 0.3428, 0.3388, 0.336",\
                 "0.4803, 0.4675, 0.4381, 0.4116, 0.3944, 0.3829, 0.375, 0.3693, 0.3652, 0.3623",\
                 "0.5155, 0.5026, 0.473, 0.4461, 0.4286, 0.4169, 0.4088, 0.403, 0.3988, 0.3958",\
                 "0.5592, 0.5461, 0.5163, 0.4891, 0.4714, 0.4594, 0.451, 0.445, 0.4407, 0.4376",\
                 "0.6139, 0.6008, 0.5706, 0.543, 0.5249, 0.5125, 0.5041, 0.498, 0.4936, 0.4904",\
                 "0.6809, 0.6677, 0.6373, 0.6091, 0.5906, 0.578, 0.5693, 0.563, 0.5586, 0.5554");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3258, 0.3142, 0.2957, 0.284, 0.277, 0.2733, 0.272, 0.2714, 0.2727, 0.283",\
                 "0.3254, 0.3137, 0.2955, 0.2835, 0.2765, 0.2732, 0.2714, 0.2714, 0.2724, 0.2839",\
                 "0.328, 0.3163, 0.2979, 0.2861, 0.2789, 0.2756, 0.274, 0.274, 0.2747, 0.2864",\
                 "0.339, 0.3273, 0.3089, 0.2971, 0.2899, 0.2866, 0.2849, 0.2849, 0.2856, 0.2986",\
                 "0.3595, 0.3477, 0.3296, 0.3179, 0.3104, 0.3067, 0.305, 0.3044, 0.3055, 0.3211",\
                 "0.3897, 0.378, 0.3595, 0.3474, 0.3402, 0.3366, 0.3351, 0.3348, 0.3362, 0.3559",\
                 "0.4304, 0.4187, 0.4002, 0.3883, 0.3811, 0.3765, 0.3747, 0.375, 0.3762, 0.4035",\
                 "0.4831, 0.471, 0.4522, 0.439, 0.4322, 0.4281, 0.4255, 0.4252, 0.43, 0.4703",\
                 "0.5493, 0.537, 0.5178, 0.5043, 0.4953, 0.4916, 0.4911, 0.4902, 0.4942, 0.5601",\
                 "0.6304, 0.6181, 0.5984, 0.5842, 0.5757, 0.5697, 0.569, 0.5704, 0.5847, 0.6995");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&!I1&I2&I3&!S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3293, 0.3163, 0.2863, 0.2579, 0.2398, 0.2276, 0.219, 0.2127, 0.2081, 0.2047",\
                 "0.3293, 0.3165, 0.2864, 0.2581, 0.2399, 0.2277, 0.2191, 0.2128, 0.2082, 0.2047",\
                 "0.3316, 0.3187, 0.2887, 0.2604, 0.2423, 0.2301, 0.2215, 0.2153, 0.2106, 0.2072",\
                 "0.3376, 0.3247, 0.2948, 0.2667, 0.2488, 0.2367, 0.2283, 0.2221, 0.2176, 0.2143",\
                 "0.3545, 0.3415, 0.3109, 0.2819, 0.2632, 0.2504, 0.2415, 0.2351, 0.2304, 0.227",\
                 "0.3817, 0.368, 0.336, 0.3051, 0.2847, 0.271, 0.2615, 0.2546, 0.2496, 0.2459",\
                 "0.4088, 0.395, 0.3625, 0.3312, 0.3104, 0.2964, 0.2865, 0.2794, 0.2742, 0.2704",\
                 "0.4416, 0.4276, 0.3951, 0.3633, 0.3423, 0.328, 0.318, 0.3108, 0.3055, 0.3017",\
                 "0.4819, 0.468, 0.4352, 0.4031, 0.3817, 0.3671, 0.3568, 0.3495, 0.3441, 0.3402",\
                 "0.5299, 0.5159, 0.4828, 0.4503, 0.4285, 0.4134, 0.403, 0.3956, 0.3903, 0.3863");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2896, 0.2779, 0.2604, 0.2489, 0.2425, 0.2397, 0.2384, 0.2384, 0.2394, 0.2491",\
                 "0.2893, 0.2775, 0.2598, 0.2488, 0.2423, 0.2392, 0.238, 0.2377, 0.2384, 0.2503",\
                 "0.2905, 0.2788, 0.2612, 0.25, 0.2435, 0.2404, 0.239, 0.2394, 0.2404, 0.2515",\
                 "0.2973, 0.2857, 0.2679, 0.2569, 0.2502, 0.2473, 0.2466, 0.2457, 0.2466, 0.2604",\
                 "0.3107, 0.299, 0.2815, 0.2698, 0.2634, 0.2602, 0.2595, 0.2585, 0.2601, 0.2749",\
                 "0.3314, 0.3196, 0.302, 0.2903, 0.2837, 0.2802, 0.2786, 0.2793, 0.2803, 0.2993",\
                 "0.3601, 0.3483, 0.3304, 0.3191, 0.3123, 0.3085, 0.3073, 0.3067, 0.3089, 0.3367",\
                 "0.3976, 0.3857, 0.3675, 0.3548, 0.3483, 0.3451, 0.3423, 0.3417, 0.3454, 0.3861",\
                 "0.4442, 0.4322, 0.4132, 0.4009, 0.3919, 0.3882, 0.3879, 0.3872, 0.3917, 0.4561",\
                 "0.5006, 0.4881, 0.4686, 0.4553, 0.4465, 0.4417, 0.4397, 0.4433, 0.4562, 0.5685");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&I1&!I2&I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4133, 0.4008, 0.3728, 0.3482, 0.3326, 0.3221, 0.3147, 0.3095, 0.3057, 0.3029",\
                 "0.4128, 0.4004, 0.3724, 0.3477, 0.3322, 0.3216, 0.3143, 0.309, 0.3052, 0.3025",\
                 "0.4139, 0.4015, 0.3735, 0.3488, 0.3332, 0.3226, 0.3153, 0.3101, 0.3063, 0.3034",\
                 "0.4205, 0.4081, 0.3799, 0.3551, 0.3394, 0.3289, 0.3214, 0.3161, 0.3124, 0.3096",\
                 "0.4377, 0.4252, 0.3966, 0.3709, 0.3544, 0.3434, 0.3356, 0.3301, 0.3262, 0.3233",\
                 "0.4722, 0.4592, 0.4288, 0.4009, 0.3825, 0.3699, 0.3611, 0.3549, 0.3505, 0.3472",\
                 "0.5216, 0.5079, 0.4758, 0.4448, 0.4236, 0.4089, 0.3987, 0.3914, 0.386, 0.3821",\
                 "0.5862, 0.5721, 0.5378, 0.5031, 0.4787, 0.4616, 0.4492, 0.4404, 0.434, 0.4292",\
                 "0.6677, 0.6529, 0.6164, 0.5777, 0.5493, 0.5289, 0.514, 0.5032, 0.4953, 0.4894",\
                 "0.7667, 0.751, 0.7121, 0.669, 0.636, 0.6119, 0.5943, 0.581, 0.5712, 0.5638");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1754, 0.1638, 0.1463, 0.1354, 0.1293, 0.1262, 0.1248, 0.1249, 0.1254, 0.135",\
                 "0.1755, 0.1639, 0.1464, 0.1353, 0.1291, 0.1264, 0.1252, 0.1252, 0.1261, 0.136",\
                 "0.1766, 0.1651, 0.1474, 0.1364, 0.1302, 0.1275, 0.1265, 0.1259, 0.1277, 0.1381",\
                 "0.1821, 0.1707, 0.1527, 0.1413, 0.135, 0.1319, 0.1311, 0.1308, 0.1315, 0.1438",\
                 "0.1993, 0.1874, 0.1686, 0.1561, 0.1485, 0.1444, 0.1427, 0.1427, 0.1428, 0.1572",\
                 "0.2306, 0.218, 0.1966, 0.1822, 0.1729, 0.1672, 0.1644, 0.1632, 0.1644, 0.1802",\
                 "0.2743, 0.2607, 0.2365, 0.2183, 0.2076, 0.2005, 0.1958, 0.1938, 0.1937, 0.2143",\
                 "0.3321, 0.3175, 0.2904, 0.2685, 0.2534, 0.2454, 0.2394, 0.2358, 0.2357, 0.2625",\
                 "0.4043, 0.3886, 0.3578, 0.3327, 0.3144, 0.3001, 0.2938, 0.2905, 0.2908, 0.3296",\
                 "0.4906, 0.4739, 0.4391, 0.4103, 0.3875, 0.3709, 0.3595, 0.3562, 0.3606, 0.421");
        }
      }

      internal_power() {
        related_pin : "S0" ;
        when : "I0&I1&I2&!I3&S1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3383, 0.326, 0.2981, 0.2736, 0.2581, 0.2477, 0.2403, 0.2351, 0.2313, 0.2285",\
                 "0.3384, 0.3261, 0.2982, 0.2737, 0.2581, 0.2478, 0.2404, 0.2352, 0.2314, 0.2286",\
                 "0.3406, 0.3283, 0.3004, 0.2759, 0.2604, 0.25, 0.2428, 0.2376, 0.2338, 0.231",\
                 "0.3472, 0.3348, 0.307, 0.2826, 0.2672, 0.2569, 0.2497, 0.2446, 0.2409, 0.2382",\
                 "0.3637, 0.3512, 0.3228, 0.2975, 0.2814, 0.2705, 0.2629, 0.2575, 0.2536, 0.2507",\
                 "0.3869, 0.374, 0.3447, 0.3183, 0.3013, 0.2898, 0.2819, 0.2763, 0.2722, 0.2693",\
                 "0.4132, 0.4002, 0.3706, 0.3439, 0.3265, 0.3148, 0.3067, 0.301, 0.2968, 0.2938",\
                 "0.446, 0.4331, 0.4034, 0.3763, 0.3585, 0.3467, 0.3384, 0.3325, 0.3283, 0.3253",\
                 "0.4864, 0.4734, 0.4434, 0.4161, 0.3979, 0.3857, 0.3772, 0.3712, 0.3669, 0.3637",\
                 "0.5348, 0.5218, 0.4914, 0.4635, 0.445, 0.4325, 0.4239, 0.4178, 0.4134, 0.4102");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2946, 0.283, 0.2646, 0.2527, 0.246, 0.2425, 0.241, 0.242, 0.2417, 0.2533",\
                 "0.2941, 0.2824, 0.2642, 0.2525, 0.2455, 0.242, 0.241, 0.2404, 0.2414, 0.252",\
                 "0.2956, 0.2841, 0.2658, 0.2539, 0.247, 0.2438, 0.2427, 0.2417, 0.2437, 0.2548",\
                 "0.3034, 0.2918, 0.2733, 0.2616, 0.2547, 0.2516, 0.2512, 0.2496, 0.2527, 0.2646",\
                 "0.3183, 0.3067, 0.2883, 0.2763, 0.2701, 0.266, 0.2648, 0.2651, 0.267, 0.2798",\
                 "0.3408, 0.329, 0.3109, 0.2988, 0.2918, 0.2881, 0.2869, 0.2872, 0.2877, 0.3065",\
                 "0.3724, 0.3606, 0.3419, 0.3303, 0.3233, 0.3192, 0.3176, 0.3173, 0.3194, 0.3461",\
                 "0.413, 0.4011, 0.3824, 0.369, 0.3622, 0.3588, 0.3562, 0.3559, 0.3586, 0.3995",\
                 "0.4632, 0.4512, 0.432, 0.4185, 0.41, 0.4064, 0.4053, 0.4044, 0.4097, 0.4759",\
                 "0.5236, 0.5112, 0.4916, 0.4775, 0.4685, 0.4633, 0.4621, 0.4648, 0.4783, 0.5908");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&!I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2819, 0.2703, 0.2446, 0.2217, 0.2078, 0.1985, 0.192, 0.1873, 0.1838, 0.1812",\
                 "0.2813, 0.2698, 0.244, 0.2211, 0.2073, 0.198, 0.1915, 0.1868, 0.1833, 0.1807",\
                 "0.2823, 0.2708, 0.2451, 0.2224, 0.2086, 0.1995, 0.1931, 0.1884, 0.1849, 0.1824",\
                 "0.2875, 0.2761, 0.2506, 0.2281, 0.2146, 0.2057, 0.1994, 0.1948, 0.1915, 0.189",\
                 "0.304, 0.2923, 0.266, 0.2428, 0.2288, 0.2197, 0.2133, 0.2087, 0.2053, 0.2028",\
                 "0.335, 0.3226, 0.2946, 0.2695, 0.254, 0.2439, 0.2369, 0.2319, 0.2282, 0.2255",\
                 "0.3806, 0.3676, 0.3375, 0.3093, 0.2915, 0.2796, 0.2713, 0.2654, 0.2611, 0.2579",\
                 "0.4421, 0.4287, 0.3959, 0.3634, 0.3424, 0.328, 0.3177, 0.3104, 0.3051, 0.3011",\
                 "0.5195, 0.5055, 0.4701, 0.4329, 0.4073, 0.3898, 0.3771, 0.3679, 0.3612, 0.3561",\
                 "0.6118, 0.5973, 0.5597, 0.5172, 0.4867, 0.4654, 0.4499, 0.4383, 0.4298, 0.4233");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1538, 0.1427, 0.1259, 0.1165, 0.1114, 0.1094, 0.1087, 0.1094, 0.1096, 0.1181",\
                 "0.1536, 0.1424, 0.1258, 0.1163, 0.1113, 0.1092, 0.1084, 0.1087, 0.1092, 0.1187",\
                 "0.154, 0.1428, 0.1265, 0.1172, 0.1122, 0.1103, 0.1093, 0.11, 0.1106, 0.1213",\
                 "0.1601, 0.1491, 0.1326, 0.1231, 0.1178, 0.1159, 0.115, 0.1156, 0.1175, 0.1269",\
                 "0.1821, 0.17, 0.1519, 0.1399, 0.133, 0.1303, 0.1282, 0.1279, 0.1288, 0.1407",\
                 "0.2154, 0.2019, 0.1801, 0.1657, 0.1571, 0.1511, 0.1486, 0.148, 0.1481, 0.1626",\
                 "0.2603, 0.2452, 0.2199, 0.2014, 0.1898, 0.1835, 0.1786, 0.1767, 0.1761, 0.1933",\
                 "0.3172, 0.3003, 0.2705, 0.2479, 0.2323, 0.2233, 0.2202, 0.2143, 0.2131, 0.235",\
                 "0.3855, 0.367, 0.3324, 0.3066, 0.2875, 0.2728, 0.2668, 0.2651, 0.2642, 0.2944",\
                 "0.4654, 0.4459, 0.4063, 0.3762, 0.3539, 0.3364, 0.3252, 0.3196, 0.3244, 0.3726");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2818, 0.2703, 0.2446, 0.2216, 0.2078, 0.1986, 0.192, 0.1873, 0.1839, 0.1813",\
                 "0.2812, 0.2697, 0.244, 0.2211, 0.2073, 0.198, 0.1915, 0.1868, 0.1833, 0.1807",\
                 "0.2822, 0.2707, 0.2451, 0.2223, 0.2086, 0.1995, 0.1931, 0.1884, 0.185, 0.1824",\
                 "0.2874, 0.276, 0.2506, 0.228, 0.2146, 0.2056, 0.1994, 0.1949, 0.1915, 0.1891",\
                 "0.304, 0.2922, 0.2659, 0.2428, 0.2288, 0.2197, 0.2133, 0.2087, 0.2054, 0.2029",\
                 "0.3349, 0.3225, 0.2946, 0.2694, 0.254, 0.244, 0.237, 0.2319, 0.2282, 0.2255",\
                 "0.3806, 0.3677, 0.3376, 0.3093, 0.2915, 0.2796, 0.2714, 0.2655, 0.2612, 0.258",\
                 "0.4421, 0.4286, 0.396, 0.3636, 0.3424, 0.328, 0.3179, 0.3104, 0.3052, 0.3012",\
                 "0.5196, 0.5056, 0.4702, 0.4329, 0.4075, 0.3899, 0.3773, 0.3681, 0.3612, 0.3562",\
                 "0.6119, 0.5974, 0.5598, 0.5173, 0.4868, 0.4655, 0.45, 0.4386, 0.4299, 0.4234");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1537, 0.1426, 0.126, 0.1165, 0.1114, 0.1094, 0.1087, 0.1097, 0.1096, 0.1181",\
                 "0.1535, 0.1423, 0.1257, 0.1162, 0.1113, 0.1092, 0.1084, 0.1087, 0.1092, 0.1187",\
                 "0.1539, 0.1427, 0.1264, 0.1171, 0.1123, 0.1101, 0.1093, 0.11, 0.1106, 0.1213",\
                 "0.16, 0.1489, 0.1327, 0.1231, 0.118, 0.1157, 0.115, 0.1153, 0.117, 0.1266",\
                 "0.1821, 0.1701, 0.1519, 0.1396, 0.133, 0.1297, 0.1282, 0.1282, 0.1292, 0.1407",\
                 "0.2153, 0.202, 0.1801, 0.1655, 0.1572, 0.1517, 0.1493, 0.149, 0.1484, 0.1632",\
                 "0.2604, 0.2451, 0.2196, 0.2014, 0.1898, 0.1836, 0.1786, 0.1767, 0.1774, 0.1926",\
                 "0.3171, 0.3002, 0.2703, 0.2482, 0.2326, 0.2236, 0.2199, 0.216, 0.2154, 0.2356",\
                 "0.3855, 0.3673, 0.3325, 0.3066, 0.2869, 0.2733, 0.2677, 0.2641, 0.2632, 0.296",\
                 "0.4653, 0.4458, 0.4063, 0.3759, 0.3536, 0.3372, 0.3262, 0.3209, 0.3248, 0.3704");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2818, 0.2703, 0.2446, 0.2216, 0.2078, 0.1986, 0.192, 0.1873, 0.1839, 0.1813",\
                 "0.2812, 0.2697, 0.244, 0.2211, 0.2073, 0.198, 0.1915, 0.1868, 0.1833, 0.1807",\
                 "0.2822, 0.2707, 0.2451, 0.2223, 0.2086, 0.1995, 0.1931, 0.1884, 0.185, 0.1824",\
                 "0.2874, 0.276, 0.2505, 0.228, 0.2146, 0.2056, 0.1994, 0.1949, 0.1915, 0.1891",\
                 "0.304, 0.2922, 0.2659, 0.2428, 0.2288, 0.2197, 0.2133, 0.2087, 0.2054, 0.2029",\
                 "0.3349, 0.3226, 0.2946, 0.2695, 0.2541, 0.244, 0.237, 0.2319, 0.2282, 0.2255",\
                 "0.3806, 0.3676, 0.3376, 0.3094, 0.2915, 0.2796, 0.2714, 0.2655, 0.2612, 0.258",\
                 "0.4421, 0.4286, 0.396, 0.3636, 0.3425, 0.328, 0.3179, 0.3105, 0.3052, 0.3012",\
                 "0.5196, 0.5056, 0.4702, 0.4329, 0.4075, 0.3899, 0.3772, 0.3681, 0.3613, 0.3562",\
                 "0.6119, 0.5974, 0.5599, 0.5173, 0.4868, 0.4655, 0.45, 0.4386, 0.43, 0.4234");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1537, 0.1426, 0.126, 0.1165, 0.1114, 0.1094, 0.1087, 0.1094, 0.1096, 0.1197",\
                 "0.1535, 0.1423, 0.1257, 0.1162, 0.1113, 0.1092, 0.1084, 0.1087, 0.1092, 0.1187",\
                 "0.1539, 0.1427, 0.1264, 0.1171, 0.1123, 0.1101, 0.1093, 0.11, 0.1106, 0.1213",\
                 "0.16, 0.1489, 0.1327, 0.1231, 0.1179, 0.1157, 0.115, 0.116, 0.1166, 0.1279",\
                 "0.1821, 0.1701, 0.1519, 0.1396, 0.133, 0.1297, 0.1285, 0.1282, 0.1295, 0.1407",\
                 "0.2152, 0.202, 0.1801, 0.1655, 0.1572, 0.1517, 0.1493, 0.149, 0.1488, 0.1639",\
                 "0.2604, 0.2451, 0.2198, 0.2014, 0.1898, 0.1834, 0.1786, 0.1767, 0.1774, 0.193",\
                 "0.3171, 0.3004, 0.2703, 0.2481, 0.2324, 0.2236, 0.2202, 0.216, 0.214, 0.2356",\
                 "0.3855, 0.3673, 0.3325, 0.3065, 0.2869, 0.2733, 0.2671, 0.2648, 0.2642, 0.295",\
                 "0.4653, 0.4459, 0.4061, 0.3759, 0.3536, 0.3372, 0.3262, 0.3209, 0.3248, 0.3704");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&!I1&I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2819, 0.2703, 0.2446, 0.2217, 0.2078, 0.1985, 0.192, 0.1873, 0.1838, 0.1812",\
                 "0.2813, 0.2697, 0.244, 0.2211, 0.2073, 0.198, 0.1915, 0.1868, 0.1833, 0.1807",\
                 "0.2823, 0.2708, 0.2451, 0.2224, 0.2086, 0.1995, 0.1931, 0.1884, 0.1849, 0.1824",\
                 "0.2875, 0.2761, 0.2506, 0.2281, 0.2146, 0.2057, 0.1994, 0.1948, 0.1915, 0.189",\
                 "0.3041, 0.2922, 0.266, 0.2428, 0.2288, 0.2197, 0.2133, 0.2087, 0.2053, 0.2028",\
                 "0.335, 0.3226, 0.2946, 0.2695, 0.254, 0.2439, 0.2369, 0.2319, 0.2282, 0.2255",\
                 "0.3806, 0.3677, 0.3375, 0.3093, 0.2915, 0.2796, 0.2714, 0.2654, 0.2611, 0.2579",\
                 "0.442, 0.4286, 0.3959, 0.3635, 0.3424, 0.328, 0.3178, 0.3104, 0.3051, 0.3011",\
                 "0.5195, 0.5055, 0.47, 0.4328, 0.4075, 0.3898, 0.3772, 0.3679, 0.3612, 0.3561",\
                 "0.6118, 0.5973, 0.5597, 0.5172, 0.4867, 0.4655, 0.4499, 0.4383, 0.4298, 0.4233");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1538, 0.1427, 0.1261, 0.1165, 0.1114, 0.1094, 0.1087, 0.1094, 0.1096, 0.1197",\
                 "0.1536, 0.1424, 0.1258, 0.1163, 0.1113, 0.1092, 0.1084, 0.1087, 0.1092, 0.1187",\
                 "0.154, 0.1428, 0.1265, 0.1172, 0.1122, 0.1103, 0.1093, 0.11, 0.1106, 0.1213",\
                 "0.1601, 0.1491, 0.1326, 0.1231, 0.1178, 0.1159, 0.115, 0.1156, 0.1175, 0.1269",\
                 "0.1821, 0.1701, 0.1519, 0.1398, 0.133, 0.1297, 0.1285, 0.1279, 0.1285, 0.1401",\
                 "0.2154, 0.2019, 0.1801, 0.1658, 0.1572, 0.1515, 0.1489, 0.1483, 0.1484, 0.1613",\
                 "0.2604, 0.2452, 0.2199, 0.2014, 0.1898, 0.1835, 0.1793, 0.177, 0.1764, 0.1953",\
                 "0.3171, 0.3004, 0.2705, 0.2482, 0.2323, 0.2233, 0.2202, 0.215, 0.214, 0.2356",\
                 "0.3855, 0.367, 0.3324, 0.307, 0.2875, 0.2728, 0.2668, 0.2638, 0.2638, 0.2938",\
                 "0.4654, 0.4459, 0.4063, 0.3758, 0.3534, 0.337, 0.3248, 0.3206, 0.3259, 0.3714");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2276, 0.2169, 0.1938, 0.1752, 0.164, 0.1566, 0.1514, 0.1477, 0.145, 0.143",\
                 "0.2275, 0.2168, 0.1937, 0.1751, 0.1639, 0.1566, 0.1514, 0.1477, 0.1449, 0.1429",\
                 "0.2284, 0.2178, 0.195, 0.1766, 0.1657, 0.1585, 0.1535, 0.1499, 0.1473, 0.1453",\
                 "0.2328, 0.2221, 0.1994, 0.1812, 0.1706, 0.1636, 0.1589, 0.1555, 0.1531, 0.1513",\
                 "0.257, 0.245, 0.219, 0.1983, 0.1857, 0.1776, 0.1721, 0.1683, 0.1656, 0.1636",\
                 "0.2828, 0.2688, 0.24, 0.2177, 0.2043, 0.1956, 0.1899, 0.1858, 0.183, 0.181",\
                 "0.3067, 0.2926, 0.2637, 0.2413, 0.2276, 0.219, 0.2132, 0.2092, 0.2064, 0.2044",\
                 "0.3374, 0.3232, 0.2942, 0.2716, 0.2578, 0.249, 0.2431, 0.2391, 0.2363, 0.2342",\
                 "0.3752, 0.361, 0.3318, 0.3088, 0.2948, 0.2857, 0.2799, 0.2757, 0.2729, 0.2709",\
                 "0.4209, 0.4066, 0.377, 0.3536, 0.3393, 0.33, 0.324, 0.3201, 0.3171, 0.3152");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2128, 0.2015, 0.1847, 0.175, 0.1696, 0.1672, 0.1668, 0.1668, 0.1676, 0.1787",\
                 "0.2123, 0.2009, 0.1842, 0.1743, 0.1689, 0.1667, 0.1658, 0.1658, 0.1666, 0.178",\
                 "0.2144, 0.2031, 0.1865, 0.1766, 0.1711, 0.1689, 0.1681, 0.1684, 0.1699, 0.1805",\
                 "0.2216, 0.2102, 0.1938, 0.184, 0.1784, 0.1762, 0.1753, 0.176, 0.1767, 0.1888",\
                 "0.2341, 0.2228, 0.2066, 0.1969, 0.1917, 0.1896, 0.1889, 0.1892, 0.1907, 0.2035",\
                 "0.2541, 0.2428, 0.2268, 0.2172, 0.2124, 0.21, 0.209, 0.21, 0.2126, 0.2283",\
                 "0.2827, 0.2714, 0.2549, 0.2445, 0.2404, 0.2375, 0.2364, 0.2367, 0.2387, 0.2631",\
                 "0.3194, 0.3076, 0.2911, 0.2806, 0.2741, 0.2734, 0.2724, 0.2721, 0.2742, 0.3073",\
                 "0.3646, 0.3528, 0.3359, 0.3243, 0.3181, 0.3152, 0.3159, 0.3163, 0.3219, 0.3731",\
                 "0.421, 0.4089, 0.3909, 0.3783, 0.3716, 0.3681, 0.3677, 0.3714, 0.3826, 0.4749");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2818, 0.2703, 0.2445, 0.2216, 0.2078, 0.1985, 0.1921, 0.1873, 0.1839, 0.1813",\
                 "0.2812, 0.2697, 0.244, 0.2211, 0.2073, 0.198, 0.1915, 0.1868, 0.1833, 0.1807",\
                 "0.2822, 0.2707, 0.2451, 0.2223, 0.2086, 0.1995, 0.1931, 0.1884, 0.185, 0.1824",\
                 "0.2874, 0.276, 0.2506, 0.228, 0.2146, 0.2056, 0.1994, 0.1949, 0.1915, 0.1891",\
                 "0.304, 0.2922, 0.2659, 0.2427, 0.2288, 0.2197, 0.2133, 0.2087, 0.2054, 0.2029",\
                 "0.3349, 0.3225, 0.2946, 0.2694, 0.254, 0.244, 0.237, 0.2319, 0.2282, 0.2255",\
                 "0.3806, 0.3676, 0.3376, 0.3093, 0.2915, 0.2796, 0.2714, 0.2655, 0.2611, 0.2579",\
                 "0.4421, 0.4286, 0.396, 0.3636, 0.3423, 0.328, 0.3178, 0.3104, 0.3052, 0.3012",\
                 "0.5196, 0.5055, 0.4702, 0.4329, 0.4075, 0.39, 0.3773, 0.3681, 0.3613, 0.3562",\
                 "0.6119, 0.5974, 0.5599, 0.5174, 0.4869, 0.4655, 0.45, 0.4386, 0.4299, 0.4234");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1537, 0.1426, 0.126, 0.1165, 0.1114, 0.1094, 0.1087, 0.1097, 0.1096, 0.1181",\
                 "0.1535, 0.1423, 0.1257, 0.1162, 0.1113, 0.1092, 0.1084, 0.1087, 0.1092, 0.1187",\
                 "0.1539, 0.1427, 0.1264, 0.1171, 0.1123, 0.1101, 0.1093, 0.11, 0.1106, 0.1213",\
                 "0.16, 0.1489, 0.1326, 0.123, 0.1179, 0.1158, 0.115, 0.1153, 0.117, 0.1269",\
                 "0.1821, 0.17, 0.1519, 0.1399, 0.133, 0.1298, 0.1285, 0.1279, 0.1285, 0.1407",\
                 "0.2153, 0.202, 0.18, 0.1655, 0.1573, 0.1514, 0.1486, 0.1486, 0.1481, 0.1619",\
                 "0.2603, 0.2451, 0.22, 0.2015, 0.1895, 0.1843, 0.1793, 0.177, 0.1767, 0.1936",\
                 "0.3171, 0.3004, 0.2703, 0.2482, 0.2324, 0.2235, 0.2202, 0.2153, 0.2131, 0.2353",\
                 "0.3854, 0.3673, 0.3321, 0.3069, 0.2874, 0.2735, 0.2664, 0.2645, 0.2642, 0.2937",\
                 "0.4653, 0.4456, 0.4063, 0.3759, 0.3538, 0.336, 0.3258, 0.3196, 0.3234, 0.3724");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2276, 0.2169, 0.1939, 0.1751, 0.164, 0.1567, 0.1515, 0.1477, 0.145, 0.143",\
                 "0.2275, 0.2168, 0.1937, 0.1751, 0.1639, 0.1566, 0.1514, 0.1477, 0.1449, 0.1429",\
                 "0.2284, 0.2178, 0.195, 0.1766, 0.1657, 0.1585, 0.1535, 0.1499, 0.1473, 0.1453",\
                 "0.2328, 0.2221, 0.1994, 0.1812, 0.1705, 0.1637, 0.1589, 0.1555, 0.1531, 0.1513",\
                 "0.257, 0.2449, 0.2189, 0.1981, 0.1857, 0.1775, 0.1721, 0.1683, 0.1655, 0.1636",\
                 "0.2827, 0.2688, 0.24, 0.2177, 0.2043, 0.1956, 0.1899, 0.1858, 0.183, 0.181",\
                 "0.3067, 0.2926, 0.2637, 0.2413, 0.2276, 0.219, 0.2132, 0.2092, 0.2064, 0.2044",\
                 "0.3374, 0.3232, 0.2942, 0.2716, 0.2578, 0.249, 0.2431, 0.2391, 0.2363, 0.2342",\
                 "0.3752, 0.361, 0.3318, 0.3088, 0.2948, 0.2857, 0.2799, 0.2757, 0.2729, 0.2709",\
                 "0.4209, 0.4066, 0.377, 0.3536, 0.3393, 0.3301, 0.324, 0.32, 0.3171, 0.3152");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2128, 0.2015, 0.1848, 0.1748, 0.1698, 0.1673, 0.1668, 0.1668, 0.1676, 0.1764",\
                 "0.2123, 0.2009, 0.1842, 0.1743, 0.169, 0.1667, 0.1658, 0.1658, 0.1666, 0.178",\
                 "0.2144, 0.2031, 0.1865, 0.1766, 0.1711, 0.1689, 0.1681, 0.1684, 0.1699, 0.1805",\
                 "0.2217, 0.2102, 0.1937, 0.184, 0.1785, 0.1763, 0.1753, 0.1767, 0.177, 0.1901",\
                 "0.2341, 0.2228, 0.2066, 0.1968, 0.1917, 0.1896, 0.1889, 0.1892, 0.1907, 0.2035",\
                 "0.2542, 0.2428, 0.2268, 0.2175, 0.2124, 0.21, 0.209, 0.21, 0.2126, 0.2283",\
                 "0.2827, 0.2713, 0.2549, 0.2445, 0.2403, 0.2378, 0.2367, 0.2371, 0.2387, 0.2631",\
                 "0.3193, 0.3076, 0.2911, 0.2806, 0.2741, 0.2734, 0.2724, 0.2721, 0.2742, 0.3073",\
                 "0.3646, 0.3528, 0.3357, 0.3243, 0.3181, 0.3151, 0.3166, 0.3163, 0.3219, 0.375",\
                 "0.4209, 0.409, 0.3908, 0.3782, 0.3714, 0.368, 0.3681, 0.3714, 0.3826, 0.4749");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "!I0&I1&I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2818, 0.2703, 0.2445, 0.2216, 0.2078, 0.1985, 0.1921, 0.1873, 0.1839, 0.1813",\
                 "0.2812, 0.2697, 0.244, 0.2211, 0.2073, 0.198, 0.1915, 0.1868, 0.1833, 0.1807",\
                 "0.2822, 0.2707, 0.2451, 0.2223, 0.2086, 0.1995, 0.1931, 0.1884, 0.185, 0.1824",\
                 "0.2874, 0.276, 0.2506, 0.228, 0.2146, 0.2056, 0.1994, 0.1949, 0.1915, 0.1891",\
                 "0.304, 0.2921, 0.2659, 0.2428, 0.2288, 0.2197, 0.2133, 0.2087, 0.2053, 0.2028",\
                 "0.3349, 0.3226, 0.2946, 0.2695, 0.2541, 0.244, 0.237, 0.2319, 0.2282, 0.2255",\
                 "0.3806, 0.3677, 0.3376, 0.3094, 0.2915, 0.2796, 0.2714, 0.2655, 0.2611, 0.2579",\
                 "0.4421, 0.4286, 0.396, 0.3636, 0.3424, 0.328, 0.3178, 0.3105, 0.3052, 0.3012",\
                 "0.5196, 0.5055, 0.4702, 0.4329, 0.4075, 0.39, 0.3773, 0.3681, 0.3612, 0.3562",\
                 "0.612, 0.5974, 0.5599, 0.5173, 0.4868, 0.4655, 0.45, 0.4386, 0.4299, 0.4234");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1537, 0.1424, 0.1258, 0.1165, 0.1114, 0.1094, 0.1087, 0.1087, 0.1099, 0.1187",\
                 "0.1535, 0.1423, 0.1257, 0.1162, 0.1113, 0.1092, 0.1083, 0.1087, 0.1092, 0.1187",\
                 "0.1539, 0.1427, 0.1264, 0.1171, 0.1123, 0.1101, 0.1093, 0.11, 0.1106, 0.1212",\
                 "0.16, 0.1489, 0.1326, 0.123, 0.1179, 0.1158, 0.1149, 0.1153, 0.1169, 0.1269",\
                 "0.1821, 0.17, 0.1519, 0.1396, 0.133, 0.1297, 0.1281, 0.1282, 0.1285, 0.1407",\
                 "0.2152, 0.2018, 0.18, 0.1656, 0.1572, 0.1517, 0.1489, 0.1476, 0.1481, 0.1619",\
                 "0.2604, 0.2451, 0.2198, 0.2016, 0.1896, 0.184, 0.18, 0.177, 0.1764, 0.1939",\
                 "0.3171, 0.3003, 0.2703, 0.2484, 0.2323, 0.2235, 0.2205, 0.216, 0.213, 0.2363",\
                 "0.3854, 0.3673, 0.3321, 0.3069, 0.2873, 0.2739, 0.2667, 0.2645, 0.2641, 0.2938",\
                 "0.4653, 0.4455, 0.4061, 0.3758, 0.3536, 0.3363, 0.3258, 0.3209, 0.3248, 0.3704");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2277, 0.217, 0.1939, 0.1752, 0.1641, 0.1567, 0.1515, 0.1477, 0.145, 0.1431",\
                 "0.2277, 0.217, 0.1939, 0.1752, 0.164, 0.1566, 0.1515, 0.1477, 0.145, 0.143",\
                 "0.2286, 0.218, 0.1951, 0.1767, 0.1658, 0.1586, 0.1535, 0.1499, 0.1473, 0.1453",\
                 "0.2328, 0.2222, 0.1994, 0.1812, 0.1706, 0.1637, 0.159, 0.1556, 0.1532, 0.1514",\
                 "0.2571, 0.245, 0.2191, 0.1982, 0.1857, 0.1775, 0.1721, 0.1683, 0.1656, 0.1636",\
                 "0.2829, 0.2689, 0.24, 0.2178, 0.2043, 0.1956, 0.1899, 0.1859, 0.1831, 0.181",\
                 "0.3067, 0.2926, 0.2638, 0.2413, 0.2276, 0.219, 0.2132, 0.2092, 0.2064, 0.2044",\
                 "0.3374, 0.3232, 0.2943, 0.2716, 0.2577, 0.2491, 0.2432, 0.2391, 0.2363, 0.2343",\
                 "0.3753, 0.361, 0.3317, 0.3088, 0.2949, 0.2857, 0.2797, 0.2757, 0.2729, 0.2709",\
                 "0.421, 0.4066, 0.377, 0.3537, 0.3391, 0.33, 0.3239, 0.32, 0.3172, 0.3153");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2127, 0.2016, 0.1848, 0.1748, 0.1693, 0.1672, 0.1664, 0.1668, 0.1676, 0.1771",\
                 "0.2122, 0.2009, 0.1844, 0.1742, 0.1689, 0.1667, 0.1658, 0.1661, 0.167, 0.178",\
                 "0.2144, 0.2034, 0.1864, 0.1766, 0.1715, 0.1689, 0.1681, 0.1684, 0.1696, 0.1805",\
                 "0.2216, 0.2102, 0.1938, 0.1839, 0.1788, 0.1765, 0.1753, 0.1767, 0.177, 0.1891",\
                 "0.234, 0.2228, 0.2065, 0.1968, 0.192, 0.1896, 0.1889, 0.1896, 0.191, 0.2038",\
                 "0.2542, 0.2427, 0.2269, 0.2172, 0.2122, 0.2099, 0.209, 0.21, 0.2116, 0.2283",\
                 "0.2826, 0.2713, 0.2548, 0.2449, 0.2405, 0.2376, 0.2367, 0.2371, 0.2387, 0.2631",\
                 "0.3192, 0.3076, 0.2908, 0.28, 0.2742, 0.2735, 0.2724, 0.2724, 0.2742, 0.3073",\
                 "0.3646, 0.3531, 0.3355, 0.3242, 0.3177, 0.3149, 0.3162, 0.3163, 0.3222, 0.3725",\
                 "0.421, 0.409, 0.3904, 0.3783, 0.3715, 0.3683, 0.3674, 0.3717, 0.3826, 0.4739");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2277, 0.217, 0.1939, 0.1752, 0.1641, 0.1567, 0.1515, 0.1477, 0.145, 0.1431",\
                 "0.2277, 0.217, 0.1939, 0.1752, 0.164, 0.1566, 0.1515, 0.1477, 0.145, 0.143",\
                 "0.2286, 0.218, 0.1951, 0.1766, 0.1658, 0.1586, 0.1535, 0.1499, 0.1473, 0.1454",\
                 "0.2328, 0.2222, 0.1994, 0.1813, 0.1707, 0.1637, 0.159, 0.1556, 0.1532, 0.1514",\
                 "0.2571, 0.245, 0.2191, 0.1982, 0.1857, 0.1775, 0.1721, 0.1683, 0.1656, 0.1636",\
                 "0.2829, 0.2689, 0.24, 0.2177, 0.2043, 0.1956, 0.1898, 0.1859, 0.1831, 0.1811",\
                 "0.3067, 0.2926, 0.2639, 0.2413, 0.2276, 0.219, 0.2132, 0.2092, 0.2064, 0.2044",\
                 "0.3374, 0.3232, 0.2943, 0.2716, 0.2577, 0.2491, 0.2432, 0.2391, 0.2363, 0.2343",\
                 "0.3753, 0.361, 0.3318, 0.3088, 0.2949, 0.2857, 0.2797, 0.2757, 0.2729, 0.2709",\
                 "0.421, 0.4066, 0.377, 0.3537, 0.3391, 0.33, 0.324, 0.32, 0.3172, 0.3152");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2127, 0.2016, 0.1848, 0.1748, 0.1693, 0.1672, 0.1664, 0.1668, 0.1676, 0.1771",\
                 "0.2123, 0.2009, 0.1844, 0.1742, 0.1689, 0.1667, 0.1658, 0.1661, 0.167, 0.178",\
                 "0.2144, 0.2034, 0.1864, 0.1766, 0.1715, 0.1689, 0.1681, 0.1684, 0.1696, 0.1805",\
                 "0.2216, 0.2102, 0.1938, 0.1839, 0.1788, 0.1766, 0.1753, 0.1757, 0.177, 0.1878",\
                 "0.234, 0.223, 0.2065, 0.1968, 0.1918, 0.1896, 0.1889, 0.1896, 0.191, 0.2038",\
                 "0.2542, 0.2427, 0.2269, 0.2175, 0.2122, 0.21, 0.209, 0.21, 0.2116, 0.2283",\
                 "0.2826, 0.2713, 0.2548, 0.2449, 0.2404, 0.2376, 0.2364, 0.2367, 0.2387, 0.2631",\
                 "0.3193, 0.3077, 0.2908, 0.2807, 0.2742, 0.2735, 0.2724, 0.2721, 0.2742, 0.3073",\
                 "0.3646, 0.3531, 0.3355, 0.3242, 0.3178, 0.3152, 0.3162, 0.3166, 0.3209, 0.3727",\
                 "0.4208, 0.4088, 0.3906, 0.3782, 0.3714, 0.3683, 0.3684, 0.3714, 0.3816, 0.4746");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&!I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2819, 0.2703, 0.2446, 0.2217, 0.2078, 0.1985, 0.192, 0.1873, 0.1838, 0.1812",\
                 "0.2813, 0.2697, 0.244, 0.2211, 0.2073, 0.198, 0.1915, 0.1868, 0.1833, 0.1807",\
                 "0.2823, 0.2708, 0.2451, 0.2224, 0.2086, 0.1995, 0.1931, 0.1884, 0.1849, 0.1824",\
                 "0.2876, 0.276, 0.2506, 0.2281, 0.2146, 0.2057, 0.1994, 0.1948, 0.1915, 0.189",\
                 "0.304, 0.2923, 0.266, 0.2428, 0.2288, 0.2197, 0.2133, 0.2087, 0.2053, 0.2028",\
                 "0.335, 0.3226, 0.2946, 0.2695, 0.254, 0.2439, 0.2369, 0.2319, 0.2282, 0.2255",\
                 "0.3806, 0.3676, 0.3375, 0.3093, 0.2915, 0.2796, 0.2713, 0.2654, 0.2611, 0.2579",\
                 "0.4421, 0.4286, 0.3959, 0.3635, 0.3424, 0.328, 0.3177, 0.3104, 0.3051, 0.3011",\
                 "0.5195, 0.5055, 0.4701, 0.4329, 0.4075, 0.3898, 0.3772, 0.368, 0.3612, 0.3561",\
                 "0.6118, 0.5973, 0.5597, 0.5172, 0.4867, 0.4654, 0.4499, 0.4383, 0.4298, 0.4233");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1538, 0.1427, 0.1261, 0.1165, 0.1114, 0.1094, 0.1087, 0.1094, 0.1096, 0.1181",\
                 "0.1536, 0.1424, 0.1257, 0.1163, 0.1113, 0.1092, 0.1083, 0.1087, 0.1092, 0.1187",\
                 "0.154, 0.1428, 0.1265, 0.1172, 0.1122, 0.1103, 0.1093, 0.11, 0.1106, 0.1212",\
                 "0.1601, 0.1491, 0.1326, 0.1231, 0.1178, 0.1159, 0.1149, 0.1156, 0.1175, 0.1269",\
                 "0.1821, 0.17, 0.152, 0.1399, 0.1331, 0.1296, 0.1285, 0.1278, 0.1285, 0.1401",\
                 "0.2154, 0.202, 0.1801, 0.1657, 0.1571, 0.1511, 0.1486, 0.1476, 0.1478, 0.1626",\
                 "0.2604, 0.2451, 0.2198, 0.2007, 0.1894, 0.1835, 0.1793, 0.177, 0.1764, 0.1936",\
                 "0.3171, 0.3003, 0.2705, 0.2479, 0.2323, 0.2233, 0.2196, 0.215, 0.214, 0.2356",\
                 "0.3855, 0.367, 0.3324, 0.307, 0.2872, 0.2728, 0.2667, 0.2641, 0.2641, 0.2937",\
                 "0.4654, 0.4459, 0.4063, 0.3758, 0.3531, 0.337, 0.3252, 0.3206, 0.3259, 0.3714");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&!I1&I2&I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2819, 0.2703, 0.2446, 0.2217, 0.2078, 0.1985, 0.192, 0.1873, 0.1838, 0.1812",\
                 "0.2813, 0.2697, 0.244, 0.2211, 0.2073, 0.198, 0.1915, 0.1868, 0.1833, 0.1807",\
                 "0.2823, 0.2708, 0.2451, 0.2224, 0.2086, 0.1995, 0.1931, 0.1884, 0.1849, 0.1824",\
                 "0.2876, 0.2761, 0.2506, 0.2281, 0.2146, 0.2057, 0.1994, 0.1948, 0.1915, 0.189",\
                 "0.3041, 0.2922, 0.266, 0.2428, 0.2288, 0.2197, 0.2133, 0.2087, 0.2053, 0.2028",\
                 "0.335, 0.3225, 0.2946, 0.2695, 0.2541, 0.2439, 0.2369, 0.2319, 0.2282, 0.2255",\
                 "0.3806, 0.3676, 0.3375, 0.3093, 0.2915, 0.2796, 0.2715, 0.2655, 0.2612, 0.258",\
                 "0.442, 0.4286, 0.3959, 0.3635, 0.3424, 0.328, 0.3177, 0.3105, 0.3051, 0.3012",\
                 "0.5195, 0.5055, 0.4701, 0.4328, 0.4075, 0.3898, 0.3772, 0.368, 0.3612, 0.3561",\
                 "0.6118, 0.5973, 0.5596, 0.5172, 0.4868, 0.4655, 0.4499, 0.4383, 0.4297, 0.4233");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1538, 0.1427, 0.1261, 0.1165, 0.1114, 0.1094, 0.1087, 0.1094, 0.1096, 0.1197",\
                 "0.1536, 0.1424, 0.1257, 0.1163, 0.1113, 0.1092, 0.1083, 0.1087, 0.1092, 0.1187",\
                 "0.154, 0.1428, 0.1265, 0.1172, 0.1122, 0.1103, 0.1093, 0.11, 0.1106, 0.1212",\
                 "0.1601, 0.1491, 0.1326, 0.1229, 0.1178, 0.1159, 0.1149, 0.1156, 0.1175, 0.1269",\
                 "0.182, 0.17, 0.152, 0.1397, 0.1331, 0.1296, 0.1281, 0.1285, 0.1285, 0.1401",\
                 "0.2154, 0.202, 0.1801, 0.1658, 0.1572, 0.1515, 0.1489, 0.1483, 0.1484, 0.1626",\
                 "0.2604, 0.2451, 0.2198, 0.2007, 0.1894, 0.1835, 0.1793, 0.177, 0.1764, 0.1946",\
                 "0.3171, 0.3004, 0.2705, 0.2482, 0.2323, 0.2233, 0.2196, 0.215, 0.213, 0.2356",\
                 "0.3855, 0.367, 0.3324, 0.307, 0.2872, 0.2728, 0.2667, 0.2641, 0.2625, 0.2947",\
                 "0.4654, 0.4459, 0.4063, 0.3758, 0.3531, 0.337, 0.3248, 0.3206, 0.3259, 0.3724");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&!I2&!I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2277, 0.217, 0.194, 0.1753, 0.1641, 0.1567, 0.1515, 0.1478, 0.1451, 0.143",\
                 "0.2277, 0.217, 0.1939, 0.1752, 0.1641, 0.1566, 0.1515, 0.1477, 0.145, 0.143",\
                 "0.2286, 0.2179, 0.1951, 0.1767, 0.1658, 0.1586, 0.1535, 0.1499, 0.1473, 0.1454",\
                 "0.2328, 0.2221, 0.1994, 0.1812, 0.1706, 0.1637, 0.159, 0.1556, 0.1532, 0.1514",\
                 "0.2571, 0.245, 0.2191, 0.1982, 0.1857, 0.1775, 0.1721, 0.1683, 0.1656, 0.1636",\
                 "0.2829, 0.2689, 0.24, 0.2176, 0.2043, 0.1957, 0.1899, 0.1859, 0.1831, 0.1811",\
                 "0.3067, 0.2926, 0.2639, 0.2413, 0.2276, 0.219, 0.2132, 0.2092, 0.2064, 0.2044",\
                 "0.3374, 0.3232, 0.2943, 0.2716, 0.258, 0.2491, 0.2432, 0.2391, 0.2363, 0.2343",\
                 "0.3753, 0.361, 0.3317, 0.3088, 0.2949, 0.2857, 0.2798, 0.2757, 0.2729, 0.2709",\
                 "0.421, 0.4066, 0.377, 0.3537, 0.3391, 0.33, 0.3239, 0.32, 0.3172, 0.3153");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2127, 0.2016, 0.1848, 0.1749, 0.1696, 0.1672, 0.1668, 0.1668, 0.1676, 0.1764",\
                 "0.2123, 0.2009, 0.1844, 0.1742, 0.1689, 0.1667, 0.1658, 0.1661, 0.167, 0.178",\
                 "0.2144, 0.2034, 0.1864, 0.1766, 0.1715, 0.1689, 0.1681, 0.1684, 0.1696, 0.1805",\
                 "0.2216, 0.2103, 0.1935, 0.1839, 0.1785, 0.1765, 0.1757, 0.1754, 0.177, 0.1881",\
                 "0.234, 0.2229, 0.2065, 0.1968, 0.1921, 0.1896, 0.1889, 0.1896, 0.191, 0.2038",\
                 "0.2542, 0.2427, 0.2269, 0.2173, 0.2122, 0.2099, 0.209, 0.2094, 0.2116, 0.2283",\
                 "0.2826, 0.2713, 0.2548, 0.2449, 0.2402, 0.2376, 0.2364, 0.2367, 0.2387, 0.2631",\
                 "0.3193, 0.3077, 0.2908, 0.2807, 0.2742, 0.2735, 0.2724, 0.2724, 0.2742, 0.3073",\
                 "0.3646, 0.3531, 0.3355, 0.3249, 0.3179, 0.3146, 0.3162, 0.3166, 0.3209, 0.3722",\
                 "0.4208, 0.4088, 0.3906, 0.3782, 0.3714, 0.368, 0.3684, 0.3714, 0.3819, 0.4739");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&!I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2276, 0.2169, 0.1938, 0.1752, 0.164, 0.1566, 0.1514, 0.1477, 0.145, 0.143",\
                 "0.2275, 0.2168, 0.1937, 0.1751, 0.1639, 0.1566, 0.1514, 0.1477, 0.1449, 0.1429",\
                 "0.2284, 0.2178, 0.195, 0.1766, 0.1657, 0.1585, 0.1535, 0.1499, 0.1473, 0.1453",\
                 "0.2328, 0.2221, 0.1994, 0.1812, 0.1706, 0.1637, 0.1589, 0.1555, 0.1531, 0.1513",\
                 "0.257, 0.2449, 0.2189, 0.1981, 0.1857, 0.1775, 0.1721, 0.1683, 0.1656, 0.1636",\
                 "0.2828, 0.2688, 0.24, 0.2177, 0.2044, 0.1956, 0.1899, 0.1858, 0.183, 0.181",\
                 "0.3066, 0.2926, 0.2637, 0.2413, 0.2276, 0.219, 0.2132, 0.2092, 0.2064, 0.2044",\
                 "0.3374, 0.3232, 0.2942, 0.2716, 0.2578, 0.249, 0.2431, 0.2391, 0.2363, 0.2342",\
                 "0.3753, 0.361, 0.3318, 0.3087, 0.2947, 0.2858, 0.2799, 0.2757, 0.2729, 0.2709",\
                 "0.4209, 0.4066, 0.377, 0.3536, 0.3391, 0.33, 0.324, 0.3201, 0.3171, 0.3152");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2128, 0.2015, 0.1847, 0.175, 0.1698, 0.1672, 0.1668, 0.1678, 0.1676, 0.1764",\
                 "0.2123, 0.2009, 0.1842, 0.1743, 0.1689, 0.1667, 0.1658, 0.1658, 0.1666, 0.178",\
                 "0.2144, 0.2031, 0.1865, 0.1766, 0.1711, 0.1689, 0.1681, 0.1684, 0.1699, 0.1805",\
                 "0.2217, 0.2102, 0.1938, 0.184, 0.1784, 0.1765, 0.1753, 0.176, 0.177, 0.1888",\
                 "0.2341, 0.2228, 0.2066, 0.1969, 0.1917, 0.1896, 0.1889, 0.1892, 0.191, 0.2035",\
                 "0.2541, 0.2428, 0.2268, 0.2175, 0.2124, 0.21, 0.209, 0.21, 0.2126, 0.2283",\
                 "0.2827, 0.2713, 0.2549, 0.2445, 0.2404, 0.2378, 0.2367, 0.2371, 0.2387, 0.2631",\
                 "0.3193, 0.3077, 0.2908, 0.2806, 0.2741, 0.2734, 0.2724, 0.2721, 0.2756, 0.3073",\
                 "0.3646, 0.3528, 0.3355, 0.3243, 0.3181, 0.3152, 0.3166, 0.3166, 0.3206, 0.3731",\
                 "0.4209, 0.409, 0.3908, 0.3782, 0.3714, 0.3679, 0.3681, 0.3714, 0.3826, 0.4749");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&!I2&I3&!S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2277, 0.2171, 0.194, 0.1752, 0.1641, 0.1567, 0.1515, 0.1478, 0.1451, 0.143",\
                 "0.2277, 0.217, 0.1939, 0.1752, 0.1641, 0.1566, 0.1515, 0.1477, 0.145, 0.143",\
                 "0.2286, 0.218, 0.1951, 0.1767, 0.1658, 0.1586, 0.1535, 0.1499, 0.1473, 0.1454",\
                 "0.2328, 0.2222, 0.1994, 0.1812, 0.1706, 0.1637, 0.159, 0.1557, 0.1532, 0.1514",\
                 "0.2571, 0.245, 0.219, 0.1982, 0.1857, 0.1775, 0.1721, 0.1683, 0.1656, 0.1636",\
                 "0.2829, 0.2689, 0.24, 0.2176, 0.2043, 0.1957, 0.1899, 0.1859, 0.1831, 0.1811",\
                 "0.3067, 0.2926, 0.2639, 0.2413, 0.2276, 0.219, 0.2132, 0.2092, 0.2064, 0.2044",\
                 "0.3374, 0.3232, 0.2943, 0.2716, 0.258, 0.2491, 0.2431, 0.2391, 0.2363, 0.2342",\
                 "0.3752, 0.361, 0.3318, 0.3088, 0.2949, 0.2857, 0.2798, 0.2757, 0.2729, 0.2709",\
                 "0.421, 0.4066, 0.377, 0.3537, 0.3392, 0.3301, 0.3239, 0.3201, 0.3173, 0.3153");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2127, 0.2016, 0.1848, 0.1749, 0.1696, 0.1672, 0.1668, 0.1668, 0.1676, 0.1764",\
                 "0.2123, 0.2009, 0.1844, 0.1742, 0.1689, 0.1667, 0.1658, 0.1661, 0.167, 0.178",\
                 "0.2144, 0.2034, 0.1864, 0.1766, 0.1715, 0.1689, 0.1681, 0.1684, 0.1696, 0.1805",\
                 "0.2216, 0.2103, 0.1938, 0.1839, 0.1787, 0.1766, 0.1753, 0.1757, 0.177, 0.1881",\
                 "0.234, 0.2227, 0.2065, 0.1968, 0.1921, 0.1896, 0.1889, 0.1896, 0.191, 0.2038",\
                 "0.2542, 0.2427, 0.2269, 0.2175, 0.2122, 0.21, 0.209, 0.2103, 0.2116, 0.228",\
                 "0.2826, 0.2713, 0.2548, 0.2449, 0.2404, 0.2376, 0.2364, 0.2367, 0.2387, 0.2631",\
                 "0.3193, 0.3077, 0.2908, 0.2807, 0.2742, 0.2735, 0.2724, 0.2721, 0.2743, 0.3073",\
                 "0.3646, 0.3531, 0.3356, 0.3241, 0.3177, 0.3157, 0.3159, 0.3166, 0.3209, 0.3722",\
                 "0.4208, 0.4088, 0.3906, 0.3782, 0.3714, 0.368, 0.3677, 0.3714, 0.3829, 0.4746");
        }
      }

      internal_power() {
        related_pin : "S1" ;
        when : "I0&I1&I2&!I3&S0" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2276, 0.2169, 0.1939, 0.1752, 0.164, 0.1566, 0.1515, 0.1477, 0.145, 0.143",\
                 "0.2275, 0.2168, 0.1937, 0.1751, 0.1639, 0.1566, 0.1514, 0.1477, 0.1449, 0.1429",\
                 "0.2284, 0.2178, 0.195, 0.1766, 0.1657, 0.1585, 0.1535, 0.1499, 0.1473, 0.1453",\
                 "0.2328, 0.2221, 0.1994, 0.1812, 0.1706, 0.1637, 0.1589, 0.1555, 0.1531, 0.1513",\
                 "0.257, 0.2449, 0.219, 0.1982, 0.1857, 0.1775, 0.172, 0.1682, 0.1656, 0.1636",\
                 "0.2828, 0.2688, 0.24, 0.2177, 0.2044, 0.1955, 0.1899, 0.1857, 0.1829, 0.181",\
                 "0.3066, 0.2926, 0.2637, 0.2413, 0.2276, 0.219, 0.2132, 0.2092, 0.2064, 0.2044",\
                 "0.3374, 0.3232, 0.2942, 0.2716, 0.2578, 0.249, 0.2431, 0.2391, 0.2362, 0.2342",\
                 "0.3752, 0.361, 0.3318, 0.3087, 0.2947, 0.2858, 0.2798, 0.2758, 0.2729, 0.2709",\
                 "0.4209, 0.4066, 0.377, 0.3536, 0.3391, 0.3301, 0.3239, 0.32, 0.3172, 0.3152");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2128, 0.2015, 0.1848, 0.1748, 0.1695, 0.1672, 0.1668, 0.1674, 0.1676, 0.1777",\
                 "0.2123, 0.2009, 0.1842, 0.1743, 0.169, 0.1667, 0.1658, 0.1658, 0.1666, 0.178",\
                 "0.2144, 0.2031, 0.1865, 0.1766, 0.1711, 0.1689, 0.1681, 0.1684, 0.1699, 0.1805",\
                 "0.2216, 0.2102, 0.1938, 0.184, 0.1785, 0.1763, 0.1753, 0.1757, 0.1767, 0.1904",\
                 "0.2341, 0.2228, 0.2066, 0.1968, 0.1917, 0.1897, 0.1889, 0.1892, 0.1907, 0.2035",\
                 "0.2541, 0.2428, 0.2268, 0.2175, 0.2124, 0.21, 0.209, 0.21, 0.2126, 0.2283",\
                 "0.2827, 0.2711, 0.2549, 0.2445, 0.2403, 0.2378, 0.2367, 0.2367, 0.2387, 0.2631",\
                 "0.3193, 0.3077, 0.2908, 0.2806, 0.2741, 0.2734, 0.2724, 0.2721, 0.2756, 0.3073",\
                 "0.3646, 0.3528, 0.3354, 0.3243, 0.3181, 0.3149, 0.3166, 0.3166, 0.3219, 0.3735",\
                 "0.4209, 0.409, 0.3908, 0.3782, 0.3714, 0.368, 0.3681, 0.3714, 0.3826, 0.4749");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9162, 0.9996, 1.212, 1.505, 1.859, 2.276, 2.764, 3.339, 4.018, 4.814",\
                 "0.9333, 1.017, 1.229, 1.522, 1.876, 2.293, 2.781, 3.356, 4.035, 4.831",\
                 "1.002, 1.086, 1.298, 1.591, 1.945, 2.362, 2.849, 3.425, 4.103, 4.9",\
                 "1.138, 1.221, 1.433, 1.726, 2.081, 2.497, 2.985, 3.56, 4.239, 5.035",\
                 "1.342, 1.425, 1.637, 1.93, 2.283, 2.7, 3.188, 3.763, 4.442, 5.238",\
                 "1.598, 1.683, 1.896, 2.189, 2.545, 2.961, 3.45, 4.025, 4.703, 5.5",\
                 "1.896, 1.983, 2.2, 2.499, 2.858, 3.277, 3.767, 4.343, 5.021, 5.817",\
                 "2.24, 2.329, 2.551, 2.855, 3.22, 3.645, 4.137, 4.715, 5.393, 6.189",\
                 "2.63, 2.722, 2.95, 3.262, 3.634, 4.064, 4.561, 5.141, 5.822, 6.617",\
                 "3.062, 3.158, 3.395, 3.716, 4.098, 4.536, 5.039, 5.624, 6.306, 7.101");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8061, 0.8704, 1.04, 1.306, 1.674, 2.166, 2.808, 3.615, 4.6, 5.777",\
                 "0.8192, 0.8834, 1.053, 1.319, 1.687, 2.179, 2.821, 3.627, 4.613, 5.79",\
                 "0.8627, 0.927, 1.097, 1.362, 1.73, 2.223, 2.864, 3.671, 4.656, 5.833",\
                 "0.9293, 0.9939, 1.163, 1.429, 1.796, 2.289, 2.931, 3.738, 4.722, 5.898",\
                 "1.011, 1.076, 1.246, 1.51, 1.878, 2.37, 3.011, 3.818, 4.804, 5.976",\
                 "1.083, 1.15, 1.323, 1.591, 1.96, 2.452, 3.092, 3.898, 4.884, 6.059",\
                 "1.138, 1.207, 1.384, 1.654, 2.025, 2.518, 3.158, 3.963, 4.948, 6.125",\
                 "1.169, 1.241, 1.422, 1.696, 2.07, 2.564, 3.203, 4.008, 4.991, 6.166",\
                 "1.17, 1.244, 1.432, 1.71, 2.089, 2.584, 3.223, 4.026, 5.009, 6.18",\
                 "1.133, 1.211, 1.406, 1.691, 2.075, 2.574, 3.214, 4.017, 4.998, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3106, 0.3997, 0.6162, 0.908, 1.285, 1.779, 2.431, 3.273, 4.33, 5.627",\
                 "0.3102, 0.3995, 0.617, 0.9078, 1.284, 1.78, 2.432, 3.274, 4.33, 5.629",\
                 "0.3106, 0.3988, 0.6168, 0.908, 1.284, 1.78, 2.43, 3.273, 4.33, 5.63",\
                 "0.3108, 0.3992, 0.6164, 0.9088, 1.286, 1.781, 2.431, 3.273, 4.331, 5.622",\
                 "0.3112, 0.4012, 0.6196, 0.9112, 1.288, 1.782, 2.431, 3.275, 4.333, 5.629",\
                 "0.3248, 0.415, 0.6328, 0.923, 1.297, 1.788, 2.435, 3.277, 4.336, 5.627",\
                 "0.3446, 0.4346, 0.6566, 0.9482, 1.316, 1.804, 2.447, 3.283, 4.339, 5.632",\
                 "0.3662, 0.459, 0.6834, 0.9796, 1.349, 1.83, 2.465, 3.293, 4.342, 5.635",\
                 "0.3974, 0.4892, 0.7186, 1.02, 1.386, 1.863, 2.492, 3.311, 4.354, 5.637",\
                 "0.43, 0.5288, 0.763, 1.069, 1.437, 1.908, 2.527, 3.339, 4.374, 5.646");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1965, 0.2663, 0.4732, 0.8444, 1.414, 2.244, 3.359, 4.784, 6.528, 8.602",\
                 "0.1964, 0.2665, 0.4747, 0.844, 1.415, 2.244, 3.36, 4.787, 6.527, 8.602",\
                 "0.1968, 0.2662, 0.4744, 0.844, 1.414, 2.244, 3.359, 4.787, 6.524, 8.604",\
                 "0.1972, 0.2662, 0.4744, 0.8442, 1.416, 2.245, 3.363, 4.783, 6.533, 8.611",\
                 "0.2012, 0.2698, 0.4768, 0.8484, 1.415, 2.245, 3.363, 4.788, 6.537, 8.6",\
                 "0.2118, 0.2824, 0.4884, 0.8566, 1.422, 2.247, 3.364, 4.789, 6.526, 8.611",\
                 "0.2234, 0.2956, 0.5026, 0.871, 1.434, 2.251, 3.362, 4.79, 6.525, 8.603",\
                 "0.2398, 0.3128, 0.5208, 0.89, 1.447, 2.26, 3.367, 4.786, 6.531, 8.604",\
                 "0.2608, 0.3356, 0.544, 0.9114, 1.468, 2.271, 3.372, 4.787, 6.526, 8.609",\
                 "0.2854, 0.3628, 0.572, 0.9416, 1.496, 2.293, 3.383, 4.799, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9162, 0.9996, 1.212, 1.505, 1.859, 2.276, 2.764, 3.339, 4.018, 4.814",\
                 "0.9334, 1.017, 1.229, 1.522, 1.876, 2.293, 2.781, 3.356, 4.035, 4.831",\
                 "1.002, 1.086, 1.298, 1.591, 1.945, 2.361, 2.85, 3.425, 4.103, 4.9",\
                 "1.138, 1.221, 1.433, 1.726, 2.081, 2.497, 2.985, 3.56, 4.239, 5.035",\
                 "1.342, 1.425, 1.637, 1.93, 2.283, 2.7, 3.187, 3.763, 4.441, 5.238",\
                 "1.598, 1.682, 1.896, 2.19, 2.545, 2.961, 3.45, 4.025, 4.703, 5.499",\
                 "1.896, 1.983, 2.2, 2.499, 2.858, 3.277, 3.767, 4.343, 5.021, 5.817",\
                 "2.241, 2.329, 2.551, 2.856, 3.221, 3.644, 4.138, 4.715, 5.394, 6.19",\
                 "2.63, 2.722, 2.95, 3.262, 3.634, 4.064, 4.561, 5.141, 5.822, 6.617",\
                 "3.063, 3.158, 3.395, 3.717, 4.098, 4.536, 5.04, 5.624, 6.306, 7.102");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8061, 0.8705, 1.04, 1.306, 1.674, 2.166, 2.808, 3.614, 4.6, 5.778",\
                 "0.8192, 0.8834, 1.053, 1.319, 1.687, 2.179, 2.821, 3.627, 4.613, 5.79",\
                 "0.8627, 0.927, 1.097, 1.362, 1.73, 2.223, 2.864, 3.671, 4.656, 5.833",\
                 "0.9293, 0.9939, 1.163, 1.429, 1.796, 2.289, 2.931, 3.738, 4.722, 5.898",\
                 "1.011, 1.076, 1.246, 1.51, 1.878, 2.37, 3.011, 3.818, 4.804, 5.976",\
                 "1.083, 1.15, 1.323, 1.591, 1.96, 2.452, 3.092, 3.898, 4.884, 6.059",\
                 "1.138, 1.207, 1.384, 1.654, 2.025, 2.518, 3.158, 3.963, 4.948, 6.125",\
                 "1.169, 1.241, 1.422, 1.696, 2.07, 2.564, 3.203, 4.008, 4.99, 6.166",\
                 "1.169, 1.244, 1.432, 1.711, 2.089, 2.584, 3.223, 4.027, 5.009, 6.18",\
                 "1.133, 1.212, 1.406, 1.691, 2.075, 2.574, 3.214, 4.017, 4.998, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3106, 0.3997, 0.6164, 0.9084, 1.285, 1.779, 2.431, 3.273, 4.33, 5.627",\
                 "0.3107, 0.3998, 0.617, 0.908, 1.284, 1.78, 2.432, 3.274, 4.332, 5.629",\
                 "0.3106, 0.3986, 0.617, 0.9082, 1.284, 1.781, 2.43, 3.274, 4.332, 5.63",\
                 "0.311, 0.399, 0.6174, 0.9092, 1.285, 1.781, 2.431, 3.273, 4.329, 5.623",\
                 "0.3108, 0.401, 0.6196, 0.911, 1.288, 1.781, 2.431, 3.275, 4.332, 5.63",\
                 "0.325, 0.4156, 0.6328, 0.9228, 1.297, 1.787, 2.435, 3.275, 4.331, 5.626",\
                 "0.3446, 0.4346, 0.657, 0.9478, 1.316, 1.804, 2.447, 3.283, 4.337, 5.632",\
                 "0.365, 0.4578, 0.6836, 0.9804, 1.349, 1.83, 2.465, 3.295, 4.346, 5.628",\
                 "0.3968, 0.49, 0.7186, 1.02, 1.386, 1.863, 2.491, 3.312, 4.354, 5.64",\
                 "0.4302, 0.5288, 0.763, 1.068, 1.437, 1.909, 2.526, 3.341, 4.372, 5.648");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1964, 0.266, 0.4755, 0.8442, 1.416, 2.244, 3.36, 4.785, 6.529, 8.602",\
                 "0.1964, 0.2665, 0.4747, 0.8442, 1.417, 2.244, 3.36, 4.787, 6.527, 8.602",\
                 "0.1968, 0.2662, 0.4744, 0.844, 1.414, 2.244, 3.359, 4.787, 6.524, 8.604",\
                 "0.1972, 0.2662, 0.4744, 0.8442, 1.416, 2.245, 3.363, 4.783, 6.533, 8.611",\
                 "0.2008, 0.2696, 0.4774, 0.8462, 1.414, 2.245, 3.363, 4.788, 6.537, 8.6",\
                 "0.2118, 0.2824, 0.4884, 0.8566, 1.422, 2.247, 3.364, 4.789, 6.526, 8.611",\
                 "0.2234, 0.2956, 0.5026, 0.871, 1.434, 2.251, 3.362, 4.79, 6.525, 8.603",\
                 "0.2398, 0.3128, 0.5208, 0.8888, 1.448, 2.26, 3.367, 4.786, 6.532, 8.604",\
                 "0.2602, 0.336, 0.544, 0.9132, 1.47, 2.272, 3.372, 4.785, 6.528, 8.609",\
                 "0.285, 0.3628, 0.572, 0.9416, 1.496, 2.293, 3.383, 4.799, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9162, 0.9996, 1.212, 1.505, 1.859, 2.276, 2.764, 3.339, 4.018, 4.814",\
                 "0.9334, 1.017, 1.229, 1.522, 1.876, 2.293, 2.781, 3.356, 4.035, 4.831",\
                 "1.002, 1.086, 1.298, 1.591, 1.945, 2.362, 2.85, 3.425, 4.103, 4.9",\
                 "1.138, 1.221, 1.433, 1.727, 2.08, 2.497, 2.985, 3.56, 4.239, 5.035",\
                 "1.342, 1.425, 1.637, 1.929, 2.283, 2.7, 3.187, 3.763, 4.441, 5.238",\
                 "1.598, 1.683, 1.895, 2.189, 2.544, 2.961, 3.449, 4.025, 4.703, 5.499",\
                 "1.896, 1.983, 2.2, 2.499, 2.858, 3.277, 3.767, 4.343, 5.021, 5.817",\
                 "2.241, 2.329, 2.551, 2.856, 3.22, 3.645, 4.138, 4.715, 5.394, 6.19",\
                 "2.631, 2.722, 2.95, 3.262, 3.634, 4.064, 4.561, 5.142, 5.821, 6.617",\
                 "3.062, 3.158, 3.394, 3.716, 4.099, 4.537, 5.04, 5.623, 6.306, 7.103");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8061, 0.8704, 1.04, 1.305, 1.674, 2.166, 2.808, 3.615, 4.6, 5.778",\
                 "0.8191, 0.8834, 1.053, 1.319, 1.687, 2.179, 2.821, 3.627, 4.613, 5.788",\
                 "0.8627, 0.927, 1.097, 1.362, 1.73, 2.223, 2.864, 3.671, 4.657, 5.834",\
                 "0.9293, 0.9939, 1.163, 1.429, 1.796, 2.289, 2.931, 3.737, 4.723, 5.898",\
                 "1.011, 1.076, 1.246, 1.51, 1.878, 2.37, 3.011, 3.818, 4.801, 5.979",\
                 "1.083, 1.15, 1.323, 1.591, 1.96, 2.452, 3.092, 3.898, 4.884, 6.06",\
                 "1.138, 1.207, 1.384, 1.654, 2.025, 2.518, 3.158, 3.963, 4.948, 6.125",\
                 "1.169, 1.24, 1.422, 1.696, 2.07, 2.564, 3.203, 4.007, 4.991, 6.166",\
                 "1.169, 1.244, 1.432, 1.71, 2.089, 2.584, 3.223, 4.027, 5.008, 6.18",\
                 "1.133, 1.211, 1.406, 1.691, 2.075, 2.574, 3.214, 4.016, 4.998, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3107, 0.3997, 0.6164, 0.908, 1.285, 1.779, 2.432, 3.272, 4.33, 5.623",\
                 "0.3107, 0.3987, 0.617, 0.908, 1.284, 1.78, 2.431, 3.274, 4.33, 5.629",\
                 "0.3108, 0.3988, 0.6168, 0.9078, 1.284, 1.78, 2.432, 3.274, 4.33, 5.63",\
                 "0.3106, 0.3992, 0.6166, 0.9084, 1.285, 1.78, 2.431, 3.273, 4.33, 5.627",\
                 "0.3108, 0.4014, 0.6194, 0.9124, 1.289, 1.781, 2.431, 3.275, 4.333, 5.63",\
                 "0.3256, 0.415, 0.6324, 0.923, 1.297, 1.788, 2.435, 3.277, 4.33, 5.624",\
                 "0.3446, 0.4346, 0.6566, 0.9478, 1.316, 1.804, 2.447, 3.285, 4.339, 5.631",\
                 "0.3646, 0.4582, 0.6834, 0.9794, 1.348, 1.83, 2.465, 3.293, 4.34, 5.634",\
                 "0.3942, 0.4898, 0.7184, 1.02, 1.386, 1.863, 2.492, 3.311, 4.357, 5.64",\
                 "0.43, 0.5268, 0.763, 1.068, 1.435, 1.907, 2.528, 3.341, 4.37, 5.646");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1965, 0.2658, 0.4739, 0.8442, 1.415, 2.245, 3.359, 4.783, 6.526, 8.603",\
                 "0.1965, 0.2659, 0.4739, 0.8442, 1.416, 2.243, 3.36, 4.787, 6.525, 8.612",\
                 "0.1964, 0.2664, 0.474, 0.8442, 1.415, 2.245, 3.358, 4.781, 6.527, 8.604",\
                 "0.1972, 0.2662, 0.4744, 0.8466, 1.416, 2.245, 3.364, 4.782, 6.534, 8.612",\
                 "0.2012, 0.2702, 0.4774, 0.8482, 1.418, 2.245, 3.361, 4.783, 6.528, 8.606",\
                 "0.2118, 0.2816, 0.4884, 0.8572, 1.422, 2.247, 3.364, 4.789, 6.535, 8.615",\
                 "0.223, 0.2956, 0.5026, 0.871, 1.434, 2.251, 3.362, 4.79, 6.526, 8.603",\
                 "0.2404, 0.3138, 0.5202, 0.8886, 1.447, 2.258, 3.367, 4.784, 6.532, 8.618",\
                 "0.2602, 0.3358, 0.544, 0.9136, 1.467, 2.271, 3.372, 4.786, 6.528, 8.609",\
                 "0.2852, 0.3622, 0.572, 0.9412, 1.496, 2.294, 3.383, 4.797, 6.525, 8.597");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b0 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I1&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9162, 0.9995, 1.212, 1.505, 1.859, 2.276, 2.764, 3.339, 4.018, 4.814",\
                 "0.9334, 1.017, 1.229, 1.522, 1.876, 2.293, 2.781, 3.356, 4.035, 4.831",\
                 "1.002, 1.086, 1.298, 1.591, 1.945, 2.362, 2.85, 3.425, 4.103, 4.9",\
                 "1.138, 1.221, 1.433, 1.726, 2.08, 2.497, 2.985, 3.56, 4.239, 5.035",\
                 "1.342, 1.425, 1.637, 1.929, 2.284, 2.7, 3.188, 3.763, 4.442, 5.238",\
                 "1.598, 1.683, 1.896, 2.189, 2.544, 2.961, 3.449, 4.025, 4.703, 5.499",\
                 "1.896, 1.983, 2.2, 2.499, 2.858, 3.277, 3.767, 4.343, 5.021, 5.817",\
                 "2.241, 2.329, 2.551, 2.856, 3.22, 3.645, 4.138, 4.715, 5.394, 6.189",\
                 "2.63, 2.722, 2.95, 3.262, 3.634, 4.064, 4.562, 5.142, 5.821, 6.617",\
                 "3.062, 3.158, 3.394, 3.716, 4.098, 4.536, 5.04, 5.623, 6.306, 7.103");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8061, 0.8704, 1.04, 1.305, 1.674, 2.166, 2.808, 3.615, 4.6, 5.778",\
                 "0.8191, 0.8834, 1.053, 1.319, 1.687, 2.179, 2.821, 3.627, 4.613, 5.79",\
                 "0.8627, 0.927, 1.097, 1.362, 1.73, 2.223, 2.864, 3.671, 4.657, 5.834",\
                 "0.9293, 0.9939, 1.163, 1.429, 1.796, 2.289, 2.931, 3.738, 4.723, 5.898",\
                 "1.011, 1.076, 1.246, 1.511, 1.878, 2.37, 3.011, 3.818, 4.803, 5.981",\
                 "1.083, 1.15, 1.323, 1.591, 1.96, 2.452, 3.092, 3.898, 4.884, 6.06",\
                 "1.138, 1.207, 1.384, 1.654, 2.025, 2.518, 3.158, 3.963, 4.948, 6.125",\
                 "1.169, 1.24, 1.422, 1.696, 2.07, 2.563, 3.203, 4.007, 4.99, 6.166",\
                 "1.169, 1.244, 1.432, 1.71, 2.089, 2.584, 3.223, 4.027, 5.008, 6.18",\
                 "1.134, 1.212, 1.406, 1.691, 2.075, 2.574, 3.214, 4.016, 4.998, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3107, 0.3997, 0.6164, 0.908, 1.285, 1.779, 2.432, 3.272, 4.33, 5.624",\
                 "0.3108, 0.3991, 0.617, 0.9078, 1.284, 1.78, 2.432, 3.274, 4.33, 5.629",\
                 "0.3108, 0.3988, 0.6168, 0.9078, 1.284, 1.78, 2.432, 3.274, 4.33, 5.63",\
                 "0.3094, 0.3992, 0.6164, 0.9096, 1.285, 1.781, 2.43, 3.273, 4.332, 5.622",\
                 "0.3108, 0.401, 0.6194, 0.9124, 1.288, 1.781, 2.431, 3.275, 4.333, 5.63",\
                 "0.3266, 0.4156, 0.6326, 0.923, 1.297, 1.788, 2.436, 3.275, 4.333, 5.627",\
                 "0.3446, 0.4346, 0.6568, 0.9476, 1.316, 1.804, 2.447, 3.285, 4.339, 5.631",\
                 "0.3646, 0.4588, 0.6834, 0.9802, 1.348, 1.83, 2.465, 3.295, 4.346, 5.629",\
                 "0.3944, 0.4898, 0.7192, 1.02, 1.386, 1.864, 2.492, 3.311, 4.355, 5.637",\
                 "0.43, 0.5268, 0.763, 1.068, 1.436, 1.909, 2.528, 3.341, 4.374, 5.648");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1965, 0.2663, 0.4739, 0.8442, 1.415, 2.245, 3.359, 4.783, 6.526, 8.603",\
                 "0.1965, 0.2664, 0.4755, 0.844, 1.416, 2.244, 3.36, 4.786, 6.527, 8.601",\
                 "0.1963, 0.2664, 0.474, 0.8442, 1.415, 2.245, 3.359, 4.783, 6.526, 8.603",\
                 "0.1972, 0.2662, 0.4744, 0.8446, 1.416, 2.245, 3.364, 4.782, 6.533, 8.611",\
                 "0.2012, 0.2702, 0.4774, 0.848, 1.416, 2.245, 3.364, 4.791, 6.526, 8.604",\
                 "0.2118, 0.2816, 0.4884, 0.8572, 1.422, 2.247, 3.364, 4.789, 6.524, 8.615",\
                 "0.223, 0.2956, 0.5026, 0.871, 1.434, 2.251, 3.362, 4.79, 6.526, 8.603",\
                 "0.2404, 0.3128, 0.5202, 0.8886, 1.448, 2.258, 3.368, 4.787, 6.532, 8.602",\
                 "0.2602, 0.3358, 0.544, 0.9134, 1.467, 2.271, 3.372, 4.786, 6.528, 8.609",\
                 "0.285, 0.3622, 0.572, 0.9412, 1.495, 2.294, 3.383, 4.797, 6.525, 8.597");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9162, 0.9996, 1.212, 1.505, 1.859, 2.276, 2.764, 3.339, 4.018, 4.814",\
                 "0.9334, 1.017, 1.229, 1.522, 1.876, 2.293, 2.781, 3.356, 4.035, 4.831",\
                 "1.002, 1.086, 1.298, 1.591, 1.945, 2.362, 2.849, 3.425, 4.103, 4.9",\
                 "1.138, 1.221, 1.433, 1.726, 2.08, 2.497, 2.985, 3.56, 4.239, 5.035",\
                 "1.342, 1.425, 1.637, 1.93, 2.283, 2.7, 3.188, 3.763, 4.442, 5.238",\
                 "1.598, 1.683, 1.896, 2.19, 2.545, 2.961, 3.449, 4.024, 4.703, 5.499",\
                 "1.896, 1.983, 2.2, 2.499, 2.858, 3.277, 3.767, 4.343, 5.021, 5.817",\
                 "2.24, 2.329, 2.551, 2.855, 3.22, 3.645, 4.137, 4.715, 5.393, 6.189",\
                 "2.63, 2.722, 2.95, 3.262, 3.634, 4.064, 4.561, 5.141, 5.822, 6.617",\
                 "3.063, 3.158, 3.395, 3.716, 4.098, 4.537, 5.04, 5.624, 6.306, 7.101");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8061, 0.8704, 1.04, 1.306, 1.674, 2.166, 2.808, 3.614, 4.6, 5.777",\
                 "0.8191, 0.8834, 1.053, 1.319, 1.687, 2.179, 2.821, 3.627, 4.613, 5.79",\
                 "0.8627, 0.927, 1.097, 1.362, 1.73, 2.223, 2.864, 3.671, 4.656, 5.833",\
                 "0.9293, 0.9939, 1.164, 1.428, 1.796, 2.289, 2.931, 3.737, 4.723, 5.898",\
                 "1.011, 1.076, 1.246, 1.51, 1.878, 2.37, 3.011, 3.818, 4.804, 5.978",\
                 "1.083, 1.15, 1.323, 1.591, 1.96, 2.452, 3.092, 3.899, 4.884, 6.059",\
                 "1.138, 1.207, 1.384, 1.654, 2.025, 2.518, 3.158, 3.963, 4.948, 6.123",\
                 "1.169, 1.241, 1.422, 1.696, 2.07, 2.564, 3.203, 4.007, 4.99, 6.166",\
                 "1.17, 1.244, 1.432, 1.71, 2.088, 2.584, 3.223, 4.027, 5.009, 6.18",\
                 "1.133, 1.212, 1.406, 1.691, 2.075, 2.573, 3.214, 4.016, 4.998, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3106, 0.3997, 0.6162, 0.908, 1.285, 1.779, 2.431, 3.273, 4.33, 5.627",\
                 "0.3107, 0.3995, 0.6166, 0.908, 1.284, 1.779, 2.43, 3.274, 4.33, 5.627",\
                 "0.3106, 0.3988, 0.6168, 0.908, 1.284, 1.78, 2.43, 3.274, 4.332, 5.63",\
                 "0.3092, 0.3992, 0.6174, 0.9098, 1.285, 1.78, 2.432, 3.273, 4.334, 5.622",\
                 "0.3108, 0.401, 0.6196, 0.911, 1.288, 1.781, 2.432, 3.275, 4.333, 5.628",\
                 "0.325, 0.4152, 0.6324, 0.9222, 1.297, 1.787, 2.436, 3.277, 4.336, 5.631",\
                 "0.3446, 0.4346, 0.657, 0.9478, 1.316, 1.804, 2.446, 3.283, 4.339, 5.632",\
                 "0.366, 0.4578, 0.6834, 0.979, 1.348, 1.83, 2.464, 3.293, 4.342, 5.629",\
                 "0.3968, 0.49, 0.7186, 1.02, 1.386, 1.863, 2.492, 3.312, 4.354, 5.64",\
                 "0.4294, 0.5288, 0.763, 1.069, 1.437, 1.908, 2.531, 3.34, 4.372, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1964, 0.2662, 0.4755, 0.8442, 1.416, 2.244, 3.36, 4.786, 6.528, 8.601",\
                 "0.1965, 0.2669, 0.4754, 0.844, 1.416, 2.244, 3.36, 4.787, 6.527, 8.602",\
                 "0.1968, 0.2664, 0.4744, 0.844, 1.414, 2.244, 3.359, 4.788, 6.523, 8.605",\
                 "0.1972, 0.2668, 0.4742, 0.8444, 1.417, 2.242, 3.359, 4.785, 6.534, 8.61",\
                 "0.201, 0.2702, 0.4772, 0.848, 1.414, 2.243, 3.36, 4.781, 6.525, 8.611",\
                 "0.2118, 0.2822, 0.4884, 0.8566, 1.42, 2.246, 3.364, 4.784, 6.527, 8.613",\
                 "0.2234, 0.2956, 0.5026, 0.871, 1.434, 2.251, 3.362, 4.79, 6.525, 8.611",\
                 "0.2416, 0.313, 0.5212, 0.8912, 1.448, 2.258, 3.368, 4.788, 6.532, 8.6",\
                 "0.261, 0.336, 0.544, 0.9116, 1.467, 2.271, 3.372, 4.785, 6.528, 8.609",\
                 "0.285, 0.362, 0.572, 0.9416, 1.496, 2.293, 3.383, 4.793, 6.525, 8.599");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9162, 0.9996, 1.212, 1.505, 1.859, 2.276, 2.764, 3.339, 4.018, 4.814",\
                 "0.9334, 1.017, 1.229, 1.522, 1.877, 2.293, 2.781, 3.356, 4.035, 4.831",\
                 "1.002, 1.086, 1.298, 1.591, 1.945, 2.361, 2.85, 3.425, 4.103, 4.9",\
                 "1.138, 1.221, 1.433, 1.726, 2.08, 2.497, 2.985, 3.56, 4.239, 5.035",\
                 "1.342, 1.425, 1.637, 1.929, 2.283, 2.7, 3.187, 3.763, 4.442, 5.238",\
                 "1.598, 1.683, 1.896, 2.19, 2.544, 2.961, 3.45, 4.025, 4.703, 5.499",\
                 "1.896, 1.983, 2.2, 2.499, 2.858, 3.277, 3.767, 4.343, 5.021, 5.817",\
                 "2.24, 2.329, 2.551, 2.856, 3.22, 3.645, 4.137, 4.715, 5.394, 6.189",\
                 "2.63, 2.722, 2.95, 3.262, 3.634, 4.064, 4.561, 5.141, 5.821, 6.617",\
                 "3.063, 3.158, 3.395, 3.717, 4.098, 4.537, 5.04, 5.624, 6.306, 7.102");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8059, 0.8704, 1.04, 1.306, 1.674, 2.166, 2.808, 3.614, 4.6, 5.776",\
                 "0.8191, 0.8834, 1.053, 1.319, 1.687, 2.179, 2.821, 3.627, 4.613, 5.79",\
                 "0.8627, 0.927, 1.097, 1.362, 1.73, 2.223, 2.864, 3.671, 4.656, 5.833",\
                 "0.9293, 0.9939, 1.164, 1.429, 1.797, 2.289, 2.93, 3.738, 4.722, 5.899",\
                 "1.011, 1.076, 1.246, 1.51, 1.878, 2.37, 3.011, 3.818, 4.802, 5.979",\
                 "1.083, 1.15, 1.323, 1.591, 1.96, 2.452, 3.092, 3.899, 4.884, 6.059",\
                 "1.138, 1.207, 1.384, 1.654, 2.026, 2.518, 3.158, 3.963, 4.948, 6.123",\
                 "1.169, 1.241, 1.422, 1.696, 2.07, 2.564, 3.203, 4.007, 4.99, 6.166",\
                 "1.169, 1.244, 1.432, 1.71, 2.088, 2.584, 3.223, 4.027, 5.009, 6.18",\
                 "1.133, 1.212, 1.406, 1.691, 2.075, 2.573, 3.214, 4.016, 4.998, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3106, 0.3997, 0.6164, 0.908, 1.285, 1.779, 2.431, 3.273, 4.33, 5.627",\
                 "0.3108, 0.3986, 0.6166, 0.9074, 1.286, 1.78, 2.432, 3.272, 4.332, 5.623",\
                 "0.309, 0.3986, 0.617, 0.9084, 1.284, 1.781, 2.43, 3.274, 4.331, 5.622",\
                 "0.3094, 0.3992, 0.617, 0.9092, 1.285, 1.78, 2.43, 3.273, 4.33, 5.623",\
                 "0.3108, 0.401, 0.6196, 0.9126, 1.288, 1.781, 2.432, 3.275, 4.333, 5.629",\
                 "0.3254, 0.4152, 0.6328, 0.923, 1.296, 1.789, 2.436, 3.277, 4.336, 5.627",\
                 "0.3446, 0.4346, 0.657, 0.9478, 1.316, 1.804, 2.446, 3.283, 4.339, 5.632",\
                 "0.365, 0.4578, 0.6836, 0.9804, 1.348, 1.83, 2.464, 3.296, 4.346, 5.635",\
                 "0.3944, 0.49, 0.7186, 1.02, 1.386, 1.863, 2.492, 3.311, 4.357, 5.636",\
                 "0.4294, 0.5288, 0.763, 1.068, 1.435, 1.908, 2.531, 3.341, 4.372, 5.648");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1975, 0.2658, 0.4754, 0.8442, 1.415, 2.244, 3.36, 4.786, 6.527, 8.605",\
                 "0.1965, 0.2669, 0.4754, 0.844, 1.416, 2.244, 3.36, 4.787, 6.527, 8.602",\
                 "0.1968, 0.2664, 0.4744, 0.844, 1.414, 2.244, 3.359, 4.787, 6.524, 8.605",\
                 "0.197, 0.2674, 0.474, 0.846, 1.414, 2.243, 3.363, 4.787, 6.53, 8.605",\
                 "0.201, 0.2702, 0.4772, 0.848, 1.415, 2.244, 3.361, 4.783, 6.531, 8.611",\
                 "0.2118, 0.2822, 0.4884, 0.8566, 1.42, 2.246, 3.364, 4.783, 6.526, 8.613",\
                 "0.2234, 0.2956, 0.5026, 0.8708, 1.432, 2.251, 3.362, 4.79, 6.525, 8.611",\
                 "0.2416, 0.313, 0.5212, 0.89, 1.447, 2.259, 3.369, 4.785, 6.532, 8.6",\
                 "0.2602, 0.336, 0.544, 0.913, 1.469, 2.271, 3.372, 4.785, 6.528, 8.609",\
                 "0.285, 0.362, 0.572, 0.9416, 1.496, 2.294, 3.383, 4.793, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9162, 0.9996, 1.212, 1.505, 1.859, 2.276, 2.764, 3.339, 4.018, 4.814",\
                 "0.9334, 1.017, 1.229, 1.522, 1.876, 2.293, 2.781, 3.356, 4.035, 4.831",\
                 "1.002, 1.086, 1.298, 1.591, 1.945, 2.362, 2.85, 3.425, 4.103, 4.9",\
                 "1.138, 1.221, 1.433, 1.727, 2.08, 2.497, 2.985, 3.56, 4.239, 5.035",\
                 "1.342, 1.425, 1.637, 1.93, 2.283, 2.7, 3.188, 3.763, 4.442, 5.238",\
                 "1.598, 1.683, 1.895, 2.189, 2.545, 2.961, 3.45, 4.025, 4.703, 5.499",\
                 "1.896, 1.983, 2.2, 2.499, 2.858, 3.277, 3.767, 4.343, 5.021, 5.817",\
                 "2.241, 2.329, 2.551, 2.856, 3.22, 3.645, 4.138, 4.715, 5.394, 6.189",\
                 "2.631, 2.722, 2.95, 3.262, 3.634, 4.064, 4.561, 5.142, 5.821, 6.617",\
                 "3.062, 3.158, 3.394, 3.716, 4.098, 4.537, 5.04, 5.623, 6.306, 7.102");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8061, 0.8704, 1.04, 1.305, 1.674, 2.166, 2.808, 3.614, 4.599, 5.777",\
                 "0.8191, 0.8834, 1.053, 1.319, 1.687, 2.179, 2.821, 3.627, 4.613, 5.79",\
                 "0.8627, 0.927, 1.097, 1.362, 1.73, 2.223, 2.864, 3.671, 4.656, 5.833",\
                 "0.9294, 0.9939, 1.164, 1.429, 1.796, 2.289, 2.93, 3.737, 4.722, 5.9",\
                 "1.011, 1.076, 1.246, 1.51, 1.878, 2.37, 3.011, 3.817, 4.804, 5.978",\
                 "1.083, 1.15, 1.323, 1.591, 1.96, 2.452, 3.092, 3.899, 4.884, 6.06",\
                 "1.138, 1.207, 1.384, 1.654, 2.025, 2.518, 3.158, 3.963, 4.949, 6.123",\
                 "1.169, 1.241, 1.422, 1.696, 2.07, 2.564, 3.203, 4.007, 4.99, 6.166",\
                 "1.169, 1.244, 1.432, 1.71, 2.088, 2.584, 3.223, 4.027, 5.008, 6.18",\
                 "1.133, 1.212, 1.406, 1.691, 2.075, 2.574, 3.214, 4.016, 4.998, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3106, 0.3996, 0.6164, 0.908, 1.285, 1.779, 2.432, 3.272, 4.33, 5.623",\
                 "0.3107, 0.3989, 0.617, 0.908, 1.284, 1.78, 2.431, 3.274, 4.33, 5.629",\
                 "0.3108, 0.3988, 0.6168, 0.9078, 1.284, 1.78, 2.432, 3.274, 4.33, 5.63",\
                 "0.3108, 0.3992, 0.617, 0.9084, 1.285, 1.781, 2.431, 3.273, 4.33, 5.622",\
                 "0.3112, 0.4012, 0.6198, 0.9112, 1.288, 1.781, 2.432, 3.275, 4.333, 5.629",\
                 "0.3254, 0.415, 0.6324, 0.9232, 1.296, 1.788, 2.437, 3.276, 4.336, 5.63",\
                 "0.3446, 0.4346, 0.6568, 0.9476, 1.316, 1.804, 2.447, 3.285, 4.339, 5.631",\
                 "0.3648, 0.4588, 0.6834, 0.979, 1.349, 1.83, 2.466, 3.295, 4.342, 5.634",\
                 "0.3942, 0.4898, 0.7186, 1.02, 1.386, 1.863, 2.492, 3.311, 4.355, 5.64",\
                 "0.43, 0.5268, 0.7634, 1.068, 1.436, 1.908, 2.527, 3.339, 4.374, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1965, 0.2664, 0.4739, 0.8442, 1.415, 2.244, 3.359, 4.789, 6.524, 8.604",\
                 "0.1965, 0.2669, 0.4755, 0.8442, 1.416, 2.244, 3.36, 4.787, 6.527, 8.602",\
                 "0.1963, 0.2664, 0.4744, 0.844, 1.416, 2.244, 3.359, 4.788, 6.522, 8.605",\
                 "0.1974, 0.266, 0.474, 0.8464, 1.415, 2.245, 3.362, 4.787, 6.523, 8.601",\
                 "0.2012, 0.2702, 0.478, 0.8482, 1.414, 2.245, 3.364, 4.788, 6.525, 8.608",\
                 "0.2118, 0.2816, 0.4884, 0.8574, 1.421, 2.248, 3.364, 4.787, 6.524, 8.605",\
                 "0.223, 0.2956, 0.5026, 0.871, 1.434, 2.251, 3.362, 4.79, 6.526, 8.611",\
                 "0.2392, 0.3134, 0.5202, 0.8908, 1.447, 2.261, 3.367, 4.785, 6.532, 8.618",\
                 "0.2602, 0.3358, 0.544, 0.913, 1.468, 2.271, 3.372, 4.786, 6.528, 8.609",\
                 "0.2852, 0.3622, 0.572, 0.9412, 1.495, 2.294, 3.383, 4.797, 6.525, 8.597");
        }
      }

      timing() {
        related_pin : "I0" ;
        sdf_cond : "I1===1'b1 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I1&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9162, 0.9995, 1.212, 1.505, 1.859, 2.276, 2.764, 3.339, 4.018, 4.814",\
                 "0.9334, 1.017, 1.229, 1.522, 1.876, 2.293, 2.781, 3.356, 4.035, 4.831",\
                 "1.002, 1.086, 1.298, 1.591, 1.945, 2.362, 2.85, 3.425, 4.103, 4.9",\
                 "1.138, 1.221, 1.433, 1.726, 2.08, 2.497, 2.985, 3.56, 4.239, 5.035",\
                 "1.342, 1.425, 1.637, 1.93, 2.284, 2.7, 3.188, 3.763, 4.442, 5.238",\
                 "1.598, 1.682, 1.895, 2.19, 2.544, 2.961, 3.449, 4.025, 4.703, 5.499",\
                 "1.896, 1.983, 2.2, 2.499, 2.858, 3.277, 3.767, 4.343, 5.021, 5.817",\
                 "2.241, 2.329, 2.551, 2.856, 3.22, 3.644, 4.138, 4.715, 5.394, 6.189",\
                 "2.63, 2.722, 2.95, 3.261, 3.634, 4.064, 4.561, 5.142, 5.822, 6.617",\
                 "3.062, 3.158, 3.394, 3.716, 4.098, 4.537, 5.04, 5.623, 6.306, 7.103");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8061, 0.8704, 1.04, 1.306, 1.674, 2.166, 2.808, 3.615, 4.6, 5.777",\
                 "0.8191, 0.8834, 1.053, 1.319, 1.687, 2.179, 2.821, 3.627, 4.613, 5.79",\
                 "0.8627, 0.927, 1.097, 1.362, 1.73, 2.223, 2.864, 3.671, 4.656, 5.833",\
                 "0.9294, 0.9939, 1.164, 1.429, 1.796, 2.289, 2.93, 3.737, 4.722, 5.9",\
                 "1.011, 1.076, 1.246, 1.51, 1.878, 2.37, 3.011, 3.817, 4.804, 5.978",\
                 "1.083, 1.15, 1.323, 1.591, 1.96, 2.452, 3.092, 3.899, 4.884, 6.06",\
                 "1.138, 1.207, 1.384, 1.654, 2.025, 2.518, 3.158, 3.963, 4.949, 6.123",\
                 "1.169, 1.241, 1.422, 1.696, 2.07, 2.564, 3.203, 4.007, 4.99, 6.166",\
                 "1.169, 1.244, 1.432, 1.71, 2.088, 2.584, 3.223, 4.027, 5.008, 6.18",\
                 "1.134, 1.212, 1.406, 1.691, 2.075, 2.574, 3.214, 4.017, 4.998, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3104, 0.3997, 0.6164, 0.908, 1.285, 1.779, 2.432, 3.272, 4.33, 5.623",\
                 "0.3108, 0.3989, 0.617, 0.908, 1.284, 1.78, 2.431, 3.274, 4.33, 5.629",\
                 "0.3108, 0.3988, 0.6168, 0.9078, 1.284, 1.78, 2.432, 3.274, 4.332, 5.63",\
                 "0.3108, 0.399, 0.617, 0.9094, 1.285, 1.781, 2.43, 3.273, 4.33, 5.627",\
                 "0.3112, 0.4014, 0.6194, 0.911, 1.289, 1.781, 2.432, 3.275, 4.333, 5.629",\
                 "0.3254, 0.4158, 0.6324, 0.923, 1.297, 1.787, 2.435, 3.276, 4.332, 5.627",\
                 "0.3446, 0.4346, 0.6568, 0.9478, 1.316, 1.804, 2.447, 3.285, 4.339, 5.631",\
                 "0.3646, 0.4586, 0.6834, 0.9804, 1.348, 1.83, 2.466, 3.293, 4.342, 5.635",\
                 "0.3944, 0.4898, 0.719, 1.019, 1.386, 1.864, 2.492, 3.311, 4.357, 5.641",\
                 "0.43, 0.5272, 0.7634, 1.068, 1.436, 1.91, 2.528, 3.339, 4.374, 5.648");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1965, 0.2664, 0.4736, 0.8442, 1.415, 2.244, 3.359, 4.784, 6.528, 8.602",\
                 "0.1965, 0.2669, 0.4755, 0.8442, 1.416, 2.244, 3.36, 4.787, 6.527, 8.602",\
                 "0.1966, 0.2664, 0.4744, 0.844, 1.416, 2.244, 3.359, 4.788, 6.522, 8.605",\
                 "0.1974, 0.266, 0.474, 0.8464, 1.415, 2.245, 3.362, 4.787, 6.523, 8.602",\
                 "0.2012, 0.2702, 0.4778, 0.8482, 1.414, 2.245, 3.364, 4.789, 6.525, 8.609",\
                 "0.2114, 0.2816, 0.4884, 0.8574, 1.421, 2.247, 3.364, 4.787, 6.524, 8.605",\
                 "0.223, 0.2956, 0.5026, 0.871, 1.434, 2.251, 3.362, 4.79, 6.526, 8.611",\
                 "0.2392, 0.3128, 0.5202, 0.8908, 1.447, 2.261, 3.368, 4.788, 6.532, 8.6",\
                 "0.2602, 0.3358, 0.544, 0.9132, 1.468, 2.271, 3.372, 4.786, 6.528, 8.609",\
                 "0.285, 0.3622, 0.572, 0.9412, 1.495, 2.294, 3.383, 4.791, 6.525, 8.597");
        }
      }

      timing() {
        related_pin : "I0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9162, 0.9995, 1.212, 1.505, 1.859, 2.276, 2.764, 3.339, 4.018, 4.814",\
                 "0.9334, 1.017, 1.229, 1.522, 1.876, 2.293, 2.781, 3.356, 4.035, 4.831",\
                 "1.002, 1.086, 1.298, 1.591, 1.945, 2.362, 2.85, 3.425, 4.103, 4.9",\
                 "1.138, 1.221, 1.433, 1.726, 2.08, 2.497, 2.985, 3.56, 4.239, 5.035",\
                 "1.342, 1.425, 1.637, 1.93, 2.284, 2.7, 3.188, 3.763, 4.442, 5.238",\
                 "1.598, 1.682, 1.895, 2.19, 2.544, 2.961, 3.449, 4.025, 4.703, 5.499",\
                 "1.896, 1.983, 2.2, 2.499, 2.858, 3.277, 3.767, 4.343, 5.021, 5.817",\
                 "2.241, 2.329, 2.551, 2.856, 3.22, 3.644, 4.138, 4.715, 5.394, 6.189",\
                 "2.63, 2.722, 2.95, 3.261, 3.634, 4.064, 4.561, 5.142, 5.822, 6.617",\
                 "3.062, 3.158, 3.394, 3.716, 4.098, 4.537, 5.04, 5.623, 6.306, 7.103");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8061, 0.8704, 1.04, 1.306, 1.674, 2.166, 2.808, 3.615, 4.6, 5.777",\
                 "0.8191, 0.8834, 1.053, 1.319, 1.687, 2.179, 2.821, 3.627, 4.613, 5.79",\
                 "0.8627, 0.927, 1.097, 1.362, 1.73, 2.223, 2.864, 3.671, 4.656, 5.833",\
                 "0.9294, 0.9939, 1.164, 1.429, 1.796, 2.289, 2.93, 3.737, 4.722, 5.9",\
                 "1.011, 1.076, 1.246, 1.51, 1.878, 2.37, 3.011, 3.817, 4.804, 5.978",\
                 "1.083, 1.15, 1.323, 1.591, 1.96, 2.452, 3.092, 3.899, 4.884, 6.06",\
                 "1.138, 1.207, 1.384, 1.654, 2.025, 2.518, 3.158, 3.963, 4.949, 6.123",\
                 "1.169, 1.241, 1.422, 1.696, 2.07, 2.564, 3.203, 4.007, 4.99, 6.166",\
                 "1.169, 1.244, 1.432, 1.71, 2.088, 2.584, 3.223, 4.027, 5.008, 6.18",\
                 "1.134, 1.212, 1.406, 1.691, 2.075, 2.574, 3.214, 4.017, 4.998, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3106, 0.3996, 0.6164, 0.908, 1.285, 1.779, 2.432, 3.272, 4.33, 5.623",\
                 "0.3107, 0.3989, 0.617, 0.908, 1.284, 1.78, 2.431, 3.274, 4.33, 5.629",\
                 "0.3108, 0.3988, 0.6168, 0.9078, 1.284, 1.78, 2.432, 3.274, 4.33, 5.63",\
                 "0.3108, 0.3992, 0.617, 0.9084, 1.285, 1.781, 2.431, 3.273, 4.33, 5.622",\
                 "0.3112, 0.4012, 0.6198, 0.9112, 1.288, 1.781, 2.432, 3.275, 4.333, 5.629",\
                 "0.3254, 0.415, 0.6324, 0.9232, 1.296, 1.788, 2.437, 3.276, 4.336, 5.63",\
                 "0.3446, 0.4346, 0.6568, 0.9476, 1.316, 1.804, 2.447, 3.285, 4.339, 5.631",\
                 "0.3648, 0.4588, 0.6834, 0.979, 1.349, 1.83, 2.466, 3.295, 4.342, 5.634",\
                 "0.3942, 0.4898, 0.7186, 1.02, 1.386, 1.863, 2.492, 3.311, 4.355, 5.64",\
                 "0.43, 0.5268, 0.7634, 1.068, 1.436, 1.908, 2.527, 3.339, 4.374, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1965, 0.2664, 0.4739, 0.8442, 1.415, 2.244, 3.359, 4.789, 6.524, 8.604",\
                 "0.1965, 0.2669, 0.4755, 0.8442, 1.416, 2.244, 3.36, 4.787, 6.527, 8.602",\
                 "0.1963, 0.2664, 0.4744, 0.844, 1.416, 2.244, 3.359, 4.788, 6.522, 8.605",\
                 "0.1974, 0.266, 0.474, 0.8464, 1.415, 2.245, 3.362, 4.787, 6.523, 8.601",\
                 "0.2012, 0.2702, 0.478, 0.8482, 1.414, 2.245, 3.364, 4.788, 6.525, 8.608",\
                 "0.2118, 0.2816, 0.4884, 0.8574, 1.421, 2.248, 3.364, 4.787, 6.524, 8.605",\
                 "0.223, 0.2956, 0.5026, 0.871, 1.434, 2.251, 3.362, 4.79, 6.526, 8.611",\
                 "0.2392, 0.3134, 0.5202, 0.8908, 1.447, 2.261, 3.367, 4.785, 6.532, 8.618",\
                 "0.2602, 0.3358, 0.544, 0.913, 1.468, 2.271, 3.372, 4.786, 6.528, 8.609",\
                 "0.2852, 0.3622, 0.572, 0.9412, 1.495, 2.294, 3.383, 4.797, 6.525, 8.597");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9066, 0.9902, 1.202, 1.495, 1.849, 2.265, 2.753, 3.328, 4.006, 4.802",\
                 "0.924, 1.007, 1.219, 1.512, 1.866, 2.282, 2.77, 3.345, 4.023, 4.819",\
                 "0.9928, 1.076, 1.288, 1.581, 1.935, 2.351, 2.839, 3.414, 4.092, 4.888",\
                 "1.128, 1.211, 1.423, 1.716, 2.07, 2.486, 2.974, 3.549, 4.227, 5.023",\
                 "1.33, 1.414, 1.625, 1.917, 2.272, 2.687, 3.175, 3.75, 4.428, 5.224",\
                 "1.584, 1.669, 1.881, 2.175, 2.53, 2.946, 3.434, 4.009, 4.687, 5.483",\
                 "1.88, 1.966, 2.183, 2.482, 2.841, 3.26, 3.749, 4.324, 5.002, 5.798",\
                 "2.222, 2.311, 2.532, 2.836, 3.201, 3.625, 4.117, 4.695, 5.373, 6.169",\
                 "2.61, 2.702, 2.928, 3.24, 3.612, 4.041, 4.539, 5.119, 5.799, 6.595",\
                 "3.041, 3.135, 3.372, 3.693, 4.074, 4.512, 5.016, 5.599, 6.28, 7.077");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7927, 0.8569, 1.027, 1.292, 1.659, 2.152, 2.793, 3.601, 4.585, 5.761",\
                 "0.8056, 0.8698, 1.039, 1.304, 1.672, 2.165, 2.806, 3.613, 4.599, 5.776",\
                 "0.8488, 0.9131, 1.082, 1.348, 1.716, 2.208, 2.85, 3.656, 4.641, 5.819",\
                 "0.915, 0.9795, 1.149, 1.414, 1.782, 2.274, 2.916, 3.722, 4.708, 5.885",\
                 "0.9961, 1.061, 1.231, 1.495, 1.863, 2.355, 2.996, 3.802, 4.787, 5.962",\
                 "1.067, 1.134, 1.307, 1.575, 1.943, 2.436, 3.076, 3.882, 4.867, 6.039",\
                 "1.121, 1.189, 1.366, 1.637, 2.008, 2.5, 3.14, 3.946, 4.931, 6.107",\
                 "1.15, 1.222, 1.403, 1.677, 2.051, 2.544, 3.184, 3.988, 4.971, 6.147",\
                 "1.149, 1.223, 1.411, 1.689, 2.067, 2.562, 3.201, 4.005, 4.987, 6.159",\
                 "1.111, 1.189, 1.384, 1.668, 2.052, 2.551, 3.191, 3.994, 4.975, 6.147");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3097, 0.3984, 0.6154, 0.9066, 1.285, 1.779, 2.428, 3.27, 4.331, 5.623",\
                 "0.3088, 0.3981, 0.6158, 0.907, 1.284, 1.779, 2.429, 3.273, 4.332, 5.629",\
                 "0.31, 0.3982, 0.6158, 0.9068, 1.283, 1.778, 2.429, 3.273, 4.333, 5.629",\
                 "0.309, 0.3988, 0.6158, 0.9084, 1.284, 1.779, 2.429, 3.27, 4.333, 5.629",\
                 "0.3106, 0.4004, 0.6192, 0.9104, 1.287, 1.78, 2.43, 3.273, 4.333, 5.629",\
                 "0.324, 0.4144, 0.6312, 0.9212, 1.296, 1.786, 2.434, 3.275, 4.332, 5.63",\
                 "0.3412, 0.4332, 0.6546, 0.9472, 1.315, 1.801, 2.444, 3.281, 4.337, 5.629",\
                 "0.3634, 0.4566, 0.6814, 0.9786, 1.347, 1.828, 2.464, 3.29, 4.342, 5.63",\
                 "0.392, 0.4876, 0.7166, 1.017, 1.383, 1.864, 2.49, 3.311, 4.353, 5.636",\
                 "0.4276, 0.526, 0.7608, 1.067, 1.434, 1.905, 2.527, 3.337, 4.372, 5.646");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1959, 0.2655, 0.473, 0.8434, 1.415, 2.243, 3.361, 4.783, 6.522, 8.61",\
                 "0.1963, 0.2659, 0.4735, 0.8456, 1.414, 2.245, 3.358, 4.787, 6.527, 8.601",\
                 "0.1963, 0.2658, 0.4746, 0.8434, 1.415, 2.244, 3.361, 4.789, 6.524, 8.604",\
                 "0.1978, 0.2656, 0.4738, 0.8436, 1.416, 2.244, 3.359, 4.782, 6.527, 8.604",\
                 "0.2008, 0.2706, 0.4764, 0.8458, 1.416, 2.243, 3.362, 4.783, 6.533, 8.61",\
                 "0.2108, 0.2812, 0.488, 0.8568, 1.421, 2.245, 3.362, 4.791, 6.536, 8.598",\
                 "0.223, 0.2952, 0.502, 0.8712, 1.433, 2.25, 3.361, 4.79, 6.526, 8.603",\
                 "0.2414, 0.3136, 0.5208, 0.8884, 1.446, 2.259, 3.367, 4.787, 6.532, 8.619",\
                 "0.2602, 0.335, 0.544, 0.913, 1.469, 2.272, 3.374, 4.786, 6.525, 8.61",\
                 "0.2866, 0.3636, 0.5716, 0.9416, 1.495, 2.294, 3.384, 4.793, 6.525, 8.599");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9068, 0.9901, 1.202, 1.495, 1.849, 2.265, 2.753, 3.328, 4.006, 4.802",\
                 "0.9239, 1.007, 1.219, 1.512, 1.866, 2.282, 2.77, 3.345, 4.023, 4.819",\
                 "0.9928, 1.076, 1.288, 1.581, 1.935, 2.351, 2.839, 3.414, 4.092, 4.888",\
                 "1.128, 1.211, 1.423, 1.716, 2.07, 2.486, 2.974, 3.549, 4.227, 5.023",\
                 "1.331, 1.414, 1.625, 1.917, 2.271, 2.687, 3.175, 3.75, 4.428, 5.224",\
                 "1.584, 1.669, 1.881, 2.175, 2.529, 2.946, 3.434, 4.009, 4.687, 5.483",\
                 "1.88, 1.966, 2.183, 2.482, 2.841, 3.26, 3.749, 4.324, 5.002, 5.799",\
                 "2.222, 2.311, 2.532, 2.836, 3.201, 3.625, 4.117, 4.694, 5.373, 6.169",\
                 "2.61, 2.702, 2.928, 3.24, 3.612, 4.041, 4.539, 5.119, 5.799, 6.595",\
                 "3.041, 3.136, 3.371, 3.693, 4.074, 4.512, 5.016, 5.599, 6.28, 7.078");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7926, 0.8569, 1.027, 1.292, 1.66, 2.152, 2.794, 3.6, 4.584, 5.762",\
                 "0.8053, 0.8698, 1.039, 1.305, 1.672, 2.165, 2.806, 3.613, 4.599, 5.777",\
                 "0.8488, 0.9131, 1.082, 1.348, 1.716, 2.208, 2.85, 3.656, 4.641, 5.818",\
                 "0.9151, 0.9795, 1.149, 1.414, 1.781, 2.274, 2.915, 3.722, 4.706, 5.884",\
                 "0.9958, 1.061, 1.23, 1.495, 1.862, 2.355, 2.996, 3.802, 4.786, 5.964",\
                 "1.068, 1.135, 1.308, 1.575, 1.943, 2.436, 3.076, 3.882, 4.866, 6.041",\
                 "1.121, 1.19, 1.366, 1.636, 2.008, 2.5, 3.14, 3.946, 4.931, 6.105",\
                 "1.151, 1.222, 1.403, 1.677, 2.051, 2.544, 3.183, 3.988, 4.971, 6.146",\
                 "1.148, 1.223, 1.41, 1.689, 2.067, 2.563, 3.201, 4.005, 4.987, 6.159",\
                 "1.111, 1.189, 1.383, 1.668, 2.052, 2.551, 3.191, 3.993, 4.975, 6.147");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3085, 0.3984, 0.6154, 0.906, 1.285, 1.779, 2.428, 3.271, 4.329, 5.622",\
                 "0.3101, 0.3981, 0.6156, 0.907, 1.285, 1.779, 2.429, 3.273, 4.333, 5.629",\
                 "0.3102, 0.3984, 0.616, 0.9066, 1.284, 1.779, 2.429, 3.269, 4.331, 5.629",\
                 "0.3102, 0.3988, 0.6162, 0.9076, 1.283, 1.779, 2.428, 3.273, 4.333, 5.629",\
                 "0.3106, 0.4, 0.6186, 0.9104, 1.287, 1.78, 2.43, 3.274, 4.333, 5.628",\
                 "0.3242, 0.4144, 0.6314, 0.922, 1.295, 1.787, 2.433, 3.275, 4.335, 5.623",\
                 "0.3408, 0.433, 0.6546, 0.9472, 1.316, 1.802, 2.446, 3.28, 4.338, 5.624",\
                 "0.363, 0.4566, 0.6814, 0.9786, 1.346, 1.829, 2.464, 3.29, 4.344, 5.633",\
                 "0.392, 0.488, 0.717, 1.018, 1.383, 1.864, 2.49, 3.311, 4.353, 5.634",\
                 "0.4276, 0.5252, 0.7598, 1.067, 1.433, 1.906, 2.525, 3.338, 4.372, 5.646");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1958, 0.2669, 0.4724, 0.8436, 1.414, 2.244, 3.359, 4.784, 6.527, 8.605",\
                 "0.1974, 0.2669, 0.4731, 0.8454, 1.415, 2.244, 3.36, 4.784, 6.526, 8.603",\
                 "0.1963, 0.2658, 0.4736, 0.8434, 1.415, 2.244, 3.36, 4.791, 6.524, 8.605",\
                 "0.196, 0.266, 0.473, 0.8438, 1.415, 2.245, 3.362, 4.784, 6.527, 8.605",\
                 "0.2008, 0.2706, 0.477, 0.8482, 1.417, 2.244, 3.36, 4.781, 6.529, 8.605",\
                 "0.2108, 0.2818, 0.4882, 0.857, 1.422, 2.247, 3.364, 4.789, 6.523, 8.604",\
                 "0.223, 0.2956, 0.5022, 0.8712, 1.432, 2.25, 3.361, 4.789, 6.526, 8.614",\
                 "0.2396, 0.3124, 0.5202, 0.8886, 1.447, 2.258, 3.367, 4.788, 6.532, 8.619",\
                 "0.2616, 0.3372, 0.5456, 0.9138, 1.466, 2.271, 3.373, 4.786, 6.528, 8.598",\
                 "0.2858, 0.363, 0.5722, 0.9394, 1.495, 2.292, 3.384, 4.792, 6.523, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9068, 0.9901, 1.202, 1.495, 1.849, 2.265, 2.753, 3.328, 4.006, 4.802",\
                 "0.9239, 1.007, 1.219, 1.512, 1.866, 2.282, 2.77, 3.345, 4.023, 4.819",\
                 "0.9928, 1.076, 1.288, 1.581, 1.935, 2.351, 2.839, 3.414, 4.092, 4.888",\
                 "1.128, 1.211, 1.423, 1.716, 2.07, 2.486, 2.974, 3.549, 4.227, 5.024",\
                 "1.331, 1.414, 1.625, 1.917, 2.271, 2.687, 3.175, 3.75, 4.428, 5.224",\
                 "1.584, 1.668, 1.881, 2.175, 2.53, 2.946, 3.434, 4.009, 4.687, 5.483",\
                 "1.88, 1.966, 2.183, 2.482, 2.841, 3.26, 3.749, 4.324, 5.002, 5.798",\
                 "2.223, 2.311, 2.532, 2.836, 3.201, 3.625, 4.117, 4.695, 5.373, 6.169",\
                 "2.61, 2.701, 2.928, 3.241, 3.612, 4.042, 4.539, 5.119, 5.799, 6.595",\
                 "3.041, 3.135, 3.371, 3.693, 4.074, 4.512, 5.016, 5.599, 6.28, 7.077");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7924, 0.8569, 1.027, 1.292, 1.66, 2.152, 2.793, 3.601, 4.585, 5.761",\
                 "0.8056, 0.8698, 1.039, 1.305, 1.672, 2.165, 2.806, 3.613, 4.599, 5.774",\
                 "0.8486, 0.9132, 1.083, 1.348, 1.716, 2.208, 2.849, 3.657, 4.641, 5.817",\
                 "0.915, 0.9795, 1.149, 1.414, 1.782, 2.274, 2.915, 3.722, 4.708, 5.885",\
                 "0.9962, 1.061, 1.231, 1.495, 1.863, 2.355, 2.996, 3.802, 4.788, 5.961",\
                 "1.067, 1.134, 1.307, 1.575, 1.943, 2.436, 3.076, 3.881, 4.868, 6.043",\
                 "1.121, 1.19, 1.366, 1.637, 2.008, 2.5, 3.14, 3.946, 4.931, 6.107",\
                 "1.15, 1.222, 1.403, 1.677, 2.051, 2.544, 3.183, 3.988, 4.971, 6.147",\
                 "1.149, 1.223, 1.411, 1.689, 2.067, 2.562, 3.201, 4.005, 4.987, 6.159",\
                 "1.111, 1.189, 1.384, 1.668, 2.052, 2.551, 3.191, 3.994, 4.975, 6.147");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3085, 0.3985, 0.6154, 0.908, 1.285, 1.779, 2.43, 3.272, 4.327, 5.624",\
                 "0.3099, 0.3983, 0.6158, 0.9076, 1.284, 1.779, 2.429, 3.273, 4.333, 5.629",\
                 "0.3102, 0.3982, 0.616, 0.9068, 1.284, 1.778, 2.431, 3.269, 4.331, 5.629",\
                 "0.3088, 0.3984, 0.6164, 0.9084, 1.284, 1.778, 2.429, 3.273, 4.332, 5.627",\
                 "0.3108, 0.4004, 0.6184, 0.9112, 1.286, 1.781, 2.43, 3.273, 4.333, 5.629",\
                 "0.3242, 0.4144, 0.6314, 0.9214, 1.295, 1.787, 2.436, 3.276, 4.332, 5.623",\
                 "0.3412, 0.4332, 0.6558, 0.9462, 1.314, 1.802, 2.445, 3.281, 4.333, 5.629",\
                 "0.3628, 0.4566, 0.6814, 0.9784, 1.347, 1.828, 2.464, 3.29, 4.342, 5.63",\
                 "0.393, 0.4874, 0.7166, 1.016, 1.383, 1.862, 2.49, 3.31, 4.355, 5.637",\
                 "0.4276, 0.526, 0.761, 1.067, 1.434, 1.908, 2.527, 3.337, 4.372, 5.646");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1972, 0.2662, 0.4724, 0.8458, 1.416, 2.244, 3.362, 4.782, 6.533, 8.613",\
                 "0.1959, 0.2661, 0.4744, 0.8446, 1.415, 2.244, 3.363, 4.781, 6.534, 8.612",\
                 "0.1972, 0.2662, 0.4724, 0.8434, 1.415, 2.244, 3.364, 4.787, 6.53, 8.614",\
                 "0.198, 0.2656, 0.4738, 0.8434, 1.416, 2.244, 3.358, 4.782, 6.536, 8.618",\
                 "0.2008, 0.2704, 0.4766, 0.846, 1.416, 2.244, 3.362, 4.786, 6.535, 8.604",\
                 "0.211, 0.2816, 0.4884, 0.8564, 1.421, 2.247, 3.364, 4.79, 6.537, 8.605",\
                 "0.223, 0.2956, 0.502, 0.8722, 1.433, 2.25, 3.362, 4.789, 6.525, 8.603",\
                 "0.2414, 0.3136, 0.5208, 0.8884, 1.445, 2.258, 3.367, 4.788, 6.532, 8.619",\
                 "0.2602, 0.335, 0.544, 0.913, 1.467, 2.27, 3.376, 4.786, 6.525, 8.609",\
                 "0.2866, 0.3636, 0.5718, 0.9418, 1.495, 2.292, 3.387, 4.793, 6.525, 8.599");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b0 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9068, 0.9901, 1.202, 1.495, 1.849, 2.265, 2.753, 3.328, 4.006, 4.802",\
                 "0.924, 1.007, 1.219, 1.512, 1.866, 2.282, 2.77, 3.345, 4.023, 4.819",\
                 "0.9928, 1.076, 1.288, 1.581, 1.935, 2.351, 2.839, 3.414, 4.092, 4.889",\
                 "1.128, 1.211, 1.423, 1.716, 2.07, 2.486, 2.974, 3.549, 4.227, 5.023",\
                 "1.331, 1.414, 1.625, 1.918, 2.271, 2.687, 3.175, 3.75, 4.428, 5.224",\
                 "1.584, 1.669, 1.882, 2.175, 2.529, 2.946, 3.434, 4.009, 4.687, 5.483",\
                 "1.88, 1.966, 2.183, 2.482, 2.841, 3.259, 3.749, 4.324, 5.002, 5.798",\
                 "2.222, 2.311, 2.532, 2.836, 3.201, 3.625, 4.117, 4.694, 5.373, 6.169",\
                 "2.61, 2.702, 2.928, 3.241, 3.612, 4.041, 4.539, 5.119, 5.799, 6.595",\
                 "3.041, 3.136, 3.371, 3.693, 4.074, 4.512, 5.016, 5.599, 6.28, 7.078");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7924, 0.8569, 1.026, 1.292, 1.66, 2.152, 2.793, 3.601, 4.585, 5.764",\
                 "0.8056, 0.8698, 1.039, 1.305, 1.673, 2.165, 2.806, 3.613, 4.598, 5.774",\
                 "0.8486, 0.9132, 1.083, 1.348, 1.716, 2.208, 2.849, 3.657, 4.641, 5.817",\
                 "0.9148, 0.9795, 1.149, 1.414, 1.781, 2.274, 2.915, 3.722, 4.707, 5.884",\
                 "0.996, 1.061, 1.231, 1.495, 1.863, 2.355, 2.995, 3.802, 4.787, 5.962",\
                 "1.068, 1.135, 1.308, 1.575, 1.943, 2.436, 3.076, 3.882, 4.866, 6.043",\
                 "1.121, 1.19, 1.366, 1.636, 2.008, 2.5, 3.14, 3.946, 4.931, 6.107",\
                 "1.151, 1.222, 1.403, 1.677, 2.051, 2.544, 3.183, 3.988, 4.971, 6.146",\
                 "1.148, 1.223, 1.41, 1.689, 2.067, 2.563, 3.201, 4.005, 4.987, 6.159",\
                 "1.111, 1.189, 1.383, 1.669, 2.052, 2.551, 3.191, 3.993, 4.975, 6.147");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3085, 0.3985, 0.6158, 0.908, 1.284, 1.778, 2.431, 3.272, 4.333, 5.626",\
                 "0.3088, 0.3983, 0.6154, 0.908, 1.285, 1.778, 2.429, 3.273, 4.333, 5.629",\
                 "0.3102, 0.3984, 0.616, 0.9066, 1.285, 1.779, 2.429, 3.269, 4.33, 5.626",\
                 "0.3086, 0.3984, 0.6164, 0.907, 1.284, 1.779, 2.429, 3.273, 4.332, 5.629",\
                 "0.3106, 0.4004, 0.6186, 0.9094, 1.287, 1.78, 2.43, 3.273, 4.331, 5.629",\
                 "0.3242, 0.4144, 0.6314, 0.9214, 1.293, 1.786, 2.433, 3.274, 4.33, 5.626",\
                 "0.3408, 0.433, 0.6554, 0.9462, 1.314, 1.802, 2.444, 3.281, 4.337, 5.629",\
                 "0.363, 0.4566, 0.6814, 0.9784, 1.346, 1.827, 2.462, 3.29, 4.345, 5.633",\
                 "0.393, 0.4882, 0.717, 1.017, 1.384, 1.862, 2.49, 3.311, 4.355, 5.637",\
                 "0.4276, 0.5252, 0.7598, 1.067, 1.433, 1.907, 2.525, 3.337, 4.372, 5.648");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1974, 0.267, 0.4738, 0.8452, 1.416, 2.245, 3.361, 4.783, 6.524, 8.603",\
                 "0.1964, 0.2661, 0.4734, 0.8434, 1.414, 2.244, 3.361, 4.781, 6.534, 8.613",\
                 "0.1972, 0.2662, 0.4724, 0.8434, 1.415, 2.244, 3.364, 4.787, 6.53, 8.613",\
                 "0.1976, 0.2652, 0.4752, 0.8438, 1.414, 2.245, 3.363, 4.784, 6.522, 8.614",\
                 "0.2004, 0.27, 0.4766, 0.8474, 1.415, 2.245, 3.363, 4.785, 6.534, 8.607",\
                 "0.2108, 0.282, 0.4882, 0.8568, 1.422, 2.247, 3.364, 4.789, 6.521, 8.616",\
                 "0.223, 0.2956, 0.5022, 0.8712, 1.432, 2.25, 3.362, 4.789, 6.526, 8.603",\
                 "0.2402, 0.3124, 0.5202, 0.8886, 1.447, 2.259, 3.367, 4.788, 6.532, 8.601",\
                 "0.2616, 0.3372, 0.5456, 0.9138, 1.466, 2.271, 3.374, 4.786, 6.528, 8.596",\
                 "0.2846, 0.3616, 0.572, 0.9416, 1.495, 2.292, 3.385, 4.797, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9068, 0.9902, 1.202, 1.495, 1.849, 2.265, 2.753, 3.328, 4.006, 4.802",\
                 "0.924, 1.007, 1.219, 1.512, 1.866, 2.282, 2.77, 3.345, 4.023, 4.819",\
                 "0.9928, 1.076, 1.288, 1.581, 1.935, 2.351, 2.839, 3.414, 4.092, 4.888",\
                 "1.128, 1.212, 1.423, 1.716, 2.07, 2.486, 2.974, 3.549, 4.227, 5.023",\
                 "1.331, 1.414, 1.625, 1.917, 2.271, 2.687, 3.175, 3.75, 4.428, 5.224",\
                 "1.584, 1.668, 1.882, 2.175, 2.53, 2.946, 3.434, 4.009, 4.687, 5.483",\
                 "1.88, 1.966, 2.183, 2.482, 2.841, 3.26, 3.749, 4.324, 5.002, 5.798",\
                 "2.223, 2.311, 2.532, 2.836, 3.201, 3.625, 4.117, 4.695, 5.373, 6.169",\
                 "2.61, 2.701, 2.928, 3.241, 3.612, 4.042, 4.539, 5.119, 5.799, 6.595",\
                 "3.041, 3.135, 3.371, 3.693, 4.074, 4.512, 5.016, 5.599, 6.28, 7.077");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7924, 0.8569, 1.026, 1.292, 1.66, 2.152, 2.794, 3.6, 4.584, 5.762",\
                 "0.8056, 0.8698, 1.039, 1.305, 1.672, 2.165, 2.806, 3.613, 4.599, 5.774",\
                 "0.8486, 0.9132, 1.083, 1.348, 1.716, 2.208, 2.849, 3.657, 4.641, 5.817",\
                 "0.915, 0.9795, 1.149, 1.414, 1.782, 2.274, 2.915, 3.723, 4.707, 5.884",\
                 "0.9959, 1.061, 1.231, 1.495, 1.863, 2.355, 2.996, 3.802, 4.786, 5.963",\
                 "1.068, 1.135, 1.308, 1.575, 1.943, 2.436, 3.076, 3.882, 4.868, 6.044",\
                 "1.121, 1.189, 1.366, 1.637, 2.008, 2.501, 3.14, 3.946, 4.931, 6.107",\
                 "1.151, 1.222, 1.403, 1.677, 2.051, 2.544, 3.183, 3.988, 4.972, 6.146",\
                 "1.149, 1.223, 1.411, 1.689, 2.067, 2.562, 3.201, 4.005, 4.987, 6.159",\
                 "1.111, 1.189, 1.384, 1.668, 2.052, 2.551, 3.191, 3.994, 4.975, 6.147");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3085, 0.3984, 0.6154, 0.9064, 1.285, 1.779, 2.428, 3.271, 4.33, 5.621",\
                 "0.3088, 0.3983, 0.6154, 0.908, 1.283, 1.778, 2.429, 3.272, 4.33, 5.629",\
                 "0.3102, 0.3984, 0.6152, 0.9064, 1.284, 1.778, 2.431, 3.273, 4.33, 5.629",\
                 "0.3088, 0.3984, 0.6164, 0.9076, 1.285, 1.779, 2.429, 3.273, 4.33, 5.629",\
                 "0.3106, 0.4, 0.6182, 0.9112, 1.287, 1.78, 2.429, 3.273, 4.329, 5.622",\
                 "0.3242, 0.4144, 0.6312, 0.9214, 1.296, 1.787, 2.434, 3.276, 4.331, 5.622",\
                 "0.3412, 0.4334, 0.655, 0.946, 1.316, 1.802, 2.446, 3.279, 4.336, 5.628",\
                 "0.3628, 0.4566, 0.6814, 0.9784, 1.347, 1.828, 2.464, 3.29, 4.342, 5.63",\
                 "0.392, 0.4874, 0.7166, 1.017, 1.383, 1.861, 2.49, 3.311, 4.355, 5.64",\
                 "0.4276, 0.526, 0.7598, 1.067, 1.433, 1.905, 2.529, 3.337, 4.372, 5.648");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1972, 0.2656, 0.4735, 0.8434, 1.414, 2.244, 3.359, 4.791, 6.526, 8.605",\
                 "0.1962, 0.2669, 0.4724, 0.8434, 1.415, 2.242, 3.361, 4.782, 6.534, 8.612",\
                 "0.1971, 0.2662, 0.473, 0.8434, 1.414, 2.244, 3.361, 4.783, 6.532, 8.611",\
                 "0.198, 0.2656, 0.4738, 0.8434, 1.416, 2.245, 3.36, 4.783, 6.532, 8.615",\
                 "0.2014, 0.2698, 0.4764, 0.8454, 1.415, 2.244, 3.363, 4.787, 6.53, 8.613",\
                 "0.2108, 0.282, 0.4882, 0.857, 1.421, 2.247, 3.361, 4.788, 6.526, 8.605",\
                 "0.223, 0.2964, 0.5022, 0.8712, 1.433, 2.25, 3.362, 4.789, 6.526, 8.603",\
                 "0.2398, 0.3132, 0.5204, 0.8888, 1.447, 2.26, 3.366, 4.791, 6.529, 8.617",\
                 "0.2602, 0.335, 0.544, 0.913, 1.467, 2.271, 3.376, 4.786, 6.525, 8.609",\
                 "0.2866, 0.3636, 0.5718, 0.9418, 1.495, 2.292, 3.387, 4.791, 6.525, 8.599");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9068, 0.9901, 1.202, 1.495, 1.849, 2.265, 2.753, 3.328, 4.006, 4.802",\
                 "0.924, 1.007, 1.219, 1.512, 1.866, 2.282, 2.77, 3.345, 4.023, 4.82",\
                 "0.9928, 1.076, 1.288, 1.581, 1.935, 2.351, 2.839, 3.414, 4.092, 4.888",\
                 "1.128, 1.212, 1.423, 1.716, 2.07, 2.486, 2.973, 3.549, 4.227, 5.023",\
                 "1.331, 1.414, 1.625, 1.917, 2.271, 2.687, 3.175, 3.75, 4.428, 5.225",\
                 "1.584, 1.668, 1.881, 2.175, 2.53, 2.946, 3.434, 4.009, 4.687, 5.483",\
                 "1.88, 1.966, 2.183, 2.482, 2.841, 3.26, 3.749, 4.324, 5.003, 5.798",\
                 "2.222, 2.311, 2.532, 2.836, 3.201, 3.625, 4.117, 4.695, 5.373, 6.169",\
                 "2.61, 2.702, 2.929, 3.241, 3.612, 4.042, 4.539, 5.119, 5.799, 6.594",\
                 "3.041, 3.136, 3.371, 3.692, 4.074, 4.512, 5.016, 5.599, 6.28, 7.078");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7927, 0.8569, 1.026, 1.292, 1.66, 2.152, 2.793, 3.6, 4.586, 5.761",\
                 "0.8055, 0.8698, 1.039, 1.305, 1.672, 2.165, 2.807, 3.613, 4.599, 5.776",\
                 "0.8488, 0.9131, 1.082, 1.348, 1.716, 2.208, 2.85, 3.656, 4.641, 5.818",\
                 "0.9149, 0.9795, 1.149, 1.414, 1.781, 2.274, 2.915, 3.722, 4.707, 5.883",\
                 "0.9959, 1.061, 1.23, 1.495, 1.862, 2.355, 2.995, 3.802, 4.787, 5.962",\
                 "1.068, 1.135, 1.308, 1.575, 1.943, 2.436, 3.076, 3.881, 4.866, 6.039",\
                 "1.121, 1.19, 1.366, 1.637, 2.008, 2.5, 3.14, 3.945, 4.931, 6.107",\
                 "1.151, 1.222, 1.403, 1.677, 2.051, 2.544, 3.183, 3.988, 4.971, 6.146",\
                 "1.148, 1.223, 1.41, 1.689, 2.067, 2.563, 3.201, 4.006, 4.987, 6.159",\
                 "1.111, 1.189, 1.383, 1.669, 2.052, 2.551, 3.19, 3.994, 4.976, 6.147");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3085, 0.3985, 0.6156, 0.908, 1.284, 1.778, 2.431, 3.272, 4.333, 5.626",\
                 "0.3088, 0.3978, 0.616, 0.908, 1.285, 1.779, 2.428, 3.271, 4.329, 5.621",\
                 "0.3102, 0.3984, 0.6152, 0.907, 1.283, 1.778, 2.428, 3.269, 4.33, 5.625",\
                 "0.3088, 0.3984, 0.6166, 0.9072, 1.284, 1.779, 2.427, 3.273, 4.33, 5.629",\
                 "0.3108, 0.4004, 0.6188, 0.9112, 1.286, 1.78, 2.43, 3.274, 4.333, 5.629",\
                 "0.3246, 0.4148, 0.6316, 0.9214, 1.293, 1.787, 2.434, 3.275, 4.332, 5.623",\
                 "0.3438, 0.4328, 0.6566, 0.9462, 1.315, 1.801, 2.444, 3.281, 4.337, 5.625",\
                 "0.363, 0.4566, 0.6814, 0.9786, 1.345, 1.827, 2.464, 3.292, 4.345, 5.633",\
                 "0.392, 0.4878, 0.7168, 1.017, 1.383, 1.861, 2.49, 3.311, 4.353, 5.64",\
                 "0.4276, 0.5248, 0.7594, 1.066, 1.434, 1.905, 2.525, 3.337, 4.374, 5.646");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1959, 0.2662, 0.4752, 0.8456, 1.415, 2.244, 3.36, 4.783, 6.534, 8.613",\
                 "0.1961, 0.2665, 0.4731, 0.8434, 1.415, 2.244, 3.36, 4.785, 6.53, 8.603",\
                 "0.1963, 0.2658, 0.4738, 0.8434, 1.414, 2.244, 3.36, 4.789, 6.523, 8.605",\
                 "0.1978, 0.2656, 0.4736, 0.8438, 1.416, 2.244, 3.364, 4.782, 6.533, 8.611",\
                 "0.201, 0.2702, 0.4766, 0.847, 1.417, 2.245, 3.362, 4.784, 6.533, 8.611",\
                 "0.2108, 0.2818, 0.4882, 0.857, 1.422, 2.247, 3.363, 4.789, 6.525, 8.6",\
                 "0.223, 0.2956, 0.502, 0.8722, 1.432, 2.25, 3.362, 4.79, 6.526, 8.603",\
                 "0.2396, 0.3124, 0.5202, 0.8896, 1.447, 2.259, 3.367, 4.788, 6.532, 8.617",\
                 "0.2616, 0.3372, 0.5456, 0.9138, 1.466, 2.271, 3.372, 4.787, 6.528, 8.61",\
                 "0.2846, 0.363, 0.572, 0.9412, 1.495, 2.296, 3.384, 4.793, 6.524, 8.599");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I2&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9068, 0.9901, 1.202, 1.495, 1.849, 2.265, 2.752, 3.328, 4.006, 4.802",\
                 "0.924, 1.007, 1.219, 1.512, 1.866, 2.282, 2.77, 3.345, 4.023, 4.82",\
                 "0.9928, 1.076, 1.288, 1.581, 1.935, 2.351, 2.839, 3.414, 4.092, 4.888",\
                 "1.128, 1.212, 1.423, 1.716, 2.07, 2.486, 2.974, 3.549, 4.227, 5.023",\
                 "1.331, 1.414, 1.625, 1.917, 2.271, 2.687, 3.175, 3.75, 4.428, 5.224",\
                 "1.584, 1.668, 1.882, 2.175, 2.53, 2.946, 3.434, 4.009, 4.687, 5.483",\
                 "1.88, 1.966, 2.183, 2.482, 2.841, 3.26, 3.749, 4.324, 5.002, 5.798",\
                 "2.223, 2.311, 2.532, 2.836, 3.2, 3.625, 4.117, 4.695, 5.373, 6.169",\
                 "2.61, 2.701, 2.929, 3.241, 3.612, 4.042, 4.539, 5.119, 5.799, 6.595",\
                 "3.041, 3.135, 3.371, 3.693, 4.074, 4.512, 5.016, 5.599, 6.28, 7.078");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7926, 0.8569, 1.026, 1.292, 1.66, 2.152, 2.793, 3.6, 4.586, 5.761",\
                 "0.8053, 0.8698, 1.039, 1.305, 1.672, 2.165, 2.806, 3.614, 4.598, 5.776",\
                 "0.8486, 0.9132, 1.083, 1.348, 1.716, 2.208, 2.849, 3.657, 4.641, 5.817",\
                 "0.915, 0.9795, 1.149, 1.414, 1.782, 2.274, 2.915, 3.723, 4.708, 5.885",\
                 "0.9962, 1.061, 1.231, 1.495, 1.863, 2.355, 2.996, 3.802, 4.788, 5.962",\
                 "1.068, 1.134, 1.307, 1.575, 1.943, 2.436, 3.076, 3.881, 4.868, 6.043",\
                 "1.121, 1.189, 1.366, 1.637, 2.008, 2.5, 3.14, 3.945, 4.931, 6.106",\
                 "1.151, 1.222, 1.403, 1.677, 2.051, 2.544, 3.183, 3.988, 4.972, 6.146",\
                 "1.149, 1.223, 1.411, 1.689, 2.067, 2.562, 3.201, 4.005, 4.987, 6.159",\
                 "1.111, 1.189, 1.384, 1.668, 2.052, 2.551, 3.191, 3.994, 4.976, 6.147");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3085, 0.3985, 0.6156, 0.908, 1.285, 1.779, 2.43, 3.272, 4.328, 5.623",\
                 "0.3088, 0.3983, 0.615, 0.9078, 1.285, 1.779, 2.428, 3.27, 4.33, 5.621",\
                 "0.3102, 0.3988, 0.616, 0.9068, 1.284, 1.778, 2.429, 3.27, 4.33, 5.629",\
                 "0.3088, 0.3984, 0.6164, 0.907, 1.285, 1.779, 2.429, 3.273, 4.333, 5.629",\
                 "0.3106, 0.4002, 0.618, 0.9104, 1.287, 1.78, 2.429, 3.273, 4.333, 5.628",\
                 "0.3242, 0.4142, 0.6314, 0.9212, 1.296, 1.787, 2.433, 3.275, 4.33, 5.623",\
                 "0.3416, 0.4334, 0.6554, 0.946, 1.316, 1.802, 2.445, 3.282, 4.338, 5.627",\
                 "0.3628, 0.4566, 0.6814, 0.9786, 1.347, 1.828, 2.464, 3.294, 4.342, 5.63",\
                 "0.393, 0.4876, 0.7164, 1.016, 1.383, 1.862, 2.49, 3.31, 4.355, 5.637",\
                 "0.4276, 0.526, 0.76, 1.067, 1.433, 1.906, 2.529, 3.337, 4.372, 5.648");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1959, 0.2661, 0.4751, 0.8456, 1.415, 2.244, 3.361, 4.782, 6.534, 8.613",\
                 "0.1972, 0.2662, 0.4735, 0.8452, 1.414, 2.242, 3.361, 4.784, 6.53, 8.601",\
                 "0.1972, 0.2662, 0.4724, 0.8434, 1.415, 2.244, 3.364, 4.787, 6.53, 8.614",\
                 "0.198, 0.2656, 0.4738, 0.8434, 1.416, 2.244, 3.358, 4.783, 6.535, 8.617",\
                 "0.2008, 0.2704, 0.4766, 0.8458, 1.416, 2.244, 3.362, 4.785, 6.535, 8.605",\
                 "0.2108, 0.2816, 0.4884, 0.8564, 1.421, 2.247, 3.364, 4.79, 6.537, 8.606",\
                 "0.223, 0.2964, 0.5022, 0.8712, 1.433, 2.25, 3.362, 4.79, 6.525, 8.615",\
                 "0.2398, 0.3132, 0.5204, 0.889, 1.447, 2.26, 3.367, 4.784, 6.525, 8.603",\
                 "0.2602, 0.335, 0.544, 0.913, 1.469, 2.271, 3.376, 4.786, 6.525, 8.609",\
                 "0.2866, 0.3636, 0.5718, 0.9418, 1.495, 2.293, 3.384, 4.791, 6.525, 8.601");
        }
      }

      timing() {
        related_pin : "I1" ;
        sdf_cond : "I0===1'b1 && I2===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I2&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9067, 0.9901, 1.202, 1.495, 1.849, 2.265, 2.753, 3.328, 4.006, 4.802",\
                 "0.9239, 1.007, 1.219, 1.512, 1.866, 2.282, 2.77, 3.345, 4.023, 4.82",\
                 "0.9928, 1.076, 1.288, 1.581, 1.935, 2.351, 2.839, 3.414, 4.092, 4.889",\
                 "1.128, 1.212, 1.423, 1.716, 2.07, 2.486, 2.973, 3.549, 4.227, 5.023",\
                 "1.331, 1.414, 1.625, 1.917, 2.271, 2.687, 3.175, 3.75, 4.428, 5.224",\
                 "1.584, 1.668, 1.881, 2.175, 2.53, 2.946, 3.434, 4.009, 4.687, 5.484",\
                 "1.88, 1.966, 2.183, 2.482, 2.841, 3.26, 3.749, 4.324, 5.003, 5.798",\
                 "2.222, 2.31, 2.532, 2.836, 3.201, 3.625, 4.117, 4.695, 5.373, 6.169",\
                 "2.61, 2.702, 2.929, 3.241, 3.612, 4.041, 4.539, 5.119, 5.799, 6.595",\
                 "3.041, 3.136, 3.371, 3.693, 4.075, 4.512, 5.015, 5.599, 6.28, 7.078");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7926, 0.8569, 1.027, 1.292, 1.66, 2.152, 2.794, 3.601, 4.586, 5.761",\
                 "0.8056, 0.8698, 1.039, 1.304, 1.672, 2.165, 2.807, 3.613, 4.598, 5.774",\
                 "0.8486, 0.9132, 1.083, 1.348, 1.716, 2.208, 2.849, 3.657, 4.641, 5.817",\
                 "0.9149, 0.9793, 1.149, 1.414, 1.781, 2.274, 2.915, 3.722, 4.707, 5.885",\
                 "0.9959, 1.061, 1.23, 1.495, 1.863, 2.355, 2.996, 3.801, 4.788, 5.963",\
                 "1.068, 1.135, 1.308, 1.575, 1.943, 2.436, 3.076, 3.882, 4.866, 6.04",\
                 "1.121, 1.19, 1.366, 1.637, 2.008, 2.5, 3.14, 3.946, 4.931, 6.107",\
                 "1.151, 1.222, 1.403, 1.677, 2.051, 2.544, 3.183, 3.988, 4.971, 6.146",\
                 "1.148, 1.223, 1.41, 1.689, 2.067, 2.563, 3.201, 4.005, 4.987, 6.159",\
                 "1.111, 1.189, 1.383, 1.669, 2.052, 2.551, 3.19, 3.994, 4.976, 6.147");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3086, 0.3985, 0.616, 0.908, 1.284, 1.778, 2.43, 3.272, 4.333, 5.625",\
                 "0.3101, 0.3983, 0.616, 0.908, 1.283, 1.779, 2.428, 3.272, 4.328, 5.623",\
                 "0.3102, 0.3984, 0.615, 0.9068, 1.285, 1.778, 2.431, 3.27, 4.33, 5.626",\
                 "0.3088, 0.3984, 0.6162, 0.9086, 1.283, 1.779, 2.429, 3.273, 4.333, 5.629",\
                 "0.3108, 0.4004, 0.6186, 0.9106, 1.287, 1.78, 2.43, 3.273, 4.33, 5.629",\
                 "0.3242, 0.4144, 0.6316, 0.9212, 1.294, 1.786, 2.437, 3.275, 4.335, 5.623",\
                 "0.3414, 0.4332, 0.655, 0.9462, 1.316, 1.802, 2.445, 3.28, 4.338, 5.629",\
                 "0.363, 0.456, 0.6816, 0.9786, 1.345, 1.828, 2.464, 3.29, 4.345, 5.635",\
                 "0.393, 0.4872, 0.7168, 1.017, 1.383, 1.862, 2.49, 3.311, 4.355, 5.637",\
                 "0.4276, 0.5246, 0.7592, 1.065, 1.433, 1.905, 2.527, 3.338, 4.372, 5.646");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1962, 0.2661, 0.4732, 0.8436, 1.414, 2.244, 3.361, 4.784, 6.533, 8.613",\
                 "0.1963, 0.267, 0.473, 0.8436, 1.416, 2.244, 3.361, 4.783, 6.532, 8.614",\
                 "0.1972, 0.2662, 0.4724, 0.8434, 1.415, 2.244, 3.364, 4.787, 6.53, 8.613",\
                 "0.1976, 0.2668, 0.4736, 0.8436, 1.416, 2.245, 3.364, 4.787, 6.521, 8.603",\
                 "0.201, 0.2702, 0.4766, 0.847, 1.417, 2.242, 3.364, 4.789, 6.525, 8.61",\
                 "0.2108, 0.282, 0.4882, 0.8566, 1.422, 2.247, 3.364, 4.789, 6.523, 8.601",\
                 "0.223, 0.2956, 0.502, 0.8722, 1.434, 2.25, 3.362, 4.784, 6.526, 8.603",\
                 "0.2402, 0.3134, 0.52, 0.8878, 1.448, 2.259, 3.367, 4.784, 6.532, 8.603",\
                 "0.2616, 0.3372, 0.5456, 0.9138, 1.466, 2.271, 3.374, 4.786, 6.528, 8.61",\
                 "0.2854, 0.3612, 0.5718, 0.9412, 1.495, 2.296, 3.384, 4.793, 6.524, 8.599");
        }
      }

      timing() {
        related_pin : "I1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9067, 0.9901, 1.202, 1.495, 1.849, 2.265, 2.753, 3.328, 4.006, 4.802",\
                 "0.9239, 1.007, 1.219, 1.512, 1.866, 2.282, 2.77, 3.345, 4.023, 4.82",\
                 "0.9928, 1.076, 1.288, 1.581, 1.935, 2.351, 2.839, 3.414, 4.092, 4.889",\
                 "1.128, 1.212, 1.423, 1.716, 2.07, 2.486, 2.973, 3.549, 4.227, 5.023",\
                 "1.331, 1.414, 1.625, 1.917, 2.271, 2.687, 3.175, 3.75, 4.428, 5.224",\
                 "1.584, 1.668, 1.881, 2.175, 2.53, 2.946, 3.434, 4.009, 4.687, 5.484",\
                 "1.88, 1.966, 2.183, 2.482, 2.841, 3.26, 3.749, 4.324, 5.003, 5.798",\
                 "2.222, 2.31, 2.532, 2.836, 3.201, 3.625, 4.117, 4.695, 5.373, 6.169",\
                 "2.61, 2.702, 2.929, 3.241, 3.612, 4.041, 4.539, 5.119, 5.799, 6.595",\
                 "3.041, 3.136, 3.371, 3.693, 4.075, 4.512, 5.015, 5.599, 6.28, 7.078");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7926, 0.8569, 1.027, 1.292, 1.66, 2.152, 2.794, 3.601, 4.586, 5.761",\
                 "0.8056, 0.8698, 1.039, 1.304, 1.672, 2.165, 2.807, 3.613, 4.598, 5.774",\
                 "0.8486, 0.9132, 1.083, 1.348, 1.716, 2.208, 2.849, 3.657, 4.641, 5.817",\
                 "0.9149, 0.9793, 1.149, 1.414, 1.781, 2.274, 2.915, 3.722, 4.707, 5.885",\
                 "0.9959, 1.061, 1.23, 1.495, 1.863, 2.355, 2.996, 3.801, 4.788, 5.963",\
                 "1.068, 1.135, 1.308, 1.575, 1.943, 2.436, 3.076, 3.882, 4.866, 6.04",\
                 "1.121, 1.19, 1.366, 1.637, 2.008, 2.5, 3.14, 3.946, 4.931, 6.107",\
                 "1.151, 1.222, 1.403, 1.677, 2.051, 2.544, 3.183, 3.988, 4.971, 6.146",\
                 "1.148, 1.223, 1.41, 1.689, 2.067, 2.563, 3.201, 4.005, 4.987, 6.159",\
                 "1.111, 1.189, 1.383, 1.669, 2.052, 2.551, 3.19, 3.994, 4.976, 6.147");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3085, 0.3985, 0.6156, 0.908, 1.285, 1.779, 2.43, 3.272, 4.328, 5.623",\
                 "0.3088, 0.3983, 0.615, 0.9078, 1.285, 1.779, 2.428, 3.27, 4.33, 5.621",\
                 "0.3102, 0.3988, 0.616, 0.9068, 1.284, 1.778, 2.429, 3.27, 4.33, 5.629",\
                 "0.3088, 0.3984, 0.6164, 0.907, 1.285, 1.779, 2.429, 3.273, 4.333, 5.629",\
                 "0.3106, 0.4002, 0.618, 0.9104, 1.287, 1.78, 2.429, 3.273, 4.333, 5.628",\
                 "0.3242, 0.4142, 0.6314, 0.9212, 1.296, 1.787, 2.433, 3.275, 4.33, 5.623",\
                 "0.3416, 0.4334, 0.6554, 0.946, 1.316, 1.802, 2.445, 3.282, 4.338, 5.627",\
                 "0.3628, 0.4566, 0.6814, 0.9786, 1.347, 1.828, 2.464, 3.294, 4.342, 5.63",\
                 "0.393, 0.4876, 0.7164, 1.016, 1.383, 1.862, 2.49, 3.31, 4.355, 5.637",\
                 "0.4276, 0.526, 0.76, 1.067, 1.433, 1.906, 2.529, 3.337, 4.372, 5.648");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1958, 0.2669, 0.4724, 0.8436, 1.414, 2.244, 3.359, 4.784, 6.527, 8.605",\
                 "0.1974, 0.2669, 0.4731, 0.8454, 1.415, 2.244, 3.36, 4.784, 6.526, 8.603",\
                 "0.1963, 0.2658, 0.4736, 0.8434, 1.415, 2.244, 3.36, 4.791, 6.524, 8.605",\
                 "0.196, 0.266, 0.473, 0.8438, 1.415, 2.245, 3.362, 4.784, 6.527, 8.605",\
                 "0.2008, 0.2706, 0.477, 0.8482, 1.417, 2.244, 3.36, 4.781, 6.529, 8.605",\
                 "0.2108, 0.2818, 0.4882, 0.857, 1.422, 2.247, 3.364, 4.789, 6.523, 8.604",\
                 "0.223, 0.2956, 0.5022, 0.8712, 1.432, 2.25, 3.361, 4.789, 6.526, 8.614",\
                 "0.2396, 0.3124, 0.5202, 0.8886, 1.447, 2.258, 3.367, 4.788, 6.532, 8.619",\
                 "0.2616, 0.3372, 0.5456, 0.9138, 1.466, 2.271, 3.373, 4.786, 6.528, 8.598",\
                 "0.2858, 0.363, 0.5722, 0.9394, 1.495, 2.292, 3.384, 4.792, 6.523, 8.601");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.851, 0.9313, 1.134, 1.412, 1.749, 2.148, 2.623, 3.188, 3.86, 4.653",\
                 "0.8684, 0.9484, 1.151, 1.43, 1.767, 2.166, 2.64, 3.205, 3.878, 4.671",\
                 "0.9359, 1.016, 1.219, 1.497, 1.834, 2.233, 2.707, 3.273, 3.945, 4.738",\
                 "1.065, 1.146, 1.348, 1.626, 1.963, 2.362, 2.837, 3.402, 4.074, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.589, 4.261, 5.054",\
                 "1.479, 1.561, 1.767, 2.048, 2.386, 2.786, 3.261, 3.826, 4.498, 5.291",\
                 "1.74, 1.824, 2.034, 2.321, 2.665, 3.068, 3.544, 4.11, 4.782, 5.575",\
                 "2.037, 2.123, 2.339, 2.632, 2.982, 3.391, 3.87, 4.437, 5.11, 5.903",\
                 "2.366, 2.456, 2.678, 2.981, 3.339, 3.755, 4.239, 4.809, 5.482, 6.274",\
                 "2.727, 2.821, 3.051, 3.366, 3.735, 4.159, 4.65, 5.223, 5.899, 6.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8524, 0.9173, 1.089, 1.356, 1.726, 2.22, 2.861, 3.668, 4.654, 5.829",\
                 "0.8654, 0.9302, 1.101, 1.369, 1.739, 2.233, 2.874, 3.681, 4.666, 5.841",\
                 "0.9112, 0.9763, 1.147, 1.415, 1.785, 2.279, 2.92, 3.727, 4.711, 5.887",\
                 "0.986, 1.051, 1.222, 1.489, 1.859, 2.353, 2.994, 3.801, 4.786, 5.961",\
                 "1.08, 1.145, 1.316, 1.583, 1.953, 2.446, 3.087, 3.893, 4.879, 6.056",\
                 "1.172, 1.239, 1.413, 1.682, 2.053, 2.547, 3.187, 3.993, 4.977, 6.155",\
                 "1.252, 1.321, 1.499, 1.772, 2.145, 2.639, 3.279, 4.085, 5.069, 6.241",\
                 "1.317, 1.389, 1.571, 1.847, 2.222, 2.717, 3.357, 4.161, 5.145, 6.32",\
                 "1.36, 1.435, 1.624, 1.904, 2.283, 2.779, 3.419, 4.222, 5.205, 6.377",\
                 "1.378, 1.456, 1.651, 1.937, 2.322, 2.822, 3.462, 4.266, 5.247, 6.418");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2882, 0.3714, 0.5758, 0.8522, 1.217, 1.708, 2.365, 3.218, 4.292, 5.599",\
                 "0.288, 0.3718, 0.5758, 0.853, 1.217, 1.707, 2.362, 3.217, 4.288, 5.597",\
                 "0.2866, 0.3722, 0.5758, 0.853, 1.217, 1.709, 2.362, 3.214, 4.288, 5.599",\
                 "0.2874, 0.3718, 0.5764, 0.8538, 1.217, 1.709, 2.362, 3.214, 4.292, 5.599",\
                 "0.2906, 0.3762, 0.5808, 0.8566, 1.221, 1.711, 2.364, 3.216, 4.291, 5.6",\
                 "0.3078, 0.3924, 0.5972, 0.8702, 1.231, 1.717, 2.37, 3.222, 4.294, 5.601",\
                 "0.324, 0.4118, 0.6222, 0.8986, 1.255, 1.733, 2.379, 3.224, 4.295, 5.6",\
                 "0.3494, 0.4368, 0.6516, 0.931, 1.286, 1.761, 2.399, 3.238, 4.301, 5.605",\
                 "0.3778, 0.47, 0.6908, 0.9744, 1.328, 1.796, 2.427, 3.257, 4.31, 5.606",\
                 "0.4132, 0.5084, 0.7348, 1.029, 1.382, 1.846, 2.462, 3.283, 4.326, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.199, 0.2696, 0.4793, 0.8512, 1.422, 2.247, 3.365, 4.781, 6.535, 8.611",\
                 "0.1988, 0.2698, 0.479, 0.852, 1.42, 2.247, 3.365, 4.78, 6.525, 8.608",\
                 "0.2004, 0.2692, 0.4784, 0.8528, 1.42, 2.247, 3.363, 4.787, 6.53, 8.608",\
                 "0.1988, 0.2694, 0.478, 0.8506, 1.422, 2.247, 3.361, 4.781, 6.532, 8.608",\
                 "0.2024, 0.2718, 0.4806, 0.8524, 1.421, 2.248, 3.365, 4.79, 6.525, 8.601",\
                 "0.213, 0.2842, 0.4928, 0.8628, 1.428, 2.25, 3.363, 4.79, 6.528, 8.617",\
                 "0.2242, 0.2974, 0.5058, 0.8764, 1.438, 2.254, 3.362, 4.785, 6.536, 8.603",\
                 "0.2402, 0.3146, 0.524, 0.8938, 1.451, 2.261, 3.367, 4.789, 6.526, 8.602",\
                 "0.2602, 0.336, 0.5466, 0.916, 1.472, 2.274, 3.376, 4.786, 6.531, 8.604",\
                 "0.2844, 0.362, 0.5746, 0.945, 1.499, 2.293, 3.384, 4.793, 6.523, 8.604");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.851, 0.9312, 1.134, 1.412, 1.749, 2.148, 2.623, 3.188, 3.86, 4.653",\
                 "0.8684, 0.9486, 1.151, 1.43, 1.767, 2.166, 2.64, 3.205, 3.878, 4.671",\
                 "0.9359, 1.016, 1.219, 1.497, 1.834, 2.233, 2.707, 3.273, 3.945, 4.738",\
                 "1.065, 1.146, 1.348, 1.626, 1.963, 2.362, 2.837, 3.402, 4.074, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.589, 4.261, 5.054",\
                 "1.479, 1.561, 1.767, 2.047, 2.386, 2.786, 3.261, 3.826, 4.498, 5.291",\
                 "1.74, 1.824, 2.034, 2.321, 2.665, 3.068, 3.544, 4.11, 4.782, 5.574",\
                 "2.036, 2.123, 2.338, 2.632, 2.982, 3.39, 3.87, 4.438, 5.11, 5.903",\
                 "2.366, 2.456, 2.678, 2.981, 3.339, 3.754, 4.239, 4.809, 5.483, 6.274",\
                 "2.727, 2.82, 3.051, 3.366, 3.735, 4.159, 4.651, 5.223, 5.899, 6.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8522, 0.9173, 1.089, 1.356, 1.726, 2.22, 2.861, 3.668, 4.653, 5.83",\
                 "0.8653, 0.9303, 1.101, 1.369, 1.739, 2.233, 2.874, 3.681, 4.666, 5.843",\
                 "0.9114, 0.9763, 1.147, 1.415, 1.785, 2.279, 2.92, 3.727, 4.713, 5.885",\
                 "0.986, 1.051, 1.222, 1.489, 1.859, 2.353, 2.994, 3.801, 4.786, 5.961",\
                 "1.08, 1.145, 1.316, 1.583, 1.953, 2.446, 3.087, 3.894, 4.878, 6.054",\
                 "1.172, 1.239, 1.413, 1.682, 2.053, 2.547, 3.187, 3.993, 4.977, 6.155",\
                 "1.252, 1.321, 1.499, 1.772, 2.144, 2.639, 3.279, 4.085, 5.069, 6.241",\
                 "1.317, 1.389, 1.571, 1.847, 2.222, 2.717, 3.357, 4.161, 5.145, 6.32",\
                 "1.36, 1.435, 1.624, 1.904, 2.283, 2.78, 3.419, 4.223, 5.205, 6.377",\
                 "1.378, 1.456, 1.651, 1.937, 2.322, 2.822, 3.462, 4.266, 5.247, 6.419");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2882, 0.3719, 0.5754, 0.8528, 1.217, 1.707, 2.365, 3.214, 4.292, 5.6",\
                 "0.288, 0.3715, 0.5756, 0.853, 1.217, 1.709, 2.362, 3.214, 4.292, 5.599",\
                 "0.2878, 0.372, 0.5756, 0.8524, 1.216, 1.709, 2.363, 3.215, 4.292, 5.6",\
                 "0.2872, 0.3718, 0.5762, 0.8538, 1.217, 1.709, 2.362, 3.214, 4.292, 5.599",\
                 "0.2908, 0.3768, 0.5806, 0.8562, 1.221, 1.71, 2.364, 3.216, 4.292, 5.596",\
                 "0.306, 0.3924, 0.5976, 0.871, 1.23, 1.716, 2.37, 3.221, 4.29, 5.6",\
                 "0.3234, 0.412, 0.622, 0.8984, 1.255, 1.734, 2.382, 3.225, 4.297, 5.602",\
                 "0.3474, 0.4378, 0.6532, 0.9318, 1.286, 1.761, 2.4, 3.239, 4.299, 5.601",\
                 "0.3778, 0.4704, 0.691, 0.9744, 1.327, 1.796, 2.427, 3.258, 4.31, 5.607",\
                 "0.412, 0.508, 0.7348, 1.029, 1.382, 1.844, 2.464, 3.283, 4.324, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2001, 0.2694, 0.4777, 0.8508, 1.42, 2.247, 3.365, 4.783, 6.528, 8.604",\
                 "0.1989, 0.2696, 0.4788, 0.8502, 1.422, 2.247, 3.364, 4.782, 6.535, 8.616",\
                 "0.1988, 0.2692, 0.478, 0.8528, 1.42, 2.248, 3.365, 4.784, 6.526, 8.598",\
                 "0.1988, 0.2694, 0.48, 0.8508, 1.42, 2.246, 3.361, 4.783, 6.522, 8.608",\
                 "0.2024, 0.2718, 0.4806, 0.8548, 1.422, 2.248, 3.365, 4.784, 6.526, 8.612",\
                 "0.214, 0.2842, 0.4928, 0.8636, 1.428, 2.25, 3.363, 4.79, 6.528, 8.618",\
                 "0.2242, 0.2974, 0.5058, 0.8764, 1.439, 2.254, 3.362, 4.785, 6.536, 8.603",\
                 "0.2406, 0.315, 0.5232, 0.8938, 1.453, 2.263, 3.368, 4.789, 6.527, 8.602",\
                 "0.2602, 0.336, 0.5466, 0.916, 1.472, 2.274, 3.372, 4.787, 6.533, 8.604",\
                 "0.2844, 0.362, 0.5746, 0.9448, 1.499, 2.293, 3.384, 4.793, 6.523, 8.604");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.851, 0.9311, 1.134, 1.412, 1.749, 2.148, 2.623, 3.188, 3.86, 4.654",\
                 "0.8684, 0.9486, 1.151, 1.43, 1.767, 2.166, 2.64, 3.205, 3.878, 4.671",\
                 "0.9359, 1.016, 1.219, 1.497, 1.834, 2.233, 2.707, 3.273, 3.945, 4.738",\
                 "1.065, 1.145, 1.348, 1.626, 1.963, 2.362, 2.837, 3.402, 4.074, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.55, 3.024, 3.589, 4.261, 5.054",\
                 "1.479, 1.561, 1.767, 2.048, 2.386, 2.786, 3.261, 3.826, 4.498, 5.291",\
                 "1.74, 1.824, 2.034, 2.321, 2.665, 3.068, 3.544, 4.11, 4.782, 5.574",\
                 "2.036, 2.123, 2.339, 2.632, 2.982, 3.39, 3.87, 4.438, 5.11, 5.903",\
                 "2.366, 2.456, 2.678, 2.981, 3.339, 3.754, 4.239, 4.809, 5.482, 6.274",\
                 "2.727, 2.82, 3.051, 3.366, 3.735, 4.159, 4.651, 5.224, 5.9, 6.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8524, 0.9173, 1.088, 1.356, 1.726, 2.22, 2.861, 3.668, 4.652, 5.829",\
                 "0.8653, 0.9302, 1.101, 1.369, 1.739, 2.233, 2.874, 3.681, 4.666, 5.842",\
                 "0.9112, 0.9763, 1.147, 1.415, 1.785, 2.279, 2.92, 3.727, 4.712, 5.888",\
                 "0.986, 1.051, 1.222, 1.489, 1.859, 2.353, 2.994, 3.801, 4.786, 5.961",\
                 "1.08, 1.145, 1.316, 1.583, 1.953, 2.446, 3.087, 3.894, 4.879, 6.053",\
                 "1.172, 1.239, 1.413, 1.682, 2.053, 2.547, 3.187, 3.993, 4.977, 6.155",\
                 "1.252, 1.321, 1.499, 1.772, 2.144, 2.639, 3.279, 4.085, 5.069, 6.241",\
                 "1.317, 1.389, 1.571, 1.847, 2.222, 2.717, 3.357, 4.162, 5.146, 6.32",\
                 "1.36, 1.435, 1.624, 1.904, 2.283, 2.78, 3.419, 4.223, 5.205, 6.377",\
                 "1.378, 1.456, 1.651, 1.937, 2.322, 2.822, 3.462, 4.265, 5.247, 6.418");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2882, 0.3714, 0.5758, 0.8526, 1.216, 1.708, 2.365, 3.214, 4.292, 5.598",\
                 "0.288, 0.3713, 0.5756, 0.8528, 1.217, 1.708, 2.365, 3.214, 4.292, 5.599",\
                 "0.287, 0.372, 0.5758, 0.8528, 1.217, 1.709, 2.362, 3.214, 4.292, 5.6",\
                 "0.2882, 0.3722, 0.5762, 0.8536, 1.218, 1.709, 2.362, 3.214, 4.292, 5.599",\
                 "0.2906, 0.3764, 0.5806, 0.8558, 1.221, 1.709, 2.366, 3.219, 4.292, 5.6",\
                 "0.306, 0.392, 0.5974, 0.8706, 1.23, 1.717, 2.369, 3.222, 4.294, 5.598",\
                 "0.3234, 0.412, 0.6218, 0.9, 1.255, 1.733, 2.382, 3.224, 4.295, 5.6",\
                 "0.3494, 0.4368, 0.6518, 0.9318, 1.286, 1.761, 2.4, 3.236, 4.301, 5.605",\
                 "0.3778, 0.4702, 0.691, 0.9744, 1.327, 1.798, 2.427, 3.257, 4.312, 5.607",\
                 "0.4142, 0.5072, 0.7348, 1.029, 1.382, 1.843, 2.464, 3.284, 4.326, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1989, 0.2696, 0.4798, 0.8524, 1.421, 2.247, 3.359, 4.79, 6.525, 8.613",\
                 "0.1988, 0.2697, 0.4782, 0.8508, 1.42, 2.246, 3.365, 4.781, 6.535, 8.613",\
                 "0.2004, 0.2692, 0.4782, 0.8504, 1.422, 2.247, 3.365, 4.78, 6.535, 8.61",\
                 "0.1994, 0.2696, 0.48, 0.852, 1.42, 2.247, 3.365, 4.78, 6.532, 8.609",\
                 "0.2034, 0.2722, 0.4806, 0.8518, 1.422, 2.249, 3.363, 4.784, 6.535, 8.604",\
                 "0.214, 0.2842, 0.4928, 0.8626, 1.428, 2.25, 3.363, 4.79, 6.528, 8.617",\
                 "0.2252, 0.2974, 0.5058, 0.8764, 1.439, 2.254, 3.362, 4.785, 6.536, 8.603",\
                 "0.2408, 0.3146, 0.524, 0.894, 1.454, 2.261, 3.367, 4.79, 6.526, 8.602",\
                 "0.2602, 0.336, 0.5466, 0.916, 1.472, 2.275, 3.372, 4.787, 6.533, 8.604",\
                 "0.2844, 0.362, 0.5746, 0.9452, 1.499, 2.293, 3.384, 4.791, 6.523, 8.602");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.851, 0.9312, 1.134, 1.412, 1.749, 2.148, 2.623, 3.188, 3.86, 4.654",\
                 "0.8684, 0.9484, 1.151, 1.43, 1.767, 2.166, 2.64, 3.205, 3.878, 4.671",\
                 "0.9359, 1.016, 1.219, 1.497, 1.834, 2.233, 2.707, 3.273, 3.945, 4.738",\
                 "1.065, 1.145, 1.348, 1.626, 1.963, 2.362, 2.837, 3.402, 4.074, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.55, 3.024, 3.589, 4.261, 5.054",\
                 "1.479, 1.561, 1.767, 2.047, 2.386, 2.786, 3.261, 3.826, 4.498, 5.291",\
                 "1.74, 1.824, 2.034, 2.321, 2.665, 3.068, 3.544, 4.11, 4.782, 5.574",\
                 "2.036, 2.123, 2.339, 2.632, 2.982, 3.391, 3.87, 4.437, 5.11, 5.902",\
                 "2.366, 2.455, 2.678, 2.981, 3.339, 3.754, 4.239, 4.809, 5.483, 6.274",\
                 "2.727, 2.82, 3.051, 3.366, 3.735, 4.16, 4.65, 5.224, 5.9, 6.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8522, 0.9173, 1.089, 1.356, 1.726, 2.22, 2.861, 3.668, 4.652, 5.829",\
                 "0.8654, 0.9303, 1.101, 1.369, 1.739, 2.233, 2.874, 3.681, 4.665, 5.841",\
                 "0.9112, 0.9763, 1.147, 1.415, 1.785, 2.279, 2.92, 3.727, 4.712, 5.885",\
                 "0.986, 1.051, 1.222, 1.489, 1.859, 2.353, 2.994, 3.801, 4.786, 5.96",\
                 "1.08, 1.145, 1.316, 1.583, 1.953, 2.446, 3.087, 3.893, 4.879, 6.056",\
                 "1.172, 1.239, 1.413, 1.682, 2.053, 2.547, 3.187, 3.993, 4.977, 6.155",\
                 "1.252, 1.321, 1.499, 1.772, 2.144, 2.639, 3.279, 4.085, 5.069, 6.241",\
                 "1.317, 1.389, 1.571, 1.847, 2.222, 2.717, 3.357, 4.161, 5.145, 6.32",\
                 "1.36, 1.435, 1.624, 1.904, 2.283, 2.78, 3.419, 4.223, 5.205, 6.377",\
                 "1.378, 1.456, 1.651, 1.937, 2.322, 2.822, 3.462, 4.265, 5.247, 6.418");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2882, 0.3719, 0.5754, 0.8528, 1.217, 1.707, 2.361, 3.214, 4.292, 5.598",\
                 "0.288, 0.3719, 0.5756, 0.853, 1.217, 1.707, 2.362, 3.214, 4.292, 5.598",\
                 "0.2868, 0.3712, 0.5756, 0.8522, 1.216, 1.708, 2.364, 3.215, 4.292, 5.597",\
                 "0.2872, 0.3722, 0.5762, 0.8538, 1.217, 1.709, 2.362, 3.214, 4.292, 5.599",\
                 "0.2908, 0.3764, 0.5804, 0.8558, 1.221, 1.709, 2.366, 3.22, 4.291, 5.6",\
                 "0.3062, 0.3924, 0.597, 0.8712, 1.231, 1.717, 2.37, 3.218, 4.294, 5.599",\
                 "0.3234, 0.412, 0.6224, 0.8986, 1.255, 1.735, 2.382, 3.224, 4.296, 5.602",\
                 "0.3474, 0.4378, 0.652, 0.9326, 1.286, 1.761, 2.399, 3.237, 4.298, 5.601",\
                 "0.3778, 0.4708, 0.6916, 0.9744, 1.326, 1.796, 2.427, 3.257, 4.312, 5.607",\
                 "0.4114, 0.5072, 0.7348, 1.029, 1.381, 1.844, 2.462, 3.284, 4.326, 5.614");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2, 0.2705, 0.4775, 0.8508, 1.42, 2.247, 3.359, 4.79, 6.525, 8.612",\
                 "0.1987, 0.2706, 0.4798, 0.8506, 1.422, 2.247, 3.365, 4.784, 6.531, 8.606",\
                 "0.2, 0.2692, 0.4784, 0.8526, 1.42, 2.248, 3.365, 4.784, 6.525, 8.6",\
                 "0.199, 0.2702, 0.4776, 0.852, 1.421, 2.247, 3.359, 4.787, 6.533, 8.604",\
                 "0.2032, 0.2722, 0.4806, 0.8548, 1.421, 2.248, 3.362, 4.789, 6.526, 8.6",\
                 "0.214, 0.2842, 0.4928, 0.8636, 1.428, 2.25, 3.363, 4.79, 6.528, 8.617",\
                 "0.2252, 0.2974, 0.5058, 0.8764, 1.439, 2.254, 3.362, 4.785, 6.536, 8.603",\
                 "0.2406, 0.315, 0.5232, 0.8938, 1.453, 2.263, 3.368, 4.789, 6.527, 8.602",\
                 "0.2602, 0.336, 0.5466, 0.916, 1.472, 2.275, 3.372, 4.787, 6.533, 8.604",\
                 "0.2844, 0.362, 0.5746, 0.9452, 1.499, 2.293, 3.384, 4.789, 6.523, 8.602");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.851, 0.9311, 1.134, 1.412, 1.749, 2.148, 2.623, 3.188, 3.86, 4.654",\
                 "0.8684, 0.9486, 1.151, 1.43, 1.767, 2.166, 2.64, 3.205, 3.878, 4.671",\
                 "0.9361, 1.016, 1.218, 1.497, 1.834, 2.233, 2.707, 3.273, 3.945, 4.738",\
                 "1.065, 1.145, 1.348, 1.626, 1.963, 2.362, 2.837, 3.402, 4.074, 4.868",\
                 "1.252, 1.333, 1.535, 1.813, 2.15, 2.55, 3.023, 3.589, 4.261, 5.054",\
                 "1.479, 1.561, 1.767, 2.048, 2.386, 2.786, 3.261, 3.826, 4.498, 5.291",\
                 "1.74, 1.824, 2.034, 2.32, 2.665, 3.068, 3.544, 4.11, 4.782, 5.574",\
                 "2.037, 2.123, 2.339, 2.632, 2.982, 3.391, 3.87, 4.438, 5.11, 5.902",\
                 "2.367, 2.455, 2.678, 2.981, 3.339, 3.755, 4.239, 4.809, 5.482, 6.274",\
                 "2.727, 2.82, 3.051, 3.365, 3.735, 4.16, 4.65, 5.224, 5.899, 6.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8523, 0.9172, 1.089, 1.356, 1.726, 2.22, 2.861, 3.668, 4.654, 5.829",\
                 "0.8653, 0.9302, 1.101, 1.369, 1.739, 2.233, 2.874, 3.681, 4.666, 5.843",\
                 "0.9112, 0.9763, 1.147, 1.415, 1.785, 2.279, 2.92, 3.727, 4.712, 5.887",\
                 "0.9859, 1.051, 1.222, 1.489, 1.859, 2.353, 2.994, 3.801, 4.786, 5.961",\
                 "1.08, 1.145, 1.316, 1.583, 1.953, 2.446, 3.087, 3.894, 4.878, 6.054",\
                 "1.172, 1.239, 1.413, 1.682, 2.053, 2.546, 3.187, 3.993, 4.977, 6.155",\
                 "1.252, 1.321, 1.499, 1.772, 2.145, 2.639, 3.279, 4.085, 5.069, 6.241",\
                 "1.317, 1.389, 1.571, 1.847, 2.222, 2.717, 3.357, 4.162, 5.146, 6.317",\
                 "1.36, 1.435, 1.624, 1.904, 2.284, 2.78, 3.419, 4.222, 5.205, 6.377",\
                 "1.377, 1.456, 1.651, 1.937, 2.323, 2.823, 3.463, 4.267, 5.248, 6.419");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2866, 0.3714, 0.5754, 0.8526, 1.217, 1.709, 2.364, 3.214, 4.292, 5.598",\
                 "0.2882, 0.3716, 0.5756, 0.853, 1.217, 1.709, 2.365, 3.214, 4.292, 5.599",\
                 "0.2872, 0.3716, 0.5756, 0.8528, 1.217, 1.708, 2.363, 3.214, 4.287, 5.6",\
                 "0.2872, 0.3722, 0.5762, 0.8538, 1.218, 1.707, 2.362, 3.214, 4.292, 5.599",\
                 "0.2908, 0.3764, 0.5808, 0.8564, 1.221, 1.71, 2.365, 3.219, 4.292, 5.6",\
                 "0.3062, 0.3922, 0.5974, 0.8702, 1.231, 1.716, 2.371, 3.222, 4.294, 5.598",\
                 "0.3234, 0.4116, 0.622, 0.898, 1.255, 1.733, 2.381, 3.225, 4.295, 5.6",\
                 "0.3474, 0.4376, 0.652, 0.931, 1.286, 1.761, 2.4, 3.239, 4.302, 5.605",\
                 "0.3774, 0.4706, 0.6916, 0.9756, 1.328, 1.796, 2.426, 3.258, 4.312, 5.607",\
                 "0.4122, 0.508, 0.7358, 1.029, 1.382, 1.843, 2.463, 3.283, 4.326, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1991, 0.2694, 0.4793, 0.8512, 1.422, 2.247, 3.365, 4.78, 6.535, 8.61",\
                 "0.1988, 0.2696, 0.48, 0.8504, 1.42, 2.247, 3.365, 4.783, 6.535, 8.613",\
                 "0.2002, 0.2692, 0.478, 0.8528, 1.42, 2.247, 3.362, 4.783, 6.532, 8.606",\
                 "0.199, 0.2698, 0.48, 0.8526, 1.422, 2.244, 3.361, 4.782, 6.533, 8.609",\
                 "0.2024, 0.2722, 0.4808, 0.8536, 1.423, 2.248, 3.362, 4.784, 6.528, 8.61",\
                 "0.2134, 0.2842, 0.4928, 0.8632, 1.428, 2.248, 3.363, 4.79, 6.527, 8.603",\
                 "0.2252, 0.2974, 0.5058, 0.8766, 1.438, 2.254, 3.363, 4.785, 6.536, 8.601",\
                 "0.2418, 0.3148, 0.5248, 0.8938, 1.453, 2.263, 3.367, 4.788, 6.527, 8.607",\
                 "0.2602, 0.336, 0.5466, 0.916, 1.471, 2.275, 3.372, 4.787, 6.531, 8.604",\
                 "0.2846, 0.361, 0.5746, 0.9448, 1.498, 2.293, 3.385, 4.788, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.851, 0.9312, 1.134, 1.412, 1.749, 2.148, 2.623, 3.188, 3.86, 4.654",\
                 "0.8684, 0.9485, 1.151, 1.43, 1.767, 2.166, 2.64, 3.205, 3.878, 4.671",\
                 "0.9359, 1.016, 1.219, 1.497, 1.834, 2.233, 2.707, 3.273, 3.945, 4.738",\
                 "1.065, 1.145, 1.348, 1.626, 1.963, 2.362, 2.837, 3.402, 4.074, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.589, 4.261, 5.054",\
                 "1.479, 1.561, 1.766, 2.048, 2.386, 2.786, 3.26, 3.826, 4.498, 5.291",\
                 "1.74, 1.824, 2.034, 2.32, 2.665, 3.068, 3.544, 4.11, 4.782, 5.574",\
                 "2.037, 2.123, 2.339, 2.632, 2.982, 3.39, 3.87, 4.438, 5.11, 5.902",\
                 "2.366, 2.456, 2.678, 2.981, 3.339, 3.754, 4.238, 4.809, 5.483, 6.274",\
                 "2.726, 2.82, 3.051, 3.365, 3.735, 4.159, 4.65, 5.225, 5.899, 6.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8522, 0.9172, 1.089, 1.356, 1.726, 2.22, 2.861, 3.668, 4.653, 5.83",\
                 "0.8653, 0.9302, 1.101, 1.369, 1.739, 2.233, 2.874, 3.681, 4.666, 5.84",\
                 "0.9112, 0.9762, 1.147, 1.415, 1.785, 2.279, 2.92, 3.727, 4.712, 5.887",\
                 "0.986, 1.051, 1.222, 1.489, 1.859, 2.353, 2.994, 3.801, 4.786, 5.96",\
                 "1.08, 1.145, 1.316, 1.583, 1.953, 2.446, 3.087, 3.894, 4.878, 6.053",\
                 "1.172, 1.239, 1.413, 1.682, 2.053, 2.547, 3.187, 3.993, 4.977, 6.155",\
                 "1.252, 1.321, 1.499, 1.772, 2.144, 2.639, 3.279, 4.085, 5.069, 6.241",\
                 "1.317, 1.389, 1.571, 1.847, 2.222, 2.717, 3.357, 4.162, 5.146, 6.32",\
                 "1.36, 1.435, 1.624, 1.904, 2.284, 2.78, 3.419, 4.222, 5.205, 6.377",\
                 "1.377, 1.456, 1.651, 1.937, 2.323, 2.823, 3.463, 4.267, 5.248, 6.419");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2882, 0.3716, 0.5758, 0.853, 1.216, 1.709, 2.362, 3.214, 4.292, 5.599",\
                 "0.2882, 0.3722, 0.5756, 0.8526, 1.217, 1.708, 2.362, 3.214, 4.292, 5.599",\
                 "0.2866, 0.372, 0.5756, 0.852, 1.217, 1.708, 2.363, 3.214, 4.292, 5.6",\
                 "0.287, 0.372, 0.576, 0.8536, 1.218, 1.708, 2.365, 3.219, 4.292, 5.599",\
                 "0.2908, 0.3762, 0.5806, 0.8558, 1.22, 1.711, 2.367, 3.217, 4.292, 5.6",\
                 "0.3062, 0.3926, 0.5976, 0.8706, 1.231, 1.716, 2.369, 3.22, 4.293, 5.6",\
                 "0.3234, 0.4118, 0.6226, 0.8992, 1.255, 1.733, 2.382, 3.224, 4.295, 5.601",\
                 "0.3472, 0.437, 0.652, 0.9316, 1.285, 1.761, 2.4, 3.238, 4.301, 5.603",\
                 "0.3782, 0.471, 0.6904, 0.9748, 1.328, 1.798, 2.428, 3.258, 4.31, 5.609",\
                 "0.4136, 0.508, 0.7358, 1.03, 1.382, 1.845, 2.466, 3.284, 4.324, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2001, 0.2698, 0.478, 0.8512, 1.42, 2.247, 3.362, 4.783, 6.528, 8.604",\
                 "0.1987, 0.2689, 0.4786, 0.85, 1.422, 2.247, 3.365, 4.782, 6.534, 8.604",\
                 "0.2002, 0.27, 0.4798, 0.8502, 1.42, 2.247, 3.362, 4.784, 6.532, 8.606",\
                 "0.1988, 0.2692, 0.4776, 0.8526, 1.422, 2.247, 3.359, 4.783, 6.532, 8.605",\
                 "0.2026, 0.2724, 0.4806, 0.8518, 1.422, 2.246, 3.364, 4.784, 6.527, 8.606",\
                 "0.2132, 0.284, 0.4928, 0.8632, 1.425, 2.248, 3.363, 4.79, 6.527, 8.603",\
                 "0.2252, 0.2974, 0.5058, 0.8766, 1.439, 2.254, 3.363, 4.785, 6.536, 8.601",\
                 "0.24, 0.3142, 0.524, 0.8938, 1.453, 2.262, 3.367, 4.79, 6.521, 8.617",\
                 "0.2602, 0.336, 0.5466, 0.916, 1.471, 2.274, 3.372, 4.787, 6.531, 8.606",\
                 "0.2846, 0.3612, 0.5746, 0.9448, 1.498, 2.293, 3.385, 4.788, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.851, 0.9311, 1.134, 1.412, 1.749, 2.148, 2.623, 3.188, 3.86, 4.654",\
                 "0.8684, 0.9486, 1.151, 1.43, 1.767, 2.166, 2.64, 3.205, 3.878, 4.671",\
                 "0.9359, 1.016, 1.219, 1.497, 1.834, 2.233, 2.707, 3.273, 3.945, 4.738",\
                 "1.065, 1.145, 1.348, 1.626, 1.963, 2.362, 2.837, 3.402, 4.074, 4.868",\
                 "1.252, 1.333, 1.535, 1.813, 2.15, 2.55, 3.024, 3.589, 4.261, 5.054",\
                 "1.479, 1.561, 1.767, 2.047, 2.386, 2.786, 3.261, 3.826, 4.498, 5.291",\
                 "1.74, 1.824, 2.034, 2.321, 2.664, 3.068, 3.544, 4.11, 4.782, 5.574",\
                 "2.037, 2.123, 2.339, 2.632, 2.982, 3.39, 3.87, 4.438, 5.11, 5.902",\
                 "2.367, 2.455, 2.678, 2.981, 3.339, 3.755, 4.238, 4.809, 5.482, 6.274",\
                 "2.726, 2.82, 3.051, 3.365, 3.734, 4.159, 4.65, 5.225, 5.899, 6.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8523, 0.9172, 1.088, 1.356, 1.726, 2.22, 2.861, 3.668, 4.654, 5.83",\
                 "0.8653, 0.9303, 1.101, 1.369, 1.739, 2.233, 2.874, 3.681, 4.666, 5.843",\
                 "0.9112, 0.9763, 1.147, 1.415, 1.785, 2.279, 2.92, 3.727, 4.712, 5.887",\
                 "0.986, 1.051, 1.222, 1.489, 1.859, 2.353, 2.994, 3.801, 4.786, 5.961",\
                 "1.08, 1.145, 1.316, 1.583, 1.953, 2.446, 3.087, 3.894, 4.879, 6.052",\
                 "1.172, 1.239, 1.413, 1.682, 2.053, 2.546, 3.187, 3.993, 4.977, 6.155",\
                 "1.252, 1.321, 1.499, 1.772, 2.144, 2.639, 3.279, 4.085, 5.069, 6.241",\
                 "1.317, 1.389, 1.571, 1.847, 2.222, 2.717, 3.357, 4.162, 5.146, 6.32",\
                 "1.36, 1.435, 1.624, 1.904, 2.284, 2.78, 3.419, 4.222, 5.205, 6.377",\
                 "1.377, 1.456, 1.651, 1.937, 2.323, 2.823, 3.463, 4.267, 5.248, 6.419");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2882, 0.3714, 0.5753, 0.8504, 1.217, 1.708, 2.365, 3.214, 4.292, 5.598",\
                 "0.288, 0.3713, 0.5756, 0.853, 1.217, 1.709, 2.362, 3.219, 4.292, 5.596",\
                 "0.2882, 0.3718, 0.5758, 0.8522, 1.217, 1.708, 2.363, 3.215, 4.292, 5.6",\
                 "0.2872, 0.3722, 0.5762, 0.8538, 1.218, 1.707, 2.362, 3.214, 4.292, 5.599",\
                 "0.2908, 0.3766, 0.5808, 0.855, 1.221, 1.711, 2.366, 3.219, 4.292, 5.6",\
                 "0.3058, 0.3926, 0.5974, 0.8706, 1.23, 1.716, 2.369, 3.221, 4.294, 5.597",\
                 "0.3234, 0.4116, 0.6226, 0.899, 1.254, 1.733, 2.381, 3.224, 4.296, 5.601",\
                 "0.3474, 0.4376, 0.652, 0.9314, 1.287, 1.761, 2.4, 3.238, 4.298, 5.599",\
                 "0.3772, 0.4706, 0.6906, 0.9756, 1.328, 1.796, 2.428, 3.258, 4.311, 5.611",\
                 "0.4142, 0.508, 0.7358, 1.028, 1.383, 1.845, 2.467, 3.284, 4.324, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1991, 0.2692, 0.4798, 0.8508, 1.42, 2.246, 3.365, 4.781, 6.535, 8.613",\
                 "0.1988, 0.2705, 0.4776, 0.8524, 1.42, 2.246, 3.362, 4.78, 6.525, 8.604",\
                 "0.2002, 0.269, 0.4778, 0.8502, 1.42, 2.248, 3.362, 4.784, 6.532, 8.606",\
                 "0.1992, 0.2692, 0.4788, 0.8504, 1.421, 2.246, 3.361, 4.784, 6.532, 8.607",\
                 "0.2024, 0.2722, 0.4808, 0.8534, 1.423, 2.249, 3.362, 4.784, 6.533, 8.598",\
                 "0.2134, 0.2842, 0.4928, 0.8632, 1.425, 2.249, 3.363, 4.79, 6.527, 8.603",\
                 "0.2252, 0.2974, 0.5058, 0.8766, 1.439, 2.254, 3.363, 4.785, 6.536, 8.601",\
                 "0.2422, 0.3152, 0.523, 0.8936, 1.453, 2.263, 3.367, 4.79, 6.522, 8.603",\
                 "0.2602, 0.336, 0.5466, 0.916, 1.471, 2.275, 3.372, 4.787, 6.531, 8.608",\
                 "0.2846, 0.361, 0.5746, 0.9448, 1.498, 2.293, 3.385, 4.788, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I2" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&I3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8511, 0.9312, 1.134, 1.412, 1.749, 2.148, 2.623, 3.188, 3.86, 4.654",\
                 "0.8684, 0.9486, 1.151, 1.43, 1.767, 2.166, 2.64, 3.205, 3.878, 4.671",\
                 "0.9359, 1.016, 1.219, 1.497, 1.834, 2.233, 2.707, 3.273, 3.945, 4.738",\
                 "1.065, 1.145, 1.348, 1.626, 1.963, 2.362, 2.837, 3.402, 4.074, 4.867",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.589, 4.261, 5.054",\
                 "1.479, 1.561, 1.766, 2.047, 2.386, 2.786, 3.261, 3.826, 4.498, 5.291",\
                 "1.74, 1.824, 2.034, 2.32, 2.665, 3.068, 3.544, 4.11, 4.782, 5.574",\
                 "2.037, 2.123, 2.339, 2.632, 2.982, 3.391, 3.87, 4.438, 5.11, 5.902",\
                 "2.367, 2.456, 2.678, 2.981, 3.339, 3.754, 4.239, 4.809, 5.482, 6.273",\
                 "2.726, 2.82, 3.051, 3.365, 3.735, 4.159, 4.65, 5.224, 5.899, 6.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8524, 0.9172, 1.089, 1.356, 1.726, 2.22, 2.861, 3.668, 4.653, 5.83",\
                 "0.8653, 0.9302, 1.101, 1.369, 1.739, 2.233, 2.874, 3.681, 4.667, 5.843",\
                 "0.9112, 0.9763, 1.147, 1.415, 1.785, 2.279, 2.92, 3.727, 4.711, 5.886",\
                 "0.986, 1.051, 1.222, 1.489, 1.859, 2.353, 2.994, 3.801, 4.786, 5.961",\
                 "1.08, 1.145, 1.316, 1.583, 1.953, 2.446, 3.087, 3.894, 4.878, 6.054",\
                 "1.172, 1.239, 1.413, 1.682, 2.053, 2.546, 3.187, 3.993, 4.977, 6.155",\
                 "1.252, 1.321, 1.499, 1.772, 2.144, 2.639, 3.279, 4.085, 5.069, 6.241",\
                 "1.317, 1.389, 1.571, 1.847, 2.222, 2.717, 3.357, 4.162, 5.145, 6.32",\
                 "1.36, 1.435, 1.624, 1.904, 2.284, 2.78, 3.419, 4.222, 5.205, 6.376",\
                 "1.377, 1.456, 1.651, 1.937, 2.323, 2.823, 3.463, 4.267, 5.248, 6.419");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2867, 0.3714, 0.5754, 0.853, 1.217, 1.708, 2.362, 3.214, 4.292, 5.598",\
                 "0.2882, 0.3715, 0.5756, 0.853, 1.217, 1.708, 2.362, 3.219, 4.287, 5.599",\
                 "0.287, 0.3718, 0.5758, 0.853, 1.217, 1.709, 2.365, 3.214, 4.292, 5.599",\
                 "0.2872, 0.372, 0.5762, 0.8536, 1.218, 1.707, 2.364, 3.214, 4.287, 5.597",\
                 "0.2908, 0.3762, 0.5808, 0.8552, 1.221, 1.711, 2.365, 3.219, 4.292, 5.6",\
                 "0.3078, 0.3926, 0.5976, 0.8708, 1.231, 1.718, 2.371, 3.222, 4.294, 5.6",\
                 "0.3238, 0.4116, 0.6218, 0.898, 1.255, 1.734, 2.382, 3.224, 4.296, 5.6",\
                 "0.3472, 0.4372, 0.6518, 0.9314, 1.286, 1.761, 2.4, 3.236, 4.302, 5.603",\
                 "0.3774, 0.47, 0.691, 0.9748, 1.326, 1.798, 2.427, 3.258, 4.312, 5.606",\
                 "0.4136, 0.5082, 0.7358, 1.029, 1.38, 1.843, 2.465, 3.282, 4.324, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1987, 0.2698, 0.4776, 0.8508, 1.422, 2.247, 3.364, 4.784, 6.528, 8.604",\
                 "0.1989, 0.2689, 0.4784, 0.8508, 1.42, 2.248, 3.365, 4.787, 6.526, 8.602",\
                 "0.2004, 0.2692, 0.478, 0.8526, 1.42, 2.248, 3.365, 4.784, 6.529, 8.605",\
                 "0.1988, 0.2696, 0.4782, 0.8506, 1.422, 2.247, 3.359, 4.781, 6.532, 8.607",\
                 "0.2024, 0.2722, 0.4808, 0.8536, 1.423, 2.248, 3.362, 4.784, 6.528, 8.61",\
                 "0.2132, 0.2842, 0.4928, 0.8632, 1.425, 2.249, 3.363, 4.79, 6.527, 8.603",\
                 "0.2252, 0.2974, 0.5058, 0.8766, 1.439, 2.254, 3.362, 4.785, 6.536, 8.601",\
                 "0.24, 0.3142, 0.5242, 0.8938, 1.453, 2.262, 3.367, 4.788, 6.525, 8.604",\
                 "0.2602, 0.336, 0.5466, 0.916, 1.471, 2.275, 3.372, 4.787, 6.531, 8.6",\
                 "0.2846, 0.361, 0.5746, 0.9448, 1.498, 2.293, 3.385, 4.788, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "I2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8511, 0.9312, 1.134, 1.412, 1.749, 2.148, 2.623, 3.188, 3.86, 4.654",\
                 "0.8684, 0.9486, 1.151, 1.43, 1.767, 2.166, 2.64, 3.205, 3.878, 4.671",\
                 "0.9359, 1.016, 1.219, 1.497, 1.834, 2.233, 2.707, 3.273, 3.945, 4.738",\
                 "1.065, 1.145, 1.348, 1.626, 1.963, 2.362, 2.837, 3.402, 4.074, 4.867",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.589, 4.261, 5.054",\
                 "1.479, 1.561, 1.766, 2.047, 2.386, 2.786, 3.261, 3.826, 4.498, 5.291",\
                 "1.74, 1.824, 2.034, 2.32, 2.665, 3.068, 3.544, 4.11, 4.782, 5.574",\
                 "2.037, 2.123, 2.339, 2.632, 2.982, 3.391, 3.87, 4.438, 5.11, 5.902",\
                 "2.367, 2.456, 2.678, 2.981, 3.339, 3.754, 4.239, 4.809, 5.482, 6.273",\
                 "2.726, 2.82, 3.051, 3.365, 3.735, 4.159, 4.65, 5.224, 5.899, 6.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8524, 0.9172, 1.089, 1.356, 1.726, 2.22, 2.861, 3.668, 4.653, 5.83",\
                 "0.8653, 0.9302, 1.101, 1.369, 1.739, 2.233, 2.874, 3.681, 4.667, 5.843",\
                 "0.9112, 0.9763, 1.147, 1.415, 1.785, 2.279, 2.92, 3.727, 4.711, 5.886",\
                 "0.986, 1.051, 1.222, 1.489, 1.859, 2.353, 2.994, 3.801, 4.786, 5.961",\
                 "1.08, 1.145, 1.316, 1.583, 1.953, 2.446, 3.087, 3.894, 4.878, 6.054",\
                 "1.172, 1.239, 1.413, 1.682, 2.053, 2.546, 3.187, 3.993, 4.977, 6.155",\
                 "1.252, 1.321, 1.499, 1.772, 2.144, 2.639, 3.279, 4.085, 5.069, 6.241",\
                 "1.317, 1.389, 1.571, 1.847, 2.222, 2.717, 3.357, 4.162, 5.145, 6.32",\
                 "1.36, 1.435, 1.624, 1.904, 2.284, 2.78, 3.419, 4.222, 5.205, 6.376",\
                 "1.377, 1.456, 1.651, 1.937, 2.323, 2.823, 3.463, 4.267, 5.248, 6.419");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2882, 0.3719, 0.5754, 0.8528, 1.217, 1.707, 2.361, 3.214, 4.292, 5.598",\
                 "0.288, 0.3719, 0.5756, 0.853, 1.217, 1.707, 2.362, 3.214, 4.292, 5.598",\
                 "0.2868, 0.3712, 0.5756, 0.8522, 1.216, 1.708, 2.364, 3.215, 4.292, 5.597",\
                 "0.2872, 0.3722, 0.5762, 0.8538, 1.217, 1.709, 2.362, 3.214, 4.292, 5.599",\
                 "0.2908, 0.3764, 0.5804, 0.8558, 1.221, 1.709, 2.366, 3.22, 4.291, 5.6",\
                 "0.3062, 0.3924, 0.597, 0.8712, 1.231, 1.717, 2.37, 3.218, 4.294, 5.599",\
                 "0.3234, 0.412, 0.6224, 0.8986, 1.255, 1.735, 2.382, 3.224, 4.296, 5.602",\
                 "0.3474, 0.4378, 0.652, 0.9326, 1.286, 1.761, 2.399, 3.237, 4.298, 5.601",\
                 "0.3778, 0.4708, 0.6916, 0.9744, 1.326, 1.796, 2.427, 3.257, 4.312, 5.607",\
                 "0.4114, 0.5072, 0.7348, 1.029, 1.381, 1.844, 2.462, 3.284, 4.326, 5.614");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2001, 0.2694, 0.4777, 0.8508, 1.42, 2.247, 3.365, 4.783, 6.528, 8.604",\
                 "0.1989, 0.2696, 0.4788, 0.8502, 1.422, 2.247, 3.364, 4.782, 6.535, 8.616",\
                 "0.1988, 0.2692, 0.478, 0.8528, 1.42, 2.248, 3.365, 4.784, 6.526, 8.598",\
                 "0.1988, 0.2694, 0.48, 0.8508, 1.42, 2.246, 3.361, 4.783, 6.522, 8.608",\
                 "0.2024, 0.2718, 0.4806, 0.8548, 1.422, 2.248, 3.365, 4.784, 6.526, 8.612",\
                 "0.214, 0.2842, 0.4928, 0.8636, 1.428, 2.25, 3.363, 4.79, 6.528, 8.618",\
                 "0.2242, 0.2974, 0.5058, 0.8764, 1.439, 2.254, 3.362, 4.785, 6.536, 8.603",\
                 "0.2406, 0.315, 0.5232, 0.8938, 1.453, 2.263, 3.368, 4.789, 6.527, 8.602",\
                 "0.2602, 0.336, 0.5466, 0.916, 1.472, 2.274, 3.372, 4.787, 6.533, 8.604",\
                 "0.2844, 0.362, 0.5746, 0.9448, 1.499, 2.293, 3.384, 4.793, 6.523, 8.604");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8527, 0.933, 1.136, 1.414, 1.751, 2.15, 2.624, 3.19, 3.862, 4.655",\
                 "0.8702, 0.9502, 1.153, 1.431, 1.769, 2.168, 2.642, 3.207, 3.879, 4.673",\
                 "0.9376, 1.018, 1.22, 1.498, 1.836, 2.235, 2.709, 3.274, 3.947, 4.74",\
                 "1.066, 1.146, 1.349, 1.627, 1.965, 2.363, 2.838, 3.403, 4.075, 4.869",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.55, 3.023, 3.589, 4.261, 5.054",\
                 "1.478, 1.559, 1.765, 2.046, 2.385, 2.785, 3.259, 3.824, 4.496, 5.289",\
                 "1.738, 1.822, 2.032, 2.318, 2.662, 3.066, 3.541, 4.107, 4.779, 5.571",\
                 "2.034, 2.12, 2.335, 2.628, 2.979, 3.387, 3.866, 4.434, 5.106, 5.899",\
                 "2.362, 2.451, 2.674, 2.976, 3.335, 3.75, 4.234, 4.803, 5.477, 6.269",\
                 "2.722, 2.816, 3.047, 3.36, 3.73, 4.154, 4.645, 5.219, 5.894, 6.687");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8432, 0.908, 1.079, 1.346, 1.716, 2.21, 2.852, 3.658, 4.644, 5.819",\
                 "0.8559, 0.9209, 1.092, 1.359, 1.729, 2.223, 2.864, 3.671, 4.656, 5.83",\
                 "0.9021, 0.9672, 1.138, 1.405, 1.775, 2.269, 2.911, 3.717, 4.702, 5.877",\
                 "0.9778, 1.043, 1.213, 1.481, 1.851, 2.344, 2.985, 3.793, 4.777, 5.952",\
                 "1.073, 1.138, 1.309, 1.576, 1.945, 2.439, 3.08, 3.886, 4.872, 6.048",\
                 "1.165, 1.232, 1.406, 1.675, 2.046, 2.539, 3.18, 3.985, 4.971, 6.146",\
                 "1.245, 1.314, 1.492, 1.764, 2.137, 2.631, 3.271, 4.077, 5.061, 6.234",\
                 "1.31, 1.382, 1.564, 1.839, 2.215, 2.709, 3.349, 4.154, 5.138, 6.312",\
                 "1.353, 1.427, 1.616, 1.896, 2.276, 2.772, 3.411, 4.215, 5.197, 6.369",\
                 "1.369, 1.448, 1.643, 1.929, 2.314, 2.814, 3.454, 4.257, 5.238, 6.411");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2884, 0.372, 0.576, 0.8528, 1.217, 1.707, 2.364, 3.214, 4.29, 5.6",\
                 "0.2873, 0.3727, 0.5762, 0.8532, 1.216, 1.707, 2.365, 3.214, 4.286, 5.596",\
                 "0.2888, 0.3722, 0.576, 0.852, 1.217, 1.707, 2.365, 3.213, 4.286, 5.6",\
                 "0.2888, 0.3726, 0.5762, 0.8536, 1.217, 1.709, 2.362, 3.214, 4.291, 5.599",\
                 "0.2914, 0.3768, 0.581, 0.8558, 1.221, 1.709, 2.366, 3.219, 4.292, 5.598",\
                 "0.3066, 0.393, 0.598, 0.8708, 1.23, 1.718, 2.369, 3.222, 4.294, 5.601",\
                 "0.3254, 0.4116, 0.6222, 0.8978, 1.255, 1.734, 2.382, 3.224, 4.295, 5.599",\
                 "0.3496, 0.4378, 0.6516, 0.9304, 1.286, 1.762, 2.399, 3.239, 4.299, 5.604",\
                 "0.3784, 0.47, 0.69, 0.9756, 1.326, 1.795, 2.425, 3.257, 4.313, 5.604",\
                 "0.4118, 0.5078, 0.735, 1.028, 1.382, 1.844, 2.463, 3.283, 4.326, 5.614");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1983, 0.2689, 0.4772, 0.8498, 1.421, 2.247, 3.362, 4.788, 6.523, 8.612",\
                 "0.1998, 0.2686, 0.4778, 0.85, 1.421, 2.247, 3.362, 4.783, 6.532, 8.604",\
                 "0.1996, 0.2692, 0.4782, 0.8496, 1.421, 2.247, 3.362, 4.783, 6.532, 8.605",\
                 "0.1986, 0.2694, 0.4786, 0.8522, 1.419, 2.247, 3.365, 4.784, 6.531, 8.608",\
                 "0.2018, 0.272, 0.4806, 0.8538, 1.422, 2.246, 3.362, 4.789, 6.525, 8.615",\
                 "0.2142, 0.2836, 0.4922, 0.8632, 1.425, 2.25, 3.365, 4.79, 6.526, 8.609",\
                 "0.2248, 0.2964, 0.5056, 0.877, 1.438, 2.253, 3.364, 4.784, 6.535, 8.604",\
                 "0.242, 0.3138, 0.522, 0.894, 1.452, 2.26, 3.368, 4.79, 6.522, 8.603",\
                 "0.2602, 0.3362, 0.5456, 0.9158, 1.47, 2.275, 3.373, 4.785, 6.529, 8.604",\
                 "0.285, 0.3624, 0.573, 0.944, 1.498, 2.293, 3.382, 4.788, 6.525, 8.6");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8527, 0.9329, 1.136, 1.414, 1.751, 2.15, 2.624, 3.19, 3.862, 4.655",\
                 "0.8703, 0.9504, 1.153, 1.432, 1.769, 2.168, 2.642, 3.207, 3.879, 4.673",\
                 "0.9376, 1.018, 1.22, 1.498, 1.836, 2.235, 2.709, 3.274, 3.947, 4.74",\
                 "1.066, 1.146, 1.349, 1.627, 1.964, 2.364, 2.838, 3.403, 4.075, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.589, 4.261, 5.054",\
                 "1.478, 1.559, 1.765, 2.046, 2.385, 2.784, 3.259, 3.824, 4.496, 5.289",\
                 "1.738, 1.821, 2.032, 2.318, 2.662, 3.065, 3.541, 4.107, 4.779, 5.571",\
                 "2.034, 2.12, 2.335, 2.628, 2.979, 3.387, 3.866, 4.434, 5.106, 5.899",\
                 "2.362, 2.451, 2.674, 2.976, 3.335, 3.75, 4.234, 4.804, 5.477, 6.269",\
                 "2.722, 2.815, 3.047, 3.36, 3.729, 4.155, 4.645, 5.218, 5.893, 6.686");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8432, 0.908, 1.079, 1.346, 1.716, 2.21, 2.851, 3.658, 4.643, 5.819",\
                 "0.8559, 0.9209, 1.092, 1.359, 1.729, 2.223, 2.864, 3.671, 4.657, 5.834",\
                 "0.9022, 0.9672, 1.138, 1.405, 1.775, 2.269, 2.91, 3.718, 4.702, 5.878",\
                 "0.9778, 1.043, 1.214, 1.481, 1.851, 2.344, 2.986, 3.793, 4.778, 5.955",\
                 "1.073, 1.138, 1.309, 1.576, 1.945, 2.438, 3.08, 3.886, 4.872, 6.048",\
                 "1.165, 1.232, 1.407, 1.675, 2.046, 2.539, 3.18, 3.986, 4.971, 6.146",\
                 "1.245, 1.314, 1.492, 1.764, 2.137, 2.631, 3.271, 4.077, 5.062, 6.236",\
                 "1.31, 1.382, 1.564, 1.839, 2.214, 2.709, 3.349, 4.154, 5.137, 6.312",\
                 "1.353, 1.427, 1.616, 1.896, 2.276, 2.772, 3.411, 4.214, 5.196, 6.368",\
                 "1.37, 1.448, 1.644, 1.929, 2.314, 2.814, 3.454, 4.258, 5.24, 6.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2884, 0.3723, 0.576, 0.853, 1.217, 1.706, 2.363, 3.215, 4.286, 5.6",\
                 "0.2873, 0.372, 0.576, 0.8532, 1.217, 1.707, 2.362, 3.219, 4.288, 5.6",\
                 "0.2874, 0.372, 0.5758, 0.852, 1.216, 1.707, 2.362, 3.214, 4.287, 5.598",\
                 "0.288, 0.3726, 0.5766, 0.8536, 1.218, 1.707, 2.363, 3.213, 4.286, 5.6",\
                 "0.2914, 0.377, 0.5804, 0.8558, 1.221, 1.711, 2.367, 3.216, 4.287, 5.599",\
                 "0.3064, 0.3934, 0.5976, 0.8706, 1.231, 1.718, 2.368, 3.218, 4.291, 5.601",\
                 "0.3254, 0.4116, 0.6222, 0.8996, 1.255, 1.733, 2.382, 3.226, 4.296, 5.602",\
                 "0.347, 0.4376, 0.6516, 0.932, 1.286, 1.761, 2.399, 3.238, 4.303, 5.604",\
                 "0.3784, 0.47, 0.6904, 0.9756, 1.326, 1.795, 2.425, 3.257, 4.313, 5.61",\
                 "0.4116, 0.5076, 0.735, 1.028, 1.382, 1.844, 2.463, 3.281, 4.324, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1983, 0.2689, 0.4795, 0.8512, 1.42, 2.248, 3.362, 4.78, 6.533, 8.609",\
                 "0.1996, 0.2687, 0.4788, 0.8498, 1.42, 2.245, 3.364, 4.783, 6.535, 8.602",\
                 "0.1994, 0.269, 0.4788, 0.852, 1.421, 2.247, 3.361, 4.784, 6.533, 8.61",\
                 "0.1986, 0.2696, 0.4774, 0.8508, 1.421, 2.248, 3.365, 4.784, 6.534, 8.603",\
                 "0.2018, 0.272, 0.4802, 0.854, 1.421, 2.245, 3.363, 4.789, 6.525, 8.615",\
                 "0.213, 0.2834, 0.4918, 0.8624, 1.428, 2.25, 3.365, 4.787, 6.523, 8.611",\
                 "0.2258, 0.298, 0.505, 0.8768, 1.438, 2.254, 3.366, 4.79, 6.536, 8.611",\
                 "0.24, 0.3134, 0.524, 0.894, 1.453, 2.262, 3.368, 4.787, 6.525, 8.604",\
                 "0.2604, 0.3364, 0.548, 0.9148, 1.472, 2.273, 3.373, 4.787, 6.532, 8.601",\
                 "0.2838, 0.3616, 0.5732, 0.9442, 1.497, 2.293, 3.383, 4.792, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8527, 0.933, 1.136, 1.414, 1.751, 2.15, 2.624, 3.19, 3.862, 4.655",\
                 "0.8702, 0.9504, 1.153, 1.431, 1.769, 2.168, 2.642, 3.207, 3.879, 4.673",\
                 "0.9376, 1.018, 1.22, 1.499, 1.836, 2.235, 2.709, 3.274, 3.947, 4.74",\
                 "1.066, 1.146, 1.349, 1.627, 1.965, 2.364, 2.838, 3.403, 4.075, 4.869",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.588, 4.261, 5.054",\
                 "1.478, 1.56, 1.765, 2.046, 2.385, 2.785, 3.259, 3.824, 4.496, 5.289",\
                 "1.738, 1.822, 2.032, 2.318, 2.662, 3.065, 3.541, 4.107, 4.779, 5.572",\
                 "2.034, 2.119, 2.335, 2.628, 2.978, 3.387, 3.867, 4.434, 5.106, 5.899",\
                 "2.362, 2.451, 2.674, 2.976, 3.335, 3.749, 4.233, 4.803, 5.477, 6.269",\
                 "2.722, 2.815, 3.047, 3.36, 3.73, 4.154, 4.645, 5.219, 5.894, 6.687");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8431, 0.9079, 1.079, 1.346, 1.716, 2.21, 2.851, 3.658, 4.644, 5.818",\
                 "0.8559, 0.9209, 1.092, 1.359, 1.729, 2.223, 2.864, 3.671, 4.657, 5.831",\
                 "0.9023, 0.9673, 1.138, 1.405, 1.775, 2.269, 2.91, 3.718, 4.703, 5.879",\
                 "0.9779, 1.043, 1.214, 1.481, 1.851, 2.344, 2.986, 3.793, 4.777, 5.952",\
                 "1.073, 1.138, 1.309, 1.576, 1.945, 2.438, 3.079, 3.886, 4.872, 6.049",\
                 "1.165, 1.232, 1.406, 1.675, 2.046, 2.539, 3.18, 3.985, 4.971, 6.146",\
                 "1.245, 1.315, 1.492, 1.764, 2.137, 2.631, 3.271, 4.077, 5.061, 6.235",\
                 "1.31, 1.382, 1.564, 1.839, 2.215, 2.709, 3.349, 4.154, 5.138, 6.312",\
                 "1.353, 1.428, 1.616, 1.896, 2.276, 2.772, 3.411, 4.215, 5.197, 6.368",\
                 "1.37, 1.448, 1.643, 1.93, 2.314, 2.814, 3.454, 4.257, 5.239, 6.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2884, 0.3721, 0.576, 0.8528, 1.217, 1.707, 2.363, 3.215, 4.286, 5.6",\
                 "0.2873, 0.3721, 0.5758, 0.8526, 1.217, 1.707, 2.365, 3.217, 4.292, 5.597",\
                 "0.2888, 0.3718, 0.5762, 0.853, 1.218, 1.707, 2.364, 3.214, 4.29, 5.599",\
                 "0.2878, 0.3726, 0.576, 0.8534, 1.218, 1.707, 2.365, 3.214, 4.292, 5.597",\
                 "0.2912, 0.3768, 0.5804, 0.856, 1.221, 1.71, 2.367, 3.219, 4.293, 5.6",\
                 "0.3066, 0.393, 0.5984, 0.8712, 1.23, 1.717, 2.369, 3.22, 4.292, 5.596",\
                 "0.3252, 0.412, 0.6222, 0.8996, 1.255, 1.733, 2.382, 3.225, 4.295, 5.6",\
                 "0.3474, 0.437, 0.6518, 0.9306, 1.285, 1.76, 2.4, 3.239, 4.3, 5.604",\
                 "0.3784, 0.4702, 0.6916, 0.975, 1.326, 1.796, 2.427, 3.256, 4.313, 5.612",\
                 "0.4118, 0.5072, 0.735, 1.029, 1.381, 1.844, 2.465, 3.283, 4.326, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1984, 0.2688, 0.4779, 0.8496, 1.42, 2.244, 3.364, 4.783, 6.535, 8.607",\
                 "0.1997, 0.2691, 0.4792, 0.85, 1.42, 2.243, 3.361, 4.784, 6.525, 8.608",\
                 "0.1998, 0.2686, 0.4794, 0.852, 1.419, 2.244, 3.362, 4.784, 6.535, 8.612",\
                 "0.1984, 0.2696, 0.4778, 0.8498, 1.42, 2.248, 3.365, 4.783, 6.522, 8.607",\
                 "0.2016, 0.2718, 0.4804, 0.8516, 1.422, 2.248, 3.363, 4.789, 6.526, 8.603",\
                 "0.2142, 0.2836, 0.4922, 0.8634, 1.428, 2.25, 3.365, 4.79, 6.526, 8.609",\
                 "0.2252, 0.297, 0.5056, 0.877, 1.439, 2.253, 3.364, 4.785, 6.536, 8.608",\
                 "0.24, 0.3142, 0.5228, 0.8928, 1.451, 2.262, 3.368, 4.788, 6.524, 8.603",\
                 "0.2606, 0.3364, 0.5464, 0.915, 1.472, 2.275, 3.373, 4.786, 6.53, 8.6",\
                 "0.2838, 0.3618, 0.5732, 0.9452, 1.497, 2.296, 3.384, 4.788, 6.524, 8.597");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8528, 0.9329, 1.136, 1.414, 1.751, 2.15, 2.624, 3.19, 3.862, 4.655",\
                 "0.8702, 0.9503, 1.153, 1.431, 1.769, 2.168, 2.642, 3.207, 3.879, 4.673",\
                 "0.9376, 1.018, 1.22, 1.498, 1.836, 2.235, 2.709, 3.274, 3.946, 4.74",\
                 "1.066, 1.146, 1.349, 1.627, 1.965, 2.363, 2.838, 3.403, 4.075, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.023, 3.588, 4.261, 5.054",\
                 "1.478, 1.56, 1.765, 2.046, 2.385, 2.785, 3.259, 3.824, 4.496, 5.289",\
                 "1.738, 1.822, 2.032, 2.318, 2.662, 3.065, 3.541, 4.107, 4.779, 5.572",\
                 "2.034, 2.119, 2.335, 2.628, 2.978, 3.387, 3.867, 4.434, 5.106, 5.899",\
                 "2.362, 2.451, 2.674, 2.976, 3.335, 3.749, 4.233, 4.803, 5.477, 6.269",\
                 "2.722, 2.815, 3.047, 3.359, 3.73, 4.155, 4.645, 5.218, 5.893, 6.686");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.843, 0.9079, 1.079, 1.346, 1.716, 2.21, 2.852, 3.658, 4.644, 5.821",\
                 "0.8559, 0.9209, 1.092, 1.359, 1.729, 2.223, 2.864, 3.671, 4.657, 5.831",\
                 "0.9024, 0.9672, 1.138, 1.405, 1.775, 2.269, 2.91, 3.717, 4.702, 5.878",\
                 "0.9779, 1.043, 1.214, 1.481, 1.851, 2.344, 2.986, 3.792, 4.778, 5.953",\
                 "1.073, 1.138, 1.309, 1.576, 1.945, 2.439, 3.08, 3.886, 4.872, 6.048",\
                 "1.165, 1.232, 1.406, 1.675, 2.046, 2.539, 3.179, 3.985, 4.971, 6.148",\
                 "1.245, 1.314, 1.492, 1.764, 2.137, 2.631, 3.271, 4.077, 5.061, 6.235",\
                 "1.31, 1.382, 1.564, 1.839, 2.214, 2.709, 3.349, 4.154, 5.137, 6.312",\
                 "1.353, 1.427, 1.616, 1.896, 2.275, 2.771, 3.411, 4.214, 5.197, 6.369",\
                 "1.369, 1.448, 1.643, 1.93, 2.315, 2.814, 3.454, 4.257, 5.238, 6.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2873, 0.3723, 0.576, 0.8532, 1.216, 1.706, 2.361, 3.215, 4.286, 5.6",\
                 "0.2888, 0.3722, 0.5752, 0.8526, 1.217, 1.708, 2.365, 3.219, 4.29, 5.597",\
                 "0.2884, 0.3722, 0.5762, 0.8512, 1.217, 1.707, 2.365, 3.214, 4.291, 5.598",\
                 "0.2892, 0.3726, 0.5764, 0.8538, 1.218, 1.708, 2.365, 3.218, 4.287, 5.599",\
                 "0.2914, 0.377, 0.5812, 0.8566, 1.221, 1.711, 2.364, 3.219, 4.29, 5.598",\
                 "0.3062, 0.393, 0.5982, 0.8716, 1.231, 1.716, 2.369, 3.219, 4.294, 5.6",\
                 "0.3252, 0.412, 0.6222, 0.8996, 1.255, 1.734, 2.382, 3.225, 4.295, 5.6",\
                 "0.3482, 0.4366, 0.6518, 0.932, 1.286, 1.761, 2.399, 3.239, 4.3, 5.6",\
                 "0.3784, 0.47, 0.6916, 0.975, 1.326, 1.795, 2.427, 3.257, 4.309, 5.61",\
                 "0.4112, 0.5072, 0.735, 1.029, 1.38, 1.845, 2.463, 3.281, 4.324, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1994, 0.2691, 0.4788, 0.85, 1.421, 2.244, 3.362, 4.787, 6.535, 8.602",\
                 "0.1995, 0.2691, 0.4792, 0.85, 1.421, 2.243, 3.361, 4.784, 6.525, 8.609",\
                 "0.1986, 0.269, 0.4786, 0.8502, 1.421, 2.246, 3.361, 4.785, 6.522, 8.604",\
                 "0.1984, 0.269, 0.4776, 0.8522, 1.419, 2.247, 3.364, 4.783, 6.535, 8.609",\
                 "0.202, 0.271, 0.4808, 0.8538, 1.422, 2.246, 3.363, 4.789, 6.525, 8.615",\
                 "0.2134, 0.2838, 0.4926, 0.863, 1.426, 2.25, 3.365, 4.789, 6.526, 8.602",\
                 "0.2262, 0.297, 0.5054, 0.877, 1.439, 2.254, 3.367, 4.79, 6.535, 8.608",\
                 "0.24, 0.3134, 0.524, 0.8942, 1.453, 2.262, 3.368, 4.789, 6.525, 8.604",\
                 "0.2606, 0.337, 0.546, 0.9156, 1.472, 2.275, 3.373, 4.787, 6.529, 8.6",\
                 "0.2846, 0.3614, 0.5736, 0.9452, 1.498, 2.292, 3.383, 4.788, 6.524, 8.601");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8527, 0.933, 1.136, 1.414, 1.751, 2.15, 2.624, 3.19, 3.862, 4.655",\
                 "0.8701, 0.9504, 1.153, 1.431, 1.769, 2.168, 2.642, 3.207, 3.879, 4.673",\
                 "0.9376, 1.018, 1.22, 1.498, 1.836, 2.235, 2.709, 3.274, 3.947, 4.74",\
                 "1.066, 1.147, 1.349, 1.627, 1.964, 2.364, 2.838, 3.403, 4.075, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.55, 3.023, 3.589, 4.261, 5.054",\
                 "1.478, 1.559, 1.765, 2.046, 2.385, 2.785, 3.259, 3.824, 4.496, 5.289",\
                 "1.738, 1.821, 2.032, 2.318, 2.662, 3.066, 3.541, 4.107, 4.779, 5.571",\
                 "2.034, 2.12, 2.335, 2.628, 2.978, 3.387, 3.867, 4.434, 5.106, 5.899",\
                 "2.362, 2.451, 2.674, 2.976, 3.335, 3.75, 4.233, 4.803, 5.477, 6.269",\
                 "2.722, 2.815, 3.047, 3.36, 3.73, 4.154, 4.645, 5.219, 5.894, 6.687");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8432, 0.908, 1.079, 1.346, 1.716, 2.21, 2.851, 3.658, 4.644, 5.82",\
                 "0.8559, 0.9209, 1.092, 1.359, 1.729, 2.223, 2.864, 3.671, 4.655, 5.832",\
                 "0.9025, 0.9672, 1.138, 1.405, 1.775, 2.269, 2.911, 3.717, 4.702, 5.877",\
                 "0.9778, 1.043, 1.214, 1.481, 1.851, 2.344, 2.985, 3.793, 4.778, 5.955",\
                 "1.073, 1.138, 1.309, 1.576, 1.945, 2.439, 3.08, 3.886, 4.872, 6.048",\
                 "1.165, 1.232, 1.406, 1.675, 2.046, 2.539, 3.18, 3.986, 4.971, 6.145",\
                 "1.245, 1.314, 1.492, 1.764, 2.137, 2.631, 3.271, 4.077, 5.061, 6.234",\
                 "1.31, 1.382, 1.564, 1.839, 2.215, 2.709, 3.349, 4.154, 5.137, 6.312",\
                 "1.353, 1.427, 1.616, 1.896, 2.276, 2.772, 3.411, 4.215, 5.197, 6.369",\
                 "1.369, 1.448, 1.644, 1.929, 2.314, 2.814, 3.454, 4.258, 5.239, 6.411");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2884, 0.372, 0.576, 0.8528, 1.217, 1.707, 2.363, 3.215, 4.286, 5.6",\
                 "0.2885, 0.3723, 0.5762, 0.853, 1.217, 1.708, 2.365, 3.214, 4.292, 5.598",\
                 "0.2888, 0.372, 0.576, 0.8512, 1.218, 1.707, 2.364, 3.214, 4.29, 5.599",\
                 "0.2888, 0.3724, 0.5768, 0.8534, 1.218, 1.707, 2.362, 3.218, 4.292, 5.6",\
                 "0.2914, 0.377, 0.5812, 0.8562, 1.22, 1.71, 2.366, 3.22, 4.292, 5.597",\
                 "0.3084, 0.3924, 0.598, 0.8706, 1.231, 1.717, 2.371, 3.222, 4.29, 5.596",\
                 "0.3254, 0.4116, 0.6222, 0.8996, 1.255, 1.733, 2.382, 3.224, 4.295, 5.6",\
                 "0.3492, 0.4376, 0.6518, 0.932, 1.286, 1.76, 2.399, 3.238, 4.301, 5.604",\
                 "0.3784, 0.47, 0.6904, 0.9756, 1.326, 1.795, 2.427, 3.257, 4.313, 5.604",\
                 "0.4116, 0.5074, 0.735, 1.028, 1.382, 1.844, 2.463, 3.283, 4.326, 5.614");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1984, 0.2692, 0.4772, 0.8502, 1.421, 2.247, 3.364, 4.783, 6.535, 8.615",\
                 "0.1996, 0.269, 0.4792, 0.85, 1.421, 2.244, 3.364, 4.783, 6.531, 8.604",\
                 "0.1988, 0.2692, 0.4788, 0.8496, 1.421, 2.247, 3.361, 4.784, 6.534, 8.604",\
                 "0.1986, 0.2692, 0.4782, 0.8522, 1.419, 2.248, 3.364, 4.784, 6.535, 8.616",\
                 "0.2018, 0.272, 0.4804, 0.8538, 1.422, 2.246, 3.363, 4.789, 6.525, 8.615",\
                 "0.2142, 0.2836, 0.4922, 0.8632, 1.428, 2.249, 3.365, 4.784, 6.525, 8.608",\
                 "0.2248, 0.2966, 0.5054, 0.877, 1.439, 2.253, 3.364, 4.784, 6.534, 8.604",\
                 "0.2408, 0.3138, 0.523, 0.8942, 1.451, 2.261, 3.367, 4.79, 6.523, 8.604",\
                 "0.2608, 0.336, 0.5456, 0.9158, 1.47, 2.275, 3.372, 4.785, 6.527, 8.604",\
                 "0.2848, 0.362, 0.5732, 0.9438, 1.498, 2.295, 3.386, 4.792, 6.526, 8.605");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8527, 0.9329, 1.136, 1.414, 1.751, 2.15, 2.624, 3.19, 3.862, 4.655",\
                 "0.8702, 0.9504, 1.153, 1.432, 1.769, 2.168, 2.642, 3.207, 3.879, 4.672",\
                 "0.9376, 1.018, 1.22, 1.498, 1.836, 2.235, 2.709, 3.274, 3.947, 4.74",\
                 "1.066, 1.146, 1.349, 1.627, 1.965, 2.364, 2.838, 3.403, 4.075, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.589, 4.261, 5.054",\
                 "1.478, 1.559, 1.765, 2.046, 2.385, 2.784, 3.259, 3.824, 4.496, 5.289",\
                 "1.738, 1.821, 2.032, 2.318, 2.662, 3.065, 3.541, 4.107, 4.779, 5.571",\
                 "2.034, 2.12, 2.335, 2.628, 2.978, 3.387, 3.867, 4.434, 5.106, 5.899",\
                 "2.362, 2.451, 2.674, 2.976, 3.335, 3.75, 4.234, 4.804, 5.477, 6.269",\
                 "2.722, 2.815, 3.047, 3.36, 3.73, 4.155, 4.645, 5.218, 5.893, 6.686");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8429, 0.908, 1.079, 1.346, 1.716, 2.21, 2.852, 3.658, 4.642, 5.818",\
                 "0.8561, 0.921, 1.092, 1.359, 1.729, 2.223, 2.864, 3.671, 4.656, 5.83",\
                 "0.9023, 0.9673, 1.138, 1.405, 1.775, 2.269, 2.911, 3.718, 4.702, 5.877",\
                 "0.9779, 1.043, 1.214, 1.481, 1.85, 2.344, 2.985, 3.793, 4.778, 5.955",\
                 "1.073, 1.138, 1.309, 1.576, 1.945, 2.439, 3.079, 3.886, 4.871, 6.047",\
                 "1.165, 1.232, 1.407, 1.675, 2.046, 2.539, 3.18, 3.986, 4.971, 6.146",\
                 "1.245, 1.314, 1.492, 1.764, 2.137, 2.631, 3.271, 4.077, 5.062, 6.234",\
                 "1.31, 1.382, 1.564, 1.839, 2.215, 2.71, 3.349, 4.154, 5.138, 6.311",\
                 "1.352, 1.427, 1.616, 1.896, 2.276, 2.772, 3.411, 4.214, 5.196, 6.368",\
                 "1.37, 1.448, 1.643, 1.929, 2.314, 2.814, 3.454, 4.258, 5.239, 6.411");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2884, 0.3723, 0.576, 0.8534, 1.215, 1.706, 2.363, 3.215, 4.286, 5.6",\
                 "0.2875, 0.372, 0.576, 0.853, 1.218, 1.707, 2.365, 3.214, 4.291, 5.599",\
                 "0.2874, 0.372, 0.5756, 0.8522, 1.216, 1.708, 2.362, 3.214, 4.287, 5.598",\
                 "0.2892, 0.3726, 0.5758, 0.8536, 1.218, 1.707, 2.365, 3.219, 4.291, 5.598",\
                 "0.2914, 0.3764, 0.5804, 0.8558, 1.221, 1.711, 2.367, 3.216, 4.287, 5.599",\
                 "0.3068, 0.393, 0.5976, 0.8704, 1.23, 1.718, 2.37, 3.22, 4.294, 5.599",\
                 "0.3254, 0.4116, 0.6222, 0.8996, 1.255, 1.733, 2.379, 3.224, 4.292, 5.6",\
                 "0.347, 0.4378, 0.6518, 0.932, 1.286, 1.76, 2.399, 3.237, 4.299, 5.6",\
                 "0.3784, 0.47, 0.691, 0.9756, 1.326, 1.796, 2.426, 3.257, 4.309, 5.608",\
                 "0.412, 0.5082, 0.735, 1.028, 1.381, 1.844, 2.463, 3.281, 4.324, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1997, 0.2692, 0.4795, 0.8498, 1.419, 2.247, 3.362, 4.781, 6.529, 8.608",\
                 "0.1986, 0.2693, 0.4784, 0.85, 1.421, 2.247, 3.361, 4.784, 6.534, 8.604",\
                 "0.1998, 0.2692, 0.478, 0.8498, 1.421, 2.247, 3.362, 4.782, 6.531, 8.605",\
                 "0.1986, 0.2684, 0.4774, 0.8498, 1.422, 2.247, 3.364, 4.784, 6.535, 8.603",\
                 "0.2018, 0.2718, 0.4802, 0.8532, 1.42, 2.248, 3.365, 4.79, 6.522, 8.604",\
                 "0.2128, 0.2834, 0.4918, 0.8624, 1.428, 2.248, 3.365, 4.787, 6.523, 8.611",\
                 "0.226, 0.297, 0.505, 0.876, 1.437, 2.254, 3.364, 4.781, 6.536, 8.602",\
                 "0.2406, 0.3144, 0.5236, 0.8924, 1.453, 2.262, 3.368, 4.79, 6.522, 8.601",\
                 "0.2616, 0.3364, 0.5464, 0.9164, 1.472, 2.276, 3.373, 4.786, 6.532, 8.601",\
                 "0.2838, 0.3618, 0.5724, 0.9446, 1.497, 2.296, 3.384, 4.792, 6.524, 8.605");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8527, 0.9329, 1.136, 1.414, 1.751, 2.15, 2.624, 3.19, 3.862, 4.655",\
                 "0.8702, 0.9503, 1.153, 1.432, 1.769, 2.168, 2.642, 3.207, 3.879, 4.672",\
                 "0.9376, 1.018, 1.22, 1.498, 1.836, 2.235, 2.709, 3.274, 3.947, 4.74",\
                 "1.067, 1.146, 1.349, 1.627, 1.964, 2.364, 2.838, 3.403, 4.075, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.589, 4.261, 5.054",\
                 "1.478, 1.559, 1.765, 2.046, 2.385, 2.785, 3.259, 3.824, 4.496, 5.289",\
                 "1.738, 1.822, 2.032, 2.318, 2.662, 3.066, 3.541, 4.107, 4.779, 5.572",\
                 "2.034, 2.12, 2.335, 2.628, 2.978, 3.387, 3.867, 4.434, 5.106, 5.899",\
                 "2.362, 2.451, 2.674, 2.976, 3.335, 3.749, 4.233, 4.803, 5.477, 6.269",\
                 "2.722, 2.816, 3.047, 3.36, 3.73, 4.154, 4.645, 5.219, 5.894, 6.687");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8432, 0.908, 1.079, 1.346, 1.716, 2.21, 2.851, 3.658, 4.644, 5.821",\
                 "0.8561, 0.9209, 1.092, 1.359, 1.729, 2.223, 2.864, 3.671, 4.657, 5.834",\
                 "0.9024, 0.9672, 1.138, 1.405, 1.775, 2.269, 2.911, 3.717, 4.702, 5.877",\
                 "0.9779, 1.043, 1.214, 1.481, 1.851, 2.344, 2.986, 3.793, 4.778, 5.954",\
                 "1.073, 1.138, 1.309, 1.576, 1.945, 2.438, 3.08, 3.886, 4.872, 6.048",\
                 "1.165, 1.232, 1.407, 1.675, 2.046, 2.539, 3.18, 3.986, 4.971, 6.148",\
                 "1.245, 1.314, 1.492, 1.764, 2.137, 2.631, 3.271, 4.077, 5.062, 6.234",\
                 "1.31, 1.382, 1.564, 1.839, 2.214, 2.709, 3.349, 4.154, 5.138, 6.312",\
                 "1.353, 1.428, 1.616, 1.896, 2.276, 2.772, 3.411, 4.215, 5.197, 6.369",\
                 "1.369, 1.448, 1.643, 1.93, 2.314, 2.814, 3.454, 4.257, 5.239, 6.411");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2884, 0.3723, 0.576, 0.8528, 1.217, 1.706, 2.365, 3.215, 4.286, 5.6",\
                 "0.2874, 0.3722, 0.5756, 0.853, 1.217, 1.708, 2.365, 3.219, 4.292, 5.6",\
                 "0.2888, 0.3718, 0.5754, 0.851, 1.217, 1.707, 2.365, 3.214, 4.29, 5.6",\
                 "0.2878, 0.3726, 0.5768, 0.8538, 1.218, 1.708, 2.362, 3.214, 4.286, 5.6",\
                 "0.2914, 0.377, 0.5804, 0.856, 1.221, 1.71, 2.367, 3.219, 4.292, 5.6",\
                 "0.3062, 0.3926, 0.5982, 0.8702, 1.231, 1.718, 2.371, 3.222, 4.294, 5.601",\
                 "0.3234, 0.412, 0.6222, 0.8996, 1.255, 1.733, 2.382, 3.225, 4.295, 5.6",\
                 "0.3492, 0.4374, 0.6518, 0.932, 1.285, 1.761, 2.399, 3.236, 4.299, 5.605",\
                 "0.3784, 0.47, 0.6916, 0.975, 1.326, 1.795, 2.427, 3.256, 4.311, 5.612",\
                 "0.4118, 0.5078, 0.735, 1.028, 1.381, 1.844, 2.465, 3.283, 4.326, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1983, 0.2689, 0.4788, 0.8502, 1.421, 2.248, 3.364, 4.783, 6.535, 8.603",\
                 "0.1987, 0.269, 0.4788, 0.8502, 1.42, 2.247, 3.36, 4.783, 6.523, 8.617",\
                 "0.1982, 0.269, 0.4788, 0.85, 1.421, 2.247, 3.361, 4.783, 6.532, 8.604",\
                 "0.1986, 0.2692, 0.4778, 0.8498, 1.421, 2.248, 3.364, 4.783, 6.535, 8.615",\
                 "0.2018, 0.2714, 0.4798, 0.8538, 1.423, 2.248, 3.363, 4.789, 6.525, 8.615",\
                 "0.2124, 0.2838, 0.4914, 0.8626, 1.428, 2.246, 3.364, 4.786, 6.536, 8.601",\
                 "0.2244, 0.2968, 0.5056, 0.8764, 1.438, 2.253, 3.364, 4.789, 6.536, 8.603",\
                 "0.2402, 0.3138, 0.5232, 0.8936, 1.451, 2.262, 3.367, 4.79, 6.52, 8.603",\
                 "0.2606, 0.3364, 0.546, 0.915, 1.472, 2.273, 3.374, 4.787, 6.53, 8.604",\
                 "0.2846, 0.3622, 0.5736, 0.9432, 1.497, 2.292, 3.383, 4.79, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "I3" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&I2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8528, 0.9329, 1.136, 1.414, 1.751, 2.15, 2.624, 3.19, 3.862, 4.655",\
                 "0.8702, 0.9504, 1.153, 1.431, 1.769, 2.168, 2.642, 3.207, 3.879, 4.673",\
                 "0.9376, 1.018, 1.22, 1.499, 1.836, 2.235, 2.709, 3.274, 3.947, 4.74",\
                 "1.066, 1.147, 1.349, 1.627, 1.964, 2.363, 2.838, 3.403, 4.075, 4.869",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.023, 3.588, 4.261, 5.054",\
                 "1.478, 1.56, 1.765, 2.046, 2.385, 2.785, 3.259, 3.825, 4.496, 5.289",\
                 "1.738, 1.822, 2.031, 2.318, 2.662, 3.065, 3.541, 4.107, 4.779, 5.572",\
                 "2.034, 2.12, 2.335, 2.628, 2.978, 3.387, 3.867, 4.434, 5.106, 5.899",\
                 "2.362, 2.451, 2.674, 2.977, 3.335, 3.749, 4.234, 4.804, 5.477, 6.269",\
                 "2.722, 2.815, 3.047, 3.36, 3.73, 4.154, 4.644, 5.218, 5.893, 6.686");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.843, 0.908, 1.079, 1.346, 1.716, 2.21, 2.851, 3.658, 4.643, 5.818",\
                 "0.8559, 0.9209, 1.092, 1.359, 1.729, 2.223, 2.864, 3.671, 4.656, 5.833",\
                 "0.9022, 0.9672, 1.138, 1.405, 1.775, 2.269, 2.91, 3.718, 4.703, 5.879",\
                 "0.9777, 1.043, 1.214, 1.481, 1.851, 2.344, 2.986, 3.793, 4.777, 5.953",\
                 "1.073, 1.138, 1.309, 1.576, 1.945, 2.439, 3.08, 3.886, 4.872, 6.048",\
                 "1.165, 1.232, 1.406, 1.675, 2.046, 2.539, 3.18, 3.985, 4.97, 6.148",\
                 "1.245, 1.314, 1.492, 1.764, 2.137, 2.631, 3.271, 4.077, 5.061, 6.239",\
                 "1.31, 1.381, 1.564, 1.839, 2.215, 2.71, 3.349, 4.154, 5.138, 6.312",\
                 "1.353, 1.427, 1.616, 1.896, 2.275, 2.771, 3.411, 4.214, 5.197, 6.369",\
                 "1.369, 1.448, 1.643, 1.929, 2.314, 2.814, 3.454, 4.257, 5.238, 6.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2873, 0.3723, 0.576, 0.8532, 1.217, 1.708, 2.365, 3.219, 4.292, 5.599",\
                 "0.2873, 0.372, 0.5762, 0.8526, 1.217, 1.707, 2.364, 3.217, 4.291, 5.596",\
                 "0.2888, 0.3718, 0.5762, 0.853, 1.217, 1.707, 2.362, 3.214, 4.287, 5.598",\
                 "0.289, 0.3726, 0.5766, 0.8534, 1.218, 1.709, 2.365, 3.215, 4.292, 5.598",\
                 "0.2914, 0.3768, 0.5812, 0.8572, 1.22, 1.711, 2.363, 3.219, 4.293, 5.598",\
                 "0.3066, 0.3928, 0.5976, 0.871, 1.231, 1.717, 2.371, 3.221, 4.294, 5.596",\
                 "0.3234, 0.4116, 0.6224, 0.8974, 1.255, 1.734, 2.382, 3.225, 4.297, 5.601",\
                 "0.347, 0.437, 0.6524, 0.932, 1.286, 1.76, 2.399, 3.239, 4.299, 5.605",\
                 "0.3784, 0.47, 0.6916, 0.9742, 1.326, 1.796, 2.426, 3.257, 4.309, 5.61",\
                 "0.4126, 0.5076, 0.7348, 1.029, 1.381, 1.844, 2.462, 3.281, 4.324, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1994, 0.2685, 0.478, 0.8502, 1.421, 2.244, 3.363, 4.783, 6.532, 8.605",\
                 "0.1997, 0.2685, 0.478, 0.8502, 1.422, 2.248, 3.361, 4.781, 6.533, 8.614",\
                 "0.1996, 0.269, 0.4788, 0.8498, 1.422, 2.244, 3.361, 4.786, 6.536, 8.613",\
                 "0.2, 0.2694, 0.4776, 0.8524, 1.42, 2.245, 3.365, 4.783, 6.522, 8.612",\
                 "0.2018, 0.2714, 0.4798, 0.8538, 1.423, 2.246, 3.363, 4.789, 6.525, 8.615",\
                 "0.2124, 0.2842, 0.492, 0.8628, 1.428, 2.246, 3.364, 4.789, 6.534, 8.601",\
                 "0.2258, 0.2968, 0.5056, 0.8764, 1.438, 2.254, 3.366, 4.782, 6.535, 8.603",\
                 "0.2406, 0.3142, 0.5234, 0.8932, 1.453, 2.262, 3.368, 4.791, 6.521, 8.617",\
                 "0.2602, 0.337, 0.5462, 0.9168, 1.472, 2.275, 3.371, 4.787, 6.527, 8.602",\
                 "0.2846, 0.3626, 0.5734, 0.9428, 1.497, 2.294, 3.383, 4.794, 6.524, 8.605");
        }
      }

      timing() {
        related_pin : "I3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8527, 0.9329, 1.136, 1.414, 1.751, 2.15, 2.624, 3.19, 3.862, 4.655",\
                 "0.8702, 0.9503, 1.153, 1.432, 1.769, 2.168, 2.642, 3.207, 3.879, 4.672",\
                 "0.9376, 1.018, 1.22, 1.498, 1.836, 2.235, 2.709, 3.274, 3.947, 4.74",\
                 "1.067, 1.146, 1.349, 1.627, 1.964, 2.364, 2.838, 3.403, 4.075, 4.868",\
                 "1.252, 1.332, 1.535, 1.813, 2.15, 2.549, 3.024, 3.589, 4.261, 5.054",\
                 "1.478, 1.559, 1.765, 2.046, 2.385, 2.785, 3.259, 3.824, 4.496, 5.289",\
                 "1.738, 1.822, 2.032, 2.318, 2.662, 3.066, 3.541, 4.107, 4.779, 5.572",\
                 "2.034, 2.12, 2.335, 2.628, 2.978, 3.387, 3.867, 4.434, 5.106, 5.899",\
                 "2.362, 2.451, 2.674, 2.976, 3.335, 3.749, 4.233, 4.803, 5.477, 6.269",\
                 "2.722, 2.816, 3.047, 3.36, 3.73, 4.154, 4.645, 5.219, 5.894, 6.687");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8432, 0.908, 1.079, 1.346, 1.716, 2.21, 2.851, 3.658, 4.644, 5.821",\
                 "0.8561, 0.9209, 1.092, 1.359, 1.729, 2.223, 2.864, 3.671, 4.657, 5.834",\
                 "0.9024, 0.9672, 1.138, 1.405, 1.775, 2.269, 2.911, 3.717, 4.702, 5.877",\
                 "0.9779, 1.043, 1.214, 1.481, 1.851, 2.344, 2.986, 3.793, 4.778, 5.954",\
                 "1.073, 1.138, 1.309, 1.576, 1.945, 2.438, 3.08, 3.886, 4.872, 6.048",\
                 "1.165, 1.232, 1.407, 1.675, 2.046, 2.539, 3.18, 3.986, 4.971, 6.148",\
                 "1.245, 1.314, 1.492, 1.764, 2.137, 2.631, 3.271, 4.077, 5.062, 6.234",\
                 "1.31, 1.382, 1.564, 1.839, 2.214, 2.709, 3.349, 4.154, 5.138, 6.312",\
                 "1.353, 1.428, 1.616, 1.896, 2.276, 2.772, 3.411, 4.215, 5.197, 6.369",\
                 "1.369, 1.448, 1.643, 1.93, 2.314, 2.814, 3.454, 4.257, 5.239, 6.411");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2884, 0.372, 0.576, 0.8528, 1.217, 1.707, 2.363, 3.215, 4.286, 5.6",\
                 "0.2885, 0.3723, 0.5762, 0.853, 1.217, 1.708, 2.365, 3.214, 4.292, 5.598",\
                 "0.2888, 0.372, 0.576, 0.8512, 1.218, 1.707, 2.364, 3.214, 4.29, 5.599",\
                 "0.2888, 0.3724, 0.5768, 0.8534, 1.218, 1.707, 2.362, 3.218, 4.292, 5.6",\
                 "0.2914, 0.377, 0.5812, 0.8562, 1.22, 1.71, 2.366, 3.22, 4.292, 5.597",\
                 "0.3084, 0.3924, 0.598, 0.8706, 1.231, 1.717, 2.371, 3.222, 4.29, 5.596",\
                 "0.3254, 0.4116, 0.6222, 0.8996, 1.255, 1.733, 2.382, 3.224, 4.295, 5.6",\
                 "0.3492, 0.4376, 0.6518, 0.932, 1.286, 1.76, 2.399, 3.238, 4.301, 5.604",\
                 "0.3784, 0.47, 0.6904, 0.9756, 1.326, 1.795, 2.427, 3.257, 4.313, 5.604",\
                 "0.4116, 0.5074, 0.735, 1.028, 1.382, 1.844, 2.463, 3.283, 4.326, 5.614");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1983, 0.2689, 0.4788, 0.8502, 1.421, 2.248, 3.364, 4.783, 6.535, 8.603",\
                 "0.1987, 0.269, 0.4788, 0.8502, 1.42, 2.247, 3.36, 4.783, 6.523, 8.617",\
                 "0.1982, 0.269, 0.4788, 0.85, 1.421, 2.247, 3.361, 4.783, 6.532, 8.604",\
                 "0.1986, 0.2692, 0.4778, 0.8498, 1.421, 2.248, 3.364, 4.783, 6.535, 8.615",\
                 "0.2018, 0.2714, 0.4798, 0.8538, 1.423, 2.248, 3.363, 4.789, 6.525, 8.615",\
                 "0.2124, 0.2838, 0.4914, 0.8626, 1.428, 2.246, 3.364, 4.786, 6.536, 8.601",\
                 "0.2244, 0.2968, 0.5056, 0.8764, 1.438, 2.253, 3.364, 4.789, 6.536, 8.603",\
                 "0.2402, 0.3138, 0.5232, 0.8936, 1.451, 2.262, 3.367, 4.79, 6.52, 8.603",\
                 "0.2606, 0.3364, 0.546, 0.915, 1.472, 2.273, 3.374, 4.787, 6.53, 8.604",\
                 "0.2846, 0.3622, 0.5736, 0.9432, 1.497, 2.292, 3.383, 4.79, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8247, 0.9047, 1.107, 1.386, 1.723, 2.122, 2.596, 3.161, 3.834, 4.627",\
                 "0.8383, 0.9184, 1.121, 1.399, 1.736, 2.136, 2.61, 3.175, 3.847, 4.64",\
                 "0.8902, 0.9705, 1.173, 1.451, 1.788, 2.188, 2.662, 3.227, 3.899, 4.692",\
                 "0.9859, 1.066, 1.269, 1.547, 1.884, 2.283, 2.757, 3.323, 3.995, 4.788",\
                 "1.102, 1.182, 1.384, 1.662, 1.999, 2.398, 2.872, 3.437, 4.109, 4.903",\
                 "1.183, 1.263, 1.465, 1.741, 2.077, 2.475, 2.949, 3.514, 4.186, 4.979",\
                 "1.211, 1.291, 1.491, 1.768, 2.104, 2.502, 2.976, 3.54, 4.212, 5.006",\
                 "1.197, 1.277, 1.479, 1.755, 2.092, 2.49, 2.964, 3.528, 4.199, 4.992",\
                 "1.143, 1.224, 1.426, 1.703, 2.039, 2.438, 2.912, 3.476, 4.147, 4.94",\
                 "1.051, 1.131, 1.333, 1.61, 1.948, 2.347, 2.821, 3.385, 4.057, 4.85");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("1.026, 1.092, 1.263, 1.529, 1.899, 2.393, 3.034, 3.841, 4.825, 6.001",\
                 "1.043, 1.108, 1.279, 1.546, 1.916, 2.409, 3.05, 3.857, 4.843, 6.018",\
                 "1.11, 1.175, 1.346, 1.613, 1.983, 2.476, 3.117, 3.924, 4.91, 6.086",\
                 "1.251, 1.316, 1.487, 1.754, 2.124, 2.617, 3.258, 4.065, 5.05, 6.223",\
                 "1.458, 1.523, 1.694, 1.961, 2.33, 2.824, 3.465, 4.272, 5.257, 6.432",\
                 "1.701, 1.766, 1.937, 2.204, 2.574, 3.067, 3.708, 4.515, 5.5, 6.676",\
                 "1.98, 2.046, 2.217, 2.483, 2.852, 3.345, 3.986, 4.792, 5.778, 6.955",\
                 "2.298, 2.364, 2.535, 2.802, 3.171, 3.664, 4.304, 5.11, 6.095, 7.273",\
                 "2.657, 2.723, 2.894, 3.161, 3.53, 4.023, 4.663, 5.468, 6.452, 7.626",\
                 "3.055, 3.121, 3.294, 3.561, 3.93, 4.423, 5.064, 5.869, 6.853, 8.026");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2872, 0.3723, 0.5759, 0.8534, 1.217, 1.706, 2.363, 3.217, 4.286, 5.599",\
                 "0.2885, 0.3723, 0.5754, 0.851, 1.216, 1.706, 2.365, 3.219, 4.287, 5.6",\
                 "0.2872, 0.3718, 0.576, 0.8526, 1.217, 1.707, 2.362, 3.218, 4.286, 5.6",\
                 "0.288, 0.3716, 0.5752, 0.853, 1.217, 1.708, 2.365, 3.214, 4.291, 5.597",\
                 "0.2886, 0.373, 0.5774, 0.8538, 1.219, 1.708, 2.366, 3.215, 4.292, 5.597",\
                 "0.2958, 0.378, 0.5798, 0.8546, 1.218, 1.709, 2.366, 3.215, 4.288, 5.598",\
                 "0.2954, 0.3792, 0.5814, 0.8564, 1.219, 1.706, 2.361, 3.214, 4.29, 5.6",\
                 "0.2974, 0.3812, 0.5836, 0.8584, 1.222, 1.709, 2.363, 3.21, 4.286, 5.595",\
                 "0.2988, 0.383, 0.5862, 0.8604, 1.224, 1.711, 2.364, 3.213, 4.282, 5.589",\
                 "0.3012, 0.3854, 0.5896, 0.8636, 1.227, 1.714, 2.368, 3.217, 4.285, 5.587");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2015, 0.2712, 0.479, 0.8512, 1.422, 2.245, 3.361, 4.784, 6.532, 8.61",\
                 "0.2014, 0.2704, 0.4814, 0.8516, 1.421, 2.248, 3.365, 4.781, 6.524, 8.604",\
                 "0.2014, 0.2708, 0.4812, 0.8514, 1.421, 2.248, 3.365, 4.781, 6.523, 8.604",\
                 "0.2014, 0.271, 0.4808, 0.8514, 1.421, 2.247, 3.363, 4.782, 6.525, 8.599",\
                 "0.2014, 0.2714, 0.4796, 0.8522, 1.423, 2.248, 3.364, 4.782, 6.533, 8.609",\
                 "0.201, 0.2712, 0.4796, 0.8526, 1.422, 2.248, 3.36, 4.782, 6.534, 8.603",\
                 "0.2028, 0.2728, 0.4802, 0.8516, 1.42, 2.248, 3.362, 4.79, 6.526, 8.617",\
                 "0.2048, 0.2734, 0.4832, 0.8536, 1.421, 2.244, 3.361, 4.788, 6.523, 8.604",\
                 "0.2062, 0.2758, 0.4848, 0.8556, 1.422, 2.245, 3.361, 4.784, 6.527, 8.613",\
                 "0.2094, 0.2808, 0.4876, 0.8602, 1.426, 2.249, 3.36, 4.78, 6.52, 8.594");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.82, 0.9001, 1.103, 1.381, 1.718, 2.117, 2.592, 3.157, 3.829, 4.622",\
                 "0.8336, 0.9138, 1.116, 1.394, 1.732, 2.131, 2.605, 3.17, 3.842, 4.636",\
                 "0.8854, 0.9655, 1.168, 1.447, 1.784, 2.183, 2.657, 3.222, 3.894, 4.688",\
                 "0.9787, 1.059, 1.262, 1.54, 1.877, 2.276, 2.75, 3.315, 3.988, 4.781",\
                 "1.091, 1.171, 1.373, 1.651, 1.988, 2.387, 2.861, 3.426, 4.098, 4.892",\
                 "1.166, 1.245, 1.447, 1.724, 2.059, 2.457, 2.931, 3.496, 4.168, 4.962",\
                 "1.188, 1.268, 1.469, 1.745, 2.081, 2.479, 2.952, 3.517, 4.189, 4.982",\
                 "1.168, 1.248, 1.449, 1.725, 2.062, 2.46, 2.933, 3.498, 4.169, 4.962",\
                 "1.108, 1.188, 1.39, 1.667, 2.004, 2.402, 2.876, 3.44, 4.112, 4.904",\
                 "1.009, 1.089, 1.292, 1.569, 1.906, 2.305, 2.78, 3.344, 4.016, 4.809");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("1.01, 1.074, 1.246, 1.512, 1.882, 2.376, 3.017, 3.824, 4.808, 5.984",\
                 "1.026, 1.091, 1.262, 1.529, 1.899, 2.392, 3.033, 3.84, 4.826, 6.002",\
                 "1.093, 1.158, 1.329, 1.596, 1.966, 2.46, 3.101, 3.908, 4.893, 6.066",\
                 "1.234, 1.299, 1.47, 1.736, 2.106, 2.6, 3.241, 4.048, 5.034, 6.207",\
                 "1.437, 1.502, 1.673, 1.94, 2.309, 2.803, 3.444, 4.251, 5.236, 6.411",\
                 "1.675, 1.74, 1.911, 2.178, 2.548, 3.041, 3.682, 4.489, 5.474, 6.65",\
                 "1.949, 2.014, 2.185, 2.452, 2.821, 3.314, 3.955, 4.761, 5.747, 6.921",\
                 "2.262, 2.328, 2.499, 2.766, 3.135, 3.628, 4.268, 5.074, 6.059, 7.237",\
                 "2.615, 2.681, 2.853, 3.12, 3.489, 3.982, 4.622, 5.427, 6.41, 7.585",\
                 "3.009, 3.075, 3.247, 3.515, 3.884, 4.377, 5.018, 5.823, 6.807, 7.98");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2887, 0.3723, 0.5758, 0.8532, 1.217, 1.706, 2.365, 3.214, 4.291, 5.6",\
                 "0.2887, 0.3719, 0.5756, 0.8518, 1.216, 1.707, 2.363, 3.219, 4.292, 5.6",\
                 "0.2874, 0.372, 0.5756, 0.8532, 1.217, 1.707, 2.363, 3.214, 4.291, 5.6",\
                 "0.2866, 0.371, 0.5754, 0.8526, 1.217, 1.708, 2.365, 3.218, 4.292, 5.599",\
                 "0.2884, 0.373, 0.5768, 0.8558, 1.218, 1.71, 2.363, 3.218, 4.292, 5.599",\
                 "0.2948, 0.3778, 0.5796, 0.8538, 1.218, 1.709, 2.365, 3.218, 4.29, 5.599",\
                 "0.295, 0.3786, 0.5818, 0.8558, 1.219, 1.708, 2.362, 3.217, 4.291, 5.598",\
                 "0.2972, 0.3808, 0.5834, 0.8582, 1.221, 1.709, 2.361, 3.21, 4.286, 5.592",\
                 "0.299, 0.3824, 0.5856, 0.8604, 1.224, 1.711, 2.365, 3.215, 4.281, 5.587",\
                 "0.3012, 0.3852, 0.5892, 0.864, 1.226, 1.713, 2.368, 3.217, 4.286, 5.588");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2011, 0.2718, 0.4788, 0.8512, 1.422, 2.248, 3.365, 4.78, 6.532, 8.61",\
                 "0.2012, 0.2708, 0.4804, 0.8514, 1.422, 2.247, 3.362, 4.782, 6.526, 8.604",\
                 "0.2006, 0.2708, 0.481, 0.8512, 1.421, 2.247, 3.363, 4.786, 6.526, 8.6",\
                 "0.2012, 0.2706, 0.481, 0.8512, 1.421, 2.245, 3.365, 4.784, 6.525, 8.607",\
                 "0.2004, 0.2706, 0.4796, 0.8514, 1.423, 2.248, 3.364, 4.782, 6.534, 8.608",\
                 "0.2006, 0.2708, 0.48, 0.8514, 1.423, 2.248, 3.364, 4.784, 6.537, 8.612",\
                 "0.2026, 0.2718, 0.481, 0.8518, 1.421, 2.244, 3.363, 4.79, 6.537, 8.608",\
                 "0.2034, 0.2732, 0.4824, 0.8538, 1.422, 2.245, 3.362, 4.784, 6.526, 8.602",\
                 "0.205, 0.2756, 0.4846, 0.8566, 1.424, 2.245, 3.36, 4.779, 6.526, 8.6",\
                 "0.2088, 0.2798, 0.4866, 0.858, 1.427, 2.247, 3.359, 4.778, 6.52, 8.6");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8661, 0.9495, 1.162, 1.454, 1.808, 2.224, 2.712, 3.287, 3.965, 4.761",\
                 "0.8786, 0.9621, 1.174, 1.466, 1.821, 2.236, 2.724, 3.299, 3.978, 4.774",\
                 "0.9226, 1.006, 1.218, 1.51, 1.865, 2.281, 2.768, 3.343, 4.022, 4.818",\
                 "1.016, 1.099, 1.311, 1.604, 1.958, 2.374, 2.862, 3.437, 4.115, 4.911",\
                 "1.143, 1.226, 1.437, 1.729, 2.083, 2.499, 2.986, 3.561, 4.24, 5.036",\
                 "1.248, 1.331, 1.542, 1.833, 2.185, 2.599, 3.087, 3.661, 4.34, 5.136",\
                 "1.29, 1.373, 1.583, 1.873, 2.225, 2.639, 3.126, 3.7, 4.378, 5.174",\
                 "1.284, 1.368, 1.577, 1.867, 2.22, 2.634, 3.121, 3.695, 4.372, 5.168",\
                 "1.238, 1.321, 1.531, 1.822, 2.175, 2.59, 3.077, 3.651, 4.328, 5.123",\
                 "1.152, 1.235, 1.446, 1.736, 2.09, 2.505, 2.993, 3.567, 4.245, 5.04");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("1, 1.064, 1.234, 1.499, 1.867, 2.359, 3, 3.807, 4.792, 5.97",\
                 "1.016, 1.081, 1.25, 1.515, 1.883, 2.376, 3.017, 3.824, 4.809, 5.987",\
                 "1.083, 1.148, 1.317, 1.582, 1.95, 2.442, 3.083, 3.89, 4.875, 6.051",\
                 "1.222, 1.287, 1.456, 1.721, 2.089, 2.581, 3.222, 4.03, 5.014, 6.19",\
                 "1.425, 1.489, 1.659, 1.924, 2.291, 2.783, 3.424, 4.231, 5.216, 6.394",\
                 "1.661, 1.725, 1.895, 2.16, 2.527, 3.02, 3.661, 4.467, 5.453, 6.63",\
                 "1.934, 1.998, 2.168, 2.433, 2.8, 3.292, 3.933, 4.74, 5.724, 6.901",\
                 "2.247, 2.312, 2.482, 2.746, 3.114, 3.605, 4.245, 5.052, 6.037, 7.215",\
                 "2.599, 2.664, 2.835, 3.1, 3.467, 3.959, 4.598, 5.403, 6.387, 7.562",\
                 "2.991, 3.057, 3.229, 3.494, 3.861, 4.353, 4.994, 5.8, 6.783, 7.957");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3102, 0.3984, 0.6162, 0.9076, 1.283, 1.778, 2.428, 3.273, 4.333, 5.629",\
                 "0.3103, 0.3984, 0.6162, 0.9088, 1.285, 1.778, 2.431, 3.269, 4.333, 5.629",\
                 "0.31, 0.398, 0.6158, 0.9082, 1.285, 1.779, 2.431, 3.272, 4.333, 5.626",\
                 "0.3096, 0.3976, 0.615, 0.9064, 1.284, 1.778, 2.431, 3.271, 4.331, 5.624",\
                 "0.3088, 0.3984, 0.6166, 0.9092, 1.286, 1.779, 2.429, 3.273, 4.332, 5.628",\
                 "0.324, 0.4106, 0.623, 0.9118, 1.289, 1.782, 2.432, 3.273, 4.333, 5.623",\
                 "0.3232, 0.4114, 0.6256, 0.9134, 1.288, 1.778, 2.429, 3.272, 4.333, 5.622",\
                 "0.326, 0.4134, 0.6266, 0.9162, 1.289, 1.782, 2.426, 3.265, 4.324, 5.627",\
                 "0.3266, 0.4152, 0.6288, 0.9186, 1.293, 1.783, 2.43, 3.267, 4.324, 5.616",\
                 "0.3292, 0.418, 0.6314, 0.9216, 1.297, 1.786, 2.432, 3.271, 4.326, 5.618");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1977, 0.2676, 0.474, 0.8454, 1.417, 2.245, 3.362, 4.784, 6.534, 8.604",\
                 "0.1976, 0.2676, 0.4754, 0.8454, 1.417, 2.245, 3.361, 4.781, 6.534, 8.603",\
                 "0.1976, 0.2678, 0.4754, 0.8452, 1.417, 2.245, 3.364, 4.782, 6.533, 8.612",\
                 "0.1996, 0.2686, 0.4752, 0.8452, 1.417, 2.244, 3.362, 4.783, 6.532, 8.612",\
                 "0.1976, 0.2678, 0.4762, 0.8474, 1.415, 2.243, 3.364, 4.784, 6.523, 8.602",\
                 "0.1978, 0.2682, 0.4754, 0.8462, 1.415, 2.245, 3.362, 4.788, 6.535, 8.604",\
                 "0.2004, 0.2702, 0.4756, 0.8458, 1.414, 2.244, 3.36, 4.783, 6.526, 8.606",\
                 "0.2026, 0.2712, 0.4778, 0.848, 1.415, 2.241, 3.357, 4.78, 6.535, 8.603",\
                 "0.2042, 0.2744, 0.4802, 0.8502, 1.418, 2.243, 3.358, 4.784, 6.519, 8.612",\
                 "0.2072, 0.2772, 0.4832, 0.8528, 1.419, 2.245, 3.359, 4.78, 6.522, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8617, 0.945, 1.157, 1.449, 1.804, 2.219, 2.707, 3.282, 3.96, 4.757",\
                 "0.8742, 0.9575, 1.169, 1.462, 1.816, 2.232, 2.72, 3.295, 3.973, 4.769",\
                 "0.9178, 1.001, 1.213, 1.506, 1.86, 2.276, 2.764, 3.339, 4.017, 4.813",\
                 "1.008, 1.092, 1.304, 1.596, 1.95, 2.366, 2.854, 3.429, 4.107, 4.904",\
                 "1.131, 1.214, 1.425, 1.718, 2.071, 2.487, 2.974, 3.55, 4.228, 5.024",\
                 "1.23, 1.313, 1.524, 1.814, 2.166, 2.581, 3.069, 3.643, 4.322, 5.117",\
                 "1.263, 1.346, 1.556, 1.846, 2.198, 2.613, 3.099, 3.674, 4.352, 5.148",\
                 "1.25, 1.334, 1.543, 1.834, 2.186, 2.6, 3.087, 3.661, 4.338, 5.134",\
                 "1.197, 1.28, 1.491, 1.78, 2.133, 2.548, 3.036, 3.61, 4.287, 5.082",\
                 "1.103, 1.186, 1.397, 1.688, 2.041, 2.456, 2.944, 3.518, 4.196, 4.992");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.978, 1.043, 1.212, 1.477, 1.845, 2.337, 2.978, 3.785, 4.77, 5.948",\
                 "0.9942, 1.059, 1.228, 1.493, 1.861, 2.354, 2.994, 3.801, 4.788, 5.962",\
                 "1.061, 1.126, 1.296, 1.56, 1.928, 2.421, 3.062, 3.868, 4.854, 6.03",\
                 "1.2, 1.264, 1.434, 1.699, 2.066, 2.559, 3.2, 4.007, 4.991, 6.169",\
                 "1.396, 1.461, 1.631, 1.895, 2.263, 2.755, 3.396, 4.203, 5.189, 6.364",\
                 "1.626, 1.69, 1.861, 2.125, 2.493, 2.985, 3.626, 4.433, 5.418, 6.593",\
                 "1.893, 1.958, 2.127, 2.392, 2.759, 3.251, 3.892, 4.699, 5.684, 6.861",\
                 "2.199, 2.264, 2.434, 2.699, 3.066, 3.557, 4.197, 5.003, 5.988, 7.167",\
                 "2.544, 2.609, 2.78, 3.045, 3.412, 3.904, 4.543, 5.349, 6.333, 7.507",\
                 "2.929, 2.994, 3.165, 3.43, 3.798, 4.291, 4.932, 5.737, 6.72, 7.894");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3087, 0.3982, 0.6156, 0.908, 1.285, 1.777, 2.428, 3.273, 4.33, 5.629",\
                 "0.3088, 0.3982, 0.6158, 0.9076, 1.284, 1.778, 2.427, 3.272, 4.327, 5.624",\
                 "0.3098, 0.3978, 0.6152, 0.907, 1.283, 1.778, 2.431, 3.273, 4.332, 5.626",\
                 "0.3092, 0.3974, 0.615, 0.9062, 1.284, 1.777, 2.428, 3.269, 4.33, 5.626",\
                 "0.309, 0.3982, 0.6168, 0.9082, 1.286, 1.779, 2.429, 3.27, 4.331, 5.627",\
                 "0.3222, 0.4106, 0.6232, 0.912, 1.287, 1.781, 2.431, 3.273, 4.334, 5.629",\
                 "0.3236, 0.4108, 0.6246, 0.9148, 1.288, 1.778, 2.429, 3.273, 4.33, 5.623",\
                 "0.3254, 0.413, 0.6272, 0.9164, 1.29, 1.781, 2.426, 3.265, 4.326, 5.627",\
                 "0.327, 0.4148, 0.6282, 0.918, 1.291, 1.784, 2.43, 3.267, 4.323, 5.616",\
                 "0.3304, 0.4172, 0.6314, 0.9218, 1.295, 1.786, 2.435, 3.271, 4.329, 5.619");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1975, 0.2669, 0.4766, 0.847, 1.414, 2.245, 3.364, 4.783, 6.522, 8.601",\
                 "0.1987, 0.2672, 0.4748, 0.8466, 1.417, 2.245, 3.361, 4.786, 6.526, 8.611",\
                 "0.1976, 0.2674, 0.4746, 0.847, 1.417, 2.245, 3.364, 4.786, 6.535, 8.612",\
                 "0.1974, 0.2672, 0.4738, 0.8452, 1.417, 2.245, 3.361, 4.784, 6.521, 8.604",\
                 "0.1978, 0.267, 0.475, 0.845, 1.415, 2.245, 3.363, 4.782, 6.526, 8.611",\
                 "0.1982, 0.267, 0.475, 0.8456, 1.415, 2.245, 3.36, 4.785, 6.535, 8.61",\
                 "0.1998, 0.2686, 0.4754, 0.8454, 1.414, 2.242, 3.363, 4.791, 6.528, 8.615",\
                 "0.2024, 0.2714, 0.4776, 0.8476, 1.415, 2.244, 3.361, 4.788, 6.528, 8.601",\
                 "0.2038, 0.2728, 0.4804, 0.8494, 1.417, 2.243, 3.358, 4.781, 6.526, 8.612",\
                 "0.2066, 0.2758, 0.4832, 0.8522, 1.421, 2.246, 3.361, 4.779, 6.52, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8676, 0.9512, 1.163, 1.456, 1.81, 2.226, 2.714, 3.289, 3.967, 4.764",\
                 "0.8804, 0.9637, 1.176, 1.469, 1.823, 2.239, 2.726, 3.302, 3.98, 4.776",\
                 "0.9243, 1.008, 1.22, 1.512, 1.867, 2.283, 2.77, 3.346, 4.024, 4.82",\
                 "1.018, 1.101, 1.314, 1.607, 1.961, 2.377, 2.864, 3.44, 4.118, 4.914",\
                 "1.147, 1.23, 1.441, 1.733, 2.087, 2.503, 2.991, 3.566, 4.244, 5.04",\
                 "1.255, 1.339, 1.549, 1.839, 2.193, 2.608, 3.095, 3.67, 4.348, 5.144",\
                 "1.299, 1.383, 1.593, 1.883, 2.235, 2.649, 3.136, 3.71, 4.388, 5.184",\
                 "1.297, 1.38, 1.59, 1.88, 2.233, 2.647, 3.134, 3.708, 4.385, 5.181",\
                 "1.253, 1.336, 1.546, 1.837, 2.19, 2.604, 3.091, 3.665, 4.343, 5.137",\
                 "1.169, 1.252, 1.463, 1.754, 2.106, 2.522, 3.01, 3.584, 4.262, 5.057");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("1.012, 1.077, 1.247, 1.512, 1.879, 2.372, 3.012, 3.819, 4.804, 5.982",\
                 "1.029, 1.093, 1.263, 1.528, 1.895, 2.388, 3.029, 3.836, 4.82, 5.996",\
                 "1.095, 1.16, 1.33, 1.594, 1.962, 2.454, 3.095, 3.902, 4.887, 6.063",\
                 "1.234, 1.299, 1.468, 1.733, 2.101, 2.593, 3.234, 4.041, 5.025, 6.204",\
                 "1.437, 1.502, 1.672, 1.936, 2.304, 2.796, 3.437, 4.244, 5.229, 6.405",\
                 "1.676, 1.741, 1.91, 2.175, 2.542, 3.035, 3.675, 4.482, 5.466, 6.644",\
                 "1.951, 2.016, 2.185, 2.45, 2.817, 3.309, 3.95, 4.756, 5.742, 6.917",\
                 "2.266, 2.332, 2.502, 2.766, 3.133, 3.625, 4.265, 5.071, 6.055, 7.235",\
                 "2.622, 2.687, 2.858, 3.122, 3.489, 3.981, 4.621, 5.426, 6.41, 7.586",\
                 "3.018, 3.084, 3.254, 3.52, 3.888, 4.379, 5.021, 5.825, 6.809, 7.982");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3104, 0.3984, 0.6168, 0.9074, 1.284, 1.778, 2.431, 3.272, 4.333, 5.628",\
                 "0.3091, 0.3989, 0.616, 0.908, 1.284, 1.778, 2.431, 3.273, 4.333, 5.628",\
                 "0.3104, 0.3982, 0.6164, 0.909, 1.285, 1.778, 2.429, 3.269, 4.331, 5.627",\
                 "0.3098, 0.398, 0.6152, 0.9076, 1.285, 1.778, 2.429, 3.269, 4.331, 5.626",\
                 "0.309, 0.3988, 0.6168, 0.9096, 1.286, 1.78, 2.43, 3.27, 4.328, 5.629",\
                 "0.3232, 0.4116, 0.6242, 0.9122, 1.288, 1.781, 2.434, 3.274, 4.328, 5.624",\
                 "0.3242, 0.4126, 0.626, 0.9144, 1.288, 1.778, 2.43, 3.271, 4.332, 5.623",\
                 "0.3278, 0.414, 0.6278, 0.9166, 1.291, 1.781, 2.427, 3.266, 4.328, 5.627",\
                 "0.328, 0.4162, 0.6298, 0.919, 1.293, 1.783, 2.431, 3.267, 4.323, 5.617",\
                 "0.3302, 0.419, 0.6328, 0.9218, 1.295, 1.786, 2.432, 3.268, 4.324, 5.616");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1983, 0.2678, 0.4748, 0.8456, 1.417, 2.243, 3.361, 4.787, 6.522, 8.601",\
                 "0.1984, 0.2688, 0.4758, 0.8454, 1.415, 2.244, 3.361, 4.783, 6.532, 8.613",\
                 "0.1982, 0.268, 0.4752, 0.8454, 1.416, 2.244, 3.362, 4.783, 6.533, 8.612",\
                 "0.1994, 0.2678, 0.477, 0.8456, 1.417, 2.243, 3.361, 4.787, 6.522, 8.601",\
                 "0.1994, 0.2688, 0.4756, 0.8458, 1.417, 2.244, 3.363, 4.783, 6.532, 8.613",\
                 "0.199, 0.2684, 0.4762, 0.8464, 1.415, 2.244, 3.364, 4.783, 6.528, 8.605",\
                 "0.1998, 0.2694, 0.4762, 0.846, 1.416, 2.241, 3.363, 4.783, 6.531, 8.612",\
                 "0.2028, 0.2716, 0.4786, 0.8482, 1.416, 2.243, 3.361, 4.784, 6.53, 8.603",\
                 "0.2054, 0.2742, 0.4812, 0.8508, 1.419, 2.243, 3.36, 4.78, 6.527, 8.601",\
                 "0.209, 0.2782, 0.4838, 0.8548, 1.42, 2.244, 3.361, 4.78, 6.52, 8.602");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.827, 0.9071, 1.11, 1.388, 1.726, 2.124, 2.599, 3.164, 3.836, 4.63",\
                 "0.8407, 0.9209, 1.124, 1.402, 1.739, 2.138, 2.612, 3.178, 3.85, 4.643",\
                 "0.8927, 0.9729, 1.176, 1.454, 1.791, 2.191, 2.665, 3.23, 3.902, 4.695",\
                 "0.9894, 1.07, 1.272, 1.551, 1.888, 2.287, 2.761, 3.327, 3.999, 4.792",\
                 "1.107, 1.188, 1.389, 1.667, 2.005, 2.403, 2.878, 3.443, 4.115, 4.908",\
                 "1.192, 1.272, 1.473, 1.75, 2.086, 2.484, 2.958, 3.523, 4.195, 4.988",\
                 "1.221, 1.301, 1.502, 1.779, 2.115, 2.513, 2.986, 3.551, 4.223, 5.016",\
                 "1.21, 1.29, 1.491, 1.768, 2.105, 2.503, 2.976, 3.541, 4.212, 5.005",\
                 "1.159, 1.24, 1.441, 1.718, 2.055, 2.453, 2.927, 3.492, 4.163, 4.955",\
                 "1.068, 1.149, 1.351, 1.628, 1.965, 2.364, 2.839, 3.403, 4.075, 4.868");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("1.038, 1.103, 1.274, 1.541, 1.911, 2.404, 3.045, 3.852, 4.837, 6.013",\
                 "1.054, 1.119, 1.291, 1.557, 1.927, 2.42, 3.062, 3.868, 4.853, 6.029",\
                 "1.121, 1.186, 1.357, 1.624, 1.994, 2.487, 3.128, 3.935, 4.921, 6.097",\
                 "1.262, 1.327, 1.498, 1.765, 2.134, 2.628, 3.268, 4.076, 5.061, 6.238",\
                 "1.47, 1.535, 1.706, 1.973, 2.343, 2.836, 3.477, 4.284, 5.268, 6.445",\
                 "1.716, 1.781, 1.952, 2.219, 2.589, 3.082, 3.723, 4.53, 5.513, 6.689",\
                 "1.997, 2.063, 2.234, 2.5, 2.869, 3.362, 4.003, 4.809, 5.795, 6.967",\
                 "2.319, 2.384, 2.555, 2.822, 3.191, 3.684, 4.324, 5.13, 6.116, 7.291",\
                 "2.68, 2.745, 2.918, 3.185, 3.554, 4.047, 4.687, 5.492, 6.475, 7.651",\
                 "3.083, 3.149, 3.322, 3.589, 3.958, 4.451, 5.091, 5.897, 6.88, 8.053");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2879, 0.3726, 0.5765, 0.854, 1.217, 1.709, 2.362, 3.214, 4.292, 5.598",\
                 "0.2883, 0.3727, 0.5764, 0.8536, 1.218, 1.708, 2.365, 3.216, 4.292, 5.598",\
                 "0.2887, 0.3724, 0.5756, 0.8532, 1.217, 1.707, 2.365, 3.214, 4.292, 5.6",\
                 "0.2886, 0.372, 0.5762, 0.8536, 1.217, 1.709, 2.362, 3.214, 4.291, 5.598",\
                 "0.2888, 0.3738, 0.5772, 0.8558, 1.219, 1.71, 2.365, 3.219, 4.287, 5.598",\
                 "0.2954, 0.3788, 0.5818, 0.8538, 1.218, 1.71, 2.364, 3.218, 4.287, 5.597",\
                 "0.2976, 0.38, 0.582, 0.856, 1.219, 1.707, 2.361, 3.217, 4.291, 5.599",\
                 "0.298, 0.3812, 0.5838, 0.8594, 1.221, 1.708, 2.361, 3.21, 4.286, 5.594",\
                 "0.301, 0.3838, 0.5866, 0.8606, 1.224, 1.711, 2.367, 3.212, 4.281, 5.587",\
                 "0.302, 0.3864, 0.589, 0.8648, 1.226, 1.714, 2.369, 3.216, 4.285, 5.592");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2008, 0.2712, 0.4792, 0.8516, 1.422, 2.248, 3.365, 4.782, 6.535, 8.613",\
                 "0.2018, 0.271, 0.4802, 0.8516, 1.421, 2.245, 3.365, 4.783, 6.521, 8.613",\
                 "0.2008, 0.2714, 0.4796, 0.8516, 1.421, 2.246, 3.364, 4.784, 6.537, 8.617",\
                 "0.201, 0.2718, 0.48, 0.8532, 1.42, 2.247, 3.363, 4.784, 6.537, 8.617",\
                 "0.2018, 0.2712, 0.4798, 0.8522, 1.42, 2.248, 3.363, 4.784, 6.531, 8.611",\
                 "0.2008, 0.2718, 0.4804, 0.853, 1.421, 2.247, 3.364, 4.784, 6.528, 8.606",\
                 "0.2032, 0.272, 0.4808, 0.8528, 1.422, 2.248, 3.364, 4.79, 6.527, 8.598",\
                 "0.204, 0.2742, 0.483, 0.8532, 1.421, 2.243, 3.362, 4.784, 6.526, 8.604",\
                 "0.2062, 0.277, 0.4846, 0.8564, 1.423, 2.246, 3.361, 4.779, 6.527, 8.614",\
                 "0.2098, 0.281, 0.4884, 0.8594, 1.424, 2.249, 3.361, 4.779, 6.522, 8.6");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S1===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8658, 0.9489, 1.161, 1.454, 1.807, 2.223, 2.711, 3.286, 3.965, 4.761",\
                 "0.878, 0.9615, 1.173, 1.466, 1.82, 2.236, 2.724, 3.299, 3.977, 4.773",\
                 "0.9222, 1.005, 1.217, 1.51, 1.864, 2.28, 2.768, 3.343, 4.021, 4.817",\
                 "1.015, 1.098, 1.31, 1.603, 1.957, 2.373, 2.86, 3.436, 4.114, 4.91",\
                 "1.141, 1.224, 1.435, 1.727, 2.081, 2.497, 2.985, 3.56, 4.238, 5.034",\
                 "1.245, 1.328, 1.539, 1.829, 2.182, 2.597, 3.084, 3.659, 4.337, 5.133",\
                 "1.284, 1.368, 1.578, 1.868, 2.219, 2.634, 3.121, 3.695, 4.373, 5.169",\
                 "1.276, 1.359, 1.57, 1.86, 2.212, 2.626, 3.113, 3.687, 4.364, 5.16",\
                 "1.228, 1.312, 1.522, 1.813, 2.165, 2.58, 3.067, 3.641, 4.318, 5.113",\
                 "1.139, 1.223, 1.433, 1.724, 2.077, 2.491, 2.979, 3.553, 4.232, 5.028");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9914, 1.056, 1.226, 1.491, 1.858, 2.351, 2.992, 3.799, 4.783, 5.961",\
                 "1.008, 1.072, 1.242, 1.507, 1.874, 2.367, 3.008, 3.815, 4.8, 5.975",\
                 "1.075, 1.139, 1.309, 1.574, 1.941, 2.434, 3.075, 3.882, 4.867, 6.043",\
                 "1.214, 1.278, 1.448, 1.713, 2.08, 2.573, 3.214, 4.021, 5.006, 6.181",\
                 "1.414, 1.478, 1.648, 1.913, 2.28, 2.773, 3.413, 4.22, 5.206, 6.38",\
                 "1.648, 1.712, 1.882, 2.147, 2.514, 3.007, 3.647, 4.454, 5.44, 6.613",\
                 "1.919, 1.983, 2.153, 2.417, 2.785, 3.277, 3.917, 4.724, 5.708, 6.884",\
                 "2.229, 2.294, 2.464, 2.728, 3.095, 3.587, 4.227, 5.033, 6.018, 7.197",\
                 "2.578, 2.643, 2.814, 3.079, 3.446, 3.938, 4.577, 5.383, 6.367, 7.542",\
                 "2.968, 3.034, 3.205, 3.47, 3.838, 4.33, 4.971, 5.776, 6.76, 7.934");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3089, 0.3985, 0.6156, 0.9072, 1.284, 1.778, 2.431, 3.269, 4.33, 5.625",\
                 "0.3086, 0.3986, 0.6154, 0.9082, 1.284, 1.777, 2.429, 3.273, 4.333, 5.624",\
                 "0.3098, 0.3984, 0.6158, 0.9072, 1.283, 1.779, 2.428, 3.273, 4.331, 5.629",\
                 "0.308, 0.3974, 0.615, 0.9062, 1.283, 1.778, 2.428, 3.273, 4.332, 5.629",\
                 "0.3084, 0.3984, 0.6166, 0.9086, 1.285, 1.779, 2.429, 3.272, 4.328, 5.629",\
                 "0.3232, 0.411, 0.6236, 0.912, 1.289, 1.782, 2.432, 3.274, 4.329, 5.621",\
                 "0.3252, 0.4114, 0.6248, 0.9136, 1.288, 1.778, 2.43, 3.272, 4.328, 5.625",\
                 "0.3248, 0.4128, 0.6262, 0.916, 1.289, 1.782, 2.428, 3.265, 4.327, 5.627",\
                 "0.327, 0.4154, 0.6292, 0.9184, 1.293, 1.783, 2.429, 3.267, 4.323, 5.617",\
                 "0.3294, 0.4172, 0.6314, 0.9216, 1.295, 1.786, 2.434, 3.272, 4.325, 5.615");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1978, 0.267, 0.4758, 0.8474, 1.414, 2.245, 3.364, 4.783, 6.522, 8.601",\
                 "0.1982, 0.2676, 0.4754, 0.845, 1.416, 2.244, 3.363, 4.784, 6.533, 8.612",\
                 "0.199, 0.2674, 0.4752, 0.847, 1.417, 2.243, 3.364, 4.785, 6.534, 8.61",\
                 "0.1978, 0.2674, 0.4742, 0.845, 1.417, 2.245, 3.364, 4.781, 6.534, 8.611",\
                 "0.1976, 0.2672, 0.476, 0.8464, 1.415, 2.245, 3.364, 4.783, 6.529, 8.606",\
                 "0.1986, 0.2676, 0.475, 0.8466, 1.417, 2.245, 3.363, 4.789, 6.535, 8.604",\
                 "0.1996, 0.2688, 0.4758, 0.8458, 1.414, 2.245, 3.362, 4.786, 6.529, 8.611",\
                 "0.2018, 0.2714, 0.4792, 0.849, 1.415, 2.245, 3.362, 4.788, 6.526, 8.604",\
                 "0.2052, 0.2748, 0.4796, 0.851, 1.418, 2.242, 3.358, 4.781, 6.528, 8.602",\
                 "0.207, 0.2766, 0.4828, 0.8546, 1.42, 2.245, 3.362, 4.78, 6.518, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&I2&!I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8245, 0.9046, 1.107, 1.385, 1.723, 2.122, 2.596, 3.161, 3.833, 4.627",\
                 "0.8381, 0.9183, 1.121, 1.399, 1.737, 2.135, 2.61, 3.175, 3.847, 4.64",\
                 "0.8901, 0.9703, 1.173, 1.451, 1.789, 2.187, 2.662, 3.227, 3.899, 4.693",\
                 "0.9859, 1.066, 1.269, 1.547, 1.884, 2.283, 2.757, 3.323, 3.995, 4.788",\
                 "1.102, 1.182, 1.384, 1.662, 1.999, 2.398, 2.872, 3.437, 4.109, 4.902",\
                 "1.183, 1.263, 1.464, 1.741, 2.077, 2.475, 2.949, 3.514, 4.186, 4.979",\
                 "1.21, 1.29, 1.49, 1.767, 2.103, 2.501, 2.974, 3.539, 4.211, 5.003",\
                 "1.194, 1.275, 1.476, 1.753, 2.089, 2.487, 2.961, 3.525, 4.196, 4.989",\
                 "1.14, 1.22, 1.422, 1.699, 2.035, 2.434, 2.908, 3.472, 4.144, 4.936",\
                 "1.047, 1.127, 1.329, 1.606, 1.943, 2.342, 2.816, 3.381, 4.053, 4.846");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("1.021, 1.087, 1.258, 1.524, 1.894, 2.388, 3.029, 3.836, 4.82, 5.996",\
                 "1.038, 1.103, 1.274, 1.541, 1.911, 2.404, 3.045, 3.852, 4.837, 6.014",\
                 "1.105, 1.17, 1.341, 1.608, 1.978, 2.472, 3.113, 3.92, 4.905, 6.081",\
                 "1.246, 1.311, 1.482, 1.749, 2.119, 2.612, 3.253, 4.06, 5.046, 6.221",\
                 "1.452, 1.518, 1.689, 1.955, 2.325, 2.818, 3.459, 4.266, 5.252, 6.424",\
                 "1.694, 1.759, 1.93, 2.197, 2.567, 3.06, 3.701, 4.508, 5.492, 6.665",\
                 "1.971, 2.037, 2.207, 2.474, 2.843, 3.337, 3.977, 4.783, 5.77, 6.946",\
                 "2.288, 2.354, 2.525, 2.792, 3.161, 3.654, 4.294, 5.1, 6.086, 7.261",\
                 "2.644, 2.71, 2.882, 3.15, 3.519, 4.011, 4.652, 5.456, 6.44, 7.614",\
                 "3.042, 3.107, 3.281, 3.547, 3.917, 4.41, 5.051, 5.856, 6.84, 8.013");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2873, 0.3723, 0.5763, 0.853, 1.217, 1.707, 2.362, 3.214, 4.288, 5.599",\
                 "0.2887, 0.372, 0.576, 0.8536, 1.217, 1.708, 2.365, 3.214, 4.288, 5.598",\
                 "0.2886, 0.372, 0.576, 0.8536, 1.217, 1.709, 2.362, 3.214, 4.291, 5.598",\
                 "0.288, 0.3714, 0.5752, 0.8518, 1.217, 1.707, 2.364, 3.217, 4.291, 5.596",\
                 "0.2886, 0.3736, 0.5768, 0.8554, 1.218, 1.709, 2.365, 3.219, 4.286, 5.599",\
                 "0.2944, 0.3778, 0.58, 0.8544, 1.218, 1.709, 2.365, 3.215, 4.29, 5.597",\
                 "0.2956, 0.3792, 0.5808, 0.8552, 1.218, 1.707, 2.362, 3.214, 4.291, 5.599",\
                 "0.298, 0.3804, 0.583, 0.858, 1.222, 1.708, 2.361, 3.21, 4.284, 5.592",\
                 "0.299, 0.383, 0.5862, 0.8604, 1.224, 1.71, 2.363, 3.214, 4.281, 5.586",\
                 "0.301, 0.385, 0.588, 0.8634, 1.226, 1.714, 2.367, 3.217, 4.286, 5.587");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2006, 0.2708, 0.4798, 0.8514, 1.422, 2.246, 3.359, 4.787, 6.531, 8.609",\
                 "0.2016, 0.2722, 0.48, 0.8518, 1.421, 2.245, 3.363, 4.782, 6.529, 8.604",\
                 "0.2016, 0.2712, 0.4808, 0.8514, 1.421, 2.247, 3.363, 4.782, 6.526, 8.604",\
                 "0.2006, 0.2706, 0.4798, 0.8514, 1.422, 2.247, 3.362, 4.782, 6.526, 8.604",\
                 "0.2004, 0.2708, 0.4798, 0.8536, 1.422, 2.248, 3.365, 4.782, 6.526, 8.599",\
                 "0.2012, 0.2716, 0.48, 0.8526, 1.421, 2.246, 3.362, 4.784, 6.522, 8.599",\
                 "0.2026, 0.2718, 0.4812, 0.8524, 1.421, 2.247, 3.365, 4.789, 6.526, 8.617",\
                 "0.2038, 0.2738, 0.482, 0.8554, 1.42, 2.244, 3.362, 4.789, 6.534, 8.614",\
                 "0.206, 0.2766, 0.4842, 0.8556, 1.424, 2.246, 3.358, 4.782, 6.522, 8.61",\
                 "0.21, 0.2792, 0.488, 0.8586, 1.424, 2.249, 3.362, 4.778, 6.52, 8.6");
        }
      }

      timing() {
        related_pin : "S0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8676, 0.9512, 1.163, 1.456, 1.81, 2.226, 2.714, 3.289, 3.967, 4.764",\
                 "0.8804, 0.9637, 1.176, 1.469, 1.823, 2.239, 2.726, 3.302, 3.98, 4.776",\
                 "0.9243, 1.008, 1.22, 1.512, 1.867, 2.283, 2.77, 3.346, 4.024, 4.82",\
                 "1.018, 1.101, 1.314, 1.607, 1.961, 2.377, 2.864, 3.44, 4.118, 4.914",\
                 "1.147, 1.23, 1.441, 1.733, 2.087, 2.503, 2.991, 3.566, 4.244, 5.04",\
                 "1.255, 1.339, 1.549, 1.839, 2.193, 2.608, 3.095, 3.67, 4.348, 5.144",\
                 "1.299, 1.383, 1.593, 1.883, 2.235, 2.649, 3.136, 3.71, 4.388, 5.184",\
                 "1.297, 1.38, 1.59, 1.88, 2.233, 2.647, 3.134, 3.708, 4.385, 5.181",\
                 "1.253, 1.336, 1.546, 1.837, 2.19, 2.604, 3.091, 3.665, 4.343, 5.137",\
                 "1.169, 1.252, 1.463, 1.754, 2.106, 2.522, 3.01, 3.584, 4.262, 5.057");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("1.038, 1.103, 1.274, 1.541, 1.911, 2.404, 3.045, 3.852, 4.837, 6.013",\
                 "1.054, 1.119, 1.291, 1.557, 1.927, 2.42, 3.062, 3.868, 4.853, 6.029",\
                 "1.121, 1.186, 1.357, 1.624, 1.994, 2.487, 3.128, 3.935, 4.921, 6.097",\
                 "1.262, 1.327, 1.498, 1.765, 2.134, 2.628, 3.268, 4.076, 5.061, 6.238",\
                 "1.47, 1.535, 1.706, 1.973, 2.343, 2.836, 3.477, 4.284, 5.268, 6.445",\
                 "1.716, 1.781, 1.952, 2.219, 2.589, 3.082, 3.723, 4.53, 5.513, 6.689",\
                 "1.997, 2.063, 2.234, 2.5, 2.869, 3.362, 4.003, 4.809, 5.795, 6.967",\
                 "2.319, 2.384, 2.555, 2.822, 3.191, 3.684, 4.324, 5.13, 6.116, 7.291",\
                 "2.68, 2.745, 2.918, 3.185, 3.554, 4.047, 4.687, 5.492, 6.475, 7.651",\
                 "3.083, 3.149, 3.322, 3.589, 3.958, 4.451, 5.091, 5.897, 6.88, 8.053");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3087, 0.3982, 0.6156, 0.908, 1.285, 1.777, 2.428, 3.273, 4.33, 5.629",\
                 "0.3088, 0.3982, 0.6158, 0.9076, 1.284, 1.778, 2.427, 3.272, 4.327, 5.624",\
                 "0.3098, 0.3978, 0.6152, 0.907, 1.283, 1.778, 2.431, 3.273, 4.332, 5.626",\
                 "0.3092, 0.3974, 0.615, 0.9062, 1.284, 1.777, 2.428, 3.269, 4.33, 5.626",\
                 "0.309, 0.3982, 0.6168, 0.9082, 1.286, 1.779, 2.429, 3.27, 4.331, 5.627",\
                 "0.3222, 0.4106, 0.6232, 0.912, 1.287, 1.781, 2.431, 3.273, 4.334, 5.629",\
                 "0.3236, 0.4108, 0.6246, 0.9148, 1.288, 1.778, 2.429, 3.273, 4.33, 5.623",\
                 "0.3254, 0.413, 0.6272, 0.9164, 1.29, 1.781, 2.426, 3.265, 4.326, 5.627",\
                 "0.327, 0.4148, 0.6282, 0.918, 1.291, 1.784, 2.43, 3.267, 4.323, 5.616",\
                 "0.3304, 0.4172, 0.6314, 0.9218, 1.295, 1.786, 2.435, 3.271, 4.329, 5.619");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2008, 0.2712, 0.4792, 0.8516, 1.422, 2.248, 3.365, 4.782, 6.535, 8.613",\
                 "0.2018, 0.271, 0.4802, 0.8516, 1.421, 2.245, 3.365, 4.783, 6.521, 8.613",\
                 "0.2008, 0.2714, 0.4796, 0.8516, 1.421, 2.246, 3.364, 4.784, 6.537, 8.617",\
                 "0.201, 0.2718, 0.48, 0.8532, 1.42, 2.247, 3.363, 4.784, 6.537, 8.617",\
                 "0.2018, 0.2712, 0.4798, 0.8522, 1.42, 2.248, 3.363, 4.784, 6.531, 8.611",\
                 "0.2008, 0.2718, 0.4804, 0.853, 1.421, 2.247, 3.364, 4.784, 6.528, 8.606",\
                 "0.2032, 0.272, 0.4808, 0.8528, 1.422, 2.248, 3.364, 4.79, 6.527, 8.598",\
                 "0.204, 0.2742, 0.483, 0.8532, 1.421, 2.243, 3.362, 4.784, 6.526, 8.604",\
                 "0.2062, 0.277, 0.4846, 0.8564, 1.423, 2.246, 3.361, 4.779, 6.527, 8.614",\
                 "0.2098, 0.281, 0.4884, 0.8594, 1.424, 2.249, 3.361, 4.779, 6.522, 8.6");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9156, 0.9955, 1.198, 1.476, 1.813, 2.212, 2.686, 3.251, 3.923, 4.717",\
                 "0.9312, 1.011, 1.214, 1.491, 1.828, 2.228, 2.702, 3.267, 3.939, 4.732",\
                 "0.9914, 1.071, 1.273, 1.552, 1.888, 2.287, 2.762, 3.327, 3.999, 4.793",\
                 "1.116, 1.196, 1.398, 1.676, 2.013, 2.412, 2.886, 3.451, 4.123, 4.917",\
                 "1.311, 1.39, 1.592, 1.87, 2.206, 2.605, 3.079, 3.645, 4.317, 5.11",\
                 "1.561, 1.642, 1.846, 2.126, 2.464, 2.863, 3.337, 3.903, 4.575, 5.367",\
                 "1.854, 1.938, 2.147, 2.433, 2.776, 3.179, 3.655, 4.22, 4.892, 5.685",\
                 "2.195, 2.28, 2.496, 2.788, 3.138, 3.545, 4.025, 4.592, 5.264, 6.057",\
                 "2.58, 2.669, 2.893, 3.194, 3.551, 3.965, 4.448, 5.017, 5.691, 6.483",\
                 "3.007, 3.101, 3.334, 3.648, 4.016, 4.438, 4.927, 5.499, 6.174, 6.967");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8001, 0.8652, 1.036, 1.303, 1.673, 2.167, 2.809, 3.616, 4.601, 5.775",\
                 "0.8131, 0.8781, 1.049, 1.316, 1.686, 2.18, 2.822, 3.629, 4.613, 5.788",\
                 "0.8567, 0.9216, 1.093, 1.36, 1.73, 2.224, 2.865, 3.672, 4.657, 5.832",\
                 "0.9387, 1.004, 1.174, 1.441, 1.811, 2.305, 2.946, 3.753, 4.739, 5.916",\
                 "1.048, 1.113, 1.284, 1.551, 1.92, 2.413, 3.054, 3.86, 4.846, 6.021",\
                 "1.15, 1.218, 1.392, 1.661, 2.031, 2.524, 3.164, 3.969, 4.955, 6.127",\
                 "1.234, 1.305, 1.484, 1.755, 2.128, 2.621, 3.261, 4.065, 5.05, 6.226",\
                 "1.297, 1.372, 1.556, 1.832, 2.207, 2.7, 3.339, 4.143, 5.125, 6.298",\
                 "1.33, 1.409, 1.602, 1.884, 2.264, 2.758, 3.396, 4.198, 5.18, 6.351",\
                 "1.331, 1.414, 1.617, 1.907, 2.294, 2.793, 3.431, 4.233, 5.213, 6.384");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2876, 0.372, 0.5754, 0.8518, 1.218, 1.708, 2.365, 3.217, 4.291, 5.596",\
                 "0.2871, 0.3723, 0.5754, 0.8512, 1.216, 1.707, 2.365, 3.216, 4.287, 5.596",\
                 "0.2886, 0.3718, 0.5752, 0.8534, 1.218, 1.708, 2.365, 3.217, 4.292, 5.596",\
                 "0.2872, 0.3726, 0.576, 0.8522, 1.217, 1.708, 2.363, 3.218, 4.292, 5.6",\
                 "0.289, 0.3736, 0.5782, 0.8544, 1.219, 1.71, 2.363, 3.215, 4.292, 5.597",\
                 "0.3028, 0.3882, 0.592, 0.8666, 1.227, 1.715, 2.369, 3.217, 4.293, 5.6",\
                 "0.3234, 0.409, 0.619, 0.8952, 1.251, 1.731, 2.378, 3.226, 4.297, 5.601",\
                 "0.3448, 0.4348, 0.6484, 0.9272, 1.284, 1.759, 2.399, 3.239, 4.303, 5.604",\
                 "0.376, 0.4676, 0.6878, 0.9704, 1.322, 1.792, 2.422, 3.255, 4.309, 5.609",\
                 "0.408, 0.5058, 0.7358, 1.026, 1.374, 1.835, 2.459, 3.278, 4.326, 5.616");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1997, 0.269, 0.478, 0.85, 1.421, 2.247, 3.361, 4.782, 6.534, 8.607",\
                 "0.1983, 0.2691, 0.4798, 0.8496, 1.421, 2.247, 3.365, 4.782, 6.533, 8.608",\
                 "0.1984, 0.2688, 0.478, 0.8496, 1.421, 2.247, 3.362, 4.782, 6.533, 8.607",\
                 "0.1984, 0.269, 0.4778, 0.8498, 1.419, 2.247, 3.36, 4.782, 6.525, 8.602",\
                 "0.2042, 0.2734, 0.481, 0.8542, 1.423, 2.248, 3.365, 4.79, 6.526, 8.604",\
                 "0.2194, 0.2894, 0.4974, 0.8658, 1.43, 2.248, 3.361, 4.79, 6.537, 8.604",\
                 "0.2374, 0.3076, 0.514, 0.8824, 1.443, 2.256, 3.368, 4.79, 6.525, 8.601",\
                 "0.2606, 0.3336, 0.5382, 0.903, 1.457, 2.265, 3.37, 4.784, 6.53, 8.614",\
                 "0.2898, 0.365, 0.5722, 0.9328, 1.482, 2.278, 3.377, 4.789, 6.531, 8.601",\
                 "0.3212, 0.4002, 0.6094, 0.9694, 1.517, 2.304, 3.387, 4.795, 6.528, 8.601");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9803, 1.064, 1.276, 1.569, 1.923, 2.339, 2.827, 3.402, 4.081, 4.877",\
                 "0.9959, 1.079, 1.291, 1.584, 1.938, 2.354, 2.842, 3.418, 4.096, 4.892",\
                 "1.057, 1.14, 1.352, 1.645, 1.999, 2.415, 2.903, 3.479, 4.157, 4.953",\
                 "1.185, 1.268, 1.48, 1.773, 2.127, 2.543, 3.031, 3.606, 4.285, 5.081",\
                 "1.384, 1.467, 1.678, 1.97, 2.325, 2.74, 3.228, 3.804, 4.482, 5.279",\
                 "1.644, 1.728, 1.941, 2.234, 2.589, 3.005, 3.493, 4.069, 4.747, 5.543",\
                 "1.953, 2.039, 2.257, 2.557, 2.915, 3.334, 3.824, 4.4, 5.078, 5.874",\
                 "2.314, 2.402, 2.625, 2.932, 3.297, 3.723, 4.216, 4.794, 5.473, 6.269",\
                 "2.726, 2.817, 3.048, 3.363, 3.738, 4.169, 4.667, 5.249, 5.929, 6.725",\
                 "3.186, 3.282, 3.523, 3.85, 4.237, 4.678, 5.183, 5.767, 6.45, 7.248");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7552, 0.8194, 0.9888, 1.254, 1.622, 2.115, 2.756, 3.562, 4.548, 5.723",\
                 "0.7671, 0.8317, 1.001, 1.266, 1.634, 2.127, 2.768, 3.575, 4.56, 5.738",\
                 "0.8101, 0.8743, 1.044, 1.309, 1.677, 2.17, 2.811, 3.618, 4.602, 5.776",\
                 "0.8886, 0.9528, 1.123, 1.387, 1.755, 2.248, 2.889, 3.696, 4.679, 5.857",\
                 "0.9869, 1.052, 1.222, 1.486, 1.853, 2.345, 2.986, 3.792, 4.776, 5.955",\
                 "1.071, 1.139, 1.312, 1.579, 1.948, 2.439, 3.079, 3.884, 4.87, 6.045",\
                 "1.133, 1.203, 1.381, 1.65, 2.02, 2.512, 3.151, 3.956, 4.939, 6.114",\
                 "1.163, 1.236, 1.42, 1.694, 2.067, 2.558, 3.197, 4.001, 4.984, 6.156",\
                 "1.153, 1.23, 1.423, 1.703, 2.081, 2.574, 3.211, 4.015, 4.996, 6.166",\
                 "1.099, 1.181, 1.384, 1.672, 2.056, 2.554, 3.193, 3.994, 4.974, 6.145");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3103, 0.3983, 0.6162, 0.9076, 1.284, 1.78, 2.43, 3.273, 4.33, 5.627",\
                 "0.3089, 0.3986, 0.6162, 0.9086, 1.285, 1.779, 2.429, 3.274, 4.334, 5.629",\
                 "0.3102, 0.3984, 0.6162, 0.9084, 1.284, 1.779, 2.432, 3.273, 4.33, 5.627",\
                 "0.3102, 0.3988, 0.6162, 0.9078, 1.285, 1.779, 2.428, 3.273, 4.33, 5.627",\
                 "0.3092, 0.3988, 0.6164, 0.91, 1.287, 1.781, 2.433, 3.274, 4.334, 5.629",\
                 "0.319, 0.409, 0.6262, 0.9166, 1.292, 1.785, 2.433, 3.276, 4.331, 5.63",\
                 "0.3364, 0.4282, 0.6512, 0.9422, 1.312, 1.802, 2.443, 3.278, 4.338, 5.632",\
                 "0.3568, 0.4506, 0.6784, 0.9752, 1.346, 1.828, 2.462, 3.295, 4.344, 5.634",\
                 "0.3846, 0.481, 0.7156, 1.017, 1.384, 1.862, 2.49, 3.312, 4.358, 5.64",\
                 "0.4172, 0.519, 0.7626, 1.071, 1.438, 1.908, 2.528, 3.338, 4.376, 5.652");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1959, 0.266, 0.4735, 0.8438, 1.416, 2.244, 3.36, 4.789, 6.533, 8.612",\
                 "0.1967, 0.2668, 0.4734, 0.8436, 1.415, 2.245, 3.362, 4.784, 6.522, 8.601",\
                 "0.1974, 0.2655, 0.4736, 0.8432, 1.416, 2.245, 3.361, 4.782, 6.531, 8.6",\
                 "0.197, 0.2664, 0.4736, 0.8438, 1.416, 2.244, 3.362, 4.784, 6.527, 8.605",\
                 "0.202, 0.2718, 0.4782, 0.8478, 1.417, 2.244, 3.363, 4.781, 6.523, 8.604",\
                 "0.217, 0.2864, 0.4922, 0.8594, 1.424, 2.248, 3.361, 4.79, 6.526, 8.614",\
                 "0.2346, 0.3054, 0.5102, 0.8762, 1.436, 2.253, 3.366, 4.785, 6.531, 8.606",\
                 "0.2596, 0.3326, 0.5362, 0.8988, 1.454, 2.262, 3.37, 4.794, 6.531, 8.608",\
                 "0.2888, 0.364, 0.5676, 0.9292, 1.476, 2.276, 3.379, 4.788, 6.526, 8.604",\
                 "0.3216, 0.4, 0.6066, 0.9628, 1.513, 2.304, 3.392, 4.796, 6.527, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9643, 1.048, 1.26, 1.552, 1.907, 2.323, 2.811, 3.386, 4.065, 4.861",\
                 "0.9797, 1.063, 1.275, 1.568, 1.922, 2.338, 2.827, 3.402, 4.08, 4.877",\
                 "1.041, 1.125, 1.337, 1.63, 1.984, 2.4, 2.888, 3.463, 4.142, 4.938",\
                 "1.169, 1.252, 1.465, 1.757, 2.111, 2.528, 3.016, 3.591, 4.27, 5.066",\
                 "1.365, 1.448, 1.659, 1.952, 2.306, 2.722, 3.21, 3.785, 4.464, 5.26",\
                 "1.621, 1.705, 1.918, 2.212, 2.566, 2.982, 3.471, 4.046, 4.725, 5.521",\
                 "1.924, 2.01, 2.228, 2.529, 2.888, 3.308, 3.798, 4.374, 5.052, 5.848",\
                 "2.28, 2.369, 2.592, 2.899, 3.267, 3.692, 4.185, 4.763, 5.442, 6.239",\
                 "2.687, 2.778, 3.01, 3.327, 3.702, 4.134, 4.633, 5.214, 5.895, 6.691",\
                 "3.14, 3.237, 3.479, 3.809, 4.197, 4.639, 5.145, 5.73, 6.413, 7.21");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7553, 0.8198, 0.9894, 1.255, 1.623, 2.115, 2.756, 3.563, 4.548, 5.726",\
                 "0.7677, 0.8322, 1.002, 1.267, 1.635, 2.127, 2.768, 3.576, 4.56, 5.738",\
                 "0.8106, 0.8749, 1.045, 1.309, 1.677, 2.17, 2.811, 3.618, 4.603, 5.78",\
                 "0.8889, 0.9532, 1.122, 1.388, 1.755, 2.248, 2.889, 3.695, 4.681, 5.858",\
                 "0.9865, 1.051, 1.221, 1.486, 1.853, 2.345, 2.985, 3.791, 4.778, 5.954",\
                 "1.071, 1.138, 1.311, 1.578, 1.947, 2.438, 3.078, 3.883, 4.869, 6.044",\
                 "1.131, 1.201, 1.379, 1.649, 2.019, 2.511, 3.15, 3.956, 4.938, 6.113",\
                 "1.161, 1.235, 1.419, 1.693, 2.065, 2.557, 3.195, 3.999, 4.982, 6.155",\
                 "1.151, 1.229, 1.422, 1.702, 2.08, 2.573, 3.21, 4.013, 4.994, 6.166",\
                 "1.098, 1.181, 1.383, 1.671, 2.055, 2.553, 3.192, 3.993, 4.973, 6.144");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3086, 0.3982, 0.616, 0.9086, 1.285, 1.779, 2.43, 3.27, 4.333, 5.628",\
                 "0.3098, 0.398, 0.6158, 0.9068, 1.284, 1.779, 2.429, 3.272, 4.329, 5.629",\
                 "0.3086, 0.398, 0.6158, 0.9082, 1.285, 1.779, 2.432, 3.274, 4.334, 5.629",\
                 "0.3098, 0.398, 0.616, 0.9084, 1.285, 1.779, 2.429, 3.272, 4.329, 5.629",\
                 "0.3084, 0.3982, 0.617, 0.9092, 1.286, 1.78, 2.432, 3.271, 4.329, 5.629",\
                 "0.3198, 0.4092, 0.6266, 0.9168, 1.293, 1.785, 2.433, 3.276, 4.332, 5.629",\
                 "0.3364, 0.4286, 0.6522, 0.9448, 1.314, 1.801, 2.445, 3.281, 4.338, 5.632",\
                 "0.3584, 0.4522, 0.6794, 0.9772, 1.348, 1.829, 2.464, 3.293, 4.346, 5.633",\
                 "0.3856, 0.4838, 0.718, 1.019, 1.386, 1.864, 2.492, 3.312, 4.354, 5.638",\
                 "0.4202, 0.522, 0.7674, 1.077, 1.443, 1.912, 2.529, 3.342, 4.374, 5.652");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1968, 0.2654, 0.4751, 0.8456, 1.414, 2.244, 3.363, 4.784, 6.523, 8.602",\
                 "0.1969, 0.2655, 0.4746, 0.8456, 1.414, 2.244, 3.361, 4.784, 6.523, 8.604",\
                 "0.196, 0.2657, 0.4728, 0.8436, 1.416, 2.244, 3.361, 4.784, 6.522, 8.605",\
                 "0.1958, 0.266, 0.4728, 0.8452, 1.416, 2.244, 3.362, 4.787, 6.535, 8.601",\
                 "0.2028, 0.2716, 0.4776, 0.8464, 1.418, 2.245, 3.364, 4.789, 6.527, 8.604",\
                 "0.217, 0.2878, 0.493, 0.8596, 1.424, 2.248, 3.364, 4.79, 6.526, 8.613",\
                 "0.236, 0.3076, 0.5124, 0.8766, 1.437, 2.253, 3.368, 4.784, 6.531, 8.609",\
                 "0.26, 0.3322, 0.535, 0.8976, 1.453, 2.261, 3.37, 4.791, 6.533, 8.616",\
                 "0.2898, 0.3654, 0.5684, 0.9284, 1.476, 2.276, 3.375, 4.789, 6.53, 8.598",\
                 "0.3236, 0.4008, 0.6062, 0.965, 1.511, 2.305, 3.39, 4.796, 6.527, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9058, 0.9857, 1.188, 1.466, 1.803, 2.202, 2.677, 3.242, 3.914, 4.707",\
                 "0.9216, 1.001, 1.204, 1.482, 1.819, 2.218, 2.692, 3.257, 3.93, 4.723",\
                 "0.982, 1.062, 1.264, 1.542, 1.88, 2.279, 2.753, 3.318, 3.99, 4.783",\
                 "1.107, 1.187, 1.389, 1.667, 2.004, 2.403, 2.877, 3.442, 4.115, 4.908",\
                 "1.3, 1.38, 1.582, 1.859, 2.196, 2.595, 3.069, 3.634, 4.307, 5.1",\
                 "1.548, 1.629, 1.833, 2.113, 2.451, 2.851, 3.325, 3.89, 4.562, 5.355",\
                 "1.839, 1.922, 2.131, 2.418, 2.761, 3.164, 3.64, 4.206, 4.878, 5.67",\
                 "2.176, 2.262, 2.478, 2.771, 3.12, 3.529, 4.008, 4.576, 5.248, 6.041",\
                 "2.559, 2.649, 2.873, 3.175, 3.533, 3.947, 4.431, 5, 5.674, 6.466",\
                 "2.984, 3.078, 3.311, 3.627, 3.996, 4.418, 4.908, 5.481, 6.155, 6.949");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7994, 0.8645, 1.036, 1.303, 1.673, 2.167, 2.808, 3.615, 4.6, 5.775",\
                 "0.8125, 0.8773, 1.048, 1.316, 1.686, 2.179, 2.821, 3.628, 4.613, 5.786",\
                 "0.8561, 0.9209, 1.092, 1.359, 1.729, 2.223, 2.864, 3.672, 4.655, 5.831",\
                 "0.9373, 1.002, 1.173, 1.44, 1.81, 2.304, 2.945, 3.752, 4.736, 5.912",\
                 "1.045, 1.111, 1.282, 1.548, 1.918, 2.411, 3.052, 3.857, 4.844, 6.02",\
                 "1.146, 1.214, 1.389, 1.657, 2.028, 2.52, 3.16, 3.966, 4.951, 6.123",\
                 "1.229, 1.299, 1.479, 1.751, 2.123, 2.616, 3.256, 4.061, 5.045, 6.22",\
                 "1.291, 1.365, 1.55, 1.826, 2.2, 2.694, 3.332, 4.136, 5.119, 6.292",\
                 "1.322, 1.401, 1.595, 1.877, 2.256, 2.751, 3.388, 4.191, 5.172, 6.344",\
                 "1.321, 1.404, 1.608, 1.898, 2.284, 2.784, 3.422, 4.224, 5.204, 6.375");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2882, 0.372, 0.5752, 0.8508, 1.216, 1.707, 2.365, 3.215, 4.286, 5.596",\
                 "0.287, 0.3717, 0.5756, 0.8522, 1.217, 1.706, 2.363, 3.214, 4.288, 5.598",\
                 "0.287, 0.3718, 0.5754, 0.8524, 1.217, 1.707, 2.363, 3.214, 4.292, 5.598",\
                 "0.2884, 0.3714, 0.5752, 0.852, 1.217, 1.708, 2.365, 3.217, 4.292, 5.596",\
                 "0.289, 0.3732, 0.5774, 0.8544, 1.218, 1.71, 2.366, 3.214, 4.293, 5.6",\
                 "0.3026, 0.3882, 0.592, 0.8668, 1.228, 1.714, 2.369, 3.217, 4.293, 5.6",\
                 "0.3208, 0.4084, 0.6184, 0.8952, 1.252, 1.732, 2.38, 3.223, 4.296, 5.602",\
                 "0.3444, 0.4338, 0.65, 0.9282, 1.283, 1.758, 2.399, 3.236, 4.302, 5.605",\
                 "0.3736, 0.467, 0.6884, 0.9714, 1.323, 1.792, 2.424, 3.255, 4.311, 5.612",\
                 "0.4076, 0.5052, 0.7368, 1.027, 1.376, 1.836, 2.458, 3.277, 4.326, 5.616");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1997, 0.2685, 0.4795, 0.85, 1.421, 2.247, 3.362, 4.783, 6.532, 8.606",\
                 "0.1983, 0.2694, 0.4769, 0.8522, 1.419, 2.248, 3.365, 4.784, 6.529, 8.603",\
                 "0.1983, 0.269, 0.4784, 0.8494, 1.42, 2.248, 3.365, 4.784, 6.529, 8.605",\
                 "0.1994, 0.2688, 0.4792, 0.8504, 1.421, 2.247, 3.359, 4.786, 6.529, 8.607",\
                 "0.2042, 0.2734, 0.4814, 0.854, 1.422, 2.248, 3.365, 4.789, 6.526, 8.617",\
                 "0.2186, 0.2896, 0.497, 0.8656, 1.428, 2.248, 3.362, 4.786, 6.536, 8.603",\
                 "0.2368, 0.3086, 0.5148, 0.8826, 1.443, 2.258, 3.366, 4.789, 6.526, 8.618",\
                 "0.2612, 0.3334, 0.54, 0.903, 1.459, 2.265, 3.37, 4.793, 6.526, 8.599",\
                 "0.2898, 0.3656, 0.5724, 0.9338, 1.48, 2.279, 3.376, 4.789, 6.53, 8.612",\
                 "0.3216, 0.401, 0.6086, 0.969, 1.516, 2.306, 3.39, 4.795, 6.527, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9904, 1.074, 1.285, 1.578, 1.932, 2.348, 2.836, 3.412, 4.09, 4.886",\
                 "1.006, 1.089, 1.301, 1.594, 1.948, 2.364, 2.852, 3.427, 4.105, 4.902",\
                 "1.067, 1.15, 1.362, 1.654, 2.009, 2.425, 2.913, 3.488, 4.167, 4.963",\
                 "1.194, 1.278, 1.489, 1.782, 2.136, 2.552, 3.04, 3.615, 4.294, 5.09",\
                 "1.394, 1.477, 1.688, 1.98, 2.334, 2.75, 3.238, 3.813, 4.492, 5.288",\
                 "1.657, 1.74, 1.953, 2.246, 2.6, 3.016, 3.504, 4.08, 4.758, 5.554",\
                 "1.968, 2.054, 2.271, 2.57, 2.929, 3.348, 3.837, 4.413, 5.091, 5.887",\
                 "2.331, 2.42, 2.642, 2.948, 3.314, 3.739, 4.232, 4.81, 5.489, 6.284",\
                 "2.747, 2.839, 3.069, 3.384, 3.757, 4.188, 4.687, 5.267, 5.948, 6.744",\
                 "3.212, 3.308, 3.548, 3.875, 4.26, 4.7, 5.204, 5.789, 6.471, 7.268");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7546, 0.8189, 0.9883, 1.254, 1.622, 2.114, 2.756, 3.563, 4.547, 5.725",\
                 "0.7668, 0.8311, 1.001, 1.266, 1.634, 2.127, 2.768, 3.575, 4.559, 5.737",\
                 "0.8094, 0.8739, 1.043, 1.309, 1.676, 2.169, 2.811, 3.617, 4.602, 5.778",\
                 "0.888, 0.9525, 1.122, 1.387, 1.754, 2.247, 2.888, 3.695, 4.681, 5.855",\
                 "0.9867, 1.052, 1.221, 1.486, 1.853, 2.345, 2.985, 3.791, 4.778, 5.953",\
                 "1.071, 1.139, 1.312, 1.579, 1.947, 2.439, 3.079, 3.884, 4.87, 6.045",\
                 "1.133, 1.203, 1.381, 1.65, 2.02, 2.513, 3.151, 3.957, 4.94, 6.116",\
                 "1.163, 1.236, 1.421, 1.694, 2.067, 2.559, 3.197, 4.001, 4.983, 6.156",\
                 "1.153, 1.231, 1.424, 1.704, 2.081, 2.575, 3.212, 4.015, 4.996, 6.167",\
                 "1.099, 1.182, 1.384, 1.672, 2.056, 2.554, 3.193, 3.994, 4.974, 6.145");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3092, 0.3991, 0.6166, 0.9088, 1.285, 1.781, 2.43, 3.274, 4.333, 5.629",\
                 "0.3092, 0.3988, 0.6166, 0.9076, 1.286, 1.781, 2.43, 3.274, 4.333, 5.63",\
                 "0.311, 0.3986, 0.6164, 0.9094, 1.286, 1.779, 2.43, 3.27, 4.331, 5.627",\
                 "0.3094, 0.399, 0.6164, 0.9078, 1.286, 1.78, 2.428, 3.274, 4.334, 5.628",\
                 "0.3098, 0.3998, 0.617, 0.9098, 1.286, 1.78, 2.431, 3.274, 4.329, 5.63",\
                 "0.32, 0.4096, 0.6274, 0.917, 1.292, 1.784, 2.434, 3.275, 4.33, 5.625",\
                 "0.3398, 0.4292, 0.651, 0.9424, 1.312, 1.8, 2.445, 3.28, 4.338, 5.627",\
                 "0.3578, 0.452, 0.6786, 0.9754, 1.345, 1.827, 2.462, 3.292, 4.34, 5.631",\
                 "0.3858, 0.4816, 0.7144, 1.016, 1.383, 1.861, 2.49, 3.312, 4.357, 5.641",\
                 "0.417, 0.5184, 0.7608, 1.071, 1.436, 1.906, 2.526, 3.34, 4.376, 5.648");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1958, 0.2668, 0.4736, 0.8456, 1.415, 2.244, 3.362, 4.787, 6.523, 8.605",\
                 "0.1957, 0.2656, 0.4732, 0.8436, 1.413, 2.244, 3.362, 4.784, 6.523, 8.605",\
                 "0.1977, 0.2667, 0.4738, 0.8438, 1.416, 2.244, 3.363, 4.783, 6.533, 8.612",\
                 "0.1968, 0.2656, 0.4732, 0.8456, 1.414, 2.245, 3.363, 4.786, 6.535, 8.608",\
                 "0.2022, 0.2716, 0.4774, 0.8484, 1.417, 2.245, 3.364, 4.79, 6.526, 8.615",\
                 "0.2164, 0.2866, 0.493, 0.8596, 1.424, 2.247, 3.364, 4.79, 6.537, 8.614",\
                 "0.2342, 0.3054, 0.5102, 0.8766, 1.437, 2.253, 3.365, 4.785, 6.535, 8.614",\
                 "0.2602, 0.3332, 0.535, 0.8992, 1.451, 2.264, 3.371, 4.789, 6.526, 8.612",\
                 "0.2896, 0.3638, 0.5674, 0.9282, 1.478, 2.277, 3.376, 4.789, 6.525, 8.605",\
                 "0.321, 0.3996, 0.605, 0.9628, 1.511, 2.305, 3.39, 4.798, 6.527, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S1===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&I3&!S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9749, 1.058, 1.27, 1.563, 1.917, 2.333, 2.821, 3.397, 4.075, 4.872",\
                 "0.9904, 1.074, 1.286, 1.578, 1.933, 2.349, 2.837, 3.412, 4.091, 4.887",\
                 "1.052, 1.135, 1.347, 1.64, 1.994, 2.41, 2.898, 3.474, 4.152, 4.948",\
                 "1.18, 1.263, 1.475, 1.768, 2.122, 2.538, 3.026, 3.601, 4.28, 5.076",\
                 "1.377, 1.461, 1.672, 1.964, 2.318, 2.734, 3.222, 3.798, 4.476, 5.272",\
                 "1.637, 1.721, 1.933, 2.227, 2.581, 2.998, 3.486, 4.061, 4.74, 5.536",\
                 "1.944, 2.03, 2.248, 2.548, 2.907, 3.326, 3.816, 4.392, 5.07, 5.866",\
                 "2.303, 2.392, 2.615, 2.922, 3.288, 3.713, 4.206, 4.784, 5.463, 6.259",\
                 "2.714, 2.806, 3.036, 3.353, 3.727, 4.159, 4.657, 5.238, 5.919, 6.715",\
                 "3.172, 3.269, 3.51, 3.838, 4.225, 4.666, 5.171, 5.756, 6.439, 7.236");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.7551, 0.8193, 0.9887, 1.254, 1.622, 2.115, 2.756, 3.563, 4.548, 5.723",\
                 "0.7671, 0.8316, 1.001, 1.266, 1.634, 2.127, 2.768, 3.575, 4.56, 5.738",\
                 "0.8101, 0.8743, 1.044, 1.309, 1.677, 2.17, 2.811, 3.618, 4.603, 5.778",\
                 "0.8885, 0.9528, 1.122, 1.387, 1.755, 2.247, 2.888, 3.695, 4.68, 5.859",\
                 "0.9866, 1.052, 1.221, 1.486, 1.853, 2.345, 2.985, 3.792, 4.778, 5.954",\
                 "1.071, 1.138, 1.312, 1.579, 1.947, 2.439, 3.079, 3.884, 4.87, 6.042",\
                 "1.133, 1.203, 1.38, 1.65, 2.02, 2.512, 3.151, 3.956, 4.939, 6.115",\
                 "1.162, 1.235, 1.419, 1.694, 2.066, 2.558, 3.196, 4, 4.983, 6.155",\
                 "1.152, 1.23, 1.423, 1.703, 2.08, 2.574, 3.211, 4.014, 4.996, 6.166",\
                 "1.098, 1.181, 1.384, 1.672, 2.055, 2.553, 3.192, 3.993, 4.974, 6.145");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3092, 0.3987, 0.616, 0.9084, 1.286, 1.78, 2.429, 3.272, 4.33, 5.622",\
                 "0.309, 0.3988, 0.6156, 0.9086, 1.286, 1.781, 2.429, 3.274, 4.334, 5.626",\
                 "0.3088, 0.3986, 0.616, 0.9074, 1.285, 1.78, 2.43, 3.274, 4.33, 5.63",\
                 "0.3092, 0.3988, 0.6162, 0.9076, 1.285, 1.78, 2.43, 3.271, 4.333, 5.629",\
                 "0.3094, 0.3992, 0.6166, 0.9096, 1.285, 1.78, 2.43, 3.274, 4.33, 5.63",\
                 "0.32, 0.4094, 0.6272, 0.9174, 1.293, 1.785, 2.433, 3.273, 4.33, 5.63",\
                 "0.3372, 0.429, 0.6518, 0.944, 1.313, 1.802, 2.445, 3.279, 4.339, 5.632",\
                 "0.3576, 0.4526, 0.6806, 0.9762, 1.345, 1.829, 2.463, 3.294, 4.345, 5.635",\
                 "0.3856, 0.483, 0.7174, 1.017, 1.384, 1.863, 2.492, 3.312, 4.356, 5.638",\
                 "0.419, 0.5206, 0.7652, 1.074, 1.44, 1.907, 2.531, 3.34, 4.374, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1959, 0.2661, 0.4736, 0.8438, 1.416, 2.244, 3.363, 4.783, 6.533, 8.612",\
                 "0.1968, 0.2668, 0.4734, 0.8434, 1.415, 2.245, 3.364, 4.783, 6.522, 8.602",\
                 "0.1958, 0.2659, 0.4736, 0.8456, 1.415, 2.244, 3.362, 4.781, 6.534, 8.611",\
                 "0.1958, 0.2658, 0.4734, 0.8454, 1.414, 2.244, 3.362, 4.787, 6.522, 8.602",\
                 "0.2024, 0.2716, 0.478, 0.848, 1.417, 2.245, 3.363, 4.791, 6.527, 8.617",\
                 "0.2164, 0.2866, 0.492, 0.8598, 1.424, 2.248, 3.364, 4.79, 6.526, 8.605",\
                 "0.2346, 0.3058, 0.5098, 0.8768, 1.437, 2.253, 3.368, 4.781, 6.528, 8.605",\
                 "0.2606, 0.3342, 0.5358, 0.8998, 1.453, 2.264, 3.369, 4.789, 6.532, 8.607",\
                 "0.289, 0.365, 0.5676, 0.9288, 1.478, 2.277, 3.375, 4.788, 6.526, 8.598",\
                 "0.3212, 0.3996, 0.6054, 0.9644, 1.514, 2.304, 3.39, 4.794, 6.528, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9221, 1.002, 1.204, 1.482, 1.819, 2.218, 2.692, 3.258, 3.93, 4.723",\
                 "0.9378, 1.018, 1.22, 1.498, 1.835, 2.234, 2.708, 3.273, 3.946, 4.739",\
                 "0.9978, 1.078, 1.28, 1.558, 1.895, 2.294, 2.768, 3.333, 4.005, 4.799",\
                 "1.122, 1.202, 1.404, 1.681, 2.019, 2.418, 2.892, 3.457, 4.129, 4.923",\
                 "1.317, 1.397, 1.599, 1.876, 2.213, 2.612, 3.086, 3.651, 4.323, 5.116",\
                 "1.57, 1.651, 1.854, 2.134, 2.471, 2.871, 3.345, 3.91, 4.582, 5.375",\
                 "1.864, 1.948, 2.157, 2.443, 2.785, 3.188, 3.663, 4.229, 4.901, 5.694",\
                 "2.206, 2.293, 2.507, 2.799, 3.148, 3.556, 4.035, 4.603, 5.275, 6.067",\
                 "2.594, 2.683, 2.906, 3.207, 3.564, 3.977, 4.459, 5.029, 5.702, 6.495",\
                 "3.024, 3.118, 3.349, 3.662, 4.03, 4.451, 4.939, 5.511, 6.186, 6.979");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8007, 0.8655, 1.037, 1.304, 1.674, 2.168, 2.809, 3.616, 4.602, 5.779",\
                 "0.8134, 0.8783, 1.049, 1.316, 1.687, 2.18, 2.822, 3.628, 4.614, 5.788",\
                 "0.8568, 0.9218, 1.093, 1.36, 1.73, 2.224, 2.865, 3.672, 4.657, 5.832",\
                 "0.9392, 1.004, 1.175, 1.442, 1.812, 2.306, 2.947, 3.754, 4.74, 5.916",\
                 "1.049, 1.114, 1.285, 1.552, 1.921, 2.414, 3.055, 3.861, 4.846, 6.023",\
                 "1.151, 1.219, 1.393, 1.662, 2.033, 2.525, 3.165, 3.971, 4.957, 6.131",\
                 "1.236, 1.306, 1.486, 1.757, 2.13, 2.623, 3.263, 4.068, 5.052, 6.227",\
                 "1.3, 1.374, 1.559, 1.834, 2.209, 2.702, 3.341, 4.145, 5.128, 6.301",\
                 "1.334, 1.412, 1.606, 1.887, 2.267, 2.761, 3.399, 4.201, 5.183, 6.354",\
                 "1.334, 1.418, 1.621, 1.911, 2.297, 2.796, 3.434, 4.236, 5.216, 6.387");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2878, 0.3725, 0.5754, 0.8524, 1.218, 1.709, 2.364, 3.215, 4.292, 5.597",\
                 "0.2879, 0.3721, 0.5762, 0.8526, 1.217, 1.707, 2.364, 3.215, 4.289, 5.597",\
                 "0.288, 0.3722, 0.5756, 0.8528, 1.218, 1.709, 2.363, 3.215, 4.292, 5.597",\
                 "0.2882, 0.3724, 0.5762, 0.8528, 1.218, 1.706, 2.364, 3.215, 4.288, 5.6",\
                 "0.2898, 0.3742, 0.5788, 0.8552, 1.219, 1.708, 2.365, 3.215, 4.288, 5.599",\
                 "0.3036, 0.3888, 0.5922, 0.8686, 1.229, 1.716, 2.367, 3.217, 4.294, 5.598",\
                 "0.3224, 0.4098, 0.6202, 0.8956, 1.251, 1.732, 2.377, 3.227, 4.296, 5.595",\
                 "0.3464, 0.4356, 0.6492, 0.9276, 1.282, 1.759, 2.399, 3.236, 4.298, 5.599",\
                 "0.3752, 0.4688, 0.6894, 0.971, 1.322, 1.792, 2.422, 3.254, 4.314, 5.604",\
                 "0.4102, 0.5078, 0.7368, 1.026, 1.373, 1.832, 2.458, 3.277, 4.326, 5.614");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1982, 0.2683, 0.4781, 0.8494, 1.421, 2.247, 3.361, 4.787, 6.526, 8.603",\
                 "0.1993, 0.2684, 0.4781, 0.85, 1.422, 2.247, 3.362, 4.789, 6.528, 8.607",\
                 "0.1995, 0.2686, 0.4776, 0.8494, 1.421, 2.245, 3.359, 4.784, 6.532, 8.607",\
                 "0.1982, 0.2684, 0.478, 0.8514, 1.419, 2.247, 3.359, 4.783, 6.524, 8.616",\
                 "0.2038, 0.273, 0.4824, 0.854, 1.421, 2.248, 3.365, 4.784, 6.524, 8.603",\
                 "0.218, 0.2892, 0.4962, 0.8664, 1.43, 2.251, 3.363, 4.787, 6.524, 8.604",\
                 "0.2372, 0.3074, 0.5138, 0.882, 1.443, 2.258, 3.365, 4.788, 6.525, 8.616",\
                 "0.26, 0.3332, 0.5382, 0.9048, 1.458, 2.266, 3.37, 4.785, 6.523, 8.597",\
                 "0.2896, 0.3652, 0.5704, 0.9326, 1.48, 2.28, 3.377, 4.789, 6.532, 8.599",\
                 "0.3206, 0.4, 0.6066, 0.9682, 1.516, 2.307, 3.39, 4.793, 6.527, 8.603");
        }
      }

      timing() {
        related_pin : "S0" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S1===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&I3&S1" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.913, 0.993, 1.195, 1.473, 1.81, 2.209, 2.683, 3.249, 3.921, 4.714",\
                 "0.9287, 1.009, 1.211, 1.489, 1.826, 2.225, 2.699, 3.264, 3.937, 4.73",\
                 "0.9891, 1.069, 1.271, 1.549, 1.886, 2.285, 2.759, 3.325, 3.997, 4.79",\
                 "1.114, 1.194, 1.396, 1.674, 2.011, 2.41, 2.884, 3.449, 4.121, 4.915",\
                 "1.308, 1.388, 1.59, 1.867, 2.204, 2.603, 3.077, 3.642, 4.314, 5.108",\
                 "1.558, 1.639, 1.843, 2.123, 2.461, 2.86, 3.335, 3.9, 4.572, 5.365",\
                 "1.851, 1.935, 2.144, 2.43, 2.773, 3.176, 3.652, 4.217, 4.889, 5.682",\
                 "2.191, 2.277, 2.492, 2.785, 3.134, 3.542, 4.022, 4.589, 5.261, 6.054",\
                 "2.576, 2.665, 2.889, 3.19, 3.548, 3.961, 4.444, 5.014, 5.688, 6.48",\
                 "3.003, 3.097, 3.329, 3.644, 4.012, 4.434, 4.924, 5.495, 6.171, 6.964");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8002, 0.8651, 1.036, 1.303, 1.673, 2.167, 2.809, 3.616, 4.6, 5.775",\
                 "0.8129, 0.8779, 1.049, 1.316, 1.686, 2.18, 2.821, 3.629, 4.614, 5.791",\
                 "0.8565, 0.9215, 1.092, 1.36, 1.73, 2.224, 2.865, 3.672, 4.658, 5.835",\
                 "0.9387, 1.004, 1.174, 1.441, 1.811, 2.305, 2.946, 3.753, 4.738, 5.915",\
                 "1.047, 1.113, 1.284, 1.55, 1.92, 2.413, 3.053, 3.86, 4.845, 6.021",\
                 "1.149, 1.217, 1.392, 1.661, 2.031, 2.524, 3.164, 3.969, 4.955, 6.127",\
                 "1.233, 1.304, 1.483, 1.755, 2.127, 2.621, 3.26, 4.065, 5.048, 6.225",\
                 "1.296, 1.37, 1.556, 1.831, 2.206, 2.699, 3.338, 4.142, 5.124, 6.297",\
                 "1.329, 1.408, 1.602, 1.884, 2.263, 2.757, 3.394, 4.197, 5.179, 6.35",\
                 "1.329, 1.412, 1.615, 1.906, 2.291, 2.79, 3.429, 4.23, 5.211, 6.382");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2875, 0.3721, 0.5754, 0.8528, 1.218, 1.708, 2.363, 3.214, 4.292, 5.597",\
                 "0.2887, 0.3717, 0.5758, 0.8506, 1.217, 1.707, 2.365, 3.218, 4.292, 5.599",\
                 "0.2878, 0.372, 0.575, 0.8528, 1.218, 1.708, 2.362, 3.214, 4.29, 5.597",\
                 "0.289, 0.3724, 0.5758, 0.8524, 1.218, 1.709, 2.364, 3.218, 4.292, 5.6",\
                 "0.2888, 0.3736, 0.578, 0.8544, 1.219, 1.71, 2.364, 3.219, 4.292, 5.6",\
                 "0.3026, 0.3882, 0.592, 0.8664, 1.229, 1.716, 2.368, 3.219, 4.293, 5.6",\
                 "0.3218, 0.4096, 0.6194, 0.8954, 1.25, 1.731, 2.38, 3.227, 4.291, 5.602",\
                 "0.3446, 0.4346, 0.6488, 0.9278, 1.283, 1.759, 2.399, 3.235, 4.3, 5.601",\
                 "0.3754, 0.4682, 0.688, 0.9716, 1.323, 1.791, 2.423, 3.255, 4.312, 5.611",\
                 "0.4094, 0.5068, 0.737, 1.026, 1.374, 1.836, 2.457, 3.278, 4.326, 5.616");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1983, 0.2684, 0.4775, 0.8504, 1.422, 2.247, 3.362, 4.784, 6.532, 8.606",\
                 "0.1995, 0.2685, 0.4796, 0.85, 1.42, 2.247, 3.361, 4.783, 6.524, 8.617",\
                 "0.1995, 0.2688, 0.4784, 0.8498, 1.42, 2.247, 3.361, 4.782, 6.526, 8.602",\
                 "0.1984, 0.2692, 0.478, 0.8498, 1.421, 2.248, 3.365, 4.782, 6.532, 8.604",\
                 "0.204, 0.2736, 0.4828, 0.8542, 1.423, 2.248, 3.363, 4.784, 6.522, 8.604",\
                 "0.2194, 0.2896, 0.497, 0.865, 1.43, 2.249, 3.365, 4.788, 6.523, 8.605",\
                 "0.2364, 0.3076, 0.5138, 0.8826, 1.442, 2.258, 3.365, 4.786, 6.528, 8.617",\
                 "0.2604, 0.3338, 0.5384, 0.9048, 1.457, 2.266, 3.37, 4.789, 6.526, 8.602",\
                 "0.2894, 0.3666, 0.5712, 0.9326, 1.481, 2.28, 3.377, 4.789, 6.53, 8.608",\
                 "0.3206, 0.3996, 0.6074, 0.9692, 1.515, 2.307, 3.391, 4.799, 6.527, 8.604");
        }
      }

      timing() {
        related_pin : "S0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.9904, 1.074, 1.285, 1.578, 1.932, 2.348, 2.836, 3.412, 4.09, 4.886",\
                 "1.006, 1.089, 1.301, 1.594, 1.948, 2.364, 2.852, 3.427, 4.105, 4.902",\
                 "1.067, 1.15, 1.362, 1.654, 2.009, 2.425, 2.913, 3.488, 4.167, 4.963",\
                 "1.194, 1.278, 1.489, 1.782, 2.136, 2.552, 3.04, 3.615, 4.294, 5.09",\
                 "1.394, 1.477, 1.688, 1.98, 2.334, 2.75, 3.238, 3.813, 4.492, 5.288",\
                 "1.657, 1.74, 1.953, 2.246, 2.6, 3.016, 3.504, 4.08, 4.758, 5.554",\
                 "1.968, 2.054, 2.271, 2.57, 2.929, 3.348, 3.837, 4.413, 5.091, 5.887",\
                 "2.331, 2.42, 2.642, 2.948, 3.314, 3.739, 4.232, 4.81, 5.489, 6.284",\
                 "2.747, 2.839, 3.069, 3.384, 3.757, 4.188, 4.687, 5.267, 5.948, 6.744",\
                 "3.212, 3.308, 3.548, 3.875, 4.26, 4.7, 5.204, 5.789, 6.471, 7.268");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.8007, 0.8655, 1.037, 1.304, 1.674, 2.168, 2.809, 3.616, 4.602, 5.779",\
                 "0.8134, 0.8783, 1.049, 1.316, 1.687, 2.18, 2.822, 3.628, 4.614, 5.788",\
                 "0.8568, 0.9218, 1.093, 1.36, 1.73, 2.224, 2.865, 3.672, 4.657, 5.832",\
                 "0.9392, 1.004, 1.175, 1.442, 1.812, 2.306, 2.947, 3.754, 4.74, 5.916",\
                 "1.049, 1.114, 1.285, 1.552, 1.921, 2.414, 3.055, 3.861, 4.846, 6.023",\
                 "1.151, 1.219, 1.393, 1.662, 2.033, 2.525, 3.165, 3.971, 4.957, 6.131",\
                 "1.236, 1.306, 1.486, 1.757, 2.13, 2.623, 3.263, 4.068, 5.052, 6.227",\
                 "1.3, 1.374, 1.559, 1.834, 2.209, 2.702, 3.341, 4.145, 5.128, 6.301",\
                 "1.334, 1.412, 1.606, 1.887, 2.267, 2.761, 3.399, 4.201, 5.183, 6.354",\
                 "1.334, 1.418, 1.621, 1.911, 2.297, 2.796, 3.434, 4.236, 5.216, 6.387");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.3086, 0.3982, 0.616, 0.9086, 1.285, 1.779, 2.43, 3.27, 4.333, 5.628",\
                 "0.3098, 0.398, 0.6158, 0.9068, 1.284, 1.779, 2.429, 3.272, 4.329, 5.629",\
                 "0.3086, 0.398, 0.6158, 0.9082, 1.285, 1.779, 2.432, 3.274, 4.334, 5.629",\
                 "0.3098, 0.398, 0.616, 0.9084, 1.285, 1.779, 2.429, 3.272, 4.329, 5.629",\
                 "0.3084, 0.3982, 0.617, 0.9092, 1.286, 1.78, 2.432, 3.271, 4.329, 5.629",\
                 "0.3198, 0.4092, 0.6266, 0.9168, 1.293, 1.785, 2.433, 3.276, 4.332, 5.629",\
                 "0.3364, 0.4286, 0.6522, 0.9448, 1.314, 1.801, 2.445, 3.281, 4.338, 5.632",\
                 "0.3584, 0.4522, 0.6794, 0.9772, 1.348, 1.829, 2.464, 3.293, 4.346, 5.633",\
                 "0.3856, 0.4838, 0.718, 1.019, 1.386, 1.864, 2.492, 3.312, 4.354, 5.638",\
                 "0.4202, 0.522, 0.7674, 1.077, 1.443, 1.912, 2.529, 3.342, 4.374, 5.652");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1997, 0.2685, 0.4795, 0.85, 1.421, 2.247, 3.362, 4.783, 6.532, 8.606",\
                 "0.1983, 0.2694, 0.4769, 0.8522, 1.419, 2.248, 3.365, 4.784, 6.529, 8.603",\
                 "0.1983, 0.269, 0.4784, 0.8494, 1.42, 2.248, 3.365, 4.784, 6.529, 8.605",\
                 "0.1994, 0.2688, 0.4792, 0.8504, 1.421, 2.247, 3.359, 4.786, 6.529, 8.607",\
                 "0.2042, 0.2734, 0.4814, 0.854, 1.422, 2.248, 3.365, 4.789, 6.526, 8.617",\
                 "0.2186, 0.2896, 0.497, 0.8656, 1.428, 2.248, 3.362, 4.786, 6.536, 8.603",\
                 "0.2368, 0.3086, 0.5148, 0.8826, 1.443, 2.258, 3.366, 4.789, 6.526, 8.618",\
                 "0.2612, 0.3334, 0.54, 0.903, 1.459, 2.265, 3.37, 4.793, 6.526, 8.599",\
                 "0.2898, 0.3656, 0.5724, 0.9338, 1.48, 2.279, 3.376, 4.789, 6.53, 8.612",\
                 "0.3216, 0.401, 0.6086, 0.969, 1.516, 2.306, 3.39, 4.795, 6.527, 8.603");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&I1&!I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4879, 0.5659, 0.7654, 1.041, 1.376, 1.774, 2.247, 2.812, 3.485, 4.279",\
                 "0.5024, 0.5805, 0.78, 1.055, 1.39, 1.788, 2.262, 2.827, 3.499, 4.293",\
                 "0.5558, 0.6336, 0.8325, 1.107, 1.442, 1.84, 2.313, 2.879, 3.551, 4.345",\
                 "0.6526, 0.7262, 0.9186, 1.189, 1.522, 1.918, 2.391, 2.956, 3.629, 4.422",\
                 "0.7703, 0.8448, 1.03, 1.291, 1.617, 2.01, 2.482, 3.047, 3.719, 4.512",\
                 "0.8189, 0.8917, 1.072, 1.327, 1.649, 2.04, 2.51, 3.073, 3.745, 4.538",\
                 "0.8018, 0.8731, 1.052, 1.306, 1.628, 2.019, 2.488, 3.051, 3.722, 4.515",\
                 "0.7414, 0.8128, 0.9926, 1.246, 1.568, 1.959, 2.429, 2.991, 3.662, 4.454",\
                 "0.6427, 0.7146, 0.8947, 1.148, 1.47, 1.861, 2.331, 2.894, 3.565, 4.357",\
                 "0.506, 0.578, 0.7578, 1.011, 1.333, 1.725, 2.195, 2.759, 3.431, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6427, 0.7072, 0.8768, 1.142, 1.511, 2.004, 2.645, 3.452, 4.438, 5.612",\
                 "0.6597, 0.7239, 0.8938, 1.159, 1.528, 2.021, 2.662, 3.469, 4.454, 5.63",\
                 "0.7281, 0.7924, 0.9623, 1.228, 1.596, 2.089, 2.73, 3.538, 4.522, 5.698",\
                 "0.8545, 0.9188, 1.089, 1.354, 1.722, 2.216, 2.857, 3.664, 4.65, 5.826",\
                 "1.021, 1.085, 1.254, 1.52, 1.888, 2.381, 3.022, 3.829, 4.815, 5.99",\
                 "1.218, 1.283, 1.452, 1.717, 2.085, 2.578, 3.219, 4.026, 5.012, 6.188",\
                 "1.453, 1.517, 1.685, 1.95, 2.318, 2.81, 3.451, 4.258, 5.244, 6.419",\
                 "1.723, 1.787, 1.956, 2.221, 2.588, 3.08, 3.72, 4.527, 5.512, 6.687",\
                 "2.032, 2.096, 2.265, 2.529, 2.897, 3.389, 4.03, 4.836, 5.82, 6.994",\
                 "2.38, 2.444, 2.613, 2.877, 3.246, 3.742, 4.387, 5.195, 6.179, 7.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2542, 0.3383, 0.545, 0.8268, 1.199, 1.694, 2.353, 3.211, 4.286, 5.593",\
                 "0.2543, 0.338, 0.5449, 0.8266, 1.199, 1.694, 2.354, 3.21, 4.287, 5.598",\
                 "0.2517, 0.3354, 0.5426, 0.8248, 1.197, 1.694, 2.355, 3.214, 4.288, 5.599",\
                 "0.235, 0.3188, 0.5278, 0.8158, 1.19, 1.69, 2.354, 3.209, 4.289, 5.598",\
                 "0.261, 0.3358, 0.5226, 0.8016, 1.181, 1.685, 2.35, 3.208, 4.285, 5.591",\
                 "0.2706, 0.3424, 0.5224, 0.7958, 1.174, 1.679, 2.347, 3.208, 4.287, 5.597",\
                 "0.2688, 0.3402, 0.5216, 0.7962, 1.175, 1.677, 2.34, 3.202, 4.284, 5.594",\
                 "0.2686, 0.3408, 0.5218, 0.7968, 1.177, 1.679, 2.342, 3.197, 4.273, 5.588",\
                 "0.2702, 0.3426, 0.5232, 0.7984, 1.179, 1.681, 2.344, 3.202, 4.276, 5.581",\
                 "0.2724, 0.3444, 0.5244, 0.7998, 1.18, 1.682, 2.348, 3.209, 4.28, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1955, 0.2641, 0.4737, 0.8424, 1.415, 2.242, 3.362, 4.782, 6.534, 8.609",\
                 "0.1958, 0.2649, 0.4721, 0.8428, 1.414, 2.244, 3.364, 4.783, 6.532, 8.612",\
                 "0.1945, 0.2648, 0.4718, 0.8424, 1.414, 2.244, 3.364, 4.782, 6.531, 8.613",\
                 "0.1942, 0.2636, 0.4716, 0.8426, 1.413, 2.244, 3.361, 4.786, 6.53, 8.605",\
                 "0.1916, 0.2618, 0.4716, 0.8422, 1.414, 2.241, 3.363, 4.788, 6.535, 8.607",\
                 "0.1914, 0.2618, 0.4704, 0.8416, 1.413, 2.243, 3.364, 4.791, 6.527, 8.615",\
                 "0.1922, 0.2614, 0.4718, 0.8414, 1.412, 2.239, 3.361, 4.783, 6.534, 8.612",\
                 "0.1934, 0.2628, 0.4722, 0.8438, 1.412, 2.24, 3.357, 4.784, 6.533, 8.604",\
                 "0.1944, 0.2644, 0.474, 0.8452, 1.415, 2.243, 3.357, 4.779, 6.523, 8.597",\
                 "0.1962, 0.2658, 0.476, 0.8474, 1.424, 2.257, 3.373, 4.787, 6.518, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4879, 0.566, 0.7656, 1.041, 1.376, 1.774, 2.247, 2.812, 3.485, 4.279",\
                 "0.5024, 0.5805, 0.7799, 1.055, 1.39, 1.788, 2.262, 2.827, 3.499, 4.293",\
                 "0.5558, 0.6336, 0.8325, 1.107, 1.442, 1.84, 2.313, 2.879, 3.551, 4.345",\
                 "0.6526, 0.7262, 0.9186, 1.189, 1.522, 1.918, 2.391, 2.956, 3.629, 4.422",\
                 "0.7705, 0.8444, 1.03, 1.29, 1.617, 2.01, 2.482, 3.047, 3.718, 4.512",\
                 "0.8192, 0.8915, 1.072, 1.327, 1.649, 2.04, 2.51, 3.073, 3.745, 4.538",\
                 "0.8016, 0.8731, 1.052, 1.306, 1.628, 2.019, 2.488, 3.051, 3.722, 4.515",\
                 "0.7416, 0.8128, 0.9926, 1.246, 1.568, 1.959, 2.429, 2.991, 3.662, 4.454",\
                 "0.6427, 0.7147, 0.8951, 1.148, 1.47, 1.861, 2.331, 2.894, 3.565, 4.357",\
                 "0.506, 0.5777, 0.7578, 1.011, 1.333, 1.724, 2.195, 2.759, 3.431, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6427, 0.7072, 0.877, 1.142, 1.511, 2.004, 2.645, 3.452, 4.438, 5.612",\
                 "0.6597, 0.7239, 0.8938, 1.159, 1.528, 2.021, 2.662, 3.469, 4.454, 5.63",\
                 "0.7281, 0.7924, 0.9624, 1.228, 1.596, 2.089, 2.73, 3.538, 4.522, 5.698",\
                 "0.8547, 0.9188, 1.088, 1.354, 1.722, 2.215, 2.857, 3.663, 4.65, 5.826",\
                 "1.021, 1.085, 1.254, 1.52, 1.888, 2.381, 3.022, 3.829, 4.816, 5.989",\
                 "1.218, 1.283, 1.452, 1.717, 2.085, 2.578, 3.219, 4.026, 5.012, 6.188",\
                 "1.453, 1.517, 1.685, 1.95, 2.318, 2.81, 3.45, 4.258, 5.244, 6.419",\
                 "1.723, 1.787, 1.956, 2.221, 2.588, 3.08, 3.72, 4.527, 5.512, 6.687",\
                 "2.032, 2.096, 2.265, 2.529, 2.897, 3.389, 4.03, 4.836, 5.82, 6.995",\
                 "2.38, 2.444, 2.612, 2.877, 3.245, 3.742, 4.387, 5.194, 6.179, 7.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2542, 0.338, 0.5451, 0.8272, 1.197, 1.694, 2.357, 3.213, 4.284, 5.597",\
                 "0.2543, 0.338, 0.5449, 0.8266, 1.199, 1.694, 2.354, 3.21, 4.287, 5.598",\
                 "0.2517, 0.3354, 0.5426, 0.8248, 1.197, 1.694, 2.355, 3.214, 4.288, 5.599",\
                 "0.235, 0.3188, 0.5278, 0.8158, 1.19, 1.69, 2.354, 3.212, 4.288, 5.598",\
                 "0.2616, 0.336, 0.5224, 0.8016, 1.182, 1.686, 2.351, 3.206, 4.288, 5.591",\
                 "0.2706, 0.3422, 0.5224, 0.7958, 1.175, 1.679, 2.347, 3.207, 4.281, 5.594",\
                 "0.2682, 0.3402, 0.5216, 0.7962, 1.175, 1.677, 2.34, 3.202, 4.284, 5.594",\
                 "0.269, 0.3408, 0.5218, 0.7968, 1.177, 1.679, 2.342, 3.197, 4.273, 5.588",\
                 "0.2702, 0.3428, 0.5232, 0.7984, 1.179, 1.681, 2.344, 3.2, 4.276, 5.581",\
                 "0.2724, 0.3446, 0.5244, 0.7998, 1.18, 1.684, 2.349, 3.206, 4.28, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1955, 0.2641, 0.4727, 0.8425, 1.415, 2.245, 3.362, 4.784, 6.535, 8.608",\
                 "0.1958, 0.2649, 0.4721, 0.8428, 1.414, 2.244, 3.364, 4.783, 6.532, 8.612",\
                 "0.1945, 0.2648, 0.4718, 0.8424, 1.414, 2.244, 3.364, 4.782, 6.531, 8.613",\
                 "0.195, 0.2636, 0.4716, 0.8424, 1.415, 2.242, 3.364, 4.788, 6.537, 8.605",\
                 "0.1916, 0.2622, 0.472, 0.8442, 1.414, 2.242, 3.363, 4.788, 6.535, 8.605",\
                 "0.1924, 0.2618, 0.4704, 0.8408, 1.413, 2.243, 3.364, 4.791, 6.527, 8.615",\
                 "0.1922, 0.261, 0.4718, 0.8414, 1.411, 2.238, 3.357, 4.784, 6.534, 8.612",\
                 "0.1934, 0.2628, 0.4722, 0.8438, 1.412, 2.24, 3.357, 4.784, 6.533, 8.604",\
                 "0.1944, 0.2644, 0.474, 0.8446, 1.415, 2.242, 3.362, 4.779, 6.522, 8.606",\
                 "0.197, 0.2662, 0.4762, 0.8474, 1.423, 2.258, 3.371, 4.781, 6.518, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b0 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4883, 0.5663, 0.766, 1.041, 1.376, 1.774, 2.248, 2.813, 3.486, 4.279",\
                 "0.5029, 0.5811, 0.7805, 1.056, 1.391, 1.789, 2.262, 2.828, 3.5, 4.294",\
                 "0.5562, 0.6339, 0.833, 1.108, 1.443, 1.84, 2.314, 2.879, 3.552, 4.345",\
                 "0.6524, 0.7265, 0.9187, 1.189, 1.522, 1.918, 2.392, 2.957, 3.63, 4.423",\
                 "0.7704, 0.8452, 1.03, 1.29, 1.617, 2.01, 2.482, 3.046, 3.718, 4.512",\
                 "0.8194, 0.8917, 1.072, 1.327, 1.65, 2.04, 2.51, 3.074, 3.746, 4.538",\
                 "0.8018, 0.8731, 1.052, 1.306, 1.628, 2.019, 2.488, 3.051, 3.722, 4.515",\
                 "0.7414, 0.8128, 0.9923, 1.246, 1.568, 1.959, 2.429, 2.991, 3.662, 4.454",\
                 "0.6426, 0.7143, 0.894, 1.148, 1.47, 1.861, 2.331, 2.894, 3.565, 4.356",\
                 "0.5059, 0.5779, 0.7576, 1.011, 1.333, 1.725, 2.194, 2.759, 3.431, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6418, 0.7063, 0.8763, 1.142, 1.51, 2.003, 2.645, 3.452, 4.436, 5.614",\
                 "0.6587, 0.723, 0.893, 1.159, 1.527, 2.02, 2.661, 3.469, 4.454, 5.629",\
                 "0.7272, 0.7915, 0.9616, 1.227, 1.596, 2.089, 2.73, 3.537, 4.522, 5.698",\
                 "0.8537, 0.9178, 1.088, 1.354, 1.722, 2.216, 2.857, 3.664, 4.649, 5.827",\
                 "1.02, 1.084, 1.254, 1.519, 1.888, 2.381, 3.022, 3.829, 4.816, 5.991",\
                 "1.218, 1.282, 1.451, 1.716, 2.084, 2.577, 3.219, 4.026, 5.012, 6.188",\
                 "1.452, 1.516, 1.685, 1.95, 2.318, 2.81, 3.451, 4.258, 5.244, 6.419",\
                 "1.722, 1.786, 1.955, 2.22, 2.588, 3.08, 3.72, 4.526, 5.512, 6.687",\
                 "2.031, 2.095, 2.264, 2.529, 2.897, 3.389, 4.03, 4.836, 5.821, 6.994",\
                 "2.38, 2.443, 2.612, 2.877, 3.246, 3.742, 4.388, 5.195, 6.179, 7.352");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2549, 0.3385, 0.5441, 0.8267, 1.2, 1.695, 2.356, 3.211, 4.286, 5.599",\
                 "0.2547, 0.3384, 0.544, 0.8268, 1.199, 1.695, 2.354, 3.21, 4.287, 5.598",\
                 "0.2519, 0.3365, 0.5429, 0.8234, 1.196, 1.695, 2.354, 3.213, 4.29, 5.595",\
                 "0.2354, 0.3188, 0.5278, 0.8138, 1.19, 1.691, 2.353, 3.211, 4.288, 5.593",\
                 "0.261, 0.3358, 0.523, 0.8016, 1.182, 1.686, 2.35, 3.211, 4.285, 5.593",\
                 "0.2708, 0.3422, 0.5222, 0.7972, 1.174, 1.679, 2.347, 3.208, 4.283, 5.598",\
                 "0.2688, 0.3402, 0.5216, 0.7962, 1.175, 1.677, 2.34, 3.202, 4.285, 5.589",\
                 "0.269, 0.341, 0.5222, 0.797, 1.177, 1.679, 2.342, 3.198, 4.274, 5.586",\
                 "0.2704, 0.3426, 0.5238, 0.7976, 1.179, 1.681, 2.344, 3.2, 4.276, 5.582",\
                 "0.2724, 0.3442, 0.5244, 0.7998, 1.178, 1.683, 2.348, 3.206, 4.28, 5.583");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1954, 0.2644, 0.4742, 0.8432, 1.414, 2.241, 3.359, 4.783, 6.523, 8.604",\
                 "0.1944, 0.265, 0.4725, 0.8432, 1.414, 2.245, 3.361, 4.781, 6.533, 8.61",\
                 "0.1944, 0.265, 0.472, 0.8432, 1.414, 2.244, 3.363, 4.784, 6.53, 8.614",\
                 "0.1938, 0.2642, 0.4732, 0.8448, 1.414, 2.244, 3.361, 4.782, 6.527, 8.604",\
                 "0.1914, 0.2614, 0.4718, 0.8446, 1.415, 2.244, 3.364, 4.79, 6.526, 8.612",\
                 "0.1912, 0.2612, 0.4712, 0.8408, 1.414, 2.244, 3.364, 4.791, 6.526, 8.615",\
                 "0.1912, 0.2614, 0.4706, 0.8416, 1.411, 2.239, 3.359, 4.783, 6.534, 8.612",\
                 "0.1932, 0.2628, 0.4728, 0.844, 1.413, 2.24, 3.357, 4.783, 6.533, 8.603",\
                 "0.194, 0.264, 0.4734, 0.8462, 1.416, 2.245, 3.36, 4.778, 6.528, 8.609",\
                 "0.1972, 0.266, 0.4748, 0.8478, 1.425, 2.257, 3.373, 4.789, 6.517, 8.604");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4883, 0.5663, 0.766, 1.041, 1.376, 1.774, 2.248, 2.813, 3.486, 4.279",\
                 "0.5029, 0.5811, 0.7805, 1.056, 1.391, 1.789, 2.262, 2.828, 3.5, 4.294",\
                 "0.5561, 0.634, 0.833, 1.108, 1.443, 1.84, 2.314, 2.879, 3.552, 4.345",\
                 "0.6524, 0.7264, 0.9187, 1.189, 1.522, 1.918, 2.392, 2.957, 3.63, 4.423",\
                 "0.7706, 0.8452, 1.03, 1.29, 1.617, 2.01, 2.482, 3.046, 3.718, 4.512",\
                 "0.8194, 0.8917, 1.072, 1.327, 1.65, 2.04, 2.51, 3.074, 3.746, 4.539",\
                 "0.8016, 0.8731, 1.052, 1.306, 1.628, 2.019, 2.488, 3.051, 3.722, 4.515",\
                 "0.7414, 0.8128, 0.9923, 1.246, 1.568, 1.959, 2.429, 2.991, 3.662, 4.454",\
                 "0.6429, 0.7145, 0.8943, 1.148, 1.47, 1.861, 2.331, 2.894, 3.565, 4.356",\
                 "0.5059, 0.5776, 0.7576, 1.011, 1.333, 1.725, 2.194, 2.759, 3.431, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6418, 0.7063, 0.8763, 1.142, 1.51, 2.003, 2.645, 3.452, 4.436, 5.614",\
                 "0.6584, 0.723, 0.893, 1.159, 1.527, 2.02, 2.661, 3.469, 4.454, 5.629",\
                 "0.7272, 0.7915, 0.9616, 1.227, 1.596, 2.089, 2.73, 3.537, 4.522, 5.698",\
                 "0.8537, 0.9178, 1.088, 1.354, 1.722, 2.215, 2.857, 3.664, 4.649, 5.822",\
                 "1.02, 1.084, 1.254, 1.519, 1.888, 2.381, 3.022, 3.829, 4.816, 5.991",\
                 "1.218, 1.282, 1.451, 1.717, 2.084, 2.578, 3.219, 4.026, 5.012, 6.189",\
                 "1.452, 1.516, 1.685, 1.95, 2.318, 2.81, 3.451, 4.258, 5.244, 6.419",\
                 "1.723, 1.786, 1.955, 2.221, 2.588, 3.08, 3.72, 4.527, 5.512, 6.687",\
                 "2.031, 2.095, 2.264, 2.529, 2.897, 3.389, 4.03, 4.836, 5.82, 6.995",\
                 "2.379, 2.443, 2.612, 2.876, 3.245, 3.742, 4.387, 5.195, 6.179, 7.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2549, 0.3385, 0.5441, 0.8267, 1.2, 1.695, 2.356, 3.211, 4.286, 5.599",\
                 "0.2547, 0.3384, 0.544, 0.8268, 1.199, 1.695, 2.354, 3.21, 4.287, 5.598",\
                 "0.252, 0.3356, 0.5429, 0.8242, 1.197, 1.693, 2.353, 3.213, 4.29, 5.599",\
                 "0.2354, 0.3188, 0.5278, 0.8158, 1.19, 1.69, 2.352, 3.21, 4.285, 5.596",\
                 "0.2612, 0.3362, 0.523, 0.8014, 1.181, 1.685, 2.35, 3.211, 4.285, 5.593",\
                 "0.2708, 0.3422, 0.5222, 0.7972, 1.174, 1.679, 2.347, 3.208, 4.287, 5.594",\
                 "0.2682, 0.3402, 0.5212, 0.7962, 1.175, 1.677, 2.34, 3.202, 4.285, 5.589",\
                 "0.269, 0.341, 0.5222, 0.797, 1.177, 1.679, 2.342, 3.198, 4.275, 5.586",\
                 "0.271, 0.3428, 0.5242, 0.7976, 1.179, 1.681, 2.344, 3.2, 4.276, 5.582",\
                 "0.2724, 0.3448, 0.5244, 0.7998, 1.178, 1.683, 2.347, 3.206, 4.28, 5.585");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1954, 0.2644, 0.4742, 0.8432, 1.414, 2.241, 3.359, 4.783, 6.523, 8.604",\
                 "0.1962, 0.265, 0.4725, 0.8432, 1.414, 2.245, 3.361, 4.781, 6.533, 8.61",\
                 "0.1944, 0.265, 0.472, 0.8432, 1.414, 2.244, 3.363, 4.784, 6.53, 8.614",\
                 "0.1938, 0.2642, 0.4722, 0.8428, 1.414, 2.245, 3.361, 4.781, 6.527, 8.599",\
                 "0.1914, 0.2624, 0.4718, 0.8446, 1.414, 2.244, 3.364, 4.79, 6.526, 8.612",\
                 "0.191, 0.2612, 0.4712, 0.8406, 1.412, 2.244, 3.364, 4.791, 6.527, 8.617",\
                 "0.1912, 0.261, 0.4706, 0.8416, 1.411, 2.239, 3.362, 4.783, 6.534, 8.612",\
                 "0.1932, 0.2626, 0.4728, 0.8432, 1.413, 2.24, 3.357, 4.784, 6.533, 8.603",\
                 "0.194, 0.264, 0.473, 0.8462, 1.416, 2.242, 3.358, 4.779, 6.522, 8.602",\
                 "0.198, 0.2662, 0.4756, 0.8476, 1.423, 2.259, 3.373, 4.789, 6.519, 8.602");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4882, 0.5665, 0.7659, 1.041, 1.376, 1.774, 2.248, 2.813, 3.486, 4.279",\
                 "0.5029, 0.581, 0.7806, 1.056, 1.391, 1.789, 2.262, 2.828, 3.5, 4.294",\
                 "0.5561, 0.6339, 0.833, 1.108, 1.442, 1.84, 2.314, 2.879, 3.552, 4.346",\
                 "0.6525, 0.7261, 0.9188, 1.189, 1.522, 1.919, 2.392, 2.957, 3.63, 4.423",\
                 "0.7706, 0.8452, 1.03, 1.29, 1.617, 2.01, 2.482, 3.046, 3.718, 4.512",\
                 "0.8196, 0.8917, 1.072, 1.327, 1.649, 2.04, 2.51, 3.074, 3.746, 4.539",\
                 "0.8017, 0.8731, 1.052, 1.306, 1.628, 2.019, 2.488, 3.051, 3.722, 4.515",\
                 "0.7414, 0.8128, 0.9922, 1.246, 1.568, 1.959, 2.429, 2.991, 3.662, 4.454",\
                 "0.6426, 0.7143, 0.894, 1.148, 1.47, 1.861, 2.331, 2.894, 3.565, 4.356",\
                 "0.5059, 0.5776, 0.7576, 1.011, 1.333, 1.724, 2.195, 2.759, 3.431, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6418, 0.7063, 0.8762, 1.142, 1.51, 2.004, 2.645, 3.452, 4.438, 5.611",\
                 "0.6587, 0.723, 0.893, 1.159, 1.527, 2.02, 2.661, 3.469, 4.454, 5.629",\
                 "0.7272, 0.7915, 0.9616, 1.227, 1.596, 2.089, 2.73, 3.537, 4.522, 5.698",\
                 "0.8537, 0.9178, 1.088, 1.354, 1.722, 2.215, 2.857, 3.664, 4.649, 5.827",\
                 "1.02, 1.084, 1.254, 1.519, 1.888, 2.381, 3.022, 3.829, 4.816, 5.991",\
                 "1.218, 1.282, 1.451, 1.716, 2.084, 2.577, 3.219, 4.026, 5.012, 6.188",\
                 "1.452, 1.516, 1.685, 1.95, 2.317, 2.81, 3.451, 4.258, 5.244, 6.419",\
                 "1.723, 1.786, 1.955, 2.221, 2.588, 3.08, 3.72, 4.526, 5.512, 6.687",\
                 "2.031, 2.095, 2.264, 2.529, 2.896, 3.389, 4.031, 4.836, 5.82, 6.994",\
                 "2.379, 2.443, 2.612, 2.876, 3.245, 3.742, 4.387, 5.194, 6.179, 7.352");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2549, 0.3384, 0.5454, 0.8257, 1.199, 1.695, 2.355, 3.214, 4.289, 5.599",\
                 "0.2547, 0.3384, 0.544, 0.8268, 1.199, 1.694, 2.355, 3.21, 4.288, 5.598",\
                 "0.2516, 0.3364, 0.5425, 0.8236, 1.198, 1.695, 2.356, 3.214, 4.289, 5.597",\
                 "0.2352, 0.319, 0.528, 0.8138, 1.19, 1.689, 2.353, 3.212, 4.285, 5.598",\
                 "0.2612, 0.336, 0.5228, 0.8016, 1.181, 1.684, 2.351, 3.211, 4.285, 5.593",\
                 "0.2708, 0.3422, 0.5222, 0.7958, 1.174, 1.68, 2.348, 3.208, 4.287, 5.595",\
                 "0.268, 0.3402, 0.5212, 0.7962, 1.175, 1.677, 2.34, 3.202, 4.285, 5.589",\
                 "0.269, 0.341, 0.5222, 0.7976, 1.178, 1.679, 2.342, 3.198, 4.274, 5.586",\
                 "0.2704, 0.3426, 0.5238, 0.7976, 1.179, 1.681, 2.344, 3.2, 4.276, 5.582",\
                 "0.2724, 0.3448, 0.5244, 0.7998, 1.178, 1.682, 2.348, 3.205, 4.28, 5.583");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1954, 0.2645, 0.4736, 0.8454, 1.416, 2.244, 3.363, 4.785, 6.535, 8.605",\
                 "0.1958, 0.265, 0.4725, 0.8432, 1.414, 2.245, 3.361, 4.781, 6.533, 8.61",\
                 "0.1944, 0.2652, 0.472, 0.843, 1.414, 2.244, 3.363, 4.784, 6.53, 8.614",\
                 "0.1938, 0.2642, 0.472, 0.8428, 1.416, 2.244, 3.361, 4.783, 6.527, 8.601",\
                 "0.1914, 0.2614, 0.4718, 0.8446, 1.415, 2.244, 3.364, 4.79, 6.526, 8.612",\
                 "0.191, 0.2612, 0.4712, 0.842, 1.414, 2.244, 3.363, 4.781, 6.526, 8.615",\
                 "0.1912, 0.261, 0.4706, 0.8416, 1.411, 2.239, 3.362, 4.783, 6.534, 8.612",\
                 "0.1932, 0.2626, 0.4728, 0.8432, 1.413, 2.24, 3.357, 4.783, 6.533, 8.603",\
                 "0.194, 0.264, 0.4736, 0.8466, 1.415, 2.242, 3.358, 4.778, 6.52, 8.608",\
                 "0.198, 0.2662, 0.4756, 0.8476, 1.423, 2.259, 3.373, 4.783, 6.517, 8.604");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4879, 0.566, 0.7654, 1.041, 1.376, 1.774, 2.247, 2.812, 3.485, 4.278",\
                 "0.5024, 0.5805, 0.78, 1.055, 1.39, 1.788, 2.262, 2.827, 3.499, 4.293",\
                 "0.5558, 0.6336, 0.8325, 1.107, 1.442, 1.84, 2.313, 2.879, 3.551, 4.345",\
                 "0.6526, 0.7262, 0.9186, 1.189, 1.522, 1.918, 2.391, 2.956, 3.629, 4.422",\
                 "0.7706, 0.8442, 1.03, 1.29, 1.617, 2.01, 2.482, 3.047, 3.719, 4.512",\
                 "0.8192, 0.8915, 1.072, 1.327, 1.649, 2.04, 2.51, 3.073, 3.745, 4.538",\
                 "0.8017, 0.8731, 1.052, 1.306, 1.628, 2.019, 2.488, 3.051, 3.722, 4.515",\
                 "0.7416, 0.8128, 0.9926, 1.246, 1.568, 1.959, 2.429, 2.991, 3.662, 4.454",\
                 "0.6428, 0.7146, 0.8952, 1.148, 1.47, 1.861, 2.331, 2.894, 3.565, 4.357",\
                 "0.506, 0.5777, 0.7578, 1.011, 1.333, 1.725, 2.195, 2.759, 3.431, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6427, 0.7072, 0.8771, 1.142, 1.511, 2.004, 2.645, 3.452, 4.438, 5.612",\
                 "0.6597, 0.7239, 0.8938, 1.159, 1.528, 2.021, 2.662, 3.469, 4.454, 5.63",\
                 "0.7281, 0.7924, 0.9623, 1.228, 1.596, 2.089, 2.73, 3.538, 4.522, 5.698",\
                 "0.8546, 0.9188, 1.089, 1.354, 1.722, 2.216, 2.857, 3.664, 4.65, 5.826",\
                 "1.021, 1.085, 1.254, 1.52, 1.888, 2.381, 3.022, 3.829, 4.816, 5.99",\
                 "1.219, 1.283, 1.452, 1.717, 2.085, 2.578, 3.219, 4.026, 5.012, 6.188",\
                 "1.453, 1.517, 1.685, 1.95, 2.318, 2.81, 3.45, 4.258, 5.244, 6.419",\
                 "1.723, 1.787, 1.956, 2.221, 2.588, 3.08, 3.72, 4.527, 5.513, 6.687",\
                 "2.032, 2.096, 2.264, 2.529, 2.897, 3.389, 4.03, 4.836, 5.82, 6.994",\
                 "2.38, 2.444, 2.612, 2.877, 3.245, 3.742, 4.388, 5.194, 6.179, 7.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2542, 0.3383, 0.5452, 0.8267, 1.199, 1.694, 2.354, 3.21, 4.286, 5.597",\
                 "0.2543, 0.338, 0.5449, 0.8266, 1.199, 1.694, 2.354, 3.21, 4.287, 5.598",\
                 "0.2517, 0.3354, 0.5426, 0.8248, 1.197, 1.694, 2.355, 3.214, 4.288, 5.599",\
                 "0.235, 0.3188, 0.5278, 0.816, 1.19, 1.69, 2.352, 3.211, 4.288, 5.598",\
                 "0.2612, 0.3362, 0.5224, 0.801, 1.182, 1.684, 2.351, 3.206, 4.288, 5.592",\
                 "0.2706, 0.3422, 0.5224, 0.7958, 1.174, 1.679, 2.347, 3.204, 4.282, 5.597",\
                 "0.268, 0.3402, 0.5216, 0.7962, 1.175, 1.677, 2.34, 3.202, 4.284, 5.594",\
                 "0.269, 0.3408, 0.5218, 0.7968, 1.177, 1.679, 2.342, 3.197, 4.273, 5.588",\
                 "0.2704, 0.3426, 0.5232, 0.7984, 1.178, 1.68, 2.344, 3.201, 4.276, 5.582",\
                 "0.2724, 0.3446, 0.5244, 0.7998, 1.178, 1.682, 2.349, 3.209, 4.28, 5.586");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1955, 0.2641, 0.472, 0.8424, 1.415, 2.244, 3.364, 4.787, 6.534, 8.608",\
                 "0.1958, 0.2649, 0.4721, 0.8428, 1.414, 2.244, 3.364, 4.783, 6.532, 8.612",\
                 "0.1945, 0.2648, 0.4718, 0.8424, 1.414, 2.244, 3.364, 4.782, 6.531, 8.613",\
                 "0.1936, 0.2636, 0.4728, 0.8426, 1.416, 2.244, 3.364, 4.786, 6.538, 8.605",\
                 "0.1916, 0.2618, 0.4716, 0.8422, 1.414, 2.24, 3.363, 4.788, 6.525, 8.607",\
                 "0.1914, 0.2618, 0.4704, 0.8408, 1.413, 2.243, 3.364, 4.791, 6.527, 8.615",\
                 "0.1922, 0.261, 0.4718, 0.8414, 1.412, 2.238, 3.357, 4.784, 6.534, 8.612",\
                 "0.1932, 0.2626, 0.4722, 0.8438, 1.412, 2.24, 3.357, 4.784, 6.525, 8.604",\
                 "0.1944, 0.2644, 0.4746, 0.8446, 1.415, 2.243, 3.362, 4.778, 6.521, 8.608",\
                 "0.197, 0.2662, 0.4762, 0.8474, 1.423, 2.258, 3.37, 4.781, 6.518, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b0 && I3===1'b1 && S0===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&!I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4883, 0.5665, 0.7661, 1.041, 1.377, 1.774, 2.248, 2.813, 3.486, 4.279",\
                 "0.5029, 0.581, 0.7806, 1.056, 1.391, 1.789, 2.262, 2.828, 3.5, 4.294",\
                 "0.5561, 0.6339, 0.833, 1.108, 1.443, 1.84, 2.314, 2.879, 3.552, 4.346",\
                 "0.6525, 0.7262, 0.9187, 1.189, 1.522, 1.918, 2.392, 2.957, 3.63, 4.423",\
                 "0.7706, 0.8452, 1.03, 1.29, 1.617, 2.01, 2.482, 3.046, 3.718, 4.512",\
                 "0.8196, 0.8917, 1.072, 1.327, 1.649, 2.04, 2.51, 3.073, 3.746, 4.539",\
                 "0.8017, 0.8731, 1.052, 1.306, 1.628, 2.019, 2.488, 3.051, 3.722, 4.515",\
                 "0.7414, 0.8128, 0.9922, 1.246, 1.568, 1.959, 2.429, 2.991, 3.662, 4.454",\
                 "0.6429, 0.7145, 0.8943, 1.148, 1.47, 1.861, 2.331, 2.894, 3.565, 4.356",\
                 "0.5061, 0.5776, 0.7576, 1.011, 1.333, 1.724, 2.195, 2.759, 3.431, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6418, 0.7063, 0.8762, 1.142, 1.51, 2.004, 2.645, 3.452, 4.438, 5.611",\
                 "0.6587, 0.723, 0.893, 1.159, 1.527, 2.02, 2.661, 3.469, 4.454, 5.629",\
                 "0.7272, 0.7915, 0.9616, 1.227, 1.596, 2.089, 2.73, 3.537, 4.522, 5.698",\
                 "0.8537, 0.9178, 1.088, 1.354, 1.722, 2.215, 2.857, 3.664, 4.649, 5.827",\
                 "1.02, 1.084, 1.254, 1.519, 1.888, 2.381, 3.022, 3.829, 4.816, 5.991",\
                 "1.218, 1.282, 1.451, 1.717, 2.084, 2.578, 3.219, 4.025, 5.012, 6.187",\
                 "1.452, 1.516, 1.685, 1.95, 2.318, 2.81, 3.451, 4.258, 5.244, 6.419",\
                 "1.723, 1.786, 1.955, 2.221, 2.588, 3.08, 3.72, 4.527, 5.512, 6.687",\
                 "2.031, 2.095, 2.264, 2.529, 2.896, 3.39, 4.031, 4.836, 5.82, 6.994",\
                 "2.379, 2.443, 2.612, 2.876, 3.245, 3.742, 4.387, 5.194, 6.18, 7.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2549, 0.3384, 0.5441, 0.8266, 1.199, 1.693, 2.356, 3.214, 4.289, 5.599",\
                 "0.2547, 0.3384, 0.544, 0.8268, 1.199, 1.694, 2.355, 3.21, 4.288, 5.598",\
                 "0.2516, 0.3366, 0.5425, 0.8234, 1.198, 1.695, 2.356, 3.214, 4.289, 5.597",\
                 "0.2352, 0.3186, 0.528, 0.8152, 1.191, 1.691, 2.354, 3.212, 4.286, 5.598",\
                 "0.2612, 0.3362, 0.5224, 0.8014, 1.181, 1.684, 2.348, 3.207, 4.285, 5.593",\
                 "0.2708, 0.3422, 0.5222, 0.7958, 1.174, 1.68, 2.348, 3.208, 4.287, 5.597",\
                 "0.268, 0.3402, 0.5212, 0.7962, 1.175, 1.678, 2.34, 3.202, 4.285, 5.589",\
                 "0.269, 0.341, 0.5222, 0.7976, 1.178, 1.679, 2.342, 3.198, 4.274, 5.589",\
                 "0.271, 0.3428, 0.5242, 0.7976, 1.179, 1.681, 2.344, 3.2, 4.276, 5.582",\
                 "0.2736, 0.3448, 0.5244, 0.799, 1.18, 1.683, 2.348, 3.207, 4.28, 5.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1954, 0.2645, 0.4736, 0.8454, 1.416, 2.244, 3.363, 4.785, 6.536, 8.605",\
                 "0.1958, 0.265, 0.4725, 0.8432, 1.414, 2.245, 3.361, 4.781, 6.533, 8.61",\
                 "0.1944, 0.2652, 0.472, 0.8432, 1.414, 2.244, 3.363, 4.784, 6.53, 8.614",\
                 "0.1938, 0.2642, 0.4724, 0.8428, 1.415, 2.245, 3.36, 4.783, 6.527, 8.602",\
                 "0.1914, 0.2618, 0.4718, 0.8446, 1.415, 2.244, 3.364, 4.79, 6.526, 8.612",\
                 "0.191, 0.2612, 0.4712, 0.8408, 1.412, 2.244, 3.363, 4.789, 6.524, 8.611",\
                 "0.1912, 0.261, 0.4706, 0.8416, 1.411, 2.239, 3.362, 4.783, 6.534, 8.612",\
                 "0.1932, 0.2626, 0.4728, 0.8432, 1.413, 2.24, 3.357, 4.784, 6.533, 8.603",\
                 "0.194, 0.264, 0.473, 0.8462, 1.417, 2.243, 3.359, 4.778, 6.52, 8.608",\
                 "0.198, 0.2662, 0.4756, 0.8476, 1.423, 2.259, 3.373, 4.787, 6.519, 8.602");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "I0&I1&I2&!I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4879, 0.5661, 0.7656, 1.041, 1.376, 1.774, 2.247, 2.812, 3.485, 4.278",\
                 "0.5024, 0.5805, 0.7799, 1.055, 1.39, 1.788, 2.262, 2.827, 3.499, 4.293",\
                 "0.5558, 0.6336, 0.8325, 1.107, 1.442, 1.84, 2.313, 2.879, 3.551, 4.345",\
                 "0.6526, 0.7262, 0.9186, 1.189, 1.522, 1.918, 2.391, 2.956, 3.629, 4.422",\
                 "0.7703, 0.8443, 1.031, 1.29, 1.617, 2.011, 2.482, 3.046, 3.719, 4.512",\
                 "0.8192, 0.8915, 1.072, 1.327, 1.649, 2.04, 2.51, 3.073, 3.745, 4.538",\
                 "0.8017, 0.8731, 1.052, 1.306, 1.628, 2.019, 2.488, 3.051, 3.722, 4.515",\
                 "0.7416, 0.8128, 0.9926, 1.246, 1.568, 1.959, 2.429, 2.991, 3.662, 4.454",\
                 "0.6428, 0.7147, 0.8953, 1.148, 1.47, 1.861, 2.331, 2.894, 3.565, 4.357",\
                 "0.5062, 0.5777, 0.7578, 1.011, 1.333, 1.724, 2.195, 2.759, 3.431, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6427, 0.7072, 0.877, 1.142, 1.511, 2.004, 2.645, 3.452, 4.436, 5.614",\
                 "0.6597, 0.7239, 0.8938, 1.159, 1.528, 2.021, 2.662, 3.469, 4.454, 5.63",\
                 "0.7281, 0.7924, 0.9624, 1.228, 1.596, 2.089, 2.73, 3.538, 4.522, 5.698",\
                 "0.8545, 0.9188, 1.089, 1.354, 1.722, 2.215, 2.857, 3.664, 4.649, 5.826",\
                 "1.021, 1.085, 1.254, 1.52, 1.888, 2.381, 3.022, 3.829, 4.816, 5.989",\
                 "1.219, 1.283, 1.452, 1.717, 2.085, 2.578, 3.219, 4.026, 5.012, 6.188",\
                 "1.453, 1.516, 1.685, 1.95, 2.318, 2.81, 3.45, 4.257, 5.244, 6.419",\
                 "1.723, 1.787, 1.956, 2.221, 2.588, 3.08, 3.72, 4.527, 5.513, 6.687",\
                 "2.032, 2.096, 2.264, 2.529, 2.897, 3.39, 4.03, 4.836, 5.82, 6.994",\
                 "2.38, 2.444, 2.612, 2.877, 3.245, 3.742, 4.387, 5.194, 6.179, 7.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2542, 0.3383, 0.545, 0.8256, 1.199, 1.693, 2.355, 3.214, 4.289, 5.599",\
                 "0.2543, 0.338, 0.5449, 0.8266, 1.199, 1.694, 2.354, 3.21, 4.287, 5.598",\
                 "0.2517, 0.3354, 0.5426, 0.8248, 1.197, 1.694, 2.355, 3.214, 4.288, 5.599",\
                 "0.235, 0.3188, 0.5278, 0.8158, 1.19, 1.69, 2.352, 3.212, 4.289, 5.598",\
                 "0.262, 0.3358, 0.5224, 0.8016, 1.181, 1.684, 2.347, 3.208, 4.285, 5.591",\
                 "0.2706, 0.3422, 0.5224, 0.7958, 1.174, 1.68, 2.347, 3.208, 4.281, 5.596",\
                 "0.268, 0.3402, 0.5216, 0.7962, 1.175, 1.678, 2.34, 3.202, 4.284, 5.594",\
                 "0.269, 0.3408, 0.5218, 0.7968, 1.177, 1.679, 2.342, 3.197, 4.274, 5.588",\
                 "0.2704, 0.3428, 0.5226, 0.7984, 1.178, 1.68, 2.344, 3.199, 4.276, 5.58",\
                 "0.2736, 0.3446, 0.5244, 0.7998, 1.18, 1.683, 2.348, 3.207, 4.28, 5.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1955, 0.2641, 0.4738, 0.8427, 1.413, 2.244, 3.364, 4.787, 6.525, 8.605",\
                 "0.1958, 0.2649, 0.4721, 0.8428, 1.414, 2.244, 3.364, 4.783, 6.532, 8.612",\
                 "0.1945, 0.2648, 0.4718, 0.8424, 1.414, 2.244, 3.364, 4.782, 6.531, 8.613",\
                 "0.1938, 0.2636, 0.4722, 0.8424, 1.415, 2.242, 3.359, 4.782, 6.53, 8.605",\
                 "0.1916, 0.2622, 0.472, 0.8442, 1.414, 2.245, 3.364, 4.788, 6.535, 8.605",\
                 "0.1914, 0.2618, 0.4704, 0.8408, 1.413, 2.243, 3.364, 4.791, 6.527, 8.615",\
                 "0.1922, 0.2618, 0.4718, 0.8414, 1.411, 2.238, 3.357, 4.788, 6.534, 8.612",\
                 "0.1932, 0.2626, 0.4722, 0.8438, 1.412, 2.24, 3.357, 4.784, 6.525, 8.604",\
                 "0.1944, 0.2644, 0.4736, 0.8446, 1.415, 2.243, 3.362, 4.778, 6.527, 8.608",\
                 "0.197, 0.2662, 0.4762, 0.8474, 1.423, 2.258, 3.371, 4.781, 6.518, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4883, 0.5663, 0.766, 1.041, 1.376, 1.774, 2.248, 2.813, 3.486, 4.279",\
                 "0.5029, 0.5811, 0.7805, 1.056, 1.391, 1.789, 2.262, 2.828, 3.5, 4.294",\
                 "0.5561, 0.634, 0.833, 1.108, 1.443, 1.84, 2.314, 2.879, 3.552, 4.345",\
                 "0.6524, 0.7264, 0.9187, 1.189, 1.522, 1.918, 2.392, 2.957, 3.63, 4.423",\
                 "0.7706, 0.8452, 1.03, 1.29, 1.617, 2.01, 2.482, 3.046, 3.718, 4.512",\
                 "0.8194, 0.8917, 1.072, 1.327, 1.65, 2.04, 2.51, 3.074, 3.746, 4.539",\
                 "0.8016, 0.8731, 1.052, 1.306, 1.628, 2.019, 2.488, 3.051, 3.722, 4.515",\
                 "0.7414, 0.8128, 0.9923, 1.246, 1.568, 1.959, 2.429, 2.991, 3.662, 4.454",\
                 "0.6429, 0.7145, 0.8943, 1.148, 1.47, 1.861, 2.331, 2.894, 3.565, 4.356",\
                 "0.5059, 0.5776, 0.7576, 1.011, 1.333, 1.725, 2.194, 2.759, 3.431, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6427, 0.7072, 0.877, 1.142, 1.511, 2.004, 2.645, 3.452, 4.436, 5.614",\
                 "0.6597, 0.7239, 0.8938, 1.159, 1.528, 2.021, 2.662, 3.469, 4.454, 5.63",\
                 "0.7281, 0.7924, 0.9624, 1.228, 1.596, 2.089, 2.73, 3.538, 4.522, 5.698",\
                 "0.8545, 0.9188, 1.089, 1.354, 1.722, 2.215, 2.857, 3.664, 4.649, 5.826",\
                 "1.021, 1.085, 1.254, 1.52, 1.888, 2.381, 3.022, 3.829, 4.816, 5.989",\
                 "1.219, 1.283, 1.452, 1.717, 2.085, 2.578, 3.219, 4.026, 5.012, 6.188",\
                 "1.453, 1.516, 1.685, 1.95, 2.318, 2.81, 3.45, 4.257, 5.244, 6.419",\
                 "1.723, 1.787, 1.956, 2.221, 2.588, 3.08, 3.72, 4.527, 5.513, 6.687",\
                 "2.032, 2.096, 2.264, 2.529, 2.897, 3.39, 4.03, 4.836, 5.82, 6.994",\
                 "2.38, 2.444, 2.612, 2.877, 3.245, 3.742, 4.387, 5.194, 6.179, 7.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2549, 0.3384, 0.5441, 0.8266, 1.199, 1.693, 2.356, 3.214, 4.289, 5.599",\
                 "0.2547, 0.3384, 0.544, 0.8268, 1.199, 1.694, 2.355, 3.21, 4.288, 5.598",\
                 "0.2516, 0.3366, 0.5425, 0.8234, 1.198, 1.695, 2.356, 3.214, 4.289, 5.597",\
                 "0.2352, 0.3186, 0.528, 0.8152, 1.191, 1.691, 2.354, 3.212, 4.286, 5.598",\
                 "0.2612, 0.3362, 0.5224, 0.8014, 1.181, 1.684, 2.348, 3.207, 4.285, 5.593",\
                 "0.2708, 0.3422, 0.5222, 0.7958, 1.174, 1.68, 2.348, 3.208, 4.287, 5.597",\
                 "0.268, 0.3402, 0.5212, 0.7962, 1.175, 1.678, 2.34, 3.202, 4.285, 5.589",\
                 "0.269, 0.341, 0.5222, 0.7976, 1.178, 1.679, 2.342, 3.198, 4.274, 5.589",\
                 "0.271, 0.3428, 0.5242, 0.7976, 1.179, 1.681, 2.344, 3.2, 4.276, 5.582",\
                 "0.2736, 0.3448, 0.5244, 0.799, 1.18, 1.683, 2.348, 3.207, 4.28, 5.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1954, 0.2644, 0.4742, 0.8432, 1.414, 2.241, 3.359, 4.783, 6.523, 8.604",\
                 "0.1962, 0.265, 0.4725, 0.8432, 1.414, 2.245, 3.361, 4.781, 6.533, 8.61",\
                 "0.1944, 0.265, 0.472, 0.8432, 1.414, 2.244, 3.363, 4.784, 6.53, 8.614",\
                 "0.1938, 0.2642, 0.4722, 0.8428, 1.414, 2.245, 3.361, 4.781, 6.527, 8.599",\
                 "0.1914, 0.2624, 0.4718, 0.8446, 1.414, 2.244, 3.364, 4.79, 6.526, 8.612",\
                 "0.191, 0.2612, 0.4712, 0.8406, 1.412, 2.244, 3.364, 4.791, 6.527, 8.617",\
                 "0.1912, 0.261, 0.4706, 0.8416, 1.411, 2.239, 3.362, 4.783, 6.534, 8.612",\
                 "0.1932, 0.2626, 0.4728, 0.8432, 1.413, 2.24, 3.357, 4.784, 6.533, 8.603",\
                 "0.194, 0.264, 0.473, 0.8462, 1.416, 2.242, 3.358, 4.779, 6.522, 8.602",\
                 "0.198, 0.2662, 0.4756, 0.8476, 1.423, 2.259, 3.373, 4.789, 6.519, 8.602");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&!I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6111, 0.6929, 0.9032, 1.195, 1.547, 1.961, 2.449, 3.023, 3.702, 4.498",\
                 "0.6271, 0.7088, 0.9193, 1.21, 1.563, 1.977, 2.464, 3.039, 3.718, 4.515",\
                 "0.6925, 0.774, 0.9841, 1.275, 1.627, 2.042, 2.529, 3.104, 3.782, 4.579",\
                 "0.8177, 0.8985, 1.107, 1.397, 1.749, 2.163, 2.65, 3.225, 3.903, 4.7",\
                 "1.002, 1.081, 1.286, 1.573, 1.924, 2.337, 2.824, 3.399, 4.077, 4.874",\
                 "1.233, 1.314, 1.521, 1.808, 2.158, 2.571, 3.058, 3.633, 4.311, 5.108",\
                 "1.514, 1.598, 1.809, 2.101, 2.456, 2.872, 3.36, 3.935, 4.614, 5.41",\
                 "1.846, 1.934, 2.155, 2.455, 2.814, 3.234, 3.725, 4.303, 4.982, 5.779",\
                 "2.222, 2.316, 2.55, 2.866, 3.236, 3.662, 4.157, 4.737, 5.418, 6.215",\
                 "2.643, 2.743, 2.992, 3.327, 3.715, 4.154, 4.656, 5.24, 5.923, 6.721");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4993, 0.5642, 0.7359, 1.005, 1.375, 1.87, 2.511, 3.319, 4.303, 5.478",\
                 "0.5123, 0.5773, 0.7492, 1.018, 1.388, 1.883, 2.525, 3.331, 4.317, 5.493",\
                 "0.5554, 0.6202, 0.7921, 1.061, 1.432, 1.926, 2.568, 3.375, 4.36, 5.535",\
                 "0.6299, 0.6934, 0.8639, 1.131, 1.502, 1.996, 2.638, 3.445, 4.431, 5.605",\
                 "0.7146, 0.7778, 0.946, 1.211, 1.581, 2.074, 2.715, 3.522, 4.507, 5.683",\
                 "0.7744, 0.8395, 1.008, 1.273, 1.642, 2.135, 2.775, 3.58, 4.564, 5.741",\
                 "0.8052, 0.874, 1.046, 1.312, 1.68, 2.172, 2.812, 3.617, 4.6, 5.774",\
                 "0.7986, 0.8717, 1.052, 1.321, 1.691, 2.183, 2.821, 3.625, 4.608, 5.781",\
                 "0.7501, 0.8279, 1.018, 1.292, 1.667, 2.162, 2.8, 3.603, 4.585, 5.757",\
                 "0.6562, 0.7386, 0.9395, 1.222, 1.602, 2.102, 2.744, 3.547, 4.527, 5.699");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2773, 0.3674, 0.5879, 0.884, 1.266, 1.764, 2.42, 3.265, 4.326, 5.626",\
                 "0.2774, 0.3679, 0.5874, 0.8838, 1.265, 1.766, 2.42, 3.263, 4.329, 5.622",\
                 "0.2758, 0.3662, 0.586, 0.8824, 1.265, 1.766, 2.422, 3.265, 4.33, 5.627",\
                 "0.2704, 0.3614, 0.5824, 0.88, 1.264, 1.764, 2.42, 3.264, 4.329, 5.623",\
                 "0.2716, 0.3588, 0.5778, 0.8764, 1.261, 1.764, 2.42, 3.263, 4.328, 5.625",\
                 "0.2874, 0.3754, 0.5906, 0.8822, 1.265, 1.766, 2.42, 3.268, 4.33, 5.627",\
                 "0.3094, 0.3984, 0.6124, 0.9056, 1.284, 1.779, 2.432, 3.27, 4.328, 5.623",\
                 "0.343, 0.4368, 0.654, 0.9406, 1.315, 1.803, 2.449, 3.286, 4.342, 5.633",\
                 "0.384, 0.4822, 0.7116, 0.999, 1.361, 1.839, 2.475, 3.304, 4.354, 5.641",\
                 "0.4258, 0.5312, 0.7784, 1.079, 1.434, 1.9, 2.518, 3.334, 4.37, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1965, 0.2666, 0.4753, 0.8496, 1.419, 2.246, 3.362, 4.784, 6.522, 8.606",\
                 "0.1972, 0.267, 0.4754, 0.8477, 1.419, 2.245, 3.364, 4.787, 6.524, 8.604",\
                 "0.1948, 0.2651, 0.4755, 0.8478, 1.42, 2.245, 3.364, 4.783, 6.532, 8.607",\
                 "0.1893, 0.261, 0.4744, 0.8468, 1.419, 2.247, 3.364, 4.791, 6.525, 8.607",\
                 "0.1994, 0.2666, 0.4774, 0.8496, 1.42, 2.247, 3.363, 4.784, 6.535, 8.616",\
                 "0.218, 0.285, 0.4874, 0.8604, 1.428, 2.25, 3.363, 4.79, 6.528, 8.603",\
                 "0.2452, 0.3102, 0.5064, 0.8734, 1.436, 2.257, 3.373, 4.791, 6.532, 8.611",\
                 "0.2756, 0.344, 0.537, 0.8966, 1.455, 2.265, 3.373, 4.792, 6.533, 8.612",\
                 "0.311, 0.3818, 0.5724, 0.9266, 1.481, 2.286, 3.381, 4.796, 6.529, 8.609",\
                 "0.3456, 0.4224, 0.6142, 0.9622, 1.514, 2.316, 3.405, 4.806, 6.532, 8.604");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b0 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6101, 0.6919, 0.9021, 1.193, 1.546, 1.961, 2.448, 3.024, 3.702, 4.499",\
                 "0.6262, 0.7079, 0.9182, 1.209, 1.562, 1.977, 2.464, 3.04, 3.718, 4.515",\
                 "0.6916, 0.7732, 0.9831, 1.274, 1.626, 2.041, 2.529, 3.104, 3.783, 4.579",\
                 "0.8168, 0.8975, 1.106, 1.396, 1.748, 2.162, 2.65, 3.225, 3.904, 4.7",\
                 "1.002, 1.08, 1.285, 1.572, 1.923, 2.337, 2.824, 3.399, 4.078, 4.874",\
                 "1.232, 1.313, 1.52, 1.807, 2.158, 2.571, 3.058, 3.633, 4.312, 5.108",\
                 "1.514, 1.597, 1.809, 2.101, 2.455, 2.871, 3.36, 3.935, 4.614, 5.41",\
                 "1.845, 1.933, 2.154, 2.455, 2.813, 3.234, 3.726, 4.303, 4.982, 5.779",\
                 "2.221, 2.315, 2.549, 2.865, 3.235, 3.662, 4.157, 4.737, 5.418, 6.215",\
                 "2.643, 2.742, 2.991, 3.326, 3.714, 4.154, 4.657, 5.24, 5.923, 6.722");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4985, 0.5634, 0.7352, 1.004, 1.375, 1.869, 2.511, 3.318, 4.303, 5.478",\
                 "0.5115, 0.5765, 0.7485, 1.017, 1.388, 1.882, 2.524, 3.331, 4.317, 5.493",\
                 "0.5547, 0.6196, 0.7915, 1.06, 1.431, 1.926, 2.568, 3.375, 4.359, 5.535",\
                 "0.6295, 0.6931, 0.8636, 1.131, 1.502, 1.996, 2.638, 3.445, 4.43, 5.604",\
                 "0.7146, 0.7777, 0.9457, 1.211, 1.581, 2.074, 2.715, 3.522, 4.507, 5.683",\
                 "0.7743, 0.8396, 1.008, 1.273, 1.642, 2.135, 2.775, 3.582, 4.566, 5.742",\
                 "0.805, 0.8735, 1.046, 1.312, 1.68, 2.172, 2.812, 3.617, 4.601, 5.776",\
                 "0.7985, 0.8717, 1.052, 1.321, 1.691, 2.183, 2.821, 3.627, 4.609, 5.782",\
                 "0.7507, 0.8284, 1.019, 1.293, 1.667, 2.163, 2.801, 3.603, 4.585, 5.757",\
                 "0.6561, 0.7387, 0.9397, 1.221, 1.602, 2.102, 2.745, 3.547, 4.528, 5.699");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2771, 0.3672, 0.5882, 0.8844, 1.266, 1.766, 2.42, 3.268, 4.329, 5.623",\
                 "0.2773, 0.3677, 0.5875, 0.8844, 1.267, 1.767, 2.423, 3.265, 4.327, 5.622",\
                 "0.2757, 0.3664, 0.5864, 0.8828, 1.265, 1.767, 2.421, 3.266, 4.33, 5.626",\
                 "0.2704, 0.3614, 0.5824, 0.8806, 1.264, 1.764, 2.421, 3.268, 4.328, 5.623",\
                 "0.2716, 0.359, 0.5776, 0.8766, 1.262, 1.763, 2.419, 3.267, 4.325, 5.628",\
                 "0.2872, 0.3754, 0.5898, 0.8816, 1.266, 1.767, 2.423, 3.267, 4.331, 5.626",\
                 "0.309, 0.3984, 0.6128, 0.906, 1.284, 1.781, 2.432, 3.27, 4.331, 5.626",\
                 "0.3428, 0.436, 0.6536, 0.9422, 1.314, 1.804, 2.449, 3.286, 4.342, 5.633",\
                 "0.3832, 0.482, 0.712, 1.001, 1.36, 1.839, 2.476, 3.306, 4.354, 5.638",\
                 "0.4258, 0.5316, 0.7792, 1.079, 1.433, 1.9, 2.518, 3.333, 4.374, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1965, 0.2665, 0.4761, 0.8498, 1.419, 2.246, 3.362, 4.784, 6.522, 8.605",\
                 "0.1971, 0.2671, 0.4761, 0.8481, 1.419, 2.245, 3.364, 4.786, 6.526, 8.604",\
                 "0.1948, 0.265, 0.4756, 0.8482, 1.418, 2.247, 3.364, 4.783, 6.531, 8.607",\
                 "0.1893, 0.2602, 0.4728, 0.8468, 1.419, 2.248, 3.365, 4.784, 6.531, 8.601",\
                 "0.1978, 0.2668, 0.4774, 0.8516, 1.421, 2.245, 3.365, 4.784, 6.525, 8.614",\
                 "0.218, 0.284, 0.4868, 0.86, 1.428, 2.25, 3.365, 4.787, 6.526, 8.602",\
                 "0.2454, 0.31, 0.506, 0.8734, 1.437, 2.258, 3.373, 4.784, 6.526, 8.616",\
                 "0.2768, 0.3438, 0.5352, 0.8956, 1.453, 2.265, 3.373, 4.791, 6.528, 8.612",\
                 "0.3108, 0.3826, 0.5724, 0.9262, 1.481, 2.286, 3.381, 4.795, 6.529, 8.612",\
                 "0.3478, 0.4222, 0.6148, 0.9608, 1.514, 2.317, 3.406, 4.805, 6.533, 8.605");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6101, 0.6919, 0.9021, 1.193, 1.546, 1.961, 2.448, 3.024, 3.702, 4.499",\
                 "0.6262, 0.7079, 0.9182, 1.209, 1.562, 1.977, 2.464, 3.04, 3.718, 4.515",\
                 "0.6916, 0.7732, 0.9831, 1.274, 1.626, 2.041, 2.529, 3.104, 3.783, 4.579",\
                 "0.8168, 0.8975, 1.106, 1.396, 1.748, 2.162, 2.65, 3.225, 3.904, 4.7",\
                 "1.002, 1.08, 1.285, 1.572, 1.923, 2.337, 2.824, 3.399, 4.078, 4.874",\
                 "1.232, 1.313, 1.52, 1.807, 2.158, 2.571, 3.058, 3.633, 4.312, 5.108",\
                 "1.514, 1.597, 1.808, 2.101, 2.455, 2.871, 3.36, 3.935, 4.614, 5.41",\
                 "1.845, 1.933, 2.154, 2.455, 2.814, 3.234, 3.726, 4.303, 4.983, 5.779",\
                 "2.221, 2.315, 2.549, 2.865, 3.235, 3.662, 4.157, 4.737, 5.418, 6.215",\
                 "2.643, 2.742, 2.992, 3.327, 3.714, 4.154, 4.657, 5.24, 5.923, 6.722");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4985, 0.5634, 0.7352, 1.004, 1.375, 1.869, 2.511, 3.318, 4.303, 5.478",\
                 "0.5114, 0.5765, 0.7485, 1.017, 1.388, 1.882, 2.524, 3.331, 4.317, 5.493",\
                 "0.5547, 0.6196, 0.7915, 1.06, 1.431, 1.926, 2.568, 3.375, 4.359, 5.535",\
                 "0.6295, 0.6932, 0.8637, 1.131, 1.502, 1.996, 2.638, 3.445, 4.43, 5.605",\
                 "0.7146, 0.7777, 0.9456, 1.211, 1.581, 2.074, 2.715, 3.522, 4.507, 5.682",\
                 "0.7743, 0.8396, 1.008, 1.273, 1.642, 2.135, 2.776, 3.582, 4.565, 5.741",\
                 "0.805, 0.8735, 1.047, 1.312, 1.68, 2.172, 2.812, 3.617, 4.601, 5.776",\
                 "0.7985, 0.8717, 1.052, 1.321, 1.691, 2.183, 2.822, 3.626, 4.609, 5.781",\
                 "0.7507, 0.8284, 1.019, 1.293, 1.667, 2.163, 2.801, 3.603, 4.585, 5.757",\
                 "0.6561, 0.739, 0.9396, 1.221, 1.602, 2.102, 2.745, 3.547, 4.528, 5.699");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2771, 0.3672, 0.5882, 0.8846, 1.266, 1.766, 2.42, 3.268, 4.329, 5.623",\
                 "0.2772, 0.368, 0.5878, 0.884, 1.267, 1.767, 2.423, 3.265, 4.327, 5.622",\
                 "0.2757, 0.3664, 0.5864, 0.8828, 1.265, 1.767, 2.421, 3.266, 4.33, 5.626",\
                 "0.2704, 0.3616, 0.5826, 0.8804, 1.264, 1.764, 2.421, 3.268, 4.328, 5.623",\
                 "0.2716, 0.359, 0.5776, 0.8766, 1.262, 1.763, 2.419, 3.267, 4.325, 5.628",\
                 "0.2874, 0.3746, 0.5896, 0.882, 1.266, 1.767, 2.423, 3.267, 4.331, 5.626",\
                 "0.309, 0.3984, 0.6138, 0.9066, 1.284, 1.781, 2.432, 3.272, 4.33, 5.622",\
                 "0.3428, 0.436, 0.6542, 0.9422, 1.315, 1.804, 2.449, 3.286, 4.343, 5.633",\
                 "0.3832, 0.482, 0.7122, 1.001, 1.36, 1.839, 2.477, 3.305, 4.354, 5.642",\
                 "0.425, 0.5322, 0.779, 1.08, 1.433, 1.899, 2.518, 3.335, 4.372, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1965, 0.2665, 0.476, 0.8498, 1.419, 2.246, 3.362, 4.784, 6.522, 8.606",\
                 "0.1971, 0.2671, 0.4761, 0.8481, 1.419, 2.245, 3.364, 4.786, 6.526, 8.604",\
                 "0.1948, 0.265, 0.4756, 0.8482, 1.418, 2.247, 3.364, 4.783, 6.531, 8.607",\
                 "0.1893, 0.26, 0.4732, 0.8468, 1.418, 2.247, 3.364, 4.784, 6.526, 8.608",\
                 "0.1978, 0.2668, 0.4768, 0.8516, 1.421, 2.245, 3.364, 4.784, 6.526, 8.611",\
                 "0.218, 0.284, 0.487, 0.86, 1.428, 2.25, 3.363, 4.787, 6.53, 8.611",\
                 "0.2454, 0.31, 0.5076, 0.8734, 1.437, 2.257, 3.373, 4.784, 6.526, 8.614",\
                 "0.2768, 0.344, 0.5352, 0.896, 1.453, 2.265, 3.373, 4.789, 6.533, 8.612",\
                 "0.3108, 0.3826, 0.5724, 0.9262, 1.481, 2.286, 3.381, 4.795, 6.529, 8.61",\
                 "0.3478, 0.4218, 0.6156, 0.9608, 1.514, 2.317, 3.406, 4.805, 6.533, 8.605");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&!I1&I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6111, 0.6929, 0.9032, 1.195, 1.547, 1.961, 2.449, 3.023, 3.702, 4.498",\
                 "0.6271, 0.7089, 0.9191, 1.21, 1.563, 1.977, 2.464, 3.039, 3.718, 4.515",\
                 "0.6925, 0.774, 0.9841, 1.275, 1.627, 2.042, 2.529, 3.104, 3.782, 4.579",\
                 "0.8177, 0.8984, 1.107, 1.397, 1.749, 2.163, 2.65, 3.225, 3.903, 4.7",\
                 "1.002, 1.081, 1.286, 1.573, 1.924, 2.337, 2.824, 3.399, 4.077, 4.874",\
                 "1.233, 1.314, 1.52, 1.808, 2.158, 2.571, 3.058, 3.633, 4.311, 5.108",\
                 "1.514, 1.598, 1.809, 2.101, 2.456, 2.872, 3.36, 3.935, 4.614, 5.41",\
                 "1.845, 1.934, 2.155, 2.455, 2.814, 3.234, 3.726, 4.303, 4.982, 5.779",\
                 "2.222, 2.316, 2.55, 2.866, 3.236, 3.662, 4.157, 4.737, 5.418, 6.215",\
                 "2.643, 2.743, 2.992, 3.327, 3.715, 4.154, 4.656, 5.24, 5.923, 6.721");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4993, 0.5642, 0.7359, 1.005, 1.375, 1.87, 2.511, 3.319, 4.303, 5.478",\
                 "0.5123, 0.5773, 0.7492, 1.018, 1.388, 1.883, 2.525, 3.331, 4.317, 5.493",\
                 "0.5554, 0.6202, 0.7921, 1.061, 1.432, 1.926, 2.568, 3.375, 4.36, 5.535",\
                 "0.6299, 0.6934, 0.8639, 1.131, 1.502, 1.996, 2.638, 3.445, 4.431, 5.605",\
                 "0.7148, 0.7777, 0.946, 1.211, 1.581, 2.074, 2.715, 3.522, 4.506, 5.68",\
                 "0.7744, 0.8395, 1.008, 1.273, 1.642, 2.135, 2.775, 3.581, 4.564, 5.742",\
                 "0.8051, 0.874, 1.046, 1.312, 1.68, 2.172, 2.812, 3.617, 4.6, 5.775",\
                 "0.7984, 0.8717, 1.052, 1.321, 1.691, 2.183, 2.821, 3.625, 4.609, 5.782",\
                 "0.7501, 0.8279, 1.018, 1.292, 1.667, 2.162, 2.8, 3.603, 4.585, 5.757",\
                 "0.6561, 0.7386, 0.9395, 1.221, 1.602, 2.102, 2.744, 3.547, 4.528, 5.699");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2773, 0.3674, 0.5879, 0.884, 1.266, 1.764, 2.42, 3.265, 4.326, 5.626",\
                 "0.2773, 0.3683, 0.5883, 0.8838, 1.265, 1.765, 2.42, 3.263, 4.329, 5.622",\
                 "0.2758, 0.3662, 0.586, 0.8824, 1.265, 1.766, 2.422, 3.265, 4.33, 5.627",\
                 "0.2704, 0.3608, 0.5824, 0.8802, 1.264, 1.764, 2.419, 3.264, 4.329, 5.623",\
                 "0.2714, 0.3588, 0.578, 0.8764, 1.262, 1.763, 2.42, 3.263, 4.328, 5.625",\
                 "0.2874, 0.3754, 0.59, 0.8826, 1.265, 1.766, 2.42, 3.268, 4.33, 5.627",\
                 "0.3094, 0.399, 0.6138, 0.9058, 1.284, 1.78, 2.431, 3.27, 4.328, 5.623",\
                 "0.3434, 0.4362, 0.6534, 0.9422, 1.314, 1.803, 2.448, 3.286, 4.342, 5.633",\
                 "0.384, 0.4822, 0.711, 0.9988, 1.36, 1.839, 2.474, 3.304, 4.354, 5.641",\
                 "0.4258, 0.5312, 0.7784, 1.079, 1.433, 1.899, 2.518, 3.334, 4.37, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1966, 0.2666, 0.4759, 0.8496, 1.419, 2.246, 3.362, 4.784, 6.522, 8.607",\
                 "0.1972, 0.267, 0.4754, 0.8477, 1.419, 2.245, 3.364, 4.787, 6.524, 8.604",\
                 "0.1948, 0.2651, 0.4755, 0.8478, 1.42, 2.245, 3.364, 4.783, 6.532, 8.607",\
                 "0.1894, 0.261, 0.474, 0.8466, 1.419, 2.247, 3.364, 4.791, 6.525, 8.607",\
                 "0.1992, 0.2678, 0.4774, 0.8498, 1.42, 2.245, 3.365, 4.784, 6.533, 8.599",\
                 "0.218, 0.285, 0.4874, 0.8594, 1.428, 2.25, 3.364, 4.79, 6.53, 8.6",\
                 "0.2446, 0.3102, 0.5062, 0.8734, 1.437, 2.257, 3.373, 4.791, 6.532, 8.602",\
                 "0.276, 0.3446, 0.537, 0.8974, 1.455, 2.266, 3.373, 4.792, 6.534, 8.61",\
                 "0.311, 0.3818, 0.5724, 0.9266, 1.481, 2.286, 3.381, 4.794, 6.529, 8.619",\
                 "0.3472, 0.4224, 0.615, 0.9608, 1.515, 2.318, 3.405, 4.807, 6.538, 8.605");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b0 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&!I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6101, 0.6919, 0.9021, 1.193, 1.546, 1.961, 2.448, 3.024, 3.702, 4.499",\
                 "0.6262, 0.7079, 0.9181, 1.209, 1.562, 1.977, 2.464, 3.04, 3.718, 4.515",\
                 "0.6916, 0.7732, 0.9831, 1.274, 1.626, 2.041, 2.529, 3.104, 3.783, 4.579",\
                 "0.8168, 0.8975, 1.106, 1.396, 1.748, 2.162, 2.65, 3.225, 3.904, 4.7",\
                 "1.002, 1.08, 1.285, 1.572, 1.923, 2.337, 2.824, 3.399, 4.078, 4.874",\
                 "1.232, 1.313, 1.52, 1.807, 2.158, 2.571, 3.058, 3.633, 4.312, 5.108",\
                 "1.514, 1.597, 1.809, 2.101, 2.455, 2.871, 3.36, 3.935, 4.614, 5.41",\
                 "1.845, 1.933, 2.154, 2.455, 2.814, 3.234, 3.725, 4.303, 4.982, 5.779",\
                 "2.221, 2.314, 2.55, 2.865, 3.235, 3.662, 4.157, 4.737, 5.418, 6.215",\
                 "2.643, 2.742, 2.991, 3.327, 3.715, 4.154, 4.657, 5.24, 5.923, 6.721");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4984, 0.5634, 0.7352, 1.004, 1.375, 1.869, 2.511, 3.318, 4.303, 5.478",\
                 "0.5115, 0.5765, 0.7485, 1.017, 1.388, 1.882, 2.524, 3.331, 4.317, 5.493",\
                 "0.5547, 0.6196, 0.7915, 1.06, 1.431, 1.926, 2.568, 3.375, 4.359, 5.535",\
                 "0.6296, 0.6932, 0.8636, 1.131, 1.502, 1.996, 2.638, 3.445, 4.431, 5.607",\
                 "0.7146, 0.7778, 0.9457, 1.211, 1.581, 2.074, 2.715, 3.522, 4.506, 5.684",\
                 "0.7743, 0.8396, 1.008, 1.273, 1.642, 2.135, 2.776, 3.581, 4.565, 5.739",\
                 "0.8051, 0.8735, 1.047, 1.312, 1.68, 2.173, 2.813, 3.618, 4.602, 5.776",\
                 "0.7985, 0.8717, 1.052, 1.321, 1.691, 2.183, 2.822, 3.626, 4.608, 5.781",\
                 "0.7507, 0.8284, 1.019, 1.293, 1.668, 2.162, 2.8, 3.603, 4.585, 5.757",\
                 "0.656, 0.7386, 0.9396, 1.222, 1.603, 2.101, 2.744, 3.547, 4.528, 5.7");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2779, 0.368, 0.5876, 0.8845, 1.266, 1.765, 2.419, 3.267, 4.325, 5.627",\
                 "0.2771, 0.368, 0.5875, 0.884, 1.267, 1.767, 2.423, 3.264, 4.33, 5.626",\
                 "0.2757, 0.3664, 0.5864, 0.8828, 1.265, 1.767, 2.421, 3.266, 4.33, 5.626",\
                 "0.2704, 0.3612, 0.5824, 0.88, 1.264, 1.764, 2.422, 3.268, 4.328, 5.623",\
                 "0.2716, 0.359, 0.5776, 0.8768, 1.262, 1.763, 2.419, 3.267, 4.325, 5.628",\
                 "0.2872, 0.3754, 0.5898, 0.8816, 1.266, 1.767, 2.423, 3.267, 4.331, 5.626",\
                 "0.309, 0.3984, 0.6128, 0.906, 1.284, 1.78, 2.433, 3.272, 4.331, 5.626",\
                 "0.3428, 0.4364, 0.6538, 0.9412, 1.313, 1.805, 2.449, 3.288, 4.342, 5.627",\
                 "0.383, 0.4828, 0.713, 1.001, 1.361, 1.84, 2.476, 3.306, 4.354, 5.644",\
                 "0.4258, 0.532, 0.78, 1.079, 1.434, 1.901, 2.518, 3.335, 4.372, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1967, 0.2666, 0.476, 0.8498, 1.419, 2.246, 3.361, 4.784, 6.523, 8.603",\
                 "0.1971, 0.2671, 0.4761, 0.8481, 1.419, 2.245, 3.364, 4.786, 6.526, 8.604",\
                 "0.1948, 0.265, 0.4756, 0.8482, 1.418, 2.247, 3.364, 4.783, 6.531, 8.607",\
                 "0.1894, 0.2602, 0.474, 0.8472, 1.417, 2.245, 3.364, 4.788, 6.524, 8.612",\
                 "0.1978, 0.2664, 0.4762, 0.85, 1.421, 2.244, 3.361, 4.783, 6.524, 8.616",\
                 "0.218, 0.284, 0.4876, 0.86, 1.428, 2.253, 3.366, 4.784, 6.532, 8.602",\
                 "0.245, 0.3102, 0.507, 0.8734, 1.438, 2.258, 3.371, 4.783, 6.525, 8.602",\
                 "0.277, 0.3438, 0.5352, 0.8968, 1.453, 2.266, 3.372, 4.792, 6.529, 8.611",\
                 "0.3104, 0.3826, 0.572, 0.9274, 1.481, 2.285, 3.382, 4.793, 6.531, 8.606",\
                 "0.3472, 0.421, 0.615, 0.9624, 1.517, 2.317, 3.405, 4.806, 6.535, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b0 && I1===1'b1 && I2===1'b1 && I3===1'b1 && S0===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!I0&I1&I2&I3&!S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6101, 0.6919, 0.9021, 1.193, 1.546, 1.961, 2.448, 3.024, 3.702, 4.499",\
                 "0.6262, 0.7079, 0.9183, 1.209, 1.562, 1.977, 2.464, 3.04, 3.718, 4.515",\
                 "0.6916, 0.7732, 0.9831, 1.274, 1.626, 2.041, 2.529, 3.104, 3.783, 4.579",\
                 "0.8168, 0.8975, 1.106, 1.396, 1.748, 2.162, 2.65, 3.225, 3.904, 4.7",\
                 "1.001, 1.081, 1.285, 1.572, 1.923, 2.337, 2.824, 3.399, 4.078, 4.874",\
                 "1.232, 1.313, 1.52, 1.807, 2.158, 2.571, 3.058, 3.633, 4.312, 5.108",\
                 "1.514, 1.597, 1.808, 2.101, 2.455, 2.871, 3.36, 3.935, 4.614, 5.41",\
                 "1.845, 1.933, 2.154, 2.454, 2.814, 3.234, 3.725, 4.303, 4.982, 5.779",\
                 "2.221, 2.314, 2.55, 2.865, 3.235, 3.662, 4.157, 4.737, 5.418, 6.215",\
                 "2.643, 2.742, 2.991, 3.327, 3.715, 4.154, 4.657, 5.24, 5.922, 6.722");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4984, 0.5634, 0.7351, 1.004, 1.375, 1.869, 2.511, 3.318, 4.302, 5.48",\
                 "0.5114, 0.5765, 0.7485, 1.017, 1.388, 1.882, 2.524, 3.331, 4.317, 5.493",\
                 "0.5547, 0.6196, 0.7915, 1.06, 1.431, 1.926, 2.568, 3.375, 4.359, 5.535",\
                 "0.6296, 0.6933, 0.8636, 1.131, 1.502, 1.996, 2.638, 3.445, 4.431, 5.607",\
                 "0.7146, 0.7778, 0.9457, 1.211, 1.581, 2.074, 2.715, 3.522, 4.507, 5.683",\
                 "0.7743, 0.8394, 1.008, 1.273, 1.642, 2.135, 2.776, 3.582, 4.565, 5.739",\
                 "0.8051, 0.8735, 1.047, 1.312, 1.68, 2.173, 2.813, 3.618, 4.601, 5.776",\
                 "0.7985, 0.8717, 1.052, 1.321, 1.691, 2.183, 2.822, 3.626, 4.608, 5.781",\
                 "0.7507, 0.8284, 1.019, 1.293, 1.668, 2.162, 2.8, 3.603, 4.585, 5.757",\
                 "0.6559, 0.7388, 0.9396, 1.221, 1.602, 2.102, 2.744, 3.547, 4.528, 5.699");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2779, 0.368, 0.5876, 0.8845, 1.266, 1.765, 2.419, 3.267, 4.325, 5.627",\
                 "0.2771, 0.368, 0.5876, 0.884, 1.267, 1.767, 2.423, 3.265, 4.331, 5.625",\
                 "0.2757, 0.3664, 0.5864, 0.8828, 1.265, 1.767, 2.421, 3.266, 4.33, 5.626",\
                 "0.2704, 0.3606, 0.5826, 0.8804, 1.264, 1.764, 2.421, 3.268, 4.328, 5.623",\
                 "0.2716, 0.3588, 0.5778, 0.8766, 1.261, 1.764, 2.419, 3.263, 4.329, 5.627",\
                 "0.2874, 0.3746, 0.5896, 0.882, 1.266, 1.767, 2.423, 3.267, 4.331, 5.626",\
                 "0.309, 0.3982, 0.6138, 0.9066, 1.284, 1.78, 2.431, 3.272, 4.334, 5.622",\
                 "0.3428, 0.4364, 0.6536, 0.941, 1.315, 1.803, 2.449, 3.286, 4.344, 5.631",\
                 "0.383, 0.4828, 0.7122, 1, 1.361, 1.84, 2.476, 3.305, 4.354, 5.638",\
                 "0.425, 0.5318, 0.78, 1.08, 1.433, 1.899, 2.518, 3.335, 4.372, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1967, 0.266, 0.4752, 0.8498, 1.42, 2.246, 3.361, 4.784, 6.527, 8.613",\
                 "0.1971, 0.2671, 0.4761, 0.8481, 1.419, 2.245, 3.364, 4.786, 6.526, 8.604",\
                 "0.1948, 0.265, 0.4756, 0.8482, 1.418, 2.247, 3.364, 4.783, 6.531, 8.607",\
                 "0.1894, 0.2604, 0.4744, 0.847, 1.417, 2.246, 3.364, 4.789, 6.525, 8.612",\
                 "0.1982, 0.2664, 0.4774, 0.8516, 1.42, 2.244, 3.365, 4.784, 6.529, 8.615",\
                 "0.218, 0.2836, 0.4876, 0.8598, 1.428, 2.25, 3.366, 4.783, 6.532, 8.602",\
                 "0.245, 0.3102, 0.5076, 0.8734, 1.438, 2.258, 3.373, 4.784, 6.524, 8.614",\
                 "0.277, 0.3438, 0.5352, 0.8964, 1.453, 2.266, 3.372, 4.792, 6.529, 8.612",\
                 "0.3104, 0.3826, 0.572, 0.9274, 1.482, 2.285, 3.384, 4.795, 6.531, 8.616",\
                 "0.3476, 0.4208, 0.6156, 0.9616, 1.514, 2.317, 3.406, 4.805, 6.535, 8.605");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b0 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&!I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6111, 0.6929, 0.9032, 1.195, 1.547, 1.961, 2.449, 3.023, 3.702, 4.498",\
                 "0.6271, 0.7088, 0.9193, 1.21, 1.563, 1.977, 2.464, 3.039, 3.718, 4.515",\
                 "0.6925, 0.774, 0.9841, 1.275, 1.627, 2.042, 2.529, 3.104, 3.782, 4.579",\
                 "0.8178, 0.8986, 1.107, 1.397, 1.749, 2.163, 2.65, 3.225, 3.903, 4.7",\
                 "1.002, 1.081, 1.286, 1.573, 1.924, 2.337, 2.824, 3.399, 4.077, 4.874",\
                 "1.233, 1.314, 1.521, 1.808, 2.158, 2.571, 3.058, 3.633, 4.311, 5.108",\
                 "1.514, 1.598, 1.809, 2.101, 2.456, 2.872, 3.36, 3.935, 4.614, 5.41",\
                 "1.846, 1.934, 2.155, 2.455, 2.814, 3.234, 3.725, 4.303, 4.982, 5.779",\
                 "2.222, 2.316, 2.55, 2.866, 3.236, 3.662, 4.157, 4.737, 5.418, 6.215",\
                 "2.643, 2.743, 2.992, 3.327, 3.715, 4.154, 4.656, 5.24, 5.923, 6.721");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4993, 0.5642, 0.7359, 1.005, 1.375, 1.87, 2.511, 3.319, 4.303, 5.478",\
                 "0.5123, 0.5773, 0.7492, 1.018, 1.388, 1.883, 2.525, 3.331, 4.317, 5.493",\
                 "0.5554, 0.6202, 0.7921, 1.061, 1.432, 1.926, 2.568, 3.375, 4.36, 5.535",\
                 "0.6299, 0.6934, 0.8639, 1.131, 1.502, 1.996, 2.638, 3.445, 4.431, 5.605",\
                 "0.7148, 0.7779, 0.9461, 1.211, 1.58, 2.074, 2.715, 3.522, 4.507, 5.68",\
                 "0.7744, 0.8396, 1.008, 1.273, 1.642, 2.135, 2.775, 3.581, 4.565, 5.741",\
                 "0.8051, 0.8735, 1.046, 1.311, 1.68, 2.172, 2.812, 3.617, 4.6, 5.774",\
                 "0.7984, 0.8717, 1.052, 1.321, 1.691, 2.183, 2.821, 3.625, 4.609, 5.782",\
                 "0.7501, 0.8279, 1.018, 1.292, 1.667, 2.162, 2.8, 3.603, 4.585, 5.757",\
                 "0.6561, 0.7386, 0.9395, 1.221, 1.602, 2.102, 2.744, 3.547, 4.528, 5.699");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2773, 0.3674, 0.5879, 0.884, 1.265, 1.764, 2.42, 3.265, 4.326, 5.626",\
                 "0.2773, 0.3675, 0.5877, 0.8838, 1.265, 1.765, 2.42, 3.263, 4.329, 5.622",\
                 "0.2758, 0.3662, 0.586, 0.8824, 1.265, 1.766, 2.422, 3.265, 4.33, 5.627",\
                 "0.2706, 0.3606, 0.5824, 0.8802, 1.264, 1.763, 2.419, 3.264, 4.329, 5.623",\
                 "0.2716, 0.3588, 0.5778, 0.8764, 1.261, 1.764, 2.42, 3.263, 4.328, 5.625",\
                 "0.2874, 0.3754, 0.5906, 0.8822, 1.265, 1.766, 2.42, 3.268, 4.33, 5.627",\
                 "0.3094, 0.399, 0.6136, 0.9054, 1.284, 1.779, 2.432, 3.27, 4.328, 5.623",\
                 "0.343, 0.4368, 0.6544, 0.9424, 1.314, 1.802, 2.449, 3.285, 4.342, 5.633",\
                 "0.384, 0.482, 0.7124, 1.001, 1.36, 1.838, 2.475, 3.304, 4.354, 5.643",\
                 "0.4258, 0.5312, 0.7796, 1.079, 1.434, 1.898, 2.518, 3.334, 4.37, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1966, 0.2666, 0.4759, 0.8496, 1.419, 2.246, 3.362, 4.784, 6.522, 8.606",\
                 "0.1972, 0.267, 0.4754, 0.8477, 1.419, 2.245, 3.364, 4.787, 6.524, 8.604",\
                 "0.1948, 0.2651, 0.4755, 0.8478, 1.42, 2.245, 3.364, 4.783, 6.532, 8.607",\
                 "0.1894, 0.261, 0.474, 0.8466, 1.419, 2.247, 3.364, 4.791, 6.525, 8.607",\
                 "0.1994, 0.2666, 0.4764, 0.8506, 1.42, 2.245, 3.365, 4.784, 6.535, 8.599",\
                 "0.218, 0.2844, 0.4874, 0.8604, 1.428, 2.25, 3.365, 4.786, 6.527, 8.603",\
                 "0.2454, 0.3102, 0.5068, 0.873, 1.438, 2.257, 3.373, 4.791, 6.532, 8.606",\
                 "0.276, 0.344, 0.537, 0.8966, 1.455, 2.266, 3.373, 4.792, 6.534, 8.61",\
                 "0.3114, 0.3818, 0.5724, 0.9266, 1.481, 2.286, 3.381, 4.794, 6.529, 8.601",\
                 "0.3472, 0.4224, 0.6148, 0.9608, 1.515, 2.318, 3.406, 4.807, 6.538, 8.605");
        }
      }

      timing() {
        related_pin : "S1" ;
        sdf_cond : "I0===1'b1 && I1===1'b0 && I2===1'b1 && I3===1'b1 && S0===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "I0&!I1&I2&I3&S0" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6111, 0.6929, 0.9032, 1.195, 1.547, 1.961, 2.449, 3.023, 3.702, 4.498",\
                 "0.6271, 0.7088, 0.9189, 1.21, 1.563, 1.977, 2.464, 3.039, 3.718, 4.515",\
                 "0.6925, 0.774, 0.9841, 1.275, 1.627, 2.042, 2.529, 3.104, 3.782, 4.579",\
                 "0.8178, 0.8985, 1.107, 1.397, 1.749, 2.163, 2.65, 3.225, 3.903, 4.7",\
                 "1.002, 1.082, 1.286, 1.573, 1.924, 2.337, 2.824, 3.399, 4.077, 4.874",\
                 "1.233, 1.314, 1.52, 1.808, 2.158, 2.571, 3.058, 3.633, 4.311, 5.108",\
                 "1.514, 1.598, 1.809, 2.101, 2.456, 2.872, 3.36, 3.935, 4.614, 5.41",\
                 "1.845, 1.934, 2.155, 2.455, 2.814, 3.234, 3.725, 4.303, 4.982, 5.779",\
                 "2.222, 2.316, 2.55, 2.865, 3.236, 3.662, 4.157, 4.737, 5.418, 6.215",\
                 "2.644, 2.743, 2.992, 3.327, 3.715, 4.154, 4.656, 5.24, 5.923, 6.721");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4993, 0.5642, 0.7359, 1.005, 1.375, 1.87, 2.511, 3.319, 4.303, 5.479",\
                 "0.5123, 0.5773, 0.7492, 1.018, 1.388, 1.883, 2.525, 3.331, 4.317, 5.493",\
                 "0.5554, 0.6202, 0.7921, 1.061, 1.432, 1.926, 2.568, 3.375, 4.36, 5.535",\
                 "0.6299, 0.6935, 0.8639, 1.131, 1.502, 1.996, 2.638, 3.445, 4.431, 5.606",\
                 "0.7147, 0.778, 0.9461, 1.211, 1.581, 2.074, 2.715, 3.521, 4.506, 5.68",\
                 "0.7744, 0.8396, 1.008, 1.273, 1.642, 2.135, 2.775, 3.581, 4.565, 5.741",\
                 "0.8051, 0.8735, 1.046, 1.311, 1.68, 2.172, 2.812, 3.617, 4.6, 5.776",\
                 "0.7984, 0.8717, 1.052, 1.321, 1.691, 2.183, 2.821, 3.625, 4.609, 5.782",\
                 "0.7501, 0.8279, 1.018, 1.292, 1.667, 2.162, 2.8, 3.603, 4.585, 5.757",\
                 "0.6561, 0.7388, 0.9395, 1.221, 1.602, 2.102, 2.744, 3.547, 4.528, 5.7");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2773, 0.3674, 0.5879, 0.884, 1.265, 1.764, 2.42, 3.265, 4.326, 5.626",\
                 "0.2773, 0.3679, 0.5878, 0.884, 1.266, 1.766, 2.42, 3.263, 4.329, 5.622",\
                 "0.2758, 0.3662, 0.586, 0.8824, 1.265, 1.766, 2.422, 3.265, 4.33, 5.627",\
                 "0.2706, 0.3614, 0.5824, 0.88, 1.264, 1.764, 2.418, 3.264, 4.329, 5.623",\
                 "0.272, 0.3592, 0.578, 0.8764, 1.262, 1.763, 2.419, 3.264, 4.328, 5.624",\
                 "0.2876, 0.3754, 0.59, 0.8826, 1.266, 1.766, 2.42, 3.268, 4.33, 5.627",\
                 "0.3094, 0.399, 0.6134, 0.9058, 1.284, 1.78, 2.431, 3.271, 4.328, 5.621",\
                 "0.3434, 0.4362, 0.654, 0.9406, 1.315, 1.803, 2.448, 3.286, 4.343, 5.633",\
                 "0.384, 0.482, 0.7116, 1, 1.36, 1.838, 2.476, 3.304, 4.354, 5.643",\
                 "0.4274, 0.5314, 0.7796, 1.079, 1.435, 1.899, 2.518, 3.333, 4.37, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1966, 0.2666, 0.4759, 0.8496, 1.419, 2.246, 3.362, 4.784, 6.521, 8.608",\
                 "0.1972, 0.267, 0.4754, 0.8477, 1.419, 2.245, 3.364, 4.787, 6.524, 8.604",\
                 "0.1948, 0.2651, 0.4755, 0.8478, 1.42, 2.245, 3.364, 4.783, 6.532, 8.607",\
                 "0.1894, 0.261, 0.4738, 0.847, 1.419, 2.247, 3.364, 4.791, 6.525, 8.607",\
                 "0.1982, 0.2668, 0.4764, 0.8504, 1.422, 2.247, 3.364, 4.783, 6.533, 8.601",\
                 "0.218, 0.2844, 0.4874, 0.8594, 1.428, 2.25, 3.364, 4.79, 6.528, 8.613",\
                 "0.2454, 0.3102, 0.5068, 0.873, 1.438, 2.257, 3.373, 4.791, 6.532, 8.602",\
                 "0.276, 0.3446, 0.537, 0.8974, 1.455, 2.266, 3.373, 4.792, 6.529, 8.61",\
                 "0.3114, 0.3818, 0.5724, 0.9266, 1.481, 2.286, 3.381, 4.794, 6.529, 8.613",\
                 "0.3472, 0.4216, 0.615, 0.962, 1.515, 2.318, 3.405, 4.807, 6.538, 8.606");
        }
      }

      timing() {
        related_pin : "S1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.6101, 0.6919, 0.9021, 1.193, 1.546, 1.961, 2.448, 3.024, 3.702, 4.499",\
                 "0.6262, 0.7079, 0.9183, 1.209, 1.562, 1.977, 2.464, 3.04, 3.718, 4.515",\
                 "0.6916, 0.7732, 0.9831, 1.274, 1.626, 2.041, 2.529, 3.104, 3.783, 4.579",\
                 "0.8168, 0.8975, 1.106, 1.396, 1.748, 2.162, 2.65, 3.225, 3.904, 4.7",\
                 "1.001, 1.081, 1.285, 1.572, 1.923, 2.337, 2.824, 3.399, 4.078, 4.874",\
                 "1.232, 1.313, 1.52, 1.807, 2.158, 2.571, 3.058, 3.633, 4.312, 5.108",\
                 "1.514, 1.597, 1.808, 2.101, 2.455, 2.871, 3.36, 3.935, 4.614, 5.41",\
                 "1.845, 1.933, 2.154, 2.454, 2.814, 3.234, 3.725, 4.303, 4.982, 5.779",\
                 "2.221, 2.314, 2.55, 2.865, 3.235, 3.662, 4.157, 4.737, 5.418, 6.215",\
                 "2.643, 2.742, 2.991, 3.327, 3.715, 4.154, 4.657, 5.24, 5.922, 6.722");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.4985, 0.5634, 0.7352, 1.004, 1.375, 1.869, 2.511, 3.318, 4.303, 5.478",\
                 "0.5115, 0.5765, 0.7485, 1.017, 1.388, 1.882, 2.524, 3.331, 4.317, 5.493",\
                 "0.5547, 0.6196, 0.7915, 1.06, 1.431, 1.926, 2.568, 3.375, 4.359, 5.535",\
                 "0.6295, 0.6931, 0.8636, 1.131, 1.502, 1.996, 2.638, 3.445, 4.43, 5.604",\
                 "0.7146, 0.7777, 0.9457, 1.211, 1.581, 2.074, 2.715, 3.522, 4.507, 5.683",\
                 "0.7743, 0.8396, 1.008, 1.273, 1.642, 2.135, 2.775, 3.582, 4.566, 5.742",\
                 "0.805, 0.8735, 1.046, 1.312, 1.68, 2.172, 2.812, 3.617, 4.601, 5.776",\
                 "0.7985, 0.8717, 1.052, 1.321, 1.691, 2.183, 2.821, 3.627, 4.609, 5.782",\
                 "0.7507, 0.8284, 1.019, 1.293, 1.667, 2.163, 2.801, 3.603, 4.585, 5.757",\
                 "0.6561, 0.7387, 0.9397, 1.221, 1.602, 2.102, 2.745, 3.547, 4.528, 5.699");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.2773, 0.3674, 0.5879, 0.884, 1.265, 1.764, 2.42, 3.265, 4.326, 5.626",\
                 "0.2773, 0.3679, 0.5878, 0.884, 1.266, 1.766, 2.42, 3.263, 4.329, 5.622",\
                 "0.2758, 0.3662, 0.586, 0.8824, 1.265, 1.766, 2.422, 3.265, 4.33, 5.627",\
                 "0.2706, 0.3614, 0.5824, 0.88, 1.264, 1.764, 2.418, 3.264, 4.329, 5.623",\
                 "0.272, 0.3592, 0.578, 0.8764, 1.262, 1.763, 2.419, 3.264, 4.328, 5.624",\
                 "0.2876, 0.3754, 0.59, 0.8826, 1.266, 1.766, 2.42, 3.268, 4.33, 5.627",\
                 "0.3094, 0.399, 0.6134, 0.9058, 1.284, 1.78, 2.431, 3.271, 4.328, 5.621",\
                 "0.3434, 0.4362, 0.654, 0.9406, 1.315, 1.803, 2.448, 3.286, 4.343, 5.633",\
                 "0.384, 0.482, 0.7116, 1, 1.36, 1.838, 2.476, 3.304, 4.354, 5.643",\
                 "0.4274, 0.5314, 0.7796, 1.079, 1.435, 1.899, 2.518, 3.333, 4.37, 5.65");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007242, 0.02915, 0.071, 0.1362, 0.2277, 0.348, 0.4997, 0.6848, 0.9054");
          values("0.1966, 0.2666, 0.4759, 0.8496, 1.419, 2.246, 3.362, 4.784, 6.522, 8.607",\
                 "0.1972, 0.267, 0.4754, 0.8477, 1.419, 2.245, 3.364, 4.787, 6.524, 8.604",\
                 "0.1948, 0.2651, 0.4755, 0.8478, 1.42, 2.245, 3.364, 4.783, 6.532, 8.607",\
                 "0.1894, 0.261, 0.474, 0.8466, 1.419, 2.247, 3.364, 4.791, 6.525, 8.607",\
                 "0.1992, 0.2678, 0.4774, 0.8498, 1.42, 2.245, 3.365, 4.784, 6.533, 8.599",\
                 "0.218, 0.285, 0.4874, 0.8594, 1.428, 2.25, 3.364, 4.79, 6.53, 8.6",\
                 "0.2446, 0.3102, 0.5062, 0.8734, 1.437, 2.257, 3.373, 4.791, 6.532, 8.602",\
                 "0.276, 0.3446, 0.537, 0.8974, 1.455, 2.266, 3.373, 4.792, 6.534, 8.61",\
                 "0.311, 0.3818, 0.5724, 0.9266, 1.481, 2.286, 3.381, 4.794, 6.529, 8.619",\
                 "0.3472, 0.4224, 0.615, 0.9608, 1.515, 2.318, 3.405, 4.807, 6.538, 8.605");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nand2_1) {
    area : 10.976000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "3.277857e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "3.285909e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "4.91007e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "4.48008e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "4.91007e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.0047 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01742, 0.01735, 0.01727, 0.01719, 0.01718, 0.01714, 0.01715, \
                 0.01715, 0.01715, 0.01716");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01113, -0.01112, -0.01111, -0.01112, -0.01112, -0.01115, -0.01113, \
                 -0.01114, -0.01115, -0.01115");
        }
      }
    }

    pin(A2) {
      capacitance : 0.00441 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01683, 0.01572, 0.01526, 0.01519, 0.01513, 0.01513, 0.01511, \
                 0.01504, 0.01505, 0.01505");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01524, -0.0152, -0.01517, -0.01512, -0.01509, -0.01503, -0.01502, \
                 -0.01502, -0.01503, -0.01503");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2))" ;
      max_capacitance : 0.3223 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.002469, 0.0026, 0.002851, 0.002949, 0.003006, 0.003038, 0.003039, 0.003045, 0.003049, 0.003063",\
                 "0.001643, 0.001983, 0.002439, 0.002733, 0.002876, 0.002957, 0.002993, 0.003009, 0.003014, 0.00303",\
                 "0.002773, 0.002722, 0.002743, 0.002861, 0.002936, 0.00297, 0.003001, 0.003003, 0.003027, 0.003023",\
                 "0.0096, 0.008626, 0.006888, 0.005585, 0.004742, 0.004236, 0.003902, 0.003675, 0.003524, 0.003416",\
                 "0.02335, 0.02135, 0.01703, 0.01313, 0.01031, 0.008343, 0.006995, 0.006036, 0.00536, 0.004872",\
                 "0.04458, 0.04162, 0.03455, 0.02728, 0.02145, 0.01708, 0.01386, 0.0115, 0.009733, 0.008405",\
                 "0.07369, 0.06993, 0.06026, 0.04921, 0.03961, 0.03198, 0.02602, 0.02142, 0.01792, 0.01521",\
                 "0.1111, 0.1067, 0.09474, 0.07984, 0.06598, 0.05432, 0.04486, 0.03731, 0.03126, 0.02646",\
                 "0.1573, 0.1523, 0.1384, 0.12, 0.1015, 0.08526, 0.07166, 0.06035, 0.05109, 0.04353",\
                 "0.2127, 0.2072, 0.1916, 0.1699, 0.1469, 0.1257, 0.1073, 0.09166, 0.07854, 0.06753");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.04651, 0.0471, 0.0477, 0.048, 0.04805, 0.04787, 0.04791, 0.04781, 0.04781, 0.04887",\
                 "0.04552, 0.04613, 0.04734, 0.04809, 0.04801, 0.04774, 0.04818, 0.04814, 0.04788, 0.04986",\
                 "0.04721, 0.04685, 0.04692, 0.04741, 0.04785, 0.048, 0.04795, 0.048, 0.04755, 0.0493",\
                 "0.05579, 0.05461, 0.05218, 0.05049, 0.0497, 0.04906, 0.0489, 0.04853, 0.04781, 0.05072",\
                 "0.0718, 0.06956, 0.06464, 0.0595, 0.05616, 0.05391, 0.05191, 0.05088, 0.05029, 0.05244",\
                 "0.09588, 0.09275, 0.08505, 0.07713, 0.06979, 0.06447, 0.06029, 0.05728, 0.0552, 0.05732",\
                 "0.1286, 0.1246, 0.1145, 0.1026, 0.092, 0.08262, 0.07497, 0.06972, 0.06526, 0.06775",\
                 "0.1704, 0.1658, 0.1535, 0.1379, 0.1231, 0.1094, 0.09797, 0.08859, 0.08211, 0.08519",\
                 "0.222, 0.2167, 0.2024, 0.1835, 0.1642, 0.1467, 0.1309, 0.1169, 0.1071, 0.114",\
                 "0.2837, 0.278, 0.262, 0.2397, 0.2162, 0.1939, 0.1733, 0.155, 0.1422, 0.1616");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.002496, 0.002685, 0.002887, 0.002979, 0.003013, 0.003033, 0.003043, 0.003059, 0.003062, 0.003063",\
                 "0.001427, 0.001826, 0.002411, 0.002726, 0.00286, 0.002942, 0.002981, 0.002996, 0.00301, 0.00302",\
                 "0.001557, 0.001708, 0.002145, 0.002511, 0.002729, 0.002846, 0.002912, 0.002957, 0.002977, 0.002998",\
                 "0.007437, 0.006757, 0.005616, 0.004799, 0.00426, 0.003916, 0.003686, 0.003526, 0.003415, 0.003333",\
                 "0.02084, 0.01908, 0.01538, 0.01207, 0.009657, 0.007962, 0.006742, 0.00589, 0.005278, 0.00482",\
                 "0.04231, 0.03953, 0.03294, 0.0262, 0.02082, 0.01678, 0.01377, 0.01149, 0.009782, 0.008488",\
                 "0.07219, 0.06854, 0.05919, 0.04853, 0.03932, 0.03199, 0.02628, 0.0218, 0.01836, 0.01563",\
                 "0.1108, 0.1064, 0.09463, 0.08001, 0.06637, 0.05496, 0.04572, 0.03828, 0.03233, 0.02753",\
                 "0.1584, 0.1535, 0.1397, 0.1213, 0.103, 0.08686, 0.0734, 0.06221, 0.05303, 0.04545",\
                 "0.2158, 0.2103, 0.1946, 0.1729, 0.1499, 0.1286, 0.1103, 0.09475, 0.08162, 0.07067");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.06189, 0.06193, 0.06195, 0.06188, 0.06177, 0.06163, 0.06137, 0.06107, 0.06068, 0.06194",\
                 "0.06076, 0.06091, 0.06116, 0.06128, 0.06124, 0.06117, 0.06098, 0.06067, 0.06028, 0.06182",\
                 "0.06268, 0.06229, 0.06182, 0.06155, 0.06134, 0.06117, 0.06094, 0.06061, 0.06019, 0.0617",\
                 "0.07147, 0.07033, 0.06756, 0.06531, 0.06385, 0.06268, 0.062, 0.0614, 0.06048, 0.06267",\
                 "0.08795, 0.08595, 0.081, 0.07544, 0.07131, 0.06839, 0.06619, 0.0645, 0.06328, 0.06505",\
                 "0.113, 0.1102, 0.1029, 0.09415, 0.08619, 0.07988, 0.0751, 0.0715, 0.06919, 0.0706",\
                 "0.147, 0.1437, 0.1342, 0.1219, 0.11, 0.09941, 0.09111, 0.08447, 0.07961, 0.08102",\
                 "0.1904, 0.1866, 0.1756, 0.16, 0.1439, 0.1288, 0.1159, 0.1054, 0.09741, 0.09967",\
                 "0.244, 0.2397, 0.2272, 0.2091, 0.1883, 0.1691, 0.1512, 0.1359, 0.1244, 0.1308",\
                 "0.3082, 0.3036, 0.2898, 0.2691, 0.245, 0.2203, 0.1976, 0.1775, 0.1631, 0.181");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.0786, 0.105, 0.1969, 0.3713, 0.6427, 1.023, 1.524, 2.155, 2.925, 3.843",\
                 "0.08913, 0.1159, 0.208, 0.3829, 0.6544, 1.035, 1.536, 2.167, 2.937, 3.856",\
                 "0.1158, 0.1516, 0.2528, 0.427, 0.6985, 1.079, 1.58, 2.211, 2.981, 3.899",\
                 "0.1294, 0.1776, 0.3137, 0.5154, 0.7864, 1.166, 1.665, 2.296, 3.066, 3.984",\
                 "0.1253, 0.1872, 0.3576, 0.6084, 0.9235, 1.305, 1.803, 2.432, 3.201, 4.117",\
                 "0.1007, 0.1757, 0.3825, 0.6813, 1.056, 1.496, 2.002, 2.627, 3.393, 4.309",\
                 "0.0534, 0.1417, 0.385, 0.7346, 1.166, 1.674, 2.249, 2.891, 3.652, 4.564",\
                 "-0.0183, 0.0842, 0.3626, 0.7646, 1.254, 1.825, 2.477, 3.197, 3.985, 4.893",\
                 "-0.1168, -0.0001, 0.3147, 0.7673, 1.318, 1.955, 2.678, 3.481, 4.355, 5.299",\
                 "-0.2438, -0.1129, 0.2395, 0.7413, 1.357, 2.061, 2.853, 3.733, 4.697, 5.736");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.08984, 0.1237, 0.2386, 0.4558, 0.7931, 1.266, 1.888, 2.672, 3.628, 4.77",\
                 "0.1049, 0.1388, 0.2553, 0.4735, 0.8108, 1.284, 1.907, 2.691, 3.648, 4.788",\
                 "0.1646, 0.2034, 0.3192, 0.5366, 0.8749, 1.348, 1.97, 2.755, 3.712, 4.853",\
                 "0.247, 0.2983, 0.4447, 0.667, 1.002, 1.474, 2.095, 2.879, 3.836, 4.976",\
                 "0.3515, 0.4161, 0.5958, 0.8656, 1.209, 1.677, 2.295, 3.077, 4.031, 5.17",\
                 "0.4763, 0.5565, 0.7721, 1.09, 1.494, 1.971, 2.584, 3.361, 4.313, 5.447",\
                 "0.6235, 0.7188, 0.9755, 1.341, 1.804, 2.349, 2.973, 3.744, 4.691, 5.822",\
                 "0.7934, 0.905, 1.205, 1.623, 2.14, 2.756, 3.454, 4.236, 5.175, 6.3",\
                 "0.9898, 1.116, 1.458, 1.936, 2.513, 3.19, 3.968, 4.826, 5.778, 6.895",\
                 "1.212, 1.354, 1.74, 2.275, 2.917, 3.657, 4.508, 5.457, 6.485, 7.615");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.0938, 0.1382, 0.2956, 0.5928, 1.057, 1.706, 2.562, 3.64, 4.956, 6.525",\
                 "0.09354, 0.1381, 0.2953, 0.5932, 1.057, 1.708, 2.562, 3.639, 4.957, 6.524",\
                 "0.135, 0.1767, 0.304, 0.5927, 1.057, 1.707, 2.562, 3.64, 4.955, 6.525",\
                 "0.2001, 0.2488, 0.399, 0.6362, 1.058, 1.707, 2.562, 3.64, 4.956, 6.525",\
                 "0.2859, 0.3477, 0.5178, 0.7926, 1.158, 1.722, 2.562, 3.64, 4.957, 6.525",\
                 "0.3864, 0.4622, 0.6648, 0.9694, 1.383, 1.89, 2.614, 3.643, 4.957, 6.525",\
                 "0.5008, 0.5926, 0.834, 1.176, 1.629, 2.19, 2.852, 3.749, 4.97, 6.526",\
                 "0.6296, 0.737, 1.025, 1.416, 1.901, 2.513, 3.235, 4.067, 5.148, 6.571",\
                 "0.7732, 0.898, 1.228, 1.675, 2.211, 2.862, 3.644, 4.537, 5.55, 6.823",\
                 "0.9308, 1.075, 1.446, 1.956, 2.555, 3.247, 4.074, 5.035, 6.114, 7.315");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.1163, 0.1737, 0.3746, 0.7565, 1.35, 2.184, 3.282, 4.666, 6.355, 8.369",\
                 "0.1164, 0.1731, 0.3729, 0.754, 1.351, 2.182, 3.283, 4.666, 6.355, 8.368",\
                 "0.1531, 0.1972, 0.3749, 0.7559, 1.35, 2.184, 3.283, 4.665, 6.355, 8.369",\
                 "0.2181, 0.275, 0.4455, 0.7639, 1.35, 2.185, 3.283, 4.666, 6.355, 8.368",\
                 "0.3064, 0.369, 0.5688, 0.8826, 1.374, 2.183, 3.281, 4.664, 6.353, 8.369",\
                 "0.4062, 0.488, 0.7078, 1.074, 1.542, 2.233, 3.283, 4.666, 6.352, 8.369",\
                 "0.52, 0.6176, 0.8776, 1.27, 1.806, 2.45, 3.362, 4.672, 6.353, 8.363",\
                 "0.643, 0.7608, 1.07, 1.495, 2.078, 2.791, 3.63, 4.784, 6.367, 8.369",\
                 "0.7812, 0.9166, 1.273, 1.754, 2.368, 3.154, 4.055, 5.106, 6.52, 8.394",\
                 "0.9334, 1.087, 1.494, 2.036, 2.694, 3.522, 4.508, 5.604, 6.901, 8.592");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.09268, 0.1191, 0.2108, 0.3851, 0.6564, 1.037, 1.538, 2.169, 2.939, 3.857",\
                 "0.1017, 0.1286, 0.2211, 0.3959, 0.6676, 1.048, 1.549, 2.18, 2.95, 3.868",\
                 "0.1171, 0.1493, 0.2481, 0.4233, 0.6951, 1.076, 1.577, 2.208, 2.978, 3.896",\
                 "0.1204, 0.1629, 0.2833, 0.4759, 0.7485, 1.129, 1.63, 2.26, 3.03, 3.948",\
                 "0.1023, 0.157, 0.3076, 0.531, 0.8303, 1.215, 1.714, 2.344, 3.113, 4.029",\
                 "0.059, 0.1256, 0.3102, 0.575, 0.9101, 1.328, 1.837, 2.464, 3.232, 4.148",\
                 "-0.0117, 0.0672, 0.2848, 0.596, 0.9785, 1.436, 1.982, 2.628, 3.394, 4.307",\
                 "-0.1132, -0.0217, 0.2288, 0.5885, 1.025, 1.531, 2.121, 2.808, 3.6, 4.513",\
                 "-0.248, -0.1436, 0.1417, 0.5481, 1.042, 1.607, 2.247, 2.978, 3.815, 4.761",\
                 "-0.4187, -0.3011, 0.0195, 0.4728, 1.026, 1.653, 2.356, 3.138, 4.022, 5.015");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.1172, 0.1504, 0.2649, 0.4819, 0.8191, 1.292, 1.914, 2.698, 3.655, 4.795",\
                 "0.1326, 0.1661, 0.2813, 0.4987, 0.8358, 1.309, 1.931, 2.715, 3.672, 4.813",\
                 "0.1991, 0.2335, 0.3471, 0.5635, 0.9005, 1.373, 1.996, 2.779, 3.736, 4.877",\
                 "0.298, 0.3432, 0.4788, 0.6957, 1.029, 1.499, 2.121, 2.903, 3.859, 5",\
                 "0.4244, 0.4794, 0.6436, 0.9016, 1.239, 1.705, 2.322, 3.103, 4.056, 5.196",\
                 "0.579, 0.6457, 0.8389, 1.139, 1.531, 2.002, 2.613, 3.388, 4.34, 5.475",\
                 "0.7631, 0.8422, 1.068, 1.408, 1.853, 2.387, 3.006, 3.774, 4.718, 5.848",\
                 "0.9786, 1.07, 1.331, 1.716, 2.209, 2.808, 3.494, 4.271, 5.206, 6.332",\
                 "1.227, 1.331, 1.628, 2.062, 2.605, 3.261, 4.022, 4.87, 5.814, 6.931",\
                 "1.511, 1.628, 1.961, 2.446, 3.046, 3.754, 4.582, 5.515, 6.531, 7.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.09372, 0.1386, 0.2954, 0.5926, 1.057, 1.707, 2.561, 3.639, 4.956, 6.525",\
                 "0.09388, 0.1387, 0.2952, 0.5928, 1.057, 1.707, 2.562, 3.641, 4.955, 6.525",\
                 "0.1244, 0.1644, 0.3019, 0.5931, 1.057, 1.707, 2.563, 3.639, 4.955, 6.524",\
                 "0.1861, 0.2262, 0.364, 0.6232, 1.059, 1.707, 2.563, 3.639, 4.956, 6.524",\
                 "0.2738, 0.32, 0.4613, 0.7222, 1.126, 1.723, 2.563, 3.641, 4.957, 6.525",\
                 "0.3758, 0.4314, 0.5958, 0.8598, 1.266, 1.831, 2.607, 3.644, 4.957, 6.528",\
                 "0.4916, 0.558, 0.752, 1.045, 1.447, 2.015, 2.76, 3.727, 4.977, 6.527",\
                 "0.6216, 0.7006, 0.9222, 1.251, 1.676, 2.244, 2.992, 3.93, 5.101, 6.575",\
                 "0.762, 0.8532, 1.112, 1.483, 1.952, 2.524, 3.27, 4.213, 5.358, 6.748",\
                 "0.9126, 1.022, 1.316, 1.737, 2.246, 2.853, 3.604, 4.55, 5.698, 7.058");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003218, 0.011, 0.02587, 0.04903, 0.08153, 0.1243, 0.1782, 0.2439, 0.3223");
          values("0.1584, 0.2163, 0.4169, 0.799, 1.393, 2.227, 3.325, 4.706, 6.392, 8.403",\
                 "0.1587, 0.2159, 0.4168, 0.799, 1.393, 2.227, 3.325, 4.707, 6.394, 8.403",\
                 "0.1828, 0.2289, 0.4167, 0.799, 1.393, 2.227, 3.324, 4.706, 6.392, 8.404",\
                 "0.253, 0.3094, 0.4738, 0.8041, 1.393, 2.227, 3.324, 4.707, 6.393, 8.405",\
                 "0.3368, 0.4022, 0.6004, 0.911, 1.413, 2.227, 3.323, 4.706, 6.394, 8.402",\
                 "0.438, 0.5152, 0.7368, 1.101, 1.571, 2.269, 3.325, 4.706, 6.393, 8.406",\
                 "0.5522, 0.6442, 0.8972, 1.292, 1.83, 2.478, 3.397, 4.712, 6.392, 8.404",\
                 "0.6792, 0.7868, 1.077, 1.507, 2.095, 2.814, 3.659, 4.82, 6.407, 8.402",\
                 "0.8144, 0.9436, 1.278, 1.753, 2.374, 3.164, 4.068, 5.133, 6.556, 8.433",\
                 "0.9624, 1.109, 1.498, 2.024, 2.684, 3.521, 4.513, 5.616, 6.923, 8.624");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nand2_2) {
    area : 19.756800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "7.64214e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "6.78216e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.64214e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008947 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03472, 0.03463, 0.03445, 0.03428, 0.03426, 0.03429, 0.03424, \
                 0.03426, 0.03423, 0.03426");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02224, -0.02219, -0.02221, -0.02218, -0.02221, -0.02226, -0.02228, \
                 -0.02228, -0.0223, -0.02231");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009336 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03368, 0.03139, 0.03036, 0.03027, 0.03016, 0.03022, 0.03024, \
                 0.0302, 0.03021, 0.03025");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0304, -0.03027, -0.03023, -0.03012, -0.03011, -0.03012, -0.03008, \
                 -0.03008, -0.03006, -0.03006");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2))" ;
      max_capacitance : 0.6451 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.004757, 0.00525, 0.005779, 0.006007, 0.006107, 0.006154, 0.00619, 0.006196, 0.006205, 0.00623",\
                 "0.003034, 0.003756, 0.00488, 0.00552, 0.005829, 0.005983, 0.006078, 0.006096, 0.006135, 0.006147",\
                 "0.005631, 0.005508, 0.005615, 0.005806, 0.005948, 0.006043, 0.006105, 0.006126, 0.006147, 0.006176",\
                 "0.02005, 0.01784, 0.014, 0.01133, 0.009566, 0.008557, 0.007893, 0.007426, 0.007175, 0.006965",\
                 "0.04831, 0.0439, 0.03462, 0.02654, 0.02078, 0.01683, 0.01407, 0.01216, 0.0108, 0.009808",\
                 "0.09141, 0.08497, 0.07002, 0.05502, 0.04309, 0.03431, 0.02777, 0.02302, 0.01951, 0.01688",\
                 "0.1501, 0.1421, 0.1218, 0.09902, 0.07955, 0.06404, 0.05212, 0.04294, 0.03584, 0.03038",\
                 "0.2253, 0.216, 0.1911, 0.1606, 0.1324, 0.1089, 0.08977, 0.07465, 0.06246, 0.05296",\
                 "0.3181, 0.3075, 0.2787, 0.241, 0.2034, 0.1708, 0.1434, 0.1207, 0.1022, 0.0871",\
                 "0.4293, 0.4176, 0.3854, 0.3411, 0.2944, 0.2516, 0.2146, 0.1833, 0.1568, 0.135");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.08754, 0.08906, 0.09066, 0.09127, 0.09247, 0.09336, 0.09441, 0.09627, 0.09713, 0.1037",\
                 "0.085, 0.08674, 0.08914, 0.09111, 0.09247, 0.09395, 0.09497, 0.09759, 0.09878, 0.1027",\
                 "0.08948, 0.08914, 0.08928, 0.09045, 0.09171, 0.09342, 0.09494, 0.09726, 0.0968, 0.1045",\
                 "0.1075, 0.1047, 0.1002, 0.09665, 0.0954, 0.09554, 0.09599, 0.09693, 0.09944, 0.1068",\
                 "0.1404, 0.1354, 0.1248, 0.1161, 0.109, 0.1054, 0.103, 0.1029, 0.1037, 0.1082",\
                 "0.1892, 0.1825, 0.1666, 0.1499, 0.1373, 0.1268, 0.1195, 0.1151, 0.1133, 0.1188",\
                 "0.255, 0.2466, 0.2255, 0.2011, 0.1807, 0.164, 0.1502, 0.1398, 0.1331, 0.1393",\
                 "0.3391, 0.3294, 0.3041, 0.2723, 0.2426, 0.2181, 0.1969, 0.1793, 0.1664, 0.1737",\
                 "0.4424, 0.4316, 0.4022, 0.3634, 0.325, 0.2901, 0.262, 0.2367, 0.2181, 0.2319",\
                 "0.5662, 0.5545, 0.5219, 0.4764, 0.4292, 0.3841, 0.3458, 0.3144, 0.2904, 0.3272");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.004954, 0.005351, 0.005845, 0.006049, 0.00613, 0.006173, 0.006199, 0.006219, 0.006223, 0.00624",\
                 "0.002583, 0.003543, 0.004857, 0.005491, 0.005791, 0.005943, 0.00605, 0.006098, 0.006136, 0.006153",\
                 "0.002943, 0.003331, 0.00427, 0.005038, 0.005494, 0.005764, 0.005936, 0.006014, 0.006073, 0.006107",\
                 "0.01545, 0.01388, 0.01135, 0.009669, 0.008581, 0.007894, 0.00744, 0.007134, 0.006928, 0.00678",\
                 "0.04301, 0.03919, 0.03119, 0.02434, 0.01943, 0.01598, 0.01354, 0.01181, 0.01058, 0.009684",\
                 "0.08678, 0.08075, 0.06674, 0.05284, 0.0419, 0.03368, 0.02762, 0.02305, 0.01964, 0.01704",\
                 "0.1471, 0.1392, 0.1198, 0.09756, 0.07902, 0.06417, 0.05265, 0.04375, 0.03678, 0.03132",\
                 "0.2246, 0.2154, 0.191, 0.161, 0.1332, 0.1102, 0.09159, 0.07669, 0.06471, 0.0551",\
                 "0.3204, 0.31, 0.2813, 0.2438, 0.2065, 0.174, 0.147, 0.1244, 0.1061, 0.09087",\
                 "0.4354, 0.4238, 0.3916, 0.3472, 0.3005, 0.2572, 0.2206, 0.1896, 0.1632, 0.1411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.1185, 0.1189, 0.1194, 0.1198, 0.1206, 0.1214, 0.123, 0.1243, 0.1258, 0.1311",\
                 "0.1163, 0.1168, 0.1179, 0.1188, 0.1193, 0.1204, 0.1216, 0.1237, 0.1255, 0.1315",\
                 "0.1207, 0.12, 0.1193, 0.1193, 0.1197, 0.1208, 0.1223, 0.124, 0.1258, 0.1319",\
                 "0.1388, 0.1362, 0.1311, 0.1272, 0.1249, 0.1239, 0.1245, 0.1247, 0.1268, 0.1328",\
                 "0.1727, 0.1684, 0.1579, 0.1479, 0.1401, 0.1351, 0.1328, 0.1316, 0.1311, 0.1387",\
                 "0.2231, 0.2173, 0.2021, 0.1847, 0.1701, 0.1589, 0.1514, 0.1464, 0.1437, 0.1496",\
                 "0.2914, 0.2845, 0.2655, 0.2402, 0.2178, 0.1981, 0.1839, 0.1731, 0.1654, 0.1712",\
                 "0.3785, 0.3708, 0.3483, 0.3168, 0.2845, 0.2573, 0.2337, 0.2153, 0.2013, 0.2087",\
                 "0.4859, 0.4773, 0.4517, 0.4147, 0.3747, 0.3361, 0.3038, 0.2763, 0.256, 0.2692",\
                 "0.6144, 0.605, 0.5774, 0.5357, 0.4869, 0.4373, 0.3947, 0.3582, 0.3323, 0.3703");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.06966, 0.09628, 0.1884, 0.3632, 0.6352, 1.017, 1.519, 2.151, 2.922, 3.845",\
                 "0.08021, 0.1071, 0.1999, 0.3749, 0.6473, 1.029, 1.531, 2.163, 2.937, 3.855",\
                 "0.1026, 0.1404, 0.2444, 0.4192, 0.6914, 1.073, 1.576, 2.208, 2.979, 3.899",\
                 "0.1117, 0.1628, 0.3025, 0.5074, 0.7789, 1.159, 1.661, 2.293, 3.066, 3.985",\
                 "0.1028, 0.1678, 0.3436, 0.5984, 0.9162, 1.299, 1.798, 2.428, 3.198, 4.118",\
                 "0.0732, 0.1531, 0.3666, 0.6698, 1.047, 1.489, 1.996, 2.623, 3.391, 4.31",\
                 "0.0211, 0.1149, 0.3669, 0.7203, 1.156, 1.666, 2.244, 2.887, 3.651, 4.566",\
                 "-0.0561, 0.0531, 0.342, 0.7485, 1.244, 1.818, 2.471, 3.194, 3.984, 4.895",\
                 "-0.1598, -0.0356, 0.291, 0.7508, 1.307, 1.947, 2.671, 3.476, 4.354, 5.3",\
                 "-0.2921, -0.1531, 0.2128, 0.7235, 1.343, 2.052, 2.847, 3.729, 4.695, 5.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.07813, 0.1123, 0.2281, 0.4456, 0.7844, 1.26, 1.885, 2.669, 3.634, 4.773",\
                 "0.09329, 0.1275, 0.2444, 0.4633, 0.803, 1.276, 1.904, 2.69, 3.648, 4.798",\
                 "0.1497, 0.1908, 0.3085, 0.5271, 0.8663, 1.341, 1.966, 2.752, 3.716, 4.856",\
                 "0.2281, 0.2816, 0.4326, 0.657, 0.9933, 1.467, 2.091, 2.876, 3.835, 4.983",\
                 "0.3272, 0.3957, 0.5808, 0.8553, 1.201, 1.67, 2.29, 3.076, 4.031, 5.178",\
                 "0.4455, 0.532, 0.7551, 1.077, 1.484, 1.964, 2.578, 3.359, 4.314, 5.456",\
                 "0.5877, 0.6888, 0.9557, 1.327, 1.793, 2.342, 2.968, 3.741, 4.692, 5.829",\
                 "0.7517, 0.8711, 1.181, 1.607, 2.129, 2.748, 3.449, 4.233, 5.176, 6.304",\
                 "0.9421, 1.078, 1.432, 1.917, 2.498, 3.181, 3.962, 4.824, 5.779, 6.899",\
                 "1.159, 1.311, 1.71, 2.257, 2.904, 3.648, 4.502, 5.453, 6.486, 7.62");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.07861, 0.1233, 0.2799, 0.5785, 1.043, 1.697, 2.555, 3.631, 4.95, 6.523",\
                 "0.07896, 0.1234, 0.2799, 0.5794, 1.043, 1.694, 2.551, 3.634, 4.959, 6.523",\
                 "0.1197, 0.1631, 0.291, 0.5781, 1.044, 1.696, 2.557, 3.636, 4.952, 6.524",\
                 "0.1812, 0.2335, 0.3849, 0.6246, 1.044, 1.695, 2.553, 3.633, 4.958, 6.523",\
                 "0.2618, 0.3266, 0.5026, 0.7788, 1.147, 1.711, 2.553, 3.633, 4.957, 6.532",\
                 "0.3564, 0.4378, 0.6468, 0.9548, 1.37, 1.879, 2.607, 3.633, 4.955, 6.526",\
                 "0.4646, 0.5626, 0.8142, 1.161, 1.614, 2.179, 2.845, 3.741, 4.97, 6.527",\
                 "0.5854, 0.7016, 0.998, 1.396, 1.887, 2.504, 3.226, 4.062, 5.141, 6.566",\
                 "0.7222, 0.8574, 1.198, 1.655, 2.197, 2.85, 3.635, 4.529, 5.548, 6.822",\
                 "0.8732, 1.026, 1.414, 1.937, 2.545, 3.235, 4.062, 5.029, 6.105, 7.317");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.09746, 0.1543, 0.3548, 0.7373, 1.334, 2.172, 3.274, 4.659, 6.356, 8.371",\
                 "0.09728, 0.1546, 0.3546, 0.7381, 1.334, 2.174, 3.275, 4.66, 6.352, 8.38",\
                 "0.1356, 0.1831, 0.3568, 0.7381, 1.334, 2.17, 3.274, 4.658, 6.359, 8.37",\
                 "0.1978, 0.2563, 0.4302, 0.7466, 1.333, 2.171, 3.272, 4.659, 6.351, 8.374",\
                 "0.279, 0.3486, 0.552, 0.8686, 1.36, 2.17, 3.269, 4.66, 6.353, 8.379",\
                 "0.376, 0.4616, 0.6892, 1.056, 1.53, 2.221, 3.271, 4.658, 6.352, 8.373",\
                 "0.4804, 0.5872, 0.8548, 1.252, 1.792, 2.439, 3.35, 4.663, 6.35, 8.373",\
                 "0.5996, 0.7236, 1.041, 1.478, 2.06, 2.783, 3.621, 4.78, 6.36, 8.362",\
                 "0.7296, 0.8744, 1.245, 1.732, 2.354, 3.138, 4.047, 5.099, 6.521, 8.395",\
                 "0.875, 1.038, 1.46, 2.01, 2.675, 3.504, 4.497, 5.595, 6.897, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.084, 0.1106, 0.2028, 0.3771, 0.6494, 1.031, 1.532, 2.165, 2.937, 3.859",\
                 "0.09268, 0.1198, 0.2129, 0.3877, 0.6597, 1.042, 1.543, 2.177, 2.947, 3.868",\
                 "0.1056, 0.139, 0.2395, 0.4151, 0.6876, 1.07, 1.571, 2.203, 2.977, 3.896",\
                 "0.1053, 0.1499, 0.2733, 0.4675, 0.7413, 1.123, 1.624, 2.256, 3.029, 3.951",\
                 "0.08235, 0.1405, 0.2958, 0.5218, 0.8225, 1.209, 1.708, 2.34, 3.112, 4.032",\
                 "0.0352, 0.1056, 0.2958, 0.5646, 0.9019, 1.321, 1.832, 2.462, 3.23, 4.149",\
                 "-0.0401, 0.0431, 0.2683, 0.5847, 0.9696, 1.428, 1.977, 2.625, 3.392, 4.309",\
                 "-0.1465, -0.0492, 0.2102, 0.5756, 1.015, 1.524, 2.115, 2.804, 3.597, 4.513",\
                 "-0.2866, -0.1754, 0.1198, 0.5338, 1.031, 1.599, 2.241, 2.975, 3.813, 4.762",\
                 "-0.4615, -0.3375, -0.0046, 0.4567, 1.013, 1.644, 2.349, 3.135, 4.02, 5.017");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.1057, 0.1392, 0.2543, 0.4715, 0.8101, 1.284, 1.909, 2.693, 3.651, 4.796",\
                 "0.121, 0.1549, 0.2705, 0.4884, 0.8264, 1.3, 1.924, 2.713, 3.669, 4.816",\
                 "0.1863, 0.2223, 0.3364, 0.5533, 0.891, 1.365, 1.99, 2.776, 3.734, 4.882",\
                 "0.2818, 0.3285, 0.4671, 0.6859, 1.02, 1.492, 2.115, 2.901, 3.86, 5.005",\
                 "0.4045, 0.4622, 0.6296, 0.8909, 1.23, 1.697, 2.316, 3.096, 4.056, 5.201",\
                 "0.5552, 0.6248, 0.8229, 1.127, 1.521, 1.995, 2.607, 3.384, 4.338, 5.479",\
                 "0.7346, 0.8173, 1.049, 1.394, 1.843, 2.379, 3, 3.77, 4.718, 5.852",\
                 "0.9449, 1.042, 1.31, 1.7, 2.197, 2.8, 3.488, 4.267, 5.205, 6.332",\
                 "1.189, 1.298, 1.605, 2.044, 2.593, 3.251, 4.016, 4.866, 5.814, 6.93",\
                 "1.468, 1.591, 1.935, 2.428, 3.031, 3.743, 4.574, 5.51, 6.529, 7.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.07881, 0.1235, 0.2803, 0.5779, 1.044, 1.694, 2.553, 3.632, 4.953, 6.523",\
                 "0.07906, 0.1234, 0.2806, 0.5779, 1.042, 1.697, 2.55, 3.634, 4.951, 6.524",\
                 "0.1103, 0.1506, 0.2879, 0.5786, 1.042, 1.696, 2.553, 3.631, 4.955, 6.524",\
                 "0.1721, 0.2128, 0.3503, 0.611, 1.046, 1.695, 2.554, 3.637, 4.955, 6.537",\
                 "0.2561, 0.3043, 0.4491, 0.7096, 1.114, 1.712, 2.552, 3.634, 4.954, 6.529",\
                 "0.3548, 0.4126, 0.58, 0.8472, 1.253, 1.821, 2.596, 3.635, 4.953, 6.526",\
                 "0.4666, 0.536, 0.734, 1.026, 1.434, 2.004, 2.75, 3.722, 4.972, 6.526",\
                 "0.5916, 0.6728, 0.9036, 1.236, 1.663, 2.231, 2.982, 3.922, 5.103, 6.577",\
                 "0.7276, 0.824, 1.089, 1.466, 1.934, 2.511, 3.259, 4.206, 5.352, 6.749",\
                 "0.8706, 0.9852, 1.289, 1.719, 2.232, 2.846, 3.593, 4.537, 5.693, 7.056");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005446, 0.02105, 0.05085, 0.09728, 0.1624, 0.2481, 0.3561, 0.488, 0.6451");
          values("0.1391, 0.1972, 0.3981, 0.7808, 1.377, 2.212, 3.312, 4.69, 6.381, 8.399",\
                 "0.1392, 0.197, 0.3975, 0.7811, 1.375, 2.212, 3.31, 4.698, 6.378, 8.399",\
                 "0.1676, 0.213, 0.3983, 0.781, 1.377, 2.212, 3.31, 4.696, 6.384, 8.401",\
                 "0.2327, 0.2912, 0.4599, 0.7875, 1.377, 2.212, 3.311, 4.696, 6.385, 8.399",\
                 "0.3132, 0.3816, 0.5834, 0.898, 1.398, 2.212, 3.312, 4.697, 6.387, 8.401",\
                 "0.4082, 0.4892, 0.7166, 1.083, 1.558, 2.257, 3.313, 4.696, 6.388, 8.401",\
                 "0.5172, 0.6148, 0.8764, 1.273, 1.816, 2.466, 3.388, 4.703, 6.386, 8.402",\
                 "0.636, 0.7528, 1.053, 1.487, 2.079, 2.8, 3.647, 4.812, 6.4, 8.4",\
                 "0.766, 0.9022, 1.25, 1.732, 2.357, 3.149, 4.059, 5.125, 6.551, 8.43",\
                 "0.906, 1.064, 1.465, 2, 2.663, 3.501, 4.504, 5.607, 6.917, 8.624");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nand2_4) {
    area : 35.123200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "0.0001310628" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "0.0001138599" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001310628" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01866 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06923, 0.06896, 0.06847, 0.06845, 0.0684, 0.06843, 0.06849, \
                 0.06846, 0.0684, 0.06847");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04545, -0.04531, -0.04532, -0.04539, -0.04532, -0.04549, -0.04555, \
                 -0.04561, -0.04549, -0.04567");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01891 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06739, 0.06253, 0.06071, 0.06035, 0.06028, 0.06036, 0.06038, \
                 0.06034, 0.06037, 0.06037");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06056, -0.06044, -0.06024, -0.0601, -0.0601, -0.06017, -0.06015, \
                 -0.06025, -0.0601, -0.06016");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2))" ;
      max_capacitance : 1.291 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.009297, 0.01039, 0.01151, 0.01199, 0.01217, 0.01228, 0.01238, 0.01238, 0.01238, 0.01241",\
                 "0.005928, 0.007513, 0.009833, 0.01108, 0.01162, 0.01198, 0.01214, 0.01221, 0.01226, 0.0124",\
                 "0.01136, 0.01105, 0.01114, 0.0116, 0.0119, 0.01212, 0.01223, 0.0123, 0.01235, 0.01238",\
                 "0.04029, 0.03564, 0.02802, 0.02255, 0.0192, 0.01712, 0.01583, 0.01488, 0.01433, 0.01388",\
                 "0.09721, 0.08795, 0.06915, 0.05319, 0.0415, 0.03352, 0.02807, 0.0243, 0.0216, 0.01967",\
                 "0.1835, 0.1705, 0.1401, 0.1102, 0.08625, 0.06856, 0.05558, 0.04611, 0.03899, 0.03369",\
                 "0.3009, 0.2848, 0.2438, 0.1982, 0.1591, 0.128, 0.1042, 0.08577, 0.07167, 0.06066",\
                 "0.4515, 0.4327, 0.3826, 0.3212, 0.2648, 0.2175, 0.1795, 0.1492, 0.125, 0.1058",\
                 "0.6372, 0.6159, 0.5578, 0.482, 0.407, 0.3413, 0.2861, 0.2407, 0.2037, 0.1735",\
                 "0.8594, 0.836, 0.7711, 0.6824, 0.5886, 0.5031, 0.4292, 0.3663, 0.3138, 0.2697");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.1808, 0.184, 0.1872, 0.1888, 0.1903, 0.1928, 0.1942, 0.1977, 0.2029, 0.2128",\
                 "0.1759, 0.179, 0.1843, 0.1881, 0.1906, 0.1935, 0.1952, 0.2007, 0.2016, 0.2147",\
                 "0.1849, 0.1842, 0.1842, 0.1864, 0.1888, 0.1922, 0.1968, 0.198, 0.2019, 0.2152",\
                 "0.2214, 0.2154, 0.2062, 0.1991, 0.197, 0.1975, 0.1991, 0.2013, 0.2032, 0.2158",\
                 "0.2873, 0.2771, 0.2555, 0.2384, 0.2245, 0.2163, 0.2127, 0.2109, 0.2137, 0.2212",\
                 "0.3852, 0.3713, 0.3391, 0.3052, 0.2801, 0.2595, 0.2453, 0.2363, 0.2339, 0.2431",\
                 "0.517, 0.4999, 0.4572, 0.4086, 0.3674, 0.3337, 0.3064, 0.287, 0.2715, 0.2846",\
                 "0.685, 0.6654, 0.614, 0.5511, 0.4907, 0.4423, 0.3991, 0.3665, 0.3387, 0.3549",\
                 "0.8921, 0.87, 0.8112, 0.7322, 0.6544, 0.5855, 0.5298, 0.4792, 0.4412, 0.4707",\
                 "1.139, 1.116, 1.05, 0.9583, 0.8636, 0.7736, 0.6968, 0.6355, 0.5865, 0.6605");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.009754, 0.01067, 0.01166, 0.01208, 0.01227, 0.01235, 0.0124, 0.01243, 0.0125, 0.01245",\
                 "0.005129, 0.006993, 0.009639, 0.01098, 0.01162, 0.01195, 0.01217, 0.01222, 0.01232, 0.01235",\
                 "0.005955, 0.00669, 0.008654, 0.01007, 0.01098, 0.01153, 0.01184, 0.01195, 0.0121, 0.01217",\
                 "0.0313, 0.02812, 0.02288, 0.01939, 0.01721, 0.01583, 0.0149, 0.01427, 0.01385, 0.01354",\
                 "0.0869, 0.07887, 0.06267, 0.0489, 0.03903, 0.03211, 0.02722, 0.02374, 0.02125, 0.01942",\
                 "0.1747, 0.1623, 0.1339, 0.1059, 0.08396, 0.06747, 0.0553, 0.04621, 0.03934, 0.03408",\
                 "0.2952, 0.2795, 0.2399, 0.1957, 0.1581, 0.1285, 0.1054, 0.0875, 0.07353, 0.06266",\
                 "0.4504, 0.4319, 0.3827, 0.3222, 0.2665, 0.2204, 0.1831, 0.1533, 0.1294, 0.1102",\
                 "0.6419, 0.621, 0.5632, 0.4879, 0.4128, 0.3478, 0.2936, 0.2489, 0.2121, 0.1818",\
                 "0.8719, 0.8488, 0.7837, 0.6946, 0.601, 0.5149, 0.4411, 0.3785, 0.3258, 0.2818");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.242, 0.2425, 0.2439, 0.2449, 0.2461, 0.2483, 0.251, 0.2538, 0.2574, 0.2705",\
                 "0.2375, 0.2386, 0.241, 0.2424, 0.2437, 0.2463, 0.2487, 0.2522, 0.2554, 0.2678",\
                 "0.2464, 0.2451, 0.2437, 0.2436, 0.2446, 0.2466, 0.249, 0.2529, 0.2567, 0.2687",\
                 "0.283, 0.2774, 0.2676, 0.2593, 0.2546, 0.2536, 0.2539, 0.2558, 0.2573, 0.2721",\
                 "0.3508, 0.3419, 0.3211, 0.3007, 0.2854, 0.2763, 0.2698, 0.2687, 0.2679, 0.2796",\
                 "0.4519, 0.4401, 0.4093, 0.3744, 0.3449, 0.3225, 0.3071, 0.2975, 0.2926, 0.3033",\
                 "0.5885, 0.5746, 0.5357, 0.4852, 0.4399, 0.4014, 0.3724, 0.3513, 0.3365, 0.3477",\
                 "0.7628, 0.7473, 0.7014, 0.6395, 0.5744, 0.5192, 0.4717, 0.4342, 0.4084, 0.4218",\
                 "0.9775, 0.9602, 0.9092, 0.8347, 0.7526, 0.6763, 0.6117, 0.5574, 0.5164, 0.5438",\
                 "1.235, 1.216, 1.16, 1.076, 0.9779, 0.8806, 0.7941, 0.7207, 0.6703, 0.7484");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.06852, 0.09526, 0.1875, 0.3626, 0.6356, 1.018, 1.521, 2.156, 2.928, 3.854",\
                 "0.07895, 0.106, 0.1988, 0.3745, 0.6474, 1.029, 1.534, 2.167, 2.941, 3.866",\
                 "0.1007, 0.1388, 0.2435, 0.4188, 0.6914, 1.074, 1.578, 2.21, 2.984, 3.91",\
                 "0.109, 0.1604, 0.3013, 0.5068, 0.7792, 1.16, 1.662, 2.296, 3.07, 3.991",\
                 "0.09921, 0.1652, 0.3421, 0.5977, 0.9163, 1.3, 1.801, 2.432, 3.205, 4.125",\
                 "0.0689, 0.1493, 0.3643, 0.6688, 1.047, 1.49, 1.999, 2.628, 3.397, 4.316",\
                 "0.0162, 0.111, 0.3639, 0.7193, 1.156, 1.668, 2.246, 2.891, 3.656, 4.572",\
                 "-0.0622, 0.0492, 0.339, 0.7476, 1.244, 1.819, 2.474, 3.198, 3.99, 4.902",\
                 "-0.1664, -0.0407, 0.2874, 0.7494, 1.307, 1.949, 2.674, 3.481, 4.36, 5.308",\
                 "-0.2995, -0.159, 0.2081, 0.722, 1.344, 2.054, 2.85, 3.734, 4.702, 5.744");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.07643, 0.1108, 0.2269, 0.4452, 0.7849, 1.261, 1.887, 2.673, 3.638, 4.784",\
                 "0.09157, 0.126, 0.2432, 0.463, 0.8023, 1.279, 1.905, 2.692, 3.658, 4.799",\
                 "0.1475, 0.189, 0.3072, 0.5259, 0.8663, 1.342, 1.968, 2.758, 3.722, 4.866",\
                 "0.225, 0.2794, 0.431, 0.6564, 0.9927, 1.467, 2.093, 2.88, 3.845, 4.989",\
                 "0.3232, 0.3929, 0.5788, 0.8543, 1.201, 1.671, 2.293, 3.078, 4.039, 5.185",\
                 "0.4417, 0.5282, 0.7529, 1.076, 1.484, 1.965, 2.58, 3.363, 4.319, 5.463",\
                 "0.5817, 0.6846, 0.9533, 1.326, 1.792, 2.343, 2.971, 3.744, 4.696, 5.838",\
                 "0.7452, 0.8657, 1.178, 1.606, 2.128, 2.749, 3.451, 4.237, 5.181, 6.313",\
                 "0.9345, 1.071, 1.429, 1.915, 2.499, 3.181, 3.965, 4.828, 5.784, 6.908",\
                 "1.15, 1.304, 1.706, 2.252, 2.903, 3.649, 4.504, 5.457, 6.491, 7.628");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.07647, 0.1212, 0.2784, 0.5766, 1.044, 1.698, 2.557, 3.646, 4.961, 6.539",\
                 "0.07672, 0.1212, 0.2786, 0.5789, 1.042, 1.696, 2.56, 3.642, 4.965, 6.537",\
                 "0.1175, 0.1609, 0.2894, 0.5774, 1.044, 1.698, 2.561, 3.64, 4.964, 6.548",\
                 "0.1783, 0.2301, 0.384, 0.6239, 1.045, 1.697, 2.558, 3.644, 4.961, 6.541",\
                 "0.258, 0.3238, 0.5005, 0.7788, 1.147, 1.713, 2.555, 3.64, 4.965, 6.546",\
                 "0.352, 0.4336, 0.6468, 0.9542, 1.369, 1.881, 2.608, 3.641, 4.964, 6.544",\
                 "0.4592, 0.5584, 0.811, 1.159, 1.615, 2.181, 2.848, 3.748, 4.976, 6.54",\
                 "0.5792, 0.6964, 0.9958, 1.396, 1.887, 2.504, 3.229, 4.067, 5.153, 6.587",\
                 "0.7154, 0.8508, 1.195, 1.653, 2.202, 2.85, 3.635, 4.534, 5.557, 6.844",\
                 "0.863, 1.022, 1.411, 1.931, 2.536, 3.234, 4.068, 5.034, 6.113, 7.327");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.0945, 0.1516, 0.3526, 0.7364, 1.334, 2.174, 3.278, 4.675, 6.366, 8.387",\
                 "0.0945, 0.1517, 0.3524, 0.7366, 1.335, 2.175, 3.276, 4.663, 6.371, 8.385",\
                 "0.1334, 0.1811, 0.3534, 0.7359, 1.334, 2.173, 3.275, 4.67, 6.365, 8.384",\
                 "0.1949, 0.2536, 0.4286, 0.7453, 1.333, 2.174, 3.275, 4.666, 6.369, 8.398",\
                 "0.2764, 0.3456, 0.549, 0.8672, 1.36, 2.171, 3.275, 4.664, 6.365, 8.388",\
                 "0.3698, 0.4566, 0.6878, 1.055, 1.53, 2.225, 3.274, 4.665, 6.362, 8.387",\
                 "0.4756, 0.582, 0.8524, 1.249, 1.791, 2.439, 3.356, 4.668, 6.363, 8.387",\
                 "0.5924, 0.719, 1.037, 1.477, 2.061, 2.784, 3.623, 4.783, 6.37, 8.377",\
                 "0.7212, 0.8694, 1.242, 1.731, 2.351, 3.139, 4.047, 5.104, 6.538, 8.407",\
                 "0.8666, 1.031, 1.455, 2.011, 2.678, 3.505, 4.499, 5.599, 6.906, 8.61");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.08241, 0.1092, 0.2011, 0.3763, 0.6494, 1.032, 1.534, 2.168, 2.945, 3.865",\
                 "0.09103, 0.1182, 0.2113, 0.3868, 0.6598, 1.042, 1.546, 2.18, 2.956, 3.875",\
                 "0.1035, 0.1373, 0.2382, 0.4143, 0.6875, 1.07, 1.574, 2.208, 2.984, 3.905",\
                 "0.1025, 0.1475, 0.2718, 0.4666, 0.7411, 1.123, 1.627, 2.26, 3.035, 3.958",\
                 "0.07906, 0.1376, 0.294, 0.5208, 0.8225, 1.209, 1.711, 2.344, 3.116, 4.039",\
                 "0.0308, 0.1024, 0.2937, 0.5635, 0.9017, 1.322, 1.834, 2.464, 3.235, 4.157",\
                 "-0.045, 0.0397, 0.2658, 0.5832, 0.9692, 1.429, 1.979, 2.628, 3.397, 4.314",\
                 "-0.1525, -0.0536, 0.2077, 0.5742, 1.015, 1.525, 2.117, 2.808, 3.603, 4.52",\
                 "-0.2925, -0.1801, 0.1168, 0.5327, 1.031, 1.601, 2.244, 2.979, 3.819, 4.77",\
                 "-0.4687, -0.3428, -0.008, 0.4557, 1.014, 1.646, 2.352, 3.139, 4.026, 5.025");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.1036, 0.1372, 0.2527, 0.4708, 0.8097, 1.285, 1.911, 2.697, 3.658, 4.811",\
                 "0.119, 0.1529, 0.269, 0.4873, 0.8265, 1.302, 1.927, 2.717, 3.675, 4.827",\
                 "0.184, 0.2203, 0.3348, 0.5521, 0.8908, 1.366, 1.992, 2.781, 3.741, 4.891",\
                 "0.2788, 0.3257, 0.4656, 0.6847, 1.02, 1.493, 2.118, 2.904, 3.866, 5.015",\
                 "0.4006, 0.4586, 0.6273, 0.8897, 1.23, 1.698, 2.317, 3.102, 4.063, 5.209",\
                 "0.5504, 0.6203, 0.8198, 1.125, 1.52, 1.995, 2.609, 3.388, 4.344, 5.488",\
                 "0.729, 0.8126, 1.046, 1.392, 1.842, 2.38, 3.002, 3.775, 4.725, 5.858",\
                 "0.9389, 1.036, 1.306, 1.698, 2.196, 2.8, 3.491, 4.271, 5.213, 6.343",\
                 "1.181, 1.292, 1.6, 2.042, 2.591, 3.25, 4.018, 4.87, 5.82, 6.94",\
                 "1.46, 1.584, 1.93, 2.424, 3.03, 3.745, 4.576, 5.515, 6.536, 7.667");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.0766, 0.1215, 0.2784, 0.5766, 1.045, 1.698, 2.555, 3.638, 4.969, 6.539",\
                 "0.07686, 0.1214, 0.2787, 0.5766, 1.043, 1.695, 2.56, 3.64, 4.971, 6.537",\
                 "0.1084, 0.1488, 0.2867, 0.5777, 1.044, 1.697, 2.556, 3.641, 4.971, 6.537",\
                 "0.17, 0.2109, 0.3492, 0.6099, 1.046, 1.697, 2.556, 3.643, 4.97, 6.546",\
                 "0.2534, 0.3016, 0.4464, 0.7086, 1.115, 1.712, 2.56, 3.641, 4.962, 6.54",\
                 "0.3512, 0.4104, 0.5782, 0.8468, 1.253, 1.823, 2.6, 3.645, 4.96, 6.543",\
                 "0.4622, 0.5328, 0.7316, 1.027, 1.434, 2.006, 2.754, 3.729, 4.983, 6.541",\
                 "0.5856, 0.67, 0.9014, 1.236, 1.663, 2.231, 2.987, 3.928, 5.112, 6.589",\
                 "0.7184, 0.8182, 1.088, 1.466, 1.933, 2.512, 3.265, 4.211, 5.361, 6.761",\
                 "0.8626, 0.9798, 1.286, 1.716, 2.232, 2.845, 3.597, 4.544, 5.701, 7.069");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.009906, 0.04117, 0.1009, 0.1939, 0.3244, 0.4961, 0.7124, 0.9765, 1.291");
          values("0.1357, 0.1936, 0.3954, 0.78, 1.377, 2.214, 3.316, 4.698, 6.393, 8.423",\
                 "0.1358, 0.1937, 0.3953, 0.7796, 1.377, 2.213, 3.316, 4.706, 6.39, 8.418",\
                 "0.1649, 0.2102, 0.3955, 0.7793, 1.376, 2.213, 3.315, 4.704, 6.397, 8.418",\
                 "0.2289, 0.2882, 0.4577, 0.7854, 1.376, 2.214, 3.316, 4.702, 6.4, 8.42",\
                 "0.3096, 0.3774, 0.5816, 0.8966, 1.398, 2.213, 3.316, 4.705, 6.4, 8.418",\
                 "0.4036, 0.4854, 0.7156, 1.082, 1.558, 2.258, 3.317, 4.703, 6.4, 8.419",\
                 "0.5114, 0.6092, 0.8704, 1.272, 1.816, 2.468, 3.391, 4.709, 6.397, 8.42",\
                 "0.629, 0.7472, 1.05, 1.487, 2.079, 2.803, 3.651, 4.818, 6.411, 8.417",\
                 "0.758, 0.8956, 1.247, 1.73, 2.356, 3.15, 4.063, 5.131, 6.562, 8.447",\
                 "0.896, 1.055, 1.463, 1.998, 2.662, 3.503, 4.505, 5.613, 6.928, 8.642");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nand3_1) {
    area : 15.366400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "3.277824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "3.277857e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "3.280233e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "3.285909e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "4.90479e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "4.91007e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "6.49374e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "5.6199e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.49374e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004311 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01543, 0.01538, 0.01528, 0.01522, 0.01517, 0.01515, 0.01515, \
                 0.01516, 0.01517, 0.01518");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008555, -0.008555, -0.008543, -0.008553, -0.008559, -0.008575, \
                 -0.008572, -0.008588, -0.008606, -0.008605");
        }
      }

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01536, 0.01536, 0.0153, 0.01524, 0.0152, 0.01517, 0.01517, 0.01518, \
                 0.01517, 0.01517");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00856, -0.008555, -0.008555, -0.008556, -0.008561, -0.008592, \
                 -0.00859, -0.008609, -0.008621, -0.008638");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01499, 0.01499, 0.01502, 0.01507, 0.01508, 0.01509, 0.01511, \
                 0.01511, 0.01511, 0.01509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007627, 0.007632, 0.007611, 0.007578, 0.007535, 0.007487, 0.007392, \
                 0.007378, 0.007355, 0.007317");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004088 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01875, 0.01916, 0.01959, 0.01995, 0.02021, 0.02034, \
                 0.02041, 0.02049, 0.02052");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01327, -0.01325, -0.0132, -0.01313, -0.01311, -0.01311, -0.01309, \
                 -0.01308, -0.01309, -0.01306");
        }
      }

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01562, 0.01398, 0.01326, 0.01316, 0.01313, 0.01314, 0.01313, \
                 0.01312, 0.01312, 0.01311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01322, -0.01322, -0.01319, -0.01315, -0.0131, -0.01311, -0.0131, \
                 -0.0131, -0.01309, -0.0131");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01481, 0.0148, 0.01479, 0.01476, 0.01475, 0.01475, 0.01476, \
                 0.01474, 0.01473, 0.01472");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01056, -0.01055, -0.01054, -0.01054, -0.01055, -0.01056, -0.01057, \
                 -0.0106, -0.01064, -0.01069");
        }
      }
    }

    pin(A3) {
      capacitance : 0.00419 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01295, 0.01304, 0.0132, 0.01319, 0.01312, 0.01308, 0.01313, \
                 0.01308, 0.01309, 0.01312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01325, -0.01322, -0.01317, -0.01311, -0.01309, -0.0131, -0.01307, \
                 -0.01307, -0.01306, -0.01304");
        }
      }

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01376, 0.01329, 0.01323, 0.0132, 0.01314, 0.01315, 0.01313, \
                 0.01313, 0.01312, 0.01313");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01325, -0.01321, -0.01321, -0.01315, -0.01311, -0.01312, -0.0131, \
                 -0.01309, -0.01309, -0.01306");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01387, 0.01289, 0.01294, 0.01312, 0.01303, 0.01308, 0.0131, \
                 0.01308, 0.01309, 0.01311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01325, -0.01323, -0.0132, -0.01314, -0.01312, -0.01312, -0.0131, \
                 -0.01309, -0.01308, -0.01305");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2)|(!A3))" ;
      max_capacitance : 0.2781 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.01066, 0.01076, 0.01091, 0.01099, 0.01103, 0.01105, 0.01106, 0.01106, 0.01106, 0.01106",\
                 "0.01012, 0.0103, 0.01055, 0.01078, 0.0109, 0.01096, 0.01099, 0.011, 0.01101, 0.01102",\
                 "0.01064, 0.01064, 0.01074, 0.01086, 0.01093, 0.01097, 0.011, 0.01103, 0.01103, 0.01101",\
                 "0.01569, 0.01514, 0.01397, 0.013, 0.01238, 0.01197, 0.01172, 0.01155, 0.01143, 0.01133",\
                 "0.02657, 0.0252, 0.02215, 0.01916, 0.01691, 0.01533, 0.01423, 0.01347, 0.01292, 0.01252",\
                 "0.04392, 0.04179, 0.03654, 0.03086, 0.02615, 0.02259, 0.0199, 0.01796, 0.0165, 0.01542",\
                 "0.06812, 0.06531, 0.05789, 0.04909, 0.04132, 0.035, 0.03008, 0.02624, 0.0233, 0.02102",\
                 "0.09954, 0.09616, 0.08677, 0.07486, 0.0635, 0.05379, 0.04586, 0.03953, 0.03446, 0.03042",\
                 "0.1385, 0.1347, 0.1236, 0.1086, 0.09342, 0.07989, 0.06843, 0.05891, 0.05115, 0.04466",\
                 "0.1855, 0.1812, 0.1686, 0.1508, 0.1318, 0.1141, 0.09858, 0.08534, 0.07424, 0.06487");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.04954, 0.04993, 0.05006, 0.05037, 0.05047, 0.05048, 0.05037, 0.05016, 0.05022, 0.0516",\
                 "0.0488, 0.04931, 0.05028, 0.05096, 0.05077, 0.05098, 0.05096, 0.05082, 0.05045, 0.05238",\
                 "0.04936, 0.04933, 0.04982, 0.05038, 0.05064, 0.05091, 0.05083, 0.05115, 0.05068, 0.05292",\
                 "0.05565, 0.05498, 0.05341, 0.05302, 0.05206, 0.05144, 0.05106, 0.05155, 0.05147, 0.05313",\
                 "0.06843, 0.06687, 0.06344, 0.05964, 0.05816, 0.0554, 0.05456, 0.0535, 0.05303, 0.05441",\
                 "0.0882, 0.08592, 0.08028, 0.07386, 0.06806, 0.06401, 0.06106, 0.05874, 0.05725, 0.05904",\
                 "0.1154, 0.1125, 0.1046, 0.09521, 0.08651, 0.07903, 0.07294, 0.06821, 0.06571, 0.06777",\
                 "0.1507, 0.1472, 0.1375, 0.125, 0.1129, 0.1016, 0.09231, 0.08468, 0.0791, 0.08137",\
                 "0.1942, 0.1902, 0.1788, 0.1633, 0.1472, 0.1328, 0.1193, 0.1083, 0.09966, 0.1063",\
                 "0.2465, 0.2421, 0.2293, 0.2111, 0.1912, 0.1726, 0.1554, 0.1399, 0.1293, 0.1462");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.01079, 0.01078, 0.01093, 0.011, 0.01104, 0.01105, 0.01105, 0.01106, 0.01106, 0.01106",\
                 "0.009979, 0.0102, 0.01055, 0.01077, 0.01089, 0.01097, 0.01099, 0.01103, 0.01104, 0.01103",\
                 "0.009593, 0.00974, 0.01014, 0.01049, 0.0107, 0.01083, 0.0109, 0.01094, 0.01098, 0.01099",\
                 "0.01349, 0.01316, 0.01254, 0.01203, 0.01174, 0.01154, 0.01142, 0.01132, 0.01125, 0.0112",\
                 "0.02367, 0.02255, 0.02004, 0.01767, 0.01588, 0.01461, 0.01373, 0.01308, 0.01264, 0.0123",\
                 "0.04082, 0.03887, 0.03409, 0.02899, 0.02482, 0.02162, 0.01925, 0.01748, 0.01616, 0.01515",\
                 "0.06527, 0.06256, 0.05546, 0.04717, 0.03985, 0.03396, 0.02936, 0.02576, 0.02298, 0.0208",\
                 "0.09722, 0.09389, 0.0847, 0.07308, 0.06209, 0.05282, 0.04523, 0.03918, 0.03428, 0.03037",\
                 "0.137, 0.1331, 0.1222, 0.1073, 0.09239, 0.07916, 0.068, 0.05877, 0.05116, 0.04494",\
                 "0.1849, 0.1806, 0.1681, 0.1503, 0.1314, 0.1138, 0.09856, 0.08559, 0.07468, 0.06545");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.06617, 0.06623, 0.06622, 0.06622, 0.06613, 0.06598, 0.0658, 0.06553, 0.06518, 0.06649",\
                 "0.06545, 0.0657, 0.06621, 0.06667, 0.06699, 0.06565, 0.0652, 0.06503, 0.06482, 0.06629",\
                 "0.06569, 0.06565, 0.06568, 0.06575, 0.0658, 0.06578, 0.06563, 0.06539, 0.06505, 0.06644",\
                 "0.07197, 0.07124, 0.06961, 0.06827, 0.06752, 0.06684, 0.06636, 0.06579, 0.06552, 0.06709",\
                 "0.08477, 0.08338, 0.08, 0.07606, 0.07303, 0.07106, 0.06943, 0.0683, 0.06737, 0.06886",\
                 "0.1051, 0.1031, 0.09762, 0.09101, 0.08488, 0.08024, 0.07659, 0.07401, 0.07159, 0.07354",\
                 "0.1331, 0.1306, 0.1233, 0.1138, 0.1041, 0.09614, 0.08929, 0.08434, 0.08078, 0.08219",\
                 "0.1692, 0.1663, 0.1576, 0.1452, 0.132, 0.1202, 0.1097, 0.1012, 0.09516, 0.09763",\
                 "0.2139, 0.2106, 0.2007, 0.1859, 0.169, 0.1531, 0.1387, 0.1259, 0.1169, 0.1227",\
                 "0.2676, 0.264, 0.253, 0.2362, 0.2161, 0.1956, 0.177, 0.1604, 0.149, 0.165");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.01075, 0.01083, 0.01093, 0.01099, 0.01102, 0.01104, 0.01104, 0.01105, 0.01105, 0.01105",\
                 "0.009953, 0.01018, 0.01056, 0.01078, 0.0109, 0.01096, 0.011, 0.01102, 0.01104, 0.01103",\
                 "0.009044, 0.009287, 0.009851, 0.01032, 0.01058, 0.01075, 0.01085, 0.0109, 0.01094, 0.01096",\
                 "0.01217, 0.012, 0.01168, 0.01149, 0.01138, 0.0113, 0.01125, 0.0112, 0.01117, 0.01114",\
                 "0.022, 0.02106, 0.01899, 0.01704, 0.01553, 0.01442, 0.01363, 0.01305, 0.01263, 0.0123",\
                 "0.03958, 0.0378, 0.03343, 0.02873, 0.02484, 0.02185, 0.01957, 0.0178, 0.01647, 0.01544",\
                 "0.06536, 0.06273, 0.05594, 0.04795, 0.04087, 0.0351, 0.03053, 0.02693, 0.02407, 0.0218",\
                 "0.09935, 0.09609, 0.08706, 0.07561, 0.0647, 0.05545, 0.04782, 0.04161, 0.0366, 0.03251",\
                 "0.1418, 0.1381, 0.1271, 0.1123, 0.09729, 0.0839, 0.07258, 0.06312, 0.05531, 0.04878",\
                 "0.1932, 0.1889, 0.1763, 0.1585, 0.1393, 0.1214, 0.1058, 0.09251, 0.08119, 0.0716");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.08081, 0.08084, 0.08079, 0.08067, 0.08052, 0.08034, 0.08009, 0.07975, 0.07955, 0.08071",\
                 "0.07974, 0.07979, 0.07983, 0.07977, 0.0797, 0.07951, 0.07926, 0.07892, 0.07872, 0.08004",\
                 "0.08041, 0.08028, 0.08002, 0.07978, 0.07956, 0.07935, 0.07906, 0.07869, 0.07849, 0.07989",\
                 "0.08686, 0.08606, 0.08424, 0.08259, 0.08148, 0.08057, 0.07999, 0.07932, 0.07895, 0.08001",\
                 "0.1004, 0.099, 0.09529, 0.09114, 0.08771, 0.08529, 0.08345, 0.08196, 0.0808, 0.08251",\
                 "0.1218, 0.1197, 0.114, 0.1069, 0.1003, 0.09515, 0.09104, 0.08783, 0.08586, 0.08738",\
                 "0.1518, 0.1492, 0.1416, 0.1315, 0.121, 0.112, 0.1048, 0.09905, 0.09491, 0.09665",\
                 "0.1907, 0.1877, 0.1783, 0.1651, 0.1509, 0.1378, 0.1266, 0.117, 0.1098, 0.1126",\
                 "0.2389, 0.2354, 0.2249, 0.2088, 0.1907, 0.1735, 0.1575, 0.1439, 0.1337, 0.1387",\
                 "0.2969, 0.2932, 0.2815, 0.2633, 0.2414, 0.2195, 0.1987, 0.1804, 0.1675, 0.183");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1152, 0.1463, 0.2548, 0.461, 0.7816, 1.231, 1.823, 2.569, 3.479, 4.564",\
                 "0.1247, 0.156, 0.265, 0.4712, 0.7924, 1.242, 1.834, 2.58, 3.49, 4.575",\
                 "0.159, 0.1945, 0.3045, 0.5105, 0.8315, 1.281, 1.873, 2.619, 3.529, 4.614",\
                 "0.1869, 0.2333, 0.3727, 0.5915, 0.9101, 1.359, 1.95, 2.695, 3.605, 4.688",\
                 "0.2001, 0.2578, 0.4281, 0.6942, 1.039, 1.485, 2.073, 2.816, 3.725, 4.809",\
                 "0.1947, 0.2648, 0.4687, 0.779, 1.182, 1.667, 2.252, 2.992, 3.898, 4.98",\
                 "0.1683, 0.2504, 0.4894, 0.8478, 1.304, 1.857, 2.492, 3.231, 4.132, 5.21",\
                 "0.1202, 0.214, 0.4872, 0.8958, 1.41, 2.024, 2.734, 3.532, 4.436, 5.508",\
                 "0.0473, 0.1543, 0.4615, 0.9217, 1.493, 2.171, 2.951, 3.831, 4.803, 5.881",\
                 "-0.051, 0.0676, 0.4098, 0.9198, 1.555, 2.299, 3.146, 4.102, 5.162, 6.316");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1194, 0.1527, 0.2664, 0.4823, 0.8173, 1.287, 1.905, 2.683, 3.635, 4.768",\
                 "0.1355, 0.169, 0.2843, 0.5011, 0.8366, 1.307, 1.925, 2.704, 3.655, 4.789",\
                 "0.1993, 0.2339, 0.3482, 0.5647, 0.9004, 1.371, 1.99, 2.768, 3.72, 4.853",\
                 "0.2902, 0.3369, 0.4756, 0.6934, 1.027, 1.497, 2.112, 2.893, 3.843, 4.976",\
                 "0.403, 0.4606, 0.6312, 0.8938, 1.233, 1.697, 2.313, 3.089, 4.038, 5.168",\
                 "0.5354, 0.6069, 0.8108, 1.12, 1.517, 1.991, 2.6, 3.373, 4.318, 5.447",\
                 "0.6885, 0.7743, 1.015, 1.372, 1.828, 2.368, 2.987, 3.753, 4.695, 5.82",\
                 "0.863, 0.9633, 1.245, 1.653, 2.164, 2.773, 3.467, 4.245, 5.178, 6.297",\
                 "1.062, 1.175, 1.497, 1.962, 2.532, 3.206, 3.978, 4.834, 5.777, 6.89",\
                 "1.285, 1.412, 1.774, 2.297, 2.931, 3.669, 4.514, 5.458, 6.482, 7.607");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1647, 0.2183, 0.4054, 0.7617, 1.314, 2.091, 3.112, 4.398, 5.969, 7.841",\
                 "0.1638, 0.218, 0.4053, 0.7605, 1.315, 2.091, 3.111, 4.398, 5.97, 7.843",\
                 "0.1933, 0.2384, 0.4057, 0.761, 1.314, 2.091, 3.112, 4.398, 5.97, 7.842",\
                 "0.258, 0.3132, 0.4822, 0.7813, 1.314, 2.091, 3.112, 4.4, 5.971, 7.842",\
                 "0.3539, 0.4131, 0.5994, 0.9182, 1.374, 2.094, 3.112, 4.399, 5.97, 7.84",\
                 "0.469, 0.5402, 0.7508, 1.091, 1.574, 2.206, 3.129, 4.399, 5.97, 7.842",\
                 "0.5988, 0.6846, 0.9262, 1.295, 1.81, 2.473, 3.303, 4.447, 5.971, 7.843",\
                 "0.7436, 0.8448, 1.127, 1.538, 2.082, 2.786, 3.641, 4.685, 6.069, 7.854",\
                 "0.9022, 1.019, 1.344, 1.812, 2.389, 3.129, 4.036, 5.098, 6.377, 8.006",\
                 "1.079, 1.206, 1.579, 2.102, 2.739, 3.508, 4.465, 5.584, 6.866, 8.385");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1631, 0.2197, 0.4191, 0.7992, 1.39, 2.22, 3.311, 4.686, 6.364, 8.367",\
                 "0.1629, 0.2196, 0.4186, 0.7976, 1.391, 2.219, 3.311, 4.686, 6.365, 8.365",\
                 "0.1882, 0.2329, 0.4197, 0.7991, 1.39, 2.219, 3.309, 4.686, 6.365, 8.365",\
                 "0.2653, 0.3185, 0.4777, 0.802, 1.39, 2.217, 3.307, 4.685, 6.365, 8.366",\
                 "0.3628, 0.4222, 0.6114, 0.9148, 1.409, 2.219, 3.311, 4.687, 6.365, 8.367",\
                 "0.4814, 0.5538, 0.7608, 1.112, 1.573, 2.263, 3.312, 4.686, 6.366, 8.366",\
                 "0.612, 0.6992, 0.9368, 1.319, 1.842, 2.477, 3.387, 4.69, 6.363, 8.365",\
                 "0.7558, 0.8588, 1.142, 1.554, 2.121, 2.827, 3.654, 4.804, 6.378, 8.363",\
                 "0.913, 1.032, 1.364, 1.825, 2.425, 3.196, 4.081, 5.124, 6.534, 8.394",\
                 "1.082, 1.218, 1.596, 2.122, 2.766, 3.575, 4.542, 5.626, 6.913, 8.596");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1434, 0.1744, 0.2828, 0.4888, 0.8095, 1.26, 1.851, 2.597, 3.507, 4.592",\
                 "0.1517, 0.1832, 0.2921, 0.4988, 0.8195, 1.27, 1.861, 2.607, 3.517, 4.602",\
                 "0.1717, 0.2066, 0.3179, 0.525, 0.8465, 1.296, 1.889, 2.634, 3.544, 4.63",\
                 "0.1878, 0.2301, 0.3602, 0.5778, 0.8983, 1.348, 1.94, 2.685, 3.595, 4.68",\
                 "0.1889, 0.2419, 0.3977, 0.6438, 0.9833, 1.432, 2.022, 2.767, 3.675, 4.76",\
                 "0.168, 0.2325, 0.42, 0.7034, 1.078, 1.552, 2.143, 2.885, 3.792, 4.876",\
                 "0.1231, 0.1985, 0.4184, 0.7472, 1.165, 1.679, 2.302, 3.047, 3.951, 5.031",\
                 "0.0522, 0.1383, 0.3898, 0.767, 1.238, 1.799, 2.464, 3.246, 4.158, 5.235",\
                 "-0.0482, 0.0497, 0.3327, 0.7584, 1.286, 1.904, 2.618, 3.447, 4.398, 5.488",\
                 "-0.1803, -0.0706, 0.246, 0.7179, 1.305, 1.987, 2.76, 3.639, 4.641, 5.773");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1557, 0.1883, 0.3021, 0.5177, 0.8528, 1.322, 1.941, 2.72, 3.67, 4.803",\
                 "0.1712, 0.2043, 0.3189, 0.5352, 0.8709, 1.34, 1.958, 2.736, 3.687, 4.821",\
                 "0.2364, 0.2692, 0.383, 0.5989, 0.9343, 1.404, 2.023, 2.801, 3.752, 4.886",\
                 "0.3445, 0.3864, 0.5148, 0.7285, 1.062, 1.53, 2.147, 2.925, 3.875, 5.009",\
                 "0.4764, 0.5275, 0.6847, 0.9351, 1.269, 1.733, 2.347, 3.123, 4.071, 5.204",\
                 "0.6356, 0.6974, 0.8813, 1.175, 1.56, 2.028, 2.636, 3.408, 4.352, 5.482",\
                 "0.822, 0.8943, 1.109, 1.443, 1.883, 2.412, 3.025, 3.791, 4.73, 5.854",\
                 "1.037, 1.12, 1.369, 1.747, 2.235, 2.831, 3.511, 4.284, 5.216, 6.335",\
                 "1.28, 1.376, 1.659, 2.086, 2.626, 3.278, 4.037, 4.879, 5.819, 6.929",\
                 "1.554, 1.662, 1.981, 2.459, 3.056, 3.764, 4.589, 5.518, 6.531, 7.65");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1646, 0.2185, 0.4054, 0.7608, 1.315, 2.091, 3.113, 4.399, 5.97, 7.839",\
                 "0.1652, 0.2188, 0.4055, 0.7615, 1.314, 2.091, 3.112, 4.399, 5.97, 7.839",\
                 "0.1917, 0.2371, 0.4076, 0.7612, 1.315, 2.091, 3.112, 4.397, 5.967, 7.842",\
                 "0.2524, 0.2996, 0.4649, 0.7793, 1.315, 2.09, 3.112, 4.4, 5.968, 7.843",\
                 "0.3493, 0.3977, 0.5618, 0.8728, 1.36, 2.097, 3.113, 4.4, 5.969, 7.842",\
                 "0.4676, 0.524, 0.6994, 1.01, 1.494, 2.174, 3.131, 4.399, 5.97, 7.843",\
                 "0.6014, 0.6678, 0.8682, 1.192, 1.673, 2.352, 3.247, 4.444, 5.973, 7.843",\
                 "0.7488, 0.8262, 1.057, 1.415, 1.903, 2.58, 3.471, 4.598, 6.05, 7.857",\
                 "0.9108, 0.9978, 1.263, 1.664, 2.183, 2.859, 3.746, 4.874, 6.246, 7.969",\
                 "1.087, 1.188, 1.485, 1.934, 2.502, 3.195, 4.081, 5.201, 6.573, 8.215");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.2138, 0.2709, 0.47, 0.8506, 1.441, 2.27, 3.361, 4.735, 6.413, 8.409",\
                 "0.2138, 0.2708, 0.4698, 0.8505, 1.441, 2.268, 3.359, 4.73, 6.41, 8.411",\
                 "0.2252, 0.2755, 0.4704, 0.8503, 1.441, 2.27, 3.361, 4.735, 6.411, 8.409",\
                 "0.3064, 0.3572, 0.5143, 0.8525, 1.441, 2.27, 3.361, 4.735, 6.413, 8.411",\
                 "0.402, 0.462, 0.65, 0.9504, 1.457, 2.27, 3.36, 4.734, 6.412, 8.41",\
                 "0.5188, 0.588, 0.7972, 1.146, 1.608, 2.309, 3.361, 4.735, 6.411, 8.408",\
                 "0.654, 0.7362, 0.9694, 1.351, 1.873, 2.513, 3.432, 4.74, 6.411, 8.41",\
                 "0.799, 0.8958, 1.169, 1.58, 2.152, 2.854, 3.69, 4.847, 6.424, 8.408",\
                 "0.9578, 1.071, 1.383, 1.841, 2.446, 3.215, 4.105, 5.161, 6.574, 8.437",\
                 "1.127, 1.257, 1.62, 2.13, 2.772, 3.586, 4.562, 5.652, 6.943, 8.632");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1565, 0.1877, 0.296, 0.502, 0.8228, 1.273, 1.864, 2.61, 3.52, 4.605",\
                 "0.165, 0.1965, 0.3055, 0.5121, 0.8331, 1.283, 1.875, 2.62, 3.531, 4.616",\
                 "0.1774, 0.211, 0.3216, 0.529, 0.8505, 1.301, 1.893, 2.638, 3.549, 4.634",\
                 "0.178, 0.2165, 0.3394, 0.5542, 0.8752, 1.325, 1.917, 2.662, 3.572, 4.657",\
                 "0.1598, 0.207, 0.348, 0.5812, 0.9163, 1.365, 1.955, 2.7, 3.608, 4.693",\
                 "0.1134, 0.171, 0.3391, 0.5988, 0.9553, 1.425, 2.016, 2.757, 3.663, 4.746",\
                 "0.038, 0.1053, 0.3017, 0.5985, 0.9855, 1.478, 2.094, 2.84, 3.743, 4.822",\
                 "-0.0702, 0.0074, 0.2324, 0.5698, 0.9978, 1.523, 2.164, 2.938, 3.851, 4.926",\
                 "-0.2145, -0.1263, 0.1284, 0.5074, 0.9837, 1.551, 2.223, 3.025, 3.967, 5.058",\
                 "-0.3976, -0.2989, -0.0135, 0.4081, 0.9343, 1.551, 2.269, 3.102, 4.073, 5.195");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1804, 0.2145, 0.3307, 0.5481, 0.8842, 1.355, 1.973, 2.752, 3.702, 4.835",\
                 "0.1956, 0.2297, 0.3461, 0.5638, 0.9, 1.37, 1.989, 2.768, 3.718, 4.851",\
                 "0.262, 0.2953, 0.4108, 0.6279, 0.9639, 1.434, 2.052, 2.831, 3.781, 4.915",\
                 "0.3827, 0.4222, 0.5449, 0.7587, 1.092, 1.56, 2.177, 2.955, 3.906, 5.036",\
                 "0.5313, 0.5789, 0.7283, 0.9702, 1.301, 1.765, 2.379, 3.154, 4.102, 5.233",\
                 "0.7131, 0.7687, 0.941, 1.222, 1.597, 2.062, 2.669, 3.439, 4.385, 5.512",\
                 "0.9294, 0.9939, 1.191, 1.508, 1.934, 2.451, 3.062, 3.825, 4.763, 5.888",\
                 "1.182, 1.256, 1.48, 1.834, 2.303, 2.884, 3.554, 4.321, 5.25, 6.369",\
                 "1.471, 1.556, 1.809, 2.204, 2.717, 3.349, 4.093, 4.924, 5.859, 6.965",\
                 "1.801, 1.896, 2.18, 2.617, 3.179, 3.859, 4.664, 5.578, 6.579, 7.693");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.1649, 0.2185, 0.4058, 0.761, 1.315, 2.091, 3.112, 4.398, 5.971, 7.839",\
                 "0.1652, 0.2183, 0.4055, 0.7614, 1.314, 2.091, 3.112, 4.399, 5.969, 7.839",\
                 "0.1815, 0.2294, 0.4066, 0.761, 1.315, 2.091, 3.111, 4.399, 5.969, 7.839",\
                 "0.2277, 0.2764, 0.448, 0.7754, 1.315, 2.091, 3.112, 4.399, 5.971, 7.84",\
                 "0.3159, 0.3613, 0.5224, 0.8474, 1.354, 2.097, 3.111, 4.399, 5.969, 7.842",\
                 "0.4308, 0.4796, 0.643, 0.9522, 1.456, 2.167, 3.135, 4.399, 5.97, 7.841",\
                 "0.5666, 0.6206, 0.796, 1.107, 1.592, 2.301, 3.235, 4.448, 5.977, 7.84",\
                 "0.7174, 0.78, 0.9748, 1.303, 1.783, 2.474, 3.408, 4.585, 6.054, 7.865",\
                 "0.8812, 0.9542, 1.172, 1.529, 2.024, 2.7, 3.616, 4.793, 6.228, 7.978",\
                 "1.057, 1.139, 1.387, 1.779, 2.301, 2.989, 3.878, 5.041, 6.478, 8.191");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002912, 0.009625, 0.02244, 0.04242, 0.07044, 0.1073, 0.1538, 0.2105, 0.2781");
          values("0.2568, 0.315, 0.5164, 0.8973, 1.489, 2.318, 3.41, 4.783, 6.461, 8.46",\
                 "0.2568, 0.315, 0.5163, 0.8975, 1.489, 2.319, 3.41, 4.784, 6.46, 8.461",\
                 "0.2602, 0.3156, 0.5163, 0.8971, 1.489, 2.318, 3.41, 4.783, 6.461, 8.459",\
                 "0.338, 0.3874, 0.5479, 0.8991, 1.489, 2.319, 3.409, 4.783, 6.46, 8.459",\
                 "0.4364, 0.4964, 0.6822, 0.9834, 1.501, 2.318, 3.409, 4.783, 6.46, 8.459",\
                 "0.5518, 0.6192, 0.8294, 1.177, 1.641, 2.352, 3.41, 4.783, 6.46, 8.46",\
                 "0.687, 0.7634, 0.996, 1.38, 1.902, 2.546, 3.475, 4.788, 6.46, 8.46",\
                 "0.8358, 0.9248, 1.189, 1.601, 2.176, 2.879, 3.722, 4.889, 6.472, 8.459",\
                 "0.9982, 1.104, 1.4, 1.85, 2.462, 3.237, 4.127, 5.192, 6.615, 8.484",\
                 "1.172, 1.294, 1.634, 2.135, 2.771, 3.597, 4.58, 5.672, 6.974, 8.676");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nand3_2) {
    area : 28.537600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "4.3824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "7.63158e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "7.64214e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "0.0001080948" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "9.06147e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001080948" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008478 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03076, 0.03059, 0.03042, 0.03035, 0.03026, 0.03027, 0.03031, \
                 0.0303, 0.03032, 0.03028");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01826, -0.01823, -0.01822, -0.01825, -0.01827, -0.01828, -0.01836, \
                 -0.01836, -0.01834, -0.01838");
        }
      }

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03069, 0.0306, 0.03046, 0.03035, 0.03029, 0.03028, 0.03027, \
                 0.03026, 0.03029, 0.03032");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01826, -0.01827, -0.01823, -0.01824, -0.01826, -0.01832, -0.01835, \
                 -0.01837, -0.01837, -0.01842");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03035, 0.03032, 0.0303, 0.03033, 0.03023, 0.03027, 0.03026, \
                 0.03028, 0.03027, 0.0303");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01454, 0.01455, 0.01453, 0.01443, 0.01436, 0.01426, 0.01424, \
                 0.01414, 0.0141, 0.01403");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009067 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03771, 0.03801, 0.0387, 0.03948, 0.0401, 0.04058, 0.04084, 0.04105, \
                 0.04114, 0.04125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02648, -0.02642, -0.02626, -0.02619, -0.02615, -0.02619, -0.02616, \
                 -0.02616, -0.02613, -0.02613");
        }
      }

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03122, 0.02795, 0.02645, 0.02626, 0.02623, 0.02624, 0.02623, \
                 0.02625, 0.02625, 0.02623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02634, -0.0263, -0.02624, -0.02619, -0.02613, -0.02617, -0.02617, \
                 -0.02616, -0.02615, -0.02616");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02971, 0.02975, 0.02968, 0.0296, 0.02962, 0.02958, 0.02959, \
                 0.02957, 0.02956, 0.02951");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.0205, -0.02046, -0.02047, -0.02047, -0.02054, -0.02056, \
                 -0.02061, -0.02066, -0.02075");
        }
      }
    }

    pin(A3) {
      capacitance : 0.009473 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0264, 0.02655, 0.02636, 0.02626, 0.02622, 0.02625, 0.02627, \
                 0.02627, 0.02628, 0.02628");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02645, -0.02633, -0.02621, -0.02615, -0.02615, -0.02617, -0.02614, \
                 -0.02615, -0.02611, -0.02614");
        }
      }

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02753, 0.02649, 0.02639, 0.02629, 0.02627, 0.02625, 0.02626, \
                 0.02624, 0.02625, 0.02624");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02634, -0.02628, -0.02629, -0.02619, -0.02616, -0.02619, -0.02618, \
                 -0.02615, -0.02613, -0.02614");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02816, 0.02655, 0.02639, 0.02629, 0.02623, 0.02625, 0.02627, \
                 0.02627, 0.02625, 0.02625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0264, -0.02634, -0.02627, -0.02618, -0.02618, -0.02619, -0.02615, \
                 -0.02616, -0.02612, -0.02611");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2)|(!A3))" ;
      max_capacitance : 0.5561 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.01481, 0.01505, 0.01539, 0.01556, 0.01563, 0.01568, 0.0157, 0.01571, 0.01572, 0.01571",\
                 "0.01343, 0.01387, 0.01466, 0.01514, 0.01537, 0.01549, 0.01558, 0.01563, 0.01567, 0.01566",\
                 "0.01493, 0.01494, 0.01502, 0.01524, 0.0154, 0.0155, 0.01554, 0.0156, 0.01565, 0.01566",\
                 "0.0258, 0.02439, 0.0217, 0.01964, 0.01834, 0.01752, 0.017, 0.01665, 0.01643, 0.01627",\
                 "0.04852, 0.04535, 0.03852, 0.03223, 0.02754, 0.02433, 0.02208, 0.02053, 0.01941, 0.01861",\
                 "0.0841, 0.07937, 0.06779, 0.05588, 0.04618, 0.03886, 0.03346, 0.02951, 0.02658, 0.02439",\
                 "0.1333, 0.1271, 0.1112, 0.09281, 0.07678, 0.06381, 0.05388, 0.04617, 0.04024, 0.03562",\
                 "0.1967, 0.1894, 0.1695, 0.1446, 0.1214, 0.1016, 0.08556, 0.07282, 0.06263, 0.05448",\
                 "0.2753, 0.2669, 0.2437, 0.2126, 0.1814, 0.1538, 0.1308, 0.1116, 0.09589, 0.08305",\
                 "0.3696, 0.3604, 0.3341, 0.2973, 0.2583, 0.2223, 0.191, 0.1645, 0.1421, 0.1233");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.09338, 0.09455, 0.09589, 0.09649, 0.09701, 0.09843, 0.09952, 0.1003, 0.1014, 0.1069",\
                 "0.09174, 0.09295, 0.09524, 0.09701, 0.09813, 0.09902, 0.1003, 0.1013, 0.1031, 0.1089",\
                 "0.09393, 0.09417, 0.09498, 0.09639, 0.0978, 0.09879, 0.09998, 0.1016, 0.1027, 0.1076",\
                 "0.1072, 0.1055, 0.103, 0.1009, 0.1006, 0.1009, 0.1016, 0.1026, 0.1044, 0.1094",\
                 "0.1338, 0.1302, 0.1227, 0.1163, 0.1111, 0.1084, 0.1074, 0.1066, 0.1076, 0.1122",\
                 "0.1743, 0.1691, 0.157, 0.1441, 0.134, 0.1263, 0.1207, 0.1171, 0.1158, 0.1195",\
                 "0.2296, 0.2232, 0.2065, 0.187, 0.1703, 0.1567, 0.1456, 0.1376, 0.1325, 0.138",\
                 "0.3005, 0.2931, 0.2724, 0.2467, 0.2217, 0.2017, 0.1843, 0.1708, 0.1601, 0.1664",\
                 "0.388, 0.3796, 0.3559, 0.3239, 0.2908, 0.2621, 0.239, 0.2182, 0.203, 0.2149",\
                 "0.4931, 0.4839, 0.4574, 0.4199, 0.3799, 0.3417, 0.3091, 0.2826, 0.2631, 0.296");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.0149, 0.01512, 0.01544, 0.01558, 0.01567, 0.01571, 0.01573, 0.01574, 0.01576, 0.01576",\
                 "0.01315, 0.01372, 0.01462, 0.01511, 0.01538, 0.0155, 0.01558, 0.01564, 0.01565, 0.01567",\
                 "0.01251, 0.01289, 0.01378, 0.01451, 0.01498, 0.01523, 0.01538, 0.01548, 0.01553, 0.01557",\
                 "0.0212, 0.02032, 0.01882, 0.01778, 0.01712, 0.01669, 0.01642, 0.01624, 0.01613, 0.01602",\
                 "0.04263, 0.04, 0.03437, 0.0293, 0.02558, 0.02294, 0.02111, 0.01983, 0.01891, 0.01823",\
                 "0.07808, 0.07364, 0.06308, 0.05233, 0.04364, 0.03712, 0.03224, 0.02863, 0.02595, 0.02392",\
                 "0.1278, 0.1219, 0.1066, 0.089, 0.07395, 0.06193, 0.05254, 0.04526, 0.03966, 0.03527",\
                 "0.1923, 0.1852, 0.1657, 0.1414, 0.1187, 0.09978, 0.08444, 0.07216, 0.06233, 0.05443",\
                 "0.2724, 0.2642, 0.2411, 0.2103, 0.1795, 0.1525, 0.1299, 0.1115, 0.09615, 0.08357",\
                 "0.3688, 0.3596, 0.3334, 0.2968, 0.2577, 0.2223, 0.1911, 0.1652, 0.1432, 0.1247");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1263, 0.1266, 0.127, 0.1275, 0.1279, 0.129, 0.1302, 0.1316, 0.1324, 0.1379",\
                 "0.1241, 0.1248, 0.126, 0.1268, 0.1277, 0.1286, 0.1295, 0.1316, 0.1324, 0.1383",\
                 "0.1255, 0.1256, 0.1259, 0.1266, 0.1273, 0.1285, 0.1293, 0.1313, 0.1331, 0.1383",\
                 "0.1385, 0.137, 0.1342, 0.1319, 0.1309, 0.1309, 0.1314, 0.1326, 0.1344, 0.1388",\
                 "0.1654, 0.1621, 0.1549, 0.1479, 0.1425, 0.1395, 0.1373, 0.1372, 0.1373, 0.143",\
                 "0.2067, 0.2025, 0.1908, 0.1774, 0.1663, 0.1581, 0.1521, 0.149, 0.1472, 0.1515",\
                 "0.2633, 0.258, 0.2429, 0.2228, 0.2051, 0.1903, 0.1787, 0.1698, 0.1646, 0.1697",\
                 "0.336, 0.3299, 0.3121, 0.2867, 0.2602, 0.2384, 0.2194, 0.2051, 0.1943, 0.2004",\
                 "0.4257, 0.419, 0.3986, 0.3681, 0.3345, 0.3035, 0.277, 0.2548, 0.2396, 0.2517",\
                 "0.5334, 0.5261, 0.5036, 0.4692, 0.4288, 0.3879, 0.3529, 0.3225, 0.3023, 0.3355");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.01491, 0.01514, 0.01544, 0.0156, 0.01565, 0.01569, 0.01572, 0.01574, 0.01574, 0.01574",\
                 "0.01312, 0.0137, 0.01461, 0.01512, 0.01539, 0.01551, 0.01559, 0.01563, 0.01567, 0.01568",\
                 "0.01128, 0.01191, 0.01314, 0.01415, 0.01476, 0.01509, 0.01529, 0.01541, 0.01549, 0.01553",\
                 "0.01818, 0.01768, 0.01698, 0.01665, 0.01639, 0.01621, 0.01609, 0.01601, 0.01595, 0.01589",\
                 "0.03883, 0.03673, 0.03199, 0.02789, 0.02475, 0.02249, 0.02086, 0.01969, 0.01883, 0.01818",\
                 "0.0751, 0.07114, 0.06152, 0.05159, 0.04361, 0.03747, 0.03279, 0.02928, 0.02657, 0.0245",\
                 "0.1275, 0.1219, 0.1073, 0.09044, 0.07584, 0.06412, 0.05481, 0.04752, 0.04177, 0.03719",\
                 "0.1963, 0.1893, 0.1701, 0.1462, 0.1238, 0.105, 0.08951, 0.07701, 0.0669, 0.05866",\
                 "0.2818, 0.2738, 0.2508, 0.2202, 0.1893, 0.1621, 0.1392, 0.1201, 0.1043, 0.09119",\
                 "0.3851, 0.3761, 0.3497, 0.3129, 0.2736, 0.2372, 0.2057, 0.1789, 0.1562, 0.1369");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1562, 0.1563, 0.1566, 0.1569, 0.1573, 0.1582, 0.1595, 0.1609, 0.1624, 0.167",\
                 "0.154, 0.1541, 0.1548, 0.1551, 0.1557, 0.1564, 0.1577, 0.1589, 0.1605, 0.1653",\
                 "0.1557, 0.1553, 0.1551, 0.1551, 0.1554, 0.1563, 0.1574, 0.1589, 0.1604, 0.1651",\
                 "0.169, 0.1675, 0.1641, 0.1611, 0.1593, 0.1588, 0.1589, 0.1595, 0.1614, 0.1662",\
                 "0.1969, 0.1938, 0.1862, 0.1784, 0.1722, 0.1682, 0.166, 0.1658, 0.165, 0.1703",\
                 "0.2407, 0.2362, 0.2243, 0.2103, 0.1977, 0.1882, 0.1815, 0.178, 0.1758, 0.1803",\
                 "0.3013, 0.2958, 0.2799, 0.2589, 0.2393, 0.2228, 0.21, 0.2005, 0.1945, 0.1978",\
                 "0.3795, 0.3733, 0.3543, 0.3268, 0.2984, 0.2742, 0.2529, 0.2371, 0.2259, 0.2308",\
                 "0.4762, 0.4693, 0.4475, 0.4149, 0.3782, 0.3441, 0.3154, 0.2907, 0.2725, 0.2832",\
                 "0.5926, 0.5849, 0.5611, 0.5243, 0.48, 0.4355, 0.3968, 0.363, 0.3401, 0.3714");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.09863, 0.1299, 0.2387, 0.4454, 0.7664, 1.217, 1.81, 2.557, 3.47, 4.555",\
                 "0.1078, 0.1394, 0.2488, 0.4556, 0.7771, 1.228, 1.822, 2.569, 3.482, 4.569",\
                 "0.1383, 0.176, 0.2883, 0.4948, 0.8164, 1.267, 1.86, 2.608, 3.52, 4.608",\
                 "0.1596, 0.2088, 0.3533, 0.5757, 0.895, 1.344, 1.937, 2.683, 3.596, 4.683",\
                 "0.1662, 0.2279, 0.4048, 0.6755, 1.024, 1.471, 2.06, 2.804, 3.714, 4.801",\
                 "0.1535, 0.2288, 0.441, 0.7572, 1.165, 1.652, 2.24, 2.98, 3.887, 4.971",\
                 "0.1202, 0.2083, 0.457, 0.8225, 1.285, 1.84, 2.478, 3.22, 4.123, 5.202",\
                 "0.0648, 0.166, 0.4515, 0.8678, 1.388, 2.005, 2.72, 3.52, 4.426, 5.5",\
                 "-0.0151, 0.0992, 0.4214, 0.8898, 1.471, 2.151, 2.935, 3.818, 4.792, 5.873",\
                 "-0.121, 0.0084, 0.3652, 0.8863, 1.529, 2.276, 3.128, 4.088, 5.151, 6.308");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1014, 0.135, 0.2497, 0.466, 0.8023, 1.273, 1.891, 2.674, 3.628, 4.764",\
                 "0.1173, 0.1513, 0.2671, 0.4852, 0.8216, 1.293, 1.913, 2.695, 3.647, 4.781",\
                 "0.1786, 0.2159, 0.331, 0.5486, 0.8854, 1.357, 1.977, 2.759, 3.712, 4.849",\
                 "0.2629, 0.3124, 0.4566, 0.6772, 1.011, 1.482, 2.101, 2.883, 3.831, 4.969",\
                 "0.3685, 0.4305, 0.6075, 0.8756, 1.217, 1.683, 2.301, 3.077, 4.027, 5.166",\
                 "0.4929, 0.5694, 0.7833, 1.099, 1.5, 1.976, 2.587, 3.362, 4.311, 5.442",\
                 "0.6386, 0.7306, 0.9836, 1.348, 1.808, 2.352, 2.974, 3.743, 4.683, 5.814",\
                 "0.8051, 0.9127, 1.207, 1.625, 2.142, 2.757, 3.453, 4.233, 5.168, 6.292",\
                 "0.9946, 1.117, 1.455, 1.931, 2.508, 3.185, 3.963, 4.82, 5.769, 6.882",\
                 "1.209, 1.347, 1.726, 2.264, 2.907, 3.648, 4.497, 5.444, 6.472, 7.6");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1353, 0.1891, 0.3769, 0.733, 1.287, 2.066, 3.093, 4.381, 5.948, 7.828",\
                 "0.1344, 0.1891, 0.3765, 0.7332, 1.288, 2.067, 3.091, 4.38, 5.954, 7.824",\
                 "0.1658, 0.2148, 0.3789, 0.7332, 1.287, 2.068, 3.088, 4.383, 5.961, 7.829",\
                 "0.229, 0.2838, 0.4583, 0.756, 1.29, 2.066, 3.093, 4.381, 5.954, 7.827",\
                 "0.3184, 0.3824, 0.5722, 0.8932, 1.351, 2.072, 3.086, 4.378, 5.952, 7.827",\
                 "0.4256, 0.503, 0.7194, 1.064, 1.55, 2.185, 3.106, 4.382, 5.947, 7.827",\
                 "0.5476, 0.6398, 0.893, 1.268, 1.786, 2.452, 3.282, 4.433, 5.952, 7.824",\
                 "0.682, 0.795, 1.088, 1.512, 2.055, 2.762, 3.624, 4.667, 6.049, 7.846",\
                 "0.8334, 0.9576, 1.3, 1.774, 2.364, 3.105, 4.015, 5.08, 6.36, 7.991",\
                 "1.001, 1.14, 1.527, 2.065, 2.712, 3.485, 4.433, 5.56, 6.85, 8.377");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1328, 0.1894, 0.3886, 0.769, 1.362, 2.192, 3.292, 4.666, 6.35, 8.355",\
                 "0.1328, 0.1895, 0.3893, 0.7684, 1.361, 2.191, 3.287, 4.662, 6.344, 8.347",\
                 "0.165, 0.2081, 0.3886, 0.7681, 1.361, 2.192, 3.284, 4.664, 6.345, 8.356",\
                 "0.2352, 0.2905, 0.4545, 0.7749, 1.359, 2.191, 3.283, 4.665, 6.342, 8.357",\
                 "0.3262, 0.3898, 0.5844, 0.8922, 1.385, 2.191, 3.284, 4.662, 6.35, 8.352",\
                 "0.4378, 0.514, 0.7308, 1.084, 1.55, 2.239, 3.287, 4.66, 6.346, 8.349",\
                 "0.559, 0.6532, 0.905, 1.289, 1.818, 2.457, 3.367, 4.664, 6.337, 8.348",\
                 "0.6924, 0.8046, 1.1, 1.525, 2.094, 2.803, 3.634, 4.791, 6.355, 8.343",\
                 "0.84, 0.9698, 1.317, 1.792, 2.395, 3.167, 4.062, 5.108, 6.514, 8.375",\
                 "0.9984, 1.147, 1.546, 2.082, 2.737, 3.546, 4.526, 5.607, 6.896, 8.582");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1256, 0.157, 0.2652, 0.4717, 0.7936, 1.244, 1.837, 2.584, 3.496, 4.583",\
                 "0.1335, 0.1653, 0.2746, 0.4816, 0.8032, 1.254, 1.847, 2.594, 3.508, 4.594",\
                 "0.1505, 0.1867, 0.3002, 0.5077, 0.8294, 1.281, 1.874, 2.62, 3.532, 4.621",\
                 "0.1619, 0.2066, 0.3403, 0.5605, 0.8816, 1.332, 1.925, 2.672, 3.585, 4.671",\
                 "0.1566, 0.2134, 0.3752, 0.6247, 0.9667, 1.417, 2.008, 2.753, 3.664, 4.752",\
                 "0.1301, 0.1986, 0.3932, 0.6824, 1.06, 1.537, 2.129, 2.872, 3.781, 4.865",\
                 "0.0789, 0.1593, 0.3883, 0.7239, 1.146, 1.662, 2.288, 3.034, 3.94, 5.022",\
                 "0.0007, 0.0936, 0.3562, 0.7407, 1.217, 1.781, 2.448, 3.233, 4.147, 5.226",\
                 "-0.1061, -0.0016, 0.2946, 0.7287, 1.263, 1.886, 2.602, 3.433, 4.388, 5.479",\
                 "-0.2461, -0.1285, 0.2036, 0.6867, 1.28, 1.968, 2.744, 3.625, 4.629, 5.764");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1366, 0.1696, 0.2836, 0.5, 0.8358, 1.306, 1.927, 2.708, 3.656, 4.798",\
                 "0.1519, 0.1854, 0.3005, 0.5172, 0.8537, 1.323, 1.943, 2.726, 3.675, 4.815",\
                 "0.2171, 0.2505, 0.3646, 0.581, 0.917, 1.389, 2.007, 2.786, 3.74, 4.881",\
                 "0.3188, 0.3623, 0.4956, 0.7112, 1.045, 1.514, 2.132, 2.914, 3.864, 4.997",\
                 "0.4451, 0.4989, 0.6606, 0.9162, 1.252, 1.717, 2.332, 3.111, 4.059, 5.197",\
                 "0.5979, 0.6631, 0.8535, 1.152, 1.541, 2.012, 2.621, 3.394, 4.342, 5.474",\
                 "0.7769, 0.8547, 1.078, 1.417, 1.863, 2.395, 3.012, 3.777, 4.72, 5.848",\
                 "0.9847, 1.075, 1.332, 1.719, 2.212, 2.812, 3.496, 4.271, 5.205, 6.326",\
                 "1.221, 1.323, 1.619, 2.054, 2.601, 3.258, 4.02, 4.866, 5.809, 6.92",\
                 "1.488, 1.604, 1.935, 2.424, 3.03, 3.742, 4.571, 5.504, 6.52, 7.642");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1357, 0.1894, 0.3764, 0.7324, 1.288, 2.068, 3.089, 4.382, 5.953, 7.836",\
                 "0.136, 0.1894, 0.3768, 0.733, 1.287, 2.064, 3.092, 4.381, 5.955, 7.833",\
                 "0.1653, 0.2125, 0.3802, 0.7327, 1.288, 2.068, 3.089, 4.379, 5.955, 7.822",\
                 "0.2261, 0.2731, 0.4393, 0.7539, 1.287, 2.063, 3.088, 4.386, 5.958, 7.842",\
                 "0.321, 0.371, 0.5358, 0.8478, 1.335, 2.074, 3.091, 4.375, 5.958, 7.826",\
                 "0.4342, 0.4932, 0.673, 0.9832, 1.47, 2.151, 3.113, 4.383, 5.951, 7.829",\
                 "0.561, 0.631, 0.8386, 1.166, 1.649, 2.328, 3.225, 4.429, 5.954, 7.826",\
                 "0.7012, 0.7832, 1.024, 1.387, 1.877, 2.556, 3.447, 4.577, 6.027, 7.85",\
                 "0.8558, 0.9484, 1.224, 1.634, 2.159, 2.835, 3.724, 4.849, 6.229, 7.966",\
                 "1.023, 1.132, 1.44, 1.902, 2.473, 3.17, 4.055, 5.181, 6.552, 8.196");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1816, 0.2387, 0.439, 0.8198, 1.412, 2.242, 3.334, 4.712, 6.382, 8.392",\
                 "0.1816, 0.2391, 0.4388, 0.8193, 1.411, 2.24, 3.332, 4.709, 6.381, 8.391",\
                 "0.1986, 0.2469, 0.4386, 0.8192, 1.412, 2.241, 3.331, 4.707, 6.385, 8.393",\
                 "0.2757, 0.3295, 0.4893, 0.8235, 1.411, 2.241, 3.334, 4.709, 6.388, 8.379",\
                 "0.367, 0.429, 0.6214, 0.9262, 1.429, 2.241, 3.333, 4.71, 6.386, 8.39",\
                 "0.4774, 0.5508, 0.7654, 1.12, 1.585, 2.283, 3.334, 4.709, 6.39, 8.39",\
                 "0.6034, 0.6892, 0.9342, 1.321, 1.849, 2.49, 3.408, 4.715, 6.389, 8.39",\
                 "0.7396, 0.8434, 1.131, 1.547, 2.123, 2.831, 3.668, 4.824, 6.403, 8.39",\
                 "0.8868, 1.009, 1.339, 1.807, 2.414, 3.196, 4.086, 5.141, 6.556, 8.42",\
                 "1.046, 1.187, 1.568, 2.092, 2.739, 3.558, 4.538, 5.628, 6.928, 8.618");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.139, 0.1703, 0.2789, 0.4856, 0.8064, 1.257, 1.851, 2.597, 3.51, 4.595",\
                 "0.147, 0.179, 0.2883, 0.4952, 0.817, 1.268, 1.861, 2.608, 3.521, 4.607",\
                 "0.1577, 0.1922, 0.3043, 0.5122, 0.8341, 1.285, 1.879, 2.627, 3.538, 4.626",\
                 "0.1553, 0.1956, 0.3205, 0.5374, 0.859, 1.309, 1.902, 2.65, 3.563, 4.647",\
                 "0.1316, 0.182, 0.3275, 0.563, 0.8997, 1.35, 1.941, 2.687, 3.598, 4.684",\
                 "0.0796, 0.1408, 0.3156, 0.5797, 0.9385, 1.409, 2.002, 2.744, 3.653, 4.737",\
                 "-0.0014, 0.0708, 0.2752, 0.5773, 0.9675, 1.462, 2.079, 2.828, 3.732, 4.813",\
                 "-0.1164, -0.0326, 0.2019, 0.5464, 0.9787, 1.506, 2.149, 2.925, 3.84, 4.916",\
                 "-0.2666, -0.1719, 0.0944, 0.4826, 0.9625, 1.533, 2.209, 3.012, 3.956, 5.048",\
                 "-0.4561, -0.3503, -0.0524, 0.3802, 0.9122, 1.533, 2.253, 3.088, 4.062, 5.186");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1613, 0.1957, 0.3127, 0.5308, 0.8677, 1.339, 1.959, 2.74, 3.69, 4.831",\
                 "0.1761, 0.2108, 0.3281, 0.5464, 0.8836, 1.355, 1.974, 2.756, 3.706, 4.845",\
                 "0.243, 0.2769, 0.393, 0.6107, 0.9475, 1.419, 2.038, 2.82, 3.769, 4.909",\
                 "0.3595, 0.4009, 0.5273, 0.7419, 1.075, 1.545, 2.163, 2.942, 3.896, 5.032",\
                 "0.5038, 0.5533, 0.7064, 0.9523, 1.285, 1.749, 2.365, 3.142, 4.093, 5.224",\
                 "0.6812, 0.7386, 0.9156, 1.202, 1.58, 2.046, 2.655, 3.428, 4.374, 5.505",\
                 "0.8918, 0.9596, 1.163, 1.484, 1.914, 2.436, 3.048, 3.813, 4.753, 5.879",\
                 "1.138, 1.217, 1.448, 1.808, 2.282, 2.866, 3.539, 4.31, 5.241, 6.36",\
                 "1.422, 1.511, 1.774, 2.176, 2.694, 3.33, 4.076, 4.912, 5.85, 6.957",\
                 "1.746, 1.845, 2.138, 2.585, 3.153, 3.837, 4.647, 5.563, 6.568, 7.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.1357, 0.1893, 0.3773, 0.7328, 1.287, 2.066, 3.093, 4.382, 5.954, 7.828",\
                 "0.1358, 0.1894, 0.3762, 0.7328, 1.287, 2.067, 3.093, 4.379, 5.956, 7.833",\
                 "0.1544, 0.2035, 0.3786, 0.7334, 1.286, 2.067, 3.089, 4.38, 5.956, 7.827",\
                 "0.2021, 0.2494, 0.4214, 0.7497, 1.289, 2.065, 3.092, 4.385, 5.949, 7.834",\
                 "0.2905, 0.336, 0.496, 0.8206, 1.329, 2.071, 3.088, 4.385, 5.961, 7.829",\
                 "0.4042, 0.4534, 0.6176, 0.926, 1.43, 2.143, 3.114, 4.376, 5.95, 7.828",\
                 "0.5366, 0.5916, 0.7696, 1.082, 1.566, 2.278, 3.214, 4.433, 5.959, 7.835",\
                 "0.6816, 0.7462, 0.9448, 1.276, 1.759, 2.449, 3.383, 4.563, 6.043, 7.853",\
                 "0.8394, 0.913, 1.138, 1.499, 2, 2.676, 3.593, 4.772, 6.21, 7.968",\
                 "1.007, 1.094, 1.351, 1.746, 2.274, 2.968, 3.855, 5.019, 6.458, 8.173");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004831, 0.01828, 0.04396, 0.08398, 0.1401, 0.214, 0.3071, 0.4207, 0.5561");
          values("0.2247, 0.2834, 0.4847, 0.8676, 1.46, 2.291, 3.384, 4.758, 6.435, 8.439",\
                 "0.2247, 0.2826, 0.4848, 0.8674, 1.46, 2.29, 3.385, 4.76, 6.437, 8.441",\
                 "0.2308, 0.285, 0.4845, 0.8671, 1.46, 2.291, 3.385, 4.757, 6.434, 8.439",\
                 "0.3082, 0.3605, 0.5221, 0.869, 1.46, 2.29, 3.384, 4.761, 6.437, 8.441",\
                 "0.4014, 0.4638, 0.6548, 0.9592, 1.473, 2.291, 3.384, 4.761, 6.439, 8.435",\
                 "0.5122, 0.5834, 0.7982, 1.151, 1.618, 2.327, 3.384, 4.76, 6.44, 8.442",\
                 "0.6378, 0.7226, 0.962, 1.351, 1.878, 2.523, 3.451, 4.765, 6.438, 8.44",\
                 "0.78, 0.8778, 1.15, 1.569, 2.149, 2.856, 3.702, 4.867, 6.452, 8.441",\
                 "0.9342, 1.045, 1.357, 1.817, 2.431, 3.214, 4.106, 5.173, 6.597, 8.468",\
                 "1.099, 1.229, 1.584, 2.093, 2.74, 3.566, 4.555, 5.649, 6.961, 8.658");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nand3_4) {
    area : 57.075200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "6.57657e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "6.58647e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "0.0001305909" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "0.0001308054" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "0.0001941621" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "0.0001594461" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001941621" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01668 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0613, 0.06101, 0.06059, 0.0605, 0.0605, 0.06057, 0.06063, 0.06059, \
                 0.06047, 0.06054");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0002713, 0.0003266, 0.00025, 0.000145, 5.787e-05, -0.0001201, \
                 -0.0001539, -0.0002542, -0.0003492, -0.0005458");
        }
      }

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06119, 0.0611, 0.06073, 0.06058, 0.06047, 0.0606, 0.06051, 0.06055, \
                 0.06057, 0.06056");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0002919, 0.0003126, 0.0002364, 0.0001551, 6.6e-08, -0.0001517, \
                 -0.0001992, -0.0002687, -0.0003651, -0.0005906");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06077, 0.06075, 0.06063, 0.06051, 0.06045, 0.06057, 0.06052, \
                 0.06057, 0.06055, 0.06056");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06765, 0.06768, 0.06757, 0.06746, 0.06722, 0.06697, 0.06692, \
                 0.06667, 0.06648, 0.0662");
        }
      }
    }

    pin(A2) {
      capacitance : 0.0178 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07261, 0.07322, 0.074, 0.07486, 0.07564, 0.07628, 0.07671, 0.07688, \
                 0.07696, 0.07693");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0527, -0.05261, -0.0524, -0.05227, -0.05218, -0.0523, -0.05227, \
                 -0.05229, -0.05225, -0.0523");
        }
      }

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06195, 0.05503, 0.05255, 0.05246, 0.05237, 0.05244, 0.05246, \
                 0.0525, 0.05246, 0.05248");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05248, -0.05247, -0.05235, -0.05229, -0.05221, -0.0523, -0.05234, \
                 -0.05232, -0.05225, -0.05228");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05598, 0.0559, 0.05581, 0.05575, 0.05567, 0.05567, 0.05561, \
                 0.0556, 0.05552, 0.05536");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04296, -0.04296, -0.04287, -0.04291, -0.04284, -0.04308, -0.04315, \
                 -0.04333, -0.04348, -0.04383");
        }
      }
    }

    pin(A3) {
      capacitance : 0.01712 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05286, 0.05288, 0.05257, 0.05248, 0.05241, 0.05247, 0.05249, \
                 0.05251, 0.05249, 0.05248");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05265, -0.0525, -0.0523, -0.05218, -0.05217, -0.05228, -0.05225, \
                 -0.05224, -0.05223, -0.05223");
        }
      }

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05343, 0.05277, 0.05258, 0.05247, 0.05238, 0.05251, 0.05251, \
                 0.05249, 0.05247, 0.05246");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05249, -0.05242, -0.05232, -0.05232, -0.05222, -0.05232, -0.05232, \
                 -0.0523, -0.05227, -0.05227");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05388, 0.0529, 0.05261, 0.0525, 0.0524, 0.05249, 0.0525, 0.05253, \
                 0.05249, 0.05251");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05264, -0.05249, -0.05244, -0.0523, -0.05222, -0.05233, -0.05231, \
                 -0.05229, -0.05228, -0.05226");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2)|(!A3))" ;
      max_capacitance : 1.114 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.04062, 0.04101, 0.04161, 0.04191, 0.0421, 0.04215, 0.0422, 0.04224, 0.04226, 0.04226",\
                 "0.0379, 0.03877, 0.04024, 0.04111, 0.04157, 0.04183, 0.04197, 0.04205, 0.04211, 0.04212",\
                 "0.04077, 0.04085, 0.04111, 0.04146, 0.04176, 0.04191, 0.04205, 0.04209, 0.04211, 0.04212",\
                 "0.06241, 0.05964, 0.05443, 0.0504, 0.0477, 0.04596, 0.04488, 0.0442, 0.04373, 0.04337",\
                 "0.1074, 0.1013, 0.08778, 0.07528, 0.06608, 0.05963, 0.0551, 0.05197, 0.04976, 0.04813",\
                 "0.1782, 0.1688, 0.1462, 0.1225, 0.1032, 0.08869, 0.07794, 0.06998, 0.06412, 0.05969",\
                 "0.2761, 0.2641, 0.2325, 0.1961, 0.1642, 0.1385, 0.1185, 0.1031, 0.09133, 0.08209",\
                 "0.4025, 0.3881, 0.3489, 0.2993, 0.253, 0.2138, 0.1818, 0.1563, 0.1359, 0.1197",\
                 "0.5592, 0.5428, 0.4966, 0.4349, 0.3729, 0.3182, 0.272, 0.2337, 0.2024, 0.1768",\
                 "0.7475, 0.7294, 0.6772, 0.6041, 0.5264, 0.4546, 0.3925, 0.3394, 0.2948, 0.2571");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1956, 0.1976, 0.2004, 0.202, 0.2028, 0.2048, 0.206, 0.2105, 0.2099, 0.2229",\
                 "0.1931, 0.1954, 0.1998, 0.2026, 0.2054, 0.2075, 0.2096, 0.2118, 0.2171, 0.2229",\
                 "0.1981, 0.1984, 0.1999, 0.2029, 0.2054, 0.2078, 0.2106, 0.2135, 0.2188, 0.2243",\
                 "0.2239, 0.2206, 0.216, 0.2119, 0.2114, 0.2118, 0.2135, 0.2151, 0.2175, 0.2315",\
                 "0.2762, 0.2696, 0.2547, 0.2423, 0.232, 0.2273, 0.2234, 0.2237, 0.2256, 0.2365",\
                 "0.3566, 0.3466, 0.3224, 0.2972, 0.2774, 0.2622, 0.2518, 0.2442, 0.242, 0.2525",\
                 "0.4665, 0.4543, 0.4212, 0.3825, 0.35, 0.3229, 0.302, 0.2854, 0.2758, 0.2849",\
                 "0.608, 0.5934, 0.553, 0.5016, 0.4521, 0.413, 0.3785, 0.3502, 0.3297, 0.342",\
                 "0.7826, 0.7662, 0.7197, 0.6554, 0.5904, 0.5331, 0.4874, 0.445, 0.4147, 0.4411",\
                 "0.9921, 0.9742, 0.9215, 0.8475, 0.7677, 0.6908, 0.6277, 0.5728, 0.5358, 0.6031");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.04065, 0.04112, 0.04159, 0.04192, 0.0421, 0.04219, 0.04222, 0.04226, 0.04226, 0.04225",\
                 "0.03723, 0.03842, 0.04011, 0.04111, 0.04163, 0.04189, 0.04201, 0.0421, 0.04215, 0.04217",\
                 "0.03424, 0.0353, 0.03741, 0.03927, 0.04037, 0.04103, 0.04141, 0.04166, 0.04181, 0.0419",\
                 "0.04752, 0.04637, 0.04475, 0.0438, 0.04328, 0.04296, 0.04278, 0.04266, 0.04257, 0.0425",\
                 "0.08636, 0.08193, 0.07261, 0.06431, 0.05825, 0.054, 0.05103, 0.04893, 0.04742, 0.04631",\
                 "0.1541, 0.1461, 0.1271, 0.1078, 0.09233, 0.08058, 0.07189, 0.06546, 0.06063, 0.05695",\
                 "0.2518, 0.2407, 0.2118, 0.1792, 0.1511, 0.1285, 0.111, 0.09744, 0.08696, 0.0787",\
                 "0.3798, 0.3661, 0.3287, 0.2819, 0.2386, 0.2025, 0.1732, 0.1498, 0.1311, 0.116",\
                 "0.5393, 0.5233, 0.4782, 0.4184, 0.3586, 0.3066, 0.2631, 0.227, 0.1976, 0.1732",\
                 "0.7314, 0.7136, 0.662, 0.59, 0.5141, 0.4439, 0.3842, 0.3333, 0.2904, 0.2544");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.3005, 0.3008, 0.3017, 0.3024, 0.3037, 0.305, 0.3069, 0.3102, 0.3138, 0.3229",\
                 "0.2963, 0.2972, 0.2992, 0.3007, 0.3021, 0.3044, 0.3062, 0.3099, 0.3133, 0.3236",\
                 "0.2978, 0.2976, 0.2985, 0.2998, 0.3013, 0.304, 0.3062, 0.3096, 0.3127, 0.3227",\
                 "0.3211, 0.3189, 0.3137, 0.3097, 0.3079, 0.3077, 0.3095, 0.3112, 0.314, 0.3246",\
                 "0.3727, 0.3671, 0.3538, 0.3406, 0.3303, 0.3245, 0.3217, 0.3208, 0.3205, 0.3319",\
                 "0.4536, 0.4454, 0.4236, 0.3988, 0.3774, 0.3608, 0.3501, 0.3442, 0.3409, 0.3512",\
                 "0.565, 0.555, 0.5263, 0.4881, 0.4537, 0.4251, 0.4029, 0.3861, 0.3756, 0.3856",\
                 "0.7093, 0.6978, 0.6635, 0.6136, 0.563, 0.5202, 0.4837, 0.4538, 0.4348, 0.4485",\
                 "0.8875, 0.8746, 0.8348, 0.7763, 0.7106, 0.6485, 0.5979, 0.5532, 0.5233, 0.5498",\
                 "1.102, 1.088, 1.044, 0.9774, 0.8978, 0.8174, 0.748, 0.6884, 0.6493, 0.7174");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.04066, 0.0411, 0.04163, 0.04195, 0.0421, 0.0422, 0.04222, 0.04222, 0.04223, 0.04223",\
                 "0.03719, 0.0383, 0.04007, 0.04107, 0.04156, 0.04186, 0.04204, 0.04213, 0.04216, 0.04219",\
                 "0.03269, 0.03403, 0.03667, 0.03887, 0.04018, 0.04093, 0.04136, 0.04164, 0.04181, 0.04189",\
                 "0.04304, 0.04254, 0.04198, 0.04207, 0.04219, 0.04228, 0.04231, 0.04232, 0.0423, 0.04227",\
                 "0.08033, 0.07663, 0.06887, 0.06202, 0.05693, 0.0533, 0.05066, 0.04869, 0.04735, 0.04629",\
                 "0.1492, 0.1419, 0.1246, 0.1069, 0.09254, 0.08148, 0.07309, 0.06671, 0.06184, 0.05811",\
                 "0.2511, 0.2407, 0.2134, 0.182, 0.1548, 0.1329, 0.1156, 0.1019, 0.09111, 0.08254",\
                 "0.3868, 0.3736, 0.3371, 0.2914, 0.2485, 0.2126, 0.1833, 0.1594, 0.1401, 0.1243",\
                 "0.5571, 0.5414, 0.4967, 0.4373, 0.3777, 0.3252, 0.2809, 0.2442, 0.2136, 0.1881",\
                 "0.7627, 0.7449, 0.6933, 0.6214, 0.5448, 0.4739, 0.4123, 0.3601, 0.3158, 0.2783");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.3612, 0.3613, 0.3617, 0.3624, 0.3635, 0.3651, 0.3674, 0.3704, 0.3732, 0.3828",\
                 "0.3569, 0.3571, 0.3579, 0.3588, 0.3602, 0.3621, 0.3641, 0.3675, 0.3703, 0.3803",\
                 "0.3594, 0.3587, 0.3584, 0.3586, 0.3594, 0.3608, 0.3634, 0.3662, 0.3686, 0.3787",\
                 "0.3841, 0.3814, 0.3753, 0.3699, 0.3667, 0.3664, 0.3661, 0.3688, 0.369, 0.3809",\
                 "0.4376, 0.4318, 0.418, 0.4031, 0.3918, 0.3839, 0.3809, 0.3784, 0.3784, 0.3893",\
                 "0.5228, 0.5147, 0.492, 0.4654, 0.4413, 0.4235, 0.4106, 0.4025, 0.3988, 0.4089",\
                 "0.6423, 0.632, 0.6016, 0.5616, 0.5239, 0.4918, 0.4667, 0.448, 0.4359, 0.4457",\
                 "0.7975, 0.7852, 0.7488, 0.6957, 0.6412, 0.5935, 0.5522, 0.521, 0.4977, 0.5099",\
                 "0.9898, 0.9763, 0.934, 0.8709, 0.7996, 0.7314, 0.675, 0.626, 0.5917, 0.6156",\
                 "1.221, 1.206, 1.16, 1.088, 1.002, 0.9132, 0.837, 0.7708, 0.7251, 0.7938");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.09685, 0.1283, 0.2376, 0.445, 0.7676, 1.22, 1.816, 2.567, 3.484, 4.574",\
                 "0.1068, 0.1382, 0.2481, 0.4557, 0.7792, 1.232, 1.828, 2.579, 3.494, 4.587",\
                 "0.14, 0.1768, 0.2881, 0.4954, 0.8182, 1.271, 1.868, 2.618, 3.533, 4.627",\
                 "0.1637, 0.2121, 0.3552, 0.5767, 0.8972, 1.349, 1.944, 2.694, 3.609, 4.702",\
                 "0.1722, 0.2332, 0.4087, 0.6781, 1.026, 1.475, 2.067, 2.815, 3.73, 4.821",\
                 "0.1618, 0.236, 0.4463, 0.7618, 1.169, 1.657, 2.247, 2.99, 3.903, 4.992",\
                 "0.1302, 0.2176, 0.4645, 0.8293, 1.291, 1.847, 2.486, 3.23, 4.137, 5.222",\
                 "0.0763, 0.1762, 0.4583, 0.876, 1.396, 2.014, 2.729, 3.531, 4.441, 5.52",\
                 "-0.0006, 0.112, 0.4308, 0.8999, 1.48, 2.162, 2.947, 3.832, 4.808, 5.893",\
                 "-0.105, 0.0221, 0.3766, 0.8979, 1.54, 2.288, 3.142, 4.104, 5.169, 6.328");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1043, 0.1379, 0.2529, 0.4701, 0.8066, 1.279, 1.901, 2.681, 3.64, 4.774",\
                 "0.1208, 0.1548, 0.271, 0.4886, 0.8267, 1.299, 1.922, 2.706, 3.656, 4.802",\
                 "0.1834, 0.2202, 0.3352, 0.553, 0.8904, 1.364, 1.984, 2.768, 3.725, 4.866",\
                 "0.269, 0.318, 0.4614, 0.6818, 1.017, 1.489, 2.109, 2.89, 3.844, 4.989",\
                 "0.3757, 0.4372, 0.6132, 0.8807, 1.223, 1.691, 2.308, 3.088, 4.04, 5.18",\
                 "0.502, 0.5782, 0.7898, 1.105, 1.506, 1.983, 2.596, 3.373, 4.321, 5.454",\
                 "0.6486, 0.7397, 0.9904, 1.354, 1.815, 2.36, 2.983, 3.753, 4.699, 5.826",\
                 "0.8168, 0.922, 1.216, 1.633, 2.149, 2.764, 3.462, 4.243, 5.182, 6.309",\
                 "1.008, 1.129, 1.465, 1.939, 2.516, 3.195, 3.973, 4.831, 5.782, 6.899",\
                 "1.223, 1.359, 1.737, 2.272, 2.914, 3.657, 4.508, 5.456, 6.486, 7.616");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1431, 0.1982, 0.388, 0.7468, 1.304, 2.086, 3.115, 4.415, 5.994, 7.883",\
                 "0.1409, 0.1972, 0.388, 0.7465, 1.304, 2.087, 3.115, 4.412, 5.999, 7.882",\
                 "0.1701, 0.2192, 0.3876, 0.7459, 1.304, 2.085, 3.114, 4.416, 5.997, 7.89",\
                 "0.2339, 0.2889, 0.4644, 0.7671, 1.304, 2.085, 3.117, 4.415, 5.997, 7.89",\
                 "0.3257, 0.3885, 0.578, 0.9018, 1.362, 2.088, 3.112, 4.413, 5.989, 7.889",\
                 "0.4356, 0.511, 0.7248, 1.073, 1.561, 2.199, 3.13, 4.412, 5.994, 7.873",\
                 "0.5594, 0.6502, 0.9024, 1.276, 1.798, 2.465, 3.301, 4.463, 6.001, 7.879",\
                 "0.6944, 0.8064, 1.099, 1.519, 2.066, 2.776, 3.64, 4.692, 6.093, 7.895",\
                 "0.848, 0.9716, 1.314, 1.787, 2.375, 3.116, 4.034, 5.103, 6.39, 8.04",\
                 "1.015, 1.156, 1.542, 2.08, 2.726, 3.497, 4.453, 5.582, 6.879, 8.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1391, 0.1961, 0.3956, 0.7767, 1.37, 2.203, 3.301, 4.68, 6.373, 8.374",\
                 "0.1393, 0.196, 0.3957, 0.7767, 1.37, 2.205, 3.301, 4.682, 6.368, 8.382",\
                 "0.1699, 0.213, 0.3955, 0.7762, 1.371, 2.203, 3.303, 4.683, 6.371, 8.375",\
                 "0.2405, 0.296, 0.4596, 0.7827, 1.37, 2.204, 3.3, 4.69, 6.378, 8.385",\
                 "0.3336, 0.3968, 0.5904, 0.8986, 1.392, 2.202, 3.3, 4.687, 6.378, 8.376",\
                 "0.4466, 0.5204, 0.7352, 1.093, 1.556, 2.253, 3.3, 4.68, 6.37, 8.385",\
                 "0.5698, 0.6616, 0.912, 1.298, 1.826, 2.465, 3.379, 4.684, 6.37, 8.378",\
                 "0.7044, 0.816, 1.11, 1.533, 2.105, 2.814, 3.645, 4.808, 6.379, 8.374",\
                 "0.8544, 0.9832, 1.327, 1.801, 2.408, 3.181, 4.072, 5.124, 6.538, 8.406",\
                 "1.019, 1.162, 1.556, 2.095, 2.748, 3.559, 4.534, 5.62, 6.916, 8.598");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1432, 0.1745, 0.2838, 0.491, 0.8143, 1.267, 1.863, 2.613, 3.529, 4.619",\
                 "0.1521, 0.184, 0.294, 0.5018, 0.8253, 1.278, 1.874, 2.624, 3.54, 4.632",\
                 "0.1724, 0.2081, 0.3211, 0.53, 0.8531, 1.307, 1.902, 2.654, 3.57, 4.663",\
                 "0.1848, 0.2289, 0.3618, 0.5819, 0.905, 1.358, 1.953, 2.704, 3.621, 4.712",\
                 "0.1805, 0.236, 0.3966, 0.6464, 0.9891, 1.441, 2.035, 2.785, 3.7, 4.792",\
                 "0.1533, 0.2217, 0.4152, 0.7041, 1.082, 1.56, 2.156, 2.902, 3.817, 4.907",\
                 "0.1037, 0.183, 0.4103, 0.7459, 1.168, 1.686, 2.314, 3.063, 3.974, 5.061",\
                 "0.0282, 0.1187, 0.3794, 0.763, 1.24, 1.805, 2.474, 3.262, 4.179, 5.263",\
                 "-0.0765, 0.0263, 0.3191, 0.7524, 1.287, 1.91, 2.629, 3.462, 4.419, 5.515",\
                 "-0.2113, -0.0971, 0.2296, 0.7106, 1.304, 1.993, 2.77, 3.654, 4.661, 5.802");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1575, 0.1913, 0.3071, 0.525, 0.8623, 1.335, 1.956, 2.739, 3.697, 4.834",\
                 "0.1727, 0.207, 0.3235, 0.542, 0.8796, 1.353, 1.975, 2.758, 3.711, 4.855",\
                 "0.2377, 0.2714, 0.3872, 0.6051, 0.943, 1.416, 2.038, 2.822, 3.774, 4.917",\
                 "0.3472, 0.3896, 0.519, 0.735, 1.07, 1.541, 2.163, 2.945, 3.9, 5.039",\
                 "0.481, 0.5323, 0.6905, 0.9418, 1.277, 1.744, 2.362, 3.143, 4.097, 5.234",\
                 "0.6416, 0.7034, 0.8887, 1.183, 1.569, 2.038, 2.651, 3.426, 4.376, 5.514",\
                 "0.8288, 0.9022, 1.118, 1.453, 1.894, 2.424, 3.041, 3.81, 4.755, 5.884",\
                 "1.045, 1.129, 1.378, 1.757, 2.248, 2.845, 3.527, 4.302, 5.24, 6.365",\
                 "1.29, 1.386, 1.669, 2.097, 2.64, 3.293, 4.053, 4.898, 5.843, 6.958",\
                 "1.565, 1.674, 1.993, 2.471, 3.071, 3.781, 4.608, 5.54, 6.556, 7.679");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1458, 0.2003, 0.3883, 0.7459, 1.305, 2.087, 3.116, 4.413, 5.997, 7.88",\
                 "0.1461, 0.2003, 0.3879, 0.7457, 1.303, 2.087, 3.116, 4.407, 5.996, 7.88",\
                 "0.1725, 0.2185, 0.3902, 0.7464, 1.304, 2.085, 3.114, 4.415, 5.989, 7.878",\
                 "0.235, 0.2818, 0.4474, 0.7651, 1.304, 2.087, 3.113, 4.407, 5.992, 7.888",\
                 "0.3348, 0.3832, 0.5448, 0.8592, 1.348, 2.09, 3.117, 4.41, 5.993, 7.888",\
                 "0.4582, 0.513, 0.6868, 0.9956, 1.482, 2.167, 3.136, 4.414, 5.993, 7.878",\
                 "0.5964, 0.6604, 0.8584, 1.18, 1.662, 2.344, 3.246, 4.456, 6.002, 7.873",\
                 "0.7466, 0.8246, 1.05, 1.406, 1.893, 2.57, 3.468, 4.604, 6.076, 7.9",\
                 "0.9142, 0.9994, 1.263, 1.658, 2.176, 2.85, 3.745, 4.875, 6.263, 8.005",\
                 "1.092, 1.191, 1.486, 1.931, 2.494, 3.187, 4.078, 5.205, 6.586, 8.238");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.2122, 0.2707, 0.4721, 0.855, 1.45, 2.282, 3.378, 4.76, 6.443, 8.448",\
                 "0.2121, 0.2705, 0.4724, 0.8553, 1.45, 2.282, 3.378, 4.758, 6.44, 8.452",\
                 "0.2213, 0.274, 0.4717, 0.855, 1.449, 2.283, 3.378, 4.758, 6.438, 8.456",\
                 "0.3017, 0.3537, 0.5131, 0.8573, 1.449, 2.283, 3.379, 4.758, 6.446, 8.452",\
                 "0.3964, 0.458, 0.6488, 0.952, 1.463, 2.282, 3.378, 4.758, 6.443, 8.454",\
                 "0.511, 0.582, 0.7956, 1.147, 1.612, 2.319, 3.379, 4.76, 6.443, 8.452",\
                 "0.6404, 0.7242, 0.966, 1.353, 1.878, 2.521, 3.447, 4.763, 6.444, 8.452",\
                 "0.7838, 0.8822, 1.163, 1.58, 2.155, 2.861, 3.703, 4.869, 6.457, 8.451",\
                 "0.9368, 1.056, 1.378, 1.84, 2.45, 3.224, 4.117, 5.181, 6.603, 8.478",\
                 "1.102, 1.238, 1.607, 2.126, 2.776, 3.596, 4.575, 5.667, 6.972, 8.672");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1568, 0.1884, 0.2973, 0.5053, 0.8281, 1.281, 1.877, 2.626, 3.543, 4.635",\
                 "0.1654, 0.1975, 0.3073, 0.5156, 0.8387, 1.291, 1.888, 2.639, 3.553, 4.647",\
                 "0.1785, 0.2129, 0.325, 0.534, 0.8577, 1.311, 1.907, 2.657, 3.575, 4.666",\
                 "0.1782, 0.2179, 0.3425, 0.5597, 0.8829, 1.336, 1.931, 2.682, 3.599, 4.691",\
                 "0.1563, 0.2055, 0.3498, 0.5854, 0.9234, 1.376, 1.97, 2.719, 3.634, 4.726",\
                 "0.1052, 0.165, 0.3382, 0.6017, 0.9617, 1.434, 2.03, 2.776, 3.689, 4.779",\
                 "0.0239, 0.0952, 0.2985, 0.5999, 0.9904, 1.487, 2.107, 2.858, 3.768, 4.854",\
                 "-0.09, -0.0071, 0.2262, 0.5697, 1.002, 1.53, 2.176, 2.955, 3.873, 4.956",\
                 "-0.2381, -0.1449, 0.1191, 0.5059, 0.9864, 1.558, 2.236, 3.042, 3.99, 5.087",\
                 "-0.4247, -0.3213, -0.0257, 0.4048, 0.9371, 1.558, 2.28, 3.119, 4.097, 5.226");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1809, 0.2163, 0.3352, 0.5556, 0.8944, 1.368, 1.99, 2.774, 3.731, 4.873",\
                 "0.196, 0.2315, 0.3507, 0.5711, 0.9105, 1.384, 2.006, 2.791, 3.747, 4.884",\
                 "0.2623, 0.2969, 0.4152, 0.6352, 0.9739, 1.447, 2.07, 2.854, 3.807, 4.95",\
                 "0.385, 0.4255, 0.5494, 0.7659, 1.102, 1.574, 2.194, 2.978, 3.932, 5.074",\
                 "0.5354, 0.5834, 0.7343, 0.9773, 1.311, 1.778, 2.396, 3.174, 4.13, 5.268",\
                 "0.7187, 0.7751, 0.9485, 1.232, 1.607, 2.074, 2.685, 3.461, 4.412, 5.545",\
                 "0.9364, 1.002, 1.2, 1.518, 1.946, 2.465, 3.078, 3.846, 4.79, 5.921",\
                 "1.19, 1.265, 1.491, 1.846, 2.317, 2.899, 3.571, 4.343, 5.279, 6.4",\
                 "1.481, 1.566, 1.821, 2.217, 2.731, 3.366, 4.111, 4.945, 5.886, 6.999",\
                 "1.812, 1.907, 2.191, 2.631, 3.195, 3.877, 4.684, 5.602, 6.604, 7.726");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.1457, 0.1994, 0.3877, 0.7467, 1.304, 2.087, 3.116, 4.404, 5.997, 7.883",\
                 "0.1459, 0.1995, 0.388, 0.7464, 1.304, 2.087, 3.115, 4.409, 5.997, 7.878",\
                 "0.1628, 0.2111, 0.3897, 0.7474, 1.304, 2.088, 3.117, 4.411, 5.989, 7.882",\
                 "0.2086, 0.2567, 0.4307, 0.7606, 1.305, 2.086, 3.115, 4.412, 5.993, 7.88",\
                 "0.2976, 0.3427, 0.505, 0.8314, 1.343, 2.094, 3.112, 4.413, 5.995, 7.872",\
                 "0.4184, 0.4646, 0.6266, 0.9354, 1.444, 2.16, 3.138, 4.411, 5.99, 7.878",\
                 "0.5588, 0.6106, 0.7824, 1.093, 1.58, 2.294, 3.235, 4.457, 6.006, 7.881",\
                 "0.7152, 0.7732, 0.9638, 1.289, 1.77, 2.465, 3.405, 4.591, 6.083, 7.908",\
                 "0.8818, 0.951, 1.164, 1.517, 2.014, 2.693, 3.614, 4.798, 6.246, 8.007",\
                 "1.062, 1.141, 1.382, 1.771, 2.29, 2.98, 3.875, 5.049, 6.493, 8.217");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.008681, 0.03564, 0.08713, 0.1673, 0.2799, 0.428, 0.6146, 0.8423, 1.114");
          values("0.2555, 0.3149, 0.5196, 0.9037, 1.5, 2.334, 3.432, 4.812, 6.5, 8.51",\
                 "0.255, 0.3147, 0.5189, 0.904, 1.5, 2.334, 3.431, 4.813, 6.499, 8.508",\
                 "0.2566, 0.3144, 0.5187, 0.9034, 1.5, 2.334, 3.431, 4.813, 6.498, 8.508",\
                 "0.3329, 0.383, 0.5479, 0.9048, 1.499, 2.334, 3.431, 4.815, 6.499, 8.511",\
                 "0.4294, 0.4916, 0.681, 0.9866, 1.51, 2.334, 3.431, 4.813, 6.5, 8.506",\
                 "0.5442, 0.6142, 0.8296, 1.179, 1.647, 2.365, 3.431, 4.813, 6.5, 8.508",\
                 "0.6756, 0.7562, 0.9948, 1.383, 1.907, 2.556, 3.493, 4.816, 6.498, 8.509",\
                 "0.8226, 0.9164, 1.187, 1.604, 2.185, 2.888, 3.737, 4.914, 6.51, 8.507",\
                 "0.9808, 1.091, 1.396, 1.854, 2.468, 3.251, 4.139, 5.214, 6.648, 8.533",\
                 "1.153, 1.278, 1.629, 2.132, 2.779, 3.607, 4.593, 5.688, 7.006, 8.716");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nand4_1) {
    area : 19.756800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "3.277824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "3.277824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "3.277824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "3.277857e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "3.280233e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "3.280233e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "3.281487e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "3.285909e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "4.90479e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "4.90479e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "4.90644e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "4.91007e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "6.48846e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "6.49374e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "8.05398e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "6.75213e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.05398e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004003 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01356, 0.01349, 0.01338, 0.01333, 0.01328, 0.01326, 0.01326, \
                 0.01327, 0.01328, 0.01326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006998, -0.006988, -0.006981, -0.006985, -0.007007, -0.007021, \
                 -0.007027, -0.007037, -0.007032, -0.00705");
        }
      }

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01351, 0.01347, 0.0134, 0.01332, 0.01329, 0.01327, 0.01326, \
                 0.01327, 0.01328, 0.01327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007, -0.007005, -0.006999, -0.006987, -0.007004, -0.007033, \
                 -0.007028, -0.007023, -0.00704, -0.007056");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01352, 0.01347, 0.01339, 0.01332, 0.01329, 0.01327, 0.01326, \
                 0.01327, 0.01328, 0.01327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007, -0.007009, -0.007003, -0.006988, -0.007004, -0.007029, \
                 -0.007022, -0.007033, -0.007039, -0.00705");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01347, 0.01346, 0.01341, 0.01335, 0.0133, 0.01328, 0.01329, \
                 0.01327, 0.01327, 0.01327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007006, -0.007002, -0.00701, -0.006994, -0.007002, -0.007035, \
                 -0.007033, -0.007056, -0.007055, -0.007078");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01328, 0.01328, 0.01327, 0.01327, 0.01323, 0.01324, 0.01324, \
                 0.01325, 0.01326, 0.01325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009785, 0.009797, 0.009768, 0.009731, 0.009685, 0.009647, 0.009626, \
                 0.009596, 0.009555, 0.009521");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01329, 0.01328, 0.01328, 0.01327, 0.01324, 0.01324, 0.01326, \
                 0.01324, 0.01325, 0.01325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009807, 0.009824, 0.00979, 0.009755, 0.009712, 0.009658, 0.009635, \
                 0.009593, 0.009553, 0.0095");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01329, 0.01328, 0.01328, 0.01328, 0.01324, 0.01324, 0.01324, \
                 0.01325, 0.01325, 0.01326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02603, 0.02604, 0.02602, 0.02599, 0.02593, 0.02584, 0.02579, \
                 0.02572, 0.02568, 0.02557");
        }
      }
    }

    pin(A2) {
      capacitance : 0.003918 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01739, 0.01751, 0.01777, 0.01805, 0.01829, 0.01847, 0.01857, \
                 0.01866, 0.01872, 0.01874");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01137, -0.01136, -0.01129, -0.01124, -0.0112, -0.01122, -0.01118, \
                 -0.0112, -0.01122, -0.01118");
        }
      }

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0169, 0.01705, 0.01739, 0.01775, 0.01806, 0.01828, 0.0184, 0.01851, \
                 0.01858, 0.01859");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01137, -0.01132, -0.01126, -0.01121, -0.01123, -0.01121, \
                 -0.0112, -0.0112, -0.01119");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01504, 0.01472, 0.01469, 0.01481, 0.01496, 0.01511, 0.01523, \
                 0.01531, 0.01539, 0.01543");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01133, -0.01129, -0.01123, -0.01121, -0.01121, -0.01121, \
                 -0.01119, -0.01119, -0.01119");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01388, 0.01232, 0.01142, 0.0113, 0.01125, 0.01126, 0.01124, \
                 0.01123, 0.01122, 0.01123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01132, -0.01132, -0.01131, -0.01126, -0.01123, -0.01122, -0.01121, \
                 -0.0112, -0.0112, -0.01121");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01294, 0.01293, 0.01292, 0.0129, 0.0129, 0.0129, 0.01288, 0.01288, \
                 0.01286, 0.01285");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008026, -0.008007, -0.007999, -0.007984, -0.007995, -0.008028, \
                 -0.008033, -0.008075, -0.008101, -0.008152");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01293, 0.01293, 0.01293, 0.01291, 0.0129, 0.0129, 0.01287, 0.01288, \
                 0.01287, 0.01285");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008031, -0.008014, -0.008018, -0.007996, -0.008006, -0.008039, \
                 -0.008044, -0.008077, -0.008112, -0.008158");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01297, 0.01297, 0.01296, 0.01295, 0.01294, 0.01294, 0.01291, \
                 0.01291, 0.0129, 0.01287");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008235, 0.008256, 0.008261, 0.008243, 0.008198, 0.008134, 0.008094, \
                 0.008047, 0.007971, 0.007886");
        }
      }
    }

    pin(A3) {
      capacitance : 0.003876 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01358, 0.01363, 0.01359, 0.01352, 0.01346, 0.0134, 0.01331, \
                 0.01326, 0.01318, 0.01308");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01137, -0.01136, -0.01129, -0.01123, -0.01121, -0.01122, -0.0112, \
                 -0.01119, -0.01118, -0.0112");
        }
      }

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01132, 0.01136, 0.0113, 0.01125, 0.01125, 0.01123, 0.01124, \
                 0.01123, 0.01123, 0.01124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01132, -0.01131, -0.01127, -0.01123, -0.0112, -0.01121, -0.0112, \
                 -0.0112, -0.01122, -0.01119");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01508, 0.01549, 0.01562, 0.01572, 0.01578, 0.01586, 0.01589, \
                 0.0159, 0.01587, 0.01582");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01132, -0.01127, -0.01125, -0.01121, -0.01121, -0.01121, \
                 -0.0112, -0.0112, -0.01119");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01285, 0.01156, 0.01132, 0.01129, 0.01126, 0.01125, 0.01125, \
                 0.01124, 0.01123, 0.01123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01133, -0.01133, -0.0113, -0.01126, -0.01123, -0.01122, -0.01122, \
                 -0.01121, -0.0112, -0.01121");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01583, 0.01596, 0.0162, 0.01648, 0.01672, 0.01693, 0.01703, \
                 0.01713, 0.01718, 0.01717");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01136, -0.01132, -0.01126, -0.01121, -0.01123, -0.0112, \
                 -0.0112, -0.01119, -0.01119");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01288, 0.01142, 0.01131, 0.01127, 0.01126, 0.01125, 0.01123, \
                 0.01123, 0.01123, 0.01123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01134, -0.01135, -0.0113, -0.01127, -0.01123, -0.01123, -0.01122, \
                 -0.01121, -0.0112, -0.0112");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01213, 0.01213, 0.01212, 0.01211, 0.01211, 0.0121, 0.01207, \
                 0.01205, 0.01203, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009391, -0.009391, -0.009386, -0.009389, -0.009381, -0.009412, \
                 -0.009429, -0.00946, -0.009507, -0.009573");
        }
      }
    }

    pin(A4) {
      capacitance : 0.003864 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01128, 0.01143, 0.01135, 0.01128, 0.01124, 0.01126, 0.01125, \
                 0.01124, 0.01125, 0.01125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01136, -0.01132, -0.01126, -0.01121, -0.01119, -0.0112, -0.01118, \
                 -0.01119, -0.01117, -0.01116");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01139, 0.01137, 0.01133, 0.01129, 0.01124, 0.01125, 0.01124, \
                 0.01123, 0.01124, 0.01124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01133, -0.0113, -0.01128, -0.01125, -0.01121, -0.01121, -0.0112, \
                 -0.0112, -0.01119, -0.01119");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01127, 0.01141, 0.01135, 0.01132, 0.01125, 0.01126, 0.01125, \
                 0.01124, 0.01125, 0.01126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01135, -0.01133, -0.01128, -0.01123, -0.01122, -0.01121, -0.01119, \
                 -0.0112, -0.01117, -0.01118");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01138, 0.01137, 0.01133, 0.01128, 0.01127, 0.01126, 0.01124, \
                 0.01124, 0.01123, 0.01123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01132, -0.01131, -0.0113, -0.01128, -0.01125, -0.01124, -0.01122, \
                 -0.01121, -0.0112, -0.0112");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01127, 0.01141, 0.01135, 0.01132, 0.01126, 0.01125, 0.01125, \
                 0.01124, 0.01125, 0.01125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01135, -0.01133, -0.01128, -0.01124, -0.01121, -0.01121, -0.01119, \
                 -0.01119, -0.01118, -0.01118");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01139, 0.01136, 0.01134, 0.01131, 0.01126, 0.01126, 0.01125, \
                 0.01124, 0.01123, 0.01124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01135, -0.01133, -0.01132, -0.01128, -0.01125, -0.01123, -0.01121, \
                 -0.01121, -0.01121, -0.0112");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01145, 0.0114, 0.01136, 0.01131, 0.01127, 0.01127, 0.01126, \
                 0.01125, 0.01125, 0.01125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01135, -0.01134, -0.01131, -0.01127, -0.01126, -0.01124, -0.01122, \
                 -0.01121, -0.0112, -0.01119");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2)|(!A3)|(!A4))" ;
      max_capacitance : 0.2229 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.01118, 0.01123, 0.0113, 0.01135, 0.0114, 0.01142, 0.01143, 0.01143, 0.01144, 0.01143",\
                 "0.01071, 0.01082, 0.01102, 0.01118, 0.01128, 0.01133, 0.01137, 0.01138, 0.0114, 0.0114",\
                 "0.01114, 0.01115, 0.0112, 0.01126, 0.01132, 0.01135, 0.01138, 0.01139, 0.01139, 0.01139",\
                 "0.0151, 0.01474, 0.0139, 0.01313, 0.0126, 0.01225, 0.01202, 0.01186, 0.01178, 0.01169",\
                 "0.02396, 0.02301, 0.02078, 0.01844, 0.01657, 0.01522, 0.01427, 0.01359, 0.01311, 0.01274",\
                 "0.03839, 0.03688, 0.03293, 0.02847, 0.02462, 0.02158, 0.0193, 0.0176, 0.01631, 0.01532",\
                 "0.0588, 0.05668, 0.05109, 0.04416, 0.03776, 0.03244, 0.02823, 0.02492, 0.02234, 0.02033",\
                 "0.08538, 0.08285, 0.07565, 0.06616, 0.05688, 0.04877, 0.04212, 0.03662, 0.03223, 0.0287",\
                 "0.1185, 0.1156, 0.1071, 0.09511, 0.08272, 0.07148, 0.06178, 0.05361, 0.04692, 0.04132",\
                 "0.1586, 0.1553, 0.1455, 0.1313, 0.1157, 0.101, 0.08801, 0.07676, 0.06723, 0.05908");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.05224, 0.0526, 0.05306, 0.05331, 0.05367, 0.05411, 0.05443, 0.05483, 0.05527, 0.05618",\
                 "0.05171, 0.05218, 0.05301, 0.05365, 0.05417, 0.05473, 0.05532, 0.05582, 0.05678, 0.0574",\
                 "0.05238, 0.05245, 0.05296, 0.05354, 0.05423, 0.05513, 0.05565, 0.05592, 0.05639, 0.0586",\
                 "0.05684, 0.05652, 0.05593, 0.05543, 0.05542, 0.05576, 0.05589, 0.05645, 0.05752, 0.05824",\
                 "0.06704, 0.06608, 0.06379, 0.06167, 0.05984, 0.05879, 0.05833, 0.05803, 0.05868, 0.05947",\
                 "0.08354, 0.08193, 0.07776, 0.07334, 0.06958, 0.06638, 0.06437, 0.06282, 0.06208, 0.06311",\
                 "0.1065, 0.1044, 0.0986, 0.09135, 0.08486, 0.07968, 0.07506, 0.07143, 0.06933, 0.06999",\
                 "0.1365, 0.1339, 0.1266, 0.1168, 0.1071, 0.09892, 0.09199, 0.08606, 0.0813, 0.0816",\
                 "0.1735, 0.1708, 0.1621, 0.1498, 0.1367, 0.1249, 0.1155, 0.1067, 0.1001, 0.1007",\
                 "0.2183, 0.2151, 0.2055, 0.191, 0.1751, 0.1594, 0.1461, 0.1352, 0.1261, 0.1317");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.0112, 0.01123, 0.01132, 0.01136, 0.01139, 0.01141, 0.01142, 0.01143, 0.01143, 0.01142",\
                 "0.01063, 0.01078, 0.01102, 0.01118, 0.01128, 0.01134, 0.01137, 0.01139, 0.01141, 0.01139",\
                 "0.01018, 0.01031, 0.0106, 0.01088, 0.01107, 0.01119, 0.01127, 0.0113, 0.01134, 0.01135",\
                 "0.01303, 0.01284, 0.01245, 0.01213, 0.01193, 0.01178, 0.01168, 0.01161, 0.01157, 0.01153",\
                 "0.02107, 0.0203, 0.01858, 0.0168, 0.0154, 0.01438, 0.01363, 0.01312, 0.01274, 0.01245",\
                 "0.03508, 0.0337, 0.03021, 0.02631, 0.02296, 0.02036, 0.01837, 0.01688, 0.01575, 0.0149",\
                 "0.05539, 0.05341, 0.04809, 0.04166, 0.03578, 0.03091, 0.02708, 0.02405, 0.02167, 0.01979",\
                 "0.08212, 0.07967, 0.07271, 0.06357, 0.05472, 0.04708, 0.04075, 0.03557, 0.03145, 0.02807",\
                 "0.1156, 0.1127, 0.1043, 0.0926, 0.08048, 0.06961, 0.06029, 0.05252, 0.04605, 0.04069",\
                 "0.1561, 0.1529, 0.1432, 0.1291, 0.1137, 0.0993, 0.08657, 0.07564, 0.06637, 0.05847");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.06891, 0.06896, 0.06914, 0.0693, 0.06952, 0.06992, 0.07038, 0.07094, 0.07141, 0.07308",\
                 "0.06851, 0.06868, 0.06911, 0.0695, 0.06985, 0.07031, 0.07074, 0.0713, 0.0721, 0.07353",\
                 "0.06859, 0.06864, 0.069, 0.06943, 0.06981, 0.07035, 0.07094, 0.07157, 0.07211, 0.07394",\
                 "0.07283, 0.07257, 0.07187, 0.07131, 0.07103, 0.07124, 0.07153, 0.07193, 0.07258, 0.07423",\
                 "0.08304, 0.08216, 0.07996, 0.07766, 0.07582, 0.07464, 0.07417, 0.07394, 0.07432, 0.0753",\
                 "0.09976, 0.09841, 0.09445, 0.0899, 0.08585, 0.08269, 0.08031, 0.07892, 0.07774, 0.07946",\
                 "0.1232, 0.1214, 0.116, 0.1088, 0.102, 0.09628, 0.09173, 0.08821, 0.08603, 0.08647",\
                 "0.1536, 0.1515, 0.145, 0.1354, 0.1254, 0.1167, 0.1092, 0.1032, 0.09848, 0.09884",\
                 "0.1914, 0.189, 0.1815, 0.1701, 0.1568, 0.1447, 0.1339, 0.125, 0.1179, 0.119",\
                 "0.2368, 0.2342, 0.2259, 0.2128, 0.1968, 0.1808, 0.1664, 0.154, 0.1448, 0.1508");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.01118, 0.01124, 0.01131, 0.01136, 0.01139, 0.0114, 0.01141, 0.01143, 0.01143, 0.01142",\
                 "0.01061, 0.01077, 0.01101, 0.01118, 0.01128, 0.01133, 0.01137, 0.01139, 0.0114, 0.0114",\
                 "0.009697, 0.009889, 0.01031, 0.01071, 0.01097, 0.01112, 0.01121, 0.01127, 0.0113, 0.01133",\
                 "0.01158, 0.01153, 0.01144, 0.01142, 0.01143, 0.01144, 0.01143, 0.01144, 0.01144, 0.01144",\
                 "0.01897, 0.01838, 0.01703, 0.01569, 0.01464, 0.01385, 0.01327, 0.01286, 0.01255, 0.01231",\
                 "0.03291, 0.03172, 0.02859, 0.02515, 0.0222, 0.01987, 0.01807, 0.0167, 0.01566, 0.01484",\
                 "0.05384, 0.05201, 0.04703, 0.04092, 0.03541, 0.03083, 0.02714, 0.02422, 0.0219, 0.02005",\
                 "0.08189, 0.07949, 0.07276, 0.06385, 0.05524, 0.04778, 0.04157, 0.03649, 0.03238, 0.02898",\
                 "0.1172, 0.1144, 0.106, 0.09446, 0.08243, 0.07162, 0.06235, 0.05455, 0.04803, 0.04259",\
                 "0.16, 0.1568, 0.1471, 0.133, 0.1176, 0.103, 0.09029, 0.07924, 0.06982, 0.0618");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.08531, 0.08539, 0.08543, 0.08559, 0.08579, 0.08623, 0.08646, 0.08713, 0.08766, 0.08904",\
                 "0.08438, 0.08452, 0.08467, 0.08492, 0.08513, 0.08553, 0.08593, 0.08647, 0.08697, 0.08861",\
                 "0.08422, 0.08427, 0.08435, 0.08455, 0.08483, 0.08524, 0.08573, 0.08634, 0.08694, 0.0883",\
                 "0.08852, 0.08821, 0.08734, 0.08657, 0.08612, 0.08609, 0.08629, 0.08664, 0.08724, 0.08833",\
                 "0.09891, 0.09797, 0.0958, 0.09317, 0.0912, 0.08972, 0.089, 0.08868, 0.08885, 0.09024",\
                 "0.1163, 0.1148, 0.1108, 0.1061, 0.1017, 0.09811, 0.09566, 0.09429, 0.09312, 0.09384",\
                 "0.1408, 0.139, 0.1336, 0.126, 0.1188, 0.1125, 0.1075, 0.1037, 0.1012, 0.1017",\
                 "0.173, 0.1708, 0.1641, 0.1541, 0.1435, 0.1342, 0.126, 0.1193, 0.1147, 0.1144",\
                 "0.2132, 0.2107, 0.2029, 0.1909, 0.1769, 0.1636, 0.1522, 0.1422, 0.1346, 0.1355",\
                 "0.2615, 0.2588, 0.2502, 0.2363, 0.2193, 0.2022, 0.1866, 0.1734, 0.1629, 0.1689");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.01117, 0.01123, 0.01131, 0.01136, 0.01139, 0.01141, 0.01142, 0.01142, 0.01142, 0.01141",\
                 "0.0106, 0.01075, 0.01099, 0.01117, 0.01127, 0.01133, 0.01136, 0.01138, 0.0114, 0.01139",\
                 "0.009526, 0.009739, 0.01023, 0.01065, 0.01093, 0.01111, 0.01121, 0.01128, 0.01132, 0.01133",\
                 "0.01079, 0.01079, 0.01089, 0.01105, 0.01118, 0.01127, 0.01131, 0.01135, 0.01137, 0.01137",\
                 "0.0176, 0.01713, 0.01605, 0.01503, 0.01421, 0.01357, 0.01308, 0.01273, 0.01246, 0.01224",\
                 "0.03143, 0.03034, 0.02759, 0.02451, 0.02187, 0.01976, 0.01809, 0.01677, 0.01576, 0.01495",\
                 "0.05287, 0.05117, 0.04655, 0.04086, 0.03565, 0.0313, 0.02774, 0.02488, 0.02255, 0.02067",\
                 "0.08218, 0.0799, 0.07345, 0.06495, 0.05659, 0.04931, 0.04323, 0.03817, 0.03399, 0.03051",\
                 "0.1195, 0.1167, 0.1086, 0.09733, 0.08552, 0.07478, 0.06555, 0.05773, 0.05111, 0.0455",\
                 "0.1649, 0.1618, 0.1522, 0.1383, 0.1231, 0.1085, 0.09553, 0.08442, 0.07484, 0.06661");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.1001, 0.1002, 0.1002, 0.1004, 0.1007, 0.101, 0.1014, 0.1019, 0.1026, 0.1041",\
                 "0.09901, 0.09904, 0.09919, 0.09932, 0.09956, 0.09987, 0.1004, 0.1007, 0.1014, 0.103",\
                 "0.09902, 0.09899, 0.09898, 0.09902, 0.09929, 0.09958, 0.09989, 0.1003, 0.1011, 0.1026",\
                 "0.1036, 0.1032, 0.1021, 0.1013, 0.1008, 0.1005, 0.1006, 0.1011, 0.1014, 0.1033",\
                 "0.1144, 0.1134, 0.1111, 0.1083, 0.1061, 0.1046, 0.1037, 0.1032, 0.1031, 0.1044",\
                 "0.1325, 0.131, 0.1269, 0.1219, 0.117, 0.1133, 0.1103, 0.1087, 0.1076, 0.1086",\
                 "0.1586, 0.1566, 0.151, 0.143, 0.1352, 0.1283, 0.1228, 0.1188, 0.1159, 0.116",\
                 "0.1929, 0.1907, 0.1834, 0.1728, 0.1615, 0.1514, 0.1423, 0.1351, 0.1299, 0.1299",\
                 "0.2359, 0.2332, 0.225, 0.2121, 0.1972, 0.1827, 0.1701, 0.1591, 0.1509, 0.1514",\
                 "0.2878, 0.2849, 0.2756, 0.2609, 0.2427, 0.224, 0.2068, 0.192, 0.1808, 0.1864");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.1393, 0.1708, 0.281, 0.4909, 0.8176, 1.275, 1.878, 2.637, 3.564, 4.667",\
                 "0.1483, 0.1801, 0.2909, 0.5012, 0.8277, 1.286, 1.889, 2.646, 3.574, 4.679",\
                 "0.1854, 0.2184, 0.3275, 0.5374, 0.8638, 1.322, 1.924, 2.683, 3.609, 4.714",\
                 "0.222, 0.2644, 0.3964, 0.6125, 0.9365, 1.393, 1.994, 2.753, 3.679, 4.783",\
                 "0.2452, 0.2971, 0.4561, 0.7137, 1.057, 1.51, 2.108, 2.864, 3.789, 4.891",\
                 "0.2501, 0.3127, 0.5015, 0.7992, 1.196, 1.68, 2.275, 3.027, 3.949, 5.046",\
                 "0.2351, 0.3067, 0.5282, 0.8701, 1.315, 1.862, 2.5, 3.25, 4.166, 5.261",\
                 "0.1971, 0.2806, 0.5322, 0.9207, 1.419, 2.023, 2.729, 3.532, 4.449, 5.539",\
                 "0.1351, 0.2292, 0.5139, 0.9492, 1.504, 2.165, 2.937, 3.815, 4.792, 5.888",\
                 "0.049, 0.1541, 0.4692, 0.9522, 1.564, 2.29, 3.123, 4.072, 5.132, 6.295");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.145, 0.1759, 0.283, 0.4854, 0.7998, 1.241, 1.821, 2.551, 3.444, 4.505",\
                 "0.1614, 0.1928, 0.3011, 0.505, 0.8202, 1.26, 1.841, 2.571, 3.462, 4.528",\
                 "0.2271, 0.2581, 0.3652, 0.5685, 0.884, 1.325, 1.905, 2.638, 3.53, 4.59",\
                 "0.3264, 0.3677, 0.4936, 0.6973, 1.011, 1.451, 2.031, 2.762, 3.652, 4.717",\
                 "0.4463, 0.4975, 0.6525, 0.8974, 1.216, 1.652, 2.229, 2.957, 3.849, 4.911",\
                 "0.5884, 0.6502, 0.8355, 1.124, 1.498, 1.945, 2.517, 3.242, 4.126, 5.184",\
                 "0.7513, 0.8249, 1.044, 1.376, 1.806, 2.319, 2.904, 3.622, 4.506, 5.558",\
                 "0.9363, 1.023, 1.277, 1.658, 2.139, 2.718, 3.378, 4.113, 4.988, 6.037",\
                 "1.142, 1.242, 1.533, 1.966, 2.505, 3.143, 3.878, 4.694, 5.589, 6.631",\
                 "1.375, 1.486, 1.815, 2.302, 2.903, 3.601, 4.405, 5.304, 6.285, 7.349");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.231, 0.2869, 0.4787, 0.8446, 1.41, 2.205, 3.252, 4.571, 6.185, 8.097",\
                 "0.23, 0.286, 0.4792, 0.8441, 1.41, 2.207, 3.253, 4.569, 6.179, 8.102",\
                 "0.245, 0.2932, 0.4766, 0.8438, 1.411, 2.207, 3.251, 4.571, 6.178, 8.1",\
                 "0.307, 0.3602, 0.5378, 0.8559, 1.411, 2.206, 3.252, 4.57, 6.177, 8.103",\
                 "0.4061, 0.4616, 0.647, 0.976, 1.458, 2.208, 3.249, 4.569, 6.182, 8.095",\
                 "0.5302, 0.5942, 0.792, 1.136, 1.637, 2.306, 3.264, 4.572, 6.177, 8.093",\
                 "0.6714, 0.7484, 0.9748, 1.335, 1.861, 2.55, 3.425, 4.611, 6.172, 8.096",\
                 "0.8278, 0.9176, 1.178, 1.578, 2.119, 2.839, 3.732, 4.832, 6.264, 8.104",\
                 "0.9988, 1.102, 1.403, 1.85, 2.423, 3.168, 4.099, 5.213, 6.551, 8.251",\
                 "1.184, 1.304, 1.643, 2.144, 2.77, 3.538, 4.5, 5.661, 7.001, 8.598");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.202, 0.2549, 0.441, 0.7966, 1.352, 2.13, 3.155, 4.444, 6.021, 7.898",\
                 "0.2023, 0.255, 0.4414, 0.7978, 1.351, 2.129, 3.154, 4.445, 6.013, 7.898",\
                 "0.2162, 0.2614, 0.4413, 0.7966, 1.352, 2.129, 3.156, 4.444, 6.014, 7.889",\
                 "0.2994, 0.3471, 0.4927, 0.8033, 1.351, 2.131, 3.153, 4.443, 6.018, 7.896",\
                 "0.4006, 0.4556, 0.6294, 0.9116, 1.374, 2.127, 3.151, 4.443, 6.016, 7.893",\
                 "0.5282, 0.59, 0.7808, 1.107, 1.542, 2.18, 3.154, 4.438, 6.021, 7.901",\
                 "0.6726, 0.7478, 0.9632, 1.317, 1.808, 2.408, 3.25, 4.448, 6.014, 7.887",\
                 "0.8304, 0.9194, 1.172, 1.556, 2.088, 2.753, 3.531, 4.595, 6.034, 7.889",\
                 "1.002, 1.104, 1.399, 1.831, 2.391, 3.116, 3.957, 4.933, 6.237, 7.934",\
                 "1.183, 1.301, 1.645, 2.128, 2.746, 3.491, 4.407, 5.442, 6.636, 8.198");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.1806, 0.2122, 0.3223, 0.5321, 0.8585, 1.316, 1.919, 2.677, 3.604, 4.707",\
                 "0.1882, 0.2202, 0.331, 0.541, 0.8675, 1.326, 1.928, 2.687, 3.614, 4.717",\
                 "0.2095, 0.2433, 0.3554, 0.5661, 0.8934, 1.352, 1.955, 2.713, 3.639, 4.743",\
                 "0.2323, 0.272, 0.3989, 0.6174, 0.9438, 1.401, 2.003, 2.762, 3.689, 4.793",\
                 "0.2448, 0.2933, 0.4418, 0.6856, 1.028, 1.484, 2.084, 2.841, 3.767, 4.87",\
                 "0.2377, 0.2956, 0.472, 0.75, 1.124, 1.603, 2.203, 2.958, 3.88, 4.982",\
                 "0.2071, 0.2752, 0.4809, 0.8009, 1.216, 1.732, 2.361, 3.117, 4.037, 5.135",\
                 "0.1508, 0.2285, 0.4646, 0.8289, 1.295, 1.856, 2.526, 3.316, 4.24, 5.335",\
                 "0.0675, 0.1555, 0.4207, 0.8301, 1.35, 1.968, 2.685, 3.519, 4.482, 5.586",\
                 "-0.0453, 0.0529, 0.3472, 0.803, 1.379, 2.057, 2.832, 3.717, 4.726, 5.872");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.1874, 0.218, 0.3246, 0.5265, 0.8407, 1.281, 1.862, 2.592, 3.482, 4.548",\
                 "0.2043, 0.2353, 0.3426, 0.5455, 0.8598, 1.301, 1.881, 2.61, 3.505, 4.565",\
                 "0.2688, 0.2994, 0.4066, 0.6093, 0.9242, 1.366, 1.946, 2.677, 3.564, 4.632",\
                 "0.384, 0.4213, 0.5375, 0.7384, 1.051, 1.491, 2.07, 2.8, 3.689, 4.751",\
                 "0.5231, 0.5683, 0.7115, 0.9445, 1.258, 1.693, 2.269, 2.997, 3.888, 4.945",\
                 "0.6895, 0.7438, 0.9112, 1.185, 1.547, 1.988, 2.559, 3.281, 4.166, 5.228",\
                 "0.883, 0.946, 1.142, 1.453, 1.867, 2.368, 2.949, 3.665, 4.545, 5.599",\
                 "1.103, 1.177, 1.403, 1.755, 2.217, 2.78, 3.429, 4.159, 5.032, 6.079",\
                 "1.353, 1.438, 1.694, 2.093, 2.603, 3.221, 3.942, 4.747, 5.637, 6.676",\
                 "1.632, 1.726, 2.016, 2.463, 3.028, 3.701, 4.485, 5.37, 6.34, 7.398");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.233, 0.2871, 0.4794, 0.8438, 1.41, 2.207, 3.253, 4.572, 6.18, 8.083",\
                 "0.2328, 0.2879, 0.4797, 0.8426, 1.411, 2.206, 3.251, 4.566, 6.18, 8.096",\
                 "0.2525, 0.301, 0.4808, 0.8432, 1.41, 2.207, 3.253, 4.57, 6.173, 8.089",\
                 "0.3111, 0.361, 0.5322, 0.8607, 1.411, 2.206, 3.253, 4.572, 6.184, 8.097",\
                 "0.4106, 0.458, 0.6248, 0.947, 1.452, 2.208, 3.252, 4.57, 6.182, 8.095",\
                 "0.539, 0.5922, 0.7626, 1.08, 1.578, 2.281, 3.266, 4.566, 6.17, 8.097",\
                 "0.6864, 0.7472, 0.939, 1.261, 1.755, 2.45, 3.374, 4.608, 6.174, 8.093",\
                 "0.8498, 0.9212, 1.138, 1.49, 1.985, 2.675, 3.589, 4.751, 6.251, 8.106",\
                 "1.023, 1.106, 1.353, 1.745, 2.264, 2.953, 3.861, 5.015, 6.431, 8.207",\
                 "1.216, 1.309, 1.586, 2.023, 2.586, 3.289, 4.193, 5.34, 6.744, 8.435");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.2605, 0.314, 0.5012, 0.8574, 1.413, 2.189, 3.211, 4.5, 6.067, 7.946",\
                 "0.2605, 0.3143, 0.501, 0.8575, 1.412, 2.188, 3.211, 4.495, 6.073, 7.948",\
                 "0.2648, 0.3155, 0.5011, 0.8575, 1.412, 2.188, 3.211, 4.499, 6.067, 7.948",\
                 "0.3461, 0.3897, 0.5363, 0.8597, 1.411, 2.188, 3.211, 4.499, 6.066, 7.946",\
                 "0.4494, 0.5028, 0.6732, 0.9534, 1.429, 2.188, 3.212, 4.499, 6.072, 7.938",\
                 "0.5758, 0.6356, 0.8272, 1.15, 1.583, 2.234, 3.214, 4.5, 6.073, 7.945",\
                 "0.7208, 0.7908, 1.004, 1.359, 1.848, 2.448, 3.298, 4.508, 6.072, 7.946",\
                 "0.882, 0.9652, 1.209, 1.591, 2.124, 2.789, 3.571, 4.638, 6.094, 7.945",\
                 "1.057, 1.154, 1.436, 1.857, 2.422, 3.147, 3.991, 4.974, 6.275, 7.991",\
                 "1.241, 1.355, 1.677, 2.156, 2.753, 3.516, 4.441, 5.471, 6.676, 8.232");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.2072, 0.2388, 0.3489, 0.5588, 0.885, 1.343, 1.945, 2.705, 3.63, 4.735",\
                 "0.2152, 0.2472, 0.3581, 0.5681, 0.8949, 1.353, 1.956, 2.715, 3.639, 4.745",\
                 "0.2295, 0.2628, 0.375, 0.5861, 0.9129, 1.371, 1.974, 2.734, 3.659, 4.766",\
                 "0.2357, 0.273, 0.3958, 0.613, 0.9397, 1.397, 2, 2.759, 3.684, 4.79",\
                 "0.2307, 0.275, 0.4123, 0.6461, 0.9853, 1.442, 2.042, 2.799, 3.725, 4.829",\
                 "0.2013, 0.2551, 0.4172, 0.6749, 1.034, 1.508, 2.109, 2.863, 3.786, 4.888",\
                 "0.145, 0.2077, 0.3968, 0.6901, 1.078, 1.575, 2.198, 2.955, 3.873, 4.971",\
                 "0.0592, 0.1304, 0.3466, 0.6802, 1.109, 1.637, 2.284, 3.066, 3.991, 5.085",\
                 "-0.0595, 0.0206, 0.2634, 0.6398, 1.116, 1.687, 2.365, 3.175, 4.127, 5.231",\
                 "-0.215, -0.1251, 0.1464, 0.5624, 1.092, 1.714, 2.436, 3.276, 4.258, 5.393");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.2235, 0.2551, 0.3639, 0.5682, 0.8837, 1.325, 1.905, 2.634, 3.528, 4.589",\
                 "0.2386, 0.2704, 0.3795, 0.584, 0.8997, 1.341, 1.922, 2.65, 3.543, 4.606",\
                 "0.3022, 0.3338, 0.4427, 0.647, 0.9627, 1.404, 1.985, 2.715, 3.604, 4.669",\
                 "0.4285, 0.4638, 0.5751, 0.7764, 1.09, 1.53, 2.109, 2.839, 3.731, 4.79",\
                 "0.5839, 0.6263, 0.7628, 0.9865, 1.298, 1.733, 2.308, 3.036, 3.926, 4.984",\
                 "0.7722, 0.821, 0.9785, 1.24, 1.593, 2.029, 2.6, 3.321, 4.208, 5.265",\
                 "0.9923, 1.05, 1.23, 1.525, 1.927, 2.416, 2.992, 3.708, 4.588, 5.64",\
                 "1.248, 1.313, 1.518, 1.848, 2.292, 2.842, 3.48, 4.204, 5.077, 6.122",\
                 "1.537, 1.612, 1.844, 2.214, 2.7, 3.3, 4.006, 4.8, 5.685, 6.722",\
                 "1.864, 1.948, 2.207, 2.619, 3.154, 3.802, 4.567, 5.439, 6.395, 7.449");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.2329, 0.2879, 0.4793, 0.8443, 1.41, 2.207, 3.252, 4.573, 6.176, 8.097",\
                 "0.233, 0.2879, 0.4787, 0.8433, 1.409, 2.205, 3.253, 4.572, 6.179, 8.088",\
                 "0.2465, 0.2966, 0.4803, 0.8441, 1.411, 2.207, 3.253, 4.572, 6.172, 8.101",\
                 "0.2949, 0.3451, 0.5211, 0.8583, 1.412, 2.206, 3.252, 4.57, 6.174, 8.098",\
                 "0.3864, 0.4315, 0.5944, 0.9264, 1.447, 2.212, 3.252, 4.569, 6.181, 8.096",\
                 "0.5154, 0.562, 0.7214, 1.031, 1.546, 2.274, 3.273, 4.565, 6.171, 8.096",\
                 "0.6682, 0.7186, 0.8868, 1.194, 1.683, 2.405, 3.363, 4.615, 6.184, 8.087",\
                 "0.836, 0.8932, 1.08, 1.401, 1.882, 2.576, 3.527, 4.734, 6.257, 8.109",\
                 "1.019, 1.085, 1.294, 1.644, 2.137, 2.808, 3.735, 4.935, 6.409, 8.22",\
                 "1.217, 1.293, 1.524, 1.914, 2.43, 3.11, 4.004, 5.179, 6.648, 8.407");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.3138, 0.3679, 0.5571, 0.9152, 1.471, 2.249, 3.272, 4.56, 6.131, 8.003",\
                 "0.3143, 0.3677, 0.557, 0.9157, 1.471, 2.249, 3.271, 4.556, 6.131, 8.009",\
                 "0.3136, 0.3675, 0.5571, 0.9149, 1.471, 2.248, 3.272, 4.559, 6.134, 8.006",\
                 "0.3824, 0.4246, 0.5794, 0.9151, 1.47, 2.249, 3.272, 4.559, 6.133, 8.008",\
                 "0.4916, 0.5442, 0.713, 0.9936, 1.482, 2.248, 3.272, 4.561, 6.132, 8.003",\
                 "0.617, 0.677, 0.8686, 1.189, 1.623, 2.287, 3.273, 4.56, 6.134, 8.009",\
                 "0.7656, 0.835, 1.044, 1.398, 1.884, 2.488, 3.349, 4.567, 6.134, 8.008",\
                 "0.9286, 1.007, 1.244, 1.626, 2.162, 2.822, 3.611, 4.689, 6.152, 8.008",\
                 "1.108, 1.199, 1.467, 1.883, 2.451, 3.178, 4.022, 5.013, 6.329, 8.049",\
                 "1.298, 1.404, 1.711, 2.174, 2.772, 3.538, 4.468, 5.499, 6.716, 8.278");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.2203, 0.2519, 0.3622, 0.5722, 0.8981, 1.357, 1.959, 2.718, 3.644, 4.748",\
                 "0.2291, 0.261, 0.3717, 0.5821, 0.9085, 1.366, 1.97, 2.728, 3.654, 4.757",\
                 "0.2403, 0.2729, 0.385, 0.5963, 0.9232, 1.381, 1.984, 2.744, 3.671, 4.774",\
                 "0.236, 0.2719, 0.3912, 0.6066, 0.9335, 1.392, 1.994, 2.754, 3.68, 4.784",\
                 "0.2127, 0.2532, 0.3833, 0.6108, 0.9473, 1.404, 2.005, 2.763, 3.687, 4.791",\
                 "0.1589, 0.2071, 0.3564, 0.6029, 0.9537, 1.425, 2.026, 2.78, 3.703, 4.804",\
                 "0.0714, 0.1275, 0.2998, 0.5738, 0.9486, 1.436, 2.054, 2.812, 3.729, 4.827",\
                 "-0.0527, 0.0124, 0.2089, 0.515, 0.9215, 1.434, 2.07, 2.847, 3.773, 4.865",\
                 "-0.2159, -0.1426, 0.0796, 0.4208, 0.8649, 1.412, 2.074, 2.869, 3.816, 4.921",\
                 "-0.4205, -0.3387, -0.0915, 0.2873, 0.7723, 1.358, 2.057, 2.878, 3.845, 4.971");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.2481, 0.2812, 0.3936, 0.6011, 0.9191, 1.362, 1.944, 2.675, 3.567, 4.628",\
                 "0.2627, 0.2957, 0.4082, 0.6158, 0.9341, 1.377, 1.958, 2.689, 3.581, 4.644",\
                 "0.327, 0.3598, 0.4717, 0.679, 0.9968, 1.44, 2.021, 2.752, 3.643, 4.707",\
                 "0.4613, 0.4953, 0.6052, 0.8094, 1.124, 1.566, 2.145, 2.876, 3.768, 4.83",\
                 "0.6322, 0.6725, 0.8046, 1.022, 1.334, 1.77, 2.347, 3.074, 3.964, 5.025",\
                 "0.8386, 0.8846, 1.036, 1.29, 1.633, 2.068, 2.638, 3.362, 4.246, 5.303",\
                 "1.085, 1.138, 1.307, 1.59, 1.98, 2.461, 3.033, 3.748, 4.627, 5.68",\
                 "1.372, 1.432, 1.622, 1.935, 2.362, 2.9, 3.527, 4.247, 5.119, 6.165",\
                 "1.703, 1.77, 1.983, 2.33, 2.794, 3.376, 4.069, 4.851, 5.731, 6.766",\
                 "2.079, 2.154, 2.39, 2.772, 3.277, 3.901, 4.647, 5.503, 6.45, 7.498");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.2329, 0.2878, 0.4797, 0.8443, 1.411, 2.206, 3.253, 4.574, 6.182, 8.095",\
                 "0.233, 0.2879, 0.4795, 0.844, 1.411, 2.206, 3.253, 4.568, 6.17, 8.093",\
                 "0.2402, 0.2916, 0.4795, 0.844, 1.41, 2.204, 3.252, 4.574, 6.181, 8.091",\
                 "0.2764, 0.3284, 0.509, 0.8531, 1.411, 2.206, 3.251, 4.574, 6.184, 8.096",\
                 "0.3484, 0.3964, 0.568, 0.9086, 1.441, 2.21, 3.253, 4.57, 6.177, 8.094",\
                 "0.4626, 0.5088, 0.6738, 0.9972, 1.524, 2.266, 3.273, 4.567, 6.171, 8.098",\
                 "0.6072, 0.6534, 0.8196, 1.137, 1.643, 2.379, 3.354, 4.612, 6.18, 8.097",\
                 "0.7746, 0.8228, 0.9954, 1.316, 1.817, 2.528, 3.496, 4.725, 6.25, 8.114",\
                 "0.956, 1.012, 1.197, 1.531, 2.035, 2.735, 3.678, 4.897, 6.395, 8.22",\
                 "1.15, 1.214, 1.42, 1.773, 2.292, 2.995, 3.921, 5.115, 6.602, 8.387");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002532, 0.007908, 0.01817, 0.03417, 0.05661, 0.08614, 0.1233, 0.1688, 0.2229");
          values("0.362, 0.4175, 0.6092, 0.9686, 1.526, 2.305, 3.329, 4.621, 6.194, 8.07",\
                 "0.3624, 0.4172, 0.6084, 0.9693, 1.526, 2.305, 3.331, 4.615, 6.194, 8.069",\
                 "0.36, 0.4164, 0.6082, 0.9693, 1.526, 2.305, 3.331, 4.62, 6.195, 8.064",\
                 "0.4128, 0.4574, 0.6213, 0.9683, 1.526, 2.305, 3.329, 4.62, 6.194, 8.07",\
                 "0.5284, 0.5804, 0.7462, 1.033, 1.534, 2.305, 3.33, 4.62, 6.194, 8.069",\
                 "0.6564, 0.714, 0.904, 1.223, 1.661, 2.337, 3.33, 4.619, 6.192, 8.069",\
                 "0.8008, 0.8686, 1.078, 1.434, 1.917, 2.526, 3.398, 4.625, 6.192, 8.068",\
                 "0.9672, 1.043, 1.276, 1.655, 2.192, 2.854, 3.649, 4.739, 6.209, 8.068",\
                 "1.147, 1.233, 1.493, 1.907, 2.474, 3.207, 4.049, 5.049, 6.375, 8.107",\
                 "1.347, 1.44, 1.734, 2.185, 2.784, 3.557, 4.487, 5.526, 6.75, 8.326");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nand4_2) {
    area : 35.123200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "4.3824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "4.3824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "4.38471e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "7.63125e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "7.63158e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "7.63488e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "7.64214e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "0.0001079892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "0.0001080915" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "0.0001392996" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "0.0001132626" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001392996" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008596 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02696, 0.02681, 0.02663, 0.02655, 0.02645, 0.0265, 0.02652, \
                 0.02654, 0.0265, 0.02648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01349, -0.01344, -0.01345, -0.0135, -0.01354, -0.01355, -0.01358, \
                 -0.01357, -0.01357, -0.01363");
        }
      }

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02682, 0.02664, 0.02658, 0.02647, 0.02651, 0.0265, \
                 0.02652, 0.02649, 0.0265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01349, -0.01345, -0.01347, -0.0135, -0.0135, -0.01357, -0.01359, \
                 -0.0136, -0.01362, -0.01363");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02694, 0.02682, 0.02665, 0.02658, 0.02647, 0.0265, 0.0265, 0.02653, \
                 0.0265, 0.02651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01345, -0.01347, -0.01351, -0.0135, -0.01356, -0.01357, \
                 -0.01359, -0.01362, -0.01366");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02688, 0.02681, 0.0267, 0.02659, 0.02653, 0.02652, 0.02648, \
                 0.02653, 0.02651, 0.02652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0135, -0.01347, -0.01348, -0.0135, -0.0135, -0.01354, -0.01358, \
                 -0.01361, -0.01362, -0.01367");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02661, 0.02656, 0.02652, 0.02646, 0.02647, 0.02649, 0.02648, \
                 0.02651, 0.02649, 0.02649");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01983, 0.01986, 0.0198, 0.01971, 0.01964, 0.01957, 0.01951, \
                 0.01944, 0.01944, 0.01931");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02657, 0.02656, 0.02653, 0.02648, 0.02646, 0.0265, 0.02648, \
                 0.02651, 0.02651, 0.0265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01986, 0.01987, 0.01982, 0.01974, 0.01965, 0.01955, 0.01952, \
                 0.01944, 0.0194, 0.01927");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02657, 0.02656, 0.02653, 0.02648, 0.02646, 0.0265, 0.02649, \
                 0.02652, 0.0265, 0.02651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05251, 0.05254, 0.0525, 0.05242, 0.05234, 0.05217, 0.0521, 0.05196, \
                 0.05186, 0.05169");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008342 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03474, 0.03497, 0.03549, 0.03605, 0.03656, 0.03693, 0.03714, \
                 0.03732, 0.03739, 0.03746");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02271, -0.02263, -0.02247, -0.02239, -0.02238, -0.02241, -0.02239, \
                 -0.02239, -0.02235, -0.02236");
        }
      }

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03381, 0.03408, 0.03474, 0.03546, 0.0361, 0.03654, 0.03679, \
                 0.03701, 0.03712, 0.03716");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02266, -0.02261, -0.0225, -0.02244, -0.0224, -0.02241, -0.02238, \
                 -0.02238, -0.02238, -0.02236");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03009, 0.02938, 0.02935, 0.02955, 0.02985, 0.03017, 0.03042, \
                 0.03059, 0.03071, 0.03081");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02262, -0.02252, -0.02247, -0.02241, -0.02238, -0.02241, -0.02239, \
                 -0.02236, -0.02237, -0.02237");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02781, 0.0246, 0.02272, 0.02249, 0.02246, 0.02245, 0.02246, \
                 0.02245, 0.02244, 0.02244");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02252, -0.02248, -0.02246, -0.02246, -0.02239, -0.02241, -0.0224, \
                 -0.02239, -0.02241, -0.02238");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02585, 0.02582, 0.0258, 0.02578, 0.02571, 0.02573, 0.02574, \
                 0.02571, 0.02572, 0.02563");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0163, -0.01625, -0.01623, -0.01622, -0.01626, -0.01633, -0.01634, \
                 -0.0164, -0.01647, -0.01654");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02583, 0.02579, 0.0258, 0.02577, 0.02572, 0.02574, 0.02573, \
                 0.0257, 0.02568, 0.02563");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0163, -0.01626, -0.01625, -0.01624, -0.01626, -0.01633, -0.01634, \
                 -0.01641, -0.01646, -0.01657");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02588, 0.02585, 0.02586, 0.02585, 0.02581, 0.0258, 0.02579, \
                 0.02577, 0.02575, 0.02569");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01646, 0.01648, 0.0165, 0.01643, 0.01636, 0.01624, 0.01615, \
                 0.01606, 0.01595, 0.01575");
        }
      }
    }

    pin(A3) {
      capacitance : 0.009091 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02706, 0.02717, 0.02711, 0.02694, 0.02684, 0.02674, 0.02653, \
                 0.02641, 0.02632, 0.02613");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02266, -0.02263, -0.02246, -0.02239, -0.02238, -0.02239, -0.02238, \
                 -0.02239, -0.02235, -0.02235");
        }
      }

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02264, 0.02268, 0.02255, 0.02246, 0.02242, 0.02247, 0.02246, \
                 0.02248, 0.02246, 0.02246");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02253, -0.0225, -0.02246, -0.02238, -0.02235, -0.02238, -0.0224, \
                 -0.02239, -0.02239, -0.02237");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03012, 0.03093, 0.03117, 0.03136, 0.03148, 0.03164, 0.03172, \
                 0.03173, 0.03169, 0.03158");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0226, -0.02254, -0.02245, -0.02239, -0.02237, -0.0224, -0.0224, \
                 -0.02238, -0.02236, -0.0224");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02559, 0.02302, 0.02258, 0.02247, 0.02245, 0.02248, 0.02247, \
                 0.02246, 0.02245, 0.02246");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02251, -0.02249, -0.02249, -0.02245, -0.02241, -0.02241, -0.02241, \
                 -0.02239, -0.02238, -0.02239");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0316, 0.03185, 0.03236, 0.0329, 0.03342, 0.03378, 0.03402, 0.03423, \
                 0.03432, 0.03431");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02265, -0.02264, -0.0225, -0.02241, -0.02238, -0.02242, -0.02239, \
                 -0.0224, -0.02238, -0.02235");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02571, 0.02282, 0.02257, 0.02249, 0.02244, 0.02248, 0.02246, \
                 0.02247, 0.02246, 0.02247");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02254, -0.02255, -0.0225, -0.02243, -0.02238, -0.0224, -0.02241, \
                 -0.02241, -0.02238, -0.02239");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02425, 0.02428, 0.02422, 0.02419, 0.02419, 0.02416, 0.02413, \
                 0.0241, 0.02405, 0.02395");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01849, -0.01848, -0.01848, -0.01849, -0.01849, -0.01856, -0.01858, \
                 -0.01866, -0.01877, -0.01889");
        }
      }
    }

    pin(A4) {
      capacitance : 0.00961 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02262, 0.02278, 0.02259, 0.02251, 0.02244, 0.02249, 0.02248, \
                 0.0225, 0.02249, 0.02251");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02264, -0.02253, -0.02242, -0.02237, -0.02235, -0.02237, -0.02237, \
                 -0.02237, -0.02235, -0.02235");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02275, 0.02265, 0.02259, 0.02247, 0.02242, 0.02248, 0.02249, \
                 0.02247, 0.02248, 0.02246");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02256, -0.02253, -0.02248, -0.02242, -0.02238, -0.0224, -0.02239, \
                 -0.02238, -0.02236, -0.02238");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0226, 0.0228, 0.0226, 0.0225, 0.02246, 0.02247, 0.02247, 0.0225, \
                 0.0225, 0.02251");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02264, -0.02255, -0.02245, -0.02239, -0.02237, -0.0224, -0.02237, \
                 -0.02237, -0.02235, -0.02234");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02271, 0.02266, 0.02255, 0.02248, 0.02247, 0.02248, 0.02247, \
                 0.02246, 0.02245, 0.02247");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02253, -0.02252, -0.02253, -0.02244, -0.02239, -0.02243, -0.02241, \
                 -0.02241, -0.02238, -0.02237");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02259, 0.02278, 0.0226, 0.0225, 0.02246, 0.02248, 0.02247, 0.0225, \
                 0.02251, 0.02249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02264, -0.02253, -0.02245, -0.02238, -0.02237, -0.0224, -0.02237, \
                 -0.02238, -0.02235, -0.02234");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02273, 0.02265, 0.0226, 0.02249, 0.02244, 0.02248, 0.02248, \
                 0.02247, 0.02248, 0.02246");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02258, -0.02256, -0.02252, -0.02246, -0.02241, -0.02243, -0.02241, \
                 -0.02239, -0.02238, -0.02239");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02294, 0.02277, 0.02263, 0.02251, 0.02247, 0.0225, 0.02248, \
                 0.0225, 0.0225, 0.0225");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02261, -0.02255, -0.0225, -0.02244, -0.0224, -0.02242, -0.02239, \
                 -0.02238, -0.02238, -0.02236");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2)|(!A3)|(!A4))" ;
      max_capacitance : 0.4442 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.02813, 0.02821, 0.02836, 0.02846, 0.02853, 0.02856, 0.02859, 0.0286, 0.0286, 0.0286",\
                 "0.0272, 0.02735, 0.02781, 0.02811, 0.02829, 0.02841, 0.02847, 0.02851, 0.02853, 0.02851",\
                 "0.02803, 0.02806, 0.02813, 0.02827, 0.02834, 0.02844, 0.02847, 0.02851, 0.02852, 0.02851",\
                 "0.03594, 0.03521, 0.03352, 0.03204, 0.03097, 0.03025, 0.02976, 0.02946, 0.02926, 0.02909",\
                 "0.05354, 0.05166, 0.04718, 0.04255, 0.03887, 0.0362, 0.03428, 0.03291, 0.03194, 0.03122",\
                 "0.08228, 0.07926, 0.07144, 0.06259, 0.05492, 0.04891, 0.04432, 0.04091, 0.03835, 0.03638",\
                 "0.123, 0.1189, 0.1076, 0.09393, 0.08122, 0.0706, 0.06217, 0.05558, 0.05044, 0.04638",\
                 "0.176, 0.1711, 0.1567, 0.1379, 0.1195, 0.1033, 0.08991, 0.07902, 0.07024, 0.06316",\
                 "0.2423, 0.2365, 0.2195, 0.1958, 0.1711, 0.1486, 0.1293, 0.113, 0.09954, 0.08837",\
                 "0.3224, 0.3158, 0.2964, 0.2681, 0.2371, 0.2078, 0.1818, 0.1593, 0.1401, 0.1238");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.1114, 0.1121, 0.113, 0.1135, 0.1142, 0.1151, 0.1158, 0.1173, 0.1168, 0.1197",\
                 "0.1104, 0.1112, 0.113, 0.1143, 0.1154, 0.1165, 0.1175, 0.1181, 0.1195, 0.121",\
                 "0.1116, 0.1119, 0.1129, 0.114, 0.1155, 0.1167, 0.1174, 0.1187, 0.1204, 0.1233",\
                 "0.1206, 0.1199, 0.1187, 0.1178, 0.1178, 0.1184, 0.1193, 0.1201, 0.1213, 0.1235",\
                 "0.141, 0.139, 0.1344, 0.1302, 0.1266, 0.1245, 0.1237, 0.1231, 0.1233, 0.1264",\
                 "0.1739, 0.1707, 0.1623, 0.1534, 0.1459, 0.14, 0.1355, 0.1325, 0.1309, 0.1337",\
                 "0.2199, 0.2157, 0.2041, 0.1898, 0.1768, 0.1658, 0.157, 0.1493, 0.1452, 0.1462",\
                 "0.2797, 0.2747, 0.2602, 0.2403, 0.2211, 0.2048, 0.191, 0.1792, 0.1696, 0.17",\
                 "0.3539, 0.3481, 0.3308, 0.3064, 0.2804, 0.2569, 0.2379, 0.2207, 0.2071, 0.2089",\
                 "0.4434, 0.437, 0.4175, 0.3889, 0.357, 0.3257, 0.2995, 0.2775, 0.2593, 0.2702");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.02816, 0.0282, 0.02836, 0.02846, 0.02852, 0.02855, 0.02859, 0.02859, 0.02863, 0.0286",\
                 "0.02702, 0.02728, 0.02775, 0.02809, 0.02828, 0.0284, 0.02846, 0.02849, 0.02852, 0.02851",\
                 "0.02614, 0.02638, 0.02698, 0.02753, 0.0279, 0.02814, 0.02828, 0.02838, 0.02841, 0.02844",\
                 "0.03174, 0.03133, 0.03057, 0.02994, 0.02956, 0.02926, 0.02908, 0.02897, 0.02889, 0.0288",\
                 "0.04762, 0.04615, 0.04272, 0.03923, 0.03648, 0.03445, 0.03299, 0.03195, 0.0312, 0.03063",\
                 "0.07551, 0.07278, 0.06588, 0.05816, 0.05159, 0.0464, 0.04245, 0.03947, 0.03725, 0.03551",\
                 "0.116, 0.1121, 0.1016, 0.08872, 0.07711, 0.06747, 0.0598, 0.05379, 0.04905, 0.04528",\
                 "0.1694, 0.1646, 0.1507, 0.1326, 0.115, 0.09972, 0.08705, 0.07687, 0.06862, 0.06186",\
                 "0.2363, 0.2306, 0.2139, 0.1906, 0.1665, 0.1448, 0.1262, 0.1106, 0.09782, 0.08705",\
                 "0.3173, 0.3108, 0.2915, 0.2635, 0.2328, 0.2039, 0.1786, 0.1568, 0.1384, 0.1226");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.1451, 0.1454, 0.1457, 0.146, 0.1466, 0.1473, 0.1481, 0.1494, 0.1501, 0.1527",\
                 "0.1444, 0.1448, 0.1457, 0.1464, 0.1472, 0.1477, 0.1489, 0.1502, 0.1517, 0.155",\
                 "0.1445, 0.1448, 0.1454, 0.1462, 0.1472, 0.1481, 0.1492, 0.1504, 0.1523, 0.1549",\
                 "0.1531, 0.1525, 0.1511, 0.1501, 0.1497, 0.1498, 0.1504, 0.1512, 0.1523, 0.1559",\
                 "0.1734, 0.1716, 0.1674, 0.1628, 0.1591, 0.1568, 0.1561, 0.1553, 0.1556, 0.158",\
                 "0.2067, 0.204, 0.1961, 0.187, 0.179, 0.1726, 0.1682, 0.1649, 0.1641, 0.166",\
                 "0.2536, 0.2499, 0.2393, 0.2249, 0.2115, 0.1999, 0.1906, 0.1841, 0.1795, 0.1804",\
                 "0.3145, 0.3102, 0.2973, 0.2781, 0.2581, 0.2407, 0.2258, 0.2137, 0.2046, 0.2052",\
                 "0.39, 0.3852, 0.3702, 0.3474, 0.321, 0.2961, 0.2752, 0.2567, 0.243, 0.2454",\
                 "0.4807, 0.4756, 0.459, 0.4329, 0.4013, 0.369, 0.3406, 0.3154, 0.2968, 0.3089");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.02809, 0.0282, 0.02835, 0.02845, 0.02851, 0.02856, 0.02857, 0.02858, 0.02859, 0.02858",\
                 "0.02699, 0.02727, 0.02773, 0.02807, 0.02828, 0.0284, 0.02846, 0.0285, 0.02851, 0.02852",\
                 "0.02518, 0.02555, 0.02641, 0.02716, 0.02768, 0.02798, 0.02817, 0.02829, 0.02835, 0.02839",\
                 "0.02888, 0.02876, 0.0286, 0.02863, 0.02862, 0.02863, 0.02863, 0.02863, 0.02862, 0.0286",\
                 "0.04352, 0.04235, 0.03971, 0.03704, 0.03497, 0.0334, 0.03224, 0.03139, 0.03079, 0.03032",\
                 "0.07134, 0.06893, 0.06275, 0.05594, 0.0501, 0.04545, 0.04188, 0.03914, 0.03704, 0.03539",\
                 "0.1131, 0.1094, 0.09944, 0.08744, 0.07642, 0.06733, 0.05999, 0.05416, 0.04955, 0.04585",\
                 "0.169, 0.1643, 0.1509, 0.1332, 0.1161, 0.1012, 0.08885, 0.07868, 0.07043, 0.06365",\
                 "0.2395, 0.234, 0.2174, 0.1943, 0.1703, 0.1487, 0.1304, 0.1148, 0.1018, 0.09089",\
                 "0.3251, 0.3187, 0.2994, 0.2714, 0.2407, 0.2116, 0.1861, 0.1641, 0.1453, 0.1293");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.1778, 0.1779, 0.1781, 0.1783, 0.1787, 0.1792, 0.1802, 0.1813, 0.1823, 0.1853",\
                 "0.176, 0.1762, 0.1766, 0.177, 0.1774, 0.1783, 0.1791, 0.1801, 0.1813, 0.1843",\
                 "0.1756, 0.1756, 0.1758, 0.1763, 0.1769, 0.1775, 0.1784, 0.1798, 0.1807, 0.1836",\
                 "0.1842, 0.1836, 0.1818, 0.1803, 0.1795, 0.1796, 0.1799, 0.1806, 0.1813, 0.1848",\
                 "0.2049, 0.203, 0.1987, 0.1936, 0.1896, 0.1868, 0.1855, 0.1847, 0.1846, 0.1877",\
                 "0.2395, 0.2368, 0.2288, 0.2193, 0.2103, 0.2037, 0.1984, 0.1957, 0.1934, 0.1957",\
                 "0.2887, 0.2851, 0.2742, 0.2592, 0.2448, 0.2322, 0.2219, 0.215, 0.2094, 0.2104",\
                 "0.3532, 0.3487, 0.3353, 0.3154, 0.2943, 0.2757, 0.2595, 0.246, 0.2361, 0.2365",\
                 "0.4333, 0.4283, 0.4127, 0.3886, 0.3612, 0.3347, 0.312, 0.2911, 0.276, 0.2776",\
                 "0.53, 0.5245, 0.5072, 0.4798, 0.4463, 0.4115, 0.3804, 0.3536, 0.3322, 0.3445");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.02811, 0.0282, 0.02836, 0.02847, 0.02854, 0.02857, 0.02858, 0.0286, 0.0286, 0.02858",\
                 "0.02698, 0.02727, 0.02773, 0.02807, 0.02826, 0.02841, 0.02846, 0.0285, 0.02854, 0.02853",\
                 "0.02485, 0.02527, 0.02619, 0.02706, 0.02761, 0.02793, 0.02814, 0.02827, 0.02835, 0.02837",\
                 "0.02727, 0.02731, 0.0275, 0.02784, 0.02809, 0.02826, 0.02837, 0.02844, 0.02847, 0.02848",\
                 "0.04078, 0.03986, 0.03777, 0.03571, 0.03405, 0.03281, 0.03188, 0.03114, 0.03061, 0.03018",\
                 "0.06822, 0.06615, 0.06069, 0.05462, 0.0494, 0.04521, 0.04187, 0.03927, 0.03725, 0.03562",\
                 "0.111, 0.1076, 0.09854, 0.08721, 0.07692, 0.06824, 0.06118, 0.05544, 0.05082, 0.04702",\
                 "0.1695, 0.1649, 0.1522, 0.1353, 0.1187, 0.1042, 0.09211, 0.08201, 0.07368, 0.06671",\
                 "0.2441, 0.2385, 0.2224, 0.2, 0.1765, 0.1551, 0.1367, 0.1211, 0.1079, 0.09671",\
                 "0.3349, 0.3287, 0.3095, 0.2818, 0.2515, 0.2225, 0.1967, 0.1745, 0.1554, 0.1388");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2076, 0.2077, 0.2079, 0.2081, 0.2088, 0.2093, 0.2101, 0.2112, 0.2126, 0.2148",\
                 "0.2055, 0.2055, 0.2058, 0.2061, 0.2065, 0.2072, 0.2081, 0.2092, 0.2106, 0.2135",\
                 "0.2055, 0.2054, 0.2053, 0.2054, 0.2058, 0.2063, 0.2072, 0.2083, 0.2093, 0.2125",\
                 "0.2146, 0.2138, 0.2117, 0.2097, 0.2091, 0.2085, 0.2087, 0.2093, 0.2099, 0.2131",\
                 "0.236, 0.2342, 0.2296, 0.224, 0.2197, 0.2165, 0.2144, 0.214, 0.2141, 0.2156",\
                 "0.2725, 0.2695, 0.2612, 0.2512, 0.2414, 0.2338, 0.228, 0.2248, 0.2226, 0.2242",\
                 "0.3245, 0.3205, 0.3092, 0.2933, 0.2778, 0.2639, 0.2532, 0.2448, 0.239, 0.2402",\
                 "0.3929, 0.3885, 0.3743, 0.353, 0.3303, 0.31, 0.2922, 0.2781, 0.267, 0.267",\
                 "0.4789, 0.4735, 0.4572, 0.4313, 0.4015, 0.3728, 0.3479, 0.3259, 0.3094, 0.3103",\
                 "0.5826, 0.5769, 0.5585, 0.5289, 0.4925, 0.4551, 0.4209, 0.3913, 0.3685, 0.3798");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.1412, 0.1729, 0.2829, 0.4925, 0.8185, 1.276, 1.878, 2.635, 3.561, 4.662",\
                 "0.1505, 0.1821, 0.2929, 0.5028, 0.8292, 1.287, 1.889, 2.647, 3.572, 4.673",\
                 "0.1878, 0.2205, 0.3294, 0.5392, 0.8653, 1.323, 1.924, 2.683, 3.607, 4.71",\
                 "0.2251, 0.2671, 0.3985, 0.6142, 0.938, 1.393, 1.994, 2.751, 3.676, 4.78",\
                 "0.249, 0.3006, 0.4586, 0.7153, 1.058, 1.511, 2.108, 2.864, 3.786, 4.889",\
                 "0.255, 0.3166, 0.5046, 0.8018, 1.197, 1.681, 2.275, 3.026, 3.946, 5.045",\
                 "0.2402, 0.3128, 0.5316, 0.8722, 1.318, 1.863, 2.5, 3.249, 4.164, 5.258",\
                 "0.2026, 0.2869, 0.5365, 0.9232, 1.421, 2.024, 2.73, 3.532, 4.448, 5.537",\
                 "0.1419, 0.2354, 0.5183, 0.9518, 1.506, 2.167, 2.936, 3.814, 4.79, 5.885",\
                 "0.0564, 0.1606, 0.4735, 0.9558, 1.566, 2.291, 3.123, 4.071, 5.13, 6.291");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.1459, 0.177, 0.2839, 0.4861, 0.8001, 1.241, 1.82, 2.549, 3.441, 4.501",\
                 "0.1625, 0.1938, 0.3018, 0.5056, 0.8195, 1.26, 1.84, 2.571, 3.462, 4.521",\
                 "0.2282, 0.2592, 0.3663, 0.5692, 0.8843, 1.326, 1.906, 2.636, 3.525, 4.587",\
                 "0.3279, 0.3691, 0.4946, 0.6979, 1.011, 1.45, 2.03, 2.759, 3.649, 4.712",\
                 "0.4483, 0.499, 0.6538, 0.8983, 1.216, 1.652, 2.229, 2.956, 3.842, 4.906",\
                 "0.5911, 0.6528, 0.8362, 1.125, 1.499, 1.945, 2.516, 3.24, 4.122, 5.182",\
                 "0.7547, 0.8286, 1.045, 1.377, 1.806, 2.318, 2.904, 3.62, 4.499, 5.554",\
                 "0.9393, 1.026, 1.278, 1.659, 2.139, 2.717, 3.377, 4.112, 4.986, 6.033",\
                 "1.148, 1.246, 1.535, 1.968, 2.506, 3.143, 3.877, 4.692, 5.587, 6.626",\
                 "1.381, 1.491, 1.818, 2.304, 2.902, 3.602, 4.404, 5.303, 6.282, 7.344");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2343, 0.2898, 0.4818, 0.8469, 1.413, 2.208, 3.255, 4.566, 6.168, 8.089",\
                 "0.2331, 0.2889, 0.4818, 0.8465, 1.412, 2.207, 3.254, 4.57, 6.177, 8.088",\
                 "0.2475, 0.2959, 0.4784, 0.8462, 1.412, 2.208, 3.252, 4.572, 6.175, 8.091",\
                 "0.3094, 0.363, 0.5397, 0.8577, 1.412, 2.207, 3.252, 4.567, 6.174, 8.094",\
                 "0.4091, 0.4635, 0.6488, 0.9772, 1.458, 2.208, 3.25, 4.566, 6.174, 8.093",\
                 "0.5324, 0.5966, 0.7956, 1.138, 1.638, 2.307, 3.265, 4.566, 6.175, 8.093",\
                 "0.6748, 0.7506, 0.9764, 1.336, 1.862, 2.55, 3.424, 4.607, 6.17, 8.093",\
                 "0.8324, 0.9204, 1.18, 1.579, 2.12, 2.84, 3.734, 4.828, 6.26, 8.094",\
                 "1.002, 1.104, 1.406, 1.851, 2.426, 3.165, 4.098, 5.21, 6.546, 8.236",\
                 "1.19, 1.31, 1.648, 2.146, 2.771, 3.538, 4.498, 5.656, 6.999, 8.595");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2049, 0.2577, 0.4436, 0.7993, 1.353, 2.131, 3.155, 4.442, 6.018, 7.889",\
                 "0.2049, 0.2579, 0.4438, 0.7999, 1.353, 2.132, 3.153, 4.439, 6.013, 7.895",\
                 "0.219, 0.2638, 0.4435, 0.7988, 1.352, 2.13, 3.152, 4.44, 6.016, 7.895",\
                 "0.302, 0.3495, 0.4948, 0.8037, 1.353, 2.13, 3.153, 4.439, 6.013, 7.893",\
                 "0.4036, 0.4576, 0.6332, 0.9134, 1.375, 2.129, 3.153, 4.44, 6.014, 7.889",\
                 "0.5314, 0.5946, 0.786, 1.112, 1.543, 2.181, 3.154, 4.439, 6.01, 7.886",\
                 "0.679, 0.7528, 0.9658, 1.32, 1.809, 2.408, 3.245, 4.448, 6.007, 7.896",\
                 "0.836, 0.9244, 1.177, 1.559, 2.088, 2.753, 3.531, 4.592, 6.03, 7.886",\
                 "1.007, 1.11, 1.406, 1.833, 2.392, 3.115, 3.958, 4.932, 6.234, 7.927",\
                 "1.192, 1.31, 1.647, 2.132, 2.739, 3.492, 4.415, 5.439, 6.633, 8.19");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.1834, 0.215, 0.3249, 0.5343, 0.8603, 1.318, 1.92, 2.676, 3.602, 4.705",\
                 "0.1912, 0.223, 0.3339, 0.5434, 0.8698, 1.327, 1.929, 2.687, 3.613, 4.714",\
                 "0.2125, 0.2463, 0.3581, 0.5686, 0.895, 1.353, 1.955, 2.713, 3.637, 4.743",\
                 "0.2357, 0.2752, 0.4018, 0.6198, 0.9458, 1.403, 2.004, 2.762, 3.688, 4.79",\
                 "0.2487, 0.2969, 0.4447, 0.688, 1.03, 1.485, 2.085, 2.841, 3.766, 4.868",\
                 "0.2423, 0.2999, 0.4757, 0.7525, 1.126, 1.605, 2.204, 2.958, 3.88, 4.98",\
                 "0.2124, 0.28, 0.4849, 0.8038, 1.218, 1.733, 2.361, 3.117, 4.036, 5.133",\
                 "0.1571, 0.2346, 0.4689, 0.832, 1.297, 1.857, 2.526, 3.315, 4.239, 5.333",\
                 "0.0745, 0.1621, 0.4261, 0.8339, 1.353, 1.969, 2.685, 3.519, 4.48, 5.582",\
                 "-0.0373, 0.0594, 0.3521, 0.8068, 1.381, 2.058, 2.833, 3.716, 4.725, 5.869");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.1891, 0.2197, 0.3261, 0.5279, 0.8419, 1.282, 1.861, 2.591, 3.48, 4.538",\
                 "0.2059, 0.2369, 0.3442, 0.5468, 0.8608, 1.301, 1.881, 2.609, 3.502, 4.563",\
                 "0.2704, 0.301, 0.4079, 0.6108, 0.925, 1.366, 1.945, 2.676, 3.566, 4.628",\
                 "0.386, 0.4231, 0.539, 0.7398, 1.052, 1.491, 2.07, 2.799, 3.688, 4.753",\
                 "0.5253, 0.5706, 0.7136, 0.9458, 1.259, 1.693, 2.27, 2.997, 3.886, 4.941",\
                 "0.6928, 0.7463, 0.9135, 1.186, 1.548, 1.988, 2.558, 3.279, 4.166, 5.22",\
                 "0.8865, 0.9493, 1.144, 1.455, 1.869, 2.369, 2.949, 3.664, 4.545, 5.595",\
                 "1.108, 1.182, 1.406, 1.758, 2.218, 2.781, 3.428, 4.158, 5.03, 6.077",\
                 "1.358, 1.441, 1.698, 2.095, 2.605, 3.222, 3.942, 4.746, 5.634, 6.672",\
                 "1.637, 1.733, 2.021, 2.466, 3.031, 3.702, 4.485, 5.369, 6.338, 7.395");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2361, 0.2902, 0.4823, 0.8453, 1.413, 2.208, 3.253, 4.564, 6.173, 8.079",\
                 "0.236, 0.2909, 0.4822, 0.8457, 1.413, 2.207, 3.251, 4.563, 6.181, 8.09",\
                 "0.2549, 0.3036, 0.4836, 0.8457, 1.413, 2.208, 3.251, 4.569, 6.174, 8.097",\
                 "0.3136, 0.3637, 0.5345, 0.8618, 1.413, 2.207, 3.251, 4.567, 6.175, 8.09",\
                 "0.4132, 0.4596, 0.627, 0.9492, 1.452, 2.211, 3.249, 4.567, 6.179, 8.092",\
                 "0.5416, 0.5936, 0.766, 1.082, 1.579, 2.282, 3.269, 4.569, 6.171, 8.092",\
                 "0.6892, 0.7496, 0.9416, 1.263, 1.756, 2.45, 3.374, 4.608, 6.178, 8.091",\
                 "0.8512, 0.9218, 1.14, 1.491, 1.985, 2.673, 3.589, 4.75, 6.248, 8.105",\
                 "1.031, 1.108, 1.356, 1.746, 2.268, 2.953, 3.865, 5.015, 6.429, 8.203",\
                 "1.219, 1.313, 1.592, 2.026, 2.593, 3.287, 4.195, 5.338, 6.744, 8.43");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2642, 0.3176, 0.5047, 0.8604, 1.415, 2.19, 3.212, 4.499, 6.065, 7.93",\
                 "0.2645, 0.3176, 0.5045, 0.8606, 1.414, 2.189, 3.212, 4.495, 6.071, 7.942",\
                 "0.268, 0.3185, 0.5049, 0.8608, 1.415, 2.19, 3.212, 4.499, 6.069, 7.939",\
                 "0.3496, 0.3932, 0.5396, 0.8623, 1.414, 2.191, 3.211, 4.499, 6.069, 7.941",\
                 "0.4542, 0.5066, 0.6774, 0.9562, 1.431, 2.19, 3.212, 4.498, 6.07, 7.933",\
                 "0.5806, 0.6406, 0.8306, 1.153, 1.585, 2.236, 3.213, 4.498, 6.07, 7.943",\
                 "0.7272, 0.7962, 1.008, 1.363, 1.85, 2.449, 3.298, 4.508, 6.068, 7.943",\
                 "0.8896, 0.97, 1.213, 1.595, 2.129, 2.79, 3.572, 4.637, 6.091, 7.94",\
                 "1.065, 1.161, 1.439, 1.862, 2.424, 3.149, 3.992, 4.973, 6.274, 7.984",\
                 "1.251, 1.362, 1.684, 2.157, 2.756, 3.518, 4.445, 5.47, 6.674, 8.224");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2096, 0.2413, 0.3515, 0.5608, 0.887, 1.344, 1.945, 2.703, 3.629, 4.734",\
                 "0.2178, 0.2497, 0.3603, 0.5705, 0.8965, 1.354, 1.956, 2.715, 3.638, 4.742",\
                 "0.2323, 0.2654, 0.3772, 0.5879, 0.9146, 1.372, 1.975, 2.733, 3.658, 4.761",\
                 "0.2387, 0.2759, 0.3983, 0.6151, 0.9416, 1.399, 2, 2.759, 3.683, 4.787",\
                 "0.2342, 0.2781, 0.4151, 0.6483, 0.9871, 1.443, 2.043, 2.799, 3.724, 4.827",\
                 "0.2058, 0.2591, 0.4198, 0.677, 1.036, 1.509, 2.109, 2.863, 3.785, 4.885",\
                 "0.1498, 0.2114, 0.3997, 0.6926, 1.08, 1.576, 2.198, 2.954, 3.872, 4.969",\
                 "0.0643, 0.1352, 0.3501, 0.6831, 1.111, 1.638, 2.285, 3.066, 3.99, 5.083",\
                 "-0.0543, 0.0262, 0.2677, 0.6416, 1.118, 1.689, 2.366, 3.174, 4.125, 5.228",\
                 "-0.2086, -0.1184, 0.1508, 0.5658, 1.094, 1.715, 2.437, 3.276, 4.256, 5.389");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2249, 0.2565, 0.3651, 0.5691, 0.8841, 1.325, 1.904, 2.634, 3.525, 4.584",\
                 "0.24, 0.2718, 0.3809, 0.5852, 0.9004, 1.341, 1.92, 2.649, 3.541, 4.603",\
                 "0.3036, 0.3352, 0.4438, 0.6481, 0.9635, 1.404, 1.983, 2.714, 3.601, 4.665",\
                 "0.4303, 0.4653, 0.5763, 0.7777, 1.091, 1.53, 2.109, 2.837, 3.727, 4.79",\
                 "0.5864, 0.6287, 0.7642, 0.9874, 1.299, 1.733, 2.309, 3.035, 3.924, 4.985",\
                 "0.7741, 0.8237, 0.9802, 1.242, 1.593, 2.03, 2.599, 3.321, 4.206, 5.26",\
                 "0.9954, 1.053, 1.232, 1.526, 1.927, 2.417, 2.991, 3.706, 4.585, 5.635",\
                 "1.251, 1.316, 1.521, 1.851, 2.293, 2.842, 3.479, 4.203, 5.074, 6.12",\
                 "1.541, 1.615, 1.846, 2.216, 2.701, 3.3, 4.006, 4.798, 5.682, 6.719",\
                 "1.868, 1.951, 2.209, 2.621, 3.155, 3.802, 4.566, 5.436, 6.393, 7.443");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2359, 0.2909, 0.4823, 0.8467, 1.411, 2.206, 3.251, 4.567, 6.169, 8.097",\
                 "0.2361, 0.291, 0.4823, 0.8463, 1.413, 2.207, 3.251, 4.57, 6.176, 8.085",\
                 "0.2491, 0.2991, 0.4831, 0.8464, 1.413, 2.208, 3.253, 4.571, 6.176, 8.083",\
                 "0.2974, 0.3473, 0.5235, 0.8605, 1.413, 2.207, 3.252, 4.569, 6.17, 8.096",\
                 "0.3882, 0.4325, 0.5968, 0.9286, 1.449, 2.212, 3.253, 4.57, 6.177, 8.092",\
                 "0.518, 0.5632, 0.7222, 1.032, 1.547, 2.275, 3.272, 4.567, 6.175, 8.09",\
                 "0.6694, 0.7206, 0.8888, 1.195, 1.683, 2.405, 3.363, 4.613, 6.18, 8.08",\
                 "0.8372, 0.8958, 1.083, 1.404, 1.882, 2.578, 3.527, 4.732, 6.248, 8.11",\
                 "1.022, 1.086, 1.297, 1.645, 2.137, 2.81, 3.734, 4.934, 6.407, 8.212",\
                 "1.221, 1.294, 1.526, 1.912, 2.43, 3.109, 4.002, 5.179, 6.645, 8.403");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.3174, 0.3717, 0.5601, 0.9173, 1.473, 2.249, 3.273, 4.559, 6.129, 8.002",\
                 "0.3175, 0.3711, 0.5597, 0.9175, 1.473, 2.25, 3.273, 4.555, 6.127, 8.003",\
                 "0.3166, 0.371, 0.5597, 0.9175, 1.473, 2.249, 3.273, 4.557, 6.132, 8.002",\
                 "0.3856, 0.4274, 0.5824, 0.9188, 1.472, 2.249, 3.273, 4.56, 6.131, 8",\
                 "0.4952, 0.5482, 0.7152, 0.996, 1.484, 2.249, 3.271, 4.56, 6.128, 8",\
                 "0.6216, 0.6812, 0.8712, 1.192, 1.625, 2.288, 3.273, 4.559, 6.13, 8.003",\
                 "0.7694, 0.8392, 1.047, 1.4, 1.886, 2.489, 3.348, 4.566, 6.128, 8.002",\
                 "0.9356, 1.013, 1.249, 1.629, 2.163, 2.824, 3.611, 4.69, 6.151, 8.004",\
                 "1.113, 1.206, 1.471, 1.892, 2.453, 3.178, 4.021, 5.012, 6.324, 8.047",\
                 "1.307, 1.41, 1.715, 2.178, 2.774, 3.541, 4.464, 5.5, 6.712, 8.274");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2232, 0.2545, 0.3648, 0.5742, 0.9005, 1.358, 1.96, 2.717, 3.643, 4.744",\
                 "0.2318, 0.2637, 0.3743, 0.5843, 0.9105, 1.368, 1.97, 2.727, 3.653, 4.755",\
                 "0.2432, 0.2757, 0.3878, 0.5986, 0.9254, 1.383, 1.985, 2.744, 3.669, 4.771",\
                 "0.2393, 0.2747, 0.3938, 0.609, 0.9356, 1.393, 1.995, 2.753, 3.679, 4.781",\
                 "0.2162, 0.2567, 0.3862, 0.6132, 0.9492, 1.406, 2.006, 2.762, 3.687, 4.789",\
                 "0.1627, 0.2107, 0.3595, 0.6054, 0.9559, 1.426, 2.026, 2.78, 3.701, 4.802",\
                 "0.0759, 0.1322, 0.3032, 0.5766, 0.9504, 1.437, 2.055, 2.811, 3.729, 4.825",\
                 "-0.0478, 0.0171, 0.2125, 0.5183, 0.9237, 1.436, 2.071, 2.847, 3.772, 4.863",\
                 "-0.2103, -0.137, 0.084, 0.4241, 0.8672, 1.414, 2.074, 2.869, 3.815, 4.919",\
                 "-0.4145, -0.3326, -0.0869, 0.2906, 0.7746, 1.36, 2.058, 2.878, 3.844, 4.969");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2498, 0.2829, 0.395, 0.6024, 0.9198, 1.363, 1.943, 2.674, 3.564, 4.626",\
                 "0.2644, 0.2973, 0.4096, 0.617, 0.9349, 1.377, 1.958, 2.686, 3.578, 4.639",\
                 "0.3286, 0.3614, 0.4731, 0.6801, 0.9978, 1.44, 2.02, 2.75, 3.64, 4.703",\
                 "0.463, 0.497, 0.6067, 0.8101, 1.126, 1.566, 2.145, 2.875, 3.765, 4.825",\
                 "0.6337, 0.675, 0.8062, 1.024, 1.334, 1.77, 2.346, 3.074, 3.962, 5.02",\
                 "0.8412, 0.8876, 1.037, 1.291, 1.634, 2.068, 2.637, 3.36, 4.245, 5.299",\
                 "1.088, 1.141, 1.309, 1.591, 1.981, 2.461, 3.032, 3.746, 4.623, 5.677",\
                 "1.375, 1.435, 1.625, 1.937, 2.364, 2.9, 3.527, 4.247, 5.115, 6.161",\
                 "1.707, 1.774, 1.985, 2.331, 2.794, 3.376, 4.068, 4.85, 5.728, 6.763",\
                 "2.083, 2.159, 2.393, 2.774, 3.278, 3.901, 4.646, 5.502, 6.447, 7.494");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.2356, 0.2908, 0.4825, 0.8468, 1.412, 2.205, 3.253, 4.564, 6.179, 8.091",\
                 "0.2361, 0.291, 0.4822, 0.8458, 1.412, 2.208, 3.253, 4.562, 6.173, 8.09",\
                 "0.2428, 0.295, 0.4826, 0.8461, 1.414, 2.207, 3.252, 4.57, 6.177, 8.083",\
                 "0.2788, 0.3309, 0.5116, 0.8553, 1.413, 2.207, 3.25, 4.568, 6.179, 8.085",\
                 "0.3506, 0.3985, 0.5706, 0.9108, 1.443, 2.211, 3.248, 4.567, 6.18, 8.09",\
                 "0.464, 0.5102, 0.6756, 0.9992, 1.525, 2.267, 3.273, 4.564, 6.178, 8.091",\
                 "0.6084, 0.6552, 0.8206, 1.14, 1.645, 2.379, 3.353, 4.611, 6.178, 8.081",\
                 "0.7752, 0.8254, 0.9988, 1.321, 1.816, 2.529, 3.498, 4.722, 6.252, 8.104",\
                 "0.9586, 1.015, 1.199, 1.532, 2.038, 2.736, 3.679, 4.895, 6.392, 8.214",\
                 "1.152, 1.216, 1.425, 1.774, 2.292, 2.997, 3.921, 5.117, 6.599, 8.384");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.004059, 0.0148, 0.0353, 0.06725, 0.1121, 0.1711, 0.2454, 0.3361, 0.4442");
          values("0.366, 0.422, 0.6123, 0.9717, 1.527, 2.306, 3.329, 4.619, 6.189, 8.06",\
                 "0.3663, 0.4213, 0.612, 0.972, 1.528, 2.306, 3.33, 4.618, 6.191, 8.064",\
                 "0.3635, 0.4194, 0.6116, 0.9723, 1.528, 2.307, 3.329, 4.619, 6.193, 8.058",\
                 "0.4156, 0.4604, 0.6246, 0.9711, 1.528, 2.306, 3.33, 4.616, 6.19, 8.063",\
                 "0.5326, 0.5852, 0.7492, 1.036, 1.536, 2.306, 3.33, 4.619, 6.188, 8.063",\
                 "0.6588, 0.7182, 0.9096, 1.225, 1.663, 2.338, 3.331, 4.617, 6.19, 8.063",\
                 "0.8076, 0.8722, 1.081, 1.436, 1.919, 2.527, 3.398, 4.624, 6.188, 8.062",\
                 "0.972, 1.049, 1.279, 1.659, 2.195, 2.853, 3.649, 4.736, 6.207, 8.061",\
                 "1.155, 1.239, 1.501, 1.913, 2.478, 3.208, 4.051, 5.049, 6.37, 8.1",\
                 "1.353, 1.451, 1.741, 2.19, 2.789, 3.561, 4.487, 5.524, 6.747, 8.32");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nand4_4) {
    area : 70.246400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "6.58647e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "6.58647e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "6.59142e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "0.0001308483" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "0.0001308516" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "0.0001309176" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "0.0001310628" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "0.0001943799" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "0.0001945878" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "0.0002570007" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "0.0002047452" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002570007" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01721 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05372, 0.05347, 0.05317, 0.05295, 0.05303, 0.05298, 0.05303, \
                 0.05299, 0.05292, 0.05295");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02857, -0.02848, -0.02858, -0.02862, -0.02862, -0.02868, -0.02872, \
                 -0.0288, -0.0288, -0.02886");
        }
      }

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05372, 0.0535, 0.05317, 0.05296, 0.05298, 0.05306, 0.05303, \
                 0.05308, 0.05303, 0.05302");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02858, -0.0285, -0.0286, -0.02863, -0.02865, -0.02872, -0.02875, \
                 -0.02882, -0.02882, -0.0289");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05374, 0.0535, 0.05316, 0.05296, 0.05297, 0.05304, 0.05302, \
                 0.05307, 0.05304, 0.05302");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02858, -0.02851, -0.0286, -0.02863, -0.02865, -0.02875, -0.02876, \
                 -0.02879, -0.02882, -0.02888");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05365, 0.05353, 0.05326, 0.05304, 0.05299, 0.05306, 0.053, 0.05302, \
                 0.05298, 0.05296");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02859, -0.02854, -0.02862, -0.02863, -0.02864, -0.02873, -0.02877, \
                 -0.02882, -0.02885, -0.02897");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05321, 0.05315, 0.053, 0.05292, 0.053, 0.05302, 0.05304, 0.05306, \
                 0.05307, 0.05299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07866, 0.07873, 0.07861, 0.07847, 0.07837, 0.07804, 0.0779, \
                 0.07773, 0.07759, 0.07723");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05316, 0.05316, 0.05307, 0.05291, 0.05294, 0.05304, 0.05297, \
                 0.05302, 0.053, 0.05296");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07875, 0.0787, 0.07864, 0.07845, 0.07841, 0.07806, 0.07791, \
                 0.07767, 0.07753, 0.07713");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05319, 0.05316, 0.05308, 0.05291, 0.05291, 0.05303, 0.053, 0.053, \
                 0.05302, 0.05298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1426, 0.1427, 0.1426, 0.1424, 0.1422, 0.142, 0.1417, 0.1414, \
                 0.1411, 0.1407");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01726 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06439, 0.0642, 0.06472, 0.06557, 0.06634, 0.06706, 0.06752, \
                 0.06786, 0.06798, 0.06817");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04515, -0.04499, -0.0448, -0.04467, -0.04467, -0.04476, -0.04474, \
                 -0.04472, -0.04478, -0.04488");
        }
      }

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06332, 0.06307, 0.06373, 0.06482, 0.06581, 0.06662, 0.06717, \
                 0.06756, 0.0678, 0.06795");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04514, -0.04503, -0.04486, -0.04473, -0.04468, -0.04476, -0.04474, \
                 -0.04471, -0.04472, -0.0447");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05653, 0.05464, 0.05401, 0.05403, 0.05431, 0.05466, 0.05501, \
                 0.05526, 0.05545, 0.05553");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04511, -0.04502, -0.0448, -0.04476, -0.04466, -0.0448, -0.04476, \
                 -0.04475, -0.04477, -0.04486");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05461, 0.04897, 0.0453, 0.04496, 0.04479, 0.04491, 0.04491, \
                 0.04489, 0.04488, 0.04488");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04488, -0.04486, -0.04482, -0.04476, -0.04466, -0.04477, -0.04478, \
                 -0.04478, -0.04475, -0.04475");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05186, 0.0518, 0.05162, 0.05167, 0.05159, 0.05161, 0.05154, \
                 0.05158, 0.05152, 0.0514");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008348, 0.008454, 0.00849, 0.008368, 0.008242, 0.008039, 0.007888, \
                 0.007706, 0.007507, 0.007143");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05182, 0.05179, 0.05164, 0.05167, 0.05159, 0.05161, 0.05153, \
                 0.05157, 0.05147, 0.05141");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008356, 0.008435, 0.008447, 0.008354, 0.008236, 0.008044, 0.007846, \
                 0.007691, 0.007468, 0.007117");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05194, 0.05191, 0.05184, 0.05181, 0.05173, 0.05174, 0.05168, \
                 0.05171, 0.05166, 0.05153");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07238, 0.07247, 0.07253, 0.07234, 0.07217, 0.07184, 0.07167, \
                 0.07134, 0.07103, 0.07053");
        }
      }
    }

    pin(A3) {
      capacitance : 0.0165 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05104, 0.05142, 0.05143, 0.05118, 0.051, 0.05084, 0.05053, 0.05024, \
                 0.04987, 0.04951");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04516, -0.04502, -0.04475, -0.04471, -0.04469, -0.04476, -0.04472, \
                 -0.04476, -0.04466, -0.04471");
        }
      }

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04511, 0.04517, 0.04493, 0.04486, 0.0448, 0.04485, 0.04495, \
                 0.04492, 0.04489, 0.04491");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04489, -0.04487, -0.04482, -0.04471, -0.04465, -0.04475, -0.04478, \
                 -0.04475, -0.04473, -0.04476");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05522, 0.05722, 0.05781, 0.0581, 0.05821, 0.05826, 0.05828, \
                 0.05811, 0.0579, 0.05756");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0451, -0.04503, -0.04487, -0.0447, -0.04468, -0.04478, -0.04476, \
                 -0.04486, -0.04471, -0.04472");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04818, 0.04553, 0.04504, 0.04492, 0.04484, 0.04491, 0.04491, \
                 0.04491, 0.04493, 0.04492");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04489, -0.04489, -0.04484, -0.04478, -0.0447, -0.04479, -0.04479, \
                 -0.04479, -0.04473, -0.04476");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06022, 0.06089, 0.06154, 0.06216, 0.06265, 0.06314, 0.0634, \
                 0.06354, 0.06347, 0.06342");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04514, -0.04507, -0.04489, -0.04477, -0.04466, -0.04477, -0.04471, \
                 -0.04492, -0.0447, -0.04474");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05047, 0.04529, 0.04498, 0.0449, 0.04481, 0.04486, 0.04493, \
                 0.04494, 0.04489, 0.04492");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04493, -0.04493, -0.04489, -0.04475, -0.04468, -0.04478, -0.04478, \
                 -0.04476, -0.04472, -0.04476");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04558, 0.04554, 0.04547, 0.04542, 0.04535, 0.04539, 0.04534, \
                 0.04533, 0.04525, 0.04516");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04252, -0.04251, -0.04249, -0.04251, -0.04252, -0.04269, -0.04283, \
                 -0.04297, -0.04319, -0.04352");
        }
      }
    }

    pin(A4) {
      capacitance : 0.01605 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04522, 0.04538, 0.04503, 0.04489, 0.04485, 0.045, 0.04492, 0.04496, \
                 0.04493, 0.04495");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0452, -0.04496, -0.04476, -0.04465, -0.04463, -0.04473, -0.04469, \
                 -0.0447, -0.04469, -0.04471");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04529, 0.04518, 0.045, 0.04491, 0.04487, 0.04494, 0.04493, 0.0449, \
                 0.0449, 0.04493");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04498, -0.04488, -0.0448, -0.04477, -0.04478, -0.04477, -0.04478, \
                 -0.04473, -0.0447, -0.04472");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04519, 0.04539, 0.04506, 0.04493, 0.04487, 0.04497, 0.04491, \
                 0.04498, 0.04499, 0.04494");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04522, -0.045, -0.04483, -0.04469, -0.04464, -0.04477, -0.04476, \
                 -0.04473, -0.04467, -0.0447");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04526, 0.04519, 0.04505, 0.04497, 0.04486, 0.04495, 0.04493, \
                 0.04493, 0.04495, 0.0449");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04496, -0.0449, -0.04486, -0.04482, -0.04471, -0.04482, -0.04481, \
                 -0.04476, -0.04473, -0.04475");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0452, 0.04535, 0.04506, 0.04493, 0.04486, 0.04497, 0.04493, \
                 0.04496, 0.04499, 0.04495");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04522, -0.04501, -0.04481, -0.04469, -0.04465, -0.04476, -0.04475, \
                 -0.04471, -0.04473, -0.04469");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04526, 0.04515, 0.04503, 0.04495, 0.04487, 0.04493, 0.04492, \
                 0.04491, 0.04491, 0.04492");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04502, -0.04494, -0.04487, -0.04476, -0.04472, -0.0448, -0.04478, \
                 -0.04477, -0.04474, -0.04474");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04526, 0.04538, 0.04512, 0.04491, 0.04489, 0.04496, 0.04494, \
                 0.04497, 0.04495, 0.04496");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0452, -0.04503, -0.04489, -0.04473, -0.04472, -0.0448, -0.04478, \
                 -0.04474, -0.04469, -0.0447");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)|(!A2)|(!A3)|(!A4))" ;
      max_capacitance : 0.889 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.0446, 0.04489, 0.04522, 0.04547, 0.0456, 0.04566, 0.04571, 0.04571, 0.04571, 0.0457",\
                 "0.04275, 0.04321, 0.04409, 0.04476, 0.04517, 0.04536, 0.04551, 0.04557, 0.04565, 0.04562",\
                 "0.04462, 0.04473, 0.04485, 0.04503, 0.04531, 0.04542, 0.0455, 0.04557, 0.0456, 0.0456",\
                 "0.06146, 0.05977, 0.05608, 0.05292, 0.05068, 0.04919, 0.04819, 0.04754, 0.04711, 0.04676",\
                 "0.09809, 0.09395, 0.08425, 0.07444, 0.06671, 0.06122, 0.05731, 0.0545, 0.05253, 0.05105",\
                 "0.1568, 0.1502, 0.1335, 0.115, 0.09912, 0.08683, 0.07748, 0.0706, 0.06539, 0.06144",\
                 "0.2392, 0.2305, 0.2068, 0.1783, 0.152, 0.1305, 0.1134, 0.1001, 0.08967, 0.0815",\
                 "0.3462, 0.3356, 0.3058, 0.2669, 0.2291, 0.1962, 0.1689, 0.147, 0.1293, 0.115",\
                 "0.4795, 0.4673, 0.4319, 0.383, 0.3324, 0.287, 0.2476, 0.215, 0.1879, 0.1655",\
                 "0.6399, 0.6265, 0.5861, 0.5282, 0.4649, 0.4054, 0.353, 0.3077, 0.2691, 0.2365");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2135, 0.2149, 0.217, 0.2183, 0.2195, 0.221, 0.2227, 0.2249, 0.2268, 0.23",\
                 "0.2111, 0.213, 0.2166, 0.2193, 0.2217, 0.2238, 0.226, 0.2269, 0.2287, 0.2375",\
                 "0.2146, 0.2149, 0.2169, 0.2194, 0.222, 0.2249, 0.2267, 0.2282, 0.2301, 0.2398",\
                 "0.2335, 0.2319, 0.2295, 0.227, 0.227, 0.2279, 0.2286, 0.2309, 0.2337, 0.2377",\
                 "0.2753, 0.2709, 0.2614, 0.2522, 0.2454, 0.2405, 0.2392, 0.2378, 0.2384, 0.2444",\
                 "0.3418, 0.3351, 0.3178, 0.2988, 0.2835, 0.2715, 0.2623, 0.2573, 0.2543, 0.2577",\
                 "0.4347, 0.4255, 0.4015, 0.3719, 0.3457, 0.3237, 0.3065, 0.2926, 0.2825, 0.2852",\
                 "0.5549, 0.5442, 0.514, 0.474, 0.4338, 0.4017, 0.3732, 0.3503, 0.3333, 0.3319",\
                 "0.7038, 0.6918, 0.6561, 0.6063, 0.5536, 0.5059, 0.4676, 0.4318, 0.4053, 0.4082",\
                 "0.883, 0.8696, 0.8298, 0.7709, 0.7063, 0.6433, 0.589, 0.5453, 0.5084, 0.5319");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.04462, 0.04488, 0.04519, 0.04544, 0.04558, 0.04563, 0.04571, 0.04574, 0.04572, 0.04569",\
                 "0.04232, 0.04299, 0.04402, 0.04479, 0.04517, 0.04538, 0.0455, 0.04557, 0.04561, 0.04565",\
                 "0.04069, 0.04127, 0.04249, 0.04359, 0.04435, 0.04482, 0.04509, 0.04529, 0.0454, 0.04542",\
                 "0.05306, 0.05217, 0.05033, 0.04886, 0.0479, 0.04725, 0.04683, 0.04655, 0.04636, 0.04618",\
                 "0.08637, 0.08299, 0.07536, 0.06788, 0.06208, 0.05781, 0.0548, 0.05269, 0.05111, 0.04995",\
                 "0.1436, 0.1376, 0.1227, 0.1064, 0.09272, 0.08202, 0.07395, 0.0679, 0.06334, 0.05981",\
                 "0.2257, 0.2174, 0.195, 0.1683, 0.1441, 0.1244, 0.1088, 0.09662, 0.08697, 0.07942",\
                 "0.3334, 0.3232, 0.2941, 0.2565, 0.2204, 0.1892, 0.1637, 0.143, 0.1263, 0.1127",\
                 "0.468, 0.456, 0.4212, 0.3731, 0.3239, 0.2799, 0.2422, 0.2108, 0.1848, 0.1631",\
                 "0.6303, 0.6169, 0.5771, 0.5195, 0.457, 0.3987, 0.3474, 0.3033, 0.2658, 0.234");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2787, 0.279, 0.2796, 0.2802, 0.2813, 0.2827, 0.2841, 0.2863, 0.2885, 0.2953",\
                 "0.2774, 0.2783, 0.28, 0.2817, 0.283, 0.2846, 0.2871, 0.289, 0.2915, 0.2976",\
                 "0.2789, 0.2793, 0.2805, 0.2821, 0.2837, 0.286, 0.2881, 0.2906, 0.2939, 0.2999",\
                 "0.297, 0.2955, 0.2924, 0.2901, 0.2891, 0.2898, 0.29, 0.2926, 0.2949, 0.3014",\
                 "0.3384, 0.3347, 0.3254, 0.3159, 0.3078, 0.3037, 0.3009, 0.3012, 0.3011, 0.3067",\
                 "0.406, 0.4001, 0.3839, 0.365, 0.3484, 0.3356, 0.3257, 0.32, 0.3181, 0.3214",\
                 "0.5, 0.4924, 0.4706, 0.4408, 0.4132, 0.3896, 0.3712, 0.3586, 0.3482, 0.3498",\
                 "0.622, 0.6134, 0.5865, 0.5478, 0.5068, 0.4716, 0.4422, 0.4177, 0.3991, 0.3995",\
                 "0.7734, 0.7635, 0.733, 0.6864, 0.6329, 0.583, 0.5408, 0.5031, 0.4754, 0.4801",\
                 "0.9551, 0.9443, 0.9106, 0.8579, 0.7929, 0.7277, 0.6701, 0.6206, 0.5839, 0.6078");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.04467, 0.04482, 0.0452, 0.04542, 0.04553, 0.04561, 0.04568, 0.04569, 0.04568, 0.04566",\
                 "0.0421, 0.04276, 0.0439, 0.04468, 0.04513, 0.04535, 0.0455, 0.04556, 0.04561, 0.0456",\
                 "0.03787, 0.03875, 0.04084, 0.04263, 0.04375, 0.04443, 0.04482, 0.04508, 0.04522, 0.04533",\
                 "0.043, 0.04291, 0.04326, 0.04387, 0.04446, 0.04484, 0.0451, 0.04526, 0.04538, 0.0454",\
                 "0.06945, 0.06725, 0.06267, 0.05843, 0.05524, 0.05287, 0.05112, 0.04991, 0.04898, 0.04827",\
                 "0.1224, 0.1177, 0.1061, 0.0936, 0.08321, 0.07499, 0.06873, 0.06397, 0.06031, 0.05752",\
                 "0.2044, 0.197, 0.1775, 0.1545, 0.1338, 0.1168, 0.1033, 0.09251, 0.08405, 0.07724",\
                 "0.3154, 0.3058, 0.279, 0.2444, 0.2112, 0.1828, 0.1593, 0.1401, 0.1245, 0.1117",\
                 "0.4565, 0.4449, 0.4114, 0.3654, 0.3186, 0.2765, 0.2408, 0.2108, 0.1858, 0.1649",\
                 "0.6275, 0.6143, 0.5752, 0.5191, 0.4583, 0.401, 0.3509, 0.3083, 0.2716, 0.2404");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.3876, 0.3877, 0.3882, 0.3887, 0.3896, 0.3908, 0.3925, 0.3949, 0.3972, 0.4025",\
                 "0.3836, 0.3839, 0.3847, 0.3855, 0.3865, 0.3882, 0.3902, 0.3922, 0.3945, 0.4004",\
                 "0.3821, 0.382, 0.3826, 0.3833, 0.3851, 0.386, 0.3879, 0.3906, 0.3929, 0.3987",\
                 "0.3983, 0.397, 0.3938, 0.3907, 0.3901, 0.3898, 0.3909, 0.3916, 0.3939, 0.4002",\
                 "0.439, 0.4355, 0.4271, 0.4169, 0.4089, 0.404, 0.4011, 0.4002, 0.4009, 0.4056",\
                 "0.5074, 0.5023, 0.4865, 0.4677, 0.4499, 0.4368, 0.4272, 0.42, 0.4168, 0.4212",\
                 "0.6055, 0.5981, 0.5768, 0.547, 0.5185, 0.4929, 0.4741, 0.4586, 0.4486, 0.4503",\
                 "0.7334, 0.7251, 0.6982, 0.6588, 0.6167, 0.5798, 0.5467, 0.5216, 0.5015, 0.5028",\
                 "0.8933, 0.8832, 0.8526, 0.8046, 0.75, 0.6965, 0.6519, 0.6117, 0.5802, 0.5849",\
                 "1.086, 1.075, 1.041, 0.9865, 0.9188, 0.8502, 0.7882, 0.7348, 0.6931, 0.719");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.04463, 0.04491, 0.04522, 0.04545, 0.04557, 0.04564, 0.04569, 0.04571, 0.04573, 0.04568",\
                 "0.04213, 0.04279, 0.04394, 0.04467, 0.04512, 0.04535, 0.04549, 0.04559, 0.04563, 0.0456",\
                 "0.03747, 0.03844, 0.04059, 0.04252, 0.04364, 0.04435, 0.04475, 0.04502, 0.04518, 0.04524",\
                 "0.04092, 0.04105, 0.04189, 0.04293, 0.04383, 0.04445, 0.04483, 0.04508, 0.04525, 0.04531",\
                 "0.06566, 0.06398, 0.06015, 0.05663, 0.05406, 0.05221, 0.05073, 0.04961, 0.04876, 0.04811",\
                 "0.1183, 0.1142, 0.1037, 0.09224, 0.08272, 0.07518, 0.06925, 0.06464, 0.06099, 0.05809",\
                 "0.2018, 0.1952, 0.1772, 0.1553, 0.1357, 0.1194, 0.1061, 0.09543, 0.08685, 0.07988",\
                 "0.3175, 0.3083, 0.283, 0.2498, 0.2174, 0.1897, 0.1664, 0.1472, 0.1312, 0.118",\
                 "0.4661, 0.4549, 0.4223, 0.3777, 0.3315, 0.2897, 0.254, 0.2239, 0.1982, 0.1766",\
                 "0.6475, 0.6346, 0.5957, 0.5405, 0.4803, 0.4232, 0.3728, 0.3292, 0.292, 0.2598");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.4446, 0.4446, 0.4449, 0.4455, 0.4466, 0.4478, 0.4497, 0.4514, 0.454, 0.4599",\
                 "0.4404, 0.4405, 0.4409, 0.4416, 0.4429, 0.4442, 0.4461, 0.4477, 0.4508, 0.4559",\
                 "0.4402, 0.4399, 0.4397, 0.4401, 0.4408, 0.4423, 0.4434, 0.4454, 0.4485, 0.4542",\
                 "0.4578, 0.4559, 0.452, 0.4485, 0.4467, 0.4455, 0.4461, 0.4474, 0.4501, 0.4547",\
                 "0.5001, 0.4963, 0.4874, 0.4761, 0.4673, 0.4612, 0.4576, 0.4566, 0.4554, 0.461",\
                 "0.5721, 0.5663, 0.5497, 0.5299, 0.511, 0.4955, 0.485, 0.4778, 0.4727, 0.4767",\
                 "0.6756, 0.668, 0.645, 0.6138, 0.5832, 0.5555, 0.5345, 0.5183, 0.5064, 0.5086",\
                 "0.8119, 0.8029, 0.7746, 0.7324, 0.6873, 0.6464, 0.6117, 0.5834, 0.5617, 0.5614",\
                 "0.9831, 0.9731, 0.9399, 0.8887, 0.8297, 0.7718, 0.7215, 0.6787, 0.6451, 0.6484",\
                 "1.19, 1.179, 1.142, 1.083, 1.011, 0.9362, 0.8684, 0.8091, 0.7643, 0.7871");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.1222, 0.1538, 0.2642, 0.4747, 0.8023, 1.261, 1.865, 2.626, 3.554, 4.664",\
                 "0.1316, 0.1633, 0.2742, 0.4852, 0.8129, 1.272, 1.876, 2.637, 3.567, 4.672",\
                 "0.1689, 0.2024, 0.3115, 0.5219, 0.8494, 1.308, 1.913, 2.674, 3.603, 4.71",\
                 "0.2017, 0.2451, 0.3796, 0.5974, 0.9221, 1.38, 1.983, 2.743, 3.672, 4.778",\
                 "0.2209, 0.2747, 0.4372, 0.6976, 1.043, 1.496, 2.097, 2.855, 3.781, 4.887",\
                 "0.2217, 0.2866, 0.48, 0.7817, 1.181, 1.667, 2.264, 3.017, 3.941, 5.045",\
                 "0.2019, 0.2778, 0.5037, 0.8498, 1.299, 1.848, 2.489, 3.241, 4.159, 5.257",\
                 "0.1598, 0.2462, 0.5055, 0.8989, 1.402, 2.008, 2.718, 3.523, 4.443, 5.536",\
                 "0.0943, 0.1924, 0.4837, 0.9261, 1.485, 2.151, 2.924, 3.805, 4.786, 5.884",\
                 "0.0032, 0.1132, 0.4353, 0.9272, 1.545, 2.274, 3.111, 4.063, 5.125, 6.291");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.1322, 0.1634, 0.2706, 0.4735, 0.788, 1.23, 1.809, 2.541, 3.431, 4.499",\
                 "0.1483, 0.1798, 0.2885, 0.4925, 0.8082, 1.25, 1.831, 2.564, 3.456, 4.517",\
                 "0.2141, 0.2458, 0.353, 0.5566, 0.8726, 1.316, 1.896, 2.628, 3.523, 4.586",\
                 "0.3088, 0.3515, 0.4807, 0.6857, 0.9995, 1.44, 2.02, 2.753, 3.644, 4.71",\
                 "0.4245, 0.4773, 0.6362, 0.8844, 1.205, 1.641, 2.219, 2.949, 3.84, 4.904",\
                 "0.5611, 0.6257, 0.8161, 1.108, 1.486, 1.935, 2.507, 3.232, 4.118, 5.179",\
                 "0.7182, 0.7957, 1.021, 1.358, 1.791, 2.307, 2.895, 3.613, 4.495, 5.553",\
                 "0.8974, 0.9872, 1.25, 1.637, 2.123, 2.705, 3.367, 4.105, 4.981, 6.033",\
                 "1.099, 1.202, 1.502, 1.943, 2.486, 3.127, 3.866, 4.684, 5.582, 6.625",\
                 "1.325, 1.441, 1.779, 2.275, 2.881, 3.585, 4.391, 5.295, 6.276, 7.343");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2072, 0.2644, 0.4602, 0.8272, 1.396, 2.195, 3.242, 4.563, 6.176, 8.108",\
                 "0.2046, 0.2631, 0.4596, 0.8268, 1.396, 2.194, 3.244, 4.563, 6.181, 8.098",\
                 "0.2234, 0.2722, 0.4558, 0.8256, 1.395, 2.193, 3.243, 4.566, 6.179, 8.105",\
                 "0.2846, 0.3387, 0.5188, 0.8394, 1.396, 2.194, 3.242, 4.565, 6.179, 8.094",\
                 "0.3833, 0.4398, 0.6262, 0.958, 1.443, 2.195, 3.239, 4.563, 6.179, 8.099",\
                 "0.5024, 0.569, 0.7708, 1.12, 1.623, 2.295, 3.255, 4.559, 6.177, 8.103",\
                 "0.6386, 0.7184, 0.9526, 1.317, 1.844, 2.537, 3.415, 4.609, 6.174, 8.099",\
                 "0.7928, 0.8854, 1.153, 1.558, 2.102, 2.829, 3.723, 4.826, 6.261, 8.111",\
                 "0.956, 1.065, 1.372, 1.826, 2.408, 3.153, 4.089, 5.204, 6.547, 8.251",\
                 "1.137, 1.257, 1.612, 2.119, 2.755, 3.522, 4.486, 5.653, 7, 8.601");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.1805, 0.2336, 0.42, 0.7758, 1.332, 2.11, 3.141, 4.428, 6.012, 7.888",\
                 "0.1805, 0.2337, 0.42, 0.776, 1.332, 2.11, 3.136, 4.43, 6.007, 7.882",\
                 "0.1989, 0.2423, 0.42, 0.7764, 1.332, 2.112, 3.135, 4.426, 6.006, 7.889",\
                 "0.2784, 0.3279, 0.4767, 0.7816, 1.331, 2.11, 3.135, 4.428, 6.003, 7.88",\
                 "0.3776, 0.433, 0.6108, 0.8956, 1.357, 2.109, 3.138, 4.425, 6.002, 7.884",\
                 "0.4994, 0.5636, 0.7592, 1.092, 1.526, 2.167, 3.137, 4.424, 6.003, 7.894",\
                 "0.6392, 0.7166, 0.94, 1.299, 1.792, 2.394, 3.233, 4.432, 5.999, 7.89",\
                 "0.7896, 0.8842, 1.145, 1.535, 2.07, 2.737, 3.517, 4.577, 6.022, 7.883",\
                 "0.9522, 1.062, 1.369, 1.807, 2.371, 3.097, 3.944, 4.921, 6.224, 7.926",\
                 "1.129, 1.254, 1.607, 2.106, 2.716, 3.474, 4.402, 5.43, 6.625, 8.184");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.1629, 0.1948, 0.3054, 0.516, 0.8432, 1.302, 1.907, 2.668, 3.595, 4.704",\
                 "0.1707, 0.2029, 0.3142, 0.525, 0.8526, 1.312, 1.917, 2.678, 3.605, 4.716",\
                 "0.1909, 0.2255, 0.3387, 0.5502, 0.8782, 1.338, 1.942, 2.704, 3.632, 4.737",\
                 "0.2123, 0.2527, 0.3814, 0.6015, 0.9289, 1.388, 1.991, 2.752, 3.681, 4.789",\
                 "0.2213, 0.2713, 0.4228, 0.6688, 1.013, 1.47, 2.072, 2.831, 3.76, 4.867",\
                 "0.2102, 0.2707, 0.4512, 0.7326, 1.109, 1.59, 2.192, 2.948, 3.874, 4.979",\
                 "0.1754, 0.2464, 0.4574, 0.7819, 1.2, 1.718, 2.35, 3.108, 4.03, 5.132",\
                 "0.1162, 0.1966, 0.4384, 0.8081, 1.278, 1.842, 2.514, 3.307, 4.234, 5.332",\
                 "0.029, 0.1205, 0.3922, 0.808, 1.333, 1.952, 2.673, 3.51, 4.475, 5.582",\
                 "-0.0884, 0.0136, 0.3164, 0.7776, 1.359, 2.042, 2.82, 3.708, 4.72, 5.868");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.1732, 0.2039, 0.3108, 0.5132, 0.8275, 1.269, 1.849, 2.578, 3.474, 4.534",\
                 "0.1906, 0.2217, 0.3296, 0.5324, 0.8477, 1.289, 1.87, 2.599, 3.494, 4.556",\
                 "0.256, 0.2868, 0.3939, 0.5972, 0.9125, 1.353, 1.935, 2.666, 3.556, 4.625",\
                 "0.3679, 0.4062, 0.5249, 0.7266, 1.04, 1.48, 2.059, 2.789, 3.683, 4.748",\
                 "0.503, 0.5496, 0.6958, 0.9317, 1.246, 1.682, 2.259, 2.989, 3.877, 4.942",\
                 "0.6655, 0.7212, 0.8921, 1.169, 1.534, 1.977, 2.548, 3.272, 4.158, 5.22",\
                 "0.8538, 0.9195, 1.12, 1.435, 1.852, 2.356, 2.938, 3.655, 4.538, 5.593",\
                 "1.07, 1.146, 1.378, 1.736, 2.2, 2.767, 3.418, 4.149, 5.024, 6.074",\
                 "1.314, 1.401, 1.665, 2.069, 2.584, 3.206, 3.929, 4.736, 5.628, 6.668",\
                 "1.588, 1.686, 1.983, 2.437, 3.007, 3.684, 4.471, 5.359, 6.331, 7.39");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2123, 0.2679, 0.4608, 0.8267, 1.395, 2.194, 3.244, 4.567, 6.177, 8.102",\
                 "0.2123, 0.2677, 0.46, 0.8268, 1.396, 2.195, 3.245, 4.566, 6.179, 8.107",\
                 "0.2334, 0.2823, 0.4622, 0.8261, 1.395, 2.194, 3.242, 4.568, 6.18, 8.104",\
                 "0.2907, 0.3403, 0.5144, 0.8444, 1.397, 2.194, 3.241, 4.563, 6.179, 8.105",\
                 "0.391, 0.4392, 0.6062, 0.9306, 1.437, 2.198, 3.243, 4.565, 6.18, 8.107",\
                 "0.5168, 0.5714, 0.7448, 1.063, 1.564, 2.27, 3.258, 4.565, 6.177, 8.102",\
                 "0.66, 0.724, 0.9188, 1.246, 1.739, 2.439, 3.366, 4.603, 6.179, 8.096",\
                 "0.8174, 0.8908, 1.114, 1.471, 1.968, 2.662, 3.58, 4.746, 6.247, 8.117",\
                 "0.9918, 1.072, 1.328, 1.724, 2.254, 2.941, 3.856, 5.008, 6.433, 8.209",\
                 "1.175, 1.271, 1.558, 2, 2.57, 3.274, 4.183, 5.332, 6.746, 8.44");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2381, 0.2918, 0.4792, 0.8359, 1.391, 2.169, 3.193, 4.478, 6.058, 7.927",\
                 "0.2385, 0.2923, 0.4798, 0.8361, 1.392, 2.169, 3.193, 4.478, 6.056, 7.928",\
                 "0.2443, 0.2937, 0.4789, 0.8361, 1.392, 2.17, 3.193, 4.483, 6.052, 7.936",\
                 "0.3249, 0.3717, 0.5187, 0.8387, 1.391, 2.17, 3.192, 4.483, 6.057, 7.934",\
                 "0.4254, 0.4804, 0.6542, 0.9368, 1.409, 2.169, 3.193, 4.482, 6.056, 7.933",\
                 "0.5488, 0.6106, 0.805, 1.133, 1.566, 2.217, 3.195, 4.483, 6.058, 7.934",\
                 "0.6892, 0.7628, 0.982, 1.339, 1.831, 2.433, 3.282, 4.491, 6.057, 7.932",\
                 "0.8446, 0.9308, 1.186, 1.57, 2.106, 2.774, 3.556, 4.624, 6.081, 7.932",\
                 "1.012, 1.114, 1.404, 1.836, 2.402, 3.131, 3.976, 4.96, 6.264, 7.98",\
                 "1.19, 1.309, 1.646, 2.126, 2.733, 3.498, 4.42, 5.459, 6.664, 8.218");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2113, 0.2431, 0.3537, 0.564, 0.8913, 1.351, 1.955, 2.715, 3.645, 4.753",\
                 "0.2203, 0.2526, 0.3643, 0.5751, 0.9028, 1.362, 1.967, 2.728, 3.657, 4.763",\
                 "0.2389, 0.2725, 0.3855, 0.5972, 0.9255, 1.385, 1.99, 2.752, 3.679, 4.789",\
                 "0.2456, 0.2837, 0.4075, 0.6258, 0.9539, 1.413, 2.018, 2.779, 3.707, 4.815",\
                 "0.237, 0.2825, 0.4223, 0.6577, 0.9984, 1.457, 2.06, 2.82, 3.747, 4.853",\
                 "0.2027, 0.2581, 0.4239, 0.6843, 1.046, 1.522, 2.125, 2.882, 3.808, 4.913",\
                 "0.1397, 0.2053, 0.3991, 0.6969, 1.087, 1.587, 2.212, 2.972, 3.894, 4.995",\
                 "0.048, 0.1225, 0.345, 0.6846, 1.118, 1.647, 2.297, 3.082, 4.01, 5.107",\
                 "-0.0755, 0.0086, 0.2584, 0.6402, 1.122, 1.696, 2.377, 3.189, 4.145, 5.252",\
                 "-0.2333, -0.14, 0.1388, 0.5612, 1.096, 1.722, 2.447, 3.29, 4.274, 5.412");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.229, 0.2617, 0.3733, 0.5801, 0.8978, 1.341, 1.923, 2.654, 3.548, 4.61",\
                 "0.2437, 0.2767, 0.3886, 0.5957, 0.9133, 1.357, 1.938, 2.671, 3.561, 4.629",\
                 "0.3066, 0.3393, 0.4509, 0.658, 0.976, 1.419, 2.001, 2.733, 3.624, 4.69",\
                 "0.435, 0.4704, 0.583, 0.7868, 1.103, 1.545, 2.125, 2.856, 3.748, 4.814",\
                 "0.5939, 0.6367, 0.7735, 0.9973, 1.31, 1.748, 2.325, 3.055, 3.945, 5.009",\
                 "0.7843, 0.8343, 0.9917, 1.254, 1.605, 2.043, 2.615, 3.339, 4.226, 5.285",\
                 "1.008, 1.065, 1.246, 1.541, 1.942, 2.43, 3.007, 3.724, 4.606, 5.661",\
                 "1.264, 1.331, 1.536, 1.867, 2.309, 2.859, 3.495, 4.221, 5.094, 6.143",\
                 "1.558, 1.632, 1.864, 2.233, 2.72, 3.318, 4.025, 4.818, 5.702, 6.742",\
                 "1.887, 1.969, 2.228, 2.64, 3.174, 3.822, 4.587, 5.457, 6.414, 7.468");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2139, 0.2684, 0.4607, 0.8266, 1.395, 2.194, 3.241, 4.563, 6.181, 8.11",\
                 "0.2136, 0.2686, 0.4605, 0.8271, 1.395, 2.194, 3.245, 4.567, 6.181, 8.093",\
                 "0.2266, 0.2761, 0.4615, 0.8258, 1.397, 2.192, 3.244, 4.568, 6.172, 8.107",\
                 "0.274, 0.3244, 0.5011, 0.8397, 1.396, 2.194, 3.243, 4.565, 6.178, 8.102",\
                 "0.3643, 0.409, 0.574, 0.9074, 1.431, 2.199, 3.241, 4.564, 6.176, 8.099",\
                 "0.4976, 0.5436, 0.7018, 1.012, 1.528, 2.26, 3.261, 4.562, 6.173, 8.099",\
                 "0.6564, 0.7054, 0.8716, 1.176, 1.665, 2.39, 3.352, 4.606, 6.181, 8.103",\
                 "0.8316, 0.89, 1.069, 1.387, 1.866, 2.562, 3.516, 4.726, 6.254, 8.119",\
                 "1.021, 1.084, 1.288, 1.632, 2.123, 2.793, 3.724, 4.927, 6.406, 8.217",\
                 "1.227, 1.296, 1.523, 1.901, 2.418, 3.093, 3.994, 5.171, 6.644, 8.41");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.321, 0.3764, 0.5669, 0.9276, 1.485, 2.266, 3.292, 4.583, 6.156, 8.034",\
                 "0.3206, 0.3765, 0.567, 0.9275, 1.485, 2.266, 3.291, 4.582, 6.162, 8.035",\
                 "0.3188, 0.3749, 0.5667, 0.9281, 1.485, 2.265, 3.292, 4.584, 6.16, 8.032",\
                 "0.3832, 0.4264, 0.5857, 0.9279, 1.485, 2.266, 3.29, 4.583, 6.162, 8.034",\
                 "0.4936, 0.5472, 0.7162, 1.001, 1.495, 2.265, 3.291, 4.583, 6.16, 8.035",\
                 "0.619, 0.681, 0.8738, 1.195, 1.632, 2.302, 3.292, 4.583, 6.159, 8.038",\
                 "0.766, 0.8356, 1.05, 1.407, 1.893, 2.498, 3.366, 4.59, 6.158, 8.037",\
                 "0.929, 1.01, 1.251, 1.636, 2.17, 2.833, 3.624, 4.708, 6.178, 8.036",\
                 "1.106, 1.199, 1.473, 1.898, 2.464, 3.192, 4.035, 5.03, 6.346, 8.077",\
                 "1.296, 1.404, 1.717, 2.18, 2.786, 3.554, 4.478, 5.514, 6.732, 8.306");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2241, 0.2559, 0.3666, 0.5769, 0.9046, 1.363, 1.968, 2.729, 3.658, 4.763",\
                 "0.2326, 0.2648, 0.3762, 0.587, 0.9145, 1.374, 1.978, 2.74, 3.669, 4.774",\
                 "0.2459, 0.279, 0.3917, 0.6037, 0.932, 1.392, 1.996, 2.758, 3.687, 4.793",\
                 "0.2436, 0.2798, 0.4004, 0.6167, 0.945, 1.405, 2.008, 2.77, 3.7, 4.807",\
                 "0.2195, 0.261, 0.3924, 0.6214, 0.9593, 1.418, 2.02, 2.78, 3.709, 4.816",\
                 "0.1631, 0.2126, 0.3639, 0.6121, 0.9648, 1.438, 2.041, 2.798, 3.723, 4.828",\
                 "0.07, 0.1293, 0.3048, 0.5815, 0.958, 1.448, 2.068, 2.828, 3.749, 4.85",\
                 "-0.0594, 0.0084, 0.21, 0.5211, 0.9299, 1.445, 2.083, 2.863, 3.791, 4.888",\
                 "-0.2269, -0.1503, 0.0779, 0.4242, 0.8715, 1.421, 2.086, 2.884, 3.834, 4.942",\
                 "-0.4355, -0.3505, -0.0969, 0.2884, 0.7775, 1.367, 2.067, 2.892, 3.861, 4.992");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2498, 0.284, 0.3993, 0.61, 0.9306, 1.376, 1.959, 2.691, 3.585, 4.651",\
                 "0.2645, 0.2987, 0.4141, 0.6248, 0.9456, 1.391, 1.973, 2.706, 3.599, 4.665",\
                 "0.3284, 0.3625, 0.4773, 0.6877, 1.008, 1.453, 2.036, 2.769, 3.663, 4.725",\
                 "0.4643, 0.4987, 0.6107, 0.8175, 1.136, 1.579, 2.161, 2.893, 3.785, 4.848",\
                 "0.6375, 0.6795, 0.8124, 1.031, 1.344, 1.783, 2.361, 3.091, 3.982, 5.045",\
                 "0.8466, 0.894, 1.045, 1.301, 1.644, 2.08, 2.653, 3.377, 4.264, 5.325",\
                 "1.094, 1.149, 1.318, 1.602, 1.993, 2.474, 3.047, 3.764, 4.646, 5.7",\
                 "1.384, 1.445, 1.636, 1.949, 2.378, 2.915, 3.542, 4.264, 5.136, 6.185",\
                 "1.717, 1.785, 1.998, 2.345, 2.81, 3.392, 4.085, 4.868, 5.748, 6.786",\
                 "2.095, 2.17, 2.408, 2.789, 3.295, 3.919, 4.666, 5.522, 6.468, 7.517");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.2137, 0.2688, 0.4602, 0.8259, 1.395, 2.193, 3.244, 4.567, 6.182, 8.099",\
                 "0.2138, 0.2686, 0.4608, 0.8266, 1.395, 2.194, 3.244, 4.567, 6.182, 8.09",\
                 "0.2211, 0.2724, 0.4611, 0.8259, 1.396, 2.195, 3.244, 4.568, 6.18, 8.096",\
                 "0.2568, 0.3087, 0.4897, 0.8366, 1.396, 2.194, 3.241, 4.565, 6.181, 8.103",\
                 "0.3268, 0.3741, 0.547, 0.8902, 1.425, 2.198, 3.24, 4.563, 6.179, 8.103",\
                 "0.4404, 0.4858, 0.6512, 0.9782, 1.507, 2.252, 3.262, 4.561, 6.178, 8.102",\
                 "0.5874, 0.634, 0.7982, 1.117, 1.624, 2.363, 3.343, 4.602, 6.181, 8.097",\
                 "0.7604, 0.8082, 0.979, 1.299, 1.797, 2.513, 3.484, 4.717, 6.25, 8.117",\
                 "0.9498, 1.003, 1.183, 1.514, 2.016, 2.718, 3.667, 4.892, 6.392, 8.218",\
                 "1.149, 1.211, 1.41, 1.76, 2.275, 2.982, 3.908, 5.109, 6.599, 8.391");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.007129, 0.02864, 0.06973, 0.1337, 0.2235, 0.3417, 0.4906, 0.6724, 0.889");
          values("0.3669, 0.423, 0.6171, 0.9802, 1.539, 2.321, 3.348, 4.641, 6.218, 8.095",\
                 "0.3667, 0.4229, 0.6173, 0.98, 1.539, 2.321, 3.348, 4.64, 6.219, 8.1",\
                 "0.3623, 0.4209, 0.6164, 0.9791, 1.539, 2.321, 3.348, 4.641, 6.217, 8.1",\
                 "0.4106, 0.4574, 0.6263, 0.9788, 1.539, 2.321, 3.347, 4.64, 6.218, 8.098",\
                 "0.5268, 0.5812, 0.748, 1.039, 1.546, 2.321, 3.348, 4.641, 6.217, 8.098",\
                 "0.6524, 0.7152, 0.9096, 1.229, 1.669, 2.351, 3.349, 4.64, 6.217, 8.097",\
                 "0.8006, 0.8686, 1.083, 1.441, 1.925, 2.536, 3.415, 4.646, 6.216, 8.097",\
                 "0.9648, 1.043, 1.28, 1.664, 2.202, 2.863, 3.662, 4.756, 6.234, 8.095",\
                 "1.145, 1.236, 1.497, 1.915, 2.485, 3.219, 4.061, 5.066, 6.395, 8.136",\
                 "1.339, 1.439, 1.738, 2.194, 2.796, 3.572, 4.5, 5.539, 6.77, 8.352");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nor2_1) {
    area : 13.171200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "4.39791e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "4.76817e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "4.76817e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004394 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01265, 0.01277, 0.01271, 0.01276, 0.01272, 0.01274, 0.01272, \
                 0.01271, 0.0127, 0.01268");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005323, -0.005318, -0.005329, -0.005339, -0.005333, -0.005344, \
                 -0.005344, -0.005349, -0.00535, -0.005348");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004154 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01625, 0.01629, 0.01628, 0.01627, 0.01629, 0.01629, \
                 0.01632, 0.0163, 0.01629");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0136, -0.01471, -0.01567, -0.01584, -0.01592, -0.01599, -0.01601, \
                 -0.01605, -0.01606, -0.01608");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)&(!A2))" ;
      max_capacitance : 0.1829 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.001066, 0.001203, 0.001425, 0.001579, 0.001655, 0.0017, 0.001694, 0.001709, 0.001714, 0.001717",\
                 "0.0009477, 0.001169, 0.001674, 0.002049, 0.002239, 0.002368, 0.002435, 0.002463, 0.002483, 0.00249",\
                 "0.002075, 0.002153, 0.002382, 0.002664, 0.002832, 0.002944, 0.003014, 0.003059, 0.003083, 0.003102",\
                 "0.007135, 0.006758, 0.005972, 0.005306, 0.00481, 0.004452, 0.004195, 0.003996, 0.003845, 0.003739",\
                 "0.01788, 0.01693, 0.01465, 0.01226, 0.0103, 0.008789, 0.007649, 0.006769, 0.006086, 0.005586",\
                 "0.03482, 0.03336, 0.02948, 0.02493, 0.02081, 0.01749, 0.01484, 0.01273, 0.01106, 0.009736",\
                 "0.05829, 0.05645, 0.05109, 0.04418, 0.03751, 0.03177, 0.02702, 0.02313, 0.01997, 0.01739",\
                 "0.08868, 0.08644, 0.07984, 0.07075, 0.06124, 0.05266, 0.0453, 0.03908, 0.03389, 0.02954",\
                 "0.1263, 0.1237, 0.1161, 0.105, 0.09266, 0.08095, 0.07054, 0.06152, 0.05385, 0.04727",\
                 "0.1716, 0.1687, 0.1601, 0.1471, 0.1322, 0.1173, 0.1036, 0.09144, 0.08077, 0.07143");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.04471, 0.04492, 0.04493, 0.04519, 0.04526, 0.04514, 0.04499, 0.04478, 0.04461, 0.0458",\
                 "0.04359, 0.04388, 0.0445, 0.04457, 0.04489, 0.04491, 0.04482, 0.04469, 0.04457, 0.04573",\
                 "0.04513, 0.04494, 0.04494, 0.04501, 0.04473, 0.04474, 0.04469, 0.04455, 0.04451, 0.04581",\
                 "0.05229, 0.05162, 0.04988, 0.04824, 0.04714, 0.04642, 0.04581, 0.04535, 0.045, 0.04643",\
                 "0.06522, 0.06407, 0.06118, 0.05755, 0.05433, 0.05292, 0.05152, 0.04861, 0.04741, 0.04886",\
                 "0.08462, 0.08297, 0.07867, 0.07318, 0.06773, 0.06282, 0.05901, 0.05604, 0.05354, 0.05431",\
                 "0.1112, 0.1091, 0.1032, 0.09581, 0.08819, 0.08061, 0.07433, 0.06894, 0.06484, 0.06511",\
                 "0.1454, 0.1428, 0.1355, 0.126, 0.1159, 0.106, 0.09683, 0.08844, 0.08233, 0.08234",\
                 "0.1876, 0.1847, 0.1761, 0.1643, 0.1517, 0.1393, 0.1272, 0.1161, 0.1069, 0.1089",\
                 "0.2384, 0.2352, 0.2254, 0.2115, 0.1963, 0.1811, 0.1661, 0.1523, 0.1415, 0.1492");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.01215, 0.01216, 0.01207, 0.01212, 0.01214, 0.01215, 0.01217, 0.0122, 0.0122, 0.01219",\
                 "0.01108, 0.01112, 0.01118, 0.01122, 0.01124, 0.01126, 0.01127, 0.01128, 0.01128, 0.01128",\
                 "0.01135, 0.0113, 0.01112, 0.01098, 0.01092, 0.01086, 0.01082, 0.01079, 0.01078, 0.01075",\
                 "0.0164, 0.01597, 0.01487, 0.01372, 0.01283, 0.01221, 0.01178, 0.01146, 0.01125, 0.01108",\
                 "0.02798, 0.02704, 0.02446, 0.02155, 0.01899, 0.017, 0.01549, 0.01439, 0.01357, 0.01295",\
                 "0.04692, 0.04542, 0.04127, 0.03598, 0.03097, 0.02682, 0.0235, 0.02093, 0.01894, 0.01738",\
                 "0.07363, 0.07167, 0.06595, 0.05816, 0.05022, 0.04316, 0.03733, 0.03258, 0.02876, 0.02571",\
                 "0.1085, 0.1061, 0.09904, 0.08885, 0.07774, 0.06733, 0.05825, 0.05065, 0.04437, 0.03917",\
                 "0.1518, 0.1491, 0.1409, 0.1285, 0.1143, 0.1003, 0.08753, 0.07644, 0.06703, 0.05909",\
                 "0.204, 0.2011, 0.1919, 0.1775, 0.1603, 0.1427, 0.1261, 0.1111, 0.09799, 0.08663");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.05634, 0.05648, 0.05698, 0.05681, 0.05684, 0.05675, 0.05657, 0.05633, 0.05622, 0.05735",\
                 "0.05513, 0.05538, 0.0559, 0.05632, 0.05648, 0.05652, 0.05641, 0.0563, 0.05612, 0.0574",\
                 "0.05496, 0.05499, 0.05523, 0.05564, 0.05601, 0.05613, 0.05618, 0.05607, 0.05603, 0.05729",\
                 "0.06022, 0.05978, 0.05868, 0.05784, 0.05733, 0.05695, 0.05667, 0.0564, 0.05622, 0.05769",\
                 "0.07346, 0.07238, 0.06964, 0.06655, 0.0639, 0.06197, 0.06053, 0.0594, 0.05857, 0.05996",\
                 "0.09538, 0.09362, 0.08904, 0.08333, 0.07796, 0.07342, 0.06984, 0.06706, 0.0648, 0.06557",\
                 "0.1258, 0.1235, 0.1172, 0.1089, 0.1007, 0.09299, 0.08637, 0.08105, 0.07696, 0.07702",\
                 "0.1649, 0.1623, 0.1545, 0.1437, 0.1323, 0.1217, 0.1116, 0.103, 0.09623, 0.09538",\
                 "0.2134, 0.2104, 0.2014, 0.1883, 0.1737, 0.1597, 0.1465, 0.1344, 0.1242, 0.1237",\
                 "0.2715, 0.2682, 0.2581, 0.243, 0.2256, 0.2081, 0.1912, 0.1757, 0.1627, 0.1653");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.06821, 0.08156, 0.1277, 0.2156, 0.352, 0.5433, 0.795, 1.111, 1.498, 1.96",\
                 "0.08258, 0.09611, 0.1428, 0.2309, 0.3677, 0.5591, 0.8106, 1.128, 1.515, 1.976",\
                 "0.1132, 0.1333, 0.1926, 0.2836, 0.4201, 0.6114, 0.8632, 1.18, 1.567, 2.028",\
                 "0.1234, 0.1523, 0.2366, 0.364, 0.5202, 0.7123, 0.9633, 1.28, 1.666, 2.128",\
                 "0.1074, 0.1457, 0.257, 0.4218, 0.626, 0.8611, 1.122, 1.438, 1.823, 2.283",\
                 "0.0625, 0.1098, 0.249, 0.4536, 0.7037, 0.9924, 1.313, 1.66, 2.047, 2.505",\
                 "-0.0131, 0.0436, 0.2087, 0.4542, 0.7533, 1.094, 1.474, 1.887, 2.329, 2.802",\
                 "-0.1227, -0.0564, 0.1356, 0.4208, 0.7702, 1.166, 1.604, 2.08, 2.593, 3.136",\
                 "-0.2683, -0.1928, 0.027, 0.3506, 0.7495, 1.203, 1.701, 2.241, 2.821, 3.438",\
                 "-0.453, -0.3677, -0.1204, 0.2439, 0.6912, 1.203, 1.763, 2.368, 3.014, 3.703");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.138, 0.1711, 0.2848, 0.5004, 0.8351, 1.304, 1.92, 2.697, 3.646, 4.776",\
                 "0.1476, 0.1808, 0.2961, 0.5123, 0.8483, 1.317, 1.934, 2.711, 3.66, 4.791",\
                 "0.2079, 0.2404, 0.3514, 0.5658, 0.9008, 1.37, 1.987, 2.764, 3.713, 4.844",\
                 "0.3057, 0.3461, 0.4734, 0.6857, 1.015, 1.481, 2.095, 2.871, 3.818, 4.949",\
                 "0.4359, 0.4841, 0.6327, 0.8771, 1.208, 1.666, 2.274, 3.046, 3.99, 5.118",\
                 "0.5975, 0.6552, 0.8276, 1.104, 1.478, 1.941, 2.542, 3.305, 4.243, 5.365",\
                 "0.7908, 0.8595, 1.06, 1.37, 1.784, 2.298, 2.908, 3.661, 4.591, 5.706",\
                 "1.017, 1.097, 1.329, 1.679, 2.131, 2.693, 3.359, 4.123, 5.043, 6.147",\
                 "1.279, 1.37, 1.634, 2.027, 2.526, 3.13, 3.852, 4.678, 5.608, 6.702",\
                 "1.579, 1.68, 1.978, 2.417, 2.966, 3.619, 4.386, 5.277, 6.272, 7.379");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.07506, 0.09698, 0.174, 0.3214, 0.5519, 0.874, 1.295, 1.829, 2.482, 3.259",\
                 "0.07526, 0.097, 0.1741, 0.3213, 0.55, 0.8739, 1.297, 1.831, 2.482, 3.26",\
                 "0.121, 0.1415, 0.2023, 0.3254, 0.5513, 0.8732, 1.297, 1.83, 2.482, 3.26",\
                 "0.1902, 0.2168, 0.2995, 0.4265, 0.5956, 0.8787, 1.297, 1.831, 2.482, 3.259",\
                 "0.2785, 0.3141, 0.4162, 0.572, 0.774, 1.011, 1.344, 1.835, 2.481, 3.258",\
                 "0.383, 0.4284, 0.5568, 0.7408, 0.9782, 1.26, 1.58, 1.972, 2.525, 3.261",\
                 "0.5032, 0.5596, 0.7152, 0.9372, 1.206, 1.528, 1.901, 2.313, 2.778, 3.393",\
                 "0.6398, 0.7062, 0.8912, 1.155, 1.469, 1.822, 2.24, 2.706, 3.218, 3.766",\
                 "0.7902, 0.8708, 1.089, 1.393, 1.751, 2.158, 2.606, 3.122, 3.69, 4.307",\
                 "0.9506, 1.045, 1.301, 1.649, 2.062, 2.515, 3.016, 3.569, 4.194, 4.864");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.2116, 0.268, 0.4662, 0.8442, 1.432, 2.253, 3.336, 4.699, 6.365, 8.352",\
                 "0.2109, 0.2677, 0.4664, 0.8432, 1.432, 2.253, 3.336, 4.701, 6.367, 8.349",\
                 "0.2287, 0.2764, 0.4656, 0.8429, 1.432, 2.255, 3.336, 4.701, 6.366, 8.35",\
                 "0.2832, 0.3399, 0.5151, 0.8492, 1.431, 2.254, 3.336, 4.7, 6.365, 8.352",\
                 "0.3606, 0.4174, 0.6124, 0.9436, 1.453, 2.254, 3.339, 4.7, 6.368, 8.351",\
                 "0.4628, 0.5256, 0.726, 1.088, 1.593, 2.302, 3.339, 4.702, 6.367, 8.354",\
                 "0.5836, 0.657, 0.8736, 1.245, 1.793, 2.486, 3.422, 4.707, 6.368, 8.351",\
                 "0.7206, 0.803, 1.047, 1.434, 2.004, 2.75, 3.651, 4.831, 6.388, 8.353",\
                 "0.8682, 0.9646, 1.24, 1.661, 2.238, 3.024, 3.984, 5.108, 6.553, 8.398",\
                 "1.029, 1.141, 1.458, 1.913, 2.517, 3.317, 4.326, 5.509, 6.879, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.09093, 0.1054, 0.1545, 0.2447, 0.3827, 0.5749, 0.8271, 1.144, 1.532, 1.993",\
                 "0.104, 0.1186, 0.1675, 0.2578, 0.3957, 0.588, 0.8402, 1.158, 1.545, 2.006",\
                 "0.1471, 0.165, 0.219, 0.3088, 0.4465, 0.6385, 0.8907, 1.208, 1.595, 2.056",\
                 "0.1776, 0.2026, 0.2788, 0.397, 0.5478, 0.7394, 0.9906, 1.307, 1.694, 2.154",\
                 "0.1882, 0.2203, 0.3184, 0.4704, 0.6648, 0.8925, 1.151, 1.466, 1.851, 2.311",\
                 "0.1767, 0.2161, 0.336, 0.522, 0.7578, 1.036, 1.349, 1.69, 2.076, 2.533",\
                 "0.1428, 0.1888, 0.3297, 0.5497, 0.8281, 1.153, 1.521, 1.927, 2.363, 2.832",\
                 "0.0861, 0.1384, 0.2989, 0.5519, 0.873, 1.248, 1.668, 2.133, 2.637, 3.174",\
                 "0.0054, 0.0637, 0.2434, 0.5274, 0.891, 1.314, 1.79, 2.311, 2.879, 3.487",\
                 "-0.1018, -0.0368, 0.1621, 0.4756, 0.8804, 1.354, 1.883, 2.464, 3.091, 3.767");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.1767, 0.2096, 0.3231, 0.5386, 0.8731, 1.341, 1.958, 2.735, 3.683, 4.814",\
                 "0.1886, 0.2219, 0.3371, 0.5536, 0.8885, 1.358, 1.975, 2.752, 3.7, 4.831",\
                 "0.2289, 0.2627, 0.3769, 0.5935, 0.9294, 1.399, 2.017, 2.794, 3.743, 4.873",\
                 "0.2902, 0.3282, 0.4526, 0.6702, 1.002, 1.47, 2.086, 2.863, 3.811, 4.941",\
                 "0.3828, 0.4263, 0.5612, 0.7948, 1.131, 1.592, 2.203, 2.976, 3.922, 5.05",\
                 "0.502, 0.5529, 0.7078, 0.9567, 1.313, 1.782, 2.384, 3.15, 4.089, 5.213",\
                 "0.6435, 0.7035, 0.882, 1.159, 1.534, 2.025, 2.639, 3.395, 4.326, 5.442",\
                 "0.808, 0.8769, 1.081, 1.393, 1.798, 2.311, 2.949, 3.72, 4.64, 5.746",\
                 "0.9968, 1.075, 1.305, 1.655, 2.1, 2.643, 3.303, 4.102, 5.039, 6.135",\
                 "1.21, 1.298, 1.554, 1.944, 2.434, 3.018, 3.708, 4.531, 5.498, 6.616");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.1075, 0.1308, 0.2093, 0.3577, 0.5871, 0.9095, 1.332, 1.865, 2.516, 3.291",\
                 "0.1061, 0.1296, 0.209, 0.3575, 0.5872, 0.9094, 1.333, 1.866, 2.516, 3.292",\
                 "0.1462, 0.1656, 0.2257, 0.3584, 0.5871, 0.9094, 1.332, 1.866, 2.516, 3.291",\
                 "0.2236, 0.2493, 0.3285, 0.4505, 0.6238, 0.9128, 1.332, 1.866, 2.516, 3.292",\
                 "0.3209, 0.3536, 0.4496, 0.6014, 0.7988, 1.035, 1.375, 1.87, 2.516, 3.291",\
                 "0.437, 0.4784, 0.5962, 0.7736, 1.005, 1.286, 1.601, 2, 2.557, 3.296",\
                 "0.5704, 0.6218, 0.7658, 0.9736, 1.234, 1.554, 1.923, 2.332, 2.801, 3.424",\
                 "0.7226, 0.7832, 0.9552, 1.2, 1.495, 1.847, 2.258, 2.727, 3.237, 3.789",\
                 "0.8936, 0.9636, 1.166, 1.451, 1.791, 2.177, 2.624, 3.137, 3.708, 4.322",\
                 "1.084, 1.168, 1.399, 1.727, 2.112, 2.544, 3.028, 3.579, 4.202, 4.876");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002256, 0.006663, 0.01508, 0.02819, 0.04659, 0.0708, 0.1013, 0.1385, 0.1829");
          values("0.213, 0.2692, 0.4664, 0.8442, 1.431, 2.253, 3.336, 4.701, 6.367, 8.35",\
                 "0.2132, 0.2693, 0.467, 0.8443, 1.43, 2.254, 3.336, 4.699, 6.365, 8.351",\
                 "0.23, 0.2791, 0.4674, 0.8445, 1.432, 2.254, 3.337, 4.701, 6.367, 8.351",\
                 "0.2832, 0.3352, 0.5115, 0.8534, 1.431, 2.253, 3.337, 4.7, 6.366, 8.353",\
                 "0.368, 0.417, 0.59, 0.929, 1.458, 2.256, 3.337, 4.702, 6.369, 8.352",\
                 "0.4786, 0.5304, 0.7028, 1.036, 1.563, 2.306, 3.343, 4.702, 6.366, 8.349",\
                 "0.6032, 0.6638, 0.8542, 1.181, 1.706, 2.442, 3.423, 4.719, 6.368, 8.356",\
                 "0.742, 0.8088, 1.02, 1.37, 1.88, 2.622, 3.591, 4.829, 6.404, 8.352",\
                 "0.8934, 0.9686, 1.205, 1.587, 2.111, 2.833, 3.811, 5.032, 6.546, 8.424",\
                 "1.059, 1.142, 1.402, 1.824, 2.384, 3.097, 4.061, 5.296, 6.786, 8.591");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nor2_2) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "6.61749e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "7.35801e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.35801e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008108 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02523, 0.02516, 0.02515, 0.02513, 0.0251, 0.02513, 0.02511, \
                 0.02508, 0.02504, 0.02497");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01062, -0.01062, -0.01063, -0.01063, -0.01066, -0.01068, -0.01068, \
                 -0.01068, -0.01067, -0.01067");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008417 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03261, 0.03252, 0.03258, 0.03257, 0.03258, 0.03265, 0.03262, \
                 0.03261, 0.03262, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02712, -0.02937, -0.0313, -0.03163, -0.03183, -0.03197, -0.03202, \
                 -0.03208, -0.03214, -0.03216");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)&(!A2))" ;
      max_capacitance : 0.3657 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("-0.005439, -0.005033, -0.004447, -0.004111, -0.003948, -0.003864, -0.00382, -0.003776, -0.003754, -0.003739",\
                 "-0.005886, -0.005204, -0.004024, -0.003188, -0.002749, -0.002487, -0.00237, -0.002286, -0.002189, -0.002168",\
                 "-0.003282, -0.003142, -0.00253, -0.001969, -0.001556, -0.001321, -0.001172, -0.00108, -0.001024, -0.0009784",\
                 "0.00783, 0.006884, 0.005035, 0.003522, 0.002444, 0.001708, 0.001182, 0.0007901, 0.0004828, 0.000296",\
                 "0.03029, 0.0281, 0.02287, 0.01773, 0.01359, 0.01048, 0.008108, 0.006336, 0.004976, 0.003995",\
                 "0.06503, 0.06179, 0.05322, 0.04339, 0.03489, 0.02801, 0.02259, 0.01835, 0.01499, 0.01231",\
                 "0.1127, 0.1086, 0.09707, 0.08241, 0.06848, 0.05674, 0.04703, 0.03914, 0.0328, 0.0276",\
                 "0.1741, 0.1691, 0.1551, 0.136, 0.1162, 0.0987, 0.08375, 0.07115, 0.06068, 0.05198",\
                 "0.2498, 0.2443, 0.228, 0.2048, 0.1796, 0.1554, 0.1342, 0.1161, 0.1006, 0.08732",\
                 "0.3406, 0.3345, 0.3163, 0.2894, 0.2587, 0.2283, 0.2002, 0.1758, 0.1544, 0.1357");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.08593, 0.08659, 0.08749, 0.08808, 0.08868, 0.08932, 0.08998, 0.09069, 0.09188, 0.09501",\
                 "0.08373, 0.08434, 0.08572, 0.08702, 0.08811, 0.08892, 0.08989, 0.09042, 0.09128, 0.09468",\
                 "0.08803, 0.08758, 0.08692, 0.08699, 0.08772, 0.08856, 0.08929, 0.09029, 0.09227, 0.09517",\
                 "0.1029, 0.1014, 0.09804, 0.09455, 0.09277, 0.09183, 0.09177, 0.09184, 0.09234, 0.09688",\
                 "0.1296, 0.127, 0.1205, 0.1136, 0.1074, 0.1028, 0.1002, 0.0988, 0.09777, 0.1019",\
                 "0.1694, 0.1657, 0.156, 0.1448, 0.1345, 0.1255, 0.1186, 0.1134, 0.1096, 0.1121",\
                 "0.2234, 0.2185, 0.2058, 0.19, 0.1751, 0.1616, 0.1494, 0.1395, 0.1323, 0.1333",\
                 "0.2923, 0.2867, 0.271, 0.2512, 0.2304, 0.212, 0.1948, 0.1795, 0.1677, 0.1683",\
                 "0.3774, 0.371, 0.3529, 0.3282, 0.3023, 0.2778, 0.2556, 0.2349, 0.218, 0.221",\
                 "0.4793, 0.4722, 0.4518, 0.4231, 0.3919, 0.361, 0.3325, 0.3064, 0.2868, 0.3015");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.01655, 0.01659, 0.01673, 0.01678, 0.01684, 0.01685, 0.01687, 0.01688, 0.01688, 0.01689",\
                 "0.01464, 0.0147, 0.01482, 0.01493, 0.01501, 0.01506, 0.01508, 0.0151, 0.01511, 0.01512",\
                 "0.0154, 0.01519, 0.01484, 0.01444, 0.01427, 0.01415, 0.01409, 0.01405, 0.01395, 0.01392",\
                 "0.02616, 0.02517, 0.02259, 0.02017, 0.01834, 0.01701, 0.0161, 0.01547, 0.01506, 0.01472",\
                 "0.0502, 0.04801, 0.0424, 0.03599, 0.03064, 0.02657, 0.02357, 0.0213, 0.01962, 0.01836",\
                 "0.08897, 0.08567, 0.07665, 0.06538, 0.05491, 0.04635, 0.03963, 0.03443, 0.03039, 0.02725",\
                 "0.1431, 0.1389, 0.1266, 0.1102, 0.09376, 0.07925, 0.06732, 0.05771, 0.05009, 0.0439",\
                 "0.2135, 0.2085, 0.1935, 0.172, 0.149, 0.1279, 0.1094, 0.09392, 0.08132, 0.07075",\
                 "0.3006, 0.295, 0.2777, 0.2517, 0.2225, 0.194, 0.1682, 0.1456, 0.1266, 0.1106",\
                 "0.4055, 0.3993, 0.38, 0.3501, 0.3149, 0.279, 0.2451, 0.2148, 0.1883, 0.1655");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.1098, 0.1102, 0.111, 0.1114, 0.112, 0.1125, 0.1132, 0.1138, 0.1147, 0.1181",\
                 "0.1072, 0.108, 0.1093, 0.1104, 0.1114, 0.1121, 0.1129, 0.1136, 0.115, 0.1181",\
                 "0.1073, 0.1073, 0.1079, 0.1089, 0.1101, 0.1114, 0.1123, 0.1134, 0.1149, 0.1193",\
                 "0.1185, 0.1175, 0.1154, 0.1135, 0.113, 0.1129, 0.1134, 0.1143, 0.1153, 0.1193",\
                 "0.1464, 0.1437, 0.1375, 0.1314, 0.1266, 0.1232, 0.121, 0.1201, 0.1199, 0.1234",\
                 "0.1911, 0.1871, 0.1769, 0.1651, 0.155, 0.1467, 0.14, 0.1355, 0.1326, 0.1354",\
                 "0.2527, 0.2478, 0.2341, 0.2167, 0.2001, 0.1861, 0.1743, 0.164, 0.1567, 0.157",\
                 "0.3316, 0.3259, 0.3094, 0.2868, 0.2634, 0.2426, 0.2246, 0.2091, 0.1959, 0.1947",\
                 "0.4289, 0.4225, 0.4038, 0.3763, 0.3472, 0.3184, 0.2933, 0.2714, 0.2528, 0.2512",\
                 "0.5455, 0.5386, 0.5176, 0.4866, 0.4505, 0.4149, 0.382, 0.3529, 0.33, 0.3347");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.05764, 0.07113, 0.1177, 0.2058, 0.3424, 0.5346, 0.7867, 1.104, 1.492, 1.956",\
                 "0.07185, 0.08557, 0.1326, 0.2212, 0.3583, 0.5501, 0.8031, 1.121, 1.508, 1.971",\
                 "0.09576, 0.1178, 0.1806, 0.2737, 0.4106, 0.6023, 0.8553, 1.172, 1.561, 2.023",\
                 "0.09809, 0.1301, 0.22, 0.3508, 0.5109, 0.7036, 0.955, 1.272, 1.661, 2.123",\
                 "0.07404, 0.1166, 0.2351, 0.4054, 0.6129, 0.851, 1.115, 1.431, 1.817, 2.279",\
                 "0.0217, 0.0738, 0.2218, 0.4333, 0.6886, 0.9802, 1.304, 1.653, 2.041, 2.5",\
                 "-0.0621, 0.0007, 0.1765, 0.4307, 0.7353, 1.081, 1.463, 1.879, 2.323, 2.797",\
                 "-0.1796, -0.1064, 0.0986, 0.3927, 0.7487, 1.151, 1.592, 2.071, 2.586, 3.132",\
                 "-0.3335, -0.2498, -0.0159, 0.3196, 0.7267, 1.185, 1.688, 2.23, 2.813, 3.434",\
                 "-0.5259, -0.4317, -0.1683, 0.2086, 0.6646, 1.182, 1.747, 2.356, 3.005, 3.698");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.1127, 0.1464, 0.2611, 0.4773, 0.8124, 1.282, 1.901, 2.679, 3.631, 4.762",\
                 "0.1226, 0.156, 0.272, 0.4897, 0.8254, 1.296, 1.915, 2.693, 3.644, 4.779",\
                 "0.1813, 0.2161, 0.3279, 0.543, 0.8782, 1.349, 1.967, 2.747, 3.7, 4.83",\
                 "0.2731, 0.316, 0.4482, 0.6628, 0.9927, 1.459, 2.076, 2.854, 3.803, 4.936",\
                 "0.3967, 0.4486, 0.6027, 0.8519, 1.186, 1.645, 2.255, 3.029, 3.974, 5.108",\
                 "0.5499, 0.6131, 0.7945, 1.075, 1.454, 1.921, 2.523, 3.288, 4.229, 5.353",\
                 "0.7339, 0.8079, 1.021, 1.339, 1.758, 2.276, 2.888, 3.644, 4.575, 5.693",\
                 "0.9507, 1.039, 1.285, 1.645, 2.103, 2.67, 3.338, 4.107, 5.028, 6.135",\
                 "1.203, 1.302, 1.583, 1.99, 2.494, 3.105, 3.83, 4.66, 5.594, 6.69",\
                 "1.492, 1.604, 1.919, 2.376, 2.932, 3.591, 4.364, 5.256, 6.257, 7.367");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.05841, 0.08037, 0.1575, 0.3054, 0.5353, 0.8598, 1.284, 1.82, 2.474, 3.258",\
                 "0.05938, 0.08036, 0.1577, 0.3052, 0.5367, 0.8585, 1.286, 1.823, 2.474, 3.257",\
                 "0.1035, 0.1259, 0.1905, 0.3102, 0.5349, 0.8589, 1.285, 1.82, 2.476, 3.253",\
                 "0.1671, 0.1967, 0.2822, 0.4141, 0.5839, 0.8648, 1.284, 1.82, 2.476, 3.258",\
                 "0.2488, 0.2878, 0.3959, 0.5548, 0.7612, 1, 1.332, 1.823, 2.473, 3.256",\
                 "0.3448, 0.3946, 0.5314, 0.7226, 0.9606, 1.249, 1.57, 1.962, 2.515, 3.255",\
                 "0.4566, 0.5186, 0.685, 0.9152, 1.189, 1.513, 1.888, 2.303, 2.767, 3.388",\
                 "0.5814, 0.6572, 0.8558, 1.13, 1.448, 1.808, 2.224, 2.695, 3.207, 3.76",\
                 "0.7198, 0.8112, 1.046, 1.362, 1.728, 2.138, 2.591, 3.109, 3.681, 4.298",\
                 "0.8686, 0.9752, 1.253, 1.617, 2.036, 2.496, 2.997, 3.555, 4.177, 4.854");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.1675, 0.2246, 0.423, 0.8021, 1.39, 2.214, 3.301, 4.672, 6.332, 8.333",\
                 "0.1665, 0.2242, 0.4235, 0.8015, 1.389, 2.213, 3.3, 4.671, 6.337, 8.328",\
                 "0.1918, 0.2391, 0.4233, 0.8006, 1.388, 2.213, 3.303, 4.662, 6.343, 8.321",\
                 "0.2378, 0.2958, 0.4787, 0.8084, 1.39, 2.216, 3.299, 4.669, 6.338, 8.327",\
                 "0.3138, 0.3718, 0.569, 0.908, 1.415, 2.215, 3.297, 4.666, 6.337, 8.336",\
                 "0.4098, 0.4778, 0.6814, 1.048, 1.558, 2.269, 3.306, 4.671, 6.34, 8.333",\
                 "0.5208, 0.6004, 0.8262, 1.201, 1.756, 2.456, 3.391, 4.682, 6.34, 8.32",\
                 "0.646, 0.7374, 0.9956, 1.393, 1.96, 2.714, 3.622, 4.8, 6.366, 8.334",\
                 "0.7814, 0.8888, 1.183, 1.616, 2.197, 2.986, 3.95, 5.081, 6.522, 8.379",\
                 "0.9312, 1.053, 1.388, 1.865, 2.475, 3.271, 4.294, 5.48, 6.854, 8.59");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.07888, 0.09381, 0.1437, 0.2343, 0.3728, 0.5655, 0.8183, 1.136, 1.525, 1.987",\
                 "0.09235, 0.1071, 0.1567, 0.2474, 0.3858, 0.5786, 0.8314, 1.15, 1.538, 2",\
                 "0.1316, 0.1509, 0.2077, 0.2986, 0.4366, 0.6292, 0.8819, 1.2, 1.588, 2.05",\
                 "0.1564, 0.1831, 0.263, 0.3849, 0.538, 0.7301, 0.9816, 1.299, 1.687, 2.149",\
                 "0.1603, 0.1948, 0.2982, 0.4543, 0.6519, 0.8824, 1.142, 1.458, 1.844, 2.305",\
                 "0.1431, 0.186, 0.3114, 0.5029, 0.7425, 1.023, 1.338, 1.683, 2.069, 2.528",\
                 "0.1045, 0.1531, 0.3009, 0.5267, 0.81, 1.139, 1.51, 1.917, 2.356, 2.826",\
                 "0.0429, 0.0986, 0.2668, 0.5259, 0.8528, 1.232, 1.655, 2.122, 2.629, 3.167",\
                 "-0.0445, 0.0191, 0.2074, 0.4989, 0.868, 1.296, 1.776, 2.3, 2.869, 3.48",\
                 "-0.1562, -0.0865, 0.1225, 0.4431, 0.8548, 1.333, 1.868, 2.45, 3.082, 3.759");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.1512, 0.1844, 0.2988, 0.5147, 0.8497, 1.319, 1.938, 2.716, 3.669, 4.8",\
                 "0.1625, 0.1964, 0.3123, 0.5297, 0.8652, 1.336, 1.954, 2.733, 3.685, 4.816",\
                 "0.201, 0.2366, 0.3521, 0.5694, 0.9062, 1.377, 1.996, 2.775, 3.727, 4.863",\
                 "0.2599, 0.2994, 0.4262, 0.6462, 0.9793, 1.448, 2.065, 2.845, 3.796, 4.928",\
                 "0.3479, 0.3942, 0.5336, 0.7695, 1.109, 1.571, 2.182, 2.958, 3.906, 5.036",\
                 "0.4598, 0.5152, 0.677, 0.931, 1.288, 1.76, 2.364, 3.132, 4.072, 5.2",\
                 "0.5948, 0.6599, 0.8478, 1.131, 1.509, 2.002, 2.619, 3.377, 4.309, 5.426",\
                 "0.7514, 0.8266, 1.042, 1.362, 1.773, 2.287, 2.928, 3.702, 4.625, 5.734",\
                 "0.9329, 1.017, 1.262, 1.621, 2.073, 2.619, 3.282, 4.084, 5.025, 6.123",\
                 "1.138, 1.233, 1.505, 1.906, 2.405, 2.993, 3.686, 4.51, 5.483, 6.602");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.08941, 0.1127, 0.1921, 0.3407, 0.5712, 0.894, 1.318, 1.853, 2.504, 3.282",\
                 "0.08746, 0.1116, 0.1919, 0.3408, 0.5714, 0.8934, 1.318, 1.853, 2.504, 3.282",\
                 "0.1301, 0.1509, 0.2124, 0.3422, 0.5713, 0.8937, 1.318, 1.854, 2.504, 3.282",\
                 "0.2017, 0.2299, 0.3123, 0.4379, 0.6109, 0.899, 1.319, 1.853, 2.505, 3.282",\
                 "0.293, 0.329, 0.4302, 0.5854, 0.7858, 1.025, 1.364, 1.858, 2.504, 3.282",\
                 "0.4012, 0.448, 0.5728, 0.7546, 0.9882, 1.273, 1.591, 1.989, 2.546, 3.287",\
                 "0.5252, 0.582, 0.7368, 0.9524, 1.216, 1.538, 1.911, 2.324, 2.793, 3.415",\
                 "0.6702, 0.7382, 0.922, 1.178, 1.479, 1.831, 2.245, 2.715, 3.226, 3.781",\
                 "0.8338, 0.9112, 1.128, 1.425, 1.769, 2.161, 2.61, 3.124, 3.697, 4.314",\
                 "1.013, 1.107, 1.355, 1.694, 2.087, 2.527, 3.014, 3.565, 4.185, 4.867");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003517, 0.01235, 0.02922, 0.05551, 0.09239, 0.1409, 0.2021, 0.2767, 0.3657");
          values("0.1699, 0.2255, 0.4235, 0.8006, 1.389, 2.215, 3.302, 4.672, 6.338, 8.324",\
                 "0.1703, 0.226, 0.4237, 0.8021, 1.388, 2.215, 3.302, 4.671, 6.339, 8.326",\
                 "0.1932, 0.241, 0.4254, 0.8022, 1.39, 2.218, 3.302, 4.663, 6.336, 8.327",\
                 "0.2426, 0.2943, 0.4733, 0.8135, 1.39, 2.217, 3.3, 4.669, 6.337, 8.327",\
                 "0.3294, 0.3768, 0.5498, 0.8906, 1.421, 2.217, 3.303, 4.669, 6.348, 8.322",\
                 "0.4354, 0.4892, 0.6636, 0.9974, 1.526, 2.271, 3.311, 4.664, 6.337, 8.337",\
                 "0.5554, 0.6162, 0.811, 1.14, 1.665, 2.406, 3.393, 4.693, 6.346, 8.338",\
                 "0.6858, 0.7546, 0.9754, 1.33, 1.843, 2.583, 3.558, 4.799, 6.383, 8.334",\
                 "0.8316, 0.908, 1.154, 1.543, 2.071, 2.798, 3.775, 5, 6.52, 8.407",\
                 "0.9918, 1.077, 1.348, 1.777, 2.339, 3.059, 4.026, 5.265, 6.757, 8.572");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nor2_4) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "0.0001105665" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "0.0001253802" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001253802" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01736 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04664, 0.04654, 0.04648, 0.04648, 0.04644, 0.04649, 0.04647, \
                 0.04642, 0.04634, 0.04625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02109, -0.02111, -0.02116, -0.02114, -0.02114, -0.02121, -0.02121, \
                 -0.02121, -0.02121, -0.02121");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01725 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06518, 0.06513, 0.0652, 0.06514, 0.0651, 0.06536, 0.06517, 0.06523, \
                 0.06522, 0.0652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05385, -0.05853, -0.06258, -0.06329, -0.06361, -0.0639, -0.06406, \
                 -0.06415, -0.06425, -0.06428");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)&(!A2))" ;
      max_capacitance : 0.7314 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("-0.007322, -0.006412, -0.00523, -0.004582, -0.004279, -0.004125, -0.004016, -0.003964, -0.003925, -0.003885",\
                 "-0.008127, -0.006726, -0.004438, -0.002725, -0.001796, -0.001345, -0.001055, -0.0009019, -0.0007769, -0.0007092",\
                 "-0.003073, -0.002745, -0.001554, -0.0004277, 0.0003628, 0.0008755, 0.001164, 0.001367, 0.001448, 0.001578",\
                 "0.01917, 0.01716, 0.01349, 0.0105, 0.008443, 0.006888, 0.005835, 0.005057, 0.004481, 0.004112",\
                 "0.06399, 0.05959, 0.04915, 0.03892, 0.03059, 0.02443, 0.01974, 0.01618, 0.01345, 0.01133",\
                 "0.1335, 0.127, 0.1098, 0.09009, 0.07302, 0.05944, 0.04866, 0.04022, 0.0334, 0.02808",\
                 "0.2287, 0.2204, 0.1975, 0.1681, 0.1404, 0.1169, 0.09751, 0.08174, 0.06897, 0.0587",\
                 "0.3515, 0.3416, 0.3135, 0.2752, 0.2358, 0.2006, 0.1707, 0.1457, 0.1248, 0.1073",\
                 "0.5028, 0.4918, 0.4591, 0.4128, 0.362, 0.3138, 0.2717, 0.2356, 0.2043, 0.1781",\
                 "0.6844, 0.6724, 0.636, 0.582, 0.5208, 0.4597, 0.4038, 0.3547, 0.3117, 0.2747");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.1794, 0.1807, 0.1826, 0.1838, 0.1853, 0.1861, 0.1879, 0.1891, 0.1907, 0.1983",\
                 "0.175, 0.1763, 0.179, 0.1816, 0.1838, 0.1852, 0.1878, 0.1884, 0.191, 0.1977",\
                 "0.1835, 0.1827, 0.1814, 0.1815, 0.1832, 0.1847, 0.1861, 0.1887, 0.1904, 0.198",\
                 "0.2135, 0.2102, 0.2036, 0.1967, 0.1929, 0.1912, 0.1914, 0.1917, 0.1927, 0.2006",\
                 "0.2668, 0.2615, 0.2485, 0.2349, 0.2224, 0.2138, 0.208, 0.2052, 0.2029, 0.2094",\
                 "0.3463, 0.3387, 0.3197, 0.2972, 0.2769, 0.2586, 0.2443, 0.2349, 0.2284, 0.2324",\
                 "0.454, 0.4445, 0.419, 0.3878, 0.3575, 0.3308, 0.3057, 0.286, 0.2717, 0.2751",\
                 "0.592, 0.5808, 0.5495, 0.5096, 0.4683, 0.4314, 0.3971, 0.3656, 0.3409, 0.3437",\
                 "0.7622, 0.7492, 0.713, 0.6639, 0.612, 0.5628, 0.5179, 0.4777, 0.4423, 0.4498",\
                 "0.9661, 0.9521, 0.911, 0.8533, 0.7905, 0.7287, 0.6723, 0.6207, 0.5812, 0.6104");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.03266, 0.03291, 0.03297, 0.0331, 0.03316, 0.03323, 0.03327, 0.03327, 0.0333, 0.0333",\
                 "0.02891, 0.02903, 0.02922, 0.0295, 0.02972, 0.02975, 0.02984, 0.02986, 0.02986, 0.02986",\
                 "0.0305, 0.03003, 0.02934, 0.02876, 0.02825, 0.02807, 0.02792, 0.02777, 0.02779, 0.02768",\
                 "0.05212, 0.05005, 0.04508, 0.04018, 0.03641, 0.03377, 0.03197, 0.03068, 0.02982, 0.02918",\
                 "0.1005, 0.09611, 0.08484, 0.07198, 0.06131, 0.05301, 0.04698, 0.04239, 0.03904, 0.03655",\
                 "0.1784, 0.1717, 0.1535, 0.1309, 0.1099, 0.09256, 0.07917, 0.06883, 0.06066, 0.05441",\
                 "0.2868, 0.2783, 0.2535, 0.2206, 0.1876, 0.1585, 0.1345, 0.1153, 0.1001, 0.08769",\
                 "0.4275, 0.4173, 0.3872, 0.3442, 0.2983, 0.2558, 0.2186, 0.1877, 0.1624, 0.1415",\
                 "0.602, 0.5905, 0.5558, 0.5039, 0.4452, 0.3879, 0.336, 0.2911, 0.2529, 0.2209",\
                 "0.8114, 0.7991, 0.7605, 0.7005, 0.6297, 0.558, 0.49, 0.4296, 0.3764, 0.3305");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.2265, 0.2276, 0.2289, 0.2298, 0.2308, 0.232, 0.2334, 0.2346, 0.2366, 0.2429",\
                 "0.2218, 0.2229, 0.2257, 0.2279, 0.2299, 0.2313, 0.2334, 0.2343, 0.2366, 0.2447",\
                 "0.222, 0.222, 0.2229, 0.2248, 0.2272, 0.2296, 0.2315, 0.2336, 0.2366, 0.2432",\
                 "0.2453, 0.2429, 0.2387, 0.2346, 0.2334, 0.2331, 0.2343, 0.2356, 0.2366, 0.2455",\
                 "0.3013, 0.296, 0.2831, 0.2711, 0.2613, 0.254, 0.2499, 0.2478, 0.2478, 0.2545",\
                 "0.3911, 0.3831, 0.3625, 0.3387, 0.3185, 0.3013, 0.2882, 0.2788, 0.2723, 0.2771",\
                 "0.5141, 0.5044, 0.4773, 0.4423, 0.4087, 0.3805, 0.3562, 0.3359, 0.3212, 0.3224",\
                 "0.6721, 0.6608, 0.6277, 0.582, 0.535, 0.4932, 0.4575, 0.4259, 0.3996, 0.3969",\
                 "0.8667, 0.8541, 0.8163, 0.7617, 0.7025, 0.645, 0.5951, 0.5513, 0.5137, 0.5107",\
                 "1.1, 1.086, 1.044, 0.982, 0.9097, 0.8376, 0.7716, 0.7142, 0.6673, 0.6771");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.05785, 0.07139, 0.1181, 0.2062, 0.3434, 0.5355, 0.7882, 1.107, 1.496, 1.959",\
                 "0.07211, 0.08583, 0.133, 0.2217, 0.359, 0.5516, 0.8043, 1.123, 1.512, 1.976",\
                 "0.09609, 0.1181, 0.181, 0.2742, 0.4114, 0.604, 0.8571, 1.175, 1.563, 2.029",\
                 "0.09851, 0.1305, 0.2203, 0.3514, 0.5116, 0.7048, 0.9568, 1.275, 1.664, 2.128",\
                 "0.0746, 0.1169, 0.2356, 0.4062, 0.6142, 0.8523, 1.116, 1.433, 1.82, 2.283",\
                 "0.0215, 0.0746, 0.2226, 0.4343, 0.6898, 0.982, 1.305, 1.655, 2.044, 2.504",\
                 "-0.0615, 0.0008, 0.1772, 0.4314, 0.737, 1.082, 1.465, 1.882, 2.327, 2.801",\
                 "-0.179, -0.1056, 0.0993, 0.3941, 0.7507, 1.152, 1.593, 2.074, 2.59, 3.136",\
                 "-0.3327, -0.2489, -0.0148, 0.3207, 0.7279, 1.188, 1.69, 2.234, 2.817, 3.438",\
                 "-0.525, -0.4305, -0.1672, 0.2102, 0.6646, 1.185, 1.751, 2.361, 3.011, 3.703");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.1133, 0.147, 0.2624, 0.4787, 0.815, 1.285, 1.905, 2.685, 3.637, 4.774",\
                 "0.1231, 0.1567, 0.2729, 0.4907, 0.8274, 1.298, 1.92, 2.698, 3.651, 4.788",\
                 "0.1816, 0.2166, 0.3287, 0.5442, 0.88, 1.352, 1.97, 2.752, 3.704, 4.839",\
                 "0.2733, 0.3165, 0.4488, 0.664, 0.9942, 1.461, 2.08, 2.859, 3.809, 4.943",\
                 "0.397, 0.4489, 0.6034, 0.8531, 1.188, 1.648, 2.259, 3.034, 3.982, 5.115",\
                 "0.55, 0.6129, 0.795, 1.076, 1.456, 1.924, 2.526, 3.293, 4.235, 5.362",\
                 "0.7328, 0.8094, 1.022, 1.34, 1.76, 2.279, 2.891, 3.648, 4.58, 5.702",\
                 "0.951, 1.038, 1.285, 1.646, 2.104, 2.672, 3.342, 4.111, 5.033, 6.142",\
                 "1.202, 1.303, 1.584, 1.99, 2.496, 3.108, 3.833, 4.665, 5.6, 6.699",\
                 "1.492, 1.605, 1.919, 2.377, 2.935, 3.593, 4.368, 5.262, 6.262, 7.375");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.05826, 0.0805, 0.1579, 0.3058, 0.5367, 0.8611, 1.286, 1.826, 2.482, 3.261",\
                 "0.05944, 0.08046, 0.1576, 0.306, 0.5364, 0.8618, 1.286, 1.826, 2.481, 3.265",\
                 "0.1033, 0.126, 0.1906, 0.3106, 0.5359, 0.8618, 1.288, 1.826, 2.478, 3.266",\
                 "0.1668, 0.1966, 0.2826, 0.4145, 0.5845, 0.8656, 1.286, 1.825, 2.482, 3.265",\
                 "0.2477, 0.2878, 0.3965, 0.5558, 0.762, 1.001, 1.335, 1.828, 2.479, 3.262",\
                 "0.3448, 0.3968, 0.5318, 0.7244, 0.9612, 1.249, 1.571, 1.965, 2.522, 3.263",\
                 "0.4562, 0.5178, 0.685, 0.9156, 1.19, 1.514, 1.891, 2.305, 2.772, 3.394",\
                 "0.5828, 0.6568, 0.856, 1.131, 1.448, 1.81, 2.227, 2.698, 3.21, 3.765",\
                 "0.7188, 0.8118, 1.046, 1.363, 1.731, 2.139, 2.595, 3.112, 3.685, 4.303",\
                 "0.8676, 0.9756, 1.254, 1.618, 2.036, 2.498, 3.001, 3.558, 4.181, 4.86");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.1676, 0.2245, 0.424, 0.8029, 1.391, 2.219, 3.307, 4.674, 6.35, 8.341",\
                 "0.1667, 0.2243, 0.4237, 0.8028, 1.391, 2.22, 3.307, 4.678, 6.343, 8.339",\
                 "0.1924, 0.2393, 0.4236, 0.8014, 1.391, 2.221, 3.308, 4.677, 6.345, 8.337",\
                 "0.2385, 0.2961, 0.4791, 0.8094, 1.392, 2.218, 3.306, 4.673, 6.348, 8.339",\
                 "0.3146, 0.372, 0.5696, 0.9084, 1.418, 2.22, 3.302, 4.673, 6.344, 8.343",\
                 "0.4102, 0.4774, 0.6832, 1.049, 1.559, 2.272, 3.311, 4.681, 6.346, 8.347",\
                 "0.5216, 0.5996, 0.8274, 1.202, 1.756, 2.457, 3.395, 4.689, 6.35, 8.335",\
                 "0.6464, 0.7386, 0.9964, 1.394, 1.962, 2.718, 3.625, 4.802, 6.371, 8.345",\
                 "0.7834, 0.891, 1.184, 1.617, 2.199, 2.987, 3.955, 5.087, 6.537, 8.383",\
                 "0.932, 1.055, 1.39, 1.866, 2.477, 3.276, 4.299, 5.481, 6.863, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.07849, 0.09362, 0.1431, 0.2337, 0.3723, 0.5653, 0.8186, 1.137, 1.526, 1.99",\
                 "0.09197, 0.1067, 0.156, 0.2467, 0.3853, 0.5784, 0.8317, 1.15, 1.539, 2.003",\
                 "0.1307, 0.1501, 0.207, 0.298, 0.4361, 0.629, 0.8822, 1.201, 1.59, 2.053",\
                 "0.1543, 0.1817, 0.2616, 0.384, 0.5376, 0.73, 0.9822, 1.3, 1.689, 2.152",\
                 "0.1588, 0.1935, 0.2968, 0.4533, 0.6512, 0.882, 1.143, 1.459, 1.846, 2.308",\
                 "0.1412, 0.1833, 0.3096, 0.5012, 0.7417, 1.023, 1.339, 1.684, 2.071, 2.531",\
                 "0.102, 0.1508, 0.2987, 0.5255, 0.8094, 1.139, 1.51, 1.918, 2.358, 2.829",\
                 "0.0394, 0.0956, 0.264, 0.5236, 0.8515, 1.231, 1.655, 2.123, 2.63, 3.17",\
                 "-0.0477, 0.0156, 0.2048, 0.4971, 0.8666, 1.296, 1.776, 2.301, 2.871, 3.483",\
                 "-0.1609, -0.0911, 0.1193, 0.4417, 0.8529, 1.333, 1.868, 2.452, 3.084, 3.763");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.1493, 0.1826, 0.2971, 0.5137, 0.8489, 1.32, 1.939, 2.718, 3.671, 4.807",\
                 "0.1603, 0.1942, 0.3106, 0.528, 0.8642, 1.336, 1.956, 2.735, 3.687, 4.826",\
                 "0.1985, 0.2341, 0.3498, 0.5674, 0.9046, 1.376, 1.996, 2.777, 3.731, 4.864",\
                 "0.2578, 0.2969, 0.4241, 0.6444, 0.9775, 1.447, 2.067, 2.845, 3.797, 4.933",\
                 "0.3459, 0.3923, 0.5322, 0.7681, 1.107, 1.57, 2.183, 2.96, 3.91, 5.042",\
                 "0.4583, 0.5137, 0.6757, 0.9298, 1.288, 1.76, 2.365, 3.134, 4.076, 5.206",\
                 "0.5923, 0.6584, 0.8466, 1.131, 1.509, 2.002, 2.62, 3.379, 4.314, 5.434",\
                 "0.7495, 0.8253, 1.041, 1.362, 1.773, 2.287, 2.93, 3.705, 4.629, 5.74",\
                 "0.9309, 1.016, 1.26, 1.62, 2.073, 2.619, 3.284, 4.086, 5.029, 6.129",\
                 "1.136, 1.232, 1.504, 1.906, 2.405, 2.993, 3.687, 4.513, 5.487, 6.608");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.08828, 0.1116, 0.1907, 0.3396, 0.5709, 0.8939, 1.32, 1.856, 2.508, 3.288",\
                 "0.08648, 0.1102, 0.1909, 0.3396, 0.5706, 0.8945, 1.32, 1.856, 2.509, 3.288",\
                 "0.1291, 0.1504, 0.2117, 0.3417, 0.571, 0.894, 1.32, 1.856, 2.508, 3.288",\
                 "0.2008, 0.2286, 0.3109, 0.4378, 0.6111, 0.8993, 1.32, 1.856, 2.508, 3.288",\
                 "0.2912, 0.3276, 0.4288, 0.5846, 0.7862, 1.025, 1.364, 1.86, 2.508, 3.288",\
                 "0.3998, 0.446, 0.5722, 0.7538, 0.9888, 1.273, 1.592, 1.993, 2.551, 3.292",\
                 "0.5246, 0.581, 0.735, 0.9516, 1.216, 1.537, 1.913, 2.326, 2.795, 3.42",\
                 "0.6676, 0.7346, 0.9196, 1.175, 1.477, 1.831, 2.248, 2.717, 3.232, 3.786",\
                 "0.8324, 0.9096, 1.126, 1.422, 1.768, 2.161, 2.611, 3.128, 3.7, 4.32",\
                 "1.01, 1.107, 1.352, 1.694, 2.088, 2.526, 3.012, 3.567, 4.191, 4.872");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.006041, 0.02374, 0.05753, 0.1102, 0.1841, 0.2813, 0.4037, 0.5532, 0.7314");
          values("0.1695, 0.2254, 0.4238, 0.8028, 1.392, 2.218, 3.301, 4.679, 6.354, 8.34",\
                 "0.17, 0.2256, 0.4236, 0.8014, 1.39, 2.22, 3.305, 4.678, 6.353, 8.346",\
                 "0.1936, 0.2413, 0.4256, 0.8013, 1.392, 2.218, 3.307, 4.67, 6.347, 8.343",\
                 "0.2428, 0.2942, 0.4737, 0.8142, 1.391, 2.22, 3.306, 4.679, 6.352, 8.338",\
                 "0.329, 0.3768, 0.5508, 0.8922, 1.422, 2.221, 3.308, 4.675, 6.347, 8.338",\
                 "0.4352, 0.489, 0.6642, 0.9964, 1.527, 2.276, 3.316, 4.678, 6.343, 8.347",\
                 "0.5528, 0.615, 0.811, 1.141, 1.667, 2.409, 3.393, 4.697, 6.353, 8.346",\
                 "0.6836, 0.7536, 0.9744, 1.331, 1.842, 2.586, 3.562, 4.803, 6.383, 8.346",\
                 "0.8282, 0.9058, 1.153, 1.545, 2.071, 2.8, 3.78, 5.007, 6.527, 8.406",\
                 "0.9878, 1.072, 1.344, 1.778, 2.342, 3.064, 4.027, 5.268, 6.767, 8.583");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nor3_1) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "5.53806e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "6.18849e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "4.76817e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "4.76817e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.18849e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004129 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02269, 0.02269, 0.02263, 0.02258, 0.02256, 0.02257, 0.02255, \
                 0.02252, 0.02249, 0.02242");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005251, -0.00525, -0.005254, -0.005262, -0.005266, -0.00527, \
                 -0.005273, -0.005278, -0.005274, -0.005273");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01243, 0.0124, 0.01239, 0.01238, 0.01238, 0.01238, 0.01237, \
                 0.01236, 0.01233, 0.01231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005331, -0.005321, -0.005336, -0.005336, -0.005334, -0.005349, \
                 -0.005351, -0.005354, -0.005349, -0.005354");
        }
      }

      internal_power() {
        when : "A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01243, 0.01239, 0.01239, 0.01238, 0.01237, 0.01238, 0.01237, \
                 0.01236, 0.01234, 0.01231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005331, -0.005321, -0.005332, -0.005337, -0.005343, -0.005353, \
                 -0.00535, -0.005351, -0.005348, -0.005352");
        }
      }
    }

    pin(A2) {
      capacitance : 0.003865 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01059, 0.01056, 0.01061, 0.01061, 0.01059, 0.0106, 0.01058, \
                 0.01056, 0.01052, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005929, -0.005913, -0.005933, -0.005954, -0.005957, -0.005974, \
                 -0.005988, -0.005992, -0.006011, -0.006029");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01634, 0.01634, 0.01631, 0.01629, 0.01629, 0.01631, 0.01632, \
                 0.01631, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01328, -0.01417, -0.01553, -0.0158, -0.01588, -0.01599, -0.01601, \
                 -0.01604, -0.01606, -0.01608");
        }
      }

      internal_power() {
        when : "A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01014, 0.01012, 0.01015, 0.01016, 0.01016, 0.01017, 0.01018, \
                 0.01017, 0.01018, 0.01018");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01061, -0.01049, -0.0104, -0.01026, -0.01018, -0.01013, -0.01008, \
                 -0.01002, -0.009984, -0.009965");
        }
      }
    }

    pin(A3) {
      capacitance : 0.004009 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01632, 0.0163, 0.01629, 0.01631, 0.01628, 0.01631, 0.0163, 0.0163, \
                 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01431, -0.01522, -0.01564, -0.0158, -0.01589, -0.01599, -0.01603, \
                 -0.01603, -0.01607, -0.01608");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01628, 0.01627, 0.01628, 0.01627, 0.01634, 0.01631, \
                 0.01632, 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01373, -0.01415, -0.01486, -0.01529, -0.01551, -0.01565, -0.01573, \
                 -0.0158, -0.01584, -0.01587");
        }
      }

      internal_power() {
        when : "A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01632, 0.0163, 0.01628, 0.01629, 0.01629, 0.01631, 0.01632, \
                 0.01631, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01515, -0.01533, -0.01564, -0.0158, -0.0159, -0.01599, -0.01602, \
                 -0.01603, -0.01606, -0.01607");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)&(!A2)&(!A3))" ;
      max_capacitance : 0.1222 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.00124, 0.001333, 0.001517, 0.001614, 0.001688, 0.001734, 0.001771, 0.001789, 0.0018, 0.001808",\
                 "0.001344, 0.001541, 0.001888, 0.002206, 0.002404, 0.002551, 0.002641, 0.002696, 0.002735, 0.002761",\
                 "0.002659, 0.002734, 0.002934, 0.003183, 0.003361, 0.003509, 0.003585, 0.003666, 0.003701, 0.003732",\
                 "0.006497, 0.006341, 0.006001, 0.005659, 0.005371, 0.005118, 0.004935, 0.00478, 0.004677, 0.004585",\
                 "0.01437, 0.01393, 0.0128, 0.01143, 0.01012, 0.009078, 0.008216, 0.007483, 0.006946, 0.006475",\
                 "0.0273, 0.02658, 0.02452, 0.0217, 0.01902, 0.01667, 0.01465, 0.01298, 0.01161, 0.01051",\
                 "0.0457, 0.04468, 0.04169, 0.03745, 0.03297, 0.02892, 0.02536, 0.02233, 0.01977, 0.01762",\
                 "0.06988, 0.06863, 0.06477, 0.05912, 0.05277, 0.04665, 0.04117, 0.03643, 0.03228, 0.02873",\
                 "0.1, 0.09856, 0.094, 0.08702, 0.07883, 0.07056, 0.06284, 0.05601, 0.04996, 0.04469",\
                 "0.1366, 0.1349, 0.1297, 0.1215, 0.1115, 0.1011, 0.09094, 0.08167, 0.07346, 0.06609");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.05097, 0.05105, 0.05127, 0.05149, 0.05173, 0.05201, 0.05217, 0.05229, 0.05281, 0.05412",\
                 "0.05006, 0.05023, 0.05059, 0.05101, 0.0514, 0.05174, 0.05211, 0.05229, 0.05271, 0.05406",\
                 "0.05115, 0.05104, 0.05098, 0.05104, 0.05129, 0.05161, 0.05184, 0.0522, 0.05261, 0.05405",\
                 "0.05664, 0.05629, 0.05539, 0.05434, 0.0536, 0.05319, 0.0531, 0.05305, 0.0531, 0.0547",\
                 "0.06684, 0.06624, 0.06461, 0.06238, 0.06014, 0.05838, 0.05709, 0.05637, 0.05583, 0.05685",\
                 "0.08233, 0.08146, 0.07887, 0.07544, 0.07185, 0.06834, 0.06544, 0.0632, 0.06164, 0.06228",\
                 "0.1036, 0.1025, 0.09897, 0.09418, 0.08909, 0.08402, 0.07923, 0.07514, 0.07192, 0.07194",\
                 "0.1313, 0.1298, 0.1254, 0.1191, 0.1123, 0.1056, 0.09903, 0.09281, 0.08779, 0.08744",\
                 "0.1656, 0.1638, 0.1586, 0.1508, 0.1422, 0.1335, 0.1252, 0.1173, 0.1103, 0.1104",\
                 "0.207, 0.205, 0.199, 0.1899, 0.1793, 0.1686, 0.1581, 0.1483, 0.1405, 0.144");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.01236, 0.01237, 0.01239, 0.01242, 0.01243, 0.01245, 0.01245, 0.01247, 0.01247, 0.01246",\
                 "0.0122, 0.01222, 0.01225, 0.01231, 0.01234, 0.01238, 0.01239, 0.0124, 0.01241, 0.01243",\
                 "0.01248, 0.01247, 0.01246, 0.01244, 0.01241, 0.01242, 0.01242, 0.01243, 0.01242, 0.01242",\
                 "0.01565, 0.01549, 0.01505, 0.01455, 0.01407, 0.01369, 0.01338, 0.01317, 0.01302, 0.01288",\
                 "0.02371, 0.02328, 0.02209, 0.02052, 0.01899, 0.01768, 0.01665, 0.01582, 0.01517, 0.01465",\
                 "0.03748, 0.03679, 0.03466, 0.0317, 0.02866, 0.0259, 0.02358, 0.02162, 0.0201, 0.0188",\
                 "0.05746, 0.05648, 0.05344, 0.04899, 0.04407, 0.03941, 0.03531, 0.03177, 0.02882, 0.02639",\
                 "0.08391, 0.08268, 0.0788, 0.07285, 0.06601, 0.05918, 0.05287, 0.04733, 0.0425, 0.03842",\
                 "0.1172, 0.1158, 0.1111, 0.1038, 0.09492, 0.08578, 0.07709, 0.06911, 0.06207, 0.05591",\
                 "0.1575, 0.1559, 0.1506, 0.1419, 0.1313, 0.1198, 0.1085, 0.09787, 0.0883, 0.07971");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.06257, 0.06262, 0.0628, 0.06295, 0.06314, 0.06336, 0.06359, 0.06381, 0.06419, 0.06532",\
                 "0.0617, 0.06185, 0.06218, 0.06252, 0.06286, 0.06316, 0.06349, 0.06378, 0.06413, 0.06545",\
                 "0.06105, 0.06112, 0.06138, 0.06176, 0.06227, 0.0627, 0.0631, 0.06345, 0.06376, 0.06538",\
                 "0.06415, 0.06394, 0.06354, 0.06322, 0.06311, 0.06319, 0.06339, 0.06361, 0.06432, 0.0656",\
                 "0.07357, 0.07307, 0.07167, 0.06995, 0.06842, 0.06729, 0.06659, 0.0661, 0.0659, 0.06736",\
                 "0.09004, 0.08913, 0.08652, 0.0832, 0.07986, 0.07686, 0.07448, 0.07264, 0.07127, 0.07223",\
                 "0.1134, 0.1121, 0.1085, 0.1034, 0.0981, 0.09313, 0.08864, 0.08471, 0.08175, 0.08193",\
                 "0.1438, 0.1423, 0.1377, 0.131, 0.1235, 0.1163, 0.1098, 0.1037, 0.09862, 0.09778",\
                 "0.1817, 0.1799, 0.1745, 0.1661, 0.1566, 0.1471, 0.1382, 0.13, 0.1227, 0.1218",\
                 "0.2274, 0.2254, 0.2192, 0.2095, 0.1978, 0.1858, 0.1744, 0.1639, 0.1551, 0.1565");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.0219, 0.02188, 0.02187, 0.02184, 0.02189, 0.0219, 0.0219, 0.0219, 0.02191, 0.0219",\
                 "0.02091, 0.02092, 0.02089, 0.02085, 0.02088, 0.02089, 0.0209, 0.02091, 0.02091, 0.0209",\
                 "0.02041, 0.02037, 0.02026, 0.02014, 0.02003, 0.02, 0.01997, 0.01996, 0.01992, 0.01991",\
                 "0.02341, 0.02321, 0.02267, 0.02201, 0.02141, 0.02094, 0.02057, 0.02034, 0.02015, 0.02003",\
                 "0.03207, 0.03156, 0.03013, 0.02828, 0.02653, 0.02499, 0.02381, 0.02291, 0.02218, 0.02165",\
                 "0.04756, 0.04671, 0.04419, 0.04071, 0.03709, 0.03385, 0.03116, 0.02898, 0.02726, 0.02586",\
                 "0.07058, 0.06938, 0.06571, 0.06038, 0.0545, 0.04892, 0.0441, 0.04, 0.03665, 0.03392",\
                 "0.1015, 0.09995, 0.09521, 0.08797, 0.07963, 0.07137, 0.06382, 0.05725, 0.05165, 0.04698",\
                 "0.1406, 0.1388, 0.1331, 0.124, 0.1132, 0.102, 0.09141, 0.0819, 0.07336, 0.06627",\
                 "0.1881, 0.1861, 0.1796, 0.1689, 0.1557, 0.1415, 0.1277, 0.1148, 0.1032, 0.09295");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.07383, 0.0739, 0.07404, 0.07425, 0.07439, 0.07461, 0.07488, 0.07507, 0.07545, 0.07677",\
                 "0.07295, 0.07308, 0.07342, 0.07382, 0.07414, 0.07445, 0.07474, 0.07507, 0.07538, 0.07665",\
                 "0.07204, 0.07215, 0.07239, 0.07286, 0.07339, 0.07389, 0.07432, 0.07467, 0.07495, 0.07661",\
                 "0.07364, 0.07362, 0.07347, 0.07342, 0.07361, 0.07382, 0.07418, 0.07454, 0.07498, 0.07666",\
                 "0.08198, 0.08154, 0.08041, 0.07906, 0.07794, 0.07719, 0.07676, 0.07656, 0.07666, 0.07807",\
                 "0.09929, 0.09837, 0.09576, 0.09251, 0.08953, 0.08686, 0.08464, 0.08306, 0.08196, 0.0829",\
                 "0.1258, 0.1244, 0.1205, 0.1151, 0.1095, 0.1046, 0.1001, 0.0963, 0.09344, 0.09332",\
                 "0.1612, 0.1596, 0.1545, 0.1471, 0.1386, 0.1309, 0.1239, 0.1176, 0.1122, 0.1111",\
                 "0.2054, 0.2035, 0.1976, 0.1884, 0.1776, 0.1666, 0.1568, 0.1478, 0.1402, 0.1378",\
                 "0.2588, 0.2567, 0.2501, 0.2395, 0.2262, 0.2125, 0.1992, 0.1873, 0.1772, 0.1761");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.08577, 0.09626, 0.1327, 0.2018, 0.309, 0.4593, 0.6571, 0.9062, 1.21, 1.574",\
                 "0.1007, 0.1112, 0.148, 0.2175, 0.325, 0.4754, 0.6735, 0.9228, 1.227, 1.589",\
                 "0.1402, 0.1544, 0.1986, 0.2703, 0.3778, 0.5282, 0.7261, 0.9754, 1.28, 1.643",\
                 "0.1605, 0.1807, 0.2442, 0.3452, 0.4745, 0.6289, 0.826, 1.074, 1.378, 1.741",\
                 "0.1509, 0.1782, 0.2622, 0.3944, 0.5627, 0.7605, 0.9814, 1.231, 1.534, 1.894",\
                 "0.107, 0.1411, 0.2473, 0.4129, 0.6216, 0.8645, 1.138, 1.435, 1.755, 2.116",\
                 "0.027, 0.0679, 0.1953, 0.3953, 0.6467, 0.9372, 1.26, 1.614, 1.995, 2.399",\
                 "-0.0922, -0.044, 0.1048, 0.3385, 0.6338, 0.9723, 1.35, 1.758, 2.198, 2.668",\
                 "-0.2524, -0.1976, -0.0268, 0.2394, 0.5783, 0.9688, 1.399, 1.866, 2.366, 2.898",\
                 "-0.4567, -0.3945, -0.2032, 0.0983, 0.4779, 0.9196, 1.408, 1.934, 2.495, 3.089");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.2005, 0.2328, 0.3449, 0.5573, 0.887, 1.349, 1.956, 2.721, 3.655, 4.768",\
                 "0.2087, 0.2412, 0.3541, 0.5676, 0.8987, 1.361, 1.97, 2.734, 3.669, 4.781",\
                 "0.2659, 0.2961, 0.4051, 0.6168, 0.9466, 1.409, 2.017, 2.782, 3.716, 4.83",\
                 "0.3826, 0.4165, 0.5278, 0.731, 1.054, 1.512, 2.117, 2.88, 3.812, 4.925",\
                 "0.5369, 0.5755, 0.7028, 0.9242, 1.241, 1.69, 2.287, 3.045, 3.973, 5.082",\
                 "0.7306, 0.7757, 0.9187, 1.164, 1.511, 1.958, 2.544, 3.293, 4.213, 5.316",\
                 "0.963, 1.015, 1.179, 1.45, 1.828, 2.312, 2.901, 3.638, 4.546, 5.64",\
                 "1.235, 1.295, 1.483, 1.785, 2.193, 2.715, 3.347, 4.089, 4.986, 6.067",\
                 "1.549, 1.617, 1.829, 2.169, 2.614, 3.17, 3.845, 4.635, 5.54, 6.607",\
                 "1.907, 1.983, 2.222, 2.6, 3.087, 3.683, 4.395, 5.235, 6.191, 7.269");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.1007, 0.118, 0.1788, 0.2949, 0.4753, 0.7296, 1.062, 1.482, 1.998, 2.612",\
                 "0.1005, 0.118, 0.1787, 0.2946, 0.4754, 0.7297, 1.062, 1.483, 1.997, 2.611",\
                 "0.1419, 0.1571, 0.2037, 0.2998, 0.4751, 0.7297, 1.063, 1.482, 1.997, 2.61",\
                 "0.2158, 0.2358, 0.2991, 0.4023, 0.5366, 0.7446, 1.063, 1.483, 1.998, 2.611",\
                 "0.3126, 0.3378, 0.4167, 0.5412, 0.7084, 0.907, 1.151, 1.508, 1.998, 2.609",\
                 "0.4264, 0.4592, 0.5576, 0.7076, 0.9014, 1.137, 1.408, 1.711, 2.106, 2.637",\
                 "0.5608, 0.6, 0.7188, 0.9002, 1.125, 1.39, 1.705, 2.051, 2.429, 2.873",\
                 "0.7122, 0.7596, 0.9004, 1.116, 1.376, 1.678, 2.021, 2.412, 2.847, 3.312",\
                 "0.878, 0.9364, 1.102, 1.351, 1.653, 1.998, 2.376, 2.803, 3.278, 3.801",\
                 "1.059, 1.126, 1.323, 1.607, 1.953, 2.342, 2.772, 3.233, 3.746, 4.316");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.3687, 0.4261, 0.6248, 0.9947, 1.573, 2.382, 3.44, 4.786, 6.407, 8.369",\
                 "0.3666, 0.4253, 0.6228, 0.9952, 1.573, 2.383, 3.449, 4.784, 6.42, 8.366",\
                 "0.3619, 0.4174, 0.62, 0.9948, 1.573, 2.382, 3.441, 4.784, 6.417, 8.358",\
                 "0.4125, 0.4661, 0.6404, 0.9914, 1.572, 2.378, 3.443, 4.783, 6.421, 8.353",\
                 "0.4758, 0.531, 0.7222, 1.057, 1.582, 2.38, 3.444, 4.784, 6.418, 8.37",\
                 "0.5796, 0.6322, 0.8206, 1.176, 1.692, 2.416, 3.448, 4.776, 6.413, 8.359",\
                 "0.7114, 0.7684, 0.9604, 1.314, 1.856, 2.566, 3.516, 4.793, 6.415, 8.355",\
                 "0.861, 0.9266, 1.133, 1.49, 2.036, 2.785, 3.707, 4.902, 6.44, 8.37",\
                 "1.031, 1.103, 1.332, 1.705, 2.252, 3.014, 3.981, 5.135, 6.592, 8.41",\
                 "1.218, 1.297, 1.55, 1.956, 2.514, 3.272, 4.266, 5.47, 6.871, 8.608");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.1159, 0.1272, 0.1655, 0.2366, 0.3455, 0.497, 0.6955, 0.9451, 1.25, 1.612",\
                 "0.1301, 0.1413, 0.1796, 0.2508, 0.3598, 0.5113, 0.7099, 0.9595, 1.264, 1.627",\
                 "0.1782, 0.1908, 0.231, 0.3019, 0.4106, 0.562, 0.7606, 1.01, 1.315, 1.677",\
                 "0.2182, 0.2363, 0.2934, 0.3869, 0.5098, 0.662, 0.8597, 1.109, 1.413, 1.775",\
                 "0.2326, 0.2561, 0.3309, 0.4522, 0.6112, 0.8014, 1.017, 1.266, 1.568, 1.929",\
                 "0.2179, 0.2475, 0.3401, 0.4902, 0.6863, 0.9181, 1.183, 1.475, 1.791, 2.151",\
                 "0.1723, 0.2074, 0.318, 0.4975, 0.7314, 1.007, 1.319, 1.665, 2.039, 2.438",\
                 "0.0965, 0.1361, 0.2625, 0.4719, 0.7436, 1.065, 1.426, 1.823, 2.253, 2.716",\
                 "-0.0139, 0.0315, 0.1745, 0.4105, 0.7201, 1.087, 1.499, 1.949, 2.435, 2.958",\
                 "-0.1592, -0.1095, 0.0517, 0.3138, 0.6603, 1.072, 1.535, 2.041, 2.585, 3.166");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.2889, 0.3214, 0.4329, 0.6454, 0.9746, 1.436, 2.044, 2.809, 3.743, 4.855",\
                 "0.2972, 0.3299, 0.4432, 0.6568, 0.9868, 1.449, 2.057, 2.823, 3.756, 4.87",\
                 "0.333, 0.3653, 0.4782, 0.6921, 1.023, 1.487, 2.095, 2.86, 3.795, 4.909",\
                 "0.4002, 0.4352, 0.5536, 0.7653, 1.093, 1.554, 2.162, 2.926, 3.862, 4.973",\
                 "0.5145, 0.5512, 0.6737, 0.8965, 1.224, 1.678, 2.279, 3.04, 3.969, 5.081",\
                 "0.674, 0.7147, 0.8474, 1.078, 1.419, 1.875, 2.466, 3.218, 4.14, 5.245",\
                 "0.8672, 0.9145, 1.065, 1.315, 1.667, 2.138, 2.735, 3.475, 4.388, 5.483",\
                 "1.093, 1.148, 1.319, 1.597, 1.972, 2.457, 3.071, 3.819, 4.72, 5.801",\
                 "1.353, 1.415, 1.609, 1.918, 2.327, 2.835, 3.465, 4.234, 5.144, 6.215",\
                 "1.647, 1.716, 1.934, 2.279, 2.725, 3.27, 3.922, 4.708, 5.641, 6.725");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.1395, 0.1568, 0.2187, 0.3359, 0.5173, 0.7711, 1.104, 1.524, 2.038, 2.648",\
                 "0.1386, 0.1571, 0.2192, 0.3356, 0.5173, 0.7705, 1.104, 1.525, 2.036, 2.647",\
                 "0.1679, 0.1816, 0.2307, 0.3371, 0.5174, 0.771, 1.105, 1.524, 2.037, 2.646",\
                 "0.253, 0.2717, 0.332, 0.4297, 0.565, 0.7826, 1.104, 1.524, 2.037, 2.646",\
                 "0.3592, 0.3829, 0.4568, 0.5766, 0.7382, 0.9326, 1.184, 1.546, 2.038, 2.647",\
                 "0.4862, 0.5154, 0.607, 0.748, 0.9358, 1.167, 1.435, 1.739, 2.139, 2.678",\
                 "0.6338, 0.6694, 0.7802, 0.949, 1.163, 1.423, 1.731, 2.078, 2.455, 2.904",\
                 "0.7988, 0.8422, 0.9724, 1.174, 1.422, 1.712, 2.051, 2.439, 2.871, 3.336",\
                 "0.987, 1.037, 1.191, 1.425, 1.709, 2.04, 2.411, 2.83, 3.304, 3.826",\
                 "1.195, 1.256, 1.428, 1.698, 2.028, 2.395, 2.807, 3.262, 3.77, 4.334");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.3755, 0.4304, 0.6247, 0.9951, 1.572, 2.379, 3.445, 4.785, 6.416, 8.367",\
                 "0.3756, 0.4308, 0.6245, 0.995, 1.572, 2.382, 3.445, 4.787, 6.416, 8.367",\
                 "0.3818, 0.4343, 0.6269, 0.9955, 1.573, 2.381, 3.444, 4.785, 6.42, 8.369",\
                 "0.4393, 0.4889, 0.6604, 1.002, 1.572, 2.381, 3.444, 4.783, 6.424, 8.368",\
                 "0.506, 0.5542, 0.7332, 1.068, 1.596, 2.382, 3.442, 4.776, 6.413, 8.358",\
                 "0.6198, 0.6648, 0.829, 1.164, 1.687, 2.429, 3.447, 4.783, 6.419, 8.353",\
                 "0.7642, 0.8126, 0.9768, 1.293, 1.809, 2.543, 3.525, 4.801, 6.423, 8.356",\
                 "0.9278, 0.9798, 1.156, 1.47, 1.968, 2.702, 3.663, 4.893, 6.448, 8.359",\
                 "1.107, 1.167, 1.357, 1.691, 2.178, 2.886, 3.854, 5.066, 6.576, 8.422",\
                 "1.3, 1.368, 1.578, 1.937, 2.443, 3.133, 4.073, 5.294, 6.776, 8.567");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.124, 0.1366, 0.1792, 0.2553, 0.3689, 0.5241, 0.7253, 0.977, 1.283, 1.647",\
                 "0.137, 0.1495, 0.1916, 0.2677, 0.3811, 0.5363, 0.7375, 0.9891, 1.295, 1.659",\
                 "0.1902, 0.2029, 0.2437, 0.3177, 0.4304, 0.5851, 0.7862, 1.038, 1.344, 1.708",\
                 "0.2429, 0.2607, 0.317, 0.4097, 0.531, 0.6844, 0.8845, 1.135, 1.441, 1.804",\
                 "0.274, 0.2967, 0.3692, 0.4875, 0.6435, 0.8302, 1.042, 1.293, 1.597, 1.959",\
                 "0.281, 0.3088, 0.3972, 0.5419, 0.7317, 0.9585, 1.218, 1.506, 1.82, 2.18",\
                 "0.2641, 0.2965, 0.401, 0.5712, 0.795, 1.062, 1.367, 1.705, 2.075, 2.47",\
                 "0.2226, 0.2594, 0.3782, 0.5747, 0.8329, 1.141, 1.49, 1.878, 2.301, 2.757",\
                 "0.1583, 0.1986, 0.3306, 0.5502, 0.8423, 1.191, 1.587, 2.023, 2.498, 3.012",\
                 "0.0693, 0.1139, 0.2571, 0.4993, 0.824, 1.213, 1.654, 2.141, 2.669, 3.237");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.3218, 0.354, 0.4658, 0.6787, 1.008, 1.47, 2.077, 2.841, 3.776, 4.889",\
                 "0.3327, 0.3657, 0.479, 0.6923, 1.022, 1.485, 2.093, 2.858, 3.792, 4.906",\
                 "0.3663, 0.3991, 0.5122, 0.7264, 1.058, 1.521, 2.13, 2.895, 3.83, 4.944",\
                 "0.4152, 0.4493, 0.5656, 0.778, 1.108, 1.57, 2.178, 2.944, 3.878, 4.992",\
                 "0.4924, 0.528, 0.6473, 0.8667, 1.195, 1.651, 2.254, 3.015, 3.947, 5.059",\
                 "0.601, 0.6409, 0.7719, 0.9963, 1.331, 1.787, 2.38, 3.133, 4.057, 5.162",\
                 "0.736, 0.7815, 0.9287, 1.173, 1.516, 1.978, 2.573, 3.314, 4.225, 5.321",\
                 "0.8942, 0.9464, 1.112, 1.384, 1.75, 2.22, 2.822, 3.567, 4.467, 5.547",\
                 "1.075, 1.134, 1.318, 1.62, 2.02, 2.516, 3.125, 3.877, 4.783, 5.851",\
                 "1.279, 1.344, 1.548, 1.88, 2.318, 2.851, 3.485, 4.244, 5.157, 6.234");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.1703, 0.1897, 0.255, 0.3756, 0.5572, 0.8118, 1.146, 1.565, 2.079, 2.69",\
                 "0.168, 0.1875, 0.2535, 0.3749, 0.5573, 0.8122, 1.146, 1.566, 2.079, 2.69",\
                 "0.1899, 0.2042, 0.2573, 0.3712, 0.5563, 0.8113, 1.146, 1.566, 2.08, 2.691",\
                 "0.2868, 0.3046, 0.3622, 0.456, 0.5933, 0.8179, 1.146, 1.565, 2.079, 2.689",\
                 "0.4066, 0.429, 0.4982, 0.6124, 0.7674, 0.9582, 1.214, 1.584, 2.08, 2.69",\
                 "0.5548, 0.5806, 0.664, 0.795, 0.9734, 1.198, 1.462, 1.766, 2.173, 2.717",\
                 "0.7286, 0.7616, 0.8602, 1.012, 1.213, 1.461, 1.762, 2.104, 2.48, 2.931",\
                 "0.931, 0.9694, 1.087, 1.265, 1.49, 1.761, 2.087, 2.47, 2.896, 3.359",\
                 "1.161, 1.207, 1.344, 1.551, 1.802, 2.102, 2.453, 2.862, 3.333, 3.848",\
                 "1.427, 1.474, 1.631, 1.866, 2.159, 2.485, 2.864, 3.299, 3.796, 4.357");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001837, 0.004774, 0.01038, 0.01912, 0.03138, 0.04751, 0.06784, 0.09265, 0.1222");
          values("0.3757, 0.4308, 0.6246, 0.997, 1.572, 2.381, 3.446, 4.779, 6.419, 8.351",\
                 "0.3759, 0.4315, 0.6251, 0.9968, 1.571, 2.381, 3.438, 4.782, 6.419, 8.37",\
                 "0.3798, 0.4328, 0.6251, 0.9948, 1.573, 2.378, 3.44, 4.785, 6.42, 8.369",\
                 "0.4203, 0.4711, 0.6476, 0.9988, 1.573, 2.38, 3.447, 4.785, 6.417, 8.356",\
                 "0.488, 0.5364, 0.7124, 1.052, 1.592, 2.379, 3.444, 4.782, 6.413, 8.358",\
                 "0.6234, 0.6668, 0.8214, 1.143, 1.67, 2.424, 3.453, 4.784, 6.415, 8.355",\
                 "0.7882, 0.8366, 0.9964, 1.292, 1.79, 2.525, 3.517, 4.802, 6.422, 8.354",\
                 "0.972, 1.024, 1.199, 1.505, 1.973, 2.675, 3.644, 4.891, 6.467, 8.366",\
                 "1.172, 1.229, 1.421, 1.753, 2.23, 2.892, 3.824, 5.046, 6.569, 8.444",\
                 "1.392, 1.454, 1.663, 2.023, 2.529, 3.183, 4.067, 5.26, 6.753, 8.569");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nor3_2) {
    area : 30.732800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "8.89779e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "0.0001019898" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "7.35801e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "7.35801e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001019898" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.007745 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04611, 0.04607, 0.04596, 0.04592, 0.04587, 0.04588, 0.04583, \
                 0.04576, 0.04567, 0.04555");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01051, -0.01051, -0.01053, -0.01055, -0.01053, -0.01057, -0.01056, \
                 -0.01057, -0.01057, -0.01056");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02447, 0.02441, 0.02438, 0.02439, 0.02434, 0.02439, 0.02435, \
                 0.02433, 0.02429, 0.02424");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01061, -0.01063, -0.01062, -0.01064, -0.01064, -0.01066, -0.01066, \
                 -0.01067, -0.01066, -0.01066");
        }
      }

      internal_power() {
        when : "A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02447, 0.02441, 0.02438, 0.0244, 0.02437, 0.02438, 0.02436, \
                 0.02434, 0.0243, 0.02424");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0106, -0.01063, -0.01062, -0.01067, -0.01065, -0.01067, -0.01067, \
                 -0.01067, -0.01067, -0.01066");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008163 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02235, 0.02229, 0.02234, 0.02233, 0.02232, 0.02235, 0.02229, \
                 0.02225, 0.02217, 0.02208");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0119, -0.0119, -0.01193, -0.01194, -0.01194, -0.01199, -0.01201, \
                 -0.01203, -0.01206, -0.01211");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0327, 0.03262, 0.03261, 0.03259, 0.03255, 0.03266, 0.03264, \
                 0.03262, 0.03263, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02655, -0.02828, -0.03092, -0.03159, -0.03175, -0.03197, -0.03202, \
                 -0.03207, -0.03212, -0.03215");
        }
      }

      internal_power() {
        when : "A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02044, 0.02043, 0.02045, 0.0204, 0.02047, 0.02049, 0.0205, 0.02049, \
                 0.0205, 0.02049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0212, -0.02106, -0.02086, -0.02066, -0.02053, -0.02042, -0.02032, \
                 -0.02021, -0.02015, -0.02009");
        }
      }
    }

    pin(A3) {
      capacitance : 0.008616 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03263, 0.03266, 0.03263, 0.03254, 0.03262, 0.0326, 0.03264, \
                 0.03262, 0.0326, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0287, -0.03049, -0.03136, -0.03165, -0.03184, -0.03199, -0.03202, \
                 -0.03211, -0.03215, -0.03218");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03264, 0.03265, 0.03257, 0.03254, 0.0326, 0.03267, 0.03267, \
                 0.03266, 0.03264, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02751, -0.02833, -0.02972, -0.03056, -0.03099, -0.03131, -0.03149, \
                 -0.0316, -0.03168, -0.03175");
        }
      }

      internal_power() {
        when : "A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03264, 0.03265, 0.03263, 0.03258, 0.03265, 0.03264, 0.03262, \
                 0.03262, 0.03258, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0303, -0.03069, -0.03134, -0.03165, -0.03184, -0.03199, -0.03205, \
                 -0.03211, -0.03212, -0.03217");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)&(!A2)&(!A3))" ;
      max_capacitance : 0.2439 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("-0.004307, -0.004093, -0.003706, -0.003429, -0.003271, -0.003184, -0.003132, -0.003093, -0.003065, -0.003047",\
                 "-0.004118, -0.003735, -0.00295, -0.002301, -0.001839, -0.001564, -0.001383, -0.001272, -0.001192, -0.001135",\
                 "-0.001456, -0.001279, -0.0008397, -0.0003264, 7.986e-05, 0.0003619, 0.0005591, 0.0006765, 0.0007731, 0.0008284",\
                 "0.006453, 0.006186, 0.005402, 0.004716, 0.004099, 0.003631, 0.003242, 0.002936, 0.002706, 0.002533",\
                 "0.02258, 0.0217, 0.01922, 0.01639, 0.01374, 0.0115, 0.009778, 0.00835, 0.007199, 0.006315",\
                 "0.04872, 0.04721, 0.04292, 0.03718, 0.03162, 0.0268, 0.02272, 0.01939, 0.01663, 0.01437",\
                 "0.08582, 0.08371, 0.07751, 0.06882, 0.0596, 0.05139, 0.04419, 0.03807, 0.03291, 0.0286",\
                 "0.1344, 0.1317, 0.1239, 0.1123, 0.09934, 0.08692, 0.07593, 0.0663, 0.05796, 0.05084",\
                 "0.195, 0.1919, 0.1825, 0.1683, 0.1516, 0.1348, 0.1193, 0.1055, 0.09338, 0.08277",\
                 "0.2681, 0.2648, 0.2541, 0.2372, 0.2171, 0.1959, 0.1756, 0.1569, 0.1403, 0.1257");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.1107, 0.1109, 0.1114, 0.1119, 0.1124, 0.1129, 0.1133, 0.1138, 0.1145, 0.1172",\
                 "0.109, 0.1092, 0.11, 0.1109, 0.1117, 0.1123, 0.1129, 0.1136, 0.1144, 0.1169",\
                 "0.1112, 0.1111, 0.1109, 0.111, 0.1115, 0.1121, 0.1127, 0.1133, 0.1139, 0.117",\
                 "0.1225, 0.1218, 0.1199, 0.1177, 0.1161, 0.1153, 0.1151, 0.1149, 0.1154, 0.1178",\
                 "0.1432, 0.1419, 0.1384, 0.1338, 0.1292, 0.1257, 0.1232, 0.1216, 0.1202, 0.1228",\
                 "0.1744, 0.1726, 0.1672, 0.1601, 0.1527, 0.1458, 0.1398, 0.1355, 0.1321, 0.1335",\
                 "0.2173, 0.2148, 0.2075, 0.1976, 0.1872, 0.177, 0.1675, 0.1592, 0.1526, 0.1526",\
                 "0.2728, 0.2698, 0.2607, 0.2477, 0.2339, 0.2202, 0.2071, 0.1949, 0.1844, 0.1837",\
                 "0.3417, 0.3381, 0.3273, 0.3114, 0.2939, 0.2762, 0.2595, 0.2435, 0.2298, 0.2294",\
                 "0.4246, 0.4205, 0.4082, 0.3895, 0.3682, 0.3464, 0.3255, 0.3054, 0.2898, 0.2963");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.01764, 0.01767, 0.01771, 0.01776, 0.0178, 0.01785, 0.01787, 0.01787, 0.01789, 0.01789",\
                 "0.01729, 0.01736, 0.01743, 0.01749, 0.01762, 0.01768, 0.0177, 0.01772, 0.01775, 0.01775",\
                 "0.01794, 0.0179, 0.01788, 0.01786, 0.0178, 0.01779, 0.0178, 0.01781, 0.01779, 0.01778",\
                 "0.02452, 0.02415, 0.02322, 0.02214, 0.02115, 0.02036, 0.01977, 0.01931, 0.01897, 0.01874",\
                 "0.04091, 0.04, 0.03748, 0.03423, 0.03107, 0.02842, 0.02633, 0.02461, 0.02333, 0.02224",\
                 "0.06875, 0.06728, 0.06289, 0.05683, 0.05057, 0.04491, 0.0402, 0.03629, 0.03319, 0.03059",\
                 "0.109, 0.1069, 0.1007, 0.09152, 0.08158, 0.07213, 0.06377, 0.05666, 0.0507, 0.04577",\
                 "0.1622, 0.1597, 0.1516, 0.1394, 0.1255, 0.1117, 0.09893, 0.0878, 0.07807, 0.06991",\
                 "0.229, 0.226, 0.2164, 0.2014, 0.1835, 0.1651, 0.1475, 0.1315, 0.1172, 0.1049",\
                 "0.3098, 0.3065, 0.2956, 0.278, 0.2564, 0.2331, 0.2105, 0.1891, 0.1698, 0.1525");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.1341, 0.1343, 0.1346, 0.1349, 0.1354, 0.1357, 0.1362, 0.1367, 0.1376, 0.1401",\
                 "0.1323, 0.1326, 0.1333, 0.1341, 0.1347, 0.1353, 0.1358, 0.1365, 0.1373, 0.1399",\
                 "0.1311, 0.1312, 0.1317, 0.1326, 0.1335, 0.1344, 0.1352, 0.1361, 0.1368, 0.1395",\
                 "0.1375, 0.1372, 0.1363, 0.1356, 0.1354, 0.1354, 0.1359, 0.1364, 0.1371, 0.1403",\
                 "0.1568, 0.1557, 0.1527, 0.1493, 0.146, 0.1437, 0.1423, 0.1413, 0.141, 0.1437",\
                 "0.1901, 0.1882, 0.1827, 0.1758, 0.169, 0.163, 0.158, 0.1544, 0.1518, 0.1536",\
                 "0.2371, 0.2346, 0.227, 0.2165, 0.2056, 0.1957, 0.1865, 0.1788, 0.1729, 0.1729",\
                 "0.2983, 0.295, 0.2856, 0.2716, 0.2566, 0.2422, 0.2287, 0.2166, 0.2063, 0.2047",\
                 "0.3742, 0.3705, 0.3592, 0.3423, 0.3229, 0.3035, 0.2859, 0.2691, 0.2548, 0.2527",\
                 "0.4657, 0.4616, 0.4489, 0.4291, 0.4056, 0.3812, 0.3582, 0.3366, 0.3195, 0.3216");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.03795, 0.03798, 0.03787, 0.03787, 0.03793, 0.03794, 0.03795, 0.03797, 0.03798, 0.03796",\
                 "0.03592, 0.0359, 0.03582, 0.03583, 0.03581, 0.0359, 0.03591, 0.03589, 0.0359, 0.03591",\
                 "0.03501, 0.03488, 0.03471, 0.03447, 0.03422, 0.03416, 0.03412, 0.034, 0.03396, 0.03397",\
                 "0.04107, 0.04066, 0.03946, 0.03809, 0.03689, 0.03591, 0.03519, 0.03475, 0.03438, 0.03411",\
                 "0.05868, 0.05766, 0.05471, 0.05079, 0.04712, 0.04414, 0.04173, 0.03988, 0.03844, 0.03737",\
                 "0.09001, 0.08828, 0.08316, 0.07587, 0.06846, 0.06191, 0.05645, 0.0521, 0.0486, 0.04579",\
                 "0.1363, 0.1339, 0.1264, 0.1154, 0.1034, 0.09217, 0.08235, 0.07416, 0.06742, 0.06188",\
                 "0.1985, 0.1954, 0.1856, 0.1708, 0.1539, 0.1372, 0.1219, 0.1086, 0.09736, 0.08805",\
                 "0.2769, 0.2732, 0.2617, 0.2432, 0.2212, 0.1987, 0.1772, 0.158, 0.1411, 0.1267",\
                 "0.3723, 0.3681, 0.3549, 0.3331, 0.3064, 0.2778, 0.2498, 0.2239, 0.2005, 0.1799");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.1565, 0.1567, 0.157, 0.1574, 0.1577, 0.1581, 0.1586, 0.1589, 0.1598, 0.1625",\
                 "0.1548, 0.155, 0.1557, 0.1564, 0.1571, 0.1577, 0.1584, 0.159, 0.1597, 0.1624",\
                 "0.1529, 0.1531, 0.1537, 0.1547, 0.1558, 0.1568, 0.1577, 0.1584, 0.1591, 0.1622",\
                 "0.1563, 0.1561, 0.1557, 0.1556, 0.156, 0.1565, 0.1571, 0.158, 0.1589, 0.1622",\
                 "0.1731, 0.1721, 0.1696, 0.1672, 0.1649, 0.1632, 0.1624, 0.162, 0.1621, 0.165",\
                 "0.208, 0.206, 0.2007, 0.194, 0.1879, 0.1826, 0.1782, 0.1751, 0.173, 0.1748",\
                 "0.2612, 0.2586, 0.2503, 0.2392, 0.2279, 0.2178, 0.2091, 0.2014, 0.1956, 0.1956",\
                 "0.3323, 0.3289, 0.3186, 0.3032, 0.2865, 0.2706, 0.2566, 0.2441, 0.2333, 0.2308",\
                 "0.4209, 0.4171, 0.405, 0.3863, 0.3641, 0.3423, 0.3222, 0.3042, 0.2887, 0.2839",\
                 "0.528, 0.5236, 0.5102, 0.4886, 0.4619, 0.4341, 0.4073, 0.3832, 0.3631, 0.3603");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.08067, 0.09117, 0.1277, 0.1971, 0.3046, 0.4553, 0.6536, 0.9034, 1.208, 1.571",\
                 "0.09539, 0.1061, 0.143, 0.2128, 0.3206, 0.4716, 0.67, 0.9199, 1.225, 1.588",\
                 "0.1329, 0.1476, 0.193, 0.2656, 0.3733, 0.5243, 0.7226, 0.9727, 1.277, 1.642",\
                 "0.1501, 0.1711, 0.2362, 0.3389, 0.4697, 0.6249, 0.8225, 1.072, 1.376, 1.739",\
                 "0.1369, 0.1651, 0.2517, 0.3862, 0.5564, 0.7557, 0.9779, 1.229, 1.532, 1.894",\
                 "0.0892, 0.1251, 0.2339, 0.4024, 0.6139, 0.8587, 1.133, 1.432, 1.753, 2.115",\
                 "0.0062, 0.0486, 0.1793, 0.3827, 0.6371, 0.9301, 1.255, 1.61, 1.992, 2.398",\
                 "-0.1164, -0.0665, 0.0865, 0.3239, 0.6228, 0.9653, 1.343, 1.753, 2.196, 2.667",\
                 "-0.2802, -0.2232, -0.0478, 0.2232, 0.5649, 0.9592, 1.393, 1.861, 2.362, 2.896",\
                 "-0.488, -0.4237, -0.2263, 0.0788, 0.4639, 0.9091, 1.399, 1.929, 2.491, 3.087");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.1861, 0.2181, 0.3305, 0.5438, 0.8743, 1.337, 1.946, 2.712, 3.648, 4.764",\
                 "0.1941, 0.2268, 0.34, 0.5543, 0.886, 1.349, 1.958, 2.725, 3.662, 4.777",\
                 "0.2525, 0.2824, 0.3915, 0.603, 0.9336, 1.397, 2.006, 2.773, 3.71, 4.825",\
                 "0.3671, 0.4015, 0.5144, 0.718, 1.041, 1.5, 2.107, 2.871, 3.806, 4.921",\
                 "0.5191, 0.5582, 0.6867, 0.9102, 1.229, 1.679, 2.277, 3.036, 3.965, 5.077",\
                 "0.7093, 0.7559, 0.9017, 1.149, 1.498, 1.947, 2.534, 3.284, 4.205, 5.311",\
                 "0.9377, 0.9914, 1.16, 1.433, 1.814, 2.3, 2.891, 3.629, 4.54, 5.635",\
                 "1.206, 1.269, 1.461, 1.767, 2.178, 2.702, 3.336, 4.081, 4.979, 6.063",\
                 "1.516, 1.587, 1.805, 2.149, 2.597, 3.155, 3.833, 4.626, 5.533, 6.602",\
                 "1.87, 1.947, 2.194, 2.577, 3.07, 3.668, 4.383, 5.223, 6.183, 7.263");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.09269, 0.1099, 0.171, 0.2872, 0.4682, 0.7225, 1.058, 1.479, 1.993, 2.608",\
                 "0.09258, 0.11, 0.1709, 0.2873, 0.4682, 0.7225, 1.057, 1.477, 1.994, 2.61",\
                 "0.1349, 0.1504, 0.1979, 0.2931, 0.468, 0.7218, 1.058, 1.478, 1.996, 2.611",\
                 "0.2066, 0.227, 0.2917, 0.3962, 0.5317, 0.7398, 1.057, 1.479, 1.993, 2.609",\
                 "0.2999, 0.3268, 0.4074, 0.5342, 0.7018, 0.9028, 1.147, 1.504, 1.995, 2.605",\
                 "0.4122, 0.4454, 0.5458, 0.6994, 0.8956, 1.131, 1.406, 1.708, 2.104, 2.638",\
                 "0.542, 0.5854, 0.7058, 0.8916, 1.118, 1.384, 1.696, 2.049, 2.428, 2.871",\
                 "0.6904, 0.739, 0.8846, 1.104, 1.367, 1.671, 2.016, 2.41, 2.843, 3.312",\
                 "0.8512, 0.9136, 1.083, 1.336, 1.644, 1.989, 2.373, 2.799, 3.279, 3.801",\
                 "1.027, 1.1, 1.303, 1.591, 1.943, 2.334, 2.764, 3.228, 3.743, 4.312");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.3424, 0.3994, 0.5979, 0.9701, 1.55, 2.359, 3.423, 4.767, 6.409, 8.355",\
                 "0.3394, 0.3983, 0.5972, 0.9714, 1.55, 2.357, 3.421, 4.761, 6.4, 8.356",\
                 "0.3363, 0.391, 0.5935, 0.9696, 1.55, 2.36, 3.422, 4.762, 6.41, 8.36",\
                 "0.3856, 0.4424, 0.6172, 0.9668, 1.548, 2.357, 3.426, 4.767, 6.399, 8.363",\
                 "0.4494, 0.505, 0.698, 1.035, 1.56, 2.358, 3.43, 4.764, 6.409, 8.358",\
                 "0.5532, 0.6084, 0.7956, 1.154, 1.67, 2.394, 3.428, 4.764, 6.401, 8.361",\
                 "0.6824, 0.7426, 0.9344, 1.289, 1.833, 2.547, 3.499, 4.768, 6.409, 8.345",\
                 "0.8328, 0.8964, 1.109, 1.466, 2.013, 2.764, 3.689, 4.877, 6.428, 8.361",\
                 "0.994, 1.068, 1.306, 1.684, 2.231, 2.995, 3.967, 5.122, 6.569, 8.405",\
                 "1.175, 1.261, 1.516, 1.929, 2.492, 3.25, 4.254, 5.452, 6.86, 8.598");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.1102, 0.1215, 0.16, 0.2315, 0.3407, 0.4925, 0.6914, 0.9415, 1.247, 1.61",\
                 "0.1243, 0.1356, 0.1743, 0.2457, 0.3549, 0.5068, 0.7058, 0.9559, 1.261, 1.624",\
                 "0.1716, 0.1846, 0.2257, 0.2968, 0.4058, 0.5575, 0.7564, 1.006, 1.312, 1.675",\
                 "0.2087, 0.2273, 0.2857, 0.3806, 0.5045, 0.6576, 0.8556, 1.105, 1.41, 1.773",\
                 "0.2205, 0.2445, 0.3211, 0.4443, 0.6045, 0.7963, 1.012, 1.262, 1.565, 1.927",\
                 "0.2032, 0.2328, 0.3277, 0.4807, 0.6782, 0.9118, 1.178, 1.471, 1.788, 2.149",\
                 "0.155, 0.1906, 0.3033, 0.4852, 0.7225, 1, 1.313, 1.66, 2.036, 2.436",\
                 "0.0758, 0.1165, 0.2463, 0.4578, 0.7322, 1.056, 1.419, 1.817, 2.25, 2.713",\
                 "-0.0371, 0.0095, 0.1558, 0.3946, 0.7079, 1.077, 1.491, 1.943, 2.431, 2.955",\
                 "-0.1856, -0.1339, 0.0305, 0.2958, 0.6459, 1.06, 1.526, 2.035, 2.58, 3.162");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.2736, 0.3061, 0.4187, 0.6309, 0.9615, 1.424, 2.032, 2.799, 3.735, 4.85",\
                 "0.2819, 0.3147, 0.4282, 0.6427, 0.9734, 1.437, 2.046, 2.813, 3.749, 4.864",\
                 "0.3173, 0.3499, 0.4633, 0.678, 1.01, 1.474, 2.084, 2.852, 3.788, 4.904",\
                 "0.3833, 0.4193, 0.5386, 0.7514, 1.08, 1.542, 2.15, 2.917, 3.853, 4.968",\
                 "0.4969, 0.5343, 0.6585, 0.8824, 1.211, 1.666, 2.268, 3.03, 3.962, 5.076",\
                 "0.6536, 0.6963, 0.8311, 1.063, 1.405, 1.863, 2.455, 3.208, 4.133, 5.24",\
                 "0.844, 0.8933, 1.047, 1.299, 1.653, 2.126, 2.724, 3.466, 4.38, 5.477",\
                 "1.067, 1.123, 1.298, 1.58, 1.957, 2.444, 3.059, 3.81, 4.712, 5.797",\
                 "1.322, 1.387, 1.585, 1.899, 2.312, 2.822, 3.454, 4.224, 5.137, 6.21",\
                 "1.613, 1.685, 1.907, 2.257, 2.709, 3.256, 3.911, 4.697, 5.633, 6.719");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.1305, 0.1485, 0.2107, 0.3282, 0.51, 0.7641, 1.099, 1.519, 2.033, 2.644",\
                 "0.1303, 0.1481, 0.2104, 0.3279, 0.5099, 0.7642, 1.098, 1.52, 2.033, 2.644",\
                 "0.1615, 0.1757, 0.2239, 0.3294, 0.5098, 0.7642, 1.098, 1.519, 2.033, 2.643",\
                 "0.2442, 0.2634, 0.3245, 0.424, 0.5596, 0.7762, 1.1, 1.519, 2.033, 2.644",\
                 "0.3483, 0.3717, 0.4481, 0.5686, 0.7322, 0.9282, 1.179, 1.54, 2.034, 2.644",\
                 "0.4738, 0.5022, 0.5958, 0.741, 0.928, 1.161, 1.432, 1.736, 2.135, 2.675",\
                 "0.615, 0.6522, 0.7676, 0.9382, 1.156, 1.417, 1.728, 2.074, 2.452, 2.901",\
                 "0.7794, 0.823, 0.9586, 1.161, 1.414, 1.706, 2.046, 2.437, 2.868, 3.335",\
                 "0.9622, 1.014, 1.171, 1.409, 1.699, 2.034, 2.403, 2.827, 3.301, 3.822",\
                 "1.167, 1.229, 1.409, 1.681, 2.017, 2.387, 2.802, 3.255, 3.766, 4.334");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.3495, 0.405, 0.5991, 0.9702, 1.55, 2.358, 3.427, 4.762, 6.398, 8.359",\
                 "0.35, 0.4051, 0.5994, 0.9702, 1.549, 2.357, 3.425, 4.769, 6.402, 8.344",\
                 "0.3577, 0.4097, 0.6005, 0.9709, 1.548, 2.358, 3.425, 4.763, 6.404, 8.36",\
                 "0.4149, 0.4656, 0.6378, 0.9784, 1.551, 2.357, 3.423, 4.762, 6.404, 8.362",\
                 "0.483, 0.5316, 0.7096, 1.047, 1.574, 2.361, 3.422, 4.761, 6.396, 8.346",\
                 "0.5968, 0.644, 0.8092, 1.14, 1.666, 2.407, 3.429, 4.761, 6.398, 8.35",\
                 "0.7402, 0.7882, 0.9534, 1.271, 1.789, 2.524, 3.503, 4.784, 6.407, 8.347",\
                 "0.9012, 0.9598, 1.132, 1.45, 1.946, 2.679, 3.645, 4.877, 6.433, 8.363",\
                 "1.077, 1.138, 1.335, 1.669, 2.159, 2.867, 3.833, 5.051, 6.556, 8.412",\
                 "1.266, 1.334, 1.552, 1.914, 2.424, 3.115, 4.059, 5.276, 6.764, 8.564");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.1176, 0.1305, 0.1736, 0.2503, 0.3644, 0.5201, 0.7218, 0.974, 1.28, 1.645",\
                 "0.1308, 0.1434, 0.1861, 0.2627, 0.3767, 0.5322, 0.734, 0.9862, 1.293, 1.657",\
                 "0.1838, 0.1967, 0.2385, 0.3127, 0.4259, 0.5811, 0.7827, 1.035, 1.341, 1.706",\
                 "0.2342, 0.2525, 0.3102, 0.404, 0.5264, 0.6804, 0.881, 1.133, 1.439, 1.803",\
                 "0.2628, 0.2863, 0.36, 0.4793, 0.6375, 0.8255, 1.039, 1.289, 1.594, 1.957",\
                 "0.2677, 0.2964, 0.3866, 0.533, 0.7247, 0.953, 1.214, 1.503, 1.817, 2.179",\
                 "0.2482, 0.2816, 0.3879, 0.5609, 0.7873, 1.056, 1.361, 1.702, 2.072, 2.468",\
                 "0.2048, 0.2427, 0.3633, 0.5618, 0.8234, 1.133, 1.484, 1.872, 2.298, 2.755",\
                 "0.1386, 0.1798, 0.3144, 0.5367, 0.8315, 1.183, 1.58, 2.018, 2.494, 3.01",\
                 "0.048, 0.0933, 0.2404, 0.4842, 0.8112, 1.204, 1.647, 2.136, 2.665, 3.235");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.308, 0.3403, 0.4528, 0.6655, 0.9955, 1.458, 2.067, 2.833, 3.77, 4.885",\
                 "0.319, 0.3521, 0.4653, 0.6797, 1.01, 1.474, 2.083, 2.85, 3.786, 4.901",\
                 "0.3525, 0.3856, 0.4993, 0.7142, 1.046, 1.511, 2.121, 2.888, 3.825, 4.939",\
                 "0.4006, 0.4352, 0.5526, 0.766, 1.096, 1.56, 2.169, 2.936, 3.873, 4.989",\
                 "0.4771, 0.5133, 0.6335, 0.8539, 1.183, 1.64, 2.244, 3.007, 3.941, 5.055",\
                 "0.5835, 0.6241, 0.7567, 0.9837, 1.319, 1.777, 2.371, 3.125, 4.051, 5.159",\
                 "0.7144, 0.7625, 0.9119, 1.16, 1.503, 1.967, 2.564, 3.306, 4.22, 5.318",\
                 "0.8699, 0.9236, 1.093, 1.367, 1.737, 2.209, 2.812, 3.56, 4.461, 5.544",\
                 "1.048, 1.109, 1.297, 1.602, 2.006, 2.505, 3.115, 3.869, 4.777, 5.848",\
                 "1.25, 1.315, 1.524, 1.861, 2.303, 2.84, 3.475, 4.236, 5.151, 6.231");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.1619, 0.1817, 0.2478, 0.3679, 0.5504, 0.8057, 1.141, 1.561, 2.075, 2.688",\
                 "0.1584, 0.1788, 0.2463, 0.3671, 0.5513, 0.8056, 1.14, 1.561, 2.076, 2.686",\
                 "0.184, 0.1979, 0.2503, 0.3633, 0.549, 0.8058, 1.14, 1.561, 2.075, 2.688",\
                 "0.2788, 0.2973, 0.3556, 0.4511, 0.588, 0.8122, 1.14, 1.561, 2.075, 2.687",\
                 "0.3977, 0.4208, 0.491, 0.6074, 0.7634, 0.954, 1.209, 1.578, 2.076, 2.687",\
                 "0.5428, 0.572, 0.655, 0.7892, 0.9678, 1.193, 1.459, 1.763, 2.17, 2.713",\
                 "0.7142, 0.7486, 0.851, 1.004, 1.207, 1.456, 1.755, 2.101, 2.477, 2.931",\
                 "0.914, 0.9548, 1.075, 1.254, 1.481, 1.755, 2.082, 2.465, 2.893, 3.357",\
                 "1.144, 1.187, 1.333, 1.541, 1.794, 2.097, 2.448, 2.857, 3.332, 3.845",\
                 "1.403, 1.458, 1.617, 1.859, 2.15, 2.481, 2.86, 3.296, 3.794, 4.356");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002677, 0.008562, 0.0198, 0.03731, 0.06188, 0.09421, 0.1349, 0.1847, 0.2439");
          values("0.35, 0.4051, 0.5997, 0.9706, 1.551, 2.357, 3.421, 4.769, 6.407, 8.353",\
                 "0.3513, 0.4049, 0.5994, 0.9707, 1.548, 2.358, 3.423, 4.763, 6.394, 8.356",\
                 "0.354, 0.4075, 0.5995, 0.9706, 1.547, 2.356, 3.427, 4.767, 6.407, 8.358",\
                 "0.3968, 0.4469, 0.6239, 0.9754, 1.55, 2.36, 3.425, 4.767, 6.402, 8.347",\
                 "0.4646, 0.513, 0.689, 1.03, 1.569, 2.359, 3.428, 4.768, 6.402, 8.349",\
                 "0.6, 0.6456, 0.8006, 1.121, 1.648, 2.401, 3.429, 4.767, 6.401, 8.346",\
                 "0.7658, 0.812, 0.9748, 1.273, 1.77, 2.505, 3.497, 4.786, 6.405, 8.349",\
                 "0.947, 0.998, 1.176, 1.488, 1.954, 2.654, 3.625, 4.876, 6.454, 8.358",\
                 "1.146, 1.202, 1.397, 1.732, 2.211, 2.873, 3.81, 5.03, 6.557, 8.437",\
                 "1.363, 1.425, 1.636, 2.001, 2.514, 3.165, 4.053, 5.245, 6.74, 8.563");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nor3_4) {
    area : 57.075200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "0.0001561725" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "0.0001821798" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "0.0001253604" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "0.0001253604" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "6.7914e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "6.79767e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "6.798e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "6.79767e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001821798" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01559 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09741, 0.09735, 0.09719, 0.09708, 0.097, 0.09695, 0.09686, 0.09672, \
                 0.09654, 0.09625");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01944, -0.01946, -0.0195, -0.01952, -0.0195, -0.01955, -0.01954, \
                 -0.01952, -0.0195, -0.01947");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05357, 0.05343, 0.0534, 0.05334, 0.05331, 0.05331, 0.05326, \
                 0.0532, 0.05312, 0.05298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01937, -0.01939, -0.01942, -0.01945, -0.01946, -0.01951, -0.01949, \
                 -0.01949, -0.01949, -0.01949");
        }
      }

      internal_power() {
        when : "A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05355, 0.05343, 0.0534, 0.05332, 0.05329, 0.0533, 0.05326, 0.0532, \
                 0.05312, 0.05298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01937, -0.0194, -0.01942, -0.01945, -0.01943, -0.0195, -0.0195, \
                 -0.01951, -0.01949, -0.0195");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01598 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04468, 0.04462, 0.04466, 0.04464, 0.04462, 0.04463, 0.04454, \
                 0.04446, 0.04431, 0.04409");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02432, -0.02431, -0.02436, -0.02438, -0.0244, -0.02449, -0.02453, \
                 -0.02457, -0.02461, -0.02467");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06548, 0.06539, 0.06537, 0.06531, 0.06527, 0.06538, 0.0654, \
                 0.06535, 0.06539, 0.06535");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05087, -0.05357, -0.05864, -0.06102, -0.06203, -0.0627, -0.06302, \
                 -0.06325, -0.06345, -0.06354");
        }
      }

      internal_power() {
        when : "A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03714, 0.0371, 0.03717, 0.03725, 0.03721, 0.03735, 0.03732, \
                 0.03732, 0.03732, 0.0373");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04082, -0.03995, -0.03956, -0.03925, -0.03916, -0.03911, -0.03903, \
                 -0.03895, -0.03893, -0.03895");
        }
      }
    }

    pin(A3) {
      capacitance : 0.0157 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06517, 0.06511, 0.06514, 0.06509, 0.06513, 0.06524, 0.06529, \
                 0.06522, 0.06522, 0.06523");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05754, -0.06043, -0.06248, -0.06323, -0.06354, -0.06395, -0.06406, \
                 -0.06419, -0.06423, -0.0643");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06533, 0.06523, 0.06526, 0.06534, 0.06526, 0.06543, 0.06549, \
                 0.06547, 0.06542, 0.06535");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05319, -0.055, -0.05791, -0.0601, -0.06116, -0.06204, -0.06248, \
                 -0.06278, -0.06301, -0.06313");
        }
      }

      internal_power() {
        when : "A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06517, 0.06511, 0.06514, 0.06513, 0.06517, 0.06532, 0.06524, \
                 0.06521, 0.06521, 0.06519");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05941, -0.06093, -0.06255, -0.06323, -0.06354, -0.06395, -0.06406, \
                 -0.06418, -0.06425, -0.0643");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)&(!A2)&(!A3))" ;
      max_capacitance : 0.4907 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("-0.009842, -0.009148, -0.008127, -0.00748, -0.007077, -0.006886, -0.006768, -0.006707, -0.006665, -0.006607",\
                 "-0.01007, -0.00909, -0.007121, -0.005495, -0.004518, -0.003907, -0.00359, -0.003362, -0.003192, -0.003094",\
                 "-0.003487, -0.003193, -0.002286, -0.001214, -0.0003741, 0.0001959, 0.0005916, 0.0008591, 0.001029, 0.001157",\
                 "0.01419, 0.01342, 0.01153, 0.009764, 0.008371, 0.007239, 0.006401, 0.005786, 0.005273, 0.004917",\
                 "0.04769, 0.04569, 0.03999, 0.03362, 0.02812, 0.02339, 0.01978, 0.01691, 0.01448, 0.01264",\
                 "0.1011, 0.09775, 0.08822, 0.07584, 0.06429, 0.05425, 0.04589, 0.039, 0.0334, 0.02887",\
                 "0.176, 0.1715, 0.1582, 0.1397, 0.1207, 0.1036, 0.08892, 0.0765, 0.06614, 0.05735",\
                 "0.2739, 0.2683, 0.2516, 0.2273, 0.2005, 0.1749, 0.1526, 0.133, 0.1162, 0.1018",\
                 "0.3957, 0.3894, 0.3694, 0.3397, 0.3054, 0.2711, 0.2395, 0.2116, 0.187, 0.1655",\
                 "0.5425, 0.5354, 0.5131, 0.4783, 0.4368, 0.3936, 0.3521, 0.3145, 0.2809, 0.2511");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.1923, 0.1928, 0.194, 0.195, 0.1961, 0.197, 0.1978, 0.1989, 0.2012, 0.2058",\
                 "0.1886, 0.1893, 0.1911, 0.193, 0.1948, 0.196, 0.1972, 0.1985, 0.2002, 0.2054",\
                 "0.1949, 0.1945, 0.1936, 0.1935, 0.1944, 0.1956, 0.1969, 0.1975, 0.1999, 0.2054",\
                 "0.2193, 0.2175, 0.2129, 0.2079, 0.2044, 0.2025, 0.2016, 0.2019, 0.2022, 0.208",\
                 "0.2623, 0.2593, 0.2513, 0.241, 0.2314, 0.2238, 0.2184, 0.215, 0.2129, 0.2176",\
                 "0.3264, 0.3219, 0.3099, 0.2947, 0.2791, 0.2642, 0.2523, 0.2433, 0.2359, 0.2396",\
                 "0.4136, 0.408, 0.3919, 0.3705, 0.3486, 0.3274, 0.308, 0.2909, 0.2782, 0.2774",\
                 "0.5259, 0.5191, 0.4991, 0.4716, 0.4422, 0.4146, 0.3876, 0.3625, 0.3419, 0.3394",\
                 "0.6645, 0.6568, 0.6334, 0.5997, 0.5635, 0.5268, 0.4927, 0.4601, 0.4316, 0.4318",\
                 "0.8314, 0.8226, 0.7959, 0.7567, 0.7122, 0.6674, 0.6247, 0.5839, 0.5522, 0.567");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.04042, 0.04046, 0.04044, 0.04053, 0.04059, 0.04069, 0.04068, 0.04074, 0.04071, 0.04074",\
                 "0.04004, 0.04015, 0.04024, 0.04038, 0.04051, 0.04066, 0.04072, 0.04074, 0.04076, 0.04079",\
                 "0.04103, 0.04103, 0.0409, 0.04077, 0.0406, 0.04055, 0.04054, 0.04053, 0.04055, 0.04051",\
                 "0.05395, 0.05324, 0.05112, 0.04882, 0.04687, 0.04535, 0.04409, 0.0433, 0.04269, 0.04216",\
                 "0.08647, 0.08465, 0.07938, 0.07267, 0.06639, 0.06106, 0.05697, 0.05358, 0.05106, 0.049",\
                 "0.1422, 0.1391, 0.13, 0.1177, 0.1051, 0.09381, 0.08438, 0.07681, 0.07042, 0.06543",\
                 "0.2228, 0.2184, 0.2054, 0.1868, 0.1668, 0.1477, 0.131, 0.1169, 0.1052, 0.09543",\
                 "0.3292, 0.3238, 0.3074, 0.2826, 0.2544, 0.2267, 0.2011, 0.1789, 0.1595, 0.1433",\
                 "0.4627, 0.4565, 0.4371, 0.4065, 0.3703, 0.3332, 0.2977, 0.2656, 0.2374, 0.2127",\
                 "0.6242, 0.6174, 0.5953, 0.5595, 0.5158, 0.469, 0.4232, 0.3807, 0.342, 0.3075");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.2649, 0.2654, 0.2662, 0.2671, 0.2681, 0.2687, 0.2699, 0.2706, 0.2722, 0.2777",\
                 "0.261, 0.2618, 0.2635, 0.2653, 0.2666, 0.2679, 0.2693, 0.2701, 0.2718, 0.2774",\
                 "0.2583, 0.2587, 0.26, 0.2617, 0.2641, 0.2659, 0.2676, 0.2693, 0.2709, 0.2774",\
                 "0.2689, 0.2682, 0.2667, 0.2656, 0.2659, 0.2667, 0.2678, 0.2695, 0.2711, 0.2773",\
                 "0.3047, 0.3024, 0.2963, 0.2897, 0.2844, 0.2805, 0.2783, 0.2772, 0.2773, 0.2832",\
                 "0.3705, 0.3664, 0.3548, 0.3407, 0.3278, 0.3165, 0.3075, 0.3009, 0.2963, 0.3016",\
                 "0.4649, 0.4592, 0.4431, 0.4213, 0.3996, 0.38, 0.3626, 0.3477, 0.336, 0.3378",\
                 "0.5877, 0.5809, 0.5604, 0.5319, 0.5012, 0.4718, 0.4457, 0.4221, 0.4018, 0.4002",\
                 "0.7404, 0.7324, 0.7088, 0.6736, 0.6335, 0.5944, 0.5585, 0.5254, 0.4977, 0.4944",\
                 "0.9237, 0.9151, 0.8883, 0.8472, 0.7991, 0.7494, 0.7024, 0.6602, 0.6258, 0.6326");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.08148, 0.08143, 0.08134, 0.08117, 0.08126, 0.08132, 0.08139, 0.08137, 0.08139, 0.08134",\
                 "0.07745, 0.07743, 0.07743, 0.07715, 0.07719, 0.07734, 0.07733, 0.07733, 0.07733, 0.07736",\
                 "0.07571, 0.07546, 0.07493, 0.07444, 0.07399, 0.07385, 0.0737, 0.07367, 0.07357, 0.0735",\
                 "0.08773, 0.0868, 0.08439, 0.08147, 0.07907, 0.07715, 0.07573, 0.07475, 0.0741, 0.07354",\
                 "0.1228, 0.1207, 0.1144, 0.1065, 0.09921, 0.09305, 0.08843, 0.08472, 0.08201, 0.07982",\
                 "0.1856, 0.1819, 0.1711, 0.1564, 0.1414, 0.1284, 0.1176, 0.1088, 0.1019, 0.09645",\
                 "0.2781, 0.2731, 0.2575, 0.2351, 0.2109, 0.1884, 0.1687, 0.1524, 0.1391, 0.1282",\
                 "0.4023, 0.396, 0.3759, 0.3458, 0.3115, 0.278, 0.2474, 0.2209, 0.1986, 0.1799",\
                 "0.5591, 0.5517, 0.5279, 0.4904, 0.4459, 0.4005, 0.3575, 0.3189, 0.2856, 0.2568",\
                 "0.7499, 0.7415, 0.7144, 0.6701, 0.616, 0.5585, 0.5022, 0.4503, 0.4037, 0.3628");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.3102, 0.3107, 0.3116, 0.3123, 0.3132, 0.314, 0.3149, 0.316, 0.3174, 0.3232",\
                 "0.3064, 0.3072, 0.3089, 0.3106, 0.312, 0.3132, 0.3142, 0.315, 0.3171, 0.3229",\
                 "0.303, 0.3034, 0.3048, 0.307, 0.3091, 0.3111, 0.313, 0.3144, 0.3154, 0.3226",\
                 "0.3084, 0.3081, 0.3076, 0.3077, 0.3086, 0.3101, 0.3117, 0.313, 0.3153, 0.3222",\
                 "0.3398, 0.3378, 0.3327, 0.3278, 0.324, 0.3214, 0.3202, 0.3195, 0.3203, 0.3268",\
                 "0.4078, 0.4037, 0.3926, 0.379, 0.3672, 0.3573, 0.3491, 0.3435, 0.3399, 0.3445",\
                 "0.5137, 0.5076, 0.4905, 0.4676, 0.4449, 0.4255, 0.4086, 0.394, 0.3833, 0.384",\
                 "0.6557, 0.6485, 0.6269, 0.5949, 0.5605, 0.5291, 0.5019, 0.4772, 0.4565, 0.4521",\
                 "0.8332, 0.8252, 0.7999, 0.7613, 0.716, 0.6718, 0.6317, 0.5955, 0.5661, 0.5579",\
                 "1.047, 1.038, 1.01, 0.9657, 0.9111, 0.8542, 0.8007, 0.7525, 0.7131, 0.7097");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.069, 0.07969, 0.1168, 0.1866, 0.2951, 0.4471, 0.6468, 0.8987, 1.206, 1.573",\
                 "0.08334, 0.09415, 0.1317, 0.2021, 0.3109, 0.4629, 0.6631, 0.915, 1.223, 1.589",\
                 "0.1158, 0.1317, 0.1801, 0.2552, 0.3638, 0.516, 0.716, 0.9676, 1.275, 1.641",\
                 "0.1262, 0.1491, 0.2184, 0.325, 0.4595, 0.6169, 0.8161, 1.067, 1.374, 1.741",\
                 "0.1054, 0.1361, 0.2284, 0.3682, 0.5432, 0.746, 0.9713, 1.225, 1.53, 1.895",\
                 "0.0503, 0.0888, 0.2049, 0.3801, 0.5975, 0.8466, 1.125, 1.427, 1.751, 2.116",\
                 "-0.0419, 0.0049, 0.1441, 0.356, 0.6175, 0.9152, 1.245, 1.604, 1.991, 2.399",\
                 "-0.1732, -0.1183, 0.0451, 0.2921, 0.5998, 0.9481, 1.332, 1.746, 2.193, 2.668",\
                 "-0.3458, -0.2832, -0.0953, 0.1869, 0.5388, 0.9402, 1.38, 1.854, 2.359, 2.898",\
                 "-0.5626, -0.4916, -0.2801, 0.0394, 0.4345, 0.8876, 1.385, 1.919, 2.487, 3.089");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.1393, 0.1709, 0.2836, 0.4989, 0.8327, 1.3, 1.914, 2.687, 3.633, 4.757",\
                 "0.1489, 0.1801, 0.2934, 0.5097, 0.8447, 1.313, 1.927, 2.701, 3.646, 4.771",\
                 "0.2133, 0.242, 0.3477, 0.5604, 0.894, 1.362, 1.976, 2.75, 3.695, 4.82",\
                 "0.3227, 0.3582, 0.4739, 0.6775, 1.003, 1.466, 2.077, 2.849, 3.791, 4.917",\
                 "0.4691, 0.5109, 0.6439, 0.871, 1.192, 1.645, 2.249, 3.015, 3.952, 5.073",\
                 "0.6518, 0.7017, 0.8551, 1.108, 1.462, 1.914, 2.507, 3.263, 4.192, 5.308",\
                 "0.8712, 0.9301, 1.108, 1.391, 1.776, 2.268, 2.865, 3.608, 4.528, 5.631",\
                 "1.13, 1.197, 1.403, 1.721, 2.139, 2.669, 3.31, 4.061, 4.967, 6.058",\
                 "1.429, 1.508, 1.74, 2.098, 2.557, 3.122, 3.807, 4.606, 5.521, 6.599",\
                 "1.773, 1.861, 2.122, 2.521, 3.027, 3.633, 4.357, 5.205, 6.172, 7.262");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.07386, 0.09142, 0.1528, 0.2701, 0.4522, 0.7081, 1.046, 1.47, 1.991, 2.611",\
                 "0.07418, 0.09126, 0.1528, 0.2702, 0.4525, 0.7098, 1.045, 1.47, 1.992, 2.608",\
                 "0.1169, 0.1336, 0.1848, 0.2781, 0.4523, 0.7092, 1.046, 1.472, 1.992, 2.61",\
                 "0.1822, 0.2046, 0.273, 0.3819, 0.5204, 0.7267, 1.047, 1.472, 1.99, 2.611",\
                 "0.2662, 0.2968, 0.3833, 0.516, 0.6882, 0.8924, 1.139, 1.496, 1.99, 2.608",\
                 "0.3672, 0.4058, 0.5162, 0.677, 0.877, 1.12, 1.396, 1.702, 2.102, 2.641",\
                 "0.4878, 0.5342, 0.6692, 0.863, 1.097, 1.369, 1.686, 2.043, 2.426, 2.873",\
                 "0.6234, 0.68, 0.8406, 1.071, 1.345, 1.654, 2.004, 2.401, 2.84, 3.313",\
                 "0.7718, 0.8398, 1.032, 1.3, 1.617, 1.971, 2.359, 2.791, 3.275, 3.802",\
                 "0.9312, 1.014, 1.243, 1.55, 1.914, 2.315, 2.751, 3.219, 3.74, 4.317");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.274, 0.3364, 0.5441, 0.9248, 1.511, 2.329, 3.4, 4.756, 6.415, 8.372",\
                 "0.2681, 0.3314, 0.544, 0.9242, 1.511, 2.329, 3.404, 4.755, 6.412, 8.37",\
                 "0.2731, 0.3276, 0.5347, 0.9238, 1.509, 2.329, 3.4, 4.761, 6.407, 8.382",\
                 "0.32, 0.378, 0.564, 0.9189, 1.51, 2.327, 3.4, 4.754, 6.414, 8.373",\
                 "0.3898, 0.445, 0.639, 0.9888, 1.52, 2.324, 3.399, 4.753, 6.412, 8.385",\
                 "0.495, 0.551, 0.7398, 1.102, 1.631, 2.363, 3.402, 4.756, 6.405, 8.373",\
                 "0.6144, 0.6802, 0.8804, 1.238, 1.791, 2.515, 3.474, 4.757, 6.411, 8.38",\
                 "0.7542, 0.829, 1.049, 1.416, 1.967, 2.729, 3.668, 4.876, 6.425, 8.369",\
                 "0.9092, 0.9918, 1.24, 1.634, 2.186, 2.957, 3.94, 5.107, 6.585, 8.424",\
                 "1.079, 1.171, 1.448, 1.877, 2.448, 3.213, 4.226, 5.44, 6.86, 8.608");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.1018, 0.1141, 0.1549, 0.2289, 0.3407, 0.4948, 0.6963, 0.9492, 1.257, 1.624",\
                 "0.1163, 0.1285, 0.1692, 0.2432, 0.355, 0.5093, 0.7107, 0.9637, 1.272, 1.639",\
                 "0.1642, 0.1782, 0.2213, 0.2944, 0.4057, 0.5599, 0.7613, 1.014, 1.322, 1.689",\
                 "0.2007, 0.22, 0.2811, 0.3785, 0.5047, 0.6597, 0.8602, 1.112, 1.42, 1.787",\
                 "0.2105, 0.2362, 0.3159, 0.4423, 0.6057, 0.799, 1.017, 1.27, 1.576, 1.941",\
                 "0.1921, 0.2235, 0.3219, 0.4783, 0.6794, 0.9161, 1.184, 1.479, 1.798, 2.163",\
                 "0.1425, 0.1796, 0.2963, 0.4829, 0.7234, 1.004, 1.32, 1.67, 2.047, 2.45",\
                 "0.0617, 0.1043, 0.2383, 0.4542, 0.7334, 1.061, 1.427, 1.828, 2.264, 2.73",\
                 "-0.0523, -0.0037, 0.1468, 0.3912, 0.7096, 1.082, 1.5, 1.955, 2.447, 2.974",\
                 "-0.2024, -0.1492, 0.0202, 0.2914, 0.6472, 1.066, 1.535, 2.048, 2.598, 3.183");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.2595, 0.2929, 0.4075, 0.6229, 0.9559, 1.423, 2.038, 2.811, 3.755, 4.881",\
                 "0.2671, 0.3013, 0.4175, 0.634, 0.9684, 1.436, 2.051, 2.824, 3.769, 4.894",\
                 "0.3045, 0.3389, 0.4543, 0.6719, 1.007, 1.476, 2.091, 2.866, 3.811, 4.937",\
                 "0.3663, 0.4034, 0.5273, 0.7446, 1.077, 1.544, 2.159, 2.933, 3.878, 5.003",\
                 "0.471, 0.5108, 0.6396, 0.8693, 1.205, 1.665, 2.274, 3.044, 3.985, 5.109",\
                 "0.6166, 0.6626, 0.8055, 1.045, 1.393, 1.858, 2.457, 3.219, 4.153, 5.273",\
                 "0.7979, 0.8514, 1.015, 1.276, 1.637, 2.117, 2.723, 3.473, 4.396, 5.505",\
                 "1.013, 1.074, 1.261, 1.553, 1.938, 2.432, 3.056, 3.815, 4.726, 5.822",\
                 "1.26, 1.329, 1.542, 1.868, 2.289, 2.808, 3.447, 4.226, 5.149, 6.231",\
                 "1.542, 1.621, 1.857, 2.222, 2.684, 3.24, 3.902, 4.698, 5.643, 6.74");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.1208, 0.1397, 0.2044, 0.3233, 0.5077, 0.7638, 1.102, 1.527, 2.045, 2.661",\
                 "0.1193, 0.1385, 0.2037, 0.3235, 0.5074, 0.7644, 1.101, 1.526, 2.045, 2.662",\
                 "0.1514, 0.1667, 0.2166, 0.3241, 0.5072, 0.7644, 1.101, 1.527, 2.044, 2.662",\
                 "0.2309, 0.2516, 0.3159, 0.4181, 0.5554, 0.7749, 1.102, 1.527, 2.044, 2.662",\
                 "0.3307, 0.3575, 0.4375, 0.5624, 0.7276, 0.926, 1.18, 1.547, 2.046, 2.662",\
                 "0.4512, 0.4844, 0.583, 0.7326, 0.9238, 1.159, 1.432, 1.739, 2.146, 2.691",\
                 "0.5878, 0.6298, 0.75, 0.9298, 1.152, 1.416, 1.726, 2.077, 2.459, 2.914",\
                 "0.7442, 0.7926, 0.938, 1.149, 1.409, 1.705, 2.047, 2.443, 2.876, 3.345",\
                 "0.9218, 0.9804, 1.147, 1.395, 1.691, 2.029, 2.404, 2.83, 3.309, 3.834",\
                 "1.116, 1.185, 1.378, 1.662, 2.007, 2.382, 2.802, 3.263, 3.775, 4.348");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.3004, 0.3558, 0.551, 0.927, 1.511, 2.328, 3.403, 4.759, 6.402, 8.381",\
                 "0.3016, 0.3568, 0.5504, 0.9258, 1.51, 2.328, 3.405, 4.761, 6.403, 8.376",\
                 "0.3109, 0.362, 0.5525, 0.9259, 1.511, 2.328, 3.401, 4.753, 6.408, 8.38",\
                 "0.3649, 0.4179, 0.5914, 0.9343, 1.512, 2.329, 3.402, 4.756, 6.401, 8.377",\
                 "0.4374, 0.4862, 0.6656, 1.006, 1.536, 2.329, 3.405, 4.753, 6.409, 8.38",\
                 "0.5612, 0.6058, 0.7682, 1.106, 1.631, 2.381, 3.409, 4.756, 6.415, 8.384",\
                 "0.7076, 0.7548, 0.9188, 1.234, 1.755, 2.497, 3.48, 4.776, 6.416, 8.386",\
                 "0.8698, 0.9236, 1.101, 1.418, 1.914, 2.654, 3.627, 4.872, 6.447, 8.384",\
                 "1.047, 1.108, 1.302, 1.638, 2.13, 2.841, 3.82, 5.044, 6.566, 8.447",\
                 "1.238, 1.304, 1.521, 1.886, 2.399, 3.09, 4.038, 5.271, 6.769, 8.584");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.106, 0.1199, 0.1655, 0.2453, 0.3626, 0.5211, 0.7257, 0.981, 1.291, 1.659",\
                 "0.1197, 0.1333, 0.1783, 0.2579, 0.3749, 0.5332, 0.7379, 0.9932, 1.303, 1.671",\
                 "0.1738, 0.1881, 0.2319, 0.3083, 0.4239, 0.582, 0.7866, 1.042, 1.352, 1.72",\
                 "0.2232, 0.2426, 0.3032, 0.4001, 0.5249, 0.6814, 0.8847, 1.139, 1.449, 1.817",\
                 "0.2501, 0.275, 0.3526, 0.4764, 0.6367, 0.8272, 1.043, 1.296, 1.604, 1.971",\
                 "0.2534, 0.2832, 0.3778, 0.5288, 0.7242, 0.9556, 1.22, 1.51, 1.827, 2.192",\
                 "0.2323, 0.2672, 0.378, 0.556, 0.7869, 1.059, 1.368, 1.711, 2.084, 2.482",\
                 "0.1872, 0.2266, 0.3525, 0.557, 0.8229, 1.137, 1.491, 1.883, 2.311, 2.772",\
                 "0.1188, 0.1624, 0.302, 0.5297, 0.8314, 1.186, 1.588, 2.03, 2.51, 3.028",\
                 "0.026, 0.0747, 0.2263, 0.4774, 0.8098, 1.208, 1.655, 2.149, 2.683, 3.256");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.2945, 0.3278, 0.4425, 0.6578, 0.9909, 1.458, 2.072, 2.846, 3.79, 4.915",\
                 "0.3044, 0.3385, 0.4547, 0.6719, 1.006, 1.474, 2.088, 2.862, 3.807, 4.932",\
                 "0.339, 0.3731, 0.489, 0.7066, 1.042, 1.511, 2.127, 2.901, 3.846, 4.972",\
                 "0.3849, 0.4207, 0.5417, 0.7589, 1.093, 1.561, 2.176, 2.951, 3.896, 5.021",\
                 "0.4555, 0.4943, 0.6187, 0.8439, 1.178, 1.64, 2.251, 3.021, 3.965, 5.089",\
                 "0.5518, 0.5963, 0.7355, 0.968, 1.31, 1.774, 2.375, 3.137, 4.072, 5.191",\
                 "0.6731, 0.724, 0.8822, 1.139, 1.49, 1.959, 2.565, 3.315, 4.239, 5.347",\
                 "0.82, 0.8782, 1.057, 1.341, 1.72, 2.198, 2.809, 3.565, 4.476, 5.569",\
                 "0.9907, 1.056, 1.255, 1.572, 1.984, 2.491, 3.109, 3.871, 4.79, 5.871",\
                 "1.184, 1.257, 1.476, 1.827, 2.278, 2.822, 3.467, 4.236, 5.161, 6.252");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.1477, 0.1691, 0.2386, 0.3633, 0.5491, 0.807, 1.144, 1.57, 2.089, 2.707",\
                 "0.1434, 0.1653, 0.2364, 0.3621, 0.5488, 0.8063, 1.144, 1.57, 2.089, 2.706",\
                 "0.1729, 0.1879, 0.2411, 0.357, 0.547, 0.8061, 1.144, 1.57, 2.088, 2.705",\
                 "0.2643, 0.2848, 0.3469, 0.4451, 0.5838, 0.8109, 1.144, 1.57, 2.089, 2.707",\
                 "0.3801, 0.4045, 0.4804, 0.5992, 0.7584, 0.952, 1.212, 1.586, 2.088, 2.706",\
                 "0.52, 0.5514, 0.6432, 0.7822, 0.964, 1.192, 1.458, 1.766, 2.181, 2.731",\
                 "0.6862, 0.7236, 0.835, 0.995, 1.202, 1.455, 1.759, 2.105, 2.484, 2.944",\
                 "0.8782, 0.9246, 1.054, 1.246, 1.477, 1.755, 2.085, 2.471, 2.901, 3.369",\
                 "1.1, 1.153, 1.305, 1.528, 1.791, 2.095, 2.452, 2.864, 3.339, 3.859",\
                 "1.353, 1.411, 1.586, 1.841, 2.142, 2.479, 2.863, 3.303, 3.804, 4.371");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00438, 0.01625, 0.0389, 0.0742, 0.1237, 0.1889, 0.271, 0.3712, 0.4907");
          values("0.302, 0.3557, 0.5511, 0.9266, 1.51, 2.329, 3.405, 4.755, 6.413, 8.379",\
                 "0.302, 0.3566, 0.5512, 0.9271, 1.512, 2.325, 3.404, 4.76, 6.409, 8.386",\
                 "0.3082, 0.3611, 0.5523, 0.9264, 1.51, 2.329, 3.404, 4.758, 6.414, 8.369",\
                 "0.3498, 0.4006, 0.5773, 0.9308, 1.51, 2.327, 3.401, 4.758, 6.401, 8.37",\
                 "0.4182, 0.4648, 0.641, 0.9876, 1.53, 2.328, 3.403, 4.761, 6.41, 8.372",\
                 "0.5554, 0.5996, 0.7564, 1.079, 1.612, 2.373, 3.41, 4.759, 6.404, 8.37",\
                 "0.7232, 0.771, 0.9344, 1.233, 1.732, 2.477, 3.476, 4.784, 6.41, 8.368",\
                 "0.9082, 0.9586, 1.135, 1.451, 1.922, 2.628, 3.606, 4.868, 6.449, 8.379",\
                 "1.109, 1.166, 1.357, 1.695, 2.182, 2.845, 3.787, 5.022, 6.564, 8.451",\
                 "1.333, 1.387, 1.594, 1.969, 2.479, 3.141, 4.038, 5.234, 6.746, 8.582");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nor4_1) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "6.96597e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "7.58934e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "6.18849e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "6.18849e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "4.76817e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "4.76817e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "4.76817e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "4.76817e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "3.33135e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.58934e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.00393 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03341, 0.03339, 0.03336, 0.03329, 0.03326, 0.03326, 0.0332, \
                 0.03315, 0.03309, 0.03298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005257, -0.00526, -0.00527, -0.005272, -0.005266, -0.005277, \
                 -0.005282, -0.005282, -0.005287, -0.005283");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02343, 0.02341, 0.02336, 0.02332, 0.0233, 0.02331, 0.02328, \
                 0.02325, 0.0232, 0.02315");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005279, -0.005275, -0.005291, -0.005296, -0.005287, -0.005298, \
                 -0.005308, -0.005305, -0.005304, -0.005303");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02342, 0.02341, 0.02336, 0.02332, 0.02329, 0.02331, 0.02328, \
                 0.02325, 0.02321, 0.02315");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00528, -0.005281, -0.005291, -0.005291, -0.005291, -0.005298, \
                 -0.005305, -0.005302, -0.005302, -0.005305");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01244, 0.0124, 0.01239, 0.01238, 0.01238, 0.01237, 0.01236, \
                 0.01235, 0.01233, 0.01231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005337, -0.005319, -0.005336, -0.005337, -0.005338, -0.005349, \
                 -0.005353, -0.005353, -0.005355, -0.005353");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01244, 0.0124, 0.01239, 0.01238, 0.01238, 0.01237, 0.01236, \
                 0.01236, 0.01233, 0.0123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005331, -0.005318, -0.005336, -0.005339, -0.005335, -0.005348, \
                 -0.005355, -0.005354, -0.005353, -0.005353");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01244, 0.0124, 0.01239, 0.01238, 0.01238, 0.01237, 0.01236, \
                 0.01235, 0.01233, 0.0123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005335, -0.00532, -0.005336, -0.005342, -0.005336, -0.005346, \
                 -0.005352, -0.005353, -0.005351, -0.005355");
        }
      }

      internal_power() {
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01243, 0.0124, 0.01239, 0.01238, 0.01238, 0.01238, 0.01237, \
                 0.01235, 0.01233, 0.01231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005339, -0.005329, -0.005337, -0.00534, -0.005333, -0.005348, \
                 -0.005355, -0.00535, -0.005356, -0.005352");
        }
      }
    }

    pin(A2) {
      capacitance : 0.003538 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02133, 0.0213, 0.02132, 0.0213, 0.02125, 0.02126, 0.02123, 0.02118, \
                 0.02111, 0.02102");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005865, -0.005849, -0.005879, -0.00588, -0.00589, -0.005902, \
                 -0.005916, -0.005924, -0.005938, -0.005961");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01132, 0.01131, 0.01134, 0.01133, 0.01132, 0.01133, 0.0113, \
                 0.01128, 0.01125, 0.0112");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005984, -0.005976, -0.005997, -0.006001, -0.006016, -0.006028, \
                 -0.006042, -0.006049, -0.006071, -0.00609");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01133, 0.01131, 0.01134, 0.01133, 0.01133, 0.01133, 0.01131, \
                 0.01128, 0.01125, 0.01119");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005988, -0.005975, -0.006, -0.006004, -0.006016, -0.006027, \
                 -0.006045, -0.006052, -0.006073, -0.006089");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01628, 0.01632, 0.01629, 0.01628, 0.01631, 0.01631, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01324, -0.01403, -0.01532, -0.01576, -0.01588, -0.01598, -0.01602, \
                 -0.01604, -0.01607, -0.01608");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009882, 0.009857, 0.009892, 0.009901, 0.009877, 0.009906, 0.009907, \
                 0.009905, 0.009911, 0.009913");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009953, -0.01033, -0.0108, -0.01095, -0.011, -0.01106, -0.0111, \
                 -0.01113, -0.01116, -0.01118");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01031, 0.0103, 0.01033, 0.01034, 0.01033, 0.01034, 0.01035, \
                 0.01035, 0.01035, 0.01035");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01065, -0.01059, -0.01052, -0.01042, -0.01034, -0.01029, -0.01025, \
                 -0.0102, -0.01016, -0.01014");
        }
      }

      internal_power() {
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01031, 0.0103, 0.01033, 0.01033, 0.01032, 0.01035, 0.01035, \
                 0.01035, 0.01035, 0.01034");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00987, -0.009782, -0.009722, -0.009606, -0.009524, -0.009486, \
                 -0.009448, -0.009413, -0.009392, -0.009394");
        }
      }
    }

    pin(A3) {
      capacitance : 0.003634 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009554, 0.009554, 0.009576, 0.009549, 0.009549, 0.00955, 0.009526, \
                 0.009495, 0.009439, 0.009373");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006664, -0.006653, -0.006665, -0.006673, -0.006682, -0.006701, \
                 -0.006723, -0.006738, -0.006763, -0.006799");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01634, 0.01632, 0.01633, 0.01628, 0.01628, 0.01631, 0.01631, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01412, -0.01494, -0.01558, -0.01581, -0.01589, -0.01599, -0.01602, \
                 -0.01604, -0.01607, -0.01609");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01015, 0.01014, 0.01015, 0.01018, 0.01016, 0.01019, 0.01019, \
                 0.01019, 0.01019, 0.01019");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01166, -0.01157, -0.01144, -0.01134, -0.01127, -0.01124, -0.01122, \
                 -0.0112, -0.0112, -0.01122");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01636, 0.01634, 0.01633, 0.01629, 0.01628, 0.01633, 0.01633, \
                 0.01631, 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01362, -0.01374, -0.0144, -0.01503, -0.01538, -0.01558, -0.0157, \
                 -0.01578, -0.01583, -0.01587");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009884, 0.009867, 0.009853, 0.009891, 0.009879, 0.009919, 0.009905, \
                 0.009906, 0.009905, 0.009907");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01219, -0.01175, -0.01133, -0.01121, -0.01117, -0.01118, -0.01118, \
                 -0.0112, -0.01123, -0.01126");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01634, 0.01632, 0.01632, 0.01629, 0.01628, 0.01633, 0.01632, \
                 0.01631, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01518, -0.01531, -0.0156, -0.01581, -0.01589, -0.01599, -0.01602, \
                 -0.01604, -0.01607, -0.01608");
        }
      }

      internal_power() {
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01016, 0.01015, 0.01015, 0.01018, 0.01017, 0.01019, 0.01019, \
                 0.01019, 0.01019, 0.0102");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01401, -0.01395, -0.01385, -0.0138, -0.01378, -0.0138, -0.01381, \
                 -0.01382, -0.01385, -0.01389");
        }
      }
    }

    pin(A4) {
      capacitance : 0.003801 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01629, 0.0163, 0.01631, 0.01628, 0.0163, 0.01631, 0.0163, \
                 0.01629, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01487, -0.01523, -0.01565, -0.01581, -0.01589, -0.01598, -0.01602, \
                 -0.01605, -0.01607, -0.01607");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01627, 0.01627, 0.01629, 0.01628, 0.01633, 0.01632, \
                 0.01633, 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01373, -0.01415, -0.01483, -0.01528, -0.01551, -0.01566, -0.01574, \
                 -0.01581, -0.01584, -0.01587");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01629, 0.0163, 0.01631, 0.01629, 0.01631, 0.01631, 0.01629, \
                 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01516, -0.01531, -0.01565, -0.01581, -0.01588, -0.01599, -0.01602, \
                 -0.01605, -0.01607, -0.01608");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01632, 0.01627, 0.01627, 0.01628, 0.01628, 0.01632, 0.01633, \
                 0.01631, 0.01633, 0.01633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0135, -0.0139, -0.01451, -0.01498, -0.01528, -0.01547, -0.01561, \
                 -0.01569, -0.01574, -0.01578");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01629, 0.01629, 0.01631, 0.01627, 0.01631, 0.0163, 0.01629, \
                 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01493, -0.01522, -0.01565, -0.01581, -0.01589, -0.01599, -0.01602, \
                 -0.01605, -0.01607, -0.01607");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01627, 0.01627, 0.01629, 0.01628, 0.01633, 0.01633, \
                 0.01632, 0.01632, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01373, -0.01416, -0.01483, -0.01528, -0.01551, -0.01566, -0.01575, \
                 -0.01581, -0.01584, -0.01587");
        }
      }

      internal_power() {
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01629, 0.01629, 0.01629, 0.01629, 0.01632, 0.01631, \
                 0.0163, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01516, -0.01531, -0.01565, -0.01581, -0.01589, -0.01598, -0.01602, \
                 -0.01605, -0.01607, -0.01607");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)&(!A2)&(!A3)&(!A4))" ;
      max_capacitance : 0.09101 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.001269, 0.001351, 0.001469, 0.001603, 0.0017, 0.001739, 0.001762, 0.001784, 0.001801, 0.001808",\
                 "0.001434, 0.001562, 0.001841, 0.002143, 0.002372, 0.002513, 0.002608, 0.002671, 0.002721, 0.002743",\
                 "0.002853, 0.002921, 0.003074, 0.003278, 0.003487, 0.003614, 0.003734, 0.003807, 0.003865, 0.003903",\
                 "0.006442, 0.006351, 0.006136, 0.00588, 0.005654, 0.005441, 0.005291, 0.005159, 0.005059, 0.004984",\
                 "0.01294, 0.01269, 0.01198, 0.01102, 0.01007, 0.009225, 0.008501, 0.007873, 0.007367, 0.006939",\
                 "0.02349, 0.02305, 0.02175, 0.01983, 0.01785, 0.01604, 0.0144, 0.013, 0.01183, 0.01083",\
                 "0.03875, 0.03813, 0.03621, 0.03327, 0.03003, 0.02689, 0.02406, 0.02154, 0.01935, 0.0175",\
                 "0.05909, 0.05829, 0.05575, 0.05185, 0.04723, 0.04253, 0.03818, 0.03426, 0.03078, 0.02774",\
                 "0.08473, 0.08378, 0.08072, 0.07583, 0.06983, 0.06353, 0.05742, 0.0518, 0.04681, 0.04231",\
                 "0.116, 0.1149, 0.1113, 0.1055, 0.09818, 0.09027, 0.08231, 0.07481, 0.06798, 0.0618");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.05301, 0.05307, 0.0532, 0.05336, 0.05355, 0.05373, 0.05389, 0.05414, 0.05444, 0.05532",\
                 "0.05236, 0.05244, 0.05267, 0.05298, 0.05325, 0.05353, 0.05379, 0.05404, 0.05431, 0.05545",\
                 "0.05329, 0.05325, 0.0532, 0.05319, 0.05333, 0.05351, 0.05373, 0.05398, 0.05428, 0.05544",\
                 "0.05817, 0.05792, 0.05725, 0.05641, 0.05571, 0.05526, 0.05505, 0.05494, 0.05495, 0.05607",\
                 "0.06725, 0.06682, 0.06554, 0.06378, 0.06193, 0.06035, 0.0591, 0.05827, 0.0576, 0.05827",\
                 "0.08074, 0.08017, 0.07826, 0.07565, 0.07259, 0.06968, 0.06709, 0.0649, 0.0634, 0.06362",\
                 "0.09929, 0.09849, 0.096, 0.09233, 0.08817, 0.08393, 0.07986, 0.07615, 0.07326, 0.07278",\
                 "0.1234, 0.1223, 0.1192, 0.1144, 0.109, 0.1035, 0.09795, 0.09265, 0.08817, 0.08699",\
                 "0.1532, 0.152, 0.1483, 0.1425, 0.1357, 0.1286, 0.1216, 0.1147, 0.1089, 0.108",\
                 "0.1894, 0.1881, 0.1837, 0.1769, 0.1686, 0.1599, 0.1513, 0.143, 0.1363, 0.1379");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.01243, 0.01243, 0.01244, 0.01246, 0.01248, 0.01249, 0.01249, 0.0125, 0.0125, 0.0125",\
                 "0.01248, 0.01248, 0.01252, 0.01257, 0.0126, 0.01262, 0.01264, 0.01265, 0.01266, 0.01267",\
                 "0.0132, 0.0132, 0.0132, 0.01317, 0.01318, 0.01319, 0.01322, 0.0132, 0.01321, 0.01322",\
                 "0.01588, 0.0158, 0.01552, 0.01521, 0.0149, 0.0146, 0.01436, 0.01419, 0.01405, 0.01395",\
                 "0.02209, 0.02188, 0.02117, 0.02017, 0.01916, 0.0182, 0.0174, 0.01672, 0.01618, 0.01571",\
                 "0.03297, 0.03259, 0.03132, 0.02944, 0.02734, 0.02533, 0.02352, 0.02199, 0.0207, 0.01962",\
                 "0.0491, 0.04851, 0.04661, 0.0437, 0.04033, 0.03696, 0.03384, 0.03104, 0.02864, 0.0266",\
                 "0.07078, 0.06998, 0.06752, 0.06359, 0.05883, 0.05387, 0.04912, 0.04474, 0.04085, 0.03751",\
                 "0.09825, 0.09733, 0.09432, 0.08936, 0.0832, 0.07659, 0.07003, 0.06386, 0.05821, 0.0532",\
                 "0.1318, 0.1308, 0.1272, 0.1214, 0.1138, 0.1055, 0.09708, 0.08891, 0.0813, 0.07434");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.06456, 0.06459, 0.06468, 0.06483, 0.06493, 0.06511, 0.06528, 0.0655, 0.06573, 0.06693",\
                 "0.06396, 0.06403, 0.06423, 0.06446, 0.06472, 0.06493, 0.06514, 0.06543, 0.06563, 0.06686",\
                 "0.06338, 0.06342, 0.06361, 0.0639, 0.06424, 0.06455, 0.06488, 0.0652, 0.06553, 0.06668",\
                 "0.06569, 0.0656, 0.06537, 0.06513, 0.06502, 0.06507, 0.06521, 0.06543, 0.06568, 0.06699",\
                 "0.07342, 0.07309, 0.07213, 0.07089, 0.06967, 0.06874, 0.06811, 0.06764, 0.06754, 0.06843",\
                 "0.08714, 0.08655, 0.08477, 0.08232, 0.0797, 0.0773, 0.07521, 0.07361, 0.07241, 0.07287",\
                 "0.1068, 0.106, 0.1035, 0.09975, 0.09563, 0.09162, 0.08781, 0.0846, 0.082, 0.08187",\
                 "0.1326, 0.1316, 0.1283, 0.1234, 0.1178, 0.1121, 0.1066, 0.1015, 0.0971, 0.09627",\
                 "0.1648, 0.1636, 0.1597, 0.1536, 0.1464, 0.1389, 0.1318, 0.1247, 0.1188, 0.1174",\
                 "0.2037, 0.2023, 0.1979, 0.1908, 0.1821, 0.1726, 0.1635, 0.1548, 0.1475, 0.1479");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.02328, 0.02329, 0.02327, 0.02325, 0.02328, 0.02329, 0.02328, 0.02328, 0.02329, 0.0233",\
                 "0.02307, 0.02306, 0.02302, 0.02304, 0.02301, 0.02306, 0.02306, 0.02306, 0.02307, 0.02305",\
                 "0.02282, 0.02279, 0.02275, 0.02265, 0.02262, 0.02259, 0.02258, 0.02254, 0.02255, 0.02254",\
                 "0.0248, 0.0247, 0.0244, 0.02402, 0.02367, 0.02334, 0.02308, 0.02289, 0.02275, 0.02263",\
                 "0.03103, 0.03078, 0.03001, 0.02893, 0.02778, 0.02674, 0.0259, 0.02516, 0.02458, 0.02415",\
                 "0.04268, 0.04223, 0.04082, 0.03872, 0.03636, 0.03411, 0.03215, 0.0305, 0.02915, 0.02798",\
                 "0.0604, 0.05973, 0.05758, 0.05433, 0.05052, 0.04666, 0.04315, 0.04006, 0.03741, 0.03524",\
                 "0.0846, 0.08371, 0.08087, 0.07637, 0.07093, 0.06526, 0.05982, 0.05489, 0.05055, 0.04681",\
                 "0.1156, 0.1145, 0.111, 0.1053, 0.09817, 0.09051, 0.08293, 0.07587, 0.06944, 0.06374",\
                 "0.1535, 0.1523, 0.1482, 0.1414, 0.1326, 0.1229, 0.1131, 0.1036, 0.09486, 0.0869");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.07573, 0.07575, 0.07585, 0.07597, 0.07611, 0.07627, 0.07643, 0.07665, 0.07692, 0.07788",\
                 "0.07511, 0.07518, 0.07538, 0.07563, 0.07588, 0.07608, 0.0763, 0.07658, 0.07675, 0.07797",\
                 "0.0743, 0.07436, 0.07459, 0.07493, 0.07531, 0.07565, 0.076, 0.07632, 0.07665, 0.0778",\
                 "0.07497, 0.07495, 0.07493, 0.07501, 0.07518, 0.07548, 0.07577, 0.07606, 0.0764, 0.0779",\
                 "0.08072, 0.08046, 0.07982, 0.07906, 0.07836, 0.07792, 0.07762, 0.07751, 0.07754, 0.07888",\
                 "0.09394, 0.09338, 0.09179, 0.08972, 0.08754, 0.08561, 0.08402, 0.08276, 0.08202, 0.0829",\
                 "0.1151, 0.1143, 0.1117, 0.108, 0.104, 0.1002, 0.09682, 0.09371, 0.09149, 0.09143",\
                 "0.1439, 0.1428, 0.1394, 0.1341, 0.1282, 0.1223, 0.1169, 0.1119, 0.1077, 0.1066",\
                 "0.1801, 0.1788, 0.1748, 0.1683, 0.1604, 0.1522, 0.1445, 0.1374, 0.1313, 0.1296",\
                 "0.224, 0.2226, 0.2179, 0.2103, 0.2008, 0.1904, 0.1803, 0.1709, 0.1631, 0.1621");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.03265, 0.03264, 0.0326, 0.03256, 0.03255, 0.03255, 0.03258, 0.03259, 0.03258, 0.03258",\
                 "0.03158, 0.03158, 0.03154, 0.03151, 0.0315, 0.03151, 0.0315, 0.03152, 0.03154, 0.03154",\
                 "0.03072, 0.0307, 0.03062, 0.03051, 0.03046, 0.03043, 0.0304, 0.03038, 0.03038, 0.03036",\
                 "0.03234, 0.03223, 0.03195, 0.03154, 0.03118, 0.03083, 0.03058, 0.03041, 0.03028, 0.03016",\
                 "0.03875, 0.03849, 0.03764, 0.03643, 0.0352, 0.03409, 0.03318, 0.03246, 0.03186, 0.03142",\
                 "0.05148, 0.05096, 0.04932, 0.04693, 0.0443, 0.0418, 0.03965, 0.03786, 0.03642, 0.03521",\
                 "0.07138, 0.07059, 0.06808, 0.06427, 0.05983, 0.05541, 0.05147, 0.04799, 0.04512, 0.0427",\
                 "0.09894, 0.0979, 0.09453, 0.08918, 0.08272, 0.07605, 0.06979, 0.06415, 0.05924, 0.05506",\
                 "0.1346, 0.1333, 0.1291, 0.1223, 0.1138, 0.1046, 0.09568, 0.08743, 0.07997, 0.0735",\
                 "0.1785, 0.177, 0.1721, 0.1638, 0.1532, 0.1416, 0.1298, 0.1186, 0.1083, 0.09902");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.08687, 0.08691, 0.08701, 0.08713, 0.08725, 0.08743, 0.08762, 0.08784, 0.08797, 0.08929",\
                 "0.08632, 0.08639, 0.0866, 0.08683, 0.08709, 0.0873, 0.08749, 0.08771, 0.08801, 0.08906",\
                 "0.08545, 0.08555, 0.08576, 0.0861, 0.08646, 0.08683, 0.08716, 0.08744, 0.08778, 0.08915",\
                 "0.08558, 0.0856, 0.08565, 0.08584, 0.0861, 0.0864, 0.08679, 0.08714, 0.08752, 0.08892",\
                 "0.0901, 0.08996, 0.08947, 0.08892, 0.08844, 0.08819, 0.08808, 0.0881, 0.08826, 0.08974",\
                 "0.1027, 0.1022, 0.1008, 0.09889, 0.09705, 0.09541, 0.09409, 0.09308, 0.09241, 0.0934",\
                 "0.1249, 0.124, 0.1215, 0.1178, 0.1139, 0.1104, 0.1072, 0.1043, 0.1022, 0.1024",\
                 "0.1566, 0.1555, 0.1519, 0.1464, 0.1402, 0.1342, 0.1287, 0.1237, 0.1195, 0.1184",\
                 "0.1974, 0.1961, 0.1918, 0.1848, 0.1762, 0.1676, 0.1594, 0.1519, 0.1456, 0.1435",\
                 "0.2474, 0.2459, 0.241, 0.2327, 0.2223, 0.2109, 0.1997, 0.1895, 0.1809, 0.179");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.1052, 0.1146, 0.1474, 0.2097, 0.3066, 0.4422, 0.6205, 0.8449, 1.119, 1.446",\
                 "0.1196, 0.1291, 0.1624, 0.2252, 0.3223, 0.4582, 0.6367, 0.8611, 1.135, 1.462",\
                 "0.1643, 0.176, 0.2134, 0.277, 0.374, 0.5099, 0.6884, 0.9131, 1.187, 1.514",\
                 "0.1943, 0.2107, 0.2638, 0.3518, 0.4679, 0.6081, 0.7858, 1.01, 1.283, 1.609",\
                 "0.1926, 0.2143, 0.2842, 0.3987, 0.5496, 0.7301, 0.9345, 1.162, 1.435, 1.76",\
                 "0.152, 0.1796, 0.2682, 0.4115, 0.5987, 0.8202, 1.072, 1.349, 1.647, 1.975",\
                 "0.0707, 0.1035, 0.2106, 0.385, 0.6104, 0.8762, 1.174, 1.502, 1.858, 2.236",\
                 "-0.0543, -0.015, 0.1102, 0.3138, 0.5802, 0.8907, 1.239, 1.618, 2.028, 2.467",\
                 "-0.2255, -0.1804, -0.0363, 0.1975, 0.501, 0.8615, 1.261, 1.694, 2.16, 2.657",\
                 "-0.4447, -0.394, -0.2319, 0.0329, 0.3767, 0.781, 1.235, 1.726, 2.25, 2.806");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.2331, 0.2639, 0.3721, 0.5814, 0.9062, 1.361, 1.958, 2.712, 3.631, 4.725",\
                 "0.2417, 0.2726, 0.3818, 0.5917, 0.9175, 1.373, 1.972, 2.725, 3.644, 4.739",\
                 "0.3002, 0.3289, 0.4335, 0.6404, 0.9649, 1.42, 2.018, 2.772, 3.691, 4.786",\
                 "0.4315, 0.4608, 0.5605, 0.7559, 1.073, 1.522, 2.116, 2.867, 3.783, 4.877",\
                 "0.6075, 0.6407, 0.7532, 0.9561, 1.261, 1.7, 2.285, 3.027, 3.938, 5.028",\
                 "0.8279, 0.8667, 0.992, 1.215, 1.537, 1.968, 2.541, 3.272, 4.175, 5.256",\
                 "1.092, 1.136, 1.28, 1.524, 1.872, 2.329, 2.898, 3.617, 4.505, 5.574",\
                 "1.401, 1.451, 1.614, 1.888, 2.263, 2.75, 3.351, 4.068, 4.943, 5.998",\
                 "1.756, 1.813, 1.997, 2.303, 2.715, 3.23, 3.865, 4.619, 5.497, 6.537",\
                 "2.162, 2.226, 2.432, 2.771, 3.221, 3.776, 4.443, 5.235, 6.154, 7.2");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.128, 0.1437, 0.1986, 0.3034, 0.4669, 0.6969, 0.9975, 1.378, 1.842, 2.395",\
                 "0.1279, 0.1437, 0.1986, 0.3035, 0.4667, 0.697, 0.9966, 1.378, 1.841, 2.393",\
                 "0.1628, 0.1757, 0.2172, 0.3073, 0.4665, 0.6966, 0.997, 1.378, 1.841, 2.395",\
                 "0.2414, 0.2585, 0.314, 0.4065, 0.5298, 0.7161, 0.9995, 1.378, 1.84, 2.396",\
                 "0.3414, 0.3623, 0.4315, 0.5442, 0.697, 0.8826, 1.103, 1.417, 1.846, 2.394",\
                 "0.4632, 0.4892, 0.5746, 0.7104, 0.8864, 1.104, 1.36, 1.64, 1.986, 2.45",\
                 "0.6038, 0.6376, 0.7394, 0.9018, 1.108, 1.353, 1.643, 1.97, 2.328, 2.725",\
                 "0.7672, 0.8052, 0.9266, 1.12, 1.36, 1.641, 1.956, 2.318, 2.723, 3.165",\
                 "0.9462, 0.996, 1.137, 1.359, 1.639, 1.956, 2.311, 2.705, 3.148, 3.631",\
                 "1.142, 1.199, 1.367, 1.623, 1.941, 2.303, 2.702, 3.135, 3.608, 4.133");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.5162, 0.5764, 0.7824, 1.157, 1.725, 2.521, 3.563, 4.878, 6.484, 8.393",\
                 "0.5106, 0.5723, 0.7802, 1.157, 1.725, 2.522, 3.565, 4.872, 6.479, 8.386",\
                 "0.4956, 0.5569, 0.7711, 1.154, 1.724, 2.522, 3.563, 4.883, 6.478, 8.396",\
                 "0.534, 0.5858, 0.7702, 1.138, 1.724, 2.522, 3.565, 4.881, 6.488, 8.392",\
                 "0.5956, 0.6494, 0.841, 1.178, 1.717, 2.514, 3.562, 4.88, 6.485, 8.401",\
                 "0.6966, 0.7496, 0.9276, 1.281, 1.799, 2.535, 3.561, 4.873, 6.49, 8.387",\
                 "0.8398, 0.8908, 1.071, 1.405, 1.942, 2.657, 3.611, 4.88, 6.483, 8.398",\
                 "1.005, 1.061, 1.252, 1.583, 2.109, 2.843, 3.776, 4.969, 6.489, 8.389",\
                 "1.19, 1.255, 1.459, 1.807, 2.323, 3.051, 4.01, 5.172, 6.622, 8.432",\
                 "1.394, 1.464, 1.688, 2.069, 2.59, 3.305, 4.266, 5.457, 6.873, 8.602");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.1439, 0.154, 0.1884, 0.2525, 0.3509, 0.4877, 0.6669, 0.8921, 1.167, 1.493",\
                 "0.158, 0.1681, 0.2024, 0.2667, 0.3652, 0.5022, 0.6813, 0.9065, 1.181, 1.508",\
                 "0.2088, 0.2191, 0.2535, 0.3174, 0.4157, 0.5525, 0.7316, 0.9568, 1.231, 1.558",\
                 "0.2593, 0.274, 0.322, 0.4029, 0.5122, 0.6497, 0.8281, 1.053, 1.327, 1.653",\
                 "0.281, 0.3003, 0.3623, 0.4674, 0.6092, 0.7817, 0.9788, 1.205, 1.478, 1.803",\
                 "0.2693, 0.2932, 0.371, 0.5017, 0.676, 0.8868, 1.129, 1.399, 1.692, 2.018",\
                 "0.221, 0.2494, 0.3423, 0.4999, 0.7087, 0.9604, 1.246, 1.565, 1.913, 2.285",\
                 "0.1349, 0.1676, 0.2759, 0.4587, 0.7034, 0.9971, 1.33, 1.696, 2.096, 2.527",\
                 "0.0099, 0.047, 0.1697, 0.3771, 0.6576, 0.9925, 1.374, 1.792, 2.245, 2.731",\
                 "-0.1583, -0.1162, 0.0222, 0.2537, 0.5667, 0.946, 1.375, 1.847, 2.355, 2.897");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.3708, 0.4021, 0.5127, 0.7221, 1.046, 1.501, 2.099, 2.851, 3.77, 4.866",\
                 "0.3792, 0.411, 0.5225, 0.7322, 1.058, 1.513, 2.111, 2.864, 3.784, 4.879",\
                 "0.4122, 0.4441, 0.5555, 0.766, 1.092, 1.548, 2.147, 2.901, 3.82, 4.917",\
                 "0.4843, 0.5176, 0.6303, 0.8378, 1.161, 1.614, 2.211, 2.964, 3.883, 4.979",\
                 "0.612, 0.645, 0.7605, 0.9754, 1.295, 1.74, 2.331, 3.077, 3.993, 5.085",\
                 "0.7984, 0.835, 0.9557, 1.173, 1.501, 1.945, 2.524, 3.262, 4.166, 5.252",\
                 "1.029, 1.071, 1.205, 1.437, 1.771, 2.225, 2.804, 3.53, 4.423, 5.497",\
                 "1.3, 1.346, 1.499, 1.755, 2.109, 2.572, 3.164, 3.891, 4.771, 5.831",\
                 "1.611, 1.664, 1.835, 2.12, 2.505, 2.988, 3.592, 4.333, 5.217, 6.263",\
                 "1.963, 2.023, 2.214, 2.53, 2.952, 3.47, 4.093, 4.847, 5.748, 6.8");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.176, 0.192, 0.248, 0.3533, 0.5178, 0.7471, 1.049, 1.429, 1.893, 2.444",\
                 "0.1758, 0.1919, 0.2477, 0.3532, 0.5178, 0.7474, 1.049, 1.43, 1.893, 2.443",\
                 "0.1924, 0.2053, 0.2536, 0.354, 0.5175, 0.7478, 1.05, 1.429, 1.893, 2.444",\
                 "0.2835, 0.2989, 0.3513, 0.4386, 0.5634, 0.7599, 1.049, 1.428, 1.892, 2.443",\
                 "0.3949, 0.4148, 0.479, 0.5866, 0.7334, 0.914, 1.139, 1.46, 1.896, 2.444",\
                 "0.53, 0.5544, 0.6334, 0.7602, 0.931, 1.143, 1.393, 1.672, 2.025, 2.495",\
                 "0.6886, 0.7164, 0.8106, 0.9622, 1.16, 1.399, 1.681, 2.003, 2.36, 2.757",\
                 "0.864, 0.901, 1.013, 1.19, 1.42, 1.69, 1.999, 2.357, 2.757, 3.195",\
                 "1.067, 1.107, 1.237, 1.447, 1.708, 2.014, 2.358, 2.746, 3.182, 3.663",\
                 "1.289, 1.336, 1.487, 1.727, 2.025, 2.369, 2.756, 3.176, 3.644, 4.163");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.5471, 0.602, 0.7938, 1.159, 1.726, 2.519, 3.564, 4.878, 6.478, 8.384",\
                 "0.5465, 0.6011, 0.7933, 1.158, 1.725, 2.518, 3.564, 4.879, 6.481, 8.395",\
                 "0.5495, 0.6026, 0.7937, 1.159, 1.725, 2.52, 3.565, 4.879, 6.484, 8.402",\
                 "0.5955, 0.6442, 0.8182, 1.164, 1.727, 2.517, 3.565, 4.88, 6.488, 8.39",\
                 "0.6586, 0.7082, 0.8894, 1.22, 1.749, 2.523, 3.567, 4.878, 6.475, 8.4",\
                 "0.7662, 0.8118, 0.9768, 1.31, 1.826, 2.562, 3.57, 4.876, 6.477, 8.393",\
                 "0.925, 0.9686, 1.124, 1.43, 1.94, 2.665, 3.636, 4.897, 6.478, 8.398",\
                 "1.108, 1.156, 1.315, 1.612, 2.092, 2.806, 3.76, 4.981, 6.513, 8.392",\
                 "1.31, 1.362, 1.535, 1.843, 2.311, 2.99, 3.932, 5.131, 6.625, 8.443",\
                 "1.537, 1.59, 1.776, 2.109, 2.588, 3.242, 4.151, 5.337, 6.803, 8.573");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.1606, 0.1718, 0.2099, 0.2789, 0.3822, 0.5231, 0.7054, 0.933, 1.209, 1.538",\
                 "0.1742, 0.1854, 0.2232, 0.2923, 0.3954, 0.5364, 0.7187, 0.9462, 1.223, 1.551",\
                 "0.2265, 0.237, 0.2732, 0.3408, 0.4433, 0.5838, 0.7661, 0.9936, 1.27, 1.598",\
                 "0.2915, 0.3059, 0.3529, 0.433, 0.5406, 0.6797, 0.8607, 1.088, 1.364, 1.692",\
                 "0.3301, 0.3487, 0.4095, 0.512, 0.6503, 0.8188, 1.013, 1.24, 1.514, 1.841",\
                 "0.3392, 0.3621, 0.4368, 0.562, 0.7316, 0.9373, 1.175, 1.44, 1.729, 2.055",\
                 "0.3171, 0.3436, 0.4323, 0.5819, 0.7831, 1.026, 1.305, 1.618, 1.96, 2.328",\
                 "0.2614, 0.2925, 0.394, 0.5665, 0.8003, 1.083, 1.406, 1.764, 2.157, 2.581",\
                 "0.1739, 0.2083, 0.3228, 0.5177, 0.7832, 1.104, 1.472, 1.879, 2.32, 2.798",\
                 "0.0539, 0.0914, 0.2173, 0.4332, 0.7274, 1.088, 1.501, 1.957, 2.452, 2.982");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.4556, 0.4874, 0.5978, 0.8073, 1.131, 1.586, 2.184, 2.937, 3.856, 4.95",\
                 "0.4639, 0.4964, 0.608, 0.8177, 1.143, 1.599, 2.197, 2.95, 3.869, 4.964",\
                 "0.4955, 0.5283, 0.6399, 0.8505, 1.177, 1.634, 2.233, 2.986, 3.906, 5.002",\
                 "0.5461, 0.5797, 0.6925, 0.9025, 1.227, 1.683, 2.282, 3.036, 3.956, 5.051",\
                 "0.6286, 0.6625, 0.7779, 0.9941, 1.317, 1.767, 2.36, 3.11, 4.027, 5.12",\
                 "0.7646, 0.801, 0.9209, 1.137, 1.465, 1.912, 2.495, 3.235, 4.144, 5.231",\
                 "0.9422, 0.983, 1.116, 1.345, 1.674, 2.123, 2.707, 3.433, 4.329, 5.404",\
                 "1.155, 1.202, 1.35, 1.601, 1.949, 2.402, 2.986, 3.714, 4.595, 5.656",\
                 "1.402, 1.453, 1.617, 1.895, 2.272, 2.747, 3.335, 4.065, 4.948, 5.993",\
                 "1.68, 1.737, 1.92, 2.225, 2.635, 3.143, 3.753, 4.487, 5.373, 6.422");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.2183, 0.2352, 0.2941, 0.4024, 0.5675, 0.798, 1.101, 1.48, 1.944, 2.497",\
                 "0.2165, 0.2339, 0.293, 0.4013, 0.5677, 0.7983, 1.1, 1.481, 1.944, 2.497",\
                 "0.2206, 0.2354, 0.2898, 0.3982, 0.5661, 0.7976, 1.1, 1.479, 1.944, 2.497",\
                 "0.3205, 0.3362, 0.3859, 0.4694, 0.5977, 0.803, 1.1, 1.48, 1.944, 2.497",\
                 "0.4469, 0.4664, 0.5262, 0.6282, 0.7698, 0.9444, 1.176, 1.504, 1.947, 2.497",\
                 "0.6006, 0.6254, 0.697, 0.814, 0.9766, 1.182, 1.426, 1.704, 2.063, 2.54",\
                 "0.783, 0.809, 0.8964, 1.034, 1.219, 1.446, 1.721, 2.038, 2.388, 2.789",\
                 "0.99, 1.025, 1.123, 1.287, 1.495, 1.748, 2.047, 2.396, 2.791, 3.225",\
                 "1.229, 1.263, 1.382, 1.573, 1.807, 2.09, 2.416, 2.791, 3.218, 3.695",\
                 "1.491, 1.539, 1.67, 1.889, 2.159, 2.472, 2.831, 3.23, 3.687, 4.198");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.549, 0.6035, 0.7938, 1.159, 1.725, 2.52, 3.564, 4.879, 6.476, 8.401",\
                 "0.5503, 0.6029, 0.7935, 1.158, 1.725, 2.519, 3.562, 4.879, 6.488, 8.385",\
                 "0.5516, 0.6048, 0.7941, 1.158, 1.726, 2.52, 3.565, 4.879, 6.483, 8.401",\
                 "0.5882, 0.638, 0.8112, 1.164, 1.727, 2.52, 3.565, 4.876, 6.487, 8.382",\
                 "0.653, 0.702, 0.8794, 1.213, 1.746, 2.523, 3.565, 4.88, 6.483, 8.383",\
                 "0.7714, 0.8168, 0.9724, 1.298, 1.818, 2.561, 3.572, 4.882, 6.489, 8.387",\
                 "0.9548, 0.997, 1.142, 1.436, 1.93, 2.655, 3.632, 4.898, 6.476, 8.401",\
                 "1.162, 1.204, 1.362, 1.645, 2.102, 2.795, 3.747, 4.98, 6.521, 8.389",\
                 "1.388, 1.436, 1.602, 1.904, 2.351, 3, 3.919, 5.116, 6.62, 8.459",\
                 "1.633, 1.686, 1.865, 2.189, 2.66, 3.284, 4.153, 5.319, 6.782, 8.577");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.1613, 0.1736, 0.2148, 0.2888, 0.3978, 0.5444, 0.7314, 0.9628, 1.242, 1.573",\
                 "0.1739, 0.186, 0.2268, 0.3003, 0.4091, 0.5554, 0.7425, 0.9739, 1.253, 1.584",\
                 "0.2291, 0.2401, 0.2779, 0.3489, 0.4559, 0.6016, 0.7883, 1.02, 1.299, 1.63",\
                 "0.3031, 0.3177, 0.3657, 0.4465, 0.5551, 0.6975, 0.8824, 1.113, 1.392, 1.722",\
                 "0.3529, 0.3717, 0.433, 0.5357, 0.6747, 0.8429, 1.036, 1.265, 1.542, 1.871",\
                 "0.3767, 0.3996, 0.4739, 0.5998, 0.7677, 0.9716, 1.207, 1.471, 1.758, 2.086",\
                 "0.3734, 0.4004, 0.488, 0.6361, 0.835, 1.075, 1.35, 1.659, 1.998, 2.362",\
                 "0.3427, 0.3737, 0.4743, 0.6451, 0.8733, 1.15, 1.467, 1.819, 2.206, 2.625",\
                 "0.2857, 0.3198, 0.4328, 0.6245, 0.8831, 1.196, 1.554, 1.951, 2.386, 2.856",\
                 "0.2035, 0.2406, 0.3637, 0.5753, 0.8628, 1.213, 1.612, 2.056, 2.538, 3.057");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.4879, 0.5201, 0.6307, 0.8394, 1.164, 1.619, 2.216, 2.969, 3.888, 4.983",\
                 "0.4995, 0.5316, 0.6433, 0.8527, 1.178, 1.634, 2.232, 2.985, 3.904, 4.999",\
                 "0.5317, 0.5637, 0.6755, 0.8867, 1.213, 1.67, 2.268, 3.023, 3.942, 5.038",\
                 "0.5744, 0.6069, 0.719, 0.9291, 1.255, 1.711, 2.311, 3.064, 3.984, 5.081",\
                 "0.6361, 0.6692, 0.7834, 0.9965, 1.319, 1.77, 2.365, 3.117, 4.035, 5.129",\
                 "0.7382, 0.7739, 0.8923, 1.105, 1.429, 1.877, 2.462, 3.204, 4.115, 5.202",\
                 "0.8661, 0.9059, 1.039, 1.268, 1.594, 2.039, 2.621, 3.349, 4.246, 5.323",\
                 "1.019, 1.066, 1.214, 1.466, 1.815, 2.264, 2.841, 3.567, 4.447, 5.508",\
                 "1.2, 1.249, 1.416, 1.694, 2.073, 2.548, 3.129, 3.849, 4.727, 5.772",\
                 "1.403, 1.459, 1.642, 1.948, 2.362, 2.871, 3.479, 4.202, 5.074, 6.116");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.2446, 0.2631, 0.3275, 0.4425, 0.6129, 0.8462, 1.149, 1.529, 1.994, 2.547",\
                 "0.2406, 0.2595, 0.3248, 0.4402, 0.6119, 0.845, 1.149, 1.53, 1.994, 2.547",\
                 "0.2418, 0.2579, 0.3159, 0.4314, 0.6073, 0.8431, 1.148, 1.529, 1.993, 2.546",\
                 "0.352, 0.3673, 0.4155, 0.4977, 0.6301, 0.8422, 1.145, 1.527, 1.994, 2.547",\
                 "0.4931, 0.5118, 0.5708, 0.6688, 0.8058, 0.9756, 1.211, 1.545, 1.994, 2.546",\
                 "0.6684, 0.6902, 0.7594, 0.871, 1.025, 1.223, 1.459, 1.736, 2.1, 2.584",\
                 "0.8782, 0.905, 0.9858, 1.116, 1.285, 1.501, 1.765, 2.074, 2.418, 2.822",\
                 "1.125, 1.156, 1.253, 1.399, 1.59, 1.823, 2.102, 2.437, 2.826, 3.255",\
                 "1.409, 1.45, 1.556, 1.726, 1.941, 2.198, 2.494, 2.847, 3.259, 3.729",\
                 "1.735, 1.78, 1.904, 2.102, 2.341, 2.62, 2.941, 3.307, 3.741, 4.237");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001621, 0.003802, 0.007967, 0.01446, 0.02356, 0.03554, 0.05063, 0.06905, 0.09101");
          values("0.5496, 0.6025, 0.7934, 1.159, 1.726, 2.519, 3.566, 4.882, 6.488, 8.385",\
                 "0.5501, 0.6038, 0.7943, 1.157, 1.725, 2.52, 3.562, 4.878, 6.477, 8.402",\
                 "0.5511, 0.6046, 0.7954, 1.159, 1.726, 2.519, 3.564, 4.876, 6.476, 8.384",\
                 "0.5721, 0.6221, 0.8039, 1.161, 1.726, 2.52, 3.566, 4.879, 6.477, 8.402",\
                 "0.626, 0.675, 0.8538, 1.194, 1.739, 2.521, 3.565, 4.873, 6.475, 8.383",\
                 "0.7496, 0.7918, 0.949, 1.272, 1.797, 2.555, 3.571, 4.882, 6.488, 8.398",\
                 "0.9598, 1.002, 1.145, 1.428, 1.908, 2.634, 3.619, 4.899, 6.484, 8.397",\
                 "1.203, 1.247, 1.399, 1.677, 2.112, 2.78, 3.728, 4.965, 6.525, 8.402",\
                 "1.474, 1.519, 1.68, 1.979, 2.412, 3.031, 3.914, 5.099, 6.608, 8.458",\
                 "1.768, 1.817, 1.99, 2.306, 2.766, 3.371, 4.192, 5.317, 6.767, 8.565");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nor4_2) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "0.0001175394" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "0.0001300134" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "0.0001019964" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "0.0001019964" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "7.35801e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "7.35537e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "7.35504e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "7.35504e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "4.48206e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "4.48206e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "4.48206e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "4.48206e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "4.48173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001300134" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.007688 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07342, 0.07341, 0.07332, 0.07321, 0.07316, 0.07311, 0.07303, \
                 0.07291, 0.07274, 0.0725");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01009, -0.01009, -0.01011, -0.01011, -0.01011, -0.01013, -0.01014, \
                 -0.01015, -0.01014, -0.01016");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05117, 0.05118, 0.0511, 0.05104, 0.05098, 0.05096, 0.0509, 0.05084, \
                 0.05075, 0.05061");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01013, -0.01014, -0.01015, -0.01016, -0.01015, -0.01017, -0.01018, \
                 -0.01019, -0.01019, -0.0102");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0512, 0.05115, 0.05111, 0.05103, 0.05099, 0.05097, 0.05091, \
                 0.05085, 0.05073, 0.05058");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01013, -0.01012, -0.01015, -0.01015, -0.01014, -0.01018, -0.01019, \
                 -0.01019, -0.01019, -0.0102");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02372, 0.02366, 0.02365, 0.0236, 0.0236, 0.02362, 0.0236, 0.02358, \
                 0.02354, 0.02349");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01056, -0.01054, -0.01057, -0.01057, -0.01057, -0.01059, -0.01059, \
                 -0.0106, -0.0106, -0.0106");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02372, 0.02364, 0.02365, 0.02359, 0.0236, 0.02362, 0.0236, 0.02358, \
                 0.02355, 0.0235");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01056, -0.01055, -0.01057, -0.01056, -0.01057, -0.01061, -0.0106, \
                 -0.0106, -0.0106, -0.0106");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02372, 0.02365, 0.02365, 0.0236, 0.02361, 0.02362, 0.0236, 0.02357, \
                 0.02354, 0.0235");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01056, -0.01055, -0.01057, -0.01058, -0.01058, -0.0106, -0.0106, \
                 -0.0106, -0.0106, -0.0106");
        }
      }

      internal_power() {
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02372, 0.02365, 0.02365, 0.02359, 0.02361, 0.02362, 0.02361, \
                 0.02358, 0.02355, 0.02349");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01056, -0.01055, -0.01057, -0.01057, -0.01058, -0.01059, -0.01059, \
                 -0.0106, -0.0106, -0.0106");
        }
      }
    }

    pin(A2) {
      capacitance : 0.007622 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05054, 0.05053, 0.05055, 0.05049, 0.05042, 0.05039, 0.0503, \
                 0.05019, 0.05005, 0.04982");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01099, -0.01098, -0.01103, -0.01102, -0.01102, -0.01107, -0.0111, \
                 -0.01111, -0.01113, -0.01117");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0283, 0.02828, 0.0283, 0.02827, 0.02825, 0.02824, 0.0282, 0.02814, \
                 0.02806, 0.02792");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01112, -0.01111, -0.01114, -0.01114, -0.01117, -0.01121, -0.01123, \
                 -0.01124, -0.01127, -0.01131");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02832, 0.02828, 0.02831, 0.02827, 0.02825, 0.02823, 0.02819, \
                 0.02813, 0.02804, 0.02793");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01112, -0.01112, -0.01114, -0.01114, -0.01117, -0.0112, -0.01122, \
                 -0.01125, -0.01128, -0.01131");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03259, 0.03261, 0.03262, 0.0326, 0.03257, 0.0326, 0.03261, 0.03261, \
                 0.0326, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02654, -0.02824, -0.03061, -0.03146, -0.03175, -0.03195, -0.03202, \
                 -0.03207, -0.03212, -0.03215");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0187, 0.01871, 0.01872, 0.01874, 0.01874, 0.01878, 0.01879, \
                 0.01878, 0.01879, 0.01878");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01861, -0.01946, -0.0204, -0.02075, -0.02088, -0.02103, -0.02109, \
                 -0.02112, -0.02116, -0.0212");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01865, 0.01861, 0.01868, 0.01868, 0.01867, 0.01873, 0.01872, \
                 0.01872, 0.01873, 0.01874");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01894, -0.01933, -0.01964, -0.01973, -0.01971, -0.01973, -0.01967, \
                 -0.01964, -0.0196, -0.01958");
        }
      }

      internal_power() {
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01864, 0.01861, 0.01868, 0.01869, 0.01866, 0.01873, 0.01873, \
                 0.01873, 0.01873, 0.01873");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01829, -0.01854, -0.01875, -0.01884, -0.01881, -0.01884, -0.0188, \
                 -0.01879, -0.01878, -0.01882");
        }
      }
    }

    pin(A3) {
      capacitance : 0.00768 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02079, 0.02076, 0.02079, 0.02078, 0.02073, 0.02075, 0.02067, \
                 0.02061, 0.02049, 0.02035");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01296, -0.01296, -0.01299, -0.013, -0.013, -0.01304, -0.01304, \
                 -0.01306, -0.01309, -0.01311");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03267, 0.0326, 0.03263, 0.03258, 0.03256, 0.03264, 0.03263, \
                 0.0326, 0.03261, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0265, -0.02744, -0.02914, -0.03033, -0.03094, -0.03132, -0.03149, \
                 -0.03161, -0.03171, -0.03179");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01898, 0.01896, 0.01899, 0.01902, 0.01901, 0.01905, 0.01904, \
                 0.01905, 0.01904, 0.01905");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02282, -0.02242, -0.02207, -0.02202, -0.02195, -0.02198, -0.02198, \
                 -0.02198, -0.02202, -0.02209");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03269, 0.03262, 0.03262, 0.0326, 0.03258, 0.03265, 0.03264, \
                 0.03261, 0.03264, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02602, -0.02619, -0.02754, -0.02907, -0.03011, -0.03068, -0.03105, \
                 -0.03124, -0.03139, -0.03148");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01872, 0.01867, 0.01871, 0.01874, 0.01871, 0.01878, 0.01878, \
                 0.0188, 0.01878, 0.01879");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0229, -0.02218, -0.02157, -0.02138, -0.0213, -0.0213, -0.02128, \
                 -0.02128, -0.02128, -0.02129");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03267, 0.0326, 0.03263, 0.0326, 0.03255, 0.03263, 0.03263, 0.0326, \
                 0.03261, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02736, -0.02771, -0.02916, -0.03033, -0.03094, -0.03132, -0.03148, \
                 -0.03161, -0.03171, -0.03179");
        }
      }

      internal_power() {
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01898, 0.01893, 0.01901, 0.01901, 0.019, 0.01905, 0.01906, 0.01905, \
                 0.01904, 0.01904");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02427, -0.02414, -0.02406, -0.02403, -0.02401, -0.02407, -0.02405, \
                 -0.02402, -0.02399, -0.02394");
        }
      }
    }

    pin(A4) {
      capacitance : 0.007293 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03262, 0.03254, 0.03256, 0.03254, 0.03263, 0.03267, 0.03262, \
                 0.03262, 0.03261, 0.0326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02928, -0.03024, -0.0313, -0.03163, -0.03179, -0.03199, -0.03203, \
                 -0.0321, -0.03215, -0.03217");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03263, 0.03252, 0.03261, 0.0326, 0.03262, 0.03267, 0.03264, \
                 0.03264, 0.03264, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02669, -0.02758, -0.02895, -0.02999, -0.03056, -0.03096, -0.03122, \
                 -0.03139, -0.03148, -0.03155");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03262, 0.03253, 0.03256, 0.03256, 0.03265, 0.0326, 0.03264, \
                 0.03261, 0.03263, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02979, -0.03044, -0.03131, -0.03163, -0.03179, -0.03198, -0.03203, \
                 -0.0321, -0.03213, -0.03217");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03264, 0.03253, 0.03262, 0.03261, 0.03255, 0.03266, 0.03267, \
                 0.03264, 0.03264, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02643, -0.02731, -0.02852, -0.02954, -0.0302, -0.03071, -0.03098, \
                 -0.03118, -0.03132, -0.03142");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03262, 0.03253, 0.03256, 0.03255, 0.03266, 0.03262, 0.03263, \
                 0.03263, 0.0326, 0.0326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02964, -0.0304, -0.03131, -0.03163, -0.03181, -0.03198, -0.03203, \
                 -0.0321, -0.03213, -0.03217");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03263, 0.03252, 0.0326, 0.03261, 0.03262, 0.03267, 0.03265, \
                 0.03264, 0.03263, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02667, -0.02758, -0.02898, -0.03001, -0.03058, -0.03097, -0.03122, \
                 -0.03138, -0.03148, -0.03154");
        }
      }

      internal_power() {
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03262, 0.03254, 0.03257, 0.03252, 0.03259, 0.03265, 0.03262, \
                 0.03263, 0.0326, 0.0326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02979, -0.03044, -0.03131, -0.03164, -0.03181, -0.03197, -0.03204, \
                 -0.0321, -0.03213, -0.03217");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)&(!A2)&(!A3)&(!A4))" ;
      max_capacitance : 0.1817 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("-0.003621, -0.003454, -0.003168, -0.002855, -0.002682, -0.002609, -0.002534, -0.002489, -0.002461, -0.002456",\
                 "-0.003522, -0.003263, -0.002566, -0.00188, -0.001418, -0.001095, -0.0009014, -0.0007771, -0.0006832, -0.0006209",\
                 "-0.0006155, -0.0005307, -0.0002077, 0.0002851, 0.0007157, 0.001024, 0.001235, 0.001413, 0.001501, 0.001597",\
                 "0.007065, 0.006874, 0.006336, 0.005773, 0.005227, 0.004825, 0.00445, 0.004182, 0.003938, 0.003799",\
                 "0.02052, 0.01997, 0.01841, 0.0164, 0.01432, 0.01254, 0.01105, 0.009771, 0.008714, 0.007858",\
                 "0.04188, 0.04096, 0.03815, 0.03421, 0.03008, 0.02635, 0.02299, 0.02012, 0.01775, 0.01567",\
                 "0.07262, 0.07123, 0.06723, 0.0612, 0.05451, 0.04812, 0.04232, 0.03724, 0.03282, 0.02906",\
                 "0.1134, 0.1117, 0.1065, 0.09843, 0.08899, 0.07942, 0.0706, 0.06271, 0.05567, 0.04956",\
                 "0.1648, 0.1628, 0.1565, 0.1465, 0.1343, 0.1215, 0.1091, 0.09785, 0.08765, 0.07872",\
                 "0.2273, 0.225, 0.2178, 0.2059, 0.1911, 0.175, 0.1589, 0.1438, 0.1301, 0.1177");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.1127, 0.1128, 0.1131, 0.1134, 0.1138, 0.1141, 0.1146, 0.115, 0.1155, 0.1176",\
                 "0.1114, 0.1116, 0.112, 0.1126, 0.1132, 0.1138, 0.1143, 0.1148, 0.1154, 0.1175",\
                 "0.1135, 0.1134, 0.1131, 0.1132, 0.1134, 0.1137, 0.1142, 0.1148, 0.1154, 0.1176",\
                 "0.1237, 0.1232, 0.1217, 0.1199, 0.1184, 0.1175, 0.1169, 0.1168, 0.1167, 0.1191",\
                 "0.1423, 0.1414, 0.1386, 0.1349, 0.1311, 0.1276, 0.1252, 0.1235, 0.1224, 0.1236",\
                 "0.1698, 0.1684, 0.1645, 0.1589, 0.1527, 0.1467, 0.1413, 0.1371, 0.1339, 0.1339",\
                 "0.2072, 0.2055, 0.2004, 0.1926, 0.1842, 0.1754, 0.167, 0.1596, 0.1535, 0.1524",\
                 "0.2557, 0.2536, 0.2469, 0.2372, 0.226, 0.2145, 0.2033, 0.1927, 0.1837, 0.1816",\
                 "0.3158, 0.3133, 0.3054, 0.2934, 0.2794, 0.265, 0.2509, 0.2371, 0.2252, 0.2235",\
                 "0.3883, 0.3855, 0.3764, 0.3624, 0.3455, 0.3279, 0.3102, 0.2933, 0.2796, 0.2826");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.01726, 0.01731, 0.01731, 0.01735, 0.01737, 0.0174, 0.01739, 0.0174, 0.0174, 0.01741",\
                 "0.01706, 0.01714, 0.01716, 0.01728, 0.01735, 0.0174, 0.01744, 0.01744, 0.01747, 0.01746",\
                 "0.01887, 0.01885, 0.0188, 0.01879, 0.01876, 0.01878, 0.01877, 0.01878, 0.01878, 0.01878",\
                 "0.02478, 0.0246, 0.02405, 0.02333, 0.0226, 0.02194, 0.0214, 0.02105, 0.02075, 0.02053",\
                 "0.03779, 0.03727, 0.03578, 0.03358, 0.03142, 0.02942, 0.02773, 0.02631, 0.0252, 0.02425",\
                 "0.05969, 0.05886, 0.0562, 0.05227, 0.04788, 0.04381, 0.04012, 0.03695, 0.03437, 0.03213",\
                 "0.09211, 0.09088, 0.08694, 0.08098, 0.07407, 0.06722, 0.06077, 0.05517, 0.05028, 0.04615",\
                 "0.1356, 0.1339, 0.1289, 0.1208, 0.1111, 0.101, 0.09144, 0.08259, 0.07479, 0.068",\
                 "0.1906, 0.1887, 0.1825, 0.1725, 0.16, 0.1466, 0.1333, 0.1208, 0.1095, 0.0994",\
                 "0.2578, 0.2557, 0.2485, 0.2366, 0.2213, 0.2044, 0.1874, 0.171, 0.1556, 0.1417");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.136, 0.1361, 0.1363, 0.1366, 0.1369, 0.1372, 0.1376, 0.138, 0.1386, 0.1407",\
                 "0.1348, 0.135, 0.1354, 0.1359, 0.1364, 0.137, 0.1374, 0.1378, 0.1383, 0.1407",\
                 "0.1338, 0.134, 0.1343, 0.1348, 0.1356, 0.1363, 0.1368, 0.1374, 0.1379, 0.1406",\
                 "0.1392, 0.139, 0.1383, 0.1377, 0.1374, 0.1374, 0.1376, 0.1379, 0.1385, 0.141",\
                 "0.1554, 0.1547, 0.1525, 0.1499, 0.1472, 0.1451, 0.1437, 0.1426, 0.1424, 0.1446",\
                 "0.1835, 0.1822, 0.1783, 0.1731, 0.1677, 0.1625, 0.1582, 0.1549, 0.1526, 0.1536",\
                 "0.2232, 0.2215, 0.2162, 0.2084, 0.1999, 0.1916, 0.1839, 0.177, 0.1719, 0.1716",\
                 "0.2752, 0.273, 0.2662, 0.2561, 0.2443, 0.2328, 0.2214, 0.2112, 0.2024, 0.2002",\
                 "0.3398, 0.3373, 0.3293, 0.3167, 0.302, 0.2865, 0.2718, 0.2579, 0.2456, 0.2429",\
                 "0.4178, 0.415, 0.4058, 0.3913, 0.3734, 0.3543, 0.3353, 0.3178, 0.3032, 0.3039");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.04514, 0.04517, 0.04515, 0.04508, 0.04511, 0.04514, 0.04512, 0.04514, 0.04513, 0.04513",\
                 "0.04494, 0.04494, 0.04492, 0.04485, 0.04486, 0.0449, 0.04492, 0.04491, 0.0449, 0.04492",\
                 "0.0444, 0.04435, 0.04425, 0.04407, 0.04398, 0.0439, 0.04385, 0.04383, 0.04381, 0.0438",\
                 "0.04792, 0.04775, 0.04716, 0.0464, 0.04569, 0.04502, 0.04453, 0.04421, 0.04391, 0.0437",\
                 "0.05989, 0.05939, 0.05783, 0.05566, 0.05347, 0.05143, 0.04976, 0.04837, 0.04727, 0.04642",\
                 "0.08269, 0.08174, 0.07892, 0.07478, 0.07015, 0.06578, 0.06195, 0.05874, 0.05605, 0.05384",\
                 "0.1176, 0.1163, 0.112, 0.1056, 0.09798, 0.09044, 0.08357, 0.07751, 0.07232, 0.068",\
                 "0.1656, 0.1639, 0.1582, 0.1492, 0.1384, 0.1272, 0.1165, 0.1068, 0.09823, 0.09086",\
                 "0.2272, 0.2251, 0.2181, 0.2067, 0.1925, 0.1773, 0.1624, 0.1483, 0.1357, 0.1245",\
                 "0.3028, 0.3004, 0.2922, 0.2786, 0.2611, 0.2418, 0.2223, 0.2036, 0.1862, 0.1704");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.1761, 0.1762, 0.1764, 0.1767, 0.1769, 0.1773, 0.1776, 0.1781, 0.1786, 0.1805",\
                 "0.1748, 0.1751, 0.1754, 0.176, 0.1765, 0.1769, 0.1774, 0.1778, 0.1783, 0.1808",\
                 "0.1733, 0.1734, 0.1739, 0.1745, 0.1754, 0.1761, 0.1767, 0.1774, 0.178, 0.1807",\
                 "0.1739, 0.1739, 0.1739, 0.1742, 0.1747, 0.1754, 0.176, 0.1768, 0.1776, 0.1802",\
                 "0.1831, 0.1827, 0.1816, 0.1804, 0.1794, 0.1788, 0.1785, 0.1786, 0.179, 0.1817",\
                 "0.2066, 0.2056, 0.2026, 0.1989, 0.1952, 0.1919, 0.1893, 0.1874, 0.1862, 0.1882",\
                 "0.2467, 0.2451, 0.24, 0.2329, 0.2256, 0.2188, 0.2127, 0.2075, 0.2036, 0.2044",\
                 "0.303, 0.3009, 0.2939, 0.2837, 0.2721, 0.2609, 0.2508, 0.2415, 0.2337, 0.2328",\
                 "0.3749, 0.3723, 0.364, 0.351, 0.3354, 0.3196, 0.3046, 0.291, 0.2795, 0.277",\
                 "0.4624, 0.4596, 0.4501, 0.4348, 0.4157, 0.3951, 0.375, 0.3569, 0.3417, 0.3404");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.06599, 0.06597, 0.06588, 0.06582, 0.0658, 0.06583, 0.06584, 0.06584, 0.06588, 0.06585",\
                 "0.06396, 0.06393, 0.06391, 0.06379, 0.0638, 0.06379, 0.06378, 0.06379, 0.06381, 0.06379",\
                 "0.06223, 0.06214, 0.06212, 0.0619, 0.06175, 0.06165, 0.06155, 0.06153, 0.06152, 0.06148",\
                 "0.06511, 0.06493, 0.06431, 0.06355, 0.06279, 0.06218, 0.06168, 0.06139, 0.06112, 0.06092",\
                 "0.07741, 0.07688, 0.07518, 0.07285, 0.07046, 0.06834, 0.0666, 0.06517, 0.06408, 0.06324",\
                 "0.1022, 0.1012, 0.09799, 0.09326, 0.08815, 0.08334, 0.0791, 0.07565, 0.07283, 0.07052",\
                 "0.1414, 0.1398, 0.135, 0.1273, 0.1186, 0.1099, 0.1022, 0.09545, 0.08977, 0.08512",\
                 "0.196, 0.1939, 0.1872, 0.1766, 0.1638, 0.1506, 0.1383, 0.1272, 0.1176, 0.1095",\
                 "0.2668, 0.2642, 0.2559, 0.2422, 0.2253, 0.2072, 0.1895, 0.1732, 0.1586, 0.1459",\
                 "0.3542, 0.3512, 0.3413, 0.3249, 0.3039, 0.2807, 0.2574, 0.2351, 0.2148, 0.1964");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.1987, 0.1988, 0.199, 0.1992, 0.1995, 0.1999, 0.2003, 0.2007, 0.201, 0.2035",\
                 "0.1974, 0.1976, 0.198, 0.1985, 0.199, 0.1994, 0.1999, 0.2005, 0.2008, 0.2033",\
                 "0.1958, 0.196, 0.1965, 0.1972, 0.1979, 0.1987, 0.1994, 0.2, 0.2005, 0.2033",\
                 "0.1957, 0.1958, 0.1958, 0.1963, 0.197, 0.1977, 0.1984, 0.1993, 0.2001, 0.2031",\
                 "0.2028, 0.2026, 0.2017, 0.2009, 0.2003, 0.2, 0.2001, 0.2004, 0.2009, 0.2037",\
                 "0.2253, 0.2244, 0.2217, 0.2184, 0.2152, 0.2124, 0.2103, 0.2086, 0.2078, 0.21",\
                 "0.267, 0.2654, 0.2603, 0.2533, 0.2462, 0.2397, 0.2339, 0.229, 0.2252, 0.2261",\
                 "0.3282, 0.326, 0.319, 0.3082, 0.2962, 0.2849, 0.2746, 0.2655, 0.2576, 0.2564",\
                 "0.4086, 0.406, 0.3972, 0.3833, 0.3666, 0.3496, 0.3339, 0.3198, 0.3079, 0.3043",\
                 "0.5078, 0.5048, 0.4948, 0.4783, 0.4574, 0.4349, 0.4134, 0.3934, 0.377, 0.3736");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.09774, 0.1073, 0.1403, 0.203, 0.3002, 0.4363, 0.6152, 0.8406, 1.116, 1.444",\
                 "0.112, 0.1216, 0.155, 0.2182, 0.3159, 0.4522, 0.6313, 0.8569, 1.132, 1.46",\
                 "0.1545, 0.1667, 0.2054, 0.2699, 0.3673, 0.5038, 0.683, 0.9086, 1.184, 1.512",\
                 "0.1812, 0.1983, 0.2529, 0.3428, 0.4607, 0.6022, 0.7803, 1.006, 1.28, 1.608",\
                 "0.1757, 0.1985, 0.2704, 0.3874, 0.5408, 0.723, 0.9289, 1.158, 1.432, 1.758",\
                 "0.1317, 0.1599, 0.2513, 0.3979, 0.5881, 0.8115, 1.065, 1.344, 1.644, 1.973",\
                 "0.0462, 0.0808, 0.1902, 0.3687, 0.5976, 0.866, 1.166, 1.496, 1.854, 2.234",\
                 "-0.083, -0.0423, 0.0867, 0.2949, 0.5646, 0.8792, 1.23, 1.612, 2.024, 2.465",\
                 "-0.2589, -0.2125, -0.0641, 0.1759, 0.4853, 0.8472, 1.251, 1.688, 2.154, 2.655",\
                 "-0.4829, -0.4301, -0.2623, 0.0076, 0.3569, 0.7669, 1.222, 1.717, 2.245, 2.802");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.2021, 0.2315, 0.3375, 0.5458, 0.8723, 1.329, 1.93, 2.685, 3.608, 4.707",\
                 "0.2113, 0.2406, 0.3473, 0.5563, 0.8835, 1.341, 1.943, 2.698, 3.621, 4.722",\
                 "0.2733, 0.3004, 0.4012, 0.6066, 0.9319, 1.389, 1.99, 2.747, 3.669, 4.768",\
                 "0.4034, 0.4332, 0.5328, 0.7245, 1.041, 1.492, 2.089, 2.842, 3.763, 4.861",\
                 "0.5772, 0.6109, 0.7241, 0.9279, 1.231, 1.67, 2.258, 3.005, 3.92, 5.013",\
                 "0.7945, 0.8336, 0.962, 1.186, 1.511, 1.942, 2.515, 3.251, 4.156, 5.241",\
                 "1.054, 1.099, 1.247, 1.495, 1.845, 2.304, 2.874, 3.595, 4.487, 5.56",\
                 "1.357, 1.41, 1.579, 1.857, 2.236, 2.723, 3.327, 4.048, 4.926, 5.987",\
                 "1.709, 1.768, 1.958, 2.27, 2.685, 3.205, 3.842, 4.6, 5.48, 6.525",\
                 "2.108, 2.175, 2.388, 2.735, 3.191, 3.75, 4.419, 5.214, 6.137, 7.186");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.1163, 0.132, 0.187, 0.2926, 0.4567, 0.6861, 0.9901, 1.37, 1.835, 2.392",\
                 "0.1162, 0.1318, 0.1872, 0.2925, 0.4567, 0.6877, 0.9897, 1.371, 1.837, 2.391",\
                 "0.1538, 0.1666, 0.2087, 0.2973, 0.4562, 0.6877, 0.9888, 1.371, 1.838, 2.393",\
                 "0.2287, 0.2466, 0.3027, 0.3974, 0.5223, 0.7075, 0.9913, 1.372, 1.836, 2.393",\
                 "0.3249, 0.3472, 0.4165, 0.5324, 0.6884, 0.8762, 1.097, 1.41, 1.842, 2.39",\
                 "0.4402, 0.4692, 0.5564, 0.6966, 0.8742, 1.096, 1.352, 1.635, 1.982, 2.45",\
                 "0.5762, 0.61, 0.7186, 0.8848, 1.095, 1.344, 1.634, 1.963, 2.324, 2.722",\
                 "0.732, 0.7728, 0.8998, 1.098, 1.345, 1.628, 1.948, 2.313, 2.719, 3.163",\
                 "0.9056, 0.955, 1.105, 1.335, 1.62, 1.942, 2.301, 2.697, 3.141, 3.634",\
                 "1.094, 1.152, 1.333, 1.595, 1.92, 2.286, 2.691, 3.127, 3.601, 4.13");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.4525, 0.5167, 0.7315, 1.118, 1.696, 2.496, 3.547, 4.867, 6.475, 8.4",\
                 "0.4471, 0.5118, 0.7285, 1.117, 1.694, 2.496, 3.547, 4.866, 6.47, 8.396",\
                 "0.4356, 0.497, 0.7153, 1.112, 1.694, 2.497, 3.546, 4.87, 6.47, 8.389",\
                 "0.487, 0.5385, 0.7232, 1.095, 1.689, 2.495, 3.547, 4.869, 6.47, 8.386",\
                 "0.5508, 0.605, 0.7954, 1.14, 1.682, 2.49, 3.546, 4.865, 6.476, 8.384",\
                 "0.6594, 0.7092, 0.8902, 1.241, 1.766, 2.507, 3.54, 4.865, 6.478, 8.403",\
                 "0.7984, 0.8528, 1.033, 1.368, 1.905, 2.63, 3.59, 4.863, 6.473, 8.404",\
                 "0.96, 1.02, 1.211, 1.548, 2.071, 2.812, 3.752, 4.953, 6.489, 8.395",\
                 "1.14, 1.206, 1.418, 1.773, 2.287, 3.025, 3.986, 5.157, 6.614, 8.428",\
                 "1.34, 1.416, 1.643, 2.029, 2.558, 3.279, 4.241, 5.439, 6.862, 8.598");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.1351, 0.1452, 0.1798, 0.2444, 0.3431, 0.4805, 0.6604, 0.8864, 1.162, 1.49",\
                 "0.1488, 0.159, 0.1935, 0.2582, 0.3572, 0.4946, 0.6744, 0.9005, 1.176, 1.504",\
                 "0.1994, 0.21, 0.245, 0.3092, 0.4079, 0.5451, 0.7249, 0.9509, 1.227, 1.555",\
                 "0.2468, 0.2618, 0.3111, 0.3935, 0.5046, 0.643, 0.8219, 1.047, 1.322, 1.65",\
                 "0.2656, 0.2852, 0.3492, 0.4558, 0.5995, 0.7739, 0.9728, 1.2, 1.474, 1.8",\
                 "0.2502, 0.2749, 0.3544, 0.4874, 0.6641, 0.8774, 1.122, 1.393, 1.688, 2.016",\
                 "0.1983, 0.2276, 0.3232, 0.4823, 0.6955, 0.949, 1.237, 1.558, 1.908, 2.282",\
                 "0.1083, 0.1427, 0.2529, 0.4397, 0.6873, 0.9839, 1.319, 1.688, 2.091, 2.524",\
                 "-0.0207, 0.0182, 0.1431, 0.3551, 0.6388, 0.9781, 1.362, 1.783, 2.238, 2.727",\
                 "-0.1925, -0.149, -0.0073, 0.2283, 0.5461, 0.9298, 1.362, 1.837, 2.348, 2.893");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.3302, 0.3623, 0.4736, 0.6831, 1.009, 1.466, 2.067, 2.822, 3.746, 4.844",\
                 "0.3392, 0.3715, 0.4836, 0.6944, 1.021, 1.479, 2.08, 2.836, 3.759, 4.859",\
                 "0.3731, 0.405, 0.517, 0.7285, 1.056, 1.515, 2.115, 2.872, 3.795, 4.897",\
                 "0.447, 0.4805, 0.5937, 0.8022, 1.126, 1.582, 2.181, 2.936, 3.859, 4.959",\
                 "0.5774, 0.6107, 0.7267, 0.9412, 1.262, 1.709, 2.302, 3.052, 3.97, 5.067",\
                 "0.7629, 0.8007, 0.9223, 1.141, 1.47, 1.915, 2.496, 3.236, 4.147, 5.235",\
                 "0.9899, 1.032, 1.171, 1.405, 1.742, 2.197, 2.779, 3.506, 4.403, 5.481",\
                 "1.256, 1.305, 1.461, 1.723, 2.079, 2.545, 3.138, 3.868, 4.752, 5.815",\
                 "1.563, 1.618, 1.795, 2.085, 2.475, 2.961, 3.567, 4.311, 5.199, 6.248",\
                 "1.911, 1.974, 2.171, 2.493, 2.92, 3.442, 4.069, 4.825, 5.73, 6.786");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.163, 0.1789, 0.2356, 0.3417, 0.5065, 0.737, 1.04, 1.421, 1.886, 2.44",\
                 "0.1629, 0.1787, 0.2354, 0.3414, 0.5062, 0.7371, 1.039, 1.422, 1.886, 2.441",\
                 "0.1827, 0.1956, 0.2429, 0.3422, 0.5066, 0.737, 1.04, 1.421, 1.887, 2.44",\
                 "0.2707, 0.2869, 0.3405, 0.4302, 0.5544, 0.7511, 1.041, 1.422, 1.887, 2.44",\
                 "0.3782, 0.3992, 0.4648, 0.5746, 0.7244, 0.907, 1.133, 1.453, 1.89, 2.44",\
                 "0.5076, 0.5336, 0.6144, 0.7444, 0.9186, 1.134, 1.386, 1.667, 2.02, 2.492",\
                 "0.66, 0.6896, 0.7878, 0.9436, 1.145, 1.387, 1.672, 1.997, 2.355, 2.755",\
                 "0.8298, 0.8694, 0.985, 1.169, 1.403, 1.676, 1.989, 2.349, 2.752, 3.192",\
                 "1.026, 1.067, 1.204, 1.419, 1.689, 1.999, 2.346, 2.738, 3.175, 3.661",\
                 "1.241, 1.293, 1.448, 1.696, 2.002, 2.354, 2.743, 3.167, 3.639, 4.159");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.5065, 0.5621, 0.7565, 1.127, 1.696, 2.496, 3.545, 4.866, 6.477, 8.395",\
                 "0.5065, 0.5623, 0.7561, 1.125, 1.695, 2.495, 3.541, 4.866, 6.474, 8.389",\
                 "0.5072, 0.5634, 0.757, 1.125, 1.697, 2.495, 3.544, 4.865, 6.47, 8.397",\
                 "0.5537, 0.6047, 0.7825, 1.131, 1.698, 2.495, 3.545, 4.861, 6.477, 8.404",\
                 "0.6164, 0.668, 0.8496, 1.186, 1.721, 2.495, 3.548, 4.859, 6.476, 8.388",\
                 "0.7326, 0.7772, 0.9408, 1.273, 1.797, 2.539, 3.551, 4.863, 6.474, 8.389",\
                 "0.8898, 0.9344, 1.09, 1.399, 1.909, 2.64, 3.614, 4.877, 6.477, 8.399",\
                 "1.072, 1.12, 1.283, 1.581, 2.066, 2.781, 3.739, 4.969, 6.509, 8.397",\
                 "1.272, 1.324, 1.5, 1.814, 2.284, 2.969, 3.911, 5.116, 6.618, 8.449",\
                 "1.492, 1.547, 1.739, 2.074, 2.555, 3.218, 4.13, 5.324, 6.793, 8.582");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.1536, 0.1655, 0.2056, 0.2777, 0.3844, 0.5286, 0.714, 0.9443, 1.223, 1.554",\
                 "0.1678, 0.1797, 0.2195, 0.2914, 0.398, 0.5422, 0.7275, 0.9579, 1.237, 1.568",\
                 "0.2225, 0.2334, 0.2708, 0.3404, 0.446, 0.5897, 0.7749, 1.005, 1.284, 1.615",\
                 "0.2898, 0.3045, 0.3534, 0.4348, 0.5442, 0.6855, 0.8693, 1.099, 1.377, 1.708",\
                 "0.3306, 0.3497, 0.4117, 0.5163, 0.6568, 0.827, 1.022, 1.25, 1.527, 1.857",\
                 "0.3416, 0.3654, 0.4417, 0.5699, 0.7409, 0.9479, 1.187, 1.453, 1.743, 2.072",\
                 "0.3209, 0.3484, 0.4388, 0.5903, 0.7937, 1.04, 1.32, 1.633, 1.976, 2.345",\
                 "0.2668, 0.2984, 0.4025, 0.5783, 0.8139, 1.098, 1.423, 1.782, 2.175, 2.6",\
                 "0.1805, 0.2156, 0.3322, 0.5298, 0.7967, 1.121, 1.491, 1.898, 2.342, 2.82",\
                 "0.0612, 0.1001, 0.2277, 0.4466, 0.7429, 1.106, 1.52, 1.979, 2.475, 3.006");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.4695, 0.502, 0.6146, 0.8251, 1.151, 1.607, 2.208, 2.965, 3.887, 4.986",\
                 "0.4784, 0.5111, 0.6246, 0.8363, 1.163, 1.62, 2.221, 2.978, 3.901, 5.001",\
                 "0.5141, 0.547, 0.6605, 0.8735, 1.202, 1.66, 2.262, 3.019, 3.943, 5.044",\
                 "0.5696, 0.6038, 0.7189, 0.9312, 1.259, 1.717, 2.318, 3.076, 4, 5.1",\
                 "0.6491, 0.6836, 0.8026, 1.021, 1.347, 1.8, 2.398, 3.152, 4.075, 5.173",\
                 "0.777, 0.814, 0.9359, 1.156, 1.488, 1.94, 2.529, 3.274, 4.189, 5.282",\
                 "0.9426, 0.9842, 1.121, 1.353, 1.688, 2.143, 2.732, 3.465, 4.367, 5.45",\
                 "1.146, 1.194, 1.345, 1.601, 1.954, 2.413, 3.004, 3.738, 4.626, 5.694",\
                 "1.386, 1.439, 1.607, 1.889, 2.272, 2.752, 3.346, 4.082, 4.973, 6.025",\
                 "1.659, 1.718, 1.905, 2.216, 2.631, 3.145, 3.759, 4.499, 5.392, 6.448");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.2179, 0.2359, 0.2972, 0.4099, 0.5783, 0.8109, 1.116, 1.497, 1.964, 2.519",\
                 "0.2151, 0.2337, 0.2957, 0.409, 0.5784, 0.811, 1.115, 1.497, 1.963, 2.518",\
                 "0.2189, 0.2343, 0.2904, 0.4029, 0.5757, 0.8104, 1.115, 1.498, 1.964, 2.519",\
                 "0.3213, 0.3371, 0.3882, 0.4726, 0.6035, 0.8131, 1.113, 1.496, 1.964, 2.519",\
                 "0.449, 0.4688, 0.5304, 0.6348, 0.7758, 0.9512, 1.185, 1.517, 1.965, 2.518",\
                 "0.6038, 0.6278, 0.702, 0.8228, 0.986, 1.191, 1.434, 1.713, 2.076, 2.559",\
                 "0.7848, 0.8144, 0.9038, 1.046, 1.231, 1.458, 1.734, 2.048, 2.399, 2.803",\
                 "0.9932, 1.027, 1.132, 1.297, 1.509, 1.762, 2.062, 2.411, 2.804, 3.238",\
                 "1.232, 1.27, 1.392, 1.581, 1.823, 2.107, 2.435, 2.808, 3.235, 3.712",\
                 "1.493, 1.538, 1.682, 1.897, 2.172, 2.49, 2.85, 3.253, 3.706, 4.217");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.5206, 0.5745, 0.7627, 1.128, 1.699, 2.497, 3.545, 4.86, 6.473, 8.402",\
                 "0.521, 0.5745, 0.7631, 1.129, 1.697, 2.493, 3.545, 4.86, 6.466, 8.395",\
                 "0.5249, 0.5782, 0.7655, 1.129, 1.697, 2.496, 3.544, 4.868, 6.468, 8.394",\
                 "0.5575, 0.6064, 0.7803, 1.133, 1.699, 2.496, 3.545, 4.862, 6.481, 8.401",\
                 "0.6144, 0.6664, 0.8446, 1.179, 1.715, 2.496, 3.547, 4.867, 6.471, 8.389",\
                 "0.7258, 0.7706, 0.9314, 1.263, 1.787, 2.535, 3.553, 4.868, 6.479, 8.389",\
                 "0.9128, 0.9536, 1.102, 1.395, 1.898, 2.629, 3.613, 4.888, 6.479, 8.399",\
                 "1.127, 1.171, 1.326, 1.611, 2.069, 2.769, 3.728, 4.965, 6.517, 8.406",\
                 "1.359, 1.407, 1.571, 1.875, 2.321, 2.972, 3.896, 5.103, 6.613, 8.464",\
                 "1.61, 1.66, 1.837, 2.161, 2.631, 3.262, 4.13, 5.305, 6.778, 8.577");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.152, 0.165, 0.2081, 0.2852, 0.3976, 0.5475, 0.7381, 0.9729, 1.255, 1.589",\
                 "0.1654, 0.1779, 0.2206, 0.297, 0.4092, 0.5589, 0.7494, 0.9842, 1.267, 1.6",\
                 "0.2235, 0.2346, 0.2734, 0.3463, 0.4563, 0.6053, 0.7954, 1.03, 1.312, 1.646",\
                 "0.2986, 0.3141, 0.3636, 0.4464, 0.557, 0.7015, 0.8895, 1.123, 1.405, 1.739",\
                 "0.3504, 0.3695, 0.4328, 0.5379, 0.6784, 0.8491, 1.044, 1.275, 1.555, 1.887",\
                 "0.3755, 0.3992, 0.4752, 0.6038, 0.7745, 0.9807, 1.218, 1.483, 1.772, 2.101",\
                 "0.3733, 0.401, 0.4908, 0.6416, 0.8437, 1.086, 1.364, 1.674, 2.013, 2.379",\
                 "0.3434, 0.3754, 0.4778, 0.6514, 0.8832, 1.162, 1.482, 1.836, 2.224, 2.645",\
                 "0.2872, 0.3221, 0.4368, 0.6312, 0.8936, 1.211, 1.571, 1.972, 2.407, 2.878",\
                 "0.2044, 0.2428, 0.3678, 0.5835, 0.8744, 1.227, 1.631, 2.077, 2.561, 3.083");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.5053, 0.5378, 0.6503, 0.8607, 1.187, 1.644, 2.243, 3, 3.923, 5.023",\
                 "0.5165, 0.5494, 0.6629, 0.8745, 1.202, 1.658, 2.259, 3.017, 3.939, 5.039",\
                 "0.5504, 0.5834, 0.6973, 0.9099, 1.238, 1.697, 2.299, 3.055, 3.978, 5.078",\
                 "0.596, 0.6294, 0.7438, 0.9563, 1.284, 1.742, 2.344, 3.102, 4.026, 5.128",\
                 "0.6557, 0.6899, 0.8072, 1.023, 1.349, 1.803, 2.402, 3.157, 4.08, 5.179",\
                 "0.7539, 0.7897, 0.9104, 1.126, 1.455, 1.906, 2.496, 3.244, 4.16, 5.254",\
                 "0.8732, 0.9148, 1.05, 1.281, 1.612, 2.062, 2.649, 3.383, 4.287, 5.371",\
                 "1.016, 1.063, 1.216, 1.472, 1.825, 2.28, 2.863, 3.595, 4.483, 5.551",\
                 "1.185, 1.238, 1.408, 1.692, 2.076, 2.556, 3.144, 3.87, 4.756, 5.807",\
                 "1.382, 1.439, 1.627, 1.939, 2.358, 2.874, 3.488, 4.216, 5.097, 6.146");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.2379, 0.2585, 0.3271, 0.4472, 0.623, 0.8595, 1.166, 1.549, 2.016, 2.572",\
                 "0.2335, 0.2541, 0.3231, 0.4446, 0.6206, 0.8585, 1.165, 1.549, 2.016, 2.572",\
                 "0.2371, 0.2536, 0.314, 0.4336, 0.6154, 0.8561, 1.165, 1.549, 2.016, 2.572",\
                 "0.3507, 0.3664, 0.417, 0.5004, 0.6362, 0.8528, 1.16, 1.546, 2.015, 2.572",\
                 "0.4944, 0.5122, 0.5738, 0.6744, 0.8124, 0.9832, 1.221, 1.561, 2.015, 2.571",\
                 "0.6692, 0.693, 0.7636, 0.8808, 1.035, 1.233, 1.47, 1.747, 2.115, 2.605",\
                 "0.8776, 0.9052, 0.9906, 1.125, 1.299, 1.514, 1.778, 2.086, 2.431, 2.838",\
                 "1.123, 1.155, 1.255, 1.409, 1.604, 1.84, 2.119, 2.457, 2.842, 3.27",\
                 "1.405, 1.443, 1.563, 1.737, 1.957, 2.214, 2.514, 2.868, 3.281, 3.748",\
                 "1.73, 1.77, 1.908, 2.11, 2.359, 2.64, 2.961, 3.333, 3.766, 4.262");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002247, 0.006625, 0.01498, 0.02801, 0.04628, 0.07033, 0.1006, 0.1376, 0.1817");
          values("0.521, 0.5737, 0.7627, 1.127, 1.698, 2.496, 3.541, 4.869, 6.473, 8.394",\
                 "0.5219, 0.5745, 0.763, 1.127, 1.698, 2.496, 3.54, 4.869, 6.475, 8.385",\
                 "0.5244, 0.5761, 0.7637, 1.129, 1.699, 2.497, 3.548, 4.866, 6.467, 8.398",\
                 "0.5446, 0.5934, 0.7736, 1.131, 1.697, 2.496, 3.542, 4.862, 6.482, 8.394",\
                 "0.5916, 0.6422, 0.8208, 1.163, 1.708, 2.499, 3.548, 4.864, 6.478, 8.386",\
                 "0.7026, 0.746, 0.9066, 1.235, 1.766, 2.528, 3.549, 4.862, 6.482, 8.386",\
                 "0.9048, 0.9476, 1.094, 1.384, 1.873, 2.607, 3.602, 4.882, 6.469, 8.404",\
                 "1.152, 1.197, 1.35, 1.632, 2.075, 2.754, 3.706, 4.953, 6.511, 8.392",\
                 "1.431, 1.477, 1.64, 1.938, 2.374, 2.996, 3.892, 5.084, 6.599, 8.454",\
                 "1.731, 1.782, 1.952, 2.272, 2.736, 3.343, 4.164, 5.299, 6.76, 8.566");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__nor4_4) {
    area : 81.222400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "0.0002132988" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "0.0002382534" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "0.0001822227" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "0.0001822227" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "0.0001253802" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "0.0001252911" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "0.0001252845" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "0.0001252845" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "6.79107e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "6.78249e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "6.78249e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "6.78249e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "6.79107e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "6.78216e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "6.7815e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "6.7815e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002382534" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01585 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1505, 0.1505, 0.1503, 0.1501, 0.15, 0.1499, 0.1497, 0.1495, \
                 0.1491, 0.1486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02004, -0.02002, -0.02007, -0.02008, -0.02009, -0.02015, -0.02017, \
                 -0.02018, -0.02019, -0.02022");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1059, 0.1058, 0.1057, 0.1055, 0.1055, 0.1054, 0.1053, 0.1051, \
                 0.1049, 0.1046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02014, -0.02014, -0.02017, -0.02017, -0.02021, -0.02025, -0.02028, \
                 -0.02028, -0.02031, -0.02033");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1058, 0.1058, 0.1057, 0.1055, 0.1055, 0.1054, 0.1053, 0.1051, \
                 0.1049, 0.1046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02014, -0.02011, -0.02017, -0.02018, -0.0202, -0.02027, -0.02027, \
                 -0.02029, -0.02031, -0.02034");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05456, 0.05445, 0.05438, 0.05431, 0.05431, 0.05434, 0.05428, \
                 0.05423, 0.05412, 0.054");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02128, -0.02128, -0.02132, -0.02133, -0.02135, -0.02138, -0.0214, \
                 -0.02139, -0.02138, -0.0214");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05455, 0.05445, 0.05438, 0.05432, 0.05431, 0.05434, 0.05428, \
                 0.05421, 0.05415, 0.05401");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02128, -0.02126, -0.0213, -0.02133, -0.02134, -0.0214, -0.0214, \
                 -0.0214, -0.0214, -0.02139");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05456, 0.05444, 0.05438, 0.05434, 0.0543, 0.05433, 0.05429, \
                 0.05421, 0.05415, 0.054");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02128, -0.02128, -0.02135, -0.02133, -0.02135, -0.0214, -0.0214, \
                 -0.0214, -0.0214, -0.0214");
        }
      }

      internal_power() {
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05454, 0.05444, 0.05439, 0.05429, 0.05427, 0.05435, 0.05428, \
                 0.05422, 0.05414, 0.05399");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0213, -0.02128, -0.02131, -0.02134, -0.02135, -0.02138, -0.0214, \
                 -0.02139, -0.02141, -0.0214");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01561 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09691, 0.09688, 0.0969, 0.09687, 0.09661, 0.09666, 0.09641, \
                 0.09619, 0.09592, 0.09546");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02194, -0.02198, -0.02202, -0.02204, -0.02205, -0.02211, -0.02214, \
                 -0.02218, -0.02223, -0.02228");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05225, 0.05216, 0.05226, 0.05223, 0.05213, 0.05217, 0.05208, \
                 0.05189, 0.05172, 0.05145");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02205, -0.02209, -0.02215, -0.02215, -0.02216, -0.02225, -0.02228, \
                 -0.02234, -0.02242, -0.02248");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05226, 0.05217, 0.05227, 0.05223, 0.05208, 0.05215, 0.05207, \
                 0.05192, 0.0517, 0.05147");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02205, -0.02209, -0.02213, -0.02214, -0.02216, -0.02226, -0.0223, \
                 -0.02235, -0.02242, -0.02248");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06497, 0.06491, 0.06501, 0.06494, 0.06481, 0.06498, 0.06494, \
                 0.06496, 0.06495, 0.06495");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05367, -0.05663, -0.06128, -0.06274, -0.06326, -0.06364, -0.06385, \
                 -0.06391, -0.06399, -0.06407");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03713, 0.03705, 0.03716, 0.03716, 0.03713, 0.03728, 0.03727, \
                 0.03729, 0.03728, 0.03725");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03754, -0.03889, -0.04068, -0.04138, -0.04156, -0.04186, -0.04194, \
                 -0.042, -0.04209, -0.04214");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03675, 0.03668, 0.0368, 0.03681, 0.03672, 0.03688, 0.03688, \
                 0.03689, 0.03688, 0.03687");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03811, -0.03873, -0.03931, -0.03952, -0.03953, -0.03964, -0.0396, \
                 -0.03952, -0.03951, -0.03952");
        }
      }

      internal_power() {
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03674, 0.03669, 0.03681, 0.03683, 0.03677, 0.0369, 0.03686, \
                 0.03689, 0.03689, 0.03687");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03683, -0.03727, -0.03772, -0.03789, -0.03789, -0.03804, -0.03802, \
                 -0.03803, -0.03806, -0.03814");
        }
      }
    }

    pin(A3) {
      capacitance : 0.01538 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04128, 0.04123, 0.04122, 0.04123, 0.04116, 0.04114, 0.04104, \
                 0.04088, 0.04066, 0.0403");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02549, -0.02546, -0.02553, -0.02553, -0.02555, -0.02563, -0.02562, \
                 -0.02562, -0.02563, -0.02562");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06492, 0.06477, 0.06475, 0.06469, 0.0646, 0.06473, 0.06481, \
                 0.06476, 0.06479, 0.06472");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05254, -0.05368, -0.05714, -0.05988, -0.06112, -0.06202, -0.06242, \
                 -0.0627, -0.06289, -0.06305");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03631, 0.03623, 0.03632, 0.03633, 0.03634, 0.03639, 0.03643, \
                 0.03645, 0.03643, 0.03644");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04531, -0.04439, -0.04379, -0.04357, -0.0435, -0.04357, -0.0436, \
                 -0.04369, -0.04378, -0.04396");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06499, 0.0648, 0.06483, 0.06475, 0.06468, 0.06473, 0.06481, \
                 0.06486, 0.06479, 0.06484");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05169, -0.05192, -0.05467, -0.05766, -0.05973, -0.06105, -0.06174, \
                 -0.06215, -0.06248, -0.06266");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03719, 0.03711, 0.03716, 0.03719, 0.03714, 0.03725, 0.03725, \
                 0.03726, 0.03729, 0.03726");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04518, -0.04398, -0.04282, -0.04239, -0.04217, -0.04223, -0.04216, \
                 -0.04217, -0.04212, -0.04214");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06492, 0.06477, 0.06474, 0.06469, 0.06458, 0.06472, 0.06478, \
                 0.06475, 0.06477, 0.06472");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0534, -0.05389, -0.05715, -0.05988, -0.06116, -0.06201, -0.06241, \
                 -0.0627, -0.06288, -0.06305");
        }
      }

      internal_power() {
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03631, 0.03623, 0.03632, 0.03633, 0.03632, 0.03644, 0.03643, \
                 0.03645, 0.03641, 0.03642");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04747, -0.04725, -0.04715, -0.0471, -0.04706, -0.04716, -0.04709, \
                 -0.04703, -0.04693, -0.04679");
        }
      }
    }

    pin(A4) {
      capacitance : 0.0151 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06491, 0.06482, 0.06492, 0.06478, 0.06501, 0.06495, 0.06504, \
                 0.06496, 0.06495, 0.06494");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05797, -0.06007, -0.06221, -0.06304, -0.06335, -0.06372, -0.0638, \
                 -0.0639, -0.064, -0.06404");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06478, 0.06463, 0.06473, 0.06467, 0.06472, 0.06489, 0.0649, \
                 0.06488, 0.0648, 0.06479");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05251, -0.05422, -0.05726, -0.05946, -0.06074, -0.06151, -0.06201, \
                 -0.06237, -0.06259, -0.06272");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06491, 0.0649, 0.06496, 0.06478, 0.06497, 0.06504, 0.06503, \
                 0.06499, 0.06492, 0.06489");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05902, -0.06052, -0.06222, -0.06306, -0.06333, -0.06365, -0.06377, \
                 -0.06391, -0.06399, -0.06403");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06477, 0.06466, 0.06475, 0.06473, 0.06477, 0.0648, 0.06494, \
                 0.0648, 0.06486, 0.06479");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0526, -0.05422, -0.05681, -0.0587, -0.06014, -0.0611, -0.06169, \
                 -0.06206, -0.06234, -0.06253");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06493, 0.06491, 0.0649, 0.06478, 0.0649, 0.06504, 0.06502, 0.06498, \
                 0.06493, 0.06491");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05906, -0.06054, -0.06222, -0.06303, -0.06334, -0.06368, -0.06375, \
                 -0.06392, -0.06401, -0.06402");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06474, 0.06463, 0.0647, 0.06477, 0.06472, 0.0648, 0.06487, 0.06487, \
                 0.0649, 0.06479");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05251, -0.05423, -0.05726, -0.05945, -0.06077, -0.06155, -0.062, \
                 -0.06237, -0.06261, -0.0627");
        }
      }

      internal_power() {
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06493, 0.06483, 0.06497, 0.06484, 0.0649, 0.06492, 0.06498, \
                 0.06493, 0.06493, 0.06498");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05902, -0.06052, -0.06222, -0.06304, -0.06334, -0.06371, -0.06375, \
                 -0.06389, -0.06397, -0.06402");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "((!A1)&(!A2)&(!A3)&(!A4))" ;
      max_capacitance : 0.3587 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("-0.004327, -0.004041, -0.00341, -0.002804, -0.002425, -0.002297, -0.002159, -0.002091, -0.002084, -0.002007",\
                 "-0.004037, -0.00351, -0.002274, -0.00101, -7.974e-05, 0.0006009, 0.0009502, 0.001211, 0.001352, 0.001477",\
                 "0.001828, 0.001996, 0.002592, 0.003441, 0.004324, 0.004928, 0.005267, 0.005602, 0.005823, 0.006035",\
                 "0.0171, 0.01667, 0.01574, 0.01454, 0.0135, 0.0126, 0.01194, 0.01132, 0.01089, 0.01055",\
                 "0.04379, 0.04262, 0.03968, 0.03576, 0.03176, 0.02814, 0.02511, 0.02262, 0.02053, 0.01874",\
                 "0.08585, 0.08406, 0.0787, 0.07102, 0.06307, 0.05563, 0.04905, 0.0433, 0.0386, 0.03451",\
                 "0.1467, 0.144, 0.1363, 0.1247, 0.1115, 0.09898, 0.08761, 0.07751, 0.06869, 0.06121",\
                 "0.2274, 0.2242, 0.2142, 0.1986, 0.18, 0.1613, 0.1438, 0.1283, 0.1144, 0.1022",\
                 "0.3296, 0.3258, 0.3135, 0.294, 0.2703, 0.245, 0.2206, 0.1984, 0.1783, 0.1604",\
                 "0.4537, 0.4495, 0.4351, 0.412, 0.3831, 0.3515, 0.3199, 0.29, 0.2627, 0.238");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.2443, 0.2444, 0.245, 0.2457, 0.2464, 0.247, 0.2479, 0.249, 0.2498, 0.2534",\
                 "0.2417, 0.242, 0.243, 0.2441, 0.2453, 0.2463, 0.2474, 0.2485, 0.2496, 0.2534",\
                 "0.2458, 0.2456, 0.2452, 0.2452, 0.2457, 0.2464, 0.2473, 0.2485, 0.2495, 0.2534",\
                 "0.2661, 0.265, 0.2622, 0.2585, 0.2556, 0.2537, 0.2527, 0.2524, 0.2529, 0.2567",\
                 "0.3029, 0.3012, 0.2959, 0.2885, 0.2809, 0.2745, 0.2692, 0.2657, 0.2636, 0.2659",\
                 "0.3575, 0.3549, 0.3472, 0.3364, 0.3241, 0.3123, 0.3016, 0.2926, 0.2866, 0.2876",\
                 "0.4319, 0.4285, 0.4183, 0.4034, 0.387, 0.3696, 0.353, 0.3381, 0.326, 0.3236",\
                 "0.5282, 0.524, 0.5112, 0.4921, 0.4701, 0.4477, 0.4254, 0.4044, 0.3859, 0.381",\
                 "0.6478, 0.6429, 0.6276, 0.6041, 0.5769, 0.5484, 0.5204, 0.4928, 0.4695, 0.465",\
                 "0.792, 0.7865, 0.7689, 0.7416, 0.7085, 0.6736, 0.6393, 0.6054, 0.578, 0.5838");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.04488, 0.04487, 0.04487, 0.04496, 0.04501, 0.04509, 0.04507, 0.04509, 0.04507, 0.04509",\
                 "0.04473, 0.04466, 0.04478, 0.04492, 0.04512, 0.04519, 0.04528, 0.04527, 0.0453, 0.04531",\
                 "0.04802, 0.04797, 0.04786, 0.04778, 0.04781, 0.04779, 0.04773, 0.04769, 0.04775, 0.04773",\
                 "0.05953, 0.05915, 0.05804, 0.05659, 0.05519, 0.05398, 0.05298, 0.05226, 0.05162, 0.05115",\
                 "0.08462, 0.08372, 0.08086, 0.07673, 0.07259, 0.06869, 0.06539, 0.06272, 0.06039, 0.05859",\
                 "0.1278, 0.1261, 0.1211, 0.1137, 0.1053, 0.09719, 0.08997, 0.08376, 0.07866, 0.07431",\
                 "0.1916, 0.1893, 0.1818, 0.1703, 0.1569, 0.1434, 0.1311, 0.1198, 0.1103, 0.1021",\
                 "0.2776, 0.2746, 0.2647, 0.2492, 0.2304, 0.2107, 0.1919, 0.1746, 0.1592, 0.1458",\
                 "0.3868, 0.3832, 0.3712, 0.3518, 0.3274, 0.3012, 0.2752, 0.2507, 0.2282, 0.2083",\
                 "0.5204, 0.5161, 0.5022, 0.4791, 0.4494, 0.4163, 0.3828, 0.3504, 0.3203, 0.2926");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.2914, 0.2915, 0.2919, 0.2924, 0.293, 0.2936, 0.2944, 0.2951, 0.2961, 0.3002",\
                 "0.289, 0.2893, 0.2901, 0.2911, 0.2921, 0.293, 0.2939, 0.2951, 0.2956, 0.3004",\
                 "0.2868, 0.287, 0.2876, 0.2888, 0.2901, 0.2914, 0.2927, 0.294, 0.2953, 0.3002",\
                 "0.2961, 0.2957, 0.2947, 0.2937, 0.2934, 0.2936, 0.294, 0.2949, 0.2961, 0.3007",\
                 "0.327, 0.3257, 0.3219, 0.3167, 0.312, 0.308, 0.3054, 0.3034, 0.3031, 0.3073",\
                 "0.3819, 0.3794, 0.3724, 0.3624, 0.352, 0.3422, 0.334, 0.3277, 0.3228, 0.3253",\
                 "0.4607, 0.4574, 0.4471, 0.4321, 0.4156, 0.3994, 0.3844, 0.371, 0.3608, 0.3604",\
                 "0.5637, 0.5596, 0.5465, 0.5267, 0.5038, 0.4816, 0.4592, 0.4389, 0.4212, 0.4173",\
                 "0.6922, 0.6873, 0.6718, 0.6477, 0.6186, 0.5884, 0.5596, 0.5319, 0.5084, 0.5027",\
                 "0.8475, 0.8419, 0.8242, 0.7956, 0.7609, 0.723, 0.6864, 0.652, 0.6226, 0.6232");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.09672, 0.09676, 0.09667, 0.09657, 0.09659, 0.09669, 0.09667, 0.09664, 0.09671, 0.09666",\
                 "0.09641, 0.09644, 0.09632, 0.09624, 0.09623, 0.09629, 0.09628, 0.09627, 0.09632, 0.09629",\
                 "0.09524, 0.09514, 0.095, 0.09456, 0.09436, 0.09428, 0.09423, 0.09414, 0.09401, 0.09397",\
                 "0.102, 0.1016, 0.1005, 0.09904, 0.09756, 0.09634, 0.09537, 0.0948, 0.09431, 0.09386",\
                 "0.1252, 0.1242, 0.1213, 0.1171, 0.1129, 0.109, 0.1058, 0.103, 0.1008, 0.09918",\
                 "0.1699, 0.1682, 0.1628, 0.1549, 0.1459, 0.1374, 0.13, 0.1237, 0.1184, 0.114",\
                 "0.2389, 0.2363, 0.2282, 0.2156, 0.2011, 0.1863, 0.1728, 0.1609, 0.1507, 0.1422",\
                 "0.3338, 0.3304, 0.3196, 0.3022, 0.2812, 0.2593, 0.2384, 0.2192, 0.2023, 0.1878",\
                 "0.456, 0.4519, 0.4384, 0.4164, 0.3887, 0.359, 0.3295, 0.302, 0.2769, 0.2549",\
                 "0.6062, 0.6014, 0.5858, 0.5591, 0.525, 0.4871, 0.4489, 0.412, 0.3776, 0.3464");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.3746, 0.3747, 0.3751, 0.3757, 0.3763, 0.3768, 0.3775, 0.3785, 0.3792, 0.3838",\
                 "0.3722, 0.3725, 0.3733, 0.3744, 0.3754, 0.3762, 0.3771, 0.3781, 0.3792, 0.384",\
                 "0.3689, 0.3692, 0.37, 0.3714, 0.3729, 0.3745, 0.3757, 0.377, 0.3784, 0.3829",\
                 "0.3694, 0.3695, 0.3697, 0.3704, 0.3714, 0.3729, 0.3742, 0.3758, 0.3774, 0.3822",\
                 "0.3862, 0.3854, 0.3836, 0.3814, 0.3798, 0.3789, 0.3788, 0.3789, 0.3797, 0.3854",\
                 "0.4314, 0.4295, 0.4242, 0.4172, 0.4104, 0.4043, 0.3993, 0.3958, 0.3938, 0.3978",\
                 "0.5106, 0.5074, 0.4978, 0.4843, 0.4702, 0.4571, 0.4453, 0.4352, 0.4282, 0.4298",\
                 "0.6223, 0.6181, 0.6051, 0.585, 0.5626, 0.541, 0.521, 0.5029, 0.4873, 0.4856",\
                 "0.7655, 0.7606, 0.7447, 0.7193, 0.6885, 0.6575, 0.6284, 0.6017, 0.5788, 0.5737",\
                 "0.94, 0.9343, 0.9162, 0.8859, 0.8483, 0.8083, 0.7691, 0.7327, 0.7028, 0.6999");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.1384, 0.1385, 0.1383, 0.1382, 0.1381, 0.1381, 0.1382, 0.1382, 0.1382, 0.1382",\
                 "0.1346, 0.1345, 0.1343, 0.1343, 0.1342, 0.1342, 0.1342, 0.1342, 0.1342, 0.1342",\
                 "0.131, 0.1309, 0.1308, 0.1304, 0.13, 0.13, 0.1299, 0.1298, 0.1298, 0.1297",\
                 "0.1366, 0.1362, 0.1351, 0.1336, 0.1323, 0.131, 0.13, 0.1295, 0.129, 0.1286",\
                 "0.1604, 0.1593, 0.1562, 0.1518, 0.1471, 0.143, 0.1397, 0.1369, 0.1347, 0.1331",\
                 "0.209, 0.207, 0.2009, 0.1919, 0.1819, 0.1725, 0.1644, 0.1576, 0.1521, 0.1475",\
                 "0.2861, 0.2831, 0.2738, 0.259, 0.2422, 0.2254, 0.2102, 0.197, 0.1858, 0.1765",\
                 "0.3942, 0.3902, 0.3773, 0.3568, 0.332, 0.3062, 0.2819, 0.2601, 0.2412, 0.2251",\
                 "0.5345, 0.5296, 0.5134, 0.4869, 0.454, 0.4186, 0.3837, 0.3517, 0.3228, 0.2976",\
                 "0.7081, 0.7023, 0.6833, 0.6513, 0.6101, 0.5649, 0.5188, 0.4751, 0.4348, 0.3986");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.4197, 0.4199, 0.4203, 0.4208, 0.4215, 0.422, 0.4226, 0.4236, 0.4241, 0.4292",\
                 "0.4174, 0.4178, 0.4185, 0.4195, 0.4206, 0.4214, 0.4223, 0.4233, 0.4241, 0.4289",\
                 "0.414, 0.4143, 0.4152, 0.4165, 0.4181, 0.4194, 0.4208, 0.4222, 0.4236, 0.4286",\
                 "0.4134, 0.4137, 0.4139, 0.4147, 0.416, 0.4175, 0.419, 0.4206, 0.422, 0.4276",\
                 "0.4263, 0.4257, 0.4243, 0.4232, 0.4222, 0.422, 0.4221, 0.4226, 0.4238, 0.4293",\
                 "0.4696, 0.4679, 0.463, 0.4567, 0.4507, 0.4456, 0.4414, 0.4384, 0.437, 0.4408",\
                 "0.5514, 0.5483, 0.5388, 0.5254, 0.5119, 0.4992, 0.4881, 0.4787, 0.4715, 0.4735",\
                 "0.6727, 0.6684, 0.6549, 0.6341, 0.6105, 0.5889, 0.5691, 0.5512, 0.5358, 0.5327",\
                 "0.8326, 0.8274, 0.8106, 0.7835, 0.7506, 0.7176, 0.6869, 0.659, 0.635, 0.6284",\
                 "1.03, 1.024, 1.005, 0.9724, 0.9316, 0.8873, 0.8445, 0.8056, 0.773, 0.7668");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.1015, 0.1109, 0.1436, 0.2055, 0.3019, 0.4367, 0.6139, 0.8371, 1.11, 1.434",\
                 "0.1157, 0.1252, 0.1582, 0.2208, 0.3175, 0.4525, 0.63, 0.8533, 1.126, 1.451",\
                 "0.1594, 0.1712, 0.209, 0.2725, 0.369, 0.5041, 0.6816, 0.9049, 1.178, 1.503",\
                 "0.1882, 0.2049, 0.2581, 0.3463, 0.4628, 0.6026, 0.7791, 1.002, 1.274, 1.599",\
                 "0.1854, 0.2075, 0.2774, 0.3924, 0.5433, 0.7233, 0.9275, 1.155, 1.426, 1.749",\
                 "0.1437, 0.1714, 0.2603, 0.404, 0.5911, 0.8125, 1.063, 1.34, 1.638, 1.964",\
                 "0.0609, 0.0941, 0.2008, 0.3756, 0.6011, 0.8666, 1.164, 1.492, 1.846, 2.224",\
                 "-0.0667, -0.0274, 0.0984, 0.3028, 0.5676, 0.8797, 1.228, 1.606, 2.015, 2.453",\
                 "-0.2408, -0.1952, -0.0514, 0.1836, 0.4897, 0.8482, 1.247, 1.681, 2.144, 2.64",\
                 "-0.4636, -0.4125, -0.2488, 0.0165, 0.3611, 0.7655, 1.218, 1.708, 2.233, 2.787");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.2093, 0.2381, 0.3439, 0.5511, 0.8757, 1.33, 1.928, 2.68, 3.597, 4.692",\
                 "0.2189, 0.2478, 0.3536, 0.5619, 0.8872, 1.342, 1.941, 2.694, 3.61, 4.704",\
                 "0.2809, 0.3075, 0.4083, 0.6125, 0.9363, 1.391, 1.988, 2.741, 3.658, 4.752",\
                 "0.4136, 0.4423, 0.5402, 0.7316, 1.046, 1.494, 2.088, 2.838, 3.754, 4.845",\
                 "0.5898, 0.6228, 0.7344, 0.9354, 1.237, 1.674, 2.258, 3, 3.911, 4.997",\
                 "0.8103, 0.8484, 0.974, 1.196, 1.517, 1.945, 2.516, 3.246, 4.147, 5.227",\
                 "1.074, 1.118, 1.262, 1.506, 1.854, 2.308, 2.874, 3.591, 4.478, 5.546",\
                 "1.382, 1.432, 1.597, 1.872, 2.246, 2.73, 3.329, 4.045, 4.918, 5.971",\
                 "1.736, 1.794, 1.98, 2.286, 2.698, 3.212, 3.845, 4.598, 5.474, 6.512",\
                 "2.139, 2.206, 2.413, 2.754, 3.206, 3.759, 4.425, 5.216, 6.131, 7.176");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.1225, 0.138, 0.1928, 0.2971, 0.4597, 0.688, 0.9865, 1.366, 1.825, 2.377",\
                 "0.1226, 0.1382, 0.1926, 0.2973, 0.4598, 0.6887, 0.9867, 1.366, 1.827, 2.375",\
                 "0.1594, 0.1718, 0.2132, 0.3013, 0.4594, 0.6886, 0.9878, 1.365, 1.826, 2.376",\
                 "0.2358, 0.253, 0.3084, 0.4011, 0.5245, 0.7087, 0.9894, 1.365, 1.827, 2.378",\
                 "0.3334, 0.3546, 0.4227, 0.537, 0.691, 0.8764, 1.095, 1.405, 1.832, 2.374",\
                 "0.4504, 0.4782, 0.5628, 0.6996, 0.8774, 1.099, 1.351, 1.632, 1.975, 2.436",\
                 "0.5878, 0.6208, 0.7266, 0.89, 1.098, 1.345, 1.633, 1.959, 2.319, 2.711",\
                 "0.7466, 0.7878, 0.9096, 1.105, 1.347, 1.629, 1.947, 2.306, 2.711, 3.152",\
                 "0.9244, 0.971, 1.117, 1.34, 1.623, 1.943, 2.3, 2.691, 3.133, 3.617",\
                 "1.115, 1.173, 1.346, 1.604, 1.923, 2.285, 2.686, 3.119, 3.59, 4.114");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.4788, 0.5413, 0.7563, 1.143, 1.719, 2.513, 3.558, 4.876, 6.477, 8.375",\
                 "0.4727, 0.537, 0.7551, 1.143, 1.718, 2.515, 3.561, 4.876, 6.477, 8.383",\
                 "0.4592, 0.5208, 0.7409, 1.139, 1.718, 2.515, 3.559, 4.876, 6.476, 8.372",\
                 "0.5074, 0.5599, 0.7457, 1.117, 1.713, 2.515, 3.561, 4.875, 6.481, 8.387",\
                 "0.5728, 0.6294, 0.8184, 1.159, 1.704, 2.506, 3.558, 4.876, 6.481, 8.372",\
                 "0.6796, 0.7296, 0.909, 1.259, 1.784, 2.523, 3.552, 4.866, 6.481, 8.388",\
                 "0.8216, 0.8734, 1.051, 1.387, 1.922, 2.643, 3.601, 4.87, 6.467, 8.392",\
                 "0.9886, 1.043, 1.233, 1.565, 2.087, 2.824, 3.761, 4.959, 6.489, 8.385",\
                 "1.17, 1.236, 1.441, 1.79, 2.302, 3.037, 3.993, 5.16, 6.609, 8.422",\
                 "1.371, 1.44, 1.668, 2.05, 2.574, 3.288, 4.252, 5.44, 6.859, 8.588");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.1414, 0.1514, 0.186, 0.2502, 0.3483, 0.4846, 0.663, 0.8869, 1.16, 1.485",\
                 "0.1553, 0.1653, 0.1997, 0.2641, 0.3623, 0.4987, 0.677, 0.9011, 1.174, 1.499",\
                 "0.2064, 0.2167, 0.2513, 0.315, 0.413, 0.5492, 0.7275, 0.9515, 1.224, 1.549",\
                 "0.2574, 0.272, 0.32, 0.4009, 0.5098, 0.6469, 0.8243, 1.048, 1.32, 1.645",\
                 "0.2795, 0.2986, 0.3604, 0.4655, 0.6067, 0.7786, 0.9753, 1.2, 1.472, 1.795",\
                 "0.2673, 0.2909, 0.3688, 0.4992, 0.6731, 0.883, 1.125, 1.394, 1.686, 2.01",\
                 "0.2185, 0.2466, 0.3394, 0.4956, 0.7052, 0.9558, 1.241, 1.558, 1.905, 2.277",\
                 "0.1316, 0.1645, 0.2716, 0.4544, 0.6983, 0.991, 1.323, 1.689, 2.088, 2.517",\
                 "0.0046, 0.0417, 0.1646, 0.3716, 0.6506, 0.9863, 1.366, 1.783, 2.234, 2.718",\
                 "-0.1646, -0.1229, 0.015, 0.2466, 0.559, 0.9375, 1.365, 1.836, 2.342, 2.883");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.3524, 0.3842, 0.4944, 0.7032, 1.028, 1.482, 2.079, 2.832, 3.75, 4.843",\
                 "0.3611, 0.3932, 0.5049, 0.7146, 1.04, 1.495, 2.092, 2.846, 3.763, 4.857",\
                 "0.3956, 0.4276, 0.5386, 0.749, 1.075, 1.531, 2.13, 2.883, 3.801, 4.896",\
                 "0.4691, 0.502, 0.6143, 0.822, 1.145, 1.598, 2.194, 2.947, 3.866, 4.959",\
                 "0.5973, 0.6309, 0.7459, 0.9591, 1.279, 1.723, 2.314, 3.06, 3.974, 5.065",\
                 "0.7837, 0.8204, 0.9418, 1.158, 1.486, 1.929, 2.508, 3.245, 4.149, 5.233",\
                 "1.014, 1.056, 1.191, 1.423, 1.757, 2.21, 2.789, 3.513, 4.405, 5.478",\
                 "1.284, 1.332, 1.484, 1.742, 2.095, 2.558, 3.148, 3.875, 4.754, 5.812",\
                 "1.595, 1.648, 1.821, 2.108, 2.493, 2.976, 3.578, 4.317, 5.202, 6.245",\
                 "1.947, 2.007, 2.2, 2.517, 2.94, 3.458, 4.081, 4.834, 5.733, 6.783");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.1735, 0.1896, 0.2454, 0.3508, 0.5137, 0.7416, 1.042, 1.42, 1.881, 2.43",\
                 "0.1725, 0.1894, 0.2453, 0.3505, 0.5138, 0.7423, 1.043, 1.421, 1.881, 2.429",\
                 "0.19, 0.203, 0.2511, 0.3508, 0.5136, 0.742, 1.042, 1.42, 1.881, 2.429",\
                 "0.2799, 0.2963, 0.3482, 0.4361, 0.5599, 0.755, 1.043, 1.419, 1.88, 2.429",\
                 "0.3904, 0.4092, 0.4744, 0.5828, 0.7298, 0.9096, 1.134, 1.453, 1.884, 2.429",\
                 "0.5226, 0.5472, 0.6252, 0.7546, 0.9252, 1.138, 1.387, 1.665, 2.016, 2.482",\
                 "0.6778, 0.707, 0.8014, 0.9538, 1.153, 1.392, 1.674, 1.995, 2.35, 2.746",\
                 "0.8506, 0.889, 1.002, 1.181, 1.411, 1.68, 1.991, 2.348, 2.747, 3.184",\
                 "1.05, 1.091, 1.222, 1.432, 1.698, 2.003, 2.348, 2.734, 3.17, 3.651",\
                 "1.268, 1.319, 1.473, 1.712, 2.014, 2.359, 2.743, 3.164, 3.632, 4.15");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.5373, 0.5926, 0.7858, 1.15, 1.72, 2.514, 3.558, 4.868, 6.47, 8.393",\
                 "0.536, 0.5919, 0.7857, 1.15, 1.72, 2.516, 3.558, 4.87, 6.467, 8.392",\
                 "0.5379, 0.5928, 0.7857, 1.152, 1.72, 2.515, 3.556, 4.873, 6.48, 8.382",\
                 "0.5797, 0.6309, 0.8075, 1.158, 1.719, 2.515, 3.56, 4.868, 6.47, 8.382",\
                 "0.6434, 0.6938, 0.8764, 1.211, 1.742, 2.515, 3.559, 4.867, 6.48, 8.38",\
                 "0.7576, 0.8012, 0.9658, 1.298, 1.818, 2.555, 3.565, 4.876, 6.469, 8.388",\
                 "0.917, 0.9604, 1.113, 1.423, 1.931, 2.657, 3.628, 4.884, 6.475, 8.393",\
                 "1.102, 1.15, 1.309, 1.604, 2.083, 2.8, 3.752, 4.97, 6.499, 8.388",\
                 "1.306, 1.357, 1.529, 1.839, 2.303, 2.985, 3.923, 5.123, 6.615, 8.447",\
                 "1.531, 1.585, 1.772, 2.101, 2.576, 3.237, 4.139, 5.328, 6.792, 8.569");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.1601, 0.172, 0.2116, 0.2834, 0.3894, 0.5323, 0.7161, 0.9444, 1.221, 1.549",\
                 "0.1744, 0.1859, 0.2257, 0.2971, 0.4028, 0.5459, 0.7297, 0.9579, 1.234, 1.562",\
                 "0.2288, 0.2395, 0.2767, 0.3461, 0.4507, 0.5933, 0.777, 1.005, 1.282, 1.609",\
                 "0.2989, 0.3136, 0.3611, 0.4411, 0.5488, 0.6888, 0.8714, 1.099, 1.375, 1.702",\
                 "0.3428, 0.3615, 0.4223, 0.5244, 0.6631, 0.831, 1.024, 1.251, 1.525, 1.852",\
                 "0.3569, 0.3791, 0.4539, 0.5796, 0.7479, 0.9529, 1.189, 1.453, 1.74, 2.066",\
                 "0.338, 0.3651, 0.4532, 0.6017, 0.8031, 1.045, 1.323, 1.633, 1.973, 2.339",\
                 "0.2866, 0.3168, 0.4187, 0.5913, 0.8231, 1.104, 1.426, 1.782, 2.172, 2.594",\
                 "0.2019, 0.236, 0.3497, 0.5446, 0.8069, 1.128, 1.493, 1.898, 2.337, 2.812",\
                 "0.0833, 0.1209, 0.246, 0.4606, 0.7541, 1.113, 1.523, 1.977, 2.47, 2.997");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.4919, 0.524, 0.6353, 0.8449, 1.169, 1.623, 2.221, 2.973, 3.89, 4.985",\
                 "0.5005, 0.5332, 0.6453, 0.8564, 1.181, 1.636, 2.234, 2.986, 3.904, 4.998",\
                 "0.537, 0.5697, 0.6823, 0.8941, 1.22, 1.677, 2.275, 3.028, 3.947, 5.041",\
                 "0.5926, 0.6262, 0.7402, 0.9513, 1.277, 1.733, 2.331, 3.085, 4.005, 5.099",\
                 "0.6695, 0.7041, 0.8222, 1.039, 1.364, 1.815, 2.41, 3.16, 4.078, 5.172",\
                 "0.7963, 0.8331, 0.9537, 1.173, 1.503, 1.953, 2.539, 3.282, 4.192, 5.281",\
                 "0.9643, 1.005, 1.139, 1.369, 1.701, 2.155, 2.741, 3.471, 4.369, 5.448",\
                 "1.171, 1.217, 1.367, 1.619, 1.969, 2.425, 3.013, 3.744, 4.628, 5.689",\
                 "1.415, 1.466, 1.632, 1.909, 2.288, 2.764, 3.355, 4.089, 4.974, 6.022",\
                 "1.692, 1.75, 1.933, 2.238, 2.65, 3.159, 3.77, 4.505, 5.394, 6.444");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.2292, 0.2469, 0.3074, 0.4189, 0.5857, 0.8162, 1.117, 1.497, 1.957, 2.507",\
                 "0.2268, 0.2444, 0.3066, 0.4182, 0.5856, 0.8162, 1.118, 1.497, 1.958, 2.508",\
                 "0.2276, 0.2432, 0.3, 0.4116, 0.5832, 0.8152, 1.117, 1.497, 1.959, 2.509",\
                 "0.3301, 0.3451, 0.3952, 0.4783, 0.609, 0.8178, 1.116, 1.496, 1.958, 2.508",\
                 "0.4594, 0.479, 0.5394, 0.643, 0.7804, 0.954, 1.185, 1.516, 1.96, 2.508",\
                 "0.6172, 0.6408, 0.7134, 0.8314, 0.9924, 1.194, 1.435, 1.711, 2.071, 2.549",\
                 "0.8026, 0.8298, 0.9152, 1.054, 1.237, 1.462, 1.734, 2.047, 2.395, 2.794",\
                 "1.012, 1.047, 1.146, 1.31, 1.517, 1.768, 2.064, 2.41, 2.799, 3.229",\
                 "1.251, 1.29, 1.405, 1.594, 1.831, 2.113, 2.435, 2.807, 3.231, 3.702",\
                 "1.518, 1.566, 1.699, 1.915, 2.186, 2.495, 2.851, 3.252, 3.703, 4.209");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.5463, 0.601, 0.7903, 1.154, 1.72, 2.513, 3.557, 4.869, 6.48, 8.384",\
                 "0.5479, 0.6017, 0.7905, 1.154, 1.72, 2.515, 3.558, 4.874, 6.474, 8.385",\
                 "0.5505, 0.604, 0.7917, 1.155, 1.722, 2.515, 3.557, 4.875, 6.48, 8.391",\
                 "0.5796, 0.6291, 0.8051, 1.158, 1.722, 2.515, 3.558, 4.873, 6.471, 8.38",\
                 "0.6404, 0.6904, 0.8684, 1.202, 1.736, 2.517, 3.559, 4.873, 6.473, 8.391",\
                 "0.7488, 0.7936, 0.955, 1.286, 1.809, 2.552, 3.565, 4.869, 6.473, 8.374",\
                 "0.9356, 0.9764, 1.123, 1.417, 1.921, 2.647, 3.623, 4.894, 6.477, 8.388",\
                 "1.154, 1.197, 1.348, 1.634, 2.089, 2.785, 3.74, 4.972, 6.511, 8.394",\
                 "1.389, 1.434, 1.601, 1.897, 2.34, 2.989, 3.908, 5.109, 6.613, 8.454",\
                 "1.643, 1.693, 1.866, 2.189, 2.652, 3.276, 4.142, 5.307, 6.775, 8.565");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.1588, 0.1712, 0.2141, 0.2902, 0.4019, 0.5508, 0.7397, 0.9726, 1.253, 1.583",\
                 "0.1718, 0.1843, 0.2262, 0.3021, 0.4135, 0.562, 0.751, 0.9838, 1.264, 1.595",\
                 "0.2294, 0.2405, 0.279, 0.3514, 0.4607, 0.6083, 0.7969, 1.03, 1.31, 1.64",\
                 "0.3076, 0.3225, 0.3707, 0.4522, 0.5613, 0.7047, 0.8912, 1.123, 1.402, 1.733",\
                 "0.3618, 0.3806, 0.442, 0.5455, 0.6845, 0.8526, 1.045, 1.274, 1.551, 1.881",\
                 "0.3891, 0.4123, 0.4868, 0.613, 0.7806, 0.9855, 1.22, 1.482, 1.768, 2.096",\
                 "0.3889, 0.4159, 0.5038, 0.6512, 0.8511, 1.091, 1.366, 1.673, 2.01, 2.373",\
                 "0.3609, 0.3916, 0.4929, 0.663, 0.8918, 1.167, 1.484, 1.835, 2.221, 2.637",\
                 "0.3058, 0.3397, 0.4517, 0.6441, 0.9025, 1.216, 1.574, 1.97, 2.402, 2.87",\
                 "0.2233, 0.2613, 0.3835, 0.5943, 0.8827, 1.232, 1.632, 2.075, 2.556, 3.073");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.528, 0.5602, 0.671, 0.8809, 1.205, 1.659, 2.256, 3.009, 3.927, 5.021",\
                 "0.5391, 0.5718, 0.6843, 0.8948, 1.22, 1.675, 2.273, 3.025, 3.943, 5.038",\
                 "0.5732, 0.6058, 0.7186, 0.9299, 1.256, 1.712, 2.311, 3.064, 3.983, 5.078",\
                 "0.6191, 0.6522, 0.7655, 0.9768, 1.303, 1.759, 2.358, 3.111, 4.03, 5.125",\
                 "0.6778, 0.711, 0.8278, 1.042, 1.366, 1.819, 2.415, 3.166, 4.085, 5.178",\
                 "0.7751, 0.8104, 0.9294, 1.144, 1.471, 1.921, 2.508, 3.252, 4.164, 5.252",\
                 "0.8968, 0.9371, 1.07, 1.299, 1.627, 2.076, 2.66, 3.391, 4.291, 5.369",\
                 "1.042, 1.089, 1.238, 1.49, 1.841, 2.293, 2.874, 3.603, 4.486, 5.547",\
                 "1.215, 1.266, 1.434, 1.713, 2.093, 2.57, 3.154, 3.878, 4.759, 5.805",\
                 "1.416, 1.472, 1.656, 1.963, 2.378, 2.889, 3.498, 4.223, 5.1, 6.144");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.2497, 0.2694, 0.3373, 0.4554, 0.6299, 0.8646, 1.168, 1.547, 2.01, 2.562",\
                 "0.2447, 0.2657, 0.3332, 0.4526, 0.6277, 0.8636, 1.168, 1.548, 2.01, 2.56",\
                 "0.2453, 0.2624, 0.3234, 0.442, 0.6224, 0.8608, 1.167, 1.548, 2.01, 2.56",\
                 "0.3589, 0.3739, 0.4234, 0.5059, 0.6408, 0.8566, 1.163, 1.545, 2.009, 2.56",\
                 "0.5029, 0.5228, 0.582, 0.681, 0.8166, 0.986, 1.222, 1.56, 2.009, 2.559",\
                 "0.6812, 0.7032, 0.7738, 0.887, 1.042, 1.236, 1.471, 1.746, 2.11, 2.594",\
                 "0.8908, 0.9186, 1.002, 1.133, 1.305, 1.517, 1.777, 2.084, 2.426, 2.829",\
                 "1.138, 1.171, 1.268, 1.418, 1.611, 1.845, 2.122, 2.457, 2.837, 3.264",\
                 "1.423, 1.46, 1.572, 1.746, 1.963, 2.219, 2.517, 2.867, 3.274, 3.739",\
                 "1.746, 1.79, 1.92, 2.121, 2.368, 2.645, 2.964, 3.334, 3.762, 4.252");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01214, 0.02869, 0.05447, 0.09065, 0.1383, 0.1982, 0.2714, 0.3587");
          values("0.5475, 0.5996, 0.7907, 1.154, 1.72, 2.516, 3.558, 4.873, 6.471, 8.373",\
                 "0.5483, 0.6009, 0.7893, 1.154, 1.72, 2.516, 3.556, 4.873, 6.475, 8.381",\
                 "0.5499, 0.6035, 0.7913, 1.154, 1.721, 2.515, 3.558, 4.869, 6.48, 8.378",\
                 "0.5679, 0.6174, 0.7968, 1.156, 1.72, 2.516, 3.558, 4.873, 6.471, 8.38",\
                 "0.6164, 0.6672, 0.8462, 1.186, 1.731, 2.515, 3.558, 4.874, 6.473, 8.383",\
                 "0.7226, 0.7668, 0.928, 1.258, 1.788, 2.542, 3.563, 4.876, 6.48, 8.392",\
                 "0.9276, 0.9704, 1.115, 1.403, 1.897, 2.624, 3.615, 4.887, 6.477, 8.388",\
                 "1.18, 1.221, 1.373, 1.655, 2.09, 2.769, 3.718, 4.96, 6.514, 8.391",\
                 "1.459, 1.505, 1.664, 1.96, 2.395, 3.01, 3.897, 5.089, 6.597, 8.446",\
                 "1.765, 1.812, 1.98, 2.295, 2.754, 3.354, 4.175, 5.306, 6.757, 8.553");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai21_1) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B" ;
      value : "4.37481e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B" ;
      value : "6.77688e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B" ;
      value : "5.91921e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B" ;
      value : "6.77688e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B" ;
      value : "4.48239e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B" ;
      value : "6.79536e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B" ;
      value : "4.48239e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.79536e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004855 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01853, 0.01852, 0.0185, 0.01844, 0.01839, 0.01837, 0.01835, \
                 0.01833, 0.01833, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01109, 0.01111, 0.01113, 0.01108, 0.01102, 0.01095, 0.01091, \
                 0.01084, 0.01078, 0.01068");
        }
      }

      internal_power() {
        when : "A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01847, 0.01849, 0.0185, 0.01844, 0.01838, 0.01837, 0.01834, \
                 0.01833, 0.0183, 0.01828");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01773, -0.01791, -0.01793, -0.01803, -0.01805, -0.0181, -0.01811, \
                 -0.01813, -0.01813, -0.01814");
        }
      }

      internal_power() {
        when : "A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01163, 0.01163, 0.01162, 0.01161, 0.01163, 0.01162, \
                 0.0116, 0.01159, 0.01157");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005279, -0.005271, -0.005287, -0.005283, -0.005292, -0.005301, \
                 -0.005302, -0.005301, -0.005304, -0.005306");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004723 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01843, 0.01841, 0.01839, 0.01839, 0.01835, 0.01837, 0.01834, \
                 0.01834, 0.01834, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01121, 0.0112, 0.01111, 0.01106, 0.01098, 0.01092, \
                 0.01085, 0.0108, 0.0107");
        }
      }

      internal_power() {
        when : "A1&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0184, 0.01838, 0.01836, 0.01833, 0.01836, 0.01832, 0.01833, \
                 0.01831, 0.0183, 0.01829");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01756, -0.01761, -0.0178, -0.01791, -0.01799, -0.01805, -0.01807, \
                 -0.0181, -0.01809, -0.0181");
        }
      }

      internal_power() {
        when : "A1&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01628, 0.01626, 0.01629, 0.01627, 0.01628, 0.01631, 0.01632, \
                 0.0163, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01349, -0.01462, -0.01562, -0.01582, -0.01589, -0.01598, -0.01603, \
                 -0.01604, -0.01605, -0.01608");
        }
      }
    }

    pin(B) {
      capacitance : 0.004661 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01583, 0.01526, 0.01523, 0.01516, 0.01512, 0.01513, 0.01511, \
                 0.0151, 0.0151, 0.0151");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01523, -0.01521, -0.01519, -0.01517, -0.01512, -0.01511, -0.01508, \
                 -0.01507, -0.01508, -0.01506");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|(!B))" ;
      max_capacitance : 0.1819 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.005325, 0.005443, 0.005605, 0.005737, 0.005806, 0.005838, 0.005869, 0.005886, 0.005898, 0.0059",\
                 "0.005284, 0.005473, 0.005874, 0.006201, 0.006385, 0.006502, 0.006574, 0.006614, 0.006643, 0.006665",\
                 "0.006195, 0.006296, 0.006531, 0.006762, 0.006928, 0.007048, 0.007131, 0.00718, 0.007209, 0.007238",\
                 "0.01104, 0.01072, 0.01004, 0.009449, 0.008958, 0.008582, 0.008311, 0.008146, 0.007968, 0.007869",\
                 "0.02152, 0.02069, 0.01864, 0.01645, 0.01451, 0.01301, 0.01187, 0.01099, 0.01029, 0.009763",\
                 "0.03847, 0.03715, 0.03354, 0.02916, 0.02521, 0.0219, 0.01923, 0.01712, 0.01542, 0.01407",\
                 "0.06216, 0.06038, 0.05535, 0.0487, 0.04213, 0.0365, 0.03172, 0.02779, 0.02459, 0.02194",\
                 "0.09288, 0.09079, 0.08448, 0.07566, 0.06628, 0.05776, 0.05039, 0.04414, 0.03888, 0.03443",\
                 "0.1311, 0.1287, 0.1213, 0.1105, 0.0983, 0.08663, 0.07615, 0.06711, 0.05936, 0.05263",\
                 "0.1772, 0.1745, 0.1661, 0.1534, 0.1386, 0.1237, 0.1098, 0.09763, 0.08684, 0.07747");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.05333, 0.05364, 0.05417, 0.05461, 0.05506, 0.05546, 0.05564, 0.05636, 0.0565, 0.05834",\
                 "0.05212, 0.05254, 0.05343, 0.05431, 0.05506, 0.05552, 0.056, 0.05646, 0.05713, 0.05948",\
                 "0.05301, 0.05301, 0.05322, 0.05378, 0.05456, 0.05529, 0.0558, 0.05639, 0.05736, 0.05909",\
                 "0.05959, 0.0591, 0.05797, 0.0569, 0.05638, 0.05638, 0.05673, 0.05699, 0.05755, 0.06001",\
                 "0.07243, 0.07143, 0.06897, 0.06602, 0.06344, 0.06173, 0.06062, 0.06002, 0.05976, 0.06204",\
                 "0.09206, 0.09059, 0.08668, 0.08186, 0.0772, 0.07295, 0.06966, 0.06752, 0.06604, 0.06747",\
                 "0.1191, 0.1172, 0.1119, 0.1049, 0.09789, 0.09146, 0.0855, 0.08072, 0.07744, 0.07804",\
                 "0.154, 0.1517, 0.1451, 0.136, 0.1264, 0.1174, 0.1091, 0.1013, 0.09522, 0.09578",\
                 "0.1973, 0.1946, 0.1866, 0.1757, 0.1635, 0.1513, 0.1404, 0.1303, 0.1214, 0.1234",\
                 "0.2492, 0.2463, 0.2373, 0.2243, 0.2094, 0.1944, 0.1805, 0.1676, 0.1578, 0.1648");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.01506, 0.01507, 0.01509, 0.01511, 0.01513, 0.01514, 0.01515, 0.01515, 0.01515, 0.01514",\
                 "0.01407, 0.01409, 0.01413, 0.01419, 0.01421, 0.01424, 0.01425, 0.01426, 0.01427, 0.01425",\
                 "0.01427, 0.01423, 0.01414, 0.01398, 0.0139, 0.01385, 0.01382, 0.01379, 0.01379, 0.01376",\
                 "0.01914, 0.01874, 0.01774, 0.01674, 0.0159, 0.01526, 0.0148, 0.01448, 0.01427, 0.01412",\
                 "0.03069, 0.02977, 0.02744, 0.02459, 0.02211, 0.02014, 0.01861, 0.0175, 0.01668, 0.01603",\
                 "0.04974, 0.04832, 0.04433, 0.03928, 0.03429, 0.03016, 0.02683, 0.02426, 0.02222, 0.02063",\
                 "0.07681, 0.07489, 0.0694, 0.06181, 0.05398, 0.04689, 0.04098, 0.03618, 0.03229, 0.02919",\
                 "0.1123, 0.11, 0.1031, 0.09302, 0.08201, 0.0716, 0.06246, 0.05471, 0.0483, 0.04304",\
                 "0.1565, 0.1539, 0.1458, 0.1335, 0.1193, 0.1053, 0.09247, 0.0812, 0.07159, 0.06345",\
                 "0.2099, 0.207, 0.1979, 0.1835, 0.1664, 0.1487, 0.1318, 0.1166, 0.1032, 0.09166");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.06512, 0.06536, 0.06581, 0.06608, 0.06648, 0.06674, 0.06719, 0.06742, 0.06798, 0.06961",\
                 "0.06358, 0.06401, 0.06497, 0.06586, 0.06651, 0.06704, 0.06765, 0.06798, 0.06854, 0.0704",\
                 "0.06266, 0.06284, 0.0635, 0.06445, 0.06555, 0.06651, 0.06706, 0.06778, 0.06861, 0.07045",\
                 "0.06778, 0.06749, 0.06685, 0.06638, 0.06648, 0.06684, 0.06745, 0.06808, 0.06887, 0.07057",\
                 "0.08115, 0.08018, 0.07783, 0.07533, 0.07324, 0.07189, 0.07115, 0.07072, 0.07104, 0.07304",\
                 "0.1034, 0.1018, 0.09758, 0.09243, 0.0878, 0.08387, 0.08069, 0.0785, 0.07717, 0.07873",\
                 "0.1344, 0.1325, 0.1265, 0.1187, 0.1109, 0.1042, 0.09824, 0.09332, 0.08972, 0.09026",\
                 "0.1747, 0.1722, 0.165, 0.1547, 0.1436, 0.1334, 0.1246, 0.1168, 0.1102, 0.1095",\
                 "0.2244, 0.2216, 0.2133, 0.2009, 0.1864, 0.1728, 0.1603, 0.1493, 0.1401, 0.1392",\
                 "0.2842, 0.2812, 0.2718, 0.2572, 0.2401, 0.2226, 0.2064, 0.192, 0.1802, 0.1826");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.01602, 0.01603, 0.01613, 0.01625, 0.01631, 0.01636, 0.01638, 0.01639, 0.01641, 0.0164",\
                 "0.01524, 0.01535, 0.01565, 0.01592, 0.01608, 0.01619, 0.01627, 0.0163, 0.01634, 0.01634",\
                 "0.01432, 0.01444, 0.01481, 0.01522, 0.01558, 0.01583, 0.016, 0.01609, 0.01617, 0.0162",\
                 "0.01693, 0.01679, 0.01667, 0.01655, 0.01651, 0.0165, 0.01647, 0.01645, 0.01645, 0.01645",\
                 "0.02641, 0.02589, 0.02457, 0.02305, 0.02168, 0.02061, 0.01976, 0.01909, 0.01857, 0.01815",\
                 "0.04428, 0.04334, 0.04054, 0.03686, 0.03337, 0.03037, 0.02786, 0.02589, 0.02423, 0.02291",\
                 "0.07146, 0.06998, 0.06558, 0.05944, 0.05311, 0.04745, 0.04256, 0.03845, 0.03506, 0.03223",\
                 "0.108, 0.1061, 0.1002, 0.09161, 0.08214, 0.07316, 0.06524, 0.05839, 0.05254, 0.04755",\
                 "0.1542, 0.1519, 0.1448, 0.1339, 0.1212, 0.1086, 0.09711, 0.08685, 0.07797, 0.0702",\
                 "0.2102, 0.2076, 0.1994, 0.1865, 0.1709, 0.1546, 0.1389, 0.1249, 0.1125, 0.1014");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1036, 0.1036, 0.1037, 0.1038, 0.1039, 0.1041, 0.1046, 0.105, 0.1056, 0.106",\
                 "0.1024, 0.1024, 0.1026, 0.1029, 0.1031, 0.1034, 0.1038, 0.1042, 0.1049, 0.1053",\
                 "0.1032, 0.1031, 0.103, 0.1029, 0.103, 0.1033, 0.1036, 0.1041, 0.1045, 0.1051",\
                 "0.1105, 0.1101, 0.1087, 0.1073, 0.1063, 0.1057, 0.1054, 0.1055, 0.1058, 0.1059",\
                 "0.1256, 0.1246, 0.1221, 0.1189, 0.1156, 0.113, 0.1111, 0.11, 0.1092, 0.109",\
                 "0.1493, 0.148, 0.1441, 0.1384, 0.1328, 0.1276, 0.1234, 0.1202, 0.1179, 0.116",\
                 "0.1822, 0.1806, 0.1756, 0.1678, 0.1592, 0.1512, 0.144, 0.1378, 0.1327, 0.1289",\
                 "0.2248, 0.2228, 0.2169, 0.2073, 0.1959, 0.1844, 0.1738, 0.1642, 0.1563, 0.1494",\
                 "0.2776, 0.2755, 0.2687, 0.2577, 0.2436, 0.2286, 0.2142, 0.2011, 0.1895, 0.1793",\
                 "0.341, 0.3387, 0.3313, 0.3189, 0.3026, 0.2848, 0.2662, 0.2492, 0.2338, 0.2198");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.005446, 0.005504, 0.005663, 0.005769, 0.005837, 0.005871, 0.005889, 0.005905, 0.005911, 0.00592",\
                 "0.004347, 0.004596, 0.005043, 0.005382, 0.00559, 0.005698, 0.005775, 0.005812, 0.005855, 0.005865",\
                 "0.003274, 0.00348, 0.004032, 0.004607, 0.005027, 0.00531, 0.005485, 0.005596, 0.005668, 0.005719",\
                 "0.006614, 0.006464, 0.006177, 0.006053, 0.006008, 0.006001, 0.006004, 0.005977, 0.005979, 0.005979",\
                 "0.01735, 0.01669, 0.0149, 0.01303, 0.01149, 0.0103, 0.009396, 0.008682, 0.00814, 0.007713",\
                 "0.03677, 0.03552, 0.03202, 0.02764, 0.02366, 0.02036, 0.01772, 0.01561, 0.01391, 0.01255",\
                 "0.06541, 0.06358, 0.05826, 0.05114, 0.04407, 0.03791, 0.03271, 0.0284, 0.02487, 0.02197",\
                 "0.1032, 0.1009, 0.09406, 0.08431, 0.07387, 0.06418, 0.05576, 0.04864, 0.04255, 0.03749",\
                 "0.1504, 0.1477, 0.1396, 0.1275, 0.1137, 0.1002, 0.08809, 0.07746, 0.0683, 0.06035",\
                 "0.2073, 0.2043, 0.1951, 0.1809, 0.1641, 0.1469, 0.1306, 0.1159, 0.1031, 0.09174");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.09212, 0.09215, 0.09214, 0.09231, 0.09253, 0.09273, 0.09319, 0.09374, 0.09412, 0.09481",\
                 "0.09083, 0.09092, 0.09116, 0.09146, 0.09171, 0.09201, 0.0924, 0.09291, 0.09343, 0.09396",\
                 "0.09176, 0.09162, 0.09142, 0.09143, 0.09158, 0.09178, 0.0923, 0.09261, 0.09307, 0.09359",\
                 "0.09903, 0.09855, 0.09735, 0.09588, 0.09478, 0.09425, 0.09402, 0.09387, 0.09415, 0.09422",\
                 "0.1142, 0.1133, 0.1107, 0.1074, 0.1041, 0.1014, 0.09969, 0.09849, 0.09785, 0.09742",\
                 "0.138, 0.1367, 0.1327, 0.127, 0.1213, 0.1161, 0.1119, 0.1087, 0.1057, 0.1044",\
                 "0.171, 0.1694, 0.1643, 0.1565, 0.1478, 0.1397, 0.1325, 0.1263, 0.1213, 0.1172",\
                 "0.2136, 0.2116, 0.2057, 0.196, 0.1846, 0.1729, 0.1623, 0.153, 0.1449, 0.1378",\
                 "0.2664, 0.2643, 0.2575, 0.2463, 0.2323, 0.2174, 0.2027, 0.1897, 0.1783, 0.1678",\
                 "0.3299, 0.3276, 0.3201, 0.3075, 0.2916, 0.2735, 0.2548, 0.2378, 0.2222, 0.2082");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.005406, 0.00552, 0.005668, 0.005777, 0.005826, 0.005867, 0.005885, 0.005898, 0.005909, 0.005914",\
                 "0.004376, 0.004581, 0.00504, 0.005383, 0.005585, 0.005701, 0.005772, 0.005812, 0.005846, 0.005863",\
                 "0.003407, 0.003623, 0.004136, 0.004675, 0.005068, 0.005344, 0.005515, 0.005622, 0.005696, 0.005746",\
                 "0.007107, 0.006956, 0.006631, 0.006392, 0.006312, 0.006224, 0.006164, 0.006113, 0.006079, 0.006056",\
                 "0.01832, 0.01764, 0.01581, 0.01384, 0.01216, 0.01087, 0.009856, 0.009059, 0.008453, 0.007979",\
                 "0.03821, 0.03693, 0.03339, 0.02888, 0.02476, 0.02131, 0.01852, 0.01628, 0.01449, 0.01305",\
                 "0.0672, 0.06534, 0.06003, 0.05285, 0.04567, 0.0393, 0.03395, 0.02947, 0.02579, 0.02277",\
                 "0.1053, 0.103, 0.09623, 0.08644, 0.07588, 0.06605, 0.05746, 0.05009, 0.04389, 0.03866",\
                 "0.1528, 0.1502, 0.1421, 0.13, 0.1162, 0.1026, 0.09015, 0.07941, 0.07002, 0.06198",\
                 "0.2101, 0.2072, 0.198, 0.1839, 0.1671, 0.1496, 0.1332, 0.1184, 0.1053, 0.0939");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.101, 0.1011, 0.1012, 0.1013, 0.1015, 0.1017, 0.1021, 0.1026, 0.1032, 0.1039",\
                 "0.09985, 0.09998, 0.1002, 0.1005, 0.1008, 0.1012, 0.1016, 0.1022, 0.1026, 0.1033",\
                 "0.1007, 0.1006, 0.1006, 0.1006, 0.1008, 0.1011, 0.1016, 0.1018, 0.1025, 0.1032",\
                 "0.108, 0.1074, 0.1064, 0.1052, 0.1041, 0.1036, 0.1033, 0.1034, 0.1036, 0.104",\
                 "0.1229, 0.1221, 0.1199, 0.1169, 0.1138, 0.1112, 0.1095, 0.1084, 0.1075, 0.1071",\
                 "0.1466, 0.1455, 0.1419, 0.1368, 0.1316, 0.1267, 0.1223, 0.1189, 0.1166, 0.1148",\
                 "0.1796, 0.1781, 0.1735, 0.1664, 0.1585, 0.1509, 0.1438, 0.1377, 0.1324, 0.1282",\
                 "0.2222, 0.2204, 0.2149, 0.2062, 0.1956, 0.1848, 0.1746, 0.1654, 0.157, 0.1503",\
                 "0.2751, 0.2732, 0.267, 0.2567, 0.2438, 0.2297, 0.2161, 0.2034, 0.1921, 0.1814",\
                 "0.3388, 0.3367, 0.3298, 0.3183, 0.3033, 0.2866, 0.2689, 0.2528, 0.2375, 0.2238");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.08519, 0.1001, 0.152, 0.2504, 0.4033, 0.618, 0.8999, 1.256, 1.69, 2.205",\
                 "0.09785, 0.1129, 0.1652, 0.2641, 0.4174, 0.6319, 0.9144, 1.269, 1.703, 2.222",\
                 "0.1307, 0.1503, 0.2102, 0.3093, 0.4625, 0.677, 0.9588, 1.314, 1.748, 2.266",\
                 "0.1445, 0.1717, 0.2548, 0.3842, 0.5506, 0.7644, 1.046, 1.4, 1.834, 2.351",\
                 "0.1314, 0.1672, 0.2747, 0.4397, 0.6497, 0.8981, 1.184, 1.537, 1.969, 2.485",\
                 "0.0874, 0.1319, 0.2653, 0.4679, 0.7217, 1.02, 1.359, 1.733, 2.164, 2.679",\
                 "0.0111, 0.0637, 0.2222, 0.4639, 0.7643, 1.113, 1.507, 1.943, 2.418, 2.938",\
                 "-0.101, -0.0395, 0.1438, 0.4234, 0.7717, 1.174, 1.623, 2.119, 2.66, 3.242",\
                 "-0.2519, -0.1816, 0.0275, 0.3447, 0.7424, 1.199, 1.708, 2.263, 2.867, 3.519",\
                 "-0.4425, -0.3636, -0.1292, 0.2264, 0.6699, 1.186, 1.753, 2.372, 3.039, 3.759");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.173, 0.2062, 0.3203, 0.5358, 0.8686, 1.336, 1.948, 2.724, 3.664, 4.791",\
                 "0.1821, 0.2156, 0.3316, 0.5489, 0.8834, 1.351, 1.964, 2.737, 3.682, 4.811",\
                 "0.2394, 0.2713, 0.3838, 0.5998, 0.9346, 1.403, 2.017, 2.791, 3.738, 4.861",\
                 "0.3443, 0.3828, 0.5058, 0.7168, 1.046, 1.511, 2.125, 2.896, 3.839, 4.968",\
                 "0.4844, 0.529, 0.6715, 0.9099, 1.238, 1.696, 2.302, 3.071, 4.011, 5.134",\
                 "0.6605, 0.7133, 0.8764, 1.144, 1.512, 1.972, 2.569, 3.33, 4.264, 5.383",\
                 "0.8709, 0.9342, 1.123, 1.421, 1.826, 2.333, 2.937, 3.686, 4.611, 5.721",\
                 "1.119, 1.191, 1.409, 1.744, 2.184, 2.738, 3.395, 4.153, 5.067, 6.165",\
                 "1.405, 1.488, 1.735, 2.112, 2.594, 3.187, 3.898, 4.715, 5.636, 6.725",\
                 "1.729, 1.824, 2.1, 2.524, 3.054, 3.69, 4.447, 5.325, 6.31, 7.408");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1101, 0.1358, 0.2244, 0.3925, 0.6543, 1.022, 1.503, 2.112, 2.855, 3.731",\
                 "0.109, 0.1349, 0.2241, 0.3925, 0.6544, 1.021, 1.505, 2.11, 2.853, 3.739",\
                 "0.146, 0.1687, 0.2405, 0.393, 0.6551, 1.02, 1.502, 2.11, 2.851, 3.736",\
                 "0.2159, 0.2431, 0.3302, 0.4754, 0.685, 1.022, 1.503, 2.109, 2.851, 3.736",\
                 "0.3093, 0.3435, 0.4455, 0.6116, 0.84, 1.126, 1.533, 2.11, 2.851, 3.734",\
                 "0.4208, 0.4632, 0.5884, 0.7786, 1.031, 1.352, 1.731, 2.215, 2.877, 3.733",\
                 "0.5498, 0.6032, 0.7508, 0.9746, 1.256, 1.605, 2.025, 2.508, 3.082, 3.834",\
                 "0.6946, 0.7556, 0.9328, 1.195, 1.516, 1.892, 2.344, 2.872, 3.468, 4.144",\
                 "0.8516, 0.9288, 1.134, 1.436, 1.8, 2.223, 2.704, 3.267, 3.908, 4.623",\
                 "1.023, 1.11, 1.352, 1.693, 2.11, 2.578, 3.105, 3.699, 4.379, 5.145");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.253, 0.3094, 0.5056, 0.8805, 1.464, 2.284, 3.357, 4.721, 6.378, 8.354",\
                 "0.2526, 0.3088, 0.506, 0.8807, 1.465, 2.285, 3.362, 4.722, 6.369, 8.357",\
                 "0.2609, 0.3116, 0.5056, 0.8796, 1.465, 2.284, 3.362, 4.724, 6.373, 8.348",\
                 "0.3209, 0.3754, 0.5441, 0.8829, 1.466, 2.282, 3.365, 4.713, 6.369, 8.356",\
                 "0.3944, 0.4516, 0.643, 0.9688, 1.483, 2.283, 3.364, 4.717, 6.371, 8.347",\
                 "0.4998, 0.5584, 0.7542, 1.113, 1.613, 2.327, 3.365, 4.72, 6.371, 8.354",\
                 "0.6264, 0.6916, 0.9004, 1.266, 1.812, 2.502, 3.437, 4.73, 6.38, 8.361",\
                 "0.769, 0.8482, 1.075, 1.449, 2.015, 2.762, 3.659, 4.84, 6.395, 8.345",\
                 "0.9268, 1.014, 1.266, 1.674, 2.248, 3.026, 3.984, 5.108, 6.557, 8.397",\
                 "1.096, 1.197, 1.484, 1.928, 2.513, 3.307, 4.321, 5.496, 6.868, 8.596");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1122, 0.128, 0.1821, 0.2826, 0.4371, 0.6526, 0.9356, 1.292, 1.726, 2.244",\
                 "0.123, 0.1388, 0.1929, 0.2934, 0.448, 0.6635, 0.9466, 1.303, 1.737, 2.254",\
                 "0.1635, 0.1813, 0.2373, 0.3372, 0.4914, 0.7068, 0.9896, 1.346, 1.78, 2.298",\
                 "0.1955, 0.2199, 0.2957, 0.4184, 0.58, 0.794, 1.076, 1.431, 1.865, 2.383",\
                 "0.2064, 0.2375, 0.3339, 0.4873, 0.6893, 0.9314, 1.215, 1.569, 2.001, 2.517",\
                 "0.1943, 0.2318, 0.3486, 0.5353, 0.7754, 1.064, 1.396, 1.767, 2.197, 2.711",\
                 "0.1582, 0.2016, 0.339, 0.5573, 0.839, 1.172, 1.556, 1.985, 2.454, 2.972",\
                 "0.0971, 0.1468, 0.3027, 0.5527, 0.8756, 1.257, 1.69, 2.174, 2.708, 3.283",\
                 "0.01, 0.0659, 0.2401, 0.5209, 0.8842, 1.313, 1.799, 2.337, 2.929, 3.571",\
                 "-0.1051, -0.0436, 0.1501, 0.4587, 0.8614, 1.339, 1.877, 2.472, 3.121, 3.827");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.2087, 0.2417, 0.3555, 0.5702, 0.9032, 1.369, 1.984, 2.755, 3.698, 4.823",\
                 "0.2189, 0.2527, 0.3691, 0.5863, 0.9199, 1.387, 2.002, 2.775, 3.72, 4.845",\
                 "0.2565, 0.2898, 0.4047, 0.6223, 0.9585, 1.428, 2.042, 2.816, 3.761, 4.887",\
                 "0.3227, 0.3593, 0.4811, 0.6969, 1.029, 1.496, 2.111, 2.885, 3.83, 4.952",\
                 "0.4249, 0.4651, 0.5951, 0.8247, 1.158, 1.618, 2.228, 2.997, 3.939, 5.063",\
                 "0.5564, 0.6033, 0.7503, 0.9931, 1.344, 1.809, 2.409, 3.17, 4.105, 5.225",\
                 "0.713, 0.7688, 0.9372, 1.205, 1.572, 2.058, 2.667, 3.419, 4.344, 5.455",\
                 "0.8948, 0.9583, 1.152, 1.453, 1.848, 2.352, 2.984, 3.749, 4.664, 5.762",\
                 "1.103, 1.175, 1.394, 1.731, 2.164, 2.696, 3.348, 4.139, 5.07, 6.159",\
                 "1.337, 1.419, 1.662, 2.039, 2.516, 3.087, 3.765, 4.578, 5.537, 6.645");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1486, 0.1745, 0.2641, 0.4332, 0.6953, 1.062, 1.545, 2.154, 2.895, 3.777",\
                 "0.1475, 0.1741, 0.264, 0.4332, 0.6952, 1.062, 1.545, 2.152, 2.895, 3.777",\
                 "0.1755, 0.1971, 0.2721, 0.4327, 0.6947, 1.063, 1.546, 2.153, 2.894, 3.778",\
                 "0.2516, 0.2774, 0.3625, 0.5039, 0.719, 1.064, 1.546, 2.153, 2.894, 3.778",\
                 "0.3518, 0.3841, 0.4814, 0.6442, 0.8698, 1.157, 1.572, 2.154, 2.893, 3.778",\
                 "0.4746, 0.5128, 0.6304, 0.8134, 1.064, 1.382, 1.761, 2.251, 2.918, 3.779",\
                 "0.6158, 0.665, 0.8028, 1.014, 1.289, 1.634, 2.054, 2.536, 3.116, 3.87",\
                 "0.7782, 0.8338, 0.9998, 1.244, 1.548, 1.92, 2.372, 2.899, 3.497, 4.175",\
                 "0.9616, 1.026, 1.218, 1.502, 1.845, 2.249, 2.725, 3.289, 3.933, 4.649",\
                 "1.164, 1.24, 1.459, 1.783, 2.169, 2.617, 3.124, 3.715, 4.399, 5.162");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.2531, 0.3094, 0.506, 0.8813, 1.465, 2.284, 3.361, 4.721, 6.378, 8.345",\
                 "0.2531, 0.309, 0.5053, 0.881, 1.463, 2.285, 3.359, 4.722, 6.379, 8.347",\
                 "0.2642, 0.3148, 0.5053, 0.8798, 1.464, 2.284, 3.362, 4.712, 6.372, 8.343",\
                 "0.3181, 0.369, 0.5435, 0.8876, 1.465, 2.281, 3.362, 4.721, 6.376, 8.342",\
                 "0.3974, 0.4454, 0.622, 0.9584, 1.492, 2.282, 3.363, 4.716, 6.379, 8.362",\
                 "0.5098, 0.5602, 0.7286, 1.063, 1.588, 2.337, 3.37, 4.718, 6.372, 8.358",\
                 "0.6392, 0.6962, 0.878, 1.201, 1.726, 2.462, 3.445, 4.735, 6.375, 8.34",\
                 "0.7832, 0.848, 1.049, 1.391, 1.898, 2.636, 3.604, 4.84, 6.411, 8.362",\
                 "0.9396, 1.013, 1.24, 1.609, 2.121, 2.842, 3.817, 5.036, 6.549, 8.423",\
                 "1.108, 1.189, 1.443, 1.85, 2.397, 3.101, 4.06, 5.294, 6.779, 8.578");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1551, 0.1709, 0.2251, 0.3256, 0.4803, 0.6958, 0.9788, 1.335, 1.77, 2.287",\
                 "0.1678, 0.1838, 0.2383, 0.3393, 0.4941, 0.7097, 0.9931, 1.349, 1.784, 2.301",\
                 "0.1988, 0.2157, 0.2711, 0.3723, 0.5274, 0.7436, 1.027, 1.383, 1.818, 2.336",\
                 "0.2213, 0.2416, 0.3082, 0.4213, 0.5816, 0.7974, 1.081, 1.437, 1.871, 2.389",\
                 "0.224, 0.2498, 0.332, 0.4649, 0.6467, 0.8792, 1.166, 1.521, 1.954, 2.471",\
                 "0.2002, 0.2323, 0.3324, 0.4924, 0.702, 0.9607, 1.273, 1.642, 2.076, 2.592",\
                 "0.1484, 0.1863, 0.3046, 0.4943, 0.7383, 1.03, 1.373, 1.772, 2.23, 2.754",\
                 "0.068, 0.1113, 0.247, 0.4652, 0.7468, 1.08, 1.46, 1.891, 2.383, 2.938",\
                 "-0.0439, 0.0049, 0.1578, 0.4047, 0.7233, 1.1, 1.525, 1.998, 2.525, 3.114",\
                 "-0.1914, -0.137, 0.035, 0.31, 0.6656, 1.086, 1.559, 2.081, 2.652, 3.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1696, 0.1892, 0.2564, 0.3814, 0.5737, 0.8418, 1.193, 1.636, 2.175, 2.818",\
                 "0.1849, 0.2045, 0.2721, 0.3975, 0.5898, 0.858, 1.21, 1.652, 2.192, 2.835",\
                 "0.2513, 0.2705, 0.3371, 0.4617, 0.6536, 0.9217, 1.273, 1.716, 2.255, 2.898",\
                 "0.3702, 0.3938, 0.469, 0.5955, 0.7847, 1.05, 1.4, 1.842, 2.381, 3.023",\
                 "0.5145, 0.5428, 0.6342, 0.7888, 0.9964, 1.26, 1.606, 2.045, 2.58, 3.221",\
                 "0.6891, 0.7226, 0.8296, 1.008, 1.253, 1.553, 1.905, 2.339, 2.871, 3.508",\
                 "0.8946, 0.9333, 1.058, 1.262, 1.538, 1.882, 2.283, 2.733, 3.261, 3.893",\
                 "1.132, 1.177, 1.32, 1.552, 1.861, 2.241, 2.691, 3.2, 3.758, 4.389",\
                 "1.404, 1.455, 1.616, 1.879, 2.224, 2.642, 3.133, 3.695, 4.319, 4.993",\
                 "1.71, 1.767, 1.949, 2.243, 2.626, 3.086, 3.617, 4.226, 4.908, 5.651");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1476, 0.1742, 0.2641, 0.4327, 0.6954, 1.063, 1.546, 2.153, 2.894, 3.776",\
                 "0.1475, 0.1738, 0.2635, 0.4333, 0.6954, 1.063, 1.546, 2.153, 2.894, 3.777",\
                 "0.1622, 0.1847, 0.2671, 0.4332, 0.6945, 1.062, 1.545, 2.153, 2.895, 3.777",\
                 "0.2207, 0.2438, 0.3244, 0.4739, 0.7096, 1.063, 1.546, 2.152, 2.894, 3.779",\
                 "0.3133, 0.3384, 0.4194, 0.5692, 0.8016, 1.122, 1.566, 2.155, 2.894, 3.777",\
                 "0.4338, 0.4614, 0.552, 0.7064, 0.936, 1.26, 1.682, 2.222, 2.917, 3.78",\
                 "0.572, 0.6052, 0.7096, 0.881, 1.117, 1.438, 1.862, 2.395, 3.042, 3.85",\
                 "0.7256, 0.7626, 0.8836, 1.082, 1.34, 1.667, 2.089, 2.623, 3.272, 4.04",\
                 "0.8934, 0.9362, 1.074, 1.298, 1.588, 1.941, 2.371, 2.899, 3.55, 4.323",\
                 "1.075, 1.124, 1.279, 1.531, 1.859, 2.245, 2.697, 3.236, 3.878, 4.658");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.2833, 0.3172, 0.4355, 0.6569, 0.9967, 1.468, 2.088, 2.866, 3.818, 4.947",\
                 "0.2834, 0.3172, 0.4356, 0.6568, 0.9966, 1.468, 2.087, 2.865, 3.815, 4.948",\
                 "0.2883, 0.3198, 0.4354, 0.6569, 0.9967, 1.469, 2.087, 2.866, 3.816, 4.949",\
                 "0.3759, 0.4043, 0.4946, 0.6772, 0.9974, 1.469, 2.088, 2.867, 3.816, 4.949",\
                 "0.4894, 0.5222, 0.6302, 0.8126, 1.075, 1.486, 2.089, 2.867, 3.817, 4.949",\
                 "0.621, 0.6582, 0.777, 0.9878, 1.277, 1.639, 2.151, 2.876, 3.818, 4.95",\
                 "0.7732, 0.8146, 0.947, 1.173, 1.497, 1.904, 2.381, 3.008, 3.855, 4.955",\
                 "0.9416, 0.9904, 1.138, 1.386, 1.731, 2.18, 2.714, 3.315, 4.065, 5.045",\
                 "1.125, 1.178, 1.347, 1.621, 1.992, 2.468, 3.055, 3.721, 4.456, 5.339",\
                 "1.32, 1.383, 1.572, 1.881, 2.285, 2.784, 3.401, 4.131, 4.94, 5.812");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1259, 0.1408, 0.1926, 0.2909, 0.4439, 0.6582, 0.9402, 1.296, 1.73, 2.246",\
                 "0.138, 0.1532, 0.2057, 0.3046, 0.4578, 0.672, 0.9543, 1.309, 1.744, 2.261",\
                 "0.1635, 0.181, 0.2374, 0.3373, 0.491, 0.7058, 0.9886, 1.344, 1.777, 2.295",\
                 "0.1733, 0.1961, 0.2666, 0.3827, 0.5447, 0.7598, 1.042, 1.397, 1.831, 2.348",\
                 "0.1594, 0.1891, 0.2791, 0.4193, 0.6051, 0.8399, 1.127, 1.482, 1.914, 2.432",\
                 "0.118, 0.1554, 0.2667, 0.4374, 0.6547, 0.9172, 1.232, 1.603, 2.036, 2.551",\
                 "0.051, 0.0946, 0.2256, 0.4283, 0.683, 0.9823, 1.328, 1.729, 2.19, 2.713",\
                 "-0.0444, 0.005, 0.1563, 0.3895, 0.6837, 1.025, 1.411, 1.847, 2.34, 2.896",\
                 "-0.1729, -0.1162, 0.0545, 0.3183, 0.651, 1.038, 1.47, 1.949, 2.479, 3.071",\
                 "-0.3362, -0.2729, -0.0804, 0.2134, 0.5843, 1.017, 1.499, 2.027, 2.602, 3.233");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1651, 0.1849, 0.2523, 0.3776, 0.5695, 0.8372, 1.189, 1.631, 2.17, 2.812",\
                 "0.1804, 0.2002, 0.268, 0.3935, 0.5859, 0.8536, 1.205, 1.647, 2.187, 2.829",\
                 "0.2468, 0.2662, 0.333, 0.4579, 0.6497, 0.9172, 1.269, 1.711, 2.249, 2.892",\
                 "0.3641, 0.388, 0.4645, 0.5914, 0.7805, 1.046, 1.396, 1.836, 2.376, 3.016",\
                 "0.5065, 0.5355, 0.6278, 0.7832, 0.9915, 1.255, 1.601, 2.038, 2.575, 3.215",\
                 "0.6792, 0.713, 0.8213, 1.001, 1.247, 1.548, 1.899, 2.332, 2.863, 3.501",\
                 "0.8817, 0.9213, 1.047, 1.254, 1.53, 1.875, 2.276, 2.727, 3.254, 3.885",\
                 "1.116, 1.162, 1.307, 1.542, 1.852, 2.233, 2.683, 3.193, 3.751, 4.38",\
                 "1.383, 1.436, 1.6, 1.867, 2.213, 2.631, 3.123, 3.686, 4.309, 4.984",\
                 "1.686, 1.745, 1.929, 2.227, 2.613, 3.074, 3.606, 4.215, 4.897, 5.642");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1121, 0.137, 0.2247, 0.3922, 0.6546, 1.02, 1.502, 2.11, 2.851, 3.73",\
                 "0.1123, 0.1371, 0.2247, 0.3928, 0.6542, 1.021, 1.502, 2.108, 2.855, 3.736",\
                 "0.1363, 0.1579, 0.2341, 0.3937, 0.6542, 1.019, 1.503, 2.11, 2.849, 3.734",\
                 "0.1984, 0.2202, 0.297, 0.4437, 0.6737, 1.022, 1.502, 2.109, 2.85, 3.736",\
                 "0.2966, 0.3206, 0.3981, 0.5434, 0.771, 1.089, 1.527, 2.114, 2.848, 3.734",\
                 "0.4194, 0.4464, 0.5346, 0.6854, 0.9098, 1.228, 1.65, 2.184, 2.874, 3.736",\
                 "0.5596, 0.59, 0.6908, 0.861, 1.096, 1.412, 1.83, 2.361, 3.005, 3.809",\
                 "0.7128, 0.7466, 0.8656, 1.06, 1.318, 1.646, 2.061, 2.59, 3.239, 4.004",\
                 "0.8786, 0.9182, 1.055, 1.275, 1.566, 1.921, 2.346, 2.869, 3.52, 4.287",\
                 "1.057, 1.104, 1.258, 1.507, 1.837, 2.221, 2.674, 3.206, 3.849, 4.626");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.2303, 0.2639, 0.3796, 0.5975, 0.9338, 1.405, 2.024, 2.803, 3.752, 4.885",\
                 "0.2297, 0.2633, 0.3792, 0.5974, 0.9341, 1.404, 2.024, 2.802, 3.753, 4.887",\
                 "0.2346, 0.2657, 0.3793, 0.5978, 0.9338, 1.404, 2.023, 2.803, 3.754, 4.881",\
                 "0.313, 0.3429, 0.4369, 0.6166, 0.9354, 1.405, 2.023, 2.803, 3.754, 4.884",\
                 "0.4062, 0.4422, 0.5578, 0.7484, 1.011, 1.422, 2.024, 2.802, 3.753, 4.885",\
                 "0.5152, 0.557, 0.6886, 0.9068, 1.208, 1.573, 2.087, 2.81, 3.752, 4.886",\
                 "0.6418, 0.6914, 0.8386, 1.081, 1.418, 1.833, 2.315, 2.942, 3.789, 4.888",\
                 "0.7832, 0.8384, 1.01, 1.278, 1.637, 2.099, 2.642, 3.251, 4.001, 4.98",\
                 "0.933, 0.9968, 1.195, 1.498, 1.889, 2.378, 2.972, 3.649, 4.389, 5.273",\
                 "1.094, 1.169, 1.397, 1.736, 2.166, 2.683, 3.312, 4.054, 4.865, 5.745");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1066, 0.118, 0.1573, 0.2315, 0.3469, 0.5084, 0.7208, 0.9883, 1.315, 1.704",\
                 "0.1197, 0.1312, 0.1711, 0.2458, 0.3612, 0.5227, 0.7356, 1.003, 1.33, 1.72",\
                 "0.1505, 0.1659, 0.2131, 0.2906, 0.4064, 0.5687, 0.7812, 1.049, 1.376, 1.765",\
                 "0.1629, 0.1844, 0.2506, 0.3545, 0.4887, 0.6543, 0.8672, 1.135, 1.461, 1.851",\
                 "0.1505, 0.179, 0.2654, 0.3988, 0.5688, 0.7701, 1.001, 1.27, 1.597, 1.986",\
                 "0.1117, 0.1467, 0.2539, 0.4186, 0.626, 0.8682, 1.143, 1.449, 1.787, 2.177",\
                 "0.0467, 0.0876, 0.2138, 0.4095, 0.6559, 0.9415, 1.262, 1.616, 2.003, 2.423",\
                 "-0.0474, -0.0007, 0.1435, 0.3695, 0.6553, 0.9859, 1.354, 1.758, 2.196, 2.67",\
                 "-0.1747, -0.1216, 0.0419, 0.2966, 0.6215, 0.9968, 1.415, 1.871, 2.363, 2.891",\
                 "-0.337, -0.2783, -0.096, 0.1895, 0.5509, 0.9731, 1.441, 1.951, 2.498, 3.083");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1884, 0.2077, 0.2738, 0.3979, 0.5889, 0.8562, 1.207, 1.65, 2.188, 2.833",\
                 "0.204, 0.2233, 0.2898, 0.4142, 0.606, 0.8736, 1.224, 1.667, 2.205, 2.849",\
                 "0.2703, 0.2892, 0.3548, 0.4787, 0.67, 0.9373, 1.288, 1.731, 2.269, 2.912",\
                 "0.3932, 0.4155, 0.4885, 0.6127, 0.801, 1.066, 1.415, 1.857, 2.394, 3.038",\
                 "0.5423, 0.5697, 0.658, 0.8098, 1.014, 1.276, 1.622, 2.06, 2.596, 3.236",\
                 "0.7233, 0.7547, 0.8581, 1.034, 1.276, 1.573, 1.922, 2.354, 2.886, 3.523",\
                 "0.9354, 0.973, 1.093, 1.293, 1.565, 1.906, 2.304, 2.752, 3.278, 3.91",\
                 "1.181, 1.224, 1.362, 1.589, 1.894, 2.272, 2.718, 3.224, 3.778, 4.408",\
                 "1.46, 1.509, 1.666, 1.924, 2.264, 2.678, 3.166, 3.725, 4.346, 5.016",\
                 "1.774, 1.829, 2.006, 2.295, 2.672, 3.129, 3.658, 4.263, 4.941, 5.682");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.09974, 0.1186, 0.185, 0.3117, 0.5091, 0.7855, 1.149, 1.607, 2.163, 2.829",\
                 "0.1002, 0.1188, 0.185, 0.3121, 0.509, 0.7855, 1.148, 1.606, 2.163, 2.827",\
                 "0.1423, 0.1567, 0.2066, 0.3163, 0.5089, 0.7861, 1.148, 1.606, 2.163, 2.827",\
                 "0.227, 0.2439, 0.3013, 0.4047, 0.556, 0.7967, 1.148, 1.604, 2.165, 2.829",\
                 "0.3409, 0.3594, 0.4223, 0.537, 0.7048, 0.9238, 1.213, 1.623, 2.165, 2.829",\
                 "0.477, 0.4982, 0.57, 0.7, 0.8832, 1.122, 1.417, 1.773, 2.241, 2.852",\
                 "0.6298, 0.6538, 0.7388, 0.886, 1.091, 1.35, 1.671, 2.049, 2.484, 3.014",\
                 "0.7956, 0.8226, 0.9224, 1.094, 1.326, 1.613, 1.952, 2.36, 2.825, 3.355",\
                 "0.975, 1.008, 1.121, 1.319, 1.584, 1.901, 2.27, 2.701, 3.197, 3.759",\
                 "1.167, 1.206, 1.337, 1.559, 1.865, 2.216, 2.624, 3.084, 3.605, 4.197");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.2566, 0.2895, 0.4049, 0.6227, 0.9587, 1.43, 2.051, 2.828, 3.779, 4.911",\
                 "0.2554, 0.2894, 0.4048, 0.6217, 0.9593, 1.431, 2.047, 2.827, 3.776, 4.913",\
                 "0.2586, 0.2905, 0.4051, 0.6223, 0.9598, 1.431, 2.049, 2.828, 3.775, 4.911",\
                 "0.3329, 0.3628, 0.4549, 0.6383, 0.9599, 1.43, 2.049, 2.828, 3.779, 4.912",\
                 "0.427, 0.4618, 0.5766, 0.7646, 1.029, 1.444, 2.049, 2.828, 3.778, 4.909",\
                 "0.5366, 0.5762, 0.7052, 0.924, 1.223, 1.589, 2.107, 2.835, 3.778, 4.911",\
                 "0.6642, 0.71, 0.8536, 1.093, 1.429, 1.845, 2.327, 2.959, 3.812, 4.915",\
                 "0.8054, 0.8592, 1.024, 1.287, 1.647, 2.109, 2.651, 3.26, 4.014, 4.999",\
                 "0.9606, 1.022, 1.208, 1.505, 1.891, 2.382, 2.982, 3.655, 4.394, 5.284",\
                 "1.129, 1.196, 1.411, 1.74, 2.162, 2.679, 3.312, 4.057, 4.869, 5.747");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1551, 0.1709, 0.2251, 0.3256, 0.4803, 0.6958, 0.9788, 1.335, 1.77, 2.287",\
                 "0.1678, 0.1838, 0.2383, 0.3393, 0.4941, 0.7097, 0.9931, 1.349, 1.784, 2.301",\
                 "0.1988, 0.2157, 0.2711, 0.3723, 0.5274, 0.7436, 1.027, 1.383, 1.818, 2.336",\
                 "0.2213, 0.2416, 0.3082, 0.4213, 0.5816, 0.7974, 1.081, 1.437, 1.871, 2.389",\
                 "0.224, 0.2498, 0.332, 0.4649, 0.6467, 0.8792, 1.166, 1.521, 1.954, 2.471",\
                 "0.2002, 0.2323, 0.3324, 0.4924, 0.702, 0.9607, 1.273, 1.642, 2.076, 2.592",\
                 "0.1484, 0.1863, 0.3046, 0.4943, 0.7383, 1.03, 1.373, 1.772, 2.23, 2.754",\
                 "0.068, 0.1113, 0.247, 0.4652, 0.7468, 1.08, 1.46, 1.891, 2.383, 2.938",\
                 "-0.0439, 0.0049, 0.1578, 0.4047, 0.7233, 1.1, 1.525, 1.998, 2.525, 3.114",\
                 "-0.1914, -0.137, 0.035, 0.31, 0.6656, 1.086, 1.559, 2.081, 2.652, 3.279");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1884, 0.2077, 0.2738, 0.3979, 0.5889, 0.8562, 1.207, 1.65, 2.188, 2.833",\
                 "0.204, 0.2233, 0.2898, 0.4142, 0.606, 0.8736, 1.224, 1.667, 2.205, 2.849",\
                 "0.2703, 0.2892, 0.3548, 0.4787, 0.67, 0.9373, 1.288, 1.731, 2.269, 2.912",\
                 "0.3932, 0.4155, 0.4885, 0.6127, 0.801, 1.066, 1.415, 1.857, 2.394, 3.038",\
                 "0.5423, 0.5697, 0.658, 0.8098, 1.014, 1.276, 1.622, 2.06, 2.596, 3.236",\
                 "0.7233, 0.7547, 0.8581, 1.034, 1.276, 1.573, 1.922, 2.354, 2.886, 3.523",\
                 "0.9354, 0.973, 1.093, 1.293, 1.565, 1.906, 2.304, 2.752, 3.278, 3.91",\
                 "1.181, 1.224, 1.362, 1.589, 1.894, 2.272, 2.718, 3.224, 3.778, 4.408",\
                 "1.46, 1.509, 1.666, 1.924, 2.264, 2.678, 3.166, 3.725, 4.346, 5.016",\
                 "1.774, 1.829, 2.006, 2.295, 2.672, 3.129, 3.658, 4.263, 4.941, 5.682");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.1476, 0.1742, 0.2641, 0.4327, 0.6954, 1.063, 1.546, 2.153, 2.894, 3.776",\
                 "0.1475, 0.1738, 0.2635, 0.4333, 0.6954, 1.063, 1.546, 2.153, 2.894, 3.777",\
                 "0.1622, 0.1847, 0.2671, 0.4332, 0.6945, 1.062, 1.545, 2.153, 2.895, 3.777",\
                 "0.2207, 0.2438, 0.3244, 0.4739, 0.7096, 1.063, 1.546, 2.152, 2.894, 3.779",\
                 "0.3133, 0.3384, 0.4194, 0.5692, 0.8016, 1.122, 1.566, 2.155, 2.894, 3.777",\
                 "0.4338, 0.4614, 0.552, 0.7064, 0.936, 1.26, 1.682, 2.222, 2.917, 3.78",\
                 "0.572, 0.6052, 0.7096, 0.881, 1.117, 1.438, 1.862, 2.395, 3.042, 3.85",\
                 "0.7256, 0.7626, 0.8836, 1.082, 1.34, 1.667, 2.089, 2.623, 3.272, 4.04",\
                 "0.8934, 0.9362, 1.074, 1.298, 1.588, 1.941, 2.371, 2.899, 3.55, 4.323",\
                 "1.075, 1.124, 1.279, 1.531, 1.859, 2.245, 2.697, 3.236, 3.878, 4.658");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006633, 0.015, 0.02805, 0.04635, 0.07043, 0.1008, 0.1378, 0.1819");
          values("0.2833, 0.3172, 0.4355, 0.6569, 0.9967, 1.468, 2.088, 2.866, 3.818, 4.947",\
                 "0.2834, 0.3172, 0.4356, 0.6568, 0.9966, 1.468, 2.087, 2.865, 3.815, 4.948",\
                 "0.2883, 0.3198, 0.4354, 0.6569, 0.9967, 1.469, 2.087, 2.866, 3.816, 4.949",\
                 "0.3759, 0.4043, 0.4946, 0.6772, 0.9974, 1.469, 2.088, 2.867, 3.816, 4.949",\
                 "0.4894, 0.5222, 0.6302, 0.8126, 1.075, 1.486, 2.089, 2.867, 3.817, 4.949",\
                 "0.621, 0.6582, 0.777, 0.9878, 1.277, 1.639, 2.151, 2.876, 3.818, 4.95",\
                 "0.7732, 0.8146, 0.947, 1.173, 1.497, 1.904, 2.381, 3.008, 3.855, 4.955",\
                 "0.9416, 0.9904, 1.138, 1.386, 1.731, 2.18, 2.714, 3.315, 4.065, 5.045",\
                 "1.125, 1.178, 1.347, 1.621, 1.992, 2.468, 3.055, 3.721, 4.456, 5.339",\
                 "1.32, 1.383, 1.572, 1.881, 2.285, 2.784, 3.401, 4.131, 4.94, 5.812");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai21_2) {
    area : 32.928000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B" ;
      value : "6.57195e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B" ;
      value : "0.0001142988" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B" ;
      value : "9.64821e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B" ;
      value : "0.0001142988" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B" ;
      value : "6.77127e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B" ;
      value : "0.0001146783" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B" ;
      value : "6.77127e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001146783" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008871 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03349, 0.03347, 0.03343, 0.03332, 0.03327, 0.03327, 0.03327, \
                 0.03328, 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01151, 0.0115, 0.01152, 0.01146, 0.01137, 0.01124, 0.01122, \
                 0.01113, 0.01104, 0.0109");
        }
      }

      internal_power() {
        when : "A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03359, 0.03362, 0.0337, 0.03361, 0.03352, 0.03347, 0.03342, \
                 0.03337, 0.03332, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03221, -0.03224, -0.03237, -0.0326, -0.03269, -0.03281, -0.03287, \
                 -0.03287, -0.03289, -0.03291");
        }
      }

      internal_power() {
        when : "A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02556, 0.02553, 0.0255, 0.02549, 0.02545, 0.02549, 0.02546, \
                 0.02544, 0.0254, 0.02533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009605, -0.009616, -0.009627, -0.009655, -0.009649, -0.009676, \
                 -0.009675, -0.009669, -0.009672, -0.009674");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009286 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03333, 0.03333, 0.03341, 0.03332, 0.03324, 0.03328, 0.03329, \
                 0.03324, 0.03327, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01174, 0.01167, 0.0116, 0.01149, 0.01144, 0.01133, 0.01124, \
                 0.01114, 0.01106, 0.01091");
        }
      }

      internal_power() {
        when : "A1&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03354, 0.03358, 0.0335, 0.03351, 0.03344, 0.03344, 0.03341, \
                 0.03339, 0.03333, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03177, -0.03185, -0.03226, -0.03256, -0.03263, -0.03275, -0.0328, \
                 -0.03284, -0.03285, -0.03289");
        }
      }

      internal_power() {
        when : "A1&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02922, 0.02917, 0.0291, 0.02921, 0.02915, 0.02925, 0.02924, \
                 0.02921, 0.02919, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02462, -0.02657, -0.02806, -0.02839, -0.02851, -0.02867, -0.02874, \
                 -0.02877, -0.02881, -0.02881");
        }
      }
    }

    pin(B) {
      capacitance : 0.008271 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0279, 0.02571, 0.02557, 0.02549, 0.02542, 0.02544, 0.02543, \
                 0.02543, 0.02545, 0.02545");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02558, -0.02557, -0.02551, -0.02543, -0.02538, -0.02541, -0.02537, \
                 -0.02537, -0.02535, -0.02534");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|(!B))" ;
      max_capacitance : 0.3238 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.004897, 0.00509, 0.005397, 0.00563, 0.005749, 0.005825, 0.005868, 0.005884, 0.005907, 0.005931",\
                 "0.004835, 0.005179, 0.005896, 0.006437, 0.006795, 0.007, 0.007135, 0.007207, 0.007261, 0.007296",\
                 "0.006861, 0.007022, 0.007367, 0.007746, 0.008015, 0.008159, 0.008262, 0.008327, 0.008386, 0.008413",\
                 "0.01599, 0.01545, 0.0142, 0.01299, 0.01205, 0.01126, 0.01071, 0.0103, 0.00998, 0.009734",\
                 "0.03552, 0.03408, 0.03037, 0.02628, 0.02269, 0.01987, 0.01764, 0.01594, 0.01455, 0.01352",\
                 "0.06686, 0.06455, 0.05813, 0.05022, 0.04299, 0.03688, 0.03182, 0.02782, 0.02457, 0.02192",\
                 "0.1107, 0.1076, 0.09867, 0.08676, 0.0748, 0.06428, 0.05558, 0.04821, 0.04213, 0.03708",\
                 "0.1677, 0.164, 0.1528, 0.137, 0.12, 0.1043, 0.09087, 0.07923, 0.06942, 0.06113",\
                 "0.2387, 0.2343, 0.2211, 0.2015, 0.1798, 0.1586, 0.1393, 0.1228, 0.1083, 0.09576",\
                 "0.3241, 0.3192, 0.3043, 0.2814, 0.2549, 0.228, 0.2026, 0.1799, 0.1602, 0.1427");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1158, 0.1163, 0.1173, 0.1182, 0.119, 0.1196, 0.1201, 0.1211, 0.1217, 0.1259",\
                 "0.1132, 0.1139, 0.1157, 0.1174, 0.1189, 0.1201, 0.121, 0.1217, 0.1228, 0.1259",\
                 "0.1145, 0.1145, 0.115, 0.116, 0.1176, 0.119, 0.1201, 0.1213, 0.1229, 0.126",\
                 "0.1269, 0.126, 0.124, 0.122, 0.1211, 0.1213, 0.1217, 0.1222, 0.1233, 0.1277",\
                 "0.1508, 0.1491, 0.1448, 0.1395, 0.1348, 0.1314, 0.1293, 0.1284, 0.1276, 0.1311",\
                 "0.1874, 0.1849, 0.1781, 0.1697, 0.161, 0.153, 0.1468, 0.1424, 0.14, 0.1426",\
                 "0.2377, 0.2344, 0.2253, 0.213, 0.2005, 0.1886, 0.1773, 0.1685, 0.1619, 0.1628",\
                 "0.3029, 0.2988, 0.2873, 0.2713, 0.2543, 0.2383, 0.2228, 0.2081, 0.197, 0.197",\
                 "0.3836, 0.379, 0.365, 0.3456, 0.3238, 0.3026, 0.2825, 0.2637, 0.2474, 0.2494",\
                 "0.4808, 0.4757, 0.4597, 0.4366, 0.4104, 0.3842, 0.3586, 0.3347, 0.317, 0.3282");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.02726, 0.02728, 0.02732, 0.02736, 0.0274, 0.02741, 0.02741, 0.02742, 0.02743, 0.02745",\
                 "0.02557, 0.0256, 0.02567, 0.02575, 0.02582, 0.02585, 0.02587, 0.02588, 0.02589, 0.0259",\
                 "0.02592, 0.02587, 0.02563, 0.02533, 0.02516, 0.02506, 0.02498, 0.02493, 0.02489, 0.02487",\
                 "0.0349, 0.03419, 0.03245, 0.03055, 0.029, 0.02782, 0.02693, 0.02638, 0.02592, 0.0256",\
                 "0.05623, 0.05467, 0.05044, 0.04532, 0.04076, 0.03717, 0.03433, 0.03213, 0.03059, 0.02935",\
                 "0.0916, 0.08911, 0.08206, 0.07276, 0.0639, 0.05626, 0.05006, 0.0452, 0.04129, 0.03827",\
                 "0.1419, 0.1386, 0.1288, 0.115, 0.1008, 0.08792, 0.07695, 0.068, 0.06077, 0.05484",\
                 "0.208, 0.2039, 0.1916, 0.1735, 0.1536, 0.1346, 0.1177, 0.1034, 0.09133, 0.08149",\
                 "0.2904, 0.2858, 0.2712, 0.2491, 0.2235, 0.1979, 0.1745, 0.1537, 0.1358, 0.1207",\
                 "0.3899, 0.3848, 0.3683, 0.3425, 0.3115, 0.2794, 0.2486, 0.2208, 0.196, 0.1745");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1371, 0.1376, 0.1385, 0.1392, 0.1398, 0.1404, 0.141, 0.1418, 0.1426, 0.1454",\
                 "0.134, 0.1349, 0.1366, 0.1384, 0.1399, 0.1408, 0.1419, 0.1432, 0.1435, 0.1473",\
                 "0.1316, 0.132, 0.1333, 0.1352, 0.1374, 0.1393, 0.1407, 0.1417, 0.1431, 0.1468",\
                 "0.1405, 0.14, 0.139, 0.1383, 0.1386, 0.1396, 0.1405, 0.1421, 0.143, 0.1468",\
                 "0.1651, 0.1635, 0.1594, 0.1549, 0.1513, 0.1488, 0.1475, 0.147, 0.1475, 0.1507",\
                 "0.2066, 0.2039, 0.1965, 0.1874, 0.179, 0.1718, 0.166, 0.162, 0.1591, 0.1621",\
                 "0.2649, 0.2613, 0.251, 0.2372, 0.2233, 0.211, 0.1999, 0.1905, 0.1835, 0.1843",\
                 "0.3406, 0.3364, 0.3233, 0.3051, 0.2853, 0.267, 0.2506, 0.2356, 0.223, 0.2217",\
                 "0.4341, 0.4293, 0.4142, 0.3916, 0.3665, 0.3417, 0.3191, 0.2984, 0.2811, 0.2788",\
                 "0.5467, 0.5413, 0.5245, 0.4985, 0.4679, 0.4365, 0.4069, 0.3801, 0.3587, 0.3616");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.02979, 0.02982, 0.02994, 0.0301, 0.03023, 0.03031, 0.03035, 0.03037, 0.03037, 0.03037",\
                 "0.02865, 0.02887, 0.02924, 0.02963, 0.02989, 0.03011, 0.03017, 0.03026, 0.0303, 0.0303",\
                 "0.02756, 0.02774, 0.02824, 0.02878, 0.02926, 0.02957, 0.02984, 0.02996, 0.03007, 0.03015",\
                 "0.03309, 0.03291, 0.03236, 0.03197, 0.03163, 0.03133, 0.03115, 0.03099, 0.03087, 0.03078",\
                 "0.05079, 0.04986, 0.04738, 0.04442, 0.04179, 0.03947, 0.0378, 0.03637, 0.03522, 0.03434",\
                 "0.08324, 0.08148, 0.07646, 0.06986, 0.06338, 0.05778, 0.05306, 0.0492, 0.04606, 0.04348",\
                 "0.1317, 0.1291, 0.1215, 0.1106, 0.09926, 0.08897, 0.08006, 0.07251, 0.06618, 0.06091",\
                 "0.1969, 0.1936, 0.1835, 0.1684, 0.1515, 0.1354, 0.1212, 0.1087, 0.09814, 0.08905",\
                 "0.2794, 0.2754, 0.263, 0.2439, 0.2215, 0.1992, 0.1785, 0.1603, 0.1442, 0.1303",\
                 "0.3797, 0.3751, 0.3607, 0.3379, 0.3104, 0.2816, 0.2539, 0.2288, 0.2065, 0.1867");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1982, 0.1983, 0.1984, 0.1986, 0.1989, 0.1993, 0.1999, 0.2007, 0.2021, 0.2029",\
                 "0.1958, 0.1959, 0.1963, 0.1968, 0.1973, 0.1978, 0.1984, 0.1994, 0.2007, 0.2016",\
                 "0.1973, 0.1972, 0.1969, 0.1969, 0.197, 0.1974, 0.1982, 0.199, 0.1999, 0.2009",\
                 "0.2108, 0.2099, 0.2077, 0.2052, 0.2031, 0.2019, 0.2015, 0.2014, 0.202, 0.2026",\
                 "0.2383, 0.2368, 0.2324, 0.2265, 0.2203, 0.2158, 0.212, 0.2102, 0.2087, 0.2085",\
                 "0.2814, 0.2793, 0.2724, 0.2627, 0.2527, 0.2432, 0.2354, 0.2291, 0.225, 0.221",\
                 "0.3412, 0.3384, 0.3297, 0.3164, 0.3013, 0.2868, 0.2734, 0.262, 0.2526, 0.2453",\
                 "0.4184, 0.4152, 0.4049, 0.3883, 0.3684, 0.348, 0.3291, 0.3117, 0.2968, 0.2842",\
                 "0.5144, 0.5106, 0.4988, 0.4798, 0.4553, 0.429, 0.4034, 0.3805, 0.3584, 0.34",\
                 "0.6295, 0.6255, 0.6124, 0.5908, 0.5627, 0.5308, 0.4987, 0.4686, 0.4404, 0.4158");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.006153, 0.006294, 0.006543, 0.006703, 0.006792, 0.006832, 0.00688, 0.006903, 0.006914, 0.006923",\
                 "0.004511, 0.004868, 0.005595, 0.006123, 0.006439, 0.006621, 0.006723, 0.006789, 0.006832, 0.006863",\
                 "0.003242, 0.003503, 0.004274, 0.005087, 0.005681, 0.00607, 0.006344, 0.006494, 0.006602, 0.006669",\
                 "0.01008, 0.0098, 0.009102, 0.008573, 0.008213, 0.007938, 0.007725, 0.00756, 0.00743, 0.007339",\
                 "0.03021, 0.02894, 0.02566, 0.02199, 0.01892, 0.01649, 0.01456, 0.01307, 0.01191, 0.01098",\
                 "0.06553, 0.06324, 0.0569, 0.04887, 0.04149, 0.03534, 0.03027, 0.02623, 0.02295, 0.02029",\
                 "0.1169, 0.1136, 0.1042, 0.09152, 0.0787, 0.06743, 0.05783, 0.04993, 0.04334, 0.03792",\
                 "0.1846, 0.1807, 0.1685, 0.1512, 0.1325, 0.115, 0.09979, 0.08682, 0.07576, 0.06641",\
                 "0.2692, 0.2644, 0.25, 0.2285, 0.2041, 0.18, 0.158, 0.1389, 0.1224, 0.1081",\
                 "0.3711, 0.3658, 0.3495, 0.3242, 0.2944, 0.2636, 0.2345, 0.2083, 0.1853, 0.165");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1773, 0.1772, 0.1774, 0.1777, 0.1779, 0.1785, 0.1794, 0.1797, 0.1808, 0.1821",\
                 "0.1748, 0.1749, 0.1752, 0.1759, 0.1763, 0.1767, 0.1777, 0.1783, 0.1797, 0.1805",\
                 "0.1763, 0.1761, 0.176, 0.176, 0.1762, 0.1766, 0.1773, 0.1778, 0.1789, 0.1801",\
                 "0.1898, 0.1889, 0.1868, 0.1842, 0.1821, 0.1811, 0.1805, 0.1805, 0.181, 0.1818",\
                 "0.2174, 0.2159, 0.2113, 0.2055, 0.1995, 0.1949, 0.1914, 0.1891, 0.1876, 0.1867",\
                 "0.2607, 0.2585, 0.2518, 0.2419, 0.2317, 0.2222, 0.2142, 0.208, 0.2033, 0.2006",\
                 "0.3205, 0.3178, 0.3088, 0.2955, 0.2801, 0.2656, 0.2525, 0.2412, 0.2315, 0.2249",\
                 "0.398, 0.3948, 0.3843, 0.3675, 0.3474, 0.327, 0.3083, 0.2912, 0.2758, 0.2628",\
                 "0.4939, 0.4901, 0.4783, 0.459, 0.4342, 0.4081, 0.3824, 0.3591, 0.3373, 0.319",\
                 "0.6092, 0.6049, 0.5918, 0.5702, 0.5419, 0.5109, 0.4778, 0.4474, 0.4196, 0.3946");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.006177, 0.00631, 0.006552, 0.006698, 0.006791, 0.006841, 0.006867, 0.006902, 0.00691, 0.006936",\
                 "0.004565, 0.004894, 0.005615, 0.006126, 0.006438, 0.00661, 0.006721, 0.006789, 0.00682, 0.006852",\
                 "0.003433, 0.003729, 0.004434, 0.005236, 0.005771, 0.006141, 0.006358, 0.006528, 0.006616, 0.006688",\
                 "0.01088, 0.01056, 0.009812, 0.009143, 0.008686, 0.008302, 0.008016, 0.007795, 0.007626, 0.007494",\
                 "0.03155, 0.03028, 0.02696, 0.02324, 0.01994, 0.0173, 0.01523, 0.01364, 0.01239, 0.0114",\
                 "0.06743, 0.06515, 0.05882, 0.05069, 0.04316, 0.03672, 0.03151, 0.02729, 0.02385, 0.02109",\
                 "0.1194, 0.116, 0.1067, 0.09396, 0.08095, 0.06945, 0.05967, 0.0515, 0.04474, 0.03916",\
                 "0.1874, 0.1835, 0.1714, 0.1542, 0.1354, 0.1177, 0.1023, 0.08901, 0.07778, 0.06821",\
                 "0.2725, 0.2678, 0.2535, 0.232, 0.2077, 0.1834, 0.1614, 0.1419, 0.1251, 0.1105",\
                 "0.375, 0.3698, 0.3536, 0.3285, 0.2986, 0.2678, 0.2386, 0.2122, 0.1886, 0.1683");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.195, 0.1951, 0.1953, 0.1955, 0.1959, 0.1962, 0.1967, 0.1973, 0.1986, 0.1999",\
                 "0.1928, 0.1929, 0.1933, 0.1941, 0.1946, 0.1951, 0.196, 0.197, 0.198, 0.1993",\
                 "0.194, 0.194, 0.1939, 0.1941, 0.1944, 0.195, 0.1958, 0.1966, 0.1976, 0.1989",\
                 "0.2075, 0.2068, 0.2048, 0.2025, 0.2006, 0.1994, 0.1991, 0.1993, 0.1998, 0.2003",\
                 "0.2346, 0.2332, 0.2294, 0.2242, 0.2186, 0.2138, 0.2103, 0.2083, 0.2069, 0.2062",\
                 "0.2776, 0.2755, 0.2696, 0.2609, 0.2516, 0.2424, 0.2344, 0.2285, 0.2235, 0.2204",\
                 "0.3372, 0.3347, 0.3268, 0.3149, 0.3009, 0.287, 0.2742, 0.263, 0.2538, 0.246",\
                 "0.4145, 0.4117, 0.402, 0.387, 0.3687, 0.3496, 0.3321, 0.3148, 0.2994, 0.2866",\
                 "0.5105, 0.5072, 0.4964, 0.4785, 0.4558, 0.4312, 0.4077, 0.3856, 0.3637, 0.3451",\
                 "0.6261, 0.6224, 0.6104, 0.5903, 0.564, 0.5345, 0.5041, 0.4752, 0.4492, 0.4242");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.08119, 0.09448, 0.1409, 0.2289, 0.3655, 0.5572, 0.8095, 1.128, 1.516, 1.977",\
                 "0.09381, 0.1072, 0.1539, 0.2422, 0.3795, 0.571, 0.8238, 1.141, 1.529, 1.992",\
                 "0.1245, 0.1425, 0.1979, 0.2877, 0.4245, 0.6162, 0.8687, 1.186, 1.574, 2.037",\
                 "0.1339, 0.1593, 0.2364, 0.3569, 0.5118, 0.7038, 0.955, 1.273, 1.66, 2.122",\
                 "0.1135, 0.1472, 0.2479, 0.4025, 0.5984, 0.8303, 1.094, 1.409, 1.795, 2.256",\
                 "0.0596, 0.1013, 0.2254, 0.4174, 0.6565, 0.9359, 1.252, 1.601, 1.991, 2.449",\
                 "-0.0302, 0.0191, 0.1684, 0.3957, 0.6813, 1.01, 1.378, 1.786, 2.229, 2.707",\
                 "-0.1595, -0.1015, 0.0714, 0.336, 0.6681, 1.048, 1.472, 1.936, 2.442, 2.985",\
                 "-0.3301, -0.2646, -0.0671, 0.2343, 0.6117, 1.046, 1.526, 2.05, 2.616, 3.226",\
                 "-0.5459, -0.4715, -0.2502, 0.0892, 0.5109, 0.9994, 1.539, 2.125, 2.753, 3.427");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1837, 0.2169, 0.3313, 0.546, 0.8787, 1.343, 1.955, 2.727, 3.668, 4.794",\
                 "0.1921, 0.2256, 0.3417, 0.5586, 0.8931, 1.36, 1.972, 2.745, 3.686, 4.808",\
                 "0.249, 0.2807, 0.3932, 0.6087, 0.9432, 1.41, 2.024, 2.796, 3.74, 4.861",\
                 "0.3592, 0.3967, 0.5171, 0.7263, 1.055, 1.519, 2.13, 2.901, 3.842, 4.968",\
                 "0.507, 0.5504, 0.6895, 0.9241, 1.25, 1.705, 2.31, 3.077, 4.013, 5.133",\
                 "0.6953, 0.7457, 0.9033, 1.167, 1.529, 1.985, 2.58, 3.338, 4.27, 5.385",\
                 "0.9223, 0.9811, 1.164, 1.454, 1.854, 2.354, 2.953, 3.701, 4.622, 5.727",\
                 "1.19, 1.259, 1.467, 1.793, 2.225, 2.772, 3.421, 4.173, 5.083, 6.178",\
                 "1.5, 1.579, 1.816, 2.182, 2.652, 3.236, 3.938, 4.747, 5.663, 6.745",\
                 "1.855, 1.944, 2.211, 2.618, 3.136, 3.759, 4.506, 5.373, 6.35, 7.439");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1048, 0.1275, 0.2067, 0.357, 0.5906, 0.9182, 1.349, 1.894, 2.557, 3.344",\
                 "0.1039, 0.1269, 0.2065, 0.3578, 0.5918, 0.9182, 1.351, 1.894, 2.558, 3.348",\
                 "0.1428, 0.1634, 0.2284, 0.3591, 0.5905, 0.9182, 1.349, 1.893, 2.555, 3.344",\
                 "0.2125, 0.2375, 0.3163, 0.4492, 0.6331, 0.9239, 1.349, 1.892, 2.556, 3.345",\
                 "0.3057, 0.337, 0.4318, 0.5834, 0.7908, 1.05, 1.402, 1.898, 2.554, 3.343",\
                 "0.4168, 0.4558, 0.572, 0.7494, 0.9794, 1.271, 1.619, 2.038, 2.607, 3.351",\
                 "0.5452, 0.5932, 0.7322, 0.941, 1.203, 1.52, 1.904, 2.347, 2.853, 3.498",\
                 "0.6892, 0.7466, 0.9118, 1.156, 1.456, 1.805, 2.219, 2.701, 3.245, 3.85",\
                 "0.8456, 0.9146, 1.11, 1.393, 1.734, 2.129, 2.573, 3.087, 3.675, 4.326",\
                 "1.013, 1.096, 1.328, 1.645, 2.037, 2.474, 2.968, 3.513, 4.132, 4.829");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.2672, 0.3231, 0.5202, 0.8947, 1.476, 2.295, 3.372, 4.723, 6.376, 8.35",\
                 "0.2668, 0.323, 0.52, 0.8948, 1.478, 2.295, 3.37, 4.719, 6.373, 8.343",\
                 "0.2723, 0.3244, 0.5187, 0.8931, 1.478, 2.297, 3.369, 4.716, 6.381, 8.341",\
                 "0.3312, 0.3853, 0.5536, 0.8951, 1.477, 2.292, 3.368, 4.725, 6.373, 8.356",\
                 "0.4018, 0.4578, 0.6504, 0.9758, 1.49, 2.295, 3.367, 4.722, 6.376, 8.347",\
                 "0.5022, 0.5592, 0.758, 1.117, 1.616, 2.335, 3.372, 4.721, 6.371, 8.345",\
                 "0.6262, 0.6906, 0.8944, 1.263, 1.81, 2.502, 3.44, 4.735, 6.381, 8.342",\
                 "0.7652, 0.837, 1.062, 1.437, 2.009, 2.754, 3.654, 4.842, 6.4, 8.354",\
                 "0.9228, 1.005, 1.251, 1.651, 2.225, 3.006, 3.972, 5.096, 6.551, 8.38",\
                 "1.094, 1.19, 1.464, 1.895, 2.48, 3.282, 4.291, 5.473, 6.85, 8.586");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1066, 0.121, 0.1699, 0.2602, 0.3985, 0.5912, 0.8439, 1.162, 1.549, 2.012",\
                 "0.1176, 0.1319, 0.1808, 0.2711, 0.4095, 0.6022, 0.855, 1.173, 1.56, 2.023",\
                 "0.157, 0.1735, 0.2253, 0.3149, 0.453, 0.6454, 0.898, 1.216, 1.604, 2.066",\
                 "0.1846, 0.2073, 0.2778, 0.3917, 0.5409, 0.7327, 0.9844, 1.301, 1.689, 2.15",\
                 "0.188, 0.2173, 0.3074, 0.4513, 0.6387, 0.864, 1.123, 1.439, 1.825, 2.285",\
                 "0.1653, 0.2005, 0.3106, 0.4853, 0.7114, 0.9808, 1.29, 1.633, 2.02, 2.479",\
                 "0.1141, 0.1557, 0.2851, 0.4912, 0.7568, 1.07, 1.428, 1.827, 2.265, 2.738",\
                 "0.0351, 0.082, 0.2286, 0.4656, 0.7716, 1.131, 1.539, 1.991, 2.487, 3.024",\
                 "-0.076, -0.0222, 0.143, 0.4081, 0.7526, 1.16, 1.618, 2.124, 2.677, 3.276",\
                 "-0.2183, -0.1602, 0.0234, 0.3166, 0.6995, 1.152, 1.664, 2.225, 2.834, 3.494");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.2266, 0.2599, 0.3734, 0.5883, 0.9198, 1.385, 1.997, 2.768, 3.711, 4.831",\
                 "0.2359, 0.2698, 0.386, 0.6033, 0.9368, 1.404, 2.017, 2.791, 3.729, 4.854",\
                 "0.2736, 0.307, 0.4216, 0.6393, 0.9752, 1.444, 2.058, 2.83, 3.771, 4.897",\
                 "0.3425, 0.3785, 0.4998, 0.7143, 1.046, 1.513, 2.125, 2.899, 3.84, 4.962",\
                 "0.4511, 0.4903, 0.6177, 0.8452, 1.177, 1.636, 2.242, 3.011, 3.95, 5.071",\
                 "0.5947, 0.64, 0.7823, 1.021, 1.369, 1.831, 2.428, 3.187, 4.12, 5.235",\
                 "0.7674, 0.8205, 0.9835, 1.245, 1.607, 2.088, 2.693, 3.441, 4.363, 5.47",\
                 "0.9695, 1.031, 1.217, 1.51, 1.898, 2.394, 3.021, 3.78, 4.69, 5.788",\
                 "1.201, 1.271, 1.483, 1.81, 2.234, 2.756, 3.401, 4.185, 5.109, 6.191",\
                 "1.465, 1.543, 1.78, 2.145, 2.611, 3.171, 3.838, 4.642, 5.593, 6.692");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1431, 0.1663, 0.2464, 0.3971, 0.6309, 0.9581, 1.39, 1.933, 2.593, 3.382",\
                 "0.1418, 0.1653, 0.2462, 0.3968, 0.6305, 0.9582, 1.39, 1.932, 2.593, 3.382",\
                 "0.1727, 0.1922, 0.2572, 0.3969, 0.6306, 0.9587, 1.39, 1.932, 2.594, 3.382",\
                 "0.2489, 0.2728, 0.3493, 0.4783, 0.6647, 0.9625, 1.39, 1.932, 2.593, 3.382",\
                 "0.351, 0.3801, 0.4683, 0.6166, 0.8206, 1.078, 1.434, 1.937, 2.593, 3.381",\
                 "0.4744, 0.5098, 0.6162, 0.7846, 1.012, 1.301, 1.645, 2.07, 2.641, 3.387",\
                 "0.618, 0.6614, 0.7892, 0.9844, 1.236, 1.55, 1.929, 2.371, 2.88, 3.526",\
                 "0.785, 0.8348, 0.9864, 1.214, 1.494, 1.838, 2.243, 2.725, 3.269, 3.874",\
                 "0.974, 1.032, 1.209, 1.466, 1.786, 2.162, 2.594, 3.105, 3.692, 4.346",\
                 "1.183, 1.255, 1.452, 1.747, 2.112, 2.522, 2.991, 3.53, 4.146, 4.842");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.2675, 0.3236, 0.5199, 0.8949, 1.475, 2.294, 3.369, 4.72, 6.372, 8.345",\
                 "0.268, 0.3235, 0.5201, 0.8947, 1.474, 2.296, 3.368, 4.721, 6.376, 8.354",\
                 "0.2757, 0.3271, 0.5194, 0.893, 1.477, 2.294, 3.369, 4.728, 6.381, 8.349",\
                 "0.3291, 0.3807, 0.5543, 0.8996, 1.475, 2.295, 3.367, 4.724, 6.38, 8.336",\
                 "0.4032, 0.4526, 0.6294, 0.968, 1.5, 2.297, 3.371, 4.719, 6.371, 8.347",\
                 "0.5158, 0.564, 0.7316, 1.069, 1.595, 2.339, 3.373, 4.728, 6.382, 8.344",\
                 "0.6472, 0.7014, 0.8794, 1.201, 1.728, 2.466, 3.448, 4.744, 6.383, 8.344",\
                 "0.7944, 0.8546, 1.051, 1.384, 1.891, 2.635, 3.604, 4.841, 6.42, 8.343",\
                 "0.9522, 1.023, 1.241, 1.602, 2.106, 2.83, 3.813, 5.03, 6.545, 8.417",\
                 "1.124, 1.202, 1.447, 1.839, 2.377, 3.078, 4.045, 5.281, 6.765, 8.569");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.14, 0.1542, 0.2031, 0.2935, 0.4319, 0.6246, 0.8772, 1.195, 1.583, 2.045",\
                 "0.1526, 0.167, 0.2161, 0.3068, 0.4453, 0.6382, 0.891, 1.209, 1.597, 2.059",\
                 "0.1815, 0.1968, 0.2474, 0.3381, 0.477, 0.67, 0.9229, 1.241, 1.629, 2.091",\
                 "0.2004, 0.2192, 0.2804, 0.3841, 0.5302, 0.7234, 0.9761, 1.294, 1.682, 2.144",\
                 "0.1959, 0.2204, 0.297, 0.4208, 0.5883, 0.8009, 1.061, 1.378, 1.765, 2.226",\
                 "0.1608, 0.1907, 0.2846, 0.4354, 0.6321, 0.8713, 1.158, 1.495, 1.885, 2.346",\
                 "0.0922, 0.1277, 0.24, 0.4189, 0.6502, 0.9249, 1.242, 1.609, 2.028, 2.504",\
                 "-0.0107, 0.0302, 0.1591, 0.3667, 0.6348, 0.9503, 1.308, 1.709, 2.161, 2.669",\
                 "-0.1516, -0.1054, 0.0413, 0.2762, 0.581, 0.9397, 1.343, 1.788, 2.279, 2.821",\
                 "-0.3332, -0.2808, -0.1169, 0.1458, 0.4861, 0.8889, 1.34, 1.834, 2.373, 2.957");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1848, 0.2051, 0.2754, 0.4072, 0.6104, 0.8945, 1.267, 1.737, 2.309, 2.991",\
                 "0.1994, 0.2199, 0.2905, 0.4227, 0.6262, 0.9105, 1.283, 1.753, 2.325, 3.008",\
                 "0.2658, 0.2859, 0.3556, 0.487, 0.6901, 0.9741, 1.347, 1.816, 2.389, 3.071",\
                 "0.3906, 0.4141, 0.4912, 0.622, 0.8219, 1.103, 1.475, 1.943, 2.514, 3.196",\
                 "0.5457, 0.5739, 0.6665, 0.8244, 1.037, 1.315, 1.682, 2.147, 2.716, 3.396",\
                 "0.736, 0.7691, 0.8763, 1.058, 1.309, 1.618, 1.984, 2.444, 3.008, 3.683",\
                 "0.963, 1.002, 1.126, 1.331, 1.613, 1.965, 2.377, 2.845, 3.403, 4.072",\
                 "1.229, 1.273, 1.415, 1.648, 1.96, 2.349, 2.81, 3.333, 3.91, 4.576",\
                 "1.535, 1.585, 1.746, 2.008, 2.355, 2.778, 3.281, 3.858, 4.498, 5.193",\
                 "1.882, 1.94, 2.12, 2.412, 2.796, 3.259, 3.8, 4.423, 5.123, 5.888");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1414, 0.1648, 0.246, 0.3969, 0.6312, 0.9583, 1.39, 1.932, 2.594, 3.383",\
                 "0.1412, 0.1646, 0.2454, 0.3969, 0.6304, 0.959, 1.39, 1.932, 2.593, 3.383",\
                 "0.1591, 0.1792, 0.2511, 0.3965, 0.6302, 0.958, 1.39, 1.932, 2.593, 3.383",\
                 "0.2183, 0.2393, 0.3112, 0.4449, 0.6519, 0.9624, 1.39, 1.932, 2.593, 3.382",\
                 "0.3115, 0.3342, 0.4075, 0.5422, 0.748, 1.034, 1.422, 1.937, 2.593, 3.382",\
                 "0.43, 0.4556, 0.5398, 0.6816, 0.886, 1.174, 1.551, 2.024, 2.632, 3.391",\
                 "0.5662, 0.5968, 0.6932, 0.8532, 1.07, 1.358, 1.734, 2.208, 2.782, 3.488",\
                 "0.718, 0.7534, 0.8656, 1.048, 1.29, 1.591, 1.967, 2.439, 3.018, 3.705",\
                 "0.8852, 0.9272, 1.054, 1.262, 1.532, 1.861, 2.25, 2.724, 3.3, 3.989",\
                 "1.066, 1.113, 1.259, 1.494, 1.798, 2.159, 2.58, 3.062, 3.64, 4.326");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.3063, 0.3427, 0.4693, 0.7061, 1.067, 1.569, 2.226, 3.054, 4.064, 5.264",\
                 "0.3061, 0.3428, 0.4693, 0.706, 1.068, 1.569, 2.226, 3.053, 4.063, 5.261",\
                 "0.3098, 0.3444, 0.4693, 0.7064, 1.067, 1.569, 2.227, 3.053, 4.064, 5.265",\
                 "0.3934, 0.4227, 0.52, 0.7212, 1.068, 1.569, 2.227, 3.053, 4.062, 5.264",\
                 "0.5058, 0.5408, 0.655, 0.8464, 1.132, 1.581, 2.227, 3.054, 4.064, 5.266",\
                 "0.6346, 0.6724, 0.7984, 1.02, 1.325, 1.714, 2.273, 3.06, 4.063, 5.265",\
                 "0.7868, 0.828, 0.9642, 1.201, 1.545, 1.971, 2.479, 3.165, 4.086, 5.268",\
                 "0.9558, 1.003, 1.153, 1.406, 1.771, 2.246, 2.805, 3.444, 4.264, 5.331",\
                 "1.142, 1.194, 1.362, 1.639, 2.021, 2.524, 3.145, 3.842, 4.624, 5.584",\
                 "1.346, 1.402, 1.592, 1.892, 2.302, 2.827, 3.481, 4.249, 5.097, 6.024");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1127, 0.126, 0.1724, 0.2603, 0.3968, 0.5885, 0.8407, 1.159, 1.546, 2.008",\
                 "0.1248, 0.1383, 0.1852, 0.2736, 0.4102, 0.6024, 0.8541, 1.172, 1.56, 2.023",\
                 "0.147, 0.1631, 0.2147, 0.3044, 0.4417, 0.6336, 0.8863, 1.205, 1.592, 2.054",\
                 "0.1518, 0.1731, 0.2386, 0.3455, 0.4937, 0.6871, 0.9392, 1.257, 1.645, 2.107",\
                 "0.1292, 0.1573, 0.2422, 0.3741, 0.5462, 0.7615, 1.023, 1.341, 1.728, 2.19",\
                 "0.0755, 0.1107, 0.2161, 0.3781, 0.583, 0.8272, 1.117, 1.455, 1.848, 2.308",\
                 "-0.01, 0.0312, 0.1567, 0.3501, 0.5922, 0.8746, 1.197, 1.566, 1.988, 2.466",\
                 "-0.1296, -0.0821, 0.0627, 0.2859, 0.5671, 0.8924, 1.257, 1.663, 2.118, 2.628",\
                 "-0.2874, -0.2336, -0.0689, 0.1839, 0.5035, 0.8743, 1.285, 1.737, 2.232, 2.778",\
                 "-0.4852, -0.4256, -0.2413, 0.0429, 0.3998, 0.8151, 1.276, 1.778, 2.321, 2.91");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1801, 0.2006, 0.2711, 0.403, 0.6058, 0.8898, 1.262, 1.732, 2.302, 2.985",\
                 "0.1947, 0.2154, 0.2863, 0.4185, 0.6217, 0.9053, 1.278, 1.748, 2.32, 3",\
                 "0.2613, 0.2815, 0.3512, 0.4828, 0.6858, 0.9692, 1.342, 1.811, 2.382, 3.064",\
                 "0.3846, 0.4082, 0.4862, 0.6177, 0.8173, 1.099, 1.469, 1.936, 2.509, 3.189",\
                 "0.5375, 0.566, 0.6601, 0.8187, 1.032, 1.31, 1.676, 2.14, 2.709, 3.389",\
                 "0.726, 0.7595, 0.8684, 1.051, 1.303, 1.612, 1.978, 2.437, 3, 3.676",\
                 "0.9509, 0.9901, 1.116, 1.322, 1.605, 1.958, 2.37, 2.838, 3.395, 4.064",\
                 "1.213, 1.259, 1.403, 1.638, 1.95, 2.339, 2.802, 3.325, 3.902, 4.566",\
                 "1.515, 1.567, 1.731, 1.995, 2.343, 2.767, 3.269, 3.848, 4.488, 5.184",\
                 "1.859, 1.917, 2.101, 2.396, 2.783, 3.246, 3.788, 4.411, 5.111, 5.876");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1058, 0.1283, 0.2069, 0.357, 0.5911, 0.9181, 1.351, 1.894, 2.552, 3.346",\
                 "0.1063, 0.1284, 0.207, 0.3573, 0.5903, 0.919, 1.349, 1.892, 2.553, 3.346",\
                 "0.1328, 0.1522, 0.2196, 0.359, 0.5912, 0.9182, 1.35, 1.893, 2.553, 3.344",\
                 "0.197, 0.2167, 0.2847, 0.4155, 0.6186, 0.9244, 1.349, 1.892, 2.555, 3.345",\
                 "0.2949, 0.3164, 0.3881, 0.5176, 0.7194, 1.004, 1.387, 1.901, 2.554, 3.345",\
                 "0.4152, 0.4404, 0.5212, 0.6614, 0.8628, 1.146, 1.521, 1.992, 2.6, 3.354",\
                 "0.5528, 0.5812, 0.6762, 0.8328, 1.051, 1.333, 1.706, 2.178, 2.751, 3.455",\
                 "0.7056, 0.7396, 0.847, 1.028, 1.269, 1.57, 1.941, 2.411, 2.989, 3.674",\
                 "0.8678, 0.9088, 1.034, 1.241, 1.513, 1.838, 2.228, 2.698, 3.272, 3.959",\
                 "1.04, 1.088, 1.238, 1.471, 1.778, 2.136, 2.557, 3.043, 3.618, 4.3");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.2476, 0.2825, 0.405, 0.6344, 0.9915, 1.492, 2.148, 2.975, 3.981, 5.188",\
                 "0.2468, 0.2824, 0.4048, 0.6348, 0.9918, 1.491, 2.148, 2.974, 3.985, 5.184",\
                 "0.2502, 0.2833, 0.4038, 0.6348, 0.9926, 1.492, 2.148, 2.975, 3.985, 5.188",\
                 "0.324, 0.3551, 0.4538, 0.649, 0.9926, 1.492, 2.148, 2.975, 3.986, 5.187",\
                 "0.414, 0.4522, 0.573, 0.7726, 1.056, 1.502, 2.148, 2.975, 3.986, 5.186",\
                 "0.5208, 0.5618, 0.698, 0.9302, 1.243, 1.635, 2.194, 2.98, 3.985, 5.187",\
                 "0.643, 0.692, 0.8426, 1.096, 1.45, 1.887, 2.4, 3.084, 4.007, 5.189",\
                 "0.78, 0.8362, 1.009, 1.283, 1.663, 2.151, 2.72, 3.364, 4.185, 5.251",\
                 "0.9318, 0.9952, 1.193, 1.497, 1.901, 2.418, 3.049, 3.758, 4.542, 5.504",\
                 "1.095, 1.17, 1.391, 1.729, 2.169, 2.711, 3.376, 4.155, 5.013, 5.946");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.09577, 0.1058, 0.1409, 0.2072, 0.31, 0.4545, 0.6441, 0.8831, 1.175, 1.523",\
                 "0.109, 0.1192, 0.1546, 0.2214, 0.3243, 0.4688, 0.659, 0.898, 1.189, 1.537",\
                 "0.1372, 0.1513, 0.1951, 0.2658, 0.3694, 0.5141, 0.7042, 0.9431, 1.235, 1.583",\
                 "0.1445, 0.1646, 0.2264, 0.3234, 0.4483, 0.5996, 0.7898, 1.029, 1.321, 1.668",\
                 "0.1236, 0.1503, 0.2322, 0.358, 0.5174, 0.7053, 0.9196, 1.164, 1.455, 1.803",\
                 "0.0719, 0.105, 0.2068, 0.3632, 0.5597, 0.7877, 1.045, 1.329, 1.643, 1.993",\
                 "-0.0111, 0.0272, 0.1477, 0.335, 0.5697, 0.8408, 1.143, 1.475, 1.836, 2.226",\
                 "-0.1299, -0.0847, 0.0536, 0.27, 0.5433, 0.8589, 1.209, 1.59, 2.002, 2.445",\
                 "-0.2862, -0.2358, -0.079, 0.1662, 0.4783, 0.8389, 1.238, 1.671, 2.137, 2.633",\
                 "-0.4839, -0.4275, -0.252, 0.0233, 0.3709, 0.7765, 1.226, 1.712, 2.234, 2.787");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.2053, 0.2254, 0.295, 0.4259, 0.6287, 0.9119, 1.285, 1.752, 2.325, 3.009",\
                 "0.2202, 0.2404, 0.3104, 0.4421, 0.6452, 0.9283, 1.301, 1.771, 2.341, 3.026",\
                 "0.2865, 0.3063, 0.3754, 0.5061, 0.7087, 0.9923, 1.364, 1.833, 2.404, 3.088",\
                 "0.4148, 0.4378, 0.5121, 0.6414, 0.8404, 1.121, 1.492, 1.959, 2.53, 3.214",\
                 "0.5747, 0.6021, 0.6929, 0.8475, 1.057, 1.334, 1.7, 2.164, 2.733, 3.412",\
                 "0.7714, 0.8032, 0.9066, 1.086, 1.334, 1.639, 2.004, 2.462, 3.026, 3.701",\
                 "1.005, 1.043, 1.162, 1.364, 1.643, 1.992, 2.4, 2.866, 3.423, 4.092",\
                 "1.279, 1.321, 1.458, 1.687, 1.995, 2.381, 2.84, 3.359, 3.932, 4.596",\
                 "1.591, 1.64, 1.796, 2.053, 2.395, 2.816, 3.316, 3.89, 4.527, 5.219",\
                 "1.947, 2.002, 2.177, 2.464, 2.843, 3.303, 3.842, 4.463, 5.16, 5.92");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.09362, 0.1105, 0.17, 0.2836, 0.4592, 0.7058, 1.031, 1.437, 1.938, 2.532",\
                 "0.09428, 0.1108, 0.17, 0.2834, 0.4594, 0.7067, 1.031, 1.439, 1.936, 2.533",\
                 "0.1397, 0.1528, 0.1974, 0.2913, 0.4597, 0.7064, 1.031, 1.438, 1.937, 2.534",\
                 "0.2242, 0.2387, 0.2908, 0.3845, 0.5196, 0.7268, 1.031, 1.438, 1.938, 2.534",\
                 "0.3353, 0.3525, 0.4106, 0.5158, 0.6666, 0.8656, 1.117, 1.47, 1.943, 2.533",\
                 "0.4688, 0.4876, 0.5554, 0.6752, 0.8418, 1.061, 1.329, 1.647, 2.047, 2.575",\
                 "0.619, 0.6412, 0.7202, 0.8582, 1.049, 1.285, 1.577, 1.92, 2.319, 2.779",\
                 "0.783, 0.81, 0.9014, 1.062, 1.279, 1.545, 1.856, 2.225, 2.649, 3.131",\
                 "0.9602, 0.992, 1.1, 1.283, 1.532, 1.828, 2.174, 2.563, 3.016, 3.527",\
                 "1.148, 1.186, 1.313, 1.523, 1.807, 2.135, 2.516, 2.945, 3.419, 3.959");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.2769, 0.3122, 0.4341, 0.6639, 1.022, 1.522, 2.178, 3.004, 4.014, 5.218",\
                 "0.2762, 0.3126, 0.4337, 0.6655, 1.022, 1.521, 2.178, 3.005, 4.012, 5.218",\
                 "0.2779, 0.3119, 0.4342, 0.6642, 1.022, 1.522, 2.179, 3.006, 4.011, 5.218",\
                 "0.3469, 0.3779, 0.4751, 0.6754, 1.022, 1.521, 2.178, 3.006, 4.016, 5.22",\
                 "0.4388, 0.476, 0.596, 0.7902, 1.078, 1.53, 2.178, 3.006, 4.015, 5.219",\
                 "0.5454, 0.5872, 0.721, 0.9504, 1.261, 1.654, 2.219, 3.009, 4.015, 5.218",\
                 "0.6706, 0.7156, 0.8626, 1.113, 1.469, 1.903, 2.416, 3.106, 4.034, 5.218",\
                 "0.808, 0.8622, 1.027, 1.298, 1.678, 2.168, 2.733, 3.378, 4.204, 5.276",\
                 "0.9646, 1.022, 1.209, 1.508, 1.911, 2.428, 3.057, 3.766, 4.553, 5.52",\
                 "1.132, 1.203, 1.407, 1.739, 2.173, 2.714, 3.382, 4.161, 5.016, 5.949");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.14, 0.1542, 0.2031, 0.2935, 0.4319, 0.6246, 0.8772, 1.195, 1.583, 2.045",\
                 "0.1526, 0.167, 0.2161, 0.3068, 0.4453, 0.6382, 0.891, 1.209, 1.597, 2.059",\
                 "0.1815, 0.1968, 0.2474, 0.3381, 0.477, 0.67, 0.9229, 1.241, 1.629, 2.091",\
                 "0.2004, 0.2192, 0.2804, 0.3841, 0.5302, 0.7234, 0.9761, 1.294, 1.682, 2.144",\
                 "0.1959, 0.2204, 0.297, 0.4208, 0.5883, 0.8009, 1.061, 1.378, 1.765, 2.226",\
                 "0.1608, 0.1907, 0.2846, 0.4354, 0.6321, 0.8713, 1.158, 1.495, 1.885, 2.346",\
                 "0.0922, 0.1277, 0.24, 0.4189, 0.6502, 0.9249, 1.242, 1.609, 2.028, 2.504",\
                 "-0.0107, 0.0302, 0.1591, 0.3667, 0.6348, 0.9503, 1.308, 1.709, 2.161, 2.669",\
                 "-0.1516, -0.1054, 0.0413, 0.2762, 0.581, 0.9397, 1.343, 1.788, 2.279, 2.821",\
                 "-0.3332, -0.2808, -0.1169, 0.1458, 0.4861, 0.8889, 1.34, 1.834, 2.373, 2.957");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.2053, 0.2254, 0.295, 0.4259, 0.6287, 0.9119, 1.285, 1.752, 2.325, 3.009",\
                 "0.2202, 0.2404, 0.3104, 0.4421, 0.6452, 0.9283, 1.301, 1.771, 2.341, 3.026",\
                 "0.2865, 0.3063, 0.3754, 0.5061, 0.7087, 0.9923, 1.364, 1.833, 2.404, 3.088",\
                 "0.4148, 0.4378, 0.5121, 0.6414, 0.8404, 1.121, 1.492, 1.959, 2.53, 3.214",\
                 "0.5747, 0.6021, 0.6929, 0.8475, 1.057, 1.334, 1.7, 2.164, 2.733, 3.412",\
                 "0.7714, 0.8032, 0.9066, 1.086, 1.334, 1.639, 2.004, 2.462, 3.026, 3.701",\
                 "1.005, 1.043, 1.162, 1.364, 1.643, 1.992, 2.4, 2.866, 3.423, 4.092",\
                 "1.279, 1.321, 1.458, 1.687, 1.995, 2.381, 2.84, 3.359, 3.932, 4.596",\
                 "1.591, 1.64, 1.796, 2.053, 2.395, 2.816, 3.316, 3.89, 4.527, 5.219",\
                 "1.947, 2.002, 2.177, 2.464, 2.843, 3.303, 3.842, 4.463, 5.16, 5.92");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.1414, 0.1648, 0.246, 0.3969, 0.6312, 0.9583, 1.39, 1.932, 2.594, 3.383",\
                 "0.1412, 0.1646, 0.2454, 0.3969, 0.6304, 0.959, 1.39, 1.932, 2.593, 3.383",\
                 "0.1591, 0.1792, 0.2511, 0.3965, 0.6302, 0.958, 1.39, 1.932, 2.593, 3.383",\
                 "0.2183, 0.2393, 0.3112, 0.4449, 0.6519, 0.9624, 1.39, 1.932, 2.593, 3.382",\
                 "0.3115, 0.3342, 0.4075, 0.5422, 0.748, 1.034, 1.422, 1.937, 2.593, 3.382",\
                 "0.43, 0.4556, 0.5398, 0.6816, 0.886, 1.174, 1.551, 2.024, 2.632, 3.391",\
                 "0.5662, 0.5968, 0.6932, 0.8532, 1.07, 1.358, 1.734, 2.208, 2.782, 3.488",\
                 "0.718, 0.7534, 0.8656, 1.048, 1.29, 1.591, 1.967, 2.439, 3.018, 3.705",\
                 "0.8852, 0.9272, 1.054, 1.262, 1.532, 1.861, 2.25, 2.724, 3.3, 3.989",\
                 "1.066, 1.113, 1.259, 1.494, 1.798, 2.159, 2.58, 3.062, 3.64, 4.326");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003228, 0.01105, 0.02598, 0.04925, 0.0819, 0.1249, 0.179, 0.245, 0.3238");
          values("0.3063, 0.3427, 0.4693, 0.7061, 1.067, 1.569, 2.226, 3.054, 4.064, 5.264",\
                 "0.3061, 0.3428, 0.4693, 0.706, 1.068, 1.569, 2.226, 3.053, 4.063, 5.261",\
                 "0.3098, 0.3444, 0.4693, 0.7064, 1.067, 1.569, 2.227, 3.053, 4.064, 5.265",\
                 "0.3934, 0.4227, 0.52, 0.7212, 1.068, 1.569, 2.227, 3.053, 4.062, 5.264",\
                 "0.5058, 0.5408, 0.655, 0.8464, 1.132, 1.581, 2.227, 3.054, 4.064, 5.266",\
                 "0.6346, 0.6724, 0.7984, 1.02, 1.325, 1.714, 2.273, 3.06, 4.063, 5.265",\
                 "0.7868, 0.828, 0.9642, 1.201, 1.545, 1.971, 2.479, 3.165, 4.086, 5.268",\
                 "0.9558, 1.003, 1.153, 1.406, 1.771, 2.246, 2.805, 3.444, 4.264, 5.331",\
                 "1.142, 1.194, 1.362, 1.639, 2.021, 2.524, 3.145, 3.842, 4.624, 5.584",\
                 "1.346, 1.402, 1.592, 1.892, 2.302, 2.827, 3.481, 4.249, 5.097, 6.024");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai21_4) {
    area : 59.270400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B" ;
      value : "0.0001096557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B" ;
      value : "0.0002065272" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B" ;
      value : "0.0001711842" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B" ;
      value : "0.0002065272" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B" ;
      value : "0.0001136421" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B" ;
      value : "0.0002072796" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B" ;
      value : "0.0001136421" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002072796" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01818 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06686, 0.06682, 0.06667, 0.06652, 0.06644, 0.06651, 0.06652, \
                 0.06653, 0.06649, 0.06647");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01855, 0.01869, 0.0186, 0.01844, 0.01841, 0.01822, 0.01816, \
                 0.01791, 0.01782, 0.01752");
        }
      }

      internal_power() {
        when : "A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06729, 0.06732, 0.06737, 0.0672, 0.06707, 0.06706, 0.06696, \
                 0.06688, 0.06679, 0.06666");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0644, -0.06439, -0.06436, -0.0649, -0.06519, -0.0655, -0.06561, \
                 -0.06569, -0.06571, -0.06579");
        }
      }

      internal_power() {
        when : "A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04862, 0.04853, 0.0485, 0.04845, 0.04842, 0.04851, 0.04845, \
                 0.04837, 0.0483, 0.04821");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01917, -0.01914, -0.01918, -0.0192, -0.01921, -0.01925, -0.01926, \
                 -0.01926, -0.01926, -0.01925");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01807 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0666, 0.06665, 0.06652, 0.06654, 0.06644, 0.06658, 0.06653, \
                 0.06654, 0.0665, 0.06652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01902, 0.01878, 0.01862, 0.01848, 0.01827, 0.01806, \
                 0.01797, 0.01777, 0.01757");
        }
      }

      internal_power() {
        when : "A1&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06729, 0.06721, 0.06719, 0.0672, 0.06707, 0.06711, 0.067, 0.06694, \
                 0.0668, 0.06666");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06365, -0.06372, -0.06428, -0.0649, -0.06513, -0.06549, -0.06555, \
                 -0.06565, -0.0657, -0.06573");
        }
      }

      internal_power() {
        when : "A1&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05841, 0.05824, 0.05824, 0.05828, 0.05827, 0.05845, 0.05846, \
                 0.0584, 0.0584, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04894, -0.05294, -0.05609, -0.05672, -0.05697, -0.05733, -0.05736, \
                 -0.05751, -0.05757, -0.05758");
        }
      }
    }

    pin(B) {
      capacitance : 0.01603 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05604, 0.0513, 0.05104, 0.05086, 0.05084, 0.0509, 0.05085, 0.05089, \
                 0.05089, 0.0509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05099, -0.05095, -0.0509, -0.05074, -0.05066, -0.05075, -0.05069, \
                 -0.05069, -0.05065, -0.05067");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|(!B))" ;
      max_capacitance : 0.6494 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.009609, 0.009991, 0.01087, 0.0113, 0.01154, 0.01173, 0.01188, 0.01183, 0.01186, 0.01191",\
                 "0.009378, 0.01009, 0.01168, 0.01293, 0.01366, 0.01405, 0.01433, 0.01449, 0.0146, 0.01465",\
                 "0.01371, 0.01394, 0.01473, 0.01546, 0.016, 0.01633, 0.01655, 0.01668, 0.01676, 0.01684",\
                 "0.0325, 0.03133, 0.02857, 0.02612, 0.02411, 0.02254, 0.02142, 0.02056, 0.02001, 0.01947",\
                 "0.07245, 0.06933, 0.06149, 0.05296, 0.04563, 0.03982, 0.0353, 0.0318, 0.0291, 0.02701",\
                 "0.1361, 0.1311, 0.1178, 0.1012, 0.08622, 0.07385, 0.06362, 0.05556, 0.04912, 0.04385",\
                 "0.2244, 0.2179, 0.1993, 0.1745, 0.1501, 0.1288, 0.1112, 0.09641, 0.08421, 0.0741",\
                 "0.339, 0.3312, 0.308, 0.2755, 0.2409, 0.2092, 0.1819, 0.1584, 0.1387, 0.1221",\
                 "0.4814, 0.4725, 0.4451, 0.4053, 0.3609, 0.3175, 0.2788, 0.2455, 0.2163, 0.1912",\
                 "0.6525, 0.6425, 0.6119, 0.5651, 0.5113, 0.4567, 0.4054, 0.3599, 0.32, 0.2853");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.2177, 0.2191, 0.2216, 0.2233, 0.225, 0.2262, 0.2273, 0.2284, 0.2305, 0.2373",\
                 "0.2124, 0.214, 0.2179, 0.2216, 0.2247, 0.2273, 0.2286, 0.23, 0.2325, 0.2392",\
                 "0.216, 0.216, 0.2166, 0.2187, 0.222, 0.225, 0.2271, 0.2304, 0.2321, 0.2394",\
                 "0.2416, 0.2397, 0.2352, 0.2309, 0.2293, 0.2293, 0.2303, 0.2313, 0.2341, 0.2428",\
                 "0.2902, 0.2866, 0.2774, 0.2664, 0.2565, 0.2495, 0.2457, 0.2432, 0.2427, 0.2501",\
                 "0.3644, 0.3589, 0.3447, 0.3268, 0.3096, 0.2935, 0.2812, 0.2722, 0.2658, 0.2714",\
                 "0.466, 0.4589, 0.4396, 0.4144, 0.3884, 0.3641, 0.3417, 0.324, 0.311, 0.3124",\
                 "0.5969, 0.5884, 0.5642, 0.5312, 0.4965, 0.4636, 0.4323, 0.4038, 0.3806, 0.3808",\
                 "0.7588, 0.7491, 0.7202, 0.6801, 0.6358, 0.5928, 0.5522, 0.514, 0.4811, 0.4872",\
                 "0.9538, 0.9429, 0.91, 0.8623, 0.8089, 0.7553, 0.7038, 0.6568, 0.6198, 0.6448");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.05192, 0.052, 0.05202, 0.05209, 0.05211, 0.05219, 0.05221, 0.05219, 0.05223, 0.05222",\
                 "0.04851, 0.0486, 0.04877, 0.04895, 0.04909, 0.04912, 0.04915, 0.0492, 0.04925, 0.04923",\
                 "0.04945, 0.04922, 0.04874, 0.04808, 0.04768, 0.04755, 0.04738, 0.04727, 0.04722, 0.04716",\
                 "0.06823, 0.0667, 0.06285, 0.05893, 0.05558, 0.05312, 0.05142, 0.05021, 0.04939, 0.0487",\
                 "0.1119, 0.1085, 0.09953, 0.08884, 0.0793, 0.07186, 0.06627, 0.06188, 0.05865, 0.05629",\
                 "0.1835, 0.1783, 0.1634, 0.1443, 0.1259, 0.1103, 0.09772, 0.08799, 0.08015, 0.07406",\
                 "0.2851, 0.2781, 0.2577, 0.2292, 0.2001, 0.174, 0.1518, 0.1337, 0.1191, 0.1073",\
                 "0.4179, 0.4094, 0.3839, 0.3466, 0.306, 0.2675, 0.2334, 0.2044, 0.1803, 0.1603",\
                 "0.5834, 0.5737, 0.5438, 0.4983, 0.4461, 0.3944, 0.3471, 0.3051, 0.269, 0.2386",\
                 "0.7831, 0.7724, 0.7384, 0.6856, 0.6225, 0.5575, 0.4957, 0.4392, 0.3895, 0.3462");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.2605, 0.2617, 0.2637, 0.2651, 0.2664, 0.2676, 0.2689, 0.27, 0.2717, 0.2782",\
                 "0.2539, 0.2556, 0.2598, 0.2635, 0.2665, 0.2687, 0.2704, 0.2736, 0.274, 0.2809",\
                 "0.2498, 0.2504, 0.2529, 0.2571, 0.2612, 0.2651, 0.2685, 0.2703, 0.2731, 0.2804",\
                 "0.2689, 0.2677, 0.2653, 0.2637, 0.2642, 0.2662, 0.2682, 0.2706, 0.2731, 0.2821",\
                 "0.3198, 0.3161, 0.3073, 0.298, 0.29, 0.2849, 0.282, 0.2808, 0.282, 0.2899",\
                 "0.404, 0.3985, 0.3824, 0.3635, 0.346, 0.3314, 0.3195, 0.3112, 0.306, 0.3117",\
                 "0.5217, 0.514, 0.4922, 0.4636, 0.4351, 0.4098, 0.3871, 0.3682, 0.3552, 0.356",\
                 "0.6734, 0.6645, 0.6376, 0.6001, 0.5592, 0.5221, 0.4886, 0.4586, 0.4337, 0.4306",\
                 "0.8611, 0.8511, 0.82, 0.774, 0.7222, 0.6719, 0.6259, 0.5843, 0.5491, 0.5435",\
                 "1.087, 1.075, 1.041, 0.9879, 0.9253, 0.8619, 0.8018, 0.7481, 0.7047, 0.7108");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.05701, 0.05711, 0.05733, 0.05773, 0.05798, 0.05815, 0.05823, 0.05828, 0.05831, 0.05832",\
                 "0.05461, 0.05493, 0.05587, 0.05674, 0.05729, 0.05768, 0.05788, 0.05803, 0.05813, 0.05813",\
                 "0.05248, 0.05284, 0.05397, 0.05512, 0.05604, 0.05671, 0.05716, 0.05748, 0.05768, 0.05786",\
                 "0.06428, 0.0639, 0.06261, 0.06171, 0.06104, 0.06052, 0.05993, 0.05961, 0.05936, 0.05913",\
                 "0.101, 0.09887, 0.09368, 0.08733, 0.08166, 0.07693, 0.07335, 0.07049, 0.06816, 0.06642",\
                 "0.1672, 0.1633, 0.1527, 0.1388, 0.1254, 0.1139, 0.1042, 0.09643, 0.09005, 0.08479",\
                 "0.2653, 0.2599, 0.2439, 0.2212, 0.1978, 0.1766, 0.1585, 0.1432, 0.1304, 0.1198",\
                 "0.3968, 0.3899, 0.3687, 0.3374, 0.3029, 0.2701, 0.2412, 0.2159, 0.1945, 0.1763",\
                 "0.5624, 0.5541, 0.5284, 0.4892, 0.4436, 0.3981, 0.3563, 0.3188, 0.2869, 0.2588",\
                 "0.7637, 0.7542, 0.7244, 0.6779, 0.6218, 0.5631, 0.5072, 0.4565, 0.4113, 0.3712");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.3785, 0.3787, 0.379, 0.3795, 0.3801, 0.381, 0.382, 0.3834, 0.3862, 0.3879",\
                 "0.3736, 0.3739, 0.3749, 0.3759, 0.3768, 0.3778, 0.3795, 0.3808, 0.3836, 0.3856",\
                 "0.3771, 0.3767, 0.3762, 0.3761, 0.3765, 0.3773, 0.3788, 0.3801, 0.3823, 0.385",\
                 "0.4052, 0.4031, 0.3986, 0.3932, 0.3888, 0.3863, 0.3854, 0.3851, 0.3859, 0.3879",\
                 "0.461, 0.4578, 0.4484, 0.4362, 0.4234, 0.4143, 0.4068, 0.4028, 0.4001, 0.3988",\
                 "0.5483, 0.5435, 0.5293, 0.5092, 0.4888, 0.4686, 0.4531, 0.4414, 0.4305, 0.4249",\
                 "0.6684, 0.6626, 0.6445, 0.6168, 0.586, 0.5566, 0.5295, 0.5064, 0.4875, 0.4738",\
                 "0.8235, 0.8169, 0.7953, 0.7616, 0.7206, 0.6789, 0.6415, 0.6061, 0.5757, 0.5511",\
                 "1.016, 1.008, 0.9839, 0.9442, 0.8948, 0.8414, 0.79, 0.7431, 0.7001, 0.6625",\
                 "1.246, 1.238, 1.211, 1.167, 1.11, 1.046, 0.9808, 0.9196, 0.8637, 0.8124");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.01209, 0.01246, 0.01301, 0.01341, 0.0136, 0.01372, 0.01378, 0.01382, 0.01383, 0.01388",\
                 "0.008712, 0.009492, 0.01111, 0.01224, 0.01286, 0.01325, 0.01344, 0.01358, 0.01367, 0.01373",\
                 "0.006258, 0.006815, 0.008537, 0.01015, 0.01138, 0.01221, 0.01272, 0.01302, 0.01326, 0.01339",\
                 "0.02104, 0.02032, 0.01874, 0.01753, 0.01671, 0.01601, 0.01556, 0.01523, 0.01497, 0.01476",\
                 "0.06259, 0.05991, 0.05271, 0.04508, 0.03854, 0.03337, 0.02941, 0.02638, 0.02401, 0.02214",\
                 "0.1346, 0.1297, 0.1162, 0.09946, 0.08413, 0.07148, 0.06117, 0.05284, 0.04624, 0.04086",\
                 "0.2386, 0.2316, 0.2119, 0.1856, 0.1592, 0.136, 0.1166, 0.1005, 0.08723, 0.07623",\
                 "0.375, 0.3663, 0.3411, 0.3056, 0.2672, 0.2314, 0.2008, 0.1745, 0.1522, 0.1334",\
                 "0.5445, 0.5346, 0.5049, 0.4607, 0.4111, 0.362, 0.3174, 0.2791, 0.2455, 0.2167",\
                 "0.749, 0.7382, 0.7042, 0.6527, 0.5921, 0.5297, 0.4701, 0.4175, 0.3715, 0.3306");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.3368, 0.3369, 0.3375, 0.338, 0.3381, 0.3394, 0.3406, 0.3422, 0.3437, 0.3463",\
                 "0.3318, 0.3321, 0.3329, 0.3342, 0.3352, 0.3363, 0.338, 0.3392, 0.3414, 0.3434",\
                 "0.3354, 0.3349, 0.3344, 0.3343, 0.3349, 0.3358, 0.3371, 0.3382, 0.341, 0.3434",\
                 "0.3633, 0.3616, 0.3569, 0.3513, 0.3471, 0.3446, 0.3437, 0.3432, 0.3453, 0.346",\
                 "0.4197, 0.4162, 0.4066, 0.3945, 0.382, 0.3727, 0.3659, 0.3609, 0.3588, 0.3569",\
                 "0.507, 0.5022, 0.4879, 0.4673, 0.4466, 0.4272, 0.4114, 0.3985, 0.3895, 0.383",\
                 "0.6275, 0.6216, 0.6034, 0.5752, 0.5442, 0.5146, 0.488, 0.4652, 0.446, 0.4316",\
                 "0.7825, 0.7761, 0.7541, 0.7199, 0.6788, 0.6377, 0.5993, 0.5642, 0.5344, 0.5078",\
                 "0.9749, 0.9674, 0.9427, 0.9033, 0.8536, 0.8, 0.7481, 0.7015, 0.6578, 0.6199",\
                 "1.206, 1.197, 1.171, 1.126, 1.069, 1.005, 0.9389, 0.878, 0.8225, 0.7703");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.01218, 0.01249, 0.013, 0.0134, 0.01361, 0.0137, 0.01375, 0.01385, 0.01385, 0.01388",\
                 "0.008879, 0.009559, 0.01111, 0.01224, 0.01287, 0.01323, 0.01344, 0.01356, 0.01364, 0.01371",\
                 "0.006665, 0.007284, 0.00888, 0.01045, 0.01158, 0.01235, 0.0128, 0.01311, 0.01331, 0.01345",\
                 "0.0226, 0.02179, 0.01999, 0.01865, 0.01762, 0.01677, 0.01614, 0.01567, 0.01531, 0.01504",\
                 "0.0652, 0.06245, 0.05527, 0.04722, 0.04046, 0.03506, 0.03079, 0.02748, 0.02492, 0.02294",\
                 "0.1382, 0.1334, 0.1198, 0.103, 0.08737, 0.07425, 0.06355, 0.05493, 0.04802, 0.04242",\
                 "0.2432, 0.2362, 0.2166, 0.1902, 0.1635, 0.1399, 0.1201, 0.1035, 0.08993, 0.07863",\
                 "0.3802, 0.3717, 0.3469, 0.3112, 0.2729, 0.2369, 0.2056, 0.1786, 0.156, 0.1369",\
                 "0.5509, 0.5412, 0.5116, 0.4677, 0.4179, 0.3684, 0.3239, 0.2843, 0.2509, 0.2216",\
                 "0.7565, 0.7457, 0.7122, 0.661, 0.6002, 0.5377, 0.4785, 0.4251, 0.3781, 0.3371");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.3723, 0.3728, 0.3729, 0.3735, 0.3742, 0.3751, 0.3763, 0.3778, 0.38, 0.3813",\
                 "0.3677, 0.3681, 0.369, 0.3705, 0.3714, 0.3726, 0.3743, 0.3755, 0.378, 0.3794",\
                 "0.3707, 0.3705, 0.37, 0.3705, 0.371, 0.3724, 0.3735, 0.3752, 0.3777, 0.3797",\
                 "0.3978, 0.3969, 0.3927, 0.388, 0.3839, 0.3813, 0.3807, 0.3808, 0.3819, 0.3827",\
                 "0.4536, 0.4507, 0.4422, 0.4319, 0.42, 0.4106, 0.4038, 0.3999, 0.3961, 0.3955",\
                 "0.5402, 0.5363, 0.5239, 0.5054, 0.4865, 0.4673, 0.452, 0.4395, 0.4298, 0.4226",\
                 "0.66, 0.655, 0.6384, 0.6137, 0.5854, 0.5577, 0.5315, 0.5091, 0.4899, 0.4745",\
                 "0.8151, 0.8092, 0.7898, 0.7584, 0.7212, 0.6827, 0.6468, 0.6124, 0.5809, 0.557",\
                 "1.008, 1.001, 0.9786, 0.9424, 0.8962, 0.8469, 0.7986, 0.753, 0.7103, 0.6733",\
                 "1.24, 1.232, 1.207, 1.166, 1.112, 1.053, 0.9913, 0.9335, 0.8809, 0.8291");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.07505, 0.08855, 0.1351, 0.2236, 0.3613, 0.5539, 0.8078, 1.127, 1.518, 1.981",\
                 "0.08759, 0.1011, 0.1482, 0.237, 0.3746, 0.5677, 0.8213, 1.141, 1.53, 1.995",\
                 "0.1154, 0.1343, 0.1914, 0.2824, 0.4199, 0.613, 0.8665, 1.186, 1.576, 2.04",\
                 "0.1208, 0.1475, 0.2273, 0.3501, 0.507, 0.7003, 0.9526, 1.272, 1.662, 2.126",\
                 "0.09626, 0.1314, 0.2358, 0.3939, 0.5927, 0.8264, 1.091, 1.409, 1.797, 2.261",\
                 "0.0377, 0.0821, 0.2118, 0.4069, 0.6489, 0.9308, 1.25, 1.601, 1.992, 2.453",\
                 "-0.0556, -0.0036, 0.1507, 0.3842, 0.6722, 1.004, 1.376, 1.786, 2.231, 2.711",\
                 "-0.1889, -0.1282, 0.051, 0.3208, 0.658, 1.041, 1.468, 1.936, 2.443, 2.99",\
                 "-0.3641, -0.2949, -0.0901, 0.2178, 0.5994, 1.039, 1.523, 2.049, 2.619, 3.231",\
                 "-0.5834, -0.506, -0.2761, 0.0701, 0.498, 0.9912, 1.535, 2.123, 2.756, 3.433");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1672, 0.2009, 0.3164, 0.5322, 0.8665, 1.335, 1.949, 2.723, 3.668, 4.798",\
                 "0.1754, 0.2095, 0.3263, 0.5445, 0.8806, 1.35, 1.966, 2.74, 3.687, 4.815",\
                 "0.2332, 0.2652, 0.3781, 0.5947, 0.9307, 1.401, 2.017, 2.794, 3.74, 4.868",\
                 "0.3399, 0.3786, 0.5017, 0.7128, 1.043, 1.508, 2.123, 2.898, 3.845, 4.975",\
                 "0.4848, 0.5294, 0.6714, 0.9097, 1.238, 1.695, 2.304, 3.074, 4.016, 5.141",\
                 "0.6683, 0.7212, 0.8836, 1.15, 1.516, 1.976, 2.574, 3.335, 4.271, 5.39",\
                 "0.8907, 0.9532, 1.141, 1.436, 1.839, 2.344, 2.946, 3.698, 4.623, 5.734",\
                 "1.153, 1.225, 1.441, 1.773, 2.21, 2.76, 3.414, 4.171, 5.085, 6.184",\
                 "1.458, 1.541, 1.787, 2.158, 2.635, 3.224, 3.93, 4.743, 5.664, 6.752",\
                 "1.806, 1.901, 2.177, 2.593, 3.118, 3.746, 4.497, 5.369, 6.35, 7.446");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.09384, 0.1167, 0.1961, 0.3475, 0.5833, 0.912, 1.347, 1.892, 2.561, 3.349",\
                 "0.09276, 0.116, 0.196, 0.3476, 0.5826, 0.9112, 1.347, 1.893, 2.56, 3.351",\
                 "0.1324, 0.1535, 0.2202, 0.3509, 0.5822, 0.9132, 1.345, 1.893, 2.557, 3.354",\
                 "0.1995, 0.2258, 0.3062, 0.4412, 0.6264, 0.9178, 1.345, 1.891, 2.558, 3.352",\
                 "0.2889, 0.3221, 0.4203, 0.5744, 0.7844, 1.045, 1.398, 1.896, 2.557, 3.352",\
                 "0.396, 0.4374, 0.5574, 0.7374, 0.9718, 1.266, 1.616, 2.038, 2.611, 3.359",\
                 "0.5222, 0.5698, 0.7146, 0.9282, 1.193, 1.514, 1.9, 2.347, 2.856, 3.501",\
                 "0.6582, 0.7194, 0.8922, 1.14, 1.444, 1.8, 2.214, 2.697, 3.248, 3.855",\
                 "0.8084, 0.8824, 1.087, 1.374, 1.724, 2.122, 2.567, 3.085, 3.674, 4.332",\
                 "0.9676, 1.055, 1.3, 1.628, 2.023, 2.467, 2.963, 3.51, 4.134, 4.835");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.2393, 0.296, 0.4941, 0.8703, 1.456, 2.279, 3.353, 4.72, 6.383, 8.351",\
                 "0.239, 0.2959, 0.4937, 0.8702, 1.454, 2.277, 3.355, 4.722, 6.376, 8.351",\
                 "0.2482, 0.2988, 0.4931, 0.8702, 1.456, 2.275, 3.357, 4.718, 6.381, 8.35",\
                 "0.3043, 0.3599, 0.5316, 0.8717, 1.455, 2.279, 3.356, 4.715, 6.378, 8.367",\
                 "0.3744, 0.431, 0.6256, 0.9556, 1.472, 2.278, 3.358, 4.717, 6.374, 8.354",\
                 "0.4744, 0.5324, 0.7306, 1.094, 1.6, 2.316, 3.36, 4.72, 6.374, 8.357",\
                 "0.5934, 0.6598, 0.8672, 1.239, 1.79, 2.487, 3.429, 4.727, 6.382, 8.352",\
                 "0.729, 0.805, 1.036, 1.414, 1.986, 2.74, 3.644, 4.836, 6.393, 8.365",\
                 "0.8824, 0.9664, 1.222, 1.629, 2.205, 2.993, 3.958, 5.093, 6.554, 8.404",\
                 "1.046, 1.147, 1.43, 1.871, 2.461, 3.265, 4.281, 5.47, 6.854, 8.596");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.0995, 0.114, 0.1633, 0.2542, 0.3933, 0.587, 0.8411, 1.161, 1.551, 2.016",\
                 "0.1104, 0.125, 0.1742, 0.2651, 0.4042, 0.598, 0.8521, 1.172, 1.562, 2.027",\
                 "0.1483, 0.1653, 0.2185, 0.3089, 0.4477, 0.6412, 0.8951, 1.215, 1.605, 2.07",\
                 "0.1723, 0.1959, 0.2685, 0.3846, 0.5356, 0.7286, 0.9815, 1.3, 1.69, 2.154",\
                 "0.1722, 0.2023, 0.296, 0.4423, 0.632, 0.8593, 1.121, 1.437, 1.826, 2.289",\
                 "0.1461, 0.1826, 0.2964, 0.4746, 0.7034, 0.9751, 1.286, 1.632, 2.022, 2.483",\
                 "0.0917, 0.1347, 0.2679, 0.4783, 0.7475, 1.064, 1.424, 1.826, 2.266, 2.742",\
                 "0.0097, 0.0585, 0.2098, 0.4507, 0.761, 1.124, 1.534, 1.989, 2.489, 3.028",\
                 "-0.1045, -0.049, 0.121, 0.3911, 0.7409, 1.151, 1.613, 2.122, 2.678, 3.281",\
                 "-0.2497, -0.1891, -0.0001, 0.2977, 0.6863, 1.144, 1.658, 2.224, 2.837, 3.499");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.2087, 0.2421, 0.3568, 0.5726, 0.9061, 1.374, 1.989, 2.764, 3.709, 4.837",\
                 "0.2173, 0.2517, 0.3689, 0.5874, 0.9233, 1.392, 2.009, 2.786, 3.728, 4.859",\
                 "0.2551, 0.2886, 0.4043, 0.6229, 0.9607, 1.431, 2.05, 2.825, 3.77, 4.9",\
                 "0.3227, 0.3595, 0.4818, 0.6984, 1.032, 1.501, 2.116, 2.893, 3.838, 4.968",\
                 "0.4298, 0.47, 0.5998, 0.8292, 1.163, 1.624, 2.234, 3.006, 3.95, 5.077",\
                 "0.5694, 0.6169, 0.7629, 1.004, 1.355, 1.819, 2.42, 3.183, 4.119, 5.241",\
                 "0.7382, 0.7936, 0.9618, 1.228, 1.593, 2.077, 2.684, 3.436, 4.364, 5.474",\
                 "0.936, 1, 1.192, 1.491, 1.882, 2.382, 3.013, 3.775, 4.691, 5.79",\
                 "1.163, 1.237, 1.454, 1.789, 2.217, 2.744, 3.392, 4.18, 5.108, 6.196",\
                 "1.423, 1.504, 1.749, 2.122, 2.593, 3.158, 3.829, 4.637, 5.592, 6.697");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1307, 0.1541, 0.2348, 0.3863, 0.622, 0.9506, 1.384, 1.93, 2.596, 3.39",\
                 "0.1292, 0.1531, 0.2345, 0.3863, 0.6218, 0.9512, 1.385, 1.931, 2.595, 3.39",\
                 "0.1614, 0.1821, 0.2478, 0.3864, 0.6219, 0.9517, 1.384, 1.93, 2.596, 3.39",\
                 "0.2355, 0.2609, 0.339, 0.4692, 0.657, 0.9556, 1.385, 1.931, 2.595, 3.389",\
                 "0.3341, 0.3646, 0.4567, 0.6064, 0.8138, 1.073, 1.429, 1.935, 2.596, 3.389",\
                 "0.4534, 0.4928, 0.603, 0.774, 1.002, 1.294, 1.643, 2.068, 2.643, 3.394",\
                 "0.5938, 0.6396, 0.7728, 0.9714, 1.226, 1.542, 1.926, 2.371, 2.882, 3.532",\
                 "0.7552, 0.8092, 0.9672, 1.197, 1.484, 1.826, 2.238, 2.722, 3.272, 3.88",\
                 "0.9376, 1.003, 1.183, 1.449, 1.774, 2.152, 2.594, 3.104, 3.692, 4.353",\
                 "1.142, 1.22, 1.429, 1.73, 2.099, 2.515, 2.989, 3.527, 4.149, 4.85");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.2403, 0.2968, 0.4938, 0.8701, 1.456, 2.278, 3.356, 4.72, 6.381, 8.366",\
                 "0.2409, 0.296, 0.4936, 0.8685, 1.456, 2.274, 3.353, 4.719, 6.378, 8.369",\
                 "0.2517, 0.3025, 0.4931, 0.8686, 1.455, 2.274, 3.358, 4.718, 6.384, 8.352",\
                 "0.3037, 0.3558, 0.5314, 0.8759, 1.455, 2.278, 3.355, 4.725, 6.379, 8.358",\
                 "0.3814, 0.429, 0.6058, 0.946, 1.482, 2.279, 3.359, 4.721, 6.376, 8.359",\
                 "0.4906, 0.5404, 0.7098, 1.046, 1.576, 2.325, 3.365, 4.717, 6.374, 8.368",\
                 "0.621, 0.6756, 0.8568, 1.18, 1.709, 2.45, 3.437, 4.74, 6.385, 8.36",\
                 "0.762, 0.8266, 1.027, 1.364, 1.875, 2.617, 3.592, 4.836, 6.408, 8.372",\
                 "0.918, 0.989, 1.213, 1.581, 2.088, 2.816, 3.801, 5.025, 6.545, 8.42",\
                 "1.084, 1.163, 1.415, 1.816, 2.361, 3.063, 4.031, 5.275, 6.767, 8.582");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1315, 0.146, 0.1952, 0.2861, 0.4253, 0.619, 0.8733, 1.193, 1.583, 2.048",\
                 "0.1439, 0.1586, 0.2081, 0.2993, 0.4386, 0.6325, 0.8868, 1.207, 1.597, 2.061",\
                 "0.1716, 0.1874, 0.239, 0.3303, 0.4698, 0.6639, 0.9183, 1.238, 1.628, 2.093",\
                 "0.1879, 0.2077, 0.2702, 0.3754, 0.5229, 0.7173, 0.9713, 1.291, 1.681, 2.146",\
                 "0.1804, 0.2057, 0.2846, 0.4108, 0.5799, 0.7943, 1.056, 1.375, 1.764, 2.228",\
                 "0.1418, 0.173, 0.27, 0.4236, 0.6228, 0.8639, 1.152, 1.491, 1.884, 2.347",\
                 "0.0704, 0.1074, 0.2221, 0.405, 0.6395, 0.9168, 1.236, 1.605, 2.027, 2.505",\
                 "-0.0358, 0.0067, 0.1393, 0.3507, 0.6223, 0.9409, 1.301, 1.705, 2.16, 2.67",\
                 "-0.1797, -0.1322, 0.0186, 0.2583, 0.5673, 0.9303, 1.335, 1.784, 2.276, 2.823",\
                 "-0.3648, -0.3111, -0.1425, 0.1264, 0.471, 0.8769, 1.332, 1.829, 2.371, 2.957");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1725, 0.193, 0.2637, 0.3961, 0.6002, 0.8856, 1.26, 1.732, 2.307, 2.992",\
                 "0.1869, 0.2077, 0.2788, 0.4116, 0.616, 0.9017, 1.276, 1.748, 2.323, 3.009",\
                 "0.2538, 0.274, 0.344, 0.476, 0.68, 0.9654, 1.34, 1.811, 2.387, 3.072",\
                 "0.3757, 0.4001, 0.4787, 0.6113, 0.812, 1.095, 1.468, 1.938, 2.512, 3.197",\
                 "0.5275, 0.5566, 0.6513, 0.8117, 1.027, 1.307, 1.675, 2.142, 2.714, 3.396",\
                 "0.715, 0.7492, 0.8587, 1.043, 1.297, 1.608, 1.978, 2.439, 3.005, 3.684",\
                 "0.9384, 0.9786, 1.106, 1.314, 1.599, 1.955, 2.37, 2.84, 3.401, 4.074",\
                 "1.201, 1.247, 1.392, 1.63, 1.945, 2.337, 2.802, 3.328, 3.908, 4.576",\
                 "1.503, 1.555, 1.721, 1.987, 2.338, 2.765, 3.271, 3.852, 4.496, 5.194",\
                 "1.847, 1.906, 2.091, 2.389, 2.778, 3.246, 3.79, 4.417, 5.12, 5.886");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1289, 0.1527, 0.2344, 0.3863, 0.6214, 0.951, 1.386, 1.931, 2.595, 3.39",\
                 "0.1288, 0.1526, 0.2342, 0.3858, 0.6214, 0.9505, 1.386, 1.93, 2.595, 3.389",\
                 "0.1482, 0.1691, 0.2405, 0.3865, 0.6213, 0.9511, 1.385, 1.931, 2.596, 3.39",\
                 "0.207, 0.2282, 0.3012, 0.4362, 0.6435, 0.9554, 1.385, 1.93, 2.595, 3.389",\
                 "0.2995, 0.3225, 0.3981, 0.5336, 0.7406, 1.028, 1.418, 1.936, 2.597, 3.389",\
                 "0.4152, 0.442, 0.5284, 0.6708, 0.8792, 1.168, 1.547, 2.023, 2.636, 3.397",\
                 "0.5478, 0.5798, 0.6802, 0.8418, 1.064, 1.351, 1.729, 2.207, 2.785, 3.494",\
                 "0.6984, 0.734, 0.8484, 1.035, 1.281, 1.585, 1.963, 2.438, 3.02, 3.711",\
                 "0.8616, 0.9034, 1.035, 1.247, 1.523, 1.855, 2.248, 2.723, 3.302, 3.994",\
                 "1.035, 1.084, 1.238, 1.479, 1.79, 2.151, 2.572, 3.064, 3.641, 4.333");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.2841, 0.3209, 0.4481, 0.6859, 1.049, 1.553, 2.212, 3.043, 4.055, 5.266",\
                 "0.284, 0.3209, 0.4479, 0.6857, 1.049, 1.552, 2.213, 3.042, 4.057, 5.264",\
                 "0.2899, 0.324, 0.4481, 0.6857, 1.049, 1.553, 2.212, 3.043, 4.058, 5.266",\
                 "0.3753, 0.4057, 0.5037, 0.7029, 1.05, 1.553, 2.213, 3.044, 4.057, 5.266",\
                 "0.4838, 0.5192, 0.6362, 0.8314, 1.117, 1.565, 2.214, 3.044, 4.057, 5.265",\
                 "0.6112, 0.6494, 0.7774, 1.002, 1.31, 1.7, 2.262, 3.05, 4.059, 5.267",\
                 "0.76, 0.8026, 0.941, 1.181, 1.528, 1.958, 2.467, 3.155, 4.083, 5.268",\
                 "0.927, 0.9736, 1.127, 1.385, 1.752, 2.232, 2.795, 3.437, 4.259, 5.333",\
                 "1.109, 1.163, 1.332, 1.615, 2, 2.508, 3.132, 3.835, 4.617, 5.585",\
                 "1.306, 1.367, 1.556, 1.865, 2.281, 2.812, 3.473, 4.237, 5.093, 6.027");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1051, 0.1185, 0.1652, 0.2536, 0.3911, 0.5838, 0.8371, 1.157, 1.546, 2.011",\
                 "0.117, 0.1308, 0.1778, 0.2666, 0.4042, 0.5972, 0.8508, 1.17, 1.56, 2.026",\
                 "0.1374, 0.154, 0.2066, 0.2974, 0.4353, 0.6283, 0.8823, 1.202, 1.592, 2.057",\
                 "0.1391, 0.1615, 0.2288, 0.3375, 0.4871, 0.6817, 0.9352, 1.254, 1.644, 2.109",\
                 "0.113, 0.1422, 0.2302, 0.3647, 0.5388, 0.7558, 1.019, 1.338, 1.728, 2.192",\
                 "0.0557, 0.0922, 0.2017, 0.3672, 0.5747, 0.821, 1.112, 1.453, 1.847, 2.31",\
                 "-0.0333, 0.01, 0.1398, 0.3372, 0.5825, 0.8677, 1.192, 1.564, 1.987, 2.467",\
                 "-0.1557, -0.1064, 0.043, 0.2711, 0.556, 0.8847, 1.252, 1.66, 2.117, 2.63",\
                 "-0.3169, -0.2607, -0.0908, 0.1679, 0.492, 0.8653, 1.279, 1.733, 2.231, 2.78",\
                 "-0.5184, -0.4556, -0.2654, 0.0248, 0.3873, 0.805, 1.269, 1.775, 2.32, 2.912");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1677, 0.1885, 0.2594, 0.392, 0.5957, 0.881, 1.255, 1.727, 2.3, 2.987",\
                 "0.1822, 0.2031, 0.2746, 0.4074, 0.6116, 0.8967, 1.271, 1.742, 2.317, 3.004",\
                 "0.2492, 0.2696, 0.3397, 0.4717, 0.6757, 0.9606, 1.335, 1.806, 2.382, 3.065",\
                 "0.3693, 0.394, 0.4737, 0.607, 0.8074, 1.09, 1.462, 1.931, 2.507, 3.192",\
                 "0.5194, 0.5492, 0.6445, 0.8061, 1.022, 1.302, 1.67, 2.135, 2.708, 3.391",\
                 "0.7045, 0.7393, 0.8506, 1.036, 1.29, 1.602, 1.972, 2.432, 2.998, 3.677",\
                 "0.9256, 0.9663, 1.095, 1.306, 1.591, 1.948, 2.363, 2.833, 3.393, 4.065",\
                 "1.184, 1.232, 1.38, 1.619, 1.935, 2.328, 2.793, 3.319, 3.9, 4.567",\
                 "1.482, 1.536, 1.705, 1.974, 2.328, 2.755, 3.261, 3.842, 4.486, 5.184",\
                 "1.822, 1.882, 2.072, 2.373, 2.765, 3.233, 3.778, 4.404, 5.108, 5.877");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.0948, 0.1173, 0.1967, 0.3474, 0.5831, 0.9133, 1.344, 1.892, 2.555, 3.349",\
                 "0.09514, 0.1176, 0.1965, 0.3475, 0.5831, 0.9133, 1.344, 1.891, 2.557, 3.354",\
                 "0.1233, 0.1429, 0.2109, 0.3499, 0.582, 0.9118, 1.345, 1.892, 2.56, 3.352",\
                 "0.1875, 0.2075, 0.2758, 0.4078, 0.6115, 0.9176, 1.345, 1.89, 2.558, 3.353",\
                 "0.2837, 0.3061, 0.3783, 0.5088, 0.7124, 0.9982, 1.383, 1.899, 2.558, 3.353",\
                 "0.4018, 0.4268, 0.5104, 0.6516, 0.855, 1.14, 1.517, 1.991, 2.601, 3.36",\
                 "0.537, 0.5658, 0.6626, 0.8228, 1.042, 1.326, 1.703, 2.178, 2.754, 3.462",\
                 "0.6848, 0.719, 0.8306, 1.016, 1.259, 1.562, 1.937, 2.411, 2.991, 3.681",\
                 "0.8412, 0.8844, 1.018, 1.227, 1.501, 1.833, 2.227, 2.698, 3.273, 3.966",\
                 "1.011, 1.061, 1.215, 1.455, 1.765, 2.128, 2.553, 3.04, 3.62, 4.307");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.2272, 0.2623, 0.3848, 0.6164, 0.9753, 1.478, 2.137, 2.968, 3.979, 5.191",\
                 "0.2266, 0.2624, 0.3855, 0.6167, 0.9754, 1.478, 2.138, 2.966, 3.982, 5.19",\
                 "0.232, 0.265, 0.3851, 0.6171, 0.9758, 1.478, 2.137, 2.968, 3.982, 5.191",\
                 "0.3063, 0.3397, 0.4395, 0.6332, 0.9758, 1.477, 2.138, 2.968, 3.983, 5.191",\
                 "0.3922, 0.4304, 0.5582, 0.7586, 1.042, 1.489, 2.137, 2.969, 3.982, 5.192",\
                 "0.4968, 0.5398, 0.6778, 0.9124, 1.231, 1.623, 2.185, 2.973, 3.982, 5.191",\
                 "0.6154, 0.666, 0.8218, 1.076, 1.435, 1.877, 2.391, 3.079, 4.006, 5.192",\
                 "0.748, 0.807, 0.9856, 1.265, 1.647, 2.137, 2.712, 3.359, 4.181, 5.254",\
                 "0.8992, 0.964, 1.165, 1.477, 1.885, 2.404, 3.039, 3.752, 4.54, 5.508",\
                 "1.055, 1.136, 1.361, 1.707, 2.153, 2.697, 3.366, 4.156, 5.01, 5.948");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.08996, 0.1001, 0.1354, 0.2021, 0.3057, 0.4506, 0.6416, 0.8822, 1.175, 1.525",\
                 "0.1029, 0.1134, 0.1491, 0.2163, 0.3198, 0.4653, 0.6559, 0.8964, 1.19, 1.539",\
                 "0.1288, 0.1435, 0.1886, 0.2605, 0.3648, 0.5102, 0.7012, 0.9417, 1.235, 1.585",\
                 "0.1328, 0.154, 0.2176, 0.3166, 0.4431, 0.5957, 0.7868, 1.028, 1.321, 1.67",\
                 "0.1084, 0.1365, 0.2207, 0.3493, 0.5109, 0.7006, 0.9163, 1.162, 1.455, 1.805",\
                 "0.0536, 0.0881, 0.1928, 0.3529, 0.5521, 0.7822, 1.041, 1.327, 1.643, 1.995",\
                 "-0.0325, 0.0076, 0.1317, 0.3228, 0.5605, 0.8346, 1.139, 1.472, 1.835, 2.228",\
                 "-0.1541, -0.1077, 0.0354, 0.2561, 0.5337, 0.8516, 1.205, 1.587, 2.002, 2.447",\
                 "-0.3136, -0.2613, -0.0998, 0.1511, 0.4668, 0.8306, 1.232, 1.668, 2.136, 2.635",\
                 "-0.514, -0.4558, -0.2754, 0.0054, 0.3586, 0.7673, 1.22, 1.709, 2.234, 2.789");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1929, 0.2132, 0.2832, 0.4147, 0.6183, 0.9031, 1.277, 1.748, 2.321, 3.006",\
                 "0.2077, 0.2281, 0.2986, 0.431, 0.6348, 0.9191, 1.293, 1.764, 2.34, 3.023",\
                 "0.2743, 0.2942, 0.3636, 0.495, 0.6985, 0.9836, 1.357, 1.829, 2.405, 3.09",\
                 "0.4003, 0.4239, 0.4999, 0.6307, 0.8306, 1.112, 1.485, 1.955, 2.53, 3.215",\
                 "0.5571, 0.5853, 0.6777, 0.8352, 1.047, 1.326, 1.693, 2.159, 2.731, 3.414",\
                 "0.7507, 0.7838, 0.8897, 1.071, 1.322, 1.63, 1.998, 2.458, 3.024, 3.701",\
                 "0.9816, 1.02, 1.142, 1.347, 1.629, 1.982, 2.393, 2.861, 3.421, 4.093",\
                 "1.25, 1.295, 1.436, 1.668, 1.98, 2.37, 2.831, 3.354, 3.93, 4.598",\
                 "1.561, 1.61, 1.771, 2.033, 2.379, 2.804, 3.307, 3.884, 4.525, 5.22",\
                 "1.912, 1.969, 2.149, 2.442, 2.825, 3.287, 3.832, 4.456, 5.157, 5.921");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.08509, 0.102, 0.1618, 0.2761, 0.4532, 0.7015, 1.028, 1.439, 1.94, 2.539",\
                 "0.08602, 0.1025, 0.1619, 0.276, 0.4527, 0.7017, 1.028, 1.44, 1.94, 2.536",\
                 "0.1328, 0.146, 0.1914, 0.2846, 0.4531, 0.7011, 1.026, 1.438, 1.939, 2.538",\
                 "0.2157, 0.2309, 0.2837, 0.3784, 0.515, 0.721, 1.028, 1.437, 1.939, 2.537",\
                 "0.3257, 0.3429, 0.4024, 0.5086, 0.6628, 0.862, 1.115, 1.468, 1.945, 2.538",\
                 "0.457, 0.4764, 0.5446, 0.6674, 0.8358, 1.056, 1.326, 1.646, 2.048, 2.581",\
                 "0.6048, 0.6272, 0.7076, 0.848, 1.041, 1.28, 1.572, 1.918, 2.318, 2.784",\
                 "0.7656, 0.793, 0.8862, 1.05, 1.269, 1.539, 1.852, 2.225, 2.651, 3.136",\
                 "0.937, 0.971, 1.083, 1.269, 1.521, 1.821, 2.173, 2.562, 3.018, 3.529",\
                 "1.119, 1.16, 1.292, 1.507, 1.793, 2.13, 2.512, 2.944, 3.42, 3.965");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.2568, 0.2919, 0.4148, 0.6458, 1.006, 1.508, 2.167, 2.998, 4.009, 5.216",\
                 "0.256, 0.2917, 0.4148, 0.6474, 1.005, 1.506, 2.166, 2.997, 4.01, 5.218",\
                 "0.2586, 0.2926, 0.4143, 0.6465, 1.005, 1.508, 2.166, 2.999, 4.012, 5.222",\
                 "0.3297, 0.3612, 0.46, 0.6588, 1.006, 1.507, 2.167, 2.999, 4.013, 5.223",\
                 "0.4188, 0.4568, 0.5786, 0.7772, 1.064, 1.516, 2.167, 2.999, 4.011, 5.22",\
                 "0.5212, 0.5644, 0.6994, 0.9358, 1.249, 1.644, 2.21, 3.002, 4.013, 5.221",\
                 "0.643, 0.6914, 0.8412, 1.095, 1.454, 1.892, 2.408, 3.1, 4.032, 5.221",\
                 "0.7786, 0.8334, 1.004, 1.279, 1.661, 2.154, 2.724, 3.372, 4.203, 5.281",\
                 "0.931, 0.9914, 1.186, 1.488, 1.893, 2.415, 3.048, 3.761, 4.551, 5.524",\
                 "1.093, 1.163, 1.38, 1.716, 2.154, 2.7, 3.374, 4.157, 5.015, 5.951");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1315, 0.146, 0.1952, 0.2861, 0.4253, 0.619, 0.8733, 1.193, 1.583, 2.048",\
                 "0.1439, 0.1586, 0.2081, 0.2993, 0.4386, 0.6325, 0.8868, 1.207, 1.597, 2.061",\
                 "0.1716, 0.1874, 0.239, 0.3303, 0.4698, 0.6639, 0.9183, 1.238, 1.628, 2.093",\
                 "0.1879, 0.2077, 0.2702, 0.3754, 0.5229, 0.7173, 0.9713, 1.291, 1.681, 2.146",\
                 "0.1804, 0.2057, 0.2846, 0.4108, 0.5799, 0.7943, 1.056, 1.375, 1.764, 2.228",\
                 "0.1418, 0.173, 0.27, 0.4236, 0.6228, 0.8639, 1.152, 1.491, 1.884, 2.347",\
                 "0.0704, 0.1074, 0.2221, 0.405, 0.6395, 0.9168, 1.236, 1.605, 2.027, 2.505",\
                 "-0.0358, 0.0067, 0.1393, 0.3507, 0.6223, 0.9409, 1.301, 1.705, 2.16, 2.67",\
                 "-0.1797, -0.1322, 0.0186, 0.2583, 0.5673, 0.9303, 1.335, 1.784, 2.276, 2.823",\
                 "-0.3648, -0.3111, -0.1425, 0.1264, 0.471, 0.8769, 1.332, 1.829, 2.371, 2.957");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1929, 0.2132, 0.2832, 0.4147, 0.6183, 0.9031, 1.277, 1.748, 2.321, 3.006",\
                 "0.2077, 0.2281, 0.2986, 0.431, 0.6348, 0.9191, 1.293, 1.764, 2.34, 3.023",\
                 "0.2743, 0.2942, 0.3636, 0.495, 0.6985, 0.9836, 1.357, 1.829, 2.405, 3.09",\
                 "0.4003, 0.4239, 0.4999, 0.6307, 0.8306, 1.112, 1.485, 1.955, 2.53, 3.215",\
                 "0.5571, 0.5853, 0.6777, 0.8352, 1.047, 1.326, 1.693, 2.159, 2.731, 3.414",\
                 "0.7507, 0.7838, 0.8897, 1.071, 1.322, 1.63, 1.998, 2.458, 3.024, 3.701",\
                 "0.9816, 1.02, 1.142, 1.347, 1.629, 1.982, 2.393, 2.861, 3.421, 4.093",\
                 "1.25, 1.295, 1.436, 1.668, 1.98, 2.37, 2.831, 3.354, 3.93, 4.598",\
                 "1.561, 1.61, 1.771, 2.033, 2.379, 2.804, 3.307, 3.884, 4.525, 5.22",\
                 "1.912, 1.969, 2.149, 2.442, 2.825, 3.287, 3.832, 4.456, 5.157, 5.921");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.1289, 0.1527, 0.2344, 0.3863, 0.6214, 0.951, 1.386, 1.931, 2.595, 3.39",\
                 "0.1288, 0.1526, 0.2342, 0.3858, 0.6214, 0.9505, 1.386, 1.93, 2.595, 3.389",\
                 "0.1482, 0.1691, 0.2405, 0.3865, 0.6213, 0.9511, 1.385, 1.931, 2.596, 3.39",\
                 "0.207, 0.2282, 0.3012, 0.4362, 0.6435, 0.9554, 1.385, 1.93, 2.595, 3.389",\
                 "0.2995, 0.3225, 0.3981, 0.5336, 0.7406, 1.028, 1.418, 1.936, 2.597, 3.389",\
                 "0.4152, 0.442, 0.5284, 0.6708, 0.8792, 1.168, 1.547, 2.023, 2.636, 3.397",\
                 "0.5478, 0.5798, 0.6802, 0.8418, 1.064, 1.351, 1.729, 2.207, 2.785, 3.494",\
                 "0.6984, 0.734, 0.8484, 1.035, 1.281, 1.585, 1.963, 2.438, 3.02, 3.711",\
                 "0.8616, 0.9034, 1.035, 1.247, 1.523, 1.855, 2.248, 2.723, 3.302, 3.994",\
                 "1.035, 1.084, 1.238, 1.479, 1.79, 2.151, 2.572, 3.064, 3.641, 4.333");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005475, 0.02119, 0.05119, 0.09792, 0.1635, 0.2498, 0.3585, 0.4912, 0.6494");
          values("0.2841, 0.3209, 0.4481, 0.6859, 1.049, 1.553, 2.212, 3.043, 4.055, 5.266",\
                 "0.284, 0.3209, 0.4479, 0.6857, 1.049, 1.552, 2.213, 3.042, 4.057, 5.264",\
                 "0.2899, 0.324, 0.4481, 0.6857, 1.049, 1.553, 2.212, 3.043, 4.058, 5.266",\
                 "0.3753, 0.4057, 0.5037, 0.7029, 1.05, 1.553, 2.213, 3.044, 4.057, 5.266",\
                 "0.4838, 0.5192, 0.6362, 0.8314, 1.117, 1.565, 2.214, 3.044, 4.057, 5.265",\
                 "0.6112, 0.6494, 0.7774, 1.002, 1.31, 1.7, 2.262, 3.05, 4.059, 5.267",\
                 "0.76, 0.8026, 0.941, 1.181, 1.528, 1.958, 2.467, 3.155, 4.083, 5.268",\
                 "0.927, 0.9736, 1.127, 1.385, 1.752, 2.232, 2.795, 3.437, 4.259, 5.333",\
                 "1.109, 1.163, 1.332, 1.615, 2, 2.508, 3.132, 3.835, 4.617, 5.585",\
                 "1.306, 1.367, 1.556, 1.865, 2.281, 2.812, 3.473, 4.237, 5.093, 6.027");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai22_1) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2" ;
      value : "7.62828e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2" ;
      value : "7.35801e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2" ;
      value : "7.62828e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2" ;
      value : "7.65369e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.65369e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004828 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01854, 0.01856, 0.01849, 0.01845, 0.01839, 0.01839, 0.01837, \
                 0.01835, 0.01835, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02152, 0.02153, 0.02154, 0.02151, 0.02144, 0.02136, 0.02128, \
                 0.02119, 0.02107, 0.02093");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01851, 0.01852, 0.01854, 0.0185, 0.01845, 0.01842, 0.01838, \
                 0.01836, 0.01834, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01772, -0.01783, -0.01791, -0.01805, -0.01809, -0.01812, -0.01813, \
                 -0.01812, -0.01813, -0.01813");
        }
      }

      internal_power() {
        when : "A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01165, 0.01163, 0.01162, 0.01162, 0.01162, 0.01162, \
                 0.0116, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005276, -0.005267, -0.005278, -0.005286, -0.005287, -0.005307, \
                 -0.005302, -0.005304, -0.005304, -0.005299");
        }
      }

      internal_power() {
        when : "A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01165, 0.01162, 0.01162, 0.01162, 0.01162, 0.01162, \
                 0.0116, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005288, -0.00527, -0.005276, -0.005292, -0.005286, -0.005296, \
                 -0.005302, -0.005301, -0.005301, -0.005299");
        }
      }

      internal_power() {
        when : "A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01164, 0.01163, 0.01162, 0.01161, 0.01163, 0.01162, \
                 0.01161, 0.01158, 0.01157");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005274, -0.005278, -0.005279, -0.005283, -0.005289, -0.005304, \
                 -0.0053, -0.005301, -0.005299, -0.005299");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004707 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01843, 0.01842, 0.01842, 0.0184, 0.01839, 0.01838, 0.01838, \
                 0.01835, 0.01835, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02171, 0.02166, 0.0216, 0.02154, 0.02149, 0.02139, 0.02129, \
                 0.02119, 0.02108, 0.02094");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0184, 0.01841, 0.01838, 0.01837, 0.01835, 0.01837, 0.01832, \
                 0.01833, 0.01831, 0.01832");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01755, -0.01756, -0.0178, -0.01793, -0.01798, -0.01807, -0.01808, \
                 -0.01809, -0.01811, -0.01809");
        }
      }

      internal_power() {
        when : "A1&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01627, 0.01625, 0.0163, 0.01626, 0.01633, 0.01633, 0.01631, \
                 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01347, -0.01465, -0.01561, -0.01582, -0.01589, -0.01596, -0.01602, \
                 -0.01605, -0.01606, -0.01607");
        }
      }

      internal_power() {
        when : "A1&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01627, 0.01625, 0.01631, 0.01627, 0.01634, 0.01632, \
                 0.01631, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01465, -0.01561, -0.01582, -0.0159, -0.01597, -0.01602, \
                 -0.01604, -0.01606, -0.01607");
        }
      }

      internal_power() {
        when : "A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01626, 0.01629, 0.01631, 0.01632, 0.01632, \
                 0.01631, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01347, -0.01464, -0.01562, -0.01582, -0.01591, -0.01599, -0.01601, \
                 -0.01605, -0.01605, -0.01606");
        }
      }
    }

    pin(B1) {
      capacitance : 0.004714 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0166, 0.01648, 0.01645, 0.01642, 0.01637, 0.01635, 0.01635, \
                 0.01634, 0.01632, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01652, -0.01651, -0.01646, -0.01643, -0.01637, -0.01635, -0.01633, \
                 -0.01631, -0.0163, -0.0163");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01646, 0.01648, 0.01651, 0.01647, 0.01645, 0.01639, 0.01636, \
                 0.01636, 0.01633, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01564, -0.01576, -0.01586, -0.01601, -0.01605, -0.01609, -0.01608, \
                 -0.0161, -0.01609, -0.01611");
        }
      }

      internal_power() {
        when : "!A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01242, 0.0124, 0.01237, 0.01237, 0.01237, 0.01238, 0.01236, \
                 0.01235, 0.01233, 0.0123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005299, -0.005303, -0.005313, -0.005311, -0.005306, -0.005322, \
                 -0.005318, -0.00532, -0.00532, -0.005321");
        }
      }

      internal_power() {
        when : "A1&!A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01241, 0.0124, 0.01237, 0.01237, 0.01237, 0.01238, 0.01237, \
                 0.01235, 0.01233, 0.0123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005299, -0.005303, -0.00531, -0.00531, -0.005307, -0.00532, \
                 -0.005314, -0.005322, -0.005318, -0.005319");
        }
      }

      internal_power() {
        when : "A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01242, 0.0124, 0.01239, 0.01237, 0.01236, 0.01237, 0.01237, \
                 0.01235, 0.01233, 0.01231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005299, -0.005298, -0.005301, -0.005307, -0.005309, -0.005326, \
                 -0.005321, -0.005322, -0.005322, -0.005319");
        }
      }
    }

    pin(B2) {
      capacitance : 0.004515 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01648, 0.01642, 0.0164, 0.01638, 0.01637, 0.01633, 0.01633, \
                 0.01631, 0.01632, 0.01633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01633, -0.01636, -0.01641, -0.01634, -0.01633, -0.01634, -0.01631, \
                 -0.0163, -0.0163, -0.01629");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01632, 0.01631, 0.01632, 0.01627, 0.01627, 0.01635, 0.01632, \
                 0.0163, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01546, -0.01544, -0.01566, -0.01581, -0.0159, -0.016, -0.016, \
                 -0.01604, -0.01605, -0.01608");
        }
      }

      internal_power() {
        when : "!A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01631, 0.01626, 0.01631, 0.01632, 0.01632, 0.01633, \
                 0.01631, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01356, -0.01471, -0.01564, -0.01582, -0.0159, -0.01599, -0.016, \
                 -0.01604, -0.01607, -0.01607");
        }
      }

      internal_power() {
        when : "A1&!A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01631, 0.01626, 0.01629, 0.01632, 0.01632, 0.01632, \
                 0.01632, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01354, -0.0147, -0.01563, -0.01582, -0.01589, -0.01599, -0.016, \
                 -0.01604, -0.01606, -0.01607");
        }
      }

      internal_power() {
        when : "A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01631, 0.01627, 0.01629, 0.01631, 0.01632, 0.01633, \
                 0.01632, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01354, -0.01468, -0.01563, -0.01582, -0.0159, -0.01598, -0.016, \
                 -0.01603, -0.01605, -0.01608");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|((!B1)&(!B2)))" ;
      max_capacitance : 0.1792 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.01582, 0.01587, 0.01597, 0.01607, 0.01614, 0.01618, 0.01622, 0.01624, 0.01626, 0.01624",\
                 "0.01599, 0.0161, 0.01634, 0.01661, 0.01677, 0.01688, 0.01695, 0.01698, 0.01701, 0.01702",\
                 "0.01691, 0.01695, 0.01706, 0.01723, 0.01733, 0.01745, 0.01751, 0.01754, 0.01758, 0.0176",\
                 "0.02095, 0.02073, 0.02025, 0.01971, 0.0193, 0.01893, 0.01868, 0.01849, 0.01835, 0.01823",\
                 "0.03023, 0.02962, 0.02808, 0.02628, 0.02463, 0.02326, 0.02217, 0.02134, 0.02062, 0.02012",\
                 "0.04583, 0.04485, 0.04202, 0.03841, 0.03493, 0.03188, 0.02941, 0.02739, 0.02573, 0.02439",\
                 "0.06836, 0.06698, 0.06286, 0.0572, 0.05138, 0.04619, 0.04172, 0.03796, 0.03483, 0.03224",\
                 "0.09811, 0.09637, 0.09106, 0.08338, 0.07497, 0.06707, 0.06015, 0.05412, 0.04904, 0.04469",\
                 "0.1355, 0.1334, 0.1271, 0.1174, 0.1064, 0.09555, 0.08562, 0.07693, 0.06938, 0.06282",\
                 "0.1807, 0.1784, 0.1711, 0.1597, 0.1462, 0.1322, 0.119, 0.1073, 0.09679, 0.08765");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.06394, 0.06425, 0.06481, 0.06528, 0.06573, 0.06618, 0.0665, 0.06709, 0.06758, 0.06943",\
                 "0.06281, 0.06321, 0.06412, 0.06506, 0.06582, 0.06641, 0.067, 0.06749, 0.06811, 0.06999",\
                 "0.06387, 0.06386, 0.06406, 0.0646, 0.06543, 0.06622, 0.0668, 0.06745, 0.06811, 0.07022",\
                 "0.07044, 0.06996, 0.06883, 0.06781, 0.06744, 0.06737, 0.06766, 0.06805, 0.06866, 0.07076",\
                 "0.08323, 0.08234, 0.07994, 0.07699, 0.07454, 0.07272, 0.07165, 0.07112, 0.07116, 0.07299",\
                 "0.1027, 0.1013, 0.0976, 0.09284, 0.08813, 0.08397, 0.08092, 0.07864, 0.07726, 0.07863",\
                 "0.1295, 0.1278, 0.1227, 0.116, 0.1089, 0.1024, 0.0967, 0.09207, 0.08868, 0.08951",\
                 "0.1642, 0.162, 0.1557, 0.147, 0.1375, 0.1286, 0.1203, 0.1126, 0.1071, 0.1071",\
                 "0.2071, 0.2046, 0.1972, 0.1865, 0.1745, 0.1627, 0.1518, 0.1417, 0.1331, 0.1348",\
                 "0.259, 0.2561, 0.2476, 0.2351, 0.2206, 0.2058, 0.1917, 0.179, 0.1692, 0.1764");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.004438, 0.00454, 0.004723, 0.004845, 0.004916, 0.004955, 0.004992, 0.005007, 0.005015, 0.005023",\
                 "0.004369, 0.004554, 0.004983, 0.005298, 0.005508, 0.005623, 0.005703, 0.005737, 0.005776, 0.00579",\
                 "0.005336, 0.005439, 0.005656, 0.005905, 0.006069, 0.006188, 0.00626, 0.006307, 0.006325, 0.006361",\
                 "0.01023, 0.009934, 0.009279, 0.00862, 0.008114, 0.007739, 0.007468, 0.007261, 0.007122, 0.007021",\
                 "0.02085, 0.02, 0.01793, 0.01569, 0.01375, 0.01224, 0.01108, 0.01015, 0.009461, 0.008942",\
                 "0.03782, 0.03649, 0.03296, 0.0285, 0.02453, 0.02117, 0.01853, 0.01636, 0.01466, 0.01329",\
                 "0.06157, 0.05983, 0.0548, 0.04811, 0.04155, 0.03588, 0.03109, 0.02716, 0.0239, 0.02124",\
                 "0.09242, 0.09026, 0.08401, 0.07518, 0.0658, 0.05729, 0.04993, 0.04361, 0.03831, 0.03388",\
                 "0.1307, 0.1283, 0.1209, 0.1101, 0.09795, 0.08624, 0.07578, 0.06675, 0.05895, 0.0522",\
                 "0.1768, 0.1741, 0.1658, 0.1531, 0.1384, 0.1235, 0.1097, 0.09733, 0.08664, 0.07719");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.05227, 0.05256, 0.05315, 0.05356, 0.05391, 0.05427, 0.05482, 0.05495, 0.05557, 0.05698",\
                 "0.05115, 0.05154, 0.05244, 0.05335, 0.05408, 0.05454, 0.05515, 0.05574, 0.0561, 0.05757",\
                 "0.05217, 0.05218, 0.05238, 0.05287, 0.05365, 0.05437, 0.05489, 0.05577, 0.05617, 0.05794",\
                 "0.0588, 0.05832, 0.0572, 0.05603, 0.05563, 0.05553, 0.05585, 0.0562, 0.0565, 0.05895",\
                 "0.07162, 0.07072, 0.06822, 0.06531, 0.06272, 0.06094, 0.05974, 0.05924, 0.05916, 0.06029",\
                 "0.09133, 0.0899, 0.08604, 0.08118, 0.07645, 0.07226, 0.06895, 0.0665, 0.06519, 0.06624",\
                 "0.1184, 0.1166, 0.1113, 0.1043, 0.09731, 0.0908, 0.08482, 0.08009, 0.07658, 0.0771",\
                 "0.1534, 0.1511, 0.1445, 0.1354, 0.1258, 0.1169, 0.1085, 0.1009, 0.09485, 0.09459",\
                 "0.1967, 0.194, 0.1862, 0.175, 0.1629, 0.1511, 0.1402, 0.1299, 0.121, 0.1216",\
                 "0.2488, 0.2458, 0.2369, 0.2238, 0.2092, 0.1944, 0.1802, 0.1673, 0.1572, 0.1624");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.004419, 0.004542, 0.004715, 0.004841, 0.004903, 0.004957, 0.00498, 0.005008, 0.005016, 0.005023",\
                 "0.004422, 0.004595, 0.004978, 0.005323, 0.005513, 0.00562, 0.005696, 0.005743, 0.005776, 0.0058",\
                 "0.00552, 0.005627, 0.005809, 0.00603, 0.006155, 0.006231, 0.006293, 0.006336, 0.006361, 0.006381",\
                 "0.01074, 0.01043, 0.009703, 0.008999, 0.008449, 0.008006, 0.007675, 0.007454, 0.007257, 0.007121",\
                 "0.02183, 0.02098, 0.01886, 0.01653, 0.01452, 0.01292, 0.01162, 0.01067, 0.009894, 0.009282",\
                 "0.03943, 0.03811, 0.03451, 0.03001, 0.02593, 0.02246, 0.01964, 0.01737, 0.01554, 0.0141",\
                 "0.06405, 0.06228, 0.05723, 0.05053, 0.04386, 0.03799, 0.03303, 0.02892, 0.02552, 0.02272",\
                 "0.09593, 0.09381, 0.08755, 0.07867, 0.06924, 0.06045, 0.0529, 0.04642, 0.04089, 0.03626",\
                 "0.1355, 0.1331, 0.1257, 0.1148, 0.1027, 0.09083, 0.08016, 0.07084, 0.06274, 0.0558",\
                 "0.1832, 0.1804, 0.1722, 0.1595, 0.1447, 0.1296, 0.1156, 0.1031, 0.09199, 0.08225");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.05213, 0.05243, 0.053, 0.05337, 0.05378, 0.05407, 0.05443, 0.05478, 0.05561, 0.05698",\
                 "0.05068, 0.05104, 0.05192, 0.05283, 0.05358, 0.05404, 0.05456, 0.05501, 0.05567, 0.05719",\
                 "0.05192, 0.05187, 0.05187, 0.05224, 0.05299, 0.05368, 0.0542, 0.05472, 0.05544, 0.05725",\
                 "0.05918, 0.05866, 0.05738, 0.05603, 0.05533, 0.05516, 0.05529, 0.05551, 0.05594, 0.05767",\
                 "0.07275, 0.07182, 0.06926, 0.06615, 0.06329, 0.06123, 0.05991, 0.05911, 0.059, 0.06009",\
                 "0.09331, 0.09183, 0.08796, 0.08311, 0.0781, 0.07348, 0.07007, 0.06722, 0.06559, 0.06634",\
                 "0.1214, 0.1196, 0.1143, 0.1074, 0.1003, 0.09377, 0.08736, 0.08214, 0.0783, 0.07819",\
                 "0.1579, 0.1555, 0.1488, 0.14, 0.1303, 0.1215, 0.1127, 0.1044, 0.09818, 0.09739",\
                 "0.2029, 0.2002, 0.1922, 0.1811, 0.1691, 0.1574, 0.1463, 0.136, 0.1264, 0.1267",\
                 "0.257, 0.2541, 0.2449, 0.2318, 0.2173, 0.2026, 0.1885, 0.1755, 0.1649, 0.17");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.0255, 0.02548, 0.02545, 0.02549, 0.02549, 0.02551, 0.02552, 0.02552, 0.02553, 0.0255",\
                 "0.02451, 0.02455, 0.02452, 0.02457, 0.02459, 0.0246, 0.02463, 0.02465, 0.02465, 0.02462",\
                 "0.02461, 0.02457, 0.02443, 0.02429, 0.02421, 0.02417, 0.02413, 0.02412, 0.0241, 0.02405",\
                 "0.02876, 0.02849, 0.02772, 0.02693, 0.02617, 0.02556, 0.02515, 0.02484, 0.02461, 0.02447",\
                 "0.03902, 0.0384, 0.03658, 0.03426, 0.03207, 0.03035, 0.0289, 0.02781, 0.027, 0.02639",\
                 "0.05675, 0.05564, 0.05251, 0.04819, 0.04385, 0.04003, 0.03696, 0.03448, 0.0325, 0.03094",\
                 "0.08249, 0.08098, 0.07642, 0.0699, 0.06293, 0.05642, 0.05089, 0.04632, 0.04256, 0.03949",\
                 "0.1168, 0.115, 0.1091, 0.1003, 0.09032, 0.08069, 0.07208, 0.06468, 0.05845, 0.05328",\
                 "0.1601, 0.1579, 0.1509, 0.1399, 0.127, 0.1139, 0.1018, 0.09091, 0.08163, 0.07373",\
                 "0.2126, 0.2102, 0.2021, 0.1891, 0.1734, 0.1568, 0.1408, 0.1262, 0.1131, 0.1018");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.07575, 0.076, 0.07642, 0.07685, 0.07721, 0.07767, 0.07802, 0.07848, 0.07927, 0.08085",\
                 "0.07434, 0.07476, 0.07572, 0.07665, 0.07737, 0.0779, 0.07852, 0.07904, 0.07963, 0.08159",\
                 "0.07349, 0.07366, 0.07432, 0.0753, 0.07638, 0.07727, 0.07805, 0.07881, 0.07953, 0.08164",\
                 "0.0787, 0.07836, 0.0777, 0.0772, 0.07741, 0.0778, 0.07832, 0.07897, 0.07979, 0.08195",\
                 "0.09204, 0.09108, 0.0888, 0.08627, 0.08427, 0.08298, 0.08218, 0.08188, 0.08209, 0.08411",\
                 "0.114, 0.1126, 0.1085, 0.1034, 0.09876, 0.09499, 0.09195, 0.08986, 0.08858, 0.08988",\
                 "0.1449, 0.1429, 0.1373, 0.1297, 0.122, 0.1153, 0.1096, 0.1046, 0.1015, 0.1016",\
                 "0.1849, 0.1825, 0.1757, 0.1657, 0.1548, 0.1447, 0.1358, 0.128, 0.122, 0.1211",\
                 "0.2343, 0.2318, 0.2236, 0.2116, 0.1977, 0.1842, 0.1717, 0.1606, 0.1514, 0.1506",\
                 "0.2939, 0.291, 0.2821, 0.268, 0.2513, 0.2341, 0.2177, 0.2035, 0.1916, 0.1937");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.01421, 0.01421, 0.01423, 0.01426, 0.01427, 0.01427, 0.01428, 0.01428, 0.01429, 0.01428",\
                 "0.01322, 0.01322, 0.01328, 0.01332, 0.01337, 0.01338, 0.0134, 0.0134, 0.01342, 0.0134",\
                 "0.01342, 0.01337, 0.01325, 0.01308, 0.01299, 0.01295, 0.01292, 0.01288, 0.01287, 0.01284",\
                 "0.0184, 0.01799, 0.01699, 0.01594, 0.01505, 0.01442, 0.01398, 0.01365, 0.01342, 0.01325",\
                 "0.03, 0.0291, 0.02673, 0.02387, 0.02137, 0.01939, 0.01786, 0.01671, 0.01585, 0.01521",\
                 "0.04909, 0.04772, 0.04378, 0.03865, 0.03365, 0.02947, 0.02614, 0.02351, 0.02146, 0.01985",\
                 "0.07629, 0.07437, 0.06887, 0.06128, 0.0534, 0.04633, 0.0404, 0.03555, 0.03166, 0.02851",\
                 "0.1118, 0.1096, 0.1026, 0.09259, 0.08163, 0.07119, 0.06201, 0.05424, 0.0478, 0.0425",\
                 "0.1561, 0.1535, 0.1455, 0.1332, 0.119, 0.105, 0.09222, 0.0809, 0.07126, 0.06316",\
                 "0.2095, 0.2066, 0.1976, 0.1833, 0.1663, 0.1486, 0.1318, 0.1166, 0.1032, 0.09154");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.06404, 0.06434, 0.06474, 0.06508, 0.06546, 0.06576, 0.06621, 0.06646, 0.06712, 0.06839",\
                 "0.06267, 0.06309, 0.06402, 0.06489, 0.06556, 0.06612, 0.0667, 0.06703, 0.06765, 0.06904",\
                 "0.06181, 0.06198, 0.06261, 0.06357, 0.06464, 0.06559, 0.06634, 0.06689, 0.06762, 0.06975",\
                 "0.06699, 0.06666, 0.06605, 0.06547, 0.06563, 0.06599, 0.06647, 0.06719, 0.06749, 0.06941",\
                 "0.08044, 0.07946, 0.07712, 0.07462, 0.07252, 0.07107, 0.0703, 0.0699, 0.07015, 0.07175",\
                 "0.1027, 0.1012, 0.09692, 0.09182, 0.08718, 0.08318, 0.08003, 0.07778, 0.07648, 0.07754",\
                 "0.1338, 0.1318, 0.126, 0.1181, 0.1103, 0.1036, 0.09762, 0.09273, 0.0892, 0.0889",\
                 "0.1741, 0.1717, 0.1645, 0.1541, 0.1432, 0.133, 0.1241, 0.1162, 0.1097, 0.1084",\
                 "0.2238, 0.2211, 0.2128, 0.2004, 0.186, 0.1724, 0.1599, 0.149, 0.1397, 0.1376",\
                 "0.2837, 0.2807, 0.2713, 0.2569, 0.2397, 0.2225, 0.2062, 0.1917, 0.18, 0.1807");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.01421, 0.01421, 0.01422, 0.01425, 0.01426, 0.01428, 0.01427, 0.01429, 0.01429, 0.0143",\
                 "0.01323, 0.01323, 0.01328, 0.01332, 0.01337, 0.01338, 0.0134, 0.01341, 0.0134, 0.01341",\
                 "0.01354, 0.01349, 0.01333, 0.01317, 0.01305, 0.01298, 0.01294, 0.01292, 0.0129, 0.01288",\
                 "0.01891, 0.0185, 0.01741, 0.01631, 0.01538, 0.01467, 0.01414, 0.01381, 0.01355, 0.01335",\
                 "0.03112, 0.0302, 0.02778, 0.02479, 0.02218, 0.02007, 0.01842, 0.01718, 0.01625, 0.01555",\
                 "0.05117, 0.04973, 0.04567, 0.04043, 0.0353, 0.03091, 0.02739, 0.02463, 0.02244, 0.02069",\
                 "0.0795, 0.07762, 0.07198, 0.06423, 0.05615, 0.04892, 0.04271, 0.03766, 0.03349, 0.03012",\
                 "0.1166, 0.1143, 0.1073, 0.09711, 0.0859, 0.07521, 0.06572, 0.05766, 0.05092, 0.04529",\
                 "0.1627, 0.16, 0.152, 0.1395, 0.1251, 0.1109, 0.09765, 0.08598, 0.07594, 0.0674",\
                 "0.2184, 0.2155, 0.2063, 0.1918, 0.1745, 0.1565, 0.1394, 0.1238, 0.1099, 0.09786");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.06391, 0.06417, 0.06462, 0.06492, 0.06533, 0.06559, 0.06594, 0.06633, 0.06676, 0.0683",\
                 "0.06224, 0.06264, 0.06355, 0.0644, 0.0651, 0.06566, 0.06621, 0.0665, 0.06729, 0.06874",\
                 "0.06149, 0.06165, 0.06213, 0.06293, 0.06391, 0.06486, 0.06545, 0.066, 0.06683, 0.06853",\
                 "0.06721, 0.06685, 0.06601, 0.06533, 0.06523, 0.06543, 0.06588, 0.0665, 0.06693, 0.06869",\
                 "0.08168, 0.08069, 0.07811, 0.0754, 0.07292, 0.0712, 0.0702, 0.06957, 0.06979, 0.07152",\
                 "0.1053, 0.1037, 0.09928, 0.09397, 0.08893, 0.08463, 0.08106, 0.07854, 0.07684, 0.0777",\
                 "0.138, 0.1359, 0.13, 0.122, 0.114, 0.1068, 0.1004, 0.09494, 0.09085, 0.09043",\
                 "0.1803, 0.1778, 0.1705, 0.1601, 0.1488, 0.1384, 0.129, 0.1207, 0.1134, 0.1117",\
                 "0.2326, 0.2297, 0.2212, 0.2085, 0.1943, 0.1803, 0.1676, 0.1561, 0.1459, 0.1437",\
                 "0.2954, 0.2923, 0.2828, 0.268, 0.2507, 0.2335, 0.2168, 0.2019, 0.1894, 0.1896");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.01506, 0.0151, 0.01519, 0.01531, 0.01538, 0.01543, 0.01547, 0.01549, 0.01549, 0.01548",\
                 "0.01492, 0.01506, 0.01541, 0.01572, 0.01594, 0.01607, 0.01614, 0.01619, 0.01622, 0.01623",\
                 "0.01405, 0.01424, 0.01481, 0.01542, 0.01587, 0.0162, 0.01639, 0.01653, 0.01662, 0.0167",\
                 "0.01545, 0.0155, 0.01572, 0.01605, 0.01636, 0.01655, 0.0167, 0.0168, 0.01687, 0.01691",\
                 "0.02228, 0.02201, 0.0213, 0.0206, 0.01998, 0.01952, 0.01911, 0.01875, 0.01845, 0.01823",\
                 "0.03584, 0.03521, 0.03337, 0.03099, 0.02879, 0.02688, 0.02526, 0.02395, 0.02283, 0.02192",\
                 "0.05685, 0.05581, 0.05273, 0.04837, 0.04401, 0.04004, 0.03664, 0.03374, 0.03132, 0.02926",\
                 "0.0858, 0.08438, 0.07998, 0.07364, 0.06672, 0.06017, 0.05438, 0.04938, 0.04509, 0.0414",\
                 "0.123, 0.1212, 0.1156, 0.1072, 0.09757, 0.08813, 0.07944, 0.07184, 0.06517, 0.0594",\
                 "0.1686, 0.1665, 0.1598, 0.1494, 0.1371, 0.1246, 0.1128, 0.1019, 0.09256, 0.08421");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1144, 0.1144, 0.1145, 0.1146, 0.1148, 0.1151, 0.1155, 0.116, 0.1165, 0.1185",\
                 "0.1131, 0.1132, 0.1134, 0.1136, 0.114, 0.1143, 0.1147, 0.1153, 0.1159, 0.1178",\
                 "0.113, 0.113, 0.113, 0.1131, 0.1134, 0.1138, 0.1142, 0.1148, 0.1155, 0.1174",\
                 "0.1184, 0.118, 0.1171, 0.1162, 0.1156, 0.1152, 0.1154, 0.1156, 0.1159, 0.118",\
                 "0.1304, 0.1297, 0.1278, 0.1252, 0.1228, 0.121, 0.1197, 0.119, 0.1186, 0.1204",\
                 "0.1493, 0.1484, 0.1454, 0.1412, 0.1368, 0.1326, 0.1292, 0.1267, 0.1252, 0.1267",\
                 "0.176, 0.1748, 0.1708, 0.1648, 0.1583, 0.1518, 0.1456, 0.1408, 0.137, 0.1381",\
                 "0.2109, 0.2093, 0.2045, 0.197, 0.188, 0.179, 0.1701, 0.1623, 0.1563, 0.1566",\
                 "0.2544, 0.2526, 0.247, 0.2379, 0.2267, 0.2149, 0.2032, 0.1925, 0.1841, 0.186",\
                 "0.3069, 0.305, 0.2986, 0.2881, 0.2749, 0.2604, 0.2459, 0.2321, 0.2218, 0.2295");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.004425, 0.004526, 0.004707, 0.004838, 0.004908, 0.004956, 0.00497, 0.004986, 0.004996, 0.004999",\
                 "0.003864, 0.004172, 0.00477, 0.005213, 0.005439, 0.005572, 0.005651, 0.005697, 0.005737, 0.005754",\
                 "0.00266, 0.003017, 0.003874, 0.004722, 0.005286, 0.005653, 0.005893, 0.006034, 0.006128, 0.006187",\
                 "0.004637, 0.0047, 0.004972, 0.005413, 0.005783, 0.006013, 0.006193, 0.00629, 0.006382, 0.006437",\
                 "0.01251, 0.01214, 0.01121, 0.01032, 0.009627, 0.009103, 0.008677, 0.008305, 0.008002, 0.007757",\
                 "0.02732, 0.02647, 0.02412, 0.02129, 0.01876, 0.0167, 0.01501, 0.01361, 0.01246, 0.01153",\
                 "0.04965, 0.04824, 0.04447, 0.03942, 0.03448, 0.03021, 0.02662, 0.02359, 0.02106, 0.01895",\
                 "0.0798, 0.07798, 0.07276, 0.06549, 0.05781, 0.05077, 0.04466, 0.03943, 0.035, 0.03123",\
                 "0.1181, 0.1159, 0.1093, 0.09986, 0.08938, 0.07921, 0.07011, 0.06216, 0.05532, 0.0494",\
                 "0.1646, 0.162, 0.1544, 0.1429, 0.1296, 0.1163, 0.1038, 0.09273, 0.0829, 0.07438");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1029, 0.1029, 0.103, 0.1031, 0.1034, 0.1037, 0.1041, 0.1047, 0.1048, 0.107",\
                 "0.1016, 0.1017, 0.1019, 0.1021, 0.1025, 0.1029, 0.1033, 0.1039, 0.1043, 0.1062",\
                 "0.1015, 0.1015, 0.1015, 0.1016, 0.102, 0.1024, 0.1028, 0.1034, 0.1038, 0.1058",\
                 "0.1069, 0.1066, 0.1056, 0.1047, 0.1041, 0.1039, 0.1039, 0.104, 0.1046, 0.1067",\
                 "0.1189, 0.1182, 0.1163, 0.1137, 0.1113, 0.1094, 0.1081, 0.1074, 0.1069, 0.1089",\
                 "0.138, 0.137, 0.1341, 0.1297, 0.1252, 0.1211, 0.1176, 0.1155, 0.1136, 0.1148",\
                 "0.1647, 0.1634, 0.1595, 0.1534, 0.1468, 0.1402, 0.1342, 0.1292, 0.1256, 0.1259",\
                 "0.1996, 0.1981, 0.1932, 0.1855, 0.1765, 0.1676, 0.1588, 0.1509, 0.1448, 0.1448",\
                 "0.2432, 0.2413, 0.2357, 0.2264, 0.2152, 0.2035, 0.192, 0.1813, 0.1725, 0.1733",\
                 "0.2958, 0.2938, 0.2874, 0.2769, 0.2636, 0.2492, 0.2344, 0.2206, 0.21, 0.2162");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.004433, 0.004517, 0.004716, 0.004844, 0.004905, 0.004958, 0.004973, 0.004984, 0.004992, 0.005002",\
                 "0.003946, 0.004206, 0.004773, 0.005217, 0.005442, 0.005567, 0.00565, 0.005694, 0.005727, 0.005748",\
                 "0.002815, 0.003145, 0.003998, 0.004788, 0.005326, 0.005676, 0.005901, 0.006048, 0.006132, 0.006192",\
                 "0.005154, 0.00521, 0.005402, 0.005779, 0.006073, 0.006244, 0.00637, 0.006433, 0.00648, 0.006507",\
                 "0.0134, 0.013, 0.01205, 0.01109, 0.0103, 0.009628, 0.00913, 0.008688, 0.008317, 0.008011",\
                 "0.02858, 0.02774, 0.02537, 0.02248, 0.01984, 0.01761, 0.0158, 0.01429, 0.01304, 0.01203",\
                 "0.05125, 0.04992, 0.04611, 0.04101, 0.03596, 0.03152, 0.02777, 0.02459, 0.02195, 0.01974",\
                 "0.08178, 0.07997, 0.07475, 0.06747, 0.05968, 0.05242, 0.04621, 0.04082, 0.03623, 0.03234",\
                 "0.1203, 0.1181, 0.1117, 0.1022, 0.09159, 0.08134, 0.07205, 0.06398, 0.05693, 0.05084",\
                 "0.1672, 0.1647, 0.157, 0.1455, 0.1322, 0.1188, 0.1062, 0.09483, 0.08496, 0.07626");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1119, 0.1119, 0.112, 0.1121, 0.1125, 0.1126, 0.1131, 0.1134, 0.1143, 0.1159",\
                 "0.1107, 0.1108, 0.1111, 0.1113, 0.1117, 0.1122, 0.1126, 0.1132, 0.1135, 0.1152",\
                 "0.1106, 0.1105, 0.1107, 0.1109, 0.1112, 0.1117, 0.1121, 0.1128, 0.1136, 0.1153",\
                 "0.1159, 0.1156, 0.1149, 0.114, 0.1135, 0.1133, 0.1133, 0.1134, 0.1141, 0.116",\
                 "0.1278, 0.1271, 0.1255, 0.1231, 0.121, 0.1191, 0.1178, 0.1172, 0.117, 0.1184",\
                 "0.1466, 0.1458, 0.1433, 0.1395, 0.1354, 0.1314, 0.1281, 0.1254, 0.1235, 0.1251",\
                 "0.1732, 0.1722, 0.1685, 0.1632, 0.1571, 0.151, 0.1452, 0.1403, 0.1363, 0.137",\
                 "0.2079, 0.2066, 0.2022, 0.1954, 0.1872, 0.1789, 0.1705, 0.163, 0.1565, 0.1567",\
                 "0.2515, 0.2499, 0.2447, 0.2364, 0.2262, 0.2153, 0.2046, 0.1942, 0.1853, 0.1867",\
                 "0.3042, 0.3023, 0.2964, 0.2868, 0.2747, 0.261, 0.2474, 0.2345, 0.2244, 0.2315");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.02541, 0.02543, 0.02539, 0.02544, 0.02549, 0.0255, 0.02551, 0.02552, 0.02552, 0.02549",\
                 "0.02439, 0.02443, 0.02447, 0.02452, 0.0246, 0.02464, 0.02465, 0.02467, 0.02468, 0.02467",\
                 "0.02335, 0.02343, 0.02351, 0.02367, 0.02383, 0.02392, 0.02394, 0.02397, 0.02398, 0.02403",\
                 "0.02472, 0.02459, 0.0245, 0.02435, 0.02427, 0.02418, 0.02409, 0.02406, 0.02403, 0.024",\
                 "0.03192, 0.03159, 0.0306, 0.02939, 0.02832, 0.02741, 0.02666, 0.02605, 0.02561, 0.02526",\
                 "0.04724, 0.04646, 0.04428, 0.0413, 0.03828, 0.03567, 0.03349, 0.03176, 0.03034, 0.02922",\
                 "0.07159, 0.07036, 0.06673, 0.06155, 0.05607, 0.05092, 0.04653, 0.04282, 0.03978, 0.0373",\
                 "0.1055, 0.1038, 0.09874, 0.0911, 0.08267, 0.07454, 0.06714, 0.06076, 0.05536, 0.05084",\
                 "0.1493, 0.1472, 0.1407, 0.1306, 0.1191, 0.1074, 0.0966, 0.0869, 0.0785, 0.07125",\
                 "0.203, 0.2005, 0.1928, 0.1805, 0.1658, 0.1505, 0.1358, 0.1224, 0.1104, 0.09984");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1261, 0.1261, 0.1261, 0.1263, 0.1265, 0.1268, 0.1271, 0.1276, 0.1283, 0.1302",\
                 "0.1249, 0.125, 0.1251, 0.1254, 0.1257, 0.126, 0.1264, 0.1268, 0.1273, 0.1295",\
                 "0.1237, 0.1238, 0.124, 0.1244, 0.1248, 0.1253, 0.1258, 0.1264, 0.1271, 0.129",\
                 "0.1272, 0.127, 0.1265, 0.1261, 0.126, 0.126, 0.1263, 0.1267, 0.1272, 0.1295",\
                 "0.1391, 0.1385, 0.1368, 0.1346, 0.1326, 0.1311, 0.1303, 0.1298, 0.1297, 0.1316",\
                 "0.1606, 0.1595, 0.1563, 0.152, 0.1474, 0.1434, 0.1403, 0.1382, 0.1364, 0.1379",\
                 "0.1918, 0.1903, 0.1858, 0.179, 0.1717, 0.1649, 0.1585, 0.1536, 0.1498, 0.1503",\
                 "0.2327, 0.231, 0.2254, 0.2165, 0.2063, 0.1961, 0.1865, 0.1781, 0.1715, 0.1708",\
                 "0.2837, 0.2816, 0.2752, 0.2647, 0.2516, 0.2379, 0.2251, 0.2129, 0.2031, 0.2025",\
                 "0.3451, 0.343, 0.3358, 0.324, 0.3085, 0.2914, 0.2744, 0.2587, 0.2462, 0.2484");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.01491, 0.01494, 0.01494, 0.01497, 0.015, 0.01502, 0.01503, 0.01503, 0.01504, 0.01503",\
                 "0.01384, 0.01389, 0.01396, 0.01406, 0.01411, 0.01414, 0.01416, 0.01418, 0.01419, 0.01418",\
                 "0.01268, 0.01277, 0.01295, 0.01317, 0.0133, 0.0134, 0.01344, 0.01348, 0.0135, 0.01353",\
                 "0.01428, 0.0142, 0.01403, 0.01389, 0.01379, 0.0137, 0.01365, 0.01359, 0.01357, 0.01353",\
                 "0.02247, 0.02201, 0.02075, 0.0193, 0.01807, 0.01706, 0.01627, 0.01565, 0.01516, 0.01484",\
                 "0.03906, 0.03808, 0.03535, 0.0319, 0.02847, 0.02562, 0.02329, 0.02147, 0.02, 0.01885",\
                 "0.06493, 0.06343, 0.05902, 0.053, 0.04686, 0.04134, 0.03663, 0.03276, 0.02957, 0.02703",\
                 "0.1003, 0.09827, 0.09222, 0.08353, 0.07422, 0.06544, 0.05763, 0.05095, 0.04536, 0.04071",\
                 "0.1453, 0.1428, 0.1353, 0.124, 0.1114, 0.09899, 0.08759, 0.07746, 0.06876, 0.06135",\
                 "0.2, 0.1973, 0.1884, 0.1749, 0.159, 0.1427, 0.1273, 0.1134, 0.1009, 0.09018");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1146, 0.1146, 0.1146, 0.1148, 0.115, 0.1154, 0.1158, 0.1162, 0.1166, 0.1184",\
                 "0.1134, 0.1135, 0.1136, 0.1139, 0.1142, 0.1146, 0.115, 0.1156, 0.1158, 0.1177",\
                 "0.1122, 0.1123, 0.1125, 0.1129, 0.1134, 0.1139, 0.1144, 0.115, 0.1154, 0.1174",\
                 "0.1157, 0.1155, 0.115, 0.1145, 0.1145, 0.1146, 0.1148, 0.1152, 0.1158, 0.1182",\
                 "0.1276, 0.127, 0.1253, 0.123, 0.1212, 0.1196, 0.1187, 0.1183, 0.1183, 0.1202",\
                 "0.1492, 0.1481, 0.1449, 0.1404, 0.136, 0.1319, 0.1288, 0.1266, 0.125, 0.1262",\
                 "0.1805, 0.1789, 0.1745, 0.1676, 0.1603, 0.1534, 0.1472, 0.1421, 0.1382, 0.1382",\
                 "0.2214, 0.2195, 0.214, 0.2051, 0.1948, 0.1845, 0.1751, 0.1667, 0.1598, 0.1588",\
                 "0.2724, 0.2704, 0.2639, 0.2533, 0.2402, 0.2263, 0.2134, 0.2015, 0.1915, 0.1899",\
                 "0.3339, 0.3317, 0.3245, 0.3127, 0.2972, 0.2799, 0.2629, 0.2472, 0.2343, 0.2356");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.01495, 0.01492, 0.01491, 0.01495, 0.01498, 0.01502, 0.01501, 0.01504, 0.01503, 0.01503",\
                 "0.01384, 0.01392, 0.01396, 0.01405, 0.01411, 0.01414, 0.01415, 0.01418, 0.0142, 0.01419",\
                 "0.01272, 0.01281, 0.01303, 0.01321, 0.01333, 0.01343, 0.01348, 0.01351, 0.01352, 0.01353",\
                 "0.0147, 0.01461, 0.01441, 0.0142, 0.01403, 0.01388, 0.01377, 0.0137, 0.01364, 0.01358",\
                 "0.02347, 0.023, 0.02169, 0.0201, 0.01869, 0.01761, 0.0167, 0.01602, 0.01547, 0.01509",\
                 "0.04066, 0.03967, 0.03685, 0.03322, 0.02967, 0.02661, 0.02414, 0.02214, 0.02063, 0.01934",\
                 "0.06707, 0.06556, 0.06103, 0.05488, 0.04855, 0.04281, 0.03792, 0.03388, 0.03052, 0.02783",\
                 "0.1029, 0.1008, 0.09473, 0.08592, 0.07645, 0.06742, 0.05942, 0.05253, 0.04676, 0.04192",\
                 "0.1483, 0.1458, 0.1383, 0.1269, 0.1141, 0.1015, 0.08983, 0.07953, 0.07062, 0.063",\
                 "0.2036, 0.2008, 0.1919, 0.1782, 0.1622, 0.1458, 0.1302, 0.116, 0.1034, 0.09233");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1235, 0.1236, 0.1237, 0.1238, 0.124, 0.1243, 0.1246, 0.125, 0.1256, 0.1275",\
                 "0.1225, 0.1226, 0.1228, 0.123, 0.1235, 0.1239, 0.1241, 0.1246, 0.1253, 0.1271",\
                 "0.1212, 0.1214, 0.1216, 0.122, 0.1225, 0.123, 0.1237, 0.1241, 0.125, 0.1269",\
                 "0.1247, 0.1246, 0.1241, 0.1238, 0.1237, 0.1239, 0.1242, 0.1247, 0.125, 0.1271",\
                 "0.1365, 0.1359, 0.1345, 0.1324, 0.1307, 0.1293, 0.1284, 0.1279, 0.1278, 0.1299",\
                 "0.1579, 0.157, 0.1541, 0.1502, 0.1461, 0.1421, 0.139, 0.1366, 0.1349, 0.1363",\
                 "0.189, 0.1877, 0.1836, 0.1776, 0.1708, 0.1642, 0.1583, 0.1531, 0.1492, 0.149",\
                 "0.2299, 0.2283, 0.2233, 0.2151, 0.2056, 0.1962, 0.1871, 0.1789, 0.1719, 0.1707",\
                 "0.2809, 0.2791, 0.2733, 0.2636, 0.2515, 0.2387, 0.2265, 0.2149, 0.2051, 0.2035",\
                 "0.3427, 0.3407, 0.3341, 0.3232, 0.3087, 0.2927, 0.2766, 0.2618, 0.2495, 0.251");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1104, 0.1262, 0.1799, 0.2793, 0.4317, 0.6441, 0.9227, 1.273, 1.701, 2.21",\
                 "0.1238, 0.1396, 0.1935, 0.2932, 0.4458, 0.6583, 0.9372, 1.288, 1.716, 2.225",\
                 "0.1677, 0.1852, 0.2401, 0.3388, 0.4913, 0.7038, 0.9826, 1.333, 1.761, 2.27",\
                 "0.2004, 0.2243, 0.2992, 0.4206, 0.5799, 0.7911, 1.069, 1.419, 1.847, 2.356",\
                 "0.2077, 0.2383, 0.3339, 0.4868, 0.6875, 0.9273, 1.208, 1.557, 1.982, 2.491",\
                 "0.1844, 0.2222, 0.34, 0.5273, 0.7681, 1.057, 1.386, 1.753, 2.177, 2.684",\
                 "0.1271, 0.1721, 0.3129, 0.5348, 0.8199, 1.155, 1.539, 1.966, 2.432, 2.943",\
                 "0.0353, 0.0873, 0.2487, 0.5068, 0.8367, 1.225, 1.661, 2.146, 2.677, 3.249",\
                 "-0.0951, -0.0358, 0.1473, 0.4402, 0.8167, 1.256, 1.75, 2.293, 2.886, 3.528",\
                 "-0.2658, -0.1997, 0.0071, 0.3333, 0.7552, 1.248, 1.801, 2.405, 3.061, 3.769");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1737, 0.2065, 0.3194, 0.5318, 0.8606, 1.321, 1.927, 2.69, 3.62, 4.729",\
                 "0.1833, 0.2164, 0.3309, 0.5452, 0.8758, 1.337, 1.944, 2.707, 3.638, 4.746",\
                 "0.2414, 0.2727, 0.3842, 0.5968, 0.9272, 1.39, 1.997, 2.76, 3.691, 4.8",\
                 "0.3474, 0.3853, 0.5062, 0.714, 1.039, 1.498, 2.103, 2.865, 3.796, 4.904",\
                 "0.4887, 0.5323, 0.6729, 0.9081, 1.232, 1.683, 2.282, 3.04, 3.968, 5.073",\
                 "0.6666, 0.7184, 0.8782, 1.143, 1.505, 1.96, 2.55, 3.3, 4.221, 5.322",\
                 "0.8804, 0.941, 1.126, 1.42, 1.82, 2.321, 2.918, 3.658, 4.569, 5.663",\
                 "1.132, 1.202, 1.414, 1.744, 2.179, 2.726, 3.376, 4.125, 5.026, 6.107",\
                 "1.421, 1.501, 1.743, 2.114, 2.589, 3.176, 3.879, 4.686, 5.597, 6.669",\
                 "1.752, 1.842, 2.114, 2.527, 3.051, 3.679, 4.426, 5.295, 6.269, 7.353");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1457, 0.1719, 0.2612, 0.4285, 0.6868, 1.048, 1.524, 2.122, 2.851, 3.72",\
                 "0.1449, 0.1713, 0.2609, 0.4285, 0.6866, 1.048, 1.524, 2.122, 2.851, 3.72",\
                 "0.1687, 0.1902, 0.2654, 0.4272, 0.6867, 1.048, 1.524, 2.122, 2.851, 3.722",\
                 "0.2387, 0.2661, 0.3528, 0.4942, 0.708, 1.049, 1.524, 2.121, 2.852, 3.721",\
                 "0.3345, 0.367, 0.4667, 0.6312, 0.8566, 1.141, 1.551, 2.123, 2.852, 3.722",\
                 "0.4498, 0.49, 0.6108, 0.7966, 1.048, 1.364, 1.738, 2.221, 2.876, 3.723",\
                 "0.5818, 0.631, 0.7754, 0.9928, 1.271, 1.618, 2.032, 2.509, 3.077, 3.818",\
                 "0.7312, 0.7888, 0.9598, 1.215, 1.53, 1.904, 2.35, 2.873, 3.461, 4.128",\
                 "0.8988, 0.9658, 1.162, 1.458, 1.815, 2.229, 2.707, 3.266, 3.899, 4.605",\
                 "1.08, 1.159, 1.385, 1.721, 2.127, 2.59, 3.106, 3.693, 4.37, 5.123");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3421, 0.4009, 0.6027, 0.9787, 1.555, 2.362, 3.422, 4.759, 6.389, 8.332",\
                 "0.3418, 0.4007, 0.6025, 0.9785, 1.556, 2.361, 3.421, 4.759, 6.39, 8.331",\
                 "0.3512, 0.4043, 0.6024, 0.9786, 1.555, 2.362, 3.422, 4.757, 6.388, 8.326",\
                 "0.4302, 0.4808, 0.6431, 0.9821, 1.556, 2.361, 3.422, 4.758, 6.386, 8.33",\
                 "0.5252, 0.5768, 0.7578, 1.07, 1.575, 2.361, 3.422, 4.758, 6.387, 8.332",\
                 "0.6586, 0.7062, 0.8858, 1.227, 1.71, 2.407, 3.424, 4.758, 6.386, 8.334",\
                 "0.8242, 0.873, 1.049, 1.394, 1.917, 2.59, 3.504, 4.767, 6.39, 8.327",\
                 "1.009, 1.064, 1.249, 1.592, 2.133, 2.855, 3.735, 4.889, 6.411, 8.335",\
                 "1.214, 1.275, 1.478, 1.833, 2.373, 3.129, 4.062, 5.165, 6.572, 8.377",\
                 "1.437, 1.5, 1.728, 2.105, 2.655, 3.422, 4.402, 5.556, 6.904, 8.584");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.08096, 0.09552, 0.1465, 0.2436, 0.3943, 0.605, 0.883, 1.233, 1.661, 2.17",\
                 "0.09399, 0.1086, 0.1599, 0.2574, 0.4083, 0.6194, 0.8972, 1.248, 1.675, 2.182",\
                 "0.1268, 0.1462, 0.2054, 0.3029, 0.4536, 0.6648, 0.9429, 1.293, 1.72, 2.229",\
                 "0.1398, 0.1668, 0.2492, 0.3774, 0.5418, 0.7523, 1.029, 1.379, 1.805, 2.314",\
                 "0.1256, 0.1613, 0.2682, 0.4315, 0.6397, 0.8854, 1.168, 1.516, 1.941, 2.449",\
                 "0.0808, 0.1248, 0.2574, 0.4578, 0.7102, 1.006, 1.341, 1.712, 2.136, 2.642",\
                 "0.0031, 0.0556, 0.2122, 0.4528, 0.7511, 1.096, 1.486, 1.918, 2.388, 2.901",\
                 "-0.11, -0.049, 0.1335, 0.4102, 0.7577, 1.155, 1.601, 2.092, 2.627, 3.203",\
                 "-0.2619, -0.1923, 0.0161, 0.331, 0.7253, 1.178, 1.682, 2.232, 2.831, 3.476",\
                 "-0.4541, -0.3752, -0.1419, 0.2107, 0.6518, 1.162, 1.724, 2.338, 2.999, 3.711");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1682, 0.201, 0.3137, 0.5255, 0.8528, 1.313, 1.918, 2.677, 3.608, 4.713",\
                 "0.1775, 0.2107, 0.3248, 0.5389, 0.8677, 1.328, 1.933, 2.696, 3.622, 4.732",\
                 "0.2354, 0.2669, 0.3778, 0.5898, 0.9197, 1.381, 1.985, 2.75, 3.678, 4.785",\
                 "0.3393, 0.3776, 0.4996, 0.7072, 1.031, 1.489, 2.093, 2.854, 3.781, 4.893",\
                 "0.4785, 0.5231, 0.6639, 0.9002, 1.224, 1.674, 2.271, 3.027, 3.954, 5.057",\
                 "0.6533, 0.7062, 0.8677, 1.133, 1.496, 1.95, 2.539, 3.286, 4.207, 5.305",\
                 "0.8634, 0.9257, 1.113, 1.408, 1.809, 2.311, 2.907, 3.645, 4.554, 5.648",\
                 "1.109, 1.182, 1.398, 1.73, 2.166, 2.713, 3.363, 4.111, 5.01, 6.091",\
                 "1.394, 1.476, 1.723, 2.096, 2.574, 3.161, 3.864, 4.67, 5.582, 6.652",\
                 "1.718, 1.811, 2.089, 2.506, 3.034, 3.663, 4.411, 5.277, 6.252, 7.336");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1064, 0.132, 0.2202, 0.3861, 0.644, 1.005, 1.481, 2.08, 2.811, 3.682",\
                 "0.1044, 0.1306, 0.2198, 0.3863, 0.6443, 1.006, 1.48, 2.08, 2.809, 3.676",\
                 "0.1425, 0.1651, 0.2361, 0.3857, 0.6443, 1.004, 1.479, 2.077, 2.806, 3.675",\
                 "0.212, 0.2395, 0.3256, 0.4688, 0.6741, 1.006, 1.478, 2.077, 2.806, 3.676",\
                 "0.3051, 0.339, 0.4404, 0.6036, 0.83, 1.113, 1.512, 2.077, 2.806, 3.676",\
                 "0.4158, 0.4582, 0.583, 0.7702, 1.021, 1.338, 1.712, 2.187, 2.834, 3.676",\
                 "0.5428, 0.5946, 0.7434, 0.9656, 1.244, 1.588, 2.005, 2.482, 3.046, 3.78",\
                 "0.6868, 0.7472, 0.9242, 1.185, 1.501, 1.877, 2.323, 2.846, 3.433, 4.098",\
                 "0.8432, 0.9176, 1.124, 1.422, 1.786, 2.205, 2.678, 3.236, 3.869, 4.576",\
                 "1.012, 1.099, 1.34, 1.682, 2.095, 2.558, 3.077, 3.666, 4.338, 5.093");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.2453, 0.301, 0.495, 0.8639, 1.438, 2.243, 3.307, 4.646, 6.272, 8.218",\
                 "0.2454, 0.3008, 0.4948, 0.8632, 1.437, 2.247, 3.305, 4.643, 6.278, 8.218",\
                 "0.2548, 0.3044, 0.4947, 0.8643, 1.439, 2.246, 3.303, 4.644, 6.269, 8.216",\
                 "0.3142, 0.3677, 0.5345, 0.8663, 1.438, 2.245, 3.31, 4.639, 6.275, 8.226",\
                 "0.3884, 0.4432, 0.6332, 0.9548, 1.459, 2.246, 3.309, 4.64, 6.268, 8.219",\
                 "0.492, 0.55, 0.7438, 1.098, 1.591, 2.292, 3.31, 4.644, 6.277, 8.223",\
                 "0.6182, 0.6816, 0.8872, 1.249, 1.788, 2.472, 3.386, 4.655, 6.276, 8.21",\
                 "0.7588, 0.8334, 1.061, 1.434, 1.99, 2.727, 3.614, 4.776, 6.3, 8.222",\
                 "0.9138, 0.999, 1.253, 1.655, 2.219, 2.991, 3.938, 5.044, 6.465, 8.255",\
                 "1.083, 1.182, 1.467, 1.906, 2.493, 3.275, 4.265, 5.435, 6.783, 8.482");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.07015, 0.08185, 0.1223, 0.1992, 0.319, 0.4868, 0.7076, 0.9856, 1.324, 1.73",\
                 "0.08401, 0.09582, 0.1366, 0.2139, 0.3337, 0.5017, 0.7227, 1, 1.34, 1.745",\
                 "0.1131, 0.1304, 0.1827, 0.2639, 0.3835, 0.5513, 0.772, 1.05, 1.389, 1.795",\
                 "0.1192, 0.1443, 0.2187, 0.333, 0.4768, 0.6476, 0.8675, 1.145, 1.484, 1.888",\
                 "0.09511, 0.1284, 0.227, 0.3758, 0.5614, 0.7775, 1.018, 1.296, 1.633, 2.037",\
                 "0.0374, 0.0788, 0.2019, 0.3876, 0.6163, 0.8802, 1.176, 1.498, 1.846, 2.248",\
                 "-0.0568, -0.0073, 0.1402, 0.3626, 0.6369, 0.9509, 1.299, 1.681, 2.09, 2.527",\
                 "-0.1903, -0.1328, 0.0387, 0.2977, 0.6152, 0.9848, 1.388, 1.826, 2.299, 2.804",\
                 "-0.366, -0.3003, -0.1042, 0.1908, 0.5568, 0.9774, 1.438, 1.936, 2.469, 3.04",\
                 "-0.5853, -0.5123, -0.2921, 0.0407, 0.4518, 0.9232, 1.444, 2.004, 2.602, 3.236");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1675, 0.2001, 0.313, 0.5243, 0.8525, 1.312, 1.916, 2.677, 3.607, 4.713",\
                 "0.1755, 0.2087, 0.3225, 0.5365, 0.866, 1.326, 1.931, 2.692, 3.622, 4.728",\
                 "0.2343, 0.2656, 0.3756, 0.5873, 0.9167, 1.378, 1.982, 2.744, 3.673, 4.783",\
                 "0.3418, 0.3796, 0.5005, 0.7072, 1.031, 1.487, 2.091, 2.851, 3.779, 4.885",\
                 "0.4872, 0.5306, 0.6699, 0.9045, 1.227, 1.675, 2.272, 3.027, 3.953, 5.056",\
                 "0.6712, 0.7228, 0.8819, 1.144, 1.504, 1.956, 2.544, 3.289, 4.209, 5.305",\
                 "0.8942, 0.9544, 1.138, 1.429, 1.826, 2.325, 2.918, 3.654, 4.562, 5.651",\
                 "1.157, 1.228, 1.438, 1.765, 2.195, 2.738, 3.382, 4.128, 5.026, 6.103",\
                 "1.463, 1.544, 1.783, 2.148, 2.618, 3.199, 3.897, 4.701, 5.606, 6.674",\
                 "1.814, 1.904, 2.174, 2.581, 3.096, 3.718, 4.459, 5.321, 6.288, 7.369");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.08227, 0.1019, 0.1702, 0.3008, 0.5046, 0.7904, 1.165, 1.638, 2.217, 2.903",\
                 "0.08196, 0.1015, 0.17, 0.3007, 0.5038, 0.7905, 1.164, 1.639, 2.216, 2.908",\
                 "0.1263, 0.1443, 0.2007, 0.3066, 0.5044, 0.7902, 1.165, 1.638, 2.217, 2.902",\
                 "0.1952, 0.2185, 0.2912, 0.4089, 0.5629, 0.8027, 1.163, 1.636, 2.214, 2.902",\
                 "0.2843, 0.3148, 0.406, 0.5458, 0.7318, 0.955, 1.239, 1.652, 2.213, 2.901",\
                 "0.3904, 0.4294, 0.5414, 0.709, 0.9228, 1.184, 1.486, 1.832, 2.295, 2.919",\
                 "0.5152, 0.5618, 0.697, 0.898, 1.143, 1.435, 1.777, 2.167, 2.592, 3.112",\
                 "0.651, 0.7094, 0.873, 1.107, 1.392, 1.722, 2.096, 2.526, 3.005, 3.525",\
                 "0.7988, 0.87, 1.064, 1.339, 1.663, 2.037, 2.448, 2.917, 3.441, 4.018",\
                 "0.9596, 1.042, 1.273, 1.587, 1.962, 2.378, 2.839, 3.344, 3.908, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.2456, 0.3013, 0.4949, 0.8634, 1.439, 2.246, 3.308, 4.642, 6.275, 8.212",\
                 "0.2454, 0.3013, 0.495, 0.8648, 1.439, 2.247, 3.302, 4.644, 6.268, 8.22",\
                 "0.2554, 0.3045, 0.4944, 0.8644, 1.439, 2.248, 3.309, 4.64, 6.273, 8.207",\
                 "0.3127, 0.3668, 0.5341, 0.8667, 1.44, 2.244, 3.308, 4.639, 6.268, 8.223",\
                 "0.382, 0.4378, 0.6294, 0.953, 1.457, 2.243, 3.303, 4.638, 6.274, 8.207",\
                 "0.4818, 0.5384, 0.7346, 1.092, 1.587, 2.29, 3.309, 4.643, 6.272, 8.222",\
                 "0.6004, 0.6664, 0.8696, 1.236, 1.778, 2.463, 3.388, 4.65, 6.276, 8.218",\
                 "0.7372, 0.8098, 1.034, 1.41, 1.973, 2.714, 3.603, 4.769, 6.291, 8.228",\
                 "0.8912, 0.9726, 1.222, 1.619, 2.186, 2.965, 3.919, 5.03, 6.448, 8.263",\
                 "1.057, 1.152, 1.427, 1.858, 2.443, 3.235, 4.235, 5.406, 6.766, 8.468");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1104, 0.1262, 0.1799, 0.2793, 0.4317, 0.6441, 0.9227, 1.273, 1.701, 2.21",\
                 "0.1238, 0.1396, 0.1935, 0.2932, 0.4458, 0.6583, 0.9372, 1.288, 1.716, 2.225",\
                 "0.1677, 0.1852, 0.2401, 0.3388, 0.4913, 0.7038, 0.9826, 1.333, 1.761, 2.27",\
                 "0.2004, 0.2243, 0.2992, 0.4206, 0.5799, 0.7911, 1.069, 1.419, 1.847, 2.356",\
                 "0.2077, 0.2383, 0.3339, 0.4868, 0.6875, 0.9273, 1.208, 1.557, 1.982, 2.491",\
                 "0.1844, 0.2222, 0.34, 0.5273, 0.7681, 1.057, 1.386, 1.753, 2.177, 2.684",\
                 "0.1271, 0.1721, 0.3129, 0.5348, 0.8199, 1.155, 1.539, 1.966, 2.432, 2.943",\
                 "0.0353, 0.0873, 0.2487, 0.5068, 0.8367, 1.225, 1.661, 2.146, 2.677, 3.249",\
                 "-0.0951, -0.0358, 0.1473, 0.4402, 0.8167, 1.256, 1.75, 2.293, 2.886, 3.528",\
                 "-0.2658, -0.1997, 0.0071, 0.3333, 0.7552, 1.248, 1.801, 2.405, 3.061, 3.769");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1675, 0.2001, 0.313, 0.5243, 0.8525, 1.312, 1.916, 2.677, 3.607, 4.713",\
                 "0.1755, 0.2087, 0.3225, 0.5365, 0.866, 1.326, 1.931, 2.692, 3.622, 4.728",\
                 "0.2343, 0.2656, 0.3756, 0.5873, 0.9167, 1.378, 1.982, 2.744, 3.673, 4.783",\
                 "0.3418, 0.3796, 0.5005, 0.7072, 1.031, 1.487, 2.091, 2.851, 3.779, 4.885",\
                 "0.4872, 0.5306, 0.6699, 0.9045, 1.227, 1.675, 2.272, 3.027, 3.953, 5.056",\
                 "0.6712, 0.7228, 0.8819, 1.144, 1.504, 1.956, 2.544, 3.289, 4.209, 5.305",\
                 "0.8942, 0.9544, 1.138, 1.429, 1.826, 2.325, 2.918, 3.654, 4.562, 5.651",\
                 "1.157, 1.228, 1.438, 1.765, 2.195, 2.738, 3.382, 4.128, 5.026, 6.103",\
                 "1.463, 1.544, 1.783, 2.148, 2.618, 3.199, 3.897, 4.701, 5.606, 6.674",\
                 "1.814, 1.904, 2.174, 2.581, 3.096, 3.718, 4.459, 5.321, 6.288, 7.369");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1457, 0.1719, 0.2612, 0.4285, 0.6868, 1.048, 1.524, 2.122, 2.851, 3.72",\
                 "0.1449, 0.1713, 0.2609, 0.4285, 0.6866, 1.048, 1.524, 2.122, 2.851, 3.72",\
                 "0.1687, 0.1902, 0.2654, 0.4272, 0.6867, 1.048, 1.524, 2.122, 2.851, 3.722",\
                 "0.2387, 0.2661, 0.3528, 0.4942, 0.708, 1.049, 1.524, 2.121, 2.852, 3.721",\
                 "0.3345, 0.367, 0.4667, 0.6312, 0.8566, 1.141, 1.551, 2.123, 2.852, 3.722",\
                 "0.4498, 0.49, 0.6108, 0.7966, 1.048, 1.364, 1.738, 2.221, 2.876, 3.723",\
                 "0.5818, 0.631, 0.7754, 0.9928, 1.271, 1.618, 2.032, 2.509, 3.077, 3.818",\
                 "0.7312, 0.7888, 0.9598, 1.215, 1.53, 1.904, 2.35, 2.873, 3.461, 4.128",\
                 "0.8988, 0.9658, 1.162, 1.458, 1.815, 2.229, 2.707, 3.266, 3.899, 4.605",\
                 "1.08, 1.159, 1.385, 1.721, 2.127, 2.59, 3.106, 3.693, 4.37, 5.123");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3421, 0.4009, 0.6027, 0.9787, 1.555, 2.362, 3.422, 4.759, 6.389, 8.332",\
                 "0.3418, 0.4007, 0.6025, 0.9785, 1.556, 2.361, 3.421, 4.759, 6.39, 8.331",\
                 "0.3512, 0.4043, 0.6024, 0.9786, 1.555, 2.362, 3.422, 4.757, 6.388, 8.326",\
                 "0.4302, 0.4808, 0.6431, 0.9821, 1.556, 2.361, 3.422, 4.758, 6.386, 8.33",\
                 "0.5252, 0.5768, 0.7578, 1.07, 1.575, 2.361, 3.422, 4.758, 6.387, 8.332",\
                 "0.6586, 0.7062, 0.8858, 1.227, 1.71, 2.407, 3.424, 4.758, 6.386, 8.334",\
                 "0.8242, 0.873, 1.049, 1.394, 1.917, 2.59, 3.504, 4.767, 6.39, 8.327",\
                 "1.009, 1.064, 1.249, 1.592, 2.133, 2.855, 3.735, 4.889, 6.411, 8.335",\
                 "1.214, 1.275, 1.478, 1.833, 2.373, 3.129, 4.062, 5.165, 6.572, 8.377",\
                 "1.437, 1.5, 1.728, 2.105, 2.655, 3.422, 4.402, 5.556, 6.904, 8.584");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1414, 0.1574, 0.2119, 0.3121, 0.4655, 0.6787, 0.958, 1.309, 1.737, 2.247",\
                 "0.1523, 0.1684, 0.2226, 0.3232, 0.4767, 0.6898, 0.9692, 1.32, 1.749, 2.259",\
                 "0.198, 0.2142, 0.2674, 0.3671, 0.5202, 0.7333, 1.012, 1.363, 1.792, 2.302",\
                 "0.2459, 0.2678, 0.3376, 0.453, 0.6087, 0.8204, 1.099, 1.449, 1.877, 2.386",\
                 "0.2731, 0.301, 0.388, 0.5321, 0.7253, 0.9591, 1.238, 1.586, 2.013, 2.521",\
                 "0.2768, 0.3107, 0.4162, 0.5893, 0.8198, 1.099, 1.422, 1.784, 2.209, 2.715",\
                 "0.2555, 0.2941, 0.4194, 0.6227, 0.8903, 1.213, 1.587, 2.006, 2.466, 2.976",\
                 "0.2082, 0.2526, 0.3952, 0.628, 0.9355, 1.303, 1.725, 2.199, 2.722, 3.288",\
                 "0.1347, 0.1849, 0.3435, 0.6052, 0.9519, 1.365, 1.837, 2.364, 2.945, 3.577",\
                 "0.0336, 0.0893, 0.2642, 0.5525, 0.9377, 1.398, 1.922, 2.502, 3.14, 3.834");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.2097, 0.2422, 0.3546, 0.5668, 0.8955, 1.356, 1.962, 2.724, 3.655, 4.764",\
                 "0.2202, 0.2536, 0.3682, 0.5825, 0.9131, 1.374, 1.981, 2.744, 3.674, 4.783",\
                 "0.2584, 0.2911, 0.4046, 0.6193, 0.9513, 1.414, 2.022, 2.785, 3.717, 4.825",\
                 "0.3254, 0.3614, 0.4818, 0.6946, 1.022, 1.483, 2.089, 2.853, 3.784, 4.893",\
                 "0.4284, 0.4681, 0.596, 0.8229, 1.152, 1.606, 2.207, 2.966, 3.894, 5.001",\
                 "0.5621, 0.6078, 0.7519, 0.9914, 1.338, 1.798, 2.39, 3.141, 4.063, 5.164",\
                 "0.7211, 0.7752, 0.9395, 1.204, 1.566, 2.046, 2.648, 3.39, 4.303, 5.396",\
                 "0.9056, 0.9674, 1.157, 1.452, 1.843, 2.34, 2.965, 3.721, 4.624, 5.706",\
                 "1.116, 1.187, 1.4, 1.732, 2.16, 2.685, 3.329, 4.11, 5.03, 6.103",\
                 "1.356, 1.433, 1.672, 2.041, 2.512, 3.077, 3.746, 4.549, 5.496, 6.59");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1824, 0.2089, 0.299, 0.4677, 0.7271, 1.089, 1.566, 2.164, 2.895, 3.764",\
                 "0.1822, 0.2086, 0.2994, 0.4677, 0.7271, 1.089, 1.565, 2.164, 2.894, 3.765",\
                 "0.1951, 0.2173, 0.2997, 0.4669, 0.727, 1.089, 1.566, 2.163, 2.894, 3.765",\
                 "0.2724, 0.2989, 0.3834, 0.5226, 0.7427, 1.09, 1.565, 2.164, 2.894, 3.765",\
                 "0.3728, 0.4041, 0.502, 0.6642, 0.8862, 1.172, 1.586, 2.164, 2.895, 3.765",\
                 "0.4988, 0.5352, 0.6494, 0.831, 1.079, 1.394, 1.768, 2.256, 2.915, 3.765",\
                 "0.6452, 0.6888, 0.8248, 1.031, 1.301, 1.647, 2.061, 2.535, 3.109, 3.855",\
                 "0.8106, 0.8638, 1.023, 1.26, 1.563, 1.932, 2.377, 2.898, 3.489, 4.157",\
                 "0.9974, 1.06, 1.244, 1.519, 1.859, 2.258, 2.729, 3.286, 3.922, 4.63",\
                 "1.207, 1.278, 1.488, 1.8, 2.185, 2.622, 3.127, 3.711, 4.384, 5.142");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3426, 0.4011, 0.6027, 0.9785, 1.556, 2.361, 3.422, 4.758, 6.391, 8.33",\
                 "0.3428, 0.401, 0.6026, 0.9786, 1.555, 2.361, 3.422, 4.759, 6.388, 8.329",\
                 "0.3544, 0.4074, 0.6032, 0.9787, 1.556, 2.362, 3.422, 4.759, 6.388, 8.335",\
                 "0.4219, 0.4718, 0.6421, 0.9863, 1.556, 2.361, 3.423, 4.759, 6.39, 8.33",\
                 "0.5182, 0.5626, 0.7316, 1.059, 1.582, 2.363, 3.422, 4.759, 6.39, 8.329",\
                 "0.6592, 0.6994, 0.8514, 1.175, 1.684, 2.415, 3.43, 4.759, 6.39, 8.327",\
                 "0.8232, 0.866, 1.021, 1.322, 1.829, 2.548, 3.509, 4.781, 6.392, 8.327",\
                 "1.005, 1.053, 1.216, 1.523, 2.008, 2.728, 3.675, 4.89, 6.434, 8.334",\
                 "1.2, 1.251, 1.433, 1.759, 2.241, 2.939, 3.895, 5.089, 6.575, 8.407",\
                 "1.409, 1.465, 1.664, 2.018, 2.527, 3.208, 4.142, 5.347, 6.807, 8.579");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1076, 0.1233, 0.1767, 0.2757, 0.4279, 0.6402, 0.9188, 1.269, 1.697, 2.207",\
                 "0.1186, 0.1343, 0.1877, 0.2868, 0.439, 0.6512, 0.9299, 1.281, 1.708, 2.218",\
                 "0.1595, 0.1773, 0.2325, 0.3307, 0.4826, 0.6946, 0.9732, 1.324, 1.751, 2.261",\
                 "0.191, 0.2152, 0.2904, 0.4116, 0.5712, 0.7821, 1.06, 1.409, 1.837, 2.345",\
                 "0.2011, 0.232, 0.3275, 0.4799, 0.6791, 0.919, 1.199, 1.547, 1.972, 2.481",\
                 "0.1882, 0.2259, 0.342, 0.5263, 0.7643, 1.05, 1.379, 1.745, 2.169, 2.675",\
                 "0.1511, 0.1947, 0.3308, 0.5472, 0.8263, 1.156, 1.536, 1.961, 2.425, 2.936",\
                 "0.0894, 0.139, 0.2931, 0.5422, 0.8617, 1.239, 1.668, 2.147, 2.675, 3.244",\
                 "0.0018, 0.0575, 0.2299, 0.508, 0.8686, 1.293, 1.774, 2.307, 2.893, 3.529",\
                 "-0.114, -0.0523, 0.1383, 0.4443, 0.8441, 1.317, 1.851, 2.439, 3.082, 3.781");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.2038, 0.2364, 0.3486, 0.5601, 0.8878, 1.347, 1.952, 2.712, 3.642, 4.747",\
                 "0.2145, 0.2478, 0.3624, 0.5758, 0.905, 1.366, 1.971, 2.731, 3.662, 4.768",\
                 "0.2525, 0.2853, 0.3985, 0.6125, 0.944, 1.406, 2.012, 2.773, 3.704, 4.814",\
                 "0.3181, 0.3543, 0.475, 0.6875, 1.015, 1.474, 2.079, 2.841, 3.77, 4.877",\
                 "0.4194, 0.4598, 0.5884, 0.8152, 1.144, 1.597, 2.196, 2.954, 3.881, 4.988",\
                 "0.5503, 0.5973, 0.7427, 0.9825, 1.329, 1.788, 2.379, 3.128, 4.049, 5.15",\
                 "0.706, 0.7613, 0.9282, 1.194, 1.557, 2.035, 2.637, 3.377, 4.288, 5.379",\
                 "0.8859, 0.9497, 1.142, 1.44, 1.832, 2.328, 2.952, 3.707, 4.608, 5.689",\
                 "1.092, 1.165, 1.382, 1.718, 2.146, 2.672, 3.315, 4.096, 5.014, 6.085",\
                 "1.326, 1.407, 1.651, 2.024, 2.496, 3.062, 3.731, 4.532, 5.479, 6.572");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1457, 0.1714, 0.2602, 0.4267, 0.6845, 1.047, 1.523, 2.12, 2.851, 3.72",\
                 "0.1437, 0.1704, 0.2596, 0.427, 0.685, 1.047, 1.523, 2.12, 2.85, 3.72",\
                 "0.1719, 0.1938, 0.2672, 0.426, 0.6846, 1.047, 1.523, 2.12, 2.851, 3.721",\
                 "0.2482, 0.274, 0.3574, 0.4976, 0.7088, 1.048, 1.522, 2.12, 2.85, 3.722",\
                 "0.3482, 0.38, 0.4762, 0.6382, 0.8612, 1.144, 1.551, 2.122, 2.85, 3.721",\
                 "0.4688, 0.5088, 0.6242, 0.8066, 1.052, 1.367, 1.742, 2.223, 2.877, 3.722",\
                 "0.6104, 0.6592, 0.7968, 1.005, 1.276, 1.618, 2.033, 2.51, 3.08, 3.819",\
                 "0.7712, 0.8272, 0.9904, 1.233, 1.537, 1.905, 2.349, 2.87, 3.463, 4.131",\
                 "0.9538, 1.018, 1.209, 1.489, 1.832, 2.23, 2.701, 3.257, 3.894, 4.603",\
                 "1.157, 1.232, 1.45, 1.769, 2.154, 2.597, 3.102, 3.683, 4.355, 5.113");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.2459, 0.301, 0.495, 0.8645, 1.439, 2.244, 3.305, 4.642, 6.269, 8.215",\
                 "0.2462, 0.3009, 0.4944, 0.8627, 1.437, 2.244, 3.304, 4.646, 6.279, 8.213",\
                 "0.2578, 0.3073, 0.4943, 0.8644, 1.439, 2.245, 3.307, 4.637, 6.272, 8.215",\
                 "0.3113, 0.3616, 0.5339, 0.8713, 1.439, 2.243, 3.305, 4.649, 6.273, 8.216",\
                 "0.3906, 0.438, 0.6112, 0.9432, 1.465, 2.248, 3.307, 4.638, 6.27, 8.222",\
                 "0.503, 0.552, 0.7188, 1.047, 1.566, 2.3, 3.313, 4.646, 6.267, 8.231",\
                 "0.6322, 0.6882, 0.8686, 1.186, 1.702, 2.429, 3.395, 4.666, 6.277, 8.226",\
                 "0.7746, 0.8374, 1.04, 1.378, 1.877, 2.605, 3.555, 4.77, 6.321, 8.231",\
                 "0.9292, 1.004, 1.229, 1.593, 2.097, 2.806, 3.768, 4.968, 6.45, 8.298",\
                 "1.096, 1.178, 1.429, 1.833, 2.375, 3.069, 4.01, 5.223, 6.688, 8.458");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.08983, 0.1024, 0.145, 0.224, 0.3451, 0.5139, 0.7353, 1.014, 1.354, 1.759",\
                 "0.1023, 0.1148, 0.1575, 0.2364, 0.3576, 0.5263, 0.7478, 1.026, 1.366, 1.771",\
                 "0.1416, 0.1573, 0.2058, 0.2852, 0.4059, 0.5745, 0.7958, 1.074, 1.414, 1.819",\
                 "0.165, 0.187, 0.2549, 0.3627, 0.501, 0.6706, 0.8907, 1.169, 1.508, 1.913",\
                 "0.1637, 0.1924, 0.2808, 0.4188, 0.5962, 0.8064, 1.043, 1.32, 1.658, 2.062",\
                 "0.1357, 0.1708, 0.2792, 0.4491, 0.6653, 0.92, 1.209, 1.526, 1.873, 2.275",\
                 "0.0795, 0.1207, 0.2478, 0.4498, 0.7056, 1.006, 1.344, 1.718, 2.122, 2.555",\
                 "-0.0053, 0.0415, 0.1863, 0.4182, 0.7146, 1.062, 1.449, 1.876, 2.342, 2.84",\
                 "-0.1218, -0.0691, 0.0951, 0.3544, 0.6908, 1.083, 1.524, 2.005, 2.527, 3.088",\
                 "-0.2706, -0.2121, -0.0301, 0.2572, 0.6306, 1.071, 1.562, 2.1, 2.679, 3.301");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.2033, 0.2358, 0.3479, 0.5594, 0.8866, 1.346, 1.95, 2.711, 3.64, 4.747",\
                 "0.2127, 0.246, 0.36, 0.5737, 0.9026, 1.363, 1.968, 2.729, 3.66, 4.765",\
                 "0.251, 0.2836, 0.3961, 0.6098, 0.9402, 1.402, 2.007, 2.769, 3.699, 4.807",\
                 "0.3193, 0.3552, 0.4749, 0.6866, 1.012, 1.471, 2.076, 2.838, 3.767, 4.874",\
                 "0.4281, 0.4675, 0.5941, 0.8189, 1.146, 1.597, 2.195, 2.952, 3.88, 4.986",\
                 "0.5695, 0.6152, 0.7579, 0.9946, 1.338, 1.794, 2.384, 3.132, 4.05, 5.151",\
                 "0.7394, 0.7938, 0.9573, 1.218, 1.576, 2.052, 2.649, 3.387, 4.296, 5.386",\
                 "0.9384, 1.001, 1.188, 1.481, 1.866, 2.357, 2.977, 3.727, 4.625, 5.705",\
                 "1.168, 1.238, 1.451, 1.778, 2.2, 2.718, 3.355, 4.13, 5.043, 6.112",\
                 "1.429, 1.508, 1.746, 2.11, 2.573, 3.13, 3.791, 4.585, 5.525, 6.613");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1109, 0.131, 0.2008, 0.3321, 0.536, 0.8211, 1.195, 1.669, 2.244, 2.932",\
                 "0.1097, 0.1301, 0.2006, 0.3316, 0.5359, 0.821, 1.197, 1.668, 2.244, 2.932",\
                 "0.1496, 0.1671, 0.2212, 0.3349, 0.5358, 0.8207, 1.196, 1.668, 2.244, 2.931",\
                 "0.2254, 0.2481, 0.3179, 0.4319, 0.5865, 0.8317, 1.196, 1.668, 2.245, 2.931",\
                 "0.3231, 0.3517, 0.4367, 0.573, 0.755, 0.9764, 1.266, 1.682, 2.244, 2.931",\
                 "0.4412, 0.477, 0.5812, 0.7408, 0.948, 1.206, 1.507, 1.856, 2.324, 2.95",\
                 "0.5794, 0.6232, 0.7496, 0.9356, 1.172, 1.458, 1.799, 2.189, 2.614, 3.14",\
                 "0.7402, 0.7922, 0.94, 1.159, 1.427, 1.744, 2.116, 2.547, 3.027, 3.544",\
                 "0.9212, 0.9848, 1.154, 1.408, 1.713, 2.067, 2.469, 2.932, 3.46, 4.035",\
                 "1.123, 1.194, 1.394, 1.683, 2.033, 2.425, 2.867, 3.36, 3.919, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.2462, 0.3015, 0.4951, 0.8645, 1.436, 2.245, 3.305, 4.639, 6.273, 8.223",\
                 "0.2463, 0.3015, 0.4949, 0.8646, 1.437, 2.242, 3.304, 4.645, 6.275, 8.223",\
                 "0.2582, 0.3078, 0.4945, 0.8646, 1.438, 2.246, 3.308, 4.643, 6.269, 8.222",\
                 "0.3107, 0.3614, 0.5339, 0.871, 1.437, 2.246, 3.31, 4.639, 6.275, 8.217",\
                 "0.3872, 0.4342, 0.6076, 0.9424, 1.464, 2.248, 3.307, 4.642, 6.28, 8.225",\
                 "0.4942, 0.5442, 0.7098, 1.043, 1.562, 2.297, 3.314, 4.638, 6.272, 8.22",\
                 "0.6238, 0.6758, 0.8542, 1.173, 1.693, 2.422, 3.393, 4.662, 6.28, 8.211",\
                 "0.762, 0.8244, 1.021, 1.351, 1.855, 2.589, 3.547, 4.767, 6.314, 8.216",\
                 "0.9162, 0.9852, 1.207, 1.567, 2.069, 2.785, 3.752, 4.957, 6.449, 8.291",\
                 "1.082, 1.16, 1.404, 1.801, 2.326, 3.029, 3.981, 5.203, 6.673, 8.448");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1414, 0.1574, 0.2119, 0.3121, 0.4655, 0.6787, 0.958, 1.309, 1.737, 2.247",\
                 "0.1523, 0.1684, 0.2226, 0.3232, 0.4767, 0.6898, 0.9692, 1.32, 1.749, 2.259",\
                 "0.198, 0.2142, 0.2674, 0.3671, 0.5202, 0.7333, 1.012, 1.363, 1.792, 2.302",\
                 "0.2459, 0.2678, 0.3376, 0.453, 0.6087, 0.8204, 1.099, 1.449, 1.877, 2.386",\
                 "0.2731, 0.301, 0.388, 0.5321, 0.7253, 0.9591, 1.238, 1.586, 2.013, 2.521",\
                 "0.2768, 0.3107, 0.4162, 0.5893, 0.8198, 1.099, 1.422, 1.784, 2.209, 2.715",\
                 "0.2555, 0.2941, 0.4194, 0.6227, 0.8903, 1.213, 1.587, 2.006, 2.466, 2.976",\
                 "0.2082, 0.2526, 0.3952, 0.628, 0.9355, 1.303, 1.725, 2.199, 2.722, 3.288",\
                 "0.1347, 0.1849, 0.3435, 0.6052, 0.9519, 1.365, 1.837, 2.364, 2.945, 3.577",\
                 "0.0336, 0.0893, 0.2642, 0.5525, 0.9377, 1.398, 1.922, 2.502, 3.14, 3.834");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.2033, 0.2358, 0.3479, 0.5594, 0.8866, 1.346, 1.95, 2.711, 3.64, 4.747",\
                 "0.2127, 0.246, 0.36, 0.5737, 0.9026, 1.363, 1.968, 2.729, 3.66, 4.765",\
                 "0.251, 0.2836, 0.3961, 0.6098, 0.9402, 1.402, 2.007, 2.769, 3.699, 4.807",\
                 "0.3193, 0.3552, 0.4749, 0.6866, 1.012, 1.471, 2.076, 2.838, 3.767, 4.874",\
                 "0.4281, 0.4675, 0.5941, 0.8189, 1.146, 1.597, 2.195, 2.952, 3.88, 4.986",\
                 "0.5695, 0.6152, 0.7579, 0.9946, 1.338, 1.794, 2.384, 3.132, 4.05, 5.151",\
                 "0.7394, 0.7938, 0.9573, 1.218, 1.576, 2.052, 2.649, 3.387, 4.296, 5.386",\
                 "0.9384, 1.001, 1.188, 1.481, 1.866, 2.357, 2.977, 3.727, 4.625, 5.705",\
                 "1.168, 1.238, 1.451, 1.778, 2.2, 2.718, 3.355, 4.13, 5.043, 6.112",\
                 "1.429, 1.508, 1.746, 2.11, 2.573, 3.13, 3.791, 4.585, 5.525, 6.613");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1824, 0.2089, 0.299, 0.4677, 0.7271, 1.089, 1.566, 2.164, 2.895, 3.764",\
                 "0.1822, 0.2086, 0.2994, 0.4677, 0.7271, 1.089, 1.565, 2.164, 2.894, 3.765",\
                 "0.1951, 0.2173, 0.2997, 0.4669, 0.727, 1.089, 1.566, 2.163, 2.894, 3.765",\
                 "0.2724, 0.2989, 0.3834, 0.5226, 0.7427, 1.09, 1.565, 2.164, 2.894, 3.765",\
                 "0.3728, 0.4041, 0.502, 0.6642, 0.8862, 1.172, 1.586, 2.164, 2.895, 3.765",\
                 "0.4988, 0.5352, 0.6494, 0.831, 1.079, 1.394, 1.768, 2.256, 2.915, 3.765",\
                 "0.6452, 0.6888, 0.8248, 1.031, 1.301, 1.647, 2.061, 2.535, 3.109, 3.855",\
                 "0.8106, 0.8638, 1.023, 1.26, 1.563, 1.932, 2.377, 2.898, 3.489, 4.157",\
                 "0.9974, 1.06, 1.244, 1.519, 1.859, 2.258, 2.729, 3.286, 3.922, 4.63",\
                 "1.207, 1.278, 1.488, 1.8, 2.185, 2.622, 3.127, 3.711, 4.384, 5.142");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3426, 0.4011, 0.6027, 0.9785, 1.556, 2.361, 3.422, 4.758, 6.391, 8.33",\
                 "0.3428, 0.401, 0.6026, 0.9786, 1.555, 2.361, 3.422, 4.759, 6.388, 8.329",\
                 "0.3544, 0.4074, 0.6032, 0.9787, 1.556, 2.362, 3.422, 4.759, 6.388, 8.335",\
                 "0.4219, 0.4718, 0.6421, 0.9863, 1.556, 2.361, 3.423, 4.759, 6.39, 8.33",\
                 "0.5182, 0.5626, 0.7316, 1.059, 1.582, 2.363, 3.422, 4.759, 6.39, 8.329",\
                 "0.6592, 0.6994, 0.8514, 1.175, 1.684, 2.415, 3.43, 4.759, 6.39, 8.327",\
                 "0.8232, 0.866, 1.021, 1.322, 1.829, 2.548, 3.509, 4.781, 6.392, 8.327",\
                 "1.005, 1.053, 1.216, 1.523, 2.008, 2.728, 3.675, 4.89, 6.434, 8.334",\
                 "1.2, 1.251, 1.433, 1.759, 2.241, 2.939, 3.895, 5.089, 6.575, 8.407",\
                 "1.409, 1.465, 1.664, 2.018, 2.527, 3.208, 4.142, 5.347, 6.807, 8.579");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1658, 0.1815, 0.235, 0.3341, 0.4864, 0.6987, 0.9773, 1.328, 1.756, 2.266",\
                 "0.1802, 0.1961, 0.25, 0.3496, 0.5021, 0.7146, 0.9934, 1.344, 1.772, 2.281",\
                 "0.2148, 0.2314, 0.2861, 0.3863, 0.5394, 0.7522, 1.031, 1.382, 1.81, 2.32",\
                 "0.2379, 0.2587, 0.3243, 0.4361, 0.594, 0.8069, 1.086, 1.437, 1.865, 2.375",\
                 "0.2348, 0.2613, 0.3435, 0.4767, 0.6572, 0.8868, 1.17, 1.52, 1.947, 2.457",\
                 "0.195, 0.2279, 0.3307, 0.4938, 0.7051, 0.9629, 1.273, 1.638, 2.066, 2.575",\
                 "0.1157, 0.1553, 0.2789, 0.4752, 0.7257, 1.021, 1.364, 1.761, 2.215, 2.732",\
                 "-0.0052, 0.0411, 0.1855, 0.4151, 0.7081, 1.049, 1.435, 1.868, 2.358, 2.909",\
                 "-0.1692, -0.1171, 0.0482, 0.3108, 0.6468, 1.038, 1.474, 1.953, 2.483, 3.071",\
                 "-0.3791, -0.32, -0.1346, 0.1609, 0.5386, 0.9802, 1.47, 2.005, 2.585, 3.216");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3304, 0.3638, 0.4792, 0.6946, 1.026, 1.489, 2.096, 2.859, 3.79, 4.898",\
                 "0.3392, 0.3729, 0.4887, 0.7049, 1.037, 1.5, 2.107, 2.87, 3.801, 4.909",\
                 "0.3924, 0.4257, 0.5407, 0.7558, 1.088, 1.551, 2.158, 2.922, 3.853, 4.961",\
                 "0.5192, 0.551, 0.6623, 0.8733, 1.201, 1.66, 2.266, 3.028, 3.958, 5.066",\
                 "0.699, 0.7361, 0.8598, 1.074, 1.394, 1.847, 2.447, 3.205, 4.131, 5.237",\
                 "0.9206, 0.9623, 1.1, 1.341, 1.68, 2.125, 2.716, 3.466, 4.386, 5.486",\
                 "1.191, 1.237, 1.388, 1.651, 2.025, 2.502, 3.087, 3.827, 4.737, 5.829",\
                 "1.507, 1.559, 1.727, 2.014, 2.416, 2.937, 3.561, 4.298, 5.197, 6.278",\
                 "1.872, 1.93, 2.119, 2.432, 2.864, 3.419, 4.094, 4.877, 5.777, 6.845",\
                 "2.289, 2.353, 2.56, 2.906, 3.374, 3.961, 4.677, 5.517, 6.465, 7.536");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1457, 0.1713, 0.2597, 0.4269, 0.6856, 1.047, 1.522, 2.121, 2.851, 3.72",\
                 "0.1458, 0.1713, 0.2597, 0.427, 0.6853, 1.047, 1.522, 2.121, 2.851, 3.719",\
                 "0.1577, 0.18, 0.2619, 0.4266, 0.6846, 1.047, 1.522, 2.119, 2.851, 3.721",\
                 "0.2151, 0.2385, 0.3179, 0.4647, 0.698, 1.048, 1.521, 2.12, 2.851, 3.721",\
                 "0.3097, 0.334, 0.4142, 0.5618, 0.7898, 1.105, 1.541, 2.121, 2.851, 3.721",\
                 "0.4348, 0.4628, 0.5522, 0.7026, 0.9284, 1.244, 1.659, 2.19, 2.873, 3.723",\
                 "0.5836, 0.6154, 0.7172, 0.8858, 1.119, 1.43, 1.845, 2.367, 3.002, 3.794",\
                 "0.7544, 0.7892, 0.9042, 1.094, 1.351, 1.67, 2.08, 2.6, 3.237, 3.99",\
                 "0.9418, 0.9834, 1.111, 1.329, 1.611, 1.958, 2.377, 2.89, 3.523, 4.28",\
                 "1.141, 1.19, 1.341, 1.581, 1.898, 2.275, 2.721, 3.244, 3.867, 4.623");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.5742, 0.6311, 0.8294, 1.204, 1.782, 2.591, 3.654, 4.991, 6.622, 8.564",\
                 "0.5742, 0.6311, 0.8296, 1.204, 1.783, 2.592, 3.655, 4.989, 6.623, 8.566",\
                 "0.574, 0.6309, 0.8297, 1.204, 1.782, 2.591, 3.655, 4.991, 6.618, 8.565",\
                 "0.6027, 0.6528, 0.8355, 1.204, 1.782, 2.591, 3.654, 4.991, 6.619, 8.564",\
                 "0.7042, 0.7566, 0.9276, 1.248, 1.787, 2.591, 3.653, 4.991, 6.621, 8.562",\
                 "0.8162, 0.8726, 1.063, 1.397, 1.884, 2.615, 3.654, 4.992, 6.624, 8.566",\
                 "0.9546, 1.013, 1.209, 1.571, 2.085, 2.764, 3.707, 4.997, 6.622, 8.565",\
                 "1.12, 1.181, 1.383, 1.752, 2.308, 3.019, 3.909, 5.089, 6.638, 8.565",\
                 "1.306, 1.372, 1.587, 1.966, 2.533, 3.3, 4.222, 5.341, 6.775, 8.602",\
                 "1.511, 1.582, 1.815, 2.213, 2.789, 3.58, 4.564, 5.717, 7.08, 8.784");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1364, 0.1512, 0.2025, 0.2995, 0.4502, 0.6614, 0.9387, 1.289, 1.717, 2.224",\
                 "0.1498, 0.1651, 0.2173, 0.3148, 0.4656, 0.6771, 0.9548, 1.305, 1.733, 2.242",\
                 "0.1791, 0.1966, 0.2523, 0.3512, 0.5027, 0.7149, 0.9926, 1.343, 1.77, 2.279",\
                 "0.1892, 0.2123, 0.2825, 0.3974, 0.5572, 0.769, 1.047, 1.397, 1.825, 2.333",\
                 "0.168, 0.1982, 0.2893, 0.4306, 0.6153, 0.8476, 1.131, 1.481, 1.907, 2.416",\
                 "0.1081, 0.1467, 0.2617, 0.4368, 0.6564, 0.9193, 1.232, 1.598, 2.026, 2.534",\
                 "0.0095, 0.0553, 0.1942, 0.4059, 0.6682, 0.9717, 1.319, 1.718, 2.175, 2.692",\
                 "-0.1303, -0.0768, 0.0862, 0.3335, 0.6412, 0.9924, 1.385, 1.822, 2.314, 2.866",\
                 "-0.3121, -0.2513, -0.0657, 0.2173, 0.5692, 0.9723, 1.417, 1.903, 2.435, 3.027",\
                 "-0.5387, -0.471, -0.2641, 0.0551, 0.4505, 0.9063, 1.407, 1.949, 2.534, 3.168");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3218, 0.3556, 0.4712, 0.6867, 1.018, 1.48, 2.086, 2.849, 3.775, 4.886",\
                 "0.3306, 0.3646, 0.4808, 0.6969, 1.028, 1.491, 2.096, 2.86, 3.786, 4.896",\
                 "0.3836, 0.4171, 0.5324, 0.7479, 1.079, 1.542, 2.147, 2.911, 3.838, 4.946",\
                 "0.51, 0.5428, 0.6543, 0.8646, 1.192, 1.651, 2.255, 3.016, 3.947, 5.055",\
                 "0.6879, 0.7259, 0.8503, 1.065, 1.385, 1.837, 2.435, 3.192, 4.116, 5.223",\
                 "0.9074, 0.9489, 1.088, 1.331, 1.67, 2.115, 2.704, 3.454, 4.372, 5.472",\
                 "1.174, 1.221, 1.374, 1.639, 2.014, 2.491, 3.076, 3.813, 4.723, 5.814",\
                 "1.487, 1.541, 1.712, 1.999, 2.403, 2.924, 3.549, 4.285, 5.183, 6.263",\
                 "1.849, 1.908, 2.099, 2.415, 2.849, 3.405, 4.079, 4.862, 5.762, 6.827",\
                 "2.26, 2.327, 2.538, 2.887, 3.356, 3.944, 4.659, 5.5, 6.449, 7.52");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1108, 0.1351, 0.2211, 0.3864, 0.6439, 1.006, 1.479, 2.079, 2.81, 3.673",\
                 "0.1113, 0.1353, 0.2213, 0.3865, 0.6441, 1.005, 1.479, 2.076, 2.811, 3.679",\
                 "0.1325, 0.1532, 0.2285, 0.387, 0.6432, 1.006, 1.478, 2.077, 2.809, 3.677",\
                 "0.1937, 0.2156, 0.2905, 0.4347, 0.6618, 1.006, 1.479, 2.078, 2.807, 3.679",\
                 "0.2932, 0.3159, 0.3933, 0.5358, 0.7582, 1.071, 1.504, 2.08, 2.806, 3.675",\
                 "0.422, 0.4476, 0.5342, 0.6834, 0.9022, 1.214, 1.628, 2.152, 2.833, 3.676",\
                 "0.5748, 0.6028, 0.7002, 0.8662, 1.097, 1.404, 1.813, 2.333, 2.965, 3.756",\
                 "0.748, 0.7798, 0.8894, 1.077, 1.33, 1.648, 2.053, 2.57, 3.202, 3.954",\
                 "0.9326, 0.9728, 1.098, 1.311, 1.589, 1.937, 2.352, 2.862, 3.491, 4.247",\
                 "1.127, 1.173, 1.323, 1.56, 1.876, 2.253, 2.699, 3.216, 3.838, 4.594");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.4601, 0.518, 0.7167, 1.091, 1.67, 2.479, 3.542, 4.881, 6.505, 8.456",\
                 "0.4594, 0.5177, 0.7161, 1.091, 1.67, 2.479, 3.542, 4.881, 6.507, 8.454",\
                 "0.4588, 0.5163, 0.7155, 1.091, 1.669, 2.478, 3.543, 4.881, 6.508, 8.454",\
                 "0.487, 0.5374, 0.7215, 1.09, 1.669, 2.478, 3.541, 4.88, 6.513, 8.458",\
                 "0.5722, 0.6294, 0.8102, 1.133, 1.673, 2.477, 3.541, 4.879, 6.508, 8.451",\
                 "0.6674, 0.7314, 0.9312, 1.278, 1.77, 2.499, 3.541, 4.879, 6.51, 8.454",\
                 "0.786, 0.8512, 1.063, 1.438, 1.965, 2.649, 3.594, 4.882, 6.51, 8.454",\
                 "0.9278, 0.9966, 1.22, 1.61, 2.175, 2.902, 3.794, 4.974, 6.522, 8.453",\
                 "1.083, 1.161, 1.405, 1.809, 2.39, 3.168, 4.104, 5.226, 6.659, 8.487",\
                 "1.255, 1.344, 1.609, 2.04, 2.636, 3.439, 4.437, 5.596, 6.967, 8.67");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1154, 0.1269, 0.1659, 0.2394, 0.3528, 0.5122, 0.721, 0.9845, 1.306, 1.69",\
                 "0.1297, 0.1413, 0.181, 0.2547, 0.3684, 0.5277, 0.7371, 1, 1.322, 1.705",\
                 "0.1628, 0.178, 0.2244, 0.3008, 0.4155, 0.5749, 0.7845, 1.048, 1.37, 1.754",\
                 "0.1749, 0.1964, 0.2623, 0.365, 0.4974, 0.6602, 0.8702, 1.134, 1.455, 1.839",\
                 "0.1545, 0.1837, 0.271, 0.4055, 0.575, 0.7745, 1.002, 1.268, 1.59, 1.973",\
                 "0.0968, 0.1334, 0.2445, 0.4135, 0.6237, 0.8669, 1.14, 1.443, 1.779, 2.163",\
                 "0.001, 0.0447, 0.1783, 0.3832, 0.6368, 0.9276, 1.25, 1.603, 1.988, 2.405",\
                 "-0.1354, -0.0847, 0.0704, 0.3099, 0.6093, 0.9498, 1.325, 1.732, 2.171, 2.643",\
                 "-0.314, -0.2572, -0.0808, 0.1928, 0.5357, 0.9283, 1.359, 1.823, 2.319, 2.85",\
                 "-0.5373, -0.475, -0.279, 0.0296, 0.4151, 0.8599, 1.348, 1.871, 2.43, 3.021");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3628, 0.3955, 0.509, 0.7224, 1.052, 1.512, 2.118, 2.879, 3.811, 4.916",\
                 "0.372, 0.405, 0.519, 0.7331, 1.064, 1.525, 2.131, 2.893, 3.819, 4.929",\
                 "0.425, 0.4576, 0.5709, 0.7845, 1.114, 1.576, 2.182, 2.945, 3.875, 4.98",\
                 "0.5515, 0.5833, 0.693, 0.9016, 1.228, 1.686, 2.29, 3.049, 3.981, 5.086",\
                 "0.7365, 0.772, 0.8927, 1.104, 1.422, 1.874, 2.471, 3.228, 4.154, 5.256",\
                 "0.9616, 1.002, 1.138, 1.375, 1.71, 2.154, 2.743, 3.49, 4.408, 5.509",\
                 "1.236, 1.281, 1.429, 1.689, 2.06, 2.533, 3.117, 3.855, 4.763, 5.854",\
                 "1.559, 1.609, 1.773, 2.055, 2.457, 2.975, 3.595, 4.331, 5.227, 6.306",\
                 "1.932, 1.988, 2.17, 2.479, 2.909, 3.463, 4.136, 4.914, 5.811, 6.877",\
                 "2.356, 2.418, 2.62, 2.961, 3.422, 4.008, 4.724, 5.562, 6.508, 7.577");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1007, 0.1192, 0.1845, 0.3097, 0.5039, 0.7763, 1.134, 1.583, 2.131, 2.787",\
                 "0.1012, 0.1194, 0.1843, 0.3094, 0.5033, 0.7761, 1.133, 1.584, 2.135, 2.789",\
                 "0.1395, 0.1533, 0.2027, 0.3128, 0.504, 0.7754, 1.132, 1.584, 2.133, 2.787",\
                 "0.2266, 0.2427, 0.2985, 0.3997, 0.5488, 0.7858, 1.133, 1.583, 2.134, 2.788",\
                 "0.3452, 0.3627, 0.4246, 0.5362, 0.7, 0.9134, 1.196, 1.6, 2.134, 2.788",\
                 "0.4904, 0.5096, 0.5804, 0.705, 0.883, 1.117, 1.405, 1.754, 2.211, 2.809",\
                 "0.6592, 0.68, 0.7592, 0.9022, 1.102, 1.354, 1.664, 2.033, 2.461, 2.981",\
                 "0.8468, 0.8716, 0.9608, 1.124, 1.349, 1.627, 1.959, 2.351, 2.809, 3.328",\
                 "1.047, 1.078, 1.182, 1.367, 1.621, 1.932, 2.292, 2.708, 3.192, 3.739",\
                 "1.255, 1.293, 1.418, 1.627, 1.914, 2.26, 2.662, 3.107, 3.616, 4.192");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.5069, 0.5643, 0.7622, 1.137, 1.715, 2.523, 3.588, 4.921, 6.559, 8.499",\
                 "0.5069, 0.5637, 0.762, 1.137, 1.715, 2.524, 3.587, 4.927, 6.554, 8.498",\
                 "0.5058, 0.5634, 0.7617, 1.136, 1.715, 2.524, 3.585, 4.926, 6.558, 8.499",\
                 "0.5267, 0.5783, 0.7653, 1.136, 1.715, 2.524, 3.587, 4.922, 6.558, 8.499",\
                 "0.6172, 0.6718, 0.8462, 1.172, 1.717, 2.523, 3.586, 4.925, 6.558, 8.494",\
                 "0.7092, 0.772, 0.9704, 1.313, 1.805, 2.541, 3.586, 4.923, 6.556, 8.503",\
                 "0.8262, 0.89, 1.099, 1.473, 1.999, 2.681, 3.633, 4.927, 6.554, 8.5",\
                 "0.9692, 1.034, 1.254, 1.644, 2.205, 2.929, 3.824, 5.01, 6.566, 8.499",\
                 "1.13, 1.201, 1.435, 1.834, 2.423, 3.195, 4.13, 5.254, 6.694, 8.528",\
                 "1.305, 1.385, 1.64, 2.062, 2.657, 3.465, 4.463, 5.616, 6.991, 8.702");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1658, 0.1815, 0.235, 0.3341, 0.4864, 0.6987, 0.9773, 1.328, 1.756, 2.266",\
                 "0.1802, 0.1961, 0.25, 0.3496, 0.5021, 0.7146, 0.9934, 1.344, 1.772, 2.281",\
                 "0.2148, 0.2314, 0.2861, 0.3863, 0.5394, 0.7522, 1.031, 1.382, 1.81, 2.32",\
                 "0.2379, 0.2587, 0.3243, 0.4361, 0.594, 0.8069, 1.086, 1.437, 1.865, 2.375",\
                 "0.2348, 0.2613, 0.3435, 0.4767, 0.6572, 0.8868, 1.17, 1.52, 1.947, 2.457",\
                 "0.195, 0.2279, 0.3307, 0.4938, 0.7051, 0.9629, 1.273, 1.638, 2.066, 2.575",\
                 "0.1157, 0.1553, 0.2789, 0.4752, 0.7257, 1.021, 1.364, 1.761, 2.215, 2.732",\
                 "-0.0052, 0.0411, 0.1855, 0.4151, 0.7081, 1.049, 1.435, 1.868, 2.358, 2.909",\
                 "-0.1692, -0.1171, 0.0482, 0.3108, 0.6468, 1.038, 1.474, 1.953, 2.483, 3.071",\
                 "-0.3791, -0.32, -0.1346, 0.1609, 0.5386, 0.9802, 1.47, 2.005, 2.585, 3.216");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3628, 0.3955, 0.509, 0.7224, 1.052, 1.512, 2.118, 2.879, 3.811, 4.916",\
                 "0.372, 0.405, 0.519, 0.7331, 1.064, 1.525, 2.131, 2.893, 3.819, 4.929",\
                 "0.425, 0.4576, 0.5709, 0.7845, 1.114, 1.576, 2.182, 2.945, 3.875, 4.98",\
                 "0.5515, 0.5833, 0.693, 0.9016, 1.228, 1.686, 2.29, 3.049, 3.981, 5.086",\
                 "0.7365, 0.772, 0.8927, 1.104, 1.422, 1.874, 2.471, 3.228, 4.154, 5.256",\
                 "0.9616, 1.002, 1.138, 1.375, 1.71, 2.154, 2.743, 3.49, 4.408, 5.509",\
                 "1.236, 1.281, 1.429, 1.689, 2.06, 2.533, 3.117, 3.855, 4.763, 5.854",\
                 "1.559, 1.609, 1.773, 2.055, 2.457, 2.975, 3.595, 4.331, 5.227, 6.306",\
                 "1.932, 1.988, 2.17, 2.479, 2.909, 3.463, 4.136, 4.914, 5.811, 6.877",\
                 "2.356, 2.418, 2.62, 2.961, 3.422, 4.008, 4.724, 5.562, 6.508, 7.577");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1457, 0.1713, 0.2597, 0.4269, 0.6856, 1.047, 1.522, 2.121, 2.851, 3.72",\
                 "0.1458, 0.1713, 0.2597, 0.427, 0.6853, 1.047, 1.522, 2.121, 2.851, 3.719",\
                 "0.1577, 0.18, 0.2619, 0.4266, 0.6846, 1.047, 1.522, 2.119, 2.851, 3.721",\
                 "0.2151, 0.2385, 0.3179, 0.4647, 0.698, 1.048, 1.521, 2.12, 2.851, 3.721",\
                 "0.3097, 0.334, 0.4142, 0.5618, 0.7898, 1.105, 1.541, 2.121, 2.851, 3.721",\
                 "0.4348, 0.4628, 0.5522, 0.7026, 0.9284, 1.244, 1.659, 2.19, 2.873, 3.723",\
                 "0.5836, 0.6154, 0.7172, 0.8858, 1.119, 1.43, 1.845, 2.367, 3.002, 3.794",\
                 "0.7544, 0.7892, 0.9042, 1.094, 1.351, 1.67, 2.08, 2.6, 3.237, 3.99",\
                 "0.9418, 0.9834, 1.111, 1.329, 1.611, 1.958, 2.377, 2.89, 3.523, 4.28",\
                 "1.141, 1.19, 1.341, 1.581, 1.898, 2.275, 2.721, 3.244, 3.867, 4.623");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.5742, 0.6311, 0.8294, 1.204, 1.782, 2.591, 3.654, 4.991, 6.622, 8.564",\
                 "0.5742, 0.6311, 0.8296, 1.204, 1.783, 2.592, 3.655, 4.989, 6.623, 8.566",\
                 "0.574, 0.6309, 0.8297, 1.204, 1.782, 2.591, 3.655, 4.991, 6.618, 8.565",\
                 "0.6027, 0.6528, 0.8355, 1.204, 1.782, 2.591, 3.654, 4.991, 6.619, 8.564",\
                 "0.7042, 0.7566, 0.9276, 1.248, 1.787, 2.591, 3.653, 4.991, 6.621, 8.562",\
                 "0.8162, 0.8726, 1.063, 1.397, 1.884, 2.615, 3.654, 4.992, 6.624, 8.566",\
                 "0.9546, 1.013, 1.209, 1.571, 2.085, 2.764, 3.707, 4.997, 6.622, 8.565",\
                 "1.12, 1.181, 1.383, 1.752, 2.308, 3.019, 3.909, 5.089, 6.638, 8.565",\
                 "1.306, 1.372, 1.587, 1.966, 2.533, 3.3, 4.222, 5.341, 6.775, 8.602",\
                 "1.511, 1.582, 1.815, 2.213, 2.789, 3.58, 4.564, 5.717, 7.08, 8.784");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1976, 0.2136, 0.2675, 0.3681, 0.5216, 0.7346, 1.014, 1.365, 1.793, 2.303",\
                 "0.2101, 0.2262, 0.2802, 0.381, 0.5343, 0.7475, 1.027, 1.378, 1.806, 2.316",\
                 "0.2452, 0.2616, 0.3158, 0.4165, 0.5701, 0.7834, 1.063, 1.414, 1.842, 2.352",\
                 "0.278, 0.2971, 0.3596, 0.4685, 0.6249, 0.8378, 1.117, 1.468, 1.896, 2.406",\
                 "0.2895, 0.3136, 0.3898, 0.5169, 0.693, 0.9201, 1.201, 1.552, 1.979, 2.489",\
                 "0.2715, 0.3011, 0.3949, 0.5472, 0.75, 1.002, 1.309, 1.671, 2.099, 2.607",\
                 "0.2208, 0.2556, 0.3669, 0.549, 0.787, 1.072, 1.407, 1.8, 2.251, 2.767",\
                 "0.1376, 0.178, 0.3064, 0.517, 0.7921, 1.118, 1.492, 1.917, 2.401, 2.948",\
                 "0.0225, 0.0669, 0.2116, 0.4483, 0.7614, 1.132, 1.551, 2.018, 2.537, 3.119",\
                 "-0.1282, -0.0786, 0.0817, 0.3445, 0.6925, 1.107, 1.576, 2.092, 2.657, 3.277");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3673, 0.4009, 0.5159, 0.7315, 1.063, 1.526, 2.133, 2.896, 3.827, 4.936",\
                 "0.3794, 0.4129, 0.5285, 0.7445, 1.076, 1.539, 2.146, 2.91, 3.841, 4.949",\
                 "0.417, 0.4505, 0.5663, 0.7832, 1.116, 1.579, 2.187, 2.95, 3.881, 4.99",\
                 "0.4973, 0.531, 0.6444, 0.8577, 1.188, 1.649, 2.256, 3.019, 3.949, 5.058",\
                 "0.6207, 0.6561, 0.7758, 0.9939, 1.318, 1.773, 2.374, 3.133, 4.061, 5.167",\
                 "0.7916, 0.829, 0.9542, 1.18, 1.516, 1.966, 2.558, 3.31, 4.231, 5.332",\
                 "1.002, 1.043, 1.18, 1.418, 1.764, 2.231, 2.822, 3.562, 4.473, 5.565",\
                 "1.249, 1.295, 1.447, 1.705, 2.067, 2.546, 3.157, 3.901, 4.8, 5.88",\
                 "1.532, 1.583, 1.752, 2.035, 2.423, 2.919, 3.545, 4.31, 5.217, 6.285",\
                 "1.851, 1.909, 2.096, 2.407, 2.827, 3.351, 3.993, 4.775, 5.707, 6.786");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1825, 0.2086, 0.2993, 0.4676, 0.7272, 1.089, 1.566, 2.163, 2.894, 3.764",\
                 "0.1825, 0.2086, 0.2989, 0.4679, 0.7265, 1.09, 1.566, 2.164, 2.895, 3.766",\
                 "0.1882, 0.2128, 0.3003, 0.4678, 0.727, 1.09, 1.566, 2.164, 2.895, 3.766",\
                 "0.2447, 0.2688, 0.3501, 0.4988, 0.737, 1.09, 1.566, 2.164, 2.895, 3.766",\
                 "0.3392, 0.3636, 0.4458, 0.5954, 0.8238, 1.142, 1.582, 2.164, 2.895, 3.765",\
                 "0.4692, 0.4966, 0.5842, 0.7352, 0.9612, 1.279, 1.694, 2.229, 2.916, 3.766",\
                 "0.628, 0.6588, 0.7564, 0.9196, 1.15, 1.462, 1.878, 2.402, 3.04, 3.836",\
                 "0.8114, 0.8456, 0.9556, 1.138, 1.384, 1.701, 2.111, 2.632, 3.27, 4.027",\
                 "1.019, 1.058, 1.183, 1.385, 1.655, 1.993, 2.406, 2.917, 3.555, 4.313",\
                 "1.251, 1.294, 1.434, 1.66, 1.958, 2.321, 2.753, 3.269, 3.894, 4.649");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.5741, 0.6312, 0.8294, 1.204, 1.782, 2.591, 3.653, 4.992, 6.622, 8.559",\
                 "0.5743, 0.6311, 0.8297, 1.204, 1.783, 2.591, 3.653, 4.989, 6.619, 8.567",\
                 "0.5742, 0.631, 0.8293, 1.204, 1.783, 2.591, 3.653, 4.992, 6.622, 8.564",\
                 "0.6059, 0.657, 0.8411, 1.205, 1.783, 2.591, 3.653, 4.989, 6.621, 8.561",\
                 "0.6878, 0.74, 0.9156, 1.25, 1.794, 2.592, 3.655, 4.992, 6.622, 8.566",\
                 "0.795, 0.846, 1.021, 1.358, 1.876, 2.626, 3.658, 4.992, 6.622, 8.566",\
                 "0.9388, 0.988, 1.159, 1.49, 2.013, 2.741, 3.72, 5.006, 6.622, 8.566",\
                 "1.106, 1.159, 1.339, 1.663, 2.178, 2.913, 3.871, 5.098, 6.654, 8.568",\
                 "1.29, 1.35, 1.541, 1.88, 2.385, 3.111, 4.078, 5.284, 6.781, 8.626",\
                 "1.492, 1.555, 1.765, 2.125, 2.642, 3.353, 4.312, 5.531, 7.002, 8.785");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1647, 0.1803, 0.2336, 0.3328, 0.4851, 0.6973, 0.976, 1.327, 1.754, 2.264",\
                 "0.1771, 0.1927, 0.2462, 0.3455, 0.4978, 0.7101, 0.9887, 1.339, 1.767, 2.277",\
                 "0.2104, 0.227, 0.2815, 0.381, 0.5335, 0.746, 1.025, 1.375, 1.803, 2.313",\
                 "0.233, 0.2534, 0.3191, 0.4305, 0.5881, 0.8006, 1.079, 1.43, 1.858, 2.367",\
                 "0.23, 0.2566, 0.3394, 0.4722, 0.6519, 0.8812, 1.164, 1.513, 1.94, 2.449",\
                 "0.1952, 0.2286, 0.3314, 0.4937, 0.7034, 0.9597, 1.268, 1.632, 2.06, 2.568",\
                 "0.1294, 0.1684, 0.2912, 0.4846, 0.7319, 1.024, 1.363, 1.758, 2.211, 2.727",\
                 "0.0331, 0.0779, 0.2177, 0.4413, 0.7283, 1.063, 1.443, 1.872, 2.358, 2.906",\
                 "-0.0951, -0.0449, 0.1117, 0.3633, 0.6886, 1.07, 1.497, 1.969, 2.492, 3.075",\
                 "-0.2586, -0.2025, -0.0292, 0.2497, 0.6117, 1.039, 1.516, 2.039, 2.608, 3.232");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3588, 0.3925, 0.508, 0.7235, 1.055, 1.517, 2.123, 2.884, 3.814, 4.92",\
                 "0.3706, 0.4046, 0.5205, 0.7366, 1.068, 1.53, 2.137, 2.899, 3.827, 4.934",\
                 "0.4082, 0.4422, 0.5585, 0.775, 1.107, 1.569, 2.176, 2.938, 3.867, 4.976",\
                 "0.488, 0.5221, 0.6364, 0.8495, 1.179, 1.64, 2.245, 3.008, 3.938, 5.047",\
                 "0.6103, 0.646, 0.7669, 0.9846, 1.309, 1.762, 2.363, 3.12, 4.048, 5.155",\
                 "0.7795, 0.8178, 0.9443, 1.17, 1.506, 1.956, 2.547, 3.297, 4.217, 5.319",\
                 "0.9878, 1.03, 1.169, 1.407, 1.753, 2.22, 2.81, 3.549, 4.459, 5.55",\
                 "1.232, 1.279, 1.433, 1.693, 2.055, 2.534, 3.144, 3.886, 4.784, 5.864",\
                 "1.51, 1.563, 1.735, 2.021, 2.409, 2.906, 3.531, 4.295, 5.201, 6.267",\
                 "1.826, 1.885, 2.075, 2.39, 2.811, 3.336, 3.978, 4.759, 5.69, 6.768");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1477, 0.1729, 0.2617, 0.4285, 0.6871, 1.049, 1.524, 2.122, 2.852, 3.72",\
                 "0.1477, 0.1727, 0.2617, 0.4284, 0.6867, 1.048, 1.523, 2.122, 2.851, 3.722",\
                 "0.1607, 0.1833, 0.2646, 0.428, 0.687, 1.048, 1.524, 2.123, 2.853, 3.722",\
                 "0.2219, 0.2448, 0.3227, 0.4682, 0.7007, 1.049, 1.523, 2.121, 2.852, 3.721",\
                 "0.3222, 0.346, 0.4242, 0.5678, 0.7938, 1.108, 1.545, 2.124, 2.852, 3.722",\
                 "0.4552, 0.482, 0.5666, 0.7138, 0.9348, 1.248, 1.662, 2.193, 2.877, 3.724",\
                 "0.6176, 0.647, 0.7412, 0.9022, 1.128, 1.438, 1.847, 2.369, 3.005, 3.797",\
                 "0.8042, 0.8364, 0.9436, 1.121, 1.366, 1.679, 2.084, 2.603, 3.239, 3.992",\
                 "1.014, 1.052, 1.17, 1.371, 1.637, 1.973, 2.384, 2.89, 3.523, 4.28",\
                 "1.24, 1.283, 1.42, 1.645, 1.943, 2.301, 2.732, 3.248, 3.866, 4.618");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.4596, 0.5178, 0.7164, 1.091, 1.67, 2.478, 3.542, 4.88, 6.511, 8.447",\
                 "0.4597, 0.5173, 0.7163, 1.091, 1.67, 2.479, 3.541, 4.881, 6.505, 8.452",\
                 "0.459, 0.5166, 0.7163, 1.091, 1.669, 2.478, 3.542, 4.882, 6.511, 8.454",\
                 "0.4907, 0.5422, 0.7267, 1.09, 1.669, 2.478, 3.542, 4.879, 6.512, 8.458",\
                 "0.5618, 0.615, 0.7986, 1.136, 1.679, 2.478, 3.541, 4.879, 6.513, 8.458",\
                 "0.6572, 0.7114, 0.8932, 1.238, 1.761, 2.512, 3.543, 4.878, 6.51, 8.458",\
                 "0.7818, 0.838, 1.022, 1.364, 1.894, 2.626, 3.606, 4.889, 6.508, 8.452",\
                 "0.9244, 0.9864, 1.186, 1.527, 2.051, 2.797, 3.754, 4.983, 6.539, 8.455",\
                 "1.083, 1.156, 1.369, 1.733, 2.251, 2.987, 3.959, 5.168, 6.666, 8.51",\
                 "1.256, 1.332, 1.573, 1.962, 2.501, 3.223, 4.187, 5.412, 6.887, 8.671");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1356, 0.1477, 0.1885, 0.2635, 0.3783, 0.5386, 0.7486, 1.012, 1.334, 1.718",\
                 "0.149, 0.1609, 0.2016, 0.2768, 0.3919, 0.552, 0.762, 1.026, 1.348, 1.732",\
                 "0.189, 0.2028, 0.2464, 0.3223, 0.4376, 0.5979, 0.8078, 1.072, 1.394, 1.778",\
                 "0.2157, 0.2351, 0.2954, 0.3926, 0.5212, 0.6833, 0.8934, 1.158, 1.48, 1.863",\
                 "0.2143, 0.24, 0.3189, 0.4445, 0.6071, 0.8016, 1.027, 1.292, 1.613, 1.997",\
                 "0.1814, 0.2132, 0.3123, 0.4684, 0.668, 0.903, 1.171, 1.47, 1.804, 2.188",\
                 "0.1179, 0.1551, 0.2724, 0.4598, 0.6986, 0.977, 1.29, 1.637, 2.017, 2.431",\
                 "0.0239, 0.066, 0.1997, 0.4161, 0.6946, 1.019, 1.38, 1.777, 2.21, 2.676",\
                 "-0.1034, -0.0564, 0.0937, 0.3365, 0.6529, 1.023, 1.436, 1.886, 2.371, 2.893",\
                 "-0.2645, -0.2135, -0.0484, 0.2209, 0.5732, 0.9894, 1.453, 1.958, 2.5, 3.078");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3999, 0.4325, 0.5458, 0.7592, 1.089, 1.549, 2.154, 2.916, 3.844, 4.951",\
                 "0.4121, 0.4451, 0.5589, 0.773, 1.103, 1.564, 2.168, 2.93, 3.861, 4.969",\
                 "0.4495, 0.4825, 0.5967, 0.8115, 1.142, 1.604, 2.211, 2.97, 3.901, 5.009",\
                 "0.5304, 0.5631, 0.6748, 0.8859, 1.214, 1.675, 2.279, 3.042, 3.969, 5.075",\
                 "0.6566, 0.691, 0.8088, 1.023, 1.345, 1.798, 2.398, 3.156, 4.082, 5.189",\
                 "0.831, 0.8676, 0.9903, 1.214, 1.547, 1.995, 2.585, 3.334, 4.253, 5.354",\
                 "1.048, 1.089, 1.221, 1.455, 1.8, 2.264, 2.853, 3.59, 4.5, 5.589",\
                 "1.303, 1.348, 1.495, 1.747, 2.106, 2.584, 3.193, 3.934, 4.831, 5.909",\
                 "1.593, 1.644, 1.808, 2.085, 2.469, 2.963, 3.587, 4.35, 5.254, 6.32",\
                 "1.922, 1.978, 2.16, 2.465, 2.879, 3.401, 4.041, 4.823, 5.752, 6.828");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.129, 0.1484, 0.215, 0.3411, 0.5354, 0.8085, 1.167, 1.616, 2.167, 2.82",\
                 "0.1294, 0.1482, 0.2149, 0.3409, 0.5363, 0.8077, 1.166, 1.616, 2.166, 2.821",\
                 "0.158, 0.1726, 0.2267, 0.3427, 0.5353, 0.8091, 1.166, 1.616, 2.165, 2.821",\
                 "0.2487, 0.265, 0.3211, 0.4211, 0.5735, 0.8167, 1.167, 1.616, 2.165, 2.82",\
                 "0.37, 0.3876, 0.4486, 0.5602, 0.7224, 0.9354, 1.224, 1.632, 2.167, 2.821",\
                 "0.5192, 0.5408, 0.6086, 0.7302, 0.9072, 1.14, 1.428, 1.778, 2.239, 2.841",\
                 "0.6974, 0.7194, 0.7984, 0.933, 1.126, 1.376, 1.688, 2.056, 2.485, 3.007",\
                 "0.8986, 0.9238, 1.012, 1.167, 1.381, 1.651, 1.978, 2.372, 2.829, 3.349",\
                 "1.123, 1.151, 1.251, 1.424, 1.663, 1.961, 2.312, 2.726, 3.209, 3.758",\
                 "1.364, 1.401, 1.515, 1.714, 1.976, 2.303, 2.69, 3.124, 3.629, 4.205");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.5063, 0.563, 0.7622, 1.136, 1.716, 2.524, 3.586, 4.922, 6.551, 8.494",\
                 "0.5062, 0.5642, 0.7621, 1.136, 1.715, 2.525, 3.586, 4.921, 6.555, 8.5",\
                 "0.5066, 0.5634, 0.7626, 1.137, 1.714, 2.523, 3.588, 4.923, 6.558, 8.499",\
                 "0.5307, 0.5832, 0.7695, 1.135, 1.714, 2.524, 3.586, 4.924, 6.554, 8.496",\
                 "0.6002, 0.6542, 0.838, 1.176, 1.723, 2.523, 3.586, 4.925, 6.558, 8.503",\
                 "0.6892, 0.742, 0.9276, 1.276, 1.799, 2.553, 3.587, 4.923, 6.554, 8.501",\
                 "0.8094, 0.8658, 1.05, 1.395, 1.93, 2.663, 3.646, 4.933, 6.555, 8.499",\
                 "0.9558, 1.012, 1.207, 1.55, 2.081, 2.827, 3.789, 5.023, 6.582, 8.5",\
                 "1.116, 1.179, 1.39, 1.747, 2.27, 3.011, 3.991, 5.202, 6.703, 8.552",\
                 "1.288, 1.361, 1.591, 1.974, 2.509, 3.237, 4.211, 5.443, 6.918, 8.705");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1976, 0.2136, 0.2675, 0.3681, 0.5216, 0.7346, 1.014, 1.365, 1.793, 2.303",\
                 "0.2101, 0.2262, 0.2802, 0.381, 0.5343, 0.7475, 1.027, 1.378, 1.806, 2.316",\
                 "0.2452, 0.2616, 0.3158, 0.4165, 0.5701, 0.7834, 1.063, 1.414, 1.842, 2.352",\
                 "0.278, 0.2971, 0.3596, 0.4685, 0.6249, 0.8378, 1.117, 1.468, 1.896, 2.406",\
                 "0.2895, 0.3136, 0.3898, 0.5169, 0.693, 0.9201, 1.201, 1.552, 1.979, 2.489",\
                 "0.2715, 0.3011, 0.3949, 0.5472, 0.75, 1.002, 1.309, 1.671, 2.099, 2.607",\
                 "0.2208, 0.2556, 0.3669, 0.549, 0.787, 1.072, 1.407, 1.8, 2.251, 2.767",\
                 "0.1376, 0.178, 0.3064, 0.517, 0.7921, 1.118, 1.492, 1.917, 2.401, 2.948",\
                 "0.0225, 0.0669, 0.2116, 0.4483, 0.7614, 1.132, 1.551, 2.018, 2.537, 3.119",\
                 "-0.1282, -0.0786, 0.0817, 0.3445, 0.6925, 1.107, 1.576, 2.092, 2.657, 3.277");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.3999, 0.4325, 0.5458, 0.7592, 1.089, 1.549, 2.154, 2.916, 3.844, 4.951",\
                 "0.4121, 0.4451, 0.5589, 0.773, 1.103, 1.564, 2.168, 2.93, 3.861, 4.969",\
                 "0.4495, 0.4825, 0.5967, 0.8115, 1.142, 1.604, 2.211, 2.97, 3.901, 5.009",\
                 "0.5304, 0.5631, 0.6748, 0.8859, 1.214, 1.675, 2.279, 3.042, 3.969, 5.075",\
                 "0.6566, 0.691, 0.8088, 1.023, 1.345, 1.798, 2.398, 3.156, 4.082, 5.189",\
                 "0.831, 0.8676, 0.9903, 1.214, 1.547, 1.995, 2.585, 3.334, 4.253, 5.354",\
                 "1.048, 1.089, 1.221, 1.455, 1.8, 2.264, 2.853, 3.59, 4.5, 5.589",\
                 "1.303, 1.348, 1.495, 1.747, 2.106, 2.584, 3.193, 3.934, 4.831, 5.909",\
                 "1.593, 1.644, 1.808, 2.085, 2.469, 2.963, 3.587, 4.35, 5.254, 6.32",\
                 "1.922, 1.978, 2.16, 2.465, 2.879, 3.401, 4.041, 4.823, 5.752, 6.828");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.1825, 0.2086, 0.2993, 0.4676, 0.7272, 1.089, 1.566, 2.163, 2.894, 3.764",\
                 "0.1825, 0.2086, 0.2989, 0.4679, 0.7265, 1.09, 1.566, 2.164, 2.895, 3.766",\
                 "0.1882, 0.2128, 0.3003, 0.4678, 0.727, 1.09, 1.566, 2.164, 2.895, 3.766",\
                 "0.2447, 0.2688, 0.3501, 0.4988, 0.737, 1.09, 1.566, 2.164, 2.895, 3.766",\
                 "0.3392, 0.3636, 0.4458, 0.5954, 0.8238, 1.142, 1.582, 2.164, 2.895, 3.765",\
                 "0.4692, 0.4966, 0.5842, 0.7352, 0.9612, 1.279, 1.694, 2.229, 2.916, 3.766",\
                 "0.628, 0.6588, 0.7564, 0.9196, 1.15, 1.462, 1.878, 2.402, 3.04, 3.836",\
                 "0.8114, 0.8456, 0.9556, 1.138, 1.384, 1.701, 2.111, 2.632, 3.27, 4.027",\
                 "1.019, 1.058, 1.183, 1.385, 1.655, 1.993, 2.406, 2.917, 3.555, 4.313",\
                 "1.251, 1.294, 1.434, 1.66, 1.958, 2.321, 2.753, 3.269, 3.894, 4.649");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00223, 0.006546, 0.01479, 0.02763, 0.04565, 0.06936, 0.09923, 0.1357, 0.1792");
          values("0.5741, 0.6312, 0.8294, 1.204, 1.782, 2.591, 3.653, 4.992, 6.622, 8.559",\
                 "0.5743, 0.6311, 0.8297, 1.204, 1.783, 2.591, 3.653, 4.989, 6.619, 8.567",\
                 "0.5742, 0.631, 0.8293, 1.204, 1.783, 2.591, 3.653, 4.992, 6.622, 8.564",\
                 "0.6059, 0.657, 0.8411, 1.205, 1.783, 2.591, 3.653, 4.989, 6.621, 8.561",\
                 "0.6878, 0.74, 0.9156, 1.25, 1.794, 2.592, 3.655, 4.992, 6.622, 8.566",\
                 "0.795, 0.846, 1.021, 1.358, 1.876, 2.626, 3.658, 4.992, 6.622, 8.566",\
                 "0.9388, 0.988, 1.159, 1.49, 2.013, 2.741, 3.72, 5.006, 6.622, 8.566",\
                 "1.106, 1.159, 1.339, 1.663, 2.178, 2.913, 3.871, 5.098, 6.654, 8.568",\
                 "1.29, 1.35, 1.541, 1.88, 2.385, 3.111, 4.078, 5.284, 6.781, 8.626",\
                 "1.492, 1.555, 1.765, 2.125, 2.642, 3.353, 4.312, 5.531, 7.002, 8.785");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai22_2) {
    area : 41.708800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2" ;
      value : "0.0001300596" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2" ;
      value : "0.0001253274" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2" ;
      value : "0.0001300596" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2" ;
      value : "0.0001305612" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001305612" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008905 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03349, 0.03348, 0.03347, 0.03334, 0.03329, 0.0333, 0.03328, \
                 0.03328, 0.03326, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02423, 0.02427, 0.02427, 0.0242, 0.02409, 0.024, 0.02386, 0.02374, \
                 0.02362, 0.02345");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03343, 0.0335, 0.03353, 0.03345, 0.0334, 0.03333, 0.0333, 0.03326, \
                 0.03321, 0.03317");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03207, -0.03214, -0.03237, -0.03262, -0.0327, -0.03279, -0.03285, \
                 -0.03288, -0.03289, -0.03291");
        }
      }

      internal_power() {
        when : "A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02557, 0.02556, 0.02553, 0.02547, 0.02548, 0.02549, 0.02546, \
                 0.02544, 0.02539, 0.02534");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009611, -0.009606, -0.009626, -0.009636, -0.00964, -0.009673, \
                 -0.009665, -0.009671, -0.009674, -0.009666");
        }
      }

      internal_power() {
        when : "A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02556, 0.02556, 0.02552, 0.02549, 0.02548, 0.02549, 0.02546, \
                 0.02543, 0.02539, 0.02533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009612, -0.009607, -0.009625, -0.009638, -0.009641, -0.009667, \
                 -0.009672, -0.009679, -0.009666, -0.009665");
        }
      }

      internal_power() {
        when : "A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02556, 0.02556, 0.0255, 0.02548, 0.02548, 0.0255, 0.02546, 0.02543, \
                 0.02539, 0.02533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009618, -0.009609, -0.009646, -0.009644, -0.009657, -0.009671, \
                 -0.009669, -0.009668, -0.009672, -0.009673");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009228 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03328, 0.03335, 0.03333, 0.03328, 0.03334, 0.03328, \
                 0.03323, 0.03327, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02449, 0.0244, 0.02434, 0.02426, 0.02415, 0.02404, 0.02388, \
                 0.02377, 0.02361, 0.02343");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03344, 0.03333, 0.0334, 0.03329, 0.03331, 0.03334, 0.03327, \
                 0.03325, 0.0332, 0.03315");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03176, -0.03177, -0.03227, -0.03253, -0.03265, -0.03276, -0.03283, \
                 -0.03284, -0.03287, -0.03289");
        }
      }

      internal_power() {
        when : "A1&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02913, 0.02912, 0.02915, 0.02916, 0.02921, 0.02927, \
                 0.02921, 0.02918, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02462, -0.02655, -0.02806, -0.02844, -0.02852, -0.02866, -0.02872, \
                 -0.02876, -0.02879, -0.02881");
        }
      }

      internal_power() {
        when : "A1&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02914, 0.02913, 0.02918, 0.02916, 0.0292, 0.02924, \
                 0.0292, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02462, -0.02662, -0.02801, -0.02844, -0.02852, -0.02866, -0.02871, \
                 -0.02876, -0.02881, -0.02884");
        }
      }

      internal_power() {
        when : "A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02917, 0.02917, 0.02914, 0.02919, 0.02923, 0.02923, \
                 0.0292, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02656, -0.02801, -0.02839, -0.02853, -0.02868, -0.02874, \
                 -0.02877, -0.02882, -0.02881");
        }
      }
    }

    pin(B1) {
      capacitance : 0.008563 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03045, 0.02945, 0.02941, 0.02932, 0.02924, 0.02925, 0.02923, \
                 0.02924, 0.02924, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02943, -0.02944, -0.02937, -0.02929, -0.0292, -0.02923, -0.02921, \
                 -0.02919, -0.02917, -0.0292");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02937, 0.0294, 0.02942, 0.02936, 0.02929, 0.02927, 0.02926, \
                 0.02924, 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02803, -0.02816, -0.02827, -0.02853, -0.0286, -0.02873, -0.02875, \
                 -0.02879, -0.0288, -0.02884");
        }
      }

      internal_power() {
        when : "!A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02247, 0.02244, 0.02244, 0.02242, 0.02244, 0.02243, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009507, -0.009527, -0.009528, -0.009535, -0.009543, -0.009564, \
                 -0.009555, -0.009555, -0.009554, -0.009558");
        }
      }

      internal_power() {
        when : "A1&!A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02248, 0.02245, 0.02243, 0.02242, 0.02244, 0.02242, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009503, -0.009511, -0.009515, -0.009531, -0.009541, -0.009563, \
                 -0.009561, -0.009557, -0.009553, -0.009558");
        }
      }

      internal_power() {
        when : "A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02247, 0.02246, 0.02243, 0.02242, 0.02243, 0.02242, \
                 0.0224, 0.02236, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0095, -0.009514, -0.009517, -0.009523, -0.009536, -0.009557, \
                 -0.00955, -0.009559, -0.009553, -0.009557");
        }
      }
    }

    pin(B2) {
      capacitance : 0.00903 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03028, 0.02933, 0.02931, 0.02931, 0.02922, 0.02925, 0.02924, \
                 0.02921, 0.02921, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02918, -0.02924, -0.02922, -0.0292, -0.02917, -0.02921, -0.02919, \
                 -0.02918, -0.02916, -0.02916");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0292, 0.02915, 0.02916, 0.02919, 0.02915, 0.02922, 0.0292, 0.0292, \
                 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02771, -0.02766, -0.028, -0.02833, -0.02847, -0.02865, -0.02866, \
                 -0.02874, -0.02878, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02918, 0.02915, 0.02914, 0.02917, 0.02923, 0.02921, \
                 0.02923, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02427, -0.02631, -0.02799, -0.02837, -0.02849, -0.02864, -0.02869, \
                 -0.02873, -0.02876, -0.02881");
        }
      }

      internal_power() {
        when : "A1&!A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02918, 0.02915, 0.02919, 0.02918, 0.02924, 0.02921, \
                 0.02919, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02428, -0.02628, -0.02798, -0.02837, -0.02848, -0.02865, -0.02868, \
                 -0.02872, -0.02878, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.02921, 0.02914, 0.02916, 0.02915, 0.02925, 0.02924, \
                 0.0292, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02428, -0.02627, -0.02805, -0.02836, -0.02847, -0.02865, -0.02867, \
                 -0.02874, -0.02877, -0.0288");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|((!B1)&(!B2)))" ;
      max_capacitance : 0.3191 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.0268, 0.02684, 0.02707, 0.02723, 0.02735, 0.02742, 0.02749, 0.02751, 0.02753, 0.02756",\
                 "0.02711, 0.02732, 0.02772, 0.02818, 0.02843, 0.02861, 0.02876, 0.0288, 0.02885, 0.02889",\
                 "0.02907, 0.02914, 0.02931, 0.02952, 0.02967, 0.02983, 0.02993, 0.02991, 0.03001, 0.03",\
                 "0.03669, 0.0363, 0.03542, 0.0344, 0.03356, 0.03278, 0.03229, 0.03189, 0.03158, 0.03133",\
                 "0.05386, 0.05291, 0.05012, 0.0468, 0.04375, 0.04113, 0.03914, 0.03743, 0.03611, 0.03506",\
                 "0.08279, 0.08112, 0.07617, 0.06954, 0.06324, 0.05766, 0.05296, 0.04917, 0.04604, 0.04349",\
                 "0.1244, 0.122, 0.1148, 0.1047, 0.09419, 0.08466, 0.07639, 0.06934, 0.06345, 0.05862",\
                 "0.1795, 0.1765, 0.1671, 0.1535, 0.1383, 0.1239, 0.1111, 0.1001, 0.09063, 0.08253",\
                 "0.2487, 0.2451, 0.2339, 0.2168, 0.197, 0.1773, 0.1591, 0.1432, 0.1293, 0.117",\
                 "0.3327, 0.3286, 0.3155, 0.2953, 0.271, 0.2458, 0.2217, 0.2002, 0.181, 0.164");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1362, 0.1368, 0.1379, 0.1387, 0.1396, 0.1404, 0.1411, 0.1419, 0.1429, 0.1462",\
                 "0.1339, 0.1346, 0.1363, 0.1381, 0.1396, 0.1407, 0.1418, 0.1431, 0.144, 0.1472",\
                 "0.1353, 0.1353, 0.1358, 0.1369, 0.1385, 0.1398, 0.1413, 0.1424, 0.1438, 0.1477",\
                 "0.1475, 0.1467, 0.1447, 0.1429, 0.1422, 0.1421, 0.1427, 0.1435, 0.1446, 0.1483",\
                 "0.1713, 0.1697, 0.1656, 0.1603, 0.1558, 0.1526, 0.1504, 0.1492, 0.1493, 0.1527",\
                 "0.2076, 0.2052, 0.1988, 0.1905, 0.1819, 0.1742, 0.1683, 0.1639, 0.161, 0.1635",\
                 "0.2575, 0.2545, 0.2456, 0.234, 0.2215, 0.2095, 0.1988, 0.1904, 0.1837, 0.184",\
                 "0.3219, 0.3182, 0.3074, 0.2922, 0.2755, 0.2593, 0.2441, 0.2299, 0.2192, 0.2194",\
                 "0.4022, 0.3978, 0.3849, 0.3661, 0.3452, 0.324, 0.304, 0.2854, 0.2698, 0.2721",\
                 "0.4988, 0.494, 0.479, 0.4569, 0.4316, 0.4055, 0.3804, 0.3567, 0.3387, 0.3505");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.006135, 0.006351, 0.006644, 0.006841, 0.006957, 0.007031, 0.007082, 0.007109, 0.007129, 0.007145",\
                 "0.006097, 0.006433, 0.007094, 0.007662, 0.007992, 0.008176, 0.008324, 0.008401, 0.008452, 0.008477",\
                 "0.008125, 0.008285, 0.00863, 0.008946, 0.00921, 0.009356, 0.009482, 0.009561, 0.009594, 0.009602",\
                 "0.0172, 0.01665, 0.01545, 0.01425, 0.01328, 0.0125, 0.01195, 0.01151, 0.01119, 0.01095",\
                 "0.03673, 0.03526, 0.03159, 0.02757, 0.02407, 0.02119, 0.01897, 0.01719, 0.01583, 0.01478",\
                 "0.06794, 0.06575, 0.05942, 0.05158, 0.04439, 0.03823, 0.03322, 0.02919, 0.02593, 0.02329",\
                 "0.1118, 0.1087, 0.09999, 0.08817, 0.07628, 0.06582, 0.05709, 0.04966, 0.04362, 0.03857",\
                 "0.1688, 0.1651, 0.154, 0.1384, 0.1216, 0.1061, 0.09246, 0.08096, 0.0711, 0.06277",\
                 "0.2397, 0.2353, 0.2223, 0.2031, 0.1815, 0.1603, 0.1413, 0.1247, 0.1101, 0.09764",\
                 "0.325, 0.3202, 0.3055, 0.283, 0.2567, 0.2299, 0.2047, 0.1821, 0.1624, 0.1449");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1155, 0.116, 0.117, 0.1179, 0.1188, 0.1193, 0.1202, 0.1206, 0.1213, 0.1241",\
                 "0.1131, 0.1138, 0.1155, 0.1172, 0.1187, 0.1196, 0.1208, 0.1214, 0.1226, 0.1256",\
                 "0.1145, 0.1145, 0.1149, 0.1159, 0.1175, 0.119, 0.1199, 0.1211, 0.1231, 0.1255",\
                 "0.1268, 0.126, 0.1239, 0.1219, 0.1211, 0.1212, 0.1217, 0.1221, 0.1227, 0.1273",\
                 "0.1507, 0.149, 0.1449, 0.1396, 0.1349, 0.1314, 0.1293, 0.1283, 0.1277, 0.1309",\
                 "0.1872, 0.1846, 0.1782, 0.1697, 0.1613, 0.1533, 0.147, 0.1426, 0.1399, 0.1418",\
                 "0.2375, 0.2343, 0.2252, 0.2131, 0.2007, 0.1888, 0.1776, 0.169, 0.1622, 0.1623",\
                 "0.3026, 0.2987, 0.2872, 0.2717, 0.2545, 0.2385, 0.2231, 0.2086, 0.1973, 0.196",\
                 "0.3834, 0.3788, 0.3652, 0.3457, 0.3244, 0.3032, 0.2833, 0.2647, 0.2478, 0.2485",\
                 "0.4806, 0.4753, 0.4601, 0.4368, 0.4112, 0.3846, 0.3593, 0.3358, 0.317, 0.3261");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.006129, 0.006315, 0.006636, 0.006827, 0.006954, 0.007021, 0.007057, 0.007099, 0.007121, 0.00714",\
                 "0.006189, 0.006488, 0.007121, 0.007673, 0.008017, 0.008212, 0.00832, 0.008395, 0.00846, 0.008503",\
                 "0.008513, 0.00866, 0.008948, 0.009195, 0.009376, 0.009474, 0.009583, 0.009616, 0.009644, 0.009649",\
                 "0.0182, 0.01761, 0.01632, 0.01498, 0.01392, 0.01303, 0.01236, 0.01187, 0.01149, 0.0112",\
                 "0.03848, 0.0371, 0.03333, 0.02911, 0.02541, 0.02246, 0.02002, 0.01814, 0.01665, 0.01549",\
                 "0.07084, 0.06863, 0.06236, 0.05439, 0.04693, 0.04059, 0.0354, 0.03108, 0.02766, 0.02486",\
                 "0.1161, 0.1131, 0.1043, 0.09249, 0.08048, 0.06972, 0.06068, 0.05307, 0.04663, 0.04138",\
                 "0.1749, 0.1713, 0.1603, 0.1446, 0.1277, 0.1119, 0.098, 0.08617, 0.07596, 0.06732",\
                 "0.248, 0.2438, 0.2308, 0.2116, 0.1899, 0.1687, 0.1491, 0.1321, 0.1173, 0.1044",\
                 "0.3361, 0.3313, 0.3167, 0.2942, 0.2679, 0.2411, 0.2155, 0.1923, 0.1721, 0.1544");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1151, 0.1156, 0.1166, 0.1174, 0.1183, 0.1187, 0.1194, 0.1204, 0.1211, 0.1237",\
                 "0.112, 0.1127, 0.1143, 0.1161, 0.1176, 0.1186, 0.1195, 0.1203, 0.1221, 0.1239",\
                 "0.114, 0.1139, 0.114, 0.1147, 0.1162, 0.1174, 0.1191, 0.1197, 0.1209, 0.1252",\
                 "0.1275, 0.1266, 0.1245, 0.1219, 0.1206, 0.1203, 0.1205, 0.121, 0.1215, 0.126",\
                 "0.1526, 0.151, 0.1467, 0.1411, 0.1359, 0.132, 0.1294, 0.128, 0.1277, 0.1299",\
                 "0.1905, 0.1882, 0.1816, 0.173, 0.1642, 0.1558, 0.1491, 0.1438, 0.1402, 0.1421",\
                 "0.2428, 0.2395, 0.2307, 0.2185, 0.2062, 0.1937, 0.1824, 0.1727, 0.165, 0.1648",\
                 "0.3104, 0.3063, 0.2949, 0.2794, 0.2628, 0.2466, 0.2307, 0.2157, 0.2035, 0.2015",\
                 "0.3941, 0.3894, 0.3756, 0.3564, 0.3353, 0.3146, 0.2946, 0.2752, 0.2582, 0.2582",\
                 "0.495, 0.4895, 0.4736, 0.4508, 0.4256, 0.3992, 0.3742, 0.3506, 0.3313, 0.3398");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.04897, 0.04901, 0.04897, 0.04894, 0.049, 0.04901, 0.04905, 0.04907, 0.04907, 0.04907",\
                 "0.04735, 0.04736, 0.0473, 0.04736, 0.04741, 0.04748, 0.04751, 0.04749, 0.0475, 0.04751",\
                 "0.04747, 0.04738, 0.04717, 0.04692, 0.04674, 0.04667, 0.04658, 0.04655, 0.04649, 0.04647",\
                 "0.05512, 0.05455, 0.0533, 0.05171, 0.05045, 0.04934, 0.04848, 0.04797, 0.04753, 0.04722",\
                 "0.07403, 0.07292, 0.06973, 0.06555, 0.06164, 0.05834, 0.05572, 0.05362, 0.05209, 0.05089",\
                 "0.1067, 0.105, 0.09936, 0.09165, 0.08377, 0.07684, 0.07105, 0.0665, 0.06276, 0.05976",\
                 "0.1546, 0.152, 0.1439, 0.1323, 0.1197, 0.1078, 0.0976, 0.08909, 0.082, 0.07628",\
                 "0.2185, 0.2152, 0.2048, 0.1889, 0.1712, 0.1537, 0.1378, 0.1241, 0.1125, 0.1029",\
                 "0.2991, 0.2951, 0.2826, 0.263, 0.2397, 0.2161, 0.1938, 0.1741, 0.1567, 0.1419",\
                 "0.397, 0.3926, 0.3781, 0.3549, 0.3265, 0.2963, 0.2674, 0.2405, 0.2166, 0.1956");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1577, 0.1582, 0.159, 0.1598, 0.1606, 0.1612, 0.1619, 0.1628, 0.1638, 0.167",\
                 "0.1548, 0.1556, 0.1573, 0.1591, 0.1607, 0.1618, 0.1628, 0.164, 0.1649, 0.168",\
                 "0.1524, 0.1528, 0.1541, 0.156, 0.1583, 0.16, 0.1617, 0.1633, 0.1645, 0.1684",\
                 "0.1613, 0.1607, 0.1598, 0.1592, 0.1598, 0.1606, 0.1617, 0.163, 0.1645, 0.1684",\
                 "0.1856, 0.1841, 0.1803, 0.1758, 0.1723, 0.1701, 0.1688, 0.1686, 0.1686, 0.172",\
                 "0.2267, 0.2243, 0.2173, 0.2083, 0.2, 0.1929, 0.1875, 0.1835, 0.181, 0.1832",\
                 "0.2844, 0.2812, 0.2715, 0.258, 0.2444, 0.2319, 0.221, 0.2123, 0.2058, 0.2058",\
                 "0.3596, 0.3555, 0.3433, 0.3259, 0.3065, 0.2884, 0.2718, 0.257, 0.2456, 0.2433",\
                 "0.4526, 0.4481, 0.4339, 0.4124, 0.3877, 0.3634, 0.3407, 0.32, 0.3027, 0.3004",\
                 "0.5648, 0.5598, 0.5438, 0.5189, 0.4891, 0.4582, 0.429, 0.4027, 0.3806, 0.3827");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.02855, 0.02853, 0.02855, 0.02855, 0.0286, 0.0286, 0.02862, 0.02864, 0.02862, 0.02864",\
                 "0.02683, 0.02684, 0.02689, 0.02695, 0.02703, 0.02704, 0.02707, 0.02708, 0.02709, 0.02709",\
                 "0.02715, 0.02705, 0.0268, 0.02652, 0.02634, 0.02622, 0.02617, 0.02612, 0.02607, 0.02604",\
                 "0.03617, 0.03547, 0.0337, 0.03183, 0.03029, 0.0291, 0.02821, 0.02761, 0.02713, 0.02683",\
                 "0.05743, 0.05584, 0.05171, 0.04665, 0.0421, 0.03851, 0.03564, 0.03346, 0.03186, 0.03058",\
                 "0.09266, 0.09024, 0.08336, 0.07424, 0.06526, 0.05764, 0.05143, 0.04658, 0.04269, 0.03959",\
                 "0.143, 0.1397, 0.13, 0.1165, 0.1024, 0.0895, 0.07854, 0.06955, 0.06221, 0.05634",\
                 "0.2089, 0.205, 0.1929, 0.175, 0.1552, 0.1363, 0.1196, 0.1052, 0.09316, 0.08313",\
                 "0.2914, 0.2869, 0.2725, 0.2506, 0.2252, 0.1999, 0.1765, 0.1558, 0.1378, 0.1225",\
                 "0.3909, 0.3859, 0.3696, 0.3441, 0.3134, 0.2815, 0.2508, 0.223, 0.1984, 0.1768");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1369, 0.1374, 0.1382, 0.1388, 0.1395, 0.1401, 0.1408, 0.1414, 0.1422, 0.1451",\
                 "0.134, 0.1347, 0.1364, 0.1382, 0.1396, 0.1406, 0.1417, 0.1423, 0.1433, 0.1464",\
                 "0.1316, 0.132, 0.1333, 0.1352, 0.1374, 0.1391, 0.1404, 0.1416, 0.1428, 0.1475",\
                 "0.1405, 0.14, 0.139, 0.1384, 0.1386, 0.1396, 0.1406, 0.142, 0.143, 0.1468",\
                 "0.1649, 0.1634, 0.1594, 0.1551, 0.1513, 0.1489, 0.1475, 0.147, 0.147, 0.1505",\
                 "0.2064, 0.2039, 0.1965, 0.1875, 0.1792, 0.172, 0.166, 0.162, 0.1595, 0.1613",\
                 "0.2647, 0.2611, 0.2509, 0.2373, 0.2235, 0.2111, 0.1999, 0.191, 0.1842, 0.1837",\
                 "0.3402, 0.336, 0.3234, 0.3054, 0.2857, 0.2672, 0.2511, 0.2362, 0.2238, 0.2207",\
                 "0.4337, 0.4291, 0.4141, 0.3918, 0.3671, 0.3424, 0.3197, 0.2993, 0.2816, 0.2771",\
                 "0.5463, 0.541, 0.5245, 0.4989, 0.4685, 0.4374, 0.4078, 0.3813, 0.3592, 0.3598");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.02852, 0.0285, 0.02848, 0.02857, 0.0286, 0.02865, 0.02863, 0.02864, 0.02866, 0.02867",\
                 "0.02684, 0.02683, 0.02686, 0.02697, 0.02701, 0.02704, 0.02707, 0.02709, 0.02711, 0.02709",\
                 "0.0274, 0.02731, 0.02702, 0.02673, 0.02651, 0.02635, 0.02624, 0.02618, 0.02613, 0.0261",\
                 "0.03711, 0.03638, 0.03456, 0.03254, 0.03085, 0.02958, 0.02856, 0.02788, 0.0274, 0.02707",\
                 "0.05948, 0.05787, 0.05362, 0.04844, 0.04362, 0.03978, 0.03678, 0.03441, 0.03264, 0.03131",\
                 "0.09636, 0.09397, 0.08686, 0.0775, 0.06834, 0.0604, 0.0539, 0.04861, 0.04453, 0.04124",\
                 "0.1488, 0.1455, 0.1356, 0.1219, 0.1075, 0.0943, 0.08287, 0.07345, 0.06573, 0.0594",\
                 "0.2175, 0.2134, 0.2011, 0.183, 0.1629, 0.1436, 0.1265, 0.1115, 0.09891, 0.0884",\
                 "0.3031, 0.2985, 0.284, 0.2618, 0.2362, 0.2104, 0.1866, 0.1652, 0.1466, 0.1307",\
                 "0.4066, 0.4014, 0.385, 0.3593, 0.3281, 0.2958, 0.2648, 0.2361, 0.2108, 0.1885");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1365, 0.1369, 0.1377, 0.1384, 0.1391, 0.1397, 0.1403, 0.1409, 0.1419, 0.1444",\
                 "0.133, 0.1338, 0.1355, 0.1371, 0.1386, 0.1396, 0.1406, 0.142, 0.1423, 0.1454",\
                 "0.131, 0.1313, 0.1322, 0.134, 0.136, 0.1377, 0.1393, 0.1405, 0.1421, 0.1448",\
                 "0.1408, 0.1401, 0.1389, 0.1378, 0.1377, 0.1382, 0.1394, 0.1405, 0.1414, 0.1458",\
                 "0.167, 0.1654, 0.1611, 0.1563, 0.152, 0.149, 0.1472, 0.1463, 0.1466, 0.1492",\
                 "0.2108, 0.2082, 0.2006, 0.1913, 0.1823, 0.1746, 0.1681, 0.1632, 0.1603, 0.1616",\
                 "0.2719, 0.2684, 0.258, 0.2441, 0.23, 0.2169, 0.2052, 0.1948, 0.1873, 0.186",\
                 "0.3511, 0.3468, 0.3338, 0.3157, 0.2959, 0.2773, 0.2601, 0.2443, 0.2305, 0.2271",\
                 "0.449, 0.444, 0.429, 0.4067, 0.3815, 0.3568, 0.3337, 0.3121, 0.2935, 0.2884",\
                 "0.5669, 0.5613, 0.5444, 0.5184, 0.4879, 0.4565, 0.4269, 0.3997, 0.3771, 0.3765");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.02991, 0.02993, 0.03016, 0.03035, 0.03054, 0.03057, 0.03063, 0.03065, 0.03069, 0.0307",\
                 "0.02981, 0.0301, 0.03058, 0.03115, 0.03151, 0.0317, 0.03186, 0.03195, 0.032, 0.03204",\
                 "0.02884, 0.02914, 0.02996, 0.03083, 0.03154, 0.03204, 0.03237, 0.0326, 0.03273, 0.03287",\
                 "0.03261, 0.03254, 0.03274, 0.03299, 0.03325, 0.03339, 0.03346, 0.0335, 0.0335, 0.03353",\
                 "0.04629, 0.04571, 0.04427, 0.04265, 0.04113, 0.03986, 0.03877, 0.03784, 0.0371, 0.03651",\
                 "0.07224, 0.07095, 0.06756, 0.06294, 0.05853, 0.05464, 0.0513, 0.04849, 0.04616, 0.04417",\
                 "0.1117, 0.1098, 0.1041, 0.09616, 0.08785, 0.08016, 0.07347, 0.0678, 0.06292, 0.05878",\
                 "0.1655, 0.1629, 0.1551, 0.1436, 0.1308, 0.1186, 0.1075, 0.09792, 0.08961, 0.08245",\
                 "0.2343, 0.2311, 0.2211, 0.2061, 0.1888, 0.1713, 0.1551, 0.1408, 0.1281, 0.1171",\
                 "0.3186, 0.3148, 0.303, 0.2845, 0.2625, 0.2396, 0.2178, 0.1978, 0.1801, 0.1643");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2148, 0.2148, 0.2149, 0.2151, 0.2157, 0.2161, 0.2169, 0.2178, 0.2188, 0.2224",\
                 "0.2121, 0.2123, 0.2127, 0.2131, 0.2138, 0.2145, 0.2153, 0.2163, 0.2175, 0.2208",\
                 "0.2121, 0.2121, 0.2121, 0.2123, 0.2129, 0.2138, 0.2145, 0.2155, 0.2167, 0.2205",\
                 "0.2226, 0.222, 0.2203, 0.2185, 0.2173, 0.2168, 0.2166, 0.2171, 0.2179, 0.2217",\
                 "0.2455, 0.2441, 0.2407, 0.2359, 0.2314, 0.2277, 0.2252, 0.2237, 0.2233, 0.227",\
                 "0.2811, 0.2794, 0.2742, 0.2666, 0.2583, 0.2505, 0.2441, 0.2392, 0.2362, 0.2386",\
                 "0.3313, 0.329, 0.3219, 0.3113, 0.2994, 0.287, 0.2762, 0.2665, 0.2598, 0.2608",\
                 "0.3964, 0.3937, 0.385, 0.3716, 0.3556, 0.3392, 0.3229, 0.3083, 0.297, 0.2972",\
                 "0.4776, 0.4745, 0.4645, 0.4481, 0.4285, 0.4075, 0.3864, 0.3664, 0.35, 0.3534",\
                 "0.5758, 0.5723, 0.561, 0.5424, 0.5188, 0.493, 0.4668, 0.4417, 0.4228, 0.4361");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.006218, 0.006406, 0.00676, 0.00695, 0.007071, 0.007115, 0.007162, 0.00718, 0.007214, 0.007232",\
                 "0.00545, 0.005943, 0.006909, 0.007627, 0.008032, 0.00826, 0.008391, 0.008477, 0.008536, 0.008573",\
                 "0.003836, 0.00442, 0.005708, 0.007015, 0.007935, 0.0085, 0.008888, 0.009139, 0.009267, 0.009399",\
                 "0.008697, 0.008691, 0.00888, 0.009311, 0.009687, 0.00988, 0.009998, 0.01005, 0.01004, 0.01008",\
                 "0.02435, 0.0236, 0.02171, 0.0197, 0.01798, 0.01662, 0.01544, 0.01451, 0.01374, 0.01312",\
                 "0.05265, 0.05108, 0.04671, 0.0412, 0.03616, 0.03189, 0.02831, 0.02538, 0.02295, 0.02093",\
                 "0.09457, 0.09218, 0.08528, 0.07595, 0.06646, 0.05808, 0.051, 0.04502, 0.03996, 0.03576",\
                 "0.1509, 0.1477, 0.1383, 0.125, 0.1107, 0.09734, 0.08571, 0.07566, 0.06704, 0.05969",\
                 "0.2218, 0.218, 0.2062, 0.1891, 0.1699, 0.1512, 0.1339, 0.1191, 0.106, 0.09464",\
                 "0.308, 0.3036, 0.2898, 0.2691, 0.245, 0.2207, 0.1976, 0.1767, 0.1585, 0.1423");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1938, 0.1938, 0.194, 0.1942, 0.1947, 0.1953, 0.1958, 0.1966, 0.1976, 0.2006",\
                 "0.1911, 0.1913, 0.1917, 0.1922, 0.193, 0.1936, 0.1942, 0.1952, 0.1968, 0.1995",\
                 "0.1911, 0.191, 0.1911, 0.1914, 0.192, 0.1927, 0.1936, 0.1943, 0.1954, 0.1987",\
                 "0.2016, 0.201, 0.1993, 0.1975, 0.1963, 0.1958, 0.1958, 0.196, 0.1966, 0.2009",\
                 "0.2245, 0.2233, 0.2198, 0.2149, 0.2104, 0.2068, 0.2043, 0.2028, 0.2024, 0.205",\
                 "0.2604, 0.2586, 0.2532, 0.2456, 0.2371, 0.2295, 0.2231, 0.2185, 0.2152, 0.2168",\
                 "0.3105, 0.3083, 0.3011, 0.2904, 0.2782, 0.266, 0.2552, 0.2456, 0.2387, 0.239",\
                 "0.3757, 0.373, 0.3643, 0.3507, 0.3346, 0.3181, 0.3019, 0.2872, 0.2755, 0.2745",\
                 "0.4571, 0.454, 0.4439, 0.4274, 0.4074, 0.3861, 0.3653, 0.3453, 0.3287, 0.3299",\
                 "0.5552, 0.5519, 0.5404, 0.5216, 0.498, 0.4721, 0.4458, 0.4208, 0.4009, 0.4118");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.006261, 0.006412, 0.006734, 0.006934, 0.00705, 0.007108, 0.007144, 0.00717, 0.007202, 0.007215",\
                 "0.005513, 0.005977, 0.006902, 0.007619, 0.008025, 0.008244, 0.008387, 0.008484, 0.008525, 0.008547",\
                 "0.00417, 0.004653, 0.005958, 0.007171, 0.008024, 0.008575, 0.008926, 0.009137, 0.009316, 0.009392",\
                 "0.009556, 0.009543, 0.009667, 0.009952, 0.01014, 0.01028, 0.01029, 0.01028, 0.01025, 0.01021",\
                 "0.02567, 0.02495, 0.02301, 0.02092, 0.01901, 0.01745, 0.01618, 0.01509, 0.01422, 0.01351",\
                 "0.05449, 0.05297, 0.04853, 0.04302, 0.03774, 0.03326, 0.02949, 0.02638, 0.02382, 0.0217",\
                 "0.09689, 0.09452, 0.08756, 0.07818, 0.06862, 0.06003, 0.05271, 0.04653, 0.04133, 0.03697",\
                 "0.1535, 0.1504, 0.1409, 0.1277, 0.1134, 0.09986, 0.08801, 0.07774, 0.06893, 0.06138",\
                 "0.2249, 0.2211, 0.2095, 0.1923, 0.1732, 0.1543, 0.1369, 0.1216, 0.1085, 0.09689",\
                 "0.3116, 0.3072, 0.2936, 0.2728, 0.2488, 0.2244, 0.2012, 0.18, 0.1616, 0.1452");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2116, 0.2116, 0.2119, 0.2121, 0.2126, 0.2129, 0.2137, 0.2149, 0.216, 0.219",\
                 "0.2091, 0.2093, 0.2098, 0.2104, 0.2112, 0.2119, 0.2128, 0.2135, 0.2146, 0.218",\
                 "0.209, 0.209, 0.2091, 0.2095, 0.2103, 0.2111, 0.2118, 0.2128, 0.2147, 0.2184",\
                 "0.2193, 0.2188, 0.2173, 0.2157, 0.2147, 0.2144, 0.2141, 0.2145, 0.2151, 0.2196",\
                 "0.2417, 0.2407, 0.2378, 0.2334, 0.2292, 0.2255, 0.2233, 0.2219, 0.2215, 0.2241",\
                 "0.2773, 0.2758, 0.2711, 0.2644, 0.2567, 0.2494, 0.2428, 0.2384, 0.235, 0.2365",\
                 "0.3271, 0.3251, 0.3189, 0.3095, 0.2986, 0.2871, 0.2761, 0.2666, 0.2595, 0.2599",\
                 "0.392, 0.3897, 0.3819, 0.3698, 0.3551, 0.34, 0.3247, 0.3105, 0.2986, 0.2974",\
                 "0.4733, 0.4704, 0.4611, 0.4463, 0.4284, 0.4088, 0.3893, 0.3701, 0.3539, 0.3551",\
                 "0.5716, 0.5683, 0.5578, 0.5408, 0.5189, 0.4951, 0.4705, 0.447, 0.4284, 0.4404");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.04876, 0.04882, 0.04873, 0.04882, 0.04892, 0.04896, 0.04896, 0.04894, 0.04894, 0.04898",\
                 "0.04699, 0.047, 0.04706, 0.04722, 0.04726, 0.04731, 0.04737, 0.04737, 0.04738, 0.04741",\
                 "0.04537, 0.04541, 0.04558, 0.04572, 0.0459, 0.04607, 0.04614, 0.04619, 0.04622, 0.04624",\
                 "0.04896, 0.04882, 0.04826, 0.04784, 0.04748, 0.04709, 0.04685, 0.04666, 0.04654, 0.04643",\
                 "0.06386, 0.06312, 0.06115, 0.05858, 0.05622, 0.05412, 0.05254, 0.05119, 0.05015, 0.04937",\
                 "0.09337, 0.09193, 0.08778, 0.08215, 0.07619, 0.07093, 0.06648, 0.0629, 0.05994, 0.05756",\
                 "0.1394, 0.1372, 0.1306, 0.121, 0.1105, 0.1007, 0.09199, 0.08473, 0.0787, 0.0737",\
                 "0.2028, 0.1998, 0.1905, 0.1767, 0.1611, 0.1458, 0.1318, 0.1195, 0.1091, 0.1002",\
                 "0.2843, 0.2805, 0.2689, 0.2507, 0.2296, 0.2082, 0.1879, 0.1697, 0.1536, 0.1398",\
                 "0.3842, 0.3798, 0.3658, 0.3438, 0.317, 0.2891, 0.2621, 0.2371, 0.2145, 0.1947");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2356, 0.2356, 0.2357, 0.2358, 0.2364, 0.2368, 0.2374, 0.2385, 0.2395, 0.2426",\
                 "0.2332, 0.2333, 0.2337, 0.234, 0.2347, 0.2353, 0.2363, 0.237, 0.2381, 0.2421",\
                 "0.2309, 0.2311, 0.2314, 0.2322, 0.2331, 0.2341, 0.2352, 0.2361, 0.2373, 0.2413",\
                 "0.2379, 0.2375, 0.2365, 0.2355, 0.2352, 0.2354, 0.2361, 0.2369, 0.2378, 0.2418",\
                 "0.261, 0.2599, 0.2567, 0.2525, 0.2487, 0.2458, 0.2439, 0.2429, 0.2429, 0.2463",\
                 "0.3019, 0.2999, 0.2942, 0.2861, 0.2775, 0.2699, 0.2637, 0.2593, 0.2563, 0.2582",\
                 "0.3608, 0.3582, 0.35, 0.3378, 0.3244, 0.3113, 0.2995, 0.2899, 0.2827, 0.2825",\
                 "0.4378, 0.4347, 0.4248, 0.4089, 0.3902, 0.3713, 0.3538, 0.3379, 0.3249, 0.3226",\
                 "0.5337, 0.5302, 0.5186, 0.4999, 0.4763, 0.4514, 0.4274, 0.405, 0.3862, 0.3834",\
                 "0.6494, 0.6455, 0.6327, 0.6113, 0.5838, 0.5527, 0.5218, 0.4932, 0.4693, 0.4721");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.0253, 0.02525, 0.0253, 0.02536, 0.02541, 0.02543, 0.02546, 0.02546, 0.02547, 0.02547",\
                 "0.0234, 0.02342, 0.02359, 0.02373, 0.02383, 0.02388, 0.02391, 0.02393, 0.02394, 0.02395",\
                 "0.02154, 0.02166, 0.02196, 0.02222, 0.02244, 0.02257, 0.02266, 0.02273, 0.02277, 0.02279",\
                 "0.02582, 0.02555, 0.02508, 0.02455, 0.02408, 0.02371, 0.02344, 0.02325, 0.02311, 0.023",\
                 "0.04263, 0.04167, 0.03914, 0.03612, 0.03335, 0.03106, 0.02931, 0.02787, 0.02683, 0.02599",\
                 "0.07479, 0.07297, 0.06771, 0.06103, 0.0543, 0.04844, 0.04372, 0.0399, 0.03681, 0.03436",\
                 "0.1237, 0.121, 0.1128, 0.1015, 0.08981, 0.07911, 0.06984, 0.06214, 0.05586, 0.05071",\
                 "0.19, 0.1863, 0.1753, 0.1593, 0.142, 0.1253, 0.1104, 0.09757, 0.08665, 0.07756",\
                 "0.2739, 0.2694, 0.2558, 0.2354, 0.212, 0.1889, 0.1675, 0.1484, 0.1318, 0.1175",\
                 "0.3759, 0.3708, 0.3549, 0.3303, 0.3012, 0.2713, 0.2428, 0.2167, 0.1934, 0.1729");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2145, 0.2146, 0.2147, 0.2149, 0.2154, 0.2161, 0.2168, 0.2173, 0.2183, 0.2213",\
                 "0.2121, 0.2123, 0.2127, 0.2131, 0.2138, 0.2145, 0.2153, 0.2162, 0.2168, 0.2199",\
                 "0.2098, 0.21, 0.2105, 0.2112, 0.2122, 0.2131, 0.2141, 0.2149, 0.2162, 0.2204",\
                 "0.2168, 0.2165, 0.2155, 0.2146, 0.2144, 0.2145, 0.215, 0.2159, 0.2164, 0.22",\
                 "0.24, 0.2388, 0.2357, 0.2314, 0.2277, 0.2248, 0.223, 0.2221, 0.2219, 0.2252",\
                 "0.2811, 0.2791, 0.2731, 0.2651, 0.2566, 0.249, 0.2429, 0.238, 0.2351, 0.2372",\
                 "0.3401, 0.3374, 0.3291, 0.3168, 0.3034, 0.2904, 0.2787, 0.2686, 0.2609, 0.2608",\
                 "0.4172, 0.4141, 0.4041, 0.3879, 0.3692, 0.3505, 0.3329, 0.3168, 0.3036, 0.3004",\
                 "0.5133, 0.5096, 0.4981, 0.4791, 0.4554, 0.4301, 0.4062, 0.3842, 0.3651, 0.3611",\
                 "0.6288, 0.625, 0.612, 0.5908, 0.5629, 0.5319, 0.501, 0.4718, 0.4475, 0.4484");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.02533, 0.02529, 0.02528, 0.02536, 0.02542, 0.02545, 0.0255, 0.02549, 0.02551, 0.02552",\
                 "0.02335, 0.02344, 0.02357, 0.0237, 0.02379, 0.02387, 0.02389, 0.02394, 0.02393, 0.02394",\
                 "0.02165, 0.02179, 0.02207, 0.02233, 0.02246, 0.02261, 0.02271, 0.02273, 0.02276, 0.02278",\
                 "0.02656, 0.02628, 0.02566, 0.02508, 0.02453, 0.02411, 0.02372, 0.02347, 0.02328, 0.02315",\
                 "0.04414, 0.04318, 0.04059, 0.03735, 0.03433, 0.03197, 0.03006, 0.02851, 0.02733, 0.02642",\
                 "0.07704, 0.07523, 0.06996, 0.06303, 0.05604, 0.04998, 0.04495, 0.04099, 0.03773, 0.03515",\
                 "0.1267, 0.1239, 0.1157, 0.1043, 0.0923, 0.08138, 0.07186, 0.06387, 0.05735, 0.05201",\
                 "0.1936, 0.1899, 0.1788, 0.1628, 0.1452, 0.1283, 0.1131, 0.09999, 0.08884, 0.07949",\
                 "0.2782, 0.2737, 0.2601, 0.2395, 0.216, 0.1927, 0.171, 0.1516, 0.1348, 0.1201",\
                 "0.3808, 0.3758, 0.3599, 0.3352, 0.3059, 0.2759, 0.2471, 0.2207, 0.1972, 0.1764");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2323, 0.2324, 0.2326, 0.2327, 0.2333, 0.2337, 0.2345, 0.2351, 0.236, 0.2394",\
                 "0.2302, 0.2303, 0.2308, 0.2314, 0.232, 0.2326, 0.2335, 0.2342, 0.2363, 0.239",\
                 "0.2277, 0.2279, 0.2284, 0.2292, 0.2303, 0.2314, 0.2323, 0.2336, 0.2344, 0.2385",\
                 "0.2346, 0.2343, 0.2334, 0.2327, 0.2325, 0.2328, 0.2333, 0.2341, 0.2348, 0.2388",\
                 "0.2574, 0.2565, 0.2538, 0.2498, 0.2464, 0.2436, 0.2417, 0.2408, 0.2408, 0.2436",\
                 "0.2981, 0.2964, 0.2911, 0.2839, 0.2761, 0.2688, 0.2627, 0.2581, 0.255, 0.2569",\
                 "0.3568, 0.3545, 0.3471, 0.336, 0.3237, 0.3114, 0.3001, 0.2902, 0.2827, 0.2822",\
                 "0.4337, 0.4309, 0.4218, 0.4073, 0.3902, 0.3727, 0.3557, 0.3404, 0.327, 0.324",\
                 "0.5298, 0.5265, 0.5159, 0.4987, 0.4769, 0.4534, 0.4311, 0.4096, 0.3907, 0.3877",\
                 "0.6456, 0.6421, 0.6302, 0.6105, 0.5844, 0.5559, 0.5268, 0.4994, 0.4763, 0.478");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1065, 0.1207, 0.1686, 0.2574, 0.3937, 0.5835, 0.8326, 1.146, 1.528, 1.984",\
                 "0.1197, 0.1338, 0.1819, 0.271, 0.4074, 0.5974, 0.8464, 1.16, 1.542, 1.998",\
                 "0.1619, 0.178, 0.2284, 0.3166, 0.4529, 0.6428, 0.8918, 1.205, 1.587, 2.043",\
                 "0.1903, 0.2121, 0.2814, 0.394, 0.541, 0.73, 0.9784, 1.291, 1.673, 2.128",\
                 "0.1905, 0.219, 0.3083, 0.4508, 0.637, 0.8605, 1.117, 1.428, 1.809, 2.263",\
                 "0.1571, 0.1924, 0.3028, 0.4778, 0.7035, 0.9728, 1.28, 1.621, 2.004, 2.456",\
                 "0.0869, 0.1291, 0.2604, 0.4697, 0.7381, 1.053, 1.412, 1.81, 2.245, 2.713",\
                 "-0.0219, 0.0268, 0.1782, 0.4214, 0.7335, 1.099, 1.51, 1.963, 2.459, 2.993",\
                 "-0.1723, -0.1175, 0.0554, 0.332, 0.6876, 1.104, 1.57, 2.081, 2.637, 3.235",\
                 "-0.3681, -0.3066, -0.1125, 0.1977, 0.5964, 1.065, 1.588, 2.16, 2.776, 3.438");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.19, 0.2227, 0.3355, 0.5478, 0.8764, 1.336, 1.941, 2.703, 3.632, 4.738",\
                 "0.1987, 0.2321, 0.3464, 0.5609, 0.891, 1.352, 1.958, 2.72, 3.649, 4.756",\
                 "0.2561, 0.2875, 0.3987, 0.6111, 0.9416, 1.404, 2.01, 2.772, 3.702, 4.809",\
                 "0.3686, 0.4052, 0.5231, 0.7295, 1.054, 1.512, 2.116, 2.878, 3.807, 4.913",\
                 "0.5189, 0.5606, 0.6971, 0.9278, 1.249, 1.699, 2.296, 3.053, 3.979, 5.083",\
                 "0.7101, 0.7593, 0.9127, 1.172, 1.529, 1.98, 2.567, 3.315, 4.234, 5.333",\
                 "0.9409, 0.9984, 1.175, 1.461, 1.855, 2.349, 2.941, 3.679, 4.588, 5.677",\
                 "1.214, 1.28, 1.483, 1.802, 2.227, 2.767, 3.409, 4.153, 5.051, 6.13",\
                 "1.53, 1.605, 1.834, 2.192, 2.656, 3.232, 3.926, 4.726, 5.632, 6.699",\
                 "1.891, 1.977, 2.234, 2.631, 3.141, 3.757, 4.494, 5.352, 6.317, 7.393");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1404, 0.1638, 0.2429, 0.3921, 0.6233, 0.9457, 1.371, 1.906, 2.558, 3.335",\
                 "0.1397, 0.1632, 0.2432, 0.3921, 0.6232, 0.9464, 1.371, 1.906, 2.558, 3.335",\
                 "0.1667, 0.1866, 0.252, 0.3916, 0.6223, 0.946, 1.371, 1.906, 2.557, 3.335",\
                 "0.2373, 0.2619, 0.34, 0.4687, 0.6546, 0.949, 1.371, 1.905, 2.557, 3.335",\
                 "0.3334, 0.3627, 0.4549, 0.6034, 0.8088, 1.065, 1.415, 1.911, 2.557, 3.335",\
                 "0.4484, 0.4852, 0.5958, 0.7684, 0.9966, 1.285, 1.628, 2.045, 2.606, 3.34",\
                 "0.5838, 0.6252, 0.7588, 0.9604, 1.218, 1.532, 1.911, 2.348, 2.849, 3.482",\
                 "0.7322, 0.7848, 0.9414, 1.178, 1.472, 1.817, 2.225, 2.703, 3.239, 3.837",\
                 "0.9022, 0.9616, 1.142, 1.417, 1.749, 2.137, 2.575, 3.084, 3.668, 4.312",\
                 "1.083, 1.155, 1.364, 1.674, 2.054, 2.486, 2.969, 3.508, 4.123, 4.812");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.3685, 0.4271, 0.628, 1.003, 1.578, 2.384, 3.443, 4.778, 6.404, 8.348",\
                 "0.3684, 0.4268, 0.6277, 1.003, 1.579, 2.384, 3.442, 4.778, 6.406, 8.344",\
                 "0.3734, 0.428, 0.6274, 1.003, 1.579, 2.384, 3.443, 4.775, 6.406, 8.347",\
                 "0.4488, 0.4969, 0.6619, 1.005, 1.579, 2.384, 3.443, 4.776, 6.405, 8.348",\
                 "0.539, 0.5922, 0.7734, 1.086, 1.595, 2.384, 3.443, 4.778, 6.407, 8.345",\
                 "0.6648, 0.714, 0.8972, 1.239, 1.723, 2.426, 3.446, 4.777, 6.408, 8.346",\
                 "0.8258, 0.8736, 1.051, 1.402, 1.925, 2.598, 3.52, 4.786, 6.407, 8.35",\
                 "1.007, 1.06, 1.243, 1.59, 2.131, 2.857, 3.74, 4.901, 6.431, 8.35",\
                 "1.209, 1.267, 1.463, 1.818, 2.362, 3.124, 4.058, 5.165, 6.583, 8.385",\
                 "1.433, 1.494, 1.706, 2.081, 2.632, 3.403, 4.391, 5.542, 6.897, 8.588");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.08053, 0.09364, 0.1392, 0.2259, 0.3606, 0.5498, 0.7982, 1.111, 1.494, 1.949",\
                 "0.09327, 0.1065, 0.1525, 0.2396, 0.3746, 0.5637, 0.812, 1.125, 1.508, 1.962",\
                 "0.1247, 0.1424, 0.1967, 0.2851, 0.4198, 0.6087, 0.8575, 1.17, 1.552, 2.008",\
                 "0.1346, 0.1595, 0.2353, 0.3542, 0.5071, 0.6964, 0.9439, 1.256, 1.638, 2.094",\
                 "0.1147, 0.147, 0.2469, 0.3994, 0.5933, 0.8222, 1.082, 1.394, 1.773, 2.228",\
                 "0.0615, 0.102, 0.2253, 0.4143, 0.6504, 0.9266, 1.239, 1.585, 1.969, 2.421",\
                 "-0.028, 0.0206, 0.1676, 0.393, 0.674, 0.9992, 1.364, 1.768, 2.206, 2.678",\
                 "-0.1567, -0.0999, 0.0709, 0.3323, 0.6596, 1.036, 1.455, 1.915, 2.415, 2.954",\
                 "-0.327, -0.2626, -0.0681, 0.2293, 0.6027, 1.033, 1.508, 2.027, 2.588, 3.191",\
                 "-0.5425, -0.4694, -0.2514, 0.0833, 0.5005, 0.9835, 1.52, 2.099, 2.722, 3.388");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1843, 0.2168, 0.3297, 0.5414, 0.8685, 1.327, 1.932, 2.69, 3.617, 4.721",\
                 "0.193, 0.2263, 0.3403, 0.5543, 0.8837, 1.343, 1.947, 2.707, 3.636, 4.742",\
                 "0.2503, 0.2816, 0.3924, 0.6042, 0.9341, 1.395, 1.999, 2.76, 3.691, 4.795",\
                 "0.3607, 0.3977, 0.5161, 0.7224, 1.046, 1.503, 2.106, 2.864, 3.792, 4.901",\
                 "0.509, 0.551, 0.6885, 0.9199, 1.241, 1.69, 2.286, 3.041, 3.964, 5.069",\
                 "0.6972, 0.7469, 0.9023, 1.162, 1.52, 1.97, 2.556, 3.303, 4.219, 5.319",\
                 "0.9245, 0.983, 1.162, 1.449, 1.843, 2.338, 2.929, 3.666, 4.573, 5.662",\
                 "1.193, 1.261, 1.466, 1.786, 2.214, 2.753, 3.396, 4.139, 5.035, 6.112",\
                 "1.503, 1.581, 1.814, 2.175, 2.641, 3.217, 3.911, 4.711, 5.615, 6.681",\
                 "1.859, 1.946, 2.209, 2.611, 3.123, 3.739, 4.477, 5.334, 6.299, 7.375");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1059, 0.1284, 0.2068, 0.3552, 0.5855, 0.9091, 1.334, 1.87, 2.524, 3.303",\
                 "0.1045, 0.1275, 0.2064, 0.3549, 0.5856, 0.9086, 1.333, 1.87, 2.523, 3.298",\
                 "0.1433, 0.1636, 0.2276, 0.3576, 0.5857, 0.9081, 1.334, 1.868, 2.521, 3.303",\
                 "0.2139, 0.2378, 0.3155, 0.4463, 0.6284, 0.9137, 1.333, 1.867, 2.521, 3.298",\
                 "0.307, 0.338, 0.431, 0.5806, 0.7858, 1.042, 1.387, 1.874, 2.523, 3.299",\
                 "0.4182, 0.4564, 0.5706, 0.7456, 0.9742, 1.262, 1.605, 2.019, 2.577, 3.306",\
                 "0.5472, 0.5934, 0.7306, 0.9374, 1.196, 1.51, 1.889, 2.327, 2.826, 3.457",\
                 "0.6916, 0.748, 0.9096, 1.152, 1.447, 1.795, 2.202, 2.678, 3.218, 3.814",\
                 "0.8484, 0.9166, 1.108, 1.385, 1.724, 2.114, 2.558, 3.063, 3.641, 4.287",\
                 "1.016, 1.098, 1.325, 1.641, 2.027, 2.463, 2.945, 3.489, 4.1, 4.79");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2698, 0.3248, 0.5189, 0.8874, 1.462, 2.268, 3.328, 4.656, 6.289, 8.238",\
                 "0.2694, 0.3253, 0.5189, 0.888, 1.461, 2.268, 3.325, 4.665, 6.287, 8.225",\
                 "0.2746, 0.3255, 0.5182, 0.8876, 1.462, 2.266, 3.326, 4.656, 6.293, 8.221",\
                 "0.3339, 0.387, 0.5523, 0.8885, 1.463, 2.268, 3.327, 4.664, 6.287, 8.239",\
                 "0.4042, 0.4604, 0.65, 0.9702, 1.476, 2.267, 3.328, 4.664, 6.291, 8.23",\
                 "0.5054, 0.5614, 0.7564, 1.11, 1.604, 2.309, 3.33, 4.658, 6.288, 8.233",\
                 "0.6286, 0.6914, 0.8922, 1.256, 1.797, 2.48, 3.398, 4.672, 6.286, 8.224",\
                 "0.7706, 0.84, 1.06, 1.434, 1.991, 2.731, 3.618, 4.787, 6.315, 8.237",\
                 "0.9276, 1.008, 1.252, 1.646, 2.209, 2.988, 3.933, 5.043, 6.47, 8.265",\
                 "1.099, 1.192, 1.463, 1.889, 2.471, 3.253, 4.251, 5.421, 6.778, 8.472");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.06847, 0.07888, 0.1152, 0.184, 0.291, 0.441, 0.6385, 0.8871, 1.191, 1.553",\
                 "0.08237, 0.0929, 0.1294, 0.1984, 0.3056, 0.4557, 0.6537, 0.9024, 1.205, 1.568",\
                 "0.1104, 0.1262, 0.174, 0.2485, 0.3555, 0.5056, 0.7033, 0.9522, 1.255, 1.617",\
                 "0.1138, 0.1365, 0.2052, 0.3112, 0.445, 0.6019, 0.7985, 1.047, 1.35, 1.712",\
                 "0.08431, 0.115, 0.2065, 0.3456, 0.5191, 0.7208, 0.9457, 1.197, 1.499, 1.86",\
                 "0.0183, 0.0569, 0.1716, 0.3456, 0.5609, 0.8084, 1.085, 1.386, 1.71, 2.072",\
                 "-0.0866, -0.0407, 0.0969, 0.3063, 0.5651, 0.8604, 1.189, 1.546, 1.93, 2.339",\
                 "-0.2345, -0.1811, -0.0205, 0.2234, 0.5263, 0.8733, 1.255, 1.667, 2.111, 2.583",\
                 "-0.4281, -0.3669, -0.1837, 0.096, 0.4423, 0.8407, 1.277, 1.748, 2.251, 2.786",\
                 "-0.6693, -0.6019, -0.3952, -0.0805, 0.3096, 0.759, 1.253, 1.784, 2.35, 2.947");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1833, 0.2159, 0.3286, 0.5403, 0.8679, 1.326, 1.929, 2.69, 3.616, 4.723",\
                 "0.1903, 0.2234, 0.3376, 0.5513, 0.8809, 1.34, 1.944, 2.703, 3.635, 4.739",\
                 "0.2491, 0.2801, 0.3899, 0.6012, 0.9307, 1.39, 1.997, 2.756, 3.683, 4.793",\
                 "0.363, 0.3995, 0.5175, 0.7223, 1.045, 1.501, 2.103, 2.864, 3.789, 4.898",\
                 "0.5168, 0.5584, 0.6947, 0.9243, 1.244, 1.691, 2.286, 3.04, 3.964, 5.065",\
                 "0.7139, 0.762, 0.9156, 1.173, 1.528, 1.976, 2.561, 3.306, 4.221, 5.319",\
                 "0.9533, 1.01, 1.186, 1.469, 1.861, 2.352, 2.942, 3.675, 4.58, 5.668",\
                 "1.238, 1.304, 1.504, 1.82, 2.242, 2.778, 3.416, 4.157, 5.051, 6.125",\
                 "1.569, 1.645, 1.872, 2.225, 2.683, 3.256, 3.945, 4.739, 5.642, 6.705",\
                 "1.949, 2.034, 2.29, 2.682, 3.183, 3.793, 4.525, 5.377, 6.337, 7.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.08145, 0.09874, 0.1601, 0.2768, 0.4591, 0.7135, 1.048, 1.474, 1.991, 2.605",\
                 "0.0813, 0.09864, 0.16, 0.2768, 0.4584, 0.7136, 1.048, 1.473, 1.991, 2.604",\
                 "0.1268, 0.1435, 0.1944, 0.2863, 0.4583, 0.7141, 1.049, 1.472, 1.991, 2.607",\
                 "0.1963, 0.2177, 0.2837, 0.3912, 0.5307, 0.7358, 1.05, 1.47, 1.989, 2.605",\
                 "0.2856, 0.3136, 0.3969, 0.5244, 0.6948, 0.9018, 1.15, 1.503, 1.99, 2.603",\
                 "0.3924, 0.4272, 0.5308, 0.6858, 0.8826, 1.122, 1.401, 1.714, 2.11, 2.638",\
                 "0.518, 0.56, 0.6846, 0.87, 1.101, 1.369, 1.683, 2.041, 2.433, 2.884",\
                 "0.6546, 0.708, 0.8572, 1.075, 1.342, 1.649, 1.995, 2.389, 2.831, 3.313",\
                 "0.802, 0.8678, 1.049, 1.303, 1.61, 1.956, 2.341, 2.772, 3.253, 3.784",\
                 "0.961, 1.038, 1.255, 1.549, 1.897, 2.289, 2.721, 3.188, 3.71, 4.284");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.27, 0.3249, 0.5189, 0.8875, 1.463, 2.268, 3.323, 4.66, 6.289, 8.222",\
                 "0.2693, 0.3245, 0.5185, 0.888, 1.463, 2.266, 3.325, 4.663, 6.29, 8.232",\
                 "0.2751, 0.326, 0.5183, 0.8872, 1.461, 2.268, 3.327, 4.656, 6.296, 8.238",\
                 "0.3327, 0.3863, 0.5518, 0.8889, 1.462, 2.268, 3.325, 4.663, 6.289, 8.238",\
                 "0.399, 0.4558, 0.6468, 0.9682, 1.476, 2.265, 3.325, 4.656, 6.294, 8.22",\
                 "0.4956, 0.5514, 0.747, 1.104, 1.601, 2.307, 3.331, 4.664, 6.289, 8.238",\
                 "0.6128, 0.6744, 0.876, 1.242, 1.786, 2.471, 3.402, 4.673, 6.292, 8.224",\
                 "0.7492, 0.8188, 1.037, 1.408, 1.976, 2.715, 3.607, 4.78, 6.302, 8.236",\
                 "0.9016, 0.9792, 1.219, 1.61, 2.177, 2.958, 3.915, 5.03, 6.463, 8.278",\
                 "1.069, 1.165, 1.42, 1.842, 2.422, 3.214, 4.223, 5.395, 6.757, 8.456");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1065, 0.1207, 0.1686, 0.2574, 0.3937, 0.5835, 0.8326, 1.146, 1.528, 1.984",\
                 "0.1197, 0.1338, 0.1819, 0.271, 0.4074, 0.5974, 0.8464, 1.16, 1.542, 1.998",\
                 "0.1619, 0.178, 0.2284, 0.3166, 0.4529, 0.6428, 0.8918, 1.205, 1.587, 2.043",\
                 "0.1903, 0.2121, 0.2814, 0.394, 0.541, 0.73, 0.9784, 1.291, 1.673, 2.128",\
                 "0.1905, 0.219, 0.3083, 0.4508, 0.637, 0.8605, 1.117, 1.428, 1.809, 2.263",\
                 "0.1571, 0.1924, 0.3028, 0.4778, 0.7035, 0.9728, 1.28, 1.621, 2.004, 2.456",\
                 "0.0869, 0.1291, 0.2604, 0.4697, 0.7381, 1.053, 1.412, 1.81, 2.245, 2.713",\
                 "-0.0219, 0.0268, 0.1782, 0.4214, 0.7335, 1.099, 1.51, 1.963, 2.459, 2.993",\
                 "-0.1723, -0.1175, 0.0554, 0.332, 0.6876, 1.104, 1.57, 2.081, 2.637, 3.235",\
                 "-0.3681, -0.3066, -0.1125, 0.1977, 0.5964, 1.065, 1.588, 2.16, 2.776, 3.438");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1833, 0.2159, 0.3286, 0.5403, 0.8679, 1.326, 1.929, 2.69, 3.616, 4.723",\
                 "0.1903, 0.2234, 0.3376, 0.5513, 0.8809, 1.34, 1.944, 2.703, 3.635, 4.739",\
                 "0.2491, 0.2801, 0.3899, 0.6012, 0.9307, 1.39, 1.997, 2.756, 3.683, 4.793",\
                 "0.363, 0.3995, 0.5175, 0.7223, 1.045, 1.501, 2.103, 2.864, 3.789, 4.898",\
                 "0.5168, 0.5584, 0.6947, 0.9243, 1.244, 1.691, 2.286, 3.04, 3.964, 5.065",\
                 "0.7139, 0.762, 0.9156, 1.173, 1.528, 1.976, 2.561, 3.306, 4.221, 5.319",\
                 "0.9533, 1.01, 1.186, 1.469, 1.861, 2.352, 2.942, 3.675, 4.58, 5.668",\
                 "1.238, 1.304, 1.504, 1.82, 2.242, 2.778, 3.416, 4.157, 5.051, 6.125",\
                 "1.569, 1.645, 1.872, 2.225, 2.683, 3.256, 3.945, 4.739, 5.642, 6.705",\
                 "1.949, 2.034, 2.29, 2.682, 3.183, 3.793, 4.525, 5.377, 6.337, 7.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1404, 0.1638, 0.2429, 0.3921, 0.6233, 0.9457, 1.371, 1.906, 2.558, 3.335",\
                 "0.1397, 0.1632, 0.2432, 0.3921, 0.6232, 0.9464, 1.371, 1.906, 2.558, 3.335",\
                 "0.1667, 0.1866, 0.252, 0.3916, 0.6223, 0.946, 1.371, 1.906, 2.557, 3.335",\
                 "0.2373, 0.2619, 0.34, 0.4687, 0.6546, 0.949, 1.371, 1.905, 2.557, 3.335",\
                 "0.3334, 0.3627, 0.4549, 0.6034, 0.8088, 1.065, 1.415, 1.911, 2.557, 3.335",\
                 "0.4484, 0.4852, 0.5958, 0.7684, 0.9966, 1.285, 1.628, 2.045, 2.606, 3.34",\
                 "0.5838, 0.6252, 0.7588, 0.9604, 1.218, 1.532, 1.911, 2.348, 2.849, 3.482",\
                 "0.7322, 0.7848, 0.9414, 1.178, 1.472, 1.817, 2.225, 2.703, 3.239, 3.837",\
                 "0.9022, 0.9616, 1.142, 1.417, 1.749, 2.137, 2.575, 3.084, 3.668, 4.312",\
                 "1.083, 1.155, 1.364, 1.674, 2.054, 2.486, 2.969, 3.508, 4.123, 4.812");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.3685, 0.4271, 0.628, 1.003, 1.578, 2.384, 3.443, 4.778, 6.404, 8.348",\
                 "0.3684, 0.4268, 0.6277, 1.003, 1.579, 2.384, 3.442, 4.778, 6.406, 8.344",\
                 "0.3734, 0.428, 0.6274, 1.003, 1.579, 2.384, 3.443, 4.775, 6.406, 8.347",\
                 "0.4488, 0.4969, 0.6619, 1.005, 1.579, 2.384, 3.443, 4.776, 6.405, 8.348",\
                 "0.539, 0.5922, 0.7734, 1.086, 1.595, 2.384, 3.443, 4.778, 6.407, 8.345",\
                 "0.6648, 0.714, 0.8972, 1.239, 1.723, 2.426, 3.446, 4.777, 6.408, 8.346",\
                 "0.8258, 0.8736, 1.051, 1.402, 1.925, 2.598, 3.52, 4.786, 6.407, 8.35",\
                 "1.007, 1.06, 1.243, 1.59, 2.131, 2.857, 3.74, 4.901, 6.431, 8.35",\
                 "1.209, 1.267, 1.463, 1.818, 2.362, 3.124, 4.058, 5.165, 6.583, 8.385",\
                 "1.433, 1.494, 1.706, 2.081, 2.632, 3.403, 4.391, 5.542, 6.897, 8.588");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1362, 0.1507, 0.1996, 0.2896, 0.427, 0.6176, 0.8671, 1.181, 1.563, 2.018",\
                 "0.1473, 0.1617, 0.2107, 0.3007, 0.4381, 0.6287, 0.8782, 1.192, 1.574, 2.029",\
                 "0.1921, 0.207, 0.2552, 0.3446, 0.4816, 0.672, 0.9215, 1.235, 1.617, 2.072",\
                 "0.2357, 0.2557, 0.3204, 0.4269, 0.5697, 0.7591, 1.007, 1.32, 1.702, 2.157",\
                 "0.2564, 0.2814, 0.3631, 0.497, 0.6758, 0.8934, 1.147, 1.458, 1.838, 2.291",\
                 "0.2497, 0.2802, 0.3795, 0.5418, 0.7564, 1.016, 1.317, 1.653, 2.033, 2.486",\
                 "0.2133, 0.2503, 0.3666, 0.5578, 0.8106, 1.112, 1.461, 1.851, 2.279, 2.745",\
                 "0.148, 0.1894, 0.3236, 0.5434, 0.8331, 1.18, 1.575, 2.017, 2.504, 3.031",\
                 "0.0525, 0.0986, 0.2482, 0.4952, 0.8233, 1.215, 1.66, 2.154, 2.696, 3.285",\
                 "-0.076, -0.0244, 0.1407, 0.4134, 0.7771, 1.215, 1.71, 2.259, 2.856, 3.505");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2331, 0.2657, 0.3781, 0.5901, 0.9184, 1.378, 1.983, 2.744, 3.673, 4.78",\
                 "0.2429, 0.2763, 0.3911, 0.6057, 0.9358, 1.397, 2.002, 2.764, 3.693, 4.8",\
                 "0.2809, 0.3135, 0.4272, 0.642, 0.9737, 1.437, 2.044, 2.806, 3.736, 4.843",\
                 "0.3515, 0.3866, 0.506, 0.7175, 1.045, 1.506, 2.111, 2.874, 3.804, 4.911",\
                 "0.4614, 0.4997, 0.6248, 0.8494, 1.176, 1.63, 2.23, 2.988, 3.914, 5.019",\
                 "0.6074, 0.6517, 0.7906, 1.025, 1.369, 1.826, 2.415, 3.165, 4.085, 5.184",\
                 "0.7846, 0.8359, 0.9938, 1.25, 1.608, 2.083, 2.681, 3.42, 4.33, 5.421",\
                 "0.9909, 1.049, 1.23, 1.517, 1.898, 2.39, 3.009, 3.76, 4.659, 5.737",\
                 "1.228, 1.295, 1.498, 1.818, 2.235, 2.752, 3.389, 4.163, 5.077, 6.144",\
                 "1.497, 1.572, 1.8, 2.157, 2.615, 3.168, 3.827, 4.621, 5.56, 6.645");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1772, 0.2008, 0.2808, 0.4314, 0.6626, 0.9857, 1.411, 1.946, 2.596, 3.375",\
                 "0.1764, 0.2001, 0.2807, 0.4314, 0.6629, 0.9856, 1.412, 1.945, 2.597, 3.375",\
                 "0.1929, 0.2125, 0.2833, 0.4305, 0.6624, 0.9855, 1.411, 1.946, 2.596, 3.374",\
                 "0.2706, 0.2951, 0.3704, 0.4968, 0.6865, 0.987, 1.411, 1.945, 2.596, 3.373",\
                 "0.3732, 0.4022, 0.4896, 0.637, 0.8388, 1.093, 1.449, 1.948, 2.597, 3.374",\
                 "0.4998, 0.5332, 0.6372, 0.8032, 1.029, 1.315, 1.653, 2.074, 2.64, 3.379",\
                 "0.6476, 0.6894, 0.8112, 1.002, 1.252, 1.562, 1.938, 2.375, 2.876, 3.513",\
                 "0.8176, 0.8664, 1.011, 1.231, 1.51, 1.847, 2.249, 2.724, 3.265, 3.862",\
                 "1.011, 1.07, 1.235, 1.487, 1.801, 2.172, 2.602, 3.105, 3.684, 4.332",\
                 "1.228, 1.293, 1.484, 1.77, 2.124, 2.533, 3, 3.53, 4.137, 4.826");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.3692, 0.4274, 0.6278, 1.003, 1.578, 2.384, 3.442, 4.778, 6.402, 8.344",\
                 "0.3693, 0.4273, 0.628, 1.002, 1.579, 2.384, 3.443, 4.777, 6.407, 8.344",\
                 "0.377, 0.4315, 0.6284, 1.002, 1.579, 2.384, 3.443, 4.777, 6.408, 8.35",\
                 "0.4424, 0.4921, 0.6629, 1.009, 1.578, 2.384, 3.444, 4.777, 6.405, 8.347",\
                 "0.532, 0.5792, 0.7502, 1.078, 1.603, 2.386, 3.443, 4.779, 6.406, 8.349",\
                 "0.6688, 0.7088, 0.8638, 1.19, 1.701, 2.433, 3.449, 4.778, 6.408, 8.35",\
                 "0.8332, 0.876, 1.026, 1.33, 1.842, 2.562, 3.527, 4.797, 6.409, 8.35",\
                 "1.016, 1.061, 1.223, 1.523, 2.012, 2.736, 3.686, 4.902, 6.449, 8.352",\
                 "1.214, 1.265, 1.439, 1.758, 2.234, 2.937, 3.897, 5.094, 6.581, 8.414",\
                 "1.425, 1.481, 1.674, 2.017, 2.511, 3.196, 4.133, 5.347, 6.808, 8.583");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1059, 0.1201, 0.1683, 0.2574, 0.3937, 0.5837, 0.8328, 1.146, 1.528, 1.984",\
                 "0.117, 0.1312, 0.1794, 0.2685, 0.4049, 0.5949, 0.844, 1.157, 1.54, 1.995",\
                 "0.1571, 0.1732, 0.224, 0.3123, 0.4484, 0.6382, 0.8872, 1.2, 1.583, 2.038",\
                 "0.1852, 0.2074, 0.2767, 0.3891, 0.5364, 0.7254, 0.9734, 1.286, 1.667, 2.123",\
                 "0.1893, 0.2179, 0.3065, 0.4484, 0.6338, 0.8564, 1.113, 1.424, 1.804, 2.258",\
                 "0.1667, 0.2016, 0.31, 0.4829, 0.7058, 0.9721, 1.277, 1.618, 2, 2.451",\
                 "0.1162, 0.1568, 0.2844, 0.4876, 0.7507, 1.06, 1.414, 1.81, 2.242, 2.711",\
                 "0.0372, 0.0838, 0.2286, 0.4615, 0.7647, 1.121, 1.523, 1.971, 2.462, 2.993",\
                 "-0.0728, -0.0203, 0.1424, 0.4043, 0.7445, 1.147, 1.601, 2.102, 2.649, 3.243",\
                 "-0.2144, -0.1565, 0.0233, 0.3124, 0.6906, 1.139, 1.645, 2.202, 2.805, 3.457");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2274, 0.26, 0.3721, 0.5831, 0.9103, 1.369, 1.972, 2.733, 3.659, 4.764",\
                 "0.2372, 0.2707, 0.3851, 0.5987, 0.9279, 1.387, 1.992, 2.751, 3.679, 4.787",\
                 "0.2749, 0.3076, 0.4207, 0.6354, 0.9666, 1.428, 2.033, 2.793, 3.722, 4.832",\
                 "0.344, 0.3798, 0.4991, 0.7102, 1.037, 1.496, 2.1, 2.862, 3.79, 4.895",\
                 "0.4527, 0.4912, 0.617, 0.8415, 1.168, 1.62, 2.218, 2.974, 3.899, 5.005",\
                 "0.5963, 0.6411, 0.7812, 1.017, 1.36, 1.816, 2.404, 3.152, 4.071, 5.17",\
                 "0.7698, 0.8217, 0.9821, 1.24, 1.598, 2.072, 2.669, 3.407, 4.315, 5.405",\
                 "0.9718, 1.033, 1.216, 1.504, 1.887, 2.378, 2.996, 3.745, 4.643, 5.722",\
                 "1.204, 1.273, 1.48, 1.803, 2.223, 2.739, 3.374, 4.148, 5.06, 6.127",\
                 "1.468, 1.544, 1.778, 2.139, 2.598, 3.152, 3.811, 4.604, 5.543, 6.629");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1446, 0.1676, 0.2464, 0.3954, 0.6261, 0.9491, 1.374, 1.908, 2.561, 3.339",\
                 "0.1431, 0.1666, 0.2465, 0.3953, 0.6257, 0.9484, 1.374, 1.908, 2.56, 3.338",\
                 "0.1732, 0.1926, 0.2568, 0.3951, 0.6255, 0.9486, 1.374, 1.909, 2.56, 3.338",\
                 "0.2499, 0.2735, 0.3484, 0.4749, 0.6606, 0.9521, 1.373, 1.908, 2.561, 3.338",\
                 "0.3521, 0.3801, 0.4678, 0.6144, 0.8156, 1.07, 1.419, 1.913, 2.56, 3.338",\
                 "0.4762, 0.5108, 0.6156, 0.781, 1.005, 1.291, 1.633, 2.05, 2.611, 3.344",\
                 "0.6206, 0.6628, 0.7882, 0.98, 1.229, 1.539, 1.915, 2.353, 2.853, 3.487",\
                 "0.7882, 0.8366, 0.9858, 1.21, 1.489, 1.825, 2.227, 2.702, 3.242, 3.84",\
                 "0.9758, 1.039, 1.207, 1.463, 1.778, 2.15, 2.582, 3.083, 3.661, 4.31",\
                 "1.185, 1.255, 1.451, 1.743, 2.104, 2.511, 2.974, 3.504, 4.115, 4.805");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2704, 0.3256, 0.5189, 0.887, 1.46, 2.268, 3.323, 4.657, 6.285, 8.236",\
                 "0.2704, 0.3256, 0.5187, 0.8866, 1.46, 2.267, 3.325, 4.664, 6.288, 8.236",\
                 "0.278, 0.3295, 0.5189, 0.8868, 1.462, 2.265, 3.328, 4.664, 6.288, 8.235",\
                 "0.3314, 0.3826, 0.553, 0.8938, 1.462, 2.267, 3.326, 4.659, 6.29, 8.222",\
                 "0.4052, 0.454, 0.6294, 0.962, 1.486, 2.269, 3.328, 4.659, 6.289, 8.228",\
                 "0.5186, 0.5656, 0.7314, 1.063, 1.582, 2.318, 3.331, 4.664, 6.29, 8.227",\
                 "0.6488, 0.7042, 0.8784, 1.196, 1.716, 2.442, 3.415, 4.678, 6.295, 8.23",\
                 "0.7966, 0.8566, 1.05, 1.378, 1.879, 2.608, 3.565, 4.782, 6.329, 8.24",\
                 "0.9568, 1.026, 1.241, 1.599, 2.093, 2.805, 3.771, 4.973, 6.461, 8.297",\
                 "1.128, 1.202, 1.45, 1.834, 2.362, 3.054, 4.003, 5.222, 6.686, 8.468");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.08676, 0.09814, 0.1367, 0.2078, 0.3164, 0.4673, 0.6652, 0.914, 1.218, 1.579",\
                 "0.09961, 0.1109, 0.1493, 0.2204, 0.3289, 0.4799, 0.6778, 0.9266, 1.23, 1.592",\
                 "0.1382, 0.1525, 0.1971, 0.2693, 0.3774, 0.5281, 0.7259, 0.9747, 1.278, 1.64",\
                 "0.1585, 0.1789, 0.2417, 0.3415, 0.4698, 0.624, 0.821, 1.069, 1.372, 1.733",\
                 "0.1516, 0.178, 0.2602, 0.3892, 0.5544, 0.7503, 0.9704, 1.22, 1.522, 1.882",\
                 "0.1142, 0.1466, 0.2483, 0.4077, 0.6103, 0.8487, 1.118, 1.415, 1.735, 2.095",\
                 "0.0457, 0.0838, 0.2031, 0.3923, 0.6343, 0.9172, 1.233, 1.583, 1.961, 2.365",\
                 "-0.0564, -0.0124, 0.1243, 0.3423, 0.6232, 0.9507, 1.317, 1.718, 2.152, 2.618",\
                 "-0.1934, -0.1443, 0.0101, 0.2559, 0.5742, 0.947, 1.363, 1.818, 2.307, 2.832",\
                 "-0.3675, -0.3136, -0.1425, 0.1311, 0.4849, 0.9022, 1.37, 1.879, 2.426, 3.009");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2264, 0.2587, 0.3709, 0.5823, 0.9093, 1.368, 1.971, 2.73, 3.658, 4.762",\
                 "0.2347, 0.268, 0.3825, 0.5963, 0.9251, 1.384, 1.989, 2.752, 3.676, 4.784",\
                 "0.2733, 0.3059, 0.4183, 0.6319, 0.9631, 1.424, 2.03, 2.79, 3.72, 4.823",\
                 "0.3452, 0.3803, 0.4985, 0.709, 1.035, 1.493, 2.098, 2.858, 3.785, 4.893",\
                 "0.4603, 0.4983, 0.6223, 0.8446, 1.17, 1.62, 2.218, 2.973, 3.898, 5",\
                 "0.6146, 0.6585, 0.7959, 1.028, 1.368, 1.822, 2.409, 3.155, 4.073, 5.169",\
                 "0.8019, 0.8533, 1.01, 1.264, 1.617, 2.088, 2.682, 3.417, 4.324, 5.41",\
                 "1.023, 1.081, 1.261, 1.544, 1.921, 2.407, 3.022, 3.766, 4.661, 5.738",\
                 "1.277, 1.344, 1.547, 1.865, 2.275, 2.784, 3.416, 4.184, 5.091, 6.154",\
                 "1.568, 1.643, 1.871, 2.223, 2.674, 3.218, 3.871, 4.658, 5.591, 6.67");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1099, 0.1279, 0.1906, 0.3076, 0.4896, 0.744, 1.078, 1.502, 2.016, 2.627",\
                 "0.1085, 0.1269, 0.1903, 0.3076, 0.4896, 0.7445, 1.079, 1.502, 2.014, 2.628",\
                 "0.1502, 0.1657, 0.2145, 0.3128, 0.4891, 0.7446, 1.078, 1.502, 2.015, 2.628",\
                 "0.2276, 0.2481, 0.3111, 0.4143, 0.552, 0.7624, 1.08, 1.5, 2.016, 2.628",\
                 "0.3268, 0.352, 0.4294, 0.553, 0.719, 0.9222, 1.172, 1.53, 2.018, 2.627",\
                 "0.447, 0.4788, 0.5734, 0.7192, 0.9096, 1.147, 1.423, 1.734, 2.132, 2.667",\
                 "0.588, 0.6268, 0.741, 0.915, 1.13, 1.393, 1.704, 2.06, 2.452, 2.904",\
                 "0.7536, 0.799, 0.9352, 1.133, 1.383, 1.675, 2.016, 2.409, 2.848, 3.329",\
                 "0.9392, 0.9922, 1.149, 1.382, 1.666, 1.994, 2.364, 2.788, 3.267, 3.797",\
                 "1.141, 1.208, 1.393, 1.658, 1.976, 2.341, 2.754, 3.21, 3.721, 4.292");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2704, 0.3255, 0.5187, 0.888, 1.461, 2.267, 3.326, 4.665, 6.295, 8.231",\
                 "0.2706, 0.3253, 0.519, 0.8883, 1.46, 2.267, 3.325, 4.659, 6.288, 8.236",\
                 "0.2785, 0.3291, 0.5182, 0.8865, 1.462, 2.268, 3.331, 4.656, 6.289, 8.236",\
                 "0.3314, 0.3821, 0.553, 0.8936, 1.46, 2.268, 3.326, 4.665, 6.292, 8.231",\
                 "0.4018, 0.4506, 0.6262, 0.9604, 1.486, 2.269, 3.328, 4.66, 6.285, 8.227",\
                 "0.5092, 0.5568, 0.7224, 1.057, 1.579, 2.313, 3.333, 4.664, 6.29, 8.227",\
                 "0.6376, 0.6892, 0.8618, 1.185, 1.705, 2.436, 3.405, 4.68, 6.294, 8.237",\
                 "0.7834, 0.842, 1.029, 1.354, 1.86, 2.597, 3.556, 4.777, 6.328, 8.238",\
                 "0.9412, 1.009, 1.217, 1.565, 2.061, 2.781, 3.755, 4.962, 6.457, 8.29",\
                 "1.114, 1.187, 1.421, 1.798, 2.317, 3.019, 3.975, 5.2, 6.67, 8.455");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1362, 0.1507, 0.1996, 0.2896, 0.427, 0.6176, 0.8671, 1.181, 1.563, 2.018",\
                 "0.1473, 0.1617, 0.2107, 0.3007, 0.4381, 0.6287, 0.8782, 1.192, 1.574, 2.029",\
                 "0.1921, 0.207, 0.2552, 0.3446, 0.4816, 0.672, 0.9215, 1.235, 1.617, 2.072",\
                 "0.2357, 0.2557, 0.3204, 0.4269, 0.5697, 0.7591, 1.007, 1.32, 1.702, 2.157",\
                 "0.2564, 0.2814, 0.3631, 0.497, 0.6758, 0.8934, 1.147, 1.458, 1.838, 2.291",\
                 "0.2497, 0.2802, 0.3795, 0.5418, 0.7564, 1.016, 1.317, 1.653, 2.033, 2.486",\
                 "0.2133, 0.2503, 0.3666, 0.5578, 0.8106, 1.112, 1.461, 1.851, 2.279, 2.745",\
                 "0.148, 0.1894, 0.3236, 0.5434, 0.8331, 1.18, 1.575, 2.017, 2.504, 3.031",\
                 "0.0525, 0.0986, 0.2482, 0.4952, 0.8233, 1.215, 1.66, 2.154, 2.696, 3.285",\
                 "-0.076, -0.0244, 0.1407, 0.4134, 0.7771, 1.215, 1.71, 2.259, 2.856, 3.505");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.2264, 0.2587, 0.3709, 0.5823, 0.9093, 1.368, 1.971, 2.73, 3.658, 4.762",\
                 "0.2347, 0.268, 0.3825, 0.5963, 0.9251, 1.384, 1.989, 2.752, 3.676, 4.784",\
                 "0.2733, 0.3059, 0.4183, 0.6319, 0.9631, 1.424, 2.03, 2.79, 3.72, 4.823",\
                 "0.3452, 0.3803, 0.4985, 0.709, 1.035, 1.493, 2.098, 2.858, 3.785, 4.893",\
                 "0.4603, 0.4983, 0.6223, 0.8446, 1.17, 1.62, 2.218, 2.973, 3.898, 5",\
                 "0.6146, 0.6585, 0.7959, 1.028, 1.368, 1.822, 2.409, 3.155, 4.073, 5.169",\
                 "0.8019, 0.8533, 1.01, 1.264, 1.617, 2.088, 2.682, 3.417, 4.324, 5.41",\
                 "1.023, 1.081, 1.261, 1.544, 1.921, 2.407, 3.022, 3.766, 4.661, 5.738",\
                 "1.277, 1.344, 1.547, 1.865, 2.275, 2.784, 3.416, 4.184, 5.091, 6.154",\
                 "1.568, 1.643, 1.871, 2.223, 2.674, 3.218, 3.871, 4.658, 5.591, 6.67");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1772, 0.2008, 0.2808, 0.4314, 0.6626, 0.9857, 1.411, 1.946, 2.596, 3.375",\
                 "0.1764, 0.2001, 0.2807, 0.4314, 0.6629, 0.9856, 1.412, 1.945, 2.597, 3.375",\
                 "0.1929, 0.2125, 0.2833, 0.4305, 0.6624, 0.9855, 1.411, 1.946, 2.596, 3.374",\
                 "0.2706, 0.2951, 0.3704, 0.4968, 0.6865, 0.987, 1.411, 1.945, 2.596, 3.373",\
                 "0.3732, 0.4022, 0.4896, 0.637, 0.8388, 1.093, 1.449, 1.948, 2.597, 3.374",\
                 "0.4998, 0.5332, 0.6372, 0.8032, 1.029, 1.315, 1.653, 2.074, 2.64, 3.379",\
                 "0.6476, 0.6894, 0.8112, 1.002, 1.252, 1.562, 1.938, 2.375, 2.876, 3.513",\
                 "0.8176, 0.8664, 1.011, 1.231, 1.51, 1.847, 2.249, 2.724, 3.265, 3.862",\
                 "1.011, 1.07, 1.235, 1.487, 1.801, 2.172, 2.602, 3.105, 3.684, 4.332",\
                 "1.228, 1.293, 1.484, 1.77, 2.124, 2.533, 3, 3.53, 4.137, 4.826");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.3692, 0.4274, 0.6278, 1.003, 1.578, 2.384, 3.442, 4.778, 6.402, 8.344",\
                 "0.3693, 0.4273, 0.628, 1.002, 1.579, 2.384, 3.443, 4.777, 6.407, 8.344",\
                 "0.377, 0.4315, 0.6284, 1.002, 1.579, 2.384, 3.443, 4.777, 6.408, 8.35",\
                 "0.4424, 0.4921, 0.6629, 1.009, 1.578, 2.384, 3.444, 4.777, 6.405, 8.347",\
                 "0.532, 0.5792, 0.7502, 1.078, 1.603, 2.386, 3.443, 4.779, 6.406, 8.349",\
                 "0.6688, 0.7088, 0.8638, 1.19, 1.701, 2.433, 3.449, 4.778, 6.408, 8.35",\
                 "0.8332, 0.876, 1.026, 1.33, 1.842, 2.562, 3.527, 4.797, 6.409, 8.35",\
                 "1.016, 1.061, 1.223, 1.523, 2.012, 2.736, 3.686, 4.902, 6.449, 8.352",\
                 "1.214, 1.265, 1.439, 1.758, 2.234, 2.937, 3.897, 5.094, 6.581, 8.414",\
                 "1.425, 1.481, 1.674, 2.017, 2.511, 3.196, 4.133, 5.347, 6.808, 8.583");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1499, 0.1641, 0.2122, 0.3014, 0.438, 0.628, 0.8771, 1.19, 1.573, 2.028",\
                 "0.1641, 0.1783, 0.2269, 0.3164, 0.4532, 0.6433, 0.8925, 1.206, 1.588, 2.044",\
                 "0.1955, 0.2107, 0.2604, 0.3501, 0.4872, 0.6776, 0.9271, 1.241, 1.623, 2.079",\
                 "0.2153, 0.2339, 0.2943, 0.3965, 0.5406, 0.7312, 0.9806, 1.294, 1.677, 2.132",\
                 "0.207, 0.2314, 0.3076, 0.431, 0.5969, 0.807, 1.064, 1.377, 1.759, 2.214",\
                 "0.1605, 0.1906, 0.2863, 0.4383, 0.6355, 0.8736, 1.158, 1.491, 1.877, 2.331",\
                 "0.0716, 0.1084, 0.2232, 0.4069, 0.6416, 0.9185, 1.235, 1.6, 2.015, 2.486",\
                 "-0.0616, -0.0184, 0.1158, 0.3309, 0.6069, 0.9274, 1.288, 1.69, 2.14, 2.644",\
                 "-0.2422, -0.1933, -0.0391, 0.2072, 0.5234, 0.8922, 1.302, 1.753, 2.244, 2.786",\
                 "-0.4715, -0.4173, -0.244, 0.0337, 0.3906, 0.8077, 1.271, 1.775, 2.319, 2.905");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.3321, 0.3648, 0.4783, 0.692, 1.022, 1.483, 2.089, 2.851, 3.78, 4.887",\
                 "0.3399, 0.373, 0.4873, 0.7016, 1.032, 1.494, 2.1, 2.861, 3.791, 4.898",\
                 "0.3933, 0.426, 0.5391, 0.7529, 1.083, 1.545, 2.151, 2.913, 3.843, 4.95",\
                 "0.5221, 0.5536, 0.6628, 0.8714, 1.197, 1.655, 2.259, 3.02, 3.949, 5.055",\
                 "0.7054, 0.7415, 0.8639, 1.076, 1.393, 1.844, 2.442, 3.197, 4.123, 5.226",\
                 "0.9333, 0.9739, 1.109, 1.348, 1.684, 2.127, 2.715, 3.462, 4.381, 5.479",\
                 "1.213, 1.258, 1.406, 1.666, 2.037, 2.51, 3.093, 3.829, 4.737, 5.826",\
                 "1.544, 1.595, 1.759, 2.041, 2.439, 2.955, 3.575, 4.309, 5.204, 6.282",\
                 "1.928, 1.984, 2.168, 2.475, 2.901, 3.451, 4.12, 4.897, 5.792, 6.857",\
                 "2.367, 2.429, 2.633, 2.971, 3.429, 4.01, 4.719, 5.552, 6.495, 7.561");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1435, 0.1668, 0.246, 0.3953, 0.6259, 0.9493, 1.373, 1.909, 2.561, 3.338",\
                 "0.1436, 0.1663, 0.2465, 0.3952, 0.626, 0.9485, 1.374, 1.909, 2.56, 3.338",\
                 "0.1581, 0.1781, 0.25, 0.3953, 0.6259, 0.9484, 1.374, 1.909, 2.56, 3.338",\
                 "0.2166, 0.2368, 0.3079, 0.4406, 0.6452, 0.9523, 1.374, 1.908, 2.56, 3.337",\
                 "0.3116, 0.3337, 0.4062, 0.5388, 0.7412, 1.023, 1.405, 1.915, 2.56, 3.337",\
                 "0.4332, 0.4586, 0.5412, 0.6806, 0.882, 1.163, 1.535, 2.001, 2.6, 3.347",\
                 "0.5768, 0.6062, 0.7008, 0.8586, 1.072, 1.353, 1.721, 2.187, 2.752, 3.446",\
                 "0.7408, 0.7744, 0.8832, 1.062, 1.298, 1.594, 1.962, 2.424, 2.992, 3.666",\
                 "0.9202, 0.9588, 1.084, 1.285, 1.551, 1.873, 2.257, 2.718, 3.281, 3.955",\
                 "1.109, 1.157, 1.303, 1.532, 1.828, 2.181, 2.595, 3.07, 3.632, 4.303");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.5812, 0.6391, 0.838, 1.213, 1.791, 2.599, 3.66, 4.994, 6.62, 8.565",\
                 "0.5812, 0.6387, 0.838, 1.213, 1.791, 2.599, 3.66, 4.994, 6.622, 8.56",\
                 "0.5813, 0.6386, 0.8379, 1.213, 1.791, 2.598, 3.659, 4.994, 6.62, 8.564",\
                 "0.6108, 0.6613, 0.8446, 1.213, 1.791, 2.598, 3.66, 4.995, 6.621, 8.561",\
                 "0.7112, 0.7644, 0.9344, 1.256, 1.796, 2.599, 3.659, 4.994, 6.624, 8.565",\
                 "0.8206, 0.8772, 1.069, 1.401, 1.891, 2.621, 3.66, 4.996, 6.623, 8.564",\
                 "0.9542, 1.012, 1.208, 1.572, 2.086, 2.766, 3.712, 5.001, 6.623, 8.564",\
                 "1.118, 1.177, 1.377, 1.746, 2.299, 3.014, 3.906, 5.089, 6.638, 8.563",\
                 "1.303, 1.367, 1.575, 1.949, 2.518, 3.282, 4.211, 5.333, 6.77, 8.596",\
                 "1.506, 1.576, 1.798, 2.187, 2.761, 3.556, 4.544, 5.696, 7.067, 8.774");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1224, 0.1355, 0.1814, 0.2682, 0.4028, 0.5918, 0.8402, 1.153, 1.535, 1.991",\
                 "0.1358, 0.1493, 0.1957, 0.2829, 0.4178, 0.607, 0.8553, 1.169, 1.551, 2.006",\
                 "0.1611, 0.1769, 0.2276, 0.3162, 0.4517, 0.641, 0.8899, 1.203, 1.586, 2.04",\
                 "0.1667, 0.1878, 0.2525, 0.3579, 0.504, 0.6946, 0.9434, 1.256, 1.638, 2.095",\
                 "0.1394, 0.1673, 0.252, 0.3838, 0.5546, 0.7675, 1.026, 1.339, 1.721, 2.177",\
                 "0.0719, 0.1073, 0.2149, 0.3793, 0.5855, 0.829, 1.116, 1.451, 1.839, 2.293",\
                 "-0.0375, 0.006, 0.1358, 0.3347, 0.5816, 0.8671, 1.189, 1.557, 1.975, 2.447",\
                 "-0.19, -0.1403, 0.0123, 0.2454, 0.5359, 0.8675, 1.237, 1.643, 2.096, 2.603",\
                 "-0.3886, -0.3325, -0.1589, 0.109, 0.4414, 0.8238, 1.244, 1.701, 2.197, 2.742",\
                 "-0.6363, -0.5735, -0.3797, -0.0781, 0.2983, 0.7293, 1.205, 1.717, 2.266, 2.857");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.324, 0.357, 0.4708, 0.6841, 1.013, 1.474, 2.076, 2.837, 3.765, 4.869",\
                 "0.3319, 0.3652, 0.4797, 0.6939, 1.023, 1.483, 2.088, 2.849, 3.779, 4.88",\
                 "0.3852, 0.4179, 0.5314, 0.7447, 1.075, 1.535, 2.14, 2.899, 3.826, 4.931",\
                 "0.5134, 0.5454, 0.6551, 0.8634, 1.188, 1.646, 2.247, 3.007, 3.933, 5.042",\
                 "0.6945, 0.7316, 0.8544, 1.067, 1.385, 1.834, 2.43, 3.185, 4.109, 5.208",\
                 "0.9207, 0.9614, 1.098, 1.338, 1.674, 2.117, 2.703, 3.449, 4.366, 5.464",\
                 "1.198, 1.244, 1.393, 1.654, 2.025, 2.498, 3.081, 3.815, 4.721, 5.81",\
                 "1.526, 1.577, 1.744, 2.026, 2.426, 2.941, 3.561, 4.293, 5.188, 6.264",\
                 "1.905, 1.964, 2.149, 2.459, 2.886, 3.435, 4.104, 4.881, 5.776, 6.839",\
                 "2.339, 2.405, 2.611, 2.951, 3.411, 3.992, 4.7, 5.534, 6.476, 7.542");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1079, 0.1298, 0.2071, 0.3552, 0.5855, 0.9088, 1.333, 1.867, 2.519, 3.302",\
                 "0.1082, 0.1298, 0.2072, 0.3552, 0.5859, 0.9094, 1.332, 1.867, 2.521, 3.297",\
                 "0.1316, 0.1508, 0.2177, 0.3565, 0.5852, 0.908, 1.334, 1.869, 2.522, 3.298",\
                 "0.1948, 0.2139, 0.2814, 0.4102, 0.6112, 0.9134, 1.333, 1.867, 2.518, 3.3",\
                 "0.2937, 0.3152, 0.3857, 0.513, 0.7122, 0.9922, 1.37, 1.875, 2.52, 3.299",\
                 "0.4182, 0.4424, 0.5226, 0.6602, 0.8574, 1.136, 1.504, 1.968, 2.563, 3.311",\
                 "0.5648, 0.5932, 0.6836, 0.8384, 1.052, 1.328, 1.694, 2.156, 2.721, 3.411",\
                 "0.7294, 0.7628, 0.8656, 1.042, 1.278, 1.574, 1.936, 2.396, 2.961, 3.636",\
                 "0.9036, 0.9428, 1.069, 1.267, 1.531, 1.851, 2.236, 2.692, 3.254, 3.926",\
                 "1.086, 1.133, 1.283, 1.512, 1.808, 2.16, 2.575, 3.048, 3.609, 4.275");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.4593, 0.5165, 0.7133, 1.085, 1.663, 2.47, 3.528, 4.863, 6.491, 8.428",\
                 "0.4595, 0.516, 0.7131, 1.085, 1.662, 2.469, 3.529, 4.864, 6.497, 8.432",\
                 "0.4584, 0.5151, 0.7123, 1.085, 1.661, 2.469, 3.529, 4.861, 6.49, 8.435",\
                 "0.4874, 0.537, 0.7185, 1.085, 1.662, 2.468, 3.53, 4.865, 6.494, 8.438",\
                 "0.5706, 0.6264, 0.8064, 1.128, 1.666, 2.468, 3.53, 4.864, 6.496, 8.429",\
                 "0.6604, 0.7214, 0.922, 1.268, 1.759, 2.491, 3.529, 4.863, 6.495, 8.438",\
                 "0.7746, 0.8384, 1.045, 1.419, 1.952, 2.635, 3.581, 4.868, 6.493, 8.438",\
                 "0.9108, 0.9796, 1.199, 1.582, 2.15, 2.881, 3.775, 4.957, 6.505, 8.434",\
                 "1.065, 1.139, 1.375, 1.771, 2.356, 3.138, 4.076, 5.203, 6.637, 8.464",\
                 "1.232, 1.315, 1.573, 1.994, 2.59, 3.394, 4.399, 5.562, 6.933, 8.642");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1037, 0.1137, 0.1484, 0.2138, 0.3154, 0.4577, 0.6446, 0.8801, 1.168, 1.51",\
                 "0.1177, 0.128, 0.1632, 0.2292, 0.3307, 0.4731, 0.6602, 0.896, 1.184, 1.526",\
                 "0.1486, 0.1624, 0.205, 0.2744, 0.3767, 0.5193, 0.7066, 0.9423, 1.23, 1.573",\
                 "0.1565, 0.1766, 0.2374, 0.3327, 0.4556, 0.6046, 0.7923, 1.028, 1.316, 1.658",\
                 "0.1305, 0.1575, 0.239, 0.3649, 0.5232, 0.7091, 0.9207, 1.162, 1.45, 1.792",\
                 "0.0655, 0.0991, 0.2027, 0.3616, 0.5594, 0.7873, 1.043, 1.325, 1.635, 1.981",\
                 "-0.041, -0.0003, 0.124, 0.317, 0.5569, 0.8308, 1.133, 1.464, 1.823, 2.21",\
                 "-0.1914, -0.1445, 0.001, 0.2269, 0.5098, 0.8321, 1.187, 1.569, 1.981, 2.421",\
                 "-0.3882, -0.3347, -0.1694, 0.0894, 0.4139, 0.7867, 1.195, 1.634, 2.101, 2.598",\
                 "-0.6326, -0.5747, -0.3902, -0.0989, 0.2681, 0.6898, 1.154, 1.65, 2.178, 2.735");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.3651, 0.3975, 0.5097, 0.7219, 1.051, 1.51, 2.113, 2.875, 3.803, 4.906",\
                 "0.3735, 0.4061, 0.5191, 0.7324, 1.061, 1.521, 2.126, 2.885, 3.814, 4.917",\
                 "0.4265, 0.4586, 0.5709, 0.7833, 1.112, 1.573, 2.176, 2.936, 3.867, 4.974",\
                 "0.5549, 0.5863, 0.6948, 0.9021, 1.226, 1.684, 2.285, 3.043, 3.97, 5.079",\
                 "0.7435, 0.7787, 0.898, 1.107, 1.424, 1.872, 2.469, 3.223, 4.147, 5.247",\
                 "0.9753, 1.015, 1.148, 1.384, 1.716, 2.158, 2.744, 3.49, 4.407, 5.501",\
                 "1.26, 1.304, 1.449, 1.706, 2.075, 2.544, 3.124, 3.858, 4.765, 5.852",\
                 "1.597, 1.646, 1.806, 2.085, 2.482, 2.995, 3.611, 4.343, 5.237, 6.31",\
                 "1.988, 2.043, 2.22, 2.524, 2.948, 3.496, 4.163, 4.936, 5.829, 6.892",\
                 "2.435, 2.495, 2.692, 3.026, 3.478, 4.06, 4.767, 5.598, 6.538, 7.602");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.09624, 0.1129, 0.1714, 0.2835, 0.4571, 0.7003, 1.02, 1.421, 1.915, 2.499",\
                 "0.09672, 0.1132, 0.1715, 0.2835, 0.457, 0.7009, 1.02, 1.423, 1.914, 2.497",\
                 "0.1383, 0.1512, 0.1951, 0.2892, 0.4568, 0.6996, 1.019, 1.424, 1.914, 2.497",\
                 "0.2238, 0.2383, 0.2893, 0.3813, 0.5145, 0.7182, 1.02, 1.421, 1.914, 2.501",\
                 "0.3383, 0.355, 0.4127, 0.5154, 0.6638, 0.8594, 1.106, 1.454, 1.918, 2.501",\
                 "0.4768, 0.4962, 0.562, 0.679, 0.843, 1.056, 1.32, 1.631, 2.024, 2.54",\
                 "0.638, 0.6588, 0.7352, 0.8694, 1.056, 1.288, 1.571, 1.908, 2.299, 2.75",\
                 "0.8162, 0.8422, 0.9292, 1.083, 1.294, 1.555, 1.859, 2.22, 2.635, 3.107",\
                 "1.005, 1.037, 1.142, 1.318, 1.557, 1.848, 2.186, 2.568, 3.009, 3.51",\
                 "1.205, 1.241, 1.369, 1.571, 1.843, 2.169, 2.542, 2.961, 3.425, 3.952");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.5086, 0.566, 0.762, 1.135, 1.712, 2.518, 3.577, 4.917, 6.547, 8.486",\
                 "0.5088, 0.5652, 0.762, 1.135, 1.712, 2.519, 3.581, 4.912, 6.543, 8.48",\
                 "0.5079, 0.5644, 0.7623, 1.134, 1.711, 2.519, 3.577, 4.911, 6.548, 8.489",\
                 "0.5288, 0.58, 0.7657, 1.134, 1.711, 2.518, 3.58, 4.913, 6.539, 8.489",\
                 "0.6176, 0.6716, 0.8444, 1.169, 1.713, 2.517, 3.579, 4.915, 6.546, 8.48",\
                 "0.7068, 0.766, 0.965, 1.307, 1.798, 2.535, 3.579, 4.914, 6.544, 8.485",\
                 "0.8192, 0.8786, 1.091, 1.461, 1.986, 2.671, 3.624, 4.918, 6.542, 8.485",\
                 "0.954, 1.021, 1.235, 1.621, 2.187, 2.912, 3.808, 4.998, 6.554, 8.485",\
                 "1.111, 1.182, 1.41, 1.804, 2.393, 3.168, 4.106, 5.233, 6.676, 8.51",\
                 "1.282, 1.361, 1.608, 2.021, 2.616, 3.422, 4.429, 5.584, 6.962, 8.68");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1499, 0.1641, 0.2122, 0.3014, 0.438, 0.628, 0.8771, 1.19, 1.573, 2.028",\
                 "0.1641, 0.1783, 0.2269, 0.3164, 0.4532, 0.6433, 0.8925, 1.206, 1.588, 2.044",\
                 "0.1955, 0.2107, 0.2604, 0.3501, 0.4872, 0.6776, 0.9271, 1.241, 1.623, 2.079",\
                 "0.2153, 0.2339, 0.2943, 0.3965, 0.5406, 0.7312, 0.9806, 1.294, 1.677, 2.132",\
                 "0.207, 0.2314, 0.3076, 0.431, 0.5969, 0.807, 1.064, 1.377, 1.759, 2.214",\
                 "0.1605, 0.1906, 0.2863, 0.4383, 0.6355, 0.8736, 1.158, 1.491, 1.877, 2.331",\
                 "0.0716, 0.1084, 0.2232, 0.4069, 0.6416, 0.9185, 1.235, 1.6, 2.015, 2.486",\
                 "-0.0616, -0.0184, 0.1158, 0.3309, 0.6069, 0.9274, 1.288, 1.69, 2.14, 2.644",\
                 "-0.2422, -0.1933, -0.0391, 0.2072, 0.5234, 0.8922, 1.302, 1.753, 2.244, 2.786",\
                 "-0.4715, -0.4173, -0.244, 0.0337, 0.3906, 0.8077, 1.271, 1.775, 2.319, 2.905");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.3651, 0.3975, 0.5097, 0.7219, 1.051, 1.51, 2.113, 2.875, 3.803, 4.906",\
                 "0.3735, 0.4061, 0.5191, 0.7324, 1.061, 1.521, 2.126, 2.885, 3.814, 4.917",\
                 "0.4265, 0.4586, 0.5709, 0.7833, 1.112, 1.573, 2.176, 2.936, 3.867, 4.974",\
                 "0.5549, 0.5863, 0.6948, 0.9021, 1.226, 1.684, 2.285, 3.043, 3.97, 5.079",\
                 "0.7435, 0.7787, 0.898, 1.107, 1.424, 1.872, 2.469, 3.223, 4.147, 5.247",\
                 "0.9753, 1.015, 1.148, 1.384, 1.716, 2.158, 2.744, 3.49, 4.407, 5.501",\
                 "1.26, 1.304, 1.449, 1.706, 2.075, 2.544, 3.124, 3.858, 4.765, 5.852",\
                 "1.597, 1.646, 1.806, 2.085, 2.482, 2.995, 3.611, 4.343, 5.237, 6.31",\
                 "1.988, 2.043, 2.22, 2.524, 2.948, 3.496, 4.163, 4.936, 5.829, 6.892",\
                 "2.435, 2.495, 2.692, 3.026, 3.478, 4.06, 4.767, 5.598, 6.538, 7.602");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1435, 0.1668, 0.246, 0.3953, 0.6259, 0.9493, 1.373, 1.909, 2.561, 3.338",\
                 "0.1436, 0.1663, 0.2465, 0.3952, 0.626, 0.9485, 1.374, 1.909, 2.56, 3.338",\
                 "0.1581, 0.1781, 0.25, 0.3953, 0.6259, 0.9484, 1.374, 1.909, 2.56, 3.338",\
                 "0.2166, 0.2368, 0.3079, 0.4406, 0.6452, 0.9523, 1.374, 1.908, 2.56, 3.337",\
                 "0.3116, 0.3337, 0.4062, 0.5388, 0.7412, 1.023, 1.405, 1.915, 2.56, 3.337",\
                 "0.4332, 0.4586, 0.5412, 0.6806, 0.882, 1.163, 1.535, 2.001, 2.6, 3.347",\
                 "0.5768, 0.6062, 0.7008, 0.8586, 1.072, 1.353, 1.721, 2.187, 2.752, 3.446",\
                 "0.7408, 0.7744, 0.8832, 1.062, 1.298, 1.594, 1.962, 2.424, 2.992, 3.666",\
                 "0.9202, 0.9588, 1.084, 1.285, 1.551, 1.873, 2.257, 2.718, 3.281, 3.955",\
                 "1.109, 1.157, 1.303, 1.532, 1.828, 2.181, 2.595, 3.07, 3.632, 4.303");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.5812, 0.6391, 0.838, 1.213, 1.791, 2.599, 3.66, 4.994, 6.62, 8.565",\
                 "0.5812, 0.6387, 0.838, 1.213, 1.791, 2.599, 3.66, 4.994, 6.622, 8.56",\
                 "0.5813, 0.6386, 0.8379, 1.213, 1.791, 2.598, 3.659, 4.994, 6.62, 8.564",\
                 "0.6108, 0.6613, 0.8446, 1.213, 1.791, 2.598, 3.66, 4.995, 6.621, 8.561",\
                 "0.7112, 0.7644, 0.9344, 1.256, 1.796, 2.599, 3.659, 4.994, 6.624, 8.565",\
                 "0.8206, 0.8772, 1.069, 1.401, 1.891, 2.621, 3.66, 4.996, 6.623, 8.564",\
                 "0.9542, 1.012, 1.208, 1.572, 2.086, 2.766, 3.712, 5.001, 6.623, 8.564",\
                 "1.118, 1.177, 1.377, 1.746, 2.299, 3.014, 3.906, 5.089, 6.638, 8.563",\
                 "1.303, 1.367, 1.575, 1.949, 2.518, 3.282, 4.211, 5.333, 6.77, 8.596",\
                 "1.506, 1.576, 1.798, 2.187, 2.761, 3.556, 4.544, 5.696, 7.067, 8.774");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1782, 0.1926, 0.2412, 0.3314, 0.4687, 0.6593, 0.9088, 1.222, 1.604, 2.06",\
                 "0.1907, 0.205, 0.2538, 0.3439, 0.4814, 0.672, 0.9215, 1.235, 1.617, 2.073",\
                 "0.2231, 0.2376, 0.2865, 0.3767, 0.5141, 0.7048, 0.9543, 1.268, 1.65, 2.105",\
                 "0.2513, 0.2688, 0.3261, 0.4257, 0.5677, 0.7583, 1.008, 1.321, 1.703, 2.158",\
                 "0.2572, 0.2795, 0.3503, 0.4679, 0.6295, 0.8368, 1.092, 1.404, 1.786, 2.241",\
                 "0.2309, 0.2584, 0.3459, 0.4886, 0.6775, 0.9099, 1.19, 1.52, 1.905, 2.359",\
                 "0.1693, 0.2017, 0.3062, 0.4763, 0.6994, 0.966, 1.276, 1.635, 2.048, 2.516",\
                 "0.0717, 0.1087, 0.2284, 0.4263, 0.686, 0.9932, 1.343, 1.736, 2.18, 2.68",\
                 "-0.064, -0.0213, 0.1142, 0.337, 0.6329, 0.9828, 1.378, 1.815, 2.297, 2.831",\
                 "-0.2386, -0.1918, -0.0412, 0.2078, 0.5372, 0.9306, 1.373, 1.86, 2.389, 2.964");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.3693, 0.4022, 0.5155, 0.7293, 1.059, 1.52, 2.126, 2.888, 3.817, 4.925",\
                 "0.3806, 0.4134, 0.5275, 0.7419, 1.072, 1.533, 2.139, 2.901, 3.831, 4.938",\
                 "0.4176, 0.4506, 0.565, 0.7801, 1.111, 1.573, 2.179, 2.942, 3.872, 4.979",\
                 "0.4996, 0.5328, 0.6446, 0.8559, 1.184, 1.644, 2.249, 3.011, 3.94, 5.047",\
                 "0.6283, 0.6625, 0.7808, 0.9955, 1.317, 1.77, 2.369, 3.127, 4.053, 5.157",\
                 "0.8075, 0.8441, 0.9666, 1.189, 1.522, 1.97, 2.559, 3.307, 4.227, 5.325",\
                 "1.03, 1.071, 1.204, 1.437, 1.78, 2.243, 2.83, 3.568, 4.476, 5.564",\
                 "1.293, 1.339, 1.487, 1.74, 2.096, 2.571, 3.177, 3.916, 4.811, 5.886",\
                 "1.597, 1.648, 1.813, 2.09, 2.47, 2.96, 3.58, 4.34, 5.24, 6.304",\
                 "1.942, 1.998, 2.182, 2.485, 2.898, 3.413, 4.048, 4.823, 5.747, 6.819");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1765, 0.2, 0.2809, 0.4314, 0.6626, 0.9864, 1.411, 1.946, 2.597, 3.374",\
                 "0.1762, 0.2002, 0.2805, 0.4314, 0.6631, 0.9864, 1.41, 1.946, 2.598, 3.374",\
                 "0.1847, 0.2062, 0.2827, 0.4312, 0.6628, 0.9854, 1.411, 1.946, 2.596, 3.374",\
                 "0.243, 0.2643, 0.3372, 0.47, 0.6784, 0.9887, 1.411, 1.946, 2.597, 3.374",\
                 "0.3396, 0.3615, 0.4346, 0.5672, 0.7716, 1.054, 1.439, 1.951, 2.597, 3.374",\
                 "0.4674, 0.4922, 0.5724, 0.7102, 0.9118, 1.193, 1.566, 2.033, 2.635, 3.382",\
                 "0.6214, 0.6496, 0.7406, 0.8924, 1.102, 1.382, 1.75, 2.217, 2.782, 3.477",\
                 "0.801, 0.8338, 0.9356, 1.105, 1.335, 1.625, 1.988, 2.452, 3.02, 3.694",\
                 "1.006, 1.042, 1.158, 1.349, 1.602, 1.908, 2.284, 2.743, 3.305, 3.98",\
                 "1.232, 1.274, 1.407, 1.618, 1.895, 2.231, 2.629, 3.097, 3.655, 4.327");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.5815, 0.6389, 0.838, 1.213, 1.791, 2.598, 3.659, 4.994, 6.623, 8.557",\
                 "0.5816, 0.6387, 0.838, 1.213, 1.791, 2.598, 3.659, 4.993, 6.622, 8.561",\
                 "0.5816, 0.6387, 0.838, 1.213, 1.791, 2.598, 3.659, 4.994, 6.624, 8.565",\
                 "0.614, 0.6655, 0.8498, 1.214, 1.791, 2.599, 3.659, 4.995, 6.621, 8.559",\
                 "0.695, 0.746, 0.9236, 1.259, 1.803, 2.599, 3.659, 4.995, 6.623, 8.564",\
                 "0.7992, 0.849, 1.025, 1.364, 1.882, 2.633, 3.662, 4.995, 6.624, 8.564",\
                 "0.9412, 0.9892, 1.159, 1.492, 2.018, 2.744, 3.725, 5.007, 6.623, 8.565",\
                 "1.111, 1.161, 1.335, 1.657, 2.175, 2.913, 3.868, 5.099, 6.655, 8.567",\
                 "1.298, 1.354, 1.538, 1.868, 2.372, 3.1, 4.071, 5.278, 6.778, 8.62",\
                 "1.505, 1.564, 1.763, 2.113, 2.621, 3.331, 4.297, 5.518, 6.99, 8.774");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1469, 0.1609, 0.2085, 0.2972, 0.4333, 0.6231, 0.872, 1.185, 1.568, 2.023",\
                 "0.1593, 0.1732, 0.221, 0.3097, 0.4459, 0.6356, 0.8847, 1.198, 1.58, 2.036",\
                 "0.1888, 0.2038, 0.2532, 0.3422, 0.4785, 0.6684, 0.9176, 1.231, 1.613, 2.068",\
                 "0.2061, 0.2251, 0.2855, 0.3876, 0.5314, 0.7218, 0.9706, 1.284, 1.666, 2.121",\
                 "0.1963, 0.2209, 0.2983, 0.4224, 0.5879, 0.7978, 1.054, 1.367, 1.749, 2.203",\
                 "0.1527, 0.1834, 0.2803, 0.4328, 0.6291, 0.8663, 1.149, 1.482, 1.867, 2.321",\
                 "0.0752, 0.1114, 0.2264, 0.409, 0.6421, 0.9164, 1.231, 1.593, 2.008, 2.478",\
                 "-0.0375, 0.0047, 0.1364, 0.3478, 0.6194, 0.9355, 1.292, 1.69, 2.137, 2.639",\
                 "-0.1866, -0.1397, 0.009, 0.2476, 0.5562, 0.9174, 1.321, 1.764, 2.25, 2.788",\
                 "-0.3748, -0.3231, -0.158, 0.1077, 0.4512, 0.8568, 1.31, 1.804, 2.338, 2.917");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.3614, 0.3943, 0.5078, 0.7213, 1.051, 1.511, 2.116, 2.874, 3.804, 4.907",\
                 "0.3723, 0.4056, 0.5197, 0.7337, 1.064, 1.524, 2.129, 2.889, 3.818, 4.921",\
                 "0.4095, 0.4427, 0.5573, 0.7718, 1.102, 1.563, 2.168, 2.928, 3.857, 4.966",\
                 "0.4906, 0.5244, 0.6367, 0.8474, 1.175, 1.634, 2.238, 2.997, 3.925, 5.03",\
                 "0.6182, 0.6529, 0.7714, 0.987, 1.308, 1.76, 2.358, 3.114, 4.039, 5.143",\
                 "0.7961, 0.8331, 0.9568, 1.18, 1.512, 1.959, 2.547, 3.293, 4.211, 5.31",\
                 "1.017, 1.058, 1.193, 1.427, 1.769, 2.232, 2.818, 3.553, 4.459, 5.548",\
                 "1.277, 1.323, 1.474, 1.727, 2.084, 2.558, 3.163, 3.901, 4.794, 5.869",\
                 "1.577, 1.629, 1.796, 2.076, 2.457, 2.946, 3.565, 4.325, 5.224, 6.285",\
                 "1.917, 1.976, 2.161, 2.469, 2.882, 3.398, 4.032, 4.806, 5.729, 6.8");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1411, 0.1643, 0.2434, 0.3924, 0.6223, 0.9464, 1.37, 1.906, 2.557, 3.335",\
                 "0.141, 0.1639, 0.2433, 0.3922, 0.6232, 0.9454, 1.371, 1.905, 2.557, 3.335",\
                 "0.1582, 0.1781, 0.2491, 0.3927, 0.6226, 0.9455, 1.371, 1.906, 2.557, 3.334",\
                 "0.2217, 0.2413, 0.3103, 0.4407, 0.6444, 0.9505, 1.371, 1.905, 2.557, 3.335",\
                 "0.3231, 0.3441, 0.4141, 0.5428, 0.742, 1.023, 1.404, 1.912, 2.557, 3.335",\
                 "0.4542, 0.478, 0.5562, 0.691, 0.8872, 1.165, 1.536, 2.001, 2.599, 3.345",\
                 "0.6118, 0.6388, 0.7266, 0.8736, 1.083, 1.358, 1.723, 2.186, 2.751, 3.444",\
                 "0.795, 0.8252, 0.9234, 1.09, 1.315, 1.601, 1.964, 2.423, 2.989, 3.666",\
                 "0.9976, 1.036, 1.15, 1.333, 1.582, 1.89, 2.263, 2.718, 3.278, 3.95",\
                 "1.22, 1.262, 1.398, 1.605, 1.878, 2.212, 2.609, 3.076, 3.63, 4.298");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.4588, 0.5154, 0.7129, 1.086, 1.662, 2.47, 3.53, 4.865, 6.495, 8.428",\
                 "0.4597, 0.5162, 0.7133, 1.085, 1.663, 2.469, 3.531, 4.866, 6.493, 8.429",\
                 "0.4591, 0.5153, 0.7125, 1.085, 1.661, 2.469, 3.531, 4.863, 6.495, 8.439",\
                 "0.4905, 0.5415, 0.7237, 1.085, 1.662, 2.469, 3.53, 4.866, 6.492, 8.429",\
                 "0.5582, 0.6122, 0.795, 1.13, 1.672, 2.468, 3.529, 4.866, 6.497, 8.439",\
                 "0.6494, 0.7024, 0.885, 1.229, 1.752, 2.501, 3.532, 4.864, 6.494, 8.439",\
                 "0.7706, 0.826, 1.008, 1.348, 1.881, 2.613, 3.593, 4.876, 6.492, 8.435",\
                 "0.9126, 0.9724, 1.167, 1.505, 2.031, 2.774, 3.738, 4.967, 6.522, 8.437",\
                 "1.071, 1.137, 1.348, 1.703, 2.221, 2.957, 3.936, 5.147, 6.644, 8.49",\
                 "1.244, 1.319, 1.551, 1.931, 2.461, 3.182, 4.155, 5.383, 6.86, 8.644");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1208, 0.1316, 0.1679, 0.2351, 0.3378, 0.4808, 0.6681, 0.9041, 1.192, 1.534",\
                 "0.1343, 0.145, 0.1813, 0.2485, 0.3511, 0.4942, 0.6818, 0.9174, 1.205, 1.548",\
                 "0.1719, 0.1847, 0.2248, 0.2932, 0.3961, 0.5392, 0.7267, 0.9628, 1.25, 1.593",\
                 "0.1937, 0.2115, 0.2676, 0.3581, 0.4772, 0.6246, 0.8123, 1.048, 1.336, 1.678",\
                 "0.1855, 0.2093, 0.2835, 0.4011, 0.5529, 0.7341, 0.9428, 1.182, 1.47, 1.812",\
                 "0.1435, 0.1734, 0.2662, 0.4133, 0.6009, 0.8212, 1.071, 1.349, 1.657, 2.002",\
                 "0.0679, 0.1026, 0.2124, 0.3895, 0.6153, 0.878, 1.172, 1.496, 1.851, 2.235",\
                 "-0.0431, -0.0033, 0.1231, 0.3275, 0.5913, 0.8983, 1.24, 1.613, 2.017, 2.453",\
                 "-0.1912, -0.1466, -0.0047, 0.2261, 0.5266, 0.8783, 1.269, 1.695, 2.151, 2.64",\
                 "-0.3793, -0.3299, -0.1733, 0.0841, 0.4187, 0.8144, 1.256, 1.734, 2.247, 2.792");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.4025, 0.4348, 0.5471, 0.759, 1.088, 1.547, 2.151, 2.91, 3.836, 4.946",\
                 "0.4139, 0.4464, 0.5593, 0.7723, 1.101, 1.561, 2.165, 2.924, 3.857, 4.96",\
                 "0.4507, 0.4833, 0.5964, 0.8102, 1.139, 1.6, 2.205, 2.966, 3.893, 4.999",\
                 "0.5336, 0.5654, 0.676, 0.8859, 1.213, 1.672, 2.274, 3.036, 3.962, 5.067",\
                 "0.6644, 0.6983, 0.8148, 1.027, 1.347, 1.798, 2.396, 3.151, 4.076, 5.178",\
                 "0.8476, 0.8831, 1.004, 1.225, 1.555, 2.001, 2.588, 3.334, 4.251, 5.35",\
                 "1.077, 1.116, 1.246, 1.476, 1.817, 2.278, 2.863, 3.597, 4.504, 5.591",\
                 "1.347, 1.391, 1.536, 1.783, 2.138, 2.611, 3.215, 3.952, 4.844, 5.918",\
                 "1.659, 1.708, 1.868, 2.14, 2.517, 3.005, 3.624, 4.382, 5.28, 6.341",\
                 "2.012, 2.066, 2.244, 2.543, 2.951, 3.464, 4.098, 4.874, 5.795, 6.863");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.122, 0.1392, 0.1988, 0.3115, 0.4852, 0.7285, 1.048, 1.451, 1.941, 2.526",\
                 "0.122, 0.1391, 0.199, 0.3114, 0.4849, 0.728, 1.049, 1.449, 1.942, 2.526",\
                 "0.156, 0.1688, 0.2148, 0.3149, 0.4852, 0.7282, 1.048, 1.451, 1.942, 2.526",\
                 "0.245, 0.2598, 0.3099, 0.4009, 0.5349, 0.7439, 1.049, 1.451, 1.941, 2.525",\
                 "0.363, 0.3798, 0.436, 0.5376, 0.6848, 0.8776, 1.128, 1.477, 1.943, 2.525",\
                 "0.5082, 0.5282, 0.591, 0.7052, 0.8656, 1.078, 1.339, 1.651, 2.047, 2.566",\
                 "0.6804, 0.702, 0.7744, 0.902, 1.082, 1.309, 1.591, 1.927, 2.316, 2.771",\
                 "0.8774, 0.9024, 0.983, 1.127, 1.328, 1.579, 1.879, 2.238, 2.651, 3.124",\
                 "1.094, 1.125, 1.22, 1.381, 1.605, 1.883, 2.208, 2.585, 3.026, 3.523",\
                 "1.331, 1.365, 1.478, 1.662, 1.911, 2.216, 2.574, 2.978, 3.44, 3.962");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.5082, 0.565, 0.7626, 1.135, 1.712, 2.518, 3.58, 4.911, 6.54, 8.487",\
                 "0.5084, 0.5649, 0.7616, 1.134, 1.713, 2.517, 3.577, 4.911, 6.548, 8.487",\
                 "0.5079, 0.5645, 0.7618, 1.135, 1.711, 2.518, 3.578, 4.913, 6.541, 8.484",\
                 "0.5329, 0.5847, 0.7702, 1.135, 1.71, 2.519, 3.578, 4.916, 6.541, 8.481",\
                 "0.6012, 0.654, 0.8364, 1.174, 1.719, 2.517, 3.579, 4.914, 6.545, 8.485",\
                 "0.6844, 0.7376, 0.9236, 1.27, 1.794, 2.547, 3.581, 4.914, 6.544, 8.488",\
                 "0.8038, 0.8572, 1.039, 1.384, 1.92, 2.653, 3.637, 4.923, 6.543, 8.485",\
                 "0.946, 1.004, 1.193, 1.532, 2.063, 2.813, 3.777, 5.01, 6.569, 8.486",\
                 "1.104, 1.166, 1.372, 1.724, 2.245, 2.989, 3.97, 5.183, 6.685, 8.534",\
                 "1.279, 1.35, 1.571, 1.949, 2.475, 3.204, 4.181, 5.415, 6.894, 8.683");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1782, 0.1926, 0.2412, 0.3314, 0.4687, 0.6593, 0.9088, 1.222, 1.604, 2.06",\
                 "0.1907, 0.205, 0.2538, 0.3439, 0.4814, 0.672, 0.9215, 1.235, 1.617, 2.073",\
                 "0.2231, 0.2376, 0.2865, 0.3767, 0.5141, 0.7048, 0.9543, 1.268, 1.65, 2.105",\
                 "0.2513, 0.2688, 0.3261, 0.4257, 0.5677, 0.7583, 1.008, 1.321, 1.703, 2.158",\
                 "0.2572, 0.2795, 0.3503, 0.4679, 0.6295, 0.8368, 1.092, 1.404, 1.786, 2.241",\
                 "0.2309, 0.2584, 0.3459, 0.4886, 0.6775, 0.9099, 1.19, 1.52, 1.905, 2.359",\
                 "0.1693, 0.2017, 0.3062, 0.4763, 0.6994, 0.966, 1.276, 1.635, 2.048, 2.516",\
                 "0.0717, 0.1087, 0.2284, 0.4263, 0.686, 0.9932, 1.343, 1.736, 2.18, 2.68",\
                 "-0.064, -0.0213, 0.1142, 0.337, 0.6329, 0.9828, 1.378, 1.815, 2.297, 2.831",\
                 "-0.2386, -0.1918, -0.0412, 0.2078, 0.5372, 0.9306, 1.373, 1.86, 2.389, 2.964");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.4025, 0.4348, 0.5471, 0.759, 1.088, 1.547, 2.151, 2.91, 3.836, 4.946",\
                 "0.4139, 0.4464, 0.5593, 0.7723, 1.101, 1.561, 2.165, 2.924, 3.857, 4.96",\
                 "0.4507, 0.4833, 0.5964, 0.8102, 1.139, 1.6, 2.205, 2.966, 3.893, 4.999",\
                 "0.5336, 0.5654, 0.676, 0.8859, 1.213, 1.672, 2.274, 3.036, 3.962, 5.067",\
                 "0.6644, 0.6983, 0.8148, 1.027, 1.347, 1.798, 2.396, 3.151, 4.076, 5.178",\
                 "0.8476, 0.8831, 1.004, 1.225, 1.555, 2.001, 2.588, 3.334, 4.251, 5.35",\
                 "1.077, 1.116, 1.246, 1.476, 1.817, 2.278, 2.863, 3.597, 4.504, 5.591",\
                 "1.347, 1.391, 1.536, 1.783, 2.138, 2.611, 3.215, 3.952, 4.844, 5.918",\
                 "1.659, 1.708, 1.868, 2.14, 2.517, 3.005, 3.624, 4.382, 5.28, 6.341",\
                 "2.012, 2.066, 2.244, 2.543, 2.951, 3.464, 4.098, 4.874, 5.795, 6.863");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.1765, 0.2, 0.2809, 0.4314, 0.6626, 0.9864, 1.411, 1.946, 2.597, 3.374",\
                 "0.1762, 0.2002, 0.2805, 0.4314, 0.6631, 0.9864, 1.41, 1.946, 2.598, 3.374",\
                 "0.1847, 0.2062, 0.2827, 0.4312, 0.6628, 0.9854, 1.411, 1.946, 2.596, 3.374",\
                 "0.243, 0.2643, 0.3372, 0.47, 0.6784, 0.9887, 1.411, 1.946, 2.597, 3.374",\
                 "0.3396, 0.3615, 0.4346, 0.5672, 0.7716, 1.054, 1.439, 1.951, 2.597, 3.374",\
                 "0.4674, 0.4922, 0.5724, 0.7102, 0.9118, 1.193, 1.566, 2.033, 2.635, 3.382",\
                 "0.6214, 0.6496, 0.7406, 0.8924, 1.102, 1.382, 1.75, 2.217, 2.782, 3.477",\
                 "0.801, 0.8338, 0.9356, 1.105, 1.335, 1.625, 1.988, 2.452, 3.02, 3.694",\
                 "1.006, 1.042, 1.158, 1.349, 1.602, 1.908, 2.284, 2.743, 3.305, 3.98",\
                 "1.232, 1.274, 1.407, 1.618, 1.895, 2.231, 2.629, 3.097, 3.655, 4.327");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003195, 0.0109, 0.02562, 0.04854, 0.08071, 0.123, 0.1764, 0.2415, 0.3191");
          values("0.5815, 0.6389, 0.838, 1.213, 1.791, 2.598, 3.659, 4.994, 6.623, 8.557",\
                 "0.5816, 0.6387, 0.838, 1.213, 1.791, 2.598, 3.659, 4.993, 6.622, 8.561",\
                 "0.5816, 0.6387, 0.838, 1.213, 1.791, 2.598, 3.659, 4.994, 6.624, 8.565",\
                 "0.614, 0.6655, 0.8498, 1.214, 1.791, 2.599, 3.659, 4.995, 6.621, 8.559",\
                 "0.695, 0.746, 0.9236, 1.259, 1.803, 2.599, 3.659, 4.995, 6.623, 8.564",\
                 "0.7992, 0.849, 1.025, 1.364, 1.882, 2.633, 3.662, 4.995, 6.624, 8.564",\
                 "0.9412, 0.9892, 1.159, 1.492, 2.018, 2.744, 3.725, 5.007, 6.623, 8.565",\
                 "1.111, 1.161, 1.335, 1.657, 2.175, 2.913, 3.868, 5.099, 6.655, 8.567",\
                 "1.298, 1.354, 1.538, 1.868, 2.372, 3.1, 4.071, 5.278, 6.778, 8.62",\
                 "1.505, 1.564, 1.763, 2.113, 2.621, 3.331, 4.297, 5.518, 6.99, 8.774");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai22_4) {
    area : 76.832000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2" ;
      value : "0.000109758" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2" ;
      value : "0.000239448" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2" ;
      value : "0.0002288715" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2" ;
      value : "0.0001713294" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2" ;
      value : "0.0001713294" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2" ;
      value : "0.0002394513" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2" ;
      value : "0.0001713294" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2" ;
      value : "0.0002404644" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2" ;
      value : "0.0001713294" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002404644" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01821 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06689, 0.06687, 0.06676, 0.06655, 0.06645, 0.06653, 0.06653, \
                 0.06656, 0.06652, 0.06651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04672, 0.04677, 0.04677, 0.04668, 0.04647, 0.04621, 0.04606, \
                 0.04584, 0.04562, 0.04532");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06675, 0.06681, 0.06688, 0.06675, 0.06664, 0.0666, 0.06653, \
                 0.06646, 0.06641, 0.06633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0641, -0.06415, -0.06435, -0.0649, -0.06516, -0.06547, -0.06561, \
                 -0.06568, -0.0657, -0.06575");
        }
      }

      internal_power() {
        when : "A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04945, 0.04942, 0.0494, 0.04928, 0.04927, 0.0493, 0.04926, 0.04923, \
                 0.04914, 0.04903");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01916, -0.01914, -0.0192, -0.01922, -0.01921, -0.01926, -0.01928, \
                 -0.01927, -0.01927, -0.01926");
        }
      }

      internal_power() {
        when : "A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04945, 0.04942, 0.04936, 0.04929, 0.04927, 0.04931, 0.04926, \
                 0.04923, 0.04913, 0.04904");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01916, -0.01914, -0.01917, -0.01921, -0.01921, -0.01927, -0.01926, \
                 -0.01927, -0.01929, -0.01927");
        }
      }

      internal_power() {
        when : "A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04944, 0.04939, 0.04935, 0.0493, 0.04929, 0.04933, 0.04927, \
                 0.04922, 0.04913, 0.04903");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01915, -0.01913, -0.0192, -0.01923, -0.01921, -0.0193, -0.01928, \
                 -0.01927, -0.01928, -0.01926");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01815 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06658, 0.06663, 0.06658, 0.06647, 0.06646, 0.06658, 0.06646, \
                 0.06653, 0.06654, 0.06648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04727, 0.04716, 0.04688, 0.04677, 0.0467, 0.0463, 0.04613, 0.0459, \
                 0.04565, 0.0453");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06673, 0.06662, 0.06666, 0.06667, 0.06648, 0.06664, 0.06656, \
                 0.06646, 0.06641, 0.06634");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06353, -0.06354, -0.06435, -0.06497, -0.0651, -0.06545, -0.06556, \
                 -0.06561, -0.06568, -0.06572");
        }
      }

      internal_power() {
        when : "A1&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05843, 0.05826, 0.05819, 0.05834, 0.05829, 0.05849, 0.05846, \
                 0.05843, 0.05839, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04902, -0.05303, -0.05608, -0.05671, -0.05693, -0.0573, -0.05739, \
                 -0.0575, -0.05756, -0.05761");
        }
      }

      internal_power() {
        when : "A1&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05843, 0.05826, 0.05819, 0.05838, 0.05823, 0.05849, 0.05844, \
                 0.05839, 0.05838, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04902, -0.053, -0.05607, -0.05671, -0.05693, -0.05729, -0.05737, \
                 -0.05751, -0.05756, -0.05762");
        }
      }

      internal_power() {
        when : "A1&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05842, 0.05827, 0.05814, 0.05829, 0.05826, 0.05839, 0.05844, \
                 0.05843, 0.05841, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04901, -0.05303, -0.05605, -0.05671, -0.05699, -0.05726, -0.05741, \
                 -0.05751, -0.05755, -0.05759");
        }
      }
    }

    pin(B1) {
      capacitance : 0.01795 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06094, 0.05883, 0.05869, 0.05849, 0.05841, 0.05847, 0.05843, \
                 0.05845, 0.05848, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05873, -0.05869, -0.05857, -0.05842, -0.05833, -0.05837, -0.05837, \
                 -0.05834, -0.05828, -0.05829");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05859, 0.0586, 0.0587, 0.05858, 0.05846, 0.05845, 0.05843, 0.05843, \
                 0.05841, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05596, -0.05606, -0.05622, -0.05671, -0.05702, -0.05734, -0.05748, \
                 -0.05755, -0.05757, -0.05765");
        }
      }

      internal_power() {
        when : "!A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04641, 0.04633, 0.04631, 0.04625, 0.04621, 0.04628, 0.04624, \
                 0.04618, 0.04609, 0.046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01906, -0.01903, -0.0191, -0.0191, -0.0191, -0.01917, -0.01916, \
                 -0.01915, -0.01913, -0.01913");
        }
      }

      internal_power() {
        when : "A1&!A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04641, 0.04634, 0.04631, 0.04625, 0.04621, 0.04627, 0.04625, \
                 0.04617, 0.04609, 0.046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01906, -0.01903, -0.01908, -0.01908, -0.0191, -0.01916, -0.01916, \
                 -0.01915, -0.01915, -0.01915");
        }
      }

      internal_power() {
        when : "A1&A2&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04642, 0.04637, 0.04629, 0.04627, 0.04622, 0.04628, 0.04623, \
                 0.04616, 0.04611, 0.04602");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01905, -0.01907, -0.01907, -0.01911, -0.01909, -0.01916, -0.01914, \
                 -0.01913, -0.01916, -0.01914");
        }
      }
    }

    pin(B2) {
      capacitance : 0.01773 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06068, 0.05853, 0.05851, 0.05848, 0.05836, 0.05848, 0.05846, \
                 0.05841, 0.05843, 0.05846");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05824, -0.05837, -0.05841, -0.05823, -0.05815, -0.05839, -0.05834, \
                 -0.05831, -0.05829, -0.05831");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05839, 0.05828, 0.05827, 0.05833, 0.05838, 0.05834, 0.05843, \
                 0.05843, 0.05839, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05534, -0.05526, -0.05612, -0.05663, -0.05696, -0.05725, -0.05735, \
                 -0.05749, -0.05756, -0.05765");
        }
      }

      internal_power() {
        when : "!A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05824, 0.05816, 0.05841, 0.05831, 0.0584, 0.05849, \
                 0.05837, 0.05839, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04869, -0.05271, -0.05604, -0.05663, -0.0569, -0.0573, -0.05735, \
                 -0.0575, -0.05757, -0.05759");
        }
      }

      internal_power() {
        when : "A1&!A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05828, 0.05823, 0.05831, 0.05838, 0.05844, 0.05848, \
                 0.05835, 0.0584, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04869, -0.05271, -0.05613, -0.05669, -0.05691, -0.05733, -0.05735, \
                 -0.05747, -0.05757, -0.05761");
        }
      }

      internal_power() {
        when : "A1&A2&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05824, 0.05834, 0.05836, 0.05827, 0.05847, 0.05843, \
                 0.05839, 0.0584, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04868, -0.05271, -0.05601, -0.05661, -0.05688, -0.05733, -0.05735, \
                 -0.05751, -0.05751, -0.05759");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|((!B1)&(!B2)))" ;
      max_capacitance : 0.6369 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.05495, 0.05499, 0.0555, 0.05586, 0.05615, 0.05626, 0.05635, 0.05639, 0.05645, 0.05643",\
                 "0.05576, 0.05602, 0.05683, 0.05775, 0.0583, 0.05871, 0.05893, 0.05905, 0.05919, 0.05925",\
                 "0.05948, 0.05968, 0.05998, 0.06037, 0.06082, 0.06103, 0.06123, 0.06136, 0.06143, 0.06145",\
                 "0.07479, 0.074, 0.07225, 0.07008, 0.06845, 0.06711, 0.06601, 0.06514, 0.06453, 0.06405",\
                 "0.1093, 0.1074, 0.1016, 0.09498, 0.08887, 0.08369, 0.07958, 0.0762, 0.07362, 0.07157",\
                 "0.1672, 0.1637, 0.1538, 0.1406, 0.1279, 0.1167, 0.1074, 0.09977, 0.09339, 0.08834",\
                 "0.2505, 0.2457, 0.2311, 0.2109, 0.1896, 0.1704, 0.1541, 0.14, 0.1282, 0.1186",\
                 "0.3608, 0.3546, 0.3359, 0.3084, 0.278, 0.2491, 0.2235, 0.2016, 0.1825, 0.1663",\
                 "0.4991, 0.4918, 0.4693, 0.435, 0.3954, 0.3558, 0.3195, 0.2876, 0.2598, 0.2354",\
                 "0.667, 0.6587, 0.6325, 0.592, 0.5432, 0.4929, 0.4447, 0.4013, 0.3632, 0.3292");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.2769, 0.278, 0.2803, 0.282, 0.2838, 0.2851, 0.2867, 0.2882, 0.2904, 0.2968",\
                 "0.272, 0.2735, 0.2771, 0.2806, 0.2838, 0.286, 0.2881, 0.2902, 0.2924, 0.2992",\
                 "0.275, 0.275, 0.2761, 0.2783, 0.2813, 0.2845, 0.287, 0.2895, 0.2924, 0.2997",\
                 "0.2998, 0.2981, 0.2941, 0.2904, 0.289, 0.2892, 0.29, 0.2915, 0.2937, 0.3013",\
                 "0.3475, 0.3444, 0.336, 0.3252, 0.3159, 0.3097, 0.306, 0.3034, 0.3033, 0.3092",\
                 "0.4204, 0.4156, 0.4026, 0.3859, 0.3684, 0.3535, 0.3413, 0.3327, 0.326, 0.3318",\
                 "0.5203, 0.5142, 0.4964, 0.4727, 0.4479, 0.4242, 0.4027, 0.3851, 0.3719, 0.373",\
                 "0.6493, 0.6419, 0.62, 0.5892, 0.5556, 0.5235, 0.4925, 0.4647, 0.4421, 0.4418",\
                 "0.8098, 0.801, 0.7749, 0.7372, 0.6948, 0.653, 0.6129, 0.576, 0.5439, 0.5483",\
                 "1.003, 0.9933, 0.9632, 0.9186, 0.8676, 0.816, 0.765, 0.7178, 0.6819, 0.7047");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.01224, 0.01263, 0.01333, 0.01372, 0.01395, 0.01411, 0.01418, 0.01421, 0.01425, 0.01428",\
                 "0.0121, 0.01283, 0.01419, 0.01534, 0.01604, 0.01645, 0.01672, 0.01685, 0.01697, 0.01703",\
                 "0.0162, 0.01653, 0.01724, 0.01794, 0.01844, 0.01878, 0.01895, 0.01913, 0.01922, 0.01926",\
                 "0.0345, 0.03345, 0.03086, 0.02852, 0.02658, 0.02501, 0.02385, 0.02302, 0.0224, 0.02199",\
                 "0.07371, 0.07076, 0.06336, 0.05526, 0.04808, 0.04238, 0.03796, 0.03438, 0.03167, 0.02956",\
                 "0.1364, 0.1319, 0.1192, 0.1033, 0.08884, 0.07654, 0.06641, 0.05835, 0.05185, 0.04661",\
                 "0.2243, 0.2181, 0.2004, 0.1765, 0.1527, 0.1317, 0.1141, 0.09947, 0.08727, 0.07715",\
                 "0.3383, 0.3309, 0.3086, 0.2772, 0.2434, 0.2122, 0.1852, 0.1619, 0.1422, 0.1255",\
                 "0.48, 0.4716, 0.4454, 0.4066, 0.3634, 0.3209, 0.2824, 0.2493, 0.2202, 0.1953",\
                 "0.6508, 0.6413, 0.6117, 0.5665, 0.5138, 0.4601, 0.4092, 0.3641, 0.3246, 0.2897");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.235, 0.2362, 0.2383, 0.2401, 0.2417, 0.243, 0.2447, 0.2453, 0.2472, 0.2529",\
                 "0.2302, 0.2317, 0.2351, 0.2386, 0.2417, 0.2441, 0.2464, 0.2473, 0.2508, 0.255",\
                 "0.2333, 0.2333, 0.2342, 0.2362, 0.2393, 0.2421, 0.2443, 0.247, 0.2492, 0.2571",\
                 "0.258, 0.2564, 0.2522, 0.2483, 0.2465, 0.2465, 0.2476, 0.2483, 0.2505, 0.2591",\
                 "0.306, 0.3026, 0.2943, 0.2836, 0.2742, 0.2671, 0.2631, 0.2612, 0.2607, 0.2662",\
                 "0.3793, 0.3743, 0.361, 0.3437, 0.3268, 0.3109, 0.2986, 0.2899, 0.2832, 0.2866",\
                 "0.4802, 0.4738, 0.4552, 0.4307, 0.406, 0.3822, 0.3598, 0.3419, 0.3283, 0.329",\
                 "0.6106, 0.6025, 0.5795, 0.5475, 0.5134, 0.4814, 0.4507, 0.4218, 0.3989, 0.397",\
                 "0.7722, 0.7629, 0.7351, 0.696, 0.6535, 0.6109, 0.5711, 0.5332, 0.5004, 0.5006",\
                 "0.9664, 0.956, 0.9246, 0.8783, 0.8257, 0.7737, 0.7226, 0.6755, 0.6382, 0.6562");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.01219, 0.01261, 0.0133, 0.01371, 0.01391, 0.01407, 0.01412, 0.0142, 0.01421, 0.01428",\
                 "0.01229, 0.01293, 0.01429, 0.01539, 0.01606, 0.01646, 0.01667, 0.01686, 0.01698, 0.01702",\
                 "0.01703, 0.01729, 0.01789, 0.01837, 0.01881, 0.01901, 0.01914, 0.01927, 0.01932, 0.01936",\
                 "0.03648, 0.03536, 0.03269, 0.03001, 0.02789, 0.02609, 0.02467, 0.02374, 0.02295, 0.0224",\
                 "0.07732, 0.07447, 0.06692, 0.0583, 0.05096, 0.04494, 0.04014, 0.03619, 0.03329, 0.03096",\
                 "0.1424, 0.1377, 0.125, 0.1089, 0.09394, 0.08113, 0.07066, 0.06214, 0.0553, 0.04964",\
                 "0.233, 0.2268, 0.2092, 0.1853, 0.1611, 0.1395, 0.1214, 0.1061, 0.09335, 0.08267",\
                 "0.3507, 0.3434, 0.3211, 0.2896, 0.2556, 0.224, 0.1961, 0.1723, 0.1519, 0.1345",\
                 "0.4969, 0.4884, 0.4623, 0.4235, 0.3802, 0.3375, 0.2982, 0.2641, 0.2343, 0.2085",\
                 "0.6732, 0.6636, 0.634, 0.5888, 0.536, 0.4821, 0.4311, 0.3848, 0.3446, 0.3087");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.2342, 0.2353, 0.2375, 0.2392, 0.2408, 0.2418, 0.2435, 0.245, 0.2465, 0.2519",\
                 "0.2281, 0.2295, 0.2328, 0.2363, 0.2393, 0.2414, 0.2433, 0.2463, 0.2489, 0.2524",\
                 "0.2324, 0.2321, 0.2324, 0.2338, 0.2366, 0.2392, 0.2415, 0.2437, 0.2472, 0.2538",\
                 "0.2595, 0.2576, 0.2531, 0.2482, 0.2456, 0.2448, 0.2454, 0.246, 0.2475, 0.2545",\
                 "0.3097, 0.3065, 0.2978, 0.2866, 0.2761, 0.2681, 0.2632, 0.2602, 0.2591, 0.2628",\
                 "0.3861, 0.3813, 0.3678, 0.3505, 0.3329, 0.316, 0.3025, 0.2915, 0.2855, 0.2886",\
                 "0.4907, 0.4842, 0.4658, 0.4418, 0.4169, 0.393, 0.369, 0.3498, 0.3346, 0.3339",\
                 "0.6261, 0.6178, 0.5946, 0.5632, 0.5299, 0.4976, 0.4659, 0.4353, 0.4118, 0.4073",\
                 "0.7934, 0.784, 0.7562, 0.7175, 0.6749, 0.633, 0.5931, 0.5547, 0.5202, 0.5182",\
                 "0.9953, 0.9845, 0.9524, 0.9061, 0.8547, 0.8028, 0.7523, 0.7048, 0.6669, 0.6833");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.09748, 0.09743, 0.09744, 0.09749, 0.09755, 0.09763, 0.09766, 0.09766, 0.09768, 0.09766",\
                 "0.09438, 0.09437, 0.0943, 0.09442, 0.09451, 0.09461, 0.09469, 0.0947, 0.09469, 0.09468",\
                 "0.09463, 0.09448, 0.09411, 0.09354, 0.09323, 0.093, 0.09285, 0.09279, 0.09268, 0.09267",\
                 "0.1099, 0.1089, 0.1062, 0.1032, 0.1006, 0.09834, 0.09679, 0.09556, 0.09476, 0.09415",\
                 "0.1481, 0.1458, 0.1394, 0.131, 0.1231, 0.1163, 0.1113, 0.107, 0.104, 0.1016",\
                 "0.2138, 0.21, 0.1988, 0.1834, 0.1675, 0.1535, 0.1419, 0.1328, 0.1253, 0.1193",\
                 "0.3094, 0.3042, 0.2879, 0.2645, 0.2392, 0.2154, 0.1949, 0.1779, 0.1637, 0.1523",\
                 "0.4372, 0.4306, 0.4096, 0.378, 0.3422, 0.307, 0.2754, 0.248, 0.2245, 0.2053",\
                 "0.5986, 0.5907, 0.5656, 0.526, 0.4793, 0.4319, 0.3874, 0.3477, 0.313, 0.2832",\
                 "0.7942, 0.7854, 0.7564, 0.7096, 0.6529, 0.5924, 0.5343, 0.4807, 0.4328, 0.3908");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3198, 0.3209, 0.3227, 0.3242, 0.3258, 0.3273, 0.3285, 0.3301, 0.332, 0.3388",\
                 "0.3137, 0.3153, 0.3191, 0.3227, 0.3258, 0.328, 0.33, 0.3321, 0.3343, 0.3412",\
                 "0.3093, 0.3101, 0.3125, 0.3166, 0.3211, 0.3247, 0.3278, 0.3308, 0.334, 0.3413",\
                 "0.3276, 0.3266, 0.3244, 0.3231, 0.3242, 0.3259, 0.3286, 0.3305, 0.3337, 0.3413",\
                 "0.377, 0.3738, 0.3657, 0.3565, 0.3494, 0.3447, 0.3421, 0.341, 0.3419, 0.3491",\
                 "0.4594, 0.4545, 0.4401, 0.422, 0.4052, 0.3906, 0.3803, 0.3719, 0.3666, 0.3714",\
                 "0.5749, 0.5684, 0.5488, 0.5215, 0.4939, 0.4687, 0.4471, 0.4294, 0.4161, 0.4167",\
                 "0.7253, 0.7171, 0.6926, 0.6573, 0.6185, 0.5819, 0.549, 0.5194, 0.4962, 0.4916",\
                 "0.9115, 0.9023, 0.8737, 0.8306, 0.7808, 0.7319, 0.6867, 0.6447, 0.6106, 0.606",\
                 "1.136, 1.125, 1.093, 1.043, 0.983, 0.9214, 0.8629, 0.8098, 0.766, 0.7705");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.05523, 0.05525, 0.05529, 0.05534, 0.05539, 0.05546, 0.05548, 0.05548, 0.0555, 0.05549",\
                 "0.05188, 0.05195, 0.05207, 0.05223, 0.05232, 0.0524, 0.05245, 0.05248, 0.05249, 0.05247",\
                 "0.05268, 0.0525, 0.05203, 0.05146, 0.05109, 0.05083, 0.05067, 0.05059, 0.05051, 0.05047",\
                 "0.07089, 0.06944, 0.06586, 0.06202, 0.05889, 0.05648, 0.05474, 0.05349, 0.05264, 0.05196",\
                 "0.1137, 0.1105, 0.1021, 0.0918, 0.08254, 0.07526, 0.06968, 0.06538, 0.06214, 0.05962",\
                 "0.1845, 0.1796, 0.1655, 0.1471, 0.1292, 0.1138, 0.1014, 0.09155, 0.08375, 0.07763",\
                 "0.2853, 0.2787, 0.2591, 0.2318, 0.2035, 0.1775, 0.1555, 0.1375, 0.1228, 0.111",\
                 "0.4175, 0.4094, 0.3849, 0.349, 0.3092, 0.2712, 0.2377, 0.2089, 0.1848, 0.1648",\
                 "0.5824, 0.5732, 0.5444, 0.5005, 0.4494, 0.3985, 0.3516, 0.3099, 0.2742, 0.2437",\
                 "0.7816, 0.7714, 0.7388, 0.6874, 0.6257, 0.5617, 0.5005, 0.4448, 0.395, 0.3519");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.278, 0.279, 0.2807, 0.282, 0.2834, 0.2845, 0.2861, 0.2869, 0.2888, 0.2943",\
                 "0.2719, 0.2735, 0.2773, 0.2807, 0.2837, 0.2855, 0.2879, 0.2889, 0.2911, 0.2969",\
                 "0.2675, 0.2682, 0.2707, 0.2745, 0.2788, 0.2825, 0.2851, 0.2876, 0.2911, 0.2974",\
                 "0.2857, 0.2846, 0.2826, 0.2811, 0.2819, 0.2835, 0.2855, 0.2885, 0.2901, 0.2984",\
                 "0.3353, 0.3319, 0.3239, 0.315, 0.3072, 0.3022, 0.2996, 0.2981, 0.299, 0.3051",\
                 "0.4185, 0.4133, 0.3983, 0.3801, 0.3632, 0.349, 0.3371, 0.3288, 0.3237, 0.3273",\
                 "0.5352, 0.5284, 0.5076, 0.4801, 0.452, 0.4273, 0.4051, 0.3865, 0.3729, 0.372",\
                 "0.6866, 0.678, 0.6525, 0.6159, 0.5766, 0.5398, 0.5068, 0.4772, 0.452, 0.4464",\
                 "0.8735, 0.8639, 0.8343, 0.7897, 0.7397, 0.6899, 0.6441, 0.6032, 0.5674, 0.5585",\
                 "1.099, 1.088, 1.055, 1.003, 0.942, 0.8794, 0.8203, 0.7676, 0.7222, 0.7241");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.05524, 0.05519, 0.05528, 0.05538, 0.05544, 0.05545, 0.0555, 0.05552, 0.05551, 0.05552",\
                 "0.05194, 0.05196, 0.05214, 0.05224, 0.05234, 0.05242, 0.05247, 0.05252, 0.05251, 0.05253",\
                 "0.05327, 0.05302, 0.05243, 0.05186, 0.0513, 0.05104, 0.05086, 0.05071, 0.05061, 0.05054",\
                 "0.07274, 0.07128, 0.0676, 0.06349, 0.06001, 0.05752, 0.05551, 0.05422, 0.0532, 0.05243",\
                 "0.1178, 0.1146, 0.1059, 0.09536, 0.08575, 0.07791, 0.07199, 0.06721, 0.06366, 0.06102",\
                 "0.192, 0.187, 0.1727, 0.1537, 0.1354, 0.1192, 0.1062, 0.09575, 0.08751, 0.08084",\
                 "0.297, 0.2901, 0.2704, 0.2426, 0.2136, 0.187, 0.1643, 0.1453, 0.1298, 0.1173",\
                 "0.4343, 0.4263, 0.4014, 0.3648, 0.3245, 0.2858, 0.2514, 0.2215, 0.1961, 0.175",\
                 "0.6059, 0.5964, 0.5673, 0.5228, 0.4712, 0.4195, 0.3714, 0.3287, 0.2916, 0.2597",\
                 "0.8127, 0.8023, 0.7693, 0.7175, 0.6552, 0.5903, 0.5281, 0.4711, 0.4201, 0.3752");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.277, 0.278, 0.2797, 0.2811, 0.2825, 0.2839, 0.2854, 0.2862, 0.2881, 0.2936",\
                 "0.27, 0.2715, 0.2751, 0.2785, 0.2815, 0.2834, 0.2855, 0.2869, 0.2894, 0.2949",\
                 "0.2663, 0.2668, 0.2688, 0.272, 0.276, 0.2794, 0.2822, 0.2852, 0.2878, 0.2941",\
                 "0.2863, 0.2853, 0.2825, 0.2801, 0.2802, 0.281, 0.2831, 0.2852, 0.2875, 0.2943",\
                 "0.3395, 0.336, 0.3272, 0.3177, 0.3089, 0.3026, 0.2994, 0.2975, 0.2974, 0.3034",\
                 "0.4272, 0.4219, 0.4066, 0.3879, 0.3702, 0.3536, 0.3405, 0.3308, 0.3251, 0.3277",\
                 "0.5498, 0.5425, 0.5216, 0.4937, 0.4649, 0.4388, 0.415, 0.3947, 0.3798, 0.3766",\
                 "0.7083, 0.6996, 0.6734, 0.6366, 0.5973, 0.5593, 0.525, 0.4934, 0.4659, 0.4589",\
                 "0.904, 0.8938, 0.8637, 0.8182, 0.768, 0.7183, 0.6722, 0.6289, 0.5918, 0.5811",\
                 "1.14, 1.129, 1.094, 1.042, 0.9811, 0.919, 0.8583, 0.8043, 0.7579, 0.7568");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.05809, 0.05818, 0.05859, 0.05907, 0.05935, 0.05945, 0.05959, 0.05964, 0.05967, 0.0597",\
                 "0.05783, 0.05846, 0.05949, 0.06055, 0.06127, 0.06174, 0.06207, 0.06217, 0.06232, 0.06239",\
                 "0.05581, 0.05651, 0.05824, 0.05995, 0.06143, 0.06246, 0.06309, 0.06352, 0.06382, 0.06396",\
                 "0.0636, 0.06361, 0.06387, 0.06436, 0.06489, 0.06504, 0.06524, 0.06532, 0.06535, 0.06543",\
                 "0.09124, 0.09017, 0.08704, 0.08375, 0.08075, 0.07819, 0.07602, 0.07408, 0.07257, 0.07134",\
                 "0.1434, 0.1409, 0.134, 0.1246, 0.1157, 0.1077, 0.101, 0.09539, 0.09072, 0.08677",\
                 "0.2227, 0.2187, 0.2074, 0.1913, 0.1743, 0.159, 0.1456, 0.1341, 0.1243, 0.1161",\
                 "0.3305, 0.3253, 0.3095, 0.2862, 0.2606, 0.2356, 0.2137, 0.1944, 0.1778, 0.1634",\
                 "0.4683, 0.4619, 0.4418, 0.4115, 0.3765, 0.3415, 0.3087, 0.2802, 0.2548, 0.2327",\
                 "0.6371, 0.6297, 0.6056, 0.5683, 0.5243, 0.4783, 0.4345, 0.3943, 0.3589, 0.3272");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.4321, 0.4322, 0.4324, 0.4328, 0.4337, 0.4348, 0.4363, 0.438, 0.4404, 0.447",\
                 "0.4267, 0.4271, 0.4279, 0.4289, 0.4301, 0.4318, 0.4334, 0.4351, 0.4375, 0.4447",\
                 "0.4269, 0.4268, 0.4267, 0.4272, 0.4285, 0.4299, 0.4319, 0.4334, 0.4358, 0.4442",\
                 "0.4481, 0.4469, 0.4433, 0.4398, 0.4373, 0.4362, 0.4359, 0.4367, 0.4384, 0.4456",\
                 "0.494, 0.4915, 0.4843, 0.4747, 0.4657, 0.4581, 0.4529, 0.4503, 0.4493, 0.4551",\
                 "0.5655, 0.562, 0.5514, 0.5364, 0.5194, 0.5037, 0.4908, 0.4806, 0.4747, 0.4801",\
                 "0.6658, 0.6612, 0.6469, 0.6259, 0.6015, 0.5768, 0.5549, 0.5364, 0.5222, 0.5238",\
                 "0.7964, 0.7909, 0.7736, 0.7461, 0.7139, 0.6809, 0.6483, 0.6191, 0.596, 0.5959",\
                 "0.959, 0.9527, 0.9325, 0.8998, 0.8596, 0.8176, 0.775, 0.7347, 0.7031, 0.708",\
                 "1.155, 1.148, 1.126, 1.088, 1.041, 0.9886, 0.9365, 0.8866, 0.8477, 0.8737");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.0124, 0.01275, 0.01343, 0.01378, 0.01409, 0.0142, 0.01429, 0.01434, 0.01439, 0.01443",\
                 "0.01078, 0.01179, 0.01376, 0.01518, 0.01597, 0.01645, 0.01676, 0.0169, 0.01704, 0.01714",\
                 "0.007583, 0.008673, 0.01141, 0.01394, 0.01583, 0.01698, 0.0177, 0.01823, 0.01848, 0.01878",\
                 "0.01753, 0.01752, 0.01784, 0.01871, 0.01943, 0.01972, 0.01997, 0.02006, 0.02013, 0.02013",\
                 "0.04913, 0.04759, 0.04369, 0.03956, 0.03613, 0.03334, 0.031, 0.02911, 0.02754, 0.02626",\
                 "0.1061, 0.1028, 0.09383, 0.08282, 0.07257, 0.06392, 0.05676, 0.05089, 0.04596, 0.04192",\
                 "0.1902, 0.1852, 0.1713, 0.1522, 0.1332, 0.1165, 0.1023, 0.09023, 0.08007, 0.07157",\
                 "0.3028, 0.2964, 0.2773, 0.2506, 0.2219, 0.195, 0.1716, 0.1515, 0.1342, 0.1195",\
                 "0.4449, 0.4371, 0.4135, 0.3789, 0.3405, 0.3028, 0.2684, 0.2384, 0.2122, 0.1895",\
                 "0.6173, 0.6084, 0.5808, 0.539, 0.4908, 0.442, 0.3958, 0.3537, 0.3169, 0.2848");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3903, 0.3902, 0.3906, 0.3911, 0.3922, 0.3932, 0.3947, 0.3958, 0.3982, 0.406",\
                 "0.3847, 0.385, 0.386, 0.3871, 0.3884, 0.3899, 0.3916, 0.3929, 0.3949, 0.4014",\
                 "0.3848, 0.3847, 0.3848, 0.3855, 0.3866, 0.3883, 0.3894, 0.3912, 0.3936, 0.4002",\
                 "0.4064, 0.4051, 0.4014, 0.3977, 0.3953, 0.3942, 0.3941, 0.3945, 0.3969, 0.4042",\
                 "0.4521, 0.4494, 0.4425, 0.4328, 0.4234, 0.416, 0.4111, 0.4074, 0.4078, 0.4137",\
                 "0.5241, 0.5205, 0.5096, 0.4943, 0.4772, 0.4617, 0.4486, 0.4391, 0.4325, 0.4352",\
                 "0.6245, 0.6196, 0.6054, 0.5841, 0.5596, 0.5353, 0.513, 0.4938, 0.4793, 0.4804",\
                 "0.7552, 0.7496, 0.7321, 0.7046, 0.6722, 0.6396, 0.6068, 0.5779, 0.5535, 0.552",\
                 "0.9178, 0.9117, 0.8911, 0.8582, 0.8182, 0.7748, 0.7338, 0.6943, 0.6603, 0.6608",\
                 "1.114, 1.107, 1.084, 1.047, 0.9991, 0.9469, 0.8941, 0.8434, 0.8043, 0.8249");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.01248, 0.01276, 0.0134, 0.0138, 0.01405, 0.01419, 0.01426, 0.01433, 0.01436, 0.01439",\
                 "0.0109, 0.01181, 0.01379, 0.01517, 0.01596, 0.01645, 0.01677, 0.0169, 0.01704, 0.01712",\
                 "0.008251, 0.009233, 0.01182, 0.01429, 0.016, 0.01715, 0.01784, 0.01828, 0.01857, 0.01877",\
                 "0.0192, 0.01918, 0.01933, 0.01994, 0.02035, 0.02063, 0.02061, 0.02057, 0.02053, 0.02047",\
                 "0.05188, 0.05027, 0.04628, 0.04189, 0.03813, 0.03503, 0.03245, 0.0303, 0.02849, 0.02708",\
                 "0.1096, 0.1065, 0.09753, 0.08635, 0.07571, 0.0667, 0.05911, 0.05287, 0.04771, 0.04347",\
                 "0.1946, 0.1897, 0.1758, 0.1569, 0.1375, 0.1204, 0.1057, 0.09327, 0.08278, 0.07405",\
                 "0.3081, 0.3017, 0.2828, 0.256, 0.2272, 0.1999, 0.1763, 0.1557, 0.138, 0.123",\
                 "0.451, 0.4433, 0.4199, 0.3853, 0.3469, 0.309, 0.274, 0.2435, 0.217, 0.1941",\
                 "0.6243, 0.6155, 0.588, 0.5465, 0.4982, 0.4493, 0.4029, 0.3602, 0.323, 0.2904");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.4257, 0.4258, 0.4262, 0.4268, 0.4279, 0.4284, 0.4301, 0.4315, 0.4349, 0.4404",\
                 "0.4206, 0.4211, 0.4221, 0.4234, 0.4248, 0.4264, 0.428, 0.4305, 0.4316, 0.4384",\
                 "0.4205, 0.4206, 0.4208, 0.4214, 0.4231, 0.4246, 0.4262, 0.4282, 0.4319, 0.4379",\
                 "0.4413, 0.4402, 0.4375, 0.4342, 0.4321, 0.431, 0.4311, 0.4318, 0.4332, 0.4415",\
                 "0.4865, 0.4848, 0.4783, 0.4696, 0.4612, 0.4543, 0.4492, 0.4463, 0.4454, 0.4494",\
                 "0.5578, 0.5548, 0.5455, 0.5317, 0.516, 0.5012, 0.4888, 0.4793, 0.4715, 0.4759",\
                 "0.6577, 0.6537, 0.6409, 0.6216, 0.5992, 0.5765, 0.5548, 0.5364, 0.5213, 0.5214",\
                 "0.7874, 0.7829, 0.7671, 0.7425, 0.7129, 0.6824, 0.6519, 0.6238, 0.5994, 0.5978",\
                 "0.9502, 0.9445, 0.9259, 0.8963, 0.8593, 0.8206, 0.781, 0.7425, 0.7101, 0.7125",\
                 "1.147, 1.141, 1.119, 1.084, 1.041, 0.993, 0.9443, 0.8961, 0.8591, 0.8829");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.09731, 0.09718, 0.09729, 0.09729, 0.09747, 0.09753, 0.09752, 0.09755, 0.09759, 0.09757",\
                 "0.09378, 0.09395, 0.09391, 0.0942, 0.09437, 0.09451, 0.0945, 0.09456, 0.09458, 0.09458",\
                 "0.09058, 0.09064, 0.09095, 0.09123, 0.09157, 0.09187, 0.09205, 0.09211, 0.09219, 0.09224",\
                 "0.09765, 0.09741, 0.09646, 0.09543, 0.0947, 0.094, 0.0936, 0.09315, 0.09289, 0.09262",\
                 "0.1277, 0.1261, 0.1222, 0.1172, 0.1122, 0.1082, 0.1049, 0.1022, 0.1001, 0.09849",\
                 "0.1871, 0.1841, 0.1758, 0.1644, 0.1524, 0.1418, 0.1328, 0.1256, 0.1198, 0.115",\
                 "0.2794, 0.2749, 0.2613, 0.242, 0.221, 0.2013, 0.1839, 0.1693, 0.1572, 0.1472",\
                 "0.4064, 0.4004, 0.3817, 0.3538, 0.3224, 0.2916, 0.2635, 0.239, 0.2181, 0.2004",\
                 "0.5695, 0.562, 0.5385, 0.5021, 0.4595, 0.4165, 0.3759, 0.3393, 0.3071, 0.2794",\
                 "0.7693, 0.7605, 0.7323, 0.6883, 0.6346, 0.5786, 0.5243, 0.4742, 0.4291, 0.3891");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.4741, 0.4741, 0.4743, 0.4746, 0.4755, 0.4769, 0.478, 0.4796, 0.4817, 0.4883",\
                 "0.4692, 0.4695, 0.4701, 0.471, 0.4721, 0.4735, 0.4753, 0.4767, 0.4787, 0.486",\
                 "0.4645, 0.4647, 0.4657, 0.4672, 0.4691, 0.4708, 0.4729, 0.475, 0.4774, 0.4845",\
                 "0.4785, 0.4777, 0.4758, 0.4742, 0.4735, 0.4736, 0.4746, 0.4763, 0.4784, 0.4855",\
                 "0.5246, 0.5223, 0.5158, 0.5074, 0.5, 0.4942, 0.4904, 0.4886, 0.4886, 0.4946",\
                 "0.6066, 0.6026, 0.591, 0.5745, 0.5579, 0.5425, 0.53, 0.5209, 0.515, 0.5201",\
                 "0.7244, 0.7195, 0.7029, 0.6784, 0.6515, 0.625, 0.6015, 0.5823, 0.5678, 0.5671",\
                 "0.8786, 0.8725, 0.8524, 0.8205, 0.7829, 0.7451, 0.7097, 0.6779, 0.6518, 0.6483",\
                 "1.07, 1.063, 1.04, 1.003, 0.9549, 0.9049, 0.8568, 0.8118, 0.7754, 0.7688",\
                 "1.302, 1.294, 1.268, 1.225, 1.17, 1.108, 1.046, 0.9873, 0.9404, 0.9459");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.05188, 0.05202, 0.05194, 0.0521, 0.05222, 0.05226, 0.05232, 0.0523, 0.05231, 0.05234",\
                 "0.04832, 0.04847, 0.04866, 0.04895, 0.04908, 0.04919, 0.04933, 0.04933, 0.04936, 0.04937",\
                 "0.04457, 0.04474, 0.04538, 0.04593, 0.04638, 0.04664, 0.04678, 0.04687, 0.04695, 0.047",\
                 "0.05314, 0.05264, 0.05154, 0.05054, 0.04961, 0.0489, 0.04841, 0.04797, 0.04769, 0.04746",\
                 "0.08695, 0.08494, 0.07981, 0.07367, 0.06812, 0.06362, 0.06005, 0.05724, 0.05507, 0.05343",\
                 "0.1516, 0.1479, 0.1372, 0.1236, 0.1102, 0.09848, 0.08884, 0.08125, 0.07512, 0.07017",\
                 "0.2496, 0.244, 0.2275, 0.2048, 0.1813, 0.1597, 0.1412, 0.1257, 0.1131, 0.1028",\
                 "0.3821, 0.3748, 0.3525, 0.3204, 0.2856, 0.2521, 0.2223, 0.1966, 0.1748, 0.1567",\
                 "0.55, 0.541, 0.5138, 0.4726, 0.4259, 0.3794, 0.3367, 0.2984, 0.2651, 0.2366",\
                 "0.7541, 0.7438, 0.712, 0.6624, 0.6042, 0.5444, 0.4872, 0.435, 0.3884, 0.3473");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.432, 0.432, 0.4323, 0.4328, 0.4338, 0.435, 0.4357, 0.4374, 0.4392, 0.4446",\
                 "0.4272, 0.4273, 0.4283, 0.4291, 0.4305, 0.4319, 0.4335, 0.4341, 0.4385, 0.4431",\
                 "0.4223, 0.4226, 0.4237, 0.4254, 0.427, 0.4291, 0.4306, 0.4328, 0.4352, 0.4418",\
                 "0.4364, 0.4358, 0.4339, 0.432, 0.4318, 0.4319, 0.4328, 0.4341, 0.4359, 0.4438",\
                 "0.4825, 0.4802, 0.4739, 0.4655, 0.4578, 0.4523, 0.4485, 0.4467, 0.4464, 0.4529",\
                 "0.5649, 0.561, 0.5492, 0.5328, 0.5161, 0.5004, 0.4884, 0.479, 0.4728, 0.477",\
                 "0.6832, 0.678, 0.6616, 0.6365, 0.6094, 0.5834, 0.5598, 0.5397, 0.5253, 0.5237",\
                 "0.8375, 0.8312, 0.8111, 0.7785, 0.741, 0.7032, 0.6678, 0.636, 0.6093, 0.6029",\
                 "1.03, 1.022, 0.9988, 0.9613, 0.9136, 0.8629, 0.8153, 0.7705, 0.7326, 0.7239",\
                 "1.261, 1.253, 1.227, 1.184, 1.128, 1.066, 1.004, 0.9453, 0.8973, 0.8984");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.05201, 0.05188, 0.05194, 0.05205, 0.05214, 0.05219, 0.0523, 0.05231, 0.05231, 0.05234",\
                 "0.04827, 0.0484, 0.04862, 0.04898, 0.0491, 0.04923, 0.04929, 0.0493, 0.04934, 0.04935",\
                 "0.04473, 0.04498, 0.04559, 0.04612, 0.04637, 0.04668, 0.04685, 0.04697, 0.04703, 0.04703",\
                 "0.05463, 0.05409, 0.05278, 0.05153, 0.05045, 0.04966, 0.0488, 0.04833, 0.04801, 0.04769",\
                 "0.08992, 0.08797, 0.0827, 0.07624, 0.07031, 0.06522, 0.06143, 0.05846, 0.05597, 0.05425",\
                 "0.1561, 0.1524, 0.1417, 0.1276, 0.1136, 0.1014, 0.09138, 0.08339, 0.07696, 0.07174",\
                 "0.2555, 0.2498, 0.2332, 0.2101, 0.1861, 0.1641, 0.145, 0.1292, 0.1162, 0.1054",\
                 "0.3893, 0.382, 0.3595, 0.3272, 0.2919, 0.2581, 0.2278, 0.2015, 0.1791, 0.1604",\
                 "0.5585, 0.5496, 0.5221, 0.4808, 0.4336, 0.3868, 0.3434, 0.3049, 0.271, 0.242",\
                 "0.7637, 0.7536, 0.7216, 0.6721, 0.6135, 0.5532, 0.4956, 0.4429, 0.3957, 0.3542");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.4678, 0.4677, 0.468, 0.4686, 0.4694, 0.4703, 0.4719, 0.4731, 0.4752, 0.4817",\
                 "0.4633, 0.4633, 0.4644, 0.4655, 0.4666, 0.4681, 0.4696, 0.4715, 0.4755, 0.4798",\
                 "0.4581, 0.4585, 0.4597, 0.4611, 0.4634, 0.4656, 0.4673, 0.4695, 0.4729, 0.4792",\
                 "0.4717, 0.4711, 0.4695, 0.468, 0.468, 0.4682, 0.4695, 0.4718, 0.4729, 0.4812",\
                 "0.5171, 0.5154, 0.5098, 0.5023, 0.4951, 0.4897, 0.4863, 0.4843, 0.4841, 0.4899",\
                 "0.5991, 0.5954, 0.585, 0.5706, 0.5549, 0.5399, 0.5275, 0.5183, 0.5124, 0.5167",\
                 "0.7163, 0.7116, 0.6972, 0.6746, 0.6498, 0.6248, 0.602, 0.5827, 0.5678, 0.5665",\
                 "0.8703, 0.8646, 0.8462, 0.8177, 0.7824, 0.7474, 0.714, 0.6826, 0.6565, 0.65",\
                 "1.062, 1.056, 1.035, 0.9998, 0.9557, 0.9089, 0.8642, 0.8211, 0.7848, 0.7771",\
                 "1.294, 1.287, 1.263, 1.224, 1.171, 1.114, 1.056, 1, 0.9541, 0.9582");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1053, 0.1195, 0.1676, 0.2567, 0.3932, 0.5834, 0.8328, 1.146, 1.529, 1.985",\
                 "0.1184, 0.1326, 0.181, 0.2703, 0.407, 0.5973, 0.8468, 1.16, 1.543, 1.999",\
                 "0.1604, 0.1767, 0.2275, 0.3159, 0.4524, 0.6426, 0.8921, 1.206, 1.588, 2.044",\
                 "0.1884, 0.2104, 0.2802, 0.393, 0.5405, 0.73, 0.9787, 1.291, 1.674, 2.13",\
                 "0.188, 0.2171, 0.3062, 0.4496, 0.6365, 0.86, 1.117, 1.429, 1.81, 2.265",\
                 "0.1543, 0.1898, 0.3008, 0.4768, 0.7032, 0.9726, 1.28, 1.621, 2.005, 2.457",\
                 "0.0837, 0.1261, 0.258, 0.4681, 0.737, 1.053, 1.412, 1.811, 2.246, 2.715",\
                 "-0.0253, 0.0235, 0.1766, 0.4206, 0.7327, 1.099, 1.51, 1.964, 2.461, 2.995",\
                 "-0.1767, -0.1209, 0.0522, 0.3302, 0.6869, 1.103, 1.571, 2.082, 2.638, 3.237",\
                 "-0.3725, -0.3098, -0.1145, 0.1957, 0.596, 1.065, 1.588, 2.16, 2.778, 3.44");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1856, 0.2187, 0.3314, 0.5437, 0.8724, 1.332, 1.937, 2.699, 3.628, 4.734",\
                 "0.1943, 0.2275, 0.342, 0.5565, 0.8872, 1.348, 1.954, 2.716, 3.645, 4.752",\
                 "0.2519, 0.2832, 0.3946, 0.607, 0.9375, 1.399, 2.006, 2.768, 3.698, 4.805",\
                 "0.3632, 0.4002, 0.5189, 0.7255, 1.05, 1.508, 2.112, 2.874, 3.803, 4.91",\
                 "0.5127, 0.5549, 0.6919, 0.9233, 1.245, 1.695, 2.293, 3.049, 3.975, 5.079",\
                 "0.7028, 0.7526, 0.907, 1.167, 1.525, 1.976, 2.564, 3.312, 4.229, 5.329",\
                 "0.9325, 0.9907, 1.169, 1.455, 1.85, 2.346, 2.938, 3.675, 4.584, 5.673",\
                 "1.204, 1.271, 1.474, 1.795, 2.222, 2.762, 3.405, 4.149, 5.046, 6.125",\
                 "1.519, 1.595, 1.825, 2.184, 2.649, 3.227, 3.922, 4.721, 5.628, 6.695",\
                 "1.879, 1.964, 2.224, 2.623, 3.134, 3.751, 4.489, 5.347, 6.312, 7.39");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1382, 0.1615, 0.2415, 0.3905, 0.6214, 0.9448, 1.371, 1.907, 2.559, 3.339",\
                 "0.1371, 0.161, 0.2413, 0.3907, 0.6219, 0.9448, 1.371, 1.907, 2.559, 3.338",\
                 "0.1646, 0.1847, 0.2501, 0.39, 0.6211, 0.9451, 1.371, 1.906, 2.559, 3.338",\
                 "0.2345, 0.2588, 0.3377, 0.4679, 0.6531, 0.9486, 1.371, 1.906, 2.559, 3.338",\
                 "0.3294, 0.3595, 0.451, 0.6016, 0.8078, 1.063, 1.415, 1.911, 2.559, 3.338",\
                 "0.444, 0.4814, 0.5928, 0.766, 0.9948, 1.284, 1.628, 2.044, 2.607, 3.344",\
                 "0.576, 0.6208, 0.7548, 0.9584, 1.216, 1.532, 1.911, 2.349, 2.85, 3.484",\
                 "0.726, 0.7798, 0.9364, 1.175, 1.47, 1.816, 2.225, 2.7, 3.24, 3.839",\
                 "0.8932, 0.9548, 1.137, 1.413, 1.749, 2.136, 2.577, 3.085, 3.664, 4.312",\
                 "1.074, 1.145, 1.36, 1.669, 2.052, 2.484, 2.97, 3.509, 4.124, 4.816");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.362, 0.4209, 0.6222, 0.9975, 1.574, 2.379, 3.438, 4.773, 6.402, 8.345",\
                 "0.3618, 0.4206, 0.6222, 0.9976, 1.574, 2.379, 3.437, 4.772, 6.401, 8.341",\
                 "0.3677, 0.4222, 0.6221, 0.9978, 1.574, 2.38, 3.439, 4.772, 6.398, 8.34",\
                 "0.4442, 0.4929, 0.6575, 1, 1.574, 2.379, 3.438, 4.773, 6.396, 8.343",\
                 "0.5348, 0.5878, 0.77, 1.082, 1.591, 2.379, 3.438, 4.773, 6.402, 8.339",\
                 "0.662, 0.7106, 0.8922, 1.235, 1.72, 2.422, 3.441, 4.774, 6.398, 8.339",\
                 "0.822, 0.8714, 1.047, 1.398, 1.922, 2.595, 3.516, 4.783, 6.401, 8.346",\
                 "1.006, 1.059, 1.242, 1.586, 2.133, 2.853, 3.736, 4.898, 6.422, 8.345",\
                 "1.209, 1.271, 1.462, 1.814, 2.359, 3.12, 4.054, 5.162, 6.578, 8.384",\
                 "1.433, 1.493, 1.703, 2.079, 2.628, 3.394, 4.385, 5.539, 6.897, 8.582");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.07896, 0.09208, 0.1379, 0.2246, 0.3596, 0.5485, 0.7977, 1.111, 1.493, 1.95",\
                 "0.09171, 0.105, 0.151, 0.2382, 0.3735, 0.5627, 0.8119, 1.125, 1.508, 1.963",\
                 "0.1224, 0.1403, 0.1951, 0.2837, 0.4186, 0.608, 0.8569, 1.171, 1.553, 2.009",\
                 "0.1314, 0.1567, 0.233, 0.3524, 0.5057, 0.6954, 0.9433, 1.256, 1.639, 2.095",\
                 "0.1107, 0.1439, 0.2438, 0.3972, 0.5917, 0.8213, 1.082, 1.393, 1.774, 2.229",\
                 "0.0563, 0.0975, 0.222, 0.4116, 0.6481, 0.925, 1.238, 1.585, 1.969, 2.421",\
                 "-0.0341, 0.015, 0.1626, 0.3897, 0.6714, 0.9976, 1.363, 1.767, 2.206, 2.679",\
                 "-0.1638, -0.1068, 0.0654, 0.3273, 0.657, 1.034, 1.454, 1.915, 2.416, 2.954",\
                 "-0.3356, -0.2699, -0.0739, 0.2244, 0.599, 1.03, 1.507, 2.026, 2.588, 3.191",\
                 "-0.5512, -0.4784, -0.2574, 0.0787, 0.4971, 0.9817, 1.517, 2.097, 2.722, 3.39");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1797, 0.2125, 0.3253, 0.5372, 0.8647, 1.324, 1.928, 2.686, 3.613, 4.719",\
                 "0.1885, 0.2219, 0.3361, 0.5501, 0.8796, 1.34, 1.945, 2.704, 3.634, 4.735",\
                 "0.246, 0.2772, 0.3881, 0.6001, 0.93, 1.391, 1.995, 2.757, 3.683, 4.794",\
                 "0.3555, 0.3926, 0.5117, 0.7186, 1.042, 1.499, 2.102, 2.86, 3.788, 4.897",\
                 "0.5024, 0.5454, 0.6834, 0.9153, 1.237, 1.685, 2.281, 3.037, 3.961, 5.065",\
                 "0.69, 0.7402, 0.8966, 1.157, 1.515, 1.966, 2.552, 3.299, 4.214, 5.313",\
                 "0.9155, 0.9749, 1.156, 1.443, 1.838, 2.334, 2.926, 3.661, 4.568, 5.658",\
                 "1.182, 1.251, 1.458, 1.78, 2.208, 2.749, 3.392, 4.135, 5.031, 6.109",\
                 "1.492, 1.571, 1.805, 2.167, 2.635, 3.212, 3.906, 4.705, 5.611, 6.678",\
                 "1.844, 1.933, 2.199, 2.602, 3.115, 3.733, 4.471, 5.329, 6.294, 7.371");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.103, 0.1255, 0.204, 0.3533, 0.5834, 0.9072, 1.333, 1.868, 2.523, 3.304",\
                 "0.1016, 0.1247, 0.2037, 0.3527, 0.5835, 0.9068, 1.334, 1.869, 2.523, 3.299",\
                 "0.1406, 0.1611, 0.2256, 0.3543, 0.5831, 0.9063, 1.332, 1.868, 2.521, 3.305",\
                 "0.2104, 0.2352, 0.3132, 0.4448, 0.6266, 0.9125, 1.332, 1.867, 2.521, 3.301",\
                 "0.3027, 0.3344, 0.4279, 0.5784, 0.785, 1.041, 1.386, 1.875, 2.521, 3.301",\
                 "0.4132, 0.4516, 0.5666, 0.743, 0.971, 1.26, 1.604, 2.019, 2.577, 3.307",\
                 "0.5408, 0.5874, 0.7266, 0.9336, 1.193, 1.508, 1.887, 2.327, 2.826, 3.459",\
                 "0.6836, 0.7408, 0.9044, 1.148, 1.444, 1.793, 2.201, 2.678, 3.218, 3.816",\
                 "0.8394, 0.908, 1.101, 1.381, 1.724, 2.113, 2.553, 3.063, 3.64, 4.29",\
                 "1.005, 1.087, 1.318, 1.636, 2.023, 2.457, 2.946, 3.484, 4.102, 4.795");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.262, 0.3172, 0.5114, 0.8808, 1.455, 2.263, 3.32, 4.65, 6.279, 8.216",\
                 "0.2619, 0.3178, 0.5114, 0.8799, 1.454, 2.261, 3.319, 4.652, 6.288, 8.226",\
                 "0.268, 0.3185, 0.511, 0.8796, 1.455, 2.261, 3.321, 4.653, 6.28, 8.232",\
                 "0.327, 0.3811, 0.5455, 0.8809, 1.453, 2.257, 3.317, 4.656, 6.273, 8.232",\
                 "0.3972, 0.4526, 0.642, 0.964, 1.469, 2.259, 3.319, 4.649, 6.279, 8.223",\
                 "0.4974, 0.5556, 0.7484, 1.103, 1.599, 2.302, 3.322, 4.655, 6.281, 8.219",\
                 "0.6218, 0.6846, 0.8864, 1.25, 1.789, 2.472, 3.4, 4.666, 6.286, 8.217",\
                 "0.7602, 0.8318, 1.054, 1.425, 1.988, 2.725, 3.613, 4.779, 6.308, 8.23",\
                 "0.9154, 0.9968, 1.244, 1.64, 2.204, 2.98, 3.928, 5.038, 6.463, 8.272",\
                 "1.087, 1.178, 1.454, 1.882, 2.461, 3.246, 4.244, 5.415, 6.771, 8.468");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.06726, 0.07769, 0.1141, 0.183, 0.2902, 0.4404, 0.6384, 0.8877, 1.191, 1.555",\
                 "0.08112, 0.09169, 0.1282, 0.1974, 0.3049, 0.4553, 0.6532, 0.9019, 1.207, 1.569",\
                 "0.1085, 0.1244, 0.1727, 0.2475, 0.3548, 0.5051, 0.7031, 0.952, 1.256, 1.618",\
                 "0.1109, 0.1338, 0.2033, 0.3097, 0.4441, 0.6013, 0.7982, 1.047, 1.35, 1.713",\
                 "0.08033, 0.1114, 0.204, 0.3437, 0.5176, 0.72, 0.9455, 1.197, 1.5, 1.862",\
                 "0.0131, 0.0517, 0.168, 0.3432, 0.5595, 0.8072, 1.085, 1.387, 1.711, 2.073",\
                 "-0.0924, -0.0461, 0.0927, 0.303, 0.5629, 0.8603, 1.188, 1.546, 1.931, 2.339",\
                 "-0.2414, -0.1871, -0.0252, 0.22, 0.5232, 0.8718, 1.254, 1.667, 2.111, 2.585",\
                 "-0.4356, -0.3741, -0.1887, 0.0918, 0.44, 0.8382, 1.276, 1.749, 2.252, 2.788",\
                 "-0.6766, -0.6086, -0.4008, -0.0845, 0.3071, 0.7571, 1.252, 1.784, 2.35, 2.948");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1789, 0.2116, 0.3245, 0.5362, 0.8638, 1.321, 1.926, 2.686, 3.613, 4.719",\
                 "0.1859, 0.2188, 0.3333, 0.5469, 0.8763, 1.336, 1.94, 2.703, 3.631, 4.733",\
                 "0.2449, 0.2758, 0.3859, 0.597, 0.9265, 1.387, 1.992, 2.753, 3.683, 4.79",\
                 "0.3578, 0.3946, 0.513, 0.7182, 1.041, 1.497, 2.099, 2.858, 3.786, 4.889",\
                 "0.5104, 0.5527, 0.6894, 0.9198, 1.24, 1.687, 2.282, 3.036, 3.96, 5.06",\
                 "0.7063, 0.7559, 0.9097, 1.168, 1.524, 1.972, 2.558, 3.301, 4.217, 5.315",\
                 "0.9441, 1.002, 1.179, 1.464, 1.856, 2.349, 2.937, 3.671, 4.576, 5.665",\
                 "1.228, 1.294, 1.496, 1.814, 2.237, 2.774, 3.413, 4.152, 5.047, 6.122",\
                 "1.557, 1.634, 1.863, 2.218, 2.677, 3.25, 3.94, 4.735, 5.637, 6.7",\
                 "1.936, 2.022, 2.28, 2.673, 3.176, 3.787, 4.519, 5.373, 6.332, 7.406");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.07926, 0.09662, 0.1581, 0.275, 0.4579, 0.7127, 1.048, 1.474, 1.993, 2.608",\
                 "0.07914, 0.09648, 0.1578, 0.2749, 0.4568, 0.7126, 1.05, 1.474, 1.991, 2.61",\
                 "0.1242, 0.1414, 0.1926, 0.2847, 0.4568, 0.7123, 1.048, 1.473, 1.992, 2.61",\
                 "0.1937, 0.215, 0.2815, 0.3895, 0.53, 0.7338, 1.049, 1.471, 1.991, 2.608",\
                 "0.2814, 0.3101, 0.3938, 0.5228, 0.6948, 0.901, 1.149, 1.503, 1.989, 2.607",\
                 "0.3878, 0.4234, 0.5274, 0.6838, 0.8816, 1.122, 1.401, 1.715, 2.111, 2.644",\
                 "0.511, 0.5554, 0.68, 0.8676, 1.097, 1.367, 1.683, 2.04, 2.434, 2.885",\
                 "0.647, 0.7016, 0.8526, 1.073, 1.339, 1.647, 1.995, 2.393, 2.833, 3.315",\
                 "0.7928, 0.8592, 1.044, 1.3, 1.607, 1.954, 2.342, 2.77, 3.254, 3.785",\
                 "0.9526, 1.028, 1.25, 1.547, 1.894, 2.287, 2.72, 3.19, 3.71, 4.283");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.2624, 0.3173, 0.5117, 0.8797, 1.455, 2.261, 3.318, 4.652, 6.279, 8.223",\
                 "0.2618, 0.3173, 0.5108, 0.8806, 1.453, 2.258, 3.317, 4.653, 6.287, 8.223",\
                 "0.2683, 0.3188, 0.5104, 0.8797, 1.454, 2.261, 3.319, 4.653, 6.29, 8.234",\
                 "0.3254, 0.3792, 0.5456, 0.8811, 1.454, 2.261, 3.316, 4.655, 6.282, 8.232",\
                 "0.392, 0.448, 0.6386, 0.9618, 1.47, 2.256, 3.319, 4.65, 6.285, 8.223",\
                 "0.489, 0.5462, 0.7394, 1.098, 1.594, 2.298, 3.318, 4.656, 6.279, 8.218",\
                 "0.6048, 0.6674, 0.8698, 1.237, 1.779, 2.466, 3.393, 4.665, 6.286, 8.22",\
                 "0.7416, 0.8112, 1.028, 1.402, 1.967, 2.708, 3.602, 4.767, 6.307, 8.232",\
                 "0.8918, 0.9698, 1.211, 1.601, 2.171, 2.955, 3.906, 5.024, 6.458, 8.265",\
                 "1.06, 1.147, 1.412, 1.833, 2.413, 3.208, 4.217, 5.387, 6.752, 8.446");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1053, 0.1195, 0.1676, 0.2567, 0.3932, 0.5834, 0.8328, 1.146, 1.529, 1.985",\
                 "0.1184, 0.1326, 0.181, 0.2703, 0.407, 0.5973, 0.8468, 1.16, 1.543, 1.999",\
                 "0.1604, 0.1767, 0.2275, 0.3159, 0.4524, 0.6426, 0.8921, 1.206, 1.588, 2.044",\
                 "0.1884, 0.2104, 0.2802, 0.393, 0.5405, 0.73, 0.9787, 1.291, 1.674, 2.13",\
                 "0.188, 0.2171, 0.3062, 0.4496, 0.6365, 0.86, 1.117, 1.429, 1.81, 2.265",\
                 "0.1543, 0.1898, 0.3008, 0.4768, 0.7032, 0.9726, 1.28, 1.621, 2.005, 2.457",\
                 "0.0837, 0.1261, 0.258, 0.4681, 0.737, 1.053, 1.412, 1.811, 2.246, 2.715",\
                 "-0.0253, 0.0235, 0.1766, 0.4206, 0.7327, 1.099, 1.51, 1.964, 2.461, 2.995",\
                 "-0.1767, -0.1209, 0.0522, 0.3302, 0.6869, 1.103, 1.571, 2.082, 2.638, 3.237",\
                 "-0.3725, -0.3098, -0.1145, 0.1957, 0.596, 1.065, 1.588, 2.16, 2.778, 3.44");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1789, 0.2116, 0.3245, 0.5362, 0.8638, 1.321, 1.926, 2.686, 3.613, 4.719",\
                 "0.1859, 0.2188, 0.3333, 0.5469, 0.8763, 1.336, 1.94, 2.703, 3.631, 4.733",\
                 "0.2449, 0.2758, 0.3859, 0.597, 0.9265, 1.387, 1.992, 2.753, 3.683, 4.79",\
                 "0.3578, 0.3946, 0.513, 0.7182, 1.041, 1.497, 2.099, 2.858, 3.786, 4.889",\
                 "0.5104, 0.5527, 0.6894, 0.9198, 1.24, 1.687, 2.282, 3.036, 3.96, 5.06",\
                 "0.7063, 0.7559, 0.9097, 1.168, 1.524, 1.972, 2.558, 3.301, 4.217, 5.315",\
                 "0.9441, 1.002, 1.179, 1.464, 1.856, 2.349, 2.937, 3.671, 4.576, 5.665",\
                 "1.228, 1.294, 1.496, 1.814, 2.237, 2.774, 3.413, 4.152, 5.047, 6.122",\
                 "1.557, 1.634, 1.863, 2.218, 2.677, 3.25, 3.94, 4.735, 5.637, 6.7",\
                 "1.936, 2.022, 2.28, 2.673, 3.176, 3.787, 4.519, 5.373, 6.332, 7.406");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1382, 0.1615, 0.2415, 0.3905, 0.6214, 0.9448, 1.371, 1.907, 2.559, 3.339",\
                 "0.1371, 0.161, 0.2413, 0.3907, 0.6219, 0.9448, 1.371, 1.907, 2.559, 3.338",\
                 "0.1646, 0.1847, 0.2501, 0.39, 0.6211, 0.9451, 1.371, 1.906, 2.559, 3.338",\
                 "0.2345, 0.2588, 0.3377, 0.4679, 0.6531, 0.9486, 1.371, 1.906, 2.559, 3.338",\
                 "0.3294, 0.3595, 0.451, 0.6016, 0.8078, 1.063, 1.415, 1.911, 2.559, 3.338",\
                 "0.444, 0.4814, 0.5928, 0.766, 0.9948, 1.284, 1.628, 2.044, 2.607, 3.344",\
                 "0.576, 0.6208, 0.7548, 0.9584, 1.216, 1.532, 1.911, 2.349, 2.85, 3.484",\
                 "0.726, 0.7798, 0.9364, 1.175, 1.47, 1.816, 2.225, 2.7, 3.24, 3.839",\
                 "0.8932, 0.9548, 1.137, 1.413, 1.749, 2.136, 2.577, 3.085, 3.664, 4.312",\
                 "1.074, 1.145, 1.36, 1.669, 2.052, 2.484, 2.97, 3.509, 4.124, 4.816");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.362, 0.4209, 0.6222, 0.9975, 1.574, 2.379, 3.438, 4.773, 6.402, 8.345",\
                 "0.3618, 0.4206, 0.6222, 0.9976, 1.574, 2.379, 3.437, 4.772, 6.401, 8.341",\
                 "0.3677, 0.4222, 0.6221, 0.9978, 1.574, 2.38, 3.439, 4.772, 6.398, 8.34",\
                 "0.4442, 0.4929, 0.6575, 1, 1.574, 2.379, 3.438, 4.773, 6.396, 8.343",\
                 "0.5348, 0.5878, 0.77, 1.082, 1.591, 2.379, 3.438, 4.773, 6.402, 8.339",\
                 "0.662, 0.7106, 0.8922, 1.235, 1.72, 2.422, 3.441, 4.774, 6.398, 8.339",\
                 "0.822, 0.8714, 1.047, 1.398, 1.922, 2.595, 3.516, 4.783, 6.401, 8.346",\
                 "1.006, 1.059, 1.242, 1.586, 2.133, 2.853, 3.736, 4.898, 6.422, 8.345",\
                 "1.209, 1.271, 1.462, 1.814, 2.359, 3.12, 4.054, 5.162, 6.578, 8.384",\
                 "1.433, 1.493, 1.703, 2.079, 2.628, 3.394, 4.385, 5.539, 6.897, 8.582");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1347, 0.1492, 0.1984, 0.2885, 0.4262, 0.6171, 0.8671, 1.181, 1.564, 2.02",\
                 "0.1458, 0.1603, 0.2094, 0.2996, 0.4373, 0.6283, 0.8782, 1.192, 1.575, 2.031",\
                 "0.1904, 0.2054, 0.2539, 0.3434, 0.4808, 0.6715, 0.9214, 1.235, 1.618, 2.074",\
                 "0.2337, 0.2541, 0.3187, 0.4259, 0.569, 0.7588, 1.008, 1.321, 1.703, 2.159",\
                 "0.2536, 0.2789, 0.361, 0.4955, 0.6752, 0.8927, 1.147, 1.458, 1.839, 2.293",\
                 "0.2465, 0.2766, 0.377, 0.5406, 0.7556, 1.016, 1.317, 1.654, 2.035, 2.487",\
                 "0.2097, 0.2465, 0.364, 0.5555, 0.8091, 1.112, 1.461, 1.852, 2.28, 2.747",\
                 "0.1441, 0.1857, 0.3199, 0.5414, 0.8318, 1.18, 1.575, 2.018, 2.505, 3.033",\
                 "0.048, 0.0949, 0.2452, 0.4931, 0.8217, 1.213, 1.66, 2.155, 2.698, 3.288",\
                 "-0.0806, -0.0291, 0.1375, 0.4106, 0.7773, 1.214, 1.71, 2.26, 2.857, 3.507");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.2278, 0.2606, 0.3728, 0.5848, 0.9131, 1.373, 1.978, 2.74, 3.669, 4.775",\
                 "0.2373, 0.2708, 0.3856, 0.6001, 0.9306, 1.391, 1.997, 2.759, 3.688, 4.795",\
                 "0.2753, 0.3078, 0.4216, 0.6362, 0.9682, 1.431, 2.038, 2.801, 3.731, 4.838",\
                 "0.3453, 0.3811, 0.5004, 0.712, 1.04, 1.5, 2.106, 2.869, 3.799, 4.906",\
                 "0.4551, 0.4935, 0.6191, 0.8438, 1.171, 1.624, 2.224, 2.982, 3.909, 5.014",\
                 "0.6005, 0.645, 0.7844, 1.02, 1.363, 1.82, 2.411, 3.16, 4.08, 5.18",\
                 "0.7757, 0.8279, 0.9872, 1.245, 1.602, 2.077, 2.676, 3.415, 4.325, 5.416",\
                 "0.9811, 1.041, 1.222, 1.511, 1.893, 2.385, 3.004, 3.755, 4.654, 5.733",\
                 "1.216, 1.284, 1.49, 1.812, 2.231, 2.746, 3.384, 4.158, 5.072, 6.14",\
                 "1.484, 1.559, 1.789, 2.149, 2.607, 3.161, 3.821, 4.616, 5.555, 6.641");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1744, 0.1978, 0.2786, 0.4293, 0.6613, 0.9846, 1.41, 1.947, 2.599, 3.379",\
                 "0.1737, 0.1973, 0.2783, 0.4293, 0.6613, 0.9846, 1.411, 1.946, 2.598, 3.378",\
                 "0.1905, 0.2101, 0.2815, 0.428, 0.6607, 0.985, 1.411, 1.946, 2.599, 3.378",\
                 "0.2674, 0.2917, 0.3685, 0.4952, 0.6857, 0.9872, 1.411, 1.946, 2.599, 3.378",\
                 "0.3692, 0.3985, 0.4868, 0.634, 0.8372, 1.092, 1.449, 1.949, 2.599, 3.378",\
                 "0.4948, 0.5286, 0.634, 0.8012, 1.027, 1.313, 1.653, 2.075, 2.644, 3.383",\
                 "0.6432, 0.684, 0.807, 0.999, 1.248, 1.562, 1.938, 2.375, 2.877, 3.518",\
                 "0.8108, 0.8604, 1.005, 1.23, 1.508, 1.844, 2.251, 2.724, 3.266, 3.864",\
                 "1.005, 1.059, 1.229, 1.483, 1.798, 2.169, 2.599, 3.107, 3.685, 4.334",\
                 "1.221, 1.282, 1.478, 1.764, 2.12, 2.531, 2.995, 3.529, 4.139, 4.83");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3626, 0.4211, 0.6223, 0.9979, 1.574, 2.379, 3.438, 4.772, 6.394, 8.339",\
                 "0.3628, 0.4211, 0.6223, 0.9977, 1.574, 2.379, 3.438, 4.774, 6.403, 8.332",\
                 "0.3715, 0.4255, 0.6226, 0.9978, 1.573, 2.379, 3.437, 4.771, 6.4, 8.342",\
                 "0.4376, 0.4875, 0.6586, 1.004, 1.574, 2.379, 3.437, 4.771, 6.401, 8.344",\
                 "0.5284, 0.5744, 0.7456, 1.074, 1.599, 2.381, 3.439, 4.772, 6.402, 8.345",\
                 "0.666, 0.7062, 0.8602, 1.185, 1.697, 2.43, 3.445, 4.774, 6.399, 8.343",\
                 "0.8318, 0.8734, 1.024, 1.327, 1.837, 2.558, 3.523, 4.792, 6.404, 8.344",\
                 "1.015, 1.059, 1.222, 1.522, 2.008, 2.732, 3.682, 4.899, 6.444, 8.349",\
                 "1.214, 1.262, 1.436, 1.755, 2.234, 2.935, 3.894, 5.091, 6.58, 8.415",\
                 "1.425, 1.481, 1.672, 2.016, 2.51, 3.189, 4.132, 5.34, 6.805, 8.574");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1041, 0.1183, 0.1665, 0.2556, 0.3922, 0.5823, 0.8317, 1.146, 1.528, 1.984",\
                 "0.1151, 0.1293, 0.1775, 0.2667, 0.4033, 0.5935, 0.8429, 1.157, 1.539, 1.995",\
                 "0.1546, 0.171, 0.2222, 0.3105, 0.4468, 0.6368, 0.886, 1.2, 1.582, 2.038",\
                 "0.182, 0.2042, 0.2742, 0.3871, 0.5348, 0.7241, 0.9724, 1.285, 1.668, 2.123",\
                 "0.1849, 0.2137, 0.3034, 0.4458, 0.6314, 0.8549, 1.112, 1.423, 1.804, 2.258",\
                 "0.1614, 0.1966, 0.3061, 0.4795, 0.7032, 0.9701, 1.276, 1.617, 1.999, 2.452",\
                 "0.1098, 0.151, 0.279, 0.4836, 0.7479, 1.058, 1.413, 1.809, 2.242, 2.711",\
                 "0.0303, 0.0771, 0.2225, 0.4574, 0.7611, 1.118, 1.521, 1.97, 2.462, 2.994",\
                 "-0.0804, -0.0275, 0.1363, 0.3997, 0.7417, 1.145, 1.6, 2.101, 2.649, 3.243",\
                 "-0.2229, -0.1648, 0.0172, 0.3079, 0.6867, 1.136, 1.643, 2.2, 2.805, 3.458");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.2218, 0.2545, 0.3668, 0.5777, 0.9053, 1.364, 1.968, 2.726, 3.653, 4.759",\
                 "0.2314, 0.2647, 0.3796, 0.5937, 0.9222, 1.382, 1.987, 2.746, 3.675, 4.78",\
                 "0.2693, 0.302, 0.415, 0.6297, 0.9605, 1.422, 2.028, 2.788, 3.718, 4.824",\
                 "0.338, 0.3737, 0.4933, 0.7049, 1.032, 1.491, 2.095, 2.857, 3.784, 4.892",\
                 "0.4463, 0.4852, 0.6112, 0.8357, 1.163, 1.615, 2.213, 2.969, 3.895, 4.999",\
                 "0.5889, 0.6341, 0.7751, 1.011, 1.354, 1.81, 2.399, 3.147, 4.066, 5.163",\
                 "0.7614, 0.814, 0.9754, 1.235, 1.592, 2.067, 2.664, 3.401, 4.31, 5.399",\
                 "0.9621, 1.023, 1.208, 1.498, 1.882, 2.373, 2.991, 3.74, 4.638, 5.716",\
                 "1.193, 1.262, 1.471, 1.797, 2.216, 2.734, 3.369, 4.143, 5.055, 6.122",\
                 "1.456, 1.533, 1.768, 2.13, 2.591, 3.146, 3.805, 4.599, 5.537, 6.623");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1411, 0.164, 0.2434, 0.3918, 0.6235, 0.9462, 1.371, 1.907, 2.56, 3.339",\
                 "0.1395, 0.1629, 0.243, 0.392, 0.6233, 0.9465, 1.372, 1.909, 2.56, 3.339",\
                 "0.1697, 0.1898, 0.2541, 0.3915, 0.6225, 0.9462, 1.372, 1.907, 2.561, 3.34",\
                 "0.246, 0.2701, 0.3455, 0.4737, 0.6581, 0.9511, 1.372, 1.907, 2.56, 3.34",\
                 "0.347, 0.3768, 0.4646, 0.6104, 0.8132, 1.069, 1.417, 1.912, 2.561, 3.339",\
                 "0.4702, 0.5062, 0.6116, 0.7786, 1.003, 1.289, 1.632, 2.049, 2.611, 3.346",\
                 "0.612, 0.656, 0.7832, 0.9778, 1.226, 1.536, 1.914, 2.352, 2.855, 3.489",\
                 "0.7778, 0.8288, 0.9782, 1.206, 1.484, 1.822, 2.226, 2.701, 3.242, 3.841",\
                 "0.9686, 1.03, 1.199, 1.458, 1.774, 2.147, 2.576, 3.081, 3.66, 4.311",\
                 "1.176, 1.242, 1.443, 1.739, 2.095, 2.506, 2.976, 3.507, 4.115, 4.807");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.2625, 0.318, 0.5114, 0.8794, 1.452, 2.26, 3.318, 4.652, 6.285, 8.224",\
                 "0.2627, 0.3177, 0.5108, 0.8792, 1.452, 2.261, 3.318, 4.657, 6.279, 8.218",\
                 "0.2714, 0.3219, 0.5115, 0.8796, 1.454, 2.258, 3.317, 4.654, 6.28, 8.215",\
                 "0.3249, 0.3762, 0.5467, 0.8873, 1.454, 2.26, 3.316, 4.652, 6.284, 8.224",\
                 "0.3996, 0.447, 0.622, 0.9548, 1.481, 2.262, 3.315, 4.651, 6.277, 8.221",\
                 "0.512, 0.5602, 0.7246, 1.055, 1.575, 2.31, 3.328, 4.657, 6.286, 8.234",\
                 "0.643, 0.6962, 0.8712, 1.189, 1.708, 2.435, 3.401, 4.674, 6.29, 8.221",\
                 "0.7894, 0.8506, 1.044, 1.371, 1.873, 2.602, 3.558, 4.778, 6.327, 8.231",\
                 "0.946, 1.015, 1.234, 1.588, 2.087, 2.801, 3.765, 4.967, 6.457, 8.291",\
                 "1.116, 1.195, 1.436, 1.827, 2.357, 3.048, 3.996, 5.212, 6.682, 8.455");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.08535, 0.09674, 0.1354, 0.2066, 0.3153, 0.4665, 0.6648, 0.9142, 1.218, 1.581",\
                 "0.09814, 0.1095, 0.148, 0.2192, 0.3279, 0.4791, 0.6774, 0.9268, 1.231, 1.593",\
                 "0.1361, 0.1506, 0.1955, 0.268, 0.3763, 0.5273, 0.7254, 0.9747, 1.279, 1.641",\
                 "0.1556, 0.176, 0.2395, 0.3397, 0.4687, 0.6235, 0.8208, 1.069, 1.373, 1.735",\
                 "0.1475, 0.1744, 0.2569, 0.3868, 0.5527, 0.7491, 0.9699, 1.22, 1.522, 1.883",\
                 "0.1095, 0.1425, 0.2444, 0.4049, 0.6083, 0.8474, 1.117, 1.415, 1.735, 2.096",\
                 "0.04, 0.0787, 0.1989, 0.3891, 0.632, 0.9152, 1.233, 1.583, 1.961, 2.367",\
                 "-0.0626, -0.0186, 0.1196, 0.339, 0.6204, 0.9493, 1.316, 1.717, 2.152, 2.62",\
                 "-0.2003, -0.1502, 0.0049, 0.2519, 0.5708, 0.9452, 1.362, 1.817, 2.308, 2.834",\
                 "-0.3753, -0.3199, -0.1476, 0.127, 0.4817, 0.9008, 1.369, 1.879, 2.427, 3.011");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.2207, 0.2533, 0.3653, 0.5767, 0.9039, 1.363, 1.967, 2.726, 3.653, 4.757",\
                 "0.2291, 0.2626, 0.3769, 0.5905, 0.9194, 1.379, 1.984, 2.743, 3.672, 4.777",\
                 "0.2676, 0.3, 0.4126, 0.6261, 0.9573, 1.418, 2.023, 2.785, 3.713, 4.818",\
                 "0.339, 0.3745, 0.4929, 0.7036, 1.029, 1.488, 2.092, 2.854, 3.779, 4.886",\
                 "0.4543, 0.4923, 0.6169, 0.8397, 1.165, 1.615, 2.213, 2.968, 3.892, 4.998",\
                 "0.6075, 0.6521, 0.79, 1.023, 1.364, 1.817, 2.404, 3.149, 4.067, 5.164",\
                 "0.794, 0.8451, 1.004, 1.258, 1.611, 2.083, 2.677, 3.412, 4.318, 5.405",\
                 "1.013, 1.073, 1.253, 1.537, 1.915, 2.401, 3.016, 3.761, 4.655, 5.732",\
                 "1.266, 1.333, 1.539, 1.857, 2.269, 2.778, 3.409, 4.178, 5.086, 6.149",\
                 "1.556, 1.631, 1.861, 2.215, 2.666, 3.212, 3.864, 4.652, 5.585, 6.665");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1072, 0.1253, 0.1878, 0.3052, 0.4879, 0.7431, 1.078, 1.502, 2.018, 2.633",\
                 "0.1057, 0.1245, 0.1874, 0.3055, 0.488, 0.7435, 1.078, 1.502, 2.018, 2.632",\
                 "0.1479, 0.1635, 0.2125, 0.3109, 0.4877, 0.7431, 1.079, 1.502, 2.018, 2.633",\
                 "0.224, 0.2444, 0.3078, 0.4124, 0.5515, 0.7612, 1.08, 1.501, 2.017, 2.631",\
                 "0.3226, 0.3485, 0.4269, 0.5508, 0.7176, 0.9212, 1.172, 1.53, 2.019, 2.632",\
                 "0.4414, 0.4754, 0.5696, 0.7168, 0.9072, 1.143, 1.422, 1.735, 2.134, 2.67",\
                 "0.582, 0.6222, 0.7362, 0.9104, 1.129, 1.392, 1.703, 2.061, 2.453, 2.907",\
                 "0.7456, 0.7924, 0.9274, 1.132, 1.381, 1.674, 2.015, 2.409, 2.849, 3.333",\
                 "0.9288, 0.9858, 1.144, 1.377, 1.665, 1.991, 2.363, 2.788, 3.269, 3.8",\
                 "1.133, 1.198, 1.387, 1.653, 1.975, 2.341, 2.751, 3.21, 3.723, 4.294");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.2625, 0.3175, 0.5112, 0.8797, 1.454, 2.258, 3.318, 4.655, 6.283, 8.228",\
                 "0.2626, 0.3179, 0.5106, 0.8787, 1.452, 2.26, 3.318, 4.657, 6.278, 8.219",\
                 "0.272, 0.3226, 0.5115, 0.8796, 1.455, 2.258, 3.32, 4.65, 6.279, 8.231",\
                 "0.3246, 0.3756, 0.5469, 0.8858, 1.452, 2.261, 3.32, 4.659, 6.28, 8.221",\
                 "0.3954, 0.444, 0.6196, 0.954, 1.481, 2.262, 3.315, 4.653, 6.29, 8.235",\
                 "0.5022, 0.5518, 0.7172, 1.051, 1.572, 2.307, 3.327, 4.653, 6.283, 8.222",\
                 "0.6308, 0.6836, 0.8586, 1.176, 1.699, 2.43, 3.402, 4.676, 6.29, 8.221",\
                 "0.7742, 0.8328, 1.023, 1.348, 1.854, 2.59, 3.55, 4.771, 6.319, 8.233",\
                 "0.9318, 0.9992, 1.21, 1.561, 2.056, 2.774, 3.747, 4.956, 6.448, 8.297",\
                 "1.103, 1.177, 1.412, 1.79, 2.312, 3.01, 3.966, 5.195, 6.666, 8.443");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1347, 0.1492, 0.1984, 0.2885, 0.4262, 0.6171, 0.8671, 1.181, 1.564, 2.02",\
                 "0.1458, 0.1603, 0.2094, 0.2996, 0.4373, 0.6283, 0.8782, 1.192, 1.575, 2.031",\
                 "0.1904, 0.2054, 0.2539, 0.3434, 0.4808, 0.6715, 0.9214, 1.235, 1.618, 2.074",\
                 "0.2337, 0.2541, 0.3187, 0.4259, 0.569, 0.7588, 1.008, 1.321, 1.703, 2.159",\
                 "0.2536, 0.2789, 0.361, 0.4955, 0.6752, 0.8927, 1.147, 1.458, 1.839, 2.293",\
                 "0.2465, 0.2766, 0.377, 0.5406, 0.7556, 1.016, 1.317, 1.654, 2.035, 2.487",\
                 "0.2097, 0.2465, 0.364, 0.5555, 0.8091, 1.112, 1.461, 1.852, 2.28, 2.747",\
                 "0.1441, 0.1857, 0.3199, 0.5414, 0.8318, 1.18, 1.575, 2.018, 2.505, 3.033",\
                 "0.048, 0.0949, 0.2452, 0.4931, 0.8217, 1.213, 1.66, 2.155, 2.698, 3.288",\
                 "-0.0806, -0.0291, 0.1375, 0.4106, 0.7773, 1.214, 1.71, 2.26, 2.857, 3.507");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.2207, 0.2533, 0.3653, 0.5767, 0.9039, 1.363, 1.967, 2.726, 3.653, 4.757",\
                 "0.2291, 0.2626, 0.3769, 0.5905, 0.9194, 1.379, 1.984, 2.743, 3.672, 4.777",\
                 "0.2676, 0.3, 0.4126, 0.6261, 0.9573, 1.418, 2.023, 2.785, 3.713, 4.818",\
                 "0.339, 0.3745, 0.4929, 0.7036, 1.029, 1.488, 2.092, 2.854, 3.779, 4.886",\
                 "0.4543, 0.4923, 0.6169, 0.8397, 1.165, 1.615, 2.213, 2.968, 3.892, 4.998",\
                 "0.6075, 0.6521, 0.79, 1.023, 1.364, 1.817, 2.404, 3.149, 4.067, 5.164",\
                 "0.794, 0.8451, 1.004, 1.258, 1.611, 2.083, 2.677, 3.412, 4.318, 5.405",\
                 "1.013, 1.073, 1.253, 1.537, 1.915, 2.401, 3.016, 3.761, 4.655, 5.732",\
                 "1.266, 1.333, 1.539, 1.857, 2.269, 2.778, 3.409, 4.178, 5.086, 6.149",\
                 "1.556, 1.631, 1.861, 2.215, 2.666, 3.212, 3.864, 4.652, 5.585, 6.665");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1744, 0.1978, 0.2786, 0.4293, 0.6613, 0.9846, 1.41, 1.947, 2.599, 3.379",\
                 "0.1737, 0.1973, 0.2783, 0.4293, 0.6613, 0.9846, 1.411, 1.946, 2.598, 3.378",\
                 "0.1905, 0.2101, 0.2815, 0.428, 0.6607, 0.985, 1.411, 1.946, 2.599, 3.378",\
                 "0.2674, 0.2917, 0.3685, 0.4952, 0.6857, 0.9872, 1.411, 1.946, 2.599, 3.378",\
                 "0.3692, 0.3985, 0.4868, 0.634, 0.8372, 1.092, 1.449, 1.949, 2.599, 3.378",\
                 "0.4948, 0.5286, 0.634, 0.8012, 1.027, 1.313, 1.653, 2.075, 2.644, 3.383",\
                 "0.6432, 0.684, 0.807, 0.999, 1.248, 1.562, 1.938, 2.375, 2.877, 3.518",\
                 "0.8108, 0.8604, 1.005, 1.23, 1.508, 1.844, 2.251, 2.724, 3.266, 3.864",\
                 "1.005, 1.059, 1.229, 1.483, 1.798, 2.169, 2.599, 3.107, 3.685, 4.334",\
                 "1.221, 1.282, 1.478, 1.764, 2.12, 2.531, 2.995, 3.529, 4.139, 4.83");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3626, 0.4211, 0.6223, 0.9979, 1.574, 2.379, 3.438, 4.772, 6.394, 8.339",\
                 "0.3628, 0.4211, 0.6223, 0.9977, 1.574, 2.379, 3.438, 4.774, 6.403, 8.332",\
                 "0.3715, 0.4255, 0.6226, 0.9978, 1.573, 2.379, 3.437, 4.771, 6.4, 8.342",\
                 "0.4376, 0.4875, 0.6586, 1.004, 1.574, 2.379, 3.437, 4.771, 6.401, 8.344",\
                 "0.5284, 0.5744, 0.7456, 1.074, 1.599, 2.381, 3.439, 4.772, 6.402, 8.345",\
                 "0.666, 0.7062, 0.8602, 1.185, 1.697, 2.43, 3.445, 4.774, 6.399, 8.343",\
                 "0.8318, 0.8734, 1.024, 1.327, 1.837, 2.558, 3.523, 4.792, 6.404, 8.344",\
                 "1.015, 1.059, 1.222, 1.522, 2.008, 2.732, 3.682, 4.899, 6.444, 8.349",\
                 "1.214, 1.262, 1.436, 1.755, 2.234, 2.935, 3.894, 5.091, 6.58, 8.415",\
                 "1.425, 1.481, 1.672, 2.016, 2.51, 3.189, 4.132, 5.34, 6.805, 8.574");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1475, 0.1618, 0.2099, 0.2992, 0.4358, 0.6261, 0.8755, 1.189, 1.572, 2.028",\
                 "0.1616, 0.1759, 0.2246, 0.3141, 0.451, 0.6414, 0.8908, 1.205, 1.588, 2.044",\
                 "0.1927, 0.208, 0.2579, 0.3476, 0.4849, 0.6756, 0.9255, 1.239, 1.622, 2.078",\
                 "0.2117, 0.2305, 0.2912, 0.3937, 0.5382, 0.7291, 0.9787, 1.293, 1.675, 2.131",\
                 "0.2022, 0.227, 0.3036, 0.4276, 0.5941, 0.8047, 1.062, 1.376, 1.758, 2.213",\
                 "0.1547, 0.1852, 0.2815, 0.4343, 0.6322, 0.8707, 1.155, 1.489, 1.876, 2.331",\
                 "0.0647, 0.1017, 0.2177, 0.4024, 0.6379, 0.9154, 1.233, 1.598, 2.014, 2.486",\
                 "-0.0697, -0.0261, 0.1091, 0.3249, 0.6022, 0.9237, 1.285, 1.688, 2.139, 2.644",\
                 "-0.2513, -0.2017, -0.0467, 0.2009, 0.5185, 0.8885, 1.3, 1.75, 2.243, 2.785",\
                 "-0.4815, -0.4267, -0.2526, 0.0267, 0.3849, 0.8033, 1.268, 1.772, 2.317, 2.904");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3255, 0.3584, 0.472, 0.6859, 1.016, 1.477, 2.083, 2.845, 3.775, 4.882",\
                 "0.3337, 0.3666, 0.4809, 0.6952, 1.026, 1.488, 2.094, 2.856, 3.786, 4.893",\
                 "0.3872, 0.4197, 0.5328, 0.7467, 1.077, 1.539, 2.145, 2.907, 3.838, 4.945",\
                 "0.516, 0.5474, 0.6568, 0.8657, 1.191, 1.649, 2.254, 3.014, 3.943, 5.05",\
                 "0.6979, 0.7347, 0.857, 1.07, 1.388, 1.838, 2.435, 3.192, 4.117, 5.221",\
                 "0.9256, 0.9663, 1.102, 1.342, 1.678, 2.122, 2.709, 3.456, 4.375, 5.474",\
                 "1.204, 1.249, 1.398, 1.659, 2.03, 2.504, 3.087, 3.824, 4.732, 5.82",\
                 "1.534, 1.585, 1.751, 2.032, 2.432, 2.948, 3.568, 4.303, 5.198, 6.276",\
                 "1.917, 1.974, 2.158, 2.466, 2.893, 3.444, 4.114, 4.891, 5.787, 6.851",\
                 "2.355, 2.418, 2.622, 2.962, 3.421, 4.002, 4.712, 5.546, 6.487, 7.556");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1399, 0.1633, 0.2426, 0.3918, 0.6233, 0.9472, 1.372, 1.907, 2.561, 3.34",\
                 "0.1401, 0.1626, 0.2429, 0.3917, 0.6235, 0.9464, 1.372, 1.908, 2.56, 3.339",\
                 "0.1551, 0.1749, 0.2466, 0.392, 0.6231, 0.9462, 1.373, 1.908, 2.561, 3.34",\
                 "0.2137, 0.2342, 0.3053, 0.4381, 0.6428, 0.9502, 1.373, 1.908, 2.561, 3.34",\
                 "0.308, 0.3306, 0.403, 0.5348, 0.739, 1.021, 1.403, 1.913, 2.56, 3.339",\
                 "0.4292, 0.4546, 0.5378, 0.6778, 0.8798, 1.163, 1.534, 2.001, 2.601, 3.349",\
                 "0.572, 0.6014, 0.6966, 0.8548, 1.07, 1.352, 1.721, 2.187, 2.753, 3.447",\
                 "0.7352, 0.7688, 0.877, 1.058, 1.294, 1.592, 1.96, 2.422, 2.991, 3.668",\
                 "0.9132, 0.955, 1.079, 1.282, 1.548, 1.872, 2.253, 2.717, 3.281, 3.957",\
                 "1.101, 1.149, 1.296, 1.524, 1.824, 2.178, 2.592, 3.068, 3.633, 4.304");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.5702, 0.6278, 0.8269, 1.201, 1.78, 2.588, 3.647, 4.982, 6.612, 8.551",\
                 "0.5702, 0.6276, 0.8268, 1.202, 1.78, 2.587, 3.648, 4.983, 6.613, 8.553",\
                 "0.5699, 0.6277, 0.8267, 1.202, 1.78, 2.588, 3.649, 4.983, 6.612, 8.551",\
                 "0.6007, 0.6515, 0.834, 1.202, 1.78, 2.587, 3.649, 4.983, 6.611, 8.552",\
                 "0.701, 0.7536, 0.9254, 1.247, 1.785, 2.588, 3.649, 4.985, 6.613, 8.551",\
                 "0.8094, 0.8652, 1.057, 1.392, 1.879, 2.611, 3.649, 4.983, 6.614, 8.554",\
                 "0.9432, 1.001, 1.2, 1.557, 2.076, 2.757, 3.703, 4.99, 6.614, 8.554",\
                 "1.106, 1.165, 1.367, 1.736, 2.291, 3.006, 3.897, 5.078, 6.628, 8.554",\
                 "1.29, 1.354, 1.564, 1.938, 2.506, 3.272, 4.202, 5.326, 6.76, 8.586",\
                 "1.491, 1.56, 1.785, 2.175, 2.752, 3.541, 4.533, 5.686, 7.056, 8.766");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1203, 0.1335, 0.1795, 0.2661, 0.4013, 0.5904, 0.839, 1.152, 1.535, 1.991",\
                 "0.1336, 0.1471, 0.1938, 0.281, 0.4161, 0.6056, 0.8545, 1.168, 1.55, 2.007",\
                 "0.1586, 0.1744, 0.2254, 0.3143, 0.4499, 0.6395, 0.8886, 1.202, 1.585, 2.041",\
                 "0.1635, 0.1847, 0.2497, 0.3555, 0.502, 0.693, 0.9419, 1.256, 1.639, 2.095",\
                 "0.1348, 0.1633, 0.2487, 0.381, 0.5523, 0.7657, 1.025, 1.338, 1.72, 2.176",\
                 "0.0664, 0.1022, 0.211, 0.3762, 0.583, 0.8269, 1.114, 1.45, 1.839, 2.293",\
                 "-0.0436, 0.0001, 0.1307, 0.3309, 0.5789, 0.8644, 1.187, 1.555, 1.974, 2.447",\
                 "-0.1974, -0.1468, 0.0067, 0.2412, 0.5323, 0.8651, 1.235, 1.641, 2.095, 2.602",\
                 "-0.3974, -0.3403, -0.165, 0.1042, 0.4378, 0.8204, 1.242, 1.699, 2.196, 2.741",\
                 "-0.6449, -0.5807, -0.386, -0.0836, 0.2936, 0.7263, 1.203, 1.715, 2.265, 2.857");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3175, 0.3506, 0.4644, 0.6781, 1.007, 1.468, 2.073, 2.831, 3.761, 4.87",\
                 "0.3254, 0.3587, 0.4733, 0.6873, 1.017, 1.478, 2.083, 2.842, 3.769, 4.878",\
                 "0.379, 0.4117, 0.5252, 0.7389, 1.069, 1.529, 2.133, 2.895, 3.822, 4.928",\
                 "0.5075, 0.5396, 0.6492, 0.8574, 1.183, 1.64, 2.242, 3.002, 3.931, 5.037",\
                 "0.6872, 0.7245, 0.8478, 1.061, 1.379, 1.828, 2.424, 3.179, 4.103, 5.208",\
                 "0.9125, 0.9544, 1.091, 1.331, 1.668, 2.111, 2.697, 3.443, 4.359, 5.456",\
                 "1.189, 1.235, 1.385, 1.647, 2.019, 2.493, 3.075, 3.81, 4.716, 5.805",\
                 "1.515, 1.567, 1.735, 2.019, 2.419, 2.935, 3.555, 4.289, 5.183, 6.258",\
                 "1.894, 1.953, 2.14, 2.451, 2.878, 3.428, 4.098, 4.877, 5.77, 6.833",\
                 "2.327, 2.393, 2.6, 2.942, 3.404, 3.984, 4.694, 5.527, 6.471, 7.536");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.105, 0.127, 0.2045, 0.3526, 0.5835, 0.9069, 1.331, 1.867, 2.52, 3.304",\
                 "0.1053, 0.127, 0.2045, 0.3526, 0.5847, 0.9076, 1.331, 1.868, 2.52, 3.305",\
                 "0.1291, 0.1481, 0.2154, 0.354, 0.5838, 0.9063, 1.331, 1.868, 2.521, 3.303",\
                 "0.1924, 0.2115, 0.279, 0.4082, 0.6096, 0.9117, 1.331, 1.867, 2.522, 3.301",\
                 "0.2906, 0.3124, 0.3833, 0.511, 0.7094, 0.9904, 1.368, 1.875, 2.52, 3.303",\
                 "0.4144, 0.4388, 0.5202, 0.6582, 0.8554, 1.134, 1.503, 1.968, 2.569, 3.311",\
                 "0.5608, 0.5892, 0.6798, 0.835, 1.049, 1.326, 1.692, 2.157, 2.722, 3.413",\
                 "0.7236, 0.7578, 0.8608, 1.038, 1.275, 1.57, 1.937, 2.395, 2.96, 3.636",\
                 "0.8966, 0.9362, 1.064, 1.263, 1.529, 1.85, 2.234, 2.691, 3.252, 3.926",\
                 "1.078, 1.125, 1.275, 1.506, 1.804, 2.16, 2.572, 3.05, 3.609, 4.277");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.4498, 0.5076, 0.704, 1.077, 1.654, 2.461, 3.523, 4.855, 6.489, 8.434",\
                 "0.4506, 0.5073, 0.7038, 1.076, 1.653, 2.462, 3.524, 4.855, 6.485, 8.428",\
                 "0.4494, 0.5063, 0.7039, 1.076, 1.653, 2.461, 3.521, 4.856, 6.487, 8.424",\
                 "0.4796, 0.5293, 0.7105, 1.076, 1.652, 2.46, 3.522, 4.856, 6.489, 8.431",\
                 "0.563, 0.6192, 0.7986, 1.12, 1.658, 2.459, 3.52, 4.857, 6.489, 8.433",\
                 "0.652, 0.711, 0.912, 1.26, 1.753, 2.483, 3.521, 4.855, 6.487, 8.428",\
                 "0.7662, 0.8278, 1.038, 1.414, 1.944, 2.628, 3.573, 4.862, 6.485, 8.43",\
                 "0.9008, 0.97, 1.19, 1.573, 2.145, 2.874, 3.768, 4.95, 6.5, 8.427",\
                 "1.052, 1.129, 1.366, 1.763, 2.348, 3.129, 4.068, 5.195, 6.633, 8.457",\
                 "1.219, 1.303, 1.562, 1.985, 2.581, 3.385, 4.391, 5.554, 6.929, 8.636");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1022, 0.1122, 0.1469, 0.2125, 0.314, 0.4568, 0.6436, 0.8799, 1.168, 1.511",\
                 "0.1161, 0.1264, 0.1617, 0.2276, 0.3295, 0.4723, 0.6597, 0.8954, 1.183, 1.527",\
                 "0.1464, 0.1603, 0.2033, 0.2729, 0.3755, 0.5182, 0.706, 0.9418, 1.23, 1.573",\
                 "0.1536, 0.1737, 0.2351, 0.3308, 0.4541, 0.6036, 0.7914, 1.028, 1.316, 1.658",\
                 "0.1267, 0.1538, 0.2359, 0.3623, 0.5213, 0.7074, 0.9198, 1.161, 1.45, 1.792",\
                 "0.0606, 0.0945, 0.199, 0.3588, 0.5572, 0.7854, 1.042, 1.324, 1.635, 1.981",\
                 "-0.0469, -0.0058, 0.1195, 0.3136, 0.554, 0.8288, 1.132, 1.463, 1.822, 2.21",\
                 "-0.1981, -0.1506, -0.0039, 0.2229, 0.5068, 0.8298, 1.185, 1.568, 1.98, 2.421",\
                 "-0.3951, -0.342, -0.1752, 0.0848, 0.4109, 0.7841, 1.193, 1.632, 2.1, 2.597",\
                 "-0.6416, -0.5823, -0.3965, -0.1035, 0.2642, 0.6867, 1.152, 1.649, 2.177, 2.734");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3587, 0.3911, 0.5034, 0.7154, 1.044, 1.503, 2.108, 2.867, 3.799, 4.899",\
                 "0.367, 0.3997, 0.5129, 0.7258, 1.055, 1.515, 2.12, 2.882, 3.806, 4.915",\
                 "0.4202, 0.4524, 0.5645, 0.7771, 1.106, 1.566, 2.17, 2.931, 3.862, 4.964",\
                 "0.5486, 0.58, 0.6887, 0.896, 1.22, 1.677, 2.28, 3.038, 3.967, 5.074",\
                 "0.7359, 0.7724, 0.8913, 1.101, 1.418, 1.867, 2.463, 3.217, 4.141, 5.24",\
                 "0.9678, 1.008, 1.141, 1.377, 1.71, 2.152, 2.739, 3.485, 4.399, 5.497",\
                 "1.252, 1.295, 1.441, 1.699, 2.068, 2.538, 3.119, 3.854, 4.759, 5.846",\
                 "1.588, 1.637, 1.798, 2.077, 2.475, 2.988, 3.605, 4.337, 5.231, 6.307",\
                 "1.977, 2.033, 2.212, 2.515, 2.94, 3.489, 4.156, 4.93, 5.825, 6.888",\
                 "2.423, 2.484, 2.681, 3.015, 3.471, 4.052, 4.761, 5.591, 6.532, 7.597");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.0941, 0.1108, 0.1694, 0.2815, 0.455, 0.6994, 1.02, 1.422, 1.913, 2.503",\
                 "0.09462, 0.1108, 0.1695, 0.2812, 0.4556, 0.6994, 1.019, 1.423, 1.915, 2.5",\
                 "0.1364, 0.1494, 0.1936, 0.2876, 0.4552, 0.6986, 1.018, 1.422, 1.916, 2.501",\
                 "0.2216, 0.2362, 0.2872, 0.3796, 0.5133, 0.7181, 1.02, 1.424, 1.914, 2.505",\
                 "0.3355, 0.3523, 0.41, 0.513, 0.6628, 0.8572, 1.106, 1.453, 1.919, 2.502",\
                 "0.474, 0.493, 0.5592, 0.6766, 0.8412, 1.055, 1.318, 1.632, 2.026, 2.543",\
                 "0.6338, 0.6552, 0.7318, 0.8676, 1.054, 1.287, 1.57, 1.908, 2.297, 2.753",\
                 "0.8112, 0.8372, 0.9242, 1.08, 1.291, 1.554, 1.859, 2.219, 2.634, 3.108",\
                 "0.9996, 1.031, 1.136, 1.314, 1.556, 1.846, 2.185, 2.567, 3.009, 3.509",\
                 "1.196, 1.234, 1.363, 1.568, 1.838, 2.166, 2.539, 2.959, 3.424, 3.952");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.5001, 0.557, 0.7531, 1.126, 1.703, 2.509, 3.573, 4.905, 6.538, 8.477",\
                 "0.4994, 0.5568, 0.7539, 1.125, 1.703, 2.511, 3.573, 4.909, 6.535, 8.479",\
                 "0.4988, 0.5553, 0.7526, 1.125, 1.703, 2.51, 3.57, 4.904, 6.538, 8.475",\
                 "0.5206, 0.5721, 0.7561, 1.124, 1.702, 2.51, 3.571, 4.906, 6.536, 8.482",\
                 "0.608, 0.662, 0.8374, 1.161, 1.704, 2.508, 3.571, 4.908, 6.539, 8.472",\
                 "0.6982, 0.7576, 0.9562, 1.299, 1.791, 2.528, 3.57, 4.907, 6.537, 8.479",\
                 "0.8094, 0.8708, 1.077, 1.452, 1.98, 2.664, 3.616, 4.91, 6.535, 8.478",\
                 "0.9448, 1.012, 1.225, 1.611, 2.178, 2.905, 3.802, 4.99, 6.547, 8.477",\
                 "1.1, 1.171, 1.401, 1.796, 2.381, 3.161, 4.096, 5.226, 6.671, 8.504",\
                 "1.271, 1.352, 1.599, 2.015, 2.611, 3.414, 4.418, 5.577, 6.956, 8.67");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1475, 0.1618, 0.2099, 0.2992, 0.4358, 0.6261, 0.8755, 1.189, 1.572, 2.028",\
                 "0.1616, 0.1759, 0.2246, 0.3141, 0.451, 0.6414, 0.8908, 1.205, 1.588, 2.044",\
                 "0.1927, 0.208, 0.2579, 0.3476, 0.4849, 0.6756, 0.9255, 1.239, 1.622, 2.078",\
                 "0.2117, 0.2305, 0.2912, 0.3937, 0.5382, 0.7291, 0.9787, 1.293, 1.675, 2.131",\
                 "0.2022, 0.227, 0.3036, 0.4276, 0.5941, 0.8047, 1.062, 1.376, 1.758, 2.213",\
                 "0.1547, 0.1852, 0.2815, 0.4343, 0.6322, 0.8707, 1.155, 1.489, 1.876, 2.331",\
                 "0.0647, 0.1017, 0.2177, 0.4024, 0.6379, 0.9154, 1.233, 1.598, 2.014, 2.486",\
                 "-0.0697, -0.0261, 0.1091, 0.3249, 0.6022, 0.9237, 1.285, 1.688, 2.139, 2.644",\
                 "-0.2513, -0.2017, -0.0467, 0.2009, 0.5185, 0.8885, 1.3, 1.75, 2.243, 2.785",\
                 "-0.4815, -0.4267, -0.2526, 0.0267, 0.3849, 0.8033, 1.268, 1.772, 2.317, 2.904");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3587, 0.3911, 0.5034, 0.7154, 1.044, 1.503, 2.108, 2.867, 3.799, 4.899",\
                 "0.367, 0.3997, 0.5129, 0.7258, 1.055, 1.515, 2.12, 2.882, 3.806, 4.915",\
                 "0.4202, 0.4524, 0.5645, 0.7771, 1.106, 1.566, 2.17, 2.931, 3.862, 4.964",\
                 "0.5486, 0.58, 0.6887, 0.896, 1.22, 1.677, 2.28, 3.038, 3.967, 5.074",\
                 "0.7359, 0.7724, 0.8913, 1.101, 1.418, 1.867, 2.463, 3.217, 4.141, 5.24",\
                 "0.9678, 1.008, 1.141, 1.377, 1.71, 2.152, 2.739, 3.485, 4.399, 5.497",\
                 "1.252, 1.295, 1.441, 1.699, 2.068, 2.538, 3.119, 3.854, 4.759, 5.846",\
                 "1.588, 1.637, 1.798, 2.077, 2.475, 2.988, 3.605, 4.337, 5.231, 6.307",\
                 "1.977, 2.033, 2.212, 2.515, 2.94, 3.489, 4.156, 4.93, 5.825, 6.888",\
                 "2.423, 2.484, 2.681, 3.015, 3.471, 4.052, 4.761, 5.591, 6.532, 7.597");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1399, 0.1633, 0.2426, 0.3918, 0.6233, 0.9472, 1.372, 1.907, 2.561, 3.34",\
                 "0.1401, 0.1626, 0.2429, 0.3917, 0.6235, 0.9464, 1.372, 1.908, 2.56, 3.339",\
                 "0.1551, 0.1749, 0.2466, 0.392, 0.6231, 0.9462, 1.373, 1.908, 2.561, 3.34",\
                 "0.2137, 0.2342, 0.3053, 0.4381, 0.6428, 0.9502, 1.373, 1.908, 2.561, 3.34",\
                 "0.308, 0.3306, 0.403, 0.5348, 0.739, 1.021, 1.403, 1.913, 2.56, 3.339",\
                 "0.4292, 0.4546, 0.5378, 0.6778, 0.8798, 1.163, 1.534, 2.001, 2.601, 3.349",\
                 "0.572, 0.6014, 0.6966, 0.8548, 1.07, 1.352, 1.721, 2.187, 2.753, 3.447",\
                 "0.7352, 0.7688, 0.877, 1.058, 1.294, 1.592, 1.96, 2.422, 2.991, 3.668",\
                 "0.9132, 0.955, 1.079, 1.282, 1.548, 1.872, 2.253, 2.717, 3.281, 3.957",\
                 "1.101, 1.149, 1.296, 1.524, 1.824, 2.178, 2.592, 3.068, 3.633, 4.304");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.5702, 0.6278, 0.8269, 1.201, 1.78, 2.588, 3.647, 4.982, 6.612, 8.551",\
                 "0.5702, 0.6276, 0.8268, 1.202, 1.78, 2.587, 3.648, 4.983, 6.613, 8.553",\
                 "0.5699, 0.6277, 0.8267, 1.202, 1.78, 2.588, 3.649, 4.983, 6.612, 8.551",\
                 "0.6007, 0.6515, 0.834, 1.202, 1.78, 2.587, 3.649, 4.983, 6.611, 8.552",\
                 "0.701, 0.7536, 0.9254, 1.247, 1.785, 2.588, 3.649, 4.985, 6.613, 8.551",\
                 "0.8094, 0.8652, 1.057, 1.392, 1.879, 2.611, 3.649, 4.983, 6.614, 8.554",\
                 "0.9432, 1.001, 1.2, 1.557, 2.076, 2.757, 3.703, 4.99, 6.614, 8.554",\
                 "1.106, 1.165, 1.367, 1.736, 2.291, 3.006, 3.897, 5.078, 6.628, 8.554",\
                 "1.29, 1.354, 1.564, 1.938, 2.506, 3.272, 4.202, 5.326, 6.76, 8.586",\
                 "1.491, 1.56, 1.785, 2.175, 2.752, 3.541, 4.533, 5.686, 7.056, 8.766");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1763, 0.1907, 0.2397, 0.33, 0.4675, 0.6585, 0.9084, 1.222, 1.605, 2.061",\
                 "0.1886, 0.2031, 0.2522, 0.3424, 0.4801, 0.6711, 0.9211, 1.235, 1.618, 2.074",\
                 "0.2209, 0.2356, 0.2847, 0.375, 0.5127, 0.7037, 0.9538, 1.268, 1.651, 2.107",\
                 "0.2486, 0.2662, 0.3237, 0.4238, 0.5661, 0.7571, 1.007, 1.321, 1.704, 2.16",\
                 "0.2539, 0.276, 0.3477, 0.4657, 0.6277, 0.8353, 1.091, 1.404, 1.786, 2.242",\
                 "0.2266, 0.2543, 0.3424, 0.4857, 0.6753, 0.9082, 1.189, 1.52, 1.905, 2.36",\
                 "0.1643, 0.1964, 0.3015, 0.4733, 0.6968, 0.9642, 1.275, 1.635, 2.048, 2.517",\
                 "0.0661, 0.1031, 0.2238, 0.4231, 0.6832, 0.9906, 1.341, 1.735, 2.18, 2.68",\
                 "-0.0703, -0.0276, 0.109, 0.3333, 0.6289, 0.9799, 1.376, 1.813, 2.296, 2.831",\
                 "-0.2453, -0.1986, -0.0467, 0.2034, 0.5331, 0.9278, 1.372, 1.859, 2.388, 2.965");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3642, 0.3971, 0.5105, 0.7241, 1.054, 1.515, 2.121, 2.883, 3.814, 4.921",\
                 "0.3751, 0.4083, 0.5224, 0.7368, 1.067, 1.529, 2.135, 2.897, 3.827, 4.934",\
                 "0.4129, 0.4459, 0.5602, 0.7754, 1.107, 1.569, 2.175, 2.938, 3.868, 4.975",\
                 "0.4947, 0.5277, 0.6397, 0.8512, 1.18, 1.64, 2.245, 3.007, 3.936, 5.044",\
                 "0.6222, 0.6569, 0.7752, 0.9906, 1.313, 1.766, 2.365, 3.123, 4.049, 5.154",\
                 "0.8013, 0.8378, 0.9606, 1.184, 1.517, 1.965, 2.554, 3.303, 4.222, 5.321",\
                 "1.023, 1.064, 1.199, 1.432, 1.774, 2.238, 2.826, 3.563, 4.471, 5.561",\
                 "1.286, 1.331, 1.48, 1.734, 2.09, 2.566, 3.172, 3.911, 4.806, 5.883",\
                 "1.588, 1.639, 1.805, 2.083, 2.464, 2.954, 3.575, 4.335, 5.237, 6.299",\
                 "1.931, 1.988, 2.173, 2.478, 2.891, 3.407, 4.042, 4.818, 5.743, 6.815");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1735, 0.1974, 0.2781, 0.4289, 0.6612, 0.9847, 1.411, 1.947, 2.6, 3.378",\
                 "0.1735, 0.1971, 0.2785, 0.4287, 0.6612, 0.9853, 1.411, 1.946, 2.599, 3.378",\
                 "0.1823, 0.2038, 0.2804, 0.429, 0.6613, 0.9846, 1.411, 1.947, 2.599, 3.378",\
                 "0.2407, 0.262, 0.3347, 0.4683, 0.6771, 0.9877, 1.411, 1.946, 2.599, 3.378",\
                 "0.3369, 0.3584, 0.4326, 0.566, 0.771, 1.053, 1.439, 1.952, 2.599, 3.378",\
                 "0.4646, 0.489, 0.5696, 0.7078, 0.9106, 1.193, 1.565, 2.034, 2.636, 3.385",\
                 "0.6176, 0.6466, 0.7368, 0.8898, 1.099, 1.381, 1.751, 2.217, 2.785, 3.481",\
                 "0.7966, 0.8288, 0.933, 1.104, 1.333, 1.621, 1.989, 2.451, 3.021, 3.698",\
                 "0.9996, 1.039, 1.154, 1.344, 1.597, 1.908, 2.286, 2.744, 3.307, 3.983",\
                 "1.225, 1.268, 1.401, 1.614, 1.894, 2.23, 2.629, 3.095, 3.657, 4.328");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.5701, 0.6276, 0.8268, 1.202, 1.779, 2.587, 3.648, 4.983, 6.608, 8.548",\
                 "0.5702, 0.6277, 0.8269, 1.202, 1.779, 2.588, 3.647, 4.982, 6.608, 8.555",\
                 "0.5704, 0.6277, 0.8269, 1.202, 1.78, 2.588, 3.648, 4.983, 6.614, 8.554",\
                 "0.6041, 0.6552, 0.8394, 1.203, 1.78, 2.588, 3.649, 4.984, 6.612, 8.55",\
                 "0.6848, 0.7366, 0.914, 1.249, 1.792, 2.588, 3.649, 4.983, 6.613, 8.554",\
                 "0.7892, 0.8394, 1.015, 1.353, 1.872, 2.622, 3.653, 4.985, 6.614, 8.554",\
                 "0.9316, 0.9798, 1.149, 1.482, 2.008, 2.734, 3.713, 4.997, 6.614, 8.555",\
                 "1.099, 1.15, 1.324, 1.647, 2.163, 2.903, 3.86, 5.088, 6.644, 8.557",\
                 "1.286, 1.344, 1.527, 1.859, 2.364, 3.091, 4.061, 5.268, 6.767, 8.612",\
                 "1.492, 1.556, 1.752, 2.103, 2.609, 3.322, 4.287, 5.508, 6.98, 8.767");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1452, 0.1593, 0.2071, 0.296, 0.4324, 0.6225, 0.8718, 1.185, 1.568, 2.024",\
                 "0.1575, 0.1716, 0.2196, 0.3086, 0.445, 0.6352, 0.8844, 1.198, 1.581, 2.037",\
                 "0.1869, 0.202, 0.2516, 0.3409, 0.4775, 0.6677, 0.9172, 1.231, 1.614, 2.069",\
                 "0.2037, 0.2229, 0.2837, 0.3861, 0.5303, 0.721, 0.9702, 1.284, 1.667, 2.122",\
                 "0.1933, 0.218, 0.2959, 0.4205, 0.5867, 0.7968, 1.054, 1.367, 1.749, 2.204",\
                 "0.1488, 0.18, 0.2774, 0.4305, 0.6276, 0.8652, 1.148, 1.481, 1.868, 2.322",\
                 "0.0711, 0.1078, 0.2233, 0.4065, 0.6404, 0.9153, 1.23, 1.593, 2.008, 2.478",\
                 "-0.0418, 0.0004, 0.1329, 0.3447, 0.6175, 0.9341, 1.291, 1.69, 2.137, 2.64",\
                 "-0.1917, -0.1445, 0.0051, 0.2447, 0.5543, 0.9157, 1.32, 1.763, 2.25, 2.788",\
                 "-0.38, -0.3284, -0.1623, 0.1043, 0.449, 0.8546, 1.308, 1.803, 2.338, 2.918");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3563, 0.3892, 0.5028, 0.7164, 1.046, 1.506, 2.11, 2.871, 3.798, 4.904",\
                 "0.3672, 0.4004, 0.5148, 0.7288, 1.059, 1.52, 2.125, 2.883, 3.817, 4.917",\
                 "0.4047, 0.4378, 0.5525, 0.7674, 1.098, 1.559, 2.164, 2.924, 3.852, 4.959",\
                 "0.4855, 0.5193, 0.6319, 0.843, 1.171, 1.63, 2.234, 2.993, 3.921, 5.028",\
                 "0.6124, 0.6474, 0.7662, 0.982, 1.303, 1.755, 2.354, 3.11, 4.035, 5.14",\
                 "0.7899, 0.8272, 0.951, 1.174, 1.508, 1.955, 2.543, 3.289, 4.208, 5.306",\
                 "1.01, 1.052, 1.187, 1.421, 1.764, 2.227, 2.814, 3.549, 4.456, 5.543",\
                 "1.269, 1.316, 1.467, 1.721, 2.079, 2.553, 3.158, 3.896, 4.79, 5.865",\
                 "1.568, 1.62, 1.788, 2.069, 2.451, 2.941, 3.561, 4.32, 5.22, 6.28",\
                 "1.907, 1.965, 2.153, 2.462, 2.875, 3.392, 4.027, 4.801, 5.724, 6.796");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1391, 0.1617, 0.2416, 0.3907, 0.621, 0.9454, 1.37, 1.907, 2.56, 3.339",\
                 "0.1388, 0.1616, 0.2414, 0.3906, 0.6221, 0.9452, 1.371, 1.907, 2.559, 3.338",\
                 "0.1563, 0.1764, 0.2474, 0.3906, 0.621, 0.9454, 1.371, 1.906, 2.558, 3.338",\
                 "0.2196, 0.2395, 0.3087, 0.4392, 0.643, 0.9496, 1.371, 1.906, 2.559, 3.338",\
                 "0.3208, 0.3417, 0.4128, 0.5404, 0.7418, 1.022, 1.403, 1.913, 2.559, 3.337",\
                 "0.4512, 0.4752, 0.554, 0.688, 0.8862, 1.164, 1.535, 2.002, 2.601, 3.347",\
                 "0.608, 0.6352, 0.7238, 0.873, 1.08, 1.357, 1.722, 2.187, 2.753, 3.448",\
                 "0.7914, 0.8208, 0.921, 1.089, 1.313, 1.601, 1.964, 2.422, 2.991, 3.667",\
                 "0.9926, 1.029, 1.143, 1.33, 1.583, 1.888, 2.263, 2.718, 3.279, 3.954",\
                 "1.212, 1.254, 1.393, 1.598, 1.877, 2.212, 2.609, 3.076, 3.631, 4.299");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.4498, 0.5065, 0.7041, 1.076, 1.654, 2.462, 3.52, 4.857, 6.481, 8.42",\
                 "0.4502, 0.5066, 0.7035, 1.077, 1.654, 2.461, 3.522, 4.853, 6.49, 8.423",\
                 "0.45, 0.5064, 0.7037, 1.076, 1.652, 2.461, 3.52, 4.855, 6.487, 8.429",\
                 "0.4828, 0.5336, 0.7152, 1.077, 1.653, 2.46, 3.522, 4.855, 6.485, 8.432",\
                 "0.551, 0.6048, 0.7872, 1.123, 1.664, 2.46, 3.521, 4.857, 6.488, 8.434",\
                 "0.6422, 0.6944, 0.8764, 1.222, 1.745, 2.493, 3.523, 4.857, 6.487, 8.429",\
                 "0.7634, 0.8194, 1, 1.341, 1.873, 2.606, 3.584, 4.868, 6.486, 8.429",\
                 "0.9044, 0.9642, 1.16, 1.497, 2.024, 2.768, 3.73, 4.959, 6.515, 8.431",\
                 "1.063, 1.13, 1.339, 1.696, 2.216, 2.951, 3.929, 5.139, 6.637, 8.483",\
                 "1.236, 1.307, 1.539, 1.923, 2.456, 3.176, 4.147, 5.378, 6.854, 8.64");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1195, 0.1302, 0.1668, 0.2341, 0.337, 0.4803, 0.6684, 0.9045, 1.193, 1.536",\
                 "0.1329, 0.1436, 0.1802, 0.2474, 0.3506, 0.4938, 0.6817, 0.9181, 1.206, 1.55",\
                 "0.1704, 0.1832, 0.2237, 0.2922, 0.3953, 0.5389, 0.7267, 0.963, 1.251, 1.595",\
                 "0.1917, 0.2097, 0.2661, 0.3569, 0.4764, 0.624, 0.8122, 1.048, 1.336, 1.68",\
                 "0.1828, 0.2069, 0.2814, 0.3996, 0.5518, 0.7332, 0.9423, 1.183, 1.471, 1.814",\
                 "0.1405, 0.1703, 0.2637, 0.4115, 0.5998, 0.8203, 1.07, 1.349, 1.657, 2.003",\
                 "0.0642, 0.0991, 0.2096, 0.3872, 0.6136, 0.877, 1.171, 1.496, 1.851, 2.235",\
                 "-0.0472, -0.0072, 0.1197, 0.3246, 0.5898, 0.897, 1.24, 1.613, 2.017, 2.453",\
                 "-0.1958, -0.1512, -0.0082, 0.2236, 0.5239, 0.8767, 1.268, 1.694, 2.151, 2.64",\
                 "-0.3837, -0.3345, -0.1769, 0.0808, 0.4167, 0.8133, 1.255, 1.734, 2.247, 2.792");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3975, 0.4297, 0.5418, 0.7542, 1.083, 1.542, 2.145, 2.905, 3.835, 4.938",\
                 "0.4087, 0.4413, 0.5543, 0.7673, 1.096, 1.556, 2.16, 2.92, 3.853, 4.957",\
                 "0.4458, 0.4785, 0.5916, 0.8056, 1.136, 1.596, 2.201, 2.962, 3.891, 4.994",\
                 "0.5283, 0.5605, 0.6712, 0.881, 1.208, 1.666, 2.271, 3.032, 3.958, 5.065",\
                 "0.6584, 0.6926, 0.8091, 1.022, 1.342, 1.794, 2.392, 3.147, 4.073, 5.177",\
                 "0.8413, 0.8769, 0.9979, 1.219, 1.55, 1.996, 2.583, 3.329, 4.248, 5.345",\
                 "1.07, 1.11, 1.24, 1.471, 1.812, 2.272, 2.858, 3.593, 4.5, 5.588",\
                 "1.339, 1.383, 1.529, 1.778, 2.131, 2.606, 3.21, 3.947, 4.84, 5.914",\
                 "1.65, 1.7, 1.861, 2.134, 2.511, 2.999, 3.619, 4.377, 5.276, 6.337",\
                 "2.002, 2.057, 2.236, 2.536, 2.944, 3.458, 4.092, 4.867, 5.79, 6.86");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1203, 0.1376, 0.1973, 0.31, 0.484, 0.7276, 1.049, 1.452, 1.942, 2.528",\
                 "0.1203, 0.1374, 0.1975, 0.31, 0.4838, 0.7278, 1.048, 1.452, 1.943, 2.529",\
                 "0.1545, 0.1676, 0.2136, 0.3134, 0.4843, 0.7275, 1.048, 1.451, 1.943, 2.529",\
                 "0.2433, 0.2585, 0.3086, 0.3999, 0.5345, 0.7438, 1.05, 1.452, 1.943, 2.529",\
                 "0.3615, 0.3781, 0.4342, 0.5358, 0.6834, 0.8766, 1.128, 1.478, 1.946, 2.528",\
                 "0.506, 0.5258, 0.589, 0.704, 0.865, 1.078, 1.34, 1.652, 2.05, 2.57",\
                 "0.6776, 0.6988, 0.7726, 0.9006, 1.08, 1.308, 1.591, 1.927, 2.318, 2.773",\
                 "0.8734, 0.8972, 0.98, 1.127, 1.326, 1.579, 1.878, 2.236, 2.651, 3.127",\
                 "1.09, 1.119, 1.214, 1.377, 1.604, 1.88, 2.208, 2.585, 3.025, 3.523",\
                 "1.325, 1.36, 1.473, 1.658, 1.909, 2.217, 2.574, 2.976, 3.439, 3.963");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.4994, 0.5559, 0.7527, 1.126, 1.704, 2.509, 3.569, 4.905, 6.536, 8.471",\
                 "0.4993, 0.5556, 0.7524, 1.125, 1.702, 2.509, 3.569, 4.904, 6.541, 8.481",\
                 "0.4998, 0.5565, 0.7527, 1.127, 1.703, 2.51, 3.57, 4.906, 6.535, 8.479",\
                 "0.525, 0.5768, 0.7614, 1.126, 1.702, 2.509, 3.572, 4.907, 6.534, 8.482",\
                 "0.5928, 0.6466, 0.8288, 1.166, 1.711, 2.509, 3.572, 4.906, 6.538, 8.481",\
                 "0.6778, 0.731, 0.9146, 1.263, 1.787, 2.539, 3.572, 4.906, 6.537, 8.48",\
                 "0.7948, 0.8482, 1.031, 1.375, 1.912, 2.646, 3.629, 4.916, 6.535, 8.478",\
                 "0.9372, 0.9954, 1.185, 1.526, 2.055, 2.805, 3.768, 5.003, 6.562, 8.48",\
                 "1.096, 1.158, 1.364, 1.716, 2.238, 2.982, 3.963, 5.176, 6.678, 8.529",\
                 "1.269, 1.341, 1.564, 1.942, 2.466, 3.197, 4.176, 5.408, 6.886, 8.675");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1763, 0.1907, 0.2397, 0.33, 0.4675, 0.6585, 0.9084, 1.222, 1.605, 2.061",\
                 "0.1886, 0.2031, 0.2522, 0.3424, 0.4801, 0.6711, 0.9211, 1.235, 1.618, 2.074",\
                 "0.2209, 0.2356, 0.2847, 0.375, 0.5127, 0.7037, 0.9538, 1.268, 1.651, 2.107",\
                 "0.2486, 0.2662, 0.3237, 0.4238, 0.5661, 0.7571, 1.007, 1.321, 1.704, 2.16",\
                 "0.2539, 0.276, 0.3477, 0.4657, 0.6277, 0.8353, 1.091, 1.404, 1.786, 2.242",\
                 "0.2266, 0.2543, 0.3424, 0.4857, 0.6753, 0.9082, 1.189, 1.52, 1.905, 2.36",\
                 "0.1643, 0.1964, 0.3015, 0.4733, 0.6968, 0.9642, 1.275, 1.635, 2.048, 2.517",\
                 "0.0661, 0.1031, 0.2238, 0.4231, 0.6832, 0.9906, 1.341, 1.735, 2.18, 2.68",\
                 "-0.0703, -0.0276, 0.109, 0.3333, 0.6289, 0.9799, 1.376, 1.813, 2.296, 2.831",\
                 "-0.2453, -0.1986, -0.0467, 0.2034, 0.5331, 0.9278, 1.372, 1.859, 2.388, 2.965");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.3975, 0.4297, 0.5418, 0.7542, 1.083, 1.542, 2.145, 2.905, 3.835, 4.938",\
                 "0.4087, 0.4413, 0.5543, 0.7673, 1.096, 1.556, 2.16, 2.92, 3.853, 4.957",\
                 "0.4458, 0.4785, 0.5916, 0.8056, 1.136, 1.596, 2.201, 2.962, 3.891, 4.994",\
                 "0.5283, 0.5605, 0.6712, 0.881, 1.208, 1.666, 2.271, 3.032, 3.958, 5.065",\
                 "0.6584, 0.6926, 0.8091, 1.022, 1.342, 1.794, 2.392, 3.147, 4.073, 5.177",\
                 "0.8413, 0.8769, 0.9979, 1.219, 1.55, 1.996, 2.583, 3.329, 4.248, 5.345",\
                 "1.07, 1.11, 1.24, 1.471, 1.812, 2.272, 2.858, 3.593, 4.5, 5.588",\
                 "1.339, 1.383, 1.529, 1.778, 2.131, 2.606, 3.21, 3.947, 4.84, 5.914",\
                 "1.65, 1.7, 1.861, 2.134, 2.511, 2.999, 3.619, 4.377, 5.276, 6.337",\
                 "2.002, 2.057, 2.236, 2.536, 2.944, 3.458, 4.092, 4.867, 5.79, 6.86");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.1735, 0.1974, 0.2781, 0.4289, 0.6612, 0.9847, 1.411, 1.947, 2.6, 3.378",\
                 "0.1735, 0.1971, 0.2785, 0.4287, 0.6612, 0.9853, 1.411, 1.946, 2.599, 3.378",\
                 "0.1823, 0.2038, 0.2804, 0.429, 0.6613, 0.9846, 1.411, 1.947, 2.599, 3.378",\
                 "0.2407, 0.262, 0.3347, 0.4683, 0.6771, 0.9877, 1.411, 1.946, 2.599, 3.378",\
                 "0.3369, 0.3584, 0.4326, 0.566, 0.771, 1.053, 1.439, 1.952, 2.599, 3.378",\
                 "0.4646, 0.489, 0.5696, 0.7078, 0.9106, 1.193, 1.565, 2.034, 2.636, 3.385",\
                 "0.6176, 0.6466, 0.7368, 0.8898, 1.099, 1.381, 1.751, 2.217, 2.785, 3.481",\
                 "0.7966, 0.8288, 0.933, 1.104, 1.333, 1.621, 1.989, 2.451, 3.021, 3.698",\
                 "0.9996, 1.039, 1.154, 1.344, 1.597, 1.908, 2.286, 2.744, 3.307, 3.983",\
                 "1.225, 1.268, 1.401, 1.614, 1.894, 2.23, 2.629, 3.095, 3.657, 4.328");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005389, 0.0208, 0.05022, 0.09606, 0.1604, 0.245, 0.3516, 0.4818, 0.6369");
          values("0.5701, 0.6276, 0.8268, 1.202, 1.779, 2.587, 3.648, 4.983, 6.608, 8.548",\
                 "0.5702, 0.6277, 0.8269, 1.202, 1.779, 2.588, 3.647, 4.982, 6.608, 8.555",\
                 "0.5704, 0.6277, 0.8269, 1.202, 1.78, 2.588, 3.648, 4.983, 6.614, 8.554",\
                 "0.6041, 0.6552, 0.8394, 1.203, 1.78, 2.588, 3.649, 4.984, 6.612, 8.55",\
                 "0.6848, 0.7366, 0.914, 1.249, 1.792, 2.588, 3.649, 4.983, 6.613, 8.554",\
                 "0.7892, 0.8394, 1.015, 1.353, 1.872, 2.622, 3.653, 4.985, 6.614, 8.554",\
                 "0.9316, 0.9798, 1.149, 1.482, 2.008, 2.734, 3.713, 4.997, 6.614, 8.555",\
                 "1.099, 1.15, 1.324, 1.647, 2.163, 2.903, 3.86, 5.088, 6.644, 8.557",\
                 "1.286, 1.344, 1.527, 1.859, 2.364, 3.091, 4.061, 5.268, 6.767, 8.612",\
                 "1.492, 1.556, 1.752, 2.103, 2.609, 3.322, 4.287, 5.508, 6.98, 8.767");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai31_1) {
    area : 24.147200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B" ;
      value : "5.47173e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B" ;
      value : "8.69187e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B" ;
      value : "7.33887e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B" ;
      value : "8.69187e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B" ;
      value : "5.91789e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B" ;
      value : "8.71728e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B" ;
      value : "5.91789e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B" ;
      value : "8.69187e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B" ;
      value : "4.47909e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B" ;
      value : "8.71728e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B" ;
      value : "4.47909e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B" ;
      value : "8.71728e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B" ;
      value : "4.47909e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B" ;
      value : "8.7318e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B" ;
      value : "4.47909e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.7318e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004562 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01675, 0.01676, 0.01676, 0.01671, 0.01666, 0.01666, 0.01664, \
                 0.01663, 0.01662, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007426, 0.007418, 0.007415, 0.007393, 0.007326, 0.007265, 0.007231, \
                 0.007178, 0.007124, 0.007058");
        }
      }

      internal_power() {
        when : "!A2&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01681, 0.01682, 0.01684, 0.01681, 0.01677, 0.01674, 0.01672, \
                 0.01669, 0.01666, 0.01662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01475, -0.015, -0.01545, -0.01573, -0.0159, -0.01605, -0.01614, \
                 -0.01619, -0.01623, -0.01626");
        }
      }

      internal_power() {
        when : "!A2&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02359, 0.02358, 0.02353, 0.0235, 0.02348, 0.02348, 0.02346, \
                 0.02342, 0.02338, 0.02332");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00478, -0.004778, -0.004792, -0.00479, -0.004792, -0.004806, \
                 -0.004806, -0.004808, -0.004809, -0.004805");
        }
      }

      internal_power() {
        when : "A2&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01682, 0.01685, 0.01687, 0.01683, 0.01677, 0.01676, 0.0167, \
                 0.01668, 0.01665, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01611, -0.01615, -0.01633, -0.01639, -0.01641, -0.01646, -0.01646, \
                 -0.01646, -0.01647, -0.01647");
        }
      }

      internal_power() {
        when : "A2&!A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01432, 0.01429, 0.01427, 0.01426, 0.01426, 0.01427, 0.01425, \
                 0.01423, 0.01421, 0.01417");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004854, -0.004854, -0.00487, -0.004865, -0.004863, -0.004882, \
                 -0.004883, -0.004884, -0.004884, -0.00488");
        }
      }

      internal_power() {
        when : "A2&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01684, 0.01687, 0.01688, 0.01684, 0.0168, 0.01675, 0.01671, \
                 0.0167, 0.01665, 0.01662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01589, -0.01611, -0.01633, -0.01639, -0.01641, -0.01646, -0.01648, \
                 -0.01646, -0.01646, -0.01646");
        }
      }

      internal_power() {
        when : "A2&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01432, 0.0143, 0.01428, 0.01426, 0.01425, 0.01426, 0.01425, \
                 0.01423, 0.01421, 0.01417");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004862, -0.004849, -0.004859, -0.004866, -0.004869, -0.004884, \
                 -0.004882, -0.004883, -0.004884, -0.004881");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004216 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01672, 0.01672, 0.01672, 0.0167, 0.01665, 0.01665, 0.01665, \
                 0.01661, 0.01662, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007477, 0.007468, 0.007432, 0.007396, 0.007359, 0.007294, 0.007238, \
                 0.007194, 0.007138, 0.007057");
        }
      }

      internal_power() {
        when : "!A1&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01675, 0.01677, 0.0168, 0.01682, 0.01676, 0.01674, 0.0167, 0.01668, \
                 0.01664, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01597, -0.01607, -0.01614, -0.01627, -0.01633, -0.0164, -0.01641, \
                 -0.01642, -0.01643, -0.01644");
        }
      }

      internal_power() {
        when : "!A1&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009249, 0.009245, 0.009266, 0.009261, 0.009259, 0.009264, 0.009246, \
                 0.009217, 0.009177, 0.009131");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005643, -0.005635, -0.005637, -0.005648, -0.005644, -0.005678, \
                 -0.005686, -0.005697, -0.005712, -0.005738");
        }
      }

      internal_power() {
        when : "A1&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01679, 0.01677, 0.01675, 0.0167, 0.01668, 0.01671, 0.01671, \
                 0.01666, 0.01665, 0.01662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01592, -0.01593, -0.01602, -0.01624, -0.0163, -0.01636, -0.01637, \
                 -0.0164, -0.01642, -0.01643");
        }
      }

      internal_power() {
        when : "A1&!A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01462, 0.0146, 0.01459, 0.01458, 0.01459, 0.01461, 0.01461, \
                 0.01461, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01222, -0.01286, -0.01392, -0.01418, -0.01426, -0.01434, -0.01436, \
                 -0.01439, -0.01441, -0.01442");
        }
      }

      internal_power() {
        when : "A1&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01186, 0.01186, 0.01185, 0.01181, 0.0118, 0.01178, 0.01178, \
                 0.01175, 0.01173, 0.0117");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01507, -0.01505, -0.01503, -0.01503, -0.01503, -0.01507, -0.01505, \
                 -0.01502, -0.01501, -0.01499");
        }
      }

      internal_power() {
        when : "A1&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009644, 0.009617, 0.009639, 0.009662, 0.00964, 0.009676, 0.009668, \
                 0.009674, 0.009672, 0.009668");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01002, -0.009847, -0.009726, -0.009686, -0.00964, -0.009644, \
                 -0.009607, -0.009586, -0.009577, -0.009588");
        }
      }
    }

    pin(A3) {
      capacitance : 0.004352 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01668, 0.01667, 0.01668, 0.01665, 0.01661, 0.01663, 0.01664, \
                 0.01662, 0.01662, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0075, 0.007528, 0.007469, 0.007411, 0.007367, 0.007324, 0.007257, \
                 0.007204, 0.007154, 0.007064");
        }
      }

      internal_power() {
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01678, 0.01675, 0.01681, 0.01675, 0.01674, 0.01671, 0.01669, \
                 0.01665, 0.01663, 0.0166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01596, -0.01597, -0.01613, -0.01623, -0.01631, -0.01636, -0.01639, \
                 -0.01639, -0.01641, -0.01641");
        }
      }

      internal_power() {
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01455, 0.01459, 0.01457, 0.0146, 0.01461, \
                 0.0146, 0.0146, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01311, -0.01372, -0.01404, -0.01419, -0.01424, -0.01433, -0.01435, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01675, 0.01674, 0.01672, 0.01672, 0.01671, 0.01671, 0.0167, \
                 0.01667, 0.01665, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01462, -0.01491, -0.01545, -0.0158, -0.01597, -0.01608, -0.01615, \
                 -0.0162, -0.01623, -0.01626");
        }
      }

      internal_power() {
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01455, 0.0146, 0.01459, 0.01462, 0.01463, \
                 0.0146, 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01249, -0.0128, -0.01335, -0.01373, -0.01391, -0.01404, -0.01413, \
                 -0.01418, -0.01421, -0.01423");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01679, 0.01677, 0.01678, 0.01676, 0.01671, 0.0167, 0.0167, 0.01666, \
                 0.01664, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01569, -0.0159, -0.01616, -0.01626, -0.0163, -0.01638, -0.0164, \
                 -0.0164, -0.01643, -0.01642");
        }
      }

      internal_power() {
        when : "A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01457, 0.01456, 0.01457, 0.0146, 0.01461, \
                 0.0146, 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01365, -0.01378, -0.01405, -0.01418, -0.01424, -0.01433, -0.01436, \
                 -0.01438, -0.01439, -0.0144");
        }
      }
    }

    pin(B) {
      capacitance : 0.004554 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01626, 0.01529, 0.01521, 0.01518, 0.01514, 0.01513, 0.01512, \
                 0.01512, 0.0151, 0.0151");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01526, -0.01523, -0.01523, -0.0152, -0.01515, -0.01514, -0.01512, \
                 -0.0151, -0.01508, -0.01507");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2)&(!A3))|(!B))" ;
      max_capacitance : 0.1073 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.005615, 0.005652, 0.005742, 0.005815, 0.005857, 0.00589, 0.00591, 0.005929, 0.005939, 0.005948",\
                 "0.005858, 0.005922, 0.006124, 0.006322, 0.006476, 0.006571, 0.006651, 0.006704, 0.006724, 0.006752",\
                 "0.007203, 0.007236, 0.007321, 0.007436, 0.007535, 0.007603, 0.007641, 0.007688, 0.007699, 0.007723",\
                 "0.0107, 0.01062, 0.01035, 0.01006, 0.009743, 0.009439, 0.009222, 0.008997, 0.008846, 0.008722",\
                 "0.01781, 0.01755, 0.01674, 0.01565, 0.01459, 0.0136, 0.01271, 0.01198, 0.01138, 0.01087",\
                 "0.02961, 0.02915, 0.02768, 0.02558, 0.02333, 0.02127, 0.01941, 0.0178, 0.01642, 0.01524",\
                 "0.04667, 0.04594, 0.0438, 0.04058, 0.03693, 0.0334, 0.03022, 0.02741, 0.02495, 0.02281",\
                 "0.06928, 0.0684, 0.06558, 0.06121, 0.05609, 0.05087, 0.04601, 0.04165, 0.03777, 0.03436",\
                 "0.09782, 0.09674, 0.09332, 0.08782, 0.08122, 0.07422, 0.06743, 0.06124, 0.05564, 0.0507",\
                 "0.1325, 0.1313, 0.1272, 0.1207, 0.1126, 0.1039, 0.09513, 0.0868, 0.07919, 0.07238");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.07069, 0.0708, 0.07108, 0.07141, 0.07171, 0.07196, 0.0722, 0.07259, 0.0728, 0.07401",\
                 "0.06963, 0.0698, 0.07031, 0.07097, 0.07154, 0.07199, 0.07243, 0.07275, 0.07319, 0.07444",\
                 "0.06943, 0.06948, 0.06973, 0.07014, 0.07076, 0.07137, 0.0719, 0.07239, 0.0729, 0.07438",\
                 "0.07397, 0.07381, 0.07332, 0.07276, 0.07245, 0.07242, 0.07253, 0.07276, 0.07318, 0.0746",\
                 "0.08343, 0.08314, 0.08201, 0.08046, 0.07881, 0.07744, 0.07639, 0.07589, 0.07568, 0.07675",\
                 "0.09803, 0.09748, 0.09585, 0.09347, 0.09053, 0.08767, 0.08514, 0.08302, 0.08172, 0.08212",\
                 "0.1183, 0.1176, 0.1153, 0.112, 0.1081, 0.1037, 0.09959, 0.09576, 0.09289, 0.09263",\
                 "0.1447, 0.1437, 0.1408, 0.1364, 0.1313, 0.1258, 0.1202, 0.1146, 0.1098, 0.1089",\
                 "0.1777, 0.1765, 0.1729, 0.1675, 0.161, 0.1541, 0.1471, 0.14, 0.1337, 0.1332",\
                 "0.2177, 0.2164, 0.2121, 0.2055, 0.1977, 0.1892, 0.1807, 0.1721, 0.1652, 0.168");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.01877, 0.01877, 0.01878, 0.01878, 0.01879, 0.01882, 0.01882, 0.01882, 0.01882, 0.01882",\
                 "0.01869, 0.01868, 0.0187, 0.01872, 0.01875, 0.01878, 0.01879, 0.01879, 0.01881, 0.01881",\
                 "0.01898, 0.01896, 0.01894, 0.01889, 0.01885, 0.01884, 0.01882, 0.01881, 0.01878, 0.01878",\
                 "0.02181, 0.0217, 0.02138, 0.02096, 0.02055, 0.02019, 0.01985, 0.01963, 0.01943, 0.01931",\
                 "0.02911, 0.02883, 0.02796, 0.02675, 0.02546, 0.02434, 0.02331, 0.0225, 0.0218, 0.02128",\
                 "0.04178, 0.04129, 0.03977, 0.0375, 0.03503, 0.03258, 0.03045, 0.02863, 0.02711, 0.02581",\
                 "0.06046, 0.05974, 0.05751, 0.05405, 0.05006, 0.04607, 0.04236, 0.03908, 0.03625, 0.03384",\
                 "0.08555, 0.08461, 0.08165, 0.07699, 0.07135, 0.06556, 0.05997, 0.05491, 0.0504, 0.04643",\
                 "0.1174, 0.1162, 0.1125, 0.1067, 0.09943, 0.09166, 0.08405, 0.07686, 0.07035, 0.06453",\
                 "0.1561, 0.1548, 0.1505, 0.1435, 0.1347, 0.1249, 0.1151, 0.1057, 0.09684, 0.08884");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.0814, 0.08148, 0.08171, 0.08199, 0.08229, 0.08249, 0.08273, 0.08291, 0.08326, 0.08457",\
                 "0.08018, 0.0804, 0.08091, 0.08154, 0.0821, 0.08259, 0.08296, 0.08331, 0.08372, 0.08497",\
                 "0.07817, 0.07833, 0.07884, 0.07961, 0.08053, 0.08136, 0.0821, 0.08268, 0.08331, 0.08475",\
                 "0.08011, 0.08006, 0.07999, 0.08006, 0.08042, 0.0809, 0.08157, 0.08216, 0.08275, 0.08447",\
                 "0.08856, 0.08822, 0.08744, 0.08633, 0.08529, 0.0846, 0.08424, 0.08408, 0.08425, 0.08595",\
                 "0.104, 0.1034, 0.1018, 0.09943, 0.09686, 0.09437, 0.0923, 0.09077, 0.08971, 0.09066",\
                 "0.1264, 0.1256, 0.1231, 0.1195, 0.1155, 0.1113, 0.1072, 0.1037, 0.101, 0.101",\
                 "0.1559, 0.1549, 0.1517, 0.1468, 0.141, 0.1353, 0.1296, 0.1238, 0.119, 0.118",\
                 "0.1929, 0.1916, 0.1877, 0.1816, 0.1743, 0.1666, 0.1591, 0.1515, 0.1448, 0.1434",\
                 "0.2377, 0.2363, 0.2317, 0.2244, 0.2155, 0.2057, 0.1962, 0.1869, 0.1791, 0.1799");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.02732, 0.02734, 0.02731, 0.02729, 0.0273, 0.02731, 0.02732, 0.02733, 0.02733, 0.02733",\
                 "0.02642, 0.02641, 0.02641, 0.02638, 0.02638, 0.02639, 0.0264, 0.02641, 0.02641, 0.02643",\
                 "0.02596, 0.02594, 0.02587, 0.02578, 0.0257, 0.02565, 0.02562, 0.02562, 0.02557, 0.02556",\
                 "0.0286, 0.02844, 0.02808, 0.02757, 0.02706, 0.02666, 0.0263, 0.02605, 0.02584, 0.0257",\
                 "0.03655, 0.03619, 0.03517, 0.03372, 0.03222, 0.03088, 0.02977, 0.02889, 0.02814, 0.02757",\
                 "0.05107, 0.05047, 0.0486, 0.04584, 0.04278, 0.0399, 0.03742, 0.0353, 0.03362, 0.03221",\
                 "0.07298, 0.07209, 0.06926, 0.06496, 0.06005, 0.05516, 0.05069, 0.04686, 0.04359, 0.04084",\
                 "0.1028, 0.1016, 0.09786, 0.09191, 0.08487, 0.07766, 0.07085, 0.0647, 0.0593, 0.0547",\
                 "0.1409, 0.1394, 0.1348, 0.1273, 0.1181, 0.1083, 0.0988, 0.08994, 0.08195, 0.075",\
                 "0.1874, 0.1858, 0.1803, 0.1714, 0.16, 0.1476, 0.1352, 0.1234, 0.1124, 0.1027");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.09133, 0.09141, 0.09161, 0.09188, 0.09212, 0.09239, 0.09263, 0.09288, 0.09306, 0.09441",\
                 "0.0901, 0.09029, 0.09079, 0.09148, 0.09198, 0.09245, 0.09286, 0.09314, 0.09359, 0.09491",\
                 "0.08786, 0.08806, 0.08856, 0.08941, 0.09035, 0.09123, 0.09193, 0.09262, 0.09318, 0.09469",\
                 "0.08861, 0.08862, 0.08864, 0.08899, 0.08959, 0.09018, 0.09094, 0.09167, 0.09235, 0.09407",\
                 "0.09612, 0.09594, 0.09532, 0.09444, 0.09368, 0.09321, 0.09312, 0.09315, 0.09353, 0.09513",\
                 "0.1127, 0.1121, 0.1105, 0.1081, 0.1057, 0.1033, 0.1014, 0.1001, 0.09921, 0.1001",\
                 "0.1387, 0.1378, 0.1351, 0.131, 0.1266, 0.1223, 0.1181, 0.1144, 0.1117, 0.1114",\
                 "0.1739, 0.1727, 0.169, 0.1633, 0.1567, 0.1501, 0.1437, 0.1377, 0.1324, 0.1308",\
                 "0.2181, 0.2168, 0.2123, 0.2051, 0.1964, 0.1873, 0.1785, 0.17, 0.1626, 0.16",\
                 "0.2718, 0.2702, 0.265, 0.2565, 0.2459, 0.2345, 0.223, 0.2121, 0.2028, 0.2011");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.02734, 0.02737, 0.02739, 0.02746, 0.02752, 0.02755, 0.02758, 0.02761, 0.02763, 0.02762",\
                 "0.02672, 0.02676, 0.0269, 0.02705, 0.02721, 0.02733, 0.02742, 0.02749, 0.02753, 0.02755",\
                 "0.0261, 0.02614, 0.0263, 0.02648, 0.02672, 0.02691, 0.0271, 0.02723, 0.0273, 0.02737",\
                 "0.02876, 0.02867, 0.02854, 0.02835, 0.02822, 0.02809, 0.02797, 0.02791, 0.02788, 0.02783",\
                 "0.03768, 0.03746, 0.0367, 0.03563, 0.03445, 0.03338, 0.03248, 0.0317, 0.03099, 0.03047",\
                 "0.05452, 0.05411, 0.05256, 0.05022, 0.04752, 0.04495, 0.04254, 0.04042, 0.03862, 0.03708",\
                 "0.08033, 0.07959, 0.0772, 0.07339, 0.06892, 0.06429, 0.05985, 0.05589, 0.05235, 0.04928",\
                 "0.1154, 0.1144, 0.1113, 0.1061, 0.09959, 0.09259, 0.08578, 0.07949, 0.07369, 0.06853",\
                 "0.1601, 0.159, 0.1552, 0.1487, 0.1403, 0.1308, 0.1213, 0.1122, 0.1038, 0.09609",\
                 "0.2149, 0.2135, 0.2091, 0.2015, 0.1913, 0.1796, 0.1673, 0.1552, 0.1437, 0.1331");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1255, 0.1255, 0.1256, 0.1257, 0.1258, 0.1259, 0.1261, 0.1265, 0.1268, 0.1271",\
                 "0.1245, 0.1245, 0.1246, 0.1247, 0.1249, 0.1251, 0.1254, 0.1257, 0.126, 0.1264",\
                 "0.1252, 0.1251, 0.1251, 0.125, 0.125, 0.1251, 0.1253, 0.1256, 0.1259, 0.1262",\
                 "0.132, 0.1318, 0.131, 0.13, 0.1291, 0.1283, 0.1278, 0.1275, 0.1274, 0.1275",\
                 "0.1466, 0.1461, 0.1446, 0.1424, 0.1399, 0.1374, 0.1354, 0.1339, 0.1326, 0.1319",\
                 "0.1699, 0.1691, 0.1668, 0.1632, 0.1589, 0.1545, 0.1504, 0.1469, 0.144, 0.1415",\
                 "0.2024, 0.2016, 0.1985, 0.1936, 0.1873, 0.1806, 0.1744, 0.1684, 0.163, 0.1585",\
                 "0.2446, 0.2436, 0.24, 0.234, 0.2261, 0.2172, 0.2079, 0.1993, 0.1915, 0.1843",\
                 "0.297, 0.2959, 0.2918, 0.2849, 0.2755, 0.2644, 0.2526, 0.2409, 0.2301, 0.2201",\
                 "0.3601, 0.3589, 0.3545, 0.3467, 0.3363, 0.3233, 0.3091, 0.2943, 0.2799, 0.2669");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.0181, 0.01813, 0.01816, 0.01823, 0.0183, 0.01837, 0.01839, 0.01841, 0.01842, 0.01843",\
                 "0.01746, 0.01747, 0.01763, 0.01783, 0.01801, 0.01814, 0.01822, 0.01828, 0.01833, 0.01836",\
                 "0.0167, 0.01676, 0.01695, 0.01718, 0.01744, 0.01769, 0.01788, 0.01802, 0.0181, 0.01818",\
                 "0.01943, 0.01935, 0.0192, 0.01906, 0.01892, 0.01883, 0.01875, 0.01869, 0.01865, 0.01862",\
                 "0.02887, 0.02861, 0.02775, 0.02661, 0.02536, 0.02425, 0.0233, 0.02252, 0.02184, 0.02128",\
                 "0.04654, 0.04599, 0.04432, 0.04173, 0.03885, 0.03613, 0.03362, 0.03143, 0.02956, 0.02799",\
                 "0.07328, 0.07251, 0.06991, 0.06574, 0.06088, 0.0559, 0.05128, 0.04717, 0.0435, 0.04033",\
                 "0.1094, 0.1083, 0.1049, 0.09926, 0.09228, 0.08488, 0.0777, 0.07107, 0.0651, 0.05978",\
                 "0.155, 0.1537, 0.1496, 0.1426, 0.1337, 0.1238, 0.1138, 0.1042, 0.09554, 0.08758",\
                 "0.2106, 0.2092, 0.2044, 0.1962, 0.1855, 0.1732, 0.1603, 0.1477, 0.1358, 0.1249");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1157, 0.1157, 0.1157, 0.1158, 0.1159, 0.116, 0.1162, 0.1165, 0.1169, 0.1172",\
                 "0.1146, 0.1146, 0.1148, 0.1149, 0.1151, 0.1153, 0.1155, 0.1158, 0.1161, 0.1165",\
                 "0.1153, 0.1152, 0.1152, 0.1151, 0.1151, 0.1152, 0.1154, 0.1157, 0.116, 0.1162",\
                 "0.122, 0.1219, 0.1211, 0.1202, 0.1192, 0.1184, 0.1179, 0.1176, 0.1175, 0.1175",\
                 "0.1367, 0.1362, 0.1347, 0.1325, 0.13, 0.1275, 0.1254, 0.1239, 0.1228, 0.122",\
                 "0.16, 0.1592, 0.1569, 0.1532, 0.1489, 0.1446, 0.1405, 0.1368, 0.1341, 0.1318",\
                 "0.1925, 0.1916, 0.1886, 0.1837, 0.1774, 0.1706, 0.1644, 0.1584, 0.1532, 0.1484",\
                 "0.2347, 0.2336, 0.2301, 0.2242, 0.216, 0.2072, 0.198, 0.1895, 0.1816, 0.1745",\
                 "0.2871, 0.2859, 0.2819, 0.2751, 0.2656, 0.2547, 0.2428, 0.2312, 0.2201, 0.2104",\
                 "0.3503, 0.3489, 0.3446, 0.337, 0.3262, 0.3134, 0.299, 0.2845, 0.27, 0.2571");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.01812, 0.01811, 0.01816, 0.01826, 0.0183, 0.01836, 0.01838, 0.0184, 0.01841, 0.01843",\
                 "0.01742, 0.01748, 0.01766, 0.01782, 0.01803, 0.01813, 0.01821, 0.01827, 0.01832, 0.01835",\
                 "0.01678, 0.01685, 0.01704, 0.01728, 0.01753, 0.01773, 0.01792, 0.01803, 0.01814, 0.01819",\
                 "0.01985, 0.0198, 0.01963, 0.01941, 0.01923, 0.01909, 0.01898, 0.01886, 0.01879, 0.01873",\
                 "0.02969, 0.02939, 0.02856, 0.0273, 0.02602, 0.02485, 0.02381, 0.02295, 0.02221, 0.0216",\
                 "0.04772, 0.04719, 0.04547, 0.04285, 0.03987, 0.03704, 0.03442, 0.03215, 0.03022, 0.02856",\
                 "0.07481, 0.07403, 0.07143, 0.06721, 0.06226, 0.05724, 0.05251, 0.04824, 0.04447, 0.04122",\
                 "0.1111, 0.1102, 0.1067, 0.1011, 0.09406, 0.08658, 0.07927, 0.07254, 0.06648, 0.06106",\
                 "0.1572, 0.1559, 0.1518, 0.1448, 0.1359, 0.1259, 0.1158, 0.1062, 0.09731, 0.08937",\
                 "0.2132, 0.2117, 0.207, 0.1989, 0.1881, 0.1758, 0.1629, 0.1501, 0.138, 0.1271");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1245, 0.1245, 0.1246, 0.1247, 0.1248, 0.1249, 0.1251, 0.1253, 0.1256, 0.126",\
                 "0.1235, 0.1235, 0.1237, 0.1239, 0.1241, 0.1243, 0.1246, 0.1249, 0.1253, 0.1256",\
                 "0.1242, 0.1242, 0.1241, 0.1241, 0.1242, 0.1243, 0.1245, 0.1247, 0.125, 0.1255",\
                 "0.1309, 0.1307, 0.1302, 0.1293, 0.1284, 0.1276, 0.1271, 0.1268, 0.1268, 0.1268",\
                 "0.1454, 0.145, 0.1437, 0.1418, 0.1395, 0.1371, 0.1352, 0.1335, 0.1323, 0.1315",\
                 "0.1687, 0.1681, 0.166, 0.1627, 0.1587, 0.1548, 0.1507, 0.1471, 0.1442, 0.1418",\
                 "0.2012, 0.2004, 0.1978, 0.1932, 0.1875, 0.1813, 0.1753, 0.1696, 0.1642, 0.1596",\
                 "0.2434, 0.2425, 0.2392, 0.2338, 0.2266, 0.2182, 0.2096, 0.2016, 0.1939, 0.1869",\
                 "0.2961, 0.2949, 0.2913, 0.2849, 0.2763, 0.266, 0.255, 0.2439, 0.2337, 0.2241",\
                 "0.3594, 0.3582, 0.3543, 0.3472, 0.3372, 0.3252, 0.312, 0.2982, 0.2848, 0.2719");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.0048, 0.00483, 0.004919, 0.005023, 0.005068, 0.005113, 0.005136, 0.005157, 0.00517, 0.005181",\
                 "0.003909, 0.004007, 0.004267, 0.004541, 0.004742, 0.004868, 0.004968, 0.005025, 0.00508, 0.0051",\
                 "0.003002, 0.0031, 0.003369, 0.003705, 0.004086, 0.004375, 0.004577, 0.004726, 0.00484, 0.004919",\
                 "0.006311, 0.006257, 0.006014, 0.005834, 0.005683, 0.005574, 0.005502, 0.005433, 0.005422, 0.005367",\
                 "0.01704, 0.01661, 0.01549, 0.01402, 0.01256, 0.01131, 0.01026, 0.009372, 0.008665, 0.008095",\
                 "0.03618, 0.03551, 0.03336, 0.03021, 0.02684, 0.02367, 0.02095, 0.01858, 0.0166, 0.01494",\
                 "0.0644, 0.06341, 0.06024, 0.05537, 0.0497, 0.0442, 0.03913, 0.03471, 0.03084, 0.02751",\
                 "0.1017, 0.1005, 0.09649, 0.09, 0.0822, 0.07396, 0.06622, 0.05912, 0.05282, 0.04729",\
                 "0.1485, 0.147, 0.1423, 0.1344, 0.1245, 0.1137, 0.103, 0.09287, 0.08376, 0.07547",\
                 "0.205, 0.2033, 0.1979, 0.1889, 0.1772, 0.1639, 0.1503, 0.1369, 0.1245, 0.1133");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1051, 0.1051, 0.1051, 0.1053, 0.1054, 0.1055, 0.1057, 0.106, 0.1064, 0.1067",\
                 "0.104, 0.104, 0.1041, 0.1043, 0.1045, 0.1048, 0.105, 0.1054, 0.1055, 0.1061",\
                 "0.1047, 0.1046, 0.1045, 0.1046, 0.1046, 0.1047, 0.1049, 0.1052, 0.1055, 0.1058",\
                 "0.1115, 0.1113, 0.1106, 0.1096, 0.1086, 0.1079, 0.1073, 0.1069, 0.107, 0.1071",\
                 "0.1262, 0.1257, 0.1241, 0.122, 0.1195, 0.117, 0.1149, 0.1133, 0.1122, 0.1112",\
                 "0.1495, 0.1488, 0.1466, 0.1428, 0.1384, 0.134, 0.13, 0.1265, 0.1236, 0.121",\
                 "0.1821, 0.1812, 0.1783, 0.1731, 0.1669, 0.1602, 0.1538, 0.1479, 0.1425, 0.1381",\
                 "0.2244, 0.2233, 0.2197, 0.2138, 0.2057, 0.1967, 0.1875, 0.1789, 0.1713, 0.164",\
                 "0.2768, 0.2756, 0.2717, 0.2646, 0.2552, 0.2441, 0.2324, 0.2207, 0.2099, 0.1998",\
                 "0.3401, 0.3387, 0.3343, 0.3267, 0.3159, 0.3029, 0.2886, 0.274, 0.2597, 0.2466");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.004802, 0.004835, 0.004924, 0.005012, 0.005072, 0.00511, 0.005141, 0.005157, 0.005166, 0.005182",\
                 "0.003926, 0.004031, 0.004276, 0.004543, 0.004746, 0.004871, 0.004968, 0.005024, 0.005075, 0.005102",\
                 "0.003099, 0.003195, 0.003471, 0.003831, 0.004139, 0.004428, 0.00462, 0.004752, 0.004864, 0.004919",\
                 "0.006795, 0.006692, 0.00645, 0.006215, 0.006008, 0.00585, 0.00572, 0.005628, 0.005559, 0.005496",\
                 "0.01783, 0.01743, 0.01632, 0.01481, 0.01325, 0.01189, 0.01077, 0.009826, 0.009044, 0.008433",\
                 "0.03741, 0.03669, 0.03455, 0.03134, 0.02788, 0.02463, 0.0218, 0.01934, 0.01727, 0.01556",\
                 "0.06591, 0.0649, 0.06175, 0.05686, 0.05117, 0.04556, 0.04037, 0.03583, 0.03185, 0.02842",\
                 "0.1036, 0.1023, 0.09832, 0.09182, 0.08399, 0.07569, 0.06781, 0.06062, 0.05425, 0.04857",\
                 "0.1507, 0.1492, 0.1445, 0.1366, 0.1267, 0.1158, 0.105, 0.09478, 0.08551, 0.07721",\
                 "0.2075, 0.2058, 0.2005, 0.1915, 0.1798, 0.1665, 0.1527, 0.1394, 0.1269, 0.1154");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.114, 0.114, 0.1141, 0.1141, 0.1143, 0.1144, 0.1145, 0.1148, 0.115, 0.1156",\
                 "0.1129, 0.113, 0.1132, 0.1133, 0.1136, 0.1139, 0.114, 0.1144, 0.1147, 0.1152",\
                 "0.1136, 0.1136, 0.1135, 0.1136, 0.1137, 0.1137, 0.1139, 0.1144, 0.1146, 0.1151",\
                 "0.1204, 0.1202, 0.1197, 0.1187, 0.1178, 0.1171, 0.1166, 0.1163, 0.1162, 0.1164",\
                 "0.135, 0.1346, 0.1332, 0.1312, 0.1289, 0.1265, 0.1246, 0.123, 0.1219, 0.1208",\
                 "0.1583, 0.1576, 0.1556, 0.1522, 0.1482, 0.1443, 0.1402, 0.1367, 0.1336, 0.1312",\
                 "0.1908, 0.1899, 0.1873, 0.1828, 0.177, 0.1708, 0.1648, 0.159, 0.1539, 0.1493",\
                 "0.2331, 0.2321, 0.229, 0.2235, 0.216, 0.2077, 0.199, 0.191, 0.1835, 0.1763",\
                 "0.2857, 0.2846, 0.2809, 0.2746, 0.2659, 0.2556, 0.2446, 0.2335, 0.2233, 0.2135",\
                 "0.3491, 0.348, 0.3439, 0.3367, 0.3269, 0.315, 0.3017, 0.2876, 0.2743, 0.2614");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.004802, 0.004835, 0.004923, 0.005012, 0.005071, 0.00511, 0.00514, 0.005157, 0.005166, 0.005178",\
                 "0.003926, 0.004024, 0.004277, 0.004543, 0.004746, 0.00487, 0.00497, 0.005024, 0.005075, 0.005102",\
                 "0.003099, 0.003195, 0.003471, 0.003832, 0.004147, 0.004417, 0.004642, 0.004747, 0.00486, 0.004917",\
                 "0.006795, 0.006692, 0.00645, 0.006215, 0.006008, 0.005853, 0.00572, 0.005628, 0.005559, 0.005496",\
                 "0.01783, 0.01743, 0.01634, 0.01478, 0.01329, 0.01189, 0.01077, 0.00981, 0.009077, 0.008431",\
                 "0.03742, 0.03669, 0.03455, 0.03134, 0.02788, 0.02463, 0.0218, 0.01933, 0.01727, 0.01554",\
                 "0.06593, 0.0649, 0.06174, 0.05685, 0.05117, 0.04556, 0.04037, 0.03582, 0.03185, 0.02844",\
                 "0.1035, 0.1023, 0.09832, 0.09183, 0.08399, 0.07566, 0.06781, 0.06062, 0.05425, 0.04859",\
                 "0.1506, 0.1492, 0.1445, 0.1366, 0.1267, 0.1158, 0.105, 0.09478, 0.08551, 0.07721",\
                 "0.2075, 0.2059, 0.2005, 0.1915, 0.1798, 0.1665, 0.1527, 0.1394, 0.1269, 0.1154");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1139, 0.114, 0.1141, 0.1141, 0.1143, 0.1143, 0.1145, 0.1148, 0.1151, 0.1156",\
                 "0.1129, 0.113, 0.1132, 0.1133, 0.1136, 0.1139, 0.114, 0.1144, 0.1147, 0.1152",\
                 "0.1136, 0.1135, 0.1136, 0.1135, 0.1136, 0.1137, 0.114, 0.1144, 0.1146, 0.1151",\
                 "0.1204, 0.1202, 0.1196, 0.1187, 0.1178, 0.1171, 0.1166, 0.1163, 0.1162, 0.1164",\
                 "0.1349, 0.1345, 0.1332, 0.1312, 0.1289, 0.1266, 0.1246, 0.123, 0.1217, 0.1208",\
                 "0.1582, 0.1576, 0.1556, 0.1522, 0.1481, 0.1443, 0.1403, 0.1366, 0.1337, 0.1312",\
                 "0.1908, 0.19, 0.1873, 0.1828, 0.1771, 0.1708, 0.1647, 0.1588, 0.154, 0.1493",\
                 "0.2331, 0.2322, 0.229, 0.2234, 0.2162, 0.2077, 0.1993, 0.191, 0.1836, 0.1761",\
                 "0.2857, 0.2846, 0.281, 0.2745, 0.2658, 0.2555, 0.2446, 0.2335, 0.2233, 0.2137",\
                 "0.3492, 0.3481, 0.3439, 0.3368, 0.3269, 0.3149, 0.3013, 0.2879, 0.274, 0.2616");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.004804, 0.004841, 0.004932, 0.00501, 0.005068, 0.00511, 0.00514, 0.005155, 0.005167, 0.005178",\
                 "0.003937, 0.004024, 0.004274, 0.004546, 0.004745, 0.004873, 0.004972, 0.005016, 0.005069, 0.005097",\
                 "0.003168, 0.003236, 0.003503, 0.003845, 0.004178, 0.004443, 0.004629, 0.004759, 0.00486, 0.004931",\
                 "0.006923, 0.006837, 0.006591, 0.006301, 0.006125, 0.005939, 0.0058, 0.00569, 0.005603, 0.005529",\
                 "0.01801, 0.01766, 0.01655, 0.01502, 0.01345, 0.01208, 0.01094, 0.009979, 0.009171, 0.008547",\
                 "0.03767, 0.03696, 0.03482, 0.03162, 0.02819, 0.02492, 0.02205, 0.01957, 0.01749, 0.01574",\
                 "0.06621, 0.06525, 0.06212, 0.05727, 0.05157, 0.04595, 0.04077, 0.03616, 0.03215, 0.02874",\
                 "0.1039, 0.1027, 0.09873, 0.09231, 0.08449, 0.07623, 0.06828, 0.06111, 0.05468, 0.04898",\
                 "0.1511, 0.1496, 0.145, 0.1372, 0.1273, 0.1165, 0.1056, 0.09549, 0.08616, 0.07777",\
                 "0.208, 0.2065, 0.2011, 0.1922, 0.1805, 0.1673, 0.1535, 0.1401, 0.1275, 0.1161");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1226, 0.1227, 0.1227, 0.1228, 0.1229, 0.123, 0.1232, 0.1234, 0.1236, 0.1243",\
                 "0.1217, 0.1217, 0.1219, 0.122, 0.1223, 0.1226, 0.1228, 0.123, 0.1235, 0.1239",\
                 "0.1222, 0.1223, 0.1223, 0.1223, 0.1223, 0.1224, 0.1227, 0.123, 0.1232, 0.1238",\
                 "0.1289, 0.1287, 0.1282, 0.1274, 0.1265, 0.1258, 0.1254, 0.1251, 0.125, 0.1249",\
                 "0.1432, 0.1427, 0.1415, 0.1398, 0.1376, 0.1354, 0.1335, 0.1319, 0.1307, 0.1299",\
                 "0.1662, 0.1656, 0.1638, 0.1606, 0.1568, 0.1529, 0.149, 0.1455, 0.1426, 0.1402",\
                 "0.1985, 0.1978, 0.1953, 0.1911, 0.1855, 0.1797, 0.1737, 0.1683, 0.1631, 0.1586",\
                 "0.2408, 0.2398, 0.2368, 0.2316, 0.2245, 0.2166, 0.2083, 0.2004, 0.1929, 0.1858",\
                 "0.2933, 0.2923, 0.2888, 0.2826, 0.2743, 0.2644, 0.2539, 0.243, 0.2333, 0.2239",\
                 "0.3567, 0.3556, 0.3517, 0.3448, 0.3351, 0.3237, 0.3109, 0.2974, 0.2843, 0.272");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1031, 0.112, 0.1424, 0.2007, 0.291, 0.4178, 0.5844, 0.7943, 1.051, 1.356",\
                 "0.1163, 0.1252, 0.1559, 0.2145, 0.3051, 0.4319, 0.5986, 0.8087, 1.065, 1.37",\
                 "0.1556, 0.1663, 0.2013, 0.2609, 0.3511, 0.4779, 0.6446, 0.8548, 1.111, 1.417",\
                 "0.176, 0.1912, 0.2402, 0.3223, 0.4323, 0.5659, 0.7322, 0.9414, 1.197, 1.503",\
                 "0.1617, 0.1819, 0.2466, 0.3535, 0.4948, 0.6648, 0.8605, 1.079, 1.334, 1.638",\
                 "0.1059, 0.1315, 0.2131, 0.347, 0.5224, 0.7303, 0.9678, 1.232, 1.519, 1.831",\
                 "0.0054, 0.0362, 0.1342, 0.2964, 0.5079, 0.7568, 1.038, 1.347, 1.685, 2.048",\
                 "-0.1436, -0.1077, 0.0074, 0.1971, 0.4447, 0.738, 1.066, 1.424, 1.811, 2.227",\
                 "-0.3443, -0.3033, -0.1705, 0.0469, 0.3315, 0.6682, 1.044, 1.454, 1.894, 2.363",\
                 "-0.5983, -0.5523, -0.4034, -0.1583, 0.1644, 0.5435, 0.9686, 1.432, 1.929, 2.455");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.3267, 0.3585, 0.469, 0.678, 1.002, 1.455, 2.051, 2.803, 3.717, 4.808",\
                 "0.3325, 0.3649, 0.4774, 0.6889, 1.015, 1.47, 2.067, 2.818, 3.734, 4.825",\
                 "0.3809, 0.4119, 0.5218, 0.7321, 1.058, 1.514, 2.112, 2.864, 3.782, 4.874",\
                 "0.5085, 0.5382, 0.6416, 0.8441, 1.164, 1.615, 2.209, 2.959, 3.875, 4.967",\
                 "0.6914, 0.7259, 0.8403, 1.045, 1.354, 1.795, 2.382, 3.125, 4.037, 5.125",\
                 "0.9249, 0.9623, 1.088, 1.315, 1.64, 2.074, 2.648, 3.381, 4.283, 5.364",\
                 "1.214, 1.255, 1.393, 1.638, 1.993, 2.451, 3.021, 3.741, 4.631, 5.699",\
                 "1.557, 1.603, 1.757, 2.021, 2.399, 2.893, 3.497, 4.215, 5.091, 6.147",\
                 "1.956, 2.009, 2.18, 2.47, 2.872, 3.394, 4.038, 4.796, 5.672, 6.714",\
                 "2.412, 2.471, 2.662, 2.981, 3.416, 3.965, 4.643, 5.445, 6.366, 7.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1438, 0.1586, 0.2107, 0.3103, 0.4647, 0.682, 0.9671, 1.324, 1.762, 2.285",\
                 "0.1432, 0.1582, 0.2107, 0.3101, 0.4648, 0.6821, 0.9667, 1.325, 1.763, 2.284",\
                 "0.1763, 0.1891, 0.2306, 0.3162, 0.4649, 0.6818, 0.9666, 1.324, 1.763, 2.284",\
                 "0.2529, 0.2678, 0.3192, 0.409, 0.5329, 0.7091, 0.9684, 1.324, 1.762, 2.285",\
                 "0.354, 0.3724, 0.4342, 0.5376, 0.683, 0.8662, 1.087, 1.379, 1.775, 2.284",\
                 "0.4756, 0.4994, 0.5748, 0.698, 0.8608, 1.067, 1.315, 1.603, 1.936, 2.367",\
                 "0.618, 0.646, 0.7368, 0.8828, 1.072, 1.301, 1.573, 1.892, 2.25, 2.649",\
                 "0.7788, 0.813, 0.9188, 1.089, 1.31, 1.571, 1.868, 2.211, 2.602, 3.037",\
                 "0.9546, 0.9968, 1.123, 1.319, 1.571, 1.865, 2.203, 2.572, 2.99, 3.46",\
                 "1.144, 1.191, 1.344, 1.571, 1.854, 2.188, 2.56, 2.974, 3.418, 3.917");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.5569, 0.6122, 0.8036, 1.167, 1.734, 2.527, 3.571, 4.887, 6.481, 8.399",\
                 "0.5567, 0.6114, 0.8037, 1.17, 1.734, 2.523, 3.568, 4.882, 6.487, 8.399",\
                 "0.551, 0.6077, 0.8027, 1.168, 1.735, 2.529, 3.57, 4.884, 6.49, 8.394",\
                 "0.5717, 0.6219, 0.8013, 1.166, 1.733, 2.527, 3.57, 4.883, 6.487, 8.399",\
                 "0.64, 0.6942, 0.873, 1.198, 1.732, 2.523, 3.574, 4.881, 6.483, 8.394",\
                 "0.7174, 0.775, 0.964, 1.312, 1.813, 2.541, 3.565, 4.879, 6.478, 8.389",\
                 "0.8304, 0.884, 1.073, 1.432, 1.969, 2.667, 3.619, 4.889, 6.486, 8.39",\
                 "0.9782, 1.032, 1.218, 1.572, 2.127, 2.867, 3.779, 4.965, 6.49, 8.402",\
                 "1.147, 1.207, 1.399, 1.75, 2.302, 3.072, 4.028, 5.174, 6.625, 8.433",\
                 "1.335, 1.398, 1.607, 1.97, 2.512, 3.291, 4.285, 5.473, 6.87, 8.598");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1333, 0.1427, 0.1749, 0.2352, 0.3274, 0.4556, 0.6234, 0.8342, 1.091, 1.397",\
                 "0.1458, 0.1552, 0.1875, 0.2477, 0.34, 0.4682, 0.6361, 0.8469, 1.104, 1.41",\
                 "0.1897, 0.1997, 0.2325, 0.2923, 0.3843, 0.5124, 0.6801, 0.8909, 1.148, 1.454",\
                 "0.2265, 0.2404, 0.2859, 0.3632, 0.4687, 0.5997, 0.7666, 0.9768, 1.233, 1.539",\
                 "0.2318, 0.2502, 0.3092, 0.409, 0.5432, 0.708, 0.8987, 1.114, 1.37, 1.674",\
                 "0.2003, 0.2229, 0.2965, 0.4204, 0.5865, 0.7858, 1.017, 1.275, 1.558, 1.868",\
                 "0.1285, 0.1552, 0.2435, 0.3923, 0.5905, 0.8285, 1.1, 1.402, 1.734, 2.092",\
                 "0.0146, 0.046, 0.1477, 0.3198, 0.5518, 0.8295, 1.145, 1.493, 1.871, 2.281",\
                 "-0.1448, -0.1092, 0.0075, 0.2024, 0.4667, 0.7849, 1.145, 1.542, 1.97, 2.431",\
                 "-0.3511, -0.3113, -0.1822, 0.0382, 0.3334, 0.6913, 1.097, 1.544, 2.025, 2.539");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.4353, 0.4672, 0.5774, 0.7861, 1.11, 1.563, 2.159, 2.909, 3.824, 4.916",\
                 "0.4407, 0.4727, 0.5853, 0.797, 1.123, 1.578, 2.174, 2.926, 3.842, 4.934",\
                 "0.4675, 0.5, 0.6123, 0.8248, 1.153, 1.611, 2.21, 2.963, 3.88, 4.973",\
                 "0.5433, 0.5755, 0.6855, 0.8935, 1.218, 1.673, 2.272, 3.024, 3.942, 5.035",\
                 "0.672, 0.705, 0.8205, 1.033, 1.351, 1.797, 2.389, 3.136, 4.05, 5.141",\
                 "0.8655, 0.8999, 1.018, 1.236, 1.563, 2.004, 2.584, 3.321, 4.225, 5.311",\
                 "1.115, 1.153, 1.28, 1.504, 1.839, 2.293, 2.87, 3.594, 4.487, 5.559",\
                 "1.411, 1.455, 1.596, 1.837, 2.182, 2.646, 3.24, 3.963, 4.842, 5.9",\
                 "1.755, 1.804, 1.961, 2.227, 2.595, 3.071, 3.675, 4.418, 5.3, 6.343",\
                 "2.148, 2.202, 2.377, 2.671, 3.069, 3.567, 4.186, 4.942, 5.844, 6.894");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1859, 0.201, 0.2536, 0.354, 0.5088, 0.7256, 1.012, 1.37, 1.81, 2.331",\
                 "0.1854, 0.2005, 0.2539, 0.354, 0.5089, 0.7255, 1.011, 1.37, 1.809, 2.331",\
                 "0.2052, 0.2175, 0.2618, 0.3545, 0.5087, 0.7257, 1.012, 1.371, 1.809, 2.331",\
                 "0.2902, 0.3049, 0.3541, 0.4405, 0.5632, 0.7459, 1.013, 1.37, 1.809, 2.331",\
                 "0.4016, 0.4186, 0.476, 0.576, 0.7164, 0.8968, 1.118, 1.417, 1.817, 2.331",\
                 "0.5366, 0.5566, 0.6266, 0.7442, 0.9022, 1.103, 1.347, 1.632, 1.97, 2.407",\
                 "0.6926, 0.7174, 0.8016, 0.938, 1.119, 1.341, 1.609, 1.922, 2.28, 2.681",\
                 "0.8734, 0.9036, 1.001, 1.159, 1.366, 1.616, 1.909, 2.245, 2.637, 3.069",\
                 "1.076, 1.115, 1.225, 1.409, 1.644, 1.923, 2.246, 2.61, 3.022, 3.49",\
                 "1.299, 1.343, 1.474, 1.682, 1.951, 2.263, 2.62, 3.018, 3.455, 3.949");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.5594, 0.6136, 0.8041, 1.169, 1.735, 2.527, 3.564, 4.883, 6.488, 8.39",\
                 "0.5594, 0.6139, 0.8038, 1.168, 1.733, 2.527, 3.572, 4.879, 6.479, 8.399",\
                 "0.5607, 0.6144, 0.8047, 1.169, 1.734, 2.526, 3.566, 4.885, 6.482, 8.394",\
                 "0.5973, 0.6446, 0.8187, 1.169, 1.735, 2.526, 3.575, 4.877, 6.487, 8.397",\
                 "0.6626, 0.7154, 0.8918, 1.218, 1.746, 2.526, 3.57, 4.885, 6.479, 8.398",\
                 "0.7422, 0.791, 0.9676, 1.308, 1.822, 2.562, 3.575, 4.877, 6.49, 8.389",\
                 "0.8676, 0.9124, 1.077, 1.407, 1.936, 2.66, 3.63, 4.891, 6.486, 8.388",\
                 "1.029, 1.075, 1.236, 1.547, 2.062, 2.8, 3.754, 4.972, 6.517, 8.401",\
                 "1.213, 1.262, 1.431, 1.736, 2.229, 2.951, 3.924, 5.129, 6.617, 8.453",\
                 "1.418, 1.469, 1.65, 1.97, 2.446, 3.147, 4.107, 5.327, 6.798, 8.576");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1404, 0.1507, 0.1858, 0.2497, 0.3458, 0.4771, 0.6473, 0.8599, 1.118, 1.425",\
                 "0.1517, 0.1619, 0.1967, 0.2606, 0.3565, 0.4878, 0.658, 0.8707, 1.129, 1.436",\
                 "0.1982, 0.2085, 0.242, 0.3042, 0.3993, 0.5303, 0.7003, 0.9129, 1.171, 1.478",\
                 "0.2441, 0.2581, 0.3036, 0.3807, 0.4858, 0.6172, 0.786, 0.9982, 1.256, 1.563",\
                 "0.2614, 0.2793, 0.3378, 0.4365, 0.5692, 0.732, 0.9208, 1.136, 1.392, 1.698",\
                 "0.2457, 0.2679, 0.34, 0.4609, 0.6229, 0.8193, 1.046, 1.302, 1.583, 1.893",\
                 "0.1943, 0.2203, 0.3063, 0.4503, 0.6428, 0.8752, 1.141, 1.439, 1.766, 2.121",\
                 "0.1075, 0.1373, 0.2348, 0.4009, 0.625, 0.8948, 1.202, 1.542, 1.915, 2.319",\
                 "-0.0167, 0.0173, 0.1272, 0.3142, 0.5682, 0.8742, 1.224, 1.609, 2.029, 2.481",\
                 "-0.1793, -0.1423, -0.0203, 0.1863, 0.4687, 0.8123, 1.205, 1.636, 2.104, 2.608");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.468, 0.4997, 0.61, 0.8186, 1.142, 1.596, 2.191, 2.942, 3.857, 4.948",\
                 "0.4756, 0.5082, 0.621, 0.8325, 1.158, 1.613, 2.21, 2.961, 3.877, 4.968",\
                 "0.4994, 0.5313, 0.6441, 0.8572, 1.186, 1.644, 2.243, 2.996, 3.914, 5.007",\
                 "0.5519, 0.5841, 0.6945, 0.9043, 1.229, 1.686, 2.286, 3.039, 3.958, 5.051",\
                 "0.643, 0.676, 0.7897, 1.001, 1.32, 1.768, 2.361, 3.109, 4.025, 5.117",\
                 "0.7934, 0.8268, 0.9411, 1.152, 1.475, 1.917, 2.498, 3.236, 4.141, 5.225",\
                 "0.9907, 1.028, 1.152, 1.369, 1.691, 2.137, 2.714, 3.436, 4.329, 5.399",\
                 "1.227, 1.268, 1.406, 1.643, 1.976, 2.421, 3.002, 3.723, 4.598, 5.652",\
                 "1.497, 1.546, 1.7, 1.96, 2.318, 2.776, 3.355, 4.081, 4.958, 5.997",\
                 "1.804, 1.857, 2.029, 2.318, 2.707, 3.192, 3.782, 4.509, 5.392, 6.433");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2164, 0.2324, 0.2872, 0.3888, 0.545, 0.7622, 1.048, 1.406, 1.846, 2.368",\
                 "0.2138, 0.23, 0.285, 0.3882, 0.5445, 0.7623, 1.047, 1.406, 1.846, 2.367",\
                 "0.2277, 0.2406, 0.2874, 0.384, 0.5425, 0.7619, 1.047, 1.407, 1.845, 2.367",\
                 "0.3209, 0.3351, 0.3825, 0.4665, 0.5882, 0.7751, 1.047, 1.406, 1.845, 2.368",\
                 "0.4444, 0.4607, 0.5156, 0.6114, 0.7464, 0.9236, 1.144, 1.446, 1.852, 2.367",\
                 "0.5974, 0.6166, 0.6818, 0.79, 0.9392, 1.135, 1.374, 1.656, 1.997, 2.437",\
                 "0.7816, 0.8048, 0.88, 1.006, 1.172, 1.382, 1.64, 1.95, 2.304, 2.704",\
                 "0.997, 1.027, 1.112, 1.255, 1.444, 1.672, 1.95, 2.277, 2.659, 3.092",\
                 "1.246, 1.28, 1.378, 1.544, 1.753, 2.005, 2.304, 2.651, 3.053, 3.515",\
                 "1.534, 1.57, 1.683, 1.867, 2.103, 2.384, 2.704, 3.075, 3.496, 3.975");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.5596, 0.6137, 0.804, 1.167, 1.733, 2.527, 3.568, 4.881, 6.49, 8.393",\
                 "0.5596, 0.6136, 0.8047, 1.17, 1.733, 2.526, 3.57, 4.885, 6.49, 8.395",\
                 "0.5602, 0.6144, 0.8053, 1.169, 1.732, 2.526, 3.566, 4.88, 6.491, 8.397",\
                 "0.5853, 0.6353, 0.8135, 1.17, 1.735, 2.524, 3.569, 4.876, 6.485, 8.385",\
                 "0.6438, 0.6946, 0.8734, 1.207, 1.747, 2.526, 3.57, 4.88, 6.476, 8.394",\
                 "0.7392, 0.7852, 0.9522, 1.286, 1.81, 2.564, 3.576, 4.876, 6.478, 8.395",\
                 "0.8988, 0.9416, 1.09, 1.395, 1.912, 2.647, 3.627, 4.892, 6.49, 8.385",\
                 "1.092, 1.139, 1.287, 1.571, 2.05, 2.769, 3.737, 4.975, 6.512, 8.398",\
                 "1.313, 1.357, 1.52, 1.811, 2.255, 2.936, 3.887, 5.107, 6.617, 8.445",\
                 "1.555, 1.605, 1.778, 2.085, 2.541, 3.173, 4.079, 5.283, 6.774, 8.574");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1792, 0.1893, 0.2241, 0.2877, 0.3836, 0.5148, 0.6851, 0.8978, 1.156, 1.463",\
                 "0.1919, 0.2021, 0.2369, 0.3009, 0.3969, 0.5283, 0.6987, 0.9114, 1.17, 1.477",\
                 "0.2252, 0.2353, 0.2695, 0.3327, 0.4285, 0.5601, 0.7307, 0.9434, 1.202, 1.509",\
                 "0.2596, 0.2711, 0.3109, 0.3812, 0.4823, 0.6146, 0.7844, 0.9969, 1.255, 1.562",\
                 "0.2805, 0.2946, 0.342, 0.4233, 0.538, 0.6858, 0.8671, 1.083, 1.34, 1.647",\
                 "0.2771, 0.2948, 0.3515, 0.4484, 0.5818, 0.7484, 0.9492, 1.185, 1.458, 1.769",\
                 "0.2463, 0.2659, 0.3327, 0.4466, 0.6031, 0.7951, 1.02, 1.279, 1.575, 1.909",\
                 "0.1842, 0.2073, 0.2837, 0.4154, 0.5952, 0.8148, 1.071, 1.359, 1.681, 2.041",\
                 "0.0912, 0.1171, 0.2036, 0.3515, 0.5554, 0.8039, 1.092, 1.415, 1.77, 2.159",\
                 "-0.0354, -0.0059, 0.0892, 0.2536, 0.4791, 0.758, 1.08, 1.439, 1.832, 2.259");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1888, 0.2, 0.2389, 0.3124, 0.4255, 0.583, 0.7899, 1.05, 1.367, 1.745",\
                 "0.2041, 0.2154, 0.2545, 0.3282, 0.4415, 0.5993, 0.8062, 1.066, 1.383, 1.761",\
                 "0.2701, 0.2812, 0.3198, 0.3929, 0.5059, 0.6635, 0.87, 1.13, 1.447, 1.825",\
                 "0.392, 0.4052, 0.4495, 0.527, 0.6387, 0.7943, 0.999, 1.258, 1.574, 1.951",\
                 "0.5395, 0.5554, 0.6091, 0.7043, 0.8384, 1.005, 1.209, 1.465, 1.778, 2.153",\
                 "0.7175, 0.7358, 0.7993, 0.9095, 1.066, 1.264, 1.498, 1.764, 2.075, 2.445",\
                 "0.9264, 0.9485, 1.022, 1.149, 1.326, 1.549, 1.817, 2.124, 2.465, 2.84",\
                 "1.168, 1.194, 1.278, 1.423, 1.623, 1.873, 2.168, 2.511, 2.896, 3.317",\
                 "1.443, 1.471, 1.567, 1.732, 1.957, 2.235, 2.561, 2.935, 3.358, 3.824",\
                 "1.753, 1.786, 1.893, 2.078, 2.33, 2.638, 2.997, 3.404, 3.859, 4.366");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2109, 0.2275, 0.2834, 0.3868, 0.5438, 0.7619, 1.048, 1.407, 1.845, 2.368",\
                 "0.2106, 0.2269, 0.2826, 0.386, 0.5432, 0.7612, 1.048, 1.406, 1.845, 2.368",\
                 "0.2173, 0.2319, 0.2836, 0.3838, 0.5421, 0.7614, 1.048, 1.407, 1.844, 2.368",\
                 "0.2755, 0.2907, 0.3397, 0.4304, 0.5682, 0.7696, 1.048, 1.407, 1.844, 2.367",\
                 "0.3665, 0.3815, 0.4306, 0.5218, 0.6622, 0.8558, 1.106, 1.435, 1.853, 2.368",\
                 "0.4892, 0.5046, 0.559, 0.6538, 0.7944, 0.988, 1.241, 1.558, 1.941, 2.419",\
                 "0.6312, 0.6494, 0.7112, 0.8184, 0.9688, 1.164, 1.417, 1.736, 2.123, 2.578",\
                 "0.7882, 0.8108, 0.8822, 1.005, 1.173, 1.386, 1.645, 1.959, 2.346, 2.804",\
                 "0.9638, 0.9888, 1.067, 1.208, 1.399, 1.635, 1.912, 2.237, 2.622, 3.08",\
                 "1.149, 1.178, 1.269, 1.427, 1.644, 1.905, 2.209, 2.557, 2.954, 3.41");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.3117, 0.3322, 0.4042, 0.5396, 0.7479, 1.037, 1.413, 1.882, 2.447, 3.116",\
                 "0.3118, 0.3323, 0.404, 0.5394, 0.7478, 1.038, 1.414, 1.881, 2.445, 3.115",\
                 "0.3151, 0.3344, 0.4044, 0.5395, 0.7478, 1.037, 1.414, 1.881, 2.446, 3.116",\
                 "0.4011, 0.4177, 0.4715, 0.5785, 0.7604, 1.039, 1.414, 1.881, 2.446, 3.116",\
                 "0.5234, 0.5416, 0.6086, 0.7248, 0.887, 1.113, 1.439, 1.885, 2.447, 3.116",\
                 "0.666, 0.6872, 0.7594, 0.8912, 1.081, 1.32, 1.605, 1.981, 2.48, 3.122",\
                 "0.8374, 0.8602, 0.9402, 1.08, 1.285, 1.554, 1.875, 2.236, 2.672, 3.231",\
                 "1.03, 1.056, 1.146, 1.298, 1.516, 1.803, 2.153, 2.561, 3.012, 3.52",\
                 "1.249, 1.276, 1.374, 1.543, 1.778, 2.077, 2.446, 2.888, 3.389, 3.937",\
                 "1.484, 1.516, 1.622, 1.807, 2.063, 2.384, 2.77, 3.231, 3.77, 4.367");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1693, 0.1787, 0.211, 0.2712, 0.3636, 0.4918, 0.6597, 0.8706, 1.128, 1.434",\
                 "0.1819, 0.1913, 0.2238, 0.2844, 0.3769, 0.5053, 0.6733, 0.8841, 1.141, 1.447",\
                 "0.2125, 0.2223, 0.2551, 0.3157, 0.4084, 0.5371, 0.7053, 0.9163, 1.174, 1.48",\
                 "0.2396, 0.2511, 0.2905, 0.3598, 0.4599, 0.591, 0.7589, 0.9697, 1.227, 1.533",\
                 "0.25, 0.2648, 0.3127, 0.3953, 0.5105, 0.6584, 0.8396, 1.055, 1.312, 1.617",\
                 "0.2357, 0.2533, 0.312, 0.4118, 0.548, 0.7165, 0.9182, 1.155, 1.428, 1.739",\
                 "0.1931, 0.2141, 0.2834, 0.4011, 0.5615, 0.7569, 0.9846, 1.245, 1.542, 1.877",\
                 "0.1219, 0.1457, 0.2249, 0.3611, 0.5453, 0.7702, 1.029, 1.321, 1.645, 2.006",\
                 "0.0182, 0.0454, 0.1352, 0.288, 0.4976, 0.7528, 1.045, 1.371, 1.731, 2.122",\
                 "-0.1194, -0.0891, 0.0114, 0.1824, 0.415, 0.6993, 1.027, 1.39, 1.787, 2.218");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1888, 0.2, 0.239, 0.3123, 0.4255, 0.583, 0.7899, 1.05, 1.367, 1.745",\
                 "0.2041, 0.2154, 0.2545, 0.3282, 0.4415, 0.5993, 0.8062, 1.066, 1.384, 1.761",\
                 "0.27, 0.2811, 0.3198, 0.3931, 0.5058, 0.6634, 0.8701, 1.13, 1.447, 1.825",\
                 "0.3919, 0.4052, 0.4495, 0.5269, 0.6388, 0.7942, 0.9991, 1.258, 1.574, 1.951",\
                 "0.5395, 0.5554, 0.6091, 0.7044, 0.8385, 1.005, 1.209, 1.465, 1.778, 2.153",\
                 "0.7176, 0.7359, 0.7995, 0.9094, 1.065, 1.264, 1.498, 1.763, 2.075, 2.446",\
                 "0.9262, 0.9486, 1.022, 1.149, 1.326, 1.549, 1.817, 2.124, 2.465, 2.839",\
                 "1.168, 1.193, 1.278, 1.423, 1.623, 1.872, 2.169, 2.512, 2.897, 3.317",\
                 "1.443, 1.471, 1.567, 1.732, 1.957, 2.236, 2.561, 2.936, 3.358, 3.824",\
                 "1.753, 1.785, 1.893, 2.078, 2.329, 2.637, 2.997, 3.403, 3.859, 4.366");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1845, 0.1997, 0.2533, 0.3537, 0.5084, 0.7262, 1.011, 1.37, 1.81, 2.331",\
                 "0.1841, 0.2, 0.2537, 0.354, 0.5089, 0.7264, 1.011, 1.371, 1.81, 2.331",\
                 "0.1955, 0.2091, 0.2575, 0.3535, 0.5089, 0.7264, 1.012, 1.372, 1.808, 2.33",\
                 "0.2548, 0.2687, 0.3167, 0.4059, 0.5414, 0.7395, 1.014, 1.371, 1.808, 2.331",\
                 "0.3495, 0.3636, 0.4112, 0.5002, 0.6382, 0.8302, 1.078, 1.402, 1.818, 2.331",\
                 "0.4718, 0.488, 0.5432, 0.6364, 0.7734, 0.9638, 1.216, 1.531, 1.913, 2.386",\
                 "0.6138, 0.6326, 0.6946, 0.8026, 0.9514, 1.145, 1.396, 1.71, 2.095, 2.553",\
                 "0.7704, 0.792, 0.8638, 0.9872, 1.155, 1.369, 1.626, 1.937, 2.32, 2.778",\
                 "0.9408, 0.9658, 1.049, 1.193, 1.382, 1.615, 1.892, 2.215, 2.6, 3.056",\
                 "1.129, 1.157, 1.247, 1.407, 1.624, 1.887, 2.191, 2.538, 2.929, 3.387");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.3103, 0.3305, 0.4009, 0.533, 0.7364, 1.017, 1.382, 1.841, 2.399, 3.065",\
                 "0.31, 0.3304, 0.4009, 0.5331, 0.7366, 1.017, 1.382, 1.841, 2.398, 3.065",\
                 "0.3134, 0.3323, 0.4011, 0.5332, 0.7365, 1.017, 1.383, 1.841, 2.399, 3.064",\
                 "0.3989, 0.4148, 0.4681, 0.5719, 0.7486, 1.018, 1.383, 1.841, 2.4, 3.065",\
                 "0.5172, 0.5354, 0.6012, 0.7148, 0.8732, 1.092, 1.407, 1.844, 2.399, 3.065",\
                 "0.6544, 0.6746, 0.7456, 0.874, 1.059, 1.294, 1.572, 1.94, 2.433, 3.071",\
                 "0.8136, 0.8368, 0.9158, 1.053, 1.255, 1.518, 1.834, 2.193, 2.625, 3.178",\
                 "0.9908, 1.018, 1.106, 1.258, 1.474, 1.754, 2.103, 2.511, 2.961, 3.468",\
                 "1.186, 1.218, 1.314, 1.484, 1.719, 2.019, 2.387, 2.83, 3.331, 3.882",\
                 "1.395, 1.427, 1.539, 1.728, 1.994, 2.314, 2.7, 3.163, 3.705, 4.306");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.137, 0.1443, 0.1689, 0.2144, 0.2844, 0.3812, 0.5077, 0.6669, 0.8603, 1.091",\
                 "0.1506, 0.1578, 0.1825, 0.2285, 0.2984, 0.3954, 0.5221, 0.681, 0.8748, 1.105",\
                 "0.1923, 0.2003, 0.2268, 0.2732, 0.3433, 0.4405, 0.5675, 0.7262, 0.9201, 1.151",\
                 "0.227, 0.2378, 0.2737, 0.3352, 0.42, 0.5252, 0.6533, 0.8123, 1.006, 1.237",\
                 "0.2399, 0.2538, 0.2996, 0.3777, 0.4844, 0.6163, 0.7701, 0.9445, 1.142, 1.372",\
                 "0.2264, 0.2435, 0.2997, 0.3956, 0.5261, 0.6853, 0.8697, 1.077, 1.307, 1.558",\
                 "0.1844, 0.2045, 0.271, 0.3849, 0.5397, 0.7283, 0.9449, 1.187, 1.453, 1.742",\
                 "0.112, 0.1356, 0.212, 0.3435, 0.5225, 0.7412, 0.9914, 1.27, 1.573, 1.902",\
                 "0.0086, 0.0345, 0.1206, 0.2688, 0.4722, 0.7209, 1.005, 1.321, 1.664, 2.034",\
                 "-0.13, -0.102, -0.0049, 0.1604, 0.3867, 0.665, 0.9835, 1.338, 1.722, 2.135");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2098, 0.2208, 0.2593, 0.3323, 0.4446, 0.602, 0.8085, 1.068, 1.385, 1.763",\
                 "0.2255, 0.2366, 0.2752, 0.3483, 0.4612, 0.6187, 0.8254, 1.085, 1.402, 1.78",\
                 "0.2913, 0.3022, 0.3405, 0.413, 0.5255, 0.6829, 0.8894, 1.149, 1.466, 1.844",\
                 "0.4178, 0.4305, 0.4729, 0.5479, 0.6587, 0.814, 1.019, 1.277, 1.593, 1.97",\
                 "0.5715, 0.5868, 0.639, 0.7317, 0.8627, 1.027, 1.23, 1.485, 1.798, 2.173",\
                 "0.7573, 0.7752, 0.8356, 0.9428, 1.096, 1.291, 1.522, 1.786, 2.096, 2.467",\
                 "0.9752, 0.996, 1.067, 1.19, 1.363, 1.583, 1.849, 2.153, 2.49, 2.864",\
                 "1.227, 1.251, 1.331, 1.472, 1.668, 1.913, 2.207, 2.547, 2.929, 3.347",\
                 "1.513, 1.54, 1.631, 1.791, 2.011, 2.285, 2.607, 2.979, 3.399, 3.863",\
                 "1.833, 1.865, 1.968, 2.147, 2.393, 2.696, 3.052, 3.455, 3.909, 4.413");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1535, 0.1652, 0.2057, 0.2811, 0.3984, 0.5615, 0.7767, 1.047, 1.377, 1.77",\
                 "0.1535, 0.1651, 0.2053, 0.2815, 0.3982, 0.5618, 0.7767, 1.048, 1.377, 1.77",\
                 "0.1791, 0.1879, 0.2193, 0.2858, 0.3983, 0.5617, 0.7772, 1.047, 1.377, 1.77",\
                 "0.2657, 0.2757, 0.3113, 0.3738, 0.4661, 0.5958, 0.787, 1.048, 1.376, 1.771",\
                 "0.3766, 0.3885, 0.4264, 0.4984, 0.6042, 0.7412, 0.9122, 1.125, 1.411, 1.779",\
                 "0.5112, 0.5242, 0.5716, 0.6512, 0.7656, 0.9198, 1.107, 1.331, 1.59, 1.902",\
                 "0.6636, 0.6798, 0.7328, 0.8268, 0.9586, 1.125, 1.33, 1.573, 1.854, 2.174",\
                 "0.8298, 0.8486, 0.9126, 1.022, 1.174, 1.362, 1.585, 1.846, 2.148, 2.489",\
                 "1.013, 1.034, 1.106, 1.233, 1.407, 1.621, 1.871, 2.159, 2.476, 2.839",\
                 "1.21, 1.235, 1.316, 1.461, 1.658, 1.903, 2.181, 2.496, 2.84, 3.223");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.3347, 0.355, 0.4252, 0.5578, 0.7609, 1.042, 1.407, 1.865, 2.423, 3.088",\
                 "0.3346, 0.3549, 0.4252, 0.5578, 0.7609, 1.041, 1.407, 1.866, 2.424, 3.09",\
                 "0.3363, 0.3558, 0.4254, 0.5578, 0.7611, 1.042, 1.407, 1.865, 2.424, 3.09",\
                 "0.4138, 0.4294, 0.4832, 0.5907, 0.7702, 1.042, 1.407, 1.866, 2.424, 3.089",\
                 "0.532, 0.5506, 0.6164, 0.7306, 0.8878, 1.109, 1.429, 1.869, 2.425, 3.09",\
                 "0.6662, 0.687, 0.7584, 0.888, 1.075, 1.306, 1.586, 1.958, 2.455, 3.094",\
                 "0.8228, 0.8474, 0.9244, 1.061, 1.264, 1.529, 1.846, 2.205, 2.638, 3.196",\
                 "1, 1.025, 1.113, 1.264, 1.477, 1.761, 2.114, 2.518, 2.968, 3.478",\
                 "1.192, 1.221, 1.32, 1.485, 1.72, 2.016, 2.39, 2.83, 3.338, 3.886",\
                 "1.403, 1.435, 1.541, 1.727, 1.985, 2.306, 2.695, 3.16, 3.7, 4.31");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1386, 0.1473, 0.1781, 0.2362, 0.3264, 0.4535, 0.6196, 0.8299, 1.086, 1.392",\
                 "0.1507, 0.1596, 0.1906, 0.2491, 0.3397, 0.4669, 0.6337, 0.8433, 1.1, 1.405",\
                 "0.1769, 0.1868, 0.2202, 0.28, 0.3711, 0.4983, 0.6654, 0.8757, 1.132, 1.437",\
                 "0.1924, 0.2051, 0.2463, 0.318, 0.4197, 0.552, 0.7189, 0.9289, 1.186, 1.491",\
                 "0.1872, 0.2035, 0.256, 0.3443, 0.4639, 0.6143, 0.7974, 1.014, 1.27, 1.575",\
                 "0.1557, 0.1763, 0.2409, 0.3492, 0.4926, 0.6666, 0.8713, 1.11, 1.385, 1.698",\
                 "0.0983, 0.1221, 0.1985, 0.3264, 0.4956, 0.6989, 0.9323, 1.196, 1.495, 1.832",\
                 "0.0119, 0.0389, 0.1268, 0.2736, 0.4694, 0.7035, 0.9702, 1.267, 1.594, 1.958",\
                 "-0.108, -0.077, 0.0233, 0.1893, 0.4097, 0.6753, 0.9771, 1.31, 1.674, 2.07",\
                 "-0.2609, -0.2272, -0.114, 0.0713, 0.318, 0.6144, 0.9514, 1.323, 1.726, 2.161");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.185, 0.1963, 0.2353, 0.3089, 0.422, 0.5793, 0.786, 1.046, 1.363, 1.741",\
                 "0.2004, 0.2117, 0.251, 0.3247, 0.4379, 0.5956, 0.8025, 1.062, 1.378, 1.756",\
                 "0.2664, 0.2775, 0.3163, 0.3894, 0.5023, 0.6595, 0.8663, 1.126, 1.443, 1.821",\
                 "0.3869, 0.4003, 0.4453, 0.5233, 0.6351, 0.7903, 0.995, 1.253, 1.569, 1.946",\
                 "0.533, 0.5491, 0.6033, 0.6993, 0.8337, 1.001, 1.205, 1.46, 1.773, 2.148",\
                 "0.7091, 0.7279, 0.7921, 0.9029, 1.059, 1.258, 1.493, 1.759, 2.07, 2.44",\
                 "0.9161, 0.9386, 1.013, 1.141, 1.318, 1.542, 1.811, 2.118, 2.459, 2.834",\
                 "1.155, 1.181, 1.266, 1.412, 1.614, 1.864, 2.161, 2.503, 2.889, 3.31",\
                 "1.426, 1.456, 1.554, 1.72, 1.947, 2.226, 2.553, 2.927, 3.35, 3.816",\
                 "1.733, 1.765, 1.876, 2.063, 2.316, 2.626, 2.985, 3.392, 3.848, 4.355");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1442, 0.1592, 0.2112, 0.3105, 0.465, 0.682, 0.9655, 1.324, 1.764, 2.286",\
                 "0.1444, 0.1592, 0.211, 0.3108, 0.4655, 0.6819, 0.9673, 1.323, 1.76, 2.283",\
                 "0.1656, 0.1784, 0.2231, 0.3143, 0.4648, 0.6817, 0.9651, 1.326, 1.763, 2.287",\
                 "0.2294, 0.2427, 0.2872, 0.3742, 0.5079, 0.6998, 0.9698, 1.325, 1.763, 2.284",\
                 "0.3304, 0.3432, 0.3893, 0.4748, 0.6086, 0.796, 1.044, 1.363, 1.776, 2.285",\
                 "0.4542, 0.47, 0.522, 0.6146, 0.7492, 0.9354, 1.183, 1.497, 1.876, 2.35",\
                 "0.5962, 0.6134, 0.6746, 0.7804, 0.9296, 1.122, 1.366, 1.678, 2.061, 2.515",\
                 "0.7508, 0.772, 0.8422, 0.9646, 1.133, 1.345, 1.601, 1.909, 2.289, 2.743",\
                 "0.921, 0.945, 1.025, 1.165, 1.36, 1.592, 1.868, 2.191, 2.57, 3.024",\
                 "1.102, 1.133, 1.223, 1.382, 1.599, 1.862, 2.166, 2.514, 2.907, 3.358");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2611, 0.2801, 0.3469, 0.4747, 0.6727, 0.9497, 1.313, 1.77, 2.328, 2.994",\
                 "0.2604, 0.2798, 0.3476, 0.4746, 0.6722, 0.9503, 1.314, 1.77, 2.326, 2.995",\
                 "0.2631, 0.2816, 0.3476, 0.4749, 0.6727, 0.9496, 1.313, 1.77, 2.329, 2.994",\
                 "0.3407, 0.3568, 0.4116, 0.513, 0.6851, 0.9497, 1.313, 1.77, 2.328, 2.994",\
                 "0.438, 0.4582, 0.5258, 0.645, 0.8074, 1.024, 1.338, 1.773, 2.328, 2.994",\
                 "0.5526, 0.5762, 0.6522, 0.7858, 0.9782, 1.22, 1.503, 1.869, 2.361, 2.998",\
                 "0.6856, 0.7122, 0.801, 0.9488, 1.158, 1.43, 1.756, 2.121, 2.552, 3.105",\
                 "0.8334, 0.8652, 0.9648, 1.135, 1.363, 1.656, 2.012, 2.427, 2.888, 3.395",\
                 "0.995, 1.031, 1.146, 1.338, 1.592, 1.909, 2.284, 2.735, 3.247, 3.804",\
                 "1.165, 1.207, 1.341, 1.557, 1.843, 2.185, 2.589, 3.065, 3.61, 4.222");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1156, 0.1222, 0.1454, 0.1893, 0.2577, 0.353, 0.4788, 0.6366, 0.8294, 1.059",\
                 "0.1288, 0.1355, 0.1589, 0.2032, 0.2718, 0.3671, 0.4928, 0.6511, 0.8445, 1.074",\
                 "0.1631, 0.1716, 0.1995, 0.247, 0.3162, 0.412, 0.5382, 0.6964, 0.8895, 1.12",\
                 "0.1825, 0.1947, 0.2334, 0.2987, 0.387, 0.4953, 0.6239, 0.7824, 0.9755, 1.205",\
                 "0.1792, 0.1946, 0.245, 0.3296, 0.4419, 0.5781, 0.7353, 0.9125, 1.111, 1.341",\
                 "0.1491, 0.1687, 0.231, 0.3352, 0.4731, 0.6385, 0.828, 1.04, 1.272, 1.525",\
                 "0.0923, 0.1148, 0.1883, 0.3122, 0.4759, 0.6723, 0.8955, 1.142, 1.412, 1.705",\
                 "0.0064, 0.0319, 0.1162, 0.2582, 0.4488, 0.6756, 0.934, 1.219, 1.527, 1.859",\
                 "-0.1135, -0.0832, 0.0124, 0.1722, 0.3876, 0.6462, 0.9396, 1.263, 1.612, 1.986",\
                 "-0.2678, -0.2349, -0.1268, 0.0523, 0.2915, 0.5807, 0.9097, 1.272, 1.663, 2.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2062, 0.2172, 0.2558, 0.3286, 0.4413, 0.5982, 0.8047, 1.064, 1.381, 1.758",\
                 "0.2218, 0.233, 0.2718, 0.3449, 0.4575, 0.615, 0.8217, 1.082, 1.397, 1.777",\
                 "0.2878, 0.2987, 0.337, 0.4095, 0.5221, 0.6792, 0.8856, 1.146, 1.462, 1.839",\
                 "0.413, 0.4258, 0.469, 0.5442, 0.6551, 0.8102, 1.015, 1.273, 1.589, 1.965",\
                 "0.5656, 0.5812, 0.6336, 0.7266, 0.8581, 1.023, 1.226, 1.48, 1.793, 2.167",\
                 "0.7498, 0.7675, 0.8289, 0.9363, 1.09, 1.286, 1.518, 1.781, 2.091, 2.462",\
                 "0.9656, 0.9868, 1.058, 1.182, 1.355, 1.577, 1.843, 2.147, 2.485, 2.859",\
                 "1.215, 1.239, 1.321, 1.463, 1.659, 1.906, 2.2, 2.54, 2.923, 3.34",\
                 "1.497, 1.525, 1.618, 1.778, 2.001, 2.275, 2.598, 2.97, 3.39, 3.854",\
                 "1.815, 1.847, 1.952, 2.131, 2.38, 2.685, 3.04, 3.444, 3.899, 4.402");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.123, 0.1343, 0.1735, 0.2489, 0.365, 0.5284, 0.743, 1.012, 1.341, 1.736",\
                 "0.1232, 0.1343, 0.1736, 0.2487, 0.3651, 0.5281, 0.7429, 1.013, 1.342, 1.736",\
                 "0.162, 0.1704, 0.1994, 0.2599, 0.3672, 0.528, 0.7432, 1.013, 1.343, 1.734",\
                 "0.2485, 0.2585, 0.2928, 0.3554, 0.4473, 0.5733, 0.7584, 1.014, 1.342, 1.734",\
                 "0.3631, 0.3746, 0.4122, 0.4808, 0.5858, 0.7222, 0.8926, 1.102, 1.383, 1.747",\
                 "0.4994, 0.5124, 0.5558, 0.6354, 0.749, 0.9, 1.088, 1.311, 1.57, 1.878",\
                 "0.652, 0.6666, 0.7182, 0.8106, 0.9438, 1.108, 1.311, 1.553, 1.833, 2.154",\
                 "0.8184, 0.8386, 0.8984, 1.004, 1.155, 1.346, 1.568, 1.827, 2.128, 2.469",\
                 "1.001, 1.02, 1.089, 1.217, 1.388, 1.604, 1.854, 2.136, 2.454, 2.818",\
                 "1.198, 1.219, 1.298, 1.442, 1.641, 1.886, 2.161, 2.474, 2.826, 3.202");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2855, 0.3055, 0.3719, 0.4999, 0.6981, 0.9744, 1.338, 1.795, 2.353, 3.02",\
                 "0.2851, 0.3041, 0.3721, 0.4997, 0.697, 0.9748, 1.339, 1.794, 2.352, 3.019",\
                 "0.2866, 0.3052, 0.3715, 0.4995, 0.6977, 0.9741, 1.338, 1.796, 2.353, 3.02",\
                 "0.3591, 0.3752, 0.4285, 0.5312, 0.7068, 0.9753, 1.338, 1.795, 2.353, 3.02",\
                 "0.4574, 0.4782, 0.545, 0.6628, 0.8222, 1.042, 1.359, 1.798, 2.353, 3.019",\
                 "0.5712, 0.5938, 0.669, 0.8038, 0.9938, 1.234, 1.517, 1.888, 2.383, 3.023",\
                 "0.7046, 0.7334, 0.8146, 0.9608, 1.171, 1.444, 1.767, 2.131, 2.566, 3.123",\
                 "0.8534, 0.8826, 0.9798, 1.143, 1.37, 1.662, 2.023, 2.437, 2.894, 3.404",\
                 "1.016, 1.05, 1.159, 1.347, 1.595, 1.908, 2.288, 2.738, 3.253, 3.81",\
                 "1.19, 1.229, 1.357, 1.566, 1.842, 2.181, 2.583, 3.06, 3.607, 4.228");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1156, 0.1222, 0.1454, 0.1893, 0.2577, 0.353, 0.4788, 0.6366, 0.8295, 1.059",\
                 "0.1288, 0.1355, 0.1588, 0.2032, 0.2718, 0.3672, 0.4928, 0.6512, 0.8445, 1.074",\
                 "0.1631, 0.1716, 0.1995, 0.2471, 0.3162, 0.4122, 0.5382, 0.6963, 0.8895, 1.119",\
                 "0.1825, 0.1947, 0.2334, 0.2987, 0.387, 0.4953, 0.6239, 0.7824, 0.9755, 1.205",\
                 "0.1792, 0.1947, 0.2452, 0.3294, 0.442, 0.5781, 0.7353, 0.9126, 1.111, 1.341",\
                 "0.1491, 0.1687, 0.231, 0.3352, 0.4731, 0.6385, 0.828, 1.04, 1.272, 1.525",\
                 "0.0924, 0.1148, 0.1884, 0.3121, 0.4759, 0.6724, 0.8955, 1.142, 1.412, 1.705",\
                 "0.0064, 0.0323, 0.1162, 0.2583, 0.4488, 0.6757, 0.934, 1.219, 1.527, 1.859",\
                 "-0.1134, -0.0832, 0.0124, 0.1722, 0.3876, 0.6459, 0.9396, 1.262, 1.612, 1.986",\
                 "-0.2678, -0.2348, -0.1268, 0.0524, 0.2913, 0.5807, 0.9097, 1.272, 1.663, 2.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2061, 0.2172, 0.2558, 0.3286, 0.4412, 0.5985, 0.8047, 1.064, 1.381, 1.758",\
                 "0.2218, 0.233, 0.2717, 0.3449, 0.4575, 0.615, 0.8217, 1.082, 1.398, 1.776",\
                 "0.2878, 0.2987, 0.337, 0.4096, 0.522, 0.679, 0.8857, 1.145, 1.462, 1.839",\
                 "0.4129, 0.4261, 0.4689, 0.5443, 0.6551, 0.8101, 1.015, 1.273, 1.589, 1.965",\
                 "0.5654, 0.5813, 0.6337, 0.7268, 0.8583, 1.023, 1.226, 1.481, 1.793, 2.167",\
                 "0.7495, 0.7675, 0.8288, 0.9365, 1.09, 1.286, 1.518, 1.781, 2.091, 2.461",\
                 "0.9654, 0.987, 1.058, 1.181, 1.356, 1.577, 1.842, 2.147, 2.485, 2.858",\
                 "1.215, 1.239, 1.321, 1.462, 1.66, 1.906, 2.2, 2.54, 2.923, 3.34",\
                 "1.497, 1.525, 1.618, 1.779, 2.001, 2.275, 2.598, 2.97, 3.39, 3.854",\
                 "1.815, 1.847, 1.952, 2.131, 2.38, 2.684, 3.04, 3.445, 3.898, 4.403");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.123, 0.1343, 0.1735, 0.2489, 0.3651, 0.5285, 0.7431, 1.012, 1.344, 1.734",\
                 "0.1232, 0.1343, 0.1737, 0.2487, 0.3652, 0.5282, 0.743, 1.013, 1.342, 1.736",\
                 "0.1621, 0.1704, 0.1994, 0.2599, 0.3668, 0.5281, 0.7433, 1.013, 1.342, 1.737",\
                 "0.2485, 0.2585, 0.2928, 0.3555, 0.4473, 0.5734, 0.7586, 1.015, 1.344, 1.734",\
                 "0.3631, 0.3746, 0.4128, 0.4809, 0.5848, 0.7222, 0.8928, 1.102, 1.383, 1.747",\
                 "0.4994, 0.5124, 0.5558, 0.6356, 0.749, 0.9, 1.088, 1.311, 1.57, 1.878",\
                 "0.6518, 0.6668, 0.7188, 0.811, 0.9438, 1.108, 1.311, 1.552, 1.833, 2.153",\
                 "0.8184, 0.8356, 0.8984, 1.004, 1.155, 1.345, 1.568, 1.827, 2.128, 2.47",\
                 "1.001, 1.02, 1.089, 1.217, 1.388, 1.603, 1.854, 2.137, 2.454, 2.818",\
                 "1.197, 1.219, 1.298, 1.442, 1.636, 1.886, 2.161, 2.474, 2.826, 3.203");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2851, 0.3056, 0.3724, 0.4999, 0.6976, 0.9745, 1.339, 1.795, 2.352, 3.02",\
                 "0.2854, 0.3039, 0.3715, 0.4997, 0.697, 0.9749, 1.339, 1.794, 2.354, 3.019",\
                 "0.2868, 0.3054, 0.3717, 0.4998, 0.6974, 0.9736, 1.339, 1.796, 2.354, 3.02",\
                 "0.3587, 0.3755, 0.4283, 0.5316, 0.7065, 0.9753, 1.338, 1.795, 2.354, 3.02",\
                 "0.4564, 0.478, 0.5448, 0.6614, 0.8222, 1.042, 1.359, 1.798, 2.353, 3.019",\
                 "0.5718, 0.5938, 0.6692, 0.8022, 0.9962, 1.234, 1.517, 1.886, 2.383, 3.023",\
                 "0.705, 0.731, 0.8152, 0.961, 1.17, 1.443, 1.767, 2.132, 2.566, 3.123",\
                 "0.8532, 0.8822, 0.98, 1.144, 1.37, 1.663, 2.022, 2.438, 2.895, 3.405",\
                 "1.019, 1.05, 1.162, 1.345, 1.595, 1.908, 2.29, 2.746, 3.251, 3.81",\
                 "1.191, 1.23, 1.357, 1.566, 1.841, 2.182, 2.583, 3.06, 3.608, 4.227");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1108, 0.1168, 0.1383, 0.1791, 0.2423, 0.3307, 0.447, 0.5932, 0.7718, 0.9848",\
                 "0.1242, 0.1304, 0.1522, 0.1933, 0.2569, 0.3453, 0.4617, 0.6078, 0.7868, 0.9997",\
                 "0.1611, 0.1694, 0.1962, 0.2412, 0.3055, 0.3944, 0.5109, 0.6574, 0.8363, 1.049",\
                 "0.1828, 0.1943, 0.2321, 0.296, 0.3818, 0.4857, 0.6062, 0.7528, 0.9313, 1.144",\
                 "0.181, 0.1962, 0.2455, 0.3282, 0.4384, 0.5719, 0.725, 0.8951, 1.082, 1.295",\
                 "0.1532, 0.1717, 0.2327, 0.3346, 0.4705, 0.6334, 0.8196, 1.027, 1.253, 1.495",\
                 "0.0983, 0.1202, 0.1915, 0.3128, 0.474, 0.6676, 0.8878, 1.131, 1.396, 1.682",\
                 "0.0138, 0.0391, 0.1203, 0.2597, 0.4469, 0.6711, 0.9261, 1.207, 1.512, 1.839",\
                 "-0.1036, -0.0756, 0.0179, 0.1745, 0.3858, 0.6409, 0.9317, 1.251, 1.596, 1.966",\
                 "-0.2564, -0.225, -0.1213, 0.0548, 0.2897, 0.5753, 0.9008, 1.259, 1.647, 2.06");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2248, 0.2358, 0.2742, 0.3467, 0.4591, 0.6162, 0.8224, 1.083, 1.398, 1.776",\
                 "0.2407, 0.2518, 0.2904, 0.3632, 0.4758, 0.6335, 0.8392, 1.099, 1.416, 1.795",\
                 "0.3064, 0.3173, 0.3554, 0.4278, 0.5402, 0.6971, 0.9034, 1.163, 1.479, 1.858",\
                 "0.435, 0.4475, 0.4893, 0.5627, 0.6731, 0.8282, 1.033, 1.291, 1.606, 1.983",\
                 "0.5925, 0.6071, 0.6583, 0.75, 0.879, 1.041, 1.244, 1.499, 1.812, 2.186",\
                 "0.7817, 0.7993, 0.8585, 0.964, 1.115, 1.309, 1.538, 1.8, 2.11, 2.48",\
                 "1.004, 1.025, 1.093, 1.214, 1.384, 1.604, 1.867, 2.17, 2.505, 2.878",\
                 "1.259, 1.282, 1.362, 1.499, 1.693, 1.936, 2.228, 2.567, 2.947, 3.363",\
                 "1.549, 1.576, 1.666, 1.822, 2.04, 2.31, 2.63, 3, 3.419, 3.881",\
                 "1.874, 1.905, 2.006, 2.182, 2.424, 2.725, 3.079, 3.48, 3.931, 4.434");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1285, 0.1387, 0.1747, 0.2433, 0.3504, 0.5003, 0.697, 0.9448, 1.246, 1.607",\
                 "0.1287, 0.1388, 0.1748, 0.2436, 0.3506, 0.4998, 0.6971, 0.9448, 1.247, 1.607",\
                 "0.1736, 0.1807, 0.2054, 0.2583, 0.3532, 0.4999, 0.697, 0.9448, 1.248, 1.606",\
                 "0.2694, 0.2784, 0.3087, 0.3655, 0.4479, 0.5571, 0.719, 0.9481, 1.247, 1.608",\
                 "0.392, 0.4016, 0.4354, 0.4986, 0.5958, 0.7216, 0.874, 1.058, 1.302, 1.624",\
                 "0.5366, 0.5472, 0.587, 0.66, 0.7666, 0.909, 1.085, 1.29, 1.523, 1.79",\
                 "0.6976, 0.7112, 0.757, 0.8426, 0.966, 1.123, 1.316, 1.545, 1.806, 2.098",\
                 "0.8736, 0.8896, 0.9434, 1.043, 1.186, 1.365, 1.583, 1.828, 2.114, 2.436",\
                 "1.065, 1.083, 1.144, 1.259, 1.424, 1.629, 1.871, 2.148, 2.449, 2.798",\
                 "1.272, 1.293, 1.364, 1.492, 1.683, 1.911, 2.183, 2.489, 2.824, 3.195");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.3101, 0.3292, 0.3971, 0.5236, 0.7216, 0.9989, 1.362, 1.82, 2.375, 3.042",\
                 "0.31, 0.3294, 0.3965, 0.5234, 0.7218, 0.9996, 1.362, 1.82, 2.378, 3.044",\
                 "0.3096, 0.3287, 0.3953, 0.5237, 0.7223, 0.9981, 1.362, 1.819, 2.378, 3.043",\
                 "0.377, 0.3917, 0.4452, 0.5508, 0.7286, 0.999, 1.362, 1.821, 2.378, 3.043",\
                 "0.4786, 0.4986, 0.565, 0.6798, 0.8394, 1.06, 1.381, 1.822, 2.378, 3.045",\
                 "0.593, 0.6156, 0.6904, 0.8248, 1.013, 1.251, 1.533, 1.906, 2.404, 3.047",\
                 "0.7306, 0.753, 0.8356, 0.9812, 1.19, 1.465, 1.785, 2.147, 2.584, 3.143",\
                 "0.8806, 0.9084, 1.002, 1.164, 1.388, 1.68, 2.039, 2.452, 2.908, 3.419",\
                 "1.047, 1.078, 1.184, 1.367, 1.614, 1.922, 2.305, 2.756, 3.266, 3.823",\
                 "1.227, 1.262, 1.388, 1.594, 1.86, 2.197, 2.596, 3.075, 3.624, 4.235");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.1792, 0.1893, 0.2241, 0.2877, 0.3836, 0.5148, 0.6851, 0.8978, 1.156, 1.463",\
                 "0.1919, 0.2021, 0.2369, 0.3009, 0.3969, 0.5283, 0.6987, 0.9114, 1.17, 1.477",\
                 "0.2252, 0.2353, 0.2695, 0.3327, 0.4285, 0.5601, 0.7307, 0.9434, 1.202, 1.509",\
                 "0.2596, 0.2711, 0.3109, 0.3812, 0.4823, 0.6146, 0.7844, 0.9969, 1.255, 1.562",\
                 "0.2805, 0.2946, 0.342, 0.4233, 0.538, 0.6858, 0.8671, 1.083, 1.34, 1.647",\
                 "0.2771, 0.2948, 0.3515, 0.4484, 0.5818, 0.7484, 0.9492, 1.185, 1.458, 1.769",\
                 "0.2463, 0.2659, 0.3327, 0.4466, 0.6031, 0.7951, 1.02, 1.279, 1.575, 1.909",\
                 "0.1842, 0.2073, 0.2837, 0.4154, 0.5952, 0.8148, 1.071, 1.359, 1.681, 2.041",\
                 "0.0912, 0.1171, 0.2036, 0.3515, 0.5554, 0.8039, 1.092, 1.415, 1.77, 2.159",\
                 "-0.0354, -0.0059, 0.0892, 0.2536, 0.4791, 0.758, 1.08, 1.439, 1.832, 2.259");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2248, 0.2358, 0.2742, 0.3467, 0.4591, 0.6162, 0.8224, 1.083, 1.398, 1.776",\
                 "0.2407, 0.2518, 0.2904, 0.3632, 0.4758, 0.6335, 0.8392, 1.099, 1.416, 1.795",\
                 "0.3064, 0.3173, 0.3554, 0.4278, 0.5402, 0.6971, 0.9034, 1.163, 1.479, 1.858",\
                 "0.435, 0.4475, 0.4893, 0.5627, 0.6731, 0.8282, 1.033, 1.291, 1.606, 1.983",\
                 "0.5925, 0.6071, 0.6583, 0.75, 0.879, 1.041, 1.244, 1.499, 1.812, 2.186",\
                 "0.7817, 0.7993, 0.8585, 0.964, 1.115, 1.309, 1.538, 1.8, 2.11, 2.48",\
                 "1.004, 1.025, 1.093, 1.214, 1.384, 1.604, 1.867, 2.17, 2.505, 2.878",\
                 "1.259, 1.282, 1.362, 1.499, 1.693, 1.936, 2.228, 2.567, 2.947, 3.363",\
                 "1.549, 1.576, 1.666, 1.822, 2.04, 2.31, 2.63, 3, 3.419, 3.881",\
                 "1.874, 1.905, 2.006, 2.182, 2.424, 2.725, 3.079, 3.48, 3.931, 4.434");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.2109, 0.2275, 0.2834, 0.3868, 0.5438, 0.7619, 1.048, 1.407, 1.845, 2.368",\
                 "0.2106, 0.2269, 0.2826, 0.386, 0.5432, 0.7612, 1.048, 1.406, 1.845, 2.368",\
                 "0.2173, 0.2319, 0.2836, 0.3838, 0.5421, 0.7614, 1.048, 1.407, 1.844, 2.368",\
                 "0.2755, 0.2907, 0.3397, 0.4304, 0.5682, 0.7696, 1.048, 1.407, 1.844, 2.367",\
                 "0.3665, 0.3815, 0.4306, 0.5218, 0.6622, 0.8558, 1.106, 1.435, 1.853, 2.368",\
                 "0.4892, 0.5046, 0.559, 0.6538, 0.7944, 0.988, 1.241, 1.558, 1.941, 2.419",\
                 "0.6312, 0.6494, 0.7112, 0.8184, 0.9688, 1.164, 1.417, 1.736, 2.123, 2.578",\
                 "0.7882, 0.8108, 0.8822, 1.005, 1.173, 1.386, 1.645, 1.959, 2.346, 2.804",\
                 "0.9638, 0.9888, 1.067, 1.208, 1.399, 1.635, 1.912, 2.237, 2.622, 3.08",\
                 "1.149, 1.178, 1.269, 1.427, 1.644, 1.905, 2.209, 2.557, 2.954, 3.41");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001733, 0.004308, 0.009224, 0.01688, 0.02763, 0.04177, 0.05959, 0.08134, 0.1073");
          values("0.3117, 0.3322, 0.4042, 0.5396, 0.7479, 1.037, 1.413, 1.882, 2.447, 3.116",\
                 "0.3118, 0.3323, 0.404, 0.5394, 0.7478, 1.038, 1.414, 1.881, 2.445, 3.115",\
                 "0.3151, 0.3344, 0.4044, 0.5395, 0.7478, 1.037, 1.414, 1.881, 2.446, 3.116",\
                 "0.4011, 0.4177, 0.4715, 0.5785, 0.7604, 1.039, 1.414, 1.881, 2.446, 3.116",\
                 "0.5234, 0.5416, 0.6086, 0.7248, 0.887, 1.113, 1.439, 1.885, 2.447, 3.116",\
                 "0.666, 0.6872, 0.7594, 0.8912, 1.081, 1.32, 1.605, 1.981, 2.48, 3.122",\
                 "0.8374, 0.8602, 0.9402, 1.08, 1.285, 1.554, 1.875, 2.236, 2.672, 3.231",\
                 "1.03, 1.056, 1.146, 1.298, 1.516, 1.803, 2.153, 2.561, 3.012, 3.52",\
                 "1.249, 1.276, 1.374, 1.543, 1.778, 2.077, 2.446, 2.888, 3.389, 3.937",\
                 "1.484, 1.516, 1.622, 1.807, 2.063, 2.384, 2.77, 3.231, 3.77, 4.367");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai31_2) {
    area : 41.708800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B" ;
      value : "8.76579e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B" ;
      value : "8.82453e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B" ;
      value : "0.0001523181" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B" ;
      value : "0.000124971" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B" ;
      value : "0.0001523181" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B" ;
      value : "9.65481e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B" ;
      value : "0.0001528263" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B" ;
      value : "9.65481e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B" ;
      value : "0.0001523181" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B" ;
      value : "6.77754e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B" ;
      value : "0.000152823" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B" ;
      value : "6.77787e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B" ;
      value : "0.0001528263" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B" ;
      value : "6.77754e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B" ;
      value : "0.0001531233" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B" ;
      value : "6.77787e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001531233" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009592 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03345, 0.03345, 0.03344, 0.03334, 0.03326, 0.03327, 0.03325, \
                 0.03325, 0.03324, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02576, 0.02578, 0.02577, 0.02568, 0.02559, 0.02546, 0.02536, \
                 0.02526, 0.02516, 0.025");
        }
      }

      internal_power() {
        when : "!A2&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0334, 0.0334, 0.03345, 0.03338, 0.03331, 0.0333, 0.03326, 0.03323, \
                 0.0332, 0.03318");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02928, -0.02983, -0.03054, -0.03117, -0.03165, -0.03204, -0.03224, \
                 -0.03236, -0.03245, -0.0325");
        }
      }

      internal_power() {
        when : "!A2&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04544, 0.04543, 0.04532, 0.04525, 0.04522, 0.04524, 0.04519, \
                 0.04513, 0.04503, 0.0449");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009491, -0.009495, -0.009497, -0.009521, -0.009529, -0.009546, \
                 -0.00955, -0.009545, -0.009545, -0.009538");
        }
      }

      internal_power() {
        when : "A2&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03342, 0.03345, 0.03351, 0.03338, 0.0333, 0.03327, 0.03323, \
                 0.03321, 0.03319, 0.03315");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03218, -0.03228, -0.03239, -0.03254, -0.03265, -0.0328, -0.03284, \
                 -0.03286, -0.03288, -0.03289");
        }
      }

      internal_power() {
        when : "A2&!A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02249, 0.02247, 0.02244, 0.02244, 0.02242, 0.02244, 0.02242, \
                 0.02241, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009511, -0.009515, -0.009516, -0.009542, -0.009554, -0.00957, \
                 -0.009567, -0.009578, -0.009565, -0.00957");
        }
      }

      internal_power() {
        when : "A2&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03343, 0.03345, 0.0335, 0.03337, 0.03331, 0.03329, 0.03325, \
                 0.03321, 0.03319, 0.03315");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03164, -0.03209, -0.03239, -0.03257, -0.03266, -0.0328, -0.03282, \
                 -0.03286, -0.03285, -0.03288");
        }
      }

      internal_power() {
        when : "A2&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02249, 0.02248, 0.02247, 0.02242, 0.02242, 0.02245, 0.02242, \
                 0.0224, 0.02236, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00951, -0.009516, -0.009536, -0.00955, -0.009548, -0.00957, \
                 -0.009568, -0.009571, -0.009569, -0.009567");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009235 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03335, 0.03338, 0.03342, 0.03331, 0.03322, 0.03329, 0.03327, \
                 0.03324, 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02593, 0.02589, 0.02582, 0.02574, 0.02564, 0.02552, 0.0254, \
                 0.02528, 0.02516, 0.025");
        }
      }

      internal_power() {
        when : "!A1&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03324, 0.03326, 0.03338, 0.03335, 0.03327, 0.03331, 0.03325, \
                 0.03321, 0.03319, 0.03316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03188, -0.03196, -0.03209, -0.03246, -0.03258, -0.03276, -0.03284, \
                 -0.03284, -0.03289, -0.03289");
        }
      }

      internal_power() {
        when : "!A1&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02353, 0.0235, 0.02351, 0.02349, 0.02349, 0.0235, 0.02347, 0.02341, \
                 0.02334, 0.02322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01081, -0.0108, -0.01082, -0.01084, -0.01086, -0.01091, -0.01092, \
                 -0.01094, -0.01096, -0.011");
        }
      }

      internal_power() {
        when : "A1&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03338, 0.03335, 0.03331, 0.03324, 0.03323, 0.03326, 0.03324, \
                 0.03322, 0.03321, 0.03317");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03196, -0.0319, -0.03201, -0.03234, -0.03251, -0.03267, -0.03273, \
                 -0.03277, -0.0328, -0.03285");
        }
      }

      internal_power() {
        when : "A1&!A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02925, 0.02923, 0.02919, 0.02917, 0.02918, 0.02924, 0.02923, \
                 0.02921, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02383, -0.02539, -0.02773, -0.0283, -0.02844, -0.02861, -0.02867, \
                 -0.02873, -0.02877, -0.02879");
        }
      }

      internal_power() {
        when : "A1&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02317, 0.02317, 0.02315, 0.02311, 0.02308, 0.02306, 0.02306, \
                 0.02305, 0.02303, 0.02298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03008, -0.03007, -0.03008, -0.03005, -0.03004, -0.03011, -0.03007, \
                 -0.03005, -0.03001, -0.02995");
        }
      }

      internal_power() {
        when : "A1&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01893, 0.01896, 0.01896, 0.01897, 0.01898, 0.019, 0.01902, 0.01902, \
                 0.01901, 0.01901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01926, -0.01929, -0.01934, -0.01924, -0.01917, -0.01912, -0.01902, \
                 -0.01896, -0.01892, -0.01888");
        }
      }
    }

    pin(A3) {
      capacitance : 0.009992 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03336, 0.03326, 0.03326, 0.03329, 0.03321, 0.0332, 0.03329, \
                 0.03326, 0.03326, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.026, 0.02602, 0.02587, 0.02579, 0.02567, 0.02554, 0.02544, 0.02531, \
                 0.0252, 0.02502");
        }
      }

      internal_power() {
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03338, 0.03327, 0.03329, 0.03333, 0.03326, 0.03324, 0.03326, \
                 0.03322, 0.03319, 0.03318");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03182, -0.0318, -0.03225, -0.03248, -0.03257, -0.03272, -0.0328, \
                 -0.03283, -0.03284, -0.03289");
        }
      }

      internal_power() {
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02916, 0.0291, 0.02913, 0.02919, 0.02919, 0.02925, \
                 0.02919, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02607, -0.02734, -0.02804, -0.02838, -0.02851, -0.02867, -0.02872, \
                 -0.02876, -0.0288, -0.02883");
        }
      }

      internal_power() {
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03335, 0.03325, 0.03325, 0.03325, 0.03324, 0.03326, 0.03329, \
                 0.03324, 0.03323, 0.03319");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02901, -0.02965, -0.03073, -0.03153, -0.0319, -0.03215, -0.0323, \
                 -0.03237, -0.03245, -0.03251");
        }
      }

      internal_power() {
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02917, 0.02911, 0.02921, 0.02919, 0.02926, 0.02923, \
                 0.02922, 0.02921, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0248, -0.02551, -0.02659, -0.02743, -0.02781, -0.02808, -0.02823, \
                 -0.02833, -0.02842, -0.02846");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03328, 0.0333, 0.03331, 0.03327, 0.03326, 0.03325, \
                 0.03321, 0.0332, 0.03314");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03131, -0.0317, -0.03229, -0.03251, -0.03259, -0.03277, -0.03281, \
                 -0.03286, -0.03288, -0.03288");
        }
      }

      internal_power() {
        when : "A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02917, 0.02913, 0.02908, 0.02917, 0.02924, 0.02922, \
                 0.02919, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02712, -0.02745, -0.02805, -0.02842, -0.02853, -0.02865, -0.02874, \
                 -0.02878, -0.0288, -0.02884");
        }
      }
    }

    pin(B) {
      capacitance : 0.008484 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03022, 0.02906, 0.02895, 0.02887, 0.02881, 0.02883, 0.02883, \
                 0.02884, 0.02884, 0.02882");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02898, -0.02899, -0.02891, -0.02887, -0.02883, -0.02882, -0.0288, \
                 -0.02877, -0.02874, -0.02875");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2)&(!A3))|(!B))" ;
      max_capacitance : 0.2158 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.006322, 0.006435, 0.006625, 0.006815, 0.006933, 0.006992, 0.007043, 0.007078, 0.007087, 0.007112",\
                 "0.00686, 0.00702, 0.007442, 0.007885, 0.008229, 0.008439, 0.008583, 0.008693, 0.008756, 0.008802",\
                 "0.009478, 0.009558, 0.009792, 0.01005, 0.01026, 0.01041, 0.0105, 0.01058, 0.01063, 0.01066",\
                 "0.01672, 0.0165, 0.01599, 0.0153, 0.01463, 0.01405, 0.01359, 0.01316, 0.01284, 0.01259",\
                 "0.03145, 0.03087, 0.02906, 0.02676, 0.02441, 0.02235, 0.0206, 0.0191, 0.01791, 0.0169",\
                 "0.05571, 0.05466, 0.05145, 0.04689, 0.04215, 0.03786, 0.03404, 0.03075, 0.02795, 0.02565",\
                 "0.09044, 0.08889, 0.08419, 0.07735, 0.06967, 0.06233, 0.05581, 0.05, 0.04507, 0.04072",\
                 "0.1363, 0.1343, 0.1283, 0.1191, 0.1084, 0.09751, 0.08749, 0.07863, 0.07079, 0.06387",\
                 "0.194, 0.1916, 0.1843, 0.1727, 0.1589, 0.1445, 0.1306, 0.118, 0.1067, 0.09655",\
                 "0.2638, 0.2612, 0.2527, 0.2389, 0.2221, 0.2041, 0.1861, 0.1693, 0.1538, 0.14");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1368, 0.1371, 0.1378, 0.1386, 0.1392, 0.1397, 0.1402, 0.1407, 0.1415, 0.1439",\
                 "0.1346, 0.135, 0.1362, 0.1376, 0.1389, 0.1399, 0.141, 0.1413, 0.1424, 0.1446",\
                 "0.1346, 0.1347, 0.1351, 0.136, 0.1373, 0.1386, 0.1397, 0.1408, 0.1418, 0.1448",\
                 "0.1442, 0.1439, 0.1428, 0.1415, 0.1408, 0.1407, 0.1411, 0.1418, 0.1424, 0.1452",\
                 "0.1637, 0.1628, 0.1605, 0.1572, 0.1536, 0.1508, 0.1489, 0.1478, 0.1472, 0.1494",\
                 "0.1933, 0.1921, 0.1886, 0.1835, 0.1775, 0.1715, 0.1664, 0.1622, 0.1596, 0.1602",\
                 "0.2344, 0.2327, 0.2279, 0.2207, 0.2127, 0.2039, 0.1954, 0.1877, 0.1817, 0.181",\
                 "0.2879, 0.2857, 0.2794, 0.2702, 0.2594, 0.2483, 0.2366, 0.2254, 0.2157, 0.214",\
                 "0.3544, 0.3519, 0.3442, 0.3327, 0.3192, 0.3051, 0.2908, 0.2763, 0.2635, 0.2632",\
                 "0.4352, 0.4322, 0.4229, 0.409, 0.3928, 0.3755, 0.3579, 0.3404, 0.3265, 0.3329");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.02628, 0.02632, 0.02633, 0.02634, 0.02634, 0.02641, 0.02641, 0.02642, 0.02643, 0.02643",\
                 "0.02596, 0.02601, 0.02605, 0.02613, 0.02616, 0.02622, 0.02626, 0.02627, 0.02628, 0.02629",\
                 "0.02685, 0.02681, 0.02677, 0.0267, 0.02658, 0.02657, 0.02651, 0.02648, 0.02645, 0.02644",\
                 "0.03318, 0.03291, 0.03217, 0.03121, 0.03027, 0.02949, 0.02877, 0.02833, 0.02794, 0.02763",\
                 "0.04857, 0.0479, 0.04598, 0.04328, 0.04048, 0.03802, 0.0359, 0.03425, 0.0328, 0.03172",\
                 "0.07482, 0.07369, 0.07036, 0.06543, 0.06006, 0.0549, 0.0504, 0.04662, 0.04349, 0.04085",\
                 "0.1132, 0.1115, 0.1066, 0.09914, 0.09063, 0.08221, 0.07456, 0.06776, 0.062, 0.05711",\
                 "0.1641, 0.1621, 0.1556, 0.1457, 0.1337, 0.1217, 0.1101, 0.09971, 0.09052, 0.08242",\
                 "0.2285, 0.226, 0.2182, 0.2057, 0.1905, 0.1744, 0.1587, 0.1439, 0.1306, 0.1187",\
                 "0.3067, 0.3039, 0.2948, 0.28, 0.2615, 0.2413, 0.2211, 0.2018, 0.1838, 0.1674");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1579, 0.1582, 0.1587, 0.1593, 0.1599, 0.1604, 0.1609, 0.1615, 0.1618, 0.1645",\
                 "0.1553, 0.1558, 0.1569, 0.1584, 0.1596, 0.1606, 0.1614, 0.162, 0.1629, 0.1656",\
                 "0.1518, 0.152, 0.1531, 0.1547, 0.1567, 0.1583, 0.1598, 0.1609, 0.1618, 0.1649",\
                 "0.1573, 0.1571, 0.1567, 0.1565, 0.1571, 0.1578, 0.1588, 0.1603, 0.1614, 0.1647",\
                 "0.1757, 0.175, 0.173, 0.1703, 0.1678, 0.1661, 0.1651, 0.1647, 0.1648, 0.1677",\
                 "0.2078, 0.2066, 0.2029, 0.1978, 0.192, 0.1866, 0.1821, 0.1788, 0.1763, 0.1779",\
                 "0.2535, 0.2517, 0.2464, 0.2387, 0.2298, 0.221, 0.2126, 0.2051, 0.1993, 0.1989",\
                 "0.3133, 0.3111, 0.3042, 0.2939, 0.2818, 0.2697, 0.2574, 0.2461, 0.2358, 0.2336",\
                 "0.3881, 0.3855, 0.3769, 0.3641, 0.3486, 0.3328, 0.3173, 0.3019, 0.2882, 0.2853",\
                 "0.4787, 0.4755, 0.4657, 0.4501, 0.4315, 0.4117, 0.392, 0.3728, 0.3572, 0.3585");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.04821, 0.04817, 0.04812, 0.04809, 0.0481, 0.04813, 0.04814, 0.04816, 0.04816, 0.04814",\
                 "0.04636, 0.04634, 0.04631, 0.04626, 0.04625, 0.04628, 0.0463, 0.04631, 0.04633, 0.04629",\
                 "0.04551, 0.04545, 0.04527, 0.04507, 0.04488, 0.04474, 0.04468, 0.04468, 0.0446, 0.04457",\
                 "0.0511, 0.05075, 0.0499, 0.04875, 0.04767, 0.04677, 0.04607, 0.04557, 0.04516, 0.04489",\
                 "0.06765, 0.06681, 0.06459, 0.06133, 0.05814, 0.05534, 0.05302, 0.0512, 0.04969, 0.0485",\
                 "0.09761, 0.09627, 0.09207, 0.08613, 0.07965, 0.07366, 0.06847, 0.06418, 0.0607, 0.05784",\
                 "0.1424, 0.1404, 0.1343, 0.1251, 0.1147, 0.1044, 0.09523, 0.08734, 0.08069, 0.07517",\
                 "0.2029, 0.2004, 0.1923, 0.1797, 0.1649, 0.15, 0.1359, 0.1232, 0.1123, 0.1029",\
                 "0.2799, 0.2769, 0.267, 0.2512, 0.2319, 0.2116, 0.192, 0.1739, 0.1577, 0.1435",\
                 "0.374, 0.3705, 0.3589, 0.3401, 0.3164, 0.2907, 0.2653, 0.2412, 0.219, 0.1991");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1784, 0.1786, 0.1792, 0.1798, 0.1804, 0.1809, 0.1814, 0.1819, 0.1824, 0.185",\
                 "0.1758, 0.1762, 0.1774, 0.1788, 0.1801, 0.1811, 0.1819, 0.1826, 0.1834, 0.1857",\
                 "0.1715, 0.1718, 0.173, 0.1747, 0.1767, 0.1786, 0.1801, 0.1813, 0.1827, 0.1856",\
                 "0.1735, 0.1734, 0.1736, 0.1741, 0.1752, 0.1766, 0.1781, 0.1796, 0.181, 0.1846",\
                 "0.1893, 0.1887, 0.1873, 0.1853, 0.1837, 0.1828, 0.1825, 0.1827, 0.1834, 0.1866",\
                 "0.2234, 0.2221, 0.2183, 0.2133, 0.208, 0.2032, 0.1994, 0.1965, 0.1947, 0.1966",\
                 "0.2763, 0.2744, 0.2683, 0.2598, 0.2504, 0.2413, 0.2329, 0.2255, 0.2198, 0.2191",\
                 "0.3476, 0.345, 0.3369, 0.325, 0.3111, 0.2975, 0.2843, 0.2722, 0.261, 0.2583",\
                 "0.4368, 0.4337, 0.4242, 0.409, 0.3911, 0.3725, 0.3543, 0.3374, 0.3222, 0.3166",\
                 "0.545, 0.5417, 0.5305, 0.5126, 0.4907, 0.4673, 0.4437, 0.4218, 0.4028, 0.3994");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.04878, 0.04881, 0.04892, 0.04902, 0.04911, 0.0492, 0.04925, 0.04928, 0.04932, 0.04934",\
                 "0.04751, 0.04767, 0.0479, 0.04826, 0.04855, 0.04879, 0.04894, 0.04905, 0.04916, 0.04924",\
                 "0.04613, 0.04625, 0.04659, 0.04704, 0.04752, 0.04796, 0.04835, 0.0486, 0.04873, 0.04891",\
                 "0.05093, 0.05077, 0.05057, 0.05026, 0.05005, 0.04996, 0.04976, 0.04973, 0.04963, 0.04959",\
                 "0.06786, 0.06746, 0.06585, 0.06376, 0.06163, 0.05965, 0.05798, 0.05653, 0.05539, 0.0544",\
                 "0.1003, 0.09933, 0.09629, 0.09157, 0.08639, 0.08137, 0.07688, 0.07295, 0.06958, 0.06672",\
                 "0.1502, 0.1486, 0.1438, 0.1362, 0.1274, 0.1183, 0.1099, 0.1023, 0.09555, 0.08979",\
                 "0.2183, 0.2163, 0.2099, 0.1995, 0.1866, 0.1729, 0.1595, 0.1474, 0.1363, 0.1264",\
                 "0.3054, 0.303, 0.2951, 0.2821, 0.2653, 0.2467, 0.228, 0.2102, 0.1938, 0.1792",\
                 "0.4121, 0.4093, 0.4003, 0.3848, 0.3643, 0.3409, 0.3166, 0.2929, 0.2705, 0.25");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2574, 0.2575, 0.2575, 0.2577, 0.2579, 0.2581, 0.2586, 0.2593, 0.2598, 0.2606",\
                 "0.2551, 0.2552, 0.2555, 0.2557, 0.2561, 0.2564, 0.257, 0.2577, 0.2584, 0.2591",\
                 "0.2563, 0.2563, 0.256, 0.256, 0.2559, 0.2561, 0.2565, 0.2573, 0.2576, 0.2586",\
                 "0.2697, 0.2691, 0.2678, 0.2657, 0.2638, 0.2623, 0.2613, 0.261, 0.2606, 0.2611",\
                 "0.2982, 0.2973, 0.2943, 0.2899, 0.2846, 0.2799, 0.2761, 0.2732, 0.271, 0.2694",\
                 "0.3437, 0.3423, 0.3376, 0.3304, 0.322, 0.3131, 0.305, 0.298, 0.2924, 0.2879",\
                 "0.4071, 0.4054, 0.3995, 0.3896, 0.3772, 0.3642, 0.3513, 0.3401, 0.3294, 0.3202",\
                 "0.4897, 0.4875, 0.4805, 0.4685, 0.4528, 0.4348, 0.4171, 0.4005, 0.3848, 0.3705",\
                 "0.592, 0.5895, 0.5817, 0.5678, 0.549, 0.5272, 0.504, 0.481, 0.4598, 0.4404",\
                 "0.7154, 0.7128, 0.7038, 0.6883, 0.6672, 0.6419, 0.6141, 0.5846, 0.5569, 0.5308");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.02593, 0.02595, 0.02603, 0.0262, 0.02635, 0.02643, 0.02649, 0.02657, 0.02658, 0.02659",\
                 "0.02453, 0.02466, 0.02503, 0.02547, 0.02581, 0.02605, 0.0262, 0.02632, 0.02637, 0.02647",\
                 "0.02284, 0.02301, 0.02346, 0.024, 0.02464, 0.02511, 0.02551, 0.02579, 0.026, 0.02611",\
                 "0.02788, 0.02769, 0.02746, 0.02725, 0.02711, 0.02699, 0.02691, 0.02688, 0.02683, 0.02679",\
                 "0.04595, 0.04534, 0.04363, 0.04139, 0.0391, 0.03703, 0.03531, 0.03384, 0.03266, 0.03165",\
                 "0.08022, 0.07913, 0.07569, 0.07057, 0.06481, 0.05946, 0.05474, 0.05061, 0.0471, 0.04421",\
                 "0.1324, 0.1307, 0.1254, 0.117, 0.1071, 0.09744, 0.0885, 0.08055, 0.07357, 0.06754",\
                 "0.2028, 0.2007, 0.1935, 0.1821, 0.168, 0.1533, 0.1392, 0.1263, 0.1149, 0.1047",\
                 "0.2921, 0.2895, 0.2809, 0.2666, 0.2485, 0.2286, 0.2088, 0.1902, 0.1733, 0.158",\
                 "0.4006, 0.3976, 0.3876, 0.3709, 0.3491, 0.3244, 0.2988, 0.2739, 0.2508, 0.2297");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.237, 0.237, 0.2371, 0.2373, 0.2375, 0.2376, 0.2381, 0.2387, 0.2394, 0.2401",\
                 "0.2347, 0.2347, 0.235, 0.2354, 0.2357, 0.2359, 0.2365, 0.2372, 0.2379, 0.2387",\
                 "0.2359, 0.2358, 0.2356, 0.2356, 0.2356, 0.2356, 0.2361, 0.2368, 0.2374, 0.2379",\
                 "0.2493, 0.2487, 0.2474, 0.2453, 0.2434, 0.2419, 0.2409, 0.2405, 0.2404, 0.2407",\
                 "0.2777, 0.2767, 0.2738, 0.2694, 0.2642, 0.2595, 0.2557, 0.2524, 0.2502, 0.2488",\
                 "0.3233, 0.3219, 0.317, 0.31, 0.3014, 0.2929, 0.2849, 0.2777, 0.2719, 0.2676",\
                 "0.3867, 0.385, 0.3789, 0.3692, 0.3566, 0.3435, 0.331, 0.3196, 0.309, 0.3001",\
                 "0.4692, 0.4672, 0.4601, 0.448, 0.4324, 0.4143, 0.3964, 0.3798, 0.3645, 0.3505",\
                 "0.5716, 0.5693, 0.5612, 0.5474, 0.5286, 0.5066, 0.4834, 0.4606, 0.4392, 0.42",\
                 "0.695, 0.6923, 0.6834, 0.6682, 0.6468, 0.6214, 0.5934, 0.5646, 0.5364, 0.5102");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.02586, 0.02592, 0.02601, 0.02617, 0.02633, 0.02643, 0.02649, 0.02654, 0.02654, 0.02658",\
                 "0.02455, 0.02469, 0.02504, 0.02542, 0.0258, 0.02606, 0.02621, 0.02631, 0.0264, 0.02647",\
                 "0.02299, 0.02315, 0.02365, 0.02425, 0.02477, 0.0252, 0.02557, 0.02581, 0.026, 0.02614",\
                 "0.02873, 0.02861, 0.02831, 0.02797, 0.02773, 0.02758, 0.02739, 0.02725, 0.02714, 0.02707",\
                 "0.04772, 0.04714, 0.04539, 0.04297, 0.04054, 0.03828, 0.03638, 0.03475, 0.03345, 0.03235",\
                 "0.08288, 0.08178, 0.07821, 0.07297, 0.06717, 0.0615, 0.05656, 0.05221, 0.04854, 0.04543",\
                 "0.1358, 0.1341, 0.1287, 0.1203, 0.1103, 0.1003, 0.09114, 0.08296, 0.07575, 0.06953",\
                 "0.207, 0.2048, 0.1976, 0.1861, 0.1721, 0.1571, 0.1427, 0.1296, 0.1178, 0.1075",\
                 "0.2969, 0.2943, 0.2857, 0.2715, 0.2533, 0.2332, 0.2132, 0.1943, 0.1771, 0.1616",\
                 "0.4062, 0.4032, 0.3933, 0.3765, 0.3548, 0.33, 0.3043, 0.2792, 0.2556, 0.2342");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2548, 0.2548, 0.2549, 0.2551, 0.2553, 0.2556, 0.256, 0.2565, 0.257, 0.2582",\
                 "0.2527, 0.2528, 0.2531, 0.2535, 0.2539, 0.2544, 0.2548, 0.2555, 0.2561, 0.2574",\
                 "0.2538, 0.2538, 0.2538, 0.2537, 0.2538, 0.2541, 0.2547, 0.2553, 0.2558, 0.2569",\
                 "0.267, 0.2666, 0.2655, 0.2638, 0.262, 0.2605, 0.2596, 0.2591, 0.259, 0.2595",\
                 "0.2954, 0.2946, 0.292, 0.2882, 0.2834, 0.2787, 0.2749, 0.2719, 0.2696, 0.2683",\
                 "0.3407, 0.3395, 0.3353, 0.3288, 0.321, 0.3134, 0.3053, 0.2983, 0.2926, 0.2877",\
                 "0.4041, 0.4025, 0.3971, 0.3883, 0.3769, 0.3651, 0.353, 0.3417, 0.3316, 0.3223",\
                 "0.4866, 0.4846, 0.4784, 0.4675, 0.4532, 0.4365, 0.42, 0.404, 0.3886, 0.3749",\
                 "0.5892, 0.587, 0.5798, 0.5669, 0.5497, 0.5296, 0.5079, 0.486, 0.4657, 0.4474",\
                 "0.7132, 0.7108, 0.7024, 0.6882, 0.6688, 0.6448, 0.6187, 0.5918, 0.5655, 0.5405");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.005366, 0.005417, 0.005641, 0.005834, 0.005938, 0.006043, 0.00608, 0.006127, 0.00616, 0.00618",\
                 "0.003558, 0.003789, 0.00438, 0.00494, 0.005353, 0.005603, 0.00578, 0.005894, 0.005945, 0.006041",\
                 "0.001495, 0.001718, 0.00242, 0.003249, 0.003994, 0.004632, 0.005045, 0.00531, 0.005522, 0.005675",\
                 "0.007666, 0.007532, 0.007142, 0.006882, 0.006667, 0.006605, 0.006493, 0.006477, 0.006427, 0.006383",\
                 "0.02798, 0.0272, 0.02503, 0.02213, 0.01945, 0.01711, 0.01516, 0.01361, 0.01236, 0.01138",\
                 "0.06506, 0.06362, 0.05925, 0.05302, 0.04636, 0.04044, 0.03521, 0.03088, 0.02714, 0.02408",\
                 "0.1197, 0.1177, 0.1112, 0.1015, 0.09036, 0.07963, 0.06992, 0.06147, 0.0541, 0.04785",\
                 "0.1925, 0.19, 0.1816, 0.1686, 0.153, 0.1368, 0.1216, 0.108, 0.09605, 0.08551",\
                 "0.2837, 0.2807, 0.2708, 0.2549, 0.235, 0.2136, 0.1925, 0.1728, 0.1553, 0.1394",\
                 "0.3938, 0.3904, 0.3793, 0.3609, 0.3372, 0.3108, 0.2838, 0.2577, 0.2336, 0.2115");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2163, 0.2163, 0.2163, 0.2165, 0.2168, 0.2171, 0.2174, 0.2181, 0.2187, 0.2195",\
                 "0.2139, 0.214, 0.2142, 0.2146, 0.215, 0.2154, 0.216, 0.2166, 0.2174, 0.218",\
                 "0.2152, 0.2151, 0.2148, 0.2148, 0.2148, 0.2151, 0.2155, 0.2161, 0.2168, 0.2174",\
                 "0.2285, 0.2282, 0.2268, 0.2246, 0.2226, 0.2212, 0.2203, 0.2197, 0.2194, 0.2197",\
                 "0.2573, 0.2562, 0.253, 0.2486, 0.2435, 0.2389, 0.2348, 0.2318, 0.2295, 0.2284",\
                 "0.3029, 0.3014, 0.2967, 0.2893, 0.2807, 0.272, 0.2639, 0.2567, 0.251, 0.2466",\
                 "0.3665, 0.3646, 0.3586, 0.3486, 0.3361, 0.3227, 0.3103, 0.2987, 0.2882, 0.2796",\
                 "0.4491, 0.4469, 0.4397, 0.4277, 0.4119, 0.3939, 0.3759, 0.3589, 0.3437, 0.3298",\
                 "0.5515, 0.5488, 0.5408, 0.527, 0.5084, 0.4862, 0.463, 0.44, 0.4187, 0.3997",\
                 "0.6748, 0.6721, 0.6631, 0.6477, 0.6265, 0.6007, 0.5733, 0.5439, 0.5159, 0.4901");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.005356, 0.005443, 0.005649, 0.005844, 0.005944, 0.006044, 0.006077, 0.006114, 0.006139, 0.006159",\
                 "0.003604, 0.003812, 0.004377, 0.004962, 0.005361, 0.005612, 0.005784, 0.005881, 0.00599, 0.006035",\
                 "0.001754, 0.001981, 0.002589, 0.003442, 0.004161, 0.004679, 0.005125, 0.005373, 0.005548, 0.005706",\
                 "0.00865, 0.008499, 0.008045, 0.007646, 0.007388, 0.007149, 0.006979, 0.006858, 0.006738, 0.006657",\
                 "0.02987, 0.02902, 0.02679, 0.0239, 0.02095, 0.01842, 0.01636, 0.01467, 0.01326, 0.01212",\
                 "0.06771, 0.06625, 0.06192, 0.05548, 0.04877, 0.04254, 0.03715, 0.03252, 0.02863, 0.02537",\
                 "0.1232, 0.1211, 0.1147, 0.1048, 0.09355, 0.08259, 0.07265, 0.06387, 0.05631, 0.04982",\
                 "0.1966, 0.1941, 0.1858, 0.1727, 0.1569, 0.1407, 0.1252, 0.1112, 0.09907, 0.08829",\
                 "0.2885, 0.2854, 0.2757, 0.2597, 0.2398, 0.2183, 0.197, 0.177, 0.1592, 0.1431",\
                 "0.3992, 0.3959, 0.3849, 0.3666, 0.3428, 0.3165, 0.2892, 0.2629, 0.2385, 0.2162");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2343, 0.2342, 0.2343, 0.2346, 0.2347, 0.2348, 0.2353, 0.2361, 0.2365, 0.2371",\
                 "0.232, 0.2321, 0.2323, 0.2328, 0.2333, 0.2338, 0.2343, 0.235, 0.2358, 0.2366",\
                 "0.233, 0.2331, 0.233, 0.2331, 0.2333, 0.2335, 0.234, 0.2348, 0.2354, 0.2359",\
                 "0.2465, 0.246, 0.2449, 0.2431, 0.2412, 0.2399, 0.2389, 0.2385, 0.2385, 0.2384",\
                 "0.2749, 0.274, 0.2713, 0.2673, 0.2627, 0.258, 0.2544, 0.2512, 0.2488, 0.2476",\
                 "0.3203, 0.319, 0.315, 0.3082, 0.3003, 0.2925, 0.2846, 0.278, 0.2721, 0.2669",\
                 "0.3838, 0.3822, 0.3767, 0.3679, 0.3565, 0.3443, 0.3326, 0.3211, 0.3112, 0.3017",\
                 "0.4664, 0.4644, 0.4579, 0.447, 0.4324, 0.4159, 0.3992, 0.3832, 0.3686, 0.3545",\
                 "0.569, 0.5666, 0.5595, 0.5466, 0.5296, 0.5092, 0.4874, 0.4657, 0.445, 0.4266",\
                 "0.6929, 0.6906, 0.6823, 0.6678, 0.6483, 0.6245, 0.5981, 0.5712, 0.5447, 0.52");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.005345, 0.005427, 0.005663, 0.005843, 0.00592, 0.006025, 0.006079, 0.006121, 0.006149, 0.006177",\
                 "0.003589, 0.003814, 0.004395, 0.004937, 0.005368, 0.005608, 0.005783, 0.005884, 0.005968, 0.006009",\
                 "0.001753, 0.00198, 0.002589, 0.003441, 0.004161, 0.00469, 0.005096, 0.005376, 0.005555, 0.005703",\
                 "0.008649, 0.008498, 0.008044, 0.007645, 0.007388, 0.007141, 0.006965, 0.006857, 0.006746, 0.006658",\
                 "0.02982, 0.02902, 0.02679, 0.02389, 0.02095, 0.01841, 0.01635, 0.01463, 0.01323, 0.01211",\
                 "0.06771, 0.06624, 0.06186, 0.05548, 0.04877, 0.04254, 0.03715, 0.03255, 0.02863, 0.02539",\
                 "0.1232, 0.1211, 0.1146, 0.1048, 0.09355, 0.0826, 0.07265, 0.06387, 0.05632, 0.04984",\
                 "0.1966, 0.1941, 0.1858, 0.1727, 0.1569, 0.1407, 0.1252, 0.1112, 0.09909, 0.08826",\
                 "0.2885, 0.2854, 0.2757, 0.2597, 0.2398, 0.2183, 0.197, 0.177, 0.1592, 0.143",\
                 "0.3992, 0.3958, 0.3849, 0.3666, 0.3428, 0.3165, 0.2892, 0.2629, 0.2385, 0.2162");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2343, 0.2343, 0.2343, 0.2345, 0.2347, 0.2349, 0.2353, 0.2358, 0.2365, 0.2374",\
                 "0.232, 0.2321, 0.2323, 0.233, 0.2334, 0.2338, 0.2343, 0.2349, 0.2358, 0.2366",\
                 "0.233, 0.2331, 0.233, 0.2331, 0.2333, 0.2335, 0.234, 0.2345, 0.2353, 0.2359",\
                 "0.2465, 0.2461, 0.2449, 0.243, 0.2413, 0.2399, 0.2389, 0.2385, 0.2386, 0.2387",\
                 "0.2749, 0.2741, 0.2712, 0.2674, 0.2629, 0.2581, 0.2543, 0.2514, 0.2493, 0.2475",\
                 "0.3203, 0.319, 0.3149, 0.3083, 0.3004, 0.2926, 0.2847, 0.2776, 0.2716, 0.2673",\
                 "0.3838, 0.3822, 0.3767, 0.3679, 0.3564, 0.3443, 0.3325, 0.3211, 0.3104, 0.302",\
                 "0.4664, 0.4643, 0.4581, 0.447, 0.4325, 0.4162, 0.3992, 0.383, 0.3687, 0.3546",\
                 "0.5691, 0.5666, 0.5594, 0.5467, 0.5292, 0.5089, 0.4877, 0.4657, 0.4452, 0.427",\
                 "0.6929, 0.6905, 0.6823, 0.6679, 0.6483, 0.6241, 0.5985, 0.5717, 0.5449, 0.5199");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.005408, 0.005422, 0.005652, 0.005838, 0.005941, 0.006043, 0.006069, 0.006122, 0.006133, 0.00616",\
                 "0.00361, 0.003846, 0.004382, 0.004949, 0.005343, 0.005622, 0.005792, 0.00587, 0.005983, 0.006044",\
                 "0.001854, 0.002079, 0.002658, 0.003484, 0.004166, 0.004733, 0.005136, 0.005382, 0.005554, 0.005701",\
                 "0.008982, 0.008802, 0.008345, 0.007922, 0.007599, 0.007339, 0.007157, 0.007002, 0.006849, 0.006746",\
                 "0.0303, 0.02957, 0.02737, 0.02444, 0.02145, 0.01886, 0.01669, 0.01493, 0.0135, 0.01232",\
                 "0.06836, 0.06694, 0.06259, 0.05624, 0.04953, 0.04325, 0.03778, 0.03306, 0.02911, 0.0258",\
                 "0.124, 0.122, 0.1155, 0.1057, 0.09456, 0.08352, 0.07348, 0.06468, 0.05705, 0.0505",\
                 "0.1976, 0.195, 0.1868, 0.1738, 0.1581, 0.1418, 0.1264, 0.1124, 0.1001, 0.08918",\
                 "0.2896, 0.2865, 0.2769, 0.261, 0.2412, 0.2197, 0.1984, 0.1784, 0.1604, 0.1443",\
                 "0.4007, 0.3973, 0.3864, 0.368, 0.3444, 0.3182, 0.291, 0.2646, 0.2401, 0.2177");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2515, 0.2515, 0.2519, 0.2519, 0.2522, 0.2523, 0.2528, 0.2534, 0.2537, 0.2546",\
                 "0.2497, 0.2497, 0.2501, 0.2507, 0.2508, 0.2515, 0.2519, 0.2526, 0.2531, 0.2541",\
                 "0.2505, 0.2504, 0.2506, 0.2507, 0.2508, 0.2511, 0.2517, 0.2524, 0.2529, 0.2539",\
                 "0.2636, 0.2632, 0.2621, 0.2605, 0.2587, 0.2574, 0.2567, 0.2562, 0.2559, 0.2564",\
                 "0.2916, 0.2907, 0.2882, 0.2846, 0.2803, 0.2759, 0.2722, 0.2692, 0.267, 0.2655",\
                 "0.3362, 0.3353, 0.3315, 0.3251, 0.3178, 0.3102, 0.3025, 0.2962, 0.2902, 0.2853",\
                 "0.3993, 0.3979, 0.3927, 0.3844, 0.3738, 0.3621, 0.3509, 0.3396, 0.3294, 0.3206",\
                 "0.4816, 0.4797, 0.4737, 0.4635, 0.4496, 0.4338, 0.4174, 0.4022, 0.3874, 0.3737",\
                 "0.584, 0.5822, 0.5749, 0.5627, 0.5465, 0.5271, 0.506, 0.4853, 0.4655, 0.4473",\
                 "0.7082, 0.7055, 0.6977, 0.684, 0.665, 0.642, 0.6171, 0.5906, 0.5649, 0.5404");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.09105, 0.09989, 0.1308, 0.1895, 0.2803, 0.408, 0.5756, 0.7869, 1.045, 1.352",\
                 "0.1044, 0.1133, 0.1443, 0.2033, 0.2944, 0.4223, 0.5901, 0.8017, 1.059, 1.367",\
                 "0.1408, 0.1521, 0.1887, 0.2497, 0.3407, 0.4682, 0.6361, 0.8473, 1.105, 1.413",\
                 "0.1553, 0.1713, 0.2229, 0.3076, 0.4205, 0.5562, 0.7235, 0.934, 1.192, 1.499",\
                 "0.1339, 0.1552, 0.2236, 0.3349, 0.4796, 0.6532, 0.851, 1.071, 1.328, 1.635",\
                 "0.0707, 0.0976, 0.1844, 0.3239, 0.5034, 0.716, 0.9565, 1.223, 1.513, 1.828",\
                 "-0.0372, -0.0043, 0.0997, 0.2678, 0.4855, 0.7394, 1.024, 1.337, 1.678, 2.044",\
                 "-0.1938, -0.1553, -0.0332, 0.1637, 0.4184, 0.7177, 1.05, 1.412, 1.803, 2.223",\
                 "-0.4016, -0.358, -0.2179, 0.0087, 0.3014, 0.6442, 1.027, 1.441, 1.885, 2.358",\
                 "-0.6629, -0.6135, -0.4567, -0.2019, 0.1283, 0.5155, 0.949, 1.417, 1.917, 2.448");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2922, 0.3247, 0.4366, 0.6487, 0.9762, 1.434, 2.036, 2.795, 3.72, 4.822",\
                 "0.2977, 0.3306, 0.4445, 0.659, 0.989, 1.449, 2.053, 2.811, 3.737, 4.841",\
                 "0.3471, 0.3783, 0.4893, 0.7018, 1.032, 1.492, 2.097, 2.857, 3.784, 4.889",\
                 "0.4738, 0.5054, 0.6106, 0.8143, 1.137, 1.593, 2.195, 2.953, 3.878, 4.981",\
                 "0.6513, 0.6865, 0.8055, 1.016, 1.329, 1.774, 2.367, 3.118, 4.038, 5.137",\
                 "0.8802, 0.9188, 1.049, 1.282, 1.614, 2.053, 2.634, 3.374, 4.285, 5.377",\
                 "1.164, 1.207, 1.35, 1.601, 1.963, 2.43, 3.007, 3.735, 4.633, 5.712",\
                 "1.499, 1.549, 1.71, 1.982, 2.367, 2.869, 3.481, 4.208, 5.093, 6.16",\
                 "1.89, 1.947, 2.128, 2.428, 2.838, 3.37, 4.023, 4.789, 5.675, 6.728",\
                 "2.341, 2.404, 2.604, 2.935, 3.38, 3.939, 4.625, 5.436, 6.368, 7.425");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1251, 0.1402, 0.1933, 0.2934, 0.4494, 0.6676, 0.954, 1.316, 1.755, 2.282",\
                 "0.1241, 0.1396, 0.1929, 0.2933, 0.4492, 0.6681, 0.9547, 1.316, 1.756, 2.282",\
                 "0.1599, 0.1731, 0.2161, 0.2999, 0.4484, 0.6666, 0.9548, 1.316, 1.756, 2.283",\
                 "0.2331, 0.2487, 0.3026, 0.3939, 0.5207, 0.6968, 0.9578, 1.315, 1.756, 2.281",\
                 "0.3303, 0.3504, 0.4149, 0.5211, 0.6686, 0.8542, 1.078, 1.371, 1.768, 2.281",\
                 "0.4464, 0.4712, 0.5506, 0.6774, 0.8456, 1.055, 1.305, 1.595, 1.931, 2.367",\
                 "0.5838, 0.6138, 0.709, 0.8594, 1.055, 1.288, 1.563, 1.881, 2.244, 2.647",\
                 "0.7362, 0.7728, 0.8866, 1.063, 1.29, 1.556, 1.856, 2.202, 2.596, 3.035",\
                 "0.903, 0.9472, 1.083, 1.288, 1.548, 1.849, 2.187, 2.563, 2.984, 3.456",\
                 "1.081, 1.135, 1.295, 1.538, 1.83, 2.169, 2.545, 2.963, 3.413, 3.914");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.4873, 0.5426, 0.7367, 1.104, 1.677, 2.476, 3.532, 4.86, 6.47, 8.407",\
                 "0.4864, 0.5422, 0.7379, 1.106, 1.677, 2.479, 3.533, 4.861, 6.47, 8.415",\
                 "0.4812, 0.5379, 0.7352, 1.106, 1.677, 2.48, 3.529, 4.858, 6.474, 8.413",\
                 "0.5124, 0.5613, 0.7395, 1.101, 1.677, 2.475, 3.531, 4.86, 6.479, 8.406",\
                 "0.5734, 0.6292, 0.8164, 1.144, 1.681, 2.474, 3.527, 4.857, 6.469, 8.397",\
                 "0.653, 0.7072, 0.901, 1.258, 1.764, 2.495, 3.534, 4.858, 6.476, 8.4",\
                 "0.7658, 0.8192, 1.008, 1.374, 1.919, 2.626, 3.578, 4.866, 6.473, 8.4",\
                 "0.911, 0.9658, 1.158, 1.514, 2.073, 2.825, 3.747, 4.94, 6.493, 8.412",\
                 "1.072, 1.135, 1.334, 1.691, 2.25, 3.027, 3.996, 5.154, 6.616, 8.427",\
                 "1.25, 1.318, 1.539, 1.91, 2.459, 3.241, 4.25, 5.453, 6.863, 8.596");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1171, 0.1265, 0.1588, 0.2191, 0.3115, 0.4401, 0.6085, 0.8205, 1.079, 1.386",\
                 "0.1296, 0.139, 0.1713, 0.2316, 0.3241, 0.4527, 0.6212, 0.8331, 1.091, 1.399",\
                 "0.1718, 0.1822, 0.2165, 0.2764, 0.3686, 0.4971, 0.6656, 0.8774, 1.135, 1.443",\
                 "0.2016, 0.2162, 0.2637, 0.3439, 0.4519, 0.5846, 0.7524, 0.9635, 1.221, 1.529",\
                 "0.1988, 0.2181, 0.2807, 0.384, 0.522, 0.6898, 0.8832, 1.101, 1.357, 1.664",\
                 "0.1591, 0.183, 0.2611, 0.3901, 0.5604, 0.7641, 0.9983, 1.26, 1.545, 1.858",\
                 "0.0795, 0.108, 0.2007, 0.3557, 0.5592, 0.8025, 1.079, 1.384, 1.719, 2.08",\
                 "-0.0428, -0.0092, 0.0979, 0.2775, 0.5165, 0.7994, 1.12, 1.472, 1.855, 2.268",\
                 "-0.2098, -0.1722, -0.0496, 0.1546, 0.4259, 0.751, 1.117, 1.518, 1.951, 2.416",\
                 "-0.4239, -0.3819, -0.2447, -0.0169, 0.2875, 0.6524, 1.066, 1.517, 2.005, 2.522");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.383, 0.4152, 0.527, 0.7383, 1.065, 1.523, 2.126, 2.884, 3.809, 4.912",\
                 "0.3875, 0.4207, 0.5352, 0.7488, 1.079, 1.539, 2.142, 2.901, 3.827, 4.93",\
                 "0.4145, 0.4469, 0.5607, 0.7759, 1.108, 1.57, 2.176, 2.937, 3.864, 4.969",\
                 "0.4912, 0.5248, 0.6371, 0.8466, 1.173, 1.633, 2.237, 2.999, 3.925, 5.03",\
                 "0.6225, 0.6567, 0.7738, 0.9897, 1.31, 1.76, 2.357, 3.111, 4.034, 5.137",\
                 "0.8167, 0.8523, 0.973, 1.194, 1.524, 1.971, 2.556, 3.299, 4.212, 5.307",\
                 "1.061, 1.102, 1.234, 1.463, 1.801, 2.26, 2.844, 3.574, 4.475, 5.558",\
                 "1.352, 1.398, 1.545, 1.795, 2.146, 2.615, 3.213, 3.946, 4.833, 5.901",\
                 "1.69, 1.742, 1.907, 2.183, 2.558, 3.04, 3.651, 4.402, 5.292, 6.345",\
                 "2.076, 2.134, 2.319, 2.623, 3.03, 3.537, 4.162, 4.928, 5.839, 6.898");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1616, 0.1765, 0.2299, 0.3307, 0.4868, 0.7051, 0.9921, 1.354, 1.793, 2.319",\
                 "0.1607, 0.1762, 0.23, 0.3307, 0.4869, 0.7049, 0.9914, 1.354, 1.794, 2.319",\
                 "0.1863, 0.1986, 0.2421, 0.3325, 0.4858, 0.7048, 0.9913, 1.354, 1.795, 2.319",\
                 "0.2669, 0.282, 0.3329, 0.4218, 0.5465, 0.7278, 0.9945, 1.354, 1.793, 2.318",\
                 "0.3733, 0.3913, 0.4527, 0.555, 0.698, 0.8816, 1.104, 1.402, 1.804, 2.319",\
                 "0.5016, 0.524, 0.5978, 0.719, 0.8806, 1.085, 1.333, 1.619, 1.959, 2.398",\
                 "0.6524, 0.6802, 0.7682, 0.9104, 1.095, 1.324, 1.591, 1.908, 2.27, 2.672",\
                 "0.8254, 0.8588, 0.9612, 1.125, 1.339, 1.597, 1.89, 2.23, 2.623, 3.06",\
                 "1.023, 1.061, 1.183, 1.37, 1.614, 1.899, 2.226, 2.595, 3.01, 3.479",\
                 "1.233, 1.28, 1.424, 1.642, 1.919, 2.24, 2.599, 3.001, 3.441, 3.939");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.4893, 0.5446, 0.7368, 1.106, 1.674, 2.474, 3.533, 4.856, 6.483, 8.41",\
                 "0.4892, 0.5444, 0.7374, 1.104, 1.674, 2.474, 3.528, 4.861, 6.483, 8.407",\
                 "0.4915, 0.5456, 0.737, 1.104, 1.677, 2.479, 3.529, 4.854, 6.483, 8.415",\
                 "0.5361, 0.5847, 0.7575, 1.108, 1.677, 2.475, 3.534, 4.852, 6.48, 8.4",\
                 "0.596, 0.648, 0.8298, 1.159, 1.692, 2.479, 3.532, 4.854, 6.476, 8.407",\
                 "0.6782, 0.7268, 0.9034, 1.248, 1.769, 2.512, 3.536, 4.852, 6.477, 8.398",\
                 "0.806, 0.8518, 1.016, 1.347, 1.88, 2.614, 3.594, 4.873, 6.476, 8.415",\
                 "0.9632, 1.012, 1.176, 1.488, 2.005, 2.751, 3.719, 4.953, 6.512, 8.415",\
                 "1.141, 1.192, 1.367, 1.68, 2.175, 2.901, 3.885, 5.104, 6.61, 8.461",\
                 "1.337, 1.391, 1.579, 1.91, 2.393, 3.096, 4.07, 5.306, 6.789, 8.586");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1243, 0.1348, 0.1706, 0.2355, 0.3324, 0.4647, 0.6359, 0.8497, 1.109, 1.418",\
                 "0.1359, 0.1463, 0.1818, 0.2465, 0.3433, 0.4755, 0.6467, 0.8605, 1.12, 1.429",\
                 "0.1822, 0.1929, 0.2278, 0.2903, 0.3862, 0.518, 0.6891, 0.9029, 1.163, 1.471",\
                 "0.2223, 0.2369, 0.2848, 0.3647, 0.4722, 0.6051, 0.7749, 0.988, 1.247, 1.556",\
                 "0.2332, 0.2519, 0.3137, 0.4161, 0.5521, 0.7174, 0.9087, 1.126, 1.384, 1.691",\
                 "0.2105, 0.2339, 0.3099, 0.4353, 0.6019, 0.8021, 1.032, 1.29, 1.573, 1.885",\
                 "0.1527, 0.1807, 0.2703, 0.4201, 0.6177, 0.8547, 1.125, 1.425, 1.755, 2.113",\
                 "0.0592, 0.091, 0.1936, 0.3657, 0.5958, 0.8709, 1.182, 1.526, 1.902, 2.309",\
                 "-0.0711, -0.0357, 0.0797, 0.2734, 0.5338, 0.8462, 1.201, 1.592, 2.015, 2.47",\
                 "-0.2402, -0.2016, -0.0737, 0.1402, 0.4297, 0.7794, 1.178, 1.615, 2.089, 2.596");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.4231, 0.4552, 0.5673, 0.7786, 1.105, 1.564, 2.166, 2.924, 3.848, 4.952",\
                 "0.4305, 0.4632, 0.5778, 0.7916, 1.122, 1.582, 2.185, 2.944, 3.869, 4.972",\
                 "0.4565, 0.4888, 0.6028, 0.8187, 1.151, 1.614, 2.22, 2.981, 3.908, 5.013",\
                 "0.5101, 0.5432, 0.6556, 0.867, 1.196, 1.658, 2.263, 3.025, 3.953, 5.059",\
                 "0.6016, 0.6352, 0.7504, 0.9648, 1.288, 1.741, 2.34, 3.096, 4.022, 5.124",\
                 "0.7508, 0.7859, 0.9033, 1.117, 1.444, 1.891, 2.478, 3.223, 4.138, 5.234",\
                 "0.9434, 0.9832, 1.112, 1.335, 1.661, 2.111, 2.695, 3.425, 4.326, 5.407",\
                 "1.174, 1.219, 1.363, 1.607, 1.946, 2.397, 2.982, 3.712, 4.596, 5.662",\
                 "1.439, 1.49, 1.652, 1.922, 2.288, 2.752, 3.338, 4.072, 4.958, 6.007",\
                 "1.74, 1.797, 1.977, 2.277, 2.675, 3.168, 3.765, 4.5, 5.391, 6.445");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1951, 0.2108, 0.2666, 0.3696, 0.5272, 0.7451, 1.032, 1.393, 1.833, 2.359",\
                 "0.1918, 0.2086, 0.2647, 0.3686, 0.5261, 0.7452, 1.032, 1.392, 1.834, 2.359",\
                 "0.2107, 0.2234, 0.2694, 0.3649, 0.524, 0.7447, 1.031, 1.393, 1.833, 2.359",\
                 "0.3019, 0.3159, 0.3651, 0.4516, 0.5741, 0.7593, 1.031, 1.394, 1.834, 2.358",\
                 "0.4223, 0.4404, 0.4965, 0.5942, 0.7316, 0.9096, 1.132, 1.435, 1.842, 2.358",\
                 "0.5716, 0.5928, 0.6612, 0.7714, 0.9238, 1.12, 1.362, 1.646, 1.987, 2.431",\
                 "0.7512, 0.7774, 0.8554, 0.9836, 1.154, 1.368, 1.628, 1.937, 2.295, 2.697",\
                 "0.9626, 0.992, 1.086, 1.232, 1.423, 1.659, 1.936, 2.265, 2.651, 3.086",\
                 "1.209, 1.242, 1.347, 1.516, 1.731, 1.991, 2.292, 2.64, 3.044, 3.509",\
                 "1.488, 1.526, 1.649, 1.838, 2.083, 2.363, 2.691, 3.063, 3.487, 3.97");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.4896, 0.5444, 0.7374, 1.105, 1.674, 2.474, 3.533, 4.854, 6.48, 8.413",\
                 "0.4902, 0.5446, 0.7365, 1.104, 1.675, 2.474, 3.529, 4.858, 6.477, 8.411",\
                 "0.4909, 0.5453, 0.7372, 1.105, 1.675, 2.479, 3.532, 4.854, 6.467, 8.412",\
                 "0.5209, 0.5715, 0.7488, 1.105, 1.677, 2.477, 3.527, 4.856, 6.476, 8.399",\
                 "0.5774, 0.6284, 0.81, 1.148, 1.689, 2.475, 3.53, 4.861, 6.477, 8.401",\
                 "0.68, 0.725, 0.8914, 1.228, 1.757, 2.515, 3.538, 4.855, 6.482, 8.398",\
                 "0.843, 0.884, 1.035, 1.339, 1.855, 2.599, 3.594, 4.875, 6.484, 8.398",\
                 "1.031, 1.078, 1.232, 1.519, 1.998, 2.721, 3.701, 4.949, 6.519, 8.406",\
                 "1.245, 1.295, 1.459, 1.76, 2.207, 2.891, 3.85, 5.083, 6.607, 8.475",\
                 "1.479, 1.535, 1.711, 2.03, 2.488, 3.128, 4.041, 5.261, 6.767, 8.589");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1698, 0.1802, 0.2154, 0.2798, 0.3765, 0.5086, 0.6798, 0.8936, 1.153, 1.462",\
                 "0.183, 0.1933, 0.2287, 0.2933, 0.3902, 0.5224, 0.6938, 0.9076, 1.168, 1.476",\
                 "0.2176, 0.2281, 0.263, 0.3268, 0.4235, 0.5559, 0.7274, 0.9413, 1.201, 1.51",\
                 "0.2497, 0.2621, 0.303, 0.3746, 0.4771, 0.6106, 0.7814, 0.9953, 1.255, 1.564",\
                 "0.2656, 0.2806, 0.3297, 0.4134, 0.5305, 0.6803, 0.8632, 1.081, 1.34, 1.648",\
                 "0.2552, 0.2734, 0.3326, 0.4334, 0.5704, 0.7399, 0.9432, 1.182, 1.456, 1.77",\
                 "0.2149, 0.236, 0.3057, 0.4244, 0.5851, 0.7818, 1.011, 1.272, 1.571, 1.908",\
                 "0.1427, 0.1668, 0.2471, 0.3838, 0.5691, 0.7949, 1.055, 1.348, 1.674, 2.036",\
                 "0.0378, 0.0653, 0.1549, 0.3087, 0.5192, 0.775, 1.068, 1.397, 1.757, 2.151",\
                 "-0.1032, -0.0729, 0.0283, 0.199, 0.4327, 0.7192, 1.047, 1.413, 1.813, 2.245");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1919, 0.2039, 0.2457, 0.3241, 0.4445, 0.6119, 0.8312, 1.107, 1.443, 1.843",\
                 "0.2069, 0.2192, 0.2612, 0.3398, 0.4604, 0.628, 0.8474, 1.123, 1.459, 1.859",\
                 "0.2727, 0.2847, 0.3262, 0.4042, 0.5243, 0.6917, 0.911, 1.186, 1.523, 1.923",\
                 "0.397, 0.4111, 0.4581, 0.539, 0.6573, 0.8223, 1.04, 1.314, 1.649, 2.048",\
                 "0.5483, 0.5656, 0.622, 0.7216, 0.8612, 1.035, 1.25, 1.521, 1.854, 2.251",\
                 "0.7319, 0.7517, 0.8176, 0.9323, 1.095, 1.301, 1.544, 1.821, 2.15, 2.544",\
                 "0.9478, 0.9707, 1.048, 1.18, 1.363, 1.595, 1.874, 2.192, 2.545, 2.939",\
                 "1.198, 1.224, 1.313, 1.463, 1.671, 1.929, 2.237, 2.593, 2.992, 3.427",\
                 "1.483, 1.513, 1.614, 1.784, 2.017, 2.305, 2.641, 3.029, 3.468, 3.952",\
                 "1.807, 1.841, 1.952, 2.143, 2.402, 2.722, 3.092, 3.512, 3.985, 4.51");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1885, 0.2048, 0.2618, 0.3663, 0.5255, 0.7441, 1.031, 1.393, 1.835, 2.36",\
                 "0.1882, 0.2048, 0.2616, 0.3667, 0.5249, 0.7449, 1.032, 1.393, 1.834, 2.358",\
                 "0.1971, 0.2115, 0.2635, 0.3646, 0.5243, 0.7446, 1.032, 1.394, 1.834, 2.359",\
                 "0.2567, 0.2712, 0.3209, 0.4127, 0.5512, 0.7534, 1.032, 1.393, 1.833, 2.359",\
                 "0.3489, 0.3645, 0.4146, 0.5048, 0.6454, 0.8404, 1.092, 1.422, 1.841, 2.36",\
                 "0.4716, 0.488, 0.5424, 0.6394, 0.7804, 0.9738, 1.228, 1.546, 1.931, 2.41",\
                 "0.614, 0.6324, 0.696, 0.8042, 0.9568, 1.155, 1.406, 1.725, 2.113, 2.572",\
                 "0.773, 0.7944, 0.8676, 0.9918, 1.161, 1.376, 1.636, 1.952, 2.338, 2.799",\
                 "0.9454, 0.9722, 1.053, 1.2, 1.39, 1.626, 1.905, 2.234, 2.617, 3.077",\
                 "1.137, 1.164, 1.258, 1.417, 1.637, 1.9, 2.204, 2.555, 2.955, 3.41");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.3158, 0.3377, 0.4136, 0.5565, 0.7772, 1.084, 1.483, 1.979, 2.576, 3.286",\
                 "0.3157, 0.3377, 0.4134, 0.5566, 0.7771, 1.084, 1.482, 1.978, 2.576, 3.284",\
                 "0.3179, 0.3385, 0.4133, 0.5565, 0.7772, 1.084, 1.483, 1.978, 2.576, 3.285",\
                 "0.4006, 0.4178, 0.4756, 0.5906, 0.7863, 1.085, 1.483, 1.978, 2.576, 3.286",\
                 "0.52, 0.5408, 0.611, 0.7342, 0.9054, 1.15, 1.501, 1.98, 2.577, 3.287",\
                 "0.6606, 0.6826, 0.7602, 0.9002, 1.1, 1.351, 1.655, 2.062, 2.6, 3.29",\
                 "0.8254, 0.8506, 0.9368, 1.085, 1.304, 1.587, 1.925, 2.304, 2.773, 3.376",\
                 "1.015, 1.044, 1.139, 1.301, 1.531, 1.834, 2.205, 2.633, 3.102, 3.645",\
                 "1.228, 1.26, 1.362, 1.543, 1.791, 2.106, 2.499, 2.963, 3.491, 4.059",\
                 "1.461, 1.495, 1.61, 1.806, 2.076, 2.413, 2.817, 3.307, 3.873, 4.5");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1597, 0.169, 0.2013, 0.2617, 0.3543, 0.4828, 0.6514, 0.8632, 1.122, 1.429",\
                 "0.1726, 0.182, 0.2145, 0.2751, 0.3679, 0.4966, 0.6653, 0.8773, 1.136, 1.443",\
                 "0.2038, 0.2137, 0.2472, 0.3081, 0.401, 0.5301, 0.699, 0.9112, 1.169, 1.477",\
                 "0.2272, 0.2392, 0.2798, 0.3505, 0.4519, 0.5841, 0.7529, 0.9648, 1.223, 1.531",\
                 "0.2303, 0.2457, 0.2962, 0.3816, 0.4994, 0.6493, 0.8324, 1.05, 1.308, 1.615",\
                 "0.2061, 0.2251, 0.287, 0.3912, 0.5315, 0.7039, 0.9081, 1.147, 1.423, 1.736",\
                 "0.1525, 0.175, 0.2481, 0.3717, 0.5371, 0.7381, 0.97, 1.234, 1.534, 1.871",\
                 "0.0678, 0.0939, 0.1778, 0.3204, 0.5118, 0.7431, 1.008, 1.305, 1.632, 1.997",\
                 "-0.0493, -0.0205, 0.0754, 0.2356, 0.4519, 0.7148, 1.014, 1.348, 1.712, 2.109",\
                 "-0.203, -0.1701, -0.0641, 0.1157, 0.3573, 0.6502, 0.9862, 1.357, 1.761, 2.197");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1918, 0.2039, 0.2458, 0.3241, 0.4445, 0.612, 0.8313, 1.107, 1.443, 1.843",\
                 "0.207, 0.2191, 0.2612, 0.3398, 0.4604, 0.628, 0.8475, 1.123, 1.459, 1.859",\
                 "0.2727, 0.2847, 0.3262, 0.4042, 0.5245, 0.6918, 0.9111, 1.187, 1.523, 1.923",\
                 "0.3969, 0.411, 0.4581, 0.5389, 0.6574, 0.8225, 1.04, 1.314, 1.649, 2.048",\
                 "0.5483, 0.5653, 0.622, 0.7212, 0.8612, 1.035, 1.25, 1.521, 1.853, 2.25",\
                 "0.7318, 0.7518, 0.8176, 0.9325, 1.095, 1.301, 1.545, 1.822, 2.15, 2.544",\
                 "0.9479, 0.9708, 1.048, 1.18, 1.363, 1.595, 1.874, 2.193, 2.545, 2.939",\
                 "1.198, 1.225, 1.313, 1.463, 1.671, 1.929, 2.236, 2.592, 2.991, 3.427",\
                 "1.483, 1.513, 1.614, 1.784, 2.017, 2.304, 2.642, 3.03, 3.468, 3.952",\
                 "1.806, 1.841, 1.952, 2.144, 2.403, 2.722, 3.092, 3.512, 3.985, 4.51");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1605, 0.176, 0.2296, 0.3305, 0.4869, 0.7044, 0.992, 1.353, 1.795, 2.319",\
                 "0.1608, 0.1761, 0.2299, 0.3303, 0.4869, 0.7044, 0.9917, 1.353, 1.795, 2.32",\
                 "0.1747, 0.1876, 0.2357, 0.3314, 0.4868, 0.7046, 0.9916, 1.354, 1.795, 2.319",\
                 "0.2344, 0.2478, 0.2958, 0.3856, 0.5216, 0.7195, 0.9949, 1.354, 1.794, 2.319",\
                 "0.3298, 0.344, 0.392, 0.4818, 0.6186, 0.8118, 1.061, 1.387, 1.804, 2.319",\
                 "0.453, 0.469, 0.5242, 0.6194, 0.757, 0.9476, 1.2, 1.516, 1.9, 2.376",\
                 "0.5962, 0.615, 0.6776, 0.7868, 0.9376, 1.132, 1.381, 1.697, 2.084, 2.542",\
                 "0.7534, 0.776, 0.8482, 0.9728, 1.143, 1.355, 1.612, 1.928, 2.311, 2.771",\
                 "0.9266, 0.9524, 1.034, 1.176, 1.371, 1.606, 1.885, 2.208, 2.592, 3.05",\
                 "1.116, 1.143, 1.238, 1.396, 1.614, 1.88, 2.184, 2.532, 2.929, 3.385");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.312, 0.3335, 0.4073, 0.5462, 0.7594, 1.055, 1.442, 1.927, 2.519, 3.224",\
                 "0.3123, 0.3333, 0.4071, 0.5462, 0.7596, 1.055, 1.442, 1.927, 2.518, 3.221",\
                 "0.3141, 0.3343, 0.4072, 0.5462, 0.7596, 1.055, 1.442, 1.927, 2.519, 3.224",\
                 "0.3956, 0.4125, 0.4692, 0.5803, 0.7686, 1.055, 1.442, 1.927, 2.519, 3.224",\
                 "0.51, 0.5302, 0.5994, 0.7196, 0.886, 1.121, 1.461, 1.929, 2.519, 3.224",\
                 "0.6416, 0.6638, 0.7396, 0.8754, 1.072, 1.317, 1.614, 2.01, 2.543, 3.227",\
                 "0.7948, 0.8196, 0.9044, 1.05, 1.263, 1.542, 1.876, 2.252, 2.716, 3.314",\
                 "0.9656, 0.9946, 1.089, 1.251, 1.478, 1.776, 2.144, 2.571, 3.041, 3.583",\
                 "1.152, 1.184, 1.288, 1.469, 1.72, 2.035, 2.426, 2.895, 3.42, 3.993",\
                 "1.351, 1.387, 1.509, 1.708, 1.984, 2.327, 2.734, 3.226, 3.794, 4.425");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.131, 0.1381, 0.1628, 0.2084, 0.2783, 0.3755, 0.5024, 0.6622, 0.8567, 1.089",\
                 "0.1445, 0.1518, 0.1764, 0.2225, 0.2925, 0.3899, 0.5169, 0.6765, 0.8713, 1.103",\
                 "0.1847, 0.193, 0.2202, 0.2674, 0.3378, 0.4352, 0.5626, 0.7224, 0.9171, 1.149",\
                 "0.2138, 0.2251, 0.2624, 0.326, 0.4126, 0.5195, 0.6483, 0.8081, 1.003, 1.235",\
                 "0.219, 0.2338, 0.2817, 0.3631, 0.473, 0.6073, 0.7632, 0.9395, 1.138, 1.37",\
                 "0.1962, 0.2143, 0.2738, 0.3739, 0.5086, 0.6716, 0.8594, 1.07, 1.301, 1.554",\
                 "0.1433, 0.1647, 0.2351, 0.3546, 0.5146, 0.7084, 0.9296, 1.175, 1.445, 1.737",\
                 "0.0602, 0.0845, 0.1648, 0.3024, 0.4889, 0.7133, 0.9691, 1.252, 1.561, 1.893",\
                 "-0.0571, -0.03, 0.0608, 0.2166, 0.4271, 0.6826, 0.9745, 1.296, 1.646, 2.02",\
                 "-0.2113, -0.1809, -0.0792, 0.0944, 0.3294, 0.6153, 0.9428, 1.305, 1.695, 2.114");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2156, 0.2273, 0.2684, 0.3458, 0.4654, 0.6321, 0.8512, 1.127, 1.462, 1.862",\
                 "0.231, 0.2429, 0.2841, 0.3619, 0.4818, 0.6489, 0.8679, 1.143, 1.479, 1.879",\
                 "0.2967, 0.3084, 0.3493, 0.4265, 0.5459, 0.7128, 0.9319, 1.207, 1.543, 1.943",\
                 "0.4254, 0.4386, 0.4833, 0.5616, 0.6793, 0.8438, 1.061, 1.335, 1.67, 2.069",\
                 "0.583, 0.5991, 0.6538, 0.7505, 0.8869, 1.058, 1.272, 1.543, 1.875, 2.272",\
                 "0.7742, 0.793, 0.8558, 0.9677, 1.127, 1.33, 1.57, 1.845, 2.174, 2.566",\
                 "0.9991, 1.021, 1.094, 1.222, 1.402, 1.631, 1.906, 2.222, 2.571, 2.964",\
                 "1.26, 1.285, 1.369, 1.514, 1.717, 1.971, 2.276, 2.63, 3.025, 3.458",\
                 "1.556, 1.585, 1.68, 1.844, 2.072, 2.355, 2.688, 3.074, 3.509, 3.991",\
                 "1.891, 1.923, 2.03, 2.215, 2.468, 2.781, 3.147, 3.564, 4.036, 4.558");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1369, 0.1484, 0.1886, 0.2653, 0.3825, 0.5477, 0.7641, 1.036, 1.368, 1.763",\
                 "0.1367, 0.1483, 0.1886, 0.2653, 0.3822, 0.5476, 0.7633, 1.036, 1.368, 1.763",\
                 "0.1665, 0.1747, 0.2058, 0.2714, 0.383, 0.5474, 0.7632, 1.036, 1.367, 1.763",\
                 "0.2531, 0.2631, 0.2983, 0.3617, 0.4549, 0.5843, 0.7753, 1.037, 1.368, 1.762",\
                 "0.3654, 0.3764, 0.4155, 0.4872, 0.5926, 0.7314, 0.9032, 1.116, 1.402, 1.77",\
                 "0.5012, 0.515, 0.5608, 0.6422, 0.7566, 0.9096, 1.1, 1.324, 1.584, 1.896",\
                 "0.6558, 0.6714, 0.7248, 0.8186, 0.9528, 1.119, 1.324, 1.568, 1.85, 2.171",\
                 "0.8256, 0.8432, 0.9064, 1.015, 1.168, 1.358, 1.582, 1.844, 2.145, 2.492",\
                 "1.009, 1.031, 1.102, 1.228, 1.404, 1.618, 1.871, 2.156, 2.475, 2.842",\
                 "1.209, 1.233, 1.316, 1.46, 1.658, 1.901, 2.18, 2.495, 2.842, 3.235");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.338, 0.3594, 0.4333, 0.5723, 0.7862, 1.082, 1.468, 1.954, 2.545, 3.249",\
                 "0.3378, 0.3592, 0.4333, 0.5724, 0.7859, 1.082, 1.468, 1.953, 2.544, 3.25",\
                 "0.3391, 0.3598, 0.4334, 0.5727, 0.7859, 1.082, 1.468, 1.952, 2.545, 3.25",\
                 "0.4123, 0.4288, 0.4866, 0.6008, 0.793, 1.082, 1.468, 1.954, 2.546, 3.249",\
                 "0.5282, 0.548, 0.6172, 0.7364, 0.9026, 1.14, 1.484, 1.955, 2.546, 3.25",\
                 "0.6566, 0.6786, 0.7552, 0.8926, 1.088, 1.331, 1.629, 2.029, 2.566, 3.253",\
                 "0.8086, 0.8322, 0.9156, 1.062, 1.276, 1.556, 1.887, 2.264, 2.731, 3.334",\
                 "0.9768, 1.006, 1.098, 1.257, 1.484, 1.785, 2.155, 2.581, 3.051, 3.595",\
                 "1.164, 1.194, 1.298, 1.475, 1.722, 2.037, 2.431, 2.898, 3.425, 3.998",\
                 "1.364, 1.399, 1.521, 1.711, 1.983, 2.32, 2.731, 3.224, 3.795, 4.428");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1325, 0.1414, 0.1724, 0.231, 0.3218, 0.4495, 0.6171, 0.8284, 1.086, 1.394",\
                 "0.1449, 0.154, 0.1852, 0.2442, 0.3354, 0.4634, 0.6311, 0.8425, 1.101, 1.408",\
                 "0.1715, 0.1818, 0.216, 0.2767, 0.3684, 0.4969, 0.6648, 0.8761, 1.134, 1.443",\
                 "0.1837, 0.1968, 0.2399, 0.3134, 0.4166, 0.5503, 0.7185, 0.9298, 1.188, 1.495",\
                 "0.1717, 0.1892, 0.2444, 0.3357, 0.458, 0.6107, 0.7956, 1.015, 1.272, 1.579",\
                 "0.1321, 0.1534, 0.222, 0.3344, 0.4822, 0.6595, 0.8672, 1.108, 1.385, 1.7",\
                 "0.0638, 0.0889, 0.1699, 0.3037, 0.4784, 0.6866, 0.9243, 1.191, 1.493, 1.833",\
                 "-0.0351, -0.0051, 0.0881, 0.2414, 0.4439, 0.6838, 0.9557, 1.257, 1.589, 1.956",\
                 "-0.1666, -0.1337, -0.0279, 0.1465, 0.3749, 0.6472, 0.9553, 1.295, 1.664, 2.064",\
                 "-0.335, -0.2978, -0.1795, 0.0154, 0.271, 0.5748, 0.9198, 1.298, 1.708, 2.148");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1876, 0.1998, 0.2418, 0.3204, 0.4408, 0.6081, 0.827, 1.103, 1.439, 1.839",\
                 "0.2028, 0.2151, 0.2573, 0.336, 0.4566, 0.624, 0.8434, 1.118, 1.455, 1.855",\
                 "0.2687, 0.2807, 0.3223, 0.4004, 0.5206, 0.6879, 0.9066, 1.182, 1.518, 1.918",\
                 "0.3914, 0.4061, 0.4534, 0.535, 0.6534, 0.8183, 1.036, 1.309, 1.644, 2.043",\
                 "0.5414, 0.5587, 0.6158, 0.716, 0.8562, 1.031, 1.246, 1.517, 1.848, 2.246",\
                 "0.7229, 0.7431, 0.8101, 0.9254, 1.089, 1.295, 1.539, 1.816, 2.145, 2.538",\
                 "0.9364, 0.9599, 1.038, 1.171, 1.356, 1.588, 1.867, 2.186, 2.538, 2.933",\
                 "1.184, 1.211, 1.301, 1.453, 1.662, 1.92, 2.228, 2.584, 2.984, 3.42",\
                 "1.466, 1.497, 1.599, 1.771, 2.005, 2.294, 2.631, 3.02, 3.458, 3.943",\
                 "1.786, 1.82, 1.933, 2.128, 2.39, 2.709, 3.08, 3.502, 3.974, 4.5");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1266, 0.1416, 0.1938, 0.2935, 0.4494, 0.668, 0.9535, 1.315, 1.756, 2.282",\
                 "0.127, 0.1418, 0.1937, 0.2937, 0.4493, 0.6678, 0.954, 1.315, 1.756, 2.281",\
                 "0.1499, 0.1625, 0.2069, 0.2981, 0.4501, 0.6683, 0.9532, 1.314, 1.756, 2.283",\
                 "0.2133, 0.2267, 0.2719, 0.3586, 0.4933, 0.6862, 0.9578, 1.314, 1.756, 2.281",\
                 "0.3139, 0.3281, 0.374, 0.4604, 0.5938, 0.784, 1.032, 1.353, 1.77, 2.282",\
                 "0.441, 0.4554, 0.5076, 0.6034, 0.7362, 0.9234, 1.173, 1.488, 1.869, 2.343",\
                 "0.5838, 0.6018, 0.6632, 0.7688, 0.9184, 1.112, 1.357, 1.67, 2.055, 2.513",\
                 "0.7422, 0.7624, 0.8322, 0.9554, 1.124, 1.336, 1.591, 1.904, 2.284, 2.742",\
                 "0.9122, 0.9378, 1.017, 1.157, 1.349, 1.586, 1.866, 2.19, 2.569, 3.023",\
                 "1.097, 1.125, 1.218, 1.376, 1.593, 1.858, 2.164, 2.513, 2.91, 3.362");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2611, 0.2818, 0.3538, 0.4901, 0.6997, 0.9943, 1.378, 1.865, 2.456, 3.161",\
                 "0.2608, 0.2817, 0.3543, 0.4895, 0.7006, 0.9946, 1.379, 1.864, 2.456, 3.16",\
                 "0.2625, 0.2821, 0.3533, 0.4896, 0.6997, 0.9942, 1.379, 1.864, 2.456, 3.162",\
                 "0.3369, 0.3555, 0.4136, 0.5231, 0.709, 0.994, 1.379, 1.864, 2.454, 3.161",\
                 "0.4336, 0.4548, 0.5272, 0.6538, 0.8248, 1.059, 1.397, 1.865, 2.455, 3.161",\
                 "0.5456, 0.5698, 0.6526, 0.795, 0.9982, 1.25, 1.55, 1.946, 2.478, 3.162",\
                 "0.6752, 0.7036, 0.7974, 0.9544, 1.177, 1.463, 1.805, 2.186, 2.65, 3.248",\
                 "0.82, 0.8534, 0.9608, 1.138, 1.38, 1.686, 2.063, 2.499, 2.977, 3.518",\
                 "0.9762, 1.016, 1.138, 1.34, 1.606, 1.936, 2.336, 2.811, 3.345, 3.926",\
                 "1.145, 1.189, 1.33, 1.558, 1.855, 2.215, 2.636, 3.136, 3.711, 4.359");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1115, 0.1183, 0.1417, 0.1861, 0.2546, 0.3508, 0.4771, 0.6362, 0.8303, 1.062",\
                 "0.1248, 0.1316, 0.1555, 0.2, 0.269, 0.3651, 0.4919, 0.651, 0.8453, 1.076",\
                 "0.1577, 0.1665, 0.1955, 0.2441, 0.314, 0.4105, 0.5373, 0.6964, 0.8906, 1.123",\
                 "0.1726, 0.1851, 0.2256, 0.2932, 0.3833, 0.493, 0.6228, 0.7823, 0.9764, 1.208",\
                 "0.1623, 0.1791, 0.2322, 0.3196, 0.4349, 0.5735, 0.7328, 0.9117, 1.112, 1.343",\
                 "0.1239, 0.1445, 0.2108, 0.319, 0.4613, 0.6302, 0.8224, 1.037, 1.271, 1.526",\
                 "0.0579, 0.0819, 0.1593, 0.2886, 0.4578, 0.6589, 0.8862, 1.136, 1.409, 1.704",\
                 "-0.0388, -0.0112, 0.0779, 0.2257, 0.4215, 0.6554, 0.9183, 1.207, 1.52, 1.856",\
                 "-0.1696, -0.1391, -0.038, 0.1295, 0.3508, 0.6175, 0.9167, 1.245, 1.6, 1.979",\
                 "-0.338, -0.3034, -0.1909, -0.003, 0.2441, 0.5414, 0.878, 1.246, 1.644, 2.067");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2116, 0.2233, 0.2645, 0.3421, 0.4615, 0.6282, 0.8469, 1.122, 1.457, 1.857",\
                 "0.2269, 0.2388, 0.2803, 0.3581, 0.4779, 0.6452, 0.8639, 1.139, 1.475, 1.874",\
                 "0.2928, 0.3045, 0.3454, 0.4227, 0.5422, 0.7087, 0.9279, 1.203, 1.539, 1.937",\
                 "0.4203, 0.4339, 0.4789, 0.558, 0.6753, 0.8399, 1.057, 1.331, 1.665, 2.064",\
                 "0.5766, 0.5932, 0.6479, 0.7452, 0.8822, 1.053, 1.268, 1.538, 1.87, 2.267",\
                 "0.7663, 0.7854, 0.8489, 0.9614, 1.121, 1.324, 1.565, 1.84, 2.168, 2.56",\
                 "0.989, 1.011, 1.085, 1.214, 1.395, 1.623, 1.9, 2.216, 2.566, 2.958",\
                 "1.247, 1.273, 1.357, 1.504, 1.707, 1.963, 2.268, 2.622, 3.018, 3.45",\
                 "1.541, 1.57, 1.667, 1.832, 2.061, 2.345, 2.679, 3.065, 3.5, 3.982",\
                 "1.872, 1.905, 2.013, 2.199, 2.454, 2.769, 3.136, 3.554, 4.025, 4.548");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1107, 0.1221, 0.1616, 0.2372, 0.3544, 0.5187, 0.7348, 1.008, 1.339, 1.735",\
                 "0.1114, 0.1222, 0.1615, 0.2373, 0.3544, 0.5191, 0.7353, 1.007, 1.339, 1.733",\
                 "0.1521, 0.1607, 0.1896, 0.2496, 0.3566, 0.519, 0.7349, 1.006, 1.338, 1.734",\
                 "0.239, 0.2489, 0.2831, 0.3465, 0.4393, 0.5648, 0.7505, 1.008, 1.338, 1.734",\
                 "0.355, 0.3657, 0.4031, 0.4726, 0.5766, 0.7146, 0.8864, 1.096, 1.379, 1.745",\
                 "0.4942, 0.5066, 0.5494, 0.6292, 0.7448, 0.8936, 1.082, 1.307, 1.567, 1.876",\
                 "0.651, 0.6652, 0.7144, 0.8062, 0.9374, 1.104, 1.307, 1.55, 1.832, 2.153",\
                 "0.8212, 0.8366, 0.8954, 1.002, 1.153, 1.344, 1.568, 1.826, 2.129, 2.475",\
                 "1.005, 1.025, 1.091, 1.214, 1.388, 1.602, 1.855, 2.139, 2.457, 2.821",\
                 "1.203, 1.226, 1.306, 1.441, 1.64, 1.882, 2.162, 2.48, 2.829, 3.212");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.288, 0.3091, 0.3808, 0.5166, 0.7262, 1.02, 1.406, 1.891, 2.481, 3.186",\
                 "0.2882, 0.3088, 0.3809, 0.5163, 0.7262, 1.021, 1.406, 1.89, 2.482, 3.188",\
                 "0.2887, 0.3088, 0.3802, 0.5162, 0.7274, 1.019, 1.407, 1.891, 2.482, 3.186",\
                 "0.3579, 0.3749, 0.4321, 0.5439, 0.7332, 1.021, 1.406, 1.892, 2.483, 3.188",\
                 "0.4544, 0.4764, 0.5488, 0.6732, 0.841, 1.078, 1.421, 1.891, 2.483, 3.188",\
                 "0.566, 0.5906, 0.6718, 0.8146, 1.015, 1.266, 1.566, 1.966, 2.502, 3.189",\
                 "0.6976, 0.7248, 0.814, 0.9698, 1.192, 1.481, 1.818, 2.2, 2.667, 3.269",\
                 "0.8426, 0.8736, 0.9794, 1.15, 1.389, 1.698, 2.078, 2.51, 2.984, 3.531",\
                 "1.001, 1.038, 1.155, 1.35, 1.612, 1.939, 2.342, 2.816, 3.352, 3.932",\
                 "1.176, 1.217, 1.35, 1.569, 1.863, 2.212, 2.634, 3.136, 3.716, 4.353");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1116, 0.1184, 0.1418, 0.1861, 0.2547, 0.351, 0.4774, 0.6366, 0.8304, 1.062",\
                 "0.1248, 0.1316, 0.1555, 0.2001, 0.269, 0.3652, 0.492, 0.651, 0.8455, 1.077",\
                 "0.1577, 0.1665, 0.1955, 0.2441, 0.314, 0.4105, 0.5373, 0.6967, 0.8911, 1.123",\
                 "0.1726, 0.1851, 0.2257, 0.2932, 0.3834, 0.4931, 0.6229, 0.7824, 0.9768, 1.208",\
                 "0.1624, 0.1791, 0.2322, 0.3197, 0.4349, 0.5736, 0.7329, 0.9117, 1.112, 1.343",\
                 "0.124, 0.1445, 0.2105, 0.319, 0.4614, 0.6302, 0.8224, 1.037, 1.271, 1.526",\
                 "0.058, 0.0819, 0.1593, 0.2886, 0.4578, 0.6589, 0.8863, 1.137, 1.409, 1.705",\
                 "-0.0388, -0.0112, 0.0779, 0.2258, 0.4215, 0.6552, 0.9184, 1.208, 1.52, 1.856",\
                 "-0.1696, -0.1391, -0.0379, 0.1296, 0.3508, 0.6175, 0.9166, 1.245, 1.6, 1.978",\
                 "-0.3379, -0.3033, -0.1909, -0.003, 0.2442, 0.541, 0.8778, 1.246, 1.644, 2.067");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2114, 0.2234, 0.2645, 0.3421, 0.4618, 0.6283, 0.8469, 1.122, 1.457, 1.858",\
                 "0.2269, 0.2388, 0.2803, 0.3583, 0.4782, 0.6452, 0.8639, 1.139, 1.475, 1.874",\
                 "0.2928, 0.3045, 0.3454, 0.4227, 0.5422, 0.7088, 0.928, 1.203, 1.539, 1.937",\
                 "0.4203, 0.4338, 0.4789, 0.5577, 0.6753, 0.8398, 1.057, 1.331, 1.665, 2.064",\
                 "0.5763, 0.593, 0.648, 0.7452, 0.8823, 1.053, 1.268, 1.538, 1.87, 2.267",\
                 "0.7662, 0.785, 0.8489, 0.9612, 1.121, 1.325, 1.565, 1.84, 2.168, 2.561",\
                 "0.9892, 1.012, 1.085, 1.214, 1.394, 1.623, 1.9, 2.216, 2.565, 2.958",\
                 "1.247, 1.273, 1.357, 1.504, 1.708, 1.963, 2.268, 2.622, 3.018, 3.45",\
                 "1.541, 1.57, 1.666, 1.833, 2.062, 2.345, 2.679, 3.065, 3.501, 3.982",\
                 "1.872, 1.904, 2.013, 2.199, 2.454, 2.769, 3.137, 3.554, 4.025, 4.548");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.111, 0.1221, 0.1616, 0.2373, 0.3545, 0.5193, 0.7351, 1.007, 1.338, 1.735",\
                 "0.1114, 0.1223, 0.1615, 0.2372, 0.3545, 0.5192, 0.7357, 1.008, 1.338, 1.733",\
                 "0.1522, 0.1607, 0.1897, 0.2497, 0.3565, 0.5195, 0.7351, 1.006, 1.338, 1.735",\
                 "0.239, 0.2489, 0.2832, 0.3466, 0.4394, 0.5651, 0.7523, 1.008, 1.338, 1.735",\
                 "0.3551, 0.3656, 0.403, 0.4725, 0.5766, 0.715, 0.8858, 1.097, 1.38, 1.746",\
                 "0.4942, 0.5066, 0.5488, 0.629, 0.745, 0.8936, 1.083, 1.308, 1.568, 1.877",\
                 "0.651, 0.665, 0.7144, 0.806, 0.9372, 1.104, 1.309, 1.55, 1.833, 2.155",\
                 "0.821, 0.837, 0.8952, 1.002, 1.153, 1.343, 1.568, 1.827, 2.127, 2.472",\
                 "1.005, 1.025, 1.091, 1.214, 1.388, 1.602, 1.853, 2.139, 2.458, 2.824",\
                 "1.203, 1.226, 1.306, 1.441, 1.64, 1.881, 2.163, 2.48, 2.827, 3.212");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2879, 0.3089, 0.3801, 0.5174, 0.7276, 1.02, 1.406, 1.892, 2.481, 3.187",\
                 "0.2881, 0.3087, 0.3811, 0.5167, 0.7271, 1.021, 1.406, 1.89, 2.482, 3.188",\
                 "0.2887, 0.3088, 0.3807, 0.5162, 0.7269, 1.021, 1.406, 1.892, 2.482, 3.186",\
                 "0.3579, 0.3756, 0.4321, 0.544, 0.7332, 1.021, 1.406, 1.892, 2.483, 3.188",\
                 "0.4546, 0.4766, 0.5478, 0.6732, 0.842, 1.078, 1.421, 1.891, 2.482, 3.188",\
                 "0.566, 0.5906, 0.6726, 0.8134, 1.016, 1.266, 1.566, 1.966, 2.502, 3.189",\
                 "0.6972, 0.7246, 0.814, 0.9694, 1.192, 1.48, 1.819, 2.2, 2.666, 3.269",\
                 "0.8428, 0.8744, 0.9786, 1.15, 1.389, 1.698, 2.077, 2.509, 2.987, 3.53",\
                 "1.002, 1.038, 1.156, 1.351, 1.612, 1.94, 2.342, 2.815, 3.352, 3.931",\
                 "1.176, 1.217, 1.351, 1.569, 1.862, 2.213, 2.634, 3.135, 3.713, 4.353");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1067, 0.113, 0.1347, 0.1758, 0.2396, 0.3286, 0.4455, 0.593, 0.7722, 0.9865",\
                 "0.1202, 0.1266, 0.1486, 0.1901, 0.254, 0.3431, 0.46, 0.6074, 0.7873, 1.002",\
                 "0.1552, 0.1638, 0.1917, 0.2379, 0.3028, 0.3926, 0.5096, 0.6571, 0.8368, 1.051",\
                 "0.1723, 0.1844, 0.224, 0.2899, 0.3775, 0.4829, 0.6047, 0.7522, 0.932, 1.146",\
                 "0.1645, 0.1805, 0.2321, 0.3178, 0.4311, 0.5668, 0.7219, 0.8937, 1.082, 1.296",\
                 "0.1286, 0.1484, 0.2123, 0.3186, 0.4582, 0.6247, 0.8135, 1.023, 1.251, 1.496",\
                 "0.0651, 0.088, 0.163, 0.2888, 0.4555, 0.6536, 0.878, 1.125, 1.392, 1.681",\
                 "-0.029, -0.0031, 0.0828, 0.2272, 0.4198, 0.6502, 0.9105, 1.196, 1.505, 1.835",\
                 "-0.1579, -0.1282, -0.0315, 0.132, 0.3496, 0.6116, 0.908, 1.233, 1.584, 1.958",\
                 "-0.3242, -0.2911, -0.1827, -0.0005, 0.2427, 0.5351, 0.8685, 1.234, 1.627, 2.046");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2319, 0.2437, 0.2844, 0.3615, 0.481, 0.6472, 0.8658, 1.141, 1.476, 1.875",\
                 "0.2474, 0.2592, 0.3003, 0.378, 0.4974, 0.6641, 0.8828, 1.158, 1.493, 1.893",\
                 "0.313, 0.3247, 0.3652, 0.4423, 0.5614, 0.728, 0.9469, 1.222, 1.558, 1.957",\
                 "0.4435, 0.4567, 0.5001, 0.5775, 0.6944, 0.8589, 1.076, 1.349, 1.684, 2.084",\
                 "0.605, 0.6209, 0.6746, 0.7694, 0.9035, 1.073, 1.287, 1.558, 1.888, 2.286",\
                 "0.7998, 0.8182, 0.8796, 0.9896, 1.147, 1.348, 1.586, 1.86, 2.188, 2.58",\
                 "1.029, 1.051, 1.122, 1.247, 1.424, 1.652, 1.925, 2.239, 2.586, 2.979",\
                 "1.294, 1.318, 1.4, 1.543, 1.743, 1.994, 2.297, 2.65, 3.043, 3.474",\
                 "1.595, 1.623, 1.715, 1.876, 2.101, 2.38, 2.712, 3.097, 3.53, 4.009",\
                 "1.934, 1.965, 2.069, 2.25, 2.5, 2.809, 3.173, 3.59, 4.058, 4.58");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1184, 0.1286, 0.1648, 0.2341, 0.3418, 0.4925, 0.6907, 0.9395, 1.244, 1.606",\
                 "0.1186, 0.1288, 0.1649, 0.2339, 0.3417, 0.4925, 0.6907, 0.9399, 1.245, 1.607",\
                 "0.1661, 0.1733, 0.198, 0.2503, 0.3448, 0.4927, 0.691, 0.9397, 1.243, 1.607",\
                 "0.2626, 0.2713, 0.3017, 0.359, 0.4412, 0.5507, 0.7129, 0.9437, 1.245, 1.606",\
                 "0.3876, 0.3964, 0.4305, 0.4927, 0.59, 0.7166, 0.8706, 1.054, 1.298, 1.622",\
                 "0.5354, 0.5456, 0.5832, 0.6574, 0.7626, 0.9052, 1.081, 1.287, 1.522, 1.791",\
                 "0.701, 0.713, 0.7574, 0.8404, 0.9638, 1.123, 1.315, 1.545, 1.806, 2.098",\
                 "0.8814, 0.8946, 0.9466, 1.044, 1.186, 1.366, 1.581, 1.829, 2.117, 2.438",\
                 "1.076, 1.093, 1.152, 1.264, 1.426, 1.633, 1.873, 2.149, 2.455, 2.803",\
                 "1.286, 1.304, 1.375, 1.501, 1.687, 1.922, 2.188, 2.494, 2.833, 3.207");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.3132, 0.3339, 0.4066, 0.542, 0.7531, 1.045, 1.432, 1.914, 2.508, 3.212",\
                 "0.3142, 0.3347, 0.4059, 0.5427, 0.7528, 1.047, 1.432, 1.917, 2.507, 3.215",\
                 "0.3137, 0.3341, 0.4059, 0.5428, 0.7525, 1.046, 1.433, 1.916, 2.508, 3.213",\
                 "0.377, 0.3931, 0.4511, 0.5646, 0.7572, 1.046, 1.432, 1.917, 2.508, 3.212",\
                 "0.4778, 0.4996, 0.5704, 0.6928, 0.859, 1.099, 1.444, 1.917, 2.508, 3.213",\
                 "0.5904, 0.615, 0.6942, 0.8378, 1.035, 1.283, 1.584, 1.987, 2.526, 3.214",\
                 "0.7246, 0.75, 0.8374, 0.9928, 1.212, 1.497, 1.836, 2.216, 2.685, 3.291",\
                 "0.8726, 0.9024, 1.002, 1.173, 1.408, 1.718, 2.097, 2.527, 3, 3.547",\
                 "1.037, 1.071, 1.182, 1.38, 1.632, 1.958, 2.361, 2.835, 3.368, 3.946",\
                 "1.215, 1.254, 1.381, 1.593, 1.88, 2.233, 2.65, 3.151, 3.728, 4.369");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1698, 0.1802, 0.2154, 0.2798, 0.3765, 0.5086, 0.6798, 0.8936, 1.153, 1.462",\
                 "0.183, 0.1933, 0.2287, 0.2933, 0.3902, 0.5224, 0.6938, 0.9076, 1.168, 1.476",\
                 "0.2176, 0.2281, 0.263, 0.3268, 0.4235, 0.5559, 0.7274, 0.9413, 1.201, 1.51",\
                 "0.2497, 0.2621, 0.303, 0.3746, 0.4771, 0.6106, 0.7814, 0.9953, 1.255, 1.564",\
                 "0.2656, 0.2806, 0.3297, 0.4134, 0.5305, 0.6803, 0.8632, 1.081, 1.34, 1.648",\
                 "0.2552, 0.2734, 0.3326, 0.4334, 0.5704, 0.7399, 0.9432, 1.182, 1.456, 1.77",\
                 "0.2149, 0.236, 0.3057, 0.4244, 0.5851, 0.7818, 1.011, 1.272, 1.571, 1.908",\
                 "0.1427, 0.1668, 0.2471, 0.3838, 0.5691, 0.7949, 1.055, 1.348, 1.674, 2.036",\
                 "0.0378, 0.0653, 0.1549, 0.3087, 0.5192, 0.775, 1.068, 1.397, 1.757, 2.151",\
                 "-0.1032, -0.0729, 0.0283, 0.199, 0.4327, 0.7192, 1.047, 1.413, 1.813, 2.245");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.2319, 0.2437, 0.2844, 0.3615, 0.481, 0.6472, 0.8658, 1.141, 1.476, 1.875",\
                 "0.2474, 0.2592, 0.3003, 0.378, 0.4974, 0.6641, 0.8828, 1.158, 1.493, 1.893",\
                 "0.313, 0.3247, 0.3652, 0.4423, 0.5614, 0.728, 0.9469, 1.222, 1.558, 1.957",\
                 "0.4435, 0.4567, 0.5001, 0.5775, 0.6944, 0.8589, 1.076, 1.349, 1.684, 2.084",\
                 "0.605, 0.6209, 0.6746, 0.7694, 0.9035, 1.073, 1.287, 1.558, 1.888, 2.286",\
                 "0.7998, 0.8182, 0.8796, 0.9896, 1.147, 1.348, 1.586, 1.86, 2.188, 2.58",\
                 "1.029, 1.051, 1.122, 1.247, 1.424, 1.652, 1.925, 2.239, 2.586, 2.979",\
                 "1.294, 1.318, 1.4, 1.543, 1.743, 1.994, 2.297, 2.65, 3.043, 3.474",\
                 "1.595, 1.623, 1.715, 1.876, 2.101, 2.38, 2.712, 3.097, 3.53, 4.009",\
                 "1.934, 1.965, 2.069, 2.25, 2.5, 2.809, 3.173, 3.59, 4.058, 4.58");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.1885, 0.2048, 0.2618, 0.3663, 0.5255, 0.7441, 1.031, 1.393, 1.835, 2.36",\
                 "0.1882, 0.2048, 0.2616, 0.3667, 0.5249, 0.7449, 1.032, 1.393, 1.834, 2.358",\
                 "0.1971, 0.2115, 0.2635, 0.3646, 0.5243, 0.7446, 1.032, 1.394, 1.834, 2.359",\
                 "0.2567, 0.2712, 0.3209, 0.4127, 0.5512, 0.7534, 1.032, 1.393, 1.833, 2.359",\
                 "0.3489, 0.3645, 0.4146, 0.5048, 0.6454, 0.8404, 1.092, 1.422, 1.841, 2.36",\
                 "0.4716, 0.488, 0.5424, 0.6394, 0.7804, 0.9738, 1.228, 1.546, 1.931, 2.41",\
                 "0.614, 0.6324, 0.696, 0.8042, 0.9568, 1.155, 1.406, 1.725, 2.113, 2.572",\
                 "0.773, 0.7944, 0.8676, 0.9918, 1.161, 1.376, 1.636, 1.952, 2.338, 2.799",\
                 "0.9454, 0.9722, 1.053, 1.2, 1.39, 1.626, 1.905, 2.234, 2.617, 3.077",\
                 "1.137, 1.164, 1.258, 1.417, 1.637, 1.9, 2.204, 2.555, 2.955, 3.41");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002482, 0.007685, 0.01762, 0.0331, 0.05482, 0.0834, 0.1194, 0.1634, 0.2158");
          values("0.3158, 0.3377, 0.4136, 0.5565, 0.7772, 1.084, 1.483, 1.979, 2.576, 3.286",\
                 "0.3157, 0.3377, 0.4134, 0.5566, 0.7771, 1.084, 1.482, 1.978, 2.576, 3.284",\
                 "0.3179, 0.3385, 0.4133, 0.5565, 0.7772, 1.084, 1.483, 1.978, 2.576, 3.285",\
                 "0.4006, 0.4178, 0.4756, 0.5906, 0.7863, 1.085, 1.483, 1.978, 2.576, 3.286",\
                 "0.52, 0.5408, 0.611, 0.7342, 0.9054, 1.15, 1.501, 1.98, 2.577, 3.287",\
                 "0.6606, 0.6826, 0.7602, 0.9002, 1.1, 1.351, 1.655, 2.062, 2.6, 3.29",\
                 "0.8254, 0.8506, 0.9368, 1.085, 1.304, 1.587, 1.925, 2.304, 2.773, 3.376",\
                 "1.015, 1.044, 1.139, 1.301, 1.531, 1.834, 2.205, 2.633, 3.102, 3.645",\
                 "1.228, 1.26, 1.362, 1.543, 1.791, 2.106, 2.499, 2.963, 3.491, 4.059",\
                 "1.461, 1.495, 1.61, 1.806, 2.076, 2.413, 2.817, 3.307, 3.873, 4.5");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai31_4) {
    area : 76.832000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B" ;
      value : "0.0001535325" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B" ;
      value : "0.0001547106" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B" ;
      value : "0.0002825823" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B" ;
      value : "0.0002281719" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B" ;
      value : "0.0002825856" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B" ;
      value : "0.0001713294" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B" ;
      value : "0.000283602" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B" ;
      value : "0.0001713393" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B" ;
      value : "0.0002825823" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B" ;
      value : "0.0002836053" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B" ;
      value : "0.0001137972" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B" ;
      value : "0.0002835987" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B" ;
      value : "0.000284196" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B" ;
      value : "0.0001137972" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000284196" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.0187 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06676, 0.06681, 0.0667, 0.06658, 0.06648, 0.06652, 0.06649, \
                 0.06651, 0.06649, 0.06653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04912, 0.04912, 0.04911, 0.04891, 0.04867, 0.0485, 0.04845, \
                 0.04823, 0.04802, 0.04769");
        }
      }

      internal_power() {
        when : "!A2&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0668, 0.06687, 0.06679, 0.06669, 0.06658, 0.06657, 0.06655, \
                 0.0665, 0.06644, 0.06638");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05586, -0.05699, -0.05855, -0.06043, -0.06204, -0.06311, -0.06372, \
                 -0.06408, -0.06432, -0.06447");
        }
      }

      internal_power() {
        when : "!A2&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09017, 0.09012, 0.09008, 0.08995, 0.08987, 0.08987, 0.08975, \
                 0.08962, 0.08944, 0.08921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01805, -0.01801, -0.01804, -0.01808, -0.0181, -0.01813, -0.01814, \
                 -0.01817, -0.01819, -0.0182");
        }
      }

      internal_power() {
        when : "A2&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06669, 0.06675, 0.06676, 0.06661, 0.06649, 0.06653, 0.06644, \
                 0.06641, 0.06632, 0.06628");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06426, -0.06444, -0.06439, -0.06491, -0.06522, -0.06548, -0.06563, \
                 -0.06567, -0.0657, -0.06576");
        }
      }

      internal_power() {
        when : "A2&!A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04637, 0.04631, 0.04627, 0.04624, 0.04621, 0.04626, 0.04623, \
                 0.04618, 0.0461, 0.04601");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01908, -0.019, -0.0191, -0.01911, -0.01912, -0.01916, -0.01916, \
                 -0.01916, -0.01916, -0.01915");
        }
      }

      internal_power() {
        when : "A2&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06671, 0.06678, 0.0668, 0.06664, 0.06649, 0.06655, 0.06646, \
                 0.06642, 0.06634, 0.06626");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06211, -0.06338, -0.06436, -0.06488, -0.06522, -0.06549, -0.0656, \
                 -0.06565, -0.06572, -0.06576");
        }
      }

      internal_power() {
        when : "A2&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04638, 0.04629, 0.04632, 0.04624, 0.04624, 0.04628, 0.04625, \
                 0.04616, 0.0461, 0.04602");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01908, -0.019, -0.0191, -0.0191, -0.0191, -0.01918, -0.01916, \
                 -0.01915, -0.01916, -0.01915");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01819 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06663, 0.06666, 0.06662, 0.0665, 0.06646, 0.06645, 0.06651, \
                 0.06651, 0.06653, 0.06648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0493, 0.04929, 0.04918, 0.04898, 0.04883, 0.04857, 0.04841, \
                 0.04815, 0.04796, 0.04769");
        }
      }

      internal_power() {
        when : "!A1&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06654, 0.06658, 0.06666, 0.06665, 0.06655, 0.06653, 0.06649, \
                 0.06645, 0.06641, 0.06635");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05788, -0.05813, -0.05974, -0.06181, -0.06303, -0.06388, -0.06434, \
                 -0.0646, -0.06477, -0.06486");
        }
      }

      internal_power() {
        when : "!A1&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0449, 0.04484, 0.04492, 0.04487, 0.04483, 0.04486, 0.04476, \
                 0.04466, 0.04452, 0.04429");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01967, -0.01967, -0.01969, -0.01975, -0.01976, -0.01984, -0.01986, \
                 -0.0199, -0.01997, -0.02004");
        }
      }

      internal_power() {
        when : "A1&!A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06671, 0.06664, 0.06658, 0.06654, 0.06647, 0.0665, 0.06651, \
                 0.06642, 0.06641, 0.0663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0639, -0.06375, -0.06387, -0.06472, -0.065, -0.06538, -0.06548, \
                 -0.06553, -0.0656, -0.06567");
        }
      }

      internal_power() {
        when : "A1&!A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05847, 0.05838, 0.05831, 0.05831, 0.05826, 0.05845, 0.05842, \
                 0.05843, 0.0584, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04798, -0.05101, -0.0555, -0.05652, -0.05694, -0.05725, -0.05737, \
                 -0.05747, -0.05755, -0.05756");
        }
      }

      internal_power() {
        when : "A1&A3&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0414, 0.04138, 0.04139, 0.0413, 0.04128, 0.0413, 0.04126, 0.04122, \
                 0.04115, 0.04108");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05363, -0.05359, -0.0535, -0.05343, -0.05344, -0.05355, -0.05345, \
                 -0.05339, -0.05325, -0.05306");
        }
      }

      internal_power() {
        when : "A1&A3&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03302, 0.03301, 0.03298, 0.03305, 0.03308, 0.03319, 0.03317, \
                 0.03317, 0.03319, 0.03319");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03434, -0.03485, -0.03527, -0.03538, -0.03531, -0.03541, -0.03531, \
                 -0.03522, -0.03515, -0.03513");
        }
      }
    }

    pin(A3) {
      capacitance : 0.01654 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06663, 0.06663, 0.06651, 0.06652, 0.06644, 0.06654, 0.06651, \
                 0.06653, 0.06652, 0.06651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0494, 0.04947, 0.04919, 0.04907, 0.04894, 0.04869, 0.04837, \
                 0.04824, 0.04802, 0.04771");
        }
      }

      internal_power() {
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0667, 0.06667, 0.06649, 0.06657, 0.06649, 0.06654, 0.0665, 0.06652, \
                 0.06641, 0.06637");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05796, -0.05875, -0.0615, -0.06296, -0.06364, -0.06421, -0.06442, \
                 -0.06467, -0.06481, -0.06489");
        }
      }

      internal_power() {
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05847, 0.05835, 0.05829, 0.05831, 0.05843, 0.05846, 0.05848, \
                 0.05848, 0.05845, 0.05844");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04838, -0.0503, -0.05331, -0.05482, -0.05547, -0.05611, -0.05635, \
                 -0.05655, -0.05672, -0.0568");
        }
      }

      internal_power() {
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06667, 0.06667, 0.06646, 0.06654, 0.06652, 0.06664, 0.06652, \
                 0.06657, 0.06645, 0.06638");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05558, -0.05711, -0.05982, -0.06166, -0.06281, -0.06357, -0.06395, \
                 -0.06422, -0.0644, -0.06456");
        }
      }

      internal_power() {
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05845, 0.05841, 0.05831, 0.05825, 0.05842, 0.05848, 0.05842, \
                 0.05853, 0.05846, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04727, -0.0488, -0.0516, -0.05365, -0.0547, -0.05545, -0.05587, \
                 -0.05612, -0.05634, -0.05649");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06672, 0.0667, 0.0665, 0.06659, 0.0665, 0.06655, 0.06652, 0.06648, \
                 0.06641, 0.06633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05748, -0.05874, -0.06155, -0.06296, -0.06365, -0.06423, -0.06442, \
                 -0.06468, -0.06485, -0.06492");
        }
      }

      internal_power() {
        when : "A1&A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05847, 0.0584, 0.05832, 0.05831, 0.05839, 0.05846, 0.05846, \
                 0.05844, 0.05842, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04909, -0.05036, -0.05333, -0.05482, -0.05551, -0.05611, -0.05637, \
                 -0.05654, -0.05673, -0.05683");
        }
      }
    }

    pin(B) {
      capacitance : 0.01682 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0613, 0.05882, 0.05851, 0.05842, 0.0584, 0.05848, 0.05847, 0.05843, \
                 0.05847, 0.05848");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05858, -0.05859, -0.0585, -0.05845, -0.05828, -0.05836, -0.05834, \
                 -0.05831, -0.05826, -0.05828");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2)&(!A3))|(!B))" ;
      max_capacitance : 0.4304 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.01278, 0.01298, 0.01346, 0.0139, 0.0141, 0.01426, 0.01428, 0.0144, 0.01443, 0.01446",\
                 "0.0135, 0.01389, 0.01493, 0.01588, 0.01652, 0.01697, 0.01726, 0.01748, 0.01758, 0.0177",\
                 "0.01896, 0.01922, 0.01968, 0.02017, 0.02066, 0.02096, 0.02114, 0.02129, 0.02133, 0.02144",\
                 "0.03409, 0.03358, 0.03243, 0.03095, 0.02961, 0.02835, 0.02734, 0.02658, 0.02588, 0.02541",\
                 "0.06411, 0.06267, 0.05893, 0.05406, 0.04935, 0.04513, 0.04156, 0.03855, 0.03601, 0.03402",\
                 "0.1129, 0.1106, 0.104, 0.09459, 0.08497, 0.07622, 0.06852, 0.06183, 0.05632, 0.05164",\
                 "0.1826, 0.1795, 0.1698, 0.1558, 0.1403, 0.1254, 0.1122, 0.1005, 0.09051, 0.08184",\
                 "0.2748, 0.2707, 0.2582, 0.2394, 0.2176, 0.1958, 0.1756, 0.1577, 0.142, 0.1281",\
                 "0.3903, 0.3855, 0.3705, 0.3469, 0.3189, 0.2899, 0.2619, 0.2363, 0.2138, 0.1935",\
                 "0.5304, 0.525, 0.5076, 0.4796, 0.4455, 0.4093, 0.3732, 0.3391, 0.3082, 0.2803");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2655, 0.2661, 0.2677, 0.2693, 0.2705, 0.2718, 0.273, 0.2736, 0.2751, 0.2802",\
                 "0.2608, 0.2617, 0.2642, 0.2671, 0.2699, 0.2721, 0.2736, 0.2751, 0.2768, 0.2818",\
                 "0.2614, 0.2616, 0.2624, 0.2642, 0.2667, 0.2694, 0.2716, 0.2737, 0.2761, 0.2814",\
                 "0.2813, 0.2806, 0.2782, 0.2755, 0.274, 0.2738, 0.2744, 0.2749, 0.277, 0.2832",\
                 "0.3207, 0.3192, 0.3144, 0.3075, 0.3001, 0.2943, 0.2902, 0.2878, 0.2861, 0.2911",\
                 "0.3806, 0.378, 0.3708, 0.3606, 0.348, 0.3359, 0.3255, 0.3168, 0.3116, 0.3139",\
                 "0.4632, 0.4599, 0.4499, 0.4351, 0.4184, 0.4009, 0.3835, 0.368, 0.3558, 0.3547",\
                 "0.5706, 0.5662, 0.5532, 0.5343, 0.5123, 0.4897, 0.4663, 0.4437, 0.4242, 0.4198",\
                 "0.7044, 0.6991, 0.683, 0.6594, 0.632, 0.6033, 0.5743, 0.5453, 0.5198, 0.5181",\
                 "0.866, 0.86, 0.841, 0.8124, 0.7793, 0.7443, 0.7093, 0.6742, 0.6458, 0.6577");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.05385, 0.05384, 0.05393, 0.05394, 0.05401, 0.05406, 0.05402, 0.05406, 0.05409, 0.05408",\
                 "0.05315, 0.05318, 0.0533, 0.05345, 0.05357, 0.05369, 0.05372, 0.05376, 0.05376, 0.05377",\
                 "0.05531, 0.05531, 0.0551, 0.05493, 0.05465, 0.05453, 0.05441, 0.05442, 0.05437, 0.05435",\
                 "0.06827, 0.06774, 0.06612, 0.06414, 0.06221, 0.06064, 0.05921, 0.05821, 0.05749, 0.05683",\
                 "0.09937, 0.09803, 0.09392, 0.08843, 0.0828, 0.07783, 0.0735, 0.07015, 0.06729, 0.06505",\
                 "0.1523, 0.15, 0.143, 0.1329, 0.122, 0.1117, 0.1026, 0.09492, 0.08868, 0.08346",\
                 "0.2292, 0.2258, 0.2158, 0.2005, 0.1834, 0.1664, 0.151, 0.1373, 0.1257, 0.1159",\
                 "0.3314, 0.3272, 0.3142, 0.2939, 0.2698, 0.2454, 0.2222, 0.2012, 0.1827, 0.1665",\
                 "0.4603, 0.4553, 0.4393, 0.4141, 0.3833, 0.3508, 0.3192, 0.2897, 0.263, 0.2391",\
                 "0.6168, 0.6112, 0.5928, 0.5629, 0.5254, 0.4848, 0.4442, 0.4053, 0.3692, 0.3367");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.308, 0.3086, 0.3098, 0.3113, 0.3123, 0.3134, 0.314, 0.3153, 0.3163, 0.3207",\
                 "0.3024, 0.3035, 0.306, 0.3091, 0.3117, 0.3137, 0.3153, 0.3167, 0.3183, 0.3237",\
                 "0.2957, 0.2963, 0.2983, 0.3016, 0.3054, 0.3088, 0.3119, 0.314, 0.3169, 0.3226",\
                 "0.307, 0.3065, 0.3058, 0.3055, 0.3064, 0.3083, 0.3104, 0.313, 0.3152, 0.3211",\
                 "0.3447, 0.3432, 0.339, 0.3335, 0.3283, 0.3247, 0.3228, 0.3217, 0.3221, 0.3277",\
                 "0.4094, 0.4068, 0.3989, 0.3885, 0.3769, 0.3657, 0.3565, 0.3499, 0.3449, 0.3486",\
                 "0.5013, 0.4976, 0.4865, 0.4705, 0.4528, 0.4351, 0.4177, 0.4028, 0.3911, 0.3902",\
                 "0.6215, 0.617, 0.6025, 0.5812, 0.5568, 0.532, 0.5079, 0.4845, 0.4643, 0.4599",\
                 "0.7715, 0.7659, 0.7484, 0.722, 0.6908, 0.6585, 0.6273, 0.5961, 0.5685, 0.5619",\
                 "0.9528, 0.9464, 0.9261, 0.8945, 0.8566, 0.8164, 0.777, 0.7385, 0.7064, 0.7082");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.09634, 0.09635, 0.09617, 0.09612, 0.0961, 0.09614, 0.09618, 0.09628, 0.09627, 0.09624",\
                 "0.09303, 0.09305, 0.093, 0.09286, 0.09282, 0.09286, 0.09288, 0.09297, 0.09294, 0.09292",\
                 "0.09092, 0.09077, 0.0905, 0.09009, 0.08978, 0.08949, 0.08937, 0.08932, 0.08923, 0.08918",\
                 "0.1016, 0.1009, 0.09918, 0.09689, 0.09485, 0.09314, 0.09178, 0.0908, 0.09005, 0.08946",\
                 "0.1342, 0.1327, 0.128, 0.1216, 0.1152, 0.1097, 0.1052, 0.1017, 0.09881, 0.09654",\
                 "0.1934, 0.1907, 0.1824, 0.1704, 0.1577, 0.1457, 0.1355, 0.1272, 0.1203, 0.1147",\
                 "0.2826, 0.2787, 0.2662, 0.2477, 0.2271, 0.2069, 0.1886, 0.173, 0.1598, 0.1489",\
                 "0.4033, 0.3982, 0.382, 0.3566, 0.327, 0.2973, 0.2692, 0.2442, 0.2225, 0.2039",\
                 "0.5571, 0.551, 0.5312, 0.4992, 0.4605, 0.42, 0.3811, 0.3451, 0.313, 0.2848",\
                 "0.745, 0.7376, 0.7147, 0.6769, 0.6292, 0.5781, 0.527, 0.4789, 0.4351, 0.3957");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.3767, 0.3773, 0.3785, 0.3798, 0.3809, 0.382, 0.3828, 0.3838, 0.3847, 0.3903",\
                 "0.3711, 0.3721, 0.3747, 0.3778, 0.3803, 0.3824, 0.3838, 0.3853, 0.3866, 0.3919",\
                 "0.3627, 0.3635, 0.3658, 0.3694, 0.3734, 0.3772, 0.3803, 0.383, 0.3855, 0.3909",\
                 "0.3649, 0.3648, 0.3652, 0.3668, 0.3692, 0.3725, 0.3757, 0.3787, 0.3816, 0.3887",\
                 "0.3926, 0.3917, 0.389, 0.3857, 0.3832, 0.382, 0.3821, 0.383, 0.3848, 0.3914",\
                 "0.4573, 0.4545, 0.4472, 0.4377, 0.428, 0.4197, 0.4127, 0.4081, 0.4051, 0.4097",\
                 "0.5608, 0.5568, 0.5445, 0.5276, 0.5092, 0.4921, 0.4764, 0.4627, 0.4516, 0.452",\
                 "0.7021, 0.6971, 0.6809, 0.6565, 0.629, 0.6023, 0.5769, 0.5535, 0.5331, 0.5273",\
                 "0.8803, 0.8744, 0.8549, 0.8243, 0.7881, 0.7509, 0.7153, 0.682, 0.6525, 0.642",\
                 "1.096, 1.089, 1.067, 1.031, 0.9866, 0.9393, 0.8931, 0.8492, 0.8115, 0.8056");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.09672, 0.09682, 0.09706, 0.09737, 0.09747, 0.09763, 0.09774, 0.09786, 0.09792, 0.09792",\
                 "0.09412, 0.09432, 0.09503, 0.09566, 0.09635, 0.09682, 0.09717, 0.0974, 0.09758, 0.09763",\
                 "0.09135, 0.09149, 0.09221, 0.09323, 0.09429, 0.0951, 0.09579, 0.09638, 0.09671, 0.09695",\
                 "0.1014, 0.1011, 0.1006, 0.09997, 0.09946, 0.09913, 0.09881, 0.09872, 0.09853, 0.09848",\
                 "0.1363, 0.1352, 0.132, 0.1276, 0.1231, 0.119, 0.1156, 0.1127, 0.1103, 0.1083",\
                 "0.2019, 0.1999, 0.1936, 0.1841, 0.1734, 0.1631, 0.154, 0.146, 0.1391, 0.1334",\
                 "0.3023, 0.2993, 0.2895, 0.2741, 0.2561, 0.2378, 0.2208, 0.2053, 0.1919, 0.18",\
                 "0.4395, 0.4356, 0.4228, 0.4017, 0.3757, 0.3481, 0.3212, 0.2965, 0.2741, 0.2541",\
                 "0.6148, 0.6099, 0.5944, 0.5683, 0.5344, 0.4968, 0.4592, 0.4233, 0.3907, 0.3608",\
                 "0.8298, 0.8244, 0.8058, 0.775, 0.734, 0.6871, 0.6384, 0.5904, 0.5456, 0.5037");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.5333, 0.5334, 0.5336, 0.5338, 0.5341, 0.5345, 0.5352, 0.5365, 0.5383, 0.5403",\
                 "0.5287, 0.5288, 0.5293, 0.5298, 0.5305, 0.5312, 0.532, 0.5335, 0.5354, 0.537",\
                 "0.5313, 0.5311, 0.5307, 0.5303, 0.5303, 0.5307, 0.5313, 0.5326, 0.5344, 0.5357",\
                 "0.5591, 0.5579, 0.5549, 0.5506, 0.5463, 0.5432, 0.5411, 0.5403, 0.5403, 0.5407",\
                 "0.6174, 0.6153, 0.609, 0.5995, 0.5888, 0.579, 0.571, 0.5645, 0.5608, 0.5588",\
                 "0.7097, 0.7067, 0.6972, 0.6818, 0.6645, 0.6466, 0.6301, 0.6159, 0.604, 0.5948",\
                 "0.8381, 0.8345, 0.8221, 0.8023, 0.7764, 0.7497, 0.724, 0.6999, 0.6789, 0.6618",\
                 "1.005, 1.001, 0.9863, 0.9614, 0.9297, 0.8931, 0.8564, 0.8229, 0.7911, 0.7627",\
                 "1.212, 1.207, 1.19, 1.162, 1.124, 1.08, 1.032, 0.9856, 0.9423, 0.903",\
                 "1.46, 1.455, 1.437, 1.406, 1.363, 1.311, 1.254, 1.196, 1.139, 1.086");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.05295, 0.05286, 0.05322, 0.05372, 0.05396, 0.05409, 0.05422, 0.0543, 0.05436, 0.05443",\
                 "0.0501, 0.05043, 0.05109, 0.05196, 0.05277, 0.05328, 0.05363, 0.05382, 0.05403, 0.05412",\
                 "0.04663, 0.04691, 0.04789, 0.04914, 0.05039, 0.05136, 0.05218, 0.05275, 0.0531, 0.05341",\
                 "0.05725, 0.05693, 0.05627, 0.05584, 0.05541, 0.05538, 0.05505, 0.05497, 0.05491, 0.05484",\
                 "0.09452, 0.0933, 0.0897, 0.08491, 0.07999, 0.07575, 0.07218, 0.06922, 0.06682, 0.06476",\
                 "0.1648, 0.1623, 0.155, 0.1443, 0.1325, 0.1215, 0.1117, 0.1034, 0.09619, 0.09022",\
                 "0.2708, 0.2673, 0.2561, 0.2389, 0.2188, 0.1988, 0.1805, 0.1642, 0.15, 0.1377",\
                 "0.4138, 0.409, 0.3946, 0.3711, 0.3422, 0.3122, 0.2835, 0.2572, 0.2339, 0.2131",\
                 "0.5944, 0.5892, 0.5714, 0.5421, 0.5053, 0.4648, 0.4244, 0.3864, 0.3523, 0.3213",\
                 "0.8137, 0.8076, 0.7876, 0.7534, 0.709, 0.6587, 0.607, 0.5564, 0.5092, 0.4664");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.4647, 0.4648, 0.465, 0.4654, 0.4657, 0.4661, 0.4668, 0.468, 0.4694, 0.471",\
                 "0.4601, 0.4602, 0.4607, 0.4615, 0.4621, 0.4627, 0.4636, 0.4651, 0.4664, 0.4684",\
                 "0.4628, 0.4626, 0.4622, 0.462, 0.462, 0.4622, 0.4629, 0.4643, 0.4651, 0.4674",\
                 "0.4903, 0.4894, 0.4863, 0.4822, 0.478, 0.4748, 0.4727, 0.4719, 0.4714, 0.472",\
                 "0.5485, 0.5466, 0.5401, 0.531, 0.5207, 0.5111, 0.5024, 0.4963, 0.4922, 0.4889",\
                 "0.641, 0.6382, 0.6286, 0.6133, 0.5956, 0.5784, 0.5616, 0.5473, 0.536, 0.5261",\
                 "0.7696, 0.766, 0.7538, 0.7338, 0.7079, 0.6812, 0.6556, 0.6323, 0.6103, 0.5915",\
                 "0.9363, 0.9319, 0.9176, 0.8931, 0.8613, 0.8243, 0.7878, 0.7536, 0.7228, 0.6948",\
                 "1.143, 1.138, 1.122, 1.093, 1.056, 1.011, 0.9635, 0.9173, 0.8733, 0.8347",\
                 "1.392, 1.387, 1.369, 1.338, 1.294, 1.242, 1.185, 1.127, 1.071, 1.018");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.05286, 0.05302, 0.05327, 0.05364, 0.05391, 0.05403, 0.05422, 0.05426, 0.05436, 0.05443",\
                 "0.05005, 0.05049, 0.05111, 0.05209, 0.05273, 0.0533, 0.05363, 0.05384, 0.054, 0.05414",\
                 "0.04698, 0.04726, 0.04815, 0.04953, 0.05067, 0.05151, 0.05228, 0.05282, 0.05317, 0.05345",\
                 "0.05901, 0.05875, 0.05801, 0.05736, 0.05678, 0.05639, 0.05606, 0.05576, 0.05548, 0.05535",\
                 "0.09798, 0.09677, 0.0933, 0.0882, 0.08297, 0.07833, 0.07427, 0.07107, 0.06846, 0.06607",\
                 "0.17, 0.1676, 0.1602, 0.1492, 0.1371, 0.1256, 0.1155, 0.1066, 0.09907, 0.09284",\
                 "0.2775, 0.2739, 0.2628, 0.2455, 0.225, 0.2046, 0.1858, 0.169, 0.1545, 0.1416",\
                 "0.4217, 0.4172, 0.4026, 0.3791, 0.3503, 0.3196, 0.2903, 0.2639, 0.2398, 0.2186",\
                 "0.6039, 0.5985, 0.581, 0.5517, 0.5147, 0.4741, 0.4333, 0.3949, 0.36, 0.3285",\
                 "0.8248, 0.8188, 0.7986, 0.7646, 0.7202, 0.6699, 0.6176, 0.5667, 0.5189, 0.4755");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.5002, 0.5003, 0.5006, 0.501, 0.5014, 0.5019, 0.5025, 0.5038, 0.505, 0.5064",\
                 "0.4961, 0.4962, 0.4968, 0.4977, 0.4984, 0.4993, 0.5005, 0.5016, 0.5027, 0.5054",\
                 "0.4987, 0.4986, 0.4985, 0.4983, 0.4984, 0.4991, 0.4999, 0.5009, 0.5027, 0.5041",\
                 "0.5259, 0.5251, 0.5225, 0.5189, 0.515, 0.5122, 0.5101, 0.5091, 0.5087, 0.51",\
                 "0.5835, 0.582, 0.5767, 0.5687, 0.5588, 0.549, 0.5415, 0.5355, 0.5301, 0.5278",\
                 "0.6758, 0.6732, 0.6649, 0.6511, 0.635, 0.619, 0.6028, 0.5894, 0.5763, 0.5671",\
                 "0.8041, 0.8008, 0.7899, 0.7715, 0.7484, 0.7238, 0.6998, 0.6769, 0.6568, 0.6374",\
                 "0.9706, 0.9668, 0.954, 0.9317, 0.9023, 0.8688, 0.8343, 0.8018, 0.7717, 0.7433",\
                 "1.178, 1.174, 1.159, 1.133, 1.098, 1.056, 1.012, 0.9688, 0.9268, 0.8895",\
                 "1.428, 1.423, 1.407, 1.378, 1.338, 1.289, 1.236, 1.182, 1.128, 1.078");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.01033, 0.01063, 0.01114, 0.01149, 0.01173, 0.01193, 0.01198, 0.01209, 0.01214, 0.01218",\
                 "0.006475, 0.006999, 0.008283, 0.009519, 0.01049, 0.01102, 0.01138, 0.01163, 0.01179, 0.0119",\
                 "0.002388, 0.0029, 0.004145, 0.006069, 0.007702, 0.008947, 0.009806, 0.01044, 0.01084, 0.01114",\
                 "0.01564, 0.01523, 0.01434, 0.01365, 0.01323, 0.01302, 0.01288, 0.01279, 0.01272, 0.01266",\
                 "0.05762, 0.05591, 0.05128, 0.04517, 0.03944, 0.03463, 0.03069, 0.0275, 0.02487, 0.02277",\
                 "0.1337, 0.1305, 0.1214, 0.1084, 0.09449, 0.08217, 0.07152, 0.06257, 0.05506, 0.0488",\
                 "0.2451, 0.2406, 0.2272, 0.2071, 0.184, 0.1619, 0.1421, 0.1248, 0.1098, 0.09703",\
                 "0.3926, 0.3871, 0.3701, 0.3433, 0.3112, 0.2782, 0.2471, 0.2195, 0.1949, 0.1734",\
                 "0.5771, 0.5708, 0.5507, 0.5179, 0.4774, 0.4337, 0.3908, 0.351, 0.3149, 0.2828",\
                 "0.7998, 0.7928, 0.7701, 0.7324, 0.6842, 0.6307, 0.5758, 0.5229, 0.4737, 0.4293");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.4229, 0.423, 0.4233, 0.4235, 0.4241, 0.4246, 0.4253, 0.4261, 0.4275, 0.4291",\
                 "0.4181, 0.4183, 0.4189, 0.4198, 0.4206, 0.4212, 0.4221, 0.4231, 0.4252, 0.4265",\
                 "0.4212, 0.4208, 0.4201, 0.4199, 0.4204, 0.4208, 0.4213, 0.4229, 0.4242, 0.4258",\
                 "0.4487, 0.4478, 0.4448, 0.4404, 0.4359, 0.433, 0.431, 0.4301, 0.4291, 0.4308",\
                 "0.5075, 0.5051, 0.4986, 0.489, 0.4792, 0.4691, 0.4607, 0.455, 0.4496, 0.447",\
                 "0.6001, 0.5969, 0.5871, 0.572, 0.5544, 0.5366, 0.5202, 0.5059, 0.4935, 0.4846",\
                 "0.7287, 0.725, 0.7126, 0.6923, 0.6662, 0.6395, 0.6134, 0.5905, 0.5691, 0.5512",\
                 "0.8956, 0.8911, 0.8765, 0.8519, 0.8194, 0.7835, 0.7457, 0.7117, 0.6806, 0.6522",\
                 "1.103, 1.098, 1.081, 1.053, 1.015, 0.97, 0.9228, 0.876, 0.8331, 0.7938",\
                 "1.352, 1.346, 1.328, 1.296, 1.253, 1.201, 1.145, 1.086, 1.03, 0.9756");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.01033, 0.01058, 0.01106, 0.01148, 0.01174, 0.01192, 0.01197, 0.01209, 0.01215, 0.01216",\
                 "0.006627, 0.007087, 0.008321, 0.009522, 0.01045, 0.01103, 0.01138, 0.01162, 0.01178, 0.01188",\
                 "0.002978, 0.003369, 0.004678, 0.006441, 0.007973, 0.009119, 0.009922, 0.01049, 0.0109, 0.01119",\
                 "0.01754, 0.0172, 0.01617, 0.01523, 0.01465, 0.01417, 0.01385, 0.01357, 0.01331, 0.01313",\
                 "0.06141, 0.05958, 0.05485, 0.04869, 0.04252, 0.03716, 0.03284, 0.02932, 0.02651, 0.02419",\
                 "0.139, 0.1358, 0.1265, 0.1133, 0.09923, 0.08643, 0.07536, 0.06581, 0.05796, 0.05136",\
                 "0.2519, 0.2474, 0.234, 0.2137, 0.1905, 0.1678, 0.1474, 0.1296, 0.1142, 0.1009",\
                 "0.4007, 0.3954, 0.3784, 0.3514, 0.3192, 0.2858, 0.2541, 0.226, 0.2008, 0.1788",\
                 "0.5863, 0.5801, 0.5603, 0.5277, 0.487, 0.4434, 0.3997, 0.359, 0.3225, 0.2901",\
                 "0.8106, 0.8036, 0.7811, 0.7438, 0.6956, 0.6417, 0.5865, 0.5331, 0.4835, 0.4384");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.4589, 0.4587, 0.4589, 0.4593, 0.46, 0.4604, 0.4609, 0.4618, 0.4635, 0.4648",\
                 "0.4544, 0.4546, 0.4555, 0.4559, 0.4572, 0.4579, 0.459, 0.4602, 0.4612, 0.4635",\
                 "0.4569, 0.4567, 0.4568, 0.4568, 0.4572, 0.4575, 0.4584, 0.4594, 0.4612, 0.4625",\
                 "0.4843, 0.4835, 0.481, 0.4771, 0.4735, 0.4706, 0.4685, 0.4675, 0.4668, 0.4684",\
                 "0.5421, 0.5402, 0.5347, 0.5267, 0.5172, 0.5079, 0.4993, 0.4936, 0.4889, 0.4862",\
                 "0.6346, 0.632, 0.6234, 0.6097, 0.5938, 0.5772, 0.5613, 0.5475, 0.5354, 0.5252",\
                 "0.7629, 0.7597, 0.7486, 0.7306, 0.7071, 0.682, 0.6576, 0.6351, 0.614, 0.5955",\
                 "0.9299, 0.9263, 0.9132, 0.8905, 0.861, 0.8272, 0.7928, 0.7596, 0.7304, 0.7007",\
                 "1.137, 1.133, 1.118, 1.092, 1.057, 1.015, 0.9712, 0.9269, 0.8852, 0.8479",\
                 "1.387, 1.383, 1.366, 1.337, 1.297, 1.248, 1.195, 1.141, 1.087, 1.037");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.01032, 0.01058, 0.01106, 0.01147, 0.01172, 0.01189, 0.01197, 0.01208, 0.01213, 0.01216",\
                 "0.006626, 0.007087, 0.008317, 0.009518, 0.01049, 0.01103, 0.01139, 0.01162, 0.01178, 0.01189",\
                 "0.002979, 0.003379, 0.004675, 0.006444, 0.007974, 0.00912, 0.009928, 0.0105, 0.0109, 0.01119",\
                 "0.01753, 0.01721, 0.01618, 0.01522, 0.01466, 0.01418, 0.01384, 0.01357, 0.01331, 0.01312",\
                 "0.06142, 0.05958, 0.05486, 0.04873, 0.04252, 0.03719, 0.03285, 0.02932, 0.02651, 0.02421",\
                 "0.139, 0.1358, 0.1265, 0.1134, 0.09924, 0.08642, 0.07543, 0.06589, 0.05793, 0.05135",\
                 "0.2519, 0.2474, 0.234, 0.2137, 0.1905, 0.1678, 0.1474, 0.1296, 0.1141, 0.101",\
                 "0.4007, 0.3954, 0.3784, 0.3514, 0.3192, 0.2858, 0.2541, 0.226, 0.2009, 0.1788",\
                 "0.5864, 0.5802, 0.5603, 0.5278, 0.4869, 0.4434, 0.3996, 0.359, 0.3226, 0.2901",\
                 "0.8106, 0.8035, 0.7811, 0.7439, 0.6956, 0.6417, 0.5865, 0.5331, 0.4835, 0.4384");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.4586, 0.4586, 0.4589, 0.4593, 0.4598, 0.4604, 0.4611, 0.4621, 0.4631, 0.4651",\
                 "0.4544, 0.4546, 0.4555, 0.4559, 0.4572, 0.4579, 0.459, 0.4602, 0.4612, 0.4635",\
                 "0.4569, 0.4568, 0.4569, 0.4567, 0.4571, 0.4576, 0.4584, 0.4599, 0.4605, 0.4622",\
                 "0.4845, 0.4835, 0.481, 0.4772, 0.4735, 0.4706, 0.4686, 0.4675, 0.4668, 0.4681",\
                 "0.5421, 0.5404, 0.5348, 0.5268, 0.5173, 0.5078, 0.4999, 0.4933, 0.4895, 0.4859",\
                 "0.6346, 0.632, 0.6236, 0.6097, 0.5935, 0.5775, 0.5615, 0.5471, 0.5351, 0.5259",\
                 "0.7634, 0.7596, 0.7487, 0.7305, 0.707, 0.6819, 0.6582, 0.6355, 0.6146, 0.5965",\
                 "0.9298, 0.9262, 0.9128, 0.8904, 0.8608, 0.8272, 0.7932, 0.7606, 0.7308, 0.7011",\
                 "1.138, 1.133, 1.118, 1.092, 1.057, 1.015, 0.9712, 0.9275, 0.8862, 0.8479",\
                 "1.388, 1.382, 1.366, 1.337, 1.297, 1.248, 1.195, 1.14, 1.087, 1.036");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.01033, 0.01059, 0.01106, 0.01146, 0.01173, 0.01191, 0.01198, 0.01208, 0.01214, 0.01216",\
                 "0.006676, 0.007227, 0.008375, 0.009531, 0.01046, 0.01105, 0.01138, 0.01161, 0.01177, 0.01188",\
                 "0.003139, 0.003567, 0.004875, 0.006615, 0.008079, 0.009195, 0.009974, 0.01054, 0.01092, 0.01121",\
                 "0.01817, 0.01784, 0.01678, 0.01581, 0.01516, 0.01456, 0.01415, 0.01389, 0.01357, 0.01337",\
                 "0.06238, 0.06075, 0.05591, 0.04966, 0.04336, 0.03807, 0.03366, 0.03005, 0.02707, 0.02468",\
                 "0.1401, 0.1371, 0.1281, 0.1148, 0.1007, 0.08785, 0.07653, 0.067, 0.05894, 0.05213",\
                 "0.2535, 0.249, 0.2357, 0.2156, 0.1924, 0.1697, 0.1493, 0.1311, 0.1157, 0.1023",\
                 "0.4025, 0.3972, 0.3804, 0.3537, 0.3214, 0.2881, 0.2565, 0.228, 0.203, 0.1807",\
                 "0.5885, 0.5825, 0.5625, 0.5303, 0.4898, 0.4461, 0.4026, 0.3617, 0.3251, 0.2926",\
                 "0.8131, 0.8064, 0.7844, 0.7468, 0.699, 0.645, 0.59, 0.5367, 0.4869, 0.4413");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.4935, 0.4939, 0.4939, 0.4941, 0.4947, 0.495, 0.4962, 0.4972, 0.4981, 0.5001",\
                 "0.49, 0.4898, 0.4907, 0.4916, 0.4923, 0.4933, 0.4943, 0.4955, 0.4968, 0.4988",\
                 "0.4917, 0.4917, 0.4915, 0.492, 0.4922, 0.4928, 0.4936, 0.4953, 0.4961, 0.4981",\
                 "0.5184, 0.5177, 0.5153, 0.512, 0.5082, 0.5056, 0.504, 0.5034, 0.5027, 0.5034",\
                 "0.575, 0.5737, 0.5689, 0.5614, 0.5522, 0.5432, 0.5353, 0.5291, 0.5255, 0.5222",\
                 "0.6662, 0.664, 0.6567, 0.6438, 0.6281, 0.6127, 0.5977, 0.5842, 0.5717, 0.5621",\
                 "0.7941, 0.791, 0.7808, 0.7631, 0.7416, 0.7178, 0.695, 0.6724, 0.6512, 0.6334",\
                 "0.9605, 0.9566, 0.9441, 0.9229, 0.8948, 0.8631, 0.8301, 0.7985, 0.7684, 0.741",\
                 "1.168, 1.163, 1.149, 1.124, 1.09, 1.051, 1.009, 0.9658, 0.9268, 0.8882",\
                 "1.417, 1.413, 1.397, 1.369, 1.33, 1.284, 1.232, 1.18, 1.128, 1.078");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.08631, 0.09513, 0.1261, 0.1848, 0.2758, 0.4036, 0.5717, 0.7832, 1.041, 1.349",\
                 "0.09955, 0.1085, 0.1396, 0.1986, 0.29, 0.4178, 0.5858, 0.7977, 1.055, 1.364",\
                 "0.1345, 0.1461, 0.1834, 0.2452, 0.3361, 0.4639, 0.6321, 0.8436, 1.102, 1.41",\
                 "0.1462, 0.1628, 0.2154, 0.3015, 0.4153, 0.5518, 0.7194, 0.9305, 1.188, 1.496",\
                 "0.1218, 0.1442, 0.2142, 0.3265, 0.4731, 0.6476, 0.8465, 1.067, 1.325, 1.631",\
                 "0.056, 0.0838, 0.1718, 0.3138, 0.4957, 0.7093, 0.9511, 1.219, 1.509, 1.824",\
                 "-0.0551, -0.0213, 0.0849, 0.256, 0.4757, 0.7316, 1.018, 1.332, 1.674, 2.041",\
                 "-0.2153, -0.1756, -0.0504, 0.1496, 0.408, 0.7085, 1.043, 1.406, 1.798, 2.219",\
                 "-0.4259, -0.3809, -0.2376, -0.0077, 0.2882, 0.6325, 1.018, 1.434, 1.879, 2.353",\
                 "-0.6901, -0.6389, -0.4793, -0.22, 0.1144, 0.5036, 0.9387, 1.409, 1.91, 2.444");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2698, 0.3023, 0.4145, 0.6271, 0.9553, 1.414, 2.017, 2.776, 3.702, 4.806",\
                 "0.2752, 0.3081, 0.4223, 0.6373, 0.9681, 1.429, 2.032, 2.792, 3.719, 4.823",\
                 "0.3259, 0.3569, 0.4677, 0.6805, 1.011, 1.473, 2.077, 2.838, 3.766, 4.87",\
                 "0.4532, 0.485, 0.5907, 0.7942, 1.117, 1.573, 2.175, 2.933, 3.861, 4.966",\
                 "0.6291, 0.6645, 0.7847, 0.9967, 1.309, 1.755, 2.347, 3.1, 4.021, 5.122",\
                 "0.8556, 0.8948, 1.027, 1.262, 1.595, 2.034, 2.615, 3.356, 4.268, 5.361",\
                 "1.136, 1.181, 1.327, 1.579, 1.942, 2.411, 2.989, 3.717, 4.616, 5.697",\
                 "1.469, 1.52, 1.684, 1.959, 2.346, 2.85, 3.463, 4.192, 5.076, 6.143",\
                 "1.857, 1.914, 2.099, 2.403, 2.817, 3.349, 4.003, 4.77, 5.659, 6.713",\
                 "2.303, 2.367, 2.572, 2.909, 3.355, 3.917, 4.605, 5.42, 6.352, 7.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1166, 0.1319, 0.1848, 0.2853, 0.4419, 0.66, 0.9473, 1.308, 1.749, 2.276",\
                 "0.1154, 0.1309, 0.1844, 0.2852, 0.441, 0.6598, 0.9471, 1.308, 1.749, 2.275",\
                 "0.1525, 0.1661, 0.2095, 0.2925, 0.4412, 0.6589, 0.9474, 1.308, 1.749, 2.276",\
                 "0.2231, 0.2401, 0.2939, 0.3872, 0.5143, 0.6901, 0.951, 1.308, 1.749, 2.275",\
                 "0.318, 0.3386, 0.4043, 0.5119, 0.6608, 0.8478, 1.071, 1.365, 1.763, 2.275",\
                 "0.4306, 0.4568, 0.5374, 0.6686, 0.8384, 1.047, 1.299, 1.589, 1.926, 2.361",\
                 "0.5648, 0.5954, 0.6922, 0.8476, 1.044, 1.279, 1.555, 1.875, 2.239, 2.642",\
                 "0.7122, 0.7524, 0.8686, 1.05, 1.278, 1.546, 1.849, 2.197, 2.59, 3.031",\
                 "0.8738, 0.9204, 1.062, 1.271, 1.535, 1.837, 2.179, 2.553, 2.977, 3.451",\
                 "1.049, 1.103, 1.269, 1.519, 1.815, 2.157, 2.536, 2.953, 3.406, 3.909");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.4559, 0.5126, 0.7077, 1.077, 1.649, 2.454, 3.508, 4.837, 6.452, 8.388",\
                 "0.4548, 0.5112, 0.7088, 1.078, 1.65, 2.454, 3.51, 4.837, 6.449, 8.392",\
                 "0.4467, 0.5051, 0.7051, 1.077, 1.649, 2.452, 3.507, 4.838, 6.449, 8.387",\
                 "0.4835, 0.5333, 0.7112, 1.072, 1.647, 2.452, 3.507, 4.839, 6.458, 8.385",\
                 "0.5412, 0.5984, 0.788, 1.117, 1.653, 2.449, 3.508, 4.833, 6.449, 8.386",\
                 "0.622, 0.676, 0.8712, 1.231, 1.74, 2.471, 3.509, 4.835, 6.452, 8.387",\
                 "0.7394, 0.7904, 0.9794, 1.344, 1.893, 2.601, 3.556, 4.842, 6.456, 8.382",\
                 "0.878, 0.9356, 1.129, 1.486, 2.045, 2.803, 3.724, 4.931, 6.474, 8.392",\
                 "1.038, 1.102, 1.305, 1.664, 2.222, 3.002, 3.974, 5.132, 6.599, 8.425",\
                 "1.214, 1.283, 1.507, 1.881, 2.435, 3.214, 4.227, 5.43, 6.844, 8.592");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1123, 0.1218, 0.1543, 0.2148, 0.3074, 0.4361, 0.6048, 0.8167, 1.075, 1.383",\
                 "0.1247, 0.1342, 0.1667, 0.2272, 0.3199, 0.4487, 0.6173, 0.8293, 1.088, 1.395",\
                 "0.1665, 0.1772, 0.212, 0.2723, 0.3647, 0.4932, 0.6619, 0.8738, 1.132, 1.44",\
                 "0.1941, 0.2091, 0.2577, 0.3387, 0.4475, 0.5808, 0.7487, 0.96, 1.218, 1.526",\
                 "0.1894, 0.2091, 0.2726, 0.3777, 0.5167, 0.6854, 0.8794, 1.097, 1.354, 1.661",\
                 "0.1471, 0.172, 0.2511, 0.3813, 0.5534, 0.7585, 0.9934, 1.255, 1.542, 1.855",\
                 "0.0652, 0.0944, 0.1885, 0.3456, 0.5518, 0.796, 1.073, 1.379, 1.715, 2.077",\
                 "-0.0591, -0.0253, 0.0842, 0.2659, 0.506, 0.7914, 1.113, 1.467, 1.849, 2.263",\
                 "-0.2288, -0.1903, -0.0655, 0.1405, 0.4144, 0.7417, 1.109, 1.513, 1.946, 2.411",\
                 "-0.4451, -0.4024, -0.2632, -0.0314, 0.2739, 0.6416, 1.056, 1.51, 1.998, 2.517");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.3628, 0.3954, 0.5079, 0.7198, 1.047, 1.506, 2.108, 2.867, 3.794, 4.898",\
                 "0.3674, 0.4003, 0.5153, 0.7301, 1.06, 1.521, 2.125, 2.884, 3.811, 4.916",\
                 "0.3948, 0.4273, 0.5413, 0.757, 1.089, 1.553, 2.159, 2.921, 3.849, 4.955",\
                 "0.4711, 0.5046, 0.6183, 0.8283, 1.156, 1.616, 2.221, 2.983, 3.91, 5.017",\
                 "0.602, 0.6363, 0.7545, 0.9714, 1.293, 1.743, 2.34, 3.095, 4.02, 5.123",\
                 "0.7951, 0.832, 0.9531, 1.175, 1.507, 1.954, 2.538, 3.283, 4.197, 5.294",\
                 "1.037, 1.078, 1.213, 1.444, 1.783, 2.243, 2.827, 3.559, 4.46, 5.543",\
                 "1.325, 1.372, 1.523, 1.775, 2.127, 2.597, 3.197, 3.93, 4.818, 5.887",\
                 "1.659, 1.712, 1.882, 2.161, 2.539, 3.022, 3.635, 4.386, 5.277, 6.332",\
                 "2.042, 2.101, 2.29, 2.599, 3.009, 3.519, 4.146, 4.912, 5.823, 6.883");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1537, 0.1689, 0.2222, 0.3231, 0.4792, 0.6977, 0.9844, 1.347, 1.788, 2.313",\
                 "0.1526, 0.1682, 0.2222, 0.3232, 0.4795, 0.6976, 0.9855, 1.346, 1.789, 2.313",\
                 "0.1796, 0.1922, 0.2355, 0.3251, 0.4788, 0.6974, 0.9847, 1.347, 1.788, 2.313",\
                 "0.2579, 0.2739, 0.3259, 0.4152, 0.5401, 0.7215, 0.9877, 1.347, 1.787, 2.313",\
                 "0.3624, 0.3817, 0.4436, 0.547, 0.6918, 0.8752, 1.098, 1.396, 1.797, 2.313",\
                 "0.4868, 0.5112, 0.5866, 0.7088, 0.8734, 1.077, 1.326, 1.614, 1.953, 2.392",\
                 "0.6336, 0.6638, 0.7538, 0.8978, 1.086, 1.314, 1.584, 1.902, 2.264, 2.668",\
                 "0.8052, 0.8396, 0.945, 1.115, 1.329, 1.586, 1.884, 2.224, 2.615, 3.055",\
                 "0.9962, 1.039, 1.161, 1.357, 1.602, 1.889, 2.218, 2.587, 3.004, 3.473",\
                 "1.205, 1.253, 1.401, 1.626, 1.902, 2.228, 2.588, 2.991, 3.437, 3.932");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.4605, 0.5157, 0.708, 1.078, 1.648, 2.451, 3.507, 4.828, 6.452, 8.394",\
                 "0.4607, 0.5157, 0.7081, 1.076, 1.648, 2.452, 3.507, 4.837, 6.455, 8.38",\
                 "0.4628, 0.5172, 0.7089, 1.078, 1.65, 2.452, 3.506, 4.836, 6.448, 8.392",\
                 "0.5106, 0.5591, 0.7317, 1.08, 1.65, 2.452, 3.507, 4.831, 6.448, 8.396",\
                 "0.5676, 0.6198, 0.8028, 1.134, 1.668, 2.45, 3.505, 4.836, 6.455, 8.38",\
                 "0.6528, 0.7018, 0.8754, 1.222, 1.744, 2.487, 3.512, 4.835, 6.45, 8.382",\
                 "0.7828, 0.8292, 0.9908, 1.322, 1.854, 2.591, 3.572, 4.842, 6.461, 8.395",\
                 "0.9398, 0.988, 1.151, 1.465, 1.978, 2.726, 3.696, 4.93, 6.486, 8.386",\
                 "1.115, 1.167, 1.341, 1.657, 2.149, 2.879, 3.863, 5.083, 6.59, 8.447",\
                 "1.311, 1.365, 1.554, 1.886, 2.372, 3.077, 4.046, 5.282, 6.769, 8.56");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1194, 0.1302, 0.1671, 0.2336, 0.3322, 0.4662, 0.6389, 0.8541, 1.115, 1.425",\
                 "0.1313, 0.142, 0.1785, 0.2448, 0.3433, 0.4772, 0.6499, 0.8652, 1.126, 1.436",\
                 "0.1786, 0.1896, 0.2255, 0.289, 0.3862, 0.5196, 0.6922, 0.9073, 1.168, 1.478",\
                 "0.2186, 0.2335, 0.2828, 0.3641, 0.4728, 0.6068, 0.7778, 0.9924, 1.253, 1.563",\
                 "0.2294, 0.2489, 0.3118, 0.416, 0.5533, 0.7203, 0.9124, 1.13, 1.389, 1.698",\
                 "0.2063, 0.2304, 0.3079, 0.4353, 0.6043, 0.805, 1.037, 1.296, 1.579, 1.892",\
                 "0.1479, 0.1761, 0.2676, 0.4199, 0.6198, 0.859, 1.13, 1.431, 1.762, 2.12",\
                 "0.0543, 0.0862, 0.1906, 0.3649, 0.598, 0.8748, 1.188, 1.534, 1.91, 2.319",\
                 "-0.0769, -0.0412, 0.0765, 0.2717, 0.5361, 0.8502, 1.207, 1.599, 2.024, 2.481",\
                 "-0.2462, -0.2069, -0.0774, 0.139, 0.4312, 0.7835, 1.185, 1.623, 2.098, 2.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.4207, 0.4534, 0.5659, 0.7774, 1.105, 1.564, 2.166, 2.925, 3.851, 4.955",\
                 "0.4283, 0.4613, 0.5766, 0.7907, 1.121, 1.582, 2.186, 2.946, 3.872, 4.977",\
                 "0.4578, 0.491, 0.6052, 0.822, 1.155, 1.618, 2.225, 2.987, 3.915, 5.021",\
                 "0.5139, 0.5472, 0.6605, 0.8729, 1.203, 1.666, 2.273, 3.036, 3.965, 5.072",\
                 "0.6016, 0.6356, 0.7523, 0.9687, 1.293, 1.748, 2.349, 3.108, 4.034, 5.139",\
                 "0.7447, 0.7796, 0.8993, 1.115, 1.444, 1.895, 2.483, 3.232, 4.15, 5.248",\
                 "0.9306, 0.9708, 1.102, 1.328, 1.656, 2.11, 2.696, 3.429, 4.333, 5.419",\
                 "1.155, 1.202, 1.349, 1.596, 1.938, 2.39, 2.98, 3.713, 4.6, 5.668",\
                 "1.417, 1.468, 1.634, 1.907, 2.276, 2.743, 3.332, 4.068, 4.957, 6.009",\
                 "1.713, 1.771, 1.957, 2.259, 2.662, 3.158, 3.758, 4.494, 5.388, 6.444");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1908, 0.2076, 0.2655, 0.3714, 0.53, 0.7501, 1.038, 1.401, 1.843, 2.369",\
                 "0.1867, 0.2051, 0.2631, 0.3697, 0.529, 0.7499, 1.038, 1.4, 1.842, 2.368",\
                 "0.2081, 0.2211, 0.268, 0.3646, 0.5263, 0.7488, 1.037, 1.401, 1.843, 2.369",\
                 "0.3, 0.3147, 0.3651, 0.4521, 0.5754, 0.7632, 1.037, 1.4, 1.843, 2.368",\
                 "0.4199, 0.4387, 0.4973, 0.5958, 0.7346, 0.9128, 1.135, 1.439, 1.848, 2.368",\
                 "0.5698, 0.591, 0.6618, 0.7738, 0.928, 1.125, 1.366, 1.649, 1.993, 2.438",\
                 "0.7486, 0.7734, 0.8574, 0.9882, 1.16, 1.373, 1.633, 1.943, 2.301, 2.703",\
                 "0.9572, 0.9876, 1.085, 1.234, 1.431, 1.664, 1.943, 2.273, 2.658, 3.093",\
                 "1.197, 1.234, 1.344, 1.521, 1.738, 1.997, 2.299, 2.648, 3.052, 3.514",\
                 "1.473, 1.519, 1.645, 1.84, 2.086, 2.372, 2.7, 3.072, 3.498, 3.98");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.4611, 0.5158, 0.7094, 1.078, 1.647, 2.451, 3.506, 4.838, 6.459, 8.391",\
                 "0.4607, 0.5162, 0.7088, 1.076, 1.648, 2.451, 3.506, 4.838, 6.459, 8.38",\
                 "0.4627, 0.5171, 0.7091, 1.078, 1.647, 2.452, 3.507, 4.83, 6.457, 8.393",\
                 "0.4925, 0.5429, 0.7207, 1.078, 1.647, 2.454, 3.505, 4.831, 6.457, 8.38",\
                 "0.5476, 0.5988, 0.7808, 1.12, 1.661, 2.451, 3.502, 4.835, 6.455, 8.391",\
                 "0.6504, 0.6954, 0.861, 1.2, 1.731, 2.489, 3.513, 4.831, 6.454, 8.381",\
                 "0.8152, 0.8578, 1.008, 1.311, 1.829, 2.574, 3.566, 4.855, 6.462, 8.378",\
                 "1.007, 1.052, 1.208, 1.494, 1.971, 2.698, 3.677, 4.926, 6.493, 8.387",\
                 "1.221, 1.269, 1.438, 1.736, 2.185, 2.866, 3.826, 5.061, 6.588, 8.457",\
                 "1.455, 1.509, 1.687, 2.01, 2.465, 3.108, 4.019, 5.236, 6.745, 8.562");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1648, 0.1754, 0.2115, 0.2773, 0.3756, 0.5094, 0.6821, 0.8974, 1.158, 1.468",\
                 "0.1778, 0.1885, 0.2248, 0.2908, 0.3892, 0.5232, 0.696, 0.9113, 1.172, 1.482",\
                 "0.2129, 0.2236, 0.2593, 0.3242, 0.4223, 0.5564, 0.7294, 0.9448, 1.206, 1.516",\
                 "0.2454, 0.2581, 0.2998, 0.3726, 0.4762, 0.611, 0.7832, 0.9984, 1.259, 1.57",\
                 "0.2632, 0.2782, 0.328, 0.4127, 0.5305, 0.6814, 0.8653, 1.084, 1.344, 1.653",\
                 "0.2548, 0.2735, 0.333, 0.4342, 0.5722, 0.7423, 0.9459, 1.185, 1.461, 1.774",\
                 "0.2171, 0.2386, 0.3091, 0.4281, 0.5889, 0.7855, 1.015, 1.276, 1.575, 1.913",\
                 "0.1485, 0.173, 0.2533, 0.3903, 0.5757, 0.8013, 1.061, 1.354, 1.679, 2.043",\
                 "0.0472, 0.0749, 0.1653, 0.3193, 0.5293, 0.7842, 1.078, 1.405, 1.765, 2.159",\
                 "-0.0893, -0.0582, 0.0414, 0.2128, 0.4451, 0.7313, 1.059, 1.424, 1.822, 2.254");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1812, 0.1931, 0.2346, 0.312, 0.4308, 0.5959, 0.8122, 1.084, 1.415, 1.81",\
                 "0.1963, 0.2084, 0.25, 0.3277, 0.4466, 0.6119, 0.8284, 1.1, 1.432, 1.826",\
                 "0.2624, 0.2741, 0.3152, 0.3922, 0.5107, 0.6758, 0.8921, 1.164, 1.495, 1.89",\
                 "0.3843, 0.3982, 0.4455, 0.5267, 0.6436, 0.8066, 1.021, 1.291, 1.622, 2.016",\
                 "0.5321, 0.5492, 0.6061, 0.7058, 0.8454, 1.019, 1.231, 1.498, 1.826, 2.218",\
                 "0.7119, 0.7317, 0.7985, 0.9135, 1.076, 1.281, 1.524, 1.798, 2.123, 2.51",\
                 "0.923, 0.9464, 1.024, 1.157, 1.34, 1.572, 1.849, 2.166, 2.516, 2.906",\
                 "1.168, 1.195, 1.284, 1.436, 1.644, 1.901, 2.207, 2.561, 2.957, 3.39",\
                 "1.448, 1.478, 1.579, 1.751, 1.985, 2.272, 2.607, 2.993, 3.429, 3.909",\
                 "1.764, 1.799, 1.912, 2.105, 2.365, 2.683, 3.053, 3.472, 3.94, 4.462");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1842, 0.201, 0.2594, 0.3664, 0.5278, 0.7487, 1.038, 1.4, 1.842, 2.37",\
                 "0.1838, 0.2007, 0.2588, 0.367, 0.5275, 0.7488, 1.037, 1.4, 1.843, 2.37",\
                 "0.1936, 0.2085, 0.2615, 0.3644, 0.5257, 0.7485, 1.038, 1.401, 1.843, 2.37",\
                 "0.254, 0.2685, 0.3194, 0.4122, 0.5528, 0.7564, 1.037, 1.399, 1.843, 2.369",\
                 "0.3467, 0.3618, 0.4114, 0.5034, 0.6474, 0.843, 1.096, 1.427, 1.849, 2.37",\
                 "0.4664, 0.4834, 0.5398, 0.6372, 0.779, 0.9742, 1.232, 1.551, 1.938, 2.419",\
                 "0.6076, 0.6272, 0.6906, 0.8004, 0.9556, 1.152, 1.407, 1.727, 2.118, 2.578",\
                 "0.7646, 0.786, 0.8604, 0.9864, 1.158, 1.373, 1.637, 1.954, 2.341, 2.805",\
                 "0.9392, 0.962, 1.045, 1.19, 1.385, 1.622, 1.905, 2.231, 2.619, 3.08",\
                 "1.126, 1.153, 1.248, 1.409, 1.632, 1.898, 2.201, 2.554, 2.954, 3.411");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2977, 0.3191, 0.3941, 0.5354, 0.7534, 1.057, 1.453, 1.946, 2.541, 3.244",\
                 "0.2977, 0.319, 0.3939, 0.5356, 0.7536, 1.057, 1.453, 1.946, 2.54, 3.244",\
                 "0.3011, 0.321, 0.394, 0.5355, 0.7535, 1.057, 1.453, 1.946, 2.542, 3.245",\
                 "0.3868, 0.4042, 0.4611, 0.5737, 0.7643, 1.058, 1.453, 1.946, 2.541, 3.245",\
                 "0.504, 0.5254, 0.5946, 0.7192, 0.8886, 1.128, 1.474, 1.948, 2.541, 3.245",\
                 "0.6424, 0.6658, 0.7432, 0.882, 1.082, 1.332, 1.635, 2.035, 2.568, 3.249",\
                 "0.8076, 0.8344, 0.919, 1.067, 1.285, 1.569, 1.905, 2.284, 2.747, 3.342",\
                 "0.9976, 1.025, 1.12, 1.283, 1.515, 1.817, 2.187, 2.614, 3.082, 3.618",\
                 "1.212, 1.242, 1.347, 1.529, 1.778, 2.091, 2.484, 2.947, 3.471, 4.035",\
                 "1.449, 1.483, 1.597, 1.794, 2.066, 2.403, 2.807, 3.291, 3.853, 4.476");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1543, 0.1639, 0.1963, 0.2569, 0.3496, 0.4783, 0.6472, 0.8592, 1.118, 1.426",\
                 "0.1671, 0.1767, 0.2094, 0.2703, 0.3632, 0.4921, 0.6609, 0.8731, 1.132, 1.44",\
                 "0.1979, 0.208, 0.2418, 0.3029, 0.3961, 0.5253, 0.6943, 0.9067, 1.165, 1.473",\
                 "0.2201, 0.2326, 0.2734, 0.3449, 0.4466, 0.5793, 0.7482, 0.9603, 1.219, 1.527",\
                 "0.2222, 0.2378, 0.289, 0.3755, 0.4935, 0.6441, 0.8274, 1.045, 1.303, 1.61",\
                 "0.197, 0.2161, 0.2791, 0.3842, 0.5255, 0.6983, 0.9029, 1.142, 1.418, 1.732",\
                 "0.1427, 0.1659, 0.2401, 0.3647, 0.5315, 0.7325, 0.965, 1.229, 1.529, 1.867",\
                 "0.0592, 0.0852, 0.1703, 0.3138, 0.5059, 0.7385, 1.004, 1.3, 1.629, 1.993",\
                 "-0.0579, -0.0278, 0.0682, 0.2296, 0.448, 0.7104, 1.011, 1.344, 1.709, 2.105",\
                 "-0.2108, -0.1775, -0.0696, 0.1116, 0.3541, 0.6472, 0.9847, 1.355, 1.76, 2.195");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1813, 0.1933, 0.2346, 0.312, 0.4307, 0.596, 0.8122, 1.084, 1.415, 1.81",\
                 "0.1964, 0.2085, 0.2501, 0.3277, 0.4467, 0.612, 0.8284, 1.1, 1.432, 1.827",\
                 "0.2625, 0.2742, 0.3152, 0.3923, 0.5109, 0.6758, 0.8922, 1.164, 1.495, 1.89",\
                 "0.3842, 0.3984, 0.4455, 0.5269, 0.6437, 0.8066, 1.021, 1.291, 1.622, 2.016",\
                 "0.5323, 0.5492, 0.6062, 0.706, 0.8455, 1.019, 1.231, 1.498, 1.826, 2.218",\
                 "0.712, 0.7317, 0.7985, 0.9137, 1.076, 1.281, 1.523, 1.798, 2.123, 2.51",\
                 "0.9229, 0.9469, 1.024, 1.157, 1.34, 1.572, 1.849, 2.166, 2.516, 2.905",\
                 "1.168, 1.195, 1.284, 1.436, 1.644, 1.901, 2.207, 2.561, 2.958, 3.391",\
                 "1.448, 1.479, 1.58, 1.751, 1.985, 2.273, 2.608, 2.994, 3.429, 3.91",\
                 "1.765, 1.799, 1.912, 2.105, 2.366, 2.684, 3.053, 3.472, 3.942, 4.463");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1524, 0.1683, 0.2219, 0.3227, 0.479, 0.6972, 0.9854, 1.347, 1.788, 2.313",\
                 "0.1525, 0.1677, 0.2217, 0.323, 0.4789, 0.6973, 0.9853, 1.347, 1.788, 2.314",\
                 "0.1676, 0.1808, 0.2287, 0.3241, 0.4789, 0.6973, 0.9853, 1.347, 1.789, 2.313",\
                 "0.2268, 0.241, 0.2886, 0.3788, 0.5154, 0.7121, 0.9882, 1.347, 1.787, 2.312",\
                 "0.3214, 0.3357, 0.3849, 0.4742, 0.6132, 0.8056, 1.055, 1.381, 1.798, 2.313",\
                 "0.4436, 0.4598, 0.5158, 0.6118, 0.7494, 0.9408, 1.194, 1.511, 1.894, 2.369",\
                 "0.5836, 0.6032, 0.6668, 0.7768, 0.9288, 1.124, 1.375, 1.691, 2.078, 2.537",\
                 "0.7396, 0.7616, 0.8352, 0.962, 1.133, 1.347, 1.605, 1.92, 2.305, 2.764",\
                 "0.91, 0.9342, 1.018, 1.163, 1.358, 1.596, 1.875, 2.201, 2.584, 3.042",\
                 "1.095, 1.123, 1.218, 1.379, 1.6, 1.867, 2.177, 2.524, 2.923, 3.377");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2949, 0.3159, 0.389, 0.5263, 0.7371, 1.029, 1.411, 1.889, 2.473, 3.169",\
                 "0.2948, 0.3159, 0.3889, 0.5263, 0.7371, 1.029, 1.411, 1.889, 2.472, 3.167",\
                 "0.298, 0.3177, 0.389, 0.5262, 0.7374, 1.029, 1.411, 1.889, 2.472, 3.168",\
                 "0.382, 0.3997, 0.4558, 0.5643, 0.7478, 1.03, 1.411, 1.889, 2.472, 3.168",\
                 "0.4944, 0.5148, 0.5838, 0.7046, 0.8698, 1.1, 1.431, 1.892, 2.474, 3.168",\
                 "0.6258, 0.648, 0.7242, 0.8588, 1.054, 1.298, 1.592, 1.979, 2.5, 3.172",\
                 "0.7782, 0.8032, 0.8872, 1.034, 1.243, 1.521, 1.851, 2.224, 2.68, 3.265",\
                 "0.9474, 0.976, 1.07, 1.232, 1.458, 1.754, 2.118, 2.542, 3.009, 3.541",\
                 "1.132, 1.164, 1.27, 1.454, 1.701, 2.014, 2.399, 2.859, 3.382, 3.953",\
                 "1.328, 1.365, 1.487, 1.689, 1.964, 2.305, 2.708, 3.193, 3.758, 4.393");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1268, 0.134, 0.1587, 0.2047, 0.2748, 0.3721, 0.4995, 0.6591, 0.8541, 1.086",\
                 "0.1404, 0.1475, 0.1725, 0.2186, 0.2892, 0.3866, 0.5138, 0.6736, 0.8686, 1.101",\
                 "0.1798, 0.1883, 0.216, 0.2635, 0.3341, 0.4318, 0.5593, 0.7193, 0.9144, 1.146",\
                 "0.2074, 0.219, 0.2569, 0.3212, 0.4083, 0.5158, 0.645, 0.8051, 1, 1.232",\
                 "0.2114, 0.2265, 0.2753, 0.3575, 0.4679, 0.6028, 0.7594, 0.9359, 1.135, 1.367",\
                 "0.1877, 0.2062, 0.2664, 0.3676, 0.5031, 0.6669, 0.855, 1.066, 1.298, 1.551",\
                 "0.1347, 0.1563, 0.2276, 0.3482, 0.5091, 0.7036, 0.9252, 1.171, 1.441, 1.733",\
                 "0.0515, 0.0763, 0.1577, 0.2964, 0.4836, 0.7082, 0.965, 1.249, 1.557, 1.89",\
                 "-0.0656, -0.037, 0.0548, 0.2106, 0.4226, 0.6786, 0.9712, 1.294, 1.643, 2.018",\
                 "-0.2182, -0.1869, -0.0845, 0.0902, 0.3261, 0.6129, 0.9406, 1.302, 1.693, 2.112");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2047, 0.2165, 0.2569, 0.3334, 0.4513, 0.6158, 0.8318, 1.103, 1.435, 1.829",\
                 "0.2202, 0.2319, 0.2727, 0.3495, 0.4677, 0.6325, 0.8486, 1.12, 1.452, 1.846",\
                 "0.286, 0.2976, 0.3379, 0.414, 0.5319, 0.6965, 0.9125, 1.184, 1.515, 1.91",\
                 "0.4127, 0.4261, 0.4708, 0.5493, 0.6653, 0.8277, 1.042, 1.312, 1.642, 2.036",\
                 "0.567, 0.5833, 0.6379, 0.7349, 0.8711, 1.041, 1.253, 1.52, 1.847, 2.239",\
                 "0.7548, 0.7736, 0.8371, 0.9484, 1.108, 1.31, 1.549, 1.822, 2.145, 2.533",\
                 "0.9753, 0.9974, 1.071, 1.199, 1.379, 1.607, 1.881, 2.195, 2.543, 2.931",\
                 "1.23, 1.256, 1.34, 1.487, 1.69, 1.944, 2.246, 2.598, 2.991, 3.421",\
                 "1.522, 1.551, 1.647, 1.812, 2.04, 2.323, 2.655, 3.038, 3.47, 3.949",\
                 "1.85, 1.883, 1.99, 2.177, 2.431, 2.744, 3.109, 3.524, 3.991, 4.511");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1307, 0.1423, 0.1829, 0.2593, 0.3773, 0.5423, 0.7589, 1.032, 1.364, 1.759",\
                 "0.1307, 0.1422, 0.1828, 0.2593, 0.3777, 0.5425, 0.7586, 1.031, 1.363, 1.759",\
                 "0.1617, 0.1704, 0.2012, 0.266, 0.3777, 0.5423, 0.7583, 1.031, 1.365, 1.759",\
                 "0.2474, 0.2574, 0.2927, 0.3571, 0.4506, 0.5802, 0.7702, 1.032, 1.364, 1.758",\
                 "0.3582, 0.3702, 0.4093, 0.482, 0.5872, 0.7266, 0.8986, 1.112, 1.399, 1.767",\
                 "0.4926, 0.5062, 0.5516, 0.6344, 0.7524, 0.9044, 1.095, 1.319, 1.58, 1.894",\
                 "0.6448, 0.6608, 0.7144, 0.81, 0.9436, 1.113, 1.318, 1.563, 1.845, 2.167",\
                 "0.8118, 0.8306, 0.8934, 1.005, 1.158, 1.349, 1.576, 1.837, 2.14, 2.484",\
                 "0.995, 1.015, 1.088, 1.218, 1.392, 1.61, 1.861, 2.151, 2.469, 2.835",\
                 "1.191, 1.215, 1.297, 1.444, 1.644, 1.889, 2.17, 2.486, 2.838, 3.221");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.3201, 0.3412, 0.4145, 0.5522, 0.7631, 1.055, 1.436, 1.915, 2.498, 3.194",\
                 "0.3201, 0.3411, 0.4146, 0.5521, 0.763, 1.055, 1.437, 1.915, 2.498, 3.195",\
                 "0.322, 0.3423, 0.4146, 0.5521, 0.7631, 1.055, 1.437, 1.914, 2.499, 3.194",\
                 "0.3992, 0.4156, 0.4724, 0.584, 0.7714, 1.056, 1.437, 1.915, 2.5, 3.193",\
                 "0.5114, 0.5326, 0.6006, 0.7216, 0.8866, 1.119, 1.455, 1.917, 2.5, 3.194",\
                 "0.6396, 0.6616, 0.739, 0.8742, 1.07, 1.312, 1.605, 1.998, 2.523, 3.198",\
                 "0.7904, 0.8154, 0.8986, 1.043, 1.257, 1.533, 1.865, 2.237, 2.694, 3.285",\
                 "0.959, 0.9864, 1.078, 1.24, 1.465, 1.762, 2.13, 2.552, 3.018, 3.553",\
                 "1.143, 1.173, 1.277, 1.457, 1.7, 2.014, 2.403, 2.866, 3.392, 3.958",\
                 "1.343, 1.379, 1.495, 1.69, 1.962, 2.299, 2.704, 3.191, 3.756, 4.389");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1272, 0.1361, 0.1671, 0.2258, 0.3168, 0.4447, 0.6124, 0.824, 1.082, 1.39",\
                 "0.1395, 0.1485, 0.1799, 0.2391, 0.3306, 0.4584, 0.6264, 0.8379, 1.096, 1.404",\
                 "0.165, 0.1754, 0.2102, 0.2711, 0.3631, 0.4916, 0.6601, 0.8717, 1.13, 1.438",\
                 "0.1753, 0.1889, 0.2327, 0.3069, 0.4107, 0.5449, 0.7134, 0.9252, 1.183, 1.491",\
                 "0.1615, 0.1794, 0.2359, 0.3284, 0.4515, 0.6048, 0.7903, 1.01, 1.268, 1.575",\
                 "0.1203, 0.1423, 0.2124, 0.3262, 0.475, 0.6533, 0.8615, 1.103, 1.381, 1.696",\
                 "0.0514, 0.0773, 0.1599, 0.295, 0.4712, 0.6803, 0.9185, 1.186, 1.488, 1.828",\
                 "-0.0476, -0.0177, 0.0779, 0.2329, 0.4367, 0.6778, 0.9502, 1.252, 1.584, 1.952",\
                 "-0.1793, -0.1452, -0.0374, 0.1383, 0.3672, 0.6416, 0.9505, 1.29, 1.659, 2.06",\
                 "-0.3474, -0.3093, -0.1884, 0.0079, 0.2647, 0.5712, 0.9169, 1.295, 1.705, 2.146");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1771, 0.1892, 0.2308, 0.3084, 0.4271, 0.5922, 0.8081, 1.079, 1.411, 1.805",\
                 "0.1923, 0.2044, 0.2462, 0.324, 0.443, 0.608, 0.8245, 1.096, 1.428, 1.822",\
                 "0.2584, 0.2703, 0.3113, 0.3886, 0.5072, 0.672, 0.8878, 1.16, 1.491, 1.885",\
                 "0.3785, 0.393, 0.4408, 0.5229, 0.6399, 0.8024, 1.017, 1.287, 1.617, 2.011",\
                 "0.525, 0.5425, 0.5999, 0.7004, 0.8408, 1.015, 1.227, 1.494, 1.821, 2.212",\
                 "0.703, 0.7232, 0.7903, 0.9066, 1.07, 1.276, 1.519, 1.794, 2.117, 2.504",\
                 "0.9117, 0.9355, 1.015, 1.148, 1.333, 1.565, 1.842, 2.16, 2.51, 2.9",\
                 "1.154, 1.182, 1.272, 1.425, 1.634, 1.893, 2.199, 2.553, 2.95, 3.383",\
                 "1.43, 1.462, 1.564, 1.738, 1.974, 2.262, 2.599, 2.984, 3.421, 3.9",\
                 "1.743, 1.778, 1.894, 2.089, 2.351, 2.671, 3.042, 3.461, 3.931, 4.452");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1182, 0.133, 0.1853, 0.2856, 0.441, 0.6601, 0.9469, 1.307, 1.75, 2.275",\
                 "0.1187, 0.1334, 0.1855, 0.2853, 0.4411, 0.6598, 0.9464, 1.308, 1.748, 2.274",\
                 "0.1429, 0.1556, 0.1998, 0.2899, 0.442, 0.6603, 0.9472, 1.31, 1.75, 2.276",\
                 "0.2066, 0.2188, 0.2646, 0.3512, 0.4865, 0.6795, 0.951, 1.308, 1.749, 2.276",\
                 "0.3059, 0.32, 0.3667, 0.4528, 0.5872, 0.777, 1.025, 1.347, 1.763, 2.278",\
                 "0.431, 0.4458, 0.4988, 0.5924, 0.7282, 0.9166, 1.166, 1.481, 1.864, 2.338",\
                 "0.5716, 0.5896, 0.6514, 0.7586, 0.9096, 1.103, 1.35, 1.663, 2.048, 2.507",\
                 "0.7274, 0.747, 0.819, 0.9438, 1.114, 1.327, 1.584, 1.896, 2.278, 2.737",\
                 "0.8948, 0.9204, 1.001, 1.143, 1.338, 1.576, 1.855, 2.179, 2.561, 3.017",\
                 "1.076, 1.104, 1.199, 1.358, 1.581, 1.847, 2.152, 2.502, 2.897, 3.359");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2445, 0.2651, 0.3367, 0.4711, 0.678, 0.9679, 1.347, 1.826, 2.41, 3.105",\
                 "0.2444, 0.2648, 0.3364, 0.4702, 0.6781, 0.967, 1.348, 1.827, 2.409, 3.105",\
                 "0.2474, 0.2664, 0.3364, 0.471, 0.6774, 0.9681, 1.348, 1.826, 2.409, 3.105",\
                 "0.3234, 0.3413, 0.4012, 0.5074, 0.6887, 0.9681, 1.348, 1.826, 2.408, 3.105",\
                 "0.4168, 0.4386, 0.512, 0.6374, 0.808, 1.037, 1.368, 1.828, 2.408, 3.104",\
                 "0.5274, 0.5518, 0.6344, 0.7772, 0.9788, 1.231, 1.526, 1.915, 2.434, 3.107",\
                 "0.6548, 0.6832, 0.7796, 0.9366, 1.157, 1.441, 1.78, 2.159, 2.615, 3.199",\
                 "0.795, 0.8282, 0.9386, 1.119, 1.357, 1.664, 2.036, 2.469, 2.941, 3.476",\
                 "0.9508, 0.9884, 1.116, 1.316, 1.585, 1.913, 2.309, 2.781, 3.307, 3.885",\
                 "1.113, 1.16, 1.303, 1.535, 1.831, 2.192, 2.609, 3.104, 3.675, 4.308");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1075, 0.1143, 0.1377, 0.1821, 0.2508, 0.3472, 0.4734, 0.6329, 0.8274, 1.059",\
                 "0.1205, 0.1275, 0.1513, 0.1961, 0.2652, 0.3614, 0.4881, 0.6477, 0.8422, 1.073",\
                 "0.152, 0.1611, 0.1905, 0.2398, 0.3099, 0.4066, 0.5335, 0.6931, 0.8876, 1.12",\
                 "0.1649, 0.1776, 0.2193, 0.2874, 0.3784, 0.4888, 0.619, 0.7787, 0.9733, 1.205",\
                 "0.1527, 0.1697, 0.2241, 0.3127, 0.4292, 0.5684, 0.7285, 0.9078, 1.108, 1.34",\
                 "0.113, 0.1341, 0.2017, 0.3112, 0.4547, 0.6247, 0.8177, 1.032, 1.267, 1.523",\
                 "0.0468, 0.071, 0.15, 0.2801, 0.4509, 0.6529, 0.8809, 1.132, 1.405, 1.7",\
                 "-0.0504, -0.0222, 0.0683, 0.2176, 0.4154, 0.6497, 0.9132, 1.203, 1.516, 1.852",\
                 "-0.1818, -0.15, -0.0472, 0.1221, 0.3448, 0.6122, 0.913, 1.241, 1.596, 1.975",\
                 "-0.3492, -0.3137, -0.1992, -0.0092, 0.2391, 0.5367, 0.8744, 1.243, 1.641, 2.065");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2008, 0.2124, 0.2531, 0.3297, 0.4478, 0.612, 0.8277, 1.1, 1.429, 1.824",\
                 "0.2162, 0.228, 0.2689, 0.3458, 0.4642, 0.6289, 0.8449, 1.116, 1.447, 1.841",\
                 "0.2822, 0.2937, 0.3341, 0.4104, 0.5283, 0.6926, 0.9087, 1.18, 1.511, 1.906",\
                 "0.4073, 0.4211, 0.4665, 0.5453, 0.6614, 0.8237, 1.037, 1.307, 1.637, 2.031",\
                 "0.5608, 0.5771, 0.6323, 0.7298, 0.8662, 1.037, 1.249, 1.516, 1.842, 2.234",\
                 "0.7464, 0.7658, 0.8296, 0.9423, 1.102, 1.304, 1.544, 1.817, 2.14, 2.527",\
                 "0.9651, 0.9873, 1.062, 1.191, 1.372, 1.6, 1.875, 2.189, 2.536, 2.925",\
                 "1.218, 1.244, 1.329, 1.477, 1.681, 1.935, 2.238, 2.59, 2.984, 3.413",\
                 "1.505, 1.535, 1.633, 1.8, 2.03, 2.312, 2.645, 3.029, 3.462, 3.94",\
                 "1.83, 1.863, 1.973, 2.161, 2.418, 2.732, 3.097, 3.514, 3.981, 4.5");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1044, 0.1157, 0.1553, 0.2311, 0.3485, 0.5135, 0.7296, 1.002, 1.332, 1.728",\
                 "0.1051, 0.116, 0.1553, 0.2312, 0.3486, 0.5133, 0.7299, 1.002, 1.335, 1.73",\
                 "0.1473, 0.1557, 0.1849, 0.2443, 0.3513, 0.5132, 0.7296, 1.002, 1.334, 1.73",\
                 "0.2331, 0.2429, 0.2773, 0.3409, 0.4339, 0.5605, 0.7459, 1.004, 1.333, 1.731",\
                 "0.3485, 0.3587, 0.3966, 0.4661, 0.5716, 0.7098, 0.8822, 1.093, 1.376, 1.742",\
                 "0.4858, 0.498, 0.541, 0.6208, 0.736, 0.8884, 1.077, 1.302, 1.562, 1.873",\
                 "0.6398, 0.6536, 0.7042, 0.7966, 0.9286, 1.097, 1.3, 1.545, 1.827, 2.149",\
                 "0.8078, 0.8244, 0.8834, 0.9908, 1.143, 1.334, 1.56, 1.819, 2.122, 2.468",\
                 "0.99, 1.009, 1.076, 1.2, 1.376, 1.592, 1.846, 2.133, 2.451, 2.816",\
                 "1.184, 1.207, 1.285, 1.425, 1.627, 1.871, 2.152, 2.471, 2.822, 3.203");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2712, 0.2921, 0.3633, 0.4977, 0.7043, 0.9937, 1.373, 1.852, 2.434, 3.131",\
                 "0.2705, 0.2912, 0.3625, 0.4964, 0.7047, 0.9938, 1.374, 1.852, 2.434, 3.131",\
                 "0.2722, 0.2918, 0.362, 0.4963, 0.7045, 0.9935, 1.375, 1.853, 2.436, 3.131",\
                 "0.3437, 0.3619, 0.4184, 0.5274, 0.7122, 0.9942, 1.374, 1.851, 2.436, 3.132",\
                 "0.4382, 0.4602, 0.5324, 0.6566, 0.8246, 1.056, 1.391, 1.853, 2.436, 3.131",\
                 "0.5486, 0.5728, 0.6538, 0.7958, 0.9958, 1.246, 1.542, 1.933, 2.457, 3.133",\
                 "0.6768, 0.7044, 0.7964, 0.951, 1.17, 1.457, 1.793, 2.172, 2.629, 3.22",\
                 "0.8194, 0.8514, 0.9572, 1.128, 1.367, 1.673, 2.048, 2.479, 2.952, 3.488",\
                 "0.9764, 1.014, 1.132, 1.327, 1.59, 1.916, 2.314, 2.785, 3.318, 3.89",\
                 "1.147, 1.187, 1.325, 1.542, 1.834, 2.187, 2.606, 3.102, 3.672, 4.312");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1074, 0.1142, 0.1377, 0.182, 0.251, 0.347, 0.4733, 0.6326, 0.8269, 1.058",\
                 "0.1205, 0.1275, 0.1513, 0.1961, 0.265, 0.3612, 0.488, 0.6475, 0.8418, 1.073",\
                 "0.1519, 0.1611, 0.1905, 0.2398, 0.3098, 0.4064, 0.5333, 0.6926, 0.8873, 1.119",\
                 "0.1648, 0.1776, 0.2192, 0.2875, 0.3783, 0.4887, 0.6189, 0.7785, 0.973, 1.205",\
                 "0.1527, 0.1697, 0.2241, 0.3127, 0.4292, 0.5684, 0.7284, 0.9077, 1.108, 1.34",\
                 "0.113, 0.1341, 0.2016, 0.3112, 0.4546, 0.6246, 0.8175, 1.032, 1.267, 1.522",\
                 "0.0464, 0.071, 0.1499, 0.2804, 0.4508, 0.6528, 0.8808, 1.131, 1.405, 1.7",\
                 "-0.0504, -0.0223, 0.0682, 0.2176, 0.4154, 0.6497, 0.9135, 1.203, 1.516, 1.852",\
                 "-0.1818, -0.15, -0.0473, 0.122, 0.3447, 0.6122, 0.9121, 1.241, 1.596, 1.975",\
                 "-0.3492, -0.3137, -0.1992, -0.0092, 0.239, 0.5366, 0.8742, 1.243, 1.64, 2.065");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2007, 0.2125, 0.2532, 0.3297, 0.4476, 0.612, 0.828, 1.1, 1.43, 1.824",\
                 "0.2162, 0.228, 0.2689, 0.3458, 0.4642, 0.6289, 0.8449, 1.116, 1.447, 1.841",\
                 "0.2822, 0.2937, 0.3341, 0.4104, 0.5283, 0.6926, 0.9086, 1.18, 1.51, 1.906",\
                 "0.4074, 0.4212, 0.4666, 0.5455, 0.6615, 0.8236, 1.038, 1.308, 1.637, 2.031",\
                 "0.5604, 0.577, 0.6324, 0.7296, 0.8666, 1.037, 1.249, 1.515, 1.842, 2.234",\
                 "0.7465, 0.7659, 0.8299, 0.9421, 1.101, 1.304, 1.544, 1.817, 2.14, 2.528",\
                 "0.9651, 0.988, 1.062, 1.191, 1.371, 1.6, 1.875, 2.189, 2.537, 2.925",\
                 "1.218, 1.243, 1.33, 1.477, 1.681, 1.935, 2.239, 2.59, 2.984, 3.414",\
                 "1.505, 1.535, 1.633, 1.801, 2.029, 2.313, 2.646, 3.029, 3.462, 3.94",\
                 "1.83, 1.863, 1.973, 2.161, 2.417, 2.732, 3.097, 3.514, 3.981, 4.499");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1043, 0.1156, 0.1552, 0.231, 0.3484, 0.5128, 0.7283, 1.002, 1.333, 1.73",\
                 "0.105, 0.116, 0.1552, 0.2312, 0.3483, 0.513, 0.7296, 1.002, 1.334, 1.728",\
                 "0.1473, 0.1556, 0.1849, 0.2442, 0.3511, 0.5129, 0.7287, 1.002, 1.334, 1.729",\
                 "0.2331, 0.2429, 0.2773, 0.3408, 0.4339, 0.56, 0.7454, 1.004, 1.332, 1.729",\
                 "0.3485, 0.3587, 0.3965, 0.4662, 0.5714, 0.7096, 0.8818, 1.093, 1.375, 1.74",\
                 "0.4856, 0.498, 0.541, 0.621, 0.7358, 0.8878, 1.077, 1.302, 1.564, 1.873",\
                 "0.6398, 0.6536, 0.7046, 0.797, 0.9284, 1.097, 1.3, 1.544, 1.826, 2.148",\
                 "0.8076, 0.8244, 0.8834, 0.991, 1.143, 1.335, 1.558, 1.819, 2.122, 2.467",\
                 "0.9898, 1.009, 1.076, 1.2, 1.376, 1.592, 1.846, 2.133, 2.451, 2.816",\
                 "1.184, 1.207, 1.285, 1.426, 1.627, 1.871, 2.153, 2.471, 2.822, 3.203");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2713, 0.2913, 0.3635, 0.4978, 0.7037, 0.9936, 1.374, 1.853, 2.434, 3.13",\
                 "0.2704, 0.2912, 0.3624, 0.4964, 0.7047, 0.9938, 1.374, 1.852, 2.434, 3.131",\
                 "0.2724, 0.2919, 0.3619, 0.4963, 0.7041, 0.9929, 1.375, 1.852, 2.435, 3.131",\
                 "0.3436, 0.362, 0.4184, 0.5275, 0.7121, 0.9934, 1.374, 1.852, 2.436, 3.13",\
                 "0.4376, 0.4602, 0.5326, 0.6566, 0.8242, 1.056, 1.391, 1.853, 2.435, 3.13",\
                 "0.5488, 0.572, 0.653, 0.796, 0.998, 1.246, 1.542, 1.933, 2.458, 3.133",\
                 "0.6772, 0.7042, 0.7944, 0.9508, 1.171, 1.457, 1.793, 2.172, 2.63, 3.22",\
                 "0.819, 0.8528, 0.9572, 1.13, 1.368, 1.674, 2.048, 2.478, 2.953, 3.488",\
                 "0.9768, 1.014, 1.132, 1.328, 1.591, 1.915, 2.313, 2.785, 3.313, 3.89",\
                 "1.147, 1.189, 1.323, 1.543, 1.834, 2.188, 2.606, 3.101, 3.676, 4.311");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1029, 0.1092, 0.131, 0.1723, 0.236, 0.3251, 0.4422, 0.5893, 0.769, 0.9834",\
                 "0.1163, 0.1227, 0.1449, 0.1863, 0.2503, 0.3395, 0.4566, 0.604, 0.784, 0.9982",\
                 "0.1498, 0.1586, 0.187, 0.2339, 0.299, 0.3887, 0.506, 0.6536, 0.8334, 1.048",\
                 "0.1647, 0.1774, 0.2177, 0.2843, 0.3728, 0.4789, 0.601, 0.7487, 0.9285, 1.143",\
                 "0.155, 0.1718, 0.2243, 0.311, 0.4251, 0.5618, 0.7176, 0.8899, 1.078, 1.293",\
                 "0.1183, 0.1385, 0.2037, 0.3109, 0.4519, 0.6191, 0.8088, 1.019, 1.247, 1.492",\
                 "0.0543, 0.0777, 0.1536, 0.2812, 0.4487, 0.648, 0.8729, 1.12, 1.389, 1.677",\
                 "-0.0407, -0.0137, 0.074, 0.2192, 0.4135, 0.6446, 0.9054, 1.192, 1.5, 1.831",\
                 "-0.169, -0.1387, -0.0403, 0.1248, 0.3437, 0.6066, 0.9037, 1.229, 1.58, 1.954",\
                 "-0.3347, -0.3009, -0.1908, -0.0062, 0.2381, 0.5311, 0.8653, 1.231, 1.624, 2.044");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2209, 0.2324, 0.2727, 0.3489, 0.4664, 0.6307, 0.8467, 1.118, 1.448, 1.843",\
                 "0.2363, 0.248, 0.2887, 0.3653, 0.4834, 0.6479, 0.8635, 1.134, 1.466, 1.861",\
                 "0.3022, 0.3137, 0.3537, 0.4297, 0.5473, 0.7113, 0.9274, 1.199, 1.529, 1.924",\
                 "0.4308, 0.444, 0.4878, 0.5648, 0.6804, 0.8424, 1.057, 1.326, 1.656, 2.05",\
                 "0.5892, 0.605, 0.6582, 0.754, 0.8881, 1.057, 1.268, 1.534, 1.862, 2.253",\
                 "0.7804, 0.7989, 0.8607, 0.9705, 1.128, 1.328, 1.565, 1.837, 2.16, 2.547",\
                 "1.005, 1.026, 1.099, 1.225, 1.402, 1.628, 1.9, 2.212, 2.557, 2.945",\
                 "1.265, 1.29, 1.372, 1.516, 1.716, 1.967, 2.268, 2.618, 3.008, 3.437",\
                 "1.561, 1.588, 1.682, 1.845, 2.069, 2.348, 2.679, 3.06, 3.491, 3.967",\
                 "1.892, 1.924, 2.03, 2.212, 2.463, 2.772, 3.136, 3.549, 4.014, 4.532");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1123, 0.1225, 0.1588, 0.2281, 0.3361, 0.4864, 0.6853, 0.9349, 1.238, 1.603",\
                 "0.1128, 0.1229, 0.1588, 0.2282, 0.3359, 0.4871, 0.6849, 0.9347, 1.24, 1.601",\
                 "0.1619, 0.169, 0.1938, 0.2456, 0.3392, 0.4872, 0.6855, 0.9346, 1.239, 1.603",\
                 "0.2575, 0.2657, 0.2966, 0.3536, 0.4366, 0.5463, 0.7086, 0.9382, 1.238, 1.602",\
                 "0.381, 0.3904, 0.4234, 0.4868, 0.5842, 0.7116, 0.867, 1.051, 1.296, 1.619",\
                 "0.5276, 0.5382, 0.5758, 0.6496, 0.7562, 0.8988, 1.076, 1.282, 1.516, 1.787",\
                 "0.6912, 0.704, 0.7474, 0.8318, 0.9566, 1.115, 1.308, 1.539, 1.801, 2.094",\
                 "0.8694, 0.8828, 0.9348, 1.033, 1.176, 1.359, 1.575, 1.822, 2.109, 2.431",\
                 "1.062, 1.078, 1.139, 1.25, 1.415, 1.621, 1.864, 2.14, 2.447, 2.797",\
                 "1.268, 1.287, 1.357, 1.486, 1.672, 1.905, 2.177, 2.485, 2.826, 3.192");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2959, 0.317, 0.3886, 0.5222, 0.729, 1.018, 1.4, 1.878, 2.46, 3.156",\
                 "0.2963, 0.3174, 0.3881, 0.5225, 0.7308, 1.02, 1.401, 1.878, 2.46, 3.157",\
                 "0.2965, 0.3165, 0.387, 0.5217, 0.7298, 1.019, 1.4, 1.878, 2.461, 3.156",\
                 "0.3635, 0.3801, 0.4367, 0.5478, 0.7349, 1.02, 1.4, 1.877, 2.461, 3.157",\
                 "0.4622, 0.4826, 0.5532, 0.6758, 0.8422, 1.076, 1.415, 1.879, 2.461, 3.157",\
                 "0.5726, 0.5968, 0.6762, 0.8194, 1.016, 1.262, 1.559, 1.953, 2.482, 3.159",\
                 "0.7042, 0.7304, 0.819, 0.9734, 1.192, 1.475, 1.81, 2.186, 2.649, 3.241",\
                 "0.8498, 0.8858, 0.981, 1.152, 1.386, 1.692, 2.07, 2.496, 2.966, 3.504",\
                 "1.01, 1.046, 1.16, 1.351, 1.609, 1.933, 2.332, 2.801, 3.33, 3.903",\
                 "1.187, 1.227, 1.357, 1.569, 1.853, 2.204, 2.621, 3.118, 3.689, 4.324");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1648, 0.1754, 0.2115, 0.2773, 0.3756, 0.5094, 0.6821, 0.8974, 1.158, 1.468",\
                 "0.1778, 0.1885, 0.2248, 0.2908, 0.3892, 0.5232, 0.696, 0.9113, 1.172, 1.482",\
                 "0.2129, 0.2236, 0.2593, 0.3242, 0.4223, 0.5564, 0.7294, 0.9448, 1.206, 1.516",\
                 "0.2454, 0.2581, 0.2998, 0.3726, 0.4762, 0.611, 0.7832, 0.9984, 1.259, 1.57",\
                 "0.2632, 0.2782, 0.328, 0.4127, 0.5305, 0.6814, 0.8653, 1.084, 1.344, 1.653",\
                 "0.2548, 0.2735, 0.333, 0.4342, 0.5722, 0.7423, 0.9459, 1.185, 1.461, 1.774",\
                 "0.2171, 0.2386, 0.3091, 0.4281, 0.5889, 0.7855, 1.015, 1.276, 1.575, 1.913",\
                 "0.1485, 0.173, 0.2533, 0.3903, 0.5757, 0.8013, 1.061, 1.354, 1.679, 2.043",\
                 "0.0472, 0.0749, 0.1653, 0.3193, 0.5293, 0.7842, 1.078, 1.405, 1.765, 2.159",\
                 "-0.0893, -0.0582, 0.0414, 0.2128, 0.4451, 0.7313, 1.059, 1.424, 1.822, 2.254");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2209, 0.2324, 0.2727, 0.3489, 0.4664, 0.6307, 0.8467, 1.118, 1.448, 1.843",\
                 "0.2363, 0.248, 0.2887, 0.3653, 0.4834, 0.6479, 0.8635, 1.134, 1.466, 1.861",\
                 "0.3022, 0.3137, 0.3537, 0.4297, 0.5473, 0.7113, 0.9274, 1.199, 1.529, 1.924",\
                 "0.4308, 0.444, 0.4878, 0.5648, 0.6804, 0.8424, 1.057, 1.326, 1.656, 2.05",\
                 "0.5892, 0.605, 0.6582, 0.754, 0.8881, 1.057, 1.268, 1.534, 1.862, 2.253",\
                 "0.7804, 0.7989, 0.8607, 0.9705, 1.128, 1.328, 1.565, 1.837, 2.16, 2.547",\
                 "1.005, 1.026, 1.099, 1.225, 1.402, 1.628, 1.9, 2.212, 2.557, 2.945",\
                 "1.265, 1.29, 1.372, 1.516, 1.716, 1.967, 2.268, 2.618, 3.008, 3.437",\
                 "1.561, 1.588, 1.682, 1.845, 2.069, 2.348, 2.679, 3.06, 3.491, 3.967",\
                 "1.892, 1.924, 2.03, 2.212, 2.463, 2.772, 3.136, 3.549, 4.014, 4.532");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.1842, 0.201, 0.2594, 0.3664, 0.5278, 0.7487, 1.038, 1.4, 1.842, 2.37",\
                 "0.1838, 0.2007, 0.2588, 0.367, 0.5275, 0.7488, 1.037, 1.4, 1.843, 2.37",\
                 "0.1936, 0.2085, 0.2615, 0.3644, 0.5257, 0.7485, 1.038, 1.401, 1.843, 2.37",\
                 "0.254, 0.2685, 0.3194, 0.4122, 0.5528, 0.7564, 1.037, 1.399, 1.843, 2.369",\
                 "0.3467, 0.3618, 0.4114, 0.5034, 0.6474, 0.843, 1.096, 1.427, 1.849, 2.37",\
                 "0.4664, 0.4834, 0.5398, 0.6372, 0.779, 0.9742, 1.232, 1.551, 1.938, 2.419",\
                 "0.6076, 0.6272, 0.6906, 0.8004, 0.9556, 1.152, 1.407, 1.727, 2.118, 2.578",\
                 "0.7646, 0.786, 0.8604, 0.9864, 1.158, 1.373, 1.637, 1.954, 2.341, 2.805",\
                 "0.9392, 0.962, 1.045, 1.19, 1.385, 1.622, 1.905, 2.231, 2.619, 3.08",\
                 "1.126, 1.153, 1.248, 1.409, 1.632, 1.898, 2.201, 2.554, 2.954, 3.411");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003964, 0.01437, 0.03424, 0.06519, 0.1086, 0.1658, 0.2378, 0.3257, 0.4304");
          values("0.2977, 0.3191, 0.3941, 0.5354, 0.7534, 1.057, 1.453, 1.946, 2.541, 3.244",\
                 "0.2977, 0.319, 0.3939, 0.5356, 0.7536, 1.057, 1.453, 1.946, 2.54, 3.244",\
                 "0.3011, 0.321, 0.394, 0.5355, 0.7535, 1.057, 1.453, 1.946, 2.542, 3.245",\
                 "0.3868, 0.4042, 0.4611, 0.5737, 0.7643, 1.058, 1.453, 1.946, 2.541, 3.245",\
                 "0.504, 0.5254, 0.5946, 0.7192, 0.8886, 1.128, 1.474, 1.948, 2.541, 3.245",\
                 "0.6424, 0.6658, 0.7432, 0.882, 1.082, 1.332, 1.635, 2.035, 2.568, 3.249",\
                 "0.8076, 0.8344, 0.919, 1.067, 1.285, 1.569, 1.905, 2.284, 2.747, 3.342",\
                 "0.9976, 1.025, 1.12, 1.283, 1.515, 1.817, 2.187, 2.614, 3.082, 3.618",\
                 "1.212, 1.242, 1.347, 1.529, 1.778, 2.091, 2.484, 2.947, 3.471, 4.035",\
                 "1.449, 1.483, 1.597, 1.794, 2.066, 2.403, 2.807, 3.291, 3.853, 4.476");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai32_1) {
    area : 26.342400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&!B2" ;
      value : "4.37943e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&B2" ;
      value : "8.42952e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&!B2" ;
      value : "8.42952e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&B2" ;
      value : "8.46153e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&!B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&B2" ;
      value : "8.77866e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&!B2" ;
      value : "7.34184e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&B2" ;
      value : "7.34184e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&!B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&B2" ;
      value : "7.35801e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&!B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&!B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&B2" ;
      value : "7.35801e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&!B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&!B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&!B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&!B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&!B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&!B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&!B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&!B2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&B2" ;
      value : "5.92152e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&!B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&B2" ;
      value : "4.4847e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.77866e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004762 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01653, 0.01649, 0.01647, 0.01643, 0.01638, 0.01638, 0.01636, \
                 0.01634, 0.01633, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01648, -0.01648, -0.01647, -0.01643, -0.01639, -0.01635, -0.01634, \
                 -0.01632, -0.0163, -0.01631");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01644, 0.01646, 0.01648, 0.01646, 0.01643, 0.01642, 0.0164, \
                 0.01636, 0.01634, 0.01634");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01405, -0.01439, -0.01493, -0.01525, -0.01546, -0.01561, -0.01571, \
                 -0.01578, -0.01585, -0.01588");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02339, 0.02338, 0.02333, 0.0233, 0.02328, 0.02329, 0.02326, \
                 0.02323, 0.02317, 0.02312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005269, -0.005272, -0.005272, -0.005274, -0.005273, -0.005287, \
                 -0.005284, -0.005285, -0.005287, -0.005284");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02339, 0.02338, 0.02334, 0.0233, 0.02328, 0.02329, 0.02326, \
                 0.02323, 0.02319, 0.02313");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005276, -0.005266, -0.00528, -0.005275, -0.00527, -0.005292, \
                 -0.005285, -0.005284, -0.005286, -0.005285");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0234, 0.02338, 0.02335, 0.02331, 0.02329, 0.02329, 0.02326, \
                 0.02323, 0.02318, 0.02313");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005269, -0.005259, -0.00527, -0.005276, -0.005274, -0.005289, \
                 -0.005288, -0.005284, -0.005289, -0.005282");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01647, 0.01649, 0.0165, 0.01648, 0.01644, 0.0164, 0.01638, 0.01635, \
                 0.01634, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01569, -0.01581, -0.01589, -0.01601, -0.01605, -0.01608, -0.01608, \
                 -0.01609, -0.01609, -0.01611");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01165, 0.01163, 0.01163, 0.01161, 0.01163, 0.01162, \
                 0.0116, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005286, -0.005295, -0.005289, -0.00529, -0.005293, -0.005302, \
                 -0.005307, -0.005303, -0.005304, -0.005304");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01167, 0.01165, 0.01163, 0.01162, 0.01161, 0.01163, 0.01162, \
                 0.0116, 0.01159, 0.01157");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005284, -0.005286, -0.005292, -0.005292, -0.005293, -0.005309, \
                 -0.005306, -0.005305, -0.005309, -0.005304");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01165, 0.01163, 0.01162, 0.01161, 0.01163, 0.01162, \
                 0.01161, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005286, -0.005289, -0.005287, -0.005294, -0.00529, -0.005307, \
                 -0.005304, -0.005305, -0.005308, -0.005305");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01648, 0.01648, 0.01651, 0.01647, 0.01643, 0.0164, 0.01636, \
                 0.01636, 0.01633, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01533, -0.01566, -0.01589, -0.01601, -0.01606, -0.01608, -0.01609, \
                 -0.01609, -0.01609, -0.01611");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01165, 0.01163, 0.01162, 0.01161, 0.01163, 0.01162, \
                 0.0116, 0.01159, 0.01157");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005288, -0.005287, -0.005282, -0.00529, -0.005294, -0.005308, \
                 -0.005308, -0.005304, -0.005309, -0.005303");
        }
      }

      internal_power() {
        when : "A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01165, 0.01163, 0.01162, 0.01162, 0.01162, 0.01162, \
                 0.0116, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005285, -0.005282, -0.005285, -0.005302, -0.005292, -0.005304, \
                 -0.005306, -0.005304, -0.005306, -0.005305");
        }
      }

      internal_power() {
        when : "A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01165, 0.01163, 0.01161, 0.01162, 0.01163, 0.01162, \
                 0.01161, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005286, -0.005275, -0.005281, -0.005287, -0.005298, -0.005307, \
                 -0.005306, -0.005306, -0.005303, -0.005303");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004461 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0165, 0.01643, 0.01641, 0.0164, 0.01636, 0.01634, 0.01636, 0.01633, \
                 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0164, -0.01642, -0.01645, -0.01639, -0.01635, -0.01634, -0.01632, \
                 -0.01632, -0.0163, -0.0163");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0164, 0.0164, 0.01643, 0.01645, 0.01642, 0.0164, 0.01637, 0.01635, \
                 0.01633, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01556, -0.01562, -0.01577, -0.01594, -0.01601, -0.01607, -0.01609, \
                 -0.01611, -0.0161, -0.01611");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01215, 0.01212, 0.01214, 0.01215, 0.01214, 0.01214, 0.01213, \
                 0.01209, 0.01206, 0.012");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005937, -0.005926, -0.005937, -0.005942, -0.005949, -0.005979, \
                 -0.005979, -0.005994, -0.006004, -0.006023");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01215, 0.01213, 0.01214, 0.01215, 0.01214, 0.01213, 0.01212, \
                 0.01209, 0.01205, 0.012");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005942, -0.005925, -0.005937, -0.005942, -0.005949, -0.005977, \
                 -0.005984, -0.005991, -0.006008, -0.006022");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01215, 0.01213, 0.01215, 0.01215, 0.01213, 0.01214, 0.01212, \
                 0.01209, 0.01206, 0.012");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005936, -0.005922, -0.005936, -0.005946, -0.005953, -0.005977, \
                 -0.005981, -0.005992, -0.006009, -0.006023");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01633, 0.01632, 0.01628, 0.0163, 0.01629, 0.01632, 0.01633, \
                 0.01631, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01557, -0.01552, -0.01559, -0.01579, -0.01587, -0.01598, -0.016, \
                 -0.01603, -0.01605, -0.01607");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01634, 0.01632, 0.01629, 0.0163, 0.01629, 0.01632, 0.01632, \
                 0.0163, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01322, -0.01411, -0.01547, -0.01579, -0.01587, -0.01598, -0.016, \
                 -0.01603, -0.01605, -0.01607");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01634, 0.01632, 0.01629, 0.01631, 0.01629, 0.01632, 0.01632, \
                 0.0163, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01322, -0.01411, -0.01547, -0.01578, -0.01588, -0.01597, -0.016, \
                 -0.01603, -0.01606, -0.01607");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01634, 0.01632, 0.0163, 0.01629, 0.01629, 0.01631, 0.01632, \
                 0.01631, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01321, -0.01411, -0.01547, -0.01579, -0.01586, -0.01596, -0.016, \
                 -0.01603, -0.01605, -0.01606");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01027, 0.01026, 0.01026, 0.01027, 0.01028, 0.0103, 0.0103, 0.0103, \
                 0.0103, 0.01029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01455, -0.01452, -0.01453, -0.01455, -0.01456, -0.01458, -0.01456, \
                 -0.01454, -0.01452, -0.01448");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01027, 0.01024, 0.01028, 0.01028, 0.01028, 0.01029, 0.0103, \
                 0.0103, 0.0103, 0.01029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01057, -0.01056, -0.0105, -0.01044, -0.01035, -0.01032, -0.01026, \
                 -0.0102, -0.01016, -0.01013");
        }
      }

      internal_power() {
        when : "A1&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01026, 0.01024, 0.01028, 0.01026, 0.01027, 0.0103, 0.0103, 0.0103, \
                 0.01029, 0.0103");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01057, -0.01056, -0.01051, -0.01042, -0.01034, -0.01031, -0.01026, \
                 -0.01019, -0.01016, -0.01014");
        }
      }

      internal_power() {
        when : "A1&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01026, 0.01025, 0.01026, 0.01026, 0.01028, 0.0103, 0.0103, 0.0103, \
                 0.01029, 0.01029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01057, -0.01056, -0.0105, -0.01042, -0.01035, -0.01031, -0.01025, \
                 -0.0102, -0.01015, -0.01013");
        }
      }
    }

    pin(A3) {
      capacitance : 0.004391 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01645, 0.01636, 0.0164, 0.01634, 0.01634, 0.01635, 0.01634, \
                 0.01631, 0.01631, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01631, -0.01633, -0.01633, -0.01635, -0.01632, -0.01631, -0.01631, \
                 -0.0163, -0.0163, -0.01631");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01629, 0.01627, 0.01628, 0.01634, 0.01631, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01544, -0.01542, -0.01566, -0.01583, -0.01592, -0.016, -0.01602, \
                 -0.01606, -0.01607, -0.01609");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01628, 0.01627, 0.01627, 0.01629, 0.01632, 0.01632, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01439, -0.01523, -0.01566, -0.01583, -0.01592, -0.016, -0.01602, \
                 -0.01606, -0.01607, -0.01609");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01627, 0.01629, 0.01631, 0.01631, 0.0163, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01439, -0.01523, -0.01566, -0.01583, -0.01591, -0.016, -0.01602, \
                 -0.01606, -0.01608, -0.0161");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01628, 0.01628, 0.01628, 0.01629, 0.01631, 0.01631, 0.01633, \
                 0.01632, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01439, -0.01523, -0.01564, -0.01585, -0.01592, -0.01598, -0.01603, \
                 -0.01605, -0.01607, -0.01609");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01629, 0.01631, 0.01628, 0.01629, 0.01632, 0.01633, \
                 0.01632, 0.0163, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01375, -0.01416, -0.01485, -0.01529, -0.01551, -0.01567, -0.01575, \
                 -0.0158, -0.01584, -0.01587");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01629, 0.01628, 0.01629, 0.01633, 0.01631, 0.01633, \
                 0.01632, 0.01631, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01374, -0.01417, -0.01483, -0.01529, -0.01549, -0.01566, -0.01574, \
                 -0.01581, -0.01585, -0.01588");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01629, 0.01628, 0.01629, 0.0163, 0.01632, 0.01633, 0.01632, \
                 0.01633, 0.01633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01374, -0.01418, -0.01482, -0.01529, -0.0155, -0.01566, -0.01574, \
                 -0.01581, -0.01585, -0.01588");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01629, 0.01628, 0.0163, 0.0163, 0.01633, 0.01633, 0.01634, \
                 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01376, -0.01418, -0.01483, -0.01528, -0.0155, -0.01567, -0.01574, \
                 -0.01581, -0.01585, -0.01588");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01627, 0.01627, 0.01627, 0.01629, 0.01631, 0.01632, \
                 0.0163, 0.01629, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01512, -0.01532, -0.01566, -0.01583, -0.01592, -0.016, -0.01603, \
                 -0.01606, -0.01607, -0.01609");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01627, 0.01629, 0.0163, 0.01634, 0.01631, \
                 0.01632, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01513, -0.01532, -0.01566, -0.01583, -0.01592, -0.01599, -0.01602, \
                 -0.01605, -0.01608, -0.01609");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01627, 0.01629, 0.01628, 0.01634, 0.01631, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01513, -0.01532, -0.01567, -0.01582, -0.01592, -0.016, -0.01602, \
                 -0.01605, -0.01608, -0.01609");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01626, 0.01629, 0.01629, 0.01632, 0.01633, \
                 0.01632, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01514, -0.01531, -0.01567, -0.01584, -0.01591, -0.016, -0.01603, \
                 -0.01605, -0.01608, -0.01608");
        }
      }
    }

    pin(B1) {
      capacitance : 0.004844 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01855, 0.01852, 0.0185, 0.01847, 0.01841, 0.01839, 0.01839, \
                 0.01836, 0.01834, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02318, 0.02321, 0.02319, 0.02316, 0.0231, 0.02303, 0.02294, \
                 0.02283, 0.02272, 0.02255");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01853, 0.01853, 0.01857, 0.01853, 0.01849, 0.01846, 0.01842, \
                 0.01841, 0.01837, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01773, -0.01781, -0.01795, -0.01807, -0.01812, -0.01814, -0.01814, \
                 -0.01814, -0.01814, -0.01815");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01164, 0.01163, 0.0116, 0.01163, 0.01162, 0.01162, \
                 0.0116, 0.01158, 0.01157");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005288, -0.005285, -0.005285, -0.005296, -0.005302, -0.005311, \
                 -0.005312, -0.005313, -0.005313, -0.005311");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01164, 0.01163, 0.01161, 0.01161, 0.01162, 0.01162, \
                 0.0116, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005287, -0.005285, -0.005291, -0.005294, -0.005295, -0.005315, \
                 -0.005312, -0.005314, -0.00531, -0.005308");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01164, 0.01163, 0.01162, 0.01162, 0.01163, 0.01162, \
                 0.01161, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005287, -0.005285, -0.005295, -0.005294, -0.005294, -0.005309, \
                 -0.005317, -0.005313, -0.005315, -0.00531");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01164, 0.01163, 0.0116, 0.01162, 0.01162, 0.01162, \
                 0.0116, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00529, -0.005285, -0.005293, -0.005305, -0.0053, -0.00531, \
                 -0.005311, -0.005314, -0.005312, -0.005309");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01164, 0.01164, 0.01162, 0.01162, 0.01163, 0.01162, \
                 0.01161, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00529, -0.005284, -0.005288, -0.005297, -0.005297, -0.005308, \
                 -0.005312, -0.005311, -0.005314, -0.005312");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01164, 0.01164, 0.01163, 0.01162, 0.01163, 0.01162, \
                 0.01161, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00529, -0.005285, -0.005291, -0.005304, -0.005294, -0.005308, \
                 -0.005313, -0.005314, -0.005313, -0.005312");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01166, 0.01163, 0.01163, 0.01162, 0.01161, 0.01163, 0.01162, \
                 0.0116, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005289, -0.005283, -0.005286, -0.005296, -0.005302, -0.005312, \
                 -0.005309, -0.005311, -0.005315, -0.00531");
        }
      }
    }

    pin(B2) {
      capacitance : 0.00465 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01843, 0.01844, 0.01842, 0.01842, 0.01838, 0.01841, 0.01838, \
                 0.01837, 0.01835, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02337, 0.02332, 0.02326, 0.02322, 0.02317, 0.02304, 0.02296, \
                 0.02284, 0.02273, 0.02256");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01842, 0.01841, 0.01838, 0.01838, 0.0184, 0.01836, 0.01834, \
                 0.01833, 0.01832, 0.01831");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01755, -0.01756, -0.0178, -0.01792, -0.01798, -0.01806, -0.01808, \
                 -0.0181, -0.0181, -0.01812");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01627, 0.01625, 0.01629, 0.01629, 0.01633, 0.01632, \
                 0.01632, 0.01632, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01349, -0.01463, -0.01562, -0.01581, -0.0159, -0.01599, -0.01602, \
                 -0.01606, -0.01606, -0.01607");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01627, 0.01625, 0.0163, 0.01629, 0.01635, 0.01633, 0.01631, \
                 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01465, -0.01562, -0.01581, -0.01589, -0.01599, -0.01603, \
                 -0.01606, -0.01606, -0.01608");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01628, 0.01629, 0.01629, 0.01634, 0.01632, \
                 0.0163, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01464, -0.01563, -0.01582, -0.01591, -0.01598, -0.01603, \
                 -0.01604, -0.01605, -0.01607");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01627, 0.01625, 0.0163, 0.01629, 0.01632, 0.0163, 0.01632, \
                 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01464, -0.01562, -0.01581, -0.01591, -0.01599, -0.01602, \
                 -0.01605, -0.01607, -0.01607");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01628, 0.0163, 0.0163, 0.01632, 0.01632, 0.0163, \
                 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01463, -0.01563, -0.01582, -0.01591, -0.01598, -0.01603, \
                 -0.01604, -0.01605, -0.01606");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01628, 0.01627, 0.01632, 0.0163, 0.01634, 0.01631, \
                 0.01631, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01349, -0.01463, -0.01563, -0.01582, -0.01591, -0.01599, -0.01603, \
                 -0.01604, -0.01607, -0.01608");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01628, 0.01628, 0.01629, 0.01628, 0.01632, 0.01632, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01349, -0.01464, -0.01562, -0.01582, -0.0159, -0.016, -0.01602, \
                 -0.01605, -0.01606, -0.01607");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2)&(!A3))|((!B1)&(!B2)))" ;
      max_capacitance : 0.1145 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.01631, 0.01633, 0.0164, 0.01649, 0.01659, 0.01665, 0.01667, 0.01669, 0.0167, 0.01671",\
                 "0.01641, 0.01648, 0.01673, 0.01703, 0.01727, 0.01741, 0.0175, 0.01756, 0.01762, 0.01765",\
                 "0.01608, 0.01621, 0.01658, 0.01705, 0.0175, 0.01784, 0.01809, 0.01825, 0.01836, 0.01844",\
                 "0.01746, 0.0175, 0.01767, 0.01796, 0.01826, 0.01849, 0.01865, 0.01876, 0.01885, 0.01891",\
                 "0.02288, 0.02279, 0.02248, 0.02213, 0.02176, 0.02149, 0.0212, 0.02097, 0.02071, 0.02049",\
                 "0.03353, 0.03322, 0.0323, 0.03104, 0.02966, 0.02838, 0.02721, 0.02618, 0.02528, 0.0245",\
                 "0.0501, 0.04961, 0.04807, 0.04565, 0.04295, 0.04026, 0.03783, 0.03564, 0.03368, 0.03195",\
                 "0.07318, 0.07242, 0.0702, 0.06668, 0.06245, 0.05812, 0.05395, 0.05026, 0.04687, 0.04385",\
                 "0.103, 0.1021, 0.09915, 0.09443, 0.08866, 0.08251, 0.07645, 0.07076, 0.06565, 0.06104",\
                 "0.14, 0.1389, 0.1352, 0.1293, 0.122, 0.1139, 0.1058, 0.09802, 0.09076, 0.08424");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1154, 0.1154, 0.1155, 0.1156, 0.1157, 0.1159, 0.1161, 0.1165, 0.1168, 0.118",\
                 "0.1141, 0.1142, 0.1143, 0.1146, 0.1148, 0.115, 0.1153, 0.1157, 0.116, 0.1173",\
                 "0.1138, 0.1137, 0.1138, 0.1139, 0.1141, 0.1144, 0.1147, 0.1151, 0.1155, 0.1168",\
                 "0.1181, 0.1179, 0.1174, 0.1167, 0.1162, 0.1159, 0.1157, 0.116, 0.116, 0.1173",\
                 "0.1281, 0.1277, 0.1266, 0.125, 0.1232, 0.1216, 0.1203, 0.1196, 0.1191, 0.1199",\
                 "0.1438, 0.1433, 0.1417, 0.1391, 0.136, 0.1328, 0.13, 0.1277, 0.126, 0.126",\
                 "0.1658, 0.1651, 0.1629, 0.1595, 0.1552, 0.1504, 0.1459, 0.1417, 0.1383, 0.1372",\
                 "0.1944, 0.1937, 0.191, 0.1867, 0.1812, 0.1749, 0.1686, 0.1625, 0.1572, 0.1554",\
                 "0.2305, 0.2295, 0.2264, 0.2211, 0.2143, 0.2068, 0.1988, 0.1906, 0.1834, 0.182",\
                 "0.2741, 0.273, 0.2693, 0.2634, 0.2554, 0.2461, 0.2365, 0.2266, 0.2182, 0.2196");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.005679, 0.005772, 0.005887, 0.006023, 0.006111, 0.006153, 0.006185, 0.006205, 0.006207, 0.006219",\
                 "0.005357, 0.005558, 0.006044, 0.006466, 0.006738, 0.006901, 0.007003, 0.007074, 0.007123, 0.007162",\
                 "0.004662, 0.004909, 0.00554, 0.006274, 0.006866, 0.00728, 0.007549, 0.00774, 0.007859, 0.007944",\
                 "0.0065, 0.006576, 0.006835, 0.007237, 0.007633, 0.007924, 0.008132, 0.008261, 0.008357, 0.00842",\
                 "0.01268, 0.01253, 0.0122, 0.01175, 0.01137, 0.01105, 0.01078, 0.0105, 0.01026, 0.01003",\
                 "0.02432, 0.02392, 0.02279, 0.02121, 0.01965, 0.01823, 0.01699, 0.01586, 0.01491, 0.01411",\
                 "0.04194, 0.04131, 0.03939, 0.03658, 0.03345, 0.03048, 0.02786, 0.02552, 0.02348, 0.02169",\
                 "0.06606, 0.06516, 0.06244, 0.05833, 0.05356, 0.0488, 0.04433, 0.0404, 0.03687, 0.03375",\
                 "0.09694, 0.09583, 0.09229, 0.08687, 0.08041, 0.07372, 0.06721, 0.06124, 0.05589, 0.05113",\
                 "0.1349, 0.1336, 0.1293, 0.1226, 0.1144, 0.1057, 0.09701, 0.08884, 0.08131, 0.07451");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.104, 0.104, 0.1041, 0.1042, 0.1043, 0.1045, 0.1047, 0.105, 0.1054, 0.1064",\
                 "0.1027, 0.1028, 0.1029, 0.1031, 0.1034, 0.1036, 0.1038, 0.1042, 0.1046, 0.1056",\
                 "0.1023, 0.1023, 0.1024, 0.1025, 0.1027, 0.103, 0.1033, 0.1036, 0.1042, 0.1052",\
                 "0.1067, 0.1066, 0.106, 0.1054, 0.1048, 0.1045, 0.1043, 0.1045, 0.1046, 0.1056",\
                 "0.1167, 0.1164, 0.1152, 0.1135, 0.1117, 0.1102, 0.109, 0.1081, 0.1076, 0.1081",\
                 "0.1325, 0.1319, 0.1302, 0.1277, 0.1246, 0.1214, 0.1186, 0.1162, 0.1145, 0.1143",\
                 "0.1545, 0.1537, 0.1516, 0.1482, 0.1438, 0.1391, 0.1345, 0.1302, 0.1268, 0.1254",\
                 "0.1832, 0.1824, 0.1798, 0.1754, 0.1697, 0.1636, 0.1573, 0.1512, 0.1456, 0.1435",\
                 "0.2193, 0.2183, 0.2152, 0.2099, 0.203, 0.1954, 0.1873, 0.1792, 0.172, 0.1698",\
                 "0.2629, 0.2618, 0.2581, 0.252, 0.244, 0.2348, 0.225, 0.2151, 0.2065, 0.2069");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.005661, 0.005717, 0.00588, 0.006039, 0.006098, 0.006151, 0.006182, 0.0062, 0.006203, 0.006211",\
                 "0.005419, 0.005619, 0.006043, 0.00646, 0.006751, 0.006909, 0.007003, 0.007072, 0.007119, 0.007154",\
                 "0.004829, 0.005058, 0.00567, 0.006381, 0.006928, 0.007314, 0.007585, 0.007747, 0.007877, 0.007949",\
                 "0.006985, 0.007053, 0.007275, 0.007644, 0.007948, 0.008188, 0.008337, 0.00843, 0.008488, 0.008522",\
                 "0.01344, 0.01333, 0.01293, 0.01246, 0.01202, 0.01162, 0.01125, 0.01093, 0.01062, 0.01034",\
                 "0.02535, 0.02497, 0.02383, 0.02223, 0.02058, 0.01908, 0.01775, 0.01654, 0.01553, 0.01464",\
                 "0.04326, 0.04261, 0.04073, 0.03788, 0.03471, 0.03166, 0.02894, 0.0265, 0.02434, 0.02246",\
                 "0.06764, 0.06671, 0.06399, 0.05992, 0.0551, 0.05024, 0.04571, 0.04163, 0.03802, 0.03481",\
                 "0.09878, 0.09763, 0.09409, 0.08868, 0.08222, 0.07544, 0.06889, 0.06279, 0.05734, 0.05246",\
                 "0.1369, 0.1356, 0.1313, 0.1246, 0.1164, 0.1077, 0.099, 0.09073, 0.08312, 0.07618");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.113, 0.113, 0.113, 0.1132, 0.1133, 0.1134, 0.1137, 0.114, 0.1144, 0.1153",\
                 "0.1118, 0.1118, 0.112, 0.1122, 0.1125, 0.1128, 0.1131, 0.1134, 0.1138, 0.1149",\
                 "0.1114, 0.1114, 0.1114, 0.1116, 0.1119, 0.1123, 0.1126, 0.113, 0.1135, 0.1146",\
                 "0.1157, 0.1155, 0.1151, 0.1146, 0.1141, 0.1139, 0.1138, 0.1138, 0.114, 0.1151",\
                 "0.1255, 0.1252, 0.1243, 0.1228, 0.1212, 0.1197, 0.1185, 0.1177, 0.1171, 0.1179",\
                 "0.141, 0.1407, 0.1393, 0.137, 0.1342, 0.1313, 0.1285, 0.1263, 0.1246, 0.1244",\
                 "0.1629, 0.1624, 0.1605, 0.1575, 0.1536, 0.1493, 0.1449, 0.1409, 0.1373, 0.1363",\
                 "0.1916, 0.1909, 0.1885, 0.1846, 0.1795, 0.174, 0.1682, 0.1623, 0.1569, 0.155",\
                 "0.2274, 0.2266, 0.2239, 0.2191, 0.213, 0.2058, 0.1985, 0.191, 0.184, 0.1822",\
                 "0.2711, 0.2702, 0.2668, 0.2612, 0.2539, 0.2455, 0.2366, 0.2274, 0.2193, 0.2205");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.02642, 0.02644, 0.02645, 0.02645, 0.02646, 0.02651, 0.02651, 0.02654, 0.02652, 0.02652",\
                 "0.02615, 0.02619, 0.02621, 0.02627, 0.02633, 0.02638, 0.02643, 0.02644, 0.02647, 0.02646",\
                 "0.02551, 0.02556, 0.02568, 0.02584, 0.02603, 0.02613, 0.02625, 0.02631, 0.02637, 0.0264",\
                 "0.02637, 0.02636, 0.02638, 0.0264, 0.02647, 0.02649, 0.02651, 0.02651, 0.02652, 0.02653",\
                 "0.03174, 0.03155, 0.03115, 0.03066, 0.03007, 0.02953, 0.02903, 0.02862, 0.02828, 0.02799",\
                 "0.04318, 0.04286, 0.04181, 0.04033, 0.03868, 0.037, 0.03551, 0.03422, 0.0331, 0.03215",\
                 "0.06149, 0.06092, 0.05923, 0.05656, 0.05346, 0.05031, 0.04729, 0.04462, 0.04223, 0.04018",\
                 "0.08719, 0.08645, 0.08397, 0.08004, 0.07529, 0.07031, 0.06545, 0.06096, 0.05689, 0.05332",\
                 "0.1207, 0.1198, 0.1165, 0.1113, 0.1048, 0.09775, 0.09076, 0.08414, 0.07805, 0.07247",\
                 "0.1623, 0.1611, 0.1572, 0.1506, 0.1423, 0.1332, 0.1239, 0.1149, 0.1064, 0.09864");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1269, 0.1269, 0.127, 0.127, 0.1272, 0.1273, 0.1276, 0.1279, 0.1283, 0.1295",\
                 "0.1258, 0.1258, 0.1259, 0.1261, 0.1263, 0.1266, 0.1267, 0.1271, 0.1275, 0.1287",\
                 "0.1243, 0.1244, 0.1246, 0.1249, 0.1252, 0.1256, 0.126, 0.1264, 0.1269, 0.1282",\
                 "0.1263, 0.1262, 0.126, 0.1259, 0.1258, 0.126, 0.1261, 0.1264, 0.1269, 0.1283",\
                 "0.1353, 0.135, 0.1341, 0.1328, 0.1315, 0.1305, 0.1297, 0.1292, 0.1291, 0.1302",\
                 "0.1522, 0.1517, 0.15, 0.1475, 0.1444, 0.1414, 0.1391, 0.1371, 0.1357, 0.136",\
                 "0.1766, 0.1759, 0.1735, 0.1698, 0.1653, 0.1604, 0.1557, 0.1518, 0.1484, 0.1476",\
                 "0.209, 0.208, 0.2051, 0.2002, 0.1941, 0.1874, 0.1806, 0.1742, 0.1686, 0.1667",\
                 "0.2495, 0.2485, 0.245, 0.2391, 0.2314, 0.2228, 0.2141, 0.2052, 0.1974, 0.1949",\
                 "0.2988, 0.2976, 0.2936, 0.2868, 0.2776, 0.2672, 0.2562, 0.2454, 0.2358, 0.2347");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.01592, 0.01594, 0.01594, 0.01596, 0.01599, 0.016, 0.01601, 0.01603, 0.01604, 0.01603",\
                 "0.01559, 0.01564, 0.01569, 0.01578, 0.01586, 0.01591, 0.01594, 0.01597, 0.01598, 0.01597",\
                 "0.01472, 0.0148, 0.01501, 0.01527, 0.01547, 0.01564, 0.01575, 0.01582, 0.01586, 0.0159",\
                 "0.01572, 0.01572, 0.01576, 0.01585, 0.01592, 0.016, 0.01601, 0.01604, 0.01605, 0.01604",\
                 "0.02179, 0.02161, 0.02108, 0.02044, 0.01976, 0.01915, 0.01862, 0.0182, 0.01783, 0.01754",\
                 "0.03418, 0.03374, 0.03252, 0.03071, 0.02879, 0.02697, 0.02532, 0.02394, 0.02277, 0.02179",\
                 "0.05366, 0.05294, 0.05084, 0.04771, 0.04417, 0.04068, 0.03743, 0.03455, 0.03209, 0.02995",\
                 "0.08052, 0.07957, 0.07659, 0.07202, 0.06666, 0.06119, 0.056, 0.05123, 0.04697, 0.04326",\
                 "0.1152, 0.114, 0.1102, 0.1041, 0.09689, 0.0892, 0.08176, 0.0748, 0.0684, 0.06266",\
                 "0.1578, 0.1564, 0.1518, 0.1443, 0.1351, 0.1253, 0.1154, 0.1059, 0.09715, 0.08909");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1155, 0.1155, 0.1155, 0.1156, 0.1158, 0.1159, 0.1162, 0.1164, 0.1168, 0.1178",\
                 "0.1144, 0.1144, 0.1145, 0.1146, 0.1148, 0.1151, 0.1153, 0.1156, 0.116, 0.117",\
                 "0.1129, 0.1129, 0.1131, 0.1134, 0.1138, 0.1142, 0.1145, 0.115, 0.1154, 0.1165",\
                 "0.1149, 0.1148, 0.1146, 0.1144, 0.1144, 0.1145, 0.1147, 0.115, 0.1154, 0.1166",\
                 "0.1239, 0.1236, 0.1227, 0.1214, 0.1201, 0.1191, 0.1183, 0.1178, 0.1177, 0.1185",\
                 "0.1408, 0.1402, 0.1386, 0.136, 0.133, 0.1301, 0.1276, 0.1257, 0.1242, 0.1243",\
                 "0.1653, 0.1645, 0.1622, 0.1584, 0.1539, 0.149, 0.1444, 0.1403, 0.137, 0.1358",\
                 "0.1977, 0.1968, 0.1938, 0.1889, 0.1826, 0.1761, 0.1694, 0.1627, 0.1572, 0.1547",\
                 "0.2383, 0.2373, 0.2338, 0.2278, 0.2201, 0.2114, 0.2027, 0.1939, 0.1859, 0.1827",\
                 "0.2876, 0.2864, 0.2824, 0.2755, 0.2664, 0.2558, 0.2447, 0.2338, 0.2241, 0.2221");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.01596, 0.0159, 0.01591, 0.01598, 0.01598, 0.016, 0.01601, 0.01601, 0.01603, 0.01604",\
                 "0.01563, 0.01562, 0.01566, 0.01577, 0.01584, 0.01588, 0.01592, 0.01595, 0.01596, 0.01597",\
                 "0.01477, 0.01487, 0.01508, 0.01531, 0.01551, 0.01566, 0.01576, 0.01582, 0.01587, 0.0159",\
                 "0.0161, 0.01611, 0.01612, 0.01614, 0.01617, 0.0162, 0.01618, 0.01617, 0.01615, 0.01613",\
                 "0.02256, 0.02238, 0.02183, 0.02114, 0.02037, 0.01966, 0.0191, 0.0186, 0.01816, 0.0178",\
                 "0.0354, 0.03497, 0.03368, 0.03185, 0.0298, 0.02787, 0.02615, 0.02464, 0.02335, 0.0223",\
                 "0.05524, 0.05451, 0.05238, 0.04919, 0.04556, 0.04192, 0.0386, 0.03558, 0.03302, 0.03078",\
                 "0.08245, 0.08144, 0.07847, 0.07386, 0.0684, 0.06285, 0.05751, 0.05263, 0.04826, 0.04441",\
                 "0.1175, 0.1162, 0.1123, 0.1063, 0.09895, 0.09121, 0.08365, 0.07656, 0.07006, 0.06424",\
                 "0.1604, 0.159, 0.1543, 0.1468, 0.1375, 0.1276, 0.1176, 0.1081, 0.09917, 0.09099");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1245, 0.1245, 0.1245, 0.1246, 0.1247, 0.1249, 0.1251, 0.1254, 0.1258, 0.1268",\
                 "0.1234, 0.1235, 0.1236, 0.1238, 0.124, 0.1243, 0.1247, 0.1249, 0.1253, 0.1264",\
                 "0.1219, 0.1219, 0.1222, 0.1225, 0.123, 0.1234, 0.1238, 0.1243, 0.1248, 0.1259",\
                 "0.1239, 0.1238, 0.1237, 0.1236, 0.1235, 0.1237, 0.1239, 0.1244, 0.1247, 0.126",\
                 "0.1328, 0.1325, 0.1318, 0.1306, 0.1295, 0.1284, 0.1277, 0.1273, 0.1271, 0.128",\
                 "0.1495, 0.149, 0.1476, 0.1453, 0.1426, 0.14, 0.1375, 0.1355, 0.1341, 0.1343",\
                 "0.1739, 0.1732, 0.1711, 0.1678, 0.1637, 0.1592, 0.1549, 0.1508, 0.1475, 0.1463",\
                 "0.2061, 0.2053, 0.2026, 0.1982, 0.1926, 0.1866, 0.1803, 0.1742, 0.1686, 0.1662",\
                 "0.2466, 0.2457, 0.2425, 0.2371, 0.2301, 0.2222, 0.2141, 0.2059, 0.1982, 0.1953",\
                 "0.2958, 0.2948, 0.291, 0.2848, 0.2765, 0.2668, 0.2566, 0.2465, 0.2373, 0.2359");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.03754, 0.03752, 0.0375, 0.03749, 0.0375, 0.03752, 0.03756, 0.03755, 0.03754, 0.03755",\
                 "0.03646, 0.03643, 0.03642, 0.03643, 0.03646, 0.0365, 0.0365, 0.03652, 0.03653, 0.03652",\
                 "0.03534, 0.03535, 0.03531, 0.03535, 0.0354, 0.03544, 0.03546, 0.03548, 0.03548, 0.0355",\
                 "0.03591, 0.03586, 0.03578, 0.03568, 0.03557, 0.03548, 0.03538, 0.03532, 0.03529, 0.03526",\
                 "0.04139, 0.04121, 0.04064, 0.03983, 0.03904, 0.03834, 0.03776, 0.03723, 0.03679, 0.03645",\
                 "0.05424, 0.05382, 0.05256, 0.05056, 0.04845, 0.04639, 0.04456, 0.04306, 0.04175, 0.04067",\
                 "0.07573, 0.07499, 0.07272, 0.06934, 0.06536, 0.06136, 0.05766, 0.05441, 0.05164, 0.04924",\
                 "0.1065, 0.1055, 0.1022, 0.0971, 0.09095, 0.08458, 0.07844, 0.07292, 0.06796, 0.06368",\
                 "0.147, 0.1457, 0.1415, 0.1346, 0.126, 0.1169, 0.108, 0.09969, 0.09209, 0.08532",\
                 "0.1976, 0.1959, 0.1906, 0.182, 0.1711, 0.1592, 0.1472, 0.1357, 0.125, 0.1153");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1383, 0.1383, 0.1383, 0.1384, 0.1386, 0.1388, 0.1389, 0.1392, 0.1396, 0.1408",\
                 "0.1371, 0.1372, 0.1373, 0.1375, 0.1377, 0.1379, 0.1381, 0.1384, 0.1388, 0.1401",\
                 "0.1355, 0.1356, 0.1358, 0.1361, 0.1365, 0.1369, 0.1373, 0.1378, 0.1383, 0.1396",\
                 "0.136, 0.136, 0.136, 0.1361, 0.1363, 0.1366, 0.137, 0.1374, 0.1379, 0.1394",\
                 "0.1435, 0.1433, 0.1426, 0.1416, 0.1408, 0.1402, 0.1397, 0.1395, 0.1396, 0.1409",\
                 "0.1613, 0.1607, 0.1591, 0.1566, 0.154, 0.1512, 0.149, 0.1474, 0.1463, 0.1467",\
                 "0.1897, 0.1889, 0.1862, 0.1821, 0.1773, 0.1723, 0.1676, 0.1634, 0.1602, 0.1592",\
                 "0.2285, 0.2274, 0.224, 0.2183, 0.2113, 0.2038, 0.1964, 0.1894, 0.1833, 0.1806",\
                 "0.2775, 0.2763, 0.2722, 0.2652, 0.2562, 0.2461, 0.236, 0.2261, 0.2172, 0.2133",\
                 "0.3369, 0.3355, 0.3309, 0.323, 0.3123, 0.2998, 0.2867, 0.274, 0.2625, 0.2587");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.02705, 0.02705, 0.02705, 0.02702, 0.02702, 0.02703, 0.02703, 0.02707, 0.02707, 0.02706",\
                 "0.02595, 0.02596, 0.02596, 0.02598, 0.02596, 0.02599, 0.02603, 0.02602, 0.02605, 0.02603",\
                 "0.02482, 0.02482, 0.02483, 0.02485, 0.02489, 0.02491, 0.02495, 0.025, 0.02499, 0.025",\
                 "0.02549, 0.02549, 0.02533, 0.02522, 0.0251, 0.025, 0.0249, 0.02486, 0.02481, 0.02477",\
                 "0.03168, 0.03146, 0.03075, 0.02979, 0.02884, 0.02804, 0.02737, 0.02683, 0.02637, 0.02602",\
                 "0.04573, 0.04521, 0.04358, 0.04122, 0.03873, 0.03643, 0.03444, 0.03279, 0.03144, 0.03032",\
                 "0.06862, 0.06778, 0.06503, 0.06093, 0.05638, 0.05195, 0.04793, 0.04446, 0.04149, 0.03906",\
                 "0.101, 0.09975, 0.09583, 0.08981, 0.08285, 0.07586, 0.06924, 0.06335, 0.05816, 0.05372",\
                 "0.143, 0.1414, 0.1364, 0.1284, 0.1189, 0.109, 0.09941, 0.09061, 0.08266, 0.07567",\
                 "0.1948, 0.1929, 0.1868, 0.1771, 0.165, 0.152, 0.1393, 0.1272, 0.116, 0.106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1269, 0.1269, 0.1269, 0.1269, 0.1271, 0.1273, 0.1275, 0.1278, 0.1281, 0.1292",\
                 "0.1257, 0.1257, 0.1258, 0.126, 0.1262, 0.1264, 0.1268, 0.127, 0.1273, 0.1284",\
                 "0.1241, 0.1242, 0.1244, 0.1247, 0.1251, 0.1255, 0.1259, 0.1263, 0.1267, 0.1279",\
                 "0.1246, 0.1246, 0.1245, 0.1247, 0.1249, 0.1252, 0.1255, 0.1259, 0.1264, 0.1276",\
                 "0.1321, 0.1319, 0.1312, 0.1302, 0.1293, 0.1287, 0.1283, 0.1281, 0.1281, 0.1292",\
                 "0.1499, 0.1493, 0.1477, 0.1452, 0.1424, 0.1398, 0.1376, 0.1359, 0.1346, 0.1349",\
                 "0.1783, 0.1775, 0.1749, 0.1707, 0.1659, 0.1609, 0.1562, 0.152, 0.1486, 0.1475",\
                 "0.2172, 0.2162, 0.2126, 0.207, 0.1998, 0.1923, 0.1849, 0.178, 0.1718, 0.1687",\
                 "0.2663, 0.2651, 0.2609, 0.254, 0.2448, 0.2347, 0.2245, 0.2146, 0.2057, 0.2012",\
                 "0.3257, 0.3243, 0.3198, 0.3118, 0.301, 0.2885, 0.2753, 0.2625, 0.2509, 0.2463");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.02707, 0.02706, 0.02703, 0.02703, 0.02704, 0.02704, 0.02704, 0.02707, 0.02706, 0.02706",\
                 "0.02597, 0.02596, 0.02595, 0.02599, 0.02599, 0.026, 0.02602, 0.02602, 0.02603, 0.02603",\
                 "0.02484, 0.02486, 0.02489, 0.02491, 0.02491, 0.02493, 0.02496, 0.02498, 0.02498, 0.02501",\
                 "0.02582, 0.02574, 0.0256, 0.02544, 0.02528, 0.02516, 0.02505, 0.02495, 0.02487, 0.02483",\
                 "0.03252, 0.03225, 0.03149, 0.03049, 0.02943, 0.02854, 0.02778, 0.02716, 0.02668, 0.02626",\
                 "0.04712, 0.04655, 0.04488, 0.04244, 0.03985, 0.03738, 0.03527, 0.03352, 0.03202, 0.03083",\
                 "0.07053, 0.06968, 0.06684, 0.06269, 0.05801, 0.0534, 0.04923, 0.04558, 0.04251, 0.03991",\
                 "0.1033, 0.1021, 0.09814, 0.09204, 0.08493, 0.07774, 0.071, 0.0649, 0.05956, 0.055",\
                 "0.1457, 0.1441, 0.1391, 0.1311, 0.1214, 0.1114, 0.1017, 0.09267, 0.08455, 0.07737",\
                 "0.198, 0.1961, 0.19, 0.1802, 0.168, 0.1549, 0.142, 0.1297, 0.1184, 0.1082");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1358, 0.1359, 0.1359, 0.136, 0.1361, 0.1363, 0.1365, 0.1368, 0.1372, 0.1382",\
                 "0.1348, 0.1348, 0.1349, 0.1352, 0.1354, 0.1356, 0.136, 0.1362, 0.1366, 0.1378",\
                 "0.1331, 0.1332, 0.1334, 0.1338, 0.1342, 0.1347, 0.1351, 0.1356, 0.1361, 0.1373",\
                 "0.1336, 0.1336, 0.1336, 0.1337, 0.1339, 0.1343, 0.1347, 0.1353, 0.1357, 0.1371",\
                 "0.141, 0.1409, 0.1402, 0.1395, 0.1386, 0.1379, 0.1376, 0.1374, 0.1375, 0.1386",\
                 "0.1585, 0.1581, 0.1567, 0.1545, 0.152, 0.1495, 0.1473, 0.1456, 0.1444, 0.1447",\
                 "0.187, 0.1863, 0.1839, 0.1801, 0.1757, 0.1711, 0.1666, 0.1625, 0.1591, 0.158",\
                 "0.2257, 0.2247, 0.2216, 0.2165, 0.2099, 0.2031, 0.1961, 0.1895, 0.1834, 0.1805",\
                 "0.2746, 0.2736, 0.2698, 0.2635, 0.2552, 0.2458, 0.2364, 0.227, 0.2184, 0.2142",\
                 "0.3342, 0.3329, 0.3287, 0.3213, 0.3114, 0.2999, 0.2877, 0.2756, 0.2648, 0.2608");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.02797, 0.02799, 0.02805, 0.02811, 0.02817, 0.0282, 0.02824, 0.02827, 0.02829, 0.02829",\
                 "0.02818, 0.02825, 0.02841, 0.02857, 0.02872, 0.02885, 0.02892, 0.02898, 0.02904, 0.02906",\
                 "0.02924, 0.02924, 0.02927, 0.02933, 0.02939, 0.02946, 0.02953, 0.02958, 0.0296, 0.02963",\
                 "0.03301, 0.0329, 0.03254, 0.03212, 0.0317, 0.03133, 0.03104, 0.03081, 0.03065, 0.0305",\
                 "0.04157, 0.04123, 0.0403, 0.03898, 0.03762, 0.03638, 0.0353, 0.03441, 0.03365, 0.03301",\
                 "0.05618, 0.05563, 0.05394, 0.05147, 0.04876, 0.04616, 0.04381, 0.04175, 0.04004, 0.03856",\
                 "0.07758, 0.07685, 0.0744, 0.07061, 0.0662, 0.06185, 0.0578, 0.0542, 0.05103, 0.04827",\
                 "0.1063, 0.1054, 0.1022, 0.0971, 0.09098, 0.08454, 0.07841, 0.07284, 0.06781, 0.06338",\
                 "0.1427, 0.1416, 0.1378, 0.1315, 0.1236, 0.115, 0.1065, 0.09854, 0.09134, 0.08485",\
                 "0.1872, 0.1859, 0.1814, 0.174, 0.1645, 0.1537, 0.1428, 0.1321, 0.1224, 0.1135");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.07454, 0.07473, 0.07518, 0.07563, 0.076, 0.07634, 0.07674, 0.07709, 0.07751, 0.07797",\
                 "0.07344, 0.07366, 0.07436, 0.07517, 0.07586, 0.07647, 0.07704, 0.07748, 0.0781, 0.0785",\
                 "0.07445, 0.07447, 0.07454, 0.0749, 0.07545, 0.07608, 0.07677, 0.07735, 0.0779, 0.07853",\
                 "0.08103, 0.08072, 0.07987, 0.0789, 0.07822, 0.07793, 0.07806, 0.07834, 0.07866, 0.07902",\
                 "0.09386, 0.09325, 0.09154, 0.0891, 0.08679, 0.08479, 0.08351, 0.08256, 0.08206, 0.08184",\
                 "0.1133, 0.1124, 0.1098, 0.1061, 0.1021, 0.09815, 0.09479, 0.09223, 0.09011, 0.08857",\
                 "0.14, 0.1389, 0.1354, 0.1303, 0.1245, 0.1188, 0.1134, 0.1084, 0.1045, 0.1011",\
                 "0.1744, 0.173, 0.1688, 0.1624, 0.1549, 0.147, 0.1397, 0.1327, 0.1261, 0.1207",\
                 "0.2171, 0.2155, 0.2107, 0.203, 0.1937, 0.1837, 0.174, 0.1647, 0.1562, 0.1483",\
                 "0.2687, 0.2669, 0.2613, 0.2524, 0.2414, 0.2294, 0.2173, 0.2055, 0.1945, 0.1848");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.01627, 0.0163, 0.01637, 0.01645, 0.01654, 0.01657, 0.0166, 0.01663, 0.01664, 0.01665",\
                 "0.01643, 0.0165, 0.01669, 0.0169, 0.01708, 0.01721, 0.01729, 0.01734, 0.01739, 0.01741",\
                 "0.01732, 0.01734, 0.01747, 0.01755, 0.01768, 0.01779, 0.01786, 0.01791, 0.01793, 0.01797",\
                 "0.02135, 0.02121, 0.02086, 0.02043, 0.02001, 0.01967, 0.01937, 0.01915, 0.01897, 0.01885",\
                 "0.03063, 0.03025, 0.02915, 0.02771, 0.02619, 0.02487, 0.02373, 0.02279, 0.02203, 0.02142",\
                 "0.04627, 0.04564, 0.04368, 0.04082, 0.03782, 0.03499, 0.03249, 0.03034, 0.02856, 0.02704",\
                 "0.06882, 0.06791, 0.0651, 0.06085, 0.05594, 0.0512, 0.04687, 0.04308, 0.03978, 0.03692",\
                 "0.09861, 0.09748, 0.09391, 0.08826, 0.08147, 0.07446, 0.06796, 0.06203, 0.05685, 0.05224",\
                 "0.136, 0.1347, 0.1304, 0.1235, 0.1148, 0.1056, 0.09652, 0.08818, 0.0807, 0.07392",\
                 "0.1813, 0.1798, 0.1749, 0.1669, 0.1565, 0.145, 0.1334, 0.1222, 0.1121, 0.1029");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.06318, 0.06341, 0.06386, 0.06429, 0.06465, 0.06496, 0.06539, 0.06567, 0.06602, 0.06649",\
                 "0.0621, 0.06234, 0.06301, 0.0638, 0.06453, 0.06512, 0.06569, 0.06617, 0.06652, 0.06705",\
                 "0.06313, 0.06313, 0.06321, 0.06356, 0.06408, 0.06473, 0.06542, 0.06603, 0.06645, 0.06705",\
                 "0.0697, 0.06939, 0.06851, 0.06756, 0.06688, 0.06661, 0.06671, 0.06683, 0.06711, 0.06754",\
                 "0.08245, 0.08185, 0.08014, 0.07783, 0.07545, 0.07347, 0.07199, 0.07115, 0.07058, 0.07028",\
                 "0.1019, 0.1011, 0.09841, 0.09464, 0.09069, 0.08687, 0.08347, 0.08065, 0.07863, 0.07719",\
                 "0.1287, 0.1276, 0.1241, 0.1189, 0.1131, 0.1075, 0.1021, 0.09712, 0.09295, 0.08963",\
                 "0.1633, 0.1619, 0.1577, 0.151, 0.1435, 0.1356, 0.1283, 0.1212, 0.1147, 0.1091",\
                 "0.2064, 0.2047, 0.1996, 0.1918, 0.1823, 0.1723, 0.1626, 0.1534, 0.1447, 0.1365",\
                 "0.2581, 0.2563, 0.2506, 0.2414, 0.2302, 0.218, 0.2058, 0.1941, 0.1831, 0.1731");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.01626, 0.01628, 0.01636, 0.01646, 0.01653, 0.01656, 0.0166, 0.01663, 0.01664, 0.01665",\
                 "0.01644, 0.01653, 0.01673, 0.0169, 0.01708, 0.0172, 0.01728, 0.01734, 0.01738, 0.01742",\
                 "0.01748, 0.01752, 0.0176, 0.01769, 0.01777, 0.01785, 0.01791, 0.01795, 0.01797, 0.01801",\
                 "0.02183, 0.02169, 0.02129, 0.02084, 0.02037, 0.01996, 0.01963, 0.01937, 0.01916, 0.019",\
                 "0.03164, 0.03124, 0.03008, 0.02856, 0.02699, 0.0256, 0.02441, 0.0234, 0.02255, 0.02188",\
                 "0.04792, 0.04727, 0.0453, 0.04237, 0.03926, 0.0363, 0.03378, 0.03148, 0.0296, 0.028",\
                 "0.07129, 0.07039, 0.06758, 0.06327, 0.05834, 0.05341, 0.049, 0.04504, 0.04159, 0.03864",\
                 "0.1022, 0.101, 0.09744, 0.09176, 0.08492, 0.07787, 0.0711, 0.0651, 0.05967, 0.05493",\
                 "0.1408, 0.1395, 0.1353, 0.1283, 0.1196, 0.1103, 0.1011, 0.09253, 0.08482, 0.0779",\
                 "0.1877, 0.1862, 0.1813, 0.1732, 0.1629, 0.1513, 0.1396, 0.1284, 0.1178, 0.1085");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.06307, 0.06324, 0.06368, 0.06413, 0.06449, 0.06483, 0.06519, 0.06551, 0.06589, 0.06632",\
                 "0.0616, 0.06186, 0.06253, 0.06332, 0.06405, 0.06469, 0.06513, 0.0656, 0.06606, 0.06655",\
                 "0.06284, 0.0628, 0.06277, 0.06298, 0.06348, 0.06403, 0.06463, 0.06524, 0.06576, 0.06632",\
                 "0.07011, 0.06976, 0.06879, 0.06766, 0.06676, 0.06628, 0.06622, 0.0664, 0.06655, 0.06692",\
                 "0.08356, 0.08295, 0.08119, 0.07881, 0.07617, 0.07397, 0.07232, 0.07128, 0.07045, 0.07008",\
                 "0.1039, 0.103, 0.1004, 0.09662, 0.09259, 0.08859, 0.08483, 0.08184, 0.07945, 0.07748",\
                 "0.1318, 0.1306, 0.1271, 0.122, 0.1162, 0.1105, 0.1049, 0.09966, 0.09529, 0.09158",\
                 "0.1678, 0.1664, 0.1621, 0.1554, 0.148, 0.1402, 0.1328, 0.1255, 0.1186, 0.1126",\
                 "0.2125, 0.2109, 0.2058, 0.1978, 0.1885, 0.1786, 0.1689, 0.1595, 0.1508, 0.1423",\
                 "0.2664, 0.2646, 0.2587, 0.2494, 0.2381, 0.2261, 0.2142, 0.2026, 0.1914, 0.1811");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.005642, 0.005712, 0.005855, 0.005967, 0.00605, 0.006097, 0.006126, 0.006149, 0.006159, 0.006172",\
                 "0.005557, 0.005687, 0.006013, 0.006322, 0.006544, 0.006692, 0.006775, 0.00685, 0.006885, 0.006925",\
                 "0.006501, 0.006591, 0.006751, 0.00694, 0.007131, 0.007263, 0.007351, 0.007412, 0.007446, 0.007483",\
                 "0.01141, 0.01119, 0.01066, 0.01013, 0.009636, 0.009249, 0.008954, 0.008714, 0.008518, 0.008389",\
                 "0.022, 0.02142, 0.0199, 0.01803, 0.01625, 0.01473, 0.01347, 0.0125, 0.01166, 0.01102",\
                 "0.03891, 0.0381, 0.03553, 0.03202, 0.02845, 0.02527, 0.02253, 0.02021, 0.01833, 0.01673",\
                 "0.06267, 0.06152, 0.05804, 0.05295, 0.0473, 0.04199, 0.03732, 0.03326, 0.02975, 0.02678",\
                 "0.09347, 0.0921, 0.08782, 0.08126, 0.07358, 0.06593, 0.05881, 0.05259, 0.04711, 0.04233",\
                 "0.1317, 0.1302, 0.1252, 0.1173, 0.1077, 0.09769, 0.088, 0.07912, 0.07136, 0.06432",\
                 "0.1778, 0.1761, 0.1705, 0.1614, 0.1501, 0.1377, 0.1254, 0.1137, 0.1031, 0.09359");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.05172, 0.05189, 0.05236, 0.05278, 0.05308, 0.05341, 0.05364, 0.05396, 0.05424, 0.05467",\
                 "0.05059, 0.05083, 0.05153, 0.0523, 0.05298, 0.05361, 0.05404, 0.05448, 0.05494, 0.05517",\
                 "0.05165, 0.05164, 0.05168, 0.05204, 0.05252, 0.05314, 0.05374, 0.05438, 0.05467, 0.0555",\
                 "0.05822, 0.05791, 0.05709, 0.05608, 0.05531, 0.05503, 0.055, 0.05521, 0.0554, 0.05593",\
                 "0.07104, 0.07047, 0.06862, 0.06641, 0.06391, 0.06189, 0.06041, 0.0595, 0.0589, 0.0587",\
                 "0.0907, 0.08978, 0.08704, 0.0832, 0.07924, 0.07549, 0.07183, 0.0691, 0.06685, 0.06523",\
                 "0.1178, 0.1166, 0.1129, 0.1076, 0.1017, 0.09588, 0.09054, 0.08547, 0.08117, 0.07788",\
                 "0.1528, 0.1513, 0.1467, 0.1399, 0.1321, 0.1242, 0.1168, 0.1098, 0.1031, 0.09739",\
                 "0.196, 0.1943, 0.189, 0.1808, 0.171, 0.161, 0.1511, 0.142, 0.1333, 0.1251",\
                 "0.2481, 0.2462, 0.2402, 0.2307, 0.2191, 0.2067, 0.1944, 0.1826, 0.1715, 0.1616");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.005616, 0.005687, 0.005846, 0.005961, 0.006042, 0.006091, 0.006123, 0.006143, 0.006159, 0.006175",\
                 "0.005597, 0.005707, 0.006022, 0.00633, 0.006551, 0.006695, 0.00678, 0.006852, 0.006895, 0.006921",\
                 "0.006683, 0.006757, 0.006907, 0.007078, 0.007223, 0.007341, 0.007411, 0.007456, 0.007481, 0.007505",\
                 "0.01191, 0.01168, 0.01113, 0.01055, 0.01, 0.009547, 0.009189, 0.008921, 0.008686, 0.008527",\
                 "0.02291, 0.02239, 0.02084, 0.0189, 0.01704, 0.01546, 0.01416, 0.01307, 0.01219, 0.01148",\
                 "0.04055, 0.03971, 0.03712, 0.0336, 0.02994, 0.02661, 0.02381, 0.02137, 0.01938, 0.01771",\
                 "0.06509, 0.06395, 0.06048, 0.05539, 0.04969, 0.04424, 0.03939, 0.0352, 0.03162, 0.02851",\
                 "0.09697, 0.09559, 0.09133, 0.08476, 0.07706, 0.06926, 0.062, 0.05565, 0.04997, 0.04502",\
                 "0.1365, 0.135, 0.13, 0.1221, 0.1125, 0.1024, 0.09254, 0.08354, 0.07545, 0.06831",\
                 "0.1842, 0.1824, 0.1769, 0.1678, 0.1564, 0.1441, 0.1316, 0.1197, 0.1089, 0.09917");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.05159, 0.05176, 0.05221, 0.05266, 0.05298, 0.05328, 0.05354, 0.05379, 0.05411, 0.05451",\
                 "0.05013, 0.05035, 0.05104, 0.05179, 0.05247, 0.05311, 0.05358, 0.05389, 0.05454, 0.05497",\
                 "0.05137, 0.05132, 0.0513, 0.05147, 0.05186, 0.05252, 0.05308, 0.05353, 0.05404, 0.05451",\
                 "0.05864, 0.05831, 0.05735, 0.05613, 0.0552, 0.05473, 0.05457, 0.05465, 0.05497, 0.0552",\
                 "0.07216, 0.07155, 0.06969, 0.0673, 0.06465, 0.06242, 0.06074, 0.05957, 0.05876, 0.0584",\
                 "0.0927, 0.09169, 0.08904, 0.08517, 0.08111, 0.07704, 0.07334, 0.07013, 0.06767, 0.06576",\
                 "0.1208, 0.1196, 0.1159, 0.1107, 0.1048, 0.09892, 0.09338, 0.08804, 0.08348, 0.07966",\
                 "0.1572, 0.1557, 0.1511, 0.1443, 0.1366, 0.1287, 0.1213, 0.114, 0.107, 0.101",\
                 "0.2022, 0.2005, 0.1951, 0.1868, 0.1771, 0.1672, 0.1574, 0.1482, 0.1393, 0.1308",\
                 "0.2564, 0.2545, 0.2484, 0.2386, 0.2272, 0.215, 0.2029, 0.1911, 0.18, 0.1696");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.005616, 0.005687, 0.005846, 0.005962, 0.006042, 0.006092, 0.006123, 0.006142, 0.006159, 0.006174",\
                 "0.005597, 0.005689, 0.006032, 0.00633, 0.006551, 0.006695, 0.006779, 0.006845, 0.006895, 0.006921",\
                 "0.006683, 0.006757, 0.006907, 0.007078, 0.007223, 0.007341, 0.007407, 0.007456, 0.007481, 0.007505",\
                 "0.01191, 0.01168, 0.01113, 0.01055, 0.01, 0.009545, 0.009188, 0.008922, 0.008686, 0.008526",\
                 "0.02291, 0.02238, 0.02084, 0.0189, 0.01704, 0.01546, 0.01416, 0.01306, 0.01219, 0.01148",\
                 "0.04052, 0.0397, 0.03712, 0.03359, 0.02994, 0.0266, 0.02381, 0.02136, 0.01937, 0.01771",\
                 "0.06509, 0.06395, 0.06048, 0.05538, 0.04968, 0.04424, 0.03939, 0.03521, 0.0316, 0.02852",\
                 "0.09697, 0.09558, 0.09134, 0.08475, 0.07706, 0.06925, 0.062, 0.05564, 0.04996, 0.04503",\
                 "0.1365, 0.135, 0.13, 0.1221, 0.1125, 0.1024, 0.09253, 0.08354, 0.07544, 0.0683",\
                 "0.1841, 0.1825, 0.1768, 0.1678, 0.1564, 0.1441, 0.1316, 0.1197, 0.1089, 0.09915");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.05159, 0.05176, 0.05224, 0.05266, 0.05298, 0.05328, 0.05354, 0.05379, 0.05411, 0.05451",\
                 "0.05012, 0.05037, 0.05104, 0.05179, 0.05247, 0.05311, 0.05358, 0.05389, 0.05457, 0.05497",\
                 "0.05138, 0.05134, 0.05128, 0.05148, 0.05194, 0.05252, 0.05305, 0.05349, 0.05404, 0.05487",\
                 "0.05864, 0.05832, 0.05736, 0.05615, 0.0552, 0.05476, 0.05457, 0.05471, 0.0548, 0.0552",\
                 "0.07217, 0.07154, 0.06977, 0.06735, 0.06466, 0.06232, 0.06064, 0.05956, 0.0588, 0.05837",\
                 "0.09275, 0.09175, 0.08898, 0.08515, 0.08116, 0.077, 0.07321, 0.07012, 0.06771, 0.06589",\
                 "0.1208, 0.1196, 0.1159, 0.1107, 0.1048, 0.09892, 0.09341, 0.08798, 0.08351, 0.07966",\
                 "0.1572, 0.1557, 0.1511, 0.1443, 0.1365, 0.1287, 0.1213, 0.114, 0.107, 0.1009",\
                 "0.2022, 0.2005, 0.1951, 0.1868, 0.1771, 0.1672, 0.1575, 0.1482, 0.1392, 0.131",\
                 "0.2564, 0.2544, 0.2482, 0.2386, 0.2271, 0.215, 0.203, 0.191, 0.1801, 0.1695");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.005633, 0.005701, 0.005821, 0.005957, 0.006029, 0.006091, 0.006122, 0.006139, 0.006155, 0.006166",\
                 "0.005592, 0.005706, 0.006048, 0.006324, 0.006554, 0.006702, 0.006784, 0.006845, 0.006883, 0.006917",\
                 "0.006818, 0.006826, 0.006985, 0.007132, 0.007263, 0.007374, 0.007434, 0.007473, 0.0075, 0.007518",\
                 "0.01211, 0.01188, 0.01131, 0.01071, 0.01015, 0.009673, 0.009304, 0.009015, 0.008763, 0.008591",\
                 "0.0233, 0.02275, 0.02123, 0.01922, 0.01736, 0.01575, 0.0144, 0.01329, 0.01239, 0.01165",\
                 "0.04115, 0.04031, 0.03774, 0.03416, 0.03046, 0.02713, 0.02427, 0.02183, 0.0198, 0.01807",\
                 "0.06597, 0.06483, 0.06141, 0.05627, 0.05055, 0.04508, 0.04016, 0.03596, 0.03227, 0.02915",\
                 "0.0982, 0.09683, 0.09257, 0.08602, 0.07833, 0.07048, 0.06321, 0.05672, 0.05105, 0.04605",\
                 "0.1382, 0.1367, 0.1317, 0.1238, 0.1142, 0.1041, 0.09427, 0.08511, 0.07697, 0.06979",\
                 "0.1864, 0.1847, 0.1791, 0.17, 0.1587, 0.1463, 0.1338, 0.122, 0.1109, 0.1012");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.05149, 0.05167, 0.05212, 0.05253, 0.05288, 0.05324, 0.05354, 0.05372, 0.05418, 0.05461",\
                 "0.04995, 0.05015, 0.05079, 0.05153, 0.05223, 0.05285, 0.05321, 0.05359, 0.05408, 0.05487",\
                 "0.05132, 0.05125, 0.05114, 0.05128, 0.05166, 0.05219, 0.05279, 0.05336, 0.05385, 0.05421",\
                 "0.05881, 0.05847, 0.05748, 0.05622, 0.05516, 0.05466, 0.05447, 0.05448, 0.0547, 0.05477",\
                 "0.07261, 0.07191, 0.07011, 0.06765, 0.06502, 0.06268, 0.06087, 0.05963, 0.05876, 0.0582",\
                 "0.09336, 0.09239, 0.08968, 0.08589, 0.08178, 0.07773, 0.07384, 0.07062, 0.068, 0.06616",\
                 "0.1219, 0.1207, 0.117, 0.1117, 0.1058, 0.1002, 0.0945, 0.0891, 0.08431, 0.08032",\
                 "0.1588, 0.1573, 0.1526, 0.1458, 0.1382, 0.1303, 0.1229, 0.1156, 0.1086, 0.1022",\
                 "0.2044, 0.2026, 0.1971, 0.1889, 0.1793, 0.1694, 0.1597, 0.1505, 0.1415, 0.1328",\
                 "0.2593, 0.2573, 0.2511, 0.2414, 0.2298, 0.2179, 0.2057, 0.1939, 0.1831, 0.1725");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.0376, 0.03757, 0.03755, 0.03755, 0.03755, 0.03756, 0.03757, 0.03758, 0.03758, 0.03759",\
                 "0.03662, 0.03663, 0.03664, 0.03662, 0.03664, 0.03667, 0.03668, 0.03667, 0.03669, 0.0367",\
                 "0.03673, 0.03669, 0.03661, 0.03648, 0.03637, 0.0363, 0.03626, 0.03623, 0.0362, 0.03619",\
                 "0.04061, 0.04044, 0.03996, 0.03936, 0.03869, 0.03811, 0.03763, 0.03728, 0.03701, 0.03681",\
                 "0.05013, 0.04975, 0.04866, 0.04705, 0.04528, 0.0437, 0.04234, 0.04117, 0.04023, 0.03946",\
                 "0.06666, 0.06609, 0.06423, 0.06129, 0.05805, 0.0548, 0.05189, 0.04936, 0.04725, 0.04547",\
                 "0.09126, 0.09038, 0.08772, 0.08344, 0.07828, 0.07301, 0.06795, 0.06348, 0.05959, 0.0563",\
                 "0.1245, 0.1233, 0.1199, 0.1141, 0.107, 0.09932, 0.09188, 0.08493, 0.07872, 0.0733",\
                 "0.1666, 0.1654, 0.1611, 0.154, 0.1449, 0.1348, 0.1246, 0.1148, 0.1059, 0.09779",\
                 "0.2182, 0.2168, 0.2119, 0.2036, 0.1926, 0.18, 0.167, 0.1542, 0.1421, 0.131");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.08623, 0.08643, 0.0868, 0.08718, 0.08745, 0.08776, 0.08816, 0.08851, 0.08892, 0.08935",\
                 "0.08486, 0.08514, 0.08586, 0.08671, 0.0874, 0.08796, 0.08849, 0.08893, 0.08945, 0.08995",\
                 "0.08407, 0.08414, 0.08458, 0.08529, 0.08618, 0.08704, 0.08786, 0.0886, 0.08932, 0.08978",\
                 "0.08929, 0.08901, 0.08847, 0.08794, 0.08783, 0.08796, 0.08839, 0.0889, 0.08949, 0.08998",\
                 "0.1026, 0.1021, 0.1003, 0.0981, 0.09609, 0.09456, 0.09357, 0.09303, 0.09265, 0.09252",\
                 "0.1245, 0.1236, 0.1208, 0.1168, 0.1126, 0.1088, 0.1057, 0.1031, 0.1014, 0.09989",\
                 "0.1552, 0.154, 0.1502, 0.1445, 0.1381, 0.1318, 0.1262, 0.1213, 0.1171, 0.1138",\
                 "0.1949, 0.1934, 0.1889, 0.1817, 0.1731, 0.1641, 0.1559, 0.1483, 0.1415, 0.1356",\
                 "0.2443, 0.2426, 0.2373, 0.2287, 0.2182, 0.2067, 0.1954, 0.185, 0.1756, 0.167",\
                 "0.3037, 0.3018, 0.296, 0.2862, 0.2737, 0.2598, 0.2456, 0.2319, 0.2195, 0.2083");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.02589, 0.02592, 0.02587, 0.02588, 0.0259, 0.02593, 0.02593, 0.02593, 0.02594, 0.02594",\
                 "0.02493, 0.02495, 0.02493, 0.02498, 0.02498, 0.025, 0.02504, 0.02502, 0.02505, 0.02505",\
                 "0.02503, 0.02502, 0.02492, 0.02479, 0.0247, 0.02465, 0.0246, 0.02459, 0.02455, 0.02454",\
                 "0.0292, 0.029, 0.02849, 0.02782, 0.02707, 0.02651, 0.02602, 0.02567, 0.02537, 0.02517",\
                 "0.0395, 0.03909, 0.03783, 0.036, 0.03404, 0.03231, 0.03085, 0.02963, 0.02863, 0.02787",\
                 "0.0572, 0.05655, 0.05436, 0.05106, 0.0474, 0.04384, 0.0407, 0.038, 0.03583, 0.03397",\
                 "0.08302, 0.08207, 0.07897, 0.07412, 0.06835, 0.06262, 0.05722, 0.0525, 0.0484, 0.04498",\
                 "0.1174, 0.1162, 0.1123, 0.1058, 0.09797, 0.08966, 0.08167, 0.07431, 0.06786, 0.06224",\
                 "0.1607, 0.1593, 0.1545, 0.1468, 0.1368, 0.1259, 0.1151, 0.1048, 0.09544, 0.08712",\
                 "0.2133, 0.2116, 0.2063, 0.1972, 0.1854, 0.1719, 0.1582, 0.1447, 0.1322, 0.1207");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.0749, 0.07509, 0.07545, 0.07582, 0.07611, 0.07641, 0.07674, 0.07706, 0.07744, 0.07787",\
                 "0.07354, 0.07381, 0.07454, 0.07534, 0.07606, 0.07661, 0.07707, 0.07752, 0.07797, 0.07843",\
                 "0.07272, 0.07279, 0.07327, 0.07396, 0.07486, 0.07568, 0.07641, 0.07712, 0.07784, 0.0783",\
                 "0.07794, 0.07767, 0.07718, 0.07661, 0.07647, 0.07661, 0.07697, 0.07758, 0.07787, 0.07847",\
                 "0.09123, 0.09062, 0.08892, 0.08682, 0.08478, 0.08327, 0.08222, 0.08151, 0.08114, 0.08111",\
                 "0.1132, 0.1123, 0.1094, 0.1054, 0.1012, 0.09753, 0.0944, 0.09174, 0.08975, 0.08841",\
                 "0.144, 0.1428, 0.1389, 0.1332, 0.1267, 0.1204, 0.1148, 0.1099, 0.1056, 0.1022",\
                 "0.184, 0.1825, 0.1778, 0.1704, 0.1617, 0.1527, 0.1445, 0.1369, 0.1301, 0.1241",\
                 "0.2335, 0.2319, 0.2264, 0.2177, 0.2069, 0.1953, 0.184, 0.1734, 0.1641, 0.1554",\
                 "0.2931, 0.2912, 0.2852, 0.2753, 0.2627, 0.2487, 0.2342, 0.2206, 0.2081, 0.1969");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.02591, 0.02588, 0.02589, 0.02588, 0.02588, 0.0259, 0.02591, 0.02594, 0.02594, 0.02594",\
                 "0.02493, 0.02496, 0.02495, 0.02495, 0.02498, 0.025, 0.02501, 0.02504, 0.02504, 0.02506",\
                 "0.02516, 0.02511, 0.02502, 0.0249, 0.02474, 0.02469, 0.02464, 0.0246, 0.0246, 0.02456",\
                 "0.02964, 0.02945, 0.02891, 0.02815, 0.0274, 0.0268, 0.02625, 0.02582, 0.02557, 0.02531",\
                 "0.0406, 0.04011, 0.03885, 0.03694, 0.03487, 0.03305, 0.03148, 0.0302, 0.02913, 0.0283",\
                 "0.05919, 0.05845, 0.05625, 0.0529, 0.04905, 0.04542, 0.04212, 0.03927, 0.03695, 0.03499",\
                 "0.08618, 0.08521, 0.08206, 0.07708, 0.07125, 0.06529, 0.05976, 0.05481, 0.0506, 0.04692",\
                 "0.1221, 0.1208, 0.1169, 0.1103, 0.1023, 0.0939, 0.08564, 0.07808, 0.07138, 0.06546",\
                 "0.1672, 0.1658, 0.161, 0.1531, 0.143, 0.1319, 0.1209, 0.1103, 0.1007, 0.09197",\
                 "0.222, 0.2204, 0.215, 0.2058, 0.1937, 0.1801, 0.1661, 0.1524, 0.1395, 0.1277");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.07475, 0.07493, 0.07529, 0.07565, 0.07596, 0.07628, 0.07658, 0.07689, 0.07731, 0.07771",\
                 "0.07313, 0.07341, 0.07409, 0.07486, 0.07555, 0.07611, 0.07668, 0.07709, 0.07751, 0.078",\
                 "0.07239, 0.07245, 0.07279, 0.0734, 0.07416, 0.07502, 0.07575, 0.07643, 0.07701, 0.07761",\
                 "0.0781, 0.07785, 0.0772, 0.07653, 0.07615, 0.07621, 0.07651, 0.07679, 0.07724, 0.07777",\
                 "0.09245, 0.0918, 0.08997, 0.08766, 0.0854, 0.0837, 0.08232, 0.08148, 0.08097, 0.08074",\
                 "0.1157, 0.1148, 0.1118, 0.1077, 0.1033, 0.09931, 0.09572, 0.09276, 0.09051, 0.0889",\
                 "0.1482, 0.1469, 0.143, 0.1371, 0.1305, 0.124, 0.118, 0.1126, 0.108, 0.1042",\
                 "0.1901, 0.1887, 0.1838, 0.1764, 0.1676, 0.1585, 0.15, 0.1419, 0.1346, 0.1281",\
                 "0.2422, 0.2404, 0.2349, 0.226, 0.2151, 0.2035, 0.1919, 0.1813, 0.1713, 0.1622",\
                 "0.3048, 0.3028, 0.2967, 0.2865, 0.2737, 0.2595, 0.2451, 0.2312, 0.2185, 0.2065");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.01538, 0.01539, 0.01538, 0.01541, 0.01543, 0.01543, 0.01544, 0.01546, 0.01545, 0.01545",\
                 "0.01436, 0.01438, 0.01443, 0.01447, 0.0145, 0.01453, 0.01453, 0.01453, 0.01455, 0.01457",\
                 "0.01458, 0.01456, 0.01444, 0.01434, 0.01423, 0.01416, 0.01412, 0.0141, 0.01408, 0.01405",\
                 "0.01955, 0.01928, 0.01855, 0.01766, 0.01683, 0.01616, 0.01564, 0.0152, 0.01493, 0.0147",\
                 "0.0311, 0.03053, 0.02891, 0.02657, 0.02428, 0.02225, 0.0206, 0.01934, 0.01828, 0.01747",\
                 "0.05025, 0.0493, 0.04659, 0.04258, 0.03832, 0.03426, 0.03084, 0.02796, 0.02564, 0.02373",\
                 "0.07734, 0.07615, 0.07241, 0.06667, 0.06011, 0.05368, 0.04786, 0.04279, 0.0385, 0.03491",\
                 "0.1129, 0.1114, 0.1068, 0.0994, 0.0906, 0.0815, 0.07288, 0.06507, 0.05832, 0.05247",\
                 "0.1571, 0.1555, 0.1501, 0.1413, 0.1303, 0.1185, 0.1069, 0.09603, 0.0863, 0.07762",\
                 "0.2105, 0.2088, 0.2027, 0.1926, 0.1797, 0.1653, 0.1507, 0.1366, 0.1235, 0.1116");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.06345, 0.06359, 0.06399, 0.06429, 0.06455, 0.06483, 0.06509, 0.06534, 0.06569, 0.06649",\
                 "0.06204, 0.06236, 0.06302, 0.06381, 0.06446, 0.06499, 0.06546, 0.0659, 0.06622, 0.06659",\
                 "0.06125, 0.06133, 0.06177, 0.06242, 0.06328, 0.06407, 0.06483, 0.06554, 0.06589, 0.06692",\
                 "0.06642, 0.06617, 0.06575, 0.06516, 0.06492, 0.06506, 0.06529, 0.06577, 0.06632, 0.06688",\
                 "0.07981, 0.07919, 0.07739, 0.07534, 0.07327, 0.07162, 0.07051, 0.06983, 0.06952, 0.06936",\
                 "0.102, 0.1011, 0.09806, 0.09388, 0.08978, 0.08608, 0.08275, 0.08006, 0.078, 0.07655",\
                 "0.1332, 0.1319, 0.1278, 0.1218, 0.1152, 0.1089, 0.1034, 0.09831, 0.09378, 0.09049",\
                 "0.1734, 0.1718, 0.1669, 0.1592, 0.1504, 0.1413, 0.1328, 0.1255, 0.1185, 0.1125",\
                 "0.2232, 0.2214, 0.2158, 0.2067, 0.1956, 0.1839, 0.1725, 0.162, 0.1526, 0.1439",\
                 "0.283, 0.281, 0.2748, 0.2645, 0.2516, 0.2371, 0.2227, 0.209, 0.1964, 0.1852");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.01536, 0.01537, 0.01537, 0.0154, 0.01541, 0.01543, 0.01544, 0.01544, 0.01545, 0.01545",\
                 "0.01437, 0.01439, 0.01443, 0.01445, 0.01449, 0.01451, 0.01453, 0.01454, 0.01456, 0.01456",\
                 "0.0147, 0.01467, 0.01458, 0.01442, 0.01429, 0.01421, 0.01416, 0.01412, 0.01411, 0.01406",\
                 "0.02005, 0.01977, 0.01902, 0.01803, 0.01716, 0.01644, 0.01585, 0.01543, 0.01511, 0.01485",\
                 "0.03225, 0.03164, 0.02989, 0.02757, 0.02516, 0.02306, 0.02131, 0.01992, 0.0188, 0.01792",\
                 "0.05224, 0.05133, 0.04855, 0.04444, 0.04006, 0.03588, 0.03228, 0.02928, 0.02681, 0.02475",\
                 "0.0806, 0.07936, 0.07556, 0.06973, 0.06306, 0.05647, 0.05044, 0.04512, 0.04065, 0.03687",\
                 "0.1176, 0.1161, 0.1114, 0.104, 0.095, 0.08573, 0.07693, 0.06888, 0.0618, 0.05568",\
                 "0.1637, 0.1621, 0.1567, 0.1477, 0.1366, 0.1245, 0.1127, 0.1017, 0.09153, 0.08252",\
                 "0.2194, 0.2176, 0.2115, 0.2013, 0.1882, 0.1735, 0.1587, 0.1443, 0.1308, 0.1186");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.06327, 0.06343, 0.06382, 0.06417, 0.0644, 0.06466, 0.06493, 0.06518, 0.06556, 0.06586",\
                 "0.06163, 0.06189, 0.06255, 0.06334, 0.06396, 0.06453, 0.06496, 0.06544, 0.06576, 0.06616",\
                 "0.06092, 0.06095, 0.06128, 0.06188, 0.0626, 0.06341, 0.06424, 0.06488, 0.06526, 0.06579",\
                 "0.06662, 0.06636, 0.06586, 0.06505, 0.06459, 0.06466, 0.06486, 0.06514, 0.06559, 0.06599",\
                 "0.08108, 0.08038, 0.07855, 0.07631, 0.07386, 0.07209, 0.07064, 0.0698, 0.06913, 0.06903",\
                 "0.1046, 0.1036, 0.1005, 0.09621, 0.09185, 0.08783, 0.0842, 0.08108, 0.07879, 0.07695",\
                 "0.1373, 0.136, 0.1319, 0.1258, 0.119, 0.1125, 0.1065, 0.1012, 0.09615, 0.0925",\
                 "0.1796, 0.178, 0.173, 0.1652, 0.1563, 0.147, 0.1383, 0.1305, 0.1233, 0.1166",\
                 "0.2319, 0.2301, 0.2244, 0.2152, 0.2038, 0.192, 0.1805, 0.1698, 0.1598, 0.1507",\
                 "0.2947, 0.2928, 0.2863, 0.2758, 0.2626, 0.2482, 0.2337, 0.2197, 0.2068, 0.1951");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.01536, 0.01537, 0.01537, 0.0154, 0.01541, 0.01543, 0.01544, 0.01544, 0.01544, 0.01545",\
                 "0.01436, 0.0144, 0.01443, 0.01445, 0.01449, 0.01452, 0.01453, 0.01454, 0.01455, 0.01457",\
                 "0.0147, 0.01467, 0.01458, 0.01442, 0.01429, 0.01421, 0.01415, 0.01413, 0.0141, 0.01406",\
                 "0.02005, 0.01977, 0.01901, 0.01803, 0.01716, 0.01642, 0.01585, 0.01542, 0.0151, 0.01484",\
                 "0.03225, 0.03163, 0.02989, 0.02758, 0.02514, 0.02303, 0.02132, 0.0199, 0.01881, 0.01792",\
                 "0.05224, 0.05133, 0.04855, 0.04443, 0.04004, 0.03588, 0.03228, 0.02927, 0.02681, 0.02474",\
                 "0.0806, 0.07936, 0.07556, 0.06972, 0.06305, 0.05646, 0.05041, 0.04514, 0.04063, 0.03686",\
                 "0.1176, 0.1161, 0.1114, 0.1039, 0.09499, 0.08572, 0.07692, 0.06888, 0.0618, 0.05566",\
                 "0.1637, 0.1621, 0.1566, 0.1477, 0.1366, 0.1245, 0.1127, 0.1016, 0.0915, 0.08251",\
                 "0.2194, 0.2176, 0.2114, 0.2013, 0.1881, 0.1735, 0.1586, 0.1442, 0.1308, 0.1186");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.06327, 0.06343, 0.06382, 0.06413, 0.0644, 0.06466, 0.06493, 0.06518, 0.06556, 0.06596",\
                 "0.06164, 0.06189, 0.06255, 0.06335, 0.06396, 0.06453, 0.06496, 0.06551, 0.06576, 0.06612",\
                 "0.06091, 0.06095, 0.06128, 0.06186, 0.06262, 0.06341, 0.06417, 0.06488, 0.06526, 0.06576",\
                 "0.06662, 0.06636, 0.06576, 0.06505, 0.0646, 0.06463, 0.06493, 0.06518, 0.06563, 0.06616",\
                 "0.08108, 0.08038, 0.07857, 0.07619, 0.07399, 0.07209, 0.07064, 0.06973, 0.06932, 0.06903",\
                 "0.1046, 0.1036, 0.1005, 0.09628, 0.09178, 0.08783, 0.08417, 0.08111, 0.07879, 0.07691",\
                 "0.1373, 0.136, 0.1319, 0.1258, 0.119, 0.1124, 0.1065, 0.1011, 0.09619, 0.0924",\
                 "0.1796, 0.178, 0.173, 0.1651, 0.1562, 0.147, 0.1384, 0.1304, 0.1234, 0.1166",\
                 "0.2319, 0.2301, 0.2243, 0.2151, 0.2038, 0.1921, 0.1805, 0.1698, 0.1599, 0.1507",\
                 "0.2947, 0.2927, 0.2862, 0.2758, 0.2626, 0.2481, 0.2336, 0.2196, 0.2069, 0.1951");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.01537, 0.01537, 0.01536, 0.0154, 0.01541, 0.01544, 0.01543, 0.01544, 0.01545, 0.01545",\
                 "0.01438, 0.01441, 0.01443, 0.01445, 0.0145, 0.01452, 0.01452, 0.01456, 0.01455, 0.01456",\
                 "0.01477, 0.01474, 0.01463, 0.01447, 0.01434, 0.01423, 0.01419, 0.01414, 0.0141, 0.01407",\
                 "0.02026, 0.02, 0.01921, 0.01819, 0.0173, 0.01654, 0.01596, 0.0155, 0.01516, 0.01492",\
                 "0.03267, 0.03206, 0.03032, 0.02792, 0.02551, 0.02337, 0.02159, 0.02016, 0.01901, 0.01809",\
                 "0.05297, 0.05207, 0.04928, 0.04514, 0.04072, 0.03651, 0.03285, 0.02973, 0.02723, 0.02513",\
                 "0.08174, 0.08046, 0.07668, 0.07082, 0.06411, 0.05743, 0.05136, 0.04601, 0.04145, 0.03755",\
                 "0.1193, 0.1178, 0.1132, 0.1056, 0.0966, 0.08726, 0.07836, 0.07026, 0.06312, 0.05688",\
                 "0.1661, 0.1644, 0.1589, 0.15, 0.1388, 0.1267, 0.1149, 0.1036, 0.09346, 0.08433",\
                 "0.2226, 0.2207, 0.2145, 0.2043, 0.1911, 0.1764, 0.1615, 0.147, 0.1335, 0.1212");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.06316, 0.06334, 0.06373, 0.06404, 0.06428, 0.06456, 0.06483, 0.06514, 0.06556, 0.06576",\
                 "0.06142, 0.0617, 0.06238, 0.06309, 0.06379, 0.06427, 0.06473, 0.06521, 0.06582, 0.06586",\
                 "0.06082, 0.06084, 0.06114, 0.06165, 0.06237, 0.06318, 0.06384, 0.06438, 0.06497, 0.06536",\
                 "0.06674, 0.06642, 0.06578, 0.06503, 0.06457, 0.06446, 0.06463, 0.06498, 0.06536, 0.06586",\
                 "0.0815, 0.0808, 0.07889, 0.07651, 0.07426, 0.07222, 0.07074, 0.0698, 0.06903, 0.06883",\
                 "0.1055, 0.1045, 0.1014, 0.09705, 0.09261, 0.08849, 0.08476, 0.08154, 0.07909, 0.07724",\
                 "0.1388, 0.1375, 0.1333, 0.1272, 0.1205, 0.1138, 0.1077, 0.1022, 0.09717, 0.09306",\
                 "0.1818, 0.1801, 0.1751, 0.1674, 0.1582, 0.1491, 0.1404, 0.1323, 0.1249, 0.118",\
                 "0.2349, 0.2331, 0.2273, 0.2181, 0.2067, 0.1949, 0.1835, 0.1724, 0.1625, 0.1533",\
                 "0.2988, 0.2968, 0.2903, 0.2798, 0.2666, 0.252, 0.2375, 0.2235, 0.2107, 0.1989");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1681, 0.1781, 0.2125, 0.2763, 0.374, 0.51, 0.6879, 0.9115, 1.184, 1.509",\
                 "0.1829, 0.1931, 0.2278, 0.2921, 0.3901, 0.5261, 0.7042, 0.9279, 1.2, 1.525",\
                 "0.2191, 0.2298, 0.2651, 0.3298, 0.4282, 0.5647, 0.743, 0.967, 1.24, 1.565",\
                 "0.2435, 0.2567, 0.2999, 0.3747, 0.4813, 0.6201, 0.7983, 1.022, 1.295, 1.62",\
                 "0.2375, 0.2544, 0.3094, 0.4015, 0.5268, 0.6849, 0.8773, 1.106, 1.378, 1.703",\
                 "0.1884, 0.2099, 0.2796, 0.395, 0.5474, 0.7318, 0.9485, 1.201, 1.49, 1.82",\
                 "0.092, 0.1183, 0.2026, 0.3429, 0.5275, 0.7474, 0.9971, 1.279, 1.596, 1.952",\
                 "-0.0556, -0.0244, 0.0756, 0.2412, 0.4595, 0.7177, 1.009, 1.329, 1.68, 2.068",\
                 "-0.257, -0.2215, -0.1057, 0.0866, 0.338, 0.6371, 0.9724, 1.338, 1.733, 2.159",\
                 "-0.5143, -0.4741, -0.3433, -0.1258, 0.161, 0.5, 0.8815, 1.296, 1.74, 2.214");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.4862, 0.5171, 0.6251, 0.8285, 1.142, 1.579, 2.152, 2.872, 3.749, 4.793",\
                 "0.4914, 0.5225, 0.6312, 0.8354, 1.149, 1.587, 2.16, 2.88, 3.757, 4.802",\
                 "0.5377, 0.5685, 0.676, 0.8794, 1.193, 1.631, 2.205, 2.925, 3.803, 4.847",\
                 "0.6591, 0.6887, 0.7934, 0.9911, 1.3, 1.734, 2.304, 3.022, 3.898, 4.942",\
                 "0.8625, 0.8933, 0.9976, 1.19, 1.49, 1.915, 2.478, 3.191, 4.062, 5.102",\
                 "1.118, 1.153, 1.267, 1.474, 1.776, 2.192, 2.744, 3.446, 4.309, 5.341",\
                 "1.432, 1.468, 1.592, 1.815, 2.143, 2.572, 3.117, 3.807, 4.657, 5.677",\
                 "1.807, 1.847, 1.979, 2.217, 2.567, 3.027, 3.596, 4.28, 5.118, 6.125",\
                 "2.246, 2.288, 2.433, 2.687, 3.055, 3.543, 4.148, 4.864, 5.699, 6.692",\
                 "2.748, 2.794, 2.951, 3.228, 3.618, 4.128, 4.764, 5.521, 6.394, 7.389");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1469, 0.1632, 0.22, 0.3268, 0.4915, 0.722, 1.025, 1.408, 1.873, 2.426",\
                 "0.1469, 0.1632, 0.2204, 0.3267, 0.4921, 0.7225, 1.025, 1.408, 1.872, 2.426",\
                 "0.1579, 0.1723, 0.2239, 0.3276, 0.4919, 0.7224, 1.025, 1.407, 1.873, 2.426",\
                 "0.215, 0.2302, 0.2812, 0.3761, 0.5209, 0.7325, 1.027, 1.407, 1.873, 2.426",\
                 "0.3081, 0.3234, 0.3768, 0.4724, 0.6186, 0.821, 1.086, 1.434, 1.877, 2.426",\
                 "0.4318, 0.4494, 0.51, 0.6132, 0.7608, 0.9618, 1.227, 1.56, 1.965, 2.472",\
                 "0.5782, 0.5992, 0.6692, 0.7856, 0.9474, 1.154, 1.416, 1.747, 2.152, 2.633",\
                 "0.75, 0.7738, 0.8518, 0.9838, 1.165, 1.391, 1.661, 1.99, 2.392, 2.872",\
                 "0.941, 0.9686, 1.055, 1.205, 1.408, 1.657, 1.95, 2.291, 2.691, 3.167",\
                 "1.147, 1.176, 1.279, 1.45, 1.675, 1.95, 2.269, 2.637, 3.047, 3.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.8975, 0.9505, 1.135, 1.485, 2.028, 2.788, 3.786, 5.039, 6.571, 8.392",\
                 "0.8977, 0.9504, 1.135, 1.485, 2.028, 2.788, 3.785, 5.041, 6.569, 8.392",\
                 "0.8973, 0.9499, 1.135, 1.485, 2.028, 2.788, 3.784, 5.039, 6.57, 8.395",\
                 "0.8959, 0.9475, 1.132, 1.485, 2.028, 2.788, 3.785, 5.041, 6.57, 8.393",\
                 "0.964, 1.011, 1.176, 1.499, 2.028, 2.787, 3.786, 5.04, 6.57, 8.393",\
                 "1.063, 1.114, 1.29, 1.603, 2.087, 2.799, 3.786, 5.041, 6.573, 8.395",\
                 "1.173, 1.226, 1.41, 1.749, 2.242, 2.91, 3.825, 5.044, 6.571, 8.393",\
                 "1.315, 1.367, 1.551, 1.897, 2.421, 3.111, 3.985, 5.123, 6.585, 8.394",\
                 "1.489, 1.543, 1.726, 2.071, 2.608, 3.334, 4.234, 5.332, 6.71, 8.429",\
                 "1.687, 1.745, 1.935, 2.281, 2.817, 3.557, 4.508, 5.63, 6.965, 8.602");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1387, 0.1481, 0.1809, 0.243, 0.3392, 0.4736, 0.6505, 0.873, 1.145, 1.469",\
                 "0.1526, 0.1624, 0.1959, 0.2584, 0.355, 0.4896, 0.6665, 0.8898, 1.161, 1.485",\
                 "0.1837, 0.1949, 0.2314, 0.2956, 0.3927, 0.5281, 0.7057, 0.9285, 1.201, 1.526",\
                 "0.1952, 0.2099, 0.2567, 0.3348, 0.4434, 0.5833, 0.7608, 0.9839, 1.256, 1.581",\
                 "0.1705, 0.1899, 0.252, 0.3512, 0.4822, 0.6435, 0.8378, 1.067, 1.34, 1.663",\
                 "0.1004, 0.1256, 0.2047, 0.331, 0.4927, 0.6838, 0.9044, 1.159, 1.45, 1.781",\
                 "-0.0175, 0.0129, 0.1096, 0.2642, 0.4611, 0.6902, 0.947, 1.232, 1.552, 1.91",\
                 "-0.1871, -0.1507, -0.0359, 0.147, 0.3801, 0.651, 0.9505, 1.277, 1.633, 2.022",\
                 "-0.4086, -0.3673, -0.2352, -0.0234, 0.246, 0.5588, 0.9053, 1.279, 1.679, 2.11",\
                 "-0.6841, -0.6375, -0.4904, -0.251, 0.0559, 0.4109, 0.8048, 1.23, 1.68, 2.16");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.473, 0.5043, 0.6124, 0.8152, 1.128, 1.563, 2.134, 2.851, 3.727, 4.77",\
                 "0.4782, 0.5096, 0.6184, 0.8222, 1.135, 1.571, 2.142, 2.86, 3.735, 4.777",\
                 "0.5239, 0.555, 0.6631, 0.8664, 1.18, 1.616, 2.187, 2.905, 3.783, 4.823",\
                 "0.6458, 0.6756, 0.7801, 0.978, 1.286, 1.718, 2.286, 3.002, 3.876, 4.918",\
                 "0.8479, 0.879, 0.9842, 1.177, 1.476, 1.899, 2.461, 3.171, 4.04, 5.076",\
                 "1.102, 1.136, 1.251, 1.46, 1.763, 2.177, 2.727, 3.427, 4.288, 5.317",\
                 "1.412, 1.449, 1.573, 1.799, 2.127, 2.556, 3.098, 3.786, 4.634, 5.653",\
                 "1.784, 1.824, 1.958, 2.198, 2.548, 3.009, 3.577, 4.26, 5.094, 6.101",\
                 "2.218, 2.262, 2.409, 2.665, 3.035, 3.522, 4.126, 4.842, 5.676, 6.668",\
                 "2.715, 2.762, 2.922, 3.203, 3.594, 4.103, 4.74, 5.496, 6.369, 7.364");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1121, 0.1276, 0.1823, 0.2875, 0.4515, 0.6823, 0.9848, 1.363, 1.829, 2.385",\
                 "0.1124, 0.1281, 0.1822, 0.2873, 0.4512, 0.6819, 0.9833, 1.365, 1.83, 2.385",\
                 "0.1327, 0.1456, 0.1929, 0.2899, 0.4514, 0.682, 0.9849, 1.364, 1.829, 2.384",\
                 "0.1928, 0.2076, 0.2548, 0.3469, 0.4893, 0.6963, 0.9858, 1.364, 1.829, 2.383",\
                 "0.2892, 0.3045, 0.3561, 0.4488, 0.5912, 0.7906, 1.052, 1.395, 1.837, 2.383",\
                 "0.4144, 0.4316, 0.4908, 0.593, 0.7386, 0.9356, 1.198, 1.528, 1.93, 2.436",\
                 "0.5652, 0.5844, 0.6514, 0.7668, 0.9272, 1.132, 1.39, 1.718, 2.121, 2.599",\
                 "0.7408, 0.7626, 0.836, 0.9658, 1.146, 1.369, 1.639, 1.964, 2.362, 2.839",\
                 "0.9288, 0.9546, 1.042, 1.188, 1.387, 1.637, 1.928, 2.268, 2.664, 3.138",\
                 "1.13, 1.162, 1.26, 1.432, 1.655, 1.93, 2.248, 2.612, 3.024, 3.501");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.7217, 0.7761, 0.9629, 1.315, 1.859, 2.62, 3.617, 4.871, 6.402, 8.227",\
                 "0.722, 0.7762, 0.9628, 1.314, 1.86, 2.621, 3.616, 4.871, 6.402, 8.223",\
                 "0.721, 0.7755, 0.9618, 1.314, 1.859, 2.619, 3.616, 4.872, 6.407, 8.226",\
                 "0.7191, 0.7718, 0.9598, 1.314, 1.859, 2.619, 3.616, 4.871, 6.403, 8.226",\
                 "0.7836, 0.8332, 1.002, 1.327, 1.858, 2.619, 3.618, 4.873, 6.402, 8.226",\
                 "0.8638, 0.9182, 1.104, 1.431, 1.916, 2.63, 3.616, 4.872, 6.405, 8.229",\
                 "0.9556, 1.014, 1.209, 1.562, 2.069, 2.74, 3.655, 4.875, 6.402, 8.226",\
                 "1.082, 1.139, 1.335, 1.696, 2.237, 2.94, 3.816, 4.953, 6.417, 8.226",\
                 "1.233, 1.292, 1.495, 1.858, 2.409, 3.149, 4.063, 5.162, 6.541, 8.261",\
                 "1.403, 1.468, 1.682, 2.053, 2.604, 3.367, 4.324, 5.46, 6.797, 8.432");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1172, 0.1245, 0.1496, 0.1966, 0.2693, 0.3707, 0.5038, 0.6717, 0.8766, 1.121",\
                 "0.1318, 0.1392, 0.1648, 0.2122, 0.285, 0.3868, 0.5203, 0.6882, 0.8929, 1.137",\
                 "0.1669, 0.1765, 0.2073, 0.2583, 0.3321, 0.4342, 0.568, 0.7361, 0.9412, 1.185",\
                 "0.1799, 0.1935, 0.2379, 0.3095, 0.4038, 0.518, 0.6539, 0.8222, 1.027, 1.271",\
                 "0.1557, 0.1749, 0.2341, 0.3297, 0.4531, 0.5993, 0.7659, 0.952, 1.161, 1.406",\
                 "0.0879, 0.1119, 0.1878, 0.3098, 0.4662, 0.6484, 0.8527, 1.077, 1.322, 1.589",\
                 "-0.0268, 0.0021, 0.0944, 0.2436, 0.4349, 0.6567, 0.9024, 1.17, 1.458, 1.767",\
                 "-0.1928, -0.1589, -0.0495, 0.1269, 0.3536, 0.6167, 0.9073, 1.221, 1.556, 1.912",\
                 "-0.4108, -0.3723, -0.2472, -0.0434, 0.2184, 0.5238, 0.861, 1.224, 1.609, 2.016",\
                 "-0.6825, -0.6397, -0.501, -0.2709, 0.0272, 0.3738, 0.7582, 1.173, 1.611, 2.072");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.5298, 0.5604, 0.6666, 0.8674, 1.178, 1.612, 2.182, 2.899, 3.773, 4.816",\
                 "0.5356, 0.5664, 0.6735, 0.8754, 1.187, 1.621, 2.192, 2.909, 3.784, 4.826",\
                 "0.5817, 0.6119, 0.7182, 0.9196, 1.231, 1.667, 2.237, 2.954, 3.83, 4.873",\
                 "0.7028, 0.7323, 0.8353, 1.032, 1.338, 1.769, 2.337, 3.052, 3.926, 4.968",\
                 "0.9077, 0.9377, 1.04, 1.23, 1.529, 1.952, 2.513, 3.223, 4.09, 5.128",\
                 "1.167, 1.201, 1.314, 1.518, 1.818, 2.232, 2.782, 3.481, 4.341, 5.371",\
                 "1.484, 1.519, 1.641, 1.863, 2.188, 2.614, 3.156, 3.844, 4.692, 5.71",\
                 "1.862, 1.901, 2.031, 2.267, 2.614, 3.073, 3.639, 4.322, 5.156, 6.164",\
                 "2.306, 2.347, 2.49, 2.74, 3.107, 3.593, 4.196, 4.91, 5.743, 6.737",\
                 "2.813, 2.86, 3.015, 3.285, 3.672, 4.182, 4.818, 5.574, 6.445, 7.44");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.102, 0.1138, 0.1553, 0.2352, 0.3591, 0.5328, 0.7599, 1.047, 1.398, 1.814",\
                 "0.1023, 0.1141, 0.1553, 0.2352, 0.3585, 0.5323, 0.7606, 1.047, 1.396, 1.816",\
                 "0.1389, 0.1479, 0.1793, 0.2444, 0.3606, 0.5324, 0.7601, 1.046, 1.397, 1.814",\
                 "0.2256, 0.2363, 0.2721, 0.3388, 0.4361, 0.571, 0.7719, 1.048, 1.397, 1.815",\
                 "0.3416, 0.3535, 0.3944, 0.4688, 0.5782, 0.7222, 0.9014, 1.125, 1.428, 1.82",\
                 "0.4834, 0.4968, 0.5438, 0.6302, 0.7528, 0.9102, 1.107, 1.339, 1.608, 1.941",\
                 "0.6506, 0.6646, 0.719, 0.817, 0.9566, 1.133, 1.345, 1.596, 1.887, 2.219",\
                 "0.8398, 0.8564, 0.9176, 1.028, 1.187, 1.386, 1.621, 1.891, 2.204, 2.554",\
                 "1.046, 1.066, 1.136, 1.261, 1.439, 1.664, 1.928, 2.226, 2.555, 2.932",\
                 "1.265, 1.287, 1.369, 1.516, 1.717, 1.968, 2.26, 2.59, 2.954, 3.351");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.7898, 0.8435, 1.03, 1.383, 1.927, 2.687, 3.684, 4.938, 6.469, 8.293",\
                 "0.7893, 0.8435, 1.03, 1.383, 1.927, 2.686, 3.683, 4.939, 6.47, 8.292",\
                 "0.7896, 0.8425, 1.03, 1.383, 1.926, 2.686, 3.685, 4.937, 6.47, 8.294",\
                 "0.7864, 0.8398, 1.028, 1.382, 1.926, 2.686, 3.685, 4.938, 6.469, 8.294",\
                 "0.8428, 0.892, 1.061, 1.39, 1.926, 2.686, 3.683, 4.94, 6.47, 8.293",\
                 "0.9316, 0.9848, 1.168, 1.486, 1.975, 2.695, 3.684, 4.94, 6.47, 8.294",\
                 "1.023, 1.081, 1.276, 1.622, 2.121, 2.796, 3.717, 4.942, 6.47, 8.295",\
                 "1.143, 1.2, 1.395, 1.756, 2.294, 2.99, 3.868, 5.011, 6.481, 8.293",\
                 "1.294, 1.353, 1.549, 1.911, 2.464, 3.203, 4.111, 5.211, 6.595, 8.324",\
                 "1.468, 1.53, 1.736, 2.104, 2.654, 3.42, 4.371, 5.503, 6.846, 8.484");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1681, 0.1781, 0.2125, 0.2763, 0.374, 0.51, 0.6879, 0.9115, 1.184, 1.509",\
                 "0.1829, 0.1931, 0.2278, 0.2921, 0.3901, 0.5261, 0.7042, 0.9279, 1.2, 1.525",\
                 "0.2191, 0.2298, 0.2651, 0.3298, 0.4282, 0.5647, 0.743, 0.967, 1.24, 1.565",\
                 "0.2435, 0.2567, 0.2999, 0.3747, 0.4813, 0.6201, 0.7983, 1.022, 1.295, 1.62",\
                 "0.2375, 0.2544, 0.3094, 0.4015, 0.5268, 0.6849, 0.8773, 1.106, 1.378, 1.703",\
                 "0.1884, 0.2099, 0.2796, 0.395, 0.5474, 0.7318, 0.9485, 1.201, 1.49, 1.82",\
                 "0.092, 0.1183, 0.2026, 0.3429, 0.5275, 0.7474, 0.9971, 1.279, 1.596, 1.952",\
                 "-0.0556, -0.0244, 0.0756, 0.2412, 0.4595, 0.7177, 1.009, 1.329, 1.68, 2.068",\
                 "-0.257, -0.2215, -0.1057, 0.0866, 0.338, 0.6371, 0.9724, 1.338, 1.733, 2.159",\
                 "-0.5143, -0.4741, -0.3433, -0.1258, 0.161, 0.5, 0.8815, 1.296, 1.74, 2.214");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.5298, 0.5604, 0.6666, 0.8674, 1.178, 1.612, 2.182, 2.899, 3.773, 4.816",\
                 "0.5356, 0.5664, 0.6735, 0.8754, 1.187, 1.621, 2.192, 2.909, 3.784, 4.826",\
                 "0.5817, 0.6119, 0.7182, 0.9196, 1.231, 1.667, 2.237, 2.954, 3.83, 4.873",\
                 "0.7028, 0.7323, 0.8353, 1.032, 1.338, 1.769, 2.337, 3.052, 3.926, 4.968",\
                 "0.9077, 0.9377, 1.04, 1.23, 1.529, 1.952, 2.513, 3.223, 4.09, 5.128",\
                 "1.167, 1.201, 1.314, 1.518, 1.818, 2.232, 2.782, 3.481, 4.341, 5.371",\
                 "1.484, 1.519, 1.641, 1.863, 2.188, 2.614, 3.156, 3.844, 4.692, 5.71",\
                 "1.862, 1.901, 2.031, 2.267, 2.614, 3.073, 3.639, 4.322, 5.156, 6.164",\
                 "2.306, 2.347, 2.49, 2.74, 3.107, 3.593, 4.196, 4.91, 5.743, 6.737",\
                 "2.813, 2.86, 3.015, 3.285, 3.672, 4.182, 4.818, 5.574, 6.445, 7.44");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1469, 0.1632, 0.22, 0.3268, 0.4915, 0.722, 1.025, 1.408, 1.873, 2.426",\
                 "0.1469, 0.1632, 0.2204, 0.3267, 0.4921, 0.7225, 1.025, 1.408, 1.872, 2.426",\
                 "0.1579, 0.1723, 0.2239, 0.3276, 0.4919, 0.7224, 1.025, 1.407, 1.873, 2.426",\
                 "0.215, 0.2302, 0.2812, 0.3761, 0.5209, 0.7325, 1.027, 1.407, 1.873, 2.426",\
                 "0.3081, 0.3234, 0.3768, 0.4724, 0.6186, 0.821, 1.086, 1.434, 1.877, 2.426",\
                 "0.4318, 0.4494, 0.51, 0.6132, 0.7608, 0.9618, 1.227, 1.56, 1.965, 2.472",\
                 "0.5782, 0.5992, 0.6692, 0.7856, 0.9474, 1.154, 1.416, 1.747, 2.152, 2.633",\
                 "0.75, 0.7738, 0.8518, 0.9838, 1.165, 1.391, 1.661, 1.99, 2.392, 2.872",\
                 "0.941, 0.9686, 1.055, 1.205, 1.408, 1.657, 1.95, 2.291, 2.691, 3.167",\
                 "1.147, 1.176, 1.279, 1.45, 1.675, 1.95, 2.269, 2.637, 3.047, 3.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.8975, 0.9505, 1.135, 1.485, 2.028, 2.788, 3.786, 5.039, 6.571, 8.392",\
                 "0.8977, 0.9504, 1.135, 1.485, 2.028, 2.788, 3.785, 5.041, 6.569, 8.392",\
                 "0.8973, 0.9499, 1.135, 1.485, 2.028, 2.788, 3.784, 5.039, 6.57, 8.395",\
                 "0.8959, 0.9475, 1.132, 1.485, 2.028, 2.788, 3.785, 5.041, 6.57, 8.393",\
                 "0.964, 1.011, 1.176, 1.499, 2.028, 2.787, 3.786, 5.04, 6.57, 8.393",\
                 "1.063, 1.114, 1.29, 1.603, 2.087, 2.799, 3.786, 5.041, 6.573, 8.395",\
                 "1.173, 1.226, 1.41, 1.749, 2.242, 2.91, 3.825, 5.044, 6.571, 8.393",\
                 "1.315, 1.367, 1.551, 1.897, 2.421, 3.111, 3.985, 5.123, 6.585, 8.394",\
                 "1.489, 1.543, 1.726, 2.071, 2.608, 3.334, 4.234, 5.332, 6.71, 8.429",\
                 "1.687, 1.745, 1.935, 2.281, 2.817, 3.557, 4.508, 5.63, 6.965, 8.602");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2, 0.2102, 0.2451, 0.3095, 0.4082, 0.5448, 0.7234, 0.9474, 1.221, 1.546",\
                 "0.2141, 0.2243, 0.2593, 0.324, 0.4227, 0.5593, 0.7378, 0.962, 1.235, 1.56",\
                 "0.2505, 0.2608, 0.2959, 0.3608, 0.4595, 0.5964, 0.7752, 0.9993, 1.273, 1.598",\
                 "0.2828, 0.2953, 0.3362, 0.4088, 0.5133, 0.6514, 0.83, 1.054, 1.327, 1.652",\
                 "0.2898, 0.3054, 0.3565, 0.4436, 0.5649, 0.7199, 0.9102, 1.137, 1.41, 1.735",\
                 "0.2582, 0.2778, 0.3417, 0.4494, 0.5954, 0.7741, 0.9867, 1.236, 1.524, 1.853",\
                 "0.1826, 0.2066, 0.2841, 0.4147, 0.5897, 0.801, 1.044, 1.321, 1.635, 1.988",\
                 "0.0622, 0.09, 0.1805, 0.3337, 0.5399, 0.7872, 1.069, 1.382, 1.727, 2.11",\
                 "-0.1061, -0.0747, 0.0293, 0.2051, 0.4415, 0.7265, 1.05, 1.405, 1.792, 2.211",\
                 "-0.3248, -0.2891, -0.1729, 0.0258, 0.2931, 0.6146, 0.9808, 1.383, 1.816, 2.28");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.5703, 0.6013, 0.7093, 0.9124, 1.226, 1.663, 2.236, 2.955, 3.833, 4.877",\
                 "0.5768, 0.6081, 0.7166, 0.9202, 1.234, 1.671, 2.244, 2.964, 3.842, 4.886",\
                 "0.6071, 0.6385, 0.7475, 0.9522, 1.267, 1.705, 2.279, 3, 3.878, 4.923",\
                 "0.6844, 0.7149, 0.8211, 1.023, 1.335, 1.772, 2.344, 3.064, 3.942, 4.987",\
                 "0.8282, 0.8592, 0.9672, 1.165, 1.47, 1.899, 2.465, 3.18, 4.054, 5.095",\
                 "1.035, 1.067, 1.176, 1.381, 1.687, 2.107, 2.663, 3.368, 4.233, 5.267",\
                 "1.305, 1.338, 1.451, 1.659, 1.974, 2.402, 2.95, 3.643, 4.494, 5.518",\
                 "1.633, 1.669, 1.79, 2.007, 2.328, 2.764, 3.325, 4.013, 4.852, 5.861",\
                 "2.015, 2.055, 2.187, 2.42, 2.754, 3.199, 3.77, 4.472, 5.312, 6.306",\
                 "2.452, 2.496, 2.64, 2.893, 3.248, 3.709, 4.29, 5.006, 5.861, 6.859");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1822, 0.199, 0.2568, 0.365, 0.5314, 0.7624, 1.066, 1.449, 1.915, 2.469",\
                 "0.1822, 0.199, 0.2573, 0.3652, 0.5316, 0.7631, 1.066, 1.448, 1.914, 2.469",\
                 "0.1872, 0.2032, 0.2582, 0.3655, 0.5311, 0.7631, 1.066, 1.448, 1.914, 2.468",\
                 "0.2428, 0.2585, 0.3109, 0.4072, 0.5545, 0.7708, 1.068, 1.449, 1.915, 2.467",\
                 "0.337, 0.3534, 0.4068, 0.5036, 0.6502, 0.8544, 1.12, 1.472, 1.919, 2.468",\
                 "0.466, 0.4838, 0.5424, 0.645, 0.7928, 0.9936, 1.26, 1.594, 2.001, 2.511",\
                 "0.6212, 0.643, 0.7092, 0.8228, 0.982, 1.188, 1.448, 1.779, 2.186, 2.666",\
                 "0.8034, 0.8276, 0.9016, 1.031, 1.206, 1.426, 1.693, 2.021, 2.424, 2.905",\
                 "1.012, 1.039, 1.121, 1.265, 1.461, 1.7, 1.987, 2.323, 2.722, 3.198",\
                 "1.241, 1.273, 1.367, 1.529, 1.743, 2.008, 2.316, 2.674, 3.081, 3.554");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.8978, 0.9506, 1.135, 1.485, 2.028, 2.788, 3.785, 5.039, 6.571, 8.393",\
                 "0.8977, 0.9505, 1.135, 1.485, 2.028, 2.787, 3.784, 5.04, 6.57, 8.391",\
                 "0.8979, 0.9504, 1.135, 1.485, 2.028, 2.788, 3.786, 5.038, 6.57, 8.394",\
                 "0.91, 0.9596, 1.138, 1.485, 2.028, 2.788, 3.786, 5.04, 6.573, 8.395",\
                 "0.9786, 1.026, 1.192, 1.515, 2.034, 2.788, 3.785, 5.04, 6.571, 8.392",\
                 "1.06, 1.109, 1.28, 1.601, 2.098, 2.813, 3.787, 5.041, 6.571, 8.393",\
                 "1.168, 1.217, 1.384, 1.708, 2.212, 2.905, 3.839, 5.052, 6.57, 8.393",\
                 "1.317, 1.364, 1.525, 1.838, 2.34, 3.047, 3.96, 5.131, 6.6, 8.398",\
                 "1.502, 1.548, 1.707, 2.014, 2.501, 3.205, 4.13, 5.28, 6.705, 8.447",\
                 "1.707, 1.756, 1.924, 2.231, 2.705, 3.391, 4.316, 5.485, 6.887, 8.584");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1674, 0.1772, 0.2114, 0.2751, 0.3727, 0.5084, 0.6862, 0.9097, 1.182, 1.507",\
                 "0.1812, 0.1913, 0.2256, 0.2894, 0.3871, 0.5228, 0.7006, 0.9241, 1.197, 1.521",\
                 "0.2158, 0.2264, 0.2617, 0.326, 0.4239, 0.5599, 0.7379, 0.9616, 1.234, 1.559",\
                 "0.2378, 0.2512, 0.2948, 0.3696, 0.4759, 0.6148, 0.7928, 1.016, 1.289, 1.614",\
                 "0.2291, 0.2464, 0.3024, 0.3957, 0.5214, 0.6792, 0.8713, 1.1, 1.372, 1.696",\
                 "0.1791, 0.2012, 0.2724, 0.3891, 0.5425, 0.7274, 0.9436, 1.195, 1.484, 1.814",\
                 "0.0858, 0.1129, 0.1987, 0.3405, 0.5261, 0.7459, 0.9954, 1.276, 1.592, 1.947",\
                 "-0.052, -0.0208, 0.08, 0.2461, 0.4651, 0.7227, 1.013, 1.331, 1.68, 2.066",\
                 "-0.2376, -0.2017, -0.0866, 0.1045, 0.3546, 0.652, 0.9852, 1.348, 1.74, 2.163",\
                 "-0.4708, -0.432, -0.3034, -0.0882, 0.1948, 0.53, 0.9075, 1.318, 1.758, 2.227");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.557, 0.5885, 0.6963, 0.8994, 1.212, 1.647, 2.218, 2.935, 3.811, 4.853",\
                 "0.5637, 0.5951, 0.7035, 0.9071, 1.22, 1.656, 2.226, 2.944, 3.819, 4.862",\
                 "0.5939, 0.6254, 0.7344, 0.9389, 1.253, 1.69, 2.261, 2.98, 3.855, 4.899",\
                 "0.6711, 0.7017, 0.8082, 1.01, 1.321, 1.756, 2.327, 3.044, 3.92, 4.962",\
                 "0.8132, 0.845, 0.9535, 1.152, 1.455, 1.883, 2.447, 3.159, 4.032, 5.072",\
                 "1.019, 1.051, 1.161, 1.365, 1.672, 2.091, 2.644, 3.347, 4.211, 5.244",\
                 "1.287, 1.321, 1.435, 1.644, 1.958, 2.385, 2.933, 3.622, 4.473, 5.494",\
                 "1.612, 1.649, 1.772, 1.99, 2.311, 2.747, 3.306, 3.993, 4.829, 5.837",\
                 "1.99, 2.031, 2.166, 2.4, 2.735, 3.179, 3.749, 4.451, 5.288, 6.281",\
                 "2.423, 2.467, 2.615, 2.871, 3.228, 3.689, 4.268, 4.983, 5.836, 6.834");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1475, 0.1634, 0.22, 0.3269, 0.492, 0.7223, 1.025, 1.407, 1.872, 2.427",\
                 "0.1476, 0.1636, 0.22, 0.3266, 0.492, 0.7218, 1.025, 1.406, 1.872, 2.427",\
                 "0.1593, 0.1738, 0.2251, 0.3281, 0.4921, 0.7223, 1.026, 1.407, 1.872, 2.425",\
                 "0.2196, 0.2338, 0.2838, 0.3787, 0.5226, 0.7335, 1.027, 1.406, 1.872, 2.425",\
                 "0.3189, 0.3344, 0.3855, 0.4792, 0.6228, 0.8242, 1.087, 1.435, 1.878, 2.426",\
                 "0.4498, 0.4668, 0.5246, 0.6254, 0.7694, 0.9676, 1.23, 1.563, 1.967, 2.473",\
                 "0.6078, 0.6286, 0.6934, 0.8048, 0.9628, 1.163, 1.424, 1.752, 2.155, 2.634",\
                 "0.7964, 0.8156, 0.8878, 1.015, 1.188, 1.406, 1.671, 1.996, 2.395, 2.873",\
                 "1.004, 1.03, 1.113, 1.25, 1.444, 1.681, 1.966, 2.301, 2.696, 3.169",\
                 "1.23, 1.26, 1.355, 1.513, 1.725, 1.991, 2.298, 2.651, 3.057, 3.53");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.7214, 0.7761, 0.9625, 1.315, 1.858, 2.619, 3.616, 4.87, 6.404, 8.227",\
                 "0.721, 0.7749, 0.9611, 1.314, 1.858, 2.618, 3.616, 4.87, 6.401, 8.226",\
                 "0.7221, 0.7756, 0.9611, 1.314, 1.858, 2.619, 3.617, 4.87, 6.402, 8.225",\
                 "0.7336, 0.7847, 0.9647, 1.315, 1.858, 2.621, 3.616, 4.872, 6.403, 8.227",\
                 "0.8006, 0.8498, 1.019, 1.344, 1.864, 2.619, 3.616, 4.871, 6.403, 8.228",\
                 "0.8678, 0.9224, 1.099, 1.43, 1.928, 2.644, 3.619, 4.872, 6.403, 8.227",\
                 "0.9666, 1.018, 1.191, 1.525, 2.039, 2.737, 3.67, 4.883, 6.403, 8.226",\
                 "1.102, 1.15, 1.324, 1.647, 2.158, 2.874, 3.79, 4.962, 6.431, 8.23",\
                 "1.263, 1.314, 1.491, 1.813, 2.313, 3.023, 3.958, 5.112, 6.535, 8.281",\
                 "1.441, 1.498, 1.687, 2.017, 2.507, 3.204, 4.139, 5.311, 6.717, 8.415");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1378, 0.1456, 0.1717, 0.2198, 0.2939, 0.3963, 0.5303, 0.6988, 0.9041, 1.149",\
                 "0.1522, 0.1599, 0.1862, 0.2346, 0.3085, 0.4109, 0.545, 0.7135, 0.919, 1.163",\
                 "0.1934, 0.2022, 0.2308, 0.2806, 0.3548, 0.4576, 0.5917, 0.7604, 0.9657, 1.21",\
                 "0.2199, 0.2323, 0.2727, 0.3398, 0.4304, 0.5418, 0.6773, 0.846, 1.051, 1.296",\
                 "0.2125, 0.229, 0.2828, 0.3717, 0.4891, 0.6301, 0.7929, 0.9768, 1.185, 1.429",\
                 "0.1642, 0.1852, 0.2537, 0.3665, 0.5142, 0.6894, 0.8877, 1.108, 1.35, 1.613",\
                 "0.073, 0.0984, 0.1808, 0.3182, 0.4982, 0.7104, 0.9485, 1.209, 1.493, 1.798",\
                 "-0.0626, -0.0332, 0.0631, 0.2237, 0.436, 0.6869, 0.9673, 1.273, 1.601, 1.951",\
                 "-0.246, -0.2121, -0.1026, 0.0817, 0.3247, 0.614, 0.9388, 1.291, 1.667, 2.066",\
                 "-0.4771, -0.44, -0.3183, -0.1115, 0.163, 0.4904, 0.8586, 1.259, 1.685, 2.136");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.6141, 0.6445, 0.7506, 0.9515, 1.262, 1.696, 2.266, 2.982, 3.858, 4.9",\
                 "0.6213, 0.6518, 0.7586, 0.9604, 1.272, 1.706, 2.276, 2.994, 3.868, 4.911",\
                 "0.6514, 0.6821, 0.7893, 0.9916, 1.304, 1.74, 2.311, 3.029, 3.905, 4.947",\
                 "0.7282, 0.7581, 0.863, 1.063, 1.372, 1.806, 2.376, 3.094, 3.968, 5.012",\
                 "0.8737, 0.9043, 1.011, 1.206, 1.508, 1.935, 2.498, 3.21, 4.082, 5.121",\
                 "1.082, 1.113, 1.222, 1.424, 1.729, 2.146, 2.698, 3.401, 4.264, 5.296",\
                 "1.355, 1.387, 1.498, 1.706, 2.018, 2.445, 2.991, 3.68, 4.53, 5.551",\
                 "1.688, 1.724, 1.841, 2.056, 2.375, 2.811, 3.37, 4.057, 4.893, 5.899",\
                 "2.077, 2.115, 2.244, 2.472, 2.804, 3.249, 3.82, 4.522, 5.358, 6.351",\
                 "2.52, 2.563, 2.704, 2.952, 3.304, 3.763, 4.344, 5.06, 5.915, 6.912");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1292, 0.1416, 0.184, 0.2647, 0.3894, 0.5629, 0.7909, 1.079, 1.429, 1.846",\
                 "0.1294, 0.1417, 0.184, 0.2647, 0.3895, 0.5627, 0.7914, 1.078, 1.43, 1.847",\
                 "0.1564, 0.1654, 0.1993, 0.2697, 0.39, 0.5637, 0.7918, 1.078, 1.43, 1.845",\
                 "0.2468, 0.2568, 0.2933, 0.3591, 0.4557, 0.595, 0.8007, 1.08, 1.428, 1.845",\
                 "0.367, 0.3787, 0.419, 0.4924, 0.6012, 0.7438, 0.921, 1.149, 1.456, 1.85",\
                 "0.5142, 0.5278, 0.574, 0.6582, 0.7776, 0.9342, 1.128, 1.36, 1.631, 1.964",\
                 "0.688, 0.7034, 0.7568, 0.8518, 0.9876, 1.161, 1.369, 1.618, 1.909, 2.24",\
                 "0.891, 0.9076, 0.965, 1.071, 1.225, 1.419, 1.648, 1.914, 2.225, 2.575",\
                 "1.116, 1.136, 1.203, 1.323, 1.49, 1.705, 1.962, 2.253, 2.579, 2.953",\
                 "1.357, 1.381, 1.461, 1.598, 1.786, 2.026, 2.304, 2.623, 2.978, 3.373");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.7894, 0.8425, 1.03, 1.381, 1.926, 2.687, 3.684, 4.939, 6.468, 8.292",\
                 "0.7894, 0.8433, 1.03, 1.382, 1.926, 2.687, 3.685, 4.939, 6.469, 8.292",\
                 "0.7891, 0.843, 1.03, 1.382, 1.926, 2.687, 3.684, 4.938, 6.47, 8.289",\
                 "0.797, 0.8483, 1.031, 1.382, 1.926, 2.687, 3.684, 4.941, 6.469, 8.293",\
                 "0.8592, 0.9082, 1.078, 1.405, 1.93, 2.686, 3.685, 4.939, 6.472, 8.293",\
                 "0.9276, 0.981, 1.159, 1.487, 1.987, 2.707, 3.686, 4.94, 6.47, 8.295",\
                 "1.017, 1.069, 1.247, 1.583, 2.096, 2.794, 3.731, 4.948, 6.47, 8.293",\
                 "1.147, 1.198, 1.371, 1.699, 2.213, 2.93, 3.848, 5.021, 6.495, 8.296",\
                 "1.307, 1.357, 1.531, 1.854, 2.358, 3.076, 4.011, 5.166, 6.596, 8.342",\
                 "1.485, 1.543, 1.724, 2.053, 2.545, 3.247, 4.189, 5.361, 6.771, 8.468");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2, 0.2102, 0.2451, 0.3095, 0.4082, 0.5448, 0.7234, 0.9474, 1.221, 1.546",\
                 "0.2141, 0.2243, 0.2593, 0.324, 0.4227, 0.5593, 0.7378, 0.962, 1.235, 1.56",\
                 "0.2505, 0.2608, 0.2959, 0.3608, 0.4595, 0.5964, 0.7752, 0.9993, 1.273, 1.598",\
                 "0.2828, 0.2953, 0.3362, 0.4088, 0.5133, 0.6514, 0.83, 1.054, 1.327, 1.652",\
                 "0.2898, 0.3054, 0.3565, 0.4436, 0.5649, 0.7199, 0.9102, 1.137, 1.41, 1.735",\
                 "0.2582, 0.2778, 0.3417, 0.4494, 0.5954, 0.7741, 0.9867, 1.236, 1.524, 1.853",\
                 "0.1826, 0.2066, 0.2841, 0.4147, 0.5897, 0.801, 1.044, 1.321, 1.635, 1.988",\
                 "0.0622, 0.09, 0.1805, 0.3337, 0.5399, 0.7872, 1.069, 1.382, 1.727, 2.11",\
                 "-0.1061, -0.0747, 0.0293, 0.2051, 0.4415, 0.7265, 1.05, 1.405, 1.792, 2.211",\
                 "-0.3248, -0.2891, -0.1729, 0.0258, 0.2931, 0.6146, 0.9808, 1.383, 1.816, 2.28");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.6141, 0.6445, 0.7506, 0.9515, 1.262, 1.696, 2.266, 2.982, 3.858, 4.9",\
                 "0.6213, 0.6518, 0.7586, 0.9604, 1.272, 1.706, 2.276, 2.994, 3.868, 4.911",\
                 "0.6514, 0.6821, 0.7893, 0.9916, 1.304, 1.74, 2.311, 3.029, 3.905, 4.947",\
                 "0.7282, 0.7581, 0.863, 1.063, 1.372, 1.806, 2.376, 3.094, 3.968, 5.012",\
                 "0.8737, 0.9043, 1.011, 1.206, 1.508, 1.935, 2.498, 3.21, 4.082, 5.121",\
                 "1.082, 1.113, 1.222, 1.424, 1.729, 2.146, 2.698, 3.401, 4.264, 5.296",\
                 "1.355, 1.387, 1.498, 1.706, 2.018, 2.445, 2.991, 3.68, 4.53, 5.551",\
                 "1.688, 1.724, 1.841, 2.056, 2.375, 2.811, 3.37, 4.057, 4.893, 5.899",\
                 "2.077, 2.115, 2.244, 2.472, 2.804, 3.249, 3.82, 4.522, 5.358, 6.351",\
                 "2.52, 2.563, 2.704, 2.952, 3.304, 3.763, 4.344, 5.06, 5.915, 6.912");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1822, 0.199, 0.2568, 0.365, 0.5314, 0.7624, 1.066, 1.449, 1.915, 2.469",\
                 "0.1822, 0.199, 0.2573, 0.3652, 0.5316, 0.7631, 1.066, 1.448, 1.914, 2.469",\
                 "0.1872, 0.2032, 0.2582, 0.3655, 0.5311, 0.7631, 1.066, 1.448, 1.914, 2.468",\
                 "0.2428, 0.2585, 0.3109, 0.4072, 0.5545, 0.7708, 1.068, 1.449, 1.915, 2.467",\
                 "0.337, 0.3534, 0.4068, 0.5036, 0.6502, 0.8544, 1.12, 1.472, 1.919, 2.468",\
                 "0.466, 0.4838, 0.5424, 0.645, 0.7928, 0.9936, 1.26, 1.594, 2.001, 2.511",\
                 "0.6212, 0.643, 0.7092, 0.8228, 0.982, 1.188, 1.448, 1.779, 2.186, 2.666",\
                 "0.8034, 0.8276, 0.9016, 1.031, 1.206, 1.426, 1.693, 2.021, 2.424, 2.905",\
                 "1.012, 1.039, 1.121, 1.265, 1.461, 1.7, 1.987, 2.323, 2.722, 3.198",\
                 "1.241, 1.273, 1.367, 1.529, 1.743, 2.008, 2.316, 2.674, 3.081, 3.554");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.8978, 0.9506, 1.135, 1.485, 2.028, 2.788, 3.785, 5.039, 6.571, 8.393",\
                 "0.8977, 0.9505, 1.135, 1.485, 2.028, 2.787, 3.784, 5.04, 6.57, 8.391",\
                 "0.8979, 0.9504, 1.135, 1.485, 2.028, 2.788, 3.786, 5.038, 6.57, 8.394",\
                 "0.91, 0.9596, 1.138, 1.485, 2.028, 2.788, 3.786, 5.04, 6.573, 8.395",\
                 "0.9786, 1.026, 1.192, 1.515, 2.034, 2.788, 3.785, 5.04, 6.571, 8.392",\
                 "1.06, 1.109, 1.28, 1.601, 2.098, 2.813, 3.787, 5.041, 6.571, 8.393",\
                 "1.168, 1.217, 1.384, 1.708, 2.212, 2.905, 3.839, 5.052, 6.57, 8.393",\
                 "1.317, 1.364, 1.525, 1.838, 2.34, 3.047, 3.96, 5.131, 6.6, 8.398",\
                 "1.502, 1.548, 1.707, 2.014, 2.501, 3.205, 4.13, 5.28, 6.705, 8.447",\
                 "1.707, 1.756, 1.924, 2.231, 2.705, 3.391, 4.316, 5.485, 6.887, 8.584");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2141, 0.2251, 0.2625, 0.3307, 0.433, 0.5728, 0.7539, 0.98, 1.255, 1.581",\
                 "0.2268, 0.2377, 0.2749, 0.3432, 0.4456, 0.5854, 0.7664, 0.9925, 1.267, 1.593",\
                 "0.2633, 0.2741, 0.3108, 0.3788, 0.481, 0.6209, 0.8019, 1.028, 1.303, 1.629",\
                 "0.3019, 0.3144, 0.356, 0.4295, 0.5353, 0.6751, 0.8559, 1.082, 1.356, 1.683",\
                 "0.3179, 0.3332, 0.3841, 0.4708, 0.5918, 0.7469, 0.9371, 1.165, 1.439, 1.765",\
                 "0.2996, 0.3186, 0.3811, 0.4867, 0.6301, 0.8074, 1.019, 1.267, 1.554, 1.883",\
                 "0.2415, 0.2643, 0.3391, 0.4666, 0.6373, 0.845, 1.085, 1.358, 1.67, 2.022",\
                 "0.1434, 0.17, 0.2565, 0.4052, 0.6057, 0.8471, 1.122, 1.43, 1.77, 2.15",\
                 "0.004, 0.0338, 0.1324, 0.3018, 0.53, 0.8073, 1.121, 1.469, 1.848, 2.262",\
                 "-0.177, -0.1437, -0.0342, 0.154, 0.4103, 0.7208, 1.076, 1.468, 1.891, 2.346");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.6074, 0.6387, 0.7464, 0.9498, 1.263, 1.7, 2.273, 2.993, 3.87, 4.915",\
                 "0.6169, 0.6482, 0.7568, 0.9605, 1.274, 1.711, 2.284, 3.004, 3.882, 4.926",\
                 "0.6471, 0.6786, 0.7876, 0.9927, 1.308, 1.746, 2.32, 3.041, 3.919, 4.964",\
                 "0.7003, 0.7314, 0.839, 1.042, 1.356, 1.794, 2.368, 3.088, 3.967, 5.011",\
                 "0.7991, 0.8305, 0.9383, 1.138, 1.445, 1.876, 2.445, 3.162, 4.037, 5.079",\
                 "0.9589, 0.9896, 1.097, 1.297, 1.604, 2.025, 2.582, 3.289, 4.154, 5.19",\
                 "1.182, 1.214, 1.323, 1.523, 1.827, 2.25, 2.799, 3.49, 4.342, 5.364",\
                 "1.453, 1.488, 1.606, 1.815, 2.122, 2.542, 3.092, 3.779, 4.613, 5.618",\
                 "1.768, 1.806, 1.935, 2.161, 2.484, 2.907, 3.455, 4.143, 4.977, 5.966",\
                 "2.126, 2.169, 2.309, 2.556, 2.901, 3.343, 3.895, 4.581, 5.415, 6.405");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2146, 0.2326, 0.2931, 0.4041, 0.5723, 0.8049, 1.109, 1.491, 1.957, 2.511",\
                 "0.2138, 0.2321, 0.2929, 0.4041, 0.5722, 0.8044, 1.109, 1.491, 1.957, 2.511",\
                 "0.2158, 0.2325, 0.2921, 0.4026, 0.5715, 0.8042, 1.108, 1.491, 1.957, 2.511",\
                 "0.2719, 0.2879, 0.3417, 0.4389, 0.5895, 0.8093, 1.109, 1.491, 1.956, 2.512",\
                 "0.3728, 0.389, 0.4422, 0.538, 0.6846, 0.8888, 1.157, 1.511, 1.961, 2.511",\
                 "0.5154, 0.5334, 0.5896, 0.6872, 0.8318, 1.031, 1.295, 1.628, 2.039, 2.551",\
                 "0.6926, 0.7112, 0.7748, 0.8802, 1.031, 1.23, 1.486, 1.816, 2.22, 2.701",\
                 "0.9042, 0.9262, 0.9922, 1.112, 1.272, 1.482, 1.738, 2.062, 2.459, 2.938",\
                 "1.15, 1.175, 1.248, 1.38, 1.555, 1.777, 2.046, 2.369, 2.762, 3.232",\
                 "1.432, 1.46, 1.542, 1.683, 1.874, 2.118, 2.401, 2.736, 3.13, 3.595");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.898, 0.9502, 1.135, 1.485, 2.028, 2.788, 3.786, 5.041, 6.568, 8.392",\
                 "0.898, 0.9504, 1.135, 1.485, 2.028, 2.788, 3.786, 5.04, 6.568, 8.393",\
                 "0.898, 0.9501, 1.135, 1.485, 2.028, 2.788, 3.785, 5.039, 6.569, 8.392",\
                 "0.9051, 0.9557, 1.136, 1.485, 2.028, 2.788, 3.785, 5.041, 6.569, 8.391",\
                 "0.9624, 1.011, 1.18, 1.51, 2.034, 2.788, 3.785, 5.041, 6.572, 8.395",\
                 "1.046, 1.094, 1.262, 1.585, 2.09, 2.814, 3.789, 5.041, 6.57, 8.393",\
                 "1.18, 1.225, 1.38, 1.689, 2.189, 2.895, 3.84, 5.058, 6.571, 8.393",\
                 "1.367, 1.408, 1.556, 1.845, 2.32, 3.018, 3.946, 5.132, 6.608, 8.402",\
                 "1.585, 1.629, 1.78, 2.062, 2.51, 3.177, 4.096, 5.264, 6.709, 8.46",\
                 "1.831, 1.875, 2.036, 2.329, 2.766, 3.399, 4.281, 5.437, 6.866, 8.585");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1769, 0.188, 0.2256, 0.294, 0.3962, 0.5356, 0.7162, 0.942, 1.216, 1.542",\
                 "0.1897, 0.2007, 0.2383, 0.3065, 0.4086, 0.5481, 0.7287, 0.9545, 1.229, 1.555",\
                 "0.2263, 0.2374, 0.2746, 0.3422, 0.444, 0.5836, 0.7642, 0.99, 1.264, 1.59",\
                 "0.256, 0.2696, 0.3135, 0.3895, 0.4973, 0.6378, 0.8183, 1.044, 1.318, 1.644",\
                 "0.2575, 0.275, 0.3306, 0.423, 0.5482, 0.7061, 0.8983, 1.127, 1.401, 1.726",\
                 "0.2228, 0.2445, 0.3134, 0.4276, 0.5786, 0.7609, 0.9758, 1.226, 1.515, 1.845",\
                 "0.1478, 0.1735, 0.2571, 0.3946, 0.5755, 0.7904, 1.036, 1.314, 1.628, 1.982",\
                 "0.035, 0.0643, 0.1605, 0.3204, 0.5327, 0.7836, 1.067, 1.38, 1.725, 2.106",\
                 "-0.1191, -0.086, 0.0235, 0.2051, 0.4456, 0.7343, 1.058, 1.413, 1.798, 2.215",\
                 "-0.3133, -0.2769, -0.1569, 0.0462, 0.3158, 0.6392, 1.005, 1.404, 1.834, 2.295");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.5945, 0.6255, 0.7335, 0.9364, 1.249, 1.684, 2.255, 2.973, 3.847, 4.89",\
                 "0.6037, 0.6351, 0.7437, 0.9471, 1.26, 1.696, 2.267, 2.985, 3.859, 4.902",\
                 "0.6339, 0.6655, 0.7749, 0.9792, 1.294, 1.731, 2.302, 3.021, 3.896, 4.939",\
                 "0.6869, 0.7181, 0.8258, 1.029, 1.342, 1.778, 2.35, 3.068, 3.944, 4.988",\
                 "0.7849, 0.8163, 0.9247, 1.125, 1.431, 1.861, 2.427, 3.141, 4.015, 5.056",\
                 "0.9432, 0.9745, 1.082, 1.283, 1.588, 2.009, 2.563, 3.268, 4.132, 5.166",\
                 "1.163, 1.196, 1.307, 1.507, 1.812, 2.233, 2.78, 3.469, 4.319, 5.341",\
                 "1.432, 1.468, 1.587, 1.798, 2.105, 2.524, 3.073, 3.757, 4.59, 5.594",\
                 "1.742, 1.782, 1.913, 2.142, 2.465, 2.889, 3.435, 4.121, 4.953, 5.94",\
                 "2.095, 2.138, 2.284, 2.532, 2.88, 3.323, 3.874, 4.558, 5.391, 6.38");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1785, 0.1957, 0.2555, 0.3671, 0.5332, 0.7654, 1.069, 1.449, 1.915, 2.47",\
                 "0.1775, 0.195, 0.2553, 0.3657, 0.5339, 0.7649, 1.068, 1.45, 1.915, 2.47",\
                 "0.1857, 0.2013, 0.2568, 0.3648, 0.5331, 0.7645, 1.068, 1.45, 1.916, 2.469",\
                 "0.2502, 0.2652, 0.3163, 0.411, 0.557, 0.7721, 1.069, 1.45, 1.914, 2.469",\
                 "0.359, 0.3738, 0.4242, 0.5156, 0.6572, 0.859, 1.124, 1.474, 1.92, 2.47",\
                 "0.5064, 0.5232, 0.576, 0.6708, 0.8108, 1.005, 1.266, 1.597, 2.004, 2.514",\
                 "0.6882, 0.706, 0.7646, 0.8684, 1.015, 1.208, 1.462, 1.787, 2.189, 2.669",\
                 "0.9076, 0.9248, 0.9882, 1.103, 1.259, 1.463, 1.718, 2.037, 2.432, 2.907",\
                 "1.161, 1.18, 1.251, 1.371, 1.546, 1.761, 2.029, 2.347, 2.736, 3.204",\
                 "1.442, 1.466, 1.548, 1.682, 1.869, 2.103, 2.385, 2.719, 3.107, 3.572");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.7227, 0.7748, 0.9622, 1.314, 1.859, 2.619, 3.618, 4.872, 6.4, 8.222",\
                 "0.723, 0.7758, 0.9625, 1.315, 1.858, 2.618, 3.617, 4.873, 6.399, 8.223",\
                 "0.7218, 0.7761, 0.9632, 1.314, 1.858, 2.619, 3.616, 4.87, 6.4, 8.225",\
                 "0.729, 0.7809, 0.964, 1.314, 1.858, 2.619, 3.617, 4.872, 6.401, 8.226",\
                 "0.7836, 0.834, 1.007, 1.339, 1.865, 2.619, 3.617, 4.872, 6.403, 8.225",\
                 "0.857, 0.9078, 1.081, 1.412, 1.92, 2.645, 3.621, 4.872, 6.402, 8.227",\
                 "0.9822, 1.029, 1.192, 1.509, 2.016, 2.726, 3.672, 4.886, 6.403, 8.228",\
                 "1.149, 1.196, 1.358, 1.659, 2.142, 2.845, 3.777, 4.964, 6.438, 8.232",\
                 "1.342, 1.392, 1.562, 1.863, 2.325, 2.998, 3.92, 5.094, 6.539, 8.291",\
                 "1.553, 1.612, 1.792, 2.112, 2.572, 3.216, 4.103, 5.265, 6.696, 8.417");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1421, 0.1506, 0.1792, 0.2312, 0.3087, 0.4144, 0.551, 0.7217, 0.9283, 1.174",\
                 "0.156, 0.1642, 0.1928, 0.2445, 0.3221, 0.4277, 0.5645, 0.7348, 0.9417, 1.187",\
                 "0.2006, 0.2097, 0.2391, 0.2906, 0.3676, 0.4732, 0.6099, 0.7802, 0.9869, 1.233",\
                 "0.2362, 0.2488, 0.289, 0.3562, 0.4464, 0.5578, 0.6947, 0.8651, 1.072, 1.318",\
                 "0.2398, 0.2564, 0.3094, 0.3969, 0.5129, 0.6526, 0.8141, 0.9969, 1.205, 1.451",\
                 "0.2067, 0.2271, 0.2936, 0.4036, 0.5483, 0.72, 0.9159, 1.134, 1.374, 1.636",\
                 "0.1343, 0.1581, 0.2379, 0.371, 0.546, 0.7532, 0.9868, 1.244, 1.523, 1.826",\
                 "0.0233, 0.0512, 0.1424, 0.2965, 0.5023, 0.7461, 1.02, 1.319, 1.641, 1.987",\
                 "-0.1282, -0.0969, 0.0061, 0.1805, 0.414, 0.6951, 1.01, 1.353, 1.722, 2.113",\
                 "-0.321, -0.2869, -0.1735, 0.0205, 0.282, 0.5974, 0.9547, 1.343, 1.76, 2.202");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.6513, 0.6818, 0.7877, 0.9886, 1.299, 1.733, 2.303, 3.02, 3.895, 4.937",\
                 "0.6613, 0.6918, 0.7985, 1, 1.311, 1.746, 2.317, 3.034, 3.908, 4.951",\
                 "0.6909, 0.7222, 0.8293, 1.032, 1.345, 1.781, 2.352, 3.07, 3.945, 4.988",\
                 "0.744, 0.7744, 0.8807, 1.081, 1.393, 1.828, 2.399, 3.118, 3.993, 5.037",\
                 "0.8444, 0.8753, 0.9811, 1.178, 1.483, 1.912, 2.477, 3.191, 4.064, 5.105",\
                 "1.005, 1.035, 1.141, 1.34, 1.643, 2.062, 2.617, 3.321, 4.184, 5.218",\
                 "1.232, 1.263, 1.37, 1.568, 1.871, 2.292, 2.838, 3.527, 4.377, 5.397",\
                 "1.51, 1.545, 1.659, 1.865, 2.169, 2.59, 3.138, 3.822, 4.654, 5.658",\
                 "1.833, 1.871, 1.996, 2.218, 2.537, 2.959, 3.508, 4.194, 5.026, 6.013",\
                 "2.199, 2.24, 2.379, 2.62, 2.961, 3.401, 3.952, 4.639, 5.475, 6.464");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1525, 0.1658, 0.2107, 0.2943, 0.4203, 0.5955, 0.824, 1.112, 1.462, 1.878",\
                 "0.1516, 0.1649, 0.2103, 0.2938, 0.42, 0.5953, 0.824, 1.112, 1.462, 1.878",\
                 "0.1763, 0.1855, 0.2209, 0.2954, 0.4193, 0.5943, 0.8241, 1.111, 1.462, 1.878",\
                 "0.2752, 0.2851, 0.3198, 0.3831, 0.4784, 0.6204, 0.8298, 1.111, 1.461, 1.88",\
                 "0.4065, 0.4174, 0.455, 0.5244, 0.6278, 0.7676, 0.944, 1.175, 1.484, 1.883",\
                 "0.5708, 0.583, 0.6244, 0.7018, 0.8134, 0.9644, 1.153, 1.385, 1.653, 1.991",\
                 "0.769, 0.7822, 0.8278, 0.9134, 1.037, 1.198, 1.4, 1.645, 1.932, 2.262",\
                 "1.005, 1.018, 1.067, 1.16, 1.295, 1.473, 1.688, 1.948, 2.249, 2.598",\
                 "1.274, 1.287, 1.342, 1.442, 1.592, 1.784, 2.021, 2.294, 2.614, 2.977",\
                 "1.57, 1.589, 1.653, 1.765, 1.929, 2.136, 2.392, 2.685, 3.021, 3.405");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.7891, 0.8437, 1.03, 1.381, 1.925, 2.687, 3.683, 4.938, 6.467, 8.291",\
                 "0.7894, 0.8434, 1.03, 1.381, 1.926, 2.687, 3.685, 4.94, 6.467, 8.291",\
                 "0.7888, 0.8435, 1.03, 1.381, 1.926, 2.687, 3.683, 4.938, 6.468, 8.289",\
                 "0.7938, 0.8464, 1.031, 1.383, 1.926, 2.686, 3.684, 4.941, 6.468, 8.293",\
                 "0.8446, 0.8944, 1.068, 1.401, 1.929, 2.686, 3.685, 4.939, 6.47, 8.293",\
                 "0.914, 0.9636, 1.14, 1.472, 1.981, 2.708, 3.686, 4.939, 6.47, 8.295",\
                 "1.023, 1.07, 1.239, 1.561, 2.074, 2.785, 3.732, 4.952, 6.471, 8.294",\
                 "1.183, 1.231, 1.39, 1.699, 2.189, 2.901, 3.835, 5.024, 6.501, 8.297",\
                 "1.373, 1.423, 1.589, 1.893, 2.358, 3.044, 3.975, 5.15, 6.596, 8.354",\
                 "1.591, 1.642, 1.819, 2.133, 2.591, 3.244, 4.144, 5.316, 6.75, 8.473");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2141, 0.2251, 0.2625, 0.3307, 0.433, 0.5728, 0.7539, 0.98, 1.255, 1.581",\
                 "0.2268, 0.2377, 0.2749, 0.3432, 0.4456, 0.5854, 0.7664, 0.9925, 1.267, 1.593",\
                 "0.2633, 0.2741, 0.3108, 0.3788, 0.481, 0.6209, 0.8019, 1.028, 1.303, 1.629",\
                 "0.3019, 0.3144, 0.356, 0.4295, 0.5353, 0.6751, 0.8559, 1.082, 1.356, 1.683",\
                 "0.3179, 0.3332, 0.3841, 0.4708, 0.5918, 0.7469, 0.9371, 1.165, 1.439, 1.765",\
                 "0.2996, 0.3186, 0.3811, 0.4867, 0.6301, 0.8074, 1.019, 1.267, 1.554, 1.883",\
                 "0.2415, 0.2643, 0.3391, 0.4666, 0.6373, 0.845, 1.085, 1.358, 1.67, 2.022",\
                 "0.1434, 0.17, 0.2565, 0.4052, 0.6057, 0.8471, 1.122, 1.43, 1.77, 2.15",\
                 "0.004, 0.0338, 0.1324, 0.3018, 0.53, 0.8073, 1.121, 1.469, 1.848, 2.262",\
                 "-0.177, -0.1437, -0.0342, 0.154, 0.4103, 0.7208, 1.076, 1.468, 1.891, 2.346");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.6513, 0.6818, 0.7877, 0.9886, 1.299, 1.733, 2.303, 3.02, 3.895, 4.937",\
                 "0.6613, 0.6918, 0.7985, 1, 1.311, 1.746, 2.317, 3.034, 3.908, 4.951",\
                 "0.6909, 0.7222, 0.8293, 1.032, 1.345, 1.781, 2.352, 3.07, 3.945, 4.988",\
                 "0.744, 0.7744, 0.8807, 1.081, 1.393, 1.828, 2.399, 3.118, 3.993, 5.037",\
                 "0.8444, 0.8753, 0.9811, 1.178, 1.483, 1.912, 2.477, 3.191, 4.064, 5.105",\
                 "1.005, 1.035, 1.141, 1.34, 1.643, 2.062, 2.617, 3.321, 4.184, 5.218",\
                 "1.232, 1.263, 1.37, 1.568, 1.871, 2.292, 2.838, 3.527, 4.377, 5.397",\
                 "1.51, 1.545, 1.659, 1.865, 2.169, 2.59, 3.138, 3.822, 4.654, 5.658",\
                 "1.833, 1.871, 1.996, 2.218, 2.537, 2.959, 3.508, 4.194, 5.026, 6.013",\
                 "2.199, 2.24, 2.379, 2.62, 2.961, 3.401, 3.952, 4.639, 5.475, 6.464");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2146, 0.2326, 0.2931, 0.4041, 0.5723, 0.8049, 1.109, 1.491, 1.957, 2.511",\
                 "0.2138, 0.2321, 0.2929, 0.4041, 0.5722, 0.8044, 1.109, 1.491, 1.957, 2.511",\
                 "0.2158, 0.2325, 0.2921, 0.4026, 0.5715, 0.8042, 1.108, 1.491, 1.957, 2.511",\
                 "0.2719, 0.2879, 0.3417, 0.4389, 0.5895, 0.8093, 1.109, 1.491, 1.956, 2.512",\
                 "0.3728, 0.389, 0.4422, 0.538, 0.6846, 0.8888, 1.157, 1.511, 1.961, 2.511",\
                 "0.5154, 0.5334, 0.5896, 0.6872, 0.8318, 1.031, 1.295, 1.628, 2.039, 2.551",\
                 "0.6926, 0.7112, 0.7748, 0.8802, 1.031, 1.23, 1.486, 1.816, 2.22, 2.701",\
                 "0.9042, 0.9262, 0.9922, 1.112, 1.272, 1.482, 1.738, 2.062, 2.459, 2.938",\
                 "1.15, 1.175, 1.248, 1.38, 1.555, 1.777, 2.046, 2.369, 2.762, 3.232",\
                 "1.432, 1.46, 1.542, 1.683, 1.874, 2.118, 2.401, 2.736, 3.13, 3.595");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.898, 0.9502, 1.135, 1.485, 2.028, 2.788, 3.786, 5.041, 6.568, 8.392",\
                 "0.898, 0.9504, 1.135, 1.485, 2.028, 2.788, 3.786, 5.04, 6.568, 8.393",\
                 "0.898, 0.9501, 1.135, 1.485, 2.028, 2.788, 3.785, 5.039, 6.569, 8.392",\
                 "0.9051, 0.9557, 1.136, 1.485, 2.028, 2.788, 3.785, 5.041, 6.569, 8.391",\
                 "0.9624, 1.011, 1.18, 1.51, 2.034, 2.788, 3.785, 5.041, 6.572, 8.395",\
                 "1.046, 1.094, 1.262, 1.585, 2.09, 2.814, 3.789, 5.041, 6.57, 8.393",\
                 "1.18, 1.225, 1.38, 1.689, 2.189, 2.895, 3.84, 5.058, 6.571, 8.393",\
                 "1.367, 1.408, 1.556, 1.845, 2.32, 3.018, 3.946, 5.132, 6.608, 8.402",\
                 "1.585, 1.629, 1.78, 2.062, 2.51, 3.177, 4.096, 5.264, 6.709, 8.46",\
                 "1.831, 1.875, 2.036, 2.329, 2.766, 3.399, 4.281, 5.437, 6.866, 8.585");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1208, 0.1321, 0.1701, 0.2386, 0.3409, 0.4805, 0.6612, 0.8869, 1.161, 1.487",\
                 "0.1344, 0.1457, 0.1837, 0.2525, 0.3549, 0.4947, 0.6755, 0.9013, 1.176, 1.502",\
                 "0.185, 0.1964, 0.233, 0.2992, 0.4008, 0.5402, 0.721, 0.9467, 1.221, 1.547",\
                 "0.2324, 0.2475, 0.2966, 0.379, 0.4902, 0.6287, 0.8084, 1.033, 1.307, 1.633",\
                 "0.2558, 0.2749, 0.3364, 0.4393, 0.5787, 0.7493, 0.9465, 1.173, 1.445, 1.769",\
                 "0.2496, 0.2725, 0.3471, 0.4724, 0.6401, 0.8443, 1.081, 1.348, 1.64, 1.966",\
                 "0.2093, 0.2367, 0.3251, 0.4733, 0.6707, 0.91, 1.186, 1.496, 1.836, 2.206",\
                 "0.1328, 0.1642, 0.2664, 0.4378, 0.6673, 0.9433, 1.26, 1.612, 1.999, 2.42",\
                 "0.0192, 0.055, 0.17, 0.3627, 0.6241, 0.9389, 1.297, 1.696, 2.13, 2.599",\
                 "-0.135, -0.0951, 0.0331, 0.2498, 0.5406, 0.8936, 1.296, 1.741, 2.225, 2.746");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1749, 0.1957, 0.2681, 0.4041, 0.6142, 0.9079, 1.294, 1.78, 2.373, 3.08",\
                 "0.1846, 0.2057, 0.279, 0.4165, 0.628, 0.9231, 1.31, 1.796, 2.39, 3.097",\
                 "0.2426, 0.2627, 0.3332, 0.4686, 0.6795, 0.9747, 1.362, 1.849, 2.443, 3.15",\
                 "0.3488, 0.3732, 0.4531, 0.5897, 0.7952, 1.086, 1.471, 1.956, 2.549, 3.255",\
                 "0.4906, 0.5185, 0.6106, 0.7703, 0.992, 1.278, 1.656, 2.136, 2.725, 3.429",\
                 "0.6684, 0.7019, 0.8081, 0.9875, 1.238, 1.554, 1.933, 2.406, 2.987, 3.685",\
                 "0.8832, 0.9221, 1.046, 1.249, 1.524, 1.874, 2.293, 2.775, 3.35, 4.039",\
                 "1.134, 1.179, 1.322, 1.553, 1.859, 2.238, 2.695, 3.224, 3.817, 4.502",\
                 "1.425, 1.476, 1.639, 1.9, 2.241, 2.652, 3.142, 3.713, 4.359, 5.073",\
                 "1.756, 1.814, 1.997, 2.289, 2.667, 3.119, 3.644, 4.251, 4.943, 5.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.176, 0.1937, 0.2548, 0.3656, 0.5336, 0.7648, 1.068, 1.449, 1.915, 2.47",\
                 "0.1743, 0.1926, 0.2541, 0.3654, 0.5336, 0.7652, 1.069, 1.45, 1.914, 2.47",\
                 "0.1895, 0.2037, 0.2551, 0.3601, 0.5312, 0.7642, 1.068, 1.45, 1.915, 2.469",\
                 "0.2623, 0.2801, 0.3383, 0.4356, 0.5701, 0.7729, 1.067, 1.45, 1.916, 2.469",\
                 "0.3583, 0.3792, 0.4462, 0.5592, 0.716, 0.9106, 1.15, 1.479, 1.918, 2.468",\
                 "0.4758, 0.5026, 0.5834, 0.7116, 0.887, 1.107, 1.371, 1.674, 2.042, 2.522",\
                 "0.6124, 0.6436, 0.7412, 0.8932, 1.091, 1.333, 1.623, 1.959, 2.34, 2.768",\
                 "0.7652, 0.8018, 0.9158, 1.095, 1.323, 1.594, 1.905, 2.27, 2.685, 3.15",\
                 "0.9364, 0.9784, 1.111, 1.319, 1.58, 1.885, 2.231, 2.618, 3.063, 3.562",\
                 "1.127, 1.176, 1.325, 1.56, 1.859, 2.202, 2.588, 3.011, 3.478, 4.006");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.3584, 0.3985, 0.5366, 0.7954, 1.189, 1.724, 2.414, 3.272, 4.313, 5.551",\
                 "0.3584, 0.3979, 0.5366, 0.7956, 1.189, 1.724, 2.414, 3.271, 4.312, 5.552",\
                 "0.3675, 0.4029, 0.5365, 0.7956, 1.189, 1.724, 2.414, 3.271, 4.311, 5.551",\
                 "0.4534, 0.4872, 0.595, 0.8156, 1.19, 1.725, 2.414, 3.272, 4.313, 5.552",\
                 "0.5584, 0.5924, 0.7172, 0.935, 1.257, 1.738, 2.414, 3.272, 4.312, 5.552",\
                 "0.7092, 0.7398, 0.8558, 1.089, 1.427, 1.865, 2.466, 3.278, 4.314, 5.553",\
                 "0.9062, 0.9346, 1.042, 1.264, 1.617, 2.085, 2.651, 3.382, 4.34, 5.554",\
                 "1.135, 1.165, 1.271, 1.484, 1.832, 2.318, 2.922, 3.631, 4.508, 5.623",\
                 "1.386, 1.417, 1.527, 1.747, 2.086, 2.573, 3.202, 3.957, 4.819, 5.856",\
                 "1.66, 1.69, 1.803, 2.037, 2.386, 2.866, 3.504, 4.296, 5.207, 6.233");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.11, 0.12, 0.1545, 0.2184, 0.3161, 0.452, 0.6299, 0.8534, 1.126, 1.451",\
                 "0.1235, 0.1335, 0.1681, 0.2322, 0.3302, 0.4661, 0.6441, 0.8677, 1.14, 1.465",\
                 "0.1672, 0.1785, 0.215, 0.2782, 0.3757, 0.5116, 0.6895, 0.9132, 1.186, 1.511",\
                 "0.1998, 0.2152, 0.2648, 0.3487, 0.4614, 0.6001, 0.7769, 0.9998, 1.272, 1.596",\
                 "0.2063, 0.2263, 0.2903, 0.3965, 0.5388, 0.7124, 0.9124, 1.139, 1.409, 1.733",\
                 "0.1828, 0.2067, 0.2864, 0.4165, 0.5891, 0.7977, 1.039, 1.308, 1.603, 1.929",\
                 "0.1253, 0.154, 0.2477, 0.4037, 0.6092, 0.8546, 1.135, 1.448, 1.793, 2.165",\
                 "0.0325, 0.0664, 0.1748, 0.3546, 0.5929, 0.8774, 1.2, 1.558, 1.949, 2.373",\
                 "-0.0977, -0.0594, 0.0635, 0.2672, 0.5381, 0.8621, 1.229, 1.633, 2.073, 2.546",\
                 "-0.269, -0.2262, -0.0888, 0.1403, 0.4426, 0.8067, 1.219, 1.671, 2.161, 2.686");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1749, 0.1958, 0.2681, 0.4041, 0.6142, 0.908, 1.294, 1.78, 2.373, 3.079",\
                 "0.1846, 0.2057, 0.279, 0.4166, 0.6283, 0.9231, 1.31, 1.796, 2.39, 3.097",\
                 "0.2426, 0.2627, 0.3331, 0.4686, 0.6795, 0.9747, 1.362, 1.849, 2.443, 3.15",\
                 "0.3489, 0.3732, 0.4531, 0.5898, 0.7955, 1.086, 1.471, 1.956, 2.549, 3.255",\
                 "0.4905, 0.5185, 0.6107, 0.7703, 0.992, 1.278, 1.656, 2.136, 2.725, 3.428",\
                 "0.6688, 0.702, 0.8083, 0.9875, 1.238, 1.554, 1.933, 2.405, 2.987, 3.685",\
                 "0.883, 0.9221, 1.046, 1.249, 1.524, 1.875, 2.293, 2.775, 3.35, 4.039",\
                 "1.134, 1.18, 1.322, 1.554, 1.859, 2.238, 2.695, 3.224, 3.817, 4.501",\
                 "1.425, 1.476, 1.639, 1.9, 2.241, 2.652, 3.143, 3.713, 4.359, 5.072",\
                 "1.756, 1.814, 1.997, 2.289, 2.668, 3.12, 3.644, 4.252, 4.943, 5.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1454, 0.1619, 0.2193, 0.3266, 0.4919, 0.7224, 1.025, 1.407, 1.873, 2.427",\
                 "0.1444, 0.1615, 0.2194, 0.3267, 0.4919, 0.7223, 1.025, 1.407, 1.873, 2.426",\
                 "0.1688, 0.1826, 0.2291, 0.3261, 0.4912, 0.7222, 1.026, 1.407, 1.872, 2.426",\
                 "0.2395, 0.256, 0.3138, 0.4104, 0.5446, 0.7396, 1.026, 1.407, 1.873, 2.426",\
                 "0.3356, 0.3551, 0.4225, 0.5338, 0.691, 0.8856, 1.123, 1.443, 1.876, 2.426",\
                 "0.45, 0.4762, 0.5578, 0.6882, 0.8618, 1.082, 1.345, 1.65, 2.014, 2.487",\
                 "0.5826, 0.615, 0.7124, 0.8678, 1.066, 1.308, 1.597, 1.933, 2.315, 2.742",\
                 "0.7352, 0.7692, 0.8854, 1.069, 1.298, 1.57, 1.882, 2.245, 2.663, 3.125",\
                 "0.8992, 0.9448, 1.076, 1.289, 1.553, 1.86, 2.206, 2.596, 3.036, 3.535",\
                 "1.082, 1.133, 1.287, 1.525, 1.831, 2.178, 2.56, 2.983, 3.456, 3.979");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.3417, 0.379, 0.5079, 0.749, 1.118, 1.633, 2.308, 3.16, 4.199, 5.433",\
                 "0.3416, 0.3787, 0.5077, 0.7486, 1.118, 1.633, 2.309, 3.158, 4.195, 5.436",\
                 "0.3505, 0.3838, 0.5079, 0.7487, 1.12, 1.633, 2.309, 3.158, 4.195, 5.437",\
                 "0.4288, 0.4615, 0.5652, 0.7687, 1.119, 1.634, 2.309, 3.16, 4.198, 5.434",\
                 "0.5234, 0.5556, 0.6728, 0.883, 1.187, 1.648, 2.309, 3.16, 4.199, 5.432",\
                 "0.655, 0.6858, 0.7978, 1.019, 1.348, 1.773, 2.36, 3.166, 4.199, 5.434",\
                 "0.818, 0.8498, 0.9624, 1.18, 1.523, 1.984, 2.545, 3.269, 4.225, 5.44",\
                 "1.003, 1.038, 1.158, 1.379, 1.722, 2.202, 2.809, 3.516, 4.393, 5.509",\
                 "1.204, 1.245, 1.376, 1.613, 1.959, 2.446, 3.082, 3.839, 4.703, 5.741",\
                 "1.426, 1.469, 1.611, 1.869, 2.237, 2.726, 3.366, 4.167, 5.09, 6.116");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.09211, 0.1001, 0.1276, 0.1786, 0.2564, 0.3645, 0.5059, 0.6834, 0.9001, 1.158",\
                 "0.1065, 0.1145, 0.1421, 0.1932, 0.2712, 0.3794, 0.5208, 0.6985, 0.915, 1.173",\
                 "0.1487, 0.1585, 0.1906, 0.2437, 0.3212, 0.4292, 0.5706, 0.7483, 0.9649, 1.223",\
                 "0.1736, 0.1876, 0.2325, 0.3071, 0.4065, 0.5252, 0.6667, 0.8439, 1.06, 1.318",\
                 "0.1696, 0.1882, 0.2469, 0.3436, 0.4715, 0.6253, 0.8007, 0.9941, 1.211, 1.468",\
                 "0.1319, 0.1548, 0.2284, 0.3485, 0.5067, 0.6946, 0.9092, 1.146, 1.404, 1.679",\
                 "0.0575, 0.0847, 0.1715, 0.3166, 0.5062, 0.7312, 0.9851, 1.265, 1.569, 1.896",\
                 "-0.0565, -0.0247, 0.0772, 0.2451, 0.4664, 0.7289, 1.025, 1.349, 1.7, 2.075",\
                 "-0.212, -0.176, -0.0603, 0.1305, 0.3833, 0.6847, 1.023, 1.393, 1.792, 2.217",\
                 "-0.4125, -0.3724, -0.2423, -0.0273, 0.2559, 0.5941, 0.9774, 1.394, 1.842, 2.32");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1742, 0.1953, 0.2674, 0.4032, 0.6134, 0.9073, 1.293, 1.78, 2.372, 3.079",\
                 "0.1823, 0.2036, 0.2767, 0.4142, 0.6259, 0.9207, 1.308, 1.794, 2.388, 3.094",\
                 "0.2413, 0.2612, 0.3314, 0.4661, 0.6766, 0.9716, 1.359, 1.846, 2.44, 3.147",\
                 "0.3513, 0.3752, 0.4544, 0.59, 0.7948, 1.085, 1.469, 1.954, 2.546, 3.252",\
                 "0.4989, 0.5265, 0.6173, 0.7759, 0.9954, 1.28, 1.657, 2.137, 2.724, 3.427",\
                 "0.6863, 0.7189, 0.8233, 1, 1.249, 1.563, 1.94, 2.411, 2.991, 3.686",\
                 "0.9132, 0.9515, 1.072, 1.272, 1.544, 1.892, 2.307, 2.787, 3.36, 4.048",\
                 "1.182, 1.226, 1.364, 1.591, 1.891, 2.267, 2.721, 3.245, 3.836, 4.517",\
                 "1.493, 1.543, 1.702, 1.956, 2.289, 2.696, 3.181, 3.748, 4.39, 5.098",\
                 "1.851, 1.907, 2.084, 2.369, 2.738, 3.182, 3.7, 4.302, 4.989, 5.753");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1102, 0.1236, 0.1686, 0.2526, 0.3827, 0.5652, 0.8042, 1.105, 1.473, 1.91",\
                 "0.1098, 0.1229, 0.1681, 0.2528, 0.383, 0.5652, 0.8043, 1.104, 1.472, 1.908",\
                 "0.1452, 0.1571, 0.1929, 0.261, 0.3833, 0.5649, 0.8035, 1.104, 1.473, 1.91",\
                 "0.2162, 0.231, 0.2798, 0.3595, 0.4668, 0.606, 0.8142, 1.106, 1.472, 1.91",\
                 "0.3093, 0.3277, 0.3875, 0.4837, 0.6148, 0.7746, 0.9592, 1.188, 1.5, 1.913",\
                 "0.4198, 0.4434, 0.5174, 0.634, 0.7848, 0.9698, 1.188, 1.434, 1.705, 2.042",\
                 "0.5474, 0.5762, 0.6658, 0.808, 0.9854, 1.194, 1.438, 1.719, 2.029, 2.366",\
                 "0.6932, 0.7278, 0.8328, 1.001, 1.207, 1.451, 1.72, 2.028, 2.373, 2.753",\
                 "0.8542, 0.8966, 1.02, 1.211, 1.452, 1.728, 2.038, 2.373, 2.747, 3.162",\
                 "1.027, 1.077, 1.225, 1.445, 1.718, 2.033, 2.378, 2.754, 3.163, 3.605");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.3417, 0.379, 0.5081, 0.7496, 1.12, 1.633, 2.308, 3.16, 4.2, 5.432",\
                 "0.3414, 0.379, 0.5079, 0.7487, 1.118, 1.633, 2.308, 3.158, 4.199, 5.437",\
                 "0.3511, 0.3842, 0.508, 0.7487, 1.118, 1.633, 2.309, 3.159, 4.198, 5.434",\
                 "0.4272, 0.4604, 0.5642, 0.7686, 1.119, 1.634, 2.309, 3.159, 4.197, 5.435",\
                 "0.516, 0.5492, 0.668, 0.8794, 1.185, 1.647, 2.309, 3.159, 4.196, 5.438",\
                 "0.641, 0.672, 0.7862, 1.009, 1.343, 1.769, 2.357, 3.165, 4.199, 5.434",\
                 "0.7982, 0.8294, 0.942, 1.162, 1.508, 1.974, 2.538, 3.267, 4.225, 5.439",\
                 "0.9762, 1.01, 1.129, 1.35, 1.696, 2.188, 2.793, 3.503, 4.387, 5.505",\
                 "1.174, 1.211, 1.338, 1.572, 1.922, 2.412, 3.054, 3.819, 4.686, 5.729",\
                 "1.391, 1.428, 1.569, 1.82, 2.186, 2.677, 3.326, 4.128, 5.057, 6.093");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.08134, 0.09059, 0.1232, 0.1849, 0.281, 0.4157, 0.5928, 0.8156, 1.088, 1.412",\
                 "0.09441, 0.1038, 0.1364, 0.1987, 0.2951, 0.4299, 0.6071, 0.8295, 1.102, 1.426",\
                 "0.1276, 0.1401, 0.1797, 0.2446, 0.3405, 0.4752, 0.6521, 0.8751, 1.147, 1.471",\
                 "0.141, 0.1585, 0.2138, 0.3034, 0.4216, 0.5635, 0.7397, 0.9617, 1.233, 1.557",\
                 "0.1271, 0.1503, 0.2226, 0.338, 0.4875, 0.6667, 0.8718, 1.101, 1.371, 1.694",\
                 "0.083, 0.1112, 0.2008, 0.3434, 0.527, 0.743, 0.9891, 1.264, 1.563, 1.89",\
                 "0.0056, 0.0395, 0.1454, 0.3155, 0.5338, 0.7895, 1.077, 1.396, 1.745, 2.121",\
                 "-0.1072, -0.0679, 0.0557, 0.2522, 0.5036, 0.8018, 1.133, 1.498, 1.895, 2.324",\
                 "-0.2584, -0.2135, -0.0727, 0.1509, 0.4383, 0.7764, 1.153, 1.566, 2.013, 2.491",\
                 "-0.4502, -0.3996, -0.2418, 0.0092, 0.33, 0.7086, 1.134, 1.596, 2.093, 2.624");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1692, 0.19, 0.2625, 0.3981, 0.6071, 0.8997, 1.285, 1.769, 2.361, 3.068",\
                 "0.1788, 0.1998, 0.2729, 0.4102, 0.6212, 0.9158, 1.301, 1.787, 2.379, 3.083",\
                 "0.2367, 0.2569, 0.3271, 0.4624, 0.6727, 0.9669, 1.354, 1.84, 2.431, 3.139",\
                 "0.3408, 0.3655, 0.446, 0.5832, 0.7882, 1.078, 1.462, 1.947, 2.537, 3.243",\
                 "0.4802, 0.5085, 0.6016, 0.7623, 0.9841, 1.27, 1.647, 2.126, 2.714, 3.417",\
                 "0.6554, 0.6898, 0.7972, 0.9775, 1.229, 1.545, 1.924, 2.395, 2.976, 3.671",\
                 "0.8658, 0.9061, 1.032, 1.236, 1.513, 1.864, 2.282, 2.764, 3.337, 4.026",\
                 "1.112, 1.159, 1.305, 1.538, 1.845, 2.225, 2.683, 3.211, 3.805, 4.487",\
                 "1.396, 1.45, 1.617, 1.881, 2.224, 2.638, 3.127, 3.699, 4.345, 5.058",\
                 "1.721, 1.782, 1.97, 2.267, 2.648, 3.101, 3.627, 4.234, 4.926, 5.695");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1073, 0.1237, 0.1804, 0.2868, 0.4514, 0.6816, 0.9852, 1.366, 1.831, 2.385",\
                 "0.1054, 0.1222, 0.1796, 0.2863, 0.451, 0.682, 0.9853, 1.366, 1.831, 2.385",\
                 "0.1431, 0.1578, 0.2044, 0.2926, 0.4505, 0.6815, 0.9839, 1.364, 1.829, 2.381",\
                 "0.2131, 0.231, 0.2871, 0.3854, 0.5196, 0.7073, 0.9855, 1.363, 1.828, 2.382",\
                 "0.3068, 0.3287, 0.3971, 0.5084, 0.6642, 0.8616, 1.097, 1.411, 1.837, 2.383",\
                 "0.4174, 0.445, 0.5292, 0.6624, 0.8356, 1.057, 1.32, 1.625, 1.984, 2.452",\
                 "0.5454, 0.578, 0.6806, 0.8394, 1.041, 1.281, 1.569, 1.906, 2.288, 2.714",\
                 "0.69, 0.728, 0.8494, 1.036, 1.27, 1.543, 1.856, 2.217, 2.632, 3.097",\
                 "0.8464, 0.8952, 1.037, 1.252, 1.524, 1.832, 2.18, 2.567, 3.01, 3.508",\
                 "1.016, 1.071, 1.239, 1.49, 1.794, 2.146, 2.533, 2.963, 3.43, 3.953");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2481, 0.2835, 0.407, 0.6416, 1.007, 1.519, 2.199, 3.051, 4.091, 5.32",\
                 "0.2475, 0.283, 0.4066, 0.6425, 1.009, 1.523, 2.197, 3.047, 4.093, 5.328",\
                 "0.257, 0.2883, 0.4068, 0.6412, 1.008, 1.522, 2.2, 3.05, 4.087, 5.327",\
                 "0.3168, 0.3512, 0.4618, 0.6614, 1.009, 1.521, 2.197, 3.049, 4.084, 5.324",\
                 "0.3906, 0.426, 0.5492, 0.7692, 1.075, 1.537, 2.198, 3.045, 4.092, 5.327",\
                 "0.4948, 0.5324, 0.6556, 0.8876, 1.228, 1.66, 2.245, 3.055, 4.085, 5.322",\
                 "0.6214, 0.6614, 0.7968, 1.035, 1.389, 1.863, 2.43, 3.157, 4.117, 5.332",\
                 "0.7616, 0.8104, 0.9622, 1.216, 1.576, 2.071, 2.687, 3.402, 4.279, 5.4",\
                 "0.919, 0.974, 1.144, 1.424, 1.799, 2.3, 2.947, 3.715, 4.587, 5.625",\
                 "1.088, 1.151, 1.346, 1.658, 2.063, 2.571, 3.226, 4.03, 4.963, 6.004");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.07065, 0.07809, 0.104, 0.153, 0.2293, 0.3361, 0.4769, 0.6536, 0.8702, 1.128",\
                 "0.08456, 0.09202, 0.1181, 0.1676, 0.2439, 0.3509, 0.4916, 0.6689, 0.8851, 1.142",\
                 "0.114, 0.1252, 0.1604, 0.2169, 0.294, 0.4008, 0.5413, 0.7185, 0.9349, 1.192",\
                 "0.1207, 0.1367, 0.1871, 0.2676, 0.372, 0.4952, 0.6374, 0.8138, 1.029, 1.286",\
                 "0.09682, 0.1183, 0.185, 0.2906, 0.4262, 0.5857, 0.7656, 0.9627, 1.181, 1.437",\
                 "0.0396, 0.0662, 0.1489, 0.2817, 0.4499, 0.646, 0.8661, 1.108, 1.369, 1.647",\
                 "-0.0541, -0.0224, 0.0773, 0.2356, 0.438, 0.6717, 0.9336, 1.219, 1.528, 1.858",\
                 "-0.1874, -0.1504, -0.0342, 0.1501, 0.3858, 0.6599, 0.9642, 1.296, 1.651, 2.031",\
                 "-0.3625, -0.3206, -0.1879, 0.0225, 0.2912, 0.6046, 0.9542, 1.333, 1.738, 2.168",\
                 "-0.5829, -0.535, -0.3858, -0.1494, 0.153, 0.5047, 0.8988, 1.326, 1.781, 2.264");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1687, 0.1895, 0.2616, 0.3974, 0.607, 0.8997, 1.285, 1.768, 2.361, 3.066",\
                 "0.1767, 0.1979, 0.2706, 0.4081, 0.6188, 0.9134, 1.299, 1.784, 2.377, 3.084",\
                 "0.2355, 0.2555, 0.3253, 0.4598, 0.6698, 0.9638, 1.35, 1.836, 2.428, 3.133",\
                 "0.3434, 0.3678, 0.4473, 0.5836, 0.7878, 1.077, 1.459, 1.943, 2.536, 3.239",\
                 "0.4886, 0.5169, 0.6086, 0.7676, 0.9878, 1.272, 1.649, 2.127, 2.713, 3.415",\
                 "0.6734, 0.7065, 0.8127, 0.9903, 1.239, 1.553, 1.931, 2.4, 2.979, 3.673",\
                 "0.8965, 0.9358, 1.059, 1.26, 1.533, 1.88, 2.296, 2.776, 3.347, 4.034",\
                 "1.159, 1.206, 1.347, 1.576, 1.878, 2.253, 2.708, 3.233, 3.822, 4.504",\
                 "1.466, 1.518, 1.681, 1.938, 2.274, 2.681, 3.166, 3.733, 4.375, 5.084",\
                 "1.818, 1.876, 2.059, 2.348, 2.72, 3.165, 3.683, 4.284, 4.972, 5.737");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.08308, 0.09552, 0.1392, 0.2223, 0.3516, 0.533, 0.772, 1.074, 1.44, 1.88",\
                 "0.08274, 0.09506, 0.1389, 0.2223, 0.3516, 0.5334, 0.772, 1.074, 1.441, 1.881",\
                 "0.1269, 0.139, 0.1765, 0.2403, 0.3537, 0.5328, 0.7718, 1.073, 1.439, 1.88",\
                 "0.1961, 0.2116, 0.2597, 0.3412, 0.4495, 0.5855, 0.7863, 1.072, 1.438, 1.875",\
                 "0.2851, 0.3052, 0.3667, 0.4644, 0.5948, 0.7562, 0.9426, 1.166, 1.473, 1.88",\
                 "0.3926, 0.4172, 0.4932, 0.614, 0.766, 0.9508, 1.168, 1.416, 1.687, 2.019",\
                 "0.5156, 0.5466, 0.6386, 0.7828, 0.9634, 1.176, 1.418, 1.697, 2.009, 2.348",\
                 "0.6532, 0.6912, 0.8036, 0.974, 1.186, 1.428, 1.701, 2.007, 2.353, 2.731",\
                 "0.8018, 0.8484, 0.9852, 1.182, 1.428, 1.706, 2.015, 2.355, 2.727, 3.14",\
                 "0.962, 1.017, 1.177, 1.411, 1.691, 2.009, 2.354, 2.733, 3.14, 3.583");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2481, 0.2833, 0.4065, 0.6428, 1.009, 1.522, 2.196, 3.051, 4.09, 5.321",\
                 "0.2478, 0.2831, 0.4068, 0.6426, 1.009, 1.523, 2.196, 3.046, 4.087, 5.332",\
                 "0.258, 0.2887, 0.4067, 0.6425, 1.008, 1.521, 2.196, 3.049, 4.083, 5.331",\
                 "0.3155, 0.3497, 0.4608, 0.6619, 1.01, 1.522, 2.197, 3.052, 4.09, 5.322",\
                 "0.384, 0.4212, 0.5446, 0.7652, 1.074, 1.537, 2.196, 3.051, 4.085, 5.334",\
                 "0.4852, 0.52, 0.646, 0.88, 1.223, 1.655, 2.245, 3.054, 4.091, 5.323",\
                 "0.604, 0.6456, 0.781, 1.017, 1.376, 1.852, 2.426, 3.157, 4.108, 5.326",\
                 "0.7406, 0.7882, 0.9376, 1.187, 1.549, 2.054, 2.671, 3.39, 4.273, 5.389",\
                 "0.8944, 0.9478, 1.121, 1.387, 1.761, 2.27, 2.922, 3.695, 4.569, 5.614",\
                 "1.061, 1.122, 1.309, 1.61, 2.01, 2.523, 3.19, 4.002, 4.935, 5.977");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.07067, 0.0781, 0.104, 0.1531, 0.2294, 0.3361, 0.477, 0.6538, 0.8705, 1.128",\
                 "0.08458, 0.09205, 0.1182, 0.1676, 0.244, 0.351, 0.4918, 0.6692, 0.8854, 1.142",\
                 "0.1141, 0.1252, 0.1604, 0.217, 0.294, 0.4009, 0.5416, 0.7187, 0.9352, 1.192",\
                 "0.1207, 0.1367, 0.1871, 0.2676, 0.372, 0.4952, 0.6376, 0.814, 1.03, 1.287",\
                 "0.09687, 0.1183, 0.185, 0.2906, 0.4263, 0.5858, 0.7658, 0.9631, 1.181, 1.437",\
                 "0.0396, 0.0663, 0.149, 0.2818, 0.45, 0.6462, 0.8663, 1.108, 1.369, 1.648",\
                 "-0.054, -0.0223, 0.0774, 0.2358, 0.4382, 0.6724, 0.934, 1.219, 1.528, 1.858",\
                 "-0.1873, -0.1502, -0.0341, 0.1502, 0.386, 0.6601, 0.9649, 1.297, 1.652, 2.031",\
                 "-0.3624, -0.3205, -0.1877, 0.0228, 0.2914, 0.6048, 0.9546, 1.333, 1.738, 2.168",\
                 "-0.5827, -0.5347, -0.3855, -0.1491, 0.1533, 0.5052, 0.8991, 1.327, 1.782, 2.265");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1687, 0.1895, 0.2616, 0.3975, 0.607, 0.8997, 1.285, 1.768, 2.361, 3.066",\
                 "0.1765, 0.1977, 0.2706, 0.4081, 0.6188, 0.9134, 1.299, 1.784, 2.378, 3.084",\
                 "0.2355, 0.2555, 0.3254, 0.4599, 0.67, 0.9638, 1.35, 1.835, 2.428, 3.136",\
                 "0.3434, 0.3677, 0.4473, 0.5836, 0.7877, 1.077, 1.46, 1.944, 2.534, 3.239",\
                 "0.4889, 0.5168, 0.6087, 0.7677, 0.9878, 1.272, 1.648, 2.126, 2.713, 3.415",\
                 "0.6735, 0.7065, 0.8122, 0.9902, 1.24, 1.553, 1.93, 2.4, 2.979, 3.674",\
                 "0.8964, 0.9358, 1.059, 1.259, 1.533, 1.881, 2.296, 2.775, 3.347, 4.033",\
                 "1.16, 1.206, 1.348, 1.576, 1.877, 2.253, 2.707, 3.232, 3.822, 4.503",\
                 "1.466, 1.518, 1.68, 1.938, 2.274, 2.68, 3.166, 3.733, 4.375, 5.085",\
                 "1.817, 1.876, 2.058, 2.348, 2.719, 3.165, 3.683, 4.285, 4.972, 5.736");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.08312, 0.09556, 0.1393, 0.2224, 0.3517, 0.5335, 0.7722, 1.075, 1.44, 1.88",\
                 "0.08278, 0.09514, 0.139, 0.2223, 0.3517, 0.5336, 0.7723, 1.074, 1.441, 1.882",\
                 "0.1269, 0.139, 0.1765, 0.2404, 0.3539, 0.5329, 0.7734, 1.074, 1.44, 1.881",\
                 "0.1961, 0.2116, 0.2598, 0.3413, 0.4496, 0.5853, 0.7866, 1.072, 1.439, 1.878",\
                 "0.2851, 0.3052, 0.3666, 0.4645, 0.5946, 0.7564, 0.9422, 1.167, 1.473, 1.881",\
                 "0.3926, 0.4172, 0.4932, 0.6136, 0.766, 0.9506, 1.168, 1.415, 1.687, 2.02",\
                 "0.5156, 0.5466, 0.6386, 0.783, 0.9634, 1.174, 1.419, 1.697, 2.01, 2.349",\
                 "0.6534, 0.6914, 0.8034, 0.974, 1.186, 1.428, 1.702, 2.007, 2.353, 2.732",\
                 "0.802, 0.8486, 0.9852, 1.182, 1.428, 1.706, 2.015, 2.354, 2.727, 3.141",\
                 "0.9622, 1.016, 1.177, 1.411, 1.691, 2.011, 2.355, 2.734, 3.143, 3.583");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2481, 0.2833, 0.4066, 0.6428, 1.009, 1.522, 2.196, 3.051, 4.09, 5.321",\
                 "0.2478, 0.283, 0.4068, 0.6426, 1.008, 1.523, 2.196, 3.046, 4.087, 5.332",\
                 "0.2572, 0.2884, 0.4065, 0.6425, 1.008, 1.521, 2.199, 3.051, 4.083, 5.33",\
                 "0.3154, 0.3499, 0.4611, 0.661, 1.01, 1.522, 2.198, 3.046, 4.089, 5.321",\
                 "0.3838, 0.42, 0.5446, 0.766, 1.074, 1.537, 2.199, 3.049, 4.09, 5.334",\
                 "0.4848, 0.5204, 0.647, 0.8794, 1.223, 1.655, 2.243, 3.055, 4.091, 5.32",\
                 "0.6042, 0.6456, 0.7798, 1.019, 1.376, 1.853, 2.425, 3.156, 4.117, 5.327",\
                 "0.7406, 0.7884, 0.9374, 1.188, 1.551, 2.055, 2.67, 3.391, 4.271, 5.396",\
                 "0.8952, 0.9476, 1.113, 1.389, 1.764, 2.27, 2.919, 3.695, 4.572, 5.614",\
                 "1.063, 1.122, 1.311, 1.61, 2.012, 2.523, 3.186, 4.005, 4.937, 5.978");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.06682, 0.07368, 0.09753, 0.1429, 0.2135, 0.3124, 0.4426, 0.6063, 0.8061, 1.045",\
                 "0.08098, 0.08795, 0.1121, 0.1578, 0.2285, 0.3275, 0.4577, 0.6216, 0.8214, 1.06",\
                 "0.1092, 0.1198, 0.1536, 0.2077, 0.2797, 0.3786, 0.5087, 0.6727, 0.8729, 1.111",\
                 "0.1133, 0.1288, 0.1776, 0.2552, 0.3556, 0.4733, 0.6074, 0.7702, 0.9699, 1.208",\
                 "0.08603, 0.1072, 0.1721, 0.2748, 0.4056, 0.5589, 0.7313, 0.9197, 1.124, 1.362",\
                 "0.0244, 0.0504, 0.1315, 0.2594, 0.4241, 0.6136, 0.8253, 1.057, 1.308, 1.573",\
                 "-0.075, -0.0439, 0.0534, 0.2077, 0.4052, 0.6324, 0.8856, 1.161, 1.457, 1.774",\
                 "-0.2152, -0.1788, -0.0651, 0.1152, 0.3439, 0.6122, 0.9075, 1.229, 1.571, 1.936",\
                 "-0.3984, -0.3574, -0.2273, -0.0212, 0.2411, 0.5471, 0.8876, 1.254, 1.646, 2.061",\
                 "-0.6271, -0.5805, -0.436, -0.2041, 0.0924, 0.4354, 0.82, 1.235, 1.676, 2.142");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1682, 0.1891, 0.2615, 0.3971, 0.6062, 0.899, 1.285, 1.769, 2.361, 3.067",\
                 "0.1757, 0.1966, 0.2696, 0.407, 0.6179, 0.912, 1.298, 1.782, 2.376, 3.083",\
                 "0.2352, 0.2551, 0.3247, 0.4589, 0.6685, 0.9626, 1.349, 1.835, 2.427, 3.132",\
                 "0.3444, 0.3686, 0.4481, 0.5838, 0.7875, 1.077, 1.459, 1.943, 2.535, 3.237",\
                 "0.4915, 0.5196, 0.6112, 0.7693, 0.9894, 1.274, 1.649, 2.126, 2.713, 3.414",\
                 "0.679, 0.712, 0.8177, 0.9946, 1.243, 1.557, 1.933, 2.402, 2.981, 3.675",\
                 "0.9069, 0.9461, 1.068, 1.267, 1.54, 1.887, 2.302, 2.781, 3.351, 4.037",\
                 "1.177, 1.222, 1.363, 1.589, 1.889, 2.264, 2.717, 3.24, 3.83, 4.509",\
                 "1.491, 1.542, 1.702, 1.958, 2.29, 2.696, 3.18, 3.746, 4.386, 5.094",\
                 "1.85, 1.908, 2.088, 2.376, 2.745, 3.186, 3.703, 4.303, 4.989, 5.751");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.07606, 0.0876, 0.1277, 0.204, 0.3236, 0.4909, 0.7116, 0.9904, 1.329, 1.731",\
                 "0.07616, 0.08744, 0.1276, 0.2043, 0.3236, 0.4911, 0.7112, 0.9888, 1.329, 1.732",\
                 "0.1215, 0.1329, 0.1686, 0.2262, 0.3274, 0.4913, 0.7115, 0.9898, 1.328, 1.733",\
                 "0.1905, 0.2051, 0.251, 0.3276, 0.4295, 0.5528, 0.7321, 0.9895, 1.327, 1.732",\
                 "0.278, 0.2974, 0.3571, 0.4495, 0.573, 0.7252, 0.8988, 1.1, 1.374, 1.74",\
                 "0.3838, 0.4072, 0.482, 0.5972, 0.743, 0.9176, 1.125, 1.354, 1.606, 1.901",\
                 "0.507, 0.5362, 0.626, 0.7642, 0.9378, 1.14, 1.37, 1.633, 1.926, 2.244",\
                 "0.6406, 0.6774, 0.7888, 0.9514, 1.157, 1.389, 1.653, 1.941, 2.265, 2.626",\
                 "0.787, 0.8312, 0.9652, 1.158, 1.395, 1.666, 1.961, 2.286, 2.639, 3.029",\
                 "0.9448, 0.997, 1.154, 1.386, 1.656, 1.961, 2.296, 2.656, 3.047, 3.472");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2479, 0.2832, 0.4072, 0.6428, 1.009, 1.521, 2.199, 3.048, 4.087, 5.325",\
                 "0.2478, 0.2831, 0.4067, 0.6425, 1.008, 1.521, 2.199, 3.048, 4.083, 5.329",\
                 "0.2577, 0.2885, 0.4065, 0.6424, 1.007, 1.522, 2.198, 3.05, 4.085, 5.331",\
                 "0.3145, 0.3496, 0.4606, 0.661, 1.01, 1.522, 2.196, 3.049, 4.09, 5.329",\
                 "0.383, 0.418, 0.5428, 0.7644, 1.073, 1.537, 2.195, 3.049, 4.092, 5.332",\
                 "0.4808, 0.5174, 0.6426, 0.8764, 1.22, 1.654, 2.245, 3.055, 4.091, 5.32",\
                 "0.599, 0.6408, 0.7734, 1.013, 1.371, 1.849, 2.422, 3.153, 4.113, 5.331",\
                 "0.734, 0.7804, 0.9294, 1.178, 1.544, 2.044, 2.669, 3.387, 4.268, 5.395",\
                 "0.8872, 0.94, 1.103, 1.376, 1.751, 2.258, 2.912, 3.688, 4.562, 5.613",\
                 "1.055, 1.113, 1.295, 1.593, 1.995, 2.511, 3.169, 3.992, 4.924, 5.971");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1208, 0.1321, 0.1701, 0.2386, 0.3409, 0.4805, 0.6612, 0.8869, 1.161, 1.487",\
                 "0.1344, 0.1457, 0.1837, 0.2525, 0.3549, 0.4947, 0.6755, 0.9013, 1.176, 1.502",\
                 "0.185, 0.1964, 0.233, 0.2992, 0.4008, 0.5402, 0.721, 0.9467, 1.221, 1.547",\
                 "0.2324, 0.2475, 0.2966, 0.379, 0.4902, 0.6287, 0.8084, 1.033, 1.307, 1.633",\
                 "0.2558, 0.2749, 0.3364, 0.4393, 0.5787, 0.7493, 0.9465, 1.173, 1.445, 1.769",\
                 "0.2496, 0.2725, 0.3471, 0.4724, 0.6401, 0.8443, 1.081, 1.348, 1.64, 1.966",\
                 "0.2093, 0.2367, 0.3251, 0.4733, 0.6707, 0.91, 1.186, 1.496, 1.836, 2.206",\
                 "0.1328, 0.1642, 0.2664, 0.4378, 0.6673, 0.9433, 1.26, 1.612, 1.999, 2.42",\
                 "0.0192, 0.055, 0.17, 0.3627, 0.6241, 0.9389, 1.297, 1.696, 2.13, 2.599",\
                 "-0.135, -0.0951, 0.0331, 0.2498, 0.5406, 0.8936, 1.296, 1.741, 2.225, 2.746");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1742, 0.1953, 0.2674, 0.4032, 0.6134, 0.9073, 1.293, 1.78, 2.372, 3.079",\
                 "0.1823, 0.2036, 0.2767, 0.4142, 0.6259, 0.9207, 1.308, 1.794, 2.388, 3.094",\
                 "0.2413, 0.2612, 0.3314, 0.4661, 0.6766, 0.9716, 1.359, 1.846, 2.44, 3.147",\
                 "0.3513, 0.3752, 0.4544, 0.59, 0.7948, 1.085, 1.469, 1.954, 2.546, 3.252",\
                 "0.4989, 0.5265, 0.6173, 0.7759, 0.9954, 1.28, 1.657, 2.137, 2.724, 3.427",\
                 "0.6863, 0.7189, 0.8233, 1, 1.249, 1.563, 1.94, 2.411, 2.991, 3.686",\
                 "0.9132, 0.9515, 1.072, 1.272, 1.544, 1.892, 2.307, 2.787, 3.36, 4.048",\
                 "1.182, 1.226, 1.364, 1.591, 1.891, 2.267, 2.721, 3.245, 3.836, 4.517",\
                 "1.493, 1.543, 1.702, 1.956, 2.289, 2.696, 3.181, 3.748, 4.39, 5.098",\
                 "1.851, 1.907, 2.084, 2.369, 2.738, 3.182, 3.7, 4.302, 4.989, 5.753");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.176, 0.1937, 0.2548, 0.3656, 0.5336, 0.7648, 1.068, 1.449, 1.915, 2.47",\
                 "0.1743, 0.1926, 0.2541, 0.3654, 0.5336, 0.7652, 1.069, 1.45, 1.914, 2.47",\
                 "0.1895, 0.2037, 0.2551, 0.3601, 0.5312, 0.7642, 1.068, 1.45, 1.915, 2.469",\
                 "0.2623, 0.2801, 0.3383, 0.4356, 0.5701, 0.7729, 1.067, 1.45, 1.916, 2.469",\
                 "0.3583, 0.3792, 0.4462, 0.5592, 0.716, 0.9106, 1.15, 1.479, 1.918, 2.468",\
                 "0.4758, 0.5026, 0.5834, 0.7116, 0.887, 1.107, 1.371, 1.674, 2.042, 2.522",\
                 "0.6124, 0.6436, 0.7412, 0.8932, 1.091, 1.333, 1.623, 1.959, 2.34, 2.768",\
                 "0.7652, 0.8018, 0.9158, 1.095, 1.323, 1.594, 1.905, 2.27, 2.685, 3.15",\
                 "0.9364, 0.9784, 1.111, 1.319, 1.58, 1.885, 2.231, 2.618, 3.063, 3.562",\
                 "1.127, 1.176, 1.325, 1.56, 1.859, 2.202, 2.588, 3.011, 3.478, 4.006");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.3584, 0.3985, 0.5366, 0.7954, 1.189, 1.724, 2.414, 3.272, 4.313, 5.551",\
                 "0.3584, 0.3979, 0.5366, 0.7956, 1.189, 1.724, 2.414, 3.271, 4.312, 5.552",\
                 "0.3675, 0.4029, 0.5365, 0.7956, 1.189, 1.724, 2.414, 3.271, 4.311, 5.551",\
                 "0.4534, 0.4872, 0.595, 0.8156, 1.19, 1.725, 2.414, 3.272, 4.313, 5.552",\
                 "0.5584, 0.5924, 0.7172, 0.935, 1.257, 1.738, 2.414, 3.272, 4.312, 5.552",\
                 "0.7092, 0.7398, 0.8558, 1.089, 1.427, 1.865, 2.466, 3.278, 4.314, 5.553",\
                 "0.9062, 0.9346, 1.042, 1.264, 1.617, 2.085, 2.651, 3.382, 4.34, 5.554",\
                 "1.135, 1.165, 1.271, 1.484, 1.832, 2.318, 2.922, 3.631, 4.508, 5.623",\
                 "1.386, 1.417, 1.527, 1.747, 2.086, 2.573, 3.202, 3.957, 4.819, 5.856",\
                 "1.66, 1.69, 1.803, 2.037, 2.386, 2.866, 3.504, 4.296, 5.207, 6.233");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1566, 0.1676, 0.2049, 0.273, 0.3753, 0.5151, 0.6961, 0.9222, 1.197, 1.523",\
                 "0.1676, 0.1786, 0.2159, 0.2842, 0.3864, 0.5263, 0.7073, 0.9334, 1.208, 1.534",\
                 "0.2162, 0.2265, 0.262, 0.3287, 0.4304, 0.5698, 0.7508, 0.9768, 1.251, 1.578",\
                 "0.2772, 0.2909, 0.336, 0.414, 0.5205, 0.6583, 0.8379, 1.063, 1.337, 1.663",\
                 "0.3184, 0.3353, 0.3913, 0.4876, 0.6201, 0.7851, 0.9779, 1.203, 1.475, 1.8",\
                 "0.3352, 0.3557, 0.4238, 0.5386, 0.6973, 0.8924, 1.123, 1.384, 1.673, 1.997",\
                 "0.3281, 0.3512, 0.4313, 0.5661, 0.7498, 0.9765, 1.242, 1.544, 1.878, 2.243",\
                 "0.2931, 0.3205, 0.4111, 0.5647, 0.7758, 1.036, 1.337, 1.677, 2.055, 2.468",\
                 "0.2314, 0.2613, 0.3627, 0.536, 0.7737, 1.065, 1.405, 1.785, 2.204, 2.663",\
                 "0.1427, 0.1758, 0.2858, 0.4766, 0.7412, 1.065, 1.442, 1.864, 2.328, 2.831");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2106, 0.2315, 0.3032, 0.439, 0.6488, 0.9424, 1.329, 1.814, 2.407, 3.114",\
                 "0.2212, 0.2427, 0.3161, 0.4537, 0.6654, 0.9602, 1.347, 1.833, 2.427, 3.134",\
                 "0.2595, 0.2805, 0.3529, 0.49, 0.7025, 0.9984, 1.386, 1.874, 2.468, 3.175",\
                 "0.3265, 0.3498, 0.4278, 0.5679, 0.7764, 1.07, 1.456, 1.942, 2.536, 3.243",\
                 "0.4298, 0.4555, 0.5389, 0.6877, 0.9074, 1.199, 1.579, 2.06, 2.65, 3.355",\
                 "0.5638, 0.5932, 0.689, 0.8503, 1.08, 1.386, 1.771, 2.245, 2.828, 3.527",\
                 "0.7227, 0.7576, 0.8679, 1.05, 1.298, 1.617, 2.018, 2.505, 3.082, 3.772",\
                 "0.9079, 0.9476, 1.075, 1.281, 1.556, 1.895, 2.311, 2.816, 3.41, 4.099",\
                 "1.118, 1.164, 1.308, 1.54, 1.846, 2.217, 2.655, 3.175, 3.789, 4.499",\
                 "1.359, 1.408, 1.569, 1.829, 2.168, 2.574, 3.044, 3.588, 4.219, 4.95");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.213, 0.2311, 0.292, 0.4031, 0.5718, 0.8044, 1.108, 1.491, 1.957, 2.511",\
                 "0.2128, 0.2307, 0.2913, 0.4033, 0.5715, 0.8041, 1.108, 1.492, 1.957, 2.512",\
                 "0.2153, 0.2313, 0.288, 0.3992, 0.5704, 0.804, 1.109, 1.491, 1.957, 2.511",\
                 "0.2932, 0.3108, 0.3668, 0.463, 0.6005, 0.8098, 1.108, 1.491, 1.956, 2.511",\
                 "0.3923, 0.4136, 0.4798, 0.5916, 0.7462, 0.9394, 1.182, 1.516, 1.958, 2.512",\
                 "0.5182, 0.5422, 0.6192, 0.7452, 0.9184, 1.139, 1.4, 1.702, 2.076, 2.559",\
                 "0.6648, 0.6964, 0.7854, 0.9314, 1.124, 1.362, 1.651, 1.987, 2.368, 2.798",\
                 "0.8342, 0.869, 0.9754, 1.145, 1.362, 1.625, 1.934, 2.296, 2.711, 3.175",\
                 "1.024, 1.064, 1.189, 1.387, 1.63, 1.922, 2.256, 2.641, 3.082, 3.583",\
                 "1.238, 1.283, 1.423, 1.647, 1.928, 2.253, 2.621, 3.032, 3.495, 4.022");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.3587, 0.3987, 0.5366, 0.7956, 1.189, 1.725, 2.413, 3.272, 4.314, 5.551",\
                 "0.3592, 0.3987, 0.5369, 0.7956, 1.189, 1.724, 2.414, 3.271, 4.314, 5.548",\
                 "0.3708, 0.4064, 0.5383, 0.7956, 1.189, 1.724, 2.414, 3.271, 4.314, 5.55",\
                 "0.4457, 0.4788, 0.5916, 0.8188, 1.192, 1.725, 2.414, 3.272, 4.313, 5.551",\
                 "0.551, 0.5808, 0.6918, 0.913, 1.253, 1.746, 2.416, 3.272, 4.314, 5.552",\
                 "0.7144, 0.7392, 0.8336, 1.039, 1.378, 1.845, 2.471, 3.286, 4.314, 5.552",\
                 "0.914, 0.9368, 1.028, 1.214, 1.534, 2, 2.607, 3.38, 4.356, 5.56",\
                 "1.138, 1.16, 1.252, 1.441, 1.739, 2.187, 2.793, 3.555, 4.49, 5.64",\
                 "1.377, 1.402, 1.498, 1.696, 1.998, 2.424, 3.013, 3.776, 4.707, 5.817",\
                 "1.631, 1.658, 1.76, 1.969, 2.289, 2.719, 3.287, 4.032, 4.966, 6.077");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1407, 0.1509, 0.1858, 0.2506, 0.3492, 0.4858, 0.6643, 0.8883, 1.161, 1.486",\
                 "0.1517, 0.162, 0.1967, 0.2616, 0.3603, 0.4969, 0.6754, 0.8996, 1.173, 1.498",\
                 "0.1973, 0.2078, 0.242, 0.3057, 0.4042, 0.5406, 0.7189, 0.943, 1.216, 1.541",\
                 "0.2451, 0.2592, 0.3051, 0.3841, 0.4921, 0.6288, 0.8063, 1.029, 1.302, 1.626",\
                 "0.2721, 0.2898, 0.3479, 0.4461, 0.5816, 0.7491, 0.9446, 1.169, 1.44, 1.763",\
                 "0.2752, 0.297, 0.367, 0.4868, 0.6484, 0.8477, 1.081, 1.345, 1.636, 1.961",\
                 "0.2541, 0.2787, 0.3614, 0.5017, 0.6917, 0.9233, 1.193, 1.497, 1.835, 2.203",\
                 "0.2066, 0.2345, 0.3291, 0.4894, 0.7069, 0.9735, 1.28, 1.624, 2.006, 2.422",\
                 "0.1326, 0.1641, 0.2682, 0.4494, 0.6945, 0.9937, 1.339, 1.726, 2.149, 2.612",\
                 "0.0309, 0.0667, 0.1823, 0.3806, 0.6513, 0.9853, 1.368, 1.798, 2.266, 2.775");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2106, 0.2315, 0.3034, 0.439, 0.6488, 0.9426, 1.329, 1.814, 2.407, 3.114",\
                 "0.2214, 0.2427, 0.3164, 0.4537, 0.6654, 0.9602, 1.347, 1.833, 2.426, 3.133",\
                 "0.2595, 0.2805, 0.3528, 0.49, 0.7023, 0.9987, 1.387, 1.874, 2.468, 3.175",\
                 "0.3265, 0.3498, 0.4278, 0.568, 0.7765, 1.07, 1.456, 1.942, 2.535, 3.242",\
                 "0.4298, 0.4554, 0.5389, 0.6881, 0.9074, 1.199, 1.579, 2.06, 2.65, 3.355",\
                 "0.5638, 0.5932, 0.689, 0.8504, 1.08, 1.387, 1.771, 2.246, 2.828, 3.527",\
                 "0.7228, 0.7577, 0.868, 1.05, 1.298, 1.617, 2.018, 2.505, 3.082, 3.772",\
                 "0.9078, 0.9478, 1.074, 1.281, 1.556, 1.895, 2.311, 2.816, 3.411, 4.099",\
                 "1.119, 1.164, 1.308, 1.54, 1.846, 2.217, 2.655, 3.174, 3.789, 4.499",\
                 "1.358, 1.409, 1.569, 1.829, 2.168, 2.574, 3.045, 3.588, 4.219, 4.949");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1823, 0.1989, 0.2569, 0.3654, 0.5315, 0.7628, 1.066, 1.448, 1.914, 2.468",\
                 "0.182, 0.1986, 0.2571, 0.3654, 0.5316, 0.7633, 1.067, 1.449, 1.914, 2.469",\
                 "0.1948, 0.2089, 0.2603, 0.3633, 0.5309, 0.7625, 1.066, 1.449, 1.914, 2.468",\
                 "0.2724, 0.2895, 0.3452, 0.4404, 0.5738, 0.7746, 1.067, 1.447, 1.915, 2.468",\
                 "0.3736, 0.393, 0.458, 0.5686, 0.7214, 0.9146, 1.154, 1.481, 1.917, 2.468",\
                 "0.4974, 0.5228, 0.5988, 0.7238, 0.8946, 1.112, 1.375, 1.677, 2.046, 2.524",\
                 "0.6448, 0.673, 0.7642, 0.9108, 1.101, 1.338, 1.625, 1.961, 2.342, 2.771",\
                 "0.8114, 0.8452, 0.9542, 1.122, 1.341, 1.602, 1.908, 2.271, 2.685, 3.15",\
                 "0.9984, 1.039, 1.164, 1.361, 1.608, 1.9, 2.236, 2.616, 3.057, 3.555",\
                 "1.212, 1.254, 1.397, 1.623, 1.905, 2.229, 2.598, 3.01, 3.469, 3.995");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.3421, 0.3793, 0.5079, 0.7489, 1.118, 1.633, 2.308, 3.159, 4.197, 5.436",\
                 "0.3423, 0.3793, 0.508, 0.7488, 1.118, 1.633, 2.308, 3.159, 4.198, 5.435",\
                 "0.3538, 0.3872, 0.5098, 0.7488, 1.118, 1.633, 2.308, 3.159, 4.199, 5.431",\
                 "0.4212, 0.4524, 0.5609, 0.7722, 1.123, 1.633, 2.309, 3.158, 4.196, 5.437",\
                 "0.5154, 0.5432, 0.6486, 0.8588, 1.182, 1.655, 2.311, 3.16, 4.199, 5.437",\
                 "0.6554, 0.6814, 0.7762, 0.9714, 1.297, 1.753, 2.366, 3.174, 4.197, 5.438",\
                 "0.8188, 0.8458, 0.9442, 1.132, 1.44, 1.898, 2.501, 3.267, 4.241, 5.445",\
                 "0.9982, 1.028, 1.134, 1.334, 1.635, 2.074, 2.68, 3.441, 4.374, 5.526",\
                 "1.192, 1.225, 1.342, 1.559, 1.875, 2.304, 2.891, 3.656, 4.591, 5.698",\
                 "1.4, 1.436, 1.564, 1.802, 2.142, 2.586, 3.159, 3.906, 4.843, 5.961");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1152, 0.1235, 0.1516, 0.2033, 0.2821, 0.3909, 0.5329, 0.711, 0.9281, 1.186",\
                 "0.1277, 0.1359, 0.1639, 0.2159, 0.2946, 0.4033, 0.5454, 0.7235, 0.9405, 1.199",\
                 "0.1745, 0.1836, 0.2133, 0.2649, 0.3432, 0.4517, 0.5935, 0.7716, 0.9886, 1.247",\
                 "0.2139, 0.2265, 0.2677, 0.3381, 0.4329, 0.5482, 0.6897, 0.8669, 1.083, 1.341",\
                 "0.2289, 0.2453, 0.2986, 0.3885, 0.5092, 0.6576, 0.8281, 1.018, 1.235, 1.491",\
                 "0.217, 0.2366, 0.3022, 0.4125, 0.56, 0.7399, 0.9471, 1.179, 1.432, 1.705",\
                 "0.1757, 0.1987, 0.2759, 0.4061, 0.5819, 0.7943, 1.038, 1.309, 1.608, 1.929",\
                 "0.1039, 0.131, 0.2192, 0.3688, 0.572, 0.818, 1.099, 1.41, 1.751, 2.12",\
                 "0.0019, 0.0326, 0.1315, 0.2993, 0.5294, 0.8076, 1.126, 1.48, 1.864, 2.277",\
                 "-0.1341, -0.1001, 0.0086, 0.1969, 0.4504, 0.7623, 1.118, 1.513, 1.944, 2.403");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2099, 0.2307, 0.3026, 0.4385, 0.6482, 0.942, 1.328, 1.814, 2.407, 3.113",\
                 "0.2196, 0.2408, 0.3143, 0.4515, 0.6632, 0.958, 1.345, 1.831, 2.424, 3.131",\
                 "0.258, 0.2789, 0.3507, 0.4874, 0.6993, 0.9955, 1.383, 1.871, 2.465, 3.172",\
                 "0.328, 0.3507, 0.428, 0.5673, 0.775, 1.068, 1.453, 1.939, 2.532, 3.24",\
                 "0.438, 0.4631, 0.5453, 0.6928, 0.9105, 1.2, 1.579, 2.06, 2.649, 3.353",\
                 "0.5827, 0.6118, 0.7053, 0.8637, 1.091, 1.395, 1.778, 2.25, 2.832, 3.529",\
                 "0.7561, 0.7901, 0.8981, 1.077, 1.32, 1.636, 2.034, 2.518, 3.093, 3.781",\
                 "0.9594, 0.9986, 1.122, 1.325, 1.594, 1.928, 2.34, 2.841, 3.432, 4.117",\
                 "1.194, 1.238, 1.378, 1.606, 1.904, 2.268, 2.7, 3.215, 3.825, 4.532",\
                 "1.46, 1.51, 1.666, 1.92, 2.252, 2.65, 3.112, 3.648, 4.274, 4.999");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1384, 0.1521, 0.1974, 0.2825, 0.4141, 0.5969, 0.8363, 1.138, 1.506, 1.942",\
                 "0.138, 0.151, 0.197, 0.2831, 0.4137, 0.5969, 0.8365, 1.138, 1.504, 1.943",\
                 "0.1656, 0.177, 0.2129, 0.287, 0.4139, 0.5967, 0.8362, 1.137, 1.505, 1.943",\
                 "0.2444, 0.2588, 0.3054, 0.3834, 0.4877, 0.6305, 0.8438, 1.139, 1.505, 1.944",\
                 "0.3435, 0.3613, 0.4181, 0.5118, 0.6392, 0.797, 0.9808, 1.213, 1.531, 1.945",\
                 "0.4656, 0.4872, 0.556, 0.6672, 0.8128, 0.9946, 1.21, 1.455, 1.728, 2.068",\
                 "0.6078, 0.6344, 0.7174, 0.8492, 1.018, 1.22, 1.461, 1.739, 2.049, 2.389",\
                 "0.7708, 0.8048, 0.9012, 1.055, 1.25, 1.482, 1.746, 2.048, 2.393, 2.772",\
                 "0.9594, 0.995, 1.108, 1.286, 1.512, 1.772, 2.067, 2.394, 2.765, 3.177",\
                 "1.169, 1.212, 1.344, 1.543, 1.8, 2.094, 2.42, 2.784, 3.18, 3.618");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.3422, 0.3792, 0.5078, 0.7486, 1.118, 1.634, 2.308, 3.159, 4.197, 5.431",\
                 "0.3423, 0.3794, 0.5081, 0.7487, 1.118, 1.633, 2.309, 3.16, 4.196, 5.437",\
                 "0.3544, 0.3878, 0.5098, 0.7496, 1.12, 1.633, 2.309, 3.159, 4.199, 5.434",\
                 "0.4203, 0.4522, 0.5607, 0.7721, 1.122, 1.633, 2.309, 3.16, 4.197, 5.435",\
                 "0.5102, 0.5392, 0.6452, 0.8564, 1.181, 1.654, 2.311, 3.16, 4.199, 5.437",\
                 "0.6446, 0.6702, 0.7652, 0.9636, 1.292, 1.75, 2.364, 3.174, 4.2, 5.438",\
                 "0.8056, 0.8318, 0.9284, 1.116, 1.427, 1.888, 2.494, 3.264, 4.239, 5.443",\
                 "0.9828, 1.011, 1.114, 1.31, 1.611, 2.055, 2.666, 3.432, 4.368, 5.517",\
                 "1.174, 1.207, 1.319, 1.529, 1.842, 2.273, 2.865, 3.639, 4.576, 5.689",\
                 "1.38, 1.414, 1.539, 1.769, 2.104, 2.543, 3.117, 3.872, 4.819, 5.939");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1079, 0.1179, 0.1523, 0.216, 0.3136, 0.4494, 0.6273, 0.8508, 1.123, 1.448",\
                 "0.119, 0.129, 0.1633, 0.2271, 0.3248, 0.4605, 0.6384, 0.862, 1.135, 1.46",\
                 "0.1602, 0.1716, 0.2083, 0.2715, 0.3686, 0.5042, 0.6819, 0.9053, 1.178, 1.503",\
                 "0.1919, 0.2075, 0.2575, 0.3413, 0.4539, 0.5927, 0.7693, 0.9915, 1.264, 1.588",\
                 "0.2025, 0.2223, 0.2865, 0.392, 0.533, 0.7056, 0.9054, 1.132, 1.402, 1.725",\
                 "0.1899, 0.214, 0.2918, 0.4193, 0.5904, 0.7957, 1.034, 1.303, 1.597, 1.923",\
                 "0.1529, 0.1811, 0.272, 0.4225, 0.6222, 0.8626, 1.138, 1.448, 1.79, 2.161",\
                 "0.0915, 0.1234, 0.2266, 0.3981, 0.6283, 0.9036, 1.218, 1.569, 1.955, 2.374",\
                 "0.0038, 0.0399, 0.1551, 0.3474, 0.6043, 0.9152, 1.27, 1.663, 2.093, 2.559",\
                 "-0.1113, -0.072, 0.0563, 0.2672, 0.5523, 0.897, 1.291, 1.728, 2.204, 2.717");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.205, 0.2257, 0.2974, 0.4329, 0.6419, 0.9345, 1.319, 1.804, 2.397, 3.105",\
                 "0.2157, 0.2367, 0.3099, 0.4475, 0.6585, 0.952, 1.338, 1.823, 2.416, 3.12",\
                 "0.2536, 0.2745, 0.3469, 0.484, 0.6956, 0.991, 1.378, 1.865, 2.456, 3.166",\
                 "0.3191, 0.3427, 0.4211, 0.5612, 0.7694, 1.062, 1.447, 1.931, 2.525, 3.231",\
                 "0.421, 0.4469, 0.5313, 0.6801, 0.8995, 1.19, 1.569, 2.05, 2.64, 3.341",\
                 "0.552, 0.5822, 0.6788, 0.8416, 1.071, 1.377, 1.761, 2.234, 2.817, 3.513",\
                 "0.7079, 0.7437, 0.8558, 1.04, 1.288, 1.607, 2.008, 2.493, 3.069, 3.758",\
                 "0.8882, 0.9295, 1.059, 1.267, 1.544, 1.884, 2.3, 2.804, 3.396, 4.084",\
                 "1.096, 1.142, 1.289, 1.524, 1.832, 2.203, 2.642, 3.161, 3.775, 4.484",\
                 "1.33, 1.381, 1.546, 1.809, 2.152, 2.559, 3.03, 3.573, 4.204, 4.933");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1467, 0.1632, 0.2203, 0.3269, 0.4919, 0.7228, 1.025, 1.408, 1.873, 2.427",\
                 "0.145, 0.1618, 0.2195, 0.3262, 0.4919, 0.7226, 1.025, 1.408, 1.872, 2.426",\
                 "0.173, 0.1866, 0.2327, 0.3278, 0.4912, 0.7223, 1.025, 1.407, 1.872, 2.426",\
                 "0.2488, 0.2652, 0.3208, 0.4156, 0.5488, 0.7418, 1.027, 1.407, 1.871, 2.427",\
                 "0.349, 0.3697, 0.4346, 0.5434, 0.6958, 0.8904, 1.127, 1.447, 1.879, 2.426",\
                 "0.4714, 0.4962, 0.5742, 0.7002, 0.8704, 1.086, 1.349, 1.653, 2.017, 2.489",\
                 "0.6122, 0.6422, 0.7372, 0.8852, 1.078, 1.312, 1.599, 1.935, 2.317, 2.745",\
                 "0.773, 0.8096, 0.9214, 1.098, 1.316, 1.576, 1.882, 2.243, 2.66, 3.125",\
                 "0.9542, 0.9984, 1.127, 1.33, 1.58, 1.874, 2.209, 2.591, 3.031, 3.53",\
                 "1.158, 1.207, 1.36, 1.588, 1.874, 2.203, 2.574, 2.985, 3.447, 3.969");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2485, 0.2833, 0.4069, 0.6414, 1.007, 1.521, 2.197, 3.048, 4.084, 5.324",\
                 "0.2487, 0.2841, 0.4071, 0.6411, 1.008, 1.521, 2.196, 3.045, 4.082, 5.324",\
                 "0.2599, 0.2913, 0.4085, 0.6419, 1.008, 1.522, 2.201, 3.047, 4.09, 5.329",\
                 "0.3131, 0.346, 0.4572, 0.6655, 1.01, 1.522, 2.197, 3.049, 4.086, 5.334",\
                 "0.3926, 0.4226, 0.5316, 0.7446, 1.071, 1.542, 2.198, 3.049, 4.088, 5.324",\
                 "0.5054, 0.537, 0.6444, 0.8486, 1.179, 1.639, 2.254, 3.061, 4.089, 5.331",\
                 "0.635, 0.6704, 0.7894, 0.9966, 1.314, 1.781, 2.386, 3.153, 4.128, 5.33",\
                 "0.7774, 0.8188, 0.9522, 1.18, 1.498, 1.949, 2.561, 3.326, 4.259, 5.414",\
                 "0.9336, 0.979, 1.129, 1.38, 1.728, 2.171, 2.767, 3.537, 4.475, 5.584",\
                 "1.101, 1.152, 1.321, 1.602, 1.973, 2.446, 3.027, 3.783, 4.725, 5.843");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.09027, 0.09835, 0.1257, 0.1767, 0.2544, 0.3623, 0.5037, 0.6813, 0.8978, 1.156",\
                 "0.1028, 0.1108, 0.1382, 0.1891, 0.2669, 0.3748, 0.5161, 0.6938, 0.9103, 1.168",\
                 "0.1422, 0.1524, 0.1847, 0.2381, 0.3155, 0.4232, 0.5644, 0.7419, 0.9584, 1.216",\
                 "0.166, 0.1801, 0.2256, 0.3004, 0.3999, 0.519, 0.6605, 0.8372, 1.053, 1.311",\
                 "0.165, 0.1835, 0.2422, 0.3391, 0.4663, 0.6193, 0.7944, 0.9879, 1.205, 1.461",\
                 "0.1372, 0.1596, 0.2323, 0.3506, 0.5072, 0.6932, 0.9058, 1.142, 1.399, 1.674",\
                 "0.0812, 0.1077, 0.1927, 0.3336, 0.5187, 0.7394, 0.9889, 1.265, 1.567, 1.892",\
                 "-0.0035, 0.0267, 0.1237, 0.2837, 0.4982, 0.7531, 1.042, 1.36, 1.705, 2.077",\
                 "-0.1193, -0.0855, 0.0241, 0.2046, 0.4443, 0.7343, 1.062, 1.423, 1.812, 2.23",\
                 "-0.2683, -0.2315, -0.1101, 0.0913, 0.3577, 0.6792, 1.046, 1.449, 1.885, 2.351");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2043, 0.2248, 0.2968, 0.4322, 0.6412, 0.9339, 1.318, 1.803, 2.395, 3.099",\
                 "0.2139, 0.2347, 0.3083, 0.4454, 0.6563, 0.9498, 1.336, 1.821, 2.414, 3.118",\
                 "0.2521, 0.2728, 0.3447, 0.4812, 0.6924, 0.9877, 1.375, 1.862, 2.453, 3.158",\
                 "0.3206, 0.3434, 0.4215, 0.5607, 0.7678, 1.06, 1.445, 1.929, 2.521, 3.225",\
                 "0.4296, 0.4547, 0.5377, 0.6852, 0.9026, 1.192, 1.57, 2.049, 2.637, 3.34",\
                 "0.5713, 0.6008, 0.6957, 0.8552, 1.083, 1.386, 1.768, 2.239, 2.82, 3.516",\
                 "0.7414, 0.7762, 0.8866, 1.067, 1.311, 1.626, 2.024, 2.507, 3.08, 3.767",\
                 "0.9409, 0.9811, 1.107, 1.312, 1.583, 1.917, 2.329, 2.829, 3.419, 4.104",\
                 "1.171, 1.216, 1.36, 1.59, 1.891, 2.256, 2.688, 3.203, 3.811, 4.517",\
                 "1.432, 1.483, 1.643, 1.901, 2.236, 2.634, 3.098, 3.634, 4.258, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1119, 0.1244, 0.1693, 0.2527, 0.383, 0.565, 0.8032, 1.104, 1.472, 1.91",\
                 "0.1105, 0.1235, 0.1688, 0.2532, 0.3831, 0.5651, 0.8036, 1.104, 1.472, 1.91",\
                 "0.1503, 0.1614, 0.1968, 0.264, 0.3837, 0.5648, 0.8041, 1.104, 1.472, 1.91",\
                 "0.2262, 0.2409, 0.2874, 0.3659, 0.4717, 0.609, 0.8154, 1.106, 1.472, 1.909",\
                 "0.3245, 0.3425, 0.4001, 0.4932, 0.6206, 0.7792, 0.9636, 1.191, 1.503, 1.912",\
                 "0.4428, 0.4652, 0.537, 0.6484, 0.7944, 0.9756, 1.191, 1.439, 1.709, 2.046",\
                 "0.5814, 0.6094, 0.6946, 0.8298, 0.9986, 1.202, 1.442, 1.719, 2.031, 2.369",\
                 "0.7414, 0.7752, 0.8756, 1.035, 1.23, 1.461, 1.726, 2.028, 2.372, 2.752",\
                 "0.9244, 0.9656, 1.081, 1.263, 1.49, 1.751, 2.046, 2.376, 2.744, 3.157",\
                 "1.125, 1.171, 1.311, 1.519, 1.778, 2.077, 2.399, 2.765, 3.157, 3.597");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2487, 0.2837, 0.407, 0.6426, 1.007, 1.521, 2.198, 3.05, 4.084, 5.328",\
                 "0.2488, 0.2839, 0.4069, 0.6411, 1.009, 1.521, 2.198, 3.045, 4.083, 5.33",\
                 "0.2603, 0.2917, 0.4084, 0.6413, 1.007, 1.523, 2.198, 3.048, 4.088, 5.329",\
                 "0.3131, 0.346, 0.4574, 0.6653, 1.01, 1.522, 2.199, 3.048, 4.093, 5.328",\
                 "0.3892, 0.4186, 0.528, 0.743, 1.07, 1.544, 2.2, 3.049, 4.089, 5.321",\
                 "0.4964, 0.5286, 0.6358, 0.841, 1.174, 1.636, 2.251, 3.059, 4.087, 5.326",\
                 "0.6252, 0.6594, 0.7764, 0.9822, 1.302, 1.77, 2.38, 3.151, 4.126, 5.336",\
                 "0.7656, 0.8058, 0.9362, 1.157, 1.475, 1.931, 2.546, 3.317, 4.253, 5.411",\
                 "0.9192, 0.9632, 1.111, 1.354, 1.696, 2.141, 2.739, 3.517, 4.462, 5.574",\
                 "1.086, 1.135, 1.3, 1.572, 1.943, 2.401, 2.985, 3.746, 4.694, 5.824");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.09029, 0.09838, 0.1258, 0.1767, 0.2545, 0.3625, 0.5038, 0.6815, 0.8981, 1.156",\
                 "0.1029, 0.1108, 0.1383, 0.1892, 0.2669, 0.3749, 0.5163, 0.694, 0.9107, 1.169",\
                 "0.1422, 0.1524, 0.1848, 0.2382, 0.3155, 0.4233, 0.5645, 0.742, 0.9586, 1.217",\
                 "0.166, 0.1802, 0.2255, 0.3005, 0.4, 0.5191, 0.6606, 0.8375, 1.053, 1.311",\
                 "0.1651, 0.1835, 0.2424, 0.3392, 0.4663, 0.6197, 0.7948, 0.9883, 1.205, 1.462",\
                 "0.1373, 0.1599, 0.2324, 0.3507, 0.5073, 0.6934, 0.9056, 1.142, 1.399, 1.674",\
                 "0.0813, 0.1078, 0.1928, 0.3338, 0.5189, 0.7391, 0.9893, 1.266, 1.568, 1.892",\
                 "-0.0033, 0.0268, 0.1238, 0.2839, 0.4984, 0.7533, 1.043, 1.36, 1.706, 2.078",\
                 "-0.1191, -0.0852, 0.024, 0.2043, 0.4448, 0.734, 1.062, 1.423, 1.812, 2.231",\
                 "-0.2681, -0.2312, -0.1098, 0.0916, 0.358, 0.6796, 1.046, 1.449, 1.885, 2.351");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2043, 0.2249, 0.2968, 0.4321, 0.6412, 0.9339, 1.318, 1.803, 2.395, 3.102",\
                 "0.2139, 0.2347, 0.3083, 0.4454, 0.6563, 0.9498, 1.336, 1.822, 2.414, 3.118",\
                 "0.2521, 0.2728, 0.3446, 0.4812, 0.6925, 0.9878, 1.375, 1.861, 2.453, 3.158",\
                 "0.3206, 0.3434, 0.4211, 0.5607, 0.7681, 1.06, 1.445, 1.93, 2.521, 3.228",\
                 "0.4296, 0.4547, 0.5377, 0.6848, 0.9028, 1.192, 1.57, 2.049, 2.639, 3.339",\
                 "0.5707, 0.6008, 0.6957, 0.8555, 1.082, 1.386, 1.768, 2.239, 2.82, 3.515",\
                 "0.7413, 0.7759, 0.8866, 1.067, 1.311, 1.626, 2.024, 2.506, 3.079, 3.766",\
                 "0.9407, 0.981, 1.107, 1.312, 1.582, 1.917, 2.329, 2.828, 3.419, 4.103",\
                 "1.17, 1.216, 1.359, 1.59, 1.891, 2.256, 2.688, 3.203, 3.811, 4.516",\
                 "1.432, 1.483, 1.643, 1.901, 2.235, 2.635, 3.097, 3.633, 4.259, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.112, 0.1245, 0.1693, 0.2528, 0.3832, 0.5652, 0.8034, 1.105, 1.473, 1.911",\
                 "0.1106, 0.1236, 0.1688, 0.2532, 0.3833, 0.5652, 0.8036, 1.105, 1.473, 1.909",\
                 "0.1503, 0.1614, 0.1968, 0.2641, 0.3838, 0.565, 0.8037, 1.105, 1.472, 1.911",\
                 "0.2262, 0.241, 0.2876, 0.3655, 0.4717, 0.6095, 0.8156, 1.107, 1.473, 1.91",\
                 "0.3246, 0.3426, 0.4004, 0.4933, 0.6206, 0.7802, 0.9638, 1.191, 1.504, 1.914",\
                 "0.443, 0.4656, 0.537, 0.6486, 0.7942, 0.9756, 1.191, 1.439, 1.711, 2.046",\
                 "0.5814, 0.6094, 0.6948, 0.8296, 0.9988, 1.202, 1.442, 1.721, 2.031, 2.369",\
                 "0.7414, 0.7752, 0.8756, 1.035, 1.23, 1.461, 1.727, 2.029, 2.372, 2.752",\
                 "0.9244, 0.9636, 1.082, 1.263, 1.491, 1.754, 2.046, 2.373, 2.744, 3.157",\
                 "1.125, 1.171, 1.312, 1.519, 1.778, 2.077, 2.4, 2.762, 3.159, 3.598");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2486, 0.2833, 0.407, 0.6415, 1.007, 1.521, 2.198, 3.05, 4.085, 5.327",\
                 "0.2488, 0.2839, 0.4069, 0.6411, 1.009, 1.521, 2.198, 3.048, 4.084, 5.325",\
                 "0.2605, 0.2917, 0.4087, 0.6422, 1.009, 1.522, 2.2, 3.048, 4.088, 5.326",\
                 "0.3131, 0.346, 0.4573, 0.6652, 1.01, 1.523, 2.197, 3.05, 4.092, 5.334",\
                 "0.3892, 0.4186, 0.5284, 0.7428, 1.07, 1.544, 2.2, 3.051, 4.088, 5.324",\
                 "0.4976, 0.5286, 0.6358, 0.8404, 1.174, 1.636, 2.252, 3.063, 4.088, 5.326",\
                 "0.6254, 0.6606, 0.7766, 0.982, 1.301, 1.769, 2.381, 3.15, 4.124, 5.336",\
                 "0.7662, 0.8058, 0.9338, 1.158, 1.477, 1.929, 2.545, 3.316, 4.253, 5.414",\
                 "0.9188, 0.9634, 1.111, 1.354, 1.696, 2.138, 2.74, 3.517, 4.463, 5.575",\
                 "1.087, 1.137, 1.298, 1.572, 1.941, 2.404, 2.986, 3.746, 4.698, 5.826");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.0844, 0.09185, 0.1173, 0.1645, 0.2365, 0.3365, 0.4673, 0.6317, 0.8322, 1.071",\
                 "0.09747, 0.1048, 0.1302, 0.1774, 0.2494, 0.3494, 0.4802, 0.6446, 0.8451, 1.084",\
                 "0.1359, 0.1455, 0.1766, 0.2276, 0.2994, 0.3991, 0.5297, 0.694, 0.8943, 1.133",\
                 "0.1567, 0.1706, 0.2145, 0.2867, 0.3818, 0.4959, 0.6284, 0.7917, 0.9917, 1.229",\
                 "0.152, 0.1698, 0.227, 0.3213, 0.4438, 0.5913, 0.7588, 0.9438, 1.147, 1.384",\
                 "0.1189, 0.1409, 0.2115, 0.3275, 0.4795, 0.6594, 0.8637, 1.09, 1.335, 1.598",\
                 "0.0566, 0.0823, 0.1651, 0.3029, 0.4829, 0.6974, 0.9393, 1.206, 1.496, 1.807",\
                 "-0.0362, -0.0067, 0.0884, 0.2451, 0.454, 0.703, 0.9828, 1.29, 1.623, 1.981",\
                 "-0.1627, -0.1289, -0.0218, 0.1551, 0.3897, 0.6719, 0.9913, 1.341, 1.718, 2.122",\
                 "-0.3233, -0.2863, -0.1675, 0.0298, 0.2908, 0.6054, 0.9622, 1.354, 1.778, 2.228");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2037, 0.2244, 0.2963, 0.4316, 0.6408, 0.9335, 1.318, 1.803, 2.395, 3.099",\
                 "0.213, 0.234, 0.3071, 0.4442, 0.6553, 0.9487, 1.334, 1.82, 2.414, 3.117",\
                 "0.2517, 0.2723, 0.3441, 0.4802, 0.6915, 0.9869, 1.373, 1.859, 2.452, 3.158",\
                 "0.3211, 0.3439, 0.4214, 0.5606, 0.7675, 1.059, 1.444, 1.928, 2.521, 3.227",\
                 "0.4323, 0.4575, 0.54, 0.6869, 0.9042, 1.193, 1.571, 2.05, 2.637, 3.339",\
                 "0.578, 0.6074, 0.702, 0.8603, 1.087, 1.389, 1.77, 2.241, 2.821, 3.516",\
                 "0.7532, 0.7881, 0.8972, 1.076, 1.319, 1.633, 2.03, 2.512, 3.084, 3.771",\
                 "0.9591, 0.9987, 1.124, 1.328, 1.596, 1.929, 2.34, 2.838, 3.427, 4.11",\
                 "1.197, 1.242, 1.384, 1.613, 1.912, 2.274, 2.705, 3.217, 3.824, 4.529",\
                 "1.468, 1.518, 1.678, 1.934, 2.265, 2.661, 3.122, 3.655, 4.278, 5.001");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.102, 0.1139, 0.1553, 0.2321, 0.3523, 0.5198, 0.7406, 1.018, 1.356, 1.76",\
                 "0.1007, 0.1128, 0.1547, 0.2326, 0.3518, 0.52, 0.7408, 1.018, 1.357, 1.76",\
                 "0.1436, 0.1541, 0.1876, 0.2467, 0.3541, 0.52, 0.7399, 1.018, 1.357, 1.761",\
                 "0.2194, 0.2329, 0.277, 0.3509, 0.4498, 0.5737, 0.7575, 1.019, 1.356, 1.761",\
                 "0.3172, 0.3343, 0.3888, 0.4777, 0.5982, 0.7476, 0.919, 1.122, 1.399, 1.768",\
                 "0.4326, 0.4552, 0.5238, 0.6316, 0.7702, 0.9416, 1.145, 1.374, 1.626, 1.925",\
                 "0.5706, 0.5966, 0.6794, 0.8094, 0.9736, 1.167, 1.393, 1.656, 1.946, 2.263",\
                 "0.7332, 0.7634, 0.8606, 1.012, 1.205, 1.425, 1.676, 1.962, 2.285, 2.641",\
                 "0.9116, 0.9512, 1.064, 1.241, 1.458, 1.71, 1.994, 2.305, 2.655, 3.043",\
                 "1.11, 1.16, 1.294, 1.5, 1.746, 2.027, 2.343, 2.688, 3.069, 3.48");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2483, 0.2833, 0.407, 0.6411, 1.008, 1.521, 2.198, 3.045, 4.086, 5.328",\
                 "0.2488, 0.2838, 0.4073, 0.6411, 1.009, 1.52, 2.198, 3.045, 4.089, 5.325",\
                 "0.2607, 0.2917, 0.4081, 0.6422, 1.009, 1.522, 2.2, 3.05, 4.086, 5.326",\
                 "0.3125, 0.3457, 0.4572, 0.665, 1.01, 1.522, 2.199, 3.047, 4.094, 5.334",\
                 "0.3866, 0.4172, 0.527, 0.7436, 1.069, 1.544, 2.199, 3.047, 4.091, 5.324",\
                 "0.4936, 0.5246, 0.632, 0.8378, 1.173, 1.636, 2.253, 3.064, 4.09, 5.323",\
                 "0.621, 0.6552, 0.7706, 0.976, 1.297, 1.765, 2.378, 3.151, 4.123, 5.332",\
                 "0.7606, 0.802, 0.9306, 1.149, 1.469, 1.925, 2.54, 3.313, 4.252, 5.413",\
                 "0.9138, 0.959, 1.104, 1.347, 1.685, 2.127, 2.73, 3.513, 4.458, 5.57",\
                 "1.079, 1.13, 1.294, 1.561, 1.927, 2.383, 2.972, 3.733, 4.687, 5.813");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.1566, 0.1676, 0.2049, 0.273, 0.3753, 0.5151, 0.6961, 0.9222, 1.197, 1.523",\
                 "0.1676, 0.1786, 0.2159, 0.2842, 0.3864, 0.5263, 0.7073, 0.9334, 1.208, 1.534",\
                 "0.2162, 0.2265, 0.262, 0.3287, 0.4304, 0.5698, 0.7508, 0.9768, 1.251, 1.578",\
                 "0.2772, 0.2909, 0.336, 0.414, 0.5205, 0.6583, 0.8379, 1.063, 1.337, 1.663",\
                 "0.3184, 0.3353, 0.3913, 0.4876, 0.6201, 0.7851, 0.9779, 1.203, 1.475, 1.8",\
                 "0.3352, 0.3557, 0.4238, 0.5386, 0.6973, 0.8924, 1.123, 1.384, 1.673, 1.997",\
                 "0.3281, 0.3512, 0.4313, 0.5661, 0.7498, 0.9765, 1.242, 1.544, 1.878, 2.243",\
                 "0.2931, 0.3205, 0.4111, 0.5647, 0.7758, 1.036, 1.337, 1.677, 2.055, 2.468",\
                 "0.2314, 0.2613, 0.3627, 0.536, 0.7737, 1.065, 1.405, 1.785, 2.204, 2.663",\
                 "0.1427, 0.1758, 0.2858, 0.4766, 0.7412, 1.065, 1.442, 1.864, 2.328, 2.831");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.2037, 0.2244, 0.2963, 0.4316, 0.6408, 0.9335, 1.318, 1.803, 2.395, 3.099",\
                 "0.213, 0.234, 0.3071, 0.4442, 0.6553, 0.9487, 1.334, 1.82, 2.414, 3.117",\
                 "0.2517, 0.2723, 0.3441, 0.4802, 0.6915, 0.9869, 1.373, 1.859, 2.452, 3.158",\
                 "0.3211, 0.3439, 0.4214, 0.5606, 0.7675, 1.059, 1.444, 1.928, 2.521, 3.227",\
                 "0.4323, 0.4575, 0.54, 0.6869, 0.9042, 1.193, 1.571, 2.05, 2.637, 3.339",\
                 "0.578, 0.6074, 0.702, 0.8603, 1.087, 1.389, 1.77, 2.241, 2.821, 3.516",\
                 "0.7532, 0.7881, 0.8972, 1.076, 1.319, 1.633, 2.03, 2.512, 3.084, 3.771",\
                 "0.9591, 0.9987, 1.124, 1.328, 1.596, 1.929, 2.34, 2.838, 3.427, 4.11",\
                 "1.197, 1.242, 1.384, 1.613, 1.912, 2.274, 2.705, 3.217, 3.824, 4.529",\
                 "1.468, 1.518, 1.678, 1.934, 2.265, 2.661, 3.122, 3.655, 4.278, 5.001");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.213, 0.2311, 0.292, 0.4031, 0.5718, 0.8044, 1.108, 1.491, 1.957, 2.511",\
                 "0.2128, 0.2307, 0.2913, 0.4033, 0.5715, 0.8041, 1.108, 1.492, 1.957, 2.512",\
                 "0.2153, 0.2313, 0.288, 0.3992, 0.5704, 0.804, 1.109, 1.491, 1.957, 2.511",\
                 "0.2932, 0.3108, 0.3668, 0.463, 0.6005, 0.8098, 1.108, 1.491, 1.956, 2.511",\
                 "0.3923, 0.4136, 0.4798, 0.5916, 0.7462, 0.9394, 1.182, 1.516, 1.958, 2.512",\
                 "0.5182, 0.5422, 0.6192, 0.7452, 0.9184, 1.139, 1.4, 1.702, 2.076, 2.559",\
                 "0.6648, 0.6964, 0.7854, 0.9314, 1.124, 1.362, 1.651, 1.987, 2.368, 2.798",\
                 "0.8342, 0.869, 0.9754, 1.145, 1.362, 1.625, 1.934, 2.296, 2.711, 3.175",\
                 "1.024, 1.064, 1.189, 1.387, 1.63, 1.922, 2.256, 2.641, 3.082, 3.583",\
                 "1.238, 1.283, 1.423, 1.647, 1.928, 2.253, 2.621, 3.032, 3.495, 4.022");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001783, 0.004532, 0.009781, 0.01796, 0.02943, 0.04453, 0.06356, 0.08678, 0.1145");
          values("0.3587, 0.3987, 0.5366, 0.7956, 1.189, 1.725, 2.413, 3.272, 4.314, 5.551",\
                 "0.3592, 0.3987, 0.5369, 0.7956, 1.189, 1.724, 2.414, 3.271, 4.314, 5.548",\
                 "0.3708, 0.4064, 0.5383, 0.7956, 1.189, 1.724, 2.414, 3.271, 4.314, 5.55",\
                 "0.4457, 0.4788, 0.5916, 0.8188, 1.192, 1.725, 2.414, 3.272, 4.313, 5.551",\
                 "0.551, 0.5808, 0.6918, 0.913, 1.253, 1.746, 2.416, 3.272, 4.314, 5.552",\
                 "0.7144, 0.7392, 0.8336, 1.039, 1.378, 1.845, 2.471, 3.286, 4.314, 5.552",\
                 "0.914, 0.9368, 1.028, 1.214, 1.534, 2, 2.607, 3.38, 4.356, 5.56",\
                 "1.138, 1.16, 1.252, 1.441, 1.739, 2.187, 2.793, 3.555, 4.49, 5.64",\
                 "1.377, 1.402, 1.498, 1.696, 1.998, 2.424, 3.013, 3.776, 4.707, 5.817",\
                 "1.631, 1.658, 1.76, 1.969, 2.289, 2.719, 3.287, 4.032, 4.966, 6.077");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai32_2) {
    area : 50.489600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&!B2" ;
      value : "6.58086e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&B2" ;
      value : "0.0001471437" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&!B2" ;
      value : "0.0001471437" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&B2" ;
      value : "0.0001477839" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&!B2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&B2" ;
      value : "0.0001537503" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&!B2" ;
      value : "0.0001249776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&B2" ;
      value : "0.0001249809" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&!B2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&B2" ;
      value : "0.0001253274" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&!B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&!B2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&B2" ;
      value : "0.0001253274" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&!B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&!B2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&!B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&!B2" ;
      value : "6.60891e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&!B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&!B2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&!B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&!B2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&B2" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&!B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&B2" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001537503" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008587 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02972, 0.02943, 0.02939, 0.02934, 0.02925, 0.02927, 0.02924, \
                 0.02923, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02939, -0.02942, -0.02936, -0.0293, -0.02923, -0.02924, -0.02923, \
                 -0.02922, -0.02918, -0.02917");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02935, 0.02936, 0.02941, 0.02937, 0.02933, 0.02931, 0.02928, \
                 0.02925, 0.02925, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02502, -0.02561, -0.02645, -0.02704, -0.02748, -0.02785, -0.02808, \
                 -0.02825, -0.02836, -0.0284");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04247, 0.04248, 0.04236, 0.04231, 0.04228, 0.04228, 0.04224, \
                 0.04217, 0.04209, 0.04198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009452, -0.009444, -0.009452, -0.009452, -0.009474, -0.009483, \
                 -0.009489, -0.009483, -0.009482, -0.009483");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04247, 0.04247, 0.04236, 0.04232, 0.04227, 0.04228, 0.04223, \
                 0.04217, 0.04209, 0.04198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009452, -0.009445, -0.009454, -0.009453, -0.009471, -0.009485, \
                 -0.009486, -0.009481, -0.009481, -0.009485");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04248, 0.04247, 0.04239, 0.0423, 0.04226, 0.04226, 0.04224, \
                 0.04218, 0.0421, 0.04197");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009442, -0.009442, -0.009446, -0.009466, -0.009459, -0.009479, \
                 -0.009482, -0.009484, -0.009491, -0.009483");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02936, 0.02941, 0.02943, 0.02936, 0.02931, 0.02927, 0.02926, \
                 0.02924, 0.02922, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02807, -0.02815, -0.02829, -0.02852, -0.02862, -0.02873, -0.02876, \
                 -0.0288, -0.02881, -0.02884");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.0225, 0.02247, 0.02245, 0.02243, 0.02244, 0.02242, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00954, -0.009532, -0.009526, -0.009544, -0.009555, -0.009577, \
                 -0.009565, -0.009577, -0.009575, -0.009575");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02251, 0.02245, 0.02245, 0.02243, 0.02244, 0.02243, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00954, -0.009532, -0.009544, -0.009545, -0.009554, -0.009578, \
                 -0.009569, -0.009576, -0.009574, -0.00957");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02251, 0.02247, 0.02244, 0.02239, 0.02245, 0.02243, \
                 0.0224, 0.02236, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00953, -0.00953, -0.009533, -0.009544, -0.009551, -0.009575, \
                 -0.009573, -0.009573, -0.009576, -0.009572");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02939, 0.02942, 0.02942, 0.02936, 0.02931, 0.02929, 0.02926, \
                 0.02924, 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02742, -0.02789, -0.02829, -0.02853, -0.02864, -0.02875, -0.02878, \
                 -0.0288, -0.02881, -0.02883");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02251, 0.02247, 0.02244, 0.02242, 0.02245, 0.02243, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009532, -0.009531, -0.009541, -0.009545, -0.009553, -0.009578, \
                 -0.009571, -0.009577, -0.009578, -0.009575");
        }
      }

      internal_power() {
        when : "A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02251, 0.02245, 0.02244, 0.02242, 0.02244, 0.02242, \
                 0.02239, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009532, -0.009531, -0.009528, -0.009545, -0.009546, -0.00958, \
                 -0.009577, -0.00957, -0.009579, -0.009573");
        }
      }

      internal_power() {
        when : "A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02251, 0.02246, 0.02244, 0.02241, 0.02245, 0.02243, \
                 0.0224, 0.02236, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009538, -0.00953, -0.009548, -0.009552, -0.009552, -0.009575, \
                 -0.009575, -0.009576, -0.009576, -0.009573");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009226 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02967, 0.02936, 0.02935, 0.02933, 0.02926, 0.02925, 0.02923, \
                 0.02921, 0.02923, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02928, -0.0293, -0.02933, -0.02927, -0.0292, -0.02923, -0.0292, \
                 -0.02919, -0.02917, -0.02922");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02927, 0.02925, 0.02934, 0.02937, 0.02932, 0.02929, 0.02926, \
                 0.02923, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02788, -0.02798, -0.02812, -0.02843, -0.02856, -0.02871, -0.02877, \
                 -0.02879, -0.02881, -0.02883");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02056, 0.02053, 0.02056, 0.02055, 0.02053, 0.02054, 0.0205, \
                 0.02046, 0.02039, 0.02029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01069, -0.01073, -0.01074, -0.01075, -0.01078, -0.01081, \
                 -0.01083, -0.01086, -0.01089");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02056, 0.0205, 0.02056, 0.02055, 0.02052, 0.02054, 0.02051, \
                 0.02045, 0.02038, 0.0203");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01069, -0.01073, -0.01074, -0.01076, -0.0108, -0.01081, \
                 -0.01083, -0.01085, -0.01089");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02057, 0.02052, 0.02055, 0.02058, 0.02052, 0.02056, 0.02051, \
                 0.02046, 0.02039, 0.02029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01072, -0.01073, -0.01073, -0.01075, -0.01079, -0.01081, \
                 -0.01083, -0.01085, -0.01088");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02924, 0.0292, 0.02919, 0.02916, 0.0292, 0.02921, 0.02921, 0.0292, \
                 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02785, -0.0278, -0.02793, -0.02828, -0.02845, -0.02863, -0.02867, \
                 -0.02873, -0.02877, -0.0288");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02919, 0.02918, 0.02915, 0.02917, 0.02921, 0.02924, \
                 0.02922, 0.02921, 0.02918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02535, -0.02778, -0.02829, -0.02845, -0.02862, -0.02869, \
                 -0.02873, -0.02877, -0.02879");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02919, 0.02916, 0.02915, 0.02917, 0.02919, 0.02924, \
                 0.02921, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02536, -0.02774, -0.02829, -0.02846, -0.02862, -0.02868, \
                 -0.02873, -0.02877, -0.02878");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02922, 0.02915, 0.02918, 0.02914, 0.02923, 0.02921, \
                 0.02921, 0.0292, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0238, -0.02535, -0.02771, -0.02828, -0.02845, -0.02864, -0.02867, \
                 -0.02873, -0.02876, -0.02879");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01846, 0.01846, 0.01846, 0.01849, 0.0185, 0.01855, 0.01855, \
                 0.01854, 0.01855, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02608, -0.02606, -0.0261, -0.02612, -0.02609, -0.02613, -0.02611, \
                 -0.02607, -0.02603, -0.02598");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.01845, 0.01846, 0.01849, 0.01849, 0.01854, 0.01853, \
                 0.01854, 0.01854, 0.01854");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01908, -0.01894, -0.01883, -0.01868, -0.01856, -0.01851, -0.01839, \
                 -0.01831, -0.01827, -0.01823");
        }
      }

      internal_power() {
        when : "A1&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.01845, 0.01847, 0.01848, 0.01847, 0.01854, 0.01855, \
                 0.01855, 0.01854, 0.01855");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01894, -0.01883, -0.01868, -0.01857, -0.01849, -0.0184, \
                 -0.01831, -0.01826, -0.01823");
        }
      }

      internal_power() {
        when : "A1&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01847, 0.01844, 0.01845, 0.01847, 0.01851, 0.01855, 0.01853, \
                 0.01853, 0.01855, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01894, -0.01883, -0.01869, -0.01855, -0.0185, -0.01839, \
                 -0.01832, -0.01827, -0.01822");
        }
      }
    }

    pin(A3) {
      capacitance : 0.009572 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02961, 0.02927, 0.02928, 0.02927, 0.02927, 0.02924, 0.02922, \
                 0.02922, 0.02923, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02916, -0.02913, -0.02919, -0.02921, -0.02914, -0.02917, -0.02919, \
                 -0.02917, -0.02916, -0.02917");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02914, 0.02914, 0.02918, 0.02921, 0.02928, 0.0292, \
                 0.02919, 0.0292, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02771, -0.02768, -0.02801, -0.02836, -0.0285, -0.02865, -0.02867, \
                 -0.02874, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02917, 0.02917, 0.02916, 0.02921, 0.02928, 0.02924, \
                 0.02919, 0.02918, 0.02918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02579, -0.02731, -0.02804, -0.02834, -0.02852, -0.02868, -0.02867, \
                 -0.02874, -0.02879, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02917, 0.02917, 0.02918, 0.02919, 0.02924, 0.02923, \
                 0.0292, 0.02918, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02576, -0.0273, -0.02801, -0.02834, -0.02852, -0.02867, -0.02868, \
                 -0.02874, -0.02877, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02913, 0.02917, 0.02912, 0.02912, 0.02919, 0.02922, \
                 0.02921, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02575, -0.02731, -0.02805, -0.02836, -0.02847, -0.02866, -0.02866, \
                 -0.02875, -0.02877, -0.02881");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0292, 0.02917, 0.02915, 0.02917, 0.02921, 0.02924, 0.02924, \
                 0.0292, 0.02924, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0247, -0.02538, -0.02655, -0.02737, -0.02779, -0.02803, -0.0282, \
                 -0.02832, -0.02838, -0.02843");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02921, 0.0292, 0.02918, 0.02919, 0.02919, 0.02923, 0.02926, \
                 0.02923, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02466, -0.02539, -0.0266, -0.02736, -0.02779, -0.02801, -0.02819, \
                 -0.0283, -0.02839, -0.02843");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.02917, 0.02918, 0.02919, 0.0292, 0.02924, 0.02926, \
                 0.02925, 0.02922, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02466, -0.02537, -0.02659, -0.02737, -0.02779, -0.02803, -0.02819, \
                 -0.02831, -0.02839, -0.02843");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.0292, 0.02913, 0.02918, 0.0292, 0.02926, 0.02923, 0.02921, \
                 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02466, -0.02538, -0.02659, -0.02737, -0.02779, -0.02803, -0.02821, \
                 -0.02831, -0.02838, -0.02843");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02918, 0.02917, 0.02916, 0.02913, 0.02924, 0.02923, \
                 0.02918, 0.02922, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02712, -0.02747, -0.02805, -0.02838, -0.02848, -0.02867, -0.02867, \
                 -0.02873, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02917, 0.02914, 0.02915, 0.02915, 0.02919, 0.02923, \
                 0.02921, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02711, -0.02748, -0.02808, -0.02835, -0.02849, -0.02865, -0.0287, \
                 -0.02873, -0.02878, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02918, 0.02915, 0.02913, 0.02918, 0.02919, 0.02923, \
                 0.02923, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02712, -0.02748, -0.02804, -0.02835, -0.0285, -0.02866, -0.02869, \
                 -0.02873, -0.02877, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02914, 0.02911, 0.02913, 0.0292, 0.02926, 0.02922, \
                 0.02922, 0.02919, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02711, -0.02748, -0.02806, -0.02835, -0.02849, -0.02865, -0.02867, \
                 -0.02873, -0.02877, -0.0288");
        }
      }
    }

    pin(B1) {
      capacitance : 0.008622 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0335, 0.03347, 0.03345, 0.03338, 0.03332, 0.03332, 0.03329, \
                 0.03329, 0.03327, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03776, 0.0378, 0.03774, 0.03772, 0.03767, 0.0375, 0.03735, 0.03722, \
                 0.03703, 0.03675");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03343, 0.03347, 0.03351, 0.03347, 0.03344, 0.03338, 0.03332, \
                 0.03327, 0.03324, 0.03318");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03209, -0.03216, -0.03238, -0.03265, -0.03273, -0.0328, -0.03287, \
                 -0.0329, -0.0329, -0.03291");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02558, 0.02556, 0.02552, 0.0255, 0.02547, 0.0255, 0.02547, 0.02543, \
                 0.02539, 0.02533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009613, -0.009612, -0.009639, -0.009639, -0.009654, -0.009682, \
                 -0.009681, -0.009669, -0.009676, -0.009674");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02558, 0.02556, 0.02551, 0.02549, 0.02547, 0.02549, 0.02546, \
                 0.02542, 0.02539, 0.02534");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009613, -0.009612, -0.009638, -0.009637, -0.009647, -0.009681, \
                 -0.00968, -0.009666, -0.009674, -0.00967");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02558, 0.02556, 0.02552, 0.02551, 0.02546, 0.02551, 0.02546, \
                 0.02543, 0.02539, 0.02534");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009609, -0.009611, -0.00964, -0.009659, -0.009653, -0.009675, \
                 -0.009673, -0.009678, -0.009678, -0.009672");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02558, 0.02557, 0.02552, 0.02549, 0.02545, 0.02549, 0.02546, \
                 0.02544, 0.02539, 0.02533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009613, -0.009612, -0.009641, -0.009635, -0.009647, -0.009679, \
                 -0.009673, -0.009668, -0.009678, -0.009677");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02558, 0.02556, 0.02549, 0.02551, 0.02547, 0.02549, 0.02546, \
                 0.02543, 0.0254, 0.02534");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009609, -0.009611, -0.009646, -0.009642, -0.009652, -0.009665, \
                 -0.009673, -0.009677, -0.009676, -0.009673");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02558, 0.02557, 0.02551, 0.0255, 0.02546, 0.0255, 0.02545, 0.02542, \
                 0.02539, 0.02534");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009609, -0.009611, -0.009645, -0.009638, -0.009652, -0.009674, \
                 -0.009677, -0.009674, -0.009678, -0.009673");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02558, 0.02557, 0.02549, 0.02548, 0.02547, 0.0255, 0.02547, \
                 0.02544, 0.02539, 0.02533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009605, -0.009611, -0.00965, -0.009649, -0.009651, -0.009682, \
                 -0.009669, -0.009678, -0.009679, -0.009671");
        }
      }
    }

    pin(B2) {
      capacitance : 0.009106 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03339, 0.03337, 0.03339, 0.03331, 0.03329, 0.03332, 0.03328, \
                 0.03329, 0.03327, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03805, 0.03799, 0.03788, 0.03777, 0.03769, 0.03753, 0.03737, \
                 0.03721, 0.037, 0.03673");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03337, 0.03336, 0.03325, 0.03333, 0.03329, 0.03326, \
                 0.03324, 0.0332, 0.03319");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03174, -0.03178, -0.03231, -0.03254, -0.03268, -0.03277, -0.03284, \
                 -0.03285, -0.0329, -0.0329");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02913, 0.02911, 0.02915, 0.0292, 0.02923, 0.02926, \
                 0.02921, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02462, -0.02659, -0.02805, -0.02843, -0.02852, -0.02866, -0.02876, \
                 -0.02877, -0.02882, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02918, 0.02913, 0.02916, 0.02922, 0.02921, 0.02925, \
                 0.02922, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02463, -0.0266, -0.02803, -0.02838, -0.02853, -0.02864, -0.02874, \
                 -0.02878, -0.02881, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02919, 0.02915, 0.02915, 0.02923, 0.02926, 0.02923, \
                 0.02921, 0.02921, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02464, -0.02662, -0.02805, -0.02837, -0.02854, -0.02864, -0.02875, \
                 -0.02877, -0.0288, -0.0288");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02915, 0.02912, 0.02916, 0.02921, 0.02924, 0.02923, \
                 0.02921, 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02657, -0.02805, -0.02838, -0.02852, -0.02864, -0.02875, \
                 -0.02877, -0.02881, -0.02882");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02915, 0.02918, 0.02912, 0.02925, 0.02925, 0.02922, \
                 0.02919, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02462, -0.02659, -0.02805, -0.02838, -0.02853, -0.02864, -0.02874, \
                 -0.02876, -0.0288, -0.02882");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02915, 0.02918, 0.02914, 0.02924, 0.02923, 0.02922, \
                 0.0292, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02658, -0.02805, -0.0284, -0.02853, -0.02868, -0.02874, \
                 -0.02878, -0.0288, -0.02882");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02917, 0.02908, 0.02914, 0.02917, 0.02922, 0.02924, \
                 0.02921, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02462, -0.02662, -0.02807, -0.02836, -0.02853, -0.02866, -0.02871, \
                 -0.02878, -0.02878, -0.02881");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2)&(!A3))|((!B1)&(!B2)))" ;
      max_capacitance : 0.2026 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.02996, 0.03004, 0.03016, 0.03041, 0.03051, 0.03058, 0.03066, 0.03067, 0.03071, 0.03071",\
                 "0.03031, 0.03043, 0.03088, 0.03134, 0.03173, 0.03195, 0.03213, 0.03224, 0.03231, 0.03237",\
                 "0.03011, 0.03032, 0.0309, 0.03165, 0.03232, 0.03289, 0.03326, 0.03356, 0.03372, 0.03387",\
                 "0.03326, 0.03331, 0.03349, 0.03387, 0.03421, 0.03453, 0.0347, 0.03481, 0.03487, 0.03492",\
                 "0.04365, 0.04347, 0.04287, 0.04212, 0.04134, 0.04063, 0.03993, 0.03935, 0.03877, 0.03829",\
                 "0.06351, 0.06301, 0.06137, 0.05907, 0.05638, 0.05396, 0.0517, 0.04966, 0.04783, 0.04627",\
                 "0.09407, 0.09325, 0.09056, 0.08632, 0.08147, 0.07651, 0.07189, 0.06778, 0.06405, 0.06071",\
                 "0.1365, 0.1352, 0.1314, 0.1252, 0.1178, 0.1099, 0.1023, 0.09546, 0.08914, 0.0835",\
                 "0.1912, 0.1896, 0.1846, 0.1763, 0.1663, 0.1554, 0.1445, 0.134, 0.1246, 0.116",\
                 "0.259, 0.2572, 0.2508, 0.2406, 0.2277, 0.2135, 0.199, 0.1849, 0.1718, 0.1597");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2293, 0.2293, 0.2294, 0.2296, 0.2298, 0.2302, 0.2307, 0.2311, 0.2318, 0.234",\
                 "0.2267, 0.2268, 0.2271, 0.2275, 0.2279, 0.2284, 0.2289, 0.2296, 0.2302, 0.2324",\
                 "0.2259, 0.2259, 0.226, 0.2262, 0.2267, 0.2272, 0.2278, 0.2285, 0.2293, 0.2316",\
                 "0.2341, 0.2338, 0.233, 0.2318, 0.2308, 0.2302, 0.23, 0.2301, 0.2305, 0.2325",\
                 "0.2528, 0.2521, 0.2501, 0.2473, 0.2442, 0.2411, 0.2389, 0.2371, 0.2362, 0.2375",\
                 "0.2819, 0.281, 0.2783, 0.2738, 0.2683, 0.2626, 0.2575, 0.2531, 0.2498, 0.2497",\
                 "0.3226, 0.3213, 0.3179, 0.312, 0.3044, 0.2961, 0.2877, 0.28, 0.2736, 0.2717",\
                 "0.3758, 0.3744, 0.3698, 0.3625, 0.353, 0.3423, 0.3308, 0.3196, 0.3099, 0.3064",\
                 "0.4422, 0.4406, 0.4354, 0.4263, 0.4146, 0.4016, 0.3873, 0.3731, 0.3599, 0.3569",\
                 "0.523, 0.5212, 0.5149, 0.5045, 0.4907, 0.4749, 0.4578, 0.4404, 0.4256, 0.4277");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.00633, 0.006485, 0.006705, 0.006946, 0.007072, 0.00714, 0.007189, 0.007222, 0.007244, 0.007262",\
                 "0.005959, 0.006272, 0.007047, 0.007731, 0.00819, 0.008472, 0.008659, 0.008789, 0.008868, 0.008922",\
                 "0.005052, 0.005437, 0.006458, 0.00762, 0.008583, 0.009274, 0.009724, 0.01004, 0.01025, 0.01039",\
                 "0.008998, 0.009113, 0.009476, 0.01002, 0.01056, 0.01093, 0.01115, 0.01132, 0.01141, 0.01148",\
                 "0.02082, 0.02056, 0.01984, 0.01898, 0.01811, 0.01733, 0.01662, 0.016, 0.01541, 0.01491",\
                 "0.04244, 0.04177, 0.03977, 0.03697, 0.03397, 0.03118, 0.02875, 0.02657, 0.02467, 0.02303",\
                 "0.07508, 0.07402, 0.0706, 0.06567, 0.05998, 0.05452, 0.04954, 0.04513, 0.04118, 0.03772",\
                 "0.1194, 0.118, 0.1132, 0.106, 0.09751, 0.08888, 0.08065, 0.07333, 0.06669, 0.06082",\
                 "0.1763, 0.1744, 0.1682, 0.1587, 0.1472, 0.1353, 0.1235, 0.1126, 0.1026, 0.09381",\
                 "0.246, 0.2436, 0.2362, 0.2243, 0.2099, 0.1945, 0.179, 0.1642, 0.1504, 0.1379");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2084, 0.2084, 0.2085, 0.2087, 0.209, 0.2093, 0.2096, 0.2102, 0.2108, 0.2125",\
                 "0.2058, 0.2059, 0.2062, 0.2066, 0.2071, 0.2075, 0.2079, 0.2086, 0.2092, 0.2108",\
                 "0.205, 0.205, 0.205, 0.2053, 0.2057, 0.2062, 0.2068, 0.2075, 0.2083, 0.2099",\
                 "0.2133, 0.2129, 0.2121, 0.2109, 0.2099, 0.2093, 0.2091, 0.2091, 0.2094, 0.2112",\
                 "0.2319, 0.2314, 0.2293, 0.2264, 0.2232, 0.2203, 0.2179, 0.2164, 0.2152, 0.2163",\
                 "0.2609, 0.2601, 0.2573, 0.2531, 0.2475, 0.2418, 0.2365, 0.2322, 0.2287, 0.2284",\
                 "0.3018, 0.3006, 0.297, 0.291, 0.2836, 0.2751, 0.2669, 0.2591, 0.2523, 0.2501",\
                 "0.3551, 0.3537, 0.3491, 0.3416, 0.332, 0.3215, 0.3099, 0.2987, 0.2886, 0.2843",\
                 "0.4217, 0.42, 0.4146, 0.4055, 0.3938, 0.3805, 0.3663, 0.3519, 0.3386, 0.3341",\
                 "0.5025, 0.5006, 0.4944, 0.4839, 0.47, 0.454, 0.437, 0.4195, 0.404, 0.4041");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.006325, 0.006444, 0.006704, 0.006911, 0.007057, 0.007131, 0.007179, 0.007209, 0.007234, 0.00725",\
                 "0.006095, 0.00637, 0.007055, 0.007739, 0.008187, 0.008473, 0.008661, 0.008783, 0.00886, 0.008906",\
                 "0.005363, 0.005721, 0.006711, 0.00782, 0.008717, 0.009359, 0.009788, 0.01007, 0.01027, 0.01041",\
                 "0.009867, 0.009957, 0.01024, 0.01068, 0.01114, 0.01139, 0.01157, 0.01161, 0.01166, 0.01168",\
                 "0.0221, 0.02183, 0.02109, 0.02013, 0.0192, 0.01832, 0.01748, 0.01667, 0.01603, 0.01543",\
                 "0.04415, 0.04347, 0.04145, 0.03864, 0.03558, 0.03268, 0.03002, 0.0277, 0.02568, 0.02391",\
                 "0.07715, 0.07607, 0.07271, 0.06775, 0.06206, 0.05643, 0.05133, 0.04675, 0.04266, 0.03908",\
                 "0.1219, 0.1204, 0.1157, 0.1084, 0.09998, 0.09126, 0.08292, 0.07538, 0.06868, 0.06261",\
                 "0.1791, 0.1771, 0.171, 0.1615, 0.1501, 0.1381, 0.1263, 0.1152, 0.1051, 0.09604",\
                 "0.249, 0.2468, 0.2394, 0.2276, 0.2133, 0.1977, 0.1823, 0.1674, 0.1534, 0.1407");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2263, 0.2263, 0.2264, 0.2266, 0.2268, 0.2271, 0.2276, 0.2281, 0.2286, 0.2305",\
                 "0.2239, 0.224, 0.2243, 0.2247, 0.2252, 0.2258, 0.2263, 0.227, 0.2277, 0.2295",\
                 "0.223, 0.223, 0.2232, 0.2235, 0.224, 0.2246, 0.2254, 0.2261, 0.2269, 0.2289",\
                 "0.2311, 0.2308, 0.2301, 0.2291, 0.2282, 0.2277, 0.2276, 0.2276, 0.228, 0.23",\
                 "0.2494, 0.2489, 0.2472, 0.2446, 0.2418, 0.2391, 0.2368, 0.2352, 0.234, 0.2349",\
                 "0.2784, 0.2775, 0.2752, 0.2713, 0.2663, 0.2612, 0.2561, 0.2518, 0.2483, 0.2482",\
                 "0.3188, 0.3178, 0.3146, 0.3094, 0.3027, 0.295, 0.2871, 0.2799, 0.2735, 0.2709",\
                 "0.3718, 0.3704, 0.3665, 0.3597, 0.3511, 0.3415, 0.3307, 0.3205, 0.3108, 0.3067",\
                 "0.4379, 0.4367, 0.4317, 0.4234, 0.413, 0.4008, 0.3878, 0.3744, 0.3622, 0.3583",\
                 "0.5186, 0.5169, 0.5113, 0.5016, 0.4891, 0.4743, 0.459, 0.4427, 0.4285, 0.43");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.04994, 0.04988, 0.0499, 0.04988, 0.04994, 0.04999, 0.05007, 0.05005, 0.05005, 0.05005",\
                 "0.04948, 0.04945, 0.04954, 0.04961, 0.04977, 0.04986, 0.04991, 0.04991, 0.04994, 0.04995",\
                 "0.04846, 0.04852, 0.04875, 0.04899, 0.04918, 0.04943, 0.04956, 0.0497, 0.04978, 0.04979",\
                 "0.05053, 0.05049, 0.05051, 0.05041, 0.05041, 0.05042, 0.05033, 0.0503, 0.05021, 0.05017",\
                 "0.06095, 0.06064, 0.05991, 0.05881, 0.05767, 0.05651, 0.05549, 0.0547, 0.05391, 0.05324",\
                 "0.08234, 0.08178, 0.07997, 0.07744, 0.07423, 0.07103, 0.06818, 0.06566, 0.06345, 0.06158",\
                 "0.1162, 0.1153, 0.1122, 0.1076, 0.1021, 0.09628, 0.09074, 0.08566, 0.08115, 0.07722",\
                 "0.1636, 0.1624, 0.158, 0.1512, 0.1428, 0.1338, 0.1249, 0.1167, 0.1091, 0.1024",\
                 "0.2252, 0.2237, 0.218, 0.2088, 0.1974, 0.1848, 0.1724, 0.1604, 0.1492, 0.1389",\
                 "0.3018, 0.2997, 0.2928, 0.2814, 0.2668, 0.2507, 0.2341, 0.2179, 0.2025, 0.1883");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2499, 0.25, 0.2501, 0.2502, 0.2504, 0.2508, 0.2511, 0.2517, 0.2525, 0.2544",\
                 "0.2476, 0.2477, 0.248, 0.2483, 0.2487, 0.2491, 0.2497, 0.2502, 0.2509, 0.253",\
                 "0.2447, 0.2448, 0.2451, 0.2458, 0.2465, 0.2472, 0.248, 0.2488, 0.2497, 0.252",\
                 "0.2483, 0.2482, 0.2478, 0.2475, 0.2476, 0.2478, 0.2482, 0.2488, 0.2496, 0.2521",\
                 "0.2651, 0.2646, 0.2631, 0.2608, 0.2584, 0.2564, 0.2552, 0.2542, 0.254, 0.2559",\
                 "0.2965, 0.2955, 0.2928, 0.2881, 0.2829, 0.2779, 0.2731, 0.2693, 0.2668, 0.2672",\
                 "0.3418, 0.3406, 0.3367, 0.3302, 0.3223, 0.3135, 0.3051, 0.2974, 0.2912, 0.2896",\
                 "0.402, 0.4004, 0.3954, 0.3869, 0.3764, 0.3648, 0.3527, 0.3408, 0.3305, 0.3262",\
                 "0.4773, 0.4755, 0.4694, 0.4594, 0.446, 0.4311, 0.4155, 0.3996, 0.3856, 0.3804",\
                 "0.5688, 0.5666, 0.5599, 0.5478, 0.5319, 0.514, 0.4947, 0.4755, 0.4583, 0.4559");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.02646, 0.02646, 0.02643, 0.02645, 0.02652, 0.02656, 0.02656, 0.0266, 0.02661, 0.02659",\
                 "0.02588, 0.02587, 0.026, 0.02614, 0.02628, 0.02636, 0.02642, 0.02646, 0.02649, 0.02649",\
                 "0.02448, 0.0246, 0.02493, 0.02531, 0.02567, 0.02592, 0.02609, 0.0262, 0.02627, 0.02633",\
                 "0.02689, 0.02692, 0.02685, 0.02684, 0.02691, 0.02689, 0.02686, 0.02682, 0.02679, 0.02673",\
                 "0.03856, 0.03828, 0.03729, 0.03595, 0.03461, 0.03336, 0.03232, 0.03136, 0.03058, 0.0299",\
                 "0.0619, 0.06111, 0.05881, 0.05556, 0.05197, 0.04851, 0.04533, 0.04264, 0.0403, 0.03837",\
                 "0.09791, 0.09666, 0.09298, 0.08742, 0.081, 0.0746, 0.06857, 0.06318, 0.05842, 0.05432",\
                 "0.1476, 0.146, 0.1407, 0.1326, 0.1231, 0.1132, 0.1036, 0.09486, 0.0869, 0.07989",\
                 "0.2116, 0.2095, 0.2028, 0.192, 0.1792, 0.1654, 0.152, 0.1392, 0.1275, 0.1169",\
                 "0.2901, 0.2876, 0.2794, 0.2664, 0.25, 0.2324, 0.2147, 0.1976, 0.1815, 0.1668");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2291, 0.2291, 0.2291, 0.2292, 0.2294, 0.2298, 0.2302, 0.2307, 0.2312, 0.2331",\
                 "0.2267, 0.2268, 0.227, 0.2273, 0.2278, 0.2281, 0.2286, 0.2291, 0.2297, 0.2315",\
                 "0.2238, 0.2239, 0.2242, 0.2249, 0.2256, 0.2263, 0.227, 0.2278, 0.2287, 0.2306",\
                 "0.2274, 0.2273, 0.2268, 0.2266, 0.2266, 0.2269, 0.2272, 0.2278, 0.2285, 0.2308",\
                 "0.2443, 0.2437, 0.2422, 0.2399, 0.2375, 0.2355, 0.2343, 0.2333, 0.2329, 0.2346",\
                 "0.2755, 0.2747, 0.2719, 0.2673, 0.2621, 0.257, 0.2522, 0.2485, 0.2455, 0.2455",\
                 "0.3212, 0.3199, 0.3159, 0.3093, 0.3015, 0.2927, 0.2842, 0.2764, 0.2702, 0.2678",\
                 "0.3813, 0.3797, 0.3747, 0.3662, 0.3554, 0.3438, 0.3316, 0.3199, 0.3093, 0.3043",\
                 "0.4568, 0.4549, 0.4488, 0.4388, 0.4253, 0.4102, 0.3945, 0.3787, 0.3643, 0.358",\
                 "0.5483, 0.5463, 0.5393, 0.5272, 0.5115, 0.4932, 0.4737, 0.4544, 0.4369, 0.4325");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.02637, 0.0264, 0.02639, 0.02643, 0.02649, 0.02653, 0.02656, 0.02656, 0.02658, 0.02659",\
                 "0.02585, 0.02589, 0.026, 0.02623, 0.02628, 0.02634, 0.02638, 0.02646, 0.02647, 0.02649",\
                 "0.02455, 0.02468, 0.02507, 0.02545, 0.02572, 0.02593, 0.02608, 0.02621, 0.02627, 0.02634",\
                 "0.02755, 0.02751, 0.02746, 0.02746, 0.02737, 0.02731, 0.02718, 0.02706, 0.02697, 0.02691",\
                 "0.03989, 0.03956, 0.03856, 0.03715, 0.03565, 0.0343, 0.03309, 0.03204, 0.03115, 0.0304",\
                 "0.06382, 0.06307, 0.06071, 0.05736, 0.05362, 0.05003, 0.04671, 0.04383, 0.04134, 0.03928",\
                 "0.1004, 0.09917, 0.09551, 0.08987, 0.0833, 0.07669, 0.07052, 0.06492, 0.06, 0.05575",\
                 "0.1506, 0.149, 0.1437, 0.1356, 0.1259, 0.1159, 0.1062, 0.09714, 0.08908, 0.08185",\
                 "0.215, 0.2129, 0.2062, 0.1955, 0.1825, 0.1687, 0.1551, 0.1422, 0.1302, 0.1195",\
                 "0.2941, 0.2916, 0.2834, 0.2703, 0.2539, 0.2363, 0.2184, 0.2012, 0.185, 0.17");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2469, 0.247, 0.247, 0.2472, 0.2474, 0.2477, 0.2482, 0.2487, 0.2493, 0.2511",\
                 "0.2447, 0.2449, 0.2451, 0.2455, 0.246, 0.2465, 0.247, 0.2476, 0.2483, 0.2502",\
                 "0.2417, 0.2419, 0.2423, 0.2429, 0.2437, 0.2445, 0.2454, 0.2463, 0.2472, 0.2494",\
                 "0.2452, 0.2451, 0.2448, 0.2447, 0.2447, 0.245, 0.2455, 0.2462, 0.2472, 0.2492",\
                 "0.2618, 0.2613, 0.26, 0.2581, 0.2559, 0.2541, 0.2527, 0.2519, 0.2516, 0.2532",\
                 "0.2929, 0.2921, 0.2896, 0.2856, 0.2808, 0.2761, 0.2715, 0.2679, 0.265, 0.265",\
                 "0.338, 0.337, 0.3334, 0.3277, 0.3204, 0.3127, 0.3046, 0.2972, 0.2908, 0.2885",\
                 "0.3978, 0.3965, 0.392, 0.3843, 0.3747, 0.3643, 0.3529, 0.3416, 0.3314, 0.3268",\
                 "0.473, 0.4714, 0.466, 0.4567, 0.4445, 0.4307, 0.4165, 0.4018, 0.3881, 0.3821",\
                 "0.5644, 0.5624, 0.5562, 0.5453, 0.5307, 0.514, 0.4961, 0.4783, 0.4619, 0.4587");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.06864, 0.06858, 0.06855, 0.06853, 0.06857, 0.0686, 0.06865, 0.06867, 0.06866, 0.06869",\
                 "0.0667, 0.06666, 0.06668, 0.06665, 0.06675, 0.06675, 0.06677, 0.06681, 0.06684, 0.06681",\
                 "0.0648, 0.06481, 0.06479, 0.06479, 0.06481, 0.06485, 0.06494, 0.06494, 0.06497, 0.06495",\
                 "0.06627, 0.06619, 0.06599, 0.06578, 0.06552, 0.06529, 0.06501, 0.06487, 0.06478, 0.06467",\
                 "0.07714, 0.0768, 0.07578, 0.07424, 0.07265, 0.07123, 0.06995, 0.06897, 0.06805, 0.06736",\
                 "0.1015, 0.1008, 0.0985, 0.09491, 0.0909, 0.08695, 0.0835, 0.08051, 0.07788, 0.07579",\
                 "0.1415, 0.1403, 0.1364, 0.1301, 0.123, 0.1156, 0.1087, 0.1025, 0.0972, 0.09267",\
                 "0.1986, 0.197, 0.1912, 0.1821, 0.1711, 0.1596, 0.1482, 0.1379, 0.1287, 0.1206",\
                 "0.2737, 0.2713, 0.2639, 0.2517, 0.2365, 0.2202, 0.2041, 0.1887, 0.1746, 0.1621",\
                 "0.367, 0.3642, 0.355, 0.3399, 0.3205, 0.2991, 0.2774, 0.2565, 0.237, 0.219");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2702, 0.2703, 0.2703, 0.2705, 0.2707, 0.2711, 0.2714, 0.272, 0.2727, 0.2748",\
                 "0.2679, 0.268, 0.2682, 0.2686, 0.2689, 0.2694, 0.2699, 0.2705, 0.2712, 0.2733",\
                 "0.2646, 0.2648, 0.2652, 0.2659, 0.2667, 0.2674, 0.2682, 0.2691, 0.2702, 0.2723",\
                 "0.2657, 0.2656, 0.2655, 0.2657, 0.2661, 0.2668, 0.2674, 0.2682, 0.2691, 0.2717",\
                 "0.2801, 0.2796, 0.2784, 0.2766, 0.2749, 0.2736, 0.2729, 0.2724, 0.2725, 0.2747",\
                 "0.3136, 0.3126, 0.3098, 0.3055, 0.3004, 0.2956, 0.2912, 0.2877, 0.2855, 0.2859",\
                 "0.3671, 0.3656, 0.361, 0.3537, 0.3451, 0.3359, 0.327, 0.3192, 0.3129, 0.3107",\
                 "0.4396, 0.4378, 0.4317, 0.4219, 0.4095, 0.396, 0.3824, 0.3698, 0.3581, 0.3528",\
                 "0.5311, 0.5289, 0.5219, 0.5098, 0.494, 0.4761, 0.4579, 0.4398, 0.4233, 0.4153",\
                 "0.642, 0.6397, 0.6317, 0.6179, 0.5989, 0.5769, 0.554, 0.5311, 0.5101, 0.5026");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.04517, 0.04514, 0.04516, 0.04516, 0.04511, 0.04514, 0.04516, 0.0452, 0.04521, 0.04519",\
                 "0.04325, 0.04323, 0.04326, 0.04327, 0.04325, 0.04327, 0.04329, 0.04334, 0.0434, 0.04334",\
                 "0.04124, 0.04126, 0.0413, 0.04133, 0.04139, 0.04138, 0.04143, 0.04148, 0.04151, 0.0415",\
                 "0.04309, 0.04297, 0.04273, 0.04242, 0.04213, 0.04184, 0.04161, 0.04143, 0.04133, 0.04123",\
                 "0.05534, 0.05489, 0.05355, 0.05173, 0.04987, 0.04819, 0.0468, 0.04567, 0.04472, 0.04399",\
                 "0.08206, 0.08103, 0.0781, 0.07377, 0.06907, 0.06468, 0.06081, 0.05761, 0.05485, 0.05263",\
                 "0.1249, 0.1233, 0.1184, 0.111, 0.1027, 0.09446, 0.08691, 0.08024, 0.07457, 0.0698",\
                 "0.185, 0.1828, 0.1759, 0.1652, 0.1525, 0.1397, 0.1275, 0.1164, 0.1067, 0.09823",\
                 "0.2628, 0.2601, 0.2512, 0.237, 0.22, 0.202, 0.1845, 0.1682, 0.1535, 0.1403",\
                 "0.3588, 0.3555, 0.3448, 0.3275, 0.3059, 0.2825, 0.2592, 0.2372, 0.2167, 0.1981");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2493, 0.2493, 0.2494, 0.2495, 0.2497, 0.25, 0.2504, 0.2509, 0.2515, 0.2533",\
                 "0.2469, 0.247, 0.2473, 0.2475, 0.2479, 0.2483, 0.2488, 0.2493, 0.25, 0.2518",\
                 "0.2437, 0.2438, 0.2443, 0.245, 0.2456, 0.2465, 0.2472, 0.2481, 0.2489, 0.2509",\
                 "0.2447, 0.2447, 0.2446, 0.2448, 0.2452, 0.2457, 0.2464, 0.2472, 0.248, 0.2503",\
                 "0.2592, 0.2588, 0.2574, 0.2557, 0.2539, 0.2526, 0.2519, 0.2514, 0.2516, 0.2533",\
                 "0.2926, 0.2917, 0.2888, 0.2844, 0.2794, 0.2745, 0.2702, 0.2668, 0.2644, 0.2645",\
                 "0.3462, 0.3448, 0.3402, 0.3329, 0.3241, 0.315, 0.306, 0.2983, 0.2918, 0.289",\
                 "0.419, 0.4171, 0.411, 0.4011, 0.3885, 0.375, 0.3615, 0.3485, 0.3368, 0.3305",\
                 "0.5106, 0.5085, 0.5013, 0.4892, 0.4732, 0.4552, 0.437, 0.4188, 0.4021, 0.3928",\
                 "0.6217, 0.6192, 0.611, 0.5972, 0.5783, 0.5561, 0.533, 0.5099, 0.4887, 0.4793");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.04515, 0.04516, 0.04518, 0.04511, 0.04511, 0.04513, 0.04519, 0.0452, 0.04521, 0.04523",\
                 "0.04328, 0.04322, 0.04326, 0.04324, 0.04329, 0.0433, 0.04331, 0.04333, 0.04333, 0.04337",\
                 "0.04127, 0.04131, 0.0414, 0.04141, 0.0414, 0.04144, 0.04146, 0.04149, 0.04146, 0.04149",\
                 "0.04364, 0.0435, 0.04325, 0.04283, 0.04244, 0.04213, 0.04188, 0.04165, 0.04147, 0.04135",\
                 "0.05675, 0.05625, 0.05486, 0.05292, 0.05087, 0.04909, 0.04754, 0.04631, 0.0453, 0.04446",\
                 "0.08429, 0.08326, 0.08022, 0.0758, 0.07096, 0.06634, 0.06221, 0.05881, 0.05592, 0.05355",\
                 "0.1279, 0.1263, 0.1214, 0.1138, 0.1053, 0.09684, 0.08904, 0.08216, 0.07634, 0.07132",\
                 "0.1886, 0.1865, 0.1795, 0.1687, 0.1559, 0.1428, 0.1304, 0.1191, 0.1091, 0.1005",\
                 "0.2672, 0.2644, 0.2556, 0.2413, 0.2241, 0.2059, 0.1882, 0.1717, 0.1567, 0.1433",\
                 "0.3638, 0.3605, 0.3498, 0.3324, 0.3108, 0.2873, 0.2638, 0.2415, 0.2208, 0.2019");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2672, 0.2672, 0.2673, 0.2675, 0.2676, 0.268, 0.2684, 0.2689, 0.2694, 0.2713",\
                 "0.265, 0.2651, 0.2654, 0.2658, 0.2663, 0.2667, 0.2672, 0.2679, 0.2686, 0.2704",\
                 "0.2617, 0.2617, 0.2621, 0.2629, 0.2637, 0.2647, 0.2656, 0.2665, 0.2674, 0.2695",\
                 "0.2624, 0.2624, 0.2625, 0.2627, 0.263, 0.2637, 0.2646, 0.2656, 0.2665, 0.269",\
                 "0.2767, 0.2765, 0.2754, 0.2737, 0.2723, 0.271, 0.2703, 0.2699, 0.27, 0.2718",\
                 "0.31, 0.3092, 0.3067, 0.3029, 0.2982, 0.2935, 0.2893, 0.2861, 0.2836, 0.284",\
                 "0.3632, 0.3619, 0.3578, 0.3513, 0.3433, 0.335, 0.3267, 0.3189, 0.3124, 0.3096",\
                 "0.4354, 0.4337, 0.4284, 0.4195, 0.408, 0.3959, 0.383, 0.3708, 0.3596, 0.3535",\
                 "0.5269, 0.5251, 0.5186, 0.5073, 0.493, 0.4764, 0.4597, 0.4426, 0.4269, 0.4181",\
                 "0.638, 0.6358, 0.6284, 0.6155, 0.5981, 0.5781, 0.5566, 0.535, 0.5153, 0.5074");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.04664, 0.0467, 0.04683, 0.04697, 0.04707, 0.04716, 0.04723, 0.04729, 0.04731, 0.04735",\
                 "0.04718, 0.04728, 0.04754, 0.0478, 0.04807, 0.04827, 0.04842, 0.04854, 0.04863, 0.04868",\
                 "0.04934, 0.04935, 0.04937, 0.04942, 0.04953, 0.04957, 0.04966, 0.04976, 0.04977, 0.04982",\
                 "0.05653, 0.0563, 0.05569, 0.05484, 0.05404, 0.05332, 0.05273, 0.05226, 0.05187, 0.05156",\
                 "0.07256, 0.07196, 0.07029, 0.06793, 0.06536, 0.06302, 0.06102, 0.05929, 0.05782, 0.05659",\
                 "0.09967, 0.09875, 0.09578, 0.09131, 0.08639, 0.08164, 0.07725, 0.07339, 0.07012, 0.06738",\
                 "0.1394, 0.1381, 0.1338, 0.127, 0.1191, 0.1112, 0.1038, 0.09716, 0.09122, 0.08606",\
                 "0.1927, 0.1909, 0.1855, 0.1764, 0.1654, 0.1538, 0.1425, 0.1323, 0.1231, 0.1149",\
                 "0.2601, 0.258, 0.2514, 0.2403, 0.2262, 0.2108, 0.1953, 0.1807, 0.1675, 0.1555",\
                 "0.3426, 0.3402, 0.3324, 0.3192, 0.3023, 0.283, 0.2632, 0.244, 0.2261, 0.2097");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.157, 0.1574, 0.1582, 0.1591, 0.1597, 0.1604, 0.1611, 0.1618, 0.1625, 0.1636",\
                 "0.1547, 0.1552, 0.1564, 0.158, 0.1594, 0.1605, 0.1616, 0.1625, 0.1634, 0.1646",\
                 "0.1563, 0.1563, 0.1565, 0.1572, 0.1583, 0.1595, 0.1608, 0.162, 0.1631, 0.1641",\
                 "0.1685, 0.168, 0.1664, 0.1648, 0.1636, 0.163, 0.1632, 0.1638, 0.1643, 0.1651",\
                 "0.1924, 0.1913, 0.1884, 0.1841, 0.1799, 0.1763, 0.1739, 0.1722, 0.1709, 0.1706",\
                 "0.2284, 0.2269, 0.2226, 0.2161, 0.2091, 0.2019, 0.1957, 0.1908, 0.1865, 0.1837",\
                 "0.2782, 0.2762, 0.2703, 0.2615, 0.2514, 0.2414, 0.2313, 0.2225, 0.2145, 0.2079",\
                 "0.3422, 0.34, 0.3329, 0.3217, 0.3085, 0.2948, 0.2813, 0.2685, 0.2569, 0.246",\
                 "0.4221, 0.4194, 0.4109, 0.3976, 0.3814, 0.3637, 0.3465, 0.3298, 0.3143, 0.299",\
                 "0.5183, 0.5152, 0.5054, 0.4899, 0.4706, 0.4497, 0.428, 0.4071, 0.3872, 0.3691");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.02678, 0.02679, 0.02696, 0.02714, 0.0273, 0.02737, 0.02743, 0.02746, 0.02751, 0.02753",\
                 "0.02721, 0.02731, 0.02759, 0.02794, 0.02828, 0.02847, 0.02864, 0.02875, 0.02882, 0.02887",\
                 "0.02913, 0.02917, 0.02927, 0.02943, 0.02959, 0.02973, 0.02984, 0.0299, 0.02995, 0.02999",\
                 "0.03668, 0.0365, 0.0358, 0.03496, 0.03421, 0.03351, 0.03295, 0.03245, 0.03203, 0.03176",\
                 "0.05395, 0.05327, 0.05135, 0.04872, 0.04604, 0.04348, 0.04138, 0.0396, 0.03805, 0.03685",\
                 "0.08287, 0.08179, 0.07828, 0.07328, 0.06774, 0.06262, 0.05806, 0.05403, 0.05065, 0.0478",\
                 "0.1245, 0.1229, 0.118, 0.1105, 0.1018, 0.09307, 0.08526, 0.07827, 0.07208, 0.06678",\
                 "0.1795, 0.1776, 0.1713, 0.1614, 0.1494, 0.1368, 0.1248, 0.1142, 0.1045, 0.09597",\
                 "0.2487, 0.2463, 0.2389, 0.2267, 0.2114, 0.1949, 0.1785, 0.1632, 0.1494, 0.137",\
                 "0.3326, 0.33, 0.3214, 0.3071, 0.2887, 0.2683, 0.2474, 0.2273, 0.2085, 0.1916");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1369, 0.1372, 0.138, 0.1389, 0.1396, 0.1403, 0.1408, 0.1415, 0.1424, 0.1429",\
                 "0.1346, 0.135, 0.1362, 0.1378, 0.1391, 0.1404, 0.1413, 0.1424, 0.143, 0.1443",\
                 "0.1362, 0.1362, 0.1364, 0.137, 0.138, 0.1394, 0.1405, 0.1417, 0.1427, 0.1438",\
                 "0.1483, 0.1477, 0.1463, 0.1446, 0.1435, 0.1429, 0.1431, 0.1433, 0.1439, 0.1444",\
                 "0.172, 0.171, 0.1681, 0.164, 0.1598, 0.1561, 0.1535, 0.1518, 0.1505, 0.15",\
                 "0.2081, 0.2068, 0.2023, 0.1958, 0.1889, 0.1818, 0.1757, 0.1706, 0.1663, 0.1636",\
                 "0.2581, 0.2562, 0.2501, 0.2413, 0.2312, 0.2209, 0.211, 0.2022, 0.1941, 0.1874",\
                 "0.3225, 0.3202, 0.3129, 0.3015, 0.2883, 0.2743, 0.2611, 0.2483, 0.2361, 0.2254",\
                 "0.4028, 0.4, 0.3911, 0.3775, 0.361, 0.3435, 0.3262, 0.3097, 0.2936, 0.2788",\
                 "0.4995, 0.4962, 0.4862, 0.4702, 0.4506, 0.429, 0.4077, 0.3866, 0.3668, 0.3486");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.02669, 0.02681, 0.02692, 0.02713, 0.02725, 0.02735, 0.02744, 0.02747, 0.02751, 0.02752",\
                 "0.02722, 0.02737, 0.02767, 0.02794, 0.02827, 0.02846, 0.02862, 0.02873, 0.02881, 0.02886",\
                 "0.02942, 0.02947, 0.02954, 0.02967, 0.02977, 0.02984, 0.02995, 0.03, 0.03003, 0.03006",\
                 "0.03757, 0.03736, 0.03662, 0.0357, 0.03482, 0.03407, 0.03345, 0.03283, 0.03244, 0.03206",\
                 "0.05569, 0.05496, 0.05308, 0.05028, 0.04746, 0.04485, 0.04256, 0.04067, 0.03907, 0.03773",\
                 "0.08578, 0.08462, 0.08128, 0.07612, 0.07048, 0.0652, 0.0604, 0.05616, 0.05261, 0.04962",\
                 "0.1289, 0.1272, 0.1224, 0.1148, 0.106, 0.0972, 0.08907, 0.08186, 0.07549, 0.0699",\
                 "0.1857, 0.1838, 0.1775, 0.1676, 0.1555, 0.1428, 0.1307, 0.1195, 0.1097, 0.101",\
                 "0.2571, 0.2548, 0.2473, 0.2351, 0.2199, 0.2033, 0.1867, 0.171, 0.157, 0.1444",\
                 "0.3437, 0.3411, 0.3325, 0.3182, 0.3, 0.2794, 0.2585, 0.2382, 0.219, 0.2016");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1365, 0.1368, 0.1377, 0.1385, 0.1392, 0.14, 0.1404, 0.1411, 0.1418, 0.1426",\
                 "0.1336, 0.134, 0.1353, 0.1367, 0.1381, 0.1394, 0.1403, 0.1412, 0.142, 0.1429",\
                 "0.1356, 0.1355, 0.1356, 0.1359, 0.1368, 0.138, 0.1392, 0.1403, 0.1414, 0.1423",\
                 "0.149, 0.1484, 0.1469, 0.1449, 0.1431, 0.1422, 0.1422, 0.1423, 0.1427, 0.1434",\
                 "0.174, 0.1729, 0.17, 0.1656, 0.1611, 0.1571, 0.1541, 0.1519, 0.1503, 0.1495",\
                 "0.2116, 0.2101, 0.2057, 0.1993, 0.192, 0.1848, 0.178, 0.1726, 0.168, 0.1646",\
                 "0.2633, 0.2614, 0.2553, 0.2466, 0.2365, 0.2265, 0.2163, 0.2068, 0.1985, 0.1914",\
                 "0.3302, 0.3278, 0.3205, 0.3092, 0.2962, 0.2826, 0.2692, 0.2562, 0.2436, 0.2323",\
                 "0.4134, 0.4105, 0.4017, 0.3879, 0.3719, 0.3546, 0.3376, 0.3209, 0.3047, 0.289",\
                 "0.5137, 0.5104, 0.5002, 0.4842, 0.4645, 0.4437, 0.4228, 0.4015, 0.382, 0.3631");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.006145, 0.006268, 0.006512, 0.006743, 0.006867, 0.00694, 0.006996, 0.00704, 0.007066, 0.007121",\
                 "0.006128, 0.006346, 0.006873, 0.00738, 0.007777, 0.008026, 0.008197, 0.008316, 0.008394, 0.00844",\
                 "0.008222, 0.008303, 0.008545, 0.008807, 0.009076, 0.009257, 0.009375, 0.009466, 0.009522, 0.009561",\
                 "0.01724, 0.0169, 0.01603, 0.01494, 0.01401, 0.01326, 0.01258, 0.01211, 0.01166, 0.01138",\
                 "0.03671, 0.03576, 0.03316, 0.0298, 0.02654, 0.02376, 0.02138, 0.0195, 0.01789, 0.01658",\
                 "0.06793, 0.06652, 0.06215, 0.0559, 0.04941, 0.04371, 0.0386, 0.03431, 0.03071, 0.02773",\
                 "0.1117, 0.1098, 0.1038, 0.09482, 0.08477, 0.07509, 0.06654, 0.05904, 0.05256, 0.04701",\
                 "0.1687, 0.1663, 0.1588, 0.1473, 0.1338, 0.1199, 0.107, 0.09552, 0.08547, 0.07661",\
                 "0.2395, 0.2368, 0.2281, 0.2142, 0.1972, 0.1792, 0.1616, 0.1455, 0.131, 0.1182",\
                 "0.325, 0.3218, 0.3121, 0.2961, 0.2758, 0.2539, 0.2317, 0.2104, 0.191, 0.1734");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1162, 0.1166, 0.1174, 0.1182, 0.1188, 0.1195, 0.12, 0.1203, 0.1209, 0.1216",\
                 "0.1139, 0.1144, 0.1156, 0.1171, 0.1185, 0.1196, 0.1203, 0.1213, 0.1219, 0.1227",\
                 "0.1155, 0.1155, 0.1156, 0.1162, 0.1173, 0.1185, 0.1198, 0.1207, 0.1214, 0.1228",\
                 "0.1277, 0.1272, 0.1257, 0.1239, 0.1226, 0.122, 0.122, 0.1224, 0.1231, 0.1235",\
                 "0.1515, 0.1504, 0.1474, 0.1434, 0.1392, 0.1352, 0.1325, 0.1305, 0.1297, 0.129",\
                 "0.1879, 0.1864, 0.1818, 0.1752, 0.1682, 0.1612, 0.1546, 0.1495, 0.1452, 0.142",\
                 "0.2383, 0.2362, 0.2298, 0.2209, 0.2104, 0.2004, 0.1904, 0.1811, 0.173, 0.1666",\
                 "0.3033, 0.3008, 0.293, 0.2813, 0.2679, 0.2537, 0.2405, 0.2275, 0.2153, 0.2044",\
                 "0.3841, 0.3811, 0.3718, 0.3576, 0.3407, 0.3231, 0.3053, 0.2889, 0.2726, 0.2575",\
                 "0.4811, 0.478, 0.4673, 0.4507, 0.4306, 0.4089, 0.3871, 0.3662, 0.3465, 0.3274");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.006114, 0.006262, 0.006507, 0.006726, 0.006876, 0.006938, 0.006989, 0.007063, 0.007097, 0.007109",\
                 "0.00619, 0.006388, 0.006909, 0.0074, 0.007788, 0.008028, 0.008195, 0.00831, 0.008387, 0.008443",\
                 "0.008575, 0.00864, 0.008863, 0.009074, 0.009276, 0.009415, 0.009499, 0.009554, 0.009597, 0.009628",\
                 "0.01819, 0.0178, 0.01683, 0.01573, 0.01472, 0.01383, 0.01308, 0.0125, 0.01203, 0.01168",\
                 "0.03848, 0.03749, 0.0349, 0.03142, 0.02805, 0.0251, 0.02259, 0.02055, 0.01887, 0.0175",\
                 "0.07082, 0.06939, 0.06506, 0.05874, 0.05217, 0.0462, 0.04095, 0.03647, 0.03271, 0.02955",\
                 "0.116, 0.1141, 0.1081, 0.09913, 0.08904, 0.07914, 0.07042, 0.06271, 0.05598, 0.05022",\
                 "0.1748, 0.1725, 0.1651, 0.1534, 0.1399, 0.126, 0.1129, 0.101, 0.0908, 0.08166",\
                 "0.2479, 0.2452, 0.2365, 0.2226, 0.2057, 0.1876, 0.1698, 0.1535, 0.1388, 0.1256",\
                 "0.3359, 0.3329, 0.3232, 0.3072, 0.287, 0.265, 0.2428, 0.2213, 0.2014, 0.1835");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1159, 0.1162, 0.117, 0.1178, 0.1184, 0.1191, 0.1198, 0.1201, 0.1209, 0.1214",\
                 "0.1129, 0.1133, 0.1145, 0.116, 0.1174, 0.1185, 0.1193, 0.1202, 0.1209, 0.1216",\
                 "0.115, 0.1149, 0.1148, 0.1152, 0.116, 0.1172, 0.1184, 0.1195, 0.1203, 0.1211",\
                 "0.1283, 0.1278, 0.1262, 0.1241, 0.1223, 0.1215, 0.1211, 0.1215, 0.1218, 0.122",\
                 "0.1534, 0.1524, 0.1494, 0.1451, 0.1404, 0.1362, 0.1331, 0.1305, 0.129, 0.1285",\
                 "0.1913, 0.1898, 0.1852, 0.1786, 0.1714, 0.1642, 0.1572, 0.1516, 0.147, 0.1434",\
                 "0.2436, 0.2415, 0.2352, 0.2264, 0.2159, 0.2059, 0.1957, 0.1858, 0.1772, 0.1702",\
                 "0.3111, 0.3085, 0.3008, 0.2889, 0.2757, 0.2617, 0.2486, 0.2353, 0.2224, 0.2111",\
                 "0.3948, 0.3918, 0.3824, 0.3682, 0.3514, 0.334, 0.3168, 0.3, 0.2837, 0.2686",\
                 "0.4957, 0.4923, 0.4816, 0.4647, 0.4445, 0.4232, 0.402, 0.3808, 0.3611, 0.3425");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.006114, 0.006262, 0.006505, 0.006726, 0.006877, 0.006938, 0.006988, 0.00706, 0.007095, 0.00711",\
                 "0.00619, 0.006388, 0.006909, 0.007398, 0.007788, 0.008028, 0.008195, 0.00831, 0.008387, 0.008441",\
                 "0.008574, 0.00864, 0.008862, 0.009073, 0.009275, 0.009415, 0.009499, 0.009554, 0.009597, 0.009628",\
                 "0.01819, 0.01781, 0.01687, 0.01573, 0.01469, 0.01382, 0.01308, 0.01249, 0.01207, 0.01171",\
                 "0.03845, 0.03749, 0.0349, 0.03144, 0.02798, 0.02511, 0.02262, 0.02057, 0.01887, 0.0175",\
                 "0.07081, 0.06939, 0.06504, 0.05874, 0.05216, 0.04616, 0.04096, 0.03648, 0.03272, 0.02952",\
                 "0.116, 0.1141, 0.1081, 0.09912, 0.08904, 0.07918, 0.07043, 0.06267, 0.056, 0.05025",\
                 "0.1748, 0.1724, 0.1651, 0.1534, 0.1399, 0.126, 0.1129, 0.1011, 0.09078, 0.08161",\
                 "0.2478, 0.2451, 0.2365, 0.2226, 0.2057, 0.1877, 0.1698, 0.1535, 0.1387, 0.1256",\
                 "0.3359, 0.3329, 0.3231, 0.3072, 0.287, 0.265, 0.2427, 0.2213, 0.2014, 0.1834");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1159, 0.1162, 0.117, 0.1178, 0.1184, 0.1191, 0.1198, 0.1201, 0.1209, 0.1214",\
                 "0.1129, 0.1133, 0.1145, 0.116, 0.1174, 0.1186, 0.1193, 0.1203, 0.1209, 0.1217",\
                 "0.115, 0.1148, 0.1148, 0.1152, 0.116, 0.1171, 0.1183, 0.1195, 0.12, 0.1211",\
                 "0.1283, 0.1278, 0.1262, 0.1241, 0.1224, 0.1215, 0.1211, 0.1212, 0.1214, 0.122",\
                 "0.1534, 0.1524, 0.1493, 0.1452, 0.1405, 0.1364, 0.1331, 0.1308, 0.1293, 0.1285",\
                 "0.1913, 0.1898, 0.1853, 0.1787, 0.1714, 0.1643, 0.1572, 0.1516, 0.147, 0.1434",\
                 "0.2435, 0.2415, 0.2352, 0.2263, 0.2159, 0.2056, 0.1957, 0.186, 0.1773, 0.17",\
                 "0.3111, 0.3085, 0.3007, 0.2889, 0.2757, 0.2617, 0.2485, 0.2354, 0.2224, 0.2106",\
                 "0.3948, 0.3918, 0.3824, 0.3681, 0.3513, 0.3338, 0.3166, 0.3003, 0.2835, 0.268",\
                 "0.4957, 0.4923, 0.4815, 0.4645, 0.4446, 0.4232, 0.402, 0.3811, 0.3609, 0.3423");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.006108, 0.006213, 0.006469, 0.006716, 0.006871, 0.006948, 0.007007, 0.007049, 0.007073, 0.007101",\
                 "0.006264, 0.006423, 0.006909, 0.007411, 0.007794, 0.008034, 0.008195, 0.008296, 0.008381, 0.008434",\
                 "0.008735, 0.008777, 0.008993, 0.009198, 0.009359, 0.009482, 0.009552, 0.009596, 0.00963, 0.009653",\
                 "0.01854, 0.01817, 0.01718, 0.01606, 0.01497, 0.01405, 0.01328, 0.01272, 0.01218, 0.0118",\
                 "0.03913, 0.03822, 0.03555, 0.03206, 0.02866, 0.02565, 0.02309, 0.02097, 0.01923, 0.01779",\
                 "0.07193, 0.07046, 0.06605, 0.05985, 0.05321, 0.04709, 0.04193, 0.03731, 0.03344, 0.03025",\
                 "0.1176, 0.1156, 0.1097, 0.1007, 0.09062, 0.08071, 0.07176, 0.06402, 0.05725, 0.05141",\
                 "0.177, 0.1746, 0.1673, 0.1557, 0.1421, 0.1282, 0.1151, 0.1031, 0.09271, 0.08351",\
                 "0.2509, 0.2481, 0.2395, 0.2256, 0.2087, 0.1906, 0.1729, 0.1564, 0.1415, 0.1282",\
                 "0.3399, 0.3369, 0.327, 0.3111, 0.291, 0.269, 0.2467, 0.2252, 0.2053, 0.1872");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1157, 0.116, 0.1168, 0.1176, 0.1183, 0.1189, 0.1193, 0.12, 0.1203, 0.1211",\
                 "0.1125, 0.1129, 0.114, 0.1155, 0.1168, 0.1181, 0.1188, 0.1198, 0.1203, 0.1212",\
                 "0.1148, 0.1147, 0.1146, 0.1149, 0.1155, 0.1165, 0.1177, 0.1188, 0.1195, 0.1208",\
                 "0.1287, 0.128, 0.1264, 0.1242, 0.1224, 0.1213, 0.1207, 0.1209, 0.1213, 0.1216",\
                 "0.1541, 0.153, 0.15, 0.1459, 0.141, 0.1368, 0.1333, 0.1309, 0.1293, 0.1283",\
                 "0.1925, 0.1909, 0.1864, 0.1799, 0.1728, 0.1655, 0.1584, 0.1522, 0.1476, 0.1437",\
                 "0.2454, 0.2434, 0.2371, 0.2281, 0.2178, 0.2077, 0.1974, 0.1877, 0.1786, 0.171",\
                 "0.3137, 0.3111, 0.3033, 0.2915, 0.2782, 0.2647, 0.2513, 0.238, 0.2253, 0.2135",\
                 "0.3986, 0.3955, 0.386, 0.3717, 0.355, 0.3376, 0.3205, 0.3041, 0.2876, 0.2721",\
                 "0.5006, 0.4971, 0.4863, 0.4693, 0.4495, 0.4283, 0.4069, 0.3866, 0.3665, 0.3475");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.06888, 0.0689, 0.06883, 0.06882, 0.06883, 0.06887, 0.06889, 0.06886, 0.06892, 0.06888",\
                 "0.06722, 0.06722, 0.06722, 0.06721, 0.06722, 0.06723, 0.06729, 0.06733, 0.06731, 0.06736",\
                 "0.06748, 0.06737, 0.06718, 0.06691, 0.06671, 0.06659, 0.0665, 0.06643, 0.06641, 0.06638",\
                 "0.07454, 0.07421, 0.0734, 0.07234, 0.07111, 0.07012, 0.0692, 0.06848, 0.06799, 0.06759",\
                 "0.09227, 0.09161, 0.08965, 0.08671, 0.08357, 0.08059, 0.07811, 0.07597, 0.07418, 0.0727",\
                 "0.1231, 0.1219, 0.1187, 0.1136, 0.1076, 0.1017, 0.09631, 0.09159, 0.08769, 0.08437",\
                 "0.1687, 0.1671, 0.1625, 0.1548, 0.1455, 0.136, 0.1268, 0.1186, 0.1114, 0.1051",\
                 "0.2305, 0.2286, 0.2223, 0.2122, 0.1994, 0.1856, 0.172, 0.1593, 0.1478, 0.1377",\
                 "0.3092, 0.3069, 0.2994, 0.2868, 0.2704, 0.2522, 0.2337, 0.2159, 0.1995, 0.1845",\
                 "0.4053, 0.4027, 0.3942, 0.3792, 0.3594, 0.3368, 0.3133, 0.2899, 0.2679, 0.2475");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1784, 0.1787, 0.1795, 0.1801, 0.1807, 0.1813, 0.1821, 0.1828, 0.1834, 0.1841",\
                 "0.1756, 0.1761, 0.1774, 0.1791, 0.1804, 0.1815, 0.1826, 0.1834, 0.1844, 0.1852",\
                 "0.1734, 0.1736, 0.1744, 0.1758, 0.1776, 0.1793, 0.181, 0.1825, 0.1836, 0.1848",\
                 "0.1821, 0.1818, 0.181, 0.1804, 0.1802, 0.1806, 0.1815, 0.1827, 0.1836, 0.185",\
                 "0.2067, 0.2056, 0.2028, 0.1991, 0.1956, 0.1929, 0.1911, 0.1902, 0.1895, 0.1899",\
                 "0.2476, 0.2459, 0.2412, 0.2343, 0.2269, 0.2201, 0.2144, 0.2096, 0.2061, 0.2035",\
                 "0.305, 0.3029, 0.2965, 0.2866, 0.2751, 0.264, 0.2537, 0.2446, 0.2367, 0.2303",\
                 "0.3795, 0.377, 0.369, 0.3567, 0.3413, 0.3255, 0.3104, 0.2964, 0.2838, 0.273",\
                 "0.4723, 0.4693, 0.4601, 0.4451, 0.4263, 0.4059, 0.3858, 0.3669, 0.3491, 0.3335",\
                 "0.584, 0.5809, 0.5706, 0.5534, 0.5311, 0.5064, 0.4812, 0.4566, 0.4336, 0.4128");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.04904, 0.04896, 0.04898, 0.04894, 0.04898, 0.04899, 0.04907, 0.04907, 0.04904, 0.04904",\
                 "0.04738, 0.04733, 0.04732, 0.04734, 0.04739, 0.04746, 0.04746, 0.04753, 0.04751, 0.04754",\
                 "0.04755, 0.04748, 0.04726, 0.04701, 0.04687, 0.04678, 0.04667, 0.04663, 0.04659, 0.04653",\
                 "0.05518, 0.05477, 0.05386, 0.05269, 0.0514, 0.05037, 0.04944, 0.04871, 0.0482, 0.04776",\
                 "0.07404, 0.07332, 0.07118, 0.06798, 0.0645, 0.06124, 0.05856, 0.05634, 0.05445, 0.05301",\
                 "0.1068, 0.1056, 0.1018, 0.09605, 0.08954, 0.08303, 0.0773, 0.07231, 0.06826, 0.06485",\
                 "0.1547, 0.1529, 0.1475, 0.139, 0.1287, 0.1184, 0.1086, 0.09995, 0.09238, 0.08594",\
                 "0.2186, 0.2164, 0.2094, 0.1982, 0.1841, 0.1692, 0.1547, 0.1414, 0.1295, 0.1189",\
                 "0.299, 0.2966, 0.2883, 0.2744, 0.2567, 0.2371, 0.2176, 0.1989, 0.1818, 0.1664",\
                 "0.3971, 0.3941, 0.3847, 0.3685, 0.3473, 0.3232, 0.2983, 0.274, 0.251, 0.23");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1583, 0.1585, 0.1593, 0.1599, 0.1605, 0.1612, 0.1619, 0.1623, 0.163, 0.1638",\
                 "0.1554, 0.1559, 0.1574, 0.1588, 0.1602, 0.1613, 0.1624, 0.1631, 0.164, 0.1649",\
                 "0.1532, 0.1534, 0.1542, 0.1557, 0.1574, 0.1591, 0.1608, 0.1622, 0.1633, 0.1644",\
                 "0.1619, 0.1617, 0.161, 0.1601, 0.16, 0.1605, 0.1613, 0.1622, 0.1632, 0.1643",\
                 "0.1864, 0.1854, 0.1825, 0.1789, 0.1755, 0.1727, 0.1708, 0.1697, 0.1692, 0.169",\
                 "0.2273, 0.2257, 0.2209, 0.214, 0.2066, 0.1999, 0.194, 0.1893, 0.1855, 0.183",\
                 "0.2849, 0.2828, 0.2763, 0.2664, 0.2549, 0.2437, 0.2333, 0.2244, 0.2163, 0.2096",\
                 "0.36, 0.3574, 0.3491, 0.3365, 0.3211, 0.3053, 0.2903, 0.2762, 0.2634, 0.2524",\
                 "0.4531, 0.4502, 0.4407, 0.4253, 0.4064, 0.3856, 0.3654, 0.3466, 0.3286, 0.3126",\
                 "0.5652, 0.562, 0.5513, 0.5339, 0.5115, 0.4862, 0.461, 0.4362, 0.4132, 0.3924");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.04899, 0.04902, 0.04901, 0.04899, 0.04903, 0.04901, 0.04904, 0.04906, 0.04909, 0.04908",\
                 "0.04739, 0.0474, 0.04729, 0.04732, 0.04742, 0.04747, 0.04747, 0.04747, 0.04752, 0.04751",\
                 "0.04778, 0.0477, 0.04752, 0.04727, 0.04701, 0.04684, 0.04677, 0.04667, 0.04663, 0.04656",\
                 "0.05598, 0.05565, 0.05466, 0.05333, 0.05198, 0.05085, 0.04987, 0.04906, 0.04852, 0.04802",\
                 "0.076, 0.07535, 0.07305, 0.06971, 0.066, 0.06268, 0.05977, 0.05744, 0.05547, 0.05383",\
                 "0.1103, 0.1091, 0.1053, 0.0994, 0.09262, 0.086, 0.07999, 0.07483, 0.07043, 0.0668",\
                 "0.1603, 0.1586, 0.1531, 0.1444, 0.134, 0.1233, 0.1134, 0.1042, 0.09631, 0.08949",\
                 "0.2268, 0.2246, 0.2175, 0.2061, 0.1919, 0.1768, 0.162, 0.1483, 0.1359, 0.1249",\
                 "0.3106, 0.308, 0.2997, 0.2856, 0.2677, 0.2478, 0.228, 0.2089, 0.1913, 0.1754",\
                 "0.4123, 0.4095, 0.3998, 0.3835, 0.3621, 0.3378, 0.3126, 0.2878, 0.2645, 0.2427");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.158, 0.1582, 0.1589, 0.1596, 0.1601, 0.1609, 0.1615, 0.162, 0.1626, 0.1634",\
                 "0.1546, 0.155, 0.1563, 0.1578, 0.1592, 0.1604, 0.1613, 0.1623, 0.163, 0.1639",\
                 "0.1525, 0.1527, 0.1533, 0.1545, 0.1561, 0.1578, 0.1593, 0.1608, 0.162, 0.163",\
                 "0.1623, 0.162, 0.1608, 0.1599, 0.1594, 0.1596, 0.1601, 0.161, 0.1622, 0.163",\
                 "0.1885, 0.1874, 0.1844, 0.1805, 0.1766, 0.1733, 0.171, 0.1697, 0.1686, 0.1684",\
                 "0.2317, 0.2301, 0.2251, 0.218, 0.2104, 0.2033, 0.1966, 0.1912, 0.1871, 0.1838",\
                 "0.2922, 0.2901, 0.2834, 0.2732, 0.2616, 0.2501, 0.2392, 0.2294, 0.2208, 0.2135",\
                 "0.3708, 0.3682, 0.3597, 0.3469, 0.3314, 0.3154, 0.3001, 0.2855, 0.2719, 0.2601",\
                 "0.4682, 0.4651, 0.4555, 0.4399, 0.4209, 0.4001, 0.3799, 0.3606, 0.3421, 0.3253",\
                 "0.5856, 0.5822, 0.5714, 0.5535, 0.5308, 0.5058, 0.4804, 0.4555, 0.4325, 0.4103");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.02853, 0.02854, 0.02852, 0.02855, 0.02858, 0.0286, 0.02863, 0.02865, 0.02864, 0.02865",\
                 "0.02682, 0.02685, 0.02689, 0.02692, 0.027, 0.02704, 0.02704, 0.02708, 0.02709, 0.0271",\
                 "0.02722, 0.02714, 0.02697, 0.02674, 0.02652, 0.02635, 0.02627, 0.02618, 0.02617, 0.02611",\
                 "0.03616, 0.03576, 0.03447, 0.03289, 0.03142, 0.03019, 0.02917, 0.02843, 0.02787, 0.02743",\
                 "0.05738, 0.05646, 0.05347, 0.04945, 0.04536, 0.04175, 0.03866, 0.03626, 0.03432, 0.03276",\
                 "0.09268, 0.09112, 0.08631, 0.07931, 0.07172, 0.06448, 0.05812, 0.05287, 0.04845, 0.04483",\
                 "0.1429, 0.1408, 0.1343, 0.1242, 0.1125, 0.1009, 0.09031, 0.08098, 0.07296, 0.06626",\
                 "0.2089, 0.2064, 0.1983, 0.1852, 0.1695, 0.1532, 0.1375, 0.1233, 0.1108, 0.09983",\
                 "0.2914, 0.2884, 0.2789, 0.2634, 0.2437, 0.2225, 0.2015, 0.1818, 0.1639, 0.1479",\
                 "0.3908, 0.3876, 0.377, 0.359, 0.3359, 0.3101, 0.2835, 0.2579, 0.234, 0.2122");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1376, 0.1378, 0.1386, 0.1392, 0.1397, 0.1403, 0.1408, 0.1413, 0.1421, 0.1424",\
                 "0.1347, 0.1352, 0.1367, 0.1381, 0.1393, 0.1405, 0.1413, 0.1421, 0.1428, 0.1436",\
                 "0.1325, 0.1327, 0.1335, 0.1349, 0.1366, 0.1383, 0.1399, 0.1413, 0.1426, 0.1434",\
                 "0.1413, 0.141, 0.1403, 0.1395, 0.1391, 0.1395, 0.1403, 0.1411, 0.1423, 0.1431",\
                 "0.1658, 0.1647, 0.1618, 0.1583, 0.1548, 0.152, 0.1498, 0.1488, 0.1482, 0.148",\
                 "0.2072, 0.2055, 0.2005, 0.1934, 0.186, 0.1793, 0.1733, 0.1683, 0.1645, 0.1618",\
                 "0.2654, 0.2632, 0.2562, 0.2458, 0.2341, 0.2229, 0.2127, 0.2036, 0.195, 0.1884",\
                 "0.3409, 0.3382, 0.3297, 0.3163, 0.3006, 0.2846, 0.2692, 0.2555, 0.2427, 0.2313",\
                 "0.4343, 0.4313, 0.4215, 0.4057, 0.3859, 0.365, 0.3444, 0.3256, 0.308, 0.2921",\
                 "0.5469, 0.5435, 0.5325, 0.5145, 0.4914, 0.4657, 0.44, 0.4152, 0.3922, 0.3717");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.02854, 0.02854, 0.02854, 0.02856, 0.0286, 0.02863, 0.02866, 0.02867, 0.02867, 0.02869",\
                 "0.02682, 0.02684, 0.02692, 0.02691, 0.02698, 0.02705, 0.02707, 0.02706, 0.02709, 0.02711",\
                 "0.02745, 0.02739, 0.02713, 0.02692, 0.02665, 0.02645, 0.02634, 0.02625, 0.0262, 0.02614",\
                 "0.03714, 0.0367, 0.03535, 0.03364, 0.03203, 0.03074, 0.02965, 0.02878, 0.02815, 0.02766",\
                 "0.05941, 0.05843, 0.05544, 0.05133, 0.04696, 0.04316, 0.03998, 0.0374, 0.03533, 0.03363",\
                 "0.09624, 0.09475, 0.08991, 0.08274, 0.0749, 0.06746, 0.06085, 0.05529, 0.05059, 0.04686",\
                 "0.1487, 0.1465, 0.1398, 0.1296, 0.1178, 0.1059, 0.09503, 0.08536, 0.07701, 0.06993",\
                 "0.2173, 0.2148, 0.2065, 0.1933, 0.1774, 0.1607, 0.1447, 0.1303, 0.1172, 0.1059",\
                 "0.3029, 0.3001, 0.2904, 0.2747, 0.2548, 0.2334, 0.212, 0.1919, 0.1735, 0.1569",\
                 "0.4065, 0.4031, 0.3924, 0.3742, 0.3508, 0.3247, 0.2978, 0.2718, 0.2475, 0.2251");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1372, 0.1375, 0.1381, 0.1388, 0.1393, 0.1399, 0.1404, 0.141, 0.1417, 0.1421",\
                 "0.1339, 0.1343, 0.1356, 0.1371, 0.1383, 0.1394, 0.1403, 0.1411, 0.1418, 0.1426",\
                 "0.1319, 0.132, 0.1327, 0.1338, 0.1353, 0.1369, 0.1383, 0.1398, 0.1406, 0.1419",\
                 "0.1417, 0.1413, 0.1402, 0.1393, 0.1386, 0.1387, 0.1392, 0.1399, 0.141, 0.1417",\
                 "0.1679, 0.1667, 0.1637, 0.1599, 0.156, 0.1525, 0.1501, 0.1486, 0.1474, 0.1473",\
                 "0.2116, 0.2098, 0.2046, 0.1972, 0.1898, 0.1825, 0.1758, 0.1701, 0.1658, 0.1626",\
                 "0.2727, 0.2704, 0.2634, 0.2527, 0.2409, 0.2294, 0.2187, 0.2087, 0.1994, 0.1924",\
                 "0.3518, 0.3489, 0.3403, 0.3268, 0.3109, 0.2948, 0.2793, 0.2649, 0.2515, 0.2389",\
                 "0.4497, 0.4466, 0.4364, 0.4203, 0.4004, 0.3794, 0.3593, 0.3396, 0.3214, 0.3049",\
                 "0.5676, 0.5641, 0.5529, 0.5342, 0.511, 0.4854, 0.4595, 0.4345, 0.4114, 0.3897");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.02848, 0.02847, 0.02852, 0.02856, 0.02858, 0.02862, 0.02863, 0.02863, 0.02862, 0.02863",\
                 "0.02683, 0.02684, 0.02692, 0.02691, 0.02699, 0.027, 0.02706, 0.02706, 0.0271, 0.0271",\
                 "0.02744, 0.02739, 0.02717, 0.02691, 0.02667, 0.02645, 0.02637, 0.02625, 0.02617, 0.02613",\
                 "0.03714, 0.0367, 0.03534, 0.03364, 0.03207, 0.0307, 0.02965, 0.02879, 0.02816, 0.02764",\
                 "0.05939, 0.05842, 0.05539, 0.05122, 0.047, 0.04317, 0.04, 0.0374, 0.0353, 0.03363",\
                 "0.0962, 0.09474, 0.0898, 0.08273, 0.07489, 0.06745, 0.06081, 0.05527, 0.05059, 0.04682",\
                 "0.1487, 0.1465, 0.1398, 0.1296, 0.1178, 0.1058, 0.09502, 0.08534, 0.07705, 0.0699",\
                 "0.2173, 0.2147, 0.2065, 0.1933, 0.1774, 0.1607, 0.1447, 0.1301, 0.1172, 0.1059",\
                 "0.3029, 0.3, 0.2903, 0.2746, 0.2548, 0.2333, 0.2119, 0.1918, 0.1734, 0.1568",\
                 "0.4064, 0.403, 0.3923, 0.3741, 0.3508, 0.3245, 0.2978, 0.2718, 0.2474, 0.2251");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1373, 0.1375, 0.1383, 0.1389, 0.1393, 0.1399, 0.1404, 0.141, 0.142, 0.142",\
                 "0.1339, 0.1343, 0.1356, 0.1371, 0.1383, 0.1396, 0.1403, 0.1411, 0.1424, 0.1425",\
                 "0.1319, 0.132, 0.1326, 0.1338, 0.1354, 0.1369, 0.1385, 0.14, 0.1405, 0.1419",\
                 "0.1417, 0.1413, 0.1402, 0.1392, 0.1386, 0.1388, 0.1392, 0.14, 0.141, 0.1417",\
                 "0.1679, 0.1668, 0.1637, 0.1599, 0.1558, 0.1525, 0.15, 0.1486, 0.1476, 0.1473",\
                 "0.2116, 0.2098, 0.2046, 0.1973, 0.1896, 0.1824, 0.1758, 0.1703, 0.1658, 0.1628",\
                 "0.2726, 0.2703, 0.2633, 0.2529, 0.241, 0.2293, 0.2187, 0.2088, 0.1995, 0.1922",\
                 "0.3517, 0.3489, 0.3402, 0.3267, 0.3109, 0.2946, 0.2793, 0.2647, 0.2513, 0.2389",\
                 "0.4497, 0.4464, 0.4364, 0.4201, 0.4004, 0.3795, 0.3588, 0.3392, 0.3214, 0.3046",\
                 "0.5674, 0.564, 0.5526, 0.5343, 0.5108, 0.4854, 0.4594, 0.4347, 0.4112, 0.3895");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.02854, 0.02853, 0.02852, 0.02856, 0.0286, 0.02864, 0.02867, 0.02868, 0.02868, 0.02867",\
                 "0.02688, 0.02684, 0.02688, 0.02691, 0.027, 0.02705, 0.02705, 0.02708, 0.0271, 0.02709",\
                 "0.02753, 0.02747, 0.02729, 0.02699, 0.02673, 0.02652, 0.02641, 0.02634, 0.02625, 0.02618",\
                 "0.03748, 0.03698, 0.03566, 0.03393, 0.03234, 0.03095, 0.02985, 0.02897, 0.0283, 0.02775",\
                 "0.06017, 0.05918, 0.0562, 0.05203, 0.04762, 0.04379, 0.0405, 0.03789, 0.03572, 0.03395",\
                 "0.09763, 0.09607, 0.09119, 0.08399, 0.07597, 0.06858, 0.06186, 0.05617, 0.05143, 0.04754",\
                 "0.1507, 0.1486, 0.1419, 0.1316, 0.1197, 0.1077, 0.09678, 0.087, 0.07855, 0.07137",\
                 "0.2203, 0.2177, 0.2095, 0.1962, 0.1804, 0.1635, 0.1475, 0.1327, 0.1197, 0.1082",\
                 "0.3071, 0.3042, 0.2945, 0.2787, 0.2587, 0.2372, 0.2157, 0.1956, 0.177, 0.1603",\
                 "0.4119, 0.4087, 0.3978, 0.3797, 0.3561, 0.3299, 0.303, 0.2769, 0.2523, 0.2297");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1371, 0.1373, 0.1379, 0.1386, 0.1391, 0.1397, 0.1401, 0.1407, 0.1411, 0.1418",\
                 "0.1335, 0.1339, 0.1352, 0.1366, 0.1378, 0.1389, 0.1398, 0.1406, 0.1413, 0.142",\
                 "0.1317, 0.1318, 0.1324, 0.1334, 0.1348, 0.1364, 0.1377, 0.1392, 0.1399, 0.1412",\
                 "0.1418, 0.1414, 0.1404, 0.1392, 0.1383, 0.1383, 0.1387, 0.1395, 0.1405, 0.1415",\
                 "0.1686, 0.1675, 0.1644, 0.1604, 0.1563, 0.1528, 0.1502, 0.1484, 0.1472, 0.147",\
                 "0.2131, 0.2113, 0.2062, 0.1989, 0.1911, 0.1838, 0.1768, 0.171, 0.1665, 0.1629",\
                 "0.2751, 0.2728, 0.2657, 0.2554, 0.2434, 0.2316, 0.2207, 0.2107, 0.2015, 0.1938",\
                 "0.3555, 0.3526, 0.3439, 0.3304, 0.3145, 0.2983, 0.283, 0.2684, 0.2546, 0.2418",\
                 "0.4549, 0.4519, 0.4416, 0.4254, 0.4056, 0.3847, 0.3641, 0.3448, 0.3262, 0.3093",\
                 "0.5747, 0.5711, 0.5597, 0.541, 0.5177, 0.4922, 0.4664, 0.4415, 0.4182, 0.3966");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1573, 0.1663, 0.1971, 0.2545, 0.3418, 0.4629, 0.6214, 0.8205, 1.063, 1.352",\
                 "0.1721, 0.1812, 0.2123, 0.2699, 0.3575, 0.4789, 0.6374, 0.8365, 1.079, 1.368",\
                 "0.2067, 0.2163, 0.2483, 0.3062, 0.3941, 0.5157, 0.6746, 0.8738, 1.117, 1.406",\
                 "0.2286, 0.2405, 0.2799, 0.3481, 0.4447, 0.5703, 0.7293, 0.9285, 1.171, 1.46",\
                 "0.2185, 0.2339, 0.2843, 0.3692, 0.4844, 0.6288, 0.8038, 1.011, 1.254, 1.543",\
                 "0.1636, 0.1832, 0.2471, 0.3537, 0.4954, 0.6664, 0.8657, 1.096, 1.36, 1.659",\
                 "0.0594, 0.0834, 0.1611, 0.2909, 0.463, 0.6677, 0.9004, 1.161, 1.451, 1.777",\
                 "-0.0987, -0.0703, 0.022, 0.1755, 0.3789, 0.6213, 0.8932, 1.193, 1.518, 1.875",\
                 "-0.3142, -0.2816, -0.1748, 0.0037, 0.2392, 0.5193, 0.8346, 1.178, 1.548, 1.943",\
                 "-0.5878, -0.5509, -0.4308, -0.2285, 0.0408, 0.359, 0.7176, 1.108, 1.526, 1.97");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.5119, 0.5425, 0.649, 0.8502, 1.161, 1.595, 2.164, 2.88, 3.752, 4.79",\
                 "0.5161, 0.5469, 0.6542, 0.8563, 1.168, 1.602, 2.171, 2.887, 3.76, 4.799",\
                 "0.5618, 0.592, 0.6984, 0.9, 1.211, 1.646, 2.216, 2.932, 3.805, 4.844",\
                 "0.6848, 0.714, 0.8172, 1.013, 1.319, 1.75, 2.316, 3.03, 3.901, 4.938",\
                 "0.8929, 0.923, 1.024, 1.215, 1.513, 1.934, 2.493, 3.2, 4.066, 5.099",\
                 "1.157, 1.19, 1.303, 1.506, 1.805, 2.216, 2.764, 3.461, 4.318, 5.343",\
                 "1.482, 1.517, 1.638, 1.857, 2.18, 2.603, 3.143, 3.827, 4.671, 5.686",\
                 "1.872, 1.91, 2.038, 2.272, 2.616, 3.071, 3.631, 4.31, 5.141, 6.141",\
                 "2.33, 2.371, 2.51, 2.758, 3.12, 3.601, 4.197, 4.906, 5.734, 6.72",\
                 "2.857, 2.902, 3.054, 3.32, 3.701, 4.204, 4.83, 5.579, 6.442, 7.429");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1455, 0.1601, 0.2105, 0.3059, 0.4525, 0.6581, 0.9276, 1.266, 1.681, 2.173",\
                 "0.1452, 0.1601, 0.2103, 0.3057, 0.4527, 0.6581, 0.9267, 1.266, 1.681, 2.174",\
                 "0.1579, 0.1707, 0.2163, 0.3065, 0.4525, 0.6577, 0.9276, 1.267, 1.681, 2.174",\
                 "0.2164, 0.2291, 0.2748, 0.3594, 0.4885, 0.6732, 0.9299, 1.267, 1.681, 2.174",\
                 "0.3098, 0.3238, 0.3712, 0.4576, 0.5872, 0.7676, 1.002, 1.305, 1.693, 2.175",\
                 "0.4322, 0.4484, 0.502, 0.5972, 0.7306, 0.91, 1.146, 1.441, 1.799, 2.24",\
                 "0.5772, 0.5946, 0.6584, 0.7664, 0.9136, 1.103, 1.337, 1.63, 1.99, 2.419",\
                 "0.7444, 0.7648, 0.8362, 0.9582, 1.126, 1.334, 1.581, 1.877, 2.231, 2.659",\
                 "0.9304, 0.9552, 1.038, 1.175, 1.361, 1.593, 1.862, 2.174, 2.536, 2.959",\
                 "1.13, 1.157, 1.252, 1.413, 1.621, 1.878, 2.175, 2.511, 2.89, 3.319");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.9516, 1.005, 1.188, 1.537, 2.077, 2.831, 3.823, 5.069, 6.591, 8.404",\
                 "0.9516, 1.005, 1.188, 1.537, 2.076, 2.832, 3.824, 5.071, 6.591, 8.403",\
                 "0.9514, 1.004, 1.188, 1.537, 2.077, 2.832, 3.824, 5.071, 6.592, 8.404",\
                 "0.949, 1.001, 1.186, 1.536, 2.076, 2.831, 3.823, 5.07, 6.591, 8.402",\
                 "1.01, 1.057, 1.223, 1.546, 2.077, 2.832, 3.824, 5.07, 6.591, 8.403",\
                 "1.11, 1.162, 1.335, 1.645, 2.129, 2.841, 3.824, 5.07, 6.592, 8.404",\
                 "1.218, 1.274, 1.456, 1.789, 2.278, 2.944, 3.858, 5.074, 6.593, 8.404",\
                 "1.352, 1.403, 1.588, 1.934, 2.454, 3.137, 4.011, 5.145, 6.605, 8.404",\
                 "1.521, 1.573, 1.754, 2.103, 2.63, 3.356, 4.251, 5.346, 6.72, 8.436",\
                 "1.716, 1.769, 1.955, 2.296, 2.827, 3.576, 4.514, 5.636, 6.969, 8.598");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1295, 0.1379, 0.1671, 0.2222, 0.308, 0.4277, 0.5852, 0.7838, 1.026, 1.315",\
                 "0.1436, 0.1521, 0.1818, 0.2376, 0.3235, 0.4434, 0.6012, 0.7999, 1.042, 1.331",\
                 "0.1725, 0.1826, 0.2155, 0.2732, 0.3597, 0.4803, 0.6381, 0.8372, 1.079, 1.368",\
                 "0.1806, 0.1938, 0.2367, 0.3081, 0.4069, 0.534, 0.6927, 0.8915, 1.134, 1.423",\
                 "0.151, 0.1689, 0.2258, 0.318, 0.4388, 0.5869, 0.7642, 0.9728, 1.217, 1.505",\
                 "0.0746, 0.0974, 0.1706, 0.2874, 0.4384, 0.6168, 0.8205, 1.054, 1.32, 1.62",\
                 "-0.0526, -0.0244, 0.0654, 0.2088, 0.3933, 0.6081, 0.8482, 1.113, 1.407, 1.735",\
                 "-0.2334, -0.2001, -0.0937, 0.0772, 0.2953, 0.55, 0.8321, 1.138, 1.469, 1.829",\
                 "-0.4696, -0.4315, -0.3097, -0.1118, 0.1421, 0.4367, 0.763, 1.115, 1.492, 1.893",\
                 "-0.7622, -0.7199, -0.5846, -0.3605, -0.0711, 0.2644, 0.6357, 1.037, 1.463, 1.913");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.4988, 0.5293, 0.6359, 0.837, 1.147, 1.579, 2.146, 2.858, 3.727, 4.764",\
                 "0.5028, 0.5338, 0.641, 0.843, 1.153, 1.586, 2.153, 2.866, 3.736, 4.771",\
                 "0.5482, 0.579, 0.6855, 0.8867, 1.197, 1.63, 2.197, 2.911, 3.78, 4.817",\
                 "0.6718, 0.7012, 0.8042, 0.9998, 1.305, 1.734, 2.298, 3.008, 3.877, 4.912",\
                 "0.8787, 0.9093, 1.011, 1.202, 1.498, 1.918, 2.474, 3.18, 4.041, 5.072",\
                 "1.141, 1.174, 1.287, 1.492, 1.79, 2.2, 2.745, 3.44, 4.293, 5.317",\
                 "1.462, 1.497, 1.62, 1.84, 2.164, 2.586, 3.124, 3.806, 4.646, 5.66",\
                 "1.85, 1.888, 2.018, 2.253, 2.597, 3.052, 3.612, 4.288, 5.116, 6.114",\
                 "2.305, 2.346, 2.487, 2.736, 3.098, 3.578, 4.175, 4.882, 5.708, 6.693",\
                 "2.825, 2.872, 3.025, 3.294, 3.677, 4.179, 4.806, 5.554, 6.416, 7.402");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1101, 0.1239, 0.1726, 0.2664, 0.4123, 0.6178, 0.8874, 1.227, 1.64, 2.134",\
                 "0.1104, 0.1241, 0.1725, 0.2664, 0.4124, 0.6179, 0.8873, 1.227, 1.64, 2.135",\
                 "0.1322, 0.144, 0.1857, 0.2709, 0.4124, 0.6172, 0.8868, 1.227, 1.64, 2.133",\
                 "0.1939, 0.206, 0.2491, 0.3312, 0.4582, 0.6387, 0.8922, 1.226, 1.639, 2.133",\
                 "0.2902, 0.3041, 0.3508, 0.4338, 0.5602, 0.738, 0.971, 1.27, 1.657, 2.137",\
                 "0.4136, 0.4294, 0.4824, 0.5762, 0.7084, 0.885, 1.118, 1.41, 1.768, 2.205",\
                 "0.5618, 0.581, 0.6392, 0.7466, 0.8934, 1.081, 1.314, 1.604, 1.959, 2.387",\
                 "0.7304, 0.752, 0.8206, 0.9392, 1.106, 1.312, 1.56, 1.854, 2.207, 2.629",\
                 "0.9144, 0.9392, 1.019, 1.157, 1.34, 1.572, 1.842, 2.153, 2.512, 2.931",\
                 "1.113, 1.14, 1.231, 1.393, 1.603, 1.857, 2.154, 2.489, 2.87, 3.297");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.7557, 0.8085, 0.9934, 1.343, 1.883, 2.639, 3.63, 4.876, 6.398, 8.212",\
                 "0.7558, 0.8087, 0.9931, 1.343, 1.883, 2.64, 3.63, 4.876, 6.398, 8.208",\
                 "0.7544, 0.8083, 0.9934, 1.343, 1.884, 2.639, 3.63, 4.877, 6.398, 8.21",\
                 "0.7519, 0.8048, 0.9906, 1.341, 1.883, 2.639, 3.631, 4.877, 6.398, 8.211",\
                 "0.81, 0.8582, 1.027, 1.353, 1.882, 2.638, 3.629, 4.879, 6.398, 8.211",\
                 "0.8908, 0.9448, 1.128, 1.45, 1.935, 2.647, 3.63, 4.877, 6.4, 8.214",\
                 "0.9782, 1.04, 1.228, 1.579, 2.08, 2.751, 3.665, 4.88, 6.398, 8.212",\
                 "1.095, 1.152, 1.346, 1.707, 2.243, 2.941, 3.817, 4.953, 6.411, 8.212",\
                 "1.242, 1.298, 1.497, 1.86, 2.409, 3.147, 4.055, 5.153, 6.525, 8.244",\
                 "1.408, 1.469, 1.679, 2.042, 2.59, 3.346, 4.306, 5.439, 6.772, 8.404");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1097, 0.1161, 0.1383, 0.18, 0.2447, 0.3351, 0.4538, 0.6032, 0.7854, 1.003",\
                 "0.1242, 0.1308, 0.1534, 0.1957, 0.2606, 0.351, 0.4696, 0.6193, 0.8014, 1.019",\
                 "0.1577, 0.1664, 0.1945, 0.241, 0.3072, 0.3981, 0.5169, 0.6667, 0.8493, 1.067",\
                 "0.1677, 0.1805, 0.2206, 0.2867, 0.3738, 0.4791, 0.6026, 0.7526, 0.9351, 1.153",\
                 "0.1392, 0.1563, 0.211, 0.2994, 0.4142, 0.5502, 0.7047, 0.877, 1.068, 1.286",\
                 "0.0647, 0.0867, 0.1569, 0.2701, 0.4162, 0.5868, 0.7774, 0.9869, 1.214, 1.461",\
                 "-0.0593, -0.0327, 0.0529, 0.1918, 0.3708, 0.579, 0.8101, 1.06, 1.33, 1.618",\
                 "-0.2367, -0.2055, -0.1044, 0.0604, 0.2729, 0.5208, 0.7944, 1.09, 1.404, 1.738",\
                 "-0.4698, -0.4341, -0.3183, -0.128, 0.1188, 0.4058, 0.7247, 1.067, 1.43, 1.814",\
                 "-0.7594, -0.7197, -0.5912, -0.3762, -0.0951, 0.2321, 0.5951, 0.9867, 1.401, 1.836");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.559, 0.5892, 0.6942, 0.8936, 1.202, 1.632, 2.198, 2.911, 3.78, 4.815",\
                 "0.5639, 0.5941, 0.7002, 0.9003, 1.21, 1.641, 2.208, 2.921, 3.789, 4.826",\
                 "0.6091, 0.6394, 0.7446, 0.9442, 1.254, 1.685, 2.253, 2.966, 3.835, 4.871",\
                 "0.732, 0.7608, 0.8628, 1.058, 1.361, 1.79, 2.354, 3.064, 3.932, 4.967",\
                 "0.9409, 0.9703, 1.07, 1.259, 1.556, 1.976, 2.531, 3.236, 4.097, 5.127",\
                 "1.21, 1.242, 1.353, 1.554, 1.849, 2.26, 2.805, 3.499, 4.352, 5.375",\
                 "1.537, 1.571, 1.69, 1.909, 2.229, 2.648, 3.186, 3.87, 4.711, 5.722",\
                 "1.931, 1.967, 2.095, 2.326, 2.668, 3.12, 3.677, 4.355, 5.184, 6.183",\
                 "2.394, 2.434, 2.569, 2.814, 3.174, 3.654, 4.249, 4.954, 5.782, 6.767",\
                 "2.926, 2.97, 3.118, 3.379, 3.759, 4.259, 4.888, 5.634, 6.495, 7.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.0994, 0.1099, 0.1467, 0.2176, 0.3281, 0.4824, 0.6854, 0.9414, 1.253, 1.626",\
                 "0.09988, 0.1103, 0.1467, 0.218, 0.3284, 0.4828, 0.6854, 0.9422, 1.254, 1.623",\
                 "0.1388, 0.147, 0.1748, 0.2311, 0.3307, 0.4826, 0.6856, 0.9415, 1.253, 1.623",\
                 "0.2248, 0.2341, 0.2668, 0.3269, 0.4149, 0.5331, 0.7052, 0.9429, 1.252, 1.623",\
                 "0.3394, 0.3499, 0.3873, 0.4543, 0.5542, 0.6848, 0.8466, 1.042, 1.3, 1.638",\
                 "0.4776, 0.49, 0.533, 0.6126, 0.725, 0.8692, 1.046, 1.257, 1.502, 1.788",\
                 "0.6412, 0.6556, 0.7038, 0.7946, 0.9228, 1.088, 1.282, 1.509, 1.772, 2.075",\
                 "0.8246, 0.8412, 0.8986, 0.9998, 1.147, 1.331, 1.55, 1.798, 2.082, 2.402",\
                 "1.024, 1.043, 1.109, 1.228, 1.394, 1.601, 1.846, 2.125, 2.429, 2.77",\
                 "1.241, 1.261, 1.336, 1.473, 1.663, 1.897, 2.168, 2.475, 2.814, 3.18");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.8297, 0.8826, 1.068, 1.416, 1.958, 2.712, 3.704, 4.951, 6.472, 8.285",\
                 "0.8292, 0.8818, 1.067, 1.418, 1.958, 2.713, 3.704, 4.951, 6.472, 8.285",\
                 "0.8289, 0.8826, 1.067, 1.418, 1.958, 2.712, 3.704, 4.95, 6.472, 8.286",\
                 "0.8254, 0.8793, 1.065, 1.417, 1.957, 2.714, 3.705, 4.952, 6.472, 8.285",\
                 "0.875, 0.9238, 1.092, 1.423, 1.956, 2.713, 3.704, 4.953, 6.473, 8.286",\
                 "0.9636, 1.016, 1.196, 1.511, 2, 2.718, 3.704, 4.951, 6.473, 8.286",\
                 "1.054, 1.11, 1.3, 1.646, 2.14, 2.813, 3.733, 4.954, 6.474, 8.287",\
                 "1.165, 1.222, 1.417, 1.776, 2.307, 2.999, 3.875, 5.016, 6.482, 8.286",\
                 "1.309, 1.367, 1.562, 1.922, 2.475, 3.207, 4.108, 5.206, 6.591, 8.311",\
                 "1.477, 1.538, 1.74, 2.101, 2.653, 3.41, 4.363, 5.487, 6.827, 8.464");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1573, 0.1663, 0.1971, 0.2545, 0.3418, 0.4629, 0.6214, 0.8205, 1.063, 1.352",\
                 "0.1721, 0.1812, 0.2123, 0.2699, 0.3575, 0.4789, 0.6374, 0.8365, 1.079, 1.368",\
                 "0.2067, 0.2163, 0.2483, 0.3062, 0.3941, 0.5157, 0.6746, 0.8738, 1.117, 1.406",\
                 "0.2286, 0.2405, 0.2799, 0.3481, 0.4447, 0.5703, 0.7293, 0.9285, 1.171, 1.46",\
                 "0.2185, 0.2339, 0.2843, 0.3692, 0.4844, 0.6288, 0.8038, 1.011, 1.254, 1.543",\
                 "0.1636, 0.1832, 0.2471, 0.3537, 0.4954, 0.6664, 0.8657, 1.096, 1.36, 1.659",\
                 "0.0594, 0.0834, 0.1611, 0.2909, 0.463, 0.6677, 0.9004, 1.161, 1.451, 1.777",\
                 "-0.0987, -0.0703, 0.022, 0.1755, 0.3789, 0.6213, 0.8932, 1.193, 1.518, 1.875",\
                 "-0.3142, -0.2816, -0.1748, 0.0037, 0.2392, 0.5193, 0.8346, 1.178, 1.548, 1.943",\
                 "-0.5878, -0.5509, -0.4308, -0.2285, 0.0408, 0.359, 0.7176, 1.108, 1.526, 1.97");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.559, 0.5892, 0.6942, 0.8936, 1.202, 1.632, 2.198, 2.911, 3.78, 4.815",\
                 "0.5639, 0.5941, 0.7002, 0.9003, 1.21, 1.641, 2.208, 2.921, 3.789, 4.826",\
                 "0.6091, 0.6394, 0.7446, 0.9442, 1.254, 1.685, 2.253, 2.966, 3.835, 4.871",\
                 "0.732, 0.7608, 0.8628, 1.058, 1.361, 1.79, 2.354, 3.064, 3.932, 4.967",\
                 "0.9409, 0.9703, 1.07, 1.259, 1.556, 1.976, 2.531, 3.236, 4.097, 5.127",\
                 "1.21, 1.242, 1.353, 1.554, 1.849, 2.26, 2.805, 3.499, 4.352, 5.375",\
                 "1.537, 1.571, 1.69, 1.909, 2.229, 2.648, 3.186, 3.87, 4.711, 5.722",\
                 "1.931, 1.967, 2.095, 2.326, 2.668, 3.12, 3.677, 4.355, 5.184, 6.183",\
                 "2.394, 2.434, 2.569, 2.814, 3.174, 3.654, 4.249, 4.954, 5.782, 6.767",\
                 "2.926, 2.97, 3.118, 3.379, 3.759, 4.259, 4.888, 5.634, 6.495, 7.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1455, 0.1601, 0.2105, 0.3059, 0.4525, 0.6581, 0.9276, 1.266, 1.681, 2.173",\
                 "0.1452, 0.1601, 0.2103, 0.3057, 0.4527, 0.6581, 0.9267, 1.266, 1.681, 2.174",\
                 "0.1579, 0.1707, 0.2163, 0.3065, 0.4525, 0.6577, 0.9276, 1.267, 1.681, 2.174",\
                 "0.2164, 0.2291, 0.2748, 0.3594, 0.4885, 0.6732, 0.9299, 1.267, 1.681, 2.174",\
                 "0.3098, 0.3238, 0.3712, 0.4576, 0.5872, 0.7676, 1.002, 1.305, 1.693, 2.175",\
                 "0.4322, 0.4484, 0.502, 0.5972, 0.7306, 0.91, 1.146, 1.441, 1.799, 2.24",\
                 "0.5772, 0.5946, 0.6584, 0.7664, 0.9136, 1.103, 1.337, 1.63, 1.99, 2.419",\
                 "0.7444, 0.7648, 0.8362, 0.9582, 1.126, 1.334, 1.581, 1.877, 2.231, 2.659",\
                 "0.9304, 0.9552, 1.038, 1.175, 1.361, 1.593, 1.862, 2.174, 2.536, 2.959",\
                 "1.13, 1.157, 1.252, 1.413, 1.621, 1.878, 2.175, 2.511, 2.89, 3.319");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.9516, 1.005, 1.188, 1.537, 2.077, 2.831, 3.823, 5.069, 6.591, 8.404",\
                 "0.9516, 1.005, 1.188, 1.537, 2.076, 2.832, 3.824, 5.071, 6.591, 8.403",\
                 "0.9514, 1.004, 1.188, 1.537, 2.077, 2.832, 3.824, 5.071, 6.592, 8.404",\
                 "0.949, 1.001, 1.186, 1.536, 2.076, 2.831, 3.823, 5.07, 6.591, 8.402",\
                 "1.01, 1.057, 1.223, 1.546, 2.077, 2.832, 3.824, 5.07, 6.591, 8.403",\
                 "1.11, 1.162, 1.335, 1.645, 2.129, 2.841, 3.824, 5.07, 6.592, 8.404",\
                 "1.218, 1.274, 1.456, 1.789, 2.278, 2.944, 3.858, 5.074, 6.593, 8.404",\
                 "1.352, 1.403, 1.588, 1.934, 2.454, 3.137, 4.011, 5.145, 6.605, 8.404",\
                 "1.521, 1.573, 1.754, 2.103, 2.63, 3.356, 4.251, 5.346, 6.72, 8.436",\
                 "1.716, 1.769, 1.955, 2.296, 2.827, 3.576, 4.514, 5.636, 6.969, 8.598");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1868, 0.1958, 0.2271, 0.2849, 0.3732, 0.495, 0.654, 0.8535, 1.096, 1.385",\
                 "0.2008, 0.2099, 0.2411, 0.2992, 0.3874, 0.5093, 0.6684, 0.8678, 1.111, 1.4",\
                 "0.2358, 0.2449, 0.2765, 0.3345, 0.4228, 0.5449, 0.704, 0.9035, 1.146, 1.435",\
                 "0.2652, 0.2764, 0.3136, 0.3797, 0.4745, 0.599, 0.7581, 0.9575, 1.2, 1.489",\
                 "0.2675, 0.2817, 0.3288, 0.4092, 0.5202, 0.6617, 0.8345, 1.04, 1.283, 1.572",\
                 "0.229, 0.2471, 0.3057, 0.4057, 0.5411, 0.7065, 0.9017, 1.129, 1.391, 1.688",\
                 "0.1442, 0.1658, 0.2372, 0.3584, 0.5224, 0.719, 0.9455, 1.201, 1.488, 1.81",\
                 "0.0109, 0.0365, 0.1204, 0.2629, 0.4555, 0.6875, 0.9514, 1.243, 1.563, 1.915",\
                 "-0.174, -0.1449, -0.048, 0.1158, 0.3373, 0.6049, 0.9089, 1.243, 1.604, 1.994",\
                 "-0.4122, -0.3798, -0.2714, -0.0856, 0.1649, 0.468, 0.8129, 1.191, 1.599, 2.034");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.6007, 0.6313, 0.7379, 0.939, 1.25, 1.684, 2.253, 2.968, 3.841, 4.879",\
                 "0.6062, 0.6373, 0.7441, 0.9461, 1.257, 1.692, 2.261, 2.977, 3.849, 4.887",\
                 "0.636, 0.6666, 0.7743, 0.9773, 1.29, 1.725, 2.296, 3.012, 3.885, 4.924",\
                 "0.7132, 0.7435, 0.8489, 1.048, 1.358, 1.791, 2.361, 3.077, 3.949, 4.988",\
                 "0.8622, 0.8926, 0.9989, 1.194, 1.495, 1.921, 2.483, 3.193, 4.062, 5.098",\
                 "1.076, 1.106, 1.215, 1.415, 1.719, 2.136, 2.686, 3.385, 4.245, 5.273",\
                 "1.357, 1.389, 1.5, 1.705, 2.015, 2.439, 2.982, 3.667, 4.513, 5.53",\
                 "1.703, 1.736, 1.854, 2.065, 2.382, 2.814, 3.369, 4.051, 4.883, 5.883",\
                 "2.106, 2.144, 2.271, 2.497, 2.824, 3.264, 3.828, 4.524, 5.356, 6.342",\
                 "2.57, 2.611, 2.751, 2.994, 3.34, 3.794, 4.367, 5.076, 5.922, 6.911");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.178, 0.1932, 0.2446, 0.3413, 0.4892, 0.6951, 0.9647, 1.304, 1.719, 2.211",\
                 "0.1779, 0.1931, 0.2444, 0.3412, 0.4891, 0.6944, 0.9644, 1.303, 1.719, 2.211",\
                 "0.1848, 0.1985, 0.247, 0.3411, 0.489, 0.6948, 0.9643, 1.304, 1.718, 2.212",\
                 "0.242, 0.2553, 0.3022, 0.3881, 0.5182, 0.7066, 0.9667, 1.305, 1.718, 2.211",\
                 "0.3378, 0.3515, 0.3994, 0.486, 0.6168, 0.7982, 1.033, 1.339, 1.73, 2.212",\
                 "0.4652, 0.4814, 0.535, 0.6282, 0.761, 0.9396, 1.176, 1.47, 1.83, 2.274",\
                 "0.6178, 0.6366, 0.6984, 0.8028, 0.9482, 1.134, 1.367, 1.661, 2.02, 2.449",\
                 "0.7988, 0.8194, 0.8878, 1.007, 1.166, 1.369, 1.612, 1.905, 2.262, 2.686",\
                 "1.006, 1.029, 1.105, 1.235, 1.417, 1.636, 1.899, 2.208, 2.564, 2.985",\
                 "1.229, 1.256, 1.345, 1.494, 1.692, 1.935, 2.224, 2.551, 2.924, 3.349");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.9521, 1.005, 1.188, 1.537, 2.077, 2.831, 3.822, 5.069, 6.592, 8.403",\
                 "0.952, 1.005, 1.188, 1.537, 2.077, 2.831, 3.823, 5.068, 6.592, 8.403",\
                 "0.9523, 1.005, 1.188, 1.537, 2.076, 2.832, 3.823, 5.069, 6.591, 8.405",\
                 "0.9615, 1.011, 1.19, 1.537, 2.077, 2.832, 3.824, 5.069, 6.592, 8.404",\
                 "1.027, 1.074, 1.24, 1.563, 2.082, 2.832, 3.824, 5.07, 6.592, 8.402",\
                 "1.11, 1.158, 1.328, 1.647, 2.142, 2.855, 3.825, 5.07, 6.592, 8.404",\
                 "1.209, 1.256, 1.427, 1.75, 2.252, 2.943, 3.874, 5.081, 6.592, 8.404",\
                 "1.352, 1.396, 1.557, 1.873, 2.378, 3.08, 3.99, 5.155, 6.619, 8.406",\
                 "1.53, 1.576, 1.733, 2.036, 2.525, 3.231, 4.155, 5.3, 6.721, 8.456",\
                 "1.735, 1.781, 1.943, 2.246, 2.718, 3.402, 4.328, 5.494, 6.894, 8.586");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1553, 0.1642, 0.1946, 0.2515, 0.3384, 0.4593, 0.6176, 0.8163, 1.059, 1.348",\
                 "0.1692, 0.1782, 0.2088, 0.2657, 0.3527, 0.4736, 0.6319, 0.8307, 1.073, 1.362",\
                 "0.2018, 0.2113, 0.2432, 0.3007, 0.3879, 0.5091, 0.6674, 0.8664, 1.109, 1.398",\
                 "0.2202, 0.2325, 0.2722, 0.3403, 0.4371, 0.5627, 0.7214, 0.9203, 1.163, 1.452",\
                 "0.2058, 0.2219, 0.2736, 0.3599, 0.4758, 0.6201, 0.7952, 1.002, 1.245, 1.534",\
                 "0.1482, 0.1684, 0.2345, 0.3434, 0.4865, 0.6584, 0.8574, 1.087, 1.351, 1.649",\
                 "0.0448, 0.0694, 0.1491, 0.2816, 0.4558, 0.6613, 0.8947, 1.154, 1.444, 1.769",\
                 "-0.1074, -0.0786, 0.0157, 0.1714, 0.3765, 0.6195, 0.8915, 1.19, 1.515, 1.87",\
                 "-0.3106, -0.2774, -0.1698, 0.0097, 0.2458, 0.5252, 0.8401, 1.182, 1.55, 1.944",\
                 "-0.5653, -0.5283, -0.4089, -0.2065, 0.0607, 0.3774, 0.7345, 1.122, 1.537, 1.978");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.588, 0.6184, 0.7252, 0.9256, 1.235, 1.667, 2.234, 2.946, 3.816, 4.852",\
                 "0.5931, 0.6243, 0.731, 0.9326, 1.243, 1.675, 2.242, 2.955, 3.825, 4.86",\
                 "0.6226, 0.6536, 0.7616, 0.9637, 1.275, 1.709, 2.277, 2.99, 3.861, 4.898",\
                 "0.7001, 0.7303, 0.8356, 1.035, 1.344, 1.775, 2.342, 3.055, 3.925, 4.961",\
                 "0.8475, 0.8782, 0.985, 1.18, 1.48, 1.904, 2.465, 3.172, 4.038, 5.073",\
                 "1.06, 1.091, 1.2, 1.4, 1.704, 2.119, 2.667, 3.364, 4.22, 5.246",\
                 "1.34, 1.373, 1.484, 1.689, 1.999, 2.421, 2.962, 3.646, 4.489, 5.503",\
                 "1.683, 1.718, 1.836, 2.049, 2.365, 2.796, 3.348, 4.029, 4.858, 5.856",\
                 "2.083, 2.122, 2.25, 2.478, 2.805, 3.244, 3.807, 4.5, 5.33, 6.314",\
                 "2.541, 2.585, 2.726, 2.971, 3.319, 3.773, 4.344, 5.051, 5.896, 6.883");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1428, 0.1571, 0.2077, 0.3026, 0.4497, 0.6541, 0.9239, 1.264, 1.676, 2.171",\
                 "0.1428, 0.1575, 0.2076, 0.3028, 0.4493, 0.6548, 0.9237, 1.263, 1.677, 2.171",\
                 "0.1577, 0.1702, 0.2147, 0.3043, 0.4489, 0.6545, 0.9242, 1.263, 1.677, 2.169",\
                 "0.2196, 0.2321, 0.2762, 0.3598, 0.4878, 0.6713, 0.9283, 1.264, 1.677, 2.17",\
                 "0.3197, 0.3333, 0.3793, 0.4634, 0.5894, 0.7684, 1.002, 1.304, 1.691, 2.172",\
                 "0.45, 0.4648, 0.517, 0.6082, 0.7386, 0.9148, 1.147, 1.442, 1.799, 2.239",\
                 "0.6056, 0.623, 0.681, 0.7856, 0.9282, 1.113, 1.342, 1.633, 1.99, 2.418",\
                 "0.7914, 0.809, 0.8754, 0.99, 1.149, 1.35, 1.591, 1.881, 2.236, 2.659",\
                 "0.9952, 1.017, 1.095, 1.223, 1.398, 1.618, 1.88, 2.186, 2.54, 2.961",\
                 "1.216, 1.243, 1.332, 1.48, 1.677, 1.917, 2.205, 2.529, 2.901, 3.325");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.756, 0.808, 0.9944, 1.343, 1.883, 2.638, 3.63, 4.876, 6.398, 8.213",\
                 "0.755, 0.8091, 0.9931, 1.343, 1.883, 2.638, 3.629, 4.876, 6.399, 8.209",\
                 "0.7547, 0.8081, 0.9944, 1.342, 1.883, 2.638, 3.629, 4.876, 6.396, 8.209",\
                 "0.764, 0.8151, 0.9956, 1.343, 1.883, 2.638, 3.63, 4.877, 6.398, 8.211",\
                 "0.8284, 0.8768, 1.045, 1.369, 1.887, 2.638, 3.63, 4.877, 6.398, 8.213",\
                 "0.8964, 0.9462, 1.124, 1.452, 1.947, 2.662, 3.632, 4.877, 6.4, 8.212",\
                 "0.9846, 1.035, 1.211, 1.544, 2.056, 2.75, 3.679, 4.887, 6.399, 8.213",\
                 "1.112, 1.161, 1.334, 1.657, 2.172, 2.882, 3.795, 4.962, 6.424, 8.216",\
                 "1.269, 1.32, 1.493, 1.813, 2.311, 3.022, 3.956, 5.107, 6.527, 8.262",\
                 "1.445, 1.499, 1.682, 2.007, 2.496, 3.191, 4.124, 5.296, 6.7, 8.39");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1281, 0.1348, 0.1581, 0.2012, 0.2669, 0.3583, 0.4775, 0.6274, 0.81, 1.027",\
                 "0.1424, 0.1494, 0.1726, 0.2157, 0.2816, 0.373, 0.4922, 0.642, 0.8248, 1.042",\
                 "0.1821, 0.1901, 0.2164, 0.2613, 0.3275, 0.4189, 0.5383, 0.6885, 0.8711, 1.089",\
                 "0.2049, 0.2162, 0.2533, 0.3153, 0.3988, 0.5014, 0.6237, 0.7738, 0.9565, 1.174",\
                 "0.1919, 0.2073, 0.257, 0.3395, 0.4486, 0.5797, 0.7306, 0.9001, 1.089, 1.307",\
                 "0.1358, 0.1555, 0.2188, 0.324, 0.462, 0.6259, 0.8108, 1.016, 1.24, 1.484",\
                 "0.0348, 0.0583, 0.1347, 0.2627, 0.4313, 0.6307, 0.8543, 1.098, 1.363, 1.647",\
                 "-0.1151, -0.0879, 0.0024, 0.1525, 0.3517, 0.5878, 0.8521, 1.14, 1.448, 1.775",\
                 "-0.3159, -0.2845, -0.1823, -0.0092, 0.22, 0.4932, 0.7992, 1.132, 1.486, 1.862",\
                 "-0.568, -0.5338, -0.4201, -0.2258, 0.0337, 0.3429, 0.6912, 1.07, 1.473, 1.899");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.6481, 0.6782, 0.7832, 0.9822, 1.29, 1.721, 2.287, 3, 3.868, 4.904",\
                 "0.6543, 0.6845, 0.7903, 0.9901, 1.299, 1.731, 2.297, 3.01, 3.879, 4.915",\
                 "0.6833, 0.7136, 0.8202, 1.021, 1.331, 1.764, 2.332, 3.046, 3.915, 4.952",\
                 "0.7603, 0.7901, 0.8943, 1.092, 1.399, 1.83, 2.397, 3.109, 3.981, 5.015",\
                 "0.9109, 0.9409, 1.045, 1.238, 1.538, 1.961, 2.52, 3.227, 4.092, 5.126",\
                 "1.126, 1.157, 1.264, 1.463, 1.764, 2.178, 2.726, 3.423, 4.278, 5.303",\
                 "1.41, 1.442, 1.551, 1.755, 2.063, 2.485, 3.026, 3.709, 4.552, 5.565",\
                 "1.76, 1.794, 1.909, 2.117, 2.433, 2.864, 3.417, 4.096, 4.925, 5.925",\
                 "2.17, 2.207, 2.331, 2.553, 2.878, 3.317, 3.881, 4.576, 5.405, 6.389",\
                 "2.64, 2.68, 2.816, 3.056, 3.398, 3.85, 4.424, 5.132, 5.978, 6.964");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1249, 0.1356, 0.1735, 0.245, 0.3557, 0.5103, 0.7131, 0.9692, 1.28, 1.65",\
                 "0.1248, 0.1356, 0.1733, 0.2452, 0.3556, 0.5109, 0.7137, 0.9689, 1.281, 1.652",\
                 "0.1551, 0.1634, 0.1923, 0.2532, 0.3568, 0.5105, 0.7137, 0.9689, 1.281, 1.652",\
                 "0.2453, 0.2547, 0.2868, 0.346, 0.4335, 0.5532, 0.7286, 0.9709, 1.281, 1.651",\
                 "0.3645, 0.3746, 0.4119, 0.4782, 0.5756, 0.7042, 0.8644, 1.062, 1.325, 1.664",\
                 "0.5102, 0.5214, 0.5644, 0.6406, 0.7494, 0.8916, 1.067, 1.276, 1.521, 1.809",\
                 "0.6806, 0.6958, 0.7432, 0.8292, 0.9536, 1.114, 1.303, 1.529, 1.794, 2.091",\
                 "0.8794, 0.8954, 0.9494, 1.047, 1.187, 1.364, 1.577, 1.822, 2.102, 2.421",\
                 "1.1, 1.118, 1.182, 1.29, 1.447, 1.648, 1.881, 2.15, 2.451, 2.79",\
                 "1.337, 1.359, 1.432, 1.562, 1.735, 1.957, 2.216, 2.512, 2.842, 3.201");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.8289, 0.8816, 1.067, 1.416, 1.957, 2.712, 3.703, 4.953, 6.47, 8.284",\
                 "0.829, 0.8816, 1.067, 1.417, 1.957, 2.712, 3.704, 4.951, 6.473, 8.282",\
                 "0.8289, 0.8817, 1.068, 1.416, 1.957, 2.713, 3.704, 4.951, 6.471, 8.284",\
                 "0.8344, 0.8862, 1.069, 1.418, 1.957, 2.712, 3.703, 4.951, 6.476, 8.285",\
                 "0.8924, 0.9414, 1.11, 1.437, 1.96, 2.712, 3.704, 4.952, 6.473, 8.284",\
                 "0.9612, 1.014, 1.191, 1.515, 2.014, 2.732, 3.705, 4.952, 6.473, 8.285",\
                 "1.049, 1.095, 1.274, 1.609, 2.12, 2.814, 3.749, 4.96, 6.473, 8.286",\
                 "1.166, 1.215, 1.388, 1.718, 2.231, 2.945, 3.858, 5.03, 6.495, 8.288",\
                 "1.319, 1.371, 1.542, 1.86, 2.367, 3.083, 4.017, 5.168, 6.591, 8.329",\
                 "1.497, 1.549, 1.729, 2.049, 2.541, 3.241, 4.182, 5.355, 6.76, 8.452");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1868, 0.1958, 0.2271, 0.2849, 0.3732, 0.495, 0.654, 0.8535, 1.096, 1.385",\
                 "0.2008, 0.2099, 0.2411, 0.2992, 0.3874, 0.5093, 0.6684, 0.8678, 1.111, 1.4",\
                 "0.2358, 0.2449, 0.2765, 0.3345, 0.4228, 0.5449, 0.704, 0.9035, 1.146, 1.435",\
                 "0.2652, 0.2764, 0.3136, 0.3797, 0.4745, 0.599, 0.7581, 0.9575, 1.2, 1.489",\
                 "0.2675, 0.2817, 0.3288, 0.4092, 0.5202, 0.6617, 0.8345, 1.04, 1.283, 1.572",\
                 "0.229, 0.2471, 0.3057, 0.4057, 0.5411, 0.7065, 0.9017, 1.129, 1.391, 1.688",\
                 "0.1442, 0.1658, 0.2372, 0.3584, 0.5224, 0.719, 0.9455, 1.201, 1.488, 1.81",\
                 "0.0109, 0.0365, 0.1204, 0.2629, 0.4555, 0.6875, 0.9514, 1.243, 1.563, 1.915",\
                 "-0.174, -0.1449, -0.048, 0.1158, 0.3373, 0.6049, 0.9089, 1.243, 1.604, 1.994",\
                 "-0.4122, -0.3798, -0.2714, -0.0856, 0.1649, 0.468, 0.8129, 1.191, 1.599, 2.034");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.6481, 0.6782, 0.7832, 0.9822, 1.29, 1.721, 2.287, 3, 3.868, 4.904",\
                 "0.6543, 0.6845, 0.7903, 0.9901, 1.299, 1.731, 2.297, 3.01, 3.879, 4.915",\
                 "0.6833, 0.7136, 0.8202, 1.021, 1.331, 1.764, 2.332, 3.046, 3.915, 4.952",\
                 "0.7603, 0.7901, 0.8943, 1.092, 1.399, 1.83, 2.397, 3.109, 3.981, 5.015",\
                 "0.9109, 0.9409, 1.045, 1.238, 1.538, 1.961, 2.52, 3.227, 4.092, 5.126",\
                 "1.126, 1.157, 1.264, 1.463, 1.764, 2.178, 2.726, 3.423, 4.278, 5.303",\
                 "1.41, 1.442, 1.551, 1.755, 2.063, 2.485, 3.026, 3.709, 4.552, 5.565",\
                 "1.76, 1.794, 1.909, 2.117, 2.433, 2.864, 3.417, 4.096, 4.925, 5.925",\
                 "2.17, 2.207, 2.331, 2.553, 2.878, 3.317, 3.881, 4.576, 5.405, 6.389",\
                 "2.64, 2.68, 2.816, 3.056, 3.398, 3.85, 4.424, 5.132, 5.978, 6.964");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.178, 0.1932, 0.2446, 0.3413, 0.4892, 0.6951, 0.9647, 1.304, 1.719, 2.211",\
                 "0.1779, 0.1931, 0.2444, 0.3412, 0.4891, 0.6944, 0.9644, 1.303, 1.719, 2.211",\
                 "0.1848, 0.1985, 0.247, 0.3411, 0.489, 0.6948, 0.9643, 1.304, 1.718, 2.212",\
                 "0.242, 0.2553, 0.3022, 0.3881, 0.5182, 0.7066, 0.9667, 1.305, 1.718, 2.211",\
                 "0.3378, 0.3515, 0.3994, 0.486, 0.6168, 0.7982, 1.033, 1.339, 1.73, 2.212",\
                 "0.4652, 0.4814, 0.535, 0.6282, 0.761, 0.9396, 1.176, 1.47, 1.83, 2.274",\
                 "0.6178, 0.6366, 0.6984, 0.8028, 0.9482, 1.134, 1.367, 1.661, 2.02, 2.449",\
                 "0.7988, 0.8194, 0.8878, 1.007, 1.166, 1.369, 1.612, 1.905, 2.262, 2.686",\
                 "1.006, 1.029, 1.105, 1.235, 1.417, 1.636, 1.899, 2.208, 2.564, 2.985",\
                 "1.229, 1.256, 1.345, 1.494, 1.692, 1.935, 2.224, 2.551, 2.924, 3.349");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.9521, 1.005, 1.188, 1.537, 2.077, 2.831, 3.822, 5.069, 6.592, 8.403",\
                 "0.952, 1.005, 1.188, 1.537, 2.077, 2.831, 3.823, 5.068, 6.592, 8.403",\
                 "0.9523, 1.005, 1.188, 1.537, 2.076, 2.832, 3.823, 5.069, 6.591, 8.405",\
                 "0.9615, 1.011, 1.19, 1.537, 2.077, 2.832, 3.824, 5.069, 6.592, 8.404",\
                 "1.027, 1.074, 1.24, 1.563, 2.082, 2.832, 3.824, 5.07, 6.592, 8.402",\
                 "1.11, 1.158, 1.328, 1.647, 2.142, 2.855, 3.825, 5.07, 6.592, 8.404",\
                 "1.209, 1.256, 1.427, 1.75, 2.252, 2.943, 3.874, 5.081, 6.592, 8.404",\
                 "1.352, 1.396, 1.557, 1.873, 2.378, 3.08, 3.99, 5.155, 6.619, 8.406",\
                 "1.53, 1.576, 1.733, 2.036, 2.525, 3.231, 4.155, 5.3, 6.721, 8.456",\
                 "1.735, 1.781, 1.943, 2.246, 2.718, 3.402, 4.328, 5.494, 6.894, 8.586");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1979, 0.2076, 0.2411, 0.302, 0.3935, 0.518, 0.6793, 0.8804, 1.125, 1.415",\
                 "0.2106, 0.2204, 0.2538, 0.3146, 0.4059, 0.5306, 0.6918, 0.893, 1.137, 1.427",\
                 "0.2459, 0.2556, 0.2884, 0.3489, 0.44, 0.5647, 0.7259, 0.927, 1.171, 1.461",\
                 "0.2809, 0.2919, 0.3301, 0.3967, 0.4926, 0.6182, 0.7792, 0.9802, 1.224, 1.514",\
                 "0.2913, 0.3054, 0.352, 0.432, 0.5431, 0.6846, 0.8573, 1.063, 1.307, 1.596",\
                 "0.2644, 0.2822, 0.3401, 0.4383, 0.5718, 0.7352, 0.9296, 1.156, 1.417, 1.714",\
                 "0.1947, 0.2158, 0.286, 0.4045, 0.5646, 0.7585, 0.9815, 1.234, 1.519, 1.84",\
                 "0.0815, 0.1063, 0.1868, 0.3259, 0.5138, 0.7406, 0.9993, 1.286, 1.602, 1.951",\
                 "-0.077, -0.0497, 0.0428, 0.2013, 0.4163, 0.6771, 0.9737, 1.301, 1.656, 2.04",\
                 "-0.2845, -0.2529, -0.1492, 0.0283, 0.2697, 0.5635, 0.9007, 1.269, 1.668, 2.095");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.6366, 0.6669, 0.7732, 0.9746, 1.285, 1.719, 2.288, 3.004, 3.876, 4.914",\
                 "0.6446, 0.6752, 0.7822, 0.9842, 1.296, 1.73, 2.299, 3.015, 3.887, 4.926",\
                 "0.6732, 0.7041, 0.8122, 1.015, 1.328, 1.763, 2.334, 3.05, 3.923, 4.962",\
                 "0.7263, 0.7566, 0.8631, 1.064, 1.376, 1.81, 2.38, 3.097, 3.971, 5.009",\
                 "0.8303, 0.861, 0.9668, 1.164, 1.468, 1.896, 2.46, 3.172, 4.041, 5.078",\
                 "0.9993, 1.029, 1.135, 1.332, 1.634, 2.051, 2.603, 3.303, 4.164, 5.192",\
                 "1.238, 1.269, 1.374, 1.57, 1.87, 2.288, 2.83, 3.515, 4.36, 5.375",\
                 "1.531, 1.565, 1.678, 1.881, 2.181, 2.596, 3.14, 3.819, 4.646, 5.643",\
                 "1.873, 1.91, 2.034, 2.253, 2.565, 2.982, 3.523, 4.203, 5.028, 6.006",\
                 "2.264, 2.305, 2.44, 2.678, 3.012, 3.443, 3.987, 4.665, 5.49, 6.469");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2059, 0.2222, 0.2762, 0.3747, 0.5242, 0.7308, 1, 1.341, 1.755, 2.247",\
                 "0.2053, 0.2218, 0.2754, 0.3744, 0.5238, 0.7307, 1.001, 1.34, 1.755, 2.247",\
                 "0.2086, 0.2237, 0.275, 0.373, 0.5233, 0.7299, 1.001, 1.34, 1.755, 2.248",\
                 "0.2678, 0.2818, 0.3293, 0.4156, 0.5473, 0.7394, 1.001, 1.34, 1.754, 2.247",\
                 "0.3712, 0.3846, 0.4322, 0.5168, 0.6468, 0.8282, 1.063, 1.371, 1.764, 2.247",\
                 "0.5124, 0.5272, 0.578, 0.6672, 0.7964, 0.9724, 1.206, 1.501, 1.861, 2.305",\
                 "0.6852, 0.7022, 0.759, 0.8576, 0.9946, 1.174, 1.401, 1.694, 2.05, 2.477",\
                 "0.8926, 0.9116, 0.9748, 1.083, 1.232, 1.423, 1.657, 1.942, 2.293, 2.718",\
                 "1.137, 1.157, 1.227, 1.345, 1.51, 1.712, 1.96, 2.254, 2.602, 3.018",\
                 "1.411, 1.434, 1.513, 1.644, 1.821, 2.046, 2.311, 2.617, 2.972, 3.386");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.9522, 1.004, 1.188, 1.537, 2.076, 2.832, 3.824, 5.07, 6.592, 8.402",\
                 "0.9517, 1.005, 1.188, 1.537, 2.077, 2.832, 3.824, 5.07, 6.59, 8.402",\
                 "0.9518, 1.004, 1.188, 1.537, 2.077, 2.832, 3.823, 5.07, 6.592, 8.401",\
                 "0.9574, 1.009, 1.189, 1.537, 2.077, 2.832, 3.824, 5.07, 6.59, 8.402",\
                 "1.012, 1.06, 1.231, 1.559, 2.082, 2.832, 3.823, 5.07, 6.592, 8.402",\
                 "1.092, 1.14, 1.308, 1.631, 2.135, 2.855, 3.826, 5.071, 6.592, 8.404",\
                 "1.215, 1.26, 1.418, 1.73, 2.23, 2.933, 3.875, 5.085, 6.593, 8.404",\
                 "1.393, 1.434, 1.58, 1.872, 2.353, 3.05, 3.977, 5.156, 6.626, 8.411",\
                 "1.61, 1.652, 1.798, 2.077, 2.527, 3.198, 4.116, 5.282, 6.721, 8.464",\
                 "1.855, 1.899, 2.051, 2.334, 2.766, 3.403, 4.289, 5.448, 6.872, 8.585");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1623, 0.1722, 0.2055, 0.2664, 0.3575, 0.4817, 0.6426, 0.8435, 1.087, 1.377",\
                 "0.1752, 0.1851, 0.2183, 0.279, 0.3701, 0.4943, 0.6551, 0.8561, 1.1, 1.39",\
                 "0.2099, 0.2199, 0.2532, 0.3134, 0.404, 0.5282, 0.6892, 0.89, 1.134, 1.424",\
                 "0.2349, 0.2473, 0.2875, 0.3569, 0.4548, 0.5817, 0.7424, 0.9432, 1.187, 1.477",\
                 "0.2298, 0.2457, 0.2973, 0.3831, 0.4988, 0.6433, 0.8182, 1.025, 1.27, 1.559",\
                 "0.1851, 0.2049, 0.2699, 0.3766, 0.5177, 0.6873, 0.8857, 1.114, 1.377, 1.675",\
                 "0.0983, 0.1225, 0.1996, 0.3289, 0.4992, 0.7014, 0.9314, 1.188, 1.476, 1.799",\
                 "-0.0322, -0.0044, 0.0859, 0.2369, 0.4367, 0.6742, 0.9407, 1.234, 1.555, 1.906",\
                 "-0.2072, -0.176, -0.0736, 0.0988, 0.3277, 0.5997, 0.9066, 1.241, 1.603, 1.991",\
                 "-0.4281, -0.3935, -0.2803, -0.0875, 0.1698, 0.4764, 0.8233, 1.202, 1.609, 2.041");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.6233, 0.6538, 0.7606, 0.9611, 1.271, 1.703, 2.27, 2.982, 3.852, 4.887",\
                 "0.6314, 0.6622, 0.7692, 0.9708, 1.281, 1.713, 2.28, 2.993, 3.863, 4.899",\
                 "0.6601, 0.6911, 0.7987, 1.002, 1.313, 1.747, 2.315, 3.029, 3.899, 4.936",\
                 "0.713, 0.7436, 0.8498, 1.051, 1.361, 1.794, 2.362, 3.076, 3.946, 4.983",\
                 "0.8163, 0.8471, 0.9528, 1.15, 1.453, 1.879, 2.441, 3.151, 4.018, 5.051",\
                 "0.984, 1.014, 1.12, 1.316, 1.619, 2.035, 2.584, 3.282, 4.14, 5.165",\
                 "1.221, 1.252, 1.359, 1.554, 1.854, 2.271, 2.81, 3.493, 4.336, 5.349",\
                 "1.511, 1.545, 1.66, 1.864, 2.165, 2.578, 3.12, 3.796, 4.62, 5.614",\
                 "1.849, 1.887, 2.012, 2.233, 2.547, 2.963, 3.502, 4.18, 5.001, 5.978",\
                 "2.235, 2.276, 2.414, 2.654, 2.99, 3.422, 3.964, 4.64, 5.464, 6.44");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1695, 0.1852, 0.2383, 0.3363, 0.4856, 0.6914, 0.961, 1.3, 1.714, 2.208",\
                 "0.1683, 0.1841, 0.2376, 0.3359, 0.486, 0.692, 0.961, 1.301, 1.716, 2.208",\
                 "0.1805, 0.1935, 0.2421, 0.3358, 0.4843, 0.6912, 0.961, 1.3, 1.716, 2.208",\
                 "0.2479, 0.2602, 0.3045, 0.3888, 0.5174, 0.7042, 0.964, 1.3, 1.715, 2.208",\
                 "0.3573, 0.3701, 0.4148, 0.4954, 0.6212, 0.7992, 1.032, 1.336, 1.728, 2.209",\
                 "0.503, 0.5172, 0.566, 0.6512, 0.777, 0.9492, 1.178, 1.471, 1.83, 2.272",\
                 "0.6824, 0.698, 0.752, 0.8444, 0.9796, 1.154, 1.381, 1.666, 2.02, 2.448",\
                 "0.897, 0.915, 0.9712, 1.074, 1.222, 1.406, 1.637, 1.92, 2.267, 2.691",\
                 "1.145, 1.165, 1.228, 1.341, 1.502, 1.702, 1.944, 2.234, 2.579, 2.993",\
                 "1.418, 1.441, 1.517, 1.645, 1.819, 2.033, 2.293, 2.599, 2.953, 3.364");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.7544, 0.8082, 0.9943, 1.342, 1.883, 2.639, 3.63, 4.876, 6.399, 8.208",\
                 "0.7555, 0.808, 0.9921, 1.342, 1.883, 2.639, 3.63, 4.877, 6.399, 8.208",\
                 "0.7555, 0.8085, 0.9931, 1.342, 1.883, 2.639, 3.629, 4.877, 6.398, 8.211",\
                 "0.7608, 0.8117, 0.994, 1.343, 1.883, 2.638, 3.63, 4.876, 6.397, 8.21",\
                 "0.8132, 0.8634, 1.035, 1.365, 1.888, 2.639, 3.63, 4.878, 6.399, 8.21",\
                 "0.8822, 0.9324, 1.107, 1.435, 1.941, 2.662, 3.633, 4.877, 6.398, 8.212",\
                 "0.9952, 1.042, 1.206, 1.525, 2.032, 2.739, 3.682, 4.891, 6.4, 8.211",\
                 "1.155, 1.2, 1.359, 1.661, 2.147, 2.852, 3.782, 4.963, 6.432, 8.215",\
                 "1.342, 1.393, 1.556, 1.854, 2.316, 2.994, 3.92, 5.089, 6.528, 8.272",\
                 "1.554, 1.607, 1.782, 2.094, 2.547, 3.194, 4.086, 5.249, 6.676, 8.39");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1309, 0.1382, 0.1634, 0.2097, 0.2787, 0.3729, 0.4947, 0.6461, 0.8299, 1.048",\
                 "0.1446, 0.1521, 0.177, 0.2232, 0.292, 0.3862, 0.5079, 0.6596, 0.8433, 1.062",\
                 "0.1879, 0.196, 0.2229, 0.2691, 0.3374, 0.4313, 0.553, 0.7045, 0.8884, 1.107",\
                 "0.2184, 0.2298, 0.2669, 0.329, 0.4125, 0.515, 0.6378, 0.7895, 0.9731, 1.192",\
                 "0.2153, 0.2304, 0.2795, 0.361, 0.4692, 0.5993, 0.7489, 0.9174, 1.107, 1.325",\
                 "0.1724, 0.1913, 0.2532, 0.3562, 0.4917, 0.6531, 0.836, 1.039, 1.262, 1.504",\
                 "0.0878, 0.1101, 0.184, 0.309, 0.4738, 0.6692, 0.8887, 1.13, 1.391, 1.672",\
                 "-0.0404, -0.0142, 0.0718, 0.2167, 0.4107, 0.6413, 0.8997, 1.182, 1.484, 1.808",\
                 "-0.2133, -0.184, -0.0868, 0.0787, 0.3002, 0.5655, 0.8644, 1.189, 1.537, 1.906",\
                 "-0.4327, -0.4004, -0.2934, -0.1087, 0.141, 0.4398, 0.7785, 1.148, 1.542, 1.959");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.6836, 0.7138, 0.819, 1.018, 1.326, 1.757, 2.323, 3.035, 3.904, 4.94",\
                 "0.6925, 0.723, 0.8285, 1.028, 1.337, 1.769, 2.336, 3.048, 3.918, 4.953",\
                 "0.7204, 0.751, 0.8572, 1.058, 1.369, 1.802, 2.371, 3.084, 3.954, 4.99",\
                 "0.7733, 0.8032, 0.9083, 1.107, 1.416, 1.848, 2.416, 3.13, 4, 5.037",\
                 "0.8784, 0.909, 1.013, 1.208, 1.51, 1.935, 2.496, 3.205, 4.072, 5.106",\
                 "1.049, 1.079, 1.182, 1.379, 1.679, 2.093, 2.642, 3.34, 4.197, 5.224",\
                 "1.29, 1.32, 1.425, 1.619, 1.918, 2.335, 2.874, 3.556, 4.399, 5.41",\
                 "1.589, 1.622, 1.733, 1.933, 2.232, 2.647, 3.189, 3.866, 4.691, 5.685",\
                 "1.939, 1.976, 2.096, 2.31, 2.621, 3.036, 3.579, 4.257, 5.08, 6.057",\
                 "2.338, 2.377, 2.509, 2.742, 3.073, 3.503, 4.046, 4.725, 5.551, 6.529");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1442, 0.1558, 0.196, 0.2702, 0.383, 0.5387, 0.7419, 0.997, 1.309, 1.678",\
                 "0.1431, 0.1548, 0.1955, 0.2697, 0.3825, 0.538, 0.7411, 0.9968, 1.309, 1.679",\
                 "0.1729, 0.1811, 0.2109, 0.2742, 0.3821, 0.5371, 0.741, 0.9965, 1.307, 1.68",\
                 "0.2716, 0.2803, 0.311, 0.3678, 0.453, 0.5743, 0.7531, 0.9978, 1.308, 1.678",\
                 "0.4019, 0.4116, 0.4448, 0.5074, 0.6006, 0.7266, 0.8854, 1.082, 1.349, 1.691",\
                 "0.5632, 0.574, 0.6112, 0.6822, 0.784, 0.9204, 1.09, 1.297, 1.54, 1.829",\
                 "0.7584, 0.7696, 0.8106, 0.8878, 1.003, 1.152, 1.335, 1.554, 1.813, 2.111",\
                 "0.9882, 1, 1.045, 1.13, 1.258, 1.42, 1.62, 1.853, 2.126, 2.442",\
                 "1.25, 1.265, 1.316, 1.408, 1.55, 1.727, 1.942, 2.196, 2.484, 2.814",\
                 "1.541, 1.559, 1.619, 1.725, 1.875, 2.074, 2.304, 2.577, 2.887, 3.233");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.8298, 0.882, 1.068, 1.416, 1.957, 2.712, 3.703, 4.951, 6.471, 8.283",\
                 "0.829, 0.8826, 1.067, 1.418, 1.957, 2.712, 3.703, 4.95, 6.474, 8.283",\
                 "0.8283, 0.8828, 1.068, 1.417, 1.957, 2.713, 3.705, 4.952, 6.471, 8.285",\
                 "0.8324, 0.8838, 1.068, 1.418, 1.957, 2.712, 3.704, 4.952, 6.472, 8.284",\
                 "0.8804, 0.9294, 1.102, 1.435, 1.96, 2.713, 3.705, 4.952, 6.472, 8.285",\
                 "0.944, 0.995, 1.171, 1.501, 2.008, 2.733, 3.706, 4.951, 6.474, 8.286",\
                 "1.044, 1.092, 1.261, 1.585, 2.097, 2.806, 3.75, 4.963, 6.473, 8.286",\
                 "1.195, 1.241, 1.401, 1.71, 2.204, 2.916, 3.847, 5.031, 6.502, 8.289",\
                 "1.382, 1.431, 1.591, 1.89, 2.359, 3.046, 3.979, 5.152, 6.592, 8.342",\
                 "1.59, 1.645, 1.814, 2.122, 2.576, 3.233, 4.136, 5.307, 6.738, 8.454");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1979, 0.2076, 0.2411, 0.302, 0.3935, 0.518, 0.6793, 0.8804, 1.125, 1.415",\
                 "0.2106, 0.2204, 0.2538, 0.3146, 0.4059, 0.5306, 0.6918, 0.893, 1.137, 1.427",\
                 "0.2459, 0.2556, 0.2884, 0.3489, 0.44, 0.5647, 0.7259, 0.927, 1.171, 1.461",\
                 "0.2809, 0.2919, 0.3301, 0.3967, 0.4926, 0.6182, 0.7792, 0.9802, 1.224, 1.514",\
                 "0.2913, 0.3054, 0.352, 0.432, 0.5431, 0.6846, 0.8573, 1.063, 1.307, 1.596",\
                 "0.2644, 0.2822, 0.3401, 0.4383, 0.5718, 0.7352, 0.9296, 1.156, 1.417, 1.714",\
                 "0.1947, 0.2158, 0.286, 0.4045, 0.5646, 0.7585, 0.9815, 1.234, 1.519, 1.84",\
                 "0.0815, 0.1063, 0.1868, 0.3259, 0.5138, 0.7406, 0.9993, 1.286, 1.602, 1.951",\
                 "-0.077, -0.0497, 0.0428, 0.2013, 0.4163, 0.6771, 0.9737, 1.301, 1.656, 2.04",\
                 "-0.2845, -0.2529, -0.1492, 0.0283, 0.2697, 0.5635, 0.9007, 1.269, 1.668, 2.095");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.6836, 0.7138, 0.819, 1.018, 1.326, 1.757, 2.323, 3.035, 3.904, 4.94",\
                 "0.6925, 0.723, 0.8285, 1.028, 1.337, 1.769, 2.336, 3.048, 3.918, 4.953",\
                 "0.7204, 0.751, 0.8572, 1.058, 1.369, 1.802, 2.371, 3.084, 3.954, 4.99",\
                 "0.7733, 0.8032, 0.9083, 1.107, 1.416, 1.848, 2.416, 3.13, 4, 5.037",\
                 "0.8784, 0.909, 1.013, 1.208, 1.51, 1.935, 2.496, 3.205, 4.072, 5.106",\
                 "1.049, 1.079, 1.182, 1.379, 1.679, 2.093, 2.642, 3.34, 4.197, 5.224",\
                 "1.29, 1.32, 1.425, 1.619, 1.918, 2.335, 2.874, 3.556, 4.399, 5.41",\
                 "1.589, 1.622, 1.733, 1.933, 2.232, 2.647, 3.189, 3.866, 4.691, 5.685",\
                 "1.939, 1.976, 2.096, 2.31, 2.621, 3.036, 3.579, 4.257, 5.08, 6.057",\
                 "2.338, 2.377, 2.509, 2.742, 3.073, 3.503, 4.046, 4.725, 5.551, 6.529");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2059, 0.2222, 0.2762, 0.3747, 0.5242, 0.7308, 1, 1.341, 1.755, 2.247",\
                 "0.2053, 0.2218, 0.2754, 0.3744, 0.5238, 0.7307, 1.001, 1.34, 1.755, 2.247",\
                 "0.2086, 0.2237, 0.275, 0.373, 0.5233, 0.7299, 1.001, 1.34, 1.755, 2.248",\
                 "0.2678, 0.2818, 0.3293, 0.4156, 0.5473, 0.7394, 1.001, 1.34, 1.754, 2.247",\
                 "0.3712, 0.3846, 0.4322, 0.5168, 0.6468, 0.8282, 1.063, 1.371, 1.764, 2.247",\
                 "0.5124, 0.5272, 0.578, 0.6672, 0.7964, 0.9724, 1.206, 1.501, 1.861, 2.305",\
                 "0.6852, 0.7022, 0.759, 0.8576, 0.9946, 1.174, 1.401, 1.694, 2.05, 2.477",\
                 "0.8926, 0.9116, 0.9748, 1.083, 1.232, 1.423, 1.657, 1.942, 2.293, 2.718",\
                 "1.137, 1.157, 1.227, 1.345, 1.51, 1.712, 1.96, 2.254, 2.602, 3.018",\
                 "1.411, 1.434, 1.513, 1.644, 1.821, 2.046, 2.311, 2.617, 2.972, 3.386");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.9522, 1.004, 1.188, 1.537, 2.076, 2.832, 3.824, 5.07, 6.592, 8.402",\
                 "0.9517, 1.005, 1.188, 1.537, 2.077, 2.832, 3.824, 5.07, 6.59, 8.402",\
                 "0.9518, 1.004, 1.188, 1.537, 2.077, 2.832, 3.823, 5.07, 6.592, 8.401",\
                 "0.9574, 1.009, 1.189, 1.537, 2.077, 2.832, 3.824, 5.07, 6.59, 8.402",\
                 "1.012, 1.06, 1.231, 1.559, 2.082, 2.832, 3.823, 5.07, 6.592, 8.402",\
                 "1.092, 1.14, 1.308, 1.631, 2.135, 2.855, 3.826, 5.071, 6.592, 8.404",\
                 "1.215, 1.26, 1.418, 1.73, 2.23, 2.933, 3.875, 5.085, 6.593, 8.404",\
                 "1.393, 1.434, 1.58, 1.872, 2.353, 3.05, 3.977, 5.156, 6.626, 8.411",\
                 "1.61, 1.652, 1.798, 2.077, 2.527, 3.198, 4.116, 5.282, 6.721, 8.464",\
                 "1.855, 1.899, 2.051, 2.334, 2.766, 3.403, 4.289, 5.448, 6.872, 8.585");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1141, 0.1239, 0.1575, 0.2185, 0.3096, 0.434, 0.5949, 0.7956, 1.04, 1.33",\
                 "0.1275, 0.1374, 0.171, 0.2322, 0.3234, 0.4479, 0.6089, 0.8098, 1.054, 1.344",\
                 "0.1767, 0.1871, 0.2206, 0.2792, 0.3693, 0.4934, 0.6544, 0.8552, 1.099, 1.389",\
                 "0.2187, 0.2325, 0.2778, 0.3536, 0.4564, 0.5826, 0.742, 0.9422, 1.186, 1.475",\
                 "0.2349, 0.252, 0.309, 0.4044, 0.5333, 0.6916, 0.8748, 1.081, 1.323, 1.612",\
                 "0.2172, 0.2391, 0.3086, 0.425, 0.5811, 0.7715, 0.992, 1.24, 1.512, 1.807",\
                 "0.1633, 0.1886, 0.2713, 0.4099, 0.5956, 0.8196, 1.078, 1.366, 1.683, 2.027",\
                 "0.0703, 0.0994, 0.1943, 0.3546, 0.5712, 0.8305, 1.129, 1.459, 1.82, 2.212",\
                 "-0.0648, -0.0311, 0.0763, 0.2581, 0.5027, 0.8005, 1.138, 1.513, 1.921, 2.359",\
                 "-0.2443, -0.2078, -0.0869, 0.1158, 0.3906, 0.7243, 1.105, 1.525, 1.981, 2.47");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.191, 0.2115, 0.2834, 0.4187, 0.6277, 0.9197, 1.303, 1.786, 2.376, 3.078",\
                 "0.2, 0.2208, 0.2938, 0.4308, 0.6413, 0.9348, 1.319, 1.803, 2.393, 3.095",\
                 "0.2575, 0.2773, 0.3476, 0.4823, 0.692, 0.9857, 1.371, 1.855, 2.445, 3.148",\
                 "0.3701, 0.3935, 0.4706, 0.6044, 0.8089, 1.097, 1.48, 1.962, 2.551, 3.253",\
                 "0.5203, 0.547, 0.6361, 0.7917, 1.008, 1.292, 1.667, 2.144, 2.729, 3.427",\
                 "0.712, 0.7432, 0.8448, 1.018, 1.264, 1.574, 1.948, 2.417, 2.994, 3.686",\
                 "0.9434, 0.9799, 1.097, 1.292, 1.561, 1.904, 2.316, 2.792, 3.361, 4.044",\
                 "1.216, 1.259, 1.393, 1.615, 1.91, 2.281, 2.73, 3.251, 3.838, 4.515",\
                 "1.533, 1.582, 1.735, 1.984, 2.312, 2.713, 3.194, 3.755, 4.393, 5.095",\
                 "1.895, 1.949, 2.121, 2.4, 2.765, 3.203, 3.714, 4.312, 4.993, 5.752");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1668, 0.1826, 0.2369, 0.3362, 0.4856, 0.6919, 0.9619, 1.301, 1.716, 2.208",\
                 "0.1652, 0.1818, 0.2362, 0.3356, 0.4856, 0.6917, 0.9617, 1.301, 1.715, 2.208",\
                 "0.186, 0.1981, 0.242, 0.3321, 0.4817, 0.6911, 0.9611, 1.301, 1.714, 2.207",\
                 "0.2584, 0.2741, 0.3273, 0.4139, 0.5353, 0.7076, 0.9616, 1.3, 1.715, 2.208",\
                 "0.3556, 0.3743, 0.4344, 0.5368, 0.6794, 0.8572, 1.069, 1.348, 1.725, 2.209",\
                 "0.4744, 0.4964, 0.5704, 0.6894, 0.8482, 1.047, 1.288, 1.566, 1.885, 2.292",\
                 "0.6084, 0.637, 0.7264, 0.8666, 1.05, 1.271, 1.533, 1.841, 2.189, 2.572",\
                 "0.7622, 0.7958, 0.899, 1.067, 1.279, 1.528, 1.816, 2.147, 2.525, 2.946",\
                 "0.9356, 0.9746, 1.093, 1.287, 1.529, 1.814, 2.134, 2.491, 2.893, 3.347",\
                 "1.125, 1.172, 1.309, 1.524, 1.802, 2.122, 2.479, 2.874, 3.303, 3.785");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.3884, 0.4274, 0.565, 0.8223, 1.212, 1.744, 2.428, 3.281, 4.315, 5.546",\
                 "0.388, 0.4277, 0.565, 0.8223, 1.212, 1.744, 2.429, 3.281, 4.314, 5.548",\
                 "0.3926, 0.4297, 0.5643, 0.8223, 1.213, 1.744, 2.429, 3.281, 4.315, 5.545",\
                 "0.4748, 0.5055, 0.615, 0.8382, 1.213, 1.744, 2.429, 3.282, 4.316, 5.548",\
                 "0.5748, 0.6094, 0.7336, 0.9506, 1.274, 1.757, 2.429, 3.282, 4.316, 5.547",\
                 "0.716, 0.7478, 0.8674, 1.102, 1.438, 1.876, 2.476, 3.287, 4.316, 5.548",\
                 "0.9046, 0.9346, 1.043, 1.267, 1.622, 2.088, 2.655, 3.387, 4.341, 5.55",\
                 "1.127, 1.156, 1.263, 1.478, 1.826, 2.312, 2.916, 3.623, 4.504, 5.615",\
                 "1.373, 1.404, 1.513, 1.73, 2.069, 2.556, 3.187, 3.941, 4.803, 5.839",\
                 "1.642, 1.673, 1.787, 2.012, 2.355, 2.836, 3.476, 4.265, 5.178, 6.204");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1054, 0.1144, 0.1452, 0.2022, 0.2893, 0.4102, 0.5685, 0.7674, 1.01, 1.299",\
                 "0.1187, 0.1277, 0.1586, 0.2158, 0.3031, 0.4242, 0.5825, 0.7815, 1.024, 1.313",\
                 "0.1614, 0.1718, 0.205, 0.2619, 0.3487, 0.4696, 0.6279, 0.8269, 1.069, 1.358",\
                 "0.1902, 0.2042, 0.25, 0.327, 0.4311, 0.5578, 0.7155, 0.9139, 1.156, 1.444",\
                 "0.1909, 0.209, 0.2683, 0.3667, 0.4984, 0.659, 0.8445, 1.052, 1.293, 1.581",\
                 "0.1578, 0.1803, 0.2537, 0.3745, 0.5363, 0.7304, 0.954, 1.205, 1.479, 1.776",\
                 "0.0877, 0.1147, 0.2018, 0.3467, 0.5389, 0.7694, 1.032, 1.323, 1.644, 1.99",\
                 "-0.0207, 0.0104, 0.1108, 0.2792, 0.5032, 0.7702, 1.074, 1.41, 1.774, 2.17",\
                 "-0.171, -0.1362, -0.0212, 0.1696, 0.4241, 0.7302, 1.076, 1.457, 1.869, 2.312",\
                 "-0.3674, -0.3269, -0.199, 0.016, 0.3011, 0.6446, 1.034, 1.462, 1.922, 2.417");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.191, 0.2115, 0.2834, 0.4188, 0.6275, 0.9197, 1.303, 1.786, 2.375, 3.078",\
                 "0.1998, 0.221, 0.2938, 0.4306, 0.6416, 0.9348, 1.319, 1.803, 2.392, 3.095",\
                 "0.2575, 0.2773, 0.3476, 0.4823, 0.6922, 0.9858, 1.371, 1.855, 2.445, 3.148",\
                 "0.3701, 0.3931, 0.4707, 0.6044, 0.8089, 1.097, 1.48, 1.962, 2.551, 3.252",\
                 "0.5202, 0.5471, 0.6363, 0.7914, 1.008, 1.292, 1.667, 2.144, 2.728, 3.427",\
                 "0.7117, 0.7432, 0.8448, 1.018, 1.264, 1.574, 1.949, 2.417, 2.994, 3.687",\
                 "0.9434, 0.98, 1.097, 1.292, 1.561, 1.904, 2.316, 2.792, 3.362, 4.045",\
                 "1.216, 1.259, 1.393, 1.615, 1.91, 2.281, 2.73, 3.251, 3.837, 4.515",\
                 "1.534, 1.581, 1.734, 1.984, 2.312, 2.713, 3.194, 3.755, 4.392, 5.095",\
                 "1.895, 1.949, 2.121, 2.4, 2.765, 3.202, 3.714, 4.311, 4.992, 5.751");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1415, 0.1565, 0.2076, 0.3026, 0.4496, 0.655, 0.9239, 1.263, 1.678, 2.17",\
                 "0.1402, 0.1555, 0.2068, 0.3024, 0.4497, 0.655, 0.9242, 1.263, 1.677, 2.17",\
                 "0.1672, 0.1798, 0.2209, 0.3043, 0.4486, 0.6543, 0.9244, 1.263, 1.677, 2.17",\
                 "0.2386, 0.2541, 0.3051, 0.393, 0.5134, 0.6814, 0.9276, 1.263, 1.678, 2.17",\
                 "0.3342, 0.354, 0.4136, 0.516, 0.6572, 0.8346, 1.047, 1.322, 1.691, 2.171",\
                 "0.45, 0.4738, 0.548, 0.669, 0.8256, 1.025, 1.265, 1.543, 1.862, 2.266",\
                 "0.5832, 0.6116, 0.7012, 0.8452, 1.028, 1.248, 1.512, 1.819, 2.166, 2.551",\
                 "0.7346, 0.7678, 0.8734, 1.042, 1.255, 1.508, 1.794, 2.124, 2.502, 2.924",\
                 "0.904, 0.9428, 1.067, 1.259, 1.506, 1.79, 2.114, 2.469, 2.872, 3.325",\
                 "1.085, 1.13, 1.275, 1.498, 1.777, 2.102, 2.458, 2.851, 3.283, 3.762");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.3706, 0.4076, 0.5362, 0.7755, 1.143, 1.655, 2.326, 3.172, 4.204, 5.432",\
                 "0.3705, 0.4076, 0.5357, 0.7755, 1.144, 1.655, 2.327, 3.172, 4.204, 5.435",\
                 "0.3752, 0.4097, 0.5357, 0.7755, 1.143, 1.655, 2.326, 3.172, 4.204, 5.434",\
                 "0.4508, 0.4821, 0.5849, 0.7916, 1.144, 1.655, 2.327, 3.172, 4.205, 5.433",\
                 "0.5406, 0.5742, 0.6918, 0.8992, 1.206, 1.668, 2.326, 3.173, 4.205, 5.434",\
                 "0.6662, 0.6974, 0.8122, 1.035, 1.363, 1.786, 2.373, 3.177, 4.206, 5.437",\
                 "0.8256, 0.858, 0.9686, 1.187, 1.532, 1.991, 2.552, 3.277, 4.231, 5.437",\
                 "1.009, 1.043, 1.159, 1.379, 1.722, 2.203, 2.807, 3.514, 4.391, 5.502",\
                 "1.21, 1.249, 1.374, 1.605, 1.949, 2.435, 3.073, 3.826, 4.688, 5.727",\
                 "1.432, 1.472, 1.608, 1.857, 2.217, 2.703, 3.346, 4.143, 5.059, 6.091");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.08782, 0.09491, 0.1195, 0.165, 0.2344, 0.3306, 0.4565, 0.6147, 0.8073, 1.037",\
                 "0.1022, 0.1093, 0.1339, 0.1795, 0.2491, 0.3454, 0.4714, 0.6296, 0.8223, 1.052",\
                 "0.1431, 0.1522, 0.1814, 0.2301, 0.2992, 0.3953, 0.5212, 0.6793, 0.8721, 1.101",\
                 "0.1646, 0.1774, 0.2185, 0.2873, 0.3792, 0.4895, 0.6176, 0.7751, 0.9673, 1.196",\
                 "0.1549, 0.1718, 0.226, 0.316, 0.4348, 0.5777, 0.7408, 0.9209, 1.118, 1.347",\
                 "0.1083, 0.1296, 0.1975, 0.3097, 0.4577, 0.6336, 0.8333, 1.055, 1.295, 1.552",\
                 "0.0223, 0.0475, 0.1291, 0.2635, 0.4415, 0.6526, 0.8913, 1.153, 1.438, 1.742",\
                 "-0.1065, -0.0768, 0.0176, 0.1744, 0.3828, 0.6304, 0.9091, 1.214, 1.543, 1.894",\
                 "-0.2806, -0.2474, -0.1394, 0.0395, 0.2777, 0.5618, 0.8819, 1.23, 1.606, 2.005",\
                 "-0.5047, -0.4661, -0.3459, -0.1431, 0.1249, 0.444, 0.8056, 1.201, 1.624, 2.074");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1899, 0.2109, 0.2826, 0.4178, 0.6268, 0.9188, 1.303, 1.785, 2.375, 3.077",\
                 "0.1976, 0.2184, 0.2912, 0.4283, 0.6387, 0.9321, 1.317, 1.8, 2.39, 3.093",\
                 "0.2561, 0.2757, 0.3456, 0.4795, 0.689, 0.9822, 1.367, 1.851, 2.442, 3.145",\
                 "0.3724, 0.3953, 0.4722, 0.6051, 0.8081, 1.096, 1.478, 1.959, 2.548, 3.25",\
                 "0.5281, 0.5544, 0.6424, 0.797, 1.012, 1.294, 1.669, 2.144, 2.728, 3.426",\
                 "0.728, 0.7589, 0.8586, 1.03, 1.274, 1.582, 1.955, 2.423, 2.998, 3.69",\
                 "0.9715, 1.007, 1.122, 1.314, 1.58, 1.921, 2.33, 2.804, 3.373, 4.054",\
                 "1.261, 1.302, 1.433, 1.65, 1.941, 2.309, 2.755, 3.273, 3.856, 4.532",\
                 "1.598, 1.645, 1.793, 2.036, 2.359, 2.755, 3.232, 3.79, 4.422, 5.123",\
                 "1.984, 2.038, 2.205, 2.476, 2.833, 3.263, 3.77, 4.361, 5.039, 5.792");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1077, 0.119, 0.1592, 0.234, 0.35, 0.5123, 0.7248, 0.9918, 1.32, 1.709",\
                 "0.1066, 0.1182, 0.1587, 0.2347, 0.35, 0.5122, 0.7251, 0.9925, 1.319, 1.708",\
                 "0.1446, 0.1548, 0.1877, 0.2467, 0.3517, 0.5121, 0.7242, 0.9928, 1.319, 1.708",\
                 "0.2159, 0.2291, 0.2729, 0.3458, 0.4439, 0.5654, 0.7424, 0.9937, 1.319, 1.709",\
                 "0.309, 0.3261, 0.38, 0.4678, 0.5866, 0.7334, 0.9044, 1.101, 1.367, 1.72",\
                 "0.4198, 0.4408, 0.5086, 0.6164, 0.7552, 0.9248, 1.123, 1.349, 1.599, 1.886",\
                 "0.5478, 0.5742, 0.6548, 0.7864, 0.9504, 1.145, 1.368, 1.623, 1.909, 2.221",\
                 "0.6958, 0.7256, 0.8228, 0.9748, 1.169, 1.394, 1.647, 1.928, 2.243, 2.593",\
                 "0.8562, 0.8916, 1.008, 1.184, 1.408, 1.666, 1.952, 2.266, 2.611, 2.987",\
                 "1.026, 1.071, 1.209, 1.414, 1.669, 1.964, 2.285, 2.636, 3.013, 3.426");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.3706, 0.4076, 0.5363, 0.7762, 1.143, 1.655, 2.326, 3.171, 4.205, 5.435",\
                 "0.3704, 0.4074, 0.5362, 0.7757, 1.143, 1.655, 2.327, 3.173, 4.202, 5.432",\
                 "0.3756, 0.41, 0.5358, 0.7762, 1.144, 1.655, 2.326, 3.172, 4.205, 5.431",\
                 "0.449, 0.4806, 0.5842, 0.7916, 1.144, 1.655, 2.327, 3.172, 4.206, 5.433",\
                 "0.5342, 0.5682, 0.6864, 0.8964, 1.204, 1.668, 2.327, 3.173, 4.204, 5.436",\
                 "0.6528, 0.6846, 0.8006, 1.024, 1.356, 1.782, 2.371, 3.177, 4.203, 5.435",\
                 "0.8062, 0.838, 0.9482, 1.17, 1.518, 1.98, 2.543, 3.273, 4.23, 5.436",\
                 "0.982, 1.015, 1.131, 1.349, 1.698, 2.185, 2.793, 3.501, 4.383, 5.497",\
                 "1.178, 1.213, 1.338, 1.565, 1.912, 2.402, 3.044, 3.806, 4.675, 5.718",\
                 "1.393, 1.438, 1.564, 1.808, 2.167, 2.655, 3.304, 4.112, 5.032, 6.071");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.07947, 0.08769, 0.1167, 0.1717, 0.2575, 0.3771, 0.5347, 0.7337, 0.9758, 1.265",\
                 "0.0926, 0.1008, 0.13, 0.1853, 0.2713, 0.3913, 0.549, 0.7472, 0.9895, 1.279",\
                 "0.1246, 0.1359, 0.1719, 0.2313, 0.3167, 0.4366, 0.5941, 0.7929, 1.035, 1.324",\
                 "0.1349, 0.1509, 0.2015, 0.2842, 0.3933, 0.5245, 0.6819, 0.8796, 1.122, 1.41",\
                 "0.1154, 0.1367, 0.2031, 0.3099, 0.4494, 0.6161, 0.8064, 1.018, 1.259, 1.547",\
                 "0.0626, 0.0882, 0.1712, 0.3043, 0.4757, 0.6781, 0.9076, 1.163, 1.441, 1.741",\
                 "-0.0266, 0.0047, 0.1034, 0.2618, 0.4667, 0.7069, 0.9769, 1.275, 1.6, 1.95",\
                 "-0.1549, -0.1186, -0.0041, 0.1802, 0.4184, 0.6986, 1.011, 1.354, 1.724, 2.123",\
                 "-0.3248, -0.2838, -0.1531, 0.0572, 0.3274, 0.6464, 1.004, 1.393, 1.813, 2.26",\
                 "-0.539, -0.4933, -0.3462, -0.1111, 0.193, 0.551, 0.9503, 1.389, 1.86, 2.359");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1851, 0.2058, 0.2777, 0.4126, 0.621, 0.9119, 1.295, 1.776, 2.363, 3.063",\
                 "0.1942, 0.2149, 0.2876, 0.4247, 0.6347, 0.9273, 1.31, 1.793, 2.381, 3.082",\
                 "0.2516, 0.2714, 0.3412, 0.4759, 0.6852, 0.9778, 1.362, 1.845, 2.434, 3.136",\
                 "0.362, 0.3858, 0.4636, 0.5979, 0.8015, 1.09, 1.47, 1.952, 2.541, 3.239",\
                 "0.5105, 0.5375, 0.6271, 0.7832, 1.001, 1.284, 1.658, 2.133, 2.717, 3.415",\
                 "0.699, 0.7306, 0.8332, 1.008, 1.254, 1.564, 1.939, 2.406, 2.982, 3.673",\
                 "0.9266, 0.9642, 1.083, 1.28, 1.549, 1.894, 2.304, 2.781, 3.349, 4.032",\
                 "1.194, 1.239, 1.376, 1.6, 1.897, 2.268, 2.717, 3.238, 3.824, 4.5",\
                 "1.506, 1.555, 1.713, 1.965, 2.296, 2.698, 3.178, 3.74, 4.376, 5.079",\
                 "1.86, 1.918, 2.094, 2.377, 2.745, 3.184, 3.697, 4.293, 4.975, 5.734");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1065, 0.1211, 0.1713, 0.2658, 0.4124, 0.6176, 0.8866, 1.227, 1.641, 2.136",\
                 "0.1047, 0.1195, 0.1704, 0.2657, 0.4121, 0.6171, 0.8877, 1.227, 1.641, 2.134",\
                 "0.1437, 0.1567, 0.1989, 0.2755, 0.4119, 0.6179, 0.8865, 1.227, 1.64, 2.133",\
                 "0.2147, 0.2302, 0.2813, 0.3692, 0.4926, 0.6537, 0.8931, 1.226, 1.639, 2.133",\
                 "0.3083, 0.3283, 0.3906, 0.4922, 0.6336, 0.8124, 1.024, 1.294, 1.659, 2.135",\
                 "0.4204, 0.4442, 0.521, 0.6438, 0.8036, 1.002, 1.242, 1.522, 1.839, 2.238",\
                 "0.5496, 0.5786, 0.6716, 0.8188, 1.005, 1.227, 1.488, 1.796, 2.143, 2.53",\
                 "0.6942, 0.7302, 0.8402, 1.012, 1.232, 1.482, 1.772, 2.1, 2.478, 2.901",\
                 "0.8512, 0.8968, 1.029, 1.229, 1.478, 1.765, 2.089, 2.448, 2.848, 3.3",\
                 "1.021, 1.071, 1.228, 1.462, 1.744, 2.074, 2.433, 2.83, 3.264, 3.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2717, 0.3067, 0.4297, 0.6632, 1.028, 1.539, 2.209, 3.058, 4.089, 5.322",\
                 "0.2715, 0.3067, 0.4298, 0.6643, 1.027, 1.538, 2.21, 3.054, 4.088, 5.318",\
                 "0.2763, 0.3085, 0.4291, 0.6627, 1.029, 1.539, 2.21, 3.054, 4.089, 5.319",\
                 "0.3359, 0.3705, 0.4778, 0.6799, 1.029, 1.539, 2.21, 3.059, 4.091, 5.315",\
                 "0.4066, 0.4424, 0.5644, 0.7822, 1.089, 1.551, 2.211, 3.059, 4.093, 5.326",\
                 "0.508, 0.5434, 0.668, 0.8984, 1.237, 1.667, 2.257, 3.059, 4.091, 5.319",\
                 "0.6314, 0.6718, 0.803, 1.037, 1.393, 1.864, 2.432, 3.157, 4.109, 5.324",\
                 "0.772, 0.8178, 0.9634, 1.21, 1.569, 2.065, 2.681, 3.393, 4.27, 5.384",\
                 "0.9336, 0.9822, 1.143, 1.415, 1.785, 2.285, 2.93, 3.698, 4.568, 5.608",\
                 "1.102, 1.162, 1.344, 1.64, 2.035, 2.541, 3.196, 4.005, 4.932, 5.972");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.06851, 0.07511, 0.09819, 0.1419, 0.2097, 0.3048, 0.4299, 0.5878, 0.7799, 1.009",\
                 "0.08246, 0.08914, 0.1123, 0.1562, 0.2243, 0.3195, 0.4447, 0.6026, 0.7946, 1.024",\
                 "0.1109, 0.1209, 0.1529, 0.2049, 0.2743, 0.3695, 0.4944, 0.6524, 0.8442, 1.074",\
                 "0.1145, 0.1291, 0.1753, 0.2494, 0.3463, 0.4609, 0.5908, 0.7478, 0.9396, 1.169",\
                 "0.08542, 0.1049, 0.1668, 0.265, 0.3911, 0.5398, 0.7073, 0.8909, 1.09, 1.318",\
                 "0.0195, 0.0445, 0.1213, 0.2451, 0.4023, 0.5866, 0.7918, 1.018, 1.262, 1.522",\
                 "-0.0849, -0.0556, 0.0371, 0.1846, 0.3746, 0.5957, 0.8404, 1.109, 1.398, 1.706",\
                 "-0.2328, -0.1984, -0.0907, 0.0824, 0.3038, 0.5628, 0.8505, 1.163, 1.496, 1.851",\
                 "-0.4255, -0.387, -0.264, -0.0661, 0.1876, 0.4841, 0.8149, 1.172, 1.554, 1.958",\
                 "-0.6662, -0.6229, -0.4853, -0.2629, 0.0227, 0.3559, 0.728, 1.134, 1.565, 2.018");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1842, 0.2049, 0.2769, 0.4114, 0.6196, 0.9112, 1.294, 1.776, 2.363, 3.064",\
                 "0.1917, 0.2127, 0.285, 0.422, 0.6321, 0.9243, 1.308, 1.79, 2.378, 3.078",\
                 "0.2504, 0.2699, 0.3392, 0.4732, 0.6819, 0.9746, 1.359, 1.842, 2.43, 3.131",\
                 "0.3646, 0.3877, 0.4651, 0.5984, 0.8008, 1.088, 1.468, 1.95, 2.537, 3.235",\
                 "0.5184, 0.5451, 0.634, 0.7886, 1.004, 1.286, 1.66, 2.133, 2.716, 3.413",\
                 "0.7154, 0.7472, 0.8476, 1.02, 1.264, 1.573, 1.945, 2.412, 2.987, 3.676",\
                 "0.9556, 0.9923, 1.109, 1.302, 1.569, 1.91, 2.32, 2.793, 3.359, 4.041",\
                 "1.24, 1.282, 1.417, 1.636, 1.928, 2.296, 2.743, 3.26, 3.843, 4.517",\
                 "1.571, 1.62, 1.772, 2.019, 2.342, 2.74, 3.217, 3.774, 4.407, 5.109",\
                 "1.952, 2.008, 2.179, 2.454, 2.812, 3.243, 3.752, 4.344, 5.021, 5.776");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.08209, 0.09317, 0.1321, 0.2061, 0.3212, 0.4829, 0.6955, 0.9643, 1.292, 1.682",\
                 "0.08186, 0.09286, 0.1319, 0.2059, 0.3212, 0.4828, 0.6956, 0.9641, 1.292, 1.683",\
                 "0.1271, 0.1379, 0.1719, 0.2285, 0.3258, 0.4825, 0.6965, 0.9639, 1.291, 1.683",\
                 "0.1972, 0.2107, 0.2547, 0.3283, 0.4276, 0.5491, 0.7194, 0.9666, 1.291, 1.681",\
                 "0.2871, 0.3049, 0.3606, 0.4502, 0.5694, 0.7162, 0.888, 1.085, 1.343, 1.692",\
                 "0.3938, 0.417, 0.4858, 0.596, 0.7386, 0.907, 1.105, 1.332, 1.582, 1.867",\
                 "0.5194, 0.5472, 0.631, 0.7624, 0.9314, 1.127, 1.351, 1.605, 1.89, 2.205",\
                 "0.6568, 0.6908, 0.7946, 0.9496, 1.148, 1.373, 1.628, 1.908, 2.223, 2.573",\
                 "0.8076, 0.8472, 0.9724, 1.158, 1.383, 1.645, 1.933, 2.25, 2.593, 2.971",\
                 "0.964, 1.015, 1.163, 1.385, 1.644, 1.939, 2.264, 2.616, 2.996, 3.407");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2718, 0.3066, 0.4295, 0.6642, 1.028, 1.539, 2.21, 3.054, 4.087, 5.315",\
                 "0.2716, 0.3067, 0.4298, 0.6643, 1.028, 1.538, 2.211, 3.052, 4.085, 5.32",\
                 "0.2769, 0.3088, 0.4291, 0.6626, 1.028, 1.539, 2.21, 3.057, 4.087, 5.313",\
                 "0.335, 0.3689, 0.4769, 0.6799, 1.028, 1.539, 2.21, 3.056, 4.091, 5.322",\
                 "0.4006, 0.437, 0.5606, 0.7796, 1.087, 1.549, 2.207, 3.057, 4.093, 5.326",\
                 "0.4964, 0.5318, 0.6562, 0.8902, 1.231, 1.663, 2.251, 3.062, 4.089, 5.319",\
                 "0.6156, 0.6546, 0.7844, 1.023, 1.38, 1.854, 2.425, 3.151, 4.113, 5.317",\
                 "0.7548, 0.7976, 0.942, 1.185, 1.546, 2.05, 2.665, 3.385, 4.267, 5.38",\
                 "0.905, 0.9542, 1.115, 1.379, 1.749, 2.257, 2.913, 3.678, 4.552, 5.597",\
                 "1.074, 1.131, 1.307, 1.596, 1.987, 2.498, 3.157, 3.976, 4.905, 5.946");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.06853, 0.07513, 0.09823, 0.1419, 0.2098, 0.3049, 0.4301, 0.5881, 0.7804, 1.01",\
                 "0.08248, 0.08916, 0.1124, 0.1563, 0.2244, 0.3196, 0.4448, 0.6028, 0.7949, 1.024",\
                 "0.1109, 0.1209, 0.153, 0.205, 0.2744, 0.3696, 0.4946, 0.6526, 0.8445, 1.074",\
                 "0.1145, 0.1292, 0.1754, 0.2495, 0.3464, 0.461, 0.591, 0.748, 0.94, 1.169",\
                 "0.08553, 0.105, 0.1669, 0.265, 0.3911, 0.5398, 0.7074, 0.8912, 1.09, 1.319",\
                 "0.0196, 0.0446, 0.1214, 0.2452, 0.4025, 0.5866, 0.792, 1.018, 1.262, 1.522",\
                 "-0.0848, -0.0555, 0.0372, 0.1848, 0.3748, 0.596, 0.8421, 1.109, 1.398, 1.707",\
                 "-0.2326, -0.1982, -0.0905, 0.0826, 0.3041, 0.5604, 0.8508, 1.162, 1.497, 1.853",\
                 "-0.4256, -0.3868, -0.2634, -0.0658, 0.1878, 0.4821, 0.815, 1.172, 1.554, 1.959",\
                 "-0.6659, -0.6227, -0.4849, -0.2626, 0.0233, 0.3563, 0.7289, 1.135, 1.565, 2.02");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1842, 0.2049, 0.2769, 0.4114, 0.6195, 0.9112, 1.294, 1.776, 2.363, 3.064",\
                 "0.1918, 0.2126, 0.2852, 0.4219, 0.6321, 0.9245, 1.308, 1.791, 2.378, 3.08",\
                 "0.2504, 0.2699, 0.3394, 0.4732, 0.682, 0.9742, 1.358, 1.842, 2.43, 3.131",\
                 "0.3644, 0.3877, 0.4652, 0.5984, 0.8009, 1.088, 1.468, 1.949, 2.536, 3.236",\
                 "0.5184, 0.5449, 0.6338, 0.7883, 1.004, 1.286, 1.66, 2.134, 2.716, 3.414",\
                 "0.7154, 0.7471, 0.8479, 1.02, 1.264, 1.573, 1.945, 2.412, 2.987, 3.677",\
                 "0.9556, 0.9918, 1.109, 1.302, 1.568, 1.91, 2.32, 2.793, 3.36, 4.04",\
                 "1.24, 1.282, 1.417, 1.636, 1.928, 2.296, 2.742, 3.26, 3.842, 4.517",\
                 "1.572, 1.62, 1.773, 2.019, 2.343, 2.74, 3.216, 3.775, 4.406, 5.108",\
                 "1.953, 2.007, 2.179, 2.452, 2.814, 3.244, 3.752, 4.344, 5.02, 5.775");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.08213, 0.0932, 0.1322, 0.2062, 0.3211, 0.483, 0.6958, 0.9633, 1.291, 1.683",\
                 "0.0819, 0.0929, 0.1319, 0.206, 0.3213, 0.483, 0.6959, 0.9645, 1.292, 1.683",\
                 "0.1272, 0.1379, 0.1719, 0.2286, 0.3259, 0.4827, 0.6968, 0.9645, 1.292, 1.683",\
                 "0.1973, 0.2109, 0.2549, 0.3283, 0.4279, 0.5491, 0.7198, 0.9669, 1.292, 1.681",\
                 "0.2871, 0.3044, 0.3606, 0.4503, 0.5692, 0.7162, 0.8876, 1.085, 1.345, 1.693",\
                 "0.394, 0.4174, 0.486, 0.5962, 0.7388, 0.9074, 1.106, 1.333, 1.583, 1.868",\
                 "0.5194, 0.547, 0.6312, 0.7626, 0.9314, 1.127, 1.35, 1.605, 1.892, 2.206",\
                 "0.657, 0.6908, 0.7948, 0.9498, 1.148, 1.374, 1.627, 1.911, 2.226, 2.575",\
                 "0.8046, 0.8474, 0.973, 1.158, 1.383, 1.645, 1.933, 2.249, 2.594, 2.972",\
                 "0.964, 1.015, 1.164, 1.385, 1.643, 1.939, 2.265, 2.617, 2.997, 3.404");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2718, 0.3067, 0.4295, 0.6642, 1.028, 1.539, 2.21, 3.052, 4.087, 5.316",\
                 "0.2716, 0.3064, 0.4295, 0.6643, 1.028, 1.538, 2.211, 3.055, 4.086, 5.312",\
                 "0.2766, 0.3088, 0.4291, 0.6627, 1.029, 1.538, 2.212, 3.057, 4.09, 5.314",\
                 "0.335, 0.3689, 0.4774, 0.6799, 1.029, 1.538, 2.209, 3.059, 4.088, 5.319",\
                 "0.4008, 0.4366, 0.5606, 0.78, 1.087, 1.548, 2.209, 3.057, 4.088, 5.323",\
                 "0.4966, 0.5318, 0.6574, 0.8906, 1.231, 1.664, 2.255, 3.062, 4.091, 5.315",\
                 "0.6178, 0.6556, 0.7846, 1.023, 1.38, 1.855, 2.426, 3.152, 4.113, 5.325",\
                 "0.752, 0.7974, 0.942, 1.185, 1.546, 2.05, 2.665, 3.383, 4.263, 5.381",\
                 "0.9052, 0.9552, 1.113, 1.38, 1.748, 2.252, 2.909, 3.677, 4.555, 5.6",\
                 "1.073, 1.132, 1.305, 1.597, 1.986, 2.496, 3.158, 3.971, 4.909, 5.949");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.06465, 0.07076, 0.09199, 0.1324, 0.1953, 0.2833, 0.3991, 0.5448, 0.7233, 0.9357",\
                 "0.07891, 0.08507, 0.1066, 0.1472, 0.2102, 0.2984, 0.4143, 0.5599, 0.7385, 0.9507",\
                 "0.1059, 0.1156, 0.1463, 0.1961, 0.2614, 0.3494, 0.4652, 0.611, 0.789, 1.001",\
                 "0.1073, 0.1215, 0.1661, 0.2378, 0.3307, 0.4403, 0.5635, 0.7091, 0.8864, 1.098",\
                 "0.07503, 0.09406, 0.1541, 0.2494, 0.3716, 0.5145, 0.6753, 0.8512, 1.04, 1.252",\
                 "0.0054, 0.0294, 0.1042, 0.2242, 0.3774, 0.5555, 0.7538, 0.9706, 1.205, 1.453",\
                 "-0.1049, -0.0765, 0.014, 0.1583, 0.3422, 0.5581, 0.7963, 1.054, 1.332, 1.628",\
                 "-0.2591, -0.226, -0.1203, 0.0488, 0.2648, 0.5169, 0.7965, 1.099, 1.422, 1.764",\
                 "-0.4593, -0.422, -0.3016, -0.1079, 0.14, 0.4289, 0.7496, 1.098, 1.468, 1.859",\
                 "-0.7088, -0.6663, -0.5324, -0.3148, -0.0353, 0.2905, 0.6538, 1.047, 1.466, 1.907");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1837, 0.2043, 0.2764, 0.411, 0.6193, 0.9105, 1.292, 1.775, 2.362, 3.062",\
                 "0.1907, 0.2114, 0.2841, 0.4206, 0.6306, 0.9229, 1.306, 1.789, 2.376, 3.079",\
                 "0.25, 0.2695, 0.3387, 0.4722, 0.6806, 0.9725, 1.357, 1.841, 2.428, 3.131",\
                 "0.3655, 0.3887, 0.4656, 0.5986, 0.8007, 1.088, 1.467, 1.948, 2.536, 3.234",\
                 "0.521, 0.5477, 0.636, 0.7908, 1.006, 1.287, 1.66, 2.133, 2.716, 3.413",\
                 "0.7214, 0.7526, 0.8526, 1.025, 1.268, 1.576, 1.948, 2.413, 2.988, 3.677",\
                 "0.9653, 1.002, 1.118, 1.31, 1.576, 1.916, 2.325, 2.798, 3.363, 4.043",\
                 "1.255, 1.298, 1.431, 1.648, 1.939, 2.306, 2.751, 3.267, 3.85, 4.524",\
                 "1.595, 1.643, 1.793, 2.037, 2.359, 2.754, 3.23, 3.787, 4.418, 5.118",\
                 "1.983, 2.038, 2.208, 2.48, 2.838, 3.266, 3.77, 4.362, 5.038, 5.79");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.07523, 0.08549, 0.1212, 0.1891, 0.2956, 0.4442, 0.6403, 0.8882, 1.19, 1.55",\
                 "0.07542, 0.08536, 0.1211, 0.1893, 0.2955, 0.4446, 0.6418, 0.889, 1.191, 1.548",\
                 "0.1221, 0.1321, 0.1641, 0.2163, 0.3026, 0.4445, 0.6412, 0.889, 1.191, 1.551",\
                 "0.1915, 0.2047, 0.246, 0.3157, 0.409, 0.5205, 0.672, 0.8937, 1.188, 1.548",\
                 "0.2799, 0.2973, 0.3505, 0.4363, 0.5494, 0.6872, 0.8486, 1.028, 1.259, 1.57",\
                 "0.386, 0.407, 0.474, 0.5806, 0.716, 0.8762, 1.064, 1.277, 1.511, 1.769",\
                 "0.5078, 0.5354, 0.6178, 0.7448, 0.9064, 1.094, 1.306, 1.547, 1.819, 2.11",\
                 "0.6434, 0.6776, 0.7784, 0.93, 1.121, 1.338, 1.582, 1.848, 2.148, 2.477",\
                 "0.7896, 0.8296, 0.954, 1.135, 1.353, 1.605, 1.881, 2.186, 2.512, 2.869",\
                 "0.9486, 0.9964, 1.14, 1.358, 1.611, 1.894, 2.21, 2.546, 2.913, 3.299");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2718, 0.3066, 0.4303, 0.6642, 1.028, 1.538, 2.211, 3.052, 4.088, 5.323",\
                 "0.272, 0.3063, 0.4298, 0.6643, 1.028, 1.538, 2.211, 3.055, 4.09, 5.312",\
                 "0.2768, 0.309, 0.4294, 0.6629, 1.026, 1.536, 2.209, 3.056, 4.088, 5.318",\
                 "0.3342, 0.3679, 0.477, 0.6787, 1.027, 1.538, 2.212, 3.058, 4.092, 5.316",\
                 "0.3992, 0.4352, 0.559, 0.7784, 1.086, 1.548, 2.209, 3.056, 4.09, 5.325",\
                 "0.4936, 0.5312, 0.654, 0.8868, 1.229, 1.662, 2.253, 3.057, 4.086, 5.323",\
                 "0.6088, 0.6492, 0.7786, 1.014, 1.376, 1.851, 2.421, 3.156, 4.106, 5.323",\
                 "0.7468, 0.7884, 0.9306, 1.175, 1.539, 2.043, 2.66, 3.379, 4.26, 5.376",\
                 "0.8956, 0.9448, 1.103, 1.366, 1.736, 2.244, 2.896, 3.673, 4.544, 5.594",\
                 "1.068, 1.119, 1.292, 1.58, 1.972, 2.48, 3.149, 3.962, 4.895, 5.942");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1141, 0.1239, 0.1575, 0.2185, 0.3096, 0.434, 0.5949, 0.7956, 1.04, 1.33",\
                 "0.1275, 0.1374, 0.171, 0.2322, 0.3234, 0.4479, 0.6089, 0.8098, 1.054, 1.344",\
                 "0.1767, 0.1871, 0.2206, 0.2792, 0.3693, 0.4934, 0.6544, 0.8552, 1.099, 1.389",\
                 "0.2187, 0.2325, 0.2778, 0.3536, 0.4564, 0.5826, 0.742, 0.9422, 1.186, 1.475",\
                 "0.2349, 0.252, 0.309, 0.4044, 0.5333, 0.6916, 0.8748, 1.081, 1.323, 1.612",\
                 "0.2172, 0.2391, 0.3086, 0.425, 0.5811, 0.7715, 0.992, 1.24, 1.512, 1.807",\
                 "0.1633, 0.1886, 0.2713, 0.4099, 0.5956, 0.8196, 1.078, 1.366, 1.683, 2.027",\
                 "0.0703, 0.0994, 0.1943, 0.3546, 0.5712, 0.8305, 1.129, 1.459, 1.82, 2.212",\
                 "-0.0648, -0.0311, 0.0763, 0.2581, 0.5027, 0.8005, 1.138, 1.513, 1.921, 2.359",\
                 "-0.2443, -0.2078, -0.0869, 0.1158, 0.3906, 0.7243, 1.105, 1.525, 1.981, 2.47");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1899, 0.2109, 0.2826, 0.4178, 0.6268, 0.9188, 1.303, 1.785, 2.375, 3.077",\
                 "0.1976, 0.2184, 0.2912, 0.4283, 0.6387, 0.9321, 1.317, 1.8, 2.39, 3.093",\
                 "0.2561, 0.2757, 0.3456, 0.4795, 0.689, 0.9822, 1.367, 1.851, 2.442, 3.145",\
                 "0.3724, 0.3953, 0.4722, 0.6051, 0.8081, 1.096, 1.478, 1.959, 2.548, 3.25",\
                 "0.5281, 0.5544, 0.6424, 0.797, 1.012, 1.294, 1.669, 2.144, 2.728, 3.426",\
                 "0.728, 0.7589, 0.8586, 1.03, 1.274, 1.582, 1.955, 2.423, 2.998, 3.69",\
                 "0.9715, 1.007, 1.122, 1.314, 1.58, 1.921, 2.33, 2.804, 3.373, 4.054",\
                 "1.261, 1.302, 1.433, 1.65, 1.941, 2.309, 2.755, 3.273, 3.856, 4.532",\
                 "1.598, 1.645, 1.793, 2.036, 2.359, 2.755, 3.232, 3.79, 4.422, 5.123",\
                 "1.984, 2.038, 2.205, 2.476, 2.833, 3.263, 3.77, 4.361, 5.039, 5.792");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1668, 0.1826, 0.2369, 0.3362, 0.4856, 0.6919, 0.9619, 1.301, 1.716, 2.208",\
                 "0.1652, 0.1818, 0.2362, 0.3356, 0.4856, 0.6917, 0.9617, 1.301, 1.715, 2.208",\
                 "0.186, 0.1981, 0.242, 0.3321, 0.4817, 0.6911, 0.9611, 1.301, 1.714, 2.207",\
                 "0.2584, 0.2741, 0.3273, 0.4139, 0.5353, 0.7076, 0.9616, 1.3, 1.715, 2.208",\
                 "0.3556, 0.3743, 0.4344, 0.5368, 0.6794, 0.8572, 1.069, 1.348, 1.725, 2.209",\
                 "0.4744, 0.4964, 0.5704, 0.6894, 0.8482, 1.047, 1.288, 1.566, 1.885, 2.292",\
                 "0.6084, 0.637, 0.7264, 0.8666, 1.05, 1.271, 1.533, 1.841, 2.189, 2.572",\
                 "0.7622, 0.7958, 0.899, 1.067, 1.279, 1.528, 1.816, 2.147, 2.525, 2.946",\
                 "0.9356, 0.9746, 1.093, 1.287, 1.529, 1.814, 2.134, 2.491, 2.893, 3.347",\
                 "1.125, 1.172, 1.309, 1.524, 1.802, 2.122, 2.479, 2.874, 3.303, 3.785");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.3884, 0.4274, 0.565, 0.8223, 1.212, 1.744, 2.428, 3.281, 4.315, 5.546",\
                 "0.388, 0.4277, 0.565, 0.8223, 1.212, 1.744, 2.429, 3.281, 4.314, 5.548",\
                 "0.3926, 0.4297, 0.5643, 0.8223, 1.213, 1.744, 2.429, 3.281, 4.315, 5.545",\
                 "0.4748, 0.5055, 0.615, 0.8382, 1.213, 1.744, 2.429, 3.282, 4.316, 5.548",\
                 "0.5748, 0.6094, 0.7336, 0.9506, 1.274, 1.757, 2.429, 3.282, 4.316, 5.547",\
                 "0.716, 0.7478, 0.8674, 1.102, 1.438, 1.876, 2.476, 3.287, 4.316, 5.548",\
                 "0.9046, 0.9346, 1.043, 1.267, 1.622, 2.088, 2.655, 3.387, 4.341, 5.55",\
                 "1.127, 1.156, 1.263, 1.478, 1.826, 2.312, 2.916, 3.623, 4.504, 5.615",\
                 "1.373, 1.404, 1.513, 1.73, 2.069, 2.556, 3.187, 3.941, 4.803, 5.839",\
                 "1.642, 1.673, 1.787, 2.012, 2.355, 2.836, 3.476, 4.265, 5.178, 6.204");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1482, 0.1581, 0.1913, 0.2524, 0.3436, 0.4682, 0.6293, 0.8304, 1.075, 1.365",\
                 "0.1595, 0.1693, 0.2027, 0.2635, 0.3547, 0.4794, 0.6406, 0.8417, 1.086, 1.376",\
                 "0.2078, 0.2173, 0.2488, 0.3082, 0.3987, 0.523, 0.684, 0.885, 1.129, 1.419",\
                 "0.2638, 0.2765, 0.318, 0.3893, 0.4876, 0.6116, 0.7711, 0.9715, 1.215, 1.504",\
                 "0.2979, 0.3133, 0.3648, 0.4534, 0.5766, 0.7291, 0.9074, 1.111, 1.353, 1.641",\
                 "0.3043, 0.3227, 0.3857, 0.4933, 0.6407, 0.8221, 1.036, 1.277, 1.544, 1.838",\
                 "0.2812, 0.3034, 0.3772, 0.5033, 0.6757, 0.8883, 1.135, 1.415, 1.726, 2.064",\
                 "0.2279, 0.2531, 0.3372, 0.4821, 0.6799, 0.9246, 1.208, 1.526, 1.876, 2.26",\
                 "0.1434, 0.1715, 0.2654, 0.4281, 0.6513, 0.927, 1.247, 1.605, 1.998, 2.425",\
                 "0.0271, 0.0576, 0.1612, 0.3398, 0.5883, 0.8954, 1.251, 1.649, 2.087, 2.559");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2338, 0.2547, 0.3261, 0.4611, 0.6697, 0.9617, 1.345, 1.828, 2.417, 3.12",\
                 "0.2439, 0.2653, 0.3383, 0.4753, 0.6859, 0.9794, 1.364, 1.847, 2.437, 3.14",\
                 "0.2822, 0.3029, 0.3751, 0.5119, 0.7231, 1.018, 1.404, 1.888, 2.479, 3.182",\
                 "0.3529, 0.3753, 0.4521, 0.5898, 0.7975, 1.089, 1.473, 1.957, 2.547, 3.25",\
                 "0.463, 0.4871, 0.5684, 0.7146, 0.9314, 1.219, 1.597, 2.076, 2.662, 3.362",\
                 "0.6091, 0.6373, 0.729, 0.8854, 1.111, 1.413, 1.794, 2.264, 2.844, 3.537",\
                 "0.7865, 0.8191, 0.9241, 1.1, 1.34, 1.654, 2.05, 2.531, 3.103, 3.787",\
                 "0.993, 1.031, 1.151, 1.349, 1.615, 1.947, 2.355, 2.853, 3.441, 4.123",\
                 "1.23, 1.273, 1.409, 1.632, 1.927, 2.287, 2.717, 3.229, 3.835, 4.537",\
                 "1.499, 1.548, 1.7, 1.949, 2.276, 2.67, 3.13, 3.662, 4.283, 5.005");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.205, 0.2205, 0.2746, 0.3735, 0.5235, 0.7303, 1, 1.341, 1.754, 2.248",\
                 "0.2045, 0.2203, 0.2744, 0.3737, 0.523, 0.7305, 1, 1.341, 1.755, 2.247",\
                 "0.2105, 0.224, 0.2729, 0.3693, 0.5219, 0.7292, 1, 1.339, 1.755, 2.247",\
                 "0.2892, 0.3051, 0.3555, 0.4422, 0.5626, 0.7423, 1, 1.34, 1.755, 2.246",\
                 "0.3913, 0.4086, 0.469, 0.5692, 0.7092, 0.8842, 1.097, 1.383, 1.764, 2.247",\
                 "0.517, 0.5402, 0.6088, 0.725, 0.881, 1.08, 1.316, 1.591, 1.914, 2.326",\
                 "0.6674, 0.6924, 0.7758, 0.9088, 1.085, 1.302, 1.563, 1.867, 2.216, 2.598",\
                 "0.8382, 0.8692, 0.9666, 1.121, 1.322, 1.563, 1.843, 2.171, 2.549, 2.97",\
                 "1.032, 1.069, 1.181, 1.36, 1.587, 1.857, 2.167, 2.518, 2.916, 3.368",\
                 "1.251, 1.294, 1.421, 1.625, 1.882, 2.184, 2.523, 2.902, 3.326, 3.8");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.3887, 0.4281, 0.5653, 0.8223, 1.212, 1.744, 2.429, 3.282, 4.316, 5.546",\
                 "0.3889, 0.4285, 0.565, 0.8223, 1.212, 1.744, 2.429, 3.28, 4.316, 5.544",\
                 "0.3966, 0.4331, 0.5661, 0.8226, 1.212, 1.744, 2.429, 3.281, 4.315, 5.546",\
                 "0.4682, 0.501, 0.614, 0.8426, 1.215, 1.745, 2.429, 3.282, 4.316, 5.547",\
                 "0.5678, 0.5986, 0.7126, 0.9338, 1.272, 1.764, 2.431, 3.282, 4.316, 5.548",\
                 "0.724, 0.7482, 0.8448, 1.055, 1.392, 1.859, 2.483, 3.295, 4.317, 5.548",\
                 "0.9206, 0.9444, 1.034, 1.221, 1.541, 2.008, 2.614, 3.385, 4.356, 5.554",\
                 "1.145, 1.168, 1.261, 1.442, 1.741, 2.186, 2.795, 3.554, 4.486, 5.631",\
                 "1.386, 1.411, 1.503, 1.695, 1.992, 2.415, 3.004, 3.768, 4.695, 5.803",\
                 "1.642, 1.669, 1.767, 1.97, 2.283, 2.703, 3.268, 4.012, 4.946, 6.054");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1352, 0.1443, 0.1758, 0.2337, 0.3219, 0.4438, 0.6028, 0.8022, 1.045, 1.334",\
                 "0.1464, 0.1555, 0.1869, 0.2449, 0.3332, 0.4551, 0.614, 0.8135, 1.056, 1.345",\
                 "0.1916, 0.2011, 0.2322, 0.2892, 0.377, 0.4986, 0.6575, 0.8568, 1.1, 1.388",\
                 "0.2356, 0.2485, 0.2908, 0.3634, 0.4628, 0.5869, 0.7447, 0.9433, 1.185, 1.474",\
                 "0.2567, 0.2726, 0.3261, 0.4175, 0.5422, 0.6974, 0.8781, 1.082, 1.324, 1.611",\
                 "0.2497, 0.2695, 0.3348, 0.4459, 0.5969, 0.7822, 0.9985, 1.243, 1.513, 1.807",\
                 "0.2142, 0.2379, 0.3143, 0.4457, 0.623, 0.841, 1.091, 1.375, 1.688, 2.029",\
                 "0.1493, 0.1757, 0.2633, 0.4139, 0.6186, 0.8683, 1.157, 1.478, 1.833, 2.22",\
                 "0.0544, 0.0834, 0.1812, 0.3495, 0.5804, 0.8633, 1.188, 1.552, 1.949, 2.379",\
                 "-0.0744, -0.0422, 0.0667, 0.2526, 0.5068, 0.8234, 1.186, 1.59, 2.032, 2.508");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2341, 0.2547, 0.3262, 0.4609, 0.6698, 0.9617, 1.345, 1.828, 2.417, 3.119",\
                 "0.2439, 0.2653, 0.3383, 0.4756, 0.6859, 0.9793, 1.364, 1.848, 2.437, 3.139",\
                 "0.2822, 0.3029, 0.3751, 0.5116, 0.7233, 1.018, 1.404, 1.888, 2.479, 3.182",\
                 "0.3526, 0.3753, 0.4523, 0.5898, 0.7975, 1.089, 1.473, 1.957, 2.547, 3.25",\
                 "0.463, 0.4871, 0.5683, 0.7146, 0.9314, 1.219, 1.597, 2.076, 2.662, 3.362",\
                 "0.6093, 0.6373, 0.7289, 0.8854, 1.111, 1.413, 1.794, 2.264, 2.843, 3.537",\
                 "0.7862, 0.819, 0.924, 1.099, 1.341, 1.654, 2.05, 2.531, 3.103, 3.787",\
                 "0.9929, 1.031, 1.15, 1.349, 1.615, 1.947, 2.356, 2.854, 3.441, 4.123",\
                 "1.23, 1.272, 1.409, 1.632, 1.927, 2.287, 2.716, 3.229, 3.834, 4.536",\
                 "1.499, 1.547, 1.699, 1.949, 2.276, 2.67, 3.13, 3.662, 4.283, 5.004");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1788, 0.1939, 0.2448, 0.3415, 0.489, 0.695, 0.9648, 1.305, 1.719, 2.211",\
                 "0.1778, 0.1935, 0.2447, 0.3414, 0.4892, 0.6949, 0.9646, 1.304, 1.719, 2.21",\
                 "0.1932, 0.2058, 0.2503, 0.3401, 0.4883, 0.6941, 0.9641, 1.304, 1.718, 2.211",\
                 "0.2714, 0.2871, 0.3372, 0.4225, 0.5424, 0.715, 0.9661, 1.304, 1.719, 2.21",\
                 "0.3748, 0.3929, 0.4503, 0.5498, 0.6882, 0.8648, 1.076, 1.356, 1.729, 2.212",\
                 "0.5008, 0.523, 0.5924, 0.706, 0.8618, 1.058, 1.295, 1.57, 1.891, 2.298",\
                 "0.6492, 0.6762, 0.7578, 0.8928, 1.066, 1.281, 1.541, 1.846, 2.193, 2.577",\
                 "0.8202, 0.8504, 0.9488, 1.104, 1.305, 1.544, 1.823, 2.151, 2.529, 2.949",\
                 "1.015, 1.049, 1.162, 1.341, 1.573, 1.84, 2.146, 2.496, 2.894, 3.346",\
                 "1.232, 1.275, 1.404, 1.605, 1.862, 2.167, 2.505, 2.885, 3.306, 3.78");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.3712, 0.4084, 0.5364, 0.7756, 1.144, 1.654, 2.326, 3.171, 4.205, 5.433",\
                 "0.3714, 0.4081, 0.5362, 0.776, 1.143, 1.655, 2.326, 3.172, 4.205, 5.433",\
                 "0.3789, 0.4128, 0.5375, 0.7759, 1.143, 1.654, 2.327, 3.171, 4.205, 5.431",\
                 "0.4446, 0.4759, 0.583, 0.7962, 1.146, 1.655, 2.327, 3.172, 4.204, 5.436",\
                 "0.533, 0.5624, 0.6702, 0.8806, 1.202, 1.675, 2.328, 3.173, 4.206, 5.435",\
                 "0.6698, 0.695, 0.7896, 0.9892, 1.315, 1.769, 2.381, 3.185, 4.206, 5.434",\
                 "0.8348, 0.8606, 0.9556, 1.141, 1.452, 1.91, 2.511, 3.275, 4.244, 5.444",\
                 "1.018, 1.046, 1.15, 1.341, 1.64, 2.079, 2.683, 3.443, 4.374, 5.52",\
                 "1.216, 1.248, 1.36, 1.567, 1.875, 2.299, 2.887, 3.652, 4.582, 5.689",\
                 "1.426, 1.463, 1.585, 1.811, 2.141, 2.575, 3.144, 3.892, 4.828, 5.937");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1098, 0.1173, 0.1426, 0.189, 0.2594, 0.3565, 0.483, 0.6416, 0.8345, 1.064",\
                 "0.1226, 0.1299, 0.1551, 0.2015, 0.272, 0.3691, 0.4956, 0.6542, 0.8472, 1.077",\
                 "0.1687, 0.1771, 0.2043, 0.251, 0.3207, 0.4175, 0.5439, 0.7023, 0.8953, 1.125",\
                 "0.2046, 0.2162, 0.2544, 0.3186, 0.4066, 0.5128, 0.6396, 0.7977, 0.9899, 1.219",\
                 "0.2138, 0.2288, 0.2779, 0.3614, 0.4737, 0.611, 0.7695, 0.9459, 1.141, 1.369",\
                 "0.1917, 0.2106, 0.2715, 0.3743, 0.5125, 0.6801, 0.8728, 1.089, 1.324, 1.578",\
                 "0.1372, 0.1593, 0.2317, 0.3537, 0.5178, 0.7176, 0.9459, 1.199, 1.477, 1.776",\
                 "0.0497, 0.0746, 0.1572, 0.2967, 0.4881, 0.7199, 0.9843, 1.277, 1.596, 1.939",\
                 "-0.0735, -0.0454, 0.0478, 0.2045, 0.4208, 0.6839, 0.985, 1.319, 1.68, 2.067",\
                 "-0.2337, -0.2028, -0.1, 0.0757, 0.3143, 0.6088, 0.9465, 1.319, 1.725, 2.159");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2332, 0.2537, 0.3253, 0.4601, 0.669, 0.9609, 1.344, 1.827, 2.417, 3.119",\
                 "0.2418, 0.263, 0.3359, 0.4729, 0.6836, 0.9768, 1.361, 1.845, 2.434, 3.137",\
                 "0.2805, 0.3011, 0.3729, 0.509, 0.72, 1.014, 1.4, 1.885, 2.476, 3.179",\
                 "0.3538, 0.376, 0.4522, 0.5894, 0.7959, 1.087, 1.47, 1.954, 2.543, 3.246",\
                 "0.4702, 0.4947, 0.574, 0.719, 0.934, 1.221, 1.598, 2.076, 2.661, 3.36",\
                 "0.6272, 0.6547, 0.7448, 0.8984, 1.122, 1.422, 1.8, 2.269, 2.847, 3.539",\
                 "0.818, 0.8505, 0.9528, 1.125, 1.362, 1.673, 2.067, 2.545, 3.114, 3.797",\
                 "1.043, 1.08, 1.197, 1.391, 1.652, 1.979, 2.385, 2.88, 3.463, 4.143",\
                 "1.302, 1.344, 1.477, 1.695, 1.985, 2.338, 2.762, 3.27, 3.872, 4.569",\
                 "1.599, 1.646, 1.794, 2.038, 2.357, 2.745, 3.196, 3.722, 4.339, 5.054");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.136, 0.1473, 0.1883, 0.2639, 0.3809, 0.5434, 0.7563, 1.024, 1.351, 1.74",\
                 "0.1345, 0.1468, 0.1879, 0.2641, 0.3805, 0.5432, 0.7565, 1.023, 1.351, 1.74",\
                 "0.1652, 0.1749, 0.2064, 0.2707, 0.3807, 0.5433, 0.7561, 1.024, 1.351, 1.74",\
                 "0.2443, 0.2571, 0.2993, 0.3694, 0.465, 0.588, 0.7695, 1.024, 1.351, 1.74",\
                 "0.3454, 0.3609, 0.4125, 0.4972, 0.6126, 0.7564, 0.9248, 1.124, 1.394, 1.748",\
                 "0.4672, 0.4872, 0.5502, 0.6516, 0.7862, 0.9508, 1.146, 1.37, 1.617, 1.908",\
                 "0.6114, 0.6354, 0.7114, 0.8322, 0.987, 1.174, 1.393, 1.645, 1.929, 2.241",\
                 "0.779, 0.8074, 0.8956, 1.039, 1.216, 1.43, 1.675, 1.949, 2.262, 2.608",\
                 "0.971, 1.005, 1.107, 1.269, 1.476, 1.716, 1.989, 2.29, 2.628, 3.006",\
                 "1.184, 1.225, 1.347, 1.527, 1.763, 2.036, 2.338, 2.673, 3.037, 3.439");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.3712, 0.4082, 0.5359, 0.7763, 1.144, 1.654, 2.327, 3.172, 4.205, 5.434",\
                 "0.3714, 0.4081, 0.5359, 0.7756, 1.143, 1.655, 2.326, 3.172, 4.205, 5.436",\
                 "0.3793, 0.4133, 0.5374, 0.7757, 1.143, 1.655, 2.326, 3.172, 4.204, 5.434",\
                 "0.4437, 0.4755, 0.5832, 0.7964, 1.146, 1.655, 2.326, 3.172, 4.204, 5.436",\
                 "0.5284, 0.558, 0.6666, 0.8784, 1.202, 1.675, 2.328, 3.172, 4.203, 5.435",\
                 "0.6584, 0.684, 0.78, 0.9806, 1.31, 1.766, 2.378, 3.184, 4.204, 5.435",\
                 "0.819, 0.8452, 0.9392, 1.125, 1.439, 1.901, 2.505, 3.272, 4.242, 5.443",\
                 "0.9988, 1.027, 1.127, 1.317, 1.614, 2.061, 2.671, 3.434, 4.367, 5.517",\
                 "1.197, 1.228, 1.335, 1.539, 1.839, 2.268, 2.862, 3.633, 4.567, 5.68",\
                 "1.408, 1.44, 1.558, 1.778, 2.102, 2.532, 3.103, 3.858, 4.8, 5.92");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1048, 0.1139, 0.1448, 0.202, 0.2893, 0.4104, 0.5688, 0.7679, 1.01, 1.299",\
                 "0.1161, 0.1251, 0.156, 0.2132, 0.3006, 0.4216, 0.5801, 0.7792, 1.022, 1.311",\
                 "0.1566, 0.167, 0.2005, 0.2577, 0.3444, 0.4653, 0.6235, 0.8224, 1.065, 1.354",\
                 "0.1847, 0.1996, 0.2454, 0.3225, 0.4265, 0.5534, 0.7109, 0.9088, 1.151, 1.439",\
                 "0.1896, 0.208, 0.2666, 0.365, 0.496, 0.6556, 0.8406, 1.048, 1.289, 1.576",\
                 "0.1677, 0.1896, 0.2618, 0.3814, 0.5402, 0.732, 0.9535, 1.202, 1.476, 1.772",\
                 "0.1172, 0.1431, 0.2274, 0.3686, 0.5555, 0.7815, 1.039, 1.327, 1.645, 1.989",\
                 "0.0385, 0.068, 0.164, 0.3248, 0.5406, 0.8006, 1.096, 1.425, 1.784, 2.175",\
                 "-0.0713, -0.0376, 0.0704, 0.2502, 0.4918, 0.7858, 1.12, 1.491, 1.894, 2.329",\
                 "-0.2132, -0.177, -0.0563, 0.1426, 0.4107, 0.7374, 1.109, 1.522, 1.971, 2.452");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.228, 0.2486, 0.32, 0.4548, 0.6626, 0.9533, 1.336, 1.818, 2.406, 3.105",\
                 "0.2379, 0.2592, 0.3323, 0.4694, 0.6791, 0.9713, 1.354, 1.837, 2.425, 3.127",\
                 "0.2762, 0.2971, 0.3686, 0.5052, 0.7158, 1.01, 1.395, 1.879, 2.469, 3.169",\
                 "0.3455, 0.3684, 0.4452, 0.5831, 0.7899, 1.081, 1.464, 1.946, 2.535, 3.236",\
                 "0.4541, 0.479, 0.5606, 0.7067, 0.9235, 1.211, 1.588, 2.066, 2.65, 3.349",\
                 "0.5981, 0.6267, 0.7192, 0.8764, 1.102, 1.404, 1.784, 2.253, 2.831, 3.524",\
                 "0.7717, 0.8052, 0.9119, 1.089, 1.33, 1.644, 2.039, 2.519, 3.09, 3.772",\
                 "0.974, 1.013, 1.136, 1.336, 1.603, 1.935, 2.344, 2.841, 3.427, 4.108",\
                 "1.206, 1.25, 1.39, 1.616, 1.913, 2.274, 2.703, 3.214, 3.819, 4.521",\
                 "1.471, 1.52, 1.676, 1.928, 2.259, 2.654, 3.115, 3.647, 4.267, 4.987");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1457, 0.1602, 0.2109, 0.3061, 0.4529, 0.658, 0.9271, 1.267, 1.681, 2.174",\
                 "0.144, 0.159, 0.2102, 0.3059, 0.4527, 0.6579, 0.9274, 1.267, 1.681, 2.173",\
                 "0.1732, 0.1859, 0.2266, 0.3088, 0.4513, 0.6573, 0.9271, 1.266, 1.68, 2.174",\
                 "0.2505, 0.2662, 0.315, 0.4005, 0.5199, 0.687, 0.9318, 1.267, 1.681, 2.174",\
                 "0.3534, 0.3716, 0.4296, 0.5276, 0.6646, 0.8412, 1.053, 1.327, 1.696, 2.174",\
                 "0.4774, 0.4996, 0.571, 0.6846, 0.838, 1.033, 1.271, 1.548, 1.867, 2.27",\
                 "0.622, 0.6494, 0.7336, 0.8694, 1.046, 1.26, 1.518, 1.824, 2.17, 2.556",\
                 "0.7878, 0.8204, 0.9208, 1.081, 1.281, 1.522, 1.802, 2.127, 2.503, 2.926",\
                 "0.9792, 1.014, 1.131, 1.315, 1.549, 1.819, 2.125, 2.474, 2.871, 3.321",\
                 "1.189, 1.235, 1.367, 1.575, 1.839, 2.144, 2.483, 2.863, 3.281, 3.757");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2721, 0.3074, 0.4297, 0.6638, 1.027, 1.536, 2.21, 3.051, 4.087, 5.321",\
                 "0.2727, 0.3071, 0.43, 0.6642, 1.028, 1.537, 2.21, 3.051, 4.09, 5.316",\
                 "0.2799, 0.3117, 0.431, 0.6639, 1.028, 1.535, 2.208, 3.055, 4.09, 5.314",\
                 "0.3337, 0.3659, 0.4755, 0.6842, 1.031, 1.539, 2.21, 3.058, 4.09, 5.317",\
                 "0.4078, 0.4376, 0.5482, 0.7614, 1.086, 1.556, 2.212, 3.056, 4.084, 5.314",\
                 "0.5198, 0.55, 0.6554, 0.8608, 1.19, 1.65, 2.262, 3.071, 4.092, 5.316",\
                 "0.6512, 0.685, 0.7986, 1.002, 1.319, 1.785, 2.391, 3.156, 4.127, 5.324",\
                 "0.7998, 0.8372, 0.9628, 1.183, 1.5, 1.949, 2.557, 3.323, 4.254, 5.402",\
                 "0.9596, 1.002, 1.145, 1.385, 1.722, 2.16, 2.757, 3.524, 4.461, 5.568",\
                 "1.131, 1.18, 1.34, 1.605, 1.972, 2.43, 3.007, 3.755, 4.706, 5.818");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.08687, 0.09405, 0.1188, 0.1645, 0.234, 0.3303, 0.4561, 0.6141, 0.8067, 1.036",\
                 "0.09964, 0.1069, 0.1315, 0.1771, 0.2466, 0.3429, 0.4687, 0.6268, 0.8194, 1.049",\
                 "0.1384, 0.1476, 0.1771, 0.2262, 0.2953, 0.3913, 0.517, 0.6749, 0.8674, 1.097",\
                 "0.1591, 0.1721, 0.2139, 0.2828, 0.3747, 0.4852, 0.6131, 0.7702, 0.9623, 1.191",\
                 "0.1518, 0.1693, 0.2238, 0.314, 0.4321, 0.5744, 0.7368, 0.9165, 1.113, 1.342",\
                 "0.115, 0.1361, 0.2033, 0.3144, 0.4606, 0.6346, 0.8327, 1.052, 1.291, 1.548",\
                 "0.0467, 0.0711, 0.1501, 0.2817, 0.4559, 0.6631, 0.8978, 1.156, 1.438, 1.74",\
                 "-0.055, -0.0272, 0.064, 0.214, 0.4159, 0.6564, 0.9285, 1.227, 1.551, 1.898",\
                 "-0.1919, -0.1606, -0.0581, 0.1114, 0.3381, 0.6126, 0.9222, 1.262, 1.629, 2.021",\
                 "-0.3667, -0.3311, -0.2181, -0.0283, 0.2234, 0.5281, 0.8743, 1.257, 1.668, 2.107");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2273, 0.2479, 0.3195, 0.4538, 0.662, 0.9531, 1.335, 1.817, 2.405, 3.105",\
                 "0.236, 0.2568, 0.3298, 0.4666, 0.6765, 0.9686, 1.352, 1.834, 2.423, 3.124",\
                 "0.2745, 0.2952, 0.3666, 0.5024, 0.7125, 1.007, 1.391, 1.876, 2.464, 3.165",\
                 "0.3465, 0.369, 0.4452, 0.5827, 0.7884, 1.078, 1.461, 1.942, 2.532, 3.232",\
                 "0.462, 0.4857, 0.5666, 0.7114, 0.9263, 1.213, 1.589, 2.065, 2.648, 3.346",\
                 "0.6165, 0.644, 0.7351, 0.8897, 1.113, 1.413, 1.79, 2.258, 2.834, 3.526",\
                 "0.8043, 0.8371, 0.9412, 1.114, 1.353, 1.663, 2.056, 2.533, 3.101, 3.783",\
                 "1.025, 1.062, 1.182, 1.379, 1.641, 1.968, 2.373, 2.867, 3.45, 4.128",\
                 "1.28, 1.323, 1.458, 1.68, 1.971, 2.326, 2.75, 3.256, 3.857, 4.555",\
                 "1.572, 1.619, 1.772, 2.018, 2.341, 2.73, 3.182, 3.707, 4.323, 5.038");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1107, 0.1221, 0.1617, 0.2368, 0.3522, 0.5138, 0.7259, 0.9933, 1.32, 1.708",\
                 "0.1093, 0.1211, 0.1611, 0.2365, 0.3522, 0.5138, 0.7263, 0.9934, 1.32, 1.709",\
                 "0.1509, 0.1607, 0.1926, 0.2507, 0.3538, 0.5138, 0.7265, 0.9933, 1.32, 1.709",\
                 "0.228, 0.241, 0.2825, 0.3531, 0.4493, 0.5702, 0.7463, 0.9958, 1.321, 1.709",\
                 "0.3277, 0.3439, 0.3965, 0.4802, 0.5958, 0.7392, 0.9088, 1.106, 1.37, 1.721",\
                 "0.447, 0.4684, 0.532, 0.6348, 0.7684, 0.9328, 1.13, 1.353, 1.601, 1.889",\
                 "0.5928, 0.6138, 0.6906, 0.8142, 0.9696, 1.157, 1.375, 1.628, 1.911, 2.223",\
                 "0.7548, 0.7836, 0.876, 1.017, 1.202, 1.413, 1.656, 1.931, 2.244, 2.59",\
                 "0.9414, 0.975, 1.087, 1.248, 1.457, 1.701, 1.971, 2.273, 2.614, 2.986",\
                 "1.144, 1.186, 1.318, 1.509, 1.744, 2.017, 2.317, 2.655, 3.021, 3.423");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2721, 0.3074, 0.4296, 0.6641, 1.028, 1.538, 2.211, 3.056, 4.088, 5.32",\
                 "0.2725, 0.307, 0.43, 0.663, 1.028, 1.537, 2.21, 3.056, 4.09, 5.316",\
                 "0.2804, 0.3122, 0.4308, 0.6627, 1.026, 1.537, 2.207, 3.057, 4.084, 5.313",\
                 "0.3327, 0.3653, 0.4754, 0.6842, 1.03, 1.537, 2.211, 3.055, 4.085, 5.315",\
                 "0.4034, 0.4346, 0.5444, 0.7594, 1.085, 1.558, 2.21, 3.053, 4.089, 5.316",\
                 "0.5112, 0.5412, 0.6462, 0.8522, 1.187, 1.647, 2.262, 3.069, 4.092, 5.319",\
                 "0.639, 0.6726, 0.7858, 0.986, 1.308, 1.776, 2.385, 3.152, 4.121, 5.318",\
                 "0.7844, 0.8222, 0.9458, 1.162, 1.474, 1.928, 2.546, 3.313, 4.247, 5.392",\
                 "0.944, 0.9858, 1.125, 1.358, 1.688, 2.129, 2.729, 3.509, 4.448, 5.558",\
                 "1.117, 1.163, 1.317, 1.576, 1.93, 2.388, 2.964, 3.729, 4.679, 5.8");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.08689, 0.09414, 0.1189, 0.1646, 0.2342, 0.3305, 0.4564, 0.6145, 0.8073, 1.037",\
                 "0.0997, 0.1069, 0.1315, 0.1772, 0.2468, 0.3431, 0.4691, 0.6272, 0.8199, 1.049",\
                 "0.1385, 0.1477, 0.1773, 0.2263, 0.2955, 0.3915, 0.5173, 0.6753, 0.868, 1.097",\
                 "0.1592, 0.1722, 0.2141, 0.283, 0.3748, 0.4853, 0.6134, 0.7704, 0.9626, 1.191",\
                 "0.1524, 0.1694, 0.224, 0.3136, 0.4325, 0.5747, 0.7372, 0.917, 1.114, 1.342",\
                 "0.1149, 0.1363, 0.2037, 0.3147, 0.4608, 0.6349, 0.8329, 1.053, 1.292, 1.548",\
                 "0.047, 0.0714, 0.1503, 0.2824, 0.4563, 0.6635, 0.8982, 1.157, 1.439, 1.741",\
                 "-0.0546, -0.0268, 0.0644, 0.2145, 0.4164, 0.6567, 0.9292, 1.228, 1.552, 1.899",\
                 "-0.1913, -0.1601, -0.0576, 0.1119, 0.3387, 0.6134, 0.9229, 1.263, 1.63, 2.022",\
                 "-0.366, -0.3305, -0.2175, -0.0282, 0.2243, 0.5282, 0.8751, 1.258, 1.669, 2.109");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2273, 0.2479, 0.3191, 0.4538, 0.6618, 0.9526, 1.335, 1.817, 2.407, 3.105",\
                 "0.2358, 0.2569, 0.3299, 0.4667, 0.6766, 0.9685, 1.352, 1.834, 2.425, 3.123",\
                 "0.2746, 0.2952, 0.3664, 0.5025, 0.7125, 1.007, 1.392, 1.876, 2.464, 3.165",\
                 "0.3465, 0.3689, 0.4451, 0.5825, 0.7884, 1.079, 1.461, 1.943, 2.531, 3.232",\
                 "0.4616, 0.4858, 0.5665, 0.7113, 0.9259, 1.213, 1.588, 2.065, 2.649, 3.347",\
                 "0.6162, 0.6439, 0.735, 0.8896, 1.113, 1.413, 1.79, 2.259, 2.834, 3.526",\
                 "0.8038, 0.837, 0.9411, 1.114, 1.353, 1.663, 2.056, 2.533, 3.101, 3.782",\
                 "1.024, 1.062, 1.182, 1.378, 1.641, 1.968, 2.373, 2.866, 3.45, 4.128",\
                 "1.28, 1.323, 1.458, 1.679, 1.971, 2.326, 2.749, 3.255, 3.857, 4.554",\
                 "1.57, 1.619, 1.771, 2.018, 2.341, 2.728, 3.182, 3.707, 4.323, 5.038");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.111, 0.1225, 0.162, 0.2367, 0.3525, 0.5142, 0.7267, 0.9937, 1.321, 1.71",\
                 "0.1094, 0.1212, 0.1616, 0.2367, 0.3521, 0.5143, 0.7271, 0.9946, 1.321, 1.71",\
                 "0.1506, 0.1608, 0.1931, 0.2505, 0.3539, 0.5144, 0.7266, 0.9947, 1.321, 1.71",\
                 "0.2281, 0.241, 0.2825, 0.3537, 0.4494, 0.5704, 0.7469, 0.9959, 1.321, 1.71",\
                 "0.3286, 0.3438, 0.3958, 0.481, 0.5958, 0.7396, 0.909, 1.106, 1.372, 1.722",\
                 "0.447, 0.4686, 0.5336, 0.635, 0.7696, 0.933, 1.13, 1.354, 1.603, 1.891",\
                 "0.5928, 0.614, 0.6906, 0.8144, 0.9698, 1.157, 1.375, 1.629, 1.913, 2.224",\
                 "0.755, 0.7838, 0.8764, 1.017, 1.2, 1.413, 1.657, 1.933, 2.244, 2.594",\
                 "0.94, 0.9752, 1.087, 1.248, 1.457, 1.702, 1.971, 2.275, 2.61, 2.987",\
                 "1.144, 1.187, 1.319, 1.511, 1.742, 2.015, 2.318, 2.655, 3.022, 3.425");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2729, 0.3074, 0.4298, 0.6642, 1.027, 1.537, 2.207, 3.052, 4.09, 5.321",\
                 "0.2723, 0.3072, 0.4295, 0.6629, 1.029, 1.536, 2.209, 3.051, 4.09, 5.318",\
                 "0.2805, 0.3122, 0.4311, 0.6627, 1.026, 1.538, 2.211, 3.056, 4.092, 5.321",\
                 "0.3325, 0.3656, 0.4757, 0.6842, 1.031, 1.539, 2.211, 3.057, 4.092, 5.315",\
                 "0.4034, 0.4344, 0.5454, 0.7596, 1.085, 1.556, 2.211, 3.053, 4.084, 5.318",\
                 "0.5102, 0.541, 0.6462, 0.8532, 1.186, 1.647, 2.262, 3.069, 4.091, 5.316",\
                 "0.6408, 0.6728, 0.7858, 0.9872, 1.309, 1.779, 2.385, 3.152, 4.124, 5.328",\
                 "0.7858, 0.823, 0.9452, 1.161, 1.474, 1.93, 2.544, 3.314, 4.247, 5.4",\
                 "0.9438, 0.9866, 1.125, 1.359, 1.688, 2.13, 2.729, 3.511, 4.447, 5.558",\
                 "1.116, 1.162, 1.317, 1.576, 1.929, 2.383, 2.965, 3.729, 4.679, 5.799");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.08091, 0.08766, 0.1106, 0.153, 0.2175, 0.3066, 0.4231, 0.5694, 0.7476, 0.9598",\
                 "0.09435, 0.1009, 0.1238, 0.1661, 0.2305, 0.3197, 0.4362, 0.5825, 0.7607, 0.9729",\
                 "0.1321, 0.1409, 0.1692, 0.216, 0.2806, 0.3694, 0.4857, 0.6319, 0.81, 1.022",\
                 "0.15, 0.1625, 0.2031, 0.2697, 0.3579, 0.4635, 0.584, 0.7296, 0.9073, 1.119",\
                 "0.1392, 0.1559, 0.209, 0.2966, 0.4108, 0.5477, 0.7034, 0.8753, 1.062, 1.273",\
                 "0.0971, 0.1177, 0.1834, 0.2917, 0.4334, 0.6019, 0.7929, 1.004, 1.233, 1.478",\
                 "0.0228, 0.0466, 0.1237, 0.2526, 0.4218, 0.6237, 0.8511, 1.1, 1.371, 1.661",\
                 "-0.0873, -0.0594, 0.0298, 0.1765, 0.3732, 0.608, 0.8723, 1.162, 1.475, 1.808",\
                 "-0.2332, -0.2027, -0.1018, 0.0643, 0.2866, 0.5523, 0.8552, 1.185, 1.541, 1.92",\
                 "-0.4192, -0.3839, -0.273, -0.0867, 0.1602, 0.4568, 0.795, 1.167, 1.567, 1.993");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2268, 0.2474, 0.3188, 0.4535, 0.6614, 0.9519, 1.335, 1.816, 2.404, 3.105",\
                 "0.2351, 0.256, 0.3288, 0.4654, 0.6751, 0.9673, 1.35, 1.833, 2.421, 3.121",\
                 "0.2741, 0.2946, 0.3659, 0.5017, 0.7113, 1.005, 1.39, 1.874, 2.462, 3.164",\
                 "0.3469, 0.3694, 0.4454, 0.5824, 0.788, 1.078, 1.46, 1.942, 2.531, 3.233",\
                 "0.4647, 0.4886, 0.5684, 0.7132, 0.9272, 1.213, 1.589, 2.065, 2.648, 3.346",\
                 "0.6225, 0.6509, 0.7408, 0.8948, 1.117, 1.416, 1.793, 2.26, 2.836, 3.526",\
                 "0.8151, 0.8476, 0.9514, 1.124, 1.36, 1.67, 2.062, 2.538, 3.106, 3.786",\
                 "1.043, 1.079, 1.199, 1.393, 1.653, 1.979, 2.384, 2.876, 3.459, 4.135",\
                 "1.306, 1.348, 1.483, 1.701, 1.99, 2.344, 2.765, 3.271, 3.871, 4.566",\
                 "1.606, 1.654, 1.805, 2.049, 2.369, 2.755, 3.205, 3.729, 4.343, 5.058");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.101, 0.1115, 0.1486, 0.2177, 0.3242, 0.4728, 0.6685, 0.9156, 1.216, 1.575",\
                 "0.09952, 0.1106, 0.1478, 0.2172, 0.324, 0.4727, 0.6691, 0.9157, 1.216, 1.576",\
                 "0.1443, 0.1534, 0.1835, 0.2354, 0.3275, 0.4729, 0.6685, 0.9159, 1.216, 1.575",\
                 "0.2215, 0.2332, 0.2732, 0.3396, 0.4291, 0.5401, 0.6952, 0.9205, 1.217, 1.575",\
                 "0.3189, 0.3352, 0.3859, 0.4676, 0.575, 0.7098, 0.8682, 1.047, 1.283, 1.596",\
                 "0.4386, 0.4582, 0.5194, 0.618, 0.7458, 0.9018, 1.086, 1.297, 1.529, 1.787",\
                 "0.5794, 0.6026, 0.676, 0.7944, 0.9464, 1.124, 1.33, 1.569, 1.835, 2.127",\
                 "0.742, 0.771, 0.8596, 0.9976, 1.171, 1.377, 1.61, 1.872, 2.165, 2.492",\
                 "0.9248, 0.9626, 1.067, 1.226, 1.426, 1.662, 1.92, 2.21, 2.53, 2.883",\
                 "1.127, 1.169, 1.299, 1.483, 1.714, 1.973, 2.262, 2.585, 2.935, 3.318");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2729, 0.3075, 0.43, 0.6629, 1.028, 1.539, 2.211, 3.054, 4.091, 5.322",\
                 "0.2725, 0.3071, 0.4294, 0.663, 1.028, 1.537, 2.21, 3.053, 4.085, 5.321",\
                 "0.2805, 0.3124, 0.4303, 0.6635, 1.028, 1.537, 2.207, 3.055, 4.09, 5.313",\
                 "0.3331, 0.3649, 0.4759, 0.6842, 1.029, 1.538, 2.211, 3.058, 4.09, 5.32",\
                 "0.4014, 0.4326, 0.5426, 0.7594, 1.085, 1.558, 2.21, 3.056, 4.091, 5.326",\
                 "0.5076, 0.5384, 0.6432, 0.8504, 1.185, 1.646, 2.259, 3.07, 4.092, 5.321",\
                 "0.6346, 0.6688, 0.7794, 0.9812, 1.305, 1.773, 2.382, 3.151, 4.12, 5.318",\
                 "0.7792, 0.818, 0.9386, 1.154, 1.467, 1.921, 2.54, 3.31, 4.244, 5.393",\
                 "0.9392, 0.9798, 1.118, 1.347, 1.679, 2.118, 2.722, 3.501, 4.442, 5.555",\
                 "1.112, 1.158, 1.308, 1.563, 1.915, 2.369, 2.955, 3.719, 4.668, 5.792");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.1482, 0.1581, 0.1913, 0.2524, 0.3436, 0.4682, 0.6293, 0.8304, 1.075, 1.365",\
                 "0.1595, 0.1693, 0.2027, 0.2635, 0.3547, 0.4794, 0.6406, 0.8417, 1.086, 1.376",\
                 "0.2078, 0.2173, 0.2488, 0.3082, 0.3987, 0.523, 0.684, 0.885, 1.129, 1.419",\
                 "0.2638, 0.2765, 0.318, 0.3893, 0.4876, 0.6116, 0.7711, 0.9715, 1.215, 1.504",\
                 "0.2979, 0.3133, 0.3648, 0.4534, 0.5766, 0.7291, 0.9074, 1.111, 1.353, 1.641",\
                 "0.3043, 0.3227, 0.3857, 0.4933, 0.6407, 0.8221, 1.036, 1.277, 1.544, 1.838",\
                 "0.2812, 0.3034, 0.3772, 0.5033, 0.6757, 0.8883, 1.135, 1.415, 1.726, 2.064",\
                 "0.2279, 0.2531, 0.3372, 0.4821, 0.6799, 0.9246, 1.208, 1.526, 1.876, 2.26",\
                 "0.1434, 0.1715, 0.2654, 0.4281, 0.6513, 0.927, 1.247, 1.605, 1.998, 2.425",\
                 "0.0271, 0.0576, 0.1612, 0.3398, 0.5883, 0.8954, 1.251, 1.649, 2.087, 2.559");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.2268, 0.2474, 0.3188, 0.4535, 0.6614, 0.9519, 1.335, 1.816, 2.404, 3.105",\
                 "0.2351, 0.256, 0.3288, 0.4654, 0.6751, 0.9673, 1.35, 1.833, 2.421, 3.121",\
                 "0.2741, 0.2946, 0.3659, 0.5017, 0.7113, 1.005, 1.39, 1.874, 2.462, 3.164",\
                 "0.3469, 0.3694, 0.4454, 0.5824, 0.788, 1.078, 1.46, 1.942, 2.531, 3.233",\
                 "0.4647, 0.4886, 0.5684, 0.7132, 0.9272, 1.213, 1.589, 2.065, 2.648, 3.346",\
                 "0.6225, 0.6509, 0.7408, 0.8948, 1.117, 1.416, 1.793, 2.26, 2.836, 3.526",\
                 "0.8151, 0.8476, 0.9514, 1.124, 1.36, 1.67, 2.062, 2.538, 3.106, 3.786",\
                 "1.043, 1.079, 1.199, 1.393, 1.653, 1.979, 2.384, 2.876, 3.459, 4.135",\
                 "1.306, 1.348, 1.483, 1.701, 1.99, 2.344, 2.765, 3.271, 3.871, 4.566",\
                 "1.606, 1.654, 1.805, 2.049, 2.369, 2.755, 3.205, 3.729, 4.343, 5.058");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.205, 0.2205, 0.2746, 0.3735, 0.5235, 0.7303, 1, 1.341, 1.754, 2.248",\
                 "0.2045, 0.2203, 0.2744, 0.3737, 0.523, 0.7305, 1, 1.341, 1.755, 2.247",\
                 "0.2105, 0.224, 0.2729, 0.3693, 0.5219, 0.7292, 1, 1.339, 1.755, 2.247",\
                 "0.2892, 0.3051, 0.3555, 0.4422, 0.5626, 0.7423, 1, 1.34, 1.755, 2.246",\
                 "0.3913, 0.4086, 0.469, 0.5692, 0.7092, 0.8842, 1.097, 1.383, 1.764, 2.247",\
                 "0.517, 0.5402, 0.6088, 0.725, 0.881, 1.08, 1.316, 1.591, 1.914, 2.326",\
                 "0.6674, 0.6924, 0.7758, 0.9088, 1.085, 1.302, 1.563, 1.867, 2.216, 2.598",\
                 "0.8382, 0.8692, 0.9666, 1.121, 1.322, 1.563, 1.843, 2.171, 2.549, 2.97",\
                 "1.032, 1.069, 1.181, 1.36, 1.587, 1.857, 2.167, 2.518, 2.916, 3.368",\
                 "1.251, 1.294, 1.421, 1.625, 1.882, 2.184, 2.523, 2.902, 3.326, 3.8");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002391, 0.007276, 0.0166, 0.03113, 0.05152, 0.07835, 0.1122, 0.1534, 0.2026");
          values("0.3887, 0.4281, 0.5653, 0.8223, 1.212, 1.744, 2.429, 3.282, 4.316, 5.546",\
                 "0.3889, 0.4285, 0.565, 0.8223, 1.212, 1.744, 2.429, 3.28, 4.316, 5.544",\
                 "0.3966, 0.4331, 0.5661, 0.8226, 1.212, 1.744, 2.429, 3.281, 4.315, 5.546",\
                 "0.4682, 0.501, 0.614, 0.8426, 1.215, 1.745, 2.429, 3.282, 4.316, 5.547",\
                 "0.5678, 0.5986, 0.7126, 0.9338, 1.272, 1.764, 2.431, 3.282, 4.316, 5.548",\
                 "0.724, 0.7482, 0.8448, 1.055, 1.392, 1.859, 2.483, 3.295, 4.317, 5.548",\
                 "0.9206, 0.9444, 1.034, 1.221, 1.541, 2.008, 2.614, 3.385, 4.356, 5.554",\
                 "1.145, 1.168, 1.261, 1.442, 1.741, 2.186, 2.795, 3.554, 4.486, 5.631",\
                 "1.386, 1.411, 1.503, 1.695, 1.992, 2.415, 3.004, 3.768, 4.695, 5.803",\
                 "1.642, 1.669, 1.767, 1.97, 2.283, 2.703, 3.268, 4.012, 4.946, 6.054");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai32_4) {
    area : 94.393600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&!B2" ;
      value : "0.0001098339" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&B2" ;
      value : "0.0002722038" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&!B2" ;
      value : "0.0002722038" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&B2" ;
      value : "0.0002734776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&!B2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&B2" ;
      value : "0.0002857074" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&!B2" ;
      value : "0.0002281653" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&B2" ;
      value : "0.0002281653" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&!B2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&B2" ;
      value : "0.0002288616" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&!B2" ;
      value : "0.0001713195" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&B2" ;
      value : "0.0001713195" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&!B2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&B2" ;
      value : "0.0002288616" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&!B2" ;
      value : "0.0001713195" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&B2" ;
      value : "0.0001713195" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&!B2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&B2" ;
      value : "0.0001713294" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&!B2" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&B2" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&!B2" ;
      value : "0.0001104378" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&B2" ;
      value : "0.000171369" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&!B2" ;
      value : "0.0001138269" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&B2" ;
      value : "0.0001138269" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&!B2" ;
      value : "0.0001104411" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&B2" ;
      value : "0.000171369" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&!B2" ;
      value : "0.0001138269" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&B2" ;
      value : "0.0001138269" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&!B2" ;
      value : "0.0001104411" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&B2" ;
      value : "0.000171369" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&!B2" ;
      value : "0.0001138269" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&B2" ;
      value : "0.0001138269" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002857074" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01699 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05944, 0.05876, 0.05869, 0.05853, 0.0584, 0.05843, 0.05843, \
                 0.05843, 0.05844, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05866, -0.05868, -0.05854, -0.05844, -0.05833, -0.0584, -0.05837, \
                 -0.05837, -0.05833, -0.05831");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05871, 0.05873, 0.05874, 0.05869, 0.05859, 0.05859, 0.05856, \
                 0.05852, 0.05854, 0.05849");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04785, -0.04882, -0.05039, -0.052, -0.05345, -0.05465, -0.05538, \
                 -0.05586, -0.05615, -0.05635");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09076, 0.09078, 0.09059, 0.09043, 0.09037, 0.09036, 0.09025, \
                 0.09012, 0.08995, 0.08973");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01729, -0.0173, -0.01734, -0.01734, -0.01733, -0.01738, -0.01737, \
                 -0.01736, -0.01735, -0.01731");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09075, 0.09075, 0.09057, 0.09043, 0.09041, 0.09036, 0.09025, \
                 0.09012, 0.08995, 0.08973");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0173, -0.0173, -0.01732, -0.01734, -0.01734, -0.01739, -0.01737, \
                 -0.01736, -0.01735, -0.01732");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09078, 0.0908, 0.09058, 0.09047, 0.09035, 0.09035, 0.09026, \
                 0.09013, 0.08997, 0.08971");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01729, -0.01731, -0.01736, -0.01732, -0.01734, -0.01739, -0.01737, \
                 -0.01736, -0.01734, -0.01731");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05867, 0.05871, 0.05875, 0.0587, 0.05853, 0.05855, 0.05851, \
                 0.0585, 0.05849, 0.05847");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0506, -0.05107, -0.05282, -0.05426, -0.05521, -0.05592, -0.05632, \
                 -0.05655, -0.05671, -0.05686");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04892, 0.04885, 0.04874, 0.0487, 0.04869, 0.04871, 0.04866, \
                 0.04861, 0.04853, 0.04843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01724, -0.01726, -0.01729, -0.0173, -0.0173, -0.01736, -0.01734, \
                 -0.01735, -0.01736, -0.01734");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04891, 0.04883, 0.04875, 0.0487, 0.04866, 0.04872, 0.04867, \
                 0.04861, 0.04852, 0.04842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01724, -0.01726, -0.01727, -0.0173, -0.01731, -0.01735, -0.01734, \
                 -0.01734, -0.01735, -0.01735");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0489, 0.04885, 0.04878, 0.04876, 0.04864, 0.04872, 0.04868, \
                 0.04861, 0.04854, 0.04842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01724, -0.01724, -0.01728, -0.01728, -0.0173, -0.01736, -0.01735, \
                 -0.01735, -0.01735, -0.01734");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0587, 0.05871, 0.05877, 0.05868, 0.05855, 0.05859, 0.05852, \
                 0.05851, 0.05847, 0.05848");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04996, -0.05087, -0.05283, -0.05425, -0.05522, -0.05593, -0.05633, \
                 -0.05655, -0.05673, -0.05687");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04891, 0.04883, 0.04878, 0.0487, 0.04867, 0.04871, 0.04865, \
                 0.04863, 0.04854, 0.04842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01724, -0.01727, -0.01731, -0.0173, -0.01732, -0.01735, -0.01735, \
                 -0.01734, -0.01735, -0.01735");
        }
      }

      internal_power() {
        when : "A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04891, 0.04885, 0.04878, 0.04873, 0.04868, 0.04871, 0.04867, \
                 0.04862, 0.04853, 0.04841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01724, -0.01727, -0.0173, -0.01732, -0.01729, -0.01735, -0.01735, \
                 -0.01734, -0.01735, -0.01735");
        }
      }

      internal_power() {
        when : "A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04891, 0.04883, 0.04876, 0.04874, 0.04865, 0.04872, 0.04867, \
                 0.04863, 0.04853, 0.04841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01725, -0.01727, -0.01728, -0.01728, -0.01732, -0.01736, -0.01735, \
                 -0.01734, -0.01735, -0.01735");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01793 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05932, 0.0586, 0.05856, 0.05841, 0.0584, 0.05843, 0.05849, 0.05841, \
                 0.05843, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05851, -0.05853, -0.05853, -0.0584, -0.0583, -0.05836, -0.05841, \
                 -0.05836, -0.05834, -0.05833");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05842, 0.05845, 0.05857, 0.05855, 0.05845, 0.05849, 0.05848, \
                 0.05841, 0.05841, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05573, -0.05584, -0.0561, -0.05663, -0.05695, -0.05731, -0.05747, \
                 -0.05757, -0.05763, -0.05766");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04246, 0.04241, 0.04242, 0.04243, 0.04239, 0.04243, 0.04236, \
                 0.04225, 0.0421, 0.04191");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02192, -0.0219, -0.02197, -0.02199, -0.02203, -0.0221, -0.02211, \
                 -0.02214, -0.02218, -0.02223");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04247, 0.04241, 0.04242, 0.04243, 0.04241, 0.04243, 0.04236, \
                 0.04225, 0.04211, 0.04192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02192, -0.0219, -0.02197, -0.022, -0.02199, -0.02211, -0.02212, \
                 -0.02214, -0.02217, -0.02224");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04246, 0.04241, 0.04245, 0.04245, 0.04237, 0.04245, 0.04233, \
                 0.04223, 0.04209, 0.0419");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02191, -0.0219, -0.02197, -0.02198, -0.022, -0.02211, -0.02211, \
                 -0.02212, -0.02219, -0.02224");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05856, 0.05851, 0.05852, 0.05838, 0.05837, 0.05846, 0.0585, \
                 0.05846, 0.05849, 0.05846");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05017, -0.05018, -0.05226, -0.05437, -0.05532, -0.05604, -0.05631, \
                 -0.05654, -0.05672, -0.05682");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05856, 0.0585, 0.05847, 0.05844, 0.0584, 0.05846, 0.0585, 0.05845, \
                 0.05848, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04534, -0.04763, -0.05215, -0.05437, -0.05535, -0.05603, -0.05633, \
                 -0.05654, -0.05671, -0.05682");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05856, 0.0585, 0.05848, 0.05843, 0.0584, 0.05845, 0.05855, 0.05847, \
                 0.05847, 0.05847");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04533, -0.04763, -0.05216, -0.05438, -0.05538, -0.05603, -0.05633, \
                 -0.05654, -0.05672, -0.0568");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05855, 0.0585, 0.05846, 0.05837, 0.05841, 0.05847, 0.05854, \
                 0.05849, 0.05848, 0.05849");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04534, -0.04763, -0.05219, -0.05431, -0.05537, -0.05603, -0.05631, \
                 -0.05653, -0.05669, -0.05681");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03342, 0.03336, 0.03344, 0.0334, 0.03341, 0.03352, 0.03354, \
                 0.03354, 0.03353, 0.03351");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04582, -0.04581, -0.04581, -0.04582, -0.04574, -0.04586, -0.04581, \
                 -0.04572, -0.04557, -0.0454");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03336, 0.03342, 0.03341, 0.03339, 0.03352, 0.03352, \
                 0.03349, 0.0335, 0.03351");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03676, -0.03609, -0.03561, -0.03545, -0.03526, -0.03533, -0.03527, \
                 -0.03524, -0.03522, -0.03526");
        }
      }

      internal_power() {
        when : "A1&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03338, 0.03336, 0.03345, 0.03341, 0.03343, 0.03352, 0.03353, \
                 0.03351, 0.03352, 0.03352");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03677, -0.0361, -0.03558, -0.03544, -0.03532, -0.03535, -0.03527, \
                 -0.03524, -0.03523, -0.03528");
        }
      }

      internal_power() {
        when : "A1&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03336, 0.03343, 0.03348, 0.03339, 0.03354, 0.0335, \
                 0.03352, 0.0335, 0.0335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03675, -0.03609, -0.03561, -0.03546, -0.03527, -0.03535, -0.0353, \
                 -0.03523, -0.03523, -0.03527");
        }
      }
    }

    pin(A3) {
      capacitance : 0.01716 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05928, 0.05856, 0.05838, 0.0585, 0.05841, 0.05846, 0.05841, \
                 0.05843, 0.05843, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05824, -0.05826, -0.05834, -0.0583, -0.05815, -0.0583, -0.05833, \
                 -0.05833, -0.0583, -0.05827");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05845, 0.05827, 0.05825, 0.05836, 0.05836, 0.05837, 0.05843, \
                 0.05841, 0.05841, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05531, -0.056, -0.05671, -0.05695, -0.0573, -0.0574, \
                 -0.05751, -0.05755, -0.05761");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05843, 0.05828, 0.05822, 0.05837, 0.05839, 0.05845, 0.05845, \
                 0.05842, 0.05842, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05173, -0.05416, -0.05602, -0.05672, -0.05693, -0.05732, -0.05737, \
                 -0.05753, -0.05755, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05843, 0.05828, 0.05821, 0.05842, 0.05837, 0.05848, 0.05846, \
                 0.05839, 0.05841, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05175, -0.05416, -0.05598, -0.05669, -0.05694, -0.05732, -0.05737, \
                 -0.05751, -0.05756, -0.05762");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05838, 0.05821, 0.0583, 0.05834, 0.05845, 0.05837, \
                 0.05838, 0.05838, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05172, -0.05416, -0.05602, -0.0567, -0.05694, -0.05731, -0.05737, \
                 -0.05748, -0.05757, -0.05763");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05852, 0.0585, 0.05834, 0.05844, 0.0584, 0.05847, 0.05851, 0.05851, \
                 0.0585, 0.05847");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04919, -0.05184, -0.05374, -0.05477, -0.05553, -0.05596, \
                 -0.05619, -0.05637, -0.05654");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05852, 0.05849, 0.05828, 0.05846, 0.05842, 0.05859, 0.05856, \
                 0.05854, 0.05857, 0.0585");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04921, -0.05177, -0.05372, -0.05469, -0.05549, -0.05593, \
                 -0.05618, -0.05636, -0.05651");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05852, 0.0585, 0.05828, 0.05844, 0.05836, 0.05854, 0.05857, \
                 0.05854, 0.05852, 0.05846");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04758, -0.04922, -0.05177, -0.05373, -0.05472, -0.05547, -0.05591, \
                 -0.05619, -0.05639, -0.05651");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05845, 0.05849, 0.05832, 0.05847, 0.05844, 0.05855, 0.05854, \
                 0.05852, 0.05855, 0.05852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.0492, -0.0518, -0.05371, -0.05476, -0.05555, -0.05592, \
                 -0.05616, -0.05638, -0.05654");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05843, 0.05825, 0.05823, 0.05826, 0.05839, 0.05848, 0.05845, \
                 0.05835, 0.05837, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05328, -0.05459, -0.05599, -0.05671, -0.05693, -0.05731, -0.05738, \
                 -0.05755, -0.05758, -0.05763");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05826, 0.05816, 0.05829, 0.05829, 0.0585, 0.05841, \
                 0.05841, 0.05837, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05326, -0.05457, -0.05602, -0.05674, -0.05696, -0.05733, -0.05734, \
                 -0.05749, -0.05759, -0.05763");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05827, 0.05816, 0.05829, 0.0583, 0.0585, 0.05843, 0.05843, \
                 0.05836, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05328, -0.05457, -0.05599, -0.05674, -0.05691, -0.05735, -0.05735, \
                 -0.05749, -0.05757, -0.05766");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05828, 0.05819, 0.05834, 0.05829, 0.05846, 0.05845, \
                 0.05837, 0.05835, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05326, -0.05457, -0.05602, -0.05667, -0.05695, -0.05728, -0.05742, \
                 -0.05749, -0.05756, -0.05766");
        }
      }
    }

    pin(B1) {
      capacitance : 0.01811 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06687, 0.06683, 0.0668, 0.06662, 0.06654, 0.06657, 0.06656, \
                 0.06655, 0.06652, 0.06653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07183, 0.07186, 0.07189, 0.07168, 0.07151, 0.07133, 0.0711, \
                 0.0708, 0.07052, 0.06996");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06675, 0.0668, 0.06684, 0.06672, 0.06664, 0.06663, 0.06655, \
                 0.0665, 0.06642, 0.06637");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06409, -0.06417, -0.06441, -0.06488, -0.06513, -0.06539, -0.06558, \
                 -0.06565, -0.0657, -0.06573");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04795, 0.04788, 0.04779, 0.04777, 0.04771, 0.04781, 0.04775, \
                 0.0477, 0.04761, 0.04753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01913, -0.01912, -0.01918, -0.01917, -0.0192, -0.01925, -0.01924, \
                 -0.01925, -0.01924, -0.01924");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04795, 0.04788, 0.04779, 0.04779, 0.04772, 0.04781, 0.04774, \
                 0.0477, 0.04761, 0.0475");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01913, -0.01918, -0.01918, -0.0192, -0.01925, -0.01923, \
                 -0.01924, -0.01924, -0.01924");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04794, 0.0479, 0.04779, 0.04775, 0.04776, 0.04778, 0.04774, \
                 0.04768, 0.04762, 0.04752");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01913, -0.01915, -0.01918, -0.0192, -0.01919, -0.01925, -0.01925, \
                 -0.01924, -0.01925, -0.01924");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04795, 0.04788, 0.04779, 0.04777, 0.04772, 0.0478, 0.04773, \
                 0.04769, 0.04762, 0.0475");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01913, -0.01918, -0.01918, -0.0192, -0.01924, -0.01923, \
                 -0.01924, -0.01924, -0.01924");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04793, 0.0479, 0.04783, 0.04774, 0.04776, 0.04781, 0.04775, \
                 0.04768, 0.04763, 0.04751");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01913, -0.01915, -0.01918, -0.01919, -0.0192, -0.01925, -0.01923, \
                 -0.01924, -0.01925, -0.01924");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04793, 0.0479, 0.04781, 0.04774, 0.04775, 0.04782, 0.04776, \
                 0.04769, 0.04763, 0.04751");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01913, -0.01913, -0.01918, -0.01919, -0.0192, -0.01925, -0.01924, \
                 -0.01924, -0.01926, -0.01924");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04793, 0.04787, 0.04785, 0.04776, 0.04775, 0.04779, 0.04776, \
                 0.0477, 0.04763, 0.04752");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01909, -0.01912, -0.01918, -0.01921, -0.01921, -0.01926, -0.01924, \
                 -0.01924, -0.01925, -0.01924");
        }
      }
    }

    pin(B2) {
      capacitance : 0.01842 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06669, 0.06662, 0.06657, 0.06658, 0.06664, 0.0666, 0.06659, \
                 0.06654, 0.06652, 0.06652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07243, 0.07231, 0.07204, 0.07194, 0.07176, 0.07138, 0.07114, \
                 0.0708, 0.07045, 0.07005");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06667, 0.06658, 0.06656, 0.06654, 0.06648, 0.06648, 0.06651, \
                 0.06643, 0.06642, 0.06636");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06361, -0.06364, -0.06435, -0.06494, -0.06515, -0.06553, -0.06552, \
                 -0.06563, -0.06565, -0.06575");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05824, 0.05839, 0.05832, 0.05829, 0.05844, 0.05846, \
                 0.05842, 0.05842, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0489, -0.05285, -0.05603, -0.05672, -0.05698, -0.05732, -0.05738, \
                 -0.0575, -0.05761, -0.05765");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05824, 0.05833, 0.05825, 0.05826, 0.05843, 0.05844, \
                 0.0584, 0.05841, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0489, -0.05285, -0.05609, -0.05669, -0.05697, -0.05735, -0.05738, \
                 -0.0575, -0.0576, -0.05765");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05824, 0.05829, 0.05824, 0.05834, 0.05838, 0.05844, \
                 0.05844, 0.0584, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04887, -0.05285, -0.05609, -0.05679, -0.05694, -0.05733, -0.05738, \
                 -0.0575, -0.05756, -0.05762");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05824, 0.05831, 0.05827, 0.05829, 0.05845, 0.0584, \
                 0.05846, 0.05841, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0489, -0.05285, -0.05609, -0.05672, -0.05696, -0.05734, -0.05738, \
                 -0.05751, -0.05759, -0.05764");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05825, 0.05839, 0.05819, 0.05835, 0.05839, 0.05838, \
                 0.0584, 0.05839, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04887, -0.05284, -0.05609, -0.05681, -0.05695, -0.05732, -0.05742, \
                 -0.0575, -0.05757, -0.0576");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05825, 0.05839, 0.0582, 0.05835, 0.05842, 0.05841, \
                 0.05843, 0.05841, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04887, -0.05286, -0.05603, -0.05679, -0.05694, -0.05732, -0.0574, \
                 -0.0575, -0.05759, -0.05759");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05834, 0.05819, 0.05836, 0.05822, 0.05829, 0.05851, 0.05846, \
                 0.05838, 0.05841, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04886, -0.05285, -0.05599, -0.05666, -0.05698, -0.05733, -0.05739, \
                 -0.05751, -0.05755, -0.05766");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2)&(!A3))|((!B1)&(!B2)))" ;
      max_capacitance : 0.4052 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.05621, 0.05638, 0.05662, 0.05709, 0.0573, 0.05747, 0.0576, 0.05765, 0.05772, 0.05775",\
                 "0.05642, 0.05673, 0.05762, 0.05864, 0.05947, 0.06, 0.06033, 0.06055, 0.06069, 0.06078",\
                 "0.05617, 0.05663, 0.05786, 0.05936, 0.06081, 0.06197, 0.06277, 0.06332, 0.06369, 0.06401",\
                 "0.06356, 0.06362, 0.0639, 0.06457, 0.06522, 0.0658, 0.06608, 0.06626, 0.06641, 0.06652",\
                 "0.08523, 0.08469, 0.08342, 0.08177, 0.08005, 0.0785, 0.07707, 0.07581, 0.07465, 0.07352",\
                 "0.1255, 0.1244, 0.1211, 0.1161, 0.1107, 0.1056, 0.1008, 0.09668, 0.09294, 0.08972",\
                 "0.1872, 0.1855, 0.18, 0.1712, 0.161, 0.1509, 0.1417, 0.1331, 0.1255, 0.1188",\
                 "0.2723, 0.2699, 0.2619, 0.2492, 0.234, 0.2181, 0.2026, 0.1885, 0.1758, 0.1645",\
                 "0.3823, 0.3791, 0.3687, 0.3519, 0.3313, 0.3089, 0.2869, 0.2661, 0.247, 0.2297",\
                 "0.5182, 0.5144, 0.5015, 0.4805, 0.4545, 0.4256, 0.3963, 0.368, 0.3413, 0.317");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.4451, 0.4452, 0.4454, 0.4458, 0.4462, 0.4469, 0.448, 0.4489, 0.4503, 0.4547",\
                 "0.44, 0.4402, 0.4408, 0.4416, 0.4424, 0.4434, 0.4445, 0.4461, 0.447, 0.4514",\
                 "0.439, 0.4389, 0.4389, 0.4393, 0.4401, 0.4411, 0.4423, 0.4441, 0.4459, 0.4499",\
                 "0.4566, 0.4558, 0.4538, 0.4512, 0.449, 0.4477, 0.447, 0.447, 0.4479, 0.4517",\
                 "0.4945, 0.4931, 0.4892, 0.4833, 0.4763, 0.4702, 0.4653, 0.4617, 0.4596, 0.4625",\
                 "0.5538, 0.5517, 0.5464, 0.537, 0.5254, 0.5136, 0.5031, 0.494, 0.4864, 0.4865",\
                 "0.6353, 0.633, 0.6254, 0.6134, 0.5982, 0.5809, 0.564, 0.5487, 0.5358, 0.5312",\
                 "0.7423, 0.7394, 0.73, 0.7148, 0.6956, 0.6734, 0.6504, 0.628, 0.608, 0.6012",\
                 "0.8756, 0.8724, 0.8612, 0.843, 0.8194, 0.7923, 0.7634, 0.7343, 0.708, 0.7016",\
                 "1.037, 1.033, 1.021, 0.9995, 0.9713, 0.9393, 0.9055, 0.8696, 0.84, 0.8433");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.0121, 0.01227, 0.01283, 0.01334, 0.0136, 0.01376, 0.01388, 0.01394, 0.014, 0.01403",\
                 "0.01069, 0.01133, 0.01307, 0.01464, 0.01559, 0.01618, 0.01657, 0.0168, 0.01695, 0.01706",\
                 "0.009231, 0.01001, 0.01218, 0.01455, 0.01657, 0.01795, 0.01886, 0.01948, 0.01992, 0.02022",\
                 "0.01837, 0.01849, 0.01912, 0.02012, 0.02113, 0.02186, 0.02227, 0.0225, 0.02263, 0.02277",\
                 "0.04293, 0.04226, 0.0407, 0.03867, 0.03686, 0.03514, 0.03365, 0.03231, 0.03107, 0.02998",\
                 "0.08678, 0.08538, 0.08115, 0.07524, 0.06895, 0.06321, 0.05814, 0.05365, 0.04979, 0.04642",\
                 "0.1524, 0.1502, 0.1432, 0.1329, 0.1214, 0.11, 0.1, 0.09091, 0.08293, 0.07596",\
                 "0.2415, 0.2385, 0.2286, 0.2138, 0.1966, 0.179, 0.1623, 0.1474, 0.1341, 0.1223",\
                 "0.3555, 0.3515, 0.3389, 0.3194, 0.2962, 0.2719, 0.2482, 0.226, 0.2061, 0.1882",\
                 "0.495, 0.4901, 0.475, 0.451, 0.4218, 0.3906, 0.3593, 0.3294, 0.3016, 0.2765");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.4037, 0.4037, 0.4039, 0.4042, 0.4047, 0.4054, 0.4064, 0.4076, 0.4083, 0.4119",\
                 "0.3984, 0.3986, 0.3992, 0.4001, 0.4009, 0.4018, 0.4028, 0.404, 0.4053, 0.4089",\
                 "0.3975, 0.3974, 0.3974, 0.3978, 0.3985, 0.3996, 0.4008, 0.4024, 0.4035, 0.4075",\
                 "0.415, 0.4143, 0.4122, 0.4096, 0.4075, 0.406, 0.4051, 0.4054, 0.4062, 0.4099",\
                 "0.4532, 0.4519, 0.448, 0.4416, 0.4346, 0.4285, 0.4235, 0.4199, 0.4182, 0.4198",\
                 "0.5121, 0.5103, 0.5048, 0.4953, 0.4839, 0.4719, 0.4614, 0.452, 0.4448, 0.4439",\
                 "0.5944, 0.5919, 0.5845, 0.5717, 0.5567, 0.5393, 0.5223, 0.506, 0.4933, 0.488",\
                 "0.7012, 0.6983, 0.6888, 0.6732, 0.654, 0.6318, 0.6089, 0.5859, 0.5655, 0.5566",\
                 "0.8349, 0.8313, 0.8202, 0.8018, 0.778, 0.7511, 0.7219, 0.6927, 0.6656, 0.6568",\
                 "0.9965, 0.9928, 0.98, 0.9583, 0.9298, 0.8977, 0.8632, 0.8282, 0.7972, 0.7966");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.01206, 0.01224, 0.01283, 0.01332, 0.01361, 0.01376, 0.01385, 0.01392, 0.01398, 0.01401",\
                 "0.0108, 0.01152, 0.01311, 0.01463, 0.01563, 0.0162, 0.01656, 0.01679, 0.0169, 0.01703",\
                 "0.009952, 0.0107, 0.0127, 0.01495, 0.01683, 0.01816, 0.01903, 0.01957, 0.01998, 0.02027",\
                 "0.02003, 0.02021, 0.02067, 0.02146, 0.02224, 0.02283, 0.02309, 0.02315, 0.02321, 0.02319",\
                 "0.04553, 0.04488, 0.04322, 0.04116, 0.03905, 0.03709, 0.03528, 0.03367, 0.03227, 0.03102",\
                 "0.09011, 0.08865, 0.08449, 0.07851, 0.07203, 0.06612, 0.06071, 0.05594, 0.05177, 0.04817",\
                 "0.1565, 0.1541, 0.1473, 0.137, 0.1253, 0.1138, 0.1034, 0.09411, 0.08591, 0.07855",\
                 "0.2463, 0.2432, 0.2334, 0.2186, 0.2013, 0.1837, 0.1668, 0.1516, 0.138, 0.1258",\
                 "0.3609, 0.3569, 0.3444, 0.325, 0.3017, 0.2776, 0.2536, 0.2314, 0.2109, 0.1928",\
                 "0.501, 0.4963, 0.4813, 0.4573, 0.4282, 0.397, 0.3656, 0.3356, 0.3075, 0.2819");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.4392, 0.4393, 0.4396, 0.44, 0.4405, 0.4411, 0.4421, 0.443, 0.4443, 0.4479",\
                 "0.4344, 0.4346, 0.4354, 0.4364, 0.4374, 0.4387, 0.4398, 0.4412, 0.442, 0.4462",\
                 "0.4332, 0.4333, 0.4335, 0.434, 0.4349, 0.4362, 0.4377, 0.4391, 0.4408, 0.4448",\
                 "0.4504, 0.4498, 0.4481, 0.4459, 0.444, 0.4427, 0.4423, 0.4425, 0.4432, 0.4469",\
                 "0.488, 0.4869, 0.4834, 0.478, 0.4717, 0.466, 0.4614, 0.4577, 0.4556, 0.4577",\
                 "0.5467, 0.5449, 0.5398, 0.5316, 0.5215, 0.5109, 0.5007, 0.4918, 0.4845, 0.4841",\
                 "0.6279, 0.6257, 0.619, 0.6082, 0.5944, 0.5789, 0.5626, 0.5478, 0.5346, 0.5294",\
                 "0.7344, 0.7316, 0.7233, 0.7096, 0.6921, 0.672, 0.6508, 0.6292, 0.6096, 0.6017",\
                 "0.8669, 0.8639, 0.8544, 0.8374, 0.816, 0.7916, 0.765, 0.7379, 0.7124, 0.7053",\
                 "1.029, 1.025, 1.014, 0.9939, 0.968, 0.9386, 0.9074, 0.8739, 0.845, 0.8486");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1008, 0.1009, 0.1008, 0.1007, 0.1009, 0.101, 0.1011, 0.1011, 0.1011, 0.1011",\
                 "0.1004, 0.1005, 0.1005, 0.1006, 0.1008, 0.101, 0.1011, 0.1011, 0.1012, 0.1012",\
                 "0.0983, 0.09838, 0.09873, 0.09909, 0.09951, 0.09997, 0.1002, 0.1004, 0.1005, 0.1006",\
                 "0.1021, 0.102, 0.1019, 0.1017, 0.1017, 0.1016, 0.1014, 0.1014, 0.1012, 0.1011",\
                 "0.1224, 0.1219, 0.1204, 0.1181, 0.1159, 0.1135, 0.1115, 0.1099, 0.1083, 0.1072",\
                 "0.1649, 0.1638, 0.1603, 0.1548, 0.1485, 0.1423, 0.1367, 0.1316, 0.1272, 0.1235",\
                 "0.2324, 0.2305, 0.2245, 0.2151, 0.2039, 0.1925, 0.1814, 0.1713, 0.1622, 0.1546",\
                 "0.327, 0.3244, 0.3156, 0.3019, 0.285, 0.2672, 0.2496, 0.2331, 0.218, 0.2047",\
                 "0.4501, 0.4467, 0.4355, 0.4171, 0.3941, 0.3692, 0.3441, 0.3201, 0.2979, 0.2775",\
                 "0.603, 0.5987, 0.5847, 0.562, 0.5327, 0.5002, 0.4671, 0.4348, 0.4041, 0.3757");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.5133, 0.5134, 0.5135, 0.5138, 0.5143, 0.5148, 0.5157, 0.5171, 0.5182, 0.5223",\
                 "0.5085, 0.5087, 0.5092, 0.5099, 0.5106, 0.5117, 0.5128, 0.5141, 0.5159, 0.5193",\
                 "0.5022, 0.5024, 0.5033, 0.5046, 0.5061, 0.5077, 0.5096, 0.511, 0.5129, 0.5175",\
                 "0.5065, 0.5063, 0.5061, 0.5061, 0.5065, 0.5075, 0.5089, 0.5101, 0.5119, 0.5173",\
                 "0.5359, 0.5351, 0.5322, 0.5284, 0.5245, 0.5216, 0.5198, 0.5186, 0.5184, 0.5232",\
                 "0.596, 0.5946, 0.5889, 0.5805, 0.5704, 0.561, 0.5528, 0.5463, 0.5419, 0.5436",\
                 "0.6864, 0.6839, 0.6757, 0.6629, 0.6476, 0.6301, 0.6146, 0.5999, 0.589, 0.586",\
                 "0.8066, 0.8034, 0.7932, 0.7759, 0.7548, 0.732, 0.7076, 0.6849, 0.665, 0.6575",\
                 "0.9574, 0.9535, 0.9415, 0.9208, 0.8938, 0.864, 0.833, 0.8016, 0.7737, 0.7642",\
                 "1.141, 1.136, 1.122, 1.098, 1.066, 1.03, 0.991, 0.9521, 0.9189, 0.9139");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.05715, 0.05706, 0.05709, 0.05717, 0.05718, 0.05728, 0.0573, 0.05734, 0.05733, 0.05734",\
                 "0.05646, 0.05658, 0.05667, 0.05688, 0.05712, 0.05727, 0.05729, 0.05733, 0.0574, 0.05741",\
                 "0.05362, 0.05384, 0.05442, 0.05506, 0.05565, 0.05608, 0.0564, 0.0566, 0.05675, 0.05682",\
                 "0.058, 0.05801, 0.05787, 0.05785, 0.05782, 0.05785, 0.05771, 0.05759, 0.05751, 0.05742",\
                 "0.08097, 0.08023, 0.07824, 0.07559, 0.07285, 0.07038, 0.06826, 0.06641, 0.06481, 0.06356",\
                 "0.1269, 0.1254, 0.1209, 0.1143, 0.1072, 0.1004, 0.09413, 0.08878, 0.08409, 0.08027",\
                 "0.1986, 0.1962, 0.1888, 0.1776, 0.1648, 0.1521, 0.1402, 0.1293, 0.12, 0.1119",\
                 "0.2976, 0.2943, 0.2838, 0.2676, 0.2486, 0.2289, 0.2099, 0.1924, 0.1767, 0.1628",\
                 "0.4251, 0.4208, 0.4073, 0.386, 0.3604, 0.333, 0.3063, 0.2809, 0.2575, 0.2364",\
                 "0.5817, 0.5768, 0.5605, 0.5342, 0.5018, 0.4666, 0.4312, 0.3972, 0.3653, 0.3359");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.4718, 0.4718, 0.472, 0.4721, 0.4727, 0.4732, 0.474, 0.475, 0.4763, 0.4798",\
                 "0.467, 0.4671, 0.4677, 0.4685, 0.469, 0.47, 0.4708, 0.472, 0.473, 0.4768",\
                 "0.4608, 0.461, 0.4617, 0.463, 0.4646, 0.4661, 0.4676, 0.4692, 0.4709, 0.4751",\
                 "0.465, 0.4648, 0.4645, 0.4645, 0.4649, 0.4656, 0.4669, 0.4684, 0.4699, 0.4745",\
                 "0.4944, 0.4933, 0.4908, 0.4868, 0.4829, 0.4802, 0.478, 0.4768, 0.4767, 0.4808",\
                 "0.5545, 0.5527, 0.5472, 0.5387, 0.5289, 0.5194, 0.511, 0.5043, 0.5, 0.5007",\
                 "0.6451, 0.6427, 0.6345, 0.6212, 0.6058, 0.589, 0.5731, 0.5585, 0.5468, 0.5426",\
                 "0.7652, 0.7621, 0.752, 0.7346, 0.7131, 0.69, 0.6663, 0.643, 0.6234, 0.6142",\
                 "0.9162, 0.9128, 0.9005, 0.8797, 0.8524, 0.8225, 0.7915, 0.7604, 0.7318, 0.7198",\
                 "1.1, 1.095, 1.081, 1.057, 1.026, 0.9885, 0.9493, 0.9108, 0.8756, 0.8678");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.05718, 0.05711, 0.05708, 0.05709, 0.05712, 0.05722, 0.05728, 0.0573, 0.05733, 0.05735",\
                 "0.05648, 0.05666, 0.0567, 0.0569, 0.05703, 0.05719, 0.05727, 0.05731, 0.05736, 0.0574",\
                 "0.05376, 0.05402, 0.0547, 0.05534, 0.05578, 0.05616, 0.05649, 0.05668, 0.05682, 0.05689",\
                 "0.05925, 0.05919, 0.05901, 0.05892, 0.05872, 0.05855, 0.05839, 0.05804, 0.05789, 0.05773",\
                 "0.08346, 0.08268, 0.08068, 0.07791, 0.07488, 0.07223, 0.06982, 0.06775, 0.06602, 0.06453",\
                 "0.1308, 0.1292, 0.1246, 0.1179, 0.1104, 0.1033, 0.0967, 0.09103, 0.08618, 0.08203",\
                 "0.2034, 0.201, 0.1936, 0.1823, 0.1693, 0.1562, 0.1439, 0.1328, 0.1231, 0.1147",\
                 "0.3034, 0.3001, 0.2895, 0.2733, 0.254, 0.2341, 0.2148, 0.1969, 0.1808, 0.1666",\
                 "0.4319, 0.4275, 0.4141, 0.3928, 0.367, 0.3394, 0.3123, 0.2866, 0.2628, 0.2415",\
                 "0.5894, 0.5844, 0.5683, 0.542, 0.5095, 0.4741, 0.4384, 0.4041, 0.3718, 0.3421");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.5075, 0.5076, 0.5076, 0.508, 0.5084, 0.5091, 0.5102, 0.5111, 0.512, 0.5158",\
                 "0.5029, 0.5032, 0.5039, 0.5046, 0.5056, 0.5066, 0.5076, 0.5089, 0.5102, 0.5144",\
                 "0.4965, 0.4966, 0.4976, 0.4991, 0.5007, 0.5025, 0.5044, 0.5062, 0.5079, 0.5121",\
                 "0.5004, 0.5004, 0.5003, 0.5003, 0.5009, 0.5018, 0.5035, 0.5049, 0.5066, 0.5112",\
                 "0.5295, 0.5286, 0.5264, 0.5229, 0.5193, 0.5166, 0.5148, 0.5138, 0.5137, 0.5174",\
                 "0.5889, 0.5872, 0.5826, 0.5752, 0.566, 0.5574, 0.5493, 0.5428, 0.5383, 0.539",\
                 "0.6786, 0.6766, 0.6694, 0.6578, 0.6436, 0.6283, 0.6127, 0.599, 0.5878, 0.5838",\
                 "0.7981, 0.7955, 0.7862, 0.7707, 0.7513, 0.7304, 0.7079, 0.6862, 0.6663, 0.6583",\
                 "0.9489, 0.9455, 0.9344, 0.9152, 0.8909, 0.8634, 0.8349, 0.8053, 0.779, 0.768",\
                 "1.132, 1.128, 1.115, 1.093, 1.063, 1.03, 0.9939, 0.9582, 0.9256, 0.9197");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.14, 0.1399, 0.1398, 0.1399, 0.1399, 0.14, 0.14, 0.1401, 0.1401, 0.1401",\
                 "0.1365, 0.1364, 0.1364, 0.1363, 0.1364, 0.1364, 0.1365, 0.1366, 0.1366, 0.1366",\
                 "0.1327, 0.1327, 0.1326, 0.1326, 0.1327, 0.1327, 0.1327, 0.1328, 0.1328, 0.1328",\
                 "0.1354, 0.1352, 0.1347, 0.1342, 0.1337, 0.1333, 0.1329, 0.1326, 0.1323, 0.1321",\
                 "0.1566, 0.156, 0.154, 0.1509, 0.1477, 0.1449, 0.1425, 0.1405, 0.1387, 0.1373",\
                 "0.2049, 0.2034, 0.1987, 0.1916, 0.1838, 0.176, 0.1691, 0.1632, 0.1581, 0.1539",\
                 "0.2843, 0.2818, 0.2741, 0.2619, 0.2475, 0.2328, 0.2191, 0.2068, 0.1963, 0.1873",\
                 "0.3983, 0.3947, 0.3833, 0.3651, 0.3431, 0.3201, 0.2978, 0.2771, 0.2588, 0.2427",\
                 "0.548, 0.5433, 0.5283, 0.5041, 0.4737, 0.4411, 0.4088, 0.3784, 0.3503, 0.3252",\
                 "0.7343, 0.7288, 0.7104, 0.6799, 0.6411, 0.5982, 0.5551, 0.5136, 0.4745, 0.4388");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.5539, 0.5539, 0.554, 0.5544, 0.5549, 0.5554, 0.5562, 0.5574, 0.5588, 0.5635",\
                 "0.549, 0.5492, 0.5497, 0.5504, 0.5511, 0.5522, 0.5533, 0.5543, 0.5559, 0.5599",\
                 "0.5425, 0.5427, 0.5436, 0.5451, 0.5467, 0.5483, 0.5498, 0.5516, 0.5532, 0.5581",\
                 "0.5427, 0.5428, 0.543, 0.5436, 0.5446, 0.5461, 0.5479, 0.5493, 0.5512, 0.5569",\
                 "0.5677, 0.5667, 0.5647, 0.5618, 0.5591, 0.5574, 0.5562, 0.5564, 0.5564, 0.5615",\
                 "0.6308, 0.6291, 0.6236, 0.6153, 0.6058, 0.597, 0.5895, 0.5841, 0.5796, 0.5814",\
                 "0.7355, 0.7329, 0.7238, 0.7094, 0.6926, 0.6749, 0.658, 0.6433, 0.6316, 0.6281",\
                 "0.8802, 0.8767, 0.8644, 0.8446, 0.8197, 0.7933, 0.7667, 0.7412, 0.72, 0.7099",\
                 "1.063, 1.059, 1.044, 1.02, 0.9879, 0.9524, 0.9163, 0.8803, 0.8485, 0.833",\
                 "1.285, 1.28, 1.264, 1.236, 1.198, 1.153, 1.108, 1.062, 1.02, 1.006");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.09625, 0.09628, 0.09624, 0.09622, 0.09616, 0.09619, 0.09625, 0.09633, 0.09632, 0.09632",\
                 "0.09276, 0.09275, 0.09268, 0.09265, 0.09265, 0.0927, 0.09273, 0.09279, 0.09285, 0.09283",\
                 "0.08877, 0.08879, 0.08883, 0.08887, 0.08894, 0.08888, 0.08895, 0.08903, 0.08909, 0.08906",\
                 "0.09221, 0.09197, 0.0914, 0.09072, 0.09014, 0.08965, 0.08918, 0.08891, 0.08865, 0.08845",\
                 "0.1163, 0.1154, 0.1127, 0.109, 0.1052, 0.102, 0.09923, 0.09706, 0.09523, 0.09374",\
                 "0.169, 0.167, 0.161, 0.1524, 0.1431, 0.1345, 0.1268, 0.1205, 0.1152, 0.1108",\
                 "0.254, 0.2508, 0.241, 0.2263, 0.2097, 0.1935, 0.1785, 0.1653, 0.1542, 0.1447",\
                 "0.3735, 0.3691, 0.3553, 0.334, 0.3088, 0.2832, 0.2591, 0.2372, 0.2179, 0.2011",\
                 "0.5286, 0.5232, 0.5053, 0.4772, 0.443, 0.4072, 0.3726, 0.3402, 0.3109, 0.2848",\
                 "0.7199, 0.7136, 0.692, 0.6573, 0.6143, 0.5677, 0.5215, 0.4775, 0.4368, 0.3998");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.5123, 0.5123, 0.5125, 0.5127, 0.5131, 0.5138, 0.5146, 0.5156, 0.5169, 0.5204",\
                 "0.5074, 0.5075, 0.5082, 0.5089, 0.5095, 0.5104, 0.5112, 0.5124, 0.5138, 0.5174",\
                 "0.5009, 0.5012, 0.502, 0.5034, 0.505, 0.5066, 0.5082, 0.5096, 0.5111, 0.5153",\
                 "0.5012, 0.5012, 0.5014, 0.502, 0.5031, 0.5043, 0.5059, 0.5078, 0.5095, 0.5145",\
                 "0.5261, 0.5251, 0.5232, 0.5202, 0.5174, 0.5156, 0.5146, 0.5142, 0.5146, 0.5188",\
                 "0.5893, 0.5875, 0.5817, 0.5737, 0.5644, 0.5553, 0.5478, 0.5421, 0.5376, 0.5388",\
                 "0.6942, 0.6915, 0.6824, 0.6677, 0.6511, 0.6334, 0.6166, 0.6015, 0.5895, 0.5851",\
                 "0.8392, 0.8355, 0.8229, 0.8035, 0.778, 0.7515, 0.7252, 0.7004, 0.6786, 0.6662",\
                 "1.022, 1.018, 1.003, 0.9787, 0.9468, 0.9105, 0.8743, 0.8387, 0.8062, 0.7889",\
                 "1.244, 1.239, 1.223, 1.195, 1.157, 1.112, 1.065, 1.02, 0.9778, 0.9602");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.09634, 0.09623, 0.09624, 0.09618, 0.09615, 0.0962, 0.09622, 0.09628, 0.09635, 0.09631",\
                 "0.09278, 0.09285, 0.09271, 0.09265, 0.09267, 0.09266, 0.09277, 0.09279, 0.09285, 0.09287",\
                 "0.08883, 0.08888, 0.08901, 0.08905, 0.08899, 0.08903, 0.08901, 0.08906, 0.08906, 0.08905",\
                 "0.09318, 0.09291, 0.09231, 0.09147, 0.09077, 0.09014, 0.08964, 0.08919, 0.08888, 0.08864",\
                 "0.119, 0.118, 0.1152, 0.1112, 0.1072, 0.1038, 0.1007, 0.09825, 0.0963, 0.09467",\
                 "0.1733, 0.1713, 0.1651, 0.1563, 0.1468, 0.1375, 0.1295, 0.1228, 0.1172, 0.1125",\
                 "0.2599, 0.2567, 0.2468, 0.2317, 0.2149, 0.198, 0.1827, 0.1691, 0.1575, 0.1476",\
                 "0.3808, 0.3763, 0.3624, 0.3409, 0.3154, 0.2893, 0.2649, 0.2424, 0.2226, 0.2054",\
                 "0.5371, 0.5315, 0.5138, 0.4854, 0.4512, 0.4149, 0.3797, 0.347, 0.3172, 0.2906",\
                 "0.7298, 0.7232, 0.7018, 0.6669, 0.6239, 0.577, 0.5303, 0.4859, 0.4448, 0.4071");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.5481, 0.5481, 0.5482, 0.5485, 0.5489, 0.5496, 0.5504, 0.5514, 0.5528, 0.5564",\
                 "0.5434, 0.5437, 0.5444, 0.5451, 0.546, 0.5471, 0.5481, 0.5493, 0.5508, 0.5551",\
                 "0.5367, 0.5369, 0.5379, 0.5393, 0.541, 0.5429, 0.5447, 0.5465, 0.5482, 0.553",\
                 "0.5368, 0.5368, 0.5371, 0.5376, 0.5389, 0.5403, 0.5422, 0.5443, 0.5462, 0.5515",\
                 "0.561, 0.5607, 0.5587, 0.5563, 0.5537, 0.552, 0.5511, 0.5509, 0.5513, 0.5555",\
                 "0.6237, 0.6222, 0.6173, 0.61, 0.6017, 0.5932, 0.5859, 0.58, 0.576, 0.577",\
                 "0.728, 0.7253, 0.7172, 0.7045, 0.6891, 0.6729, 0.6568, 0.6426, 0.6305, 0.6262",\
                 "0.8718, 0.8687, 0.8576, 0.8397, 0.817, 0.7925, 0.7679, 0.7438, 0.7219, 0.7106",\
                 "1.054, 1.051, 1.037, 1.015, 0.9858, 0.9531, 0.9195, 0.8856, 0.8546, 0.8388",\
                 "1.277, 1.272, 1.257, 1.231, 1.196, 1.156, 1.112, 1.069, 1.03, 1.015");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.09927, 0.09943, 0.09969, 0.09992, 0.1001, 0.1003, 0.1004, 0.1005, 0.1006, 0.1006",\
                 "0.1003, 0.1005, 0.101, 0.1016, 0.1021, 0.1025, 0.1028, 0.103, 0.1032, 0.1033",\
                 "0.1047, 0.1046, 0.1048, 0.1049, 0.105, 0.1051, 0.1052, 0.1054, 0.1055, 0.1055",\
                 "0.1193, 0.1188, 0.1174, 0.1157, 0.1141, 0.1126, 0.1114, 0.1104, 0.1097, 0.1091",\
                 "0.1509, 0.1498, 0.1464, 0.1417, 0.1366, 0.1318, 0.1278, 0.1244, 0.1215, 0.119",\
                 "0.2048, 0.2028, 0.1968, 0.188, 0.1782, 0.1688, 0.1601, 0.1525, 0.146, 0.1404",\
                 "0.2836, 0.2807, 0.2723, 0.259, 0.2433, 0.2276, 0.2128, 0.1996, 0.1879, 0.1775",\
                 "0.3892, 0.3857, 0.3749, 0.357, 0.3352, 0.3122, 0.2899, 0.2696, 0.2513, 0.2348",\
                 "0.5232, 0.5192, 0.5059, 0.484, 0.456, 0.4256, 0.3949, 0.366, 0.3399, 0.3159",\
                 "0.6872, 0.6826, 0.6672, 0.6414, 0.6076, 0.5695, 0.5301, 0.4919, 0.4564, 0.4236");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3308, 0.3317, 0.3335, 0.3354, 0.3367, 0.338, 0.3394, 0.3409, 0.3429, 0.3448",\
                 "0.3261, 0.3271, 0.3299, 0.3331, 0.336, 0.3383, 0.3405, 0.3423, 0.3445, 0.3462",\
                 "0.3298, 0.3298, 0.3301, 0.3315, 0.3337, 0.3363, 0.3389, 0.3413, 0.3439, 0.3458",\
                 "0.355, 0.3538, 0.3507, 0.3471, 0.3445, 0.3433, 0.3437, 0.3449, 0.3459, 0.3475",\
                 "0.4033, 0.4012, 0.395, 0.3863, 0.3774, 0.37, 0.365, 0.3614, 0.3587, 0.358",\
                 "0.4762, 0.4731, 0.4638, 0.4507, 0.436, 0.4214, 0.4091, 0.3985, 0.3911, 0.3857",\
                 "0.5759, 0.5721, 0.56, 0.5418, 0.5212, 0.5002, 0.4801, 0.4616, 0.4465, 0.4335",\
                 "0.7045, 0.6998, 0.685, 0.6624, 0.6354, 0.6076, 0.5802, 0.5547, 0.5309, 0.5099",\
                 "0.8639, 0.8584, 0.8414, 0.8142, 0.781, 0.7461, 0.7106, 0.6767, 0.6444, 0.6155",\
                 "1.056, 1.05, 1.03, 0.999, 0.9598, 0.9174, 0.8737, 0.8316, 0.7915, 0.7554");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.05744, 0.05766, 0.05792, 0.05826, 0.05855, 0.0587, 0.05884, 0.0589, 0.05895, 0.05901",\
                 "0.05827, 0.05853, 0.05915, 0.05987, 0.06053, 0.06096, 0.06125, 0.06148, 0.06163, 0.06172",\
                 "0.06228, 0.06246, 0.06265, 0.06294, 0.06317, 0.06333, 0.06355, 0.06372, 0.06383, 0.06389",\
                 "0.07747, 0.07699, 0.07554, 0.07392, 0.07226, 0.07095, 0.06973, 0.06879, 0.06805, 0.06743",\
                 "0.1114, 0.1101, 0.1063, 0.1011, 0.09575, 0.09076, 0.08649, 0.08295, 0.07996, 0.0776",\
                 "0.1685, 0.1665, 0.1597, 0.1497, 0.139, 0.1288, 0.1196, 0.1117, 0.105, 0.0992",\
                 "0.2508, 0.2479, 0.2382, 0.2235, 0.2063, 0.1892, 0.1736, 0.1598, 0.1475, 0.1369",\
                 "0.3602, 0.3564, 0.3441, 0.3246, 0.3009, 0.276, 0.2524, 0.2311, 0.212, 0.1951",\
                 "0.4979, 0.4933, 0.4786, 0.4546, 0.4243, 0.3916, 0.3593, 0.329, 0.3016, 0.2771",\
                 "0.665, 0.6598, 0.6429, 0.6146, 0.5784, 0.538, 0.4965, 0.4565, 0.4194, 0.386");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2904, 0.2913, 0.2932, 0.2951, 0.2965, 0.2979, 0.2993, 0.3004, 0.3023, 0.3039",\
                 "0.2857, 0.2867, 0.2895, 0.2928, 0.2957, 0.2981, 0.3, 0.3019, 0.304, 0.3056",\
                 "0.2895, 0.2894, 0.2898, 0.2912, 0.2934, 0.2961, 0.2985, 0.3011, 0.3033, 0.3049",\
                 "0.3146, 0.3135, 0.3103, 0.3069, 0.3042, 0.3033, 0.3032, 0.3041, 0.3059, 0.3069",\
                 "0.3628, 0.3607, 0.3545, 0.3462, 0.337, 0.3299, 0.3248, 0.3213, 0.3185, 0.3178",\
                 "0.4358, 0.4326, 0.4233, 0.4101, 0.3956, 0.3814, 0.3688, 0.3584, 0.3502, 0.3441",\
                 "0.5358, 0.5317, 0.5196, 0.5012, 0.4805, 0.4596, 0.4399, 0.4217, 0.4056, 0.3929",\
                 "0.665, 0.6601, 0.6449, 0.622, 0.5947, 0.567, 0.54, 0.5142, 0.4893, 0.4687",\
                 "0.8253, 0.8196, 0.8018, 0.7741, 0.7406, 0.7053, 0.6699, 0.6367, 0.6041, 0.5744",\
                 "1.019, 1.012, 0.9918, 0.9595, 0.9196, 0.8769, 0.8333, 0.791, 0.7511, 0.7151");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.05748, 0.05755, 0.05793, 0.05822, 0.05848, 0.0587, 0.05883, 0.05886, 0.05893, 0.05899",\
                 "0.05845, 0.05864, 0.05926, 0.05989, 0.06053, 0.06093, 0.06124, 0.06144, 0.06159, 0.06173",\
                 "0.06283, 0.06304, 0.06321, 0.06341, 0.06355, 0.06361, 0.06376, 0.0639, 0.06397, 0.06405",\
                 "0.07925, 0.07866, 0.07737, 0.07536, 0.0736, 0.07208, 0.07075, 0.06959, 0.06872, 0.06802",\
                 "0.115, 0.1136, 0.1097, 0.1042, 0.09847, 0.09342, 0.08891, 0.08515, 0.082, 0.07921",\
                 "0.1745, 0.1721, 0.1656, 0.1554, 0.1444, 0.1339, 0.1243, 0.116, 0.109, 0.1029",\
                 "0.2596, 0.2566, 0.2471, 0.2322, 0.2148, 0.1973, 0.1812, 0.1671, 0.1543, 0.1434",\
                 "0.3727, 0.3689, 0.3566, 0.337, 0.3132, 0.2881, 0.2639, 0.242, 0.2225, 0.205",\
                 "0.5147, 0.5102, 0.4955, 0.4714, 0.4411, 0.4084, 0.3758, 0.3447, 0.3169, 0.2913",\
                 "0.6874, 0.6822, 0.6651, 0.6369, 0.6006, 0.5603, 0.5185, 0.4782, 0.4404, 0.4058");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2897, 0.2906, 0.2925, 0.2943, 0.2958, 0.2973, 0.2984, 0.2997, 0.3013, 0.3029",\
                 "0.2838, 0.2847, 0.2874, 0.2907, 0.2935, 0.296, 0.298, 0.2999, 0.3016, 0.3036",\
                 "0.2886, 0.2884, 0.2883, 0.2891, 0.2909, 0.2933, 0.2959, 0.298, 0.3007, 0.3023",\
                 "0.316, 0.3149, 0.3113, 0.3072, 0.3038, 0.3021, 0.3017, 0.3022, 0.3036, 0.3043",\
                 "0.3666, 0.3645, 0.3583, 0.3496, 0.3399, 0.3319, 0.3256, 0.3209, 0.3185, 0.3165",\
                 "0.4427, 0.4394, 0.4301, 0.4169, 0.4024, 0.3875, 0.3737, 0.3622, 0.3538, 0.3468",\
                 "0.5463, 0.5423, 0.5303, 0.5119, 0.4916, 0.4704, 0.4505, 0.4311, 0.4138, 0.4005",\
                 "0.6804, 0.6754, 0.6603, 0.6375, 0.6107, 0.583, 0.5561, 0.5297, 0.5041, 0.4823",\
                 "0.8465, 0.8408, 0.8229, 0.7952, 0.7626, 0.7271, 0.6925, 0.6591, 0.6262, 0.5955",\
                 "1.047, 1.041, 1.02, 0.9875, 0.9476, 0.9056, 0.8626, 0.8209, 0.7814, 0.7425");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.01218, 0.01246, 0.01303, 0.01353, 0.01382, 0.014, 0.01413, 0.0142, 0.01423, 0.01427",\
                 "0.01205, 0.01245, 0.01367, 0.01481, 0.01564, 0.01616, 0.01649, 0.01673, 0.01686, 0.01698",\
                 "0.01622, 0.01649, 0.01701, 0.01764, 0.01817, 0.01848, 0.01873, 0.01894, 0.01907, 0.01915",\
                 "0.03496, 0.0342, 0.03225, 0.02995, 0.02797, 0.02646, 0.02515, 0.02414, 0.02343, 0.02279",\
                 "0.07468, 0.07261, 0.06715, 0.06004, 0.05337, 0.04762, 0.04273, 0.03897, 0.03571, 0.03321",\
                 "0.1379, 0.1347, 0.1256, 0.1127, 0.0994, 0.08747, 0.07739, 0.06867, 0.06153, 0.05546",\
                 "0.2259, 0.2218, 0.2095, 0.1909, 0.1704, 0.1508, 0.1332, 0.1182, 0.1052, 0.09397",\
                 "0.3404, 0.3354, 0.3201, 0.2963, 0.2686, 0.2405, 0.2145, 0.1911, 0.171, 0.1532",\
                 "0.4826, 0.477, 0.459, 0.4305, 0.3958, 0.3595, 0.3239, 0.2914, 0.2624, 0.2365",\
                 "0.6536, 0.6475, 0.6274, 0.5944, 0.5536, 0.5091, 0.464, 0.4212, 0.3818, 0.3471");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2223, 0.2231, 0.225, 0.2267, 0.2281, 0.2294, 0.2305, 0.2313, 0.2333, 0.2333",\
                 "0.2175, 0.2185, 0.2213, 0.2245, 0.2272, 0.2297, 0.2313, 0.2335, 0.2353, 0.236",\
                 "0.2214, 0.2213, 0.2216, 0.2228, 0.2248, 0.2276, 0.2299, 0.2317, 0.2333, 0.2369",\
                 "0.2467, 0.2453, 0.2423, 0.2385, 0.2355, 0.2347, 0.2347, 0.2355, 0.2366, 0.2373",\
                 "0.2948, 0.2927, 0.2864, 0.2778, 0.2689, 0.2612, 0.2555, 0.2521, 0.2492, 0.2485",\
                 "0.3688, 0.3651, 0.3556, 0.342, 0.3276, 0.3132, 0.2998, 0.2895, 0.2809, 0.2746",\
                 "0.47, 0.4655, 0.4523, 0.4339, 0.4125, 0.3913, 0.3719, 0.3532, 0.3363, 0.323",\
                 "0.6007, 0.5955, 0.5792, 0.5546, 0.5271, 0.4988, 0.4716, 0.4456, 0.4208, 0.3988",\
                 "0.7626, 0.7565, 0.7372, 0.7079, 0.6731, 0.6371, 0.6018, 0.5686, 0.5365, 0.5053",\
                 "0.9572, 0.9503, 0.9286, 0.8944, 0.8533, 0.8091, 0.7655, 0.7231, 0.6832, 0.6455");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.01211, 0.01247, 0.01298, 0.01351, 0.01381, 0.01399, 0.01411, 0.01415, 0.01421, 0.01426",\
                 "0.01217, 0.01257, 0.01374, 0.0149, 0.01565, 0.01616, 0.01648, 0.01669, 0.01684, 0.01697",\
                 "0.01696, 0.0172, 0.01765, 0.01818, 0.01858, 0.01882, 0.019, 0.0191, 0.01924, 0.0193",\
                 "0.03685, 0.03602, 0.03391, 0.03149, 0.0294, 0.02765, 0.02622, 0.02505, 0.0241, 0.0234",\
                 "0.07812, 0.07614, 0.07054, 0.06332, 0.05621, 0.05026, 0.04534, 0.04119, 0.03775, 0.03497",\
                 "0.1437, 0.1405, 0.1314, 0.1184, 0.1049, 0.09254, 0.08203, 0.07311, 0.06552, 0.05907",\
                 "0.2344, 0.2305, 0.2181, 0.1996, 0.179, 0.1589, 0.141, 0.1255, 0.112, 0.1003",\
                 "0.3527, 0.3478, 0.3324, 0.3088, 0.281, 0.2527, 0.2262, 0.2025, 0.1816, 0.1633",\
                 "0.4993, 0.4937, 0.4758, 0.4474, 0.4127, 0.3762, 0.3406, 0.3074, 0.2773, 0.251",\
                 "0.6759, 0.6695, 0.6495, 0.6168, 0.5758, 0.531, 0.4861, 0.4429, 0.4029, 0.3669");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2216, 0.2225, 0.2244, 0.226, 0.2274, 0.2287, 0.23, 0.231, 0.2317, 0.233",\
                 "0.2157, 0.2166, 0.2193, 0.2223, 0.2251, 0.2277, 0.2292, 0.2307, 0.232, 0.2353",\
                 "0.2205, 0.2203, 0.2201, 0.2208, 0.2224, 0.2249, 0.2271, 0.2294, 0.2307, 0.2327",\
                 "0.248, 0.2468, 0.2434, 0.239, 0.2353, 0.2333, 0.2327, 0.2331, 0.2343, 0.235",\
                 "0.2988, 0.2966, 0.29, 0.2815, 0.2718, 0.2632, 0.2568, 0.2521, 0.2485, 0.2478",\
                 "0.3755, 0.3719, 0.3627, 0.3488, 0.3343, 0.3194, 0.3054, 0.2935, 0.2842, 0.2769",\
                 "0.4805, 0.4762, 0.463, 0.4443, 0.4232, 0.4025, 0.382, 0.3625, 0.3452, 0.3303",\
                 "0.6162, 0.6111, 0.5945, 0.5699, 0.5428, 0.5148, 0.4878, 0.4614, 0.4356, 0.4124",\
                 "0.7842, 0.7779, 0.7583, 0.7288, 0.6947, 0.6594, 0.6242, 0.5908, 0.5576, 0.5263",\
                 "0.9861, 0.979, 0.9569, 0.9221, 0.8814, 0.8382, 0.7948, 0.7528, 0.7132, 0.6748");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.01211, 0.01247, 0.01298, 0.01351, 0.01381, 0.01399, 0.01411, 0.01415, 0.01421, 0.01426",\
                 "0.01217, 0.01257, 0.01374, 0.0149, 0.01565, 0.01616, 0.01648, 0.01669, 0.01684, 0.01697",\
                 "0.01696, 0.0172, 0.01765, 0.01818, 0.01858, 0.0188, 0.01898, 0.0191, 0.01924, 0.0193",\
                 "0.03687, 0.03602, 0.03391, 0.03149, 0.02941, 0.02765, 0.02622, 0.02505, 0.0241, 0.0234",\
                 "0.07813, 0.07614, 0.07054, 0.06332, 0.05621, 0.05025, 0.04534, 0.0411, 0.03774, 0.03494",\
                 "0.1437, 0.1405, 0.1314, 0.1184, 0.1049, 0.0925, 0.08203, 0.07301, 0.06541, 0.05903",\
                 "0.2344, 0.2306, 0.2181, 0.1996, 0.179, 0.1589, 0.141, 0.1256, 0.112, 0.1004",\
                 "0.3527, 0.3478, 0.3324, 0.3088, 0.281, 0.2527, 0.2262, 0.2025, 0.1816, 0.1632",\
                 "0.4993, 0.4937, 0.4758, 0.4474, 0.4127, 0.3762, 0.3406, 0.3074, 0.2773, 0.251",\
                 "0.6759, 0.6695, 0.6495, 0.6168, 0.5758, 0.531, 0.4861, 0.4429, 0.4029, 0.3669");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2216, 0.2225, 0.2244, 0.226, 0.2274, 0.2287, 0.2296, 0.2307, 0.2314, 0.233",\
                 "0.2157, 0.2166, 0.2192, 0.2222, 0.2251, 0.2276, 0.2292, 0.2307, 0.232, 0.2353",\
                 "0.2204, 0.2204, 0.2201, 0.2207, 0.2224, 0.2248, 0.2271, 0.2294, 0.2307, 0.234",\
                 "0.248, 0.2469, 0.2434, 0.239, 0.2354, 0.2335, 0.2327, 0.2332, 0.2343, 0.2346",\
                 "0.2988, 0.2966, 0.2901, 0.2814, 0.2717, 0.2632, 0.2569, 0.2521, 0.2492, 0.2468",\
                 "0.3754, 0.3719, 0.3627, 0.3488, 0.3344, 0.3194, 0.3051, 0.2935, 0.2842, 0.2769",\
                 "0.4805, 0.4762, 0.4628, 0.4444, 0.4235, 0.4023, 0.382, 0.3626, 0.3452, 0.3299",\
                 "0.6161, 0.6111, 0.5946, 0.5699, 0.5428, 0.5146, 0.4878, 0.4614, 0.4356, 0.4124",\
                 "0.7841, 0.7777, 0.7583, 0.7288, 0.6947, 0.6592, 0.6242, 0.5907, 0.5576, 0.526",\
                 "0.9862, 0.979, 0.9569, 0.9221, 0.8816, 0.8383, 0.795, 0.7526, 0.7122, 0.6742");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&A3&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.0121, 0.01239, 0.01303, 0.01346, 0.01378, 0.01398, 0.01407, 0.01413, 0.01419, 0.01423",\
                 "0.01225, 0.01264, 0.01377, 0.01485, 0.01568, 0.01617, 0.01649, 0.01672, 0.01689, 0.01696",\
                 "0.01737, 0.0175, 0.0179, 0.01842, 0.01875, 0.01895, 0.01911, 0.01919, 0.01929, 0.01932",\
                 "0.0377, 0.03673, 0.03465, 0.03218, 0.03002, 0.02817, 0.02662, 0.02545, 0.02439, 0.02365",\
                 "0.07959, 0.07749, 0.07184, 0.0645, 0.05757, 0.05134, 0.04625, 0.04191, 0.03853, 0.03564",\
                 "0.1457, 0.1426, 0.1336, 0.1205, 0.1069, 0.09436, 0.0839, 0.07466, 0.06693, 0.06039",\
                 "0.2376, 0.2336, 0.2212, 0.2027, 0.182, 0.1619, 0.1438, 0.1281, 0.1146, 0.1027",\
                 "0.3571, 0.3522, 0.3368, 0.3132, 0.2853, 0.2571, 0.2304, 0.2065, 0.1854, 0.1669",\
                 "0.5051, 0.4995, 0.4816, 0.4534, 0.4187, 0.3821, 0.3464, 0.3132, 0.2832, 0.2565",\
                 "0.6835, 0.6772, 0.6572, 0.6246, 0.5837, 0.5389, 0.4938, 0.4507, 0.4107, 0.374");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2212, 0.2221, 0.2239, 0.2256, 0.2269, 0.2282, 0.2291, 0.2305, 0.232, 0.2327",\
                 "0.2149, 0.2157, 0.2183, 0.2213, 0.2241, 0.2264, 0.2281, 0.23, 0.231, 0.2327",\
                 "0.2202, 0.2201, 0.2196, 0.2201, 0.2215, 0.2236, 0.226, 0.2282, 0.2297, 0.2317",\
                 "0.2486, 0.2473, 0.2438, 0.2393, 0.2353, 0.2331, 0.232, 0.2324, 0.2327, 0.2336",\
                 "0.3001, 0.2978, 0.2916, 0.2827, 0.273, 0.2642, 0.2573, 0.2524, 0.2489, 0.2472",\
                 "0.3777, 0.3744, 0.3647, 0.3513, 0.3367, 0.322, 0.3072, 0.2949, 0.2852, 0.2775",\
                 "0.4841, 0.4797, 0.4665, 0.4484, 0.4273, 0.4067, 0.3857, 0.366, 0.3482, 0.3326",\
                 "0.6215, 0.6159, 0.5997, 0.5754, 0.5484, 0.5205, 0.4936, 0.467, 0.4409, 0.4177",\
                 "0.7916, 0.7851, 0.7656, 0.7361, 0.7021, 0.6667, 0.6316, 0.5991, 0.5655, 0.5342",\
                 "0.996, 0.9891, 0.9666, 0.9317, 0.8908, 0.8473, 0.805, 0.7626, 0.7235, 0.6851");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1403, 0.1403, 0.1402, 0.1402, 0.1402, 0.1402, 0.1402, 0.1403, 0.1403, 0.1403",\
                 "0.1371, 0.1371, 0.1371, 0.1371, 0.1372, 0.1372, 0.1372, 0.1373, 0.1372, 0.1373",\
                 "0.1376, 0.1375, 0.1371, 0.1366, 0.1362, 0.1359, 0.1357, 0.1356, 0.1354, 0.1354",\
                 "0.152, 0.1514, 0.1496, 0.1474, 0.145, 0.1429, 0.1411, 0.1397, 0.1387, 0.1379",\
                 "0.1872, 0.1859, 0.1821, 0.1762, 0.1699, 0.164, 0.1589, 0.1547, 0.151, 0.1481",\
                 "0.2482, 0.2462, 0.2397, 0.2293, 0.2177, 0.2059, 0.1951, 0.1857, 0.178, 0.1714",\
                 "0.3388, 0.336, 0.3264, 0.3114, 0.2929, 0.274, 0.2559, 0.2392, 0.2249, 0.2127",\
                 "0.4614, 0.4577, 0.4455, 0.4253, 0.4001, 0.3727, 0.3457, 0.3205, 0.2974, 0.2775",\
                 "0.6177, 0.6134, 0.5987, 0.5734, 0.5412, 0.5052, 0.4683, 0.4331, 0.4004, 0.3707",\
                 "0.8094, 0.804, 0.7871, 0.7575, 0.7185, 0.6737, 0.6269, 0.5807, 0.5366, 0.4961");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3735, 0.3742, 0.3758, 0.3773, 0.3785, 0.3797, 0.3811, 0.3824, 0.3838, 0.3864",\
                 "0.3675, 0.3686, 0.3715, 0.3749, 0.3778, 0.3801, 0.3822, 0.384, 0.3858, 0.3881",\
                 "0.3636, 0.3641, 0.3658, 0.3686, 0.3723, 0.3757, 0.379, 0.3818, 0.3845, 0.3871",\
                 "0.3827, 0.3819, 0.3802, 0.3784, 0.3779, 0.3787, 0.3804, 0.3827, 0.3845, 0.3868",\
                 "0.4331, 0.4309, 0.4248, 0.4169, 0.4096, 0.4036, 0.3999, 0.3979, 0.3967, 0.3966",\
                 "0.5158, 0.5125, 0.5025, 0.4881, 0.4728, 0.4587, 0.4465, 0.4371, 0.4297, 0.4246",\
                 "0.631, 0.627, 0.6134, 0.5932, 0.5696, 0.5469, 0.526, 0.5072, 0.4917, 0.4787",\
                 "0.7802, 0.7753, 0.759, 0.7336, 0.7023, 0.6702, 0.6396, 0.6116, 0.5863, 0.5641",\
                 "0.9657, 0.9598, 0.9414, 0.9105, 0.8725, 0.8313, 0.7904, 0.7522, 0.7163, 0.6842",\
                 "1.189, 1.183, 1.162, 1.127, 1.082, 1.032, 0.981, 0.9313, 0.8854, 0.8427");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.0985, 0.0985, 0.09847, 0.09849, 0.09852, 0.09862, 0.09864, 0.09864, 0.09869, 0.09867",\
                 "0.0954, 0.09533, 0.09531, 0.09535, 0.09545, 0.09559, 0.09562, 0.09563, 0.09565, 0.09566",\
                 "0.09583, 0.09564, 0.09536, 0.09489, 0.09445, 0.09417, 0.09405, 0.09398, 0.09384, 0.09378",\
                 "0.111, 0.1103, 0.1085, 0.1059, 0.1035, 0.1014, 0.09955, 0.09807, 0.09705, 0.09625",\
                 "0.1485, 0.1472, 0.1429, 0.1363, 0.1295, 0.1232, 0.1179, 0.1134, 0.1096, 0.1067",\
                 "0.2134, 0.211, 0.2036, 0.1921, 0.1794, 0.1665, 0.1551, 0.1451, 0.1372, 0.1304",\
                 "0.3082, 0.3049, 0.2942, 0.2774, 0.2572, 0.2368, 0.2174, 0.2001, 0.185, 0.1723",\
                 "0.435, 0.4309, 0.4172, 0.3949, 0.3672, 0.3378, 0.3092, 0.2827, 0.259, 0.238",\
                 "0.5954, 0.5905, 0.5742, 0.5468, 0.5117, 0.4731, 0.4341, 0.3972, 0.3633, 0.3324",\
                 "0.7907, 0.7848, 0.766, 0.7341, 0.6923, 0.6446, 0.5951, 0.5469, 0.5012, 0.4595");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3331, 0.3338, 0.3354, 0.337, 0.3382, 0.3396, 0.3407, 0.342, 0.3439, 0.3449",\
                 "0.3271, 0.3282, 0.3312, 0.3346, 0.3374, 0.34, 0.3418, 0.3435, 0.3452, 0.3475",\
                 "0.3233, 0.3237, 0.3254, 0.3283, 0.332, 0.3356, 0.3386, 0.3415, 0.3439, 0.3462",\
                 "0.3424, 0.3417, 0.3398, 0.3381, 0.3376, 0.3386, 0.34, 0.3419, 0.3446, 0.3468",\
                 "0.3925, 0.3904, 0.3842, 0.3765, 0.3693, 0.3635, 0.3595, 0.3571, 0.3561, 0.3557",\
                 "0.4754, 0.4721, 0.462, 0.4475, 0.4324, 0.4185, 0.4064, 0.3966, 0.3898, 0.3837",\
                 "0.5912, 0.5869, 0.5732, 0.5526, 0.5291, 0.5063, 0.4851, 0.4668, 0.4511, 0.4375",\
                 "0.7413, 0.736, 0.7192, 0.6934, 0.662, 0.6296, 0.5989, 0.5708, 0.5452, 0.5232",\
                 "0.9277, 0.9214, 0.9024, 0.8711, 0.8325, 0.7909, 0.7497, 0.7117, 0.6761, 0.6441",\
                 "1.151, 1.145, 1.124, 1.088, 1.043, 0.992, 0.941, 0.891, 0.8449, 0.802");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.09858, 0.09856, 0.09847, 0.09845, 0.09855, 0.09863, 0.09868, 0.09868, 0.09867, 0.09873",\
                 "0.09534, 0.09539, 0.09534, 0.09535, 0.09545, 0.09551, 0.09558, 0.09568, 0.09567, 0.09563",\
                 "0.09626, 0.09612, 0.09574, 0.09531, 0.09469, 0.0944, 0.09416, 0.094, 0.09395, 0.09391",\
                 "0.1127, 0.1121, 0.1101, 0.1074, 0.1047, 0.1024, 0.1004, 0.0989, 0.09774, 0.09678",\
                 "0.1525, 0.1511, 0.1465, 0.1401, 0.1326, 0.126, 0.1202, 0.1156, 0.1116, 0.1084",\
                 "0.2206, 0.2182, 0.2104, 0.1989, 0.1856, 0.1723, 0.1604, 0.15, 0.1413, 0.1341",\
                 "0.3194, 0.316, 0.3052, 0.2882, 0.2676, 0.2465, 0.2266, 0.2086, 0.1928, 0.1795",\
                 "0.4515, 0.4474, 0.4336, 0.411, 0.3828, 0.3529, 0.3237, 0.2963, 0.2717, 0.25",\
                 "0.6183, 0.6134, 0.5967, 0.5692, 0.5337, 0.4944, 0.455, 0.417, 0.3821, 0.3503",\
                 "0.8212, 0.8154, 0.7964, 0.7639, 0.7216, 0.6734, 0.6234, 0.5744, 0.5277, 0.4844");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3324, 0.3332, 0.3347, 0.3362, 0.3375, 0.3389, 0.3399, 0.3413, 0.3426, 0.3442",\
                 "0.3254, 0.3264, 0.3293, 0.3327, 0.3354, 0.3379, 0.3398, 0.3415, 0.3439, 0.3449",\
                 "0.3221, 0.3224, 0.3238, 0.3261, 0.3294, 0.3328, 0.3357, 0.3384, 0.3409, 0.3435",\
                 "0.343, 0.3423, 0.34, 0.3377, 0.3365, 0.3368, 0.3377, 0.3394, 0.3419, 0.3432",\
                 "0.3968, 0.3948, 0.3882, 0.3798, 0.3713, 0.3649, 0.3602, 0.3569, 0.3551, 0.3544",\
                 "0.4842, 0.4807, 0.4703, 0.4556, 0.4398, 0.4251, 0.4115, 0.4007, 0.3917, 0.3854",\
                 "0.6056, 0.601, 0.5874, 0.5667, 0.5427, 0.5192, 0.4971, 0.4771, 0.4601, 0.4451",\
                 "0.7629, 0.7572, 0.7404, 0.7143, 0.6831, 0.6501, 0.619, 0.5891, 0.562, 0.538",\
                 "0.9576, 0.9515, 0.9315, 0.9005, 0.8617, 0.8202, 0.7785, 0.7394, 0.7025, 0.6689",\
                 "1.192, 1.185, 1.164, 1.127, 1.081, 1.032, 0.9794, 0.9293, 0.8825, 0.8392");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.05372, 0.05367, 0.05372, 0.05378, 0.05383, 0.0539, 0.05394, 0.05394, 0.05394, 0.05395",\
                 "0.05034, 0.05039, 0.05049, 0.0506, 0.05071, 0.05078, 0.05092, 0.05091, 0.05091, 0.05092",\
                 "0.05128, 0.05109, 0.05071, 0.05032, 0.04982, 0.04954, 0.04937, 0.04923, 0.04909, 0.04903",\
                 "0.06996, 0.06898, 0.06629, 0.06283, 0.05974, 0.05728, 0.05519, 0.0536, 0.0525, 0.05165",\
                 "0.1133, 0.1113, 0.105, 0.09664, 0.08809, 0.08052, 0.07443, 0.06959, 0.06552, 0.0624",\
                 "0.1848, 0.1815, 0.1715, 0.1569, 0.1411, 0.1265, 0.1134, 0.1026, 0.0939, 0.08663",\
                 "0.2862, 0.2817, 0.268, 0.2473, 0.2233, 0.1998, 0.1782, 0.1592, 0.1432, 0.1297",\
                 "0.4187, 0.4134, 0.3966, 0.3699, 0.3378, 0.3045, 0.2728, 0.2441, 0.2188, 0.1967",\
                 "0.584, 0.5778, 0.5586, 0.5266, 0.4866, 0.4437, 0.401, 0.3612, 0.3252, 0.2926",\
                 "0.7834, 0.7766, 0.755, 0.7184, 0.6714, 0.6188, 0.5652, 0.5137, 0.4656, 0.4216");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.265, 0.2656, 0.2672, 0.2686, 0.2697, 0.2711, 0.2718, 0.2731, 0.2739, 0.2752",\
                 "0.259, 0.26, 0.263, 0.2663, 0.2689, 0.2713, 0.2729, 0.2743, 0.2759, 0.2792",\
                 "0.2552, 0.2556, 0.2572, 0.2599, 0.2634, 0.2667, 0.2701, 0.2729, 0.2746, 0.2772",\
                 "0.2743, 0.2734, 0.2718, 0.2699, 0.2691, 0.2697, 0.2711, 0.273, 0.2749, 0.2765",\
                 "0.3246, 0.3223, 0.316, 0.3084, 0.3011, 0.2949, 0.2907, 0.2881, 0.2871, 0.2864",\
                 "0.4084, 0.4049, 0.3945, 0.3793, 0.3639, 0.3502, 0.3379, 0.3278, 0.3198, 0.3138",\
                 "0.5258, 0.5211, 0.5066, 0.4852, 0.4612, 0.4377, 0.4173, 0.3986, 0.3815, 0.3682",\
                 "0.6774, 0.6716, 0.654, 0.6263, 0.5945, 0.5618, 0.5306, 0.503, 0.4775, 0.4533",\
                 "0.8648, 0.8584, 0.8381, 0.8059, 0.7653, 0.7232, 0.6818, 0.6433, 0.6078, 0.5759",\
                 "1.09, 1.083, 1.061, 1.024, 0.9769, 0.9247, 0.8722, 0.8228, 0.7767, 0.734");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.05369, 0.05371, 0.05363, 0.05376, 0.05385, 0.05386, 0.0539, 0.05393, 0.05394, 0.05397",\
                 "0.05044, 0.05035, 0.05054, 0.05061, 0.05074, 0.05086, 0.05086, 0.05089, 0.05092, 0.05093",\
                 "0.05176, 0.05165, 0.05119, 0.05068, 0.05014, 0.0497, 0.04949, 0.04931, 0.04919, 0.04915",\
                 "0.07172, 0.07079, 0.06793, 0.06439, 0.06106, 0.05832, 0.05613, 0.05441, 0.05314, 0.05217",\
                 "0.1174, 0.1152, 0.1089, 0.1003, 0.09131, 0.08357, 0.07707, 0.07171, 0.06755, 0.06415",\
                 "0.192, 0.1888, 0.1784, 0.1636, 0.1475, 0.1323, 0.1189, 0.1075, 0.09829, 0.09053",\
                 "0.2975, 0.293, 0.2792, 0.2581, 0.2338, 0.2096, 0.1875, 0.168, 0.1511, 0.1369",\
                 "0.4354, 0.4301, 0.4131, 0.386, 0.3534, 0.3197, 0.2872, 0.258, 0.2317, 0.2088",\
                 "0.6072, 0.6012, 0.5813, 0.5492, 0.5087, 0.4651, 0.422, 0.3813, 0.344, 0.311",\
                 "0.8147, 0.8077, 0.7856, 0.7486, 0.701, 0.6479, 0.5938, 0.5411, 0.4922, 0.4472");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2642, 0.265, 0.2664, 0.2679, 0.269, 0.2701, 0.2712, 0.2726, 0.2743, 0.2746",\
                 "0.2572, 0.2583, 0.2611, 0.2643, 0.2669, 0.2692, 0.2709, 0.2723, 0.2736, 0.2752",\
                 "0.254, 0.2542, 0.2556, 0.2577, 0.261, 0.264, 0.267, 0.27, 0.2713, 0.2736",\
                 "0.2748, 0.2741, 0.272, 0.2695, 0.268, 0.268, 0.2689, 0.2703, 0.2723, 0.2739",\
                 "0.329, 0.3266, 0.3201, 0.3115, 0.3032, 0.2962, 0.2911, 0.2879, 0.2861, 0.2851",\
                 "0.4173, 0.4136, 0.4026, 0.3875, 0.3715, 0.3572, 0.3431, 0.3315, 0.3231, 0.3161",\
                 "0.5404, 0.5354, 0.521, 0.4989, 0.4745, 0.4512, 0.4291, 0.4089, 0.3904, 0.3758",\
                 "0.6992, 0.6933, 0.6751, 0.6477, 0.6152, 0.5822, 0.5505, 0.5213, 0.494, 0.4691",\
                 "0.8954, 0.8888, 0.8681, 0.8348, 0.7946, 0.7521, 0.7105, 0.6713, 0.6345, 0.6007",\
                 "1.131, 1.124, 1.101, 1.063, 1.016, 0.9636, 0.9115, 0.8612, 0.8143, 0.7709");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.05367, 0.05365, 0.05369, 0.05374, 0.05383, 0.05385, 0.05388, 0.05391, 0.05397, 0.05395",\
                 "0.05038, 0.05046, 0.05049, 0.05059, 0.05076, 0.0508, 0.05092, 0.05093, 0.05091, 0.05097",\
                 "0.05176, 0.05165, 0.05119, 0.05068, 0.05014, 0.0497, 0.0495, 0.04932, 0.04919, 0.04915",\
                 "0.07172, 0.07082, 0.06794, 0.06439, 0.06103, 0.05832, 0.05613, 0.05441, 0.05316, 0.05224",\
                 "0.1175, 0.1152, 0.1088, 0.1003, 0.09131, 0.08359, 0.07705, 0.07177, 0.06755, 0.06415",\
                 "0.1921, 0.1887, 0.1784, 0.1636, 0.1475, 0.1323, 0.1188, 0.1076, 0.09834, 0.09055",\
                 "0.2975, 0.293, 0.2792, 0.2581, 0.2338, 0.2096, 0.1875, 0.1679, 0.1511, 0.1369",\
                 "0.4354, 0.4301, 0.4131, 0.3859, 0.3534, 0.3197, 0.2872, 0.2581, 0.2318, 0.2087",\
                 "0.6072, 0.6012, 0.5813, 0.5492, 0.5087, 0.4651, 0.422, 0.3813, 0.3441, 0.311",\
                 "0.8147, 0.8077, 0.7856, 0.7486, 0.701, 0.6479, 0.5938, 0.5411, 0.4922, 0.4473");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2643, 0.265, 0.2665, 0.268, 0.269, 0.2701, 0.271, 0.2726, 0.2733, 0.2749",\
                 "0.2572, 0.2583, 0.2612, 0.2643, 0.2669, 0.2692, 0.2709, 0.2723, 0.2736, 0.2772",\
                 "0.254, 0.2542, 0.2555, 0.2577, 0.261, 0.264, 0.2669, 0.2695, 0.2716, 0.2736",\
                 "0.2748, 0.2741, 0.2719, 0.2695, 0.268, 0.2681, 0.2688, 0.2703, 0.2723, 0.2739",\
                 "0.329, 0.3266, 0.3201, 0.3115, 0.3032, 0.2962, 0.2912, 0.2876, 0.2861, 0.2855",\
                 "0.4173, 0.4136, 0.4027, 0.3875, 0.3716, 0.3572, 0.3434, 0.3317, 0.3228, 0.3158",\
                 "0.5404, 0.5354, 0.521, 0.499, 0.4745, 0.4512, 0.429, 0.4089, 0.3904, 0.3761",\
                 "0.6992, 0.6934, 0.6751, 0.6477, 0.6152, 0.5821, 0.5506, 0.5214, 0.494, 0.4688",\
                 "0.8953, 0.8889, 0.868, 0.8348, 0.7946, 0.7522, 0.7105, 0.6713, 0.6348, 0.601",\
                 "1.131, 1.124, 1.101, 1.063, 1.016, 0.9641, 0.9116, 0.8606, 0.814, 0.7712");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&A3&!B1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.05367, 0.05366, 0.0536, 0.05375, 0.05385, 0.05387, 0.05393, 0.05396, 0.05396, 0.054",\
                 "0.05038, 0.05045, 0.05054, 0.05059, 0.05073, 0.0508, 0.05087, 0.0509, 0.05095, 0.0509",\
                 "0.05202, 0.05189, 0.05134, 0.05083, 0.05032, 0.04979, 0.04957, 0.0494, 0.04923, 0.04915",\
                 "0.07254, 0.07155, 0.06861, 0.065, 0.06158, 0.05873, 0.05652, 0.05472, 0.05334, 0.05237",\
                 "0.1189, 0.1167, 0.1104, 0.1017, 0.09257, 0.08466, 0.07806, 0.07268, 0.06824, 0.06477",\
                 "0.1946, 0.1915, 0.181, 0.1661, 0.1499, 0.1345, 0.1209, 0.1095, 0.09999, 0.09208",\
                 "0.3017, 0.2972, 0.2832, 0.2622, 0.2377, 0.2133, 0.191, 0.1711, 0.1542, 0.1398",\
                 "0.4414, 0.436, 0.4191, 0.3918, 0.3593, 0.3251, 0.2926, 0.263, 0.2365, 0.2134",\
                 "0.6156, 0.6092, 0.5895, 0.557, 0.5165, 0.4729, 0.4294, 0.3887, 0.3511, 0.3178",\
                 "0.8254, 0.8186, 0.7964, 0.7593, 0.7116, 0.6584, 0.6039, 0.5511, 0.502, 0.4566");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2639, 0.2645, 0.266, 0.2674, 0.2685, 0.2697, 0.2706, 0.2721, 0.2739, 0.2739",\
                 "0.2565, 0.2574, 0.2603, 0.2633, 0.2658, 0.2681, 0.2699, 0.2713, 0.2726, 0.2742",\
                 "0.2537, 0.2538, 0.2548, 0.2569, 0.2598, 0.2631, 0.2659, 0.2688, 0.2703, 0.2732",\
                 "0.2752, 0.2744, 0.2721, 0.2694, 0.2676, 0.2674, 0.268, 0.2693, 0.271, 0.2732",\
                 "0.3305, 0.328, 0.3216, 0.3129, 0.3046, 0.2971, 0.2913, 0.2878, 0.2855, 0.2848",\
                 "0.4204, 0.4167, 0.4059, 0.3904, 0.3741, 0.3592, 0.3454, 0.3333, 0.3241, 0.3168",\
                 "0.5455, 0.5405, 0.5257, 0.5039, 0.4796, 0.4555, 0.4334, 0.4129, 0.3937, 0.3788",\
                 "0.7066, 0.7009, 0.6827, 0.655, 0.6223, 0.5891, 0.5576, 0.5282, 0.5003, 0.4747",\
                 "0.906, 0.8994, 0.8783, 0.8451, 0.8046, 0.7622, 0.7204, 0.681, 0.6441, 0.6099",\
                 "1.146, 1.138, 1.115, 1.077, 1.029, 0.9772, 0.9253, 0.8748, 0.8275, 0.7841");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1496, 0.1587, 0.1898, 0.2473, 0.3349, 0.4564, 0.6155, 0.8152, 1.059, 1.349",\
                 "0.1641, 0.1734, 0.2047, 0.2625, 0.3505, 0.4722, 0.6313, 0.8312, 1.075, 1.365",\
                 "0.198, 0.2078, 0.2404, 0.2987, 0.3869, 0.5089, 0.6683, 0.8684, 1.112, 1.402",\
                 "0.2181, 0.2303, 0.2703, 0.3396, 0.437, 0.5635, 0.723, 0.9229, 1.167, 1.457",\
                 "0.2051, 0.2211, 0.2727, 0.3591, 0.4755, 0.6212, 0.7972, 1.005, 1.25, 1.539",\
                 "0.1473, 0.1676, 0.2331, 0.3416, 0.485, 0.6578, 0.8583, 1.09, 1.355, 1.655",\
                 "0.0398, 0.0644, 0.1441, 0.2765, 0.4509, 0.6576, 0.892, 1.154, 1.446, 1.773",\
                 "-0.1218, -0.0926, 0.0021, 0.1586, 0.3649, 0.6096, 0.8839, 1.185, 1.513, 1.871",\
                 "-0.3403, -0.3068, -0.1975, -0.0157, 0.2233, 0.5061, 0.8241, 1.17, 1.541, 1.939",\
                 "-0.6173, -0.5797, -0.4567, -0.2505, 0.0224, 0.3442, 0.7052, 1.099, 1.519, 1.965");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.4713, 0.5022, 0.6092, 0.8115, 1.123, 1.559, 2.13, 2.848, 3.723, 4.765",\
                 "0.4762, 0.5069, 0.6148, 0.8179, 1.131, 1.567, 2.138, 2.856, 3.732, 4.773",\
                 "0.5238, 0.5543, 0.6611, 0.8634, 1.176, 1.612, 2.183, 2.902, 3.778, 4.82",\
                 "0.6501, 0.6789, 0.7823, 0.9788, 1.285, 1.717, 2.285, 3.001, 3.875, 4.915",\
                 "0.8597, 0.8898, 0.9926, 1.183, 1.481, 1.903, 2.463, 3.172, 4.041, 5.077",\
                 "1.125, 1.157, 1.271, 1.475, 1.774, 2.186, 2.736, 3.435, 4.293, 5.322",\
                 "1.447, 1.483, 1.604, 1.825, 2.15, 2.575, 3.115, 3.802, 4.649, 5.665",\
                 "1.837, 1.875, 2.004, 2.239, 2.586, 3.042, 3.605, 4.285, 5.119, 6.122",\
                 "2.292, 2.334, 2.475, 2.725, 3.09, 3.571, 4.17, 4.881, 5.711, 6.7",\
                 "2.815, 2.86, 3.016, 3.285, 3.669, 4.175, 4.804, 5.555, 6.421, 7.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1347, 0.1489, 0.1999, 0.2952, 0.4429, 0.6491, 0.9199, 1.26, 1.677, 2.171",\
                 "0.1342, 0.1488, 0.1999, 0.2957, 0.4431, 0.6489, 0.9191, 1.261, 1.676, 2.17",\
                 "0.1488, 0.1619, 0.2067, 0.297, 0.443, 0.6495, 0.9192, 1.26, 1.675, 2.171",\
                 "0.2063, 0.2198, 0.2655, 0.3508, 0.4803, 0.6654, 0.9236, 1.261, 1.676, 2.17",\
                 "0.2985, 0.3131, 0.3614, 0.4482, 0.5786, 0.761, 0.996, 1.3, 1.69, 2.173",\
                 "0.4172, 0.434, 0.4906, 0.5864, 0.721, 0.902, 1.139, 1.436, 1.796, 2.238",\
                 "0.5594, 0.5782, 0.642, 0.7536, 0.9034, 1.095, 1.33, 1.626, 1.986, 2.416",\
                 "0.7228, 0.7452, 0.8184, 0.9426, 1.114, 1.323, 1.574, 1.87, 2.229, 2.658",\
                 "0.9034, 0.9296, 1.017, 1.156, 1.347, 1.58, 1.853, 2.169, 2.531, 2.957",\
                 "1.098, 1.128, 1.227, 1.392, 1.603, 1.863, 2.165, 2.504, 2.884, 3.317");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.9138, 0.9663, 1.152, 1.502, 2.043, 2.802, 3.796, 5.047, 6.574, 8.394",\
                 "0.9137, 0.9667, 1.151, 1.502, 2.043, 2.802, 3.797, 5.047, 6.575, 8.395",\
                 "0.9122, 0.9654, 1.151, 1.501, 2.044, 2.802, 3.797, 5.047, 6.574, 8.394",\
                 "0.9063, 0.958, 1.145, 1.5, 2.043, 2.801, 3.797, 5.049, 6.574, 8.394",\
                 "0.9684, 1.015, 1.183, 1.509, 2.042, 2.801, 3.797, 5.048, 6.575, 8.393",\
                 "1.063, 1.114, 1.291, 1.606, 2.094, 2.809, 3.795, 5.048, 6.576, 8.394",\
                 "1.169, 1.221, 1.406, 1.746, 2.241, 2.913, 3.83, 5.053, 6.575, 8.396",\
                 "1.303, 1.356, 1.54, 1.889, 2.412, 3.104, 3.981, 5.123, 6.588, 8.393",\
                 "1.471, 1.523, 1.706, 2.053, 2.588, 3.317, 4.22, 5.321, 6.702, 8.424",\
                 "1.666, 1.722, 1.908, 2.254, 2.785, 3.533, 4.481, 5.607, 6.948, 8.586");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1229, 0.1313, 0.1607, 0.2162, 0.302, 0.4223, 0.5805, 0.7797, 1.023, 1.313",\
                 "0.1365, 0.1453, 0.1753, 0.2311, 0.3176, 0.4381, 0.5964, 0.7954, 1.039, 1.329",\
                 "0.1644, 0.1746, 0.2083, 0.2667, 0.3535, 0.4746, 0.6333, 0.833, 1.076, 1.366",\
                 "0.1704, 0.1841, 0.228, 0.3004, 0.4003, 0.5284, 0.6878, 0.8871, 1.13, 1.42",\
                 "0.1381, 0.1566, 0.2151, 0.3089, 0.4313, 0.5805, 0.7588, 0.9686, 1.213, 1.503",\
                 "0.0588, 0.0825, 0.1573, 0.2768, 0.4299, 0.6097, 0.8147, 1.049, 1.316, 1.618",\
                 "-0.0712, -0.0421, 0.0495, 0.1961, 0.3829, 0.5998, 0.8416, 1.108, 1.403, 1.732",\
                 "-0.2554, -0.2208, -0.1117, 0.0625, 0.2838, 0.5405, 0.8245, 1.133, 1.466, 1.826",\
                 "-0.4946, -0.4551, -0.3301, -0.1286, 0.1287, 0.426, 0.7551, 1.109, 1.487, 1.89",\
                 "-0.7899, -0.7471, -0.6066, -0.3789, -0.086, 0.2528, 0.6267, 1.031, 1.458, 1.909");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.4582, 0.4889, 0.5964, 0.7981, 1.109, 1.543, 2.112, 2.828, 3.699, 4.739",\
                 "0.4625, 0.494, 0.6019, 0.8047, 1.116, 1.551, 2.119, 2.835, 3.708, 4.748",\
                 "0.5105, 0.5411, 0.6482, 0.85, 1.161, 1.596, 2.166, 2.882, 3.754, 4.794",\
                 "0.6367, 0.666, 0.7689, 0.9653, 1.271, 1.701, 2.266, 2.98, 3.851, 4.89",\
                 "0.8457, 0.8759, 0.9797, 1.169, 1.466, 1.887, 2.444, 3.151, 4.018, 5.051",\
                 "1.107, 1.14, 1.255, 1.46, 1.759, 2.17, 2.717, 3.413, 4.27, 5.297",\
                 "1.429, 1.465, 1.586, 1.808, 2.133, 2.557, 3.096, 3.78, 4.625, 5.639",\
                 "1.814, 1.853, 1.984, 2.219, 2.566, 3.022, 3.585, 4.263, 5.094, 6.095",\
                 "2.266, 2.308, 2.451, 2.702, 3.068, 3.55, 4.148, 4.858, 5.687, 6.673",\
                 "2.782, 2.831, 2.988, 3.259, 3.644, 4.15, 4.779, 5.529, 6.396, 7.383");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.101, 0.1147, 0.1636, 0.2575, 0.4043, 0.6098, 0.8814, 1.221, 1.636, 2.132",\
                 "0.1013, 0.115, 0.1637, 0.2576, 0.4045, 0.6101, 0.8812, 1.221, 1.637, 2.132",\
                 "0.1243, 0.1364, 0.1781, 0.2627, 0.4048, 0.6105, 0.8813, 1.222, 1.637, 2.133",\
                 "0.1854, 0.1979, 0.2415, 0.323, 0.4516, 0.632, 0.8862, 1.221, 1.635, 2.132",\
                 "0.2803, 0.2939, 0.3416, 0.4257, 0.553, 0.7322, 0.9666, 1.266, 1.654, 2.136",\
                 "0.4004, 0.4164, 0.471, 0.5672, 0.701, 0.8798, 1.113, 1.407, 1.765, 2.205",\
                 "0.545, 0.563, 0.625, 0.734, 0.8832, 1.073, 1.308, 1.6, 1.957, 2.387",\
                 "0.709, 0.7306, 0.8016, 0.925, 1.094, 1.303, 1.553, 1.848, 2.203, 2.629",\
                 "0.8886, 0.9134, 0.9968, 1.139, 1.327, 1.561, 1.832, 2.147, 2.509, 2.929",\
                 "1.083, 1.109, 1.206, 1.37, 1.586, 1.843, 2.143, 2.482, 2.864, 3.293");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.7225, 0.7769, 0.9639, 1.316, 1.858, 2.617, 3.613, 4.866, 6.389, 8.208",\
                 "0.7228, 0.7771, 0.9632, 1.314, 1.858, 2.617, 3.611, 4.863, 6.388, 8.208",\
                 "0.7206, 0.7755, 0.963, 1.315, 1.858, 2.617, 3.613, 4.866, 6.389, 8.209",\
                 "0.7143, 0.7675, 0.9571, 1.313, 1.858, 2.616, 3.612, 4.863, 6.388, 8.21",\
                 "0.773, 0.823, 0.994, 1.322, 1.856, 2.616, 3.612, 4.864, 6.392, 8.208",\
                 "0.847, 0.9044, 1.09, 1.417, 1.908, 2.623, 3.61, 4.863, 6.391, 8.211",\
                 "0.9348, 0.9928, 1.191, 1.542, 2.052, 2.727, 3.644, 4.865, 6.389, 8.21",\
                 "1.053, 1.111, 1.307, 1.671, 2.211, 2.915, 3.797, 4.936, 6.402, 8.209",\
                 "1.199, 1.257, 1.459, 1.819, 2.372, 3.116, 4.031, 5.135, 6.519, 8.238",\
                 "1.362, 1.428, 1.638, 2.005, 2.562, 3.316, 4.281, 5.419, 6.76, 8.398");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1046, 0.111, 0.1334, 0.1754, 0.2403, 0.3309, 0.4501, 0.6002, 0.7833, 1.001",\
                 "0.1188, 0.1254, 0.1483, 0.1907, 0.2557, 0.3468, 0.466, 0.6161, 0.7993, 1.017",\
                 "0.1507, 0.1595, 0.1884, 0.2359, 0.3025, 0.3939, 0.5133, 0.6636, 0.847, 1.065",\
                 "0.1583, 0.1713, 0.2128, 0.2799, 0.3683, 0.4746, 0.5989, 0.7495, 0.933, 1.151",\
                 "0.1273, 0.1449, 0.2011, 0.2913, 0.4075, 0.5448, 0.7004, 0.8736, 1.065, 1.285",\
                 "0.0503, 0.0728, 0.1444, 0.26, 0.4082, 0.5802, 0.7723, 0.983, 1.212, 1.459",\
                 "-0.0768, -0.049, 0.0387, 0.1798, 0.3612, 0.5715, 0.8042, 1.056, 1.327, 1.616",\
                 "-0.2572, -0.2248, -0.1212, 0.0468, 0.2618, 0.512, 0.7876, 1.085, 1.401, 1.735",\
                 "-0.4925, -0.4561, -0.3379, -0.1439, 0.1061, 0.3959, 0.7171, 1.061, 1.427, 1.811",\
                 "-0.7851, -0.7443, -0.6126, -0.3947, -0.11, 0.2209, 0.5863, 0.981, 1.397, 1.834");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.5186, 0.5488, 0.6546, 0.8546, 1.164, 1.597, 2.164, 2.879, 3.751, 4.791",\
                 "0.5239, 0.5544, 0.6611, 0.8622, 1.173, 1.607, 2.175, 2.891, 3.762, 4.802",\
                 "0.5713, 0.6015, 0.7072, 0.9074, 1.218, 1.652, 2.22, 2.936, 3.809, 4.849",\
                 "0.6966, 0.7258, 0.8275, 1.023, 1.328, 1.757, 2.323, 3.036, 3.906, 4.945",\
                 "0.9081, 0.9373, 1.037, 1.227, 1.524, 1.944, 2.501, 3.208, 4.074, 5.107",\
                 "1.176, 1.209, 1.32, 1.522, 1.818, 2.23, 2.777, 3.474, 4.329, 5.356",\
                 "1.503, 1.537, 1.657, 1.877, 2.198, 2.619, 3.158, 3.844, 4.687, 5.702",\
                 "1.895, 1.933, 2.061, 2.293, 2.638, 3.091, 3.651, 4.33, 5.161, 6.164",\
                 "2.356, 2.398, 2.535, 2.782, 3.145, 3.626, 4.223, 4.93, 5.759, 6.748",\
                 "2.887, 2.931, 3.081, 3.345, 3.727, 4.231, 4.861, 5.61, 6.472, 7.463");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.09222, 0.1027, 0.1397, 0.2109, 0.3221, 0.4774, 0.6806, 0.9382, 1.251, 1.624",\
                 "0.09262, 0.103, 0.1399, 0.2109, 0.3216, 0.4773, 0.681, 0.9372, 1.251, 1.622",\
                 "0.1333, 0.1418, 0.1696, 0.2256, 0.325, 0.4771, 0.6803, 0.9374, 1.25, 1.624",\
                 "0.2182, 0.2273, 0.2606, 0.3214, 0.4101, 0.5289, 0.7012, 0.9401, 1.25, 1.625",\
                 "0.3304, 0.3411, 0.3787, 0.4475, 0.5486, 0.6794, 0.842, 1.04, 1.299, 1.637",\
                 "0.4664, 0.4784, 0.5222, 0.6028, 0.7172, 0.8634, 1.042, 1.254, 1.5, 1.788",\
                 "0.6258, 0.6394, 0.6904, 0.7826, 0.914, 1.08, 1.276, 1.505, 1.772, 2.073",\
                 "0.8052, 0.8216, 0.881, 0.9836, 1.135, 1.321, 1.543, 1.793, 2.077, 2.402",\
                 "1.002, 1.02, 1.088, 1.21, 1.378, 1.59, 1.838, 2.117, 2.425, 2.769",\
                 "1.213, 1.234, 1.312, 1.453, 1.646, 1.884, 2.16, 2.468, 2.809, 3.176");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.7975, 0.851, 1.037, 1.389, 1.932, 2.69, 3.686, 4.937, 6.464, 8.283",\
                 "0.7964, 0.8508, 1.037, 1.389, 1.932, 2.69, 3.687, 4.94, 6.463, 8.283",\
                 "0.7962, 0.8499, 1.037, 1.389, 1.932, 2.691, 3.685, 4.937, 6.464, 8.283",\
                 "0.7883, 0.8428, 1.032, 1.388, 1.932, 2.691, 3.687, 4.937, 6.463, 8.283",\
                 "0.8388, 0.8884, 1.059, 1.392, 1.929, 2.69, 3.686, 4.939, 6.467, 8.282",\
                 "0.9226, 0.9756, 1.159, 1.479, 1.973, 2.694, 3.684, 4.937, 6.465, 8.285",\
                 "1.008, 1.067, 1.259, 1.61, 2.112, 2.789, 3.713, 4.939, 6.464, 8.284",\
                 "1.122, 1.179, 1.375, 1.738, 2.273, 2.973, 3.855, 5.002, 6.473, 8.284",\
                 "1.267, 1.324, 1.52, 1.883, 2.435, 3.176, 4.086, 5.192, 6.579, 8.309",\
                 "1.433, 1.496, 1.699, 2.063, 2.615, 3.38, 4.336, 5.47, 6.814, 8.456");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1496, 0.1587, 0.1898, 0.2473, 0.3349, 0.4564, 0.6155, 0.8152, 1.059, 1.349",\
                 "0.1641, 0.1734, 0.2047, 0.2625, 0.3505, 0.4722, 0.6313, 0.8312, 1.075, 1.365",\
                 "0.198, 0.2078, 0.2404, 0.2987, 0.3869, 0.5089, 0.6683, 0.8684, 1.112, 1.402",\
                 "0.2181, 0.2303, 0.2703, 0.3396, 0.437, 0.5635, 0.723, 0.9229, 1.167, 1.457",\
                 "0.2051, 0.2211, 0.2727, 0.3591, 0.4755, 0.6212, 0.7972, 1.005, 1.25, 1.539",\
                 "0.1473, 0.1676, 0.2331, 0.3416, 0.485, 0.6578, 0.8583, 1.09, 1.355, 1.655",\
                 "0.0398, 0.0644, 0.1441, 0.2765, 0.4509, 0.6576, 0.892, 1.154, 1.446, 1.773",\
                 "-0.1218, -0.0926, 0.0021, 0.1586, 0.3649, 0.6096, 0.8839, 1.185, 1.513, 1.871",\
                 "-0.3403, -0.3068, -0.1975, -0.0157, 0.2233, 0.5061, 0.8241, 1.17, 1.541, 1.939",\
                 "-0.6173, -0.5797, -0.4567, -0.2505, 0.0224, 0.3442, 0.7052, 1.099, 1.519, 1.965");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.5186, 0.5488, 0.6546, 0.8546, 1.164, 1.597, 2.164, 2.879, 3.751, 4.791",\
                 "0.5239, 0.5544, 0.6611, 0.8622, 1.173, 1.607, 2.175, 2.891, 3.762, 4.802",\
                 "0.5713, 0.6015, 0.7072, 0.9074, 1.218, 1.652, 2.22, 2.936, 3.809, 4.849",\
                 "0.6966, 0.7258, 0.8275, 1.023, 1.328, 1.757, 2.323, 3.036, 3.906, 4.945",\
                 "0.9081, 0.9373, 1.037, 1.227, 1.524, 1.944, 2.501, 3.208, 4.074, 5.107",\
                 "1.176, 1.209, 1.32, 1.522, 1.818, 2.23, 2.777, 3.474, 4.329, 5.356",\
                 "1.503, 1.537, 1.657, 1.877, 2.198, 2.619, 3.158, 3.844, 4.687, 5.702",\
                 "1.895, 1.933, 2.061, 2.293, 2.638, 3.091, 3.651, 4.33, 5.161, 6.164",\
                 "2.356, 2.398, 2.535, 2.782, 3.145, 3.626, 4.223, 4.93, 5.759, 6.748",\
                 "2.887, 2.931, 3.081, 3.345, 3.727, 4.231, 4.861, 5.61, 6.472, 7.463");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1347, 0.1489, 0.1999, 0.2952, 0.4429, 0.6491, 0.9199, 1.26, 1.677, 2.171",\
                 "0.1342, 0.1488, 0.1999, 0.2957, 0.4431, 0.6489, 0.9191, 1.261, 1.676, 2.17",\
                 "0.1488, 0.1619, 0.2067, 0.297, 0.443, 0.6495, 0.9192, 1.26, 1.675, 2.171",\
                 "0.2063, 0.2198, 0.2655, 0.3508, 0.4803, 0.6654, 0.9236, 1.261, 1.676, 2.17",\
                 "0.2985, 0.3131, 0.3614, 0.4482, 0.5786, 0.761, 0.996, 1.3, 1.69, 2.173",\
                 "0.4172, 0.434, 0.4906, 0.5864, 0.721, 0.902, 1.139, 1.436, 1.796, 2.238",\
                 "0.5594, 0.5782, 0.642, 0.7536, 0.9034, 1.095, 1.33, 1.626, 1.986, 2.416",\
                 "0.7228, 0.7452, 0.8184, 0.9426, 1.114, 1.323, 1.574, 1.87, 2.229, 2.658",\
                 "0.9034, 0.9296, 1.017, 1.156, 1.347, 1.58, 1.853, 2.169, 2.531, 2.957",\
                 "1.098, 1.128, 1.227, 1.392, 1.603, 1.863, 2.165, 2.504, 2.884, 3.317");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.9138, 0.9663, 1.152, 1.502, 2.043, 2.802, 3.796, 5.047, 6.574, 8.394",\
                 "0.9137, 0.9667, 1.151, 1.502, 2.043, 2.802, 3.797, 5.047, 6.575, 8.395",\
                 "0.9122, 0.9654, 1.151, 1.501, 2.044, 2.802, 3.797, 5.047, 6.574, 8.394",\
                 "0.9063, 0.958, 1.145, 1.5, 2.043, 2.801, 3.797, 5.049, 6.574, 8.394",\
                 "0.9684, 1.015, 1.183, 1.509, 2.042, 2.801, 3.797, 5.048, 6.575, 8.393",\
                 "1.063, 1.114, 1.291, 1.606, 2.094, 2.809, 3.795, 5.048, 6.576, 8.394",\
                 "1.169, 1.221, 1.406, 1.746, 2.241, 2.913, 3.83, 5.053, 6.575, 8.396",\
                 "1.303, 1.356, 1.54, 1.889, 2.412, 3.104, 3.981, 5.123, 6.588, 8.393",\
                 "1.471, 1.523, 1.706, 2.053, 2.588, 3.317, 4.22, 5.321, 6.702, 8.424",\
                 "1.666, 1.722, 1.908, 2.254, 2.785, 3.533, 4.481, 5.607, 6.948, 8.586");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1849, 0.1945, 0.2268, 0.286, 0.3755, 0.4988, 0.6592, 0.8601, 1.105, 1.395",\
                 "0.1992, 0.2087, 0.241, 0.3003, 0.39, 0.5132, 0.6737, 0.8746, 1.119, 1.41",\
                 "0.2341, 0.2436, 0.276, 0.3352, 0.4249, 0.5483, 0.7089, 0.9099, 1.154, 1.445",\
                 "0.2641, 0.2756, 0.3137, 0.3805, 0.4764, 0.602, 0.7623, 0.9634, 1.208, 1.499",\
                 "0.2667, 0.2813, 0.3289, 0.4103, 0.5226, 0.6651, 0.839, 1.046, 1.29, 1.581",\
                 "0.2287, 0.2468, 0.3066, 0.4075, 0.5435, 0.7103, 0.9067, 1.135, 1.398, 1.697",\
                 "0.1442, 0.1664, 0.2381, 0.3609, 0.5249, 0.7237, 0.951, 1.207, 1.496, 1.819",\
                 "0.0115, 0.0375, 0.1223, 0.2654, 0.4591, 0.6917, 0.957, 1.25, 1.571, 1.924",\
                 "-0.1735, -0.1436, -0.0461, 0.1188, 0.3411, 0.61, 0.9147, 1.25, 1.613, 2.003",\
                 "-0.4118, -0.3788, -0.2692, -0.0828, 0.17, 0.4731, 0.8194, 1.199, 1.607, 2.044");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.601, 0.6317, 0.739, 0.941, 1.253, 1.688, 2.259, 2.977, 3.852, 4.894",\
                 "0.6066, 0.6375, 0.745, 0.9478, 1.26, 1.696, 2.268, 2.986, 3.861, 4.903",\
                 "0.6386, 0.6698, 0.7782, 0.9823, 1.296, 1.733, 2.306, 3.025, 3.901, 4.943",\
                 "0.7137, 0.7447, 0.851, 1.052, 1.364, 1.8, 2.372, 3.091, 3.967, 5.009",\
                 "0.8541, 0.8851, 0.9927, 1.191, 1.495, 1.924, 2.49, 3.204, 4.077, 5.116",\
                 "1.062, 1.094, 1.203, 1.407, 1.713, 2.133, 2.687, 3.391, 4.255, 5.288",\
                 "1.34, 1.373, 1.485, 1.692, 2.005, 2.431, 2.979, 3.669, 4.52, 5.541",\
                 "1.683, 1.718, 1.837, 2.05, 2.369, 2.805, 3.363, 4.049, 4.885, 5.891",\
                 "2.084, 2.122, 2.252, 2.48, 2.81, 3.253, 3.821, 4.52, 5.356, 6.346",\
                 "2.545, 2.586, 2.729, 2.976, 3.326, 3.781, 4.358, 5.069, 5.921, 6.913");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1774, 0.1927, 0.2459, 0.3433, 0.4923, 0.6998, 0.9714, 1.312, 1.73, 2.224",\
                 "0.1775, 0.1926, 0.2455, 0.3434, 0.4927, 0.7003, 0.9717, 1.313, 1.73, 2.225",\
                 "0.1832, 0.1973, 0.2471, 0.3433, 0.4925, 0.6997, 0.9713, 1.313, 1.73, 2.225",\
                 "0.2401, 0.2544, 0.3018, 0.3892, 0.5208, 0.7116, 0.974, 1.313, 1.729, 2.224",\
                 "0.3367, 0.3505, 0.3998, 0.4874, 0.6182, 0.801, 1.038, 1.347, 1.739, 2.225",\
                 "0.4642, 0.4798, 0.5344, 0.6284, 0.7632, 0.9438, 1.181, 1.478, 1.84, 2.286",\
                 "0.6164, 0.6362, 0.6982, 0.8032, 0.95, 1.138, 1.372, 1.667, 2.028, 2.459",\
                 "0.7944, 0.8158, 0.8868, 1.006, 1.167, 1.372, 1.619, 1.913, 2.269, 2.7",\
                 "0.997, 1.023, 1.102, 1.236, 1.417, 1.639, 1.904, 2.214, 2.574, 2.996",\
                 "1.22, 1.249, 1.339, 1.49, 1.693, 1.94, 2.225, 2.556, 2.93, 3.359");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.9148, 0.9672, 1.152, 1.502, 2.044, 2.802, 3.797, 5.049, 6.575, 8.391",\
                 "0.9149, 0.9674, 1.152, 1.501, 2.043, 2.801, 3.796, 5.048, 6.575, 8.39",\
                 "0.9151, 0.9675, 1.152, 1.502, 2.043, 2.802, 3.796, 5.048, 6.575, 8.394",\
                 "0.9245, 0.9748, 1.154, 1.502, 2.043, 2.801, 3.796, 5.048, 6.576, 8.393",\
                 "0.9934, 1.04, 1.206, 1.529, 2.049, 2.802, 3.797, 5.048, 6.575, 8.393",\
                 "1.079, 1.125, 1.297, 1.615, 2.11, 2.826, 3.8, 5.048, 6.576, 8.394",\
                 "1.179, 1.227, 1.396, 1.722, 2.223, 2.916, 3.849, 5.061, 6.576, 8.394",\
                 "1.325, 1.369, 1.529, 1.845, 2.348, 3.054, 3.966, 5.135, 6.602, 8.397",\
                 "1.504, 1.55, 1.706, 2.011, 2.5, 3.204, 4.131, 5.281, 6.704, 8.444",\
                 "1.71, 1.758, 1.919, 2.22, 2.691, 3.379, 4.312, 5.478, 6.88, 8.578");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.153, 0.1623, 0.1941, 0.2527, 0.3414, 0.4638, 0.6237, 0.8241, 1.068, 1.359",\
                 "0.1672, 0.1765, 0.2084, 0.267, 0.3558, 0.4783, 0.6381, 0.8386, 1.083, 1.373",\
                 "0.1999, 0.2099, 0.2428, 0.3017, 0.3906, 0.5133, 0.6733, 0.8738, 1.118, 1.408",\
                 "0.2195, 0.2321, 0.2726, 0.3421, 0.4399, 0.5666, 0.7268, 0.9273, 1.171, 1.462",\
                 "0.2061, 0.2226, 0.2752, 0.3623, 0.4793, 0.625, 0.8009, 1.009, 1.254, 1.544",\
                 "0.1496, 0.1703, 0.2371, 0.3467, 0.491, 0.6636, 0.8638, 1.095, 1.359, 1.659",\
                 "0.0477, 0.0722, 0.1527, 0.2862, 0.4607, 0.6677, 0.9013, 1.162, 1.453, 1.779",\
                 "-0.1034, -0.0742, 0.0203, 0.1768, 0.3826, 0.6263, 0.8991, 1.199, 1.524, 1.88",\
                 "-0.3057, -0.2724, -0.1643, 0.016, 0.2527, 0.5333, 0.8486, 1.191, 1.56, 1.956",\
                 "-0.5593, -0.5225, -0.4021, -0.1997, 0.0688, 0.3868, 0.7435, 1.133, 1.548, 1.99");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.5877, 0.619, 0.7261, 0.9275, 1.238, 1.672, 2.241, 2.956, 3.829, 4.868",\
                 "0.5935, 0.6245, 0.7322, 0.9348, 1.246, 1.68, 2.249, 2.965, 3.837, 4.877",\
                 "0.6257, 0.6569, 0.7654, 0.9687, 1.282, 1.717, 2.287, 3.004, 3.877, 4.917",\
                 "0.7005, 0.7312, 0.8377, 1.039, 1.35, 1.784, 2.353, 3.07, 3.943, 4.983",\
                 "0.8393, 0.8703, 0.9792, 1.177, 1.481, 1.908, 2.472, 3.183, 4.053, 5.092",\
                 "1.045, 1.077, 1.188, 1.391, 1.698, 2.116, 2.669, 3.37, 4.232, 5.261",\
                 "1.323, 1.356, 1.469, 1.675, 1.989, 2.415, 2.961, 3.648, 4.496, 5.515",\
                 "1.662, 1.698, 1.819, 2.033, 2.351, 2.786, 3.343, 4.027, 4.861, 5.865",\
                 "2.059, 2.099, 2.231, 2.461, 2.791, 3.233, 3.8, 4.498, 5.331, 6.319",\
                 "2.516, 2.559, 2.704, 2.954, 3.305, 3.76, 4.335, 5.045, 5.894, 6.886");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1431, 0.1584, 0.2099, 0.3067, 0.4548, 0.6614, 0.9323, 1.273, 1.69, 2.184",\
                 "0.1432, 0.1579, 0.2099, 0.3063, 0.4548, 0.6613, 0.9319, 1.273, 1.69, 2.185",\
                 "0.1573, 0.1702, 0.2161, 0.3075, 0.4546, 0.6613, 0.9318, 1.273, 1.69, 2.185",\
                 "0.2196, 0.2328, 0.2776, 0.3621, 0.4913, 0.6774, 0.9362, 1.274, 1.69, 2.184",\
                 "0.3206, 0.3343, 0.3806, 0.4656, 0.5936, 0.7726, 1.008, 1.312, 1.702, 2.186",\
                 "0.4494, 0.465, 0.518, 0.6102, 0.742, 0.9198, 1.153, 1.449, 1.809, 2.251",\
                 "0.6058, 0.6226, 0.682, 0.7856, 0.9308, 1.118, 1.349, 1.64, 2, 2.43",\
                 "0.7866, 0.8064, 0.8722, 0.991, 1.152, 1.352, 1.598, 1.891, 2.245, 2.67",\
                 "0.987, 1.012, 1.089, 1.22, 1.398, 1.621, 1.884, 2.192, 2.549, 2.972",\
                 "1.207, 1.233, 1.326, 1.476, 1.676, 1.922, 2.208, 2.535, 2.911, 3.336");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.7238, 0.7785, 0.9641, 1.315, 1.857, 2.616, 3.611, 4.863, 6.39, 8.205",\
                 "0.7244, 0.7773, 0.9628, 1.315, 1.858, 2.616, 3.611, 4.863, 6.388, 8.207",\
                 "0.724, 0.7776, 0.9643, 1.315, 1.858, 2.616, 3.612, 4.862, 6.388, 8.207",\
                 "0.7333, 0.7851, 0.9662, 1.314, 1.858, 2.616, 3.611, 4.864, 6.389, 8.206",\
                 "0.8006, 0.8492, 1.018, 1.342, 1.863, 2.616, 3.612, 4.862, 6.389, 8.211",\
                 "0.8678, 0.9206, 1.099, 1.428, 1.925, 2.641, 3.614, 4.863, 6.391, 8.21",\
                 "0.9618, 1.011, 1.188, 1.521, 2.034, 2.73, 3.663, 4.873, 6.39, 8.209",\
                 "1.092, 1.141, 1.311, 1.638, 2.151, 2.865, 3.779, 4.95, 6.416, 8.212",\
                 "1.25, 1.299, 1.473, 1.795, 2.292, 3.005, 3.941, 5.095, 6.52, 8.26",\
                 "1.425, 1.481, 1.665, 1.99, 2.48, 3.175, 4.111, 5.286, 6.694, 8.39");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1252, 0.1324, 0.1566, 0.2012, 0.2684, 0.3611, 0.4817, 0.6327, 0.8166, 1.036",\
                 "0.1401, 0.147, 0.1714, 0.216, 0.2833, 0.3759, 0.4964, 0.6477, 0.8316, 1.05",\
                 "0.1804, 0.1887, 0.2157, 0.2616, 0.329, 0.4217, 0.5425, 0.6935, 0.8777, 1.096",\
                 "0.2046, 0.2162, 0.2539, 0.3168, 0.4011, 0.5042, 0.6274, 0.7787, 0.9628, 1.182",\
                 "0.1927, 0.2084, 0.2588, 0.3421, 0.4519, 0.5838, 0.7351, 0.9052, 1.095, 1.315",\
                 "0.1383, 0.1579, 0.2217, 0.3276, 0.4665, 0.6311, 0.8167, 1.022, 1.247, 1.492",\
                 "0.0382, 0.0619, 0.1386, 0.2673, 0.437, 0.6368, 0.8612, 1.106, 1.371, 1.656",\
                 "-0.1105, -0.0827, 0.0075, 0.1583, 0.3582, 0.5953, 0.86, 1.148, 1.456, 1.785",\
                 "-0.3102, -0.2792, -0.1763, -0.0026, 0.2274, 0.5011, 0.808, 1.141, 1.497, 1.873",\
                 "-0.5621, -0.5274, -0.4138, -0.2183, 0.0424, 0.3518, 0.7008, 1.08, 1.485, 1.911");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.6484, 0.6789, 0.784, 0.9842, 1.294, 1.726, 2.294, 3.009, 3.881, 4.921",\
                 "0.6543, 0.6852, 0.7916, 0.9923, 1.302, 1.736, 2.304, 3.02, 3.892, 4.931",\
                 "0.6864, 0.7169, 0.8237, 1.026, 1.338, 1.772, 2.342, 3.058, 3.932, 4.972",\
                 "0.761, 0.7912, 0.896, 1.096, 1.405, 1.838, 2.407, 3.123, 3.997, 5.037",\
                 "0.903, 0.9332, 1.039, 1.235, 1.538, 1.964, 2.527, 3.238, 4.107, 5.145",\
                 "1.112, 1.143, 1.251, 1.453, 1.757, 2.175, 2.727, 3.427, 4.288, 5.318",\
                 "1.393, 1.425, 1.536, 1.741, 2.052, 2.478, 3.021, 3.71, 4.558, 5.576",\
                 "1.74, 1.775, 1.891, 2.102, 2.42, 2.854, 3.41, 4.094, 4.928, 5.931",\
                 "2.148, 2.186, 2.312, 2.535, 2.864, 3.306, 3.873, 4.571, 5.405, 6.394",\
                 "2.616, 2.656, 2.794, 3.037, 3.382, 3.837, 4.414, 5.127, 5.977, 6.967");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1251, 0.1363, 0.1751, 0.248, 0.3601, 0.5159, 0.7195, 0.9767, 1.29, 1.663",\
                 "0.125, 0.136, 0.1749, 0.2482, 0.3602, 0.5157, 0.7196, 0.9765, 1.291, 1.663",\
                 "0.1556, 0.164, 0.193, 0.2547, 0.3604, 0.515, 0.7201, 0.9769, 1.29, 1.663",\
                 "0.2466, 0.2557, 0.2877, 0.347, 0.435, 0.5564, 0.7344, 0.978, 1.29, 1.664",\
                 "0.366, 0.3759, 0.4133, 0.4798, 0.5774, 0.7066, 0.8676, 1.068, 1.333, 1.676",\
                 "0.5102, 0.5226, 0.5652, 0.642, 0.7526, 0.8944, 1.07, 1.28, 1.527, 1.817",\
                 "0.68, 0.6952, 0.7422, 0.8312, 0.9562, 1.116, 1.307, 1.534, 1.799, 2.1",\
                 "0.8766, 0.8914, 0.9468, 1.047, 1.187, 1.367, 1.581, 1.825, 2.107, 2.429",\
                 "1.094, 1.113, 1.178, 1.288, 1.448, 1.647, 1.884, 2.156, 2.456, 2.797",\
                 "1.328, 1.35, 1.426, 1.555, 1.734, 1.958, 2.221, 2.516, 2.848, 3.21");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.7971, 0.8516, 1.038, 1.39, 1.932, 2.69, 3.686, 4.938, 6.462, 8.281",\
                 "0.7978, 0.8513, 1.037, 1.389, 1.932, 2.691, 3.685, 4.938, 6.466, 8.28",\
                 "0.798, 0.8507, 1.036, 1.388, 1.931, 2.69, 3.685, 4.936, 6.462, 8.282",\
                 "0.8039, 0.856, 1.038, 1.39, 1.931, 2.69, 3.685, 4.937, 6.464, 8.283",\
                 "0.8642, 0.9128, 1.082, 1.41, 1.935, 2.69, 3.687, 4.937, 6.464, 8.284",\
                 "0.9346, 0.9872, 1.165, 1.492, 1.991, 2.71, 3.687, 4.938, 6.464, 8.283",\
                 "1.019, 1.071, 1.248, 1.585, 2.098, 2.794, 3.731, 4.945, 6.464, 8.283",\
                 "1.143, 1.192, 1.364, 1.696, 2.211, 2.926, 3.843, 5.016, 6.488, 8.285",\
                 "1.3, 1.348, 1.521, 1.844, 2.345, 3.067, 4.002, 5.156, 6.586, 8.329",\
                 "1.477, 1.53, 1.71, 2.035, 2.523, 3.226, 4.173, 5.344, 6.751, 8.452");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1849, 0.1945, 0.2268, 0.286, 0.3755, 0.4988, 0.6592, 0.8601, 1.105, 1.395",\
                 "0.1992, 0.2087, 0.241, 0.3003, 0.39, 0.5132, 0.6737, 0.8746, 1.119, 1.41",\
                 "0.2341, 0.2436, 0.276, 0.3352, 0.4249, 0.5483, 0.7089, 0.9099, 1.154, 1.445",\
                 "0.2641, 0.2756, 0.3137, 0.3805, 0.4764, 0.602, 0.7623, 0.9634, 1.208, 1.499",\
                 "0.2667, 0.2813, 0.3289, 0.4103, 0.5226, 0.6651, 0.839, 1.046, 1.29, 1.581",\
                 "0.2287, 0.2468, 0.3066, 0.4075, 0.5435, 0.7103, 0.9067, 1.135, 1.398, 1.697",\
                 "0.1442, 0.1664, 0.2381, 0.3609, 0.5249, 0.7237, 0.951, 1.207, 1.496, 1.819",\
                 "0.0115, 0.0375, 0.1223, 0.2654, 0.4591, 0.6917, 0.957, 1.25, 1.571, 1.924",\
                 "-0.1735, -0.1436, -0.0461, 0.1188, 0.3411, 0.61, 0.9147, 1.25, 1.613, 2.003",\
                 "-0.4118, -0.3788, -0.2692, -0.0828, 0.17, 0.4731, 0.8194, 1.199, 1.607, 2.044");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.6484, 0.6789, 0.784, 0.9842, 1.294, 1.726, 2.294, 3.009, 3.881, 4.921",\
                 "0.6543, 0.6852, 0.7916, 0.9923, 1.302, 1.736, 2.304, 3.02, 3.892, 4.931",\
                 "0.6864, 0.7169, 0.8237, 1.026, 1.338, 1.772, 2.342, 3.058, 3.932, 4.972",\
                 "0.761, 0.7912, 0.896, 1.096, 1.405, 1.838, 2.407, 3.123, 3.997, 5.037",\
                 "0.903, 0.9332, 1.039, 1.235, 1.538, 1.964, 2.527, 3.238, 4.107, 5.145",\
                 "1.112, 1.143, 1.251, 1.453, 1.757, 2.175, 2.727, 3.427, 4.288, 5.318",\
                 "1.393, 1.425, 1.536, 1.741, 2.052, 2.478, 3.021, 3.71, 4.558, 5.576",\
                 "1.74, 1.775, 1.891, 2.102, 2.42, 2.854, 3.41, 4.094, 4.928, 5.931",\
                 "2.148, 2.186, 2.312, 2.535, 2.864, 3.306, 3.873, 4.571, 5.405, 6.394",\
                 "2.616, 2.656, 2.794, 3.037, 3.382, 3.837, 4.414, 5.127, 5.977, 6.967");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1774, 0.1927, 0.2459, 0.3433, 0.4923, 0.6998, 0.9714, 1.312, 1.73, 2.224",\
                 "0.1775, 0.1926, 0.2455, 0.3434, 0.4927, 0.7003, 0.9717, 1.313, 1.73, 2.225",\
                 "0.1832, 0.1973, 0.2471, 0.3433, 0.4925, 0.6997, 0.9713, 1.313, 1.73, 2.225",\
                 "0.2401, 0.2544, 0.3018, 0.3892, 0.5208, 0.7116, 0.974, 1.313, 1.729, 2.224",\
                 "0.3367, 0.3505, 0.3998, 0.4874, 0.6182, 0.801, 1.038, 1.347, 1.739, 2.225",\
                 "0.4642, 0.4798, 0.5344, 0.6284, 0.7632, 0.9438, 1.181, 1.478, 1.84, 2.286",\
                 "0.6164, 0.6362, 0.6982, 0.8032, 0.95, 1.138, 1.372, 1.667, 2.028, 2.459",\
                 "0.7944, 0.8158, 0.8868, 1.006, 1.167, 1.372, 1.619, 1.913, 2.269, 2.7",\
                 "0.997, 1.023, 1.102, 1.236, 1.417, 1.639, 1.904, 2.214, 2.574, 2.996",\
                 "1.22, 1.249, 1.339, 1.49, 1.693, 1.94, 2.225, 2.556, 2.93, 3.359");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.9148, 0.9672, 1.152, 1.502, 2.044, 2.802, 3.797, 5.049, 6.575, 8.391",\
                 "0.9149, 0.9674, 1.152, 1.501, 2.043, 2.801, 3.796, 5.048, 6.575, 8.39",\
                 "0.9151, 0.9675, 1.152, 1.502, 2.043, 2.802, 3.796, 5.048, 6.575, 8.394",\
                 "0.9245, 0.9748, 1.154, 1.502, 2.043, 2.801, 3.796, 5.048, 6.576, 8.393",\
                 "0.9934, 1.04, 1.206, 1.529, 2.049, 2.802, 3.797, 5.048, 6.575, 8.393",\
                 "1.079, 1.125, 1.297, 1.615, 2.11, 2.826, 3.8, 5.048, 6.576, 8.394",\
                 "1.179, 1.227, 1.396, 1.722, 2.223, 2.916, 3.849, 5.061, 6.576, 8.394",\
                 "1.325, 1.369, 1.529, 1.845, 2.348, 3.054, 3.966, 5.135, 6.602, 8.397",\
                 "1.504, 1.55, 1.706, 2.011, 2.5, 3.204, 4.131, 5.281, 6.704, 8.444",\
                 "1.71, 1.758, 1.919, 2.22, 2.691, 3.379, 4.312, 5.478, 6.88, 8.578");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.194, 0.2041, 0.2386, 0.3013, 0.3944, 0.521, 0.684, 0.8871, 1.133, 1.425",\
                 "0.2067, 0.2169, 0.2515, 0.3138, 0.407, 0.5335, 0.6967, 0.8997, 1.146, 1.438",\
                 "0.2423, 0.2523, 0.2861, 0.3479, 0.4407, 0.5671, 0.7303, 0.9334, 1.179, 1.472",\
                 "0.2776, 0.2892, 0.3279, 0.3961, 0.4934, 0.6206, 0.7833, 0.9862, 1.232, 1.524",\
                 "0.2882, 0.3028, 0.3505, 0.4315, 0.544, 0.687, 0.8613, 1.068, 1.314, 1.606",\
                 "0.2616, 0.2798, 0.3387, 0.4378, 0.5733, 0.7383, 0.9339, 1.162, 1.424, 1.722",\
                 "0.1919, 0.2133, 0.2839, 0.4045, 0.5664, 0.7614, 0.9859, 1.24, 1.526, 1.849",\
                 "0.0785, 0.1036, 0.1856, 0.3259, 0.5158, 0.7441, 1.004, 1.293, 1.61, 1.96",\
                 "-0.0811, -0.0526, 0.0409, 0.2011, 0.4184, 0.6807, 0.9792, 1.308, 1.665, 2.05",\
                 "-0.2878, -0.2563, -0.1524, 0.0275, 0.2718, 0.5676, 0.9054, 1.277, 1.677, 2.105");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.638, 0.6686, 0.7758, 0.9779, 1.29, 1.725, 2.296, 3.014, 3.89, 4.931",\
                 "0.6462, 0.6771, 0.7845, 0.9875, 1.3, 1.736, 2.307, 3.025, 3.901, 4.943",\
                 "0.6753, 0.7069, 0.815, 1.019, 1.333, 1.77, 2.343, 3.062, 3.938, 4.98",\
                 "0.7283, 0.7594, 0.8664, 1.069, 1.382, 1.819, 2.391, 3.111, 3.987, 5.03",\
                 "0.8267, 0.8573, 0.965, 1.164, 1.47, 1.901, 2.469, 3.184, 4.058, 5.098",\
                 "0.9882, 1.019, 1.125, 1.325, 1.631, 2.052, 2.607, 3.312, 4.177, 5.21",\
                 "1.221, 1.253, 1.361, 1.558, 1.862, 2.283, 2.83, 3.518, 4.368, 5.388",\
                 "1.512, 1.546, 1.661, 1.866, 2.17, 2.588, 3.135, 3.817, 4.65, 5.652",\
                 "1.85, 1.888, 2.014, 2.235, 2.551, 2.971, 3.516, 4.199, 5.028, 6.011",\
                 "2.238, 2.279, 2.417, 2.658, 2.996, 3.431, 3.977, 4.658, 5.488, 6.472");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2039, 0.2207, 0.2764, 0.3768, 0.5285, 0.737, 1.009, 1.352, 1.768, 2.264",\
                 "0.2031, 0.2198, 0.2755, 0.3768, 0.528, 0.7373, 1.009, 1.352, 1.769, 2.264",\
                 "0.2059, 0.2214, 0.2745, 0.3745, 0.5268, 0.737, 1.009, 1.35, 1.769, 2.264",\
                 "0.2661, 0.2806, 0.3288, 0.4176, 0.5508, 0.7452, 1.01, 1.351, 1.768, 2.264",\
                 "0.3696, 0.3842, 0.4322, 0.5186, 0.6504, 0.833, 1.07, 1.381, 1.777, 2.265",\
                 "0.5106, 0.5256, 0.5784, 0.668, 0.7996, 0.9774, 1.212, 1.51, 1.873, 2.321",\
                 "0.6822, 0.6998, 0.7584, 0.8586, 0.9976, 1.178, 1.408, 1.7, 2.061, 2.491",\
                 "0.8876, 0.9068, 0.9716, 1.085, 1.234, 1.426, 1.663, 1.951, 2.304, 2.729",\
                 "1.128, 1.151, 1.219, 1.343, 1.512, 1.716, 1.966, 2.262, 2.614, 3.03",\
                 "1.398, 1.424, 1.506, 1.64, 1.825, 2.048, 2.313, 2.624, 2.982, 3.4");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.9145, 0.9672, 1.151, 1.502, 2.044, 2.802, 3.796, 5.047, 6.573, 8.394",\
                 "0.915, 0.9675, 1.152, 1.501, 2.043, 2.801, 3.796, 5.048, 6.575, 8.391",\
                 "0.9148, 0.9677, 1.151, 1.502, 2.044, 2.802, 3.797, 5.049, 6.575, 8.395",\
                 "0.9208, 0.9717, 1.153, 1.502, 2.044, 2.801, 3.796, 5.05, 6.576, 8.391",\
                 "0.9772, 1.026, 1.195, 1.525, 2.048, 2.801, 3.797, 5.048, 6.575, 8.394",\
                 "1.058, 1.106, 1.274, 1.599, 2.102, 2.826, 3.799, 5.048, 6.576, 8.394",\
                 "1.186, 1.228, 1.385, 1.699, 2.2, 2.905, 3.849, 5.063, 6.577, 8.394",\
                 "1.366, 1.406, 1.552, 1.844, 2.323, 3.024, 3.951, 5.137, 6.61, 8.399",\
                 "1.582, 1.625, 1.772, 2.05, 2.501, 3.172, 4.093, 5.263, 6.706, 8.454",\
                 "1.829, 1.873, 2.026, 2.308, 2.742, 3.378, 4.266, 5.428, 6.859, 8.576");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1579, 0.1682, 0.2029, 0.2657, 0.3588, 0.4851, 0.648, 0.8507, 1.097, 1.389",\
                 "0.171, 0.1812, 0.2158, 0.2784, 0.3715, 0.4977, 0.6605, 0.8633, 1.109, 1.401",\
                 "0.2061, 0.2165, 0.2509, 0.3126, 0.4052, 0.5313, 0.6942, 0.897, 1.143, 1.435",\
                 "0.2318, 0.2446, 0.286, 0.3567, 0.4562, 0.5846, 0.7472, 0.9498, 1.196, 1.488",\
                 "0.2278, 0.244, 0.2965, 0.3837, 0.5008, 0.6467, 0.8231, 1.032, 1.278, 1.569",\
                 "0.1837, 0.204, 0.27, 0.378, 0.5208, 0.692, 0.8911, 1.121, 1.386, 1.685",\
                 "0.0973, 0.1215, 0.2002, 0.3311, 0.5029, 0.7062, 0.9371, 1.195, 1.484, 1.809",\
                 "-0.0324, -0.004, 0.0875, 0.2393, 0.4407, 0.6795, 0.9474, 1.243, 1.564, 1.917",\
                 "-0.2074, -0.1755, -0.0718, 0.1017, 0.3317, 0.606, 0.9145, 1.25, 1.613, 2.003",\
                 "-0.4277, -0.3932, -0.2786, -0.0843, 0.1746, 0.4825, 0.8318, 1.212, 1.618, 2.053");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.625, 0.6558, 0.7628, 0.9643, 1.275, 1.709, 2.278, 2.993, 3.866, 4.905",\
                 "0.633, 0.6641, 0.7717, 0.9744, 1.286, 1.72, 2.289, 3.004, 3.877, 4.916",\
                 "0.6623, 0.6937, 0.8024, 1.006, 1.319, 1.754, 2.324, 3.041, 3.913, 4.955",\
                 "0.7151, 0.7459, 0.8533, 1.056, 1.368, 1.802, 2.373, 3.09, 3.963, 5.004",\
                 "0.8122, 0.843, 0.9513, 1.151, 1.456, 1.885, 2.45, 3.163, 4.034, 5.072",\
                 "0.9732, 1.004, 1.11, 1.311, 1.616, 2.035, 2.589, 3.291, 4.153, 5.184",\
                 "1.204, 1.236, 1.345, 1.543, 1.846, 2.266, 2.811, 3.497, 4.345, 5.362",\
                 "1.491, 1.525, 1.642, 1.85, 2.153, 2.57, 3.115, 3.796, 4.625, 5.624",\
                 "1.825, 1.863, 1.992, 2.215, 2.533, 2.952, 3.495, 4.176, 5.003, 5.985",\
                 "2.208, 2.25, 2.391, 2.634, 2.974, 3.41, 3.954, 4.634, 5.462, 6.444");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1677, 0.1843, 0.2395, 0.3397, 0.4912, 0.6991, 0.9709, 1.311, 1.728, 2.225",\
                 "0.1662, 0.1828, 0.2385, 0.3397, 0.491, 0.6994, 0.9702, 1.312, 1.728, 2.225",\
                 "0.1788, 0.1923, 0.2417, 0.3382, 0.4897, 0.6991, 0.9712, 1.313, 1.73, 2.225",\
                 "0.2468, 0.2595, 0.3054, 0.3913, 0.5214, 0.711, 0.9729, 1.312, 1.728, 2.224",\
                 "0.3572, 0.3706, 0.4159, 0.498, 0.6256, 0.8044, 1.04, 1.347, 1.741, 2.225",\
                 "0.502, 0.5166, 0.5666, 0.6536, 0.7808, 0.9548, 1.185, 1.481, 1.841, 2.287",\
                 "0.679, 0.6958, 0.7502, 0.8472, 0.9832, 1.159, 1.386, 1.674, 2.031, 2.461",\
                 "0.8916, 0.9098, 0.969, 1.076, 1.222, 1.412, 1.644, 1.929, 2.278, 2.702",\
                 "1.135, 1.155, 1.222, 1.338, 1.501, 1.706, 1.951, 2.244, 2.59, 3.006",\
                 "1.406, 1.429, 1.508, 1.642, 1.816, 2.037, 2.3, 2.608, 2.964, 3.378");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.7245, 0.778, 0.9627, 1.315, 1.858, 2.616, 3.61, 4.861, 6.389, 8.211",\
                 "0.7243, 0.778, 0.9627, 1.315, 1.858, 2.616, 3.611, 4.863, 6.391, 8.205",\
                 "0.7242, 0.7781, 0.9645, 1.315, 1.858, 2.616, 3.612, 4.862, 6.387, 8.208",\
                 "0.7301, 0.7819, 0.9654, 1.315, 1.858, 2.616, 3.612, 4.864, 6.39, 8.207",\
                 "0.784, 0.8338, 1.007, 1.338, 1.863, 2.617, 3.612, 4.862, 6.39, 8.209",\
                 "0.8528, 0.9044, 1.08, 1.41, 1.917, 2.64, 3.614, 4.864, 6.39, 8.211",\
                 "0.971, 1.016, 1.182, 1.502, 2.009, 2.719, 3.664, 4.877, 6.391, 8.209",\
                 "1.133, 1.178, 1.337, 1.639, 2.126, 2.833, 3.766, 4.95, 6.423, 8.213",\
                 "1.32, 1.369, 1.537, 1.835, 2.298, 2.977, 3.902, 5.077, 6.521, 8.271",\
                 "1.533, 1.587, 1.765, 2.077, 2.531, 3.177, 4.073, 5.241, 6.67, 8.392");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1265, 0.1345, 0.1606, 0.2081, 0.2788, 0.3746, 0.498, 0.651, 0.8366, 1.057",\
                 "0.1408, 0.1482, 0.1743, 0.2217, 0.2923, 0.3881, 0.5112, 0.6645, 0.8501, 1.07",\
                 "0.1844, 0.193, 0.2206, 0.2679, 0.3376, 0.433, 0.5562, 0.7095, 0.895, 1.115",\
                 "0.2158, 0.2275, 0.2655, 0.3288, 0.4133, 0.5169, 0.641, 0.794, 0.9795, 1.2",\
                 "0.2136, 0.2291, 0.279, 0.3619, 0.4711, 0.6022, 0.7525, 0.9222, 1.112, 1.332",\
                 "0.1717, 0.1909, 0.2538, 0.358, 0.4949, 0.6575, 0.841, 1.045, 1.268, 1.512",\
                 "0.0876, 0.1104, 0.1854, 0.3113, 0.4777, 0.6742, 0.8948, 1.136, 1.398, 1.68",\
                 "-0.0395, -0.0134, 0.0736, 0.2195, 0.415, 0.6469, 0.9066, 1.19, 1.494, 1.818",\
                 "-0.2125, -0.1833, -0.0849, 0.0819, 0.3044, 0.5714, 0.8722, 1.198, 1.547, 1.917",\
                 "-0.432, -0.3993, -0.2914, -0.1049, 0.1459, 0.4463, 0.7866, 1.158, 1.552, 1.971");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.6855, 0.7156, 0.821, 1.021, 1.331, 1.763, 2.331, 3.045, 3.918, 4.958",\
                 "0.6938, 0.7247, 0.8311, 1.032, 1.342, 1.776, 2.344, 3.059, 3.931, 4.971",\
                 "0.7229, 0.7534, 0.8604, 1.063, 1.374, 1.809, 2.379, 3.096, 3.969, 5.009",\
                 "0.7753, 0.8057, 0.9112, 1.112, 1.423, 1.857, 2.427, 3.143, 4.017, 5.058",\
                 "0.8745, 0.9053, 1.011, 1.208, 1.512, 1.94, 2.505, 3.218, 4.089, 5.126",\
                 "1.037, 1.068, 1.173, 1.371, 1.675, 2.093, 2.646, 3.348, 4.21, 5.241",\
                 "1.274, 1.304, 1.41, 1.607, 1.91, 2.329, 2.873, 3.559, 4.406, 5.424",\
                 "1.57, 1.603, 1.716, 1.918, 2.22, 2.638, 3.184, 3.864, 4.694, 5.694",\
                 "1.916, 1.954, 2.075, 2.293, 2.606, 3.025, 3.57, 4.253, 5.08, 6.063",\
                 "2.312, 2.352, 2.486, 2.722, 3.057, 3.49, 4.036, 4.719, 5.548, 6.531");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1421, 0.1543, 0.1959, 0.2722, 0.3867, 0.5444, 0.7494, 1.006, 1.32, 1.692",\
                 "0.1412, 0.1532, 0.1948, 0.2719, 0.3867, 0.544, 0.7485, 1.006, 1.32, 1.692",\
                 "0.1723, 0.1808, 0.2108, 0.2756, 0.3851, 0.5429, 0.7487, 1.006, 1.32, 1.692",\
                 "0.2721, 0.281, 0.3116, 0.3688, 0.4556, 0.5781, 0.7588, 1.007, 1.319, 1.693",\
                 "0.4023, 0.4124, 0.4457, 0.5092, 0.603, 0.7294, 0.8888, 1.09, 1.358, 1.703",\
                 "0.5632, 0.574, 0.612, 0.6832, 0.786, 0.9234, 1.095, 1.302, 1.547, 1.838",\
                 "0.7552, 0.7676, 0.8106, 0.8902, 1.005, 1.155, 1.339, 1.561, 1.819, 2.119",\
                 "0.9824, 0.9956, 1.042, 1.13, 1.26, 1.424, 1.624, 1.858, 2.134, 2.451",\
                 "1.24, 1.256, 1.312, 1.408, 1.549, 1.729, 1.947, 2.202, 2.491, 2.824",\
                 "1.527, 1.546, 1.61, 1.722, 1.873, 2.073, 2.311, 2.584, 2.896, 3.244");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.7978, 0.8505, 1.037, 1.39, 1.932, 2.689, 3.685, 4.936, 6.463, 8.284",\
                 "0.7978, 0.8513, 1.037, 1.389, 1.931, 2.691, 3.685, 4.937, 6.466, 8.28",\
                 "0.7974, 0.8513, 1.037, 1.39, 1.931, 2.69, 3.685, 4.936, 6.462, 8.281",\
                 "0.8013, 0.854, 1.039, 1.389, 1.931, 2.689, 3.685, 4.936, 6.464, 8.281",\
                 "0.8504, 0.9006, 1.073, 1.407, 1.935, 2.69, 3.686, 4.937, 6.466, 8.283",\
                 "0.9148, 0.966, 1.144, 1.476, 1.984, 2.711, 3.687, 4.937, 6.465, 8.284",\
                 "1.019, 1.066, 1.235, 1.561, 2.075, 2.786, 3.732, 4.949, 6.465, 8.284",\
                 "1.171, 1.217, 1.378, 1.686, 2.182, 2.896, 3.831, 5.017, 6.494, 8.287",\
                 "1.359, 1.409, 1.57, 1.87, 2.341, 3.029, 3.963, 5.141, 6.587, 8.34",\
                 "1.57, 1.622, 1.796, 2.103, 2.561, 3.216, 4.121, 5.297, 6.732, 8.453");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.194, 0.2041, 0.2386, 0.3013, 0.3944, 0.521, 0.684, 0.8871, 1.133, 1.425",\
                 "0.2067, 0.2169, 0.2515, 0.3138, 0.407, 0.5335, 0.6967, 0.8997, 1.146, 1.438",\
                 "0.2423, 0.2523, 0.2861, 0.3479, 0.4407, 0.5671, 0.7303, 0.9334, 1.179, 1.472",\
                 "0.2776, 0.2892, 0.3279, 0.3961, 0.4934, 0.6206, 0.7833, 0.9862, 1.232, 1.524",\
                 "0.2882, 0.3028, 0.3505, 0.4315, 0.544, 0.687, 0.8613, 1.068, 1.314, 1.606",\
                 "0.2616, 0.2798, 0.3387, 0.4378, 0.5733, 0.7383, 0.9339, 1.162, 1.424, 1.722",\
                 "0.1919, 0.2133, 0.2839, 0.4045, 0.5664, 0.7614, 0.9859, 1.24, 1.526, 1.849",\
                 "0.0785, 0.1036, 0.1856, 0.3259, 0.5158, 0.7441, 1.004, 1.293, 1.61, 1.96",\
                 "-0.0811, -0.0526, 0.0409, 0.2011, 0.4184, 0.6807, 0.9792, 1.308, 1.665, 2.05",\
                 "-0.2878, -0.2563, -0.1524, 0.0275, 0.2718, 0.5676, 0.9054, 1.277, 1.677, 2.105");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.6855, 0.7156, 0.821, 1.021, 1.331, 1.763, 2.331, 3.045, 3.918, 4.958",\
                 "0.6938, 0.7247, 0.8311, 1.032, 1.342, 1.776, 2.344, 3.059, 3.931, 4.971",\
                 "0.7229, 0.7534, 0.8604, 1.063, 1.374, 1.809, 2.379, 3.096, 3.969, 5.009",\
                 "0.7753, 0.8057, 0.9112, 1.112, 1.423, 1.857, 2.427, 3.143, 4.017, 5.058",\
                 "0.8745, 0.9053, 1.011, 1.208, 1.512, 1.94, 2.505, 3.218, 4.089, 5.126",\
                 "1.037, 1.068, 1.173, 1.371, 1.675, 2.093, 2.646, 3.348, 4.21, 5.241",\
                 "1.274, 1.304, 1.41, 1.607, 1.91, 2.329, 2.873, 3.559, 4.406, 5.424",\
                 "1.57, 1.603, 1.716, 1.918, 2.22, 2.638, 3.184, 3.864, 4.694, 5.694",\
                 "1.916, 1.954, 2.075, 2.293, 2.606, 3.025, 3.57, 4.253, 5.08, 6.063",\
                 "2.312, 2.352, 2.486, 2.722, 3.057, 3.49, 4.036, 4.719, 5.548, 6.531");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2039, 0.2207, 0.2764, 0.3768, 0.5285, 0.737, 1.009, 1.352, 1.768, 2.264",\
                 "0.2031, 0.2198, 0.2755, 0.3768, 0.528, 0.7373, 1.009, 1.352, 1.769, 2.264",\
                 "0.2059, 0.2214, 0.2745, 0.3745, 0.5268, 0.737, 1.009, 1.35, 1.769, 2.264",\
                 "0.2661, 0.2806, 0.3288, 0.4176, 0.5508, 0.7452, 1.01, 1.351, 1.768, 2.264",\
                 "0.3696, 0.3842, 0.4322, 0.5186, 0.6504, 0.833, 1.07, 1.381, 1.777, 2.265",\
                 "0.5106, 0.5256, 0.5784, 0.668, 0.7996, 0.9774, 1.212, 1.51, 1.873, 2.321",\
                 "0.6822, 0.6998, 0.7584, 0.8586, 0.9976, 1.178, 1.408, 1.7, 2.061, 2.491",\
                 "0.8876, 0.9068, 0.9716, 1.085, 1.234, 1.426, 1.663, 1.951, 2.304, 2.729",\
                 "1.128, 1.151, 1.219, 1.343, 1.512, 1.716, 1.966, 2.262, 2.614, 3.03",\
                 "1.398, 1.424, 1.506, 1.64, 1.825, 2.048, 2.313, 2.624, 2.982, 3.4");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.9145, 0.9672, 1.151, 1.502, 2.044, 2.802, 3.796, 5.047, 6.573, 8.394",\
                 "0.915, 0.9675, 1.152, 1.501, 2.043, 2.801, 3.796, 5.048, 6.575, 8.391",\
                 "0.9148, 0.9677, 1.151, 1.502, 2.044, 2.802, 3.797, 5.049, 6.575, 8.395",\
                 "0.9208, 0.9717, 1.153, 1.502, 2.044, 2.801, 3.796, 5.05, 6.576, 8.391",\
                 "0.9772, 1.026, 1.195, 1.525, 2.048, 2.801, 3.797, 5.048, 6.575, 8.394",\
                 "1.058, 1.106, 1.274, 1.599, 2.102, 2.826, 3.799, 5.048, 6.576, 8.394",\
                 "1.186, 1.228, 1.385, 1.699, 2.2, 2.905, 3.849, 5.063, 6.577, 8.394",\
                 "1.366, 1.406, 1.552, 1.844, 2.323, 3.024, 3.951, 5.137, 6.61, 8.399",\
                 "1.582, 1.625, 1.772, 2.05, 2.501, 3.172, 4.093, 5.263, 6.706, 8.454",\
                 "1.829, 1.873, 2.026, 2.308, 2.742, 3.378, 4.266, 5.428, 6.859, 8.576");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1107, 0.121, 0.156, 0.2189, 0.312, 0.4384, 0.6012, 0.804, 1.05, 1.342",\
                 "0.1242, 0.1346, 0.1695, 0.2325, 0.3258, 0.4523, 0.6153, 0.8182, 1.064, 1.356",\
                 "0.1749, 0.1856, 0.2201, 0.2799, 0.3718, 0.4979, 0.6606, 0.8634, 1.109, 1.401",\
                 "0.219, 0.2332, 0.279, 0.3562, 0.4599, 0.5873, 0.7484, 0.9503, 1.196, 1.487",\
                 "0.2375, 0.2551, 0.3129, 0.4095, 0.5395, 0.6986, 0.8824, 1.089, 1.333, 1.623",\
                 "0.2239, 0.2447, 0.3154, 0.4328, 0.5893, 0.7803, 1.002, 1.25, 1.522, 1.82",\
                 "0.1725, 0.1979, 0.2813, 0.4207, 0.6063, 0.8316, 1.09, 1.378, 1.696, 2.041",\
                 "0.0825, 0.112, 0.2076, 0.3685, 0.5841, 0.8449, 1.142, 1.473, 1.835, 2.228",\
                 "-0.0492, -0.0161, 0.092, 0.2737, 0.5195, 0.8172, 1.156, 1.53, 1.938, 2.378",\
                 "-0.2252, -0.1885, -0.0677, 0.1367, 0.4109, 0.7437, 1.125, 1.545, 2.001, 2.491");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.177, 0.1982, 0.2705, 0.4063, 0.6158, 0.9089, 1.294, 1.778, 2.369, 3.073",\
                 "0.186, 0.2072, 0.2804, 0.4181, 0.6295, 0.9238, 1.31, 1.794, 2.386, 3.091",\
                 "0.2442, 0.2642, 0.3345, 0.4699, 0.6802, 0.9747, 1.361, 1.847, 2.439, 3.144",\
                 "0.3538, 0.3779, 0.4569, 0.5922, 0.7968, 1.087, 1.47, 1.954, 2.544, 3.249",\
                 "0.5016, 0.529, 0.6198, 0.7777, 0.9965, 1.281, 1.658, 2.135, 2.721, 3.423",\
                 "0.6894, 0.7221, 0.8261, 1.002, 1.25, 1.562, 1.939, 2.408, 2.987, 3.682",\
                 "0.9168, 0.955, 1.076, 1.274, 1.546, 1.891, 2.305, 2.783, 3.355, 4.04",\
                 "1.186, 1.23, 1.369, 1.595, 1.894, 2.267, 2.718, 3.242, 3.831, 4.511",\
                 "1.497, 1.548, 1.706, 1.961, 2.293, 2.698, 3.18, 3.744, 4.384, 5.091",\
                 "1.855, 1.912, 2.089, 2.374, 2.743, 3.186, 3.701, 4.3, 4.984, 5.745");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1644, 0.1813, 0.2372, 0.3385, 0.4907, 0.6988, 0.9706, 1.313, 1.727, 2.224",\
                 "0.1626, 0.18, 0.2369, 0.3386, 0.4907, 0.6991, 0.9707, 1.312, 1.729, 2.225",\
                 "0.1837, 0.1965, 0.2415, 0.334, 0.4868, 0.6984, 0.9708, 1.313, 1.728, 2.225",\
                 "0.256, 0.272, 0.3257, 0.4154, 0.5368, 0.7139, 0.97, 1.311, 1.729, 2.225",\
                 "0.3508, 0.3703, 0.4323, 0.537, 0.6814, 0.8604, 1.074, 1.358, 1.738, 2.224",\
                 "0.4672, 0.4916, 0.567, 0.6884, 0.8492, 1.051, 1.293, 1.571, 1.894, 2.307",\
                 "0.6014, 0.63, 0.7206, 0.8644, 1.051, 1.272, 1.538, 1.847, 2.198, 2.582",\
                 "0.7516, 0.7858, 0.8936, 1.064, 1.278, 1.53, 1.819, 2.153, 2.534, 2.958",\
                 "0.925, 0.9622, 1.088, 1.283, 1.53, 1.815, 2.139, 2.496, 2.903, 3.357",\
                 "1.111, 1.159, 1.299, 1.519, 1.802, 2.123, 2.484, 2.879, 3.312, 3.795");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3734, 0.4149, 0.5563, 0.8196, 1.218, 1.76, 2.454, 3.314, 4.353, 5.589",\
                 "0.3733, 0.4146, 0.5562, 0.8196, 1.218, 1.76, 2.454, 3.314, 4.354, 5.589",\
                 "0.3812, 0.4187, 0.5559, 0.8198, 1.219, 1.76, 2.454, 3.314, 4.352, 5.589",\
                 "0.469, 0.5019, 0.6114, 0.8381, 1.219, 1.76, 2.454, 3.313, 4.354, 5.59",\
                 "0.5746, 0.609, 0.7344, 0.9546, 1.284, 1.774, 2.455, 3.314, 4.354, 5.589",\
                 "0.7264, 0.7566, 0.8746, 1.11, 1.452, 1.896, 2.503, 3.319, 4.354, 5.59",\
                 "0.9308, 0.9564, 1.061, 1.283, 1.641, 2.112, 2.684, 3.42, 4.379, 5.592",\
                 "1.169, 1.194, 1.292, 1.501, 1.85, 2.341, 2.949, 3.66, 4.543, 5.658",\
                 "1.435, 1.459, 1.557, 1.764, 2.101, 2.59, 3.224, 3.98, 4.843, 5.884",\
                 "1.722, 1.746, 1.845, 2.059, 2.401, 2.876, 3.514, 4.309, 5.224, 6.249");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1038, 0.1133, 0.1454, 0.2042, 0.2931, 0.4157, 0.5756, 0.776, 1.02, 1.311",\
                 "0.1172, 0.1267, 0.1589, 0.2179, 0.3069, 0.4296, 0.5896, 0.7901, 1.034, 1.325",\
                 "0.1616, 0.1722, 0.2062, 0.2642, 0.3525, 0.4751, 0.6348, 0.8354, 1.079, 1.37",\
                 "0.193, 0.2072, 0.2533, 0.3314, 0.4361, 0.5635, 0.7225, 0.9223, 1.166, 1.456",\
                 "0.1965, 0.2144, 0.2743, 0.3733, 0.5053, 0.6665, 0.8523, 1.061, 1.304, 1.593",\
                 "0.1667, 0.1895, 0.2628, 0.3842, 0.5455, 0.74, 0.9639, 1.215, 1.49, 1.788",\
                 "0.0999, 0.1269, 0.2139, 0.3592, 0.5513, 0.782, 1.044, 1.336, 1.657, 2.004",\
                 "-0.0052, 0.0257, 0.1266, 0.2938, 0.5186, 0.7847, 1.089, 1.424, 1.79, 2.185",\
                 "-0.1526, -0.1171, -0.0022, 0.188, 0.4425, 0.748, 1.093, 1.474, 1.886, 2.33",\
                 "-0.3442, -0.3043, -0.1769, 0.0371, 0.3207, 0.6641, 1.053, 1.48, 1.943, 2.437");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1771, 0.1982, 0.2705, 0.4063, 0.616, 0.9089, 1.294, 1.778, 2.369, 3.074",\
                 "0.1862, 0.2072, 0.2804, 0.4182, 0.6296, 0.9239, 1.309, 1.795, 2.386, 3.091",\
                 "0.2443, 0.2641, 0.3345, 0.4697, 0.6802, 0.9747, 1.361, 1.847, 2.439, 3.144",\
                 "0.3538, 0.3778, 0.4569, 0.5923, 0.7969, 1.087, 1.47, 1.954, 2.545, 3.249",\
                 "0.5018, 0.5295, 0.6199, 0.7778, 0.9965, 1.281, 1.658, 2.136, 2.721, 3.422",\
                 "0.6895, 0.7221, 0.8261, 1.002, 1.25, 1.562, 1.939, 2.409, 2.987, 3.682",\
                 "0.917, 0.9551, 1.076, 1.274, 1.546, 1.891, 2.306, 2.784, 3.354, 4.04",\
                 "1.186, 1.23, 1.369, 1.595, 1.894, 2.267, 2.719, 3.242, 3.83, 4.511",\
                 "1.497, 1.548, 1.706, 1.96, 2.293, 2.698, 3.18, 3.745, 4.384, 5.091",\
                 "1.856, 1.912, 2.09, 2.374, 2.744, 3.186, 3.701, 4.3, 4.984, 5.746");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.142, 0.157, 0.2093, 0.3061, 0.4545, 0.6613, 0.932, 1.274, 1.69, 2.185",\
                 "0.1404, 0.1561, 0.2089, 0.3061, 0.4548, 0.6616, 0.9325, 1.273, 1.688, 2.185",\
                 "0.166, 0.179, 0.221, 0.3067, 0.4531, 0.6605, 0.9322, 1.272, 1.69, 2.185",\
                 "0.2354, 0.2516, 0.3046, 0.3937, 0.5153, 0.6859, 0.9347, 1.273, 1.69, 2.184",\
                 "0.3293, 0.3492, 0.4122, 0.5152, 0.6572, 0.838, 1.051, 1.33, 1.704, 2.186",\
                 "0.4438, 0.4684, 0.5446, 0.6678, 0.8278, 1.028, 1.27, 1.549, 1.869, 2.276",\
                 "0.5778, 0.6046, 0.697, 0.8416, 1.029, 1.251, 1.515, 1.824, 2.174, 2.56",\
                 "0.7254, 0.7592, 0.868, 1.039, 1.256, 1.507, 1.798, 2.129, 2.509, 2.934",\
                 "0.8926, 0.9322, 1.058, 1.255, 1.505, 1.79, 2.116, 2.475, 2.879, 3.336",\
                 "1.072, 1.121, 1.266, 1.49, 1.777, 2.099, 2.46, 2.859, 3.292, 3.773");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3645, 0.4038, 0.5384, 0.7873, 1.163, 1.68, 2.356, 3.205, 4.24, 5.471",\
                 "0.3643, 0.4034, 0.5383, 0.7873, 1.164, 1.681, 2.356, 3.205, 4.24, 5.474",\
                 "0.3723, 0.4077, 0.5379, 0.7873, 1.164, 1.681, 2.357, 3.205, 4.239, 5.475",\
                 "0.4541, 0.488, 0.5934, 0.8056, 1.164, 1.681, 2.356, 3.205, 4.241, 5.474",\
                 "0.5516, 0.5856, 0.7054, 0.918, 1.228, 1.695, 2.357, 3.205, 4.24, 5.473",\
                 "0.6896, 0.7198, 0.8336, 1.059, 1.389, 1.816, 2.405, 3.211, 4.24, 5.474",\
                 "0.8648, 0.8946, 1.002, 1.217, 1.563, 2.024, 2.586, 3.311, 4.266, 5.475",\
                 "1.064, 1.096, 1.204, 1.418, 1.758, 2.241, 2.843, 3.551, 4.427, 5.541",\
                 "1.285, 1.316, 1.433, 1.655, 1.992, 2.478, 3.108, 3.865, 4.73, 5.768",\
                 "1.524, 1.558, 1.68, 1.918, 2.272, 2.749, 3.391, 4.184, 5.101, 6.132");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.08571, 0.09324, 0.1189, 0.1659, 0.2369, 0.3347, 0.462, 0.6216, 0.8158, 1.047",\
                 "0.1003, 0.1078, 0.1334, 0.1805, 0.2516, 0.3494, 0.4768, 0.6365, 0.8307, 1.062",\
                 "0.1428, 0.1521, 0.1821, 0.2315, 0.3018, 0.3993, 0.5265, 0.686, 0.8803, 1.111",\
                 "0.1667, 0.1795, 0.2215, 0.2906, 0.3834, 0.4941, 0.623, 0.7818, 0.9755, 1.206",\
                 "0.1595, 0.1763, 0.2316, 0.3216, 0.4409, 0.5845, 0.7479, 0.9283, 1.126, 1.356",\
                 "0.1163, 0.1379, 0.2058, 0.3181, 0.4661, 0.6421, 0.8425, 1.064, 1.305, 1.562",\
                 "0.0336, 0.0588, 0.1398, 0.2752, 0.4528, 0.6636, 0.9024, 1.165, 1.45, 1.755",\
                 "-0.0922, -0.0629, 0.0321, 0.1881, 0.3962, 0.644, 0.9219, 1.228, 1.556, 1.908",\
                 "-0.2634, -0.23, -0.1219, 0.0569, 0.2937, 0.5778, 0.8973, 1.246, 1.623, 2.022",\
                 "-0.4825, -0.4458, -0.3249, -0.1225, 0.1433, 0.4623, 0.824, 1.219, 1.642, 2.093");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1763, 0.1972, 0.2696, 0.4054, 0.615, 0.9079, 1.293, 1.777, 2.368, 3.073",\
                 "0.1834, 0.2047, 0.278, 0.4155, 0.6269, 0.9211, 1.307, 1.792, 2.383, 3.088",\
                 "0.2431, 0.2628, 0.3326, 0.467, 0.6771, 0.9713, 1.357, 1.843, 2.435, 3.14",\
                 "0.3563, 0.3802, 0.4584, 0.5927, 0.7963, 1.085, 1.468, 1.951, 2.541, 3.246",\
                 "0.5095, 0.5367, 0.6266, 0.7831, 1, 1.284, 1.659, 2.136, 2.721, 3.421",\
                 "0.7063, 0.7382, 0.8405, 1.014, 1.26, 1.571, 1.945, 2.413, 2.991, 3.685",\
                 "0.9462, 0.9831, 1.101, 1.296, 1.565, 1.908, 2.32, 2.796, 3.365, 4.05",\
                 "1.231, 1.274, 1.41, 1.63, 1.925, 2.295, 2.744, 3.263, 3.849, 4.528",\
                 "1.564, 1.613, 1.766, 2.015, 2.341, 2.739, 3.219, 3.78, 4.415, 5.119",\
                 "1.946, 2.001, 2.174, 2.45, 2.812, 3.246, 3.755, 4.35, 5.03, 5.787");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1061, 0.1186, 0.16, 0.2369, 0.3543, 0.5176, 0.7312, 1.002, 1.331, 1.722",\
                 "0.1047, 0.1172, 0.1596, 0.2366, 0.3541, 0.5178, 0.7318, 1.001, 1.33, 1.722",\
                 "0.143, 0.1537, 0.1872, 0.2475, 0.3547, 0.5174, 0.7316, 1.002, 1.331, 1.722",\
                 "0.2128, 0.2268, 0.272, 0.3461, 0.4451, 0.5681, 0.7483, 1.003, 1.329, 1.722",\
                 "0.3046, 0.3227, 0.3779, 0.4673, 0.5878, 0.7354, 0.907, 1.106, 1.376, 1.732",\
                 "0.413, 0.4356, 0.5048, 0.6146, 0.756, 0.9258, 1.127, 1.355, 1.604, 1.895",\
                 "0.54, 0.566, 0.6512, 0.783, 0.9502, 1.147, 1.371, 1.628, 1.915, 2.229",\
                 "0.6854, 0.7178, 0.8162, 0.9714, 1.167, 1.395, 1.649, 1.932, 2.25, 2.6",\
                 "0.844, 0.8826, 1, 1.181, 1.409, 1.666, 1.956, 2.272, 2.616, 2.999",\
                 "1.015, 1.061, 1.2, 1.41, 1.669, 1.965, 2.286, 2.641, 3.024, 3.433");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3646, 0.4036, 0.5383, 0.7871, 1.164, 1.681, 2.357, 3.205, 4.241, 5.473",\
                 "0.3641, 0.4034, 0.5382, 0.7873, 1.163, 1.681, 2.356, 3.205, 4.24, 5.473",\
                 "0.3723, 0.4081, 0.538, 0.7873, 1.164, 1.681, 2.356, 3.205, 4.239, 5.474",\
                 "0.4524, 0.486, 0.5924, 0.8052, 1.164, 1.681, 2.357, 3.205, 4.241, 5.473",\
                 "0.545, 0.5792, 0.7006, 0.914, 1.227, 1.694, 2.357, 3.206, 4.241, 5.472",\
                 "0.6754, 0.7062, 0.8216, 1.049, 1.383, 1.811, 2.404, 3.211, 4.241, 5.475",\
                 "0.843, 0.8726, 0.9798, 1.201, 1.55, 2.013, 2.577, 3.307, 4.264, 5.477",\
                 "1.036, 1.066, 1.174, 1.388, 1.736, 2.222, 2.828, 3.538, 4.42, 5.537",\
                 "1.249, 1.28, 1.394, 1.614, 1.955, 2.444, 3.082, 3.843, 4.711, 5.756",\
                 "1.485, 1.514, 1.634, 1.866, 2.216, 2.701, 3.351, 4.155, 5.074, 6.109");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.07436, 0.08266, 0.1119, 0.1671, 0.2531, 0.3732, 0.5316, 0.7311, 0.974, 1.264",\
                 "0.0874, 0.0957, 0.1249, 0.1806, 0.2669, 0.3873, 0.5459, 0.7449, 0.9879, 1.279",\
                 "0.1171, 0.1287, 0.1659, 0.2265, 0.3123, 0.4327, 0.5907, 0.7901, 1.034, 1.323",\
                 "0.1241, 0.1409, 0.193, 0.2773, 0.3881, 0.5204, 0.6785, 0.8767, 1.12, 1.409",\
                 "0.1012, 0.1233, 0.1919, 0.3015, 0.4426, 0.6109, 0.8025, 1.015, 1.258, 1.546",\
                 "0.0449, 0.0719, 0.1569, 0.2938, 0.4672, 0.6717, 0.9029, 1.159, 1.439, 1.74",\
                 "-0.0477, -0.0151, 0.0866, 0.2487, 0.4565, 0.6996, 0.9714, 1.271, 1.598, 1.949",\
                 "-0.1794, -0.1416, -0.0233, 0.1647, 0.4064, 0.6899, 1.005, 1.349, 1.722, 2.122",\
                 "-0.3525, -0.3096, -0.1748, 0.0398, 0.3142, 0.6358, 0.9967, 1.388, 1.81, 2.259",\
                 "-0.5709, -0.5225, -0.3711, -0.1299, 0.1781, 0.5398, 0.9443, 1.384, 1.856, 2.358");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1714, 0.1924, 0.2648, 0.4, 0.6093, 0.9012, 1.285, 1.767, 2.359, 3.059",\
                 "0.1803, 0.2013, 0.2744, 0.4121, 0.6226, 0.9162, 1.3, 1.786, 2.376, 3.078",\
                 "0.2384, 0.2583, 0.3285, 0.4633, 0.6733, 0.9667, 1.352, 1.835, 2.426, 3.132",\
                 "0.3459, 0.3701, 0.4497, 0.5856, 0.7893, 1.079, 1.461, 1.944, 2.533, 3.234",\
                 "0.4916, 0.5193, 0.6109, 0.769, 0.9887, 1.273, 1.648, 2.125, 2.709, 3.41",\
                 "0.6764, 0.7092, 0.8151, 0.992, 1.24, 1.553, 1.929, 2.397, 2.975, 3.668",\
                 "0.9001, 0.9385, 1.062, 1.262, 1.534, 1.88, 2.295, 2.773, 3.341, 4.026",\
                 "1.164, 1.21, 1.352, 1.58, 1.88, 2.254, 2.705, 3.228, 3.817, 4.495",\
                 "1.469, 1.522, 1.684, 1.942, 2.277, 2.683, 3.165, 3.73, 4.369, 5.075",\
                 "1.821, 1.88, 2.063, 2.352, 2.724, 3.168, 3.684, 4.282, 4.966, 5.727");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.09701, 0.1116, 0.1621, 0.2571, 0.4043, 0.6104, 0.8816, 1.223, 1.637, 2.133",\
                 "0.09502, 0.1099, 0.1613, 0.2575, 0.4041, 0.6104, 0.8811, 1.222, 1.638, 2.134",\
                 "0.1349, 0.1483, 0.1917, 0.2684, 0.4036, 0.6105, 0.881, 1.222, 1.637, 2.132",\
                 "0.2034, 0.2203, 0.2724, 0.3619, 0.486, 0.6483, 0.8872, 1.221, 1.637, 2.132",\
                 "0.2945, 0.3156, 0.3798, 0.4834, 0.626, 0.806, 1.02, 1.29, 1.657, 2.134",\
                 "0.403, 0.4282, 0.5088, 0.6336, 0.7954, 0.9956, 1.237, 1.517, 1.837, 2.237",\
                 "0.5284, 0.5602, 0.6558, 0.8054, 0.995, 1.221, 1.482, 1.792, 2.142, 2.528",\
                 "0.6686, 0.7078, 0.8228, 0.9974, 1.221, 1.474, 1.765, 2.096, 2.475, 2.9",\
                 "0.8198, 0.8672, 1.004, 1.209, 1.464, 1.755, 2.082, 2.442, 2.845, 3.299",\
                 "0.983, 1.038, 1.204, 1.44, 1.731, 2.062, 2.424, 2.823, 3.259, 3.738");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2481, 0.2832, 0.407, 0.6414, 1.007, 1.519, 2.194, 3.042, 4.077, 5.307",\
                 "0.2479, 0.283, 0.4067, 0.6417, 1.007, 1.519, 2.19, 3.041, 4.076, 5.306",\
                 "0.2557, 0.2871, 0.4061, 0.6402, 1.007, 1.518, 2.194, 3.041, 4.078, 5.313",\
                 "0.3137, 0.3486, 0.4589, 0.66, 1.008, 1.519, 2.191, 3.039, 4.077, 5.311",\
                 "0.3826, 0.4186, 0.5426, 0.763, 1.071, 1.533, 2.192, 3.037, 4.081, 5.313",\
                 "0.484, 0.5212, 0.6458, 0.8802, 1.218, 1.651, 2.239, 3.044, 4.079, 5.31",\
                 "0.604, 0.6462, 0.7808, 1.018, 1.376, 1.847, 2.418, 3.147, 4.096, 5.314",\
                 "0.7434, 0.789, 0.94, 1.188, 1.55, 2.047, 2.664, 3.381, 4.263, 5.38",\
                 "0.894, 0.9494, 1.118, 1.39, 1.763, 2.267, 2.912, 3.684, 4.559, 5.602",\
                 "1.065, 1.125, 1.316, 1.615, 2.016, 2.522, 3.18, 3.989, 4.926, 5.962");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.06437, 0.07107, 0.09423, 0.1382, 0.2063, 0.3019, 0.4277, 0.5864, 0.7794, 1.01",\
                 "0.07827, 0.08497, 0.1083, 0.1526, 0.2209, 0.3167, 0.4425, 0.6011, 0.7939, 1.025",\
                 "0.1041, 0.1145, 0.1476, 0.2007, 0.2709, 0.3665, 0.4921, 0.6505, 0.844, 1.075",\
                 "0.1047, 0.1198, 0.1676, 0.2435, 0.3418, 0.4574, 0.5883, 0.7461, 0.939, 1.169",\
                 "0.0723, 0.09271, 0.1565, 0.257, 0.385, 0.5351, 0.7041, 0.8893, 1.089, 1.319",\
                 "0.0037, 0.0284, 0.1087, 0.2352, 0.395, 0.5808, 0.7883, 1.016, 1.261, 1.522",\
                 "-0.1047, -0.074, 0.0216, 0.1727, 0.3657, 0.5891, 0.8373, 1.106, 1.397, 1.706",\
                 "-0.2554, -0.2198, -0.1081, 0.0686, 0.2932, 0.5522, 0.8451, 1.158, 1.495, 1.852",\
                 "-0.4513, -0.4112, -0.2844, -0.0818, 0.176, 0.4749, 0.8088, 1.168, 1.552, 1.959",\
                 "-0.6953, -0.6515, -0.5076, -0.2805, 0.0093, 0.3466, 0.7217, 1.13, 1.562, 2.018");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1706, 0.1915, 0.2635, 0.3994, 0.6079, 0.9003, 1.284, 1.767, 2.356, 3.059",\
                 "0.1777, 0.1987, 0.2721, 0.4093, 0.6196, 0.913, 1.298, 1.781, 2.371, 3.077",\
                 "0.2372, 0.257, 0.3267, 0.4606, 0.6699, 0.9636, 1.349, 1.833, 2.422, 3.127",\
                 "0.3482, 0.3724, 0.4513, 0.5859, 0.7891, 1.077, 1.459, 1.941, 2.531, 3.231",\
                 "0.4998, 0.5273, 0.6175, 0.7747, 0.9926, 1.275, 1.649, 2.125, 2.709, 3.409",\
                 "0.6934, 0.7257, 0.8297, 1.004, 1.251, 1.561, 1.936, 2.403, 2.979, 3.67",\
                 "0.9296, 0.9675, 1.088, 1.285, 1.554, 1.897, 2.309, 2.785, 3.353, 4.035",\
                 "1.21, 1.254, 1.392, 1.616, 1.912, 2.282, 2.731, 3.25, 3.836, 4.512",\
                 "1.537, 1.588, 1.745, 1.996, 2.324, 2.725, 3.204, 3.764, 4.399, 5.102",\
                 "1.913, 1.969, 2.148, 2.429, 2.793, 3.228, 3.738, 4.333, 5.013, 5.769");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.07497, 0.0861, 0.1251, 0.1995, 0.3153, 0.4775, 0.6909, 0.9602, 1.291, 1.683",\
                 "0.07484, 0.08574, 0.1248, 0.1995, 0.3153, 0.4785, 0.6927, 0.9605, 1.291, 1.683",\
                 "0.1202, 0.1312, 0.1661, 0.2235, 0.3201, 0.477, 0.6912, 0.9591, 1.29, 1.682",\
                 "0.188, 0.2015, 0.2466, 0.3219, 0.4228, 0.5447, 0.7161, 0.9639, 1.29, 1.682",\
                 "0.2744, 0.2932, 0.3507, 0.4425, 0.5626, 0.7112, 0.8844, 1.082, 1.344, 1.692",\
                 "0.3788, 0.402, 0.4742, 0.5876, 0.7302, 0.901, 1.101, 1.331, 1.582, 1.868",\
                 "0.4994, 0.5298, 0.6172, 0.7516, 0.9234, 1.122, 1.346, 1.603, 1.889, 2.205",\
                 "0.6326, 0.6688, 0.7782, 0.938, 1.137, 1.366, 1.624, 1.905, 2.224, 2.574",\
                 "0.7772, 0.8194, 0.951, 1.143, 1.373, 1.636, 1.927, 2.246, 2.59, 2.971",\
                 "0.9304, 0.9816, 1.139, 1.365, 1.632, 1.929, 2.257, 2.612, 2.996, 3.406");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2481, 0.2833, 0.4066, 0.6408, 1.007, 1.518, 2.192, 3.038, 4.075, 5.311",\
                 "0.2479, 0.2831, 0.4069, 0.6411, 1.007, 1.517, 2.189, 3.039, 4.078, 5.313",\
                 "0.2564, 0.2874, 0.4056, 0.6401, 1.007, 1.519, 2.194, 3.04, 4.075, 5.309",\
                 "0.3117, 0.347, 0.4579, 0.6592, 1.008, 1.52, 2.19, 3.04, 4.077, 5.307",\
                 "0.377, 0.4138, 0.5384, 0.76, 1.069, 1.532, 2.193, 3.043, 4.076, 5.311",\
                 "0.4742, 0.5104, 0.6358, 0.8688, 1.213, 1.647, 2.24, 3.046, 4.076, 5.309",\
                 "0.5894, 0.6302, 0.7626, 0.9986, 1.362, 1.837, 2.411, 3.142, 4.102, 5.306",\
                 "0.7214, 0.7696, 0.916, 1.162, 1.527, 2.031, 2.65, 3.368, 4.252, 5.377",\
                 "0.8726, 0.9232, 1.086, 1.357, 1.73, 2.236, 2.888, 3.666, 4.542, 5.586",\
                 "1.036, 1.096, 1.276, 1.571, 1.967, 2.477, 3.145, 3.958, 4.894, 5.94");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.06437, 0.07107, 0.09423, 0.1382, 0.2063, 0.3019, 0.4277, 0.5863, 0.7794, 1.01",\
                 "0.07827, 0.08497, 0.1083, 0.1526, 0.2209, 0.3167, 0.4425, 0.6011, 0.7939, 1.025",\
                 "0.1041, 0.1145, 0.1476, 0.2007, 0.2709, 0.3665, 0.4922, 0.6505, 0.844, 1.075",\
                 "0.1046, 0.1198, 0.1676, 0.2435, 0.3418, 0.4574, 0.5883, 0.7461, 0.939, 1.169",\
                 "0.0723, 0.0927, 0.1565, 0.257, 0.385, 0.5351, 0.704, 0.8893, 1.089, 1.319",\
                 "0.0037, 0.0284, 0.1087, 0.2351, 0.395, 0.5808, 0.7883, 1.015, 1.261, 1.522",\
                 "-0.1048, -0.074, 0.0216, 0.1727, 0.3657, 0.5891, 0.8373, 1.106, 1.397, 1.706",\
                 "-0.2554, -0.2198, -0.1081, 0.0686, 0.2932, 0.5522, 0.8451, 1.159, 1.495, 1.852",\
                 "-0.4513, -0.4112, -0.2844, -0.0818, 0.1759, 0.4749, 0.8088, 1.168, 1.552, 1.959",\
                 "-0.6953, -0.6515, -0.5076, -0.2805, 0.0093, 0.3466, 0.7217, 1.13, 1.562, 2.018");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1706, 0.1915, 0.2635, 0.3994, 0.6079, 0.9003, 1.283, 1.767, 2.356, 3.058",\
                 "0.1777, 0.1986, 0.272, 0.4093, 0.6196, 0.9131, 1.298, 1.781, 2.371, 3.077",\
                 "0.2372, 0.2571, 0.3266, 0.4605, 0.6699, 0.9633, 1.349, 1.833, 2.422, 3.128",\
                 "0.3484, 0.3723, 0.4513, 0.5859, 0.789, 1.077, 1.459, 1.94, 2.531, 3.231",\
                 "0.4998, 0.5273, 0.6176, 0.7746, 0.9926, 1.275, 1.65, 2.125, 2.71, 3.407",\
                 "0.6934, 0.7257, 0.8297, 1.004, 1.251, 1.561, 1.936, 2.403, 2.979, 3.67",\
                 "0.9296, 0.9674, 1.087, 1.284, 1.554, 1.897, 2.309, 2.785, 3.353, 4.034",\
                 "1.211, 1.254, 1.392, 1.616, 1.912, 2.282, 2.731, 3.25, 3.836, 4.512",\
                 "1.537, 1.587, 1.745, 1.996, 2.325, 2.725, 3.204, 3.764, 4.399, 5.102",\
                 "1.913, 1.969, 2.148, 2.429, 2.793, 3.227, 3.739, 4.332, 5.012, 5.769");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.07497, 0.0861, 0.1251, 0.1995, 0.3153, 0.4775, 0.6909, 0.9611, 1.291, 1.683",\
                 "0.07484, 0.08574, 0.1248, 0.1995, 0.3152, 0.4785, 0.6927, 0.9605, 1.291, 1.683",\
                 "0.1202, 0.1312, 0.1661, 0.2235, 0.3201, 0.4773, 0.6912, 0.9591, 1.29, 1.682",\
                 "0.1879, 0.2015, 0.2466, 0.3219, 0.4228, 0.5447, 0.717, 0.9639, 1.29, 1.682",\
                 "0.2744, 0.2932, 0.3507, 0.4426, 0.5626, 0.7112, 0.8844, 1.083, 1.344, 1.695",\
                 "0.3788, 0.402, 0.4742, 0.5876, 0.7302, 0.901, 1.101, 1.33, 1.582, 1.869",\
                 "0.4992, 0.5298, 0.6172, 0.7516, 0.9234, 1.122, 1.346, 1.603, 1.889, 2.206",\
                 "0.6326, 0.6686, 0.7782, 0.938, 1.137, 1.366, 1.624, 1.905, 2.224, 2.573",\
                 "0.777, 0.8194, 0.951, 1.143, 1.373, 1.636, 1.927, 2.246, 2.59, 2.971",\
                 "0.9304, 0.9816, 1.139, 1.365, 1.632, 1.929, 2.257, 2.612, 2.996, 3.406");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2481, 0.2833, 0.4066, 0.6408, 1.007, 1.518, 2.193, 3.039, 4.076, 5.314",\
                 "0.2479, 0.2832, 0.4064, 0.6416, 1.007, 1.517, 2.19, 3.039, 4.077, 5.312",\
                 "0.2561, 0.2876, 0.4062, 0.6403, 1.005, 1.518, 2.194, 3.042, 4.077, 5.313",\
                 "0.3117, 0.3472, 0.4579, 0.6592, 1.006, 1.519, 2.189, 3.039, 4.077, 5.31",\
                 "0.377, 0.4138, 0.5372, 0.76, 1.069, 1.532, 2.189, 3.04, 4.08, 5.312",\
                 "0.474, 0.5104, 0.6358, 0.8686, 1.213, 1.647, 2.239, 3.045, 4.076, 5.316",\
                 "0.5894, 0.6304, 0.7626, 0.999, 1.361, 1.837, 2.411, 3.14, 4.103, 5.316",\
                 "0.722, 0.7696, 0.916, 1.162, 1.527, 2.03, 2.65, 3.371, 4.254, 5.368",\
                 "0.8766, 0.923, 1.086, 1.357, 1.729, 2.236, 2.888, 3.665, 4.542, 5.592",\
                 "1.037, 1.096, 1.276, 1.571, 1.967, 2.478, 3.146, 3.958, 4.9, 5.94");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.06078, 0.06693, 0.08844, 0.1291, 0.1922, 0.2806, 0.3969, 0.5434, 0.7223, 0.9358",\
                 "0.07504, 0.08126, 0.1029, 0.1438, 0.2071, 0.2957, 0.4122, 0.5589, 0.7373, 0.9514",\
                 "0.09947, 0.1095, 0.1412, 0.1921, 0.2583, 0.3467, 0.463, 0.6094, 0.7882, 1.001",\
                 "0.09769, 0.1126, 0.1588, 0.2321, 0.3265, 0.4372, 0.5612, 0.7076, 0.8858, 1.099",\
                 "0.06231, 0.08228, 0.1441, 0.242, 0.3659, 0.5103, 0.6722, 0.8493, 1.039, 1.252",\
                 "-0.0106, 0.0144, 0.0917, 0.215, 0.3701, 0.5506, 0.7501, 0.9685, 1.204, 1.453",\
                 "-0.1243, -0.0943, -0.0008, 0.147, 0.3342, 0.5518, 0.7921, 1.052, 1.331, 1.628",\
                 "-0.2818, -0.2465, -0.1375, 0.0353, 0.255, 0.51, 0.7918, 1.096, 1.42, 1.764",\
                 "-0.4852, -0.445, -0.3212, -0.1232, 0.1288, 0.4204, 0.7423, 1.094, 1.466, 1.859",\
                 "-0.7366, -0.6925, -0.5536, -0.3319, -0.0476, 0.2808, 0.6453, 1.044, 1.464, 1.908");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1699, 0.1909, 0.263, 0.3988, 0.6077, 0.8995, 1.283, 1.766, 2.357, 3.057",\
                 "0.1766, 0.1977, 0.2705, 0.4078, 0.6186, 0.9116, 1.296, 1.781, 2.37, 3.072",\
                 "0.2369, 0.2567, 0.3258, 0.4597, 0.6687, 0.9618, 1.347, 1.832, 2.421, 3.125",\
                 "0.3494, 0.3732, 0.4518, 0.5864, 0.7892, 1.077, 1.457, 1.94, 2.527, 3.23",\
                 "0.5022, 0.5299, 0.6201, 0.7766, 0.9943, 1.276, 1.65, 2.126, 2.71, 3.408",\
                 "0.6993, 0.7312, 0.8343, 1.009, 1.255, 1.565, 1.938, 2.405, 2.98, 3.671",\
                 "0.9395, 0.9773, 1.096, 1.293, 1.56, 1.904, 2.314, 2.789, 3.356, 4.038",\
                 "1.226, 1.269, 1.407, 1.628, 1.923, 2.292, 2.74, 3.258, 3.843, 4.519",\
                 "1.56, 1.61, 1.766, 2.015, 2.342, 2.739, 3.217, 3.777, 4.41, 5.112",\
                 "1.945, 2.002, 2.175, 2.456, 2.816, 3.249, 3.757, 4.35, 5.028, 5.784");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.06861, 0.07891, 0.1148, 0.1834, 0.29, 0.4398, 0.6367, 0.8863, 1.19, 1.552",\
                 "0.06932, 0.07894, 0.1146, 0.1834, 0.2901, 0.44, 0.6376, 0.8869, 1.19, 1.55",\
                 "0.1154, 0.1255, 0.1586, 0.2116, 0.2977, 0.4399, 0.6376, 0.8863, 1.19, 1.552",\
                 "0.1823, 0.196, 0.2392, 0.3095, 0.4044, 0.5172, 0.6694, 0.8914, 1.187, 1.549",\
                 "0.268, 0.2856, 0.3416, 0.429, 0.544, 0.684, 0.846, 1.027, 1.259, 1.572",\
                 "0.3714, 0.3934, 0.4646, 0.5718, 0.7088, 0.8718, 1.061, 1.275, 1.511, 1.769",\
                 "0.489, 0.5178, 0.6036, 0.7344, 0.8994, 1.09, 1.303, 1.545, 1.819, 2.111",\
                 "0.6188, 0.6556, 0.7612, 0.9174, 1.111, 1.33, 1.579, 1.845, 2.145, 2.475",\
                 "0.7596, 0.8038, 0.933, 1.121, 1.343, 1.597, 1.877, 2.183, 2.511, 2.87",\
                 "0.9114, 0.9634, 1.117, 1.341, 1.598, 1.885, 2.201, 2.543, 2.912, 3.298");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2481, 0.2833, 0.4066, 0.6419, 1.007, 1.518, 2.192, 3.037, 4.078, 5.314",\
                 "0.2479, 0.2831, 0.4066, 0.6416, 1.006, 1.517, 2.192, 3.039, 4.076, 5.311",\
                 "0.2565, 0.2878, 0.4062, 0.6401, 1.005, 1.519, 2.19, 3.041, 4.07, 5.306",\
                 "0.311, 0.3464, 0.4578, 0.6597, 1.008, 1.518, 2.189, 3.041, 4.076, 5.303",\
                 "0.3758, 0.4116, 0.5376, 0.7586, 1.068, 1.532, 2.193, 3.036, 4.075, 5.313",\
                 "0.469, 0.5058, 0.6316, 0.866, 1.211, 1.645, 2.235, 3.041, 4.078, 5.308",\
                 "0.5838, 0.624, 0.7566, 0.9948, 1.358, 1.833, 2.406, 3.139, 4.098, 5.316",\
                 "0.7148, 0.7594, 0.907, 1.154, 1.52, 2.021, 2.644, 3.366, 4.248, 5.368",\
                 "0.8632, 0.9148, 1.075, 1.344, 1.716, 2.226, 2.884, 3.656, 4.536, 5.584",\
                 "1.026, 1.084, 1.263, 1.556, 1.949, 2.461, 3.131, 3.946, 4.888, 5.932");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1107, 0.121, 0.156, 0.2189, 0.312, 0.4384, 0.6012, 0.804, 1.05, 1.342",\
                 "0.1242, 0.1346, 0.1695, 0.2325, 0.3258, 0.4523, 0.6153, 0.8182, 1.064, 1.356",\
                 "0.1749, 0.1856, 0.2201, 0.2799, 0.3718, 0.4979, 0.6606, 0.8634, 1.109, 1.401",\
                 "0.219, 0.2332, 0.279, 0.3562, 0.4599, 0.5873, 0.7484, 0.9503, 1.196, 1.487",\
                 "0.2375, 0.2551, 0.3129, 0.4095, 0.5395, 0.6986, 0.8824, 1.089, 1.333, 1.623",\
                 "0.2239, 0.2447, 0.3154, 0.4328, 0.5893, 0.7803, 1.002, 1.25, 1.522, 1.82",\
                 "0.1725, 0.1979, 0.2813, 0.4207, 0.6063, 0.8316, 1.09, 1.378, 1.696, 2.041",\
                 "0.0825, 0.112, 0.2076, 0.3685, 0.5841, 0.8449, 1.142, 1.473, 1.835, 2.228",\
                 "-0.0492, -0.0161, 0.092, 0.2737, 0.5195, 0.8172, 1.156, 1.53, 1.938, 2.378",\
                 "-0.2252, -0.1885, -0.0677, 0.1367, 0.4109, 0.7437, 1.125, 1.545, 2.001, 2.491");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1763, 0.1972, 0.2696, 0.4054, 0.615, 0.9079, 1.293, 1.777, 2.368, 3.073",\
                 "0.1834, 0.2047, 0.278, 0.4155, 0.6269, 0.9211, 1.307, 1.792, 2.383, 3.088",\
                 "0.2431, 0.2628, 0.3326, 0.467, 0.6771, 0.9713, 1.357, 1.843, 2.435, 3.14",\
                 "0.3563, 0.3802, 0.4584, 0.5927, 0.7963, 1.085, 1.468, 1.951, 2.541, 3.246",\
                 "0.5095, 0.5367, 0.6266, 0.7831, 1, 1.284, 1.659, 2.136, 2.721, 3.421",\
                 "0.7063, 0.7382, 0.8405, 1.014, 1.26, 1.571, 1.945, 2.413, 2.991, 3.685",\
                 "0.9462, 0.9831, 1.101, 1.296, 1.565, 1.908, 2.32, 2.796, 3.365, 4.05",\
                 "1.231, 1.274, 1.41, 1.63, 1.925, 2.295, 2.744, 3.263, 3.849, 4.528",\
                 "1.564, 1.613, 1.766, 2.015, 2.341, 2.739, 3.219, 3.78, 4.415, 5.119",\
                 "1.946, 2.001, 2.174, 2.45, 2.812, 3.246, 3.755, 4.35, 5.03, 5.787");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1644, 0.1813, 0.2372, 0.3385, 0.4907, 0.6988, 0.9706, 1.313, 1.727, 2.224",\
                 "0.1626, 0.18, 0.2369, 0.3386, 0.4907, 0.6991, 0.9707, 1.312, 1.729, 2.225",\
                 "0.1837, 0.1965, 0.2415, 0.334, 0.4868, 0.6984, 0.9708, 1.313, 1.728, 2.225",\
                 "0.256, 0.272, 0.3257, 0.4154, 0.5368, 0.7139, 0.97, 1.311, 1.729, 2.225",\
                 "0.3508, 0.3703, 0.4323, 0.537, 0.6814, 0.8604, 1.074, 1.358, 1.738, 2.224",\
                 "0.4672, 0.4916, 0.567, 0.6884, 0.8492, 1.051, 1.293, 1.571, 1.894, 2.307",\
                 "0.6014, 0.63, 0.7206, 0.8644, 1.051, 1.272, 1.538, 1.847, 2.198, 2.582",\
                 "0.7516, 0.7858, 0.8936, 1.064, 1.278, 1.53, 1.819, 2.153, 2.534, 2.958",\
                 "0.925, 0.9622, 1.088, 1.283, 1.53, 1.815, 2.139, 2.496, 2.903, 3.357",\
                 "1.111, 1.159, 1.299, 1.519, 1.802, 2.123, 2.484, 2.879, 3.312, 3.795");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3734, 0.4149, 0.5563, 0.8196, 1.218, 1.76, 2.454, 3.314, 4.353, 5.589",\
                 "0.3733, 0.4146, 0.5562, 0.8196, 1.218, 1.76, 2.454, 3.314, 4.354, 5.589",\
                 "0.3812, 0.4187, 0.5559, 0.8198, 1.219, 1.76, 2.454, 3.314, 4.352, 5.589",\
                 "0.469, 0.5019, 0.6114, 0.8381, 1.219, 1.76, 2.454, 3.313, 4.354, 5.59",\
                 "0.5746, 0.609, 0.7344, 0.9546, 1.284, 1.774, 2.455, 3.314, 4.354, 5.589",\
                 "0.7264, 0.7566, 0.8746, 1.11, 1.452, 1.896, 2.503, 3.319, 4.354, 5.59",\
                 "0.9308, 0.9564, 1.061, 1.283, 1.641, 2.112, 2.684, 3.42, 4.379, 5.592",\
                 "1.169, 1.194, 1.292, 1.501, 1.85, 2.341, 2.949, 3.66, 4.543, 5.658",\
                 "1.435, 1.459, 1.557, 1.764, 2.101, 2.59, 3.224, 3.98, 4.843, 5.884",\
                 "1.722, 1.746, 1.845, 2.059, 2.401, 2.876, 3.514, 4.309, 5.224, 6.249");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1455, 0.1557, 0.19, 0.2524, 0.3455, 0.4719, 0.635, 0.8381, 1.084, 1.376",\
                 "0.1567, 0.1669, 0.2013, 0.2636, 0.3567, 0.4832, 0.6463, 0.8493, 1.095, 1.388",\
                 "0.2061, 0.2158, 0.2481, 0.3087, 0.4007, 0.5269, 0.6897, 0.8927, 1.139, 1.431",\
                 "0.2637, 0.2766, 0.3186, 0.3915, 0.4905, 0.6159, 0.7771, 0.9792, 1.225, 1.516",\
                 "0.2996, 0.3156, 0.3678, 0.4579, 0.5815, 0.7346, 0.9144, 1.119, 1.363, 1.653",\
                 "0.3087, 0.3277, 0.3909, 0.4985, 0.6471, 0.8294, 1.044, 1.287, 1.555, 1.85",\
                 "0.288, 0.3109, 0.3847, 0.5118, 0.6853, 0.8982, 1.146, 1.427, 1.738, 2.078",\
                 "0.2365, 0.2632, 0.3477, 0.493, 0.6921, 0.9365, 1.22, 1.539, 1.891, 2.276",\
                 "0.1549, 0.1832, 0.2786, 0.4405, 0.6665, 0.9424, 1.262, 1.621, 2.015, 2.443",\
                 "0.0406, 0.0717, 0.1763, 0.3554, 0.6049, 0.9127, 1.269, 1.669, 2.106, 2.579");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2179, 0.2387, 0.3108, 0.4463, 0.6557, 0.9484, 1.333, 1.817, 2.408, 3.113",\
                 "0.2276, 0.2489, 0.3226, 0.4604, 0.6718, 0.9659, 1.352, 1.837, 2.428, 3.133",\
                 "0.2658, 0.2866, 0.359, 0.496, 0.7084, 1.004, 1.391, 1.877, 2.47, 3.175",\
                 "0.3353, 0.3582, 0.436, 0.5748, 0.7827, 1.075, 1.46, 1.945, 2.537, 3.243",\
                 "0.444, 0.4691, 0.5513, 0.699, 0.9172, 1.206, 1.585, 2.065, 2.653, 3.355",\
                 "0.5881, 0.6171, 0.7106, 0.8693, 1.096, 1.4, 1.781, 2.254, 2.834, 3.53",\
                 "0.761, 0.7953, 0.9031, 1.082, 1.325, 1.64, 2.038, 2.52, 3.094, 3.781",\
                 "0.9641, 1.003, 1.126, 1.33, 1.598, 1.932, 2.343, 2.843, 3.432, 4.116",\
                 "1.197, 1.241, 1.381, 1.609, 1.909, 2.272, 2.703, 3.217, 3.825, 4.529",\
                 "1.462, 1.512, 1.669, 1.924, 2.256, 2.653, 3.115, 3.65, 4.273, 4.997");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2026, 0.2187, 0.2744, 0.3755, 0.5273, 0.7369, 1.009, 1.351, 1.768, 2.264",\
                 "0.2018, 0.2181, 0.2738, 0.3754, 0.5272, 0.736, 1.009, 1.351, 1.769, 2.264",\
                 "0.207, 0.2211, 0.2712, 0.3699, 0.5247, 0.7358, 1.009, 1.352, 1.768, 2.263",\
                 "0.2849, 0.3014, 0.3535, 0.4417, 0.5643, 0.7471, 1.008, 1.35, 1.768, 2.264",\
                 "0.3845, 0.403, 0.4654, 0.5688, 0.71, 0.8864, 1.102, 1.39, 1.775, 2.264",\
                 "0.5088, 0.5318, 0.6032, 0.7216, 0.8804, 1.081, 1.321, 1.598, 1.922, 2.34",\
                 "0.655, 0.6826, 0.7678, 0.9058, 1.083, 1.304, 1.566, 1.873, 2.222, 2.609",\
                 "0.824, 0.8556, 0.9574, 1.115, 1.319, 1.563, 1.846, 2.178, 2.558, 2.981",\
                 "1.015, 1.054, 1.17, 1.352, 1.584, 1.858, 2.17, 2.522, 2.923, 3.378",\
                 "1.233, 1.279, 1.408, 1.615, 1.879, 2.186, 2.528, 2.911, 3.331, 3.812");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3743, 0.415, 0.5565, 0.8199, 1.218, 1.76, 2.454, 3.313, 4.352, 5.59",\
                 "0.3743, 0.4151, 0.5566, 0.8198, 1.218, 1.76, 2.454, 3.312, 4.354, 5.586",\
                 "0.3846, 0.4221, 0.5579, 0.8198, 1.218, 1.76, 2.454, 3.314, 4.354, 5.587",\
                 "0.4627, 0.4961, 0.6098, 0.8425, 1.221, 1.76, 2.454, 3.314, 4.354, 5.588",\
                 "0.5702, 0.6006, 0.7132, 0.9368, 1.281, 1.781, 2.456, 3.313, 4.354, 5.59",\
                 "0.7374, 0.76, 0.8536, 1.062, 1.406, 1.878, 2.509, 3.328, 4.355, 5.59",\
                 "0.9496, 0.9692, 1.054, 1.237, 1.56, 2.031, 2.642, 3.418, 4.394, 5.596",\
                 "1.187, 1.207, 1.29, 1.467, 1.764, 2.213, 2.826, 3.589, 4.525, 5.675",\
                 "1.445, 1.465, 1.55, 1.734, 2.025, 2.447, 3.04, 3.806, 4.736, 5.844",\
                 "1.718, 1.739, 1.827, 2.017, 2.322, 2.742, 3.305, 4.053, 4.989, 6.098");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1343, 0.1439, 0.1763, 0.2357, 0.3252, 0.4484, 0.6088, 0.8097, 1.054, 1.345",\
                 "0.1456, 0.155, 0.1875, 0.2468, 0.3364, 0.4596, 0.6201, 0.821, 1.065, 1.356",\
                 "0.1916, 0.2012, 0.2331, 0.2911, 0.3802, 0.5032, 0.6635, 0.8643, 1.109, 1.399",\
                 "0.2374, 0.2506, 0.2933, 0.3667, 0.4668, 0.5917, 0.7508, 0.9508, 1.195, 1.485",\
                 "0.2604, 0.2766, 0.3311, 0.4229, 0.5485, 0.7035, 0.8849, 1.09, 1.333, 1.622",\
                 "0.2562, 0.2762, 0.3416, 0.4534, 0.6045, 0.79, 1.007, 1.252, 1.522, 1.818",\
                 "0.2229, 0.2465, 0.3236, 0.4553, 0.6323, 0.8504, 1.102, 1.386, 1.699, 2.042",\
                 "0.1605, 0.1868, 0.2749, 0.426, 0.6303, 0.8805, 1.169, 1.491, 1.847, 2.234",\
                 "0.0674, 0.097, 0.1948, 0.3632, 0.5937, 0.8776, 1.202, 1.566, 1.964, 2.395",\
                 "-0.0586, -0.0261, 0.0833, 0.2685, 0.5252, 0.8395, 1.201, 1.607, 2.049, 2.526");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2179, 0.2386, 0.3108, 0.4463, 0.6557, 0.9484, 1.333, 1.817, 2.408, 3.113",\
                 "0.2276, 0.2489, 0.3226, 0.4604, 0.6718, 0.9659, 1.352, 1.837, 2.428, 3.133",\
                 "0.2658, 0.2866, 0.359, 0.4962, 0.7084, 1.004, 1.391, 1.877, 2.47, 3.175",\
                 "0.3351, 0.358, 0.4356, 0.5748, 0.7829, 1.075, 1.46, 1.946, 2.537, 3.243",\
                 "0.4443, 0.4691, 0.5514, 0.699, 0.9172, 1.206, 1.585, 2.065, 2.653, 3.355",\
                 "0.5882, 0.6172, 0.7107, 0.8693, 1.096, 1.4, 1.781, 2.254, 2.834, 3.53",\
                 "0.7614, 0.7952, 0.9032, 1.082, 1.325, 1.64, 2.038, 2.521, 3.094, 3.78",\
                 "0.9643, 1.003, 1.127, 1.33, 1.598, 1.932, 2.343, 2.843, 3.433, 4.116",\
                 "1.198, 1.242, 1.382, 1.61, 1.909, 2.273, 2.703, 3.218, 3.826, 4.53",\
                 "1.463, 1.512, 1.669, 1.924, 2.256, 2.653, 3.116, 3.65, 4.274, 4.997");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1779, 0.1933, 0.2456, 0.343, 0.4927, 0.6999, 0.9711, 1.313, 1.73, 2.225",\
                 "0.1767, 0.1925, 0.2454, 0.3433, 0.4927, 0.6999, 0.9712, 1.313, 1.73, 2.224",\
                 "0.1906, 0.2037, 0.2495, 0.3415, 0.4917, 0.7001, 0.9712, 1.313, 1.73, 2.225",\
                 "0.2673, 0.2831, 0.3345, 0.4224, 0.5429, 0.7187, 0.9721, 1.313, 1.729, 2.225",\
                 "0.3676, 0.3871, 0.4467, 0.5478, 0.6874, 0.8652, 1.079, 1.361, 1.741, 2.226",\
                 "0.4918, 0.5142, 0.587, 0.704, 0.8612, 1.058, 1.298, 1.576, 1.898, 2.309",\
                 "0.6392, 0.6654, 0.7506, 0.8866, 1.066, 1.282, 1.545, 1.852, 2.2, 2.587",\
                 "0.8062, 0.8386, 0.9392, 1.097, 1.301, 1.544, 1.826, 2.155, 2.536, 2.958",\
                 "0.9972, 1.035, 1.151, 1.334, 1.57, 1.838, 2.147, 2.502, 2.901, 3.354",\
                 "1.213, 1.258, 1.387, 1.596, 1.861, 2.164, 2.507, 2.886, 3.312, 3.789");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3649, 0.4042, 0.5384, 0.7874, 1.164, 1.681, 2.357, 3.205, 4.241, 5.47",\
                 "0.3653, 0.4044, 0.5384, 0.7873, 1.163, 1.681, 2.357, 3.204, 4.24, 5.47",\
                 "0.3757, 0.411, 0.5399, 0.7875, 1.163, 1.681, 2.357, 3.204, 4.24, 5.473",\
                 "0.4483, 0.4808, 0.591, 0.8098, 1.166, 1.681, 2.357, 3.205, 4.24, 5.473",\
                 "0.5472, 0.5762, 0.684, 0.8976, 1.225, 1.702, 2.358, 3.206, 4.241, 5.473",\
                 "0.6964, 0.7202, 0.813, 1.013, 1.341, 1.797, 2.412, 3.219, 4.242, 5.473",\
                 "0.8752, 0.9002, 0.991, 1.173, 1.484, 1.942, 2.543, 3.309, 4.282, 5.482",\
                 "1.074, 1.1, 1.195, 1.381, 1.674, 2.115, 2.719, 3.479, 4.412, 5.56",\
                 "1.286, 1.316, 1.418, 1.616, 1.917, 2.339, 2.925, 3.689, 4.62, 5.73",\
                 "1.513, 1.543, 1.657, 1.87, 2.191, 2.623, 3.187, 3.932, 4.866, 5.98");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1086, 0.1162, 0.1423, 0.1899, 0.2617, 0.3601, 0.488, 0.6479, 0.8425, 1.074",\
                 "0.1212, 0.1289, 0.155, 0.2026, 0.2743, 0.3727, 0.5006, 0.6605, 0.8551, 1.086",\
                 "0.1685, 0.177, 0.2049, 0.2522, 0.323, 0.4211, 0.5488, 0.7086, 0.9031, 1.134",\
                 "0.2062, 0.2177, 0.2565, 0.3216, 0.4098, 0.5172, 0.6449, 0.804, 0.9979, 1.229",\
                 "0.217, 0.2318, 0.2825, 0.366, 0.4786, 0.6167, 0.7756, 0.9529, 1.149, 1.379",\
                 "0.1979, 0.2166, 0.2777, 0.3809, 0.5198, 0.6874, 0.8808, 1.097, 1.334, 1.588",\
                 "0.1462, 0.1677, 0.24, 0.3628, 0.5278, 0.7271, 0.9554, 1.21, 1.488, 1.788",\
                 "0.0608, 0.0858, 0.1681, 0.3093, 0.4997, 0.7317, 0.9964, 1.289, 1.609, 1.953",\
                 "-0.0597, -0.032, 0.0612, 0.2191, 0.4342, 0.6977, 0.9991, 1.333, 1.695, 2.084",\
                 "-0.2188, -0.1874, -0.0838, 0.0915, 0.3304, 0.6244, 0.9623, 1.337, 1.742, 2.177");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2171, 0.2378, 0.3099, 0.4453, 0.6548, 0.9475, 1.332, 1.816, 2.408, 3.112",\
                 "0.2256, 0.2468, 0.3202, 0.4579, 0.6692, 0.9634, 1.349, 1.834, 2.425, 3.13",\
                 "0.2642, 0.285, 0.3568, 0.4935, 0.7053, 1, 1.387, 1.874, 2.466, 3.171",\
                 "0.3365, 0.3589, 0.4364, 0.5743, 0.7814, 1.073, 1.457, 1.942, 2.534, 3.239",\
                 "0.4521, 0.4766, 0.5579, 0.7039, 0.9199, 1.208, 1.585, 2.065, 2.652, 3.353",\
                 "0.6064, 0.6348, 0.7266, 0.8826, 1.108, 1.409, 1.788, 2.259, 2.838, 3.531",\
                 "0.7941, 0.8266, 0.9328, 1.108, 1.347, 1.659, 2.054, 2.534, 3.106, 3.79",\
                 "1.015, 1.053, 1.174, 1.372, 1.636, 1.965, 2.372, 2.868, 3.455, 4.136",\
                 "1.27, 1.314, 1.451, 1.674, 1.966, 2.324, 2.749, 3.258, 3.863, 4.563",\
                 "1.563, 1.612, 1.765, 2.013, 2.337, 2.728, 3.182, 3.71, 4.329, 5.048");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1337, 0.1463, 0.1882, 0.2657, 0.3839, 0.5477, 0.762, 1.032, 1.362, 1.753",\
                 "0.1327, 0.1451, 0.1878, 0.2657, 0.3839, 0.548, 0.7625, 1.032, 1.361, 1.753",\
                 "0.162, 0.1726, 0.2051, 0.2706, 0.3832, 0.5476, 0.7626, 1.032, 1.361, 1.752",\
                 "0.2399, 0.2535, 0.2964, 0.3689, 0.4651, 0.5902, 0.7755, 1.033, 1.361, 1.753",\
                 "0.3383, 0.3551, 0.4082, 0.4952, 0.6126, 0.7584, 0.927, 1.129, 1.402, 1.762",\
                 "0.459, 0.4794, 0.5442, 0.6482, 0.7844, 0.951, 1.149, 1.375, 1.623, 1.917",\
                 "0.5994, 0.6244, 0.7044, 0.8282, 0.986, 1.175, 1.396, 1.65, 1.936, 2.249",\
                 "0.7668, 0.7932, 0.886, 1.031, 1.214, 1.43, 1.674, 1.954, 2.269, 2.619",\
                 "0.9572, 0.9884, 1.095, 1.262, 1.472, 1.715, 1.992, 2.295, 2.634, 3.014",\
                 "1.167, 1.207, 1.334, 1.52, 1.757, 2.037, 2.337, 2.676, 3.046, 3.448");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3649, 0.4043, 0.5384, 0.7874, 1.163, 1.681, 2.357, 3.205, 4.239, 5.475",\
                 "0.3654, 0.4042, 0.5385, 0.7874, 1.163, 1.681, 2.357, 3.205, 4.241, 5.471",\
                 "0.3761, 0.4116, 0.5399, 0.7875, 1.164, 1.681, 2.357, 3.204, 4.24, 5.473",\
                 "0.4473, 0.4802, 0.5905, 0.8102, 1.166, 1.681, 2.357, 3.205, 4.241, 5.471",\
                 "0.5418, 0.5706, 0.6802, 0.8956, 1.224, 1.702, 2.358, 3.206, 4.24, 5.475",\
                 "0.6844, 0.7088, 0.8026, 1.004, 1.336, 1.794, 2.41, 3.218, 4.241, 5.475",\
                 "0.8596, 0.8838, 0.9718, 1.156, 1.47, 1.933, 2.538, 3.307, 4.28, 5.482",\
                 "1.054, 1.08, 1.171, 1.355, 1.65, 2.097, 2.707, 3.47, 4.406, 5.556",\
                 "1.266, 1.292, 1.391, 1.583, 1.882, 2.307, 2.9, 3.673, 4.607, 5.721",\
                 "1.494, 1.522, 1.627, 1.833, 2.152, 2.574, 3.143, 3.897, 4.843, 5.962");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.09855, 0.1077, 0.1388, 0.1962, 0.2838, 0.4053, 0.5643, 0.764, 1.007, 1.297",\
                 "0.1098, 0.1189, 0.15, 0.2074, 0.295, 0.4165, 0.5755, 0.7752, 1.019, 1.309",\
                 "0.1491, 0.1596, 0.1941, 0.2519, 0.3389, 0.4601, 0.6189, 0.8186, 1.062, 1.352",\
                 "0.1746, 0.1891, 0.2364, 0.3149, 0.4203, 0.5482, 0.7064, 0.9053, 1.148, 1.438",\
                 "0.1758, 0.1946, 0.2551, 0.3554, 0.4881, 0.6491, 0.8356, 1.044, 1.286, 1.574",\
                 "0.1505, 0.1733, 0.2475, 0.3694, 0.5305, 0.7244, 0.9475, 1.198, 1.473, 1.771",\
                 "0.0977, 0.124, 0.2103, 0.3547, 0.5445, 0.7723, 1.033, 1.322, 1.641, 1.987",\
                 "0.0156, 0.0465, 0.1449, 0.3089, 0.5283, 0.7894, 1.088, 1.418, 1.78, 2.172",\
                 "-0.0967, -0.062, 0.0488, 0.2317, 0.4779, 0.7743, 1.111, 1.484, 1.889, 2.326",\
                 "-0.2405, -0.2029, -0.08, 0.1231, 0.3952, 0.7229, 1.1, 1.515, 1.966, 2.449");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2121, 0.2328, 0.3046, 0.44, 0.6486, 0.9406, 1.323, 1.807, 2.396, 3.1",\
                 "0.2216, 0.2431, 0.3164, 0.4539, 0.6647, 0.9582, 1.342, 1.826, 2.416, 3.122",\
                 "0.2598, 0.2806, 0.3528, 0.4898, 0.7013, 0.9961, 1.383, 1.868, 2.458, 3.162",\
                 "0.3278, 0.3509, 0.4286, 0.568, 0.7755, 1.067, 1.451, 1.935, 2.525, 3.228",\
                 "0.4353, 0.4606, 0.5437, 0.6915, 0.9091, 1.198, 1.576, 2.054, 2.641, 3.34",\
                 "0.576, 0.606, 0.7014, 0.8607, 1.087, 1.391, 1.772, 2.243, 2.821, 3.516",\
                 "0.7463, 0.7808, 0.8913, 1.071, 1.315, 1.63, 2.027, 2.509, 3.081, 3.765",\
                 "0.945, 0.9852, 1.112, 1.316, 1.587, 1.921, 2.331, 2.83, 3.418, 4.101",\
                 "1.174, 1.219, 1.363, 1.594, 1.895, 2.26, 2.691, 3.204, 3.811, 4.514",\
                 "1.434, 1.485, 1.646, 1.904, 2.239, 2.638, 3.101, 3.635, 4.258, 4.979");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1346, 0.1495, 0.2003, 0.2959, 0.4433, 0.6487, 0.9201, 1.26, 1.677, 2.17",\
                 "0.1326, 0.1479, 0.1996, 0.2956, 0.4432, 0.6493, 0.9195, 1.26, 1.677, 2.171",\
                 "0.1643, 0.177, 0.2182, 0.2998, 0.4426, 0.6493, 0.9191, 1.259, 1.677, 2.171",\
                 "0.2389, 0.2545, 0.3049, 0.3923, 0.5124, 0.6792, 0.9241, 1.26, 1.676, 2.171",\
                 "0.3391, 0.3579, 0.4182, 0.5186, 0.657, 0.8336, 1.047, 1.322, 1.692, 2.171",\
                 "0.459, 0.4834, 0.5558, 0.6732, 0.8292, 1.026, 1.265, 1.544, 1.864, 2.268",\
                 "0.6002, 0.6292, 0.7164, 0.8568, 1.035, 1.251, 1.51, 1.818, 2.166, 2.554",\
                 "0.7654, 0.7968, 0.9024, 1.065, 1.271, 1.512, 1.793, 2.121, 2.5, 2.923",\
                 "0.9492, 0.9906, 1.111, 1.296, 1.536, 1.806, 2.117, 2.47, 2.866, 3.319",\
                 "1.152, 1.202, 1.343, 1.556, 1.825, 2.129, 2.476, 2.854, 3.281, 3.754");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2488, 0.2835, 0.4069, 0.6402, 1.006, 1.519, 2.191, 3.037, 4.074, 5.305",\
                 "0.2489, 0.2838, 0.4069, 0.6417, 1.006, 1.518, 2.191, 3.041, 4.078, 5.308",\
                 "0.2593, 0.2907, 0.4083, 0.6414, 1.006, 1.518, 2.192, 3.041, 4.071, 5.31",\
                 "0.3116, 0.3442, 0.4558, 0.6627, 1.009, 1.519, 2.193, 3.044, 4.08, 5.311",\
                 "0.3886, 0.4184, 0.5264, 0.7424, 1.067, 1.537, 2.191, 3.043, 4.075, 5.306",\
                 "0.4996, 0.5292, 0.6358, 0.8398, 1.171, 1.633, 2.246, 3.053, 4.078, 5.31",\
                 "0.6274, 0.6634, 0.7792, 0.9832, 1.302, 1.766, 2.375, 3.14, 4.12, 5.319",\
                 "0.7712, 0.8124, 0.9416, 1.162, 1.479, 1.931, 2.542, 3.309, 4.241, 5.393",\
                 "0.9298, 0.9732, 1.119, 1.361, 1.705, 2.143, 2.74, 3.517, 4.449, 5.559",\
                 "1.095, 1.146, 1.312, 1.583, 1.948, 2.415, 2.988, 3.745, 4.689, 5.807");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.082, 0.08923, 0.1142, 0.1601, 0.2299, 0.3266, 0.4531, 0.6119, 0.8053, 1.036",\
                 "0.0948, 0.102, 0.1268, 0.1727, 0.2425, 0.3392, 0.4657, 0.6245, 0.818, 1.048",\
                 "0.1317, 0.1412, 0.1715, 0.2217, 0.2912, 0.3876, 0.5139, 0.6725, 0.8661, 1.096",\
                 "0.1494, 0.1628, 0.2059, 0.2765, 0.3696, 0.4812, 0.6101, 0.768, 0.9609, 1.191",\
                 "0.1396, 0.1572, 0.2135, 0.3053, 0.4255, 0.5691, 0.7329, 0.9141, 1.112, 1.341",\
                 "0.0995, 0.1212, 0.1904, 0.3038, 0.4521, 0.6282, 0.8277, 1.049, 1.29, 1.547",\
                 "0.0287, 0.0539, 0.1351, 0.2691, 0.446, 0.6561, 0.8922, 1.152, 1.436, 1.74",\
                 "-0.0754, -0.0466, 0.047, 0.2003, 0.4041, 0.6481, 0.9223, 1.224, 1.548, 1.897",\
                 "-0.2153, -0.1827, -0.0771, 0.0968, 0.3266, 0.6025, 0.9152, 1.257, 1.627, 2.021",\
                 "-0.3912, -0.3553, -0.2383, -0.0454, 0.2105, 0.5166, 0.8667, 1.252, 1.665, 2.108");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2114, 0.2321, 0.3039, 0.439, 0.6478, 0.9391, 1.323, 1.807, 2.398, 3.098",\
                 "0.2197, 0.2406, 0.3143, 0.4512, 0.6621, 0.9556, 1.339, 1.823, 2.413, 3.116",\
                 "0.2582, 0.279, 0.3507, 0.4869, 0.6984, 0.9926, 1.378, 1.864, 2.453, 3.157",\
                 "0.3291, 0.3517, 0.429, 0.5675, 0.774, 1.065, 1.449, 1.931, 2.523, 3.224",\
                 "0.4434, 0.4682, 0.5501, 0.696, 0.9119, 1.2, 1.576, 2.054, 2.64, 3.339",\
                 "0.5952, 0.6244, 0.7171, 0.874, 1.098, 1.4, 1.779, 2.247, 2.825, 3.518",\
                 "0.7793, 0.8131, 0.9214, 1.098, 1.337, 1.649, 2.043, 2.522, 3.092, 3.775",\
                 "0.9964, 1.036, 1.159, 1.359, 1.625, 1.954, 2.361, 2.856, 3.441, 4.121",\
                 "1.248, 1.292, 1.433, 1.658, 1.954, 2.311, 2.737, 3.245, 3.848, 4.547",\
                 "1.535, 1.585, 1.742, 1.995, 2.321, 2.713, 3.168, 3.696, 4.314, 5.031");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1023, 0.1137, 0.1541, 0.2295, 0.3452, 0.508, 0.7213, 0.9899, 1.317, 1.71",\
                 "0.1006, 0.1126, 0.1532, 0.2288, 0.3452, 0.5076, 0.7217, 0.9896, 1.318, 1.71",\
                 "0.1434, 0.1534, 0.187, 0.2447, 0.3475, 0.5079, 0.7212, 0.9898, 1.319, 1.709",\
                 "0.2183, 0.232, 0.2746, 0.3467, 0.4441, 0.5657, 0.7421, 0.9925, 1.319, 1.709",\
                 "0.3152, 0.3321, 0.3855, 0.4719, 0.5888, 0.7344, 0.9052, 1.103, 1.37, 1.721",\
                 "0.4322, 0.4532, 0.521, 0.6244, 0.7604, 0.9264, 1.125, 1.351, 1.601, 1.89",\
                 "0.5706, 0.597, 0.6752, 0.8032, 0.962, 1.149, 1.37, 1.624, 1.91, 2.223",\
                 "0.7322, 0.7652, 0.8588, 1.004, 1.19, 1.405, 1.651, 1.929, 2.241, 2.591",\
                 "0.9128, 0.9526, 1.064, 1.234, 1.446, 1.691, 1.964, 2.271, 2.609, 2.985",\
                 "1.111, 1.155, 1.292, 1.489, 1.732, 2.007, 2.31, 2.65, 3.016, 3.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2488, 0.2835, 0.4069, 0.6416, 1.007, 1.517, 2.189, 3.039, 4.077, 5.314",\
                 "0.2491, 0.2838, 0.4066, 0.6417, 1.006, 1.518, 2.191, 3.041, 4.078, 5.309",\
                 "0.2598, 0.2914, 0.4084, 0.6404, 1.007, 1.517, 2.19, 3.039, 4.079, 5.313",\
                 "0.3112, 0.3447, 0.4556, 0.6631, 1.01, 1.518, 2.19, 3.041, 4.079, 5.307",\
                 "0.3832, 0.4136, 0.524, 0.7398, 1.066, 1.539, 2.194, 3.041, 4.076, 5.307",\
                 "0.4898, 0.521, 0.6268, 0.8324, 1.167, 1.63, 2.246, 3.055, 4.078, 5.309",\
                 "0.6172, 0.6498, 0.7646, 0.9686, 1.289, 1.759, 2.369, 3.138, 4.117, 5.318",\
                 "0.7596, 0.7964, 0.9238, 1.141, 1.456, 1.91, 2.531, 3.3, 4.236, 5.395",\
                 "0.9136, 0.958, 1.098, 1.338, 1.67, 2.113, 2.716, 3.496, 4.436, 5.55",\
                 "1.083, 1.13, 1.288, 1.553, 1.914, 2.366, 2.949, 3.711, 4.665, 5.793");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.08199, 0.08921, 0.1142, 0.1601, 0.2299, 0.3266, 0.4531, 0.6119, 0.8053, 1.036",\
                 "0.0948, 0.102, 0.1268, 0.1727, 0.2425, 0.3392, 0.4657, 0.6244, 0.818, 1.048",\
                 "0.1317, 0.1412, 0.1715, 0.2217, 0.2912, 0.3876, 0.5139, 0.6725, 0.8661, 1.096",\
                 "0.1494, 0.1628, 0.2059, 0.2765, 0.3696, 0.4812, 0.6101, 0.7681, 0.9608, 1.191",\
                 "0.1396, 0.1572, 0.2135, 0.3054, 0.4255, 0.5691, 0.7328, 0.914, 1.112, 1.341",\
                 "0.0995, 0.1212, 0.1906, 0.3039, 0.4522, 0.6282, 0.8278, 1.049, 1.29, 1.547",\
                 "0.0287, 0.0539, 0.1351, 0.2691, 0.446, 0.6557, 0.8924, 1.152, 1.436, 1.74",\
                 "-0.0754, -0.0466, 0.047, 0.2003, 0.4041, 0.6479, 0.9225, 1.223, 1.549, 1.897",\
                 "-0.2153, -0.1827, -0.0771, 0.0957, 0.3266, 0.6026, 0.9152, 1.257, 1.627, 2.021",\
                 "-0.3912, -0.3553, -0.2384, -0.0455, 0.2105, 0.5166, 0.8667, 1.252, 1.665, 2.107");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2114, 0.232, 0.3039, 0.439, 0.6478, 0.9391, 1.323, 1.807, 2.395, 3.099",\
                 "0.2197, 0.2406, 0.3142, 0.4512, 0.6621, 0.9556, 1.339, 1.823, 2.413, 3.12",\
                 "0.2582, 0.2789, 0.3507, 0.4869, 0.6984, 0.9925, 1.378, 1.863, 2.455, 3.157",\
                 "0.3291, 0.3518, 0.429, 0.5675, 0.774, 1.065, 1.448, 1.931, 2.523, 3.224",\
                 "0.4434, 0.4682, 0.5501, 0.696, 0.9119, 1.2, 1.576, 2.053, 2.64, 3.339",\
                 "0.5952, 0.6244, 0.7171, 0.8741, 1.099, 1.4, 1.778, 2.248, 2.825, 3.517",\
                 "0.7793, 0.8131, 0.9214, 1.098, 1.337, 1.649, 2.043, 2.522, 3.092, 3.775",\
                 "0.9964, 1.036, 1.159, 1.359, 1.625, 1.955, 2.361, 2.856, 3.441, 4.121",\
                 "1.248, 1.292, 1.432, 1.658, 1.954, 2.311, 2.737, 3.245, 3.848, 4.548",\
                 "1.535, 1.585, 1.742, 1.995, 2.321, 2.713, 3.168, 3.695, 4.313, 5.032");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1023, 0.1138, 0.1538, 0.2295, 0.3451, 0.5078, 0.7214, 0.9896, 1.318, 1.71",\
                 "0.1006, 0.1124, 0.1534, 0.2293, 0.3452, 0.508, 0.7211, 0.9904, 1.319, 1.708",\
                 "0.1434, 0.1534, 0.187, 0.2447, 0.3475, 0.5079, 0.7212, 0.9898, 1.319, 1.709",\
                 "0.2183, 0.232, 0.2746, 0.3467, 0.4442, 0.5657, 0.7421, 0.9919, 1.318, 1.709",\
                 "0.3152, 0.3321, 0.3852, 0.4723, 0.5888, 0.7344, 0.9056, 1.103, 1.369, 1.721",\
                 "0.4322, 0.4532, 0.52, 0.6246, 0.7604, 0.9266, 1.124, 1.35, 1.601, 1.89",\
                 "0.5706, 0.5968, 0.6754, 0.8034, 0.962, 1.149, 1.37, 1.624, 1.909, 2.223",\
                 "0.7322, 0.7652, 0.8588, 1.003, 1.19, 1.405, 1.65, 1.927, 2.241, 2.591",\
                 "0.9128, 0.9526, 1.063, 1.233, 1.446, 1.691, 1.965, 2.27, 2.609, 2.985",\
                 "1.111, 1.155, 1.292, 1.489, 1.732, 2.007, 2.31, 2.65, 3.016, 3.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2489, 0.2835, 0.4069, 0.6416, 1.007, 1.516, 2.193, 3.039, 4.072, 5.306",\
                 "0.2491, 0.2838, 0.4073, 0.6417, 1.006, 1.518, 2.191, 3.041, 4.078, 5.307",\
                 "0.2598, 0.291, 0.4082, 0.6404, 1.007, 1.519, 2.189, 3.041, 4.073, 5.311",\
                 "0.3112, 0.344, 0.4556, 0.663, 1.01, 1.52, 2.193, 3.041, 4.079, 5.307",\
                 "0.3832, 0.4136, 0.524, 0.7398, 1.066, 1.539, 2.192, 3.043, 4.073, 5.306",\
                 "0.4898, 0.521, 0.6266, 0.8324, 1.167, 1.63, 2.245, 3.055, 4.075, 5.314",\
                 "0.6172, 0.6498, 0.7646, 0.9686, 1.289, 1.759, 2.369, 3.138, 4.117, 5.319",\
                 "0.7596, 0.7964, 0.9238, 1.141, 1.456, 1.911, 2.531, 3.299, 4.236, 5.389",\
                 "0.9138, 0.958, 1.099, 1.338, 1.67, 2.113, 2.715, 3.493, 4.437, 5.55",\
                 "1.083, 1.13, 1.288, 1.553, 1.914, 2.369, 2.949, 3.715, 4.674, 5.79");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.07642, 0.08324, 0.1063, 0.149, 0.2137, 0.3033, 0.4203, 0.5674, 0.7466, 0.9599",\
                 "0.08987, 0.09657, 0.1195, 0.162, 0.2267, 0.3163, 0.4334, 0.5804, 0.7596, 0.9729",\
                 "0.1256, 0.1348, 0.164, 0.2118, 0.2768, 0.3661, 0.4829, 0.6299, 0.809, 1.022",\
                 "0.1406, 0.1537, 0.1953, 0.2634, 0.3528, 0.4597, 0.5813, 0.7278, 0.9061, 1.119",\
                 "0.127, 0.1442, 0.1989, 0.2882, 0.4045, 0.5423, 0.6997, 0.8732, 1.06, 1.273",\
                 "0.0818, 0.1031, 0.1709, 0.2814, 0.4253, 0.5963, 0.7885, 1.001, 1.232, 1.478",\
                 "0.0051, 0.0297, 0.1092, 0.2406, 0.4124, 0.6164, 0.8455, 1.097, 1.369, 1.66",\
                 "-0.1072, -0.0785, 0.013, 0.1629, 0.363, 0.5996, 0.8666, 1.158, 1.472, 1.808",\
                 "-0.2566, -0.2236, -0.1205, 0.0498, 0.2744, 0.5435, 0.8486, 1.181, 1.539, 1.92",\
                 "-0.4428, -0.4074, -0.2927, -0.1042, 0.1468, 0.4463, 0.7876, 1.163, 1.564, 1.993");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2106, 0.2314, 0.3032, 0.4384, 0.6472, 0.9385, 1.322, 1.806, 2.397, 3.097",\
                 "0.2186, 0.2396, 0.3129, 0.4503, 0.6608, 0.9544, 1.338, 1.822, 2.412, 3.115",\
                 "0.2577, 0.2784, 0.35, 0.4859, 0.6968, 0.9913, 1.377, 1.862, 2.452, 3.156",\
                 "0.3294, 0.3522, 0.4291, 0.5676, 0.7735, 1.064, 1.447, 1.93, 2.52, 3.225",\
                 "0.4463, 0.4709, 0.5526, 0.6978, 0.9136, 1.201, 1.576, 2.054, 2.64, 3.338",\
                 "0.6017, 0.6304, 0.7228, 0.8789, 1.103, 1.403, 1.782, 2.25, 2.827, 3.518",\
                 "0.7912, 0.8242, 0.9314, 1.107, 1.345, 1.656, 2.049, 2.528, 3.096, 3.779",\
                 "1.014, 1.053, 1.176, 1.375, 1.638, 1.966, 2.371, 2.865, 3.449, 4.128",\
                 "1.274, 1.318, 1.456, 1.68, 1.973, 2.329, 2.752, 3.26, 3.861, 4.559",\
                 "1.57, 1.619, 1.775, 2.025, 2.35, 2.738, 3.192, 3.717, 4.333, 5.05");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.09326, 0.1039, 0.1414, 0.2109, 0.3172, 0.4676, 0.6645, 0.9121, 1.215, 1.576",\
                 "0.09166, 0.1027, 0.1403, 0.2107, 0.3174, 0.4676, 0.6648, 0.9127, 1.215, 1.576",\
                 "0.1372, 0.147, 0.1779, 0.2299, 0.3217, 0.4676, 0.6645, 0.9119, 1.215, 1.576",\
                 "0.212, 0.2242, 0.2653, 0.3328, 0.4244, 0.536, 0.6924, 0.9177, 1.215, 1.576",\
                 "0.3071, 0.3238, 0.3762, 0.4578, 0.5684, 0.706, 0.8644, 1.046, 1.281, 1.596",\
                 "0.4232, 0.444, 0.5076, 0.609, 0.7388, 0.8954, 1.082, 1.294, 1.527, 1.788",\
                 "0.5604, 0.5854, 0.662, 0.7842, 0.936, 1.117, 1.325, 1.566, 1.833, 2.128",\
                 "0.72, 0.7504, 0.8432, 0.9862, 1.162, 1.369, 1.603, 1.869, 2.163, 2.494",\
                 "0.8984, 0.9364, 1.047, 1.211, 1.416, 1.652, 1.914, 2.207, 2.527, 2.884",\
                 "1.095, 1.139, 1.274, 1.465, 1.701, 1.964, 2.261, 2.581, 2.933, 3.316");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2487, 0.284, 0.4069, 0.6402, 1.006, 1.516, 2.193, 3.039, 4.077, 5.312",\
                 "0.2489, 0.2837, 0.4067, 0.6416, 1.006, 1.518, 2.191, 3.041, 4.078, 5.31",\
                 "0.2598, 0.291, 0.4083, 0.6404, 1.005, 1.517, 2.19, 3.038, 4.078, 5.309",\
                 "0.3113, 0.3436, 0.4555, 0.6639, 1.008, 1.519, 2.193, 3.041, 4.08, 5.318",\
                 "0.3816, 0.4122, 0.5228, 0.7388, 1.065, 1.54, 2.193, 3.038, 4.076, 5.304",\
                 "0.4872, 0.5174, 0.6232, 0.8284, 1.165, 1.628, 2.245, 3.054, 4.079, 5.312",\
                 "0.612, 0.6456, 0.7598, 0.963, 1.285, 1.756, 2.368, 3.137, 4.117, 5.319",\
                 "0.755, 0.7918, 0.9182, 1.134, 1.449, 1.907, 2.529, 3.296, 4.233, 5.391",\
                 "0.9096, 0.9518, 1.091, 1.327, 1.659, 2.101, 2.704, 3.49, 4.431, 5.547",\
                 "1.077, 1.126, 1.282, 1.542, 1.897, 2.352, 2.936, 3.702, 4.66, 5.787");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.1455, 0.1557, 0.19, 0.2524, 0.3455, 0.4719, 0.635, 0.8381, 1.084, 1.376",\
                 "0.1567, 0.1669, 0.2013, 0.2636, 0.3567, 0.4832, 0.6463, 0.8493, 1.095, 1.388",\
                 "0.2061, 0.2158, 0.2481, 0.3087, 0.4007, 0.5269, 0.6897, 0.8927, 1.139, 1.431",\
                 "0.2637, 0.2766, 0.3186, 0.3915, 0.4905, 0.6159, 0.7771, 0.9792, 1.225, 1.516",\
                 "0.2996, 0.3156, 0.3678, 0.4579, 0.5815, 0.7346, 0.9144, 1.119, 1.363, 1.653",\
                 "0.3087, 0.3277, 0.3909, 0.4985, 0.6471, 0.8294, 1.044, 1.287, 1.555, 1.85",\
                 "0.288, 0.3109, 0.3847, 0.5118, 0.6853, 0.8982, 1.146, 1.427, 1.738, 2.078",\
                 "0.2365, 0.2632, 0.3477, 0.493, 0.6921, 0.9365, 1.22, 1.539, 1.891, 2.276",\
                 "0.1549, 0.1832, 0.2786, 0.4405, 0.6665, 0.9424, 1.262, 1.621, 2.015, 2.443",\
                 "0.0406, 0.0717, 0.1763, 0.3554, 0.6049, 0.9127, 1.269, 1.669, 2.106, 2.579");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2106, 0.2314, 0.3032, 0.4384, 0.6472, 0.9385, 1.322, 1.806, 2.397, 3.097",\
                 "0.2186, 0.2396, 0.3129, 0.4503, 0.6608, 0.9544, 1.338, 1.822, 2.412, 3.115",\
                 "0.2577, 0.2784, 0.35, 0.4859, 0.6968, 0.9913, 1.377, 1.862, 2.452, 3.156",\
                 "0.3294, 0.3522, 0.4291, 0.5676, 0.7735, 1.064, 1.447, 1.93, 2.52, 3.225",\
                 "0.4463, 0.4709, 0.5526, 0.6978, 0.9136, 1.201, 1.576, 2.054, 2.64, 3.338",\
                 "0.6017, 0.6304, 0.7228, 0.8789, 1.103, 1.403, 1.782, 2.25, 2.827, 3.518",\
                 "0.7912, 0.8242, 0.9314, 1.107, 1.345, 1.656, 2.049, 2.528, 3.096, 3.779",\
                 "1.014, 1.053, 1.176, 1.375, 1.638, 1.966, 2.371, 2.865, 3.449, 4.128",\
                 "1.274, 1.318, 1.456, 1.68, 1.973, 2.329, 2.752, 3.26, 3.861, 4.559",\
                 "1.57, 1.619, 1.775, 2.025, 2.35, 2.738, 3.192, 3.717, 4.333, 5.05");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.2026, 0.2187, 0.2744, 0.3755, 0.5273, 0.7369, 1.009, 1.351, 1.768, 2.264",\
                 "0.2018, 0.2181, 0.2738, 0.3754, 0.5272, 0.736, 1.009, 1.351, 1.769, 2.264",\
                 "0.207, 0.2211, 0.2712, 0.3699, 0.5247, 0.7358, 1.009, 1.352, 1.768, 2.263",\
                 "0.2849, 0.3014, 0.3535, 0.4417, 0.5643, 0.7471, 1.008, 1.35, 1.768, 2.264",\
                 "0.3845, 0.403, 0.4654, 0.5688, 0.71, 0.8864, 1.102, 1.39, 1.775, 2.264",\
                 "0.5088, 0.5318, 0.6032, 0.7216, 0.8804, 1.081, 1.321, 1.598, 1.922, 2.34",\
                 "0.655, 0.6826, 0.7678, 0.9058, 1.083, 1.304, 1.566, 1.873, 2.222, 2.609",\
                 "0.824, 0.8556, 0.9574, 1.115, 1.319, 1.563, 1.846, 2.178, 2.558, 2.981",\
                 "1.015, 1.054, 1.17, 1.352, 1.584, 1.858, 2.17, 2.522, 2.923, 3.378",\
                 "1.233, 1.279, 1.408, 1.615, 1.879, 2.186, 2.528, 2.911, 3.331, 3.812");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00379, 0.01358, 0.03228, 0.06142, 0.1023, 0.1561, 0.2238, 0.3066, 0.4052");
          values("0.3743, 0.415, 0.5565, 0.8199, 1.218, 1.76, 2.454, 3.313, 4.352, 5.59",\
                 "0.3743, 0.4151, 0.5566, 0.8198, 1.218, 1.76, 2.454, 3.312, 4.354, 5.586",\
                 "0.3846, 0.4221, 0.5579, 0.8198, 1.218, 1.76, 2.454, 3.314, 4.354, 5.587",\
                 "0.4627, 0.4961, 0.6098, 0.8425, 1.221, 1.76, 2.454, 3.314, 4.354, 5.588",\
                 "0.5702, 0.6006, 0.7132, 0.9368, 1.281, 1.781, 2.456, 3.313, 4.354, 5.59",\
                 "0.7374, 0.76, 0.8536, 1.062, 1.406, 1.878, 2.509, 3.328, 4.355, 5.59",\
                 "0.9496, 0.9692, 1.054, 1.237, 1.56, 2.031, 2.642, 3.418, 4.394, 5.596",\
                 "1.187, 1.207, 1.29, 1.467, 1.764, 2.213, 2.826, 3.589, 4.525, 5.675",\
                 "1.445, 1.465, 1.55, 1.734, 2.025, 2.447, 3.04, 3.806, 4.736, 5.844",\
                 "1.718, 1.739, 1.827, 2.017, 2.322, 2.742, 3.305, 4.053, 4.989, 6.098");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai33_1) {
    area : 32.928000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&!B2&!B3" ;
      value : "5.47734e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&!B2&B3" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&B2&!B3" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&B2&B3" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&!B2&!B3" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&!B2&B3" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&B2&!B3" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&B2&B3" ;
      value : "5.50143e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&!B2&!B3" ;
      value : "0.000103125" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&!B2&B3" ;
      value : "0.0001019766" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&B2&!B3" ;
      value : "8.77668e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&B2&B3" ;
      value : "8.77668e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&!B2&!B3" ;
      value : "7.33788e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&!B2&B3" ;
      value : "7.33788e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&B2&!B3" ;
      value : "7.33821e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&B2&B3" ;
      value : "7.33788e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&!B2&!B3" ;
      value : "0.000103125" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&!B2&B3" ;
      value : "8.77668e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&B2&!B3" ;
      value : "7.35537e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&B2&B3" ;
      value : "7.35537e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&!B2&!B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&!B2&B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&B2&!B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&B2&B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&!B2&!B3" ;
      value : "0.0001035078" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&!B2&B3" ;
      value : "8.77668e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&B2&!B3" ;
      value : "7.35537e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&B2&B3" ;
      value : "7.35537e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&!B2&!B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&!B2&B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&B2&!B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&B2&B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&!B2&!B3" ;
      value : "0.000103125" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&!B2&B3" ;
      value : "7.33821e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&B2&!B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&B2&B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&!B2&!B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&!B2&B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&B2&!B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&B2&B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&!B2&!B3" ;
      value : "0.0001035078" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&!B2&B3" ;
      value : "7.33821e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&B2&!B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&B2&B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&!B2&!B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&!B2&B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&B2&!B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&B2&B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&!B2&!B3" ;
      value : "0.0001035078" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&!B2&B3" ;
      value : "7.33788e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&B2&!B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&B2&B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&!B2&!B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&!B2&B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&B2&!B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&B2&B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&!B2&!B3" ;
      value : "0.0001037289" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&!B2&B3" ;
      value : "7.33788e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&B2&!B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&B2&B3" ;
      value : "5.9169e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&!B2&!B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&!B2&B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&B2&!B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&B2&B3" ;
      value : "4.47843e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001037289" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004572 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0168, 0.01681, 0.01682, 0.01678, 0.01673, 0.01671, 0.01669, \
                 0.01667, 0.01665, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02272, 0.02273, 0.02271, 0.02269, 0.02262, 0.02253, 0.02245, \
                 0.02235, 0.02224, 0.02208");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01679, 0.01679, 0.01682, 0.01682, 0.01679, 0.01677, 0.01673, \
                 0.0167, 0.01667, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01478, -0.01507, -0.01549, -0.01576, -0.01592, -0.01605, -0.01612, \
                 -0.01617, -0.01622, -0.01626");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02429, 0.02427, 0.02423, 0.02419, 0.02417, 0.02416, 0.02414, \
                 0.0241, 0.02405, 0.02399");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004797, -0.004804, -0.004808, -0.004805, -0.004804, -0.004816, \
                 -0.004816, -0.004814, -0.004822, -0.004818");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02429, 0.02427, 0.02423, 0.02419, 0.02417, 0.02416, 0.02413, \
                 0.02411, 0.02405, 0.02399");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004798, -0.004798, -0.004808, -0.004803, -0.004802, -0.004816, \
                 -0.004816, -0.004815, -0.004821, -0.004815");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02429, 0.02426, 0.02422, 0.02418, 0.02416, 0.02416, 0.02414, \
                 0.0241, 0.02405, 0.02398");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004798, -0.004804, -0.004791, -0.004804, -0.004802, -0.004816, \
                 -0.004815, -0.004816, -0.004822, -0.004819");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02429, 0.02427, 0.02424, 0.0242, 0.02417, 0.02416, 0.02414, \
                 0.0241, 0.02405, 0.02399");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004796, -0.004805, -0.004808, -0.004803, -0.004805, -0.004813, \
                 -0.004813, -0.004819, -0.004818, -0.00482");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02429, 0.02427, 0.02422, 0.02419, 0.02418, 0.02417, 0.02414, \
                 0.02411, 0.02406, 0.02399");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004794, -0.004802, -0.004791, -0.004801, -0.004803, -0.004816, \
                 -0.004814, -0.004818, -0.004819, -0.004815");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02429, 0.02426, 0.02421, 0.02419, 0.02418, 0.02416, 0.02413, \
                 0.0241, 0.02405, 0.02399");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004794, -0.004803, -0.004791, -0.004801, -0.0048, -0.004815, \
                 -0.004818, -0.004815, -0.004817, -0.004818");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02429, 0.02426, 0.02423, 0.02418, 0.02417, 0.02416, 0.02413, \
                 0.0241, 0.02406, 0.02399");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004794, -0.004803, -0.004794, -0.004804, -0.004802, -0.004816, \
                 -0.004816, -0.004817, -0.004815, -0.004816");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0168, 0.01681, 0.01685, 0.01682, 0.01678, 0.01678, 0.01672, \
                 0.01669, 0.01666, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01605, -0.01612, -0.01635, -0.01646, -0.0165, -0.01653, -0.01652, \
                 -0.0165, -0.0165, -0.01649");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01502, 0.015, 0.01498, 0.01495, 0.01495, 0.01496, 0.01495, 0.01492, \
                 0.01489, 0.01487");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004882, -0.004886, -0.004878, -0.004894, -0.00488, -0.004897, \
                 -0.004898, -0.004895, -0.004897, -0.004899");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01502, 0.015, 0.01498, 0.01496, 0.01495, 0.01496, 0.01494, 0.01492, \
                 0.01489, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004882, -0.004886, -0.004878, -0.004887, -0.00488, -0.004898, \
                 -0.0049, -0.0049, -0.0049, -0.004897");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01503, 0.015, 0.01497, 0.01496, 0.01494, 0.01495, 0.01494, 0.01492, \
                 0.01489, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004882, -0.004884, -0.004875, -0.004882, -0.00489, -0.004904, \
                 -0.004901, -0.004899, -0.0049, -0.004899");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01503, 0.015, 0.01498, 0.01495, 0.01495, 0.01495, 0.01494, 0.01493, \
                 0.01489, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00488, -0.004886, -0.004878, -0.004886, -0.004887, -0.004899, \
                 -0.004898, -0.0049, -0.004899, -0.004898");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01502, 0.015, 0.01497, 0.01497, 0.01495, 0.01496, 0.01494, 0.01492, \
                 0.0149, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004879, -0.004885, -0.004875, -0.004891, -0.004884, -0.004901, \
                 -0.004899, -0.004897, -0.0049, -0.004899");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01502, 0.015, 0.01497, 0.01496, 0.01495, 0.01495, 0.01494, 0.01492, \
                 0.0149, 0.01485");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004879, -0.004885, -0.004875, -0.004888, -0.004887, -0.004898, \
                 -0.004894, -0.004902, -0.004898, -0.004897");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01503, 0.015, 0.01498, 0.01496, 0.01496, 0.01495, 0.01495, 0.01492, \
                 0.01489, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004879, -0.004885, -0.004873, -0.004884, -0.00489, -0.004902, \
                 -0.0049, -0.004899, -0.004897, -0.004897");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0168, 0.01681, 0.01685, 0.01682, 0.01681, 0.01679, 0.01672, \
                 0.01668, 0.01665, 0.01662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01582, -0.01607, -0.01635, -0.01646, -0.01651, -0.01652, -0.01651, \
                 -0.0165, -0.0165, -0.0165");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01502, 0.015, 0.01497, 0.01496, 0.01495, 0.01496, 0.01494, 0.01492, \
                 0.0149, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004883, -0.004885, -0.004879, -0.004886, -0.004886, -0.004894, \
                 -0.004898, -0.004898, -0.0049, -0.0049");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01502, 0.015, 0.01496, 0.01496, 0.01495, 0.01496, 0.01494, 0.01492, \
                 0.0149, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004882, -0.004886, -0.004879, -0.004895, -0.004886, -0.004898, \
                 -0.0049, -0.004898, -0.004898, -0.004899");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01503, 0.015, 0.01497, 0.01496, 0.01496, 0.01495, 0.01495, 0.01493, \
                 0.0149, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004882, -0.004885, -0.004886, -0.004879, -0.004881, -0.004896, \
                 -0.0049, -0.004902, -0.004903, -0.004897");
        }
      }

      internal_power() {
        when : "A2&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01503, 0.015, 0.01496, 0.01496, 0.01495, 0.01495, 0.01494, 0.01492, \
                 0.01489, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00488, -0.004884, -0.004882, -0.004883, -0.004886, -0.004898, \
                 -0.004897, -0.004901, -0.0049, -0.004898");
        }
      }

      internal_power() {
        when : "A2&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01502, 0.015, 0.01498, 0.01496, 0.01494, 0.01495, 0.01494, 0.01492, \
                 0.0149, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00488, -0.004884, -0.004894, -0.004887, -0.004884, -0.004898, \
                 -0.004903, -0.004903, -0.0049, -0.004899");
        }
      }

      internal_power() {
        when : "A2&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01502, 0.015, 0.01498, 0.01496, 0.01494, 0.01496, 0.01495, 0.01492, \
                 0.0149, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004881, -0.004884, -0.00488, -0.004884, -0.004888, -0.004896, \
                 -0.004903, -0.004901, -0.0049, -0.004899");
        }
      }

      internal_power() {
        when : "A2&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01503, 0.015, 0.01498, 0.01497, 0.01495, 0.01496, 0.01494, 0.01492, \
                 0.01489, 0.01486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004881, -0.004883, -0.004879, -0.004886, -0.004888, -0.004898, \
                 -0.004901, -0.0049, -0.004902, -0.004899");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004357 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01678, 0.01677, 0.01676, 0.01674, 0.01671, 0.0167, 0.01668, \
                 0.01664, 0.01665, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02279, 0.02278, 0.02272, 0.02271, 0.02267, 0.02256, 0.02247, \
                 0.02235, 0.02224, 0.02208");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01675, 0.01675, 0.0168, 0.01681, 0.01677, 0.01675, 0.01671, \
                 0.01668, 0.01667, 0.01662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01594, -0.01602, -0.0162, -0.01634, -0.01639, -0.01645, -0.01646, \
                 -0.01646, -0.01644, -0.01645");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009168, 0.009182, 0.009183, 0.009187, 0.009175, 0.009184, 0.009164, \
                 0.009131, 0.009097, 0.009042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00567, -0.005656, -0.005677, -0.005686, -0.005688, -0.005718, \
                 -0.00572, -0.005739, -0.005752, -0.005778");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009167, 0.00918, 0.009182, 0.009179, 0.00917, 0.009187, 0.00916, \
                 0.009129, 0.009101, 0.009038");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00567, -0.00566, -0.005678, -0.005684, -0.005687, -0.005716, \
                 -0.00572, -0.005738, -0.005754, -0.005778");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00917, 0.009178, 0.009196, 0.009195, 0.009175, 0.009187, 0.009159, \
                 0.009136, 0.009094, 0.009041");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005672, -0.005658, -0.005658, -0.005689, -0.005688, -0.005712, \
                 -0.005719, -0.005738, -0.00576, -0.005779");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009167, 0.009182, 0.009186, 0.009187, 0.009173, 0.009181, 0.00916, \
                 0.009129, 0.009093, 0.009037");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00567, -0.00566, -0.005677, -0.005684, -0.005687, -0.005716, \
                 -0.005717, -0.005736, -0.005754, -0.005779");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009169, 0.009181, 0.009199, 0.009192, 0.00917, 0.009179, 0.009164, \
                 0.009139, 0.009091, 0.00904");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00567, -0.005659, -0.005656, -0.005689, -0.005685, -0.005711, \
                 -0.005724, -0.005738, -0.005757, -0.005778");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00917, 0.009182, 0.009196, 0.009193, 0.00918, 0.009187, 0.009162, \
                 0.009135, 0.009095, 0.009041");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005672, -0.005659, -0.005661, -0.005689, -0.005688, -0.005705, \
                 -0.005722, -0.005734, -0.005756, -0.005779");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00917, 0.00918, 0.009186, 0.00919, 0.009186, 0.009184, 0.009166, \
                 0.009132, 0.009097, 0.009039");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005671, -0.005657, -0.005674, -0.00568, -0.005692, -0.005708, \
                 -0.005725, -0.005739, -0.005756, -0.00578");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01673, 0.01671, 0.0167, 0.01665, 0.01664, 0.01664, 0.01665, \
                 0.01662, 0.01661, 0.0166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0159, -0.01588, -0.01608, -0.01627, -0.01636, -0.01641, -0.01643, \
                 -0.01644, -0.01644, -0.01645");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.0146, 0.01459, 0.01459, 0.01459, 0.0146, 0.01461, 0.01459, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.01292, -0.01396, -0.01415, -0.01425, -0.01434, -0.01437, \
                 -0.01438, -0.01441, -0.01441");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.0146, 0.01459, 0.01459, 0.01458, 0.0146, 0.0146, 0.0146, \
                 0.0146, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.01293, -0.01396, -0.01415, -0.01425, -0.01435, -0.01437, \
                 -0.01438, -0.01441, -0.01441");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.0146, 0.0146, 0.01457, 0.0146, 0.0146, 0.0146, 0.01461, \
                 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.01293, -0.01394, -0.01419, -0.01426, -0.01435, -0.01438, \
                 -0.01439, -0.01441, -0.01443");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.0146, 0.01459, 0.01459, 0.01459, 0.0146, 0.0146, 0.0146, \
                 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.01293, -0.01396, -0.01415, -0.01424, -0.01434, -0.01436, \
                 -0.0144, -0.01441, -0.01442");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.0146, 0.0146, 0.01458, 0.0146, 0.01461, 0.0146, 0.01462, \
                 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.01293, -0.01394, -0.01418, -0.01425, -0.01434, -0.01437, \
                 -0.01439, -0.01441, -0.01443");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.0146, 0.01459, 0.01458, 0.01459, 0.01461, 0.0146, 0.01462, \
                 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.01292, -0.01394, -0.01418, -0.01426, -0.01434, -0.01437, \
                 -0.01439, -0.01441, -0.01443");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.0146, 0.0146, 0.01458, 0.01458, 0.01459, 0.0146, 0.01461, \
                 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.01293, -0.01392, -0.01419, -0.01426, -0.01433, -0.01437, \
                 -0.01439, -0.01442, -0.01443");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01184, 0.01183, 0.01183, 0.01183, 0.0118, 0.01181, 0.01179, \
                 0.01177, 0.01175, 0.01174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01499, -0.01497, -0.01499, -0.015, -0.01497, -0.015, -0.01499, \
                 -0.01496, -0.01494, -0.0149");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009709, 0.009684, 0.00971, 0.009702, 0.009727, 0.00974, 0.009743, \
                 0.009738, 0.009732, 0.009735");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01013, -0.009935, -0.009823, -0.009776, -0.009753, -0.009746, \
                 -0.009723, -0.009705, -0.009704, -0.009713");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009705, 0.009684, 0.00971, 0.009704, 0.009711, 0.009736, 0.009744, \
                 0.009737, 0.009729, 0.009736");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01013, -0.009935, -0.009831, -0.009774, -0.009734, -0.009749, \
                 -0.009724, -0.009704, -0.009702, -0.00972");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0097, 0.009683, 0.009705, 0.009704, 0.009716, 0.009741, 0.00974, \
                 0.00974, 0.009733, 0.009738");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01013, -0.009934, -0.009833, -0.009774, -0.009735, -0.009747, \
                 -0.009724, -0.009705, -0.0097, -0.009718");
        }
      }

      internal_power() {
        when : "A1&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009704, 0.009684, 0.009711, 0.009702, 0.009724, 0.009739, 0.009737, \
                 0.009736, 0.009735, 0.009738");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01013, -0.009934, -0.009819, -0.009767, -0.009745, -0.009748, \
                 -0.009718, -0.0097, -0.009703, -0.009717");
        }
      }

      internal_power() {
        when : "A1&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009704, 0.009683, 0.009704, 0.009704, 0.009716, 0.009738, 0.009742, \
                 0.009735, 0.009739, 0.009743");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01013, -0.009934, -0.009835, -0.009775, -0.009738, -0.009745, \
                 -0.009717, -0.009704, -0.009703, -0.009718");
        }
      }

      internal_power() {
        when : "A1&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009704, 0.009683, 0.009704, 0.009704, 0.009714, 0.009745, 0.009743, \
                 0.009741, 0.009735, 0.009743");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01013, -0.009933, -0.009834, -0.009791, -0.00975, -0.009746, \
                 -0.009715, -0.009705, -0.0097, -0.009718");
        }
      }

      internal_power() {
        when : "A1&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0097, 0.009686, 0.009703, 0.009711, 0.009714, 0.009731, 0.009745, \
                 0.009742, 0.009739, 0.009734");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01013, -0.009933, -0.009832, -0.009783, -0.009749, -0.009742, \
                 -0.009723, -0.009712, -0.009708, -0.009716");
        }
      }
    }

    pin(A3) {
      capacitance : 0.004584 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01671, 0.01674, 0.01673, 0.01671, 0.01669, 0.01667, 0.01667, \
                 0.01665, 0.01664, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02279, 0.0228, 0.02275, 0.02271, 0.02265, 0.02257, 0.02247, \
                 0.02236, 0.02223, 0.02209");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01675, 0.0167, 0.01667, 0.01667, 0.01665, 0.01667, 0.01666, \
                 0.01663, 0.01662, 0.0166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01593, -0.0159, -0.01612, -0.01626, -0.01633, -0.01639, -0.01641, \
                 -0.01642, -0.01643, -0.01643");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01456, 0.01459, 0.01458, 0.01461, 0.01459, \
                 0.01459, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01313, -0.01369, -0.01402, -0.01416, -0.01423, -0.01432, -0.01434, \
                 -0.01437, -0.01439, -0.01439");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01456, 0.01459, 0.01459, 0.01462, 0.0146, \
                 0.0146, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01315, -0.01369, -0.01403, -0.01415, -0.01423, -0.01432, -0.01434, \
                 -0.01437, -0.01439, -0.01439");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01457, 0.0146, 0.0146, 0.01461, 0.01461, 0.01461, \
                 0.0146, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01314, -0.0137, -0.01402, -0.01415, -0.01425, -0.01432, -0.01435, \
                 -0.01437, -0.01438, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01456, 0.01459, 0.01457, 0.01462, 0.01459, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01314, -0.01369, -0.01403, -0.01415, -0.01422, -0.01432, -0.01434, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01457, 0.01459, 0.0146, 0.01462, 0.01461, 0.0146, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01313, -0.0137, -0.01402, -0.01415, -0.01425, -0.01432, -0.01434, \
                 -0.01437, -0.01438, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01457, 0.01459, 0.01462, 0.01462, 0.01461, \
                 0.01461, 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01313, -0.0137, -0.01402, -0.01415, -0.01425, -0.01432, -0.01435, \
                 -0.01437, -0.01438, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01456, 0.01457, 0.01456, 0.01461, 0.0146, 0.01462, \
                 0.01459, 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01314, -0.01372, -0.014, -0.01417, -0.01423, -0.01432, -0.01436, \
                 -0.01435, -0.01439, -0.01439");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01668, 0.01671, 0.01668, 0.01667, 0.01664, 0.01667, 0.01665, \
                 0.01664, 0.01663, 0.01662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01466, -0.01496, -0.01548, -0.01582, -0.01601, -0.01612, -0.01619, \
                 -0.01622, -0.01626, -0.01627");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.0146, 0.01457, 0.01458, 0.01461, 0.01463, 0.0146, 0.01462, \
                 0.01462, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01252, -0.01285, -0.01337, -0.01371, -0.01392, -0.01405, -0.01413, \
                 -0.01418, -0.01421, -0.01423");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.0146, 0.01456, 0.01459, 0.01461, 0.01462, 0.0146, 0.01462, \
                 0.01462, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01252, -0.01285, -0.01336, -0.01371, -0.01392, -0.01404, -0.01413, \
                 -0.01418, -0.01421, -0.01423");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.0146, 0.01457, 0.01456, 0.01459, 0.01462, 0.01463, 0.01461, \
                 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01254, -0.01285, -0.01336, -0.01372, -0.01391, -0.01405, -0.01412, \
                 -0.01418, -0.01422, -0.01423");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.0146, 0.01457, 0.01461, 0.01461, 0.01462, 0.01461, \
                 0.01461, 0.01462, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01252, -0.01285, -0.01338, -0.01371, -0.01392, -0.01405, -0.01413, \
                 -0.01418, -0.01421, -0.01423");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.0146, 0.01457, 0.01456, 0.01459, 0.01462, 0.01463, 0.01461, \
                 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01253, -0.01285, -0.01336, -0.01373, -0.01391, -0.01405, -0.01412, \
                 -0.01418, -0.01421, -0.01424");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.0146, 0.01457, 0.01458, 0.01458, 0.01462, 0.01463, 0.01461, \
                 0.0146, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01252, -0.01285, -0.01336, -0.01372, -0.01392, -0.01405, -0.01413, \
                 -0.01418, -0.01421, -0.01424");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.0146, 0.01459, 0.01457, 0.0146, 0.01464, 0.01462, 0.01462, \
                 0.01462, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01253, -0.01285, -0.01335, -0.01372, -0.01393, -0.01404, -0.01414, \
                 -0.01417, -0.01422, -0.01423");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01676, 0.01671, 0.01667, 0.01666, 0.01665, 0.01667, 0.01664, \
                 0.01662, 0.01661, 0.0166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01568, -0.01581, -0.01613, -0.01626, -0.01633, -0.0164, -0.01642, \
                 -0.01642, -0.01643, -0.01643");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01455, 0.01458, 0.0146, 0.0146, 0.0146, 0.0146, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01363, -0.01375, -0.01402, -0.01417, -0.01424, -0.0143, -0.01434, \
                 -0.01437, -0.01439, -0.01439");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01456, 0.01458, 0.0146, 0.01461, 0.0146, 0.0146, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01363, -0.01375, -0.01402, -0.01417, -0.01424, -0.0143, -0.01434, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01456, 0.01457, 0.01458, 0.01461, 0.01461, 0.0146, \
                 0.01459, 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01364, -0.01378, -0.014, -0.01416, -0.01424, -0.01432, -0.01435, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01456, 0.01458, 0.0146, 0.01462, 0.01459, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01363, -0.01375, -0.01402, -0.01417, -0.01425, -0.01431, -0.01434, \
                 -0.01437, -0.01439, -0.01439");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01456, 0.01457, 0.01458, 0.01461, 0.0146, 0.01459, \
                 0.01459, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01364, -0.01378, -0.014, -0.01416, -0.01424, -0.01431, -0.01434, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01456, 0.01456, 0.01459, 0.0146, 0.01462, 0.01459, \
                 0.01459, 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01364, -0.01378, -0.014, -0.01417, -0.01424, -0.01432, -0.01435, \
                 -0.01437, -0.01439, -0.01439");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01456, 0.01459, 0.01458, 0.0146, 0.01462, 0.01461, 0.0146, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01365, -0.01378, -0.01402, -0.01416, -0.01424, -0.01433, -0.01436, \
                 -0.01437, -0.01438, -0.01439");
        }
      }
    }

    pin(B1) {
      capacitance : 0.004505 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01489, 0.01479, 0.01479, 0.01474, 0.01471, 0.01469, 0.01466, \
                 0.01464, 0.01463, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01478, -0.0148, -0.01478, -0.01476, -0.01472, -0.0147, -0.01466, \
                 -0.01464, -0.01462, -0.01462");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01477, 0.01477, 0.01479, 0.01479, 0.01477, 0.01475, 0.01472, \
                 0.01468, 0.01466, 0.01464");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01262, -0.01295, -0.01343, -0.01373, -0.0139, -0.014, -0.01408, \
                 -0.01414, -0.01418, -0.01421");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01478, 0.01479, 0.0148, 0.0148, 0.01477, 0.01473, 0.0147, 0.01469, \
                 0.01465, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01404, -0.01414, -0.0143, -0.01441, -0.01444, -0.01449, -0.01445, \
                 -0.01444, -0.01443, -0.01444");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01479, 0.01479, 0.01482, 0.0148, 0.01476, 0.01473, 0.0147, 0.01468, \
                 0.01466, 0.01463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01374, -0.01402, -0.01429, -0.01443, -0.01446, -0.01447, -0.01446, \
                 -0.01446, -0.01445, -0.01444");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02125, 0.02123, 0.02118, 0.02115, 0.02115, 0.02114, 0.02112, \
                 0.02108, 0.02105, 0.021");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004743, -0.004738, -0.00474, -0.00474, -0.004736, -0.004749, \
                 -0.004754, -0.004749, -0.004751, -0.004751");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01125, 0.01122, 0.01123, 0.01122, 0.01122, 0.01122, \
                 0.0112, 0.01119, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.00479, -0.004783, -0.004792, -0.004779, -0.004796, \
                 -0.004798, -0.004795, -0.004794, -0.004795");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01125, 0.01123, 0.01123, 0.01121, 0.01123, 0.01122, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.00479, -0.004778, -0.004782, -0.004785, -0.004795, \
                 -0.004795, -0.004797, -0.004796, -0.004795");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02125, 0.02123, 0.02118, 0.02116, 0.02114, 0.02114, 0.02112, \
                 0.02109, 0.02105, 0.021");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004739, -0.004735, -0.004739, -0.004739, -0.004745, -0.004749, \
                 -0.004751, -0.004749, -0.004752, -0.00475");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01125, 0.01125, 0.01122, 0.01123, 0.01122, 0.01122, 0.01122, \
                 0.0112, 0.01119, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.00479, -0.004783, -0.004786, -0.004782, -0.004791, \
                 -0.004793, -0.004795, -0.004794, -0.004797");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01125, 0.01123, 0.01123, 0.01121, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.00479, -0.004778, -0.004782, -0.004786, -0.004798, \
                 -0.004795, -0.0048, -0.004792, -0.004794");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02124, 0.02123, 0.02119, 0.02115, 0.02114, 0.02114, 0.02112, \
                 0.02109, 0.02105, 0.021");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004739, -0.004737, -0.004736, -0.004738, -0.004736, -0.004751, \
                 -0.004752, -0.004749, -0.004751, -0.00475");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01125, 0.01122, 0.01123, 0.01121, 0.01123, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.004789, -0.004772, -0.004784, -0.004784, -0.004798, \
                 -0.004796, -0.004796, -0.004797, -0.004794");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01123, 0.01123, 0.01122, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.004786, -0.004779, -0.004777, -0.004788, -0.004792, \
                 -0.004793, -0.004794, -0.004797, -0.004794");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02124, 0.02123, 0.02118, 0.02116, 0.02115, 0.02114, 0.02113, \
                 0.02109, 0.02105, 0.02099");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004741, -0.004738, -0.00474, -0.004742, -0.004742, -0.004752, \
                 -0.00475, -0.004751, -0.004748, -0.004746");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01125, 0.01123, 0.01121, 0.01122, 0.01122, 0.01122, \
                 0.0112, 0.01119, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004784, -0.004787, -0.004783, -0.00478, -0.004786, -0.004794, \
                 -0.004797, -0.004799, -0.004793, -0.004795");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01123, 0.01123, 0.01121, 0.01122, 0.01121, \
                 0.0112, 0.01119, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004786, -0.004787, -0.004772, -0.004791, -0.004785, -0.004795, \
                 -0.004794, -0.004792, -0.004798, -0.004795");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02124, 0.02124, 0.02119, 0.02115, 0.02115, 0.02114, 0.02112, \
                 0.02109, 0.02106, 0.021");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004736, -0.004737, -0.004735, -0.004742, -0.004734, -0.004748, \
                 -0.004751, -0.004751, -0.004752, -0.004749");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01122, 0.01122, 0.01121, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004786, -0.004786, -0.004778, -0.004783, -0.004781, -0.004798, \
                 -0.004796, -0.004796, -0.004795, -0.004795");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01123, 0.01123, 0.01122, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.004786, -0.004773, -0.004778, -0.004783, -0.004796, \
                 -0.004796, -0.004794, -0.004795, -0.004797");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02124, 0.02123, 0.02119, 0.02116, 0.02115, 0.02114, 0.02112, \
                 0.02109, 0.02105, 0.021");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004742, -0.004737, -0.004739, -0.004739, -0.004739, -0.004748, \
                 -0.004752, -0.00475, -0.004756, -0.004751");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01123, 0.01123, 0.01121, 0.01122, 0.01122, \
                 0.0112, 0.01119, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004786, -0.004786, -0.004778, -0.004786, -0.004784, -0.004794, \
                 -0.004795, -0.004797, -0.004798, -0.004795");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01123, 0.01123, 0.01122, 0.01122, 0.01122, \
                 0.0112, 0.01119, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.004786, -0.004774, -0.004777, -0.004783, -0.0048, \
                 -0.004793, -0.004795, -0.004796, -0.004796");
        }
      }

      internal_power() {
        when : "A1&A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02125, 0.02123, 0.02118, 0.02116, 0.02115, 0.02114, 0.02112, \
                 0.02109, 0.02105, 0.021");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004738, -0.004737, -0.00474, -0.004736, -0.004737, -0.004751, \
                 -0.004751, -0.004749, -0.00475, -0.004752");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01123, 0.01122, 0.01121, 0.01122, 0.01122, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.004786, -0.00479, -0.004781, -0.004783, -0.004791, \
                 -0.004795, -0.004792, -0.004797, -0.004796");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01123, 0.01122, 0.01121, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004782, -0.004786, -0.004788, -0.004779, -0.004785, -0.004799, \
                 -0.004799, -0.004794, -0.004793, -0.00479");
        }
      }
    }

    pin(B2) {
      capacitance : 0.004178 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01484, 0.01473, 0.01472, 0.0147, 0.01468, 0.01466, 0.01466, \
                 0.01463, 0.01463, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01472, -0.01473, -0.01475, -0.01472, -0.01468, -0.01466, -0.01464, \
                 -0.01462, -0.01461, -0.0146");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01472, 0.01471, 0.01476, 0.01479, 0.01474, 0.01473, 0.01469, \
                 0.01466, 0.01464, 0.01463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01395, -0.01399, -0.01418, -0.01435, -0.01439, -0.01445, -0.01445, \
                 -0.01444, -0.01443, -0.01444");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01462, 0.0146, 0.01459, 0.0146, 0.01457, 0.01461, 0.01461, 0.0146, \
                 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01394, -0.0139, -0.01396, -0.01416, -0.01423, -0.01432, -0.01435, \
                 -0.01437, -0.01439, -0.01439");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009271, 0.009254, 0.009272, 0.009274, 0.00928, 0.009299, 0.009297, \
                 0.009295, 0.009297, 0.009302");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01305, -0.01304, -0.01303, -0.01306, -0.01304, -0.01307, -0.01306, \
                 -0.01304, -0.01302, -0.01298");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01027, 0.01025, 0.01027, 0.01027, 0.01027, 0.01027, 0.01025, \
                 0.01023, 0.0102, 0.01015");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005369, -0.005356, -0.005373, -0.005374, -0.005383, -0.005409, \
                 -0.00541, -0.005423, -0.005437, -0.005457");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.0146, 0.0146, 0.01457, 0.01459, 0.01461, 0.0146, 0.01459, \
                 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01191, -0.01269, -0.01391, -0.01414, -0.01423, -0.01432, -0.01434, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009267, 0.009257, 0.009278, 0.009281, 0.009283, 0.009304, 0.009296, \
                 0.009295, 0.009299, 0.009291");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009559, -0.009509, -0.009438, -0.009378, -0.009294, -0.009263, \
                 -0.009214, -0.009167, -0.009135, -0.009119");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01027, 0.01025, 0.01027, 0.01029, 0.01026, 0.01027, 0.01026, \
                 0.01023, 0.0102, 0.01015");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00537, -0.005355, -0.005372, -0.005386, -0.00538, -0.005407, \
                 -0.00541, -0.005427, -0.005439, -0.005451");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.01459, 0.01459, 0.01457, 0.01458, 0.0146, 0.01461, \
                 0.01459, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01191, -0.01268, -0.0139, -0.01415, -0.01424, -0.01431, -0.01434, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009266, 0.009257, 0.009282, 0.009279, 0.009281, 0.009301, 0.009296, \
                 0.009297, 0.009301, 0.009291");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009559, -0.009519, -0.009439, -0.009377, -0.009303, -0.009263, \
                 -0.009209, -0.009167, -0.00914, -0.00912");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01028, 0.01026, 0.01028, 0.01028, 0.01026, 0.01027, 0.01026, \
                 0.01023, 0.0102, 0.01015");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005366, -0.005353, -0.005368, -0.005381, -0.005382, -0.005401, \
                 -0.005412, -0.005424, -0.005441, -0.005454");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.01459, 0.0146, 0.01458, 0.01458, 0.01462, 0.01461, \
                 0.0146, 0.01459, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01191, -0.01268, -0.01389, -0.01414, -0.01423, -0.01431, -0.01434, \
                 -0.01437, -0.01438, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009274, 0.009255, 0.009251, 0.009273, 0.009277, 0.009299, 0.009297, \
                 0.009295, 0.009302, 0.009295");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00956, -0.009496, -0.009439, -0.009363, -0.009284, -0.009259, \
                 -0.009202, -0.009172, -0.009145, -0.009126");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01027, 0.01025, 0.01027, 0.01027, 0.01027, 0.01027, 0.01026, \
                 0.01023, 0.0102, 0.01015");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00537, -0.005356, -0.005371, -0.005389, -0.005381, -0.005407, \
                 -0.00541, -0.005428, -0.005438, -0.005453");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.01459, 0.01459, 0.01457, 0.01458, 0.01461, 0.01461, \
                 0.01459, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01191, -0.01268, -0.0139, -0.01415, -0.01423, -0.01431, -0.01434, \
                 -0.01437, -0.01439, -0.01439");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009266, 0.009257, 0.009278, 0.00928, 0.009288, 0.009301, 0.009305, \
                 0.009301, 0.009302, 0.009295");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009559, -0.009516, -0.009428, -0.009376, -0.009295, -0.009262, \
                 -0.009206, -0.009168, -0.009136, -0.009123");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01028, 0.01026, 0.01028, 0.01028, 0.01026, 0.01027, 0.01026, \
                 0.01023, 0.01019, 0.01015");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005368, -0.005352, -0.005371, -0.005375, -0.005382, -0.005406, \
                 -0.00541, -0.005425, -0.005435, -0.005455");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01462, 0.01459, 0.0146, 0.01458, 0.01458, 0.01462, 0.01461, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01191, -0.01268, -0.01391, -0.01415, -0.01424, -0.01432, -0.01435, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009274, 0.00926, 0.009257, 0.009269, 0.009279, 0.009292, 0.0093, \
                 0.009294, 0.009292, 0.009297");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009561, -0.009489, -0.009447, -0.009364, -0.009287, -0.009264, \
                 -0.009206, -0.009168, -0.009142, -0.009123");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01028, 0.01026, 0.01028, 0.01028, 0.01027, 0.01028, 0.01025, \
                 0.01023, 0.01019, 0.01015");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005368, -0.005354, -0.00537, -0.005372, -0.005386, -0.005409, \
                 -0.005415, -0.005424, -0.005436, -0.005453");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01462, 0.01459, 0.01459, 0.01458, 0.01458, 0.01462, 0.01461, \
                 0.0146, 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01191, -0.01268, -0.01389, -0.01415, -0.01423, -0.01431, -0.01434, \
                 -0.01437, -0.01438, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009274, 0.009252, 0.009258, 0.009273, 0.009271, 0.009298, 0.009302, \
                 0.009297, 0.009299, 0.009293");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00956, -0.009488, -0.00944, -0.009362, -0.009288, -0.009263, \
                 -0.009207, -0.009173, -0.009145, -0.009124");
        }
      }

      internal_power() {
        when : "A1&A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01028, 0.01026, 0.01028, 0.01028, 0.01026, 0.01028, 0.01026, \
                 0.01023, 0.0102, 0.01015");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005368, -0.005356, -0.005366, -0.005384, -0.005381, -0.005409, \
                 -0.005413, -0.005423, -0.00544, -0.005456");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01463, 0.0146, 0.01461, 0.01459, 0.01457, 0.01462, 0.01462, \
                 0.01461, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01191, -0.01268, -0.01388, -0.01414, -0.01423, -0.01431, -0.01434, \
                 -0.01437, -0.01438, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009267, 0.009264, 0.009254, 0.009277, 0.009277, 0.009303, 0.009292, \
                 0.009294, 0.009299, 0.009294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00956, -0.009489, -0.009435, -0.009372, -0.009298, -0.009259, \
                 -0.00921, -0.009169, -0.009141, -0.009125");
        }
      }
    }

    pin(B3) {
      capacitance : 0.004241 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01479, 0.01468, 0.01467, 0.01467, 0.01466, 0.01463, 0.01463, \
                 0.01462, 0.01461, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01464, -0.01462, -0.01466, -0.01466, -0.01462, -0.01462, -0.01462, \
                 -0.01461, -0.0146, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01458, 0.01458, 0.01459, 0.01458, 0.01463, 0.01461, \
                 0.0146, 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01386, -0.01384, -0.01403, -0.01418, -0.01424, -0.01434, -0.01433, \
                 -0.01438, -0.01439, -0.01439");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01459, 0.01458, 0.01461, 0.01457, 0.01461, 0.01462, \
                 0.01462, 0.01462, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01235, -0.0127, -0.01329, -0.0137, -0.0139, -0.01403, -0.01409, \
                 -0.01415, -0.01419, -0.01423");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01458, 0.01454, 0.01458, 0.01461, 0.01463, 0.01461, \
                 0.0146, 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01359, -0.01374, -0.01402, -0.01417, -0.01426, -0.01432, -0.01434, \
                 -0.01437, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01458, 0.01459, 0.0146, 0.01463, 0.0146, 0.0146, \
                 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0129, -0.01365, -0.01402, -0.01418, -0.01425, -0.01433, -0.01434, \
                 -0.01438, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01459, 0.01457, 0.01458, 0.01459, 0.01462, 0.01462, \
                 0.01461, 0.01462, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01234, -0.0127, -0.0133, -0.01369, -0.0139, -0.01403, -0.01409, \
                 -0.01415, -0.01419, -0.01423");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01458, 0.01457, 0.01458, 0.01461, 0.01462, 0.01462, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01359, -0.01373, -0.01403, -0.01418, -0.01425, -0.01433, -0.01435, \
                 -0.01436, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01458, 0.01459, 0.0146, 0.01463, 0.0146, 0.0146, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0129, -0.01366, -0.01402, -0.01418, -0.01424, -0.01433, -0.01434, \
                 -0.01438, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01459, 0.01457, 0.01458, 0.01459, 0.01462, 0.01461, \
                 0.01461, 0.01462, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01234, -0.0127, -0.01329, -0.0137, -0.0139, -0.01403, -0.0141, \
                 -0.01415, -0.01419, -0.01423");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01458, 0.01457, 0.01458, 0.01461, 0.01461, 0.01461, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01357, -0.01374, -0.01403, -0.01418, -0.01426, -0.01434, -0.01434, \
                 -0.01436, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01457, 0.01458, 0.01459, 0.01462, 0.0146, \
                 0.01459, 0.0146, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01367, -0.01403, -0.01419, -0.01425, -0.01433, -0.01434, \
                 -0.01438, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01459, 0.01458, 0.01458, 0.01461, 0.01461, 0.0146, 0.01462, \
                 0.0146, 0.01463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01235, -0.0127, -0.0133, -0.01368, -0.01389, -0.01403, -0.0141, \
                 -0.01415, -0.01419, -0.01422");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01457, 0.01457, 0.01458, 0.0146, 0.0146, 0.0146, 0.0146, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01357, -0.01375, -0.01406, -0.01419, -0.01426, -0.01433, -0.01434, \
                 -0.01437, -0.0144, -0.01441");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01458, 0.01458, 0.0146, 0.01462, 0.01461, \
                 0.01461, 0.01459, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0129, -0.01366, -0.01402, -0.01418, -0.01425, -0.01434, -0.01434, \
                 -0.01437, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01459, 0.01457, 0.01459, 0.01459, 0.01462, 0.01461, \
                 0.01461, 0.01462, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01234, -0.0127, -0.01329, -0.0137, -0.01391, -0.01403, -0.0141, \
                 -0.01415, -0.01419, -0.01422");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01458, 0.01457, 0.01458, 0.01461, 0.01462, 0.0146, \
                 0.0146, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01357, -0.01374, -0.01403, -0.01418, -0.01426, -0.01434, -0.01434, \
                 -0.01437, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01457, 0.01458, 0.01459, 0.01462, 0.01461, \
                 0.0146, 0.01459, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01367, -0.01402, -0.01419, -0.01426, -0.01433, -0.01434, \
                 -0.01438, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01459, 0.01458, 0.01458, 0.0146, 0.01462, 0.01461, 0.01462, \
                 0.0146, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01235, -0.0127, -0.0133, -0.01368, -0.01389, -0.01402, -0.0141, \
                 -0.01415, -0.01419, -0.01422");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01464, 0.01457, 0.01457, 0.01458, 0.01459, 0.0146, 0.0146, 0.01461, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01357, -0.01375, -0.01406, -0.01419, -0.01425, -0.01433, -0.01433, \
                 -0.01437, -0.01438, -0.01441");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01457, 0.01458, 0.01459, 0.01462, 0.01462, \
                 0.01461, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01365, -0.01403, -0.0142, -0.01425, -0.01433, -0.01434, \
                 -0.01438, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01459, 0.01458, 0.01459, 0.01462, 0.01462, 0.0146, 0.01461, \
                 0.01461, 0.01463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01235, -0.0127, -0.01329, -0.01369, -0.01389, -0.01403, -0.0141, \
                 -0.01416, -0.01419, -0.01422");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01458, 0.01457, 0.01458, 0.01459, 0.0146, 0.01461, \
                 0.01461, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01357, -0.01376, -0.01405, -0.0142, -0.01426, -0.01433, -0.01434, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01457, 0.01456, 0.01457, 0.01461, 0.01462, 0.01461, \
                 0.01462, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01367, -0.01404, -0.01418, -0.01427, -0.01433, -0.01434, \
                 -0.01437, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01459, 0.01456, 0.01456, 0.01461, 0.01463, 0.01463, \
                 0.01463, 0.01462, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01235, -0.0127, -0.0133, -0.0137, -0.01389, -0.01402, -0.0141, \
                 -0.01415, -0.01419, -0.01422");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01457, 0.01456, 0.01457, 0.01458, 0.01462, 0.0146, \
                 0.01461, 0.0146, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01358, -0.01376, -0.01403, -0.01419, -0.01425, -0.01433, -0.01434, \
                 -0.01437, -0.0144, -0.01441");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2)&(!A3))|((!B1)&(!B2)&(!B3)))" ;
      max_capacitance : 0.1022 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02449, 0.02452, 0.02456, 0.02459, 0.02463, 0.02466, 0.02469, 0.02472, 0.02475, 0.02475",\
                 "0.02494, 0.02496, 0.02505, 0.02516, 0.02528, 0.02536, 0.02542, 0.02547, 0.02551, 0.02553",\
                 "0.02636, 0.02637, 0.02638, 0.0264, 0.02644, 0.02644, 0.02648, 0.0265, 0.02651, 0.02651",\
                 "0.02938, 0.02931, 0.0291, 0.02883, 0.02856, 0.02829, 0.02803, 0.02784, 0.02768, 0.02753",\
                 "0.03545, 0.03529, 0.03471, 0.03395, 0.03306, 0.03222, 0.03141, 0.03077, 0.03018, 0.0297",\
                 "0.04584, 0.04552, 0.04453, 0.04299, 0.04126, 0.03952, 0.03788, 0.03644, 0.03519, 0.0341",\
                 "0.06134, 0.06087, 0.05935, 0.05695, 0.05407, 0.05117, 0.04841, 0.04587, 0.04361, 0.04158",\
                 "0.08237, 0.08174, 0.07973, 0.07641, 0.07233, 0.068, 0.06375, 0.05983, 0.0563, 0.05311",\
                 "0.1094, 0.1085, 0.1061, 0.1018, 0.0965, 0.09062, 0.08471, 0.07916, 0.07405, 0.06934",\
                 "0.1426, 0.1417, 0.1387, 0.1335, 0.127, 0.1196, 0.1119, 0.1044, 0.09742, 0.09098");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.09279, 0.09288, 0.09317, 0.09348, 0.09381, 0.09413, 0.09447, 0.09483, 0.09512, 0.09649",\
                 "0.09182, 0.09198, 0.09247, 0.09309, 0.0937, 0.09426, 0.09477, 0.09522, 0.09561, 0.09689",\
                 "0.09177, 0.09184, 0.09204, 0.09245, 0.09303, 0.09366, 0.09431, 0.09492, 0.09546, 0.09706",\
                 "0.09627, 0.09612, 0.09568, 0.09519, 0.09485, 0.09482, 0.09503, 0.09535, 0.09573, 0.0974",\
                 "0.1058, 0.1055, 0.1045, 0.1029, 0.1013, 0.1, 0.09916, 0.09842, 0.09825, 0.09955",\
                 "0.1203, 0.1199, 0.1183, 0.116, 0.1132, 0.1105, 0.1081, 0.1061, 0.1046, 0.1052",\
                 "0.1405, 0.1398, 0.1378, 0.1346, 0.1307, 0.1266, 0.1225, 0.1189, 0.116, 0.1156",\
                 "0.1667, 0.1659, 0.1633, 0.1592, 0.1542, 0.1489, 0.1433, 0.1379, 0.1334, 0.1324",\
                 "0.1994, 0.1984, 0.1951, 0.1902, 0.1841, 0.1774, 0.1705, 0.1637, 0.1576, 0.157",\
                 "0.239, 0.2379, 0.2341, 0.2282, 0.2208, 0.2127, 0.2044, 0.1961, 0.1894, 0.1915");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01455, 0.01458, 0.01463, 0.01468, 0.01474, 0.01478, 0.01479, 0.01482, 0.01483, 0.01483",\
                 "0.01497, 0.015, 0.0151, 0.01525, 0.01538, 0.01546, 0.01553, 0.01556, 0.01559, 0.01562",\
                 "0.01629, 0.01632, 0.01636, 0.01642, 0.01648, 0.01652, 0.01656, 0.01658, 0.01659, 0.0166",\
                 "0.01944, 0.01935, 0.01919, 0.01892, 0.01862, 0.01836, 0.01813, 0.01793, 0.01776, 0.01763",\
                 "0.02589, 0.02566, 0.02508, 0.02423, 0.02329, 0.02241, 0.0216, 0.02094, 0.02031, 0.01982",\
                 "0.03685, 0.0365, 0.03536, 0.03367, 0.03178, 0.02993, 0.02821, 0.0267, 0.02539, 0.02428",\
                 "0.05304, 0.0525, 0.0508, 0.04814, 0.04503, 0.04189, 0.03897, 0.03632, 0.03395, 0.03188",\
                 "0.07483, 0.07412, 0.07183, 0.06822, 0.06379, 0.05912, 0.05462, 0.05051, 0.04686, 0.04355",\
                 "0.1026, 0.1017, 0.09885, 0.09427, 0.08846, 0.08221, 0.07598, 0.07012, 0.0648, 0.05996",\
                 "0.1365, 0.1355, 0.1322, 0.1266, 0.1195, 0.1116, 0.1035, 0.09571, 0.08847, 0.08183");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.08274, 0.08286, 0.08313, 0.08346, 0.08375, 0.08406, 0.08434, 0.08466, 0.08503, 0.08609",\
                 "0.08178, 0.08196, 0.08244, 0.08307, 0.08368, 0.08419, 0.08464, 0.08506, 0.0855, 0.08645",\
                 "0.08177, 0.0818, 0.08202, 0.08244, 0.08301, 0.0836, 0.08424, 0.08476, 0.08533, 0.08659",\
                 "0.08623, 0.08608, 0.08565, 0.08518, 0.08484, 0.08475, 0.08487, 0.08516, 0.08565, 0.08696",\
                 "0.09574, 0.09544, 0.09444, 0.09283, 0.09126, 0.08994, 0.08903, 0.08842, 0.08817, 0.08901",\
                 "0.1103, 0.1098, 0.1083, 0.1059, 0.1031, 0.1004, 0.09797, 0.09588, 0.09448, 0.09457",\
                 "0.1305, 0.1298, 0.1277, 0.1245, 0.1207, 0.1166, 0.1125, 0.1089, 0.1059, 0.1054",\
                 "0.1567, 0.1559, 0.1532, 0.1491, 0.1441, 0.1388, 0.1332, 0.1278, 0.1233, 0.1219",\
                 "0.1895, 0.1885, 0.1852, 0.1802, 0.174, 0.1673, 0.1605, 0.1535, 0.1473, 0.1461",\
                 "0.2293, 0.2281, 0.2242, 0.2181, 0.2107, 0.2026, 0.1943, 0.1858, 0.1789, 0.18");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01456, 0.01458, 0.01465, 0.01467, 0.01473, 0.01476, 0.01479, 0.0148, 0.01482, 0.01483",\
                 "0.01497, 0.01502, 0.01514, 0.01525, 0.01537, 0.01546, 0.01551, 0.01556, 0.01559, 0.01563",\
                 "0.01644, 0.01645, 0.01647, 0.01652, 0.01656, 0.01659, 0.01662, 0.01662, 0.01662, 0.01662",\
                 "0.01978, 0.01973, 0.01951, 0.01921, 0.0189, 0.01861, 0.01833, 0.0181, 0.01791, 0.01777",\
                 "0.02659, 0.02634, 0.02573, 0.02486, 0.02388, 0.02294, 0.02209, 0.02136, 0.02073, 0.02021",\
                 "0.038, 0.03762, 0.03647, 0.03475, 0.0328, 0.03089, 0.02913, 0.02758, 0.02619, 0.025",\
                 "0.0546, 0.05409, 0.05239, 0.04977, 0.04664, 0.04343, 0.04043, 0.03773, 0.03527, 0.03313",\
                 "0.07698, 0.07629, 0.07407, 0.07049, 0.06608, 0.06141, 0.05682, 0.05265, 0.04888, 0.0455",\
                 "0.1055, 0.1046, 0.1018, 0.09728, 0.09153, 0.08532, 0.07907, 0.0731, 0.06767, 0.06279",\
                 "0.1403, 0.1392, 0.136, 0.1304, 0.1234, 0.1156, 0.1076, 0.09975, 0.09237, 0.08563");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.08261, 0.0827, 0.08298, 0.08331, 0.08364, 0.0839, 0.08424, 0.08453, 0.0849, 0.08593",\
                 "0.08128, 0.08148, 0.08194, 0.08256, 0.08319, 0.08367, 0.08414, 0.0846, 0.08503, 0.08612",\
                 "0.08137, 0.08139, 0.08155, 0.08184, 0.08234, 0.08294, 0.08348, 0.08407, 0.08464, 0.08586",\
                 "0.08644, 0.08623, 0.08573, 0.08512, 0.08459, 0.08439, 0.08438, 0.08466, 0.08505, 0.08623",\
                 "0.09645, 0.09611, 0.09508, 0.09347, 0.09176, 0.09023, 0.08906, 0.08836, 0.08787, 0.08878",\
                 "0.1116, 0.111, 0.1095, 0.1073, 0.1044, 0.1015, 0.09893, 0.09667, 0.09494, 0.09497",\
                 "0.1323, 0.1316, 0.1296, 0.1265, 0.1227, 0.1186, 0.1144, 0.1107, 0.1073, 0.1063",\
                 "0.1593, 0.1584, 0.1559, 0.1519, 0.147, 0.1417, 0.1362, 0.1308, 0.126, 0.1243",\
                 "0.1931, 0.192, 0.1888, 0.1838, 0.1778, 0.1714, 0.1645, 0.1576, 0.1515, 0.1501",\
                 "0.234, 0.2327, 0.2289, 0.2229, 0.2156, 0.2078, 0.1996, 0.1914, 0.1844, 0.1858");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.004315, 0.004352, 0.004419, 0.004484, 0.004534, 0.004566, 0.004592, 0.004611, 0.004628, 0.004636",\
                 "0.00454, 0.004622, 0.00479, 0.004984, 0.005141, 0.005235, 0.005305, 0.005352, 0.005387, 0.005409",\
                 "0.005925, 0.005954, 0.00604, 0.006135, 0.006242, 0.006285, 0.006343, 0.006373, 0.006384, 0.006393",\
                 "0.009488, 0.009394, 0.009133, 0.008824, 0.008501, 0.008204, 0.007962, 0.00774, 0.007577, 0.007445",\
                 "0.01662, 0.01634, 0.01556, 0.01453, 0.01342, 0.01246, 0.01158, 0.01083, 0.01021, 0.009699",\
                 "0.02841, 0.02793, 0.02656, 0.0245, 0.02231, 0.02025, 0.01839, 0.01678, 0.01538, 0.0142",\
                 "0.04544, 0.0448, 0.04273, 0.03962, 0.03607, 0.03258, 0.02942, 0.02658, 0.02411, 0.02195",\
                 "0.06811, 0.06725, 0.06453, 0.06035, 0.05539, 0.05025, 0.04543, 0.04108, 0.03722, 0.03379",\
                 "0.09666, 0.09566, 0.09237, 0.08707, 0.08065, 0.07381, 0.06715, 0.06095, 0.05542, 0.05042",\
                 "0.1314, 0.1302, 0.1263, 0.1201, 0.1122, 0.1037, 0.0951, 0.08691, 0.07937, 0.07252");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.07248, 0.07259, 0.07285, 0.07319, 0.07348, 0.07377, 0.07398, 0.07423, 0.07475, 0.07529",\
                 "0.07151, 0.07168, 0.07215, 0.07278, 0.0734, 0.0739, 0.07428, 0.07463, 0.07499, 0.07595",\
                 "0.07149, 0.07153, 0.07175, 0.07213, 0.07269, 0.07327, 0.07382, 0.0743, 0.07485, 0.07592",\
                 "0.07598, 0.07586, 0.07538, 0.07488, 0.07452, 0.07446, 0.07458, 0.07483, 0.07514, 0.07619",\
                 "0.08546, 0.08519, 0.08412, 0.08263, 0.081, 0.07967, 0.07864, 0.07803, 0.07764, 0.07818",\
                 "0.1001, 0.09955, 0.098, 0.09567, 0.09292, 0.0901, 0.08751, 0.08552, 0.08405, 0.084",\
                 "0.1203, 0.1197, 0.1175, 0.1143, 0.1105, 0.1063, 0.1022, 0.09842, 0.0954, 0.09416",\
                 "0.1468, 0.1459, 0.1431, 0.1389, 0.1339, 0.1285, 0.1232, 0.1176, 0.1126, 0.1108",\
                 "0.1798, 0.1787, 0.1753, 0.17, 0.1638, 0.157, 0.1502, 0.1432, 0.1369, 0.1348",\
                 "0.2198, 0.2185, 0.2145, 0.2082, 0.2006, 0.1924, 0.184, 0.1755, 0.1684, 0.1683");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.004294, 0.004324, 0.00441, 0.004478, 0.00453, 0.004563, 0.004587, 0.004599, 0.004619, 0.004628",\
                 "0.004573, 0.004616, 0.004803, 0.004993, 0.005147, 0.00524, 0.005299, 0.005345, 0.005382, 0.005419",\
                 "0.006072, 0.006089, 0.006163, 0.006247, 0.006333, 0.006365, 0.006396, 0.006411, 0.006413, 0.006419",\
                 "0.009856, 0.009763, 0.009509, 0.009118, 0.008785, 0.008461, 0.008174, 0.007927, 0.007729, 0.007573",\
                 "0.01727, 0.01701, 0.01622, 0.01514, 0.01404, 0.013, 0.01206, 0.01125, 0.01061, 0.01005",\
                 "0.02946, 0.02902, 0.02761, 0.02557, 0.02332, 0.02122, 0.01931, 0.01763, 0.01619, 0.01495",\
                 "0.04694, 0.04632, 0.04428, 0.04124, 0.03764, 0.03412, 0.03086, 0.02799, 0.02547, 0.02324",\
                 "0.07021, 0.06936, 0.06671, 0.06256, 0.05762, 0.0525, 0.04762, 0.04317, 0.03924, 0.03572",\
                 "0.09948, 0.0985, 0.09523, 0.09005, 0.08367, 0.0769, 0.07022, 0.06394, 0.05829, 0.05318",\
                 "0.1351, 0.1339, 0.1301, 0.1239, 0.1161, 0.1077, 0.09915, 0.09093, 0.08328, 0.07632");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.07232, 0.07244, 0.0727, 0.07302, 0.07333, 0.07357, 0.07392, 0.0742, 0.07439, 0.07506",\
                 "0.07102, 0.07118, 0.07165, 0.07227, 0.07286, 0.07337, 0.07375, 0.07403, 0.07449, 0.07549",\
                 "0.07112, 0.07114, 0.07126, 0.07156, 0.07207, 0.07261, 0.07313, 0.07364, 0.07413, 0.0752",\
                 "0.07619, 0.07599, 0.07549, 0.0748, 0.07433, 0.07407, 0.07412, 0.0742, 0.07452, 0.07553",\
                 "0.08624, 0.08588, 0.08485, 0.08325, 0.08146, 0.07997, 0.07874, 0.078, 0.07751, 0.07778",\
                 "0.1013, 0.1008, 0.09927, 0.09696, 0.09416, 0.09123, 0.08857, 0.08622, 0.08451, 0.08433",\
                 "0.1222, 0.1215, 0.1194, 0.1163, 0.1124, 0.1083, 0.1041, 0.1002, 0.09686, 0.09554",\
                 "0.1493, 0.1484, 0.1458, 0.1417, 0.1368, 0.1316, 0.1261, 0.1205, 0.1154, 0.1134",\
                 "0.1833, 0.1822, 0.1788, 0.1737, 0.1676, 0.1611, 0.1544, 0.1474, 0.141, 0.1388",\
                 "0.2245, 0.2232, 0.2191, 0.2129, 0.2055, 0.1976, 0.1894, 0.1811, 0.174, 0.1743");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.004294, 0.004324, 0.00441, 0.004478, 0.004521, 0.004561, 0.004587, 0.004599, 0.004619, 0.004633",\
                 "0.004558, 0.004616, 0.00479, 0.004993, 0.005147, 0.005235, 0.005299, 0.005345, 0.005382, 0.005419",\
                 "0.006071, 0.006089, 0.006163, 0.006269, 0.006333, 0.006365, 0.006396, 0.00641, 0.006415, 0.006419",\
                 "0.009862, 0.009756, 0.009509, 0.009122, 0.008792, 0.008461, 0.008163, 0.007918, 0.007736, 0.007575",\
                 "0.01727, 0.01704, 0.01622, 0.01513, 0.01405, 0.013, 0.01206, 0.01126, 0.01061, 0.01005",\
                 "0.02946, 0.02902, 0.02761, 0.02556, 0.02332, 0.02122, 0.0193, 0.01763, 0.01619, 0.01494",\
                 "0.04694, 0.04632, 0.04428, 0.04123, 0.03763, 0.03412, 0.03085, 0.028, 0.02544, 0.02324",\
                 "0.07021, 0.06936, 0.06671, 0.06256, 0.05761, 0.0525, 0.04761, 0.04318, 0.03924, 0.03573",\
                 "0.09947, 0.0985, 0.09522, 0.09003, 0.08367, 0.07689, 0.07022, 0.06393, 0.05828, 0.05319",\
                 "0.1351, 0.1339, 0.1301, 0.1239, 0.1161, 0.1077, 0.09914, 0.09093, 0.08327, 0.07631");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.07234, 0.07244, 0.0727, 0.07302, 0.07333, 0.07357, 0.07392, 0.0742, 0.07439, 0.07506",\
                 "0.07102, 0.07118, 0.07164, 0.07228, 0.07286, 0.07337, 0.07379, 0.07403, 0.07449, 0.07549",\
                 "0.07113, 0.07114, 0.07126, 0.07155, 0.07206, 0.07261, 0.07309, 0.0736, 0.074, 0.0752",\
                 "0.0762, 0.07599, 0.07549, 0.0748, 0.07431, 0.0741, 0.07412, 0.0742, 0.07454, 0.0755",\
                 "0.08624, 0.08585, 0.08484, 0.08325, 0.08145, 0.07991, 0.07867, 0.07796, 0.07754, 0.07801",\
                 "0.1013, 0.1009, 0.09934, 0.09693, 0.09416, 0.09119, 0.08854, 0.08625, 0.08458, 0.08417",\
                 "0.1221, 0.1215, 0.1194, 0.1162, 0.1124, 0.1083, 0.1041, 0.1003, 0.09699, 0.09551",\
                 "0.1493, 0.1484, 0.1458, 0.1417, 0.1367, 0.1315, 0.126, 0.1205, 0.1154, 0.1133",\
                 "0.1833, 0.1822, 0.1788, 0.1737, 0.1676, 0.1611, 0.1543, 0.1474, 0.141, 0.1386",\
                 "0.2245, 0.2232, 0.2191, 0.2129, 0.2054, 0.1974, 0.1894, 0.1811, 0.1739, 0.1741");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.00429, 0.004337, 0.004421, 0.004475, 0.004532, 0.004559, 0.004585, 0.004602, 0.004621, 0.00463",\
                 "0.004576, 0.004635, 0.004817, 0.005002, 0.005146, 0.005242, 0.005304, 0.005346, 0.00538, 0.005416",\
                 "0.006146, 0.006162, 0.006223, 0.006305, 0.006348, 0.006396, 0.006409, 0.006416, 0.006421, 0.006426",\
                 "0.00998, 0.009894, 0.009627, 0.009245, 0.008895, 0.008561, 0.008256, 0.008001, 0.007797, 0.00763",\
                 "0.01755, 0.0173, 0.01648, 0.01537, 0.01423, 0.01321, 0.01225, 0.01145, 0.01076, 0.01019",\
                 "0.02986, 0.02939, 0.02803, 0.02598, 0.0237, 0.02159, 0.01967, 0.01795, 0.01647, 0.0152",\
                 "0.04751, 0.04686, 0.04489, 0.04183, 0.03825, 0.0347, 0.03143, 0.02851, 0.02595, 0.02369",\
                 "0.07098, 0.0701, 0.06747, 0.06338, 0.05844, 0.05334, 0.04842, 0.04397, 0.03999, 0.03644",\
                 "0.1005, 0.09945, 0.09625, 0.09107, 0.08472, 0.07802, 0.0713, 0.06504, 0.05935, 0.05422",\
                 "0.1364, 0.1352, 0.1314, 0.1252, 0.1175, 0.1091, 0.1006, 0.09239, 0.08475, 0.07773");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.07224, 0.07234, 0.07259, 0.07295, 0.07325, 0.0735, 0.07378, 0.07397, 0.07429, 0.07503",\
                 "0.07078, 0.07095, 0.07141, 0.07202, 0.07263, 0.07314, 0.07352, 0.07387, 0.07426, 0.07523",\
                 "0.07102, 0.07104, 0.07109, 0.07135, 0.07184, 0.07235, 0.07283, 0.07331, 0.07383, 0.0749",\
                 "0.07627, 0.07606, 0.07553, 0.07485, 0.07426, 0.07396, 0.07392, 0.07393, 0.07428, 0.07527",\
                 "0.08646, 0.08615, 0.08505, 0.0835, 0.0817, 0.0801, 0.0788, 0.07793, 0.07735, 0.07785",\
                 "0.1017, 0.1012, 0.09975, 0.09741, 0.09461, 0.09162, 0.0889, 0.08651, 0.08477, 0.0844",\
                 "0.1228, 0.1221, 0.12, 0.1169, 0.1132, 0.1091, 0.1048, 0.1009, 0.09748, 0.09594",\
                 "0.1502, 0.1493, 0.1466, 0.1426, 0.1377, 0.1325, 0.1271, 0.1214, 0.1164, 0.1142",\
                 "0.1845, 0.1834, 0.18, 0.1749, 0.1689, 0.1625, 0.1558, 0.1487, 0.1424, 0.1402",\
                 "0.2261, 0.2247, 0.2207, 0.2145, 0.2071, 0.1993, 0.1913, 0.1829, 0.1758, 0.1762");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.03832, 0.0383, 0.0383, 0.03829, 0.03829, 0.03831, 0.03832, 0.03835, 0.03833, 0.03834",\
                 "0.03826, 0.03822, 0.03824, 0.03824, 0.03826, 0.03828, 0.03828, 0.03832, 0.03832, 0.03831",\
                 "0.03855, 0.03853, 0.03849, 0.03841, 0.03837, 0.03833, 0.03832, 0.0383, 0.03829, 0.03828",\
                 "0.04093, 0.04085, 0.0406, 0.04031, 0.03999, 0.03964, 0.03935, 0.03914, 0.03895, 0.03881",\
                 "0.04718, 0.04699, 0.04635, 0.04552, 0.0445, 0.04355, 0.04269, 0.04196, 0.04132, 0.04079",\
                 "0.05832, 0.05799, 0.05701, 0.05531, 0.05338, 0.05138, 0.04951, 0.04786, 0.04648, 0.0453",\
                 "0.07532, 0.07484, 0.07327, 0.07069, 0.06755, 0.06427, 0.06105, 0.05813, 0.05556, 0.05328",\
                 "0.09865, 0.09802, 0.09581, 0.0923, 0.08787, 0.08301, 0.07823, 0.07365, 0.06952, 0.06581",\
                 "0.1287, 0.1279, 0.1252, 0.1207, 0.1148, 0.1084, 0.1017, 0.09528, 0.08927, 0.08382",\
                 "0.1659, 0.1649, 0.1617, 0.1562, 0.1489, 0.1407, 0.1321, 0.1236, 0.1155, 0.1081");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1035, 0.1036, 0.1038, 0.1041, 0.1044, 0.1047, 0.105, 0.1054, 0.1057, 0.107",\
                 "0.1024, 0.1026, 0.1031, 0.1037, 0.1043, 0.1049, 0.1053, 0.1057, 0.1061, 0.1075",\
                 "0.1006, 0.1007, 0.1011, 0.1019, 0.1028, 0.1037, 0.1044, 0.1052, 0.1058, 0.1073",\
                 "0.1023, 0.1023, 0.1022, 0.1024, 0.1027, 0.1033, 0.1039, 0.1045, 0.1053, 0.1072",\
                 "0.1107, 0.1104, 0.1096, 0.1085, 0.1076, 0.107, 0.1066, 0.1067, 0.1068, 0.1083",\
                 "0.126, 0.1255, 0.124, 0.1217, 0.1192, 0.1169, 0.1149, 0.1135, 0.1125, 0.1132",\
                 "0.1482, 0.1475, 0.1453, 0.1419, 0.138, 0.1338, 0.13, 0.1266, 0.1239, 0.1237",\
                 "0.1775, 0.1766, 0.1737, 0.1692, 0.1638, 0.1581, 0.1524, 0.1469, 0.1424, 0.1412",\
                 "0.2142, 0.2131, 0.2096, 0.204, 0.1971, 0.1897, 0.1823, 0.1749, 0.1685, 0.167",\
                 "0.2587, 0.2574, 0.2533, 0.2467, 0.2384, 0.2291, 0.2198, 0.2108, 0.2032, 0.2031");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02839, 0.02839, 0.0284, 0.02838, 0.02838, 0.02839, 0.02843, 0.02842, 0.02843, 0.02843",\
                 "0.02833, 0.02833, 0.02831, 0.02833, 0.02835, 0.02837, 0.02839, 0.02841, 0.02842, 0.02842",\
                 "0.0286, 0.02859, 0.02857, 0.02848, 0.02843, 0.02843, 0.02841, 0.0284, 0.02837, 0.02836",\
                 "0.03108, 0.03102, 0.03077, 0.03043, 0.03007, 0.02975, 0.02946, 0.02924, 0.02906, 0.02891",\
                 "0.03768, 0.03752, 0.03687, 0.03586, 0.03478, 0.03379, 0.03288, 0.03212, 0.03145, 0.03092",\
                 "0.04954, 0.04918, 0.04797, 0.04612, 0.04402, 0.04187, 0.03989, 0.03816, 0.03672, 0.03549",\
                 "0.06727, 0.06671, 0.06488, 0.06209, 0.05863, 0.05509, 0.05171, 0.04865, 0.04594, 0.04359",\
                 "0.0914, 0.09068, 0.08829, 0.08434, 0.07949, 0.07432, 0.06922, 0.06446, 0.06015, 0.05632",\
                 "0.1223, 0.1214, 0.1184, 0.1134, 0.1071, 0.1001, 0.09314, 0.08639, 0.08015, 0.07456",\
                 "0.1603, 0.1593, 0.1557, 0.1496, 0.1419, 0.1331, 0.124, 0.1151, 0.1068, 0.09906");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.0935, 0.09357, 0.09381, 0.09409, 0.09439, 0.09462, 0.0949, 0.09522, 0.09556, 0.09665",\
                 "0.0924, 0.09258, 0.09307, 0.09368, 0.09426, 0.09475, 0.0952, 0.09562, 0.09602, 0.09715",\
                 "0.0905, 0.09065, 0.09112, 0.09189, 0.09281, 0.09363, 0.09438, 0.09509, 0.09566, 0.09699",\
                 "0.09229, 0.09228, 0.09223, 0.09236, 0.09263, 0.09317, 0.09381, 0.0945, 0.09522, 0.09669",\
                 "0.1006, 0.1004, 0.0996, 0.09852, 0.09751, 0.09693, 0.09655, 0.09651, 0.09669, 0.09792",\
                 "0.1159, 0.1154, 0.1139, 0.1117, 0.1091, 0.1069, 0.1047, 0.1033, 0.1022, 0.1027",\
                 "0.1382, 0.1375, 0.1352, 0.1318, 0.1279, 0.1238, 0.1199, 0.1164, 0.1138, 0.1132",\
                 "0.1676, 0.1667, 0.1637, 0.1592, 0.1537, 0.1481, 0.1423, 0.1368, 0.1322, 0.1306",\
                 "0.2044, 0.2032, 0.1997, 0.1941, 0.1871, 0.1796, 0.1722, 0.1649, 0.1583, 0.1562",\
                 "0.249, 0.2477, 0.2436, 0.2367, 0.2283, 0.2191, 0.2098, 0.2006, 0.1928, 0.1918");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.0284, 0.02841, 0.02835, 0.02836, 0.02837, 0.02839, 0.02841, 0.02841, 0.02843, 0.02844",\
                 "0.02834, 0.02831, 0.02829, 0.0283, 0.02836, 0.02836, 0.02838, 0.0284, 0.0284, 0.02842",\
                 "0.02868, 0.02868, 0.02863, 0.02858, 0.02848, 0.02847, 0.02844, 0.02842, 0.02839, 0.02839",\
                 "0.0314, 0.03133, 0.03107, 0.03069, 0.03029, 0.02996, 0.02964, 0.02939, 0.02917, 0.02902",\
                 "0.03841, 0.03817, 0.03752, 0.03649, 0.03539, 0.03429, 0.03335, 0.03254, 0.03184, 0.03127",\
                 "0.05072, 0.05034, 0.04913, 0.04725, 0.0451, 0.0429, 0.04088, 0.0391, 0.03751, 0.03623",\
                 "0.06909, 0.06852, 0.06672, 0.0639, 0.06044, 0.0568, 0.05339, 0.05021, 0.04742, 0.04496",\
                 "0.09401, 0.09325, 0.09088, 0.08694, 0.08208, 0.0769, 0.07172, 0.06691, 0.06248, 0.05853",\
                 "0.1259, 0.1249, 0.1219, 0.1169, 0.1107, 0.1037, 0.09669, 0.08989, 0.08353, 0.0778",\
                 "0.165, 0.1639, 0.1603, 0.1543, 0.1465, 0.1378, 0.1288, 0.1198, 0.1114, 0.1035");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.09336, 0.09342, 0.09365, 0.09393, 0.09424, 0.09449, 0.09477, 0.09509, 0.09543, 0.09649",\
                 "0.09195, 0.09212, 0.0926, 0.0932, 0.09375, 0.09426, 0.09471, 0.09512, 0.09556, 0.09655",\
                 "0.09011, 0.09022, 0.09063, 0.09132, 0.09215, 0.093, 0.09372, 0.09436, 0.09497, 0.09629",\
                 "0.09223, 0.09219, 0.09206, 0.09205, 0.09223, 0.09267, 0.09319, 0.09384, 0.09449, 0.09597",\
                 "0.1012, 0.1009, 0.09997, 0.09886, 0.0977, 0.0969, 0.09639, 0.09618, 0.09622, 0.09743",\
                 "0.1172, 0.1167, 0.1152, 0.1129, 0.1102, 0.1077, 0.1055, 0.1038, 0.1025, 0.1029",\
                 "0.1403, 0.1396, 0.1374, 0.134, 0.1301, 0.1259, 0.1218, 0.1181, 0.1152, 0.1143",\
                 "0.1708, 0.1698, 0.1669, 0.1625, 0.157, 0.1514, 0.1456, 0.1399, 0.135, 0.1331",\
                 "0.2088, 0.2077, 0.2042, 0.1985, 0.1917, 0.1844, 0.1769, 0.1695, 0.1627, 0.1605",\
                 "0.255, 0.2537, 0.2495, 0.2427, 0.2344, 0.2254, 0.2161, 0.2071, 0.1992, 0.1981");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01818, 0.01818, 0.01818, 0.01817, 0.01818, 0.0182, 0.0182, 0.01821, 0.01822, 0.01822",\
                 "0.01809, 0.01809, 0.01811, 0.01811, 0.01815, 0.01818, 0.01819, 0.0182, 0.0182, 0.01821",\
                 "0.01839, 0.01837, 0.01835, 0.0183, 0.01825, 0.01822, 0.01819, 0.01818, 0.01817, 0.01815",\
                 "0.02123, 0.02112, 0.02082, 0.02038, 0.01998, 0.01961, 0.0193, 0.01905, 0.01886, 0.01872",\
                 "0.0285, 0.02822, 0.02744, 0.02623, 0.02501, 0.02386, 0.02284, 0.02204, 0.02135, 0.0208",\
                 "0.04119, 0.04071, 0.03927, 0.03706, 0.03464, 0.03225, 0.03011, 0.02828, 0.02673, 0.02545",\
                 "0.05988, 0.0592, 0.05703, 0.05374, 0.04985, 0.0459, 0.04224, 0.03898, 0.03616, 0.0337",\
                 "0.08496, 0.08412, 0.08124, 0.07675, 0.0713, 0.06562, 0.06011, 0.05509, 0.05059, 0.04661",\
                 "0.1168, 0.1157, 0.1122, 0.1066, 0.09955, 0.092, 0.08451, 0.07738, 0.0709, 0.06506",\
                 "0.1555, 0.1543, 0.1502, 0.1435, 0.135, 0.1255, 0.1158, 0.1065, 0.09779, 0.08983");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.08324, 0.0833, 0.08352, 0.08385, 0.08405, 0.08429, 0.08454, 0.08479, 0.08508, 0.08579",\
                 "0.08211, 0.08229, 0.08277, 0.08337, 0.08395, 0.08443, 0.08481, 0.08515, 0.08551, 0.08648",\
                 "0.08025, 0.08039, 0.08082, 0.08164, 0.08247, 0.0833, 0.08398, 0.08459, 0.08518, 0.08632",\
                 "0.08204, 0.08205, 0.08196, 0.08205, 0.08231, 0.08288, 0.08342, 0.084, 0.08474, 0.0858",\
                 "0.09037, 0.09009, 0.08934, 0.08825, 0.08728, 0.08657, 0.08626, 0.08605, 0.08603, 0.08739",\
                 "0.1057, 0.1052, 0.1037, 0.1014, 0.09889, 0.0965, 0.09444, 0.09291, 0.09187, 0.09218",\
                 "0.1281, 0.1274, 0.125, 0.1216, 0.1177, 0.1136, 0.1096, 0.106, 0.1033, 0.1024",\
                 "0.1576, 0.1567, 0.1536, 0.149, 0.1434, 0.1378, 0.132, 0.1265, 0.1217, 0.1196",\
                 "0.1946, 0.1935, 0.1898, 0.1839, 0.1768, 0.1693, 0.162, 0.1545, 0.1478, 0.145",\
                 "0.2396, 0.2382, 0.2339, 0.2268, 0.2182, 0.2088, 0.1995, 0.1902, 0.1821, 0.1805");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01816, 0.01818, 0.01816, 0.01817, 0.01819, 0.01821, 0.01822, 0.01822, 0.01822, 0.01823",\
                 "0.01807, 0.01809, 0.01811, 0.01812, 0.01814, 0.01817, 0.01819, 0.01818, 0.0182, 0.01821",\
                 "0.01848, 0.01847, 0.01842, 0.01837, 0.0183, 0.01826, 0.01822, 0.0182, 0.01819, 0.01817",\
                 "0.02155, 0.02143, 0.02111, 0.02067, 0.02023, 0.01984, 0.0195, 0.0192, 0.01899, 0.01883",\
                 "0.02922, 0.02894, 0.0281, 0.0269, 0.0256, 0.02439, 0.02335, 0.02245, 0.02173, 0.02112",\
                 "0.04239, 0.04191, 0.04042, 0.03825, 0.03574, 0.03331, 0.03109, 0.02919, 0.02756, 0.02619",\
                 "0.0617, 0.06103, 0.05885, 0.05552, 0.05163, 0.04765, 0.04394, 0.04057, 0.03763, 0.03507",\
                 "0.08751, 0.08662, 0.08384, 0.07934, 0.0739, 0.0682, 0.06265, 0.05754, 0.05292, 0.04885",\
                 "0.1202, 0.1192, 0.1157, 0.1101, 0.1031, 0.09555, 0.08802, 0.08088, 0.07434, 0.06834",\
                 "0.1602, 0.1589, 0.1549, 0.1481, 0.1396, 0.1302, 0.1206, 0.1112, 0.1024, 0.09432");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.08309, 0.08316, 0.08338, 0.08365, 0.08391, 0.08416, 0.08441, 0.08463, 0.08495, 0.08579",\
                 "0.08168, 0.08187, 0.08232, 0.0829, 0.08346, 0.08393, 0.08431, 0.08473, 0.08502, 0.08602",\
                 "0.07985, 0.07996, 0.08034, 0.08101, 0.08181, 0.08261, 0.08336, 0.08393, 0.08449, 0.08556",\
                 "0.08197, 0.08193, 0.0818, 0.08175, 0.08193, 0.08231, 0.08279, 0.08337, 0.08395, 0.08504",\
                 "0.09091, 0.09065, 0.08975, 0.08861, 0.08745, 0.0866, 0.08603, 0.08568, 0.0857, 0.08676",\
                 "0.107, 0.1065, 0.1049, 0.1026, 0.1001, 0.0974, 0.09514, 0.09334, 0.09192, 0.09215",\
                 "0.1302, 0.1295, 0.1272, 0.1238, 0.1198, 0.1157, 0.1115, 0.1078, 0.1046, 0.1035",\
                 "0.1608, 0.1598, 0.1568, 0.1522, 0.1468, 0.1412, 0.1354, 0.1296, 0.1245, 0.1221",\
                 "0.1991, 0.1979, 0.1942, 0.1884, 0.1815, 0.1741, 0.1667, 0.1592, 0.1524, 0.1492",\
                 "0.2456, 0.2442, 0.2398, 0.2327, 0.2243, 0.215, 0.2058, 0.1969, 0.1885, 0.1869");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01816, 0.01818, 0.01817, 0.01817, 0.01819, 0.01821, 0.01822, 0.01822, 0.01822, 0.01823",\
                 "0.0181, 0.01809, 0.01808, 0.01812, 0.01813, 0.01817, 0.01819, 0.0182, 0.0182, 0.01822",\
                 "0.01848, 0.01847, 0.01842, 0.01837, 0.0183, 0.01826, 0.01822, 0.0182, 0.01819, 0.01817",\
                 "0.02155, 0.02144, 0.02111, 0.02068, 0.02023, 0.01984, 0.0195, 0.01918, 0.019, 0.01884",\
                 "0.02921, 0.02894, 0.0281, 0.0269, 0.02561, 0.02439, 0.02333, 0.02245, 0.02172, 0.02114",\
                 "0.04239, 0.0419, 0.04045, 0.03823, 0.03574, 0.03332, 0.0311, 0.0292, 0.02753, 0.02619",\
                 "0.06167, 0.06102, 0.05887, 0.05552, 0.05164, 0.04765, 0.04393, 0.04057, 0.03759, 0.03507",\
                 "0.08751, 0.08662, 0.08384, 0.07933, 0.07391, 0.06818, 0.06264, 0.05755, 0.05291, 0.04884",\
                 "0.1202, 0.1192, 0.1157, 0.1101, 0.1031, 0.09554, 0.08801, 0.08089, 0.07433, 0.06835",\
                 "0.1602, 0.1589, 0.1549, 0.1481, 0.1396, 0.1302, 0.1206, 0.1112, 0.1024, 0.09432");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.08309, 0.08316, 0.08338, 0.08365, 0.08391, 0.08416, 0.08438, 0.08463, 0.08495, 0.08579",\
                 "0.08168, 0.08188, 0.08231, 0.08291, 0.0835, 0.08393, 0.08435, 0.08473, 0.08505, 0.08602",\
                 "0.07984, 0.07997, 0.08034, 0.08102, 0.08181, 0.08261, 0.08332, 0.08387, 0.08449, 0.08559",\
                 "0.08199, 0.08192, 0.08183, 0.08175, 0.08198, 0.08231, 0.08283, 0.08337, 0.08418, 0.08523",\
                 "0.09091, 0.09062, 0.08976, 0.08863, 0.08745, 0.08657, 0.08603, 0.08575, 0.0858, 0.08663",\
                 "0.107, 0.1065, 0.1049, 0.1027, 0.1001, 0.09743, 0.0952, 0.09331, 0.09202, 0.09212",\
                 "0.1302, 0.1295, 0.1272, 0.1237, 0.1198, 0.1156, 0.1115, 0.1078, 0.1047, 0.1035",\
                 "0.1608, 0.1598, 0.1568, 0.1522, 0.1468, 0.1411, 0.1353, 0.1296, 0.1244, 0.1221",\
                 "0.1991, 0.1979, 0.1942, 0.1884, 0.1815, 0.1741, 0.1666, 0.1593, 0.1523, 0.1492",\
                 "0.2456, 0.2442, 0.2398, 0.2327, 0.2243, 0.215, 0.2057, 0.1968, 0.1886, 0.1868");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01817, 0.01818, 0.01816, 0.01816, 0.01819, 0.01819, 0.0182, 0.01821, 0.01822, 0.01822",\
                 "0.01809, 0.01812, 0.0181, 0.0181, 0.01815, 0.01815, 0.01819, 0.0182, 0.0182, 0.01821",\
                 "0.01852, 0.0185, 0.01846, 0.01839, 0.01832, 0.01826, 0.01824, 0.01822, 0.01819, 0.01819",\
                 "0.0217, 0.02157, 0.02124, 0.02078, 0.02032, 0.0199, 0.01956, 0.01926, 0.01905, 0.01887",\
                 "0.02947, 0.02919, 0.02836, 0.02715, 0.02584, 0.02459, 0.0235, 0.02262, 0.02186, 0.02124",\
                 "0.04281, 0.04235, 0.04089, 0.03871, 0.03616, 0.03373, 0.03149, 0.02955, 0.02788, 0.02649",\
                 "0.0623, 0.06164, 0.05952, 0.05619, 0.0523, 0.04829, 0.04455, 0.04115, 0.03819, 0.03558",\
                 "0.08843, 0.08757, 0.08476, 0.08027, 0.07488, 0.06915, 0.0636, 0.05845, 0.05376, 0.04964",\
                 "0.1214, 0.1204, 0.117, 0.1114, 0.1044, 0.09683, 0.08931, 0.08217, 0.07553, 0.06953",\
                 "0.1618, 0.1605, 0.1565, 0.1498, 0.1413, 0.1319, 0.1223, 0.1129, 0.1041, 0.09596");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.08299, 0.08307, 0.08327, 0.08354, 0.0838, 0.08403, 0.08425, 0.08453, 0.08482, 0.08569",\
                 "0.08146, 0.08164, 0.08207, 0.08267, 0.08321, 0.0837, 0.08405, 0.08446, 0.08485, 0.08579",\
                 "0.07971, 0.07981, 0.08017, 0.0808, 0.08155, 0.08232, 0.08296, 0.0836, 0.08419, 0.08533",\
                 "0.08194, 0.0819, 0.08174, 0.08169, 0.08184, 0.08208, 0.0826, 0.08308, 0.08372, 0.0849",\
                 "0.09112, 0.09081, 0.08994, 0.08876, 0.08753, 0.08654, 0.08596, 0.08558, 0.08543, 0.08669",\
                 "0.1074, 0.1069, 0.1054, 0.1031, 0.1004, 0.09776, 0.0954, 0.09357, 0.09223, 0.09218",\
                 "0.1309, 0.1302, 0.128, 0.1246, 0.1205, 0.1164, 0.1122, 0.1084, 0.1052, 0.1039",\
                 "0.1619, 0.1609, 0.1579, 0.1534, 0.148, 0.1423, 0.1366, 0.1308, 0.1255, 0.123",\
                 "0.2006, 0.1994, 0.1957, 0.1899, 0.183, 0.1757, 0.1684, 0.1609, 0.154, 0.1508",\
                 "0.2476, 0.2462, 0.2418, 0.2347, 0.2262, 0.2172, 0.2081, 0.1991, 0.1908, 0.1892");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.04686, 0.04685, 0.04685, 0.04678, 0.04678, 0.04678, 0.0468, 0.04681, 0.04679, 0.04681",\
                 "0.04596, 0.04592, 0.04588, 0.04587, 0.04587, 0.04587, 0.04588, 0.04592, 0.04589, 0.04589",\
                 "0.04544, 0.04542, 0.04537, 0.04528, 0.04519, 0.04512, 0.0451, 0.04509, 0.04506, 0.04503",\
                 "0.04757, 0.04744, 0.04721, 0.04685, 0.04646, 0.0461, 0.04576, 0.04557, 0.04538, 0.04523",\
                 "0.05422, 0.05398, 0.05328, 0.05225, 0.05112, 0.05004, 0.04909, 0.04829, 0.0476, 0.04705",\
                 "0.06685, 0.06644, 0.06519, 0.0632, 0.06087, 0.05857, 0.05641, 0.05453, 0.053, 0.0517",\
                 "0.08654, 0.08591, 0.08398, 0.08088, 0.07705, 0.07305, 0.06921, 0.06576, 0.06278, 0.06025",\
                 "0.1141, 0.1133, 0.1106, 0.1061, 0.1006, 0.09462, 0.08871, 0.08322, 0.07836, 0.07406",\
                 "0.15, 0.149, 0.1455, 0.1397, 0.1324, 0.1242, 0.1159, 0.1081, 0.1007, 0.09422",\
                 "0.1947, 0.1934, 0.1892, 0.1821, 0.1729, 0.1624, 0.1515, 0.1409, 0.131, 0.1218");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1136, 0.1137, 0.1139, 0.1142, 0.1145, 0.1148, 0.1151, 0.1154, 0.1157, 0.117",\
                 "0.1125, 0.1127, 0.1131, 0.1138, 0.1144, 0.1149, 0.1154, 0.1158, 0.1163, 0.1177",\
                 "0.1104, 0.1105, 0.111, 0.1119, 0.1128, 0.1137, 0.1145, 0.1153, 0.1159, 0.1174",\
                 "0.1111, 0.1111, 0.1111, 0.1114, 0.112, 0.1127, 0.1134, 0.1143, 0.115, 0.1168",\
                 "0.1185, 0.1182, 0.1176, 0.1168, 0.1161, 0.1158, 0.1157, 0.1159, 0.1162, 0.1178",\
                 "0.1349, 0.1343, 0.1328, 0.1306, 0.1282, 0.126, 0.1242, 0.1228, 0.122, 0.1231",\
                 "0.1606, 0.1598, 0.1573, 0.1535, 0.1492, 0.145, 0.1409, 0.1376, 0.1347, 0.1344",\
                 "0.1954, 0.1944, 0.191, 0.1858, 0.1795, 0.1731, 0.1668, 0.1609, 0.1559, 0.1543",\
                 "0.2393, 0.238, 0.2341, 0.2275, 0.2194, 0.2106, 0.2021, 0.1937, 0.1864, 0.1838",\
                 "0.2926, 0.2911, 0.2866, 0.2788, 0.269, 0.2581, 0.247, 0.2362, 0.227, 0.2248");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.03692, 0.03689, 0.03688, 0.03688, 0.03688, 0.0369, 0.03689, 0.03689, 0.0369, 0.0369",\
                 "0.03598, 0.03598, 0.03597, 0.03599, 0.03596, 0.03597, 0.03598, 0.03598, 0.03597, 0.03598",\
                 "0.03552, 0.03549, 0.03545, 0.03536, 0.03529, 0.03523, 0.03521, 0.03518, 0.03515, 0.03513",\
                 "0.03777, 0.03767, 0.03738, 0.03698, 0.03658, 0.03622, 0.0359, 0.03564, 0.03547, 0.03532",\
                 "0.0449, 0.04464, 0.04387, 0.04272, 0.04145, 0.04033, 0.03932, 0.03845, 0.03774, 0.03718",\
                 "0.0583, 0.05785, 0.05645, 0.05418, 0.05163, 0.0491, 0.04683, 0.04486, 0.04324, 0.04189",\
                 "0.07901, 0.07833, 0.07609, 0.0726, 0.06839, 0.06407, 0.05999, 0.05636, 0.05326, 0.0506",\
                 "0.1077, 0.1067, 0.1036, 0.09873, 0.09266, 0.0862, 0.07997, 0.07417, 0.06903, 0.06458",\
                 "0.1446, 0.1434, 0.1396, 0.1333, 0.1252, 0.1164, 0.1076, 0.09942, 0.09184, 0.08504",\
                 "0.1902, 0.1888, 0.1843, 0.1766, 0.1665, 0.1554, 0.1439, 0.1328, 0.1225, 0.113");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1035, 0.1037, 0.1039, 0.1042, 0.1045, 0.1047, 0.105, 0.1053, 0.1056, 0.1066",\
                 "0.1025, 0.1027, 0.1031, 0.1038, 0.1044, 0.1049, 0.1053, 0.1057, 0.1061, 0.1072",\
                 "0.1003, 0.1005, 0.101, 0.1019, 0.1028, 0.1036, 0.1044, 0.1052, 0.1057, 0.1071",\
                 "0.101, 0.101, 0.1011, 0.1014, 0.1019, 0.1026, 0.1034, 0.1042, 0.105, 0.1065",\
                 "0.1085, 0.1082, 0.1075, 0.1068, 0.1061, 0.1057, 0.1056, 0.1057, 0.1061, 0.1075",\
                 "0.1248, 0.1243, 0.1227, 0.1205, 0.1182, 0.116, 0.1141, 0.1128, 0.1119, 0.1125",\
                 "0.1506, 0.1498, 0.1473, 0.1435, 0.1392, 0.1349, 0.1308, 0.1274, 0.1245, 0.124",\
                 "0.1855, 0.1844, 0.1811, 0.1758, 0.1695, 0.1631, 0.1568, 0.1508, 0.1458, 0.1436",\
                 "0.2296, 0.2283, 0.2242, 0.2176, 0.2093, 0.2006, 0.192, 0.1838, 0.1761, 0.1729",\
                 "0.2831, 0.2816, 0.2768, 0.2689, 0.259, 0.248, 0.2369, 0.2262, 0.2169, 0.2139");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.0369, 0.03689, 0.03689, 0.03686, 0.03688, 0.0369, 0.0369, 0.03689, 0.0369, 0.03692",\
                 "0.03602, 0.03598, 0.03596, 0.03595, 0.03596, 0.03597, 0.036, 0.03599, 0.03599, 0.03599",\
                 "0.03558, 0.03555, 0.03551, 0.03541, 0.03531, 0.03526, 0.03522, 0.03518, 0.03518, 0.03517",\
                 "0.03805, 0.03794, 0.03765, 0.03721, 0.03676, 0.03639, 0.03605, 0.03577, 0.03555, 0.0354",\
                 "0.04565, 0.04536, 0.04456, 0.04337, 0.04205, 0.0408, 0.03972, 0.03885, 0.03811, 0.0375",\
                 "0.05975, 0.0593, 0.0578, 0.05556, 0.05289, 0.05026, 0.04788, 0.04582, 0.04411, 0.04265",\
                 "0.08142, 0.08073, 0.0784, 0.07486, 0.07055, 0.06615, 0.06191, 0.05814, 0.05486, 0.05209",\
                 "0.1112, 0.1103, 0.1072, 0.1022, 0.09599, 0.08946, 0.08303, 0.07712, 0.07178, 0.0671",\
                 "0.1496, 0.1484, 0.1445, 0.1381, 0.13, 0.1211, 0.1122, 0.1038, 0.09597, 0.08894",\
                 "0.1969, 0.1954, 0.1909, 0.1832, 0.1731, 0.1617, 0.1501, 0.1389, 0.1283, 0.1186");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1034, 0.1035, 0.1037, 0.104, 0.1043, 0.1045, 0.1048, 0.1051, 0.1055, 0.1065",\
                 "0.102, 0.1022, 0.1026, 0.1033, 0.1039, 0.1044, 0.1048, 0.1052, 0.1057, 0.1068",\
                 "0.09998, 0.1001, 0.1006, 0.1013, 0.1021, 0.1029, 0.1037, 0.1044, 0.105, 0.1064",\
                 "0.1009, 0.1009, 0.1009, 0.1011, 0.1015, 0.1021, 0.1027, 0.1035, 0.1042, 0.1058",\
                 "0.1089, 0.1087, 0.1079, 0.107, 0.1061, 0.1056, 0.1053, 0.1054, 0.1056, 0.1069",\
                 "0.1263, 0.1258, 0.1242, 0.1218, 0.1192, 0.1168, 0.1147, 0.1132, 0.1121, 0.1125",\
                 "0.1535, 0.1526, 0.1501, 0.1462, 0.1418, 0.1373, 0.1331, 0.1291, 0.1262, 0.1252",\
                 "0.19, 0.1889, 0.1855, 0.1802, 0.1738, 0.1673, 0.1607, 0.1545, 0.1491, 0.1465",\
                 "0.2359, 0.2346, 0.2305, 0.2238, 0.2156, 0.2069, 0.1982, 0.1896, 0.1819, 0.1782",\
                 "0.2916, 0.2903, 0.2854, 0.2774, 0.2675, 0.2565, 0.2454, 0.2347, 0.2251, 0.2218");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.0267, 0.02671, 0.02668, 0.02667, 0.02667, 0.02668, 0.02669, 0.02669, 0.0267, 0.02669",\
                 "0.0258, 0.02578, 0.02578, 0.02576, 0.02574, 0.02576, 0.02577, 0.02577, 0.02576, 0.02579",\
                 "0.02536, 0.02535, 0.02528, 0.02517, 0.02511, 0.02502, 0.02498, 0.02499, 0.02494, 0.02491",\
                 "0.028, 0.02788, 0.0275, 0.02702, 0.0265, 0.0261, 0.02574, 0.02548, 0.02528, 0.02513",\
                 "0.03594, 0.03563, 0.03463, 0.03322, 0.03173, 0.03043, 0.02929, 0.02838, 0.02763, 0.02707",\
                 "0.05047, 0.04986, 0.04807, 0.04542, 0.04245, 0.03958, 0.03711, 0.03501, 0.03329, 0.03185",\
                 "0.07236, 0.07156, 0.06884, 0.06468, 0.05989, 0.05511, 0.05066, 0.0468, 0.04348, 0.04073",\
                 "0.1022, 0.1011, 0.09748, 0.09178, 0.08495, 0.0779, 0.07114, 0.06501, 0.0596, 0.05494",\
                 "0.1403, 0.1389, 0.1345, 0.1273, 0.1184, 0.1088, 0.09944, 0.09068, 0.0827, 0.0757",\
                 "0.1869, 0.1854, 0.1802, 0.1716, 0.1606, 0.1485, 0.1362, 0.1246, 0.1138, 0.104");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.09328, 0.0934, 0.09361, 0.09385, 0.09414, 0.09436, 0.09461, 0.09482, 0.09498, 0.09599",\
                 "0.09221, 0.0924, 0.09282, 0.09351, 0.09401, 0.09449, 0.09491, 0.09522, 0.09571, 0.09652",\
                 "0.09006, 0.09023, 0.09072, 0.09155, 0.09244, 0.0933, 0.09402, 0.09469, 0.09528, 0.09635",\
                 "0.0908, 0.09078, 0.09083, 0.09106, 0.09163, 0.09235, 0.09299, 0.09374, 0.09444, 0.09576",\
                 "0.09818, 0.09793, 0.09737, 0.0965, 0.09582, 0.09538, 0.09524, 0.09532, 0.09556, 0.09696",\
                 "0.1146, 0.1141, 0.1125, 0.1103, 0.1079, 0.1056, 0.1038, 0.1024, 0.1013, 0.1018",\
                 "0.1406, 0.1397, 0.1371, 0.1332, 0.1288, 0.1247, 0.1205, 0.117, 0.114, 0.1131",\
                 "0.1757, 0.1746, 0.171, 0.1656, 0.1592, 0.1527, 0.1466, 0.1406, 0.1352, 0.1327",\
                 "0.22, 0.2188, 0.2144, 0.2076, 0.1991, 0.1903, 0.1817, 0.1734, 0.1659, 0.1619",\
                 "0.2738, 0.2723, 0.2675, 0.2592, 0.2489, 0.2378, 0.2266, 0.2158, 0.2062, 0.2024");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.0267, 0.02672, 0.0267, 0.02669, 0.02664, 0.02666, 0.0267, 0.02669, 0.0267, 0.0267",\
                 "0.0258, 0.02578, 0.02577, 0.02574, 0.02573, 0.02577, 0.02578, 0.02578, 0.02579, 0.02579",\
                 "0.02543, 0.02541, 0.02534, 0.02524, 0.02513, 0.02506, 0.02501, 0.02497, 0.02497, 0.02494",\
                 "0.02832, 0.02818, 0.02776, 0.02726, 0.02672, 0.02628, 0.02589, 0.02559, 0.02537, 0.02521",\
                 "0.03673, 0.03639, 0.03536, 0.0339, 0.03236, 0.03095, 0.02975, 0.02878, 0.02801, 0.02735",\
                 "0.05195, 0.05134, 0.04952, 0.04681, 0.04373, 0.04081, 0.03818, 0.03598, 0.03415, 0.03262",\
                 "0.07481, 0.07394, 0.0712, 0.06698, 0.0621, 0.05721, 0.05262, 0.0486, 0.04514, 0.04223",\
                 "0.1057, 0.1046, 0.1011, 0.09528, 0.08832, 0.08116, 0.07427, 0.06797, 0.06234, 0.05749",\
                 "0.1453, 0.1439, 0.1394, 0.1322, 0.1232, 0.1135, 0.104, 0.09503, 0.08691, 0.07962",\
                 "0.1936, 0.192, 0.1868, 0.1782, 0.1671, 0.1549, 0.1425, 0.1307, 0.1196, 0.1096");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.09313, 0.09323, 0.09343, 0.09371, 0.094, 0.0942, 0.09448, 0.09472, 0.09508, 0.09592",\
                 "0.09175, 0.09192, 0.09235, 0.09297, 0.09352, 0.09403, 0.09434, 0.09472, 0.09512, 0.09612",\
                 "0.08969, 0.08982, 0.09026, 0.09098, 0.09178, 0.09258, 0.09332, 0.0939, 0.09446, 0.09566",\
                 "0.09058, 0.0906, 0.09061, 0.09076, 0.09122, 0.09172, 0.09236, 0.09301, 0.09368, 0.09504",\
                 "0.09866, 0.09832, 0.09769, 0.09674, 0.09587, 0.09528, 0.09497, 0.09486, 0.09504, 0.09616",\
                 "0.1161, 0.1155, 0.1139, 0.1115, 0.109, 0.1065, 0.1044, 0.1028, 0.1015, 0.1016",\
                 "0.1434, 0.1426, 0.1399, 0.136, 0.1315, 0.1271, 0.1227, 0.1187, 0.1155, 0.1142",\
                 "0.1801, 0.179, 0.1755, 0.17, 0.1635, 0.157, 0.1505, 0.1442, 0.1384, 0.1356",\
                 "0.2264, 0.225, 0.2207, 0.2138, 0.2055, 0.1967, 0.188, 0.1793, 0.1715, 0.1672",\
                 "0.2825, 0.2809, 0.2759, 0.2676, 0.2574, 0.2463, 0.2351, 0.2244, 0.2146, 0.2106");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02669, 0.0267, 0.02671, 0.02666, 0.02663, 0.02666, 0.0267, 0.02669, 0.0267, 0.0267",\
                 "0.0258, 0.02578, 0.02577, 0.02574, 0.02573, 0.02577, 0.02578, 0.02579, 0.02579, 0.02579",\
                 "0.02543, 0.02541, 0.02534, 0.02524, 0.02514, 0.02503, 0.025, 0.02497, 0.02497, 0.02495",\
                 "0.02831, 0.02818, 0.02776, 0.02726, 0.02672, 0.02626, 0.02589, 0.02559, 0.02537, 0.02522",\
                 "0.03676, 0.03639, 0.03536, 0.03391, 0.03236, 0.03095, 0.02977, 0.02878, 0.02801, 0.02736",\
                 "0.05194, 0.05134, 0.04952, 0.04681, 0.04373, 0.04081, 0.03819, 0.03596, 0.03411, 0.03262",\
                 "0.07481, 0.07393, 0.07119, 0.06698, 0.06209, 0.05721, 0.05265, 0.04859, 0.04514, 0.04223",\
                 "0.1057, 0.1046, 0.101, 0.09528, 0.08832, 0.08115, 0.07425, 0.06796, 0.06233, 0.05748",\
                 "0.1453, 0.1439, 0.1394, 0.1322, 0.1232, 0.1135, 0.104, 0.09502, 0.0869, 0.07961",\
                 "0.1936, 0.192, 0.1868, 0.1782, 0.167, 0.1549, 0.1425, 0.1307, 0.1196, 0.1096");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.09313, 0.09324, 0.09345, 0.09371, 0.094, 0.0942, 0.09448, 0.09472, 0.09508, 0.09592",\
                 "0.09176, 0.09192, 0.09236, 0.09298, 0.09352, 0.09403, 0.09434, 0.09479, 0.09512, 0.09612",\
                 "0.08972, 0.08983, 0.09025, 0.09101, 0.09178, 0.09261, 0.09332, 0.0939, 0.09459, 0.09563",\
                 "0.09056, 0.09058, 0.0906, 0.09077, 0.09122, 0.09175, 0.09236, 0.09304, 0.09372, 0.095",\
                 "0.09866, 0.09843, 0.09769, 0.09673, 0.09587, 0.09528, 0.095, 0.09489, 0.09504, 0.09636",\
                 "0.1161, 0.1156, 0.1139, 0.1115, 0.109, 0.1065, 0.1044, 0.1028, 0.1016, 0.1016",\
                 "0.1434, 0.1426, 0.1399, 0.136, 0.1315, 0.127, 0.1227, 0.1188, 0.1155, 0.1143",\
                 "0.1802, 0.179, 0.1755, 0.17, 0.1636, 0.157, 0.1505, 0.1443, 0.1385, 0.1354",\
                 "0.2264, 0.225, 0.2207, 0.2138, 0.2055, 0.1965, 0.1879, 0.1793, 0.1715, 0.1671",\
                 "0.2824, 0.2809, 0.2759, 0.2676, 0.2574, 0.2463, 0.2351, 0.2244, 0.2146, 0.2105");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02669, 0.02669, 0.02668, 0.02668, 0.02663, 0.02667, 0.02669, 0.0267, 0.02671, 0.0267",\
                 "0.0258, 0.0258, 0.02578, 0.02574, 0.02572, 0.02573, 0.02576, 0.02578, 0.02578, 0.02579",\
                 "0.02545, 0.02543, 0.02536, 0.02525, 0.02514, 0.02506, 0.02499, 0.02499, 0.02497, 0.02495",\
                 "0.02845, 0.02832, 0.02789, 0.02737, 0.02683, 0.02635, 0.02597, 0.02567, 0.02542, 0.02526",\
                 "0.03703, 0.0367, 0.03563, 0.03415, 0.03258, 0.03115, 0.02999, 0.02896, 0.02816, 0.0275",\
                 "0.05249, 0.05188, 0.05005, 0.04733, 0.04422, 0.04124, 0.03858, 0.03631, 0.03445, 0.03292",\
                 "0.07566, 0.07481, 0.07208, 0.06782, 0.06292, 0.05797, 0.05339, 0.04929, 0.04578, 0.04279",\
                 "0.107, 0.1059, 0.1023, 0.09653, 0.08956, 0.08234, 0.07545, 0.06906, 0.06338, 0.05843",\
                 "0.147, 0.1457, 0.1412, 0.134, 0.1249, 0.1152, 0.1057, 0.09665, 0.08844, 0.08108",\
                 "0.1959, 0.1943, 0.1891, 0.1805, 0.1694, 0.1571, 0.1448, 0.1329, 0.1218, 0.1117");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.09303, 0.09313, 0.09333, 0.09361, 0.09388, 0.0941, 0.09431, 0.09463, 0.09498, 0.09582",\
                 "0.09153, 0.0917, 0.09211, 0.09273, 0.09326, 0.09377, 0.09418, 0.09456, 0.09489, 0.09586",\
                 "0.08956, 0.08969, 0.09007, 0.09076, 0.09152, 0.09231, 0.09299, 0.0936, 0.09426, 0.09543",\
                 "0.09057, 0.09057, 0.09056, 0.09066, 0.09102, 0.09152, 0.09213, 0.09278, 0.09345, 0.09474",\
                 "0.09877, 0.09853, 0.0978, 0.09685, 0.09592, 0.09522, 0.09487, 0.09463, 0.09487, 0.09593",\
                 "0.1167, 0.1161, 0.1144, 0.1121, 0.1094, 0.1069, 0.1047, 0.1029, 0.1016, 0.1016",\
                 "0.1444, 0.1435, 0.1409, 0.1369, 0.1325, 0.1279, 0.1235, 0.1195, 0.116, 0.1148",\
                 "0.1817, 0.1806, 0.177, 0.1715, 0.1651, 0.1584, 0.1519, 0.1456, 0.1398, 0.1367",\
                 "0.2286, 0.2272, 0.2228, 0.216, 0.2077, 0.1988, 0.1901, 0.1815, 0.1736, 0.169",\
                 "0.2854, 0.2838, 0.2788, 0.2705, 0.2603, 0.2492, 0.2382, 0.2273, 0.2176, 0.2135");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02762, 0.02762, 0.02766, 0.02773, 0.02775, 0.02779, 0.02782, 0.02784, 0.02786, 0.02787",\
                 "0.02789, 0.02795, 0.02807, 0.02824, 0.02836, 0.02847, 0.02857, 0.02864, 0.02866, 0.02868",\
                 "0.02802, 0.02808, 0.02825, 0.0285, 0.02879, 0.02897, 0.02915, 0.02926, 0.02937, 0.02943",\
                 "0.02934, 0.02936, 0.02944, 0.02955, 0.02966, 0.02976, 0.0298, 0.02987, 0.02992, 0.02993",\
                 "0.03388, 0.03378, 0.03356, 0.03325, 0.0329, 0.0326, 0.03229, 0.03201, 0.03175, 0.0315",\
                 "0.04279, 0.04259, 0.04196, 0.04102, 0.03993, 0.03885, 0.03786, 0.0369, 0.03607, 0.03535",\
                 "0.05697, 0.05658, 0.05553, 0.05375, 0.05172, 0.04954, 0.04751, 0.04561, 0.04387, 0.04235",\
                 "0.07682, 0.07627, 0.07476, 0.07221, 0.069, 0.06553, 0.06218, 0.059, 0.05606, 0.05343",\
                 "0.1028, 0.1022, 0.1001, 0.09671, 0.09233, 0.08748, 0.08253, 0.07775, 0.0734, 0.06934",\
                 "0.1354, 0.1346, 0.132, 0.1277, 0.1221, 0.1158, 0.1091, 0.1026, 0.09643, 0.09075");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1427, 0.1427, 0.1428, 0.1429, 0.143, 0.1431, 0.1434, 0.1436, 0.144, 0.1453",\
                 "0.1415, 0.1416, 0.1417, 0.1418, 0.142, 0.1423, 0.1425, 0.1428, 0.1432, 0.1446",\
                 "0.1409, 0.141, 0.141, 0.1412, 0.1414, 0.1417, 0.1419, 0.1423, 0.1427, 0.1441",\
                 "0.1445, 0.1444, 0.144, 0.1436, 0.1432, 0.143, 0.1429, 0.1431, 0.1432, 0.1446",\
                 "0.1532, 0.153, 0.1522, 0.1509, 0.1496, 0.1482, 0.1472, 0.1464, 0.146, 0.1472",\
                 "0.1674, 0.167, 0.1657, 0.1637, 0.1613, 0.1586, 0.1563, 0.1542, 0.1527, 0.1532",\
                 "0.1873, 0.1868, 0.1852, 0.1825, 0.1789, 0.175, 0.171, 0.1674, 0.1644, 0.1642",\
                 "0.2134, 0.2127, 0.2107, 0.2073, 0.203, 0.1978, 0.1923, 0.1869, 0.1824, 0.1818",\
                 "0.2462, 0.2454, 0.243, 0.2388, 0.2334, 0.2272, 0.2202, 0.2134, 0.2073, 0.2075",\
                 "0.286, 0.2852, 0.2823, 0.2775, 0.2711, 0.2635, 0.2554, 0.247, 0.2404, 0.2438");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01838, 0.01837, 0.01842, 0.01848, 0.01855, 0.01861, 0.01864, 0.01863, 0.01865, 0.01866",\
                 "0.01863, 0.01866, 0.01883, 0.01899, 0.01916, 0.01928, 0.01938, 0.01942, 0.01945, 0.01947",\
                 "0.01859, 0.01867, 0.01889, 0.01921, 0.0195, 0.01974, 0.01993, 0.02006, 0.02015, 0.02022",\
                 "0.01986, 0.01988, 0.01999, 0.02015, 0.02034, 0.02049, 0.02057, 0.02064, 0.0207, 0.02072",\
                 "0.02457, 0.02449, 0.0243, 0.02399, 0.02365, 0.02339, 0.0231, 0.0228, 0.02257, 0.0223",\
                 "0.03391, 0.03367, 0.033, 0.03203, 0.03088, 0.02978, 0.02875, 0.02778, 0.02692, 0.02618",\
                 "0.0486, 0.04824, 0.047, 0.04516, 0.04298, 0.0407, 0.0386, 0.03663, 0.03484, 0.0333",\
                 "0.06909, 0.06854, 0.06687, 0.06412, 0.06066, 0.05705, 0.0535, 0.05021, 0.04721, 0.0445",\
                 "0.09585, 0.09517, 0.09288, 0.08918, 0.0845, 0.07935, 0.07419, 0.06923, 0.06473, 0.06057",\
                 "0.1291, 0.1283, 0.1254, 0.1207, 0.1148, 0.1081, 0.1011, 0.09441, 0.08801, 0.08217");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1327, 0.1327, 0.1328, 0.1328, 0.1329, 0.1331, 0.1333, 0.1336, 0.134, 0.1351",\
                 "0.1315, 0.1316, 0.1317, 0.1318, 0.132, 0.1322, 0.1325, 0.1328, 0.1332, 0.1344",\
                 "0.131, 0.1309, 0.131, 0.1311, 0.1313, 0.1316, 0.132, 0.1322, 0.1326, 0.1339",\
                 "0.1345, 0.1344, 0.134, 0.1336, 0.1332, 0.133, 0.1329, 0.1329, 0.1332, 0.1344",\
                 "0.1432, 0.143, 0.1421, 0.1409, 0.1395, 0.1382, 0.1372, 0.1364, 0.1359, 0.1369",\
                 "0.1574, 0.1569, 0.1558, 0.1538, 0.1513, 0.1486, 0.1463, 0.1442, 0.1426, 0.1429",\
                 "0.1772, 0.1767, 0.1752, 0.1724, 0.1689, 0.165, 0.161, 0.1573, 0.1543, 0.1539",\
                 "0.2033, 0.2026, 0.2007, 0.1972, 0.1929, 0.1877, 0.1823, 0.1768, 0.1723, 0.1711",\
                 "0.2361, 0.2354, 0.233, 0.2288, 0.2233, 0.2171, 0.2104, 0.2033, 0.197, 0.1966",\
                 "0.276, 0.2752, 0.2723, 0.2675, 0.261, 0.2535, 0.2453, 0.2369, 0.23, 0.2325");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01836, 0.01841, 0.01843, 0.01847, 0.01855, 0.01858, 0.01862, 0.01863, 0.01865, 0.01866",\
                 "0.01861, 0.01867, 0.01881, 0.01904, 0.01918, 0.01928, 0.01936, 0.01942, 0.01946, 0.01948",\
                 "0.01869, 0.01878, 0.019, 0.01929, 0.01955, 0.01977, 0.01994, 0.02007, 0.02016, 0.02023",\
                 "0.02024, 0.02026, 0.02033, 0.02048, 0.02059, 0.02073, 0.02078, 0.02079, 0.02081, 0.02082",\
                 "0.02521, 0.02517, 0.02489, 0.02458, 0.0242, 0.02382, 0.02348, 0.02314, 0.02286, 0.02259",\
                 "0.03481, 0.03457, 0.0339, 0.03289, 0.03168, 0.03051, 0.0294, 0.02835, 0.02744, 0.02666",\
                 "0.04972, 0.04935, 0.04815, 0.0463, 0.04405, 0.04172, 0.03952, 0.03749, 0.03564, 0.03397",\
                 "0.07041, 0.0699, 0.06822, 0.06544, 0.062, 0.05834, 0.05469, 0.05132, 0.04823, 0.04542",\
                 "0.0974, 0.09668, 0.09442, 0.09072, 0.08601, 0.08086, 0.07565, 0.0706, 0.06597, 0.06179",\
                 "0.1308, 0.13, 0.1272, 0.1225, 0.1165, 0.1098, 0.1028, 0.09607, 0.08958, 0.08364");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1416, 0.1417, 0.1417, 0.1418, 0.1419, 0.1421, 0.1423, 0.1426, 0.1429, 0.1442",\
                 "0.1406, 0.1406, 0.1408, 0.1409, 0.1411, 0.1414, 0.1418, 0.142, 0.1424, 0.1436",\
                 "0.14, 0.14, 0.1401, 0.1403, 0.1405, 0.1408, 0.1412, 0.1416, 0.142, 0.1433",\
                 "0.1435, 0.1434, 0.1431, 0.1427, 0.1424, 0.1422, 0.1423, 0.1423, 0.1426, 0.1439",\
                 "0.1522, 0.1519, 0.1512, 0.1502, 0.1489, 0.1476, 0.1467, 0.146, 0.1455, 0.1465",\
                 "0.1662, 0.1658, 0.1648, 0.1631, 0.1608, 0.1583, 0.1561, 0.1541, 0.1525, 0.1529",\
                 "0.186, 0.1856, 0.1841, 0.1817, 0.1786, 0.175, 0.1713, 0.1677, 0.1649, 0.1644",\
                 "0.2119, 0.2114, 0.2096, 0.2065, 0.2025, 0.198, 0.1929, 0.1878, 0.1835, 0.1825",\
                 "0.2446, 0.2439, 0.2418, 0.2381, 0.2331, 0.2274, 0.2211, 0.2146, 0.2088, 0.2086",\
                 "0.2844, 0.2836, 0.281, 0.2767, 0.2708, 0.2639, 0.2563, 0.2486, 0.2423, 0.2456");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.004371, 0.004406, 0.004502, 0.004566, 0.004629, 0.004664, 0.004691, 0.004708, 0.004713, 0.004722",\
                 "0.004396, 0.004495, 0.004752, 0.005007, 0.005209, 0.005335, 0.005416, 0.005474, 0.005526, 0.005534",\
                 "0.003989, 0.004136, 0.004527, 0.004997, 0.005436, 0.00574, 0.005941, 0.006088, 0.006206, 0.006275",\
                 "0.005523, 0.005578, 0.005764, 0.006027, 0.006273, 0.006481, 0.006587, 0.006691, 0.006742, 0.006771",\
                 "0.01084, 0.01075, 0.01051, 0.01016, 0.009816, 0.009486, 0.009209, 0.008903, 0.008651, 0.008414",\
                 "0.02105, 0.02077, 0.01993, 0.01871, 0.01742, 0.01619, 0.01506, 0.01404, 0.01314, 0.01238",\
                 "0.03668, 0.03621, 0.03478, 0.03258, 0.03003, 0.02752, 0.0252, 0.02313, 0.02125, 0.01959",\
                 "0.05824, 0.05756, 0.05548, 0.05226, 0.04839, 0.04435, 0.0405, 0.03699, 0.03382, 0.031",\
                 "0.08601, 0.08518, 0.08243, 0.07813, 0.07285, 0.06719, 0.06161, 0.05639, 0.05161, 0.0473",\
                 "0.1203, 0.1192, 0.1159, 0.1105, 0.1038, 0.09648, 0.08906, 0.08192, 0.07523, 0.06915");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1221, 0.1221, 0.1222, 0.1223, 0.1224, 0.1226, 0.1227, 0.123, 0.1233, 0.1243",\
                 "0.1209, 0.121, 0.1211, 0.1212, 0.1214, 0.1217, 0.122, 0.1222, 0.1225, 0.1236",\
                 "0.1204, 0.1204, 0.1204, 0.1206, 0.1208, 0.121, 0.1213, 0.1217, 0.1221, 0.1231",\
                 "0.1239, 0.1238, 0.1235, 0.123, 0.1226, 0.1224, 0.1223, 0.1223, 0.1226, 0.1236",\
                 "0.1327, 0.1325, 0.1316, 0.1303, 0.129, 0.1276, 0.1267, 0.1258, 0.1253, 0.126",\
                 "0.1468, 0.1464, 0.1452, 0.1432, 0.1407, 0.1381, 0.1356, 0.1335, 0.132, 0.1319",\
                 "0.1667, 0.1661, 0.1646, 0.1619, 0.1584, 0.1544, 0.1504, 0.1468, 0.1437, 0.1427",\
                 "0.1928, 0.1922, 0.1901, 0.1866, 0.1824, 0.1773, 0.1718, 0.1664, 0.1616, 0.1599",\
                 "0.2257, 0.2249, 0.2226, 0.2183, 0.2128, 0.2065, 0.1997, 0.1927, 0.1862, 0.1849",\
                 "0.2656, 0.2648, 0.262, 0.257, 0.2505, 0.2431, 0.2348, 0.2263, 0.219, 0.2203");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.004363, 0.004404, 0.004492, 0.004579, 0.004621, 0.004657, 0.004685, 0.004699, 0.004705, 0.004715",\
                 "0.004424, 0.004514, 0.004768, 0.005024, 0.005218, 0.00534, 0.005414, 0.00548, 0.00552, 0.005531",\
                 "0.004109, 0.004253, 0.004647, 0.005099, 0.005488, 0.005771, 0.005969, 0.006113, 0.006206, 0.006287",\
                 "0.00594, 0.005974, 0.006127, 0.00636, 0.006544, 0.006698, 0.006799, 0.006837, 0.006866, 0.006874",\
                 "0.01152, 0.01142, 0.01115, 0.01078, 0.01039, 0.009997, 0.009618, 0.009259, 0.008953, 0.008693",\
                 "0.02196, 0.02167, 0.02083, 0.0196, 0.01825, 0.01693, 0.01574, 0.01465, 0.01367, 0.01285",\
                 "0.03781, 0.03734, 0.03592, 0.03372, 0.03111, 0.02857, 0.02616, 0.02398, 0.02202, 0.0203",\
                 "0.05955, 0.05891, 0.05682, 0.05361, 0.0497, 0.04564, 0.0417, 0.03809, 0.03484, 0.03191",\
                 "0.08753, 0.0867, 0.08402, 0.07965, 0.07438, 0.06871, 0.06307, 0.05779, 0.05287, 0.04845",\
                 "0.122, 0.121, 0.1177, 0.1123, 0.1055, 0.09818, 0.09077, 0.08359, 0.0768, 0.07063");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1311, 0.1311, 0.1312, 0.1312, 0.1313, 0.1315, 0.1317, 0.1319, 0.1322, 0.1333",\
                 "0.13, 0.13, 0.1302, 0.1304, 0.1306, 0.1309, 0.1312, 0.1314, 0.1318, 0.1328",\
                 "0.1294, 0.1294, 0.1295, 0.1297, 0.1299, 0.1303, 0.1306, 0.1309, 0.1313, 0.1325",\
                 "0.1329, 0.1329, 0.1326, 0.1322, 0.1318, 0.1317, 0.1316, 0.1317, 0.1319, 0.133",\
                 "0.1416, 0.1414, 0.1407, 0.1396, 0.1383, 0.1371, 0.136, 0.1353, 0.1349, 0.1355",\
                 "0.1556, 0.1553, 0.1542, 0.1525, 0.1503, 0.1478, 0.1454, 0.1435, 0.1419, 0.1418",\
                 "0.1754, 0.175, 0.1735, 0.1712, 0.168, 0.1644, 0.1608, 0.1572, 0.1542, 0.1533",\
                 "0.2015, 0.2008, 0.1991, 0.1961, 0.192, 0.1874, 0.1823, 0.1773, 0.1726, 0.1711",\
                 "0.2342, 0.2335, 0.2313, 0.2275, 0.2226, 0.2168, 0.2105, 0.204, 0.198, 0.197",\
                 "0.274, 0.2733, 0.2706, 0.2662, 0.2602, 0.2533, 0.2457, 0.2379, 0.2313, 0.2333");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.004363, 0.004404, 0.004492, 0.004579, 0.004621, 0.004656, 0.004678, 0.004691, 0.004705, 0.004714",\
                 "0.004423, 0.004505, 0.004768, 0.005024, 0.005218, 0.00534, 0.005414, 0.00548, 0.005522, 0.005531",\
                 "0.004135, 0.004253, 0.004647, 0.005099, 0.005488, 0.00577, 0.005969, 0.006113, 0.006206, 0.006287",\
                 "0.00594, 0.005974, 0.006126, 0.00636, 0.006544, 0.006698, 0.006799, 0.006839, 0.006867, 0.006874",\
                 "0.01152, 0.01142, 0.01115, 0.01078, 0.01039, 0.009997, 0.009618, 0.009259, 0.008958, 0.008693",\
                 "0.02194, 0.02167, 0.02083, 0.0196, 0.01824, 0.01693, 0.01574, 0.01464, 0.01367, 0.01285",\
                 "0.03781, 0.03734, 0.03592, 0.03372, 0.03111, 0.02857, 0.02616, 0.02398, 0.02204, 0.0203",\
                 "0.05955, 0.05891, 0.05682, 0.05361, 0.0497, 0.04564, 0.0417, 0.03809, 0.03483, 0.03191",\
                 "0.08753, 0.0867, 0.08402, 0.07965, 0.07438, 0.06871, 0.06307, 0.05779, 0.05286, 0.04845",\
                 "0.122, 0.121, 0.1177, 0.1122, 0.1055, 0.09818, 0.09077, 0.08359, 0.07679, 0.07063");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1311, 0.1311, 0.1311, 0.1312, 0.1313, 0.1315, 0.1317, 0.1319, 0.1323, 0.1333",\
                 "0.13, 0.13, 0.1302, 0.1304, 0.1306, 0.1309, 0.1311, 0.1314, 0.1318, 0.1328",\
                 "0.1294, 0.1294, 0.1295, 0.1297, 0.1299, 0.1303, 0.1305, 0.1309, 0.1315, 0.1324",\
                 "0.133, 0.1329, 0.1326, 0.1322, 0.1319, 0.1317, 0.1316, 0.1316, 0.1318, 0.133",\
                 "0.1416, 0.1414, 0.1406, 0.1396, 0.1383, 0.137, 0.1361, 0.1353, 0.1349, 0.1356",\
                 "0.1556, 0.1553, 0.1542, 0.1525, 0.1502, 0.1478, 0.1455, 0.1435, 0.1419, 0.1419",\
                 "0.1754, 0.1749, 0.1735, 0.1712, 0.168, 0.1643, 0.1607, 0.157, 0.1541, 0.1533",\
                 "0.2015, 0.2008, 0.1991, 0.196, 0.1921, 0.1874, 0.1823, 0.1772, 0.1726, 0.1711",\
                 "0.2342, 0.2335, 0.2312, 0.2275, 0.2225, 0.2168, 0.2106, 0.204, 0.1981, 0.197",\
                 "0.274, 0.2732, 0.2706, 0.2662, 0.2603, 0.2533, 0.2458, 0.2379, 0.2313, 0.2332");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.004366, 0.004411, 0.004497, 0.004568, 0.004616, 0.004654, 0.004672, 0.004694, 0.0047, 0.00471",\
                 "0.004434, 0.004527, 0.004778, 0.005022, 0.005224, 0.005343, 0.00542, 0.005479, 0.005521, 0.005528",\
                 "0.004179, 0.004306, 0.00468, 0.005132, 0.005517, 0.005784, 0.005984, 0.006116, 0.006223, 0.006292",\
                 "0.006096, 0.006128, 0.006269, 0.006497, 0.006666, 0.006788, 0.006869, 0.006907, 0.006912, 0.006928",\
                 "0.01175, 0.01165, 0.01138, 0.01098, 0.01059, 0.01016, 0.009786, 0.009424, 0.009091, 0.008782",\
                 "0.02224, 0.02194, 0.0211, 0.01987, 0.01854, 0.01722, 0.01598, 0.01486, 0.01387, 0.01301",\
                 "0.03814, 0.03767, 0.03626, 0.03406, 0.03149, 0.02888, 0.02647, 0.02427, 0.02231, 0.02055",\
                 "0.05991, 0.05926, 0.0572, 0.05401, 0.05011, 0.04604, 0.0421, 0.03847, 0.0352, 0.03226",\
                 "0.08794, 0.08708, 0.0844, 0.08011, 0.07485, 0.06919, 0.06354, 0.0582, 0.05332, 0.0489",\
                 "0.1224, 0.1214, 0.1181, 0.1127, 0.1061, 0.09874, 0.09134, 0.08415, 0.07733, 0.07113");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1398, 0.1398, 0.1399, 0.14, 0.1401, 0.1403, 0.1405, 0.1407, 0.141, 0.1421",\
                 "0.1388, 0.1389, 0.139, 0.1392, 0.1394, 0.1397, 0.14, 0.1403, 0.1406, 0.1417",\
                 "0.1382, 0.1382, 0.1383, 0.1385, 0.1388, 0.139, 0.1394, 0.1398, 0.1404, 0.1414",\
                 "0.1416, 0.1415, 0.1413, 0.1409, 0.1406, 0.1404, 0.1405, 0.1405, 0.1408, 0.1419",\
                 "0.1501, 0.1499, 0.1493, 0.1483, 0.1471, 0.1459, 0.1449, 0.1442, 0.1438, 0.1445",\
                 "0.164, 0.1637, 0.1627, 0.1611, 0.159, 0.1566, 0.1544, 0.1525, 0.1509, 0.1509",\
                 "0.1836, 0.1832, 0.1819, 0.1797, 0.1767, 0.1732, 0.1697, 0.1663, 0.1633, 0.1625",\
                 "0.2095, 0.2089, 0.2073, 0.2043, 0.2006, 0.1962, 0.1913, 0.1863, 0.1819, 0.1807",\
                 "0.242, 0.2414, 0.2394, 0.2358, 0.231, 0.2257, 0.2197, 0.2133, 0.2075, 0.2068",\
                 "0.2817, 0.2809, 0.2785, 0.2743, 0.2687, 0.2619, 0.2548, 0.2472, 0.2409, 0.2432");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.03744, 0.03745, 0.03744, 0.03746, 0.03747, 0.03749, 0.0375, 0.0375, 0.03751, 0.03751",\
                 "0.03725, 0.03727, 0.03727, 0.03734, 0.03737, 0.03741, 0.03743, 0.03744, 0.03747, 0.03747",\
                 "0.03688, 0.0369, 0.03693, 0.03703, 0.03714, 0.03723, 0.0373, 0.03734, 0.03737, 0.03739",\
                 "0.03774, 0.03771, 0.03768, 0.03767, 0.03767, 0.03764, 0.0376, 0.0376, 0.03757, 0.03755",\
                 "0.04231, 0.04218, 0.04192, 0.04144, 0.04096, 0.04047, 0.04, 0.03966, 0.03927, 0.03899",\
                 "0.05196, 0.05174, 0.05102, 0.04989, 0.04864, 0.04725, 0.04596, 0.04483, 0.04383, 0.04296",\
                 "0.06758, 0.06724, 0.06604, 0.0641, 0.06173, 0.05919, 0.05675, 0.05442, 0.05234, 0.05054",\
                 "0.08988, 0.08931, 0.0876, 0.08473, 0.08113, 0.07718, 0.07322, 0.06942, 0.06592, 0.06277",\
                 "0.1192, 0.1185, 0.1162, 0.1123, 0.1074, 0.1019, 0.09619, 0.09063, 0.08539, 0.08057",\
                 "0.1559, 0.1551, 0.1522, 0.1474, 0.141, 0.1338, 0.1262, 0.1187, 0.1115, 0.1048");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.153, 0.153, 0.153, 0.1531, 0.1532, 0.1534, 0.1536, 0.1538, 0.1542, 0.1556",\
                 "0.1519, 0.1519, 0.152, 0.1522, 0.1524, 0.1526, 0.1528, 0.1531, 0.1535, 0.1548",\
                 "0.1505, 0.1505, 0.1507, 0.151, 0.1513, 0.1516, 0.1521, 0.1524, 0.1529, 0.1544",\
                 "0.1519, 0.1518, 0.1518, 0.1517, 0.1517, 0.1519, 0.1521, 0.1525, 0.1528, 0.1544",\
                 "0.1596, 0.1594, 0.1587, 0.1577, 0.1568, 0.156, 0.1553, 0.1549, 0.1549, 0.1563",\
                 "0.1746, 0.1742, 0.173, 0.171, 0.1686, 0.1663, 0.1642, 0.1623, 0.1611, 0.1619",\
                 "0.1966, 0.1961, 0.1944, 0.1915, 0.1878, 0.1838, 0.1797, 0.1761, 0.1733, 0.1732",\
                 "0.2261, 0.2255, 0.2231, 0.2193, 0.2145, 0.2088, 0.2031, 0.1974, 0.1926, 0.1915",\
                 "0.2633, 0.2625, 0.2597, 0.255, 0.2488, 0.2418, 0.2342, 0.2266, 0.2201, 0.2189",\
                 "0.3086, 0.3076, 0.3044, 0.2989, 0.2915, 0.2827, 0.2735, 0.2641, 0.2565, 0.2574");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02824, 0.02822, 0.02821, 0.02826, 0.02829, 0.0283, 0.02833, 0.02832, 0.02831, 0.02833",\
                 "0.02804, 0.02804, 0.02804, 0.02809, 0.02817, 0.02822, 0.02823, 0.02827, 0.02827, 0.02828",\
                 "0.0276, 0.02761, 0.02769, 0.02779, 0.0279, 0.02799, 0.0281, 0.02814, 0.02817, 0.0282",\
                 "0.02843, 0.0284, 0.02839, 0.0284, 0.02841, 0.02841, 0.02839, 0.02838, 0.02836, 0.02834",\
                 "0.03316, 0.03304, 0.03278, 0.03228, 0.03178, 0.03128, 0.03081, 0.03046, 0.03009, 0.02979",\
                 "0.04329, 0.04299, 0.04224, 0.04102, 0.03969, 0.03824, 0.03692, 0.03576, 0.03472, 0.03382",\
                 "0.05949, 0.0591, 0.05778, 0.0557, 0.0532, 0.0505, 0.0479, 0.04549, 0.04337, 0.04151",\
                 "0.08247, 0.08189, 0.08, 0.07689, 0.07302, 0.06883, 0.06469, 0.06074, 0.05713, 0.05386",\
                 "0.1126, 0.1119, 0.1093, 0.1051, 0.09983, 0.09396, 0.08803, 0.08224, 0.07688, 0.07188",\
                 "0.1502, 0.1492, 0.1461, 0.1408, 0.134, 0.1264, 0.1184, 0.1107, 0.1032, 0.09631");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.143, 0.143, 0.143, 0.1431, 0.1432, 0.1434, 0.1436, 0.1439, 0.1442, 0.1454",\
                 "0.1419, 0.1419, 0.142, 0.1421, 0.1423, 0.1425, 0.1428, 0.1431, 0.1434, 0.1446",\
                 "0.1405, 0.1405, 0.1407, 0.1409, 0.1413, 0.1417, 0.142, 0.1424, 0.1428, 0.1442",\
                 "0.1419, 0.1418, 0.1417, 0.1416, 0.1417, 0.1418, 0.1421, 0.1423, 0.1428, 0.1442",\
                 "0.1496, 0.1493, 0.1487, 0.1478, 0.1467, 0.1459, 0.1453, 0.1449, 0.1449, 0.146",\
                 "0.1646, 0.1641, 0.1629, 0.161, 0.1585, 0.1561, 0.154, 0.1523, 0.1511, 0.1517",\
                 "0.1866, 0.186, 0.1843, 0.1815, 0.1777, 0.1738, 0.1698, 0.1661, 0.1632, 0.1627",\
                 "0.2161, 0.2153, 0.2131, 0.2092, 0.2044, 0.1989, 0.193, 0.1873, 0.1826, 0.181",\
                 "0.2533, 0.2525, 0.2498, 0.2449, 0.2387, 0.2316, 0.2241, 0.2166, 0.2099, 0.2081",\
                 "0.2986, 0.2976, 0.2944, 0.2889, 0.2814, 0.2727, 0.2634, 0.2541, 0.2459, 0.2461");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02819, 0.02818, 0.0282, 0.0282, 0.02824, 0.02827, 0.02829, 0.02829, 0.0283, 0.02831",\
                 "0.02798, 0.02809, 0.0281, 0.02809, 0.02814, 0.02821, 0.02823, 0.02827, 0.02826, 0.02828",\
                 "0.02766, 0.02769, 0.02777, 0.02778, 0.02791, 0.02804, 0.02809, 0.02814, 0.02818, 0.02822",\
                 "0.02869, 0.02868, 0.02868, 0.02863, 0.02864, 0.0286, 0.02854, 0.02851, 0.02845, 0.02844",\
                 "0.03378, 0.03367, 0.03334, 0.03283, 0.0323, 0.03171, 0.03123, 0.03077, 0.03042, 0.03003",\
                 "0.04419, 0.04396, 0.04322, 0.04195, 0.04053, 0.03901, 0.03761, 0.03635, 0.03527, 0.03431",\
                 "0.06075, 0.06041, 0.05906, 0.05693, 0.05434, 0.0516, 0.04889, 0.04642, 0.0442, 0.04222",\
                 "0.08407, 0.08348, 0.08159, 0.07842, 0.07449, 0.07026, 0.06598, 0.06197, 0.05824, 0.05491",\
                 "0.1145, 0.1137, 0.1112, 0.107, 0.1016, 0.09566, 0.08964, 0.08377, 0.07829, 0.07324",\
                 "0.1523, 0.1513, 0.1482, 0.1429, 0.1361, 0.1284, 0.1204, 0.1126, 0.105, 0.098");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1519, 0.1519, 0.152, 0.152, 0.1521, 0.1523, 0.1525, 0.1528, 0.1532, 0.1544",\
                 "0.151, 0.151, 0.1511, 0.1513, 0.1515, 0.1517, 0.152, 0.1522, 0.1527, 0.154",\
                 "0.1495, 0.1495, 0.1497, 0.15, 0.1504, 0.1508, 0.1512, 0.1516, 0.1521, 0.1536",\
                 "0.1508, 0.1508, 0.1507, 0.1507, 0.1508, 0.1509, 0.1513, 0.1515, 0.152, 0.1535",\
                 "0.1585, 0.1583, 0.1578, 0.1569, 0.156, 0.1552, 0.1547, 0.1543, 0.1542, 0.1554",\
                 "0.1733, 0.1731, 0.172, 0.1702, 0.168, 0.1658, 0.1638, 0.1621, 0.1609, 0.1614",\
                 "0.1954, 0.1949, 0.1933, 0.1908, 0.1874, 0.1838, 0.1799, 0.1765, 0.1735, 0.1731",\
                 "0.2247, 0.2241, 0.2221, 0.2186, 0.2141, 0.2091, 0.2036, 0.1982, 0.1936, 0.1922",\
                 "0.2618, 0.261, 0.2586, 0.2543, 0.2487, 0.2422, 0.2352, 0.2281, 0.222, 0.2204",\
                 "0.307, 0.3061, 0.303, 0.2982, 0.2913, 0.2833, 0.2748, 0.2661, 0.2587, 0.2595");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01428, 0.01427, 0.01429, 0.01433, 0.01435, 0.01435, 0.01436, 0.01436, 0.01437, 0.01437",\
                 "0.01407, 0.01408, 0.01411, 0.01418, 0.01421, 0.01426, 0.0143, 0.0143, 0.01433, 0.01434",\
                 "0.01343, 0.01347, 0.01361, 0.01377, 0.01391, 0.01404, 0.01413, 0.01418, 0.01423, 0.01425",\
                 "0.01435, 0.01436, 0.01437, 0.0144, 0.01443, 0.01445, 0.01444, 0.01443, 0.01442, 0.01441",\
                 "0.01965, 0.01951, 0.01916, 0.01864, 0.01803, 0.01749, 0.017, 0.01658, 0.01623, 0.01591",\
                 "0.0306, 0.03028, 0.02936, 0.02796, 0.02635, 0.02478, 0.02331, 0.02207, 0.02096, 0.02003",\
                 "0.04792, 0.04744, 0.04585, 0.04333, 0.04043, 0.03748, 0.03465, 0.03208, 0.02982, 0.02785",\
                 "0.0721, 0.07137, 0.06906, 0.06542, 0.06099, 0.05635, 0.05185, 0.04764, 0.04383, 0.04044",\
                 "0.1034, 0.1025, 0.09943, 0.09456, 0.08858, 0.08213, 0.07571, 0.06953, 0.06388, 0.05871",\
                 "0.1421, 0.1409, 0.1372, 0.1312, 0.1236, 0.1152, 0.1067, 0.09843, 0.09066, 0.08344");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1324, 0.1324, 0.1324, 0.1325, 0.1326, 0.1328, 0.133, 0.1332, 0.1335, 0.1344",\
                 "0.1313, 0.1313, 0.1314, 0.1316, 0.1317, 0.1319, 0.1321, 0.1324, 0.1327, 0.1338",\
                 "0.1299, 0.1299, 0.1301, 0.1304, 0.1307, 0.131, 0.1313, 0.1317, 0.1322, 0.1333",\
                 "0.1313, 0.1312, 0.1311, 0.1311, 0.1311, 0.1312, 0.1314, 0.1318, 0.1321, 0.1333",\
                 "0.139, 0.1388, 0.1382, 0.1372, 0.1362, 0.1354, 0.1348, 0.1343, 0.1342, 0.1351",\
                 "0.154, 0.1535, 0.1523, 0.1504, 0.148, 0.1456, 0.1435, 0.1417, 0.1404, 0.1407",\
                 "0.1761, 0.1756, 0.1737, 0.1709, 0.1671, 0.1631, 0.1591, 0.1555, 0.1526, 0.1517",\
                 "0.2056, 0.205, 0.2026, 0.1987, 0.1938, 0.1883, 0.1824, 0.1768, 0.1718, 0.1697",\
                 "0.2428, 0.2421, 0.2392, 0.2344, 0.2282, 0.221, 0.2137, 0.206, 0.1991, 0.1965",\
                 "0.2882, 0.2872, 0.284, 0.2783, 0.271, 0.2622, 0.2529, 0.2436, 0.235, 0.234");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01428, 0.01428, 0.01428, 0.01428, 0.01432, 0.01433, 0.01433, 0.01436, 0.01437, 0.01436",\
                 "0.0141, 0.01406, 0.01409, 0.01418, 0.01422, 0.01425, 0.01429, 0.01431, 0.01433, 0.01434",\
                 "0.01348, 0.01354, 0.01367, 0.01382, 0.01393, 0.01404, 0.01413, 0.0142, 0.01423, 0.01426",\
                 "0.01468, 0.01468, 0.01467, 0.01467, 0.01466, 0.01465, 0.0146, 0.01455, 0.01451, 0.0145",\
                 "0.02033, 0.02021, 0.01981, 0.01921, 0.01858, 0.01794, 0.01739, 0.01692, 0.01652, 0.01616",\
                 "0.03164, 0.03131, 0.03038, 0.0289, 0.02724, 0.02558, 0.02402, 0.02268, 0.02151, 0.02052",\
                 "0.04928, 0.04877, 0.04717, 0.04462, 0.04164, 0.03862, 0.0357, 0.03299, 0.03064, 0.02861",\
                 "0.0737, 0.073, 0.07066, 0.06699, 0.06252, 0.05779, 0.05317, 0.04891, 0.04498, 0.04149",\
                 "0.1053, 0.1043, 0.1013, 0.0964, 0.09036, 0.08383, 0.07733, 0.07112, 0.06535, 0.06008",\
                 "0.1442, 0.1431, 0.1394, 0.1333, 0.1257, 0.1172, 0.1086, 0.1003, 0.09242, 0.08514");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1414, 0.1413, 0.1414, 0.1415, 0.1416, 0.1417, 0.1419, 0.1422, 0.1425, 0.1435",\
                 "0.1404, 0.1404, 0.1405, 0.1407, 0.1409, 0.1411, 0.1414, 0.1417, 0.142, 0.143",\
                 "0.1389, 0.1389, 0.1391, 0.1394, 0.1398, 0.1402, 0.1406, 0.141, 0.1415, 0.1427",\
                 "0.1403, 0.1402, 0.1402, 0.1402, 0.1402, 0.1404, 0.1406, 0.1409, 0.1414, 0.1426",\
                 "0.1479, 0.1478, 0.1472, 0.1464, 0.1454, 0.1446, 0.1441, 0.1437, 0.1435, 0.1445",\
                 "0.1628, 0.1625, 0.1614, 0.1597, 0.1575, 0.1552, 0.1532, 0.1515, 0.1501, 0.1503",\
                 "0.1848, 0.1844, 0.1827, 0.1802, 0.1769, 0.1731, 0.1694, 0.1658, 0.1629, 0.1621",\
                 "0.2142, 0.2136, 0.2115, 0.2081, 0.2036, 0.1985, 0.1931, 0.1877, 0.183, 0.1811",\
                 "0.2512, 0.2506, 0.2481, 0.2438, 0.2381, 0.2315, 0.2248, 0.2175, 0.211, 0.2088",\
                 "0.2965, 0.2956, 0.2927, 0.2876, 0.2807, 0.2728, 0.2642, 0.2556, 0.2477, 0.2473");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01428, 0.01428, 0.01428, 0.01428, 0.01432, 0.01433, 0.01434, 0.01436, 0.01437, 0.01436",\
                 "0.0141, 0.01406, 0.0141, 0.01419, 0.01422, 0.01426, 0.01429, 0.01431, 0.01433, 0.01434",\
                 "0.01348, 0.01354, 0.01367, 0.01382, 0.01393, 0.01404, 0.01413, 0.0142, 0.01423, 0.01426",\
                 "0.01468, 0.01468, 0.01467, 0.01467, 0.01466, 0.01465, 0.0146, 0.01455, 0.01451, 0.0145",\
                 "0.02033, 0.02021, 0.01981, 0.01921, 0.01858, 0.01794, 0.01739, 0.01692, 0.01652, 0.01617",\
                 "0.03164, 0.03131, 0.03038, 0.0289, 0.02724, 0.02558, 0.02402, 0.02268, 0.02151, 0.02052",\
                 "0.04928, 0.04877, 0.04717, 0.04462, 0.04164, 0.03862, 0.0357, 0.03299, 0.03064, 0.02862",\
                 "0.0737, 0.07299, 0.07066, 0.06699, 0.06252, 0.05779, 0.05317, 0.04891, 0.04498, 0.04149",\
                 "0.1053, 0.1043, 0.1013, 0.09639, 0.09036, 0.08383, 0.07733, 0.07112, 0.06535, 0.06008",\
                 "0.1442, 0.1431, 0.1394, 0.1333, 0.1257, 0.1172, 0.1086, 0.1003, 0.09242, 0.08514");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1414, 0.1413, 0.1414, 0.1415, 0.1416, 0.1417, 0.1419, 0.1422, 0.1425, 0.1435",\
                 "0.1404, 0.1404, 0.1405, 0.1407, 0.1409, 0.1411, 0.1414, 0.1417, 0.142, 0.143",\
                 "0.1389, 0.1389, 0.1391, 0.1394, 0.1398, 0.1402, 0.1406, 0.141, 0.1415, 0.1427",\
                 "0.1403, 0.1402, 0.1402, 0.1402, 0.1402, 0.1404, 0.1406, 0.1409, 0.1414, 0.1426",\
                 "0.1479, 0.1477, 0.1472, 0.1464, 0.1454, 0.1446, 0.144, 0.1437, 0.1435, 0.1445",\
                 "0.1628, 0.1625, 0.1614, 0.1596, 0.1575, 0.1552, 0.1532, 0.1515, 0.1502, 0.1504",\
                 "0.1848, 0.1844, 0.1827, 0.1802, 0.1769, 0.1731, 0.1694, 0.1658, 0.1629, 0.1619",\
                 "0.2142, 0.2136, 0.2115, 0.208, 0.2036, 0.1986, 0.1932, 0.1877, 0.1829, 0.1811",\
                 "0.2513, 0.2505, 0.248, 0.2438, 0.238, 0.2315, 0.2248, 0.2175, 0.2111, 0.2089",\
                 "0.2965, 0.2956, 0.2926, 0.2876, 0.2808, 0.2728, 0.2643, 0.2556, 0.2476, 0.2473");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.01431, 0.01429, 0.0143, 0.0143, 0.01432, 0.01435, 0.01434, 0.01435, 0.01436, 0.01436",\
                 "0.01408, 0.01408, 0.0141, 0.01418, 0.01423, 0.01425, 0.01428, 0.01429, 0.01433, 0.01433",\
                 "0.01349, 0.01355, 0.01369, 0.01385, 0.01396, 0.01407, 0.01414, 0.01419, 0.01423, 0.01426",\
                 "0.01481, 0.0148, 0.01478, 0.01478, 0.01476, 0.01472, 0.01467, 0.0146, 0.01455, 0.01452",\
                 "0.02058, 0.02045, 0.02008, 0.01944, 0.01876, 0.01813, 0.01756, 0.01706, 0.01664, 0.01627",\
                 "0.03197, 0.03162, 0.03072, 0.02921, 0.02754, 0.02584, 0.02429, 0.02288, 0.02168, 0.02069",\
                 "0.04969, 0.04917, 0.04758, 0.04504, 0.04204, 0.03899, 0.03603, 0.03334, 0.03094, 0.02887",\
                 "0.07421, 0.07345, 0.07116, 0.06747, 0.06301, 0.05827, 0.05363, 0.04931, 0.04537, 0.04184",\
                 "0.1058, 0.1049, 0.1019, 0.09696, 0.09095, 0.08439, 0.07787, 0.07165, 0.06585, 0.06056",\
                 "0.1448, 0.1437, 0.14, 0.134, 0.1263, 0.1179, 0.1093, 0.1009, 0.09303, 0.08572");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1501, 0.1501, 0.1501, 0.1502, 0.1503, 0.1505, 0.1508, 0.1509, 0.1513, 0.1524",\
                 "0.1492, 0.1492, 0.1493, 0.1495, 0.1497, 0.15, 0.1502, 0.1505, 0.1509, 0.1519",\
                 "0.1477, 0.1477, 0.1479, 0.1482, 0.1486, 0.149, 0.1494, 0.1499, 0.1504, 0.1515",\
                 "0.149, 0.1489, 0.1489, 0.1489, 0.149, 0.1491, 0.1494, 0.1497, 0.1502, 0.1515",\
                 "0.1564, 0.1563, 0.1558, 0.155, 0.1542, 0.1535, 0.1529, 0.1525, 0.1524, 0.1534",\
                 "0.1712, 0.1709, 0.1699, 0.1683, 0.1662, 0.1641, 0.1621, 0.1604, 0.1591, 0.1595",\
                 "0.193, 0.1925, 0.1911, 0.1887, 0.1856, 0.182, 0.1784, 0.175, 0.1721, 0.1712",\
                 "0.2222, 0.2216, 0.2197, 0.2164, 0.2122, 0.2073, 0.2021, 0.197, 0.1921, 0.1905",\
                 "0.2591, 0.2583, 0.256, 0.252, 0.2465, 0.2404, 0.2338, 0.2268, 0.2204, 0.2186",\
                 "0.3041, 0.3032, 0.3005, 0.2957, 0.2892, 0.2815, 0.2733, 0.265, 0.2574, 0.2574");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "!A1&!A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.04682, 0.0468, 0.04676, 0.04676, 0.04677, 0.04678, 0.0468, 0.04682, 0.04681, 0.04681",\
                 "0.04584, 0.04585, 0.04586, 0.0458, 0.04582, 0.04583, 0.04585, 0.04586, 0.04588, 0.04588",\
                 "0.04492, 0.04493, 0.04491, 0.04495, 0.04488, 0.04491, 0.04491, 0.04495, 0.04499, 0.04493",\
                 "0.04547, 0.04544, 0.04538, 0.04527, 0.04516, 0.04504, 0.04495, 0.04491, 0.04486, 0.04481",\
                 "0.05011, 0.04998, 0.04961, 0.04897, 0.04834, 0.04776, 0.04723, 0.04678, 0.04634, 0.04605",\
                 "0.06098, 0.06072, 0.05976, 0.05837, 0.05671, 0.05502, 0.05354, 0.0522, 0.05104, 0.05008",\
                 "0.07928, 0.07884, 0.07726, 0.07479, 0.07173, 0.06855, 0.06551, 0.06272, 0.06028, 0.05817",\
                 "0.1059, 0.1052, 0.1029, 0.0992, 0.09451, 0.08946, 0.08447, 0.07977, 0.07548, 0.07173",\
                 "0.1414, 0.1405, 0.1375, 0.1324, 0.1258, 0.1187, 0.1114, 0.1044, 0.09781, 0.09191",\
                 "0.1861, 0.185, 0.1812, 0.1748, 0.1663, 0.1568, 0.147, 0.1374, 0.1282, 0.1198");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.163, 0.163, 0.1631, 0.1632, 0.1633, 0.1634, 0.1637, 0.1639, 0.1643, 0.1656",\
                 "0.162, 0.162, 0.1621, 0.1622, 0.1624, 0.1626, 0.1629, 0.1632, 0.1635, 0.1649",\
                 "0.1604, 0.1604, 0.1606, 0.1609, 0.1613, 0.1617, 0.1621, 0.1624, 0.1629, 0.1644",\
                 "0.1606, 0.1606, 0.1607, 0.1608, 0.161, 0.1613, 0.1617, 0.162, 0.1626, 0.1642",\
                 "0.1671, 0.167, 0.1665, 0.1658, 0.1651, 0.1646, 0.1642, 0.164, 0.1643, 0.1657",\
                 "0.1831, 0.1826, 0.1815, 0.1795, 0.1772, 0.175, 0.1731, 0.1714, 0.1704, 0.1713",\
                 "0.2088, 0.2083, 0.2063, 0.203, 0.199, 0.1947, 0.1906, 0.1869, 0.1839, 0.1837",\
                 "0.2444, 0.2436, 0.2409, 0.2364, 0.2307, 0.2243, 0.2179, 0.2116, 0.2063, 0.2046",\
                 "0.2895, 0.2886, 0.2853, 0.2798, 0.2723, 0.2639, 0.2552, 0.2464, 0.2387, 0.2361",\
                 "0.3446, 0.3435, 0.3397, 0.3332, 0.3243, 0.3139, 0.3028, 0.2916, 0.282, 0.2803");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "!A1&A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.03759, 0.03757, 0.03756, 0.03755, 0.03757, 0.03761, 0.03762, 0.03763, 0.03762, 0.03763",\
                 "0.03657, 0.03656, 0.03658, 0.03659, 0.0366, 0.03664, 0.03668, 0.03667, 0.03668, 0.03667",\
                 "0.03568, 0.03568, 0.03568, 0.03568, 0.03567, 0.0357, 0.03572, 0.03575, 0.03576, 0.03575",\
                 "0.03624, 0.03624, 0.03612, 0.03602, 0.03594, 0.03584, 0.03574, 0.0357, 0.03565, 0.0356",\
                 "0.0411, 0.04097, 0.04055, 0.03992, 0.03922, 0.03862, 0.03809, 0.03761, 0.03718, 0.03686",\
                 "0.05252, 0.05219, 0.05124, 0.04967, 0.04789, 0.04611, 0.04453, 0.04312, 0.04195, 0.04095",\
                 "0.07165, 0.07112, 0.06935, 0.06665, 0.0634, 0.05999, 0.05681, 0.05386, 0.05133, 0.04917",\
                 "0.09922, 0.09846, 0.09591, 0.09188, 0.0868, 0.08142, 0.07613, 0.07123, 0.06678, 0.06291",\
                 "0.1358, 0.1348, 0.1315, 0.1258, 0.1189, 0.1112, 0.1035, 0.09618, 0.08941, 0.08333",\
                 "0.1816, 0.1804, 0.1762, 0.1692, 0.1601, 0.15, 0.1397, 0.1297, 0.1202, 0.1115");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.153, 0.153, 0.1531, 0.1531, 0.1532, 0.1534, 0.1536, 0.154, 0.1542, 0.1554",\
                 "0.152, 0.152, 0.1521, 0.1522, 0.1524, 0.1526, 0.1528, 0.1531, 0.1535, 0.1547",\
                 "0.1504, 0.1505, 0.1506, 0.1509, 0.1513, 0.1516, 0.152, 0.1524, 0.1528, 0.1542",\
                 "0.1506, 0.1506, 0.1506, 0.1508, 0.151, 0.1513, 0.1517, 0.152, 0.1525, 0.154",\
                 "0.1571, 0.157, 0.1565, 0.1558, 0.1551, 0.1545, 0.1542, 0.154, 0.1541, 0.1555",\
                 "0.173, 0.1726, 0.1715, 0.1695, 0.1673, 0.165, 0.1631, 0.1615, 0.1604, 0.161",\
                 "0.1988, 0.1982, 0.1962, 0.1929, 0.189, 0.1847, 0.1806, 0.1769, 0.174, 0.1733",\
                 "0.2343, 0.2336, 0.2309, 0.2263, 0.2206, 0.2143, 0.2078, 0.2016, 0.1962, 0.1941",\
                 "0.2796, 0.2786, 0.2753, 0.2696, 0.2622, 0.2538, 0.2451, 0.2363, 0.2285, 0.2254",\
                 "0.3346, 0.3334, 0.3297, 0.3232, 0.3143, 0.3039, 0.2927, 0.2815, 0.2716, 0.2692");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "!A1&A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.03761, 0.03761, 0.0376, 0.03758, 0.03755, 0.03757, 0.03761, 0.03761, 0.03763, 0.03761",\
                 "0.03658, 0.03658, 0.03658, 0.03662, 0.0366, 0.03662, 0.03666, 0.03666, 0.03666, 0.03668",\
                 "0.03574, 0.03576, 0.03576, 0.03569, 0.03574, 0.03573, 0.03574, 0.03574, 0.03577, 0.03579",\
                 "0.03644, 0.03644, 0.03638, 0.03622, 0.0361, 0.03598, 0.03586, 0.03578, 0.03569, 0.03564",\
                 "0.04175, 0.04161, 0.04114, 0.0405, 0.03975, 0.03905, 0.03845, 0.03791, 0.03747, 0.03708",\
                 "0.05359, 0.05326, 0.05225, 0.05067, 0.0488, 0.04694, 0.04525, 0.04377, 0.04247, 0.04143",\
                 "0.07317, 0.07266, 0.07086, 0.06806, 0.06476, 0.06126, 0.05791, 0.05486, 0.05223, 0.04995",\
                 "0.1012, 0.1004, 0.09784, 0.09366, 0.08854, 0.08308, 0.07766, 0.07259, 0.06805, 0.06402",\
                 "0.1381, 0.1371, 0.1337, 0.1281, 0.121, 0.1133, 0.1055, 0.09799, 0.09115, 0.08487",\
                 "0.1843, 0.183, 0.1789, 0.1718, 0.1627, 0.1525, 0.1421, 0.1319, 0.1224, 0.1135");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.162, 0.162, 0.162, 0.1621, 0.1622, 0.1624, 0.1626, 0.1628, 0.1632, 0.1645",\
                 "0.161, 0.1611, 0.1612, 0.1613, 0.1615, 0.1618, 0.162, 0.1623, 0.1628, 0.1642",\
                 "0.1594, 0.1595, 0.1597, 0.16, 0.1604, 0.1608, 0.1613, 0.1617, 0.1622, 0.1636",\
                 "0.1596, 0.1596, 0.1597, 0.1598, 0.16, 0.1603, 0.1608, 0.1613, 0.1617, 0.1633",\
                 "0.166, 0.166, 0.1655, 0.1649, 0.1643, 0.1637, 0.1634, 0.1634, 0.1634, 0.1648",\
                 "0.1819, 0.1816, 0.1805, 0.1788, 0.1767, 0.1746, 0.1727, 0.1711, 0.1701, 0.1708",\
                 "0.2076, 0.2071, 0.2053, 0.2024, 0.1988, 0.1948, 0.1909, 0.1873, 0.1843, 0.1837",\
                 "0.2431, 0.2423, 0.2398, 0.2358, 0.2307, 0.2249, 0.2187, 0.2128, 0.2076, 0.2056",\
                 "0.2881, 0.2873, 0.2842, 0.2791, 0.2724, 0.2647, 0.2566, 0.2483, 0.241, 0.2381",\
                 "0.3431, 0.3421, 0.3386, 0.3327, 0.3244, 0.3149, 0.3046, 0.2943, 0.285, 0.2832");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&!A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02366, 0.02364, 0.02363, 0.02362, 0.02363, 0.02365, 0.02366, 0.02369, 0.02369, 0.02368",\
                 "0.02265, 0.02266, 0.02269, 0.02267, 0.02267, 0.0227, 0.02271, 0.02271, 0.02275, 0.02274",\
                 "0.02171, 0.0217, 0.02173, 0.02174, 0.02173, 0.02175, 0.02178, 0.02181, 0.02183, 0.02181",\
                 "0.02241, 0.02239, 0.0223, 0.02215, 0.02202, 0.02192, 0.02184, 0.02177, 0.02171, 0.02167",\
                 "0.02792, 0.02773, 0.02715, 0.02641, 0.02563, 0.02491, 0.02427, 0.02376, 0.02331, 0.02297",\
                 "0.04036, 0.03996, 0.03873, 0.03689, 0.03478, 0.03278, 0.03101, 0.0295, 0.02821, 0.02715",\
                 "0.06092, 0.06022, 0.05811, 0.05481, 0.05105, 0.04722, 0.0437, 0.04054, 0.03786, 0.03559",\
                 "0.09, 0.08903, 0.08597, 0.08117, 0.07535, 0.06935, 0.06359, 0.05833, 0.05362, 0.04957",\
                 "0.1281, 0.1268, 0.1229, 0.1164, 0.1084, 0.09997, 0.09167, 0.0838, 0.07669, 0.07034",\
                 "0.1753, 0.1739, 0.169, 0.1609, 0.1508, 0.1397, 0.1286, 0.1179, 0.108, 0.09891");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1425, 0.1425, 0.1425, 0.1425, 0.1426, 0.1428, 0.143, 0.1433, 0.1436, 0.1446",\
                 "0.1414, 0.1414, 0.1415, 0.1416, 0.1418, 0.142, 0.1422, 0.1425, 0.1428, 0.1438",\
                 "0.1398, 0.1399, 0.1401, 0.1403, 0.1407, 0.1411, 0.1414, 0.1417, 0.1422, 0.1433",\
                 "0.14, 0.14, 0.14, 0.1402, 0.1404, 0.1407, 0.141, 0.1414, 0.1418, 0.1431",\
                 "0.1466, 0.1464, 0.1459, 0.1452, 0.1445, 0.1439, 0.1436, 0.1434, 0.1435, 0.1445",\
                 "0.1624, 0.162, 0.1609, 0.1589, 0.1567, 0.1544, 0.1524, 0.1509, 0.1497, 0.15",\
                 "0.1883, 0.1877, 0.1856, 0.1823, 0.1784, 0.1742, 0.17, 0.1663, 0.1632, 0.1622",\
                 "0.2239, 0.223, 0.2204, 0.2158, 0.21, 0.2037, 0.1973, 0.191, 0.1855, 0.183",\
                 "0.2692, 0.2682, 0.2649, 0.2593, 0.2517, 0.2433, 0.2346, 0.2257, 0.2178, 0.214",\
                 "0.3242, 0.3231, 0.3194, 0.3128, 0.3038, 0.2933, 0.2821, 0.2708, 0.2608, 0.2573");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&!A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02365, 0.02365, 0.02364, 0.02362, 0.02366, 0.02365, 0.02367, 0.02368, 0.02369, 0.02369",\
                 "0.0227, 0.02267, 0.02268, 0.02267, 0.02271, 0.0227, 0.02272, 0.02272, 0.02275, 0.02275",\
                 "0.02176, 0.02175, 0.02178, 0.02178, 0.02176, 0.02179, 0.0218, 0.02181, 0.02183, 0.02183",\
                 "0.02265, 0.02264, 0.02249, 0.02234, 0.02218, 0.02206, 0.02195, 0.02185, 0.02177, 0.02172",\
                 "0.02862, 0.02842, 0.02784, 0.027, 0.02612, 0.02533, 0.02464, 0.02407, 0.02359, 0.0232",\
                 "0.04155, 0.04113, 0.03984, 0.03791, 0.03573, 0.03363, 0.03173, 0.03011, 0.02876, 0.02765",\
                 "0.0625, 0.06181, 0.05967, 0.05628, 0.05245, 0.0485, 0.04484, 0.04156, 0.03878, 0.03637",\
                 "0.09197, 0.09101, 0.08798, 0.08306, 0.07716, 0.07106, 0.06514, 0.05975, 0.0549, 0.05069",\
                 "0.1304, 0.1292, 0.1252, 0.1187, 0.1106, 0.1021, 0.09359, 0.08565, 0.0784, 0.07189",\
                 "0.178, 0.1765, 0.1716, 0.1636, 0.1534, 0.1422, 0.1309, 0.1202, 0.1101, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1514, 0.1514, 0.1514, 0.1515, 0.1516, 0.1518, 0.152, 0.1523, 0.1525, 0.1536",\
                 "0.1504, 0.1505, 0.1506, 0.1507, 0.1509, 0.1512, 0.1514, 0.1517, 0.1521, 0.1533",\
                 "0.1488, 0.1489, 0.1491, 0.1494, 0.1498, 0.1502, 0.1506, 0.1511, 0.1515, 0.1527",\
                 "0.149, 0.149, 0.1491, 0.1492, 0.1494, 0.1497, 0.1501, 0.1506, 0.151, 0.1524",\
                 "0.1555, 0.1554, 0.1549, 0.1543, 0.1536, 0.1532, 0.1528, 0.1527, 0.1527, 0.1538",\
                 "0.1713, 0.171, 0.1699, 0.1682, 0.1661, 0.164, 0.1621, 0.1606, 0.1594, 0.1598",\
                 "0.1971, 0.1965, 0.1947, 0.1918, 0.1882, 0.1843, 0.1803, 0.1767, 0.1736, 0.1726",\
                 "0.2325, 0.2318, 0.2294, 0.2253, 0.2201, 0.2143, 0.2082, 0.2022, 0.1967, 0.1943",\
                 "0.2777, 0.2769, 0.2738, 0.2687, 0.2619, 0.2541, 0.2461, 0.2378, 0.2302, 0.2264",\
                 "0.3327, 0.3318, 0.3282, 0.3222, 0.314, 0.3043, 0.294, 0.2836, 0.2741, 0.271");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02365, 0.02365, 0.02364, 0.02362, 0.02366, 0.02365, 0.02367, 0.02368, 0.02369, 0.02369",\
                 "0.02266, 0.02266, 0.02268, 0.02267, 0.02271, 0.0227, 0.02272, 0.02272, 0.02275, 0.02274",\
                 "0.02174, 0.02175, 0.02178, 0.02178, 0.02177, 0.02179, 0.0218, 0.02181, 0.02181, 0.02183",\
                 "0.02265, 0.02263, 0.02249, 0.02234, 0.02218, 0.02207, 0.02194, 0.02184, 0.02178, 0.02172",\
                 "0.02862, 0.02842, 0.02784, 0.027, 0.02612, 0.02534, 0.02464, 0.02407, 0.02359, 0.0232",\
                 "0.04155, 0.04112, 0.03984, 0.03791, 0.03573, 0.03363, 0.03173, 0.03011, 0.02876, 0.02765",\
                 "0.0625, 0.06181, 0.05967, 0.05628, 0.05245, 0.0485, 0.04484, 0.04156, 0.03878, 0.03637",\
                 "0.09197, 0.09101, 0.08797, 0.08306, 0.07715, 0.07106, 0.06514, 0.05975, 0.0549, 0.05069",\
                 "0.1304, 0.1292, 0.1252, 0.1187, 0.1106, 0.1021, 0.09359, 0.08565, 0.0784, 0.07189",\
                 "0.178, 0.1765, 0.1716, 0.1636, 0.1534, 0.1422, 0.1309, 0.1202, 0.1101, 0.1009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1514, 0.1514, 0.1514, 0.1515, 0.1516, 0.1518, 0.152, 0.1523, 0.1525, 0.1536",\
                 "0.1505, 0.1505, 0.1506, 0.1507, 0.1509, 0.1512, 0.1514, 0.1517, 0.1521, 0.1533",\
                 "0.1488, 0.1489, 0.1491, 0.1494, 0.1498, 0.1502, 0.1506, 0.151, 0.1515, 0.1527",\
                 "0.149, 0.149, 0.1491, 0.1492, 0.1494, 0.1497, 0.1501, 0.1505, 0.1511, 0.1524",\
                 "0.1555, 0.1554, 0.1549, 0.1543, 0.1537, 0.1532, 0.1528, 0.1526, 0.1527, 0.1538",\
                 "0.1713, 0.1709, 0.1699, 0.1682, 0.1661, 0.1639, 0.1621, 0.1606, 0.1594, 0.1598",\
                 "0.1971, 0.1965, 0.1947, 0.1918, 0.1882, 0.1842, 0.1803, 0.1766, 0.1737, 0.1726",\
                 "0.2326, 0.2318, 0.2293, 0.2253, 0.2201, 0.2143, 0.2082, 0.2022, 0.1968, 0.1944",\
                 "0.2777, 0.2768, 0.2737, 0.2687, 0.2619, 0.2541, 0.2459, 0.2377, 0.2302, 0.2265",\
                 "0.3327, 0.3318, 0.3283, 0.3222, 0.314, 0.3043, 0.294, 0.2835, 0.2741, 0.2712");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.02367, 0.02364, 0.02366, 0.02363, 0.02363, 0.02366, 0.02366, 0.02367, 0.0237, 0.02369",\
                 "0.02269, 0.02268, 0.02269, 0.02272, 0.0227, 0.02271, 0.02272, 0.02273, 0.02275, 0.02275",\
                 "0.02173, 0.02174, 0.0218, 0.02179, 0.02177, 0.02178, 0.02181, 0.02182, 0.02183, 0.02184",\
                 "0.02274, 0.0227, 0.02258, 0.02244, 0.02226, 0.02212, 0.02199, 0.02188, 0.02182, 0.02176",\
                 "0.02885, 0.02863, 0.02807, 0.02723, 0.02633, 0.02551, 0.02479, 0.02419, 0.02372, 0.0233",\
                 "0.04193, 0.04152, 0.04019, 0.03825, 0.03607, 0.03393, 0.03199, 0.03036, 0.02896, 0.02781",\
                 "0.063, 0.06233, 0.06018, 0.05676, 0.05289, 0.04893, 0.04523, 0.04193, 0.03906, 0.03665",\
                 "0.09258, 0.09162, 0.08856, 0.08366, 0.07774, 0.07162, 0.06566, 0.0602, 0.05538, 0.05112",\
                 "0.1311, 0.1299, 0.1259, 0.1194, 0.1114, 0.1027, 0.09428, 0.08633, 0.07898, 0.07242",\
                 "0.1788, 0.1773, 0.1724, 0.1644, 0.1542, 0.143, 0.1317, 0.1209, 0.1108, 0.1016");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1601, 0.1602, 0.1602, 0.1602, 0.1604, 0.1605, 0.1607, 0.161, 0.1614, 0.1624",\
                 "0.1593, 0.1593, 0.1594, 0.1595, 0.1598, 0.16, 0.1603, 0.1606, 0.161, 0.1621",\
                 "0.1576, 0.1577, 0.1578, 0.1581, 0.1585, 0.1591, 0.1594, 0.1599, 0.1604, 0.1616",\
                 "0.1577, 0.1578, 0.1578, 0.158, 0.1582, 0.1585, 0.159, 0.1594, 0.1599, 0.1613",\
                 "0.1641, 0.1639, 0.1636, 0.163, 0.1624, 0.1619, 0.1616, 0.1615, 0.1615, 0.1627",\
                 "0.1797, 0.1794, 0.1784, 0.1768, 0.1748, 0.1728, 0.171, 0.1695, 0.1683, 0.1687",\
                 "0.2052, 0.2047, 0.2029, 0.2003, 0.1969, 0.193, 0.1893, 0.1858, 0.1827, 0.1819",\
                 "0.2403, 0.2397, 0.2374, 0.2336, 0.2286, 0.2231, 0.2172, 0.2114, 0.2062, 0.2039",\
                 "0.2854, 0.2845, 0.2817, 0.2768, 0.2703, 0.2629, 0.2551, 0.2471, 0.2398, 0.2365",\
                 "0.3403, 0.3393, 0.336, 0.3302, 0.3223, 0.3131, 0.3031, 0.2932, 0.284, 0.2815");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1382, 0.1477, 0.1804, 0.2405, 0.3312, 0.4554, 0.6166, 0.818, 1.063, 1.354",\
                 "0.152, 0.1616, 0.1943, 0.2547, 0.3454, 0.4698, 0.6311, 0.8326, 1.077, 1.368",\
                 "0.2032, 0.2126, 0.2438, 0.3022, 0.3923, 0.5163, 0.6776, 0.879, 1.124, 1.415",\
                 "0.2536, 0.2662, 0.3085, 0.381, 0.4808, 0.6053, 0.7651, 0.966, 1.21, 1.501",\
                 "0.2733, 0.2895, 0.3429, 0.435, 0.5614, 0.7172, 0.8984, 1.104, 1.347, 1.636",\
                 "0.2537, 0.2738, 0.3403, 0.4536, 0.6081, 0.7972, 1.017, 1.263, 1.534, 1.83",\
                 "0.1892, 0.2132, 0.2934, 0.4291, 0.614, 0.8392, 1.098, 1.386, 1.704, 2.048",\
                 "0.0763, 0.1045, 0.1968, 0.3568, 0.5732, 0.8356, 1.136, 1.47, 1.834, 2.229",\
                 "-0.0878, -0.056, 0.0506, 0.2319, 0.4812, 0.7825, 1.127, 1.508, 1.921, 2.366",\
                 "-0.3075, -0.2713, -0.1519, 0.0536, 0.3331, 0.6743, 1.065, 1.494, 1.96, 2.458");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.3365, 0.3662, 0.4721, 0.6726, 0.9829, 1.417, 1.987, 2.704, 3.58, 4.623",\
                 "0.3431, 0.3738, 0.4818, 0.6838, 0.9963, 1.432, 2.003, 2.722, 3.598, 4.641",\
                 "0.3924, 0.4223, 0.5277, 0.7284, 1.041, 1.477, 2.049, 2.769, 3.646, 4.69",\
                 "0.5201, 0.5485, 0.6475, 0.8415, 1.147, 1.578, 2.147, 2.864, 3.74, 4.783",\
                 "0.7067, 0.7392, 0.8486, 1.042, 1.339, 1.761, 2.321, 3.031, 3.902, 4.941",\
                 "0.9424, 0.9777, 1.098, 1.315, 1.626, 2.04, 2.59, 3.29, 4.151, 5.182",\
                 "1.236, 1.275, 1.405, 1.638, 1.977, 2.418, 2.964, 3.651, 4.5, 5.52",\
                 "1.584, 1.628, 1.773, 2.024, 2.385, 2.859, 3.439, 4.127, 4.964, 5.97",\
                 "1.989, 2.038, 2.199, 2.475, 2.859, 3.361, 3.979, 4.708, 5.548, 6.542",\
                 "2.453, 2.507, 2.687, 2.99, 3.404, 3.932, 4.582, 5.354, 6.239, 7.24");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2088, 0.2241, 0.277, 0.3755, 0.5242, 0.7308, 1.001, 1.341, 1.758, 2.252",\
                 "0.208, 0.2235, 0.2766, 0.3747, 0.5243, 0.7308, 1.002, 1.342, 1.757, 2.252",\
                 "0.218, 0.2304, 0.2765, 0.3701, 0.5219, 0.7306, 1.002, 1.341, 1.756, 2.252",\
                 "0.2997, 0.3142, 0.363, 0.4465, 0.565, 0.7425, 1.001, 1.342, 1.756, 2.252",\
                 "0.4052, 0.4206, 0.478, 0.5768, 0.7146, 0.8892, 1.101, 1.385, 1.766, 2.252",\
                 "0.5328, 0.5528, 0.6216, 0.7364, 0.891, 1.09, 1.326, 1.6, 1.919, 2.333",\
                 "0.6798, 0.7064, 0.7882, 0.9216, 1.101, 1.32, 1.581, 1.884, 2.228, 2.61",\
                 "0.8474, 0.8784, 0.9728, 1.132, 1.337, 1.587, 1.87, 2.2, 2.573, 2.993",\
                 "1.038, 1.072, 1.18, 1.361, 1.6, 1.88, 2.2, 2.556, 2.957, 3.407",\
                 "1.246, 1.287, 1.411, 1.617, 1.885, 2.203, 2.557, 2.951, 3.382, 3.86");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8202, 0.8779, 1.077, 1.446, 2.004, 2.771, 3.77, 5.021, 6.547, 8.368",\
                 "0.8195, 0.8774, 1.077, 1.446, 2.004, 2.771, 3.77, 5.021, 6.547, 8.367",\
                 "0.8139, 0.8733, 1.075, 1.446, 2.004, 2.771, 3.77, 5.021, 6.547, 8.369",\
                 "0.8324, 0.8853, 1.074, 1.442, 2.003, 2.771, 3.77, 5.022, 6.548, 8.368",\
                 "0.9306, 0.978, 1.149, 1.478, 2.005, 2.771, 3.77, 5.022, 6.55, 8.369",\
                 "1.038, 1.091, 1.273, 1.601, 2.089, 2.793, 3.771, 5.022, 6.55, 8.369",\
                 "1.183, 1.233, 1.41, 1.752, 2.255, 2.922, 3.824, 5.029, 6.548, 8.367",\
                 "1.378, 1.422, 1.586, 1.918, 2.441, 3.131, 3.999, 5.123, 6.568, 8.37",\
                 "1.617, 1.658, 1.811, 2.123, 2.635, 3.358, 4.255, 5.342, 6.706, 8.411",\
                 "1.884, 1.926, 2.076, 2.378, 2.873, 3.595, 4.526, 5.649, 6.971, 8.594");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1273, 0.136, 0.1663, 0.223, 0.3101, 0.4313, 0.59, 0.7895, 1.033, 1.322",\
                 "0.1411, 0.1498, 0.1802, 0.2371, 0.3243, 0.4456, 0.6044, 0.804, 1.047, 1.337",\
                 "0.1878, 0.1972, 0.228, 0.284, 0.3709, 0.4921, 0.6508, 0.8504, 1.093, 1.383",\
                 "0.2255, 0.2385, 0.2813, 0.3548, 0.4558, 0.5803, 0.7385, 0.9374, 1.18, 1.469",\
                 "0.2305, 0.2473, 0.303, 0.3978, 0.5267, 0.6847, 0.8684, 1.075, 1.317, 1.605",\
                 "0.1949, 0.2162, 0.2859, 0.4039, 0.5625, 0.7556, 0.9785, 1.228, 1.502, 1.799",\
                 "0.1139, 0.1394, 0.2237, 0.3663, 0.5573, 0.7876, 1.051, 1.344, 1.665, 2.012",\
                 "-0.0151, 0.0148, 0.1128, 0.28, 0.5047, 0.7742, 1.082, 1.42, 1.789, 2.186",\
                 "-0.1964, -0.1621, -0.0497, 0.1423, 0.3999, 0.7104, 1.064, 1.451, 1.87, 2.318",\
                 "-0.4332, -0.3943, -0.2661, -0.0503, 0.2407, 0.5921, 0.9918, 1.429, 1.901, 2.403");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.3365, 0.3662, 0.4722, 0.6726, 0.9829, 1.417, 1.987, 2.704, 3.579, 4.621",\
                 "0.3432, 0.3744, 0.4812, 0.6839, 0.9964, 1.432, 2.003, 2.722, 3.597, 4.639",\
                 "0.3927, 0.4222, 0.5277, 0.7284, 1.041, 1.477, 2.049, 2.769, 3.645, 4.688",\
                 "0.5202, 0.5484, 0.6475, 0.8416, 1.147, 1.578, 2.147, 2.864, 3.74, 4.782",\
                 "0.7067, 0.739, 0.8487, 1.042, 1.339, 1.761, 2.321, 3.032, 3.902, 4.94",\
                 "0.9427, 0.9778, 1.098, 1.314, 1.626, 2.04, 2.59, 3.289, 4.15, 5.18",\
                 "1.236, 1.275, 1.405, 1.638, 1.978, 2.418, 2.963, 3.652, 4.5, 5.52",\
                 "1.584, 1.628, 1.773, 2.024, 2.385, 2.859, 3.439, 4.127, 4.963, 5.969",\
                 "1.989, 2.038, 2.2, 2.475, 2.86, 3.361, 3.979, 4.707, 5.547, 6.54",\
                 "2.453, 2.508, 2.686, 2.99, 3.404, 3.932, 4.582, 5.353, 6.237, 7.239");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1805, 0.1953, 0.2459, 0.3408, 0.4881, 0.6932, 0.964, 1.305, 1.719, 2.214",\
                 "0.1799, 0.1945, 0.2454, 0.3403, 0.4882, 0.6936, 0.9642, 1.304, 1.72, 2.214",\
                 "0.1984, 0.2103, 0.2528, 0.3399, 0.4866, 0.6937, 0.9641, 1.303, 1.72, 2.213",\
                 "0.2779, 0.2922, 0.3405, 0.4252, 0.5429, 0.714, 0.9663, 1.303, 1.72, 2.213",\
                 "0.381, 0.3985, 0.4555, 0.554, 0.6928, 0.8672, 1.078, 1.356, 1.731, 2.214",\
                 "0.5074, 0.5296, 0.5974, 0.7126, 0.8686, 1.067, 1.303, 1.577, 1.896, 2.303",\
                 "0.6528, 0.6786, 0.7622, 0.898, 1.079, 1.297, 1.557, 1.861, 2.208, 2.589",\
                 "0.819, 0.8492, 0.9466, 1.107, 1.314, 1.565, 1.85, 2.178, 2.551, 2.971",\
                 "1.004, 1.041, 1.152, 1.335, 1.575, 1.858, 2.178, 2.535, 2.935, 3.386",\
                 "1.204, 1.247, 1.38, 1.589, 1.859, 2.178, 2.535, 2.931, 3.36, 3.838");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7326, 0.7855, 0.97, 1.32, 1.858, 2.613, 3.606, 4.857, 6.381, 8.202",\
                 "0.7316, 0.7852, 0.9702, 1.319, 1.858, 2.612, 3.606, 4.857, 6.383, 8.2",\
                 "0.7265, 0.7814, 0.9696, 1.319, 1.858, 2.612, 3.606, 4.853, 6.384, 8.203",\
                 "0.7449, 0.7934, 0.9673, 1.316, 1.857, 2.613, 3.606, 4.858, 6.384, 8.196",\
                 "0.8308, 0.88, 1.042, 1.352, 1.859, 2.612, 3.607, 4.858, 6.382, 8.203",\
                 "0.9254, 0.9754, 1.151, 1.471, 1.944, 2.635, 3.608, 4.858, 6.385, 8.203",\
                 "1.055, 1.103, 1.276, 1.604, 2.105, 2.764, 3.661, 4.864, 6.381, 8.202",\
                 "1.226, 1.271, 1.433, 1.76, 2.277, 2.971, 3.836, 4.958, 6.403, 8.197",\
                 "1.431, 1.476, 1.636, 1.95, 2.461, 3.186, 4.088, 5.175, 6.542, 8.248",\
                 "1.658, 1.707, 1.873, 2.186, 2.684, 3.405, 4.35, 5.476, 6.802, 8.424");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1057, 0.1127, 0.1369, 0.1821, 0.2514, 0.3478, 0.474, 0.6325, 0.8258, 1.056",\
                 "0.1204, 0.1274, 0.1516, 0.1969, 0.2664, 0.3629, 0.4891, 0.6476, 0.841, 1.071",\
                 "0.1666, 0.1749, 0.2019, 0.2482, 0.3172, 0.4135, 0.5396, 0.6982, 0.8914, 1.121",\
                 "0.1968, 0.2084, 0.2469, 0.3124, 0.4011, 0.5086, 0.6359, 0.7941, 0.9868, 1.217",\
                 "0.1915, 0.2071, 0.2579, 0.3441, 0.4597, 0.6005, 0.7615, 0.9402, 1.137, 1.366",\
                 "0.1434, 0.1631, 0.228, 0.3357, 0.4815, 0.6556, 0.8547, 1.076, 1.315, 1.571",\
                 "0.0477, 0.0713, 0.1494, 0.2811, 0.4581, 0.6689, 0.908, 1.171, 1.456, 1.761",\
                 "-0.0998, -0.0719, 0.0197, 0.176, 0.3843, 0.6333, 0.9142, 1.223, 1.554, 1.907",\
                 "-0.3032, -0.27, -0.1644, 0.0147, 0.2549, 0.5434, 0.8686, 1.223, 1.604, 2.009",\
                 "-0.5634, -0.5265, -0.4069, -0.2038, 0.0689, 0.3957, 0.7648, 1.169, 1.602, 2.059");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.3353, 0.3651, 0.4709, 0.6713, 0.9816, 1.416, 1.986, 2.703, 3.578, 4.62",\
                 "0.3393, 0.3701, 0.4775, 0.68, 0.9926, 1.428, 2, 2.718, 3.594, 4.636",\
                 "0.3895, 0.4196, 0.5237, 0.7238, 1.036, 1.472, 2.044, 2.764, 3.64, 4.683",\
                 "0.5221, 0.5497, 0.6482, 0.8411, 1.145, 1.575, 2.143, 2.86, 3.735, 4.777",\
                 "0.713, 0.7453, 0.854, 1.047, 1.343, 1.763, 2.322, 3.031, 3.899, 4.937",\
                 "0.9557, 0.9904, 1.11, 1.326, 1.636, 2.049, 2.597, 3.295, 4.153, 5.183",\
                 "1.258, 1.296, 1.426, 1.657, 1.994, 2.434, 2.978, 3.665, 4.511, 5.528",\
                 "1.619, 1.662, 1.804, 2.053, 2.413, 2.885, 3.462, 4.149, 4.984, 5.988",\
                 "2.041, 2.089, 2.247, 2.518, 2.899, 3.399, 4.014, 4.739, 5.579, 6.57",\
                 "2.526, 2.579, 2.754, 3.05, 3.459, 3.984, 4.631, 5.401, 6.281, 7.281");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1378, 0.1495, 0.1888, 0.2641, 0.3799, 0.5425, 0.7557, 1.024, 1.353, 1.742",\
                 "0.1375, 0.1489, 0.1887, 0.2642, 0.3804, 0.5427, 0.7552, 1.024, 1.352, 1.743",\
                 "0.1703, 0.1795, 0.21, 0.2721, 0.3805, 0.5419, 0.7554, 1.024, 1.352, 1.743",\
                 "0.2497, 0.2618, 0.3024, 0.3721, 0.4667, 0.5887, 0.77, 1.026, 1.352, 1.742",\
                 "0.3507, 0.3656, 0.4159, 0.5004, 0.6164, 0.7606, 0.9272, 1.127, 1.396, 1.751",\
                 "0.4704, 0.4896, 0.5524, 0.6562, 0.7904, 0.9574, 1.154, 1.378, 1.625, 1.913",\
                 "0.6094, 0.633, 0.7092, 0.8326, 0.9936, 1.185, 1.408, 1.661, 1.942, 2.252",\
                 "0.769, 0.7982, 0.8854, 1.031, 1.219, 1.441, 1.692, 1.974, 2.287, 2.634",\
                 "0.9434, 0.9802, 1.083, 1.251, 1.467, 1.722, 2.008, 2.321, 2.666, 3.042",\
                 "1.132, 1.171, 1.297, 1.496, 1.74, 2.029, 2.349, 2.701, 3.082, 3.49");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7321, 0.7857, 0.9704, 1.319, 1.858, 2.613, 3.606, 4.858, 6.38, 8.201",\
                 "0.7318, 0.785, 0.9708, 1.32, 1.858, 2.613, 3.605, 4.858, 6.384, 8.202",\
                 "0.7261, 0.7811, 0.9696, 1.319, 1.858, 2.613, 3.607, 4.857, 6.379, 8.202",\
                 "0.7444, 0.7931, 0.9678, 1.316, 1.858, 2.613, 3.607, 4.856, 6.384, 8.203",\
                 "0.8278, 0.8778, 1.04, 1.348, 1.859, 2.613, 3.605, 4.858, 6.385, 8.204",\
                 "0.9162, 0.967, 1.144, 1.465, 1.94, 2.633, 3.607, 4.858, 6.385, 8.199",\
                 "1.039, 1.086, 1.259, 1.597, 2.097, 2.758, 3.656, 4.863, 6.384, 8.205",\
                 "1.201, 1.245, 1.411, 1.74, 2.26, 2.957, 3.826, 4.953, 6.401, 8.202",\
                 "1.395, 1.44, 1.601, 1.92, 2.435, 3.163, 4.071, 5.162, 6.532, 8.237",\
                 "1.614, 1.661, 1.827, 2.142, 2.643, 3.377, 4.325, 5.454, 6.786, 8.418");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.09963, 0.1079, 0.1369, 0.192, 0.2777, 0.3976, 0.5553, 0.7543, 0.9967, 1.286",\
                 "0.1132, 0.1215, 0.1506, 0.2059, 0.2918, 0.412, 0.5699, 0.7687, 1.012, 1.301",\
                 "0.1534, 0.1636, 0.1966, 0.2529, 0.3383, 0.4583, 0.6162, 0.815, 1.057, 1.347",\
                 "0.1745, 0.1886, 0.2352, 0.3132, 0.4187, 0.5465, 0.704, 0.9022, 1.144, 1.433",\
                 "0.1605, 0.1793, 0.2409, 0.3428, 0.4779, 0.6417, 0.8298, 1.039, 1.281, 1.569",\
                 "0.1046, 0.1287, 0.2062, 0.3343, 0.5024, 0.7028, 0.9311, 1.185, 1.462, 1.762",\
                 "0.0039, 0.0329, 0.1259, 0.2809, 0.4837, 0.7243, 0.9951, 1.294, 1.619, 1.969",\
                 "-0.1458, -0.1117, -0.0018, 0.1794, 0.4174, 0.7, 1.016, 1.362, 1.736, 2.138",\
                 "-0.3469, -0.3077, -0.1818, 0.0264, 0.2995, 0.6242, 0.9881, 1.384, 1.81, 2.263",\
                 "-0.6013, -0.5585, -0.4164, -0.182, 0.1275, 0.4939, 0.9049, 1.353, 1.833, 2.342");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.3267, 0.3569, 0.4622, 0.6614, 0.9701, 1.402, 1.969, 2.684, 3.559, 4.596",\
                 "0.3338, 0.3644, 0.471, 0.6728, 0.9835, 1.418, 1.986, 2.702, 3.575, 4.614",\
                 "0.3829, 0.4126, 0.5172, 0.7169, 1.028, 1.463, 2.032, 2.749, 3.622, 4.663",\
                 "0.5106, 0.539, 0.6375, 0.8301, 1.134, 1.564, 2.13, 2.845, 3.716, 4.757",\
                 "0.6942, 0.7273, 0.8363, 1.031, 1.327, 1.746, 2.304, 3.012, 3.879, 4.914",\
                 "0.9285, 0.964, 1.085, 1.301, 1.613, 2.026, 2.572, 3.269, 4.128, 5.155",\
                 "1.218, 1.258, 1.389, 1.623, 1.962, 2.402, 2.947, 3.631, 4.478, 5.494",\
                 "1.562, 1.607, 1.754, 2.006, 2.367, 2.841, 3.421, 4.108, 4.94, 5.944",\
                 "1.963, 2.013, 2.177, 2.454, 2.839, 3.339, 3.957, 4.685, 5.524, 6.515",\
                 "2.421, 2.477, 2.66, 2.966, 3.381, 3.908, 4.557, 5.328, 6.213, 7.212");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1443, 0.1585, 0.2087, 0.3032, 0.4502, 0.6557, 0.9256, 1.265, 1.679, 2.173",\
                 "0.143, 0.1577, 0.2082, 0.3033, 0.4502, 0.6565, 0.9258, 1.264, 1.679, 2.174",\
                 "0.1761, 0.1882, 0.2275, 0.3079, 0.4488, 0.6553, 0.9256, 1.266, 1.68, 2.174",\
                 "0.2536, 0.2674, 0.3162, 0.4013, 0.52, 0.6864, 0.9291, 1.264, 1.679, 2.173",\
                 "0.3551, 0.3733, 0.4313, 0.5296, 0.6684, 0.8434, 1.054, 1.327, 1.695, 2.174",\
                 "0.477, 0.4992, 0.5714, 0.6884, 0.8446, 1.041, 1.279, 1.554, 1.87, 2.273",\
                 "0.62, 0.646, 0.7312, 0.8716, 1.053, 1.273, 1.535, 1.837, 2.183, 2.564",\
                 "0.781, 0.8122, 0.9134, 1.076, 1.289, 1.539, 1.825, 2.155, 2.528, 2.946",\
                 "0.9568, 0.9958, 1.116, 1.305, 1.546, 1.83, 2.154, 2.51, 2.91, 3.359",\
                 "1.146, 1.19, 1.333, 1.555, 1.827, 2.15, 2.507, 2.905, 3.337, 3.813");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5627, 0.6151, 0.7979, 1.145, 1.685, 2.442, 3.431, 4.677, 6.217, 8.027",\
                 "0.562, 0.6146, 0.7979, 1.145, 1.685, 2.44, 3.431, 4.678, 6.213, 8.032",\
                 "0.5564, 0.6101, 0.7966, 1.145, 1.685, 2.44, 3.436, 4.683, 6.201, 8.02",\
                 "0.5755, 0.6225, 0.7948, 1.142, 1.684, 2.441, 3.433, 4.683, 6.213, 8.021",\
                 "0.645, 0.6958, 0.867, 1.176, 1.685, 2.439, 3.43, 4.683, 6.209, 8.036",\
                 "0.7228, 0.7744, 0.9564, 1.291, 1.769, 2.461, 3.432, 4.678, 6.209, 8.027",\
                 "0.8362, 0.885, 1.063, 1.408, 1.921, 2.588, 3.484, 4.689, 6.206, 8.019",\
                 "0.9816, 1.034, 1.209, 1.549, 2.079, 2.786, 3.659, 4.784, 6.234, 8.023",\
                 "1.149, 1.207, 1.392, 1.725, 2.25, 2.986, 3.909, 4.998, 6.368, 8.076",\
                 "1.337, 1.399, 1.598, 1.945, 2.461, 3.199, 4.157, 5.296, 6.627, 8.258");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.08503, 0.09163, 0.1146, 0.1585, 0.2265, 0.3217, 0.4469, 0.6047, 0.7976, 1.027",\
                 "0.09957, 0.1061, 0.1293, 0.1732, 0.2413, 0.3367, 0.4621, 0.62, 0.8128, 1.042",\
                 "0.1369, 0.1459, 0.175, 0.2237, 0.2921, 0.3872, 0.5126, 0.6704, 0.8633, 1.093",\
                 "0.1508, 0.1639, 0.2059, 0.2759, 0.3689, 0.4803, 0.609, 0.7662, 0.9587, 1.188",\
                 "0.1276, 0.1452, 0.2017, 0.2947, 0.4171, 0.5626, 0.7281, 0.9101, 1.108, 1.337",\
                 "0.0603, 0.0826, 0.1544, 0.2729, 0.4266, 0.6087, 0.813, 1.038, 1.281, 1.54",\
                 "-0.0548, -0.0278, 0.0596, 0.2031, 0.3908, 0.6112, 0.8579, 1.125, 1.415, 1.723",\
                 "-0.2221, -0.1896, -0.0866, 0.0828, 0.3033, 0.5618, 0.8549, 1.169, 1.507, 1.865",\
                 "-0.4444, -0.4064, -0.288, -0.0929, 0.1627, 0.463, 0.7998, 1.163, 1.55, 1.96",\
                 "-0.7213, -0.68, -0.5475, -0.3265, -0.0368, 0.3044, 0.6849, 1.1, 1.539, 2.002");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.3254, 0.3557, 0.4609, 0.6604, 0.969, 1.401, 1.969, 2.685, 3.555, 4.595",\
                 "0.33, 0.3607, 0.4674, 0.6688, 0.9802, 1.414, 1.982, 2.698, 3.571, 4.61",\
                 "0.3801, 0.4095, 0.5136, 0.7126, 1.023, 1.457, 2.027, 2.743, 3.617, 4.658",\
                 "0.5122, 0.5399, 0.6381, 0.8295, 1.132, 1.561, 2.127, 2.84, 3.713, 4.752",\
                 "0.7015, 0.7333, 0.8425, 1.036, 1.33, 1.749, 2.305, 3.012, 3.878, 4.911",\
                 "0.9421, 0.9769, 1.096, 1.312, 1.623, 2.034, 2.58, 3.275, 4.131, 5.158",\
                 "1.241, 1.28, 1.41, 1.642, 1.979, 2.418, 2.961, 3.644, 4.489, 5.504",\
                 "1.599, 1.643, 1.786, 2.036, 2.395, 2.867, 3.444, 4.129, 4.961, 5.963",\
                 "2.016, 2.065, 2.224, 2.497, 2.878, 3.377, 3.993, 4.718, 5.555, 6.544",\
                 "2.495, 2.55, 2.726, 3.027, 3.437, 3.96, 4.608, 5.375, 6.257, 7.255");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1114, 0.1225, 0.1613, 0.2357, 0.3511, 0.5126, 0.7265, 0.994, 1.323, 1.712",\
                 "0.111, 0.1221, 0.1612, 0.2356, 0.3511, 0.5124, 0.7253, 0.995, 1.322, 1.712",\
                 "0.1535, 0.1631, 0.1948, 0.2515, 0.3531, 0.5132, 0.7267, 0.9949, 1.322, 1.713",\
                 "0.2302, 0.2429, 0.284, 0.3546, 0.4509, 0.5706, 0.746, 0.9953, 1.322, 1.713",\
                 "0.3278, 0.3437, 0.3958, 0.4812, 0.5986, 0.743, 0.911, 1.107, 1.372, 1.723",\
                 "0.445, 0.4642, 0.5288, 0.6354, 0.772, 0.9402, 1.137, 1.36, 1.607, 1.892",\
                 "0.5808, 0.6058, 0.683, 0.8084, 0.972, 1.167, 1.389, 1.642, 1.926, 2.235",\
                 "0.7338, 0.7638, 0.858, 1.006, 1.197, 1.421, 1.674, 1.955, 2.267, 2.614",\
                 "0.8996, 0.9372, 1.05, 1.225, 1.443, 1.7, 1.987, 2.302, 2.647, 3.022",\
                 "1.08, 1.123, 1.255, 1.463, 1.714, 2.005, 2.328, 2.68, 3.064, 3.469");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5628, 0.6151, 0.7977, 1.145, 1.685, 2.44, 3.435, 4.687, 6.213, 8.036",\
                 "0.5617, 0.6143, 0.7973, 1.145, 1.683, 2.442, 3.432, 4.686, 6.213, 8.023",\
                 "0.556, 0.6103, 0.7964, 1.145, 1.686, 2.441, 3.431, 4.682, 6.211, 8.023",\
                 "0.575, 0.622, 0.7953, 1.143, 1.685, 2.441, 3.434, 4.686, 6.21, 8.021",\
                 "0.6424, 0.6934, 0.8646, 1.176, 1.684, 2.44, 3.429, 4.684, 6.21, 8.036",\
                 "0.7152, 0.768, 0.9502, 1.286, 1.764, 2.456, 3.429, 4.686, 6.206, 8.033",\
                 "0.82, 0.8724, 1.051, 1.399, 1.915, 2.582, 3.481, 4.684, 6.211, 8.023",\
                 "0.9584, 1.009, 1.191, 1.528, 2.064, 2.775, 3.649, 4.784, 6.226, 8.034",\
                 "1.123, 1.178, 1.361, 1.694, 2.228, 2.969, 3.889, 4.984, 6.359, 8.073",\
                 "1.301, 1.36, 1.556, 1.902, 2.424, 3.172, 4.13, 5.274, 6.607, 8.248");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.08506, 0.09165, 0.1146, 0.1585, 0.2265, 0.3217, 0.447, 0.6048, 0.7978, 1.028",\
                 "0.09956, 0.1061, 0.1293, 0.1732, 0.2414, 0.3368, 0.4622, 0.6202, 0.8131, 1.043",\
                 "0.1369, 0.1459, 0.1751, 0.2237, 0.2921, 0.3874, 0.5127, 0.6705, 0.8635, 1.093",\
                 "0.1509, 0.1639, 0.206, 0.276, 0.369, 0.4804, 0.6091, 0.7664, 0.9589, 1.188",\
                 "0.1275, 0.145, 0.2018, 0.2948, 0.4171, 0.5628, 0.7283, 0.91, 1.108, 1.338",\
                 "0.0604, 0.0827, 0.1544, 0.273, 0.4268, 0.6088, 0.8135, 1.038, 1.281, 1.54",\
                 "-0.0547, -0.0277, 0.0597, 0.2033, 0.391, 0.6113, 0.8581, 1.126, 1.415, 1.724",\
                 "-0.222, -0.1894, -0.0865, 0.083, 0.3035, 0.562, 0.8551, 1.169, 1.507, 1.865",\
                 "-0.4442, -0.4062, -0.2879, -0.0927, 0.1629, 0.4632, 0.8001, 1.163, 1.551, 1.96",\
                 "-0.7211, -0.6798, -0.5473, -0.3262, -0.0365, 0.3047, 0.6852, 1.1, 1.54, 2.003");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.3254, 0.3557, 0.4609, 0.6604, 0.969, 1.401, 1.969, 2.685, 3.555, 4.595",\
                 "0.33, 0.3607, 0.4675, 0.6689, 0.9802, 1.414, 1.982, 2.698, 3.571, 4.61",\
                 "0.3801, 0.4095, 0.5135, 0.7126, 1.023, 1.457, 2.027, 2.744, 3.617, 4.658",\
                 "0.512, 0.54, 0.638, 0.8295, 1.133, 1.561, 2.127, 2.84, 3.713, 4.752",\
                 "0.7015, 0.7332, 0.8424, 1.036, 1.33, 1.748, 2.304, 3.012, 3.878, 4.912",\
                 "0.9418, 0.9773, 1.097, 1.312, 1.623, 2.034, 2.58, 3.275, 4.131, 5.158",\
                 "1.241, 1.28, 1.41, 1.642, 1.979, 2.418, 2.961, 3.645, 4.49, 5.504",\
                 "1.599, 1.642, 1.786, 2.036, 2.395, 2.866, 3.444, 4.129, 4.961, 5.963",\
                 "2.015, 2.064, 2.223, 2.497, 2.878, 3.378, 3.993, 4.718, 5.555, 6.544",\
                 "2.495, 2.549, 2.727, 3.027, 3.435, 3.959, 4.608, 5.376, 6.256, 7.255");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1114, 0.1226, 0.1614, 0.2358, 0.3512, 0.5136, 0.7267, 0.9943, 1.323, 1.714",\
                 "0.1111, 0.1221, 0.1612, 0.2357, 0.3512, 0.5135, 0.7256, 0.9954, 1.323, 1.713",\
                 "0.1536, 0.1632, 0.1947, 0.2513, 0.3532, 0.5134, 0.727, 0.9945, 1.322, 1.714",\
                 "0.2303, 0.2426, 0.2841, 0.3543, 0.4513, 0.5706, 0.7454, 0.9969, 1.322, 1.713",\
                 "0.3277, 0.3448, 0.3959, 0.4812, 0.5984, 0.7426, 0.9106, 1.107, 1.371, 1.725",\
                 "0.445, 0.4642, 0.5288, 0.6346, 0.7722, 0.9398, 1.137, 1.361, 1.607, 1.893",\
                 "0.5808, 0.6058, 0.6832, 0.8102, 0.972, 1.167, 1.389, 1.642, 1.925, 2.236",\
                 "0.734, 0.7638, 0.8582, 1.006, 1.197, 1.421, 1.675, 1.955, 2.268, 2.616",\
                 "0.8998, 0.9372, 1.05, 1.226, 1.443, 1.701, 1.988, 2.302, 2.647, 3.024",\
                 "1.08, 1.123, 1.255, 1.464, 1.715, 2.005, 2.328, 2.68, 3.063, 3.469");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5625, 0.6151, 0.7977, 1.145, 1.685, 2.44, 3.435, 4.687, 6.213, 8.037",\
                 "0.5617, 0.6141, 0.7978, 1.145, 1.684, 2.441, 3.433, 4.686, 6.211, 8.023",\
                 "0.556, 0.6103, 0.7965, 1.145, 1.686, 2.441, 3.436, 4.682, 6.215, 8.024",\
                 "0.5752, 0.6224, 0.7951, 1.141, 1.686, 2.441, 3.434, 4.687, 6.214, 8.029",\
                 "0.6424, 0.6932, 0.8638, 1.176, 1.683, 2.437, 3.435, 4.684, 6.212, 8.023",\
                 "0.714, 0.7668, 0.9514, 1.287, 1.764, 2.458, 3.429, 4.68, 6.207, 8.03",\
                 "0.821, 0.8708, 1.051, 1.398, 1.913, 2.582, 3.481, 4.682, 6.209, 8.024",\
                 "0.958, 1.009, 1.191, 1.529, 2.066, 2.776, 3.649, 4.784, 6.231, 8.023",\
                 "1.123, 1.174, 1.36, 1.698, 2.226, 2.967, 3.891, 4.984, 6.363, 8.076",\
                 "1.3, 1.361, 1.558, 1.901, 2.424, 3.173, 4.129, 5.273, 6.608, 8.25");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.08003, 0.08615, 0.1075, 0.1479, 0.2108, 0.2989, 0.4149, 0.561, 0.7394, 0.9519",\
                 "0.09484, 0.101, 0.1223, 0.1629, 0.2261, 0.3143, 0.4303, 0.5765, 0.7549, 0.9672",\
                 "0.1311, 0.1397, 0.1676, 0.2141, 0.2779, 0.366, 0.482, 0.6281, 0.8065, 1.019",\
                 "0.1426, 0.1552, 0.1959, 0.2633, 0.3524, 0.4591, 0.5803, 0.7262, 0.9041, 1.116",\
                 "0.1161, 0.1331, 0.188, 0.2781, 0.3964, 0.5369, 0.695, 0.8691, 1.057, 1.27",\
                 "0.0449, 0.0668, 0.1363, 0.2513, 0.4012, 0.5772, 0.7738, 0.9901, 1.223, 1.47",\
                 "-0.0749, -0.0486, 0.0364, 0.1767, 0.3577, 0.5731, 0.8109, 1.071, 1.349, 1.644",\
                 "-0.2481, -0.2171, -0.1157, 0.0493, 0.2656, 0.5172, 0.8008, 1.105, 1.431, 1.776",\
                 "-0.4761, -0.4404, -0.3247, -0.1338, 0.1165, 0.409, 0.7362, 1.089, 1.463, 1.859",\
                 "-0.7615, -0.722, -0.5919, -0.3761, -0.0931, 0.2408, 0.6114, 1.014, 1.441, 1.889");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.3248, 0.3549, 0.4603, 0.6595, 0.9681, 1.401, 1.968, 2.682, 3.555, 4.594",\
                 "0.3282, 0.3589, 0.4656, 0.667, 0.9778, 1.412, 1.98, 2.696, 3.569, 4.609",\
                 "0.3792, 0.4087, 0.5124, 0.711, 1.021, 1.455, 2.025, 2.741, 3.615, 4.655",\
                 "0.5127, 0.5406, 0.6384, 0.8299, 1.132, 1.56, 2.125, 2.838, 3.71, 4.75",\
                 "0.7035, 0.7359, 0.8442, 1.038, 1.331, 1.75, 2.305, 3.012, 3.876, 4.911",\
                 "0.946, 0.981, 1.101, 1.316, 1.626, 2.037, 2.582, 3.276, 4.133, 5.158",\
                 "1.249, 1.287, 1.416, 1.648, 1.985, 2.424, 2.966, 3.649, 4.493, 5.507",\
                 "1.611, 1.654, 1.796, 2.045, 2.404, 2.875, 3.452, 4.136, 4.968, 5.97",\
                 "2.032, 2.082, 2.241, 2.511, 2.892, 3.391, 4.005, 4.728, 5.566, 6.555",\
                 "2.52, 2.573, 2.75, 3.047, 3.455, 3.978, 4.625, 5.391, 6.271, 7.27");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1022, 0.1122, 0.1482, 0.2164, 0.3229, 0.472, 0.669, 0.9158, 1.219, 1.579",\
                 "0.1019, 0.1121, 0.1481, 0.2166, 0.323, 0.4722, 0.6677, 0.9166, 1.218, 1.579",\
                 "0.1469, 0.1562, 0.1856, 0.2363, 0.3272, 0.472, 0.6686, 0.9168, 1.218, 1.579",\
                 "0.2226, 0.2348, 0.2742, 0.3405, 0.4304, 0.5408, 0.6958, 0.9198, 1.219, 1.578",\
                 "0.3192, 0.3346, 0.3843, 0.4669, 0.5766, 0.713, 0.8704, 1.049, 1.284, 1.597",\
                 "0.4344, 0.4528, 0.5148, 0.617, 0.7484, 0.9072, 1.093, 1.304, 1.535, 1.792",\
                 "0.568, 0.592, 0.6668, 0.788, 0.9458, 1.133, 1.344, 1.583, 1.85, 2.139",\
                 "0.7172, 0.747, 0.8382, 0.9818, 1.166, 1.383, 1.624, 1.892, 2.188, 2.514",\
                 "0.8812, 0.9182, 1.026, 1.197, 1.409, 1.658, 1.932, 2.236, 2.561, 2.919",\
                 "1.058, 1.099, 1.227, 1.431, 1.677, 1.954, 2.267, 2.606, 2.971, 3.361");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5627, 0.6148, 0.7978, 1.146, 1.685, 2.44, 3.437, 4.678, 6.204, 8.024",\
                 "0.5616, 0.6141, 0.7973, 1.145, 1.685, 2.44, 3.433, 4.685, 6.204, 8.034",\
                 "0.5559, 0.6102, 0.7963, 1.145, 1.685, 2.441, 3.429, 4.686, 6.21, 8.023",\
                 "0.5748, 0.6237, 0.7951, 1.141, 1.685, 2.437, 3.434, 4.688, 6.211, 8.022",\
                 "0.6412, 0.693, 0.8644, 1.176, 1.685, 2.436, 3.434, 4.686, 6.21, 8.027",\
                 "0.7132, 0.7652, 0.9488, 1.285, 1.763, 2.459, 3.429, 4.677, 6.209, 8.028",\
                 "0.8158, 0.866, 1.047, 1.395, 1.912, 2.58, 3.48, 4.685, 6.207, 8.034",\
                 "0.9506, 1.002, 1.179, 1.522, 2.059, 2.773, 3.646, 4.776, 6.227, 8.026",\
                 "1.112, 1.165, 1.348, 1.684, 2.218, 2.96, 3.884, 4.979, 6.355, 8.074",\
                 "1.293, 1.348, 1.544, 1.886, 2.414, 3.16, 4.124, 5.265, 6.603, 8.246");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1382, 0.1477, 0.1804, 0.2405, 0.3312, 0.4554, 0.6166, 0.818, 1.063, 1.354",\
                 "0.152, 0.1616, 0.1943, 0.2547, 0.3454, 0.4698, 0.6311, 0.8326, 1.077, 1.368",\
                 "0.2032, 0.2126, 0.2438, 0.3022, 0.3923, 0.5163, 0.6776, 0.879, 1.124, 1.415",\
                 "0.2536, 0.2662, 0.3085, 0.381, 0.4808, 0.6053, 0.7651, 0.966, 1.21, 1.501",\
                 "0.2733, 0.2895, 0.3429, 0.435, 0.5614, 0.7172, 0.8984, 1.104, 1.347, 1.636",\
                 "0.2537, 0.2738, 0.3403, 0.4536, 0.6081, 0.7972, 1.017, 1.263, 1.534, 1.83",\
                 "0.1892, 0.2132, 0.2934, 0.4291, 0.614, 0.8392, 1.098, 1.386, 1.704, 2.048",\
                 "0.0763, 0.1045, 0.1968, 0.3568, 0.5732, 0.8356, 1.136, 1.47, 1.834, 2.229",\
                 "-0.0878, -0.056, 0.0506, 0.2319, 0.4812, 0.7825, 1.127, 1.508, 1.921, 2.366",\
                 "-0.3075, -0.2713, -0.1519, 0.0536, 0.3331, 0.6743, 1.065, 1.494, 1.96, 2.458");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.3353, 0.3651, 0.4709, 0.6713, 0.9816, 1.416, 1.986, 2.703, 3.578, 4.62",\
                 "0.3393, 0.3701, 0.4775, 0.68, 0.9926, 1.428, 2, 2.718, 3.594, 4.636",\
                 "0.3895, 0.4196, 0.5237, 0.7238, 1.036, 1.472, 2.044, 2.764, 3.64, 4.683",\
                 "0.5221, 0.5497, 0.6482, 0.8411, 1.145, 1.575, 2.143, 2.86, 3.735, 4.777",\
                 "0.713, 0.7453, 0.854, 1.047, 1.343, 1.763, 2.322, 3.031, 3.899, 4.937",\
                 "0.9557, 0.9904, 1.11, 1.326, 1.636, 2.049, 2.597, 3.295, 4.153, 5.183",\
                 "1.258, 1.296, 1.426, 1.657, 1.994, 2.434, 2.978, 3.665, 4.511, 5.528",\
                 "1.619, 1.662, 1.804, 2.053, 2.413, 2.885, 3.462, 4.149, 4.984, 5.988",\
                 "2.041, 2.089, 2.247, 2.518, 2.899, 3.399, 4.014, 4.739, 5.579, 6.57",\
                 "2.526, 2.579, 2.754, 3.05, 3.459, 3.984, 4.631, 5.401, 6.281, 7.281");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2088, 0.2241, 0.277, 0.3755, 0.5242, 0.7308, 1.001, 1.341, 1.758, 2.252",\
                 "0.208, 0.2235, 0.2766, 0.3747, 0.5243, 0.7308, 1.002, 1.342, 1.757, 2.252",\
                 "0.218, 0.2304, 0.2765, 0.3701, 0.5219, 0.7306, 1.002, 1.341, 1.756, 2.252",\
                 "0.2997, 0.3142, 0.363, 0.4465, 0.565, 0.7425, 1.001, 1.342, 1.756, 2.252",\
                 "0.4052, 0.4206, 0.478, 0.5768, 0.7146, 0.8892, 1.101, 1.385, 1.766, 2.252",\
                 "0.5328, 0.5528, 0.6216, 0.7364, 0.891, 1.09, 1.326, 1.6, 1.919, 2.333",\
                 "0.6798, 0.7064, 0.7882, 0.9216, 1.101, 1.32, 1.581, 1.884, 2.228, 2.61",\
                 "0.8474, 0.8784, 0.9728, 1.132, 1.337, 1.587, 1.87, 2.2, 2.573, 2.993",\
                 "1.038, 1.072, 1.18, 1.361, 1.6, 1.88, 2.2, 2.556, 2.957, 3.407",\
                 "1.246, 1.287, 1.411, 1.617, 1.885, 2.203, 2.557, 2.951, 3.382, 3.86");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8202, 0.8779, 1.077, 1.446, 2.004, 2.771, 3.77, 5.021, 6.547, 8.368",\
                 "0.8195, 0.8774, 1.077, 1.446, 2.004, 2.771, 3.77, 5.021, 6.547, 8.367",\
                 "0.8139, 0.8733, 1.075, 1.446, 2.004, 2.771, 3.77, 5.021, 6.547, 8.369",\
                 "0.8324, 0.8853, 1.074, 1.442, 2.003, 2.771, 3.77, 5.022, 6.548, 8.368",\
                 "0.9306, 0.978, 1.149, 1.478, 2.005, 2.771, 3.77, 5.022, 6.55, 8.369",\
                 "1.038, 1.091, 1.273, 1.601, 2.089, 2.793, 3.771, 5.022, 6.55, 8.369",\
                 "1.183, 1.233, 1.41, 1.752, 2.255, 2.922, 3.824, 5.029, 6.548, 8.367",\
                 "1.378, 1.422, 1.586, 1.918, 2.441, 3.131, 3.999, 5.123, 6.568, 8.37",\
                 "1.617, 1.658, 1.811, 2.123, 2.635, 3.358, 4.255, 5.342, 6.706, 8.411",\
                 "1.884, 1.926, 2.076, 2.378, 2.873, 3.595, 4.526, 5.649, 6.971, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1764, 0.1859, 0.2186, 0.2791, 0.3702, 0.495, 0.6568, 0.8587, 1.104, 1.395",\
                 "0.1893, 0.1987, 0.2314, 0.2919, 0.3831, 0.508, 0.6697, 0.8716, 1.117, 1.408",\
                 "0.2366, 0.2457, 0.2773, 0.3368, 0.4276, 0.5522, 0.7139, 0.9158, 1.161, 1.452",\
                 "0.3011, 0.3128, 0.3518, 0.4209, 0.5163, 0.6397, 0.8005, 1.002, 1.247, 1.537",\
                 "0.3367, 0.3518, 0.4016, 0.4884, 0.6087, 0.7593, 0.9363, 1.14, 1.383, 1.673",\
                 "0.3368, 0.3554, 0.4161, 0.5227, 0.6693, 0.8515, 1.065, 1.306, 1.573, 1.867",\
                 "0.296, 0.3182, 0.3913, 0.5181, 0.6928, 0.9078, 1.158, 1.44, 1.752, 2.092",\
                 "0.2116, 0.2376, 0.3215, 0.47, 0.6736, 0.9243, 1.214, 1.538, 1.895, 2.281",\
                 "0.0821, 0.111, 0.2069, 0.3754, 0.6081, 0.8946, 1.225, 1.595, 1.998, 2.432",\
                 "-0.0956, -0.063, 0.0451, 0.2313, 0.4929, 0.8161, 1.188, 1.604, 2.056, 2.541");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.449, 0.4791, 0.5847, 0.7845, 1.095, 1.528, 2.098, 2.816, 3.691, 4.734",\
                 "0.4547, 0.4857, 0.5934, 0.7956, 1.108, 1.544, 2.115, 2.833, 3.709, 4.752",\
                 "0.4836, 0.514, 0.621, 0.8248, 1.139, 1.578, 2.151, 2.872, 3.749, 4.793",\
                 "0.5595, 0.59, 0.695, 0.8938, 1.205, 1.64, 2.213, 2.933, 3.811, 4.856",\
                 "0.6885, 0.7202, 0.8312, 1.034, 1.338, 1.765, 2.33, 3.045, 3.919, 4.961",\
                 "0.8833, 0.9162, 1.029, 1.237, 1.55, 1.973, 2.527, 3.231, 4.097, 5.13",\
                 "1.136, 1.172, 1.292, 1.506, 1.826, 2.262, 2.815, 3.506, 4.358, 5.381",\
                 "1.437, 1.479, 1.612, 1.841, 2.171, 2.616, 3.184, 3.879, 4.718, 5.726",\
                 "1.788, 1.833, 1.981, 2.234, 2.584, 3.041, 3.621, 4.332, 5.178, 6.174",\
                 "2.188, 2.238, 2.402, 2.68, 3.06, 3.538, 4.131, 4.857, 5.722, 6.727");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2516, 0.2667, 0.3191, 0.4175, 0.5671, 0.7748, 1.046, 1.388, 1.804, 2.298",\
                 "0.2509, 0.2665, 0.3192, 0.4175, 0.5672, 0.7745, 1.046, 1.387, 1.804, 2.298",\
                 "0.2493, 0.2634, 0.3144, 0.4133, 0.5655, 0.7745, 1.046, 1.387, 1.803, 2.297",\
                 "0.3315, 0.3459, 0.3936, 0.4755, 0.5971, 0.7823, 1.045, 1.386, 1.803, 2.297",\
                 "0.4439, 0.46, 0.5158, 0.6118, 0.7466, 0.9192, 1.133, 1.423, 1.808, 2.297",\
                 "0.5816, 0.6018, 0.6656, 0.776, 0.9286, 1.122, 1.356, 1.628, 1.953, 2.371",\
                 "0.7432, 0.7672, 0.8426, 0.9714, 1.145, 1.358, 1.615, 1.915, 2.258, 2.64",\
                 "0.9266, 0.9528, 1.043, 1.194, 1.391, 1.629, 1.911, 2.234, 2.608, 3.023",\
                 "1.135, 1.169, 1.272, 1.442, 1.665, 1.935, 2.244, 2.595, 2.99, 3.439",\
                 "1.37, 1.405, 1.523, 1.719, 1.973, 2.273, 2.614, 2.996, 3.419, 3.891");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8224, 0.8796, 1.078, 1.446, 2.004, 2.771, 3.77, 5.022, 6.547, 8.37",\
                 "0.8226, 0.8796, 1.078, 1.446, 2.004, 2.771, 3.77, 5.022, 6.547, 8.369",\
                 "0.8238, 0.8804, 1.078, 1.446, 2.004, 2.771, 3.77, 5.021, 6.547, 8.369",\
                 "0.8588, 0.9099, 1.092, 1.448, 2.004, 2.771, 3.77, 5.022, 6.55, 8.37",\
                 "0.955, 1.002, 1.17, 1.497, 2.019, 2.772, 3.77, 5.022, 6.548, 8.366",\
                 "1.058, 1.106, 1.277, 1.602, 2.099, 2.809, 3.775, 5.022, 6.548, 8.369",\
                 "1.21, 1.251, 1.408, 1.723, 2.225, 2.914, 3.839, 5.04, 6.551, 8.369",\
                 "1.42, 1.455, 1.591, 1.881, 2.366, 3.064, 3.969, 5.129, 6.586, 8.375",\
                 "1.671, 1.703, 1.831, 2.095, 2.549, 3.233, 4.147, 5.288, 6.701, 8.43",\
                 "1.947, 1.982, 2.108, 2.362, 2.788, 3.439, 4.346, 5.495, 6.89, 8.573");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1613, 0.1703, 0.2014, 0.2592, 0.3476, 0.4699, 0.6296, 0.8298, 1.074, 1.364",\
                 "0.1742, 0.1832, 0.2142, 0.2722, 0.3605, 0.4828, 0.6425, 0.8427, 1.087, 1.377",\
                 "0.2204, 0.2292, 0.2595, 0.3168, 0.405, 0.5271, 0.6867, 0.8869, 1.131, 1.421",\
                 "0.2728, 0.2853, 0.3253, 0.3949, 0.4916, 0.6146, 0.7734, 0.973, 1.216, 1.506",\
                 "0.2958, 0.3113, 0.3631, 0.4513, 0.5746, 0.7276, 0.9064, 1.111, 1.353, 1.642",\
                 "0.2811, 0.3008, 0.3649, 0.4747, 0.6255, 0.811, 1.027, 1.271, 1.541, 1.835",\
                 "0.2262, 0.2492, 0.3252, 0.4577, 0.6382, 0.8586, 1.113, 1.399, 1.714, 2.056",\
                 "0.1282, 0.1546, 0.2437, 0.3979, 0.6079, 0.8651, 1.162, 1.49, 1.85, 2.24",\
                 "-0.0155, 0.0151, 0.1162, 0.2907, 0.5317, 0.8257, 1.164, 1.539, 1.946, 2.385",\
                 "-0.2062, -0.1724, -0.0591, 0.1368, 0.4055, 0.7374, 1.118, 1.54, 1.998, 2.488");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4488, 0.4789, 0.5847, 0.7845, 1.095, 1.528, 2.098, 2.816, 3.691, 4.732",\
                 "0.4547, 0.4857, 0.5933, 0.7959, 1.108, 1.544, 2.115, 2.833, 3.709, 4.751",\
                 "0.4829, 0.5139, 0.621, 0.8248, 1.139, 1.578, 2.151, 2.872, 3.748, 4.792",\
                 "0.5595, 0.5902, 0.695, 0.8941, 1.204, 1.64, 2.213, 2.933, 3.811, 4.854",\
                 "0.6885, 0.7203, 0.8312, 1.034, 1.337, 1.765, 2.33, 3.045, 3.919, 4.959",\
                 "0.8833, 0.9163, 1.029, 1.237, 1.55, 1.973, 2.527, 3.231, 4.096, 5.129",\
                 "1.136, 1.172, 1.292, 1.507, 1.827, 2.262, 2.816, 3.506, 4.358, 5.38",\
                 "1.438, 1.479, 1.611, 1.841, 2.171, 2.616, 3.183, 3.878, 4.718, 5.725",\
                 "1.788, 1.833, 1.981, 2.234, 2.584, 3.041, 3.621, 4.332, 5.178, 6.172",\
                 "2.189, 2.238, 2.402, 2.68, 3.06, 3.538, 4.131, 4.856, 5.721, 6.725");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2224, 0.2371, 0.2878, 0.3843, 0.5322, 0.7387, 1.009, 1.351, 1.766, 2.259",\
                 "0.2217, 0.2366, 0.2877, 0.3838, 0.5317, 0.7389, 1.009, 1.35, 1.766, 2.26",\
                 "0.2281, 0.2407, 0.2877, 0.3821, 0.5317, 0.7377, 1.01, 1.35, 1.766, 2.259",\
                 "0.3128, 0.3269, 0.3731, 0.4562, 0.5744, 0.7529, 1.01, 1.35, 1.766, 2.261",\
                 "0.4256, 0.4417, 0.496, 0.591, 0.7256, 0.8976, 1.109, 1.394, 1.774, 2.26",\
                 "0.5618, 0.5828, 0.6478, 0.7576, 0.9084, 1.101, 1.335, 1.606, 1.929, 2.341",\
                 "0.7234, 0.7466, 0.8226, 0.9518, 1.125, 1.338, 1.593, 1.894, 2.236, 2.618",\
                 "0.9052, 0.9334, 1.026, 1.175, 1.371, 1.612, 1.889, 2.213, 2.584, 3.001",\
                 "1.115, 1.148, 1.25, 1.42, 1.645, 1.916, 2.226, 2.573, 2.969, 3.416",\
                 "1.346, 1.383, 1.504, 1.696, 1.95, 2.253, 2.593, 2.977, 3.396, 3.869");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7352, 0.7875, 0.9709, 1.319, 1.858, 2.613, 3.605, 4.855, 6.382, 8.202",\
                 "0.7351, 0.7876, 0.9707, 1.32, 1.858, 2.613, 3.606, 4.858, 6.38, 8.203",\
                 "0.7361, 0.7883, 0.9713, 1.319, 1.858, 2.613, 3.604, 4.855, 6.383, 8.204",\
                 "0.7706, 0.817, 0.9859, 1.321, 1.858, 2.613, 3.606, 4.856, 6.385, 8.201",\
                 "0.8516, 0.899, 1.06, 1.37, 1.873, 2.614, 3.607, 4.858, 6.384, 8.202",\
                 "0.942, 0.9868, 1.152, 1.469, 1.952, 2.652, 3.611, 4.856, 6.381, 8.201",\
                 "1.077, 1.118, 1.271, 1.576, 2.071, 2.756, 3.675, 4.875, 6.386, 8.202",\
                 "1.264, 1.301, 1.439, 1.724, 2.205, 2.9, 3.805, 4.96, 6.42, 8.204",\
                 "1.48, 1.518, 1.656, 1.926, 2.378, 3.06, 3.977, 5.121, 6.534, 8.266",\
                 "1.718, 1.759, 1.901, 2.174, 2.61, 3.26, 4.17, 5.324, 6.719, 8.411");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1312, 0.1385, 0.1633, 0.2098, 0.2804, 0.3779, 0.5049, 0.6641, 0.8579, 1.089",\
                 "0.1451, 0.1523, 0.1772, 0.2236, 0.2942, 0.3917, 0.5187, 0.678, 0.8718, 1.102",\
                 "0.1943, 0.202, 0.2274, 0.2732, 0.3433, 0.4405, 0.5675, 0.7267, 0.9204, 1.151",\
                 "0.2384, 0.2494, 0.2852, 0.347, 0.432, 0.5362, 0.6632, 0.8218, 1.015, 1.245",\
                 "0.2496, 0.264, 0.3112, 0.3922, 0.5022, 0.6379, 0.7948, 0.9693, 1.165, 1.395",\
                 "0.2213, 0.239, 0.2987, 0.4, 0.5373, 0.7051, 0.8983, 1.114, 1.349, 1.601",\
                 "0.1491, 0.1704, 0.2424, 0.3644, 0.5303, 0.7326, 0.9635, 1.22, 1.498, 1.799",\
                 "0.0305, 0.0558, 0.1393, 0.2821, 0.4778, 0.7148, 0.9857, 1.285, 1.609, 1.956",\
                 "-0.1374, -0.1084, -0.0132, 0.1497, 0.374, 0.6483, 0.9594, 1.303, 1.674, 2.07",\
                 "-0.3568, -0.3253, -0.218, -0.0339, 0.2195, 0.5271, 0.8814, 1.27, 1.69, 2.137");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4483, 0.4778, 0.5834, 0.7833, 1.094, 1.527, 2.097, 2.815, 3.69, 4.731",\
                 "0.4516, 0.4822, 0.5899, 0.7922, 1.105, 1.54, 2.112, 2.83, 3.705, 4.747",\
                 "0.4802, 0.5107, 0.6175, 0.8206, 1.135, 1.573, 2.146, 2.866, 3.743, 4.787",\
                 "0.5587, 0.5893, 0.6938, 0.8919, 1.201, 1.636, 2.208, 2.928, 3.805, 4.849",\
                 "0.6932, 0.7248, 0.8344, 1.037, 1.339, 1.765, 2.329, 3.043, 3.915, 4.956",\
                 "0.8962, 0.9289, 1.04, 1.247, 1.559, 1.98, 2.532, 3.235, 4.098, 5.13",\
                 "1.16, 1.196, 1.314, 1.526, 1.846, 2.279, 2.83, 3.519, 4.369, 5.389",\
                 "1.477, 1.516, 1.647, 1.873, 2.201, 2.644, 3.21, 3.903, 4.739, 5.744",\
                 "1.846, 1.89, 2.035, 2.283, 2.629, 3.083, 3.66, 4.369, 5.212, 6.205",\
                 "2.27, 2.319, 2.478, 2.75, 3.125, 3.598, 4.187, 4.91, 5.772, 6.772");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1699, 0.1815, 0.222, 0.2977, 0.4146, 0.5777, 0.7912, 1.06, 1.388, 1.778",\
                 "0.1693, 0.1812, 0.2218, 0.2976, 0.4144, 0.5777, 0.7915, 1.059, 1.389, 1.779",\
                 "0.1901, 0.1993, 0.2321, 0.2997, 0.414, 0.5769, 0.7909, 1.059, 1.387, 1.779",\
                 "0.2787, 0.2905, 0.3296, 0.3962, 0.4878, 0.6145, 0.8016, 1.061, 1.388, 1.779",\
                 "0.3887, 0.403, 0.4514, 0.5322, 0.644, 0.7846, 0.9484, 1.152, 1.426, 1.786",\
                 "0.5206, 0.5396, 0.5978, 0.6946, 0.827, 0.9878, 1.181, 1.401, 1.646, 1.938",\
                 "0.6732, 0.695, 0.766, 0.8824, 1.036, 1.221, 1.44, 1.687, 1.967, 2.275",\
                 "0.8504, 0.8766, 0.9604, 1.095, 1.271, 1.486, 1.73, 2.004, 2.314, 2.656",\
                 "1.056, 1.082, 1.178, 1.335, 1.538, 1.778, 2.053, 2.358, 2.695, 3.066",\
                 "1.273, 1.309, 1.42, 1.603, 1.832, 2.102, 2.409, 2.748, 3.114, 3.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7346, 0.7876, 0.9707, 1.32, 1.858, 2.612, 3.606, 4.858, 6.383, 8.194",\
                 "0.7348, 0.7877, 0.9716, 1.32, 1.858, 2.613, 3.606, 4.854, 6.381, 8.2",\
                 "0.7363, 0.7883, 0.971, 1.32, 1.858, 2.613, 3.606, 4.858, 6.382, 8.202",\
                 "0.7713, 0.8171, 0.9863, 1.321, 1.859, 2.613, 3.606, 4.858, 6.385, 8.204",\
                 "0.8494, 0.897, 1.058, 1.369, 1.873, 2.613, 3.606, 4.855, 6.383, 8.204",\
                 "0.9336, 0.9788, 1.144, 1.465, 1.949, 2.65, 3.611, 4.858, 6.385, 8.197",\
                 "1.061, 1.102, 1.255, 1.567, 2.065, 2.752, 3.674, 4.875, 6.383, 8.201",\
                 "1.238, 1.274, 1.413, 1.703, 2.189, 2.891, 3.798, 4.959, 6.416, 8.201",\
                 "1.446, 1.483, 1.621, 1.892, 2.352, 3.044, 3.966, 5.111, 6.524, 8.263",\
                 "1.676, 1.717, 1.858, 2.13, 2.571, 3.227, 4.139, 5.308, 6.708, 8.396");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1301, 0.139, 0.1697, 0.227, 0.3146, 0.4361, 0.5952, 0.7949, 1.038, 1.328",\
                 "0.143, 0.1518, 0.1826, 0.2399, 0.3274, 0.4491, 0.6081, 0.8078, 1.051, 1.341",\
                 "0.1879, 0.1973, 0.2282, 0.2846, 0.3719, 0.4934, 0.6523, 0.852, 1.095, 1.385",\
                 "0.2256, 0.2387, 0.2819, 0.3552, 0.456, 0.5808, 0.7391, 0.9383, 1.181, 1.471",\
                 "0.2315, 0.2485, 0.3048, 0.4, 0.5288, 0.6864, 0.8689, 1.076, 1.318, 1.606",\
                 "0.2001, 0.2217, 0.2914, 0.4096, 0.5688, 0.7603, 0.9818, 1.23, 1.503, 1.8",\
                 "0.1283, 0.1536, 0.2368, 0.3795, 0.5691, 0.7986, 1.06, 1.35, 1.67, 2.015",\
                 "0.0141, 0.0438, 0.1403, 0.3052, 0.5275, 0.7943, 1.098, 1.434, 1.799, 2.194",\
                 "-0.1455, -0.1118, -0.0014, 0.1851, 0.4381, 0.7442, 1.092, 1.475, 1.889, 2.333",\
                 "-0.3521, -0.3149, -0.1926, 0.0181, 0.3011, 0.645, 1.038, 1.468, 1.934, 2.43");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4394, 0.4695, 0.5748, 0.774, 1.082, 1.514, 2.081, 2.796, 3.668, 4.708",\
                 "0.4455, 0.4763, 0.5834, 0.7851, 1.095, 1.529, 2.098, 2.813, 3.686, 4.726",\
                 "0.4735, 0.5042, 0.6114, 0.8141, 1.127, 1.563, 2.134, 2.852, 3.726, 4.767",\
                 "0.549, 0.5797, 0.6845, 0.8829, 1.191, 1.625, 2.196, 2.913, 3.788, 4.829",\
                 "0.6772, 0.7088, 0.8197, 1.022, 1.325, 1.75, 2.313, 3.025, 3.895, 4.935",\
                 "0.8709, 0.9039, 1.017, 1.224, 1.536, 1.958, 2.51, 3.212, 4.073, 5.106",\
                 "1.121, 1.157, 1.278, 1.492, 1.812, 2.246, 2.797, 3.486, 4.336, 5.355",\
                 "1.419, 1.46, 1.594, 1.825, 2.155, 2.599, 3.164, 3.857, 4.695, 5.699",\
                 "1.764, 1.81, 1.96, 2.215, 2.567, 3.022, 3.601, 4.31, 5.153, 6.146",\
                 "2.159, 2.21, 2.377, 2.657, 3.04, 3.518, 4.11, 4.833, 5.695, 6.699");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1887, 0.2032, 0.2532, 0.3483, 0.4956, 0.701, 0.9709, 1.311, 1.727, 2.221",\
                 "0.1876, 0.2023, 0.2532, 0.3479, 0.4956, 0.7008, 0.9709, 1.312, 1.726, 2.221",\
                 "0.2055, 0.2175, 0.2601, 0.3473, 0.4946, 0.7006, 0.9711, 1.312, 1.727, 2.221",\
                 "0.2917, 0.3051, 0.3516, 0.4341, 0.5512, 0.7227, 0.9739, 1.312, 1.727, 2.222",\
                 "0.403, 0.4197, 0.4741, 0.5694, 0.7028, 0.8758, 1.086, 1.364, 1.74, 2.222",\
                 "0.5386, 0.5594, 0.6242, 0.7344, 0.8872, 1.08, 1.312, 1.585, 1.903, 2.311",\
                 "0.6966, 0.7192, 0.7988, 0.9294, 1.102, 1.316, 1.57, 1.871, 2.214, 2.595",\
                 "0.878, 0.9056, 0.997, 1.149, 1.347, 1.588, 1.869, 2.189, 2.561, 2.977",\
                 "1.081, 1.114, 1.223, 1.394, 1.623, 1.89, 2.202, 2.55, 2.946, 3.39",\
                 "1.304, 1.345, 1.472, 1.669, 1.923, 2.227, 2.569, 2.953, 3.376, 3.846");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5654, 0.6165, 0.7984, 1.146, 1.683, 2.44, 3.431, 4.678, 6.209, 8.036",\
                 "0.565, 0.6169, 0.7983, 1.145, 1.683, 2.44, 3.435, 4.68, 6.212, 8.036",\
                 "0.5665, 0.6177, 0.799, 1.146, 1.687, 2.439, 3.433, 4.687, 6.207, 8.019",\
                 "0.6025, 0.6482, 0.813, 1.147, 1.685, 2.437, 3.434, 4.685, 6.21, 8.035",\
                 "0.6686, 0.718, 0.8858, 1.197, 1.7, 2.438, 3.431, 4.681, 6.215, 8.032",\
                 "0.7484, 0.7934, 0.9624, 1.287, 1.777, 2.479, 3.434, 4.678, 6.213, 8.036",\
                 "0.873, 0.9144, 1.073, 1.386, 1.89, 2.581, 3.501, 4.702, 6.215, 8.025",\
                 "1.032, 1.077, 1.231, 1.525, 2.014, 2.719, 3.628, 4.787, 6.249, 8.027",\
                 "1.218, 1.264, 1.424, 1.718, 2.183, 2.872, 3.795, 4.944, 6.357, 8.095",\
                 "1.421, 1.473, 1.641, 1.946, 2.403, 3.068, 3.98, 5.144, 6.545, 8.229");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1073, 0.1145, 0.1391, 0.1848, 0.2546, 0.3514, 0.4778, 0.6365, 0.8299, 1.06",\
                 "0.1213, 0.1284, 0.1529, 0.1987, 0.2685, 0.3653, 0.4917, 0.6504, 0.8438, 1.074",\
                 "0.1662, 0.1745, 0.2016, 0.2482, 0.3176, 0.4141, 0.5405, 0.6992, 0.8924, 1.123",\
                 "0.1958, 0.2078, 0.2466, 0.3124, 0.4011, 0.5087, 0.6362, 0.7943, 0.9871, 1.217",\
                 "0.191, 0.2068, 0.2587, 0.3455, 0.4614, 0.6012, 0.7623, 0.9406, 1.137, 1.366",\
                 "0.146, 0.1659, 0.231, 0.3403, 0.4858, 0.6601, 0.8578, 1.077, 1.316, 1.572",\
                 "0.058, 0.0817, 0.1597, 0.2922, 0.4675, 0.6777, 0.9154, 1.176, 1.46, 1.763",\
                 "-0.0764, -0.049, 0.0428, 0.1959, 0.403, 0.6496, 0.9286, 1.235, 1.563, 1.914",\
                 "-0.2603, -0.2284, -0.1239, 0.0514, 0.2881, 0.5724, 0.8935, 1.245, 1.622, 2.023",\
                 "-0.4948, -0.4597, -0.3439, -0.1454, 0.1211, 0.4417, 0.8059, 1.204, 1.631, 2.083");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4382, 0.4683, 0.5736, 0.7724, 1.081, 1.512, 2.08, 2.795, 3.667, 4.707",\
                 "0.4421, 0.4728, 0.58, 0.7811, 1.092, 1.525, 2.094, 2.81, 3.683, 4.723",\
                 "0.4704, 0.5012, 0.6076, 0.8096, 1.122, 1.558, 2.129, 2.846, 3.72, 4.762",\
                 "0.5483, 0.5791, 0.6832, 0.8803, 1.188, 1.621, 2.191, 2.908, 3.782, 4.823",\
                 "0.6818, 0.7139, 0.8229, 1.025, 1.326, 1.75, 2.312, 3.022, 3.892, 4.931",\
                 "0.8836, 0.9164, 1.028, 1.234, 1.546, 1.965, 2.515, 3.214, 4.074, 5.105",\
                 "1.145, 1.18, 1.3, 1.512, 1.831, 2.263, 2.812, 3.499, 4.346, 5.363",\
                 "1.458, 1.499, 1.63, 1.858, 2.185, 2.627, 3.192, 3.881, 4.716, 5.718",\
                 "1.823, 1.868, 2.014, 2.265, 2.612, 3.065, 3.64, 4.348, 5.188, 6.179",\
                 "2.242, 2.292, 2.454, 2.73, 3.105, 3.577, 4.166, 4.888, 5.746, 6.747");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1443, 0.1558, 0.1954, 0.27, 0.3858, 0.5481, 0.7604, 1.029, 1.358, 1.748",\
                 "0.1434, 0.1549, 0.1947, 0.2697, 0.3859, 0.5481, 0.7612, 1.029, 1.357, 1.748",\
                 "0.1769, 0.1854, 0.2156, 0.2772, 0.3862, 0.5477, 0.7613, 1.029, 1.357, 1.748",\
                 "0.2626, 0.2746, 0.3132, 0.3804, 0.4731, 0.5947, 0.7758, 1.031, 1.357, 1.747",\
                 "0.3707, 0.3863, 0.4335, 0.5154, 0.6278, 0.7678, 0.9344, 1.132, 1.401, 1.757",\
                 "0.5006, 0.5192, 0.5784, 0.6772, 0.8092, 0.9708, 1.163, 1.385, 1.629, 1.919",\
                 "0.6512, 0.674, 0.7444, 0.8628, 1.017, 1.204, 1.42, 1.669, 1.949, 2.257",\
                 "0.8294, 0.8548, 0.9386, 1.076, 1.254, 1.466, 1.711, 1.989, 2.296, 2.637",\
                 "1.022, 1.053, 1.152, 1.313, 1.518, 1.758, 2.034, 2.34, 2.677, 3.048",\
                 "1.234, 1.273, 1.391, 1.576, 1.807, 2.08, 2.389, 2.727, 3.099, 3.497");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5654, 0.6166, 0.799, 1.145, 1.683, 2.441, 3.429, 4.681, 6.209, 8.034",\
                 "0.565, 0.6173, 0.7985, 1.145, 1.683, 2.436, 3.435, 4.684, 6.204, 8.036",\
                 "0.5665, 0.6178, 0.7988, 1.146, 1.685, 2.44, 3.435, 4.68, 6.201, 8.022",\
                 "0.6015, 0.6468, 0.8132, 1.147, 1.683, 2.44, 3.433, 4.679, 6.214, 8.036",\
                 "0.6678, 0.7158, 0.8848, 1.196, 1.7, 2.439, 3.432, 4.682, 6.203, 8.021",\
                 "0.7406, 0.7868, 0.957, 1.283, 1.774, 2.479, 3.437, 4.684, 6.215, 8.019",\
                 "0.856, 0.9008, 1.057, 1.377, 1.883, 2.576, 3.501, 4.701, 6.206, 8.025",\
                 "1.01, 1.055, 1.207, 1.506, 1.998, 2.707, 3.622, 4.781, 6.25, 8.023",\
                 "1.189, 1.235, 1.393, 1.684, 2.158, 2.85, 3.784, 4.933, 6.354, 8.092",\
                 "1.386, 1.436, 1.603, 1.909, 2.363, 3.032, 3.96, 5.124, 6.53, 8.216");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1073, 0.1145, 0.1391, 0.1849, 0.2547, 0.3515, 0.478, 0.6367, 0.8302, 1.061",\
                 "0.1214, 0.1285, 0.153, 0.1987, 0.2686, 0.3654, 0.4918, 0.6506, 0.8441, 1.074",\
                 "0.1662, 0.1746, 0.2017, 0.2483, 0.3177, 0.4142, 0.5406, 0.6993, 0.8926, 1.123",\
                 "0.1958, 0.2079, 0.2466, 0.3125, 0.4011, 0.5088, 0.6363, 0.7943, 0.9873, 1.217",\
                 "0.191, 0.2069, 0.2586, 0.3453, 0.4614, 0.6014, 0.7621, 0.9405, 1.137, 1.367",\
                 "0.1462, 0.1659, 0.2311, 0.3405, 0.4858, 0.6602, 0.8577, 1.077, 1.316, 1.572",\
                 "0.0581, 0.0818, 0.1596, 0.2923, 0.4679, 0.678, 0.9157, 1.177, 1.46, 1.764",\
                 "-0.0762, -0.0488, 0.0429, 0.1961, 0.4033, 0.6498, 0.9292, 1.235, 1.563, 1.915",\
                 "-0.2602, -0.2282, -0.1237, 0.0516, 0.2883, 0.5727, 0.8938, 1.245, 1.622, 2.023",\
                 "-0.4945, -0.4594, -0.3436, -0.1451, 0.1214, 0.442, 0.8063, 1.205, 1.632, 2.084");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4382, 0.4686, 0.5736, 0.7723, 1.081, 1.512, 2.08, 2.795, 3.667, 4.707",\
                 "0.4421, 0.4728, 0.5799, 0.7812, 1.092, 1.525, 2.094, 2.81, 3.682, 4.723",\
                 "0.4705, 0.5013, 0.6076, 0.8095, 1.122, 1.558, 2.129, 2.846, 3.72, 4.761",\
                 "0.5483, 0.5789, 0.6834, 0.8804, 1.189, 1.621, 2.19, 2.908, 3.784, 4.823",\
                 "0.682, 0.7132, 0.8228, 1.025, 1.326, 1.75, 2.312, 3.022, 3.893, 4.931",\
                 "0.8836, 0.9164, 1.028, 1.235, 1.546, 1.965, 2.516, 3.215, 4.075, 5.104",\
                 "1.145, 1.181, 1.3, 1.512, 1.831, 2.263, 2.812, 3.499, 4.346, 5.363",\
                 "1.458, 1.498, 1.63, 1.858, 2.185, 2.627, 3.191, 3.881, 4.715, 5.718",\
                 "1.823, 1.868, 2.015, 2.265, 2.612, 3.065, 3.641, 4.348, 5.188, 6.179",\
                 "2.241, 2.292, 2.454, 2.728, 3.104, 3.578, 4.165, 4.887, 5.746, 6.747");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1444, 0.1555, 0.1955, 0.2701, 0.3859, 0.5483, 0.7607, 1.029, 1.358, 1.748",\
                 "0.1434, 0.155, 0.1953, 0.27, 0.3861, 0.5483, 0.7614, 1.03, 1.357, 1.748",\
                 "0.1769, 0.1855, 0.2156, 0.2773, 0.3864, 0.5478, 0.7616, 1.03, 1.358, 1.749",\
                 "0.2627, 0.2745, 0.3128, 0.3803, 0.4733, 0.595, 0.776, 1.031, 1.357, 1.747",\
                 "0.3708, 0.3861, 0.4339, 0.5155, 0.6268, 0.768, 0.9336, 1.132, 1.402, 1.758",\
                 "0.5002, 0.5186, 0.579, 0.6772, 0.8092, 0.9708, 1.166, 1.385, 1.63, 1.919",\
                 "0.6512, 0.6742, 0.7452, 0.863, 1.017, 1.203, 1.421, 1.669, 1.949, 2.257",\
                 "0.8294, 0.8548, 0.9388, 1.076, 1.254, 1.466, 1.712, 1.986, 2.295, 2.637",\
                 "1.022, 1.054, 1.152, 1.313, 1.518, 1.758, 2.034, 2.34, 2.678, 3.05",\
                 "1.234, 1.273, 1.392, 1.576, 1.807, 2.08, 2.39, 2.728, 3.099, 3.497");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5654, 0.6172, 0.799, 1.145, 1.683, 2.441, 3.434, 4.681, 6.209, 8.033",\
                 "0.5651, 0.6173, 0.7984, 1.145, 1.685, 2.439, 3.429, 4.683, 6.209, 8.036",\
                 "0.5665, 0.6179, 0.7987, 1.144, 1.683, 2.439, 3.431, 4.682, 6.212, 8.028",\
                 "0.6027, 0.6484, 0.8132, 1.147, 1.687, 2.44, 3.435, 4.682, 6.216, 8.025",\
                 "0.667, 0.7162, 0.8846, 1.195, 1.699, 2.441, 3.431, 4.682, 6.212, 8.019",\
                 "0.7406, 0.7866, 0.9566, 1.284, 1.774, 2.48, 3.438, 4.679, 6.204, 8.024",\
                 "0.856, 0.9002, 1.06, 1.376, 1.882, 2.576, 3.5, 4.701, 6.216, 8.025",\
                 "1.01, 1.056, 1.207, 1.507, 1.999, 2.709, 3.622, 4.78, 6.236, 8.025",\
                 "1.19, 1.235, 1.394, 1.686, 2.158, 2.85, 3.785, 4.933, 6.355, 8.094",\
                 "1.387, 1.436, 1.604, 1.906, 2.361, 3.033, 3.953, 5.126, 6.532, 8.214");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.09998, 0.1066, 0.1294, 0.1719, 0.2366, 0.3262, 0.4433, 0.5902, 0.7691, 0.9821",\
                 "0.1143, 0.1209, 0.1437, 0.1861, 0.2508, 0.3404, 0.4574, 0.6044, 0.7833, 0.9963",\
                 "0.1589, 0.1669, 0.1929, 0.237, 0.3012, 0.3906, 0.5075, 0.6544, 0.8334, 1.046",\
                 "0.1856, 0.1971, 0.2345, 0.2978, 0.3831, 0.486, 0.6056, 0.7518, 0.9303, 1.143",\
                 "0.177, 0.1919, 0.2427, 0.327, 0.4388, 0.5737, 0.7275, 0.8979, 1.083, 1.296",\
                 "0.1275, 0.1468, 0.2102, 0.3167, 0.4575, 0.6261, 0.817, 1.028, 1.256, 1.5",\
                 "0.0341, 0.0572, 0.1334, 0.2612, 0.4328, 0.6372, 0.8673, 1.119, 1.391, 1.682",\
                 "-0.1076, -0.0802, 0.0092, 0.1589, 0.3603, 0.6012, 0.8717, 1.168, 1.485, 1.823",\
                 "-0.2993, -0.2684, -0.1662, 0.0065, 0.2365, 0.5145, 0.8269, 1.168, 1.533, 1.92",\
                 "-0.5433, -0.5084, -0.3953, -0.2013, 0.0611, 0.3732, 0.727, 1.115, 1.529, 1.967");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4375, 0.4676, 0.5731, 0.7716, 1.08, 1.512, 2.079, 2.794, 3.666, 4.706",\
                 "0.4405, 0.4715, 0.5779, 0.7796, 1.09, 1.524, 2.092, 2.808, 3.681, 4.721",\
                 "0.47, 0.5001, 0.6065, 0.808, 1.12, 1.555, 2.126, 2.844, 3.718, 4.759",\
                 "0.5482, 0.5787, 0.6831, 0.8799, 1.187, 1.62, 2.189, 2.906, 3.78, 4.822",\
                 "0.6835, 0.7157, 0.8246, 1.026, 1.327, 1.75, 2.311, 3.021, 3.89, 4.93",\
                 "0.8879, 0.9203, 1.032, 1.239, 1.549, 1.968, 2.517, 3.216, 4.076, 5.105",\
                 "1.153, 1.189, 1.307, 1.519, 1.836, 2.268, 2.817, 3.503, 4.35, 5.366",\
                 "1.471, 1.512, 1.642, 1.869, 2.196, 2.636, 3.201, 3.89, 4.723, 5.725",\
                 "1.843, 1.887, 2.034, 2.282, 2.627, 3.079, 3.654, 4.361, 5.201, 6.191",\
                 "2.27, 2.319, 2.48, 2.753, 3.127, 3.598, 4.186, 4.907, 5.765, 6.764");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1321, 0.1426, 0.1791, 0.2482, 0.3549, 0.5045, 0.7013, 0.9488, 1.25, 1.61",\
                 "0.1307, 0.1417, 0.1785, 0.2479, 0.3547, 0.5044, 0.701, 0.9485, 1.25, 1.61",\
                 "0.1682, 0.1768, 0.2039, 0.2588, 0.3561, 0.5045, 0.701, 0.9483, 1.25, 1.611",\
                 "0.2536, 0.2651, 0.3014, 0.3646, 0.451, 0.5611, 0.7223, 0.9508, 1.251, 1.61",\
                 "0.3607, 0.3749, 0.4209, 0.4988, 0.6046, 0.7362, 0.8912, 1.071, 1.308, 1.628",\
                 "0.4874, 0.5062, 0.5636, 0.6578, 0.7832, 0.9378, 1.119, 1.326, 1.554, 1.814",\
                 "0.6374, 0.6592, 0.7284, 0.8414, 0.9888, 1.167, 1.373, 1.608, 1.87, 2.158",\
                 "0.81, 0.8352, 0.9158, 1.049, 1.221, 1.427, 1.661, 1.923, 2.213, 2.535",\
                 "1.001, 1.031, 1.129, 1.282, 1.482, 1.714, 1.979, 2.272, 2.592, 2.943",\
                 "1.211, 1.247, 1.364, 1.545, 1.77, 2.034, 2.328, 2.654, 3.008, 3.389");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5654, 0.6169, 0.799, 1.145, 1.684, 2.439, 3.433, 4.68, 6.213, 8.03",\
                 "0.5651, 0.6173, 0.7987, 1.145, 1.683, 2.44, 3.435, 4.681, 6.207, 8.036",\
                 "0.5666, 0.6176, 0.7988, 1.146, 1.683, 2.441, 3.432, 4.682, 6.212, 8.029",\
                 "0.6015, 0.6474, 0.8132, 1.147, 1.685, 2.44, 3.43, 4.681, 6.21, 8.035",\
                 "0.667, 0.7148, 0.884, 1.196, 1.699, 2.437, 3.431, 4.679, 6.215, 8.035",\
                 "0.7366, 0.7848, 0.9554, 1.282, 1.773, 2.477, 3.436, 4.682, 6.21, 8.027",\
                 "0.85, 0.894, 1.054, 1.374, 1.88, 2.574, 3.499, 4.701, 6.214, 8.027",\
                 "1.003, 1.047, 1.198, 1.501, 1.994, 2.706, 3.619, 4.782, 6.237, 8.024",\
                 "1.178, 1.227, 1.381, 1.676, 2.148, 2.847, 3.779, 4.929, 6.351, 8.087",\
                 "1.374, 1.423, 1.59, 1.891, 2.348, 3.022, 3.949, 5.119, 6.53, 8.216");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1764, 0.1859, 0.2186, 0.2791, 0.3702, 0.495, 0.6568, 0.8587, 1.104, 1.395",\
                 "0.1893, 0.1987, 0.2314, 0.2919, 0.3831, 0.508, 0.6697, 0.8716, 1.117, 1.408",\
                 "0.2366, 0.2457, 0.2773, 0.3368, 0.4276, 0.5522, 0.7139, 0.9158, 1.161, 1.452",\
                 "0.3011, 0.3128, 0.3518, 0.4209, 0.5163, 0.6397, 0.8005, 1.002, 1.247, 1.537",\
                 "0.3367, 0.3518, 0.4016, 0.4884, 0.6087, 0.7593, 0.9363, 1.14, 1.383, 1.673",\
                 "0.3368, 0.3554, 0.4161, 0.5227, 0.6693, 0.8515, 1.065, 1.306, 1.573, 1.867",\
                 "0.296, 0.3182, 0.3913, 0.5181, 0.6928, 0.9078, 1.158, 1.44, 1.752, 2.092",\
                 "0.2116, 0.2376, 0.3215, 0.47, 0.6736, 0.9243, 1.214, 1.538, 1.895, 2.281",\
                 "0.0821, 0.111, 0.2069, 0.3754, 0.6081, 0.8946, 1.225, 1.595, 1.998, 2.432",\
                 "-0.0956, -0.063, 0.0451, 0.2313, 0.4929, 0.8161, 1.188, 1.604, 2.056, 2.541");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4483, 0.4778, 0.5834, 0.7833, 1.094, 1.527, 2.097, 2.815, 3.69, 4.731",\
                 "0.4516, 0.4822, 0.5899, 0.7922, 1.105, 1.54, 2.112, 2.83, 3.705, 4.747",\
                 "0.4802, 0.5107, 0.6175, 0.8206, 1.135, 1.573, 2.146, 2.866, 3.743, 4.787",\
                 "0.5587, 0.5893, 0.6938, 0.8919, 1.201, 1.636, 2.208, 2.928, 3.805, 4.849",\
                 "0.6932, 0.7248, 0.8344, 1.037, 1.339, 1.765, 2.329, 3.043, 3.915, 4.956",\
                 "0.8962, 0.9289, 1.04, 1.247, 1.559, 1.98, 2.532, 3.235, 4.098, 5.13",\
                 "1.16, 1.196, 1.314, 1.526, 1.846, 2.279, 2.83, 3.519, 4.369, 5.389",\
                 "1.477, 1.516, 1.647, 1.873, 2.201, 2.644, 3.21, 3.903, 4.739, 5.744",\
                 "1.846, 1.89, 2.035, 2.283, 2.629, 3.083, 3.66, 4.369, 5.212, 6.205",\
                 "2.27, 2.319, 2.478, 2.75, 3.125, 3.598, 4.187, 4.91, 5.772, 6.772");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2516, 0.2667, 0.3191, 0.4175, 0.5671, 0.7748, 1.046, 1.388, 1.804, 2.298",\
                 "0.2509, 0.2665, 0.3192, 0.4175, 0.5672, 0.7745, 1.046, 1.387, 1.804, 2.298",\
                 "0.2493, 0.2634, 0.3144, 0.4133, 0.5655, 0.7745, 1.046, 1.387, 1.803, 2.297",\
                 "0.3315, 0.3459, 0.3936, 0.4755, 0.5971, 0.7823, 1.045, 1.386, 1.803, 2.297",\
                 "0.4439, 0.46, 0.5158, 0.6118, 0.7466, 0.9192, 1.133, 1.423, 1.808, 2.297",\
                 "0.5816, 0.6018, 0.6656, 0.776, 0.9286, 1.122, 1.356, 1.628, 1.953, 2.371",\
                 "0.7432, 0.7672, 0.8426, 0.9714, 1.145, 1.358, 1.615, 1.915, 2.258, 2.64",\
                 "0.9266, 0.9528, 1.043, 1.194, 1.391, 1.629, 1.911, 2.234, 2.608, 3.023",\
                 "1.135, 1.169, 1.272, 1.442, 1.665, 1.935, 2.244, 2.595, 2.99, 3.439",\
                 "1.37, 1.405, 1.523, 1.719, 1.973, 2.273, 2.614, 2.996, 3.419, 3.891");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8224, 0.8796, 1.078, 1.446, 2.004, 2.771, 3.77, 5.022, 6.547, 8.37",\
                 "0.8226, 0.8796, 1.078, 1.446, 2.004, 2.771, 3.77, 5.022, 6.547, 8.369",\
                 "0.8238, 0.8804, 1.078, 1.446, 2.004, 2.771, 3.77, 5.021, 6.547, 8.369",\
                 "0.8588, 0.9099, 1.092, 1.448, 2.004, 2.771, 3.77, 5.022, 6.55, 8.37",\
                 "0.955, 1.002, 1.17, 1.497, 2.019, 2.772, 3.77, 5.022, 6.548, 8.366",\
                 "1.058, 1.106, 1.277, 1.602, 2.099, 2.809, 3.775, 5.022, 6.548, 8.369",\
                 "1.21, 1.251, 1.408, 1.723, 2.225, 2.914, 3.839, 5.04, 6.551, 8.369",\
                 "1.42, 1.455, 1.591, 1.881, 2.366, 3.064, 3.969, 5.129, 6.586, 8.375",\
                 "1.671, 1.703, 1.831, 2.095, 2.549, 3.233, 4.147, 5.288, 6.701, 8.43",\
                 "1.947, 1.982, 2.108, 2.362, 2.788, 3.439, 4.346, 5.495, 6.89, 8.573");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1899, 0.1999, 0.2344, 0.2968, 0.3905, 0.5176, 0.6813, 0.8847, 1.131, 1.423",\
                 "0.2009, 0.2111, 0.2454, 0.308, 0.4014, 0.5286, 0.6922, 0.8957, 1.142, 1.434",\
                 "0.2472, 0.2568, 0.2896, 0.3514, 0.4445, 0.5714, 0.7348, 0.9383, 1.185, 1.477",\
                 "0.3193, 0.331, 0.3703, 0.4386, 0.5335, 0.6583, 0.8207, 1.024, 1.27, 1.562",\
                 "0.365, 0.38, 0.4291, 0.5144, 0.6339, 0.7828, 0.9579, 1.161, 1.406, 1.697",\
                 "0.3783, 0.3964, 0.457, 0.5606, 0.7047, 0.8837, 1.094, 1.333, 1.598, 1.891",\
                 "0.3566, 0.3772, 0.4488, 0.5716, 0.7429, 0.9522, 1.199, 1.476, 1.785, 2.121",\
                 "0.2962, 0.3214, 0.4033, 0.5457, 0.7419, 0.9865, 1.269, 1.587, 1.937, 2.319",\
                 "0.1968, 0.2241, 0.3169, 0.4786, 0.7019, 0.9796, 1.301, 1.66, 2.055, 2.482",\
                 "0.0584, 0.089, 0.1909, 0.3692, 0.6191, 0.9308, 1.292, 1.694, 2.134, 2.61");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4819, 0.5128, 0.6178, 0.8174, 1.127, 1.561, 2.132, 2.849, 3.724, 4.767",\
                 "0.4906, 0.5215, 0.6289, 0.8316, 1.144, 1.579, 2.151, 2.869, 3.745, 4.788",\
                 "0.5149, 0.5456, 0.6534, 0.8574, 1.172, 1.611, 2.185, 2.905, 3.782, 4.826",\
                 "0.5685, 0.5988, 0.7044, 0.9047, 1.216, 1.653, 2.227, 2.948, 3.827, 4.872",\
                 "0.6609, 0.6916, 0.7999, 1.002, 1.307, 1.736, 2.303, 3.019, 3.894, 4.937",\
                 "0.812, 0.8437, 0.9522, 1.154, 1.463, 1.887, 2.442, 3.147, 4.012, 5.048",\
                 "1.013, 1.048, 1.165, 1.372, 1.68, 2.107, 2.659, 3.35, 4.201, 5.223",\
                 "1.255, 1.294, 1.423, 1.648, 1.966, 2.392, 2.948, 3.639, 4.475, 5.481",\
                 "1.533, 1.577, 1.722, 1.969, 2.31, 2.747, 3.303, 3.998, 4.837, 5.829",\
                 "1.847, 1.896, 2.058, 2.329, 2.702, 3.166, 3.732, 4.427, 5.27, 6.267");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.284, 0.2994, 0.3523, 0.4519, 0.6021, 0.8097, 1.081, 1.422, 1.839, 2.334",\
                 "0.283, 0.2985, 0.3521, 0.4509, 0.6016, 0.8098, 1.082, 1.423, 1.838, 2.335",\
                 "0.2738, 0.2891, 0.3426, 0.4449, 0.5996, 0.8094, 1.082, 1.422, 1.839, 2.335",\
                 "0.3569, 0.3709, 0.4178, 0.4985, 0.6234, 0.8127, 1.08, 1.423, 1.838, 2.334",\
                 "0.4782, 0.4942, 0.548, 0.6424, 0.774, 0.9434, 1.159, 1.453, 1.843, 2.333",\
                 "0.6286, 0.648, 0.7102, 0.8162, 0.9634, 1.153, 1.383, 1.652, 1.98, 2.401",\
                 "0.8132, 0.835, 0.907, 1.028, 1.189, 1.395, 1.646, 1.943, 2.283, 2.664",\
                 "1.025, 1.054, 1.135, 1.273, 1.457, 1.681, 1.949, 2.265, 2.633, 3.046",\
                 "1.276, 1.302, 1.4, 1.555, 1.759, 2.007, 2.296, 2.633, 3.019, 3.462",\
                 "1.561, 1.592, 1.703, 1.879, 2.105, 2.376, 2.691, 3.051, 3.456, 3.92");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8225, 0.8798, 1.077, 1.446, 2.003, 2.771, 3.77, 5.022, 6.548, 8.367",\
                 "0.8226, 0.8797, 1.077, 1.446, 2.004, 2.771, 3.77, 5.022, 6.549, 8.367",\
                 "0.8234, 0.8803, 1.078, 1.446, 2.004, 2.771, 3.77, 5.022, 6.548, 8.369",\
                 "0.8471, 0.8998, 1.086, 1.447, 2.004, 2.771, 3.77, 5.022, 6.548, 8.368",\
                 "0.9282, 0.9784, 1.151, 1.487, 2.017, 2.772, 3.771, 5.022, 6.548, 8.369",\
                 "1.047, 1.09, 1.255, 1.58, 2.085, 2.808, 3.777, 5.023, 6.55, 8.369",\
                 "1.238, 1.274, 1.411, 1.706, 2.198, 2.9, 3.837, 5.044, 6.55, 8.37",\
                 "1.498, 1.529, 1.648, 1.9, 2.352, 3.034, 3.951, 5.128, 6.593, 8.377",\
                 "1.793, 1.822, 1.937, 2.171, 2.575, 3.214, 4.111, 5.266, 6.7, 8.444",\
                 "2.113, 2.145, 2.26, 2.496, 2.882, 3.466, 4.316, 5.453, 6.863, 8.571");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1717, 0.1813, 0.2144, 0.2752, 0.3666, 0.4916, 0.6534, 0.8554, 1.101, 1.392",\
                 "0.183, 0.1924, 0.2254, 0.2862, 0.3776, 0.5026, 0.6644, 0.8664, 1.112, 1.403",\
                 "0.2294, 0.2384, 0.27, 0.3297, 0.4206, 0.5454, 0.7071, 0.9091, 1.154, 1.445",\
                 "0.2906, 0.3027, 0.3426, 0.4122, 0.5086, 0.6324, 0.7931, 0.9942, 1.239, 1.53",\
                 "0.3238, 0.3391, 0.3903, 0.4782, 0.5995, 0.7512, 0.9282, 1.132, 1.375, 1.665",\
                 "0.3241, 0.3429, 0.4058, 0.5131, 0.6617, 0.8436, 1.057, 1.298, 1.566, 1.86",\
                 "0.2878, 0.3106, 0.3851, 0.5133, 0.6894, 0.9044, 1.154, 1.435, 1.747, 2.085",\
                 "0.2148, 0.2405, 0.3256, 0.4747, 0.6791, 0.929, 1.217, 1.539, 1.892, 2.278",\
                 "0.1039, 0.1325, 0.2293, 0.3971, 0.6287, 0.9136, 1.24, 1.606, 2.005, 2.436",\
                 "-0.0466, -0.0144, 0.0926, 0.2775, 0.5361, 0.8556, 1.224, 1.632, 2.078, 2.558");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4819, 0.5128, 0.6178, 0.8175, 1.128, 1.562, 2.132, 2.849, 3.724, 4.765",\
                 "0.4906, 0.5216, 0.629, 0.8317, 1.144, 1.579, 2.151, 2.869, 3.744, 4.787",\
                 "0.5149, 0.5456, 0.6535, 0.8576, 1.173, 1.611, 2.185, 2.905, 3.782, 4.825",\
                 "0.5685, 0.5988, 0.7044, 0.9047, 1.216, 1.654, 2.227, 2.948, 3.826, 4.87",\
                 "0.661, 0.6916, 0.7997, 1.002, 1.307, 1.736, 2.303, 3.019, 3.894, 4.936",\
                 "0.812, 0.8437, 0.9522, 1.155, 1.463, 1.887, 2.442, 3.147, 4.012, 5.046",\
                 "1.014, 1.049, 1.165, 1.372, 1.68, 2.107, 2.659, 3.35, 4.2, 5.222",\
                 "1.255, 1.293, 1.424, 1.648, 1.966, 2.392, 2.947, 3.639, 4.475, 5.479",\
                 "1.533, 1.577, 1.722, 1.969, 2.31, 2.748, 3.304, 3.998, 4.836, 5.827",\
                 "1.847, 1.897, 2.057, 2.33, 2.702, 3.166, 3.732, 4.427, 5.27, 6.266");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2535, 0.2689, 0.321, 0.4184, 0.5671, 0.7737, 1.044, 1.386, 1.802, 2.296",\
                 "0.2522, 0.2672, 0.3201, 0.4176, 0.5668, 0.7738, 1.045, 1.386, 1.802, 2.295",\
                 "0.2511, 0.2654, 0.3145, 0.4131, 0.5648, 0.773, 1.045, 1.386, 1.802, 2.296",\
                 "0.3403, 0.3539, 0.3997, 0.4803, 0.5999, 0.7828, 1.044, 1.385, 1.801, 2.296",\
                 "0.4622, 0.4785, 0.5318, 0.623, 0.7544, 0.923, 1.135, 1.423, 1.808, 2.297",\
                 "0.616, 0.6348, 0.6968, 0.8006, 0.9446, 1.133, 1.362, 1.631, 1.955, 2.371",\
                 "0.8002, 0.824, 0.8952, 1.013, 1.175, 1.377, 1.625, 1.92, 2.261, 2.642",\
                 "1.016, 1.043, 1.126, 1.261, 1.441, 1.665, 1.93, 2.244, 2.612, 3.026",\
                 "1.268, 1.295, 1.393, 1.546, 1.75, 1.994, 2.28, 2.613, 2.999, 3.44",\
                 "1.554, 1.589, 1.693, 1.87, 2.094, 2.368, 2.677, 3.034, 3.438, 3.897");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7347, 0.7875, 0.9716, 1.32, 1.858, 2.614, 3.606, 4.856, 6.382, 8.201",\
                 "0.7353, 0.7876, 0.971, 1.319, 1.858, 2.613, 3.606, 4.858, 6.381, 8.202",\
                 "0.7359, 0.788, 0.971, 1.319, 1.858, 2.613, 3.606, 4.854, 6.384, 8.201",\
                 "0.7591, 0.8072, 0.9802, 1.321, 1.859, 2.614, 3.605, 4.858, 6.382, 8.205",\
                 "0.828, 0.876, 1.042, 1.36, 1.872, 2.614, 3.607, 4.858, 6.378, 8.202",\
                 "0.9336, 0.9738, 1.131, 1.446, 1.939, 2.65, 3.614, 4.856, 6.384, 8.204",\
                 "1.107, 1.141, 1.277, 1.562, 2.045, 2.741, 3.674, 4.88, 6.387, 8.204",\
                 "1.331, 1.366, 1.491, 1.746, 2.191, 2.87, 3.786, 4.96, 6.425, 8.207",\
                 "1.583, 1.62, 1.749, 2, 2.407, 3.043, 3.941, 5.098, 6.533, 8.273",\
                 "1.863, 1.904, 2.038, 2.297, 2.702, 3.29, 4.14, 5.281, 6.693, 8.401");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1367, 0.1444, 0.1712, 0.22, 0.2933, 0.3933, 0.5225, 0.6833, 0.8783, 1.11",\
                 "0.1496, 0.1573, 0.1837, 0.2327, 0.3059, 0.4057, 0.5348, 0.6956, 0.8907, 1.122",\
                 "0.2008, 0.2086, 0.2344, 0.2817, 0.354, 0.4533, 0.5823, 0.7431, 0.9382, 1.17",\
                 "0.2525, 0.2633, 0.2992, 0.3609, 0.4455, 0.5493, 0.6775, 0.8375, 1.032, 1.263",\
                 "0.2731, 0.2874, 0.3345, 0.4143, 0.5234, 0.6574, 0.813, 0.9865, 1.182, 1.412",\
                 "0.258, 0.2751, 0.3334, 0.4333, 0.5685, 0.7334, 0.9237, 1.136, 1.37, 1.621",\
                 "0.2025, 0.2234, 0.2931, 0.4131, 0.5756, 0.7734, 0.9996, 1.251, 1.527, 1.824",\
                 "0.1061, 0.1298, 0.2108, 0.3499, 0.54, 0.7713, 1.036, 1.329, 1.647, 1.99",\
                 "-0.0334, -0.0062, 0.086, 0.2437, 0.4606, 0.7261, 1.029, 1.364, 1.728, 2.117",\
                 "-0.2175, -0.1873, -0.0855, 0.0922, 0.3341, 0.6321, 0.9751, 1.354, 1.763, 2.2");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4808, 0.5111, 0.6166, 0.8165, 1.126, 1.56, 2.13, 2.848, 3.723, 4.765",\
                 "0.487, 0.5178, 0.6253, 0.8281, 1.14, 1.576, 2.147, 2.865, 3.741, 4.783",\
                 "0.5122, 0.5429, 0.6498, 0.8533, 1.168, 1.606, 2.179, 2.9, 3.777, 4.82",\
                 "0.5673, 0.5975, 0.7026, 0.9021, 1.213, 1.649, 2.222, 2.943, 3.821, 4.865",\
                 "0.6644, 0.6952, 0.8029, 1.004, 1.308, 1.736, 2.301, 3.016, 3.89, 4.931",\
                 "0.8257, 0.8573, 0.9645, 1.165, 1.472, 1.894, 2.447, 3.15, 4.013, 5.046",\
                 "1.043, 1.078, 1.192, 1.396, 1.702, 2.126, 2.676, 3.363, 4.212, 5.231",\
                 "1.305, 1.343, 1.471, 1.691, 2.003, 2.427, 2.979, 3.667, 4.5, 5.501",\
                 "1.609, 1.652, 1.793, 2.035, 2.37, 2.802, 3.354, 4.045, 4.88, 5.867",\
                 "1.955, 2.003, 2.16, 2.425, 2.789, 3.244, 3.804, 4.497, 5.336, 6.327");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1921, 0.2039, 0.2459, 0.3234, 0.4412, 0.6052, 0.8191, 1.089, 1.416, 1.806",\
                 "0.1895, 0.2023, 0.2447, 0.323, 0.4411, 0.6052, 0.8192, 1.088, 1.417, 1.807",\
                 "0.2056, 0.215, 0.2499, 0.3209, 0.4389, 0.604, 0.8188, 1.088, 1.417, 1.806",\
                 "0.3022, 0.3135, 0.3514, 0.4164, 0.5062, 0.6355, 0.8259, 1.088, 1.417, 1.807",\
                 "0.4231, 0.4377, 0.4832, 0.561, 0.6692, 0.8054, 0.9674, 1.172, 1.45, 1.813",\
                 "0.571, 0.5896, 0.6432, 0.7352, 0.8596, 1.016, 1.203, 1.422, 1.663, 1.958",\
                 "0.7466, 0.7676, 0.8328, 0.9416, 1.084, 1.26, 1.468, 1.711, 1.986, 2.292",\
                 "0.9552, 0.979, 1.055, 1.181, 1.341, 1.54, 1.769, 2.035, 2.337, 2.675",\
                 "1.198, 1.226, 1.311, 1.456, 1.639, 1.86, 2.113, 2.399, 2.724, 3.09",\
                 "1.473, 1.504, 1.606, 1.767, 1.974, 2.219, 2.495, 2.811, 3.158, 3.546");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7348, 0.7874, 0.9716, 1.32, 1.858, 2.614, 3.606, 4.856, 6.38, 8.203",\
                 "0.7352, 0.7877, 0.9706, 1.319, 1.858, 2.613, 3.606, 4.856, 6.384, 8.202",\
                 "0.736, 0.7881, 0.9711, 1.319, 1.858, 2.613, 3.606, 4.856, 6.38, 8.203",\
                 "0.7592, 0.8075, 0.9799, 1.321, 1.859, 2.613, 3.605, 4.858, 6.381, 8.202",\
                 "0.8266, 0.8748, 1.041, 1.36, 1.871, 2.614, 3.606, 4.856, 6.381, 8.196",\
                 "0.9238, 0.9668, 1.125, 1.441, 1.937, 2.649, 3.614, 4.856, 6.384, 8.204",\
                 "1.087, 1.123, 1.26, 1.55, 2.038, 2.737, 3.67, 4.878, 6.386, 8.204",\
                 "1.302, 1.336, 1.46, 1.719, 2.171, 2.858, 3.78, 4.954, 6.426, 8.209",\
                 "1.55, 1.585, 1.709, 1.957, 2.37, 3.016, 3.922, 5.087, 6.524, 8.273",\
                 "1.824, 1.86, 1.99, 2.245, 2.642, 3.241, 4.108, 5.26, 6.678, 8.392");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1369, 0.1466, 0.1801, 0.2411, 0.3324, 0.4571, 0.6186, 0.8203, 1.065, 1.356",\
                 "0.1484, 0.1581, 0.1913, 0.2521, 0.3434, 0.4681, 0.6296, 0.8312, 1.076, 1.367",\
                 "0.196, 0.2056, 0.2372, 0.2961, 0.3865, 0.5109, 0.6723, 0.874, 1.119, 1.41",\
                 "0.2427, 0.2559, 0.2988, 0.3727, 0.4731, 0.5983, 0.7584, 0.9593, 1.204, 1.494",\
                 "0.2602, 0.2773, 0.3329, 0.4267, 0.5542, 0.7102, 0.8915, 1.097, 1.34, 1.629",\
                 "0.2447, 0.2657, 0.3342, 0.4494, 0.6057, 0.7941, 1.012, 1.258, 1.528, 1.824",\
                 "0.1922, 0.2183, 0.2996, 0.4374, 0.6222, 0.8452, 1.101, 1.388, 1.703, 2.045",\
                 "0.1062, 0.1341, 0.2275, 0.3857, 0.6007, 0.8601, 1.157, 1.484, 1.843, 2.233",\
                 "-0.0188, 0.0128, 0.1175, 0.2959, 0.5397, 0.8346, 1.172, 1.544, 1.949, 2.385",\
                 "-0.1825, -0.1471, -0.0315, 0.1669, 0.4377, 0.7663, 1.145, 1.563, 2.016, 2.501");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4725, 0.5024, 0.6081, 0.8067, 1.115, 1.547, 2.114, 2.829, 3.701, 4.741",\
                 "0.481, 0.5117, 0.6191, 0.8209, 1.131, 1.565, 2.133, 2.85, 3.722, 4.761",\
                 "0.5055, 0.5365, 0.6433, 0.8462, 1.159, 1.596, 2.167, 2.886, 3.76, 4.8",\
                 "0.5584, 0.5887, 0.6941, 0.8938, 1.204, 1.639, 2.21, 2.928, 3.803, 4.845",\
                 "0.6499, 0.6805, 0.7888, 0.9901, 1.295, 1.721, 2.286, 2.999, 3.871, 4.912",\
                 "0.7993, 0.8312, 0.9402, 1.141, 1.45, 1.872, 2.424, 3.127, 3.989, 5.021",\
                 "0.9972, 1.033, 1.151, 1.358, 1.666, 2.09, 2.641, 3.329, 4.177, 5.197",\
                 "1.235, 1.274, 1.405, 1.632, 1.95, 2.375, 2.929, 3.618, 4.451, 5.453",\
                 "1.507, 1.552, 1.699, 1.949, 2.292, 2.73, 3.284, 3.976, 4.813, 5.802",\
                 "1.816, 1.866, 2.031, 2.306, 2.68, 3.146, 3.711, 4.404, 5.245, 6.239");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2196, 0.2346, 0.2867, 0.3835, 0.5309, 0.7377, 1.007, 1.348, 1.762, 2.258",\
                 "0.2163, 0.232, 0.2848, 0.3824, 0.5311, 0.7373, 1.008, 1.347, 1.763, 2.257",\
                 "0.2281, 0.2404, 0.285, 0.3772, 0.5286, 0.7369, 1.008, 1.348, 1.763, 2.258",\
                 "0.3225, 0.3355, 0.3811, 0.4604, 0.5763, 0.7518, 1.007, 1.348, 1.764, 2.258",\
                 "0.4457, 0.4618, 0.5135, 0.604, 0.7338, 0.9018, 1.111, 1.393, 1.773, 2.258",\
                 "0.599, 0.62, 0.6798, 0.782, 0.926, 1.111, 1.34, 1.612, 1.93, 2.341",\
                 "0.7852, 0.8062, 0.8772, 0.9964, 1.156, 1.358, 1.604, 1.898, 2.239, 2.62",\
                 "1, 1.028, 1.108, 1.246, 1.425, 1.647, 1.911, 2.223, 2.589, 3.003",\
                 "1.25, 1.281, 1.377, 1.531, 1.732, 1.977, 2.263, 2.593, 2.977, 3.417",\
                 "1.535, 1.571, 1.681, 1.859, 2.082, 2.352, 2.661, 3.015, 3.418, 3.876");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5645, 0.6171, 0.7989, 1.146, 1.685, 2.439, 3.433, 4.686, 6.215, 8.025",\
                 "0.5655, 0.6171, 0.7983, 1.147, 1.683, 2.437, 3.429, 4.684, 6.21, 8.031",\
                 "0.566, 0.6178, 0.7991, 1.147, 1.684, 2.44, 3.43, 4.682, 6.208, 8.019",\
                 "0.5895, 0.6381, 0.8075, 1.146, 1.685, 2.441, 3.433, 4.68, 6.214, 8.033",\
                 "0.6484, 0.698, 0.8676, 1.186, 1.697, 2.439, 3.431, 4.678, 6.203, 8.034",\
                 "0.742, 0.7852, 0.946, 1.265, 1.765, 2.475, 3.436, 4.684, 6.213, 8.025",\
                 "0.9024, 0.9426, 1.083, 1.375, 1.863, 2.565, 3.497, 4.709, 6.216, 8.021",\
                 "1.096, 1.138, 1.282, 1.552, 2.006, 2.687, 3.61, 4.785, 6.254, 8.031",\
                 "1.314, 1.36, 1.517, 1.79, 2.215, 2.855, 3.76, 4.92, 6.354, 8.098",\
                 "1.559, 1.607, 1.769, 2.065, 2.501, 3.097, 3.954, 5.1, 6.515, 8.223");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1101, 0.1179, 0.1446, 0.1934, 0.2665, 0.3662, 0.4949, 0.6554, 0.8502, 1.082",\
                 "0.1234, 0.1311, 0.1574, 0.206, 0.279, 0.3786, 0.5073, 0.6678, 0.8625, 1.094",\
                 "0.1721, 0.1806, 0.2082, 0.2558, 0.3274, 0.4264, 0.5549, 0.7153, 0.91, 1.141",\
                 "0.2095, 0.2215, 0.2605, 0.3263, 0.4148, 0.5219, 0.6501, 0.8096, 1.004, 1.235",\
                 "0.2151, 0.2307, 0.2822, 0.368, 0.483, 0.6216, 0.7809, 0.9577, 1.154, 1.384",\
                 "0.1841, 0.2036, 0.2676, 0.3743, 0.5176, 0.6887, 0.8838, 1.101, 1.337, 1.591",\
                 "0.1137, 0.1369, 0.2131, 0.3422, 0.5132, 0.719, 0.9516, 1.209, 1.488, 1.789",\
                 "0.0031, 0.0297, 0.1177, 0.2673, 0.4675, 0.708, 0.9806, 1.28, 1.602, 1.949",\
                 "-0.1506, -0.1201, -0.0204, 0.149, 0.3767, 0.6532, 0.9651, 1.308, 1.677, 2.07",\
                 "-0.3484, -0.3148, -0.204, -0.0145, 0.2408, 0.5495, 0.9017, 1.289, 1.706, 2.148");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4713, 0.5018, 0.6066, 0.8054, 1.114, 1.546, 2.113, 2.828, 3.701, 4.739",\
                 "0.4776, 0.5082, 0.6155, 0.8171, 1.127, 1.561, 2.13, 2.846, 3.718, 4.758",\
                 "0.5028, 0.5335, 0.6399, 0.8422, 1.155, 1.591, 2.162, 2.88, 3.754, 4.795",\
                 "0.5572, 0.5874, 0.6923, 0.8912, 1.2, 1.634, 2.205, 2.922, 3.797, 4.84",\
                 "0.6537, 0.6838, 0.7918, 0.9918, 1.295, 1.72, 2.284, 2.996, 3.867, 4.906",\
                 "0.8136, 0.845, 0.9521, 1.152, 1.458, 1.879, 2.429, 3.13, 3.991, 5.02",\
                 "1.028, 1.062, 1.178, 1.383, 1.687, 2.11, 2.658, 3.343, 4.189, 5.206",\
                 "1.285, 1.325, 1.454, 1.675, 1.988, 2.411, 2.96, 3.646, 4.476, 5.476",\
                 "1.585, 1.628, 1.772, 2.016, 2.352, 2.784, 3.335, 4.023, 4.856, 5.842",\
                 "1.925, 1.973, 2.134, 2.402, 2.767, 3.225, 3.784, 4.474, 5.31, 6.301");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1641, 0.1764, 0.2183, 0.2957, 0.4144, 0.5767, 0.7895, 1.058, 1.385, 1.776",\
                 "0.1613, 0.1738, 0.2167, 0.2955, 0.4137, 0.5754, 0.7895, 1.058, 1.385, 1.775",\
                 "0.1939, 0.2022, 0.2326, 0.2974, 0.4107, 0.5746, 0.7886, 1.059, 1.385, 1.776",\
                 "0.2893, 0.3004, 0.338, 0.4024, 0.4924, 0.615, 0.8002, 1.058, 1.385, 1.776",\
                 "0.41, 0.4242, 0.47, 0.5462, 0.6538, 0.7904, 0.9524, 1.152, 1.426, 1.785",\
                 "0.5576, 0.5748, 0.6306, 0.7226, 0.8454, 1, 1.189, 1.404, 1.647, 1.939",\
                 "0.7348, 0.7544, 0.8194, 0.9272, 1.069, 1.244, 1.451, 1.694, 1.971, 2.277",\
                 "0.9436, 0.968, 1.043, 1.169, 1.33, 1.526, 1.753, 2.019, 2.32, 2.659",\
                 "1.184, 1.213, 1.302, 1.442, 1.63, 1.846, 2.097, 2.385, 2.708, 3.071",\
                 "1.454, 1.488, 1.593, 1.754, 1.963, 2.208, 2.481, 2.795, 3.143, 3.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5648, 0.6173, 0.7981, 1.146, 1.685, 2.439, 3.433, 4.689, 6.21, 8.031",\
                 "0.5654, 0.6171, 0.799, 1.145, 1.683, 2.437, 3.433, 4.684, 6.213, 8.031",\
                 "0.5668, 0.6178, 0.7984, 1.146, 1.683, 2.44, 3.432, 4.683, 6.211, 8.021",\
                 "0.5906, 0.638, 0.8081, 1.146, 1.685, 2.438, 3.433, 4.687, 6.213, 8.032",\
                 "0.6478, 0.6964, 0.8666, 1.186, 1.697, 2.44, 3.433, 4.682, 6.202, 8.026",\
                 "0.7352, 0.7792, 0.9398, 1.261, 1.762, 2.474, 3.439, 4.678, 6.206, 8.036",\
                 "0.884, 0.9256, 1.067, 1.364, 1.857, 2.56, 3.494, 4.708, 6.217, 8.02",\
                 "1.072, 1.112, 1.254, 1.525, 1.983, 2.676, 3.602, 4.781, 6.257, 8.043",\
                 "1.287, 1.331, 1.479, 1.754, 2.178, 2.829, 3.741, 4.91, 6.346, 8.104",\
                 "1.525, 1.573, 1.729, 2.016, 2.44, 3.052, 3.92, 5.075, 6.502, 8.214");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1101, 0.1179, 0.1446, 0.1934, 0.2667, 0.3663, 0.4951, 0.6556, 0.8505, 1.082",\
                 "0.1235, 0.1311, 0.1575, 0.2061, 0.2791, 0.3787, 0.5075, 0.668, 0.8628, 1.094",\
                 "0.1721, 0.1806, 0.2082, 0.2559, 0.3274, 0.4264, 0.555, 0.7155, 0.9102, 1.141",\
                 "0.2096, 0.2216, 0.2606, 0.3265, 0.4149, 0.5221, 0.6501, 0.8097, 1.004, 1.235",\
                 "0.2153, 0.2308, 0.2821, 0.3684, 0.4831, 0.6217, 0.7811, 0.9579, 1.154, 1.384",\
                 "0.1842, 0.2037, 0.2677, 0.3744, 0.5178, 0.689, 0.8843, 1.101, 1.338, 1.591",\
                 "0.1139, 0.137, 0.2133, 0.3424, 0.5134, 0.7191, 0.9518, 1.209, 1.489, 1.79",\
                 "0.0032, 0.0298, 0.1178, 0.2675, 0.4677, 0.7082, 0.9806, 1.28, 1.603, 1.95",\
                 "-0.1504, -0.1198, -0.0202, 0.1493, 0.3769, 0.6535, 0.9655, 1.308, 1.677, 2.071",\
                 "-0.3481, -0.3145, -0.2037, -0.0142, 0.2411, 0.5497, 0.9021, 1.289, 1.706, 2.149");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4713, 0.5018, 0.6064, 0.8054, 1.114, 1.546, 2.113, 2.828, 3.701, 4.739",\
                 "0.4776, 0.5084, 0.6155, 0.8165, 1.127, 1.561, 2.13, 2.846, 3.718, 4.758",\
                 "0.5031, 0.5332, 0.6397, 0.8426, 1.155, 1.591, 2.162, 2.88, 3.755, 4.795",\
                 "0.557, 0.5874, 0.6922, 0.8912, 1.2, 1.634, 2.205, 2.923, 3.798, 4.84",\
                 "0.653, 0.6843, 0.7916, 0.9916, 1.295, 1.721, 2.284, 2.996, 3.867, 4.907",\
                 "0.8135, 0.8451, 0.952, 1.152, 1.458, 1.878, 2.429, 3.13, 3.991, 5.02",\
                 "1.027, 1.062, 1.178, 1.382, 1.687, 2.11, 2.658, 3.343, 4.188, 5.206",\
                 "1.286, 1.325, 1.454, 1.675, 1.988, 2.411, 2.96, 3.646, 4.476, 5.476",\
                 "1.585, 1.628, 1.772, 2.016, 2.352, 2.783, 3.334, 4.023, 4.856, 5.842",\
                 "1.924, 1.973, 2.133, 2.402, 2.767, 3.225, 3.784, 4.474, 5.31, 6.3");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1644, 0.1766, 0.2182, 0.2963, 0.4148, 0.5771, 0.7897, 1.059, 1.386, 1.776",\
                 "0.1614, 0.1738, 0.2168, 0.2955, 0.4139, 0.5756, 0.7898, 1.058, 1.385, 1.776",\
                 "0.194, 0.2022, 0.2327, 0.2973, 0.4104, 0.5757, 0.7901, 1.059, 1.386, 1.777",\
                 "0.2893, 0.3004, 0.338, 0.4028, 0.4925, 0.6153, 0.7999, 1.058, 1.385, 1.776",\
                 "0.4104, 0.4243, 0.4698, 0.5464, 0.6542, 0.7906, 0.9524, 1.153, 1.426, 1.785",\
                 "0.5576, 0.5748, 0.6308, 0.7228, 0.8456, 1, 1.187, 1.405, 1.648, 1.94",\
                 "0.7348, 0.7544, 0.8194, 0.9274, 1.07, 1.245, 1.451, 1.694, 1.971, 2.275",\
                 "0.9434, 0.968, 1.043, 1.169, 1.33, 1.526, 1.753, 2.019, 2.32, 2.66",\
                 "1.184, 1.213, 1.302, 1.442, 1.63, 1.846, 2.097, 2.385, 2.709, 3.072",\
                 "1.454, 1.488, 1.593, 1.754, 1.964, 2.208, 2.482, 2.796, 3.143, 3.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.5648, 0.6173, 0.7997, 1.145, 1.685, 2.44, 3.433, 4.689, 6.21, 8.031",\
                 "0.5654, 0.6172, 0.799, 1.146, 1.683, 2.436, 3.433, 4.689, 6.213, 8.031",\
                 "0.5663, 0.6178, 0.7991, 1.147, 1.686, 2.438, 3.429, 4.684, 6.205, 8.026",\
                 "0.5904, 0.6384, 0.8079, 1.146, 1.685, 2.442, 3.433, 4.68, 6.212, 8.036",\
                 "0.6478, 0.6958, 0.8666, 1.186, 1.696, 2.439, 3.435, 4.682, 6.203, 8.035",\
                 "0.7352, 0.7782, 0.9396, 1.262, 1.763, 2.473, 3.437, 4.68, 6.213, 8.036",\
                 "0.884, 0.9256, 1.067, 1.362, 1.856, 2.56, 3.497, 4.698, 6.217, 8.024",\
                 "1.074, 1.112, 1.254, 1.525, 1.986, 2.676, 3.603, 4.78, 6.253, 8.043",\
                 "1.288, 1.329, 1.479, 1.754, 2.178, 2.828, 3.743, 4.91, 6.346, 8.106",\
                 "1.529, 1.577, 1.729, 2.016, 2.441, 3.052, 3.921, 5.078, 6.501, 8.215");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1017, 0.1089, 0.1337, 0.179, 0.2468, 0.3392, 0.4586, 0.6072, 0.7875, 1.002",\
                 "0.1157, 0.1228, 0.1471, 0.1921, 0.2597, 0.3521, 0.4714, 0.62, 0.8003, 1.014",\
                 "0.1639, 0.1721, 0.1986, 0.2435, 0.3096, 0.4013, 0.5203, 0.6689, 0.8491, 1.063",\
                 "0.1979, 0.2096, 0.2472, 0.3107, 0.3957, 0.4981, 0.6179, 0.7656, 0.9454, 1.159",\
                 "0.1994, 0.2147, 0.2644, 0.3478, 0.4592, 0.5924, 0.7454, 0.9143, 1.099, 1.312",\
                 "0.1631, 0.1823, 0.2445, 0.3491, 0.4873, 0.6536, 0.8417, 1.05, 1.276, 1.519",\
                 "0.0863, 0.109, 0.1837, 0.3097, 0.4765, 0.6761, 0.9026, 1.15, 1.419, 1.707",\
                 "-0.0319, -0.0059, 0.0801, 0.2263, 0.4226, 0.6571, 0.9214, 1.211, 1.523, 1.857",\
                 "-0.1958, -0.1659, -0.0675, 0.0987, 0.3217, 0.5915, 0.8948, 1.228, 1.586, 1.966",\
                 "-0.4041, -0.3715, -0.2621, -0.0762, 0.1736, 0.4758, 0.8209, 1.197, 1.602, 2.031");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4706, 0.501, 0.6058, 0.8047, 1.113, 1.545, 2.112, 2.828, 3.7, 4.739",\
                 "0.476, 0.5065, 0.6138, 0.8152, 1.125, 1.559, 2.128, 2.844, 3.716, 4.756",\
                 "0.5018, 0.5321, 0.6386, 0.8406, 1.153, 1.589, 2.16, 2.877, 3.752, 4.793",\
                 "0.5569, 0.5872, 0.6919, 0.8902, 1.199, 1.632, 2.203, 2.92, 3.796, 4.838",\
                 "0.6547, 0.6857, 0.7922, 0.9925, 1.295, 1.72, 2.284, 2.995, 3.865, 4.904",\
                 "0.8189, 0.8499, 0.9568, 1.156, 1.462, 1.881, 2.431, 3.131, 3.991, 5.021",\
                 "1.038, 1.073, 1.188, 1.391, 1.695, 2.118, 2.664, 3.349, 4.192, 5.21",\
                 "1.303, 1.342, 1.47, 1.69, 2.002, 2.423, 2.972, 3.657, 4.486, 5.484",\
                 "1.611, 1.655, 1.797, 2.039, 2.373, 2.803, 3.353, 4.04, 4.872, 5.855",\
                 "1.962, 2.011, 2.169, 2.435, 2.798, 3.252, 3.81, 4.498, 5.334, 6.323");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.149, 0.1601, 0.1992, 0.2709, 0.3805, 0.5301, 0.7273, 0.9744, 1.277, 1.636",\
                 "0.1462, 0.1579, 0.1973, 0.2706, 0.3796, 0.5308, 0.7268, 0.9748, 1.277, 1.636",\
                 "0.1841, 0.1925, 0.2197, 0.2763, 0.3777, 0.5287, 0.7267, 0.9739, 1.276, 1.636",\
                 "0.2797, 0.2901, 0.3254, 0.386, 0.4694, 0.579, 0.7424, 0.9759, 1.276, 1.637",\
                 "0.3985, 0.4118, 0.4566, 0.5294, 0.6304, 0.758, 0.909, 1.088, 1.33, 1.651",\
                 "0.5442, 0.5606, 0.6128, 0.7018, 0.8194, 0.9664, 1.142, 1.345, 1.572, 1.831",\
                 "0.7188, 0.7372, 0.8008, 0.9044, 1.041, 1.207, 1.405, 1.632, 1.891, 2.176",\
                 "0.9222, 0.9464, 1.021, 1.142, 1.299, 1.486, 1.704, 1.954, 2.238, 2.556",\
                 "1.16, 1.188, 1.274, 1.412, 1.589, 1.799, 2.044, 2.317, 2.622, 2.967",\
                 "1.425, 1.459, 1.561, 1.721, 1.918, 2.158, 2.424, 2.723, 3.055, 3.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.565, 0.6173, 0.798, 1.145, 1.685, 2.44, 3.433, 4.688, 6.21, 8.031",\
                 "0.5654, 0.6171, 0.799, 1.146, 1.683, 2.441, 3.433, 4.683, 6.209, 8.031",\
                 "0.5667, 0.6177, 0.7984, 1.147, 1.683, 2.44, 3.434, 4.68, 6.208, 8.022",\
                 "0.5906, 0.6378, 0.8082, 1.146, 1.683, 2.439, 3.433, 4.678, 6.211, 8.035",\
                 "0.647, 0.696, 0.8666, 1.186, 1.696, 2.437, 3.433, 4.688, 6.202, 8.022",\
                 "0.7322, 0.7762, 0.9382, 1.26, 1.762, 2.473, 3.435, 4.684, 6.213, 8.036",\
                 "0.8772, 0.918, 1.061, 1.358, 1.855, 2.559, 3.497, 4.698, 6.217, 8.028",\
                 "1.063, 1.104, 1.245, 1.516, 1.978, 2.671, 3.6, 4.779, 6.253, 8.029",\
                 "1.275, 1.318, 1.468, 1.737, 2.165, 2.823, 3.736, 4.906, 6.347, 8.099",\
                 "1.514, 1.56, 1.716, 1.998, 2.422, 3.038, 3.907, 5.067, 6.495, 8.211");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1899, 0.1999, 0.2344, 0.2968, 0.3905, 0.5176, 0.6813, 0.8847, 1.131, 1.423",\
                 "0.2009, 0.2111, 0.2454, 0.308, 0.4014, 0.5286, 0.6922, 0.8957, 1.142, 1.434",\
                 "0.2472, 0.2568, 0.2896, 0.3514, 0.4445, 0.5714, 0.7348, 0.9383, 1.185, 1.477",\
                 "0.3193, 0.331, 0.3703, 0.4386, 0.5335, 0.6583, 0.8207, 1.024, 1.27, 1.562",\
                 "0.365, 0.38, 0.4291, 0.5144, 0.6339, 0.7828, 0.9579, 1.161, 1.406, 1.697",\
                 "0.3783, 0.3964, 0.457, 0.5606, 0.7047, 0.8837, 1.094, 1.333, 1.598, 1.891",\
                 "0.3566, 0.3772, 0.4488, 0.5716, 0.7429, 0.9522, 1.199, 1.476, 1.785, 2.121",\
                 "0.2962, 0.3214, 0.4033, 0.5457, 0.7419, 0.9865, 1.269, 1.587, 1.937, 2.319",\
                 "0.1968, 0.2241, 0.3169, 0.4786, 0.7019, 0.9796, 1.301, 1.66, 2.055, 2.482",\
                 "0.0584, 0.089, 0.1909, 0.3692, 0.6191, 0.9308, 1.292, 1.694, 2.134, 2.61");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.4808, 0.5111, 0.6166, 0.8165, 1.126, 1.56, 2.13, 2.848, 3.723, 4.765",\
                 "0.487, 0.5178, 0.6253, 0.8281, 1.14, 1.576, 2.147, 2.865, 3.741, 4.783",\
                 "0.5122, 0.5429, 0.6498, 0.8533, 1.168, 1.606, 2.179, 2.9, 3.777, 4.82",\
                 "0.5673, 0.5975, 0.7026, 0.9021, 1.213, 1.649, 2.222, 2.943, 3.821, 4.865",\
                 "0.6644, 0.6952, 0.8029, 1.004, 1.308, 1.736, 2.301, 3.016, 3.89, 4.931",\
                 "0.8257, 0.8573, 0.9645, 1.165, 1.472, 1.894, 2.447, 3.15, 4.013, 5.046",\
                 "1.043, 1.078, 1.192, 1.396, 1.702, 2.126, 2.676, 3.363, 4.212, 5.231",\
                 "1.305, 1.343, 1.471, 1.691, 2.003, 2.427, 2.979, 3.667, 4.5, 5.501",\
                 "1.609, 1.652, 1.793, 2.035, 2.37, 2.802, 3.354, 4.045, 4.88, 5.867",\
                 "1.955, 2.003, 2.16, 2.425, 2.789, 3.244, 3.804, 4.497, 5.336, 6.327");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.284, 0.2994, 0.3523, 0.4519, 0.6021, 0.8097, 1.081, 1.422, 1.839, 2.334",\
                 "0.283, 0.2985, 0.3521, 0.4509, 0.6016, 0.8098, 1.082, 1.423, 1.838, 2.335",\
                 "0.2738, 0.2891, 0.3426, 0.4449, 0.5996, 0.8094, 1.082, 1.422, 1.839, 2.335",\
                 "0.3569, 0.3709, 0.4178, 0.4985, 0.6234, 0.8127, 1.08, 1.423, 1.838, 2.334",\
                 "0.4782, 0.4942, 0.548, 0.6424, 0.774, 0.9434, 1.159, 1.453, 1.843, 2.333",\
                 "0.6286, 0.648, 0.7102, 0.8162, 0.9634, 1.153, 1.383, 1.652, 1.98, 2.401",\
                 "0.8132, 0.835, 0.907, 1.028, 1.189, 1.395, 1.646, 1.943, 2.283, 2.664",\
                 "1.025, 1.054, 1.135, 1.273, 1.457, 1.681, 1.949, 2.265, 2.633, 3.046",\
                 "1.276, 1.302, 1.4, 1.555, 1.759, 2.007, 2.296, 2.633, 3.019, 3.462",\
                 "1.561, 1.592, 1.703, 1.879, 2.105, 2.376, 2.691, 3.051, 3.456, 3.92");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8225, 0.8798, 1.077, 1.446, 2.003, 2.771, 3.77, 5.022, 6.548, 8.367",\
                 "0.8226, 0.8797, 1.077, 1.446, 2.004, 2.771, 3.77, 5.022, 6.549, 8.367",\
                 "0.8234, 0.8803, 1.078, 1.446, 2.004, 2.771, 3.77, 5.022, 6.548, 8.369",\
                 "0.8471, 0.8998, 1.086, 1.447, 2.004, 2.771, 3.77, 5.022, 6.548, 8.368",\
                 "0.9282, 0.9784, 1.151, 1.487, 2.017, 2.772, 3.771, 5.022, 6.548, 8.369",\
                 "1.047, 1.09, 1.255, 1.58, 2.085, 2.808, 3.777, 5.023, 6.55, 8.369",\
                 "1.238, 1.274, 1.411, 1.706, 2.198, 2.9, 3.837, 5.044, 6.55, 8.37",\
                 "1.498, 1.529, 1.648, 1.9, 2.352, 3.034, 3.951, 5.128, 6.593, 8.377",\
                 "1.793, 1.822, 1.937, 2.171, 2.575, 3.214, 4.111, 5.266, 6.7, 8.444",\
                 "2.113, 2.145, 2.26, 2.496, 2.882, 3.466, 4.316, 5.453, 6.863, 8.571");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1955, 0.2052, 0.2381, 0.2986, 0.3897, 0.5144, 0.676, 0.8776, 1.123, 1.413",\
                 "0.2108, 0.2204, 0.2535, 0.3142, 0.4055, 0.5304, 0.692, 0.8937, 1.139, 1.43",\
                 "0.2497, 0.2593, 0.2918, 0.3521, 0.4433, 0.5684, 0.7302, 0.9322, 1.177, 1.468",\
                 "0.2869, 0.298, 0.3357, 0.4023, 0.4982, 0.624, 0.7853, 0.9872, 1.232, 1.523",\
                 "0.2987, 0.3122, 0.3584, 0.4376, 0.5486, 0.6906, 0.8641, 1.07, 1.315, 1.606",\
                 "0.2704, 0.2878, 0.3445, 0.4413, 0.5743, 0.7386, 0.934, 1.162, 1.424, 1.722",\
                 "0.1934, 0.214, 0.283, 0.4001, 0.56, 0.7545, 0.9795, 1.235, 1.523, 1.846",\
                 "0.0641, 0.0885, 0.1689, 0.3074, 0.4956, 0.7238, 0.9858, 1.277, 1.597, 1.95",\
                 "-0.1222, -0.0944, -0.0012, 0.1582, 0.3753, 0.6398, 0.9415, 1.274, 1.636, 2.027",\
                 "-0.3692, -0.3376, -0.2323, -0.0507, 0.1968, 0.4965, 0.8396, 1.219, 1.626, 2.062");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.6189, 0.6495, 0.7561, 0.9576, 1.27, 1.705, 2.277, 2.996, 3.872, 4.916",\
                 "0.6237, 0.6547, 0.7615, 0.9639, 1.277, 1.712, 2.284, 3.003, 3.88, 4.924",\
                 "0.6682, 0.6987, 0.8051, 1.007, 1.32, 1.756, 2.329, 3.048, 3.925, 4.969",\
                 "0.7875, 0.8168, 0.9206, 1.118, 1.426, 1.859, 2.428, 3.145, 4.021, 5.063",\
                 "0.9952, 1.024, 1.125, 1.317, 1.617, 2.042, 2.604, 3.315, 4.185, 5.224",\
                 "1.271, 1.302, 1.411, 1.61, 1.906, 2.321, 2.873, 3.574, 4.436, 5.467",\
                 "1.603, 1.638, 1.755, 1.97, 2.288, 2.707, 3.249, 3.938, 4.787, 5.808",\
                 "2.002, 2.038, 2.162, 2.391, 2.732, 3.181, 3.738, 4.419, 5.255, 6.262",\
                 "2.472, 2.51, 2.642, 2.884, 3.241, 3.719, 4.311, 5.016, 5.846, 6.839",\
                 "3.009, 3.053, 3.196, 3.452, 3.828, 4.326, 4.951, 5.696, 6.558, 7.547");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2143, 0.2294, 0.2822, 0.3798, 0.5301, 0.7364, 1.008, 1.348, 1.764, 2.257",\
                 "0.2142, 0.2293, 0.282, 0.3799, 0.5303, 0.7371, 1.007, 1.348, 1.763, 2.258",\
                 "0.2176, 0.2317, 0.2818, 0.3786, 0.5288, 0.7365, 1.007, 1.348, 1.763, 2.258",\
                 "0.2757, 0.2895, 0.3352, 0.4209, 0.5517, 0.7441, 1.008, 1.347, 1.764, 2.258",\
                 "0.3704, 0.384, 0.4304, 0.5158, 0.648, 0.8304, 1.067, 1.376, 1.772, 2.258",\
                 "0.4986, 0.5144, 0.5646, 0.655, 0.7876, 0.9692, 1.207, 1.506, 1.867, 2.314",\
                 "0.652, 0.6692, 0.7274, 0.8286, 0.9726, 1.16, 1.395, 1.693, 2.056, 2.486",\
                 "0.826, 0.847, 0.9126, 1.028, 1.189, 1.392, 1.639, 1.935, 2.295, 2.724",\
                 "1.024, 1.047, 1.121, 1.249, 1.43, 1.655, 1.922, 2.231, 2.595, 3.02",\
                 "1.239, 1.266, 1.352, 1.496, 1.697, 1.946, 2.236, 2.571, 2.951, 3.381");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.242, 1.298, 1.491, 1.856, 2.411, 3.178, 4.179, 5.435, 6.964, 8.784",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.179, 4.178, 5.434, 6.965, 8.783",\
                 "1.242, 1.298, 1.491, 1.855, 2.411, 3.178, 4.179, 5.434, 6.963, 8.785",\
                 "1.24, 1.296, 1.491, 1.855, 2.411, 3.179, 4.179, 5.435, 6.964, 8.784",\
                 "1.28, 1.331, 1.511, 1.859, 2.411, 3.178, 4.179, 5.434, 6.964, 8.785",\
                 "1.4, 1.449, 1.619, 1.942, 2.448, 3.183, 4.179, 5.434, 6.965, 8.786",\
                 "1.528, 1.581, 1.765, 2.1, 2.589, 3.271, 4.205, 5.437, 6.965, 8.786",\
                 "1.674, 1.732, 1.917, 2.268, 2.783, 3.462, 4.344, 5.497, 6.974, 8.786",\
                 "1.854, 1.908, 2.095, 2.448, 2.979, 3.696, 4.584, 5.686, 7.077, 8.813",\
                 "2.074, 2.126, 2.307, 2.654, 3.191, 3.932, 4.864, 5.973, 7.312, 8.962");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1857, 0.1947, 0.2253, 0.2825, 0.3703, 0.4919, 0.651, 0.8507, 1.094, 1.384",\
                 "0.2009, 0.2099, 0.2407, 0.2983, 0.3861, 0.5078, 0.667, 0.8669, 1.11, 1.4",\
                 "0.2378, 0.2469, 0.2779, 0.3356, 0.4237, 0.5458, 0.7052, 0.9052, 1.149, 1.439",\
                 "0.2675, 0.2785, 0.3158, 0.3815, 0.4765, 0.6009, 0.7601, 0.9602, 1.204, 1.494",\
                 "0.2681, 0.2822, 0.3293, 0.4096, 0.5211, 0.6633, 0.8369, 1.043, 1.287, 1.577",\
                 "0.2262, 0.2442, 0.3031, 0.4034, 0.539, 0.7059, 0.9024, 1.131, 1.394, 1.693",\
                 "0.1351, 0.1568, 0.2284, 0.3503, 0.515, 0.7138, 0.9425, 1.199, 1.489, 1.813",\
                 "-0.0093, 0.0163, 0.1012, 0.2455, 0.4401, 0.6746, 0.9413, 1.237, 1.56, 1.914",\
                 "-0.2119, -0.182, -0.0837, 0.084, 0.3093, 0.5809, 0.8893, 1.227, 1.594, 1.987",\
                 "-0.4737, -0.4395, -0.3284, -0.1374, 0.1195, 0.4282, 0.7792, 1.164, 1.577, 2.017");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.6188, 0.6496, 0.7561, 0.9577, 1.269, 1.705, 2.277, 2.996, 3.872, 4.915",\
                 "0.6242, 0.6545, 0.7617, 0.9641, 1.277, 1.713, 2.284, 3.004, 3.88, 4.923",\
                 "0.6686, 0.6987, 0.8053, 1.008, 1.32, 1.756, 2.329, 3.048, 3.925, 4.968",\
                 "0.7874, 0.8169, 0.9206, 1.119, 1.426, 1.859, 2.428, 3.145, 4.021, 5.063",\
                 "0.9955, 1.024, 1.124, 1.317, 1.617, 2.042, 2.604, 3.315, 4.184, 5.223",\
                 "1.271, 1.303, 1.411, 1.611, 1.907, 2.322, 2.873, 3.574, 4.435, 5.466",\
                 "1.603, 1.638, 1.755, 1.97, 2.288, 2.707, 3.249, 3.938, 4.787, 5.808",\
                 "2.001, 2.037, 2.163, 2.391, 2.732, 3.181, 3.738, 4.419, 5.255, 6.261",\
                 "2.47, 2.509, 2.643, 2.885, 3.241, 3.718, 4.312, 5.016, 5.846, 6.839",\
                 "3.009, 3.053, 3.196, 3.453, 3.828, 4.327, 4.951, 5.697, 6.558, 7.548");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1876, 0.2024, 0.2528, 0.3482, 0.4956, 0.7006, 0.9716, 1.311, 1.726, 2.22",\
                 "0.1875, 0.2025, 0.2524, 0.3482, 0.4955, 0.7015, 0.9708, 1.311, 1.727, 2.221",\
                 "0.195, 0.2081, 0.2552, 0.348, 0.4954, 0.7014, 0.9717, 1.312, 1.727, 2.221",\
                 "0.2542, 0.267, 0.312, 0.3961, 0.5248, 0.7127, 0.9737, 1.311, 1.726, 2.221",\
                 "0.35, 0.3635, 0.409, 0.493, 0.6238, 0.8048, 1.039, 1.346, 1.738, 2.223",\
                 "0.4788, 0.4942, 0.5454, 0.636, 0.7664, 0.9464, 1.182, 1.479, 1.839, 2.283",\
                 "0.631, 0.6494, 0.7076, 0.8102, 0.9538, 1.14, 1.374, 1.669, 2.029, 2.458",\
                 "0.808, 0.8284, 0.8942, 1.01, 1.171, 1.376, 1.619, 1.915, 2.272, 2.698",\
                 "1.005, 1.028, 1.104, 1.233, 1.412, 1.637, 1.905, 2.213, 2.575, 2.997",\
                 "1.217, 1.244, 1.333, 1.48, 1.679, 1.929, 2.22, 2.551, 2.93, 3.361");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.139, 1.192, 1.376, 1.726, 2.268, 3.026, 4.021, 5.273, 6.8, 8.619",\
                 "1.139, 1.191, 1.376, 1.726, 2.268, 3.026, 4.022, 5.273, 6.801, 8.618",\
                 "1.138, 1.192, 1.376, 1.726, 2.268, 3.026, 4.021, 5.273, 6.8, 8.62",\
                 "1.136, 1.189, 1.375, 1.725, 2.268, 3.026, 4.022, 5.273, 6.802, 8.62",\
                 "1.177, 1.225, 1.395, 1.729, 2.267, 3.026, 4.021, 5.274, 6.802, 8.623",\
                 "1.288, 1.338, 1.503, 1.812, 2.305, 3.03, 4.021, 5.273, 6.802, 8.621",\
                 "1.405, 1.454, 1.634, 1.963, 2.445, 3.118, 4.048, 5.277, 6.801, 8.621",\
                 "1.536, 1.589, 1.774, 2.117, 2.631, 3.308, 4.187, 5.336, 6.811, 8.621",\
                 "1.703, 1.754, 1.937, 2.283, 2.815, 3.536, 4.425, 5.526, 6.915, 8.648",\
                 "1.904, 1.954, 2.137, 2.484, 3.017, 3.762, 4.698, 5.813, 7.15, 8.796");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1512, 0.1579, 0.1813, 0.225, 0.2911, 0.3831, 0.5032, 0.6535, 0.8369, 1.055",\
                 "0.1666, 0.1734, 0.1968, 0.2404, 0.3069, 0.3989, 0.5192, 0.6698, 0.8533, 1.071",\
                 "0.2117, 0.2191, 0.2435, 0.2877, 0.3543, 0.4465, 0.5669, 0.7178, 0.9012, 1.12",\
                 "0.2482, 0.2585, 0.2924, 0.3507, 0.431, 0.531, 0.6528, 0.8036, 0.9873, 1.206",\
                 "0.2512, 0.2645, 0.3093, 0.3855, 0.4893, 0.6167, 0.7647, 0.9322, 1.121, 1.34",\
                 "0.2102, 0.2273, 0.2841, 0.3808, 0.5113, 0.6695, 0.8509, 1.053, 1.276, 1.518",\
                 "0.1201, 0.141, 0.2103, 0.3282, 0.4878, 0.6801, 0.8986, 1.139, 1.402, 1.684",\
                 "-0.0232, 0.0015, 0.0834, 0.223, 0.4126, 0.641, 0.899, 1.183, 1.488, 1.814",\
                 "-0.2238, -0.1954, -0.1009, 0.0616, 0.2807, 0.546, 0.8462, 1.175, 1.527, 1.901",\
                 "-0.484, -0.4518, -0.3452, -0.1606, 0.0898, 0.3911, 0.7342, 1.109, 1.51, 1.935");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.6787, 0.7087, 0.8141, 1.014, 1.325, 1.759, 2.33, 3.049, 3.924, 4.968",\
                 "0.6844, 0.7147, 0.8206, 1.022, 1.333, 1.768, 2.34, 3.058, 3.935, 4.977",\
                 "0.7285, 0.7586, 0.8645, 1.065, 1.377, 1.813, 2.384, 3.104, 3.98, 5.023",\
                 "0.8477, 0.877, 0.9799, 1.176, 1.484, 1.915, 2.484, 3.201, 4.076, 5.118",\
                 "1.055, 1.084, 1.184, 1.375, 1.675, 2.099, 2.661, 3.372, 4.241, 5.28",\
                 "1.337, 1.368, 1.476, 1.671, 1.966, 2.381, 2.933, 3.634, 4.495, 5.525",\
                 "1.675, 1.709, 1.824, 2.038, 2.352, 2.77, 3.313, 4.002, 4.851, 5.871",\
                 "2.079, 2.115, 2.238, 2.464, 2.802, 3.251, 3.805, 4.487, 5.324, 6.33",\
                 "2.554, 2.592, 2.723, 2.963, 3.319, 3.793, 4.385, 5.087, 5.919, 6.912",\
                 "3.103, 3.144, 3.283, 3.537, 3.909, 4.409, 5.032, 5.776, 6.636, 7.627");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1594, 0.1702, 0.2083, 0.2806, 0.3914, 0.5468, 0.7505, 1.007, 1.319, 1.691",\
                 "0.1595, 0.1703, 0.2081, 0.2802, 0.3914, 0.5469, 0.7506, 1.006, 1.32, 1.691",\
                 "0.1791, 0.1875, 0.2191, 0.2836, 0.3917, 0.5463, 0.7506, 1.006, 1.319, 1.692",\
                 "0.2694, 0.2787, 0.3112, 0.3697, 0.4563, 0.5798, 0.7609, 1.008, 1.319, 1.691",\
                 "0.387, 0.3978, 0.4339, 0.5018, 0.5988, 0.7286, 0.8894, 1.089, 1.357, 1.702",\
                 "0.5308, 0.5432, 0.586, 0.6628, 0.7722, 0.916, 1.093, 1.302, 1.546, 1.837",\
                 "0.6966, 0.7114, 0.7624, 0.8502, 0.9766, 1.137, 1.329, 1.556, 1.819, 2.12",\
                 "0.8876, 0.9038, 0.96, 1.062, 1.206, 1.387, 1.602, 1.847, 2.13, 2.452",\
                 "1.098, 1.116, 1.181, 1.295, 1.459, 1.663, 1.903, 2.176, 2.48, 2.82",\
                 "1.322, 1.345, 1.422, 1.554, 1.734, 1.963, 2.231, 2.534, 2.866, 3.234");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.21, 1.262, 1.448, 1.799, 2.341, 3.1, 4.097, 5.348, 6.875, 8.694",\
                 "1.21, 1.262, 1.447, 1.799, 2.341, 3.1, 4.096, 5.349, 6.875, 8.696",\
                 "1.209, 1.263, 1.447, 1.798, 2.341, 3.1, 4.096, 5.349, 6.875, 8.697",\
                 "1.208, 1.261, 1.447, 1.799, 2.341, 3.1, 4.096, 5.349, 6.876, 8.694",\
                 "1.238, 1.288, 1.461, 1.799, 2.341, 3.1, 4.096, 5.348, 6.876, 8.694",\
                 "1.349, 1.397, 1.56, 1.872, 2.371, 3.103, 4.096, 5.348, 6.876, 8.695",\
                 "1.466, 1.519, 1.698, 2.024, 2.502, 3.182, 4.117, 5.351, 6.876, 8.696",\
                 "1.6, 1.65, 1.834, 2.181, 2.692, 3.364, 4.245, 5.403, 6.885, 8.695",\
                 "1.757, 1.81, 1.995, 2.342, 2.88, 3.594, 4.479, 5.583, 6.977, 8.719",\
                 "1.952, 2.005, 2.188, 2.533, 3.078, 3.816, 4.751, 5.862, 7.206, 8.856");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1544, 0.1627, 0.1918, 0.247, 0.3328, 0.4527, 0.6105, 0.8095, 1.052, 1.342",\
                 "0.169, 0.1775, 0.207, 0.2625, 0.3485, 0.4687, 0.6267, 0.8251, 1.068, 1.357",\
                 "0.2023, 0.2116, 0.2428, 0.2994, 0.3858, 0.5065, 0.6645, 0.8635, 1.106, 1.396",\
                 "0.2194, 0.2315, 0.271, 0.3391, 0.4356, 0.5611, 0.7196, 0.919, 1.162, 1.45",\
                 "0.2018, 0.2177, 0.2695, 0.356, 0.4726, 0.6178, 0.7933, 1.001, 1.245, 1.534",\
                 "0.1388, 0.1591, 0.2253, 0.3347, 0.4791, 0.6526, 0.8534, 1.085, 1.349, 1.649",\
                 "0.0251, 0.0502, 0.1316, 0.2653, 0.4417, 0.65, 0.8858, 1.148, 1.44, 1.766",\
                 "-0.1425, -0.1126, -0.016, 0.1433, 0.3519, 0.5989, 0.8747, 1.178, 1.505, 1.864",\
                 "-0.3667, -0.3321, -0.2209, -0.0358, 0.2064, 0.4923, 0.8125, 1.16, 1.532, 1.931",\
                 "-0.6484, -0.6102, -0.4847, -0.2748, 0.0016, 0.3271, 0.6912, 1.087, 1.508, 1.955");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.6057, 0.6361, 0.7426, 0.9439, 1.255, 1.689, 2.257, 2.973, 3.847, 4.887",\
                 "0.6107, 0.6413, 0.7483, 0.9504, 1.261, 1.697, 2.266, 2.981, 3.855, 4.895",\
                 "0.6548, 0.6854, 0.7921, 0.9936, 1.305, 1.74, 2.309, 3.026, 3.899, 4.94",\
                 "0.7739, 0.8031, 0.9069, 1.104, 1.411, 1.842, 2.409, 3.123, 3.996, 5.035",\
                 "0.9816, 1.011, 1.111, 1.303, 1.602, 2.025, 2.584, 3.293, 4.159, 5.194",\
                 "1.255, 1.286, 1.397, 1.595, 1.891, 2.305, 2.854, 3.551, 4.411, 5.438",\
                 "1.585, 1.618, 1.737, 1.954, 2.272, 2.69, 3.229, 3.916, 4.762, 5.778",\
                 "1.98, 2.017, 2.142, 2.371, 2.712, 3.163, 3.718, 4.397, 5.23, 6.233",\
                 "2.446, 2.486, 2.62, 2.862, 3.219, 3.696, 4.288, 4.992, 5.82, 6.81",\
                 "2.982, 3.023, 3.171, 3.429, 3.804, 4.303, 4.925, 5.67, 6.53, 7.518");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1473, 0.1611, 0.2099, 0.3039, 0.4501, 0.6551, 0.9258, 1.266, 1.68, 2.174",\
                 "0.1474, 0.1612, 0.2101, 0.3038, 0.4503, 0.6559, 0.9265, 1.265, 1.68, 2.174",\
                 "0.1642, 0.1756, 0.2189, 0.3062, 0.4503, 0.6559, 0.9245, 1.265, 1.679, 2.174",\
                 "0.2268, 0.2396, 0.2821, 0.3632, 0.4901, 0.6725, 0.9285, 1.264, 1.679, 2.174",\
                 "0.328, 0.3405, 0.3849, 0.467, 0.5928, 0.771, 1.003, 1.305, 1.693, 2.175",\
                 "0.4582, 0.4726, 0.5228, 0.6124, 0.743, 0.9182, 1.15, 1.444, 1.801, 2.241",\
                 "0.6138, 0.6308, 0.6878, 0.7892, 0.9304, 1.115, 1.347, 1.637, 1.994, 2.422",\
                 "0.7936, 0.8112, 0.8748, 0.9884, 1.149, 1.35, 1.595, 1.886, 2.242, 2.666",\
                 "0.9886, 1.011, 1.086, 1.212, 1.392, 1.616, 1.88, 2.191, 2.547, 2.968",\
                 "1.2, 1.225, 1.312, 1.46, 1.657, 1.907, 2.198, 2.527, 2.906, 3.335");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.922, 0.9746, 1.159, 1.509, 2.052, 2.812, 3.806, 5.058, 6.586, 8.403",\
                 "0.9219, 0.9742, 1.159, 1.51, 2.052, 2.812, 3.808, 5.058, 6.586, 8.403",\
                 "0.9211, 0.9738, 1.16, 1.509, 2.052, 2.81, 3.805, 5.06, 6.583, 8.405",\
                 "0.9178, 0.9711, 1.157, 1.509, 2.052, 2.811, 3.807, 5.058, 6.587, 8.406",\
                 "0.9582, 1.006, 1.178, 1.512, 2.051, 2.81, 3.806, 5.06, 6.585, 8.405",\
                 "1.053, 1.106, 1.28, 1.594, 2.089, 2.815, 3.805, 5.059, 6.587, 8.408",\
                 "1.15, 1.205, 1.394, 1.735, 2.226, 2.902, 3.831, 5.06, 6.585, 8.407",\
                 "1.265, 1.321, 1.52, 1.874, 2.4, 3.089, 3.97, 5.12, 6.595, 8.405",\
                 "1.414, 1.468, 1.662, 2.026, 2.571, 3.303, 4.205, 5.31, 6.695, 8.432",\
                 "1.588, 1.645, 1.842, 2.206, 2.758, 3.513, 4.468, 5.592, 6.936, 8.58");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.129, 0.1354, 0.1576, 0.1992, 0.2637, 0.3547, 0.4735, 0.6233, 0.8058, 1.024",\
                 "0.144, 0.1504, 0.1728, 0.2148, 0.2795, 0.3704, 0.4896, 0.6392, 0.8218, 1.04",\
                 "0.1829, 0.1908, 0.2166, 0.2612, 0.3268, 0.418, 0.5369, 0.687, 0.8701, 1.088",\
                 "0.2031, 0.2147, 0.2515, 0.3136, 0.3975, 0.5003, 0.6228, 0.7729, 0.956, 1.174",\
                 "0.1867, 0.2021, 0.2518, 0.3347, 0.4446, 0.5769, 0.7289, 0.8993, 1.089, 1.308",\
                 "0.1244, 0.1445, 0.2083, 0.3143, 0.4538, 0.6193, 0.8065, 1.013, 1.239, 1.484",\
                 "0.0132, 0.037, 0.1154, 0.245, 0.4162, 0.6183, 0.8448, 1.092, 1.359, 1.645",\
                 "-0.152, -0.1235, -0.0309, 0.1233, 0.3266, 0.567, 0.8348, 1.126, 1.438, 1.769",\
                 "-0.3732, -0.341, -0.2342, -0.0554, 0.1801, 0.459, 0.7713, 1.109, 1.469, 1.849",\
                 "-0.6527, -0.6166, -0.4965, -0.2945, -0.0258, 0.2921, 0.6479, 1.034, 1.444, 1.876");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.6659, 0.696, 0.8012, 1.001, 1.31, 1.743, 2.311, 3.026, 3.899, 4.939",\
                 "0.6717, 0.702, 0.8076, 1.008, 1.319, 1.752, 2.321, 3.037, 3.908, 4.949",\
                 "0.7158, 0.7459, 0.8516, 1.052, 1.362, 1.796, 2.365, 3.082, 3.954, 4.995",\
                 "0.8346, 0.8639, 0.9665, 1.163, 1.468, 1.899, 2.466, 3.179, 4.051, 5.09",\
                 "1.043, 1.071, 1.171, 1.362, 1.661, 2.083, 2.641, 3.349, 4.216, 5.25",\
                 "1.322, 1.353, 1.46, 1.656, 1.951, 2.364, 2.913, 3.612, 4.47, 5.497",\
                 "1.658, 1.691, 1.807, 2.021, 2.335, 2.752, 3.293, 3.98, 4.826, 5.843",\
                 "2.059, 2.095, 2.218, 2.446, 2.783, 3.231, 3.784, 4.464, 5.297, 6.301",\
                 "2.531, 2.57, 2.701, 2.941, 3.296, 3.771, 4.362, 5.064, 5.892, 6.883",\
                 "3.076, 3.118, 3.26, 3.511, 3.886, 4.384, 5.005, 5.75, 6.609, 7.598");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1281, 0.1388, 0.1757, 0.2471, 0.3572, 0.5128, 0.7154, 0.9715, 1.284, 1.658",\
                 "0.1285, 0.139, 0.1758, 0.2471, 0.3571, 0.5121, 0.7159, 0.9717, 1.283, 1.656",\
                 "0.1607, 0.1686, 0.1967, 0.2563, 0.3591, 0.5124, 0.7158, 0.9717, 1.284, 1.657",\
                 "0.2517, 0.2605, 0.2922, 0.3508, 0.4373, 0.5562, 0.7322, 0.9731, 1.284, 1.655",\
                 "0.371, 0.3814, 0.4173, 0.4834, 0.5808, 0.7092, 0.8692, 1.066, 1.328, 1.668",\
                 "0.5164, 0.5286, 0.5704, 0.6468, 0.7548, 0.8976, 1.072, 1.282, 1.526, 1.813",\
                 "0.6876, 0.7, 0.7478, 0.8348, 0.9588, 1.12, 1.31, 1.537, 1.799, 2.098",\
                 "0.8798, 0.895, 0.9494, 1.046, 1.19, 1.369, 1.583, 1.829, 2.111, 2.431",\
                 "1.091, 1.111, 1.171, 1.283, 1.441, 1.646, 1.884, 2.159, 2.461, 2.801",\
                 "1.318, 1.338, 1.411, 1.54, 1.719, 1.945, 2.212, 2.514, 2.851, 3.215");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.9968, 1.05, 1.234, 1.585, 2.126, 2.885, 3.88, 5.132, 6.66, 8.479",\
                 "0.9969, 1.049, 1.235, 1.584, 2.128, 2.886, 3.882, 5.133, 6.66, 8.481",\
                 "0.996, 1.049, 1.234, 1.585, 2.128, 2.886, 3.88, 5.133, 6.66, 8.481",\
                 "0.9936, 1.046, 1.232, 1.585, 2.126, 2.885, 3.882, 5.133, 6.663, 8.481",\
                 "1.024, 1.073, 1.246, 1.585, 2.125, 2.884, 3.88, 5.134, 6.66, 8.479",\
                 "1.125, 1.176, 1.343, 1.657, 2.155, 2.888, 3.879, 5.133, 6.661, 8.481",\
                 "1.223, 1.278, 1.464, 1.799, 2.286, 2.966, 3.9, 5.134, 6.661, 8.481",\
                 "1.335, 1.392, 1.583, 1.939, 2.463, 3.148, 4.03, 5.186, 6.668, 8.482",\
                 "1.478, 1.534, 1.73, 2.088, 2.635, 3.366, 4.261, 5.367, 6.76, 8.501",\
                 "1.651, 1.711, 1.903, 2.266, 2.82, 3.575, 4.524, 5.643, 6.988, 8.64");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.129, 0.1354, 0.1576, 0.1992, 0.2638, 0.3545, 0.4736, 0.6231, 0.8059, 1.024",\
                 "0.144, 0.1504, 0.1728, 0.2148, 0.2795, 0.3704, 0.4896, 0.6392, 0.8219, 1.04",\
                 "0.1829, 0.1908, 0.2166, 0.2612, 0.3268, 0.4177, 0.5369, 0.687, 0.8701, 1.088",\
                 "0.2031, 0.2147, 0.2515, 0.3136, 0.3975, 0.5003, 0.6228, 0.7729, 0.956, 1.174",\
                 "0.1867, 0.2021, 0.2518, 0.3347, 0.4446, 0.5769, 0.7289, 0.8993, 1.089, 1.308",\
                 "0.1246, 0.1445, 0.2083, 0.3144, 0.4538, 0.6193, 0.8065, 1.013, 1.239, 1.484",\
                 "0.0132, 0.0371, 0.1154, 0.245, 0.4162, 0.6183, 0.8448, 1.092, 1.359, 1.645",\
                 "-0.152, -0.1235, -0.0309, 0.1233, 0.3266, 0.567, 0.8349, 1.126, 1.438, 1.769",\
                 "-0.3732, -0.341, -0.2342, -0.0554, 0.1801, 0.459, 0.7713, 1.109, 1.469, 1.849",\
                 "-0.6526, -0.6165, -0.4965, -0.2945, -0.0258, 0.2921, 0.6479, 1.034, 1.444, 1.876");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.6659, 0.696, 0.8011, 1.001, 1.31, 1.743, 2.311, 3.026, 3.899, 4.939",\
                 "0.6716, 0.702, 0.8077, 1.008, 1.319, 1.752, 2.321, 3.037, 3.908, 4.949",\
                 "0.7158, 0.7459, 0.8515, 1.052, 1.362, 1.796, 2.365, 3.082, 3.957, 4.994",\
                 "0.8346, 0.8639, 0.9665, 1.163, 1.469, 1.899, 2.465, 3.178, 4.051, 5.091",\
                 "1.042, 1.071, 1.171, 1.362, 1.661, 2.082, 2.642, 3.35, 4.216, 5.251",\
                 "1.322, 1.353, 1.461, 1.656, 1.951, 2.365, 2.914, 3.612, 4.47, 5.496",\
                 "1.658, 1.691, 1.807, 2.021, 2.336, 2.752, 3.293, 3.978, 4.826, 5.844",\
                 "2.06, 2.095, 2.219, 2.445, 2.783, 3.231, 3.784, 4.464, 5.298, 6.301",\
                 "2.532, 2.57, 2.7, 2.941, 3.296, 3.771, 4.362, 5.064, 5.893, 6.884",\
                 "3.076, 3.117, 3.258, 3.512, 3.886, 4.383, 5.007, 5.749, 6.609, 7.598");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1281, 0.1389, 0.1757, 0.2471, 0.3573, 0.5124, 0.7156, 0.9719, 1.283, 1.658",\
                 "0.1285, 0.1389, 0.1759, 0.2471, 0.3572, 0.5122, 0.7156, 0.9718, 1.284, 1.657",\
                 "0.1606, 0.1686, 0.1967, 0.2563, 0.3591, 0.512, 0.7158, 0.9719, 1.285, 1.657",\
                 "0.2518, 0.2605, 0.2922, 0.3508, 0.4373, 0.5562, 0.7322, 0.9735, 1.285, 1.655",\
                 "0.371, 0.3816, 0.4173, 0.4834, 0.5808, 0.7094, 0.8694, 1.067, 1.328, 1.668",\
                 "0.5164, 0.5286, 0.5704, 0.6468, 0.7548, 0.8976, 1.072, 1.282, 1.525, 1.813",\
                 "0.6876, 0.7, 0.7478, 0.8348, 0.959, 1.12, 1.311, 1.537, 1.801, 2.099",\
                 "0.8798, 0.895, 0.9494, 1.046, 1.19, 1.369, 1.583, 1.829, 2.111, 2.431",\
                 "1.091, 1.111, 1.171, 1.283, 1.441, 1.646, 1.884, 2.159, 2.461, 2.801",\
                 "1.318, 1.338, 1.411, 1.54, 1.719, 1.945, 2.212, 2.514, 2.851, 3.215");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.9969, 1.049, 1.235, 1.585, 2.126, 2.885, 3.88, 5.132, 6.661, 8.479",\
                 "0.9968, 1.049, 1.233, 1.584, 2.128, 2.886, 3.881, 5.133, 6.66, 8.481",\
                 "0.9958, 1.049, 1.234, 1.585, 2.127, 2.886, 3.88, 5.133, 6.665, 8.48",\
                 "0.994, 1.046, 1.232, 1.584, 2.126, 2.885, 3.882, 5.133, 6.659, 8.481",\
                 "1.024, 1.074, 1.246, 1.585, 2.126, 2.884, 3.88, 5.135, 6.661, 8.479",\
                 "1.124, 1.175, 1.343, 1.657, 2.155, 2.888, 3.88, 5.133, 6.661, 8.48",\
                 "1.223, 1.278, 1.463, 1.799, 2.287, 2.966, 3.901, 5.134, 6.661, 8.481",\
                 "1.334, 1.391, 1.583, 1.938, 2.464, 3.146, 4.031, 5.186, 6.668, 8.48",\
                 "1.478, 1.535, 1.729, 2.087, 2.634, 3.365, 4.262, 5.366, 6.76, 8.502",\
                 "1.653, 1.708, 1.905, 2.264, 2.817, 3.575, 4.525, 5.647, 6.99, 8.64");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1226, 0.1286, 0.1492, 0.1878, 0.2479, 0.3318, 0.4419, 0.5805, 0.7495, 0.9512",\
                 "0.1376, 0.1435, 0.1643, 0.2034, 0.2636, 0.3476, 0.458, 0.5966, 0.7656, 0.9673",\
                 "0.1785, 0.1861, 0.211, 0.253, 0.3139, 0.3983, 0.5087, 0.6477, 0.8169, 1.019",\
                 "0.2008, 0.2118, 0.2479, 0.3082, 0.39, 0.4887, 0.6038, 0.7428, 0.9123, 1.114",\
                 "0.1862, 0.2014, 0.2496, 0.3309, 0.4389, 0.5686, 0.7167, 0.8807, 1.06, 1.263",\
                 "0.1271, 0.146, 0.2083, 0.3121, 0.4492, 0.6123, 0.7964, 0.9992, 1.219, 1.455",\
                 "0.0187, 0.0416, 0.1174, 0.2446, 0.4129, 0.6119, 0.8353, 1.079, 1.341, 1.621",\
                 "-0.1435, -0.116, -0.0263, 0.1241, 0.3237, 0.5609, 0.8256, 1.113, 1.421, 1.748",\
                 "-0.3617, -0.3306, -0.2275, -0.0529, 0.1785, 0.4534, 0.7623, 1.096, 1.452, 1.828",\
                 "-0.6386, -0.6035, -0.4876, -0.2907, -0.0265, 0.2868, 0.6385, 1.021, 1.427, 1.855");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7197, 0.7495, 0.8541, 1.053, 1.363, 1.795, 2.362, 3.077, 3.95, 4.99",\
                 "0.726, 0.756, 0.8614, 1.061, 1.371, 1.804, 2.374, 3.089, 3.96, 5.001",\
                 "0.7698, 0.7999, 0.9048, 1.105, 1.414, 1.848, 2.417, 3.134, 4.009, 5.047",\
                 "0.8875, 0.9168, 1.019, 1.215, 1.521, 1.951, 2.517, 3.23, 4.103, 5.142",\
                 "1.095, 1.123, 1.223, 1.413, 1.713, 2.135, 2.694, 3.402, 4.268, 5.304",\
                 "1.379, 1.41, 1.516, 1.709, 2.003, 2.416, 2.966, 3.665, 4.523, 5.549",\
                 "1.719, 1.753, 1.867, 2.079, 2.39, 2.805, 3.346, 4.034, 4.88, 5.896",\
                 "2.125, 2.16, 2.282, 2.506, 2.843, 3.287, 3.838, 4.518, 5.353, 6.357",\
                 "2.602, 2.639, 2.77, 3.006, 3.359, 3.833, 4.421, 5.12, 5.949, 6.941",\
                 "3.153, 3.193, 3.332, 3.581, 3.953, 4.447, 5.069, 5.811, 6.668, 7.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1361, 0.1458, 0.1799, 0.2447, 0.3461, 0.4888, 0.6755, 0.91, 1.196, 1.537",\
                 "0.1362, 0.1459, 0.1798, 0.2449, 0.3461, 0.488, 0.6754, 0.9094, 1.196, 1.537",\
                 "0.1742, 0.1807, 0.2048, 0.2567, 0.3486, 0.4884, 0.6752, 0.9096, 1.195, 1.537",\
                 "0.2756, 0.2837, 0.3119, 0.3643, 0.4411, 0.5445, 0.6979, 0.914, 1.196, 1.537",\
                 "0.4042, 0.4133, 0.4454, 0.5058, 0.5954, 0.7134, 0.8576, 1.029, 1.258, 1.558",\
                 "0.5592, 0.57, 0.6068, 0.6766, 0.778, 0.9112, 1.075, 1.268, 1.487, 1.738",\
                 "0.739, 0.7518, 0.794, 0.873, 0.9894, 1.14, 1.322, 1.536, 1.78, 2.055",\
                 "0.9442, 0.9576, 1.004, 1.093, 1.226, 1.397, 1.604, 1.837, 2.106, 2.406",\
                 "1.166, 1.181, 1.237, 1.337, 1.487, 1.68, 1.91, 2.173, 2.464, 2.79",\
                 "1.405, 1.422, 1.487, 1.604, 1.769, 1.987, 2.242, 2.534, 2.86, 3.21");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.068, 1.121, 1.307, 1.656, 2.199, 2.958, 3.952, 5.204, 6.733, 8.552",\
                 "1.068, 1.121, 1.306, 1.657, 2.199, 2.956, 3.954, 5.206, 6.732, 8.553",\
                 "1.068, 1.121, 1.306, 1.656, 2.198, 2.956, 3.953, 5.205, 6.737, 8.554",\
                 "1.066, 1.119, 1.305, 1.655, 2.198, 2.957, 3.953, 5.205, 6.733, 8.554",\
                 "1.088, 1.137, 1.314, 1.655, 2.197, 2.957, 3.954, 5.206, 6.733, 8.554",\
                 "1.191, 1.239, 1.405, 1.72, 2.221, 2.958, 3.952, 5.206, 6.733, 8.553",\
                 "1.293, 1.348, 1.531, 1.863, 2.347, 3.029, 3.969, 5.205, 6.733, 8.553",\
                 "1.41, 1.463, 1.653, 2.008, 2.527, 3.206, 4.093, 5.252, 6.739, 8.552",\
                 "1.547, 1.601, 1.793, 2.158, 2.701, 3.426, 4.32, 5.426, 6.826, 8.573",\
                 "1.719, 1.774, 1.967, 2.328, 2.883, 3.639, 4.586, 5.699, 7.048, 8.704");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1955, 0.2052, 0.2381, 0.2986, 0.3897, 0.5144, 0.676, 0.8776, 1.123, 1.413",\
                 "0.2108, 0.2204, 0.2535, 0.3142, 0.4055, 0.5304, 0.692, 0.8937, 1.139, 1.43",\
                 "0.2497, 0.2593, 0.2918, 0.3521, 0.4433, 0.5684, 0.7302, 0.9322, 1.177, 1.468",\
                 "0.2869, 0.298, 0.3357, 0.4023, 0.4982, 0.624, 0.7853, 0.9872, 1.232, 1.523",\
                 "0.2987, 0.3122, 0.3584, 0.4376, 0.5486, 0.6906, 0.8641, 1.07, 1.315, 1.606",\
                 "0.2704, 0.2878, 0.3445, 0.4413, 0.5743, 0.7386, 0.934, 1.162, 1.424, 1.722",\
                 "0.1934, 0.214, 0.283, 0.4001, 0.56, 0.7545, 0.9795, 1.235, 1.523, 1.846",\
                 "0.0641, 0.0885, 0.1689, 0.3074, 0.4956, 0.7238, 0.9858, 1.277, 1.597, 1.95",\
                 "-0.1222, -0.0944, -0.0012, 0.1582, 0.3753, 0.6398, 0.9415, 1.274, 1.636, 2.027",\
                 "-0.3692, -0.3376, -0.2323, -0.0507, 0.1968, 0.4965, 0.8396, 1.219, 1.626, 2.062");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7197, 0.7495, 0.8541, 1.053, 1.363, 1.795, 2.362, 3.077, 3.95, 4.99",\
                 "0.726, 0.756, 0.8614, 1.061, 1.371, 1.804, 2.374, 3.089, 3.96, 5.001",\
                 "0.7698, 0.7999, 0.9048, 1.105, 1.414, 1.848, 2.417, 3.134, 4.009, 5.047",\
                 "0.8875, 0.9168, 1.019, 1.215, 1.521, 1.951, 2.517, 3.23, 4.103, 5.142",\
                 "1.095, 1.123, 1.223, 1.413, 1.713, 2.135, 2.694, 3.402, 4.268, 5.304",\
                 "1.379, 1.41, 1.516, 1.709, 2.003, 2.416, 2.966, 3.665, 4.523, 5.549",\
                 "1.719, 1.753, 1.867, 2.079, 2.39, 2.805, 3.346, 4.034, 4.88, 5.896",\
                 "2.125, 2.16, 2.282, 2.506, 2.843, 3.287, 3.838, 4.518, 5.353, 6.357",\
                 "2.602, 2.639, 2.77, 3.006, 3.359, 3.833, 4.421, 5.12, 5.949, 6.941",\
                 "3.153, 3.193, 3.332, 3.581, 3.953, 4.447, 5.069, 5.811, 6.668, 7.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2143, 0.2294, 0.2822, 0.3798, 0.5301, 0.7364, 1.008, 1.348, 1.764, 2.257",\
                 "0.2142, 0.2293, 0.282, 0.3799, 0.5303, 0.7371, 1.007, 1.348, 1.763, 2.258",\
                 "0.2176, 0.2317, 0.2818, 0.3786, 0.5288, 0.7365, 1.007, 1.348, 1.763, 2.258",\
                 "0.2757, 0.2895, 0.3352, 0.4209, 0.5517, 0.7441, 1.008, 1.347, 1.764, 2.258",\
                 "0.3704, 0.384, 0.4304, 0.5158, 0.648, 0.8304, 1.067, 1.376, 1.772, 2.258",\
                 "0.4986, 0.5144, 0.5646, 0.655, 0.7876, 0.9692, 1.207, 1.506, 1.867, 2.314",\
                 "0.652, 0.6692, 0.7274, 0.8286, 0.9726, 1.16, 1.395, 1.693, 2.056, 2.486",\
                 "0.826, 0.847, 0.9126, 1.028, 1.189, 1.392, 1.639, 1.935, 2.295, 2.724",\
                 "1.024, 1.047, 1.121, 1.249, 1.43, 1.655, 1.922, 2.231, 2.595, 3.02",\
                 "1.239, 1.266, 1.352, 1.496, 1.697, 1.946, 2.236, 2.571, 2.951, 3.381");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.242, 1.298, 1.491, 1.856, 2.411, 3.178, 4.179, 5.435, 6.964, 8.784",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.179, 4.178, 5.434, 6.965, 8.783",\
                 "1.242, 1.298, 1.491, 1.855, 2.411, 3.178, 4.179, 5.434, 6.963, 8.785",\
                 "1.24, 1.296, 1.491, 1.855, 2.411, 3.179, 4.179, 5.435, 6.964, 8.784",\
                 "1.28, 1.331, 1.511, 1.859, 2.411, 3.178, 4.179, 5.434, 6.964, 8.785",\
                 "1.4, 1.449, 1.619, 1.942, 2.448, 3.183, 4.179, 5.434, 6.965, 8.786",\
                 "1.528, 1.581, 1.765, 2.1, 2.589, 3.271, 4.205, 5.437, 6.965, 8.786",\
                 "1.674, 1.732, 1.917, 2.268, 2.783, 3.462, 4.344, 5.497, 6.974, 8.786",\
                 "1.854, 1.908, 2.095, 2.448, 2.979, 3.696, 4.584, 5.686, 7.077, 8.813",\
                 "2.074, 2.126, 2.307, 2.654, 3.191, 3.932, 4.864, 5.973, 7.312, 8.962");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2288, 0.2385, 0.271, 0.3317, 0.4228, 0.5476, 0.7094, 0.9114, 1.157, 1.448",\
                 "0.2432, 0.2528, 0.2855, 0.3458, 0.4372, 0.5621, 0.7239, 0.9259, 1.171, 1.462",\
                 "0.2803, 0.2897, 0.3221, 0.3825, 0.4735, 0.5986, 0.7606, 0.9627, 1.208, 1.499",\
                 "0.3224, 0.3331, 0.3694, 0.4342, 0.5285, 0.6536, 0.8152, 1.017, 1.262, 1.554",\
                 "0.3442, 0.3569, 0.4, 0.4758, 0.5836, 0.7234, 0.8951, 1.1, 1.345, 1.636",\
                 "0.3294, 0.3452, 0.3981, 0.4906, 0.6181, 0.778, 0.9699, 1.195, 1.456, 1.752",\
                 "0.2697, 0.2884, 0.3523, 0.463, 0.6158, 0.8037, 1.024, 1.275, 1.559, 1.88",\
                 "0.1608, 0.1833, 0.258, 0.3885, 0.5678, 0.7876, 1.042, 1.327, 1.642, 1.991",\
                 "0.0011, 0.0269, 0.1125, 0.2612, 0.4676, 0.7214, 1.013, 1.338, 1.692, 2.077",\
                 "-0.2133, -0.1844, -0.0881, 0.081, 0.3135, 0.6003, 0.9312, 1.299, 1.698, 2.126");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7077, 0.7382, 0.8446, 1.046, 1.358, 1.794, 2.365, 3.084, 3.96, 5.004",\
                 "0.7137, 0.7446, 0.8512, 1.054, 1.366, 1.802, 2.373, 3.093, 3.969, 5.013",\
                 "0.7435, 0.7745, 0.882, 1.085, 1.399, 1.836, 2.408, 3.128, 4.005, 5.049",\
                 "0.8183, 0.8487, 0.9544, 1.155, 1.466, 1.901, 2.473, 3.192, 4.069, 5.113",\
                 "0.9684, 0.9983, 1.101, 1.296, 1.6, 2.028, 2.594, 3.308, 4.181, 5.222",\
                 "1.183, 1.214, 1.322, 1.521, 1.822, 2.24, 2.795, 3.498, 4.362, 5.396",\
                 "1.467, 1.499, 1.608, 1.811, 2.121, 2.544, 3.089, 3.779, 4.63, 5.653",\
                 "1.819, 1.853, 1.966, 2.174, 2.49, 2.921, 3.476, 4.16, 4.996, 6.003",\
                 "2.234, 2.271, 2.391, 2.611, 2.933, 3.373, 3.938, 4.635, 5.469, 6.46",\
                 "2.71, 2.749, 2.88, 3.116, 3.455, 3.904, 4.478, 5.188, 6.037, 7.028");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2485, 0.2645, 0.3176, 0.4159, 0.5658, 0.7734, 1.044, 1.386, 1.802, 2.296",\
                 "0.249, 0.2642, 0.3173, 0.4159, 0.5657, 0.7731, 1.044, 1.386, 1.802, 2.296",\
                 "0.2484, 0.2632, 0.3158, 0.4145, 0.5645, 0.7727, 1.044, 1.386, 1.802, 2.296",\
                 "0.3017, 0.3151, 0.3625, 0.4491, 0.5831, 0.7791, 1.045, 1.385, 1.802, 2.297",\
                 "0.3962, 0.41, 0.4562, 0.5434, 0.6764, 0.8604, 1.099, 1.412, 1.808, 2.297",\
                 "0.5268, 0.5424, 0.5934, 0.6842, 0.817, 0.999, 1.238, 1.536, 1.9, 2.349",\
                 "0.6864, 0.7046, 0.7616, 0.861, 1.003, 1.188, 1.427, 1.724, 2.086, 2.518",\
                 "0.871, 0.8904, 0.957, 1.069, 1.226, 1.426, 1.67, 1.966, 2.324, 2.755",\
                 "1.086, 1.105, 1.177, 1.302, 1.479, 1.697, 1.957, 2.265, 2.624, 3.05",\
                 "1.324, 1.348, 1.43, 1.565, 1.762, 1.999, 2.282, 2.61, 2.983, 3.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.242, 1.298, 1.492, 1.856, 2.411, 3.178, 4.179, 5.433, 6.964, 8.787",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.179, 4.178, 5.433, 6.963, 8.783",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.179, 4.179, 5.433, 6.964, 8.786",\
                 "1.245, 1.3, 1.492, 1.856, 2.411, 3.178, 4.179, 5.435, 6.962, 8.786",\
                 "1.298, 1.349, 1.528, 1.872, 2.413, 3.179, 4.179, 5.434, 6.964, 8.784",\
                 "1.396, 1.447, 1.62, 1.948, 2.462, 3.195, 4.181, 5.434, 6.964, 8.786",\
                 "1.504, 1.555, 1.733, 2.065, 2.57, 3.275, 4.22, 5.441, 6.965, 8.787",\
                 "1.65, 1.699, 1.867, 2.196, 2.706, 3.412, 4.329, 5.51, 6.987, 8.788",\
                 "1.841, 1.887, 2.047, 2.36, 2.86, 3.57, 4.495, 5.648, 7.082, 8.83",\
                 "2.073, 2.117, 2.275, 2.574, 3.055, 3.75, 4.68, 5.844, 7.251, 8.952");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2161, 0.225, 0.2559, 0.3137, 0.4021, 0.5244, 0.6841, 0.8842, 1.128, 1.418",\
                 "0.2303, 0.2393, 0.2704, 0.328, 0.4165, 0.5388, 0.6985, 0.8988, 1.143, 1.433",\
                 "0.2665, 0.2755, 0.3065, 0.3644, 0.4529, 0.5753, 0.7352, 0.9356, 1.179, 1.47",\
                 "0.3025, 0.313, 0.3488, 0.4128, 0.5064, 0.6301, 0.7897, 0.99, 1.234, 1.524",\
                 "0.3143, 0.3274, 0.3715, 0.4479, 0.5565, 0.6961, 0.8677, 1.073, 1.316, 1.606",\
                 "0.2873, 0.3039, 0.3585, 0.453, 0.5836, 0.7454, 0.9384, 1.165, 1.426, 1.723",\
                 "0.2143, 0.2341, 0.3009, 0.4158, 0.5722, 0.7644, 0.9867, 1.24, 1.526, 1.848",\
                 "0.0925, 0.1161, 0.1941, 0.3291, 0.5143, 0.7401, 0.9985, 1.287, 1.604, 1.955",\
                 "-0.0813, -0.0541, 0.0361, 0.1916, 0.4044, 0.6649, 0.9626, 1.291, 1.65, 2.037",\
                 "-0.3089, -0.2784, -0.1765, -0.0009, 0.2407, 0.5346, 0.8732, 1.246, 1.649, 2.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7075, 0.7382, 0.8448, 1.046, 1.358, 1.794, 2.365, 3.084, 3.961, 5.003",\
                 "0.7139, 0.7447, 0.8512, 1.054, 1.366, 1.802, 2.374, 3.092, 3.969, 5.012",\
                 "0.7437, 0.7743, 0.882, 1.085, 1.399, 1.836, 2.408, 3.128, 4.005, 5.049",\
                 "0.8186, 0.8483, 0.9545, 1.155, 1.466, 1.901, 2.473, 3.192, 4.069, 5.112",\
                 "0.9684, 0.9978, 1.101, 1.297, 1.601, 2.028, 2.594, 3.308, 4.181, 5.221",\
                 "1.184, 1.214, 1.321, 1.521, 1.822, 2.24, 2.795, 3.499, 4.363, 5.396",\
                 "1.468, 1.499, 1.608, 1.812, 2.121, 2.544, 3.089, 3.779, 4.63, 5.652",\
                 "1.82, 1.852, 1.966, 2.174, 2.489, 2.922, 3.476, 4.16, 4.997, 6.003",\
                 "2.234, 2.271, 2.392, 2.61, 2.934, 3.373, 3.938, 4.635, 5.468, 6.46",\
                 "2.71, 2.749, 2.881, 3.116, 3.455, 3.904, 4.478, 5.188, 6.036, 7.028");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2215, 0.2366, 0.2875, 0.384, 0.5321, 0.7386, 1.01, 1.35, 1.766, 2.261",\
                 "0.2217, 0.2363, 0.2879, 0.3841, 0.5322, 0.7381, 1.009, 1.35, 1.766, 2.259",\
                 "0.225, 0.2385, 0.2881, 0.3839, 0.5319, 0.7388, 1.009, 1.351, 1.766, 2.259",\
                 "0.2808, 0.2934, 0.34, 0.4248, 0.5557, 0.7474, 1.011, 1.351, 1.766, 2.259",\
                 "0.3772, 0.3918, 0.4376, 0.5228, 0.653, 0.8348, 1.071, 1.379, 1.774, 2.261",\
                 "0.5108, 0.5256, 0.5764, 0.6656, 0.7972, 0.9768, 1.212, 1.51, 1.871, 2.319",\
                 "0.671, 0.6892, 0.7448, 0.8444, 0.9864, 1.171, 1.405, 1.699, 2.06, 2.49",\
                 "0.8602, 0.8788, 0.9422, 1.055, 1.209, 1.409, 1.65, 1.944, 2.301, 2.729",\
                 "1.075, 1.096, 1.167, 1.291, 1.463, 1.681, 1.942, 2.246, 2.606, 3.026",\
                 "1.313, 1.336, 1.419, 1.556, 1.746, 1.987, 2.267, 2.593, 2.963, 3.387");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.139, 1.191, 1.376, 1.726, 2.268, 3.025, 4.022, 5.274, 6.8, 8.621",\
                 "1.139, 1.191, 1.376, 1.726, 2.268, 3.026, 4.021, 5.275, 6.8, 8.62",\
                 "1.139, 1.191, 1.376, 1.726, 2.268, 3.026, 4.022, 5.273, 6.8, 8.618",\
                 "1.142, 1.194, 1.376, 1.726, 2.268, 3.026, 4.022, 5.273, 6.799, 8.62",\
                 "1.194, 1.243, 1.413, 1.742, 2.27, 3.026, 4.022, 5.274, 6.801, 8.62",\
                 "1.282, 1.332, 1.501, 1.818, 2.319, 3.043, 4.023, 5.274, 6.801, 8.622",\
                 "1.38, 1.428, 1.6, 1.926, 2.425, 3.122, 4.063, 5.281, 6.801, 8.621",\
                 "1.514, 1.56, 1.726, 2.049, 2.553, 3.257, 4.172, 5.348, 6.823, 8.624",\
                 "1.689, 1.735, 1.896, 2.204, 2.7, 3.41, 4.336, 5.488, 6.919, 8.666",\
                 "1.9, 1.947, 2.105, 2.408, 2.888, 3.585, 4.516, 5.681, 7.087, 8.788");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.173, 0.1799, 0.2036, 0.2476, 0.3146, 0.4071, 0.5276, 0.6787, 0.8625, 1.081",\
                 "0.1876, 0.1945, 0.2182, 0.2623, 0.3294, 0.4219, 0.5424, 0.6935, 0.8773, 1.096",\
                 "0.2336, 0.2406, 0.2645, 0.3086, 0.3756, 0.4682, 0.589, 0.7401, 0.924, 1.142",\
                 "0.28, 0.2895, 0.3215, 0.3771, 0.4549, 0.553, 0.6744, 0.8256, 1.009, 1.228",\
                 "0.2948, 0.3075, 0.3492, 0.4214, 0.5213, 0.6449, 0.7898, 0.9552, 1.143, 1.361",\
                 "0.2689, 0.2849, 0.3376, 0.4288, 0.5537, 0.7064, 0.8832, 1.082, 1.302, 1.542",\
                 "0.1967, 0.2161, 0.2801, 0.3912, 0.5435, 0.7285, 0.9407, 1.177, 1.434, 1.714",\
                 "0.076, 0.0986, 0.1741, 0.3049, 0.4851, 0.704, 0.9543, 1.231, 1.53, 1.852",\
                 "-0.0966, -0.0704, 0.0163, 0.1666, 0.3741, 0.6276, 0.9173, 1.236, 1.581, 1.949",\
                 "-0.324, -0.2953, -0.197, -0.0261, 0.2083, 0.4955, 0.826, 1.19, 1.581, 1.998");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7674, 0.7975, 0.9027, 1.103, 1.413, 1.848, 2.419, 3.137, 4.013, 5.056",\
                 "0.7742, 0.8046, 0.9106, 1.112, 1.422, 1.858, 2.429, 3.147, 4.023, 5.067",\
                 "0.8036, 0.8339, 0.9403, 1.142, 1.455, 1.891, 2.463, 3.183, 4.06, 5.103",\
                 "0.8783, 0.9082, 1.013, 1.212, 1.522, 1.957, 2.528, 3.247, 4.123, 5.167",\
                 "1.029, 1.059, 1.161, 1.355, 1.658, 2.085, 2.65, 3.364, 4.236, 5.276",\
                 "1.248, 1.279, 1.384, 1.583, 1.882, 2.3, 2.855, 3.558, 4.421, 5.454",\
                 "1.536, 1.567, 1.674, 1.877, 2.185, 2.608, 3.151, 3.843, 4.692, 5.714",\
                 "1.893, 1.925, 2.037, 2.244, 2.558, 2.99, 3.544, 4.228, 5.065, 6.072",\
                 "2.316, 2.351, 2.469, 2.685, 3.007, 3.447, 4.013, 4.71, 5.544, 6.536",\
                 "2.801, 2.839, 2.966, 3.197, 3.532, 3.983, 4.558, 5.27, 6.119, 7.111");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1851, 0.1963, 0.2348, 0.3076, 0.4191, 0.5749, 0.7785, 1.035, 1.349, 1.72",\
                 "0.1852, 0.1961, 0.2347, 0.3076, 0.4189, 0.5747, 0.7786, 1.036, 1.349, 1.721",\
                 "0.197, 0.2065, 0.2407, 0.3088, 0.419, 0.575, 0.7784, 1.035, 1.349, 1.72",\
                 "0.2885, 0.2978, 0.3298, 0.388, 0.4748, 0.6023, 0.7875, 1.036, 1.347, 1.72",\
                 "0.4097, 0.4212, 0.4572, 0.5232, 0.62, 0.748, 0.9078, 1.112, 1.382, 1.728",\
                 "0.5588, 0.5716, 0.6132, 0.6892, 0.7972, 0.9388, 1.112, 1.322, 1.566, 1.858",\
                 "0.733, 0.749, 0.797, 0.8822, 1.005, 1.163, 1.352, 1.578, 1.839, 2.139",\
                 "0.935, 0.9522, 1.006, 1.104, 1.241, 1.419, 1.627, 1.87, 2.15, 2.469",\
                 "1.165, 1.182, 1.24, 1.352, 1.508, 1.702, 1.937, 2.204, 2.505, 2.84",\
                 "1.415, 1.437, 1.506, 1.627, 1.802, 2.018, 2.274, 2.57, 2.896, 3.253");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.21, 1.263, 1.448, 1.799, 2.341, 3.1, 4.095, 5.348, 6.875, 8.694",\
                 "1.21, 1.262, 1.448, 1.799, 2.342, 3.1, 4.096, 5.347, 6.876, 8.693",\
                 "1.21, 1.263, 1.447, 1.799, 2.341, 3.1, 4.095, 5.348, 6.876, 8.694",\
                 "1.211, 1.263, 1.448, 1.799, 2.341, 3.1, 4.095, 5.347, 6.875, 8.696",\
                 "1.256, 1.305, 1.478, 1.811, 2.342, 3.1, 4.096, 5.349, 6.875, 8.696",\
                 "1.343, 1.393, 1.561, 1.881, 2.386, 3.113, 4.096, 5.348, 6.876, 8.696",\
                 "1.435, 1.488, 1.66, 1.988, 2.487, 3.188, 4.132, 5.353, 6.876, 8.696",\
                 "1.56, 1.608, 1.777, 2.104, 2.616, 3.319, 4.235, 5.417, 6.895, 8.699",\
                 "1.728, 1.774, 1.937, 2.251, 2.756, 3.469, 4.396, 5.548, 6.984, 8.736",\
                 "1.935, 1.982, 2.141, 2.446, 2.933, 3.639, 4.573, 5.739, 7.147, 8.854");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1816, 0.1903, 0.2205, 0.277, 0.364, 0.485, 0.6437, 0.8431, 1.086, 1.376",\
                 "0.1957, 0.2045, 0.2347, 0.2913, 0.3783, 0.4995, 0.6582, 0.8577, 1.101, 1.391",\
                 "0.2307, 0.2397, 0.2704, 0.3273, 0.4146, 0.5358, 0.6948, 0.8944, 1.138, 1.427",\
                 "0.2565, 0.2677, 0.305, 0.371, 0.4658, 0.5903, 0.7493, 0.9489, 1.192, 1.482",\
                 "0.2523, 0.2668, 0.3147, 0.3966, 0.509, 0.6513, 0.8248, 1.031, 1.275, 1.564",\
                 "0.206, 0.2248, 0.2854, 0.388, 0.5255, 0.6935, 0.8902, 1.119, 1.382, 1.68",\
                 "0.1141, 0.1365, 0.2102, 0.3348, 0.5023, 0.7023, 0.9319, 1.189, 1.478, 1.802",\
                 "-0.027, -0.0004, 0.0866, 0.2336, 0.4303, 0.6667, 0.9343, 1.229, 1.552, 1.906",\
                 "-0.2197, -0.1891, -0.0893, 0.0803, 0.3071, 0.5797, 0.8884, 1.225, 1.591, 1.983",\
                 "-0.4649, -0.4314, -0.3189, -0.1272, 0.1298, 0.4385, 0.7888, 1.171, 1.582, 2.021");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.6942, 0.7251, 0.8311, 1.032, 1.343, 1.777, 2.346, 3.062, 3.935, 4.975",\
                 "0.7006, 0.7311, 0.8379, 1.04, 1.351, 1.785, 2.354, 3.07, 3.943, 4.983",\
                 "0.7305, 0.761, 0.8683, 1.071, 1.383, 1.819, 2.389, 3.106, 3.98, 5.021",\
                 "0.8049, 0.8348, 0.9404, 1.141, 1.451, 1.884, 2.454, 3.171, 4.043, 5.083",\
                 "0.9533, 0.9837, 1.088, 1.283, 1.585, 2.012, 2.575, 3.285, 4.156, 5.193",\
                 "1.168, 1.198, 1.306, 1.506, 1.807, 2.223, 2.775, 3.476, 4.337, 5.367",\
                 "1.451, 1.483, 1.592, 1.795, 2.104, 2.526, 3.069, 3.757, 4.605, 5.624",\
                 "1.801, 1.835, 1.948, 2.157, 2.472, 2.902, 3.455, 4.137, 4.971, 5.975",\
                 "2.212, 2.249, 2.371, 2.591, 2.914, 3.352, 3.916, 4.611, 5.442, 6.43",\
                 "2.684, 2.724, 2.856, 3.093, 3.434, 3.883, 4.455, 5.163, 6.008, 6.997");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1816, 0.196, 0.2464, 0.3411, 0.4879, 0.6932, 0.9634, 1.303, 1.72, 2.214",\
                 "0.1814, 0.1958, 0.2462, 0.3406, 0.4882, 0.6938, 0.9644, 1.305, 1.719, 2.213",\
                 "0.1914, 0.2041, 0.25, 0.3419, 0.4883, 0.6932, 0.9636, 1.303, 1.72, 2.214",\
                 "0.253, 0.2664, 0.3097, 0.3931, 0.5209, 0.7072, 0.9671, 1.304, 1.719, 2.213",\
                 "0.3563, 0.3692, 0.4137, 0.4956, 0.6222, 0.8014, 1.036, 1.341, 1.732, 2.215",\
                 "0.4918, 0.5064, 0.5562, 0.6432, 0.773, 0.9484, 1.181, 1.476, 1.834, 2.278",\
                 "0.6552, 0.673, 0.7268, 0.8254, 0.965, 1.147, 1.378, 1.668, 2.026, 2.455",\
                 "0.8492, 0.8654, 0.9266, 1.036, 1.189, 1.388, 1.628, 1.916, 2.271, 2.696",\
                 "1.066, 1.085, 1.154, 1.277, 1.446, 1.66, 1.919, 2.221, 2.577, 2.998",\
                 "1.3, 1.325, 1.405, 1.543, 1.729, 1.968, 2.249, 2.569, 2.939, 3.362");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.9206, 0.9753, 1.159, 1.509, 2.051, 2.81, 3.805, 5.057, 6.585, 8.402",\
                 "0.9215, 0.9734, 1.158, 1.509, 2.052, 2.81, 3.804, 5.057, 6.584, 8.404",\
                 "0.9222, 0.9734, 1.159, 1.509, 2.052, 2.81, 3.805, 5.059, 6.587, 8.407",\
                 "0.924, 0.9756, 1.159, 1.509, 2.052, 2.81, 3.805, 5.061, 6.586, 8.406",\
                 "0.9762, 1.024, 1.195, 1.525, 2.053, 2.81, 3.805, 5.058, 6.585, 8.405",\
                 "1.052, 1.103, 1.279, 1.601, 2.103, 2.827, 3.806, 5.058, 6.586, 8.405",\
                 "1.139, 1.189, 1.365, 1.7, 2.208, 2.906, 3.846, 5.064, 6.585, 8.406",\
                 "1.259, 1.309, 1.481, 1.81, 2.325, 3.039, 3.956, 5.133, 6.606, 8.408",\
                 "1.416, 1.468, 1.637, 1.958, 2.463, 3.183, 4.117, 5.271, 6.701, 8.45",\
                 "1.601, 1.652, 1.83, 2.151, 2.644, 3.347, 4.287, 5.462, 6.871, 8.572");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1486, 0.155, 0.1779, 0.2211, 0.2868, 0.3781, 0.4978, 0.648, 0.8313, 1.049",\
                 "0.163, 0.1698, 0.1928, 0.2355, 0.3014, 0.3929, 0.5126, 0.6628, 0.846, 1.064",\
                 "0.2058, 0.2132, 0.2377, 0.2816, 0.3477, 0.4393, 0.559, 0.7095, 0.8928, 1.111",\
                 "0.2377, 0.2481, 0.2825, 0.3414, 0.4222, 0.5228, 0.6445, 0.795, 0.9783, 1.197",\
                 "0.2352, 0.249, 0.2951, 0.373, 0.4781, 0.6062, 0.7549, 0.9229, 1.112, 1.33",\
                 "0.1903, 0.208, 0.2665, 0.3659, 0.4985, 0.658, 0.8398, 1.043, 1.265, 1.508",\
                 "0.0995, 0.121, 0.1922, 0.3132, 0.475, 0.669, 0.8886, 1.13, 1.392, 1.675",\
                 "-0.0397, -0.0143, 0.0691, 0.2115, 0.4031, 0.6331, 0.892, 1.176, 1.481, 1.807",\
                 "-0.2308, -0.2019, -0.1056, 0.0584, 0.2784, 0.5445, 0.845, 1.173, 1.524, 1.897",\
                 "-0.4743, -0.4425, -0.3351, -0.1499, 0.1003, 0.4009, 0.743, 1.117, 1.516, 1.939");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7548, 0.7845, 0.8896, 1.089, 1.398, 1.831, 2.4, 3.115, 3.988, 5.028",\
                 "0.7618, 0.7918, 0.8973, 1.098, 1.408, 1.84, 2.409, 3.125, 3.998, 5.037",\
                 "0.7909, 0.8212, 0.9272, 1.128, 1.44, 1.874, 2.444, 3.161, 4.034, 5.075",\
                 "0.8653, 0.8953, 0.9996, 1.198, 1.507, 1.94, 2.508, 3.225, 4.099, 5.138",\
                 "1.016, 1.046, 1.148, 1.341, 1.643, 2.068, 2.631, 3.341, 4.211, 5.247",\
                 "1.234, 1.264, 1.37, 1.567, 1.867, 2.282, 2.834, 3.535, 4.395, 5.425",\
                 "1.52, 1.551, 1.659, 1.862, 2.169, 2.589, 3.132, 3.82, 4.668, 5.686",\
                 "1.875, 1.908, 2.02, 2.227, 2.541, 2.971, 3.524, 4.204, 5.04, 6.043",\
                 "2.295, 2.331, 2.45, 2.666, 2.988, 3.426, 3.991, 4.686, 5.517, 6.506",\
                 "2.777, 2.815, 2.944, 3.175, 3.511, 3.962, 4.535, 5.245, 6.091, 7.081");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1547, 0.1654, 0.2032, 0.2752, 0.3861, 0.5407, 0.7446, 1.001, 1.313, 1.687",\
                 "0.1545, 0.1654, 0.2031, 0.2749, 0.3857, 0.5413, 0.7456, 1.001, 1.313, 1.685",\
                 "0.1777, 0.1857, 0.2164, 0.2801, 0.3863, 0.5406, 0.7448, 1.001, 1.313, 1.686",\
                 "0.2716, 0.2807, 0.3122, 0.3697, 0.4557, 0.5782, 0.7574, 1.002, 1.313, 1.685",\
                 "0.3955, 0.4058, 0.4412, 0.5058, 0.602, 0.729, 0.8886, 1.088, 1.352, 1.697",\
                 "0.5466, 0.5592, 0.5992, 0.6732, 0.7796, 0.9202, 1.094, 1.302, 1.546, 1.835",\
                 "0.7248, 0.738, 0.7854, 0.8688, 0.9892, 1.145, 1.334, 1.559, 1.818, 2.12",\
                 "0.933, 0.9468, 0.9964, 1.092, 1.226, 1.402, 1.61, 1.852, 2.131, 2.451",\
                 "1.163, 1.182, 1.237, 1.343, 1.494, 1.687, 1.919, 2.186, 2.483, 2.822",\
                 "1.414, 1.433, 1.501, 1.621, 1.787, 2.004, 2.259, 2.55, 2.877, 3.235");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.997, 1.049, 1.234, 1.585, 2.126, 2.885, 3.881, 5.133, 6.657, 8.479",\
                 "0.9968, 1.048, 1.234, 1.583, 2.126, 2.884, 3.88, 5.131, 6.66, 8.476",\
                 "0.9956, 1.049, 1.234, 1.585, 2.126, 2.883, 3.88, 5.132, 6.658, 8.481",\
                 "0.9974, 1.05, 1.233, 1.584, 2.126, 2.885, 3.88, 5.133, 6.664, 8.48",\
                 "1.042, 1.091, 1.263, 1.596, 2.128, 2.885, 3.88, 5.132, 6.662, 8.479",\
                 "1.12, 1.171, 1.345, 1.666, 2.17, 2.898, 3.881, 5.133, 6.66, 8.481",\
                 "1.201, 1.252, 1.431, 1.766, 2.271, 2.972, 3.916, 5.138, 6.661, 8.482",\
                 "1.314, 1.365, 1.54, 1.873, 2.39, 3.101, 4.02, 5.201, 6.678, 8.481",\
                 "1.467, 1.518, 1.687, 2.01, 2.522, 3.243, 4.177, 5.333, 6.769, 8.518",\
                 "1.65, 1.699, 1.874, 2.195, 2.691, 3.403, 4.348, 5.521, 6.932, 8.638");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1486, 0.155, 0.178, 0.2211, 0.2868, 0.3781, 0.4978, 0.648, 0.8313, 1.049",\
                 "0.163, 0.1698, 0.1928, 0.2355, 0.3015, 0.393, 0.5126, 0.6628, 0.846, 1.064",\
                 "0.2058, 0.2132, 0.2377, 0.2816, 0.3477, 0.4393, 0.559, 0.7095, 0.8929, 1.111",\
                 "0.2377, 0.2481, 0.2825, 0.3414, 0.4222, 0.5228, 0.6445, 0.795, 0.9783, 1.197",\
                 "0.2352, 0.249, 0.2951, 0.373, 0.4781, 0.6062, 0.7549, 0.9229, 1.112, 1.33",\
                 "0.1903, 0.208, 0.2665, 0.3659, 0.4986, 0.658, 0.8398, 1.043, 1.265, 1.508",\
                 "0.0995, 0.121, 0.1922, 0.3132, 0.475, 0.6691, 0.8886, 1.13, 1.392, 1.674",\
                 "-0.0397, -0.0143, 0.0691, 0.2116, 0.4031, 0.6331, 0.892, 1.176, 1.481, 1.807",\
                 "-0.2308, -0.2019, -0.1056, 0.0584, 0.2784, 0.5445, 0.845, 1.173, 1.524, 1.897",\
                 "-0.4742, -0.4425, -0.335, -0.1499, 0.1003, 0.401, 0.743, 1.117, 1.516, 1.939");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7548, 0.7845, 0.8897, 1.089, 1.399, 1.831, 2.4, 3.115, 3.988, 5.028",\
                 "0.7618, 0.7918, 0.8973, 1.098, 1.408, 1.84, 2.409, 3.125, 3.998, 5.037",\
                 "0.7911, 0.8212, 0.9272, 1.128, 1.44, 1.874, 2.444, 3.16, 4.034, 5.075",\
                 "0.8651, 0.895, 0.9995, 1.198, 1.507, 1.94, 2.508, 3.225, 4.099, 5.138",\
                 "1.016, 1.045, 1.148, 1.341, 1.643, 2.068, 2.631, 3.342, 4.211, 5.247",\
                 "1.234, 1.264, 1.37, 1.568, 1.867, 2.282, 2.835, 3.535, 4.396, 5.426",\
                 "1.52, 1.551, 1.659, 1.862, 2.17, 2.59, 3.132, 3.82, 4.668, 5.685",\
                 "1.876, 1.908, 2.02, 2.226, 2.541, 2.971, 3.524, 4.205, 5.04, 6.044",\
                 "2.296, 2.331, 2.45, 2.666, 2.987, 3.426, 3.991, 4.686, 5.517, 6.506",\
                 "2.777, 2.815, 2.944, 3.175, 3.512, 3.961, 4.535, 5.244, 6.091, 7.081");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1547, 0.1654, 0.2032, 0.2752, 0.3862, 0.5408, 0.7442, 1.001, 1.313, 1.687",\
                 "0.1546, 0.1654, 0.2031, 0.2749, 0.3854, 0.5414, 0.7457, 1.001, 1.313, 1.685",\
                 "0.1778, 0.1857, 0.2164, 0.2801, 0.3863, 0.5406, 0.7449, 1.001, 1.314, 1.686",\
                 "0.2716, 0.2807, 0.3122, 0.3697, 0.4557, 0.578, 0.7576, 1.002, 1.314, 1.685",\
                 "0.3957, 0.4058, 0.4414, 0.5058, 0.602, 0.7292, 0.8886, 1.088, 1.353, 1.696",\
                 "0.5466, 0.5592, 0.5992, 0.6734, 0.7796, 0.9202, 1.094, 1.302, 1.546, 1.835",\
                 "0.7248, 0.738, 0.7854, 0.8688, 0.9892, 1.146, 1.334, 1.559, 1.819, 2.12",\
                 "0.933, 0.9468, 0.9964, 1.092, 1.226, 1.402, 1.611, 1.852, 2.132, 2.451",\
                 "1.163, 1.182, 1.237, 1.343, 1.494, 1.688, 1.919, 2.186, 2.483, 2.822",\
                 "1.414, 1.433, 1.501, 1.622, 1.787, 2.004, 2.259, 2.55, 2.877, 3.235");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.997, 1.049, 1.233, 1.585, 2.126, 2.885, 3.882, 5.133, 6.657, 8.479",\
                 "0.9968, 1.048, 1.234, 1.583, 2.126, 2.884, 3.88, 5.131, 6.66, 8.476",\
                 "0.9969, 1.049, 1.234, 1.585, 2.126, 2.885, 3.88, 5.131, 6.659, 8.481",\
                 "0.9968, 1.05, 1.233, 1.584, 2.126, 2.886, 3.88, 5.132, 6.664, 8.48",\
                 "1.042, 1.091, 1.263, 1.596, 2.128, 2.885, 3.88, 5.135, 6.662, 8.479",\
                 "1.12, 1.17, 1.345, 1.666, 2.17, 2.897, 3.881, 5.133, 6.661, 8.483",\
                 "1.201, 1.254, 1.432, 1.766, 2.271, 2.972, 3.916, 5.139, 6.661, 8.48",\
                 "1.314, 1.365, 1.539, 1.872, 2.389, 3.102, 4.021, 5.201, 6.679, 8.483",\
                 "1.469, 1.517, 1.687, 2.009, 2.522, 3.243, 4.177, 5.334, 6.769, 8.52",\
                 "1.651, 1.699, 1.874, 2.195, 2.69, 3.405, 4.346, 5.521, 6.93, 8.636");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1405, 0.1466, 0.1679, 0.2078, 0.2687, 0.3536, 0.4643, 0.6035, 0.773, 0.9748",\
                 "0.1551, 0.1612, 0.1826, 0.2226, 0.2837, 0.3682, 0.4792, 0.6184, 0.7877, 0.9897",\
                 "0.2005, 0.2076, 0.2308, 0.2718, 0.3332, 0.4179, 0.529, 0.6684, 0.8379, 1.04",\
                 "0.2346, 0.2447, 0.2782, 0.3355, 0.4139, 0.51, 0.6237, 0.763, 0.9325, 1.135",\
                 "0.2341, 0.2476, 0.2924, 0.3687, 0.4718, 0.5972, 0.7417, 0.9031, 1.08, 1.283",\
                 "0.1913, 0.2086, 0.2657, 0.3628, 0.4931, 0.6503, 0.8293, 1.028, 1.245, 1.477",\
                 "0.1032, 0.124, 0.1929, 0.3116, 0.4709, 0.6618, 0.8785, 1.116, 1.374, 1.65",\
                 "-0.0335, -0.009, 0.0722, 0.2109, 0.3997, 0.6261, 0.8823, 1.162, 1.464, 1.785",\
                 "-0.2217, -0.194, -0.1009, 0.0591, 0.276, 0.5381, 0.8352, 1.159, 1.508, 1.876",\
                 "-0.4634, -0.4324, -0.3285, -0.1478, 0.098, 0.3944, 0.7327, 1.103, 1.498, 1.917");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8083, 0.8382, 0.9427, 1.142, 1.451, 1.883, 2.451, 3.166, 4.038, 5.078",\
                 "0.8158, 0.8458, 0.951, 1.151, 1.46, 1.893, 2.462, 3.177, 4.05, 5.089",\
                 "0.845, 0.8752, 0.9806, 1.181, 1.492, 1.927, 2.496, 3.212, 4.086, 5.127",\
                 "0.9188, 0.9485, 1.053, 1.251, 1.559, 1.992, 2.56, 3.276, 4.149, 5.19",\
                 "1.069, 1.098, 1.2, 1.393, 1.695, 2.121, 2.683, 3.393, 4.263, 5.3",\
                 "1.29, 1.32, 1.425, 1.622, 1.919, 2.335, 2.887, 3.588, 4.448, 5.479",\
                 "1.578, 1.609, 1.716, 1.917, 2.224, 2.643, 3.185, 3.874, 4.722, 5.739",\
                 "1.936, 1.968, 2.078, 2.284, 2.598, 3.027, 3.579, 4.261, 5.094, 6.098",\
                 "2.362, 2.395, 2.512, 2.726, 3.046, 3.485, 4.05, 4.743, 5.573, 6.564",\
                 "2.85, 2.887, 3.013, 3.241, 3.574, 4.02, 4.595, 5.305, 6.151, 7.14");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1611, 0.1709, 0.2054, 0.2708, 0.3719, 0.5143, 0.7019, 0.9371, 1.222, 1.565",\
                 "0.161, 0.171, 0.2053, 0.2708, 0.3721, 0.5139, 0.7009, 0.9357, 1.223, 1.565",\
                 "0.1888, 0.1959, 0.2221, 0.278, 0.3732, 0.5142, 0.7012, 0.9369, 1.222, 1.565",\
                 "0.2942, 0.3022, 0.3304, 0.3817, 0.4572, 0.5628, 0.72, 0.9387, 1.223, 1.565",\
                 "0.4274, 0.436, 0.4683, 0.5276, 0.6152, 0.7316, 0.8744, 1.048, 1.279, 1.581",\
                 "0.5878, 0.5974, 0.6346, 0.7024, 0.8016, 0.933, 1.095, 1.286, 1.504, 1.756",\
                 "0.7754, 0.787, 0.8278, 0.9052, 1.019, 1.166, 1.344, 1.555, 1.798, 2.071",\
                 "0.9914, 1.006, 1.051, 1.136, 1.263, 1.429, 1.628, 1.86, 2.124, 2.422",\
                 "1.236, 1.251, 1.3, 1.396, 1.537, 1.72, 1.944, 2.199, 2.487, 2.807",\
                 "1.496, 1.514, 1.575, 1.683, 1.838, 2.043, 2.287, 2.57, 2.885, 3.232");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.068, 1.121, 1.305, 1.656, 2.199, 2.956, 3.953, 5.204, 6.732, 8.556",\
                 "1.067, 1.121, 1.306, 1.656, 2.198, 2.957, 3.952, 5.206, 6.733, 8.547",\
                 "1.068, 1.12, 1.305, 1.656, 2.198, 2.958, 3.952, 5.204, 6.733, 8.554",\
                 "1.068, 1.12, 1.306, 1.655, 2.198, 2.956, 3.953, 5.205, 6.733, 8.552",\
                 "1.106, 1.155, 1.329, 1.665, 2.199, 2.956, 3.952, 5.205, 6.733, 8.552",\
                 "1.185, 1.237, 1.408, 1.73, 2.237, 2.968, 3.953, 5.206, 6.735, 8.556",\
                 "1.268, 1.317, 1.495, 1.83, 2.335, 3.038, 3.984, 5.209, 6.733, 8.553",\
                 "1.374, 1.424, 1.602, 1.938, 2.455, 3.164, 4.085, 5.267, 6.749, 8.552",\
                 "1.525, 1.573, 1.743, 2.071, 2.583, 3.308, 4.24, 5.397, 6.834, 8.589",\
                 "1.706, 1.758, 1.929, 2.249, 2.748, 3.468, 4.409, 5.583, 6.994, 8.7");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2288, 0.2385, 0.271, 0.3317, 0.4228, 0.5476, 0.7094, 0.9114, 1.157, 1.448",\
                 "0.2432, 0.2528, 0.2855, 0.3458, 0.4372, 0.5621, 0.7239, 0.9259, 1.171, 1.462",\
                 "0.2803, 0.2897, 0.3221, 0.3825, 0.4735, 0.5986, 0.7606, 0.9627, 1.208, 1.499",\
                 "0.3224, 0.3331, 0.3694, 0.4342, 0.5285, 0.6536, 0.8152, 1.017, 1.262, 1.554",\
                 "0.3442, 0.3569, 0.4, 0.4758, 0.5836, 0.7234, 0.8951, 1.1, 1.345, 1.636",\
                 "0.3294, 0.3452, 0.3981, 0.4906, 0.6181, 0.778, 0.9699, 1.195, 1.456, 1.752",\
                 "0.2697, 0.2884, 0.3523, 0.463, 0.6158, 0.8037, 1.024, 1.275, 1.559, 1.88",\
                 "0.1608, 0.1833, 0.258, 0.3885, 0.5678, 0.7876, 1.042, 1.327, 1.642, 1.991",\
                 "0.0011, 0.0269, 0.1125, 0.2612, 0.4676, 0.7214, 1.013, 1.338, 1.692, 2.077",\
                 "-0.2133, -0.1844, -0.0881, 0.081, 0.3135, 0.6003, 0.9312, 1.299, 1.698, 2.126");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8083, 0.8382, 0.9427, 1.142, 1.451, 1.883, 2.451, 3.166, 4.038, 5.078",\
                 "0.8158, 0.8458, 0.951, 1.151, 1.46, 1.893, 2.462, 3.177, 4.05, 5.089",\
                 "0.845, 0.8752, 0.9806, 1.181, 1.492, 1.927, 2.496, 3.212, 4.086, 5.127",\
                 "0.9188, 0.9485, 1.053, 1.251, 1.559, 1.992, 2.56, 3.276, 4.149, 5.19",\
                 "1.069, 1.098, 1.2, 1.393, 1.695, 2.121, 2.683, 3.393, 4.263, 5.3",\
                 "1.29, 1.32, 1.425, 1.622, 1.919, 2.335, 2.887, 3.588, 4.448, 5.479",\
                 "1.578, 1.609, 1.716, 1.917, 2.224, 2.643, 3.185, 3.874, 4.722, 5.739",\
                 "1.936, 1.968, 2.078, 2.284, 2.598, 3.027, 3.579, 4.261, 5.094, 6.098",\
                 "2.362, 2.395, 2.512, 2.726, 3.046, 3.485, 4.05, 4.743, 5.573, 6.564",\
                 "2.85, 2.887, 3.013, 3.241, 3.574, 4.02, 4.595, 5.305, 6.151, 7.14");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2485, 0.2645, 0.3176, 0.4159, 0.5658, 0.7734, 1.044, 1.386, 1.802, 2.296",\
                 "0.249, 0.2642, 0.3173, 0.4159, 0.5657, 0.7731, 1.044, 1.386, 1.802, 2.296",\
                 "0.2484, 0.2632, 0.3158, 0.4145, 0.5645, 0.7727, 1.044, 1.386, 1.802, 2.296",\
                 "0.3017, 0.3151, 0.3625, 0.4491, 0.5831, 0.7791, 1.045, 1.385, 1.802, 2.297",\
                 "0.3962, 0.41, 0.4562, 0.5434, 0.6764, 0.8604, 1.099, 1.412, 1.808, 2.297",\
                 "0.5268, 0.5424, 0.5934, 0.6842, 0.817, 0.999, 1.238, 1.536, 1.9, 2.349",\
                 "0.6864, 0.7046, 0.7616, 0.861, 1.003, 1.188, 1.427, 1.724, 2.086, 2.518",\
                 "0.871, 0.8904, 0.957, 1.069, 1.226, 1.426, 1.67, 1.966, 2.324, 2.755",\
                 "1.086, 1.105, 1.177, 1.302, 1.479, 1.697, 1.957, 2.265, 2.624, 3.05",\
                 "1.324, 1.348, 1.43, 1.565, 1.762, 1.999, 2.282, 2.61, 2.983, 3.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.242, 1.298, 1.492, 1.856, 2.411, 3.178, 4.179, 5.433, 6.964, 8.787",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.179, 4.178, 5.433, 6.963, 8.783",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.179, 4.179, 5.433, 6.964, 8.786",\
                 "1.245, 1.3, 1.492, 1.856, 2.411, 3.178, 4.179, 5.435, 6.962, 8.786",\
                 "1.298, 1.349, 1.528, 1.872, 2.413, 3.179, 4.179, 5.434, 6.964, 8.784",\
                 "1.396, 1.447, 1.62, 1.948, 2.462, 3.195, 4.181, 5.434, 6.964, 8.786",\
                 "1.504, 1.555, 1.733, 2.065, 2.57, 3.275, 4.22, 5.441, 6.965, 8.787",\
                 "1.65, 1.699, 1.867, 2.196, 2.706, 3.412, 4.329, 5.51, 6.987, 8.788",\
                 "1.841, 1.887, 2.047, 2.36, 2.86, 3.57, 4.495, 5.648, 7.082, 8.83",\
                 "2.073, 2.117, 2.275, 2.574, 3.055, 3.75, 4.68, 5.844, 7.251, 8.952");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2452, 0.2553, 0.2894, 0.3517, 0.4454, 0.5722, 0.7359, 0.9394, 1.186, 1.478",\
                 "0.258, 0.268, 0.3021, 0.3644, 0.4578, 0.585, 0.7486, 0.9521, 1.198, 1.491",\
                 "0.2942, 0.3039, 0.3375, 0.3997, 0.4929, 0.62, 0.7836, 0.9872, 1.234, 1.526",\
                 "0.3402, 0.3511, 0.3874, 0.4529, 0.5478, 0.6743, 0.8375, 1.041, 1.287, 1.58",\
                 "0.3685, 0.3813, 0.4243, 0.4992, 0.607, 0.7466, 0.9184, 1.124, 1.37, 1.661",\
                 "0.3643, 0.3799, 0.4316, 0.5221, 0.6485, 0.8067, 0.9979, 1.222, 1.482, 1.779",\
                 "0.3184, 0.3372, 0.3997, 0.5074, 0.657, 0.8418, 1.059, 1.307, 1.59, 1.91",\
                 "0.2282, 0.2491, 0.3219, 0.4489, 0.6242, 0.839, 1.089, 1.369, 1.681, 2.027",\
                 "0.0913, 0.1159, 0.1983, 0.3433, 0.5437, 0.7911, 1.076, 1.394, 1.743, 2.122",\
                 "-0.0934, -0.0659, 0.0266, 0.189, 0.4143, 0.6934, 1.016, 1.375, 1.765, 2.186");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7432, 0.7732, 0.88, 1.082, 1.394, 1.829, 2.401, 3.119, 3.996, 5.04",\
                 "0.7519, 0.7824, 0.8894, 1.092, 1.404, 1.84, 2.412, 3.131, 4.007, 5.051",\
                 "0.7808, 0.8119, 0.9193, 1.123, 1.436, 1.874, 2.446, 3.166, 4.043, 5.087",\
                 "0.8324, 0.8628, 0.969, 1.171, 1.484, 1.92, 2.492, 3.213, 4.09, 5.134",\
                 "0.9356, 0.9661, 1.071, 1.267, 1.573, 2.003, 2.571, 3.286, 4.16, 5.203",\
                 "1.104, 1.133, 1.238, 1.435, 1.737, 2.156, 2.712, 3.416, 4.281, 5.316",\
                 "1.343, 1.373, 1.477, 1.673, 1.974, 2.392, 2.936, 3.626, 4.476, 5.497",\
                 "1.644, 1.677, 1.785, 1.984, 2.284, 2.7, 3.246, 3.926, 4.759, 5.763",\
                 "1.997, 2.032, 2.15, 2.362, 2.669, 3.086, 3.629, 4.312, 5.139, 6.124",\
                 "2.399, 2.437, 2.565, 2.793, 3.121, 3.548, 4.092, 4.772, 5.602, 6.586");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2801, 0.2969, 0.3509, 0.45, 0.6007, 0.8092, 1.081, 1.422, 1.839, 2.335",\
                 "0.2804, 0.2957, 0.3499, 0.4503, 0.6013, 0.8095, 1.081, 1.423, 1.839, 2.334",\
                 "0.2771, 0.2934, 0.3467, 0.4474, 0.5998, 0.8094, 1.082, 1.422, 1.84, 2.335",\
                 "0.3276, 0.3418, 0.3894, 0.4769, 0.6139, 0.8128, 1.081, 1.423, 1.839, 2.334",\
                 "0.4264, 0.44, 0.4882, 0.5738, 0.707, 0.8902, 1.13, 1.445, 1.845, 2.335",\
                 "0.5672, 0.5824, 0.6308, 0.7198, 0.8502, 1.032, 1.269, 1.567, 1.931, 2.383",\
                 "0.7434, 0.7592, 0.8144, 0.909, 1.046, 1.226, 1.46, 1.757, 2.116, 2.547",\
                 "0.9524, 0.9706, 1.03, 1.137, 1.285, 1.473, 1.709, 2, 2.357, 2.785",\
                 "1.198, 1.217, 1.283, 1.4, 1.561, 1.766, 2.014, 2.307, 2.66, 3.081",\
                 "1.479, 1.502, 1.576, 1.699, 1.878, 2.101, 2.363, 2.669, 3.028, 3.446");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.242, 1.298, 1.492, 1.855, 2.411, 3.178, 4.179, 5.435, 6.963, 8.784",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.178, 4.179, 5.433, 6.962, 8.783",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.178, 4.179, 5.434, 6.964, 8.784",\
                 "1.244, 1.299, 1.492, 1.855, 2.411, 3.178, 4.179, 5.434, 6.964, 8.783",\
                 "1.288, 1.339, 1.522, 1.87, 2.413, 3.179, 4.179, 5.435, 6.964, 8.785",\
                 "1.375, 1.426, 1.603, 1.937, 2.459, 3.196, 4.182, 5.434, 6.963, 8.785",\
                 "1.498, 1.545, 1.714, 2.042, 2.552, 3.268, 4.223, 5.445, 6.965, 8.787",\
                 "1.678, 1.72, 1.875, 2.183, 2.678, 3.386, 4.32, 5.512, 6.993, 8.791",\
                 "1.917, 1.958, 2.102, 2.385, 2.85, 3.536, 4.462, 5.634, 7.082, 8.84",\
                 "2.198, 2.239, 2.38, 2.651, 3.091, 3.738, 4.638, 5.8, 7.232, 8.955");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2295, 0.239, 0.2718, 0.3323, 0.4233, 0.5483, 0.71, 0.9119, 1.157, 1.449",\
                 "0.2422, 0.2518, 0.2845, 0.3448, 0.436, 0.5608, 0.7227, 0.9246, 1.17, 1.461",\
                 "0.2782, 0.2875, 0.3199, 0.3801, 0.471, 0.5958, 0.7577, 0.9597, 1.205, 1.496",\
                 "0.3187, 0.3294, 0.3656, 0.4306, 0.525, 0.65, 0.8116, 1.013, 1.259, 1.55",\
                 "0.3379, 0.3511, 0.3949, 0.4711, 0.5795, 0.7191, 0.8909, 1.096, 1.341, 1.632",\
                 "0.322, 0.3383, 0.3923, 0.4852, 0.6138, 0.7743, 0.9665, 1.192, 1.452, 1.749",\
                 "0.2628, 0.2829, 0.3477, 0.4605, 0.6145, 0.8031, 1.023, 1.273, 1.557, 1.877",\
                 "0.1604, 0.1834, 0.2591, 0.3909, 0.5714, 0.7923, 1.046, 1.33, 1.644, 1.992",\
                 "0.0121, 0.0378, 0.1241, 0.2746, 0.4822, 0.7358, 1.026, 1.349, 1.702, 2.084",\
                 "-0.1849, -0.1565, -0.059, 0.11, 0.3432, 0.6289, 0.9598, 1.324, 1.718, 2.143");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7432, 0.7732, 0.8798, 1.082, 1.393, 1.829, 2.401, 3.119, 3.996, 5.039",\
                 "0.752, 0.7824, 0.8894, 1.092, 1.404, 1.84, 2.412, 3.131, 4.007, 5.05",\
                 "0.7809, 0.812, 0.9193, 1.123, 1.436, 1.874, 2.446, 3.166, 4.043, 5.087",\
                 "0.8324, 0.8628, 0.9694, 1.171, 1.484, 1.92, 2.493, 3.213, 4.09, 5.134",\
                 "0.9357, 0.9662, 1.071, 1.267, 1.574, 2.003, 2.571, 3.286, 4.161, 5.202",\
                 "1.104, 1.133, 1.238, 1.435, 1.737, 2.156, 2.712, 3.416, 4.281, 5.316",\
                 "1.343, 1.373, 1.477, 1.672, 1.974, 2.392, 2.937, 3.626, 4.476, 5.497",\
                 "1.645, 1.677, 1.785, 1.983, 2.284, 2.701, 3.246, 3.927, 4.759, 5.763",\
                 "1.997, 2.031, 2.15, 2.361, 2.669, 3.085, 3.629, 4.312, 5.139, 6.124",\
                 "2.399, 2.437, 2.565, 2.794, 3.121, 3.548, 4.091, 4.772, 5.602, 6.586");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2516, 0.2674, 0.32, 0.418, 0.5676, 0.7749, 1.046, 1.387, 1.804, 2.298",\
                 "0.2519, 0.2672, 0.32, 0.4181, 0.5674, 0.7751, 1.046, 1.387, 1.804, 2.299",\
                 "0.2517, 0.2663, 0.3181, 0.4165, 0.567, 0.775, 1.047, 1.386, 1.804, 2.298",\
                 "0.3069, 0.3201, 0.367, 0.4527, 0.5862, 0.7814, 1.046, 1.388, 1.802, 2.298",\
                 "0.4096, 0.4228, 0.469, 0.553, 0.6838, 0.8652, 1.102, 1.415, 1.811, 2.3",\
                 "0.5538, 0.5682, 0.6172, 0.7036, 0.8316, 1.01, 1.244, 1.54, 1.903, 2.352",\
                 "0.734, 0.7496, 0.8026, 0.8962, 1.03, 1.209, 1.439, 1.733, 2.091, 2.52",\
                 "0.947, 0.9644, 1.023, 1.127, 1.273, 1.46, 1.692, 1.98, 2.333, 2.76",\
                 "1.199, 1.219, 1.281, 1.392, 1.555, 1.753, 1.999, 2.29, 2.64, 3.059",\
                 "1.482, 1.505, 1.574, 1.698, 1.872, 2.091, 2.349, 2.655, 3.011, 3.428");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.139, 1.192, 1.376, 1.726, 2.268, 3.026, 4.022, 5.275, 6.799, 8.619",\
                 "1.139, 1.192, 1.376, 1.726, 2.268, 3.025, 4.022, 5.273, 6.8, 8.618",\
                 "1.139, 1.192, 1.376, 1.726, 2.268, 3.026, 4.022, 5.272, 6.801, 8.619",\
                 "1.14, 1.192, 1.376, 1.726, 2.268, 3.026, 4.021, 5.273, 6.799, 8.622",\
                 "1.184, 1.233, 1.406, 1.74, 2.27, 3.026, 4.022, 5.273, 6.801, 8.621",\
                 "1.263, 1.311, 1.482, 1.806, 2.314, 3.044, 4.023, 5.274, 6.802, 8.621",\
                 "1.374, 1.42, 1.584, 1.904, 2.407, 3.115, 4.065, 5.284, 6.802, 8.621",\
                 "1.541, 1.584, 1.736, 2.038, 2.526, 3.231, 4.162, 5.351, 6.83, 8.624",\
                 "1.759, 1.801, 1.948, 2.23, 2.692, 3.376, 4.301, 5.474, 6.921, 8.675",\
                 "2.011, 2.055, 2.205, 2.485, 2.925, 3.572, 4.47, 5.638, 7.068, 8.793");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1804, 0.1876, 0.2127, 0.2589, 0.3284, 0.4232, 0.5456, 0.6982, 0.8831, 1.103",\
                 "0.194, 0.2012, 0.2263, 0.2724, 0.3418, 0.4366, 0.559, 0.7116, 0.8966, 1.116",\
                 "0.241, 0.2482, 0.2728, 0.3182, 0.3872, 0.4819, 0.6043, 0.757, 0.942, 1.161",\
                 "0.2939, 0.3037, 0.3355, 0.3911, 0.4687, 0.5666, 0.6892, 0.8418, 1.027, 1.246",\
                 "0.3172, 0.3295, 0.3709, 0.4425, 0.5415, 0.664, 0.8081, 0.9727, 1.16, 1.38",\
                 "0.3025, 0.3179, 0.3697, 0.4593, 0.5825, 0.733, 0.9079, 1.105, 1.323, 1.562",\
                 "0.2447, 0.2635, 0.3264, 0.4353, 0.5837, 0.7654, 0.9741, 1.207, 1.462, 1.738",\
                 "0.1429, 0.1645, 0.2376, 0.3649, 0.5407, 0.7545, 1, 1.272, 1.567, 1.883",\
                 "-0.0051, 0.0195, 0.1027, 0.2482, 0.4491, 0.6971, 0.9803, 1.292, 1.631, 1.992",\
                 "-0.2021, -0.1741, -0.0807, 0.0828, 0.3086, 0.5879, 0.9101, 1.265, 1.648, 2.057");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8024, 0.8327, 0.9381, 1.138, 1.449, 1.883, 2.454, 3.172, 4.048, 5.091",\
                 "0.8124, 0.8426, 0.9485, 1.15, 1.461, 1.896, 2.467, 3.185, 4.062, 5.105",\
                 "0.8409, 0.8712, 0.9779, 1.18, 1.493, 1.929, 2.502, 3.221, 4.098, 5.141",\
                 "0.8921, 0.9219, 1.028, 1.228, 1.54, 1.975, 2.547, 3.267, 4.144, 5.188",\
                 "0.9972, 1.027, 1.13, 1.325, 1.63, 2.06, 2.626, 3.341, 4.215, 5.257",\
                 "1.167, 1.197, 1.301, 1.497, 1.797, 2.215, 2.77, 3.475, 4.34, 5.373",\
                 "1.41, 1.439, 1.542, 1.737, 2.039, 2.456, 3, 3.689, 4.539, 5.559",\
                 "1.719, 1.75, 1.856, 2.052, 2.353, 2.771, 3.316, 3.997, 4.828, 5.833",\
                 "2.082, 2.115, 2.23, 2.436, 2.743, 3.161, 3.706, 4.389, 5.217, 6.203",\
                 "2.496, 2.532, 2.656, 2.88, 3.202, 3.628, 4.174, 4.859, 5.69, 6.675");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2078, 0.2195, 0.259, 0.3327, 0.4463, 0.6026, 0.8065, 1.064, 1.377, 1.749",\
                 "0.2073, 0.2188, 0.2586, 0.3327, 0.4458, 0.6023, 0.8067, 1.063, 1.377, 1.749",\
                 "0.2155, 0.2256, 0.2612, 0.3317, 0.4446, 0.6017, 0.8064, 1.063, 1.376, 1.749",\
                 "0.3098, 0.3189, 0.3499, 0.4076, 0.494, 0.6242, 0.8126, 1.064, 1.376, 1.749",\
                 "0.4398, 0.4504, 0.4848, 0.5484, 0.643, 0.7688, 0.9278, 1.132, 1.407, 1.756",\
                 "0.6018, 0.6142, 0.6528, 0.723, 0.8274, 0.9638, 1.135, 1.342, 1.585, 1.881",\
                 "0.7956, 0.8086, 0.8522, 0.9322, 1.048, 1.196, 1.38, 1.602, 1.86, 2.159",\
                 "1.023, 1.039, 1.086, 1.175, 1.303, 1.466, 1.666, 1.901, 2.175, 2.49",\
                 "1.287, 1.303, 1.356, 1.454, 1.594, 1.775, 1.992, 2.244, 2.534, 2.866",\
                 "1.587, 1.604, 1.664, 1.771, 1.927, 2.119, 2.355, 2.629, 2.939, 3.284");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.21, 1.262, 1.448, 1.799, 2.341, 3.1, 4.096, 5.349, 6.875, 8.693",\
                 "1.21, 1.263, 1.448, 1.799, 2.341, 3.1, 4.096, 5.348, 6.875, 8.692",\
                 "1.21, 1.263, 1.448, 1.799, 2.341, 3.1, 4.096, 5.346, 6.875, 8.697",\
                 "1.21, 1.263, 1.448, 1.799, 2.341, 3.1, 4.096, 5.347, 6.876, 8.696",\
                 "1.248, 1.297, 1.473, 1.809, 2.343, 3.1, 4.097, 5.349, 6.878, 8.696",\
                 "1.323, 1.372, 1.545, 1.871, 2.383, 3.114, 4.098, 5.348, 6.876, 8.695",\
                 "1.423, 1.47, 1.638, 1.964, 2.47, 3.183, 4.136, 5.358, 6.876, 8.695",\
                 "1.575, 1.621, 1.776, 2.086, 2.584, 3.295, 4.227, 5.42, 6.901, 8.7",\
                 "1.784, 1.826, 1.974, 2.265, 2.736, 3.43, 4.361, 5.536, 6.987, 8.748",\
                 "2.029, 2.074, 2.224, 2.508, 2.954, 3.612, 4.524, 5.696, 7.132, 8.856");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1911, 0.2006, 0.2331, 0.2932, 0.3837, 0.508, 0.6691, 0.8705, 1.115, 1.406",\
                 "0.204, 0.2134, 0.2459, 0.3059, 0.3965, 0.5206, 0.6818, 0.8831, 1.128, 1.419",\
                 "0.24, 0.2494, 0.2816, 0.3411, 0.4314, 0.5556, 0.7168, 0.9183, 1.163, 1.454",\
                 "0.2719, 0.2833, 0.3211, 0.3879, 0.4839, 0.6096, 0.7706, 0.972, 1.217, 1.507",\
                 "0.2763, 0.2907, 0.3383, 0.4196, 0.5318, 0.6742, 0.8479, 1.054, 1.299, 1.589",\
                 "0.2423, 0.2603, 0.32, 0.4209, 0.5566, 0.7229, 0.9184, 1.146, 1.408, 1.706",\
                 "0.1656, 0.1871, 0.2594, 0.3818, 0.5454, 0.7421, 0.9678, 1.223, 1.509, 1.832",\
                 "0.0453, 0.0707, 0.1549, 0.2972, 0.4899, 0.7205, 0.9829, 1.273, 1.591, 1.942",\
                 "-0.1206, -0.0913, 0.004, 0.1673, 0.3871, 0.6531, 0.9541, 1.285, 1.643, 2.03",\
                 "-0.3331, -0.3009, -0.1943, -0.0111, 0.2366, 0.535, 0.8773, 1.251, 1.653, 2.083");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7295, 0.76, 0.8665, 1.067, 1.378, 1.812, 2.381, 3.097, 3.97, 5.011",\
                 "0.7386, 0.7691, 0.8759, 1.078, 1.389, 1.823, 2.392, 3.108, 3.982, 5.021",\
                 "0.7679, 0.7985, 0.9062, 1.109, 1.421, 1.857, 2.427, 3.144, 4.017, 5.058",\
                 "0.8188, 0.8492, 0.9556, 1.157, 1.468, 1.903, 2.473, 3.19, 4.064, 5.105",\
                 "0.9216, 0.952, 1.057, 1.253, 1.558, 1.987, 2.552, 3.264, 4.135, 5.173",\
                 "1.088, 1.118, 1.223, 1.42, 1.722, 2.139, 2.692, 3.394, 4.257, 5.287",\
                 "1.326, 1.357, 1.461, 1.656, 1.957, 2.374, 2.917, 3.604, 4.451, 5.469",\
                 "1.625, 1.657, 1.768, 1.967, 2.267, 2.682, 3.225, 3.903, 4.733, 5.732",\
                 "1.974, 2.009, 2.129, 2.342, 2.65, 3.066, 3.607, 4.288, 5.112, 6.094",\
                 "2.372, 2.41, 2.541, 2.772, 3.1, 3.527, 4.069, 4.747, 5.574, 6.556");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2108, 0.226, 0.2784, 0.3764, 0.5245, 0.7308, 1.002, 1.342, 1.758, 2.252",\
                 "0.2101, 0.2251, 0.2774, 0.3752, 0.5241, 0.7313, 1.002, 1.341, 1.756, 2.252",\
                 "0.2164, 0.2299, 0.279, 0.3744, 0.5235, 0.7311, 1.002, 1.342, 1.758, 2.253",\
                 "0.2811, 0.2939, 0.3375, 0.4217, 0.5506, 0.741, 1.003, 1.342, 1.757, 2.252",\
                 "0.3921, 0.4045, 0.4482, 0.5288, 0.6548, 0.8322, 1.067, 1.374, 1.768, 2.252",\
                 "0.542, 0.5564, 0.6012, 0.6846, 0.8088, 0.9816, 1.212, 1.507, 1.867, 2.312",\
                 "0.7266, 0.7414, 0.7912, 0.883, 1.013, 1.188, 1.413, 1.7, 2.057, 2.485",\
                 "0.9472, 0.9636, 1.019, 1.117, 1.26, 1.442, 1.672, 1.955, 2.304, 2.726",\
                 "1.205, 1.222, 1.282, 1.39, 1.543, 1.737, 1.981, 2.268, 2.616, 3.031",\
                 "1.492, 1.513, 1.582, 1.698, 1.867, 2.08, 2.333, 2.638, 2.99, 3.403");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.9205, 0.9733, 1.159, 1.51, 2.052, 2.81, 3.804, 5.058, 6.584, 8.408",\
                 "0.9215, 0.9735, 1.159, 1.509, 2.052, 2.81, 3.806, 5.057, 6.585, 8.403",\
                 "0.9223, 0.9735, 1.16, 1.51, 2.051, 2.81, 3.804, 5.056, 6.584, 8.404",\
                 "0.923, 0.9748, 1.16, 1.51, 2.051, 2.81, 3.806, 5.058, 6.584, 8.404",\
                 "0.9658, 1.015, 1.188, 1.523, 2.053, 2.81, 3.807, 5.058, 6.585, 8.405",\
                 "1.034, 1.086, 1.26, 1.589, 2.098, 2.827, 3.807, 5.058, 6.587, 8.405",\
                 "1.135, 1.184, 1.352, 1.677, 2.189, 2.9, 3.848, 5.069, 6.585, 8.406",\
                 "1.29, 1.335, 1.496, 1.805, 2.3, 3.011, 3.946, 5.134, 6.614, 8.409",\
                 "1.483, 1.531, 1.692, 1.989, 2.46, 3.15, 4.081, 5.258, 6.705, 8.461",\
                 "1.704, 1.755, 1.924, 2.229, 2.684, 3.341, 4.245, 5.418, 6.852, 8.577");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1531, 0.1602, 0.185, 0.2306, 0.2991, 0.3935, 0.5153, 0.6673, 0.852, 1.071",\
                 "0.1667, 0.174, 0.1986, 0.2442, 0.3126, 0.4068, 0.5287, 0.6806, 0.8654, 1.084",\
                 "0.2121, 0.2196, 0.2448, 0.29, 0.3582, 0.4521, 0.5742, 0.726, 0.9107, 1.13",\
                 "0.2515, 0.2619, 0.2962, 0.3552, 0.436, 0.5365, 0.659, 0.8109, 0.9956, 1.215",\
                 "0.2581, 0.2719, 0.3173, 0.3944, 0.4985, 0.6255, 0.7727, 0.9402, 1.129, 1.348",\
                 "0.2255, 0.2429, 0.3003, 0.3973, 0.5279, 0.6851, 0.865, 1.066, 1.287, 1.528",\
                 "0.1503, 0.1712, 0.2402, 0.3584, 0.5169, 0.7069, 0.9226, 1.16, 1.42, 1.7",\
                 "0.0318, 0.0561, 0.1364, 0.2742, 0.461, 0.6853, 0.9391, 1.218, 1.518, 1.84",\
                 "-0.1324, -0.1052, -0.0134, 0.1436, 0.3567, 0.6161, 0.909, 1.23, 1.575, 1.942",\
                 "-0.3437, -0.3134, -0.212, -0.0357, 0.2047, 0.4962, 0.8294, 1.194, 1.585, 1.999");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7897, 0.8202, 0.9248, 1.124, 1.434, 1.866, 2.435, 3.15, 4.023, 5.062",\
                 "0.7994, 0.8297, 0.9352, 1.136, 1.446, 1.879, 2.448, 3.163, 4.036, 5.076",\
                 "0.8281, 0.8585, 0.9648, 1.166, 1.478, 1.912, 2.482, 3.199, 4.072, 5.113",\
                 "0.879, 0.9093, 1.014, 1.214, 1.524, 1.958, 2.528, 3.245, 4.118, 5.159",\
                 "0.984, 1.014, 1.116, 1.311, 1.615, 2.043, 2.607, 3.319, 4.19, 5.228",\
                 "1.153, 1.182, 1.286, 1.482, 1.782, 2.198, 2.751, 3.453, 4.313, 5.345",\
                 "1.395, 1.424, 1.527, 1.722, 2.022, 2.439, 2.98, 3.666, 4.513, 5.53",\
                 "1.701, 1.732, 1.84, 2.036, 2.336, 2.752, 3.296, 3.973, 4.802, 5.803",\
                 "2.061, 2.096, 2.211, 2.418, 2.725, 3.141, 3.685, 4.366, 5.191, 6.171",\
                 "2.471, 2.508, 2.633, 2.858, 3.181, 3.607, 4.152, 4.834, 5.663, 6.642");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1762, 0.188, 0.2269, 0.3011, 0.4127, 0.5691, 0.7729, 1.029, 1.342, 1.715",\
                 "0.1752, 0.1867, 0.2263, 0.3006, 0.4129, 0.5691, 0.773, 1.03, 1.342, 1.714",\
                 "0.1956, 0.2041, 0.2361, 0.3021, 0.4118, 0.568, 0.7731, 1.029, 1.343, 1.714",\
                 "0.2962, 0.3047, 0.3346, 0.3912, 0.4756, 0.6, 0.7821, 1.03, 1.342, 1.714",\
                 "0.4302, 0.4402, 0.4724, 0.5338, 0.6266, 0.7502, 0.9076, 1.109, 1.377, 1.723",\
                 "0.5966, 0.6072, 0.6442, 0.7124, 0.8122, 0.9468, 1.117, 1.323, 1.565, 1.857",\
                 "0.7958, 0.8084, 0.8482, 0.9248, 1.036, 1.181, 1.364, 1.583, 1.84, 2.138",\
                 "1.033, 1.045, 1.088, 1.173, 1.294, 1.453, 1.651, 1.884, 2.156, 2.472",\
                 "1.303, 1.317, 1.366, 1.455, 1.587, 1.766, 1.978, 2.228, 2.516, 2.846",\
                 "1.606, 1.622, 1.678, 1.777, 1.922, 2.115, 2.344, 2.614, 2.923, 3.269");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.9962, 1.05, 1.234, 1.584, 2.126, 2.885, 3.881, 5.132, 6.659, 8.477",\
                 "0.9963, 1.049, 1.234, 1.583, 2.126, 2.884, 3.879, 5.133, 6.661, 8.478",\
                 "0.9951, 1.049, 1.234, 1.584, 2.126, 2.885, 3.88, 5.133, 6.659, 8.479",\
                 "0.9974, 1.049, 1.233, 1.583, 2.126, 2.884, 3.879, 5.133, 6.658, 8.48",\
                 "1.034, 1.083, 1.258, 1.596, 2.128, 2.885, 3.881, 5.133, 6.662, 8.481",\
                 "1.101, 1.152, 1.328, 1.656, 2.167, 2.899, 3.881, 5.133, 6.66, 8.481",\
                 "1.192, 1.241, 1.412, 1.741, 2.254, 2.967, 3.919, 5.141, 6.661, 8.48",\
                 "1.334, 1.379, 1.541, 1.856, 2.36, 3.076, 4.011, 5.204, 6.686, 8.484",\
                 "1.521, 1.568, 1.727, 2.029, 2.507, 3.204, 4.143, 5.322, 6.773, 8.53",\
                 "1.739, 1.79, 1.953, 2.255, 2.716, 3.383, 4.298, 5.477, 6.914, 8.64");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1531, 0.1602, 0.185, 0.2306, 0.2992, 0.3935, 0.5153, 0.6673, 0.852, 1.071",\
                 "0.1668, 0.174, 0.1986, 0.2442, 0.3126, 0.4068, 0.5287, 0.6806, 0.8654, 1.084",\
                 "0.2121, 0.2196, 0.2448, 0.29, 0.3582, 0.4521, 0.5741, 0.726, 0.9106, 1.13",\
                 "0.2515, 0.2619, 0.2963, 0.3552, 0.436, 0.5365, 0.6589, 0.8111, 0.9956, 1.215",\
                 "0.2581, 0.2719, 0.3173, 0.3944, 0.4985, 0.6255, 0.7727, 0.9402, 1.129, 1.348",\
                 "0.2255, 0.2429, 0.3003, 0.3973, 0.5279, 0.6852, 0.865, 1.066, 1.287, 1.528",\
                 "0.1503, 0.1712, 0.2402, 0.3585, 0.5169, 0.7069, 0.9226, 1.16, 1.42, 1.7",\
                 "0.0318, 0.0561, 0.1364, 0.2742, 0.461, 0.6854, 0.9391, 1.218, 1.518, 1.84",\
                 "-0.1324, -0.1051, -0.0134, 0.1436, 0.3567, 0.6161, 0.909, 1.23, 1.575, 1.942",\
                 "-0.3437, -0.3134, -0.212, -0.0357, 0.2047, 0.4962, 0.8294, 1.194, 1.585, 1.999");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.7897, 0.8199, 0.9248, 1.124, 1.434, 1.866, 2.435, 3.15, 4.023, 5.062",\
                 "0.7994, 0.83, 0.9352, 1.136, 1.446, 1.879, 2.448, 3.163, 4.036, 5.076",\
                 "0.8281, 0.8584, 0.9646, 1.166, 1.478, 1.912, 2.482, 3.199, 4.072, 5.113",\
                 "0.879, 0.9092, 1.014, 1.214, 1.525, 1.958, 2.528, 3.244, 4.118, 5.16",\
                 "0.984, 1.014, 1.116, 1.311, 1.615, 2.043, 2.607, 3.319, 4.189, 5.228",\
                 "1.153, 1.182, 1.286, 1.482, 1.782, 2.197, 2.751, 3.453, 4.313, 5.345",\
                 "1.395, 1.424, 1.527, 1.722, 2.022, 2.439, 2.98, 3.666, 4.513, 5.531",\
                 "1.701, 1.732, 1.839, 2.036, 2.336, 2.752, 3.296, 3.973, 4.802, 5.804",\
                 "2.061, 2.094, 2.21, 2.418, 2.725, 3.141, 3.684, 4.365, 5.19, 6.171",\
                 "2.471, 2.508, 2.633, 2.858, 3.181, 3.607, 4.152, 4.834, 5.662, 6.643");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1762, 0.188, 0.227, 0.3012, 0.4127, 0.5691, 0.7729, 1.029, 1.342, 1.715",\
                 "0.1754, 0.1867, 0.2263, 0.3006, 0.4129, 0.5692, 0.7731, 1.03, 1.342, 1.714",\
                 "0.1956, 0.2042, 0.2361, 0.3023, 0.4123, 0.5681, 0.7729, 1.029, 1.341, 1.715",\
                 "0.2962, 0.3051, 0.3347, 0.3912, 0.4756, 0.6, 0.7818, 1.03, 1.341, 1.714",\
                 "0.4302, 0.4402, 0.4726, 0.5338, 0.6266, 0.7504, 0.9076, 1.109, 1.377, 1.724",\
                 "0.5966, 0.6072, 0.6442, 0.7124, 0.8122, 0.947, 1.117, 1.323, 1.565, 1.857",\
                 "0.796, 0.8084, 0.8484, 0.9248, 1.037, 1.181, 1.364, 1.583, 1.84, 2.138",\
                 "1.033, 1.045, 1.089, 1.173, 1.295, 1.454, 1.651, 1.884, 2.156, 2.472",\
                 "1.303, 1.317, 1.366, 1.455, 1.588, 1.766, 1.978, 2.228, 2.516, 2.847",\
                 "1.606, 1.622, 1.678, 1.777, 1.923, 2.116, 2.344, 2.614, 2.923, 3.269");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.995, 1.049, 1.234, 1.584, 2.126, 2.885, 3.881, 5.133, 6.659, 8.478",\
                 "0.9961, 1.05, 1.234, 1.585, 2.126, 2.884, 3.879, 5.133, 6.661, 8.478",\
                 "0.9951, 1.049, 1.234, 1.583, 2.126, 2.885, 3.88, 5.131, 6.658, 8.48",\
                 "0.9972, 1.049, 1.233, 1.585, 2.127, 2.884, 3.88, 5.132, 6.66, 8.48",\
                 "1.034, 1.083, 1.258, 1.595, 2.128, 2.884, 3.882, 5.132, 6.66, 8.481",\
                 "1.101, 1.152, 1.328, 1.656, 2.168, 2.899, 3.882, 5.133, 6.661, 8.481",\
                 "1.192, 1.239, 1.412, 1.741, 2.255, 2.967, 3.919, 5.141, 6.661, 8.481",\
                 "1.333, 1.379, 1.541, 1.856, 2.36, 3.076, 4.011, 5.204, 6.685, 8.484",\
                 "1.521, 1.567, 1.727, 2.027, 2.507, 3.205, 4.143, 5.322, 6.773, 8.53",\
                 "1.74, 1.789, 1.954, 2.256, 2.716, 3.383, 4.299, 5.478, 6.916, 8.641");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1442, 0.1508, 0.1737, 0.2161, 0.2797, 0.367, 0.4801, 0.6207, 0.7917, 0.9944",\
                 "0.1581, 0.1646, 0.1875, 0.2297, 0.2936, 0.3808, 0.4934, 0.6343, 0.8053, 1.008",\
                 "0.2065, 0.2136, 0.2373, 0.2793, 0.3425, 0.4296, 0.5423, 0.6832, 0.854, 1.057",\
                 "0.2481, 0.2583, 0.2917, 0.3488, 0.427, 0.5228, 0.6368, 0.7775, 0.9482, 1.151",\
                 "0.2569, 0.2702, 0.3144, 0.3899, 0.4919, 0.6161, 0.7593, 0.9195, 1.096, 1.299",\
                 "0.2266, 0.2433, 0.2993, 0.3941, 0.5224, 0.677, 0.8538, 1.05, 1.265, 1.496",\
                 "0.1539, 0.1739, 0.2412, 0.3566, 0.5122, 0.6995, 0.9123, 1.147, 1.401, 1.675",\
                 "0.0383, 0.0615, 0.1393, 0.2735, 0.4571, 0.6784, 0.9287, 1.204, 1.5, 1.817",\
                 "-0.1234, -0.0969, -0.0086, 0.1443, 0.354, 0.6091, 0.8989, 1.216, 1.557, 1.919",\
                 "-0.3324, -0.3033, -0.2051, -0.0335, 0.202, 0.489, 0.8187, 1.18, 1.566, 1.976");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8435, 0.8736, 0.978, 1.177, 1.486, 1.918, 2.486, 3.201, 4.074, 5.113",\
                 "0.854, 0.8838, 0.9889, 1.189, 1.498, 1.931, 2.499, 3.215, 4.088, 5.128",\
                 "0.8822, 0.9128, 1.018, 1.219, 1.53, 1.964, 2.534, 3.251, 4.124, 5.165",\
                 "0.9331, 0.9627, 1.067, 1.267, 1.576, 2.01, 2.58, 3.296, 4.169, 5.211",\
                 "1.038, 1.067, 1.169, 1.363, 1.667, 2.094, 2.659, 3.371, 4.241, 5.28",\
                 "1.207, 1.237, 1.341, 1.535, 1.833, 2.25, 2.803, 3.505, 4.366, 5.396",\
                 "1.45, 1.48, 1.582, 1.776, 2.076, 2.491, 3.033, 3.72, 4.567, 5.584",\
                 "1.76, 1.791, 1.896, 2.092, 2.391, 2.807, 3.351, 4.029, 4.859, 5.859",\
                 "2.127, 2.16, 2.273, 2.477, 2.781, 3.197, 3.741, 4.424, 5.248, 6.231",\
                 "2.544, 2.58, 2.702, 2.922, 3.242, 3.666, 4.211, 4.895, 5.724, 6.705");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.1822, 0.1924, 0.228, 0.295, 0.3979, 0.5408, 0.7275, 0.9621, 1.25, 1.591",\
                 "0.1813, 0.1915, 0.2272, 0.2945, 0.3976, 0.54, 0.7274, 0.9626, 1.249, 1.591",\
                 "0.2063, 0.2136, 0.2412, 0.2986, 0.397, 0.5401, 0.7278, 0.9625, 1.249, 1.591",\
                 "0.3192, 0.3267, 0.3523, 0.4018, 0.4749, 0.5815, 0.742, 0.9637, 1.249, 1.591",\
                 "0.4622, 0.4698, 0.4993, 0.555, 0.6392, 0.7518, 0.893, 1.067, 1.301, 1.605",\
                 "0.6374, 0.6464, 0.6796, 0.7406, 0.8342, 0.9592, 1.116, 1.304, 1.522, 1.774",\
                 "0.8474, 0.8568, 0.8924, 0.9614, 1.065, 1.202, 1.373, 1.579, 1.817, 2.088",\
                 "1.093, 1.104, 1.142, 1.215, 1.328, 1.48, 1.668, 1.889, 2.149, 2.442",\
                 "1.375, 1.387, 1.429, 1.509, 1.633, 1.798, 2.001, 2.242, 2.517, 2.83",\
                 "1.69, 1.704, 1.754, 1.84, 1.973, 2.152, 2.376, 2.633, 2.931, 3.264");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.068, 1.12, 1.305, 1.656, 2.198, 2.956, 3.952, 5.205, 6.734, 8.551",\
                 "1.068, 1.121, 1.305, 1.656, 2.199, 2.955, 3.952, 5.205, 6.734, 8.55",\
                 "1.068, 1.122, 1.306, 1.656, 2.198, 2.956, 3.952, 5.205, 6.731, 8.553",\
                 "1.068, 1.121, 1.306, 1.656, 2.198, 2.956, 3.952, 5.204, 6.732, 8.553",\
                 "1.099, 1.149, 1.325, 1.665, 2.199, 2.957, 3.954, 5.205, 6.734, 8.553",\
                 "1.167, 1.217, 1.393, 1.721, 2.234, 2.969, 3.954, 5.205, 6.734, 8.552",\
                 "1.25, 1.302, 1.476, 1.806, 2.32, 3.033, 3.987, 5.211, 6.733, 8.553",\
                 "1.386, 1.434, 1.595, 1.917, 2.422, 3.14, 4.077, 5.271, 6.755, 8.553",\
                 "1.569, 1.616, 1.777, 2.079, 2.564, 3.266, 4.207, 5.387, 6.838, 8.597",\
                 "1.788, 1.839, 1.999, 2.3, 2.767, 3.437, 4.358, 5.54, 6.978, 8.706");
        }
      }

      timing() {
        related_pin : "B3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2452, 0.2553, 0.2894, 0.3517, 0.4454, 0.5722, 0.7359, 0.9394, 1.186, 1.478",\
                 "0.258, 0.268, 0.3021, 0.3644, 0.4578, 0.585, 0.7486, 0.9521, 1.198, 1.491",\
                 "0.2942, 0.3039, 0.3375, 0.3997, 0.4929, 0.62, 0.7836, 0.9872, 1.234, 1.526",\
                 "0.3402, 0.3511, 0.3874, 0.4529, 0.5478, 0.6743, 0.8375, 1.041, 1.287, 1.58",\
                 "0.3685, 0.3813, 0.4243, 0.4992, 0.607, 0.7466, 0.9184, 1.124, 1.37, 1.661",\
                 "0.3643, 0.3799, 0.4316, 0.5221, 0.6485, 0.8067, 0.9979, 1.222, 1.482, 1.779",\
                 "0.3184, 0.3372, 0.3997, 0.5074, 0.657, 0.8418, 1.059, 1.307, 1.59, 1.91",\
                 "0.2282, 0.2491, 0.3219, 0.4489, 0.6242, 0.839, 1.089, 1.369, 1.681, 2.027",\
                 "0.0913, 0.1159, 0.1983, 0.3433, 0.5437, 0.7911, 1.076, 1.394, 1.743, 2.122",\
                 "-0.0934, -0.0659, 0.0266, 0.189, 0.4143, 0.6934, 1.016, 1.375, 1.765, 2.186");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.8435, 0.8736, 0.978, 1.177, 1.486, 1.918, 2.486, 3.201, 4.074, 5.113",\
                 "0.854, 0.8838, 0.9889, 1.189, 1.498, 1.931, 2.499, 3.215, 4.088, 5.128",\
                 "0.8822, 0.9128, 1.018, 1.219, 1.53, 1.964, 2.534, 3.251, 4.124, 5.165",\
                 "0.9331, 0.9627, 1.067, 1.267, 1.576, 2.01, 2.58, 3.296, 4.169, 5.211",\
                 "1.038, 1.067, 1.169, 1.363, 1.667, 2.094, 2.659, 3.371, 4.241, 5.28",\
                 "1.207, 1.237, 1.341, 1.535, 1.833, 2.25, 2.803, 3.505, 4.366, 5.396",\
                 "1.45, 1.48, 1.582, 1.776, 2.076, 2.491, 3.033, 3.72, 4.567, 5.584",\
                 "1.76, 1.791, 1.896, 2.092, 2.391, 2.807, 3.351, 4.029, 4.859, 5.859",\
                 "2.127, 2.16, 2.273, 2.477, 2.781, 3.197, 3.741, 4.424, 5.248, 6.231",\
                 "2.544, 2.58, 2.702, 2.922, 3.242, 3.666, 4.211, 4.895, 5.724, 6.705");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("0.2801, 0.2969, 0.3509, 0.45, 0.6007, 0.8092, 1.081, 1.422, 1.839, 2.335",\
                 "0.2804, 0.2957, 0.3499, 0.4503, 0.6013, 0.8095, 1.081, 1.423, 1.839, 2.334",\
                 "0.2771, 0.2934, 0.3467, 0.4474, 0.5998, 0.8094, 1.082, 1.422, 1.84, 2.335",\
                 "0.3276, 0.3418, 0.3894, 0.4769, 0.6139, 0.8128, 1.081, 1.423, 1.839, 2.334",\
                 "0.4264, 0.44, 0.4882, 0.5738, 0.707, 0.8902, 1.13, 1.445, 1.845, 2.335",\
                 "0.5672, 0.5824, 0.6308, 0.7198, 0.8502, 1.032, 1.269, 1.567, 1.931, 2.383",\
                 "0.7434, 0.7592, 0.8144, 0.909, 1.046, 1.226, 1.46, 1.757, 2.116, 2.547",\
                 "0.9524, 0.9706, 1.03, 1.137, 1.285, 1.473, 1.709, 2, 2.357, 2.785",\
                 "1.198, 1.217, 1.283, 1.4, 1.561, 1.766, 2.014, 2.307, 2.66, 3.081",\
                 "1.479, 1.502, 1.576, 1.699, 1.878, 2.101, 2.363, 2.669, 3.028, 3.446");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.001699, 0.004151, 0.008834, 0.01613, 0.02637, 0.03984, 0.05681, 0.07753, 0.1022");
          values("1.242, 1.298, 1.492, 1.855, 2.411, 3.178, 4.179, 5.435, 6.963, 8.784",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.178, 4.179, 5.433, 6.962, 8.783",\
                 "1.242, 1.298, 1.492, 1.855, 2.411, 3.178, 4.179, 5.434, 6.964, 8.784",\
                 "1.244, 1.299, 1.492, 1.855, 2.411, 3.178, 4.179, 5.434, 6.964, 8.783",\
                 "1.288, 1.339, 1.522, 1.87, 2.413, 3.179, 4.179, 5.435, 6.964, 8.785",\
                 "1.375, 1.426, 1.603, 1.937, 2.459, 3.196, 4.182, 5.434, 6.963, 8.785",\
                 "1.498, 1.545, 1.714, 2.042, 2.552, 3.268, 4.223, 5.445, 6.965, 8.787",\
                 "1.678, 1.72, 1.875, 2.183, 2.678, 3.386, 4.32, 5.512, 6.993, 8.791",\
                 "1.917, 1.958, 2.102, 2.385, 2.85, 3.536, 4.462, 5.634, 7.082, 8.84",\
                 "2.198, 2.239, 2.38, 2.651, 3.091, 3.738, 4.638, 5.8, 7.232, 8.955");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai33_2) {
    area : 59.270400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&!B2&!B3" ;
      value : "8.77635e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&!B2&B3" ;
      value : "8.82453e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&B2&!B3" ;
      value : "8.82453e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&B2&B3" ;
      value : "8.82453e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&!B2&!B3" ;
      value : "8.82453e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&!B2&B3" ;
      value : "8.82453e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&B2&!B3" ;
      value : "8.82453e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&B2&B3" ;
      value : "8.82453e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&!B2&!B3" ;
      value : "0.0001847604" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&!B2&B3" ;
      value : "0.0001821732" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&B2&!B3" ;
      value : "0.0001537503" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&B2&B3" ;
      value : "0.0001537503" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&!B2&!B3" ;
      value : "0.0001249776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&!B2&B3" ;
      value : "0.0001249809" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&B2&!B3" ;
      value : "0.0001249776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&B2&B3" ;
      value : "0.0001249776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&!B2&!B3" ;
      value : "0.0001847604" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&!B2&B3" ;
      value : "0.0001537503" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&B2&!B3" ;
      value : "0.0001253274" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&B2&B3" ;
      value : "0.0001253274" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&!B2&!B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&!B2&B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&B2&!B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&B2&B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&!B2&!B3" ;
      value : "0.000185526" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&!B2&B3" ;
      value : "0.0001537503" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&B2&!B3" ;
      value : "0.0001253274" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&B2&B3" ;
      value : "0.0001253274" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&!B2&!B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&!B2&B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&B2&!B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&B2&B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&!B2&!B3" ;
      value : "0.0001847604" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&!B2&B3" ;
      value : "0.0001249776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&B2&!B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&B2&B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&!B2&!B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&!B2&B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&B2&!B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&B2&B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&!B2&!B3" ;
      value : "0.000185526" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&!B2&B3" ;
      value : "0.0001249809" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&B2&!B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&B2&B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&!B2&!B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&!B2&B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&B2&!B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&B2&B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&!B2&!B3" ;
      value : "0.000185526" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&!B2&B3" ;
      value : "0.0001249776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&B2&!B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&B2&B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&!B2&!B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&!B2&B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&B2&!B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&B2&B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&!B2&!B3" ;
      value : "0.0001859715" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&!B2&B3" ;
      value : "0.0001249776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&B2&!B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&B2&B3" ;
      value : "9.65547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&!B2&!B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&!B2&B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&B2&!B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&B2&B3" ;
      value : "6.77853e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001859715" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009683 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03348, 0.03351, 0.03348, 0.03344, 0.03335, 0.03335, 0.03332, \
                 0.03329, 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05306, 0.05304, 0.05303, 0.05296, 0.05285, 0.05273, 0.05252, \
                 0.05235, 0.05212, 0.05182");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03346, 0.03345, 0.03351, 0.03349, 0.03343, 0.0334, 0.03336, \
                 0.03331, 0.03327, 0.03324");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02932, -0.02983, -0.03058, -0.03111, -0.03147, -0.03179, -0.03205, \
                 -0.03222, -0.03237, -0.03244");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04545, 0.04545, 0.04533, 0.04528, 0.04526, 0.04523, 0.0452, \
                 0.04512, 0.04503, 0.04491");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009518, -0.009491, -0.009522, -0.009515, -0.00952, -0.00953, \
                 -0.009541, -0.009544, -0.009544, -0.009539");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04546, 0.04545, 0.04533, 0.04528, 0.04526, 0.04523, 0.0452, \
                 0.04512, 0.04503, 0.04491");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009517, -0.009495, -0.009522, -0.009521, -0.009528, -0.00953, \
                 -0.00954, -0.009537, -0.009544, -0.009541");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04545, 0.04543, 0.04536, 0.04529, 0.04525, 0.04523, 0.04519, \
                 0.04512, 0.04502, 0.04492");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009509, -0.009484, -0.009506, -0.009513, -0.009532, -0.009537, \
                 -0.009536, -0.009544, -0.009549, -0.009541");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04546, 0.04542, 0.04533, 0.04528, 0.04524, 0.04523, 0.04519, \
                 0.04511, 0.04504, 0.0449");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009502, -0.009494, -0.009522, -0.009511, -0.009512, -0.009531, \
                 -0.009541, -0.009536, -0.009544, -0.009541");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04545, 0.04541, 0.04534, 0.04528, 0.04524, 0.04522, 0.04518, \
                 0.0451, 0.04502, 0.0449");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00952, -0.009476, -0.009508, -0.009517, -0.009523, -0.009541, \
                 -0.009541, -0.009543, -0.009538, -0.009538");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04545, 0.04542, 0.04535, 0.04529, 0.04524, 0.04523, 0.04517, \
                 0.04511, 0.04502, 0.0449");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009514, -0.009479, -0.009515, -0.00951, -0.009524, -0.009539, \
                 -0.009537, -0.009542, -0.009544, -0.009536");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04547, 0.04545, 0.04533, 0.0453, 0.04524, 0.04524, 0.04518, \
                 0.04511, 0.04504, 0.04492");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009518, -0.009489, -0.009529, -0.00951, -0.009525, -0.009552, \
                 -0.00954, -0.009544, -0.009545, -0.009541");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03347, 0.03347, 0.03354, 0.03348, 0.03339, 0.03341, 0.03331, \
                 0.03329, 0.03328, 0.03322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03212, -0.03225, -0.03238, -0.03263, -0.03272, -0.03282, -0.03284, \
                 -0.03286, -0.03286, -0.03288");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02249, 0.02245, 0.02245, 0.02242, 0.02245, 0.02243, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00953, -0.009529, -0.009544, -0.009546, -0.009549, -0.009556, \
                 -0.009566, -0.009567, -0.009571, -0.009567");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02248, 0.02245, 0.02245, 0.02242, 0.02245, 0.02242, \
                 0.02241, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009527, -0.009528, -0.009544, -0.009547, -0.009545, -0.009562, \
                 -0.009566, -0.009563, -0.009567, -0.009567");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02248, 0.02247, 0.02244, 0.02242, 0.02245, 0.02243, \
                 0.0224, 0.02237, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009525, -0.009524, -0.009529, -0.009549, -0.009551, -0.009566, \
                 -0.009563, -0.009569, -0.009563, -0.009569");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02248, 0.02244, 0.02244, 0.02244, 0.02245, 0.02243, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009534, -0.009527, -0.009544, -0.009542, -0.009544, -0.009562, \
                 -0.009568, -0.009563, -0.009573, -0.009565");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02248, 0.02247, 0.02245, 0.02244, 0.02244, 0.02243, \
                 0.02241, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009525, -0.009523, -0.009529, -0.009553, -0.009541, -0.009575, \
                 -0.009565, -0.009567, -0.009574, -0.009571");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02249, 0.02247, 0.02244, 0.02243, 0.02245, 0.02242, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009525, -0.009523, -0.009528, -0.009548, -0.009547, -0.009571, \
                 -0.009562, -0.009563, -0.009567, -0.009565");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02249, 0.02245, 0.02242, 0.02243, 0.02245, 0.02243, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009528, -0.009517, -0.009556, -0.009531, -0.009546, -0.009567, \
                 -0.009562, -0.009573, -0.00957, -0.009568");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03347, 0.03348, 0.03353, 0.03347, 0.03339, 0.03336, 0.03334, \
                 0.03327, 0.03325, 0.03322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03154, -0.032, -0.03237, -0.03265, -0.03273, -0.0328, -0.03284, \
                 -0.03288, -0.03287, -0.0329");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02248, 0.02245, 0.02244, 0.02242, 0.02244, 0.02243, \
                 0.02239, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009545, -0.009523, -0.009535, -0.00955, -0.009546, -0.009566, \
                 -0.009567, -0.009563, -0.009566, -0.009569");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02248, 0.02245, 0.02244, 0.02243, 0.02244, 0.02242, \
                 0.02241, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009523, -0.00952, -0.009535, -0.009545, -0.009542, -0.009569, \
                 -0.009575, -0.00957, -0.009567, -0.009569");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02249, 0.02245, 0.02245, 0.02243, 0.02245, 0.02243, \
                 0.02239, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00953, -0.009516, -0.009542, -0.009538, -0.009543, -0.009566, \
                 -0.00956, -0.009571, -0.009571, -0.009566");
        }
      }

      internal_power() {
        when : "A2&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02248, 0.02245, 0.02244, 0.02243, 0.02245, 0.02242, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009532, -0.009522, -0.009541, -0.009552, -0.009542, -0.009576, \
                 -0.009565, -0.009568, -0.009564, -0.009567");
        }
      }

      internal_power() {
        when : "A2&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02248, 0.02245, 0.02244, 0.02241, 0.02246, 0.02243, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009528, -0.009516, -0.009542, -0.009546, -0.009552, -0.009569, \
                 -0.009568, -0.00957, -0.009574, -0.009562");
        }
      }

      internal_power() {
        when : "A2&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02249, 0.02245, 0.02244, 0.02242, 0.02245, 0.02243, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009526, -0.009518, -0.009542, -0.009534, -0.009552, -0.009574, \
                 -0.009566, -0.00957, -0.009572, -0.009566");
        }
      }

      internal_power() {
        when : "A2&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02248, 0.02245, 0.02245, 0.02245, 0.02245, 0.02243, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009538, -0.009513, -0.009535, -0.00955, -0.009544, -0.009573, \
                 -0.009565, -0.009567, -0.009576, -0.00957");
        }
      }
    }

    pin(A2) {
      capacitance : 0.00913 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03342, 0.03341, 0.03344, 0.03343, 0.03331, 0.03332, 0.03332, \
                 0.03327, 0.03327, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05322, 0.05318, 0.05312, 0.053, 0.0529, 0.05275, 0.05256, 0.05236, \
                 0.05212, 0.05182");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03336, 0.03338, 0.03346, 0.03346, 0.03342, 0.03341, 0.03333, \
                 0.03328, 0.03326, 0.03323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03184, -0.03201, -0.03218, -0.03256, -0.03266, -0.03279, -0.03284, \
                 -0.03287, -0.03288, -0.03291");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02352, 0.02349, 0.02353, 0.02351, 0.02349, 0.0235, 0.02346, \
                 0.0234, 0.02334, 0.02322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01082, -0.01079, -0.01081, -0.01082, -0.01084, -0.0109, -0.01091, \
                 -0.01094, -0.01096, -0.011");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02352, 0.02349, 0.02353, 0.02351, 0.0235, 0.0235, 0.02345, 0.0234, \
                 0.02333, 0.02322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01082, -0.01079, -0.01081, -0.01084, -0.01086, -0.01091, -0.01091, \
                 -0.01094, -0.01096, -0.011");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02353, 0.0235, 0.02351, 0.0235, 0.0235, 0.0235, 0.02346, 0.02341, \
                 0.02333, 0.02323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01081, -0.01079, -0.01084, -0.01086, -0.01087, -0.01089, -0.01092, \
                 -0.01093, -0.01096, -0.011");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02352, 0.02349, 0.02353, 0.02351, 0.0235, 0.0235, 0.02346, 0.0234, \
                 0.02333, 0.02322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01083, -0.01079, -0.01081, -0.01085, -0.01086, -0.0109, -0.01091, \
                 -0.01094, -0.01096, -0.01099");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02353, 0.0235, 0.02351, 0.0235, 0.0235, 0.0235, 0.02346, 0.0234, \
                 0.02333, 0.02322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01081, -0.01079, -0.01084, -0.01086, -0.01085, -0.0109, -0.01091, \
                 -0.01093, -0.01096, -0.011");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02353, 0.0235, 0.02351, 0.0235, 0.02351, 0.0235, 0.02346, 0.0234, \
                 0.02333, 0.02323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01081, -0.01079, -0.01085, -0.01085, -0.01086, -0.0109, -0.01091, \
                 -0.01093, -0.01096, -0.011");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02353, 0.0235, 0.02353, 0.0235, 0.0235, 0.02351, 0.02347, 0.02339, \
                 0.02334, 0.02323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01081, -0.01079, -0.01083, -0.01084, -0.01085, -0.0109, -0.01091, \
                 -0.01094, -0.01096, -0.011");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03342, 0.03337, 0.03334, 0.03332, 0.03325, 0.03326, 0.03326, \
                 0.03323, 0.03323, 0.03322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03194, -0.03185, -0.03203, -0.0324, -0.03254, -0.03271, -0.03276, \
                 -0.0328, -0.03281, -0.03284");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02923, 0.02921, 0.02919, 0.02917, 0.02918, 0.02924, 0.02921, \
                 0.02921, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02383, -0.02537, -0.02776, -0.02827, -0.02843, -0.02864, -0.02868, \
                 -0.02873, -0.02877, -0.0288");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02923, 0.02921, 0.02919, 0.02916, 0.0292, 0.02923, 0.0292, 0.02922, \
                 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02383, -0.02537, -0.02777, -0.02827, -0.02843, -0.02864, -0.0287, \
                 -0.02872, -0.02877, -0.02879");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02923, 0.02921, 0.02916, 0.02916, 0.02919, 0.02923, 0.02923, \
                 0.02922, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02383, -0.02537, -0.02776, -0.02827, -0.02845, -0.02863, -0.02867, \
                 -0.02872, -0.02877, -0.02879");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02923, 0.02921, 0.02917, 0.02917, 0.02919, 0.02923, 0.02921, \
                 0.02921, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02383, -0.02537, -0.02777, -0.02829, -0.02844, -0.02863, -0.02868, \
                 -0.02873, -0.02876, -0.0288");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02923, 0.0292, 0.02916, 0.02915, 0.02919, 0.02924, 0.02923, \
                 0.02922, 0.02921, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02383, -0.02536, -0.02776, -0.02827, -0.02845, -0.02862, -0.02868, \
                 -0.02872, -0.02878, -0.02879");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02923, 0.02919, 0.02916, 0.02918, 0.0292, 0.02924, 0.02922, \
                 0.02922, 0.02921, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02383, -0.02536, -0.02776, -0.02826, -0.02845, -0.02863, -0.02867, \
                 -0.02871, -0.02876, -0.0288");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02923, 0.02922, 0.02919, 0.02916, 0.02915, 0.0292, 0.02923, \
                 0.02921, 0.02921, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02383, -0.02536, -0.02774, -0.02826, -0.02844, -0.02862, -0.02867, \
                 -0.02871, -0.02877, -0.0288");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02314, 0.02314, 0.02315, 0.02312, 0.02311, 0.0231, 0.02308, \
                 0.02307, 0.02306, 0.02304");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03005, -0.03002, -0.03009, -0.03003, -0.03002, -0.03007, -0.03006, \
                 -0.03001, -0.02998, -0.02989");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01895, 0.01892, 0.01893, 0.01898, 0.01899, 0.01903, 0.01902, \
                 0.01901, 0.01901, 0.01901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01924, -0.01928, -0.01932, -0.0192, -0.01915, -0.01913, -0.01901, \
                 -0.01895, -0.01891, -0.01888");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01893, 0.01892, 0.01893, 0.01898, 0.01897, 0.01903, 0.01901, \
                 0.01901, 0.01901, 0.019");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01924, -0.01928, -0.01932, -0.01924, -0.01915, -0.01913, -0.01904, \
                 -0.01896, -0.0189, -0.01888");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01893, 0.01892, 0.01898, 0.01898, 0.01899, 0.01903, 0.01902, \
                 0.01902, 0.01901, 0.01901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01923, -0.01927, -0.01931, -0.01923, -0.01914, -0.01911, -0.01904, \
                 -0.01895, -0.01892, -0.01888");
        }
      }

      internal_power() {
        when : "A1&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01893, 0.01893, 0.01893, 0.01899, 0.01898, 0.01903, 0.01901, \
                 0.01901, 0.01901, 0.01899");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01924, -0.01927, -0.01932, -0.01925, -0.01915, -0.01912, -0.01904, \
                 -0.01896, -0.01892, -0.01888");
        }
      }

      internal_power() {
        when : "A1&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01893, 0.01893, 0.01897, 0.01897, 0.01898, 0.01902, 0.01901, \
                 0.01902, 0.01901, 0.01901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01923, -0.01927, -0.01931, -0.01922, -0.01915, -0.01913, -0.01903, \
                 -0.01896, -0.01892, -0.01889");
        }
      }

      internal_power() {
        when : "A1&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01893, 0.01893, 0.01897, 0.019, 0.019, 0.01901, 0.01901, 0.01903, \
                 0.01902, 0.01902");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01923, -0.01927, -0.01931, -0.01924, -0.01913, -0.01913, -0.01903, \
                 -0.01896, -0.01892, -0.01889");
        }
      }

      internal_power() {
        when : "A1&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01893, 0.01893, 0.01895, 0.01899, 0.01897, 0.01902, 0.01902, \
                 0.01903, 0.01902, 0.01899");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01923, -0.01927, -0.0193, -0.01924, -0.01915, -0.01912, -0.01902, \
                 -0.01896, -0.01891, -0.01889");
        }
      }
    }

    pin(A3) {
      capacitance : 0.009716 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03338, 0.03331, 0.03334, 0.03333, 0.03328, 0.03325, 0.03332, \
                 0.03328, 0.03329, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05326, 0.0533, 0.05312, 0.05308, 0.05292, 0.0528, 0.05259, 0.05238, \
                 0.05218, 0.05185");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03336, 0.03331, 0.03335, 0.0334, 0.0333, 0.03338, 0.03329, 0.03326, \
                 0.03323, 0.03321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03176, -0.03183, -0.03227, -0.03258, -0.03268, -0.03278, -0.03284, \
                 -0.03286, -0.03286, -0.03287");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.0292, 0.02913, 0.02916, 0.02916, 0.02921, 0.02921, \
                 0.02921, 0.02921, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02609, -0.02738, -0.02807, -0.02838, -0.02852, -0.02866, -0.02872, \
                 -0.02877, -0.02879, -0.02883");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.02917, 0.02913, 0.02922, 0.02915, 0.02923, 0.02923, \
                 0.02921, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0261, -0.02737, -0.02812, -0.02839, -0.02852, -0.02864, -0.02872, \
                 -0.02877, -0.0288, -0.02883");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.02919, 0.02917, 0.02914, 0.0292, 0.02923, 0.02924, \
                 0.02921, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02608, -0.02736, -0.0281, -0.02839, -0.02852, -0.02864, -0.02872, \
                 -0.02878, -0.02879, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.02919, 0.02912, 0.02916, 0.02916, 0.02921, 0.02922, \
                 0.02922, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0261, -0.02736, -0.02813, -0.02837, -0.0285, -0.02865, -0.02871, \
                 -0.02877, -0.0288, -0.02883");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.02915, 0.02916, 0.02914, 0.0292, 0.02922, 0.02923, \
                 0.02922, 0.02921, 0.02918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0261, -0.02736, -0.02807, -0.0284, -0.02853, -0.02864, -0.02872, \
                 -0.02878, -0.02879, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0292, 0.02916, 0.02916, 0.02916, 0.02919, 0.02923, 0.02923, \
                 0.02922, 0.02921, 0.02918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02608, -0.02735, -0.02809, -0.02838, -0.02854, -0.02865, -0.02873, \
                 -0.02878, -0.02879, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02916, 0.02914, 0.02922, 0.02918, 0.02925, 0.02922, \
                 0.02921, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02608, -0.02736, -0.02812, -0.02842, -0.02848, -0.02864, -0.02873, \
                 -0.02877, -0.0288, -0.02882");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03336, 0.03331, 0.03332, 0.03325, 0.03328, 0.03328, 0.03332, \
                 0.0333, 0.03326, 0.03322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02904, -0.02965, -0.03087, -0.03155, -0.03193, -0.03219, -0.03232, \
                 -0.0324, -0.03248, -0.03251");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.02915, 0.02913, 0.02916, 0.02918, 0.02924, 0.02924, \
                 0.02925, 0.02923, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02481, -0.02543, -0.02661, -0.02742, -0.02779, -0.02811, -0.02823, \
                 -0.02833, -0.02841, -0.02846");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02922, 0.02912, 0.02913, 0.02918, 0.02921, 0.02926, 0.02923, \
                 0.02924, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02481, -0.02545, -0.02662, -0.02741, -0.02779, -0.0281, -0.02823, \
                 -0.02834, -0.02841, -0.02846");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02923, 0.02915, 0.02921, 0.02919, 0.02923, 0.02924, 0.02925, \
                 0.02923, 0.0292, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02481, -0.02549, -0.02661, -0.02742, -0.02778, -0.02809, -0.02823, \
                 -0.02833, -0.02841, -0.02845");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02922, 0.02913, 0.02913, 0.02916, 0.0292, 0.02926, 0.02924, \
                 0.02924, 0.02923, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02481, -0.02542, -0.02663, -0.02741, -0.0278, -0.02809, -0.02824, \
                 -0.02833, -0.02841, -0.02845");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02922, 0.02913, 0.02918, 0.02919, 0.0292, 0.02924, 0.02925, \
                 0.02924, 0.02922, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02481, -0.02548, -0.0266, -0.02742, -0.02779, -0.02809, -0.02823, \
                 -0.02833, -0.02839, -0.02845");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02922, 0.02913, 0.0292, 0.0292, 0.02921, 0.02923, 0.02924, 0.02924, \
                 0.02922, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02481, -0.02548, -0.02661, -0.02742, -0.02779, -0.02808, -0.02822, \
                 -0.02832, -0.02841, -0.02845");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0292, 0.02915, 0.02915, 0.02916, 0.02924, 0.02925, 0.02924, \
                 0.02923, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02481, -0.02548, -0.02661, -0.02741, -0.02778, -0.02808, -0.02823, \
                 -0.02832, -0.0284, -0.02845");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03336, 0.03332, 0.03331, 0.03332, 0.0333, 0.03331, 0.03328, \
                 0.03325, 0.03322, 0.0332");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03124, -0.03168, -0.03228, -0.03258, -0.03268, -0.03279, -0.03284, \
                 -0.03285, -0.03286, -0.03288");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0292, 0.02919, 0.02916, 0.02922, 0.02922, 0.02925, 0.0292, 0.02923, \
                 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02712, -0.02748, -0.02809, -0.02837, -0.02852, -0.02864, -0.02874, \
                 -0.02878, -0.02879, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02914, 0.02917, 0.0292, 0.02923, 0.02925, 0.02919, \
                 0.02922, 0.02921, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02713, -0.02748, -0.02811, -0.02838, -0.02854, -0.02867, -0.02874, \
                 -0.02876, -0.02881, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02921, 0.02919, 0.02917, 0.02923, 0.02913, 0.02923, 0.02919, \
                 0.0292, 0.0292, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02711, -0.02745, -0.02808, -0.02838, -0.02854, -0.02866, -0.02872, \
                 -0.02878, -0.0288, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02918, 0.02917, 0.02919, 0.02924, 0.02927, 0.0292, \
                 0.02922, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02715, -0.02746, -0.02814, -0.02837, -0.02855, -0.02865, -0.02873, \
                 -0.02877, -0.0288, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.0292, 0.02919, 0.02923, 0.02915, 0.02925, 0.02919, \
                 0.02921, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02711, -0.02748, -0.02809, -0.02838, -0.02854, -0.02865, -0.02874, \
                 -0.02878, -0.0288, -0.02882");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02919, 0.02916, 0.02922, 0.0292, 0.02925, 0.02919, \
                 0.0292, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02712, -0.02746, -0.02813, -0.0284, -0.02853, -0.02865, -0.02873, \
                 -0.02878, -0.0288, -0.02882");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0292, 0.0292, 0.02912, 0.02925, 0.02916, 0.02923, 0.02918, 0.02922, \
                 0.02921, 0.02918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0271, -0.0275, -0.02808, -0.02836, -0.02849, -0.02864, -0.02874, \
                 -0.02878, -0.0288, -0.02882");
        }
      }
    }

    pin(B1) {
      capacitance : 0.008714 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02955, 0.02946, 0.02944, 0.02938, 0.02929, 0.02929, 0.02927, \
                 0.02924, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02943, -0.02943, -0.02941, -0.02936, -0.0293, -0.02928, -0.02926, \
                 -0.02923, -0.02923, -0.02918");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0294, 0.02942, 0.02947, 0.02942, 0.02938, 0.02937, 0.02934, \
                 0.02929, 0.02926, 0.02925");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02505, -0.02565, -0.02648, -0.02707, -0.02745, -0.02777, -0.02801, \
                 -0.02819, -0.02831, -0.0284");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0294, 0.02946, 0.02948, 0.02943, 0.02938, 0.02934, 0.0293, 0.02927, \
                 0.02924, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02803, -0.02818, -0.02833, -0.02857, -0.02866, -0.02876, -0.02879, \
                 -0.0288, -0.02882, -0.02885");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02942, 0.02947, 0.02948, 0.02943, 0.02935, 0.02933, 0.0293, \
                 0.02928, 0.02925, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0274, -0.02791, -0.02833, -0.02857, -0.02867, -0.02879, -0.02879, \
                 -0.02881, -0.02881, -0.02884");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04247, 0.04246, 0.04239, 0.04232, 0.04228, 0.04227, 0.04222, \
                 0.04217, 0.04209, 0.04199");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009442, -0.00945, -0.009448, -0.009466, -0.009468, -0.009485, \
                 -0.009485, -0.009477, -0.009486, -0.009482");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02249, 0.02245, 0.02244, 0.02241, 0.02245, 0.02243, \
                 0.02239, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009532, -0.009532, -0.009517, -0.009547, -0.009554, -0.009572, \
                 -0.00957, -0.009564, -0.009568, -0.009568");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.0225, 0.02244, 0.02243, 0.02242, 0.02244, 0.02242, \
                 0.0224, 0.02236, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009533, -0.009532, -0.009519, -0.009544, -0.009549, -0.009564, \
                 -0.009564, -0.009568, -0.009567, -0.009565");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04247, 0.04246, 0.04238, 0.04232, 0.04226, 0.04227, 0.04222, \
                 0.04216, 0.04209, 0.04199");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009441, -0.00945, -0.009448, -0.009465, -0.009458, -0.009487, \
                 -0.009484, -0.009485, -0.009482, -0.009484");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02249, 0.02244, 0.02244, 0.02243, 0.02245, 0.02243, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009532, -0.009532, -0.00953, -0.009547, -0.009555, -0.009568, \
                 -0.009569, -0.009565, -0.009571, -0.009564");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02249, 0.02244, 0.02243, 0.02242, 0.02245, 0.02242, \
                 0.02241, 0.02237, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009533, -0.009532, -0.009513, -0.009544, -0.009548, -0.00956, \
                 -0.009567, -0.009571, -0.009565, -0.009568");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04248, 0.04247, 0.04238, 0.04232, 0.04229, 0.04228, 0.04223, \
                 0.04218, 0.0421, 0.042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009434, -0.009448, -0.009454, -0.009456, -0.009466, -0.009484, \
                 -0.009478, -0.009485, -0.00948, -0.009483");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02249, 0.02244, 0.02244, 0.02241, 0.02244, 0.02242, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009532, -0.00953, -0.009535, -0.009537, -0.009548, -0.009576, \
                 -0.009563, -0.009568, -0.009565, -0.009568");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02248, 0.02246, 0.02246, 0.02244, 0.02245, 0.02242, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009518, -0.009531, -0.009515, -0.009544, -0.009541, -0.009568, \
                 -0.009564, -0.009566, -0.009566, -0.009565");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04247, 0.04247, 0.04237, 0.04231, 0.04229, 0.04226, 0.04223, \
                 0.04216, 0.04208, 0.042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009441, -0.00945, -0.009448, -0.009465, -0.009466, -0.009485, \
                 -0.009483, -0.009481, -0.009482, -0.009483");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02249, 0.02244, 0.02244, 0.02242, 0.02244, 0.02243, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009533, -0.009532, -0.00953, -0.009544, -0.009544, -0.009567, \
                 -0.009569, -0.009573, -0.009571, -0.009566");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02249, 0.02244, 0.02244, 0.02241, 0.02245, 0.02243, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009533, -0.009532, -0.009528, -0.009543, -0.009555, -0.009565, \
                 -0.009565, -0.009569, -0.009565, -0.009569");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04248, 0.04247, 0.04238, 0.04231, 0.04229, 0.04226, 0.04223, \
                 0.04218, 0.04209, 0.042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009433, -0.009448, -0.009454, -0.009468, -0.009467, -0.00949, \
                 -0.009473, -0.009484, -0.009479, -0.009482");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02249, 0.02244, 0.02244, 0.0224, 0.02244, 0.02242, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009532, -0.00953, -0.009535, -0.009534, -0.009547, -0.009573, \
                 -0.009563, -0.009572, -0.009565, -0.009568");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.0225, 0.02246, 0.02246, 0.02242, 0.02245, 0.02243, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009518, -0.009531, -0.009528, -0.009543, -0.009553, -0.009575, \
                 -0.009567, -0.00957, -0.009568, -0.009568");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04248, 0.04247, 0.04239, 0.04232, 0.04228, 0.04228, 0.04223, \
                 0.04217, 0.04209, 0.04199");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009433, -0.009448, -0.009455, -0.009449, -0.009459, -0.009487, \
                 -0.009484, -0.009484, -0.009478, -0.00948");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02249, 0.02244, 0.02244, 0.02243, 0.02244, 0.02243, \
                 0.02239, 0.02237, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009532, -0.00953, -0.009536, -0.009545, -0.009543, -0.009571, \
                 -0.009564, -0.009569, -0.009563, -0.009568");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02248, 0.02246, 0.02244, 0.02241, 0.02244, 0.02243, \
                 0.02241, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009517, -0.009531, -0.009512, -0.009543, -0.00955, -0.009573, \
                 -0.009564, -0.009566, -0.009568, -0.009561");
        }
      }

      internal_power() {
        when : "A1&A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04248, 0.04248, 0.04236, 0.04232, 0.04227, 0.04226, 0.04224, \
                 0.04218, 0.0421, 0.04199");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009441, -0.009448, -0.009455, -0.009455, -0.009463, -0.009482, \
                 -0.009485, -0.009484, -0.009478, -0.009482");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02249, 0.02244, 0.02242, 0.02242, 0.02243, 0.02242, \
                 0.0224, 0.02237, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009521, -0.00953, -0.009537, -0.009537, -0.009546, -0.009565, \
                 -0.009572, -0.009571, -0.009564, -0.009568");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02252, 0.02248, 0.02244, 0.02243, 0.02242, 0.02244, 0.02243, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009527, -0.009531, -0.009532, -0.009539, -0.009546, -0.00957, \
                 -0.009568, -0.009568, -0.009567, -0.009564");
        }
      }
    }

    pin(B2) {
      capacitance : 0.009151 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02948, 0.0294, 0.02935, 0.0293, 0.02929, 0.02926, 0.02927, 0.02922, \
                 0.02923, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02931, -0.02935, -0.02934, -0.02929, -0.02926, -0.02925, -0.02921, \
                 -0.02921, -0.0292, -0.02918");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02932, 0.02934, 0.02944, 0.02941, 0.02935, 0.02936, 0.02931, \
                 0.02924, 0.02924, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02788, -0.02796, -0.02817, -0.0285, -0.02857, -0.02874, -0.02878, \
                 -0.0288, -0.02881, -0.02885");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02925, 0.02915, 0.02919, 0.02916, 0.02924, 0.02925, \
                 0.02922, 0.02922, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02784, -0.02776, -0.02789, -0.0283, -0.02843, -0.02861, -0.02867, \
                 -0.02871, -0.02876, -0.02878");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01849, 0.01847, 0.01846, 0.01851, 0.01848, 0.01854, 0.01854, \
                 0.01853, 0.01854, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02607, -0.02604, -0.02609, -0.02608, -0.02605, -0.02613, -0.0261, \
                 -0.02605, -0.02601, -0.02596");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02055, 0.02053, 0.02054, 0.02056, 0.02054, 0.02055, 0.02051, \
                 0.02046, 0.02039, 0.02029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01069, -0.01071, -0.01075, -0.01075, -0.01079, -0.01081, \
                 -0.01083, -0.01086, -0.0109");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02924, 0.02917, 0.02916, 0.02918, 0.02921, 0.02922, \
                 0.02922, 0.0292, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02533, -0.02775, -0.02829, -0.02843, -0.02862, -0.02867, \
                 -0.02872, -0.02877, -0.02878");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.01849, 0.01847, 0.01847, 0.01848, 0.01855, 0.01854, \
                 0.01854, 0.01854, 0.01854");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01908, -0.01897, -0.01885, -0.01868, -0.01855, -0.0185, -0.0184, \
                 -0.01831, -0.01825, -0.01822");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02055, 0.02053, 0.02054, 0.02055, 0.02055, 0.02055, 0.02051, \
                 0.02046, 0.02038, 0.02029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01069, -0.01071, -0.01076, -0.01076, -0.0108, -0.01081, \
                 -0.01083, -0.01087, -0.01089");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02924, 0.02917, 0.02916, 0.02917, 0.02922, 0.02925, \
                 0.02921, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02533, -0.02776, -0.02829, -0.02844, -0.02862, -0.02867, \
                 -0.02873, -0.02877, -0.02878");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.01848, 0.01847, 0.01849, 0.01847, 0.01854, 0.01854, \
                 0.01855, 0.01853, 0.01854");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01908, -0.01897, -0.01884, -0.01868, -0.01855, -0.0185, -0.0184, \
                 -0.01831, -0.01826, -0.01821");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02056, 0.02053, 0.02055, 0.02054, 0.02053, 0.02053, 0.0205, \
                 0.02046, 0.02038, 0.02029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.0107, -0.01074, -0.01075, -0.01075, -0.0108, -0.01082, \
                 -0.01084, -0.01086, -0.01089");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02924, 0.02917, 0.02918, 0.02919, 0.02924, 0.02923, \
                 0.02921, 0.02921, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02533, -0.02774, -0.02831, -0.02842, -0.02861, -0.02868, \
                 -0.02873, -0.02877, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01847, 0.01847, 0.01848, 0.01848, 0.01849, 0.01853, 0.01853, \
                 0.01854, 0.01854, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01908, -0.01897, -0.01884, -0.0187, -0.01856, -0.01851, -0.0184, \
                 -0.01833, -0.01826, -0.01822");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02055, 0.02053, 0.02054, 0.02056, 0.02053, 0.02055, 0.02052, \
                 0.02046, 0.02038, 0.02029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01069, -0.01071, -0.01076, -0.01075, -0.0108, -0.01081, \
                 -0.01083, -0.01086, -0.01089");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02924, 0.02917, 0.02917, 0.02917, 0.02921, 0.02923, \
                 0.02921, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02533, -0.02776, -0.02829, -0.02846, -0.02862, -0.02867, \
                 -0.02874, -0.02877, -0.02878");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.01849, 0.01847, 0.01848, 0.01848, 0.01854, 0.01855, \
                 0.01854, 0.01854, 0.01855");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01908, -0.01897, -0.01889, -0.01869, -0.01854, -0.01849, -0.01839, \
                 -0.01832, -0.01825, -0.01822");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02055, 0.02053, 0.02055, 0.02054, 0.02052, 0.02053, 0.02051, \
                 0.02046, 0.02039, 0.0203");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01069, -0.01074, -0.01074, -0.01076, -0.0108, -0.01082, \
                 -0.01082, -0.01085, -0.0109");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02924, 0.02917, 0.02915, 0.02919, 0.02922, 0.02923, \
                 0.02921, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02533, -0.02776, -0.02832, -0.02843, -0.02861, -0.02868, \
                 -0.02872, -0.02877, -0.02879");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.01847, 0.01848, 0.01848, 0.01851, 0.01854, 0.01854, \
                 0.01854, 0.01853, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01897, -0.01883, -0.0187, -0.01854, -0.01851, -0.01839, \
                 -0.01832, -0.01826, -0.01822");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02055, 0.02053, 0.02055, 0.02055, 0.02053, 0.02053, 0.0205, \
                 0.02046, 0.02038, 0.02029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01069, -0.01073, -0.01073, -0.01076, -0.0108, -0.01082, \
                 -0.01082, -0.01086, -0.0109");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02926, 0.02924, 0.02917, 0.02917, 0.02918, 0.02923, 0.02922, \
                 0.02923, 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02533, -0.02774, -0.0283, -0.02842, -0.02861, -0.02867, \
                 -0.02872, -0.02876, -0.02879");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.01846, 0.01848, 0.01849, 0.0185, 0.01852, 0.01854, \
                 0.01854, 0.01853, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01897, -0.01883, -0.0187, -0.01855, -0.01849, -0.01838, \
                 -0.01832, -0.01825, -0.01822");
        }
      }

      internal_power() {
        when : "A1&A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02056, 0.02053, 0.02055, 0.02055, 0.02053, 0.02055, 0.02052, \
                 0.02045, 0.02039, 0.02028");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01071, -0.01069, -0.0107, -0.01073, -0.01076, -0.0108, -0.01082, \
                 -0.01083, -0.01085, -0.01089");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02925, 0.02925, 0.02919, 0.02915, 0.02918, 0.02923, 0.02919, \
                 0.02921, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02533, -0.02773, -0.02832, -0.02843, -0.02862, -0.02868, \
                 -0.02873, -0.02876, -0.02877");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01846, 0.01849, 0.01848, 0.01849, 0.01851, 0.01852, 0.01853, \
                 0.01853, 0.01853, 0.01854");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01897, -0.01881, -0.01869, -0.01857, -0.0185, -0.0184, \
                 -0.01832, -0.01827, -0.01822");
        }
      }
    }

    pin(B3) {
      capacitance : 0.009523 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02941, 0.02938, 0.02934, 0.02925, 0.02925, 0.02929, 0.02924, \
                 0.02923, 0.02924, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02918, -0.02919, -0.02921, -0.02925, -0.02919, -0.02918, -0.02921, \
                 -0.02919, -0.02918, -0.02917");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.02924, 0.02915, 0.02918, 0.02921, 0.02922, 0.02922, \
                 0.0292, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0277, -0.02769, -0.0281, -0.02835, -0.02849, -0.02867, -0.02866, \
                 -0.02875, -0.02878, -0.02879");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02922, 0.02923, 0.0292, 0.02917, 0.0292, 0.02923, 0.02924, 0.02922, \
                 0.02925, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02468, -0.02539, -0.02656, -0.02739, -0.02778, -0.02803, -0.0282, \
                 -0.02832, -0.02839, -0.02842");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02923, 0.02913, 0.02919, 0.02918, 0.02925, 0.02924, \
                 0.02919, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02712, -0.02748, -0.02808, -0.02837, -0.02846, -0.02865, -0.02868, \
                 -0.02876, -0.02878, -0.02882");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.0292, 0.02916, 0.02918, 0.02916, 0.02924, 0.02923, \
                 0.02919, 0.02918, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02578, -0.02729, -0.02804, -0.02837, -0.02851, -0.02865, -0.02866, \
                 -0.02876, -0.02877, -0.02879");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02922, 0.02922, 0.02917, 0.02915, 0.02923, 0.02922, 0.02919, \
                 0.02923, 0.02924, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02468, -0.02541, -0.02656, -0.02738, -0.02778, -0.02804, -0.0282, \
                 -0.02831, -0.02839, -0.02843");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02921, 0.02913, 0.02918, 0.02913, 0.02925, 0.02922, \
                 0.02921, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02713, -0.02745, -0.02808, -0.02835, -0.0285, -0.02865, -0.02865, \
                 -0.02873, -0.02878, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02922, 0.02916, 0.0292, 0.02916, 0.02925, 0.02921, \
                 0.0292, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02579, -0.02731, -0.02803, -0.02836, -0.02849, -0.02866, -0.02868, \
                 -0.02875, -0.02878, -0.02878");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02921, 0.02922, 0.02919, 0.02916, 0.02924, 0.02922, 0.02922, \
                 0.02923, 0.02923, 0.02925");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02466, -0.02537, -0.02656, -0.02738, -0.02778, -0.02804, -0.0282, \
                 -0.02831, -0.02839, -0.02843");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02922, 0.02913, 0.02918, 0.02914, 0.02925, 0.02921, \
                 0.0292, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0271, -0.02747, -0.02805, -0.02834, -0.02849, -0.02865, -0.02866, \
                 -0.02872, -0.02877, -0.02879");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02922, 0.02915, 0.02913, 0.02922, 0.02925, 0.0292, \
                 0.02919, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02577, -0.02729, -0.0281, -0.02831, -0.0285, -0.02866, -0.02866, \
                 -0.02875, -0.02877, -0.02882");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0292, 0.02923, 0.02914, 0.02913, 0.02916, 0.02925, 0.02927, \
                 0.02924, 0.02921, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02467, -0.02536, -0.0266, -0.02735, -0.02777, -0.02805, -0.02821, \
                 -0.02832, -0.02839, -0.02844");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02921, 0.0292, 0.02916, 0.02919, 0.02922, 0.02923, \
                 0.0292, 0.02919, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02712, -0.02745, -0.02802, -0.02836, -0.02852, -0.02865, -0.02867, \
                 -0.02873, -0.02877, -0.02881");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02922, 0.02916, 0.02917, 0.02919, 0.02925, 0.02921, \
                 0.02919, 0.02919, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02578, -0.02728, -0.02805, -0.02836, -0.02849, -0.02866, -0.02868, \
                 -0.02875, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0292, 0.02923, 0.02919, 0.02915, 0.02923, 0.02923, 0.02924, \
                 0.02923, 0.02925, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02466, -0.02538, -0.02656, -0.02739, -0.02778, -0.02804, -0.0282, \
                 -0.02832, -0.02839, -0.02843");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02921, 0.02913, 0.02918, 0.02914, 0.02925, 0.02921, \
                 0.02922, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02714, -0.02748, -0.02804, -0.02834, -0.02849, -0.02865, -0.02866, \
                 -0.02873, -0.02876, -0.0288");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02922, 0.02915, 0.02913, 0.0292, 0.02922, 0.02919, \
                 0.02919, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02578, -0.02729, -0.02811, -0.02831, -0.02848, -0.02865, -0.02867, \
                 -0.02876, -0.02875, -0.02881");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02919, 0.02923, 0.02914, 0.02913, 0.02918, 0.02925, 0.02926, \
                 0.02922, 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02466, -0.02537, -0.02662, -0.02735, -0.02776, -0.02805, -0.02821, \
                 -0.02831, -0.02839, -0.02843");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02921, 0.0292, 0.02917, 0.02919, 0.02922, 0.02923, \
                 0.02921, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02714, -0.02746, -0.02802, -0.02836, -0.0285, -0.02865, -0.02868, \
                 -0.02873, -0.02876, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02922, 0.02915, 0.02912, 0.02921, 0.02923, 0.02922, \
                 0.02921, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02576, -0.0273, -0.02804, -0.02832, -0.02849, -0.02865, -0.02865, \
                 -0.02874, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02921, 0.02922, 0.02914, 0.02913, 0.02919, 0.02923, 0.02923, \
                 0.02925, 0.02922, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02466, -0.02538, -0.02656, -0.02735, -0.02777, -0.02804, -0.02821, \
                 -0.02832, -0.02839, -0.02844");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02922, 0.02921, 0.02916, 0.02918, 0.02921, 0.02924, \
                 0.02921, 0.02921, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02714, -0.02746, -0.02801, -0.02834, -0.02851, -0.02865, -0.02867, \
                 -0.02872, -0.02878, -0.02882");
        }
      }

      internal_power() {
        when : "A1&A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02922, 0.02912, 0.0291, 0.02919, 0.02919, 0.02923, \
                 0.02919, 0.02921, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02578, -0.0273, -0.02809, -0.02834, -0.0285, -0.02864, -0.02868, \
                 -0.02873, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02921, 0.02922, 0.02913, 0.02915, 0.02919, 0.02926, 0.02923, \
                 0.02922, 0.02924, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02467, -0.02537, -0.02655, -0.02739, -0.02778, -0.02805, -0.02821, \
                 -0.02831, -0.02839, -0.02844");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02922, 0.02911, 0.02911, 0.02918, 0.02919, 0.02922, \
                 0.02918, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02714, -0.02746, -0.02803, -0.02834, -0.0285, -0.02866, -0.02866, \
                 -0.02874, -0.02877, -0.02881");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2)&(!A3))|((!B1)&(!B2)&(!B3)))" ;
      max_capacitance : 0.2048 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04693, 0.04697, 0.04706, 0.04717, 0.04726, 0.04732, 0.04739, 0.04744, 0.04747, 0.04748",\
                 "0.0479, 0.048, 0.04821, 0.04843, 0.04865, 0.04883, 0.04895, 0.04909, 0.04913, 0.04918",\
                 "0.05065, 0.0507, 0.0507, 0.05081, 0.05083, 0.05085, 0.05094, 0.05098, 0.05101, 0.05102",\
                 "0.0567, 0.05657, 0.05613, 0.05557, 0.05502, 0.05447, 0.05397, 0.05351, 0.05323, 0.05298",\
                 "0.06906, 0.06866, 0.0675, 0.06586, 0.06406, 0.0623, 0.0607, 0.0594, 0.05821, 0.05727",\
                 "0.09012, 0.08946, 0.08729, 0.08407, 0.0805, 0.07695, 0.07362, 0.07069, 0.06819, 0.06603",\
                 "0.1214, 0.1204, 0.1172, 0.1122, 0.1063, 0.1003, 0.09474, 0.0896, 0.08495, 0.08094",\
                 "0.1637, 0.1624, 0.1582, 0.1514, 0.143, 0.1341, 0.1255, 0.1175, 0.1104, 0.1039",\
                 "0.218, 0.2165, 0.2112, 0.2025, 0.1915, 0.1796, 0.1676, 0.1562, 0.1459, 0.1365",\
                 "0.2849, 0.283, 0.2767, 0.2662, 0.2527, 0.2375, 0.2219, 0.2068, 0.1926, 0.1796");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1841, 0.1844, 0.185, 0.1857, 0.1864, 0.187, 0.1876, 0.1885, 0.1891, 0.1916",\
                 "0.1821, 0.1824, 0.1835, 0.1849, 0.1861, 0.1873, 0.1882, 0.1891, 0.19, 0.1927",\
                 "0.1822, 0.1823, 0.1827, 0.1835, 0.1848, 0.1861, 0.1873, 0.1885, 0.1897, 0.1927",\
                 "0.1916, 0.1913, 0.1902, 0.1891, 0.1885, 0.1885, 0.1887, 0.1895, 0.1903, 0.1932",\
                 "0.2108, 0.2101, 0.2078, 0.2049, 0.2015, 0.1989, 0.1969, 0.1959, 0.1952, 0.1976",\
                 "0.2403, 0.2393, 0.236, 0.231, 0.2254, 0.2198, 0.2146, 0.2109, 0.208, 0.2089",\
                 "0.2808, 0.2795, 0.2751, 0.2685, 0.2607, 0.2524, 0.2439, 0.2367, 0.2307, 0.23",\
                 "0.3335, 0.3318, 0.3263, 0.3178, 0.3075, 0.2969, 0.2854, 0.2747, 0.2657, 0.2635",\
                 "0.3992, 0.3972, 0.3905, 0.3799, 0.3675, 0.3539, 0.34, 0.326, 0.3139, 0.3125",\
                 "0.4789, 0.4765, 0.4685, 0.4561, 0.4409, 0.4246, 0.4077, 0.3909, 0.3776, 0.3814");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02705, 0.02708, 0.02723, 0.02736, 0.02748, 0.02753, 0.02761, 0.02764, 0.02766, 0.02767",\
                 "0.02794, 0.02804, 0.0283, 0.02858, 0.02885, 0.02903, 0.02917, 0.02925, 0.02931, 0.02937",\
                 "0.03051, 0.03057, 0.03066, 0.03083, 0.03091, 0.03101, 0.03111, 0.03116, 0.03117, 0.03119",\
                 "0.03682, 0.03669, 0.0362, 0.03567, 0.03513, 0.03462, 0.03411, 0.03372, 0.03341, 0.03317",\
                 "0.0499, 0.04948, 0.04822, 0.04643, 0.04451, 0.04267, 0.04106, 0.03967, 0.03851, 0.03752",\
                 "0.07215, 0.07142, 0.069, 0.0655, 0.06151, 0.05774, 0.05431, 0.0512, 0.04863, 0.0464",\
                 "0.1049, 0.1038, 0.1002, 0.09472, 0.08825, 0.08176, 0.07577, 0.07047, 0.06573, 0.06154",\
                 "0.1489, 0.1474, 0.1426, 0.1351, 0.1259, 0.1164, 0.1072, 0.09897, 0.0915, 0.08483",\
                 "0.2047, 0.2029, 0.197, 0.1875, 0.1756, 0.1627, 0.15, 0.1381, 0.1273, 0.1177",\
                 "0.273, 0.2709, 0.2639, 0.2524, 0.2378, 0.2216, 0.2052, 0.1894, 0.1747, 0.1615");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.164, 0.1642, 0.1648, 0.1656, 0.1662, 0.1668, 0.1674, 0.168, 0.1688, 0.1709",\
                 "0.1619, 0.1623, 0.1634, 0.1647, 0.166, 0.167, 0.168, 0.1688, 0.1697, 0.1719",\
                 "0.1621, 0.1622, 0.1626, 0.1634, 0.1646, 0.1659, 0.1671, 0.1682, 0.1694, 0.172",\
                 "0.1714, 0.1711, 0.1701, 0.169, 0.1683, 0.1682, 0.1685, 0.1692, 0.1701, 0.1724",\
                 "0.1907, 0.19, 0.1878, 0.1846, 0.1813, 0.1787, 0.1767, 0.1755, 0.175, 0.1768",\
                 "0.2201, 0.219, 0.2158, 0.2109, 0.2053, 0.1995, 0.1946, 0.1905, 0.1876, 0.188",\
                 "0.2607, 0.2592, 0.2548, 0.2483, 0.2404, 0.2321, 0.2237, 0.2164, 0.2105, 0.209",\
                 "0.3134, 0.3118, 0.3061, 0.2975, 0.2873, 0.2766, 0.2652, 0.2544, 0.245, 0.2418",\
                 "0.3795, 0.3772, 0.3705, 0.36, 0.3472, 0.3335, 0.3197, 0.3058, 0.2931, 0.2903",\
                 "0.4595, 0.4569, 0.4488, 0.436, 0.4209, 0.4043, 0.3871, 0.3705, 0.3563, 0.3583");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02705, 0.02711, 0.02714, 0.0273, 0.02747, 0.02751, 0.02755, 0.0276, 0.02764, 0.02765",\
                 "0.02799, 0.0281, 0.02833, 0.02856, 0.02884, 0.02901, 0.02917, 0.02923, 0.02929, 0.02934",\
                 "0.03078, 0.03086, 0.03087, 0.03104, 0.03108, 0.03117, 0.03118, 0.03123, 0.03124, 0.03126",\
                 "0.03749, 0.03732, 0.03691, 0.03626, 0.03567, 0.03507, 0.03456, 0.03407, 0.03372, 0.0334",\
                 "0.05119, 0.05086, 0.04948, 0.04764, 0.0456, 0.04374, 0.04199, 0.04053, 0.03933, 0.03823",\
                 "0.07438, 0.07362, 0.07119, 0.06761, 0.06356, 0.05973, 0.05613, 0.05295, 0.05014, 0.04778",\
                 "0.108, 0.1069, 0.1034, 0.09789, 0.09144, 0.08487, 0.07877, 0.07325, 0.06835, 0.064",\
                 "0.1531, 0.1517, 0.147, 0.1396, 0.1305, 0.1209, 0.1116, 0.1032, 0.09552, 0.08875",\
                 "0.2104, 0.2086, 0.2028, 0.1934, 0.1816, 0.1689, 0.1561, 0.1442, 0.1331, 0.1233",\
                 "0.2805, 0.2784, 0.2715, 0.26, 0.2457, 0.2296, 0.2133, 0.1975, 0.1826, 0.169");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1637, 0.1639, 0.1645, 0.1653, 0.166, 0.1665, 0.1671, 0.1677, 0.1686, 0.1706",\
                 "0.161, 0.1614, 0.1624, 0.1638, 0.165, 0.1661, 0.1671, 0.1679, 0.1688, 0.1711",\
                 "0.1614, 0.1614, 0.1617, 0.1623, 0.1634, 0.1645, 0.1658, 0.1669, 0.1681, 0.1706",\
                 "0.1718, 0.1715, 0.1703, 0.169, 0.1679, 0.1676, 0.1675, 0.168, 0.1688, 0.1713",\
                 "0.192, 0.1914, 0.1892, 0.1859, 0.1823, 0.1793, 0.1769, 0.1754, 0.1745, 0.176",\
                 "0.2226, 0.2214, 0.2183, 0.2136, 0.2077, 0.2018, 0.1966, 0.192, 0.1885, 0.1887",\
                 "0.2643, 0.2629, 0.2587, 0.2521, 0.2444, 0.236, 0.2276, 0.2199, 0.2133, 0.2116",\
                 "0.3186, 0.3168, 0.3113, 0.3029, 0.293, 0.2825, 0.2712, 0.2602, 0.2505, 0.2472",\
                 "0.3865, 0.3843, 0.3774, 0.367, 0.3549, 0.3418, 0.328, 0.3139, 0.301, 0.2984",\
                 "0.4688, 0.4662, 0.458, 0.4456, 0.4305, 0.4144, 0.3981, 0.3814, 0.3674, 0.3696");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.00656, 0.006644, 0.006788, 0.006953, 0.00708, 0.007138, 0.007186, 0.00722, 0.007246, 0.007266",\
                 "0.007057, 0.007238, 0.007635, 0.008065, 0.008378, 0.008593, 0.008707, 0.008805, 0.008881, 0.008942",\
                 "0.009712, 0.009803, 0.009973, 0.01024, 0.01042, 0.01056, 0.01067, 0.01072, 0.01075, 0.01078",\
                 "0.01689, 0.01667, 0.01614, 0.01549, 0.01488, 0.0143, 0.01381, 0.01338, 0.01303, 0.01276",\
                 "0.03141, 0.03087, 0.02917, 0.027, 0.0248, 0.02275, 0.02095, 0.01946, 0.01822, 0.01722",\
                 "0.05552, 0.05449, 0.0515, 0.0472, 0.04266, 0.03842, 0.03464, 0.03136, 0.02858, 0.02626",\
                 "0.08999, 0.08857, 0.08423, 0.07775, 0.07039, 0.06316, 0.05671, 0.05101, 0.04599, 0.04169",\
                 "0.1357, 0.1339, 0.1282, 0.1195, 0.1091, 0.09864, 0.08881, 0.07995, 0.07213, 0.06525",\
                 "0.1931, 0.191, 0.1842, 0.1731, 0.16, 0.146, 0.1324, 0.1198, 0.1086, 0.09851",\
                 "0.263, 0.2605, 0.2524, 0.2395, 0.2233, 0.2059, 0.1884, 0.1718, 0.1564, 0.1428");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1432, 0.1435, 0.1441, 0.1448, 0.1455, 0.146, 0.1465, 0.1469, 0.1477, 0.1492",\
                 "0.1412, 0.1416, 0.1426, 0.144, 0.1453, 0.1462, 0.1472, 0.1478, 0.1484, 0.1505",\
                 "0.1414, 0.1415, 0.1418, 0.1427, 0.1439, 0.1451, 0.1462, 0.1472, 0.1482, 0.1501",\
                 "0.1508, 0.1504, 0.1494, 0.1483, 0.1476, 0.1474, 0.1477, 0.1481, 0.1488, 0.151",\
                 "0.17, 0.1693, 0.1671, 0.1639, 0.1604, 0.1579, 0.1558, 0.1545, 0.154, 0.1551",\
                 "0.1995, 0.1984, 0.195, 0.1902, 0.1846, 0.1787, 0.1736, 0.1694, 0.1663, 0.1664",\
                 "0.2402, 0.2388, 0.2343, 0.2276, 0.2198, 0.2113, 0.2029, 0.1953, 0.1891, 0.1871",\
                 "0.2934, 0.2915, 0.2856, 0.277, 0.2665, 0.2559, 0.2445, 0.2335, 0.2236, 0.2199",\
                 "0.36, 0.3575, 0.3505, 0.3395, 0.3266, 0.3126, 0.2988, 0.2849, 0.2722, 0.2675",\
                 "0.4404, 0.4376, 0.4291, 0.4158, 0.4002, 0.3835, 0.3663, 0.3496, 0.335, 0.3352");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.006513, 0.00658, 0.00677, 0.006945, 0.007063, 0.007122, 0.007157, 0.007202, 0.00723, 0.007249",\
                 "0.007114, 0.007228, 0.007661, 0.008092, 0.008402, 0.008593, 0.008724, 0.008798, 0.008861, 0.008935",\
                 "0.009969, 0.01006, 0.01023, 0.01043, 0.01061, 0.01069, 0.01074, 0.01081, 0.01082, 0.01085",\
                 "0.01759, 0.01741, 0.01689, 0.01608, 0.01542, 0.01476, 0.01418, 0.01372, 0.01333, 0.01303",\
                 "0.03275, 0.0322, 0.03048, 0.02824, 0.02598, 0.02381, 0.02194, 0.02035, 0.01903, 0.01793",\
                 "0.05761, 0.05659, 0.05358, 0.04933, 0.04467, 0.04029, 0.03648, 0.03306, 0.03016, 0.02765",\
                 "0.09304, 0.09158, 0.08734, 0.08093, 0.07353, 0.06627, 0.05968, 0.05384, 0.0487, 0.04415",\
                 "0.1399, 0.1381, 0.1325, 0.1239, 0.1137, 0.1032, 0.09326, 0.08426, 0.07626, 0.06919",\
                 "0.1988, 0.1967, 0.1899, 0.179, 0.166, 0.1522, 0.1386, 0.1259, 0.1144, 0.1041",\
                 "0.2704, 0.2678, 0.2599, 0.247, 0.2311, 0.2139, 0.1965, 0.1799, 0.1643, 0.1503");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.143, 0.1432, 0.1439, 0.1446, 0.1452, 0.1457, 0.1462, 0.1467, 0.1474, 0.1491",\
                 "0.1402, 0.1406, 0.1417, 0.143, 0.1443, 0.1452, 0.1461, 0.1471, 0.1476, 0.1492",\
                 "0.1407, 0.1407, 0.1409, 0.1415, 0.1426, 0.1438, 0.1448, 0.1458, 0.1466, 0.1491",\
                 "0.1511, 0.1507, 0.1496, 0.1481, 0.1472, 0.1467, 0.1467, 0.147, 0.1476, 0.1496",\
                 "0.1714, 0.1708, 0.1684, 0.1651, 0.1615, 0.1585, 0.1559, 0.1543, 0.1534, 0.1542",\
                 "0.2019, 0.2008, 0.1976, 0.1927, 0.187, 0.181, 0.1755, 0.1711, 0.1675, 0.1669",\
                 "0.2439, 0.2424, 0.2381, 0.2313, 0.2237, 0.2154, 0.2069, 0.1988, 0.1923, 0.1897",\
                 "0.2986, 0.2967, 0.291, 0.2824, 0.2724, 0.2617, 0.2505, 0.2394, 0.2292, 0.2248",\
                 "0.3669, 0.3646, 0.3577, 0.3467, 0.3343, 0.3211, 0.3072, 0.2932, 0.2801, 0.2757",\
                 "0.4498, 0.447, 0.4385, 0.4253, 0.41, 0.3938, 0.3771, 0.3605, 0.346, 0.3464");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.006514, 0.006581, 0.006771, 0.006953, 0.007063, 0.007122, 0.007157, 0.007203, 0.007231, 0.007249",\
                 "0.007115, 0.007228, 0.007661, 0.008092, 0.008402, 0.008588, 0.008727, 0.008797, 0.008861, 0.008935",\
                 "0.009969, 0.01006, 0.01023, 0.01046, 0.0106, 0.01071, 0.01075, 0.01079, 0.01082, 0.01084",\
                 "0.0176, 0.01741, 0.01689, 0.01611, 0.01542, 0.01475, 0.01419, 0.01372, 0.01332, 0.01304",\
                 "0.03275, 0.0322, 0.03052, 0.02829, 0.02597, 0.02379, 0.02194, 0.02036, 0.019, 0.01795",\
                 "0.0576, 0.05658, 0.05358, 0.04932, 0.04466, 0.04029, 0.03648, 0.03306, 0.03014, 0.02765",\
                 "0.09302, 0.09158, 0.08733, 0.08092, 0.07352, 0.06627, 0.05967, 0.05383, 0.04865, 0.04418",\
                 "0.1399, 0.1381, 0.1325, 0.1239, 0.1137, 0.1032, 0.09324, 0.08425, 0.07626, 0.06918",\
                 "0.1988, 0.1967, 0.1899, 0.179, 0.166, 0.1521, 0.1385, 0.1259, 0.1144, 0.1041",\
                 "0.2703, 0.2678, 0.26, 0.247, 0.2311, 0.2139, 0.1965, 0.1798, 0.1643, 0.1502");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.143, 0.1432, 0.1439, 0.1446, 0.1452, 0.1457, 0.1462, 0.1467, 0.1474, 0.1491",\
                 "0.1402, 0.1406, 0.1417, 0.143, 0.1443, 0.1452, 0.1463, 0.1471, 0.1476, 0.1495",\
                 "0.1407, 0.1407, 0.1409, 0.1415, 0.1426, 0.1437, 0.1448, 0.1458, 0.1466, 0.1491",\
                 "0.1512, 0.1507, 0.1496, 0.1482, 0.1471, 0.1467, 0.1467, 0.147, 0.1476, 0.1496",\
                 "0.1714, 0.1707, 0.1684, 0.1652, 0.1615, 0.1584, 0.156, 0.1542, 0.1534, 0.1542",\
                 "0.2019, 0.2009, 0.1976, 0.1928, 0.187, 0.1809, 0.1754, 0.171, 0.1675, 0.1669",\
                 "0.2439, 0.2424, 0.238, 0.2313, 0.2236, 0.2152, 0.2068, 0.1989, 0.1923, 0.1897",\
                 "0.2986, 0.2966, 0.291, 0.2824, 0.2724, 0.2618, 0.2508, 0.2393, 0.2292, 0.2247",\
                 "0.3669, 0.3646, 0.3574, 0.3466, 0.3343, 0.3209, 0.3073, 0.2932, 0.28, 0.2758",\
                 "0.4498, 0.447, 0.4384, 0.4252, 0.41, 0.3937, 0.3773, 0.3605, 0.3459, 0.3465");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.006554, 0.006592, 0.006758, 0.006934, 0.007053, 0.007118, 0.00716, 0.007186, 0.007211, 0.007229",\
                 "0.007103, 0.007275, 0.007673, 0.008056, 0.008396, 0.008578, 0.008727, 0.008808, 0.008859, 0.008927",\
                 "0.01011, 0.01018, 0.01035, 0.01054, 0.0107, 0.01074, 0.0108, 0.01083, 0.01082, 0.01084",\
                 "0.0179, 0.01765, 0.01712, 0.01634, 0.01563, 0.01499, 0.01436, 0.01386, 0.01346, 0.01312",\
                 "0.0333, 0.03269, 0.03108, 0.02874, 0.02636, 0.02419, 0.02234, 0.02073, 0.01937, 0.01823",\
                 "0.05835, 0.05735, 0.05437, 0.05013, 0.04546, 0.04106, 0.03718, 0.03369, 0.03073, 0.02819",\
                 "0.09408, 0.09271, 0.08851, 0.08202, 0.07469, 0.06743, 0.06074, 0.05481, 0.04967, 0.04512",\
                 "0.1414, 0.1396, 0.134, 0.1255, 0.1153, 0.1048, 0.09483, 0.08583, 0.07776, 0.07062",\
                 "0.2009, 0.1986, 0.1918, 0.1812, 0.1681, 0.1543, 0.1407, 0.128, 0.1164, 0.1062",\
                 "0.2729, 0.2704, 0.2625, 0.2496, 0.2338, 0.2166, 0.1993, 0.1828, 0.1672, 0.1531");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1428, 0.143, 0.1436, 0.1444, 0.145, 0.1455, 0.146, 0.1465, 0.1469, 0.1489",\
                 "0.1398, 0.1402, 0.1412, 0.1426, 0.1438, 0.1447, 0.1458, 0.1464, 0.1469, 0.1491",\
                 "0.1405, 0.1405, 0.1406, 0.1411, 0.1421, 0.1432, 0.1442, 0.1452, 0.1462, 0.1485",\
                 "0.1513, 0.1509, 0.1497, 0.1482, 0.147, 0.1464, 0.1464, 0.1467, 0.1471, 0.1491",\
                 "0.1719, 0.1711, 0.1689, 0.1656, 0.162, 0.1586, 0.1561, 0.1544, 0.1528, 0.1543",\
                 "0.2026, 0.2016, 0.1984, 0.1936, 0.1879, 0.1818, 0.1761, 0.1716, 0.1679, 0.1671",\
                 "0.2451, 0.2438, 0.2393, 0.2328, 0.225, 0.2167, 0.2082, 0.2002, 0.1934, 0.1904",\
                 "0.3004, 0.2985, 0.2927, 0.2843, 0.2741, 0.2637, 0.2527, 0.2415, 0.2312, 0.227",\
                 "0.3694, 0.3671, 0.3598, 0.3493, 0.3367, 0.3237, 0.3099, 0.2961, 0.2831, 0.2787",\
                 "0.4529, 0.4502, 0.4415, 0.4285, 0.4135, 0.3975, 0.3808, 0.3646, 0.35, 0.3505");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.06675, 0.06671, 0.0667, 0.06674, 0.06672, 0.06669, 0.06674, 0.06674, 0.06676, 0.06675",\
                 "0.0665, 0.0665, 0.06649, 0.06652, 0.06656, 0.06661, 0.06662, 0.06663, 0.06663, 0.06663",\
                 "0.06741, 0.06739, 0.06729, 0.06712, 0.067, 0.06693, 0.06687, 0.06686, 0.06685, 0.06682",\
                 "0.07259, 0.07241, 0.07192, 0.07119, 0.07047, 0.06977, 0.06914, 0.06869, 0.0683, 0.06802",\
                 "0.08554, 0.08517, 0.08389, 0.08194, 0.07986, 0.07776, 0.07598, 0.07449, 0.07311, 0.07206",\
                 "0.1084, 0.1078, 0.1055, 0.102, 0.09796, 0.09378, 0.08991, 0.08658, 0.08364, 0.08119",\
                 "0.143, 0.1419, 0.1386, 0.1332, 0.1266, 0.1198, 0.1132, 0.1072, 0.1019, 0.09724",\
                 "0.1902, 0.1888, 0.1843, 0.1768, 0.1676, 0.1575, 0.1477, 0.1384, 0.13, 0.1225",\
                 "0.2509, 0.2491, 0.2435, 0.2342, 0.222, 0.2085, 0.1949, 0.1818, 0.1696, 0.1586",\
                 "0.3257, 0.3236, 0.3169, 0.3055, 0.2905, 0.2736, 0.2561, 0.2387, 0.2223, 0.207");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2052, 0.2054, 0.2059, 0.2065, 0.2072, 0.2078, 0.2083, 0.2091, 0.2098, 0.2122",\
                 "0.2028, 0.2032, 0.2043, 0.2057, 0.207, 0.208, 0.209, 0.2098, 0.2107, 0.2134",\
                 "0.1995, 0.1997, 0.2007, 0.2023, 0.204, 0.2058, 0.2074, 0.2086, 0.21, 0.2131",\
                 "0.2047, 0.2045, 0.2043, 0.2042, 0.2047, 0.2056, 0.2066, 0.2081, 0.2093, 0.2127",\
                 "0.2229, 0.2223, 0.2203, 0.2179, 0.2156, 0.214, 0.2129, 0.2127, 0.2128, 0.2157",\
                 "0.2547, 0.2537, 0.2503, 0.2454, 0.2398, 0.2347, 0.2303, 0.2272, 0.2249, 0.2261",\
                 "0.2998, 0.2983, 0.2936, 0.2864, 0.2781, 0.2695, 0.2613, 0.2542, 0.2483, 0.2477",\
                 "0.3589, 0.3569, 0.3508, 0.3414, 0.33, 0.3183, 0.3064, 0.2952, 0.2856, 0.283",\
                 "0.4326, 0.4302, 0.423, 0.4113, 0.397, 0.3818, 0.3665, 0.3515, 0.3383, 0.335",\
                 "0.522, 0.5194, 0.5108, 0.497, 0.4797, 0.4611, 0.4418, 0.4235, 0.4078, 0.4077");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04689, 0.0469, 0.04684, 0.04686, 0.04688, 0.0469, 0.0469, 0.04694, 0.04695, 0.04695",\
                 "0.04668, 0.04663, 0.04663, 0.04667, 0.04677, 0.04682, 0.04681, 0.04682, 0.04684, 0.04682",\
                 "0.0475, 0.04747, 0.04739, 0.04723, 0.04713, 0.04711, 0.04707, 0.04706, 0.04701, 0.04699",\
                 "0.05289, 0.05274, 0.05217, 0.05144, 0.05068, 0.05001, 0.04931, 0.04887, 0.04848, 0.04821",\
                 "0.06668, 0.0663, 0.06482, 0.06274, 0.06045, 0.0583, 0.05632, 0.05481, 0.05339, 0.05231",\
                 "0.09097, 0.09005, 0.08762, 0.08377, 0.07925, 0.07471, 0.07063, 0.06712, 0.0641, 0.06159",\
                 "0.1272, 0.1259, 0.122, 0.1161, 0.1089, 0.1015, 0.09456, 0.08823, 0.0827, 0.0779",\
                 "0.1759, 0.1743, 0.1694, 0.1611, 0.151, 0.1402, 0.1298, 0.12, 0.1112, 0.1034",\
                 "0.2383, 0.2364, 0.2301, 0.2197, 0.2066, 0.1922, 0.1778, 0.1641, 0.1515, 0.14",\
                 "0.3149, 0.3126, 0.3051, 0.2926, 0.2764, 0.2584, 0.2398, 0.2218, 0.2047, 0.1891");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1851, 0.1853, 0.1858, 0.1864, 0.187, 0.1875, 0.1881, 0.1887, 0.1895, 0.1916",\
                 "0.1827, 0.183, 0.1842, 0.1856, 0.1867, 0.1877, 0.1887, 0.1895, 0.1904, 0.1927",\
                 "0.1793, 0.1796, 0.1805, 0.1821, 0.1839, 0.1856, 0.1871, 0.1885, 0.1897, 0.1924",\
                 "0.1845, 0.1843, 0.1841, 0.184, 0.1845, 0.1853, 0.1864, 0.1877, 0.1891, 0.1919",\
                 "0.2028, 0.2021, 0.2003, 0.1978, 0.1955, 0.1938, 0.1927, 0.1925, 0.1926, 0.1948",\
                 "0.2345, 0.2334, 0.23, 0.2253, 0.2197, 0.2145, 0.2101, 0.2068, 0.2046, 0.2053",\
                 "0.2797, 0.2782, 0.2733, 0.2661, 0.2578, 0.2493, 0.2409, 0.2337, 0.2279, 0.2268",\
                 "0.3389, 0.3369, 0.3308, 0.3212, 0.3098, 0.2982, 0.2862, 0.2748, 0.2651, 0.2617",\
                 "0.4131, 0.4107, 0.4031, 0.3911, 0.3769, 0.3615, 0.3463, 0.3313, 0.3178, 0.3131",\
                 "0.5028, 0.5001, 0.4913, 0.4772, 0.4595, 0.4409, 0.4216, 0.4032, 0.3874, 0.3848");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.0469, 0.04684, 0.04679, 0.04684, 0.04691, 0.04686, 0.04692, 0.04691, 0.04694, 0.04696",\
                 "0.04664, 0.04667, 0.04664, 0.04671, 0.04673, 0.04676, 0.04678, 0.0468, 0.0468, 0.04684",\
                 "0.04763, 0.0476, 0.04754, 0.04742, 0.04724, 0.04717, 0.04712, 0.04709, 0.04703, 0.04703",\
                 "0.05355, 0.05334, 0.05278, 0.05192, 0.05109, 0.05037, 0.04969, 0.04915, 0.04871, 0.04839",\
                 "0.06813, 0.06762, 0.06611, 0.06402, 0.06165, 0.05929, 0.05732, 0.05566, 0.05421, 0.05296",\
                 "0.09337, 0.09253, 0.09, 0.08601, 0.08141, 0.07677, 0.0726, 0.06891, 0.06574, 0.06311",\
                 "0.1307, 0.1295, 0.1256, 0.1197, 0.1125, 0.1049, 0.09787, 0.09135, 0.08556, 0.08065",\
                 "0.1811, 0.1795, 0.1745, 0.1663, 0.1562, 0.1454, 0.1348, 0.1249, 0.1159, 0.1079",\
                 "0.2453, 0.2434, 0.2371, 0.2268, 0.2137, 0.1993, 0.1849, 0.1711, 0.1582, 0.1465",\
                 "0.324, 0.3218, 0.3144, 0.3019, 0.2858, 0.2678, 0.2493, 0.2312, 0.214, 0.1981");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1848, 0.185, 0.1855, 0.1862, 0.1867, 0.1873, 0.1878, 0.1884, 0.1892, 0.1914",\
                 "0.1818, 0.1822, 0.1832, 0.1846, 0.1859, 0.1869, 0.1877, 0.1886, 0.1895, 0.1917",\
                 "0.1786, 0.1788, 0.1796, 0.181, 0.1826, 0.1842, 0.1858, 0.1871, 0.1884, 0.1911",\
                 "0.1845, 0.1843, 0.1838, 0.1836, 0.1837, 0.1843, 0.1852, 0.1863, 0.1876, 0.1904",\
                 "0.204, 0.2034, 0.2014, 0.1986, 0.196, 0.194, 0.1925, 0.1918, 0.1918, 0.194",\
                 "0.2373, 0.2362, 0.2328, 0.2277, 0.2222, 0.2166, 0.2118, 0.2079, 0.2049, 0.2056",\
                 "0.2841, 0.2826, 0.2778, 0.2706, 0.2623, 0.2535, 0.2448, 0.2373, 0.2309, 0.2291",\
                 "0.3453, 0.3433, 0.3373, 0.3278, 0.3167, 0.3049, 0.2928, 0.2814, 0.2711, 0.2671",\
                 "0.422, 0.4195, 0.4121, 0.4002, 0.3862, 0.371, 0.3561, 0.3408, 0.3268, 0.322",\
                 "0.5148, 0.512, 0.5032, 0.4891, 0.4717, 0.4533, 0.4345, 0.4161, 0.3998, 0.3975");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02646, 0.02644, 0.02645, 0.02649, 0.02648, 0.0265, 0.02651, 0.02651, 0.02652, 0.02653",\
                 "0.02613, 0.02616, 0.02619, 0.02625, 0.02632, 0.02636, 0.02636, 0.02642, 0.02639, 0.0264",\
                 "0.02702, 0.02698, 0.02695, 0.02685, 0.02675, 0.02668, 0.02663, 0.0266, 0.02659, 0.02658",\
                 "0.0333, 0.03302, 0.03235, 0.03145, 0.03048, 0.02972, 0.02904, 0.0285, 0.02813, 0.02782",\
                 "0.04854, 0.04792, 0.04608, 0.04355, 0.04088, 0.03839, 0.03632, 0.03464, 0.03319, 0.03207",\
                 "0.07463, 0.07357, 0.07035, 0.06577, 0.06055, 0.05554, 0.05114, 0.04733, 0.0441, 0.04148",\
                 "0.1127, 0.1112, 0.1066, 0.09952, 0.09136, 0.0832, 0.07566, 0.0689, 0.06307, 0.0581",\
                 "0.1635, 0.1616, 0.1556, 0.1461, 0.1347, 0.1229, 0.1116, 0.1013, 0.09209, 0.08402",\
                 "0.2277, 0.2254, 0.2181, 0.2062, 0.1916, 0.176, 0.1606, 0.146, 0.1329, 0.121",\
                 "0.3059, 0.3032, 0.2947, 0.2805, 0.2628, 0.2434, 0.2236, 0.2046, 0.1868, 0.1706");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1643, 0.1646, 0.1651, 0.1657, 0.1662, 0.1667, 0.1671, 0.1677, 0.1682, 0.17",\
                 "0.162, 0.1624, 0.1634, 0.1648, 0.166, 0.1669, 0.1677, 0.1682, 0.1693, 0.1709",\
                 "0.1586, 0.1589, 0.1598, 0.1614, 0.163, 0.1647, 0.166, 0.1672, 0.1685, 0.1709",\
                 "0.1638, 0.1636, 0.1634, 0.1633, 0.1636, 0.1645, 0.1655, 0.1666, 0.1678, 0.1702",\
                 "0.182, 0.1814, 0.1796, 0.1772, 0.1747, 0.1729, 0.1719, 0.1713, 0.1714, 0.1733",\
                 "0.2138, 0.2128, 0.2093, 0.2046, 0.199, 0.1937, 0.1892, 0.1859, 0.1832, 0.1836",\
                 "0.2593, 0.2577, 0.2528, 0.2454, 0.237, 0.2286, 0.2201, 0.2127, 0.2066, 0.2046",\
                 "0.3189, 0.3168, 0.3103, 0.3006, 0.2891, 0.2774, 0.2655, 0.254, 0.2439, 0.2395",\
                 "0.3935, 0.3911, 0.3832, 0.3708, 0.3562, 0.3407, 0.3254, 0.3106, 0.2963, 0.2906",\
                 "0.4838, 0.481, 0.4718, 0.457, 0.4391, 0.42, 0.4005, 0.3821, 0.3656, 0.3617");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02641, 0.0264, 0.02645, 0.02647, 0.02646, 0.02646, 0.02648, 0.02651, 0.0265, 0.02652",\
                 "0.02616, 0.0262, 0.0262, 0.02627, 0.02632, 0.02637, 0.02639, 0.02639, 0.02637, 0.02643",\
                 "0.02721, 0.02719, 0.02711, 0.027, 0.02686, 0.02678, 0.02671, 0.02666, 0.02664, 0.0266",\
                 "0.03393, 0.03368, 0.03293, 0.03195, 0.03101, 0.03015, 0.02939, 0.02881, 0.02835, 0.02804",\
                 "0.04993, 0.04935, 0.04747, 0.04485, 0.04209, 0.03948, 0.03733, 0.03551, 0.03399, 0.03271",\
                 "0.077, 0.076, 0.07284, 0.06803, 0.06275, 0.05768, 0.05308, 0.04909, 0.0458, 0.04301",\
                 "0.1162, 0.1148, 0.1102, 0.1032, 0.09492, 0.08666, 0.07894, 0.07207, 0.06601, 0.06083",\
                 "0.1686, 0.1667, 0.1607, 0.1513, 0.1399, 0.1281, 0.1167, 0.1062, 0.0968, 0.08846",\
                 "0.2346, 0.2324, 0.225, 0.2133, 0.1987, 0.1831, 0.1677, 0.1531, 0.1397, 0.1277",\
                 "0.315, 0.3123, 0.3039, 0.2898, 0.2722, 0.2528, 0.233, 0.2141, 0.1961, 0.1797");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1641, 0.1643, 0.1648, 0.1654, 0.166, 0.1664, 0.1669, 0.1674, 0.168, 0.1697",\
                 "0.1611, 0.1615, 0.1625, 0.1639, 0.1651, 0.166, 0.1668, 0.1676, 0.1683, 0.1702",\
                 "0.1579, 0.1581, 0.1588, 0.1602, 0.1618, 0.1634, 0.1648, 0.1658, 0.1669, 0.1695",\
                 "0.1638, 0.1636, 0.1631, 0.1628, 0.1629, 0.1634, 0.1643, 0.1653, 0.1665, 0.169",\
                 "0.1833, 0.1826, 0.1807, 0.1779, 0.1753, 0.173, 0.1716, 0.1708, 0.1704, 0.1725",\
                 "0.2166, 0.2155, 0.2122, 0.2071, 0.2015, 0.1958, 0.1907, 0.1867, 0.1837, 0.1837",\
                 "0.2637, 0.2621, 0.2572, 0.2499, 0.2416, 0.233, 0.2242, 0.2163, 0.2097, 0.2071",\
                 "0.3254, 0.3233, 0.3169, 0.3071, 0.2958, 0.2842, 0.2723, 0.2604, 0.2497, 0.2449",\
                 "0.4025, 0.4001, 0.3921, 0.3799, 0.3655, 0.3502, 0.3353, 0.3202, 0.3059, 0.2992",\
                 "0.496, 0.4931, 0.4837, 0.469, 0.4515, 0.4323, 0.4136, 0.3953, 0.3786, 0.3749");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02641, 0.02639, 0.02645, 0.02647, 0.02644, 0.02647, 0.02648, 0.02651, 0.02651, 0.02652",\
                 "0.02616, 0.02619, 0.0262, 0.02627, 0.02632, 0.02635, 0.02639, 0.02638, 0.02642, 0.02642",\
                 "0.02721, 0.02719, 0.02711, 0.027, 0.02686, 0.02678, 0.02671, 0.02666, 0.02664, 0.0266",\
                 "0.03393, 0.03367, 0.03293, 0.03195, 0.03096, 0.03014, 0.02939, 0.02881, 0.02835, 0.02804",\
                 "0.04991, 0.04935, 0.04747, 0.04485, 0.04211, 0.03953, 0.03728, 0.03549, 0.034, 0.03276",\
                 "0.077, 0.076, 0.07282, 0.06802, 0.06273, 0.05767, 0.05308, 0.04915, 0.04575, 0.04294",\
                 "0.1163, 0.1149, 0.1102, 0.1031, 0.09494, 0.08668, 0.07897, 0.07207, 0.06603, 0.0608",\
                 "0.1686, 0.1667, 0.1607, 0.1513, 0.1399, 0.1281, 0.1167, 0.1062, 0.09678, 0.08846",\
                 "0.2346, 0.2324, 0.225, 0.2132, 0.1987, 0.1831, 0.1677, 0.1531, 0.1397, 0.1276",\
                 "0.315, 0.3123, 0.3039, 0.2897, 0.2722, 0.2528, 0.233, 0.2141, 0.1961, 0.1796");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1641, 0.1643, 0.1648, 0.1654, 0.1659, 0.1664, 0.1669, 0.1674, 0.1677, 0.1697",\
                 "0.1611, 0.1615, 0.1625, 0.1639, 0.165, 0.166, 0.1668, 0.1674, 0.1684, 0.1701",\
                 "0.1579, 0.1581, 0.1589, 0.1602, 0.1618, 0.1634, 0.1648, 0.166, 0.1672, 0.1695",\
                 "0.1638, 0.1636, 0.1631, 0.1628, 0.1629, 0.1634, 0.1643, 0.1654, 0.1664, 0.1688",\
                 "0.1833, 0.1826, 0.1807, 0.1779, 0.1753, 0.173, 0.1716, 0.1708, 0.1705, 0.1725",\
                 "0.2166, 0.2155, 0.212, 0.2071, 0.2015, 0.1958, 0.1907, 0.1869, 0.1837, 0.1837",\
                 "0.2637, 0.2621, 0.2572, 0.2499, 0.2415, 0.2329, 0.2241, 0.2161, 0.2096, 0.207",\
                 "0.3254, 0.3233, 0.317, 0.3072, 0.2958, 0.2841, 0.2722, 0.2606, 0.2495, 0.2448",\
                 "0.4025, 0.4, 0.3921, 0.3799, 0.3655, 0.35, 0.3353, 0.32, 0.306, 0.2994",\
                 "0.496, 0.493, 0.4837, 0.469, 0.4515, 0.4326, 0.4136, 0.3951, 0.3786, 0.3749");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02641, 0.02639, 0.0264, 0.02645, 0.02651, 0.02649, 0.0265, 0.0265, 0.02652, 0.02651",\
                 "0.02618, 0.0262, 0.02621, 0.02624, 0.02634, 0.02633, 0.02636, 0.02641, 0.02638, 0.02642",\
                 "0.02731, 0.02729, 0.02718, 0.02708, 0.02692, 0.02679, 0.02675, 0.02669, 0.02664, 0.02661",\
                 "0.03426, 0.03396, 0.03323, 0.03218, 0.03119, 0.03028, 0.02958, 0.02893, 0.02848, 0.02812",\
                 "0.05045, 0.04984, 0.04798, 0.04536, 0.04252, 0.03998, 0.03771, 0.03584, 0.0343, 0.03298",\
                 "0.07784, 0.07687, 0.07365, 0.06889, 0.06361, 0.0585, 0.05384, 0.04984, 0.04641, 0.04359",\
                 "0.1175, 0.1162, 0.1115, 0.1045, 0.09627, 0.08798, 0.08026, 0.07327, 0.06718, 0.06193",\
                 "0.1704, 0.1685, 0.1626, 0.1531, 0.1418, 0.13, 0.1186, 0.1081, 0.09851, 0.09014",\
                 "0.2371, 0.2348, 0.2276, 0.2158, 0.2012, 0.1857, 0.1702, 0.1556, 0.1421, 0.1301",\
                 "0.3182, 0.3155, 0.3072, 0.293, 0.2754, 0.2561, 0.2364, 0.2175, 0.1995, 0.1829");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1639, 0.1641, 0.1646, 0.1652, 0.1657, 0.1662, 0.1667, 0.1672, 0.1676, 0.1695",\
                 "0.1607, 0.1611, 0.1621, 0.1634, 0.1646, 0.1655, 0.1664, 0.1671, 0.1679, 0.1697",\
                 "0.1576, 0.1578, 0.1585, 0.1598, 0.1613, 0.1628, 0.1642, 0.1653, 0.1662, 0.1687",\
                 "0.1638, 0.1636, 0.163, 0.1627, 0.1627, 0.163, 0.1639, 0.1648, 0.1659, 0.1684",\
                 "0.1837, 0.1831, 0.181, 0.1783, 0.1754, 0.1731, 0.1715, 0.1706, 0.1703, 0.172",\
                 "0.2176, 0.2164, 0.213, 0.2081, 0.2024, 0.1964, 0.1914, 0.1874, 0.1842, 0.1837",\
                 "0.2652, 0.2637, 0.2587, 0.2515, 0.2431, 0.2345, 0.2257, 0.2173, 0.2107, 0.208",\
                 "0.3276, 0.3256, 0.3191, 0.3096, 0.2983, 0.2865, 0.2746, 0.2628, 0.2519, 0.2469",\
                 "0.4056, 0.4031, 0.3952, 0.383, 0.3688, 0.3539, 0.3387, 0.3235, 0.3091, 0.3026",\
                 "0.5001, 0.4971, 0.4878, 0.4731, 0.4555, 0.4368, 0.4179, 0.3998, 0.3832, 0.3798");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.08857, 0.08858, 0.08855, 0.08843, 0.08844, 0.08846, 0.08849, 0.08853, 0.08851, 0.08847",\
                 "0.08681, 0.08683, 0.08677, 0.08666, 0.08666, 0.08666, 0.08668, 0.0867, 0.08668, 0.0867",\
                 "0.08577, 0.08572, 0.08559, 0.08538, 0.08526, 0.08512, 0.08506, 0.08507, 0.08503, 0.08494",\
                 "0.09014, 0.08993, 0.08935, 0.08859, 0.08779, 0.08706, 0.08635, 0.08596, 0.0856, 0.08526",\
                 "0.1037, 0.1033, 0.1018, 0.09962, 0.0972, 0.09492, 0.09302, 0.09142, 0.08999, 0.08892",\
                 "0.1296, 0.1288, 0.1261, 0.1218, 0.117, 0.1122, 0.1078, 0.1041, 0.1008, 0.09818",\
                 "0.1695, 0.1682, 0.1641, 0.1576, 0.1496, 0.1414, 0.1336, 0.1266, 0.1205, 0.1154",\
                 "0.2252, 0.2235, 0.2178, 0.2085, 0.197, 0.1848, 0.1727, 0.1616, 0.1516, 0.1429",\
                 "0.2975, 0.2954, 0.2883, 0.2762, 0.261, 0.2443, 0.2274, 0.2112, 0.1965, 0.1833",\
                 "0.3874, 0.3847, 0.3761, 0.3615, 0.3423, 0.3209, 0.2989, 0.2772, 0.2572, 0.2386");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2257, 0.2259, 0.2264, 0.227, 0.2276, 0.2282, 0.2289, 0.2294, 0.2301, 0.2327",\
                 "0.2233, 0.2237, 0.2248, 0.2261, 0.2274, 0.2285, 0.2293, 0.2304, 0.2312, 0.2339",\
                 "0.2191, 0.2195, 0.2205, 0.2223, 0.2242, 0.2261, 0.2277, 0.229, 0.2305, 0.2336",\
                 "0.2211, 0.221, 0.2212, 0.2217, 0.2227, 0.2242, 0.2259, 0.2274, 0.229, 0.2324",\
                 "0.2368, 0.2362, 0.2345, 0.2329, 0.2314, 0.2306, 0.2304, 0.2306, 0.2313, 0.2345",\
                 "0.2703, 0.2692, 0.2658, 0.2609, 0.2559, 0.2513, 0.2476, 0.2448, 0.2431, 0.2447",\
                 "0.3224, 0.3207, 0.3154, 0.3074, 0.2985, 0.2897, 0.2814, 0.2743, 0.2688, 0.268",\
                 "0.3925, 0.3904, 0.3835, 0.3725, 0.3594, 0.3463, 0.3333, 0.3214, 0.3111, 0.3077",\
                 "0.4806, 0.4781, 0.4697, 0.4561, 0.4395, 0.4216, 0.4041, 0.3872, 0.3723, 0.3668",\
                 "0.5876, 0.5847, 0.5751, 0.5592, 0.5389, 0.5167, 0.494, 0.4724, 0.4537, 0.4491");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.0687, 0.06865, 0.06863, 0.06861, 0.06863, 0.06866, 0.06868, 0.06871, 0.0687, 0.06867",\
                 "0.06691, 0.06689, 0.06687, 0.06685, 0.06686, 0.06688, 0.06692, 0.06692, 0.0669, 0.0669",\
                 "0.06591, 0.06585, 0.06573, 0.06556, 0.06545, 0.06531, 0.06525, 0.06522, 0.06517, 0.06512",\
                 "0.07057, 0.07039, 0.06974, 0.06889, 0.06807, 0.06729, 0.06666, 0.06612, 0.06575, 0.06545",\
                 "0.08522, 0.08465, 0.083, 0.08051, 0.07794, 0.07549, 0.07341, 0.07173, 0.07028, 0.06918",\
                 "0.1126, 0.1116, 0.1087, 0.1039, 0.09854, 0.09327, 0.08862, 0.08466, 0.08135, 0.07857",\
                 "0.1547, 0.1532, 0.1485, 0.1411, 0.1323, 0.1234, 0.1151, 0.1077, 0.1014, 0.09602",\
                 "0.2126, 0.2106, 0.2041, 0.1938, 0.1812, 0.168, 0.1552, 0.1434, 0.1331, 0.124",\
                 "0.2871, 0.2846, 0.2767, 0.2633, 0.2468, 0.2287, 0.2108, 0.194, 0.1786, 0.165",\
                 "0.3788, 0.3759, 0.3665, 0.3505, 0.3297, 0.3069, 0.2835, 0.261, 0.24, 0.2209");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2055, 0.2057, 0.2062, 0.2069, 0.2075, 0.2079, 0.2085, 0.2091, 0.2099, 0.212",\
                 "0.2032, 0.2036, 0.2047, 0.206, 0.2073, 0.2082, 0.2092, 0.21, 0.2109, 0.2132",\
                 "0.199, 0.1994, 0.2004, 0.2022, 0.204, 0.2059, 0.2074, 0.2089, 0.2101, 0.2128",\
                 "0.2009, 0.2008, 0.201, 0.2015, 0.2025, 0.2039, 0.2056, 0.2071, 0.2087, 0.2118",\
                 "0.2165, 0.216, 0.2145, 0.2127, 0.2113, 0.2104, 0.21, 0.2102, 0.211, 0.2137",\
                 "0.25, 0.2489, 0.2455, 0.2408, 0.2356, 0.231, 0.2273, 0.2245, 0.2228, 0.2239",\
                 "0.3023, 0.3006, 0.2952, 0.2871, 0.2783, 0.2695, 0.2613, 0.2539, 0.2485, 0.2471",\
                 "0.3727, 0.3704, 0.3634, 0.3523, 0.3392, 0.3261, 0.3131, 0.3012, 0.2907, 0.2864",\
                 "0.4613, 0.4585, 0.45, 0.4361, 0.4192, 0.4013, 0.3839, 0.367, 0.3518, 0.3448",\
                 "0.5687, 0.5655, 0.5558, 0.5393, 0.5189, 0.4963, 0.4737, 0.452, 0.4328, 0.4266");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.06867, 0.06865, 0.06863, 0.06858, 0.06862, 0.06865, 0.06868, 0.0687, 0.06872, 0.06872",\
                 "0.06689, 0.0669, 0.06687, 0.06678, 0.06681, 0.06679, 0.06681, 0.06689, 0.06686, 0.0669",\
                 "0.06602, 0.06599, 0.06586, 0.06567, 0.06548, 0.06538, 0.0653, 0.06523, 0.06519, 0.06519",\
                 "0.07117, 0.07095, 0.07025, 0.06932, 0.06836, 0.06758, 0.06686, 0.06634, 0.06587, 0.06557",\
                 "0.08664, 0.08612, 0.08442, 0.08188, 0.07909, 0.07653, 0.07435, 0.07251, 0.071, 0.06975",\
                 "0.1156, 0.1145, 0.1115, 0.1066, 0.1011, 0.09562, 0.09077, 0.0866, 0.08299, 0.08007",\
                 "0.1595, 0.158, 0.1532, 0.1457, 0.1367, 0.1276, 0.1189, 0.1112, 0.1046, 0.09895",\
                 "0.2196, 0.2177, 0.2113, 0.2007, 0.1879, 0.1745, 0.1613, 0.1493, 0.1385, 0.1291",\
                 "0.297, 0.2946, 0.2865, 0.2732, 0.2564, 0.2381, 0.2199, 0.2027, 0.1869, 0.1728",\
                 "0.3921, 0.3893, 0.3796, 0.3636, 0.3428, 0.3196, 0.296, 0.2731, 0.2517, 0.2322");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2053, 0.2054, 0.2059, 0.2066, 0.2071, 0.2077, 0.2083, 0.2088, 0.2096, 0.2117",\
                 "0.2024, 0.2027, 0.2037, 0.2051, 0.2063, 0.2073, 0.2082, 0.2091, 0.21, 0.2123",\
                 "0.1983, 0.1986, 0.1995, 0.2011, 0.2028, 0.2045, 0.206, 0.2074, 0.2088, 0.2114",\
                 "0.2006, 0.2006, 0.2006, 0.2009, 0.2016, 0.2028, 0.2042, 0.2057, 0.2072, 0.2103",\
                 "0.2174, 0.2168, 0.2152, 0.2132, 0.2115, 0.2102, 0.2096, 0.2096, 0.21, 0.2125",\
                 "0.2531, 0.2521, 0.2484, 0.2435, 0.238, 0.2331, 0.2286, 0.2254, 0.2231, 0.2241",\
                 "0.3081, 0.3064, 0.3009, 0.2928, 0.2836, 0.2744, 0.2654, 0.2576, 0.2515, 0.2494",\
                 "0.3816, 0.3793, 0.3722, 0.361, 0.348, 0.3345, 0.3212, 0.3085, 0.2976, 0.2923",\
                 "0.4739, 0.4712, 0.4626, 0.4488, 0.4318, 0.414, 0.3961, 0.3789, 0.363, 0.3556",\
                 "0.5859, 0.5827, 0.5726, 0.5564, 0.5357, 0.5134, 0.4909, 0.4691, 0.4498, 0.4429");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04827, 0.04829, 0.04824, 0.04821, 0.04821, 0.04823, 0.04826, 0.04831, 0.04829, 0.04829",\
                 "0.0465, 0.04652, 0.04648, 0.04644, 0.04643, 0.04644, 0.04647, 0.04651, 0.04648, 0.0465",\
                 "0.04559, 0.04555, 0.04541, 0.04524, 0.04507, 0.04491, 0.04484, 0.04482, 0.04475, 0.04473",\
                 "0.05118, 0.05088, 0.05003, 0.04896, 0.0479, 0.04704, 0.04632, 0.04579, 0.04538, 0.04508",\
                 "0.06754, 0.06678, 0.06468, 0.06164, 0.05854, 0.05579, 0.05344, 0.05161, 0.05009, 0.04893",\
                 "0.09727, 0.09599, 0.09213, 0.08648, 0.08022, 0.07432, 0.06923, 0.0649, 0.06141, 0.0585",\
                 "0.1418, 0.1399, 0.1342, 0.1255, 0.1155, 0.1055, 0.09645, 0.08857, 0.0819, 0.07628",\
                 "0.2021, 0.1997, 0.1922, 0.1802, 0.166, 0.1514, 0.1376, 0.1251, 0.1141, 0.1047",\
                 "0.2789, 0.2761, 0.2668, 0.2517, 0.2332, 0.2136, 0.1944, 0.1765, 0.1604, 0.1462",\
                 "0.3728, 0.3694, 0.3587, 0.3407, 0.3179, 0.2932, 0.2683, 0.2445, 0.2226, 0.2028");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1848, 0.185, 0.1855, 0.1861, 0.1867, 0.1871, 0.1876, 0.1881, 0.1884, 0.1904",\
                 "0.1825, 0.1829, 0.1839, 0.1852, 0.1864, 0.1874, 0.1881, 0.189, 0.1897, 0.1915",\
                 "0.1783, 0.1786, 0.1797, 0.1814, 0.1832, 0.185, 0.1865, 0.1878, 0.1889, 0.1908",\
                 "0.1801, 0.1802, 0.1804, 0.1807, 0.1818, 0.1832, 0.1847, 0.186, 0.1875, 0.1898",\
                 "0.1959, 0.1952, 0.1938, 0.1921, 0.1905, 0.1895, 0.1892, 0.1892, 0.1898, 0.1924",\
                 "0.2295, 0.2283, 0.2249, 0.22, 0.2151, 0.2104, 0.2065, 0.2035, 0.2017, 0.2021",\
                 "0.2821, 0.2803, 0.2748, 0.2665, 0.2575, 0.2486, 0.2405, 0.2329, 0.2269, 0.2254",\
                 "0.353, 0.3506, 0.3432, 0.3318, 0.3185, 0.3052, 0.2923, 0.2805, 0.2695, 0.2642",\
                 "0.4421, 0.4393, 0.4304, 0.4159, 0.3986, 0.3806, 0.3629, 0.3461, 0.331, 0.3224",\
                 "0.55, 0.5468, 0.5365, 0.5196, 0.4983, 0.4756, 0.4529, 0.431, 0.4117, 0.4039");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04825, 0.04827, 0.04826, 0.04821, 0.04818, 0.04822, 0.04827, 0.0483, 0.04828, 0.04829",\
                 "0.04649, 0.04649, 0.04643, 0.04642, 0.04637, 0.04636, 0.04645, 0.04644, 0.04645, 0.04648",\
                 "0.04571, 0.04566, 0.04552, 0.0453, 0.04513, 0.04499, 0.04488, 0.04479, 0.04479, 0.04475",\
                 "0.05181, 0.0515, 0.05059, 0.0494, 0.04829, 0.04736, 0.04658, 0.046, 0.04552, 0.04522",\
                 "0.06907, 0.06839, 0.06608, 0.06299, 0.05971, 0.05679, 0.05437, 0.05239, 0.05081, 0.0495",\
                 "0.1002, 0.09899, 0.095, 0.08918, 0.08279, 0.07677, 0.07133, 0.0668, 0.06309, 0.06",\
                 "0.1467, 0.1447, 0.139, 0.1301, 0.1199, 0.1098, 0.1004, 0.09217, 0.08516, 0.07931",\
                 "0.2092, 0.2069, 0.1993, 0.1872, 0.1727, 0.158, 0.1438, 0.1311, 0.1196, 0.1099",\
                 "0.289, 0.2861, 0.2767, 0.2616, 0.2429, 0.223, 0.2035, 0.1853, 0.1688, 0.1542",\
                 "0.3861, 0.3828, 0.3719, 0.3539, 0.3311, 0.3061, 0.2809, 0.2567, 0.2344, 0.2141");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1845, 0.1848, 0.1852, 0.1858, 0.1864, 0.1869, 0.1873, 0.1878, 0.1882, 0.1902",\
                 "0.1816, 0.182, 0.183, 0.1843, 0.1855, 0.1865, 0.1872, 0.1881, 0.1888, 0.1906",\
                 "0.1776, 0.1779, 0.1788, 0.1802, 0.182, 0.1837, 0.1851, 0.1862, 0.1876, 0.1899",\
                 "0.1799, 0.1799, 0.1799, 0.1801, 0.1808, 0.1821, 0.1833, 0.1845, 0.186, 0.1887",\
                 "0.1968, 0.196, 0.1946, 0.1925, 0.1907, 0.1894, 0.1887, 0.1884, 0.1888, 0.1912",\
                 "0.2326, 0.2313, 0.2278, 0.2229, 0.2173, 0.2123, 0.2077, 0.2043, 0.2021, 0.2022",\
                 "0.2879, 0.286, 0.2804, 0.2721, 0.2627, 0.2536, 0.2447, 0.2367, 0.2299, 0.2276",\
                 "0.3619, 0.3596, 0.3521, 0.3406, 0.3274, 0.3137, 0.3005, 0.288, 0.2759, 0.2701",\
                 "0.4549, 0.4521, 0.4428, 0.4285, 0.4112, 0.3931, 0.3754, 0.3582, 0.3423, 0.3334",\
                 "0.5675, 0.5642, 0.5536, 0.5365, 0.5154, 0.4928, 0.4702, 0.4482, 0.4286, 0.4201");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04825, 0.04827, 0.04827, 0.04826, 0.04822, 0.04824, 0.04826, 0.04827, 0.04829, 0.04829",\
                 "0.04648, 0.0465, 0.04646, 0.04643, 0.04637, 0.04641, 0.04649, 0.04647, 0.0465, 0.0465",\
                 "0.04572, 0.04568, 0.04551, 0.04533, 0.04513, 0.04494, 0.04488, 0.04481, 0.04477, 0.04477",\
                 "0.05178, 0.0515, 0.05058, 0.04945, 0.0483, 0.04736, 0.04661, 0.04595, 0.04552, 0.04521",\
                 "0.06907, 0.0684, 0.06614, 0.06297, 0.05968, 0.05679, 0.05435, 0.05238, 0.05082, 0.04951",\
                 "0.1002, 0.09897, 0.09499, 0.08917, 0.0828, 0.07672, 0.07136, 0.06679, 0.06312, 0.06002",\
                 "0.1467, 0.1447, 0.139, 0.1301, 0.1199, 0.1098, 0.1004, 0.09214, 0.08515, 0.07922",\
                 "0.2092, 0.2068, 0.1993, 0.1872, 0.1727, 0.158, 0.1438, 0.131, 0.1196, 0.1098",\
                 "0.2889, 0.286, 0.2767, 0.2615, 0.2429, 0.223, 0.2035, 0.1853, 0.1687, 0.1541",\
                 "0.3861, 0.3827, 0.3718, 0.3538, 0.331, 0.306, 0.2808, 0.2566, 0.2344, 0.2141");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1846, 0.1848, 0.1852, 0.1858, 0.1864, 0.1869, 0.1873, 0.1878, 0.1882, 0.1901",\
                 "0.1816, 0.182, 0.183, 0.1843, 0.1855, 0.1865, 0.1872, 0.1881, 0.1888, 0.1906",\
                 "0.1776, 0.1779, 0.1788, 0.1803, 0.182, 0.1837, 0.1851, 0.1864, 0.1876, 0.19",\
                 "0.1799, 0.1799, 0.1799, 0.1801, 0.1808, 0.1821, 0.1833, 0.1846, 0.1861, 0.1887",\
                 "0.1967, 0.1961, 0.1946, 0.1925, 0.1907, 0.1894, 0.1887, 0.1885, 0.1888, 0.1913",\
                 "0.2326, 0.2313, 0.2278, 0.2228, 0.2174, 0.2122, 0.2077, 0.2045, 0.2019, 0.2022",\
                 "0.2879, 0.286, 0.2804, 0.2721, 0.2627, 0.2536, 0.2447, 0.2366, 0.2302, 0.2275",\
                 "0.3619, 0.3596, 0.3521, 0.3406, 0.3273, 0.3137, 0.3006, 0.2878, 0.276, 0.2701",\
                 "0.4548, 0.452, 0.4429, 0.4284, 0.4113, 0.3932, 0.3754, 0.3582, 0.342, 0.3333",\
                 "0.5674, 0.5641, 0.5537, 0.5365, 0.5155, 0.4928, 0.47, 0.4481, 0.4283, 0.42");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04828, 0.04823, 0.04823, 0.04824, 0.04816, 0.0482, 0.04828, 0.04827, 0.04828, 0.04828",\
                 "0.04653, 0.04647, 0.04647, 0.04638, 0.04634, 0.04635, 0.0464, 0.04645, 0.04644, 0.04647",\
                 "0.04577, 0.04572, 0.04557, 0.04534, 0.04517, 0.04502, 0.0449, 0.04484, 0.04479, 0.04478",\
                 "0.05203, 0.05172, 0.05077, 0.0496, 0.0485, 0.04754, 0.04669, 0.04607, 0.0456, 0.04528",\
                 "0.06978, 0.06896, 0.06669, 0.06358, 0.06022, 0.05725, 0.05477, 0.05269, 0.05111, 0.04975",\
                 "0.1013, 0.1, 0.09611, 0.09025, 0.08385, 0.07762, 0.07216, 0.06755, 0.06376, 0.06061",\
                 "0.1484, 0.1465, 0.1406, 0.1318, 0.1215, 0.1113, 0.1019, 0.09353, 0.08637, 0.08037",\
                 "0.2119, 0.2094, 0.2018, 0.1897, 0.1753, 0.1603, 0.1462, 0.1332, 0.1217, 0.1117",\
                 "0.2924, 0.2895, 0.2802, 0.265, 0.2463, 0.2264, 0.2068, 0.1885, 0.1719, 0.157",\
                 "0.3908, 0.3875, 0.3765, 0.3586, 0.3357, 0.3106, 0.2853, 0.2611, 0.2388, 0.2183");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1844, 0.1846, 0.185, 0.1856, 0.1862, 0.1867, 0.1872, 0.1876, 0.188, 0.19",\
                 "0.1812, 0.1816, 0.1826, 0.1838, 0.185, 0.186, 0.1867, 0.1876, 0.1883, 0.1901",\
                 "0.1774, 0.1776, 0.1785, 0.1799, 0.1815, 0.1831, 0.1845, 0.1858, 0.187, 0.1891",\
                 "0.1798, 0.1798, 0.1798, 0.1801, 0.1805, 0.1817, 0.1829, 0.1839, 0.1854, 0.1882",\
                 "0.197, 0.1966, 0.1948, 0.1929, 0.1908, 0.1892, 0.1885, 0.1881, 0.1885, 0.1904",\
                 "0.2338, 0.2324, 0.2288, 0.2237, 0.2181, 0.2129, 0.2084, 0.2048, 0.2021, 0.2022",\
                 "0.2899, 0.2881, 0.2824, 0.274, 0.2648, 0.2552, 0.2464, 0.2381, 0.2312, 0.2286",\
                 "0.365, 0.3626, 0.3551, 0.3437, 0.3304, 0.3168, 0.3034, 0.2907, 0.2787, 0.2725",\
                 "0.4592, 0.4565, 0.4472, 0.4327, 0.4156, 0.3976, 0.3798, 0.3626, 0.3464, 0.3374",\
                 "0.5733, 0.5701, 0.5595, 0.5422, 0.5215, 0.4989, 0.4762, 0.4539, 0.4345, 0.4264");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04992, 0.04996, 0.05002, 0.0501, 0.05022, 0.0503, 0.05036, 0.0504, 0.05043, 0.05044",\
                 "0.05041, 0.05054, 0.05079, 0.05118, 0.05145, 0.05168, 0.05187, 0.05199, 0.05206, 0.05211",\
                 "0.05051, 0.05064, 0.05106, 0.05162, 0.05217, 0.05264, 0.053, 0.05329, 0.05346, 0.05359",\
                 "0.05301, 0.05306, 0.05323, 0.05349, 0.0538, 0.05405, 0.05425, 0.05435, 0.05445, 0.05454",\
                 "0.06197, 0.06184, 0.06139, 0.06074, 0.06013, 0.05954, 0.05902, 0.05851, 0.05803, 0.05756",\
                 "0.0799, 0.07945, 0.07819, 0.07624, 0.07409, 0.07193, 0.06993, 0.06808, 0.06654, 0.0651",\
                 "0.1083, 0.1076, 0.1053, 0.1018, 0.09751, 0.09325, 0.08917, 0.08542, 0.08201, 0.07888",\
                 "0.1481, 0.1471, 0.1438, 0.1386, 0.1321, 0.1252, 0.1183, 0.112, 0.1062, 0.1009",\
                 "0.2002, 0.1989, 0.1947, 0.1877, 0.1788, 0.1689, 0.159, 0.1494, 0.1407, 0.1326",\
                 "0.2655, 0.2639, 0.2586, 0.2498, 0.2384, 0.2255, 0.2122, 0.199, 0.1867, 0.1753");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2917, 0.2917, 0.2918, 0.292, 0.2922, 0.2926, 0.2931, 0.2936, 0.2945, 0.297",\
                 "0.2893, 0.2894, 0.2896, 0.29, 0.2904, 0.2908, 0.2913, 0.2919, 0.2929, 0.2953",\
                 "0.2881, 0.2881, 0.2882, 0.2885, 0.2889, 0.2895, 0.29, 0.2907, 0.2918, 0.2946",\
                 "0.2953, 0.295, 0.2944, 0.2934, 0.2926, 0.2922, 0.292, 0.2921, 0.2929, 0.2956",\
                 "0.3128, 0.3124, 0.3106, 0.3081, 0.3052, 0.3026, 0.3007, 0.2989, 0.2983, 0.3008",\
                 "0.3412, 0.3404, 0.3379, 0.3337, 0.3287, 0.3236, 0.3183, 0.3143, 0.3117, 0.3126",\
                 "0.381, 0.3801, 0.3767, 0.3713, 0.3641, 0.3562, 0.3482, 0.3408, 0.3349, 0.3347",\
                 "0.4332, 0.4319, 0.4278, 0.4209, 0.4121, 0.4016, 0.3906, 0.3797, 0.3707, 0.3698",\
                 "0.4987, 0.4974, 0.4924, 0.484, 0.4731, 0.4603, 0.4466, 0.4325, 0.4203, 0.421",\
                 "0.5787, 0.5768, 0.5712, 0.5615, 0.5481, 0.5331, 0.5166, 0.4997, 0.4867, 0.4934");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02705, 0.02711, 0.02717, 0.02734, 0.02749, 0.02754, 0.0276, 0.02763, 0.02765, 0.02768",\
                 "0.02744, 0.02761, 0.02789, 0.02836, 0.02869, 0.02893, 0.0291, 0.02922, 0.02929, 0.02934",\
                 "0.02711, 0.0273, 0.02786, 0.02856, 0.02928, 0.02982, 0.03022, 0.03049, 0.03067, 0.0308",\
                 "0.02951, 0.02961, 0.0299, 0.03032, 0.03074, 0.03112, 0.03136, 0.0315, 0.03163, 0.03172",\
                 "0.03898, 0.0389, 0.03843, 0.03787, 0.03723, 0.03673, 0.03619, 0.03572, 0.03525, 0.0348",\
                 "0.05783, 0.0574, 0.05602, 0.05399, 0.05166, 0.04944, 0.04739, 0.04552, 0.04386, 0.04241",\
                 "0.08748, 0.0867, 0.08426, 0.08036, 0.07589, 0.07136, 0.06706, 0.06312, 0.05963, 0.05646",\
                 "0.1288, 0.1277, 0.1241, 0.1184, 0.1114, 0.104, 0.09681, 0.09022, 0.08418, 0.07882",\
                 "0.1827, 0.1812, 0.1765, 0.1688, 0.1592, 0.1487, 0.1382, 0.1282, 0.1191, 0.1108",\
                 "0.2496, 0.2479, 0.242, 0.2322, 0.2199, 0.2063, 0.1922, 0.1786, 0.1657, 0.1539");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2713, 0.2713, 0.2714, 0.2715, 0.2718, 0.2721, 0.2725, 0.2732, 0.2738, 0.2762",\
                 "0.2689, 0.269, 0.2692, 0.2696, 0.2699, 0.2704, 0.2709, 0.2714, 0.2722, 0.2746",\
                 "0.2677, 0.2677, 0.2678, 0.268, 0.2686, 0.269, 0.2697, 0.2703, 0.2713, 0.2737",\
                 "0.2749, 0.2747, 0.2739, 0.273, 0.2721, 0.2718, 0.2716, 0.272, 0.2722, 0.2746",\
                 "0.2925, 0.292, 0.2903, 0.2877, 0.2848, 0.2823, 0.28, 0.2786, 0.2777, 0.2796",\
                 "0.3207, 0.3199, 0.3176, 0.3135, 0.3083, 0.3029, 0.298, 0.2938, 0.2908, 0.2913",\
                 "0.3604, 0.3596, 0.3563, 0.3509, 0.3436, 0.3357, 0.3278, 0.3204, 0.3144, 0.3131",\
                 "0.4128, 0.4116, 0.4075, 0.4004, 0.3916, 0.3813, 0.3702, 0.3594, 0.35, 0.3476",\
                 "0.4786, 0.477, 0.4721, 0.4637, 0.4525, 0.4398, 0.4266, 0.412, 0.3997, 0.3982",\
                 "0.5583, 0.5565, 0.5508, 0.5411, 0.5279, 0.5125, 0.4961, 0.4793, 0.4654, 0.4701");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02702, 0.02707, 0.02718, 0.02734, 0.02742, 0.02754, 0.02759, 0.02763, 0.02765, 0.02766",\
                 "0.02744, 0.02756, 0.02791, 0.02831, 0.02868, 0.02894, 0.0291, 0.02921, 0.02929, 0.02935",\
                 "0.02731, 0.02752, 0.02806, 0.02874, 0.02937, 0.02986, 0.03027, 0.03052, 0.03069, 0.03082",\
                 "0.0303, 0.03035, 0.03058, 0.03096, 0.03128, 0.03157, 0.03175, 0.03182, 0.0319, 0.03194",\
                 "0.04035, 0.04018, 0.03973, 0.03911, 0.03836, 0.0377, 0.0371, 0.03648, 0.03594, 0.03539",\
                 "0.05976, 0.05929, 0.05791, 0.05582, 0.05339, 0.05103, 0.04879, 0.04675, 0.04498, 0.04342",\
                 "0.08991, 0.08916, 0.08668, 0.08279, 0.0782, 0.07346, 0.069, 0.06491, 0.06127, 0.05792",\
                 "0.1317, 0.1305, 0.127, 0.1213, 0.1142, 0.1067, 0.09934, 0.09252, 0.08634, 0.08078",\
                 "0.186, 0.1846, 0.1798, 0.1721, 0.1625, 0.1519, 0.1413, 0.1311, 0.1218, 0.1134",\
                 "0.2534, 0.2516, 0.2457, 0.236, 0.2236, 0.2099, 0.1958, 0.182, 0.169, 0.1571");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2893, 0.2893, 0.2894, 0.2895, 0.2898, 0.2901, 0.2906, 0.2911, 0.2918, 0.2943",\
                 "0.2871, 0.2872, 0.2874, 0.2879, 0.2883, 0.2889, 0.2894, 0.29, 0.2907, 0.2933",\
                 "0.2859, 0.286, 0.2861, 0.2864, 0.2869, 0.2875, 0.2882, 0.289, 0.2898, 0.2925",\
                 "0.293, 0.2929, 0.2922, 0.2914, 0.2907, 0.2903, 0.2902, 0.2905, 0.291, 0.2935",\
                 "0.3103, 0.3099, 0.3085, 0.3062, 0.3036, 0.3012, 0.2992, 0.2978, 0.2968, 0.2988",\
                 "0.3384, 0.3379, 0.3357, 0.332, 0.3274, 0.3228, 0.3181, 0.3142, 0.311, 0.3114",\
                 "0.3779, 0.3772, 0.3742, 0.3696, 0.363, 0.3558, 0.3483, 0.3414, 0.3354, 0.3343",\
                 "0.4301, 0.429, 0.4253, 0.419, 0.411, 0.4016, 0.3915, 0.3811, 0.3721, 0.3703",\
                 "0.4953, 0.494, 0.4895, 0.4821, 0.4721, 0.4606, 0.4479, 0.4351, 0.4232, 0.4228",\
                 "0.575, 0.5734, 0.5682, 0.5595, 0.5474, 0.5335, 0.5183, 0.5025, 0.4899, 0.4963");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.006516, 0.006639, 0.006759, 0.006958, 0.007075, 0.007147, 0.00719, 0.007226, 0.007249, 0.007265",\
                 "0.00646, 0.006659, 0.00723, 0.007801, 0.008259, 0.008507, 0.008686, 0.008807, 0.008886, 0.00894",\
                 "0.005389, 0.005718, 0.006605, 0.007682, 0.008611, 0.009269, 0.009711, 0.01003, 0.01024, 0.01038",\
                 "0.008345, 0.008495, 0.008907, 0.009525, 0.01011, 0.01058, 0.01088, 0.0111, 0.01122, 0.01134",\
                 "0.01899, 0.01881, 0.01828, 0.01765, 0.017, 0.01645, 0.01591, 0.01538, 0.0149, 0.01446",\
                 "0.03939, 0.03877, 0.0371, 0.03467, 0.03206, 0.02963, 0.02741, 0.02543, 0.0237, 0.02222",\
                 "0.07069, 0.06974, 0.06676, 0.06229, 0.05719, 0.0522, 0.04757, 0.04345, 0.03971, 0.03648",\
                 "0.1138, 0.1125, 0.1081, 0.1016, 0.09377, 0.08567, 0.078, 0.07098, 0.0647, 0.0591",\
                 "0.1695, 0.1678, 0.1621, 0.1533, 0.1426, 0.1313, 0.1201, 0.1096, 0.1001, 0.0915",\
                 "0.2382, 0.2361, 0.2292, 0.2182, 0.2045, 0.1897, 0.1749, 0.1606, 0.1472, 0.1351");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2506, 0.2507, 0.2508, 0.2509, 0.2512, 0.2515, 0.2518, 0.2525, 0.253, 0.255",\
                 "0.2483, 0.2484, 0.2486, 0.2489, 0.2492, 0.2498, 0.2503, 0.2507, 0.2514, 0.2535",\
                 "0.247, 0.2471, 0.2472, 0.2474, 0.2478, 0.2483, 0.249, 0.2495, 0.2503, 0.2524",\
                 "0.2543, 0.254, 0.2533, 0.2524, 0.2516, 0.2511, 0.2509, 0.251, 0.2513, 0.2535",\
                 "0.2719, 0.2714, 0.2697, 0.267, 0.2642, 0.2615, 0.2594, 0.2578, 0.2571, 0.2582",\
                 "0.3003, 0.2995, 0.2969, 0.2928, 0.2877, 0.2824, 0.2775, 0.2734, 0.27, 0.27",\
                 "0.34, 0.339, 0.3355, 0.3302, 0.3233, 0.3153, 0.3071, 0.2997, 0.2933, 0.2918",\
                 "0.3923, 0.3911, 0.3868, 0.38, 0.371, 0.3605, 0.3496, 0.3387, 0.3291, 0.3254",\
                 "0.458, 0.4565, 0.4516, 0.4432, 0.4321, 0.4192, 0.4056, 0.3916, 0.3786, 0.3757",\
                 "0.5381, 0.5362, 0.5304, 0.5206, 0.5073, 0.4917, 0.4754, 0.4585, 0.4439, 0.4466");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.006568, 0.006573, 0.006772, 0.006937, 0.007056, 0.007132, 0.00718, 0.007212, 0.007236, 0.00725",\
                 "0.006485, 0.006709, 0.007263, 0.007824, 0.008278, 0.008518, 0.008692, 0.0088, 0.008879, 0.008932",\
                 "0.00566, 0.005974, 0.006834, 0.007859, 0.008717, 0.009343, 0.009765, 0.01006, 0.01026, 0.0104",\
                 "0.009189, 0.009333, 0.009685, 0.0102, 0.0107, 0.01107, 0.01125, 0.0114, 0.01147, 0.01154",\
                 "0.0204, 0.02018, 0.01968, 0.01894, 0.01822, 0.01746, 0.01681, 0.01617, 0.01558, 0.01506",\
                 "0.04128, 0.04073, 0.03903, 0.03651, 0.03383, 0.03127, 0.02888, 0.02672, 0.02486, 0.02322",\
                 "0.07308, 0.07215, 0.06919, 0.0647, 0.05952, 0.05434, 0.04956, 0.04524, 0.04138, 0.03797",\
                 "0.1167, 0.1154, 0.1111, 0.1045, 0.09657, 0.08838, 0.08055, 0.0733, 0.06688, 0.06109",\
                 "0.1729, 0.1711, 0.1655, 0.1566, 0.1459, 0.1345, 0.1232, 0.1125, 0.1028, 0.09399",\
                 "0.2419, 0.2397, 0.233, 0.2219, 0.2082, 0.1935, 0.1786, 0.1641, 0.1505, 0.1382");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2686, 0.2687, 0.2688, 0.2689, 0.2691, 0.2694, 0.2699, 0.2704, 0.2711, 0.2731",\
                 "0.2665, 0.2665, 0.2668, 0.2672, 0.2676, 0.2682, 0.2687, 0.2692, 0.27, 0.272",\
                 "0.2652, 0.2653, 0.2654, 0.2658, 0.2663, 0.2669, 0.2675, 0.2682, 0.269, 0.2713",\
                 "0.2724, 0.2722, 0.2715, 0.2708, 0.2701, 0.2697, 0.2697, 0.2697, 0.2703, 0.2725",\
                 "0.2898, 0.2893, 0.2879, 0.2855, 0.283, 0.2805, 0.2786, 0.2771, 0.2762, 0.2776",\
                 "0.3178, 0.3173, 0.315, 0.3114, 0.3069, 0.302, 0.2974, 0.2932, 0.2901, 0.2901",\
                 "0.3574, 0.3565, 0.3536, 0.3487, 0.3424, 0.3353, 0.3277, 0.3204, 0.3144, 0.3129",\
                 "0.4096, 0.4085, 0.4047, 0.3986, 0.3903, 0.3813, 0.371, 0.3605, 0.3514, 0.3488",\
                 "0.4751, 0.4736, 0.4694, 0.4616, 0.4515, 0.4401, 0.4273, 0.4142, 0.4023, 0.4002",\
                 "0.5548, 0.5532, 0.5478, 0.5387, 0.5269, 0.5127, 0.4978, 0.4817, 0.4684, 0.473");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.006568, 0.006573, 0.006772, 0.006937, 0.007056, 0.007132, 0.007177, 0.007212, 0.007236, 0.00725",\
                 "0.006486, 0.006709, 0.007243, 0.007824, 0.008278, 0.008518, 0.008692, 0.0088, 0.008878, 0.008932",\
                 "0.005659, 0.005973, 0.006833, 0.007859, 0.008717, 0.009343, 0.009765, 0.01006, 0.01026, 0.0104",\
                 "0.009188, 0.009333, 0.009684, 0.0102, 0.0107, 0.01107, 0.01125, 0.0114, 0.01147, 0.01154",\
                 "0.0204, 0.02018, 0.01968, 0.01894, 0.01822, 0.01746, 0.01681, 0.01617, 0.01558, 0.01506",\
                 "0.04128, 0.04072, 0.03902, 0.03651, 0.03383, 0.03127, 0.02887, 0.02671, 0.02486, 0.02322",\
                 "0.07307, 0.07214, 0.06919, 0.06469, 0.05952, 0.05433, 0.04956, 0.04524, 0.04138, 0.03796",\
                 "0.1167, 0.1154, 0.1111, 0.1045, 0.09657, 0.08837, 0.08054, 0.0733, 0.06688, 0.06108",\
                 "0.1729, 0.1711, 0.1655, 0.1566, 0.1459, 0.1345, 0.1232, 0.1125, 0.1028, 0.09398",\
                 "0.2419, 0.2397, 0.2329, 0.2219, 0.2082, 0.1935, 0.1786, 0.1641, 0.1505, 0.1382");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2686, 0.2687, 0.2688, 0.2689, 0.2691, 0.2694, 0.2699, 0.2703, 0.2711, 0.2731",\
                 "0.2664, 0.2666, 0.2667, 0.2672, 0.2676, 0.2682, 0.2688, 0.2692, 0.27, 0.272",\
                 "0.2652, 0.2653, 0.2654, 0.2657, 0.2663, 0.2668, 0.2676, 0.2683, 0.269, 0.2714",\
                 "0.2723, 0.2722, 0.2716, 0.2708, 0.27, 0.2697, 0.2696, 0.2695, 0.2702, 0.2724",\
                 "0.2898, 0.2893, 0.2879, 0.2856, 0.2829, 0.2805, 0.2784, 0.2771, 0.2762, 0.2774",\
                 "0.3178, 0.3172, 0.315, 0.3114, 0.3068, 0.3019, 0.2974, 0.2931, 0.2901, 0.2902",\
                 "0.3574, 0.3565, 0.3536, 0.3488, 0.3424, 0.3353, 0.3276, 0.3206, 0.3145, 0.3128",\
                 "0.4096, 0.4084, 0.4048, 0.3984, 0.3903, 0.381, 0.3709, 0.3607, 0.3513, 0.3484",\
                 "0.475, 0.4735, 0.4691, 0.4615, 0.4515, 0.4399, 0.4272, 0.4141, 0.402, 0.4",\
                 "0.5549, 0.5533, 0.5479, 0.5388, 0.527, 0.5126, 0.4974, 0.4819, 0.4686, 0.4729");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.006528, 0.006596, 0.006754, 0.006943, 0.007059, 0.007129, 0.007173, 0.007206, 0.007232, 0.007241",\
                 "0.006586, 0.006741, 0.007261, 0.007841, 0.008256, 0.008522, 0.00869, 0.008797, 0.008877, 0.008925",\
                 "0.005791, 0.006078, 0.006913, 0.007939, 0.008766, 0.009373, 0.009789, 0.01007, 0.01027, 0.01041",\
                 "0.009518, 0.009673, 0.009999, 0.01048, 0.01093, 0.01124, 0.01142, 0.01152, 0.01158, 0.01162",\
                 "0.02086, 0.02069, 0.02015, 0.0194, 0.01863, 0.01784, 0.01712, 0.01643, 0.01579, 0.01525",\
                 "0.04191, 0.04136, 0.03969, 0.03715, 0.03443, 0.03182, 0.0294, 0.02721, 0.02527, 0.0236",\
                 "0.07381, 0.07289, 0.06992, 0.06543, 0.06029, 0.05512, 0.05026, 0.04589, 0.04197, 0.03853",\
                 "0.1175, 0.1161, 0.1119, 0.1054, 0.09753, 0.08933, 0.08139, 0.0741, 0.0676, 0.06179",\
                 "0.1737, 0.1719, 0.1664, 0.1576, 0.1469, 0.1355, 0.1243, 0.1135, 0.1038, 0.09502",\
                 "0.2429, 0.2408, 0.2339, 0.223, 0.2094, 0.1947, 0.1797, 0.1653, 0.1517, 0.1393");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2861, 0.2862, 0.2862, 0.2865, 0.2866, 0.2871, 0.2874, 0.2879, 0.2886, 0.2907",\
                 "0.2841, 0.2841, 0.2844, 0.2848, 0.2854, 0.2859, 0.2865, 0.287, 0.2877, 0.2898",\
                 "0.2828, 0.2829, 0.2831, 0.2834, 0.2839, 0.2845, 0.2853, 0.286, 0.2869, 0.2892",\
                 "0.2897, 0.2895, 0.289, 0.2883, 0.2877, 0.2873, 0.2873, 0.2875, 0.2881, 0.2902",\
                 "0.3067, 0.3063, 0.3051, 0.3029, 0.3005, 0.2982, 0.2962, 0.2947, 0.294, 0.2955",\
                 "0.3346, 0.3339, 0.332, 0.3286, 0.3245, 0.3197, 0.3153, 0.3113, 0.3082, 0.3081",\
                 "0.3738, 0.3731, 0.3703, 0.3659, 0.3598, 0.3529, 0.3456, 0.3389, 0.333, 0.3311",\
                 "0.4257, 0.4246, 0.4211, 0.4153, 0.4076, 0.3986, 0.3889, 0.379, 0.3701, 0.3674",\
                 "0.4907, 0.4893, 0.4853, 0.478, 0.4686, 0.4573, 0.4455, 0.4327, 0.4214, 0.4195",\
                 "0.5701, 0.5686, 0.5635, 0.5552, 0.5436, 0.5304, 0.5157, 0.5005, 0.4876, 0.4932");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.06965, 0.06966, 0.06965, 0.06967, 0.06969, 0.06972, 0.06974, 0.06979, 0.06977, 0.06978",\
                 "0.06929, 0.06926, 0.06927, 0.06939, 0.0695, 0.06957, 0.06961, 0.06964, 0.06968, 0.06968",\
                 "0.06841, 0.06846, 0.06853, 0.06876, 0.06898, 0.06916, 0.06933, 0.06942, 0.06948, 0.06951",\
                 "0.06996, 0.06991, 0.0698, 0.06989, 0.06991, 0.06986, 0.06982, 0.06986, 0.06984, 0.06981",\
                 "0.07895, 0.07867, 0.07814, 0.07722, 0.0763, 0.07537, 0.07448, 0.0738, 0.07315, 0.07257",\
                 "0.09824, 0.09784, 0.09644, 0.09408, 0.09148, 0.08872, 0.08626, 0.08397, 0.08207, 0.08033",\
                 "0.1295, 0.1289, 0.1264, 0.1224, 0.1176, 0.1126, 0.1076, 0.103, 0.09892, 0.09529",\
                 "0.1743, 0.1732, 0.1695, 0.1636, 0.1564, 0.1484, 0.1404, 0.1329, 0.1259, 0.1196",\
                 "0.2331, 0.2316, 0.2268, 0.219, 0.2089, 0.1977, 0.1863, 0.1752, 0.1648, 0.155",\
                 "0.3068, 0.305, 0.299, 0.2892, 0.2762, 0.2615, 0.2463, 0.2313, 0.2168, 0.2033");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3124, 0.3124, 0.3125, 0.3126, 0.3128, 0.3132, 0.3136, 0.3141, 0.3148, 0.3175",\
                 "0.3102, 0.3103, 0.3105, 0.3108, 0.3111, 0.3116, 0.3121, 0.3125, 0.3133, 0.3162",\
                 "0.3073, 0.3074, 0.3077, 0.3083, 0.309, 0.3097, 0.3103, 0.3111, 0.312, 0.3151",\
                 "0.3101, 0.31, 0.3098, 0.3096, 0.3098, 0.31, 0.3104, 0.311, 0.3119, 0.3155",\
                 "0.3256, 0.3252, 0.3238, 0.3219, 0.3199, 0.3183, 0.317, 0.3161, 0.3161, 0.3189",\
                 "0.3557, 0.3549, 0.3523, 0.3482, 0.3436, 0.3387, 0.3343, 0.331, 0.3285, 0.3301",\
                 "0.4, 0.399, 0.3953, 0.3895, 0.382, 0.3736, 0.3657, 0.3586, 0.3527, 0.3524",\
                 "0.459, 0.4576, 0.453, 0.4451, 0.4351, 0.4241, 0.4123, 0.401, 0.3912, 0.3893",\
                 "0.5334, 0.5317, 0.526, 0.5165, 0.5039, 0.4896, 0.4747, 0.4592, 0.4457, 0.4439",\
                 "0.6239, 0.622, 0.6155, 0.6044, 0.5892, 0.5718, 0.5532, 0.5344, 0.5184, 0.5209");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04683, 0.04688, 0.04679, 0.04683, 0.04693, 0.04697, 0.04697, 0.04702, 0.04702, 0.04703",\
                 "0.0464, 0.04647, 0.04643, 0.04658, 0.04666, 0.04679, 0.04684, 0.04691, 0.04693, 0.04693",\
                 "0.04541, 0.04548, 0.0456, 0.04586, 0.04614, 0.04635, 0.04651, 0.04663, 0.04672, 0.04673",\
                 "0.0469, 0.04687, 0.04683, 0.04691, 0.047, 0.04704, 0.04702, 0.04701, 0.04701, 0.047",\
                 "0.05623, 0.05603, 0.05542, 0.05455, 0.05358, 0.0526, 0.0517, 0.05109, 0.05036, 0.04986",\
                 "0.07662, 0.07615, 0.07452, 0.07205, 0.0694, 0.06643, 0.06378, 0.06147, 0.05946, 0.05769",\
                 "0.1094, 0.1085, 0.1058, 0.1015, 0.09632, 0.09092, 0.08569, 0.08089, 0.07662, 0.07285",\
                 "0.1557, 0.1545, 0.1506, 0.1441, 0.1362, 0.1276, 0.1192, 0.1113, 0.104, 0.0975",\
                 "0.2164, 0.2149, 0.2096, 0.2009, 0.1899, 0.1779, 0.1659, 0.1543, 0.1434, 0.1334",\
                 "0.2921, 0.2901, 0.2835, 0.2726, 0.2586, 0.2429, 0.2269, 0.2111, 0.1961, 0.1823");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.292, 0.292, 0.2921, 0.2922, 0.2925, 0.2927, 0.2932, 0.2936, 0.2944, 0.2967",\
                 "0.2898, 0.2899, 0.2901, 0.2903, 0.2907, 0.2912, 0.2916, 0.292, 0.2928, 0.2953",\
                 "0.2869, 0.287, 0.2874, 0.2879, 0.2886, 0.2893, 0.29, 0.2908, 0.2915, 0.2942",\
                 "0.2897, 0.2896, 0.2894, 0.2893, 0.2893, 0.2895, 0.2901, 0.2907, 0.2915, 0.2942",\
                 "0.3052, 0.3047, 0.3035, 0.3015, 0.2995, 0.2978, 0.2966, 0.2957, 0.2956, 0.2979",\
                 "0.3353, 0.3344, 0.3319, 0.3281, 0.3232, 0.3181, 0.3141, 0.3104, 0.3079, 0.3091",\
                 "0.3795, 0.3785, 0.3748, 0.369, 0.3615, 0.3533, 0.3453, 0.3382, 0.3323, 0.3312",\
                 "0.4385, 0.4371, 0.4325, 0.4247, 0.4148, 0.4036, 0.3917, 0.3804, 0.3706, 0.3674",\
                 "0.5129, 0.5113, 0.5056, 0.4961, 0.4835, 0.4693, 0.4541, 0.4387, 0.425, 0.4214",\
                 "0.6036, 0.6016, 0.5952, 0.5839, 0.5688, 0.5514, 0.5327, 0.5138, 0.4975, 0.4972");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.0467, 0.04675, 0.04675, 0.0468, 0.04688, 0.04698, 0.04698, 0.047, 0.047, 0.04701",\
                 "0.04644, 0.0463, 0.04657, 0.04653, 0.04667, 0.04672, 0.04683, 0.04688, 0.04686, 0.04693",\
                 "0.04555, 0.04558, 0.04579, 0.0459, 0.04614, 0.04641, 0.04653, 0.04666, 0.04673, 0.04674",\
                 "0.04745, 0.04744, 0.04745, 0.04744, 0.04741, 0.0474, 0.04735, 0.04726, 0.04723, 0.04718",\
                 "0.05759, 0.05742, 0.05673, 0.05573, 0.05468, 0.05356, 0.0526, 0.05171, 0.05101, 0.05033",\
                 "0.07868, 0.07819, 0.07655, 0.07403, 0.0711, 0.06807, 0.06523, 0.06272, 0.06056, 0.05871",\
                 "0.1123, 0.1113, 0.1086, 0.1042, 0.09886, 0.09326, 0.08781, 0.08277, 0.07838, 0.07453",\
                 "0.1592, 0.1579, 0.1539, 0.1474, 0.1393, 0.1306, 0.122, 0.1139, 0.1064, 0.09969",\
                 "0.2205, 0.2188, 0.2135, 0.2048, 0.1937, 0.1816, 0.1693, 0.1575, 0.1464, 0.1364",\
                 "0.2967, 0.2947, 0.2881, 0.2771, 0.2629, 0.2473, 0.2309, 0.215, 0.1999, 0.1858");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.31, 0.31, 0.31, 0.3102, 0.3104, 0.3107, 0.3112, 0.3117, 0.3124, 0.3147",\
                 "0.308, 0.3081, 0.3083, 0.3086, 0.309, 0.3095, 0.3101, 0.3106, 0.3115, 0.3139",\
                 "0.305, 0.3051, 0.3054, 0.3061, 0.3068, 0.3077, 0.3086, 0.3094, 0.3104, 0.313",\
                 "0.3078, 0.3077, 0.3076, 0.3075, 0.3076, 0.3079, 0.3085, 0.3092, 0.31, 0.3131",\
                 "0.3231, 0.3228, 0.3216, 0.3199, 0.3181, 0.3165, 0.3153, 0.3146, 0.3143, 0.3168",\
                 "0.3529, 0.3523, 0.3502, 0.3465, 0.3419, 0.3377, 0.3335, 0.3302, 0.3277, 0.3287",\
                 "0.3969, 0.396, 0.3928, 0.3878, 0.3811, 0.3734, 0.3659, 0.3589, 0.3528, 0.3521",\
                 "0.4557, 0.4545, 0.4504, 0.4434, 0.4343, 0.4242, 0.4132, 0.4024, 0.393, 0.3903",\
                 "0.53, 0.5284, 0.5235, 0.5147, 0.5032, 0.4903, 0.4764, 0.4622, 0.4489, 0.4461",\
                 "0.6204, 0.6186, 0.6125, 0.6023, 0.5886, 0.5726, 0.5555, 0.5381, 0.5227, 0.5243");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02646, 0.02641, 0.02646, 0.0265, 0.02653, 0.02654, 0.02658, 0.02657, 0.0266, 0.0266",\
                 "0.02594, 0.02599, 0.02605, 0.02621, 0.0263, 0.02636, 0.02643, 0.02644, 0.02649, 0.02651",\
                 "0.02455, 0.02464, 0.02497, 0.02532, 0.02562, 0.02588, 0.02609, 0.02618, 0.02628, 0.02632",\
                 "0.0262, 0.0262, 0.02631, 0.02643, 0.02653, 0.0266, 0.0266, 0.0266, 0.02661, 0.02661",\
                 "0.03668, 0.03639, 0.03563, 0.03463, 0.03344, 0.03246, 0.03153, 0.03074, 0.03006, 0.02947",\
                 "0.05848, 0.05795, 0.05601, 0.05314, 0.05002, 0.0468, 0.04395, 0.04147, 0.03932, 0.03755",\
                 "0.09316, 0.09218, 0.08892, 0.08383, 0.078, 0.07206, 0.06641, 0.06132, 0.05686, 0.053",\
                 "0.1415, 0.1401, 0.1353, 0.1279, 0.119, 0.1097, 0.1007, 0.09231, 0.08466, 0.07796",\
                 "0.2043, 0.2024, 0.1962, 0.1862, 0.1741, 0.1611, 0.1482, 0.1359, 0.1246, 0.1143",\
                 "0.2819, 0.2795, 0.2719, 0.2595, 0.2441, 0.2272, 0.2101, 0.1935, 0.1779, 0.1636");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2714, 0.2713, 0.2714, 0.2715, 0.2717, 0.272, 0.2725, 0.2729, 0.2736, 0.2755",\
                 "0.2692, 0.2692, 0.2694, 0.2696, 0.27, 0.2704, 0.271, 0.2713, 0.272, 0.2742",\
                 "0.2662, 0.2664, 0.2667, 0.2672, 0.2679, 0.2685, 0.2694, 0.2699, 0.2708, 0.2731",\
                 "0.269, 0.2689, 0.2687, 0.2686, 0.2686, 0.2689, 0.2694, 0.27, 0.2707, 0.273",\
                 "0.2846, 0.2841, 0.2828, 0.2808, 0.2788, 0.2771, 0.2758, 0.2751, 0.2748, 0.2767",\
                 "0.3146, 0.3139, 0.3113, 0.3074, 0.3023, 0.2977, 0.2933, 0.2899, 0.2871, 0.2878",\
                 "0.359, 0.3579, 0.3541, 0.3482, 0.3409, 0.3326, 0.3245, 0.3171, 0.3113, 0.3094",\
                 "0.4181, 0.4165, 0.4119, 0.4042, 0.3939, 0.3829, 0.3711, 0.3597, 0.3497, 0.3457",\
                 "0.4927, 0.491, 0.4853, 0.4757, 0.4629, 0.4486, 0.4336, 0.418, 0.4039, 0.3993",\
                 "0.5833, 0.5814, 0.5747, 0.5634, 0.5482, 0.5307, 0.512, 0.4931, 0.4759, 0.4743");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02642, 0.0264, 0.02642, 0.02648, 0.02648, 0.0265, 0.02655, 0.02657, 0.02658, 0.02659",\
                 "0.02591, 0.02602, 0.026, 0.02613, 0.02628, 0.02638, 0.0264, 0.02646, 0.02647, 0.0265",\
                 "0.02465, 0.02478, 0.02507, 0.02541, 0.02567, 0.02592, 0.02607, 0.0262, 0.02627, 0.02634",\
                 "0.02687, 0.02688, 0.02692, 0.02696, 0.02696, 0.02698, 0.02694, 0.02687, 0.02682, 0.02679",\
                 "0.03811, 0.03782, 0.03701, 0.03587, 0.03457, 0.0334, 0.03242, 0.03144, 0.03072, 0.03005",\
                 "0.06081, 0.06012, 0.05808, 0.05514, 0.05182, 0.04856, 0.04545, 0.04279, 0.04047, 0.03855",\
                 "0.09611, 0.09505, 0.09172, 0.08659, 0.08056, 0.07441, 0.06863, 0.06327, 0.05864, 0.05461",\
                 "0.145, 0.1436, 0.1388, 0.1313, 0.1222, 0.1127, 0.1035, 0.09488, 0.08709, 0.08014",\
                 "0.2084, 0.2064, 0.2002, 0.1902, 0.1779, 0.1648, 0.1517, 0.1393, 0.1277, 0.1172",\
                 "0.2865, 0.2841, 0.2765, 0.2641, 0.2484, 0.2314, 0.2143, 0.1975, 0.1818, 0.1671");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2893, 0.2893, 0.2894, 0.2895, 0.2897, 0.29, 0.2906, 0.2909, 0.2916, 0.2937",\
                 "0.2874, 0.2874, 0.2877, 0.288, 0.2883, 0.2888, 0.2894, 0.2899, 0.2905, 0.2927",\
                 "0.2843, 0.2844, 0.2848, 0.2854, 0.2862, 0.2869, 0.2877, 0.2885, 0.2895, 0.2919",\
                 "0.2871, 0.287, 0.2869, 0.2868, 0.287, 0.2873, 0.2879, 0.2883, 0.2893, 0.2917",\
                 "0.3024, 0.3022, 0.301, 0.2993, 0.2974, 0.2958, 0.2946, 0.2939, 0.2937, 0.2955",\
                 "0.3323, 0.3316, 0.3295, 0.3258, 0.3215, 0.317, 0.3129, 0.3093, 0.3067, 0.3074",\
                 "0.3764, 0.3754, 0.3722, 0.367, 0.3604, 0.3527, 0.3451, 0.3382, 0.3323, 0.3304",\
                 "0.4353, 0.4341, 0.4298, 0.4229, 0.4138, 0.4035, 0.3926, 0.3818, 0.372, 0.3685",\
                 "0.5095, 0.508, 0.5028, 0.4942, 0.4826, 0.4697, 0.4558, 0.4411, 0.428, 0.424",\
                 "0.6, 0.5981, 0.5921, 0.5817, 0.5681, 0.552, 0.5348, 0.517, 0.5014, 0.5012");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02642, 0.0264, 0.02642, 0.02652, 0.02648, 0.0265, 0.02655, 0.02657, 0.02658, 0.02659",\
                 "0.02591, 0.02596, 0.026, 0.02621, 0.02628, 0.02635, 0.0264, 0.02644, 0.02647, 0.02651",\
                 "0.02465, 0.02478, 0.02507, 0.02541, 0.02567, 0.02592, 0.02606, 0.0262, 0.02627, 0.02634",\
                 "0.02687, 0.02688, 0.02692, 0.02696, 0.02697, 0.02698, 0.02691, 0.02686, 0.02685, 0.02679",\
                 "0.03811, 0.03782, 0.03701, 0.03584, 0.03457, 0.0334, 0.03241, 0.03144, 0.03072, 0.03005",\
                 "0.06082, 0.06011, 0.05807, 0.05513, 0.05182, 0.04856, 0.04544, 0.04278, 0.04048, 0.03855",\
                 "0.09611, 0.09505, 0.09172, 0.08659, 0.08056, 0.07441, 0.06863, 0.06326, 0.05864, 0.05461",\
                 "0.145, 0.1436, 0.1388, 0.1313, 0.1222, 0.1127, 0.1035, 0.09491, 0.08708, 0.08014",\
                 "0.2084, 0.2064, 0.2002, 0.1902, 0.1779, 0.1648, 0.1517, 0.1393, 0.1277, 0.1172",\
                 "0.2865, 0.2841, 0.2765, 0.2641, 0.2484, 0.2315, 0.2142, 0.1975, 0.1818, 0.1672");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2893, 0.2893, 0.2894, 0.2895, 0.2897, 0.29, 0.2906, 0.2909, 0.2916, 0.2937",\
                 "0.2874, 0.2874, 0.2877, 0.288, 0.2883, 0.2888, 0.2894, 0.2898, 0.2906, 0.2927",\
                 "0.2843, 0.2844, 0.2848, 0.2854, 0.2861, 0.2869, 0.2878, 0.2885, 0.2895, 0.292",\
                 "0.287, 0.287, 0.2869, 0.2868, 0.287, 0.2873, 0.2878, 0.2883, 0.2895, 0.2918",\
                 "0.3025, 0.3022, 0.301, 0.2993, 0.2974, 0.2958, 0.2945, 0.2938, 0.2937, 0.2955",\
                 "0.3323, 0.3316, 0.3295, 0.3259, 0.3216, 0.3169, 0.3128, 0.3093, 0.3068, 0.3072",\
                 "0.3763, 0.3754, 0.3722, 0.367, 0.3602, 0.3527, 0.3453, 0.3382, 0.3322, 0.3304",\
                 "0.4352, 0.4341, 0.4297, 0.4227, 0.4136, 0.4035, 0.3927, 0.3818, 0.372, 0.3682",\
                 "0.5095, 0.508, 0.5029, 0.4942, 0.4825, 0.4695, 0.4557, 0.4411, 0.4282, 0.4238",\
                 "0.6, 0.5981, 0.5922, 0.5819, 0.5681, 0.552, 0.5348, 0.517, 0.5016, 0.5008");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.02647, 0.02641, 0.02643, 0.02645, 0.02649, 0.02652, 0.02655, 0.02656, 0.02658, 0.02658",\
                 "0.02593, 0.02599, 0.02602, 0.02613, 0.02629, 0.02637, 0.02641, 0.02645, 0.02646, 0.02648",\
                 "0.02467, 0.02479, 0.02513, 0.02548, 0.02568, 0.02596, 0.02611, 0.0262, 0.02625, 0.02632",\
                 "0.02716, 0.02714, 0.02717, 0.02719, 0.02716, 0.02712, 0.02707, 0.02696, 0.02689, 0.02684",\
                 "0.03866, 0.03838, 0.03754, 0.03635, 0.03506, 0.03383, 0.03274, 0.03175, 0.03093, 0.03022",\
                 "0.06155, 0.0609, 0.05885, 0.05588, 0.05249, 0.04914, 0.046, 0.04329, 0.04089, 0.03894",\
                 "0.09698, 0.09593, 0.09266, 0.08747, 0.08143, 0.0753, 0.0694, 0.06397, 0.05922, 0.05517",\
                 "0.1461, 0.1446, 0.1398, 0.1324, 0.1233, 0.1138, 0.1045, 0.0958, 0.08799, 0.08097",\
                 "0.2096, 0.2077, 0.2014, 0.1914, 0.1792, 0.166, 0.1528, 0.1404, 0.1287, 0.1182",\
                 "0.2878, 0.2855, 0.2779, 0.2656, 0.2499, 0.233, 0.2156, 0.1989, 0.183, 0.1684");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3068, 0.3068, 0.3069, 0.3071, 0.3073, 0.3077, 0.308, 0.3085, 0.3091, 0.3113",\
                 "0.305, 0.3051, 0.3053, 0.3056, 0.3061, 0.3065, 0.3072, 0.3077, 0.3083, 0.3106",\
                 "0.3019, 0.3021, 0.3023, 0.303, 0.3037, 0.3046, 0.3054, 0.3063, 0.3073, 0.3097",\
                 "0.3045, 0.3045, 0.3043, 0.3043, 0.3044, 0.3049, 0.3054, 0.3061, 0.307, 0.3097",\
                 "0.3195, 0.3193, 0.3182, 0.3167, 0.3149, 0.3135, 0.3123, 0.3117, 0.3115, 0.3135",\
                 "0.349, 0.3485, 0.3465, 0.343, 0.3389, 0.3346, 0.3305, 0.3272, 0.3248, 0.3254",\
                 "0.3927, 0.3918, 0.3888, 0.384, 0.3776, 0.3704, 0.3631, 0.3564, 0.3505, 0.3489",\
                 "0.4511, 0.45, 0.4461, 0.4395, 0.4309, 0.4211, 0.4108, 0.4002, 0.3909, 0.3874",\
                 "0.525, 0.5236, 0.5188, 0.5105, 0.4997, 0.4872, 0.4739, 0.4599, 0.4471, 0.4437",\
                 "0.615, 0.6133, 0.6078, 0.598, 0.585, 0.5695, 0.5531, 0.5359, 0.521, 0.5217");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "!A1&!A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.0884, 0.08841, 0.08839, 0.08833, 0.08828, 0.08831, 0.08834, 0.08841, 0.08837, 0.08837",\
                 "0.0865, 0.0865, 0.08637, 0.08646, 0.08642, 0.08644, 0.08649, 0.08652, 0.08657, 0.08655",\
                 "0.08451, 0.08452, 0.08449, 0.08457, 0.0845, 0.08458, 0.08464, 0.08468, 0.08471, 0.08466",\
                 "0.08558, 0.08548, 0.0854, 0.08522, 0.085, 0.08479, 0.08456, 0.08445, 0.08438, 0.08436",\
                 "0.09462, 0.09435, 0.09362, 0.09239, 0.09118, 0.09003, 0.08896, 0.08811, 0.08725, 0.08668",\
                 "0.1164, 0.1158, 0.114, 0.1111, 0.1078, 0.1044, 0.1014, 0.09877, 0.09646, 0.09458",\
                 "0.1531, 0.1521, 0.1489, 0.1438, 0.1377, 0.1313, 0.1251, 0.1196, 0.1147, 0.1106",\
                 "0.2066, 0.2051, 0.2004, 0.1928, 0.1832, 0.1731, 0.1629, 0.1535, 0.145, 0.1375",\
                 "0.2778, 0.2759, 0.2697, 0.2591, 0.2459, 0.2313, 0.2167, 0.2026, 0.1895, 0.1776",\
                 "0.3677, 0.3653, 0.3575, 0.3443, 0.3271, 0.3078, 0.288, 0.2686, 0.2502, 0.2333");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3326, 0.3326, 0.3326, 0.3328, 0.333, 0.3334, 0.3337, 0.3343, 0.3353, 0.3379",\
                 "0.3304, 0.3305, 0.3307, 0.3309, 0.3313, 0.3317, 0.3322, 0.3327, 0.3335, 0.3362",\
                 "0.3273, 0.3274, 0.3278, 0.3283, 0.329, 0.3299, 0.3306, 0.3312, 0.3322, 0.3353",\
                 "0.3277, 0.3277, 0.3278, 0.328, 0.3283, 0.329, 0.3298, 0.3305, 0.3317, 0.3349",\
                 "0.3407, 0.3403, 0.3394, 0.338, 0.3366, 0.3356, 0.3347, 0.3345, 0.3347, 0.3378",\
                 "0.3728, 0.3719, 0.3694, 0.3653, 0.3607, 0.3564, 0.3526, 0.3496, 0.3473, 0.3493",\
                 "0.4246, 0.4232, 0.4192, 0.4126, 0.4045, 0.3959, 0.3874, 0.38, 0.3742, 0.3733",\
                 "0.4957, 0.4939, 0.4885, 0.4794, 0.4677, 0.455, 0.442, 0.4293, 0.4185, 0.4154",\
                 "0.5861, 0.584, 0.5775, 0.5661, 0.551, 0.5342, 0.5164, 0.4988, 0.4833, 0.4781",\
                 "0.696, 0.6938, 0.6862, 0.6727, 0.655, 0.634, 0.6117, 0.5892, 0.57, 0.5664");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "!A1&A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.06554, 0.06551, 0.06547, 0.06547, 0.06555, 0.06558, 0.06558, 0.06563, 0.06561, 0.06559",\
                 "0.0636, 0.06362, 0.06358, 0.06361, 0.06366, 0.0637, 0.06373, 0.06378, 0.06379, 0.06377",\
                 "0.06171, 0.06167, 0.06168, 0.06167, 0.0618, 0.06183, 0.06187, 0.06194, 0.06192, 0.06192",\
                 "0.06273, 0.0627, 0.0625, 0.06231, 0.06216, 0.06197, 0.06183, 0.0617, 0.0616, 0.06153",\
                 "0.07228, 0.07204, 0.07126, 0.06992, 0.06857, 0.06739, 0.06627, 0.06535, 0.06453, 0.06391",\
                 "0.09535, 0.09469, 0.09272, 0.08944, 0.08583, 0.08227, 0.07908, 0.07627, 0.07392, 0.07197",\
                 "0.1341, 0.1329, 0.1292, 0.1236, 0.1169, 0.11, 0.1035, 0.09764, 0.09259, 0.08824",\
                 "0.1898, 0.1881, 0.1828, 0.1743, 0.1639, 0.1529, 0.1422, 0.1322, 0.1233, 0.1156",\
                 "0.2635, 0.2613, 0.2542, 0.2427, 0.2283, 0.2126, 0.197, 0.1822, 0.1685, 0.1563",\
                 "0.3559, 0.3532, 0.3444, 0.3299, 0.3112, 0.2905, 0.2695, 0.2491, 0.2301, 0.2126");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3122, 0.3122, 0.3123, 0.3124, 0.3126, 0.3129, 0.3134, 0.314, 0.3146, 0.317",\
                 "0.31, 0.3101, 0.3103, 0.3105, 0.3108, 0.3113, 0.3117, 0.3123, 0.313, 0.3155",\
                 "0.307, 0.3071, 0.3073, 0.3079, 0.3086, 0.3094, 0.3101, 0.3109, 0.3117, 0.3145",\
                 "0.3072, 0.3074, 0.3074, 0.3076, 0.3079, 0.3086, 0.3093, 0.3102, 0.3111, 0.314",\
                 "0.3204, 0.32, 0.319, 0.3176, 0.3162, 0.3151, 0.3144, 0.3143, 0.3143, 0.3168",\
                 "0.3523, 0.3514, 0.349, 0.345, 0.3405, 0.336, 0.332, 0.3291, 0.3266, 0.328",\
                 "0.4041, 0.4028, 0.3987, 0.3921, 0.384, 0.3754, 0.367, 0.3596, 0.3536, 0.3523",\
                 "0.4753, 0.4736, 0.468, 0.4589, 0.4472, 0.4345, 0.4215, 0.4089, 0.3982, 0.3937",\
                 "0.5657, 0.5637, 0.5571, 0.5458, 0.5305, 0.5137, 0.496, 0.4782, 0.4626, 0.456",\
                 "0.6758, 0.6735, 0.6658, 0.6526, 0.6347, 0.6135, 0.591, 0.5686, 0.5487, 0.5433");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "!A1&A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.06548, 0.06556, 0.06546, 0.06545, 0.06549, 0.06553, 0.0656, 0.06559, 0.06562, 0.06561",\
                 "0.06369, 0.06371, 0.06363, 0.06368, 0.06367, 0.06371, 0.06375, 0.06375, 0.06378, 0.06377",\
                 "0.06182, 0.06182, 0.06186, 0.06173, 0.06178, 0.06181, 0.06188, 0.0619, 0.06195, 0.06193",\
                 "0.06315, 0.06313, 0.06295, 0.06272, 0.0624, 0.06225, 0.06204, 0.06188, 0.06174, 0.06165",\
                 "0.07373, 0.07341, 0.07245, 0.07111, 0.06968, 0.06823, 0.06699, 0.06599, 0.06516, 0.0644",\
                 "0.09768, 0.09699, 0.09488, 0.09165, 0.08784, 0.084, 0.08058, 0.07761, 0.07508, 0.07295",\
                 "0.1373, 0.1362, 0.1324, 0.1266, 0.1198, 0.1126, 0.1058, 0.09974, 0.09444, 0.0899",\
                 "0.1939, 0.1923, 0.1869, 0.1782, 0.1676, 0.1563, 0.1454, 0.1352, 0.126, 0.1179",\
                 "0.2686, 0.2664, 0.2592, 0.2476, 0.2329, 0.217, 0.2011, 0.1861, 0.1721, 0.1597",\
                 "0.3616, 0.3589, 0.3501, 0.3354, 0.3166, 0.2958, 0.2744, 0.2539, 0.2346, 0.2168");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3302, 0.3302, 0.3303, 0.3304, 0.3306, 0.3309, 0.3314, 0.3319, 0.3326, 0.3351",\
                 "0.3282, 0.3283, 0.3285, 0.3289, 0.3292, 0.3297, 0.3302, 0.3308, 0.3316, 0.3342",\
                 "0.325, 0.3251, 0.3255, 0.3261, 0.3269, 0.3278, 0.3287, 0.3295, 0.3305, 0.3336",\
                 "0.3253, 0.3253, 0.3254, 0.3256, 0.3261, 0.3268, 0.3278, 0.3286, 0.3296, 0.3327",\
                 "0.3384, 0.338, 0.3371, 0.336, 0.3347, 0.3337, 0.333, 0.3328, 0.3329, 0.3356",\
                 "0.37, 0.3694, 0.3672, 0.3638, 0.3595, 0.3553, 0.3514, 0.3483, 0.3461, 0.3474",\
                 "0.4215, 0.4205, 0.4169, 0.411, 0.4038, 0.3957, 0.3876, 0.3804, 0.3744, 0.373",\
                 "0.4925, 0.491, 0.4861, 0.478, 0.4674, 0.4558, 0.4435, 0.4314, 0.4209, 0.4167",\
                 "0.5827, 0.5809, 0.5748, 0.5646, 0.5509, 0.5355, 0.519, 0.5025, 0.4877, 0.4817",\
                 "0.6928, 0.6907, 0.6839, 0.6716, 0.655, 0.6356, 0.6152, 0.5943, 0.5754, 0.5719");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&!A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04516, 0.04518, 0.04514, 0.04514, 0.04511, 0.04512, 0.04516, 0.04519, 0.04521, 0.04519",\
                 "0.04324, 0.04324, 0.04324, 0.04328, 0.04324, 0.04329, 0.04331, 0.04339, 0.0434, 0.04338",\
                 "0.04118, 0.04123, 0.04124, 0.04126, 0.04136, 0.04139, 0.04143, 0.04148, 0.04151, 0.04149",\
                 "0.04245, 0.04237, 0.04222, 0.042, 0.04179, 0.0416, 0.0414, 0.04128, 0.0412, 0.04111",\
                 "0.05328, 0.05292, 0.05176, 0.05026, 0.04874, 0.04729, 0.04607, 0.04508, 0.04426, 0.04358",\
                 "0.07812, 0.0773, 0.07473, 0.07101, 0.0668, 0.06284, 0.05936, 0.05635, 0.05385, 0.0518",\
                 "0.1193, 0.1178, 0.1135, 0.1068, 0.09923, 0.09155, 0.08442, 0.07826, 0.07293, 0.06841",\
                 "0.1776, 0.1756, 0.1693, 0.1595, 0.1477, 0.1356, 0.1241, 0.1135, 0.1042, 0.09614",\
                 "0.2541, 0.2514, 0.2432, 0.23, 0.2139, 0.1967, 0.18, 0.1644, 0.1501, 0.1374",\
                 "0.3487, 0.3456, 0.3356, 0.3191, 0.2986, 0.2761, 0.2537, 0.2324, 0.2125, 0.1944");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2915, 0.2915, 0.2915, 0.2917, 0.2919, 0.2922, 0.2926, 0.2931, 0.2938, 0.2957",\
                 "0.2894, 0.2894, 0.2896, 0.2899, 0.2902, 0.2905, 0.291, 0.2915, 0.2922, 0.2943",\
                 "0.2863, 0.2864, 0.2867, 0.2872, 0.288, 0.2887, 0.2894, 0.2901, 0.291, 0.2931",\
                 "0.2866, 0.2866, 0.2867, 0.2869, 0.2873, 0.2879, 0.2887, 0.2895, 0.2903, 0.2929",\
                 "0.2998, 0.2994, 0.2984, 0.2969, 0.2954, 0.2944, 0.2937, 0.2934, 0.2934, 0.2955",\
                 "0.3316, 0.3307, 0.3284, 0.3244, 0.3196, 0.3154, 0.3114, 0.3083, 0.3058, 0.3066",\
                 "0.3835, 0.3823, 0.3781, 0.3714, 0.3636, 0.3548, 0.3465, 0.3387, 0.3326, 0.3307",\
                 "0.4548, 0.4531, 0.4477, 0.4383, 0.4265, 0.4138, 0.4008, 0.3883, 0.3771, 0.3721",\
                 "0.5453, 0.5434, 0.5367, 0.5252, 0.5099, 0.493, 0.4754, 0.4577, 0.4418, 0.4341",\
                 "0.6555, 0.6533, 0.6455, 0.6321, 0.6141, 0.593, 0.5703, 0.5481, 0.5276, 0.5204");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&!A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04518, 0.04514, 0.04514, 0.04515, 0.04515, 0.04512, 0.04517, 0.04519, 0.04522, 0.04519",\
                 "0.04321, 0.0432, 0.04328, 0.04328, 0.04326, 0.04328, 0.04333, 0.04335, 0.04338, 0.04338",\
                 "0.04128, 0.04131, 0.04136, 0.04137, 0.04138, 0.04146, 0.04148, 0.04148, 0.04149, 0.04149",\
                 "0.043, 0.04293, 0.04268, 0.0424, 0.04211, 0.04186, 0.04166, 0.04145, 0.04134, 0.04125",\
                 "0.05478, 0.05434, 0.05323, 0.05151, 0.04977, 0.04824, 0.04685, 0.04572, 0.04486, 0.0441",\
                 "0.08069, 0.07981, 0.07714, 0.07325, 0.06885, 0.06465, 0.06089, 0.05773, 0.05501, 0.0528",\
                 "0.1227, 0.1213, 0.1168, 0.11, 0.1021, 0.09425, 0.08691, 0.08038, 0.0748, 0.07005",\
                 "0.182, 0.1799, 0.1735, 0.1636, 0.1516, 0.1392, 0.1274, 0.1166, 0.107, 0.09857",\
                 "0.2591, 0.2565, 0.2482, 0.2349, 0.2186, 0.2012, 0.1842, 0.1683, 0.1538, 0.1408",\
                 "0.3545, 0.3514, 0.3413, 0.3248, 0.3041, 0.2815, 0.2588, 0.2371, 0.217, 0.1986");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3095, 0.3095, 0.3095, 0.3097, 0.3099, 0.3102, 0.3107, 0.3111, 0.3118, 0.3139",\
                 "0.3075, 0.3076, 0.3078, 0.3082, 0.3085, 0.309, 0.3095, 0.31, 0.3108, 0.313",\
                 "0.3043, 0.3044, 0.3048, 0.3054, 0.3062, 0.307, 0.3079, 0.3088, 0.3097, 0.3122",\
                 "0.3046, 0.3046, 0.3047, 0.305, 0.3055, 0.3061, 0.3069, 0.3078, 0.3088, 0.3119",\
                 "0.3177, 0.3174, 0.3165, 0.3153, 0.3139, 0.3129, 0.3123, 0.312, 0.3121, 0.3143",\
                 "0.3494, 0.3488, 0.3466, 0.3432, 0.3389, 0.3347, 0.3309, 0.3276, 0.3253, 0.3261",\
                 "0.401, 0.3999, 0.3963, 0.3904, 0.3832, 0.375, 0.367, 0.3598, 0.3536, 0.3517",\
                 "0.472, 0.4706, 0.4656, 0.4574, 0.4467, 0.4349, 0.4228, 0.4108, 0.3998, 0.395",\
                 "0.5623, 0.5606, 0.5544, 0.5442, 0.5304, 0.5147, 0.4985, 0.4819, 0.4665, 0.4593",\
                 "0.6724, 0.6704, 0.6634, 0.6512, 0.6347, 0.615, 0.5943, 0.5734, 0.5542, 0.549");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04518, 0.04514, 0.04513, 0.04514, 0.04514, 0.04512, 0.04517, 0.04518, 0.04522, 0.04521",\
                 "0.04321, 0.04319, 0.04322, 0.04324, 0.04325, 0.04328, 0.04333, 0.04334, 0.04335, 0.04341",\
                 "0.04128, 0.04131, 0.04133, 0.0414, 0.04144, 0.04145, 0.04147, 0.04148, 0.04151, 0.0415",\
                 "0.04298, 0.04292, 0.04268, 0.0424, 0.04211, 0.04185, 0.04166, 0.04149, 0.04138, 0.04125",\
                 "0.05474, 0.05435, 0.05321, 0.05148, 0.04977, 0.0482, 0.04687, 0.04576, 0.04486, 0.04406",\
                 "0.08066, 0.0798, 0.07713, 0.07323, 0.06886, 0.06465, 0.06088, 0.0577, 0.05502, 0.05282",\
                 "0.1227, 0.1213, 0.1168, 0.1099, 0.1022, 0.09425, 0.0869, 0.08037, 0.07479, 0.07005",\
                 "0.1819, 0.1799, 0.1735, 0.1636, 0.1516, 0.1392, 0.1274, 0.1166, 0.107, 0.09854",\
                 "0.2591, 0.2565, 0.2482, 0.2349, 0.2186, 0.2012, 0.1842, 0.1683, 0.1538, 0.1408",\
                 "0.3545, 0.3514, 0.3413, 0.3248, 0.3041, 0.2815, 0.2588, 0.2371, 0.217, 0.1986");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3094, 0.3095, 0.3096, 0.3097, 0.3099, 0.3102, 0.3107, 0.3111, 0.3118, 0.3138",\
                 "0.3075, 0.3076, 0.3078, 0.3082, 0.3086, 0.309, 0.3097, 0.3101, 0.3108, 0.313",\
                 "0.3043, 0.3045, 0.3047, 0.3055, 0.3062, 0.3071, 0.308, 0.3088, 0.3097, 0.312",\
                 "0.3046, 0.3047, 0.3047, 0.305, 0.3055, 0.3061, 0.3069, 0.3078, 0.3089, 0.3115",\
                 "0.3177, 0.3175, 0.3166, 0.3153, 0.3139, 0.3128, 0.3124, 0.312, 0.3122, 0.3143",\
                 "0.3494, 0.3488, 0.3466, 0.3429, 0.3389, 0.3347, 0.3307, 0.3276, 0.3253, 0.3261",\
                 "0.401, 0.3999, 0.3962, 0.3903, 0.3831, 0.375, 0.367, 0.3597, 0.3537, 0.3518",\
                 "0.472, 0.4705, 0.4655, 0.4574, 0.4466, 0.4351, 0.4228, 0.4108, 0.3999, 0.395",\
                 "0.5623, 0.5606, 0.5543, 0.5441, 0.5304, 0.5147, 0.4984, 0.4819, 0.4665, 0.4596",\
                 "0.6725, 0.6704, 0.6635, 0.6513, 0.6347, 0.6151, 0.5942, 0.5735, 0.5543, 0.549");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.04515, 0.04519, 0.04517, 0.04512, 0.04514, 0.04515, 0.04515, 0.0452, 0.04523, 0.04521",\
                 "0.0433, 0.04323, 0.04324, 0.04324, 0.04329, 0.04331, 0.04334, 0.04337, 0.04337, 0.04337",\
                 "0.04126, 0.0413, 0.04139, 0.04144, 0.04136, 0.04147, 0.04149, 0.04151, 0.04152, 0.04153",\
                 "0.04318, 0.04311, 0.04284, 0.04258, 0.04226, 0.04199, 0.04178, 0.04159, 0.04145, 0.04132",\
                 "0.05528, 0.05489, 0.05371, 0.05197, 0.0502, 0.04859, 0.04716, 0.04602, 0.04508, 0.04428",\
                 "0.08154, 0.08064, 0.07795, 0.07403, 0.06959, 0.06529, 0.06144, 0.05821, 0.05546, 0.05316",\
                 "0.1238, 0.1224, 0.118, 0.111, 0.1031, 0.09517, 0.08774, 0.08115, 0.07549, 0.07066",\
                 "0.1832, 0.1812, 0.1749, 0.1648, 0.1528, 0.1404, 0.1285, 0.1177, 0.1079, 0.09944",\
                 "0.2605, 0.258, 0.2497, 0.2365, 0.2201, 0.2027, 0.1857, 0.1696, 0.155, 0.1419",\
                 "0.3563, 0.3531, 0.3431, 0.3266, 0.306, 0.2833, 0.2605, 0.2388, 0.2186, 0.2001");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3271, 0.3271, 0.3271, 0.3272, 0.3274, 0.3277, 0.3283, 0.3286, 0.3293, 0.3315",\
                 "0.3251, 0.3253, 0.3255, 0.3258, 0.3263, 0.3267, 0.3273, 0.3278, 0.3286, 0.3308",\
                 "0.3219, 0.3221, 0.3224, 0.3231, 0.3239, 0.3247, 0.3258, 0.3266, 0.3274, 0.33",\
                 "0.3222, 0.3222, 0.3223, 0.3225, 0.323, 0.3236, 0.3245, 0.3253, 0.3265, 0.3292",\
                 "0.3349, 0.3347, 0.3339, 0.3326, 0.3314, 0.3305, 0.3299, 0.3297, 0.3298, 0.3321",\
                 "0.3661, 0.3655, 0.3635, 0.3604, 0.3563, 0.3523, 0.3486, 0.3456, 0.3431, 0.3443",\
                 "0.4171, 0.4161, 0.4127, 0.4074, 0.4003, 0.3929, 0.3851, 0.3779, 0.3718, 0.3702",\
                 "0.4876, 0.4862, 0.4816, 0.4739, 0.4639, 0.4528, 0.4408, 0.4294, 0.4188, 0.4143",\
                 "0.5776, 0.5759, 0.5701, 0.5603, 0.5473, 0.5324, 0.5168, 0.5007, 0.4858, 0.4794",\
                 "0.6874, 0.6854, 0.6788, 0.6671, 0.6512, 0.6327, 0.6128, 0.5927, 0.5742, 0.5696");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1287, 0.1384, 0.1717, 0.2327, 0.3242, 0.4495, 0.612, 0.8148, 1.061, 1.354",\
                 "0.1428, 0.1525, 0.1858, 0.2469, 0.3387, 0.464, 0.6266, 0.8295, 1.076, 1.369",\
                 "0.1939, 0.2037, 0.2356, 0.2945, 0.3854, 0.5105, 0.6729, 0.8758, 1.122, 1.415",\
                 "0.2412, 0.2542, 0.2977, 0.3724, 0.4733, 0.5994, 0.7605, 0.9629, 1.209, 1.501",\
                 "0.2571, 0.2744, 0.3298, 0.4242, 0.5527, 0.7104, 0.8934, 1.1, 1.345, 1.637",\
                 "0.2342, 0.2551, 0.3238, 0.4405, 0.5972, 0.7888, 1.011, 1.259, 1.533, 1.831",\
                 "0.1661, 0.1912, 0.2736, 0.4134, 0.6014, 0.8292, 1.091, 1.383, 1.703, 2.049",\
                 "0.0501, 0.0785, 0.1745, 0.3378, 0.5581, 0.8248, 1.129, 1.466, 1.833, 2.23",\
                 "-0.1187, -0.0848, 0.0247, 0.2108, 0.4637, 0.7697, 1.118, 1.503, 1.919, 2.367",\
                 "-0.3417, -0.3041, -0.1816, 0.0291, 0.3145, 0.6603, 1.055, 1.489, 1.958, 2.459");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3136, 0.345, 0.4512, 0.6531, 0.9659, 1.403, 1.977, 2.699, 3.581, 4.631",\
                 "0.3199, 0.351, 0.4594, 0.6637, 0.9787, 1.417, 1.993, 2.716, 3.598, 4.648",\
                 "0.3695, 0.3997, 0.5053, 0.7077, 1.022, 1.462, 2.038, 2.763, 3.646, 4.697",\
                 "0.4968, 0.5265, 0.626, 0.8212, 1.128, 1.563, 2.136, 2.858, 3.74, 4.79",\
                 "0.678, 0.7116, 0.8231, 1.023, 1.321, 1.745, 2.31, 3.025, 3.901, 4.948",\
                 "0.9109, 0.9473, 1.07, 1.29, 1.607, 2.025, 2.577, 3.283, 4.15, 5.188",\
                 "1.199, 1.24, 1.374, 1.611, 1.955, 2.402, 2.952, 3.645, 4.499, 5.527",\
                 "1.542, 1.588, 1.737, 1.994, 2.36, 2.841, 3.426, 4.12, 4.963, 5.976",\
                 "1.941, 1.993, 2.16, 2.441, 2.833, 3.34, 3.964, 4.7, 5.547, 6.546",\
                 "2.4, 2.458, 2.643, 2.953, 3.375, 3.909, 4.566, 5.344, 6.238, 7.245");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1948, 0.2105, 0.2644, 0.3634, 0.5139, 0.7226, 0.9955, 1.337, 1.756, 2.254",\
                 "0.1935, 0.2095, 0.2639, 0.3634, 0.514, 0.7226, 0.9955, 1.338, 1.758, 2.254",\
                 "0.2065, 0.2188, 0.2646, 0.3583, 0.5115, 0.7218, 0.9946, 1.338, 1.758, 2.256",\
                 "0.2858, 0.3011, 0.3512, 0.4369, 0.5569, 0.7346, 0.9934, 1.337, 1.757, 2.254",\
                 "0.3876, 0.4063, 0.4642, 0.5646, 0.705, 0.8814, 1.095, 1.382, 1.765, 2.255",\
                 "0.5128, 0.5342, 0.6056, 0.7218, 0.8812, 1.08, 1.32, 1.596, 1.919, 2.335",\
                 "0.658, 0.6848, 0.7682, 0.9066, 1.089, 1.311, 1.575, 1.879, 2.227, 2.612",\
                 "0.8222, 0.8536, 0.9526, 1.114, 1.325, 1.578, 1.865, 2.197, 2.578, 2.995",\
                 "1.007, 1.043, 1.157, 1.342, 1.586, 1.869, 2.193, 2.551, 2.957, 3.41",\
                 "1.21, 1.252, 1.386, 1.595, 1.869, 2.19, 2.549, 2.948, 3.381, 3.862");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7606, 0.8195, 1.021, 1.394, 1.958, 2.731, 3.738, 4.998, 6.534, 8.366",\
                 "0.7602, 0.8188, 1.021, 1.394, 1.958, 2.731, 3.737, 4.999, 6.536, 8.368",\
                 "0.7548, 0.8152, 1.02, 1.394, 1.958, 2.732, 3.738, 4.999, 6.534, 8.366",\
                 "0.7819, 0.8352, 1.022, 1.392, 1.958, 2.731, 3.738, 4.999, 6.535, 8.366",\
                 "0.8828, 0.9352, 1.106, 1.434, 1.962, 2.731, 3.738, 4.999, 6.536, 8.369",\
                 "0.9908, 1.044, 1.229, 1.562, 2.051, 2.757, 3.739, 4.999, 6.536, 8.369",\
                 "1.14, 1.189, 1.366, 1.712, 2.221, 2.891, 3.796, 5.006, 6.536, 8.369",\
                 "1.341, 1.384, 1.546, 1.878, 2.404, 3.102, 3.976, 5.103, 6.556, 8.369",\
                 "1.582, 1.622, 1.773, 2.087, 2.599, 3.327, 4.232, 5.324, 6.696, 8.411",\
                 "1.849, 1.889, 2.039, 2.34, 2.836, 3.561, 4.501, 5.63, 6.963, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1186, 0.1275, 0.1582, 0.2155, 0.3033, 0.4255, 0.5854, 0.7864, 1.032, 1.323",\
                 "0.1326, 0.1415, 0.1722, 0.2297, 0.3177, 0.44, 0.5999, 0.8011, 1.046, 1.338",\
                 "0.1788, 0.1885, 0.2202, 0.2766, 0.3642, 0.4863, 0.6462, 0.8473, 1.092, 1.384",\
                 "0.2133, 0.2266, 0.2703, 0.3458, 0.4482, 0.5747, 0.7339, 0.9343, 1.179, 1.47",\
                 "0.2141, 0.2316, 0.2895, 0.3864, 0.5176, 0.6779, 0.8635, 1.071, 1.316, 1.606",\
                 "0.1745, 0.1961, 0.2685, 0.3895, 0.5514, 0.7476, 0.9729, 1.224, 1.5, 1.8",\
                 "0.0892, 0.1161, 0.2026, 0.3488, 0.544, 0.7782, 1.045, 1.341, 1.664, 2.013",\
                 "-0.0441, -0.0127, 0.0883, 0.26, 0.4892, 0.7636, 1.074, 1.416, 1.787, 2.187",\
                 "-0.229, -0.1939, -0.0771, 0.1189, 0.3823, 0.6977, 1.055, 1.446, 1.868, 2.319",\
                 "-0.4693, -0.4297, -0.2977, -0.0756, 0.2207, 0.5767, 0.9817, 1.424, 1.9, 2.405");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3136, 0.3446, 0.4513, 0.6531, 0.9659, 1.403, 1.977, 2.699, 3.58, 4.629",\
                 "0.3203, 0.351, 0.4594, 0.6637, 0.9788, 1.417, 1.993, 2.716, 3.598, 4.647",\
                 "0.3697, 0.3994, 0.5055, 0.7077, 1.022, 1.462, 2.038, 2.763, 3.645, 4.695",\
                 "0.4967, 0.5265, 0.6262, 0.821, 1.128, 1.563, 2.136, 2.858, 3.739, 4.788",\
                 "0.6785, 0.7116, 0.8233, 1.022, 1.321, 1.745, 2.309, 3.025, 3.901, 4.946",\
                 "0.9109, 0.9468, 1.07, 1.29, 1.607, 2.025, 2.578, 3.282, 4.15, 5.187",\
                 "1.199, 1.24, 1.373, 1.611, 1.955, 2.402, 2.952, 3.645, 4.499, 5.525",\
                 "1.542, 1.588, 1.737, 1.994, 2.36, 2.841, 3.426, 4.12, 4.962, 5.975",\
                 "1.942, 1.993, 2.161, 2.442, 2.833, 3.339, 3.964, 4.7, 5.546, 6.545",\
                 "2.4, 2.458, 2.643, 2.953, 3.376, 3.909, 4.564, 5.344, 6.236, 7.243");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1674, 0.1821, 0.2331, 0.3297, 0.4782, 0.6857, 0.9581, 1.301, 1.72, 2.217",\
                 "0.1664, 0.1813, 0.2329, 0.3296, 0.4782, 0.6858, 0.9577, 1.3, 1.719, 2.217",\
                 "0.1878, 0.1992, 0.2415, 0.329, 0.4763, 0.6847, 0.9573, 1.301, 1.72, 2.217",\
                 "0.2639, 0.2789, 0.3295, 0.4146, 0.5348, 0.7077, 0.9603, 1.301, 1.719, 2.217",\
                 "0.3655, 0.3833, 0.4421, 0.5424, 0.6824, 0.8596, 1.072, 1.353, 1.73, 2.218",\
                 "0.4878, 0.5114, 0.5822, 0.7002, 0.8582, 1.058, 1.297, 1.574, 1.895, 2.305",\
                 "0.6312, 0.6564, 0.7428, 0.8838, 1.068, 1.288, 1.552, 1.86, 2.205, 2.59",\
                 "0.7928, 0.8238, 0.9258, 1.09, 1.301, 1.554, 1.842, 2.175, 2.554, 2.973",\
                 "0.9732, 1.01, 1.129, 1.316, 1.561, 1.846, 2.172, 2.531, 2.935, 3.388",\
                 "1.166, 1.211, 1.351, 1.566, 1.843, 2.167, 2.527, 2.928, 3.361, 3.841");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6791, 0.7327, 0.9192, 1.271, 1.813, 2.573, 3.574, 4.834, 6.364, 8.194",\
                 "0.679, 0.7326, 0.9188, 1.271, 1.813, 2.573, 3.572, 4.834, 6.371, 8.202",\
                 "0.6738, 0.7291, 0.9184, 1.271, 1.814, 2.573, 3.574, 4.833, 6.367, 8.2",\
                 "0.7011, 0.7494, 0.9205, 1.267, 1.814, 2.574, 3.573, 4.831, 6.365, 8.201",\
                 "0.7866, 0.8366, 1.001, 1.31, 1.818, 2.573, 3.574, 4.83, 6.371, 8.203",\
                 "0.8808, 0.9308, 1.108, 1.433, 1.906, 2.599, 3.574, 4.831, 6.371, 8.203",\
                 "1.013, 1.06, 1.231, 1.565, 2.07, 2.733, 3.632, 4.841, 6.367, 8.203",\
                 "1.187, 1.232, 1.395, 1.719, 2.239, 2.939, 3.81, 4.938, 6.39, 8.201",\
                 "1.389, 1.436, 1.598, 1.912, 2.426, 3.152, 4.065, 5.156, 6.531, 8.247",\
                 "1.616, 1.663, 1.831, 2.149, 2.648, 3.377, 4.323, 5.459, 6.796, 8.428");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.09931, 0.1064, 0.131, 0.1767, 0.2466, 0.3438, 0.4709, 0.6307, 0.8254, 1.057",\
                 "0.1141, 0.1212, 0.1457, 0.1916, 0.2616, 0.3589, 0.4861, 0.6459, 0.8406, 1.072",\
                 "0.159, 0.1675, 0.1954, 0.2427, 0.3124, 0.4094, 0.5365, 0.6962, 0.891, 1.123",\
                 "0.1855, 0.1978, 0.2375, 0.3044, 0.3951, 0.5043, 0.6328, 0.792, 0.9859, 1.218",\
                 "0.1767, 0.1928, 0.2457, 0.3343, 0.4524, 0.5949, 0.758, 0.9381, 1.136, 1.367",\
                 "0.1245, 0.1449, 0.2122, 0.3236, 0.4716, 0.6487, 0.85, 1.073, 1.314, 1.572",\
                 "0.0248, 0.0496, 0.1304, 0.2659, 0.4459, 0.6606, 0.9022, 1.167, 1.455, 1.762",\
                 "-0.1269, -0.0975, -0.0022, 0.1569, 0.37, 0.6229, 0.908, 1.219, 1.553, 1.909",\
                 "-0.333, -0.3, -0.1906, -0.0055, 0.2386, 0.5315, 0.8607, 1.219, 1.603, 2.011",\
                 "-0.5975, -0.5603, -0.4368, -0.2276, 0.0503, 0.3816, 0.7564, 1.164, 1.6, 2.06");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3126, 0.3434, 0.4501, 0.6522, 0.9647, 1.402, 1.976, 2.698, 3.579, 4.628",\
                 "0.3164, 0.348, 0.4564, 0.6603, 0.975, 1.414, 1.989, 2.713, 3.594, 4.644",\
                 "0.3671, 0.3969, 0.5023, 0.7036, 1.018, 1.457, 2.033, 2.757, 3.64, 4.69",\
                 "0.4989, 0.5279, 0.627, 0.8208, 1.127, 1.56, 2.132, 2.854, 3.735, 4.784",\
                 "0.6844, 0.7179, 0.8292, 1.027, 1.324, 1.748, 2.31, 3.024, 3.899, 4.944",\
                 "0.9239, 0.9595, 1.082, 1.302, 1.617, 2.033, 2.585, 3.288, 4.153, 5.189",\
                 "1.222, 1.261, 1.394, 1.629, 1.973, 2.417, 2.967, 3.658, 4.511, 5.535",\
                 "1.579, 1.623, 1.77, 2.023, 2.388, 2.866, 3.45, 4.143, 4.983, 5.994",\
                 "1.995, 2.045, 2.208, 2.485, 2.873, 3.378, 4, 4.732, 5.577, 6.575",\
                 "2.473, 2.53, 2.711, 3.016, 3.431, 3.961, 4.616, 5.391, 6.28, 7.285");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1275, 0.1389, 0.1795, 0.2556, 0.372, 0.5357, 0.7503, 1.021, 1.352, 1.745",\
                 "0.127, 0.1386, 0.1789, 0.2555, 0.3719, 0.5356, 0.7503, 1.021, 1.351, 1.745",\
                 "0.1617, 0.1711, 0.2022, 0.2637, 0.3723, 0.5353, 0.7504, 1.021, 1.351, 1.745",\
                 "0.2378, 0.2507, 0.2926, 0.364, 0.46, 0.5836, 0.7652, 1.023, 1.351, 1.745",\
                 "0.336, 0.3521, 0.4042, 0.491, 0.6094, 0.7544, 0.9232, 1.124, 1.396, 1.754",\
                 "0.4526, 0.4738, 0.5388, 0.6446, 0.7824, 0.951, 1.151, 1.376, 1.623, 1.916",\
                 "0.5888, 0.6128, 0.6922, 0.8192, 0.9836, 1.178, 1.403, 1.658, 1.942, 2.255",\
                 "0.7456, 0.7736, 0.8656, 1.015, 1.208, 1.433, 1.688, 1.971, 2.286, 2.633",\
                 "0.914, 0.9492, 1.06, 1.235, 1.455, 1.715, 2.003, 2.319, 2.665, 3.044",\
                 "1.095, 1.138, 1.269, 1.475, 1.726, 2.02, 2.344, 2.698, 3.082, 3.492");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6791, 0.7331, 0.9192, 1.27, 1.813, 2.574, 3.572, 4.829, 6.37, 8.202",\
                 "0.6789, 0.7321, 0.9194, 1.271, 1.814, 2.573, 3.574, 4.833, 6.368, 8.2",\
                 "0.6731, 0.7286, 0.9182, 1.271, 1.813, 2.574, 3.572, 4.834, 6.369, 8.201",\
                 "0.7006, 0.7483, 0.9205, 1.268, 1.814, 2.574, 3.573, 4.833, 6.37, 8.199",\
                 "0.783, 0.8336, 0.9988, 1.308, 1.817, 2.574, 3.574, 4.831, 6.371, 8.198",\
                 "0.8716, 0.9224, 1.101, 1.427, 1.904, 2.597, 3.574, 4.832, 6.371, 8.198",\
                 "0.9954, 1.043, 1.216, 1.555, 2.061, 2.727, 3.627, 4.84, 6.367, 8.196",\
                 "1.161, 1.206, 1.369, 1.699, 2.224, 2.927, 3.8, 4.934, 6.39, 8.199",\
                 "1.355, 1.402, 1.562, 1.88, 2.397, 3.129, 4.046, 5.144, 6.519, 8.238",\
                 "1.572, 1.62, 1.786, 2.103, 2.606, 3.342, 4.298, 5.436, 6.777, 8.416");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.09165, 0.1001, 0.1291, 0.1849, 0.2713, 0.3922, 0.5516, 0.7519, 0.9967, 1.289",\
                 "0.1055, 0.1139, 0.1431, 0.1989, 0.2856, 0.4069, 0.5661, 0.7668, 1.012, 1.303",\
                 "0.1439, 0.1543, 0.1885, 0.246, 0.3321, 0.4532, 0.6126, 0.8129, 1.058, 1.35",\
                 "0.1606, 0.1754, 0.2237, 0.3042, 0.4115, 0.5412, 0.7001, 0.9, 1.144, 1.436",\
                 "0.1418, 0.1617, 0.2258, 0.3312, 0.4692, 0.6352, 0.8256, 1.037, 1.281, 1.571",\
                 "0.0813, 0.1063, 0.1872, 0.3195, 0.4914, 0.6951, 0.9261, 1.183, 1.463, 1.765",\
                 "-0.0243, 0.0062, 0.1037, 0.2631, 0.471, 0.7154, 0.9895, 1.291, 1.62, 1.973",\
                 "-0.1785, -0.1427, -0.0282, 0.1583, 0.4018, 0.6898, 1.01, 1.359, 1.736, 2.141",\
                 "-0.384, -0.3432, -0.2125, 0.0024, 0.2824, 0.6122, 0.9805, 1.381, 1.811, 2.267",\
                 "-0.643, -0.597, -0.45, -0.2079, 0.1076, 0.4807, 0.8972, 1.35, 1.834, 2.346");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3046, 0.3348, 0.4415, 0.6422, 0.9536, 1.389, 1.96, 2.679, 3.558, 4.604",\
                 "0.3105, 0.3416, 0.4497, 0.6529, 0.9662, 1.403, 1.976, 2.696, 3.575, 4.622",\
                 "0.3603, 0.3903, 0.4954, 0.6966, 1.01, 1.448, 2.021, 2.743, 3.623, 4.671",\
                 "0.4869, 0.5166, 0.6163, 0.8098, 1.116, 1.548, 2.119, 2.838, 3.717, 4.764",\
                 "0.666, 0.6995, 0.812, 1.011, 1.308, 1.731, 2.293, 3.005, 3.879, 4.921",\
                 "0.8965, 0.933, 1.056, 1.277, 1.593, 2.01, 2.561, 3.262, 4.126, 5.163",\
                 "1.181, 1.223, 1.358, 1.595, 1.94, 2.385, 2.935, 3.624, 4.476, 5.5",\
                 "1.52, 1.567, 1.718, 1.976, 2.342, 2.822, 3.407, 4.099, 4.938, 5.95",\
                 "1.915, 1.967, 2.137, 2.42, 2.813, 3.317, 3.942, 4.676, 5.523, 6.519",\
                 "2.367, 2.424, 2.614, 2.927, 3.352, 3.885, 4.54, 5.319, 6.211, 7.217");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.131, 0.1457, 0.1964, 0.2923, 0.4405, 0.6476, 0.9211, 1.263, 1.682, 2.181",\
                 "0.1295, 0.1443, 0.1957, 0.2929, 0.4406, 0.6484, 0.921, 1.263, 1.681, 2.182",\
                 "0.1645, 0.177, 0.2175, 0.2977, 0.439, 0.6485, 0.9212, 1.264, 1.682, 2.182",\
                 "0.2395, 0.2548, 0.305, 0.3916, 0.5123, 0.6796, 0.9246, 1.263, 1.682, 2.18",\
                 "0.3386, 0.3573, 0.4175, 0.5189, 0.66, 0.8374, 1.05, 1.325, 1.697, 2.182",\
                 "0.4572, 0.4804, 0.556, 0.6756, 0.8368, 1.034, 1.276, 1.553, 1.872, 2.277",\
                 "0.5966, 0.6234, 0.7128, 0.8568, 1.043, 1.268, 1.529, 1.837, 2.183, 2.569",\
                 "0.7524, 0.7866, 0.892, 1.059, 1.277, 1.531, 1.822, 2.152, 2.53, 2.95",\
                 "0.9216, 0.963, 1.092, 1.284, 1.532, 1.822, 2.149, 2.508, 2.912, 3.363",\
                 "1.104, 1.154, 1.303, 1.533, 1.813, 2.138, 2.502, 2.904, 3.338, 3.818");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5106, 0.5633, 0.7486, 1.096, 1.638, 2.399, 3.4, 4.658, 6.193, 8.029",\
                 "0.51, 0.5627, 0.7467, 1.096, 1.64, 2.398, 3.404, 4.657, 6.201, 8.028",\
                 "0.5045, 0.5586, 0.7454, 1.096, 1.64, 2.399, 3.4, 4.657, 6.197, 8.034",\
                 "0.5328, 0.5792, 0.7497, 1.093, 1.639, 2.396, 3.404, 4.656, 6.201, 8.026",\
                 "0.5964, 0.6494, 0.8258, 1.135, 1.641, 2.397, 3.399, 4.656, 6.196, 8.023",\
                 "0.6756, 0.7278, 0.9118, 1.25, 1.731, 2.422, 3.401, 4.657, 6.196, 8.021",\
                 "0.7886, 0.8402, 1.022, 1.366, 1.885, 2.556, 3.461, 4.666, 6.197, 8.032",\
                 "0.9332, 0.986, 1.165, 1.505, 2.041, 2.755, 3.632, 4.756, 6.21, 8.031",\
                 "1.097, 1.157, 1.347, 1.685, 2.213, 2.953, 3.882, 4.98, 6.356, 8.069",\
                 "1.281, 1.344, 1.552, 1.903, 2.426, 3.164, 4.13, 5.279, 6.617, 8.256");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.07918, 0.08581, 0.1089, 0.1531, 0.2217, 0.3178, 0.4442, 0.6034, 0.7978, 1.029",\
                 "0.09359, 0.1003, 0.1237, 0.168, 0.2368, 0.3328, 0.4593, 0.6185, 0.8131, 1.045",\
                 "0.1286, 0.138, 0.1681, 0.2182, 0.2873, 0.3834, 0.5097, 0.6691, 0.8634, 1.095",\
                 "0.1385, 0.152, 0.1958, 0.2677, 0.3629, 0.4761, 0.6059, 0.7647, 0.9586, 1.19",\
                 "0.1103, 0.1289, 0.1879, 0.2841, 0.4092, 0.5572, 0.7244, 0.9083, 1.109, 1.339",\
                 "0.0384, 0.0621, 0.1369, 0.2587, 0.4166, 0.6014, 0.8082, 1.036, 1.281, 1.542",\
                 "-0.0814, -0.0528, 0.0384, 0.1864, 0.3785, 0.6026, 0.8524, 1.123, 1.415, 1.726",\
                 "-0.2534, -0.2193, -0.1116, 0.0631, 0.2895, 0.5526, 0.8486, 1.167, 1.506, 1.867",\
                 "-0.478, -0.4402, -0.3173, -0.1153, 0.1462, 0.4518, 0.7915, 1.159, 1.549, 1.963",\
                 "-0.7599, -0.7178, -0.5809, -0.3522, -0.0554, 0.2916, 0.6765, 1.096, 1.54, 2.007");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3035, 0.3338, 0.4403, 0.6414, 0.9525, 1.387, 1.959, 2.678, 3.557, 4.602",\
                 "0.3068, 0.3382, 0.4458, 0.6494, 0.9627, 1.399, 1.972, 2.694, 3.571, 4.619",\
                 "0.3578, 0.3872, 0.492, 0.6923, 1.005, 1.442, 2.016, 2.738, 3.618, 4.665",\
                 "0.4885, 0.5176, 0.6171, 0.8094, 1.114, 1.545, 2.116, 2.834, 3.712, 4.759",\
                 "0.6725, 0.7061, 0.8172, 1.016, 1.312, 1.733, 2.293, 3.005, 3.877, 4.918",\
                 "0.9099, 0.9457, 1.068, 1.287, 1.603, 2.019, 2.568, 3.268, 4.131, 5.165",\
                 "1.204, 1.244, 1.378, 1.614, 1.957, 2.402, 2.95, 3.637, 4.488, 5.51",\
                 "1.556, 1.602, 1.751, 2.006, 2.371, 2.848, 3.431, 4.122, 4.96, 5.969",\
                 "1.968, 2.019, 2.186, 2.464, 2.853, 3.357, 3.979, 4.71, 5.553, 6.549",\
                 "2.441, 2.499, 2.684, 2.991, 3.408, 3.938, 4.59, 5.366, 6.255, 7.26");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1012, 0.1124, 0.1516, 0.2268, 0.343, 0.507, 0.7208, 0.9928, 1.323, 1.717",\
                 "0.1008, 0.1122, 0.1516, 0.2265, 0.3431, 0.5063, 0.722, 0.9928, 1.323, 1.717",\
                 "0.1445, 0.1547, 0.1875, 0.2441, 0.3454, 0.5056, 0.722, 0.9927, 1.323, 1.716",\
                 "0.2187, 0.2319, 0.274, 0.3473, 0.4444, 0.5657, 0.7415, 0.9939, 1.323, 1.716",\
                 "0.3137, 0.3305, 0.3843, 0.4721, 0.5914, 0.7366, 0.908, 1.106, 1.373, 1.727",\
                 "0.427, 0.448, 0.5146, 0.624, 0.7648, 0.9338, 1.132, 1.358, 1.608, 1.896",\
                 "0.559, 0.5848, 0.6664, 0.7964, 0.9628, 1.161, 1.384, 1.641, 1.927, 2.238",\
                 "0.7074, 0.739, 0.8372, 0.991, 1.186, 1.413, 1.67, 1.952, 2.268, 2.617",\
                 "0.8684, 0.908, 1.026, 1.207, 1.43, 1.693, 1.982, 2.301, 2.647, 3.028",\
                 "1.043, 1.086, 1.226, 1.444, 1.7, 1.994, 2.323, 2.678, 3.063, 3.473");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5107, 0.5634, 0.7471, 1.096, 1.64, 2.398, 3.4, 4.659, 6.187, 8.019",\
                 "0.5098, 0.5627, 0.7467, 1.096, 1.639, 2.399, 3.398, 4.662, 6.198, 8.035",\
                 "0.5041, 0.5588, 0.7456, 1.096, 1.639, 2.402, 3.398, 4.661, 6.201, 8.019",\
                 "0.5322, 0.579, 0.7492, 1.095, 1.64, 2.402, 3.395, 4.66, 6.197, 8.026",\
                 "0.5952, 0.6478, 0.8232, 1.134, 1.643, 2.399, 3.399, 4.654, 6.195, 8.028",\
                 "0.667, 0.7206, 0.9066, 1.247, 1.728, 2.425, 3.4, 4.655, 6.198, 8.02",\
                 "0.7742, 0.8242, 1.007, 1.355, 1.876, 2.549, 3.454, 4.666, 6.198, 8.033",\
                 "0.912, 0.9644, 1.144, 1.486, 2.023, 2.743, 3.622, 4.762, 6.219, 8.023",\
                 "1.069, 1.127, 1.315, 1.653, 2.187, 2.934, 3.862, 4.965, 6.343, 8.069",\
                 "1.246, 1.306, 1.509, 1.859, 2.385, 3.133, 4.106, 5.254, 6.599, 8.25");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.0792, 0.08584, 0.109, 0.1532, 0.2217, 0.3179, 0.4444, 0.6036, 0.7981, 1.03",\
                 "0.09361, 0.1004, 0.1237, 0.1681, 0.2369, 0.333, 0.4595, 0.6188, 0.8134, 1.045",\
                 "0.1287, 0.138, 0.1682, 0.2182, 0.2874, 0.3835, 0.51, 0.6692, 0.8638, 1.096",\
                 "0.1385, 0.1521, 0.1958, 0.2678, 0.363, 0.4762, 0.6061, 0.7649, 0.9589, 1.19",\
                 "0.1103, 0.129, 0.188, 0.2839, 0.4093, 0.5572, 0.7246, 0.9087, 1.109, 1.34",\
                 "0.0385, 0.0621, 0.137, 0.2589, 0.4168, 0.6019, 0.8084, 1.036, 1.281, 1.542",\
                 "-0.0813, -0.0526, 0.0386, 0.1866, 0.3787, 0.6028, 0.8527, 1.123, 1.416, 1.727",\
                 "-0.2532, -0.2191, -0.1114, 0.0633, 0.2898, 0.5552, 0.8489, 1.167, 1.507, 1.868",\
                 "-0.4779, -0.44, -0.3171, -0.1151, 0.1465, 0.4522, 0.7922, 1.159, 1.55, 1.963",\
                 "-0.7597, -0.7175, -0.581, -0.3519, -0.055, 0.292, 0.677, 1.096, 1.54, 2.008");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3035, 0.3338, 0.4404, 0.6414, 0.9525, 1.387, 1.959, 2.678, 3.557, 4.602",\
                 "0.3069, 0.3379, 0.4457, 0.6494, 0.9627, 1.399, 1.973, 2.694, 3.571, 4.619",\
                 "0.3579, 0.3875, 0.492, 0.6925, 1.005, 1.443, 2.016, 2.738, 3.618, 4.665",\
                 "0.4886, 0.5176, 0.6171, 0.8097, 1.114, 1.545, 2.116, 2.834, 3.712, 4.759",\
                 "0.6725, 0.7059, 0.8171, 1.016, 1.312, 1.733, 2.293, 3.004, 3.876, 4.919",\
                 "0.9096, 0.946, 1.068, 1.288, 1.603, 2.018, 2.567, 3.268, 4.13, 5.165",\
                 "1.204, 1.245, 1.378, 1.614, 1.957, 2.401, 2.95, 3.638, 4.488, 5.51",\
                 "1.557, 1.602, 1.75, 2.005, 2.37, 2.848, 3.432, 4.122, 4.959, 5.968",\
                 "1.968, 2.019, 2.185, 2.463, 2.853, 3.357, 3.979, 4.71, 5.553, 6.549",\
                 "2.442, 2.499, 2.684, 2.99, 3.408, 3.937, 4.592, 5.366, 6.253, 7.26");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1013, 0.1125, 0.1517, 0.2269, 0.3431, 0.5071, 0.7211, 0.9933, 1.324, 1.718",\
                 "0.1009, 0.1122, 0.1517, 0.2266, 0.3432, 0.5073, 0.7224, 0.9932, 1.324, 1.718",\
                 "0.1445, 0.1548, 0.1876, 0.2442, 0.3459, 0.5062, 0.7213, 0.9932, 1.323, 1.718",\
                 "0.2187, 0.232, 0.2743, 0.3466, 0.4445, 0.5659, 0.7422, 0.9943, 1.323, 1.717",\
                 "0.3138, 0.3305, 0.3836, 0.4726, 0.5914, 0.738, 0.908, 1.106, 1.374, 1.728",\
                 "0.4272, 0.448, 0.5148, 0.6242, 0.765, 0.9334, 1.133, 1.359, 1.609, 1.897",\
                 "0.5592, 0.585, 0.6666, 0.7964, 0.963, 1.16, 1.385, 1.64, 1.926, 2.237",\
                 "0.7076, 0.7392, 0.8372, 0.991, 1.186, 1.413, 1.671, 1.953, 2.269, 2.617",\
                 "0.8684, 0.908, 1.026, 1.208, 1.43, 1.693, 1.982, 2.302, 2.645, 3.026",\
                 "1.042, 1.087, 1.227, 1.444, 1.7, 1.994, 2.323, 2.678, 3.064, 3.473");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5106, 0.5634, 0.7471, 1.096, 1.64, 2.398, 3.4, 4.659, 6.187, 8.019",\
                 "0.5095, 0.5625, 0.7469, 1.096, 1.639, 2.399, 3.401, 4.662, 6.198, 8.035",\
                 "0.504, 0.5583, 0.7455, 1.095, 1.64, 2.398, 3.398, 4.661, 6.201, 8.019",\
                 "0.5321, 0.579, 0.7489, 1.095, 1.64, 2.399, 3.4, 4.659, 6.196, 8.026",\
                 "0.5954, 0.6468, 0.8232, 1.133, 1.643, 2.399, 3.399, 4.656, 6.198, 8.02",\
                 "0.666, 0.7188, 0.9054, 1.246, 1.728, 2.422, 3.403, 4.654, 6.192, 8.019",\
                 "0.7726, 0.8244, 1.007, 1.355, 1.876, 2.55, 3.458, 4.667, 6.198, 8.028",\
                 "0.911, 0.9642, 1.143, 1.486, 2.023, 2.744, 3.622, 4.759, 6.215, 8.032",\
                 "1.07, 1.125, 1.315, 1.656, 2.187, 2.933, 3.864, 4.965, 6.343, 8.069",\
                 "1.247, 1.307, 1.508, 1.865, 2.385, 3.137, 4.104, 5.256, 6.598, 8.232");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.07467, 0.08077, 0.1023, 0.1431, 0.2066, 0.2954, 0.4124, 0.5596, 0.7395, 0.9541",\
                 "0.08943, 0.09556, 0.1172, 0.1582, 0.2218, 0.3108, 0.4277, 0.5752, 0.755, 0.9694",\
                 "0.1231, 0.1321, 0.161, 0.2089, 0.2736, 0.3625, 0.4795, 0.6267, 0.8066, 1.021",\
                 "0.1304, 0.1436, 0.1861, 0.2555, 0.3467, 0.455, 0.5778, 0.7248, 0.9041, 1.118",\
                 "0.09908, 0.1173, 0.1747, 0.2679, 0.3885, 0.5311, 0.6918, 0.8677, 1.057, 1.271",\
                 "0.0238, 0.0466, 0.1194, 0.2383, 0.3913, 0.5703, 0.7691, 0.9879, 1.223, 1.472",\
                 "-0.101, -0.0732, 0.0157, 0.1603, 0.3459, 0.5643, 0.8055, 1.068, 1.349, 1.646",\
                 "-0.2788, -0.2454, -0.1404, 0.03, 0.2512, 0.5088, 0.7937, 1.102, 1.43, 1.778",\
                 "-0.5107, -0.4734, -0.3527, -0.1562, 0.0987, 0.3975, 0.7283, 1.084, 1.463, 1.863",\
                 "-0.7996, -0.758, -0.6235, -0.4012, -0.1115, 0.2278, 0.6021, 1.01, 1.44, 1.893");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3029, 0.3334, 0.4394, 0.6408, 0.9515, 1.386, 1.958, 2.678, 3.556, 4.603",\
                 "0.3054, 0.3363, 0.4441, 0.6476, 0.9608, 1.397, 1.971, 2.691, 3.569, 4.617",\
                 "0.357, 0.3866, 0.4907, 0.691, 1.003, 1.44, 2.014, 2.735, 3.615, 4.663",\
                 "0.4893, 0.5183, 0.6175, 0.8096, 1.114, 1.544, 2.114, 2.833, 3.71, 4.757",\
                 "0.6752, 0.7079, 0.8191, 1.017, 1.314, 1.734, 2.294, 3.005, 3.874, 4.918",\
                 "0.9139, 0.95, 1.072, 1.291, 1.607, 2.022, 2.57, 3.271, 4.132, 5.166",\
                 "1.212, 1.252, 1.385, 1.621, 1.963, 2.407, 2.955, 3.643, 4.492, 5.513",\
                 "1.569, 1.615, 1.761, 2.016, 2.379, 2.856, 3.439, 4.13, 4.967, 5.976",\
                 "1.986, 2.037, 2.201, 2.479, 2.866, 3.369, 3.99, 4.721, 5.565, 6.56",\
                 "2.467, 2.524, 2.706, 3.012, 3.427, 3.956, 4.607, 5.382, 6.27, 7.274");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.09266, 0.1031, 0.1393, 0.208, 0.3156, 0.466, 0.6646, 0.9145, 1.219, 1.581",\
                 "0.0927, 0.1029, 0.1392, 0.2083, 0.3157, 0.4659, 0.665, 0.9145, 1.22, 1.583",\
                 "0.1386, 0.1479, 0.1783, 0.2298, 0.3201, 0.4659, 0.6637, 0.9144, 1.218, 1.583",\
                 "0.2119, 0.2242, 0.2651, 0.3325, 0.4244, 0.5358, 0.6917, 0.9186, 1.219, 1.58",\
                 "0.3051, 0.3213, 0.3728, 0.4576, 0.57, 0.7082, 0.8678, 1.048, 1.282, 1.601",\
                 "0.4166, 0.4366, 0.5016, 0.6064, 0.7412, 0.9026, 1.091, 1.302, 1.535, 1.795",\
                 "0.5472, 0.572, 0.6508, 0.7764, 0.9366, 1.127, 1.339, 1.579, 1.848, 2.14",\
                 "0.6912, 0.7232, 0.8188, 0.9678, 1.156, 1.374, 1.62, 1.89, 2.188, 2.518",\
                 "0.8492, 0.8862, 1.003, 1.179, 1.398, 1.649, 1.927, 2.235, 2.562, 2.922",\
                 "1.021, 1.065, 1.2, 1.412, 1.664, 1.947, 2.262, 2.604, 2.973, 3.364");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5104, 0.5632, 0.7472, 1.097, 1.64, 2.399, 3.396, 4.661, 6.201, 8.022",\
                 "0.5098, 0.5622, 0.7467, 1.096, 1.64, 2.399, 3.404, 4.653, 6.2, 8.032",\
                 "0.504, 0.5597, 0.7456, 1.095, 1.64, 2.399, 3.398, 4.661, 6.201, 8.016",\
                 "0.5319, 0.5787, 0.7495, 1.092, 1.641, 2.399, 3.398, 4.661, 6.197, 8.026",\
                 "0.594, 0.6462, 0.8224, 1.134, 1.64, 2.4, 3.398, 4.656, 6.2, 8.021",\
                 "0.6638, 0.7166, 0.904, 1.242, 1.727, 2.421, 3.401, 4.656, 6.191, 8.028",\
                 "0.7684, 0.8202, 1.004, 1.353, 1.874, 2.547, 3.451, 4.666, 6.19, 8.019",\
                 "0.9032, 0.955, 1.136, 1.479, 2.019, 2.741, 3.619, 4.755, 6.217, 8.032",\
                 "1.059, 1.117, 1.304, 1.645, 2.177, 2.927, 3.859, 4.961, 6.346, 8.071",\
                 "1.234, 1.295, 1.496, 1.845, 2.373, 3.126, 4.094, 5.247, 6.592, 8.242");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1287, 0.1384, 0.1717, 0.2327, 0.3242, 0.4495, 0.612, 0.8148, 1.061, 1.354",\
                 "0.1428, 0.1525, 0.1858, 0.2469, 0.3387, 0.464, 0.6266, 0.8295, 1.076, 1.369",\
                 "0.1939, 0.2037, 0.2356, 0.2945, 0.3854, 0.5105, 0.6729, 0.8758, 1.122, 1.415",\
                 "0.2412, 0.2542, 0.2977, 0.3724, 0.4733, 0.5994, 0.7605, 0.9629, 1.209, 1.501",\
                 "0.2571, 0.2744, 0.3298, 0.4242, 0.5527, 0.7104, 0.8934, 1.1, 1.345, 1.637",\
                 "0.2342, 0.2551, 0.3238, 0.4405, 0.5972, 0.7888, 1.011, 1.259, 1.533, 1.831",\
                 "0.1661, 0.1912, 0.2736, 0.4134, 0.6014, 0.8292, 1.091, 1.383, 1.703, 2.049",\
                 "0.0501, 0.0785, 0.1745, 0.3378, 0.5581, 0.8248, 1.129, 1.466, 1.833, 2.23",\
                 "-0.1187, -0.0848, 0.0247, 0.2108, 0.4637, 0.7697, 1.118, 1.503, 1.919, 2.367",\
                 "-0.3417, -0.3041, -0.1816, 0.0291, 0.3145, 0.6603, 1.055, 1.489, 1.958, 2.459");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3126, 0.3434, 0.4501, 0.6522, 0.9647, 1.402, 1.976, 2.698, 3.579, 4.628",\
                 "0.3164, 0.348, 0.4564, 0.6603, 0.975, 1.414, 1.989, 2.713, 3.594, 4.644",\
                 "0.3671, 0.3969, 0.5023, 0.7036, 1.018, 1.457, 2.033, 2.757, 3.64, 4.69",\
                 "0.4989, 0.5279, 0.627, 0.8208, 1.127, 1.56, 2.132, 2.854, 3.735, 4.784",\
                 "0.6844, 0.7179, 0.8292, 1.027, 1.324, 1.748, 2.31, 3.024, 3.899, 4.944",\
                 "0.9239, 0.9595, 1.082, 1.302, 1.617, 2.033, 2.585, 3.288, 4.153, 5.189",\
                 "1.222, 1.261, 1.394, 1.629, 1.973, 2.417, 2.967, 3.658, 4.511, 5.535",\
                 "1.579, 1.623, 1.77, 2.023, 2.388, 2.866, 3.45, 4.143, 4.983, 5.994",\
                 "1.995, 2.045, 2.208, 2.485, 2.873, 3.378, 4, 4.732, 5.577, 6.575",\
                 "2.473, 2.53, 2.711, 3.016, 3.431, 3.961, 4.616, 5.391, 6.28, 7.285");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1948, 0.2105, 0.2644, 0.3634, 0.5139, 0.7226, 0.9955, 1.337, 1.756, 2.254",\
                 "0.1935, 0.2095, 0.2639, 0.3634, 0.514, 0.7226, 0.9955, 1.338, 1.758, 2.254",\
                 "0.2065, 0.2188, 0.2646, 0.3583, 0.5115, 0.7218, 0.9946, 1.338, 1.758, 2.256",\
                 "0.2858, 0.3011, 0.3512, 0.4369, 0.5569, 0.7346, 0.9934, 1.337, 1.757, 2.254",\
                 "0.3876, 0.4063, 0.4642, 0.5646, 0.705, 0.8814, 1.095, 1.382, 1.765, 2.255",\
                 "0.5128, 0.5342, 0.6056, 0.7218, 0.8812, 1.08, 1.32, 1.596, 1.919, 2.335",\
                 "0.658, 0.6848, 0.7682, 0.9066, 1.089, 1.311, 1.575, 1.879, 2.227, 2.612",\
                 "0.8222, 0.8536, 0.9526, 1.114, 1.325, 1.578, 1.865, 2.197, 2.578, 2.995",\
                 "1.007, 1.043, 1.157, 1.342, 1.586, 1.869, 2.193, 2.551, 2.957, 3.41",\
                 "1.21, 1.252, 1.386, 1.595, 1.869, 2.19, 2.549, 2.948, 3.381, 3.862");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7606, 0.8195, 1.021, 1.394, 1.958, 2.731, 3.738, 4.998, 6.534, 8.366",\
                 "0.7602, 0.8188, 1.021, 1.394, 1.958, 2.731, 3.737, 4.999, 6.536, 8.368",\
                 "0.7548, 0.8152, 1.02, 1.394, 1.958, 2.732, 3.738, 4.999, 6.534, 8.366",\
                 "0.7819, 0.8352, 1.022, 1.392, 1.958, 2.731, 3.738, 4.999, 6.535, 8.366",\
                 "0.8828, 0.9352, 1.106, 1.434, 1.962, 2.731, 3.738, 4.999, 6.536, 8.369",\
                 "0.9908, 1.044, 1.229, 1.562, 2.051, 2.757, 3.739, 4.999, 6.536, 8.369",\
                 "1.14, 1.189, 1.366, 1.712, 2.221, 2.891, 3.796, 5.006, 6.536, 8.369",\
                 "1.341, 1.384, 1.546, 1.878, 2.404, 3.102, 3.976, 5.103, 6.556, 8.369",\
                 "1.582, 1.622, 1.773, 2.087, 2.599, 3.327, 4.232, 5.324, 6.696, 8.411",\
                 "1.849, 1.889, 2.039, 2.34, 2.836, 3.561, 4.501, 5.63, 6.963, 8.596");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.162, 0.1716, 0.2047, 0.2655, 0.3571, 0.4827, 0.6455, 0.8487, 1.095, 1.389",\
                 "0.1746, 0.1844, 0.2174, 0.2783, 0.37, 0.4956, 0.6584, 0.8616, 1.108, 1.402",\
                 "0.2235, 0.2325, 0.2641, 0.3236, 0.4149, 0.5402, 0.7029, 0.9061, 1.153, 1.446",\
                 "0.283, 0.2951, 0.3358, 0.4062, 0.5036, 0.6283, 0.7898, 0.9924, 1.238, 1.531",\
                 "0.3138, 0.3295, 0.3811, 0.47, 0.593, 0.7461, 0.9251, 1.13, 1.375, 1.667",\
                 "0.3083, 0.3278, 0.3916, 0.501, 0.6505, 0.8352, 1.051, 1.296, 1.565, 1.861",\
                 "0.2628, 0.2856, 0.3617, 0.4921, 0.6708, 0.8894, 1.143, 1.428, 1.743, 2.085",\
                 "0.1734, 0.2003, 0.2876, 0.4398, 0.6484, 0.9028, 1.197, 1.524, 1.884, 2.275",\
                 "0.04, 0.0695, 0.169, 0.3413, 0.579, 0.8699, 1.205, 1.579, 1.986, 2.424",\
                 "-0.1421, -0.109, 0.0021, 0.1943, 0.4611, 0.7879, 1.167, 1.587, 2.043, 2.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4042, 0.4348, 0.5416, 0.7431, 1.055, 1.492, 2.066, 2.789, 3.67, 4.72",\
                 "0.4098, 0.4409, 0.5497, 0.7542, 1.069, 1.507, 2.083, 2.806, 3.688, 4.738",\
                 "0.4375, 0.4685, 0.5765, 0.7817, 1.098, 1.539, 2.117, 2.842, 3.726, 4.777",\
                 "0.5165, 0.5475, 0.6536, 0.8532, 1.165, 1.603, 2.179, 2.904, 3.787, 4.839",\
                 "0.6483, 0.6809, 0.7914, 0.997, 1.302, 1.731, 2.299, 3.018, 3.897, 4.945",\
                 "0.8446, 0.8782, 0.9919, 1.202, 1.517, 1.943, 2.499, 3.207, 4.077, 5.117",\
                 "1.094, 1.132, 1.254, 1.472, 1.795, 2.233, 2.789, 3.485, 4.341, 5.37",\
                 "1.391, 1.434, 1.571, 1.806, 2.139, 2.587, 3.159, 3.858, 4.702, 5.717",\
                 "1.736, 1.783, 1.937, 2.196, 2.552, 3.012, 3.596, 4.312, 5.163, 6.165",\
                 "2.132, 2.184, 2.354, 2.639, 3.025, 3.51, 4.107, 4.838, 5.708, 6.72");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2305, 0.2463, 0.2997, 0.399, 0.5497, 0.7594, 1.032, 1.376, 1.795, 2.293",\
                 "0.2303, 0.2456, 0.2998, 0.3985, 0.5501, 0.759, 1.032, 1.375, 1.795, 2.293",\
                 "0.2312, 0.2454, 0.2955, 0.3947, 0.5483, 0.7583, 1.032, 1.376, 1.795, 2.292",\
                 "0.3136, 0.329, 0.377, 0.4613, 0.5834, 0.7677, 1.032, 1.376, 1.795, 2.292",\
                 "0.4228, 0.4401, 0.4972, 0.5956, 0.7324, 0.9066, 1.121, 1.413, 1.8, 2.293",\
                 "0.555, 0.5762, 0.6446, 0.7576, 0.9126, 1.109, 1.346, 1.62, 1.947, 2.367",\
                 "0.7122, 0.736, 0.816, 0.9504, 1.125, 1.343, 1.603, 1.906, 2.253, 2.636",\
                 "0.89, 0.922, 1.016, 1.169, 1.37, 1.613, 1.897, 2.224, 2.6, 3.02",\
                 "1.093, 1.13, 1.237, 1.414, 1.644, 1.917, 2.231, 2.584, 2.983, 3.434",\
                 "1.325, 1.365, 1.487, 1.684, 1.947, 2.251, 2.6, 2.983, 3.412, 3.888");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7625, 0.8207, 1.022, 1.394, 1.958, 2.732, 3.737, 4.997, 6.535, 8.366",\
                 "0.7627, 0.8207, 1.022, 1.394, 1.958, 2.731, 3.738, 4.999, 6.535, 8.368",\
                 "0.7643, 0.8218, 1.022, 1.394, 1.958, 2.731, 3.737, 4.997, 6.534, 8.368",\
                 "0.8074, 0.8583, 1.041, 1.397, 1.958, 2.732, 3.738, 4.999, 6.535, 8.367",\
                 "0.9018, 0.9528, 1.122, 1.45, 1.975, 2.732, 3.737, 4.998, 6.536, 8.366",\
                 "1.007, 1.054, 1.225, 1.556, 2.056, 2.772, 3.744, 4.998, 6.536, 8.369",\
                 "1.166, 1.205, 1.358, 1.676, 2.181, 2.878, 3.808, 5.017, 6.537, 8.369",\
                 "1.381, 1.416, 1.548, 1.835, 2.324, 3.026, 3.94, 5.106, 6.573, 8.374",\
                 "1.632, 1.666, 1.791, 2.053, 2.508, 3.195, 4.116, 5.265, 6.689, 8.431",\
                 "1.906, 1.94, 2.065, 2.322, 2.75, 3.402, 4.312, 5.473, 6.876, 8.573");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1481, 0.1573, 0.1883, 0.2465, 0.3351, 0.458, 0.6185, 0.82, 1.065, 1.358",\
                 "0.161, 0.1698, 0.201, 0.2592, 0.3479, 0.4708, 0.6314, 0.8329, 1.078, 1.37",\
                 "0.2076, 0.2166, 0.247, 0.3042, 0.3927, 0.5154, 0.6759, 0.8773, 1.123, 1.415",\
                 "0.2549, 0.2675, 0.3089, 0.3801, 0.4789, 0.6032, 0.7628, 0.9637, 1.209, 1.5",\
                 "0.2717, 0.2884, 0.3416, 0.4333, 0.5586, 0.7141, 0.8954, 1.101, 1.345, 1.636",\
                 "0.252, 0.2718, 0.3389, 0.4523, 0.6063, 0.7949, 1.014, 1.261, 1.533, 1.83",\
                 "0.1914, 0.2155, 0.2945, 0.4309, 0.6159, 0.8401, 1.098, 1.386, 1.705, 2.049",\
                 "0.0882, 0.1161, 0.2082, 0.3664, 0.5816, 0.8437, 1.143, 1.476, 1.84, 2.233",\
                 "-0.0601, -0.0284, 0.0764, 0.256, 0.5017, 0.8018, 1.144, 1.524, 1.934, 2.377",\
                 "-0.2567, -0.2208, -0.1032, 0.0972, 0.3729, 0.7099, 1.097, 1.523, 1.985, 2.481");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4042, 0.4348, 0.5416, 0.7428, 1.055, 1.492, 2.066, 2.789, 3.669, 4.718",\
                 "0.4098, 0.4412, 0.5497, 0.7542, 1.069, 1.507, 2.083, 2.806, 3.688, 4.737",\
                 "0.4375, 0.4685, 0.5766, 0.7817, 1.098, 1.539, 2.117, 2.842, 3.725, 4.776",\
                 "0.5162, 0.5475, 0.6535, 0.8533, 1.165, 1.603, 2.179, 2.904, 3.787, 4.837",\
                 "0.6484, 0.6809, 0.7917, 0.997, 1.302, 1.731, 2.299, 3.018, 3.897, 4.944",\
                 "0.8446, 0.8781, 0.9921, 1.202, 1.517, 1.942, 2.499, 3.207, 4.077, 5.116",\
                 "1.094, 1.132, 1.254, 1.472, 1.795, 2.233, 2.789, 3.484, 4.341, 5.369",\
                 "1.392, 1.434, 1.571, 1.806, 2.139, 2.588, 3.159, 3.857, 4.701, 5.715",\
                 "1.737, 1.784, 1.937, 2.196, 2.552, 3.012, 3.596, 4.312, 5.164, 6.164",\
                 "2.132, 2.184, 2.354, 2.639, 3.026, 3.51, 4.107, 4.838, 5.707, 6.717");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2024, 0.217, 0.2688, 0.3659, 0.5151, 0.723, 0.996, 1.339, 1.758, 2.256",\
                 "0.2017, 0.217, 0.2689, 0.3659, 0.5151, 0.7224, 0.996, 1.339, 1.758, 2.256",\
                 "0.2116, 0.2243, 0.2709, 0.3641, 0.5145, 0.722, 0.9959, 1.339, 1.758, 2.256",\
                 "0.2948, 0.3096, 0.3576, 0.4415, 0.5612, 0.7385, 0.9969, 1.338, 1.757, 2.255",\
                 "0.4044, 0.4212, 0.4774, 0.5748, 0.7118, 0.8858, 1.099, 1.385, 1.767, 2.256",\
                 "0.5358, 0.5574, 0.6258, 0.7388, 0.893, 1.09, 1.325, 1.6, 1.923, 2.338",\
                 "0.693, 0.7172, 0.7968, 0.9302, 1.106, 1.324, 1.582, 1.884, 2.231, 2.616",\
                 "0.8714, 0.9014, 0.9934, 1.15, 1.351, 1.594, 1.879, 2.203, 2.578, 2.998",\
                 "1.074, 1.11, 1.218, 1.395, 1.625, 1.898, 2.21, 2.563, 2.963, 3.412",\
                 "1.301, 1.34, 1.468, 1.665, 1.929, 2.234, 2.578, 2.963, 3.388, 3.866");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6813, 0.7345, 0.92, 1.271, 1.814, 2.574, 3.572, 4.833, 6.369, 8.203",\
                 "0.6811, 0.7342, 0.9197, 1.271, 1.814, 2.574, 3.574, 4.832, 6.369, 8.2",\
                 "0.6828, 0.7356, 0.9199, 1.271, 1.813, 2.573, 3.574, 4.834, 6.366, 8.203",\
                 "0.7252, 0.7715, 0.9388, 1.274, 1.813, 2.573, 3.573, 4.834, 6.371, 8.203",\
                 "0.8018, 0.8506, 1.015, 1.326, 1.831, 2.575, 3.572, 4.831, 6.368, 8.201",\
                 "0.8938, 0.9398, 1.105, 1.423, 1.912, 2.614, 3.58, 4.831, 6.37, 8.196",\
                 "1.036, 1.075, 1.224, 1.532, 2.028, 2.72, 3.645, 4.853, 6.37, 8.204",\
                 "1.222, 1.26, 1.397, 1.682, 2.162, 2.863, 3.775, 4.941, 6.405, 8.203",\
                 "1.435, 1.475, 1.612, 1.884, 2.337, 3.023, 3.947, 5.101, 6.522, 8.26",\
                 "1.669, 1.71, 1.855, 2.134, 2.57, 3.223, 4.138, 5.301, 6.708, 8.409");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1216, 0.1289, 0.1538, 0.2003, 0.2711, 0.369, 0.4968, 0.657, 0.8521, 1.084",\
                 "0.1354, 0.1428, 0.1678, 0.2142, 0.285, 0.3829, 0.5106, 0.6708, 0.8659, 1.098",\
                 "0.1836, 0.1915, 0.2178, 0.264, 0.3343, 0.4319, 0.5596, 0.7197, 0.9147, 1.147",\
                 "0.2226, 0.234, 0.2711, 0.3346, 0.4214, 0.5275, 0.6552, 0.8149, 1.009, 1.241",\
                 "0.2282, 0.2433, 0.2926, 0.3751, 0.4889, 0.6266, 0.7856, 0.9627, 1.16, 1.39",\
                 "0.1943, 0.2132, 0.2751, 0.3795, 0.5204, 0.6911, 0.8866, 1.105, 1.342, 1.597",\
                 "0.1173, 0.1398, 0.2138, 0.3402, 0.51, 0.7159, 0.9506, 1.209, 1.491, 1.794",\
                 "-0.0062, 0.0198, 0.1067, 0.2541, 0.4544, 0.6959, 0.9709, 1.273, 1.6, 1.95",\
                 "-0.1789, -0.1487, -0.0503, 0.1178, 0.3471, 0.6261, 0.9421, 1.29, 1.664, 2.064",\
                 "-0.404, -0.3704, -0.2593, -0.0694, 0.1885, 0.503, 0.862, 1.256, 1.679, 2.13");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4035, 0.4339, 0.5404, 0.742, 1.054, 1.491, 2.065, 2.787, 3.669, 4.717",\
                 "0.4064, 0.4379, 0.5463, 0.7508, 1.065, 1.504, 2.079, 2.802, 3.684, 4.733",\
                 "0.4348, 0.4656, 0.573, 0.7772, 1.093, 1.534, 2.112, 2.837, 3.72, 4.77",\
                 "0.5158, 0.547, 0.6524, 0.8513, 1.162, 1.599, 2.174, 2.899, 3.781, 4.832",\
                 "0.6537, 0.6861, 0.7968, 1, 1.304, 1.732, 2.298, 3.016, 3.893, 4.941",\
                 "0.8583, 0.8917, 1.005, 1.213, 1.527, 1.95, 2.505, 3.211, 4.078, 5.117",\
                 "1.12, 1.156, 1.277, 1.492, 1.813, 2.25, 2.804, 3.498, 4.352, 5.378",\
                 "1.432, 1.473, 1.608, 1.839, 2.17, 2.616, 3.186, 3.883, 4.724, 5.736",\
                 "1.796, 1.842, 1.992, 2.246, 2.597, 3.055, 3.637, 4.35, 5.198, 6.197",\
                 "2.215, 2.266, 2.432, 2.71, 3.091, 3.569, 4.164, 4.892, 5.758, 6.766");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1544, 0.1662, 0.2069, 0.2834, 0.4009, 0.5653, 0.7801, 1.05, 1.382, 1.775",\
                 "0.1539, 0.1656, 0.207, 0.2829, 0.4006, 0.5652, 0.7806, 1.051, 1.382, 1.775",\
                 "0.1792, 0.1882, 0.2205, 0.287, 0.4009, 0.5649, 0.7802, 1.05, 1.381, 1.775",\
                 "0.2639, 0.2761, 0.3163, 0.3849, 0.479, 0.6046, 0.7914, 1.052, 1.382, 1.776",\
                 "0.3701, 0.3855, 0.4353, 0.5182, 0.633, 0.7754, 0.9424, 1.145, 1.421, 1.782",\
                 "0.4978, 0.5168, 0.5768, 0.6782, 0.8128, 0.9766, 1.174, 1.395, 1.642, 1.936",\
                 "0.646, 0.6686, 0.7438, 0.8616, 1.021, 1.207, 1.428, 1.681, 1.962, 2.272",\
                 "0.8208, 0.8456, 0.9316, 1.073, 1.254, 1.472, 1.718, 1.995, 2.31, 2.654",\
                 "1.015, 1.046, 1.146, 1.308, 1.518, 1.761, 2.04, 2.349, 2.69, 3.064",\
                 "1.23, 1.268, 1.386, 1.571, 1.807, 2.084, 2.395, 2.737, 3.108, 3.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6813, 0.7345, 0.9195, 1.271, 1.813, 2.573, 3.573, 4.834, 6.365, 8.204",\
                 "0.6813, 0.7347, 0.9195, 1.271, 1.813, 2.574, 3.574, 4.833, 6.366, 8.199",\
                 "0.6831, 0.7357, 0.9197, 1.272, 1.814, 2.574, 3.572, 4.831, 6.368, 8.204",\
                 "0.7252, 0.7719, 0.9394, 1.274, 1.813, 2.573, 3.573, 4.834, 6.37, 8.2",\
                 "0.7992, 0.8482, 1.013, 1.326, 1.831, 2.575, 3.573, 4.833, 6.368, 8.196",\
                 "0.885, 0.9314, 1.096, 1.418, 1.909, 2.614, 3.579, 4.831, 6.371, 8.197",\
                 "1.018, 1.059, 1.209, 1.52, 2.022, 2.715, 3.641, 4.85, 6.37, 8.201",\
                 "1.196, 1.234, 1.371, 1.66, 2.146, 2.852, 3.768, 4.935, 6.406, 8.205",\
                 "1.402, 1.44, 1.577, 1.851, 2.31, 3.002, 3.932, 5.09, 6.514, 8.262",\
                 "1.631, 1.672, 1.813, 2.088, 2.527, 3.19, 4.113, 5.284, 6.696, 8.403");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1178, 0.1267, 0.1573, 0.2146, 0.3024, 0.4245, 0.5844, 0.7856, 1.031, 1.323",\
                 "0.1306, 0.1395, 0.1701, 0.2274, 0.3152, 0.4374, 0.5974, 0.7985, 1.044, 1.336",\
                 "0.1742, 0.1839, 0.216, 0.2725, 0.36, 0.482, 0.6419, 0.843, 1.088, 1.38",\
                 "0.2061, 0.2197, 0.2645, 0.3402, 0.4432, 0.5696, 0.7289, 0.9293, 1.174, 1.466",\
                 "0.2058, 0.2232, 0.2821, 0.3804, 0.5122, 0.6723, 0.8583, 1.066, 1.311, 1.601",\
                 "0.1682, 0.1908, 0.2638, 0.3859, 0.5484, 0.7442, 0.9686, 1.22, 1.496, 1.795",\
                 "0.0905, 0.1172, 0.2041, 0.3509, 0.5455, 0.7795, 1.044, 1.339, 1.661, 2.01",\
                 "-0.0294, 0.0016, 0.1028, 0.2722, 0.5, 0.7727, 1.081, 1.42, 1.79, 2.187",\
                 "-0.1949, -0.1595, -0.0444, 0.1484, 0.4078, 0.7203, 1.073, 1.46, 1.879, 2.326",\
                 "-0.4069, -0.3675, -0.2388, -0.0227, 0.2678, 0.6179, 1.016, 1.451, 1.922, 2.423");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3948, 0.4254, 0.5316, 0.7323, 1.043, 1.478, 2.049, 2.769, 3.647, 4.693",\
                 "0.4004, 0.4316, 0.5402, 0.7436, 1.056, 1.493, 2.065, 2.786, 3.665, 4.711",\
                 "0.4282, 0.4587, 0.5667, 0.7711, 1.086, 1.525, 2.1, 2.822, 3.702, 4.751",\
                 "0.5054, 0.5371, 0.6432, 0.8423, 1.152, 1.588, 2.162, 2.884, 3.764, 4.813",\
                 "0.6366, 0.6691, 0.7803, 0.9854, 1.289, 1.716, 2.282, 2.998, 3.874, 4.919",\
                 "0.8316, 0.8651, 0.9795, 1.189, 1.503, 1.928, 2.482, 3.187, 4.053, 5.091",\
                 "1.078, 1.116, 1.24, 1.458, 1.779, 2.216, 2.771, 3.464, 4.317, 5.344",\
                 "1.371, 1.414, 1.553, 1.789, 2.123, 2.57, 3.139, 3.836, 4.678, 5.691",\
                 "1.712, 1.76, 1.915, 2.177, 2.534, 2.993, 3.575, 4.29, 5.138, 6.138",\
                 "2.101, 2.154, 2.328, 2.616, 3.005, 3.49, 4.085, 4.813, 5.681, 6.69");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1683, 0.1832, 0.2342, 0.33, 0.4785, 0.6851, 0.9578, 1.302, 1.72, 2.218",\
                 "0.1673, 0.1821, 0.2334, 0.33, 0.4785, 0.6857, 0.9582, 1.302, 1.72, 2.219",\
                 "0.191, 0.2021, 0.2439, 0.3302, 0.4768, 0.6851, 0.9576, 1.302, 1.721, 2.217",\
                 "0.273, 0.2876, 0.3351, 0.4196, 0.5378, 0.7092, 0.9612, 1.302, 1.721, 2.219",\
                 "0.3807, 0.3979, 0.4555, 0.5524, 0.6888, 0.8642, 1.076, 1.356, 1.733, 2.219",\
                 "0.5114, 0.532, 0.6022, 0.716, 0.8702, 1.064, 1.302, 1.578, 1.899, 2.308",\
                 "0.6642, 0.6904, 0.7718, 0.9068, 1.084, 1.302, 1.559, 1.863, 2.209, 2.594",\
                 "0.8398, 0.8708, 0.9672, 1.124, 1.327, 1.573, 1.855, 2.181, 2.557, 2.975",\
                 "1.039, 1.075, 1.187, 1.369, 1.599, 1.873, 2.188, 2.54, 2.94, 3.389",\
                 "1.254, 1.297, 1.431, 1.638, 1.902, 2.207, 2.556, 2.943, 3.368, 3.844");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5125, 0.5647, 0.747, 1.097, 1.638, 2.399, 3.4, 4.656, 6.201, 8.026",\
                 "0.513, 0.5648, 0.7478, 1.098, 1.639, 2.4, 3.4, 4.662, 6.19, 8.026",\
                 "0.5143, 0.5655, 0.7481, 1.098, 1.638, 2.398, 3.402, 4.661, 6.192, 8.019",\
                 "0.5566, 0.6027, 0.7669, 1.099, 1.638, 2.399, 3.398, 4.661, 6.191, 8.032",\
                 "0.6172, 0.667, 0.8392, 1.152, 1.656, 2.397, 3.397, 4.658, 6.192, 8.028",\
                 "0.6984, 0.745, 0.9122, 1.24, 1.735, 2.438, 3.404, 4.659, 6.199, 8.018",\
                 "0.8258, 0.8672, 1.026, 1.34, 1.846, 2.543, 3.469, 4.674, 6.201, 8.025",\
                 "0.984, 1.029, 1.184, 1.48, 1.969, 2.679, 3.597, 4.765, 6.231, 8.038",\
                 "1.163, 1.211, 1.374, 1.673, 2.138, 2.831, 3.763, 4.919, 6.339, 8.094",\
                 "1.36, 1.413, 1.588, 1.903, 2.361, 3.029, 3.947, 5.119, 6.533, 8.227");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.0985, 0.1056, 0.1301, 0.1758, 0.2456, 0.3427, 0.4698, 0.6295, 0.8242, 1.056",\
                 "0.1123, 0.1194, 0.1439, 0.1896, 0.2594, 0.3565, 0.4837, 0.6433, 0.838, 1.07",\
                 "0.1548, 0.1634, 0.1915, 0.2391, 0.3087, 0.4056, 0.5326, 0.6923, 0.8868, 1.119",\
                 "0.1788, 0.191, 0.2317, 0.2993, 0.3901, 0.4998, 0.6284, 0.7874, 0.9816, 1.213",\
                 "0.1677, 0.1843, 0.2385, 0.3281, 0.4471, 0.5897, 0.7528, 0.9333, 1.132, 1.362",\
                 "0.1171, 0.1378, 0.2054, 0.3189, 0.468, 0.6455, 0.8457, 1.069, 1.31, 1.567",\
                 "0.023, 0.048, 0.1296, 0.2658, 0.4461, 0.6604, 0.9015, 1.166, 1.452, 1.758",\
                 "-0.1173, -0.0881, 0.0075, 0.1658, 0.3782, 0.6298, 0.9131, 1.222, 1.554, 1.909",\
                 "-0.3063, -0.2732, -0.1649, 0.0175, 0.2599, 0.5494, 0.8758, 1.231, 1.612, 2.017",\
                 "-0.5461, -0.509, -0.3876, -0.1832, 0.0897, 0.4163, 0.7866, 1.189, 1.62, 2.077");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3942, 0.4246, 0.5307, 0.7312, 1.042, 1.477, 2.048, 2.768, 3.645, 4.692",\
                 "0.3972, 0.4285, 0.5365, 0.7401, 1.053, 1.489, 2.062, 2.782, 3.662, 4.708",\
                 "0.4256, 0.4559, 0.5632, 0.7667, 1.081, 1.519, 2.095, 2.817, 3.697, 4.746",\
                 "0.5054, 0.5367, 0.6423, 0.84, 1.149, 1.584, 2.157, 2.878, 3.759, 4.807",\
                 "0.6423, 0.6746, 0.7851, 0.9883, 1.292, 1.717, 2.281, 2.996, 3.87, 4.916",\
                 "0.8456, 0.8793, 0.9921, 1.2, 1.513, 1.936, 2.487, 3.191, 4.055, 5.091",\
                 "1.104, 1.141, 1.263, 1.479, 1.799, 2.234, 2.787, 3.477, 4.329, 5.352",\
                 "1.412, 1.454, 1.591, 1.823, 2.154, 2.599, 3.167, 3.862, 4.7, 5.71",\
                 "1.772, 1.819, 1.971, 2.227, 2.58, 3.036, 3.617, 4.329, 5.174, 6.171",\
                 "2.185, 2.238, 2.407, 2.688, 3.071, 3.549, 4.142, 4.869, 5.734, 6.74");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1287, 0.1404, 0.1798, 0.2551, 0.3721, 0.5356, 0.7504, 1.021, 1.351, 1.744",\
                 "0.1277, 0.1394, 0.1795, 0.2549, 0.372, 0.5355, 0.7496, 1.02, 1.35, 1.745",\
                 "0.1649, 0.1744, 0.2049, 0.2655, 0.373, 0.5352, 0.7498, 1.02, 1.351, 1.745",\
                 "0.2471, 0.2595, 0.2998, 0.3688, 0.4639, 0.5861, 0.7664, 1.022, 1.351, 1.744",\
                 "0.3513, 0.3676, 0.4171, 0.5013, 0.616, 0.7586, 0.9268, 1.126, 1.397, 1.754",\
                 "0.4762, 0.497, 0.5586, 0.6592, 0.7942, 0.9596, 1.155, 1.379, 1.626, 1.917",\
                 "0.6228, 0.6466, 0.7226, 0.8428, 1.001, 1.191, 1.41, 1.662, 1.944, 2.256",\
                 "0.7948, 0.8214, 0.9096, 1.052, 1.235, 1.453, 1.702, 1.978, 2.291, 2.637",\
                 "0.9814, 1.016, 1.122, 1.287, 1.497, 1.742, 2.022, 2.331, 2.671, 3.046",\
                 "1.188, 1.226, 1.354, 1.547, 1.787, 2.064, 2.374, 2.717, 3.09, 3.496");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5122, 0.5649, 0.7473, 1.097, 1.64, 2.399, 3.397, 4.658, 6.198, 8.034",\
                 "0.5127, 0.565, 0.7473, 1.098, 1.639, 2.399, 3.399, 4.661, 6.194, 8.028",\
                 "0.5142, 0.5658, 0.7481, 1.096, 1.638, 2.4, 3.396, 4.659, 6.199, 8.017",\
                 "0.5567, 0.6023, 0.7669, 1.099, 1.64, 2.397, 3.398, 4.654, 6.196, 8.02",\
                 "0.6152, 0.6648, 0.8376, 1.152, 1.655, 2.399, 3.403, 4.66, 6.2, 8.028",\
                 "0.6906, 0.737, 0.9066, 1.237, 1.732, 2.442, 3.403, 4.653, 6.192, 8.033",\
                 "0.8094, 0.8538, 1.01, 1.329, 1.838, 2.538, 3.465, 4.678, 6.201, 8.033",\
                 "0.9612, 1.006, 1.161, 1.46, 1.954, 2.669, 3.588, 4.758, 6.225, 8.025",\
                 "1.135, 1.182, 1.344, 1.639, 2.113, 2.817, 3.751, 4.91, 6.336, 8.081",\
                 "1.327, 1.377, 1.55, 1.858, 2.319, 2.995, 3.928, 5.1, 6.516, 8.216");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.09853, 0.1056, 0.1302, 0.1758, 0.2457, 0.3428, 0.47, 0.6297, 0.8245, 1.056",\
                 "0.1124, 0.1195, 0.1439, 0.1896, 0.2595, 0.3567, 0.4838, 0.6436, 0.8383, 1.07",\
                 "0.1549, 0.1634, 0.1916, 0.2392, 0.3088, 0.4057, 0.5328, 0.6925, 0.8872, 1.119",\
                 "0.1788, 0.1912, 0.2317, 0.2993, 0.3902, 0.5, 0.6286, 0.7876, 0.9819, 1.213",\
                 "0.1678, 0.1843, 0.2387, 0.3282, 0.4471, 0.59, 0.7528, 0.9337, 1.132, 1.363",\
                 "0.1172, 0.1379, 0.2055, 0.3188, 0.4681, 0.6455, 0.8459, 1.069, 1.31, 1.568",\
                 "0.0233, 0.0483, 0.1293, 0.2658, 0.4464, 0.6608, 0.9017, 1.166, 1.453, 1.759",\
                 "-0.117, -0.0879, 0.0077, 0.1666, 0.3784, 0.6301, 0.9132, 1.223, 1.555, 1.909",\
                 "-0.306, -0.273, -0.1647, 0.0178, 0.2602, 0.5503, 0.8762, 1.232, 1.613, 2.017",\
                 "-0.5458, -0.5087, -0.3873, -0.1829, 0.09, 0.4167, 0.7871, 1.19, 1.621, 2.078");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3942, 0.4245, 0.5307, 0.7313, 1.041, 1.477, 2.048, 2.768, 3.645, 4.692",\
                 "0.3971, 0.4284, 0.5367, 0.7401, 1.053, 1.489, 2.062, 2.783, 3.662, 4.707",\
                 "0.4253, 0.4561, 0.5632, 0.7668, 1.081, 1.52, 2.095, 2.817, 3.697, 4.746",\
                 "0.5052, 0.5365, 0.6423, 0.84, 1.149, 1.584, 2.157, 2.879, 3.759, 4.807",\
                 "0.6421, 0.6745, 0.7847, 0.9883, 1.292, 1.717, 2.281, 2.996, 3.87, 4.916",\
                 "0.8457, 0.8792, 0.9915, 1.2, 1.513, 1.936, 2.488, 3.191, 4.055, 5.092",\
                 "1.104, 1.141, 1.263, 1.478, 1.798, 2.234, 2.787, 3.477, 4.328, 5.353",\
                 "1.412, 1.454, 1.59, 1.823, 2.154, 2.599, 3.167, 3.862, 4.699, 5.71",\
                 "1.772, 1.819, 1.971, 2.227, 2.58, 3.036, 3.617, 4.328, 5.174, 6.171",\
                 "2.186, 2.238, 2.406, 2.688, 3.071, 3.55, 4.142, 4.868, 5.733, 6.74");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1288, 0.1405, 0.1798, 0.2552, 0.372, 0.5358, 0.7506, 1.021, 1.352, 1.745",\
                 "0.1278, 0.1395, 0.1797, 0.255, 0.3722, 0.5358, 0.7506, 1.02, 1.352, 1.746",\
                 "0.165, 0.1745, 0.205, 0.2656, 0.3731, 0.5354, 0.7501, 1.02, 1.352, 1.745",\
                 "0.2472, 0.2598, 0.2998, 0.3689, 0.4641, 0.5864, 0.7669, 1.023, 1.351, 1.744",\
                 "0.3513, 0.3676, 0.4173, 0.5014, 0.6156, 0.7584, 0.9272, 1.126, 1.398, 1.755",\
                 "0.4764, 0.497, 0.5588, 0.6596, 0.7938, 0.9602, 1.156, 1.379, 1.627, 1.918",\
                 "0.6224, 0.6474, 0.7204, 0.8432, 1.001, 1.19, 1.411, 1.663, 1.945, 2.256",\
                 "0.7934, 0.8216, 0.9098, 1.052, 1.236, 1.452, 1.7, 1.98, 2.291, 2.637",\
                 "0.9816, 1.016, 1.122, 1.287, 1.497, 1.743, 2.022, 2.332, 2.672, 3.047",\
                 "1.188, 1.226, 1.354, 1.547, 1.787, 2.064, 2.375, 2.718, 3.091, 3.496");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5122, 0.5647, 0.7473, 1.096, 1.638, 2.399, 3.398, 4.658, 6.198, 8.034",\
                 "0.5125, 0.5647, 0.7472, 1.098, 1.638, 2.396, 3.399, 4.661, 6.189, 8.029",\
                 "0.514, 0.566, 0.748, 1.098, 1.638, 2.396, 3.398, 4.658, 6.198, 8.021",\
                 "0.5569, 0.6028, 0.7675, 1.099, 1.64, 2.398, 3.404, 4.664, 6.196, 8.023",\
                 "0.6156, 0.665, 0.8376, 1.152, 1.657, 2.399, 3.403, 4.66, 6.2, 8.028",\
                 "0.6906, 0.7376, 0.9064, 1.237, 1.732, 2.439, 3.406, 4.658, 6.192, 8.028",\
                 "0.8096, 0.8538, 1.01, 1.328, 1.837, 2.538, 3.47, 4.68, 6.198, 8.035",\
                 "0.9622, 1.006, 1.159, 1.46, 1.954, 2.67, 3.591, 4.761, 6.221, 8.026",\
                 "1.135, 1.183, 1.345, 1.64, 2.113, 2.814, 3.748, 4.909, 6.333, 8.079",\
                 "1.328, 1.379, 1.55, 1.858, 2.32, 2.995, 3.926, 5.098, 6.516, 8.216");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.09205, 0.09869, 0.1214, 0.1637, 0.2285, 0.3183, 0.436, 0.5838, 0.7639, 0.9785",\
                 "0.1063, 0.1129, 0.1355, 0.1778, 0.2426, 0.3325, 0.4501, 0.598, 0.7782, 0.9926",\
                 "0.1481, 0.1564, 0.1833, 0.2287, 0.2932, 0.3829, 0.5005, 0.6481, 0.8284, 1.043",\
                 "0.1691, 0.1812, 0.2203, 0.2856, 0.3727, 0.4775, 0.5985, 0.7457, 0.9254, 1.14",\
                 "0.1547, 0.171, 0.2231, 0.31, 0.4253, 0.5624, 0.719, 0.8915, 1.079, 1.293",\
                 "0.0993, 0.1197, 0.1858, 0.2961, 0.4402, 0.6126, 0.8056, 1.019, 1.25, 1.497",\
                 "-0.0007, 0.0244, 0.104, 0.2373, 0.4122, 0.6204, 0.8539, 1.109, 1.384, 1.678",\
                 "-0.1476, -0.1183, -0.0251, 0.1298, 0.3363, 0.582, 0.8569, 1.156, 1.477, 1.818",\
                 "-0.3445, -0.3119, -0.2057, -0.0267, 0.2101, 0.4925, 0.8098, 1.155, 1.524, 1.914",\
                 "-0.5939, -0.5573, -0.4379, -0.238, 0.0295, 0.3484, 0.7084, 1.101, 1.519, 1.962");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.3935, 0.4239, 0.53, 0.7306, 1.041, 1.476, 2.047, 2.767, 3.644, 4.692",\
                 "0.3956, 0.4268, 0.5349, 0.7384, 1.051, 1.488, 2.06, 2.781, 3.66, 4.707",\
                 "0.4245, 0.455, 0.5618, 0.7652, 1.079, 1.518, 2.092, 2.814, 3.695, 4.743",\
                 "0.5053, 0.5366, 0.6421, 0.8398, 1.148, 1.583, 2.155, 2.877, 3.757, 4.805",\
                 "0.6443, 0.676, 0.7864, 0.9897, 1.292, 1.717, 2.28, 2.995, 3.869, 4.914",\
                 "0.8501, 0.8835, 0.9963, 1.205, 1.517, 1.938, 2.49, 3.193, 4.057, 5.091",\
                 "1.112, 1.149, 1.271, 1.486, 1.806, 2.24, 2.792, 3.482, 4.334, 5.355",\
                 "1.426, 1.468, 1.603, 1.835, 2.165, 2.609, 3.176, 3.87, 4.709, 5.717",\
                 "1.793, 1.839, 1.99, 2.245, 2.596, 3.052, 3.631, 4.342, 5.187, 6.183",\
                 "2.214, 2.266, 2.433, 2.714, 3.093, 3.57, 4.162, 4.888, 5.752, 6.758");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1177, 0.1283, 0.1655, 0.2342, 0.3422, 0.4924, 0.6906, 0.9399, 1.245, 1.608",\
                 "0.1168, 0.1275, 0.1645, 0.2343, 0.3419, 0.4928, 0.691, 0.9405, 1.245, 1.608",\
                 "0.1574, 0.1662, 0.1947, 0.248, 0.344, 0.4928, 0.6903, 0.9394, 1.244, 1.607",\
                 "0.2391, 0.2506, 0.289, 0.3537, 0.4423, 0.5533, 0.7138, 0.9441, 1.244, 1.608",\
                 "0.3414, 0.3573, 0.4046, 0.4855, 0.5936, 0.7278, 0.8848, 1.066, 1.305, 1.626",\
                 "0.464, 0.4832, 0.5434, 0.6408, 0.7708, 0.9266, 1.111, 1.32, 1.551, 1.812",\
                 "0.6094, 0.632, 0.7042, 0.8212, 0.9734, 1.155, 1.363, 1.601, 1.866, 2.157",\
                 "0.776, 0.8048, 0.8892, 1.028, 1.204, 1.414, 1.65, 1.916, 2.209, 2.536",\
                 "0.961, 0.9956, 1.099, 1.26, 1.462, 1.699, 1.967, 2.262, 2.585, 2.942",\
                 "1.163, 1.205, 1.328, 1.516, 1.748, 2.017, 2.314, 2.644, 3.002, 3.386");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5121, 0.5649, 0.7473, 1.097, 1.638, 2.399, 3.398, 4.655, 6.198, 8.034",\
                 "0.5125, 0.5648, 0.7478, 1.098, 1.638, 2.399, 3.399, 4.661, 6.19, 8.024",\
                 "0.5145, 0.566, 0.7473, 1.097, 1.638, 2.399, 3.398, 4.661, 6.201, 8.034",\
                 "0.5568, 0.6027, 0.7669, 1.098, 1.64, 2.399, 3.397, 4.664, 6.198, 8.018",\
                 "0.6148, 0.6636, 0.837, 1.151, 1.654, 2.398, 3.397, 4.659, 6.2, 8.029",\
                 "0.6876, 0.7344, 0.9042, 1.235, 1.731, 2.442, 3.403, 4.659, 6.193, 8.033",\
                 "0.8036, 0.8494, 1.006, 1.325, 1.836, 2.536, 3.465, 4.679, 6.201, 8.03",\
                 "0.9536, 0.999, 1.152, 1.452, 1.951, 2.666, 3.586, 4.759, 6.224, 8.03",\
                 "1.125, 1.172, 1.333, 1.629, 2.105, 2.805, 3.747, 4.906, 6.332, 8.082",\
                 "1.316, 1.365, 1.537, 1.847, 2.308, 2.983, 3.92, 5.094, 6.51, 8.21");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.162, 0.1716, 0.2047, 0.2655, 0.3571, 0.4827, 0.6455, 0.8487, 1.095, 1.389",\
                 "0.1746, 0.1844, 0.2174, 0.2783, 0.37, 0.4956, 0.6584, 0.8616, 1.108, 1.402",\
                 "0.2235, 0.2325, 0.2641, 0.3236, 0.4149, 0.5402, 0.7029, 0.9061, 1.153, 1.446",\
                 "0.283, 0.2951, 0.3358, 0.4062, 0.5036, 0.6283, 0.7898, 0.9924, 1.238, 1.531",\
                 "0.3138, 0.3295, 0.3811, 0.47, 0.593, 0.7461, 0.9251, 1.13, 1.375, 1.667",\
                 "0.3083, 0.3278, 0.3916, 0.501, 0.6505, 0.8352, 1.051, 1.296, 1.565, 1.861",\
                 "0.2628, 0.2856, 0.3617, 0.4921, 0.6708, 0.8894, 1.143, 1.428, 1.743, 2.085",\
                 "0.1734, 0.2003, 0.2876, 0.4398, 0.6484, 0.9028, 1.197, 1.524, 1.884, 2.275",\
                 "0.04, 0.0695, 0.169, 0.3413, 0.579, 0.8699, 1.205, 1.579, 1.986, 2.424",\
                 "-0.1421, -0.109, 0.0021, 0.1943, 0.4611, 0.7879, 1.167, 1.587, 2.043, 2.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4035, 0.4339, 0.5404, 0.742, 1.054, 1.491, 2.065, 2.787, 3.669, 4.717",\
                 "0.4064, 0.4379, 0.5463, 0.7508, 1.065, 1.504, 2.079, 2.802, 3.684, 4.733",\
                 "0.4348, 0.4656, 0.573, 0.7772, 1.093, 1.534, 2.112, 2.837, 3.72, 4.77",\
                 "0.5158, 0.547, 0.6524, 0.8513, 1.162, 1.599, 2.174, 2.899, 3.781, 4.832",\
                 "0.6537, 0.6861, 0.7968, 1, 1.304, 1.732, 2.298, 3.016, 3.893, 4.941",\
                 "0.8583, 0.8917, 1.005, 1.213, 1.527, 1.95, 2.505, 3.211, 4.078, 5.117",\
                 "1.12, 1.156, 1.277, 1.492, 1.813, 2.25, 2.804, 3.498, 4.352, 5.378",\
                 "1.432, 1.473, 1.608, 1.839, 2.17, 2.616, 3.186, 3.883, 4.724, 5.736",\
                 "1.796, 1.842, 1.992, 2.246, 2.597, 3.055, 3.637, 4.35, 5.198, 6.197",\
                 "2.215, 2.266, 2.432, 2.71, 3.091, 3.569, 4.164, 4.892, 5.758, 6.766");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2305, 0.2463, 0.2997, 0.399, 0.5497, 0.7594, 1.032, 1.376, 1.795, 2.293",\
                 "0.2303, 0.2456, 0.2998, 0.3985, 0.5501, 0.759, 1.032, 1.375, 1.795, 2.293",\
                 "0.2312, 0.2454, 0.2955, 0.3947, 0.5483, 0.7583, 1.032, 1.376, 1.795, 2.292",\
                 "0.3136, 0.329, 0.377, 0.4613, 0.5834, 0.7677, 1.032, 1.376, 1.795, 2.292",\
                 "0.4228, 0.4401, 0.4972, 0.5956, 0.7324, 0.9066, 1.121, 1.413, 1.8, 2.293",\
                 "0.555, 0.5762, 0.6446, 0.7576, 0.9126, 1.109, 1.346, 1.62, 1.947, 2.367",\
                 "0.7122, 0.736, 0.816, 0.9504, 1.125, 1.343, 1.603, 1.906, 2.253, 2.636",\
                 "0.89, 0.922, 1.016, 1.169, 1.37, 1.613, 1.897, 2.224, 2.6, 3.02",\
                 "1.093, 1.13, 1.237, 1.414, 1.644, 1.917, 2.231, 2.584, 2.983, 3.434",\
                 "1.325, 1.365, 1.487, 1.684, 1.947, 2.251, 2.6, 2.983, 3.412, 3.888");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7625, 0.8207, 1.022, 1.394, 1.958, 2.732, 3.737, 4.997, 6.535, 8.366",\
                 "0.7627, 0.8207, 1.022, 1.394, 1.958, 2.731, 3.738, 4.999, 6.535, 8.368",\
                 "0.7643, 0.8218, 1.022, 1.394, 1.958, 2.731, 3.737, 4.997, 6.534, 8.368",\
                 "0.8074, 0.8583, 1.041, 1.397, 1.958, 2.732, 3.738, 4.999, 6.535, 8.367",\
                 "0.9018, 0.9528, 1.122, 1.45, 1.975, 2.732, 3.737, 4.998, 6.536, 8.366",\
                 "1.007, 1.054, 1.225, 1.556, 2.056, 2.772, 3.744, 4.998, 6.536, 8.369",\
                 "1.166, 1.205, 1.358, 1.676, 2.181, 2.878, 3.808, 5.017, 6.537, 8.369",\
                 "1.381, 1.416, 1.548, 1.835, 2.324, 3.026, 3.94, 5.106, 6.573, 8.374",\
                 "1.632, 1.666, 1.791, 2.053, 2.508, 3.195, 4.116, 5.265, 6.689, 8.431",\
                 "1.906, 1.94, 2.065, 2.322, 2.75, 3.402, 4.312, 5.473, 6.876, 8.573");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1776, 0.1879, 0.2229, 0.2864, 0.3807, 0.5088, 0.6736, 0.8784, 1.126, 1.421",\
                 "0.1888, 0.199, 0.2339, 0.2973, 0.3918, 0.5198, 0.6847, 0.8895, 1.138, 1.432",\
                 "0.2362, 0.2457, 0.2788, 0.341, 0.435, 0.5626, 0.7273, 0.932, 1.18, 1.474",\
                 "0.3051, 0.3172, 0.3575, 0.4273, 0.5241, 0.6497, 0.8132, 1.017, 1.265, 1.559",\
                 "0.3469, 0.3625, 0.4129, 0.5007, 0.6219, 0.7732, 0.9502, 1.155, 1.401, 1.694",\
                 "0.3567, 0.3757, 0.4375, 0.5442, 0.6905, 0.8715, 1.084, 1.326, 1.593, 1.888",\
                 "0.3307, 0.3526, 0.4258, 0.5522, 0.7258, 0.9395, 1.188, 1.469, 1.779, 2.118",\
                 "0.2665, 0.2919, 0.3764, 0.5227, 0.7227, 0.9707, 1.257, 1.577, 1.931, 2.316",\
                 "0.1635, 0.1922, 0.2872, 0.4517, 0.6806, 0.9626, 1.287, 1.651, 2.048, 2.479",\
                 "0.0213, 0.0528, 0.1577, 0.3417, 0.5949, 0.9118, 1.275, 1.682, 2.126, 2.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4446, 0.4752, 0.5818, 0.7833, 1.095, 1.532, 2.106, 2.829, 3.71, 4.76",\
                 "0.4534, 0.4841, 0.5928, 0.7968, 1.112, 1.55, 2.126, 2.849, 3.731, 4.781",\
                 "0.4793, 0.5104, 0.619, 0.8246, 1.142, 1.583, 2.161, 2.887, 3.77, 4.821",\
                 "0.5346, 0.5654, 0.6719, 0.8733, 1.187, 1.627, 2.205, 2.931, 3.815, 4.867",\
                 "0.6271, 0.6586, 0.7678, 0.9723, 1.28, 1.711, 2.282, 3.003, 3.884, 4.934",\
                 "0.7785, 0.811, 0.9215, 1.125, 1.437, 1.863, 2.421, 3.131, 4.003, 5.045",\
                 "0.9765, 1.013, 1.133, 1.343, 1.654, 2.084, 2.64, 3.335, 4.192, 5.221",\
                 "1.214, 1.254, 1.389, 1.619, 1.94, 2.37, 2.929, 3.625, 4.466, 5.479",\
                 "1.487, 1.533, 1.682, 1.936, 2.283, 2.725, 3.285, 3.984, 4.829, 5.828",\
                 "1.797, 1.848, 2.015, 2.295, 2.672, 3.143, 3.713, 4.413, 5.263, 6.266");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.268, 0.2832, 0.337, 0.4371, 0.5886, 0.7979, 1.071, 1.415, 1.833, 2.333",\
                 "0.2658, 0.2822, 0.3366, 0.4371, 0.588, 0.7975, 1.071, 1.414, 1.834, 2.333",\
                 "0.2581, 0.2726, 0.3264, 0.4298, 0.5866, 0.7974, 1.072, 1.415, 1.834, 2.333",\
                 "0.3424, 0.3571, 0.4051, 0.4874, 0.6115, 0.8005, 1.07, 1.415, 1.835, 2.333",\
                 "0.4612, 0.4778, 0.5334, 0.6304, 0.763, 0.9342, 1.151, 1.446, 1.838, 2.333",\
                 "0.6098, 0.6304, 0.6942, 0.803, 0.9514, 1.144, 1.375, 1.646, 1.976, 2.398",\
                 "0.7904, 0.813, 0.8872, 1.012, 1.177, 1.385, 1.637, 1.935, 2.277, 2.663",\
                 "0.9996, 1.026, 1.116, 1.256, 1.443, 1.67, 1.94, 2.259, 2.631, 3.046",\
                 "1.246, 1.275, 1.378, 1.536, 1.745, 1.995, 2.288, 2.627, 3.017, 3.459",\
                 "1.527, 1.561, 1.675, 1.854, 2.088, 2.368, 2.683, 3.045, 3.452, 3.918");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7628, 0.8208, 1.022, 1.394, 1.958, 2.731, 3.738, 4.998, 6.532, 8.367",\
                 "0.763, 0.8208, 1.022, 1.394, 1.958, 2.731, 3.737, 4.999, 6.535, 8.364",\
                 "0.7637, 0.8215, 1.022, 1.394, 1.958, 2.732, 3.738, 4.997, 6.535, 8.366",\
                 "0.7923, 0.8454, 1.033, 1.396, 1.958, 2.732, 3.738, 4.999, 6.535, 8.367",\
                 "0.8758, 0.9266, 1.101, 1.439, 1.973, 2.732, 3.738, 4.999, 6.536, 8.368",\
                 "0.999, 1.044, 1.207, 1.532, 2.043, 2.77, 3.745, 4.999, 6.536, 8.369",\
                 "1.202, 1.236, 1.37, 1.662, 2.156, 2.863, 3.806, 5.021, 6.538, 8.367",\
                 "1.464, 1.496, 1.611, 1.862, 2.312, 2.997, 3.921, 5.104, 6.579, 8.374",\
                 "1.76, 1.79, 1.902, 2.136, 2.539, 3.177, 4.081, 5.244, 6.686, 8.442",\
                 "2.08, 2.111, 2.224, 2.459, 2.846, 3.431, 4.286, 5.43, 6.851, 8.572");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1602, 0.1699, 0.2036, 0.265, 0.3573, 0.4833, 0.6463, 0.8497, 1.097, 1.39",\
                 "0.1714, 0.1814, 0.2148, 0.2762, 0.3683, 0.4943, 0.6574, 0.8608, 1.108, 1.401",\
                 "0.219, 0.2281, 0.2598, 0.3198, 0.4114, 0.5371, 0.7, 0.9034, 1.15, 1.443",\
                 "0.2763, 0.2886, 0.3298, 0.4013, 0.4993, 0.6242, 0.786, 0.9887, 1.235, 1.528",\
                 "0.3049, 0.3211, 0.3741, 0.4642, 0.5883, 0.7418, 0.921, 1.126, 1.371, 1.663",\
                 "0.3004, 0.3207, 0.3854, 0.4959, 0.6468, 0.8323, 1.048, 1.292, 1.562, 1.858",\
                 "0.2614, 0.2843, 0.3614, 0.4931, 0.6726, 0.8916, 1.144, 1.428, 1.742, 2.083",\
                 "0.1836, 0.211, 0.2994, 0.4517, 0.6604, 0.914, 1.205, 1.531, 1.888, 2.276",\
                 "0.0691, 0.0989, 0.1983, 0.37, 0.6079, 0.8956, 1.227, 1.597, 2, 2.434",\
                 "-0.0848, -0.0515, 0.0589, 0.2486, 0.5116, 0.8353, 1.209, 1.622, 2.072, 2.556");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4444, 0.4752, 0.5818, 0.7831, 1.095, 1.532, 2.106, 2.829, 3.71, 4.759",\
                 "0.4526, 0.4842, 0.5928, 0.7969, 1.112, 1.55, 2.126, 2.849, 3.73, 4.78",\
                 "0.4793, 0.5106, 0.6191, 0.8247, 1.142, 1.583, 2.161, 2.887, 3.77, 4.82",\
                 "0.5344, 0.5653, 0.6719, 0.8733, 1.188, 1.627, 2.205, 2.931, 3.815, 4.866",\
                 "0.6272, 0.6591, 0.7678, 0.9717, 1.28, 1.711, 2.282, 3.003, 3.883, 4.932",\
                 "0.7785, 0.811, 0.9215, 1.125, 1.436, 1.863, 2.421, 3.131, 4.002, 5.043",\
                 "0.9767, 1.013, 1.133, 1.343, 1.654, 2.084, 2.641, 3.335, 4.192, 5.22",\
                 "1.214, 1.255, 1.389, 1.618, 1.94, 2.37, 2.929, 3.625, 4.466, 5.477",\
                 "1.486, 1.533, 1.683, 1.935, 2.283, 2.725, 3.285, 3.984, 4.828, 5.826",\
                 "1.796, 1.847, 2.015, 2.294, 2.672, 3.143, 3.713, 4.413, 5.261, 6.264");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2375, 0.2531, 0.3058, 0.4043, 0.5543, 0.7624, 1.035, 1.379, 1.798, 2.295",\
                 "0.2355, 0.2511, 0.3047, 0.4035, 0.5536, 0.7628, 1.035, 1.38, 1.798, 2.295",\
                 "0.2365, 0.2506, 0.2997, 0.3977, 0.5515, 0.7621, 1.036, 1.379, 1.798, 2.296",\
                 "0.3257, 0.3398, 0.3867, 0.4692, 0.5891, 0.7714, 1.035, 1.379, 1.798, 2.296",\
                 "0.4458, 0.4634, 0.5174, 0.6118, 0.7432, 0.915, 1.128, 1.417, 1.805, 2.296",\
                 "0.5982, 0.6168, 0.6814, 0.7874, 0.9336, 1.124, 1.354, 1.626, 1.952, 2.371",\
                 "0.7776, 0.8006, 0.877, 0.9984, 1.163, 1.366, 1.618, 1.915, 2.257, 2.642",\
                 "0.9912, 1.02, 1.103, 1.246, 1.429, 1.654, 1.921, 2.239, 2.607, 3.025",\
                 "1.237, 1.269, 1.369, 1.528, 1.734, 1.984, 2.272, 2.608, 2.996, 3.439",\
                 "1.521, 1.557, 1.666, 1.847, 2.082, 2.356, 2.669, 3.028, 3.435, 3.899");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6814, 0.7345, 0.92, 1.271, 1.813, 2.574, 3.572, 4.834, 6.367, 8.201",\
                 "0.6815, 0.7348, 0.9195, 1.271, 1.813, 2.573, 3.572, 4.834, 6.37, 8.194",\
                 "0.6823, 0.7348, 0.9201, 1.271, 1.814, 2.573, 3.574, 4.833, 6.37, 8.199",\
                 "0.7105, 0.7583, 0.9315, 1.273, 1.813, 2.573, 3.574, 4.834, 6.371, 8.198",\
                 "0.7802, 0.8274, 0.995, 1.314, 1.828, 2.575, 3.573, 4.834, 6.37, 8.203",\
                 "0.8892, 0.9314, 1.085, 1.4, 1.898, 2.612, 3.582, 4.833, 6.37, 8.199",\
                 "1.071, 1.105, 1.236, 1.52, 2.003, 2.704, 3.641, 4.856, 6.373, 8.198",\
                 "1.294, 1.329, 1.456, 1.708, 2.152, 2.833, 3.756, 4.936, 6.415, 8.21",\
                 "1.546, 1.582, 1.71, 1.963, 2.371, 3.007, 3.911, 5.075, 6.52, 8.274",\
                 "1.822, 1.859, 1.996, 2.257, 2.664, 3.254, 4.111, 5.259, 6.68, 8.399");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.128, 0.136, 0.1631, 0.2126, 0.2863, 0.3871, 0.5171, 0.6791, 0.8755, 1.109",\
                 "0.1411, 0.149, 0.1758, 0.225, 0.2988, 0.3996, 0.5295, 0.6915, 0.8879, 1.121",\
                 "0.1921, 0.2002, 0.2268, 0.2743, 0.347, 0.4472, 0.577, 0.7389, 0.9352, 1.168",\
                 "0.2392, 0.2509, 0.2878, 0.3514, 0.4378, 0.5431, 0.6721, 0.8332, 1.029, 1.262",\
                 "0.2561, 0.2709, 0.3197, 0.4015, 0.5135, 0.6496, 0.807, 0.9821, 1.179, 1.411",\
                 "0.2369, 0.2547, 0.3152, 0.4176, 0.5562, 0.7236, 0.9163, 1.131, 1.366, 1.619",\
                 "0.1769, 0.1993, 0.2712, 0.3944, 0.5604, 0.7612, 0.9906, 1.245, 1.523, 1.823",\
                 "0.0762, 0.1017, 0.1854, 0.3285, 0.5226, 0.7579, 1.026, 1.322, 1.643, 1.987",\
                 "-0.0666, -0.0375, 0.0563, 0.2188, 0.4399, 0.7094, 1.017, 1.356, 1.723, 2.114",\
                 "-0.2549, -0.2229, -0.1177, 0.0638, 0.3119, 0.6136, 0.9617, 1.344, 1.757, 2.198");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4441, 0.4742, 0.5807, 0.7821, 1.094, 1.531, 2.105, 2.828, 3.709, 4.758",\
                 "0.4495, 0.481, 0.5894, 0.7934, 1.108, 1.547, 2.122, 2.845, 3.727, 4.777",\
                 "0.4769, 0.5075, 0.6154, 0.8204, 1.137, 1.578, 2.156, 2.881, 3.764, 4.815",\
                 "0.5335, 0.5643, 0.6703, 0.8714, 1.184, 1.623, 2.2, 2.926, 3.809, 4.861",\
                 "0.6313, 0.6621, 0.7708, 0.9742, 1.28, 1.711, 2.28, 3, 3.88, 4.928",\
                 "0.7934, 0.8261, 0.934, 1.136, 1.445, 1.871, 2.426, 3.134, 4.003, 5.043",\
                 "1.008, 1.043, 1.162, 1.368, 1.676, 2.103, 2.657, 3.349, 4.203, 5.229",\
                 "1.265, 1.305, 1.437, 1.661, 1.978, 2.405, 2.961, 3.653, 4.492, 5.5",\
                 "1.565, 1.609, 1.755, 2.003, 2.344, 2.78, 3.336, 4.031, 4.871, 5.865",\
                 "1.906, 1.956, 2.118, 2.39, 2.76, 3.222, 3.786, 4.483, 5.328, 6.326");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1785, 0.1913, 0.234, 0.3125, 0.4308, 0.5957, 0.8114, 1.082, 1.413, 1.806",\
                 "0.1765, 0.1886, 0.2321, 0.3112, 0.4306, 0.5957, 0.8116, 1.082, 1.413, 1.806",\
                 "0.1958, 0.2053, 0.2394, 0.31, 0.4281, 0.5942, 0.8109, 1.082, 1.412, 1.807",\
                 "0.2902, 0.302, 0.3412, 0.408, 0.4985, 0.6277, 0.8189, 1.082, 1.413, 1.807",\
                 "0.4083, 0.4236, 0.4708, 0.5508, 0.6616, 0.7986, 0.9624, 1.167, 1.448, 1.812",\
                 "0.554, 0.5714, 0.6294, 0.723, 0.8498, 1.008, 1.198, 1.417, 1.661, 1.958",\
                 "0.7278, 0.7486, 0.8164, 0.9264, 1.074, 1.249, 1.46, 1.706, 1.985, 2.292",\
                 "0.9308, 0.9574, 1.037, 1.163, 1.329, 1.531, 1.763, 2.031, 2.335, 2.674",\
                 "1.17, 1.201, 1.29, 1.438, 1.627, 1.85, 2.106, 2.395, 2.723, 3.089",\
                 "1.44, 1.476, 1.581, 1.747, 1.962, 2.208, 2.49, 2.804, 3.156, 3.546");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6811, 0.7345, 0.9198, 1.271, 1.813, 2.573, 3.572, 4.834, 6.366, 8.201",\
                 "0.6816, 0.7342, 0.9198, 1.271, 1.813, 2.574, 3.573, 4.834, 6.369, 8.192",\
                 "0.6824, 0.7353, 0.9194, 1.271, 1.813, 2.574, 3.573, 4.832, 6.371, 8.203",\
                 "0.7108, 0.7587, 0.9312, 1.273, 1.813, 2.573, 3.574, 4.833, 6.37, 8.193",\
                 "0.778, 0.8258, 0.994, 1.314, 1.828, 2.575, 3.574, 4.833, 6.37, 8.2",\
                 "0.8812, 0.9226, 1.078, 1.395, 1.896, 2.611, 3.581, 4.834, 6.371, 8.203",\
                 "1.049, 1.086, 1.221, 1.506, 1.996, 2.7, 3.64, 4.854, 6.371, 8.201",\
                 "1.268, 1.301, 1.424, 1.681, 2.131, 2.82, 3.749, 4.934, 6.411, 8.212",\
                 "1.512, 1.548, 1.673, 1.921, 2.335, 2.98, 3.893, 5.064, 6.509, 8.272",\
                 "1.784, 1.82, 1.953, 2.206, 2.609, 3.207, 4.076, 5.231, 6.665, 8.393");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1253, 0.1353, 0.1692, 0.231, 0.3232, 0.449, 0.6118, 0.815, 1.062, 1.355",\
                 "0.1371, 0.147, 0.1806, 0.2422, 0.3343, 0.4601, 0.6229, 0.8261, 1.073, 1.366",\
                 "0.1847, 0.1946, 0.2273, 0.2864, 0.3775, 0.5029, 0.6656, 0.8687, 1.115, 1.409",\
                 "0.227, 0.2406, 0.2856, 0.3613, 0.4636, 0.5903, 0.7516, 0.9541, 1.2, 1.493",\
                 "0.24, 0.2576, 0.3152, 0.4124, 0.5424, 0.7008, 0.8844, 1.091, 1.337, 1.629",\
                 "0.2194, 0.2414, 0.3126, 0.4315, 0.5904, 0.7825, 1.003, 1.252, 1.525, 1.823",\
                 "0.1634, 0.1882, 0.2732, 0.416, 0.6053, 0.8322, 1.091, 1.381, 1.699, 2.044",\
                 "0.0718, 0.1014, 0.198, 0.3619, 0.5813, 0.8451, 1.145, 1.476, 1.838, 2.231",\
                 "-0.0566, -0.0239, 0.085, 0.2679, 0.5172, 0.8175, 1.159, 1.536, 1.944, 2.383",\
                 "-0.2244, -0.188, -0.0673, 0.1352, 0.4115, 0.7479, 1.131, 1.553, 2.01, 2.5");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4353, 0.4655, 0.5719, 0.7725, 1.083, 1.518, 2.089, 2.809, 3.686, 4.734",\
                 "0.4434, 0.4748, 0.583, 0.786, 1.099, 1.536, 2.109, 2.829, 3.708, 4.755",\
                 "0.4697, 0.5008, 0.6095, 0.8141, 1.129, 1.569, 2.144, 2.867, 3.747, 4.795",\
                 "0.5242, 0.5553, 0.6617, 0.8623, 1.175, 1.613, 2.188, 2.911, 3.792, 4.842",\
                 "0.6164, 0.6478, 0.7566, 0.9606, 1.267, 1.697, 2.265, 2.983, 3.861, 4.908",\
                 "0.7652, 0.7981, 0.9091, 1.112, 1.423, 1.848, 2.404, 3.111, 3.979, 5.018",\
                 "0.9599, 0.9977, 1.118, 1.329, 1.64, 2.068, 2.623, 3.314, 4.168, 5.195",\
                 "1.193, 1.234, 1.37, 1.602, 1.924, 2.353, 2.91, 3.604, 4.442, 5.452",\
                 "1.46, 1.508, 1.66, 1.915, 2.264, 2.707, 3.265, 3.962, 4.805, 5.8",\
                 "1.763, 1.815, 1.986, 2.27, 2.65, 3.122, 3.691, 4.39, 5.237, 6.238");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.203, 0.2184, 0.2715, 0.3693, 0.5192, 0.7261, 0.9989, 1.342, 1.76, 2.259",\
                 "0.1991, 0.2151, 0.2695, 0.3686, 0.5188, 0.7262, 0.9993, 1.342, 1.761, 2.258",\
                 "0.2153, 0.2279, 0.2718, 0.3633, 0.5147, 0.7259, 0.9992, 1.342, 1.761, 2.259",\
                 "0.3078, 0.3223, 0.3679, 0.4489, 0.5666, 0.7413, 0.9986, 1.341, 1.759, 2.259",\
                 "0.4298, 0.446, 0.4997, 0.5922, 0.7232, 0.8938, 1.105, 1.387, 1.771, 2.26",\
                 "0.581, 0.6006, 0.6644, 0.7698, 0.915, 1.102, 1.333, 1.606, 1.927, 2.343",\
                 "0.7618, 0.7848, 0.8594, 0.9808, 1.145, 1.348, 1.597, 1.893, 2.236, 2.62",\
                 "0.9758, 1.002, 1.089, 1.23, 1.413, 1.638, 1.903, 2.218, 2.585, 3.003",\
                 "1.221, 1.253, 1.352, 1.515, 1.718, 1.966, 2.256, 2.588, 2.976, 3.418",\
                 "1.502, 1.541, 1.655, 1.835, 2.069, 2.341, 2.652, 3.009, 3.414, 3.878");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.512, 0.5646, 0.7474, 1.097, 1.639, 2.4, 3.398, 4.656, 6.198, 8.031",\
                 "0.5127, 0.5649, 0.7476, 1.095, 1.637, 2.398, 3.4, 4.663, 6.196, 8.025",\
                 "0.5135, 0.5653, 0.7477, 1.097, 1.638, 2.399, 3.401, 4.656, 6.198, 8.035",\
                 "0.5418, 0.5898, 0.7592, 1.099, 1.638, 2.401, 3.398, 4.659, 6.196, 8.034",\
                 "0.599, 0.6472, 0.8202, 1.14, 1.655, 2.4, 3.398, 4.656, 6.194, 8.03",\
                 "0.6992, 0.7428, 0.9, 1.219, 1.722, 2.436, 3.406, 4.661, 6.19, 8.026",\
                 "0.8612, 0.9012, 1.042, 1.333, 1.821, 2.526, 3.465, 4.681, 6.203, 8.021",\
                 "1.05, 1.094, 1.242, 1.512, 1.965, 2.649, 3.578, 4.76, 6.245, 8.04",\
                 "1.266, 1.31, 1.467, 1.752, 2.177, 2.817, 3.727, 4.897, 6.34, 8.108",\
                 "1.502, 1.555, 1.721, 2.022, 2.458, 3.063, 3.922, 5.075, 6.502, 8.223");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1016, 0.1095, 0.1366, 0.1858, 0.2596, 0.36, 0.4897, 0.6513, 0.8475, 1.08",\
                 "0.1152, 0.1229, 0.1496, 0.1986, 0.2721, 0.3725, 0.5021, 0.6637, 0.8599, 1.093",\
                 "0.1625, 0.1714, 0.2, 0.2485, 0.3205, 0.4202, 0.5497, 0.7111, 0.9073, 1.14",\
                 "0.1952, 0.2077, 0.2483, 0.3161, 0.4066, 0.5156, 0.6448, 0.8056, 1.001, 1.234",\
                 "0.1962, 0.2126, 0.2658, 0.3548, 0.4722, 0.6135, 0.7746, 0.9532, 1.151, 1.383",\
                 "0.1602, 0.1808, 0.2476, 0.358, 0.5042, 0.6786, 0.8763, 1.095, 1.334, 1.59",\
                 "0.0853, 0.1095, 0.189, 0.3218, 0.4975, 0.707, 0.9428, 1.203, 1.484, 1.788",\
                 "-0.0296, -0.0017, 0.0899, 0.2429, 0.4483, 0.6936, 0.9694, 1.272, 1.598, 1.947",\
                 "-0.1871, -0.1554, -0.052, 0.1227, 0.3557, 0.6368, 0.952, 1.299, 1.671, 2.068",\
                 "-0.3888, -0.3544, -0.2389, -0.0437, 0.2167, 0.5309, 0.8886, 1.279, 1.7, 2.146");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4342, 0.4647, 0.5709, 0.7714, 1.082, 1.517, 2.088, 2.808, 3.685, 4.733",\
                 "0.4402, 0.4715, 0.5796, 0.7828, 1.096, 1.532, 2.105, 2.826, 3.704, 4.751",\
                 "0.4672, 0.4983, 0.6059, 0.8093, 1.124, 1.564, 2.139, 2.861, 3.742, 4.79",\
                 "0.5232, 0.5541, 0.6601, 0.8597, 1.171, 1.609, 2.183, 2.905, 3.787, 4.836",\
                 "0.6203, 0.6515, 0.7596, 0.962, 1.268, 1.696, 2.263, 2.98, 3.856, 4.904",\
                 "0.7809, 0.8129, 0.9226, 1.124, 1.431, 1.855, 2.409, 3.114, 3.981, 5.018",\
                 "0.9917, 1.028, 1.147, 1.355, 1.662, 2.088, 2.638, 3.329, 4.179, 5.204",\
                 "1.245, 1.286, 1.419, 1.645, 1.963, 2.388, 2.942, 3.632, 4.468, 5.475",\
                 "1.539, 1.585, 1.734, 1.984, 2.326, 2.762, 3.316, 4.009, 4.848, 5.84",\
                 "1.873, 1.925, 2.09, 2.367, 2.739, 3.202, 3.765, 4.46, 5.303, 6.299");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1508, 0.1633, 0.2057, 0.2846, 0.4036, 0.5671, 0.782, 1.052, 1.382, 1.775",\
                 "0.1477, 0.1605, 0.204, 0.2836, 0.4027, 0.5667, 0.7815, 1.051, 1.381, 1.775",\
                 "0.1842, 0.1939, 0.2238, 0.2876, 0.4, 0.5653, 0.7815, 1.051, 1.381, 1.775",\
                 "0.2772, 0.2893, 0.3279, 0.3937, 0.4851, 0.6084, 0.7924, 1.053, 1.382, 1.776",\
                 "0.3966, 0.4108, 0.458, 0.5364, 0.6456, 0.7834, 0.9488, 1.148, 1.423, 1.784",\
                 "0.5402, 0.5584, 0.6158, 0.7098, 0.8356, 0.9922, 1.181, 1.401, 1.645, 1.939",\
                 "0.7148, 0.7364, 0.8034, 0.9144, 1.059, 1.236, 1.445, 1.691, 1.967, 2.276",\
                 "0.9192, 0.9432, 1.026, 1.152, 1.319, 1.516, 1.747, 2.013, 2.316, 2.658",\
                 "1.157, 1.186, 1.279, 1.425, 1.615, 1.835, 2.091, 2.38, 2.706, 3.072",\
                 "1.421, 1.457, 1.568, 1.737, 1.952, 2.198, 2.473, 2.79, 3.14, 3.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5127, 0.5649, 0.747, 1.097, 1.639, 2.4, 3.4, 4.656, 6.198, 8.031",\
                 "0.5128, 0.5651, 0.7471, 1.098, 1.638, 2.399, 3.4, 4.663, 6.188, 8.022",\
                 "0.5136, 0.5655, 0.7479, 1.096, 1.639, 2.399, 3.404, 4.66, 6.198, 8.017",\
                 "0.5418, 0.5902, 0.761, 1.098, 1.638, 2.401, 3.399, 4.659, 6.197, 8.017",\
                 "0.5982, 0.6468, 0.8204, 1.14, 1.653, 2.399, 3.402, 4.661, 6.188, 8.029",\
                 "0.691, 0.7332, 0.8944, 1.215, 1.72, 2.435, 3.408, 4.66, 6.191, 8.026",\
                 "0.8434, 0.8828, 1.025, 1.318, 1.815, 2.522, 3.462, 4.68, 6.203, 8.019",\
                 "1.029, 1.07, 1.213, 1.485, 1.944, 2.638, 3.571, 4.756, 6.243, 8.042",\
                 "1.242, 1.284, 1.435, 1.71, 2.139, 2.792, 3.711, 4.886, 6.332, 8.092",\
                 "1.475, 1.521, 1.685, 1.974, 2.405, 3.015, 3.89, 5.051, 6.488, 8.214");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1017, 0.1096, 0.1366, 0.186, 0.2599, 0.3603, 0.49, 0.6518, 0.848, 1.081",\
                 "0.1153, 0.123, 0.1497, 0.1987, 0.2723, 0.3727, 0.5025, 0.6642, 0.8604, 1.094",\
                 "0.1625, 0.1714, 0.2001, 0.2486, 0.3207, 0.4204, 0.55, 0.7115, 0.9079, 1.141",\
                 "0.1954, 0.2079, 0.2488, 0.3164, 0.4069, 0.5159, 0.6451, 0.806, 1.002, 1.234",\
                 "0.1963, 0.2127, 0.2662, 0.3549, 0.4721, 0.6138, 0.7749, 0.9537, 1.152, 1.383",\
                 "0.1604, 0.181, 0.2478, 0.3582, 0.5047, 0.679, 0.8769, 1.096, 1.335, 1.591",\
                 "0.0856, 0.1099, 0.1893, 0.3222, 0.4979, 0.7073, 0.9435, 1.203, 1.486, 1.789",\
                 "-0.0292, -0.0013, 0.0904, 0.2433, 0.4488, 0.6942, 0.97, 1.273, 1.599, 1.948",\
                 "-0.1866, -0.1552, -0.0514, 0.1232, 0.3564, 0.6375, 0.9527, 1.3, 1.672, 2.069",\
                 "-0.3881, -0.3537, -0.2383, -0.043, 0.2175, 0.5318, 0.8896, 1.28, 1.701, 2.147");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4341, 0.4646, 0.5709, 0.7715, 1.082, 1.517, 2.088, 2.808, 3.685, 4.733",\
                 "0.4403, 0.4715, 0.5796, 0.7831, 1.096, 1.532, 2.105, 2.826, 3.705, 4.751",\
                 "0.4671, 0.4982, 0.6059, 0.8097, 1.124, 1.564, 2.139, 2.862, 3.742, 4.791",\
                 "0.5232, 0.5541, 0.66, 0.86, 1.171, 1.608, 2.183, 2.906, 3.786, 4.836",\
                 "0.6201, 0.6512, 0.76, 0.962, 1.268, 1.696, 2.263, 2.98, 3.857, 4.904",\
                 "0.7806, 0.8128, 0.9225, 1.124, 1.431, 1.855, 2.409, 3.114, 3.98, 5.018",\
                 "0.9916, 1.028, 1.147, 1.354, 1.661, 2.088, 2.638, 3.328, 4.18, 5.204",\
                 "1.245, 1.286, 1.419, 1.645, 1.963, 2.388, 2.942, 3.632, 4.468, 5.474",\
                 "1.539, 1.584, 1.734, 1.983, 2.325, 2.762, 3.316, 4.009, 4.847, 5.839",\
                 "1.873, 1.924, 2.091, 2.367, 2.739, 3.202, 3.765, 4.46, 5.302, 6.298");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1509, 0.1634, 0.2057, 0.2842, 0.4034, 0.5674, 0.783, 1.053, 1.383, 1.777",\
                 "0.1476, 0.1606, 0.2041, 0.2838, 0.4033, 0.5676, 0.7822, 1.054, 1.382, 1.777",\
                 "0.1844, 0.1937, 0.2242, 0.2876, 0.4002, 0.5662, 0.7821, 1.052, 1.383, 1.777",\
                 "0.2779, 0.2895, 0.3278, 0.394, 0.4853, 0.6087, 0.793, 1.053, 1.383, 1.777",\
                 "0.3967, 0.4113, 0.4583, 0.5367, 0.646, 0.7838, 0.9478, 1.149, 1.423, 1.785",\
                 "0.5404, 0.5584, 0.616, 0.7098, 0.8358, 0.9932, 1.183, 1.402, 1.646, 1.941",\
                 "0.7152, 0.7364, 0.8038, 0.9146, 1.06, 1.235, 1.446, 1.691, 1.969, 2.277",\
                 "0.9192, 0.9434, 1.026, 1.152, 1.32, 1.517, 1.748, 2.014, 2.317, 2.659",\
                 "1.157, 1.187, 1.279, 1.426, 1.615, 1.836, 2.091, 2.381, 2.707, 3.073",\
                 "1.422, 1.457, 1.568, 1.737, 1.953, 2.198, 2.474, 2.79, 3.14, 3.53");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5127, 0.5648, 0.7474, 1.097, 1.639, 2.399, 3.4, 4.656, 6.198, 8.031",\
                 "0.5128, 0.5651, 0.748, 1.098, 1.637, 2.4, 3.4, 4.663, 6.193, 8.022",\
                 "0.5135, 0.5657, 0.748, 1.095, 1.638, 2.396, 3.399, 4.656, 6.193, 8.02",\
                 "0.5421, 0.5901, 0.7597, 1.099, 1.64, 2.402, 3.399, 4.66, 6.196, 8.02",\
                 "0.5972, 0.6482, 0.8192, 1.14, 1.653, 2.399, 3.404, 4.656, 6.194, 8.033",\
                 "0.6906, 0.7334, 0.8946, 1.216, 1.721, 2.435, 3.408, 4.658, 6.199, 8.02",\
                 "0.8436, 0.883, 1.025, 1.319, 1.813, 2.522, 3.464, 4.675, 6.2, 8.018",\
                 "1.029, 1.07, 1.214, 1.485, 1.945, 2.638, 3.571, 4.755, 6.243, 8.033",\
                 "1.238, 1.283, 1.436, 1.713, 2.141, 2.792, 3.711, 4.886, 6.332, 8.095",\
                 "1.473, 1.524, 1.682, 1.974, 2.407, 3.017, 3.889, 5.05, 6.488, 8.213");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.09411, 0.1014, 0.1264, 0.1722, 0.2406, 0.3337, 0.4539, 0.6035, 0.7852, 1.001",\
                 "0.1083, 0.1154, 0.14, 0.1853, 0.2535, 0.3466, 0.4667, 0.6164, 0.798, 1.014",\
                 "0.1549, 0.1633, 0.1908, 0.2368, 0.3035, 0.3957, 0.5156, 0.6652, 0.8468, 1.062",\
                 "0.1843, 0.1965, 0.236, 0.3013, 0.3882, 0.4923, 0.6134, 0.7621, 0.9432, 1.159",\
                 "0.1813, 0.197, 0.2493, 0.3352, 0.4491, 0.5847, 0.7391, 0.9102, 1.097, 1.311",\
                 "0.1402, 0.1602, 0.225, 0.3332, 0.4752, 0.6439, 0.8344, 1.045, 1.274, 1.518",\
                 "0.0588, 0.0825, 0.1604, 0.2895, 0.4608, 0.6642, 0.8938, 1.144, 1.415, 1.706",\
                 "-0.0643, -0.0367, 0.0531, 0.2032, 0.4032, 0.6426, 0.9112, 1.204, 1.519, 1.855",\
                 "-0.2317, -0.2004, -0.0983, 0.0728, 0.3009, 0.5746, 0.8827, 1.22, 1.581, 1.964",\
                 "-0.4443, -0.4093, -0.2966, -0.1051, 0.1501, 0.4579, 0.807, 1.189, 1.596, 2.028");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4335, 0.464, 0.5703, 0.7707, 1.081, 1.516, 2.087, 2.807, 3.685, 4.732",\
                 "0.439, 0.4699, 0.5779, 0.7811, 1.094, 1.531, 2.103, 2.824, 3.703, 4.75",\
                 "0.4664, 0.4974, 0.6048, 0.8081, 1.122, 1.561, 2.136, 2.859, 3.739, 4.788",\
                 "0.5228, 0.5537, 0.6597, 0.8593, 1.17, 1.607, 2.181, 2.903, 3.784, 4.833",\
                 "0.6219, 0.6528, 0.7609, 0.9632, 1.268, 1.696, 2.263, 2.979, 3.855, 4.902",\
                 "0.7864, 0.8182, 0.9268, 1.128, 1.435, 1.857, 2.411, 3.116, 3.981, 5.018",\
                 "1.003, 1.039, 1.157, 1.364, 1.67, 2.094, 2.645, 3.334, 4.183, 5.207",\
                 "1.263, 1.303, 1.435, 1.66, 1.977, 2.401, 2.954, 3.643, 4.477, 5.484",\
                 "1.566, 1.611, 1.758, 2.007, 2.346, 2.781, 3.335, 4.027, 4.865, 5.855",\
                 "1.911, 1.963, 2.126, 2.4, 2.77, 3.229, 3.792, 4.484, 5.326, 6.322");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1364, 0.1481, 0.1878, 0.2604, 0.3707, 0.5222, 0.7202, 0.9697, 1.273, 1.637",\
                 "0.1335, 0.1453, 0.1855, 0.2597, 0.3698, 0.5221, 0.7195, 0.9698, 1.273, 1.636",\
                 "0.1754, 0.1841, 0.2115, 0.2674, 0.3679, 0.5199, 0.7194, 0.9684, 1.273, 1.636",\
                 "0.2684, 0.2792, 0.316, 0.3779, 0.4624, 0.5725, 0.7367, 0.9703, 1.273, 1.636",\
                 "0.3844, 0.399, 0.4445, 0.5195, 0.6216, 0.7518, 0.9034, 1.085, 1.328, 1.652",\
                 "0.5268, 0.5438, 0.5998, 0.6904, 0.8102, 0.9588, 1.136, 1.341, 1.57, 1.831",\
                 "0.6986, 0.7202, 0.7848, 0.8924, 1.032, 1.2, 1.399, 1.628, 1.888, 2.176",\
                 "0.8986, 0.9248, 1.002, 1.128, 1.287, 1.478, 1.697, 1.949, 2.235, 2.558",\
                 "1.134, 1.163, 1.252, 1.397, 1.576, 1.793, 2.036, 2.313, 2.622, 2.966",\
                 "1.392, 1.428, 1.536, 1.703, 1.906, 2.149, 2.415, 2.719, 3.053, 3.421");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5127, 0.5649, 0.7472, 1.097, 1.638, 2.399, 3.398, 4.655, 6.198, 8.031",\
                 "0.5128, 0.5651, 0.7474, 1.097, 1.638, 2.399, 3.4, 4.663, 6.195, 8.02",\
                 "0.5138, 0.5655, 0.7478, 1.097, 1.639, 2.398, 3.401, 4.659, 6.185, 8.018",\
                 "0.5425, 0.5904, 0.7592, 1.097, 1.638, 2.399, 3.394, 4.657, 6.197, 8.018",\
                 "0.5962, 0.6464, 0.8184, 1.14, 1.654, 2.397, 3.404, 4.661, 6.191, 8.02",\
                 "0.6878, 0.732, 0.8924, 1.215, 1.719, 2.435, 3.405, 4.655, 6.192, 8.027",\
                 "0.8376, 0.8778, 1.02, 1.316, 1.811, 2.521, 3.463, 4.674, 6.202, 8.024",\
                 "1.02, 1.063, 1.204, 1.475, 1.936, 2.632, 3.568, 4.755, 6.242, 8.041",\
                 "1.228, 1.272, 1.422, 1.699, 2.127, 2.783, 3.705, 4.882, 6.329, 8.093",\
                 "1.464, 1.507, 1.672, 1.957, 2.386, 3, 3.878, 5.048, 6.482, 8.21");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1776, 0.1879, 0.2229, 0.2864, 0.3807, 0.5088, 0.6736, 0.8784, 1.126, 1.421",\
                 "0.1888, 0.199, 0.2339, 0.2973, 0.3918, 0.5198, 0.6847, 0.8895, 1.138, 1.432",\
                 "0.2362, 0.2457, 0.2788, 0.341, 0.435, 0.5626, 0.7273, 0.932, 1.18, 1.474",\
                 "0.3051, 0.3172, 0.3575, 0.4273, 0.5241, 0.6497, 0.8132, 1.017, 1.265, 1.559",\
                 "0.3469, 0.3625, 0.4129, 0.5007, 0.6219, 0.7732, 0.9502, 1.155, 1.401, 1.694",\
                 "0.3567, 0.3757, 0.4375, 0.5442, 0.6905, 0.8715, 1.084, 1.326, 1.593, 1.888",\
                 "0.3307, 0.3526, 0.4258, 0.5522, 0.7258, 0.9395, 1.188, 1.469, 1.779, 2.118",\
                 "0.2665, 0.2919, 0.3764, 0.5227, 0.7227, 0.9707, 1.257, 1.577, 1.931, 2.316",\
                 "0.1635, 0.1922, 0.2872, 0.4517, 0.6806, 0.9626, 1.287, 1.651, 2.048, 2.479",\
                 "0.0213, 0.0528, 0.1577, 0.3417, 0.5949, 0.9118, 1.275, 1.682, 2.126, 2.606");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.4441, 0.4742, 0.5807, 0.7821, 1.094, 1.531, 2.105, 2.828, 3.709, 4.758",\
                 "0.4495, 0.481, 0.5894, 0.7934, 1.108, 1.547, 2.122, 2.845, 3.727, 4.777",\
                 "0.4769, 0.5075, 0.6154, 0.8204, 1.137, 1.578, 2.156, 2.881, 3.764, 4.815",\
                 "0.5335, 0.5643, 0.6703, 0.8714, 1.184, 1.623, 2.2, 2.926, 3.809, 4.861",\
                 "0.6313, 0.6621, 0.7708, 0.9742, 1.28, 1.711, 2.28, 3, 3.88, 4.928",\
                 "0.7934, 0.8261, 0.934, 1.136, 1.445, 1.871, 2.426, 3.134, 4.003, 5.043",\
                 "1.008, 1.043, 1.162, 1.368, 1.676, 2.103, 2.657, 3.349, 4.203, 5.229",\
                 "1.265, 1.305, 1.437, 1.661, 1.978, 2.405, 2.961, 3.653, 4.492, 5.5",\
                 "1.565, 1.609, 1.755, 2.003, 2.344, 2.78, 3.336, 4.031, 4.871, 5.865",\
                 "1.906, 1.956, 2.118, 2.39, 2.76, 3.222, 3.786, 4.483, 5.328, 6.326");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.268, 0.2832, 0.337, 0.4371, 0.5886, 0.7979, 1.071, 1.415, 1.833, 2.333",\
                 "0.2658, 0.2822, 0.3366, 0.4371, 0.588, 0.7975, 1.071, 1.414, 1.834, 2.333",\
                 "0.2581, 0.2726, 0.3264, 0.4298, 0.5866, 0.7974, 1.072, 1.415, 1.834, 2.333",\
                 "0.3424, 0.3571, 0.4051, 0.4874, 0.6115, 0.8005, 1.07, 1.415, 1.835, 2.333",\
                 "0.4612, 0.4778, 0.5334, 0.6304, 0.763, 0.9342, 1.151, 1.446, 1.838, 2.333",\
                 "0.6098, 0.6304, 0.6942, 0.803, 0.9514, 1.144, 1.375, 1.646, 1.976, 2.398",\
                 "0.7904, 0.813, 0.8872, 1.012, 1.177, 1.385, 1.637, 1.935, 2.277, 2.663",\
                 "0.9996, 1.026, 1.116, 1.256, 1.443, 1.67, 1.94, 2.259, 2.631, 3.046",\
                 "1.246, 1.275, 1.378, 1.536, 1.745, 1.995, 2.288, 2.627, 3.017, 3.459",\
                 "1.527, 1.561, 1.675, 1.854, 2.088, 2.368, 2.683, 3.045, 3.452, 3.918");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7628, 0.8208, 1.022, 1.394, 1.958, 2.731, 3.738, 4.998, 6.532, 8.367",\
                 "0.763, 0.8208, 1.022, 1.394, 1.958, 2.731, 3.737, 4.999, 6.535, 8.364",\
                 "0.7637, 0.8215, 1.022, 1.394, 1.958, 2.732, 3.738, 4.997, 6.535, 8.366",\
                 "0.7923, 0.8454, 1.033, 1.396, 1.958, 2.732, 3.738, 4.999, 6.535, 8.367",\
                 "0.8758, 0.9266, 1.101, 1.439, 1.973, 2.732, 3.738, 4.999, 6.536, 8.368",\
                 "0.999, 1.044, 1.207, 1.532, 2.043, 2.77, 3.745, 4.999, 6.536, 8.369",\
                 "1.202, 1.236, 1.37, 1.662, 2.156, 2.863, 3.806, 5.021, 6.538, 8.367",\
                 "1.464, 1.496, 1.611, 1.862, 2.312, 2.997, 3.921, 5.104, 6.579, 8.374",\
                 "1.76, 1.79, 1.902, 2.136, 2.539, 3.177, 4.081, 5.244, 6.686, 8.442",\
                 "2.08, 2.111, 2.224, 2.459, 2.846, 3.431, 4.286, 5.43, 6.851, 8.572");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1894, 0.1992, 0.2324, 0.2936, 0.3855, 0.5111, 0.6739, 0.8772, 1.124, 1.417",\
                 "0.2046, 0.2144, 0.2479, 0.3092, 0.4014, 0.5272, 0.6901, 0.8934, 1.14, 1.434",\
                 "0.2443, 0.254, 0.2871, 0.3481, 0.4402, 0.5662, 0.7293, 0.9327, 1.18, 1.473",\
                 "0.2801, 0.2919, 0.3303, 0.3982, 0.4952, 0.6222, 0.7849, 0.9884, 1.235, 1.529",\
                 "0.2893, 0.3035, 0.3511, 0.432, 0.5447, 0.6882, 0.8635, 1.072, 1.318, 1.611",\
                 "0.2578, 0.2755, 0.3342, 0.4334, 0.569, 0.7356, 0.9329, 1.163, 1.427, 1.728",\
                 "0.1769, 0.1982, 0.269, 0.3898, 0.5525, 0.7501, 0.9779, 1.235, 1.526, 1.851",\
                 "0.0436, 0.0686, 0.1519, 0.2936, 0.4861, 0.7178, 0.983, 1.277, 1.6, 1.956",\
                 "-0.1471, -0.118, -0.0222, 0.1416, 0.3634, 0.6318, 0.9374, 1.274, 1.639, 2.033",\
                 "-0.3985, -0.3658, -0.2568, -0.0704, 0.1822, 0.4868, 0.8347, 1.217, 1.628, 2.068");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.609, 0.6402, 0.7479, 0.9518, 1.266, 1.705, 2.281, 3.005, 3.887, 4.937",\
                 "0.614, 0.6456, 0.7533, 0.9581, 1.273, 1.713, 2.289, 3.013, 3.895, 4.945",\
                 "0.6583, 0.689, 0.7969, 1.001, 1.316, 1.756, 2.332, 3.057, 3.939, 4.99",\
                 "0.7777, 0.808, 0.9127, 1.112, 1.423, 1.858, 2.432, 3.154, 4.035, 5.085",\
                 "0.9857, 1.015, 1.117, 1.311, 1.614, 2.041, 2.607, 3.323, 4.199, 5.245",\
                 "1.26, 1.293, 1.404, 1.605, 1.903, 2.321, 2.876, 3.582, 4.45, 5.488",\
                 "1.593, 1.628, 1.746, 1.964, 2.284, 2.707, 3.253, 3.947, 4.802, 5.829",\
                 "1.991, 2.027, 2.154, 2.385, 2.728, 3.181, 3.741, 4.427, 5.269, 6.282",\
                 "2.458, 2.499, 2.633, 2.877, 3.239, 3.717, 4.315, 5.024, 5.859, 6.859",\
                 "2.998, 3.039, 3.186, 3.447, 3.823, 4.327, 4.955, 5.705, 6.572, 7.567");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1976, 0.2132, 0.2668, 0.3666, 0.5169, 0.7259, 0.9988, 1.341, 1.76, 2.26",\
                 "0.1975, 0.2139, 0.2667, 0.3655, 0.5174, 0.7258, 0.9985, 1.341, 1.761, 2.26",\
                 "0.2027, 0.2167, 0.2667, 0.3643, 0.5163, 0.7251, 0.9989, 1.342, 1.761, 2.26",\
                 "0.2615, 0.275, 0.3212, 0.4086, 0.54, 0.7331, 0.9986, 1.341, 1.76, 2.259",\
                 "0.3561, 0.3701, 0.4166, 0.5038, 0.6366, 0.8206, 1.059, 1.37, 1.769, 2.259",\
                 "0.4842, 0.4994, 0.5508, 0.6438, 0.7764, 0.9594, 1.199, 1.5, 1.864, 2.314",\
                 "0.6358, 0.6546, 0.7136, 0.8152, 0.9616, 1.15, 1.388, 1.687, 2.052, 2.486",\
                 "0.8096, 0.8316, 0.8982, 1.015, 1.178, 1.384, 1.633, 1.929, 2.292, 2.725",\
                 "1.008, 1.03, 1.106, 1.237, 1.419, 1.646, 1.917, 2.227, 2.591, 3.022",\
                 "1.224, 1.25, 1.336, 1.482, 1.685, 1.937, 2.231, 2.566, 2.949, 3.383");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.971, 8.804",\
                 "1.202, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.429, 6.972, 8.803",\
                 "1.202, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.971, 8.806",\
                 "1.2, 1.257, 1.454, 1.823, 2.384, 3.158, 4.166, 5.43, 6.971, 8.806",\
                 "1.241, 1.294, 1.475, 1.826, 2.383, 3.158, 4.166, 5.43, 6.97, 8.807",\
                 "1.361, 1.411, 1.584, 1.91, 2.421, 3.163, 4.166, 5.43, 6.971, 8.805",\
                 "1.484, 1.539, 1.727, 2.067, 2.561, 3.251, 4.192, 5.432, 6.971, 8.807",\
                 "1.629, 1.685, 1.876, 2.231, 2.755, 3.44, 4.331, 5.491, 6.98, 8.807",\
                 "1.81, 1.864, 2.05, 2.411, 2.948, 3.675, 4.569, 5.68, 7.082, 8.83",\
                 "2.028, 2.082, 2.264, 2.615, 3.16, 3.904, 4.847, 5.967, 7.317, 8.976");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1786, 0.1874, 0.2181, 0.2754, 0.3633, 0.4855, 0.6455, 0.8467, 1.092, 1.384",\
                 "0.1937, 0.2026, 0.2335, 0.2911, 0.3792, 0.5015, 0.6617, 0.8629, 1.108, 1.4",\
                 "0.2308, 0.24, 0.2714, 0.3293, 0.4177, 0.5404, 0.7008, 0.9021, 1.148, 1.44",\
                 "0.2578, 0.2692, 0.3075, 0.3744, 0.4702, 0.596, 0.7563, 0.9579, 1.203, 1.495",\
                 "0.254, 0.2685, 0.3172, 0.3996, 0.5133, 0.6572, 0.8326, 1.04, 1.286, 1.578",\
                 "0.2059, 0.2246, 0.286, 0.3896, 0.5287, 0.698, 0.8972, 1.128, 1.393, 1.694",\
                 "0.1084, 0.1311, 0.2056, 0.3323, 0.5012, 0.7038, 0.9354, 1.195, 1.488, 1.815",\
                 "-0.043, -0.0158, 0.0729, 0.2223, 0.4222, 0.6618, 0.9323, 1.231, 1.557, 1.915",\
                 "-0.2517, -0.2204, -0.1176, 0.0562, 0.2875, 0.5649, 0.8783, 1.221, 1.59, 1.987",\
                 "-0.5203, -0.4845, -0.3683, -0.1705, 0.0936, 0.4092, 0.7657, 1.155, 1.572, 2.017");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6091, 0.6402, 0.7478, 0.9518, 1.266, 1.705, 2.281, 3.005, 3.886, 4.935",\
                 "0.614, 0.6456, 0.7534, 0.9581, 1.273, 1.713, 2.289, 3.012, 3.894, 4.943",\
                 "0.6583, 0.6891, 0.797, 1.001, 1.317, 1.756, 2.333, 3.057, 3.939, 4.988",\
                 "0.7779, 0.8077, 0.9127, 1.112, 1.422, 1.859, 2.432, 3.154, 4.035, 5.083",\
                 "0.9858, 1.015, 1.117, 1.311, 1.613, 2.042, 2.607, 3.323, 4.199, 5.243",\
                 "1.261, 1.293, 1.404, 1.605, 1.903, 2.321, 2.876, 3.582, 4.449, 5.486",\
                 "1.593, 1.628, 1.747, 1.964, 2.284, 2.707, 3.253, 3.947, 4.802, 5.827",\
                 "1.991, 2.028, 2.154, 2.385, 2.728, 3.181, 3.741, 4.428, 5.268, 6.281",\
                 "2.46, 2.499, 2.634, 2.878, 3.238, 3.717, 4.317, 5.023, 5.859, 6.856",\
                 "2.997, 3.039, 3.187, 3.447, 3.824, 4.326, 4.955, 5.705, 6.571, 7.566");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1689, 0.1833, 0.2345, 0.3301, 0.4785, 0.6862, 0.9581, 1.302, 1.721, 2.218",\
                 "0.1693, 0.1833, 0.234, 0.3301, 0.4785, 0.6858, 0.9581, 1.302, 1.721, 2.219",\
                 "0.1783, 0.1917, 0.2377, 0.3309, 0.4777, 0.6851, 0.9587, 1.302, 1.72, 2.218",\
                 "0.2375, 0.2507, 0.2952, 0.3802, 0.5096, 0.6988, 0.9603, 1.302, 1.72, 2.219",\
                 "0.3334, 0.347, 0.3932, 0.479, 0.6092, 0.7914, 1.028, 1.336, 1.73, 2.219",\
                 "0.4612, 0.4772, 0.5296, 0.621, 0.7528, 0.9338, 1.172, 1.469, 1.833, 2.28",\
                 "0.6146, 0.6322, 0.692, 0.795, 0.9418, 1.128, 1.364, 1.66, 2.023, 2.456",\
                 "0.7922, 0.811, 0.8784, 0.994, 1.158, 1.364, 1.61, 1.907, 2.266, 2.697",\
                 "0.9898, 1.011, 1.088, 1.218, 1.4, 1.628, 1.894, 2.206, 2.569, 2.996",\
                 "1.201, 1.228, 1.316, 1.465, 1.666, 1.919, 2.212, 2.547, 2.925, 3.36");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.083, 1.136, 1.321, 1.673, 2.219, 2.983, 3.985, 5.246, 6.785, 8.618",\
                 "1.083, 1.136, 1.321, 1.673, 2.219, 2.982, 3.985, 5.247, 6.788, 8.617",\
                 "1.082, 1.136, 1.321, 1.673, 2.219, 2.983, 3.985, 5.247, 6.787, 8.617",\
                 "1.08, 1.134, 1.32, 1.673, 2.219, 2.983, 3.986, 5.248, 6.785, 8.618",\
                 "1.122, 1.17, 1.34, 1.677, 2.218, 2.982, 3.986, 5.247, 6.785, 8.619",\
                 "1.23, 1.28, 1.446, 1.76, 2.256, 2.988, 3.985, 5.247, 6.785, 8.619",\
                 "1.339, 1.391, 1.574, 1.908, 2.396, 3.076, 4.011, 5.25, 6.785, 8.617",\
                 "1.47, 1.521, 1.709, 2.059, 2.58, 3.265, 4.151, 5.309, 6.796, 8.619",\
                 "1.632, 1.686, 1.869, 2.227, 2.763, 3.489, 4.386, 5.494, 6.896, 8.643",\
                 "1.828, 1.883, 2.067, 2.416, 2.958, 3.708, 4.657, 5.781, 7.131, 8.792");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1468, 0.1534, 0.1767, 0.2203, 0.2869, 0.3791, 0.4998, 0.6513, 0.8362, 1.056",\
                 "0.162, 0.1687, 0.1922, 0.2361, 0.3026, 0.3952, 0.516, 0.6676, 0.8524, 1.072",\
                 "0.2059, 0.2135, 0.2386, 0.2832, 0.3502, 0.4429, 0.5639, 0.7156, 0.9007, 1.121",\
                 "0.2384, 0.249, 0.2839, 0.3438, 0.4255, 0.5271, 0.6498, 0.8017, 0.9866, 1.207",\
                 "0.236, 0.2501, 0.2963, 0.375, 0.4812, 0.6107, 0.7606, 0.9298, 1.12, 1.34",\
                 "0.189, 0.207, 0.2663, 0.3659, 0.4999, 0.6611, 0.845, 1.05, 1.274, 1.519",\
                 "0.0929, 0.1148, 0.1868, 0.3093, 0.473, 0.6689, 0.8909, 1.134, 1.4, 1.685",\
                 "-0.0567, -0.0308, 0.0547, 0.1993, 0.3938, 0.6268, 0.8892, 1.177, 1.485, 1.814",\
                 "-0.2636, -0.2337, -0.135, 0.0331, 0.258, 0.5288, 0.834, 1.167, 1.523, 1.9",\
                 "-0.53, -0.4962, -0.3846, -0.1938, 0.0631, 0.3711, 0.7191, 1.1, 1.505, 1.934");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6705, 0.701, 0.8074, 1.009, 1.322, 1.76, 2.335, 3.058, 3.939, 4.988",\
                 "0.676, 0.7069, 0.8138, 1.017, 1.33, 1.769, 2.344, 3.067, 3.949, 4.998",\
                 "0.7204, 0.751, 0.8576, 1.06, 1.374, 1.813, 2.389, 3.112, 3.994, 5.043",\
                 "0.8398, 0.8696, 0.9727, 1.171, 1.481, 1.916, 2.488, 3.21, 4.09, 5.139",\
                 "1.047, 1.076, 1.177, 1.37, 1.673, 2.1, 2.665, 3.381, 4.255, 5.3",\
                 "1.329, 1.361, 1.468, 1.666, 1.963, 2.382, 2.938, 3.643, 4.509, 5.545",\
                 "1.666, 1.701, 1.817, 2.033, 2.349, 2.77, 3.316, 4.011, 4.865, 5.89",\
                 "2.07, 2.106, 2.23, 2.459, 2.799, 3.25, 3.809, 4.494, 5.336, 6.348",\
                 "2.545, 2.583, 2.714, 2.956, 3.315, 3.794, 4.389, 5.097, 5.932, 6.932",\
                 "3.092, 3.134, 3.275, 3.531, 3.906, 4.409, 5.036, 5.785, 6.649, 7.645");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1462, 0.1569, 0.195, 0.2676, 0.3799, 0.5361, 0.741, 1, 1.315, 1.691",\
                 "0.1462, 0.1569, 0.195, 0.2678, 0.3799, 0.5362, 0.7413, 1.001, 1.316, 1.69",\
                 "0.1687, 0.177, 0.208, 0.272, 0.3798, 0.5362, 0.7424, 1, 1.316, 1.691",\
                 "0.2586, 0.2685, 0.3009, 0.3601, 0.4475, 0.5717, 0.7526, 1.002, 1.316, 1.69",\
                 "0.3767, 0.387, 0.4237, 0.4918, 0.5914, 0.721, 0.8824, 1.083, 1.352, 1.7",\
                 "0.52, 0.533, 0.5758, 0.6534, 0.7654, 0.9086, 1.085, 1.298, 1.543, 1.836",\
                 "0.688, 0.7026, 0.7526, 0.8416, 0.9684, 1.13, 1.323, 1.553, 1.817, 2.12",\
                 "0.879, 0.8952, 0.9508, 1.054, 1.197, 1.38, 1.597, 1.844, 2.128, 2.451",\
                 "1.091, 1.108, 1.174, 1.287, 1.451, 1.657, 1.898, 2.173, 2.478, 2.822",\
                 "1.316, 1.339, 1.414, 1.546, 1.728, 1.959, 2.228, 2.531, 2.869, 3.235");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.155, 1.208, 1.394, 1.747, 2.294, 3.058, 4.06, 5.322, 6.861, 8.691",\
                 "1.154, 1.208, 1.394, 1.747, 2.294, 3.057, 4.061, 5.322, 6.86, 8.693",\
                 "1.154, 1.207, 1.394, 1.747, 2.294, 3.058, 4.061, 5.322, 6.86, 8.692",\
                 "1.152, 1.206, 1.393, 1.747, 2.294, 3.058, 4.061, 5.323, 6.86, 8.693",\
                 "1.184, 1.233, 1.407, 1.748, 2.293, 3.058, 4.061, 5.322, 6.861, 8.692",\
                 "1.293, 1.341, 1.507, 1.821, 2.323, 3.061, 4.06, 5.323, 6.861, 8.694",\
                 "1.407, 1.459, 1.64, 1.971, 2.454, 3.139, 4.081, 5.324, 6.861, 8.693",\
                 "1.533, 1.587, 1.774, 2.123, 2.642, 3.322, 4.21, 5.375, 6.87, 8.694",\
                 "1.69, 1.743, 1.931, 2.29, 2.824, 3.55, 4.442, 5.553, 6.959, 8.717",\
                 "1.88, 1.934, 2.12, 2.472, 3.02, 3.768, 4.714, 5.833, 7.188, 8.852");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.151, 0.1594, 0.1888, 0.2447, 0.3311, 0.452, 0.6114, 0.8118, 1.057, 1.349",\
                 "0.1654, 0.1741, 0.204, 0.2602, 0.3469, 0.4682, 0.6276, 0.828, 1.073, 1.365",\
                 "0.1989, 0.2085, 0.2405, 0.2979, 0.3852, 0.5069, 0.6666, 0.8678, 1.113, 1.404",\
                 "0.2146, 0.227, 0.2678, 0.3374, 0.4351, 0.562, 0.722, 0.9232, 1.168, 1.46",\
                 "0.1943, 0.2109, 0.2643, 0.353, 0.4715, 0.6184, 0.7957, 1.005, 1.251, 1.543",\
                 "0.1279, 0.1491, 0.2174, 0.3298, 0.477, 0.6525, 0.8554, 1.089, 1.356, 1.658",\
                 "0.0105, 0.0365, 0.1206, 0.2583, 0.4379, 0.649, 0.8873, 1.151, 1.446, 1.776",\
                 "-0.1614, -0.13, -0.0298, 0.1337, 0.3464, 0.5968, 0.8761, 1.181, 1.512, 1.873",\
                 "-0.3895, -0.3536, -0.2381, -0.0476, 0.1995, 0.4892, 0.813, 1.163, 1.539, 1.941",\
                 "-0.6745, -0.6349, -0.5051, -0.2895, -0.0072, 0.3229, 0.6906, 1.09, 1.515, 1.965");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.5956, 0.6265, 0.7343, 0.9379, 1.252, 1.689, 2.262, 2.983, 3.863, 4.91",\
                 "0.6005, 0.6316, 0.74, 0.9442, 1.258, 1.697, 2.271, 2.991, 3.87, 4.918",\
                 "0.6446, 0.6755, 0.7836, 0.9873, 1.302, 1.739, 2.314, 3.035, 3.914, 4.963",\
                 "0.764, 0.7937, 0.8986, 1.098, 1.408, 1.842, 2.414, 3.133, 4.011, 5.058",\
                 "0.9718, 1.002, 1.103, 1.297, 1.598, 2.025, 2.589, 3.301, 4.176, 5.217",\
                 "1.245, 1.277, 1.388, 1.589, 1.888, 2.304, 2.858, 3.561, 4.426, 5.46",\
                 "1.573, 1.609, 1.728, 1.947, 2.268, 2.69, 3.234, 3.925, 4.777, 5.802",\
                 "1.968, 2.005, 2.133, 2.365, 2.709, 3.162, 3.722, 4.405, 5.244, 6.254",\
                 "2.433, 2.475, 2.61, 2.856, 3.216, 3.696, 4.293, 5.001, 5.834, 6.83",\
                 "2.967, 3.011, 3.159, 3.421, 3.799, 4.301, 4.93, 5.679, 6.545, 7.539");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1361, 0.1492, 0.1987, 0.2929, 0.4408, 0.6491, 0.9209, 1.264, 1.683, 2.181",\
                 "0.1356, 0.1496, 0.1987, 0.2933, 0.4407, 0.6478, 0.9208, 1.263, 1.682, 2.181",\
                 "0.1533, 0.1656, 0.2082, 0.2957, 0.4419, 0.6486, 0.9196, 1.264, 1.681, 2.181",\
                 "0.2158, 0.2284, 0.2707, 0.3531, 0.4809, 0.6653, 0.9242, 1.262, 1.682, 2.181",\
                 "0.3155, 0.3287, 0.3736, 0.4568, 0.5838, 0.7632, 0.9986, 1.303, 1.694, 2.181",\
                 "0.4454, 0.4602, 0.5118, 0.6024, 0.7344, 0.9104, 1.146, 1.441, 1.802, 2.246",\
                 "0.6014, 0.618, 0.6748, 0.7766, 0.9222, 1.108, 1.342, 1.635, 1.996, 2.426",\
                 "0.781, 0.7994, 0.8628, 0.9784, 1.139, 1.344, 1.591, 1.884, 2.24, 2.669",\
                 "0.9776, 1, 1.075, 1.203, 1.382, 1.608, 1.875, 2.187, 2.546, 2.971",\
                 "1.191, 1.215, 1.3, 1.449, 1.648, 1.9, 2.193, 2.527, 2.905, 3.337");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.8998, 0.9526, 1.14, 1.494, 2.041, 2.807, 3.808, 5.069, 6.608, 8.441",\
                 "0.8997, 0.9526, 1.14, 1.494, 2.04, 2.806, 3.81, 5.069, 6.608, 8.438",\
                 "0.899, 0.9524, 1.14, 1.494, 2.041, 2.805, 3.809, 5.069, 6.608, 8.442",\
                 "0.8952, 0.9498, 1.139, 1.493, 2.04, 2.806, 3.809, 5.068, 6.608, 8.442",\
                 "0.9366, 0.9856, 1.159, 1.496, 2.039, 2.805, 3.807, 5.071, 6.609, 8.441",\
                 "1.029, 1.083, 1.262, 1.579, 2.077, 2.809, 3.807, 5.07, 6.61, 8.444",\
                 "1.123, 1.183, 1.372, 1.718, 2.215, 2.897, 3.832, 5.071, 6.607, 8.442",\
                 "1.237, 1.297, 1.493, 1.854, 2.389, 3.084, 3.971, 5.131, 6.616, 8.439",\
                 "1.383, 1.443, 1.638, 2.01, 2.558, 3.298, 4.205, 5.318, 6.72, 8.466",\
                 "1.555, 1.618, 1.818, 2.187, 2.746, 3.513, 4.468, 5.6, 6.955, 8.612");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1269, 0.1333, 0.1557, 0.1979, 0.2635, 0.3548, 0.4747, 0.6258, 0.8102, 1.03",\
                 "0.1416, 0.1483, 0.1709, 0.2136, 0.2791, 0.3705, 0.4908, 0.6419, 0.8263, 1.046",\
                 "0.1796, 0.1877, 0.2145, 0.2599, 0.3262, 0.4181, 0.5384, 0.6899, 0.8745, 1.094",\
                 "0.1974, 0.2095, 0.2474, 0.3111, 0.3964, 0.5006, 0.6242, 0.7759, 0.9605, 1.18",\
                 "0.1784, 0.1939, 0.2453, 0.3305, 0.4424, 0.5764, 0.73, 0.9018, 1.093, 1.314",\
                 "0.1125, 0.1332, 0.1992, 0.3081, 0.4503, 0.618, 0.8072, 1.016, 1.244, 1.49",\
                 "-0.0021, 0.0228, 0.1035, 0.237, 0.4113, 0.6159, 0.8451, 1.094, 1.363, 1.652",\
                 "-0.1704, -0.1413, -0.0454, 0.1127, 0.3198, 0.5635, 0.8345, 1.129, 1.442, 1.776",\
                 "-0.3951, -0.3615, -0.2516, -0.0684, 0.1718, 0.4545, 0.7702, 1.111, 1.474, 1.856",\
                 "-0.6775, -0.6401, -0.517, -0.3098, -0.0359, 0.2866, 0.6466, 1.036, 1.449, 1.884");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6576, 0.6881, 0.7944, 0.9955, 1.307, 1.743, 2.316, 3.036, 3.915, 4.961",\
                 "0.6631, 0.694, 0.8008, 1.003, 1.316, 1.753, 2.325, 3.046, 3.925, 4.972",\
                 "0.7074, 0.738, 0.8445, 1.046, 1.359, 1.796, 2.37, 3.091, 3.97, 5.018",\
                 "0.8265, 0.8558, 0.9595, 1.157, 1.466, 1.899, 2.47, 3.189, 4.067, 5.114",\
                 "1.034, 1.063, 1.165, 1.356, 1.658, 2.083, 2.646, 3.36, 4.232, 5.274",\
                 "1.313, 1.345, 1.453, 1.652, 1.948, 2.365, 2.919, 3.622, 4.485, 5.52",\
                 "1.648, 1.682, 1.8, 2.015, 2.333, 2.753, 3.297, 3.988, 4.841, 5.865",\
                 "2.05, 2.086, 2.211, 2.44, 2.78, 3.232, 3.789, 4.472, 5.313, 6.323",\
                 "2.521, 2.559, 2.693, 2.934, 3.294, 3.772, 4.366, 5.073, 5.908, 6.905",\
                 "3.067, 3.107, 3.251, 3.505, 3.883, 4.383, 5.011, 5.76, 6.623, 7.619");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1205, 0.1308, 0.168, 0.2399, 0.3516, 0.5076, 0.7131, 0.9706, 1.286, 1.662",\
                 "0.1204, 0.1309, 0.168, 0.2396, 0.3514, 0.5072, 0.7128, 0.9713, 1.286, 1.662",\
                 "0.154, 0.1619, 0.1899, 0.2497, 0.3531, 0.5087, 0.7129, 0.9715, 1.287, 1.663",\
                 "0.2447, 0.2534, 0.2854, 0.3449, 0.4317, 0.552, 0.7283, 0.9743, 1.286, 1.662",\
                 "0.3642, 0.3743, 0.4101, 0.4764, 0.5748, 0.7044, 0.8666, 1.065, 1.329, 1.674",\
                 "0.51, 0.522, 0.5636, 0.6406, 0.7496, 0.8934, 1.07, 1.281, 1.527, 1.817",\
                 "0.6816, 0.694, 0.7416, 0.8284, 0.9542, 1.115, 1.308, 1.537, 1.801, 2.102",\
                 "0.8762, 0.8902, 0.9438, 1.041, 1.185, 1.365, 1.582, 1.829, 2.113, 2.435",\
                 "1.089, 1.106, 1.167, 1.278, 1.438, 1.641, 1.882, 2.158, 2.462, 2.806",\
                 "1.316, 1.337, 1.408, 1.536, 1.714, 1.943, 2.212, 2.514, 2.852, 3.218");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.9758, 1.029, 1.216, 1.57, 2.116, 2.88, 3.882, 5.145, 6.684, 8.515",\
                 "0.9754, 1.029, 1.216, 1.569, 2.117, 2.881, 3.883, 5.144, 6.684, 8.514",\
                 "0.9753, 1.028, 1.216, 1.57, 2.116, 2.881, 3.882, 5.145, 6.683, 8.516",\
                 "0.973, 1.027, 1.215, 1.569, 2.116, 2.881, 3.884, 5.145, 6.685, 8.517",\
                 "1.003, 1.053, 1.228, 1.57, 2.115, 2.88, 3.883, 5.147, 6.683, 8.515",\
                 "1.103, 1.156, 1.326, 1.643, 2.145, 2.882, 3.882, 5.145, 6.684, 8.518",\
                 "1.202, 1.256, 1.444, 1.784, 2.276, 2.961, 3.902, 5.146, 6.683, 8.518",\
                 "1.311, 1.367, 1.564, 1.923, 2.452, 3.141, 4.033, 5.197, 6.691, 8.517",\
                 "1.456, 1.509, 1.708, 2.071, 2.624, 3.359, 4.261, 5.375, 6.781, 8.537",\
                 "1.624, 1.682, 1.882, 2.247, 2.805, 3.569, 4.525, 5.653, 7.01, 8.674");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1269, 0.1333, 0.1557, 0.198, 0.2635, 0.3548, 0.4748, 0.6259, 0.8103, 1.03",\
                 "0.1416, 0.1483, 0.1709, 0.2136, 0.2792, 0.3706, 0.4909, 0.642, 0.8265, 1.046",\
                 "0.1796, 0.1878, 0.2145, 0.2599, 0.3263, 0.4181, 0.5384, 0.6901, 0.8747, 1.094",\
                 "0.1975, 0.2095, 0.2474, 0.3111, 0.3965, 0.5007, 0.6243, 0.776, 0.9607, 1.181",\
                 "0.1784, 0.194, 0.2453, 0.3305, 0.4424, 0.5764, 0.73, 0.9019, 1.093, 1.314",\
                 "0.1125, 0.1332, 0.1993, 0.3081, 0.4503, 0.6181, 0.8073, 1.016, 1.244, 1.49",\
                 "-0.002, 0.0229, 0.1035, 0.2371, 0.4114, 0.6159, 0.8451, 1.094, 1.363, 1.652",\
                 "-0.1703, -0.1412, -0.0454, 0.1127, 0.3198, 0.5635, 0.8345, 1.129, 1.443, 1.776",\
                 "-0.3951, -0.3615, -0.2516, -0.0683, 0.1718, 0.4545, 0.7702, 1.111, 1.474, 1.856",\
                 "-0.6775, -0.6401, -0.517, -0.3098, -0.0359, 0.2867, 0.6466, 1.036, 1.449, 1.884");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6576, 0.6881, 0.7944, 0.9955, 1.307, 1.743, 2.316, 3.036, 3.915, 4.961",\
                 "0.6633, 0.694, 0.8008, 1.003, 1.316, 1.753, 2.326, 3.045, 3.925, 4.972",\
                 "0.7074, 0.738, 0.8444, 1.046, 1.359, 1.796, 2.37, 3.092, 3.97, 5.017",\
                 "0.8264, 0.8561, 0.9596, 1.157, 1.466, 1.899, 2.47, 3.188, 4.067, 5.113",\
                 "1.035, 1.063, 1.164, 1.357, 1.658, 2.083, 2.646, 3.36, 4.232, 5.274",\
                 "1.313, 1.345, 1.454, 1.651, 1.949, 2.365, 2.919, 3.621, 4.485, 5.52",\
                 "1.648, 1.682, 1.8, 2.016, 2.333, 2.753, 3.297, 3.989, 4.842, 5.865",\
                 "2.05, 2.085, 2.211, 2.439, 2.78, 3.232, 3.789, 4.473, 5.312, 6.323",\
                 "2.522, 2.56, 2.693, 2.934, 3.294, 3.772, 4.367, 5.073, 5.907, 6.906",\
                 "3.065, 3.107, 3.251, 3.505, 3.883, 4.383, 5.011, 5.76, 6.624, 7.619");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1205, 0.1309, 0.168, 0.24, 0.3517, 0.5077, 0.7133, 0.9708, 1.286, 1.662",\
                 "0.1204, 0.1309, 0.1681, 0.2396, 0.3516, 0.5074, 0.713, 0.9715, 1.287, 1.663",\
                 "0.154, 0.1619, 0.19, 0.2497, 0.3532, 0.5088, 0.713, 0.9717, 1.287, 1.664",\
                 "0.2447, 0.2534, 0.2855, 0.3449, 0.4321, 0.552, 0.7284, 0.9744, 1.287, 1.663",\
                 "0.3641, 0.3743, 0.4101, 0.4764, 0.575, 0.7046, 0.8668, 1.065, 1.331, 1.675",\
                 "0.51, 0.522, 0.5636, 0.6404, 0.7496, 0.8938, 1.07, 1.281, 1.527, 1.818",\
                 "0.6816, 0.6938, 0.7416, 0.8284, 0.9542, 1.115, 1.308, 1.537, 1.801, 2.102",\
                 "0.8764, 0.8902, 0.9438, 1.041, 1.185, 1.365, 1.582, 1.829, 2.112, 2.436",\
                 "1.089, 1.106, 1.167, 1.278, 1.437, 1.641, 1.882, 2.158, 2.462, 2.806",\
                 "1.316, 1.337, 1.408, 1.536, 1.714, 1.943, 2.212, 2.514, 2.852, 3.218");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.9758, 1.029, 1.216, 1.57, 2.116, 2.88, 3.882, 5.145, 6.684, 8.515",\
                 "0.9756, 1.029, 1.217, 1.57, 2.117, 2.881, 3.885, 5.144, 6.682, 8.518",\
                 "0.9753, 1.028, 1.216, 1.57, 2.116, 2.88, 3.884, 5.147, 6.683, 8.515",\
                 "0.9732, 1.027, 1.214, 1.569, 2.116, 2.88, 3.884, 5.145, 6.685, 8.516",\
                 "1.004, 1.053, 1.228, 1.569, 2.115, 2.881, 3.883, 5.147, 6.684, 8.516",\
                 "1.103, 1.156, 1.325, 1.643, 2.144, 2.882, 3.883, 5.144, 6.684, 8.519",\
                 "1.202, 1.255, 1.443, 1.784, 2.276, 2.961, 3.903, 5.146, 6.683, 8.517",\
                 "1.31, 1.368, 1.563, 1.923, 2.454, 3.142, 4.032, 5.197, 6.691, 8.518",\
                 "1.453, 1.51, 1.705, 2.076, 2.623, 3.36, 4.262, 5.376, 6.781, 8.537",\
                 "1.625, 1.684, 1.882, 2.251, 2.805, 3.568, 4.526, 5.652, 7.01, 8.672");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1204, 0.1265, 0.1473, 0.1864, 0.247, 0.3318, 0.4428, 0.5826, 0.753, 0.9566",\
                 "0.1352, 0.1415, 0.1626, 0.2021, 0.2629, 0.3479, 0.459, 0.5988, 0.7692, 0.9726",\
                 "0.175, 0.183, 0.2084, 0.2514, 0.3131, 0.3984, 0.5099, 0.65, 0.8206, 1.024",\
                 "0.1948, 0.2063, 0.2434, 0.3055, 0.3885, 0.4886, 0.6047, 0.7451, 0.9158, 1.119",\
                 "0.1776, 0.1932, 0.2429, 0.3264, 0.4362, 0.5677, 0.7171, 0.8827, 1.063, 1.268",\
                 "0.1151, 0.135, 0.199, 0.3052, 0.4451, 0.6104, 0.7965, 1.001, 1.223, 1.46",\
                 "0.0038, 0.0277, 0.1059, 0.2357, 0.4073, 0.609, 0.8351, 1.081, 1.345, 1.627",\
                 "-0.1612, -0.133, -0.0408, 0.1134, 0.3166, 0.5572, 0.8248, 1.116, 1.426, 1.754",\
                 "-0.3825, -0.3505, -0.2442, -0.066, 0.1698, 0.4483, 0.7608, 1.097, 1.456, 1.834",\
                 "-0.6619, -0.6261, -0.5078, -0.3056, -0.0371, 0.281, 0.6363, 1.022, 1.432, 1.862");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7121, 0.7422, 0.8479, 1.049, 1.36, 1.796, 2.367, 3.087, 3.966, 5.013",\
                 "0.7184, 0.7488, 0.855, 1.057, 1.369, 1.806, 2.379, 3.098, 3.977, 5.024",\
                 "0.7623, 0.7925, 0.8984, 1.1, 1.412, 1.848, 2.422, 3.143, 4.022, 5.07",\
                 "0.8803, 0.9097, 1.013, 1.211, 1.518, 1.952, 2.522, 3.241, 4.119, 5.165",\
                 "1.087, 1.116, 1.217, 1.409, 1.71, 2.136, 2.699, 3.411, 4.284, 5.326",\
                 "1.372, 1.402, 1.509, 1.705, 2.001, 2.417, 2.971, 3.674, 4.538, 5.572",\
                 "1.71, 1.745, 1.861, 2.074, 2.388, 2.806, 3.35, 4.043, 4.896, 5.918",\
                 "2.117, 2.152, 2.274, 2.502, 2.84, 3.288, 3.843, 4.527, 5.369, 6.378",\
                 "2.593, 2.63, 2.761, 3, 3.357, 3.832, 4.426, 5.129, 5.965, 6.961",\
                 "3.143, 3.184, 3.322, 3.575, 3.948, 4.449, 5.074, 5.82, 6.682, 7.678");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1296, 0.1393, 0.1733, 0.2388, 0.3411, 0.4851, 0.6735, 0.9103, 1.198, 1.543",\
                 "0.1296, 0.1394, 0.1734, 0.2389, 0.3415, 0.485, 0.6732, 0.9092, 1.198, 1.543",\
                 "0.1693, 0.1756, 0.1996, 0.2518, 0.3438, 0.4843, 0.6729, 0.9096, 1.198, 1.544",\
                 "0.2706, 0.2784, 0.3067, 0.3597, 0.4371, 0.5412, 0.6955, 0.9138, 1.199, 1.543",\
                 "0.3994, 0.4086, 0.4405, 0.501, 0.5916, 0.7102, 0.8554, 1.029, 1.258, 1.562",\
                 "0.5556, 0.5656, 0.6028, 0.6722, 0.7744, 0.9094, 1.074, 1.268, 1.489, 1.741",\
                 "0.7378, 0.7496, 0.79, 0.8688, 0.9852, 1.138, 1.322, 1.537, 1.783, 2.058",\
                 "0.943, 0.9554, 1.001, 1.089, 1.223, 1.395, 1.602, 1.838, 2.107, 2.409",\
                 "1.168, 1.182, 1.235, 1.335, 1.485, 1.678, 1.91, 2.175, 2.467, 2.795",\
                 "1.41, 1.426, 1.485, 1.602, 1.769, 1.986, 2.243, 2.537, 2.862, 3.215");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.047, 1.102, 1.289, 1.642, 2.188, 2.954, 3.956, 5.217, 6.756, 8.588",\
                 "1.047, 1.101, 1.288, 1.641, 2.189, 2.954, 3.957, 5.216, 6.756, 8.589",\
                 "1.046, 1.101, 1.289, 1.642, 2.189, 2.952, 3.955, 5.216, 6.755, 8.589",\
                 "1.046, 1.099, 1.288, 1.641, 2.187, 2.954, 3.955, 5.218, 6.756, 8.59",\
                 "1.068, 1.119, 1.296, 1.642, 2.188, 2.953, 3.956, 5.219, 6.756, 8.588",\
                 "1.17, 1.221, 1.387, 1.705, 2.211, 2.954, 3.956, 5.217, 6.757, 8.59",\
                 "1.274, 1.328, 1.512, 1.849, 2.337, 3.024, 3.972, 5.217, 6.756, 8.59",\
                 "1.383, 1.444, 1.635, 1.992, 2.517, 3.202, 4.095, 5.264, 6.762, 8.59",\
                 "1.523, 1.582, 1.774, 2.141, 2.691, 3.422, 4.321, 5.436, 6.846, 8.608",\
                 "1.695, 1.754, 1.948, 2.316, 2.871, 3.633, 4.588, 5.71, 7.068, 8.736");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1894, 0.1992, 0.2324, 0.2936, 0.3855, 0.5111, 0.6739, 0.8772, 1.124, 1.417",\
                 "0.2046, 0.2144, 0.2479, 0.3092, 0.4014, 0.5272, 0.6901, 0.8934, 1.14, 1.434",\
                 "0.2443, 0.254, 0.2871, 0.3481, 0.4402, 0.5662, 0.7293, 0.9327, 1.18, 1.473",\
                 "0.2801, 0.2919, 0.3303, 0.3982, 0.4952, 0.6222, 0.7849, 0.9884, 1.235, 1.529",\
                 "0.2893, 0.3035, 0.3511, 0.432, 0.5447, 0.6882, 0.8635, 1.072, 1.318, 1.611",\
                 "0.2578, 0.2755, 0.3342, 0.4334, 0.569, 0.7356, 0.9329, 1.163, 1.427, 1.728",\
                 "0.1769, 0.1982, 0.269, 0.3898, 0.5525, 0.7501, 0.9779, 1.235, 1.526, 1.851",\
                 "0.0436, 0.0686, 0.1519, 0.2936, 0.4861, 0.7178, 0.983, 1.277, 1.6, 1.956",\
                 "-0.1471, -0.118, -0.0222, 0.1416, 0.3634, 0.6318, 0.9374, 1.274, 1.639, 2.033",\
                 "-0.3985, -0.3658, -0.2568, -0.0704, 0.1822, 0.4868, 0.8347, 1.217, 1.628, 2.068");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7121, 0.7422, 0.8479, 1.049, 1.36, 1.796, 2.367, 3.087, 3.966, 5.013",\
                 "0.7184, 0.7488, 0.855, 1.057, 1.369, 1.806, 2.379, 3.098, 3.977, 5.024",\
                 "0.7623, 0.7925, 0.8984, 1.1, 1.412, 1.848, 2.422, 3.143, 4.022, 5.07",\
                 "0.8803, 0.9097, 1.013, 1.211, 1.518, 1.952, 2.522, 3.241, 4.119, 5.165",\
                 "1.087, 1.116, 1.217, 1.409, 1.71, 2.136, 2.699, 3.411, 4.284, 5.326",\
                 "1.372, 1.402, 1.509, 1.705, 2.001, 2.417, 2.971, 3.674, 4.538, 5.572",\
                 "1.71, 1.745, 1.861, 2.074, 2.388, 2.806, 3.35, 4.043, 4.896, 5.918",\
                 "2.117, 2.152, 2.274, 2.502, 2.84, 3.288, 3.843, 4.527, 5.369, 6.378",\
                 "2.593, 2.63, 2.761, 3, 3.357, 3.832, 4.426, 5.129, 5.965, 6.961",\
                 "3.143, 3.184, 3.322, 3.575, 3.948, 4.449, 5.074, 5.82, 6.682, 7.678");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1976, 0.2132, 0.2668, 0.3666, 0.5169, 0.7259, 0.9988, 1.341, 1.76, 2.26",\
                 "0.1975, 0.2139, 0.2667, 0.3655, 0.5174, 0.7258, 0.9985, 1.341, 1.761, 2.26",\
                 "0.2027, 0.2167, 0.2667, 0.3643, 0.5163, 0.7251, 0.9989, 1.342, 1.761, 2.26",\
                 "0.2615, 0.275, 0.3212, 0.4086, 0.54, 0.7331, 0.9986, 1.341, 1.76, 2.259",\
                 "0.3561, 0.3701, 0.4166, 0.5038, 0.6366, 0.8206, 1.059, 1.37, 1.769, 2.259",\
                 "0.4842, 0.4994, 0.5508, 0.6438, 0.7764, 0.9594, 1.199, 1.5, 1.864, 2.314",\
                 "0.6358, 0.6546, 0.7136, 0.8152, 0.9616, 1.15, 1.388, 1.687, 2.052, 2.486",\
                 "0.8096, 0.8316, 0.8982, 1.015, 1.178, 1.384, 1.633, 1.929, 2.292, 2.725",\
                 "1.008, 1.03, 1.106, 1.237, 1.419, 1.646, 1.917, 2.227, 2.591, 3.022",\
                 "1.224, 1.25, 1.336, 1.482, 1.685, 1.937, 2.231, 2.566, 2.949, 3.383");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.971, 8.804",\
                 "1.202, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.429, 6.972, 8.803",\
                 "1.202, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.971, 8.806",\
                 "1.2, 1.257, 1.454, 1.823, 2.384, 3.158, 4.166, 5.43, 6.971, 8.806",\
                 "1.241, 1.294, 1.475, 1.826, 2.383, 3.158, 4.166, 5.43, 6.97, 8.807",\
                 "1.361, 1.411, 1.584, 1.91, 2.421, 3.163, 4.166, 5.43, 6.971, 8.805",\
                 "1.484, 1.539, 1.727, 2.067, 2.561, 3.251, 4.192, 5.432, 6.971, 8.807",\
                 "1.629, 1.685, 1.876, 2.231, 2.755, 3.44, 4.331, 5.491, 6.98, 8.807",\
                 "1.81, 1.864, 2.05, 2.411, 2.948, 3.675, 4.569, 5.68, 7.082, 8.83",\
                 "2.028, 2.082, 2.264, 2.615, 3.16, 3.904, 4.847, 5.967, 7.317, 8.976");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2226, 0.2322, 0.2652, 0.3264, 0.4182, 0.544, 0.707, 0.9104, 1.157, 1.451",\
                 "0.2369, 0.2465, 0.2796, 0.3407, 0.4327, 0.5586, 0.7216, 0.925, 1.172, 1.465",\
                 "0.2751, 0.2846, 0.3173, 0.3782, 0.4701, 0.5961, 0.7592, 0.9627, 1.21, 1.503",\
                 "0.3165, 0.3273, 0.364, 0.4301, 0.5254, 0.6516, 0.8144, 1.018, 1.265, 1.558",\
                 "0.3357, 0.3491, 0.3934, 0.4704, 0.5799, 0.7208, 0.8941, 1.101, 1.347, 1.64",\
                 "0.3179, 0.3343, 0.3889, 0.4828, 0.6127, 0.7747, 0.9684, 1.196, 1.458, 1.757",\
                 "0.2542, 0.2743, 0.34, 0.4532, 0.6084, 0.799, 1.021, 1.274, 1.562, 1.885",\
                 "0.142, 0.1651, 0.2421, 0.3752, 0.5581, 0.7811, 1.039, 1.326, 1.644, 1.995",\
                 "-0.0216, 0.005, 0.0929, 0.2456, 0.4557, 0.7132, 1.009, 1.336, 1.694, 2.081",\
                 "-0.2403, -0.2103, -0.111, 0.0619, 0.2996, 0.5901, 0.9258, 1.297, 1.698, 2.13");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6983, 0.7292, 0.8371, 1.041, 1.355, 1.794, 2.37, 3.094, 3.976, 5.026",\
                 "0.7044, 0.7355, 0.8437, 1.048, 1.363, 1.802, 2.378, 3.102, 3.985, 5.035",\
                 "0.734, 0.7653, 0.8738, 1.079, 1.395, 1.836, 2.413, 3.137, 4.02, 5.071",\
                 "0.8089, 0.8396, 0.9461, 1.148, 1.463, 1.901, 2.477, 3.201, 4.084, 5.135",\
                 "0.9587, 0.9889, 1.094, 1.291, 1.597, 2.029, 2.598, 3.317, 4.196, 5.244",\
                 "1.174, 1.205, 1.313, 1.514, 1.82, 2.24, 2.799, 3.507, 4.377, 5.418",\
                 "1.458, 1.49, 1.6, 1.806, 2.118, 2.543, 3.093, 3.788, 4.645, 5.673",\
                 "1.81, 1.844, 1.958, 2.169, 2.486, 2.922, 3.48, 4.168, 5.011, 6.025",\
                 "2.224, 2.26, 2.384, 2.605, 2.931, 3.373, 3.942, 4.644, 5.482, 6.481",\
                 "2.698, 2.737, 2.871, 3.11, 3.451, 3.905, 4.483, 5.197, 6.05, 7.05");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.232, 0.2478, 0.3018, 0.4013, 0.5528, 0.7619, 1.035, 1.379, 1.798, 2.295",\
                 "0.232, 0.2481, 0.3016, 0.4015, 0.5526, 0.7615, 1.035, 1.379, 1.798, 2.296",\
                 "0.2328, 0.2475, 0.3009, 0.3998, 0.5522, 0.7615, 1.035, 1.379, 1.798, 2.297",\
                 "0.2869, 0.3006, 0.3484, 0.4361, 0.5708, 0.7678, 1.035, 1.378, 1.797, 2.296",\
                 "0.3812, 0.3956, 0.4432, 0.5304, 0.6644, 0.8498, 1.09, 1.405, 1.805, 2.297",\
                 "0.5118, 0.5278, 0.5792, 0.6712, 0.805, 0.9892, 1.23, 1.53, 1.896, 2.348",\
                 "0.6714, 0.6892, 0.7462, 0.8494, 0.9918, 1.179, 1.417, 1.716, 2.082, 2.516",\
                 "0.8552, 0.875, 0.9402, 1.056, 1.215, 1.417, 1.662, 1.959, 2.321, 2.753",\
                 "1.067, 1.089, 1.163, 1.29, 1.468, 1.687, 1.952, 2.258, 2.619, 3.049",\
                 "1.307, 1.333, 1.414, 1.553, 1.751, 1.992, 2.275, 2.604, 2.978, 3.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.203, 1.259, 1.455, 1.823, 2.384, 3.157, 4.166, 5.429, 6.97, 8.802",\
                 "1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.429, 6.968, 8.806",\
                 "1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.429, 6.969, 8.806",\
                 "1.206, 1.262, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.971, 8.807",\
                 "1.26, 1.311, 1.492, 1.84, 2.386, 3.158, 4.167, 5.43, 6.971, 8.805",\
                 "1.358, 1.408, 1.585, 1.916, 2.436, 3.174, 4.168, 5.431, 6.971, 8.806",\
                 "1.465, 1.515, 1.694, 2.033, 2.543, 3.255, 4.207, 5.437, 6.97, 8.805",\
                 "1.609, 1.657, 1.83, 2.163, 2.679, 3.39, 4.316, 5.505, 6.992, 8.809",\
                 "1.8, 1.847, 2.009, 2.326, 2.833, 3.549, 4.481, 5.642, 7.087, 8.849",\
                 "2.03, 2.075, 2.236, 2.54, 3.027, 3.729, 4.665, 5.837, 7.254, 8.972");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.208, 0.2171, 0.2482, 0.306, 0.3947, 0.5176, 0.6782, 0.8797, 1.125, 1.417",\
                 "0.2222, 0.2314, 0.2624, 0.3205, 0.4092, 0.5322, 0.6927, 0.8942, 1.14, 1.432",\
                 "0.2593, 0.2684, 0.2995, 0.3578, 0.4465, 0.5696, 0.7304, 0.9319, 1.177, 1.47",\
                 "0.2934, 0.3042, 0.3406, 0.4055, 0.5, 0.6247, 0.7854, 0.9869, 1.232, 1.524",\
                 "0.301, 0.3147, 0.36, 0.4384, 0.5487, 0.6895, 0.863, 1.069, 1.315, 1.607",\
                 "0.2686, 0.2858, 0.3423, 0.4397, 0.5731, 0.7375, 0.933, 1.161, 1.424, 1.723",\
                 "0.1896, 0.2108, 0.2793, 0.3983, 0.5588, 0.7539, 0.9797, 1.235, 1.524, 1.848",\
                 "0.0622, 0.0866, 0.1682, 0.3073, 0.4971, 0.7268, 0.9893, 1.281, 1.602, 1.955",\
                 "-0.1172, -0.0889, 0.0045, 0.1648, 0.3833, 0.649, 0.9512, 1.284, 1.647, 2.036",\
                 "-0.351, -0.3191, -0.2137, -0.0314, 0.2159, 0.5157, 0.8593, 1.237, 1.644, 2.081");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6984, 0.7292, 0.8371, 1.041, 1.355, 1.794, 2.37, 3.094, 3.975, 5.025",\
                 "0.7046, 0.7355, 0.8438, 1.048, 1.363, 1.802, 2.378, 3.102, 3.984, 5.033",\
                 "0.734, 0.7653, 0.874, 1.079, 1.395, 1.836, 2.413, 3.137, 4.019, 5.069",\
                 "0.8088, 0.8396, 0.9461, 1.149, 1.463, 1.901, 2.477, 3.201, 4.083, 5.133",\
                 "0.9583, 0.9888, 1.094, 1.291, 1.597, 2.029, 2.598, 3.317, 4.195, 5.242",\
                 "1.174, 1.205, 1.313, 1.516, 1.82, 2.24, 2.799, 3.507, 4.376, 5.416",\
                 "1.458, 1.49, 1.601, 1.806, 2.117, 2.544, 3.093, 3.788, 4.644, 5.672",\
                 "1.809, 1.844, 1.959, 2.169, 2.487, 2.922, 3.48, 4.168, 5.01, 6.022",\
                 "2.223, 2.261, 2.383, 2.605, 2.93, 3.374, 3.942, 4.643, 5.481, 6.479",\
                 "2.698, 2.737, 2.871, 3.109, 3.451, 3.905, 4.483, 5.197, 6.05, 7.046");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2026, 0.2171, 0.2692, 0.366, 0.5151, 0.723, 0.9956, 1.339, 1.758, 2.256",\
                 "0.2024, 0.217, 0.2691, 0.3659, 0.5148, 0.7231, 0.9954, 1.339, 1.758, 2.256",\
                 "0.2068, 0.2208, 0.2701, 0.3656, 0.515, 0.7223, 0.9953, 1.339, 1.756, 2.256",\
                 "0.2636, 0.2773, 0.3234, 0.4092, 0.5402, 0.7326, 0.9974, 1.339, 1.757, 2.255",\
                 "0.3604, 0.3746, 0.4218, 0.5076, 0.6384, 0.8216, 1.059, 1.37, 1.768, 2.257",\
                 "0.4938, 0.5094, 0.5604, 0.6514, 0.7838, 0.964, 1.2, 1.5, 1.864, 2.313",\
                 "0.6558, 0.6722, 0.7294, 0.83, 0.974, 1.157, 1.394, 1.69, 2.053, 2.485",\
                 "0.8422, 0.8626, 0.9276, 1.041, 1.197, 1.397, 1.642, 1.936, 2.294, 2.725",\
                 "1.059, 1.08, 1.153, 1.275, 1.453, 1.67, 1.932, 2.239, 2.599, 3.023",\
                 "1.299, 1.323, 1.406, 1.543, 1.734, 1.976, 2.257, 2.587, 2.959, 3.385");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.083, 1.136, 1.321, 1.673, 2.219, 2.983, 3.984, 5.246, 6.786, 8.615",\
                 "1.083, 1.136, 1.321, 1.673, 2.219, 2.982, 3.985, 5.247, 6.783, 8.62",\
                 "1.083, 1.136, 1.321, 1.673, 2.219, 2.982, 3.986, 5.247, 6.785, 8.618",\
                 "1.086, 1.138, 1.321, 1.673, 2.219, 2.983, 3.985, 5.246, 6.785, 8.619",\
                 "1.139, 1.188, 1.358, 1.69, 2.221, 2.983, 3.985, 5.247, 6.785, 8.618",\
                 "1.225, 1.274, 1.446, 1.766, 2.271, 2.999, 3.988, 5.247, 6.787, 8.617",\
                 "1.319, 1.368, 1.542, 1.873, 2.377, 3.079, 4.027, 5.255, 6.786, 8.619",\
                 "1.452, 1.5, 1.665, 1.993, 2.504, 3.213, 4.136, 5.321, 6.807, 8.62",\
                 "1.624, 1.671, 1.833, 2.147, 2.649, 3.365, 4.299, 5.46, 6.902, 8.663",\
                 "1.826, 1.877, 2.039, 2.349, 2.835, 3.538, 4.477, 5.652, 7.069, 8.784");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1679, 0.1747, 0.1985, 0.2426, 0.3098, 0.4028, 0.5239, 0.6758, 0.8609, 1.081",\
                 "0.1824, 0.1894, 0.2131, 0.2574, 0.3246, 0.4175, 0.5387, 0.6906, 0.8756, 1.096",\
                 "0.2281, 0.2352, 0.2595, 0.3038, 0.3712, 0.4642, 0.5854, 0.7374, 0.9224, 1.143",\
                 "0.2707, 0.2806, 0.3134, 0.3703, 0.4494, 0.5488, 0.671, 0.823, 1.008, 1.228",\
                 "0.281, 0.2939, 0.3373, 0.4116, 0.5134, 0.6388, 0.7855, 0.9525, 1.141, 1.362",\
                 "0.2494, 0.266, 0.3209, 0.4148, 0.5426, 0.6981, 0.8772, 1.078, 1.3, 1.542",\
                 "0.1719, 0.1918, 0.2586, 0.373, 0.529, 0.7176, 0.9329, 1.171, 1.432, 1.713",\
                 "0.0456, 0.0693, 0.1475, 0.2824, 0.4668, 0.69, 0.9443, 1.224, 1.526, 1.851",\
                 "-0.1325, -0.1056, -0.0158, 0.1398, 0.3519, 0.6106, 0.9053, 1.228, 1.577, 1.947",\
                 "-0.3654, -0.3351, -0.2339, -0.0576, 0.1829, 0.4758, 0.8111, 1.179, 1.575, 1.995");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.76, 0.79, 0.8965, 1.098, 1.411, 1.849, 2.424, 3.147, 4.028, 5.077",\
                 "0.7666, 0.7972, 0.9039, 1.107, 1.42, 1.859, 2.434, 3.157, 4.038, 5.087",\
                 "0.7958, 0.8264, 0.9339, 1.138, 1.453, 1.892, 2.468, 3.193, 4.075, 5.124",\
                 "0.8704, 0.9006, 1.006, 1.207, 1.52, 1.957, 2.533, 3.256, 4.138, 5.187",\
                 "1.022, 1.052, 1.154, 1.35, 1.656, 2.086, 2.655, 3.373, 4.251, 5.297",\
                 "1.241, 1.271, 1.378, 1.577, 1.879, 2.301, 2.858, 3.566, 4.436, 5.474",\
                 "1.527, 1.559, 1.668, 1.873, 2.184, 2.608, 3.156, 3.851, 4.707, 5.735",\
                 "1.885, 1.918, 2.03, 2.239, 2.556, 2.991, 3.549, 4.237, 5.079, 6.092",\
                 "2.308, 2.342, 2.462, 2.679, 3.004, 3.448, 4.018, 4.72, 5.556, 6.555",\
                 "2.792, 2.83, 2.958, 3.191, 3.53, 3.983, 4.563, 5.28, 6.133, 7.13");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1714, 0.1827, 0.2213, 0.2944, 0.4066, 0.5639, 0.7692, 1.028, 1.344, 1.719",\
                 "0.1715, 0.1826, 0.2213, 0.2947, 0.4065, 0.5636, 0.7693, 1.028, 1.343, 1.718",\
                 "0.1857, 0.1952, 0.2289, 0.2963, 0.4071, 0.5641, 0.7693, 1.028, 1.343, 1.719",\
                 "0.2779, 0.2872, 0.3193, 0.3788, 0.4657, 0.593, 0.7787, 1.029, 1.344, 1.719",\
                 "0.3993, 0.4103, 0.447, 0.5134, 0.6114, 0.7404, 0.9012, 1.105, 1.376, 1.726",\
                 "0.549, 0.5608, 0.6038, 0.6792, 0.788, 0.9306, 1.106, 1.317, 1.562, 1.857",\
                 "0.725, 0.7378, 0.7868, 0.8728, 0.9978, 1.155, 1.346, 1.573, 1.836, 2.138",\
                 "0.9262, 0.9424, 0.9974, 1.096, 1.233, 1.412, 1.623, 1.866, 2.148, 2.469",\
                 "1.158, 1.176, 1.236, 1.346, 1.501, 1.696, 1.931, 2.199, 2.502, 2.842",\
                 "1.41, 1.432, 1.499, 1.623, 1.793, 2.015, 2.27, 2.566, 2.894, 3.254");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.154, 1.208, 1.394, 1.747, 2.294, 3.058, 4.061, 5.322, 6.862, 8.693",\
                 "1.155, 1.208, 1.394, 1.747, 2.294, 3.058, 4.061, 5.321, 6.861, 8.694",\
                 "1.154, 1.207, 1.394, 1.747, 2.294, 3.058, 4.061, 5.321, 6.86, 8.692",\
                 "1.156, 1.208, 1.394, 1.747, 2.294, 3.058, 4.061, 5.322, 6.859, 8.693",\
                 "1.202, 1.251, 1.424, 1.76, 2.295, 3.058, 4.061, 5.321, 6.861, 8.691",\
                 "1.288, 1.337, 1.508, 1.83, 2.339, 3.071, 4.062, 5.323, 6.86, 8.694",\
                 "1.377, 1.428, 1.604, 1.936, 2.439, 3.145, 4.096, 5.328, 6.861, 8.694",\
                 "1.499, 1.548, 1.72, 2.05, 2.566, 3.276, 4.2, 5.39, 6.879, 8.697",\
                 "1.664, 1.713, 1.877, 2.196, 2.704, 3.425, 4.359, 5.522, 6.967, 8.734",\
                 "1.866, 1.913, 2.078, 2.388, 2.88, 3.594, 4.534, 5.711, 7.132, 8.848");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1777, 0.1866, 0.2171, 0.2742, 0.3619, 0.4839, 0.6438, 0.8448, 1.09, 1.382",\
                 "0.1919, 0.2007, 0.2314, 0.2886, 0.3764, 0.4985, 0.6583, 0.8593, 1.105, 1.396",\
                 "0.2276, 0.2368, 0.2681, 0.3256, 0.4136, 0.5359, 0.696, 0.8971, 1.142, 1.434",\
                 "0.2522, 0.2639, 0.3022, 0.3692, 0.4651, 0.5907, 0.751, 0.9521, 1.197, 1.489",\
                 "0.246, 0.261, 0.3103, 0.3937, 0.5077, 0.6512, 0.8265, 1.034, 1.28, 1.571",\
                 "0.1966, 0.2159, 0.2785, 0.3833, 0.5234, 0.6931, 0.8918, 1.122, 1.387, 1.687",\
                 "0.1011, 0.1247, 0.2004, 0.328, 0.4984, 0.7012, 0.9326, 1.192, 1.483, 1.809",\
                 "-0.0433, -0.0158, 0.0741, 0.2239, 0.4248, 0.6647, 0.9342, 1.232, 1.557, 1.913",\
                 "-0.2391, -0.2076, -0.1048, 0.0685, 0.2995, 0.5764, 0.8877, 1.228, 1.596, 1.991",\
                 "-0.4874, -0.453, -0.3377, -0.1416, 0.1207, 0.433, 0.7865, 1.174, 1.587, 2.029");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.6845, 0.7156, 0.8232, 1.027, 1.34, 1.777, 2.351, 3.072, 3.952, 4.998",\
                 "0.6907, 0.722, 0.83, 1.034, 1.348, 1.785, 2.359, 3.08, 3.96, 5.008",\
                 "0.7203, 0.7516, 0.8603, 1.065, 1.38, 1.819, 2.393, 3.115, 3.995, 5.044",\
                 "0.795, 0.8256, 0.9327, 1.135, 1.448, 1.885, 2.458, 3.18, 4.059, 5.108",\
                 "0.9436, 0.9743, 1.08, 1.277, 1.582, 2.012, 2.579, 3.295, 4.172, 5.216",\
                 "1.158, 1.19, 1.298, 1.5, 1.803, 2.224, 2.779, 3.486, 4.352, 5.392",\
                 "1.441, 1.473, 1.583, 1.789, 2.101, 2.526, 3.072, 3.765, 4.621, 5.646",\
                 "1.791, 1.824, 1.94, 2.151, 2.468, 2.902, 3.459, 4.146, 4.985, 5.996",\
                 "2.201, 2.238, 2.363, 2.585, 2.911, 3.353, 3.921, 4.62, 5.456, 6.452",\
                 "2.671, 2.712, 2.847, 3.087, 3.43, 3.883, 4.46, 5.172, 6.023, 7.019");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1688, 0.1837, 0.2338, 0.3299, 0.4779, 0.6858, 0.9581, 1.301, 1.72, 2.217",\
                 "0.1689, 0.1834, 0.2338, 0.3299, 0.4783, 0.6858, 0.9574, 1.3, 1.719, 2.217",\
                 "0.1796, 0.1925, 0.2387, 0.3312, 0.4784, 0.6855, 0.9582, 1.301, 1.719, 2.218",\
                 "0.2417, 0.2546, 0.2983, 0.3825, 0.5112, 0.6988, 0.9602, 1.301, 1.719, 2.217",\
                 "0.3439, 0.3563, 0.4023, 0.485, 0.6124, 0.7934, 1.029, 1.336, 1.731, 2.218",\
                 "0.4784, 0.4932, 0.544, 0.6334, 0.7626, 0.9388, 1.174, 1.472, 1.834, 2.28",\
                 "0.6414, 0.6598, 0.716, 0.8136, 0.9562, 1.139, 1.371, 1.664, 2.025, 2.457",\
                 "0.835, 0.8528, 0.9142, 1.024, 1.181, 1.379, 1.621, 1.912, 2.269, 2.698",\
                 "1.052, 1.073, 1.142, 1.265, 1.436, 1.655, 1.914, 2.217, 2.577, 2.999",\
                 "1.288, 1.313, 1.393, 1.531, 1.723, 1.96, 2.239, 2.566, 2.939, 3.365");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.8984, 0.9529, 1.14, 1.493, 2.04, 2.804, 3.807, 5.068, 6.609, 8.438",\
                 "0.8987, 0.9532, 1.14, 1.494, 2.04, 2.804, 3.808, 5.068, 6.605, 8.441",\
                 "0.8985, 0.953, 1.14, 1.493, 2.04, 2.805, 3.808, 5.068, 6.607, 8.437",\
                 "0.9017, 0.9548, 1.141, 1.493, 2.04, 2.806, 3.807, 5.072, 6.608, 8.442",\
                 "0.9548, 1.004, 1.176, 1.509, 2.042, 2.805, 3.807, 5.069, 6.609, 8.44",\
                 "1.03, 1.081, 1.26, 1.585, 2.092, 2.821, 3.808, 5.069, 6.608, 8.444",\
                 "1.115, 1.165, 1.346, 1.685, 2.198, 2.901, 3.848, 5.076, 6.607, 8.442",\
                 "1.237, 1.288, 1.461, 1.793, 2.315, 3.033, 3.958, 5.144, 6.628, 8.444",\
                 "1.394, 1.445, 1.617, 1.942, 2.452, 3.176, 4.119, 5.281, 6.723, 8.482",\
                 "1.574, 1.627, 1.808, 2.135, 2.633, 3.342, 4.292, 5.471, 6.891, 8.604");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.146, 0.1527, 0.176, 0.2192, 0.2858, 0.3778, 0.4985, 0.6498, 0.8346, 1.054",\
                 "0.1605, 0.1672, 0.1907, 0.234, 0.3005, 0.3927, 0.5133, 0.6647, 0.8494, 1.069",\
                 "0.2029, 0.2105, 0.2357, 0.2802, 0.347, 0.4394, 0.5599, 0.7116, 0.8963, 1.116",\
                 "0.2329, 0.2436, 0.2789, 0.3391, 0.421, 0.5227, 0.6454, 0.7972, 0.9817, 1.202",\
                 "0.2276, 0.2421, 0.2896, 0.3692, 0.4758, 0.6054, 0.7554, 0.9247, 1.115, 1.335",\
                 "0.1797, 0.1981, 0.2586, 0.3598, 0.4947, 0.6565, 0.8403, 1.045, 1.269, 1.513",\
                 "0.0863, 0.1086, 0.1812, 0.305, 0.4699, 0.6665, 0.8883, 1.132, 1.396, 1.68",\
                 "-0.056, -0.03, 0.0559, 0.2011, 0.3963, 0.6294, 0.8911, 1.177, 1.485, 1.812",\
                 "-0.25, -0.2201, -0.1215, 0.0461, 0.2702, 0.5397, 0.8434, 1.174, 1.528, 1.903",\
                 "-0.4961, -0.4633, -0.3537, -0.1645, 0.0902, 0.3951, 0.7403, 1.117, 1.52, 1.946");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7468, 0.777, 0.8832, 1.085, 1.396, 1.832, 2.405, 3.125, 4.004, 5.051",\
                 "0.7539, 0.7842, 0.8908, 1.093, 1.405, 1.842, 2.415, 3.136, 4.014, 5.062",\
                 "0.7828, 0.8134, 0.9206, 1.124, 1.437, 1.875, 2.45, 3.171, 4.05, 5.099",\
                 "0.8573, 0.8874, 0.9929, 1.193, 1.505, 1.941, 2.513, 3.235, 4.114, 5.162",\
                 "1.008, 1.038, 1.142, 1.336, 1.641, 2.07, 2.636, 3.352, 4.228, 5.272",\
                 "1.226, 1.256, 1.364, 1.563, 1.864, 2.283, 2.839, 3.545, 4.411, 5.449",\
                 "1.512, 1.543, 1.652, 1.857, 2.167, 2.59, 3.136, 3.83, 4.684, 5.709",\
                 "1.867, 1.9, 2.013, 2.222, 2.539, 2.972, 3.529, 4.215, 5.055, 6.065",\
                 "2.287, 2.322, 2.443, 2.661, 2.985, 3.428, 3.996, 4.695, 5.532, 6.529",\
                 "2.768, 2.806, 2.936, 3.17, 3.51, 3.962, 4.541, 5.254, 6.107, 7.103");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1461, 0.157, 0.1948, 0.2673, 0.3795, 0.5355, 0.7408, 0.9993, 1.315, 1.69",\
                 "0.1462, 0.1568, 0.1949, 0.2672, 0.3788, 0.536, 0.7408, 0.999, 1.315, 1.689",\
                 "0.1709, 0.1786, 0.2093, 0.2726, 0.3797, 0.5352, 0.7411, 0.9991, 1.315, 1.688",\
                 "0.2645, 0.2734, 0.3048, 0.3631, 0.4499, 0.5731, 0.7539, 0.9997, 1.314, 1.688",\
                 "0.3878, 0.3984, 0.4337, 0.4992, 0.5958, 0.7238, 0.8856, 1.086, 1.353, 1.7",\
                 "0.5396, 0.5522, 0.592, 0.6666, 0.7736, 0.9142, 1.091, 1.3, 1.546, 1.837",\
                 "0.7184, 0.7328, 0.7774, 0.8624, 0.9842, 1.141, 1.33, 1.557, 1.819, 2.121",\
                 "0.9262, 0.942, 0.9906, 1.086, 1.222, 1.397, 1.609, 1.85, 2.133, 2.453",\
                 "1.16, 1.176, 1.233, 1.338, 1.49, 1.685, 1.916, 2.185, 2.486, 2.824",\
                 "1.411, 1.431, 1.498, 1.618, 1.783, 2, 2.256, 2.551, 2.879, 3.24");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.9748, 1.029, 1.215, 1.57, 2.116, 2.881, 3.883, 5.144, 6.683, 8.514",\
                 "0.9758, 1.028, 1.215, 1.568, 2.116, 2.88, 3.884, 5.145, 6.682, 8.517",\
                 "0.9748, 1.029, 1.216, 1.57, 2.115, 2.88, 3.883, 5.144, 6.682, 8.516",\
                 "0.9764, 1.03, 1.216, 1.57, 2.116, 2.88, 3.884, 5.144, 6.683, 8.517",\
                 "1.022, 1.071, 1.245, 1.581, 2.117, 2.881, 3.884, 5.144, 6.685, 8.516",\
                 "1.1, 1.15, 1.328, 1.651, 2.161, 2.893, 3.884, 5.145, 6.683, 8.52",\
                 "1.179, 1.232, 1.412, 1.75, 2.261, 2.968, 3.918, 5.149, 6.683, 8.516",\
                 "1.293, 1.343, 1.52, 1.856, 2.379, 3.097, 4.022, 5.212, 6.701, 8.517",\
                 "1.446, 1.496, 1.668, 1.994, 2.51, 3.238, 4.18, 5.344, 6.791, 8.554",\
                 "1.626, 1.677, 1.855, 2.178, 2.68, 3.398, 4.348, 5.532, 6.951, 8.67");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.146, 0.1528, 0.176, 0.2193, 0.2858, 0.3779, 0.4986, 0.6499, 0.8348, 1.055",\
                 "0.1605, 0.1673, 0.1907, 0.234, 0.3006, 0.3928, 0.5134, 0.6648, 0.8496, 1.069",\
                 "0.203, 0.2106, 0.2357, 0.2802, 0.347, 0.4394, 0.56, 0.7118, 0.8965, 1.116",\
                 "0.2329, 0.2436, 0.279, 0.3391, 0.421, 0.5227, 0.6454, 0.7972, 0.9818, 1.202",\
                 "0.2277, 0.2422, 0.2896, 0.3692, 0.4759, 0.6054, 0.7555, 0.9248, 1.115, 1.335",\
                 "0.1797, 0.1981, 0.2586, 0.3599, 0.4947, 0.6565, 0.8403, 1.045, 1.269, 1.513",\
                 "0.0863, 0.1086, 0.1812, 0.305, 0.4699, 0.6665, 0.8883, 1.132, 1.396, 1.68",\
                 "-0.056, -0.03, 0.0559, 0.2011, 0.3963, 0.6294, 0.8911, 1.177, 1.485, 1.812",\
                 "-0.25, -0.22, -0.1215, 0.0461, 0.2702, 0.5398, 0.8437, 1.174, 1.528, 1.903",\
                 "-0.4961, -0.4633, -0.3536, -0.1645, 0.0902, 0.3951, 0.7403, 1.117, 1.52, 1.945");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7468, 0.777, 0.8832, 1.085, 1.396, 1.832, 2.405, 3.125, 4.004, 5.051",\
                 "0.7539, 0.7842, 0.8908, 1.093, 1.405, 1.842, 2.415, 3.135, 4.015, 5.062",\
                 "0.7828, 0.8134, 0.9205, 1.124, 1.438, 1.875, 2.45, 3.171, 4.05, 5.099",\
                 "0.8573, 0.8875, 0.9927, 1.193, 1.505, 1.941, 2.514, 3.235, 4.116, 5.162",\
                 "1.008, 1.038, 1.141, 1.336, 1.641, 2.069, 2.636, 3.351, 4.228, 5.272",\
                 "1.226, 1.256, 1.364, 1.563, 1.865, 2.283, 2.839, 3.545, 4.411, 5.449",\
                 "1.512, 1.543, 1.652, 1.857, 2.166, 2.59, 3.137, 3.83, 4.684, 5.708",\
                 "1.867, 1.9, 2.013, 2.222, 2.538, 2.972, 3.529, 4.215, 5.055, 6.066",\
                 "2.287, 2.322, 2.443, 2.661, 2.985, 3.428, 3.996, 4.695, 5.532, 6.528",\
                 "2.768, 2.806, 2.937, 3.171, 3.51, 3.962, 4.541, 5.254, 6.107, 7.102");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1462, 0.157, 0.1948, 0.2674, 0.3796, 0.5356, 0.741, 0.9996, 1.315, 1.69",\
                 "0.1462, 0.157, 0.195, 0.2673, 0.3789, 0.5361, 0.7409, 0.9993, 1.315, 1.689",\
                 "0.1709, 0.1786, 0.2094, 0.2727, 0.3798, 0.5353, 0.7412, 0.9993, 1.315, 1.689",\
                 "0.2645, 0.2734, 0.3048, 0.3631, 0.4499, 0.5732, 0.7542, 1.001, 1.313, 1.689",\
                 "0.3878, 0.3983, 0.4336, 0.4992, 0.5956, 0.724, 0.8858, 1.086, 1.353, 1.701",\
                 "0.5396, 0.5522, 0.5922, 0.6666, 0.7738, 0.9142, 1.091, 1.3, 1.545, 1.837",\
                 "0.7186, 0.733, 0.7774, 0.8624, 0.9842, 1.14, 1.33, 1.557, 1.819, 2.122",\
                 "0.9262, 0.942, 0.9906, 1.086, 1.222, 1.397, 1.609, 1.85, 2.133, 2.454",\
                 "1.159, 1.176, 1.233, 1.338, 1.489, 1.685, 1.916, 2.185, 2.486, 2.824",\
                 "1.411, 1.431, 1.498, 1.618, 1.783, 2, 2.256, 2.551, 2.879, 3.238");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.9749, 1.029, 1.215, 1.57, 2.116, 2.881, 3.884, 5.143, 6.682, 8.518",\
                 "0.9758, 1.028, 1.215, 1.568, 2.116, 2.881, 3.884, 5.144, 6.683, 8.514",\
                 "0.9748, 1.029, 1.216, 1.571, 2.116, 2.881, 3.882, 5.144, 6.682, 8.515",\
                 "0.977, 1.03, 1.216, 1.57, 2.116, 2.881, 3.883, 5.144, 6.687, 8.517",\
                 "1.022, 1.071, 1.245, 1.581, 2.118, 2.881, 3.882, 5.145, 6.685, 8.516",\
                 "1.1, 1.15, 1.327, 1.652, 2.16, 2.893, 3.884, 5.145, 6.684, 8.518",\
                 "1.179, 1.231, 1.411, 1.75, 2.262, 2.968, 3.918, 5.15, 6.684, 8.516",\
                 "1.293, 1.343, 1.52, 1.857, 2.38, 3.097, 4.022, 5.212, 6.701, 8.517",\
                 "1.448, 1.495, 1.668, 1.994, 2.511, 3.238, 4.18, 5.344, 6.789, 8.555",\
                 "1.626, 1.677, 1.855, 2.18, 2.68, 3.399, 4.35, 5.532, 6.951, 8.672");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.138, 0.1442, 0.1659, 0.2062, 0.2676, 0.3531, 0.4648, 0.6051, 0.7759, 0.9793",\
                 "0.1526, 0.1589, 0.1806, 0.221, 0.2825, 0.3679, 0.4796, 0.62, 0.7907, 0.9943",\
                 "0.1974, 0.2047, 0.2286, 0.2702, 0.3323, 0.4176, 0.5294, 0.67, 0.8407, 1.044",\
                 "0.2292, 0.2398, 0.2742, 0.3327, 0.4122, 0.5095, 0.6242, 0.7647, 0.9356, 1.139",\
                 "0.2264, 0.2405, 0.2865, 0.3644, 0.4691, 0.596, 0.7419, 0.9044, 1.083, 1.287",\
                 "0.1808, 0.1986, 0.2573, 0.3564, 0.489, 0.6483, 0.8288, 1.029, 1.248, 1.482",\
                 "0.0901, 0.1115, 0.1823, 0.303, 0.4653, 0.659, 0.8778, 1.117, 1.377, 1.656",\
                 "-0.0494, -0.0241, 0.059, 0.2011, 0.3924, 0.6221, 0.8808, 1.164, 1.467, 1.79",\
                 "-0.2403, -0.2116, -0.1161, 0.047, 0.2671, 0.533, 0.8332, 1.16, 1.51, 1.881",\
                 "-0.4837, -0.4522, -0.3461, -0.162, 0.0876, 0.3882, 0.73, 1.103, 1.502, 1.923");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.8012, 0.8313, 0.9369, 1.138, 1.449, 1.884, 2.457, 3.177, 4.055, 5.103",\
                 "0.8085, 0.8391, 0.9449, 1.146, 1.458, 1.895, 2.468, 3.188, 4.066, 5.114",\
                 "0.8376, 0.8683, 0.9746, 1.177, 1.49, 1.928, 2.502, 3.223, 4.103, 5.151",\
                 "0.9117, 0.9415, 1.046, 1.246, 1.557, 1.993, 2.565, 3.287, 4.166, 5.213",\
                 "1.062, 1.092, 1.194, 1.389, 1.693, 2.122, 2.688, 3.404, 4.28, 5.322",\
                 "1.282, 1.313, 1.419, 1.616, 1.917, 2.335, 2.891, 3.597, 4.464, 5.502",\
                 "1.57, 1.601, 1.71, 1.913, 2.221, 2.644, 3.19, 3.884, 4.738, 5.762",\
                 "1.928, 1.961, 2.072, 2.279, 2.595, 3.028, 3.584, 4.27, 5.111, 6.121",\
                 "2.354, 2.388, 2.506, 2.721, 3.044, 3.486, 4.054, 4.753, 5.589, 6.586",\
                 "2.841, 2.878, 3.006, 3.235, 3.572, 4.022, 4.601, 5.314, 6.166, 7.164");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1542, 0.1641, 0.1985, 0.2645, 0.3666, 0.51, 0.6993, 0.9362, 1.224, 1.569",\
                 "0.1543, 0.1641, 0.1986, 0.2646, 0.3666, 0.5099, 0.6994, 0.9362, 1.224, 1.568",\
                 "0.1835, 0.1905, 0.2167, 0.2725, 0.3687, 0.5105, 0.6989, 0.9362, 1.225, 1.569",\
                 "0.2891, 0.2967, 0.3251, 0.3765, 0.4531, 0.559, 0.7167, 0.9388, 1.224, 1.568",\
                 "0.4221, 0.4311, 0.4625, 0.5224, 0.6114, 0.7282, 0.8718, 1.046, 1.279, 1.585",\
                 "0.5828, 0.593, 0.6296, 0.6976, 0.7976, 0.9294, 1.092, 1.284, 1.504, 1.758",\
                 "0.7728, 0.7836, 0.824, 0.8998, 1.015, 1.162, 1.342, 1.554, 1.8, 2.073",\
                 "0.991, 1.003, 1.049, 1.132, 1.26, 1.427, 1.628, 1.858, 2.125, 2.426",\
                 "1.236, 1.249, 1.3, 1.391, 1.535, 1.719, 1.942, 2.201, 2.488, 2.811",\
                 "1.498, 1.516, 1.574, 1.683, 1.837, 2.042, 2.289, 2.571, 2.888, 3.237");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.047, 1.101, 1.287, 1.642, 2.188, 2.952, 3.956, 5.217, 6.753, 8.587",\
                 "1.047, 1.102, 1.287, 1.64, 2.188, 2.952, 3.956, 5.219, 6.753, 8.59",\
                 "1.047, 1.101, 1.288, 1.641, 2.188, 2.953, 3.955, 5.217, 6.757, 8.588",\
                 "1.048, 1.101, 1.288, 1.64, 2.188, 2.952, 3.956, 5.218, 6.757, 8.588",\
                 "1.087, 1.137, 1.312, 1.651, 2.189, 2.952, 3.956, 5.217, 6.756, 8.588",\
                 "1.166, 1.217, 1.391, 1.716, 2.227, 2.962, 3.956, 5.218, 6.757, 8.592",\
                 "1.248, 1.296, 1.477, 1.816, 2.325, 3.033, 3.988, 5.222, 6.756, 8.589",\
                 "1.353, 1.407, 1.584, 1.921, 2.444, 3.16, 4.087, 5.278, 6.772, 8.589",\
                 "1.504, 1.552, 1.727, 2.058, 2.573, 3.303, 4.242, 5.409, 6.856, 8.625",\
                 "1.685, 1.735, 1.909, 2.233, 2.737, 3.465, 4.412, 5.594, 7.015, 8.736");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2226, 0.2322, 0.2652, 0.3264, 0.4182, 0.544, 0.707, 0.9104, 1.157, 1.451",\
                 "0.2369, 0.2465, 0.2796, 0.3407, 0.4327, 0.5586, 0.7216, 0.925, 1.172, 1.465",\
                 "0.2751, 0.2846, 0.3173, 0.3782, 0.4701, 0.5961, 0.7592, 0.9627, 1.21, 1.503",\
                 "0.3165, 0.3273, 0.364, 0.4301, 0.5254, 0.6516, 0.8144, 1.018, 1.265, 1.558",\
                 "0.3357, 0.3491, 0.3934, 0.4704, 0.5799, 0.7208, 0.8941, 1.101, 1.347, 1.64",\
                 "0.3179, 0.3343, 0.3889, 0.4828, 0.6127, 0.7747, 0.9684, 1.196, 1.458, 1.757",\
                 "0.2542, 0.2743, 0.34, 0.4532, 0.6084, 0.799, 1.021, 1.274, 1.562, 1.885",\
                 "0.142, 0.1651, 0.2421, 0.3752, 0.5581, 0.7811, 1.039, 1.326, 1.644, 1.995",\
                 "-0.0216, 0.005, 0.0929, 0.2456, 0.4557, 0.7132, 1.009, 1.336, 1.694, 2.081",\
                 "-0.2403, -0.2103, -0.111, 0.0619, 0.2996, 0.5901, 0.9258, 1.297, 1.698, 2.13");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.8012, 0.8313, 0.9369, 1.138, 1.449, 1.884, 2.457, 3.177, 4.055, 5.103",\
                 "0.8085, 0.8391, 0.9449, 1.146, 1.458, 1.895, 2.468, 3.188, 4.066, 5.114",\
                 "0.8376, 0.8683, 0.9746, 1.177, 1.49, 1.928, 2.502, 3.223, 4.103, 5.151",\
                 "0.9117, 0.9415, 1.046, 1.246, 1.557, 1.993, 2.565, 3.287, 4.166, 5.213",\
                 "1.062, 1.092, 1.194, 1.389, 1.693, 2.122, 2.688, 3.404, 4.28, 5.322",\
                 "1.282, 1.313, 1.419, 1.616, 1.917, 2.335, 2.891, 3.597, 4.464, 5.502",\
                 "1.57, 1.601, 1.71, 1.913, 2.221, 2.644, 3.19, 3.884, 4.738, 5.762",\
                 "1.928, 1.961, 2.072, 2.279, 2.595, 3.028, 3.584, 4.27, 5.111, 6.121",\
                 "2.354, 2.388, 2.506, 2.721, 3.044, 3.486, 4.054, 4.753, 5.589, 6.586",\
                 "2.841, 2.878, 3.006, 3.235, 3.572, 4.022, 4.601, 5.314, 6.166, 7.164");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.232, 0.2478, 0.3018, 0.4013, 0.5528, 0.7619, 1.035, 1.379, 1.798, 2.295",\
                 "0.232, 0.2481, 0.3016, 0.4015, 0.5526, 0.7615, 1.035, 1.379, 1.798, 2.296",\
                 "0.2328, 0.2475, 0.3009, 0.3998, 0.5522, 0.7615, 1.035, 1.379, 1.798, 2.297",\
                 "0.2869, 0.3006, 0.3484, 0.4361, 0.5708, 0.7678, 1.035, 1.378, 1.797, 2.296",\
                 "0.3812, 0.3956, 0.4432, 0.5304, 0.6644, 0.8498, 1.09, 1.405, 1.805, 2.297",\
                 "0.5118, 0.5278, 0.5792, 0.6712, 0.805, 0.9892, 1.23, 1.53, 1.896, 2.348",\
                 "0.6714, 0.6892, 0.7462, 0.8494, 0.9918, 1.179, 1.417, 1.716, 2.082, 2.516",\
                 "0.8552, 0.875, 0.9402, 1.056, 1.215, 1.417, 1.662, 1.959, 2.321, 2.753",\
                 "1.067, 1.089, 1.163, 1.29, 1.468, 1.687, 1.952, 2.258, 2.619, 3.049",\
                 "1.307, 1.333, 1.414, 1.553, 1.751, 1.992, 2.275, 2.604, 2.978, 3.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.203, 1.259, 1.455, 1.823, 2.384, 3.157, 4.166, 5.429, 6.97, 8.802",\
                 "1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.429, 6.968, 8.806",\
                 "1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.429, 6.969, 8.806",\
                 "1.206, 1.262, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.971, 8.807",\
                 "1.26, 1.311, 1.492, 1.84, 2.386, 3.158, 4.167, 5.43, 6.971, 8.805",\
                 "1.358, 1.408, 1.585, 1.916, 2.436, 3.174, 4.168, 5.431, 6.971, 8.806",\
                 "1.465, 1.515, 1.694, 2.033, 2.543, 3.255, 4.207, 5.437, 6.97, 8.805",\
                 "1.609, 1.657, 1.83, 2.163, 2.679, 3.39, 4.316, 5.505, 6.992, 8.809",\
                 "1.8, 1.847, 2.009, 2.326, 2.833, 3.549, 4.481, 5.642, 7.087, 8.849",\
                 "2.03, 2.075, 2.236, 2.54, 3.027, 3.729, 4.665, 5.837, 7.254, 8.972");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2381, 0.2481, 0.2828, 0.3462, 0.4402, 0.5682, 0.733, 0.9379, 1.186, 1.48",\
                 "0.2508, 0.261, 0.2957, 0.3588, 0.453, 0.5811, 0.7458, 0.9506, 1.199, 1.493",\
                 "0.2882, 0.298, 0.3322, 0.395, 0.4891, 0.617, 0.7819, 0.9868, 1.235, 1.529",\
                 "0.334, 0.3449, 0.3821, 0.4484, 0.5445, 0.6718, 0.8363, 1.041, 1.289, 1.583",\
                 "0.3602, 0.3732, 0.4172, 0.4941, 0.6032, 0.7439, 0.9172, 1.124, 1.372, 1.665",\
                 "0.3529, 0.3691, 0.4225, 0.515, 0.6425, 0.8033, 0.9959, 1.223, 1.484, 1.782",\
                 "0.3035, 0.3228, 0.3872, 0.498, 0.6497, 0.8377, 1.056, 1.307, 1.592, 1.914",\
                 "0.2098, 0.2318, 0.3061, 0.4361, 0.6144, 0.8331, 1.085, 1.368, 1.682, 2.031",\
                 "0.0696, 0.0952, 0.1798, 0.3276, 0.5323, 0.7834, 1.071, 1.393, 1.745, 2.127",\
                 "-0.1189, -0.0908, 0.0048, 0.1706, 0.4003, 0.6833, 1.01, 1.373, 1.766, 2.19");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7336, 0.7645, 0.8724, 1.076, 1.391, 1.83, 2.405, 3.129, 4.011, 5.062",\
                 "0.7428, 0.7736, 0.882, 1.086, 1.401, 1.84, 2.416, 3.14, 4.022, 5.073",\
                 "0.7716, 0.8026, 0.9115, 1.117, 1.433, 1.874, 2.451, 3.175, 4.058, 5.109",\
                 "0.823, 0.8537, 0.9613, 1.165, 1.481, 1.921, 2.497, 3.222, 4.105, 5.156",\
                 "0.9269, 0.9577, 1.063, 1.262, 1.57, 2.004, 2.575, 3.296, 4.176, 5.224",\
                 "1.094, 1.125, 1.23, 1.429, 1.733, 2.157, 2.716, 3.426, 4.296, 5.338",\
                 "1.335, 1.365, 1.47, 1.667, 1.97, 2.393, 2.94, 3.635, 4.491, 5.518",\
                 "1.635, 1.668, 1.777, 1.978, 2.281, 2.7, 3.25, 3.935, 4.773, 5.784",\
                 "1.987, 2.022, 2.142, 2.355, 2.666, 3.086, 3.633, 4.32, 5.153, 6.144",\
                 "2.387, 2.426, 2.556, 2.787, 3.118, 3.548, 4.096, 4.781, 5.617, 6.606");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.263, 0.279, 0.3341, 0.4352, 0.5876, 0.7974, 1.072, 1.415, 1.834, 2.333",\
                 "0.2627, 0.2786, 0.3345, 0.4348, 0.5879, 0.7978, 1.072, 1.415, 1.835, 2.332",\
                 "0.2605, 0.2767, 0.3312, 0.4332, 0.5871, 0.7969, 1.072, 1.414, 1.833, 2.333",\
                 "0.312, 0.3265, 0.375, 0.4634, 0.601, 0.8004, 1.07, 1.415, 1.834, 2.333",\
                 "0.4114, 0.4254, 0.4726, 0.5608, 0.6946, 0.8788, 1.12, 1.438, 1.84, 2.333",\
                 "0.553, 0.5676, 0.617, 0.7066, 0.8392, 1.021, 1.259, 1.56, 1.926, 2.382",\
                 "0.7284, 0.745, 0.8012, 0.8972, 1.034, 1.217, 1.451, 1.748, 2.112, 2.546",\
                 "0.9374, 0.9556, 1.017, 1.126, 1.272, 1.465, 1.7, 1.993, 2.352, 2.782",\
                 "1.181, 1.202, 1.269, 1.386, 1.553, 1.758, 2.005, 2.301, 2.657, 3.08",\
                 "1.466, 1.487, 1.563, 1.692, 1.868, 2.091, 2.354, 2.664, 3.023, 3.444");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.97, 8.803",\
                 "1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.431, 6.971, 8.803",\
                 "1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.97, 8.802",\
                 "1.204, 1.26, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.97, 8.807",\
                 "1.249, 1.302, 1.486, 1.838, 2.386, 3.158, 4.166, 5.43, 6.97, 8.805",\
                 "1.338, 1.388, 1.567, 1.905, 2.432, 3.176, 4.168, 5.431, 6.971, 8.807",\
                 "1.459, 1.508, 1.677, 2.009, 2.525, 3.248, 4.21, 5.441, 6.972, 8.804",\
                 "1.639, 1.684, 1.841, 2.151, 2.653, 3.366, 4.306, 5.506, 6.999, 8.81",\
                 "1.878, 1.92, 2.065, 2.354, 2.824, 3.515, 4.447, 5.629, 7.088, 8.861",\
                 "2.157, 2.197, 2.343, 2.62, 3.061, 3.717, 4.622, 5.796, 7.237, 8.975");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2204, 0.23, 0.2629, 0.3237, 0.4155, 0.5411, 0.7039, 0.9071, 1.154, 1.447",\
                 "0.2332, 0.2428, 0.2755, 0.3364, 0.4282, 0.5538, 0.7166, 0.9198, 1.167, 1.46",\
                 "0.2701, 0.2797, 0.3123, 0.3727, 0.4643, 0.5899, 0.7527, 0.956, 1.203, 1.496",\
                 "0.3092, 0.3203, 0.3568, 0.4229, 0.5184, 0.6444, 0.8069, 1.01, 1.257, 1.55",\
                 "0.3246, 0.3383, 0.3834, 0.4614, 0.5717, 0.7127, 0.8861, 1.093, 1.339, 1.632",\
                 "0.3037, 0.3205, 0.3762, 0.4719, 0.6035, 0.7662, 0.9607, 1.188, 1.45, 1.749",\
                 "0.2395, 0.2599, 0.327, 0.443, 0.6006, 0.7925, 1.015, 1.268, 1.555, 1.878",\
                 "0.1308, 0.1543, 0.2332, 0.3697, 0.5545, 0.7794, 1.037, 1.324, 1.641, 1.991",\
                 "-0.0229, 0.0041, 0.094, 0.2489, 0.4606, 0.72, 1.015, 1.342, 1.698, 2.083",\
                 "-0.2251, -0.1948, -0.0944, 0.0808, 0.3191, 0.6106, 0.9452, 1.314, 1.714, 2.141");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7338, 0.7645, 0.8725, 1.076, 1.391, 1.83, 2.405, 3.129, 4.011, 5.06",\
                 "0.7426, 0.774, 0.8818, 1.086, 1.401, 1.84, 2.416, 3.14, 4.022, 5.071",\
                 "0.7715, 0.8027, 0.9117, 1.117, 1.433, 1.874, 2.451, 3.175, 4.058, 5.108",\
                 "0.823, 0.8538, 0.9614, 1.165, 1.481, 1.921, 2.497, 3.222, 4.104, 5.154",\
                 "0.9266, 0.957, 1.063, 1.262, 1.57, 2.004, 2.575, 3.296, 4.175, 5.223",\
                 "1.094, 1.125, 1.23, 1.429, 1.734, 2.156, 2.716, 3.426, 4.295, 5.336",\
                 "1.335, 1.365, 1.47, 1.667, 1.97, 2.392, 2.94, 3.634, 4.489, 5.517",\
                 "1.635, 1.668, 1.777, 1.978, 2.281, 2.701, 3.25, 3.935, 4.773, 5.781",\
                 "1.987, 2.022, 2.142, 2.355, 2.666, 3.086, 3.633, 4.319, 5.152, 6.141",\
                 "2.388, 2.426, 2.556, 2.787, 3.118, 3.548, 4.096, 4.781, 5.615, 6.603");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2315, 0.2472, 0.3005, 0.4, 0.5504, 0.759, 1.032, 1.376, 1.795, 2.293",\
                 "0.2315, 0.2468, 0.3007, 0.3997, 0.5504, 0.7594, 1.033, 1.376, 1.795, 2.293",\
                 "0.2325, 0.2476, 0.2995, 0.3983, 0.5497, 0.759, 1.032, 1.377, 1.795, 2.293",\
                 "0.2894, 0.3033, 0.3501, 0.4371, 0.5706, 0.7667, 1.033, 1.376, 1.795, 2.293",\
                 "0.3936, 0.4074, 0.453, 0.5388, 0.6692, 0.8514, 1.09, 1.404, 1.803, 2.293",\
                 "0.539, 0.5536, 0.602, 0.6882, 0.8182, 0.9958, 1.232, 1.53, 1.896, 2.348",\
                 "0.7184, 0.734, 0.7898, 0.8836, 1.018, 1.198, 1.429, 1.722, 2.084, 2.516",\
                 "0.9336, 0.9526, 1.01, 1.114, 1.261, 1.449, 1.683, 1.972, 2.326, 2.754",\
                 "1.186, 1.205, 1.271, 1.385, 1.543, 1.744, 1.991, 2.282, 2.636, 3.056",\
                 "1.472, 1.494, 1.567, 1.69, 1.865, 2.079, 2.341, 2.648, 3.005, 3.423");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.083, 1.136, 1.321, 1.673, 2.219, 2.983, 3.984, 5.248, 6.785, 8.617",\
                 "1.083, 1.136, 1.321, 1.673, 2.219, 2.982, 3.986, 5.247, 6.785, 8.614",\
                 "1.083, 1.136, 1.321, 1.673, 2.219, 2.983, 3.986, 5.245, 6.785, 8.614",\
                 "1.085, 1.137, 1.322, 1.673, 2.219, 2.983, 3.985, 5.247, 6.783, 8.618",\
                 "1.129, 1.178, 1.352, 1.688, 2.221, 2.983, 3.986, 5.248, 6.786, 8.619",\
                 "1.205, 1.256, 1.427, 1.754, 2.267, 3, 3.987, 5.248, 6.785, 8.617",\
                 "1.316, 1.363, 1.528, 1.851, 2.358, 3.073, 4.028, 5.258, 6.786, 8.617",\
                 "1.481, 1.525, 1.679, 1.982, 2.478, 3.187, 4.125, 5.323, 6.814, 8.624",\
                 "1.694, 1.737, 1.888, 2.176, 2.642, 3.33, 4.264, 5.445, 6.902, 8.672",\
                 "1.938, 1.983, 2.138, 2.427, 2.871, 3.528, 4.434, 5.608, 7.05, 8.787");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1743, 0.1817, 0.2069, 0.2535, 0.3232, 0.4184, 0.5415, 0.695, 0.8812, 1.102",\
                 "0.1879, 0.1953, 0.2205, 0.2668, 0.3366, 0.4319, 0.5549, 0.7085, 0.8947, 1.115",\
                 "0.2349, 0.2423, 0.2672, 0.3131, 0.3823, 0.4775, 0.6006, 0.7542, 0.9402, 1.161",\
                 "0.2844, 0.2945, 0.3273, 0.3841, 0.463, 0.5624, 0.6857, 0.8392, 1.025, 1.246",\
                 "0.3032, 0.3161, 0.3588, 0.4323, 0.5333, 0.6578, 0.8035, 0.9698, 1.159, 1.38",\
                 "0.2836, 0.2996, 0.3533, 0.4456, 0.5712, 0.7243, 0.9016, 1.101, 1.321, 1.561",\
                 "0.2203, 0.2399, 0.3051, 0.4171, 0.5694, 0.7542, 0.9661, 1.201, 1.459, 1.738",\
                 "0.1136, 0.1362, 0.2115, 0.343, 0.5227, 0.741, 0.9899, 1.265, 1.562, 1.882",\
                 "-0.0394, -0.0136, 0.0722, 0.222, 0.4275, 0.68, 0.9674, 1.284, 1.626, 1.99",\
                 "-0.2409, -0.2119, -0.1157, 0.0522, 0.284, 0.5683, 0.8954, 1.254, 1.641, 2.054");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7952, 0.8256, 0.9319, 1.134, 1.447, 1.885, 2.459, 3.182, 4.063, 5.112",\
                 "0.8048, 0.8354, 0.9422, 1.145, 1.459, 1.897, 2.472, 3.195, 4.076, 5.126",\
                 "0.8334, 0.8642, 0.9716, 1.175, 1.49, 1.93, 2.506, 3.231, 4.113, 5.163",\
                 "0.8845, 0.9146, 1.021, 1.223, 1.537, 1.976, 2.552, 3.277, 4.159, 5.209",\
                 "0.9902, 1.019, 1.123, 1.321, 1.628, 2.06, 2.631, 3.351, 4.23, 5.277",\
                 "1.159, 1.19, 1.294, 1.492, 1.795, 2.216, 2.775, 3.484, 4.354, 5.393",\
                 "1.402, 1.432, 1.537, 1.733, 2.036, 2.457, 3.004, 3.698, 4.553, 5.579",\
                 "1.711, 1.743, 1.85, 2.048, 2.351, 2.772, 3.321, 4.005, 4.843, 5.852",\
                 "2.074, 2.107, 2.223, 2.432, 2.74, 3.161, 3.71, 4.399, 5.231, 6.221",\
                 "2.486, 2.523, 2.65, 2.874, 3.2, 3.628, 4.179, 4.868, 5.703, 6.693");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1933, 0.2049, 0.2454, 0.3202, 0.434, 0.5916, 0.7966, 1.056, 1.371, 1.746",\
                 "0.193, 0.2046, 0.2449, 0.3193, 0.433, 0.5907, 0.7965, 1.056, 1.372, 1.747",\
                 "0.2038, 0.2135, 0.2487, 0.3197, 0.4328, 0.5906, 0.7964, 1.056, 1.371, 1.746",\
                 "0.3, 0.3089, 0.3405, 0.3978, 0.4854, 0.615, 0.8038, 1.055, 1.371, 1.746",\
                 "0.4303, 0.4403, 0.4754, 0.5396, 0.6344, 0.7614, 0.9206, 1.127, 1.402, 1.753",\
                 "0.593, 0.604, 0.6446, 0.7158, 0.8182, 0.9562, 1.128, 1.337, 1.581, 1.879",\
                 "0.7878, 0.8008, 0.8444, 0.9252, 1.041, 1.189, 1.374, 1.596, 1.857, 2.157",\
                 "1.018, 1.033, 1.082, 1.17, 1.297, 1.46, 1.66, 1.896, 2.173, 2.489",\
                 "1.284, 1.301, 1.351, 1.448, 1.59, 1.767, 1.986, 2.24, 2.53, 2.864",\
                 "1.587, 1.604, 1.664, 1.768, 1.924, 2.116, 2.351, 2.627, 2.937, 3.285");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.154, 1.208, 1.394, 1.747, 2.294, 3.058, 4.061, 5.322, 6.859, 8.691",\
                 "1.154, 1.208, 1.394, 1.747, 2.294, 3.058, 4.061, 5.323, 6.861, 8.69",\
                 "1.155, 1.208, 1.394, 1.747, 2.294, 3.058, 4.061, 5.322, 6.86, 8.69",\
                 "1.156, 1.208, 1.394, 1.747, 2.294, 3.058, 4.06, 5.322, 6.859, 8.694",\
                 "1.193, 1.243, 1.419, 1.758, 2.296, 3.057, 4.061, 5.322, 6.862, 8.693",\
                 "1.267, 1.317, 1.491, 1.82, 2.336, 3.072, 4.063, 5.322, 6.86, 8.693",\
                 "1.364, 1.413, 1.585, 1.912, 2.423, 3.139, 4.099, 5.331, 6.861, 8.695",\
                 "1.516, 1.56, 1.721, 2.032, 2.536, 3.252, 4.192, 5.393, 6.886, 8.698",\
                 "1.721, 1.764, 1.917, 2.21, 2.687, 3.385, 4.327, 5.509, 6.972, 8.742",\
                 "1.96, 2.006, 2.16, 2.448, 2.903, 3.569, 4.487, 5.669, 7.114, 8.854");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1865, 0.1962, 0.2292, 0.29, 0.3814, 0.5067, 0.6691, 0.872, 1.118, 1.411",\
                 "0.1995, 0.2092, 0.2421, 0.3027, 0.3942, 0.5194, 0.6818, 0.8847, 1.131, 1.424",\
                 "0.2365, 0.2462, 0.2789, 0.3391, 0.4303, 0.5555, 0.7179, 0.9209, 1.167, 1.46",\
                 "0.2676, 0.2792, 0.3181, 0.386, 0.4831, 0.6099, 0.7722, 0.975, 1.222, 1.514",\
                 "0.2699, 0.285, 0.3338, 0.4168, 0.5307, 0.6743, 0.8495, 1.057, 1.304, 1.596",\
                 "0.233, 0.2518, 0.3132, 0.4163, 0.5544, 0.7222, 0.9197, 1.149, 1.413, 1.713",\
                 "0.1535, 0.1757, 0.25, 0.3747, 0.5413, 0.7407, 0.9688, 1.225, 1.514, 1.839",\
                 "0.0297, 0.0563, 0.1426, 0.2888, 0.4845, 0.7181, 0.9829, 1.275, 1.596, 1.949",\
                 "-0.1392, -0.1093, -0.0105, 0.1564, 0.3803, 0.6492, 0.9538, 1.287, 1.649, 2.037",\
                 "-0.3539, -0.321, -0.2117, -0.0245, 0.2274, 0.5303, 0.8751, 1.252, 1.658, 2.091");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.7199, 0.7511, 0.8586, 1.062, 1.376, 1.813, 2.387, 3.108, 3.987, 5.034",\
                 "0.7289, 0.7601, 0.8684, 1.072, 1.386, 1.824, 2.397, 3.119, 3.998, 5.045",\
                 "0.7578, 0.7891, 0.898, 1.103, 1.418, 1.857, 2.432, 3.154, 4.034, 5.082",\
                 "0.809, 0.8398, 0.9475, 1.151, 1.466, 1.904, 2.478, 3.201, 4.08, 5.129",\
                 "0.9123, 0.9426, 1.049, 1.247, 1.555, 1.987, 2.556, 3.274, 4.152, 5.197",\
                 "1.079, 1.109, 1.215, 1.414, 1.718, 2.139, 2.697, 3.405, 4.271, 5.31",\
                 "1.317, 1.348, 1.454, 1.651, 1.955, 2.375, 2.921, 3.612, 4.465, 5.491",\
                 "1.615, 1.648, 1.76, 1.961, 2.263, 2.682, 3.23, 3.913, 4.747, 5.757",\
                 "1.963, 1.999, 2.12, 2.336, 2.647, 3.066, 3.612, 4.297, 5.127, 6.116",\
                 "2.36, 2.399, 2.531, 2.764, 3.096, 3.528, 4.074, 4.757, 5.589, 6.577");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1973, 0.2128, 0.2655, 0.3638, 0.5147, 0.7223, 0.9948, 1.339, 1.757, 2.255",\
                 "0.1964, 0.2119, 0.265, 0.3634, 0.5139, 0.7229, 0.9955, 1.338, 1.756, 2.255",\
                 "0.2037, 0.2174, 0.267, 0.3631, 0.5139, 0.7226, 0.9947, 1.338, 1.758, 2.255",\
                 "0.2691, 0.2823, 0.3264, 0.4109, 0.5408, 0.7323, 0.9969, 1.338, 1.756, 2.255",\
                 "0.3795, 0.3919, 0.4364, 0.5174, 0.6442, 0.8242, 1.06, 1.37, 1.767, 2.255",\
                 "0.529, 0.5426, 0.59, 0.6734, 0.7996, 0.9732, 1.205, 1.502, 1.865, 2.313",\
                 "0.7142, 0.7292, 0.7802, 0.8724, 1.003, 1.179, 1.406, 1.697, 2.056, 2.487",\
                 "0.9368, 0.954, 1.008, 1.108, 1.25, 1.436, 1.665, 1.95, 2.303, 2.728",\
                 "1.195, 1.212, 1.272, 1.38, 1.535, 1.732, 1.976, 2.266, 2.613, 3.031",\
                 "1.482, 1.503, 1.572, 1.69, 1.856, 2.072, 2.327, 2.633, 2.988, 3.404");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.8987, 0.953, 1.14, 1.494, 2.04, 2.805, 3.807, 5.069, 6.609, 8.438",\
                 "0.8988, 0.9521, 1.14, 1.492, 2.04, 2.805, 3.807, 5.069, 6.609, 8.438",\
                 "0.8985, 0.9519, 1.139, 1.494, 2.04, 2.804, 3.807, 5.067, 6.607, 8.438",\
                 "0.9008, 0.954, 1.139, 1.493, 2.04, 2.805, 3.807, 5.072, 6.607, 8.44",\
                 "0.9438, 0.994, 1.17, 1.508, 2.043, 2.804, 3.808, 5.068, 6.609, 8.44",\
                 "1.013, 1.065, 1.241, 1.573, 2.087, 2.822, 3.809, 5.069, 6.608, 8.441",\
                 "1.115, 1.163, 1.333, 1.662, 2.177, 2.894, 3.85, 5.079, 6.608, 8.441",\
                 "1.268, 1.314, 1.477, 1.788, 2.291, 3.006, 3.948, 5.147, 6.635, 8.444",\
                 "1.462, 1.508, 1.673, 1.975, 2.449, 3.143, 4.082, 5.269, 6.725, 8.496",\
                 "1.678, 1.729, 1.903, 2.211, 2.672, 3.336, 4.246, 5.428, 6.872, 8.609");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1499, 0.1575, 0.1825, 0.2285, 0.2979, 0.393, 0.5157, 0.6689, 0.8547, 1.075",\
                 "0.1638, 0.1712, 0.1959, 0.2421, 0.3114, 0.4063, 0.5291, 0.6823, 0.8683, 1.089",\
                 "0.209, 0.2168, 0.2426, 0.2884, 0.3573, 0.4519, 0.5749, 0.7278, 0.9139, 1.134",\
                 "0.2465, 0.2571, 0.2925, 0.3527, 0.4347, 0.5363, 0.6598, 0.8128, 0.9988, 1.22",\
                 "0.2507, 0.2651, 0.3118, 0.3905, 0.4963, 0.6248, 0.7736, 0.9421, 1.132, 1.353",\
                 "0.2154, 0.2334, 0.2925, 0.3918, 0.5242, 0.6834, 0.865, 1.067, 1.29, 1.533",\
                 "0.1374, 0.1591, 0.2297, 0.3506, 0.5118, 0.7042, 0.9223, 1.162, 1.423, 1.705",\
                 "0.0163, 0.0412, 0.1236, 0.2643, 0.4541, 0.6815, 0.938, 1.219, 1.521, 1.845",\
                 "-0.1504, -0.1223, -0.0287, 0.1317, 0.3485, 0.611, 0.9077, 1.23, 1.578, 1.948",\
                 "-0.3638, -0.3327, -0.2295, -0.0494, 0.1946, 0.4897, 0.8263, 1.194, 1.588, 2.005");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.782, 0.8124, 0.9185, 1.12, 1.432, 1.868, 2.44, 3.161, 4.04, 5.086",\
                 "0.7917, 0.8222, 0.9289, 1.131, 1.444, 1.88, 2.453, 3.174, 4.053, 5.099",\
                 "0.8204, 0.8509, 0.9583, 1.161, 1.475, 1.913, 2.488, 3.209, 4.089, 5.137",\
                 "0.8712, 0.9016, 1.008, 1.209, 1.522, 1.959, 2.533, 3.255, 4.135, 5.183",\
                 "0.9762, 1.006, 1.11, 1.307, 1.613, 2.044, 2.612, 3.33, 4.206, 5.252",\
                 "1.145, 1.175, 1.28, 1.478, 1.78, 2.199, 2.756, 3.463, 4.331, 5.369",\
                 "1.387, 1.417, 1.521, 1.717, 2.02, 2.439, 2.985, 3.677, 4.529, 5.554",\
                 "1.693, 1.725, 1.833, 2.032, 2.333, 2.753, 3.301, 3.983, 4.818, 5.826",\
                 "2.052, 2.087, 2.203, 2.414, 2.723, 3.142, 3.689, 4.376, 5.206, 6.194",\
                 "2.461, 2.499, 2.626, 2.853, 3.18, 3.608, 4.157, 4.844, 5.677, 6.667");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1668, 0.1783, 0.2183, 0.2929, 0.4063, 0.5637, 0.7692, 1.027, 1.342, 1.716",\
                 "0.1664, 0.1778, 0.2178, 0.2924, 0.4063, 0.5636, 0.7688, 1.027, 1.342, 1.717",\
                 "0.1881, 0.1968, 0.2288, 0.2952, 0.4052, 0.562, 0.7681, 1.027, 1.342, 1.716",\
                 "0.289, 0.2978, 0.328, 0.3846, 0.4695, 0.5946, 0.778, 1.028, 1.341, 1.716",\
                 "0.4233, 0.4326, 0.4656, 0.5278, 0.6208, 0.746, 0.9052, 1.107, 1.378, 1.726",\
                 "0.5904, 0.6002, 0.6368, 0.7058, 0.8064, 0.942, 1.113, 1.321, 1.564, 1.859",\
                 "0.7908, 0.8024, 0.8424, 0.9186, 1.029, 1.177, 1.361, 1.581, 1.84, 2.14",\
                 "1.029, 1.04, 1.085, 1.166, 1.287, 1.45, 1.649, 1.882, 2.157, 2.474",\
                 "1.302, 1.315, 1.364, 1.452, 1.584, 1.761, 1.975, 2.226, 2.517, 2.849",\
                 "1.605, 1.621, 1.677, 1.774, 1.918, 2.11, 2.345, 2.616, 2.923, 3.27");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.9751, 1.029, 1.216, 1.569, 2.116, 2.88, 3.882, 5.145, 6.684, 8.514",\
                 "0.9741, 1.029, 1.216, 1.569, 2.116, 2.879, 3.882, 5.145, 6.684, 8.512",\
                 "0.9746, 1.029, 1.215, 1.569, 2.116, 2.88, 3.882, 5.145, 6.683, 8.515",\
                 "0.9762, 1.03, 1.215, 1.569, 2.115, 2.88, 3.883, 5.145, 6.681, 8.517",\
                 "1.013, 1.063, 1.24, 1.581, 2.118, 2.88, 3.885, 5.145, 6.683, 8.517",\
                 "1.08, 1.13, 1.309, 1.641, 2.158, 2.894, 3.885, 5.145, 6.685, 8.518",\
                 "1.17, 1.22, 1.392, 1.728, 2.244, 2.962, 3.921, 5.153, 6.683, 8.517",\
                 "1.313, 1.36, 1.523, 1.842, 2.349, 3.071, 4.013, 5.215, 6.707, 8.519",\
                 "1.499, 1.547, 1.71, 2.014, 2.496, 3.199, 4.145, 5.332, 6.794, 8.565",\
                 "1.716, 1.764, 1.933, 2.24, 2.707, 3.377, 4.302, 5.487, 6.936, 8.675");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.15, 0.1575, 0.1825, 0.2286, 0.298, 0.3931, 0.5158, 0.6692, 0.8552, 1.076",\
                 "0.1638, 0.1713, 0.1963, 0.2422, 0.3115, 0.4064, 0.5294, 0.6825, 0.8686, 1.089",\
                 "0.2091, 0.2169, 0.2426, 0.2885, 0.3574, 0.452, 0.5751, 0.7281, 0.9141, 1.135",\
                 "0.2464, 0.2572, 0.2926, 0.3528, 0.4347, 0.5364, 0.6599, 0.8131, 0.9991, 1.22",\
                 "0.2507, 0.2651, 0.3118, 0.3906, 0.4963, 0.6249, 0.7737, 0.9423, 1.132, 1.353",\
                 "0.2154, 0.2335, 0.2926, 0.3918, 0.5243, 0.6834, 0.8651, 1.068, 1.29, 1.533",\
                 "0.1375, 0.1591, 0.2298, 0.3506, 0.5119, 0.7043, 0.9224, 1.162, 1.423, 1.705",\
                 "0.0163, 0.0412, 0.1237, 0.2644, 0.4543, 0.6815, 0.9381, 1.219, 1.521, 1.845",\
                 "-0.1503, -0.1222, -0.0287, 0.1318, 0.3485, 0.6111, 0.9078, 1.231, 1.578, 1.948",\
                 "-0.3638, -0.3327, -0.2295, -0.0494, 0.1947, 0.4898, 0.8264, 1.194, 1.588, 2.005");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.782, 0.8124, 0.9185, 1.12, 1.432, 1.868, 2.441, 3.161, 4.039, 5.087",\
                 "0.7917, 0.8222, 0.9289, 1.131, 1.444, 1.88, 2.453, 3.174, 4.053, 5.099",\
                 "0.8203, 0.851, 0.9582, 1.161, 1.475, 1.913, 2.488, 3.21, 4.089, 5.137",\
                 "0.8713, 0.9018, 1.008, 1.21, 1.522, 1.959, 2.533, 3.255, 4.134, 5.183",\
                 "0.9762, 1.006, 1.11, 1.307, 1.613, 2.044, 2.612, 3.33, 4.206, 5.252",\
                 "1.145, 1.175, 1.28, 1.477, 1.779, 2.199, 2.756, 3.463, 4.331, 5.368",\
                 "1.387, 1.417, 1.521, 1.717, 2.02, 2.44, 2.985, 3.677, 4.529, 5.554",\
                 "1.693, 1.725, 1.833, 2.032, 2.333, 2.753, 3.301, 3.983, 4.819, 5.825",\
                 "2.052, 2.087, 2.203, 2.414, 2.722, 3.142, 3.689, 4.376, 5.206, 6.195",\
                 "2.461, 2.498, 2.626, 2.853, 3.18, 3.608, 4.157, 4.844, 5.678, 6.666");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1669, 0.1784, 0.2184, 0.2931, 0.4065, 0.564, 0.7694, 1.027, 1.343, 1.717",\
                 "0.1664, 0.1778, 0.218, 0.2925, 0.4065, 0.5639, 0.7692, 1.028, 1.342, 1.717",\
                 "0.1881, 0.1968, 0.229, 0.2948, 0.4057, 0.5626, 0.7688, 1.028, 1.343, 1.718",\
                 "0.2893, 0.2979, 0.3279, 0.3846, 0.4696, 0.5946, 0.7777, 1.028, 1.342, 1.717",\
                 "0.4238, 0.4334, 0.4655, 0.5278, 0.6208, 0.7468, 0.9046, 1.107, 1.377, 1.727",\
                 "0.5902, 0.6, 0.6366, 0.7058, 0.806, 0.9422, 1.113, 1.321, 1.565, 1.859",\
                 "0.7908, 0.8024, 0.8422, 0.9188, 1.029, 1.178, 1.361, 1.581, 1.84, 2.14",\
                 "1.029, 1.04, 1.085, 1.166, 1.289, 1.451, 1.649, 1.883, 2.157, 2.475",\
                 "1.302, 1.315, 1.364, 1.452, 1.583, 1.761, 1.975, 2.226, 2.517, 2.849",\
                 "1.605, 1.621, 1.677, 1.774, 1.918, 2.11, 2.345, 2.616, 2.923, 3.27");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.9751, 1.029, 1.216, 1.569, 2.116, 2.879, 3.884, 5.145, 6.682, 8.515",\
                 "0.974, 1.029, 1.216, 1.569, 2.116, 2.88, 3.883, 5.145, 6.684, 8.512",\
                 "0.9748, 1.029, 1.216, 1.569, 2.116, 2.88, 3.885, 5.147, 6.683, 8.515",\
                 "0.9764, 1.029, 1.215, 1.57, 2.116, 2.88, 3.883, 5.145, 6.683, 8.516",\
                 "1.013, 1.064, 1.24, 1.581, 2.118, 2.881, 3.885, 5.145, 6.683, 8.517",\
                 "1.08, 1.131, 1.309, 1.642, 2.158, 2.895, 3.884, 5.145, 6.685, 8.517",\
                 "1.17, 1.219, 1.393, 1.726, 2.244, 2.962, 3.922, 5.153, 6.684, 8.517",\
                 "1.313, 1.36, 1.524, 1.843, 2.349, 3.072, 4.013, 5.215, 6.707, 8.519",\
                 "1.5, 1.547, 1.709, 2.013, 2.496, 3.199, 4.145, 5.332, 6.794, 8.565",\
                 "1.715, 1.766, 1.933, 2.24, 2.707, 3.378, 4.301, 5.487, 6.937, 8.676");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1413, 0.1481, 0.1714, 0.2142, 0.2784, 0.3665, 0.4803, 0.6222, 0.7944, 0.9986",\
                 "0.1553, 0.1618, 0.1851, 0.2277, 0.2923, 0.3803, 0.4937, 0.6358, 0.8077, 1.012",\
                 "0.2032, 0.2106, 0.2348, 0.2775, 0.3414, 0.429, 0.5427, 0.6846, 0.8567, 1.061",\
                 "0.2428, 0.2533, 0.2876, 0.346, 0.4253, 0.5222, 0.6372, 0.7786, 0.9509, 1.155",\
                 "0.2494, 0.2631, 0.3086, 0.3856, 0.4891, 0.6149, 0.7594, 0.9208, 1.099, 1.303",\
                 "0.2165, 0.2339, 0.291, 0.3881, 0.5183, 0.6747, 0.8534, 1.052, 1.268, 1.5",\
                 "0.1414, 0.162, 0.2307, 0.3486, 0.5067, 0.6964, 0.9115, 1.148, 1.404, 1.68",\
                 "0.0234, 0.0472, 0.1266, 0.2635, 0.45, 0.6742, 0.9273, 1.205, 1.503, 1.822",\
                 "-0.1407, -0.1137, -0.0234, 0.1328, 0.3451, 0.6038, 0.8969, 1.216, 1.56, 1.925",\
                 "-0.3515, -0.3219, -0.2218, -0.0471, 0.1922, 0.483, 0.8157, 1.179, 1.569, 1.982");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.837, 0.8669, 0.9723, 1.173, 1.484, 1.92, 2.492, 3.212, 4.09, 5.137",\
                 "0.8467, 0.8773, 0.9831, 1.185, 1.497, 1.933, 2.505, 3.226, 4.105, 5.151",\
                 "0.8752, 0.9056, 1.012, 1.215, 1.528, 1.966, 2.539, 3.262, 4.141, 5.189",\
                 "0.9255, 0.9558, 1.062, 1.262, 1.575, 2.011, 2.585, 3.306, 4.186, 5.235",\
                 "1.03, 1.06, 1.164, 1.359, 1.665, 2.096, 2.665, 3.382, 4.259, 5.304",\
                 "1.201, 1.23, 1.335, 1.531, 1.831, 2.252, 2.809, 3.515, 4.383, 5.421",\
                 "1.443, 1.473, 1.576, 1.772, 2.074, 2.494, 3.038, 3.731, 4.583, 5.609",\
                 "1.753, 1.785, 1.89, 2.088, 2.389, 2.808, 3.356, 4.039, 4.874, 5.883",\
                 "2.119, 2.153, 2.266, 2.473, 2.78, 3.199, 3.747, 4.433, 5.264, 6.254",\
                 "2.535, 2.572, 2.695, 2.917, 3.24, 3.668, 4.217, 4.904, 5.739, 6.728");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.1748, 0.1852, 0.2211, 0.2887, 0.3924, 0.5358, 0.7243, 0.9608, 1.251, 1.593",\
                 "0.1741, 0.1843, 0.2205, 0.2883, 0.3922, 0.5357, 0.7246, 0.9609, 1.25, 1.593",\
                 "0.2007, 0.208, 0.2348, 0.2926, 0.3918, 0.5354, 0.7239, 0.9611, 1.25, 1.594",\
                 "0.3142, 0.3217, 0.3474, 0.3968, 0.4707, 0.5778, 0.739, 0.963, 1.249, 1.594",\
                 "0.4578, 0.4654, 0.4949, 0.5502, 0.635, 0.7486, 0.8896, 1.064, 1.301, 1.609",\
                 "0.6338, 0.6422, 0.6742, 0.7366, 0.8296, 0.9566, 1.114, 1.305, 1.521, 1.776",\
                 "0.845, 0.8544, 0.8888, 0.9558, 1.061, 1.199, 1.37, 1.579, 1.82, 2.09",\
                 "1.094, 1.105, 1.139, 1.214, 1.326, 1.478, 1.668, 1.889, 2.149, 2.446",\
                 "1.377, 1.389, 1.43, 1.507, 1.63, 1.797, 2, 2.241, 2.518, 2.834",\
                 "1.695, 1.707, 1.753, 1.841, 1.971, 2.152, 2.377, 2.635, 2.934, 3.266");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.048, 1.1, 1.287, 1.64, 2.188, 2.952, 3.956, 5.218, 6.756, 8.585",\
                 "1.047, 1.102, 1.287, 1.64, 2.188, 2.951, 3.956, 5.218, 6.758, 8.586",\
                 "1.047, 1.101, 1.288, 1.641, 2.188, 2.953, 3.955, 5.219, 6.755, 8.587",\
                 "1.048, 1.101, 1.288, 1.642, 2.189, 2.951, 3.956, 5.217, 6.755, 8.588",\
                 "1.08, 1.13, 1.308, 1.649, 2.189, 2.952, 3.957, 5.218, 6.758, 8.59",\
                 "1.147, 1.198, 1.376, 1.707, 2.226, 2.965, 3.956, 5.218, 6.757, 8.59",\
                 "1.231, 1.28, 1.456, 1.793, 2.31, 3.029, 3.99, 5.224, 6.756, 8.59",\
                 "1.365, 1.413, 1.579, 1.9, 2.412, 3.136, 4.079, 5.282, 6.778, 8.593",\
                 "1.55, 1.598, 1.757, 2.068, 2.553, 3.262, 4.21, 5.397, 6.862, 8.635",\
                 "1.764, 1.816, 1.981, 2.285, 2.753, 3.432, 4.362, 5.55, 7.001, 8.741");
        }
      }

      timing() {
        related_pin : "B3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.2381, 0.2481, 0.2828, 0.3462, 0.4402, 0.5682, 0.733, 0.9379, 1.186, 1.48",\
                 "0.2508, 0.261, 0.2957, 0.3588, 0.453, 0.5811, 0.7458, 0.9506, 1.199, 1.493",\
                 "0.2882, 0.298, 0.3322, 0.395, 0.4891, 0.617, 0.7819, 0.9868, 1.235, 1.529",\
                 "0.334, 0.3449, 0.3821, 0.4484, 0.5445, 0.6718, 0.8363, 1.041, 1.289, 1.583",\
                 "0.3602, 0.3732, 0.4172, 0.4941, 0.6032, 0.7439, 0.9172, 1.124, 1.372, 1.665",\
                 "0.3529, 0.3691, 0.4225, 0.515, 0.6425, 0.8033, 0.9959, 1.223, 1.484, 1.782",\
                 "0.3035, 0.3228, 0.3872, 0.498, 0.6497, 0.8377, 1.056, 1.307, 1.592, 1.914",\
                 "0.2098, 0.2318, 0.3061, 0.4361, 0.6144, 0.8331, 1.085, 1.368, 1.682, 2.031",\
                 "0.0696, 0.0952, 0.1798, 0.3276, 0.5323, 0.7834, 1.071, 1.393, 1.745, 2.127",\
                 "-0.1189, -0.0908, 0.0048, 0.1706, 0.4003, 0.6833, 1.01, 1.373, 1.766, 2.19");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.837, 0.8669, 0.9723, 1.173, 1.484, 1.92, 2.492, 3.212, 4.09, 5.137",\
                 "0.8467, 0.8773, 0.9831, 1.185, 1.497, 1.933, 2.505, 3.226, 4.105, 5.151",\
                 "0.8752, 0.9056, 1.012, 1.215, 1.528, 1.966, 2.539, 3.262, 4.141, 5.189",\
                 "0.9255, 0.9558, 1.062, 1.262, 1.575, 2.011, 2.585, 3.306, 4.186, 5.235",\
                 "1.03, 1.06, 1.164, 1.359, 1.665, 2.096, 2.665, 3.382, 4.259, 5.304",\
                 "1.201, 1.23, 1.335, 1.531, 1.831, 2.252, 2.809, 3.515, 4.383, 5.421",\
                 "1.443, 1.473, 1.576, 1.772, 2.074, 2.494, 3.038, 3.731, 4.583, 5.609",\
                 "1.753, 1.785, 1.89, 2.088, 2.389, 2.808, 3.356, 4.039, 4.874, 5.883",\
                 "2.119, 2.153, 2.266, 2.473, 2.78, 3.199, 3.747, 4.433, 5.264, 6.254",\
                 "2.535, 2.572, 2.695, 2.917, 3.24, 3.668, 4.217, 4.904, 5.739, 6.728");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("0.263, 0.279, 0.3341, 0.4352, 0.5876, 0.7974, 1.072, 1.415, 1.834, 2.333",\
                 "0.2627, 0.2786, 0.3345, 0.4348, 0.5879, 0.7978, 1.072, 1.415, 1.835, 2.332",\
                 "0.2605, 0.2767, 0.3312, 0.4332, 0.5871, 0.7969, 1.072, 1.414, 1.833, 2.333",\
                 "0.312, 0.3265, 0.375, 0.4634, 0.601, 0.8004, 1.07, 1.415, 1.834, 2.333",\
                 "0.4114, 0.4254, 0.4726, 0.5608, 0.6946, 0.8788, 1.12, 1.438, 1.84, 2.333",\
                 "0.553, 0.5676, 0.617, 0.7066, 0.8392, 1.021, 1.259, 1.56, 1.926, 2.382",\
                 "0.7284, 0.745, 0.8012, 0.8972, 1.034, 1.217, 1.451, 1.748, 2.112, 2.546",\
                 "0.9374, 0.9556, 1.017, 1.126, 1.272, 1.465, 1.7, 1.993, 2.352, 2.782",\
                 "1.181, 1.202, 1.269, 1.386, 1.553, 1.758, 2.005, 2.301, 2.657, 3.08",\
                 "1.466, 1.487, 1.563, 1.692, 1.868, 2.091, 2.354, 2.664, 3.023, 3.444");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002407, 0.007345, 0.01677, 0.03147, 0.05208, 0.0792, 0.1134, 0.1551, 0.2048");
          values("1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.97, 8.803",\
                 "1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.431, 6.971, 8.803",\
                 "1.203, 1.259, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.97, 8.802",\
                 "1.204, 1.26, 1.455, 1.823, 2.384, 3.158, 4.166, 5.43, 6.97, 8.807",\
                 "1.249, 1.302, 1.486, 1.838, 2.386, 3.158, 4.166, 5.43, 6.97, 8.805",\
                 "1.338, 1.388, 1.567, 1.905, 2.432, 3.176, 4.168, 5.431, 6.971, 8.807",\
                 "1.459, 1.508, 1.677, 2.009, 2.525, 3.248, 4.21, 5.441, 6.972, 8.804",\
                 "1.639, 1.684, 1.841, 2.151, 2.653, 3.366, 4.306, 5.506, 6.999, 8.81",\
                 "1.878, 1.92, 2.065, 2.354, 2.824, 3.515, 4.447, 5.629, 7.088, 8.861",\
                 "2.157, 2.197, 2.343, 2.62, 3.061, 3.717, 4.622, 5.796, 7.237, 8.975");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai33_4) {
    area : 111.955200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&!B2&!B3" ;
      value : "0.000153747" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&!B2&B3" ;
      value : "0.0001547106" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&B2&!B3" ;
      value : "0.0001547106" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!B1&B2&B3" ;
      value : "0.0001547106" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&!B2&!B3" ;
      value : "0.0001547106" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&!B2&B3" ;
      value : "0.0001545258" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&B2&!B3" ;
      value : "0.0001545159" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&B1&B2&B3" ;
      value : "0.0001545159" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&!B2&!B3" ;
      value : "0.000347589" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&!B2&B3" ;
      value : "0.00034254" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&B2&!B3" ;
      value : "0.000285681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!B1&B2&B3" ;
      value : "0.000285681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&!B2&!B3" ;
      value : "0.0002280927" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&!B2&B3" ;
      value : "0.0002279079" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&B2&!B3" ;
      value : "0.000227898" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&B1&B2&B3" ;
      value : "0.000227898" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&!B2&!B3" ;
      value : "0.000347589" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&!B2&B3" ;
      value : "0.000285681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&B2&!B3" ;
      value : "0.0002288352" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!B1&B2&B3" ;
      value : "0.0002288352" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&!B2&!B3" ;
      value : "0.0001712436" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&!B2&B3" ;
      value : "0.0001710621" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&B2&!B3" ;
      value : "0.0001710522" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&B1&B2&B3" ;
      value : "0.0001710522" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&!B2&!B3" ;
      value : "0.000349107" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&!B2&B3" ;
      value : "0.000285681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&B2&!B3" ;
      value : "0.0002288352" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!B1&B2&B3" ;
      value : "0.0002288352" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&!B2&!B3" ;
      value : "0.0001712436" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&!B2&B3" ;
      value : "0.0001710621" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&B2&!B3" ;
      value : "0.0001710522" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&B1&B2&B3" ;
      value : "0.0001710522" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&!B2&!B3" ;
      value : "0.000347589" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&!B2&B3" ;
      value : "0.0002282247" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&B2&!B3" ;
      value : "0.0001713789" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!B1&B2&B3" ;
      value : "0.0001713789" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&!B2&!B3" ;
      value : "0.0001137873" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&!B2&B3" ;
      value : "0.0001136058" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&B2&!B3" ;
      value : "0.0001135959" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&B1&B2&B3" ;
      value : "0.0001135959" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&!B2&!B3" ;
      value : "0.000349437" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&!B2&B3" ;
      value : "0.0002285448" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&B2&!B3" ;
      value : "0.000171699" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!B1&B2&B3" ;
      value : "0.000171699" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&!B2&!B3" ;
      value : "0.0001141074" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&!B2&B3" ;
      value : "0.0001139259" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&B2&!B3" ;
      value : "0.0001139193" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&B1&B2&B3" ;
      value : "0.000113916" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&!B2&!B3" ;
      value : "0.000349437" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&!B2&B3" ;
      value : "0.0002285679" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&B2&!B3" ;
      value : "0.0001717221" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!B1&B2&B3" ;
      value : "0.0001717254" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&!B2&!B3" ;
      value : "0.0001141338" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&!B2&B3" ;
      value : "0.000113949" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&B2&!B3" ;
      value : "0.0001139424" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&B1&B2&B3" ;
      value : "0.0001139391" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&!B2&!B3" ;
      value : "0.000350328" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&!B2&B3" ;
      value : "0.0002285679" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&B2&!B3" ;
      value : "0.0001717221" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!B1&B2&B3" ;
      value : "0.0001717254" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&!B2&!B3" ;
      value : "0.0001141338" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&!B2&B3" ;
      value : "0.0001139523" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&B2&!B3" ;
      value : "0.0001139424" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&B1&B2&B3" ;
      value : "0.0001139391" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000350328" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01719 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06683, 0.06684, 0.06681, 0.06671, 0.06658, 0.06655, 0.06657, \
                 0.0665, 0.0665, 0.06651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1012, 0.1011, 0.1012, 0.101, 0.1008, 0.1006, 0.1002, 0.09991, \
                 0.09948, 0.09885");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06741, 0.06738, 0.06742, 0.06739, 0.06731, 0.0673, 0.06719, \
                 0.06712, 0.06705, 0.06702");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05601, -0.05685, -0.05825, -0.05966, -0.06101, -0.06219, -0.06305, \
                 -0.06366, -0.06404, -0.06434");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09131, 0.09128, 0.09114, 0.09101, 0.09094, 0.09089, 0.09082, \
                 0.09068, 0.09049, 0.09028");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01723, -0.01727, -0.01729, -0.01731, -0.01731, -0.01735, -0.01734, \
                 -0.01732, -0.01732, -0.01728");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09131, 0.09128, 0.09111, 0.09102, 0.09093, 0.0909, 0.0908, 0.09068, \
                 0.0905, 0.09028");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01723, -0.01727, -0.01729, -0.01731, -0.01732, -0.01735, -0.01733, \
                 -0.01732, -0.01732, -0.01728");
        }
      }

      internal_power() {
        when : "!A2&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09131, 0.09128, 0.09113, 0.09102, 0.09096, 0.09092, 0.0908, \
                 0.09068, 0.09051, 0.09028");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01723, -0.01727, -0.01729, -0.01732, -0.01732, -0.01736, -0.01733, \
                 -0.01734, -0.01731, -0.01727");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09132, 0.09129, 0.09116, 0.09103, 0.09095, 0.09091, 0.09079, \
                 0.09069, 0.0905, 0.09028");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01723, -0.01727, -0.01727, -0.01731, -0.01729, -0.01736, -0.01733, \
                 -0.01734, -0.01732, -0.01729");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0913, 0.09127, 0.09112, 0.09101, 0.09097, 0.0909, 0.0908, 0.09066, \
                 0.0905, 0.09025");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01723, -0.01727, -0.01728, -0.01734, -0.01731, -0.01736, -0.01734, \
                 -0.01733, -0.01732, -0.01728");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09129, 0.09127, 0.09113, 0.09105, 0.09097, 0.09091, 0.09082, \
                 0.09067, 0.09049, 0.09024");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01723, -0.01727, -0.01728, -0.01736, -0.01732, -0.01735, -0.01734, \
                 -0.01734, -0.01732, -0.01728");
        }
      }

      internal_power() {
        when : "!A2&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0913, 0.09126, 0.09114, 0.09103, 0.09092, 0.09093, 0.0908, 0.09069, \
                 0.09051, 0.09026");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01723, -0.01727, -0.01728, -0.01729, -0.01733, -0.01736, -0.01734, \
                 -0.01734, -0.01732, -0.01727");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06738, 0.06742, 0.06744, 0.06739, 0.06729, 0.06724, 0.06714, \
                 0.06708, 0.06707, 0.06699");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05861, -0.05907, -0.06077, -0.06213, -0.06305, -0.06376, -0.06426, \
                 -0.06454, -0.06474, -0.06486");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04873, 0.04868, 0.04859, 0.04852, 0.04853, 0.04855, 0.04851, \
                 0.04844, 0.04836, 0.04825");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01724, -0.01725, -0.01729, -0.0173, -0.01734, -0.01734, \
                 -0.01734, -0.01734, -0.01733");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0487, 0.04867, 0.0486, 0.04853, 0.04852, 0.04855, 0.04851, 0.04844, \
                 0.04836, 0.04826");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01724, -0.01725, -0.01729, -0.01729, -0.01735, -0.01734, \
                 -0.01732, -0.01734, -0.01733");
        }
      }

      internal_power() {
        when : "A2&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0487, 0.04867, 0.0486, 0.04855, 0.0485, 0.04855, 0.0485, 0.04844, \
                 0.04836, 0.04826");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01719, -0.01725, -0.01727, -0.0173, -0.0173, -0.01736, -0.01733, \
                 -0.01735, -0.01733, -0.01733");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0487, 0.04867, 0.04857, 0.04857, 0.04849, 0.04856, 0.04851, \
                 0.04845, 0.04836, 0.04825");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01724, -0.01725, -0.0173, -0.0173, -0.01733, -0.01734, \
                 -0.01735, -0.01734, -0.01733");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0487, 0.04867, 0.04859, 0.04854, 0.04851, 0.04856, 0.04851, \
                 0.04843, 0.04835, 0.04825");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01725, -0.01726, -0.01731, -0.0173, -0.01735, -0.01734, \
                 -0.01735, -0.01735, -0.01732");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0487, 0.04867, 0.04859, 0.04854, 0.04851, 0.04856, 0.04852, \
                 0.04844, 0.04835, 0.04826");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01725, -0.01725, -0.01731, -0.01731, -0.01735, -0.01734, \
                 -0.01735, -0.01734, -0.01732");
        }
      }

      internal_power() {
        when : "A2&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0487, 0.04867, 0.04858, 0.04854, 0.04852, 0.04854, 0.04849, \
                 0.04844, 0.04834, 0.04825");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01725, -0.01728, -0.01727, -0.0173, -0.01735, -0.01735, \
                 -0.01735, -0.01735, -0.01734");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06739, 0.06742, 0.06744, 0.06739, 0.0673, 0.06724, 0.06713, \
                 0.06712, 0.06704, 0.06697");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05796, -0.05885, -0.06077, -0.06216, -0.06303, -0.06377, -0.06426, \
                 -0.06454, -0.06473, -0.06489");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04873, 0.04868, 0.04861, 0.04853, 0.0485, 0.04855, 0.04851, \
                 0.04846, 0.04837, 0.04824");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01724, -0.01728, -0.01731, -0.0173, -0.01734, -0.01734, \
                 -0.01734, -0.01734, -0.01734");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04873, 0.04868, 0.0486, 0.04853, 0.04851, 0.04855, 0.0485, 0.04845, \
                 0.04838, 0.04825");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01724, -0.01726, -0.01731, -0.0173, -0.01735, -0.01735, \
                 -0.01734, -0.01734, -0.01734");
        }
      }

      internal_power() {
        when : "A2&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04872, 0.04867, 0.0486, 0.04854, 0.04851, 0.04855, 0.04849, \
                 0.04845, 0.04836, 0.04825");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01724, -0.01728, -0.01728, -0.0173, -0.01735, -0.01735, \
                 -0.01735, -0.01735, -0.01735");
        }
      }

      internal_power() {
        when : "A2&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04873, 0.04867, 0.04861, 0.04855, 0.04851, 0.04855, 0.04851, \
                 0.04845, 0.04836, 0.04825");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01724, -0.01728, -0.01732, -0.0173, -0.01735, -0.01735, \
                 -0.01735, -0.01734, -0.01733");
        }
      }

      internal_power() {
        when : "A2&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04871, 0.04868, 0.0486, 0.04853, 0.04849, 0.04854, 0.04849, \
                 0.04845, 0.04835, 0.04824");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01724, -0.01728, -0.01728, -0.01732, -0.01735, -0.01735, \
                 -0.01734, -0.01735, -0.01733");
        }
      }

      internal_power() {
        when : "A2&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04871, 0.04868, 0.0486, 0.04853, 0.0485, 0.04853, 0.04851, 0.04845, \
                 0.04835, 0.04825");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01724, -0.01728, -0.01731, -0.01731, -0.01734, -0.01736, \
                 -0.01734, -0.01734, -0.01733");
        }
      }

      internal_power() {
        when : "A2&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0487, 0.04867, 0.04859, 0.04857, 0.04852, 0.04854, 0.04848, \
                 0.04843, 0.04836, 0.04825");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0172, -0.01725, -0.01727, -0.01728, -0.01732, -0.01735, -0.01735, \
                 -0.01734, -0.01735, -0.01735");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01809 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06676, 0.06672, 0.06668, 0.06664, 0.06652, 0.06659, 0.06653, \
                 0.06657, 0.06651, 0.06653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1014, 0.1014, 0.1013, 0.1011, 0.101, 0.1007, 0.1003, 0.0999, \
                 0.0995, 0.09894");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0666, 0.06661, 0.06669, 0.0668, 0.06671, 0.06668, 0.06654, 0.06649, \
                 0.06649, 0.06641");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06377, -0.06396, -0.06419, -0.06476, -0.06511, -0.06541, -0.06554, \
                 -0.06567, -0.06569, -0.06575");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04326, 0.04316, 0.04322, 0.04318, 0.04314, 0.04321, 0.04313, \
                 0.04302, 0.04287, 0.04264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02195, -0.02196, -0.02201, -0.02207, -0.02206, -0.02213, -0.02217, \
                 -0.02219, -0.02225, -0.02231");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04326, 0.04316, 0.04317, 0.04318, 0.04315, 0.0432, 0.0431, 0.04299, \
                 0.04287, 0.04262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02195, -0.02196, -0.022, -0.02207, -0.02207, -0.02214, -0.02217, \
                 -0.0222, -0.02225, -0.0223");
        }
      }

      internal_power() {
        when : "!A1&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04326, 0.0432, 0.04319, 0.04316, 0.04315, 0.04321, 0.04311, \
                 0.04303, 0.04289, 0.04266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02194, -0.02196, -0.02201, -0.02202, -0.02209, -0.02215, -0.02217, \
                 -0.0222, -0.02225, -0.02229");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04326, 0.04316, 0.04326, 0.04318, 0.04313, 0.0432, 0.04311, \
                 0.04303, 0.04288, 0.04266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02195, -0.02196, -0.02201, -0.02208, -0.02207, -0.02214, -0.02216, \
                 -0.02218, -0.02224, -0.0223");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04326, 0.04316, 0.04322, 0.04316, 0.04313, 0.04321, 0.04312, \
                 0.04302, 0.04285, 0.04267");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02194, -0.02196, -0.02201, -0.02204, -0.02208, -0.02213, -0.02216, \
                 -0.02219, -0.02225, -0.0223");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04326, 0.04316, 0.04321, 0.04316, 0.04313, 0.04322, 0.04312, \
                 0.04302, 0.04287, 0.04266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02194, -0.02196, -0.02202, -0.02204, -0.02208, -0.02214, -0.02217, \
                 -0.02219, -0.02224, -0.02231");
        }
      }

      internal_power() {
        when : "!A1&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04323, 0.0432, 0.0432, 0.04319, 0.04318, 0.04321, 0.04312, 0.043, \
                 0.04286, 0.04266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02194, -0.02196, -0.02202, -0.02204, -0.02208, -0.02215, -0.02215, \
                 -0.02219, -0.02224, -0.02229");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06727, 0.06723, 0.0672, 0.06714, 0.06708, 0.06713, 0.06709, \
                 0.067, 0.06705, 0.06697");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05834, -0.05836, -0.06041, -0.06251, -0.06353, -0.06413, -0.06445, \
                 -0.06464, -0.06479, -0.0649");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05907, 0.05899, 0.05896, 0.05892, 0.0589, 0.05897, 0.05904, \
                 0.05903, 0.05901, 0.05901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04534, -0.04763, -0.05217, -0.05436, -0.05533, -0.05598, -0.05636, \
                 -0.05655, -0.05672, -0.05682");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05907, 0.05899, 0.05896, 0.05891, 0.05893, 0.05899, 0.05905, \
                 0.05902, 0.05902, 0.05899");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04534, -0.04763, -0.05217, -0.05434, -0.05531, -0.056, -0.05636, \
                 -0.05654, -0.05672, -0.05681");
        }
      }

      internal_power() {
        when : "A1&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05906, 0.05898, 0.05897, 0.05893, 0.05895, 0.05902, 0.05904, \
                 0.05902, 0.05899, 0.05899");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04533, -0.04763, -0.05217, -0.05432, -0.05533, -0.05602, -0.05631, \
                 -0.05656, -0.05671, -0.05682");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05907, 0.05899, 0.05896, 0.05889, 0.05893, 0.05899, 0.05903, \
                 0.05903, 0.059, 0.059");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04534, -0.04763, -0.05216, -0.05425, -0.05533, -0.05599, -0.05635, \
                 -0.05655, -0.0567, -0.05681");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05906, 0.05898, 0.05893, 0.05892, 0.0589, 0.05901, 0.05906, \
                 0.05903, 0.05901, 0.05898");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04533, -0.04763, -0.05214, -0.05432, -0.05533, -0.05599, -0.05632, \
                 -0.05656, -0.05671, -0.05682");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05906, 0.05898, 0.05891, 0.05892, 0.05892, 0.05901, 0.05903, \
                 0.05903, 0.059, 0.05898");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04533, -0.04763, -0.05212, -0.05434, -0.05535, -0.05599, -0.05633, \
                 -0.05656, -0.0567, -0.05682");
        }
      }

      internal_power() {
        when : "A1&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05905, 0.05898, 0.05897, 0.05893, 0.05891, 0.05897, 0.05905, \
                 0.05902, 0.05899, 0.05899");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04533, -0.04763, -0.05217, -0.05436, -0.05536, -0.05603, -0.05632, \
                 -0.05655, -0.05668, -0.05682");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04182, 0.04183, 0.04186, 0.04179, 0.04177, 0.0418, 0.04174, \
                 0.04173, 0.0417, 0.04166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05337, -0.05334, -0.05332, -0.0534, -0.05323, -0.05336, -0.05325, \
                 -0.05315, -0.05302, -0.05286");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03353, 0.0335, 0.03355, 0.03357, 0.03352, 0.03366, 0.03368, \
                 0.03368, 0.03366, 0.03368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03697, -0.0363, -0.03594, -0.03567, -0.0356, -0.03563, -0.0356, \
                 -0.03557, -0.03558, -0.03562");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0335, 0.0335, 0.03351, 0.03357, 0.03352, 0.03368, 0.03368, 0.03368, \
                 0.03366, 0.03368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03697, -0.0363, -0.03594, -0.03568, -0.03559, -0.03566, -0.0356, \
                 -0.03558, -0.03559, -0.03562");
        }
      }

      internal_power() {
        when : "A1&A3&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03349, 0.03348, 0.03351, 0.03357, 0.03354, 0.03366, 0.03369, \
                 0.03367, 0.03368, 0.03368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03696, -0.0363, -0.03594, -0.03571, -0.03558, -0.03566, -0.03561, \
                 -0.03556, -0.03558, -0.03563");
        }
      }

      internal_power() {
        when : "A1&A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0335, 0.0335, 0.03353, 0.03356, 0.03351, 0.0337, 0.03368, 0.03366, \
                 0.03367, 0.03368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03697, -0.0363, -0.0359, -0.03575, -0.03558, -0.03563, -0.0356, \
                 -0.03559, -0.03559, -0.03562");
        }
      }

      internal_power() {
        when : "A1&A3&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03349, 0.03348, 0.03351, 0.03357, 0.03355, 0.03368, 0.0337, \
                 0.03367, 0.03368, 0.03368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03696, -0.0363, -0.03594, -0.03576, -0.03556, -0.03571, -0.03561, \
                 -0.03555, -0.03557, -0.03563");
        }
      }

      internal_power() {
        when : "A1&A3&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03349, 0.0335, 0.0335, 0.03357, 0.03353, 0.03368, 0.03367, 0.03368, \
                 0.03368, 0.03367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03696, -0.0363, -0.03595, -0.03571, -0.03556, -0.03568, -0.0356, \
                 -0.03556, -0.03558, -0.03563");
        }
      }

      internal_power() {
        when : "A1&A3&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03349, 0.03349, 0.03353, 0.0336, 0.03355, 0.03366, 0.03366, \
                 0.03367, 0.03366, 0.03368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03695, -0.0363, -0.03594, -0.03573, -0.0356, -0.03565, -0.03559, \
                 -0.03556, -0.03557, -0.03562");
        }
      }
    }

    pin(A3) {
      capacitance : 0.01758 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06666, 0.06671, 0.06654, 0.06664, 0.06658, 0.06658, 0.06657, \
                 0.06653, 0.06662, 0.06652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1016, 0.1017, 0.1015, 0.1012, 0.1011, 0.1007, 0.1003, 0.09999, \
                 0.09953, 0.09897");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06666, 0.06664, 0.06646, 0.06659, 0.06654, 0.06658, 0.06648, \
                 0.06649, 0.06644, 0.06639");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0636, -0.06358, -0.06431, -0.06491, -0.06512, -0.06553, -0.06554, \
                 -0.06559, -0.06568, -0.06574");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05842, 0.05835, 0.05828, 0.05828, 0.05827, 0.05851, 0.05839, \
                 0.05842, 0.05842, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05177, -0.05422, -0.05597, -0.05672, -0.05691, -0.0573, -0.05741, \
                 -0.05749, -0.05755, -0.0576");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05842, 0.05835, 0.05829, 0.05829, 0.05827, 0.0585, 0.05836, \
                 0.05843, 0.0584, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05178, -0.05418, -0.056, -0.05671, -0.05691, -0.05728, -0.0574, \
                 -0.05749, -0.05757, -0.05759");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0584, 0.05835, 0.05829, 0.05833, 0.05828, 0.05848, 0.05843, \
                 0.05843, 0.0584, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05176, -0.05422, -0.05598, -0.05669, -0.05693, -0.0573, -0.05736, \
                 -0.05748, -0.05754, -0.05762");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05842, 0.05835, 0.0583, 0.05833, 0.05828, 0.05848, 0.05842, \
                 0.05843, 0.05841, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05178, -0.05418, -0.05599, -0.05673, -0.05693, -0.05729, -0.05741, \
                 -0.05751, -0.05756, -0.0576");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0584, 0.05836, 0.0583, 0.05831, 0.05829, 0.05842, 0.05844, 0.05838, \
                 0.05841, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05176, -0.05422, -0.05598, -0.05674, -0.05693, -0.05733, -0.0574, \
                 -0.05749, -0.05755, -0.05761");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0584, 0.05836, 0.0583, 0.05832, 0.05832, 0.05848, 0.05844, 0.05842, \
                 0.05841, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05177, -0.05422, -0.056, -0.05672, -0.05692, -0.05728, -0.05739, \
                 -0.05749, -0.05758, -0.05762");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0584, 0.05836, 0.05829, 0.05827, 0.05832, 0.0584, 0.05842, 0.05843, \
                 0.05839, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05175, -0.05422, -0.05603, -0.05666, -0.05691, -0.05731, -0.0574, \
                 -0.0575, -0.05756, -0.05763");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06718, 0.0672, 0.06701, 0.06718, 0.06711, 0.06717, 0.06707, \
                 0.0671, 0.06704, 0.067");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05593, -0.0575, -0.06002, -0.06192, -0.06285, -0.06367, -0.06405, \
                 -0.06431, -0.06448, -0.06463");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05901, 0.05898, 0.05888, 0.05888, 0.05892, 0.05909, 0.05902, \
                 0.05905, 0.059, 0.05902");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04763, -0.04924, -0.05182, -0.0537, -0.05473, -0.0555, -0.05588, \
                 -0.05619, -0.05638, -0.05652");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05901, 0.05898, 0.05893, 0.05888, 0.05892, 0.05906, 0.05898, \
                 0.05907, 0.05898, 0.05903");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04924, -0.05185, -0.05372, -0.05472, -0.05551, -0.05593, \
                 -0.05619, -0.05638, -0.05651");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.059, 0.05898, 0.05883, 0.05889, 0.05887, 0.059, 0.05905, 0.05904, \
                 0.05906, 0.05903");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04924, -0.05182, -0.05371, -0.05474, -0.05553, -0.05593, \
                 -0.05616, -0.05639, -0.0565");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05901, 0.05898, 0.05891, 0.0589, 0.05885, 0.05907, 0.05912, \
                 0.05907, 0.05903, 0.05906");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04924, -0.05185, -0.05371, -0.0547, -0.0555, -0.0559, \
                 -0.05621, -0.05637, -0.05652");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05899, 0.05898, 0.05884, 0.05889, 0.05886, 0.05901, 0.05904, \
                 0.05903, 0.05905, 0.05901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0476, -0.04924, -0.05183, -0.0537, -0.05476, -0.05548, -0.05592, \
                 -0.05615, -0.05638, -0.05651");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.059, 0.05898, 0.05884, 0.05889, 0.05882, 0.059, 0.05905, 0.05903, \
                 0.05905, 0.05901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04924, -0.05185, -0.05369, -0.05475, -0.0555, -0.05592, \
                 -0.05617, -0.05641, -0.05652");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05899, 0.05898, 0.0588, 0.05889, 0.05895, 0.05908, 0.05906, \
                 0.05904, 0.05902, 0.05902");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0476, -0.04924, -0.05183, -0.05372, -0.05475, -0.05549, -0.05593, \
                 -0.05617, -0.05642, -0.05651");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06664, 0.06656, 0.06639, 0.06659, 0.06641, 0.0665, 0.0665, 0.06649, \
                 0.06643, 0.06634");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0615, -0.06289, -0.0643, -0.06491, -0.06513, -0.0655, -0.06554, \
                 -0.06563, -0.06566, -0.06577");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05841, 0.05835, 0.05829, 0.05832, 0.05835, 0.05835, 0.05841, \
                 0.05842, 0.0584, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05325, -0.0546, -0.05598, -0.05671, -0.05693, -0.0573, -0.05742, \
                 -0.05749, -0.05756, -0.05762");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05841, 0.05835, 0.05829, 0.05826, 0.05833, 0.05835, 0.05842, \
                 0.05843, 0.05841, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05327, -0.05457, -0.05598, -0.05672, -0.05693, -0.05732, -0.0574, \
                 -0.05749, -0.05758, -0.05761");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05841, 0.05836, 0.05829, 0.05832, 0.05828, 0.05843, 0.05846, \
                 0.05842, 0.05839, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05325, -0.05461, -0.05598, -0.05673, -0.05691, -0.05729, -0.0574, \
                 -0.05751, -0.05755, -0.05762");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05841, 0.05835, 0.05829, 0.05828, 0.05823, 0.05835, 0.05842, \
                 0.05843, 0.0584, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05326, -0.0546, -0.05598, -0.05672, -0.05695, -0.05732, -0.0574, \
                 -0.05749, -0.05752, -0.05764");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0584, 0.05835, 0.05829, 0.05824, 0.05823, 0.05845, 0.05844, \
                 0.05841, 0.05842, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05325, -0.0546, -0.05598, -0.05672, -0.05692, -0.05727, -0.05738, \
                 -0.05752, -0.05755, -0.05762");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05841, 0.05836, 0.05829, 0.05824, 0.05829, 0.05842, 0.05844, \
                 0.05841, 0.05841, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05326, -0.0546, -0.05601, -0.05672, -0.05689, -0.05731, -0.05738, \
                 -0.05751, -0.05755, -0.05762");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0584, 0.05836, 0.05827, 0.05838, 0.05829, 0.05846, 0.05848, \
                 0.05837, 0.05841, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05325, -0.05461, -0.05598, -0.05672, -0.05692, -0.05731, -0.05738, \
                 -0.05747, -0.05756, -0.05764");
        }
      }
    }

    pin(B1) {
      capacitance : 0.01688 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05904, 0.05877, 0.05873, 0.0586, 0.05844, 0.0585, 0.05848, 0.05847, \
                 0.05843, 0.05844");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05871, -0.05873, -0.05862, -0.05855, -0.05845, -0.05843, -0.05841, \
                 -0.05837, -0.05837, -0.05834");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05838, 0.05844, 0.05839, 0.05828, 0.05831, 0.05825, \
                 0.05817, 0.05815, 0.05813");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04786, -0.04885, -0.05041, -0.05188, -0.05319, -0.05428, -0.05508, \
                 -0.05564, -0.05602, -0.05628");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05834, 0.05841, 0.05843, 0.05838, 0.05827, 0.05823, 0.0582, \
                 0.05813, 0.05812, 0.0581");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05055, -0.05104, -0.05284, -0.05419, -0.05508, -0.05574, -0.05621, \
                 -0.05648, -0.05668, -0.0568");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05842, 0.05844, 0.05837, 0.05823, 0.05823, 0.05817, \
                 0.05813, 0.05812, 0.0581");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0499, -0.05084, -0.05285, -0.05424, -0.05507, -0.05583, -0.05624, \
                 -0.0565, -0.05669, -0.0568");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09123, 0.09126, 0.09104, 0.09095, 0.09079, 0.09083, 0.0907, \
                 0.0906, 0.09044, 0.09018");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01729, -0.0173, -0.01731, -0.01734, -0.01735, -0.0174, -0.01737, \
                 -0.01735, -0.01734, -0.0173");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05001, 0.04998, 0.04988, 0.04986, 0.04975, 0.04983, 0.04979, \
                 0.04973, 0.04963, 0.04954");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01726, -0.0173, -0.0173, -0.01732, -0.01733, -0.01738, -0.01738, \
                 -0.01738, -0.01736, -0.01736");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04999, 0.04997, 0.04985, 0.04985, 0.04977, 0.04984, 0.04979, \
                 0.04972, 0.04963, 0.04953");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01726, -0.0173, -0.01732, -0.01733, -0.01734, -0.01737, -0.01736, \
                 -0.01737, -0.01737, -0.01736");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09123, 0.09127, 0.09101, 0.09094, 0.09082, 0.09083, 0.09073, \
                 0.0906, 0.09044, 0.09018");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01729, -0.0173, -0.01732, -0.01734, -0.01733, -0.01737, -0.01736, \
                 -0.01735, -0.01734, -0.01731");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05001, 0.04998, 0.04988, 0.04986, 0.04976, 0.04984, 0.04977, \
                 0.04973, 0.04963, 0.04954");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01727, -0.01727, -0.0173, -0.01731, -0.01732, -0.01736, -0.01737, \
                 -0.01737, -0.01738, -0.01737");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04999, 0.04997, 0.04984, 0.04985, 0.04978, 0.04984, 0.0498, \
                 0.04974, 0.04964, 0.04953");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01726, -0.0173, -0.01731, -0.01731, -0.01733, -0.01737, -0.01737, \
                 -0.01737, -0.01737, -0.01737");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09123, 0.09127, 0.09103, 0.09092, 0.09084, 0.09081, 0.09072, \
                 0.09059, 0.09043, 0.09017");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01728, -0.0173, -0.01733, -0.01734, -0.01736, -0.01738, -0.01736, \
                 -0.01735, -0.01733, -0.01732");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05001, 0.04998, 0.04989, 0.04984, 0.04978, 0.04982, 0.04977, \
                 0.04972, 0.04965, 0.04954");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01726, -0.0173, -0.01733, -0.01733, -0.01734, -0.01736, -0.01736, \
                 -0.01737, -0.01737, -0.01736");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05, 0.04997, 0.04991, 0.04985, 0.04976, 0.04983, 0.04979, 0.04972, \
                 0.04963, 0.04951");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01725, -0.01728, -0.01731, -0.0173, -0.01733, -0.01738, -0.01736, \
                 -0.01737, -0.01736, -0.01736");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09123, 0.09127, 0.09104, 0.09091, 0.09083, 0.09083, 0.09073, \
                 0.09061, 0.09044, 0.09018");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01729, -0.0173, -0.01731, -0.01735, -0.01734, -0.01738, -0.01737, \
                 -0.01735, -0.01734, -0.01731");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05001, 0.04997, 0.04989, 0.04981, 0.04975, 0.04984, 0.04978, \
                 0.04972, 0.04963, 0.04952");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01728, -0.0173, -0.01731, -0.01734, -0.01732, -0.01737, -0.01738, \
                 -0.01736, -0.01737, -0.01737");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04999, 0.04997, 0.04987, 0.04986, 0.04978, 0.04984, 0.04978, \
                 0.04974, 0.04964, 0.04952");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01726, -0.0173, -0.01734, -0.01731, -0.01731, -0.01737, -0.01735, \
                 -0.01737, -0.01737, -0.01736");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09124, 0.09127, 0.09103, 0.09092, 0.09084, 0.09084, 0.09069, \
                 0.0906, 0.09044, 0.09018");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01729, -0.01729, -0.01733, -0.01735, -0.01734, -0.01738, -0.01736, \
                 -0.01736, -0.01733, -0.01731");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05001, 0.04997, 0.04989, 0.04983, 0.04982, 0.04982, 0.04977, \
                 0.04972, 0.04965, 0.04953");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01726, -0.01728, -0.01729, -0.01733, -0.01734, -0.01738, -0.01737, \
                 -0.01736, -0.01736, -0.01737");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05, 0.04997, 0.04991, 0.04986, 0.04977, 0.04981, 0.0498, 0.04972, \
                 0.04962, 0.04952");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01726, -0.01728, -0.01733, -0.01733, -0.01732, -0.01737, -0.01736, \
                 -0.01737, -0.01737, -0.01737");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09123, 0.09127, 0.09103, 0.09088, 0.09081, 0.09083, 0.09072, \
                 0.09059, 0.09042, 0.09015");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01728, -0.01729, -0.01731, -0.01733, -0.01736, -0.01738, -0.01737, \
                 -0.01735, -0.01733, -0.0173");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05001, 0.04997, 0.04989, 0.04983, 0.04979, 0.04983, 0.04977, \
                 0.04973, 0.04965, 0.04954");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01727, -0.01728, -0.01731, -0.01733, -0.01734, -0.01738, -0.01736, \
                 -0.01737, -0.01736, -0.01736");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05, 0.04997, 0.04991, 0.04984, 0.04977, 0.04983, 0.0498, 0.04972, \
                 0.04963, 0.04953");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01726, -0.01728, -0.01732, -0.01734, -0.01732, -0.01737, -0.01736, \
                 -0.01736, -0.01737, -0.01737");
        }
      }

      internal_power() {
        when : "A1&A2&A3&!B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09124, 0.09128, 0.09106, 0.09094, 0.09081, 0.09082, 0.09074, \
                 0.09059, 0.09044, 0.0902");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01728, -0.01729, -0.01735, -0.01732, -0.01735, -0.01737, -0.01736, \
                 -0.01735, -0.01733, -0.01731");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B2&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05001, 0.04997, 0.0499, 0.04983, 0.04979, 0.04985, 0.04978, \
                 0.04972, 0.04965, 0.04954");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01725, -0.01727, -0.01733, -0.01731, -0.01732, -0.01737, -0.01736, \
                 -0.01736, -0.01737, -0.01735");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B2&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05001, 0.04997, 0.04989, 0.04984, 0.04979, 0.04983, 0.04978, \
                 0.04972, 0.04963, 0.04953");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01725, -0.01727, -0.01729, -0.01731, -0.01733, -0.01737, -0.01736, \
                 -0.01737, -0.01737, -0.01737");
        }
      }
    }

    pin(B2) {
      capacitance : 0.01782 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05896, 0.05863, 0.05856, 0.05855, 0.05842, 0.05847, 0.05847, \
                 0.0584, 0.05844, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05859, -0.05863, -0.05853, -0.05848, -0.05835, -0.05842, -0.05843, \
                 -0.05836, -0.05832, -0.05833");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05851, 0.05855, 0.0586, 0.05861, 0.05857, 0.05859, 0.05853, \
                 0.05849, 0.05843, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05573, -0.05589, -0.05607, -0.05672, -0.057, -0.05729, -0.05747, \
                 -0.05757, -0.05761, -0.05764");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05817, 0.0581, 0.05801, 0.05801, 0.05801, 0.058, 0.05816, 0.05809, \
                 0.05807, 0.05809");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05016, -0.05018, -0.05217, -0.05438, -0.05535, -0.05602, -0.05631, \
                 -0.05654, -0.0567, -0.05681");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03339, 0.03342, 0.03338, 0.0334, 0.03343, 0.03353, 0.03354, \
                 0.03353, 0.03351, 0.03352");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04618, -0.04616, -0.04622, -0.04615, -0.04608, -0.04622, -0.04614, \
                 -0.04605, -0.04592, -0.04575");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04173, 0.04168, 0.04166, 0.04168, 0.04163, 0.04168, 0.04162, \
                 0.04151, 0.04135, 0.04116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02198, -0.02196, -0.022, -0.02206, -0.02205, -0.02214, -0.02215, \
                 -0.02218, -0.02222, -0.02227");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05818, 0.05808, 0.058, 0.05803, 0.05801, 0.05802, 0.05814, 0.05809, \
                 0.05809, 0.05806");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0454, -0.04768, -0.0521, -0.05436, -0.05535, -0.05601, -0.05632, \
                 -0.05656, -0.05669, -0.05683");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03339, 0.03336, 0.03335, 0.03341, 0.0334, 0.03353, 0.03351, \
                 0.03349, 0.03353, 0.03351");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03674, -0.03602, -0.03559, -0.03531, -0.03512, -0.03521, -0.03515, \
                 -0.03508, -0.0351, -0.03515");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04173, 0.04168, 0.04169, 0.04168, 0.04162, 0.04169, 0.04163, \
                 0.04152, 0.04138, 0.04116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02198, -0.02196, -0.02198, -0.022, -0.02204, -0.02212, -0.02214, \
                 -0.02219, -0.02221, -0.02228");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05818, 0.05809, 0.058, 0.05799, 0.05802, 0.05804, 0.05811, 0.05813, \
                 0.05809, 0.05807");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0454, -0.04768, -0.0521, -0.05436, -0.05535, -0.05598, -0.05632, \
                 -0.05657, -0.05669, -0.05683");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03339, 0.03336, 0.03336, 0.0334, 0.0334, 0.03352, 0.03353, 0.0335, \
                 0.03353, 0.0335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03674, -0.03602, -0.03554, -0.03531, -0.03517, -0.03523, -0.03515, \
                 -0.03509, -0.0351, -0.03513");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04173, 0.04167, 0.04169, 0.04174, 0.04162, 0.04172, 0.04161, \
                 0.04149, 0.04134, 0.04115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02197, -0.02196, -0.02198, -0.022, -0.02205, -0.0221, -0.02214, \
                 -0.02216, -0.02222, -0.02228");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05817, 0.05807, 0.05798, 0.05804, 0.05794, 0.05807, 0.05815, \
                 0.0581, 0.05809, 0.05805");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0454, -0.04768, -0.0521, -0.05433, -0.05534, -0.05601, -0.05633, \
                 -0.05655, -0.05671, -0.05682");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03339, 0.03336, 0.03339, 0.03342, 0.0334, 0.03354, 0.0335, 0.03351, \
                 0.03353, 0.0335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03673, -0.03602, -0.03552, -0.03533, -0.03516, -0.03523, -0.03513, \
                 -0.0351, -0.03508, -0.03514");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04173, 0.04168, 0.04166, 0.04167, 0.04163, 0.04168, 0.04163, \
                 0.04149, 0.04138, 0.04115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02198, -0.02196, -0.022, -0.02201, -0.02204, -0.02212, -0.02214, \
                 -0.02219, -0.02223, -0.02228");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05818, 0.05809, 0.058, 0.05803, 0.05799, 0.05803, 0.05812, 0.05809, \
                 0.05811, 0.05806");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0454, -0.04768, -0.0521, -0.05434, -0.05536, -0.05598, -0.05633, \
                 -0.05656, -0.05671, -0.05681");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03339, 0.03334, 0.03336, 0.0334, 0.03341, 0.03349, 0.0335, 0.03352, \
                 0.03351, 0.0335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03674, -0.03602, -0.0355, -0.03535, -0.0352, -0.03522, -0.03514, \
                 -0.03508, -0.03508, -0.03514");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04173, 0.04167, 0.04169, 0.04168, 0.04163, 0.04168, 0.0416, \
                 0.04151, 0.04136, 0.04113");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02197, -0.02196, -0.022, -0.022, -0.02204, -0.02212, -0.02211, \
                 -0.02217, -0.0222, -0.02228");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05817, 0.05811, 0.05798, 0.05801, 0.058, 0.05805, 0.05807, 0.05808, \
                 0.05808, 0.05804");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0454, -0.04768, -0.0521, -0.05432, -0.05537, -0.05601, -0.05635, \
                 -0.05656, -0.05669, -0.05685");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03339, 0.03336, 0.03339, 0.0334, 0.03342, 0.0335, 0.03348, 0.03353, \
                 0.03353, 0.03352");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03673, -0.03602, -0.03559, -0.03534, -0.03519, -0.03521, -0.03516, \
                 -0.03512, -0.03509, -0.03513");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04173, 0.04168, 0.0417, 0.04168, 0.04163, 0.04168, 0.04163, \
                 0.0415, 0.04136, 0.04114");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02197, -0.02196, -0.022, -0.022, -0.02204, -0.02212, -0.02215, \
                 -0.02217, -0.02222, -0.02227");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05817, 0.05811, 0.05798, 0.05803, 0.058, 0.05806, 0.05812, 0.05807, \
                 0.05809, 0.05804");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0454, -0.04768, -0.0521, -0.05434, -0.05532, -0.05601, -0.05633, \
                 -0.05655, -0.05669, -0.05681");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03339, 0.03336, 0.03339, 0.0334, 0.03341, 0.03353, 0.03349, \
                 0.03351, 0.03351, 0.03352");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03673, -0.03602, -0.03554, -0.03533, -0.0352, -0.03522, -0.03516, \
                 -0.03511, -0.03508, -0.03513");
        }
      }

      internal_power() {
        when : "A1&A2&A3&!B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04172, 0.04166, 0.0417, 0.0417, 0.04164, 0.04168, 0.04161, 0.04149, \
                 0.04135, 0.04114");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02197, -0.02196, -0.02199, -0.022, -0.02202, -0.02212, -0.02215, \
                 -0.02218, -0.02222, -0.02228");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&!B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05817, 0.05807, 0.05801, 0.05798, 0.058, 0.05805, 0.05812, 0.05808, \
                 0.05811, 0.0581");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0454, -0.04768, -0.05211, -0.05433, -0.05535, -0.05604, -0.05632, \
                 -0.05655, -0.05673, -0.05682");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&B3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03338, 0.03336, 0.03335, 0.03337, 0.03341, 0.0335, 0.03352, \
                 0.03351, 0.0335, 0.03351");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03673, -0.03601, -0.03556, -0.03535, -0.03521, -0.03524, -0.03517, \
                 -0.03511, -0.03509, -0.03513");
        }
      }
    }

    pin(B3) {
      capacitance : 0.01712 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05884, 0.05857, 0.05841, 0.05841, 0.05842, 0.05851, 0.05849, \
                 0.05845, 0.05845, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05831, -0.05831, -0.05835, -0.05839, -0.05828, -0.05832, -0.05835, \
                 -0.05835, -0.05832, -0.05833");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05839, 0.05839, 0.05823, 0.05833, 0.0584, 0.05847, 0.05845, \
                 0.05839, 0.05836, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05542, -0.05534, -0.05606, -0.05669, -0.05693, -0.05732, -0.05737, \
                 -0.05751, -0.05751, -0.05762");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05806, 0.05811, 0.05796, 0.05801, 0.05811, 0.05813, 0.05816, \
                 0.0581, 0.05811, 0.05811");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04761, -0.04923, -0.05178, -0.05372, -0.05475, -0.05551, -0.05589, \
                 -0.0562, -0.05644, -0.05653");
        }
      }

      internal_power() {
        when : "!A1&!A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05834, 0.05823, 0.05835, 0.05838, 0.05855, 0.05846, \
                 0.0584, 0.05837, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05331, -0.05462, -0.05606, -0.05672, -0.05693, -0.05733, -0.05738, \
                 -0.05751, -0.05756, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05838, 0.05822, 0.05838, 0.05835, 0.05845, 0.05845, \
                 0.05833, 0.05836, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05173, -0.05418, -0.05605, -0.0567, -0.05694, -0.05734, -0.05739, \
                 -0.05749, -0.0576, -0.05764");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05806, 0.0581, 0.05795, 0.05805, 0.05803, 0.0581, 0.05813, 0.05812, \
                 0.0581, 0.05813");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04922, -0.05179, -0.05376, -0.05475, -0.05551, -0.0559, \
                 -0.05619, -0.05641, -0.05653");
        }
      }

      internal_power() {
        when : "!A1&!A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05834, 0.05822, 0.05838, 0.05841, 0.05853, 0.05843, \
                 0.0584, 0.05839, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05329, -0.0546, -0.05606, -0.05664, -0.05694, -0.05733, -0.05741, \
                 -0.0575, -0.05758, -0.05761");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05838, 0.05822, 0.05834, 0.05834, 0.05846, 0.05844, \
                 0.05836, 0.05838, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05174, -0.05418, -0.05605, -0.05672, -0.05693, -0.05731, -0.05739, \
                 -0.05749, -0.05757, -0.0576");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05807, 0.05811, 0.05795, 0.0581, 0.05803, 0.05809, 0.05812, \
                 0.05811, 0.05812, 0.0581");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04922, -0.05185, -0.05375, -0.05475, -0.0555, -0.05593, \
                 -0.05618, -0.0564, -0.05654");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05833, 0.05822, 0.05836, 0.05841, 0.05851, 0.05843, \
                 0.05839, 0.05839, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0533, -0.0546, -0.05605, -0.05667, -0.05691, -0.05733, -0.05739, \
                 -0.05752, -0.05755, -0.0576");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05838, 0.05822, 0.0584, 0.05829, 0.05839, 0.05844, \
                 0.05837, 0.05838, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05173, -0.05417, -0.05608, -0.0566, -0.05694, -0.05732, -0.0574, \
                 -0.05747, -0.05755, -0.05761");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05806, 0.0581, 0.05795, 0.05795, 0.05808, 0.0581, 0.05811, 0.05811, \
                 0.05812, 0.05809");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04922, -0.05177, -0.05376, -0.05473, -0.05548, -0.05594, \
                 -0.05618, -0.05638, -0.05654");
        }
      }

      internal_power() {
        when : "!A1&A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05833, 0.05819, 0.05828, 0.05836, 0.05847, 0.05841, \
                 0.05837, 0.05835, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05328, -0.0546, -0.05607, -0.05667, -0.05695, -0.05733, -0.0574, \
                 -0.05751, -0.05758, -0.05762");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05838, 0.05822, 0.05836, 0.05837, 0.0585, 0.05843, \
                 0.05835, 0.0584, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05174, -0.05417, -0.05605, -0.05671, -0.05693, -0.0573, -0.05739, \
                 -0.05749, -0.05753, -0.05763");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05806, 0.0581, 0.05795, 0.05805, 0.05802, 0.05808, 0.05812, \
                 0.05814, 0.05815, 0.05812");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0476, -0.04922, -0.05184, -0.05371, -0.05473, -0.05552, -0.05592, \
                 -0.0562, -0.0564, -0.05653");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05833, 0.05822, 0.05839, 0.05839, 0.05849, 0.05847, \
                 0.0584, 0.05838, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0533, -0.0546, -0.05605, -0.05669, -0.05693, -0.05736, -0.05739, \
                 -0.05754, -0.05759, -0.05764");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05838, 0.05821, 0.05835, 0.05833, 0.05841, 0.05846, \
                 0.05839, 0.05841, 0.05837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05173, -0.05417, -0.05608, -0.05667, -0.05694, -0.05733, -0.05739, \
                 -0.05746, -0.05755, -0.05761");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05805, 0.0581, 0.05795, 0.05801, 0.058, 0.05813, 0.05811, 0.05813, \
                 0.05812, 0.05809");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04922, -0.05177, -0.05372, -0.05475, -0.05551, -0.05593, \
                 -0.0562, -0.05638, -0.05653");
        }
      }

      internal_power() {
        when : "A1&!A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05833, 0.0582, 0.05828, 0.05833, 0.0584, 0.05841, 0.05839, \
                 0.05835, 0.05834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05328, -0.0546, -0.05607, -0.05666, -0.05695, -0.05734, -0.05738, \
                 -0.0575, -0.05759, -0.05761");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05838, 0.05822, 0.05835, 0.05833, 0.05842, 0.05842, \
                 0.05842, 0.05839, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05174, -0.05417, -0.05605, -0.05667, -0.05695, -0.0573, -0.0574, \
                 -0.05751, -0.05755, -0.05763");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05806, 0.0581, 0.05796, 0.05801, 0.05807, 0.05813, 0.05813, \
                 0.05813, 0.05809, 0.05809");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0476, -0.04922, -0.05185, -0.05371, -0.05476, -0.05552, -0.05593, \
                 -0.05619, -0.05638, -0.05653");
        }
      }

      internal_power() {
        when : "A1&A2&!A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05833, 0.0582, 0.05829, 0.05832, 0.05843, 0.05845, \
                 0.05838, 0.05836, 0.05835");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05329, -0.0546, -0.05606, -0.05666, -0.05694, -0.05732, -0.05738, \
                 -0.05749, -0.05759, -0.05763");
        }
      }

      internal_power() {
        when : "A1&A2&A3&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05842, 0.05838, 0.05822, 0.05835, 0.05826, 0.05839, 0.05842, \
                 0.05842, 0.05835, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05172, -0.05417, -0.05605, -0.05661, -0.05695, -0.05733, -0.05736, \
                 -0.05752, -0.05758, -0.05762");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05805, 0.0581, 0.05796, 0.058, 0.0581, 0.0581, 0.05814, 0.05812, \
                 0.05808, 0.05812");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04759, -0.04922, -0.05177, -0.05374, -0.05476, -0.05549, -0.05594, \
                 -0.05619, -0.05639, -0.05654");
        }
      }

      internal_power() {
        when : "A1&A2&A3&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05833, 0.05817, 0.05827, 0.0583, 0.05845, 0.05845, \
                 0.0584, 0.05838, 0.05844");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05328, -0.0546, -0.05606, -0.05665, -0.05692, -0.0573, -0.05736, \
                 -0.05752, -0.05758, -0.05763");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2)&(!A3))|((!B1)&(!B2)&(!B3)))" ;
      max_capacitance : 0.4074 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09922, 0.09928, 0.09951, 0.09971, 0.09988, 0.1, 0.1001, 0.1003, 0.1004, 0.1004",\
                 "0.1007, 0.1009, 0.1014, 0.102, 0.1024, 0.1028, 0.103, 0.1033, 0.1034, 0.1034",\
                 "0.1071, 0.1071, 0.1072, 0.1071, 0.1071, 0.1071, 0.1073, 0.1074, 0.1075, 0.1075",\
                 "0.12, 0.1196, 0.1187, 0.1174, 0.1161, 0.1149, 0.1138, 0.1129, 0.1123, 0.1117",\
                 "0.145, 0.1442, 0.1418, 0.1383, 0.1345, 0.1308, 0.1276, 0.1249, 0.1225, 0.1205",\
                 "0.1871, 0.1858, 0.1814, 0.1748, 0.1675, 0.1603, 0.1536, 0.1476, 0.1425, 0.1381",\
                 "0.2494, 0.2474, 0.241, 0.2309, 0.2189, 0.2069, 0.1956, 0.1853, 0.1761, 0.1679",\
                 "0.3338, 0.3312, 0.3228, 0.3089, 0.2922, 0.2743, 0.2571, 0.2414, 0.2269, 0.214",\
                 "0.4419, 0.4388, 0.4282, 0.4109, 0.389, 0.365, 0.3409, 0.3185, 0.2977, 0.2789",\
                 "0.5752, 0.5713, 0.5588, 0.5377, 0.5109, 0.4807, 0.4495, 0.4193, 0.3911, 0.3654");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.361, 0.3616, 0.3632, 0.3648, 0.3662, 0.3675, 0.3689, 0.3701, 0.3716, 0.3766",\
                 "0.3566, 0.3575, 0.3599, 0.3629, 0.3656, 0.368, 0.3701, 0.3717, 0.3742, 0.3791",\
                 "0.3584, 0.3586, 0.3592, 0.3607, 0.3631, 0.3658, 0.3685, 0.3707, 0.3734, 0.379",\
                 "0.3788, 0.378, 0.3757, 0.373, 0.3713, 0.371, 0.3717, 0.3727, 0.3744, 0.3804",\
                 "0.419, 0.4173, 0.4123, 0.4056, 0.3982, 0.3926, 0.3884, 0.3857, 0.3847, 0.3892",\
                 "0.4791, 0.4767, 0.4696, 0.459, 0.4469, 0.435, 0.4245, 0.4161, 0.4102, 0.4121",\
                 "0.5611, 0.5583, 0.5488, 0.5348, 0.5181, 0.5006, 0.4838, 0.4685, 0.4565, 0.4547",\
                 "0.6677, 0.6637, 0.6519, 0.6341, 0.613, 0.5906, 0.5674, 0.5454, 0.5269, 0.5225",\
                 "0.7997, 0.7952, 0.7811, 0.7591, 0.7328, 0.7051, 0.6767, 0.6476, 0.6235, 0.6205",\
                 "0.9596, 0.9544, 0.9378, 0.9121, 0.8807, 0.8469, 0.8124, 0.7781, 0.7506, 0.7583");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05807, 0.05824, 0.05848, 0.05876, 0.05901, 0.05917, 0.05924, 0.05932, 0.05937, 0.05936",\
                 "0.05947, 0.05967, 0.06028, 0.06094, 0.06147, 0.06183, 0.06211, 0.06231, 0.06241, 0.06248",\
                 "0.06551, 0.06554, 0.06569, 0.06587, 0.06599, 0.06615, 0.06635, 0.0664, 0.06648, 0.06652",\
                 "0.07884, 0.07855, 0.07746, 0.07617, 0.075, 0.07387, 0.07277, 0.07198, 0.0713, 0.07079",\
                 "0.1053, 0.1044, 0.1017, 0.09789, 0.09407, 0.09024, 0.08696, 0.08414, 0.08174, 0.07968",\
                 "0.1497, 0.1481, 0.1433, 0.1361, 0.1281, 0.1205, 0.1135, 0.1073, 0.102, 0.0975",\
                 "0.2148, 0.2126, 0.2054, 0.1943, 0.1815, 0.1684, 0.1564, 0.1458, 0.1362, 0.1278",\
                 "0.3023, 0.2994, 0.2899, 0.2748, 0.2565, 0.2375, 0.2193, 0.2026, 0.1878, 0.1745",\
                 "0.4135, 0.41, 0.3981, 0.3792, 0.3556, 0.3299, 0.3047, 0.2809, 0.2595, 0.2401",\
                 "0.5499, 0.5457, 0.5317, 0.5089, 0.4796, 0.4475, 0.4149, 0.3831, 0.354, 0.3275");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3206, 0.3212, 0.3228, 0.3244, 0.3259, 0.327, 0.3283, 0.3295, 0.3315, 0.3354",\
                 "0.3163, 0.3172, 0.3196, 0.3226, 0.3254, 0.3275, 0.3294, 0.3312, 0.3331, 0.3374",\
                 "0.3181, 0.3182, 0.3188, 0.3205, 0.3227, 0.3255, 0.3278, 0.3302, 0.3331, 0.3376",\
                 "0.3386, 0.3376, 0.3354, 0.3327, 0.3311, 0.3305, 0.331, 0.3322, 0.334, 0.339",\
                 "0.3786, 0.3769, 0.3721, 0.3651, 0.358, 0.3519, 0.3479, 0.3454, 0.3441, 0.3475",\
                 "0.4386, 0.4362, 0.4291, 0.4188, 0.4067, 0.3946, 0.3843, 0.3759, 0.3697, 0.3699",\
                 "0.5207, 0.5178, 0.5083, 0.4942, 0.4777, 0.4604, 0.4432, 0.428, 0.4157, 0.4121",\
                 "0.6273, 0.6234, 0.6115, 0.5935, 0.5726, 0.5501, 0.5266, 0.5046, 0.4855, 0.4795",\
                 "0.7602, 0.7556, 0.741, 0.7188, 0.6925, 0.6645, 0.6362, 0.6073, 0.582, 0.5767",\
                 "0.9207, 0.9154, 0.8983, 0.872, 0.8404, 0.8064, 0.772, 0.7373, 0.7084, 0.7126");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.058, 0.05819, 0.05851, 0.05868, 0.05895, 0.05912, 0.05918, 0.05926, 0.05934, 0.05937",\
                 "0.05952, 0.05976, 0.06033, 0.06094, 0.06145, 0.06187, 0.06208, 0.06226, 0.0624, 0.06246",\
                 "0.06602, 0.06606, 0.0662, 0.06628, 0.0663, 0.06636, 0.06651, 0.06655, 0.06658, 0.06663",\
                 "0.08023, 0.07988, 0.07889, 0.07749, 0.07609, 0.07476, 0.07367, 0.07264, 0.07194, 0.07127",\
                 "0.1081, 0.1071, 0.1043, 0.1004, 0.09627, 0.09242, 0.08887, 0.08585, 0.08337, 0.08107",\
                 "0.1541, 0.1526, 0.1477, 0.1404, 0.1321, 0.1243, 0.1171, 0.1107, 0.1051, 0.1004",\
                 "0.2212, 0.219, 0.2119, 0.2008, 0.1878, 0.1746, 0.1624, 0.1513, 0.1415, 0.1328",\
                 "0.311, 0.308, 0.2987, 0.2838, 0.2657, 0.2465, 0.228, 0.211, 0.1959, 0.1822",\
                 "0.425, 0.4215, 0.4099, 0.391, 0.3677, 0.3423, 0.3169, 0.2928, 0.2709, 0.2512",\
                 "0.5646, 0.5605, 0.5468, 0.5241, 0.4953, 0.4636, 0.431, 0.3994, 0.3696, 0.3426");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3201, 0.3207, 0.3222, 0.3239, 0.3254, 0.3267, 0.3277, 0.3293, 0.3305, 0.3348",\
                 "0.3145, 0.3153, 0.3176, 0.3206, 0.3234, 0.3256, 0.3276, 0.3293, 0.3318, 0.3357",\
                 "0.3169, 0.3169, 0.3172, 0.3183, 0.3202, 0.3227, 0.3251, 0.3275, 0.3298, 0.3346",\
                 "0.3396, 0.3387, 0.3359, 0.3327, 0.3303, 0.329, 0.3291, 0.33, 0.3317, 0.3364",\
                 "0.3814, 0.3799, 0.3749, 0.3678, 0.3603, 0.3534, 0.3484, 0.3455, 0.3434, 0.3462",\
                 "0.4434, 0.4413, 0.434, 0.4236, 0.4116, 0.3993, 0.3879, 0.3791, 0.3717, 0.3712",\
                 "0.5283, 0.5251, 0.5159, 0.5019, 0.4858, 0.4683, 0.451, 0.435, 0.4223, 0.4177",\
                 "0.6378, 0.634, 0.6222, 0.6043, 0.5838, 0.5617, 0.539, 0.5165, 0.4965, 0.4891",\
                 "0.7744, 0.7697, 0.7552, 0.7336, 0.7078, 0.6806, 0.6526, 0.624, 0.5987, 0.5924",\
                 "0.9394, 0.934, 0.9168, 0.8908, 0.86, 0.827, 0.7927, 0.7592, 0.7319, 0.7351");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.01227, 0.01245, 0.01298, 0.01334, 0.01359, 0.01375, 0.01384, 0.01392, 0.01397, 0.01398",\
                 "0.01274, 0.01318, 0.01415, 0.0152, 0.01591, 0.01636, 0.01664, 0.01685, 0.01699, 0.01706",\
                 "0.01895, 0.01905, 0.0195, 0.01996, 0.0204, 0.02063, 0.02083, 0.02095, 0.02105, 0.02108",\
                 "0.03474, 0.03428, 0.03291, 0.03141, 0.02994, 0.02865, 0.02761, 0.0267, 0.026, 0.02545",\
                 "0.06506, 0.06373, 0.05995, 0.0552, 0.0504, 0.046, 0.04236, 0.03928, 0.03673, 0.03457",\
                 "0.1141, 0.1121, 0.1056, 0.09631, 0.08655, 0.07781, 0.06999, 0.06324, 0.05757, 0.05281",\
                 "0.1841, 0.181, 0.1717, 0.1579, 0.1426, 0.1277, 0.1145, 0.1028, 0.09267, 0.08382",\
                 "0.2763, 0.2724, 0.2604, 0.2421, 0.2209, 0.1991, 0.1791, 0.1612, 0.1453, 0.1313",\
                 "0.3919, 0.3873, 0.3729, 0.35, 0.3229, 0.2943, 0.2666, 0.2411, 0.2183, 0.1981",\
                 "0.5322, 0.527, 0.5103, 0.4832, 0.4501, 0.4146, 0.379, 0.3453, 0.3144, 0.2866");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2524, 0.253, 0.2545, 0.2562, 0.2576, 0.2587, 0.2599, 0.2611, 0.262, 0.2652",\
                 "0.248, 0.2489, 0.2513, 0.2542, 0.257, 0.2592, 0.2608, 0.2621, 0.2639, 0.2672",\
                 "0.25, 0.25, 0.2507, 0.2521, 0.2544, 0.2569, 0.2594, 0.2613, 0.2639, 0.2672",\
                 "0.2704, 0.2696, 0.2672, 0.2644, 0.2626, 0.2621, 0.2624, 0.2635, 0.2646, 0.2683",\
                 "0.3103, 0.3088, 0.3039, 0.2971, 0.2897, 0.2837, 0.2793, 0.2764, 0.2754, 0.2772",\
                 "0.3705, 0.3682, 0.3608, 0.3503, 0.3382, 0.3262, 0.3153, 0.3072, 0.3, 0.2994",\
                 "0.4536, 0.4503, 0.4406, 0.4259, 0.4096, 0.3923, 0.3749, 0.3591, 0.3459, 0.3416",\
                 "0.5615, 0.557, 0.5442, 0.5256, 0.504, 0.4816, 0.4587, 0.4364, 0.4165, 0.4068",\
                 "0.6956, 0.6904, 0.6748, 0.6513, 0.6248, 0.5962, 0.5679, 0.5388, 0.513, 0.5029",\
                 "0.8576, 0.8517, 0.8332, 0.8053, 0.7728, 0.7383, 0.7034, 0.6691, 0.6391, 0.6379");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.01223, 0.01238, 0.01293, 0.01336, 0.01355, 0.01372, 0.01382, 0.01385, 0.01394, 0.01399",\
                 "0.01282, 0.01318, 0.01425, 0.01522, 0.01596, 0.01636, 0.01665, 0.01682, 0.01698, 0.01705",\
                 "0.01955, 0.01965, 0.02005, 0.02047, 0.02072, 0.02089, 0.02105, 0.0211, 0.02115, 0.02118",\
                 "0.03624, 0.03577, 0.03432, 0.03268, 0.03113, 0.02966, 0.02841, 0.0274, 0.02655, 0.02597",\
                 "0.06772, 0.06646, 0.06273, 0.05761, 0.05274, 0.04824, 0.04437, 0.04106, 0.03835, 0.036",\
                 "0.1182, 0.1162, 0.1097, 0.1006, 0.09072, 0.08153, 0.07361, 0.06672, 0.06077, 0.05566",\
                 "0.1901, 0.187, 0.1779, 0.1643, 0.1489, 0.134, 0.1204, 0.1084, 0.09805, 0.08896",\
                 "0.2847, 0.2808, 0.2688, 0.2509, 0.2298, 0.2082, 0.1879, 0.1696, 0.1535, 0.1391",\
                 "0.4031, 0.3985, 0.3844, 0.3617, 0.3348, 0.3066, 0.2789, 0.2531, 0.2298, 0.2091",\
                 "0.5468, 0.5417, 0.5251, 0.4985, 0.4656, 0.4304, 0.3951, 0.3613, 0.3301, 0.3018");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2519, 0.2525, 0.254, 0.2556, 0.257, 0.2582, 0.2591, 0.26, 0.261, 0.2649",\
                 "0.2463, 0.2471, 0.2493, 0.2522, 0.2551, 0.2572, 0.2589, 0.2609, 0.2616, 0.2652",\
                 "0.2488, 0.2487, 0.249, 0.25, 0.2519, 0.2543, 0.2566, 0.2584, 0.2606, 0.2645",\
                 "0.2715, 0.2706, 0.2678, 0.2644, 0.2618, 0.2606, 0.2606, 0.261, 0.2623, 0.266",\
                 "0.3131, 0.3116, 0.3066, 0.2997, 0.2918, 0.2849, 0.2798, 0.2761, 0.2747, 0.2756",\
                 "0.3756, 0.3731, 0.366, 0.3558, 0.3436, 0.3308, 0.3193, 0.31, 0.3023, 0.301",\
                 "0.461, 0.4578, 0.4479, 0.4337, 0.4177, 0.4002, 0.3827, 0.3666, 0.3527, 0.3468",\
                 "0.5717, 0.5675, 0.5547, 0.5365, 0.5152, 0.4936, 0.4706, 0.4479, 0.4267, 0.418",\
                 "0.7096, 0.7046, 0.6889, 0.6659, 0.6399, 0.6123, 0.5843, 0.5558, 0.5295, 0.5193",\
                 "0.8765, 0.8703, 0.8518, 0.824, 0.7921, 0.759, 0.7252, 0.6906, 0.6611, 0.6607");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.01211, 0.01238, 0.01294, 0.01336, 0.01355, 0.01372, 0.01381, 0.01385, 0.01394, 0.01397",\
                 "0.01282, 0.01318, 0.01425, 0.01522, 0.01596, 0.01636, 0.01665, 0.01682, 0.01698, 0.01705",\
                 "0.01955, 0.01965, 0.02005, 0.02047, 0.02072, 0.02089, 0.02105, 0.0211, 0.02115, 0.02118",\
                 "0.03624, 0.03577, 0.03432, 0.03268, 0.03113, 0.02967, 0.02845, 0.02741, 0.0266, 0.02598",\
                 "0.06772, 0.06646, 0.06274, 0.05761, 0.05274, 0.04829, 0.04437, 0.04106, 0.03835, 0.03601",\
                 "0.1182, 0.1162, 0.1097, 0.1006, 0.09073, 0.08153, 0.07361, 0.06671, 0.06079, 0.05566",\
                 "0.1901, 0.187, 0.1779, 0.1643, 0.149, 0.134, 0.1204, 0.1084, 0.09798, 0.08888",\
                 "0.2847, 0.2808, 0.2688, 0.2509, 0.2298, 0.2082, 0.1878, 0.1696, 0.1535, 0.1391",\
                 "0.4031, 0.3985, 0.3844, 0.3617, 0.3348, 0.3066, 0.2789, 0.2531, 0.2298, 0.2091",\
                 "0.5468, 0.5417, 0.5251, 0.4985, 0.4656, 0.4304, 0.3951, 0.3613, 0.3301, 0.3018");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2519, 0.2525, 0.254, 0.2556, 0.257, 0.2582, 0.2591, 0.26, 0.261, 0.2649",\
                 "0.2463, 0.2471, 0.2494, 0.2523, 0.2551, 0.2572, 0.2588, 0.2609, 0.262, 0.2652",\
                 "0.2488, 0.2487, 0.249, 0.25, 0.2521, 0.2542, 0.2566, 0.2589, 0.2606, 0.2645",\
                 "0.2715, 0.2705, 0.2678, 0.2644, 0.2618, 0.2606, 0.2606, 0.2612, 0.2623, 0.266",\
                 "0.3131, 0.3116, 0.3067, 0.2997, 0.2917, 0.2849, 0.2799, 0.2763, 0.2744, 0.2762",\
                 "0.3757, 0.3732, 0.366, 0.3558, 0.3436, 0.3309, 0.3193, 0.3095, 0.3026, 0.3014",\
                 "0.461, 0.4578, 0.4479, 0.4337, 0.4175, 0.4002, 0.3826, 0.3662, 0.3527, 0.3465",\
                 "0.5716, 0.5675, 0.5547, 0.5364, 0.5155, 0.4936, 0.4712, 0.4482, 0.427, 0.4177",\
                 "0.7096, 0.7044, 0.6889, 0.6662, 0.6399, 0.6125, 0.5845, 0.556, 0.5295, 0.5193",\
                 "0.8765, 0.8704, 0.8519, 0.8236, 0.7923, 0.7589, 0.7249, 0.691, 0.6611, 0.6604");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.01208, 0.01243, 0.01293, 0.01332, 0.01355, 0.0137, 0.0138, 0.01385, 0.01393, 0.01396",\
                 "0.01285, 0.01322, 0.0142, 0.01527, 0.01595, 0.01637, 0.01664, 0.01682, 0.01698, 0.01703",\
                 "0.01984, 0.01995, 0.02032, 0.02064, 0.02088, 0.02102, 0.02114, 0.02117, 0.02121, 0.02121",\
                 "0.03686, 0.0363, 0.03491, 0.03318, 0.03154, 0.03007, 0.02876, 0.02772, 0.02684, 0.02615",\
                 "0.06875, 0.06757, 0.06374, 0.05852, 0.05367, 0.04914, 0.04509, 0.04176, 0.03889, 0.03656",\
                 "0.1199, 0.1178, 0.1113, 0.1022, 0.0922, 0.08307, 0.07512, 0.06806, 0.06194, 0.05678",\
                 "0.1923, 0.1893, 0.1802, 0.1665, 0.1513, 0.1362, 0.1226, 0.1105, 0.1, 0.09081",\
                 "0.2875, 0.2838, 0.2719, 0.2541, 0.233, 0.2114, 0.1911, 0.1727, 0.1565, 0.142",\
                 "0.407, 0.4025, 0.3883, 0.366, 0.3391, 0.3109, 0.2832, 0.2574, 0.2342, 0.2132",\
                 "0.5518, 0.5466, 0.5301, 0.5037, 0.4711, 0.4361, 0.4008, 0.3672, 0.3358, 0.3072");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2515, 0.2521, 0.2536, 0.2552, 0.2567, 0.2578, 0.2587, 0.2598, 0.261, 0.2642",\
                 "0.2454, 0.2462, 0.2484, 0.2513, 0.2541, 0.2562, 0.2578, 0.2593, 0.261, 0.2646",\
                 "0.2485, 0.2483, 0.2484, 0.2491, 0.2509, 0.2532, 0.2554, 0.2573, 0.2593, 0.2632",\
                 "0.272, 0.2709, 0.268, 0.2645, 0.2616, 0.2602, 0.2599, 0.26, 0.261, 0.2643",\
                 "0.3142, 0.3125, 0.3077, 0.3005, 0.2926, 0.2856, 0.2802, 0.2764, 0.2737, 0.2749",\
                 "0.3773, 0.3747, 0.3678, 0.3574, 0.3454, 0.3327, 0.3209, 0.3114, 0.3033, 0.3014",\
                 "0.4633, 0.4601, 0.4506, 0.4364, 0.4204, 0.4031, 0.3855, 0.3691, 0.3554, 0.3488",\
                 "0.5752, 0.5712, 0.5585, 0.5401, 0.5193, 0.4975, 0.4748, 0.4518, 0.4316, 0.4216",\
                 "0.7144, 0.7092, 0.6936, 0.6707, 0.6449, 0.6178, 0.5901, 0.562, 0.5351, 0.5249",\
                 "0.8828, 0.8767, 0.8581, 0.8307, 0.7986, 0.7655, 0.7323, 0.6988, 0.6694, 0.6679");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1442, 0.1441, 0.1441, 0.144, 0.144, 0.144, 0.144, 0.1441, 0.1441, 0.144",\
                 "0.1441, 0.144, 0.144, 0.144, 0.144, 0.1441, 0.1441, 0.1441, 0.1442, 0.1441",\
                 "0.1453, 0.1452, 0.145, 0.1447, 0.1445, 0.1443, 0.1442, 0.1442, 0.144, 0.144",\
                 "0.1551, 0.1548, 0.1537, 0.1523, 0.1509, 0.1496, 0.1483, 0.1474, 0.1467, 0.1462",\
                 "0.1802, 0.1796, 0.1771, 0.1732, 0.1691, 0.1651, 0.1617, 0.1587, 0.1561, 0.154",\
                 "0.2253, 0.2238, 0.2194, 0.2126, 0.2046, 0.1964, 0.189, 0.1824, 0.1768, 0.1719",\
                 "0.2931, 0.2912, 0.2846, 0.2741, 0.2612, 0.2479, 0.235, 0.2232, 0.2127, 0.2037",\
                 "0.3864, 0.3838, 0.3749, 0.3605, 0.3424, 0.3227, 0.3033, 0.285, 0.2685, 0.2536",\
                 "0.5068, 0.5035, 0.4924, 0.4739, 0.4501, 0.4238, 0.3969, 0.3713, 0.3473, 0.3254",\
                 "0.6552, 0.6511, 0.6383, 0.6159, 0.5864, 0.5531, 0.5186, 0.4844, 0.452, 0.4219");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4302, 0.4308, 0.4321, 0.4335, 0.4347, 0.436, 0.4373, 0.4385, 0.4406, 0.4455",\
                 "0.4248, 0.4258, 0.4284, 0.4314, 0.4342, 0.4365, 0.4385, 0.4401, 0.4421, 0.4474",\
                 "0.4177, 0.4184, 0.4204, 0.4238, 0.4278, 0.4317, 0.4351, 0.4377, 0.4404, 0.4466",\
                 "0.4253, 0.4251, 0.4249, 0.4253, 0.4268, 0.4293, 0.4323, 0.4354, 0.4381, 0.445",\
                 "0.4588, 0.4575, 0.454, 0.4494, 0.4456, 0.4431, 0.4421, 0.442, 0.4432, 0.4496",\
                 "0.5212, 0.5188, 0.5121, 0.5022, 0.4914, 0.4819, 0.4745, 0.4685, 0.465, 0.4686",\
                 "0.6116, 0.6084, 0.5985, 0.5834, 0.5668, 0.5499, 0.5343, 0.5205, 0.51, 0.5091",\
                 "0.7299, 0.7259, 0.7133, 0.6936, 0.6707, 0.6469, 0.6232, 0.6013, 0.5833, 0.5785",\
                 "0.8779, 0.8731, 0.8577, 0.834, 0.8048, 0.7736, 0.7432, 0.7128, 0.6869, 0.6812",\
                 "1.057, 1.052, 1.034, 1.005, 0.9705, 0.9322, 0.8934, 0.8565, 0.8255, 0.8249");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1031, 0.1031, 0.103, 0.103, 0.1031, 0.103, 0.1031, 0.1031, 0.1031, 0.1031",\
                 "0.103, 0.103, 0.103, 0.103, 0.1031, 0.1031, 0.1032, 0.1032, 0.1032, 0.1032",\
                 "0.1042, 0.1041, 0.1039, 0.1036, 0.1034, 0.1033, 0.1032, 0.1031, 0.1031, 0.1031",\
                 "0.1144, 0.1141, 0.1129, 0.1115, 0.11, 0.1087, 0.1074, 0.1065, 0.1057, 0.1052",\
                 "0.141, 0.1401, 0.1373, 0.1333, 0.1289, 0.1247, 0.1211, 0.1179, 0.1153, 0.1132",\
                 "0.1883, 0.1868, 0.1819, 0.1743, 0.1657, 0.157, 0.149, 0.1421, 0.1363, 0.1314",\
                 "0.2593, 0.2572, 0.2498, 0.2382, 0.2241, 0.2099, 0.1961, 0.1839, 0.173, 0.1637",\
                 "0.3562, 0.3532, 0.3433, 0.3272, 0.3076, 0.2865, 0.266, 0.2468, 0.2296, 0.2143",\
                 "0.4797, 0.4761, 0.4638, 0.4435, 0.4177, 0.3896, 0.3615, 0.3343, 0.3094, 0.287",\
                 "0.6318, 0.6274, 0.6127, 0.5883, 0.5567, 0.5212, 0.4848, 0.4492, 0.4156, 0.3845");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3899, 0.3905, 0.3918, 0.3932, 0.3945, 0.3955, 0.3969, 0.3978, 0.3994, 0.4037",\
                 "0.3845, 0.3855, 0.388, 0.3911, 0.3938, 0.3962, 0.3979, 0.3994, 0.4014, 0.4059",\
                 "0.3773, 0.378, 0.3801, 0.3835, 0.3875, 0.3912, 0.3944, 0.3973, 0.3998, 0.4055",\
                 "0.385, 0.3848, 0.3846, 0.385, 0.3865, 0.389, 0.3916, 0.3946, 0.3973, 0.4036",\
                 "0.4184, 0.4173, 0.4138, 0.4091, 0.4052, 0.4027, 0.4016, 0.4015, 0.4025, 0.4079",\
                 "0.4807, 0.4784, 0.4714, 0.4619, 0.4514, 0.4417, 0.4338, 0.4279, 0.4241, 0.427",\
                 "0.5713, 0.5679, 0.5579, 0.543, 0.5263, 0.5095, 0.4932, 0.4799, 0.469, 0.4674",\
                 "0.6901, 0.686, 0.6729, 0.6532, 0.63, 0.6064, 0.5829, 0.5608, 0.542, 0.5355",\
                 "0.8386, 0.8336, 0.818, 0.7935, 0.7644, 0.7333, 0.7026, 0.6724, 0.6462, 0.6375",\
                 "1.018, 1.013, 0.9945, 0.9655, 0.9301, 0.8918, 0.8532, 0.8156, 0.7838, 0.7798");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1032, 0.1031, 0.103, 0.103, 0.103, 0.1031, 0.1031, 0.1031, 0.1031, 0.1031",\
                 "0.103, 0.103, 0.103, 0.103, 0.103, 0.1031, 0.1031, 0.1032, 0.1032, 0.1033",\
                 "0.1045, 0.1044, 0.1042, 0.104, 0.1036, 0.1034, 0.1033, 0.1033, 0.1032, 0.1031",\
                 "0.1156, 0.1152, 0.1141, 0.1125, 0.1108, 0.1094, 0.1081, 0.107, 0.1062, 0.1056",\
                 "0.1436, 0.1428, 0.1399, 0.1358, 0.1311, 0.1267, 0.1228, 0.1196, 0.1168, 0.1145",\
                 "0.1931, 0.1915, 0.1865, 0.1789, 0.17, 0.1611, 0.153, 0.1457, 0.1394, 0.1343",\
                 "0.2667, 0.2643, 0.2571, 0.2454, 0.2313, 0.2168, 0.2027, 0.19, 0.1787, 0.169",\
                 "0.3665, 0.3634, 0.3537, 0.3375, 0.3178, 0.2969, 0.2759, 0.2566, 0.2387, 0.2231",\
                 "0.4938, 0.49, 0.478, 0.4577, 0.432, 0.4039, 0.3756, 0.3482, 0.3229, 0.2998",\
                 "0.6503, 0.6458, 0.631, 0.6069, 0.5756, 0.5401, 0.5036, 0.4679, 0.434, 0.4026");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3894, 0.3899, 0.3912, 0.3926, 0.3939, 0.3951, 0.3961, 0.3973, 0.3994, 0.4033",\
                 "0.3829, 0.3838, 0.3863, 0.3893, 0.392, 0.3941, 0.3959, 0.398, 0.3994, 0.4043",\
                 "0.3761, 0.3766, 0.3784, 0.3814, 0.385, 0.3887, 0.3917, 0.3945, 0.3971, 0.4026",\
                 "0.3848, 0.3847, 0.384, 0.3839, 0.3849, 0.3867, 0.389, 0.3918, 0.3947, 0.4007",\
                 "0.4205, 0.4192, 0.4155, 0.4103, 0.4058, 0.4025, 0.4006, 0.4001, 0.4008, 0.4059",\
                 "0.4858, 0.4834, 0.4765, 0.4665, 0.4555, 0.4449, 0.4365, 0.4296, 0.4251, 0.427",\
                 "0.5798, 0.5766, 0.5663, 0.5517, 0.5347, 0.5175, 0.5011, 0.4864, 0.4739, 0.4714",\
                 "0.7026, 0.6985, 0.6858, 0.6661, 0.6431, 0.6197, 0.5959, 0.5729, 0.5529, 0.5457",\
                 "0.8563, 0.8512, 0.8357, 0.8113, 0.7825, 0.7517, 0.7216, 0.6908, 0.6633, 0.6542",\
                 "1.042, 1.037, 1.018, 0.9892, 0.9542, 0.9164, 0.8782, 0.8414, 0.809, 0.8048");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05761, 0.05759, 0.05762, 0.05763, 0.05768, 0.05766, 0.05768, 0.0577, 0.05768, 0.0577",\
                 "0.05734, 0.05737, 0.05747, 0.05755, 0.05766, 0.05768, 0.05773, 0.05777, 0.0578, 0.05779",\
                 "0.05876, 0.05866, 0.05849, 0.05826, 0.05804, 0.05789, 0.05781, 0.05774, 0.05767, 0.05766",\
                 "0.07086, 0.07037, 0.06885, 0.06695, 0.0651, 0.06358, 0.06227, 0.06119, 0.0605, 0.05985",\
                 "0.1011, 0.09987, 0.09613, 0.09086, 0.08553, 0.08071, 0.07655, 0.07312, 0.07036, 0.06813",\
                 "0.1534, 0.1512, 0.1447, 0.1351, 0.1247, 0.1147, 0.1058, 0.09832, 0.09201, 0.08673",\
                 "0.2296, 0.2266, 0.2171, 0.2027, 0.1862, 0.1698, 0.1547, 0.1413, 0.1298, 0.1199",\
                 "0.3314, 0.3276, 0.3152, 0.2959, 0.2728, 0.2492, 0.2266, 0.2059, 0.1875, 0.1715",\
                 "0.4599, 0.4552, 0.4403, 0.4163, 0.3868, 0.3553, 0.3244, 0.2954, 0.2691, 0.2454",\
                 "0.6161, 0.6109, 0.5935, 0.565, 0.5292, 0.4899, 0.4502, 0.4123, 0.3769, 0.3442");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3217, 0.3222, 0.3235, 0.325, 0.326, 0.327, 0.3279, 0.329, 0.3303, 0.3335",\
                 "0.3163, 0.3173, 0.3198, 0.3229, 0.3254, 0.3275, 0.3292, 0.3307, 0.3323, 0.3358",\
                 "0.3091, 0.3098, 0.3118, 0.3153, 0.3193, 0.3227, 0.3258, 0.3282, 0.3306, 0.3351",\
                 "0.3167, 0.3166, 0.3164, 0.3166, 0.3181, 0.3203, 0.323, 0.3255, 0.3283, 0.3332",\
                 "0.3503, 0.349, 0.3454, 0.3408, 0.3369, 0.3341, 0.3329, 0.3325, 0.3335, 0.3372",\
                 "0.4128, 0.4103, 0.4033, 0.3936, 0.3831, 0.3731, 0.3653, 0.3592, 0.3548, 0.3562",\
                 "0.504, 0.5006, 0.4901, 0.4747, 0.458, 0.4411, 0.4252, 0.411, 0.4001, 0.3961",\
                 "0.624, 0.6195, 0.606, 0.5853, 0.5619, 0.538, 0.515, 0.4925, 0.4725, 0.4644",\
                 "0.7741, 0.7686, 0.752, 0.7262, 0.6963, 0.665, 0.6342, 0.6047, 0.5768, 0.5635",\
                 "0.9553, 0.9492, 0.9299, 0.8993, 0.8627, 0.8235, 0.7842, 0.7477, 0.7144, 0.7064");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05766, 0.05761, 0.05761, 0.05758, 0.05761, 0.05764, 0.05766, 0.05771, 0.0577, 0.05769",\
                 "0.05735, 0.05742, 0.05742, 0.05752, 0.05761, 0.05769, 0.05774, 0.05776, 0.05778, 0.05782",\
                 "0.05907, 0.05901, 0.0588, 0.05851, 0.05822, 0.05804, 0.05791, 0.05782, 0.05775, 0.05772",\
                 "0.07225, 0.07172, 0.0701, 0.06801, 0.06611, 0.06439, 0.06298, 0.06173, 0.06096, 0.06024",\
                 "0.1039, 0.1026, 0.09878, 0.09349, 0.08788, 0.0828, 0.07846, 0.07488, 0.0719, 0.06945",\
                 "0.1581, 0.156, 0.1493, 0.1398, 0.1292, 0.119, 0.1098, 0.1019, 0.09527, 0.08974",\
                 "0.2368, 0.2337, 0.2243, 0.2099, 0.1933, 0.1767, 0.1613, 0.1476, 0.1355, 0.1252",\
                 "0.3415, 0.3377, 0.3255, 0.3062, 0.2832, 0.2595, 0.2366, 0.2156, 0.1968, 0.1803",\
                 "0.4738, 0.4692, 0.4542, 0.4303, 0.4009, 0.3695, 0.3385, 0.3092, 0.2825, 0.2583",\
                 "0.6345, 0.6292, 0.612, 0.5836, 0.5477, 0.5087, 0.4691, 0.431, 0.3952, 0.3624");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3212, 0.3217, 0.3229, 0.3244, 0.3254, 0.3265, 0.3276, 0.3282, 0.3293, 0.3332",\
                 "0.3147, 0.3156, 0.318, 0.3209, 0.3237, 0.3256, 0.3274, 0.329, 0.3303, 0.3341",\
                 "0.3079, 0.3084, 0.3101, 0.3131, 0.3167, 0.32, 0.3229, 0.3255, 0.3283, 0.3321",\
                 "0.3166, 0.3164, 0.3158, 0.3155, 0.3164, 0.318, 0.3204, 0.3232, 0.326, 0.3299",\
                 "0.3524, 0.3511, 0.347, 0.3423, 0.3373, 0.334, 0.3322, 0.3312, 0.3311, 0.3352",\
                 "0.4178, 0.4155, 0.4082, 0.3982, 0.3873, 0.3766, 0.3676, 0.3608, 0.3558, 0.3562",\
                 "0.5125, 0.509, 0.4984, 0.4836, 0.4665, 0.4494, 0.4325, 0.4171, 0.405, 0.3994",\
                 "0.6367, 0.6322, 0.6185, 0.5981, 0.575, 0.5511, 0.5281, 0.5045, 0.4836, 0.4732",\
                 "0.7918, 0.7864, 0.7696, 0.7441, 0.7142, 0.6834, 0.653, 0.6227, 0.5948, 0.5815",\
                 "0.9794, 0.9731, 0.9534, 0.9231, 0.8865, 0.8481, 0.8101, 0.7731, 0.7394, 0.7309");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05763, 0.05761, 0.05761, 0.05758, 0.05761, 0.05765, 0.05766, 0.05766, 0.0577, 0.05769",\
                 "0.05735, 0.05742, 0.05742, 0.05752, 0.05761, 0.05769, 0.05774, 0.05776, 0.05778, 0.05782",\
                 "0.05907, 0.05901, 0.0588, 0.05851, 0.05822, 0.05804, 0.05791, 0.05782, 0.05775, 0.05772",\
                 "0.07225, 0.07167, 0.07009, 0.06801, 0.06612, 0.06437, 0.06303, 0.06171, 0.06094, 0.06028",\
                 "0.1039, 0.1026, 0.09876, 0.09352, 0.08789, 0.0828, 0.07846, 0.07484, 0.0719, 0.06944",\
                 "0.1581, 0.156, 0.1493, 0.1398, 0.1292, 0.119, 0.1098, 0.1019, 0.09533, 0.08975",\
                 "0.2368, 0.2337, 0.2243, 0.2099, 0.1933, 0.1767, 0.1613, 0.1475, 0.1355, 0.1252",\
                 "0.3415, 0.3377, 0.3255, 0.3062, 0.2832, 0.2595, 0.2365, 0.2156, 0.1968, 0.1803",\
                 "0.4738, 0.4692, 0.4542, 0.4303, 0.4009, 0.3695, 0.3385, 0.3092, 0.2825, 0.2583",\
                 "0.6345, 0.6292, 0.612, 0.5836, 0.5477, 0.5087, 0.4691, 0.431, 0.3952, 0.3624");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3212, 0.3218, 0.3229, 0.3243, 0.3254, 0.3267, 0.3274, 0.3283, 0.3296, 0.3332",\
                 "0.3147, 0.3156, 0.318, 0.3209, 0.3235, 0.3256, 0.3274, 0.329, 0.3303, 0.3341",\
                 "0.3079, 0.3084, 0.3101, 0.3131, 0.3165, 0.3199, 0.323, 0.3254, 0.3276, 0.3314",\
                 "0.3165, 0.3165, 0.3157, 0.3155, 0.3165, 0.318, 0.3202, 0.3228, 0.326, 0.3303",\
                 "0.3523, 0.3511, 0.347, 0.3421, 0.3373, 0.334, 0.3321, 0.3309, 0.3311, 0.3362",\
                 "0.4178, 0.4154, 0.4082, 0.3983, 0.3871, 0.3766, 0.3676, 0.3608, 0.3561, 0.3562",\
                 "0.5125, 0.509, 0.4984, 0.4834, 0.4664, 0.4493, 0.4323, 0.417, 0.4053, 0.3998",\
                 "0.6367, 0.6322, 0.6185, 0.5979, 0.5748, 0.5507, 0.5277, 0.5046, 0.4834, 0.4735",\
                 "0.7919, 0.7864, 0.7697, 0.7442, 0.7145, 0.6836, 0.653, 0.6227, 0.5952, 0.5815",\
                 "0.9795, 0.9733, 0.9534, 0.9226, 0.8863, 0.8478, 0.8099, 0.7729, 0.7394, 0.7309");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05759, 0.05761, 0.05753, 0.05755, 0.05762, 0.05762, 0.05765, 0.05767, 0.05768, 0.05768",\
                 "0.05742, 0.05745, 0.05746, 0.05752, 0.05761, 0.0577, 0.05772, 0.05777, 0.05778, 0.05778",\
                 "0.05921, 0.05924, 0.05895, 0.05864, 0.05834, 0.05813, 0.05797, 0.05787, 0.05779, 0.05771",\
                 "0.07275, 0.07218, 0.07059, 0.06845, 0.06649, 0.06467, 0.06333, 0.06204, 0.06117, 0.06044",\
                 "0.1049, 0.1037, 0.09984, 0.09447, 0.08884, 0.08361, 0.07928, 0.07548, 0.07249, 0.06997",\
                 "0.1598, 0.1576, 0.1511, 0.1414, 0.1307, 0.1205, 0.1113, 0.1033, 0.09652, 0.09084",\
                 "0.2394, 0.2363, 0.2269, 0.2125, 0.1959, 0.1793, 0.1638, 0.1498, 0.1377, 0.1273",\
                 "0.3453, 0.3413, 0.3292, 0.3099, 0.2871, 0.2632, 0.2403, 0.2193, 0.2003, 0.1835",\
                 "0.4787, 0.4741, 0.4591, 0.4352, 0.4059, 0.3747, 0.3436, 0.3143, 0.2875, 0.2631",\
                 "0.6409, 0.6355, 0.6185, 0.5899, 0.5545, 0.5153, 0.4758, 0.4377, 0.4019, 0.369");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3208, 0.3213, 0.3226, 0.3239, 0.3252, 0.3261, 0.3271, 0.3277, 0.329, 0.3328",\
                 "0.3139, 0.3148, 0.3171, 0.32, 0.3226, 0.3247, 0.3266, 0.3277, 0.3293, 0.3328",\
                 "0.3075, 0.308, 0.3095, 0.3123, 0.3158, 0.3189, 0.3218, 0.3243, 0.3263, 0.3301",\
                 "0.3166, 0.3164, 0.3156, 0.3152, 0.3159, 0.3174, 0.3194, 0.3219, 0.324, 0.3293",\
                 "0.3528, 0.3517, 0.3478, 0.3428, 0.3378, 0.334, 0.3317, 0.3302, 0.3308, 0.3346",\
                 "0.4195, 0.4172, 0.41, 0.3996, 0.3886, 0.3779, 0.3686, 0.3614, 0.3554, 0.3565",\
                 "0.5154, 0.5119, 0.5015, 0.4865, 0.4693, 0.452, 0.435, 0.4196, 0.407, 0.4021",\
                 "0.641, 0.6365, 0.6228, 0.6026, 0.5795, 0.5559, 0.5321, 0.509, 0.4875, 0.4775",\
                 "0.7978, 0.7925, 0.7756, 0.7505, 0.7207, 0.69, 0.6595, 0.6294, 0.6014, 0.5877",\
                 "0.9875, 0.9812, 0.9615, 0.9312, 0.8946, 0.8567, 0.819, 0.7824, 0.7486, 0.74");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1842, 0.1842, 0.1841, 0.1839, 0.1839, 0.1838, 0.1838, 0.184, 0.1839, 0.1839",\
                 "0.1807, 0.1806, 0.1806, 0.1804, 0.1803, 0.1803, 0.1803, 0.1804, 0.1804, 0.1803",\
                 "0.1786, 0.1785, 0.1782, 0.1779, 0.1775, 0.1773, 0.1772, 0.1771, 0.177, 0.1769",\
                 "0.1871, 0.1868, 0.1855, 0.184, 0.1824, 0.1809, 0.1797, 0.1787, 0.178, 0.1775",\
                 "0.2138, 0.2128, 0.2099, 0.2056, 0.2009, 0.1964, 0.1927, 0.1896, 0.1867, 0.1846",\
                 "0.2644, 0.2628, 0.2574, 0.2492, 0.2396, 0.2303, 0.2216, 0.2143, 0.2081, 0.2028",\
                 "0.3429, 0.3405, 0.3325, 0.3196, 0.3041, 0.2879, 0.2725, 0.2589, 0.2469, 0.2368",\
                 "0.453, 0.4494, 0.4386, 0.4205, 0.398, 0.3737, 0.3503, 0.3283, 0.3086, 0.2916",\
                 "0.5963, 0.5921, 0.5781, 0.5544, 0.5246, 0.4918, 0.4585, 0.427, 0.3978, 0.3717",\
                 "0.7744, 0.7692, 0.7525, 0.7238, 0.6865, 0.6441, 0.6007, 0.5583, 0.5183, 0.4818");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4707, 0.4713, 0.4726, 0.474, 0.4752, 0.4765, 0.4778, 0.479, 0.4808, 0.4863",\
                 "0.4654, 0.4663, 0.4689, 0.472, 0.4747, 0.477, 0.479, 0.4806, 0.4827, 0.4877",\
                 "0.4574, 0.4581, 0.4603, 0.4639, 0.4681, 0.472, 0.4755, 0.4785, 0.4814, 0.4872",\
                 "0.4602, 0.4603, 0.4605, 0.4619, 0.4643, 0.4675, 0.471, 0.4742, 0.4779, 0.4846",\
                 "0.4896, 0.4886, 0.4857, 0.4822, 0.4796, 0.4784, 0.4785, 0.4793, 0.4811, 0.4878",\
                 "0.5552, 0.5528, 0.5457, 0.5361, 0.5261, 0.5175, 0.5106, 0.5055, 0.5033, 0.5066",\
                 "0.6589, 0.6553, 0.6444, 0.6277, 0.6099, 0.5923, 0.5765, 0.5631, 0.5524, 0.5513",\
                 "0.7988, 0.7944, 0.7801, 0.7574, 0.731, 0.7046, 0.6787, 0.6553, 0.6353, 0.6292",\
                 "0.9754, 0.9702, 0.9526, 0.9251, 0.8909, 0.8545, 0.8195, 0.7859, 0.7569, 0.7458",\
                 "1.189, 1.183, 1.164, 1.131, 1.09, 1.045, 0.9989, 0.9559, 0.9185, 0.9092");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1431, 0.1431, 0.143, 0.1429, 0.1429, 0.1429, 0.143, 0.143, 0.143, 0.1429",\
                 "0.1396, 0.1395, 0.1394, 0.1394, 0.1394, 0.1394, 0.1394, 0.1394, 0.1395, 0.1394",\
                 "0.1376, 0.1375, 0.1372, 0.1368, 0.1365, 0.1364, 0.1363, 0.1361, 0.136, 0.136",\
                 "0.1466, 0.1462, 0.145, 0.1433, 0.1416, 0.1401, 0.1388, 0.1378, 0.1371, 0.1365",\
                 "0.175, 0.174, 0.1708, 0.166, 0.161, 0.1562, 0.1521, 0.1488, 0.146, 0.1438",\
                 "0.2288, 0.227, 0.2209, 0.2117, 0.2013, 0.1911, 0.182, 0.1742, 0.1677, 0.1624",\
                 "0.3115, 0.3085, 0.2995, 0.2851, 0.268, 0.2506, 0.2342, 0.2198, 0.2074, 0.197",\
                 "0.4259, 0.422, 0.4097, 0.3894, 0.3648, 0.3389, 0.3136, 0.2906, 0.2703, 0.2525",\
                 "0.5734, 0.5686, 0.5532, 0.5273, 0.4947, 0.4595, 0.4241, 0.391, 0.3607, 0.3339",\
                 "0.7558, 0.7501, 0.7315, 0.7003, 0.6597, 0.6148, 0.5688, 0.5242, 0.4829, 0.4452");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4305, 0.431, 0.4323, 0.4336, 0.435, 0.4362, 0.4372, 0.4384, 0.44, 0.4445",\
                 "0.425, 0.426, 0.4286, 0.4317, 0.4343, 0.4367, 0.4384, 0.4402, 0.442, 0.4465",\
                 "0.4171, 0.4178, 0.42, 0.4236, 0.4278, 0.4315, 0.4351, 0.4377, 0.44, 0.4457",\
                 "0.4198, 0.4199, 0.4202, 0.4216, 0.4241, 0.4272, 0.4306, 0.4338, 0.4373, 0.4432",\
                 "0.4492, 0.4482, 0.4453, 0.442, 0.4393, 0.4379, 0.4381, 0.4388, 0.4404, 0.4465",\
                 "0.5147, 0.5123, 0.5052, 0.4957, 0.4859, 0.4771, 0.47, 0.465, 0.4621, 0.4647",\
                 "0.6186, 0.6151, 0.6039, 0.5873, 0.5693, 0.552, 0.5359, 0.5225, 0.5122, 0.5092",\
                 "0.7592, 0.7545, 0.74, 0.7171, 0.6906, 0.6639, 0.6381, 0.6146, 0.5947, 0.5869",\
                 "0.9365, 0.9311, 0.9132, 0.885, 0.8505, 0.8142, 0.7788, 0.7456, 0.7156, 0.7024",\
                 "1.151, 1.145, 1.125, 1.091, 1.05, 1.005, 0.9585, 0.9152, 0.8769, 0.8645");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1431, 0.1431, 0.143, 0.1428, 0.1428, 0.1429, 0.1429, 0.1429, 0.143, 0.143",\
                 "0.1397, 0.1397, 0.1395, 0.1395, 0.1394, 0.1394, 0.1395, 0.1395, 0.1395, 0.1395",\
                 "0.1378, 0.1377, 0.1374, 0.1371, 0.1366, 0.1364, 0.1363, 0.1362, 0.1361, 0.136",\
                 "0.1477, 0.1472, 0.1459, 0.1441, 0.1422, 0.1407, 0.1392, 0.1382, 0.1375, 0.1369",\
                 "0.178, 0.1769, 0.1736, 0.1688, 0.1633, 0.1581, 0.1539, 0.1503, 0.1474, 0.145",\
                 "0.2346, 0.2326, 0.2266, 0.2172, 0.2063, 0.1956, 0.1861, 0.1779, 0.1709, 0.1653",\
                 "0.321, 0.3179, 0.3087, 0.2941, 0.2765, 0.2587, 0.2419, 0.2268, 0.2137, 0.2027",\
                 "0.4399, 0.4361, 0.4235, 0.4029, 0.3781, 0.3517, 0.326, 0.3024, 0.281, 0.2623",\
                 "0.5932, 0.5885, 0.5727, 0.5467, 0.5136, 0.4778, 0.442, 0.4083, 0.3771, 0.3491",\
                 "0.7823, 0.7766, 0.758, 0.7265, 0.6856, 0.6399, 0.5933, 0.5484, 0.5059, 0.4671");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.43, 0.4304, 0.4317, 0.4331, 0.4345, 0.4357, 0.4369, 0.4379, 0.4394, 0.4439",\
                 "0.4234, 0.4244, 0.4268, 0.4298, 0.4325, 0.4348, 0.4365, 0.4381, 0.44, 0.4449",\
                 "0.4159, 0.4163, 0.4184, 0.4216, 0.4253, 0.4288, 0.4322, 0.435, 0.4374, 0.4431",\
                 "0.4195, 0.4195, 0.4195, 0.4203, 0.4221, 0.4249, 0.4277, 0.4309, 0.434, 0.4403",\
                 "0.4508, 0.4498, 0.4466, 0.4427, 0.4393, 0.4374, 0.4368, 0.4373, 0.4385, 0.4439",\
                 "0.5206, 0.5181, 0.5107, 0.5007, 0.4899, 0.4801, 0.4721, 0.4665, 0.4624, 0.465",\
                 "0.6297, 0.6262, 0.6147, 0.598, 0.5792, 0.5609, 0.5438, 0.5288, 0.5168, 0.5135",\
                 "0.7768, 0.7721, 0.7573, 0.7344, 0.7076, 0.6802, 0.654, 0.6291, 0.6073, 0.5977",\
                 "0.9617, 0.956, 0.9383, 0.9097, 0.8753, 0.8386, 0.8031, 0.7687, 0.7374, 0.723",\
                 "1.186, 1.179, 1.158, 1.125, 1.083, 1.038, 0.9921, 0.9488, 0.9091, 0.8961");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09774, 0.09765, 0.09762, 0.09751, 0.09748, 0.09751, 0.09752, 0.09756, 0.09755, 0.09758",\
                 "0.09414, 0.09411, 0.09411, 0.094, 0.09396, 0.09397, 0.09399, 0.09402, 0.094, 0.09403",\
                 "0.09237, 0.0923, 0.09197, 0.09157, 0.09122, 0.09095, 0.09081, 0.09073, 0.09066, 0.09052",\
                 "0.1037, 0.103, 0.1012, 0.09897, 0.09683, 0.09504, 0.09365, 0.0926, 0.09184, 0.09123",\
                 "0.1365, 0.135, 0.1305, 0.1243, 0.118, 0.1124, 0.1077, 0.1041, 0.1011, 0.09875",\
                 "0.1963, 0.1937, 0.1856, 0.174, 0.1613, 0.1493, 0.1391, 0.1305, 0.1236, 0.1178",\
                 "0.2856, 0.2819, 0.2699, 0.252, 0.2318, 0.2117, 0.1935, 0.1777, 0.1644, 0.1532",\
                 "0.4065, 0.4017, 0.3861, 0.3617, 0.3329, 0.3034, 0.2757, 0.2506, 0.2287, 0.21",\
                 "0.5604, 0.5545, 0.5356, 0.505, 0.4672, 0.4278, 0.3893, 0.3535, 0.3211, 0.2929",\
                 "0.7482, 0.7414, 0.7194, 0.6831, 0.6371, 0.587, 0.537, 0.4896, 0.4456, 0.406");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3622, 0.3628, 0.364, 0.3654, 0.3667, 0.3675, 0.3686, 0.3694, 0.3705, 0.3734",\
                 "0.3568, 0.3578, 0.3603, 0.3633, 0.366, 0.368, 0.3698, 0.3709, 0.3729, 0.3761",\
                 "0.3488, 0.3495, 0.3517, 0.3553, 0.3593, 0.363, 0.3661, 0.3686, 0.3712, 0.3753",\
                 "0.3517, 0.3518, 0.352, 0.3533, 0.3557, 0.3585, 0.3617, 0.3648, 0.3679, 0.3728",\
                 "0.381, 0.3799, 0.3771, 0.374, 0.3709, 0.3696, 0.3693, 0.3697, 0.3711, 0.3768",\
                 "0.447, 0.4444, 0.4371, 0.4275, 0.4177, 0.4087, 0.4015, 0.396, 0.3931, 0.3942",\
                 "0.5519, 0.5481, 0.5364, 0.5192, 0.5009, 0.4837, 0.4677, 0.4533, 0.4416, 0.4386",\
                 "0.6938, 0.6893, 0.6735, 0.6495, 0.6224, 0.5956, 0.5698, 0.5466, 0.5254, 0.515",\
                 "0.8728, 0.8671, 0.8481, 0.8184, 0.7828, 0.7459, 0.7103, 0.6774, 0.647, 0.6301",\
                 "1.089, 1.083, 1.061, 1.026, 0.9828, 0.9365, 0.8903, 0.8465, 0.8072, 0.7914");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&!B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09771, 0.09759, 0.09751, 0.09754, 0.09737, 0.09748, 0.09748, 0.09754, 0.09757, 0.09758",\
                 "0.0942, 0.09421, 0.09413, 0.09407, 0.09391, 0.09391, 0.09402, 0.09404, 0.09407, 0.09409",\
                 "0.09268, 0.09256, 0.09222, 0.09175, 0.09138, 0.09109, 0.09083, 0.09074, 0.09063, 0.09064",\
                 "0.1048, 0.1041, 0.1022, 0.09991, 0.09765, 0.09578, 0.09424, 0.09303, 0.09216, 0.09147",\
                 "0.1397, 0.1381, 0.1335, 0.127, 0.1203, 0.1145, 0.1096, 0.1056, 0.1025, 0.09997",\
                 "0.2023, 0.1996, 0.1914, 0.1794, 0.1663, 0.154, 0.1433, 0.1344, 0.1268, 0.1208",\
                 "0.2953, 0.2915, 0.2793, 0.2611, 0.2405, 0.2199, 0.2013, 0.1848, 0.1708, 0.1591",\
                 "0.4207, 0.4159, 0.4001, 0.3756, 0.3462, 0.3164, 0.288, 0.2623, 0.2397, 0.22",\
                 "0.5802, 0.5742, 0.5552, 0.5244, 0.4863, 0.4464, 0.4075, 0.3708, 0.3378, 0.3085",\
                 "0.7751, 0.768, 0.7458, 0.7093, 0.6631, 0.6125, 0.5618, 0.5136, 0.469, 0.4282");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3617, 0.3623, 0.3635, 0.3649, 0.366, 0.3671, 0.368, 0.3689, 0.3702, 0.3734",\
                 "0.3552, 0.3562, 0.3586, 0.3614, 0.3641, 0.3661, 0.368, 0.3689, 0.3709, 0.3744",\
                 "0.3476, 0.3482, 0.3501, 0.3533, 0.3569, 0.3604, 0.3634, 0.3659, 0.3686, 0.3723",\
                 "0.3513, 0.3513, 0.3514, 0.352, 0.3537, 0.3564, 0.3591, 0.3618, 0.3646, 0.3699",\
                 "0.3825, 0.3816, 0.3785, 0.3746, 0.371, 0.3688, 0.3678, 0.3679, 0.3691, 0.3742",\
                 "0.4528, 0.4502, 0.4426, 0.4324, 0.4216, 0.4119, 0.4036, 0.3974, 0.3934, 0.3939",\
                 "0.5632, 0.5592, 0.5471, 0.5298, 0.5109, 0.493, 0.4759, 0.46, 0.4476, 0.4425",\
                 "0.7115, 0.7065, 0.6908, 0.6668, 0.6395, 0.612, 0.5856, 0.5609, 0.538, 0.5261",\
                 "0.8983, 0.8921, 0.873, 0.8431, 0.8078, 0.7709, 0.7344, 0.7004, 0.6688, 0.6508",\
                 "1.124, 1.117, 1.095, 1.059, 1.016, 0.9702, 0.9241, 0.8801, 0.8404, 0.8228");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09772, 0.09759, 0.09752, 0.09755, 0.09737, 0.09749, 0.09749, 0.09755, 0.09757, 0.09758",\
                 "0.09413, 0.09413, 0.09412, 0.09406, 0.09388, 0.09388, 0.09394, 0.09398, 0.09404, 0.09402",\
                 "0.09268, 0.09256, 0.09222, 0.09175, 0.09138, 0.09109, 0.09084, 0.09074, 0.09064, 0.09064",\
                 "0.1049, 0.1041, 0.1022, 0.0999, 0.09764, 0.09573, 0.09424, 0.09304, 0.09217, 0.09143",\
                 "0.1397, 0.1381, 0.1335, 0.1269, 0.1204, 0.1144, 0.1095, 0.1057, 0.1025, 0.09998",\
                 "0.2023, 0.1996, 0.1914, 0.1795, 0.1663, 0.154, 0.1433, 0.1343, 0.1268, 0.1208",\
                 "0.2953, 0.2915, 0.2793, 0.2612, 0.2405, 0.22, 0.2013, 0.1848, 0.1708, 0.1591",\
                 "0.4207, 0.4158, 0.4001, 0.3756, 0.3462, 0.3164, 0.288, 0.2623, 0.2396, 0.22",\
                 "0.5802, 0.5742, 0.5552, 0.5244, 0.4864, 0.4464, 0.4075, 0.3708, 0.3378, 0.3085",\
                 "0.7749, 0.768, 0.7458, 0.7093, 0.6631, 0.6125, 0.5618, 0.5136, 0.469, 0.4282");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3617, 0.3623, 0.3634, 0.3648, 0.3659, 0.3671, 0.368, 0.3688, 0.3702, 0.3731",\
                 "0.3552, 0.3562, 0.3586, 0.3614, 0.3641, 0.3661, 0.368, 0.3692, 0.3702, 0.3737",\
                 "0.3476, 0.3482, 0.3501, 0.3533, 0.3569, 0.3603, 0.3634, 0.3656, 0.3686, 0.3726",\
                 "0.3513, 0.3513, 0.3514, 0.352, 0.3537, 0.3564, 0.3591, 0.3617, 0.3653, 0.3699",\
                 "0.3825, 0.3816, 0.3784, 0.3746, 0.371, 0.3688, 0.3678, 0.3679, 0.3691, 0.3735",\
                 "0.4528, 0.4502, 0.4426, 0.4324, 0.4216, 0.4119, 0.4036, 0.3977, 0.3934, 0.3939",\
                 "0.5632, 0.5592, 0.5471, 0.5298, 0.5109, 0.4932, 0.4758, 0.4599, 0.4476, 0.4425",\
                 "0.7115, 0.7065, 0.6908, 0.6669, 0.6395, 0.612, 0.5856, 0.5608, 0.5382, 0.5261",\
                 "0.8983, 0.8925, 0.8729, 0.8431, 0.8078, 0.7709, 0.7346, 0.7004, 0.6688, 0.6501",\
                 "1.124, 1.117, 1.095, 1.059, 1.016, 0.9702, 0.9238, 0.8801, 0.8404, 0.8228");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&B1&B2&B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.0976, 0.09762, 0.0975, 0.09751, 0.09734, 0.0974, 0.09746, 0.09754, 0.09757, 0.09759",\
                 "0.09414, 0.09421, 0.09404, 0.0939, 0.09382, 0.09391, 0.09394, 0.09396, 0.09401, 0.09402",\
                 "0.09279, 0.09265, 0.09228, 0.09183, 0.09142, 0.09113, 0.09088, 0.09078, 0.09066, 0.09065",\
                 "0.1053, 0.1046, 0.1027, 0.1003, 0.09798, 0.09603, 0.09446, 0.09315, 0.0923, 0.0916",\
                 "0.1408, 0.1394, 0.1347, 0.128, 0.1212, 0.1153, 0.1103, 0.1062, 0.103, 0.1004",\
                 "0.2045, 0.2017, 0.1935, 0.1815, 0.1683, 0.1559, 0.1449, 0.1357, 0.1282, 0.1219",\
                 "0.2986, 0.2949, 0.2829, 0.2646, 0.2437, 0.223, 0.2042, 0.1876, 0.1733, 0.1612",\
                 "0.4259, 0.4208, 0.4051, 0.3806, 0.3512, 0.3211, 0.2926, 0.2667, 0.2438, 0.2238",\
                 "0.5873, 0.5812, 0.5622, 0.5316, 0.4933, 0.4532, 0.4139, 0.3772, 0.3439, 0.3142",\
                 "0.7843, 0.7774, 0.755, 0.7185, 0.6725, 0.6217, 0.5707, 0.5226, 0.4775, 0.4366");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3613, 0.3619, 0.363, 0.3645, 0.3659, 0.3667, 0.3675, 0.3686, 0.3699, 0.3731",\
                 "0.3545, 0.3553, 0.3577, 0.3606, 0.3631, 0.3651, 0.3669, 0.3681, 0.3699, 0.3731",\
                 "0.3472, 0.3478, 0.3495, 0.3524, 0.3558, 0.3592, 0.3623, 0.3649, 0.3672, 0.3716",\
                 "0.3511, 0.351, 0.3511, 0.3516, 0.3532, 0.3556, 0.3581, 0.3606, 0.3636, 0.3686",\
                 "0.3831, 0.3821, 0.3787, 0.3749, 0.3711, 0.3687, 0.3676, 0.3673, 0.3684, 0.3725",\
                 "0.4548, 0.4521, 0.4445, 0.4341, 0.4233, 0.4131, 0.4047, 0.398, 0.3937, 0.3939",\
                 "0.5671, 0.563, 0.5508, 0.5336, 0.5148, 0.4961, 0.4788, 0.4626, 0.4499, 0.4442",\
                 "0.7177, 0.7128, 0.6967, 0.673, 0.6454, 0.6177, 0.5914, 0.5663, 0.5431, 0.5301",\
                 "0.9069, 0.9008, 0.8818, 0.8519, 0.8163, 0.7793, 0.7437, 0.7089, 0.6771, 0.6583",\
                 "1.136, 1.129, 1.107, 1.071, 1.028, 0.9816, 0.9365, 0.892, 0.8523, 0.8348");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&!A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1003, 0.1004, 0.1007, 0.1008, 0.101, 0.1012, 0.1013, 0.1015, 0.1015, 0.1015",\
                 "0.1008, 0.1011, 0.1018, 0.1026, 0.1032, 0.1037, 0.104, 0.1043, 0.1044, 0.1045",\
                 "0.1015, 0.1017, 0.1026, 0.1037, 0.1049, 0.1058, 0.1066, 0.1072, 0.1075, 0.1077",\
                 "0.1077, 0.1076, 0.1078, 0.1083, 0.1088, 0.1092, 0.1095, 0.1097, 0.1099, 0.11",\
                 "0.1265, 0.126, 0.1249, 0.1236, 0.122, 0.1208, 0.1195, 0.1184, 0.1174, 0.1164",\
                 "0.1627, 0.1618, 0.1591, 0.1549, 0.1503, 0.1459, 0.1417, 0.1379, 0.1347, 0.1318",\
                 "0.2197, 0.2182, 0.2136, 0.2061, 0.1975, 0.1888, 0.1804, 0.1727, 0.1658, 0.1596",\
                 "0.2992, 0.2972, 0.2907, 0.2799, 0.2668, 0.2527, 0.2389, 0.2261, 0.2144, 0.2038",\
                 "0.4035, 0.4008, 0.3923, 0.3783, 0.3602, 0.3404, 0.3204, 0.3011, 0.2835, 0.2672",\
                 "0.5341, 0.5307, 0.5201, 0.5023, 0.4794, 0.4535, 0.4267, 0.4005, 0.3756, 0.3526");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5716, 0.5717, 0.5719, 0.5722, 0.5727, 0.5735, 0.5742, 0.5753, 0.5771, 0.582",\
                 "0.5668, 0.567, 0.5674, 0.5682, 0.569, 0.57, 0.5712, 0.5721, 0.5738, 0.5791",\
                 "0.5649, 0.565, 0.5651, 0.5655, 0.5663, 0.5675, 0.5688, 0.5702, 0.5714, 0.5776",\
                 "0.5807, 0.5802, 0.5785, 0.5763, 0.5745, 0.5734, 0.573, 0.5729, 0.574, 0.5796",\
                 "0.6172, 0.6161, 0.6124, 0.6068, 0.6006, 0.595, 0.5908, 0.5872, 0.5856, 0.5899",\
                 "0.6751, 0.6735, 0.6683, 0.6592, 0.6486, 0.6374, 0.6271, 0.6188, 0.6129, 0.614",\
                 "0.7556, 0.7535, 0.7466, 0.735, 0.7201, 0.704, 0.6872, 0.672, 0.6597, 0.6583",\
                 "0.861, 0.8582, 0.8495, 0.8352, 0.8168, 0.7954, 0.7729, 0.7506, 0.7318, 0.7285",\
                 "0.9931, 0.9896, 0.9795, 0.9621, 0.9395, 0.9138, 0.8854, 0.857, 0.8323, 0.8312",\
                 "1.153, 1.149, 1.138, 1.118, 1.091, 1.06, 1.026, 0.9918, 0.9653, 0.976");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05768, 0.05779, 0.05801, 0.05834, 0.05862, 0.05883, 0.05889, 0.05902, 0.05906, 0.05904",\
                 "0.05807, 0.05841, 0.05908, 0.06003, 0.06081, 0.06132, 0.06167, 0.06187, 0.06201, 0.06211",\
                 "0.05794, 0.05828, 0.0594, 0.06079, 0.0622, 0.06325, 0.06411, 0.06468, 0.06502, 0.0653",\
                 "0.06386, 0.06393, 0.06434, 0.06509, 0.06585, 0.06645, 0.06686, 0.06716, 0.06737, 0.06751",\
                 "0.08357, 0.08319, 0.08211, 0.08075, 0.0794, 0.07819, 0.077, 0.07593, 0.07497, 0.07399",\
                 "0.1215, 0.1205, 0.1175, 0.1133, 0.1085, 0.104, 0.09966, 0.09586, 0.09245, 0.08949",\
                 "0.1808, 0.1792, 0.1742, 0.1663, 0.1572, 0.1478, 0.1392, 0.1312, 0.1241, 0.1177",\
                 "0.2634, 0.2611, 0.2539, 0.2423, 0.2283, 0.2133, 0.1988, 0.1855, 0.1734, 0.1625",\
                 "0.3708, 0.3679, 0.3583, 0.343, 0.3237, 0.3027, 0.2817, 0.2616, 0.2432, 0.2267",\
                 "0.5044, 0.5008, 0.489, 0.4695, 0.4449, 0.4175, 0.3894, 0.3623, 0.3365, 0.3128");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5313, 0.5313, 0.5315, 0.5319, 0.5324, 0.5331, 0.5338, 0.5348, 0.5364, 0.541",\
                 "0.5265, 0.5266, 0.5271, 0.5278, 0.5287, 0.5296, 0.5308, 0.5319, 0.5331, 0.5377",\
                 "0.5246, 0.5246, 0.5247, 0.5252, 0.5259, 0.5269, 0.5281, 0.5297, 0.5312, 0.5363",\
                 "0.5404, 0.5398, 0.5382, 0.5361, 0.5341, 0.533, 0.5324, 0.5326, 0.5334, 0.5383",\
                 "0.577, 0.5758, 0.5722, 0.5665, 0.5602, 0.5545, 0.5498, 0.5467, 0.5451, 0.5481",\
                 "0.6347, 0.6331, 0.628, 0.6189, 0.6083, 0.5972, 0.587, 0.5784, 0.5718, 0.5723",\
                 "0.715, 0.713, 0.706, 0.6945, 0.6798, 0.6634, 0.6469, 0.6315, 0.6191, 0.6166",\
                 "0.8205, 0.8177, 0.8092, 0.7944, 0.7762, 0.7551, 0.7324, 0.7103, 0.6915, 0.6862",\
                 "0.9527, 0.9496, 0.9387, 0.9215, 0.899, 0.8733, 0.8451, 0.8155, 0.7908, 0.7874",\
                 "1.113, 1.109, 1.098, 1.077, 1.05, 1.019, 0.9858, 0.9507, 0.922, 0.9306");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05771, 0.05795, 0.05808, 0.05833, 0.05858, 0.05878, 0.05891, 0.05897, 0.05906, 0.05903",\
                 "0.0581, 0.05844, 0.05913, 0.06004, 0.06085, 0.0613, 0.06168, 0.06186, 0.06199, 0.06209",\
                 "0.05833, 0.05873, 0.0598, 0.0612, 0.06239, 0.06344, 0.06418, 0.06471, 0.06512, 0.06538",\
                 "0.06539, 0.06548, 0.06576, 0.06636, 0.06697, 0.06736, 0.06769, 0.06777, 0.06792, 0.06801",\
                 "0.08626, 0.08587, 0.08487, 0.08333, 0.08171, 0.08021, 0.07881, 0.07747, 0.07624, 0.07515",\
                 "0.1253, 0.1242, 0.1213, 0.1169, 0.1119, 0.1071, 0.1025, 0.09837, 0.0947, 0.09139",\
                 "0.1856, 0.1839, 0.179, 0.1711, 0.1617, 0.1521, 0.1431, 0.1348, 0.1273, 0.1207",\
                 "0.269, 0.2668, 0.2595, 0.2479, 0.2337, 0.2186, 0.2038, 0.1901, 0.1777, 0.1665",\
                 "0.3773, 0.3743, 0.3648, 0.3492, 0.3299, 0.3089, 0.2877, 0.2675, 0.2486, 0.2318",\
                 "0.5116, 0.5079, 0.4962, 0.4769, 0.4523, 0.4249, 0.3967, 0.369, 0.343, 0.319");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5671, 0.5672, 0.5674, 0.5678, 0.5682, 0.5689, 0.5699, 0.5708, 0.5728, 0.5768",\
                 "0.5627, 0.5629, 0.5635, 0.5643, 0.5653, 0.5663, 0.5674, 0.5686, 0.5702, 0.575",\
                 "0.5609, 0.5609, 0.5612, 0.5618, 0.5627, 0.564, 0.5652, 0.5666, 0.5686, 0.5736",\
                 "0.5764, 0.5759, 0.5746, 0.5728, 0.5711, 0.57, 0.5697, 0.57, 0.5711, 0.5763",\
                 "0.6124, 0.6115, 0.6084, 0.6035, 0.5979, 0.5923, 0.5881, 0.5849, 0.5831, 0.587",\
                 "0.6698, 0.6683, 0.6637, 0.656, 0.6462, 0.6362, 0.6265, 0.6178, 0.6111, 0.6122",\
                 "0.7494, 0.7479, 0.7416, 0.7317, 0.7185, 0.7033, 0.688, 0.6732, 0.6613, 0.6588",\
                 "0.8544, 0.852, 0.8445, 0.8315, 0.8149, 0.7957, 0.7749, 0.7537, 0.7354, 0.7309",\
                 "0.9859, 0.9833, 0.9739, 0.9585, 0.9379, 0.9141, 0.888, 0.8615, 0.8381, 0.8364",\
                 "1.146, 1.143, 1.132, 1.113, 1.089, 1.06, 1.029, 0.9978, 0.9718, 0.9831");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.0123, 0.01241, 0.01292, 0.01335, 0.01358, 0.01378, 0.01384, 0.01395, 0.01399, 0.014",\
                 "0.01128, 0.01178, 0.01332, 0.01462, 0.0156, 0.0162, 0.01656, 0.01681, 0.01695, 0.01703",\
                 "0.009342, 0.01006, 0.0121, 0.01446, 0.01641, 0.01781, 0.01884, 0.01947, 0.01991, 0.02022",\
                 "0.01679, 0.01702, 0.01782, 0.01901, 0.02017, 0.02104, 0.02163, 0.02201, 0.02227, 0.02243",\
                 "0.03957, 0.03907, 0.03776, 0.03618, 0.03476, 0.03343, 0.03222, 0.03105, 0.03003, 0.02909",\
                 "0.0815, 0.08027, 0.07653, 0.0712, 0.06556, 0.06044, 0.05577, 0.05165, 0.04802, 0.04486",\
                 "0.1452, 0.1431, 0.1369, 0.1273, 0.1166, 0.106, 0.09649, 0.08802, 0.08045, 0.07379",\
                 "0.2326, 0.2297, 0.2206, 0.2067, 0.1903, 0.1736, 0.1578, 0.1434, 0.1307, 0.1193",\
                 "0.345, 0.3412, 0.3293, 0.3109, 0.2888, 0.2654, 0.2424, 0.2211, 0.2018, 0.1845",\
                 "0.4831, 0.4786, 0.4642, 0.4412, 0.4131, 0.383, 0.3526, 0.3235, 0.2964, 0.2717");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.463, 0.463, 0.4632, 0.4635, 0.4642, 0.4647, 0.4655, 0.4664, 0.4675, 0.4714",\
                 "0.4582, 0.4583, 0.4588, 0.4595, 0.4603, 0.4612, 0.4624, 0.4632, 0.4646, 0.4684",\
                 "0.4564, 0.4563, 0.4564, 0.4568, 0.4576, 0.4587, 0.4597, 0.4613, 0.4625, 0.4667",\
                 "0.4722, 0.4716, 0.4699, 0.4677, 0.4658, 0.4646, 0.4641, 0.4641, 0.4648, 0.4687",\
                 "0.5088, 0.5077, 0.504, 0.4982, 0.4919, 0.4861, 0.4818, 0.4782, 0.4765, 0.4783",\
                 "0.5663, 0.5646, 0.5597, 0.5508, 0.5401, 0.5291, 0.5186, 0.51, 0.5033, 0.503",\
                 "0.6472, 0.645, 0.638, 0.6265, 0.6119, 0.5952, 0.5788, 0.563, 0.5508, 0.5463",\
                 "0.7526, 0.75, 0.7411, 0.7267, 0.7083, 0.6872, 0.6642, 0.6425, 0.6225, 0.6148",\
                 "0.885, 0.8816, 0.8712, 0.854, 0.8311, 0.8049, 0.7767, 0.7483, 0.7221, 0.7146",\
                 "1.045, 1.042, 1.03, 1.009, 0.9823, 0.9504, 0.9166, 0.8827, 0.8522, 0.8551");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.01219, 0.01243, 0.01292, 0.01335, 0.01361, 0.01374, 0.01385, 0.01393, 0.01397, 0.01399",\
                 "0.01128, 0.01187, 0.01332, 0.01468, 0.01563, 0.01623, 0.01657, 0.01677, 0.01694, 0.01703",\
                 "0.009892, 0.01065, 0.01258, 0.01483, 0.01669, 0.01801, 0.01895, 0.01955, 0.01997, 0.02025",\
                 "0.01854, 0.01874, 0.01944, 0.02044, 0.02135, 0.02202, 0.02247, 0.02266, 0.02283, 0.02293",\
                 "0.04228, 0.04186, 0.04051, 0.03882, 0.03715, 0.0355, 0.03405, 0.03265, 0.03137, 0.03026",\
                 "0.08533, 0.08408, 0.08032, 0.07488, 0.06898, 0.06365, 0.05862, 0.05419, 0.05033, 0.04696",\
                 "0.1499, 0.1478, 0.1416, 0.132, 0.1211, 0.1103, 0.1004, 0.0916, 0.08372, 0.07668",\
                 "0.2382, 0.2353, 0.2263, 0.2123, 0.196, 0.1789, 0.1629, 0.1482, 0.135, 0.1233",\
                 "0.3513, 0.3476, 0.3358, 0.3173, 0.2952, 0.2717, 0.2486, 0.227, 0.2071, 0.1894",\
                 "0.4902, 0.4858, 0.4715, 0.4486, 0.4205, 0.3901, 0.3597, 0.3303, 0.3031, 0.278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4989, 0.499, 0.4992, 0.4996, 0.5, 0.5005, 0.5013, 0.5024, 0.5036, 0.5077",\
                 "0.4945, 0.4946, 0.4952, 0.496, 0.497, 0.4981, 0.499, 0.5005, 0.5016, 0.5054",\
                 "0.4926, 0.4926, 0.4929, 0.4935, 0.4944, 0.4955, 0.4971, 0.4982, 0.4998, 0.5043",\
                 "0.5081, 0.5077, 0.5063, 0.5044, 0.5028, 0.5018, 0.5018, 0.5014, 0.5025, 0.5064",\
                 "0.5442, 0.5433, 0.5402, 0.5352, 0.5296, 0.5241, 0.52, 0.517, 0.5145, 0.5172",\
                 "0.6013, 0.6001, 0.5953, 0.5878, 0.578, 0.568, 0.5579, 0.5495, 0.5427, 0.5425",\
                 "0.6814, 0.6796, 0.6733, 0.6636, 0.65, 0.6353, 0.6198, 0.6051, 0.5925, 0.5884",\
                 "0.7864, 0.7843, 0.7764, 0.7634, 0.7466, 0.7274, 0.7066, 0.6855, 0.6668, 0.6611",\
                 "0.9182, 0.9154, 0.9062, 0.8899, 0.8697, 0.8457, 0.8201, 0.793, 0.7683, 0.7628",\
                 "1.079, 1.075, 1.064, 1.045, 1.021, 0.992, 0.9613, 0.9294, 0.9013, 0.9078");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.01219, 0.01243, 0.01292, 0.01335, 0.01361, 0.01378, 0.01385, 0.01393, 0.01398, 0.01399",\
                 "0.01134, 0.012, 0.01332, 0.01468, 0.01563, 0.01623, 0.01657, 0.01679, 0.01693, 0.01701",\
                 "0.00989, 0.01066, 0.01257, 0.01483, 0.01668, 0.01801, 0.01895, 0.01955, 0.01997, 0.02025",\
                 "0.01856, 0.01871, 0.01943, 0.02044, 0.02135, 0.02202, 0.02247, 0.02266, 0.02279, 0.02292",\
                 "0.04228, 0.04186, 0.04051, 0.03882, 0.03715, 0.0355, 0.03405, 0.03265, 0.03137, 0.03026",\
                 "0.08533, 0.08408, 0.08032, 0.07488, 0.06898, 0.06365, 0.05862, 0.05419, 0.05033, 0.04696",\
                 "0.1499, 0.1478, 0.1416, 0.132, 0.1211, 0.1104, 0.1005, 0.09165, 0.08373, 0.07666",\
                 "0.2382, 0.2353, 0.2262, 0.2123, 0.196, 0.1789, 0.1629, 0.1482, 0.135, 0.1233",\
                 "0.3513, 0.3477, 0.3358, 0.3173, 0.2952, 0.2717, 0.2487, 0.227, 0.2071, 0.1894",\
                 "0.4902, 0.4858, 0.4715, 0.4486, 0.4205, 0.3901, 0.3597, 0.3304, 0.3031, 0.278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4989, 0.499, 0.4992, 0.4996, 0.5, 0.5005, 0.5013, 0.5023, 0.5036, 0.5077",\
                 "0.4945, 0.4946, 0.4952, 0.496, 0.497, 0.4981, 0.4992, 0.5002, 0.5016, 0.5054",\
                 "0.4926, 0.4926, 0.4929, 0.4935, 0.4944, 0.4955, 0.4967, 0.4986, 0.5002, 0.5043",\
                 "0.508, 0.5077, 0.5063, 0.5044, 0.5028, 0.5018, 0.5015, 0.5014, 0.5025, 0.5064",\
                 "0.5443, 0.5433, 0.5402, 0.5352, 0.5297, 0.5241, 0.5198, 0.5163, 0.5145, 0.5172",\
                 "0.6013, 0.6002, 0.5953, 0.5878, 0.5781, 0.5677, 0.5583, 0.5496, 0.543, 0.5426",\
                 "0.6815, 0.6798, 0.6737, 0.6635, 0.6501, 0.6352, 0.6201, 0.605, 0.5921, 0.5888",\
                 "0.7867, 0.7842, 0.7762, 0.7633, 0.7466, 0.7275, 0.7067, 0.6855, 0.6665, 0.6598",\
                 "0.9182, 0.9155, 0.9062, 0.8901, 0.8697, 0.8456, 0.8202, 0.7931, 0.7689, 0.7632",\
                 "1.079, 1.075, 1.064, 1.045, 1.021, 0.992, 0.961, 0.9294, 0.9013, 0.9075");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&A3&!B2&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.01221, 0.01248, 0.01292, 0.01335, 0.0136, 0.01375, 0.01385, 0.01392, 0.01396, 0.01398",\
                 "0.01141, 0.01201, 0.01336, 0.01467, 0.01563, 0.01619, 0.01656, 0.01675, 0.01693, 0.01703",\
                 "0.01023, 0.01092, 0.0127, 0.01498, 0.01682, 0.01812, 0.019, 0.01958, 0.01999, 0.02027",\
                 "0.01935, 0.01947, 0.02008, 0.02092, 0.02184, 0.02242, 0.0228, 0.02296, 0.02304, 0.0231",\
                 "0.04335, 0.0428, 0.04148, 0.03972, 0.03797, 0.03629, 0.03469, 0.03318, 0.03187, 0.03066",\
                 "0.0865, 0.08527, 0.08153, 0.0761, 0.0703, 0.06482, 0.05967, 0.05511, 0.0511, 0.04762",\
                 "0.1513, 0.1491, 0.143, 0.1335, 0.1226, 0.1118, 0.1018, 0.0929, 0.08487, 0.07778",\
                 "0.2397, 0.2369, 0.2279, 0.2141, 0.1977, 0.1808, 0.1645, 0.1497, 0.1365, 0.1246",\
                 "0.353, 0.3492, 0.3375, 0.3194, 0.2972, 0.2738, 0.2506, 0.2289, 0.2089, 0.1911",\
                 "0.4921, 0.4876, 0.4734, 0.4507, 0.4228, 0.3923, 0.362, 0.3327, 0.3054, 0.2801");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5339, 0.534, 0.5342, 0.5345, 0.535, 0.5358, 0.5364, 0.5375, 0.5389, 0.543",\
                 "0.5297, 0.5299, 0.5304, 0.5313, 0.5323, 0.5334, 0.5345, 0.5357, 0.5369, 0.5413",\
                 "0.5278, 0.5277, 0.5281, 0.5288, 0.5298, 0.5309, 0.5323, 0.5337, 0.5355, 0.5402",\
                 "0.5427, 0.5422, 0.5409, 0.5395, 0.5379, 0.5372, 0.5369, 0.5369, 0.5381, 0.542",\
                 "0.5781, 0.577, 0.5744, 0.5698, 0.5646, 0.5596, 0.5557, 0.5526, 0.5502, 0.5525",\
                 "0.6347, 0.6334, 0.6293, 0.6221, 0.6134, 0.6029, 0.5938, 0.5857, 0.5793, 0.5788",\
                 "0.7144, 0.7125, 0.7065, 0.6971, 0.6847, 0.6702, 0.6555, 0.6416, 0.629, 0.6256",\
                 "0.8184, 0.8159, 0.8089, 0.7967, 0.7812, 0.7626, 0.7424, 0.7219, 0.704, 0.6976",\
                 "0.9494, 0.9465, 0.9379, 0.9229, 0.9035, 0.8808, 0.856, 0.8304, 0.8061, 0.8027",\
                 "1.109, 1.106, 1.095, 1.078, 1.054, 1.026, 0.9974, 0.9661, 0.94, 0.948");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&!A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1455, 0.1454, 0.1454, 0.1454, 0.1454, 0.1455, 0.1455, 0.1455, 0.1456, 0.1456",\
                 "0.1449, 0.145, 0.145, 0.1451, 0.1453, 0.1454, 0.1455, 0.1455, 0.1456, 0.1456",\
                 "0.1431, 0.1432, 0.1433, 0.1437, 0.144, 0.1445, 0.1447, 0.1448, 0.145, 0.145",\
                 "0.1462, 0.146, 0.1458, 0.1458, 0.1458, 0.1456, 0.1456, 0.1455, 0.1454, 0.1454",\
                 "0.1637, 0.1633, 0.1621, 0.16, 0.1581, 0.1563, 0.1547, 0.1532, 0.1518, 0.1508",\
                 "0.2019, 0.201, 0.1982, 0.1934, 0.1882, 0.1828, 0.1779, 0.1733, 0.1695, 0.1662",\
                 "0.2637, 0.2623, 0.2574, 0.2495, 0.2401, 0.2301, 0.2203, 0.2112, 0.2029, 0.1959",\
                 "0.3525, 0.3504, 0.3434, 0.3317, 0.317, 0.3014, 0.2855, 0.2706, 0.2567, 0.2442",\
                 "0.4692, 0.4666, 0.4571, 0.4416, 0.4216, 0.3994, 0.3768, 0.3547, 0.3339, 0.3149",\
                 "0.6161, 0.6125, 0.6006, 0.5812, 0.5556, 0.5266, 0.4963, 0.4665, 0.4378, 0.4109");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6399, 0.64, 0.6401, 0.6404, 0.6409, 0.6416, 0.6426, 0.6434, 0.6448, 0.65",\
                 "0.6354, 0.6355, 0.636, 0.6366, 0.6373, 0.6382, 0.6393, 0.6402, 0.6418, 0.6473",\
                 "0.6291, 0.6294, 0.6301, 0.6313, 0.6328, 0.6344, 0.636, 0.6373, 0.6392, 0.6452",\
                 "0.6321, 0.6321, 0.632, 0.6321, 0.6326, 0.6337, 0.635, 0.6363, 0.638, 0.6449",\
                 "0.6595, 0.6586, 0.6563, 0.6529, 0.6496, 0.6471, 0.6453, 0.6445, 0.6447, 0.6506",\
                 "0.7174, 0.7159, 0.7108, 0.7031, 0.6938, 0.6851, 0.6775, 0.6714, 0.6671, 0.6712",\
                 "0.8059, 0.8037, 0.7965, 0.7842, 0.7695, 0.7533, 0.7381, 0.724, 0.7137, 0.7138",\
                 "0.9241, 0.9214, 0.9116, 0.8958, 0.8757, 0.8533, 0.8297, 0.8079, 0.7893, 0.7857",\
                 "1.074, 1.07, 1.059, 1.039, 1.013, 0.9846, 0.9542, 0.9239, 0.8971, 0.8934",\
                 "1.255, 1.251, 1.238, 1.215, 1.184, 1.149, 1.111, 1.073, 1.042, 1.046");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.103, 0.1029, 0.1029, 0.1029, 0.103, 0.1031, 0.1031, 0.1032, 0.1031, 0.1032",\
                 "0.1025, 0.1025, 0.1024, 0.1026, 0.1028, 0.103, 0.1031, 0.1031, 0.1032, 0.1032",\
                 "0.1003, 0.1004, 0.1006, 0.1011, 0.1015, 0.1019, 0.1022, 0.1024, 0.1025, 0.1026",\
                 "0.103, 0.103, 0.103, 0.1029, 0.1031, 0.1031, 0.103, 0.103, 0.103, 0.1029",\
                 "0.1213, 0.121, 0.1197, 0.1177, 0.1158, 0.114, 0.1122, 0.1108, 0.1094, 0.1084",\
                 "0.1614, 0.1603, 0.1572, 0.1523, 0.1468, 0.1412, 0.136, 0.1314, 0.1274, 0.124",\
                 "0.2261, 0.2243, 0.219, 0.2104, 0.2002, 0.1896, 0.1794, 0.1699, 0.1615, 0.1541",\
                 "0.3178, 0.3153, 0.3076, 0.2949, 0.2792, 0.2626, 0.2459, 0.2303, 0.216, 0.2031",\
                 "0.4382, 0.4351, 0.4247, 0.4077, 0.386, 0.3626, 0.3388, 0.3159, 0.2942, 0.2746",\
                 "0.5883, 0.5848, 0.5715, 0.55, 0.5228, 0.492, 0.4601, 0.4289, 0.3993, 0.3717");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5996, 0.5996, 0.5997, 0.6, 0.6005, 0.6012, 0.6019, 0.6028, 0.6045, 0.609",\
                 "0.5951, 0.5952, 0.5956, 0.5962, 0.5969, 0.5977, 0.5987, 0.5999, 0.6012, 0.606",\
                 "0.5888, 0.589, 0.5898, 0.591, 0.5925, 0.5938, 0.5954, 0.5968, 0.5989, 0.6039",\
                 "0.5918, 0.5917, 0.5917, 0.5918, 0.5921, 0.5933, 0.5945, 0.5959, 0.5978, 0.6036",\
                 "0.6191, 0.6182, 0.6159, 0.6126, 0.6092, 0.6064, 0.6046, 0.6042, 0.6039, 0.6091",\
                 "0.6769, 0.6757, 0.6705, 0.6628, 0.6533, 0.6445, 0.6371, 0.6307, 0.627, 0.6294",\
                 "0.7654, 0.7632, 0.7555, 0.7439, 0.7292, 0.7128, 0.6973, 0.6836, 0.673, 0.671",\
                 "0.8838, 0.881, 0.8712, 0.8551, 0.8351, 0.8128, 0.7892, 0.7669, 0.7482, 0.743",\
                 "1.033, 1.03, 1.018, 0.9987, 0.9726, 0.944, 0.9139, 0.8831, 0.8559, 0.8498",\
                 "1.215, 1.211, 1.198, 1.175, 1.144, 1.108, 1.071, 1.033, 1, 0.9999");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.103, 0.1028, 0.1027, 0.1029, 0.103, 0.103, 0.1032, 0.1031, 0.1032, 0.1031",\
                 "0.1025, 0.1026, 0.1026, 0.1026, 0.1028, 0.103, 0.1031, 0.1031, 0.1031, 0.1032",\
                 "0.1006, 0.1007, 0.101, 0.1011, 0.1016, 0.102, 0.1022, 0.1024, 0.1026, 0.1026",\
                 "0.1041, 0.1041, 0.1041, 0.1039, 0.1038, 0.1038, 0.1037, 0.1035, 0.1034, 0.1033",\
                 "0.124, 0.1236, 0.1222, 0.1201, 0.1179, 0.1157, 0.1138, 0.1122, 0.1107, 0.1094",\
                 "0.1653, 0.1643, 0.161, 0.1562, 0.1503, 0.1444, 0.1389, 0.134, 0.1296, 0.126",\
                 "0.2315, 0.2298, 0.2242, 0.2155, 0.205, 0.194, 0.1835, 0.1736, 0.1649, 0.1572",\
                 "0.3245, 0.3219, 0.3141, 0.3012, 0.2853, 0.2682, 0.2515, 0.2354, 0.2207, 0.2073",\
                 "0.4459, 0.4427, 0.4324, 0.4151, 0.3935, 0.3696, 0.3455, 0.3222, 0.3003, 0.2801",\
                 "0.5974, 0.5934, 0.5806, 0.559, 0.5312, 0.5002, 0.4681, 0.4367, 0.4066, 0.3788");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6355, 0.6355, 0.6357, 0.636, 0.6365, 0.6371, 0.6383, 0.6393, 0.6406, 0.6453",\
                 "0.6314, 0.6315, 0.632, 0.6327, 0.6335, 0.6345, 0.6356, 0.6366, 0.6382, 0.6433",\
                 "0.6248, 0.6252, 0.6259, 0.6273, 0.6289, 0.6307, 0.6324, 0.634, 0.6361, 0.6418",\
                 "0.6278, 0.6277, 0.6276, 0.6278, 0.6284, 0.6296, 0.631, 0.6327, 0.6345, 0.6409",\
                 "0.6547, 0.6539, 0.652, 0.6489, 0.646, 0.6435, 0.642, 0.6411, 0.6415, 0.6468",\
                 "0.7121, 0.7107, 0.7067, 0.6995, 0.6913, 0.6833, 0.6756, 0.6695, 0.6653, 0.6681",\
                 "0.7998, 0.7978, 0.7915, 0.7809, 0.7675, 0.7527, 0.7382, 0.7247, 0.714, 0.7119",\
                 "0.9173, 0.9149, 0.9062, 0.8919, 0.8742, 0.8537, 0.8317, 0.8107, 0.7919, 0.7877",\
                 "1.066, 1.063, 1.053, 1.035, 1.012, 0.9856, 0.9575, 0.9287, 0.9033, 0.8983",\
                 "1.248, 1.244, 1.232, 1.211, 1.183, 1.15, 1.116, 1.081, 1.05, 1.053");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05791, 0.05782, 0.05785, 0.05786, 0.05797, 0.05803, 0.05803, 0.05808, 0.05809, 0.0581",\
                 "0.05717, 0.05717, 0.05735, 0.05754, 0.05776, 0.05789, 0.05798, 0.05803, 0.05812, 0.05813",\
                 "0.05423, 0.05443, 0.055, 0.05567, 0.05628, 0.05678, 0.05708, 0.05727, 0.05747, 0.05753",\
                 "0.05739, 0.05738, 0.05747, 0.05768, 0.05781, 0.05793, 0.05794, 0.05793, 0.05794, 0.05787",\
                 "0.0783, 0.07777, 0.07613, 0.07381, 0.07151, 0.06946, 0.06754, 0.06599, 0.06461, 0.06353",\
                 "0.1222, 0.1208, 0.1168, 0.1109, 0.1044, 0.09807, 0.09241, 0.08733, 0.08309, 0.07953",\
                 "0.1918, 0.1896, 0.1828, 0.1724, 0.1604, 0.1484, 0.1372, 0.1269, 0.118, 0.1104",\
                 "0.2887, 0.2856, 0.2759, 0.2607, 0.2424, 0.2237, 0.2056, 0.1889, 0.1736, 0.1601",\
                 "0.4145, 0.4105, 0.3979, 0.3776, 0.3529, 0.3266, 0.3006, 0.276, 0.2533, 0.2329",\
                 "0.5699, 0.565, 0.5495, 0.5243, 0.493, 0.4589, 0.4244, 0.3913, 0.36, 0.3313");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5312, 0.5312, 0.5314, 0.5315, 0.5319, 0.5327, 0.5334, 0.5343, 0.5355, 0.5396",\
                 "0.5267, 0.5269, 0.5273, 0.5277, 0.5284, 0.5292, 0.5302, 0.5312, 0.5327, 0.5366",\
                 "0.5204, 0.5207, 0.5214, 0.5225, 0.524, 0.5257, 0.5269, 0.5284, 0.5301, 0.5343",\
                 "0.5234, 0.5234, 0.5231, 0.5235, 0.5239, 0.5247, 0.5259, 0.5273, 0.5291, 0.534",\
                 "0.5507, 0.5501, 0.5477, 0.5442, 0.5408, 0.5384, 0.5365, 0.5359, 0.5356, 0.5396",\
                 "0.6086, 0.6069, 0.602, 0.5947, 0.585, 0.5763, 0.5689, 0.5624, 0.5578, 0.5592",\
                 "0.6973, 0.6951, 0.6875, 0.6754, 0.6607, 0.6446, 0.6295, 0.615, 0.604, 0.6009",\
                 "0.816, 0.8131, 0.8031, 0.787, 0.7666, 0.7447, 0.7211, 0.6987, 0.6792, 0.6717",\
                 "0.9654, 0.9619, 0.9504, 0.9306, 0.905, 0.8754, 0.8457, 0.8147, 0.7871, 0.7774",\
                 "1.147, 1.143, 1.13, 1.107, 1.076, 1.04, 1.003, 0.964, 0.9302, 0.9255");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05785, 0.05784, 0.05778, 0.05786, 0.0579, 0.05794, 0.05802, 0.05805, 0.05807, 0.05808",\
                 "0.05731, 0.05723, 0.05736, 0.05752, 0.05773, 0.05787, 0.058, 0.05805, 0.05808, 0.05811",\
                 "0.0544, 0.05468, 0.05524, 0.05597, 0.05633, 0.05682, 0.05711, 0.05735, 0.05744, 0.05756",\
                 "0.05867, 0.05868, 0.05865, 0.05871, 0.05869, 0.0587, 0.05856, 0.05841, 0.05836, 0.05825",\
                 "0.08104, 0.08051, 0.07887, 0.07633, 0.07376, 0.07131, 0.06928, 0.06742, 0.0659, 0.06448",\
                 "0.1264, 0.1251, 0.1209, 0.1148, 0.108, 0.1014, 0.09526, 0.08991, 0.08537, 0.08142",\
                 "0.1974, 0.1952, 0.1883, 0.1777, 0.1654, 0.1531, 0.1414, 0.1307, 0.1215, 0.1134",\
                 "0.2955, 0.2925, 0.2825, 0.2673, 0.2489, 0.2297, 0.2111, 0.1939, 0.1784, 0.1645",\
                 "0.4225, 0.4185, 0.4056, 0.3853, 0.3605, 0.3339, 0.3075, 0.2826, 0.2593, 0.2386",\
                 "0.579, 0.5741, 0.5585, 0.5333, 0.5018, 0.4674, 0.4326, 0.3991, 0.3675, 0.3384");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5672, 0.5672, 0.5672, 0.5675, 0.5679, 0.5686, 0.5693, 0.5703, 0.5716, 0.5756",\
                 "0.563, 0.5631, 0.5636, 0.5643, 0.5653, 0.5661, 0.5671, 0.5682, 0.5698, 0.5739",\
                 "0.5565, 0.5567, 0.5577, 0.5588, 0.5605, 0.5621, 0.5639, 0.5657, 0.5675, 0.5726",\
                 "0.5593, 0.5593, 0.5593, 0.5594, 0.56, 0.5611, 0.5626, 0.5641, 0.5662, 0.5713",\
                 "0.5865, 0.5859, 0.5838, 0.5807, 0.5776, 0.575, 0.5736, 0.5726, 0.5726, 0.5773",\
                 "0.6436, 0.6423, 0.6383, 0.6312, 0.6229, 0.6146, 0.6072, 0.6011, 0.5968, 0.5981",\
                 "0.7317, 0.7297, 0.7231, 0.7123, 0.6992, 0.6845, 0.6695, 0.6562, 0.6453, 0.6424",\
                 "0.8496, 0.8471, 0.8382, 0.824, 0.8058, 0.7852, 0.7638, 0.7425, 0.7234, 0.7165",\
                 "0.9987, 0.9955, 0.9846, 0.9671, 0.9438, 0.9174, 0.8896, 0.8605, 0.8342, 0.8259",\
                 "1.18, 1.176, 1.165, 1.143, 1.115, 1.082, 1.048, 1.012, 0.9804, 0.978");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05785, 0.05794, 0.05778, 0.05786, 0.0579, 0.05794, 0.05802, 0.05806, 0.05805, 0.0581",\
                 "0.05731, 0.05723, 0.05736, 0.05752, 0.05774, 0.05787, 0.058, 0.05806, 0.05808, 0.05811",\
                 "0.0544, 0.05468, 0.05524, 0.05597, 0.05633, 0.05683, 0.05711, 0.05735, 0.05744, 0.05756",\
                 "0.05866, 0.05868, 0.05865, 0.05871, 0.05864, 0.0587, 0.05857, 0.05837, 0.05835, 0.05824",\
                 "0.08104, 0.08051, 0.07887, 0.07633, 0.07376, 0.07131, 0.0693, 0.0674, 0.06584, 0.06444",\
                 "0.1264, 0.1251, 0.1209, 0.1148, 0.108, 0.1014, 0.09526, 0.08991, 0.08537, 0.08142",\
                 "0.1974, 0.1952, 0.1883, 0.1777, 0.1654, 0.1531, 0.1414, 0.1307, 0.1215, 0.1134",\
                 "0.2955, 0.2925, 0.2825, 0.2673, 0.2488, 0.2297, 0.2111, 0.1939, 0.1784, 0.1645",\
                 "0.4225, 0.4185, 0.4056, 0.3853, 0.3605, 0.3339, 0.3075, 0.2826, 0.2593, 0.2386",\
                 "0.579, 0.5741, 0.5585, 0.5333, 0.5018, 0.4674, 0.4326, 0.3991, 0.3675, 0.3384");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5671, 0.5672, 0.5673, 0.5675, 0.568, 0.5687, 0.5693, 0.5703, 0.5716, 0.5756",\
                 "0.563, 0.5631, 0.5636, 0.5643, 0.5653, 0.5661, 0.5671, 0.5682, 0.5698, 0.5739",\
                 "0.5565, 0.5568, 0.5577, 0.5588, 0.5604, 0.5621, 0.5639, 0.5657, 0.5675, 0.5719",\
                 "0.5593, 0.5593, 0.5593, 0.5595, 0.56, 0.5611, 0.5626, 0.564, 0.5662, 0.571",\
                 "0.5865, 0.5859, 0.5838, 0.5806, 0.5776, 0.575, 0.5736, 0.5727, 0.5726, 0.5773",\
                 "0.6436, 0.6423, 0.638, 0.6312, 0.6229, 0.6147, 0.607, 0.6012, 0.5965, 0.5984",\
                 "0.7318, 0.7297, 0.7231, 0.7123, 0.6992, 0.6841, 0.6695, 0.6563, 0.6453, 0.6421",\
                 "0.8495, 0.8471, 0.8382, 0.824, 0.8058, 0.7855, 0.7635, 0.7422, 0.7234, 0.7162",\
                 "0.9987, 0.9955, 0.985, 0.9671, 0.9436, 0.9174, 0.8893, 0.8605, 0.8342, 0.8253",\
                 "1.18, 1.176, 1.164, 1.143, 1.115, 1.082, 1.048, 1.012, 0.9804, 0.978");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&A3&!B1&!B3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.05782, 0.05785, 0.05783, 0.0578, 0.05796, 0.05799, 0.05796, 0.05805, 0.05807, 0.05808",\
                 "0.05726, 0.05725, 0.05739, 0.05763, 0.05777, 0.05791, 0.05803, 0.05804, 0.05808, 0.05811",\
                 "0.05446, 0.05467, 0.05537, 0.05607, 0.05638, 0.05688, 0.05718, 0.05733, 0.05745, 0.05754",\
                 "0.05925, 0.05918, 0.05915, 0.05911, 0.0591, 0.05898, 0.05881, 0.05858, 0.05846, 0.05832",\
                 "0.08204, 0.08153, 0.07975, 0.07726, 0.07467, 0.07211, 0.0699, 0.06794, 0.06636, 0.06492",\
                 "0.1279, 0.1265, 0.1224, 0.1162, 0.1094, 0.1026, 0.09634, 0.09077, 0.08624, 0.0822",\
                 "0.1992, 0.1969, 0.19, 0.1794, 0.1672, 0.1546, 0.1429, 0.1321, 0.1227, 0.1145",\
                 "0.2976, 0.2944, 0.2846, 0.2693, 0.2509, 0.2317, 0.213, 0.1957, 0.18, 0.166",\
                 "0.4248, 0.4209, 0.4081, 0.3876, 0.3627, 0.3362, 0.3098, 0.2847, 0.2616, 0.2404",\
                 "0.5815, 0.5766, 0.5612, 0.536, 0.5045, 0.4703, 0.4353, 0.4017, 0.37, 0.3407");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6021, 0.6023, 0.6023, 0.6027, 0.6031, 0.6037, 0.6044, 0.6054, 0.6067, 0.6109",\
                 "0.5983, 0.5984, 0.5989, 0.5997, 0.6006, 0.6017, 0.6027, 0.6036, 0.6051, 0.6092",\
                 "0.5917, 0.5919, 0.5928, 0.594, 0.5957, 0.5974, 0.5992, 0.6008, 0.6028, 0.6078",\
                 "0.5943, 0.5943, 0.5942, 0.5945, 0.5952, 0.5962, 0.5978, 0.5993, 0.6015, 0.6066",\
                 "0.6206, 0.6199, 0.6181, 0.6154, 0.6126, 0.6102, 0.6088, 0.6078, 0.6079, 0.6125",\
                 "0.6769, 0.6757, 0.6717, 0.6657, 0.6579, 0.6497, 0.6427, 0.6369, 0.6324, 0.6343",\
                 "0.7638, 0.7622, 0.7562, 0.746, 0.7337, 0.7193, 0.7055, 0.6925, 0.6819, 0.6789",\
                 "0.8812, 0.8787, 0.8706, 0.8571, 0.8398, 0.8203, 0.7995, 0.7787, 0.7607, 0.7536",\
                 "1.029, 1.026, 1.016, 0.9998, 0.9774, 0.9522, 0.9253, 0.8978, 0.8724, 0.8645",\
                 "1.21, 1.206, 1.195, 1.175, 1.148, 1.117, 1.083, 1.049, 1.019, 1.019");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "!A1&!A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1839, 0.1839, 0.1838, 0.1836, 0.1836, 0.1836, 0.1837, 0.1837, 0.1838, 0.1838",\
                 "0.1803, 0.1803, 0.1803, 0.18, 0.1801, 0.1801, 0.1802, 0.1802, 0.1803, 0.1802",\
                 "0.1765, 0.1765, 0.1764, 0.1765, 0.1764, 0.1764, 0.1765, 0.1766, 0.1765, 0.1766",\
                 "0.1784, 0.1781, 0.1779, 0.1774, 0.1771, 0.1767, 0.1762, 0.1761, 0.1759, 0.1757",\
                 "0.1961, 0.1958, 0.194, 0.1916, 0.1893, 0.187, 0.1848, 0.1831, 0.1816, 0.1803",\
                 "0.2392, 0.2379, 0.234, 0.2284, 0.2219, 0.2152, 0.2092, 0.2041, 0.1997, 0.1959",\
                 "0.3117, 0.3097, 0.3033, 0.2933, 0.2811, 0.2686, 0.2564, 0.2455, 0.236, 0.2276",\
                 "0.4177, 0.4149, 0.4056, 0.3903, 0.3715, 0.3515, 0.3314, 0.3127, 0.2958, 0.2811",\
                 "0.5592, 0.5553, 0.543, 0.5223, 0.4961, 0.4673, 0.4384, 0.4103, 0.3846, 0.361",\
                 "0.7378, 0.7329, 0.7177, 0.6916, 0.6575, 0.6194, 0.5802, 0.5416, 0.5053, 0.4718");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6803, 0.6804, 0.6805, 0.6808, 0.6812, 0.682, 0.683, 0.6841, 0.6854, 0.6909",\
                 "0.6759, 0.676, 0.6764, 0.677, 0.6778, 0.6786, 0.6797, 0.6806, 0.6821, 0.6879",\
                 "0.6694, 0.6696, 0.6704, 0.6716, 0.6731, 0.6747, 0.6764, 0.6777, 0.6794, 0.6854",\
                 "0.669, 0.669, 0.6693, 0.6699, 0.671, 0.6725, 0.6743, 0.6757, 0.6776, 0.6848",\
                 "0.6917, 0.691, 0.6893, 0.6868, 0.6845, 0.683, 0.6823, 0.6821, 0.6833, 0.689",\
                 "0.7526, 0.7511, 0.7459, 0.7382, 0.7296, 0.7216, 0.7141, 0.7089, 0.7052, 0.7092",\
                 "0.8547, 0.8522, 0.8437, 0.8307, 0.8146, 0.7977, 0.7818, 0.7675, 0.7564, 0.7557",\
                 "0.9967, 0.9932, 0.9823, 0.9636, 0.9399, 0.9145, 0.8887, 0.8639, 0.8437, 0.8375",\
                 "1.178, 1.174, 1.16, 1.137, 1.106, 1.072, 1.037, 1.002, 0.9711, 0.9616",\
                 "1.398, 1.394, 1.378, 1.351, 1.315, 1.272, 1.227, 1.182, 1.143, 1.137");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "!A1&A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1413, 0.1412, 0.1412, 0.1412, 0.1412, 0.1413, 0.1414, 0.1414, 0.1413, 0.1414",\
                 "0.1377, 0.1376, 0.1376, 0.1376, 0.1376, 0.1377, 0.1378, 0.1378, 0.1379, 0.1378",\
                 "0.1339, 0.1339, 0.1338, 0.1339, 0.1339, 0.134, 0.1341, 0.1341, 0.1341, 0.1341",\
                 "0.1358, 0.1356, 0.1352, 0.1348, 0.1345, 0.1342, 0.1338, 0.1336, 0.1334, 0.1333",\
                 "0.1547, 0.154, 0.1523, 0.1497, 0.1472, 0.1447, 0.1425, 0.1408, 0.1392, 0.1379",\
                 "0.1997, 0.1984, 0.1944, 0.1881, 0.181, 0.174, 0.1677, 0.1622, 0.1576, 0.1537",\
                 "0.2755, 0.2736, 0.2664, 0.2555, 0.2423, 0.2288, 0.2159, 0.2044, 0.1945, 0.1859",\
                 "0.386, 0.3829, 0.3723, 0.3558, 0.3353, 0.3139, 0.2926, 0.2731, 0.2556, 0.2403",\
                 "0.5321, 0.5279, 0.5141, 0.4914, 0.4631, 0.4323, 0.4016, 0.3723, 0.3455, 0.3212",\
                 "0.7155, 0.7102, 0.6933, 0.6644, 0.6278, 0.5871, 0.5457, 0.5057, 0.468, 0.4334");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.64, 0.64, 0.6401, 0.6405, 0.6409, 0.6417, 0.6426, 0.6433, 0.6448, 0.6496",\
                 "0.6355, 0.6357, 0.6361, 0.6367, 0.6373, 0.6381, 0.6391, 0.6401, 0.6418, 0.6463",\
                 "0.629, 0.6293, 0.63, 0.6313, 0.6328, 0.6342, 0.6358, 0.6372, 0.639, 0.6442",\
                 "0.6286, 0.6287, 0.629, 0.6295, 0.6307, 0.632, 0.6336, 0.6358, 0.6377, 0.6432",\
                 "0.6514, 0.6507, 0.649, 0.6465, 0.6442, 0.6425, 0.6417, 0.6414, 0.6422, 0.6478",\
                 "0.7121, 0.7105, 0.7054, 0.6979, 0.6893, 0.6808, 0.6738, 0.6686, 0.6647, 0.6672",\
                 "0.8143, 0.8117, 0.8033, 0.79, 0.7741, 0.7574, 0.7414, 0.7273, 0.716, 0.7138",\
                 "0.9563, 0.953, 0.9418, 0.9231, 0.8995, 0.8742, 0.848, 0.8242, 0.8026, 0.7951",\
                 "1.138, 1.133, 1.12, 1.096, 1.066, 1.032, 0.9964, 0.9612, 0.9304, 0.9181",\
                 "1.358, 1.354, 1.338, 1.311, 1.274, 1.231, 1.186, 1.142, 1.102, 1.091");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "!A1&A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1414, 0.1414, 0.1413, 0.1413, 0.1412, 0.1412, 0.1413, 0.1414, 0.1413, 0.1414",\
                 "0.1377, 0.1378, 0.1378, 0.1378, 0.1376, 0.1377, 0.1377, 0.1378, 0.1379, 0.1379",\
                 "0.1342, 0.1342, 0.1341, 0.1339, 0.134, 0.134, 0.1341, 0.1342, 0.1341, 0.1342",\
                 "0.1365, 0.1364, 0.1361, 0.1356, 0.1351, 0.1347, 0.1343, 0.134, 0.1337, 0.1335",\
                 "0.1573, 0.1566, 0.1548, 0.152, 0.1491, 0.1464, 0.1439, 0.1419, 0.1403, 0.1388",\
                 "0.2041, 0.2028, 0.1986, 0.1922, 0.1847, 0.1772, 0.1706, 0.1647, 0.1598, 0.1557",\
                 "0.2821, 0.2798, 0.2726, 0.2613, 0.2478, 0.2338, 0.2205, 0.2085, 0.1981, 0.1893",\
                 "0.3941, 0.3908, 0.3804, 0.3635, 0.3426, 0.3206, 0.299, 0.2789, 0.2607, 0.2449",\
                 "0.5418, 0.5376, 0.5237, 0.5008, 0.472, 0.4408, 0.4095, 0.3798, 0.3524, 0.3277",\
                 "0.7267, 0.7215, 0.7042, 0.6754, 0.6385, 0.5973, 0.5554, 0.5148, 0.4766, 0.4416");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6758, 0.6759, 0.6761, 0.6764, 0.6769, 0.6775, 0.6784, 0.6793, 0.6808, 0.6859",\
                 "0.6718, 0.6719, 0.6724, 0.6732, 0.6741, 0.675, 0.676, 0.6771, 0.6789, 0.6836",\
                 "0.6651, 0.6652, 0.6662, 0.6675, 0.6693, 0.6709, 0.6728, 0.6743, 0.6764, 0.6818",\
                 "0.6645, 0.6646, 0.6649, 0.6655, 0.6667, 0.6683, 0.6701, 0.672, 0.6741, 0.6806",\
                 "0.6872, 0.6865, 0.6851, 0.6828, 0.6808, 0.6792, 0.6785, 0.6785, 0.6789, 0.6851",\
                 "0.7473, 0.7459, 0.7415, 0.7349, 0.727, 0.7193, 0.7126, 0.7071, 0.7031, 0.7065",\
                 "0.8485, 0.8463, 0.8392, 0.8272, 0.813, 0.7973, 0.782, 0.7684, 0.757, 0.7556",\
                 "0.9901, 0.9872, 0.9771, 0.9604, 0.9392, 0.9159, 0.8911, 0.8682, 0.8476, 0.8401",\
                 "1.171, 1.167, 1.155, 1.134, 1.106, 1.075, 1.042, 1.009, 0.9792, 0.9686",\
                 "1.391, 1.387, 1.373, 1.348, 1.314, 1.275, 1.234, 1.192, 1.154, 1.147");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&!A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09627, 0.09622, 0.09625, 0.09623, 0.09616, 0.09618, 0.09623, 0.09632, 0.0963, 0.09633",\
                 "0.0926, 0.09262, 0.09266, 0.09265, 0.0926, 0.09264, 0.09271, 0.09279, 0.09275, 0.09275",\
                 "0.0887, 0.08871, 0.08875, 0.08876, 0.08881, 0.08888, 0.08895, 0.08903, 0.0891, 0.08907",\
                 "0.09104, 0.09092, 0.09048, 0.08999, 0.08955, 0.08918, 0.08883, 0.08862, 0.08837, 0.08826",\
                 "0.1128, 0.112, 0.1097, 0.1065, 0.1033, 0.1004, 0.09797, 0.09603, 0.0944, 0.09307",\
                 "0.1628, 0.1611, 0.1557, 0.148, 0.1394, 0.1313, 0.1242, 0.1184, 0.1134, 0.1093",\
                 "0.2453, 0.2424, 0.2332, 0.2197, 0.2041, 0.1886, 0.1745, 0.1619, 0.1514, 0.1423",\
                 "0.3622, 0.3583, 0.3452, 0.3251, 0.3013, 0.2768, 0.2535, 0.2325, 0.2138, 0.1977",\
                 "0.5154, 0.5102, 0.4932, 0.4664, 0.4334, 0.3991, 0.3654, 0.334, 0.3056, 0.2801",\
                 "0.7051, 0.6989, 0.6784, 0.6449, 0.6033, 0.5579, 0.5129, 0.47, 0.4302, 0.3941");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5716, 0.5717, 0.5717, 0.5719, 0.5725, 0.5733, 0.5738, 0.5748, 0.5758, 0.5802",\
                 "0.5672, 0.5673, 0.5678, 0.5682, 0.5689, 0.5697, 0.5706, 0.5716, 0.573, 0.5772",\
                 "0.5606, 0.5609, 0.5617, 0.563, 0.5643, 0.566, 0.5675, 0.5689, 0.5704, 0.5748",\
                 "0.5603, 0.5603, 0.5605, 0.5612, 0.5622, 0.5638, 0.5653, 0.5668, 0.5687, 0.5736",\
                 "0.5831, 0.5826, 0.5808, 0.5782, 0.5756, 0.574, 0.5736, 0.5728, 0.5736, 0.5779",\
                 "0.6438, 0.6422, 0.6373, 0.6296, 0.621, 0.6126, 0.6054, 0.6001, 0.5959, 0.5979",\
                 "0.7464, 0.7435, 0.735, 0.7217, 0.7058, 0.689, 0.6732, 0.6588, 0.647, 0.6434",\
                 "0.8888, 0.8851, 0.8739, 0.8551, 0.8312, 0.8056, 0.7798, 0.7557, 0.7338, 0.7244",\
                 "1.07, 1.066, 1.052, 1.029, 0.9981, 0.9632, 0.9283, 0.893, 0.8614, 0.8465",\
                 "1.291, 1.286, 1.27, 1.243, 1.206, 1.163, 1.118, 1.073, 1.033, 1.017");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&!A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09629, 0.09624, 0.0963, 0.09625, 0.0962, 0.09619, 0.0962, 0.09623, 0.09627, 0.09626",\
                 "0.0927, 0.09264, 0.09258, 0.0926, 0.09263, 0.09262, 0.09271, 0.09275, 0.09274, 0.09276",\
                 "0.08877, 0.08881, 0.08895, 0.08897, 0.089, 0.08899, 0.08899, 0.08906, 0.08906, 0.08912",\
                 "0.09206, 0.09184, 0.09131, 0.09074, 0.09015, 0.0897, 0.08931, 0.08897, 0.08868, 0.08846",\
                 "0.1157, 0.1149, 0.1124, 0.109, 0.1054, 0.1022, 0.09947, 0.09725, 0.09551, 0.09402",\
                 "0.1678, 0.1659, 0.1603, 0.1522, 0.1434, 0.1348, 0.1273, 0.1209, 0.1156, 0.1112",\
                 "0.2518, 0.249, 0.2397, 0.2258, 0.2099, 0.1939, 0.1791, 0.1662, 0.155, 0.1456",\
                 "0.3706, 0.3664, 0.3534, 0.333, 0.3087, 0.2838, 0.26, 0.2384, 0.2192, 0.2025",\
                 "0.5253, 0.5199, 0.503, 0.4758, 0.4428, 0.4078, 0.3737, 0.3416, 0.3126, 0.2867",\
                 "0.7164, 0.7101, 0.6896, 0.656, 0.614, 0.5684, 0.5228, 0.4793, 0.439, 0.4023");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6076, 0.6076, 0.6077, 0.6079, 0.6085, 0.6091, 0.6099, 0.6108, 0.6124, 0.6166",\
                 "0.6034, 0.6036, 0.604, 0.6047, 0.6058, 0.6065, 0.6075, 0.6087, 0.6101, 0.6142",\
                 "0.5969, 0.5969, 0.5979, 0.5992, 0.6008, 0.6025, 0.6043, 0.6058, 0.6078, 0.6125",\
                 "0.5962, 0.5963, 0.5966, 0.5971, 0.5982, 0.5998, 0.6017, 0.6035, 0.6055, 0.611",\
                 "0.619, 0.6183, 0.6168, 0.6144, 0.6123, 0.6108, 0.6102, 0.6099, 0.6106, 0.6149",\
                 "0.679, 0.6775, 0.6731, 0.6666, 0.6586, 0.6509, 0.6442, 0.6385, 0.6345, 0.6364",\
                 "0.7805, 0.7782, 0.7709, 0.7588, 0.7446, 0.729, 0.7139, 0.6998, 0.6883, 0.6846",\
                 "0.9224, 0.9192, 0.9089, 0.8923, 0.8708, 0.8474, 0.8233, 0.8001, 0.7788, 0.7692",\
                 "1.103, 1.1, 1.087, 1.066, 1.038, 1.006, 0.9739, 0.9409, 0.9106, 0.8964",\
                 "1.324, 1.32, 1.306, 1.281, 1.246, 1.207, 1.165, 1.123, 1.085, 1.073");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&A2&!A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09636, 0.09626, 0.09622, 0.09625, 0.09626, 0.09625, 0.09624, 0.09626, 0.09629, 0.09629",\
                 "0.0927, 0.0927, 0.09262, 0.0926, 0.09267, 0.09262, 0.09273, 0.09276, 0.09275, 0.09277",\
                 "0.08876, 0.08881, 0.08895, 0.08897, 0.08892, 0.08894, 0.08899, 0.08906, 0.08907, 0.08913",\
                 "0.09206, 0.09184, 0.09131, 0.09074, 0.09016, 0.0897, 0.08929, 0.08884, 0.08868, 0.08846",\
                 "0.1157, 0.1149, 0.1124, 0.109, 0.1054, 0.1022, 0.09947, 0.09725, 0.09551, 0.09402",\
                 "0.1678, 0.1659, 0.1603, 0.1522, 0.1434, 0.1348, 0.1273, 0.1209, 0.1156, 0.1113",\
                 "0.2518, 0.249, 0.2397, 0.2258, 0.2099, 0.1939, 0.1791, 0.1661, 0.155, 0.1456",\
                 "0.3706, 0.3664, 0.3534, 0.333, 0.3087, 0.2837, 0.26, 0.2383, 0.2192, 0.2025",\
                 "0.5253, 0.5199, 0.503, 0.4758, 0.4428, 0.4078, 0.3737, 0.3416, 0.3126, 0.2867",\
                 "0.7164, 0.7101, 0.6896, 0.656, 0.614, 0.5684, 0.5228, 0.4793, 0.439, 0.4023");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6076, 0.6076, 0.6077, 0.6081, 0.6084, 0.6091, 0.6099, 0.611, 0.6121, 0.6159",\
                 "0.6034, 0.6036, 0.604, 0.6048, 0.6058, 0.6065, 0.6075, 0.6087, 0.6101, 0.6142",\
                 "0.5969, 0.597, 0.5978, 0.5991, 0.6008, 0.6025, 0.6043, 0.6059, 0.6078, 0.6125",\
                 "0.5963, 0.5963, 0.5966, 0.5972, 0.5985, 0.5998, 0.6017, 0.6035, 0.6055, 0.611",\
                 "0.619, 0.6183, 0.6168, 0.6144, 0.6123, 0.6108, 0.6102, 0.6099, 0.6106, 0.6149",\
                 "0.6791, 0.6775, 0.6731, 0.6666, 0.6586, 0.6509, 0.6443, 0.6385, 0.6345, 0.6361",\
                 "0.7805, 0.7782, 0.7709, 0.7588, 0.7446, 0.7289, 0.7139, 0.6998, 0.6883, 0.685",\
                 "0.9225, 0.9193, 0.9091, 0.8924, 0.8708, 0.8474, 0.8231, 0.7998, 0.7788, 0.7695",\
                 "1.103, 1.1, 1.087, 1.066, 1.038, 1.006, 0.9739, 0.9409, 0.9106, 0.8964",\
                 "1.324, 1.32, 1.306, 1.281, 1.247, 1.207, 1.165, 1.123, 1.085, 1.073");
        }
      }

      internal_power() {
        related_pin : "B3" ;
        when : "A1&A2&A3&!B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09627, 0.09636, 0.09621, 0.09615, 0.09609, 0.09622, 0.09622, 0.09623, 0.09627, 0.09633",\
                 "0.09275, 0.09264, 0.09262, 0.09262, 0.0926, 0.09266, 0.09269, 0.09274, 0.09277, 0.09281",\
                 "0.08872, 0.08877, 0.08897, 0.08903, 0.08902, 0.08906, 0.08901, 0.08909, 0.08911, 0.0891",\
                 "0.0924, 0.09222, 0.09171, 0.09112, 0.09044, 0.0899, 0.08951, 0.08913, 0.08882, 0.08856",\
                 "0.1167, 0.1158, 0.1133, 0.1098, 0.1061, 0.1028, 0.1001, 0.09777, 0.09594, 0.09439",\
                 "0.1694, 0.1675, 0.1619, 0.1537, 0.1448, 0.1361, 0.1284, 0.1219, 0.1165, 0.1119",\
                 "0.2539, 0.251, 0.2419, 0.2278, 0.2118, 0.1957, 0.1808, 0.1676, 0.1563, 0.1468",\
                 "0.3732, 0.3691, 0.356, 0.3356, 0.3112, 0.2862, 0.2622, 0.2405, 0.2209, 0.2041",\
                 "0.5281, 0.5229, 0.506, 0.4788, 0.4457, 0.4106, 0.3764, 0.3444, 0.3151, 0.289",\
                 "0.7196, 0.7134, 0.693, 0.6596, 0.6176, 0.5719, 0.5261, 0.4826, 0.4422, 0.4052");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6425, 0.6427, 0.6428, 0.643, 0.6436, 0.6442, 0.6449, 0.646, 0.6474, 0.6512",\
                 "0.6388, 0.6389, 0.6394, 0.6402, 0.641, 0.642, 0.6433, 0.6441, 0.6457, 0.6498",\
                 "0.6319, 0.6322, 0.633, 0.6344, 0.6361, 0.6378, 0.6396, 0.6413, 0.6434, 0.6478",\
                 "0.6313, 0.6312, 0.6315, 0.6322, 0.6333, 0.6349, 0.6371, 0.6386, 0.6408, 0.6465",\
                 "0.6533, 0.6528, 0.6512, 0.6494, 0.6473, 0.6459, 0.6454, 0.6452, 0.6456, 0.6505",\
                 "0.7123, 0.7109, 0.7071, 0.701, 0.6933, 0.6859, 0.6797, 0.674, 0.6704, 0.672",\
                 "0.8127, 0.8106, 0.8037, 0.7927, 0.779, 0.7642, 0.7496, 0.7358, 0.7252, 0.7218",\
                 "0.9535, 0.9505, 0.9412, 0.925, 0.9048, 0.8826, 0.8594, 0.8368, 0.8166, 0.8076",\
                 "1.133, 1.13, 1.118, 1.098, 1.072, 1.041, 1.01, 0.9787, 0.9489, 0.9358",\
                 "1.353, 1.349, 1.336, 1.312, 1.28, 1.242, 1.202, 1.162, 1.125, 1.114");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1179, 0.1281, 0.1628, 0.2256, 0.3189, 0.4457, 0.6093, 0.8131, 1.06, 1.354",\
                 "0.1318, 0.142, 0.1767, 0.2396, 0.3331, 0.46, 0.6237, 0.8275, 1.075, 1.368",\
                 "0.1844, 0.1947, 0.2281, 0.288, 0.3802, 0.5067, 0.6703, 0.8741, 1.121, 1.415",\
                 "0.2313, 0.2448, 0.2902, 0.3661, 0.4691, 0.5962, 0.7579, 0.9612, 1.208, 1.501",\
                 "0.2474, 0.2651, 0.3224, 0.4185, 0.5487, 0.7075, 0.8914, 1.099, 1.344, 1.637",\
                 "0.225, 0.2464, 0.3171, 0.4352, 0.5935, 0.7865, 1.009, 1.259, 1.532, 1.83",\
                 "0.1572, 0.1824, 0.267, 0.4087, 0.5984, 0.827, 1.089, 1.382, 1.703, 2.049",\
                 "0.0413, 0.0712, 0.1686, 0.3334, 0.5563, 0.8229, 1.128, 1.465, 1.833, 2.23",\
                 "-0.1261, -0.0923, 0.0192, 0.2067, 0.4614, 0.7689, 1.118, 1.503, 1.92, 2.368",\
                 "-0.3492, -0.3108, -0.1853, 0.0269, 0.3123, 0.6597, 1.055, 1.49, 1.96, 2.46");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2546, 0.2855, 0.3925, 0.5946, 0.9065, 1.343, 1.916, 2.637, 3.518, 4.566",\
                 "0.2612, 0.2922, 0.4006, 0.6051, 0.9199, 1.358, 1.933, 2.655, 3.536, 4.585",\
                 "0.3151, 0.3444, 0.4491, 0.651, 0.9649, 1.403, 1.979, 2.702, 3.584, 4.634",\
                 "0.4455, 0.4754, 0.5747, 0.7669, 1.073, 1.506, 2.078, 2.799, 3.68, 4.729",\
                 "0.6231, 0.6566, 0.7701, 0.9714, 1.267, 1.69, 2.253, 2.967, 3.842, 4.887",\
                 "0.8518, 0.8888, 1.014, 1.236, 1.555, 1.972, 2.523, 3.226, 4.091, 5.128",\
                 "1.133, 1.176, 1.314, 1.555, 1.9, 2.348, 2.899, 3.589, 4.442, 5.468",\
                 "1.469, 1.517, 1.673, 1.935, 2.304, 2.785, 3.372, 4.066, 4.906, 5.918",\
                 "1.86, 1.914, 2.088, 2.378, 2.773, 3.282, 3.908, 4.642, 5.49, 6.489",\
                 "2.31, 2.371, 2.564, 2.885, 3.314, 3.85, 4.507, 5.287, 6.181, 7.188");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1808, 0.1976, 0.2533, 0.3546, 0.5072, 0.7164, 0.9897, 1.333, 1.75, 2.249",\
                 "0.1789, 0.1962, 0.2529, 0.3549, 0.5072, 0.7163, 0.9889, 1.333, 1.751, 2.251",\
                 "0.1951, 0.2079, 0.2541, 0.3485, 0.5037, 0.7155, 0.9895, 1.333, 1.751, 2.25",\
                 "0.2711, 0.2873, 0.3394, 0.4273, 0.5496, 0.7284, 0.988, 1.331, 1.751, 2.25",\
                 "0.368, 0.3874, 0.4493, 0.553, 0.6954, 0.8738, 1.088, 1.375, 1.759, 2.25",\
                 "0.489, 0.5112, 0.5864, 0.7066, 0.8686, 1.07, 1.311, 1.589, 1.912, 2.327",\
                 "0.6254, 0.655, 0.7436, 0.8878, 1.073, 1.299, 1.564, 1.872, 2.221, 2.606",\
                 "0.7832, 0.816, 0.9218, 1.09, 1.306, 1.562, 1.853, 2.186, 2.568, 2.988",\
                 "0.963, 1, 1.122, 1.314, 1.563, 1.852, 2.178, 2.539, 2.947, 3.402",\
                 "1.159, 1.204, 1.344, 1.563, 1.843, 2.169, 2.532, 2.933, 3.37, 3.852");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7285, 0.79, 0.999, 1.381, 1.954, 2.733, 3.742, 5.003, 6.538, 8.365",\
                 "0.7261, 0.7882, 0.9984, 1.381, 1.954, 2.733, 3.742, 5.003, 6.538, 8.366",\
                 "0.7138, 0.7778, 0.994, 1.38, 1.954, 2.733, 3.742, 5.002, 6.537, 8.366",\
                 "0.7517, 0.8064, 0.9987, 1.373, 1.953, 2.733, 3.742, 5.003, 6.538, 8.366",\
                 "0.8552, 0.9094, 1.086, 1.422, 1.956, 2.732, 3.742, 5.002, 6.538, 8.366",\
                 "0.9734, 1.026, 1.211, 1.552, 2.05, 2.759, 3.743, 5.002, 6.537, 8.367",\
                 "1.141, 1.185, 1.359, 1.704, 2.22, 2.896, 3.803, 5.009, 6.537, 8.367",\
                 "1.361, 1.4, 1.551, 1.877, 2.404, 3.107, 3.982, 5.111, 6.561, 8.367",\
                 "1.621, 1.655, 1.795, 2.095, 2.606, 3.331, 4.239, 5.334, 6.703, 8.412",\
                 "1.907, 1.94, 2.077, 2.362, 2.849, 3.566, 4.509, 5.641, 6.973, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1104, 0.1197, 0.1517, 0.2106, 0.2999, 0.423, 0.5836, 0.7852, 1.03, 1.323",\
                 "0.1242, 0.1336, 0.1656, 0.2247, 0.314, 0.4374, 0.5981, 0.7997, 1.045, 1.337",\
                 "0.1714, 0.1815, 0.2146, 0.2721, 0.3608, 0.4839, 0.6446, 0.8462, 1.091, 1.384",\
                 "0.2058, 0.2198, 0.2651, 0.3418, 0.4456, 0.5726, 0.7321, 0.9333, 1.178, 1.47",\
                 "0.2072, 0.2252, 0.284, 0.3825, 0.5152, 0.676, 0.8621, 1.071, 1.315, 1.606",\
                 "0.1681, 0.1903, 0.2637, 0.3863, 0.5496, 0.746, 0.9719, 1.224, 1.5, 1.799",\
                 "0.0829, 0.1105, 0.1983, 0.346, 0.542, 0.7772, 1.044, 1.34, 1.664, 2.013",\
                 "-0.0498, -0.0178, 0.0849, 0.2578, 0.4874, 0.7621, 1.073, 1.415, 1.787, 2.188",\
                 "-0.2346, -0.198, -0.0801, 0.1177, 0.3812, 0.6974, 1.054, 1.445, 1.867, 2.319",\
                 "-0.4734, -0.4326, -0.3005, -0.0766, 0.2213, 0.5775, 0.9813, 1.424, 1.9, 2.405");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2546, 0.2855, 0.3925, 0.5941, 0.9065, 1.343, 1.916, 2.638, 3.518, 4.566",\
                 "0.2611, 0.2922, 0.4005, 0.605, 0.9199, 1.358, 1.933, 2.655, 3.536, 4.585",\
                 "0.315, 0.3445, 0.4492, 0.6508, 0.965, 1.404, 1.979, 2.703, 3.584, 4.634",\
                 "0.4459, 0.4749, 0.5748, 0.7666, 1.073, 1.506, 2.078, 2.799, 3.68, 4.728",\
                 "0.6232, 0.6566, 0.7704, 0.9713, 1.267, 1.69, 2.253, 2.967, 3.842, 4.886",\
                 "0.8518, 0.8886, 1.014, 1.236, 1.555, 1.972, 2.523, 3.226, 4.091, 5.128",\
                 "1.133, 1.176, 1.315, 1.555, 1.901, 2.349, 2.899, 3.589, 4.442, 5.467",\
                 "1.469, 1.518, 1.673, 1.935, 2.304, 2.785, 3.372, 4.066, 4.906, 5.918",\
                 "1.859, 1.914, 2.089, 2.379, 2.773, 3.282, 3.908, 4.643, 5.49, 6.49",\
                 "2.31, 2.371, 2.564, 2.886, 3.314, 3.85, 4.508, 5.287, 6.18, 7.189");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1569, 0.172, 0.2245, 0.3217, 0.4711, 0.6783, 0.951, 1.294, 1.713, 2.211",\
                 "0.1554, 0.1709, 0.224, 0.3214, 0.4711, 0.6791, 0.9505, 1.295, 1.713, 2.21",\
                 "0.1775, 0.1898, 0.2325, 0.3203, 0.4688, 0.6781, 0.9516, 1.294, 1.713, 2.211",\
                 "0.25, 0.2652, 0.3175, 0.406, 0.5269, 0.6996, 0.9532, 1.294, 1.713, 2.21",\
                 "0.346, 0.3654, 0.426, 0.5298, 0.6724, 0.8522, 1.065, 1.347, 1.724, 2.211",\
                 "0.4624, 0.4866, 0.5622, 0.6844, 0.8454, 1.047, 1.288, 1.566, 1.888, 2.299",\
                 "0.5998, 0.6264, 0.7184, 0.8628, 1.051, 1.277, 1.542, 1.849, 2.198, 2.582",\
                 "0.7546, 0.7882, 0.8936, 1.065, 1.281, 1.539, 1.83, 2.164, 2.543, 2.966",\
                 "0.9282, 0.9698, 1.092, 1.286, 1.537, 1.827, 2.157, 2.518, 2.924, 3.378",\
                 "1.115, 1.163, 1.308, 1.532, 1.815, 2.144, 2.51, 2.914, 3.346, 3.83");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6639, 0.7206, 0.9145, 1.273, 1.819, 2.58, 3.578, 4.836, 6.369, 8.194",\
                 "0.6616, 0.719, 0.9141, 1.272, 1.819, 2.58, 3.578, 4.836, 6.37, 8.194",\
                 "0.6494, 0.7088, 0.9097, 1.272, 1.819, 2.581, 3.579, 4.834, 6.368, 8.199",\
                 "0.688, 0.7377, 0.9147, 1.265, 1.818, 2.58, 3.579, 4.834, 6.37, 8.194",\
                 "0.776, 0.8272, 0.998, 1.313, 1.822, 2.578, 3.579, 4.835, 6.366, 8.193",\
                 "0.8808, 0.9296, 1.106, 1.437, 1.916, 2.606, 3.578, 4.835, 6.37, 8.193",\
                 "1.029, 1.072, 1.24, 1.571, 2.077, 2.743, 3.64, 4.842, 6.369, 8.198",\
                 "1.22, 1.261, 1.414, 1.735, 2.249, 2.948, 3.819, 4.941, 6.391, 8.193",\
                 "1.438, 1.479, 1.631, 1.934, 2.438, 3.159, 4.072, 5.165, 6.531, 8.24",\
                 "1.68, 1.722, 1.879, 2.181, 2.67, 3.385, 4.331, 5.469, 6.8, 8.426");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09191, 0.09936, 0.1249, 0.172, 0.2432, 0.3414, 0.4694, 0.6297, 0.825, 1.057",\
                 "0.1067, 0.1141, 0.1397, 0.1868, 0.2582, 0.3564, 0.4845, 0.6449, 0.8402, 1.072",\
                 "0.1521, 0.161, 0.1902, 0.2387, 0.3092, 0.4071, 0.5351, 0.6954, 0.8906, 1.123",\
                 "0.1786, 0.1912, 0.2322, 0.3008, 0.3923, 0.5025, 0.6315, 0.7912, 0.986, 1.218",\
                 "0.1701, 0.1864, 0.2409, 0.3306, 0.4494, 0.5933, 0.7568, 0.9375, 1.136, 1.367",\
                 "0.1183, 0.1392, 0.2072, 0.3203, 0.4694, 0.6477, 0.8493, 1.073, 1.314, 1.572",\
                 "0.0188, 0.0441, 0.1263, 0.2631, 0.4441, 0.6596, 0.9017, 1.167, 1.455, 1.762",\
                 "-0.1323, -0.1026, -0.0056, 0.1546, 0.3686, 0.623, 0.9075, 1.219, 1.553, 1.91",\
                 "-0.3384, -0.3043, -0.193, -0.0079, 0.2379, 0.5315, 0.8612, 1.22, 1.604, 2.011",\
                 "-0.602, -0.5632, -0.4392, -0.2284, 0.0505, 0.3821, 0.7568, 1.165, 1.601, 2.062");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2537, 0.2839, 0.3915, 0.5933, 0.9054, 1.342, 1.915, 2.636, 3.517, 4.565",\
                 "0.2573, 0.2887, 0.3973, 0.6013, 0.9163, 1.355, 1.929, 2.652, 3.532, 4.581",\
                 "0.313, 0.3421, 0.4462, 0.6468, 0.9602, 1.398, 1.974, 2.697, 3.579, 4.629",\
                 "0.4477, 0.4772, 0.5757, 0.7669, 1.072, 1.503, 2.075, 2.795, 3.675, 4.723",\
                 "0.6299, 0.6638, 0.7766, 0.9766, 1.272, 1.693, 2.254, 2.967, 3.841, 4.884",\
                 "0.8654, 0.9027, 1.026, 1.247, 1.565, 1.98, 2.53, 3.232, 4.095, 5.13",\
                 "1.157, 1.199, 1.336, 1.574, 1.918, 2.365, 2.913, 3.602, 4.454, 5.477",\
                 "1.506, 1.554, 1.706, 1.964, 2.332, 2.81, 3.396, 4.088, 4.927, 5.936",\
                 "1.914, 1.968, 2.139, 2.424, 2.814, 3.321, 3.944, 4.677, 5.522, 6.519",\
                 "2.386, 2.444, 2.634, 2.948, 3.37, 3.902, 4.556, 5.333, 6.226, 7.23");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1182, 0.13, 0.1715, 0.2489, 0.3666, 0.5307, 0.7458, 1.016, 1.348, 1.741",\
                 "0.1169, 0.1295, 0.1713, 0.2485, 0.3664, 0.5306, 0.746, 1.016, 1.348, 1.741",\
                 "0.1526, 0.1629, 0.195, 0.2573, 0.3661, 0.5305, 0.7454, 1.017, 1.347, 1.74",\
                 "0.2254, 0.2392, 0.2826, 0.3558, 0.4543, 0.5778, 0.7601, 1.018, 1.348, 1.742",\
                 "0.3184, 0.3356, 0.3902, 0.4794, 0.6004, 0.7474, 0.9174, 1.119, 1.391, 1.75",\
                 "0.43, 0.451, 0.5192, 0.6292, 0.771, 0.9428, 1.144, 1.369, 1.617, 1.91",\
                 "0.559, 0.5862, 0.6674, 0.8004, 0.9682, 1.166, 1.393, 1.65, 1.936, 2.25",\
                 "0.7086, 0.7392, 0.8378, 0.9922, 1.191, 1.419, 1.677, 1.963, 2.28, 2.629",\
                 "0.8716, 0.9098, 1.026, 1.205, 1.432, 1.696, 1.988, 2.308, 2.656, 3.037",\
                 "1.047, 1.095, 1.231, 1.442, 1.701, 1.997, 2.328, 2.685, 3.069, 3.483");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6638, 0.7206, 0.9145, 1.272, 1.819, 2.58, 3.577, 4.836, 6.368, 8.193",\
                 "0.661, 0.7186, 0.9138, 1.272, 1.819, 2.58, 3.578, 4.835, 6.368, 8.193",\
                 "0.6491, 0.7083, 0.9094, 1.272, 1.819, 2.58, 3.579, 4.834, 6.369, 8.196",\
                 "0.6872, 0.7371, 0.9144, 1.265, 1.818, 2.58, 3.579, 4.835, 6.369, 8.197",\
                 "0.7718, 0.824, 0.9948, 1.311, 1.821, 2.578, 3.578, 4.836, 6.367, 8.197",\
                 "0.871, 0.92, 1.1, 1.432, 1.911, 2.604, 3.579, 4.835, 6.37, 8.192",\
                 "1.009, 1.055, 1.224, 1.559, 2.069, 2.736, 3.636, 4.841, 6.369, 8.198",\
                 "1.189, 1.232, 1.389, 1.71, 2.231, 2.936, 3.81, 4.937, 6.389, 8.197",\
                 "1.401, 1.442, 1.593, 1.9, 2.41, 3.138, 4.054, 5.152, 6.524, 8.241",\
                 "1.633, 1.676, 1.829, 2.133, 2.628, 3.355, 4.306, 5.443, 6.78, 8.418");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.07984, 0.08822, 0.1174, 0.1728, 0.2594, 0.3802, 0.5393, 0.7395, 0.9842, 1.275",\
                 "0.09351, 0.1018, 0.131, 0.1868, 0.2733, 0.3945, 0.5537, 0.7541, 0.9987, 1.29",\
                 "0.1281, 0.1393, 0.175, 0.2341, 0.3201, 0.441, 0.6002, 0.8005, 1.045, 1.336",\
                 "0.1386, 0.1547, 0.2053, 0.2883, 0.3978, 0.5292, 0.6877, 0.8875, 1.131, 1.423",\
                 "0.1131, 0.1344, 0.2017, 0.3106, 0.4517, 0.6198, 0.8115, 1.024, 1.268, 1.558",\
                 "0.0453, 0.0722, 0.1569, 0.294, 0.47, 0.6764, 0.9095, 1.168, 1.449, 1.751",\
                 "-0.0678, -0.0353, 0.0671, 0.232, 0.4451, 0.6931, 0.9699, 1.273, 1.603, 1.958",\
                 "-0.2299, -0.1918, -0.0716, 0.1221, 0.3715, 0.6631, 0.987, 1.339, 1.717, 2.124",\
                 "-0.4424, -0.3994, -0.2619, -0.0388, 0.2473, 0.5813, 0.9543, 1.357, 1.789, 2.247",\
                 "-0.7086, -0.6602, -0.5056, -0.2551, 0.0686, 0.4458, 0.8675, 1.324, 1.809, 2.325");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2449, 0.2758, 0.3822, 0.5831, 0.8941, 1.329, 1.899, 2.617, 3.493, 4.538",\
                 "0.2517, 0.2825, 0.3904, 0.5943, 0.9076, 1.343, 1.915, 2.634, 3.511, 4.556",\
                 "0.3063, 0.3354, 0.4392, 0.64, 0.9526, 1.389, 1.962, 2.682, 3.562, 4.605",\
                 "0.4354, 0.4655, 0.5651, 0.7559, 1.061, 1.492, 2.061, 2.779, 3.655, 4.7",\
                 "0.6107, 0.6448, 0.7587, 0.9604, 1.255, 1.676, 2.236, 2.947, 3.819, 4.858",\
                 "0.8367, 0.8744, 0.9998, 1.222, 1.541, 1.957, 2.505, 3.206, 4.066, 5.099",\
                 "1.115, 1.158, 1.298, 1.539, 1.885, 2.333, 2.881, 3.568, 4.418, 5.438",\
                 "1.446, 1.495, 1.652, 1.916, 2.286, 2.766, 3.353, 4.045, 4.882, 5.888",\
                 "1.831, 1.887, 2.064, 2.357, 2.754, 3.261, 3.886, 4.619, 5.465, 6.46",\
                 "2.273, 2.336, 2.535, 2.859, 3.29, 3.826, 4.483, 5.261, 6.153, 7.159");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1101, 0.1246, 0.1759, 0.2719, 0.42, 0.627, 0.8998, 1.242, 1.659, 2.157",\
                 "0.1081, 0.1231, 0.175, 0.2716, 0.42, 0.6274, 0.8998, 1.242, 1.658, 2.157",\
                 "0.1462, 0.1594, 0.2015, 0.2802, 0.4183, 0.6272, 0.8996, 1.241, 1.658, 2.157",\
                 "0.2162, 0.2322, 0.2843, 0.3734, 0.4965, 0.6614, 0.9035, 1.241, 1.659, 2.157",\
                 "0.3083, 0.3287, 0.3926, 0.4965, 0.6392, 0.8192, 1.034, 1.307, 1.676, 2.158",\
                 "0.4182, 0.4438, 0.5228, 0.649, 0.8128, 1.015, 1.256, 1.535, 1.855, 2.259",\
                 "0.5478, 0.5798, 0.6752, 0.8246, 1.017, 1.243, 1.509, 1.816, 2.164, 2.552",\
                 "0.6938, 0.7314, 0.8454, 1.022, 1.245, 1.505, 1.799, 2.131, 2.508, 2.932",\
                 "0.8514, 0.8966, 1.035, 1.241, 1.495, 1.793, 2.122, 2.485, 2.89, 3.345",\
                 "1.023, 1.076, 1.239, 1.481, 1.771, 2.105, 2.471, 2.876, 3.315, 3.796");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4378, 0.4919, 0.6792, 1.03, 1.573, 2.333, 3.334, 4.587, 6.125, 7.944",\
                 "0.435, 0.4904, 0.6788, 1.032, 1.574, 2.334, 3.329, 4.59, 6.123, 7.943",\
                 "0.4232, 0.4801, 0.6743, 1.029, 1.574, 2.332, 3.333, 4.585, 6.126, 7.938",\
                 "0.4624, 0.5113, 0.68, 1.021, 1.572, 2.332, 3.328, 4.585, 6.12, 7.95",\
                 "0.5182, 0.5712, 0.7542, 1.07, 1.576, 2.332, 3.332, 4.585, 6.124, 7.946",\
                 "0.5996, 0.6538, 0.8372, 1.179, 1.667, 2.359, 3.331, 4.587, 6.123, 7.95",\
                 "0.7166, 0.7674, 0.9478, 1.291, 1.815, 2.492, 3.393, 4.595, 6.125, 7.942",\
                 "0.8572, 0.9124, 1.095, 1.433, 1.971, 2.686, 3.567, 4.689, 6.147, 7.957",\
                 "1.015, 1.075, 1.273, 1.613, 2.14, 2.883, 3.812, 4.912, 6.289, 8",\
                 "1.188, 1.256, 1.47, 1.833, 2.353, 3.09, 4.06, 5.211, 6.547, 8.18");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.06971, 0.07625, 0.09962, 0.1438, 0.2123, 0.3083, 0.4346, 0.5937, 0.788, 1.019",\
                 "0.08389, 0.09064, 0.114, 0.1584, 0.2272, 0.3233, 0.4496, 0.6088, 0.8029, 1.034",\
                 "0.1146, 0.1246, 0.1563, 0.2081, 0.2779, 0.374, 0.5002, 0.6592, 0.8535, 1.085",\
                 "0.1186, 0.1331, 0.1793, 0.2538, 0.3509, 0.4658, 0.5966, 0.755, 0.9487, 1.18",\
                 "0.08393, 0.1037, 0.166, 0.2658, 0.3932, 0.5437, 0.7128, 0.8982, 1.099, 1.329",\
                 "0.0054, 0.0303, 0.1092, 0.2357, 0.3972, 0.5852, 0.7944, 1.023, 1.269, 1.532",\
                 "-0.1218, -0.0912, 0.0048, 0.1584, 0.3551, 0.583, 0.8353, 1.108, 1.401, 1.714",\
                 "-0.3006, -0.2649, -0.1513, 0.0298, 0.2618, 0.5309, 0.8283, 1.149, 1.491, 1.852",\
                 "-0.533, -0.492, -0.3626, -0.1535, 0.114, 0.4237, 0.769, 1.138, 1.531, 1.946",\
                 "-0.8207, -0.7758, -0.6313, -0.3957, -0.0917, 0.2607, 0.6504, 1.072, 1.519, 1.987");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2441, 0.2748, 0.381, 0.5824, 0.8932, 1.328, 1.898, 2.616, 3.492, 4.537",\
                 "0.2482, 0.2792, 0.387, 0.5908, 0.9036, 1.34, 1.912, 2.632, 3.507, 4.553",\
                 "0.3042, 0.3331, 0.4359, 0.636, 0.9475, 1.384, 1.957, 2.677, 3.555, 4.6",\
                 "0.4377, 0.4675, 0.566, 0.7561, 1.059, 1.489, 2.058, 2.775, 3.65, 4.695",\
                 "0.6177, 0.6515, 0.7646, 0.9652, 1.259, 1.678, 2.237, 2.946, 3.817, 4.856",\
                 "0.8508, 0.888, 1.012, 1.234, 1.552, 1.965, 2.513, 3.211, 4.071, 5.102",\
                 "1.139, 1.182, 1.319, 1.559, 1.903, 2.348, 2.896, 3.582, 4.429, 5.45",\
                 "1.484, 1.532, 1.687, 1.947, 2.313, 2.792, 3.376, 4.067, 4.902, 5.909",\
                 "1.887, 1.941, 2.115, 2.402, 2.794, 3.299, 3.922, 4.654, 5.497, 6.491",\
                 "2.351, 2.411, 2.605, 2.923, 3.346, 3.879, 4.533, 5.307, 6.197, 7.201");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.0854, 0.09656, 0.1359, 0.2109, 0.3271, 0.4902, 0.7049, 0.9765, 1.307, 1.7",\
                 "0.08488, 0.09612, 0.1357, 0.2106, 0.3271, 0.4903, 0.7053, 0.9746, 1.305, 1.7",\
                 "0.1295, 0.1403, 0.1746, 0.2314, 0.3311, 0.4899, 0.706, 0.9762, 1.307, 1.7",\
                 "0.1984, 0.2123, 0.2564, 0.3315, 0.4315, 0.5536, 0.7272, 0.9771, 1.307, 1.7",\
                 "0.2856, 0.3039, 0.3617, 0.4528, 0.5748, 0.7226, 0.8958, 1.094, 1.358, 1.712",\
                 "0.3914, 0.4144, 0.4862, 0.5998, 0.7454, 0.9166, 1.117, 1.345, 1.597, 1.884",\
                 "0.5148, 0.5436, 0.631, 0.7674, 0.9398, 1.14, 1.366, 1.625, 1.912, 2.226",\
                 "0.6518, 0.6876, 0.796, 0.956, 1.158, 1.389, 1.65, 1.935, 2.252, 2.605",\
                 "0.801, 0.8442, 0.974, 1.166, 1.398, 1.664, 1.959, 2.281, 2.628, 3.01",\
                 "0.9664, 1.016, 1.166, 1.395, 1.663, 1.965, 2.299, 2.655, 3.042, 3.455");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4376, 0.4917, 0.6793, 1.03, 1.574, 2.333, 3.33, 4.589, 6.125, 7.939",\
                 "0.4346, 0.4898, 0.6782, 1.03, 1.573, 2.332, 3.325, 4.589, 6.125, 7.946",\
                 "0.4229, 0.4795, 0.6738, 1.03, 1.573, 2.333, 3.333, 4.589, 6.114, 7.943",\
                 "0.4619, 0.5106, 0.6792, 1.021, 1.572, 2.333, 3.331, 4.583, 6.121, 7.939",\
                 "0.5144, 0.5694, 0.7522, 1.069, 1.574, 2.331, 3.328, 4.586, 6.124, 7.939",\
                 "0.5902, 0.6442, 0.829, 1.174, 1.663, 2.356, 3.332, 4.581, 6.114, 7.95",\
                 "0.7006, 0.7538, 0.9312, 1.28, 1.805, 2.485, 3.386, 4.59, 6.125, 7.946",\
                 "0.8354, 0.8906, 1.071, 1.415, 1.953, 2.674, 3.556, 4.69, 6.146, 7.956",\
                 "0.9868, 1.046, 1.24, 1.582, 2.114, 2.863, 3.794, 4.898, 6.281, 7.987",\
                 "1.156, 1.223, 1.432, 1.789, 2.311, 3.063, 4.03, 5.188, 6.529, 8.17");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.06967, 0.07629, 0.09961, 0.1438, 0.2123, 0.3083, 0.4345, 0.5937, 0.788, 1.019",\
                 "0.08389, 0.09064, 0.114, 0.1584, 0.2272, 0.3232, 0.4496, 0.6088, 0.8029, 1.034",\
                 "0.1146, 0.1246, 0.1563, 0.2081, 0.2779, 0.3739, 0.5003, 0.6592, 0.8535, 1.085",\
                 "0.1186, 0.1331, 0.1793, 0.2538, 0.3509, 0.4658, 0.5966, 0.7551, 0.949, 1.18",\
                 "0.08392, 0.1037, 0.166, 0.2658, 0.3931, 0.5437, 0.7128, 0.8982, 1.099, 1.33",\
                 "0.0054, 0.0303, 0.1092, 0.2357, 0.3973, 0.5852, 0.7944, 1.023, 1.269, 1.532",\
                 "-0.1218, -0.0912, 0.0048, 0.1583, 0.3551, 0.5829, 0.8351, 1.108, 1.401, 1.714",\
                 "-0.3006, -0.2649, -0.1513, 0.0298, 0.2618, 0.5309, 0.8281, 1.149, 1.491, 1.852",\
                 "-0.533, -0.492, -0.3626, -0.1535, 0.114, 0.4237, 0.769, 1.138, 1.531, 1.946",\
                 "-0.8207, -0.7758, -0.6313, -0.3958, -0.0917, 0.2607, 0.6504, 1.072, 1.519, 1.987");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2441, 0.2748, 0.381, 0.5824, 0.8932, 1.328, 1.898, 2.616, 3.492, 4.537",\
                 "0.2484, 0.2793, 0.3869, 0.5908, 0.9039, 1.34, 1.911, 2.632, 3.508, 4.553",\
                 "0.3042, 0.3331, 0.436, 0.636, 0.9476, 1.384, 1.957, 2.678, 3.554, 4.601",\
                 "0.4377, 0.4672, 0.566, 0.7561, 1.059, 1.489, 2.058, 2.775, 3.65, 4.695",\
                 "0.6177, 0.6515, 0.7647, 0.9652, 1.259, 1.678, 2.237, 2.946, 3.817, 4.856",\
                 "0.8511, 0.8882, 1.013, 1.234, 1.552, 1.966, 2.513, 3.211, 4.071, 5.103",\
                 "1.139, 1.182, 1.319, 1.559, 1.902, 2.348, 2.896, 3.581, 4.429, 5.449",\
                 "1.484, 1.532, 1.687, 1.947, 2.314, 2.792, 3.378, 4.067, 4.902, 5.908",\
                 "1.886, 1.941, 2.115, 2.403, 2.794, 3.3, 3.922, 4.654, 5.497, 6.49",\
                 "2.351, 2.412, 2.606, 2.921, 3.346, 3.88, 4.533, 5.308, 6.197, 7.201");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.08529, 0.09638, 0.1359, 0.2108, 0.3271, 0.4901, 0.7054, 0.9765, 1.307, 1.701",\
                 "0.08488, 0.09612, 0.1357, 0.2106, 0.3271, 0.4903, 0.7053, 0.9746, 1.304, 1.7",\
                 "0.1295, 0.1403, 0.1745, 0.2315, 0.3311, 0.4897, 0.7048, 0.9762, 1.307, 1.7",\
                 "0.1984, 0.2122, 0.2565, 0.3315, 0.4315, 0.5538, 0.7274, 0.9785, 1.306, 1.7",\
                 "0.2856, 0.3039, 0.3617, 0.4528, 0.5748, 0.723, 0.8954, 1.094, 1.358, 1.712",\
                 "0.3914, 0.4144, 0.4862, 0.5998, 0.7452, 0.9166, 1.117, 1.345, 1.597, 1.884",\
                 "0.5148, 0.5436, 0.631, 0.7674, 0.9398, 1.14, 1.366, 1.624, 1.91, 2.224",\
                 "0.6518, 0.6874, 0.7962, 0.956, 1.158, 1.389, 1.65, 1.935, 2.253, 2.605",\
                 "0.801, 0.8442, 0.974, 1.166, 1.398, 1.664, 1.959, 2.282, 2.628, 3.01",\
                 "0.9664, 1.016, 1.166, 1.395, 1.663, 1.965, 2.299, 2.655, 3.042, 3.455");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4376, 0.4917, 0.6793, 1.03, 1.574, 2.332, 3.33, 4.589, 6.125, 7.94",\
                 "0.4345, 0.4895, 0.6785, 1.03, 1.574, 2.332, 3.333, 4.589, 6.125, 7.946",\
                 "0.4228, 0.4795, 0.674, 1.03, 1.574, 2.331, 3.331, 4.588, 6.117, 7.943",\
                 "0.4619, 0.5107, 0.6792, 1.022, 1.572, 2.333, 3.331, 4.584, 6.121, 7.941",\
                 "0.5152, 0.5694, 0.7528, 1.069, 1.575, 2.329, 3.329, 4.586, 6.124, 7.945",\
                 "0.5904, 0.645, 0.8294, 1.174, 1.663, 2.357, 3.332, 4.585, 6.115, 7.951",\
                 "0.7006, 0.753, 0.9312, 1.28, 1.807, 2.485, 3.389, 4.592, 6.125, 7.951",\
                 "0.8356, 0.8906, 1.071, 1.413, 1.949, 2.674, 3.557, 4.693, 6.141, 7.945",\
                 "0.9874, 1.049, 1.24, 1.582, 2.114, 2.859, 3.796, 4.898, 6.269, 7.993",\
                 "1.156, 1.22, 1.43, 1.788, 2.315, 3.059, 4.032, 5.189, 6.528, 8.162");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.06589, 0.07212, 0.09361, 0.1344, 0.1979, 0.2868, 0.4036, 0.5508, 0.7306, 0.945",\
                 "0.08041, 0.08662, 0.1084, 0.1494, 0.213, 0.3019, 0.419, 0.5663, 0.7459, 0.9602",\
                 "0.1096, 0.1192, 0.1497, 0.1993, 0.2649, 0.3538, 0.4707, 0.6178, 0.7974, 1.012",\
                 "0.1113, 0.1254, 0.1699, 0.242, 0.3353, 0.4453, 0.5691, 0.7161, 0.8954, 1.109",\
                 "0.07364, 0.09286, 0.1535, 0.2504, 0.3739, 0.5185, 0.6806, 0.8578, 1.048, 1.262",\
                 "-0.0086, 0.0157, 0.0926, 0.2158, 0.3725, 0.5542, 0.7561, 0.9759, 1.212, 1.462",\
                 "-0.1405, -0.1105, -0.0166, 0.1329, 0.3245, 0.5456, 0.7895, 1.054, 1.336, 1.635",\
                 "-0.3249, -0.2899, -0.1789, -0.0018, 0.2244, 0.4865, 0.7745, 1.086, 1.415, 1.764",\
                 "-0.5635, -0.5235, -0.3973, -0.1928, 0.0684, 0.3715, 0.7048, 1.065, 1.445, 1.846",\
                 "-0.859, -0.8146, -0.673, -0.4434, -0.1467, 0.1973, 0.5778, 0.987, 1.421, 1.875");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2432, 0.2739, 0.3805, 0.5816, 0.8922, 1.326, 1.897, 2.615, 3.492, 4.536",\
                 "0.2469, 0.2773, 0.3854, 0.5886, 0.9019, 1.338, 1.91, 2.629, 3.506, 4.551",\
                 "0.3036, 0.3323, 0.4351, 0.6345, 0.946, 1.382, 1.955, 2.674, 3.552, 4.597",\
                 "0.4385, 0.4679, 0.5666, 0.756, 1.059, 1.488, 2.056, 2.773, 3.649, 4.693",\
                 "0.6202, 0.6537, 0.7668, 0.9668, 1.261, 1.679, 2.238, 2.947, 3.816, 4.855",\
                 "0.856, 0.8927, 1.017, 1.238, 1.555, 1.969, 2.516, 3.213, 4.072, 5.102",\
                 "1.148, 1.19, 1.326, 1.565, 1.909, 2.354, 2.901, 3.587, 4.434, 5.453",\
                 "1.496, 1.544, 1.699, 1.957, 2.323, 2.801, 3.385, 4.074, 4.911, 5.915",\
                 "1.906, 1.959, 2.132, 2.416, 2.808, 3.313, 3.934, 4.666, 5.507, 6.501",\
                 "2.378, 2.437, 2.63, 2.943, 3.365, 3.896, 4.551, 5.325, 6.213, 7.216");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.0781, 0.08855, 0.1247, 0.1937, 0.301, 0.4514, 0.6501, 0.8998, 1.204, 1.566",\
                 "0.0782, 0.08846, 0.1245, 0.1937, 0.3011, 0.4514, 0.6496, 0.8981, 1.204, 1.567",\
                 "0.1244, 0.1344, 0.1664, 0.2189, 0.3069, 0.451, 0.6501, 0.8997, 1.204, 1.567",\
                 "0.1928, 0.2056, 0.2484, 0.3186, 0.4124, 0.5251, 0.6788, 0.9043, 1.204, 1.567",\
                 "0.2788, 0.2966, 0.3511, 0.439, 0.5546, 0.6946, 0.8558, 1.036, 1.271, 1.588",\
                 "0.383, 0.4046, 0.4738, 0.5828, 0.722, 0.8854, 1.077, 1.29, 1.525, 1.783",\
                 "0.5036, 0.5316, 0.6164, 0.748, 0.9148, 1.108, 1.322, 1.565, 1.837, 2.13",\
                 "0.6372, 0.6726, 0.7788, 0.9346, 1.129, 1.351, 1.601, 1.874, 2.175, 2.503",\
                 "0.7848, 0.8266, 0.9532, 1.141, 1.365, 1.623, 1.905, 2.216, 2.545, 2.907",\
                 "0.9474, 0.9952, 1.142, 1.365, 1.629, 1.917, 2.237, 2.582, 2.954, 3.346");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4375, 0.492, 0.6788, 1.03, 1.573, 2.334, 3.326, 4.585, 6.125, 7.955",\
                 "0.4342, 0.4898, 0.6798, 1.03, 1.573, 2.332, 3.333, 4.587, 6.125, 7.943",\
                 "0.4227, 0.4794, 0.6738, 1.029, 1.574, 2.333, 3.333, 4.586, 6.117, 7.939",\
                 "0.4614, 0.5104, 0.6797, 1.022, 1.573, 2.33, 3.331, 4.589, 6.114, 7.948",\
                 "0.5154, 0.5688, 0.7512, 1.069, 1.575, 2.332, 3.327, 4.585, 6.125, 7.953",\
                 "0.5882, 0.6408, 0.8268, 1.172, 1.661, 2.356, 3.33, 4.586, 6.116, 7.949",\
                 "0.6956, 0.7472, 0.9278, 1.277, 1.804, 2.483, 3.388, 4.591, 6.125, 7.95",\
                 "0.8284, 0.8828, 1.063, 1.406, 1.944, 2.669, 3.552, 4.686, 6.139, 7.956",\
                 "0.977, 1.038, 1.233, 1.571, 2.104, 2.854, 3.791, 4.893, 6.269, 7.983",\
                 "1.144, 1.209, 1.417, 1.779, 2.302, 3.052, 4.023, 5.182, 6.521, 8.17");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1179, 0.1281, 0.1628, 0.2256, 0.3189, 0.4457, 0.6093, 0.8131, 1.06, 1.354",\
                 "0.1318, 0.142, 0.1767, 0.2396, 0.3331, 0.46, 0.6237, 0.8275, 1.075, 1.368",\
                 "0.1844, 0.1947, 0.2281, 0.288, 0.3802, 0.5067, 0.6703, 0.8741, 1.121, 1.415",\
                 "0.2313, 0.2448, 0.2902, 0.3661, 0.4691, 0.5962, 0.7579, 0.9612, 1.208, 1.501",\
                 "0.2474, 0.2651, 0.3224, 0.4185, 0.5487, 0.7075, 0.8914, 1.099, 1.344, 1.637",\
                 "0.225, 0.2464, 0.3171, 0.4352, 0.5935, 0.7865, 1.009, 1.259, 1.532, 1.83",\
                 "0.1572, 0.1824, 0.267, 0.4087, 0.5984, 0.827, 1.089, 1.382, 1.703, 2.049",\
                 "0.0413, 0.0712, 0.1686, 0.3334, 0.5563, 0.8229, 1.128, 1.465, 1.833, 2.23",\
                 "-0.1261, -0.0923, 0.0192, 0.2067, 0.4614, 0.7689, 1.118, 1.503, 1.92, 2.368",\
                 "-0.3492, -0.3108, -0.1853, 0.0269, 0.3123, 0.6597, 1.055, 1.49, 1.96, 2.46");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2537, 0.2839, 0.3915, 0.5933, 0.9054, 1.342, 1.915, 2.636, 3.517, 4.565",\
                 "0.2573, 0.2887, 0.3973, 0.6013, 0.9163, 1.355, 1.929, 2.652, 3.532, 4.581",\
                 "0.313, 0.3421, 0.4462, 0.6468, 0.9602, 1.398, 1.974, 2.697, 3.579, 4.629",\
                 "0.4477, 0.4772, 0.5757, 0.7669, 1.072, 1.503, 2.075, 2.795, 3.675, 4.723",\
                 "0.6299, 0.6638, 0.7766, 0.9766, 1.272, 1.693, 2.254, 2.967, 3.841, 4.884",\
                 "0.8654, 0.9027, 1.026, 1.247, 1.565, 1.98, 2.53, 3.232, 4.095, 5.13",\
                 "1.157, 1.199, 1.336, 1.574, 1.918, 2.365, 2.913, 3.602, 4.454, 5.477",\
                 "1.506, 1.554, 1.706, 1.964, 2.332, 2.81, 3.396, 4.088, 4.927, 5.936",\
                 "1.914, 1.968, 2.139, 2.424, 2.814, 3.321, 3.944, 4.677, 5.522, 6.519",\
                 "2.386, 2.444, 2.634, 2.948, 3.37, 3.902, 4.556, 5.333, 6.226, 7.23");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1808, 0.1976, 0.2533, 0.3546, 0.5072, 0.7164, 0.9897, 1.333, 1.75, 2.249",\
                 "0.1789, 0.1962, 0.2529, 0.3549, 0.5072, 0.7163, 0.9889, 1.333, 1.751, 2.251",\
                 "0.1951, 0.2079, 0.2541, 0.3485, 0.5037, 0.7155, 0.9895, 1.333, 1.751, 2.25",\
                 "0.2711, 0.2873, 0.3394, 0.4273, 0.5496, 0.7284, 0.988, 1.331, 1.751, 2.25",\
                 "0.368, 0.3874, 0.4493, 0.553, 0.6954, 0.8738, 1.088, 1.375, 1.759, 2.25",\
                 "0.489, 0.5112, 0.5864, 0.7066, 0.8686, 1.07, 1.311, 1.589, 1.912, 2.327",\
                 "0.6254, 0.655, 0.7436, 0.8878, 1.073, 1.299, 1.564, 1.872, 2.221, 2.606",\
                 "0.7832, 0.816, 0.9218, 1.09, 1.306, 1.562, 1.853, 2.186, 2.568, 2.988",\
                 "0.963, 1, 1.122, 1.314, 1.563, 1.852, 2.178, 2.539, 2.947, 3.402",\
                 "1.159, 1.204, 1.344, 1.563, 1.843, 2.169, 2.532, 2.933, 3.37, 3.852");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7285, 0.79, 0.999, 1.381, 1.954, 2.733, 3.742, 5.003, 6.538, 8.365",\
                 "0.7261, 0.7882, 0.9984, 1.381, 1.954, 2.733, 3.742, 5.003, 6.538, 8.366",\
                 "0.7138, 0.7778, 0.994, 1.38, 1.954, 2.733, 3.742, 5.002, 6.537, 8.366",\
                 "0.7517, 0.8064, 0.9987, 1.373, 1.953, 2.733, 3.742, 5.003, 6.538, 8.366",\
                 "0.8552, 0.9094, 1.086, 1.422, 1.956, 2.732, 3.742, 5.002, 6.538, 8.366",\
                 "0.9734, 1.026, 1.211, 1.552, 2.05, 2.759, 3.743, 5.002, 6.537, 8.367",\
                 "1.141, 1.185, 1.359, 1.704, 2.22, 2.896, 3.803, 5.009, 6.537, 8.367",\
                 "1.361, 1.4, 1.551, 1.877, 2.404, 3.107, 3.982, 5.111, 6.561, 8.367",\
                 "1.621, 1.655, 1.795, 2.095, 2.606, 3.331, 4.239, 5.334, 6.703, 8.412",\
                 "1.907, 1.94, 2.077, 2.362, 2.849, 3.566, 4.509, 5.641, 6.973, 8.596");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1607, 0.1709, 0.2056, 0.2688, 0.3625, 0.4901, 0.6545, 0.8591, 1.107, 1.401",\
                 "0.1736, 0.1838, 0.2185, 0.2816, 0.3756, 0.503, 0.6675, 0.8721, 1.12, 1.414",\
                 "0.2231, 0.2324, 0.2652, 0.3268, 0.4202, 0.5475, 0.7118, 0.9164, 1.164, 1.458",\
                 "0.2859, 0.2984, 0.3401, 0.4113, 0.5096, 0.6354, 0.7985, 1.002, 1.25, 1.544",\
                 "0.3206, 0.3363, 0.3886, 0.4785, 0.6023, 0.7557, 0.9346, 1.14, 1.386, 1.679",\
                 "0.3189, 0.3388, 0.4028, 0.5123, 0.6629, 0.8474, 1.064, 1.307, 1.577, 1.873",\
                 "0.2768, 0.3006, 0.3771, 0.5071, 0.6861, 0.9047, 1.158, 1.443, 1.757, 2.099",\
                 "0.1908, 0.2185, 0.3072, 0.458, 0.6664, 0.9203, 1.214, 1.542, 1.901, 2.291",\
                 "0.0613, 0.0915, 0.1908, 0.3636, 0.6005, 0.8909, 1.226, 1.599, 2.005, 2.443",\
                 "-0.1175, -0.0839, 0.028, 0.2207, 0.4862, 0.813, 1.189, 1.609, 2.064, 2.554");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3859, 0.4167, 0.5239, 0.7255, 1.037, 1.473, 2.046, 2.768, 3.648, 4.697",\
                 "0.3899, 0.4217, 0.5311, 0.7361, 1.051, 1.489, 2.063, 2.785, 3.666, 4.716",\
                 "0.4205, 0.4521, 0.5603, 0.766, 1.083, 1.524, 2.101, 2.825, 3.707, 4.758",\
                 "0.4942, 0.5267, 0.6349, 0.836, 1.148, 1.587, 2.163, 2.887, 3.77, 4.821",\
                 "0.6174, 0.6504, 0.7645, 0.9725, 1.281, 1.71, 2.279, 2.998, 3.877, 4.926",\
                 "0.8061, 0.8407, 0.9577, 1.171, 1.489, 1.917, 2.475, 3.183, 4.053, 5.095",\
                 "1.048, 1.088, 1.215, 1.436, 1.761, 2.202, 2.761, 3.457, 4.314, 5.343",\
                 "1.338, 1.382, 1.526, 1.766, 2.103, 2.553, 3.127, 3.828, 4.672, 5.687",\
                 "1.676, 1.726, 1.885, 2.151, 2.513, 2.976, 3.561, 4.278, 5.131, 6.133",\
                 "2.062, 2.118, 2.295, 2.589, 2.983, 3.471, 4.069, 4.8, 5.672, 6.684");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2304, 0.2466, 0.3016, 0.4031, 0.556, 0.766, 1.04, 1.385, 1.805, 2.305",\
                 "0.2297, 0.246, 0.3014, 0.4031, 0.5559, 0.7663, 1.041, 1.386, 1.805, 2.305",\
                 "0.2271, 0.2421, 0.2948, 0.3977, 0.5544, 0.7651, 1.04, 1.386, 1.805, 2.304",\
                 "0.3076, 0.3233, 0.3746, 0.4608, 0.5848, 0.7729, 1.039, 1.385, 1.804, 2.305",\
                 "0.4148, 0.4327, 0.493, 0.5938, 0.7316, 0.9088, 1.125, 1.42, 1.809, 2.304",\
                 "0.5448, 0.5674, 0.6382, 0.7536, 0.9126, 1.112, 1.348, 1.622, 1.952, 2.375",\
                 "0.6978, 0.7254, 0.8084, 0.9456, 1.124, 1.344, 1.606, 1.909, 2.256, 2.642",\
                 "0.8742, 0.906, 1.004, 1.162, 1.367, 1.613, 1.9, 2.227, 2.603, 3.024",\
                 "1.074, 1.109, 1.223, 1.406, 1.64, 1.916, 2.231, 2.587, 2.987, 3.438",\
                 "1.297, 1.338, 1.467, 1.674, 1.939, 2.248, 2.598, 2.987, 3.415, 3.892");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7383, 0.7971, 1.002, 1.382, 1.954, 2.733, 3.741, 5.002, 6.536, 8.364",\
                 "0.7387, 0.7974, 1.002, 1.382, 1.954, 2.733, 3.742, 5.002, 6.536, 8.364",\
                 "0.7416, 0.7996, 1.002, 1.382, 1.954, 2.733, 3.742, 5.002, 6.538, 8.367",\
                 "0.7905, 0.8412, 1.025, 1.386, 1.954, 2.733, 3.742, 5.003, 6.537, 8.366",\
                 "0.8966, 0.9466, 1.114, 1.444, 1.974, 2.734, 3.742, 5.003, 6.539, 8.367",\
                 "1.017, 1.062, 1.228, 1.558, 2.06, 2.778, 3.749, 5.003, 6.539, 8.367",\
                 "1.195, 1.231, 1.375, 1.685, 2.19, 2.887, 3.817, 5.022, 6.54, 8.367",\
                 "1.43, 1.46, 1.58, 1.858, 2.34, 3.04, 3.952, 5.115, 6.578, 8.373",\
                 "1.702, 1.73, 1.839, 2.087, 2.532, 3.212, 4.132, 5.278, 6.697, 8.433",\
                 "1.997, 2.025, 2.132, 2.371, 2.785, 3.43, 4.333, 5.487, 6.887, 8.578");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1481, 0.1577, 0.1904, 0.2507, 0.3415, 0.4662, 0.6282, 0.8308, 1.077, 1.37",\
                 "0.1609, 0.1706, 0.2034, 0.2637, 0.3545, 0.4791, 0.6411, 0.8438, 1.09, 1.383",\
                 "0.2087, 0.218, 0.2495, 0.3086, 0.3991, 0.5236, 0.6855, 0.888, 1.134, 1.427",\
                 "0.26, 0.2728, 0.3147, 0.3869, 0.4862, 0.6111, 0.772, 0.9739, 1.22, 1.512",\
                 "0.2806, 0.2974, 0.351, 0.4432, 0.5692, 0.7246, 0.9057, 1.112, 1.356, 1.648",\
                 "0.2645, 0.2852, 0.352, 0.4658, 0.62, 0.8083, 1.027, 1.273, 1.545, 1.842",\
                 "0.2088, 0.2329, 0.3125, 0.4482, 0.6325, 0.8561, 1.113, 1.402, 1.719, 2.063",\
                 "0.1094, 0.1372, 0.2293, 0.3875, 0.6012, 0.8629, 1.162, 1.493, 1.856, 2.249",\
                 "-0.0363, -0.0037, 0.1006, 0.2792, 0.5245, 0.823, 1.164, 1.543, 1.954, 2.395",\
                 "-0.2285, -0.1917, -0.0759, 0.125, 0.3985, 0.7344, 1.119, 1.545, 2.007, 2.5");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3862, 0.4166, 0.5235, 0.7256, 1.037, 1.474, 2.047, 2.768, 3.648, 4.697",\
                 "0.3899, 0.4217, 0.5311, 0.7358, 1.051, 1.489, 2.063, 2.785, 3.666, 4.715",\
                 "0.4205, 0.4521, 0.5603, 0.7659, 1.083, 1.524, 2.101, 2.825, 3.707, 4.758",\
                 "0.4943, 0.5267, 0.6349, 0.836, 1.148, 1.587, 2.163, 2.887, 3.77, 4.821",\
                 "0.6171, 0.6504, 0.7646, 0.9728, 1.28, 1.71, 2.279, 2.998, 3.877, 4.925",\
                 "0.8063, 0.8416, 0.9576, 1.171, 1.49, 1.917, 2.475, 3.183, 4.053, 5.094",\
                 "1.048, 1.088, 1.215, 1.436, 1.762, 2.202, 2.761, 3.457, 4.313, 5.343",\
                 "1.338, 1.383, 1.525, 1.766, 2.103, 2.553, 3.127, 3.827, 4.672, 5.686",\
                 "1.676, 1.726, 1.886, 2.151, 2.514, 2.976, 3.561, 4.278, 5.131, 6.133",\
                 "2.062, 2.118, 2.296, 2.589, 2.983, 3.471, 4.07, 4.8, 5.672, 6.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2036, 0.219, 0.2723, 0.3707, 0.5209, 0.7302, 1.004, 1.347, 1.767, 2.266",\
                 "0.2034, 0.2187, 0.2721, 0.3705, 0.5207, 0.7302, 1.004, 1.347, 1.767, 2.266",\
                 "0.2082, 0.2217, 0.2702, 0.367, 0.5197, 0.7296, 1.003, 1.347, 1.767, 2.266",\
                 "0.2892, 0.3048, 0.3552, 0.4403, 0.562, 0.7432, 1.004, 1.347, 1.767, 2.265",\
                 "0.3961, 0.4141, 0.4742, 0.573, 0.7114, 0.8868, 1.102, 1.391, 1.774, 2.266",\
                 "0.527, 0.5488, 0.6194, 0.7354, 0.893, 1.089, 1.326, 1.602, 1.927, 2.344",\
                 "0.6788, 0.7054, 0.7896, 0.9254, 1.105, 1.323, 1.583, 1.888, 2.233, 2.62",\
                 "0.8518, 0.8854, 0.9832, 1.142, 1.347, 1.594, 1.881, 2.206, 2.581, 3.002",\
                 "1.054, 1.091, 1.203, 1.385, 1.62, 1.896, 2.212, 2.565, 2.966, 3.416",\
                 "1.273, 1.316, 1.445, 1.654, 1.918, 2.23, 2.578, 2.967, 3.392, 3.869");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6736, 0.7278, 0.917, 1.273, 1.819, 2.58, 3.578, 4.834, 6.366, 8.192",\
                 "0.674, 0.7281, 0.9171, 1.273, 1.819, 2.581, 3.578, 4.834, 6.368, 8.193",\
                 "0.6768, 0.73, 0.918, 1.273, 1.819, 2.58, 3.578, 4.834, 6.37, 8.195",\
                 "0.7243, 0.771, 0.9402, 1.277, 1.819, 2.58, 3.578, 4.835, 6.369, 8.197",\
                 "0.8118, 0.8594, 1.023, 1.335, 1.84, 2.582, 3.578, 4.835, 6.37, 8.195",\
                 "0.9188, 0.9608, 1.12, 1.437, 1.924, 2.625, 3.585, 4.835, 6.37, 8.196",\
                 "1.077, 1.113, 1.253, 1.555, 2.047, 2.734, 3.654, 4.855, 6.37, 8.196",\
                 "1.281, 1.314, 1.44, 1.713, 2.185, 2.88, 3.788, 4.946, 6.406, 8.204",\
                 "1.513, 1.545, 1.671, 1.928, 2.368, 3.044, 3.962, 5.11, 6.525, 8.261",\
                 "1.767, 1.802, 1.929, 2.188, 2.61, 3.251, 4.155, 5.317, 6.717, 8.408");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1197, 0.1275, 0.1541, 0.2026, 0.2754, 0.3749, 0.5041, 0.6655, 0.8616, 1.095",\
                 "0.1337, 0.1414, 0.168, 0.2165, 0.2893, 0.3888, 0.518, 0.6794, 0.8756, 1.109",\
                 "0.1838, 0.1921, 0.219, 0.2664, 0.3384, 0.4378, 0.5668, 0.7282, 0.9243, 1.157",\
                 "0.2261, 0.2377, 0.2757, 0.3399, 0.4271, 0.5336, 0.6621, 0.8231, 1.019, 1.252",\
                 "0.2357, 0.2511, 0.3006, 0.3844, 0.4972, 0.6355, 0.7942, 0.9712, 1.169, 1.401",\
                 "0.2056, 0.2248, 0.2863, 0.3913, 0.532, 0.7029, 0.8979, 1.116, 1.353, 1.608",\
                 "0.1325, 0.1551, 0.2292, 0.3557, 0.5249, 0.7303, 0.9646, 1.223, 1.504, 1.807",\
                 "0.013, 0.0391, 0.125, 0.2728, 0.4713, 0.7125, 0.9871, 1.289, 1.615, 1.965",\
                 "-0.1567, -0.1271, -0.0278, 0.1405, 0.3681, 0.6463, 0.9605, 1.307, 1.682, 2.08",\
                 "-0.3778, -0.3442, -0.2338, -0.0438, 0.212, 0.5255, 0.8819, 1.275, 1.698, 2.149");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3852, 0.4155, 0.5227, 0.7245, 1.036, 1.472, 2.046, 2.767, 3.647, 4.696",\
                 "0.3876, 0.4184, 0.5279, 0.7327, 1.047, 1.485, 2.06, 2.782, 3.663, 4.712",\
                 "0.4181, 0.4495, 0.5575, 0.7619, 1.078, 1.519, 2.096, 2.82, 3.702, 4.752",\
                 "0.4939, 0.5262, 0.6338, 0.834, 1.145, 1.582, 2.158, 2.882, 3.765, 4.816",\
                 "0.6221, 0.6547, 0.7685, 0.975, 1.282, 1.71, 2.277, 2.995, 3.874, 4.921",\
                 "0.8198, 0.8539, 0.9693, 1.181, 1.497, 1.924, 2.479, 3.186, 4.055, 5.094",\
                 "1.074, 1.112, 1.237, 1.457, 1.78, 2.219, 2.775, 3.469, 4.323, 5.351",\
                 "1.379, 1.423, 1.562, 1.799, 2.133, 2.581, 3.153, 3.851, 4.693, 5.705",\
                 "1.737, 1.784, 1.941, 2.202, 2.558, 3.017, 3.601, 4.315, 5.164, 6.164",\
                 "2.147, 2.201, 2.374, 2.662, 3.048, 3.53, 4.125, 4.855, 5.722, 6.732");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1536, 0.1661, 0.2083, 0.2864, 0.4058, 0.5709, 0.7873, 1.059, 1.39, 1.785",\
                 "0.1526, 0.1653, 0.2083, 0.2866, 0.4053, 0.5711, 0.7875, 1.059, 1.39, 1.784",\
                 "0.1753, 0.1847, 0.2185, 0.2882, 0.4043, 0.5708, 0.7876, 1.058, 1.391, 1.785",\
                 "0.2581, 0.2707, 0.3133, 0.3834, 0.4784, 0.6071, 0.7965, 1.06, 1.391, 1.785",\
                 "0.3625, 0.3788, 0.4302, 0.5168, 0.633, 0.7762, 0.9436, 1.148, 1.428, 1.791",\
                 "0.4882, 0.5076, 0.571, 0.675, 0.812, 0.9778, 1.173, 1.398, 1.645, 1.942",\
                 "0.6338, 0.6564, 0.7358, 0.8586, 1.019, 1.208, 1.43, 1.683, 1.965, 2.276",\
                 "0.802, 0.832, 0.9202, 1.065, 1.249, 1.47, 1.719, 1.998, 2.311, 2.657",\
                 "0.9938, 1.029, 1.131, 1.299, 1.513, 1.759, 2.042, 2.351, 2.693, 3.068",\
                 "1.204, 1.247, 1.368, 1.558, 1.8, 2.082, 2.391, 2.739, 3.112, 3.519");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6736, 0.7279, 0.9172, 1.273, 1.819, 2.58, 3.578, 4.834, 6.367, 8.194",\
                 "0.6741, 0.7281, 0.9172, 1.273, 1.819, 2.579, 3.579, 4.835, 6.37, 8.193",\
                 "0.677, 0.7301, 0.9179, 1.273, 1.819, 2.58, 3.578, 4.834, 6.37, 8.193",\
                 "0.7243, 0.7712, 0.9404, 1.277, 1.819, 2.581, 3.578, 4.835, 6.37, 8.199",\
                 "0.8086, 0.8566, 1.021, 1.334, 1.839, 2.581, 3.579, 4.834, 6.369, 8.195",\
                 "0.9078, 0.9512, 1.113, 1.433, 1.922, 2.624, 3.584, 4.835, 6.37, 8.196",\
                 "1.057, 1.094, 1.238, 1.541, 2.039, 2.729, 3.65, 4.854, 6.368, 8.194",\
                 "1.253, 1.286, 1.414, 1.691, 2.169, 2.869, 3.78, 4.943, 6.406, 8.204",\
                 "1.478, 1.513, 1.633, 1.892, 2.341, 3.025, 3.949, 5.1, 6.519, 8.259",\
                 "1.725, 1.759, 1.884, 2.141, 2.566, 3.219, 4.133, 5.298, 6.702, 8.4");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1098, 0.1192, 0.1513, 0.2102, 0.2993, 0.4225, 0.5832, 0.7847, 1.03, 1.322",\
                 "0.1228, 0.1322, 0.1642, 0.2231, 0.3123, 0.4354, 0.5961, 0.7977, 1.043, 1.335",\
                 "0.167, 0.1773, 0.2105, 0.2682, 0.3569, 0.4798, 0.6404, 0.842, 1.087, 1.38",\
                 "0.1973, 0.2117, 0.2581, 0.3357, 0.4399, 0.5673, 0.7272, 0.9278, 1.173, 1.465",\
                 "0.1948, 0.2141, 0.2747, 0.3751, 0.5087, 0.6702, 0.8566, 1.065, 1.31, 1.6",\
                 "0.1558, 0.1792, 0.2545, 0.379, 0.5439, 0.7413, 0.9669, 1.219, 1.495, 1.794",\
                 "0.0759, 0.1038, 0.1934, 0.3431, 0.54, 0.7757, 1.042, 1.337, 1.66, 2.009",\
                 "-0.0455, -0.0138, 0.09, 0.2624, 0.4939, 0.7681, 1.078, 1.419, 1.788, 2.187",\
                 "-0.2132, -0.1765, -0.0588, 0.1372, 0.3999, 0.7139, 1.068, 1.458, 1.877, 2.325",\
                 "-0.4271, -0.3868, -0.2552, -0.0345, 0.2578, 0.6112, 1.011, 1.449, 1.92, 2.422");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3764, 0.4071, 0.5142, 0.7149, 1.025, 1.459, 2.029, 2.747, 3.624, 4.668",\
                 "0.3804, 0.4124, 0.5215, 0.7256, 1.038, 1.474, 2.046, 2.765, 3.641, 4.687",\
                 "0.4109, 0.4424, 0.5509, 0.7554, 1.07, 1.509, 2.083, 2.805, 3.683, 4.729",\
                 "0.4834, 0.5159, 0.6248, 0.825, 1.136, 1.572, 2.146, 2.867, 3.746, 4.792",\
                 "0.6053, 0.6385, 0.7526, 0.9605, 1.268, 1.695, 2.262, 2.978, 3.853, 4.897",\
                 "0.7923, 0.8276, 0.9449, 1.158, 1.475, 1.902, 2.457, 3.162, 4.028, 5.066",\
                 "1.032, 1.072, 1.201, 1.423, 1.747, 2.186, 2.743, 3.436, 4.29, 5.314",\
                 "1.316, 1.362, 1.507, 1.75, 2.088, 2.536, 3.108, 3.806, 4.647, 5.659",\
                 "1.649, 1.7, 1.864, 2.132, 2.495, 2.958, 3.541, 4.256, 5.105, 6.101",\
                 "2.029, 2.086, 2.269, 2.566, 2.962, 3.45, 4.047, 4.776, 5.645, 6.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1592, 0.1742, 0.2261, 0.3227, 0.4711, 0.6793, 0.9513, 1.295, 1.714, 2.211",\
                 "0.157, 0.1725, 0.2252, 0.3225, 0.4706, 0.679, 0.9514, 1.295, 1.714, 2.212",\
                 "0.181, 0.1933, 0.235, 0.322, 0.4698, 0.6782, 0.9509, 1.294, 1.714, 2.212",\
                 "0.261, 0.276, 0.3258, 0.4107, 0.5304, 0.7019, 0.9544, 1.294, 1.714, 2.212",\
                 "0.3661, 0.3849, 0.4441, 0.5432, 0.681, 0.8566, 1.07, 1.349, 1.727, 2.213",\
                 "0.4924, 0.516, 0.5868, 0.7046, 0.8624, 1.057, 1.294, 1.571, 1.893, 2.303",\
                 "0.6396, 0.6676, 0.7532, 0.8924, 1.075, 1.292, 1.55, 1.855, 2.201, 2.587",\
                 "0.8122, 0.843, 0.9452, 1.109, 1.314, 1.561, 1.847, 2.173, 2.548, 2.969",\
                 "1.003, 1.04, 1.159, 1.348, 1.582, 1.861, 2.18, 2.533, 2.933, 3.381",\
                 "1.209, 1.256, 1.399, 1.615, 1.88, 2.193, 2.545, 2.933, 3.359, 3.837");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4469, 0.4994, 0.6819, 1.032, 1.573, 2.33, 3.33, 4.583, 6.12, 7.956",\
                 "0.4478, 0.4999, 0.6819, 1.031, 1.572, 2.332, 3.329, 4.582, 6.113, 7.949",\
                 "0.4507, 0.5016, 0.6826, 1.031, 1.574, 2.332, 3.328, 4.586, 6.121, 7.942",\
                 "0.4969, 0.5425, 0.7051, 1.034, 1.574, 2.331, 3.328, 4.585, 6.116, 7.942",\
                 "0.5568, 0.6066, 0.779, 1.093, 1.594, 2.333, 3.327, 4.587, 6.119, 7.949",\
                 "0.6466, 0.6914, 0.856, 1.181, 1.678, 2.38, 3.337, 4.588, 6.126, 7.947",\
                 "0.7792, 0.8224, 0.9736, 1.286, 1.786, 2.484, 3.402, 4.606, 6.126, 7.94",\
                 "0.9394, 0.9846, 1.139, 1.431, 1.914, 2.619, 3.536, 4.694, 6.159, 7.96",\
                 "1.119, 1.169, 1.331, 1.626, 2.087, 2.772, 3.702, 4.856, 6.277, 8.009",\
                 "1.319, 1.37, 1.544, 1.857, 2.313, 2.975, 3.887, 5.055, 6.462, 8.153");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09115, 0.09865, 0.1244, 0.1715, 0.2427, 0.3409, 0.4688, 0.6291, 0.8242, 1.057",\
                 "0.1053, 0.1128, 0.1383, 0.1854, 0.2566, 0.3548, 0.4827, 0.643, 0.8382, 1.071",\
                 "0.1478, 0.157, 0.1863, 0.2353, 0.3059, 0.4037, 0.5315, 0.6918, 0.887, 1.119",\
                 "0.1702, 0.1833, 0.2252, 0.295, 0.3871, 0.4978, 0.6271, 0.7867, 0.9814, 1.213",\
                 "0.1576, 0.175, 0.231, 0.3231, 0.4436, 0.5877, 0.7516, 0.9323, 1.131, 1.363",\
                 "0.1049, 0.1267, 0.1968, 0.3123, 0.4633, 0.6428, 0.8444, 1.068, 1.309, 1.568",\
                 "0.009, 0.0349, 0.1191, 0.2578, 0.4408, 0.6569, 0.8996, 1.165, 1.451, 1.759",\
                 "-0.1335, -0.103, -0.005, 0.1568, 0.3719, 0.6253, 0.9106, 1.221, 1.554, 1.909",\
                 "-0.3243, -0.2901, -0.1783, 0.0067, 0.2523, 0.5439, 0.872, 1.229, 1.612, 2.016",\
                 "-0.5657, -0.5277, -0.4034, -0.1952, 0.0812, 0.41, 0.7816, 1.186, 1.618, 2.076");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3751, 0.4061, 0.5129, 0.7139, 1.024, 1.458, 2.028, 2.746, 3.622, 4.667",\
                 "0.3776, 0.4092, 0.5184, 0.7214, 1.035, 1.471, 2.042, 2.762, 3.638, 4.683",\
                 "0.4084, 0.4399, 0.5474, 0.7507, 1.066, 1.504, 2.078, 2.799, 3.678, 4.724",\
                 "0.4829, 0.5155, 0.6236, 0.823, 1.133, 1.568, 2.141, 2.862, 3.742, 4.787",\
                 "0.6102, 0.6436, 0.7559, 0.9634, 1.269, 1.695, 2.26, 2.975, 3.849, 4.893",\
                 "0.8061, 0.8411, 0.9565, 1.168, 1.484, 1.909, 2.461, 3.165, 4.03, 5.066",\
                 "1.058, 1.096, 1.223, 1.443, 1.766, 2.202, 2.757, 3.447, 4.3, 5.321",\
                 "1.358, 1.403, 1.545, 1.783, 2.117, 2.564, 3.134, 3.829, 4.668, 5.677",\
                 "1.711, 1.76, 1.919, 2.183, 2.54, 2.999, 3.58, 4.292, 5.139, 6.135",\
                 "2.115, 2.171, 2.348, 2.64, 3.028, 3.51, 4.103, 4.83, 5.696, 6.701");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1201, 0.1321, 0.1732, 0.2497, 0.3669, 0.5309, 0.7463, 1.017, 1.347, 1.741",\
                 "0.1186, 0.1308, 0.1723, 0.2494, 0.3667, 0.5307, 0.7458, 1.016, 1.348, 1.742",\
                 "0.1566, 0.1667, 0.1983, 0.2589, 0.3672, 0.5304, 0.746, 1.017, 1.348, 1.74",\
                 "0.2369, 0.2496, 0.2915, 0.362, 0.458, 0.5808, 0.7625, 1.019, 1.347, 1.741",\
                 "0.3373, 0.3548, 0.4069, 0.4937, 0.6092, 0.7528, 0.9224, 1.122, 1.393, 1.751",\
                 "0.4596, 0.4796, 0.5448, 0.6502, 0.7874, 0.9536, 1.15, 1.374, 1.622, 1.913",\
                 "0.601, 0.6272, 0.7064, 0.8316, 0.992, 1.183, 1.404, 1.657, 1.94, 2.252",\
                 "0.7668, 0.7954, 0.8898, 1.037, 1.224, 1.444, 1.693, 1.973, 2.285, 2.633",\
                 "0.9468, 0.9844, 1.096, 1.267, 1.481, 1.732, 2.014, 2.324, 2.667, 3.041",\
                 "1.146, 1.188, 1.324, 1.527, 1.769, 2.052, 2.365, 2.71, 3.085, 3.49");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4474, 0.4991, 0.6817, 1.032, 1.571, 2.33, 3.332, 4.591, 6.124, 7.954",\
                 "0.4479, 0.4999, 0.6821, 1.03, 1.574, 2.332, 3.329, 4.583, 6.114, 7.949",\
                 "0.4508, 0.5019, 0.6842, 1.031, 1.574, 2.33, 3.333, 4.581, 6.117, 7.941",\
                 "0.497, 0.5424, 0.7055, 1.034, 1.576, 2.332, 3.327, 4.587, 6.126, 7.947",\
                 "0.5552, 0.604, 0.7784, 1.092, 1.593, 2.331, 3.327, 4.588, 6.126, 7.951",\
                 "0.6374, 0.6822, 0.8502, 1.178, 1.675, 2.378, 3.336, 4.592, 6.124, 7.951",\
                 "0.7636, 0.8058, 0.9608, 1.272, 1.779, 2.479, 3.4, 4.61, 6.125, 7.956",\
                 "0.9182, 0.962, 1.115, 1.41, 1.901, 2.609, 3.528, 4.694, 6.152, 7.96",\
                 "1.091, 1.14, 1.301, 1.594, 2.058, 2.756, 3.689, 4.846, 6.27, 8.012",\
                 "1.288, 1.335, 1.506, 1.815, 2.275, 2.943, 3.863, 5.039, 6.449, 8.146");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09117, 0.09865, 0.1244, 0.1715, 0.2427, 0.3409, 0.4688, 0.6291, 0.8242, 1.057",\
                 "0.1053, 0.1128, 0.1383, 0.1854, 0.2566, 0.3548, 0.4826, 0.643, 0.8382, 1.071",\
                 "0.1478, 0.157, 0.1863, 0.2353, 0.3059, 0.4037, 0.5315, 0.6918, 0.887, 1.119",\
                 "0.1702, 0.1833, 0.2252, 0.295, 0.387, 0.4978, 0.627, 0.7867, 0.9814, 1.213",\
                 "0.1576, 0.175, 0.2311, 0.3229, 0.4436, 0.5876, 0.7516, 0.9323, 1.131, 1.363",\
                 "0.1049, 0.1267, 0.1968, 0.3123, 0.4633, 0.6428, 0.8444, 1.067, 1.309, 1.568",\
                 "0.009, 0.0349, 0.1191, 0.2578, 0.4408, 0.6569, 0.8996, 1.165, 1.452, 1.759",\
                 "-0.1335, -0.103, -0.005, 0.1568, 0.3719, 0.6253, 0.9106, 1.221, 1.554, 1.909",\
                 "-0.3243, -0.2901, -0.1783, 0.0067, 0.2522, 0.5439, 0.872, 1.229, 1.611, 2.016",\
                 "-0.5657, -0.5277, -0.4034, -0.1952, 0.0811, 0.41, 0.7816, 1.186, 1.618, 2.076");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3754, 0.4062, 0.513, 0.7136, 1.024, 1.458, 2.028, 2.746, 3.623, 4.667",\
                 "0.3776, 0.4092, 0.5184, 0.7218, 1.035, 1.471, 2.042, 2.762, 3.638, 4.683",\
                 "0.4084, 0.4399, 0.5474, 0.7508, 1.065, 1.504, 2.078, 2.799, 3.678, 4.724",\
                 "0.483, 0.5155, 0.6236, 0.8229, 1.133, 1.568, 2.141, 2.862, 3.742, 4.787",\
                 "0.6108, 0.6436, 0.7559, 0.9632, 1.269, 1.696, 2.26, 2.975, 3.849, 4.894",\
                 "0.8061, 0.8411, 0.9568, 1.168, 1.484, 1.909, 2.461, 3.166, 4.031, 5.065",\
                 "1.058, 1.096, 1.223, 1.442, 1.765, 2.203, 2.757, 3.447, 4.3, 5.321",\
                 "1.358, 1.403, 1.545, 1.783, 2.117, 2.563, 3.133, 3.829, 4.667, 5.675",\
                 "1.711, 1.76, 1.919, 2.183, 2.541, 2.999, 3.58, 4.293, 5.139, 6.136",\
                 "2.115, 2.171, 2.348, 2.639, 3.027, 3.509, 4.105, 4.831, 5.695, 6.702");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1202, 0.1321, 0.1732, 0.2497, 0.3669, 0.5307, 0.7463, 1.016, 1.347, 1.741",\
                 "0.1186, 0.1308, 0.1723, 0.2494, 0.3667, 0.5307, 0.7458, 1.016, 1.348, 1.741",\
                 "0.1566, 0.1666, 0.1983, 0.2589, 0.3672, 0.5304, 0.746, 1.017, 1.348, 1.74",\
                 "0.2369, 0.2496, 0.2915, 0.362, 0.4584, 0.5808, 0.7627, 1.019, 1.348, 1.741",\
                 "0.3373, 0.3548, 0.4073, 0.4929, 0.609, 0.7528, 0.9224, 1.122, 1.393, 1.75",\
                 "0.4596, 0.4796, 0.5448, 0.6502, 0.7874, 0.9536, 1.15, 1.374, 1.622, 1.914",\
                 "0.6008, 0.627, 0.7064, 0.8316, 0.9922, 1.183, 1.404, 1.657, 1.94, 2.252",\
                 "0.767, 0.7954, 0.8898, 1.037, 1.224, 1.444, 1.693, 1.973, 2.285, 2.633",\
                 "0.9468, 0.9842, 1.096, 1.267, 1.481, 1.732, 2.014, 2.325, 2.666, 3.041",\
                 "1.146, 1.188, 1.324, 1.527, 1.769, 2.052, 2.365, 2.71, 3.085, 3.49");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4475, 0.4996, 0.6816, 1.03, 1.573, 2.331, 3.331, 4.589, 6.12, 7.95",\
                 "0.4479, 0.4999, 0.6821, 1.03, 1.572, 2.332, 3.329, 4.583, 6.114, 7.949",\
                 "0.4508, 0.5019, 0.6829, 1.031, 1.573, 2.333, 3.328, 4.587, 6.126, 7.956",\
                 "0.4969, 0.5424, 0.7055, 1.034, 1.574, 2.332, 3.333, 4.581, 6.126, 7.943",\
                 "0.554, 0.604, 0.7782, 1.092, 1.593, 2.33, 3.326, 4.589, 6.126, 7.954",\
                 "0.6374, 0.683, 0.8488, 1.178, 1.675, 2.378, 3.337, 4.589, 6.116, 7.94",\
                 "0.7636, 0.8058, 0.9608, 1.272, 1.779, 2.479, 3.402, 4.6, 6.124, 7.942",\
                 "0.9182, 0.9618, 1.115, 1.41, 1.899, 2.61, 3.528, 4.696, 6.156, 7.943",\
                 "1.093, 1.139, 1.3, 1.595, 2.059, 2.756, 3.688, 4.846, 6.266, 8.006",\
                 "1.285, 1.336, 1.508, 1.815, 2.274, 2.941, 3.862, 5.036, 6.448, 8.145");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.08496, 0.09193, 0.1158, 0.1595, 0.2256, 0.3165, 0.435, 0.5835, 0.7642, 0.9793",\
                 "0.09962, 0.1065, 0.1302, 0.1738, 0.2398, 0.3308, 0.4492, 0.5977, 0.7785, 0.9935",\
                 "0.1411, 0.15, 0.1783, 0.2249, 0.2904, 0.381, 0.4993, 0.6477, 0.8284, 1.043",\
                 "0.1607, 0.1734, 0.2141, 0.2813, 0.3697, 0.4756, 0.5972, 0.7452, 0.9253, 1.14",\
                 "0.1445, 0.1615, 0.2159, 0.3051, 0.4217, 0.5606, 0.7177, 0.8905, 1.078, 1.293",\
                 "0.0875, 0.1084, 0.1767, 0.2893, 0.4361, 0.6094, 0.8046, 1.019, 1.25, 1.497",\
                 "-0.0141, 0.0114, 0.0932, 0.2284, 0.407, 0.6171, 0.8519, 1.108, 1.384, 1.678",\
                 "-0.1635, -0.1338, -0.0373, 0.1205, 0.3299, 0.5775, 0.8543, 1.155, 1.476, 1.818",\
                 "-0.3624, -0.3288, -0.2191, -0.0374, 0.2019, 0.4868, 0.8061, 1.153, 1.523, 1.914",\
                 "-0.6128, -0.5756, -0.4536, -0.2498, 0.0203, 0.3426, 0.7048, 1.098, 1.517, 1.961");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3749, 0.4055, 0.5125, 0.7129, 1.023, 1.457, 2.027, 2.746, 3.622, 4.667",\
                 "0.3761, 0.4077, 0.5166, 0.7201, 1.033, 1.469, 2.041, 2.76, 3.637, 4.682",\
                 "0.408, 0.4387, 0.5466, 0.7493, 1.064, 1.502, 2.076, 2.797, 3.676, 4.722",\
                 "0.4831, 0.5154, 0.6233, 0.8225, 1.132, 1.567, 2.139, 2.86, 3.738, 4.784",\
                 "0.6119, 0.6447, 0.7575, 0.9649, 1.27, 1.696, 2.26, 2.973, 3.848, 4.892",\
                 "0.811, 0.8456, 0.9609, 1.171, 1.487, 1.911, 2.463, 3.167, 4.03, 5.067",\
                 "1.065, 1.105, 1.231, 1.45, 1.772, 2.208, 2.762, 3.452, 4.303, 5.325",\
                 "1.372, 1.416, 1.557, 1.795, 2.128, 2.574, 3.143, 3.838, 4.675, 5.684",\
                 "1.731, 1.781, 1.938, 2.201, 2.556, 3.014, 3.595, 4.306, 5.152, 6.147",\
                 "2.144, 2.199, 2.375, 2.664, 3.05, 3.531, 4.123, 4.85, 5.714, 6.719");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1099, 0.1206, 0.1588, 0.2289, 0.3373, 0.4884, 0.6872, 0.9365, 1.241, 1.605",\
                 "0.1077, 0.119, 0.1577, 0.229, 0.337, 0.4883, 0.6873, 0.937, 1.242, 1.606",\
                 "0.1498, 0.1588, 0.1887, 0.2423, 0.3388, 0.4881, 0.687, 0.9366, 1.242, 1.606",\
                 "0.2291, 0.2413, 0.2813, 0.3473, 0.4372, 0.5489, 0.7101, 0.94, 1.242, 1.605",\
                 "0.3289, 0.345, 0.395, 0.4776, 0.587, 0.7222, 0.8802, 1.061, 1.303, 1.622",\
                 "0.4472, 0.4676, 0.5316, 0.6318, 0.7636, 0.9218, 1.105, 1.315, 1.547, 1.809",\
                 "0.5898, 0.6126, 0.69, 0.8102, 0.9654, 1.149, 1.361, 1.597, 1.864, 2.154",\
                 "0.7496, 0.7792, 0.8726, 1.012, 1.193, 1.405, 1.645, 1.909, 2.204, 2.529",\
                 "0.9274, 0.9632, 1.074, 1.242, 1.45, 1.689, 1.959, 2.257, 2.58, 2.937",\
                 "1.122, 1.166, 1.296, 1.494, 1.733, 2.004, 2.307, 2.638, 2.995, 3.383");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4474, 0.4996, 0.682, 1.03, 1.574, 2.33, 3.333, 4.589, 6.117, 7.953",\
                 "0.4481, 0.5, 0.6823, 1.03, 1.573, 2.329, 3.332, 4.588, 6.124, 7.954",\
                 "0.451, 0.5019, 0.6826, 1.031, 1.574, 2.33, 3.326, 4.584, 6.126, 7.956",\
                 "0.4969, 0.5426, 0.7051, 1.036, 1.574, 2.332, 3.328, 4.588, 6.124, 7.942",\
                 "0.5538, 0.6042, 0.7778, 1.091, 1.594, 2.334, 3.328, 4.591, 6.116, 7.95",\
                 "0.6338, 0.68, 0.8478, 1.177, 1.673, 2.378, 3.337, 4.586, 6.127, 7.942",\
                 "0.758, 0.8016, 0.9546, 1.268, 1.779, 2.477, 3.398, 4.607, 6.123, 7.953",\
                 "0.911, 0.9544, 1.108, 1.401, 1.895, 2.606, 3.527, 4.695, 6.157, 7.96",\
                 "1.085, 1.13, 1.288, 1.582, 2.053, 2.748, 3.685, 4.842, 6.265, 8.004",\
                 "1.275, 1.325, 1.494, 1.799, 2.258, 2.926, 3.854, 5.031, 6.443, 8.141");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1607, 0.1709, 0.2056, 0.2688, 0.3625, 0.4901, 0.6545, 0.8591, 1.107, 1.401",\
                 "0.1736, 0.1838, 0.2185, 0.2816, 0.3756, 0.503, 0.6675, 0.8721, 1.12, 1.414",\
                 "0.2231, 0.2324, 0.2652, 0.3268, 0.4202, 0.5475, 0.7118, 0.9164, 1.164, 1.458",\
                 "0.2859, 0.2984, 0.3401, 0.4113, 0.5096, 0.6354, 0.7985, 1.002, 1.25, 1.544",\
                 "0.3206, 0.3363, 0.3886, 0.4785, 0.6023, 0.7557, 0.9346, 1.14, 1.386, 1.679",\
                 "0.3189, 0.3388, 0.4028, 0.5123, 0.6629, 0.8474, 1.064, 1.307, 1.577, 1.873",\
                 "0.2768, 0.3006, 0.3771, 0.5071, 0.6861, 0.9047, 1.158, 1.443, 1.757, 2.099",\
                 "0.1908, 0.2185, 0.3072, 0.458, 0.6664, 0.9203, 1.214, 1.542, 1.901, 2.291",\
                 "0.0613, 0.0915, 0.1908, 0.3636, 0.6005, 0.8909, 1.226, 1.599, 2.005, 2.443",\
                 "-0.1175, -0.0839, 0.028, 0.2207, 0.4862, 0.813, 1.189, 1.609, 2.064, 2.554");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.3852, 0.4155, 0.5227, 0.7245, 1.036, 1.472, 2.046, 2.767, 3.647, 4.696",\
                 "0.3876, 0.4184, 0.5279, 0.7327, 1.047, 1.485, 2.06, 2.782, 3.663, 4.712",\
                 "0.4181, 0.4495, 0.5575, 0.7619, 1.078, 1.519, 2.096, 2.82, 3.702, 4.752",\
                 "0.4939, 0.5262, 0.6338, 0.834, 1.145, 1.582, 2.158, 2.882, 3.765, 4.816",\
                 "0.6221, 0.6547, 0.7685, 0.975, 1.282, 1.71, 2.277, 2.995, 3.874, 4.921",\
                 "0.8198, 0.8539, 0.9693, 1.181, 1.497, 1.924, 2.479, 3.186, 4.055, 5.094",\
                 "1.074, 1.112, 1.237, 1.457, 1.78, 2.219, 2.775, 3.469, 4.323, 5.351",\
                 "1.379, 1.423, 1.562, 1.799, 2.133, 2.581, 3.153, 3.851, 4.693, 5.705",\
                 "1.737, 1.784, 1.941, 2.202, 2.558, 3.017, 3.601, 4.315, 5.164, 6.164",\
                 "2.147, 2.201, 2.374, 2.662, 3.048, 3.53, 4.125, 4.855, 5.722, 6.732");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2304, 0.2466, 0.3016, 0.4031, 0.556, 0.766, 1.04, 1.385, 1.805, 2.305",\
                 "0.2297, 0.246, 0.3014, 0.4031, 0.5559, 0.7663, 1.041, 1.386, 1.805, 2.305",\
                 "0.2271, 0.2421, 0.2948, 0.3977, 0.5544, 0.7651, 1.04, 1.386, 1.805, 2.304",\
                 "0.3076, 0.3233, 0.3746, 0.4608, 0.5848, 0.7729, 1.039, 1.385, 1.804, 2.305",\
                 "0.4148, 0.4327, 0.493, 0.5938, 0.7316, 0.9088, 1.125, 1.42, 1.809, 2.304",\
                 "0.5448, 0.5674, 0.6382, 0.7536, 0.9126, 1.112, 1.348, 1.622, 1.952, 2.375",\
                 "0.6978, 0.7254, 0.8084, 0.9456, 1.124, 1.344, 1.606, 1.909, 2.256, 2.642",\
                 "0.8742, 0.906, 1.004, 1.162, 1.367, 1.613, 1.9, 2.227, 2.603, 3.024",\
                 "1.074, 1.109, 1.223, 1.406, 1.64, 1.916, 2.231, 2.587, 2.987, 3.438",\
                 "1.297, 1.338, 1.467, 1.674, 1.939, 2.248, 2.598, 2.987, 3.415, 3.892");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7383, 0.7971, 1.002, 1.382, 1.954, 2.733, 3.741, 5.002, 6.536, 8.364",\
                 "0.7387, 0.7974, 1.002, 1.382, 1.954, 2.733, 3.742, 5.002, 6.536, 8.364",\
                 "0.7416, 0.7996, 1.002, 1.382, 1.954, 2.733, 3.742, 5.002, 6.538, 8.367",\
                 "0.7905, 0.8412, 1.025, 1.386, 1.954, 2.733, 3.742, 5.003, 6.537, 8.366",\
                 "0.8966, 0.9466, 1.114, 1.444, 1.974, 2.734, 3.742, 5.003, 6.539, 8.367",\
                 "1.017, 1.062, 1.228, 1.558, 2.06, 2.778, 3.749, 5.003, 6.539, 8.367",\
                 "1.195, 1.231, 1.375, 1.685, 2.19, 2.887, 3.817, 5.022, 6.54, 8.367",\
                 "1.43, 1.46, 1.58, 1.858, 2.34, 3.04, 3.952, 5.115, 6.578, 8.373",\
                 "1.702, 1.73, 1.839, 2.087, 2.532, 3.212, 4.132, 5.278, 6.697, 8.433",\
                 "1.997, 2.025, 2.132, 2.371, 2.785, 3.43, 4.333, 5.487, 6.887, 8.578");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1738, 0.1847, 0.2214, 0.2869, 0.3837, 0.5139, 0.6805, 0.887, 1.137, 1.432",\
                 "0.185, 0.1959, 0.2325, 0.2981, 0.395, 0.525, 0.6916, 0.8981, 1.148, 1.443",\
                 "0.2335, 0.2433, 0.2776, 0.3418, 0.4379, 0.5678, 0.7343, 0.9407, 1.19, 1.485",\
                 "0.3052, 0.3177, 0.3591, 0.4301, 0.5279, 0.655, 0.8202, 1.026, 1.275, 1.57",\
                 "0.3501, 0.3661, 0.4176, 0.506, 0.6283, 0.7801, 0.958, 1.164, 1.411, 1.705",\
                 "0.363, 0.3821, 0.4442, 0.5524, 0.6996, 0.882, 1.095, 1.337, 1.604, 1.9",\
                 "0.3409, 0.3626, 0.4366, 0.5639, 0.7382, 0.9519, 1.2, 1.481, 1.792, 2.131",\
                 "0.2785, 0.3046, 0.39, 0.5371, 0.7388, 0.9859, 1.272, 1.592, 1.946, 2.331",\
                 "0.1789, 0.2076, 0.3037, 0.4696, 0.6983, 0.9789, 1.304, 1.668, 2.065, 2.496",\
                 "0.0411, 0.0727, 0.1779, 0.3617, 0.6171, 0.931, 1.295, 1.702, 2.146, 2.625");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.423, 0.4543, 0.561, 0.763, 1.075, 1.511, 2.084, 2.805, 3.686, 4.734",\
                 "0.4299, 0.4616, 0.5715, 0.7762, 1.091, 1.529, 2.103, 2.825, 3.706, 4.755",\
                 "0.4573, 0.4882, 0.5971, 0.8032, 1.12, 1.561, 2.138, 2.863, 3.745, 4.795",\
                 "0.5098, 0.5417, 0.6496, 0.8519, 1.166, 1.605, 2.182, 2.908, 3.791, 4.843",\
                 "0.5972, 0.6295, 0.7406, 0.9468, 1.256, 1.687, 2.258, 2.979, 3.859, 4.908",\
                 "0.7416, 0.7752, 0.8884, 1.094, 1.407, 1.836, 2.394, 3.104, 3.975, 5.017",\
                 "0.9303, 0.9683, 1.093, 1.308, 1.621, 2.052, 2.61, 3.306, 4.162, 5.191",\
                 "1.158, 1.202, 1.342, 1.577, 1.903, 2.335, 2.894, 3.592, 4.434, 5.446",\
                 "1.424, 1.473, 1.628, 1.889, 2.242, 2.687, 3.248, 3.947, 4.794, 5.793",\
                 "1.726, 1.78, 1.953, 2.241, 2.627, 3.102, 3.674, 4.375, 5.225, 6.229");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2653, 0.2821, 0.3373, 0.4397, 0.5932, 0.8037, 1.079, 1.424, 1.845, 2.345",\
                 "0.2643, 0.2802, 0.3362, 0.4389, 0.5925, 0.8042, 1.079, 1.424, 1.845, 2.345",\
                 "0.2518, 0.2674, 0.3241, 0.4308, 0.5907, 0.8033, 1.079, 1.423, 1.843, 2.343",\
                 "0.3344, 0.3497, 0.4, 0.4852, 0.612, 0.8048, 1.076, 1.423, 1.844, 2.345",\
                 "0.4498, 0.4676, 0.526, 0.6252, 0.762, 0.9356, 1.154, 1.453, 1.847, 2.344",\
                 "0.5946, 0.617, 0.6844, 0.796, 0.95, 1.142, 1.377, 1.649, 1.98, 2.408",\
                 "0.7708, 0.7962, 0.8742, 1.003, 1.174, 1.384, 1.638, 1.938, 2.283, 2.668",\
                 "0.9742, 1.007, 1.099, 1.245, 1.435, 1.667, 1.94, 2.261, 2.632, 3.05",\
                 "1.213, 1.246, 1.354, 1.521, 1.736, 1.991, 2.287, 2.628, 3.02, 3.466",\
                 "1.488, 1.529, 1.647, 1.838, 2.081, 2.358, 2.681, 3.045, 3.458, 3.923");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7384, 0.7973, 1.002, 1.382, 1.954, 2.733, 3.742, 5.001, 6.536, 8.365",\
                 "0.7389, 0.7976, 1.002, 1.382, 1.954, 2.733, 3.742, 5.003, 6.537, 8.365",\
                 "0.7409, 0.7991, 1.002, 1.382, 1.954, 2.733, 3.741, 5.002, 6.535, 8.367",\
                 "0.7746, 0.8276, 1.016, 1.384, 1.954, 2.733, 3.742, 5.002, 6.537, 8.365",\
                 "0.8672, 0.9162, 1.091, 1.431, 1.971, 2.734, 3.742, 5.003, 6.538, 8.366",\
                 "1.006, 1.047, 1.206, 1.531, 2.045, 2.775, 3.75, 5.002, 6.538, 8.367",\
                 "1.232, 1.262, 1.386, 1.671, 2.164, 2.871, 3.813, 5.028, 6.541, 8.367",\
                 "1.517, 1.544, 1.645, 1.884, 2.328, 3.01, 3.932, 5.113, 6.584, 8.376",\
                 "1.832, 1.856, 1.957, 2.173, 2.567, 3.198, 4.096, 5.255, 6.695, 8.443",\
                 "2.174, 2.197, 2.294, 2.514, 2.883, 3.461, 4.308, 5.443, 6.86, 8.575");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.158, 0.1683, 0.2034, 0.2669, 0.3614, 0.4891, 0.6536, 0.8582, 1.106, 1.4",\
                 "0.1693, 0.1796, 0.2147, 0.2782, 0.3723, 0.5001, 0.6646, 0.8693, 1.117, 1.411",\
                 "0.2177, 0.2273, 0.2601, 0.3218, 0.4154, 0.5429, 0.7073, 0.9119, 1.16, 1.454",\
                 "0.2782, 0.2908, 0.3331, 0.4052, 0.504, 0.63, 0.7932, 0.9972, 1.245, 1.539",\
                 "0.3102, 0.3266, 0.3798, 0.4711, 0.5954, 0.7494, 0.9289, 1.135, 1.381, 1.673",\
                 "0.3095, 0.3293, 0.3945, 0.5063, 0.6569, 0.8428, 1.059, 1.303, 1.572, 1.868",\
                 "0.2727, 0.2962, 0.3739, 0.506, 0.6852, 0.9044, 1.156, 1.441, 1.754, 2.095",\
                 "0.1979, 0.2251, 0.3146, 0.4674, 0.6745, 0.9287, 1.22, 1.545, 1.902, 2.29",\
                 "0.0869, 0.1162, 0.216, 0.3892, 0.6242, 0.9132, 1.245, 1.613, 2.016, 2.45",\
                 "-0.0651, -0.0316, 0.0796, 0.2697, 0.5321, 0.8563, 1.227, 1.64, 2.09, 2.573");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4229, 0.4543, 0.5613, 0.7632, 1.075, 1.511, 2.084, 2.806, 3.686, 4.734",\
                 "0.43, 0.4616, 0.5715, 0.7762, 1.091, 1.529, 2.103, 2.826, 3.706, 4.755",\
                 "0.4573, 0.4882, 0.5971, 0.8031, 1.12, 1.561, 2.139, 2.863, 3.745, 4.795",\
                 "0.5098, 0.5416, 0.6496, 0.8519, 1.166, 1.605, 2.183, 2.908, 3.791, 4.842",\
                 "0.5973, 0.6292, 0.7409, 0.9467, 1.256, 1.688, 2.258, 2.979, 3.859, 4.908",\
                 "0.7417, 0.7752, 0.8885, 1.094, 1.408, 1.836, 2.395, 3.104, 3.976, 5.017",\
                 "0.9303, 0.9684, 1.093, 1.308, 1.621, 2.052, 2.61, 3.306, 4.162, 5.191",\
                 "1.158, 1.202, 1.342, 1.577, 1.903, 2.335, 2.894, 3.592, 4.434, 5.446",\
                 "1.424, 1.473, 1.629, 1.89, 2.243, 2.688, 3.248, 3.948, 4.794, 5.793",\
                 "1.726, 1.78, 1.954, 2.241, 2.627, 3.102, 3.674, 4.375, 5.224, 6.229");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2359, 0.2522, 0.3065, 0.4066, 0.5583, 0.7677, 1.042, 1.387, 1.806, 2.304",\
                 "0.2338, 0.2501, 0.305, 0.4055, 0.5578, 0.768, 1.042, 1.386, 1.805, 2.304",\
                 "0.231, 0.2452, 0.2973, 0.3987, 0.5559, 0.7667, 1.042, 1.387, 1.806, 2.305",\
                 "0.3175, 0.3328, 0.3821, 0.4668, 0.589, 0.7744, 1.041, 1.385, 1.806, 2.304",\
                 "0.4352, 0.4523, 0.5102, 0.6072, 0.7418, 0.9144, 1.13, 1.422, 1.812, 2.305",\
                 "0.582, 0.603, 0.6702, 0.781, 0.9312, 1.122, 1.354, 1.628, 1.956, 2.378",\
                 "0.7582, 0.7854, 0.8622, 0.9898, 1.159, 1.365, 1.618, 1.917, 2.26, 2.645",\
                 "0.9654, 0.9944, 1.089, 1.232, 1.423, 1.651, 1.922, 2.241, 2.61, 3.028",\
                 "1.207, 1.24, 1.345, 1.515, 1.725, 1.978, 2.272, 2.61, 2.999, 3.443",\
                 "1.483, 1.524, 1.639, 1.828, 2.067, 2.347, 2.666, 3.028, 3.436, 3.902");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6738, 0.7279, 0.9171, 1.273, 1.819, 2.58, 3.579, 4.834, 6.367, 8.196",\
                 "0.6742, 0.7282, 0.9173, 1.273, 1.819, 2.581, 3.578, 4.834, 6.368, 8.193",\
                 "0.6761, 0.7298, 0.9176, 1.273, 1.819, 2.58, 3.578, 4.833, 6.366, 8.193",\
                 "0.709, 0.7575, 0.9316, 1.275, 1.819, 2.581, 3.577, 4.834, 6.369, 8.195",\
                 "0.786, 0.8334, 1.001, 1.322, 1.836, 2.582, 3.578, 4.835, 6.369, 8.192",\
                 "0.9096, 0.9496, 1.1, 1.412, 1.909, 2.622, 3.587, 4.835, 6.369, 8.197",\
                 "1.11, 1.142, 1.266, 1.541, 2.021, 2.717, 3.65, 4.86, 6.371, 8.193",\
                 "1.355, 1.385, 1.499, 1.741, 2.176, 2.851, 3.768, 4.945, 6.416, 8.205",\
                 "1.626, 1.654, 1.775, 2.008, 2.405, 3.03, 3.926, 5.085, 6.524, 8.275",\
                 "1.923, 1.951, 2.072, 2.319, 2.706, 3.285, 4.132, 5.269, 6.688, 8.401");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1244, 0.1329, 0.1614, 0.2126, 0.2886, 0.3911, 0.5227, 0.6861, 0.8838, 1.118",\
                 "0.1376, 0.1459, 0.1743, 0.2255, 0.3012, 0.4036, 0.5351, 0.6985, 0.8962, 1.131",\
                 "0.1904, 0.1989, 0.2262, 0.275, 0.3493, 0.4512, 0.5826, 0.7458, 0.9435, 1.178",\
                 "0.2405, 0.2522, 0.2902, 0.3545, 0.4415, 0.5474, 0.6774, 0.8401, 1.037, 1.271",\
                 "0.2601, 0.2746, 0.3246, 0.4075, 0.5197, 0.656, 0.8137, 0.9892, 1.187, 1.42",\
                 "0.244, 0.2622, 0.323, 0.4261, 0.565, 0.7328, 0.9258, 1.141, 1.376, 1.629",\
                 "0.1869, 0.2096, 0.282, 0.4054, 0.5716, 0.7731, 1.002, 1.257, 1.535, 1.835",\
                 "0.0893, 0.115, 0.1986, 0.3421, 0.537, 0.7715, 1.039, 1.335, 1.657, 2.001",\
                 "-0.0509, -0.0221, 0.0725, 0.2354, 0.4565, 0.7259, 1.033, 1.372, 1.738, 2.13",\
                 "-0.2356, -0.2041, -0.0988, 0.0836, 0.3302, 0.6329, 0.9805, 1.362, 1.775, 2.216");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4228, 0.4529, 0.5602, 0.7619, 1.074, 1.51, 2.083, 2.804, 3.685, 4.733",\
                 "0.4269, 0.4589, 0.5683, 0.7727, 1.087, 1.525, 2.1, 2.822, 3.703, 4.752",\
                 "0.4545, 0.4857, 0.594, 0.7992, 1.116, 1.557, 2.133, 2.858, 3.74, 4.79",\
                 "0.509, 0.5406, 0.6481, 0.8497, 1.162, 1.601, 2.178, 2.903, 3.786, 4.837",\
                 "0.6008, 0.6329, 0.7433, 0.9487, 1.256, 1.686, 2.256, 2.976, 3.855, 4.904",\
                 "0.7561, 0.7902, 0.9004, 1.105, 1.416, 1.842, 2.398, 3.107, 3.976, 5.017",\
                 "0.9612, 0.9991, 1.121, 1.332, 1.642, 2.07, 2.625, 3.318, 4.172, 5.199",\
                 "1.211, 1.253, 1.39, 1.62, 1.941, 2.369, 2.925, 3.619, 4.458, 5.467",\
                 "1.502, 1.55, 1.702, 1.956, 2.303, 2.741, 3.298, 3.994, 4.836, 5.831",\
                 "1.836, 1.888, 2.057, 2.338, 2.714, 3.181, 3.747, 4.444, 5.289, 6.288");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1753, 0.1887, 0.2331, 0.3133, 0.434, 0.6006, 0.8178, 1.089, 1.422, 1.816",\
                 "0.1719, 0.1857, 0.2309, 0.3119, 0.4338, 0.6006, 0.8168, 1.089, 1.422, 1.817",\
                 "0.1901, 0.2003, 0.2358, 0.3093, 0.43, 0.5993, 0.8167, 1.089, 1.422, 1.817",\
                 "0.2818, 0.295, 0.3365, 0.4051, 0.4976, 0.6283, 0.8229, 1.089, 1.421, 1.816",\
                 "0.3976, 0.414, 0.4639, 0.5466, 0.6582, 0.7988, 0.9634, 1.171, 1.453, 1.821",\
                 "0.5394, 0.5586, 0.619, 0.7174, 0.8476, 1.007, 1.198, 1.418, 1.665, 1.963",\
                 "0.7076, 0.731, 0.8032, 0.9198, 1.069, 1.248, 1.462, 1.708, 1.988, 2.297",\
                 "0.9088, 0.9352, 1.019, 1.153, 1.324, 1.529, 1.762, 2.032, 2.337, 2.678",\
                 "1.142, 1.171, 1.268, 1.423, 1.617, 1.843, 2.105, 2.397, 2.726, 3.094",\
                 "1.405, 1.444, 1.556, 1.73, 1.947, 2.2, 2.485, 2.806, 3.159, 3.552");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6738, 0.7278, 0.9171, 1.273, 1.819, 2.58, 3.577, 4.834, 6.365, 8.195",\
                 "0.6743, 0.7282, 0.9173, 1.273, 1.819, 2.581, 3.578, 4.835, 6.368, 8.191",\
                 "0.6763, 0.7299, 0.9177, 1.273, 1.819, 2.579, 3.577, 4.833, 6.365, 8.192",\
                 "0.7093, 0.7578, 0.9323, 1.276, 1.82, 2.58, 3.579, 4.834, 6.367, 8.194",\
                 "0.7846, 0.8312, 0.9996, 1.321, 1.836, 2.582, 3.578, 4.835, 6.369, 8.195",\
                 "0.9014, 0.9414, 1.093, 1.408, 1.907, 2.62, 3.587, 4.835, 6.37, 8.197",\
                 "1.091, 1.122, 1.248, 1.528, 2.013, 2.712, 3.647, 4.857, 6.371, 8.196",\
                 "1.327, 1.357, 1.469, 1.713, 2.155, 2.837, 3.76, 4.941, 6.412, 8.201",\
                 "1.596, 1.62, 1.733, 1.965, 2.366, 3.003, 3.908, 5.074, 6.516, 8.264",\
                 "1.883, 1.913, 2.03, 2.264, 2.65, 3.237, 4.096, 5.248, 6.673, 8.394");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.114, 0.1244, 0.1598, 0.2233, 0.317, 0.444, 0.6078, 0.8117, 1.059, 1.353",\
                 "0.126, 0.1363, 0.1713, 0.2345, 0.3281, 0.4551, 0.6189, 0.8228, 1.07, 1.364",\
                 "0.1744, 0.185, 0.2192, 0.2791, 0.3714, 0.4979, 0.6615, 0.8653, 1.113, 1.406",\
                 "0.2147, 0.2291, 0.2757, 0.3535, 0.4577, 0.5855, 0.7476, 0.9507, 1.198, 1.491",\
                 "0.2248, 0.2438, 0.3039, 0.4034, 0.5357, 0.6955, 0.8801, 1.088, 1.334, 1.626",\
                 "0.2021, 0.2253, 0.2989, 0.4215, 0.5831, 0.7764, 0.9993, 1.248, 1.522, 1.82",\
                 "0.1435, 0.1707, 0.2577, 0.4036, 0.5959, 0.825, 1.086, 1.377, 1.695, 2.041",\
                 "0.0496, 0.0804, 0.1799, 0.347, 0.5698, 0.8368, 1.139, 1.472, 1.835, 2.228",\
                 "-0.0812, -0.0467, 0.0647, 0.2524, 0.5043, 0.8086, 1.152, 1.53, 1.94, 2.38",\
                 "-0.2517, -0.2144, -0.0896, 0.1187, 0.3976, 0.7361, 1.123, 1.547, 2.005, 2.495");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4138, 0.4447, 0.5515, 0.7524, 1.063, 1.496, 2.067, 2.784, 3.661, 4.706",\
                 "0.4209, 0.4523, 0.5619, 0.7654, 1.078, 1.514, 2.086, 2.805, 3.682, 4.727",\
                 "0.4476, 0.4785, 0.5875, 0.7925, 1.108, 1.547, 2.121, 2.842, 3.721, 4.767",\
                 "0.5, 0.5314, 0.6394, 0.8408, 1.153, 1.591, 2.165, 2.887, 3.767, 4.814",\
                 "0.5862, 0.619, 0.7294, 0.9353, 1.243, 1.673, 2.241, 2.958, 3.835, 4.881",\
                 "0.728, 0.7621, 0.8763, 1.082, 1.394, 1.821, 2.377, 3.084, 3.952, 4.988",\
                 "0.9127, 0.9517, 1.079, 1.294, 1.607, 2.036, 2.592, 3.284, 4.137, 5.163",\
                 "1.136, 1.181, 1.323, 1.56, 1.887, 2.318, 2.875, 3.57, 4.409, 5.418",\
                 "1.396, 1.445, 1.606, 1.869, 2.224, 2.67, 3.228, 3.925, 4.768, 5.763",\
                 "1.691, 1.747, 1.925, 2.217, 2.604, 3.081, 3.653, 4.351, 5.198, 6.198");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1884, 0.2049, 0.2595, 0.359, 0.51, 0.7182, 0.9912, 1.334, 1.753, 2.251",\
                 "0.1833, 0.2005, 0.2573, 0.3578, 0.5091, 0.7177, 0.9912, 1.333, 1.753, 2.251",\
                 "0.2038, 0.2159, 0.2601, 0.352, 0.5048, 0.7166, 0.991, 1.333, 1.752, 2.252",\
                 "0.2934, 0.3083, 0.3568, 0.4395, 0.5575, 0.7338, 0.9901, 1.334, 1.752, 2.251",\
                 "0.4126, 0.4309, 0.486, 0.5812, 0.7142, 0.8854, 1.097, 1.381, 1.763, 2.251",\
                 "0.5588, 0.5804, 0.6482, 0.757, 0.9038, 1.093, 1.324, 1.597, 1.921, 2.335",\
                 "0.7342, 0.7606, 0.8392, 0.9684, 1.133, 1.339, 1.588, 1.885, 2.229, 2.614",\
                 "0.9402, 0.9716, 1.067, 1.213, 1.398, 1.627, 1.894, 2.209, 2.578, 2.996",\
                 "1.182, 1.217, 1.323, 1.49, 1.703, 1.953, 2.246, 2.581, 2.967, 3.41",\
                 "1.454, 1.494, 1.619, 1.81, 2.049, 2.324, 2.643, 3.001, 3.407, 3.87");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4475, 0.4995, 0.6816, 1.031, 1.574, 2.33, 3.328, 4.59, 6.123, 7.956",\
                 "0.448, 0.4999, 0.6821, 1.032, 1.573, 2.331, 3.33, 4.589, 6.115, 7.944",\
                 "0.4497, 0.5013, 0.682, 1.032, 1.573, 2.332, 3.332, 4.59, 6.12, 7.954",\
                 "0.4821, 0.529, 0.6966, 1.034, 1.573, 2.331, 3.332, 4.588, 6.118, 7.94",\
                 "0.5376, 0.5866, 0.7586, 1.08, 1.591, 2.332, 3.328, 4.587, 6.113, 7.955",\
                 "0.6448, 0.6866, 0.8422, 1.16, 1.662, 2.372, 3.334, 4.588, 6.114, 7.939",\
                 "0.81, 0.851, 0.994, 1.277, 1.762, 2.466, 3.4, 4.607, 6.129, 7.95",\
                 "1.004, 1.046, 1.194, 1.463, 1.91, 2.59, 3.516, 4.693, 6.161, 7.963",\
                 "1.219, 1.264, 1.42, 1.706, 2.128, 2.765, 3.669, 4.832, 6.268, 8.034",\
                 "1.455, 1.506, 1.674, 1.979, 2.411, 3.012, 3.864, 5.01, 6.435, 8.147");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09202, 0.1003, 0.1283, 0.1791, 0.2543, 0.3559, 0.4866, 0.6492, 0.8461, 1.08",\
                 "0.106, 0.114, 0.1416, 0.1919, 0.2668, 0.3683, 0.4991, 0.6616, 0.8585, 1.092",\
                 "0.1531, 0.1624, 0.1926, 0.2425, 0.3154, 0.4161, 0.5466, 0.7089, 0.9059, 1.139",\
                 "0.1838, 0.1969, 0.2392, 0.3093, 0.4015, 0.5117, 0.6419, 0.8032, 0.9997, 1.233",\
                 "0.182, 0.1995, 0.2552, 0.3464, 0.4663, 0.6089, 0.7714, 0.9508, 1.15, 1.382",\
                 "0.1437, 0.1652, 0.2342, 0.3482, 0.4971, 0.6734, 0.8724, 1.093, 1.333, 1.589",\
                 "0.0665, 0.0916, 0.1739, 0.3102, 0.4893, 0.7004, 0.939, 1.2, 1.483, 1.787",\
                 "-0.0511, -0.0221, 0.073, 0.2293, 0.4385, 0.6866, 0.9647, 1.268, 1.596, 1.946",\
                 "-0.2112, -0.1778, -0.0715, 0.1073, 0.3438, 0.6281, 0.9463, 1.295, 1.669, 2.067",\
                 "-0.4144, -0.3787, -0.2595, -0.0608, 0.2039, 0.5219, 0.8816, 1.276, 1.697, 2.144");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4131, 0.4438, 0.5503, 0.7514, 1.061, 1.495, 2.066, 2.784, 3.66, 4.705",\
                 "0.4178, 0.4493, 0.5585, 0.7619, 1.075, 1.511, 2.083, 2.802, 3.679, 4.724",\
                 "0.4454, 0.4764, 0.5844, 0.7885, 1.103, 1.542, 2.116, 2.837, 3.716, 4.762",\
                 "0.4987, 0.5303, 0.6378, 0.8385, 1.15, 1.587, 2.16, 2.881, 3.761, 4.809",\
                 "0.59, 0.6221, 0.7321, 0.9368, 1.243, 1.672, 2.239, 2.954, 3.831, 4.877",\
                 "0.7425, 0.7768, 0.8885, 1.092, 1.402, 1.827, 2.381, 3.086, 3.953, 4.988",\
                 "0.9444, 0.982, 1.106, 1.319, 1.628, 2.055, 2.608, 3.297, 4.148, 5.171",\
                 "1.189, 1.232, 1.372, 1.604, 1.926, 2.353, 2.907, 3.598, 4.433, 5.438",\
                 "1.475, 1.524, 1.68, 1.937, 2.285, 2.724, 3.278, 3.971, 4.81, 5.802",\
                 "1.801, 1.855, 2.029, 2.314, 2.694, 3.161, 3.726, 4.42, 5.262, 6.259");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1377, 0.1508, 0.1955, 0.2754, 0.3969, 0.5613, 0.7773, 1.048, 1.378, 1.772",\
                 "0.1336, 0.1474, 0.193, 0.2741, 0.3954, 0.5613, 0.7768, 1.048, 1.378, 1.773",\
                 "0.1743, 0.184, 0.2154, 0.2788, 0.3921, 0.5585, 0.7767, 1.048, 1.378, 1.773",\
                 "0.2647, 0.2781, 0.3181, 0.3858, 0.4791, 0.6019, 0.7869, 1.047, 1.379, 1.772",\
                 "0.3795, 0.3953, 0.446, 0.5274, 0.638, 0.7774, 0.9436, 1.144, 1.419, 1.781",\
                 "0.5198, 0.5402, 0.601, 0.6994, 0.8268, 0.9852, 1.176, 1.395, 1.642, 1.935",\
                 "0.688, 0.714, 0.7866, 0.9018, 1.05, 1.227, 1.439, 1.685, 1.963, 2.273",\
                 "0.8874, 0.9168, 1.002, 1.135, 1.307, 1.509, 1.742, 2.009, 2.312, 2.654",\
                 "1.116, 1.153, 1.251, 1.405, 1.597, 1.823, 2.083, 2.374, 2.701, 3.068",\
                 "1.373, 1.413, 1.536, 1.713, 1.931, 2.185, 2.465, 2.782, 3.135, 3.525");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4475, 0.4997, 0.6823, 1.031, 1.573, 2.329, 3.326, 4.586, 6.12, 7.953",\
                 "0.4482, 0.5001, 0.6822, 1.032, 1.572, 2.333, 3.331, 4.589, 6.12, 7.956",\
                 "0.4497, 0.5013, 0.6821, 1.032, 1.573, 2.332, 3.328, 4.59, 6.12, 7.955",\
                 "0.4823, 0.5295, 0.6968, 1.034, 1.573, 2.334, 3.327, 4.589, 6.124, 7.945",\
                 "0.5362, 0.585, 0.7572, 1.079, 1.592, 2.333, 3.33, 4.582, 6.119, 7.955",\
                 "0.637, 0.6796, 0.8348, 1.154, 1.66, 2.37, 3.337, 4.588, 6.115, 7.95",\
                 "0.7962, 0.8372, 0.9772, 1.264, 1.756, 2.461, 3.398, 4.614, 6.124, 7.944",\
                 "0.9836, 1.025, 1.168, 1.437, 1.889, 2.581, 3.508, 4.689, 6.163, 7.956",\
                 "1.196, 1.238, 1.391, 1.667, 2.089, 2.735, 3.648, 4.821, 6.261, 8.027",\
                 "1.432, 1.481, 1.637, 1.929, 2.36, 2.964, 3.829, 4.987, 6.42, 8.139");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.09202, 0.1003, 0.1283, 0.1791, 0.2543, 0.3559, 0.4866, 0.6492, 0.846, 1.08",\
                 "0.106, 0.1141, 0.1416, 0.1919, 0.2668, 0.3683, 0.4991, 0.6616, 0.8585, 1.092",\
                 "0.1531, 0.1624, 0.1926, 0.2425, 0.3154, 0.4161, 0.5466, 0.7089, 0.9059, 1.139",\
                 "0.1836, 0.1969, 0.2392, 0.3093, 0.4015, 0.5118, 0.6416, 0.8033, 0.9997, 1.233",\
                 "0.182, 0.1995, 0.2551, 0.3465, 0.4664, 0.6088, 0.7713, 0.9509, 1.15, 1.382",\
                 "0.1437, 0.1652, 0.2342, 0.3482, 0.4971, 0.6734, 0.8724, 1.093, 1.333, 1.589",\
                 "0.0664, 0.0916, 0.1739, 0.3103, 0.4893, 0.7008, 0.9388, 1.2, 1.483, 1.787",\
                 "-0.0511, -0.022, 0.073, 0.2293, 0.4385, 0.6866, 0.9647, 1.268, 1.596, 1.946",\
                 "-0.2112, -0.1779, -0.0715, 0.1073, 0.3437, 0.6281, 0.9463, 1.295, 1.669, 2.067",\
                 "-0.4144, -0.3788, -0.2595, -0.0608, 0.2039, 0.5219, 0.8816, 1.276, 1.697, 2.144");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4127, 0.4436, 0.5506, 0.7507, 1.061, 1.495, 2.065, 2.783, 3.66, 4.705",\
                 "0.4178, 0.4493, 0.5585, 0.7619, 1.075, 1.511, 2.083, 2.801, 3.679, 4.724",\
                 "0.4454, 0.4765, 0.5844, 0.7885, 1.103, 1.542, 2.116, 2.837, 3.716, 4.762",\
                 "0.4987, 0.5304, 0.6378, 0.8384, 1.15, 1.587, 2.16, 2.881, 3.763, 4.809",\
                 "0.59, 0.6221, 0.7321, 0.9368, 1.243, 1.672, 2.239, 2.954, 3.831, 4.875",\
                 "0.7425, 0.7768, 0.8885, 1.092, 1.402, 1.827, 2.381, 3.086, 3.953, 4.988",\
                 "0.9446, 0.9823, 1.106, 1.319, 1.628, 2.055, 2.608, 3.297, 4.147, 5.171",\
                 "1.189, 1.232, 1.372, 1.604, 1.926, 2.353, 2.907, 3.598, 4.433, 5.438",\
                 "1.475, 1.523, 1.679, 1.937, 2.285, 2.724, 3.278, 3.971, 4.81, 5.802",\
                 "1.801, 1.855, 2.029, 2.314, 2.694, 3.161, 3.726, 4.42, 5.262, 6.258");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1377, 0.1508, 0.1955, 0.2754, 0.3969, 0.5613, 0.7773, 1.048, 1.378, 1.772",\
                 "0.1337, 0.1474, 0.1929, 0.2741, 0.3956, 0.5612, 0.7771, 1.048, 1.378, 1.773",\
                 "0.1743, 0.184, 0.2154, 0.2788, 0.3921, 0.5585, 0.7767, 1.048, 1.378, 1.773",\
                 "0.2647, 0.2777, 0.3179, 0.3861, 0.4789, 0.6021, 0.7865, 1.048, 1.378, 1.773",\
                 "0.3804, 0.3953, 0.446, 0.5273, 0.6378, 0.7774, 0.9426, 1.143, 1.419, 1.781",\
                 "0.5198, 0.5402, 0.601, 0.6994, 0.8268, 0.9852, 1.176, 1.395, 1.641, 1.936",\
                 "0.688, 0.7136, 0.7868, 0.9012, 1.05, 1.228, 1.44, 1.685, 1.963, 2.272",\
                 "0.8874, 0.9156, 1.002, 1.135, 1.307, 1.509, 1.741, 2.009, 2.312, 2.655",\
                 "1.116, 1.153, 1.251, 1.405, 1.597, 1.823, 2.083, 2.374, 2.701, 3.068",\
                 "1.373, 1.413, 1.537, 1.713, 1.931, 2.185, 2.465, 2.782, 3.135, 3.525");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4476, 0.4993, 0.6819, 1.03, 1.573, 2.33, 3.328, 4.59, 6.12, 7.956",\
                 "0.4482, 0.5001, 0.6822, 1.032, 1.572, 2.333, 3.331, 4.587, 6.126, 7.956",\
                 "0.4497, 0.5011, 0.6821, 1.032, 1.574, 2.332, 3.328, 4.59, 6.12, 7.954",\
                 "0.4823, 0.5298, 0.697, 1.034, 1.573, 2.334, 3.327, 4.59, 6.124, 7.945",\
                 "0.5362, 0.585, 0.758, 1.079, 1.592, 2.333, 3.33, 4.582, 6.119, 7.948",\
                 "0.637, 0.6796, 0.8348, 1.154, 1.66, 2.37, 3.337, 4.588, 6.115, 7.945",\
                 "0.7962, 0.8366, 0.9772, 1.264, 1.756, 2.461, 3.397, 4.614, 6.128, 7.946",\
                 "0.9836, 1.025, 1.168, 1.437, 1.889, 2.581, 3.508, 4.688, 6.17, 7.956",\
                 "1.196, 1.239, 1.389, 1.667, 2.089, 2.735, 3.653, 4.821, 6.263, 8.03",\
                 "1.433, 1.479, 1.637, 1.929, 2.359, 2.964, 3.832, 4.987, 6.419, 8.14");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && B3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&B3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.08506, 0.09271, 0.1187, 0.1657, 0.2354, 0.3297, 0.451, 0.6016, 0.784, 1",\
                 "0.0997, 0.1071, 0.1324, 0.179, 0.2485, 0.3426, 0.4638, 0.6145, 0.7968, 1.013",\
                 "0.1457, 0.1547, 0.1836, 0.2311, 0.2986, 0.3918, 0.5127, 0.6632, 0.8455, 1.062",\
                 "0.1731, 0.1858, 0.2271, 0.2944, 0.3829, 0.4886, 0.6106, 0.7599, 0.9418, 1.158",\
                 "0.1668, 0.1842, 0.2385, 0.3271, 0.443, 0.5805, 0.7361, 0.9081, 1.095, 1.311",\
                 "0.1236, 0.1446, 0.2121, 0.3232, 0.4681, 0.6388, 0.8305, 1.043, 1.272, 1.517",\
                 "0.0399, 0.0649, 0.1451, 0.2786, 0.4524, 0.6583, 0.8896, 1.141, 1.414, 1.705",\
                 "-0.0854, -0.0566, 0.0359, 0.1895, 0.3938, 0.6361, 0.9058, 1.201, 1.517, 1.854",\
                 "-0.2552, -0.2228, -0.1177, 0.0575, 0.2897, 0.5668, 0.878, 1.216, 1.579, 1.963",\
                 "-0.4706, -0.4342, -0.3181, -0.122, 0.1379, 0.4485, 0.7998, 1.184, 1.594, 2.028");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4123, 0.4428, 0.5497, 0.7507, 1.061, 1.495, 2.065, 2.783, 3.66, 4.704",\
                 "0.4162, 0.4477, 0.5569, 0.7602, 1.073, 1.509, 2.081, 2.8, 3.677, 4.722",\
                 "0.4445, 0.4755, 0.5834, 0.787, 1.101, 1.54, 2.114, 2.835, 3.713, 4.758",\
                 "0.4985, 0.53, 0.6374, 0.8379, 1.149, 1.585, 2.159, 2.879, 3.759, 4.806",\
                 "0.5914, 0.6231, 0.7328, 0.9372, 1.243, 1.672, 2.238, 2.954, 3.829, 4.874",\
                 "0.7483, 0.7814, 0.8929, 1.096, 1.405, 1.829, 2.383, 3.087, 3.952, 4.988",\
                 "0.9553, 0.9934, 1.116, 1.327, 1.635, 2.061, 2.614, 3.302, 4.152, 5.174",\
                 "1.208, 1.251, 1.388, 1.619, 1.939, 2.364, 2.918, 3.608, 4.443, 5.446",\
                 "1.502, 1.55, 1.705, 1.961, 2.306, 2.742, 3.296, 3.988, 4.826, 5.816",\
                 "1.839, 1.894, 2.065, 2.348, 2.724, 3.188, 3.753, 4.445, 5.286, 6.281");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1237, 0.1361, 0.1777, 0.2521, 0.3639, 0.5164, 0.716, 0.9655, 1.271, 1.635",\
                 "0.1202, 0.1328, 0.1753, 0.2513, 0.3636, 0.5161, 0.7154, 0.9662, 1.27, 1.634",\
                 "0.1659, 0.1752, 0.2043, 0.26, 0.3603, 0.5136, 0.7149, 0.9654, 1.27, 1.634",\
                 "0.2555, 0.2677, 0.3064, 0.3702, 0.4568, 0.5675, 0.7318, 0.967, 1.27, 1.634",\
                 "0.3699, 0.3842, 0.4324, 0.5103, 0.6152, 0.7454, 0.8996, 1.081, 1.325, 1.649",\
                 "0.5074, 0.5262, 0.5852, 0.68, 0.8026, 0.9524, 1.133, 1.337, 1.567, 1.829",\
                 "0.6724, 0.6952, 0.7666, 0.8786, 1.023, 1.193, 1.393, 1.623, 1.885, 2.173",\
                 "0.8688, 0.8954, 0.9808, 1.11, 1.275, 1.47, 1.692, 1.945, 2.231, 2.552",\
                 "1.092, 1.126, 1.227, 1.375, 1.565, 1.782, 2.03, 2.307, 2.617, 2.963",\
                 "1.343, 1.385, 1.504, 1.679, 1.889, 2.136, 2.409, 2.712, 3.047, 3.418");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4476, 0.4995, 0.6816, 1.031, 1.574, 2.331, 3.33, 4.581, 6.12, 7.954",\
                 "0.4483, 0.5001, 0.6822, 1.03, 1.571, 2.333, 3.327, 4.591, 6.121, 7.948",\
                 "0.4505, 0.5016, 0.6827, 1.031, 1.573, 2.33, 3.328, 4.582, 6.119, 7.952",\
                 "0.4825, 0.5299, 0.6974, 1.034, 1.574, 2.334, 3.327, 4.591, 6.118, 7.945",\
                 "0.5356, 0.5842, 0.7576, 1.079, 1.591, 2.331, 3.328, 4.591, 6.114, 7.943",\
                 "0.635, 0.676, 0.8332, 1.154, 1.659, 2.371, 3.338, 4.589, 6.117, 7.945",\
                 "0.791, 0.8308, 0.97, 1.258, 1.752, 2.46, 3.397, 4.612, 6.127, 7.943",\
                 "0.977, 1.016, 1.159, 1.427, 1.883, 2.575, 3.505, 4.687, 6.158, 7.958",\
                 "1.185, 1.23, 1.378, 1.653, 2.077, 2.729, 3.643, 4.817, 6.26, 8.022",\
                 "1.421, 1.464, 1.629, 1.917, 2.339, 2.947, 3.818, 4.979, 6.414, 8.135");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1738, 0.1847, 0.2214, 0.2869, 0.3837, 0.5139, 0.6805, 0.887, 1.137, 1.432",\
                 "0.185, 0.1959, 0.2325, 0.2981, 0.395, 0.525, 0.6916, 0.8981, 1.148, 1.443",\
                 "0.2335, 0.2433, 0.2776, 0.3418, 0.4379, 0.5678, 0.7343, 0.9407, 1.19, 1.485",\
                 "0.3052, 0.3177, 0.3591, 0.4301, 0.5279, 0.655, 0.8202, 1.026, 1.275, 1.57",\
                 "0.3501, 0.3661, 0.4176, 0.506, 0.6283, 0.7801, 0.958, 1.164, 1.411, 1.705",\
                 "0.363, 0.3821, 0.4442, 0.5524, 0.6996, 0.882, 1.095, 1.337, 1.604, 1.9",\
                 "0.3409, 0.3626, 0.4366, 0.5639, 0.7382, 0.9519, 1.2, 1.481, 1.792, 2.131",\
                 "0.2785, 0.3046, 0.39, 0.5371, 0.7388, 0.9859, 1.272, 1.592, 1.946, 2.331",\
                 "0.1789, 0.2076, 0.3037, 0.4696, 0.6983, 0.9789, 1.304, 1.668, 2.065, 2.496",\
                 "0.0411, 0.0727, 0.1779, 0.3617, 0.6171, 0.931, 1.295, 1.702, 2.146, 2.625");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.4228, 0.4529, 0.5602, 0.7619, 1.074, 1.51, 2.083, 2.804, 3.685, 4.733",\
                 "0.4269, 0.4589, 0.5683, 0.7727, 1.087, 1.525, 2.1, 2.822, 3.703, 4.752",\
                 "0.4545, 0.4857, 0.594, 0.7992, 1.116, 1.557, 2.133, 2.858, 3.74, 4.79",\
                 "0.509, 0.5406, 0.6481, 0.8497, 1.162, 1.601, 2.178, 2.903, 3.786, 4.837",\
                 "0.6008, 0.6329, 0.7433, 0.9487, 1.256, 1.686, 2.256, 2.976, 3.855, 4.904",\
                 "0.7561, 0.7902, 0.9004, 1.105, 1.416, 1.842, 2.398, 3.107, 3.976, 5.017",\
                 "0.9612, 0.9991, 1.121, 1.332, 1.642, 2.07, 2.625, 3.318, 4.172, 5.199",\
                 "1.211, 1.253, 1.39, 1.62, 1.941, 2.369, 2.925, 3.619, 4.458, 5.467",\
                 "1.502, 1.55, 1.702, 1.956, 2.303, 2.741, 3.298, 3.994, 4.836, 5.831",\
                 "1.836, 1.888, 2.057, 2.338, 2.714, 3.181, 3.747, 4.444, 5.289, 6.288");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2653, 0.2821, 0.3373, 0.4397, 0.5932, 0.8037, 1.079, 1.424, 1.845, 2.345",\
                 "0.2643, 0.2802, 0.3362, 0.4389, 0.5925, 0.8042, 1.079, 1.424, 1.845, 2.345",\
                 "0.2518, 0.2674, 0.3241, 0.4308, 0.5907, 0.8033, 1.079, 1.423, 1.843, 2.343",\
                 "0.3344, 0.3497, 0.4, 0.4852, 0.612, 0.8048, 1.076, 1.423, 1.844, 2.345",\
                 "0.4498, 0.4676, 0.526, 0.6252, 0.762, 0.9356, 1.154, 1.453, 1.847, 2.344",\
                 "0.5946, 0.617, 0.6844, 0.796, 0.95, 1.142, 1.377, 1.649, 1.98, 2.408",\
                 "0.7708, 0.7962, 0.8742, 1.003, 1.174, 1.384, 1.638, 1.938, 2.283, 2.668",\
                 "0.9742, 1.007, 1.099, 1.245, 1.435, 1.667, 1.94, 2.261, 2.632, 3.05",\
                 "1.213, 1.246, 1.354, 1.521, 1.736, 1.991, 2.287, 2.628, 3.02, 3.466",\
                 "1.488, 1.529, 1.647, 1.838, 2.081, 2.358, 2.681, 3.045, 3.458, 3.923");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7384, 0.7973, 1.002, 1.382, 1.954, 2.733, 3.742, 5.001, 6.536, 8.365",\
                 "0.7389, 0.7976, 1.002, 1.382, 1.954, 2.733, 3.742, 5.003, 6.537, 8.365",\
                 "0.7409, 0.7991, 1.002, 1.382, 1.954, 2.733, 3.741, 5.002, 6.535, 8.367",\
                 "0.7746, 0.8276, 1.016, 1.384, 1.954, 2.733, 3.742, 5.002, 6.537, 8.365",\
                 "0.8672, 0.9162, 1.091, 1.431, 1.971, 2.734, 3.742, 5.003, 6.538, 8.366",\
                 "1.006, 1.047, 1.206, 1.531, 2.045, 2.775, 3.75, 5.002, 6.538, 8.367",\
                 "1.232, 1.262, 1.386, 1.671, 2.164, 2.871, 3.813, 5.028, 6.541, 8.367",\
                 "1.517, 1.544, 1.645, 1.884, 2.328, 3.01, 3.932, 5.113, 6.584, 8.376",\
                 "1.832, 1.856, 1.957, 2.173, 2.567, 3.198, 4.096, 5.255, 6.695, 8.443",\
                 "2.174, 2.197, 2.294, 2.514, 2.883, 3.461, 4.308, 5.443, 6.86, 8.575");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1769, 0.1871, 0.2215, 0.2842, 0.3775, 0.5045, 0.6681, 0.872, 1.119, 1.413",\
                 "0.1918, 0.2021, 0.2368, 0.2997, 0.3933, 0.5204, 0.6842, 0.8882, 1.136, 1.429",\
                 "0.2321, 0.2422, 0.2764, 0.3385, 0.4319, 0.5591, 0.7232, 0.9273, 1.175, 1.468",\
                 "0.2674, 0.2792, 0.3192, 0.3885, 0.4872, 0.6152, 0.7787, 0.9828, 1.23, 1.524",\
                 "0.2755, 0.2905, 0.3394, 0.422, 0.5363, 0.681, 0.8571, 1.066, 1.313, 1.606",\
                 "0.2433, 0.2618, 0.3219, 0.4234, 0.5602, 0.7279, 0.9263, 1.157, 1.422, 1.722",\
                 "0.162, 0.184, 0.2562, 0.3787, 0.5434, 0.7419, 0.9704, 1.229, 1.52, 1.846",\
                 "0.0285, 0.0543, 0.1385, 0.2826, 0.4761, 0.7099, 0.9754, 1.27, 1.594, 1.95",\
                 "-0.1631, -0.1332, -0.0358, 0.1301, 0.3534, 0.6235, 0.9299, 1.266, 1.632, 2.025",\
                 "-0.4144, -0.3809, -0.2707, -0.0824, 0.1719, 0.478, 0.8263, 1.209, 1.62, 2.061");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5429, 0.574, 0.682, 0.8858, 1.2, 1.639, 2.213, 2.936, 3.818, 4.867",\
                 "0.5482, 0.5793, 0.6879, 0.8925, 1.208, 1.646, 2.222, 2.945, 3.826, 4.876",\
                 "0.5944, 0.6258, 0.7332, 0.9375, 1.252, 1.691, 2.267, 2.991, 3.872, 4.922",\
                 "0.7171, 0.747, 0.8518, 1.05, 1.36, 1.795, 2.368, 3.089, 3.969, 5.018",\
                 "0.9284, 0.9577, 1.059, 1.252, 1.553, 1.98, 2.545, 3.259, 4.134, 5.179",\
                 "1.2, 1.232, 1.345, 1.546, 1.845, 2.261, 2.815, 3.52, 4.386, 5.423",\
                 "1.529, 1.565, 1.684, 1.903, 2.225, 2.649, 3.193, 3.885, 4.739, 5.764",\
                 "1.925, 1.962, 2.09, 2.322, 2.666, 3.121, 3.683, 4.367, 5.207, 6.219",\
                 "2.389, 2.428, 2.567, 2.813, 3.175, 3.657, 4.255, 4.965, 5.799, 6.797",\
                 "2.921, 2.964, 3.115, 3.379, 3.76, 4.264, 4.894, 5.645, 6.511, 7.505");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1825, 0.1989, 0.2538, 0.355, 0.5077, 0.717, 0.9905, 1.334, 1.753, 2.252",\
                 "0.1826, 0.1989, 0.2539, 0.3547, 0.5076, 0.7173, 0.991, 1.333, 1.753, 2.251",\
                 "0.1895, 0.2036, 0.2546, 0.3533, 0.5062, 0.7171, 0.9906, 1.334, 1.752, 2.252",\
                 "0.2488, 0.263, 0.3102, 0.3979, 0.5306, 0.7243, 0.9901, 1.333, 1.753, 2.252",\
                 "0.3425, 0.3559, 0.4042, 0.4918, 0.6274, 0.8114, 1.051, 1.363, 1.762, 2.253",\
                 "0.467, 0.4826, 0.5356, 0.6298, 0.7654, 0.9506, 1.19, 1.492, 1.857, 2.308",\
                 "0.6156, 0.6326, 0.6948, 0.7996, 0.948, 1.139, 1.378, 1.678, 2.044, 2.479",\
                 "0.7856, 0.8044, 0.875, 0.9952, 1.161, 1.37, 1.62, 1.919, 2.282, 2.718",\
                 "0.9768, 1, 1.078, 1.212, 1.401, 1.63, 1.901, 2.216, 2.582, 3.012",\
                 "1.186, 1.213, 1.304, 1.455, 1.662, 1.919, 2.213, 2.551, 2.936, 3.371");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.174, 1.231, 1.429, 1.801, 2.366, 3.144, 4.153, 5.416, 6.955, 8.785",\
                 "1.174, 1.231, 1.429, 1.801, 2.367, 3.144, 4.153, 5.416, 6.955, 8.784",\
                 "1.173, 1.231, 1.429, 1.801, 2.366, 3.144, 4.152, 5.417, 6.954, 8.785",\
                 "1.166, 1.224, 1.426, 1.801, 2.366, 3.143, 4.153, 5.416, 6.955, 8.785",\
                 "1.214, 1.266, 1.449, 1.803, 2.365, 3.144, 4.153, 5.417, 6.955, 8.787",\
                 "1.331, 1.384, 1.56, 1.89, 2.406, 3.147, 4.152, 5.417, 6.956, 8.786",\
                 "1.455, 1.516, 1.702, 2.047, 2.547, 3.24, 4.179, 5.418, 6.955, 8.786",\
                 "1.607, 1.661, 1.853, 2.212, 2.74, 3.43, 4.322, 5.48, 6.965, 8.785",\
                 "1.794, 1.85, 2.034, 2.391, 2.934, 3.661, 4.559, 5.671, 7.07, 8.812",\
                 "2.021, 2.076, 2.255, 2.605, 3.144, 3.897, 4.836, 5.958, 7.306, 8.962");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1691, 0.1784, 0.2102, 0.269, 0.3581, 0.4813, 0.6421, 0.8437, 1.089, 1.381",\
                 "0.1839, 0.1933, 0.2254, 0.2845, 0.3739, 0.4973, 0.6581, 0.8597, 1.105, 1.398",\
                 "0.2214, 0.231, 0.2636, 0.3227, 0.4123, 0.536, 0.697, 0.8989, 1.144, 1.437",\
                 "0.2482, 0.2602, 0.2994, 0.3678, 0.465, 0.5915, 0.7526, 0.9544, 1.2, 1.492",\
                 "0.2445, 0.2597, 0.3092, 0.393, 0.508, 0.6527, 0.8286, 1.037, 1.283, 1.575",\
                 "0.1968, 0.2159, 0.2785, 0.3831, 0.5233, 0.6935, 0.8931, 1.124, 1.39, 1.691",\
                 "0.0997, 0.1228, 0.1987, 0.3261, 0.4961, 0.699, 0.9312, 1.191, 1.484, 1.811",\
                 "-0.0511, -0.0236, 0.0661, 0.2165, 0.4174, 0.6572, 0.9282, 1.227, 1.553, 1.912",\
                 "-0.2595, -0.2279, -0.1241, 0.0508, 0.2831, 0.5604, 0.8743, 1.216, 1.586, 1.983",\
                 "-0.5276, -0.4914, -0.374, -0.1756, 0.0892, 0.4049, 0.7619, 1.151, 1.569, 2.013");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5429, 0.5741, 0.682, 0.8858, 1.2, 1.639, 2.214, 2.937, 3.818, 4.867",\
                 "0.5482, 0.5794, 0.6881, 0.8926, 1.208, 1.646, 2.222, 2.945, 3.826, 4.876",\
                 "0.5945, 0.6258, 0.7334, 0.9374, 1.252, 1.691, 2.267, 2.99, 3.872, 4.922",\
                 "0.7171, 0.7472, 0.8515, 1.051, 1.36, 1.796, 2.368, 3.089, 3.969, 5.018",\
                 "0.9284, 0.9578, 1.059, 1.252, 1.554, 1.98, 2.544, 3.259, 4.134, 5.178",\
                 "1.201, 1.233, 1.345, 1.547, 1.845, 2.262, 2.815, 3.52, 4.385, 5.422",\
                 "1.529, 1.565, 1.684, 1.903, 2.226, 2.649, 3.193, 3.885, 4.739, 5.765",\
                 "1.925, 1.962, 2.09, 2.322, 2.666, 3.121, 3.683, 4.368, 5.208, 6.219",\
                 "2.389, 2.429, 2.565, 2.812, 3.176, 3.657, 4.255, 4.963, 5.799, 6.797",\
                 "2.921, 2.965, 3.116, 3.379, 3.76, 4.264, 4.894, 5.643, 6.51, 7.506");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1586, 0.1735, 0.2251, 0.3222, 0.4712, 0.6783, 0.9513, 1.294, 1.714, 2.211",\
                 "0.1583, 0.1733, 0.225, 0.3217, 0.4712, 0.6793, 0.9519, 1.295, 1.714, 2.211",\
                 "0.1684, 0.1815, 0.2285, 0.3226, 0.4711, 0.6786, 0.9513, 1.296, 1.714, 2.211",\
                 "0.2268, 0.24, 0.2866, 0.3722, 0.5026, 0.6917, 0.9541, 1.294, 1.714, 2.211",\
                 "0.321, 0.3347, 0.3824, 0.469, 0.6, 0.7834, 1.021, 1.33, 1.724, 2.213",\
                 "0.4448, 0.4608, 0.5144, 0.609, 0.7428, 0.9252, 1.164, 1.463, 1.826, 2.273",\
                 "0.5934, 0.6112, 0.6736, 0.7802, 0.9278, 1.117, 1.355, 1.652, 2.016, 2.449",\
                 "0.7642, 0.7848, 0.8538, 0.976, 1.141, 1.348, 1.598, 1.896, 2.258, 2.689",\
                 "0.9558, 0.9802, 1.059, 1.194, 1.381, 1.61, 1.882, 2.194, 2.559, 2.986",\
                 "1.162, 1.191, 1.283, 1.436, 1.643, 1.899, 2.197, 2.533, 2.914, 3.349");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.077, 1.131, 1.318, 1.672, 2.219, 2.981, 3.983, 5.243, 6.779, 8.607",\
                 "1.077, 1.131, 1.318, 1.672, 2.219, 2.982, 3.983, 5.244, 6.778, 8.608",\
                 "1.076, 1.13, 1.317, 1.672, 2.219, 2.982, 3.984, 5.244, 6.78, 8.608",\
                 "1.069, 1.124, 1.314, 1.671, 2.219, 2.981, 3.984, 5.244, 6.778, 8.607",\
                 "1.116, 1.166, 1.338, 1.673, 2.217, 2.982, 3.984, 5.244, 6.781, 8.608",\
                 "1.222, 1.274, 1.444, 1.761, 2.258, 2.986, 3.983, 5.243, 6.781, 8.608",\
                 "1.334, 1.393, 1.571, 1.908, 2.398, 3.078, 4.01, 5.245, 6.782, 8.609",\
                 "1.471, 1.527, 1.709, 2.061, 2.581, 3.266, 4.153, 5.307, 6.788, 8.609",\
                 "1.641, 1.695, 1.878, 2.228, 2.767, 3.49, 4.388, 5.497, 6.893, 8.636",\
                 "1.846, 1.902, 2.081, 2.427, 2.964, 3.714, 4.658, 5.783, 7.132, 8.786");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1384, 0.1455, 0.1699, 0.2145, 0.2823, 0.3754, 0.4967, 0.6488, 0.8337, 1.054",\
                 "0.1535, 0.1606, 0.1852, 0.2302, 0.2978, 0.3912, 0.5128, 0.6649, 0.8499, 1.07",\
                 "0.1978, 0.2058, 0.2319, 0.2776, 0.3455, 0.4389, 0.5607, 0.713, 0.898, 1.118",\
                 "0.2297, 0.241, 0.277, 0.3379, 0.4209, 0.5233, 0.6465, 0.7988, 0.984, 1.205",\
                 "0.2277, 0.2418, 0.2896, 0.3692, 0.4764, 0.6067, 0.7571, 0.9267, 1.117, 1.338",\
                 "0.1814, 0.1997, 0.2598, 0.3606, 0.4953, 0.6571, 0.8415, 1.047, 1.271, 1.516",\
                 "0.0859, 0.108, 0.1808, 0.3039, 0.4686, 0.6648, 0.8872, 1.131, 1.396, 1.681",\
                 "-0.063, -0.0369, 0.0492, 0.1944, 0.3896, 0.6231, 0.8856, 1.173, 1.482, 1.811",\
                 "-0.2693, -0.2393, -0.1402, 0.0285, 0.2545, 0.5251, 0.8308, 1.163, 1.52, 1.896",\
                 "-0.5354, -0.5016, -0.3897, -0.198, 0.0598, 0.3676, 0.7158, 1.096, 1.502, 1.93");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6044, 0.6348, 0.7415, 0.9435, 1.256, 1.693, 2.267, 2.99, 3.871, 4.92",\
                 "0.6106, 0.6411, 0.7484, 0.9511, 1.265, 1.703, 2.277, 3, 3.881, 4.93",\
                 "0.6569, 0.6874, 0.7939, 0.9961, 1.31, 1.748, 2.323, 3.046, 3.928, 4.977",\
                 "0.7792, 0.8087, 0.9123, 1.11, 1.418, 1.853, 2.424, 3.145, 4.025, 5.073",\
                 "0.9906, 1.019, 1.12, 1.311, 1.613, 2.038, 2.602, 3.317, 4.191, 5.235",\
                 "1.269, 1.301, 1.41, 1.608, 1.905, 2.322, 2.876, 3.58, 4.445, 5.481",\
                 "1.603, 1.638, 1.755, 1.972, 2.291, 2.712, 3.257, 3.949, 4.804, 5.829",\
                 "2.004, 2.041, 2.167, 2.397, 2.738, 3.191, 3.75, 4.435, 5.276, 6.287",\
                 "2.476, 2.516, 2.649, 2.893, 3.253, 3.732, 4.329, 5.037, 5.873, 6.871",\
                 "3.019, 3.062, 3.205, 3.463, 3.841, 4.345, 4.974, 5.725, 6.59, 7.587");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1381, 0.1491, 0.1879, 0.2613, 0.3742, 0.5313, 0.736, 0.9946, 1.31, 1.685",\
                 "0.1381, 0.1491, 0.1878, 0.2617, 0.3737, 0.5313, 0.7371, 0.9946, 1.311, 1.685",\
                 "0.163, 0.171, 0.2017, 0.2658, 0.374, 0.5306, 0.7369, 0.9949, 1.31, 1.686",\
                 "0.2514, 0.2612, 0.2939, 0.354, 0.4421, 0.5658, 0.7482, 0.9968, 1.309, 1.686",\
                 "0.3666, 0.3772, 0.4144, 0.4832, 0.583, 0.7146, 0.8772, 1.079, 1.349, 1.696",\
                 "0.5062, 0.5186, 0.563, 0.6424, 0.7542, 0.9006, 1.08, 1.292, 1.539, 1.833",\
                 "0.6684, 0.683, 0.7352, 0.8262, 0.9556, 1.12, 1.315, 1.545, 1.81, 2.115",\
                 "0.8524, 0.8698, 0.9292, 1.034, 1.182, 1.366, 1.585, 1.836, 2.12, 2.444",\
                 "1.059, 1.08, 1.147, 1.265, 1.431, 1.64, 1.884, 2.162, 2.468, 2.813",\
                 "1.279, 1.303, 1.382, 1.518, 1.704, 1.938, 2.211, 2.517, 2.855, 3.224");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.146, 1.201, 1.389, 1.745, 2.293, 3.056, 4.058, 5.317, 6.855, 8.686",\
                 "1.146, 1.2, 1.389, 1.745, 2.293, 3.057, 4.058, 5.317, 6.853, 8.685",\
                 "1.146, 1.2, 1.389, 1.745, 2.292, 3.056, 4.058, 5.317, 6.854, 8.682",\
                 "1.14, 1.195, 1.386, 1.744, 2.293, 3.057, 4.059, 5.317, 6.854, 8.682",\
                 "1.177, 1.227, 1.402, 1.744, 2.291, 3.056, 4.058, 5.317, 6.854, 8.684",\
                 "1.285, 1.336, 1.505, 1.822, 2.323, 3.059, 4.058, 5.318, 6.855, 8.684",\
                 "1.398, 1.451, 1.635, 1.97, 2.458, 3.141, 4.08, 5.32, 6.854, 8.684",\
                 "1.529, 1.583, 1.773, 2.121, 2.642, 3.326, 4.212, 5.373, 6.862, 8.685",\
                 "1.695, 1.747, 1.934, 2.288, 2.825, 3.55, 4.444, 5.555, 6.956, 8.708",\
                 "1.892, 1.947, 2.131, 2.479, 3.02, 3.772, 4.714, 5.834, 7.188, 8.848");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1375, 0.1458, 0.1755, 0.2312, 0.3176, 0.4385, 0.5973, 0.7979, 1.042, 1.334",\
                 "0.1514, 0.1601, 0.1902, 0.2465, 0.3333, 0.4545, 0.6136, 0.8141, 1.059, 1.349",\
                 "0.1829, 0.193, 0.2259, 0.2839, 0.3713, 0.4932, 0.6525, 0.8532, 1.098, 1.389",\
                 "0.1942, 0.2074, 0.2497, 0.321, 0.4201, 0.5478, 0.7078, 0.9083, 1.153, 1.445",\
                 "0.1678, 0.1858, 0.2419, 0.3331, 0.454, 0.6023, 0.7804, 0.9902, 1.236, 1.527",\
                 "0.0949, 0.1176, 0.1892, 0.3055, 0.4561, 0.634, 0.8383, 1.073, 1.34, 1.642",\
                 "-0.0292, -0.0015, 0.0866, 0.2288, 0.4129, 0.6273, 0.868, 1.134, 1.429, 1.759",\
                 "-0.2076, -0.1751, -0.0699, 0.0998, 0.3174, 0.5718, 0.8536, 1.161, 1.493, 1.855",\
                 "-0.4422, -0.4045, -0.2837, -0.0873, 0.1661, 0.4603, 0.7874, 1.14, 1.518, 1.921",\
                 "-0.7336, -0.6917, -0.5566, -0.3337, -0.045, 0.2904, 0.662, 1.065, 1.491, 1.943");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5291, 0.5603, 0.6684, 0.8717, 1.185, 1.622, 2.194, 2.914, 3.792, 4.837",\
                 "0.5343, 0.5658, 0.6744, 0.8788, 1.193, 1.63, 2.203, 2.922, 3.801, 4.846",\
                 "0.5806, 0.6116, 0.7197, 0.9235, 1.238, 1.675, 2.248, 2.969, 3.846, 4.892",\
                 "0.7034, 0.7332, 0.838, 1.037, 1.346, 1.779, 2.349, 3.067, 3.943, 4.988",\
                 "0.9139, 0.9439, 1.046, 1.237, 1.538, 1.963, 2.526, 3.237, 4.109, 5.148",\
                 "1.183, 1.216, 1.329, 1.531, 1.83, 2.245, 2.796, 3.498, 4.36, 5.394",\
                 "1.509, 1.545, 1.667, 1.887, 2.209, 2.631, 3.174, 3.863, 4.714, 5.736",\
                 "1.901, 1.94, 2.069, 2.303, 2.648, 3.103, 3.663, 4.345, 5.181, 6.189",\
                 "2.362, 2.403, 2.541, 2.791, 3.154, 3.635, 4.232, 4.942, 5.773, 6.766",\
                 "2.89, 2.935, 3.088, 3.353, 3.736, 4.238, 4.866, 5.617, 6.483, 7.475");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1157, 0.1293, 0.1783, 0.2726, 0.4201, 0.627, 0.8989, 1.242, 1.659, 2.157",\
                 "0.1157, 0.1295, 0.1781, 0.2731, 0.4202, 0.6277, 0.8995, 1.242, 1.659, 2.158",\
                 "0.1367, 0.1485, 0.1902, 0.2764, 0.4203, 0.6269, 0.9, 1.242, 1.659, 2.157",\
                 "0.1983, 0.2102, 0.2532, 0.3353, 0.4634, 0.6465, 0.9034, 1.241, 1.66, 2.157",\
                 "0.2954, 0.309, 0.3552, 0.4388, 0.566, 0.745, 0.9802, 1.282, 1.674, 2.158",\
                 "0.4206, 0.4364, 0.4886, 0.5816, 0.7144, 0.8922, 1.126, 1.422, 1.783, 2.226",\
                 "0.5724, 0.5884, 0.6484, 0.754, 0.9, 1.089, 1.322, 1.615, 1.976, 2.406",\
                 "0.745, 0.7658, 0.8318, 0.9496, 1.116, 1.321, 1.57, 1.864, 2.221, 2.649",\
                 "0.9362, 0.9588, 1.037, 1.171, 1.354, 1.583, 1.853, 2.166, 2.527, 2.95",\
                 "1.143, 1.168, 1.255, 1.411, 1.618, 1.871, 2.167, 2.503, 2.884, 3.316");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.8243, 0.8785, 1.066, 1.421, 1.966, 2.73, 3.731, 4.99, 6.527, 8.355",\
                 "0.8234, 0.8784, 1.066, 1.42, 1.966, 2.731, 3.733, 4.991, 6.527, 8.354",\
                 "0.8224, 0.8777, 1.066, 1.42, 1.967, 2.73, 3.731, 4.994, 6.526, 8.356",\
                 "0.815, 0.8696, 1.062, 1.419, 1.966, 2.73, 3.733, 4.99, 6.526, 8.354",\
                 "0.861, 0.9114, 1.084, 1.42, 1.965, 2.729, 3.732, 4.992, 6.53, 8.357",\
                 "0.9458, 1, 1.183, 1.507, 2.006, 2.733, 3.73, 4.99, 6.528, 8.359",\
                 "1.034, 1.091, 1.287, 1.639, 2.142, 2.825, 3.757, 4.993, 6.526, 8.358",\
                 "1.148, 1.209, 1.404, 1.77, 2.309, 3.011, 3.9, 5.054, 6.536, 8.356",\
                 "1.293, 1.352, 1.553, 1.921, 2.476, 3.219, 4.132, 5.245, 6.64, 8.382",\
                 "1.465, 1.528, 1.733, 2.102, 2.657, 3.425, 4.389, 5.527, 6.88, 8.534");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1163, 0.1229, 0.1454, 0.1878, 0.253, 0.3443, 0.4644, 0.6149, 0.799, 1.019",\
                 "0.1306, 0.1375, 0.1605, 0.2031, 0.2687, 0.3602, 0.4801, 0.6309, 0.8154, 1.035",\
                 "0.1659, 0.1745, 0.2026, 0.2491, 0.316, 0.4077, 0.5279, 0.6792, 0.8637, 1.083",\
                 "0.179, 0.1911, 0.2312, 0.2967, 0.384, 0.4894, 0.6137, 0.7652, 0.9496, 1.169",\
                 "0.1532, 0.1705, 0.2242, 0.3122, 0.4267, 0.5626, 0.7174, 0.8904, 1.082, 1.303",\
                 "0.0817, 0.1034, 0.1728, 0.2854, 0.4306, 0.601, 0.792, 1.002, 1.231, 1.478",\
                 "-0.0391, -0.0125, 0.0715, 0.2091, 0.3879, 0.5956, 0.8271, 1.078, 1.348, 1.637",\
                 "-0.214, -0.1829, -0.0832, 0.0804, 0.2921, 0.5395, 0.8134, 1.11, 1.425, 1.76",\
                 "-0.4447, -0.4095, -0.2951, -0.1058, 0.14, 0.4273, 0.7462, 1.089, 1.454, 1.838",\
                 "-0.7325, -0.6938, -0.5657, -0.3521, -0.072, 0.2555, 0.6187, 1.011, 1.427, 1.863");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5916, 0.6221, 0.7285, 0.9299, 1.241, 1.677, 2.248, 2.967, 3.845, 4.89",\
                 "0.5975, 0.6283, 0.7353, 0.9377, 1.25, 1.686, 2.258, 2.978, 3.855, 4.901",\
                 "0.644, 0.6742, 0.7808, 0.9827, 1.295, 1.731, 2.304, 3.023, 3.901, 4.948",\
                 "0.7661, 0.7956, 0.8989, 1.096, 1.404, 1.836, 2.406, 3.123, 3.999, 5.044",\
                 "0.9772, 1.006, 1.107, 1.298, 1.598, 2.022, 2.584, 3.295, 4.165, 5.206",\
                 "1.253, 1.285, 1.394, 1.594, 1.89, 2.306, 2.856, 3.558, 4.42, 5.452",\
                 "1.585, 1.619, 1.739, 1.956, 2.274, 2.695, 3.237, 3.928, 4.777, 5.799",\
                 "1.984, 2.021, 2.146, 2.377, 2.719, 3.171, 3.73, 4.412, 5.249, 6.259",\
                 "2.453, 2.491, 2.627, 2.87, 3.23, 3.71, 4.307, 5.013, 5.845, 6.84",\
                 "2.991, 3.035, 3.18, 3.439, 3.817, 4.319, 4.948, 5.698, 6.561, 7.556");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1048, 0.1154, 0.1525, 0.2239, 0.3358, 0.4917, 0.6965, 0.9555, 1.271, 1.644",\
                 "0.1051, 0.1156, 0.1526, 0.2242, 0.3355, 0.4914, 0.6971, 0.9556, 1.271, 1.646",\
                 "0.1427, 0.1505, 0.1785, 0.2362, 0.3382, 0.4922, 0.6969, 0.9555, 1.27, 1.645",\
                 "0.2307, 0.2402, 0.2719, 0.3317, 0.4198, 0.5397, 0.714, 0.9567, 1.27, 1.644",\
                 "0.3475, 0.3579, 0.3942, 0.4612, 0.5612, 0.6922, 0.8546, 1.053, 1.317, 1.658",\
                 "0.4894, 0.501, 0.543, 0.6208, 0.733, 0.8776, 1.057, 1.268, 1.515, 1.804",\
                 "0.6556, 0.6694, 0.7162, 0.8056, 0.9344, 1.097, 1.291, 1.521, 1.788, 2.089",\
                 "0.8462, 0.8608, 0.9144, 1.015, 1.161, 1.344, 1.564, 1.811, 2.097, 2.42",\
                 "1.052, 1.07, 1.132, 1.247, 1.411, 1.619, 1.861, 2.14, 2.446, 2.789",\
                 "1.274, 1.294, 1.367, 1.499, 1.683, 1.916, 2.188, 2.493, 2.833, 3.201");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.9002, 0.9534, 1.141, 1.495, 2.042, 2.805, 3.806, 5.066, 6.602, 8.431",\
                 "0.899, 0.954, 1.142, 1.496, 2.042, 2.806, 3.806, 5.069, 6.6, 8.433",\
                 "0.8987, 0.9533, 1.142, 1.494, 2.042, 2.805, 3.808, 5.066, 6.603, 8.432",\
                 "0.8935, 0.9471, 1.138, 1.495, 2.042, 2.806, 3.808, 5.066, 6.603, 8.432",\
                 "0.9294, 0.9784, 1.154, 1.494, 2.04, 2.805, 3.808, 5.067, 6.601, 8.431",\
                 "1.02, 1.073, 1.252, 1.572, 2.073, 2.807, 3.806, 5.067, 6.603, 8.433",\
                 "1.111, 1.169, 1.36, 1.706, 2.205, 2.891, 3.827, 5.067, 6.602, 8.433",\
                 "1.222, 1.279, 1.48, 1.84, 2.374, 3.071, 3.961, 5.121, 6.61, 8.432",\
                 "1.367, 1.423, 1.62, 1.987, 2.539, 3.282, 4.188, 5.302, 6.704, 8.452",\
                 "1.534, 1.594, 1.795, 2.163, 2.721, 3.49, 4.447, 5.58, 6.934, 8.594");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1163, 0.1229, 0.1454, 0.1878, 0.253, 0.3443, 0.4644, 0.6149, 0.7991, 1.019",\
                 "0.1308, 0.1375, 0.1605, 0.2031, 0.2687, 0.3602, 0.4801, 0.631, 0.8153, 1.035",\
                 "0.1659, 0.1745, 0.2025, 0.2491, 0.3159, 0.4077, 0.5279, 0.6792, 0.8637, 1.083",\
                 "0.179, 0.1912, 0.2312, 0.2967, 0.384, 0.4894, 0.6137, 0.7652, 0.9496, 1.169",\
                 "0.1532, 0.1705, 0.2242, 0.3122, 0.4267, 0.5626, 0.7174, 0.8904, 1.082, 1.303",\
                 "0.0817, 0.1034, 0.1728, 0.2854, 0.4306, 0.601, 0.792, 1.002, 1.231, 1.478",\
                 "-0.0391, -0.0125, 0.0715, 0.2091, 0.3879, 0.5954, 0.8269, 1.078, 1.348, 1.637",\
                 "-0.214, -0.1829, -0.0832, 0.0804, 0.2921, 0.5395, 0.8134, 1.11, 1.425, 1.76",\
                 "-0.4447, -0.4095, -0.2951, -0.1058, 0.14, 0.4273, 0.7462, 1.089, 1.454, 1.838",\
                 "-0.7325, -0.6938, -0.5657, -0.3521, -0.072, 0.2555, 0.6187, 1.011, 1.427, 1.863");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.5916, 0.6221, 0.7285, 0.9299, 1.241, 1.677, 2.248, 2.967, 3.845, 4.89",\
                 "0.5975, 0.6283, 0.7353, 0.9376, 1.25, 1.686, 2.258, 2.977, 3.854, 4.901",\
                 "0.6437, 0.6742, 0.7807, 0.9826, 1.295, 1.731, 2.304, 3.025, 3.901, 4.948",\
                 "0.7657, 0.7956, 0.8988, 1.096, 1.404, 1.836, 2.406, 3.123, 3.999, 5.043",\
                 "0.9773, 1.006, 1.107, 1.298, 1.598, 2.022, 2.584, 3.295, 4.165, 5.205",\
                 "1.253, 1.286, 1.394, 1.594, 1.89, 2.305, 2.856, 3.558, 4.42, 5.452",\
                 "1.585, 1.62, 1.739, 1.956, 2.274, 2.695, 3.238, 3.927, 4.777, 5.799",\
                 "1.984, 2.021, 2.146, 2.377, 2.719, 3.171, 3.73, 4.412, 5.249, 6.257",\
                 "2.453, 2.492, 2.627, 2.87, 3.23, 3.71, 4.307, 5.013, 5.846, 6.84",\
                 "2.991, 3.035, 3.18, 3.438, 3.818, 4.319, 4.948, 5.698, 6.561, 7.556");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1048, 0.1154, 0.1525, 0.2239, 0.3358, 0.4918, 0.6965, 0.9555, 1.271, 1.644",\
                 "0.1053, 0.116, 0.1527, 0.2242, 0.3355, 0.4916, 0.6971, 0.9554, 1.271, 1.646",\
                 "0.1427, 0.1505, 0.1786, 0.2362, 0.3382, 0.4922, 0.6969, 0.9555, 1.27, 1.645",\
                 "0.2307, 0.24, 0.2719, 0.3317, 0.4198, 0.5397, 0.714, 0.9567, 1.269, 1.645",\
                 "0.3475, 0.3579, 0.3942, 0.4612, 0.5612, 0.6922, 0.8546, 1.053, 1.317, 1.658",\
                 "0.4894, 0.501, 0.543, 0.6208, 0.733, 0.8776, 1.057, 1.268, 1.515, 1.804",\
                 "0.6556, 0.6694, 0.7162, 0.8056, 0.9344, 1.098, 1.291, 1.522, 1.788, 2.088",\
                 "0.8462, 0.8608, 0.9144, 1.015, 1.161, 1.344, 1.564, 1.811, 2.097, 2.42",\
                 "1.052, 1.07, 1.132, 1.247, 1.411, 1.619, 1.861, 2.14, 2.446, 2.789",\
                 "1.274, 1.294, 1.367, 1.499, 1.683, 1.916, 2.188, 2.493, 2.833, 3.202");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.9002, 0.9534, 1.141, 1.495, 2.042, 2.805, 3.806, 5.067, 6.602, 8.43",\
                 "0.899, 0.954, 1.142, 1.496, 2.042, 2.806, 3.808, 5.066, 6.602, 8.432",\
                 "0.8992, 0.9533, 1.141, 1.495, 2.042, 2.805, 3.806, 5.069, 6.602, 8.432",\
                 "0.8934, 0.9472, 1.138, 1.495, 2.042, 2.805, 3.807, 5.066, 6.602, 8.431",\
                 "0.9292, 0.9784, 1.154, 1.493, 2.04, 2.805, 3.808, 5.067, 6.602, 8.431",\
                 "1.021, 1.073, 1.252, 1.572, 2.073, 2.806, 3.806, 5.066, 6.603, 8.435",\
                 "1.111, 1.168, 1.361, 1.706, 2.206, 2.889, 3.828, 5.066, 6.602, 8.433",\
                 "1.222, 1.278, 1.476, 1.841, 2.375, 3.071, 3.961, 5.12, 6.609, 8.431",\
                 "1.367, 1.42, 1.619, 1.986, 2.54, 3.281, 4.189, 5.303, 6.704, 8.456",\
                 "1.534, 1.594, 1.796, 2.167, 2.719, 3.49, 4.448, 5.58, 6.934, 8.59");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1107, 0.1169, 0.1378, 0.177, 0.2376, 0.3221, 0.433, 0.5728, 0.7432, 0.9463",\
                 "0.1252, 0.1316, 0.1528, 0.1924, 0.2534, 0.338, 0.4491, 0.5888, 0.7593, 0.9624",\
                 "0.1619, 0.1703, 0.1972, 0.2415, 0.3038, 0.3888, 0.5002, 0.6402, 0.8104, 1.014",\
                 "0.1767, 0.1887, 0.2276, 0.2919, 0.3766, 0.4781, 0.595, 0.7352, 0.9059, 1.109",\
                 "0.1538, 0.1703, 0.2224, 0.3086, 0.4208, 0.5543, 0.7053, 0.8719, 1.053, 1.258",\
                 "0.0858, 0.1065, 0.1732, 0.2831, 0.426, 0.5939, 0.7818, 0.9879, 1.21, 1.448",\
                 "-0.0314, -0.0061, 0.0748, 0.2088, 0.3842, 0.5892, 0.8174, 1.065, 1.331, 1.614",\
                 "-0.2027, -0.1732, -0.0771, 0.082, 0.2895, 0.5336, 0.8044, 1.097, 1.408, 1.739",\
                 "-0.4299, -0.3963, -0.2862, -0.1023, 0.1388, 0.4215, 0.7369, 1.076, 1.437, 1.817",\
                 "-0.715, -0.6772, -0.5549, -0.3467, -0.0721, 0.2501, 0.6095, 0.9984, 1.41, 1.842");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6464, 0.6765, 0.7823, 0.9829, 1.294, 1.729, 2.3, 3.018, 3.896, 4.94",\
                 "0.6529, 0.6833, 0.7897, 0.9912, 1.303, 1.739, 2.31, 3.03, 3.906, 4.953",\
                 "0.6988, 0.7291, 0.835, 1.036, 1.348, 1.784, 2.356, 3.076, 3.954, 5",\
                 "0.8198, 0.8493, 0.952, 1.149, 1.456, 1.888, 2.458, 3.174, 4.051, 5.096",\
                 "1.03, 1.058, 1.159, 1.35, 1.65, 2.074, 2.636, 3.347, 4.217, 5.256",\
                 "1.312, 1.343, 1.451, 1.647, 1.943, 2.357, 2.91, 3.611, 4.473, 5.505",\
                 "1.65, 1.683, 1.799, 2.013, 2.33, 2.747, 3.29, 3.982, 4.831, 5.853",\
                 "2.052, 2.087, 2.212, 2.439, 2.78, 3.228, 3.783, 4.466, 5.305, 6.313",\
                 "2.525, 2.563, 2.696, 2.936, 3.294, 3.772, 4.364, 5.069, 5.902, 6.899",\
                 "3.07, 3.113, 3.255, 3.51, 3.883, 4.384, 5.011, 5.758, 6.621, 7.614");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1151, 0.125, 0.159, 0.2244, 0.3264, 0.4704, 0.6581, 0.8945, 1.184, 1.527",\
                 "0.1155, 0.1252, 0.159, 0.2245, 0.3266, 0.4703, 0.6584, 0.8955, 1.184, 1.528",\
                 "0.1597, 0.1663, 0.1898, 0.24, 0.3305, 0.4703, 0.6582, 0.8944, 1.184, 1.527",\
                 "0.258, 0.2661, 0.2946, 0.3483, 0.4267, 0.5304, 0.6823, 0.8995, 1.184, 1.528",\
                 "0.3845, 0.3931, 0.4252, 0.4864, 0.5782, 0.6988, 0.8448, 1.018, 1.246, 1.549",\
                 "0.537, 0.5466, 0.5838, 0.6548, 0.7582, 0.8946, 1.061, 1.256, 1.477, 1.73",\
                 "0.714, 0.7248, 0.7664, 0.8476, 0.9668, 1.121, 1.307, 1.523, 1.769, 2.047",\
                 "0.9156, 0.9284, 0.974, 1.065, 1.201, 1.375, 1.584, 1.821, 2.093, 2.395",\
                 "1.134, 1.149, 1.204, 1.307, 1.457, 1.654, 1.889, 2.155, 2.45, 2.779",\
                 "1.369, 1.386, 1.448, 1.567, 1.739, 1.959, 2.221, 2.516, 2.845, 3.198");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.9714, 1.025, 1.213, 1.568, 2.115, 2.878, 3.879, 5.138, 6.674, 8.504",\
                 "0.9717, 1.025, 1.213, 1.568, 2.115, 2.878, 3.879, 5.139, 6.675, 8.506",\
                 "0.9714, 1.025, 1.213, 1.567, 2.114, 2.877, 3.879, 5.139, 6.675, 8.504",\
                 "0.9669, 1.021, 1.212, 1.567, 2.115, 2.877, 3.879, 5.138, 6.675, 8.504",\
                 "0.9934, 1.044, 1.221, 1.564, 2.112, 2.877, 3.879, 5.14, 6.676, 8.504",\
                 "1.09, 1.142, 1.314, 1.634, 2.139, 2.879, 3.878, 5.138, 6.676, 8.507",\
                 "1.183, 1.239, 1.429, 1.771, 2.265, 2.953, 3.896, 5.139, 6.675, 8.505",\
                 "1.293, 1.352, 1.549, 1.91, 2.44, 3.129, 4.021, 5.187, 6.681, 8.504",\
                 "1.433, 1.49, 1.691, 2.056, 2.606, 3.345, 4.247, 5.362, 6.77, 8.524",\
                 "1.605, 1.665, 1.862, 2.227, 2.787, 3.551, 4.509, 5.637, 6.992, 8.656");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1769, 0.1871, 0.2215, 0.2842, 0.3775, 0.5045, 0.6681, 0.872, 1.119, 1.413",\
                 "0.1918, 0.2021, 0.2368, 0.2997, 0.3933, 0.5204, 0.6842, 0.8882, 1.136, 1.429",\
                 "0.2321, 0.2422, 0.2764, 0.3385, 0.4319, 0.5591, 0.7232, 0.9273, 1.175, 1.468",\
                 "0.2674, 0.2792, 0.3192, 0.3885, 0.4872, 0.6152, 0.7787, 0.9828, 1.23, 1.524",\
                 "0.2755, 0.2905, 0.3394, 0.422, 0.5363, 0.681, 0.8571, 1.066, 1.313, 1.606",\
                 "0.2433, 0.2618, 0.3219, 0.4234, 0.5602, 0.7279, 0.9263, 1.157, 1.422, 1.722",\
                 "0.162, 0.184, 0.2562, 0.3787, 0.5434, 0.7419, 0.9704, 1.229, 1.52, 1.846",\
                 "0.0285, 0.0543, 0.1385, 0.2826, 0.4761, 0.7099, 0.9754, 1.27, 1.594, 1.95",\
                 "-0.1631, -0.1332, -0.0358, 0.1301, 0.3534, 0.6235, 0.9299, 1.266, 1.632, 2.025",\
                 "-0.4144, -0.3809, -0.2707, -0.0824, 0.1719, 0.478, 0.8263, 1.209, 1.62, 2.061");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6464, 0.6765, 0.7823, 0.9829, 1.294, 1.729, 2.3, 3.018, 3.896, 4.94",\
                 "0.6529, 0.6833, 0.7897, 0.9912, 1.303, 1.739, 2.31, 3.03, 3.906, 4.953",\
                 "0.6988, 0.7291, 0.835, 1.036, 1.348, 1.784, 2.356, 3.076, 3.954, 5",\
                 "0.8198, 0.8493, 0.952, 1.149, 1.456, 1.888, 2.458, 3.174, 4.051, 5.096",\
                 "1.03, 1.058, 1.159, 1.35, 1.65, 2.074, 2.636, 3.347, 4.217, 5.256",\
                 "1.312, 1.343, 1.451, 1.647, 1.943, 2.357, 2.91, 3.611, 4.473, 5.505",\
                 "1.65, 1.683, 1.799, 2.013, 2.33, 2.747, 3.29, 3.982, 4.831, 5.853",\
                 "2.052, 2.087, 2.212, 2.439, 2.78, 3.228, 3.783, 4.466, 5.305, 6.313",\
                 "2.525, 2.563, 2.696, 2.936, 3.294, 3.772, 4.364, 5.069, 5.902, 6.899",\
                 "3.07, 3.113, 3.255, 3.51, 3.883, 4.384, 5.011, 5.758, 6.621, 7.614");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1825, 0.1989, 0.2538, 0.355, 0.5077, 0.717, 0.9905, 1.334, 1.753, 2.252",\
                 "0.1826, 0.1989, 0.2539, 0.3547, 0.5076, 0.7173, 0.991, 1.333, 1.753, 2.251",\
                 "0.1895, 0.2036, 0.2546, 0.3533, 0.5062, 0.7171, 0.9906, 1.334, 1.752, 2.252",\
                 "0.2488, 0.263, 0.3102, 0.3979, 0.5306, 0.7243, 0.9901, 1.333, 1.753, 2.252",\
                 "0.3425, 0.3559, 0.4042, 0.4918, 0.6274, 0.8114, 1.051, 1.363, 1.762, 2.253",\
                 "0.467, 0.4826, 0.5356, 0.6298, 0.7654, 0.9506, 1.19, 1.492, 1.857, 2.308",\
                 "0.6156, 0.6326, 0.6948, 0.7996, 0.948, 1.139, 1.378, 1.678, 2.044, 2.479",\
                 "0.7856, 0.8044, 0.875, 0.9952, 1.161, 1.37, 1.62, 1.919, 2.282, 2.718",\
                 "0.9768, 1, 1.078, 1.212, 1.401, 1.63, 1.901, 2.216, 2.582, 3.012",\
                 "1.186, 1.213, 1.304, 1.455, 1.662, 1.919, 2.213, 2.551, 2.936, 3.371");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.174, 1.231, 1.429, 1.801, 2.366, 3.144, 4.153, 5.416, 6.955, 8.785",\
                 "1.174, 1.231, 1.429, 1.801, 2.367, 3.144, 4.153, 5.416, 6.955, 8.784",\
                 "1.173, 1.231, 1.429, 1.801, 2.366, 3.144, 4.152, 5.417, 6.954, 8.785",\
                 "1.166, 1.224, 1.426, 1.801, 2.366, 3.143, 4.153, 5.416, 6.955, 8.785",\
                 "1.214, 1.266, 1.449, 1.803, 2.365, 3.144, 4.153, 5.417, 6.955, 8.787",\
                 "1.331, 1.384, 1.56, 1.89, 2.406, 3.147, 4.152, 5.417, 6.956, 8.786",\
                 "1.455, 1.516, 1.702, 2.047, 2.547, 3.24, 4.179, 5.418, 6.955, 8.786",\
                 "1.607, 1.661, 1.853, 2.212, 2.74, 3.43, 4.322, 5.48, 6.965, 8.785",\
                 "1.794, 1.85, 2.034, 2.391, 2.934, 3.661, 4.559, 5.671, 7.07, 8.812",\
                 "2.021, 2.076, 2.255, 2.605, 3.144, 3.897, 4.836, 5.958, 7.306, 8.962");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2194, 0.2296, 0.2642, 0.327, 0.421, 0.5486, 0.7131, 0.9178, 1.166, 1.46",\
                 "0.2338, 0.244, 0.2785, 0.3417, 0.4357, 0.5633, 0.7277, 0.9324, 1.18, 1.475",\
                 "0.2719, 0.2819, 0.316, 0.3787, 0.4727, 0.6003, 0.7649, 0.9696, 1.218, 1.512",\
                 "0.3146, 0.3259, 0.3637, 0.431, 0.5278, 0.6553, 0.8195, 1.024, 1.272, 1.566",\
                 "0.3355, 0.3494, 0.3945, 0.4724, 0.5831, 0.7251, 0.8993, 1.107, 1.354, 1.648",\
                 "0.3203, 0.3368, 0.3922, 0.4868, 0.6173, 0.7797, 0.9743, 1.202, 1.465, 1.765",\
                 "0.2594, 0.2794, 0.3455, 0.4592, 0.615, 0.8062, 1.028, 1.281, 1.569, 1.892",\
                 "0.1498, 0.1725, 0.2496, 0.3838, 0.5665, 0.7896, 1.046, 1.334, 1.652, 2.003",\
                 "-0.012, 0.0148, 0.1029, 0.256, 0.4653, 0.7231, 1.018, 1.345, 1.702, 2.089",\
                 "-0.2282, -0.1978, -0.0983, 0.0747, 0.3114, 0.6022, 0.9366, 1.306, 1.707, 2.139");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6735, 0.7047, 0.8125, 1.016, 1.33, 1.769, 2.344, 3.067, 3.948, 4.998",\
                 "0.6801, 0.7109, 0.8194, 1.024, 1.338, 1.777, 2.352, 3.075, 3.957, 5.007",\
                 "0.7119, 0.7432, 0.8525, 1.058, 1.374, 1.814, 2.39, 3.114, 3.996, 5.047",\
                 "0.7853, 0.8159, 0.9237, 1.127, 1.441, 1.88, 2.456, 3.18, 4.062, 5.112",\
                 "0.9269, 0.9579, 1.065, 1.263, 1.571, 2.003, 2.573, 3.292, 4.171, 5.219",\
                 "1.135, 1.167, 1.276, 1.48, 1.787, 2.209, 2.769, 3.478, 4.349, 5.39",\
                 "1.416, 1.448, 1.56, 1.766, 2.081, 2.509, 3.059, 3.755, 4.612, 5.642",\
                 "1.763, 1.799, 1.914, 2.127, 2.446, 2.883, 3.443, 4.133, 4.975, 5.99",\
                 "2.172, 2.21, 2.336, 2.56, 2.888, 3.332, 3.903, 4.605, 5.444, 6.443",\
                 "2.641, 2.682, 2.819, 3.062, 3.407, 3.862, 4.44, 5.156, 6.01, 7.01");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2298, 0.2459, 0.3016, 0.4035, 0.5564, 0.7672, 1.041, 1.385, 1.806, 2.305",\
                 "0.2296, 0.246, 0.3012, 0.4035, 0.5565, 0.7669, 1.041, 1.387, 1.805, 2.306",\
                 "0.2289, 0.2446, 0.2995, 0.4012, 0.5556, 0.7666, 1.042, 1.385, 1.806, 2.305",\
                 "0.2819, 0.2967, 0.3457, 0.4359, 0.5728, 0.772, 1.041, 1.385, 1.806, 2.305",\
                 "0.3762, 0.3908, 0.4398, 0.529, 0.6656, 0.8528, 1.094, 1.411, 1.811, 2.306",\
                 "0.5054, 0.522, 0.5756, 0.6684, 0.8054, 0.9902, 1.231, 1.534, 1.901, 2.355",\
                 "0.663, 0.6812, 0.7412, 0.8446, 0.9904, 1.181, 1.419, 1.719, 2.087, 2.523",\
                 "0.8424, 0.8628, 0.9308, 1.05, 1.21, 1.414, 1.662, 1.962, 2.323, 2.757",\
                 "1.051, 1.073, 1.151, 1.282, 1.46, 1.684, 1.949, 2.258, 2.623, 3.053",\
                 "1.287, 1.312, 1.394, 1.54, 1.74, 1.985, 2.272, 2.603, 2.978, 3.41");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.175, 1.232, 1.43, 1.801, 2.366, 3.144, 4.153, 5.417, 6.954, 8.784",\
                 "1.175, 1.232, 1.43, 1.801, 2.367, 3.144, 4.153, 5.417, 6.955, 8.784",\
                 "1.175, 1.232, 1.43, 1.801, 2.367, 3.144, 4.153, 5.415, 6.953, 8.785",\
                 "1.179, 1.235, 1.431, 1.801, 2.367, 3.144, 4.153, 5.417, 6.954, 8.785",\
                 "1.239, 1.291, 1.473, 1.821, 2.37, 3.144, 4.153, 5.417, 6.954, 8.786",\
                 "1.344, 1.396, 1.572, 1.903, 2.423, 3.163, 4.154, 5.417, 6.955, 8.786",\
                 "1.46, 1.509, 1.686, 2.024, 2.535, 3.246, 4.198, 5.425, 6.956, 8.787",\
                 "1.614, 1.66, 1.831, 2.161, 2.677, 3.387, 4.31, 5.496, 6.979, 8.788",\
                 "1.815, 1.86, 2.021, 2.332, 2.835, 3.549, 4.478, 5.636, 7.076, 8.832",\
                 "2.057, 2.101, 2.254, 2.553, 3.035, 3.733, 4.666, 5.835, 7.248, 8.96");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2067, 0.2162, 0.2489, 0.309, 0.3998, 0.5244, 0.6863, 0.8889, 1.135, 1.428",\
                 "0.2211, 0.2307, 0.2635, 0.3234, 0.4143, 0.539, 0.701, 0.9036, 1.15, 1.443",\
                 "0.2582, 0.2677, 0.3003, 0.3605, 0.4512, 0.576, 0.7381, 0.9408, 1.187, 1.48",\
                 "0.2943, 0.3054, 0.3429, 0.4091, 0.5047, 0.6307, 0.7927, 0.9953, 1.242, 1.535",\
                 "0.3041, 0.3185, 0.3646, 0.4439, 0.5547, 0.6966, 0.8705, 1.077, 1.324, 1.617",\
                 "0.2756, 0.2929, 0.3503, 0.4478, 0.5815, 0.7459, 0.9413, 1.17, 1.433, 1.733",\
                 "0.2003, 0.2214, 0.2904, 0.4091, 0.5689, 0.7639, 0.9897, 1.245, 1.533, 1.857",\
                 "0.0762, 0.1007, 0.1816, 0.321, 0.5096, 0.7388, 1, 1.291, 1.612, 1.965",\
                 "-0.0991, -0.0715, 0.0215, 0.1813, 0.3983, 0.6627, 0.9638, 1.296, 1.658, 2.047",\
                 "-0.3301, -0.2981, -0.1933, -0.0129, 0.2332, 0.5324, 0.8737, 1.25, 1.656, 2.092");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6737, 0.7047, 0.8127, 1.017, 1.331, 1.769, 2.344, 3.067, 3.948, 4.998",\
                 "0.6801, 0.7109, 0.8195, 1.024, 1.338, 1.777, 2.352, 3.076, 3.957, 5.007",\
                 "0.712, 0.7432, 0.8526, 1.058, 1.374, 1.814, 2.39, 3.114, 3.996, 5.047",\
                 "0.7852, 0.8159, 0.9234, 1.127, 1.442, 1.881, 2.456, 3.18, 4.062, 5.112",\
                 "0.9269, 0.9579, 1.065, 1.263, 1.571, 2.003, 2.573, 3.293, 4.171, 5.219",\
                 "1.134, 1.167, 1.276, 1.48, 1.787, 2.209, 2.769, 3.478, 4.349, 5.389",\
                 "1.416, 1.448, 1.559, 1.766, 2.081, 2.509, 3.059, 3.755, 4.612, 5.641",\
                 "1.764, 1.799, 1.914, 2.127, 2.446, 2.883, 3.442, 4.132, 4.976, 5.99",\
                 "2.173, 2.209, 2.335, 2.56, 2.888, 3.332, 3.903, 4.605, 5.445, 6.444",\
                 "2.641, 2.682, 2.82, 3.062, 3.407, 3.862, 4.441, 5.156, 6.01, 7.009");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2023, 0.2185, 0.2717, 0.3704, 0.521, 0.73, 1.003, 1.347, 1.767, 2.267",\
                 "0.2023, 0.2178, 0.2717, 0.3705, 0.5208, 0.7295, 1.003, 1.347, 1.767, 2.265",\
                 "0.2054, 0.2202, 0.2715, 0.3699, 0.5203, 0.7299, 1.004, 1.347, 1.767, 2.265",\
                 "0.2606, 0.2754, 0.3226, 0.4104, 0.5439, 0.7387, 1.005, 1.347, 1.767, 2.265",\
                 "0.3574, 0.3718, 0.4198, 0.5072, 0.6402, 0.8248, 1.064, 1.377, 1.775, 2.267",\
                 "0.4888, 0.5044, 0.5574, 0.6488, 0.784, 0.9664, 1.204, 1.505, 1.87, 2.322",\
                 "0.6462, 0.6652, 0.7248, 0.8272, 0.9726, 1.159, 1.396, 1.694, 2.058, 2.492",\
                 "0.8296, 0.8504, 0.9176, 1.033, 1.194, 1.397, 1.64, 1.939, 2.298, 2.731",\
                 "1.041, 1.065, 1.138, 1.266, 1.446, 1.667, 1.93, 2.24, 2.602, 3.028",\
                 "1.276, 1.302, 1.388, 1.529, 1.727, 1.972, 2.254, 2.586, 2.959, 3.39");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.078, 1.131, 1.318, 1.671, 2.219, 2.981, 3.983, 5.244, 6.779, 8.606",\
                 "1.078, 1.131, 1.318, 1.672, 2.218, 2.982, 3.983, 5.245, 6.779, 8.605",\
                 "1.078, 1.131, 1.318, 1.671, 2.219, 2.982, 3.983, 5.242, 6.78, 8.607",\
                 "1.082, 1.135, 1.319, 1.672, 2.218, 2.982, 3.984, 5.243, 6.779, 8.608",\
                 "1.142, 1.19, 1.361, 1.692, 2.222, 2.982, 3.983, 5.244, 6.779, 8.61",\
                 "1.232, 1.282, 1.454, 1.773, 2.276, 3.001, 3.985, 5.243, 6.78, 8.608",\
                 "1.336, 1.384, 1.555, 1.883, 2.386, 3.085, 4.028, 5.25, 6.779, 8.608",\
                 "1.477, 1.522, 1.689, 2.01, 2.518, 3.223, 4.14, 5.323, 6.804, 8.612",\
                 "1.66, 1.705, 1.863, 2.172, 2.667, 3.376, 4.307, 5.463, 6.899, 8.654",\
                 "1.876, 1.92, 2.079, 2.38, 2.859, 3.552, 4.487, 5.659, 7.071, 8.78");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1648, 0.1722, 0.1973, 0.2432, 0.3122, 0.4067, 0.5291, 0.682, 0.8677, 1.088",\
                 "0.1796, 0.1869, 0.212, 0.258, 0.3271, 0.4215, 0.5439, 0.697, 0.8828, 1.103",\
                 "0.2263, 0.2337, 0.2589, 0.3046, 0.3734, 0.4679, 0.5905, 0.7435, 0.9292, 1.15",\
                 "0.2717, 0.2818, 0.3154, 0.3731, 0.4527, 0.5525, 0.6757, 0.8287, 1.015, 1.235",\
                 "0.2849, 0.2981, 0.3418, 0.4166, 0.5187, 0.6442, 0.7914, 0.9583, 1.147, 1.369",\
                 "0.2573, 0.2738, 0.3288, 0.4228, 0.5506, 0.7058, 0.8849, 1.085, 1.307, 1.549",\
                 "0.1831, 0.2034, 0.2697, 0.384, 0.5394, 0.7273, 0.9423, 1.18, 1.44, 1.721",\
                 "0.0609, 0.0841, 0.1618, 0.2958, 0.4797, 0.702, 0.9551, 1.234, 1.536, 1.86",\
                 "-0.114, -0.087, 0.0019, 0.1565, 0.3673, 0.6248, 0.918, 1.24, 1.587, 1.957",\
                 "-0.3437, -0.3137, -0.2129, -0.0385, 0.2006, 0.4917, 0.8259, 1.193, 1.587, 2.006");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7355, 0.7658, 0.8723, 1.074, 1.387, 1.824, 2.398, 3.12, 4.001, 5.05",\
                 "0.742, 0.7729, 0.8798, 1.083, 1.396, 1.834, 2.408, 3.131, 4.012, 5.061",\
                 "0.7741, 0.8047, 0.9125, 1.116, 1.431, 1.87, 2.446, 3.17, 4.051, 5.101",\
                 "0.8474, 0.8772, 0.9834, 1.185, 1.498, 1.936, 2.511, 3.235, 4.117, 5.167",\
                 "0.991, 1.021, 1.125, 1.322, 1.628, 2.06, 2.629, 3.348, 4.227, 5.274",\
                 "1.202, 1.233, 1.341, 1.542, 1.847, 2.269, 2.828, 3.537, 4.407, 5.447",\
                 "1.486, 1.517, 1.628, 1.833, 2.146, 2.573, 3.122, 3.817, 4.675, 5.702",\
                 "1.839, 1.873, 1.986, 2.196, 2.516, 2.952, 3.511, 4.2, 5.043, 6.058",\
                 "2.258, 2.293, 2.414, 2.635, 2.962, 3.406, 3.977, 4.679, 5.519, 6.519",\
                 "2.737, 2.776, 2.909, 3.143, 3.485, 3.939, 4.521, 5.238, 6.093, 7.092");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1722, 0.1836, 0.2235, 0.2977, 0.4111, 0.5695, 0.7759, 1.034, 1.35, 1.727",\
                 "0.1722, 0.1834, 0.2232, 0.2981, 0.4117, 0.5695, 0.7752, 1.034, 1.351, 1.725",\
                 "0.1847, 0.1945, 0.2293, 0.2987, 0.4107, 0.5686, 0.7751, 1.035, 1.35, 1.727",\
                 "0.2763, 0.2858, 0.3186, 0.3782, 0.4666, 0.5959, 0.7829, 1.035, 1.349, 1.727",\
                 "0.3971, 0.4077, 0.4454, 0.5126, 0.6114, 0.7412, 0.9028, 1.108, 1.382, 1.734",\
                 "0.5454, 0.5578, 0.6004, 0.6782, 0.788, 0.93, 1.108, 1.319, 1.565, 1.862",\
                 "0.7162, 0.7326, 0.782, 0.8696, 0.995, 1.155, 1.347, 1.574, 1.838, 2.14",\
                 "0.9144, 0.9308, 0.9894, 1.089, 1.231, 1.409, 1.622, 1.866, 2.149, 2.471",\
                 "1.142, 1.16, 1.221, 1.333, 1.492, 1.692, 1.93, 2.199, 2.5, 2.843",\
                 "1.387, 1.411, 1.483, 1.608, 1.782, 2.004, 2.268, 2.563, 2.894, 3.254");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.147, 1.201, 1.389, 1.745, 2.293, 3.057, 4.059, 5.32, 6.853, 8.681",\
                 "1.147, 1.201, 1.389, 1.745, 2.292, 3.057, 4.058, 5.317, 6.855, 8.682",\
                 "1.147, 1.201, 1.389, 1.745, 2.293, 3.056, 4.058, 5.318, 6.853, 8.684",\
                 "1.149, 1.203, 1.39, 1.745, 2.293, 3.057, 4.058, 5.318, 6.853, 8.684",\
                 "1.201, 1.25, 1.424, 1.76, 2.294, 3.057, 4.059, 5.318, 6.855, 8.683",\
                 "1.291, 1.342, 1.513, 1.835, 2.342, 3.072, 4.06, 5.318, 6.854, 8.684",\
                 "1.388, 1.438, 1.616, 1.945, 2.448, 3.15, 4.098, 5.325, 6.856, 8.684",\
                 "1.521, 1.567, 1.737, 2.063, 2.576, 3.285, 4.204, 5.391, 6.875, 8.686",\
                 "1.696, 1.74, 1.904, 2.217, 2.72, 3.435, 4.368, 5.525, 6.966, 8.725",\
                 "1.905, 1.952, 2.113, 2.417, 2.903, 3.606, 4.545, 5.716, 7.131, 8.844");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1688, 0.1781, 0.2098, 0.2684, 0.3575, 0.4805, 0.6411, 0.8427, 1.088, 1.38",\
                 "0.1831, 0.1925, 0.2242, 0.2829, 0.372, 0.4951, 0.6558, 0.8573, 1.103, 1.395",\
                 "0.2186, 0.2283, 0.2607, 0.3196, 0.4089, 0.5321, 0.6929, 0.8945, 1.14, 1.432",\
                 "0.2425, 0.2545, 0.2943, 0.3627, 0.46, 0.5865, 0.7475, 0.949, 1.194, 1.487",\
                 "0.2344, 0.2498, 0.301, 0.3861, 0.5017, 0.6468, 0.8227, 1.031, 1.277, 1.569",\
                 "0.183, 0.2028, 0.2674, 0.3746, 0.5167, 0.6879, 0.8876, 1.118, 1.384, 1.685",\
                 "0.0856, 0.1095, 0.1874, 0.318, 0.4902, 0.6949, 0.9277, 1.188, 1.479, 1.805",\
                 "-0.0611, -0.0328, 0.0592, 0.2123, 0.4153, 0.6567, 0.9281, 1.227, 1.552, 1.909",\
                 "-0.2591, -0.2267, -0.1215, 0.0552, 0.2885, 0.567, 0.8807, 1.222, 1.591, 1.986",\
                 "-0.5095, -0.474, -0.3562, -0.1568, 0.1078, 0.4229, 0.7785, 1.166, 1.581, 2.023");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6599, 0.6912, 0.7992, 1.002, 1.315, 1.753, 2.325, 3.045, 3.922, 4.968",\
                 "0.6661, 0.6974, 0.8059, 1.01, 1.323, 1.76, 2.333, 3.053, 3.931, 4.977",\
                 "0.6984, 0.7296, 0.8391, 1.044, 1.359, 1.798, 2.371, 3.092, 3.97, 5.016",\
                 "0.7713, 0.8021, 0.9099, 1.113, 1.426, 1.864, 2.437, 3.157, 4.036, 5.082",\
                 "0.9113, 0.943, 1.051, 1.249, 1.556, 1.986, 2.554, 3.271, 4.146, 5.189",\
                 "1.118, 1.15, 1.26, 1.465, 1.771, 2.192, 2.75, 3.456, 4.323, 5.36",\
                 "1.398, 1.431, 1.543, 1.75, 2.064, 2.491, 3.04, 3.732, 4.586, 5.611",\
                 "1.744, 1.779, 1.896, 2.109, 2.428, 2.864, 3.422, 4.109, 4.949, 5.96",\
                 "2.149, 2.186, 2.314, 2.541, 2.87, 3.312, 3.881, 4.581, 5.418, 6.413",\
                 "2.613, 2.655, 2.793, 3.038, 3.386, 3.84, 4.418, 5.13, 5.982, 6.978");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1587, 0.1738, 0.2252, 0.322, 0.4712, 0.6783, 0.9505, 1.294, 1.713, 2.21",\
                 "0.1585, 0.1737, 0.2251, 0.3222, 0.4706, 0.6789, 0.9514, 1.295, 1.713, 2.211",\
                 "0.1699, 0.1831, 0.2297, 0.323, 0.4702, 0.6787, 0.9508, 1.294, 1.712, 2.21",\
                 "0.2329, 0.2452, 0.2896, 0.3744, 0.5043, 0.6928, 0.9544, 1.294, 1.713, 2.21",\
                 "0.3343, 0.3482, 0.394, 0.4778, 0.606, 0.7864, 1.023, 1.33, 1.725, 2.212",\
                 "0.4676, 0.4826, 0.5336, 0.6248, 0.7558, 0.9338, 1.168, 1.464, 1.827, 2.275",\
                 "0.6286, 0.647, 0.7026, 0.8036, 0.947, 1.13, 1.365, 1.658, 2.018, 2.449",\
                 "0.819, 0.8366, 0.8994, 1.012, 1.171, 1.371, 1.614, 1.906, 2.263, 2.69",\
                 "1.029, 1.051, 1.126, 1.247, 1.423, 1.642, 1.904, 2.211, 2.569, 2.993",\
                 "1.259, 1.285, 1.369, 1.513, 1.706, 1.947, 2.23, 2.558, 2.93, 3.356");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.8245, 0.8794, 1.067, 1.42, 1.966, 2.73, 3.731, 4.991, 6.527, 8.354",\
                 "0.8248, 0.8794, 1.066, 1.42, 1.966, 2.73, 3.731, 4.99, 6.528, 8.353",\
                 "0.8246, 0.8776, 1.067, 1.42, 1.967, 2.729, 3.732, 4.99, 6.524, 8.356",\
                 "0.8285, 0.8816, 1.067, 1.419, 1.966, 2.729, 3.732, 4.991, 6.527, 8.354",\
                 "0.888, 0.9366, 1.108, 1.439, 1.97, 2.729, 3.731, 4.993, 6.528, 8.356",\
                 "0.961, 1.013, 1.193, 1.519, 2.024, 2.748, 3.733, 4.991, 6.527, 8.356",\
                 "1.05, 1.099, 1.28, 1.617, 2.131, 2.832, 3.775, 4.999, 6.527, 8.357",\
                 "1.176, 1.224, 1.398, 1.732, 2.25, 2.966, 3.888, 5.07, 6.55, 8.359",\
                 "1.332, 1.385, 1.559, 1.883, 2.389, 3.108, 4.051, 5.211, 6.646, 8.401",\
                 "1.514, 1.568, 1.75, 2.075, 2.572, 3.279, 4.223, 5.402, 6.817, 8.526");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1381, 0.1452, 0.1696, 0.2141, 0.2816, 0.3747, 0.496, 0.648, 0.8332, 1.053",\
                 "0.1528, 0.1601, 0.1841, 0.2289, 0.2965, 0.3897, 0.5109, 0.6628, 0.848, 1.068",\
                 "0.1953, 0.2033, 0.2295, 0.2751, 0.3428, 0.436, 0.5573, 0.7095, 0.8947, 1.115",\
                 "0.2241, 0.2353, 0.2718, 0.3334, 0.4166, 0.5192, 0.6425, 0.7947, 0.9798, 1.2",\
                 "0.2173, 0.2322, 0.2809, 0.3624, 0.4708, 0.6015, 0.7521, 0.922, 1.113, 1.333",\
                 "0.1674, 0.1865, 0.2485, 0.3518, 0.4887, 0.6517, 0.8365, 1.042, 1.266, 1.511",\
                 "0.0719, 0.095, 0.1698, 0.2956, 0.4626, 0.6607, 0.8836, 1.128, 1.393, 1.677",\
                 "-0.0721, -0.0452, 0.0424, 0.1904, 0.3873, 0.6221, 0.8854, 1.173, 1.481, 1.809",\
                 "-0.2678, -0.2375, -0.1368, 0.033, 0.26, 0.5315, 0.8366, 1.168, 1.523, 1.899",\
                 "-0.5157, -0.482, -0.3707, -0.179, 0.0781, 0.3849, 0.7323, 1.111, 1.514, 1.94");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7227, 0.7529, 0.859, 1.06, 1.372, 1.807, 2.378, 3.098, 3.975, 5.021",\
                 "0.7292, 0.7597, 0.8665, 1.069, 1.381, 1.817, 2.389, 3.108, 3.986, 5.03",\
                 "0.7611, 0.792, 0.8996, 1.103, 1.416, 1.854, 2.427, 3.148, 4.026, 5.072",\
                 "0.8339, 0.8643, 0.9703, 1.171, 1.483, 1.919, 2.492, 3.212, 4.091, 5.137",\
                 "0.977, 1.007, 1.112, 1.308, 1.613, 2.043, 2.61, 3.326, 4.2, 5.246",\
                 "1.187, 1.218, 1.326, 1.528, 1.832, 2.252, 2.808, 3.515, 4.381, 5.417",\
                 "1.47, 1.501, 1.612, 1.817, 2.13, 2.555, 3.101, 3.795, 4.649, 5.674",\
                 "1.821, 1.855, 1.969, 2.18, 2.498, 2.933, 3.491, 4.177, 5.017, 6.027",\
                 "2.236, 2.273, 2.394, 2.616, 2.943, 3.386, 3.955, 4.656, 5.492, 6.488",\
                 "2.712, 2.751, 2.886, 3.123, 3.465, 3.918, 4.498, 5.212, 6.065, 7.061");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1385, 0.1497, 0.1883, 0.2614, 0.3743, 0.5307, 0.7361, 0.9951, 1.311, 1.685",\
                 "0.1383, 0.1495, 0.1882, 0.2616, 0.3738, 0.5311, 0.7369, 0.9948, 1.31, 1.686",\
                 "0.1646, 0.173, 0.2033, 0.2668, 0.3744, 0.5307, 0.7364, 0.995, 1.311, 1.685",\
                 "0.2588, 0.2676, 0.2991, 0.3574, 0.4449, 0.5683, 0.749, 0.9957, 1.309, 1.685",\
                 "0.3818, 0.3918, 0.4279, 0.4934, 0.5896, 0.7188, 0.8798, 1.081, 1.35, 1.696",\
                 "0.5324, 0.544, 0.5844, 0.6594, 0.7674, 0.9094, 1.086, 1.295, 1.541, 1.833",\
                 "0.7076, 0.721, 0.7682, 0.8522, 0.9762, 1.133, 1.324, 1.551, 1.815, 2.116",\
                 "0.9116, 0.9268, 0.9778, 1.074, 1.212, 1.389, 1.6, 1.846, 2.126, 2.448",\
                 "1.139, 1.156, 1.217, 1.322, 1.476, 1.672, 1.907, 2.177, 2.479, 2.819",\
                 "1.385, 1.404, 1.475, 1.597, 1.768, 1.986, 2.245, 2.542, 2.871, 3.234");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.9, 0.9527, 1.141, 1.496, 2.042, 2.804, 3.806, 5.065, 6.601, 8.434",\
                 "0.899, 0.954, 1.141, 1.494, 2.041, 2.805, 3.806, 5.066, 6.603, 8.427",\
                 "0.9002, 0.9533, 1.142, 1.495, 2.041, 2.805, 3.808, 5.068, 6.601, 8.429",\
                 "0.9022, 0.9552, 1.143, 1.495, 2.042, 2.806, 3.806, 5.066, 6.602, 8.432",\
                 "0.9534, 1.002, 1.176, 1.509, 2.044, 2.806, 3.807, 5.066, 6.602, 8.435",\
                 "1.031, 1.082, 1.26, 1.585, 2.091, 2.82, 3.808, 5.067, 6.602, 8.432",\
                 "1.112, 1.163, 1.348, 1.684, 2.196, 2.898, 3.845, 5.072, 6.602, 8.432",\
                 "1.229, 1.279, 1.455, 1.791, 2.312, 3.03, 3.952, 5.138, 6.622, 8.432",\
                 "1.386, 1.435, 1.606, 1.932, 2.447, 3.171, 4.112, 5.273, 6.714, 8.473",\
                 "1.566, 1.618, 1.796, 2.12, 2.618, 3.332, 4.281, 5.461, 6.88, 8.59");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1381, 0.1451, 0.1696, 0.2141, 0.2816, 0.3747, 0.4961, 0.648, 0.8332, 1.053",\
                 "0.1528, 0.1601, 0.1841, 0.2289, 0.2965, 0.3897, 0.5109, 0.6628, 0.848, 1.068",\
                 "0.1953, 0.2033, 0.2295, 0.2751, 0.3428, 0.436, 0.5573, 0.7095, 0.8947, 1.115",\
                 "0.2241, 0.2353, 0.2718, 0.3334, 0.4166, 0.5191, 0.6425, 0.7948, 0.9798, 1.2",\
                 "0.2173, 0.2322, 0.2809, 0.3624, 0.4708, 0.6015, 0.7522, 0.9221, 1.113, 1.333",\
                 "0.1674, 0.1865, 0.2485, 0.3518, 0.4887, 0.6516, 0.8365, 1.042, 1.266, 1.511",\
                 "0.0719, 0.095, 0.1698, 0.2956, 0.4626, 0.6607, 0.8836, 1.128, 1.393, 1.677",\
                 "-0.0721, -0.0452, 0.0424, 0.1904, 0.3873, 0.6221, 0.8854, 1.172, 1.481, 1.809",\
                 "-0.2678, -0.2375, -0.1368, 0.033, 0.26, 0.5315, 0.8366, 1.168, 1.523, 1.899",\
                 "-0.5157, -0.482, -0.3707, -0.179, 0.0781, 0.3849, 0.7323, 1.111, 1.514, 1.94");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7225, 0.7528, 0.8593, 1.06, 1.372, 1.808, 2.378, 3.098, 3.975, 5.021",\
                 "0.7292, 0.7597, 0.8665, 1.069, 1.381, 1.817, 2.389, 3.108, 3.986, 5.03",\
                 "0.7611, 0.7921, 0.8996, 1.103, 1.416, 1.854, 2.427, 3.148, 4.026, 5.072",\
                 "0.8339, 0.8643, 0.9703, 1.171, 1.483, 1.919, 2.492, 3.212, 4.091, 5.137",\
                 "0.977, 1.007, 1.112, 1.308, 1.613, 2.043, 2.61, 3.326, 4.201, 5.246",\
                 "1.186, 1.218, 1.326, 1.528, 1.832, 2.252, 2.808, 3.515, 4.381, 5.417",\
                 "1.47, 1.501, 1.612, 1.817, 2.13, 2.554, 3.101, 3.795, 4.649, 5.674",\
                 "1.821, 1.855, 1.969, 2.179, 2.498, 2.933, 3.491, 4.177, 5.017, 6.027",\
                 "2.236, 2.273, 2.396, 2.616, 2.942, 3.386, 3.955, 4.656, 5.492, 6.487",\
                 "2.712, 2.751, 2.884, 3.123, 3.465, 3.919, 4.498, 5.212, 6.064, 7.06");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1385, 0.1494, 0.1883, 0.2614, 0.3743, 0.5307, 0.7363, 0.995, 1.311, 1.685",\
                 "0.1383, 0.1495, 0.1882, 0.2616, 0.3738, 0.5311, 0.7368, 0.9948, 1.31, 1.686",\
                 "0.1646, 0.173, 0.2033, 0.2668, 0.3744, 0.5307, 0.7364, 0.995, 1.311, 1.685",\
                 "0.2588, 0.2676, 0.2991, 0.3575, 0.4446, 0.5681, 0.7482, 0.9963, 1.309, 1.685",\
                 "0.3818, 0.3918, 0.4279, 0.4932, 0.5896, 0.7188, 0.88, 1.081, 1.35, 1.696",\
                 "0.5324, 0.544, 0.5844, 0.6594, 0.7674, 0.9096, 1.086, 1.295, 1.541, 1.833",\
                 "0.7076, 0.721, 0.7682, 0.8522, 0.9762, 1.133, 1.324, 1.551, 1.815, 2.116",\
                 "0.9116, 0.9268, 0.9778, 1.074, 1.212, 1.389, 1.6, 1.846, 2.126, 2.448",\
                 "1.139, 1.156, 1.217, 1.322, 1.476, 1.672, 1.907, 2.177, 2.479, 2.819",\
                 "1.385, 1.404, 1.475, 1.597, 1.768, 1.986, 2.245, 2.542, 2.871, 3.234");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.8995, 0.9527, 1.142, 1.496, 2.042, 2.806, 3.806, 5.066, 6.601, 8.431",\
                 "0.899, 0.954, 1.141, 1.494, 2.041, 2.805, 3.806, 5.066, 6.603, 8.427",\
                 "0.9002, 0.9537, 1.142, 1.495, 2.042, 2.806, 3.806, 5.068, 6.603, 8.429",\
                 "0.9022, 0.9552, 1.143, 1.495, 2.042, 2.805, 3.806, 5.067, 6.602, 8.43",\
                 "0.9534, 1.003, 1.176, 1.511, 2.044, 2.806, 3.807, 5.066, 6.605, 8.435",\
                 "1.031, 1.081, 1.261, 1.585, 2.092, 2.819, 3.808, 5.066, 6.603, 8.433",\
                 "1.111, 1.163, 1.348, 1.684, 2.196, 2.898, 3.845, 5.072, 6.602, 8.434",\
                 "1.229, 1.279, 1.455, 1.79, 2.312, 3.03, 3.952, 5.137, 6.622, 8.433",\
                 "1.386, 1.435, 1.608, 1.932, 2.446, 3.171, 4.112, 5.274, 6.712, 8.473",\
                 "1.565, 1.617, 1.795, 2.12, 2.618, 3.331, 4.281, 5.462, 6.88, 8.592");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1305, 0.1371, 0.1596, 0.2011, 0.2637, 0.3502, 0.4622, 0.6031, 0.7741, 0.9778",\
                 "0.1454, 0.1519, 0.1745, 0.216, 0.2786, 0.3649, 0.4774, 0.618, 0.7892, 0.9929",\
                 "0.1903, 0.1979, 0.2228, 0.2655, 0.3282, 0.4145, 0.5268, 0.6677, 0.839, 1.043",\
                 "0.2211, 0.2321, 0.2675, 0.3275, 0.4081, 0.5061, 0.6215, 0.7624, 0.9335, 1.137",\
                 "0.2167, 0.2308, 0.2785, 0.3581, 0.4644, 0.5923, 0.7389, 0.902, 1.081, 1.285",\
                 "0.1697, 0.1879, 0.248, 0.349, 0.4834, 0.6439, 0.8255, 1.026, 1.245, 1.48",\
                 "0.0771, 0.0991, 0.1713, 0.2942, 0.4583, 0.6534, 0.8736, 1.114, 1.374, 1.653",\
                 "-0.064, -0.0382, 0.0465, 0.1905, 0.3835, 0.6152, 0.8755, 1.159, 1.463, 1.787",\
                 "-0.257, -0.2278, -0.1306, 0.035, 0.2573, 0.5247, 0.8267, 1.155, 1.506, 1.877",\
                 "-0.5021, -0.4698, -0.3618, -0.1759, 0.0764, 0.3788, 0.7222, 1.097, 1.496, 1.918");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7771, 0.8076, 0.9131, 1.114, 1.424, 1.859, 2.43, 3.149, 4.027, 5.071",\
                 "0.7846, 0.8149, 0.9213, 1.122, 1.434, 1.87, 2.441, 3.161, 4.038, 5.082",\
                 "0.8163, 0.8468, 0.9534, 1.156, 1.469, 1.906, 2.479, 3.199, 4.078, 5.124",\
                 "0.8883, 0.9186, 1.024, 1.224, 1.536, 1.971, 2.544, 3.264, 4.143, 5.189",\
                 "1.032, 1.062, 1.165, 1.361, 1.666, 2.095, 2.662, 3.378, 4.252, 5.296",\
                 "1.244, 1.275, 1.381, 1.583, 1.885, 2.304, 2.861, 3.567, 4.433, 5.47",\
                 "1.528, 1.56, 1.669, 1.873, 2.184, 2.607, 3.155, 3.848, 4.703, 5.726",\
                 "1.884, 1.917, 2.029, 2.238, 2.555, 2.989, 3.546, 4.231, 5.073, 6.083",\
                 "2.304, 2.339, 2.459, 2.677, 3.001, 3.444, 4.012, 4.713, 5.55, 6.545",\
                 "2.787, 2.825, 2.954, 3.188, 3.527, 3.979, 4.557, 5.272, 6.125, 7.121");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.148, 0.1579, 0.1928, 0.2594, 0.362, 0.5054, 0.694, 0.9319, 1.22, 1.565",\
                 "0.1478, 0.1577, 0.1926, 0.259, 0.3622, 0.5058, 0.6939, 0.9312, 1.221, 1.564",\
                 "0.1792, 0.1862, 0.2116, 0.2668, 0.3636, 0.5056, 0.6944, 0.9315, 1.221, 1.564",\
                 "0.2844, 0.2922, 0.3198, 0.3716, 0.4482, 0.5542, 0.7121, 0.9343, 1.22, 1.564",\
                 "0.4168, 0.426, 0.457, 0.5172, 0.6054, 0.723, 0.8678, 1.042, 1.275, 1.583",\
                 "0.577, 0.5864, 0.6222, 0.6908, 0.7916, 0.9234, 1.087, 1.279, 1.499, 1.754",\
                 "0.7634, 0.7746, 0.8152, 0.893, 1.007, 1.156, 1.337, 1.549, 1.793, 2.068",\
                 "0.9778, 0.9898, 1.036, 1.123, 1.25, 1.417, 1.619, 1.854, 2.12, 2.419",\
                 "1.218, 1.232, 1.283, 1.378, 1.523, 1.709, 1.934, 2.192, 2.482, 2.806",\
                 "1.476, 1.492, 1.554, 1.665, 1.823, 2.027, 2.278, 2.562, 2.882, 3.23");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.9719, 1.025, 1.214, 1.569, 2.114, 2.877, 3.878, 5.139, 6.677, 8.502",\
                 "0.972, 1.026, 1.214, 1.569, 2.113, 2.877, 3.879, 5.139, 6.676, 8.501",\
                 "0.9717, 1.026, 1.213, 1.568, 2.114, 2.878, 3.878, 5.137, 6.673, 8.505",\
                 "0.9738, 1.026, 1.214, 1.568, 2.114, 2.878, 3.879, 5.139, 6.674, 8.505",\
                 "1.017, 1.067, 1.241, 1.578, 2.115, 2.878, 3.879, 5.138, 6.674, 8.504",\
                 "1.097, 1.148, 1.325, 1.649, 2.157, 2.89, 3.879, 5.139, 6.675, 8.508",\
                 "1.177, 1.23, 1.411, 1.75, 2.259, 2.964, 3.914, 5.144, 6.674, 8.505",\
                 "1.289, 1.339, 1.517, 1.855, 2.378, 3.095, 4.017, 5.204, 6.692, 8.506",\
                 "1.441, 1.491, 1.663, 1.99, 2.508, 3.235, 4.175, 5.337, 6.781, 8.542",\
                 "1.622, 1.676, 1.85, 2.173, 2.675, 3.395, 4.345, 5.525, 6.941, 8.658");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2194, 0.2296, 0.2642, 0.327, 0.421, 0.5486, 0.7131, 0.9178, 1.166, 1.46",\
                 "0.2338, 0.244, 0.2785, 0.3417, 0.4357, 0.5633, 0.7277, 0.9324, 1.18, 1.475",\
                 "0.2719, 0.2819, 0.316, 0.3787, 0.4727, 0.6003, 0.7649, 0.9696, 1.218, 1.512",\
                 "0.3146, 0.3259, 0.3637, 0.431, 0.5278, 0.6553, 0.8195, 1.024, 1.272, 1.566",\
                 "0.3355, 0.3494, 0.3945, 0.4724, 0.5831, 0.7251, 0.8993, 1.107, 1.354, 1.648",\
                 "0.3203, 0.3368, 0.3922, 0.4868, 0.6173, 0.7797, 0.9743, 1.202, 1.465, 1.765",\
                 "0.2594, 0.2794, 0.3455, 0.4592, 0.615, 0.8062, 1.028, 1.281, 1.569, 1.892",\
                 "0.1498, 0.1725, 0.2496, 0.3838, 0.5665, 0.7896, 1.046, 1.334, 1.652, 2.003",\
                 "-0.012, 0.0148, 0.1029, 0.256, 0.4653, 0.7231, 1.018, 1.345, 1.702, 2.089",\
                 "-0.2282, -0.1978, -0.0983, 0.0747, 0.3114, 0.6022, 0.9366, 1.306, 1.707, 2.139");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7771, 0.8076, 0.9131, 1.114, 1.424, 1.859, 2.43, 3.149, 4.027, 5.071",\
                 "0.7846, 0.8149, 0.9213, 1.122, 1.434, 1.87, 2.441, 3.161, 4.038, 5.082",\
                 "0.8163, 0.8468, 0.9534, 1.156, 1.469, 1.906, 2.479, 3.199, 4.078, 5.124",\
                 "0.8883, 0.9186, 1.024, 1.224, 1.536, 1.971, 2.544, 3.264, 4.143, 5.189",\
                 "1.032, 1.062, 1.165, 1.361, 1.666, 2.095, 2.662, 3.378, 4.252, 5.296",\
                 "1.244, 1.275, 1.381, 1.583, 1.885, 2.304, 2.861, 3.567, 4.433, 5.47",\
                 "1.528, 1.56, 1.669, 1.873, 2.184, 2.607, 3.155, 3.848, 4.703, 5.726",\
                 "1.884, 1.917, 2.029, 2.238, 2.555, 2.989, 3.546, 4.231, 5.073, 6.083",\
                 "2.304, 2.339, 2.459, 2.677, 3.001, 3.444, 4.012, 4.713, 5.55, 6.545",\
                 "2.787, 2.825, 2.954, 3.188, 3.527, 3.979, 4.557, 5.272, 6.125, 7.121");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2298, 0.2459, 0.3016, 0.4035, 0.5564, 0.7672, 1.041, 1.385, 1.806, 2.305",\
                 "0.2296, 0.246, 0.3012, 0.4035, 0.5565, 0.7669, 1.041, 1.387, 1.805, 2.306",\
                 "0.2289, 0.2446, 0.2995, 0.4012, 0.5556, 0.7666, 1.042, 1.385, 1.806, 2.305",\
                 "0.2819, 0.2967, 0.3457, 0.4359, 0.5728, 0.772, 1.041, 1.385, 1.806, 2.305",\
                 "0.3762, 0.3908, 0.4398, 0.529, 0.6656, 0.8528, 1.094, 1.411, 1.811, 2.306",\
                 "0.5054, 0.522, 0.5756, 0.6684, 0.8054, 0.9902, 1.231, 1.534, 1.901, 2.355",\
                 "0.663, 0.6812, 0.7412, 0.8446, 0.9904, 1.181, 1.419, 1.719, 2.087, 2.523",\
                 "0.8424, 0.8628, 0.9308, 1.05, 1.21, 1.414, 1.662, 1.962, 2.323, 2.757",\
                 "1.051, 1.073, 1.151, 1.282, 1.46, 1.684, 1.949, 2.258, 2.623, 3.053",\
                 "1.287, 1.312, 1.394, 1.54, 1.74, 1.985, 2.272, 2.603, 2.978, 3.41");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.175, 1.232, 1.43, 1.801, 2.366, 3.144, 4.153, 5.417, 6.954, 8.784",\
                 "1.175, 1.232, 1.43, 1.801, 2.367, 3.144, 4.153, 5.417, 6.955, 8.784",\
                 "1.175, 1.232, 1.43, 1.801, 2.367, 3.144, 4.153, 5.415, 6.953, 8.785",\
                 "1.179, 1.235, 1.431, 1.801, 2.367, 3.144, 4.153, 5.417, 6.954, 8.785",\
                 "1.239, 1.291, 1.473, 1.821, 2.37, 3.144, 4.153, 5.417, 6.954, 8.786",\
                 "1.344, 1.396, 1.572, 1.903, 2.423, 3.163, 4.154, 5.417, 6.955, 8.786",\
                 "1.46, 1.509, 1.686, 2.024, 2.535, 3.246, 4.198, 5.425, 6.956, 8.787",\
                 "1.614, 1.66, 1.831, 2.161, 2.677, 3.387, 4.31, 5.496, 6.979, 8.788",\
                 "1.815, 1.86, 2.021, 2.332, 2.835, 3.549, 4.478, 5.636, 7.076, 8.832",\
                 "2.057, 2.101, 2.254, 2.553, 3.035, 3.733, 4.666, 5.835, 7.248, 8.96");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b0 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.233, 0.2438, 0.28, 0.3453, 0.4421, 0.5721, 0.7387, 0.9451, 1.195, 1.49",\
                 "0.2459, 0.2566, 0.2928, 0.3581, 0.4547, 0.5847, 0.7515, 0.9579, 1.207, 1.503",\
                 "0.2833, 0.2938, 0.3292, 0.3941, 0.4903, 0.6204, 0.7872, 0.9936, 1.243, 1.539",\
                 "0.3302, 0.3416, 0.38, 0.4478, 0.5456, 0.6749, 0.841, 1.047, 1.297, 1.592",\
                 "0.3581, 0.3715, 0.4163, 0.4945, 0.6052, 0.7472, 0.9216, 1.13, 1.379, 1.674",\
                 "0.3526, 0.3693, 0.4235, 0.5171, 0.6464, 0.8073, 1.001, 1.229, 1.491, 1.79",\
                 "0.3061, 0.3254, 0.3906, 0.502, 0.6543, 0.8426, 1.062, 1.313, 1.599, 1.921",\
                 "0.2137, 0.2363, 0.3117, 0.4416, 0.6214, 0.8398, 1.092, 1.375, 1.69, 2.038",\
                 "0.0751, 0.1012, 0.1864, 0.3346, 0.5395, 0.7912, 1.08, 1.401, 1.752, 2.135",\
                 "-0.1115, -0.0828, 0.0137, 0.179, 0.4089, 0.6929, 1.019, 1.381, 1.775, 2.199");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.71, 0.7409, 0.8489, 1.053, 1.367, 1.806, 2.38, 3.103, 3.985, 5.034",\
                 "0.7191, 0.75, 0.8584, 1.063, 1.377, 1.816, 2.391, 3.114, 3.996, 5.046",\
                 "0.7481, 0.7795, 0.8889, 1.094, 1.41, 1.85, 2.427, 3.151, 4.033, 5.083",\
                 "0.7999, 0.831, 0.9391, 1.143, 1.459, 1.898, 2.475, 3.199, 4.082, 5.132",\
                 "0.8982, 0.9294, 1.037, 1.236, 1.546, 1.98, 2.552, 3.272, 4.152, 5.2",\
                 "1.059, 1.09, 1.197, 1.397, 1.704, 2.128, 2.688, 3.398, 4.27, 5.311",\
                 "1.293, 1.325, 1.431, 1.63, 1.935, 2.359, 2.909, 3.603, 4.46, 5.488",\
                 "1.589, 1.622, 1.735, 1.939, 2.242, 2.663, 3.213, 3.9, 4.739, 5.75",\
                 "1.935, 1.971, 2.094, 2.311, 2.625, 3.046, 3.594, 4.282, 5.116, 6.108",\
                 "2.331, 2.37, 2.503, 2.739, 3.074, 3.506, 4.054, 4.741, 5.576, 6.567");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2601, 0.2769, 0.3342, 0.4377, 0.5924, 0.8041, 1.079, 1.424, 1.845, 2.343",\
                 "0.2596, 0.2763, 0.3338, 0.4375, 0.5925, 0.8036, 1.079, 1.424, 1.845, 2.344",\
                 "0.2558, 0.2724, 0.3299, 0.4349, 0.5914, 0.8034, 1.079, 1.423, 1.844, 2.344",\
                 "0.3073, 0.3223, 0.3726, 0.4635, 0.6034, 0.8053, 1.079, 1.424, 1.843, 2.345",\
                 "0.4054, 0.4194, 0.4692, 0.56, 0.6952, 0.8818, 1.126, 1.445, 1.849, 2.345",\
                 "0.5454, 0.5608, 0.6126, 0.7034, 0.8378, 1.022, 1.263, 1.566, 1.934, 2.393",\
                 "0.7184, 0.7356, 0.794, 0.8918, 1.033, 1.216, 1.454, 1.752, 2.119, 2.553",\
                 "0.9234, 0.9426, 1.007, 1.119, 1.27, 1.464, 1.702, 1.997, 2.356, 2.79",\
                 "1.165, 1.184, 1.258, 1.376, 1.547, 1.755, 2.005, 2.302, 2.661, 3.085",\
                 "1.442, 1.464, 1.543, 1.676, 1.861, 2.086, 2.352, 2.665, 3.026, 3.451");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.175, 1.232, 1.43, 1.801, 2.366, 3.144, 4.153, 5.416, 6.953, 8.787",\
                 "1.175, 1.231, 1.43, 1.801, 2.367, 3.144, 4.153, 5.417, 6.954, 8.784",\
                 "1.175, 1.231, 1.43, 1.801, 2.366, 3.144, 4.153, 5.416, 6.953, 8.784",\
                 "1.177, 1.234, 1.43, 1.801, 2.366, 3.144, 4.153, 5.416, 6.953, 8.783",\
                 "1.227, 1.28, 1.464, 1.818, 2.37, 3.144, 4.153, 5.417, 6.956, 8.786",\
                 "1.321, 1.372, 1.551, 1.89, 2.418, 3.164, 4.155, 5.416, 6.955, 8.785",\
                 "1.454, 1.5, 1.67, 2, 2.516, 3.238, 4.2, 5.429, 6.956, 8.786",\
                 "1.647, 1.69, 1.842, 2.15, 2.648, 3.359, 4.299, 5.497, 6.986, 8.791",\
                 "1.901, 1.938, 2.08, 2.36, 2.827, 3.515, 4.443, 5.621, 7.078, 8.841",\
                 "2.188, 2.229, 2.367, 2.638, 3.074, 3.723, 4.623, 5.792, 7.228, 8.96");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2173, 0.2274, 0.2621, 0.3254, 0.4192, 0.5467, 0.7113, 0.9159, 1.164, 1.458",\
                 "0.2303, 0.2404, 0.275, 0.3382, 0.432, 0.5595, 0.724, 0.9286, 1.177, 1.471",\
                 "0.2674, 0.2774, 0.3113, 0.3739, 0.4677, 0.5952, 0.7596, 0.9643, 1.212, 1.506",\
                 "0.3082, 0.3196, 0.3574, 0.4249, 0.5219, 0.6495, 0.8136, 1.018, 1.266, 1.56",\
                 "0.3262, 0.3401, 0.3859, 0.465, 0.5762, 0.7184, 0.8925, 1.1, 1.348, 1.642",\
                 "0.3081, 0.3254, 0.3815, 0.4779, 0.6098, 0.7734, 0.9682, 1.196, 1.459, 1.758",\
                 "0.2466, 0.2675, 0.3351, 0.4512, 0.6093, 0.8013, 1.024, 1.277, 1.564, 1.887",\
                 "0.141, 0.1656, 0.244, 0.3799, 0.5653, 0.7898, 1.047, 1.333, 1.65, 2.001",\
                 "-0.0099, 0.0167, 0.1071, 0.2618, 0.474, 0.7326, 1.026, 1.352, 1.708, 2.093",\
                 "-0.2094, -0.1792, -0.0794, 0.0951, 0.3332, 0.6241, 0.9589, 1.327, 1.725, 2.153");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.71, 0.7412, 0.849, 1.053, 1.367, 1.806, 2.381, 3.103, 3.985, 5.034",\
                 "0.7191, 0.7501, 0.8584, 1.063, 1.377, 1.816, 2.392, 3.114, 3.996, 5.046",\
                 "0.7484, 0.7795, 0.8889, 1.094, 1.41, 1.85, 2.427, 3.151, 4.033, 5.083",\
                 "0.7999, 0.831, 0.9391, 1.143, 1.459, 1.899, 2.475, 3.199, 4.082, 5.132",\
                 "0.8986, 0.9294, 1.037, 1.236, 1.546, 1.98, 2.552, 3.272, 4.152, 5.2",\
                 "1.059, 1.09, 1.196, 1.397, 1.704, 2.127, 2.688, 3.399, 4.27, 5.311",\
                 "1.294, 1.325, 1.431, 1.63, 1.935, 2.359, 2.908, 3.603, 4.46, 5.488",\
                 "1.589, 1.622, 1.735, 1.938, 2.242, 2.663, 3.214, 3.901, 4.739, 5.75",\
                 "1.935, 1.971, 2.094, 2.311, 2.625, 3.046, 3.594, 4.282, 5.116, 6.108",\
                 "2.331, 2.371, 2.504, 2.739, 3.074, 3.506, 4.055, 4.74, 5.576, 6.567");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.231, 0.2475, 0.3022, 0.4037, 0.5565, 0.7671, 1.041, 1.386, 1.805, 2.304",\
                 "0.2303, 0.2466, 0.3017, 0.4034, 0.5564, 0.7669, 1.041, 1.386, 1.806, 2.304",\
                 "0.2296, 0.2454, 0.3001, 0.4018, 0.5556, 0.7664, 1.041, 1.385, 1.806, 2.305",\
                 "0.2865, 0.3004, 0.3491, 0.4383, 0.5743, 0.7722, 1.042, 1.385, 1.805, 2.304",\
                 "0.3882, 0.403, 0.4508, 0.5376, 0.6712, 0.8554, 1.096, 1.411, 1.813, 2.305",\
                 "0.5314, 0.5466, 0.5984, 0.6876, 0.8192, 0.9986, 1.237, 1.537, 1.903, 2.356",\
                 "0.708, 0.7252, 0.7826, 0.879, 1.017, 1.199, 1.431, 1.726, 2.089, 2.523",\
                 "0.919, 0.938, 0.9994, 1.107, 1.259, 1.45, 1.684, 1.976, 2.332, 2.761",\
                 "1.166, 1.186, 1.255, 1.375, 1.537, 1.741, 1.99, 2.285, 2.64, 3.061",\
                 "1.445, 1.467, 1.545, 1.673, 1.855, 2.076, 2.341, 2.651, 3.008, 3.43");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.078, 1.131, 1.318, 1.672, 2.219, 2.982, 3.984, 5.243, 6.778, 8.605",\
                 "1.078, 1.131, 1.318, 1.672, 2.219, 2.982, 3.983, 5.244, 6.78, 8.606",\
                 "1.078, 1.131, 1.318, 1.671, 2.219, 2.982, 3.983, 5.243, 6.78, 8.606",\
                 "1.081, 1.133, 1.319, 1.672, 2.219, 2.982, 3.983, 5.244, 6.78, 8.606",\
                 "1.129, 1.179, 1.352, 1.689, 2.222, 2.982, 3.983, 5.242, 6.78, 8.608",\
                 "1.212, 1.26, 1.433, 1.759, 2.271, 3.002, 3.986, 5.244, 6.78, 8.608",\
                 "1.332, 1.377, 1.54, 1.86, 2.365, 3.077, 4.03, 5.256, 6.781, 8.609",\
                 "1.509, 1.552, 1.701, 2, 2.488, 3.195, 4.129, 5.325, 6.809, 8.613",\
                 "1.736, 1.776, 1.921, 2.2, 2.661, 3.342, 4.271, 5.449, 6.902, 8.665",\
                 "1.989, 2.033, 2.182, 2.461, 2.899, 3.544, 4.446, 5.615, 7.051, 8.783");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1699, 0.1777, 0.2043, 0.2525, 0.3243, 0.4213, 0.546, 0.7007, 0.8879, 1.11",\
                 "0.1837, 0.1914, 0.2179, 0.2661, 0.3378, 0.4348, 0.5594, 0.7142, 0.9013, 1.123",\
                 "0.2317, 0.2394, 0.2652, 0.3124, 0.3834, 0.4803, 0.6049, 0.7596, 0.9469, 1.169",\
                 "0.2836, 0.2939, 0.3274, 0.3853, 0.4651, 0.5653, 0.6896, 0.8443, 1.032, 1.254",\
                 "0.3051, 0.3183, 0.3616, 0.4359, 0.5375, 0.6623, 0.8084, 0.9747, 1.164, 1.386",\
                 "0.2887, 0.3049, 0.3589, 0.4517, 0.5775, 0.7309, 0.9081, 1.107, 1.327, 1.568",\
                 "0.2289, 0.2485, 0.3136, 0.4256, 0.5779, 0.7629, 0.9744, 1.209, 1.466, 1.745",\
                 "0.1248, 0.1474, 0.2229, 0.354, 0.5335, 0.7512, 0.9992, 1.274, 1.572, 1.891",\
                 "-0.0253, -0.0001, 0.0861, 0.2354, 0.4404, 0.6924, 0.979, 1.295, 1.636, 2",\
                 "-0.2247, -0.1959, -0.1, 0.0678, 0.2983, 0.5819, 0.9078, 1.267, 1.653, 2.064");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7716, 0.8021, 0.9089, 1.111, 1.423, 1.86, 2.434, 3.157, 4.038, 5.086",\
                 "0.781, 0.8119, 0.9188, 1.122, 1.435, 1.873, 2.447, 3.17, 4.051, 5.1",\
                 "0.8101, 0.8414, 0.9488, 1.153, 1.467, 1.907, 2.482, 3.206, 4.088, 5.138",\
                 "0.8613, 0.8922, 0.999, 1.201, 1.515, 1.954, 2.53, 3.254, 4.136, 5.186",\
                 "0.9621, 0.9922, 1.097, 1.295, 1.603, 2.036, 2.607, 3.327, 4.207, 5.255",\
                 "1.124, 1.155, 1.26, 1.46, 1.765, 2.187, 2.747, 3.456, 4.327, 5.368",\
                 "1.362, 1.392, 1.498, 1.695, 2, 2.423, 2.972, 3.667, 4.522, 5.551",\
                 "1.666, 1.698, 1.807, 2.008, 2.311, 2.733, 3.283, 3.97, 4.808, 5.819",\
                 "2.023, 2.058, 2.176, 2.388, 2.699, 3.12, 3.67, 4.36, 5.194, 6.186",\
                 "2.431, 2.469, 2.598, 2.827, 3.155, 3.587, 4.137, 4.826, 5.664, 6.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1929, 0.2052, 0.2466, 0.3228, 0.4387, 0.5974, 0.8039, 1.063, 1.38, 1.755",\
                 "0.1921, 0.2042, 0.2458, 0.3223, 0.4382, 0.5972, 0.8034, 1.063, 1.379, 1.756",\
                 "0.2018, 0.212, 0.2481, 0.3211, 0.4365, 0.5959, 0.8042, 1.063, 1.38, 1.755",\
                 "0.2974, 0.3071, 0.3389, 0.3978, 0.4859, 0.618, 0.8087, 1.063, 1.379, 1.756",\
                 "0.4268, 0.4369, 0.4734, 0.5382, 0.635, 0.762, 0.9232, 1.13, 1.407, 1.762",\
                 "0.5878, 0.5994, 0.6404, 0.7134, 0.8182, 0.9566, 1.129, 1.34, 1.585, 1.884",\
                 "0.7786, 0.7922, 0.839, 0.9204, 1.038, 1.189, 1.375, 1.598, 1.859, 2.16",\
                 "1.003, 1.018, 1.07, 1.163, 1.292, 1.46, 1.66, 1.897, 2.173, 2.491",\
                 "1.265, 1.282, 1.337, 1.439, 1.581, 1.764, 1.985, 2.241, 2.532, 2.867",\
                 "1.559, 1.578, 1.642, 1.754, 1.913, 2.112, 2.348, 2.626, 2.938, 3.288");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.147, 1.201, 1.389, 1.745, 2.293, 3.057, 4.058, 5.317, 6.852, 8.684",\
                 "1.147, 1.201, 1.389, 1.745, 2.293, 3.057, 4.058, 5.317, 6.854, 8.681",\
                 "1.147, 1.201, 1.389, 1.745, 2.293, 3.057, 4.058, 5.317, 6.853, 8.681",\
                 "1.148, 1.202, 1.389, 1.745, 2.293, 3.056, 4.058, 5.318, 6.854, 8.683",\
                 "1.19, 1.241, 1.418, 1.758, 2.295, 3.057, 4.058, 5.319, 6.854, 8.684",\
                 "1.269, 1.319, 1.494, 1.823, 2.339, 3.073, 4.061, 5.32, 6.854, 8.684",\
                 "1.376, 1.422, 1.591, 1.918, 2.429, 3.144, 4.099, 5.329, 6.854, 8.684",\
                 "1.537, 1.582, 1.739, 2.046, 2.545, 3.258, 4.196, 5.393, 6.882, 8.688",\
                 "1.753, 1.796, 1.944, 2.235, 2.703, 3.396, 4.332, 5.511, 6.97, 8.735",\
                 "2.004, 2.048, 2.198, 2.481, 2.928, 3.585, 4.497, 5.674, 7.113, 8.847");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1748, 0.1849, 0.2193, 0.2818, 0.375, 0.5017, 0.6653, 0.869, 1.116, 1.41",\
                 "0.1879, 0.198, 0.2322, 0.2946, 0.3878, 0.5145, 0.6781, 0.8818, 1.129, 1.423",\
                 "0.2252, 0.2353, 0.2691, 0.3308, 0.4236, 0.5502, 0.7137, 0.9176, 1.165, 1.458",\
                 "0.2551, 0.2673, 0.3076, 0.3774, 0.4762, 0.6045, 0.7677, 0.9714, 1.219, 1.512",\
                 "0.2556, 0.2713, 0.3222, 0.4073, 0.5231, 0.6683, 0.8445, 1.053, 1.3, 1.594",\
                 "0.2165, 0.236, 0.2996, 0.4054, 0.5459, 0.7157, 0.9145, 1.145, 1.409, 1.71",\
                 "0.1346, 0.1579, 0.234, 0.362, 0.5317, 0.7329, 0.9626, 1.22, 1.51, 1.835",\
                 "0.0084, 0.0357, 0.1248, 0.274, 0.4724, 0.7093, 0.9759, 1.27, 1.591, 1.945",\
                 "-0.1628, -0.132, -0.0312, 0.1393, 0.3664, 0.6385, 0.945, 1.28, 1.643, 2.032",\
                 "-0.38, -0.3465, -0.2342, -0.0434, 0.2122, 0.5178, 0.8652, 1.244, 1.651, 2.085");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.6963, 0.7276, 0.8355, 1.039, 1.352, 1.789, 2.361, 3.081, 3.958, 5.005",\
                 "0.7051, 0.7364, 0.8449, 1.049, 1.362, 1.8, 2.372, 3.092, 3.97, 5.016",\
                 "0.7344, 0.7657, 0.875, 1.08, 1.396, 1.834, 2.407, 3.129, 4.006, 5.053",\
                 "0.7858, 0.8169, 0.9253, 1.129, 1.444, 1.882, 2.456, 3.177, 4.055, 5.102",\
                 "0.883, 0.9146, 1.022, 1.222, 1.531, 1.963, 2.533, 3.25, 4.125, 5.171",\
                 "1.043, 1.074, 1.181, 1.382, 1.689, 2.11, 2.668, 3.376, 4.243, 5.281",\
                 "1.276, 1.307, 1.415, 1.614, 1.919, 2.341, 2.889, 3.581, 4.434, 5.459",\
                 "1.568, 1.602, 1.716, 1.921, 2.225, 2.644, 3.193, 3.878, 4.712, 5.721",\
                 "1.91, 1.948, 2.072, 2.291, 2.607, 3.026, 3.573, 4.258, 5.089, 6.078",\
                 "2.302, 2.342, 2.478, 2.716, 3.051, 3.485, 4.032, 4.715, 5.549, 6.536");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1842, 0.2002, 0.2548, 0.3551, 0.5074, 0.7165, 0.9901, 1.332, 1.752, 2.251",\
                 "0.1833, 0.199, 0.2546, 0.3546, 0.5076, 0.7166, 0.9896, 1.332, 1.751, 2.251",\
                 "0.1918, 0.206, 0.2559, 0.3539, 0.5058, 0.7164, 0.9889, 1.332, 1.752, 2.251",\
                 "0.2591, 0.2721, 0.3174, 0.403, 0.5339, 0.7261, 0.9907, 1.333, 1.752, 2.249",\
                 "0.3697, 0.3827, 0.4274, 0.5094, 0.6376, 0.8176, 1.054, 1.365, 1.761, 2.251",\
                 "0.5184, 0.5326, 0.58, 0.6666, 0.7934, 0.9674, 1.199, 1.497, 1.86, 2.31",\
                 "0.701, 0.716, 0.768, 0.863, 0.9964, 1.174, 1.401, 1.691, 2.05, 2.482",\
                 "0.9194, 0.9358, 0.9934, 1.097, 1.239, 1.428, 1.661, 1.945, 2.298, 2.723",\
                 "1.173, 1.191, 1.253, 1.364, 1.524, 1.725, 1.969, 2.26, 2.608, 3.026",\
                 "1.452, 1.476, 1.547, 1.67, 1.844, 2.062, 2.321, 2.626, 2.983, 3.399");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.8241, 0.8791, 1.066, 1.42, 1.968, 2.729, 3.732, 4.991, 6.524, 8.353",\
                 "0.8248, 0.8795, 1.066, 1.42, 1.966, 2.73, 3.731, 4.99, 6.526, 8.353",\
                 "0.8248, 0.8775, 1.065, 1.421, 1.967, 2.729, 3.732, 4.992, 6.524, 8.353",\
                 "0.8274, 0.8802, 1.067, 1.419, 1.967, 2.729, 3.732, 4.991, 6.525, 8.356",\
                 "0.8746, 0.9246, 1.099, 1.436, 1.969, 2.73, 3.732, 4.99, 6.527, 8.357",\
                 "0.9422, 0.9944, 1.171, 1.505, 2.018, 2.749, 3.733, 4.991, 6.527, 8.357",\
                 "1.052, 1.1, 1.267, 1.594, 2.109, 2.824, 3.778, 5.002, 6.527, 8.357",\
                 "1.208, 1.255, 1.416, 1.726, 2.223, 2.938, 3.876, 5.07, 6.556, 8.36",\
                 "1.403, 1.451, 1.615, 1.916, 2.387, 3.077, 4.013, 5.195, 6.647, 8.41",\
                 "1.615, 1.669, 1.843, 2.156, 2.614, 3.273, 4.181, 5.357, 6.797, 8.531");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1403, 0.148, 0.1738, 0.2213, 0.2921, 0.3883, 0.5122, 0.6664, 0.8529, 1.074",\
                 "0.1542, 0.1618, 0.1876, 0.2349, 0.3058, 0.4018, 0.5258, 0.6799, 0.8664, 1.088",\
                 "0.1995, 0.2077, 0.2345, 0.2815, 0.3515, 0.4474, 0.5712, 0.7254, 0.9117, 1.133",\
                 "0.2352, 0.2466, 0.2834, 0.3452, 0.4288, 0.5317, 0.656, 0.8099, 0.9965, 1.218",\
                 "0.2377, 0.2525, 0.3009, 0.3819, 0.4896, 0.6195, 0.7695, 0.9388, 1.129, 1.351",\
                 "0.2002, 0.2188, 0.2799, 0.3816, 0.5164, 0.6774, 0.8603, 1.064, 1.287, 1.53",\
                 "0.1205, 0.1427, 0.2154, 0.3387, 0.5026, 0.6971, 0.9166, 1.157, 1.419, 1.702",\
                 "-0.003, 0.0227, 0.107, 0.2505, 0.4434, 0.6731, 0.9314, 1.214, 1.517, 1.841",\
                 "-0.1717, -0.1433, -0.0472, 0.1162, 0.3365, 0.601, 0.8995, 1.224, 1.573, 1.943",\
                 "-0.387, -0.3557, -0.2504, -0.0673, 0.1805, 0.4782, 0.8173, 1.187, 1.581, 2");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.759, 0.7892, 0.8954, 1.097, 1.408, 1.844, 2.415, 3.135, 4.012, 5.057",\
                 "0.7681, 0.7987, 0.9055, 1.108, 1.42, 1.856, 2.428, 3.147, 4.025, 5.069",\
                 "0.7974, 0.828, 0.9357, 1.139, 1.452, 1.89, 2.463, 3.184, 4.062, 5.108",\
                 "0.8483, 0.8791, 0.9855, 1.187, 1.5, 1.937, 2.511, 3.232, 4.11, 5.157",\
                 "0.948, 0.9784, 1.084, 1.281, 1.588, 2.019, 2.588, 3.305, 4.181, 5.225",\
                 "1.11, 1.14, 1.246, 1.445, 1.749, 2.17, 2.728, 3.434, 4.301, 5.338",\
                 "1.347, 1.377, 1.482, 1.68, 1.984, 2.405, 2.952, 3.643, 4.496, 5.52",\
                 "1.648, 1.68, 1.79, 1.991, 2.294, 2.714, 3.263, 3.947, 4.781, 5.79",\
                 "2.001, 2.037, 2.156, 2.369, 2.68, 3.101, 3.649, 4.336, 5.167, 6.155",\
                 "2.405, 2.443, 2.573, 2.805, 3.135, 3.566, 4.115, 4.801, 5.636, 6.624");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1567, 0.1685, 0.2099, 0.286, 0.4008, 0.5589, 0.7649, 1.024, 1.34, 1.715",\
                 "0.1557, 0.1677, 0.2088, 0.2854, 0.4007, 0.5592, 0.765, 1.024, 1.34, 1.715",\
                 "0.1815, 0.19, 0.2216, 0.2879, 0.3988, 0.558, 0.7647, 1.024, 1.34, 1.715",\
                 "0.2834, 0.292, 0.3221, 0.379, 0.4649, 0.5896, 0.7743, 1.024, 1.339, 1.714",\
                 "0.417, 0.4267, 0.4596, 0.522, 0.6156, 0.7408, 0.9006, 1.103, 1.374, 1.724",\
                 "0.5822, 0.593, 0.6302, 0.6996, 0.8008, 0.937, 1.108, 1.317, 1.562, 1.855",\
                 "0.7804, 0.7922, 0.8328, 0.9096, 1.023, 1.172, 1.355, 1.576, 1.835, 2.135",\
                 "1.014, 1.027, 1.071, 1.155, 1.282, 1.443, 1.644, 1.877, 2.151, 2.468",\
                 "1.283, 1.297, 1.346, 1.437, 1.577, 1.752, 1.968, 2.222, 2.511, 2.844",\
                 "1.582, 1.597, 1.655, 1.758, 1.908, 2.1, 2.337, 2.609, 2.918, 3.267");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.9, 0.9528, 1.141, 1.496, 2.041, 2.805, 3.807, 5.066, 6.603, 8.43",\
                 "0.8991, 0.954, 1.142, 1.496, 2.042, 2.805, 3.805, 5.065, 6.602, 8.427",\
                 "0.9004, 0.9527, 1.141, 1.495, 2.042, 2.805, 3.807, 5.066, 6.602, 8.431",\
                 "0.9012, 0.9548, 1.142, 1.496, 2.042, 2.806, 3.806, 5.067, 6.602, 8.432",\
                 "0.9428, 0.993, 1.17, 1.508, 2.044, 2.805, 3.808, 5.067, 6.602, 8.432",\
                 "1.01, 1.061, 1.24, 1.573, 2.087, 2.821, 3.808, 5.067, 6.602, 8.432",\
                 "1.104, 1.153, 1.326, 1.659, 2.176, 2.892, 3.848, 5.076, 6.603, 8.432",\
                 "1.251, 1.298, 1.462, 1.776, 2.282, 3.002, 3.942, 5.141, 6.628, 8.435",\
                 "1.438, 1.486, 1.65, 1.954, 2.433, 3.132, 4.076, 5.258, 6.715, 8.483",\
                 "1.653, 1.703, 1.876, 2.185, 2.645, 3.315, 4.234, 5.416, 6.859, 8.594");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1401, 0.1478, 0.1739, 0.2214, 0.292, 0.3882, 0.5123, 0.6664, 0.8528, 1.074",\
                 "0.1541, 0.1617, 0.1875, 0.2349, 0.3057, 0.4019, 0.5257, 0.6799, 0.8664, 1.088",\
                 "0.1995, 0.2077, 0.2345, 0.2815, 0.3514, 0.4474, 0.5712, 0.7253, 0.9117, 1.133",\
                 "0.2352, 0.2466, 0.2834, 0.3452, 0.4288, 0.5317, 0.656, 0.8098, 0.9965, 1.218",\
                 "0.2377, 0.2525, 0.3009, 0.3819, 0.4896, 0.6195, 0.7695, 0.9388, 1.129, 1.351",\
                 "0.2002, 0.2188, 0.2799, 0.3816, 0.5164, 0.6774, 0.8603, 1.064, 1.287, 1.53",\
                 "0.1205, 0.1427, 0.2154, 0.3387, 0.5026, 0.6972, 0.9166, 1.157, 1.419, 1.702",\
                 "-0.003, 0.0227, 0.107, 0.2505, 0.4434, 0.673, 0.9314, 1.214, 1.517, 1.841",\
                 "-0.1717, -0.1433, -0.0472, 0.1162, 0.3365, 0.6009, 0.8995, 1.224, 1.573, 1.943",\
                 "-0.387, -0.3557, -0.2504, -0.0673, 0.1805, 0.4782, 0.8169, 1.187, 1.581, 2");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.7589, 0.7892, 0.8954, 1.097, 1.408, 1.844, 2.415, 3.135, 4.012, 5.057",\
                 "0.7681, 0.7987, 0.9055, 1.108, 1.42, 1.856, 2.428, 3.147, 4.025, 5.069",\
                 "0.7974, 0.8282, 0.9357, 1.139, 1.452, 1.89, 2.463, 3.183, 4.062, 5.108",\
                 "0.8482, 0.8791, 0.9855, 1.187, 1.5, 1.937, 2.51, 3.232, 4.11, 5.157",\
                 "0.948, 0.9784, 1.084, 1.281, 1.588, 2.019, 2.588, 3.305, 4.181, 5.225",\
                 "1.11, 1.14, 1.246, 1.445, 1.749, 2.17, 2.728, 3.434, 4.301, 5.338",\
                 "1.347, 1.377, 1.482, 1.68, 1.984, 2.405, 2.952, 3.643, 4.497, 5.521",\
                 "1.648, 1.68, 1.79, 1.991, 2.294, 2.714, 3.263, 3.946, 4.782, 5.789",\
                 "2.001, 2.037, 2.156, 2.369, 2.68, 3.101, 3.649, 4.336, 5.167, 6.155",\
                 "2.405, 2.443, 2.573, 2.805, 3.135, 3.566, 4.115, 4.801, 5.636, 6.624");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1566, 0.1687, 0.2097, 0.2859, 0.4004, 0.5587, 0.7648, 1.024, 1.34, 1.715",\
                 "0.1556, 0.1676, 0.2088, 0.2852, 0.4003, 0.5591, 0.765, 1.024, 1.34, 1.715",\
                 "0.1814, 0.19, 0.2217, 0.288, 0.3993, 0.5581, 0.7647, 1.024, 1.34, 1.714",\
                 "0.2833, 0.292, 0.322, 0.379, 0.4649, 0.5896, 0.7738, 1.024, 1.338, 1.714",\
                 "0.417, 0.4267, 0.4596, 0.522, 0.6156, 0.7406, 0.9006, 1.103, 1.374, 1.724",\
                 "0.5822, 0.593, 0.6302, 0.6996, 0.8008, 0.9372, 1.108, 1.317, 1.561, 1.855",\
                 "0.7804, 0.7922, 0.8328, 0.9096, 1.024, 1.172, 1.355, 1.576, 1.836, 2.136",\
                 "1.014, 1.027, 1.071, 1.156, 1.282, 1.444, 1.643, 1.877, 2.152, 2.469",\
                 "1.283, 1.297, 1.346, 1.437, 1.577, 1.752, 1.968, 2.222, 2.511, 2.844",\
                 "1.583, 1.597, 1.655, 1.758, 1.908, 2.1, 2.337, 2.609, 2.918, 3.267");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.8992, 0.9528, 1.141, 1.494, 2.042, 2.805, 3.807, 5.068, 6.599, 8.431",\
                 "0.8991, 0.954, 1.142, 1.496, 2.042, 2.805, 3.805, 5.065, 6.602, 8.427",\
                 "0.9004, 0.9543, 1.142, 1.495, 2.042, 2.805, 3.806, 5.066, 6.603, 8.431",\
                 "0.901, 0.9548, 1.142, 1.496, 2.042, 2.805, 3.806, 5.067, 6.602, 8.432",\
                 "0.9428, 0.9932, 1.17, 1.507, 2.044, 2.805, 3.808, 5.067, 6.602, 8.431",\
                 "1.009, 1.061, 1.24, 1.573, 2.087, 2.822, 3.807, 5.066, 6.602, 8.432",\
                 "1.104, 1.153, 1.326, 1.659, 2.176, 2.892, 3.848, 5.075, 6.603, 8.432",\
                 "1.25, 1.297, 1.462, 1.779, 2.282, 3.003, 3.943, 5.141, 6.627, 8.435",\
                 "1.438, 1.487, 1.65, 1.956, 2.433, 3.132, 4.076, 5.26, 6.715, 8.483",\
                 "1.653, 1.703, 1.876, 2.185, 2.646, 3.315, 4.234, 5.415, 6.859, 8.595");
        }
      }

      timing() {
        related_pin : "B3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.132, 0.1391, 0.1632, 0.2072, 0.2727, 0.3619, 0.4768, 0.6193, 0.792, 0.9969",\
                 "0.1463, 0.1532, 0.1771, 0.2211, 0.2866, 0.3757, 0.4904, 0.633, 0.8056, 1.01",\
                 "0.1943, 0.202, 0.2274, 0.2711, 0.3359, 0.4245, 0.5391, 0.6818, 0.8544, 1.059",\
                 "0.2323, 0.2432, 0.2789, 0.339, 0.4197, 0.5178, 0.6336, 0.7759, 0.9484, 1.153",\
                 "0.2372, 0.2515, 0.2984, 0.3774, 0.4829, 0.6099, 0.7554, 0.9176, 1.096, 1.301",\
                 "0.2025, 0.2203, 0.2793, 0.3785, 0.5109, 0.6692, 0.849, 1.048, 1.264, 1.498",\
                 "0.1258, 0.1469, 0.2172, 0.3372, 0.4978, 0.6896, 0.9062, 1.143, 1.401, 1.677",\
                 "0.0055, 0.03, 0.1111, 0.2505, 0.4394, 0.6662, 0.9209, 1.2, 1.499, 1.819",\
                 "-0.1606, -0.133, -0.0411, 0.1177, 0.3335, 0.594, 0.8892, 1.211, 1.555, 1.921",\
                 "-0.3737, -0.3433, -0.2418, -0.0642, 0.1782, 0.4718, 0.8067, 1.172, 1.563, 1.977");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.8137, 0.844, 0.9492, 1.15, 1.461, 1.896, 2.467, 3.186, 4.063, 5.108",\
                 "0.8236, 0.8539, 0.9601, 1.161, 1.473, 1.909, 2.48, 3.2, 4.077, 5.122",\
                 "0.8523, 0.8827, 0.9895, 1.192, 1.505, 1.943, 2.515, 3.236, 4.114, 5.16",\
                 "0.9029, 0.9332, 1.039, 1.24, 1.552, 1.989, 2.563, 3.283, 4.162, 5.208",\
                 "1.003, 1.033, 1.137, 1.334, 1.64, 2.071, 2.64, 3.357, 4.232, 5.277",\
                 "1.166, 1.196, 1.301, 1.499, 1.801, 2.222, 2.78, 3.486, 4.354, 5.39",\
                 "1.404, 1.434, 1.538, 1.734, 2.038, 2.459, 3.005, 3.697, 4.55, 5.574",\
                 "1.71, 1.741, 1.849, 2.047, 2.349, 2.77, 3.318, 4.002, 4.838, 5.845",\
                 "2.07, 2.103, 2.22, 2.429, 2.738, 3.158, 3.707, 4.394, 5.224, 6.213",\
                 "2.481, 2.518, 2.644, 2.87, 3.196, 3.625, 4.174, 4.862, 5.697, 6.684");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.1659, 0.1765, 0.2133, 0.2822, 0.3874, 0.5321, 0.7212, 0.9585, 1.247, 1.591",\
                 "0.1646, 0.1754, 0.2124, 0.2815, 0.3867, 0.5322, 0.7213, 0.9576, 1.247, 1.592",\
                 "0.196, 0.2026, 0.229, 0.2863, 0.3854, 0.53, 0.7198, 0.9572, 1.247, 1.592",\
                 "0.3097, 0.3172, 0.3429, 0.3917, 0.4665, 0.5738, 0.7343, 0.958, 1.247, 1.591",\
                 "0.4531, 0.461, 0.4899, 0.5452, 0.6302, 0.7438, 0.8852, 1.06, 1.297, 1.605",\
                 "0.6278, 0.6366, 0.669, 0.7308, 0.8246, 0.9516, 1.109, 1.299, 1.517, 1.772",\
                 "0.8368, 0.846, 0.8812, 0.949, 1.054, 1.193, 1.367, 1.574, 1.813, 2.088",\
                 "1.083, 1.091, 1.128, 1.204, 1.319, 1.472, 1.662, 1.884, 2.144, 2.441",\
                 "1.362, 1.372, 1.414, 1.496, 1.621, 1.789, 1.993, 2.236, 2.514, 2.829",\
                 "1.672, 1.686, 1.734, 1.824, 1.96, 2.141, 2.366, 2.628, 2.928, 3.261");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.9718, 1.026, 1.213, 1.568, 2.114, 2.877, 3.878, 5.138, 6.672, 8.504",\
                 "0.9714, 1.026, 1.214, 1.569, 2.114, 2.877, 3.879, 5.138, 6.676, 8.502",\
                 "0.9721, 1.026, 1.213, 1.568, 2.114, 2.878, 3.878, 5.139, 6.673, 8.501",\
                 "0.9734, 1.027, 1.214, 1.568, 2.114, 2.878, 3.88, 5.139, 6.675, 8.506",\
                 "1.008, 1.059, 1.237, 1.577, 2.116, 2.878, 3.879, 5.137, 6.674, 8.505",\
                 "1.075, 1.127, 1.306, 1.638, 2.154, 2.89, 3.881, 5.14, 6.677, 8.505",\
                 "1.164, 1.214, 1.388, 1.723, 2.242, 2.958, 3.916, 5.147, 6.675, 8.505",\
                 "1.303, 1.351, 1.517, 1.836, 2.347, 3.068, 4.009, 5.209, 6.699, 8.506",\
                 "1.49, 1.535, 1.698, 2.007, 2.49, 3.196, 4.14, 5.324, 6.784, 8.552",\
                 "1.705, 1.753, 1.922, 2.229, 2.695, 3.368, 4.295, 5.48, 6.924, 8.66");
        }
      }

      timing() {
        related_pin : "B3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.233, 0.2438, 0.28, 0.3453, 0.4421, 0.5721, 0.7387, 0.9451, 1.195, 1.49",\
                 "0.2459, 0.2566, 0.2928, 0.3581, 0.4547, 0.5847, 0.7515, 0.9579, 1.207, 1.503",\
                 "0.2833, 0.2938, 0.3292, 0.3941, 0.4903, 0.6204, 0.7872, 0.9936, 1.243, 1.539",\
                 "0.3302, 0.3416, 0.38, 0.4478, 0.5456, 0.6749, 0.841, 1.047, 1.297, 1.592",\
                 "0.3581, 0.3715, 0.4163, 0.4945, 0.6052, 0.7472, 0.9216, 1.13, 1.379, 1.674",\
                 "0.3526, 0.3693, 0.4235, 0.5171, 0.6464, 0.8073, 1.001, 1.229, 1.491, 1.79",\
                 "0.3061, 0.3254, 0.3906, 0.502, 0.6543, 0.8426, 1.062, 1.313, 1.599, 1.921",\
                 "0.2137, 0.2363, 0.3117, 0.4416, 0.6214, 0.8398, 1.092, 1.375, 1.69, 2.038",\
                 "0.0751, 0.1012, 0.1864, 0.3346, 0.5395, 0.7912, 1.08, 1.401, 1.752, 2.135",\
                 "-0.1115, -0.0828, 0.0137, 0.179, 0.4089, 0.6929, 1.019, 1.381, 1.775, 2.199");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.8137, 0.844, 0.9492, 1.15, 1.461, 1.896, 2.467, 3.186, 4.063, 5.108",\
                 "0.8236, 0.8539, 0.9601, 1.161, 1.473, 1.909, 2.48, 3.2, 4.077, 5.122",\
                 "0.8523, 0.8827, 0.9895, 1.192, 1.505, 1.943, 2.515, 3.236, 4.114, 5.16",\
                 "0.9029, 0.9332, 1.039, 1.24, 1.552, 1.989, 2.563, 3.283, 4.162, 5.208",\
                 "1.003, 1.033, 1.137, 1.334, 1.64, 2.071, 2.64, 3.357, 4.232, 5.277",\
                 "1.166, 1.196, 1.301, 1.499, 1.801, 2.222, 2.78, 3.486, 4.354, 5.39",\
                 "1.404, 1.434, 1.538, 1.734, 2.038, 2.459, 3.005, 3.697, 4.55, 5.574",\
                 "1.71, 1.741, 1.849, 2.047, 2.349, 2.77, 3.318, 4.002, 4.838, 5.845",\
                 "2.07, 2.103, 2.22, 2.429, 2.738, 3.158, 3.707, 4.394, 5.224, 6.213",\
                 "2.481, 2.518, 2.644, 2.87, 3.196, 3.625, 4.174, 4.862, 5.697, 6.684");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("0.2601, 0.2769, 0.3342, 0.4377, 0.5924, 0.8041, 1.079, 1.424, 1.845, 2.343",\
                 "0.2596, 0.2763, 0.3338, 0.4375, 0.5925, 0.8036, 1.079, 1.424, 1.845, 2.344",\
                 "0.2558, 0.2724, 0.3299, 0.4349, 0.5914, 0.8034, 1.079, 1.423, 1.844, 2.344",\
                 "0.3073, 0.3223, 0.3726, 0.4635, 0.6034, 0.8053, 1.079, 1.424, 1.843, 2.345",\
                 "0.4054, 0.4194, 0.4692, 0.56, 0.6952, 0.8818, 1.126, 1.445, 1.849, 2.345",\
                 "0.5454, 0.5608, 0.6126, 0.7034, 0.8378, 1.022, 1.263, 1.566, 1.934, 2.393",\
                 "0.7184, 0.7356, 0.794, 0.8918, 1.033, 1.216, 1.454, 1.752, 2.119, 2.553",\
                 "0.9234, 0.9426, 1.007, 1.119, 1.27, 1.464, 1.702, 1.997, 2.356, 2.79",\
                 "1.165, 1.184, 1.258, 1.376, 1.547, 1.755, 2.005, 2.302, 2.661, 3.085",\
                 "1.442, 1.464, 1.543, 1.676, 1.861, 2.086, 2.352, 2.665, 3.026, 3.451");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003805, 0.01365, 0.03246, 0.06175, 0.1029, 0.1569, 0.2251, 0.3083, 0.4074");
          values("1.175, 1.232, 1.43, 1.801, 2.366, 3.144, 4.153, 5.416, 6.953, 8.787",\
                 "1.175, 1.231, 1.43, 1.801, 2.367, 3.144, 4.153, 5.417, 6.954, 8.784",\
                 "1.175, 1.231, 1.43, 1.801, 2.366, 3.144, 4.153, 5.416, 6.953, 8.784",\
                 "1.177, 1.234, 1.43, 1.801, 2.366, 3.144, 4.153, 5.416, 6.953, 8.783",\
                 "1.227, 1.28, 1.464, 1.818, 2.37, 3.144, 4.153, 5.417, 6.956, 8.786",\
                 "1.321, 1.372, 1.551, 1.89, 2.418, 3.164, 4.155, 5.416, 6.955, 8.785",\
                 "1.454, 1.5, 1.67, 2, 2.516, 3.238, 4.2, 5.429, 6.956, 8.786",\
                 "1.647, 1.69, 1.842, 2.15, 2.648, 3.359, 4.299, 5.497, 6.986, 8.791",\
                 "1.901, 1.938, 2.08, 2.36, 2.827, 3.515, 4.443, 5.621, 7.078, 8.841",\
                 "2.188, 2.229, 2.367, 2.638, 3.074, 3.723, 4.623, 5.792, 7.228, 8.96");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai211_1) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&!C" ;
      value : "4.37514e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&C" ;
      value : "4.37514e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&!C" ;
      value : "4.37877e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&C" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&!C" ;
      value : "6.8739e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&C" ;
      value : "6.87918e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&!C" ;
      value : "8.45658e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&C" ;
      value : "7.06266e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&!C" ;
      value : "6.8739e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&C" ;
      value : "6.87918e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&!C" ;
      value : "8.45658e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&C" ;
      value : "5.62584e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&!C" ;
      value : "6.89337e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&C" ;
      value : "6.89865e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&!C" ;
      value : "8.48001e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&C" ;
      value : "5.62584e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.48001e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004804 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01852, 0.01849, 0.01847, 0.0184, 0.01835, 0.01835, 0.01834, \
                 0.01833, 0.01833, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01856, 0.01862, 0.01862, 0.01856, 0.01849, 0.01842, 0.01837, \
                 0.01829, 0.01823, 0.0181");
        }
      }

      internal_power() {
        when : "!A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01853, 0.0185, 0.01849, 0.01845, 0.01836, 0.01837, 0.01836, \
                 0.01833, 0.01834, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0186, 0.01863, 0.01864, 0.01858, 0.01852, 0.01844, 0.01837, \
                 0.01829, 0.0182, 0.01808");
        }
      }

      internal_power() {
        when : "!A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01853, 0.01852, 0.01849, 0.01844, 0.01839, 0.01837, 0.01835, \
                 0.01834, 0.01833, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03604, 0.03606, 0.03608, 0.03605, 0.03595, 0.03585, 0.03577, \
                 0.03565, 0.03554, 0.03536");
        }
      }

      internal_power() {
        when : "A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.01845, 0.01849, 0.0184, 0.01835, 0.01834, 0.01832, \
                 0.01832, 0.0183, 0.01829");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01776, -0.01792, -0.0179, -0.01797, -0.01803, -0.01808, -0.0181, \
                 -0.01811, -0.01811, -0.01813");
        }
      }

      internal_power() {
        when : "A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.0185, 0.0185, 0.01845, 0.0184, 0.01838, 0.01835, 0.01834, \
                 0.01832, 0.0183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01772, -0.01789, -0.01794, -0.01804, -0.01806, -0.0181, -0.01811, \
                 -0.01813, -0.01812, -0.01814");
        }
      }

      internal_power() {
        when : "A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01848, 0.0185, 0.0185, 0.01845, 0.01839, 0.01838, 0.01835, 0.01835, \
                 0.01832, 0.01831");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01773, -0.01789, -0.01795, -0.01804, -0.01806, -0.01811, -0.01812, \
                 -0.01812, -0.01813, -0.01814");
        }
      }

      internal_power() {
        when : "A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01167, 0.01164, 0.01163, 0.01162, 0.01161, 0.01162, 0.01162, \
                 0.0116, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005272, -0.00527, -0.005282, -0.005278, -0.005284, -0.005301, \
                 -0.005299, -0.005302, -0.005297, -0.005299");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004719 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01842, 0.01839, 0.01839, 0.01837, 0.01834, 0.01836, 0.01835, \
                 0.01834, 0.01834, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01876, 0.0187, 0.01869, 0.0186, 0.01853, 0.01843, 0.01838, 0.01829, \
                 0.01821, 0.0181");
        }
      }

      internal_power() {
        when : "!A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01842, 0.01841, 0.01839, 0.01836, 0.01836, 0.01839, 0.01836, \
                 0.01834, 0.01832, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0188, 0.01873, 0.01871, 0.01863, 0.01855, 0.01845, 0.01838, \
                 0.01829, 0.01821, 0.01808");
        }
      }

      internal_power() {
        when : "!A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01842, 0.01841, 0.01839, 0.01839, 0.01836, 0.01839, 0.01836, \
                 0.01835, 0.01832, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03623, 0.03617, 0.03615, 0.03607, 0.03599, 0.03587, 0.03577, \
                 0.03566, 0.03554, 0.03538");
        }
      }

      internal_power() {
        when : "A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01839, 0.01835, 0.01833, 0.01833, 0.01834, 0.01829, 0.01833, \
                 0.01832, 0.01831, 0.0183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01756, -0.01762, -0.01777, -0.0179, -0.01796, -0.01804, -0.01807, \
                 -0.01809, -0.01809, -0.01811");
        }
      }

      internal_power() {
        when : "A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0184, 0.01837, 0.01836, 0.01835, 0.01835, 0.01831, 0.01834, \
                 0.01832, 0.0183, 0.0183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01756, -0.01762, -0.01778, -0.01791, -0.01796, -0.01806, -0.01808, \
                 -0.0181, -0.01809, -0.0181");
        }
      }

      internal_power() {
        when : "A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01839, 0.01837, 0.01837, 0.01836, 0.01835, 0.01832, 0.01833, \
                 0.01833, 0.0183, 0.0183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01756, -0.01762, -0.01778, -0.01791, -0.01797, -0.01806, -0.01809, \
                 -0.0181, -0.0181, -0.01811");
        }
      }

      internal_power() {
        when : "A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01626, 0.01626, 0.01626, 0.0163, 0.01633, 0.01632, \
                 0.01631, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01347, -0.01465, -0.01563, -0.01582, -0.01589, -0.01598, -0.01601, \
                 -0.01604, -0.01606, -0.01607");
        }
      }
    }

    pin(B) {
      capacitance : 0.004429 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0157, 0.01618, 0.01637, 0.01641, 0.01642, 0.01644, 0.01645, \
                 0.01642, 0.01636, 0.01629");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01325, -0.01323, -0.01319, -0.01313, -0.01311, -0.0131, -0.01309, \
                 -0.01309, -0.01308, -0.01306");
        }
      }

      internal_power() {
        when : "!A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01428, 0.01336, 0.01322, 0.01319, 0.01316, 0.01317, 0.01314, \
                 0.01313, 0.01312, 0.01312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01322, -0.01321, -0.0132, -0.01317, -0.01313, -0.01314, -0.01311, \
                 -0.0131, -0.01309, -0.01309");
        }
      }

      internal_power() {
        when : "!A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01329, 0.01325, 0.01321, 0.01318, 0.01315, 0.01315, 0.01315, \
                 0.01312, 0.01311, 0.01311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.01232, -0.0123, -0.01229, -0.01232, -0.01235, -0.01239, \
                 -0.01246, -0.01253, -0.01264");
        }
      }

      internal_power() {
        when : "A1&!A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01334, 0.01332, 0.01326, 0.01322, 0.01316, 0.01315, 0.01315, \
                 0.01313, 0.01313, 0.01312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.01231, -0.01231, -0.01228, -0.01231, -0.01235, -0.01239, \
                 -0.01245, -0.01252, -0.01262");
        }
      }

      internal_power() {
        when : "A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01334, 0.01332, 0.01326, 0.01321, 0.01317, 0.01315, 0.01316, \
                 0.01313, 0.01313, 0.01312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01231, -0.0123, -0.0123, -0.01228, -0.01231, -0.01234, -0.01238, \
                 -0.01244, -0.01252, -0.01263");
        }
      }
    }

    pin(C) {
      capacitance : 0.004583 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01319, 0.01325, 0.01321, 0.01319, 0.01313, 0.01315, 0.01314, \
                 0.01313, 0.01313, 0.01314");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01325, -0.01322, -0.01319, -0.01313, -0.0131, -0.0131, -0.01309, \
                 -0.01309, -0.01308, -0.01307");
        }
      }

      internal_power() {
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01327, 0.01325, 0.01324, 0.01321, 0.01316, 0.01315, 0.01313, \
                 0.01313, 0.01313, 0.01312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01323, -0.01322, -0.01321, -0.0132, -0.01316, -0.01315, -0.01312, \
                 -0.01311, -0.0131, -0.01311");
        }
      }

      internal_power() {
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01319, 0.01323, 0.01323, 0.01318, 0.01314, 0.01315, 0.01314, \
                 0.01313, 0.01313, 0.01312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01325, -0.01322, -0.01321, -0.01316, -0.01314, -0.01312, -0.01311, \
                 -0.0131, -0.01309, -0.01309");
        }
      }

      internal_power() {
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01318, 0.01331, 0.01324, 0.01322, 0.01316, 0.01316, 0.01314, \
                 0.01314, 0.01314, 0.01314");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01325, -0.01322, -0.01322, -0.01315, -0.01313, -0.01312, -0.01309, \
                 -0.01309, -0.01308, -0.01308");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01318, 0.01331, 0.01324, 0.01322, 0.01316, 0.01316, 0.01315, \
                 0.01314, 0.01314, 0.01314");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01325, -0.01322, -0.01322, -0.01316, -0.01313, -0.01312, -0.0131, \
                 -0.01309, -0.01308, -0.01307");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|(!B)|(!C))" ;
      max_capacitance : 0.1803 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.01336, 0.01342, 0.01351, 0.0136, 0.01366, 0.01369, 0.01371, 0.01372, 0.01373, 0.01374",\
                 "0.01341, 0.01352, 0.01382, 0.01408, 0.01424, 0.01434, 0.0144, 0.01444, 0.01447, 0.01449",\
                 "0.014, 0.0141, 0.01431, 0.01454, 0.01471, 0.01486, 0.01494, 0.01498, 0.01502, 0.01506",\
                 "0.0179, 0.01768, 0.01722, 0.01678, 0.0164, 0.01611, 0.01592, 0.01577, 0.01566, 0.01558",\
                 "0.02696, 0.02632, 0.02472, 0.02285, 0.02123, 0.01991, 0.01894, 0.01816, 0.0176, 0.01717",\
                 "0.0421, 0.04106, 0.038, 0.03426, 0.03073, 0.02778, 0.0254, 0.02351, 0.022, 0.02082",\
                 "0.06375, 0.06221, 0.05782, 0.0519, 0.04603, 0.04088, 0.03653, 0.03298, 0.03004, 0.02767",\
                 "0.09216, 0.09029, 0.08464, 0.07658, 0.06802, 0.06025, 0.05341, 0.04763, 0.04279, 0.03873",\
                 "0.1277, 0.1255, 0.1187, 0.1087, 0.09747, 0.0866, 0.07694, 0.06853, 0.06124, 0.05504",\
                 "0.1706, 0.1681, 0.1604, 0.1486, 0.1347, 0.1207, 0.1078, 0.09635, 0.0863, 0.07746");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.06225, 0.06243, 0.06285, 0.06318, 0.06353, 0.06405, 0.0642, 0.06461, 0.0651, 0.06681",\
                 "0.0616, 0.0619, 0.06266, 0.06343, 0.0641, 0.06458, 0.06522, 0.06577, 0.06592, 0.06782",\
                 "0.06232, 0.06239, 0.06275, 0.06333, 0.0641, 0.06474, 0.06529, 0.0659, 0.06688, 0.06894",\
                 "0.06734, 0.06704, 0.06635, 0.06576, 0.06568, 0.0658, 0.06615, 0.06653, 0.06717, 0.06881",\
                 "0.07815, 0.07737, 0.07551, 0.07322, 0.07132, 0.07006, 0.06938, 0.069, 0.06908, 0.07083",\
                 "0.09552, 0.09438, 0.09099, 0.08689, 0.08294, 0.07943, 0.07694, 0.07524, 0.07392, 0.07568",\
                 "0.12, 0.1184, 0.1137, 0.1074, 0.1011, 0.09557, 0.0903, 0.08649, 0.08359, 0.08501",\
                 "0.152, 0.1499, 0.144, 0.1357, 0.1266, 0.1184, 0.1109, 0.1042, 0.09915, 0.1003",\
                 "0.1917, 0.1894, 0.1823, 0.1719, 0.1602, 0.1489, 0.1388, 0.1297, 0.1219, 0.1245",\
                 "0.2397, 0.2371, 0.229, 0.2168, 0.2025, 0.188, 0.1745, 0.1627, 0.1538, 0.1614");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.02296, 0.02297, 0.02297, 0.02297, 0.02297, 0.02298, 0.02298, 0.02299, 0.02298, 0.02298",\
                 "0.02197, 0.02199, 0.022, 0.02204, 0.02206, 0.02207, 0.02209, 0.0221, 0.0221, 0.02208",\
                 "0.02197, 0.02196, 0.02182, 0.02175, 0.02168, 0.02164, 0.02162, 0.0216, 0.02159, 0.02157",\
                 "0.02594, 0.0256, 0.02485, 0.02403, 0.02331, 0.02279, 0.02243, 0.02217, 0.02197, 0.02181",\
                 "0.03585, 0.03515, 0.03319, 0.03081, 0.02868, 0.02699, 0.02569, 0.02471, 0.02397, 0.02345",\
                 "0.05275, 0.05155, 0.04823, 0.04377, 0.03944, 0.03574, 0.03282, 0.03053, 0.02874, 0.02735",\
                 "0.07717, 0.07558, 0.07079, 0.06404, 0.05696, 0.0506, 0.0453, 0.041, 0.03755, 0.03475",\
                 "0.1095, 0.1075, 0.1014, 0.09232, 0.08231, 0.07278, 0.06444, 0.05747, 0.05163, 0.04688",\
                 "0.15, 0.1477, 0.1405, 0.1293, 0.1163, 0.1033, 0.09143, 0.08109, 0.07234, 0.06498",\
                 "0.1991, 0.1965, 0.1883, 0.1752, 0.1593, 0.1428, 0.1272, 0.113, 0.1008, 0.09015");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.07399, 0.07415, 0.07449, 0.07481, 0.07512, 0.0754, 0.07572, 0.07606, 0.07662, 0.07897",\
                 "0.07311, 0.07347, 0.07421, 0.07491, 0.07561, 0.0761, 0.07654, 0.07692, 0.07757, 0.07993",\
                 "0.07222, 0.07245, 0.07315, 0.0741, 0.07505, 0.076, 0.07657, 0.07722, 0.07784, 0.08016",\
                 "0.07609, 0.076, 0.0757, 0.07563, 0.07594, 0.07636, 0.07697, 0.07758, 0.07793, 0.08009",\
                 "0.08693, 0.08626, 0.0846, 0.08283, 0.08142, 0.08052, 0.08001, 0.07996, 0.08014, 0.08186",\
                 "0.1061, 0.1048, 0.1014, 0.09722, 0.09356, 0.09042, 0.08799, 0.08646, 0.0855, 0.08708",\
                 "0.1336, 0.1319, 0.127, 0.1201, 0.1135, 0.1077, 0.1029, 0.09883, 0.09607, 0.09694",\
                 "0.1698, 0.1677, 0.1614, 0.152, 0.1421, 0.1332, 0.1254, 0.1189, 0.1135, 0.1135",\
                 "0.2148, 0.2124, 0.2049, 0.1935, 0.1804, 0.1676, 0.1567, 0.147, 0.1391, 0.1391",\
                 "0.2691, 0.2664, 0.258, 0.2447, 0.2285, 0.2123, 0.1973, 0.1842, 0.1738, 0.1774");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.02503, 0.02507, 0.02514, 0.02519, 0.02522, 0.02526, 0.02528, 0.0253, 0.02528, 0.02528",\
                 "0.02448, 0.02456, 0.02474, 0.02492, 0.02505, 0.02514, 0.0252, 0.02521, 0.02522, 0.02523",\
                 "0.02354, 0.02364, 0.02397, 0.02433, 0.02461, 0.02481, 0.02494, 0.02504, 0.02509, 0.02512",\
                 "0.0245, 0.0245, 0.02456, 0.02469, 0.02481, 0.02493, 0.02502, 0.02508, 0.02512, 0.02515",\
                 "0.03058, 0.03027, 0.02954, 0.02873, 0.02795, 0.02739, 0.02694, 0.02657, 0.02631, 0.0261",\
                 "0.04362, 0.04294, 0.04107, 0.03859, 0.03621, 0.03418, 0.0325, 0.03115, 0.03005, 0.02922",\
                 "0.06461, 0.06352, 0.06021, 0.05567, 0.05103, 0.04682, 0.04322, 0.04021, 0.03776, 0.03574",\
                 "0.09405, 0.0925, 0.08772, 0.08095, 0.0735, 0.06658, 0.06044, 0.05517, 0.0507, 0.04699",\
                 "0.1319, 0.1299, 0.1239, 0.1148, 0.1045, 0.09434, 0.08517, 0.07704, 0.07006, 0.06407",\
                 "0.1784, 0.1761, 0.169, 0.1578, 0.1445, 0.1309, 0.1183, 0.1069, 0.09679, 0.08801");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.1193, 0.1194, 0.1194, 0.1195, 0.1197, 0.12, 0.1203, 0.1207, 0.1213, 0.122",\
                 "0.1185, 0.1186, 0.1187, 0.119, 0.1192, 0.1195, 0.1199, 0.1204, 0.1208, 0.1215",\
                 "0.1182, 0.1182, 0.1183, 0.1185, 0.1188, 0.1191, 0.1196, 0.1201, 0.1205, 0.1212",\
                 "0.1226, 0.1224, 0.1217, 0.121, 0.1206, 0.1205, 0.1205, 0.1208, 0.1212, 0.1216",\
                 "0.1336, 0.133, 0.1313, 0.1291, 0.1269, 0.1255, 0.1245, 0.1239, 0.1235, 0.1236",\
                 "0.1522, 0.1512, 0.1482, 0.1442, 0.14, 0.1362, 0.1333, 0.131, 0.1295, 0.1286",\
                 "0.1789, 0.1775, 0.1734, 0.1672, 0.1604, 0.1544, 0.1488, 0.1443, 0.1408, 0.138",\
                 "0.2138, 0.2122, 0.2071, 0.1991, 0.1896, 0.1803, 0.1721, 0.1649, 0.1586, 0.1535",\
                 "0.2574, 0.2556, 0.2498, 0.2402, 0.2283, 0.2156, 0.2039, 0.1936, 0.1844, 0.1764",\
                 "0.3103, 0.3082, 0.3018, 0.2909, 0.2766, 0.2609, 0.2455, 0.2315, 0.2189, 0.2085");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.01453, 0.01457, 0.01466, 0.01471, 0.01474, 0.01476, 0.01479, 0.01481, 0.01481, 0.01482",\
                 "0.01381, 0.01391, 0.01422, 0.01443, 0.01457, 0.01465, 0.0147, 0.01474, 0.01475, 0.01477",\
                 "0.01265, 0.01282, 0.01326, 0.01374, 0.01407, 0.01431, 0.01446, 0.01455, 0.01462, 0.01466",\
                 "0.01393, 0.01393, 0.01399, 0.01413, 0.01428, 0.01442, 0.01452, 0.0146, 0.01464, 0.01468",\
                 "0.02091, 0.02052, 0.01956, 0.01847, 0.01762, 0.01703, 0.01652, 0.01613, 0.01586, 0.01566",\
                 "0.03524, 0.03435, 0.03195, 0.02897, 0.02627, 0.02402, 0.02224, 0.02082, 0.01969, 0.01882",\
                 "0.05763, 0.05625, 0.05221, 0.04688, 0.04163, 0.03705, 0.03321, 0.03007, 0.02752, 0.02544",\
                 "0.08819, 0.08643, 0.08089, 0.07303, 0.06481, 0.05727, 0.05076, 0.04526, 0.04066, 0.03682",\
                 "0.1272, 0.1249, 0.1181, 0.1079, 0.09647, 0.08561, 0.0759, 0.06745, 0.06023, 0.05408",\
                 "0.1745, 0.1719, 0.1639, 0.1517, 0.1373, 0.1229, 0.1095, 0.09767, 0.08727, 0.07824");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.1078, 0.1079, 0.1079, 0.1081, 0.1082, 0.1085, 0.1088, 0.1092, 0.1099, 0.1104",\
                 "0.107, 0.1071, 0.1072, 0.1075, 0.1077, 0.1081, 0.1085, 0.109, 0.1093, 0.11",\
                 "0.1066, 0.1066, 0.1068, 0.107, 0.1073, 0.1077, 0.1081, 0.1086, 0.1092, 0.1097",\
                 "0.1111, 0.1109, 0.1102, 0.1095, 0.1091, 0.1089, 0.1092, 0.1093, 0.1097, 0.1102",\
                 "0.1221, 0.1215, 0.1198, 0.1177, 0.1156, 0.114, 0.113, 0.1122, 0.1121, 0.1121",\
                 "0.1408, 0.1398, 0.1369, 0.1326, 0.1286, 0.1247, 0.1218, 0.1198, 0.1182, 0.1172",\
                 "0.1676, 0.1662, 0.1621, 0.1558, 0.1491, 0.1428, 0.1373, 0.1328, 0.129, 0.1264",\
                 "0.2025, 0.2009, 0.1957, 0.1878, 0.1782, 0.1688, 0.1607, 0.1533, 0.147, 0.1422",\
                 "0.2462, 0.2444, 0.2385, 0.2289, 0.217, 0.2042, 0.1925, 0.182, 0.1728, 0.1649",\
                 "0.299, 0.297, 0.2905, 0.2794, 0.2653, 0.2496, 0.2339, 0.2201, 0.2074, 0.1967");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.0145, 0.01453, 0.01462, 0.01469, 0.01473, 0.01476, 0.0148, 0.01479, 0.0148, 0.01481",\
                 "0.01382, 0.01395, 0.0142, 0.01442, 0.01457, 0.01464, 0.0147, 0.01472, 0.01475, 0.01476",\
                 "0.0127, 0.01287, 0.01329, 0.01375, 0.01408, 0.01431, 0.01446, 0.01455, 0.01461, 0.01465",\
                 "0.0143, 0.01427, 0.01429, 0.01438, 0.01449, 0.01457, 0.01464, 0.01468, 0.01471, 0.01473",\
                 "0.02177, 0.02139, 0.02031, 0.01916, 0.01821, 0.01747, 0.01687, 0.01644, 0.0161, 0.01585",\
                 "0.03654, 0.03563, 0.03316, 0.03009, 0.02721, 0.02481, 0.0229, 0.02137, 0.02017, 0.01921",\
                 "0.05937, 0.0579, 0.0539, 0.04841, 0.043, 0.03822, 0.03424, 0.03098, 0.02831, 0.02612",\
                 "0.09026, 0.08847, 0.08286, 0.07497, 0.06659, 0.05885, 0.0522, 0.04651, 0.04176, 0.03781",\
                 "0.1295, 0.1273, 0.1204, 0.1102, 0.09869, 0.08765, 0.07773, 0.06912, 0.0617, 0.05541",\
                 "0.1772, 0.1746, 0.1666, 0.1543, 0.1399, 0.1253, 0.1117, 0.09967, 0.0891, 0.07991");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.1169, 0.1168, 0.1169, 0.1171, 0.1173, 0.1175, 0.1179, 0.1182, 0.1188, 0.1194",\
                 "0.1162, 0.1162, 0.1164, 0.1168, 0.117, 0.1174, 0.1177, 0.1183, 0.1186, 0.1193",\
                 "0.1158, 0.1158, 0.116, 0.1163, 0.1166, 0.1171, 0.1175, 0.1181, 0.1186, 0.1193",\
                 "0.1202, 0.12, 0.1195, 0.1188, 0.1185, 0.1184, 0.1186, 0.1189, 0.1191, 0.1198",\
                 "0.1311, 0.1305, 0.1291, 0.1271, 0.1252, 0.1236, 0.1227, 0.1218, 0.1217, 0.1221",\
                 "0.1496, 0.1488, 0.1459, 0.1423, 0.1383, 0.1347, 0.1318, 0.1295, 0.1279, 0.127",\
                 "0.1762, 0.175, 0.1712, 0.1655, 0.1591, 0.1532, 0.1478, 0.1431, 0.1397, 0.1372",\
                 "0.2112, 0.2097, 0.205, 0.1976, 0.1886, 0.1797, 0.1719, 0.1645, 0.1583, 0.1532",\
                 "0.2549, 0.2532, 0.2478, 0.2389, 0.2277, 0.2155, 0.2043, 0.1942, 0.1848, 0.1773",\
                 "0.3079, 0.306, 0.2999, 0.2897, 0.2764, 0.2614, 0.2466, 0.2331, 0.2209, 0.2102");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.02501, 0.02502, 0.02511, 0.02518, 0.02524, 0.02526, 0.02527, 0.02528, 0.02528, 0.02529",\
                 "0.02448, 0.02454, 0.02473, 0.02492, 0.02505, 0.02513, 0.02518, 0.02522, 0.02524, 0.02523",\
                 "0.02348, 0.0236, 0.02392, 0.0243, 0.0246, 0.0248, 0.02494, 0.02502, 0.02509, 0.02511",\
                 "0.02413, 0.02416, 0.02426, 0.02447, 0.02464, 0.02482, 0.02494, 0.02504, 0.02509, 0.02512",\
                 "0.03002, 0.02977, 0.02914, 0.02843, 0.02782, 0.02735, 0.02688, 0.02657, 0.02632, 0.02615",\
                 "0.04332, 0.0427, 0.04091, 0.03863, 0.03636, 0.03443, 0.03283, 0.0315, 0.03043, 0.02956",\
                 "0.06521, 0.06411, 0.06092, 0.05658, 0.05205, 0.04792, 0.04438, 0.04141, 0.03889, 0.03682",\
                 "0.09604, 0.09453, 0.09002, 0.0833, 0.07603, 0.06911, 0.06295, 0.05767, 0.05313, 0.04929",\
                 "0.1363, 0.1344, 0.1284, 0.1195, 0.1092, 0.09895, 0.08968, 0.08148, 0.07433, 0.06811",\
                 "0.1858, 0.1836, 0.1765, 0.1654, 0.1521, 0.1384, 0.1254, 0.1139, 0.1035, 0.09447");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.1347, 0.1347, 0.1347, 0.1348, 0.135, 0.1352, 0.1355, 0.1359, 0.1364, 0.1371",\
                 "0.1337, 0.1337, 0.1338, 0.1339, 0.1341, 0.1344, 0.1347, 0.1351, 0.1355, 0.1363",\
                 "0.1339, 0.1339, 0.1338, 0.1338, 0.1339, 0.1341, 0.1344, 0.1348, 0.1352, 0.136",\
                 "0.1387, 0.1385, 0.1377, 0.1367, 0.1361, 0.1357, 0.1356, 0.1357, 0.1359, 0.1365",\
                 "0.1504, 0.1498, 0.148, 0.1454, 0.143, 0.1412, 0.14, 0.139, 0.1385, 0.1384",\
                 "0.1701, 0.169, 0.1659, 0.1615, 0.157, 0.1527, 0.1494, 0.1468, 0.145, 0.1439",\
                 "0.1986, 0.1971, 0.1928, 0.1861, 0.1788, 0.1721, 0.1659, 0.1607, 0.1568, 0.1538",\
                 "0.2361, 0.2344, 0.2291, 0.2204, 0.2101, 0.2, 0.1908, 0.1826, 0.1759, 0.1705",\
                 "0.2832, 0.2812, 0.2751, 0.2646, 0.2517, 0.238, 0.225, 0.2136, 0.2029, 0.1947",\
                 "0.3403, 0.3381, 0.3311, 0.3194, 0.3039, 0.287, 0.2698, 0.2543, 0.2404, 0.2286");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.01451, 0.01454, 0.01464, 0.01469, 0.01476, 0.01477, 0.01479, 0.01479, 0.01481, 0.01481",\
                 "0.0138, 0.01394, 0.01421, 0.01442, 0.01456, 0.01464, 0.01469, 0.01473, 0.01475, 0.01477",\
                 "0.01256, 0.01273, 0.01318, 0.01369, 0.01405, 0.01429, 0.01444, 0.01454, 0.01461, 0.01465",\
                 "0.0135, 0.01351, 0.01365, 0.01389, 0.01413, 0.01432, 0.01445, 0.01455, 0.01461, 0.01466",\
                 "0.02023, 0.01991, 0.01907, 0.01817, 0.01746, 0.0169, 0.01646, 0.01613, 0.01588, 0.01569",\
                 "0.03467, 0.03392, 0.03166, 0.02894, 0.02641, 0.02428, 0.02256, 0.02118, 0.02007, 0.01917",\
                 "0.05786, 0.05654, 0.05275, 0.04766, 0.04258, 0.03815, 0.03438, 0.03126, 0.02867, 0.02654",\
                 "0.09004, 0.08826, 0.08293, 0.07532, 0.06725, 0.0598, 0.05331, 0.04776, 0.04308, 0.03914",\
                 "0.1314, 0.1292, 0.1224, 0.1124, 0.1012, 0.09021, 0.08044, 0.07189, 0.06451, 0.05817",\
                 "0.1818, 0.1793, 0.1714, 0.1592, 0.1448, 0.1303, 0.1168, 0.1046, 0.09402, 0.08472");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.1231, 0.1232, 0.1232, 0.1233, 0.1235, 0.1238, 0.1242, 0.1246, 0.1251, 0.1258",\
                 "0.1222, 0.1222, 0.1223, 0.1224, 0.1227, 0.1229, 0.1234, 0.1236, 0.1242, 0.1249",\
                 "0.1224, 0.1223, 0.1223, 0.1223, 0.1225, 0.1228, 0.123, 0.1234, 0.1239, 0.1245",\
                 "0.1273, 0.127, 0.1262, 0.1252, 0.1246, 0.1243, 0.1242, 0.1242, 0.1246, 0.1249",\
                 "0.139, 0.1383, 0.1365, 0.134, 0.1315, 0.1298, 0.1285, 0.1275, 0.127, 0.1273",\
                 "0.1588, 0.1576, 0.1544, 0.1501, 0.1455, 0.1412, 0.1378, 0.1354, 0.1336, 0.1324",\
                 "0.1872, 0.1859, 0.1814, 0.1748, 0.1673, 0.1606, 0.1544, 0.1493, 0.1455, 0.1425",\
                 "0.2248, 0.2232, 0.2177, 0.209, 0.1988, 0.1885, 0.1795, 0.171, 0.1643, 0.1589",\
                 "0.2719, 0.27, 0.2637, 0.2534, 0.2403, 0.2267, 0.2136, 0.2021, 0.1919, 0.1831",\
                 "0.329, 0.3268, 0.3199, 0.3081, 0.2927, 0.2756, 0.2588, 0.2428, 0.2289, 0.2167");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.01451, 0.01454, 0.01462, 0.01469, 0.01475, 0.01477, 0.01479, 0.01479, 0.0148, 0.01481",\
                 "0.01382, 0.01394, 0.01419, 0.01442, 0.01456, 0.01463, 0.01469, 0.01472, 0.01475, 0.01476",\
                 "0.01258, 0.01276, 0.01321, 0.01369, 0.01406, 0.01429, 0.01444, 0.01454, 0.0146, 0.01465",\
                 "0.0138, 0.01383, 0.01393, 0.01411, 0.01433, 0.01446, 0.01456, 0.01463, 0.01468, 0.01471",\
                 "0.02109, 0.02073, 0.01987, 0.01886, 0.01804, 0.01739, 0.01689, 0.01647, 0.01616, 0.01591",\
                 "0.03615, 0.0353, 0.03307, 0.03019, 0.02753, 0.02525, 0.02338, 0.02186, 0.02065, 0.01966",\
                 "0.05983, 0.05853, 0.05472, 0.04951, 0.04425, 0.03962, 0.03566, 0.03237, 0.02965, 0.02737",\
                 "0.09249, 0.09071, 0.08536, 0.07766, 0.06941, 0.06168, 0.05503, 0.0493, 0.04443, 0.04034",\
                 "0.1342, 0.132, 0.1252, 0.1152, 0.1037, 0.09269, 0.08267, 0.07389, 0.06624, 0.05975",\
                 "0.185, 0.1825, 0.1746, 0.1623, 0.1479, 0.1332, 0.1194, 0.1071, 0.09622, 0.08674");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.1322, 0.1321, 0.1322, 0.1323, 0.1324, 0.1327, 0.1331, 0.1334, 0.134, 0.1346",\
                 "0.1312, 0.1313, 0.1313, 0.1315, 0.1317, 0.1319, 0.1323, 0.1327, 0.1333, 0.1338",\
                 "0.1315, 0.1315, 0.1315, 0.1315, 0.1316, 0.1318, 0.1322, 0.1327, 0.1328, 0.1336",\
                 "0.1364, 0.1361, 0.1354, 0.1346, 0.134, 0.1336, 0.1335, 0.1336, 0.1339, 0.1343",\
                 "0.148, 0.1474, 0.1458, 0.1435, 0.1412, 0.1395, 0.1381, 0.1374, 0.1365, 0.1368",\
                 "0.1676, 0.1666, 0.1638, 0.1597, 0.1554, 0.1512, 0.148, 0.1454, 0.1436, 0.1425",\
                 "0.196, 0.1947, 0.1908, 0.1846, 0.1778, 0.1712, 0.1652, 0.1602, 0.1562, 0.1528",\
                 "0.2335, 0.232, 0.227, 0.2192, 0.2095, 0.1999, 0.191, 0.1828, 0.176, 0.1704",\
                 "0.2807, 0.2789, 0.2731, 0.2635, 0.2514, 0.2385, 0.2259, 0.2147, 0.2043, 0.1956",\
                 "0.3378, 0.3358, 0.3295, 0.3185, 0.3041, 0.2879, 0.2717, 0.2564, 0.2429, 0.2309");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.1223, 0.1422, 0.2124, 0.3461, 0.5542, 0.8456, 1.229, 1.711, 2.301, 3.004",\
                 "0.1351, 0.155, 0.2256, 0.3596, 0.5681, 0.8599, 1.243, 1.726, 2.315, 3.018",\
                 "0.1785, 0.1996, 0.2681, 0.4014, 0.6095, 0.9014, 1.285, 1.767, 2.357, 3.06",\
                 "0.2152, 0.2438, 0.3341, 0.4828, 0.6895, 0.9796, 1.362, 1.845, 2.434, 3.135",\
                 "0.231, 0.2674, 0.3809, 0.5645, 0.8087, 1.108, 1.487, 1.967, 2.555, 3.255",\
                 "0.2225, 0.2672, 0.4049, 0.6247, 0.9127, 1.263, 1.668, 2.147, 2.73, 3.43",\
                 "0.1868, 0.2395, 0.4032, 0.661, 0.994, 1.394, 1.858, 2.381, 2.97, 3.664",\
                 "0.1223, 0.1823, 0.3708, 0.6688, 1.05, 1.502, 2.022, 2.608, 3.256, 3.967",\
                 "0.0274, 0.0955, 0.3086, 0.6448, 1.077, 1.584, 2.159, 2.807, 3.523, 4.304",\
                 "-0.101, -0.024, 0.2138, 0.589, 1.07, 1.635, 2.272, 2.978, 3.759, 4.613");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2109, 0.2432, 0.3561, 0.5688, 0.8983, 1.362, 1.969, 2.736, 3.669, 4.785",\
                 "0.2225, 0.2558, 0.3694, 0.5843, 0.9158, 1.379, 1.988, 2.755, 3.688, 4.804",\
                 "0.2792, 0.311, 0.4235, 0.637, 0.969, 1.433, 2.041, 2.809, 3.747, 4.862",\
                 "0.3866, 0.4233, 0.5414, 0.7508, 1.079, 1.54, 2.149, 2.914, 3.85, 4.963",\
                 "0.5229, 0.5656, 0.7048, 0.9391, 1.265, 1.72, 2.323, 3.085, 4.018, 5.131",\
                 "0.6918, 0.7424, 0.9004, 1.166, 1.531, 1.988, 2.583, 3.339, 4.265, 5.375",\
                 "0.8908, 0.9496, 1.133, 1.429, 1.833, 2.339, 2.94, 3.688, 4.606, 5.707",\
                 "1.12, 1.189, 1.399, 1.731, 2.173, 2.727, 3.384, 4.14, 5.049, 6.142",\
                 "1.38, 1.459, 1.699, 2.073, 2.558, 3.154, 3.866, 4.684, 5.604, 6.687",\
                 "1.672, 1.761, 2.031, 2.45, 2.985, 3.627, 4.388, 5.269, 6.254, 7.35");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2031, 0.2402, 0.3649, 0.5986, 0.9582, 1.461, 2.124, 2.956, 3.976, 5.19",\
                 "0.2006, 0.2372, 0.3642, 0.5985, 0.9583, 1.462, 2.122, 2.954, 3.973, 5.19",\
                 "0.2143, 0.2446, 0.3587, 0.596, 0.9585, 1.461, 2.124, 2.955, 3.974, 5.182",\
                 "0.2867, 0.3197, 0.4315, 0.6294, 0.9583, 1.461, 2.125, 2.955, 3.975, 5.184",\
                 "0.3924, 0.4292, 0.5484, 0.761, 1.066, 1.496, 2.124, 2.955, 3.971, 5.181",\
                 "0.5204, 0.565, 0.7012, 0.9272, 1.253, 1.679, 2.226, 2.976, 3.974, 5.184",\
                 "0.6666, 0.72, 0.8808, 1.132, 1.476, 1.93, 2.488, 3.164, 4.054, 5.2",\
                 "0.8284, 0.8906, 1.082, 1.371, 1.741, 2.215, 2.804, 3.506, 4.325, 5.362",\
                 "1.007, 1.08, 1.299, 1.632, 2.046, 2.547, 3.159, 3.894, 4.747, 5.723",\
                 "1.204, 1.286, 1.532, 1.914, 2.377, 2.921, 3.558, 4.321, 5.214, 6.23");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.3199, 0.3755, 0.5708, 0.9428, 1.521, 2.332, 3.402, 4.742, 6.392, 8.341",\
                 "0.3199, 0.3757, 0.5708, 0.9411, 1.522, 2.335, 3.401, 4.747, 6.386, 8.338",\
                 "0.3213, 0.3756, 0.5699, 0.9422, 1.521, 2.334, 3.399, 4.743, 6.391, 8.35",\
                 "0.3877, 0.4377, 0.5998, 0.9422, 1.521, 2.332, 3.401, 4.741, 6.385, 8.336",\
                 "0.472, 0.526, 0.7096, 1.023, 1.536, 2.331, 3.403, 4.743, 6.381, 8.34",\
                 "0.589, 0.6454, 0.835, 1.182, 1.666, 2.374, 3.404, 4.742, 6.38, 8.343",\
                 "0.7342, 0.7954, 0.993, 1.352, 1.879, 2.554, 3.482, 4.753, 6.39, 8.343",\
                 "0.8968, 0.9646, 1.188, 1.556, 2.103, 2.83, 3.71, 4.876, 6.413, 8.343",\
                 "1.074, 1.154, 1.401, 1.802, 2.356, 3.121, 4.052, 5.157, 6.581, 8.394",\
                 "1.263, 1.359, 1.641, 2.075, 2.654, 3.427, 4.413, 5.563, 6.91, 8.608");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.1632, 0.1841, 0.2564, 0.392, 0.6014, 0.894, 1.278, 1.762, 2.352, 3.054",\
                 "0.1729, 0.1938, 0.2661, 0.4018, 0.6112, 0.9036, 1.288, 1.772, 2.362, 3.064",\
                 "0.2162, 0.236, 0.3061, 0.4412, 0.6505, 0.9427, 1.327, 1.81, 2.4, 3.103",\
                 "0.2713, 0.2973, 0.3818, 0.524, 0.7304, 1.021, 1.404, 1.887, 2.476, 3.178",\
                 "0.3116, 0.3435, 0.447, 0.6198, 0.8557, 1.15, 1.53, 2.011, 2.599, 3.299",\
                 "0.3349, 0.3735, 0.4965, 0.7001, 0.9746, 1.315, 1.713, 2.191, 2.775, 3.474",\
                 "0.341, 0.3855, 0.5281, 0.7639, 1.077, 1.462, 1.915, 2.431, 3.017, 3.711",\
                 "0.3284, 0.3795, 0.5414, 0.8092, 1.163, 1.592, 2.096, 2.671, 3.311, 4.018",\
                 "0.2974, 0.3543, 0.5356, 0.8347, 1.23, 1.706, 2.259, 2.888, 3.592, 4.364",\
                 "0.2465, 0.309, 0.5088, 0.8401, 1.275, 1.8, 2.404, 3.087, 3.85, 4.69");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2466, 0.2791, 0.3914, 0.604, 0.9335, 1.396, 2.004, 2.769, 3.705, 4.823",\
                 "0.2594, 0.2925, 0.4072, 0.6215, 0.9529, 1.415, 2.024, 2.79, 3.726, 4.845",\
                 "0.2981, 0.3308, 0.4449, 0.6603, 0.9929, 1.458, 2.067, 2.834, 3.769, 4.888",\
                 "0.3648, 0.4006, 0.52, 0.7329, 1.063, 1.527, 2.135, 2.903, 3.837, 4.95",\
                 "0.4602, 0.4991, 0.6271, 0.8552, 1.187, 1.644, 2.249, 3.012, 3.946, 5.059",\
                 "0.5812, 0.6259, 0.7695, 1.012, 1.363, 1.826, 2.423, 3.18, 4.109, 5.218",\
                 "0.7224, 0.7748, 0.9384, 1.206, 1.575, 2.061, 2.669, 3.418, 4.338, 5.441",\
                 "0.8817, 0.9421, 1.129, 1.428, 1.827, 2.334, 2.968, 3.732, 4.644, 5.738",\
                 "1.061, 1.129, 1.34, 1.676, 2.112, 2.651, 3.307, 4.099, 5.03, 6.115",\
                 "1.259, 1.336, 1.572, 1.944, 2.425, 3.005, 3.692, 4.509, 5.47, 6.578");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2615, 0.2978, 0.4225, 0.6548, 1.015, 1.52, 2.181, 3.014, 4.031, 5.243",\
                 "0.26, 0.2968, 0.4216, 0.6544, 1.015, 1.52, 2.18, 3.014, 4.033, 5.243",\
                 "0.2594, 0.2931, 0.415, 0.654, 1.015, 1.519, 2.18, 3.015, 4.033, 5.244",\
                 "0.3331, 0.3661, 0.4774, 0.6768, 1.013, 1.519, 2.181, 3.014, 4.033, 5.243",\
                 "0.4388, 0.4755, 0.594, 0.8058, 1.109, 1.548, 2.182, 3.014, 4.032, 5.244",\
                 "0.5746, 0.6148, 0.7466, 0.9694, 1.296, 1.721, 2.273, 3.033, 4.031, 5.244",\
                 "0.7306, 0.7802, 0.9296, 1.174, 1.516, 1.97, 2.53, 3.212, 4.103, 5.254",\
                 "0.9066, 0.9642, 1.14, 1.414, 1.779, 2.249, 2.842, 3.546, 4.37, 5.407",\
                 "1.101, 1.168, 1.371, 1.683, 2.082, 2.577, 3.188, 3.929, 4.786, 5.766",\
                 "1.312, 1.39, 1.625, 1.979, 2.423, 2.948, 3.581, 4.348, 5.245, 6.265");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.3204, 0.3759, 0.5702, 0.9421, 1.522, 2.33, 3.401, 4.749, 6.384, 8.348",\
                 "0.3205, 0.3757, 0.5709, 0.9409, 1.522, 2.332, 3.397, 4.747, 6.382, 8.351",\
                 "0.325, 0.3782, 0.5701, 0.9416, 1.52, 2.333, 3.396, 4.739, 6.38, 8.35",\
                 "0.3806, 0.4302, 0.6009, 0.9464, 1.521, 2.331, 3.396, 4.743, 6.386, 8.341",\
                 "0.4594, 0.5086, 0.6832, 1.014, 1.541, 2.333, 3.399, 4.74, 6.382, 8.345",\
                 "0.5804, 0.63, 0.7972, 1.128, 1.643, 2.381, 3.403, 4.748, 6.395, 8.354",\
                 "0.7252, 0.7804, 0.9564, 1.276, 1.789, 2.514, 3.484, 4.767, 6.394, 8.349",\
                 "0.8828, 0.9456, 1.141, 1.479, 1.977, 2.699, 3.652, 4.873, 6.43, 8.352",\
                 "1.055, 1.125, 1.345, 1.711, 2.219, 2.928, 3.881, 5.078, 6.568, 8.424",\
                 "1.239, 1.315, 1.562, 1.967, 2.511, 3.206, 4.145, 5.352, 6.815, 8.595");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2528, 0.2738, 0.3461, 0.4819, 0.6913, 0.9838, 1.368, 1.852, 2.442, 3.144",\
                 "0.2636, 0.2848, 0.3574, 0.4934, 0.7032, 0.996, 1.38, 1.864, 2.454, 3.156",\
                 "0.2955, 0.3167, 0.3899, 0.5264, 0.7366, 1.03, 1.414, 1.898, 2.488, 3.191",\
                 "0.3307, 0.3552, 0.4361, 0.5785, 0.7888, 1.082, 1.466, 1.95, 2.54, 3.244",\
                 "0.3536, 0.3828, 0.477, 0.6386, 0.867, 1.165, 1.548, 2.031, 2.621, 3.323",\
                 "0.3559, 0.3908, 0.5035, 0.6898, 0.9446, 1.269, 1.668, 2.151, 2.738, 3.44",\
                 "0.3329, 0.3745, 0.506, 0.7231, 1.012, 1.369, 1.798, 2.305, 2.898, 3.597",\
                 "0.2847, 0.332, 0.4826, 0.7314, 1.059, 1.456, 1.922, 2.464, 3.089, 3.801",\
                 "0.2089, 0.2614, 0.4313, 0.7113, 1.08, 1.523, 2.033, 2.615, 3.277, 4.026",\
                 "0.1053, 0.1633, 0.3508, 0.6607, 1.071, 1.561, 2.123, 2.752, 3.457, 4.246");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2387, 0.2608, 0.3372, 0.4801, 0.6999, 1.006, 1.408, 1.913, 2.529, 3.263",\
                 "0.2545, 0.2768, 0.3536, 0.4968, 0.7169, 1.023, 1.425, 1.93, 2.546, 3.28",\
                 "0.3176, 0.3398, 0.4164, 0.5597, 0.7796, 1.086, 1.488, 1.994, 2.61, 3.344",\
                 "0.4462, 0.4705, 0.5483, 0.6897, 0.9078, 1.213, 1.614, 2.118, 2.734, 3.468",\
                 "0.6041, 0.6333, 0.7298, 0.8937, 1.117, 1.418, 1.816, 2.318, 2.931, 3.664",\
                 "0.7898, 0.8243, 0.936, 1.128, 1.392, 1.714, 2.11, 2.607, 3.218, 3.946",\
                 "1.005, 1.045, 1.174, 1.392, 1.691, 2.065, 2.499, 2.999, 3.603, 4.327",\
                 "1.25, 1.296, 1.443, 1.691, 2.025, 2.441, 2.931, 3.484, 4.098, 4.817",\
                 "1.526, 1.578, 1.745, 2.023, 2.396, 2.852, 3.39, 4.006, 4.684, 5.421",\
                 "1.833, 1.891, 2.08, 2.39, 2.803, 3.303, 3.887, 4.557, 5.303, 6.114");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2648, 0.3, 0.4231, 0.6554, 1.015, 1.52, 2.181, 3.014, 4.031, 5.245",\
                 "0.2648, 0.3005, 0.4231, 0.6549, 1.015, 1.52, 2.181, 3.014, 4.031, 5.244",\
                 "0.2687, 0.3025, 0.4232, 0.6549, 1.015, 1.52, 2.181, 3.015, 4.031, 5.245",\
                 "0.3281, 0.3598, 0.4672, 0.6742, 1.019, 1.519, 2.181, 3.014, 4.033, 5.245",\
                 "0.424, 0.4556, 0.5638, 0.7686, 1.082, 1.542, 2.183, 3.014, 4.032, 5.245",\
                 "0.5622, 0.5946, 0.7038, 0.9054, 1.219, 1.659, 2.249, 3.034, 4.032, 5.244",\
                 "0.729, 0.7636, 0.8828, 1.091, 1.402, 1.84, 2.418, 3.151, 4.088, 5.257",\
                 "0.9112, 0.953, 1.087, 1.315, 1.637, 2.07, 2.645, 3.373, 4.263, 5.363",\
                 "1.11, 1.158, 1.307, 1.563, 1.912, 2.354, 2.925, 3.649, 4.539, 5.596",\
                 "1.323, 1.374, 1.545, 1.835, 2.214, 2.688, 3.263, 3.985, 4.868, 5.928");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.3982, 0.4368, 0.5706, 0.8219, 1.208, 1.747, 2.455, 3.345, 4.428, 5.722",\
                 "0.3982, 0.4368, 0.5705, 0.822, 1.208, 1.748, 2.454, 3.343, 4.431, 5.724",\
                 "0.3976, 0.4364, 0.571, 0.8224, 1.209, 1.747, 2.454, 3.344, 4.43, 5.723",\
                 "0.4626, 0.4922, 0.6005, 0.8275, 1.209, 1.747, 2.455, 3.345, 4.43, 5.72",\
                 "0.5978, 0.6324, 0.7436, 0.9364, 1.252, 1.752, 2.455, 3.345, 4.43, 5.723",\
                 "0.7472, 0.7852, 0.9124, 1.136, 1.44, 1.861, 2.483, 3.347, 4.431, 5.723",\
                 "0.9228, 0.965, 1.101, 1.345, 1.694, 2.124, 2.669, 3.425, 4.443, 5.723",\
                 "1.116, 1.163, 1.318, 1.579, 1.953, 2.438, 3.008, 3.687, 4.587, 5.764",\
                 "1.324, 1.378, 1.553, 1.842, 2.24, 2.758, 3.39, 4.106, 4.931, 5.984",\
                 "1.549, 1.613, 1.807, 2.128, 2.56, 3.107, 3.778, 4.564, 5.433, 6.415");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.208, 0.2284, 0.2986, 0.4323, 0.6401, 0.9312, 1.315, 1.798, 2.386, 3.089",\
                 "0.2184, 0.2388, 0.3099, 0.4441, 0.6523, 0.9438, 1.327, 1.81, 2.399, 3.101",\
                 "0.2482, 0.2695, 0.342, 0.477, 0.6855, 0.9772, 1.361, 1.844, 2.434, 3.136",\
                 "0.2722, 0.2982, 0.3823, 0.5275, 0.7377, 1.03, 1.413, 1.896, 2.485, 3.189",\
                 "0.2797, 0.3119, 0.4133, 0.5807, 0.8128, 1.113, 1.496, 1.978, 2.565, 3.268",\
                 "0.2644, 0.3037, 0.4262, 0.6231, 0.8846, 1.213, 1.614, 2.097, 2.684, 3.383",\
                 "0.2244, 0.2707, 0.4147, 0.6455, 0.9445, 1.307, 1.741, 2.251, 2.844, 3.543",\
                 "0.1594, 0.213, 0.3782, 0.6418, 0.9828, 1.389, 1.86, 2.406, 3.033, 3.747",\
                 "0.0697, 0.1281, 0.3126, 0.6102, 0.9941, 1.448, 1.966, 2.553, 3.218, 3.969",\
                 "-0.0511, 0.0146, 0.2199, 0.5496, 0.9753, 1.479, 2.05, 2.685, 3.394, 4.186");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2334, 0.2557, 0.3324, 0.4753, 0.695, 1.001, 1.402, 1.906, 2.523, 3.257",\
                 "0.2492, 0.2716, 0.3487, 0.4919, 0.7117, 1.018, 1.419, 1.924, 2.538, 3.274",\
                 "0.3124, 0.3347, 0.4115, 0.5548, 0.7747, 1.081, 1.482, 1.988, 2.602, 3.338",\
                 "0.44, 0.4645, 0.5433, 0.6848, 0.9025, 1.207, 1.608, 2.112, 2.727, 3.462",\
                 "0.596, 0.6254, 0.7226, 0.8879, 1.112, 1.413, 1.81, 2.31, 2.925, 3.658",\
                 "0.7799, 0.8143, 0.9272, 1.121, 1.385, 1.708, 2.103, 2.601, 3.21, 3.938",\
                 "0.9922, 1.033, 1.164, 1.382, 1.683, 2.057, 2.492, 2.991, 3.594, 4.319",\
                 "1.233, 1.281, 1.43, 1.679, 2.014, 2.43, 2.922, 3.475, 4.089, 4.807",\
                 "1.505, 1.559, 1.727, 2.01, 2.383, 2.84, 3.38, 3.995, 4.674, 5.412",\
                 "1.808, 1.866, 2.058, 2.373, 2.787, 3.289, 3.875, 4.544, 5.291, 6.102");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.212, 0.2463, 0.3684, 0.5985, 0.9577, 1.461, 2.12, 2.956, 3.973, 5.187",\
                 "0.2122, 0.2464, 0.3684, 0.5989, 0.9589, 1.46, 2.121, 2.956, 3.973, 5.187",\
                 "0.2246, 0.2552, 0.3701, 0.5989, 0.9595, 1.461, 2.124, 2.958, 3.971, 5.187",\
                 "0.2907, 0.3213, 0.4264, 0.6264, 0.9629, 1.46, 2.123, 2.956, 3.972, 5.192",\
                 "0.3958, 0.4248, 0.5282, 0.727, 1.038, 1.489, 2.124, 2.954, 3.976, 5.185",\
                 "0.5398, 0.5704, 0.6758, 0.8714, 1.18, 1.615, 2.198, 2.979, 3.977, 5.187",\
                 "0.708, 0.7424, 0.8574, 1.067, 1.366, 1.799, 2.373, 3.1, 4.038, 5.204",\
                 "0.8934, 0.93, 1.061, 1.289, 1.604, 2.033, 2.602, 3.327, 4.214, 5.307",\
                 "1.087, 1.133, 1.283, 1.534, 1.882, 2.324, 2.886, 3.608, 4.492, 5.545",\
                 "1.301, 1.347, 1.515, 1.8, 2.183, 2.657, 3.235, 3.945, 4.824, 5.879");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.331, 0.3692, 0.5009, 0.7498, 1.135, 1.674, 2.38, 3.272, 4.355, 5.649",\
                 "0.3308, 0.3687, 0.5022, 0.7501, 1.136, 1.674, 2.381, 3.27, 4.357, 5.652",\
                 "0.3293, 0.3682, 0.5006, 0.7509, 1.135, 1.674, 2.38, 3.27, 4.357, 5.649",\
                 "0.3938, 0.4227, 0.5299, 0.7552, 1.135, 1.674, 2.38, 3.27, 4.358, 5.65",\
                 "0.5072, 0.5452, 0.664, 0.863, 1.177, 1.677, 2.38, 3.271, 4.357, 5.651",\
                 "0.6362, 0.678, 0.8146, 1.049, 1.363, 1.786, 2.408, 3.271, 4.356, 5.65",\
                 "0.7858, 0.834, 0.9864, 1.245, 1.606, 2.047, 2.594, 3.347, 4.367, 5.65",\
                 "0.9514, 1.006, 1.181, 1.462, 1.853, 2.35, 2.93, 3.611, 4.511, 5.688",\
                 "1.132, 1.196, 1.396, 1.709, 2.127, 2.659, 3.302, 4.03, 4.856, 5.915",\
                 "1.324, 1.399, 1.626, 1.976, 2.435, 2.995, 3.681, 4.48, 5.353, 6.34");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.181, 0.1979, 0.2568, 0.3691, 0.5419, 0.7848, 1.104, 1.506, 1.997, 2.582",\
                 "0.1918, 0.209, 0.2687, 0.3808, 0.554, 0.7968, 1.116, 1.518, 2.009, 2.594",\
                 "0.227, 0.2454, 0.3066, 0.4198, 0.5933, 0.837, 1.156, 1.559, 2.05, 2.635",\
                 "0.2577, 0.2821, 0.3599, 0.4891, 0.6673, 0.9109, 1.23, 1.633, 2.123, 2.708",\
                 "0.2679, 0.2996, 0.3967, 0.5555, 0.7675, 1.028, 1.349, 1.75, 2.24, 2.824",\
                 "0.256, 0.2933, 0.4122, 0.6028, 0.8527, 1.156, 1.51, 1.919, 2.409, 2.992",\
                 "0.2194, 0.2636, 0.403, 0.6263, 0.917, 1.264, 1.667, 2.121, 2.631, 3.216",\
                 "0.158, 0.208, 0.3672, 0.6236, 0.956, 1.351, 1.802, 2.309, 2.872, 3.493",\
                 "0.07, 0.1262, 0.3032, 0.5924, 0.9666, 1.41, 1.913, 2.474, 3.094, 3.772",\
                 "-0.0477, 0.014, 0.2103, 0.5295, 0.9468, 1.44, 1.998, 2.615, 3.292, 4.03");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.261, 0.2827, 0.3579, 0.4995, 0.7181, 1.024, 1.425, 1.927, 2.544, 3.275",\
                 "0.2773, 0.2992, 0.3747, 0.5168, 0.7357, 1.041, 1.442, 1.947, 2.561, 3.298",\
                 "0.3405, 0.3622, 0.4377, 0.5797, 0.7986, 1.104, 1.506, 2.011, 2.625, 3.361",\
                 "0.4707, 0.4937, 0.57, 0.7096, 0.9267, 1.231, 1.631, 2.135, 2.751, 3.484",\
                 "0.6337, 0.6618, 0.7557, 0.9159, 1.137, 1.437, 1.834, 2.334, 2.948, 3.68",\
                 "0.8247, 0.8579, 0.9664, 1.155, 1.415, 1.734, 2.128, 2.625, 3.235, 3.962",\
                 "1.047, 1.085, 1.21, 1.423, 1.719, 2.089, 2.519, 3.017, 3.62, 4.343",\
                 "1.299, 1.343, 1.486, 1.728, 2.057, 2.469, 2.956, 3.504, 4.117, 4.835",\
                 "1.583, 1.632, 1.795, 2.066, 2.433, 2.885, 3.42, 4.033, 4.707, 5.442",\
                 "1.896, 1.953, 2.136, 2.44, 2.847, 3.343, 3.923, 4.59, 5.332, 6.139");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2137, 0.2423, 0.3433, 0.536, 0.8349, 1.253, 1.806, 2.498, 3.347, 4.358",\
                 "0.2138, 0.2423, 0.343, 0.5364, 0.8343, 1.253, 1.803, 2.498, 3.347, 4.354",\
                 "0.2323, 0.2561, 0.3477, 0.5363, 0.8345, 1.255, 1.804, 2.499, 3.343, 4.354",\
                 "0.325, 0.3488, 0.4305, 0.5825, 0.8464, 1.254, 1.804, 2.497, 3.344, 4.357",\
                 "0.4492, 0.4734, 0.5596, 0.7212, 0.9642, 1.309, 1.816, 2.499, 3.343, 4.353",\
                 "0.609, 0.6342, 0.7232, 0.8916, 1.149, 1.496, 1.941, 2.55, 3.351, 4.352",\
                 "0.7902, 0.8186, 0.9184, 1.098, 1.366, 1.732, 2.193, 2.752, 3.472, 4.394",\
                 "0.9872, 1.02, 1.133, 1.336, 1.625, 2.001, 2.483, 3.068, 3.754, 4.592",\
                 "1.197, 1.235, 1.368, 1.594, 1.912, 2.313, 2.811, 3.422, 4.136, 4.962",\
                 "1.423, 1.465, 1.612, 1.87, 2.225, 2.662, 3.183, 3.811, 4.555, 5.408");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.3614, 0.3993, 0.5319, 0.7806, 1.166, 1.704, 2.409, 3.298, 4.387, 5.673",\
                 "0.3609, 0.3994, 0.5318, 0.7803, 1.165, 1.704, 2.41, 3.3, 4.382, 5.681",\
                 "0.3613, 0.3993, 0.5315, 0.7804, 1.165, 1.704, 2.409, 3.3, 4.383, 5.681",\
                 "0.4144, 0.4452, 0.5548, 0.7838, 1.165, 1.704, 2.411, 3.3, 4.386, 5.68",\
                 "0.5324, 0.5694, 0.6862, 0.8836, 1.203, 1.707, 2.41, 3.301, 4.386, 5.681",\
                 "0.6614, 0.7014, 0.8382, 1.07, 1.382, 1.809, 2.434, 3.302, 4.387, 5.68",\
                 "0.8106, 0.8576, 1.006, 1.263, 1.624, 2.062, 2.613, 3.373, 4.396, 5.68",\
                 "0.9796, 1.032, 1.2, 1.476, 1.868, 2.364, 2.945, 3.629, 4.532, 5.715",\
                 "1.163, 1.224, 1.412, 1.722, 2.137, 2.67, 3.314, 4.039, 4.87, 5.931",\
                 "1.36, 1.43, 1.643, 1.986, 2.439, 3.002, 3.69, 4.488, 5.362, 6.351");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2528, 0.2738, 0.3461, 0.4819, 0.6913, 0.9838, 1.368, 1.852, 2.442, 3.144",\
                 "0.2636, 0.2848, 0.3574, 0.4934, 0.7032, 0.996, 1.38, 1.864, 2.454, 3.156",\
                 "0.2955, 0.3167, 0.3899, 0.5264, 0.7366, 1.03, 1.414, 1.898, 2.488, 3.191",\
                 "0.3307, 0.3552, 0.4361, 0.5785, 0.7888, 1.082, 1.466, 1.95, 2.54, 3.244",\
                 "0.3536, 0.3828, 0.477, 0.6386, 0.867, 1.165, 1.548, 2.031, 2.621, 3.323",\
                 "0.3559, 0.3908, 0.5035, 0.6898, 0.9446, 1.269, 1.668, 2.151, 2.738, 3.44",\
                 "0.3329, 0.3745, 0.506, 0.7231, 1.012, 1.369, 1.798, 2.305, 2.898, 3.597",\
                 "0.2847, 0.332, 0.4826, 0.7314, 1.059, 1.456, 1.922, 2.464, 3.089, 3.801",\
                 "0.2089, 0.2614, 0.4313, 0.7113, 1.08, 1.523, 2.033, 2.615, 3.277, 4.026",\
                 "0.1053, 0.1633, 0.3508, 0.6607, 1.071, 1.561, 2.123, 2.752, 3.457, 4.246");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.261, 0.2827, 0.3579, 0.4995, 0.7181, 1.024, 1.425, 1.927, 2.544, 3.275",\
                 "0.2773, 0.2992, 0.3747, 0.5168, 0.7357, 1.041, 1.442, 1.947, 2.561, 3.298",\
                 "0.3405, 0.3622, 0.4377, 0.5797, 0.7986, 1.104, 1.506, 2.011, 2.625, 3.361",\
                 "0.4707, 0.4937, 0.57, 0.7096, 0.9267, 1.231, 1.631, 2.135, 2.751, 3.484",\
                 "0.6337, 0.6618, 0.7557, 0.9159, 1.137, 1.437, 1.834, 2.334, 2.948, 3.68",\
                 "0.8247, 0.8579, 0.9664, 1.155, 1.415, 1.734, 2.128, 2.625, 3.235, 3.962",\
                 "1.047, 1.085, 1.21, 1.423, 1.719, 2.089, 2.519, 3.017, 3.62, 4.343",\
                 "1.299, 1.343, 1.486, 1.728, 2.057, 2.469, 2.956, 3.504, 4.117, 4.835",\
                 "1.583, 1.632, 1.795, 2.066, 2.433, 2.885, 3.42, 4.033, 4.707, 5.442",\
                 "1.896, 1.953, 2.136, 2.44, 2.847, 3.343, 3.923, 4.59, 5.332, 6.139");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2648, 0.3, 0.4231, 0.6554, 1.015, 1.52, 2.181, 3.014, 4.031, 5.245",\
                 "0.2648, 0.3005, 0.4231, 0.6549, 1.015, 1.52, 2.181, 3.014, 4.031, 5.244",\
                 "0.2687, 0.3025, 0.4232, 0.6549, 1.015, 1.52, 2.181, 3.015, 4.031, 5.245",\
                 "0.3281, 0.3598, 0.4672, 0.6742, 1.019, 1.519, 2.181, 3.014, 4.033, 5.245",\
                 "0.424, 0.4556, 0.5638, 0.7686, 1.082, 1.542, 2.183, 3.014, 4.032, 5.245",\
                 "0.5622, 0.5946, 0.7038, 0.9054, 1.219, 1.659, 2.249, 3.034, 4.032, 5.244",\
                 "0.729, 0.7636, 0.8828, 1.091, 1.402, 1.84, 2.418, 3.151, 4.088, 5.257",\
                 "0.9112, 0.953, 1.087, 1.315, 1.637, 2.07, 2.645, 3.373, 4.263, 5.363",\
                 "1.11, 1.158, 1.307, 1.563, 1.912, 2.354, 2.925, 3.649, 4.539, 5.596",\
                 "1.323, 1.374, 1.545, 1.835, 2.214, 2.688, 3.263, 3.985, 4.868, 5.928");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.3982, 0.4368, 0.5706, 0.8219, 1.208, 1.747, 2.455, 3.345, 4.428, 5.722",\
                 "0.3982, 0.4368, 0.5705, 0.822, 1.208, 1.748, 2.454, 3.343, 4.431, 5.724",\
                 "0.3976, 0.4364, 0.571, 0.8224, 1.209, 1.747, 2.454, 3.344, 4.43, 5.723",\
                 "0.4626, 0.4922, 0.6005, 0.8275, 1.209, 1.747, 2.455, 3.345, 4.43, 5.72",\
                 "0.5978, 0.6324, 0.7436, 0.9364, 1.252, 1.752, 2.455, 3.345, 4.43, 5.723",\
                 "0.7472, 0.7852, 0.9124, 1.136, 1.44, 1.861, 2.483, 3.347, 4.431, 5.723",\
                 "0.9228, 0.965, 1.101, 1.345, 1.694, 2.124, 2.669, 3.425, 4.443, 5.723",\
                 "1.116, 1.163, 1.318, 1.579, 1.953, 2.438, 3.008, 3.687, 4.587, 5.764",\
                 "1.324, 1.378, 1.553, 1.842, 2.24, 2.758, 3.39, 4.106, 4.931, 5.984",\
                 "1.549, 1.613, 1.807, 2.128, 2.56, 3.107, 3.778, 4.564, 5.433, 6.415");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2671, 0.288, 0.3604, 0.4962, 0.7055, 0.998, 1.382, 1.866, 2.455, 3.159",\
                 "0.277, 0.2981, 0.3708, 0.5068, 0.7165, 1.009, 1.394, 1.877, 2.468, 3.17",\
                 "0.2972, 0.3185, 0.3917, 0.5284, 0.7385, 1.032, 1.416, 1.9, 2.49, 3.193",\
                 "0.3134, 0.3368, 0.4152, 0.5564, 0.7667, 1.06, 1.444, 1.928, 2.518, 3.221",\
                 "0.3139, 0.3402, 0.4268, 0.5795, 0.8028, 1.1, 1.484, 1.966, 2.556, 3.259",\
                 "0.2898, 0.3213, 0.4216, 0.5915, 0.8305, 1.146, 1.542, 2.025, 2.612, 3.313",\
                 "0.2346, 0.2714, 0.3886, 0.5831, 0.8466, 1.182, 1.597, 2.1, 2.694, 3.392",\
                 "0.1458, 0.1876, 0.3235, 0.5452, 0.8403, 1.205, 1.643, 2.167, 2.783, 3.496",\
                 "0.0236, 0.071, 0.2232, 0.4731, 0.8038, 1.203, 1.674, 2.223, 2.862, 3.599",\
                 "-0.1366, -0.0833, 0.0867, 0.3637, 0.7313, 1.171, 1.68, 2.264, 2.93, 3.69");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.262, 0.2849, 0.3632, 0.5085, 0.7303, 1.038, 1.441, 1.947, 2.563, 3.298",\
                 "0.2774, 0.3003, 0.3789, 0.5242, 0.7461, 1.054, 1.457, 1.963, 2.579, 3.314",\
                 "0.342, 0.3649, 0.4428, 0.5879, 0.8095, 1.117, 1.52, 2.026, 2.643, 3.377",\
                 "0.4772, 0.5004, 0.5769, 0.7193, 0.9386, 1.244, 1.646, 2.151, 2.767, 3.501",\
                 "0.6496, 0.6779, 0.7707, 0.9295, 1.15, 1.452, 1.85, 2.352, 2.966, 3.698",\
                 "0.8543, 0.8863, 0.9929, 1.178, 1.434, 1.751, 2.145, 2.643, 3.253, 3.981",\
                 "1.095, 1.132, 1.253, 1.459, 1.749, 2.113, 2.539, 3.036, 3.64, 4.363",\
                 "1.373, 1.415, 1.551, 1.782, 2.101, 2.505, 2.985, 3.528, 4.139, 4.856",\
                 "1.691, 1.737, 1.89, 2.147, 2.498, 2.937, 3.461, 4.064, 4.733, 5.466",\
                 "2.049, 2.101, 2.271, 2.556, 2.942, 3.417, 3.981, 4.635, 5.369, 6.169");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2649, 0.2999, 0.4231, 0.6556, 1.015, 1.52, 2.181, 3.015, 4.03, 5.244",\
                 "0.2647, 0.3, 0.4231, 0.6551, 1.015, 1.52, 2.181, 3.015, 4.032, 5.243",\
                 "0.2673, 0.3014, 0.4232, 0.6551, 1.017, 1.52, 2.181, 3.015, 4.032, 5.242",\
                 "0.3086, 0.3414, 0.4551, 0.6701, 1.018, 1.52, 2.181, 3.015, 4.032, 5.244",\
                 "0.379, 0.4102, 0.5228, 0.7384, 1.07, 1.542, 2.184, 3.015, 4.032, 5.246",\
                 "0.498, 0.5294, 0.6356, 0.8412, 1.17, 1.634, 2.244, 3.036, 4.034, 5.244",\
                 "0.6508, 0.6834, 0.7928, 0.9976, 1.309, 1.767, 2.375, 3.14, 4.093, 5.263",\
                 "0.8268, 0.8626, 0.9812, 1.191, 1.505, 1.945, 2.543, 3.308, 4.239, 5.365",\
                 "1.022, 1.061, 1.191, 1.418, 1.744, 2.183, 2.76, 3.514, 4.446, 5.557",\
                 "1.234, 1.277, 1.42, 1.669, 2.015, 2.468, 3.046, 3.774, 4.693, 5.804");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.4481, 0.4866, 0.6205, 0.872, 1.26, 1.799, 2.506, 3.395, 4.482, 5.775",\
                 "0.4481, 0.4864, 0.6205, 0.872, 1.259, 1.799, 2.507, 3.397, 4.483, 5.771",\
                 "0.4465, 0.4855, 0.6203, 0.8721, 1.259, 1.798, 2.507, 3.397, 4.484, 5.777",\
                 "0.4954, 0.5256, 0.6397, 0.8742, 1.259, 1.799, 2.506, 3.398, 4.484, 5.774",\
                 "0.6304, 0.6636, 0.775, 0.9694, 1.293, 1.802, 2.507, 3.398, 4.484, 5.776",\
                 "0.7788, 0.816, 0.9428, 1.166, 1.47, 1.9, 2.531, 3.399, 4.484, 5.776",\
                 "0.948, 0.9896, 1.127, 1.373, 1.722, 2.153, 2.705, 3.469, 4.494, 5.777",\
                 "1.139, 1.185, 1.337, 1.598, 1.975, 2.463, 3.033, 3.722, 4.63, 5.814",\
                 "1.345, 1.398, 1.567, 1.852, 2.254, 2.775, 3.41, 4.127, 4.962, 6.028",\
                 "1.571, 1.63, 1.819, 2.133, 2.56, 3.11, 3.79, 4.581, 5.451, 6.442");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2224, 0.2427, 0.313, 0.4465, 0.6548, 0.9456, 1.329, 1.812, 2.402, 3.103",\
                 "0.2316, 0.2523, 0.3233, 0.4572, 0.6653, 0.9566, 1.34, 1.823, 2.412, 3.114",\
                 "0.2504, 0.2715, 0.3435, 0.4789, 0.6874, 0.9794, 1.363, 1.846, 2.435, 3.139",\
                 "0.2596, 0.2835, 0.3632, 0.5055, 0.7155, 1.007, 1.391, 1.875, 2.463, 3.167",\
                 "0.2493, 0.278, 0.3687, 0.5243, 0.7493, 1.048, 1.431, 1.913, 2.502, 3.203",\
                 "0.2098, 0.2448, 0.3534, 0.5304, 0.7735, 1.091, 1.488, 1.972, 2.558, 3.258",\
                 "0.1378, 0.1791, 0.3083, 0.5135, 0.7847, 1.124, 1.541, 2.045, 2.639, 3.337",\
                 "0.0345, 0.0823, 0.23, 0.4662, 0.7717, 1.142, 1.584, 2.11, 2.727, 3.441",\
                 "-0.1035, -0.0494, 0.1182, 0.3838, 0.7268, 1.135, 1.612, 2.164, 2.804, 3.541",\
                 "-0.2771, -0.2182, -0.0314, 0.2646, 0.6459, 1.097, 1.614, 2.202, 2.87, 3.632");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2559, 0.279, 0.3578, 0.5032, 0.725, 1.032, 1.435, 1.94, 2.557, 3.291",\
                 "0.2714, 0.2945, 0.3734, 0.5191, 0.7409, 1.048, 1.451, 1.956, 2.572, 3.307",\
                 "0.3361, 0.359, 0.4375, 0.5827, 0.8042, 1.111, 1.514, 2.019, 2.635, 3.368",\
                 "0.4706, 0.4943, 0.5716, 0.7139, 0.9333, 1.239, 1.64, 2.144, 2.761, 3.493",\
                 "0.6411, 0.6691, 0.7636, 0.9234, 1.144, 1.446, 1.843, 2.345, 2.957, 3.691",\
                 "0.8435, 0.8762, 0.984, 1.17, 1.427, 1.745, 2.138, 2.636, 3.245, 3.973",\
                 "1.082, 1.12, 1.241, 1.45, 1.741, 2.105, 2.532, 3.028, 3.632, 4.354",\
                 "1.356, 1.399, 1.537, 1.771, 2.091, 2.495, 2.976, 3.52, 4.13, 4.847",\
                 "1.671, 1.718, 1.873, 2.133, 2.486, 2.926, 3.451, 4.055, 4.724, 5.456",\
                 "2.024, 2.077, 2.25, 2.539, 2.927, 3.404, 3.969, 4.622, 5.356, 6.156");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2121, 0.2463, 0.3675, 0.5981, 0.9585, 1.461, 2.122, 2.956, 3.976, 5.178",\
                 "0.2121, 0.2464, 0.3684, 0.5985, 0.9577, 1.462, 2.123, 2.956, 3.972, 5.187",\
                 "0.2204, 0.2521, 0.3685, 0.5994, 0.957, 1.461, 2.123, 2.956, 3.976, 5.186",\
                 "0.266, 0.2972, 0.4094, 0.62, 0.9631, 1.46, 2.123, 2.957, 3.975, 5.184",\
                 "0.3475, 0.3768, 0.4816, 0.6918, 1.022, 1.488, 2.127, 2.955, 3.976, 5.186",\
                 "0.476, 0.5046, 0.6044, 0.8012, 1.124, 1.585, 2.191, 2.984, 3.979, 5.182",\
                 "0.6358, 0.6652, 0.7694, 0.9652, 1.27, 1.719, 2.325, 3.086, 4.039, 5.208",\
                 "0.8166, 0.8484, 0.9608, 1.164, 1.474, 1.904, 2.495, 3.259, 4.187, 5.308",\
                 "1.013, 1.05, 1.172, 1.394, 1.713, 2.149, 2.719, 3.466, 4.395, 5.505",\
                 "1.225, 1.265, 1.401, 1.643, 1.985, 2.437, 3.008, 3.731, 4.644, 5.752");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.3738, 0.4131, 0.5479, 0.798, 1.184, 1.725, 2.432, 3.321, 4.408, 5.705",\
                 "0.3736, 0.4122, 0.5469, 0.7992, 1.185, 1.724, 2.433, 3.323, 4.408, 5.7",\
                 "0.3723, 0.4117, 0.5471, 0.7975, 1.184, 1.725, 2.432, 3.324, 4.411, 5.705",\
                 "0.4203, 0.4514, 0.5654, 0.7998, 1.185, 1.724, 2.432, 3.323, 4.408, 5.703",\
                 "0.5376, 0.5758, 0.6942, 0.8944, 1.218, 1.727, 2.431, 3.322, 4.41, 5.704",\
                 "0.6676, 0.708, 0.8462, 1.08, 1.395, 1.825, 2.455, 3.323, 4.409, 5.705",\
                 "0.8144, 0.8628, 1.014, 1.273, 1.634, 2.075, 2.629, 3.392, 4.419, 5.703",\
                 "0.9824, 1.037, 1.205, 1.485, 1.876, 2.376, 2.956, 3.645, 4.554, 5.739",\
                 "1.161, 1.224, 1.416, 1.724, 2.142, 2.678, 3.324, 4.051, 4.887, 5.95",\
                 "1.358, 1.428, 1.643, 1.988, 2.437, 3.001, 3.692, 4.494, 5.374, 6.367");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.1953, 0.2123, 0.2713, 0.3831, 0.5561, 0.799, 1.118, 1.52, 2.011, 2.597",\
                 "0.2051, 0.2224, 0.2817, 0.3939, 0.5673, 0.8102, 1.13, 1.532, 2.023, 2.608",\
                 "0.2256, 0.2436, 0.3044, 0.4175, 0.5917, 0.8346, 1.155, 1.556, 2.047, 2.632",\
                 "0.2378, 0.2595, 0.3304, 0.4536, 0.6314, 0.8748, 1.194, 1.597, 2.087, 2.672",\
                 "0.2307, 0.2577, 0.3424, 0.4833, 0.6807, 0.9376, 1.258, 1.659, 2.15, 2.734",\
                 "0.194, 0.2268, 0.3316, 0.4984, 0.7202, 0.9998, 1.343, 1.753, 2.242, 2.825",\
                 "0.1253, 0.1646, 0.2888, 0.486, 0.7416, 1.051, 1.42, 1.857, 2.365, 2.95",\
                 "0.0259, 0.0706, 0.2128, 0.4404, 0.7344, 1.082, 1.484, 1.95, 2.487, 3.099",\
                 "-0.1078, -0.0574, 0.1026, 0.3592, 0.6919, 1.083, 1.528, 2.029, 2.597, 3.24",\
                 "-0.2793, -0.2229, -0.0452, 0.2406, 0.6108, 1.048, 1.54, 2.086, 2.692, 3.368");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2887, 0.3107, 0.3873, 0.5302, 0.7498, 1.056, 1.457, 1.962, 2.578, 3.313",\
                 "0.3043, 0.3266, 0.4031, 0.5462, 0.7661, 1.072, 1.474, 1.978, 2.595, 3.326",\
                 "0.3692, 0.3914, 0.4675, 0.6102, 0.83, 1.136, 1.538, 2.042, 2.659, 3.394",\
                 "0.5046, 0.5267, 0.6017, 0.742, 0.9593, 1.264, 1.664, 2.167, 2.782, 3.517",\
                 "0.6824, 0.709, 0.7993, 0.954, 1.171, 1.472, 1.868, 2.37, 2.981, 3.714",\
                 "0.8916, 0.9227, 1.026, 1.207, 1.459, 1.772, 2.165, 2.661, 3.27, 3.998",\
                 "1.139, 1.174, 1.29, 1.493, 1.779, 2.139, 2.561, 3.056, 3.658, 4.382",\
                 "1.424, 1.464, 1.596, 1.822, 2.136, 2.535, 3.012, 3.551, 4.16, 4.876",\
                 "1.749, 1.794, 1.942, 2.194, 2.538, 2.973, 3.494, 4.093, 4.759, 5.487",\
                 "2.115, 2.165, 2.33, 2.61, 2.988, 3.459, 4.02, 4.669, 5.4, 6.195");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2137, 0.2424, 0.3435, 0.536, 0.834, 1.254, 1.804, 2.498, 3.347, 4.358",\
                 "0.2133, 0.2423, 0.3433, 0.536, 0.8352, 1.253, 1.804, 2.498, 3.346, 4.357",\
                 "0.2256, 0.2514, 0.3459, 0.5364, 0.8352, 1.253, 1.804, 2.496, 3.345, 4.354",\
                 "0.2883, 0.3131, 0.4018, 0.5705, 0.8464, 1.254, 1.804, 2.499, 3.344, 4.354",\
                 "0.394, 0.4163, 0.497, 0.663, 0.9282, 1.301, 1.818, 2.498, 3.345, 4.354",\
                 "0.5416, 0.5636, 0.6432, 0.7982, 1.055, 1.428, 1.915, 2.549, 3.357, 4.355",\
                 "0.7172, 0.74, 0.823, 0.9834, 1.233, 1.592, 2.082, 2.698, 3.458, 4.404",\
                 "0.9118, 0.9392, 1.028, 1.2, 1.459, 1.812, 2.288, 2.904, 3.662, 4.558",\
                 "1.122, 1.149, 1.251, 1.442, 1.718, 2.086, 2.552, 3.155, 3.908, 4.812",\
                 "1.345, 1.377, 1.491, 1.703, 2.01, 2.394, 2.879, 3.472, 4.209, 5.11");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.4073, 0.4461, 0.58, 0.8297, 1.216, 1.755, 2.464, 3.354, 4.441, 5.734",\
                 "0.4076, 0.4452, 0.5801, 0.8304, 1.217, 1.756, 2.464, 3.354, 4.439, 5.731",\
                 "0.4064, 0.4448, 0.5789, 0.8304, 1.217, 1.756, 2.463, 3.354, 4.439, 5.734",\
                 "0.4456, 0.4776, 0.594, 0.8314, 1.216, 1.755, 2.463, 3.354, 4.441, 5.733",\
                 "0.5646, 0.6026, 0.7186, 0.9168, 1.245, 1.757, 2.463, 3.354, 4.442, 5.735",\
                 "0.6926, 0.7342, 0.8702, 1.101, 1.414, 1.848, 2.483, 3.354, 4.441, 5.735",\
                 "0.8396, 0.885, 1.034, 1.292, 1.652, 2.093, 2.65, 3.418, 4.449, 5.735",\
                 "1.006, 1.058, 1.221, 1.5, 1.892, 2.392, 2.972, 3.663, 4.576, 5.766",\
                 "1.188, 1.246, 1.429, 1.733, 2.151, 2.689, 3.336, 4.061, 4.903, 5.97",\
                 "1.385, 1.452, 1.656, 1.992, 2.438, 3.005, 3.7, 4.503, 5.383, 6.382");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2671, 0.288, 0.3604, 0.4962, 0.7055, 0.998, 1.382, 1.866, 2.455, 3.159",\
                 "0.277, 0.2981, 0.3708, 0.5068, 0.7165, 1.009, 1.394, 1.877, 2.468, 3.17",\
                 "0.2972, 0.3185, 0.3917, 0.5284, 0.7385, 1.032, 1.416, 1.9, 2.49, 3.193",\
                 "0.3134, 0.3368, 0.4152, 0.5564, 0.7667, 1.06, 1.444, 1.928, 2.518, 3.221",\
                 "0.3139, 0.3402, 0.4268, 0.5795, 0.8028, 1.1, 1.484, 1.966, 2.556, 3.259",\
                 "0.2898, 0.3213, 0.4216, 0.5915, 0.8305, 1.146, 1.542, 2.025, 2.612, 3.313",\
                 "0.2346, 0.2714, 0.3886, 0.5831, 0.8466, 1.182, 1.597, 2.1, 2.694, 3.392",\
                 "0.1458, 0.1876, 0.3235, 0.5452, 0.8403, 1.205, 1.643, 2.167, 2.783, 3.496",\
                 "0.0236, 0.071, 0.2232, 0.4731, 0.8038, 1.203, 1.674, 2.223, 2.862, 3.599",\
                 "-0.1366, -0.0833, 0.0867, 0.3637, 0.7313, 1.171, 1.68, 2.264, 2.93, 3.69");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2887, 0.3107, 0.3873, 0.5302, 0.7498, 1.056, 1.457, 1.962, 2.578, 3.313",\
                 "0.3043, 0.3266, 0.4031, 0.5462, 0.7661, 1.072, 1.474, 1.978, 2.595, 3.326",\
                 "0.3692, 0.3914, 0.4675, 0.6102, 0.83, 1.136, 1.538, 2.042, 2.659, 3.394",\
                 "0.5046, 0.5267, 0.6017, 0.742, 0.9593, 1.264, 1.664, 2.167, 2.782, 3.517",\
                 "0.6824, 0.709, 0.7993, 0.954, 1.171, 1.472, 1.868, 2.37, 2.981, 3.714",\
                 "0.8916, 0.9227, 1.026, 1.207, 1.459, 1.772, 2.165, 2.661, 3.27, 3.998",\
                 "1.139, 1.174, 1.29, 1.493, 1.779, 2.139, 2.561, 3.056, 3.658, 4.382",\
                 "1.424, 1.464, 1.596, 1.822, 2.136, 2.535, 3.012, 3.551, 4.16, 4.876",\
                 "1.749, 1.794, 1.942, 2.194, 2.538, 2.973, 3.494, 4.093, 4.759, 5.487",\
                 "2.115, 2.165, 2.33, 2.61, 2.988, 3.459, 4.02, 4.669, 5.4, 6.195");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.2649, 0.2999, 0.4231, 0.6556, 1.015, 1.52, 2.181, 3.015, 4.03, 5.244",\
                 "0.2647, 0.3, 0.4231, 0.6551, 1.015, 1.52, 2.181, 3.015, 4.032, 5.243",\
                 "0.2673, 0.3014, 0.4232, 0.6551, 1.017, 1.52, 2.181, 3.015, 4.032, 5.242",\
                 "0.3086, 0.3414, 0.4551, 0.6701, 1.018, 1.52, 2.181, 3.015, 4.032, 5.244",\
                 "0.379, 0.4102, 0.5228, 0.7384, 1.07, 1.542, 2.184, 3.015, 4.032, 5.246",\
                 "0.498, 0.5294, 0.6356, 0.8412, 1.17, 1.634, 2.244, 3.036, 4.034, 5.244",\
                 "0.6508, 0.6834, 0.7928, 0.9976, 1.309, 1.767, 2.375, 3.14, 4.093, 5.263",\
                 "0.8268, 0.8626, 0.9812, 1.191, 1.505, 1.945, 2.543, 3.308, 4.239, 5.365",\
                 "1.022, 1.061, 1.191, 1.418, 1.744, 2.183, 2.76, 3.514, 4.446, 5.557",\
                 "1.234, 1.277, 1.42, 1.669, 2.015, 2.468, 3.046, 3.774, 4.693, 5.804");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002238, 0.006582, 0.01488, 0.0278, 0.04594, 0.0698, 0.09986, 0.1366, 0.1803");
          values("0.4481, 0.4866, 0.6205, 0.872, 1.26, 1.799, 2.506, 3.395, 4.482, 5.775",\
                 "0.4481, 0.4864, 0.6205, 0.872, 1.259, 1.799, 2.507, 3.397, 4.483, 5.771",\
                 "0.4465, 0.4855, 0.6203, 0.8721, 1.259, 1.798, 2.507, 3.397, 4.484, 5.777",\
                 "0.4954, 0.5256, 0.6397, 0.8742, 1.259, 1.799, 2.506, 3.398, 4.484, 5.774",\
                 "0.6304, 0.6636, 0.775, 0.9694, 1.293, 1.802, 2.507, 3.398, 4.484, 5.776",\
                 "0.7788, 0.816, 0.9428, 1.166, 1.47, 1.9, 2.531, 3.399, 4.484, 5.776",\
                 "0.948, 0.9896, 1.127, 1.373, 1.722, 2.153, 2.705, 3.469, 4.494, 5.777",\
                 "1.139, 1.185, 1.337, 1.598, 1.975, 2.463, 3.033, 3.722, 4.63, 5.814",\
                 "1.345, 1.398, 1.567, 1.852, 2.254, 2.775, 3.41, 4.127, 4.962, 6.028",\
                 "1.571, 1.63, 1.819, 2.133, 2.56, 3.11, 3.79, 4.581, 5.451, 6.442");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai211_2) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&!C" ;
      value : "6.57195e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&C" ;
      value : "6.57228e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&!C" ;
      value : "6.57954e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&C" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&!C" ;
      value : "0.0001148829" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&C" ;
      value : "0.0001149885" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&!C" ;
      value : "0.0001465629" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&C" ;
      value : "0.0001194435" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&!C" ;
      value : "0.0001148829" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&C" ;
      value : "0.0001149885" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&!C" ;
      value : "0.0001465629" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&C" ;
      value : "9.06708e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&!C" ;
      value : "0.000115269" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&C" ;
      value : "0.0001153746" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&!C" ;
      value : "0.0001470216" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&C" ;
      value : "9.06708e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001470216" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008865 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03348, 0.03348, 0.03335, 0.03329, 0.03325, 0.03324, 0.03326, \
                 0.03328, 0.03323, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01408, 0.01413, 0.01416, 0.01406, 0.01398, 0.01386, 0.01384, \
                 0.01372, 0.01368, 0.01351");
        }
      }

      internal_power() {
        when : "!A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03348, 0.03346, 0.03341, 0.03331, 0.03327, 0.03327, 0.03326, \
                 0.03328, 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01413, 0.01413, 0.01412, 0.01408, 0.01403, 0.01387, 0.0138, \
                 0.01372, 0.01363, 0.01349");
        }
      }

      internal_power() {
        when : "!A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03348, 0.03346, 0.03341, 0.03331, 0.03327, 0.03326, 0.03326, \
                 0.03328, 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04698, 0.04699, 0.04701, 0.04691, 0.04686, 0.04668, 0.04658, \
                 0.0464, 0.04626, 0.0461");
        }
      }

      internal_power() {
        when : "A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03348, 0.03351, 0.03354, 0.03342, 0.03334, 0.03335, 0.03332, \
                 0.03329, 0.03323, 0.03319");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03239, -0.03228, -0.03237, -0.03256, -0.03269, -0.03281, -0.03284, \
                 -0.03287, -0.03289, -0.03289");
        }
      }

      internal_power() {
        when : "A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0335, 0.03354, 0.03361, 0.0335, 0.03343, 0.03338, 0.03334, 0.0333, \
                 0.03326, 0.03319");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03218, -0.03224, -0.03239, -0.0326, -0.03268, -0.03279, -0.03286, \
                 -0.03287, -0.03289, -0.0329");
        }
      }

      internal_power() {
        when : "A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03357, 0.0336, 0.03366, 0.03356, 0.03348, 0.03346, 0.03341, \
                 0.03337, 0.03331, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0322, -0.03224, -0.03241, -0.0326, -0.03267, -0.03277, -0.03286, \
                 -0.03286, -0.03288, -0.0329");
        }
      }

      internal_power() {
        when : "A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02557, 0.02554, 0.02551, 0.02551, 0.02545, 0.02549, 0.02546, \
                 0.02543, 0.0254, 0.02533");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009601, -0.009597, -0.009619, -0.009633, -0.009631, -0.009662, \
                 -0.009664, -0.009665, -0.009666, -0.009663");
        }
      }
    }

    pin(A2) {
      capacitance : 0.009317 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03334, 0.03327, 0.03328, 0.03322, 0.03322, 0.03328, 0.03329, \
                 0.03324, 0.03325, 0.03328");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01434, 0.01432, 0.01418, 0.01408, 0.01402, 0.01394, 0.0138, \
                 0.01373, 0.01369, 0.01351");
        }
      }

      internal_power() {
        when : "!A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03336, 0.03329, 0.03332, 0.03328, 0.03327, 0.03328, 0.03327, \
                 0.03324, 0.03326, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01437, 0.01434, 0.01424, 0.01413, 0.01405, 0.01392, 0.01381, \
                 0.01374, 0.01363, 0.01347");
        }
      }

      internal_power() {
        when : "!A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03336, 0.0333, 0.03332, 0.03326, 0.03325, 0.03328, 0.03329, \
                 0.03323, 0.03326, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04725, 0.04721, 0.04709, 0.04696, 0.04686, 0.04671, 0.04658, \
                 0.04645, 0.04628, 0.04609");
        }
      }

      internal_power() {
        when : "A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03348, 0.03339, 0.03338, 0.03336, 0.03338, 0.03335, 0.03333, \
                 0.03333, 0.03322, 0.0332");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0319, -0.03189, -0.03226, -0.03247, -0.03259, -0.03274, -0.0328, \
                 -0.03284, -0.03286, -0.03288");
        }
      }

      internal_power() {
        when : "A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0335, 0.03341, 0.0334, 0.03339, 0.03341, 0.03332, 0.03334, 0.03333, \
                 0.03326, 0.0332");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03179, -0.03178, -0.03228, -0.03252, -0.03261, -0.03274, -0.03281, \
                 -0.03283, -0.03287, -0.03287");
        }
      }

      internal_power() {
        when : "A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03352, 0.03347, 0.03347, 0.03346, 0.03346, 0.03339, 0.03341, \
                 0.03339, 0.03332, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0318, -0.03181, -0.03224, -0.0325, -0.03261, -0.03276, -0.03282, \
                 -0.03284, -0.03285, -0.03288");
        }
      }

      internal_power() {
        when : "A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02915, 0.02914, 0.02913, 0.02915, 0.02923, 0.02921, \
                 0.02921, 0.02919, 0.02918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02655, -0.02808, -0.02837, -0.02852, -0.02866, -0.02872, \
                 -0.02876, -0.02879, -0.0288");
        }
      }
    }

    pin(B) {
      capacitance : 0.008897 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03538, 0.03601, 0.03636, 0.03665, 0.03686, 0.03703, 0.03714, \
                 0.03715, 0.03712, 0.037");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02641, -0.02635, -0.02624, -0.02619, -0.02614, -0.02618, -0.02615, \
                 -0.02615, -0.02619, -0.02616");
        }
      }

      internal_power() {
        when : "!A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03091, 0.02724, 0.02635, 0.02629, 0.02623, 0.02626, 0.02625, \
                 0.02623, 0.02624, 0.02623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02634, -0.02635, -0.02631, -0.02629, -0.02619, -0.02619, -0.0262, \
                 -0.02618, -0.02616, -0.02616");
        }
      }

      internal_power() {
        when : "!A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02695, 0.02687, 0.02682, 0.02678, 0.02672, 0.02672, 0.02666, \
                 0.02662, 0.02656, 0.02651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02377, -0.02373, -0.02371, -0.02371, -0.02372, -0.02382, -0.02385, \
                 -0.02397, -0.0241, -0.02425");
        }
      }

      internal_power() {
        when : "A1&!A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0271, 0.02702, 0.02689, 0.02676, 0.02673, 0.0267, 0.02668, 0.02664, \
                 0.02659, 0.02652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02376, -0.02372, -0.02371, -0.02374, -0.02372, -0.02383, -0.02386, \
                 -0.02395, -0.02405, -0.02422");
        }
      }

      internal_power() {
        when : "A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02705, 0.02698, 0.02685, 0.02675, 0.02668, 0.02664, 0.02661, \
                 0.02659, 0.02654, 0.02648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02379, -0.02372, -0.02372, -0.02372, -0.02374, -0.02384, -0.02388, \
                 -0.02396, -0.02408, -0.02423");
        }
      }
    }

    pin(C) {
      capacitance : 0.008407 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02638, 0.02643, 0.02634, 0.0263, 0.02623, 0.02624, 0.02625, \
                 0.02626, 0.02625, 0.02623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0264, -0.02638, -0.02625, -0.02618, -0.02614, -0.02618, -0.02618, \
                 -0.02613, -0.02614, -0.02615");
        }
      }

      internal_power() {
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0265, 0.02642, 0.02635, 0.02632, 0.02625, 0.02626, 0.02626, \
                 0.02623, 0.02624, 0.02626");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02634, -0.02634, -0.02631, -0.02627, -0.02619, -0.02622, -0.0262, \
                 -0.02617, -0.02615, -0.02616");
        }
      }

      internal_power() {
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02647, 0.0264, 0.02632, 0.0263, 0.02624, 0.02624, 0.02625, 0.02625, \
                 0.02624, 0.02623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02635, -0.02635, -0.0263, -0.02619, -0.02615, -0.0262, -0.02617, \
                 -0.02618, -0.02616, -0.02618");
        }
      }

      internal_power() {
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02646, 0.02653, 0.02638, 0.02633, 0.02624, 0.02626, 0.02625, \
                 0.02627, 0.02626, 0.02628");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02639, -0.02639, -0.02629, -0.02619, -0.02614, -0.02618, -0.02617, \
                 -0.02617, -0.02616, -0.02613");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02645, 0.02653, 0.02637, 0.02631, 0.02624, 0.02625, 0.02626, \
                 0.02627, 0.02625, 0.02627");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02639, -0.02639, -0.02629, -0.02619, -0.02616, -0.02619, -0.02617, \
                 -0.02616, -0.02614, -0.02612");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|(!B)|(!C))" ;
      max_capacitance : 0.3225 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.0153, 0.01545, 0.01564, 0.01582, 0.01594, 0.01601, 0.01603, 0.01606, 0.01609, 0.01611",\
                 "0.01527, 0.01555, 0.01613, 0.01666, 0.01699, 0.01717, 0.0173, 0.01738, 0.01743, 0.01747",\
                 "0.01676, 0.01691, 0.01729, 0.0177, 0.01799, 0.0182, 0.01835, 0.01842, 0.01847, 0.01851",\
                 "0.02444, 0.02401, 0.02307, 0.02216, 0.02135, 0.02074, 0.02034, 0.02003, 0.01981, 0.01962",\
                 "0.04184, 0.0406, 0.03739, 0.03383, 0.03072, 0.02821, 0.02623, 0.02479, 0.02362, 0.02277",\
                 "0.07056, 0.0685, 0.06266, 0.05548, 0.04887, 0.04325, 0.03871, 0.03511, 0.03224, 0.02994",\
                 "0.1112, 0.1084, 0.1001, 0.08894, 0.07788, 0.06821, 0.06003, 0.05326, 0.04777, 0.04322",\
                 "0.1644, 0.161, 0.1505, 0.1354, 0.1195, 0.1049, 0.09213, 0.08128, 0.07218, 0.06455",\
                 "0.2309, 0.2269, 0.2143, 0.1958, 0.1748, 0.1547, 0.1366, 0.1209, 0.1073, 0.09563",\
                 "0.3111, 0.3066, 0.2924, 0.2705, 0.2449, 0.2189, 0.1949, 0.1735, 0.1548, 0.1383");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1223, 0.1228, 0.1237, 0.1245, 0.1252, 0.126, 0.1268, 0.1277, 0.1281, 0.1311",\
                 "0.1208, 0.1215, 0.1231, 0.1246, 0.1261, 0.127, 0.1283, 0.1291, 0.1299, 0.1333",\
                 "0.1218, 0.1219, 0.1227, 0.124, 0.1256, 0.1269, 0.1283, 0.129, 0.1302, 0.1345",\
                 "0.1316, 0.131, 0.1297, 0.1285, 0.1284, 0.1287, 0.1294, 0.1301, 0.1311, 0.1356",\
                 "0.1525, 0.1511, 0.1475, 0.143, 0.1394, 0.1369, 0.1356, 0.1349, 0.135, 0.1379",\
                 "0.1858, 0.1836, 0.1773, 0.1695, 0.1621, 0.1551, 0.1503, 0.1471, 0.1447, 0.1477",\
                 "0.2321, 0.2293, 0.2206, 0.209, 0.1972, 0.1863, 0.1764, 0.169, 0.1636, 0.1653",\
                 "0.2926, 0.2889, 0.278, 0.2626, 0.246, 0.2306, 0.2166, 0.2033, 0.1939, 0.1951",\
                 "0.3677, 0.3632, 0.3501, 0.3314, 0.31, 0.289, 0.27, 0.2524, 0.238, 0.2419",\
                 "0.4579, 0.4531, 0.4383, 0.416, 0.3903, 0.3639, 0.3386, 0.3163, 0.2998, 0.3128");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.03749, 0.0375, 0.03753, 0.03756, 0.03756, 0.03758, 0.03758, 0.03759, 0.03758, 0.03755",\
                 "0.03576, 0.0358, 0.03584, 0.03593, 0.03596, 0.036, 0.036, 0.03601, 0.03602, 0.03602",\
                 "0.03576, 0.03571, 0.0355, 0.03531, 0.03519, 0.03511, 0.03501, 0.03504, 0.03501, 0.03497",\
                 "0.04327, 0.04273, 0.04125, 0.03973, 0.03838, 0.03736, 0.03662, 0.03612, 0.03576, 0.03551",\
                 "0.06213, 0.0608, 0.05714, 0.05263, 0.04861, 0.04542, 0.04289, 0.04107, 0.03967, 0.03864",\
                 "0.0941, 0.0919, 0.08552, 0.07721, 0.06909, 0.06216, 0.05667, 0.05226, 0.04888, 0.0462",\
                 "0.1402, 0.1371, 0.1282, 0.1156, 0.1024, 0.09048, 0.08051, 0.07239, 0.06585, 0.0605",\
                 "0.201, 0.1974, 0.1859, 0.1691, 0.1504, 0.1327, 0.1171, 0.1039, 0.09301, 0.08396",\
                 "0.2773, 0.273, 0.2595, 0.2387, 0.2146, 0.1905, 0.1684, 0.1491, 0.1324, 0.1186",\
                 "0.3696, 0.3648, 0.3494, 0.3252, 0.2957, 0.2652, 0.2361, 0.2099, 0.1868, 0.1668");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1437, 0.1441, 0.1448, 0.1456, 0.1461, 0.1467, 0.1476, 0.148, 0.1489, 0.1519",\
                 "0.1416, 0.1424, 0.1441, 0.1456, 0.147, 0.148, 0.149, 0.1503, 0.1507, 0.154",\
                 "0.1393, 0.1397, 0.1413, 0.1433, 0.1454, 0.1472, 0.1488, 0.1498, 0.1508, 0.1551",\
                 "0.1462, 0.1459, 0.1455, 0.1456, 0.1464, 0.1475, 0.1487, 0.15, 0.1509, 0.1554",\
                 "0.167, 0.1657, 0.1626, 0.1592, 0.1566, 0.155, 0.1542, 0.1543, 0.1546, 0.158",\
                 "0.2037, 0.2013, 0.1949, 0.1871, 0.1801, 0.1743, 0.1697, 0.1668, 0.1651, 0.1681",\
                 "0.2564, 0.2532, 0.2438, 0.231, 0.2186, 0.2077, 0.1987, 0.1908, 0.1853, 0.1868",\
                 "0.3252, 0.3213, 0.3094, 0.2922, 0.2738, 0.257, 0.2423, 0.2297, 0.2189, 0.2188",\
                 "0.4107, 0.4062, 0.3924, 0.3712, 0.3474, 0.3235, 0.3028, 0.2841, 0.2691, 0.2687",\
                 "0.5139, 0.5089, 0.4932, 0.4687, 0.4396, 0.409, 0.381, 0.3565, 0.3371, 0.3422");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.0395, 0.03956, 0.03973, 0.03989, 0.03997, 0.04006, 0.04007, 0.0401, 0.04011, 0.04011",\
                 "0.03831, 0.03851, 0.03896, 0.0393, 0.03962, 0.03977, 0.03989, 0.03996, 0.04001, 0.03999",\
                 "0.03675, 0.03693, 0.03749, 0.03817, 0.03875, 0.03915, 0.03944, 0.0396, 0.03972, 0.03982",\
                 "0.04039, 0.04031, 0.04012, 0.04007, 0.03999, 0.04001, 0.04006, 0.04009, 0.04009, 0.04007",\
                 "0.05528, 0.05456, 0.05263, 0.05032, 0.04819, 0.04654, 0.04518, 0.04409, 0.04328, 0.04267",\
                 "0.08433, 0.08279, 0.07839, 0.07272, 0.0671, 0.06218, 0.05815, 0.05487, 0.05222, 0.0501",\
                 "0.1289, 0.1265, 0.1194, 0.1096, 0.09934, 0.08998, 0.08193, 0.07518, 0.06958, 0.06495",\
                 "0.1894, 0.1864, 0.1769, 0.1627, 0.147, 0.1323, 0.119, 0.1076, 0.09786, 0.08964",\
                 "0.2665, 0.2627, 0.2509, 0.2328, 0.2117, 0.1907, 0.1714, 0.1543, 0.1394, 0.1265",\
                 "0.3604, 0.356, 0.3424, 0.3205, 0.2942, 0.2668, 0.2407, 0.2169, 0.196, 0.1775");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2108, 0.2108, 0.211, 0.2112, 0.2115, 0.2119, 0.2124, 0.2135, 0.2142, 0.2153",\
                 "0.2089, 0.209, 0.2095, 0.2099, 0.2104, 0.211, 0.2118, 0.2126, 0.2134, 0.2149",\
                 "0.2087, 0.2087, 0.2089, 0.2093, 0.2098, 0.2104, 0.2113, 0.2122, 0.2132, 0.2146",\
                 "0.2189, 0.2183, 0.2169, 0.2152, 0.2142, 0.2135, 0.2135, 0.2139, 0.2148, 0.2156",\
                 "0.2426, 0.2413, 0.2376, 0.2329, 0.228, 0.2247, 0.2223, 0.2209, 0.2202, 0.2195",\
                 "0.2815, 0.2794, 0.2732, 0.2646, 0.2557, 0.248, 0.2415, 0.2367, 0.2332, 0.2304",\
                 "0.3361, 0.3334, 0.3251, 0.3124, 0.2986, 0.2859, 0.2743, 0.2651, 0.2571, 0.2511",\
                 "0.4072, 0.4041, 0.3941, 0.3782, 0.3591, 0.34, 0.3232, 0.3082, 0.2951, 0.2844",\
                 "0.4955, 0.492, 0.4806, 0.4621, 0.4385, 0.4134, 0.3895, 0.3684, 0.3492, 0.3327",\
                 "0.602, 0.5981, 0.5855, 0.5646, 0.5371, 0.5065, 0.4754, 0.4468, 0.4216, 0.3988");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.01603, 0.01612, 0.01632, 0.01646, 0.01655, 0.01659, 0.01663, 0.01666, 0.01666, 0.01668",\
                 "0.01441, 0.01469, 0.01535, 0.01583, 0.01614, 0.01633, 0.01643, 0.01652, 0.01655, 0.01658",\
                 "0.01235, 0.01268, 0.01353, 0.01448, 0.01518, 0.01564, 0.01596, 0.01615, 0.01628, 0.01636",\
                 "0.01715, 0.01697, 0.01667, 0.01654, 0.01656, 0.01656, 0.0166, 0.01664, 0.01667, 0.01665",\
                 "0.03426, 0.03325, 0.03059, 0.02772, 0.02523, 0.02332, 0.02192, 0.02081, 0.01995, 0.01932",\
                 "0.06615, 0.06411, 0.05848, 0.05155, 0.04506, 0.03963, 0.03529, 0.03182, 0.02907, 0.02689",\
                 "0.1135, 0.1106, 0.1019, 0.09023, 0.0786, 0.06832, 0.05969, 0.05257, 0.04673, 0.04195",\
                 "0.1766, 0.1728, 0.1615, 0.1452, 0.1278, 0.1116, 0.09755, 0.08556, 0.07544, 0.06696",\
                 "0.2556, 0.2511, 0.2375, 0.2172, 0.194, 0.1713, 0.1508, 0.133, 0.1175, 0.1042",\
                 "0.3511, 0.3461, 0.3307, 0.3067, 0.278, 0.2487, 0.2211, 0.1963, 0.1747, 0.1558");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1898, 0.1898, 0.1899, 0.1903, 0.1906, 0.191, 0.1916, 0.1924, 0.1934, 0.1948",\
                 "0.1878, 0.188, 0.1885, 0.1891, 0.1895, 0.1902, 0.1909, 0.1917, 0.1923, 0.1935",\
                 "0.1877, 0.1877, 0.1878, 0.1884, 0.1889, 0.1896, 0.1905, 0.1915, 0.1923, 0.1935",\
                 "0.1979, 0.1974, 0.1959, 0.1943, 0.1932, 0.1926, 0.1926, 0.1932, 0.1937, 0.1948",\
                 "0.2218, 0.2205, 0.2165, 0.2119, 0.2073, 0.2037, 0.2014, 0.2, 0.1988, 0.1988",\
                 "0.2608, 0.2587, 0.2525, 0.2435, 0.2346, 0.2268, 0.2206, 0.2155, 0.2121, 0.21",\
                 "0.3154, 0.3129, 0.3044, 0.2917, 0.2777, 0.2649, 0.2536, 0.2441, 0.2362, 0.2295",\
                 "0.3867, 0.3836, 0.3734, 0.3574, 0.3383, 0.3193, 0.3022, 0.2871, 0.274, 0.2637",\
                 "0.4749, 0.4715, 0.4601, 0.4413, 0.4178, 0.3926, 0.3686, 0.3475, 0.3282, 0.3117",\
                 "0.5815, 0.5775, 0.5649, 0.5439, 0.5166, 0.4858, 0.4546, 0.4257, 0.4006, 0.3778");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.01598, 0.01608, 0.01629, 0.01646, 0.01654, 0.01659, 0.01663, 0.01665, 0.01666, 0.01667",\
                 "0.01443, 0.0147, 0.01534, 0.01584, 0.01614, 0.01632, 0.01643, 0.0165, 0.01655, 0.01658",\
                 "0.01249, 0.01283, 0.01368, 0.01455, 0.01523, 0.01568, 0.01596, 0.01615, 0.01628, 0.01637",\
                 "0.01782, 0.01763, 0.01726, 0.01704, 0.01693, 0.01687, 0.01684, 0.01681, 0.01679, 0.01677",\
                 "0.03563, 0.03455, 0.03182, 0.02876, 0.02619, 0.02409, 0.02249, 0.02131, 0.02038, 0.01967",\
                 "0.068, 0.066, 0.06035, 0.05316, 0.04649, 0.04085, 0.03632, 0.0327, 0.02981, 0.02752",\
                 "0.1158, 0.1128, 0.1043, 0.09246, 0.08061, 0.0701, 0.06125, 0.05392, 0.0479, 0.04296",\
                 "0.1794, 0.1756, 0.1643, 0.148, 0.1304, 0.1141, 0.09969, 0.08748, 0.07715, 0.06849",\
                 "0.2587, 0.2544, 0.2409, 0.2205, 0.1972, 0.1743, 0.1537, 0.1355, 0.1198, 0.1063",\
                 "0.3548, 0.3498, 0.3346, 0.3105, 0.282, 0.2524, 0.2247, 0.1997, 0.1777, 0.1584");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2075, 0.2076, 0.2078, 0.2081, 0.2086, 0.209, 0.2095, 0.2103, 0.2111, 0.212",\
                 "0.206, 0.2061, 0.2067, 0.2074, 0.2079, 0.2087, 0.2093, 0.2101, 0.2115, 0.212",\
                 "0.2057, 0.2057, 0.2061, 0.2067, 0.2074, 0.208, 0.2091, 0.2098, 0.211, 0.212",\
                 "0.2155, 0.2151, 0.2139, 0.2125, 0.2115, 0.211, 0.2112, 0.2118, 0.2124, 0.2133",\
                 "0.239, 0.2379, 0.2344, 0.2304, 0.2259, 0.2225, 0.22, 0.2189, 0.2186, 0.2182",\
                 "0.2774, 0.2758, 0.2701, 0.2621, 0.2541, 0.2464, 0.2404, 0.2353, 0.2317, 0.2288",\
                 "0.332, 0.3296, 0.3222, 0.3105, 0.2975, 0.2853, 0.2743, 0.2648, 0.2565, 0.2505",\
                 "0.4031, 0.4004, 0.3912, 0.3762, 0.3585, 0.3406, 0.3242, 0.3094, 0.2967, 0.2851",\
                 "0.4916, 0.4886, 0.4779, 0.4606, 0.4385, 0.4146, 0.3918, 0.3709, 0.3521, 0.3357",\
                 "0.5983, 0.5947, 0.583, 0.5633, 0.5379, 0.5083, 0.4788, 0.4514, 0.4271, 0.4042");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.03943, 0.0395, 0.03971, 0.03985, 0.03995, 0.04, 0.04007, 0.04007, 0.0401, 0.04009",\
                 "0.03843, 0.03852, 0.03891, 0.03935, 0.03959, 0.03977, 0.03991, 0.03998, 0.04002, 0.04001",\
                 "0.03642, 0.03665, 0.03726, 0.03801, 0.03865, 0.03909, 0.03939, 0.03956, 0.03972, 0.03981",\
                 "0.03927, 0.03921, 0.03926, 0.03942, 0.03954, 0.0397, 0.03977, 0.0399, 0.03993, 0.03997",\
                 "0.05371, 0.05312, 0.05137, 0.04943, 0.04765, 0.0462, 0.04498, 0.04402, 0.04328, 0.04271",\
                 "0.08331, 0.08198, 0.07789, 0.07252, 0.0672, 0.0626, 0.05878, 0.05561, 0.05298, 0.05083",\
                 "0.1298, 0.1276, 0.1209, 0.1113, 0.1014, 0.0923, 0.08435, 0.07761, 0.07196, 0.06724",\
                 "0.1939, 0.1908, 0.1815, 0.1676, 0.1523, 0.1375, 0.1243, 0.1128, 0.1029, 0.09449",\
                 "0.2758, 0.2721, 0.2605, 0.2425, 0.2215, 0.2004, 0.1809, 0.1635, 0.1484, 0.1351",\
                 "0.3761, 0.3719, 0.3582, 0.3364, 0.31, 0.2824, 0.2558, 0.2317, 0.21, 0.1911");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2398, 0.2398, 0.2399, 0.2401, 0.2403, 0.2408, 0.2414, 0.2422, 0.2432, 0.2442",\
                 "0.2378, 0.2378, 0.238, 0.2383, 0.2386, 0.239, 0.2398, 0.2405, 0.2413, 0.2426",\
                 "0.2385, 0.2385, 0.2383, 0.2382, 0.2383, 0.2388, 0.2393, 0.2401, 0.2408, 0.2419",\
                 "0.2494, 0.2488, 0.2471, 0.245, 0.2434, 0.2425, 0.2422, 0.2421, 0.2423, 0.2429",\
                 "0.2744, 0.273, 0.2692, 0.2638, 0.2585, 0.2545, 0.2515, 0.2498, 0.2481, 0.2482",\
                 "0.3155, 0.3135, 0.3069, 0.2978, 0.2883, 0.2791, 0.272, 0.2665, 0.2624, 0.2596",\
                 "0.3739, 0.3711, 0.3625, 0.3491, 0.3339, 0.32, 0.307, 0.2965, 0.2881, 0.2808",\
                 "0.4503, 0.447, 0.4364, 0.4196, 0.3991, 0.3782, 0.3595, 0.3427, 0.3278, 0.3166",\
                 "0.5456, 0.542, 0.5299, 0.5099, 0.4846, 0.4571, 0.4307, 0.4073, 0.3866, 0.368",\
                 "0.6608, 0.6567, 0.6431, 0.6205, 0.5909, 0.5574, 0.5235, 0.4919, 0.464, 0.4389");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.01593, 0.01602, 0.01626, 0.01641, 0.01651, 0.01656, 0.0166, 0.01662, 0.01663, 0.01665",\
                 "0.01443, 0.01473, 0.01534, 0.01582, 0.01614, 0.01634, 0.01644, 0.01651, 0.01657, 0.01659",\
                 "0.01197, 0.01236, 0.01328, 0.01429, 0.01505, 0.01556, 0.01588, 0.01609, 0.01625, 0.01635",\
                 "0.0157, 0.01562, 0.01562, 0.0158, 0.01601, 0.01619, 0.01633, 0.01644, 0.0165, 0.01655",\
                 "0.03224, 0.03139, 0.02911, 0.02666, 0.02459, 0.02297, 0.0217, 0.02071, 0.01995, 0.01935",\
                 "0.06457, 0.06268, 0.05749, 0.05109, 0.04509, 0.04004, 0.03585, 0.03252, 0.02981, 0.02763",\
                 "0.1138, 0.111, 0.1029, 0.09176, 0.08047, 0.07049, 0.06207, 0.05496, 0.04911, 0.04425",\
                 "0.1805, 0.1769, 0.1659, 0.15, 0.1329, 0.1168, 0.1028, 0.09077, 0.08054, 0.07187",\
                 "0.2647, 0.2603, 0.2469, 0.2267, 0.2037, 0.1809, 0.1603, 0.1422, 0.1264, 0.1128",\
                 "0.3668, 0.3619, 0.3464, 0.3223, 0.2937, 0.2643, 0.2363, 0.2109, 0.1889, 0.1693");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2187, 0.2187, 0.2188, 0.2191, 0.2194, 0.2198, 0.2204, 0.221, 0.2224, 0.2235",\
                 "0.2167, 0.2168, 0.2169, 0.2173, 0.2176, 0.2182, 0.2189, 0.2197, 0.2208, 0.2215",\
                 "0.2175, 0.2174, 0.2172, 0.2172, 0.2173, 0.2178, 0.2184, 0.2192, 0.2201, 0.2212",\
                 "0.2284, 0.2279, 0.2261, 0.224, 0.2224, 0.2215, 0.2211, 0.2213, 0.2215, 0.2225",\
                 "0.2535, 0.2521, 0.2481, 0.243, 0.2375, 0.2336, 0.2307, 0.2286, 0.2275, 0.2274",\
                 "0.2948, 0.2928, 0.2861, 0.2767, 0.2672, 0.2582, 0.2512, 0.2457, 0.2413, 0.2383",\
                 "0.3533, 0.3506, 0.3418, 0.3282, 0.3131, 0.2991, 0.2862, 0.2755, 0.2665, 0.2596",\
                 "0.4297, 0.4263, 0.4159, 0.3986, 0.3779, 0.3571, 0.3385, 0.3217, 0.307, 0.2956",\
                 "0.5252, 0.5214, 0.5091, 0.489, 0.4636, 0.4364, 0.4095, 0.3863, 0.365, 0.3469",\
                 "0.6402, 0.6362, 0.6226, 0.5997, 0.5702, 0.5367, 0.5024, 0.4712, 0.443, 0.4172");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.01592, 0.01602, 0.01624, 0.01642, 0.01649, 0.01656, 0.01659, 0.01661, 0.01662, 0.01663",\
                 "0.01448, 0.01476, 0.01534, 0.01583, 0.01614, 0.01633, 0.01645, 0.01651, 0.01656, 0.01659",\
                 "0.01205, 0.01243, 0.01336, 0.01432, 0.01507, 0.01559, 0.01591, 0.01611, 0.01625, 0.01634",\
                 "0.0164, 0.0163, 0.01621, 0.01628, 0.01643, 0.01652, 0.0166, 0.01664, 0.01666, 0.01668",\
                 "0.03372, 0.03288, 0.03055, 0.028, 0.02573, 0.0239, 0.0225, 0.02137, 0.02049, 0.0198",\
                 "0.06689, 0.06503, 0.05988, 0.05327, 0.04703, 0.04171, 0.0373, 0.03377, 0.03088, 0.02853",\
                 "0.1169, 0.1141, 0.106, 0.09467, 0.08319, 0.07295, 0.06419, 0.05685, 0.05076, 0.04571",\
                 "0.1842, 0.1805, 0.1695, 0.1536, 0.1364, 0.12, 0.1057, 0.09339, 0.08285, 0.07388",\
                 "0.2689, 0.2645, 0.2512, 0.231, 0.2078, 0.1849, 0.1638, 0.1453, 0.1294, 0.1154",\
                 "0.3714, 0.3665, 0.3512, 0.3272, 0.2986, 0.2688, 0.2407, 0.2152, 0.1924, 0.1727");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2364, 0.2363, 0.2364, 0.2367, 0.2369, 0.2374, 0.2381, 0.239, 0.2398, 0.2407",\
                 "0.2346, 0.2345, 0.2347, 0.2351, 0.2355, 0.236, 0.2368, 0.2374, 0.2384, 0.239",\
                 "0.2354, 0.2353, 0.2351, 0.2353, 0.2355, 0.2358, 0.2365, 0.2371, 0.2381, 0.2387",\
                 "0.2463, 0.2457, 0.2442, 0.2422, 0.2408, 0.2398, 0.2394, 0.2394, 0.2398, 0.2403",\
                 "0.2709, 0.2696, 0.2661, 0.2616, 0.2566, 0.2525, 0.2495, 0.2475, 0.2466, 0.2459",\
                 "0.3118, 0.3099, 0.304, 0.2957, 0.2866, 0.278, 0.2706, 0.2652, 0.2611, 0.2575",\
                 "0.3702, 0.3676, 0.3597, 0.3475, 0.3332, 0.3197, 0.3071, 0.2965, 0.2877, 0.2808",\
                 "0.4464, 0.4434, 0.4338, 0.418, 0.3991, 0.3794, 0.3613, 0.3447, 0.33, 0.3181",\
                 "0.5417, 0.5382, 0.5273, 0.5086, 0.4852, 0.4592, 0.4342, 0.4109, 0.3903, 0.3716",\
                 "0.6571, 0.6533, 0.6407, 0.6197, 0.5922, 0.5606, 0.5278, 0.4978, 0.4701, 0.4453");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1102, 0.1282, 0.1916, 0.3117, 0.4983, 0.76, 1.104, 1.538, 2.066, 2.698",\
                 "0.1224, 0.1406, 0.2042, 0.3246, 0.5119, 0.7734, 1.118, 1.552, 2.08, 2.712",\
                 "0.1614, 0.1817, 0.2462, 0.3659, 0.553, 0.8146, 1.158, 1.592, 2.121, 2.752",\
                 "0.1881, 0.2155, 0.3023, 0.443, 0.6325, 0.8928, 1.236, 1.669, 2.198, 2.828",\
                 "0.1912, 0.2262, 0.336, 0.5106, 0.7411, 1.02, 1.361, 1.792, 2.32, 2.948",\
                 "0.1659, 0.2095, 0.3437, 0.5549, 0.8274, 1.156, 1.536, 1.971, 2.496, 3.122",\
                 "0.11, 0.1616, 0.3202, 0.5701, 0.8887, 1.266, 1.702, 2.191, 2.732, 3.356",\
                 "0.0218, 0.0813, 0.2651, 0.5532, 0.9193, 1.349, 1.839, 2.388, 2.994, 3.654",\
                 "-0.1013, -0.0334, 0.1742, 0.4998, 0.9155, 1.4, 1.947, 2.555, 3.226, 3.956",\
                 "-0.262, -0.1859, 0.0476, 0.4103, 0.873, 1.415, 2.02, 2.691, 3.424, 4.224");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2044, 0.2372, 0.3507, 0.5645, 0.8952, 1.36, 1.97, 2.739, 3.675, 4.79",\
                 "0.2154, 0.2488, 0.3638, 0.5792, 0.9117, 1.376, 1.989, 2.757, 3.693, 4.808",\
                 "0.2714, 0.3034, 0.416, 0.6314, 0.9642, 1.43, 2.042, 2.809, 3.746, 4.868",\
                 "0.3798, 0.4168, 0.5356, 0.7454, 1.074, 1.537, 2.147, 2.915, 3.852, 4.973",\
                 "0.5209, 0.5637, 0.7025, 0.9366, 1.263, 1.718, 2.323, 3.087, 4.023, 5.137",\
                 "0.6981, 0.7483, 0.9057, 1.17, 1.533, 1.99, 2.586, 3.343, 4.273, 5.384",\
                 "0.9075, 0.9678, 1.149, 1.442, 1.844, 2.348, 2.948, 3.695, 4.616, 5.72",\
                 "1.153, 1.221, 1.431, 1.761, 2.197, 2.747, 3.401, 4.155, 5.065, 6.157",\
                 "1.433, 1.51, 1.75, 2.12, 2.599, 3.189, 3.896, 4.708, 5.629, 6.711",\
                 "1.75, 1.838, 2.107, 2.521, 3.048, 3.683, 4.436, 5.31, 6.293, 7.387");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1733, 0.2064, 0.3166, 0.5251, 0.8485, 1.3, 1.892, 2.642, 3.558, 4.642",\
                 "0.1712, 0.2051, 0.3161, 0.5252, 0.8478, 1.3, 1.894, 2.64, 3.555, 4.647",\
                 "0.1934, 0.2207, 0.3178, 0.523, 0.847, 1.299, 1.893, 2.641, 3.554, 4.641",\
                 "0.2627, 0.2939, 0.3962, 0.5745, 0.8572, 1.299, 1.893, 2.643, 3.553, 4.643",\
                 "0.364, 0.4001, 0.5104, 0.7038, 0.9826, 1.356, 1.898, 2.638, 3.555, 4.642",\
                 "0.4876, 0.5304, 0.6616, 0.8704, 1.167, 1.556, 2.038, 2.692, 3.557, 4.642",\
                 "0.6294, 0.6788, 0.836, 1.072, 1.389, 1.801, 2.31, 2.914, 3.681, 4.68",\
                 "0.7858, 0.8452, 1.027, 1.305, 1.655, 2.085, 2.623, 3.261, 3.996, 4.893",\
                 "0.9604, 1.032, 1.24, 1.558, 1.951, 2.415, 2.973, 3.643, 4.42, 5.299",\
                 "1.149, 1.233, 1.469, 1.832, 2.276, 2.786, 3.377, 4.068, 4.884, 5.802");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.3038, 0.3595, 0.5549, 0.9278, 1.509, 2.324, 3.394, 4.746, 6.384, 8.358",\
                 "0.3037, 0.3596, 0.5558, 0.9287, 1.507, 2.321, 3.394, 4.748, 6.383, 8.357",\
                 "0.3057, 0.3595, 0.5554, 0.9289, 1.509, 2.324, 3.394, 4.747, 6.389, 8.353",\
                 "0.3695, 0.4208, 0.5845, 0.9286, 1.509, 2.323, 3.39, 4.739, 6.38, 8.353",\
                 "0.448, 0.5032, 0.6896, 1.008, 1.524, 2.321, 3.394, 4.738, 6.39, 8.354",\
                 "0.561, 0.6152, 0.8076, 1.159, 1.65, 2.363, 3.397, 4.745, 6.391, 8.343",\
                 "0.6996, 0.7626, 0.9594, 1.321, 1.855, 2.537, 3.471, 4.754, 6.386, 8.345",\
                 "0.8522, 0.9286, 1.144, 1.516, 2.07, 2.803, 3.691, 4.868, 6.414, 8.361",\
                 "1.025, 1.105, 1.352, 1.751, 2.31, 3.079, 4.024, 5.138, 6.574, 8.382",\
                 "1.208, 1.303, 1.583, 2.016, 2.598, 3.375, 4.366, 5.534, 6.892, 8.606");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1496, 0.1688, 0.2344, 0.3568, 0.5449, 0.8074, 1.152, 1.586, 2.115, 2.745",\
                 "0.1592, 0.1783, 0.2441, 0.3665, 0.5547, 0.8173, 1.162, 1.596, 2.125, 2.755",\
                 "0.2006, 0.2196, 0.2834, 0.4052, 0.5934, 0.8558, 1.2, 1.634, 2.163, 2.793",\
                 "0.2465, 0.2713, 0.3517, 0.4857, 0.6729, 0.9337, 1.277, 1.71, 2.239, 2.869",\
                 "0.2745, 0.3058, 0.4048, 0.5686, 0.7897, 1.061, 1.403, 1.834, 2.361, 2.988",\
                 "0.2821, 0.3196, 0.438, 0.6322, 0.8915, 1.21, 1.582, 2.014, 2.537, 3.163",\
                 "0.2683, 0.3115, 0.4506, 0.6763, 0.9742, 1.336, 1.76, 2.241, 2.777, 3.4",\
                 "0.2318, 0.2819, 0.4387, 0.6961, 1.035, 1.442, 1.914, 2.45, 3.048, 3.701",\
                 "0.1731, 0.2283, 0.4041, 0.6914, 1.071, 1.526, 2.048, 2.637, 3.294, 4.014",\
                 "0.0915, 0.152, 0.3443, 0.6617, 1.081, 1.584, 2.159, 2.801, 3.515, 4.299");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2475, 0.2798, 0.393, 0.6068, 0.9369, 1.4, 2.011, 2.778, 3.716, 4.832",\
                 "0.2591, 0.2928, 0.4081, 0.6242, 0.9568, 1.421, 2.031, 2.803, 3.739, 4.857",\
                 "0.2974, 0.3303, 0.4454, 0.6618, 0.9968, 1.463, 2.076, 2.844, 3.781, 4.901",\
                 "0.3647, 0.4006, 0.521, 0.7351, 1.066, 1.531, 2.142, 2.912, 3.849, 4.969",\
                 "0.4642, 0.5034, 0.6313, 0.8595, 1.192, 1.65, 2.257, 3.023, 3.96, 5.074",\
                 "0.5935, 0.6381, 0.7813, 1.022, 1.373, 1.836, 2.435, 3.194, 4.124, 5.237",\
                 "0.7468, 0.7994, 0.9621, 1.227, 1.594, 2.079, 2.686, 3.436, 4.358, 5.462",\
                 "0.9227, 0.9828, 1.17, 1.466, 1.86, 2.364, 2.996, 3.758, 4.67, 5.765",\
                 "1.122, 1.19, 1.401, 1.733, 2.165, 2.697, 3.349, 4.138, 5.067, 6.152",\
                 "1.344, 1.421, 1.656, 2.027, 2.503, 3.074, 3.753, 4.566, 5.524, 6.629");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.231, 0.2627, 0.3727, 0.5812, 0.9031, 1.356, 1.949, 2.696, 3.609, 4.694",\
                 "0.2298, 0.2621, 0.3724, 0.5806, 0.9031, 1.357, 1.949, 2.696, 3.609, 4.697",\
                 "0.2365, 0.265, 0.3696, 0.5803, 0.9033, 1.356, 1.949, 2.697, 3.608, 4.696",\
                 "0.3092, 0.3401, 0.4401, 0.6174, 0.9088, 1.354, 1.948, 2.696, 3.609, 4.696",\
                 "0.4157, 0.4483, 0.5574, 0.7482, 1.024, 1.403, 1.953, 2.696, 3.609, 4.696",\
                 "0.5484, 0.5874, 0.7096, 0.9148, 1.212, 1.597, 2.082, 2.739, 3.61, 4.695",\
                 "0.7018, 0.7476, 0.8914, 1.119, 1.43, 1.84, 2.348, 2.954, 3.728, 4.723",\
                 "0.874, 0.93, 1.098, 1.358, 1.694, 2.121, 2.659, 3.296, 4.034, 4.934",\
                 "1.069, 1.131, 1.329, 1.623, 1.999, 2.449, 3.003, 3.674, 4.454, 5.332",\
                 "1.281, 1.355, 1.579, 1.915, 2.332, 2.826, 3.402, 4.092, 4.902, 5.832");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.3041, 0.3598, 0.5558, 0.9285, 1.508, 2.323, 3.393, 4.744, 6.384, 8.357",\
                 "0.3046, 0.36, 0.5554, 0.9288, 1.509, 2.323, 3.389, 4.744, 6.384, 8.356",\
                 "0.3094, 0.3626, 0.5556, 0.927, 1.509, 2.321, 3.395, 4.737, 6.39, 8.356",\
                 "0.3639, 0.4149, 0.5858, 0.9318, 1.507, 2.323, 3.39, 4.75, 6.393, 8.351",\
                 "0.4412, 0.49, 0.6676, 0.9994, 1.53, 2.325, 3.396, 4.739, 6.398, 8.355",\
                 "0.5618, 0.6096, 0.7768, 1.109, 1.629, 2.371, 3.401, 4.74, 6.384, 8.361",\
                 "0.7034, 0.757, 0.9338, 1.254, 1.771, 2.5, 3.476, 4.765, 6.386, 8.348",\
                 "0.8586, 0.92, 1.116, 1.451, 1.952, 2.683, 3.638, 4.863, 6.433, 8.361",\
                 "1.029, 1.097, 1.317, 1.68, 2.189, 2.9, 3.86, 5.067, 6.568, 8.414",\
                 "1.207, 1.283, 1.532, 1.931, 2.471, 3.167, 4.114, 5.335, 6.8, 8.589");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2127, 0.2318, 0.2975, 0.42, 0.6082, 0.871, 1.215, 1.649, 2.179, 2.808",\
                 "0.2232, 0.2424, 0.3083, 0.4312, 0.6197, 0.8826, 1.227, 1.661, 2.19, 2.82",\
                 "0.252, 0.2714, 0.3376, 0.4609, 0.6499, 0.9131, 1.258, 1.692, 2.221, 2.852",\
                 "0.2818, 0.3047, 0.38, 0.5116, 0.7016, 0.9646, 1.309, 1.743, 2.272, 2.902",\
                 "0.3002, 0.3277, 0.4164, 0.5664, 0.7763, 1.049, 1.393, 1.825, 2.353, 2.983",\
                 "0.298, 0.3313, 0.4373, 0.6118, 0.8478, 1.146, 1.51, 1.946, 2.473, 3.101",\
                 "0.2712, 0.3101, 0.4342, 0.6377, 0.9073, 1.237, 1.631, 2.095, 2.634, 3.261",\
                 "0.2183, 0.263, 0.4051, 0.638, 0.9445, 1.315, 1.744, 2.242, 2.813, 3.463",\
                 "0.1388, 0.188, 0.3469, 0.6095, 0.9547, 1.368, 1.843, 2.38, 2.987, 3.672",\
                 "0.0293, 0.0838, 0.2601, 0.5502, 0.9349, 1.393, 1.917, 2.502, 3.152, 3.876");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1978, 0.2173, 0.2851, 0.4122, 0.6085, 0.8822, 1.242, 1.695, 2.247, 2.905",\
                 "0.2132, 0.2331, 0.3012, 0.4289, 0.6253, 0.8994, 1.259, 1.712, 2.264, 2.922",\
                 "0.277, 0.2966, 0.3645, 0.4919, 0.6885, 0.9626, 1.323, 1.775, 2.328, 2.986",\
                 "0.398, 0.4211, 0.4957, 0.623, 0.8174, 1.09, 1.449, 1.901, 2.452, 3.11",\
                 "0.5438, 0.5714, 0.6625, 0.8178, 1.026, 1.297, 1.652, 2.101, 2.651, 3.307",\
                 "0.7176, 0.7506, 0.8572, 1.038, 1.286, 1.59, 1.948, 2.393, 2.939, 3.591",\
                 "0.9193, 0.9579, 1.082, 1.289, 1.57, 1.92, 2.327, 2.785, 3.326, 3.974",\
                 "1.151, 1.195, 1.338, 1.574, 1.889, 2.276, 2.735, 3.253, 3.82, 4.467",\
                 "1.412, 1.463, 1.626, 1.892, 2.244, 2.672, 3.174, 3.748, 4.383, 5.068",\
                 "1.705, 1.762, 1.945, 2.244, 2.636, 3.107, 3.653, 4.275, 4.971, 5.728");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2309, 0.2624, 0.3732, 0.5815, 0.9031, 1.356, 1.95, 2.695, 3.609, 4.696",\
                 "0.2309, 0.2626, 0.3726, 0.5814, 0.9033, 1.355, 1.949, 2.696, 3.609, 4.695",\
                 "0.2389, 0.268, 0.3737, 0.5809, 0.9035, 1.356, 1.948, 2.696, 3.609, 4.697",\
                 "0.2999, 0.3279, 0.4261, 0.6088, 0.9106, 1.356, 1.948, 2.696, 3.609, 4.697",\
                 "0.3944, 0.4238, 0.5202, 0.7044, 0.988, 1.392, 1.957, 2.696, 3.608, 4.695",\
                 "0.5258, 0.5562, 0.6586, 0.8418, 1.123, 1.52, 2.04, 2.731, 3.613, 4.694",\
                 "0.6788, 0.7134, 0.8284, 1.023, 1.305, 1.699, 2.218, 2.87, 3.694, 4.724",\
                 "0.8496, 0.887, 1.018, 1.236, 1.533, 1.928, 2.446, 3.098, 3.892, 4.86",\
                 "1.027, 1.076, 1.227, 1.47, 1.799, 2.211, 2.725, 3.374, 4.171, 5.121",\
                 "1.223, 1.276, 1.446, 1.721, 2.086, 2.53, 3.064, 3.708, 4.501, 5.449");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.3231, 0.3579, 0.4798, 0.708, 1.056, 1.54, 2.174, 2.972, 3.945, 5.104",\
                 "0.323, 0.3579, 0.4797, 0.7078, 1.056, 1.54, 2.173, 2.971, 3.941, 5.104",\
                 "0.3251, 0.3591, 0.4797, 0.7079, 1.056, 1.54, 2.174, 2.971, 3.945, 5.102",\
                 "0.4095, 0.4365, 0.5295, 0.7229, 1.057, 1.54, 2.174, 2.971, 3.944, 5.105",\
                 "0.5344, 0.5662, 0.6728, 0.8536, 1.125, 1.553, 2.175, 2.972, 3.944, 5.104",\
                 "0.6802, 0.715, 0.8328, 1.041, 1.328, 1.697, 2.229, 2.978, 3.946, 5.106",\
                 "0.8494, 0.8882, 1.016, 1.241, 1.563, 1.969, 2.452, 3.099, 3.976, 5.107",\
                 "1.035, 1.081, 1.226, 1.469, 1.814, 2.259, 2.794, 3.404, 4.175, 5.19",\
                 "1.239, 1.289, 1.452, 1.724, 2.091, 2.566, 3.152, 3.819, 4.563, 5.472",\
                 "1.453, 1.515, 1.699, 2.003, 2.404, 2.902, 3.52, 4.247, 5.06, 5.946");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1706, 0.1888, 0.2519, 0.372, 0.5585, 0.8201, 1.164, 1.598, 2.127, 2.757",\
                 "0.1804, 0.1987, 0.2627, 0.3831, 0.57, 0.8315, 1.176, 1.61, 2.138, 2.77",\
                 "0.2051, 0.2252, 0.2912, 0.4124, 0.5999, 0.8622, 1.207, 1.641, 2.17, 2.8",\
                 "0.2222, 0.2469, 0.3258, 0.4603, 0.6517, 0.9134, 1.258, 1.691, 2.221, 2.851",\
                 "0.2237, 0.2545, 0.351, 0.5075, 0.7217, 0.9969, 1.341, 1.773, 2.301, 2.931",\
                 "0.2027, 0.2406, 0.3573, 0.5432, 0.7866, 1.089, 1.457, 1.894, 2.421, 3.049",\
                 "0.1581, 0.2021, 0.3399, 0.557, 0.8376, 1.175, 1.573, 2.041, 2.582, 3.209",\
                 "0.0898, 0.1399, 0.2963, 0.5453, 0.8651, 1.245, 1.681, 2.183, 2.758, 3.409",\
                 "-0.0078, 0.0487, 0.2245, 0.5054, 0.8653, 1.291, 1.774, 2.317, 2.928, 3.616",\
                 "-0.1357, -0.0727, 0.1245, 0.4344, 0.8353, 1.308, 1.841, 2.434, 3.089, 3.816");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1933, 0.213, 0.281, 0.4081, 0.6042, 0.8778, 1.238, 1.69, 2.242, 2.897",\
                 "0.2087, 0.2287, 0.297, 0.4247, 0.6211, 0.8948, 1.254, 1.707, 2.258, 2.916",\
                 "0.2727, 0.2923, 0.3603, 0.4878, 0.6842, 0.958, 1.318, 1.77, 2.323, 2.981",\
                 "0.3922, 0.4155, 0.4911, 0.6189, 0.8128, 1.085, 1.443, 1.895, 2.447, 3.105",\
                 "0.536, 0.5643, 0.6565, 0.8122, 1.022, 1.292, 1.647, 2.096, 2.644, 3.301",\
                 "0.7078, 0.7412, 0.849, 1.031, 1.279, 1.584, 1.942, 2.386, 2.932, 3.584",\
                 "0.9066, 0.9464, 1.072, 1.28, 1.562, 1.912, 2.32, 2.778, 3.319, 3.967",\
                 "1.135, 1.181, 1.326, 1.563, 1.879, 2.268, 2.726, 3.245, 3.812, 4.458",\
                 "1.392, 1.444, 1.61, 1.879, 2.233, 2.662, 3.164, 3.738, 4.373, 5.059",\
                 "1.681, 1.739, 1.924, 2.228, 2.622, 3.093, 3.639, 4.263, 4.958, 5.717");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1775, 0.2086, 0.3183, 0.5246, 0.8476, 1.299, 1.893, 2.64, 3.554, 4.645",\
                 "0.178, 0.2087, 0.3185, 0.5251, 0.8484, 1.3, 1.891, 2.64, 3.555, 4.644",\
                 "0.1983, 0.2248, 0.3232, 0.5252, 0.8468, 1.3, 1.894, 2.64, 3.558, 4.644",\
                 "0.2637, 0.2906, 0.386, 0.5651, 0.8579, 1.3, 1.892, 2.642, 3.554, 4.64",\
                 "0.3683, 0.3949, 0.4874, 0.6656, 0.9454, 1.343, 1.906, 2.64, 3.556, 4.646",\
                 "0.5032, 0.532, 0.6314, 0.8098, 1.084, 1.478, 1.994, 2.679, 3.561, 4.646",\
                 "0.6546, 0.6888, 0.8012, 0.9942, 1.27, 1.659, 2.175, 2.825, 3.647, 4.673",\
                 "0.8206, 0.86, 0.989, 1.205, 1.503, 1.892, 2.404, 3.058, 3.849, 4.813",\
                 "1, 1.043, 1.196, 1.44, 1.767, 2.178, 2.688, 3.337, 4.129, 5.077",\
                 "1.194, 1.243, 1.41, 1.69, 2.055, 2.498, 3.03, 3.673, 4.464, 5.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2653, 0.2988, 0.4165, 0.6379, 0.9834, 1.466, 2.098, 2.894, 3.868, 5.026",\
                 "0.2651, 0.2989, 0.4161, 0.6387, 0.9832, 1.465, 2.099, 2.895, 3.865, 5.026",\
                 "0.2663, 0.2992, 0.4162, 0.6384, 0.9834, 1.466, 2.098, 2.896, 3.869, 5.028",\
                 "0.3433, 0.3723, 0.4649, 0.6524, 0.9837, 1.465, 2.098, 2.896, 3.87, 5.027",\
                 "0.4454, 0.4806, 0.593, 0.7816, 1.051, 1.477, 2.098, 2.896, 3.87, 5.028",\
                 "0.567, 0.606, 0.7342, 0.9518, 1.249, 1.621, 2.152, 2.902, 3.869, 5.03",\
                 "0.706, 0.752, 0.8964, 1.135, 1.469, 1.887, 2.376, 3.022, 3.899, 5.031",\
                 "0.8604, 0.9148, 1.082, 1.347, 1.706, 2.166, 2.71, 3.324, 4.098, 5.111",\
                 "1.027, 1.091, 1.282, 1.583, 1.972, 2.46, 3.062, 3.735, 4.485, 5.394",\
                 "1.204, 1.276, 1.5, 1.839, 2.27, 2.786, 3.416, 4.154, 4.977, 5.865");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1497, 0.165, 0.2179, 0.3182, 0.4732, 0.6913, 0.9773, 1.339, 1.779, 2.303",\
                 "0.1602, 0.1757, 0.229, 0.3298, 0.485, 0.7033, 0.9897, 1.35, 1.791, 2.315",\
                 "0.1918, 0.2095, 0.2659, 0.3676, 0.5235, 0.7419, 1.029, 1.389, 1.83, 2.355",\
                 "0.2148, 0.2382, 0.3123, 0.4336, 0.5979, 0.8162, 1.103, 1.463, 1.904, 2.429",\
                 "0.2192, 0.2487, 0.3417, 0.4912, 0.6894, 0.9315, 1.222, 1.582, 2.022, 2.546",\
                 "0.2005, 0.237, 0.35, 0.5299, 0.7639, 1.047, 1.375, 1.751, 2.191, 2.714",\
                 "0.1585, 0.2004, 0.3335, 0.5444, 0.8175, 1.142, 1.516, 1.938, 2.41, 2.939",\
                 "0.0924, 0.1395, 0.29, 0.5324, 0.8452, 1.215, 1.636, 2.108, 2.63, 3.204",\
                 "-0.0028, 0.0504, 0.2191, 0.4912, 0.8444, 1.26, 1.731, 2.254, 2.829, 3.459",\
                 "-0.1308, -0.0702, 0.1181, 0.4195, 0.8135, 1.275, 1.797, 2.375, 3.005, 3.69");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2179, 0.2372, 0.3042, 0.4306, 0.6263, 0.8994, 1.259, 1.712, 2.262, 2.918",\
                 "0.2338, 0.2533, 0.3208, 0.4479, 0.6436, 0.917, 1.276, 1.728, 2.282, 2.937",\
                 "0.2975, 0.3168, 0.384, 0.5108, 0.7068, 0.9806, 1.34, 1.792, 2.345, 3",\
                 "0.4217, 0.4436, 0.5159, 0.6419, 0.8355, 1.107, 1.466, 1.918, 2.467, 3.128",\
                 "0.5727, 0.5991, 0.6882, 0.8402, 1.046, 1.315, 1.67, 2.119, 2.668, 3.324",\
                 "0.7524, 0.7844, 0.8872, 1.064, 1.309, 1.61, 1.966, 2.411, 2.954, 3.608",\
                 "0.9611, 0.9982, 1.119, 1.321, 1.598, 1.944, 2.348, 2.804, 3.344, 3.992",\
                 "1.199, 1.244, 1.382, 1.612, 1.922, 2.306, 2.761, 3.276, 3.84, 4.485",\
                 "1.469, 1.518, 1.675, 1.936, 2.284, 2.707, 3.206, 3.776, 4.407, 5.088",\
                 "1.769, 1.823, 2.002, 2.295, 2.682, 3.149, 3.69, 4.308, 5.001, 5.756");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1785, 0.204, 0.2946, 0.4684, 0.7352, 1.112, 1.606, 2.228, 2.988, 3.891",\
                 "0.1785, 0.2044, 0.2946, 0.4684, 0.7358, 1.112, 1.605, 2.228, 2.987, 3.892",\
                 "0.2073, 0.2273, 0.3038, 0.4683, 0.7356, 1.112, 1.606, 2.228, 2.987, 3.895",\
                 "0.2949, 0.3165, 0.3922, 0.5302, 0.7573, 1.113, 1.606, 2.228, 2.987, 3.894",\
                 "0.415, 0.4368, 0.5142, 0.6634, 0.8868, 1.19, 1.629, 2.229, 2.988, 3.893",\
                 "0.5624, 0.5862, 0.6714, 0.8274, 1.062, 1.38, 1.779, 2.309, 3.009, 3.894",\
                 "0.7278, 0.7566, 0.8524, 1.026, 1.271, 1.606, 2.026, 2.535, 3.162, 3.966",\
                 "0.907, 0.9388, 1.052, 1.248, 1.52, 1.866, 2.308, 2.842, 3.47, 4.204",\
                 "1.1, 1.137, 1.266, 1.491, 1.795, 2.175, 2.627, 3.179, 3.835, 4.588",\
                 "1.31, 1.351, 1.496, 1.753, 2.091, 2.506, 2.988, 3.563, 4.238, 5.019");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2939, 0.3281, 0.445, 0.6672, 1.013, 1.495, 2.127, 2.925, 3.898, 5.052",\
                 "0.2937, 0.3276, 0.4447, 0.6678, 1.012, 1.494, 2.129, 2.924, 3.899, 5.053",\
                 "0.2942, 0.3276, 0.4446, 0.6674, 1.012, 1.495, 2.127, 2.924, 3.899, 5.053",\
                 "0.3648, 0.3926, 0.4854, 0.6781, 1.012, 1.494, 2.128, 2.924, 3.897, 5.06",\
                 "0.4688, 0.5034, 0.615, 0.7992, 1.072, 1.504, 2.127, 2.925, 3.899, 5.058",\
                 "0.589, 0.628, 0.7532, 0.971, 1.267, 1.64, 2.176, 2.93, 3.898, 5.058",\
                 "0.7354, 0.775, 0.9152, 1.153, 1.489, 1.903, 2.391, 3.043, 3.926, 5.06",\
                 "0.8872, 0.9394, 1.1, 1.36, 1.72, 2.181, 2.724, 3.34, 4.117, 5.135",\
                 "1.058, 1.118, 1.301, 1.593, 1.978, 2.471, 3.066, 3.747, 4.495, 5.411",\
                 "1.243, 1.31, 1.518, 1.848, 2.271, 2.789, 3.422, 4.166, 4.984, 5.875");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2127, 0.2318, 0.2975, 0.42, 0.6082, 0.871, 1.215, 1.649, 2.179, 2.808",\
                 "0.2232, 0.2424, 0.3083, 0.4312, 0.6197, 0.8826, 1.227, 1.661, 2.19, 2.82",\
                 "0.252, 0.2714, 0.3376, 0.4609, 0.6499, 0.9131, 1.258, 1.692, 2.221, 2.852",\
                 "0.2818, 0.3047, 0.38, 0.5116, 0.7016, 0.9646, 1.309, 1.743, 2.272, 2.902",\
                 "0.3002, 0.3277, 0.4164, 0.5664, 0.7763, 1.049, 1.393, 1.825, 2.353, 2.983",\
                 "0.298, 0.3313, 0.4373, 0.6118, 0.8478, 1.146, 1.51, 1.946, 2.473, 3.101",\
                 "0.2712, 0.3101, 0.4342, 0.6377, 0.9073, 1.237, 1.631, 2.095, 2.634, 3.261",\
                 "0.2183, 0.263, 0.4051, 0.638, 0.9445, 1.315, 1.744, 2.242, 2.813, 3.463",\
                 "0.1388, 0.188, 0.3469, 0.6095, 0.9547, 1.368, 1.843, 2.38, 2.987, 3.672",\
                 "0.0293, 0.0838, 0.2601, 0.5502, 0.9349, 1.393, 1.917, 2.502, 3.152, 3.876");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2179, 0.2372, 0.3042, 0.4306, 0.6263, 0.8994, 1.259, 1.712, 2.262, 2.918",\
                 "0.2338, 0.2533, 0.3208, 0.4479, 0.6436, 0.917, 1.276, 1.728, 2.282, 2.937",\
                 "0.2975, 0.3168, 0.384, 0.5108, 0.7068, 0.9806, 1.34, 1.792, 2.345, 3",\
                 "0.4217, 0.4436, 0.5159, 0.6419, 0.8355, 1.107, 1.466, 1.918, 2.467, 3.128",\
                 "0.5727, 0.5991, 0.6882, 0.8402, 1.046, 1.315, 1.67, 2.119, 2.668, 3.324",\
                 "0.7524, 0.7844, 0.8872, 1.064, 1.309, 1.61, 1.966, 2.411, 2.954, 3.608",\
                 "0.9611, 0.9982, 1.119, 1.321, 1.598, 1.944, 2.348, 2.804, 3.344, 3.992",\
                 "1.199, 1.244, 1.382, 1.612, 1.922, 2.306, 2.761, 3.276, 3.84, 4.485",\
                 "1.469, 1.518, 1.675, 1.936, 2.284, 2.707, 3.206, 3.776, 4.407, 5.088",\
                 "1.769, 1.823, 2.002, 2.295, 2.682, 3.149, 3.69, 4.308, 5.001, 5.756");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2309, 0.2624, 0.3732, 0.5815, 0.9031, 1.356, 1.95, 2.695, 3.609, 4.696",\
                 "0.2309, 0.2626, 0.3726, 0.5814, 0.9033, 1.355, 1.949, 2.696, 3.609, 4.695",\
                 "0.2389, 0.268, 0.3737, 0.5809, 0.9035, 1.356, 1.948, 2.696, 3.609, 4.697",\
                 "0.2999, 0.3279, 0.4261, 0.6088, 0.9106, 1.356, 1.948, 2.696, 3.609, 4.697",\
                 "0.3944, 0.4238, 0.5202, 0.7044, 0.988, 1.392, 1.957, 2.696, 3.608, 4.695",\
                 "0.5258, 0.5562, 0.6586, 0.8418, 1.123, 1.52, 2.04, 2.731, 3.613, 4.694",\
                 "0.6788, 0.7134, 0.8284, 1.023, 1.305, 1.699, 2.218, 2.87, 3.694, 4.724",\
                 "0.8496, 0.887, 1.018, 1.236, 1.533, 1.928, 2.446, 3.098, 3.892, 4.86",\
                 "1.027, 1.076, 1.227, 1.47, 1.799, 2.211, 2.725, 3.374, 4.171, 5.121",\
                 "1.223, 1.276, 1.446, 1.721, 2.086, 2.53, 3.064, 3.708, 4.501, 5.449");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.3231, 0.3579, 0.4798, 0.708, 1.056, 1.54, 2.174, 2.972, 3.945, 5.104",\
                 "0.323, 0.3579, 0.4797, 0.7078, 1.056, 1.54, 2.173, 2.971, 3.941, 5.104",\
                 "0.3251, 0.3591, 0.4797, 0.7079, 1.056, 1.54, 2.174, 2.971, 3.945, 5.102",\
                 "0.4095, 0.4365, 0.5295, 0.7229, 1.057, 1.54, 2.174, 2.971, 3.944, 5.105",\
                 "0.5344, 0.5662, 0.6728, 0.8536, 1.125, 1.553, 2.175, 2.972, 3.944, 5.104",\
                 "0.6802, 0.715, 0.8328, 1.041, 1.328, 1.697, 2.229, 2.978, 3.946, 5.106",\
                 "0.8494, 0.8882, 1.016, 1.241, 1.563, 1.969, 2.452, 3.099, 3.976, 5.107",\
                 "1.035, 1.081, 1.226, 1.469, 1.814, 2.259, 2.794, 3.404, 4.175, 5.19",\
                 "1.239, 1.289, 1.452, 1.724, 2.091, 2.566, 3.152, 3.819, 4.563, 5.472",\
                 "1.453, 1.515, 1.699, 2.003, 2.404, 2.902, 3.52, 4.247, 5.06, 5.946");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.226, 0.2452, 0.3107, 0.4333, 0.6215, 0.8842, 1.229, 1.663, 2.192, 2.822",\
                 "0.2354, 0.2547, 0.3207, 0.4435, 0.632, 0.8949, 1.24, 1.674, 2.203, 2.833",\
                 "0.254, 0.2734, 0.3397, 0.463, 0.652, 0.9152, 1.26, 1.694, 2.224, 2.855",\
                 "0.2653, 0.287, 0.3592, 0.4885, 0.6785, 0.9414, 1.286, 1.72, 2.249, 2.88",\
                 "0.2623, 0.2871, 0.3676, 0.5079, 0.7116, 0.9824, 1.326, 1.759, 2.287, 2.917",\
                 "0.2335, 0.2631, 0.3579, 0.516, 0.7359, 1.023, 1.383, 1.819, 2.345, 2.973",\
                 "0.174, 0.2087, 0.3199, 0.502, 0.7464, 1.054, 1.433, 1.889, 2.427, 3.054",\
                 "0.0821, 0.1218, 0.249, 0.4572, 0.7333, 1.07, 1.472, 1.949, 2.508, 3.154",\
                 "-0.0448, 0.0005, 0.1438, 0.3781, 0.6875, 1.06, 1.494, 1.998, 2.579, 3.248",\
                 "-0.2089, -0.1586, 0.0012, 0.2621, 0.6053, 1.017, 1.49, 2.028, 2.638, 3.33");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2205, 0.2407, 0.3104, 0.4399, 0.6379, 0.9132, 1.274, 1.728, 2.281, 2.939",\
                 "0.2357, 0.2561, 0.3259, 0.4555, 0.6537, 0.9292, 1.29, 1.744, 2.297, 2.955",\
                 "0.3009, 0.3211, 0.3905, 0.5195, 0.7174, 0.9926, 1.353, 1.807, 2.36, 3.019",\
                 "0.4313, 0.4535, 0.5252, 0.652, 0.8475, 1.121, 1.48, 1.933, 2.485, 3.143",\
                 "0.5924, 0.6186, 0.7061, 0.8555, 1.059, 1.329, 1.685, 2.135, 2.684, 3.341",\
                 "0.7866, 0.8169, 0.9169, 1.09, 1.33, 1.627, 1.983, 2.427, 2.973, 3.626",\
                 "1.016, 1.051, 1.166, 1.36, 1.629, 1.97, 2.369, 2.822, 3.363, 4.01",\
                 "1.282, 1.322, 1.452, 1.672, 1.969, 2.344, 2.791, 3.3, 3.861, 4.506",\
                 "1.587, 1.633, 1.779, 2.024, 2.354, 2.762, 3.249, 3.81, 4.435, 5.113",\
                 "1.933, 1.984, 2.146, 2.419, 2.783, 3.229, 3.752, 4.358, 5.039, 5.788");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2309, 0.2624, 0.3725, 0.5815, 0.9033, 1.356, 1.949, 2.697, 3.609, 4.696",\
                 "0.2304, 0.2624, 0.3732, 0.5813, 0.9032, 1.357, 1.949, 2.697, 3.609, 4.693",\
                 "0.2356, 0.2657, 0.3728, 0.5814, 0.9048, 1.354, 1.949, 2.696, 3.608, 4.696",\
                 "0.2785, 0.3081, 0.4115, 0.6028, 0.9098, 1.356, 1.949, 2.696, 3.609, 4.696",\
                 "0.3535, 0.3814, 0.4798, 0.673, 0.9718, 1.388, 1.957, 2.696, 3.609, 4.696",\
                 "0.4714, 0.4986, 0.597, 0.7778, 1.07, 1.486, 2.031, 2.731, 3.617, 4.695",\
                 "0.6154, 0.646, 0.7484, 0.9346, 1.215, 1.619, 2.164, 2.85, 3.695, 4.731",\
                 "0.7806, 0.814, 0.9278, 1.125, 1.411, 1.805, 2.334, 3.018, 3.856, 4.852",\
                 "0.9616, 0.999, 1.124, 1.342, 1.643, 2.044, 2.563, 3.228, 4.06, 5.06",\
                 "1.158, 1.201, 1.34, 1.578, 1.905, 2.321, 2.846, 3.499, 4.311, 5.304");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.3721, 0.4071, 0.5286, 0.7566, 1.105, 1.59, 2.224, 3.023, 3.998, 5.158",\
                 "0.372, 0.4071, 0.5286, 0.7565, 1.105, 1.589, 2.225, 3.023, 3.998, 5.158",\
                 "0.3709, 0.4062, 0.5282, 0.7565, 1.105, 1.59, 2.225, 3.022, 3.997, 5.158",\
                 "0.4403, 0.4669, 0.5642, 0.7658, 1.106, 1.59, 2.225, 3.022, 3.996, 5.157",\
                 "0.5678, 0.5994, 0.705, 0.8834, 1.163, 1.6, 2.225, 3.023, 3.997, 5.157",\
                 "0.7094, 0.745, 0.8634, 1.071, 1.357, 1.731, 2.272, 3.03, 3.998, 5.158",\
                 "0.8746, 0.9138, 1.041, 1.267, 1.591, 1.997, 2.483, 3.14, 4.024, 5.16",\
                 "1.058, 1.103, 1.245, 1.486, 1.833, 2.284, 2.819, 3.434, 4.216, 5.236",\
                 "1.26, 1.307, 1.467, 1.734, 2.101, 2.581, 3.173, 3.842, 4.592, 5.507",\
                 "1.476, 1.53, 1.71, 2.004, 2.403, 2.904, 3.526, 4.263, 5.078, 5.972");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1839, 0.2021, 0.2651, 0.3852, 0.5722, 0.8332, 1.177, 1.611, 2.14, 2.77",\
                 "0.1926, 0.2111, 0.275, 0.3953, 0.5824, 0.8438, 1.188, 1.621, 2.151, 2.782",\
                 "0.2084, 0.2279, 0.2932, 0.4147, 0.6023, 0.8645, 1.209, 1.642, 2.171, 2.803",\
                 "0.2117, 0.2341, 0.3075, 0.4379, 0.6285, 0.8906, 1.235, 1.668, 2.197, 2.829",\
                 "0.1958, 0.2227, 0.3086, 0.4524, 0.6582, 0.9304, 1.275, 1.707, 2.235, 2.864",\
                 "0.1499, 0.1831, 0.2873, 0.454, 0.6787, 0.9681, 1.33, 1.767, 2.293, 2.921",\
                 "0.0739, 0.1134, 0.236, 0.4306, 0.6832, 0.9958, 1.376, 1.834, 2.375, 3.002",\
                 "-0.0339, 0.0114, 0.1525, 0.3751, 0.6621, 1.006, 1.413, 1.892, 2.453, 3.101",\
                 "-0.1763, -0.1252, 0.0341, 0.2849, 0.6082, 0.9899, 1.431, 1.938, 2.522, 3.193",\
                 "-0.3567, -0.2993, -0.1217, 0.1578, 0.5157, 0.9396, 1.421, 1.965, 2.579, 3.274");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2152, 0.2358, 0.3058, 0.4353, 0.6333, 0.9085, 1.268, 1.721, 2.275, 2.932",\
                 "0.2306, 0.2511, 0.3213, 0.451, 0.649, 0.924, 1.285, 1.738, 2.291, 2.949",\
                 "0.2959, 0.3162, 0.3858, 0.515, 0.7127, 0.9877, 1.348, 1.802, 2.354, 3.012",\
                 "0.4252, 0.4478, 0.5203, 0.6474, 0.8428, 1.116, 1.475, 1.927, 2.478, 3.137",\
                 "0.5841, 0.611, 0.699, 0.85, 1.054, 1.324, 1.679, 2.128, 2.678, 3.335",\
                 "0.7763, 0.8075, 0.9087, 1.083, 1.324, 1.621, 1.977, 2.421, 2.967, 3.618",\
                 "1.003, 1.039, 1.155, 1.351, 1.621, 1.963, 2.362, 2.816, 3.355, 4.002",\
                 "1.266, 1.308, 1.44, 1.661, 1.96, 2.335, 2.783, 3.292, 3.853, 4.497",\
                 "1.568, 1.615, 1.763, 2.01, 2.342, 2.751, 3.238, 3.8, 4.425, 5.104",\
                 "1.909, 1.961, 2.127, 2.403, 2.769, 3.216, 3.74, 4.346, 5.027, 5.776");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1775, 0.2085, 0.3185, 0.5247, 0.8474, 1.299, 1.891, 2.643, 3.557, 4.639",\
                 "0.1776, 0.2086, 0.3185, 0.5245, 0.8476, 1.3, 1.892, 2.641, 3.558, 4.64",\
                 "0.191, 0.219, 0.321, 0.5253, 0.847, 1.299, 1.895, 2.642, 3.554, 4.643",\
                 "0.2373, 0.2646, 0.3654, 0.5553, 0.8575, 1.3, 1.894, 2.643, 3.554, 4.641",\
                 "0.3255, 0.3503, 0.442, 0.6274, 0.924, 1.337, 1.905, 2.644, 3.553, 4.644",\
                 "0.451, 0.4762, 0.5682, 0.7424, 1.025, 1.439, 1.982, 2.685, 3.568, 4.645",\
                 "0.6006, 0.6282, 0.7258, 0.9046, 1.179, 1.575, 2.116, 2.802, 3.644, 4.686",\
                 "0.7678, 0.799, 0.9062, 1.098, 1.38, 1.766, 2.291, 2.971, 3.809, 4.803",\
                 "0.9476, 0.9842, 1.104, 1.315, 1.614, 2.009, 2.523, 3.185, 4.014, 5.01",\
                 "1.142, 1.183, 1.319, 1.555, 1.876, 2.29, 2.813, 3.462, 4.269, 5.259");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.3063, 0.3414, 0.4615, 0.6849, 1.031, 1.515, 2.148, 2.948, 3.923, 5.083",\
                 "0.3064, 0.3407, 0.4608, 0.6848, 1.031, 1.514, 2.148, 2.947, 3.925, 5.083",\
                 "0.3049, 0.3402, 0.4602, 0.6846, 1.031, 1.514, 2.148, 2.947, 3.922, 5.084",\
                 "0.3719, 0.399, 0.4953, 0.6929, 1.031, 1.514, 2.149, 2.947, 3.921, 5.083",\
                 "0.4762, 0.5126, 0.6248, 0.8098, 1.087, 1.523, 2.148, 2.947, 3.922, 5.083",\
                 "0.597, 0.636, 0.7646, 0.9816, 1.279, 1.655, 2.195, 2.952, 3.922, 5.082",\
                 "0.7366, 0.7822, 0.9238, 1.164, 1.499, 1.915, 2.407, 3.065, 3.948, 5.084",\
                 "0.893, 0.9432, 1.107, 1.367, 1.728, 2.191, 2.736, 3.355, 4.137, 5.158",\
                 "1.062, 1.121, 1.304, 1.596, 1.984, 2.477, 3.079, 3.759, 4.512, 5.43",\
                 "1.247, 1.314, 1.524, 1.848, 2.271, 2.789, 3.424, 4.172, 4.996, 5.898");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1631, 0.1784, 0.2312, 0.3313, 0.4865, 0.7043, 0.9907, 1.352, 1.792, 2.317",\
                 "0.1722, 0.1876, 0.241, 0.3417, 0.4972, 0.7152, 1.002, 1.363, 1.803, 2.328",\
                 "0.1901, 0.2069, 0.2626, 0.3645, 0.5206, 0.7387, 1.026, 1.386, 1.827, 2.352",\
                 "0.1976, 0.2177, 0.2839, 0.3975, 0.5602, 0.7785, 1.065, 1.426, 1.866, 2.391",\
                 "0.1842, 0.2098, 0.2909, 0.423, 0.6047, 0.8395, 1.13, 1.49, 1.93, 2.454",\
                 "0.1409, 0.1733, 0.273, 0.4309, 0.6379, 0.8954, 1.209, 1.583, 2.023, 2.545",\
                 "0.0684, 0.1057, 0.2237, 0.4104, 0.6507, 0.9386, 1.278, 1.678, 2.141, 2.671",\
                 "-0.0363, 0.0061, 0.141, 0.3565, 0.6336, 0.9594, 1.333, 1.761, 2.252, 2.81",\
                 "-0.176, -0.128, 0.0245, 0.267, 0.58, 0.9482, 1.364, 1.829, 2.351, 2.939",\
                 "-0.3541, -0.3005, -0.1312, 0.1402, 0.4882, 0.8994, 1.361, 1.871, 2.433, 3.053");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2442, 0.2638, 0.3321, 0.4599, 0.6565, 0.9307, 1.291, 1.744, 2.295, 2.955",\
                 "0.2598, 0.2795, 0.3479, 0.4758, 0.6727, 0.9471, 1.307, 1.759, 2.311, 2.969",\
                 "0.3252, 0.3447, 0.4126, 0.5401, 0.7367, 1.011, 1.371, 1.822, 2.376, 3.032",\
                 "0.4574, 0.4784, 0.5476, 0.6729, 0.867, 1.139, 1.497, 1.949, 2.501, 3.159",\
                 "0.6234, 0.6486, 0.7334, 0.8793, 1.08, 1.348, 1.703, 2.152, 2.702, 3.357",\
                 "0.823, 0.8523, 0.9492, 1.118, 1.355, 1.648, 2.002, 2.445, 2.99, 3.642",\
                 "1.059, 1.093, 1.203, 1.394, 1.659, 1.995, 2.391, 2.843, 3.381, 4.028",\
                 "1.333, 1.372, 1.497, 1.711, 2.005, 2.376, 2.82, 3.325, 3.883, 4.526",\
                 "1.646, 1.689, 1.831, 2.07, 2.395, 2.799, 3.282, 3.84, 4.461, 5.136",\
                 "1.999, 2.047, 2.207, 2.472, 2.831, 3.271, 3.791, 4.394, 5.073, 5.817");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.1782, 0.2041, 0.2947, 0.4678, 0.7356, 1.111, 1.605, 2.228, 2.988, 3.891",\
                 "0.1783, 0.2041, 0.2947, 0.4676, 0.7358, 1.112, 1.606, 2.228, 2.987, 3.895",\
                 "0.1969, 0.2191, 0.3011, 0.4682, 0.7353, 1.112, 1.605, 2.228, 2.989, 3.895",\
                 "0.2604, 0.2818, 0.3605, 0.5125, 0.7531, 1.113, 1.605, 2.229, 2.99, 3.896",\
                 "0.3677, 0.3874, 0.4588, 0.6048, 0.8422, 1.175, 1.63, 2.231, 2.988, 3.894",\
                 "0.509, 0.5294, 0.6024, 0.743, 0.9684, 1.301, 1.74, 2.3, 3.014, 3.897",\
                 "0.6726, 0.6948, 0.7734, 0.922, 1.147, 1.468, 1.906, 2.46, 3.135, 3.967",\
                 "0.852, 0.8768, 0.9676, 1.129, 1.369, 1.691, 2.113, 2.663, 3.343, 4.148",\
                 "1.045, 1.075, 1.174, 1.358, 1.618, 1.957, 2.382, 2.921, 3.595, 4.401",\
                 "1.251, 1.285, 1.401, 1.604, 1.894, 2.256, 2.699, 3.24, 3.898, 4.699");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.3372, 0.3724, 0.491, 0.7148, 1.061, 1.544, 2.179, 2.976, 3.953, 5.113",\
                 "0.337, 0.372, 0.4915, 0.7146, 1.061, 1.545, 2.179, 2.977, 3.949, 5.107",\
                 "0.3366, 0.371, 0.4905, 0.7151, 1.061, 1.544, 2.178, 2.978, 3.951, 5.114",\
                 "0.3935, 0.4212, 0.5194, 0.7209, 1.061, 1.544, 2.179, 2.977, 3.952, 5.111",\
                 "0.502, 0.537, 0.6466, 0.8296, 1.111, 1.551, 2.178, 2.978, 3.952, 5.112",\
                 "0.6212, 0.6596, 0.787, 1.005, 1.297, 1.676, 2.221, 2.981, 3.951, 5.112",\
                 "0.76, 0.804, 0.9412, 1.181, 1.518, 1.932, 2.424, 3.085, 3.974, 5.114",\
                 "0.9166, 0.965, 1.121, 1.38, 1.741, 2.206, 2.751, 3.369, 4.157, 5.182",\
                 "1.086, 1.144, 1.318, 1.607, 1.99, 2.486, 3.091, 3.769, 4.525, 5.448",\
                 "1.273, 1.336, 1.536, 1.852, 2.27, 2.791, 3.43, 4.179, 5.002, 5.9");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.226, 0.2452, 0.3107, 0.4333, 0.6215, 0.8842, 1.229, 1.663, 2.192, 2.822",\
                 "0.2354, 0.2547, 0.3207, 0.4435, 0.632, 0.8949, 1.24, 1.674, 2.203, 2.833",\
                 "0.254, 0.2734, 0.3397, 0.463, 0.652, 0.9152, 1.26, 1.694, 2.224, 2.855",\
                 "0.2653, 0.287, 0.3592, 0.4885, 0.6785, 0.9414, 1.286, 1.72, 2.249, 2.88",\
                 "0.2623, 0.2871, 0.3676, 0.5079, 0.7116, 0.9824, 1.326, 1.759, 2.287, 2.917",\
                 "0.2335, 0.2631, 0.3579, 0.516, 0.7359, 1.023, 1.383, 1.819, 2.345, 2.973",\
                 "0.174, 0.2087, 0.3199, 0.502, 0.7464, 1.054, 1.433, 1.889, 2.427, 3.054",\
                 "0.0821, 0.1218, 0.249, 0.4572, 0.7333, 1.07, 1.472, 1.949, 2.508, 3.154",\
                 "-0.0448, 0.0005, 0.1438, 0.3781, 0.6875, 1.06, 1.494, 1.998, 2.579, 3.248",\
                 "-0.2089, -0.1586, 0.0012, 0.2621, 0.6053, 1.017, 1.49, 2.028, 2.638, 3.33");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2442, 0.2638, 0.3321, 0.4599, 0.6565, 0.9307, 1.291, 1.744, 2.295, 2.955",\
                 "0.2598, 0.2795, 0.3479, 0.4758, 0.6727, 0.9471, 1.307, 1.759, 2.311, 2.969",\
                 "0.3252, 0.3447, 0.4126, 0.5401, 0.7367, 1.011, 1.371, 1.822, 2.376, 3.032",\
                 "0.4574, 0.4784, 0.5476, 0.6729, 0.867, 1.139, 1.497, 1.949, 2.501, 3.159",\
                 "0.6234, 0.6486, 0.7334, 0.8793, 1.08, 1.348, 1.703, 2.152, 2.702, 3.357",\
                 "0.823, 0.8523, 0.9492, 1.118, 1.355, 1.648, 2.002, 2.445, 2.99, 3.642",\
                 "1.059, 1.093, 1.203, 1.394, 1.659, 1.995, 2.391, 2.843, 3.381, 4.028",\
                 "1.333, 1.372, 1.497, 1.711, 2.005, 2.376, 2.82, 3.325, 3.883, 4.526",\
                 "1.646, 1.689, 1.831, 2.07, 2.395, 2.799, 3.282, 3.84, 4.461, 5.136",\
                 "1.999, 2.047, 2.207, 2.472, 2.831, 3.271, 3.791, 4.394, 5.073, 5.817");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.2309, 0.2624, 0.3725, 0.5815, 0.9033, 1.356, 1.949, 2.697, 3.609, 4.696",\
                 "0.2304, 0.2624, 0.3732, 0.5813, 0.9032, 1.357, 1.949, 2.697, 3.609, 4.693",\
                 "0.2356, 0.2657, 0.3728, 0.5814, 0.9048, 1.354, 1.949, 2.696, 3.608, 4.696",\
                 "0.2785, 0.3081, 0.4115, 0.6028, 0.9098, 1.356, 1.949, 2.696, 3.609, 4.696",\
                 "0.3535, 0.3814, 0.4798, 0.673, 0.9718, 1.388, 1.957, 2.696, 3.609, 4.696",\
                 "0.4714, 0.4986, 0.597, 0.7778, 1.07, 1.486, 2.031, 2.731, 3.617, 4.695",\
                 "0.6154, 0.646, 0.7484, 0.9346, 1.215, 1.619, 2.164, 2.85, 3.695, 4.731",\
                 "0.7806, 0.814, 0.9278, 1.125, 1.411, 1.805, 2.334, 3.018, 3.856, 4.852",\
                 "0.9616, 0.999, 1.124, 1.342, 1.643, 2.044, 2.563, 3.228, 4.06, 5.06",\
                 "1.158, 1.201, 1.34, 1.578, 1.905, 2.321, 2.846, 3.499, 4.311, 5.304");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003219, 0.01101, 0.02588, 0.04906, 0.08157, 0.1244, 0.1783, 0.2441, 0.3225");
          values("0.3721, 0.4071, 0.5286, 0.7566, 1.105, 1.59, 2.224, 3.023, 3.998, 5.158",\
                 "0.372, 0.4071, 0.5286, 0.7565, 1.105, 1.589, 2.225, 3.023, 3.998, 5.158",\
                 "0.3709, 0.4062, 0.5282, 0.7565, 1.105, 1.59, 2.225, 3.022, 3.997, 5.158",\
                 "0.4403, 0.4669, 0.5642, 0.7658, 1.106, 1.59, 2.225, 3.022, 3.996, 5.157",\
                 "0.5678, 0.5994, 0.705, 0.8834, 1.163, 1.6, 2.225, 3.023, 3.997, 5.157",\
                 "0.7094, 0.745, 0.8634, 1.071, 1.357, 1.731, 2.272, 3.03, 3.998, 5.158",\
                 "0.8746, 0.9138, 1.041, 1.267, 1.591, 1.997, 2.483, 3.14, 4.024, 5.16",\
                 "1.058, 1.103, 1.245, 1.486, 1.833, 2.284, 2.819, 3.434, 4.216, 5.236",\
                 "1.26, 1.307, 1.467, 1.734, 2.101, 2.581, 3.173, 3.842, 4.592, 5.507",\
                 "1.476, 1.53, 1.71, 2.004, 2.403, 2.904, 3.526, 4.263, 5.078, 5.972");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai211_4) {
    area : 72.441600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&!C" ;
      value : "0.0001096557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B&C" ;
      value : "0.000109659" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&!C" ;
      value : "0.0001098075" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B&C" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&!C" ;
      value : "0.000207537" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B&C" ;
      value : "0.0002077482" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&!C" ;
      value : "0.0002709201" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B&C" ;
      value : "0.0002171037" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&!C" ;
      value : "0.000207537" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B&C" ;
      value : "0.0002077449" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&!C" ;
      value : "0.0002709201" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B&C" ;
      value : "0.0001595616" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&!C" ;
      value : "0.0002083026" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B&C" ;
      value : "0.0002085171" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&!C" ;
      value : "0.0002718375" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B&C" ;
      value : "0.0001595616" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002718375" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01815 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06689, 0.06682, 0.06658, 0.06646, 0.06643, 0.06647, 0.06654, \
                 0.06649, 0.06647, 0.06648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02489, 0.025, 0.02496, 0.02483, 0.02465, 0.02456, 0.02444, 0.02427, \
                 0.02413, 0.02386");
        }
      }

      internal_power() {
        when : "!A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06685, 0.06685, 0.06663, 0.06652, 0.06644, 0.06652, 0.0665, \
                 0.0665, 0.06652, 0.06651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02495, 0.02499, 0.02498, 0.02485, 0.02467, 0.0245, 0.02435, \
                 0.02423, 0.02407, 0.02379");
        }
      }

      internal_power() {
        when : "!A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06685, 0.06685, 0.06663, 0.06653, 0.06645, 0.06652, 0.06651, \
                 0.0665, 0.06653, 0.0665");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09006, 0.09011, 0.09023, 0.08993, 0.08971, 0.08954, 0.08937, \
                 0.08906, 0.08897, 0.08853");
        }
      }

      internal_power() {
        when : "A2&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.067, 0.06702, 0.06699, 0.06684, 0.06673, 0.06679, 0.06674, 0.06671, \
                 0.06657, 0.06645");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06458, -0.06436, -0.06438, -0.06495, -0.06526, -0.06551, -0.06559, \
                 -0.06566, -0.0657, -0.06572");
        }
      }

      internal_power() {
        when : "A2&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06702, 0.06707, 0.06709, 0.06697, 0.06685, 0.0668, 0.06672, \
                 0.06666, 0.06657, 0.06644");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06437, -0.06434, -0.0644, -0.06495, -0.0652, -0.06551, -0.06561, \
                 -0.0657, -0.06573, -0.06577");
        }
      }

      internal_power() {
        when : "A2&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06715, 0.06718, 0.06725, 0.06705, 0.0669, 0.06692, 0.06688, \
                 0.06679, 0.0667, 0.06658");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06438, -0.06435, -0.0644, -0.06497, -0.06519, -0.06549, -0.06566, \
                 -0.0657, -0.06571, -0.06581");
        }
      }

      internal_power() {
        when : "A2&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04948, 0.04938, 0.0493, 0.04931, 0.04927, 0.04932, 0.04926, \
                 0.04921, 0.04912, 0.04901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01915, -0.01913, -0.0192, -0.01922, -0.01921, -0.01927, -0.01927, \
                 -0.01926, -0.01927, -0.01926");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01817 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06656, 0.06651, 0.06644, 0.06647, 0.0666, 0.06652, 0.06654, \
                 0.06649, 0.06654, 0.06648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0254, 0.02532, 0.02508, 0.02482, 0.02476, 0.0246, 0.02447, 0.02432, \
                 0.02406, 0.02378");
        }
      }

      internal_power() {
        when : "!A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06659, 0.06654, 0.06649, 0.06651, 0.06653, 0.0666, 0.06653, \
                 0.06651, 0.06653, 0.06651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02544, 0.02532, 0.02511, 0.02491, 0.02485, 0.02456, 0.02441, \
                 0.02427, 0.02404, 0.02376");
        }
      }

      internal_power() {
        when : "!A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06659, 0.06654, 0.06647, 0.06652, 0.06654, 0.06658, 0.06653, \
                 0.06652, 0.06651, 0.0665");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09061, 0.09052, 0.09029, 0.09016, 0.08997, 0.08967, 0.08936, \
                 0.08905, 0.08886, 0.0885");
        }
      }

      internal_power() {
        when : "A1&!B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06693, 0.06679, 0.06676, 0.0668, 0.06672, 0.06676, 0.06679, \
                 0.06666, 0.06657, 0.06643");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0638, -0.06369, -0.06428, -0.06485, -0.06499, -0.06541, -0.06554, \
                 -0.0656, -0.06571, -0.06574");
        }
      }

      internal_power() {
        when : "A1&!B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06699, 0.06682, 0.06673, 0.06681, 0.06673, 0.06675, 0.06673, \
                 0.06662, 0.0666, 0.06645");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06361, -0.06367, -0.06435, -0.06486, -0.06502, -0.06543, -0.06553, \
                 -0.06561, -0.06571, -0.06576");
        }
      }

      internal_power() {
        when : "A1&B&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06713, 0.06696, 0.06694, 0.06695, 0.06688, 0.0669, 0.06692, \
                 0.06674, 0.06675, 0.06658");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06359, -0.06364, -0.06439, -0.06485, -0.06504, -0.06544, -0.06553, \
                 -0.06566, -0.0657, -0.06572");
        }
      }

      internal_power() {
        when : "A1&B&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05832, 0.05833, 0.05821, 0.05826, 0.05825, 0.05845, 0.05846, \
                 0.05842, 0.05836, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04901, -0.053, -0.05609, -0.05668, -0.0569, -0.0573, -0.05738, \
                 -0.05754, -0.05756, -0.05762");
        }
      }
    }

    pin(B) {
      capacitance : 0.01767 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07137, 0.07272, 0.07341, 0.07398, 0.07439, 0.07478, 0.07494, \
                 0.075, 0.07499, 0.07475");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05263, -0.05256, -0.05239, -0.05227, -0.05222, -0.05234, -0.05232, \
                 -0.05229, -0.05229, -0.05229");
        }
      }

      internal_power() {
        when : "!A1&!A2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.062, 0.05449, 0.05254, 0.05248, 0.0524, 0.05249, 0.05245, 0.05245, \
                 0.05247, 0.05246");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0525, -0.05244, -0.05246, -0.05236, -0.0523, -0.05234, -0.05236, \
                 -0.05234, -0.05239, -0.0523");
        }
      }

      internal_power() {
        when : "!A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05395, 0.05384, 0.05376, 0.05359, 0.05357, 0.05349, 0.05349, \
                 0.05333, 0.0533, 0.05312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04765, -0.04759, -0.04762, -0.0476, -0.0476, -0.04782, -0.04789, \
                 -0.04811, -0.04831, -0.04866");
        }
      }

      internal_power() {
        when : "A1&!A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05426, 0.05412, 0.05376, 0.05358, 0.05359, 0.05359, 0.0535, \
                 0.05342, 0.05327, 0.05315");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04765, -0.04763, -0.04761, -0.04761, -0.04762, -0.0478, -0.04791, \
                 -0.04807, -0.0483, -0.04862");
        }
      }

      internal_power() {
        when : "A1&A2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05412, 0.05398, 0.05366, 0.05347, 0.05348, 0.05347, 0.05337, \
                 0.05331, 0.05313, 0.05307");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04768, -0.04764, -0.04763, -0.04758, -0.04765, -0.04783, -0.0479, \
                 -0.04813, -0.04834, -0.04873");
        }
      }
    }

    pin(C) {
      capacitance : 0.01686 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05277, 0.05275, 0.05258, 0.05249, 0.05242, 0.0525, 0.05247, \
                 0.05252, 0.05252, 0.05247");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05271, -0.05257, -0.05238, -0.05227, -0.05221, -0.05229, -0.0523, \
                 -0.05236, -0.05227, -0.05238");
        }
      }

      internal_power() {
        when : "!A1&!A2&B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0529, 0.05271, 0.0526, 0.05247, 0.05242, 0.05248, 0.05249, 0.05244, \
                 0.05248, 0.05249");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05253, -0.05252, -0.05244, -0.05241, -0.05231, -0.05235, -0.05237, \
                 -0.05234, -0.05231, -0.05229");
        }
      }

      internal_power() {
        when : "!A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.053, 0.05268, 0.05257, 0.05249, 0.05239, 0.05249, 0.05249, 0.05249, \
                 0.0525, 0.05247");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05259, -0.05254, -0.05242, -0.05227, -0.05223, -0.05232, -0.05231, \
                 -0.05232, -0.05225, -0.0523");
        }
      }

      internal_power() {
        when : "A1&!A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05299, 0.0529, 0.05256, 0.05253, 0.05242, 0.05247, 0.0525, 0.05255, \
                 0.05254, 0.05252");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05269, -0.05258, -0.05241, -0.05227, -0.05222, -0.0523, -0.05231, \
                 -0.05228, -0.05225, -0.05222");
        }
      }

      internal_power() {
        when : "A1&A2&!B" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05296, 0.0529, 0.05257, 0.05254, 0.0524, 0.05248, 0.05249, 0.05254, \
                 0.05254, 0.05246");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05269, -0.05258, -0.05242, -0.05228, -0.05222, -0.05231, -0.05232, \
                 -0.05228, -0.05227, -0.05225");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|(!B)|(!C))" ;
      max_capacitance : 0.6451 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.03051, 0.03077, 0.03136, 0.0317, 0.0319, 0.03204, 0.03213, 0.03215, 0.03218, 0.03219",\
                 "0.03045, 0.03103, 0.03223, 0.03338, 0.034, 0.0344, 0.03462, 0.03477, 0.03487, 0.03494",\
                 "0.03335, 0.03375, 0.03455, 0.03537, 0.03597, 0.03645, 0.03666, 0.03687, 0.03697, 0.03708",\
                 "0.04913, 0.04826, 0.04628, 0.04429, 0.04269, 0.04153, 0.04066, 0.04005, 0.0396, 0.03927",\
                 "0.08457, 0.08183, 0.07525, 0.06787, 0.06143, 0.05642, 0.05252, 0.04956, 0.04725, 0.0455",\
                 "0.1424, 0.1381, 0.1261, 0.1114, 0.09804, 0.0866, 0.0775, 0.07019, 0.06444, 0.05987",\
                 "0.2243, 0.2184, 0.2014, 0.1786, 0.1562, 0.1366, 0.1202, 0.1065, 0.09546, 0.08637",\
                 "0.3312, 0.324, 0.3025, 0.2717, 0.2396, 0.2099, 0.1843, 0.1626, 0.1443, 0.129",\
                 "0.4643, 0.456, 0.4305, 0.3928, 0.3505, 0.3096, 0.2735, 0.2417, 0.2146, 0.1914",\
                 "0.6251, 0.6157, 0.5868, 0.5424, 0.4905, 0.4382, 0.3898, 0.3473, 0.3096, 0.2766");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.239, 0.2401, 0.242, 0.2437, 0.245, 0.2468, 0.2484, 0.2489, 0.2508, 0.2569",\
                 "0.2358, 0.2373, 0.2407, 0.244, 0.2469, 0.2486, 0.2511, 0.2532, 0.2541, 0.2605",\
                 "0.2382, 0.2385, 0.24, 0.2426, 0.2456, 0.2484, 0.2512, 0.2529, 0.2565, 0.264",\
                 "0.2583, 0.257, 0.2542, 0.2516, 0.2513, 0.252, 0.2535, 0.2545, 0.2568, 0.2651",\
                 "0.3009, 0.2977, 0.2901, 0.2813, 0.2733, 0.2684, 0.2658, 0.2648, 0.2654, 0.2723",\
                 "0.3682, 0.3635, 0.3503, 0.3344, 0.3191, 0.3053, 0.2953, 0.2881, 0.2841, 0.2895",\
                 "0.4612, 0.4552, 0.4372, 0.4133, 0.3895, 0.368, 0.3479, 0.3327, 0.3211, 0.3256",\
                 "0.5825, 0.5748, 0.5523, 0.5211, 0.487, 0.456, 0.4273, 0.401, 0.3824, 0.3843",\
                 "0.7328, 0.7241, 0.6971, 0.6586, 0.6155, 0.5727, 0.5348, 0.4992, 0.4707, 0.4776",\
                 "0.9134, 0.9039, 0.8735, 0.8282, 0.7763, 0.7228, 0.6721, 0.6275, 0.5935, 0.6194");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.07323, 0.07322, 0.07327, 0.07336, 0.07338, 0.07342, 0.07341, 0.07339, 0.07342, 0.07338",\
                 "0.06975, 0.06979, 0.06995, 0.0701, 0.07023, 0.07031, 0.07027, 0.07036, 0.07037, 0.07037",\
                 "0.06987, 0.06978, 0.06942, 0.06899, 0.06871, 0.06852, 0.06842, 0.06835, 0.06833, 0.06825",\
                 "0.08534, 0.08413, 0.08112, 0.0779, 0.07516, 0.07304, 0.07167, 0.07063, 0.0699, 0.06938",\
                 "0.1236, 0.1208, 0.1132, 0.1039, 0.09564, 0.08927, 0.08424, 0.08049, 0.07768, 0.07564",\
                 "0.1882, 0.1836, 0.1706, 0.1535, 0.1369, 0.1229, 0.1117, 0.103, 0.0961, 0.09076",\
                 "0.281, 0.2747, 0.2562, 0.2304, 0.2038, 0.1797, 0.1595, 0.1433, 0.1301, 0.1194",\
                 "0.4029, 0.3954, 0.3721, 0.3378, 0.3, 0.2643, 0.2329, 0.2063, 0.1844, 0.1663",\
                 "0.5559, 0.5472, 0.5197, 0.4773, 0.4286, 0.3801, 0.3357, 0.2967, 0.2635, 0.2356",\
                 "0.7408, 0.7312, 0.6998, 0.6506, 0.5911, 0.5296, 0.471, 0.4181, 0.3718, 0.3318");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2818, 0.2826, 0.2844, 0.2856, 0.2869, 0.288, 0.2892, 0.2905, 0.2924, 0.2985",\
                 "0.2774, 0.279, 0.2825, 0.2857, 0.2885, 0.2906, 0.2925, 0.2938, 0.2964, 0.3019",\
                 "0.2728, 0.2738, 0.2769, 0.281, 0.2854, 0.2889, 0.2922, 0.2938, 0.2964, 0.3036",\
                 "0.2875, 0.287, 0.2859, 0.2858, 0.2874, 0.2898, 0.292, 0.2945, 0.2967, 0.3057",\
                 "0.3302, 0.3274, 0.3206, 0.3137, 0.3082, 0.3049, 0.3033, 0.303, 0.3046, 0.3112",\
                 "0.4043, 0.3993, 0.3863, 0.3699, 0.356, 0.3435, 0.334, 0.328, 0.3251, 0.3309",\
                 "0.5103, 0.5035, 0.4843, 0.4582, 0.4327, 0.4111, 0.3921, 0.3762, 0.3656, 0.3676",\
                 "0.6486, 0.6405, 0.6161, 0.581, 0.5436, 0.5099, 0.4799, 0.4544, 0.4333, 0.4325",\
                 "0.8197, 0.8107, 0.7824, 0.7394, 0.6909, 0.6426, 0.6005, 0.5632, 0.5328, 0.5314",\
                 "1.026, 1.016, 0.9845, 0.935, 0.8752, 0.8143, 0.7573, 0.7072, 0.6696, 0.6788");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "!A1&A2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.07725, 0.07749, 0.07777, 0.07806, 0.07824, 0.07841, 0.07846, 0.07852, 0.07857, 0.0785",\
                 "0.07492, 0.0753, 0.07621, 0.077, 0.07761, 0.07797, 0.07817, 0.0783, 0.07839, 0.07837",\
                 "0.0717, 0.07213, 0.07327, 0.07459, 0.0758, 0.07662, 0.07715, 0.07753, 0.07779, 0.07795",\
                 "0.07944, 0.07923, 0.07892, 0.07864, 0.0785, 0.07854, 0.07854, 0.07858, 0.07855, 0.0786",\
                 "0.11, 0.1084, 0.1044, 0.09947, 0.09523, 0.09169, 0.08888, 0.0867, 0.08507, 0.08382",\
                 "0.1688, 0.1658, 0.1566, 0.1447, 0.1332, 0.1233, 0.115, 0.1084, 0.103, 0.09875",\
                 "0.2588, 0.254, 0.2393, 0.219, 0.1982, 0.1791, 0.1628, 0.1491, 0.1379, 0.1285",\
                 "0.3804, 0.3742, 0.3547, 0.3256, 0.2941, 0.2641, 0.2373, 0.2143, 0.1946, 0.178",\
                 "0.5353, 0.5274, 0.5032, 0.4664, 0.4236, 0.3809, 0.3421, 0.3078, 0.2778, 0.2518",\
                 "0.7231, 0.7144, 0.6866, 0.6423, 0.589, 0.5334, 0.481, 0.4335, 0.3911, 0.3538");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.4128, 0.4129, 0.4132, 0.4136, 0.4141, 0.4151, 0.4162, 0.4184, 0.4203, 0.422",\
                 "0.4089, 0.4092, 0.4102, 0.4114, 0.4123, 0.4134, 0.4147, 0.4164, 0.419, 0.4214",\
                 "0.4087, 0.4087, 0.409, 0.4098, 0.4109, 0.4122, 0.4137, 0.4157, 0.4177, 0.4197",\
                 "0.4296, 0.4285, 0.4254, 0.4222, 0.4196, 0.4186, 0.4184, 0.4193, 0.4203, 0.4227",\
                 "0.4777, 0.4751, 0.4673, 0.4578, 0.4482, 0.4405, 0.4362, 0.4328, 0.4315, 0.4309",\
                 "0.5563, 0.5519, 0.5391, 0.5213, 0.5036, 0.4875, 0.475, 0.4648, 0.4579, 0.4531",\
                 "0.6659, 0.6603, 0.6434, 0.6177, 0.5894, 0.5638, 0.5411, 0.5212, 0.5064, 0.4934",\
                 "0.8085, 0.802, 0.7819, 0.7496, 0.7111, 0.6722, 0.6385, 0.608, 0.5817, 0.5601",\
                 "0.9852, 0.9782, 0.955, 0.9176, 0.8692, 0.8185, 0.7708, 0.7288, 0.6899, 0.6579",\
                 "1.198, 1.191, 1.165, 1.122, 1.067, 1.006, 0.9424, 0.8852, 0.8348, 0.7891");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&!A2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.03191, 0.03208, 0.03253, 0.03285, 0.03305, 0.03318, 0.03322, 0.03329, 0.0333, 0.03333",\
                 "0.02866, 0.02929, 0.03065, 0.03166, 0.0323, 0.03272, 0.03291, 0.03306, 0.03313, 0.03322",\
                 "0.02453, 0.02526, 0.02699, 0.0289, 0.03031, 0.03126, 0.03186, 0.03226, 0.03253, 0.03272",\
                 "0.03471, 0.0343, 0.03362, 0.03333, 0.0332, 0.03329, 0.03333, 0.03333, 0.03335, 0.03338",\
                 "0.0699, 0.06771, 0.06207, 0.05602, 0.05091, 0.04701, 0.04403, 0.04175, 0.04003, 0.03875",\
                 "0.1344, 0.1301, 0.1185, 0.1041, 0.09079, 0.07976, 0.07094, 0.06389, 0.05836, 0.05395",\
                 "0.23, 0.224, 0.206, 0.182, 0.1583, 0.1374, 0.1199, 0.1055, 0.09377, 0.08416",\
                 "0.3565, 0.3488, 0.3257, 0.2925, 0.2571, 0.2245, 0.196, 0.1718, 0.1514, 0.1343",\
                 "0.5152, 0.5061, 0.4783, 0.4369, 0.3899, 0.3439, 0.3026, 0.2665, 0.2355, 0.2088",\
                 "0.7064, 0.6964, 0.6646, 0.616, 0.5579, 0.4989, 0.4435, 0.3939, 0.3501, 0.312");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.3708, 0.3709, 0.3714, 0.3717, 0.3724, 0.3733, 0.3745, 0.3762, 0.3781, 0.3801",\
                 "0.3669, 0.3672, 0.3681, 0.3696, 0.3706, 0.3718, 0.3734, 0.3748, 0.3764, 0.3795",\
                 "0.3667, 0.3667, 0.3671, 0.368, 0.3692, 0.3702, 0.372, 0.3739, 0.3755, 0.3782",\
                 "0.3878, 0.3866, 0.3835, 0.3801, 0.3778, 0.3765, 0.3769, 0.3774, 0.3788, 0.3795",\
                 "0.4364, 0.4333, 0.4252, 0.4159, 0.4064, 0.3986, 0.3942, 0.3903, 0.3883, 0.3894",\
                 "0.5147, 0.5105, 0.4978, 0.4793, 0.4616, 0.4454, 0.4327, 0.4236, 0.4157, 0.4112",\
                 "0.6248, 0.6192, 0.6021, 0.5758, 0.5477, 0.5216, 0.4984, 0.4794, 0.4642, 0.4508",\
                 "0.7673, 0.7608, 0.7403, 0.7078, 0.6693, 0.6302, 0.5958, 0.5655, 0.5401, 0.5182",\
                 "0.9443, 0.9371, 0.914, 0.8764, 0.8279, 0.7767, 0.7289, 0.6866, 0.6474, 0.6146",\
                 "1.157, 1.15, 1.124, 1.081, 1.026, 0.9642, 0.9015, 0.843, 0.7939, 0.7465");
        }
      }

      internal_power() {
        related_pin : "B" ;
        when : "A1&A2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.03186, 0.03207, 0.03251, 0.03283, 0.03303, 0.03313, 0.03322, 0.03323, 0.03328, 0.03329",\
                 "0.0287, 0.02935, 0.03065, 0.0317, 0.03229, 0.03269, 0.03292, 0.03304, 0.03313, 0.03323",\
                 "0.02481, 0.0255, 0.0273, 0.02906, 0.03045, 0.03135, 0.03192, 0.0323, 0.03255, 0.03274",\
                 "0.03608, 0.03562, 0.03482, 0.03426, 0.03399, 0.03382, 0.03375, 0.03367, 0.03358, 0.03355",\
                 "0.0725, 0.07023, 0.06447, 0.05809, 0.05274, 0.04841, 0.04518, 0.04274, 0.04084, 0.03942",\
                 "0.1382, 0.1338, 0.1221, 0.1073, 0.09363, 0.08218, 0.07302, 0.06563, 0.05987, 0.05525",\
                 "0.2343, 0.2284, 0.2106, 0.1864, 0.1622, 0.1409, 0.123, 0.1082, 0.09607, 0.08614",\
                 "0.3619, 0.3543, 0.3313, 0.2978, 0.2622, 0.2291, 0.2002, 0.1755, 0.1547, 0.1373",\
                 "0.5213, 0.5124, 0.4849, 0.4434, 0.3962, 0.35, 0.308, 0.2715, 0.2401, 0.213",\
                 "0.7137, 0.7036, 0.6723, 0.6236, 0.5658, 0.5062, 0.4507, 0.4003, 0.3561, 0.3173");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.4065, 0.4067, 0.4072, 0.4076, 0.4083, 0.4093, 0.4105, 0.4112, 0.4134, 0.4168",\
                 "0.4033, 0.4035, 0.4046, 0.4062, 0.4075, 0.4088, 0.4094, 0.4118, 0.4137, 0.4158",\
                 "0.4024, 0.4025, 0.4033, 0.4047, 0.406, 0.4073, 0.4091, 0.4112, 0.4134, 0.4165",\
                 "0.4229, 0.4219, 0.4194, 0.4166, 0.4145, 0.4136, 0.4137, 0.4151, 0.4161, 0.4181",\
                 "0.4705, 0.468, 0.4611, 0.4527, 0.4435, 0.4359, 0.4318, 0.4285, 0.4273, 0.428",\
                 "0.5482, 0.5445, 0.5329, 0.5164, 0.4998, 0.4841, 0.4717, 0.4619, 0.4557, 0.4498",\
                 "0.6574, 0.6528, 0.6376, 0.6136, 0.587, 0.5621, 0.5397, 0.5209, 0.5048, 0.4933",\
                 "0.8002, 0.7947, 0.7757, 0.7455, 0.7094, 0.6734, 0.6402, 0.6097, 0.5837, 0.5617",\
                 "0.9774, 0.9708, 0.9494, 0.9146, 0.8689, 0.8211, 0.7751, 0.7338, 0.6962, 0.6628",\
                 "1.191, 1.184, 1.16, 1.121, 1.069, 1.01, 0.9497, 0.8948, 0.8457, 0.7996");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.07718, 0.07724, 0.0777, 0.07801, 0.07821, 0.07842, 0.07846, 0.07855, 0.07852, 0.07852",\
                 "0.07494, 0.07529, 0.07615, 0.07698, 0.07761, 0.07797, 0.07816, 0.07831, 0.07839, 0.07838",\
                 "0.07109, 0.07154, 0.07275, 0.07432, 0.07561, 0.07649, 0.07711, 0.07746, 0.07772, 0.07785",\
                 "0.07701, 0.07701, 0.07702, 0.07726, 0.07757, 0.07773, 0.07802, 0.07815, 0.07828, 0.07837",\
                 "0.1068, 0.1053, 0.1018, 0.09764, 0.09405, 0.09098, 0.08851, 0.08661, 0.08507, 0.0839",\
                 "0.1668, 0.164, 0.1555, 0.1444, 0.1336, 0.1241, 0.1163, 0.1098, 0.1046, 0.1002",\
                 "0.2607, 0.2561, 0.2423, 0.2226, 0.2024, 0.1837, 0.1677, 0.1541, 0.1427, 0.1332",\
                 "0.3896, 0.3833, 0.3643, 0.336, 0.3046, 0.2746, 0.248, 0.2247, 0.2049, 0.1878",\
                 "0.5541, 0.5466, 0.5227, 0.4861, 0.4435, 0.4006, 0.3614, 0.3263, 0.2957, 0.2691",\
                 "0.7551, 0.7463, 0.7184, 0.6743, 0.6209, 0.565, 0.5114, 0.4628, 0.419, 0.381");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.4702, 0.4703, 0.4705, 0.4709, 0.4712, 0.4723, 0.4735, 0.4753, 0.4773, 0.4787",\
                 "0.4663, 0.4664, 0.4669, 0.4673, 0.4678, 0.4689, 0.4702, 0.472, 0.474, 0.4761",\
                 "0.4679, 0.4677, 0.4674, 0.4673, 0.4673, 0.4681, 0.4692, 0.4707, 0.4727, 0.4744",\
                 "0.4903, 0.4889, 0.4853, 0.4812, 0.4777, 0.4757, 0.4748, 0.475, 0.4754, 0.4771",\
                 "0.5411, 0.5382, 0.53, 0.519, 0.5082, 0.4998, 0.4931, 0.4895, 0.4876, 0.4866",\
                 "0.624, 0.6197, 0.6062, 0.5872, 0.5679, 0.5498, 0.5353, 0.5245, 0.5163, 0.5098",\
                 "0.741, 0.7356, 0.7178, 0.6905, 0.6597, 0.6313, 0.6054, 0.5845, 0.5668, 0.5534",\
                 "0.8943, 0.8878, 0.8665, 0.8316, 0.7904, 0.7479, 0.7104, 0.676, 0.6463, 0.6241",\
                 "1.086, 1.078, 1.053, 1.013, 0.9616, 0.906, 0.8532, 0.8056, 0.7631, 0.7272",\
                 "1.316, 1.308, 1.28, 1.235, 1.175, 1.106, 1.039, 0.9756, 0.9185, 0.8683");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.03179, 0.03205, 0.03252, 0.0328, 0.03299, 0.03313, 0.03319, 0.03329, 0.03329, 0.03333",\
                 "0.02869, 0.02929, 0.03061, 0.03162, 0.03229, 0.03266, 0.03287, 0.03302, 0.03314, 0.03319",\
                 "0.02371, 0.02451, 0.02645, 0.02851, 0.03008, 0.0311, 0.03177, 0.03219, 0.03249, 0.03268",\
                 "0.03177, 0.03154, 0.03144, 0.03173, 0.03218, 0.03251, 0.0328, 0.03292, 0.03305, 0.03313",\
                 "0.06573, 0.06379, 0.05902, 0.05386, 0.0496, 0.04631, 0.04368, 0.04167, 0.04009, 0.03883",\
                 "0.1313, 0.1273, 0.1167, 0.1033, 0.09098, 0.08063, 0.07219, 0.06535, 0.05987, 0.05543",\
                 "0.2306, 0.2248, 0.208, 0.1851, 0.1622, 0.1419, 0.1248, 0.1104, 0.09861, 0.0888",\
                 "0.3646, 0.357, 0.3345, 0.3023, 0.2674, 0.2349, 0.2066, 0.1824, 0.1616, 0.1442",\
                 "0.5336, 0.5247, 0.4973, 0.4561, 0.4093, 0.3634, 0.3218, 0.2853, 0.2536, 0.2262",\
                 "0.7382, 0.7278, 0.6966, 0.6478, 0.5899, 0.5304, 0.4739, 0.4234, 0.3786, 0.3393");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.4283, 0.4283, 0.4286, 0.4289, 0.4297, 0.4305, 0.4315, 0.4327, 0.4354, 0.4375",\
                 "0.4242, 0.4243, 0.4246, 0.4254, 0.4261, 0.4271, 0.4285, 0.4304, 0.4321, 0.4332",\
                 "0.4259, 0.4256, 0.4251, 0.4253, 0.4255, 0.4264, 0.428, 0.4288, 0.4311, 0.4332",\
                 "0.4485, 0.4471, 0.4433, 0.4391, 0.4358, 0.4339, 0.4331, 0.4334, 0.4344, 0.4352",\
                 "0.4994, 0.4961, 0.4881, 0.4774, 0.4661, 0.4579, 0.4521, 0.4473, 0.4457, 0.4444",\
                 "0.5825, 0.5783, 0.5648, 0.5451, 0.526, 0.508, 0.4925, 0.4819, 0.4724, 0.4686",\
                 "0.7, 0.6944, 0.6764, 0.649, 0.6174, 0.5894, 0.5633, 0.5416, 0.5239, 0.5122",\
                 "0.8532, 0.8465, 0.825, 0.7902, 0.7483, 0.7067, 0.6681, 0.634, 0.6057, 0.5821",\
                 "1.044, 1.037, 1.012, 0.9714, 0.9199, 0.8648, 0.8107, 0.7641, 0.7212, 0.6849",\
                 "1.275, 1.267, 1.239, 1.193, 1.133, 1.066, 0.9978, 0.9334, 0.8766, 0.826");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&B" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.03184, 0.03203, 0.03244, 0.03279, 0.03301, 0.03312, 0.03322, 0.03324, 0.03328, 0.03328",\
                 "0.02876, 0.02936, 0.0306, 0.03166, 0.0323, 0.03268, 0.03291, 0.03303, 0.03312, 0.03318",\
                 "0.02384, 0.02464, 0.02655, 0.02873, 0.0302, 0.03118, 0.03185, 0.03223, 0.03253, 0.03271",\
                 "0.03307, 0.03288, 0.03261, 0.0327, 0.03297, 0.03313, 0.03326, 0.03333, 0.0334, 0.03339",\
                 "0.06859, 0.06673, 0.06189, 0.05651, 0.05181, 0.04807, 0.04522, 0.04294, 0.04113, 0.03972",\
                 "0.1358, 0.132, 0.1211, 0.1076, 0.09468, 0.08385, 0.07496, 0.06779, 0.06195, 0.05726",\
                 "0.2367, 0.2309, 0.2141, 0.191, 0.1675, 0.1466, 0.129, 0.1141, 0.1019, 0.09167",\
                 "0.3718, 0.3642, 0.3419, 0.3095, 0.2742, 0.2412, 0.2121, 0.1873, 0.1661, 0.1482",\
                 "0.5417, 0.5328, 0.5056, 0.4646, 0.4177, 0.3712, 0.3287, 0.2916, 0.2594, 0.2314",\
                 "0.7471, 0.737, 0.7061, 0.6573, 0.5993, 0.5393, 0.4826, 0.431, 0.3854, 0.3458");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.4634, 0.4637, 0.4637, 0.4641, 0.4646, 0.4653, 0.4665, 0.4688, 0.4705, 0.4725",\
                 "0.46, 0.4598, 0.4603, 0.461, 0.4618, 0.4627, 0.4642, 0.4655, 0.4672, 0.4702",\
                 "0.4616, 0.4613, 0.4612, 0.4614, 0.4617, 0.4624, 0.4637, 0.4648, 0.4668, 0.4692",\
                 "0.4841, 0.4828, 0.4795, 0.4754, 0.4725, 0.4704, 0.4697, 0.4698, 0.4708, 0.4715",\
                 "0.5336, 0.5311, 0.5242, 0.5144, 0.5042, 0.4957, 0.4901, 0.4856, 0.4823, 0.4821",\
                 "0.6162, 0.6127, 0.6004, 0.5828, 0.5645, 0.5471, 0.533, 0.5216, 0.513, 0.5075",\
                 "0.7332, 0.7283, 0.7119, 0.6872, 0.6582, 0.6308, 0.6058, 0.5839, 0.5658, 0.5528",\
                 "0.8864, 0.8807, 0.861, 0.8287, 0.7902, 0.7503, 0.714, 0.6796, 0.651, 0.6257",\
                 "1.077, 1.071, 1.048, 1.01, 0.962, 0.9102, 0.8596, 0.8136, 0.7708, 0.7345",\
                 "1.308, 1.3, 1.276, 1.233, 1.177, 1.114, 1.048, 0.9852, 0.9318, 0.8812");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.105, 0.1232, 0.1866, 0.3071, 0.4942, 0.7565, 1.101, 1.536, 2.066, 2.698",\
                 "0.1171, 0.1354, 0.1992, 0.3201, 0.5076, 0.77, 1.115, 1.55, 2.08, 2.713",\
                 "0.1549, 0.1757, 0.2411, 0.3611, 0.5484, 0.8108, 1.156, 1.59, 2.121, 2.753",\
                 "0.179, 0.2073, 0.2953, 0.4377, 0.6283, 0.8893, 1.233, 1.667, 2.197, 2.829",\
                 "0.1793, 0.2158, 0.3269, 0.5042, 0.7361, 1.016, 1.359, 1.791, 2.319, 2.95",\
                 "0.1509, 0.1959, 0.333, 0.5467, 0.8213, 1.152, 1.533, 1.969, 2.494, 3.123",\
                 "0.0926, 0.1454, 0.3082, 0.5603, 0.8815, 1.261, 1.698, 2.189, 2.732, 3.357",\
                 "0.002, 0.063, 0.2506, 0.5419, 0.9107, 1.343, 1.834, 2.386, 2.994, 3.655",\
                 "-0.1237, -0.0544, 0.158, 0.4874, 0.9064, 1.394, 1.942, 2.553, 3.225, 3.957",\
                 "-0.2873, -0.2094, 0.0291, 0.3963, 0.8633, 1.407, 2.018, 2.689, 3.425, 4.225");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1935, 0.2266, 0.3406, 0.5548, 0.8864, 1.352, 1.964, 2.733, 3.671, 4.789",\
                 "0.2044, 0.2378, 0.3536, 0.5698, 0.903, 1.368, 1.982, 2.753, 3.69, 4.808",\
                 "0.2608, 0.2929, 0.406, 0.6216, 0.9551, 1.422, 2.035, 2.804, 3.746, 4.869",\
                 "0.3669, 0.4044, 0.5252, 0.7358, 1.065, 1.529, 2.14, 2.91, 3.849, 4.97",\
                 "0.5058, 0.5496, 0.6902, 0.9265, 1.254, 1.71, 2.316, 3.083, 4.02, 5.137",\
                 "0.6806, 0.732, 0.892, 1.158, 1.524, 1.982, 2.579, 3.338, 4.269, 5.383",\
                 "0.8879, 0.9484, 1.134, 1.43, 1.834, 2.34, 2.942, 3.69, 4.613, 5.719",\
                 "1.129, 1.2, 1.413, 1.747, 2.185, 2.737, 3.393, 4.15, 5.062, 6.157",\
                 "1.405, 1.485, 1.73, 2.104, 2.587, 3.179, 3.889, 4.703, 5.627, 6.71",\
                 "1.718, 1.81, 2.082, 2.503, 3.034, 3.672, 4.427, 5.304, 6.289, 7.386");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1626, 0.1951, 0.3069, 0.5154, 0.8396, 1.291, 1.888, 2.638, 3.554, 4.648",\
                 "0.1604, 0.1935, 0.3065, 0.5153, 0.8391, 1.291, 1.888, 2.64, 3.556, 4.644",\
                 "0.1839, 0.212, 0.3086, 0.5137, 0.8396, 1.292, 1.888, 2.638, 3.554, 4.648",\
                 "0.253, 0.2838, 0.3867, 0.5666, 0.8477, 1.291, 1.886, 2.637, 3.551, 4.644",\
                 "0.3518, 0.3877, 0.5019, 0.6954, 0.9758, 1.35, 1.896, 2.639, 3.551, 4.646",\
                 "0.4726, 0.5162, 0.649, 0.8616, 1.159, 1.55, 2.033, 2.684, 3.56, 4.643",\
                 "0.61, 0.663, 0.8226, 1.063, 1.381, 1.794, 2.305, 2.91, 3.678, 4.682",\
                 "0.7644, 0.8266, 1.012, 1.292, 1.646, 2.079, 2.616, 3.257, 3.996, 4.895",\
                 "0.9364, 1.007, 1.221, 1.544, 1.941, 2.408, 2.968, 3.642, 4.419, 5.3",\
                 "1.122, 1.204, 1.451, 1.816, 2.261, 2.78, 3.367, 4.066, 4.883, 5.805");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2854, 0.3413, 0.537, 0.9113, 1.494, 2.309, 3.382, 4.733, 6.376, 8.357",\
                 "0.2849, 0.3411, 0.538, 0.9117, 1.492, 2.309, 3.383, 4.736, 6.38, 8.358",\
                 "0.2887, 0.3408, 0.5366, 0.9117, 1.494, 2.31, 3.383, 4.731, 6.384, 8.357",\
                 "0.3516, 0.4041, 0.5693, 0.9134, 1.493, 2.309, 3.379, 4.735, 6.373, 8.348",\
                 "0.431, 0.4852, 0.6734, 0.994, 1.508, 2.31, 3.382, 4.729, 6.382, 8.347",\
                 "0.5424, 0.6004, 0.7908, 1.143, 1.638, 2.347, 3.384, 4.734, 6.383, 8.344",\
                 "0.676, 0.7414, 0.9422, 1.304, 1.841, 2.526, 3.459, 4.746, 6.388, 8.343",\
                 "0.8286, 0.9016, 1.127, 1.502, 2.054, 2.792, 3.685, 4.859, 6.407, 8.356",\
                 "0.9964, 1.083, 1.331, 1.734, 2.297, 3.066, 4.017, 5.131, 6.57, 8.397",\
                 "1.175, 1.272, 1.558, 1.998, 2.586, 3.363, 4.355, 5.525, 6.889, 8.61");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1435, 0.1628, 0.2286, 0.3514, 0.54, 0.8032, 1.149, 1.584, 2.115, 2.746",\
                 "0.153, 0.1723, 0.2382, 0.361, 0.5497, 0.813, 1.159, 1.594, 2.124, 2.756",\
                 "0.1941, 0.2135, 0.2776, 0.3999, 0.5884, 0.8516, 1.197, 1.632, 2.162, 2.794",\
                 "0.2378, 0.263, 0.3448, 0.4799, 0.6679, 0.9296, 1.274, 1.708, 2.238, 2.87",\
                 "0.2632, 0.295, 0.3961, 0.5614, 0.7842, 1.058, 1.4, 1.832, 2.36, 2.99",\
                 "0.2686, 0.3071, 0.4281, 0.6241, 0.885, 1.205, 1.578, 2.012, 2.537, 3.163",\
                 "0.2524, 0.297, 0.4382, 0.666, 0.9664, 1.33, 1.756, 2.238, 2.776, 3.4",\
                 "0.214, 0.265, 0.4251, 0.6848, 1.027, 1.436, 1.91, 2.448, 3.047, 3.702",\
                 "0.1533, 0.21, 0.389, 0.6793, 1.062, 1.518, 2.043, 2.634, 3.293, 4.015",\
                 "0.0694, 0.1316, 0.3282, 0.6489, 1.071, 1.575, 2.153, 2.798, 3.513, 4.3");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2353, 0.2681, 0.3819, 0.5953, 0.9267, 1.392, 2.003, 2.772, 3.713, 4.83",\
                 "0.247, 0.2808, 0.3968, 0.6133, 0.9463, 1.412, 2.024, 2.793, 3.734, 4.853",\
                 "0.285, 0.3184, 0.4336, 0.651, 0.9865, 1.454, 2.068, 2.837, 3.777, 4.899",\
                 "0.3515, 0.3876, 0.5087, 0.724, 1.056, 1.523, 2.134, 2.905, 3.844, 4.967",\
                 "0.4498, 0.4895, 0.6189, 0.8481, 1.182, 1.641, 2.249, 3.017, 3.956, 5.072",\
                 "0.5767, 0.6225, 0.7679, 1.011, 1.362, 1.827, 2.426, 3.186, 4.12, 5.235",\
                 "0.7277, 0.7809, 0.9468, 1.215, 1.583, 2.07, 2.678, 3.429, 4.353, 5.46",\
                 "0.9004, 0.9621, 1.152, 1.452, 1.85, 2.354, 2.987, 3.752, 4.666, 5.764",\
                 "1.097, 1.167, 1.382, 1.718, 2.154, 2.687, 3.341, 4.132, 5.063, 6.15",\
                 "1.317, 1.395, 1.635, 2.011, 2.49, 3.065, 3.745, 4.559, 5.52, 6.626");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2193, 0.2512, 0.3621, 0.5703, 0.8936, 1.348, 1.942, 2.692, 3.607, 4.696",\
                 "0.2179, 0.2504, 0.3619, 0.5705, 0.8939, 1.348, 1.944, 2.692, 3.608, 4.699",\
                 "0.2265, 0.2551, 0.3585, 0.57, 0.8953, 1.348, 1.942, 2.692, 3.607, 4.698",\
                 "0.2977, 0.3292, 0.4316, 0.6091, 0.8997, 1.346, 1.943, 2.692, 3.606, 4.698",\
                 "0.4031, 0.4363, 0.5468, 0.7396, 1.016, 1.397, 1.947, 2.692, 3.607, 4.698",\
                 "0.5328, 0.5738, 0.6996, 0.9046, 1.202, 1.591, 2.077, 2.735, 3.608, 4.697",\
                 "0.6842, 0.732, 0.8792, 1.108, 1.423, 1.833, 2.344, 2.951, 3.726, 4.727",\
                 "0.853, 0.911, 1.082, 1.345, 1.684, 2.115, 2.651, 3.293, 4.034, 4.936",\
                 "1.043, 1.11, 1.311, 1.612, 1.989, 2.443, 2.998, 3.673, 4.452, 5.334",\
                 "1.253, 1.329, 1.559, 1.903, 2.322, 2.813, 3.392, 4.088, 4.903, 5.834");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2856, 0.3419, 0.5379, 0.9097, 1.493, 2.31, 3.383, 4.736, 6.389, 8.354",\
                 "0.2865, 0.342, 0.5379, 0.9116, 1.491, 2.308, 3.381, 4.735, 6.38, 8.346",\
                 "0.2917, 0.3441, 0.5376, 0.9114, 1.493, 2.307, 3.383, 4.734, 6.386, 8.351",\
                 "0.3467, 0.3986, 0.5703, 0.915, 1.491, 2.308, 3.382, 4.734, 6.382, 8.351",\
                 "0.4258, 0.4742, 0.651, 0.9848, 1.517, 2.311, 3.383, 4.729, 6.382, 8.357",\
                 "0.5468, 0.5934, 0.7618, 1.094, 1.615, 2.357, 3.389, 4.738, 6.379, 8.357",\
                 "0.6842, 0.7398, 0.9184, 1.24, 1.756, 2.488, 3.468, 4.751, 6.391, 8.352",\
                 "0.8384, 0.9002, 1.099, 1.436, 1.938, 2.667, 3.628, 4.857, 6.424, 8.35",\
                 "1.004, 1.075, 1.297, 1.665, 2.175, 2.885, 3.85, 5.057, 6.562, 8.428",\
                 "1.18, 1.26, 1.509, 1.913, 2.458, 3.157, 4.104, 5.324, 6.796, 8.591");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2049, 0.224, 0.2899, 0.4128, 0.6015, 0.8648, 1.21, 1.645, 2.176, 2.808",\
                 "0.2152, 0.2346, 0.3009, 0.4241, 0.613, 0.8767, 1.222, 1.657, 2.188, 2.82",\
                 "0.2436, 0.2633, 0.3298, 0.4534, 0.6428, 0.9066, 1.253, 1.688, 2.219, 2.851",\
                 "0.2718, 0.2952, 0.3713, 0.5038, 0.6946, 0.9583, 1.304, 1.739, 2.269, 2.902",\
                 "0.2883, 0.3164, 0.4065, 0.5576, 0.7689, 1.042, 1.387, 1.821, 2.35, 2.982",\
                 "0.2837, 0.318, 0.4256, 0.6022, 0.8393, 1.139, 1.504, 1.942, 2.47, 3.099",\
                 "0.2549, 0.2947, 0.4206, 0.6265, 0.8983, 1.229, 1.625, 2.091, 2.631, 3.26",\
                 "0.2, 0.2452, 0.39, 0.6253, 0.9338, 1.306, 1.738, 2.237, 2.809, 3.462",\
                 "0.1181, 0.1688, 0.3301, 0.5955, 0.9433, 1.359, 1.836, 2.374, 2.983, 3.67",\
                 "0.0053, 0.062, 0.2415, 0.5348, 0.9226, 1.383, 1.909, 2.497, 3.148, 3.874");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1897, 0.2094, 0.2773, 0.4046, 0.6014, 0.8757, 1.236, 1.69, 2.244, 2.903",\
                 "0.205, 0.2249, 0.2933, 0.4211, 0.6181, 0.8927, 1.253, 1.707, 2.261, 2.92",\
                 "0.269, 0.2886, 0.3567, 0.4844, 0.6813, 0.9563, 1.317, 1.771, 2.324, 2.984",\
                 "0.3881, 0.4116, 0.4872, 0.6157, 0.8103, 1.083, 1.443, 1.896, 2.449, 3.108",\
                 "0.5316, 0.5599, 0.6522, 0.8092, 1.02, 1.29, 1.647, 2.097, 2.648, 3.306",\
                 "0.7033, 0.737, 0.8451, 1.027, 1.277, 1.583, 1.943, 2.388, 2.935, 3.59",\
                 "0.9029, 0.9418, 1.068, 1.277, 1.56, 1.911, 2.321, 2.78, 3.323, 3.972",\
                 "1.132, 1.177, 1.322, 1.561, 1.878, 2.268, 2.728, 3.248, 3.817, 4.464",\
                 "1.39, 1.442, 1.607, 1.877, 2.233, 2.662, 3.166, 3.742, 4.378, 5.066",\
                 "1.68, 1.738, 1.924, 2.227, 2.623, 3.097, 3.644, 4.268, 4.966, 5.726");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2192, 0.2508, 0.3615, 0.5712, 0.8939, 1.348, 1.944, 2.692, 3.608, 4.695",\
                 "0.2191, 0.2509, 0.362, 0.5712, 0.8938, 1.349, 1.943, 2.692, 3.607, 4.695",\
                 "0.2287, 0.258, 0.3631, 0.5709, 0.8949, 1.346, 1.943, 2.692, 3.607, 4.697",\
                 "0.2894, 0.318, 0.4163, 0.5999, 0.9001, 1.348, 1.943, 2.692, 3.608, 4.698",\
                 "0.3839, 0.4122, 0.511, 0.6956, 0.98, 1.384, 1.95, 2.693, 3.606, 4.698",\
                 "0.5138, 0.5448, 0.6484, 0.8322, 1.116, 1.512, 2.035, 2.726, 3.612, 4.696",\
                 "0.6644, 0.7004, 0.816, 1.014, 1.296, 1.691, 2.212, 2.867, 3.693, 4.726",\
                 "0.8314, 0.8704, 1.004, 1.224, 1.526, 1.92, 2.439, 3.094, 3.891, 4.863",\
                 "1.009, 1.056, 1.209, 1.457, 1.789, 2.2, 2.717, 3.37, 4.169, 5.123",\
                 "1.202, 1.254, 1.428, 1.71, 2.075, 2.521, 3.058, 3.704, 4.498, 5.451");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.3088, 0.344, 0.4658, 0.6938, 1.043, 1.528, 2.164, 2.963, 3.936, 5.098",\
                 "0.3087, 0.3439, 0.4658, 0.6941, 1.043, 1.528, 2.163, 2.963, 3.934, 5.101",\
                 "0.312, 0.3452, 0.4658, 0.6942, 1.043, 1.528, 2.164, 2.963, 3.939, 5.097",\
                 "0.3989, 0.4259, 0.5185, 0.7109, 1.044, 1.528, 2.164, 2.963, 3.938, 5.101",\
                 "0.5208, 0.5538, 0.6616, 0.8432, 1.115, 1.542, 2.164, 2.963, 3.939, 5.099",\
                 "0.6652, 0.7012, 0.819, 1.028, 1.318, 1.688, 2.219, 2.971, 3.939, 5.1",\
                 "0.832, 0.8726, 1.002, 1.228, 1.551, 1.96, 2.443, 3.091, 3.97, 5.105",\
                 "1.016, 1.061, 1.208, 1.455, 1.8, 2.251, 2.786, 3.397, 4.17, 5.185",\
                 "1.217, 1.269, 1.434, 1.709, 2.079, 2.555, 3.139, 3.812, 4.557, 5.468",\
                 "1.426, 1.487, 1.679, 1.985, 2.39, 2.89, 3.509, 4.242, 5.054, 5.946");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1636, 0.1818, 0.2455, 0.3654, 0.5526, 0.8151, 1.16, 1.595, 2.125, 2.756",\
                 "0.1733, 0.1918, 0.2559, 0.3766, 0.5639, 0.8268, 1.171, 1.606, 2.136, 2.77",\
                 "0.197, 0.2175, 0.2841, 0.4059, 0.5938, 0.8563, 1.201, 1.636, 2.167, 2.8",\
                 "0.2127, 0.2375, 0.3175, 0.4531, 0.6454, 0.9078, 1.253, 1.687, 2.218, 2.851",\
                 "0.2116, 0.2432, 0.3414, 0.4996, 0.715, 0.9912, 1.336, 1.77, 2.299, 2.93",\
                 "0.1881, 0.2268, 0.3462, 0.5341, 0.7791, 1.083, 1.452, 1.891, 2.418, 3.048",\
                 "0.1421, 0.1872, 0.3272, 0.5467, 0.8295, 1.168, 1.568, 2.037, 2.579, 3.208",\
                 "0.0705, 0.1218, 0.2819, 0.5335, 0.8562, 1.238, 1.676, 2.179, 2.755, 3.409",\
                 "-0.0282, 0.0298, 0.2085, 0.4926, 0.8564, 1.282, 1.768, 2.312, 2.925, 3.614",\
                 "-0.1595, -0.0933, 0.1057, 0.4212, 0.8241, 1.299, 1.835, 2.43, 3.086, 3.815");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1851, 0.205, 0.2731, 0.4006, 0.5971, 0.8715, 1.232, 1.685, 2.239, 2.895",\
                 "0.2005, 0.2205, 0.2892, 0.4172, 0.614, 0.8879, 1.249, 1.703, 2.254, 2.914",\
                 "0.2647, 0.2844, 0.3525, 0.4803, 0.6771, 0.9517, 1.312, 1.766, 2.318, 2.979",\
                 "0.3821, 0.4061, 0.4826, 0.6115, 0.8059, 1.079, 1.438, 1.89, 2.443, 3.101",\
                 "0.5239, 0.5524, 0.6459, 0.8037, 1.015, 1.285, 1.641, 2.091, 2.64, 3.298",\
                 "0.693, 0.7271, 0.8368, 1.02, 1.271, 1.577, 1.937, 2.382, 2.928, 3.583",\
                 "0.8896, 0.9303, 1.058, 1.269, 1.552, 1.904, 2.313, 2.773, 3.316, 3.964",\
                 "1.115, 1.162, 1.308, 1.55, 1.869, 2.259, 2.72, 3.239, 3.809, 4.456",\
                 "1.37, 1.422, 1.59, 1.863, 2.22, 2.652, 3.156, 3.732, 4.369, 5.056",\
                 "1.655, 1.715, 1.903, 2.209, 2.609, 3.084, 3.631, 4.255, 4.954, 5.714");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.167, 0.1982, 0.308, 0.5154, 0.8396, 1.292, 1.887, 2.636, 3.553, 4.648",\
                 "0.1673, 0.1982, 0.3083, 0.5151, 0.8384, 1.292, 1.886, 2.637, 3.556, 4.645",\
                 "0.1896, 0.2158, 0.3135, 0.5159, 0.8387, 1.292, 1.885, 2.638, 3.554, 4.649",\
                 "0.2545, 0.2812, 0.3765, 0.557, 0.85, 1.292, 1.888, 2.64, 3.557, 4.643",\
                 "0.3587, 0.3854, 0.4778, 0.6564, 0.9386, 1.337, 1.9, 2.635, 3.556, 4.642",\
                 "0.4918, 0.5216, 0.621, 0.7992, 1.077, 1.471, 1.989, 2.678, 3.563, 4.648",\
                 "0.6414, 0.676, 0.7896, 0.9866, 1.263, 1.653, 2.17, 2.822, 3.646, 4.675",\
                 "0.8052, 0.8438, 0.9758, 1.195, 1.496, 1.885, 2.399, 3.052, 3.848, 4.814",\
                 "0.9808, 1.025, 1.176, 1.427, 1.758, 2.168, 2.682, 3.332, 4.127, 5.081",\
                 "1.173, 1.223, 1.395, 1.673, 2.044, 2.49, 3.02, 3.67, 4.461, 5.407");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2517, 0.286, 0.4033, 0.6258, 0.972, 1.455, 2.089, 2.889, 3.864, 5.026",\
                 "0.2519, 0.2859, 0.4039, 0.6263, 0.972, 1.454, 2.09, 2.889, 3.865, 5.026",\
                 "0.2543, 0.2869, 0.4035, 0.6261, 0.9722, 1.455, 2.09, 2.888, 3.863, 5.028",\
                 "0.3328, 0.3609, 0.4554, 0.6424, 0.9722, 1.455, 2.089, 2.889, 3.866, 5.026",\
                 "0.4322, 0.468, 0.5816, 0.772, 1.042, 1.468, 2.089, 2.889, 3.865, 5.026",\
                 "0.5514, 0.5916, 0.7208, 0.9396, 1.24, 1.613, 2.145, 2.895, 3.864, 5.027",\
                 "0.6892, 0.7362, 0.8832, 1.123, 1.459, 1.879, 2.368, 3.016, 3.894, 5.028",\
                 "0.839, 0.8942, 1.065, 1.333, 1.697, 2.157, 2.704, 3.32, 4.094, 5.11",\
                 "1.002, 1.067, 1.264, 1.568, 1.96, 2.45, 3.049, 3.731, 4.482, 5.394",\
                 "1.175, 1.252, 1.479, 1.826, 2.257, 2.777, 3.408, 4.149, 4.974, 5.863");
        }
      }

      timing() {
        related_pin : "B" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1438, 0.1593, 0.2121, 0.3127, 0.4684, 0.6867, 0.9738, 1.335, 1.777, 2.303",\
                 "0.1542, 0.1697, 0.2235, 0.3241, 0.4801, 0.6986, 0.9862, 1.348, 1.789, 2.316",\
                 "0.1848, 0.2029, 0.2601, 0.362, 0.5185, 0.7375, 1.025, 1.387, 1.829, 2.355",\
                 "0.2057, 0.2297, 0.3049, 0.4275, 0.5927, 0.8121, 1.099, 1.461, 1.902, 2.429",\
                 "0.2079, 0.2383, 0.3327, 0.484, 0.6835, 0.927, 1.218, 1.579, 2.02, 2.545",\
                 "0.1875, 0.2245, 0.3391, 0.5214, 0.757, 1.041, 1.371, 1.748, 2.189, 2.713",\
                 "0.1436, 0.1863, 0.3213, 0.5347, 0.8097, 1.136, 1.512, 1.935, 2.408, 2.938",\
                 "0.0746, 0.1234, 0.2766, 0.5213, 0.8363, 1.208, 1.631, 2.104, 2.628, 3.203",\
                 "-0.0231, 0.032, 0.2042, 0.4799, 0.8343, 1.253, 1.725, 2.249, 2.827, 3.458",\
                 "-0.1517, -0.0906, 0.1007, 0.4056, 0.8028, 1.267, 1.791, 2.37, 3.002, 3.689");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2096, 0.2291, 0.2964, 0.423, 0.619, 0.8932, 1.253, 1.705, 2.258, 2.92",\
                 "0.2255, 0.245, 0.3128, 0.4402, 0.6366, 0.9108, 1.27, 1.724, 2.279, 2.939",\
                 "0.2894, 0.3087, 0.376, 0.5032, 0.6997, 0.9737, 1.335, 1.787, 2.342, 3.002",\
                 "0.412, 0.4345, 0.5077, 0.6345, 0.8284, 1.101, 1.46, 1.913, 2.466, 3.125",\
                 "0.5608, 0.5881, 0.6779, 0.8314, 1.039, 1.308, 1.664, 2.113, 2.664, 3.323",\
                 "0.7389, 0.771, 0.8756, 1.054, 1.301, 1.603, 1.96, 2.405, 2.951, 3.607",\
                 "0.9453, 0.9827, 1.105, 1.309, 1.588, 1.936, 2.341, 2.799, 3.341, 3.99",\
                 "1.181, 1.225, 1.366, 1.598, 1.911, 2.298, 2.755, 3.27, 3.836, 4.482",\
                 "1.447, 1.497, 1.657, 1.921, 2.271, 2.698, 3.198, 3.77, 4.403, 5.087",\
                 "1.745, 1.802, 1.982, 2.279, 2.668, 3.138, 3.682, 4.302, 4.997, 5.753");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1694, 0.195, 0.286, 0.4596, 0.728, 1.106, 1.601, 2.225, 2.988, 3.894",\
                 "0.1696, 0.1955, 0.2861, 0.4587, 0.7285, 1.104, 1.6, 2.225, 2.988, 3.896",\
                 "0.2007, 0.2203, 0.2961, 0.4599, 0.7286, 1.104, 1.601, 2.225, 2.985, 3.893",\
                 "0.2869, 0.3088, 0.3846, 0.5239, 0.7501, 1.106, 1.6, 2.224, 2.986, 3.895",\
                 "0.4063, 0.4293, 0.5062, 0.6564, 0.8794, 1.184, 1.623, 2.227, 2.987, 3.892",\
                 "0.552, 0.5768, 0.6628, 0.8184, 1.056, 1.373, 1.775, 2.304, 3.007, 3.895",\
                 "0.7154, 0.7436, 0.842, 1.017, 1.263, 1.599, 2.022, 2.533, 3.16, 3.967",\
                 "0.8946, 0.9274, 1.039, 1.238, 1.513, 1.86, 2.302, 2.837, 3.469, 4.205",\
                 "1.084, 1.122, 1.251, 1.479, 1.786, 2.169, 2.62, 3.176, 3.832, 4.589",\
                 "1.29, 1.333, 1.482, 1.738, 2.081, 2.496, 2.982, 3.556, 4.237, 5.018");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2811, 0.314, 0.4321, 0.6546, 1.001, 1.485, 2.119, 2.916, 3.89, 5.057",\
                 "0.2803, 0.3151, 0.4324, 0.6552, 1.001, 1.484, 2.118, 2.917, 3.894, 5.058",\
                 "0.2818, 0.3152, 0.4323, 0.6557, 1.001, 1.484, 2.117, 2.916, 3.894, 5.056",\
                 "0.3541, 0.3828, 0.4757, 0.6671, 1.001, 1.483, 2.118, 2.917, 3.893, 5.055",\
                 "0.456, 0.4924, 0.6038, 0.7906, 1.063, 1.494, 2.118, 2.918, 3.894, 5.055",\
                 "0.5746, 0.614, 0.7418, 0.9598, 1.258, 1.632, 2.168, 2.923, 3.893, 5.055",\
                 "0.7136, 0.7604, 0.902, 1.141, 1.476, 1.894, 2.385, 3.038, 3.92, 5.057",\
                 "0.8686, 0.921, 1.084, 1.348, 1.707, 2.174, 2.717, 3.333, 4.114, 5.133",\
                 "1.038, 1.096, 1.284, 1.58, 1.968, 2.46, 3.063, 3.742, 4.495, 5.409",\
                 "1.215, 1.284, 1.498, 1.833, 2.261, 2.779, 3.414, 4.155, 4.979, 5.876");
        }
      }

      timing() {
        related_pin : "B" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2049, 0.224, 0.2899, 0.4128, 0.6015, 0.8648, 1.21, 1.645, 2.176, 2.808",\
                 "0.2152, 0.2346, 0.3009, 0.4241, 0.613, 0.8767, 1.222, 1.657, 2.188, 2.82",\
                 "0.2436, 0.2633, 0.3298, 0.4534, 0.6428, 0.9066, 1.253, 1.688, 2.219, 2.851",\
                 "0.2718, 0.2952, 0.3713, 0.5038, 0.6946, 0.9583, 1.304, 1.739, 2.269, 2.902",\
                 "0.2883, 0.3164, 0.4065, 0.5576, 0.7689, 1.042, 1.387, 1.821, 2.35, 2.982",\
                 "0.2837, 0.318, 0.4256, 0.6022, 0.8393, 1.139, 1.504, 1.942, 2.47, 3.099",\
                 "0.2549, 0.2947, 0.4206, 0.6265, 0.8983, 1.229, 1.625, 2.091, 2.631, 3.26",\
                 "0.2, 0.2452, 0.39, 0.6253, 0.9338, 1.306, 1.738, 2.237, 2.809, 3.462",\
                 "0.1181, 0.1688, 0.3301, 0.5955, 0.9433, 1.359, 1.836, 2.374, 2.983, 3.67",\
                 "0.0053, 0.062, 0.2415, 0.5348, 0.9226, 1.383, 1.909, 2.497, 3.148, 3.874");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2096, 0.2291, 0.2964, 0.423, 0.619, 0.8932, 1.253, 1.705, 2.258, 2.92",\
                 "0.2255, 0.245, 0.3128, 0.4402, 0.6366, 0.9108, 1.27, 1.724, 2.279, 2.939",\
                 "0.2894, 0.3087, 0.376, 0.5032, 0.6997, 0.9737, 1.335, 1.787, 2.342, 3.002",\
                 "0.412, 0.4345, 0.5077, 0.6345, 0.8284, 1.101, 1.46, 1.913, 2.466, 3.125",\
                 "0.5608, 0.5881, 0.6779, 0.8314, 1.039, 1.308, 1.664, 2.113, 2.664, 3.323",\
                 "0.7389, 0.771, 0.8756, 1.054, 1.301, 1.603, 1.96, 2.405, 2.951, 3.607",\
                 "0.9453, 0.9827, 1.105, 1.309, 1.588, 1.936, 2.341, 2.799, 3.341, 3.99",\
                 "1.181, 1.225, 1.366, 1.598, 1.911, 2.298, 2.755, 3.27, 3.836, 4.482",\
                 "1.447, 1.497, 1.657, 1.921, 2.271, 2.698, 3.198, 3.77, 4.403, 5.087",\
                 "1.745, 1.802, 1.982, 2.279, 2.668, 3.138, 3.682, 4.302, 4.997, 5.753");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2192, 0.2508, 0.3615, 0.5712, 0.8939, 1.348, 1.944, 2.692, 3.608, 4.695",\
                 "0.2191, 0.2509, 0.362, 0.5712, 0.8938, 1.349, 1.943, 2.692, 3.607, 4.695",\
                 "0.2287, 0.258, 0.3631, 0.5709, 0.8949, 1.346, 1.943, 2.692, 3.607, 4.697",\
                 "0.2894, 0.318, 0.4163, 0.5999, 0.9001, 1.348, 1.943, 2.692, 3.608, 4.698",\
                 "0.3839, 0.4122, 0.511, 0.6956, 0.98, 1.384, 1.95, 2.693, 3.606, 4.698",\
                 "0.5138, 0.5448, 0.6484, 0.8322, 1.116, 1.512, 2.035, 2.726, 3.612, 4.696",\
                 "0.6644, 0.7004, 0.816, 1.014, 1.296, 1.691, 2.212, 2.867, 3.693, 4.726",\
                 "0.8314, 0.8704, 1.004, 1.224, 1.526, 1.92, 2.439, 3.094, 3.891, 4.863",\
                 "1.009, 1.056, 1.209, 1.457, 1.789, 2.2, 2.717, 3.37, 4.169, 5.123",\
                 "1.202, 1.254, 1.428, 1.71, 2.075, 2.521, 3.058, 3.704, 4.498, 5.451");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.3088, 0.344, 0.4658, 0.6938, 1.043, 1.528, 2.164, 2.963, 3.936, 5.098",\
                 "0.3087, 0.3439, 0.4658, 0.6941, 1.043, 1.528, 2.163, 2.963, 3.934, 5.101",\
                 "0.312, 0.3452, 0.4658, 0.6942, 1.043, 1.528, 2.164, 2.963, 3.939, 5.097",\
                 "0.3989, 0.4259, 0.5185, 0.7109, 1.044, 1.528, 2.164, 2.963, 3.938, 5.101",\
                 "0.5208, 0.5538, 0.6616, 0.8432, 1.115, 1.542, 2.164, 2.963, 3.939, 5.099",\
                 "0.6652, 0.7012, 0.819, 1.028, 1.318, 1.688, 2.219, 2.971, 3.939, 5.1",\
                 "0.832, 0.8726, 1.002, 1.228, 1.551, 1.96, 2.443, 3.091, 3.97, 5.105",\
                 "1.016, 1.061, 1.208, 1.455, 1.8, 2.251, 2.786, 3.397, 4.17, 5.185",\
                 "1.217, 1.269, 1.434, 1.709, 2.079, 2.555, 3.139, 3.812, 4.557, 5.468",\
                 "1.426, 1.487, 1.679, 1.985, 2.39, 2.89, 3.509, 4.242, 5.054, 5.946");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.218, 0.2373, 0.3032, 0.426, 0.6147, 0.8781, 1.224, 1.659, 2.189, 2.821",\
                 "0.2273, 0.2467, 0.3129, 0.4362, 0.6252, 0.8886, 1.235, 1.67, 2.2, 2.833",\
                 "0.2456, 0.2652, 0.3318, 0.4554, 0.6449, 0.9087, 1.255, 1.69, 2.221, 2.854",\
                 "0.2559, 0.2778, 0.3506, 0.4805, 0.6713, 0.9349, 1.281, 1.715, 2.246, 2.879",\
                 "0.2513, 0.2765, 0.3581, 0.4994, 0.704, 0.9758, 1.321, 1.754, 2.284, 2.915",\
                 "0.2204, 0.2509, 0.3472, 0.5068, 0.7279, 1.016, 1.377, 1.815, 2.342, 2.971",\
                 "0.1593, 0.1947, 0.3078, 0.4917, 0.7379, 1.047, 1.426, 1.884, 2.424, 3.052",\
                 "0.0657, 0.1061, 0.2353, 0.4464, 0.7238, 1.062, 1.466, 1.944, 2.505, 3.153",\
                 "-0.0629, -0.017, 0.1285, 0.3654, 0.6772, 1.051, 1.488, 1.993, 2.576, 3.246",\
                 "-0.2296, -0.1785, -0.0154, 0.2481, 0.5936, 1.008, 1.483, 2.022, 2.634, 3.329");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2118, 0.2324, 0.3023, 0.432, 0.6303, 0.9063, 1.268, 1.722, 2.277, 2.936",\
                 "0.2272, 0.2477, 0.3176, 0.4476, 0.6462, 0.922, 1.284, 1.738, 2.292, 2.952",\
                 "0.2925, 0.3127, 0.3822, 0.5117, 0.7099, 0.9856, 1.347, 1.802, 2.356, 3.016",\
                 "0.4218, 0.4441, 0.517, 0.6443, 0.84, 1.114, 1.474, 1.927, 2.48, 3.14",\
                 "0.5806, 0.6075, 0.6958, 0.8467, 1.052, 1.322, 1.678, 2.129, 2.68, 3.338",\
                 "0.7731, 0.8039, 0.9053, 1.079, 1.321, 1.62, 1.977, 2.422, 2.969, 3.622",\
                 "1, 1.036, 1.152, 1.348, 1.62, 1.961, 2.362, 2.818, 3.359, 4.007",\
                 "1.265, 1.305, 1.437, 1.658, 1.958, 2.335, 2.784, 3.294, 3.857, 4.503",\
                 "1.567, 1.613, 1.762, 2.01, 2.343, 2.752, 3.24, 3.803, 4.43, 5.11",\
                 "1.91, 1.961, 2.128, 2.403, 2.77, 3.217, 3.743, 4.35, 5.033, 5.784");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2191, 0.2511, 0.362, 0.5711, 0.8939, 1.348, 1.943, 2.692, 3.607, 4.696",\
                 "0.2191, 0.2511, 0.3618, 0.5711, 0.8937, 1.348, 1.943, 2.693, 3.608, 4.695",\
                 "0.2249, 0.2551, 0.3626, 0.5701, 0.8951, 1.348, 1.942, 2.692, 3.606, 4.697",\
                 "0.2672, 0.297, 0.401, 0.5933, 0.8997, 1.348, 1.943, 2.692, 3.608, 4.699",\
                 "0.3435, 0.3714, 0.4696, 0.6626, 0.963, 1.381, 1.951, 2.692, 3.606, 4.698",\
                 "0.4606, 0.4898, 0.5868, 0.7686, 1.062, 1.48, 2.025, 2.728, 3.614, 4.697",\
                 "0.604, 0.6352, 0.7386, 0.9256, 1.209, 1.611, 2.158, 2.846, 3.693, 4.732",\
                 "0.7668, 0.801, 0.9156, 1.115, 1.404, 1.798, 2.328, 3.015, 3.854, 4.854",\
                 "0.9462, 0.9836, 1.111, 1.331, 1.635, 2.037, 2.556, 3.223, 4.059, 5.06",\
                 "1.14, 1.184, 1.326, 1.567, 1.9, 2.314, 2.84, 3.497, 4.31, 5.305");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.3574, 0.3925, 0.5142, 0.7424, 1.091, 1.577, 2.214, 3.014, 3.991, 5.153",\
                 "0.3572, 0.3923, 0.5141, 0.7424, 1.092, 1.577, 2.213, 3.013, 3.99, 5.153",\
                 "0.3565, 0.3914, 0.5137, 0.7423, 1.092, 1.577, 2.212, 3.014, 3.99, 5.15",\
                 "0.4296, 0.4559, 0.5528, 0.7526, 1.092, 1.577, 2.213, 3.013, 3.988, 5.151",\
                 "0.5544, 0.586, 0.6928, 0.8728, 1.152, 1.587, 2.214, 3.013, 3.99, 5.152",\
                 "0.6946, 0.73, 0.8498, 1.059, 1.347, 1.721, 2.262, 3.02, 3.99, 5.152",\
                 "0.8576, 0.8966, 1.027, 1.253, 1.578, 1.987, 2.475, 3.132, 4.019, 5.156",\
                 "1.039, 1.084, 1.228, 1.472, 1.82, 2.272, 2.81, 3.424, 4.209, 5.231",\
                 "1.237, 1.288, 1.449, 1.718, 2.088, 2.569, 3.163, 3.834, 4.585, 5.504",\
                 "1.45, 1.507, 1.689, 1.987, 2.386, 2.891, 3.517, 4.254, 5.072, 5.964");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1768, 0.195, 0.2584, 0.3789, 0.5658, 0.8278, 1.173, 1.608, 2.138, 2.77",\
                 "0.1854, 0.204, 0.268, 0.3888, 0.5761, 0.8384, 1.183, 1.618, 2.149, 2.781",\
                 "0.2005, 0.2203, 0.2861, 0.408, 0.5959, 0.8588, 1.204, 1.638, 2.17, 2.802",\
                 "0.2028, 0.2254, 0.2996, 0.4306, 0.6221, 0.8847, 1.23, 1.664, 2.195, 2.827",\
                 "0.1848, 0.2124, 0.2997, 0.4449, 0.6515, 0.9247, 1.27, 1.703, 2.232, 2.863",\
                 "0.1371, 0.1713, 0.2772, 0.4456, 0.6716, 0.9619, 1.325, 1.764, 2.291, 2.92",\
                 "0.0588, 0.0994, 0.2238, 0.4205, 0.6758, 0.9896, 1.371, 1.83, 2.372, 3.001",\
                 "-0.0508, -0.0041, 0.1392, 0.3643, 0.6535, 0.9999, 1.408, 1.888, 2.451, 3.1",\
                 "-0.1954, -0.1426, 0.0195, 0.2735, 0.5983, 0.9825, 1.425, 1.935, 2.519, 3.192",\
                 "-0.3779, -0.319, -0.1379, 0.1457, 0.5054, 0.9322, 1.415, 1.96, 2.576, 3.272");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2066, 0.2273, 0.2976, 0.4274, 0.6258, 0.9014, 1.262, 1.716, 2.27, 2.928",\
                 "0.222, 0.2427, 0.3131, 0.4431, 0.6415, 0.917, 1.279, 1.733, 2.286, 2.944",\
                 "0.2874, 0.3078, 0.3776, 0.5072, 0.7052, 0.9808, 1.342, 1.795, 2.349, 3.009",\
                 "0.4156, 0.4384, 0.512, 0.6398, 0.8353, 1.109, 1.469, 1.922, 2.474, 3.133",\
                 "0.5723, 0.5998, 0.6894, 0.8411, 1.047, 1.317, 1.673, 2.123, 2.674, 3.33",\
                 "0.7625, 0.7945, 0.8971, 1.072, 1.315, 1.614, 1.971, 2.416, 2.961, 3.615",\
                 "0.9872, 1.024, 1.142, 1.34, 1.612, 1.954, 2.355, 2.81, 3.351, 4",\
                 "1.248, 1.29, 1.424, 1.647, 1.949, 2.326, 2.775, 3.286, 3.849, 4.494",\
                 "1.547, 1.595, 1.746, 1.996, 2.331, 2.742, 3.23, 3.794, 4.421, 5.1",\
                 "1.885, 1.939, 2.108, 2.386, 2.755, 3.205, 3.731, 4.339, 5.023, 5.772");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1672, 0.1981, 0.3082, 0.5155, 0.8389, 1.292, 1.886, 2.64, 3.553, 4.647",\
                 "0.1674, 0.1983, 0.3075, 0.5151, 0.8382, 1.292, 1.886, 2.637, 3.556, 4.641",\
                 "0.1818, 0.2095, 0.3111, 0.5153, 0.8387, 1.293, 1.888, 2.637, 3.554, 4.643",\
                 "0.2277, 0.2551, 0.3555, 0.5466, 0.8492, 1.292, 1.887, 2.638, 3.556, 4.647",\
                 "0.3167, 0.3418, 0.4335, 0.6182, 0.9158, 1.331, 1.901, 2.636, 3.551, 4.645",\
                 "0.4422, 0.4678, 0.5588, 0.7346, 1.018, 1.432, 1.977, 2.679, 3.566, 4.642",\
                 "0.59, 0.6186, 0.7158, 0.8954, 1.172, 1.569, 2.112, 2.799, 3.641, 4.686",\
                 "0.7554, 0.7866, 0.895, 1.088, 1.372, 1.76, 2.286, 2.968, 3.806, 4.805",\
                 "0.9338, 0.9696, 1.091, 1.305, 1.605, 2.002, 2.518, 3.18, 4.013, 5.013",\
                 "1.124, 1.167, 1.304, 1.541, 1.868, 2.283, 2.807, 3.455, 4.267, 5.262");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2925, 0.3269, 0.4479, 0.6721, 1.019, 1.503, 2.139, 2.94, 3.917, 5.081",\
                 "0.2934, 0.3271, 0.4477, 0.6719, 1.019, 1.503, 2.138, 2.939, 3.917, 5.08",\
                 "0.2917, 0.3261, 0.447, 0.6716, 1.019, 1.503, 2.139, 2.939, 3.917, 5.08",\
                 "0.3606, 0.3897, 0.4853, 0.6811, 1.019, 1.503, 2.139, 2.938, 3.914, 5.078",\
                 "0.464, 0.498, 0.6132, 0.8002, 1.077, 1.513, 2.138, 2.939, 3.917, 5.08",\
                 "0.5822, 0.6212, 0.7518, 0.9716, 1.269, 1.646, 2.187, 2.944, 3.915, 5.078",\
                 "0.7194, 0.7656, 0.9108, 1.15, 1.487, 1.906, 2.399, 3.057, 3.941, 5.079",\
                 "0.8704, 0.9242, 1.091, 1.354, 1.715, 2.183, 2.729, 3.35, 4.133, 5.155",\
                 "1.039, 1.1, 1.289, 1.582, 1.972, 2.468, 3.07, 3.752, 4.509, 5.428",\
                 "1.22, 1.29, 1.5, 1.832, 2.257, 2.778, 3.414, 4.166, 4.988, 5.89");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1572, 0.1723, 0.2255, 0.3257, 0.4816, 0.6998, 0.987, 1.349, 1.79, 2.317",\
                 "0.1663, 0.1818, 0.2352, 0.3365, 0.4922, 0.7109, 0.9983, 1.359, 1.801, 2.327",\
                 "0.1834, 0.2004, 0.2566, 0.3585, 0.5154, 0.7339, 1.022, 1.383, 1.825, 2.351",\
                 "0.1895, 0.2102, 0.277, 0.3914, 0.5549, 0.7738, 1.061, 1.423, 1.864, 2.39",\
                 "0.174, 0.2002, 0.2828, 0.4163, 0.599, 0.8346, 1.126, 1.487, 1.927, 2.453",\
                 "0.1286, 0.162, 0.2632, 0.4233, 0.6317, 0.89, 1.205, 1.58, 2.021, 2.544",\
                 "0.0544, 0.0922, 0.2125, 0.4021, 0.6439, 0.933, 1.273, 1.674, 2.139, 2.671",\
                 "-0.0523, -0.0083, 0.129, 0.3471, 0.6255, 0.9532, 1.328, 1.757, 2.249, 2.81",\
                 "-0.1936, -0.1442, 0.0107, 0.2559, 0.572, 0.9415, 1.359, 1.825, 2.348, 2.938",\
                 "-0.3738, -0.3189, -0.1464, 0.1279, 0.4788, 0.8918, 1.356, 1.866, 2.43, 3.053");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2355, 0.2554, 0.3238, 0.4519, 0.6489, 0.9233, 1.284, 1.738, 2.291, 2.952",\
                 "0.2511, 0.2709, 0.3396, 0.4678, 0.665, 0.9401, 1.301, 1.754, 2.308, 2.968",\
                 "0.3167, 0.3362, 0.4043, 0.5321, 0.7291, 1.004, 1.365, 1.818, 2.371, 3.032",\
                 "0.4479, 0.4695, 0.5393, 0.6651, 0.8593, 1.132, 1.491, 1.943, 2.496, 3.155",\
                 "0.6116, 0.6377, 0.723, 0.8707, 1.072, 1.341, 1.697, 2.146, 2.696, 3.354",\
                 "0.8093, 0.8395, 0.9372, 1.108, 1.346, 1.641, 1.996, 2.44, 2.985, 3.639",\
                 "1.044, 1.079, 1.19, 1.382, 1.649, 1.987, 2.385, 2.837, 3.377, 4.024",\
                 "1.316, 1.355, 1.483, 1.698, 1.993, 2.366, 2.812, 3.318, 3.878, 4.522",\
                 "1.627, 1.671, 1.814, 2.055, 2.383, 2.789, 3.274, 3.834, 4.457, 5.133",\
                 "1.976, 2.027, 2.187, 2.457, 2.818, 3.26, 3.784, 4.386, 5.068, 5.813");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.1693, 0.1954, 0.2864, 0.4595, 0.7284, 1.105, 1.601, 2.225, 2.987, 3.893",\
                 "0.1695, 0.1954, 0.286, 0.4595, 0.7289, 1.106, 1.6, 2.226, 2.985, 3.897",\
                 "0.1893, 0.2114, 0.2933, 0.4598, 0.7286, 1.105, 1.601, 2.224, 2.985, 3.892",\
                 "0.2529, 0.2742, 0.3528, 0.5054, 0.7474, 1.107, 1.6, 2.225, 2.989, 3.897",\
                 "0.3604, 0.3803, 0.4516, 0.5974, 0.8354, 1.168, 1.625, 2.228, 2.985, 3.895",\
                 "0.5014, 0.5216, 0.5942, 0.7358, 0.9624, 1.296, 1.736, 2.296, 3.01, 3.896",\
                 "0.6636, 0.685, 0.7652, 0.9152, 1.141, 1.463, 1.899, 2.458, 3.134, 3.971",\
                 "0.8408, 0.8676, 0.9546, 1.12, 1.362, 1.686, 2.109, 2.665, 3.341, 4.149",\
                 "1.032, 1.061, 1.162, 1.348, 1.611, 1.951, 2.378, 2.917, 3.593, 4.405",\
                 "1.236, 1.269, 1.386, 1.592, 1.888, 2.249, 2.695, 3.236, 3.895, 4.7");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.3234, 0.3582, 0.4779, 0.7021, 1.048, 1.533, 2.167, 2.968, 3.946, 5.109",\
                 "0.3233, 0.3587, 0.4781, 0.7025, 1.049, 1.533, 2.169, 2.969, 3.946, 5.106",\
                 "0.323, 0.3574, 0.4775, 0.7021, 1.049, 1.533, 2.168, 2.969, 3.943, 5.107",\
                 "0.3831, 0.4106, 0.5084, 0.7095, 1.048, 1.533, 2.168, 2.969, 3.946, 5.109",\
                 "0.4892, 0.5234, 0.6358, 0.8206, 1.101, 1.54, 2.168, 2.969, 3.945, 5.109",\
                 "0.6064, 0.6452, 0.7732, 0.9926, 1.287, 1.667, 2.212, 2.973, 3.944, 5.108",\
                 "0.743, 0.788, 0.9286, 1.168, 1.506, 1.923, 2.417, 3.079, 3.969, 5.109",\
                 "0.897, 0.9464, 1.106, 1.365, 1.731, 2.197, 2.743, 3.364, 4.152, 5.18",\
                 "1.065, 1.124, 1.301, 1.59, 1.978, 2.476, 3.079, 3.764, 4.524, 5.444",\
                 "1.252, 1.314, 1.516, 1.836, 2.26, 2.78, 3.421, 4.171, 4.997, 5.898");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.218, 0.2373, 0.3032, 0.426, 0.6147, 0.8781, 1.224, 1.659, 2.189, 2.821",\
                 "0.2273, 0.2467, 0.3129, 0.4362, 0.6252, 0.8886, 1.235, 1.67, 2.2, 2.833",\
                 "0.2456, 0.2652, 0.3318, 0.4554, 0.6449, 0.9087, 1.255, 1.69, 2.221, 2.854",\
                 "0.2559, 0.2778, 0.3506, 0.4805, 0.6713, 0.9349, 1.281, 1.715, 2.246, 2.879",\
                 "0.2513, 0.2765, 0.3581, 0.4994, 0.704, 0.9758, 1.321, 1.754, 2.284, 2.915",\
                 "0.2204, 0.2509, 0.3472, 0.5068, 0.7279, 1.016, 1.377, 1.815, 2.342, 2.971",\
                 "0.1593, 0.1947, 0.3078, 0.4917, 0.7379, 1.047, 1.426, 1.884, 2.424, 3.052",\
                 "0.0657, 0.1061, 0.2353, 0.4464, 0.7238, 1.062, 1.466, 1.944, 2.505, 3.153",\
                 "-0.0629, -0.017, 0.1285, 0.3654, 0.6772, 1.051, 1.488, 1.993, 2.576, 3.246",\
                 "-0.2296, -0.1785, -0.0154, 0.2481, 0.5936, 1.008, 1.483, 2.022, 2.634, 3.329");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2355, 0.2554, 0.3238, 0.4519, 0.6489, 0.9233, 1.284, 1.738, 2.291, 2.952",\
                 "0.2511, 0.2709, 0.3396, 0.4678, 0.665, 0.9401, 1.301, 1.754, 2.308, 2.968",\
                 "0.3167, 0.3362, 0.4043, 0.5321, 0.7291, 1.004, 1.365, 1.818, 2.371, 3.032",\
                 "0.4479, 0.4695, 0.5393, 0.6651, 0.8593, 1.132, 1.491, 1.943, 2.496, 3.155",\
                 "0.6116, 0.6377, 0.723, 0.8707, 1.072, 1.341, 1.697, 2.146, 2.696, 3.354",\
                 "0.8093, 0.8395, 0.9372, 1.108, 1.346, 1.641, 1.996, 2.44, 2.985, 3.639",\
                 "1.044, 1.079, 1.19, 1.382, 1.649, 1.987, 2.385, 2.837, 3.377, 4.024",\
                 "1.316, 1.355, 1.483, 1.698, 1.993, 2.366, 2.812, 3.318, 3.878, 4.522",\
                 "1.627, 1.671, 1.814, 2.055, 2.383, 2.789, 3.274, 3.834, 4.457, 5.133",\
                 "1.976, 2.027, 2.187, 2.457, 2.818, 3.26, 3.784, 4.386, 5.068, 5.813");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.2191, 0.2511, 0.362, 0.5711, 0.8939, 1.348, 1.943, 2.692, 3.607, 4.696",\
                 "0.2191, 0.2511, 0.3618, 0.5711, 0.8937, 1.348, 1.943, 2.693, 3.608, 4.695",\
                 "0.2249, 0.2551, 0.3626, 0.5701, 0.8951, 1.348, 1.942, 2.692, 3.606, 4.697",\
                 "0.2672, 0.297, 0.401, 0.5933, 0.8997, 1.348, 1.943, 2.692, 3.608, 4.699",\
                 "0.3435, 0.3714, 0.4696, 0.6626, 0.963, 1.381, 1.951, 2.692, 3.606, 4.698",\
                 "0.4606, 0.4898, 0.5868, 0.7686, 1.062, 1.48, 2.025, 2.728, 3.614, 4.697",\
                 "0.604, 0.6352, 0.7386, 0.9256, 1.209, 1.611, 2.158, 2.846, 3.693, 4.732",\
                 "0.7668, 0.801, 0.9156, 1.115, 1.404, 1.798, 2.328, 3.015, 3.854, 4.854",\
                 "0.9462, 0.9836, 1.111, 1.331, 1.635, 2.037, 2.556, 3.223, 4.059, 5.06",\
                 "1.14, 1.184, 1.326, 1.567, 1.9, 2.314, 2.84, 3.497, 4.31, 5.305");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005445, 0.02105, 0.05085, 0.09727, 0.1624, 0.2481, 0.3561, 0.4879, 0.6451");
          values("0.3574, 0.3925, 0.5142, 0.7424, 1.091, 1.577, 2.214, 3.014, 3.991, 5.153",\
                 "0.3572, 0.3923, 0.5141, 0.7424, 1.092, 1.577, 2.213, 3.013, 3.99, 5.153",\
                 "0.3565, 0.3914, 0.5137, 0.7423, 1.092, 1.577, 2.212, 3.014, 3.99, 5.15",\
                 "0.4296, 0.4559, 0.5528, 0.7526, 1.092, 1.577, 2.213, 3.013, 3.988, 5.151",\
                 "0.5544, 0.586, 0.6928, 0.8728, 1.152, 1.587, 2.214, 3.013, 3.99, 5.152",\
                 "0.6946, 0.73, 0.8498, 1.059, 1.347, 1.721, 2.262, 3.02, 3.99, 5.152",\
                 "0.8576, 0.8966, 1.027, 1.253, 1.578, 1.987, 2.475, 3.132, 4.019, 5.156",\
                 "1.039, 1.084, 1.228, 1.472, 1.82, 2.272, 2.81, 3.424, 4.209, 5.231",\
                 "1.237, 1.288, 1.449, 1.718, 2.088, 2.569, 3.163, 3.834, 4.585, 5.504",\
                 "1.45, 1.507, 1.689, 1.987, 2.386, 2.891, 3.517, 4.254, 5.072, 5.964");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai221_1) {
    area : 26.342400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C" ;
      value : "4.37514e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C" ;
      value : "4.38042e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C" ;
      value : "4.37547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C" ;
      value : "4.37547e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C" ;
      value : "4.37514e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C" ;
      value : "6.88578e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C" ;
      value : "9.26541e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C" ;
      value : "6.88974e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C" ;
      value : "8.5041e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C" ;
      value : "6.88974e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C" ;
      value : "7.06761e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C" ;
      value : "6.88974e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C" ;
      value : "7.06761e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C" ;
      value : "6.88578e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C" ;
      value : "9.26541e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C" ;
      value : "6.88974e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C" ;
      value : "7.06761e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C" ;
      value : "6.88974e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C" ;
      value : "5.63079e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C" ;
      value : "6.88974e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C" ;
      value : "5.63079e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C" ;
      value : "6.90525e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C" ;
      value : "9.28983e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C" ;
      value : "6.90954e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C" ;
      value : "7.06761e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C" ;
      value : "6.90954e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C" ;
      value : "5.63079e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C" ;
      value : "6.90954e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C" ;
      value : "5.63079e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "9.28983e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004761 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01854, 0.01849, 0.01847, 0.01839, 0.01838, 0.01836, 0.01835, \
                 0.01833, 0.01834, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01711, 0.01713, 0.01715, 0.01707, 0.017, 0.01695, 0.01689, 0.01681, \
                 0.01674, 0.01664");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01854, 0.01851, 0.0185, 0.01848, 0.0184, 0.01839, 0.01838, 0.01834, \
                 0.01834, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04676, 0.04676, 0.04679, 0.04674, 0.04666, 0.04655, 0.04641, \
                 0.04629, 0.04614, 0.0459");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01854, 0.01849, 0.01848, 0.01842, 0.01837, 0.01837, 0.01836, \
                 0.01833, 0.01834, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01711, 0.01714, 0.01716, 0.0171, 0.01703, 0.01695, 0.01689, \
                 0.01681, 0.01673, 0.01661");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01853, 0.01851, 0.01849, 0.01845, 0.01838, 0.01837, 0.01835, \
                 0.01834, 0.01833, 0.01833");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01712, 0.01713, 0.01716, 0.0171, 0.01703, 0.01696, 0.01689, \
                 0.01682, 0.01673, 0.01661");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01853, 0.01851, 0.01849, 0.01845, 0.01838, 0.01837, 0.01835, \
                 0.01834, 0.01834, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01711, 0.01712, 0.01715, 0.01709, 0.01703, 0.01696, 0.01689, \
                 0.01681, 0.01672, 0.01661");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01847, 0.01847, 0.01849, 0.01842, 0.01836, 0.01835, 0.01834, \
                 0.01834, 0.01831, 0.01829");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01774, -0.01783, -0.01789, -0.01798, -0.01802, -0.01808, -0.0181, \
                 -0.0181, -0.01811, -0.01812");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01852, 0.01852, 0.01855, 0.01852, 0.01843, 0.01842, 0.01838, \
                 0.01837, 0.01834, 0.01831");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01772, -0.01784, -0.01793, -0.01806, -0.0181, -0.01812, -0.01813, \
                 -0.01812, -0.01812, -0.01815");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0185, 0.0185, 0.01851, 0.01846, 0.0184, 0.01839, 0.01836, 0.01834, \
                 0.01832, 0.01832");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01774, -0.01784, -0.01791, -0.01801, -0.01804, -0.01809, -0.0181, \
                 -0.0181, -0.01811, -0.01812");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01165, 0.01163, 0.01163, 0.01163, 0.01161, 0.01162, 0.01162, \
                 0.0116, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005273, -0.00527, -0.005278, -0.00529, -0.005283, -0.005298, \
                 -0.005301, -0.005298, -0.0053, -0.005296");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01849, 0.0185, 0.01851, 0.01846, 0.01844, 0.01838, 0.01836, \
                 0.01835, 0.01833, 0.0183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01772, -0.01789, -0.01795, -0.01804, -0.01807, -0.0181, -0.01813, \
                 -0.01812, -0.01813, -0.01813");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01165, 0.01164, 0.01163, 0.01163, 0.01161, 0.01162, 0.01162, \
                 0.0116, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005273, -0.005273, -0.005284, -0.005283, -0.005289, -0.005298, \
                 -0.005301, -0.005302, -0.005298, -0.005301");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01849, 0.0185, 0.01851, 0.01845, 0.0184, 0.01838, 0.01836, 0.01835, \
                 0.01833, 0.01831");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01773, -0.01789, -0.01796, -0.01804, -0.01806, -0.0181, -0.01812, \
                 -0.01812, -0.01813, -0.01814");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01165, 0.01164, 0.01162, 0.01163, 0.01161, 0.01162, 0.01161, \
                 0.0116, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005273, -0.005271, -0.005276, -0.00529, -0.005282, -0.005296, \
                 -0.0053, -0.005303, -0.005302, -0.005298");
        }
      }
    }

    pin(A2) {
      capacitance : 0.00458 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01843, 0.0184, 0.01841, 0.01836, 0.01833, 0.01837, 0.01835, \
                 0.01835, 0.01833, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01729, 0.01723, 0.01717, 0.01712, 0.01706, 0.01696, 0.0169, \
                 0.01682, 0.01674, 0.01661");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.01843, 0.01842, 0.0184, 0.01835, 0.0184, 0.01838, 0.01836, \
                 0.01834, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04692, 0.04689, 0.04686, 0.04678, 0.04671, 0.04659, 0.04643, \
                 0.0463, 0.04615, 0.04593");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01843, 0.01841, 0.01841, 0.01838, 0.01836, 0.01838, 0.01836, \
                 0.01835, 0.01833, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01731, 0.01725, 0.01719, 0.01715, 0.01708, 0.01698, 0.0169, \
                 0.01683, 0.01675, 0.01661");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01842, 0.01839, 0.01841, 0.01839, 0.01834, 0.01837, 0.01836, \
                 0.01835, 0.01833, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01731, 0.01724, 0.01719, 0.01715, 0.01707, 0.01698, 0.01691, \
                 0.01682, 0.01673, 0.01662");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01843, 0.01839, 0.01841, 0.0184, 0.01834, 0.01837, 0.01836, \
                 0.01836, 0.01833, 0.01834");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01731, 0.01724, 0.01719, 0.01715, 0.01708, 0.01698, 0.01691, \
                 0.01682, 0.01673, 0.01662");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01839, 0.01837, 0.01836, 0.01836, 0.01836, 0.01834, 0.01833, \
                 0.01831, 0.0183, 0.01831");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01753, -0.01757, -0.01774, -0.0179, -0.01794, -0.01802, -0.01806, \
                 -0.01808, -0.01808, -0.0181");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01841, 0.01839, 0.01838, 0.01841, 0.01835, 0.01837, 0.01835, \
                 0.01832, 0.01832, 0.0183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01755, -0.01753, -0.01777, -0.01792, -0.01797, -0.01806, -0.01807, \
                 -0.01809, -0.01809, -0.01811");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01842, 0.01838, 0.01837, 0.01837, 0.01834, 0.01835, 0.01833, \
                 0.01832, 0.01831, 0.01831");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01753, -0.01756, -0.01775, -0.01792, -0.01796, -0.01803, -0.01807, \
                 -0.01808, -0.01809, -0.0181");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01626, 0.01626, 0.01629, 0.01629, 0.01632, 0.01632, \
                 0.01631, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01463, -0.01561, -0.01581, -0.0159, -0.01598, -0.01601, \
                 -0.01605, -0.01606, -0.01607");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01841, 0.01838, 0.01835, 0.01839, 0.01836, 0.01833, 0.01833, \
                 0.01831, 0.01831, 0.0183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01753, -0.01758, -0.01777, -0.01793, -0.01797, -0.01804, -0.01808, \
                 -0.01809, -0.01809, -0.01811");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01628, 0.01626, 0.01626, 0.01629, 0.01629, 0.01632, 0.01634, \
                 0.01631, 0.01629, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01463, -0.01561, -0.01581, -0.0159, -0.01597, -0.01601, \
                 -0.01605, -0.01606, -0.01608");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0184, 0.01838, 0.01835, 0.0184, 0.01837, 0.01833, 0.01833, 0.0183, \
                 0.0183, 0.0183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01753, -0.01758, -0.01777, -0.01793, -0.01796, -0.01805, -0.01807, \
                 -0.01809, -0.01809, -0.01809");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01625, 0.01628, 0.01627, 0.01629, 0.01634, 0.01631, \
                 0.01632, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01463, -0.01564, -0.01581, -0.01589, -0.01599, -0.01601, \
                 -0.01604, -0.01607, -0.01607");
        }
      }
    }

    pin(B1) {
      capacitance : 0.004965 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01649, 0.01646, 0.01647, 0.0164, 0.01635, 0.01635, 0.01633, \
                 0.01632, 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01647, -0.01648, -0.01641, -0.01635, -0.01632, -0.01631, -0.0163, \
                 -0.0163, -0.01628, -0.01628");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0165, 0.01649, 0.01645, 0.01642, 0.01636, 0.01637, 0.01636, \
                 0.01634, 0.01633, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01649, -0.01649, -0.01647, -0.01643, -0.01639, -0.01638, -0.01633, \
                 -0.01632, -0.0163, -0.0163");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01644, 0.01645, 0.01646, 0.0164, 0.01634, 0.01633, 0.01632, \
                 0.01632, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01569, -0.01579, -0.01583, -0.01593, -0.01599, -0.01604, -0.01605, \
                 -0.01607, -0.01608, -0.0161");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01648, 0.01649, 0.01652, 0.01648, 0.01643, 0.0164, 0.01637, \
                 0.01636, 0.01634, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01567, -0.01576, -0.01589, -0.01602, -0.01605, -0.01608, -0.01609, \
                 -0.01608, -0.01609, -0.0161");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01649, 0.01647, 0.01645, 0.01642, 0.01636, 0.01636, 0.01634, \
                 0.01633, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01648, -0.01648, -0.01644, -0.01638, -0.01634, -0.01634, -0.01632, \
                 -0.0163, -0.0163, -0.01629");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01647, 0.01647, 0.01649, 0.01644, 0.01638, 0.01636, 0.01634, \
                 0.01634, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01567, -0.01578, -0.01587, -0.01598, -0.01602, -0.01607, -0.01606, \
                 -0.01608, -0.01608, -0.0161");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01165, 0.01164, 0.01163, 0.01161, 0.01161, 0.01162, 0.01162, \
                 0.0116, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00528, -0.005267, -0.005277, -0.005293, -0.005288, -0.005299, \
                 -0.005299, -0.005299, -0.005301, -0.005298");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01649, 0.01647, 0.01646, 0.0164, 0.01638, 0.01637, 0.01633, \
                 0.01633, 0.01633, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01648, -0.01649, -0.01644, -0.01639, -0.01635, -0.01634, -0.01631, \
                 -0.0163, -0.01628, -0.01629");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01646, 0.01647, 0.01647, 0.01644, 0.01638, 0.01636, 0.01634, \
                 0.01633, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01568, -0.01579, -0.01586, -0.01598, -0.01601, -0.01607, -0.01606, \
                 -0.01608, -0.01608, -0.0161");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01165, 0.01164, 0.01163, 0.01161, 0.01161, 0.01163, 0.01162, \
                 0.01161, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00528, -0.005267, -0.005279, -0.005282, -0.005285, -0.005302, \
                 -0.005301, -0.005296, -0.005299, -0.005301");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01649, 0.01647, 0.01646, 0.0164, 0.01638, 0.01636, 0.01633, \
                 0.01633, 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01647, -0.01649, -0.01644, -0.0164, -0.01635, -0.01634, -0.01631, \
                 -0.01631, -0.01629, -0.0163");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01646, 0.01647, 0.01647, 0.01644, 0.01638, 0.01636, 0.01634, \
                 0.01633, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01568, -0.0158, -0.01586, -0.01597, -0.01601, -0.01606, -0.01607, \
                 -0.01607, -0.01608, -0.0161");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01165, 0.01164, 0.01163, 0.01162, 0.01161, 0.01162, 0.01162, \
                 0.0116, 0.01158, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005278, -0.005267, -0.005287, -0.005291, -0.005284, -0.005302, \
                 -0.005298, -0.005297, -0.0053, -0.0053");
        }
      }
    }

    pin(B2) {
      capacitance : 0.004616 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01637, 0.01638, 0.01635, 0.01636, 0.0163, 0.01633, 0.01633, \
                 0.01632, 0.01632, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01633, -0.01634, -0.01634, -0.01631, -0.01628, -0.0163, -0.01629, \
                 -0.01629, -0.01629, -0.0163");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01639, 0.01639, 0.0164, 0.0164, 0.01635, 0.01634, 0.01635, 0.01633, \
                 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01635, -0.01637, -0.01638, -0.01636, -0.01633, -0.01633, -0.01632, \
                 -0.01631, -0.0163, -0.0163");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01629, 0.01628, 0.01631, 0.0163, 0.01631, 0.01631, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01548, -0.01546, -0.01563, -0.01582, -0.01589, -0.01599, -0.01601, \
                 -0.01604, -0.01606, -0.01606");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01632, 0.01627, 0.01627, 0.01626, 0.01631, 0.01631, 0.01632, \
                 0.0163, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01549, -0.01546, -0.01562, -0.01581, -0.01591, -0.01599, -0.01603, \
                 -0.01605, -0.01606, -0.01608");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01637, 0.01637, 0.01636, 0.01635, 0.01632, 0.01634, 0.01634, \
                 0.01631, 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01635, -0.01635, -0.01636, -0.01633, -0.0163, -0.01631, -0.0163, \
                 -0.0163, -0.0163, -0.01629");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.0163, 0.01628, 0.01631, 0.01629, 0.01632, 0.01632, \
                 0.01632, 0.0163, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0155, -0.01546, -0.01564, -0.01581, -0.01589, -0.01599, -0.01601, \
                 -0.01604, -0.01606, -0.01606");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01627, 0.01627, 0.0163, 0.01626, 0.01634, 0.01632, \
                 0.0163, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01462, -0.01562, -0.01581, -0.01589, -0.01598, -0.01602, \
                 -0.01604, -0.01605, -0.01607");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01637, 0.01638, 0.01636, 0.01635, 0.01634, 0.01633, 0.01633, \
                 0.01632, 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01634, -0.01635, -0.01636, -0.01633, -0.0163, -0.01632, -0.01629, \
                 -0.01629, -0.01629, -0.01629");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.0163, 0.01628, 0.01631, 0.01629, 0.01632, 0.01632, 0.01632, \
                 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01549, -0.01545, -0.01563, -0.01582, -0.01589, -0.01599, -0.01601, \
                 -0.01604, -0.01606, -0.01606");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01627, 0.01628, 0.01629, 0.01626, 0.01632, 0.01632, \
                 0.01631, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01464, -0.01562, -0.01582, -0.01588, -0.01598, -0.01602, \
                 -0.01604, -0.01606, -0.01607");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01637, 0.01639, 0.01637, 0.01634, 0.01634, 0.01633, 0.01634, \
                 0.01632, 0.01631, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01634, -0.01635, -0.01636, -0.01634, -0.0163, -0.01631, -0.0163, \
                 -0.01629, -0.01629, -0.01629");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.0163, 0.01628, 0.01631, 0.01629, 0.01631, 0.01632, \
                 0.01632, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01549, -0.01546, -0.01564, -0.01581, -0.01589, -0.01599, -0.01601, \
                 -0.01604, -0.01606, -0.01606");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01627, 0.01628, 0.01627, 0.01625, 0.01631, 0.01631, \
                 0.0163, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01348, -0.01463, -0.01562, -0.01581, -0.0159, -0.01598, -0.01602, \
                 -0.01604, -0.01606, -0.01606");
        }
      }
    }

    pin(C) {
      capacitance : 0.004338 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01362, 0.01393, 0.01404, 0.01403, 0.014, 0.01401, 0.01397, 0.01394, \
                 0.01388, 0.01381");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01271, -0.01268, -0.01266, -0.01262, -0.01258, -0.01258, -0.01256, \
                 -0.01255, -0.01255, -0.01254");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01357, 0.01281, 0.01268, 0.01263, 0.01261, 0.01261, 0.01259, \
                 0.01258, 0.01258, 0.01258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01268, -0.01267, -0.01265, -0.01264, -0.0126, -0.01259, -0.01258, \
                 -0.01256, -0.01255, -0.01255");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01357, 0.01281, 0.01268, 0.01262, 0.01262, 0.01262, 0.01259, \
                 0.01258, 0.01258, 0.01258");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01268, -0.01267, -0.01265, -0.01263, -0.0126, -0.01259, -0.01257, \
                 -0.01256, -0.01256, -0.01255");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01336, 0.01277, 0.0127, 0.01264, 0.01261, 0.01262, 0.01259, \
                 0.01259, 0.01258, 0.01259");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01269, -0.01268, -0.01266, -0.01265, -0.0126, -0.0126, -0.01258, \
                 -0.01256, -0.01258, -0.01255");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01272, 0.01271, 0.0127, 0.01266, 0.01265, 0.01263, 0.0126, 0.01258, \
                 0.01257, 0.01255");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0004473, 0.000456, 0.0004312, 0.000426, 0.0004085, 0.0003259, \
                 0.0002518, 0.0001516, 1.963e-06, -0.0001938");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01273, 0.01271, 0.01271, 0.01267, 0.01264, 0.01265, 0.0126, \
                 0.01259, 0.01256, 0.01256");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0004488, 0.0004579, 0.0004437, 0.0004291, 0.0004066, 0.0003285, \
                 0.0002532, 0.0001456, -1.799e-06, -0.0001864");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01273, 0.01271, 0.01271, 0.01268, 0.01264, 0.01264, 0.0126, \
                 0.01259, 0.01256, 0.01256");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0005533, 0.00056, 0.0005421, 0.0005256, 0.0005119, 0.0004235, \
                 0.000346, 0.0002337, 9.141e-05, -9.464e-05");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|((!B1)&(!B2))|(!C))" ;
      max_capacitance : 0.177 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02535, 0.02538, 0.02545, 0.02551, 0.02554, 0.0256, 0.0256, 0.02561, 0.02564, 0.02562",\
                 "0.02559, 0.02566, 0.02585, 0.02603, 0.02617, 0.02628, 0.02632, 0.02638, 0.02639, 0.02639",\
                 "0.02622, 0.02627, 0.0264, 0.02654, 0.02666, 0.02679, 0.02684, 0.02691, 0.02693, 0.02693",\
                 "0.02946, 0.02931, 0.02897, 0.02861, 0.02827, 0.028, 0.0278, 0.02767, 0.02756, 0.02749",\
                 "0.03737, 0.03697, 0.03575, 0.03425, 0.03284, 0.03169, 0.03077, 0.03004, 0.02948, 0.02905",\
                 "0.05127, 0.05046, 0.0481, 0.04505, 0.04199, 0.03931, 0.03712, 0.0353, 0.03385, 0.0327",\
                 "0.07172, 0.07051, 0.06696, 0.06199, 0.05684, 0.05213, 0.04804, 0.04466, 0.04184, 0.0395",\
                 "0.09907, 0.0975, 0.09283, 0.08585, 0.07825, 0.07109, 0.0647, 0.05918, 0.05449, 0.05055",\
                 "0.1337, 0.1319, 0.126, 0.1172, 0.1071, 0.09707, 0.08792, 0.0799, 0.07284, 0.0668",\
                 "0.1758, 0.1737, 0.167, 0.1564, 0.1438, 0.1307, 0.1185, 0.1075, 0.09776, 0.08916");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.07355, 0.07373, 0.07417, 0.07454, 0.07492, 0.07533, 0.07575, 0.0762, 0.07672, 0.07845",\
                 "0.07288, 0.07322, 0.07392, 0.0747, 0.07539, 0.07603, 0.07647, 0.07699, 0.07761, 0.07949",\
                 "0.07357, 0.07367, 0.07402, 0.07464, 0.07539, 0.07609, 0.07674, 0.07735, 0.07809, 0.08006",\
                 "0.07858, 0.07828, 0.07764, 0.0771, 0.077, 0.07728, 0.07756, 0.07798, 0.07856, 0.08064",\
                 "0.08931, 0.08852, 0.08673, 0.0845, 0.08271, 0.08157, 0.08086, 0.08049, 0.08069, 0.08258",\
                 "0.1066, 0.1054, 0.1022, 0.09818, 0.09423, 0.09094, 0.08872, 0.08676, 0.08576, 0.08736",\
                 "0.1308, 0.1292, 0.1249, 0.1187, 0.1126, 0.1068, 0.102, 0.09821, 0.09537, 0.09649",\
                 "0.1623, 0.1605, 0.155, 0.1468, 0.1381, 0.1299, 0.1225, 0.1159, 0.1111, 0.1121",\
                 "0.2018, 0.1997, 0.193, 0.1831, 0.1717, 0.1605, 0.1505, 0.1411, 0.134, 0.1361",\
                 "0.2495, 0.2471, 0.2394, 0.2276, 0.2138, 0.1997, 0.1863, 0.1743, 0.1657, 0.1727");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.0148, 0.01488, 0.01495, 0.01503, 0.01508, 0.01511, 0.01512, 0.01515, 0.01514, 0.01516",\
                 "0.01484, 0.01498, 0.01525, 0.0155, 0.01567, 0.01578, 0.01583, 0.01588, 0.0159, 0.01592",\
                 "0.01547, 0.01555, 0.01575, 0.01598, 0.01614, 0.01627, 0.01635, 0.01642, 0.01644, 0.01647",\
                 "0.01929, 0.01912, 0.01864, 0.01821, 0.01784, 0.01755, 0.01734, 0.01721, 0.01711, 0.01701",\
                 "0.02833, 0.02773, 0.02614, 0.02431, 0.0227, 0.02141, 0.02042, 0.01963, 0.01905, 0.01862",\
                 "0.04348, 0.04236, 0.03942, 0.03567, 0.03222, 0.02931, 0.02692, 0.02502, 0.02351, 0.02233",\
                 "0.06502, 0.06353, 0.05924, 0.05337, 0.04761, 0.04248, 0.03815, 0.03456, 0.03163, 0.02923",\
                 "0.09338, 0.09153, 0.08604, 0.0781, 0.06964, 0.0619, 0.0551, 0.04933, 0.0445, 0.04041",\
                 "0.1289, 0.1267, 0.1201, 0.1103, 0.0991, 0.08838, 0.07875, 0.07033, 0.06308, 0.05685",\
                 "0.1717, 0.1693, 0.1618, 0.1502, 0.1365, 0.1226, 0.1098, 0.09831, 0.08829, 0.07945");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.06203, 0.06223, 0.06263, 0.06296, 0.06341, 0.06369, 0.064, 0.06432, 0.06494, 0.06646",\
                 "0.06135, 0.06167, 0.06238, 0.06313, 0.06384, 0.06435, 0.06492, 0.06515, 0.0657, 0.06728",\
                 "0.06205, 0.06214, 0.06248, 0.06304, 0.06384, 0.06451, 0.06496, 0.06571, 0.06659, 0.06794",\
                 "0.06707, 0.06679, 0.06612, 0.06555, 0.06542, 0.06553, 0.06601, 0.06627, 0.06659, 0.06862",\
                 "0.07776, 0.07701, 0.07526, 0.07299, 0.07103, 0.06982, 0.06918, 0.06881, 0.06879, 0.07051",\
                 "0.09515, 0.09408, 0.09073, 0.08662, 0.08281, 0.07926, 0.07674, 0.07501, 0.07379, 0.07544",\
                 "0.1196, 0.118, 0.1134, 0.1072, 0.101, 0.09543, 0.09023, 0.08643, 0.0835, 0.08392",\
                 "0.1515, 0.1495, 0.1438, 0.1355, 0.1265, 0.1184, 0.1109, 0.1042, 0.09915, 0.09955",\
                 "0.1912, 0.1889, 0.182, 0.1719, 0.1603, 0.149, 0.139, 0.1297, 0.1221, 0.1234",\
                 "0.2391, 0.2366, 0.2287, 0.2167, 0.2024, 0.1884, 0.1747, 0.1629, 0.1538, 0.1595");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.01478, 0.01486, 0.01495, 0.01502, 0.01508, 0.01511, 0.01512, 0.01514, 0.01515, 0.01517",\
                 "0.01483, 0.01497, 0.01526, 0.0155, 0.01566, 0.01578, 0.01584, 0.0159, 0.0159, 0.01593",\
                 "0.01552, 0.0156, 0.0158, 0.01601, 0.01617, 0.0163, 0.01637, 0.01643, 0.01644, 0.01649",\
                 "0.01954, 0.01935, 0.01888, 0.01839, 0.01799, 0.01767, 0.01745, 0.01728, 0.01717, 0.01707",\
                 "0.02892, 0.02832, 0.02668, 0.02479, 0.02314, 0.02177, 0.02074, 0.01993, 0.01929, 0.01881",\
                 "0.04457, 0.04349, 0.04046, 0.03668, 0.03312, 0.03012, 0.02763, 0.02566, 0.02408, 0.02281",\
                 "0.06681, 0.06536, 0.06102, 0.05509, 0.04917, 0.04391, 0.03945, 0.03575, 0.03269, 0.03019",\
                 "0.09615, 0.09429, 0.08872, 0.08071, 0.07212, 0.06418, 0.05724, 0.05131, 0.04631, 0.04206",\
                 "0.1327, 0.1306, 0.1239, 0.114, 0.1027, 0.09176, 0.08186, 0.07328, 0.06582, 0.0594",\
                 "0.1769, 0.1745, 0.167, 0.1552, 0.1414, 0.1273, 0.1142, 0.1025, 0.09216, 0.08314");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.06202, 0.06223, 0.06264, 0.06298, 0.06331, 0.06368, 0.06396, 0.06435, 0.0649, 0.06632",\
                 "0.0612, 0.06151, 0.06224, 0.06297, 0.06364, 0.06411, 0.06472, 0.06528, 0.06563, 0.06721",\
                 "0.06175, 0.06182, 0.06214, 0.06268, 0.06347, 0.06411, 0.06462, 0.06514, 0.06616, 0.06797",\
                 "0.0672, 0.06686, 0.06609, 0.06535, 0.06516, 0.0652, 0.06552, 0.0659, 0.06649, 0.06846",\
                 "0.07867, 0.07789, 0.07594, 0.07353, 0.07133, 0.06999, 0.06915, 0.06871, 0.06859, 0.06982",\
                 "0.09688, 0.09568, 0.09238, 0.0881, 0.08403, 0.08022, 0.0773, 0.07531, 0.07409, 0.07537",\
                 "0.1223, 0.1207, 0.1161, 0.1098, 0.1034, 0.09734, 0.09195, 0.08768, 0.08455, 0.08521",\
                 "0.1554, 0.1534, 0.1476, 0.1392, 0.1302, 0.1218, 0.114, 0.1069, 0.1013, 0.1014",\
                 "0.1967, 0.1943, 0.1873, 0.177, 0.1654, 0.154, 0.1436, 0.1341, 0.1257, 0.1267",\
                 "0.2463, 0.2437, 0.2357, 0.2236, 0.2096, 0.195, 0.1814, 0.169, 0.1596, 0.1649");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.03489, 0.03489, 0.03487, 0.03488, 0.03491, 0.03491, 0.03492, 0.03492, 0.03493, 0.03489",\
                 "0.03392, 0.03391, 0.03395, 0.03397, 0.03401, 0.03401, 0.03402, 0.03401, 0.03404, 0.03399",\
                 "0.03379, 0.03377, 0.03368, 0.03359, 0.03355, 0.0335, 0.03348, 0.03348, 0.03347, 0.03341",\
                 "0.03719, 0.03697, 0.03642, 0.03577, 0.03513, 0.03466, 0.03432, 0.03407, 0.03386, 0.03372",\
                 "0.04601, 0.04547, 0.04398, 0.04207, 0.04027, 0.0387, 0.03749, 0.03656, 0.03587, 0.03533",\
                 "0.06158, 0.06069, 0.0581, 0.05435, 0.05056, 0.04728, 0.04454, 0.04233, 0.0406, 0.03924",\
                 "0.08474, 0.08349, 0.07952, 0.07379, 0.06753, 0.06173, 0.05677, 0.05266, 0.04932, 0.0466",\
                 "0.116, 0.1143, 0.1091, 0.1012, 0.09224, 0.08349, 0.07565, 0.06899, 0.06336, 0.05872",\
                 "0.1555, 0.1536, 0.1472, 0.1373, 0.1256, 0.1135, 0.1024, 0.09244, 0.084, 0.07681",\
                 "0.2038, 0.2015, 0.1942, 0.1824, 0.168, 0.1526, 0.1377, 0.1242, 0.1122, 0.1019");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.08526, 0.08542, 0.08572, 0.08603, 0.08644, 0.08682, 0.08723, 0.08765, 0.08824, 0.09009",\
                 "0.0844, 0.08474, 0.08548, 0.08625, 0.08694, 0.08748, 0.08799, 0.08848, 0.08913, 0.09094",\
                 "0.08352, 0.08373, 0.08442, 0.0854, 0.08641, 0.08725, 0.08799, 0.08871, 0.08942, 0.09141",\
                 "0.08737, 0.08719, 0.08695, 0.08693, 0.0873, 0.08781, 0.08842, 0.08897, 0.08974, 0.09183",\
                 "0.09811, 0.09747, 0.0959, 0.09415, 0.09288, 0.09203, 0.09159, 0.09145, 0.09161, 0.09342",\
                 "0.117, 0.1159, 0.1126, 0.1086, 0.105, 0.1019, 0.09967, 0.09808, 0.09711, 0.09858",\
                 "0.1443, 0.1427, 0.138, 0.1314, 0.125, 0.1192, 0.1145, 0.1106, 0.1078, 0.1087",\
                 "0.1802, 0.1783, 0.1722, 0.1634, 0.1536, 0.1449, 0.1371, 0.1305, 0.1253, 0.1253",\
                 "0.225, 0.2227, 0.2156, 0.2046, 0.1919, 0.1795, 0.1685, 0.1588, 0.1507, 0.1511",\
                 "0.2791, 0.2765, 0.2685, 0.2557, 0.2403, 0.2244, 0.2094, 0.1962, 0.1858, 0.1887");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02441, 0.02441, 0.02442, 0.02441, 0.02442, 0.02443, 0.02444, 0.02445, 0.02445, 0.02443",\
                 "0.0234, 0.02341, 0.02346, 0.02349, 0.02351, 0.02353, 0.02354, 0.02355, 0.02355, 0.02354",\
                 "0.02338, 0.02333, 0.02323, 0.02313, 0.02309, 0.02303, 0.02301, 0.023, 0.02299, 0.02296",\
                 "0.02732, 0.02705, 0.0263, 0.02546, 0.02476, 0.02425, 0.02387, 0.02361, 0.02342, 0.02328",\
                 "0.03723, 0.03653, 0.03461, 0.03232, 0.03016, 0.02849, 0.02718, 0.02622, 0.02547, 0.02491",\
                 "0.05409, 0.05293, 0.04968, 0.04528, 0.041, 0.0373, 0.0344, 0.03207, 0.03028, 0.02887",\
                 "0.07849, 0.07688, 0.0722, 0.06555, 0.0586, 0.05227, 0.04696, 0.04269, 0.03918, 0.03637",\
                 "0.1108, 0.1088, 0.1029, 0.09393, 0.08406, 0.07457, 0.06626, 0.05926, 0.05344, 0.04866",\
                 "0.1513, 0.149, 0.1419, 0.1309, 0.1181, 0.1053, 0.09344, 0.08309, 0.07433, 0.06693",\
                 "0.2003, 0.1978, 0.1898, 0.1768, 0.1612, 0.1449, 0.1293, 0.1152, 0.1029, 0.09232");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.07374, 0.07391, 0.07417, 0.07447, 0.07482, 0.0752, 0.07558, 0.07577, 0.07639, 0.07791",\
                 "0.07281, 0.0732, 0.07393, 0.07468, 0.07535, 0.07576, 0.07647, 0.0766, 0.07731, 0.0788",\
                 "0.07198, 0.07218, 0.07285, 0.07382, 0.07486, 0.07563, 0.07627, 0.07696, 0.07774, 0.07926",\
                 "0.07584, 0.07568, 0.07544, 0.07536, 0.07575, 0.07616, 0.0767, 0.07732, 0.07791, 0.07964",\
                 "0.08665, 0.08597, 0.08435, 0.08266, 0.08123, 0.08028, 0.07977, 0.07963, 0.07984, 0.08155",\
                 "0.1057, 0.1045, 0.1012, 0.09712, 0.09347, 0.09035, 0.08789, 0.0861, 0.08528, 0.08669",\
                 "0.1333, 0.1316, 0.1267, 0.12, 0.1134, 0.1078, 0.1028, 0.09877, 0.09588, 0.09631",\
                 "0.1694, 0.1674, 0.1612, 0.1521, 0.1421, 0.1333, 0.1256, 0.119, 0.1135, 0.1128",\
                 "0.2144, 0.2121, 0.2047, 0.1935, 0.1806, 0.168, 0.157, 0.1474, 0.1393, 0.1383",\
                 "0.2687, 0.2661, 0.2579, 0.2448, 0.2291, 0.2128, 0.1977, 0.1847, 0.1743, 0.1759");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02438, 0.02438, 0.02439, 0.0244, 0.02441, 0.02443, 0.02444, 0.02443, 0.02443, 0.02442",\
                 "0.02338, 0.0234, 0.02345, 0.02348, 0.0235, 0.02353, 0.02353, 0.02355, 0.02356, 0.02354",\
                 "0.0234, 0.02337, 0.02327, 0.02316, 0.0231, 0.02305, 0.02302, 0.023, 0.02299, 0.02297",\
                 "0.02755, 0.02726, 0.02649, 0.02567, 0.02492, 0.02436, 0.02397, 0.02366, 0.02346, 0.02331",\
                 "0.03789, 0.03722, 0.03525, 0.03285, 0.03063, 0.0289, 0.02749, 0.02646, 0.02567, 0.0251",\
                 "0.05547, 0.05428, 0.0509, 0.04647, 0.04204, 0.03825, 0.0352, 0.03275, 0.03086, 0.02939",\
                 "0.08079, 0.07917, 0.07442, 0.06762, 0.06052, 0.05402, 0.0485, 0.04403, 0.04037, 0.03742",\
                 "0.1144, 0.1124, 0.1063, 0.0972, 0.08709, 0.0774, 0.06881, 0.06158, 0.05549, 0.05052",\
                 "0.1565, 0.1542, 0.147, 0.1357, 0.1226, 0.1095, 0.09737, 0.08668, 0.07759, 0.06989",\
                 "0.2074, 0.2049, 0.1966, 0.1834, 0.1675, 0.1509, 0.1349, 0.1204, 0.1077, 0.09671");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.07373, 0.0739, 0.07416, 0.07443, 0.07486, 0.07514, 0.07538, 0.07577, 0.07639, 0.07781",\
                 "0.07269, 0.07308, 0.0738, 0.07459, 0.07519, 0.07566, 0.07608, 0.07653, 0.07764, 0.07868",\
                 "0.07165, 0.0719, 0.07252, 0.07342, 0.0744, 0.0753, 0.07591, 0.07663, 0.07745, 0.07953",\
                 "0.07585, 0.07567, 0.07526, 0.07507, 0.07532, 0.07576, 0.07624, 0.07693, 0.07771, 0.07941",\
                 "0.08747, 0.08677, 0.08496, 0.08303, 0.08136, 0.08025, 0.07971, 0.07947, 0.07968, 0.08128",\
                 "0.1077, 0.1065, 0.103, 0.09855, 0.09456, 0.09117, 0.08845, 0.0865, 0.08551, 0.08666",\
                 "0.1367, 0.135, 0.1299, 0.123, 0.116, 0.1099, 0.1045, 0.1002, 0.09701, 0.0972",\
                 "0.1746, 0.1725, 0.1661, 0.1568, 0.1465, 0.1372, 0.1291, 0.1219, 0.1158, 0.1151",\
                 "0.2218, 0.2193, 0.2118, 0.2003, 0.1871, 0.1742, 0.1626, 0.1523, 0.1436, 0.1424",\
                 "0.2785, 0.2758, 0.2673, 0.2541, 0.2378, 0.2213, 0.2058, 0.1922, 0.181, 0.1822");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02527, 0.02532, 0.02542, 0.02551, 0.02557, 0.02561, 0.02563, 0.02565, 0.02566, 0.02565",\
                 "0.02532, 0.02543, 0.0257, 0.02596, 0.02612, 0.02625, 0.02631, 0.02635, 0.02637, 0.02639",\
                 "0.02415, 0.02434, 0.02488, 0.02551, 0.02598, 0.0263, 0.02651, 0.02665, 0.02675, 0.02681",\
                 "0.02393, 0.02407, 0.0245, 0.0251, 0.02562, 0.02606, 0.02635, 0.02658, 0.02671, 0.02681",\
                 "0.02846, 0.02837, 0.02816, 0.02803, 0.02795, 0.02787, 0.02779, 0.02771, 0.02765, 0.0276",\
                 "0.03959, 0.03916, 0.03799, 0.03648, 0.03507, 0.03385, 0.03281, 0.03192, 0.03117, 0.03054",\
                 "0.0583, 0.05748, 0.05516, 0.05192, 0.0486, 0.04552, 0.04289, 0.04061, 0.03867, 0.03704",\
                 "0.08514, 0.08395, 0.08044, 0.07524, 0.06952, 0.06409, 0.05925, 0.05502, 0.05135, 0.0482",\
                 "0.1204, 0.1189, 0.1142, 0.107, 0.09874, 0.0905, 0.08293, 0.07622, 0.07032, 0.06515",\
                 "0.1644, 0.1625, 0.1567, 0.1476, 0.1367, 0.1254, 0.1148, 0.1051, 0.09645, 0.08882");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1485, 0.1486, 0.1486, 0.1488, 0.149, 0.1492, 0.1496, 0.15, 0.1507, 0.1528",\
                 "0.1475, 0.1475, 0.1476, 0.1478, 0.148, 0.1482, 0.1486, 0.1491, 0.1497, 0.1517",\
                 "0.147, 0.147, 0.147, 0.1472, 0.1474, 0.1477, 0.1481, 0.1485, 0.1493, 0.1513",\
                 "0.1508, 0.1506, 0.15, 0.1494, 0.149, 0.1488, 0.1488, 0.1491, 0.1495, 0.1517",\
                 "0.1609, 0.1604, 0.1588, 0.1567, 0.1549, 0.1535, 0.1523, 0.1519, 0.1517, 0.1539",\
                 "0.1781, 0.1773, 0.1747, 0.171, 0.1669, 0.1633, 0.1606, 0.1585, 0.1574, 0.1589",\
                 "0.2032, 0.202, 0.1984, 0.1928, 0.1867, 0.1804, 0.1751, 0.1709, 0.1677, 0.1691",\
                 "0.2365, 0.2351, 0.2305, 0.2231, 0.2144, 0.2056, 0.1974, 0.1902, 0.1847, 0.186",\
                 "0.2786, 0.277, 0.2715, 0.2625, 0.2514, 0.2396, 0.2283, 0.2178, 0.2099, 0.2122",\
                 "0.3297, 0.3279, 0.3217, 0.3113, 0.2979, 0.2831, 0.2687, 0.2548, 0.2449, 0.253");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.01473, 0.01481, 0.01493, 0.01503, 0.01509, 0.01512, 0.01514, 0.01516, 0.01517, 0.01518",\
                 "0.01451, 0.0147, 0.01511, 0.01543, 0.01563, 0.01575, 0.01583, 0.01587, 0.0159, 0.01592",\
                 "0.01288, 0.01319, 0.01399, 0.01481, 0.01541, 0.01577, 0.016, 0.01616, 0.01627, 0.01634",\
                 "0.01288, 0.01307, 0.01363, 0.01437, 0.01502, 0.01551, 0.01584, 0.01608, 0.01622, 0.01634",\
                 "0.01816, 0.01801, 0.01772, 0.01752, 0.01744, 0.01739, 0.01732, 0.01725, 0.01719, 0.01712",\
                 "0.03033, 0.02978, 0.02831, 0.02651, 0.02489, 0.02357, 0.02247, 0.02154, 0.02077, 0.02013",\
                 "0.05015, 0.04918, 0.04638, 0.04261, 0.03887, 0.03558, 0.03276, 0.03037, 0.02838, 0.0267",\
                 "0.07813, 0.07675, 0.07261, 0.0667, 0.06038, 0.05455, 0.04942, 0.045, 0.04122, 0.038",\
                 "0.1145, 0.1128, 0.1073, 0.09929, 0.09022, 0.08141, 0.07348, 0.06648, 0.06039, 0.05509",\
                 "0.1595, 0.1574, 0.1508, 0.1407, 0.1289, 0.1169, 0.1057, 0.09568, 0.08682, 0.07898");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.137, 0.1371, 0.1371, 0.1372, 0.1375, 0.1378, 0.1381, 0.1386, 0.1393, 0.1409",\
                 "0.1359, 0.136, 0.1361, 0.1362, 0.1365, 0.1368, 0.1372, 0.1378, 0.1384, 0.1404",\
                 "0.1355, 0.1355, 0.1355, 0.1357, 0.1359, 0.1362, 0.1366, 0.1372, 0.1378, 0.1395",\
                 "0.1393, 0.139, 0.1384, 0.1378, 0.1375, 0.1373, 0.1374, 0.1377, 0.1382, 0.1402",\
                 "0.1494, 0.1489, 0.1473, 0.1452, 0.1433, 0.1418, 0.1408, 0.1403, 0.1403, 0.1422",\
                 "0.1666, 0.1658, 0.1632, 0.1595, 0.1555, 0.1518, 0.1491, 0.1468, 0.1456, 0.1474",\
                 "0.1918, 0.1906, 0.1869, 0.1812, 0.1751, 0.169, 0.1636, 0.1592, 0.156, 0.1568",\
                 "0.2252, 0.2238, 0.2191, 0.2117, 0.203, 0.1942, 0.1859, 0.1787, 0.1728, 0.1738",\
                 "0.2673, 0.2657, 0.2602, 0.2512, 0.2399, 0.2282, 0.2167, 0.2065, 0.198, 0.1995",\
                 "0.3185, 0.3166, 0.3104, 0.3, 0.2866, 0.2716, 0.257, 0.2431, 0.2328, 0.24");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.01476, 0.01481, 0.01492, 0.01503, 0.01509, 0.01512, 0.01514, 0.01516, 0.01517, 0.01518",\
                 "0.01453, 0.01471, 0.01509, 0.01543, 0.01563, 0.01576, 0.01583, 0.01586, 0.0159, 0.01592",\
                 "0.01295, 0.01328, 0.01401, 0.01481, 0.01541, 0.01577, 0.016, 0.01615, 0.01626, 0.01633",\
                 "0.01317, 0.01334, 0.01388, 0.01459, 0.01519, 0.01562, 0.01595, 0.01614, 0.01628, 0.01639",\
                 "0.01888, 0.01876, 0.01841, 0.01815, 0.01797, 0.01784, 0.0177, 0.01756, 0.01744, 0.01734",\
                 "0.03155, 0.03095, 0.0295, 0.02766, 0.02593, 0.02444, 0.02322, 0.02219, 0.02132, 0.02061",\
                 "0.05184, 0.05088, 0.04807, 0.04424, 0.04036, 0.03692, 0.03395, 0.03141, 0.02929, 0.0275",\
                 "0.08027, 0.0789, 0.07475, 0.06878, 0.06234, 0.05632, 0.05103, 0.04645, 0.04251, 0.03912",\
                 "0.1171, 0.1153, 0.1098, 0.1018, 0.0926, 0.08362, 0.07547, 0.0683, 0.06203, 0.0566",\
                 "0.1625, 0.1603, 0.1536, 0.1435, 0.1317, 0.1196, 0.1082, 0.09789, 0.08888, 0.08086");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1461, 0.146, 0.1461, 0.1462, 0.1465, 0.1468, 0.1471, 0.1477, 0.148, 0.1499",\
                 "0.145, 0.145, 0.1451, 0.1453, 0.1456, 0.1458, 0.1463, 0.1468, 0.1472, 0.1488",\
                 "0.1446, 0.1446, 0.1447, 0.1448, 0.1451, 0.1454, 0.1458, 0.1464, 0.1471, 0.1485",\
                 "0.1483, 0.1482, 0.1477, 0.1471, 0.1468, 0.1466, 0.1467, 0.147, 0.1476, 0.1497",\
                 "0.1584, 0.158, 0.1566, 0.1546, 0.1529, 0.1514, 0.1504, 0.1498, 0.1497, 0.1515",\
                 "0.1756, 0.1748, 0.1725, 0.1692, 0.1653, 0.1619, 0.159, 0.1571, 0.1555, 0.1569",\
                 "0.2006, 0.1996, 0.1961, 0.1912, 0.1853, 0.1795, 0.1742, 0.1699, 0.1666, 0.1675",\
                 "0.2338, 0.2326, 0.2284, 0.2217, 0.2136, 0.2052, 0.1972, 0.1899, 0.1843, 0.1848",\
                 "0.2759, 0.2744, 0.2693, 0.2613, 0.2508, 0.2398, 0.2288, 0.2187, 0.2106, 0.2123",\
                 "0.3271, 0.3254, 0.3197, 0.3101, 0.2977, 0.2836, 0.2698, 0.2566, 0.2465, 0.2539");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.03479, 0.03476, 0.03478, 0.03482, 0.03485, 0.03484, 0.03486, 0.03487, 0.03484, 0.03485",\
                 "0.03377, 0.03377, 0.03385, 0.0339, 0.03393, 0.03396, 0.03398, 0.03398, 0.03397, 0.03397",\
                 "0.03265, 0.03268, 0.03283, 0.03303, 0.03314, 0.03325, 0.03331, 0.03336, 0.03338, 0.03336",\
                 "0.03257, 0.0326, 0.03269, 0.03282, 0.03292, 0.033, 0.03308, 0.03312, 0.03316, 0.03314",\
                 "0.03728, 0.0371, 0.03661, 0.03605, 0.03551, 0.03505, 0.03465, 0.03435, 0.03413, 0.03394",\
                 "0.04975, 0.04926, 0.04773, 0.0457, 0.04363, 0.04179, 0.04025, 0.03896, 0.03793, 0.03712",\
                 "0.07125, 0.07036, 0.06764, 0.06362, 0.05929, 0.05525, 0.05172, 0.04872, 0.04624, 0.0442",\
                 "0.1028, 0.1013, 0.09719, 0.09097, 0.08396, 0.07698, 0.07065, 0.06517, 0.06053, 0.05664",\
                 "0.1444, 0.1426, 0.137, 0.1284, 0.1183, 0.1081, 0.09847, 0.08983, 0.0823, 0.0758",\
                 "0.1964, 0.1942, 0.1873, 0.1764, 0.1632, 0.1494, 0.1361, 0.1238, 0.1127, 0.1031");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1601, 0.1601, 0.1601, 0.1603, 0.1605, 0.1607, 0.1611, 0.1615, 0.1622, 0.1642",\
                 "0.1591, 0.1591, 0.1591, 0.1593, 0.1595, 0.1597, 0.1601, 0.1606, 0.1613, 0.1632",\
                 "0.1581, 0.1581, 0.1582, 0.1585, 0.1588, 0.1591, 0.1596, 0.16, 0.1607, 0.1627",\
                 "0.1603, 0.1602, 0.1599, 0.1597, 0.1596, 0.1596, 0.1598, 0.1602, 0.1607, 0.163",\
                 "0.1701, 0.1697, 0.1683, 0.1666, 0.1651, 0.1639, 0.1631, 0.1629, 0.1629, 0.1651",\
                 "0.1891, 0.1882, 0.1855, 0.1818, 0.1779, 0.1745, 0.1718, 0.1699, 0.1687, 0.1703",\
                 "0.2181, 0.2167, 0.2126, 0.2066, 0.2, 0.1935, 0.188, 0.1835, 0.1804, 0.1808",\
                 "0.2571, 0.2555, 0.2502, 0.2418, 0.2319, 0.2224, 0.2135, 0.2057, 0.1994, 0.1996",\
                 "0.3064, 0.3046, 0.2983, 0.2879, 0.2751, 0.2616, 0.249, 0.2375, 0.2283, 0.2282",\
                 "0.3664, 0.3643, 0.3572, 0.3453, 0.3298, 0.3125, 0.2956, 0.2803, 0.2681, 0.2706");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02428, 0.02429, 0.02431, 0.02435, 0.02434, 0.02437, 0.02438, 0.02439, 0.02438, 0.02437",\
                 "0.02322, 0.02325, 0.02333, 0.0234, 0.02345, 0.02348, 0.0235, 0.02352, 0.02351, 0.0235",\
                 "0.02195, 0.02203, 0.02224, 0.02246, 0.02264, 0.02275, 0.02282, 0.02287, 0.0229, 0.02289",\
                 "0.02193, 0.02197, 0.02209, 0.02228, 0.02243, 0.02252, 0.02259, 0.02264, 0.02268, 0.02268",\
                 "0.02729, 0.02706, 0.02646, 0.02576, 0.02513, 0.02465, 0.02423, 0.02392, 0.02368, 0.02351",\
                 "0.04079, 0.04019, 0.03835, 0.03595, 0.0336, 0.03162, 0.02997, 0.02863, 0.02756, 0.02672",\
                 "0.06362, 0.0625, 0.05928, 0.05467, 0.04987, 0.04546, 0.04169, 0.03858, 0.036, 0.0339",\
                 "0.09653, 0.0949, 0.09005, 0.08295, 0.07515, 0.06771, 0.06101, 0.05529, 0.05049, 0.04648",\
                 "0.1395, 0.1374, 0.131, 0.1213, 0.1103, 0.09943, 0.08925, 0.08029, 0.07251, 0.06587",\
                 "0.1926, 0.1901, 0.1824, 0.1703, 0.156, 0.1414, 0.1274, 0.1146, 0.1033, 0.09332");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1486, 0.1487, 0.1486, 0.1487, 0.1491, 0.1493, 0.1497, 0.1503, 0.1509, 0.1524",\
                 "0.1475, 0.1476, 0.1476, 0.1478, 0.1481, 0.1484, 0.1487, 0.1493, 0.15, 0.1513",\
                 "0.1466, 0.1466, 0.1467, 0.147, 0.1473, 0.1476, 0.1481, 0.1485, 0.1492, 0.1513",\
                 "0.1488, 0.1487, 0.1484, 0.1481, 0.1481, 0.1481, 0.1484, 0.1488, 0.1494, 0.1516",\
                 "0.1586, 0.1582, 0.1568, 0.1551, 0.1536, 0.1524, 0.1517, 0.1514, 0.1513, 0.1531",\
                 "0.1776, 0.1767, 0.174, 0.1703, 0.1664, 0.163, 0.1602, 0.1583, 0.1572, 0.1586",\
                 "0.2067, 0.2053, 0.2012, 0.195, 0.1884, 0.182, 0.1766, 0.172, 0.1686, 0.1691",\
                 "0.2458, 0.2441, 0.2388, 0.2303, 0.2204, 0.2108, 0.2019, 0.1941, 0.188, 0.1874",\
                 "0.2952, 0.2933, 0.287, 0.2766, 0.2637, 0.2501, 0.2375, 0.226, 0.2166, 0.2156",\
                 "0.3551, 0.353, 0.3459, 0.334, 0.3183, 0.3011, 0.284, 0.2686, 0.2562, 0.2578");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02426, 0.02429, 0.02431, 0.02433, 0.02434, 0.02436, 0.02438, 0.02438, 0.02439, 0.02439",\
                 "0.02324, 0.02324, 0.02334, 0.0234, 0.02345, 0.02347, 0.0235, 0.02351, 0.02351, 0.0235",\
                 "0.02198, 0.02205, 0.02226, 0.02247, 0.02264, 0.02275, 0.02282, 0.02286, 0.02289, 0.02291",\
                 "0.02215, 0.02218, 0.0223, 0.02242, 0.02254, 0.02261, 0.02265, 0.02269, 0.02271, 0.02272",\
                 "0.02805, 0.02781, 0.02718, 0.02637, 0.02567, 0.02509, 0.02459, 0.02422, 0.02392, 0.02369",\
                 "0.04225, 0.04161, 0.03978, 0.03723, 0.03473, 0.03256, 0.03077, 0.02932, 0.02814, 0.02721",\
                 "0.06583, 0.06471, 0.06134, 0.05663, 0.05161, 0.04696, 0.04302, 0.0397, 0.03699, 0.03476",\
                 "0.09934, 0.09771, 0.0927, 0.08546, 0.07747, 0.06977, 0.06288, 0.05693, 0.05193, 0.04775",\
                 "0.1428, 0.1408, 0.1342, 0.1244, 0.1132, 0.102, 0.09165, 0.08241, 0.07441, 0.06762",\
                 "0.1964, 0.1939, 0.1861, 0.1739, 0.1594, 0.1445, 0.1303, 0.1173, 0.1057, 0.09555");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1575, 0.1576, 0.1576, 0.1577, 0.158, 0.1583, 0.1587, 0.1592, 0.1595, 0.1613",\
                 "0.1565, 0.1566, 0.1567, 0.1568, 0.1571, 0.1574, 0.1578, 0.1584, 0.1587, 0.1605",\
                 "0.1556, 0.1557, 0.1558, 0.1561, 0.1564, 0.1568, 0.1572, 0.1578, 0.1581, 0.1601",\
                 "0.1579, 0.1578, 0.1575, 0.1573, 0.1573, 0.1573, 0.1576, 0.158, 0.1586, 0.161",\
                 "0.1676, 0.1673, 0.1661, 0.1645, 0.163, 0.1619, 0.1611, 0.1608, 0.1608, 0.1626",\
                 "0.1866, 0.1858, 0.1833, 0.1801, 0.1764, 0.173, 0.1702, 0.1683, 0.1669, 0.1683",\
                 "0.2155, 0.2143, 0.2106, 0.205, 0.1988, 0.1926, 0.1872, 0.1826, 0.1793, 0.1797",\
                 "0.2545, 0.2531, 0.2482, 0.2404, 0.2312, 0.2221, 0.2134, 0.2057, 0.1992, 0.1989",\
                 "0.3039, 0.3022, 0.2965, 0.287, 0.2748, 0.2619, 0.25, 0.2386, 0.2292, 0.2284",\
                 "0.3639, 0.3619, 0.3555, 0.3445, 0.33, 0.3137, 0.2974, 0.2823, 0.2702, 0.272");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.03724, 0.03729, 0.03731, 0.0374, 0.03741, 0.03744, 0.03747, 0.03749, 0.03746, 0.03745",\
                 "0.03686, 0.03694, 0.03705, 0.03717, 0.03729, 0.03733, 0.03741, 0.03742, 0.03741, 0.03742",\
                 "0.03615, 0.03619, 0.03639, 0.03665, 0.03688, 0.03705, 0.03716, 0.03724, 0.0373, 0.03729",\
                 "0.037, 0.03697, 0.03699, 0.0371, 0.03716, 0.03722, 0.0373, 0.03732, 0.03737, 0.03735",\
                 "0.04221, 0.042, 0.04147, 0.0408, 0.04015, 0.03957, 0.03913, 0.0388, 0.03853, 0.03831",\
                 "0.05395, 0.05343, 0.05194, 0.04993, 0.04785, 0.04601, 0.04448, 0.04317, 0.04216, 0.04133",\
                 "0.07311, 0.07227, 0.06959, 0.0658, 0.06178, 0.05801, 0.05469, 0.05192, 0.04958, 0.04766",\
                 "0.1006, 0.09931, 0.09531, 0.08953, 0.08301, 0.07673, 0.07111, 0.06624, 0.06203, 0.0585",\
                 "0.1363, 0.1347, 0.1296, 0.1216, 0.1124, 0.1032, 0.09477, 0.08724, 0.08063, 0.07494",\
                 "0.1806, 0.1787, 0.1724, 0.1625, 0.1506, 0.1382, 0.1264, 0.1158, 0.1063, 0.09802");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1282, 0.1282, 0.1283, 0.1283, 0.1285, 0.1288, 0.1291, 0.1296, 0.13, 0.1305",\
                 "0.1276, 0.1276, 0.1278, 0.128, 0.1282, 0.1286, 0.1289, 0.1294, 0.1299, 0.1306",\
                 "0.1273, 0.1273, 0.1275, 0.1276, 0.1279, 0.1283, 0.1288, 0.1292, 0.1298, 0.1302",\
                 "0.1316, 0.1314, 0.1308, 0.1301, 0.1297, 0.1296, 0.1296, 0.1299, 0.1302, 0.1309",\
                 "0.1424, 0.1418, 0.1402, 0.138, 0.136, 0.1345, 0.1335, 0.133, 0.1327, 0.1327",\
                 "0.1604, 0.1595, 0.1566, 0.1527, 0.1487, 0.145, 0.1422, 0.14, 0.1385, 0.1376",\
                 "0.1863, 0.1851, 0.1811, 0.1752, 0.1687, 0.1627, 0.1573, 0.1531, 0.1495, 0.1468",\
                 "0.2205, 0.2189, 0.2141, 0.2063, 0.1972, 0.1883, 0.1801, 0.173, 0.167, 0.1622",\
                 "0.263, 0.2613, 0.2556, 0.2464, 0.2347, 0.2226, 0.2113, 0.2012, 0.1921, 0.1847",\
                 "0.3146, 0.3127, 0.3064, 0.2957, 0.2821, 0.267, 0.2519, 0.2384, 0.2261, 0.2161");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02675, 0.02677, 0.02682, 0.0269, 0.02694, 0.02697, 0.02698, 0.02701, 0.02701, 0.027",\
                 "0.02627, 0.02634, 0.02652, 0.02667, 0.02679, 0.02686, 0.02692, 0.02693, 0.02695, 0.02695",\
                 "0.0254, 0.02548, 0.02577, 0.0261, 0.02637, 0.02656, 0.02667, 0.02676, 0.02681, 0.02684",\
                 "0.02643, 0.02642, 0.02646, 0.02656, 0.02665, 0.02673, 0.02681, 0.02685, 0.02689, 0.02691",\
                 "0.03235, 0.03205, 0.03138, 0.03051, 0.02979, 0.02921, 0.02872, 0.02836, 0.02809, 0.02787",\
                 "0.04506, 0.04443, 0.04257, 0.0402, 0.03786, 0.03587, 0.03423, 0.03285, 0.0318, 0.03095",\
                 "0.06546, 0.06437, 0.06122, 0.0568, 0.05229, 0.04819, 0.04467, 0.04176, 0.03933, 0.03738",\
                 "0.094, 0.09255, 0.08793, 0.08133, 0.07411, 0.0674, 0.06143, 0.05632, 0.05197, 0.04835",\
                 "0.1308, 0.129, 0.1231, 0.1143, 0.1042, 0.0944, 0.08547, 0.07762, 0.0708, 0.06497",\
                 "0.176, 0.1737, 0.1669, 0.156, 0.1432, 0.1299, 0.1176, 0.1066, 0.09682, 0.08827");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1167, 0.1167, 0.1167, 0.1168, 0.117, 0.1173, 0.1177, 0.118, 0.1184, 0.1192",\
                 "0.1161, 0.1161, 0.1163, 0.1165, 0.1168, 0.1171, 0.1175, 0.1179, 0.1183, 0.1191",\
                 "0.1158, 0.1159, 0.116, 0.1161, 0.1165, 0.1168, 0.1172, 0.1178, 0.1182, 0.1188",\
                 "0.1202, 0.1199, 0.1193, 0.1187, 0.1182, 0.1181, 0.1181, 0.1184, 0.1187, 0.1194",\
                 "0.1309, 0.1304, 0.1287, 0.1265, 0.1245, 0.123, 0.1221, 0.1213, 0.1213, 0.1213",\
                 "0.1489, 0.148, 0.1453, 0.1413, 0.1372, 0.1335, 0.1307, 0.1286, 0.127, 0.1261",\
                 "0.175, 0.1738, 0.1698, 0.1638, 0.1573, 0.1513, 0.1459, 0.1416, 0.1379, 0.1355",\
                 "0.2091, 0.2076, 0.2027, 0.195, 0.1857, 0.1769, 0.1687, 0.1615, 0.1555, 0.1507",\
                 "0.2518, 0.25, 0.2444, 0.2351, 0.2234, 0.2114, 0.1999, 0.1898, 0.1808, 0.1732",\
                 "0.3034, 0.3015, 0.2952, 0.2845, 0.2709, 0.2556, 0.2405, 0.227, 0.2146, 0.2047");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02675, 0.02677, 0.02684, 0.0269, 0.02695, 0.02699, 0.027, 0.02701, 0.02701, 0.02701",\
                 "0.02626, 0.02633, 0.02651, 0.02667, 0.0268, 0.02686, 0.02692, 0.02694, 0.02697, 0.02697",\
                 "0.02549, 0.02555, 0.02581, 0.02613, 0.02639, 0.02658, 0.02669, 0.02678, 0.02684, 0.02684",\
                 "0.02673, 0.02673, 0.02674, 0.02677, 0.02683, 0.02688, 0.02691, 0.02694, 0.02694, 0.02697",\
                 "0.03323, 0.03297, 0.03217, 0.03122, 0.03038, 0.0297, 0.02913, 0.0287, 0.02837, 0.02811",\
                 "0.04673, 0.04606, 0.04418, 0.04161, 0.03912, 0.03695, 0.03517, 0.03372, 0.03253, 0.03158",\
                 "0.06812, 0.06701, 0.06376, 0.0592, 0.05446, 0.05015, 0.04646, 0.04335, 0.04076, 0.03863",\
                 "0.0979, 0.0964, 0.0918, 0.08496, 0.07757, 0.07053, 0.06432, 0.05894, 0.05438, 0.05053",\
                 "0.1362, 0.1343, 0.1285, 0.1195, 0.1092, 0.09897, 0.08976, 0.08157, 0.07449, 0.06835",\
                 "0.1832, 0.181, 0.1741, 0.1631, 0.15, 0.1364, 0.1237, 0.1122, 0.1021, 0.09317");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1163, 0.1164, 0.1164, 0.1165, 0.1167, 0.1169, 0.1173, 0.1178, 0.1183, 0.1187",\
                 "0.1154, 0.1155, 0.1156, 0.1159, 0.1161, 0.1164, 0.1167, 0.1173, 0.1177, 0.1182",\
                 "0.1153, 0.1153, 0.1153, 0.1155, 0.1157, 0.1161, 0.1165, 0.117, 0.1175, 0.1181",\
                 "0.1203, 0.12, 0.1192, 0.1184, 0.1179, 0.1176, 0.1176, 0.1177, 0.118, 0.1187",\
                 "0.1319, 0.1313, 0.1296, 0.1271, 0.1249, 0.1231, 0.122, 0.1212, 0.1207, 0.1207",\
                 "0.1512, 0.1501, 0.1472, 0.1431, 0.1386, 0.1345, 0.1314, 0.1289, 0.127, 0.1259",\
                 "0.1786, 0.1773, 0.1732, 0.167, 0.1603, 0.1538, 0.148, 0.1428, 0.1391, 0.1364",\
                 "0.2144, 0.2128, 0.2079, 0.2, 0.1904, 0.1812, 0.1724, 0.1648, 0.1583, 0.153",\
                 "0.2591, 0.2574, 0.2516, 0.2422, 0.2304, 0.2178, 0.206, 0.1952, 0.1852, 0.1774",\
                 "0.3132, 0.3113, 0.3049, 0.2942, 0.28, 0.2645, 0.2492, 0.2347, 0.2219, 0.2112");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02674, 0.02677, 0.02682, 0.0269, 0.02695, 0.02697, 0.02698, 0.027, 0.02701, 0.02699",\
                 "0.02627, 0.02634, 0.02651, 0.02668, 0.02679, 0.02686, 0.02691, 0.02695, 0.02695, 0.02695",\
                 "0.02539, 0.02548, 0.02577, 0.0261, 0.02637, 0.02656, 0.02667, 0.02676, 0.02681, 0.02684",\
                 "0.02644, 0.02644, 0.02644, 0.02656, 0.02665, 0.02674, 0.02681, 0.02685, 0.02688, 0.0269",\
                 "0.03236, 0.03204, 0.03137, 0.03051, 0.02983, 0.0292, 0.02872, 0.02835, 0.02809, 0.02786",\
                 "0.04504, 0.04441, 0.04257, 0.04017, 0.03784, 0.03584, 0.03421, 0.03284, 0.03179, 0.03094",\
                 "0.06543, 0.06431, 0.06119, 0.05676, 0.05228, 0.04817, 0.04466, 0.04174, 0.03934, 0.03735",\
                 "0.09395, 0.09251, 0.08791, 0.08129, 0.07408, 0.06737, 0.06141, 0.0563, 0.05195, 0.04833",\
                 "0.1307, 0.1288, 0.1231, 0.1142, 0.1042, 0.09438, 0.08544, 0.0776, 0.07079, 0.06495",\
                 "0.1759, 0.1737, 0.1669, 0.156, 0.1431, 0.1299, 0.1176, 0.1065, 0.09677, 0.08823");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1167, 0.1167, 0.1167, 0.1169, 0.117, 0.1173, 0.1176, 0.1181, 0.1186, 0.1191",\
                 "0.1161, 0.1162, 0.1163, 0.1165, 0.1168, 0.1171, 0.1175, 0.1179, 0.1183, 0.1191",\
                 "0.1159, 0.1159, 0.116, 0.1162, 0.1165, 0.1168, 0.1173, 0.1177, 0.1182, 0.1188",\
                 "0.1202, 0.1199, 0.1193, 0.1186, 0.1182, 0.1181, 0.1182, 0.1184, 0.1185, 0.1194",\
                 "0.1309, 0.1303, 0.1287, 0.1266, 0.1244, 0.123, 0.1221, 0.1214, 0.121, 0.1211",\
                 "0.149, 0.148, 0.1452, 0.1413, 0.1372, 0.1334, 0.1307, 0.1284, 0.1272, 0.1261",\
                 "0.175, 0.1737, 0.1697, 0.1637, 0.1572, 0.1513, 0.1459, 0.1414, 0.1378, 0.1354",\
                 "0.2091, 0.2076, 0.2026, 0.195, 0.1857, 0.1768, 0.1687, 0.1613, 0.1553, 0.1505",\
                 "0.2517, 0.2499, 0.2444, 0.235, 0.2233, 0.2111, 0.1999, 0.1896, 0.1804, 0.173",\
                 "0.3034, 0.3014, 0.295, 0.2844, 0.2705, 0.2553, 0.2404, 0.2269, 0.2146, 0.2046");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.01625, 0.01627, 0.01636, 0.01642, 0.01647, 0.01648, 0.0165, 0.01652, 0.01652, 0.01653",\
                 "0.01566, 0.01572, 0.01598, 0.01617, 0.0163, 0.01637, 0.01644, 0.01646, 0.01648, 0.01649",\
                 "0.01457, 0.0147, 0.0151, 0.01551, 0.01584, 0.01605, 0.01618, 0.01627, 0.01633, 0.01638",\
                 "0.01587, 0.01589, 0.01589, 0.01601, 0.01613, 0.01625, 0.01632, 0.01637, 0.01641, 0.01643",\
                 "0.02269, 0.0223, 0.02136, 0.02032, 0.01951, 0.01882, 0.0183, 0.01794, 0.01764, 0.01742",\
                 "0.03662, 0.03576, 0.03344, 0.03059, 0.02791, 0.02572, 0.02396, 0.02253, 0.02143, 0.02056",\
                 "0.05835, 0.05702, 0.05314, 0.04799, 0.04288, 0.03841, 0.03467, 0.0316, 0.02908, 0.02705",\
                 "0.08808, 0.08635, 0.081, 0.07339, 0.0654, 0.0581, 0.05176, 0.04642, 0.04191, 0.03817",\
                 "0.1259, 0.1238, 0.1172, 0.1073, 0.09624, 0.08566, 0.07621, 0.06801, 0.06096, 0.05498",\
                 "0.172, 0.1696, 0.1618, 0.1498, 0.1359, 0.1218, 0.1088, 0.09736, 0.08727, 0.07848");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1052, 0.1052, 0.1053, 0.1054, 0.1056, 0.1059, 0.1062, 0.1065, 0.1071, 0.1077",\
                 "0.1046, 0.1046, 0.1048, 0.1051, 0.1053, 0.1056, 0.106, 0.1064, 0.107, 0.1075",\
                 "0.1043, 0.1043, 0.1044, 0.1046, 0.105, 0.1054, 0.1058, 0.1062, 0.1066, 0.1075",\
                 "0.1087, 0.1085, 0.1078, 0.1071, 0.1067, 0.1065, 0.1066, 0.1071, 0.1075, 0.1078",\
                 "0.1194, 0.1188, 0.1172, 0.115, 0.1129, 0.1114, 0.1104, 0.1099, 0.1097, 0.1098",\
                 "0.1375, 0.1367, 0.1337, 0.1297, 0.1257, 0.122, 0.1192, 0.1169, 0.1155, 0.1145",\
                 "0.1637, 0.1624, 0.1583, 0.1523, 0.1458, 0.1398, 0.1343, 0.1299, 0.1264, 0.1239",\
                 "0.1978, 0.1963, 0.1913, 0.1836, 0.1743, 0.1653, 0.1573, 0.1499, 0.144, 0.1392",\
                 "0.2405, 0.2388, 0.233, 0.2237, 0.212, 0.1997, 0.1884, 0.1781, 0.169, 0.1618",\
                 "0.2921, 0.2903, 0.2839, 0.2732, 0.2594, 0.244, 0.2291, 0.2154, 0.2031, 0.1928");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.01627, 0.0163, 0.01637, 0.01643, 0.01647, 0.01648, 0.01651, 0.01651, 0.01653, 0.01653",\
                 "0.01563, 0.01575, 0.01597, 0.01616, 0.0163, 0.01637, 0.01643, 0.01646, 0.01648, 0.01649",\
                 "0.01464, 0.01477, 0.01515, 0.01554, 0.01586, 0.01607, 0.01619, 0.01629, 0.01635, 0.01639",\
                 "0.01625, 0.01621, 0.01622, 0.01626, 0.01632, 0.01638, 0.01643, 0.01645, 0.01647, 0.01648",\
                 "0.02363, 0.02326, 0.02222, 0.02104, 0.02008, 0.01933, 0.01873, 0.01827, 0.01792, 0.01766",\
                 "0.03834, 0.03745, 0.03505, 0.03201, 0.02921, 0.02683, 0.02492, 0.02339, 0.02216, 0.02118",\
                 "0.06108, 0.05966, 0.05569, 0.05039, 0.0451, 0.04041, 0.03648, 0.03322, 0.03054, 0.02834",\
                 "0.09203, 0.09019, 0.08482, 0.07706, 0.06884, 0.06125, 0.05465, 0.04905, 0.04433, 0.04037",\
                 "0.1315, 0.1292, 0.1226, 0.1125, 0.1012, 0.09027, 0.08053, 0.072, 0.06466, 0.05837",\
                 "0.1794, 0.1768, 0.169, 0.1569, 0.1427, 0.1283, 0.1149, 0.103, 0.09251, 0.08339");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1048, 0.1049, 0.105, 0.1051, 0.1052, 0.1055, 0.1058, 0.1062, 0.1069, 0.1074",\
                 "0.104, 0.104, 0.1041, 0.1044, 0.1047, 0.105, 0.1054, 0.1057, 0.1063, 0.1069",\
                 "0.1038, 0.1037, 0.1039, 0.104, 0.1043, 0.1046, 0.1051, 0.1055, 0.1061, 0.1064",\
                 "0.1088, 0.1085, 0.1078, 0.1069, 0.1063, 0.1061, 0.1061, 0.1062, 0.1067, 0.1069",\
                 "0.1205, 0.1198, 0.1181, 0.1157, 0.1133, 0.1116, 0.1103, 0.1097, 0.1093, 0.1092",\
                 "0.1397, 0.1388, 0.1358, 0.1315, 0.1272, 0.1233, 0.12, 0.1175, 0.1157, 0.1146",\
                 "0.1673, 0.1659, 0.1617, 0.1555, 0.1488, 0.1422, 0.1364, 0.1313, 0.1278, 0.1248",\
                 "0.2031, 0.2016, 0.1965, 0.1885, 0.179, 0.1696, 0.1611, 0.1532, 0.1466, 0.1414",\
                 "0.2478, 0.2461, 0.2403, 0.2307, 0.2192, 0.2064, 0.1943, 0.1837, 0.1738, 0.1655",\
                 "0.3019, 0.3, 0.2935, 0.2827, 0.2686, 0.2532, 0.2377, 0.2233, 0.2106, 0.1993");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.02675, 0.02676, 0.02685, 0.0269, 0.02694, 0.02697, 0.02699, 0.02699, 0.02701, 0.027",\
                 "0.0263, 0.02637, 0.02652, 0.02669, 0.02679, 0.02685, 0.02691, 0.02694, 0.02695, 0.02696",\
                 "0.02548, 0.02556, 0.02581, 0.02612, 0.02637, 0.02656, 0.02668, 0.02676, 0.02682, 0.02685",\
                 "0.02673, 0.02673, 0.02673, 0.02679, 0.02682, 0.02686, 0.0269, 0.02693, 0.02694, 0.02695",\
                 "0.03305, 0.03278, 0.03205, 0.03112, 0.03029, 0.02964, 0.02907, 0.02864, 0.02831, 0.02805",\
                 "0.04621, 0.04556, 0.04366, 0.0412, 0.03873, 0.03658, 0.03483, 0.0334, 0.03224, 0.03131",\
                 "0.06698, 0.0659, 0.06267, 0.05815, 0.05352, 0.04926, 0.04562, 0.04256, 0.04004, 0.03797",\
                 "0.09582, 0.09436, 0.08977, 0.08307, 0.07576, 0.06886, 0.06273, 0.05744, 0.05299, 0.04923",\
                 "0.1329, 0.131, 0.1253, 0.1164, 0.1062, 0.09626, 0.08714, 0.0791, 0.07214, 0.06616",\
                 "0.1784, 0.1762, 0.1693, 0.1585, 0.1455, 0.1322, 0.1197, 0.1084, 0.09856, 0.08981");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1256, 0.1257, 0.1258, 0.1259, 0.126, 0.1263, 0.1266, 0.1269, 0.1275, 0.1281",\
                 "0.1252, 0.1253, 0.1255, 0.1257, 0.126, 0.1263, 0.1268, 0.1272, 0.1277, 0.1286",\
                 "0.125, 0.125, 0.1252, 0.1254, 0.1258, 0.1261, 0.1267, 0.1272, 0.1277, 0.1283",\
                 "0.1292, 0.129, 0.1285, 0.1279, 0.1276, 0.1275, 0.1276, 0.1279, 0.1282, 0.129",\
                 "0.1398, 0.1393, 0.1379, 0.136, 0.134, 0.1325, 0.1315, 0.131, 0.1309, 0.1308",\
                 "0.1577, 0.1569, 0.1543, 0.1508, 0.1469, 0.1435, 0.1406, 0.1385, 0.1371, 0.1357",\
                 "0.1835, 0.1824, 0.1789, 0.1734, 0.1673, 0.1616, 0.1563, 0.152, 0.1483, 0.1461",\
                 "0.2177, 0.2163, 0.2118, 0.2047, 0.1961, 0.1875, 0.1799, 0.1728, 0.1668, 0.1618",\
                 "0.2603, 0.2588, 0.2536, 0.2449, 0.2341, 0.2226, 0.2116, 0.2017, 0.1926, 0.1853",\
                 "0.3121, 0.3103, 0.3044, 0.2945, 0.2815, 0.2672, 0.2527, 0.2397, 0.2279, 0.2178");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.01627, 0.01631, 0.01636, 0.01642, 0.01646, 0.01648, 0.01649, 0.01652, 0.01652, 0.01653",\
                 "0.01563, 0.01573, 0.01598, 0.01618, 0.01629, 0.01637, 0.01643, 0.01645, 0.01647, 0.01649",\
                 "0.01461, 0.01478, 0.01512, 0.01554, 0.01586, 0.01606, 0.01619, 0.01627, 0.01633, 0.01637",\
                 "0.01623, 0.01619, 0.01621, 0.01625, 0.01633, 0.01636, 0.01642, 0.01645, 0.01647, 0.01648",\
                 "0.02348, 0.02307, 0.02208, 0.02092, 0.02, 0.01926, 0.01867, 0.0182, 0.01787, 0.01761",\
                 "0.03783, 0.03699, 0.03458, 0.03161, 0.02882, 0.02647, 0.02459, 0.02308, 0.02188, 0.02093",\
                 "0.0599, 0.05862, 0.05469, 0.0494, 0.04417, 0.03954, 0.03563, 0.03243, 0.02981, 0.02768",\
                 "0.09, 0.08818, 0.08289, 0.07521, 0.06709, 0.0596, 0.0531, 0.04759, 0.04296, 0.03909",\
                 "0.1281, 0.126, 0.1193, 0.1094, 0.09828, 0.0875, 0.07783, 0.06955, 0.06235, 0.0562",\
                 "0.1745, 0.1721, 0.1643, 0.1523, 0.1383, 0.1241, 0.111, 0.09921, 0.08901, 0.0801");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1141, 0.1142, 0.1143, 0.1144, 0.1146, 0.1148, 0.1151, 0.1156, 0.1159, 0.1168",\
                 "0.1138, 0.1137, 0.114, 0.1143, 0.1146, 0.115, 0.1154, 0.1159, 0.1164, 0.1168",\
                 "0.1135, 0.1135, 0.1137, 0.114, 0.1143, 0.1148, 0.1152, 0.1155, 0.1162, 0.1171",\
                 "0.1178, 0.1175, 0.117, 0.1165, 0.1161, 0.116, 0.1161, 0.1164, 0.1168, 0.1176",\
                 "0.1283, 0.1278, 0.1263, 0.1244, 0.1226, 0.121, 0.1202, 0.1196, 0.1195, 0.1193",\
                 "0.1463, 0.1456, 0.1428, 0.1393, 0.1355, 0.1319, 0.129, 0.1271, 0.1252, 0.1245",\
                 "0.1723, 0.1711, 0.1674, 0.162, 0.1558, 0.1501, 0.1448, 0.1404, 0.1369, 0.1342",\
                 "0.2063, 0.2051, 0.2005, 0.1934, 0.1848, 0.1761, 0.1684, 0.1613, 0.1552, 0.1504",\
                 "0.2492, 0.2476, 0.2423, 0.2336, 0.2226, 0.2111, 0.2002, 0.1904, 0.1811, 0.1739",\
                 "0.3009, 0.2992, 0.2932, 0.2832, 0.2703, 0.2559, 0.2415, 0.2284, 0.2164, 0.2062");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.01623, 0.01628, 0.01637, 0.01643, 0.01646, 0.01649, 0.0165, 0.01651, 0.01652, 0.01653",\
                 "0.01563, 0.01574, 0.01598, 0.01616, 0.0163, 0.01637, 0.01642, 0.01645, 0.01648, 0.0165",\
                 "0.01467, 0.01484, 0.0152, 0.01559, 0.01588, 0.01608, 0.0162, 0.01629, 0.01636, 0.01637",\
                 "0.01661, 0.01656, 0.01653, 0.01652, 0.01653, 0.01655, 0.01655, 0.01656, 0.01655, 0.01654",\
                 "0.02445, 0.02403, 0.02296, 0.02173, 0.02067, 0.01982, 0.01913, 0.01858, 0.01819, 0.01788",\
                 "0.03963, 0.03873, 0.03623, 0.03309, 0.03015, 0.02767, 0.02565, 0.024, 0.02268, 0.02162",\
                 "0.06274, 0.06138, 0.05735, 0.0519, 0.04647, 0.04162, 0.03752, 0.03412, 0.03132, 0.02901",\
                 "0.09404, 0.09223, 0.08683, 0.07904, 0.07062, 0.06282, 0.05607, 0.0503, 0.04544, 0.04134",\
                 "0.1337, 0.1315, 0.1249, 0.1148, 0.1034, 0.09234, 0.08236, 0.07367, 0.06617, 0.05971",\
                 "0.1819, 0.1795, 0.1717, 0.1596, 0.1453, 0.1308, 0.1172, 0.1051, 0.09442, 0.08511");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1138, 0.1139, 0.114, 0.1141, 0.1143, 0.1146, 0.1149, 0.1154, 0.1157, 0.1165",\
                 "0.113, 0.1132, 0.1134, 0.1136, 0.1139, 0.1142, 0.1147, 0.115, 0.1157, 0.1162",\
                 "0.1129, 0.113, 0.113, 0.1133, 0.1136, 0.114, 0.1145, 0.1149, 0.1154, 0.1162",\
                 "0.1178, 0.1176, 0.1169, 0.1163, 0.1158, 0.1155, 0.1156, 0.1158, 0.116, 0.1164",\
                 "0.1294, 0.1288, 0.1273, 0.1251, 0.1228, 0.1213, 0.12, 0.1195, 0.119, 0.1189",\
                 "0.1486, 0.1477, 0.1451, 0.1412, 0.1371, 0.1332, 0.13, 0.1273, 0.1257, 0.1246",\
                 "0.1759, 0.1747, 0.1711, 0.1654, 0.159, 0.1529, 0.1472, 0.1422, 0.1384, 0.1353",\
                 "0.2118, 0.2103, 0.2057, 0.1984, 0.1897, 0.1808, 0.1725, 0.1648, 0.1583, 0.1529",\
                 "0.2566, 0.255, 0.2496, 0.2409, 0.2298, 0.2181, 0.2067, 0.1962, 0.1864, 0.1783",\
                 "0.3108, 0.309, 0.3029, 0.293, 0.2799, 0.2654, 0.2507, 0.2368, 0.2244, 0.2133");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1674, 0.188, 0.2592, 0.3926, 0.5985, 0.8859, 1.263, 1.738, 2.318, 3.008",\
                 "0.1805, 0.2012, 0.2726, 0.4065, 0.6126, 0.9, 1.278, 1.753, 2.332, 3.022",\
                 "0.2259, 0.2452, 0.3147, 0.4482, 0.6544, 0.9419, 1.319, 1.795, 2.375, 3.065",\
                 "0.282, 0.3077, 0.3909, 0.5304, 0.7339, 1.021, 1.397, 1.871, 2.451, 3.142",\
                 "0.3178, 0.3498, 0.4521, 0.6245, 0.8578, 1.148, 1.522, 1.994, 2.572, 3.261",\
                 "0.33, 0.3688, 0.4923, 0.6963, 0.9709, 1.309, 1.703, 2.174, 2.749, 3.435",\
                 "0.3152, 0.3607, 0.5063, 0.7451, 1.061, 1.447, 1.899, 2.409, 2.987, 3.67",\
                 "0.2707, 0.3223, 0.4911, 0.7652, 1.127, 1.562, 2.067, 2.64, 3.274, 3.973",\
                 "0.1967, 0.2546, 0.4449, 0.7557, 1.164, 1.651, 2.21, 2.842, 3.544, 4.311",\
                 "0.0887, 0.155, 0.3663, 0.7127, 1.167, 1.709, 2.328, 3.018, 3.784, 4.621");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2191, 0.2511, 0.3617, 0.5713, 0.8958, 1.351, 1.949, 2.702, 3.621, 4.715",\
                 "0.2308, 0.2634, 0.3753, 0.5864, 0.9125, 1.368, 1.967, 2.72, 3.64, 4.734",\
                 "0.2874, 0.3188, 0.4293, 0.6396, 0.966, 1.422, 2.022, 2.775, 3.695, 4.789",\
                 "0.397, 0.4329, 0.5477, 0.7539, 1.076, 1.53, 2.128, 2.881, 3.8, 4.894",\
                 "0.5356, 0.5771, 0.7127, 0.9422, 1.263, 1.711, 2.304, 3.053, 3.97, 5.062",\
                 "0.708, 0.7565, 0.9105, 1.171, 1.528, 1.979, 2.565, 3.307, 4.218, 5.307",\
                 "0.9116, 0.9676, 1.146, 1.434, 1.832, 2.33, 2.922, 3.656, 4.559, 5.64",\
                 "1.145, 1.211, 1.414, 1.739, 2.173, 2.718, 3.365, 4.11, 5.004, 6.075",\
                 "1.412, 1.486, 1.717, 2.083, 2.559, 3.145, 3.847, 4.652, 5.56, 6.622",\
                 "1.711, 1.795, 2.055, 2.462, 2.987, 3.619, 4.368, 5.235, 6.208, 7.287");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2642, 0.3, 0.4226, 0.6512, 1.006, 1.501, 2.15, 2.97, 3.969, 5.158",\
                 "0.263, 0.299, 0.4225, 0.6512, 1.006, 1.5, 2.15, 2.969, 3.969, 5.16",\
                 "0.2597, 0.2926, 0.415, 0.6506, 1.006, 1.501, 2.151, 2.97, 3.97, 5.159",\
                 "0.329, 0.3625, 0.4725, 0.67, 1.003, 1.5, 2.15, 2.97, 3.969, 5.162",\
                 "0.4302, 0.467, 0.5854, 0.7968, 1.097, 1.526, 2.15, 2.969, 3.969, 5.159",\
                 "0.5628, 0.6044, 0.735, 0.96, 1.284, 1.702, 2.244, 2.989, 3.968, 5.16",\
                 "0.7166, 0.7668, 0.9172, 1.163, 1.504, 1.952, 2.502, 3.171, 4.044, 5.17",\
                 "0.8864, 0.946, 1.124, 1.403, 1.766, 2.236, 2.817, 3.509, 4.316, 5.329",\
                 "1.072, 1.139, 1.348, 1.664, 2.074, 2.564, 3.17, 3.894, 4.738, 5.697",\
                 "1.275, 1.353, 1.588, 1.952, 2.405, 2.939, 3.567, 4.322, 5.203, 6.203");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4227, 0.4795, 0.6761, 1.045, 1.614, 2.41, 3.457, 4.779, 6.383, 8.308",\
                 "0.4225, 0.4797, 0.676, 1.045, 1.614, 2.411, 3.457, 4.778, 6.386, 8.31",\
                 "0.4243, 0.4796, 0.6762, 1.046, 1.614, 2.41, 3.457, 4.774, 6.384, 8.306",\
                 "0.4995, 0.5439, 0.7054, 1.047, 1.614, 2.411, 3.456, 4.776, 6.385, 8.306",\
                 "0.606, 0.6562, 0.8276, 1.129, 1.631, 2.41, 3.458, 4.779, 6.389, 8.305",\
                 "0.7464, 0.7944, 0.97, 1.297, 1.765, 2.454, 3.46, 4.778, 6.386, 8.308",\
                 "0.9248, 0.9752, 1.147, 1.482, 1.986, 2.641, 3.543, 4.787, 6.389, 8.308",\
                 "1.127, 1.181, 1.366, 1.699, 2.222, 2.922, 3.782, 4.914, 6.415, 8.305",\
                 "1.348, 1.408, 1.616, 1.962, 2.487, 3.218, 4.125, 5.207, 6.591, 8.36",\
                 "1.583, 1.653, 1.875, 2.259, 2.798, 3.539, 4.488, 5.619, 6.934, 8.594");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1236, 0.143, 0.2119, 0.3433, 0.5473, 0.8338, 1.21, 1.684, 2.263, 2.954",\
                 "0.1364, 0.1561, 0.2252, 0.357, 0.5613, 0.8477, 1.224, 1.698, 2.277, 2.967",\
                 "0.1803, 0.2009, 0.2679, 0.3986, 0.6032, 0.8898, 1.266, 1.74, 2.319, 3.008",\
                 "0.2178, 0.2456, 0.3341, 0.4803, 0.6831, 0.9683, 1.344, 1.818, 2.396, 3.084",\
                 "0.2347, 0.2702, 0.381, 0.5615, 0.8019, 1.096, 1.469, 1.941, 2.518, 3.206",\
                 "0.2268, 0.2705, 0.4056, 0.6215, 0.9049, 1.25, 1.65, 2.12, 2.694, 3.38",\
                 "0.192, 0.2431, 0.4038, 0.6572, 0.9851, 1.38, 1.837, 2.354, 2.933, 3.615",\
                 "0.1288, 0.1874, 0.3718, 0.6643, 1.041, 1.486, 1.999, 2.577, 3.217, 3.917",\
                 "0.0343, 0.1018, 0.3091, 0.6393, 1.066, 1.566, 2.135, 2.773, 3.48, 4.251",\
                 "-0.093, -0.0167, 0.2148, 0.5844, 1.057, 1.615, 2.242, 2.942, 3.713, 4.555");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2135, 0.2451, 0.3559, 0.5645, 0.8882, 1.342, 1.938, 2.69, 3.609, 4.702",\
                 "0.2251, 0.2575, 0.3692, 0.5799, 0.9051, 1.36, 1.958, 2.708, 3.625, 4.72",\
                 "0.2816, 0.3129, 0.4231, 0.6331, 0.9585, 1.414, 2.01, 2.765, 3.684, 4.776",\
                 "0.3894, 0.4255, 0.5413, 0.7469, 1.069, 1.521, 2.118, 2.869, 3.787, 4.88",\
                 "0.5259, 0.5678, 0.7043, 0.9344, 1.255, 1.701, 2.293, 3.041, 3.956, 5.049",\
                 "0.6959, 0.745, 0.9, 1.161, 1.519, 1.969, 2.553, 3.295, 4.204, 5.294",\
                 "0.8958, 0.9528, 1.132, 1.423, 1.821, 2.319, 2.91, 3.644, 4.544, 5.625",\
                 "1.125, 1.192, 1.398, 1.725, 2.16, 2.705, 3.352, 4.096, 4.989, 6.06",\
                 "1.386, 1.462, 1.697, 2.065, 2.542, 3.13, 3.831, 4.637, 5.544, 6.606",\
                 "1.678, 1.764, 2.029, 2.442, 2.969, 3.602, 4.351, 5.219, 6.191, 7.27");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2044, 0.242, 0.3656, 0.5943, 0.9488, 1.443, 2.092, 2.91, 3.912, 5.105",\
                 "0.2019, 0.2402, 0.3643, 0.5949, 0.9477, 1.442, 2.093, 2.91, 3.909, 5.104",\
                 "0.2162, 0.2462, 0.3589, 0.5916, 0.9472, 1.444, 2.093, 2.911, 3.91, 5.099",\
                 "0.289, 0.3222, 0.4314, 0.6261, 0.9484, 1.442, 2.091, 2.909, 3.906, 5.104",\
                 "0.3966, 0.431, 0.5488, 0.7576, 1.057, 1.478, 2.093, 2.91, 3.907, 5.103",\
                 "0.5258, 0.5672, 0.7014, 0.923, 1.245, 1.664, 2.199, 2.939, 3.911, 5.095",\
                 "0.671, 0.722, 0.8796, 1.128, 1.466, 1.911, 2.463, 3.127, 3.997, 5.109",\
                 "0.834, 0.8952, 1.08, 1.365, 1.734, 2.197, 2.776, 3.467, 4.273, 5.279",\
                 "1.014, 1.084, 1.298, 1.627, 2.036, 2.525, 3.128, 3.857, 4.695, 5.656",\
                 "1.212, 1.29, 1.534, 1.908, 2.367, 2.901, 3.528, 4.281, 5.161, 6.159");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3245, 0.3792, 0.5707, 0.9357, 1.502, 2.302, 3.346, 4.669, 6.27, 8.191",\
                 "0.3242, 0.3793, 0.5706, 0.9347, 1.504, 2.302, 3.348, 4.667, 6.28, 8.195",\
                 "0.3261, 0.3792, 0.5698, 0.9339, 1.504, 2.3, 3.347, 4.672, 6.282, 8.19",\
                 "0.392, 0.4406, 0.5994, 0.9355, 1.503, 2.301, 3.347, 4.662, 6.277, 8.197",\
                 "0.4766, 0.5298, 0.7102, 1.018, 1.519, 2.296, 3.347, 4.663, 6.271, 8.195",\
                 "0.594, 0.6492, 0.835, 1.175, 1.652, 2.342, 3.351, 4.665, 6.272, 8.201",\
                 "0.7404, 0.8006, 0.9932, 1.345, 1.864, 2.527, 3.434, 4.677, 6.28, 8.2",\
                 "0.9014, 0.9696, 1.186, 1.551, 2.086, 2.801, 3.667, 4.806, 6.298, 8.199",\
                 "1.08, 1.16, 1.404, 1.795, 2.343, 3.09, 4.007, 5.09, 6.472, 8.25",\
                 "1.272, 1.363, 1.639, 2.069, 2.639, 3.394, 4.362, 5.501, 6.82, 8.47");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1147, 0.1316, 0.1906, 0.3032, 0.4777, 0.7227, 1.045, 1.451, 1.947, 2.537",\
                 "0.1277, 0.1447, 0.204, 0.3168, 0.4919, 0.7371, 1.059, 1.465, 1.96, 2.55",\
                 "0.1693, 0.1883, 0.2485, 0.3604, 0.5355, 0.7806, 1.103, 1.508, 2.003, 2.595",\
                 "0.2003, 0.2261, 0.3083, 0.4415, 0.6202, 0.8637, 1.185, 1.59, 2.086, 2.676",\
                 "0.2082, 0.2415, 0.3458, 0.5128, 0.7331, 0.9976, 1.318, 1.722, 2.215, 2.803",\
                 "0.1882, 0.2296, 0.3573, 0.5602, 0.822, 1.138, 1.501, 1.911, 2.402, 2.988",\
                 "0.1382, 0.1867, 0.339, 0.5789, 0.8867, 1.25, 1.67, 2.138, 2.652, 3.237",\
                 "0.0564, 0.1132, 0.2881, 0.5657, 0.9196, 1.337, 1.809, 2.339, 2.92, 3.549",\
                 "-0.0598, 0.0045, 0.2029, 0.517, 0.9203, 1.391, 1.921, 2.509, 3.155, 3.856",\
                 "-0.2128, -0.1401, 0.0821, 0.4331, 0.8834, 1.409, 1.999, 2.649, 3.359, 4.128");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2134, 0.2452, 0.356, 0.5647, 0.8883, 1.342, 1.939, 2.691, 3.609, 4.7",\
                 "0.2245, 0.2568, 0.3689, 0.5791, 0.9039, 1.358, 1.956, 2.71, 3.624, 4.72",\
                 "0.2802, 0.3114, 0.4214, 0.6313, 0.9566, 1.412, 2.009, 2.762, 3.681, 4.776",\
                 "0.3902, 0.4259, 0.5411, 0.7459, 1.068, 1.52, 2.116, 2.868, 3.786, 4.882",\
                 "0.5322, 0.5735, 0.7085, 0.9373, 1.256, 1.702, 2.293, 3.041, 3.955, 5.045",\
                 "0.7096, 0.7583, 0.911, 1.169, 1.526, 1.973, 2.556, 3.297, 4.206, 5.294",\
                 "0.9207, 0.9773, 1.153, 1.44, 1.834, 2.329, 2.918, 3.649, 4.549, 5.631",\
                 "1.166, 1.231, 1.433, 1.754, 2.183, 2.724, 3.367, 4.109, 4.998, 6.069",\
                 "1.445, 1.519, 1.749, 2.111, 2.581, 3.161, 3.857, 4.658, 5.561, 6.621",\
                 "1.759, 1.843, 2.101, 2.506, 3.025, 3.648, 4.391, 5.252, 6.22, 7.294");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1719, 0.2023, 0.3056, 0.5001, 0.8009, 1.221, 1.776, 2.474, 3.327, 4.344",\
                 "0.1704, 0.2007, 0.3055, 0.5002, 0.7997, 1.221, 1.778, 2.475, 3.325, 4.341",\
                 "0.1944, 0.2181, 0.3069, 0.4975, 0.8001, 1.222, 1.777, 2.474, 3.325, 4.342",\
                 "0.2687, 0.2978, 0.3918, 0.5537, 0.8123, 1.22, 1.775, 2.474, 3.324, 4.338",\
                 "0.3723, 0.4052, 0.51, 0.6914, 0.9478, 1.288, 1.786, 2.474, 3.325, 4.342",\
                 "0.4982, 0.5378, 0.6628, 0.8598, 1.141, 1.5, 1.94, 2.534, 3.331, 4.34",\
                 "0.641, 0.6892, 0.836, 1.065, 1.365, 1.754, 2.227, 2.78, 3.479, 4.39",\
                 "0.8006, 0.8574, 1.032, 1.294, 1.633, 2.042, 2.546, 3.142, 3.819, 4.631",\
                 "0.977, 1.043, 1.245, 1.55, 1.928, 2.374, 2.905, 3.534, 4.261, 5.068",\
                 "1.171, 1.248, 1.474, 1.822, 2.251, 2.748, 3.307, 3.966, 4.735, 5.591");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.325, 0.3791, 0.571, 0.9357, 1.504, 2.299, 3.344, 4.665, 6.275, 8.198",\
                 "0.3244, 0.3793, 0.5701, 0.9356, 1.502, 2.3, 3.347, 4.672, 6.282, 8.192",\
                 "0.326, 0.3792, 0.5707, 0.9345, 1.502, 2.301, 3.349, 4.666, 6.278, 8.199",\
                 "0.3922, 0.4405, 0.5991, 0.9357, 1.504, 2.296, 3.35, 4.664, 6.276, 8.207",\
                 "0.4732, 0.5258, 0.707, 1.016, 1.517, 2.296, 3.347, 4.662, 6.272, 8.199",\
                 "0.5866, 0.6398, 0.829, 1.17, 1.649, 2.343, 3.351, 4.665, 6.274, 8.19",\
                 "0.727, 0.7852, 0.9798, 1.333, 1.856, 2.523, 3.432, 4.678, 6.281, 8.191",\
                 "0.885, 0.953, 1.167, 1.528, 2.071, 2.788, 3.657, 4.796, 6.304, 8.19",\
                 "1.061, 1.139, 1.376, 1.763, 2.312, 3.066, 3.991, 5.079, 6.471, 8.243",\
                 "1.249, 1.338, 1.606, 2.027, 2.6, 3.359, 4.337, 5.478, 6.804, 8.472");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1674, 0.188, 0.2592, 0.3926, 0.5985, 0.8859, 1.263, 1.738, 2.318, 3.008",\
                 "0.1805, 0.2012, 0.2726, 0.4065, 0.6126, 0.9, 1.278, 1.753, 2.332, 3.022",\
                 "0.2259, 0.2452, 0.3147, 0.4482, 0.6544, 0.9419, 1.319, 1.795, 2.375, 3.065",\
                 "0.282, 0.3077, 0.3909, 0.5304, 0.7339, 1.021, 1.397, 1.871, 2.451, 3.142",\
                 "0.3178, 0.3498, 0.4521, 0.6245, 0.8578, 1.148, 1.522, 1.994, 2.572, 3.261",\
                 "0.33, 0.3688, 0.4923, 0.6963, 0.9709, 1.309, 1.703, 2.174, 2.749, 3.435",\
                 "0.3152, 0.3607, 0.5063, 0.7451, 1.061, 1.447, 1.899, 2.409, 2.987, 3.67",\
                 "0.2707, 0.3223, 0.4911, 0.7652, 1.127, 1.562, 2.067, 2.64, 3.274, 3.973",\
                 "0.1967, 0.2546, 0.4449, 0.7557, 1.164, 1.651, 2.21, 2.842, 3.544, 4.311",\
                 "0.0887, 0.155, 0.3663, 0.7127, 1.167, 1.709, 2.328, 3.018, 3.784, 4.621");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2134, 0.2452, 0.356, 0.5647, 0.8883, 1.342, 1.939, 2.691, 3.609, 4.7",\
                 "0.2245, 0.2568, 0.3689, 0.5791, 0.9039, 1.358, 1.956, 2.71, 3.624, 4.72",\
                 "0.2802, 0.3114, 0.4214, 0.6313, 0.9566, 1.412, 2.009, 2.762, 3.681, 4.776",\
                 "0.3902, 0.4259, 0.5411, 0.7459, 1.068, 1.52, 2.116, 2.868, 3.786, 4.882",\
                 "0.5322, 0.5735, 0.7085, 0.9373, 1.256, 1.702, 2.293, 3.041, 3.955, 5.045",\
                 "0.7096, 0.7583, 0.911, 1.169, 1.526, 1.973, 2.556, 3.297, 4.206, 5.294",\
                 "0.9207, 0.9773, 1.153, 1.44, 1.834, 2.329, 2.918, 3.649, 4.549, 5.631",\
                 "1.166, 1.231, 1.433, 1.754, 2.183, 2.724, 3.367, 4.109, 4.998, 6.069",\
                 "1.445, 1.519, 1.749, 2.111, 2.581, 3.161, 3.857, 4.658, 5.561, 6.621",\
                 "1.759, 1.843, 2.101, 2.506, 3.025, 3.648, 4.391, 5.252, 6.22, 7.294");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2642, 0.3, 0.4226, 0.6512, 1.006, 1.501, 2.15, 2.97, 3.969, 5.158",\
                 "0.263, 0.299, 0.4225, 0.6512, 1.006, 1.5, 2.15, 2.969, 3.969, 5.16",\
                 "0.2597, 0.2926, 0.415, 0.6506, 1.006, 1.501, 2.151, 2.97, 3.97, 5.159",\
                 "0.329, 0.3625, 0.4725, 0.67, 1.003, 1.5, 2.15, 2.97, 3.969, 5.162",\
                 "0.4302, 0.467, 0.5854, 0.7968, 1.097, 1.526, 2.15, 2.969, 3.969, 5.159",\
                 "0.5628, 0.6044, 0.735, 0.96, 1.284, 1.702, 2.244, 2.989, 3.968, 5.16",\
                 "0.7166, 0.7668, 0.9172, 1.163, 1.504, 1.952, 2.502, 3.171, 4.044, 5.17",\
                 "0.8864, 0.946, 1.124, 1.403, 1.766, 2.236, 2.817, 3.509, 4.316, 5.329",\
                 "1.072, 1.139, 1.348, 1.664, 2.074, 2.564, 3.17, 3.894, 4.738, 5.697",\
                 "1.275, 1.353, 1.588, 1.952, 2.405, 2.939, 3.567, 4.322, 5.203, 6.203");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4227, 0.4795, 0.6761, 1.045, 1.614, 2.41, 3.457, 4.779, 6.383, 8.308",\
                 "0.4225, 0.4797, 0.676, 1.045, 1.614, 2.411, 3.457, 4.778, 6.386, 8.31",\
                 "0.4243, 0.4796, 0.6762, 1.046, 1.614, 2.41, 3.457, 4.774, 6.384, 8.306",\
                 "0.4995, 0.5439, 0.7054, 1.047, 1.614, 2.411, 3.456, 4.776, 6.385, 8.306",\
                 "0.606, 0.6562, 0.8276, 1.129, 1.631, 2.41, 3.458, 4.779, 6.389, 8.305",\
                 "0.7464, 0.7944, 0.97, 1.297, 1.765, 2.454, 3.46, 4.778, 6.386, 8.308",\
                 "0.9248, 0.9752, 1.147, 1.482, 1.986, 2.641, 3.543, 4.787, 6.389, 8.308",\
                 "1.127, 1.181, 1.366, 1.699, 2.222, 2.922, 3.782, 4.914, 6.415, 8.305",\
                 "1.348, 1.408, 1.616, 1.962, 2.487, 3.218, 4.125, 5.207, 6.591, 8.36",\
                 "1.583, 1.653, 1.875, 2.259, 2.798, 3.539, 4.488, 5.619, 6.934, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2116, 0.2325, 0.3042, 0.4386, 0.6451, 0.933, 1.311, 1.786, 2.366, 3.055",\
                 "0.2213, 0.2423, 0.3142, 0.4485, 0.6551, 0.943, 1.321, 1.796, 2.375, 3.065",\
                 "0.2626, 0.2827, 0.3539, 0.488, 0.6944, 0.9821, 1.359, 1.835, 2.414, 3.103",\
                 "0.333, 0.357, 0.4353, 0.57, 0.774, 1.06, 1.437, 1.911, 2.49, 3.18",\
                 "0.3884, 0.4176, 0.5127, 0.6764, 0.9023, 1.189, 1.563, 2.034, 2.612, 3.3",\
                 "0.4282, 0.463, 0.5759, 0.7659, 1.029, 1.358, 1.746, 2.215, 2.789, 3.474",\
                 "0.4491, 0.4898, 0.6203, 0.8403, 1.139, 1.512, 1.952, 2.455, 3.03, 3.711",\
                 "0.4535, 0.4986, 0.647, 0.8953, 1.233, 1.647, 2.137, 2.699, 3.325, 4.017",\
                 "0.4364, 0.4867, 0.6519, 0.9319, 1.308, 1.767, 2.303, 2.918, 3.607, 4.365",\
                 "0.4001, 0.4546, 0.6384, 0.9465, 1.36, 1.867, 2.454, 3.12, 3.866, 4.69");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2549, 0.2864, 0.3969, 0.606, 0.9307, 1.386, 1.984, 2.737, 3.656, 4.75",\
                 "0.2677, 0.3002, 0.4126, 0.6238, 0.9497, 1.405, 2.004, 2.757, 3.676, 4.771",\
                 "0.3064, 0.3385, 0.4505, 0.6626, 0.9901, 1.447, 2.047, 2.801, 3.72, 4.815",\
                 "0.3748, 0.4093, 0.5264, 0.7359, 1.061, 1.516, 2.115, 2.869, 3.788, 4.883",\
                 "0.4716, 0.5094, 0.6348, 0.8588, 1.185, 1.635, 2.229, 2.98, 3.897, 4.99",\
                 "0.5956, 0.6388, 0.7782, 1.016, 1.361, 1.817, 2.405, 3.149, 4.061, 5.149",\
                 "0.7405, 0.7906, 0.9494, 1.211, 1.574, 2.052, 2.651, 3.387, 4.291, 5.374",\
                 "0.9046, 0.9625, 1.143, 1.435, 1.826, 2.326, 2.95, 3.702, 4.598, 5.671",\
                 "1.088, 1.153, 1.358, 1.684, 2.113, 2.642, 3.289, 4.069, 4.984, 6.052",\
                 "1.293, 1.365, 1.592, 1.956, 2.428, 2.999, 3.674, 4.478, 5.424, 6.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3185, 0.3545, 0.4765, 0.7062, 1.061, 1.557, 2.206, 3.025, 4.024, 5.211",\
                 "0.318, 0.3535, 0.4766, 0.7064, 1.062, 1.557, 2.206, 3.026, 4.024, 5.212",\
                 "0.3095, 0.3451, 0.472, 0.7057, 1.061, 1.557, 2.206, 3.025, 4.023, 5.211",\
                 "0.3727, 0.4062, 0.5146, 0.7174, 1.058, 1.556, 2.206, 3.024, 4.024, 5.213",\
                 "0.4768, 0.5128, 0.6312, 0.84, 1.139, 1.576, 2.205, 3.025, 4.023, 5.213",\
                 "0.6122, 0.6514, 0.7794, 1.003, 1.326, 1.743, 2.291, 3.04, 4.023, 5.214",\
                 "0.773, 0.8204, 0.9638, 1.204, 1.544, 1.992, 2.54, 3.213, 4.092, 5.221",\
                 "0.9574, 1.014, 1.179, 1.444, 1.803, 2.27, 2.853, 3.545, 4.355, 5.375",\
                 "1.159, 1.221, 1.415, 1.714, 2.104, 2.592, 3.197, 3.927, 4.769, 5.732",\
                 "1.381, 1.453, 1.673, 2.015, 2.447, 2.961, 3.588, 4.342, 5.226, 6.231");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4231, 0.4799, 0.6763, 1.045, 1.614, 2.41, 3.456, 4.778, 6.387, 8.307",\
                 "0.4234, 0.48, 0.6763, 1.044, 1.614, 2.409, 3.457, 4.775, 6.39, 8.308",\
                 "0.4275, 0.4821, 0.6764, 1.045, 1.614, 2.41, 3.458, 4.777, 6.389, 8.31",\
                 "0.4904, 0.5376, 0.7065, 1.05, 1.615, 2.41, 3.457, 4.774, 6.388, 8.302",\
                 "0.5838, 0.6306, 0.799, 1.119, 1.637, 2.412, 3.457, 4.779, 6.388, 8.31",\
                 "0.7272, 0.769, 0.924, 1.241, 1.741, 2.462, 3.464, 4.777, 6.389, 8.309",\
                 "0.9008, 0.9454, 1.099, 1.402, 1.896, 2.6, 3.546, 4.8, 6.39, 8.31",\
                 "1.093, 1.141, 1.307, 1.612, 2.088, 2.792, 3.72, 4.914, 6.435, 8.311",\
                 "1.301, 1.353, 1.535, 1.863, 2.343, 3.023, 3.953, 5.123, 6.584, 8.388",\
                 "1.522, 1.581, 1.781, 2.136, 2.639, 3.315, 4.223, 5.402, 6.832, 8.57");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1641, 0.1846, 0.2554, 0.3884, 0.5938, 0.8806, 1.257, 1.732, 2.31, 2.999",\
                 "0.1739, 0.1944, 0.2652, 0.3983, 0.6037, 0.8905, 1.267, 1.742, 2.32, 3.009",\
                 "0.2175, 0.2367, 0.3053, 0.4378, 0.6429, 0.9296, 1.306, 1.78, 2.359, 3.047",\
                 "0.2733, 0.2988, 0.3813, 0.5206, 0.723, 1.008, 1.384, 1.857, 2.435, 3.124",\
                 "0.3138, 0.3452, 0.4466, 0.6165, 0.848, 1.137, 1.509, 1.98, 2.556, 3.245",\
                 "0.3375, 0.3755, 0.496, 0.6957, 0.9653, 1.3, 1.693, 2.162, 2.734, 3.419",\
                 "0.3439, 0.388, 0.5281, 0.7581, 1.067, 1.446, 1.892, 2.4, 2.976, 3.655",\
                 "0.3321, 0.3819, 0.5411, 0.8034, 1.152, 1.574, 2.07, 2.637, 3.267, 3.962",\
                 "0.2995, 0.3558, 0.5341, 0.8284, 1.217, 1.687, 2.23, 2.85, 3.544, 4.305",\
                 "0.2506, 0.3122, 0.5073, 0.8312, 1.261, 1.778, 2.374, 3.046, 3.797, 4.625");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2489, 0.2807, 0.391, 0.5994, 0.923, 1.377, 1.974, 2.724, 3.643, 4.737",\
                 "0.2618, 0.2941, 0.4065, 0.6168, 0.9423, 1.396, 1.995, 2.744, 3.664, 4.758",\
                 "0.3006, 0.3325, 0.4445, 0.6557, 0.9827, 1.438, 2.036, 2.789, 3.708, 4.801",\
                 "0.3676, 0.4025, 0.5195, 0.7289, 1.053, 1.507, 2.105, 2.857, 3.775, 4.867",\
                 "0.4631, 0.5014, 0.6268, 0.851, 1.177, 1.625, 2.219, 2.968, 3.885, 4.976",\
                 "0.5848, 0.6291, 0.7691, 1.007, 1.352, 1.807, 2.393, 3.136, 4.046, 5.136",\
                 "0.7267, 0.7775, 0.9382, 1.201, 1.564, 2.042, 2.639, 3.374, 4.277, 5.357",\
                 "0.887, 0.946, 1.129, 1.424, 1.815, 2.314, 2.937, 3.689, 4.583, 5.657",\
                 "1.066, 1.133, 1.34, 1.67, 2.1, 2.63, 3.275, 4.054, 4.969, 6.034",\
                 "1.266, 1.34, 1.572, 1.938, 2.412, 2.983, 3.659, 4.462, 5.408, 6.497");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2638, 0.2995, 0.4218, 0.65, 1.004, 1.498, 2.146, 2.964, 3.962, 5.15",\
                 "0.2622, 0.2982, 0.4215, 0.6498, 1.004, 1.498, 2.146, 2.964, 3.962, 5.15",\
                 "0.261, 0.294, 0.4135, 0.6491, 1.005, 1.498, 2.146, 2.964, 3.961, 5.149",\
                 "0.335, 0.3671, 0.4755, 0.6716, 1.001, 1.497, 2.146, 2.964, 3.961, 5.152",\
                 "0.4412, 0.4768, 0.5926, 0.801, 1.099, 1.526, 2.147, 2.963, 3.961, 5.149",\
                 "0.5778, 0.6176, 0.7458, 0.965, 1.285, 1.703, 2.245, 2.984, 3.961, 5.15",\
                 "0.7362, 0.7816, 0.9284, 1.17, 1.505, 1.95, 2.5, 3.168, 4.04, 5.161",\
                 "0.9106, 0.9684, 1.141, 1.408, 1.766, 2.23, 2.811, 3.503, 4.312, 5.323",\
                 "1.103, 1.171, 1.37, 1.676, 2.07, 2.556, 3.156, 3.884, 4.728, 5.689",\
                 "1.317, 1.393, 1.624, 1.972, 2.407, 2.924, 3.547, 4.301, 5.183, 6.185");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3246, 0.3797, 0.5696, 0.9348, 1.504, 2.297, 3.345, 4.671, 6.272, 8.19",\
                 "0.3251, 0.3796, 0.5702, 0.9353, 1.504, 2.3, 3.348, 4.669, 6.274, 8.192",\
                 "0.3289, 0.3818, 0.5702, 0.9351, 1.504, 2.297, 3.344, 4.661, 6.278, 8.189",\
                 "0.3847, 0.4335, 0.6007, 0.9393, 1.502, 2.296, 3.343, 4.664, 6.275, 8.194",\
                 "0.4634, 0.5118, 0.683, 1.008, 1.527, 2.301, 3.347, 4.664, 6.285, 8.193",\
                 "0.5854, 0.6334, 0.7964, 1.121, 1.628, 2.352, 3.354, 4.67, 6.275, 8.198",\
                 "0.7294, 0.7824, 0.9578, 1.271, 1.775, 2.485, 3.436, 4.689, 6.285, 8.196",\
                 "0.8872, 0.9472, 1.141, 1.472, 1.962, 2.671, 3.605, 4.801, 6.328, 8.196",\
                 "1.061, 1.128, 1.345, 1.706, 2.203, 2.896, 3.833, 5.008, 6.47, 8.283",\
                 "1.248, 1.324, 1.562, 1.96, 2.493, 3.177, 4.097, 5.285, 6.715, 8.459");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1486, 0.1663, 0.2271, 0.341, 0.5169, 0.7624, 1.085, 1.49, 1.985, 2.575",\
                 "0.159, 0.1766, 0.2375, 0.3515, 0.5274, 0.7729, 1.095, 1.501, 1.996, 2.585",\
                 "0.2028, 0.2205, 0.2798, 0.3933, 0.5689, 0.8142, 1.136, 1.542, 2.037, 2.627",\
                 "0.2514, 0.2748, 0.3511, 0.478, 0.6536, 0.8976, 1.219, 1.624, 2.118, 2.707",\
                 "0.2816, 0.3116, 0.4062, 0.5629, 0.7744, 1.033, 1.352, 1.755, 2.248, 2.836",\
                 "0.2922, 0.3279, 0.4422, 0.6289, 0.878, 1.184, 1.539, 1.946, 2.436, 3.022",\
                 "0.2814, 0.323, 0.4564, 0.6743, 0.9626, 1.312, 1.72, 2.18, 2.689, 3.272",\
                 "0.2488, 0.2961, 0.4482, 0.697, 1.025, 1.42, 1.876, 2.393, 2.966, 3.589",\
                 "0.1945, 0.2475, 0.4174, 0.6964, 1.064, 1.506, 2.012, 2.581, 3.215, 3.906",\
                 "0.1164, 0.175, 0.3618, 0.6699, 1.077, 1.566, 2.125, 2.748, 3.438, 4.194");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2488, 0.2807, 0.3906, 0.5994, 0.9229, 1.376, 1.973, 2.724, 3.643, 4.735",\
                 "0.2612, 0.2937, 0.4058, 0.6168, 0.941, 1.395, 1.992, 2.745, 3.666, 4.756",\
                 "0.2991, 0.331, 0.443, 0.6537, 0.9807, 1.437, 2.035, 2.787, 3.706, 4.803",\
                 "0.3674, 0.4022, 0.5188, 0.7275, 1.051, 1.505, 2.102, 2.855, 3.775, 4.868",\
                 "0.4682, 0.506, 0.6299, 0.8527, 1.177, 1.625, 2.218, 2.968, 3.884, 4.975",\
                 "0.5989, 0.6418, 0.7801, 1.015, 1.358, 1.811, 2.396, 3.138, 4.048, 5.135",\
                 "0.7527, 0.8026, 0.9605, 1.219, 1.578, 2.052, 2.647, 3.38, 4.282, 5.361",\
                 "0.9282, 0.9859, 1.166, 1.456, 1.842, 2.335, 2.954, 3.702, 4.594, 5.665",\
                 "1.127, 1.192, 1.395, 1.72, 2.142, 2.665, 3.304, 4.079, 4.99, 6.052",\
                 "1.348, 1.421, 1.649, 2.009, 2.475, 3.037, 3.704, 4.501, 5.442, 6.525");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2194, 0.249, 0.3521, 0.5464, 0.8467, 1.269, 1.822, 2.518, 3.368, 4.382",\
                 "0.2183, 0.2487, 0.3518, 0.5467, 0.8475, 1.269, 1.822, 2.52, 3.369, 4.382",\
                 "0.2284, 0.2542, 0.3496, 0.5456, 0.8476, 1.269, 1.822, 2.518, 3.368, 4.381",\
                 "0.3074, 0.3357, 0.4283, 0.589, 0.855, 1.268, 1.822, 2.518, 3.369, 4.383",\
                 "0.4161, 0.4468, 0.549, 0.7278, 0.9816, 1.326, 1.829, 2.518, 3.368, 4.383",\
                 "0.5486, 0.5868, 0.7036, 0.8976, 1.174, 1.533, 1.975, 2.574, 3.374, 4.382",\
                 "0.706, 0.7474, 0.884, 1.102, 1.4, 1.786, 2.259, 2.811, 3.513, 4.424",\
                 "0.8768, 0.9302, 1.09, 1.34, 1.663, 2.069, 2.576, 3.171, 3.848, 4.666",\
                 "1.072, 1.134, 1.321, 1.605, 1.966, 2.401, 2.926, 3.557, 4.283, 5.094",\
                 "1.286, 1.356, 1.571, 1.895, 2.298, 2.774, 3.324, 3.979, 4.746, 5.612");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3246, 0.3797, 0.57, 0.9355, 1.503, 2.299, 3.347, 4.665, 6.272, 8.198",\
                 "0.3251, 0.3791, 0.5702, 0.9343, 1.501, 2.296, 3.345, 4.67, 6.28, 8.202",\
                 "0.3297, 0.3819, 0.5705, 0.9339, 1.504, 2.301, 3.347, 4.661, 6.276, 8.204",\
                 "0.3847, 0.434, 0.6012, 0.9389, 1.504, 2.296, 3.349, 4.663, 6.275, 8.2",\
                 "0.4624, 0.5098, 0.6824, 1.007, 1.526, 2.301, 3.348, 4.666, 6.286, 8.193",\
                 "0.5814, 0.628, 0.7914, 1.118, 1.626, 2.351, 3.351, 4.665, 6.283, 8.194",\
                 "0.7238, 0.7762, 0.9486, 1.261, 1.769, 2.481, 3.435, 4.687, 6.279, 8.206",\
                 "0.8794, 0.9382, 1.129, 1.458, 1.947, 2.664, 3.599, 4.801, 6.313, 8.212",\
                 "1.048, 1.116, 1.331, 1.683, 2.181, 2.876, 3.82, 5, 6.46, 8.265",\
                 "1.23, 1.307, 1.544, 1.934, 2.464, 3.147, 4.075, 5.266, 6.705, 8.448");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2116, 0.2325, 0.3042, 0.4386, 0.6451, 0.933, 1.311, 1.786, 2.366, 3.055",\
                 "0.2213, 0.2423, 0.3142, 0.4485, 0.6551, 0.943, 1.321, 1.796, 2.375, 3.065",\
                 "0.2626, 0.2827, 0.3539, 0.488, 0.6944, 0.9821, 1.359, 1.835, 2.414, 3.103",\
                 "0.333, 0.357, 0.4353, 0.57, 0.774, 1.06, 1.437, 1.911, 2.49, 3.18",\
                 "0.3884, 0.4176, 0.5127, 0.6764, 0.9023, 1.189, 1.563, 2.034, 2.612, 3.3",\
                 "0.4282, 0.463, 0.5759, 0.7659, 1.029, 1.358, 1.746, 2.215, 2.789, 3.474",\
                 "0.4491, 0.4898, 0.6203, 0.8403, 1.139, 1.512, 1.952, 2.455, 3.03, 3.711",\
                 "0.4535, 0.4986, 0.647, 0.8953, 1.233, 1.647, 2.137, 2.699, 3.325, 4.017",\
                 "0.4364, 0.4867, 0.6519, 0.9319, 1.308, 1.767, 2.303, 2.918, 3.607, 4.365",\
                 "0.4001, 0.4546, 0.6384, 0.9465, 1.36, 1.867, 2.454, 3.12, 3.866, 4.69");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2488, 0.2807, 0.3906, 0.5994, 0.9229, 1.376, 1.973, 2.724, 3.643, 4.735",\
                 "0.2612, 0.2937, 0.4058, 0.6168, 0.941, 1.395, 1.992, 2.745, 3.666, 4.756",\
                 "0.2991, 0.331, 0.443, 0.6537, 0.9807, 1.437, 2.035, 2.787, 3.706, 4.803",\
                 "0.3674, 0.4022, 0.5188, 0.7275, 1.051, 1.505, 2.102, 2.855, 3.775, 4.868",\
                 "0.4682, 0.506, 0.6299, 0.8527, 1.177, 1.625, 2.218, 2.968, 3.884, 4.975",\
                 "0.5989, 0.6418, 0.7801, 1.015, 1.358, 1.811, 2.396, 3.138, 4.048, 5.135",\
                 "0.7527, 0.8026, 0.9605, 1.219, 1.578, 2.052, 2.647, 3.38, 4.282, 5.361",\
                 "0.9282, 0.9859, 1.166, 1.456, 1.842, 2.335, 2.954, 3.702, 4.594, 5.665",\
                 "1.127, 1.192, 1.395, 1.72, 2.142, 2.665, 3.304, 4.079, 4.99, 6.052",\
                 "1.348, 1.421, 1.649, 2.009, 2.475, 3.037, 3.704, 4.501, 5.442, 6.525");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3185, 0.3545, 0.4765, 0.7062, 1.061, 1.557, 2.206, 3.025, 4.024, 5.211",\
                 "0.318, 0.3535, 0.4766, 0.7064, 1.062, 1.557, 2.206, 3.026, 4.024, 5.212",\
                 "0.3095, 0.3451, 0.472, 0.7057, 1.061, 1.557, 2.206, 3.025, 4.023, 5.211",\
                 "0.3727, 0.4062, 0.5146, 0.7174, 1.058, 1.556, 2.206, 3.024, 4.024, 5.213",\
                 "0.4768, 0.5128, 0.6312, 0.84, 1.139, 1.576, 2.205, 3.025, 4.023, 5.213",\
                 "0.6122, 0.6514, 0.7794, 1.003, 1.326, 1.743, 2.291, 3.04, 4.023, 5.214",\
                 "0.773, 0.8204, 0.9638, 1.204, 1.544, 1.992, 2.54, 3.213, 4.092, 5.221",\
                 "0.9574, 1.014, 1.179, 1.444, 1.803, 2.27, 2.853, 3.545, 4.355, 5.375",\
                 "1.159, 1.221, 1.415, 1.714, 2.104, 2.592, 3.197, 3.927, 4.769, 5.732",\
                 "1.381, 1.453, 1.673, 2.015, 2.447, 2.961, 3.588, 4.342, 5.226, 6.231");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4231, 0.4799, 0.6763, 1.045, 1.614, 2.41, 3.456, 4.778, 6.387, 8.307",\
                 "0.4234, 0.48, 0.6763, 1.044, 1.614, 2.409, 3.457, 4.775, 6.39, 8.308",\
                 "0.4275, 0.4821, 0.6764, 1.045, 1.614, 2.41, 3.458, 4.777, 6.389, 8.31",\
                 "0.4904, 0.5376, 0.7065, 1.05, 1.615, 2.41, 3.457, 4.774, 6.388, 8.302",\
                 "0.5838, 0.6306, 0.799, 1.119, 1.637, 2.412, 3.457, 4.779, 6.388, 8.31",\
                 "0.7272, 0.769, 0.924, 1.241, 1.741, 2.462, 3.464, 4.777, 6.389, 8.309",\
                 "0.9008, 0.9454, 1.099, 1.402, 1.896, 2.6, 3.546, 4.8, 6.39, 8.31",\
                 "1.093, 1.141, 1.307, 1.612, 2.088, 2.792, 3.72, 4.914, 6.435, 8.311",\
                 "1.301, 1.353, 1.535, 1.863, 2.343, 3.023, 3.953, 5.123, 6.584, 8.388",\
                 "1.522, 1.581, 1.781, 2.136, 2.639, 3.315, 4.223, 5.402, 6.832, 8.57");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.286, 0.3066, 0.3776, 0.5108, 0.7163, 1.003, 1.38, 1.854, 2.433, 3.122",\
                 "0.2997, 0.3205, 0.3919, 0.5256, 0.7314, 1.018, 1.395, 1.87, 2.448, 3.137",\
                 "0.3244, 0.3454, 0.4178, 0.5525, 0.7592, 1.047, 1.424, 1.898, 2.478, 3.167",\
                 "0.3437, 0.3667, 0.4439, 0.5823, 0.7895, 1.078, 1.455, 1.93, 2.508, 3.198",\
                 "0.3446, 0.3703, 0.4554, 0.6059, 0.8257, 1.118, 1.495, 1.969, 2.547, 3.237",\
                 "0.3169, 0.3476, 0.447, 0.6147, 0.8511, 1.162, 1.552, 2.026, 2.603, 3.291",\
                 "0.2503, 0.2869, 0.4045, 0.5986, 0.861, 1.192, 1.603, 2.098, 2.682, 3.368",\
                 "0.1425, 0.1852, 0.3219, 0.5466, 0.8427, 1.206, 1.641, 2.158, 2.766, 3.468",\
                 "-0.0086, 0.041, 0.1967, 0.452, 0.7877, 1.19, 1.66, 2.205, 2.837, 3.564",\
                 "-0.2038, -0.149, 0.0271, 0.3128, 0.688, 1.136, 1.648, 2.231, 2.893, 3.646");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4458, 0.4796, 0.5955, 0.8117, 1.143, 1.602, 2.204, 2.959, 3.879, 4.975",\
                 "0.4554, 0.4891, 0.6053, 0.8216, 1.153, 1.612, 2.214, 2.969, 3.889, 4.985",\
                 "0.5067, 0.5403, 0.6562, 0.8724, 1.203, 1.663, 2.264, 3.02, 3.94, 5.036",\
                 "0.6268, 0.6595, 0.7728, 0.9855, 1.314, 1.771, 2.371, 3.126, 4.045, 5.14",\
                 "0.8211, 0.8559, 0.9715, 1.179, 1.501, 1.953, 2.548, 3.299, 4.215, 5.308",\
                 "1.055, 1.094, 1.224, 1.454, 1.78, 2.224, 2.811, 3.555, 4.467, 5.554",\
                 "1.337, 1.379, 1.52, 1.771, 2.132, 2.594, 3.174, 3.908, 4.81, 5.891",\
                 "1.668, 1.714, 1.868, 2.138, 2.527, 3.031, 3.641, 4.37, 5.261, 6.332",\
                 "2.048, 2.099, 2.269, 2.561, 2.975, 3.513, 4.172, 4.939, 5.829, 6.886",\
                 "2.478, 2.535, 2.721, 3.041, 3.484, 4.052, 4.75, 5.572, 6.507, 7.567");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2676, 0.3017, 0.423, 0.6506, 1.004, 1.498, 2.147, 2.964, 3.962, 5.15",\
                 "0.2676, 0.3022, 0.4227, 0.6506, 1.003, 1.498, 2.147, 2.964, 3.96, 5.148",\
                 "0.2687, 0.3028, 0.4229, 0.6506, 1.004, 1.499, 2.146, 2.963, 3.96, 5.15",\
                 "0.3065, 0.3395, 0.4503, 0.663, 1.005, 1.498, 2.146, 2.964, 3.962, 5.148",\
                 "0.3744, 0.4056, 0.5158, 0.7296, 1.055, 1.518, 2.149, 2.964, 3.961, 5.151",\
                 "0.492, 0.5228, 0.6282, 0.8298, 1.154, 1.61, 2.207, 2.985, 3.963, 5.149",\
                 "0.648, 0.6796, 0.7882, 0.9872, 1.296, 1.741, 2.339, 3.089, 4.022, 5.168",\
                 "0.8318, 0.866, 0.9826, 1.188, 1.496, 1.923, 2.51, 3.259, 4.17, 5.272",\
                 "1.039, 1.077, 1.202, 1.422, 1.74, 2.171, 2.736, 3.468, 4.381, 5.47",\
                 "1.268, 1.309, 1.446, 1.685, 2.023, 2.462, 3.024, 3.737, 4.634, 5.718");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.7653, 0.8215, 1.017, 1.387, 1.959, 2.76, 3.811, 5.13, 6.745, 8.665",\
                 "0.7652, 0.8215, 1.017, 1.387, 1.959, 2.76, 3.81, 5.132, 6.742, 8.661",\
                 "0.7652, 0.8211, 1.016, 1.387, 1.959, 2.759, 3.81, 5.132, 6.746, 8.665",\
                 "0.7704, 0.8242, 1.016, 1.387, 1.959, 2.76, 3.811, 5.133, 6.743, 8.662",\
                 "0.8652, 0.9128, 1.079, 1.409, 1.961, 2.76, 3.811, 5.132, 6.744, 8.663",\
                 "0.9988, 1.053, 1.231, 1.546, 2.036, 2.774, 3.811, 5.132, 6.745, 8.666",\
                 "1.148, 1.204, 1.394, 1.739, 2.234, 2.91, 3.855, 5.136, 6.744, 8.665",\
                 "1.325, 1.383, 1.58, 1.941, 2.476, 3.168, 4.049, 5.222, 6.759, 8.666",\
                 "1.531, 1.591, 1.798, 2.169, 2.724, 3.464, 4.367, 5.474, 6.892, 8.7",\
                 "1.757, 1.821, 2.043, 2.429, 2.997, 3.765, 4.727, 5.854, 7.198, 8.88");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2415, 0.2614, 0.3307, 0.462, 0.6663, 0.9522, 1.329, 1.802, 2.381, 3.071",\
                 "0.2544, 0.2746, 0.3446, 0.4766, 0.6812, 0.9674, 1.344, 1.819, 2.397, 3.087",\
                 "0.277, 0.298, 0.3698, 0.5031, 0.7089, 0.996, 1.373, 1.848, 2.428, 3.117",\
                 "0.2896, 0.3131, 0.3918, 0.532, 0.739, 1.026, 1.404, 1.878, 2.458, 3.148",\
                 "0.2803, 0.3078, 0.3974, 0.5509, 0.7727, 1.067, 1.444, 1.918, 2.496, 3.185",\
                 "0.2366, 0.2705, 0.3783, 0.5535, 0.7941, 1.107, 1.499, 1.975, 2.552, 3.24",\
                 "0.1514, 0.1928, 0.3221, 0.528, 0.7983, 1.135, 1.548, 2.045, 2.631, 3.317",\
                 "0.0263, 0.0747, 0.2256, 0.4647, 0.7725, 1.143, 1.583, 2.103, 2.713, 3.416",\
                 "-0.1422, -0.0868, 0.086, 0.3586, 0.7084, 1.121, 1.598, 2.147, 2.781, 3.51",\
                 "-0.3535, -0.2921, -0.0987, 0.2082, 0.5992, 1.06, 1.58, 2.17, 2.835, 3.59");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.436, 0.4699, 0.5865, 0.8028, 1.133, 1.592, 2.192, 2.948, 3.867, 4.96",\
                 "0.4454, 0.4795, 0.5962, 0.8127, 1.143, 1.602, 2.202, 2.956, 3.878, 4.974",\
                 "0.4968, 0.5307, 0.6471, 0.8634, 1.194, 1.652, 2.253, 3.008, 3.928, 5.019",\
                 "0.6172, 0.6499, 0.7634, 0.9764, 1.304, 1.761, 2.36, 3.113, 4.031, 5.129",\
                 "0.8096, 0.8444, 0.9618, 1.17, 1.491, 1.942, 2.536, 3.285, 4.202, 5.295",\
                 "1.042, 1.08, 1.211, 1.442, 1.77, 2.213, 2.799, 3.541, 4.451, 5.54",\
                 "1.32, 1.363, 1.505, 1.758, 2.119, 2.583, 3.162, 3.893, 4.795, 5.876",\
                 "1.648, 1.695, 1.852, 2.122, 2.513, 3.017, 3.628, 4.355, 5.245, 6.316",\
                 "2.024, 2.077, 2.247, 2.544, 2.958, 3.497, 4.156, 4.925, 5.812, 6.868",\
                 "2.45, 2.508, 2.697, 3.02, 3.464, 4.033, 4.732, 5.554, 6.489, 7.549");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.215, 0.2487, 0.3689, 0.595, 0.9473, 1.442, 2.091, 2.908, 3.909, 5.102",\
                 "0.2151, 0.2487, 0.3688, 0.5945, 0.948, 1.442, 2.092, 2.912, 3.91, 5.1",\
                 "0.2197, 0.252, 0.3692, 0.5953, 0.9495, 1.442, 2.09, 2.909, 3.907, 5.105",\
                 "0.2637, 0.2952, 0.405, 0.613, 0.9507, 1.441, 2.095, 2.912, 3.912, 5.102",\
                 "0.3414, 0.3702, 0.4744, 0.6828, 1.008, 1.467, 2.095, 2.908, 3.908, 5.101",\
                 "0.4686, 0.497, 0.5976, 0.7906, 1.11, 1.563, 2.158, 2.938, 3.91, 5.099",\
                 "0.6306, 0.6602, 0.764, 0.9558, 1.257, 1.698, 2.292, 3.041, 3.977, 5.126",\
                 "0.8212, 0.8536, 0.961, 1.162, 1.465, 1.886, 2.464, 3.213, 4.125, 5.225",\
                 "1.035, 1.068, 1.186, 1.4, 1.713, 2.137, 2.699, 3.425, 4.335, 5.424",\
                 "1.261, 1.301, 1.434, 1.663, 1.995, 2.432, 2.989, 3.698, 4.589, 5.674");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.6411, 0.6996, 0.898, 1.27, 1.843, 2.646, 3.697, 5.021, 6.637, 8.553",\
                 "0.6419, 0.6983, 0.8976, 1.27, 1.845, 2.646, 3.698, 5.022, 6.636, 8.558",\
                 "0.6411, 0.6985, 0.8972, 1.269, 1.844, 2.645, 3.698, 5.021, 6.636, 8.552",\
                 "0.6445, 0.7005, 0.8961, 1.269, 1.844, 2.646, 3.697, 5.021, 6.636, 8.557",\
                 "0.7368, 0.7872, 0.9584, 1.292, 1.844, 2.645, 3.697, 5.02, 6.634, 8.558",\
                 "0.8512, 0.9092, 1.1, 1.427, 1.92, 2.658, 3.697, 5.02, 6.633, 8.555",\
                 "0.9836, 1.044, 1.248, 1.608, 2.116, 2.793, 3.739, 5.022, 6.631, 8.555",\
                 "1.143, 1.207, 1.42, 1.797, 2.345, 3.05, 3.932, 5.106, 6.643, 8.552",\
                 "1.323, 1.393, 1.623, 2.013, 2.584, 3.338, 4.25, 5.357, 6.777, 8.584",\
                 "1.524, 1.6, 1.849, 2.262, 2.847, 3.628, 4.602, 5.735, 7.087, 8.77");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2131, 0.2297, 0.2877, 0.3978, 0.5673, 0.8058, 1.119, 1.514, 1.995, 2.57",\
                 "0.226, 0.2432, 0.3017, 0.4123, 0.5822, 0.8212, 1.134, 1.529, 2.01, 2.584",\
                 "0.2505, 0.2682, 0.3283, 0.4402, 0.6114, 0.8503, 1.164, 1.559, 2.041, 2.615",\
                 "0.2657, 0.287, 0.3562, 0.4772, 0.652, 0.8917, 1.205, 1.601, 2.083, 2.656",\
                 "0.2586, 0.2849, 0.3682, 0.5069, 0.7013, 0.9537, 1.269, 1.663, 2.145, 2.718",\
                 "0.2162, 0.2489, 0.3529, 0.5183, 0.7377, 1.013, 1.352, 1.755, 2.236, 2.808",\
                 "0.1341, 0.1738, 0.2987, 0.4971, 0.7521, 1.059, 1.424, 1.855, 2.356, 2.932",\
                 "0.0123, 0.0585, 0.2034, 0.4358, 0.7323, 1.081, 1.482, 1.943, 2.473, 3.077",\
                 "-0.1521, -0.0997, 0.0661, 0.3307, 0.6701, 1.066, 1.512, 2.012, 2.575, 3.211",\
                 "-0.359, -0.301, -0.1164, 0.1805, 0.5614, 1.008, 1.505, 2.054, 2.659, 3.329");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4841, 0.5168, 0.6302, 0.8432, 1.171, 1.629, 2.227, 2.981, 3.896, 4.993",\
                 "0.4938, 0.5266, 0.6403, 0.8533, 1.181, 1.638, 2.238, 2.991, 3.907, 5.004",\
                 "0.5456, 0.5783, 0.6916, 0.9045, 1.233, 1.689, 2.29, 3.043, 3.962, 5.055",\
                 "0.6658, 0.6976, 0.8084, 1.018, 1.343, 1.798, 2.396, 3.147, 4.068, 5.162",\
                 "0.8615, 0.8949, 1.008, 1.213, 1.532, 1.981, 2.573, 3.322, 4.236, 5.327",\
                 "1.1, 1.137, 1.264, 1.49, 1.813, 2.254, 2.838, 3.58, 4.488, 5.576",\
                 "1.385, 1.426, 1.564, 1.812, 2.168, 2.626, 3.203, 3.935, 4.835, 5.915",\
                 "1.722, 1.766, 1.916, 2.183, 2.568, 3.068, 3.674, 4.4, 5.289, 6.357",\
                 "2.108, 2.159, 2.322, 2.611, 3.021, 3.555, 4.211, 4.975, 5.861, 6.917",\
                 "2.546, 2.601, 2.782, 3.097, 3.535, 4.099, 4.795, 5.615, 6.545, 7.601");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2153, 0.2439, 0.3434, 0.5325, 0.8261, 1.237, 1.778, 2.457, 3.29, 4.281",\
                 "0.2158, 0.2437, 0.343, 0.5324, 0.8262, 1.238, 1.777, 2.458, 3.289, 4.277",\
                 "0.2239, 0.2495, 0.345, 0.5328, 0.8263, 1.236, 1.778, 2.458, 3.292, 4.279",\
                 "0.2835, 0.3078, 0.3957, 0.5617, 0.8348, 1.237, 1.778, 2.459, 3.292, 4.281",\
                 "0.386, 0.4083, 0.4888, 0.6528, 0.9142, 1.281, 1.791, 2.457, 3.286, 4.277",\
                 "0.5356, 0.5574, 0.6362, 0.789, 1.041, 1.406, 1.886, 2.508, 3.302, 4.28",\
                 "0.717, 0.7392, 0.8212, 0.9788, 1.222, 1.573, 2.053, 2.659, 3.403, 4.329",\
                 "0.9238, 0.947, 1.037, 1.204, 1.455, 1.801, 2.264, 2.866, 3.607, 4.487",\
                 "1.152, 1.178, 1.273, 1.456, 1.724, 2.081, 2.537, 3.123, 3.862, 4.743",\
                 "1.392, 1.423, 1.532, 1.733, 2.023, 2.401, 2.871, 3.451, 4.166, 5.043");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.6913, 0.7489, 0.9461, 1.319, 1.893, 2.694, 3.746, 5.069, 6.677, 8.6",\
                 "0.691, 0.7485, 0.946, 1.318, 1.892, 2.693, 3.746, 5.07, 6.678, 8.601",\
                 "0.6905, 0.7483, 0.9462, 1.318, 1.892, 2.694, 3.745, 5.069, 6.682, 8.598",\
                 "0.6939, 0.75, 0.9453, 1.318, 1.892, 2.693, 3.745, 5.07, 6.681, 8.607",\
                 "0.7796, 0.8278, 0.9992, 1.335, 1.892, 2.693, 3.744, 5.067, 6.683, 8.599",\
                 "0.8988, 0.9546, 1.141, 1.464, 1.959, 2.704, 3.744, 5.066, 6.68, 8.605",\
                 "1.026, 1.086, 1.29, 1.648, 2.15, 2.831, 3.782, 5.068, 6.677, 8.601",\
                 "1.182, 1.248, 1.456, 1.833, 2.38, 3.08, 3.967, 5.146, 6.689, 8.599",\
                 "1.363, 1.429, 1.651, 2.041, 2.613, 3.368, 4.276, 5.387, 6.815, 8.627",\
                 "1.562, 1.638, 1.877, 2.283, 2.868, 3.652, 4.627, 5.76, 7.113, 8.802");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.286, 0.3066, 0.3776, 0.5108, 0.7163, 1.003, 1.38, 1.854, 2.433, 3.122",\
                 "0.2997, 0.3205, 0.3919, 0.5256, 0.7314, 1.018, 1.395, 1.87, 2.448, 3.137",\
                 "0.3244, 0.3454, 0.4178, 0.5525, 0.7592, 1.047, 1.424, 1.898, 2.478, 3.167",\
                 "0.3437, 0.3667, 0.4439, 0.5823, 0.7895, 1.078, 1.455, 1.93, 2.508, 3.198",\
                 "0.3446, 0.3703, 0.4554, 0.6059, 0.8257, 1.118, 1.495, 1.969, 2.547, 3.237",\
                 "0.3169, 0.3476, 0.447, 0.6147, 0.8511, 1.162, 1.552, 2.026, 2.603, 3.291",\
                 "0.2503, 0.2869, 0.4045, 0.5986, 0.861, 1.192, 1.603, 2.098, 2.682, 3.368",\
                 "0.1425, 0.1852, 0.3219, 0.5466, 0.8427, 1.206, 1.641, 2.158, 2.766, 3.468",\
                 "-0.0086, 0.041, 0.1967, 0.452, 0.7877, 1.19, 1.66, 2.205, 2.837, 3.564",\
                 "-0.2038, -0.149, 0.0271, 0.3128, 0.688, 1.136, 1.648, 2.231, 2.893, 3.646");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4841, 0.5168, 0.6302, 0.8432, 1.171, 1.629, 2.227, 2.981, 3.896, 4.993",\
                 "0.4938, 0.5266, 0.6403, 0.8533, 1.181, 1.638, 2.238, 2.991, 3.907, 5.004",\
                 "0.5456, 0.5783, 0.6916, 0.9045, 1.233, 1.689, 2.29, 3.043, 3.962, 5.055",\
                 "0.6658, 0.6976, 0.8084, 1.018, 1.343, 1.798, 2.396, 3.147, 4.068, 5.162",\
                 "0.8615, 0.8949, 1.008, 1.213, 1.532, 1.981, 2.573, 3.322, 4.236, 5.327",\
                 "1.1, 1.137, 1.264, 1.49, 1.813, 2.254, 2.838, 3.58, 4.488, 5.576",\
                 "1.385, 1.426, 1.564, 1.812, 2.168, 2.626, 3.203, 3.935, 4.835, 5.915",\
                 "1.722, 1.766, 1.916, 2.183, 2.568, 3.068, 3.674, 4.4, 5.289, 6.357",\
                 "2.108, 2.159, 2.322, 2.611, 3.021, 3.555, 4.211, 4.975, 5.861, 6.917",\
                 "2.546, 2.601, 2.782, 3.097, 3.535, 4.099, 4.795, 5.615, 6.545, 7.601");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2676, 0.3017, 0.423, 0.6506, 1.004, 1.498, 2.147, 2.964, 3.962, 5.15",\
                 "0.2676, 0.3022, 0.4227, 0.6506, 1.003, 1.498, 2.147, 2.964, 3.96, 5.148",\
                 "0.2687, 0.3028, 0.4229, 0.6506, 1.004, 1.499, 2.146, 2.963, 3.96, 5.15",\
                 "0.3065, 0.3395, 0.4503, 0.663, 1.005, 1.498, 2.146, 2.964, 3.962, 5.148",\
                 "0.3744, 0.4056, 0.5158, 0.7296, 1.055, 1.518, 2.149, 2.964, 3.961, 5.151",\
                 "0.492, 0.5228, 0.6282, 0.8298, 1.154, 1.61, 2.207, 2.985, 3.963, 5.149",\
                 "0.648, 0.6796, 0.7882, 0.9872, 1.296, 1.741, 2.339, 3.089, 4.022, 5.168",\
                 "0.8318, 0.866, 0.9826, 1.188, 1.496, 1.923, 2.51, 3.259, 4.17, 5.272",\
                 "1.039, 1.077, 1.202, 1.422, 1.74, 2.171, 2.736, 3.468, 4.381, 5.47",\
                 "1.268, 1.309, 1.446, 1.685, 2.023, 2.462, 3.024, 3.737, 4.634, 5.718");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.7653, 0.8215, 1.017, 1.387, 1.959, 2.76, 3.811, 5.13, 6.745, 8.665",\
                 "0.7652, 0.8215, 1.017, 1.387, 1.959, 2.76, 3.81, 5.132, 6.742, 8.661",\
                 "0.7652, 0.8211, 1.016, 1.387, 1.959, 2.759, 3.81, 5.132, 6.746, 8.665",\
                 "0.7704, 0.8242, 1.016, 1.387, 1.959, 2.76, 3.811, 5.133, 6.743, 8.662",\
                 "0.8652, 0.9128, 1.079, 1.409, 1.961, 2.76, 3.811, 5.132, 6.744, 8.663",\
                 "0.9988, 1.053, 1.231, 1.546, 2.036, 2.774, 3.811, 5.132, 6.745, 8.666",\
                 "1.148, 1.204, 1.394, 1.739, 2.234, 2.91, 3.855, 5.136, 6.744, 8.665",\
                 "1.325, 1.383, 1.58, 1.941, 2.476, 3.168, 4.049, 5.222, 6.759, 8.666",\
                 "1.531, 1.591, 1.798, 2.169, 2.724, 3.464, 4.367, 5.474, 6.892, 8.7",\
                 "1.757, 1.821, 2.043, 2.429, 2.997, 3.765, 4.727, 5.854, 7.198, 8.88");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3307, 0.3515, 0.4233, 0.5576, 0.7641, 1.052, 1.43, 1.905, 2.484, 3.173",\
                 "0.3413, 0.3622, 0.434, 0.5686, 0.7751, 1.063, 1.441, 1.916, 2.496, 3.185",\
                 "0.3663, 0.3872, 0.4594, 0.5941, 0.801, 1.089, 1.467, 1.942, 2.522, 3.211",\
                 "0.3904, 0.4128, 0.4882, 0.6249, 0.8318, 1.12, 1.498, 1.973, 2.553, 3.242",\
                 "0.3992, 0.4239, 0.506, 0.6535, 0.8706, 1.161, 1.538, 2.012, 2.591, 3.281",\
                 "0.3881, 0.416, 0.5095, 0.6712, 0.9027, 1.21, 1.597, 2.071, 2.647, 3.335",\
                 "0.346, 0.3795, 0.4881, 0.6711, 0.9244, 1.25, 1.655, 2.146, 2.728, 3.414",\
                 "0.2727, 0.3105, 0.4355, 0.6443, 0.9269, 1.279, 1.705, 2.216, 2.819, 3.518",\
                 "0.1678, 0.2106, 0.3498, 0.5845, 0.9005, 1.286, 1.743, 2.277, 2.902, 3.623",\
                 "0.0303, 0.0773, 0.2313, 0.4895, 0.8392, 1.263, 1.757, 2.326, 2.976, 3.719");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4804, 0.514, 0.6301, 0.8462, 1.177, 1.637, 2.238, 2.994, 3.914, 5.009",\
                 "0.4926, 0.5264, 0.6425, 0.8587, 1.19, 1.649, 2.251, 3.006, 3.926, 5.022",\
                 "0.531, 0.5645, 0.681, 0.8977, 1.229, 1.689, 2.29, 3.046, 3.966, 5.061",\
                 "0.6075, 0.6406, 0.755, 0.9697, 1.299, 1.758, 2.359, 3.114, 4.033, 5.129",\
                 "0.7354, 0.7698, 0.8871, 1.1, 1.424, 1.877, 2.474, 3.226, 4.143, 5.236",\
                 "0.9077, 0.9435, 1.065, 1.287, 1.617, 2.064, 2.652, 3.397, 4.309, 5.398",\
                 "1.124, 1.163, 1.291, 1.521, 1.862, 2.322, 2.907, 3.641, 4.544, 5.625",\
                 "1.378, 1.421, 1.561, 1.806, 2.158, 2.631, 3.234, 3.968, 4.858, 5.929",\
                 "1.669, 1.716, 1.869, 2.135, 2.509, 2.995, 3.612, 4.367, 5.264, 6.321",\
                 "1.997, 2.048, 2.217, 2.506, 2.908, 3.417, 4.048, 4.82, 5.74, 6.806");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3196, 0.3546, 0.4774, 0.7065, 1.062, 1.557, 2.206, 3.025, 4.023, 5.212",\
                 "0.3196, 0.3556, 0.4773, 0.7065, 1.061, 1.556, 2.207, 3.024, 4.023, 5.213",\
                 "0.32, 0.3559, 0.4775, 0.7061, 1.061, 1.557, 2.206, 3.025, 4.024, 5.211",\
                 "0.3528, 0.3859, 0.4988, 0.7147, 1.062, 1.557, 2.205, 3.024, 4.024, 5.214",\
                 "0.4176, 0.4506, 0.5642, 0.7796, 1.106, 1.573, 2.207, 3.024, 4.023, 5.214",\
                 "0.5324, 0.5632, 0.6718, 0.8768, 1.203, 1.661, 2.263, 3.043, 4.025, 5.213",\
                 "0.6908, 0.7234, 0.8312, 1.032, 1.343, 1.792, 2.39, 3.143, 4.08, 5.231",\
                 "0.887, 0.922, 1.036, 1.237, 1.542, 1.973, 2.56, 3.309, 4.225, 5.33",\
                 "1.111, 1.148, 1.27, 1.484, 1.797, 2.221, 2.784, 3.518, 4.431, 5.521",\
                 "1.362, 1.402, 1.535, 1.763, 2.091, 2.523, 3.077, 3.786, 4.681, 5.77");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.7653, 0.8213, 1.016, 1.387, 1.959, 2.76, 3.811, 5.13, 6.742, 8.663",\
                 "0.7652, 0.8211, 1.017, 1.387, 1.959, 2.759, 3.81, 5.132, 6.743, 8.666",\
                 "0.7648, 0.8213, 1.017, 1.387, 1.959, 2.76, 3.81, 5.132, 6.745, 8.664",\
                 "0.7766, 0.83, 1.019, 1.387, 1.959, 2.76, 3.81, 5.131, 6.744, 8.663",\
                 "0.8562, 0.9052, 1.077, 1.416, 1.964, 2.76, 3.811, 5.132, 6.745, 8.663",\
                 "0.9674, 1.018, 1.191, 1.521, 2.035, 2.785, 3.812, 5.133, 6.744, 8.665",\
                 "1.117, 1.166, 1.336, 1.665, 2.177, 2.894, 3.869, 5.144, 6.746, 8.666",\
                 "1.299, 1.35, 1.524, 1.846, 2.352, 3.074, 4.015, 5.235, 6.774, 8.668",\
                 "1.504, 1.557, 1.744, 2.076, 2.572, 3.284, 4.232, 5.419, 6.902, 8.722",\
                 "1.726, 1.785, 1.986, 2.338, 2.844, 3.542, 4.482, 5.677, 7.125, 8.888");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2834, 0.3039, 0.3748, 0.5081, 0.7137, 1.001, 1.378, 1.853, 2.432, 3.123",\
                 "0.2941, 0.3146, 0.3857, 0.519, 0.7248, 1.012, 1.39, 1.865, 2.443, 3.134",\
                 "0.3183, 0.3391, 0.4107, 0.5444, 0.7506, 1.038, 1.415, 1.891, 2.47, 3.16",\
                 "0.3373, 0.3601, 0.4367, 0.5747, 0.7812, 1.069, 1.446, 1.922, 2.501, 3.191",\
                 "0.3386, 0.3645, 0.4494, 0.5991, 0.8181, 1.11, 1.487, 1.961, 2.539, 3.23",\
                 "0.3144, 0.3452, 0.4446, 0.6119, 0.8466, 1.156, 1.545, 2.019, 2.596, 3.284",\
                 "0.2578, 0.2947, 0.4117, 0.6039, 0.8641, 1.193, 1.6, 2.093, 2.677, 3.363",\
                 "0.1715, 0.2135, 0.3475, 0.5679, 0.8594, 1.218, 1.648, 2.161, 2.766, 3.466",\
                 "0.0546, 0.1014, 0.2507, 0.4986, 0.8257, 1.22, 1.682, 2.22, 2.846, 3.57",\
                 "-0.0946, -0.0431, 0.1219, 0.3944, 0.7558, 1.191, 1.692, 2.266, 2.918, 3.663");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4704, 0.5044, 0.6209, 0.8371, 1.167, 1.626, 2.226, 2.983, 3.901, 4.996",\
                 "0.4828, 0.5168, 0.6334, 0.8497, 1.18, 1.639, 2.24, 2.994, 3.915, 5.006",\
                 "0.5208, 0.5548, 0.6718, 0.8886, 1.219, 1.678, 2.279, 3.034, 3.953, 5.051",\
                 "0.5979, 0.631, 0.7457, 0.9605, 1.289, 1.747, 2.347, 3.101, 4.019, 5.115",\
                 "0.7242, 0.759, 0.8772, 1.091, 1.414, 1.866, 2.462, 3.213, 4.128, 5.224",\
                 "0.8951, 0.9315, 1.054, 1.276, 1.606, 2.053, 2.639, 3.383, 4.295, 5.384",\
                 "1.109, 1.148, 1.279, 1.509, 1.85, 2.31, 2.894, 3.627, 4.528, 5.608",\
                 "1.361, 1.403, 1.546, 1.793, 2.146, 2.618, 3.22, 3.953, 4.843, 5.914",\
                 "1.648, 1.696, 1.852, 2.12, 2.495, 2.981, 3.597, 4.352, 5.247, 6.302",\
                 "1.972, 2.025, 2.196, 2.488, 2.89, 3.402, 4.032, 4.802, 5.722, 6.787");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2683, 0.3027, 0.4238, 0.6513, 1.006, 1.501, 2.151, 2.97, 3.967, 5.158",\
                 "0.2683, 0.303, 0.423, 0.6518, 1.006, 1.501, 2.15, 2.97, 3.968, 5.158",\
                 "0.27, 0.3038, 0.424, 0.6514, 1.005, 1.502, 2.151, 2.97, 3.969, 5.157",\
                 "0.309, 0.3416, 0.4531, 0.6647, 1.008, 1.501, 2.15, 2.969, 3.969, 5.16",\
                 "0.3818, 0.4126, 0.5212, 0.7324, 1.059, 1.523, 2.154, 2.97, 3.969, 5.16",\
                 "0.507, 0.5358, 0.6398, 0.838, 1.158, 1.614, 2.213, 2.992, 3.971, 5.159",\
                 "0.6726, 0.703, 0.8072, 0.9998, 1.304, 1.748, 2.343, 3.094, 4.03, 5.179",\
                 "0.8744, 0.907, 1.016, 1.211, 1.51, 1.934, 2.514, 3.263, 4.178, 5.284",\
                 "1.106, 1.138, 1.254, 1.462, 1.768, 2.189, 2.743, 3.475, 4.386, 5.476",\
                 "1.357, 1.398, 1.522, 1.745, 2.065, 2.495, 3.044, 3.746, 4.639, 5.721");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.6418, 0.6986, 0.8969, 1.27, 1.844, 2.647, 3.699, 5.02, 6.637, 8.552",\
                 "0.6409, 0.699, 0.8968, 1.271, 1.845, 2.646, 3.697, 5.022, 6.637, 8.548",\
                 "0.6399, 0.6973, 0.8966, 1.27, 1.843, 2.645, 3.698, 5.021, 6.636, 8.557",\
                 "0.6515, 0.7055, 0.8978, 1.269, 1.843, 2.645, 3.698, 5.02, 6.636, 8.56",\
                 "0.7272, 0.779, 0.9566, 1.298, 1.848, 2.645, 3.696, 5.019, 6.634, 8.557",\
                 "0.8274, 0.8808, 1.061, 1.402, 1.918, 2.669, 3.697, 5.018, 6.633, 8.556",\
                 "0.9654, 1.018, 1.197, 1.536, 2.058, 2.779, 3.754, 5.027, 6.631, 8.553",\
                 "1.129, 1.186, 1.373, 1.708, 2.226, 2.954, 3.9, 5.118, 6.659, 8.553",\
                 "1.312, 1.373, 1.579, 1.93, 2.438, 3.16, 4.114, 5.304, 6.785, 8.609",\
                 "1.508, 1.579, 1.8, 2.178, 2.705, 3.412, 4.358, 5.559, 7.01, 8.771");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2475, 0.2646, 0.3242, 0.4353, 0.6067, 0.8462, 1.16, 1.556, 2.038, 2.613",\
                 "0.2584, 0.276, 0.3352, 0.4466, 0.6184, 0.8578, 1.172, 1.568, 2.05, 2.624",\
                 "0.2845, 0.302, 0.3621, 0.474, 0.6457, 0.8855, 1.2, 1.595, 2.078, 2.653",\
                 "0.3077, 0.3279, 0.3946, 0.5132, 0.6866, 0.9264, 1.241, 1.636, 2.119, 2.694",\
                 "0.3137, 0.3376, 0.4154, 0.5494, 0.7399, 0.9897, 1.304, 1.699, 2.181, 2.755",\
                 "0.2918, 0.3216, 0.4165, 0.5723, 0.7844, 1.056, 1.391, 1.792, 2.272, 2.845",\
                 "0.2383, 0.2737, 0.3862, 0.5702, 0.8136, 1.111, 1.471, 1.898, 2.395, 2.97",\
                 "0.1551, 0.1951, 0.3235, 0.5364, 0.8156, 1.15, 1.54, 1.994, 2.519, 3.12",\
                 "0.0414, 0.0857, 0.229, 0.4678, 0.7841, 1.16, 1.591, 2.078, 2.632, 3.262",\
                 "-0.1054, -0.0565, 0.1013, 0.3645, 0.7155, 1.136, 1.612, 2.143, 2.733, 3.395");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.5186, 0.5513, 0.6647, 0.8774, 1.205, 1.662, 2.261, 3.015, 3.932, 5.026",\
                 "0.5311, 0.5639, 0.6775, 0.8906, 1.219, 1.675, 2.275, 3.028, 3.947, 5.039",\
                 "0.5694, 0.6023, 0.7161, 0.9297, 1.258, 1.715, 2.315, 3.067, 3.986, 5.081",\
                 "0.6463, 0.6786, 0.7906, 1.002, 1.329, 1.784, 2.383, 3.137, 4.054, 5.152",\
                 "0.7761, 0.8098, 0.924, 1.133, 1.454, 1.905, 2.499, 3.248, 4.165, 5.256",\
                 "0.9517, 0.9863, 1.105, 1.323, 1.65, 2.093, 2.679, 3.422, 4.331, 5.42",\
                 "1.174, 1.211, 1.335, 1.561, 1.899, 2.355, 2.936, 3.667, 4.569, 5.649",\
                 "1.436, 1.476, 1.612, 1.852, 2.2, 2.669, 3.268, 3.999, 4.888, 5.957",\
                 "1.735, 1.78, 1.929, 2.189, 2.556, 3.038, 3.652, 4.405, 5.297, 6.352",\
                 "2.071, 2.122, 2.285, 2.568, 2.963, 3.468, 4.095, 4.864, 5.78, 6.844");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2616, 0.2901, 0.3899, 0.5799, 0.8746, 1.286, 1.827, 2.509, 3.34, 4.331",\
                 "0.2618, 0.2902, 0.3898, 0.5802, 0.8738, 1.287, 1.828, 2.509, 3.34, 4.33",\
                 "0.2656, 0.2929, 0.3908, 0.5801, 0.8739, 1.286, 1.828, 2.509, 3.34, 4.331",\
                 "0.3202, 0.3457, 0.434, 0.6032, 0.881, 1.286, 1.827, 2.508, 3.339, 4.332",\
                 "0.4176, 0.4414, 0.526, 0.6922, 0.9546, 1.325, 1.838, 2.508, 3.338, 4.331",\
                 "0.5664, 0.589, 0.6696, 0.8256, 1.08, 1.446, 1.928, 2.554, 3.352, 4.332",\
                 "0.7544, 0.7762, 0.858, 1.014, 1.256, 1.612, 2.094, 2.7, 3.45, 4.378",\
                 "0.9712, 0.9962, 1.085, 1.245, 1.492, 1.833, 2.301, 2.905, 3.649, 4.532",\
                 "1.214, 1.242, 1.337, 1.512, 1.77, 2.12, 2.573, 3.161, 3.9, 4.785",\
                 "1.483, 1.515, 1.619, 1.809, 2.085, 2.448, 2.907, 3.483, 4.202, 5.081");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.6913, 0.7474, 0.9468, 1.318, 1.893, 2.695, 3.747, 5.068, 6.676, 8.593",\
                 "0.6909, 0.7479, 0.9459, 1.319, 1.892, 2.693, 3.745, 5.07, 6.679, 8.595",\
                 "0.6908, 0.7478, 0.9457, 1.319, 1.892, 2.693, 3.745, 5.07, 6.679, 8.599",\
                 "0.699, 0.754, 0.9471, 1.317, 1.891, 2.693, 3.745, 5.069, 6.685, 8.604",\
                 "0.7696, 0.8216, 0.9992, 1.343, 1.895, 2.692, 3.744, 5.067, 6.682, 8.601",\
                 "0.8638, 0.9162, 1.102, 1.441, 1.96, 2.715, 3.744, 5.066, 6.679, 8.603",\
                 "0.9926, 1.045, 1.228, 1.569, 2.096, 2.818, 3.797, 5.074, 6.678, 8.602",\
                 "1.151, 1.208, 1.394, 1.733, 2.256, 2.989, 3.938, 5.161, 6.704, 8.601",\
                 "1.332, 1.393, 1.593, 1.94, 2.457, 3.187, 4.147, 5.341, 6.825, 8.652",\
                 "1.528, 1.596, 1.811, 2.184, 2.707, 3.426, 4.382, 5.59, 7.044, 8.812");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3307, 0.3515, 0.4233, 0.5576, 0.7641, 1.052, 1.43, 1.905, 2.484, 3.173",\
                 "0.3413, 0.3622, 0.434, 0.5686, 0.7751, 1.063, 1.441, 1.916, 2.496, 3.185",\
                 "0.3663, 0.3872, 0.4594, 0.5941, 0.801, 1.089, 1.467, 1.942, 2.522, 3.211",\
                 "0.3904, 0.4128, 0.4882, 0.6249, 0.8318, 1.12, 1.498, 1.973, 2.553, 3.242",\
                 "0.3992, 0.4239, 0.506, 0.6535, 0.8706, 1.161, 1.538, 2.012, 2.591, 3.281",\
                 "0.3881, 0.416, 0.5095, 0.6712, 0.9027, 1.21, 1.597, 2.071, 2.647, 3.335",\
                 "0.346, 0.3795, 0.4881, 0.6711, 0.9244, 1.25, 1.655, 2.146, 2.728, 3.414",\
                 "0.2727, 0.3105, 0.4355, 0.6443, 0.9269, 1.279, 1.705, 2.216, 2.819, 3.518",\
                 "0.1678, 0.2106, 0.3498, 0.5845, 0.9005, 1.286, 1.743, 2.277, 2.902, 3.623",\
                 "0.0303, 0.0773, 0.2313, 0.4895, 0.8392, 1.263, 1.757, 2.326, 2.976, 3.719");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.5186, 0.5513, 0.6647, 0.8774, 1.205, 1.662, 2.261, 3.015, 3.932, 5.026",\
                 "0.5311, 0.5639, 0.6775, 0.8906, 1.219, 1.675, 2.275, 3.028, 3.947, 5.039",\
                 "0.5694, 0.6023, 0.7161, 0.9297, 1.258, 1.715, 2.315, 3.067, 3.986, 5.081",\
                 "0.6463, 0.6786, 0.7906, 1.002, 1.329, 1.784, 2.383, 3.137, 4.054, 5.152",\
                 "0.7761, 0.8098, 0.924, 1.133, 1.454, 1.905, 2.499, 3.248, 4.165, 5.256",\
                 "0.9517, 0.9863, 1.105, 1.323, 1.65, 2.093, 2.679, 3.422, 4.331, 5.42",\
                 "1.174, 1.211, 1.335, 1.561, 1.899, 2.355, 2.936, 3.667, 4.569, 5.649",\
                 "1.436, 1.476, 1.612, 1.852, 2.2, 2.669, 3.268, 3.999, 4.888, 5.957",\
                 "1.735, 1.78, 1.929, 2.189, 2.556, 3.038, 3.652, 4.405, 5.297, 6.352",\
                 "2.071, 2.122, 2.285, 2.568, 2.963, 3.468, 4.095, 4.864, 5.78, 6.844");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3196, 0.3546, 0.4774, 0.7065, 1.062, 1.557, 2.206, 3.025, 4.023, 5.212",\
                 "0.3196, 0.3556, 0.4773, 0.7065, 1.061, 1.556, 2.207, 3.024, 4.023, 5.213",\
                 "0.32, 0.3559, 0.4775, 0.7061, 1.061, 1.557, 2.206, 3.025, 4.024, 5.211",\
                 "0.3528, 0.3859, 0.4988, 0.7147, 1.062, 1.557, 2.205, 3.024, 4.024, 5.214",\
                 "0.4176, 0.4506, 0.5642, 0.7796, 1.106, 1.573, 2.207, 3.024, 4.023, 5.214",\
                 "0.5324, 0.5632, 0.6718, 0.8768, 1.203, 1.661, 2.263, 3.043, 4.025, 5.213",\
                 "0.6908, 0.7234, 0.8312, 1.032, 1.343, 1.792, 2.39, 3.143, 4.08, 5.231",\
                 "0.887, 0.922, 1.036, 1.237, 1.542, 1.973, 2.56, 3.309, 4.225, 5.33",\
                 "1.111, 1.148, 1.27, 1.484, 1.797, 2.221, 2.784, 3.518, 4.431, 5.521",\
                 "1.362, 1.402, 1.535, 1.763, 2.091, 2.523, 3.077, 3.786, 4.681, 5.77");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.7653, 0.8213, 1.016, 1.387, 1.959, 2.76, 3.811, 5.13, 6.742, 8.663",\
                 "0.7652, 0.8211, 1.017, 1.387, 1.959, 2.759, 3.81, 5.132, 6.743, 8.666",\
                 "0.7648, 0.8213, 1.017, 1.387, 1.959, 2.76, 3.81, 5.132, 6.745, 8.664",\
                 "0.7766, 0.83, 1.019, 1.387, 1.959, 2.76, 3.81, 5.131, 6.744, 8.663",\
                 "0.8562, 0.9052, 1.077, 1.416, 1.964, 2.76, 3.811, 5.132, 6.745, 8.663",\
                 "0.9674, 1.018, 1.191, 1.521, 2.035, 2.785, 3.812, 5.133, 6.744, 8.665",\
                 "1.117, 1.166, 1.336, 1.665, 2.177, 2.894, 3.869, 5.144, 6.746, 8.666",\
                 "1.299, 1.35, 1.524, 1.846, 2.352, 3.074, 4.015, 5.235, 6.774, 8.668",\
                 "1.504, 1.557, 1.744, 2.076, 2.572, 3.284, 4.232, 5.419, 6.902, 8.722",\
                 "1.726, 1.785, 1.986, 2.338, 2.844, 3.542, 4.482, 5.677, 7.125, 8.888");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2978, 0.3184, 0.3903, 0.5247, 0.7314, 1.019, 1.397, 1.872, 2.452, 3.141",\
                 "0.3091, 0.3301, 0.4021, 0.5368, 0.7436, 1.032, 1.409, 1.884, 2.464, 3.153",\
                 "0.3413, 0.3622, 0.4345, 0.5696, 0.7768, 1.065, 1.443, 1.918, 2.498, 3.188",\
                 "0.3846, 0.4074, 0.4847, 0.622, 0.8291, 1.117, 1.495, 1.97, 2.55, 3.241",\
                 "0.4189, 0.4454, 0.5334, 0.688, 0.9093, 1.2, 1.577, 2.051, 2.63, 3.32",\
                 "0.4343, 0.4661, 0.5694, 0.7456, 0.991, 1.307, 1.697, 2.171, 2.748, 3.437",\
                 "0.4244, 0.4616, 0.5821, 0.7857, 1.062, 1.409, 1.828, 2.326, 2.908, 3.594",\
                 "0.3867, 0.4291, 0.567, 0.7999, 1.114, 1.498, 1.953, 2.484, 3.097, 3.797",\
                 "0.319, 0.366, 0.5228, 0.7848, 1.137, 1.566, 2.064, 2.634, 3.284, 4.02",\
                 "0.2214, 0.2735, 0.4452, 0.7374, 1.13, 1.605, 2.153, 2.769, 3.461, 4.238");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.253, 0.2752, 0.3531, 0.4994, 0.7245, 1.039, 1.451, 1.969, 2.602, 3.355",\
                 "0.2691, 0.2919, 0.37, 0.5166, 0.7421, 1.056, 1.469, 1.987, 2.62, 3.372",\
                 "0.3327, 0.355, 0.4332, 0.5796, 0.8051, 1.12, 1.532, 2.051, 2.683, 3.436",\
                 "0.4637, 0.4875, 0.5655, 0.7097, 0.9335, 1.246, 1.658, 2.175, 2.807, 3.56",\
                 "0.6269, 0.6561, 0.7524, 0.9167, 1.143, 1.452, 1.86, 2.376, 3.006, 3.757",\
                 "0.8201, 0.8538, 0.9652, 1.158, 1.424, 1.75, 2.155, 2.665, 3.291, 4.04",\
                 "1.045, 1.084, 1.212, 1.429, 1.731, 2.109, 2.547, 3.058, 3.678, 4.42",\
                 "1.302, 1.347, 1.493, 1.739, 2.074, 2.494, 2.99, 3.549, 4.175, 4.912",\
                 "1.593, 1.643, 1.808, 2.084, 2.456, 2.915, 3.46, 4.083, 4.768, 5.519",\
                 "1.918, 1.975, 2.158, 2.466, 2.878, 3.38, 3.969, 4.646, 5.402, 6.221");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3199, 0.3554, 0.4774, 0.7064, 1.061, 1.557, 2.206, 3.025, 4.023, 5.211",\
                 "0.3194, 0.3548, 0.4764, 0.7067, 1.061, 1.555, 2.206, 3.025, 4.023, 5.212",\
                 "0.3212, 0.3562, 0.4774, 0.7057, 1.061, 1.557, 2.206, 3.025, 4.023, 5.212",\
                 "0.3693, 0.4014, 0.5089, 0.7191, 1.063, 1.557, 2.206, 3.024, 4.023, 5.212",\
                 "0.46, 0.4912, 0.6022, 0.8064, 1.118, 1.575, 2.207, 3.025, 4.024, 5.214",\
                 "0.593, 0.6258, 0.7358, 0.9412, 1.252, 1.686, 2.268, 3.042, 4.024, 5.212",\
                 "0.7574, 0.7964, 0.9132, 1.12, 1.43, 1.866, 2.435, 3.157, 4.078, 5.225",\
                 "0.9442, 0.9852, 1.118, 1.344, 1.663, 2.093, 2.66, 3.378, 4.251, 5.333",\
                 "1.146, 1.192, 1.343, 1.592, 1.935, 2.375, 2.941, 3.654, 4.528, 5.564",\
                 "1.362, 1.414, 1.588, 1.863, 2.241, 2.71, 3.282, 3.989, 4.859, 5.898");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.496, 0.535, 0.671, 0.928, 1.324, 1.875, 2.599, 3.511, 4.62, 5.944",\
                 "0.4961, 0.535, 0.671, 0.928, 1.323, 1.875, 2.6, 3.51, 4.622, 5.947",\
                 "0.4959, 0.5347, 0.6709, 0.9279, 1.323, 1.875, 2.599, 3.511, 4.624, 5.945",\
                 "0.5556, 0.5859, 0.6975, 0.9318, 1.324, 1.875, 2.601, 3.512, 4.623, 5.948",\
                 "0.7082, 0.7394, 0.8438, 1.035, 1.362, 1.879, 2.6, 3.512, 4.623, 5.949",\
                 "0.8782, 0.9116, 1.031, 1.246, 1.546, 1.98, 2.624, 3.513, 4.623, 5.949",\
                 "1.071, 1.11, 1.234, 1.469, 1.811, 2.239, 2.801, 3.58, 4.635, 5.949",\
                 "1.294, 1.331, 1.467, 1.715, 2.084, 2.565, 3.134, 3.833, 4.767, 5.983",\
                 "1.527, 1.572, 1.726, 1.993, 2.38, 2.896, 3.53, 4.247, 5.096, 6.188",\
                 "1.78, 1.831, 2.006, 2.305, 2.711, 3.252, 3.929, 4.718, 5.591, 6.602");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2499, 0.2705, 0.3414, 0.4745, 0.6797, 0.9665, 1.343, 1.818, 2.396, 3.085",\
                 "0.2613, 0.2819, 0.3531, 0.4865, 0.6921, 0.9791, 1.356, 1.83, 2.409, 3.097",\
                 "0.2927, 0.3136, 0.3852, 0.5191, 0.725, 1.012, 1.389, 1.864, 2.442, 3.132",\
                 "0.3281, 0.3519, 0.4314, 0.5709, 0.7771, 1.064, 1.442, 1.916, 2.495, 3.184",\
                 "0.3504, 0.3789, 0.4717, 0.6306, 0.855, 1.148, 1.524, 1.997, 2.575, 3.264",\
                 "0.351, 0.3856, 0.4962, 0.6799, 0.9309, 1.25, 1.643, 2.116, 2.693, 3.38",\
                 "0.3251, 0.3658, 0.4958, 0.71, 0.9954, 1.347, 1.77, 2.27, 2.852, 3.538",\
                 "0.2719, 0.3184, 0.4669, 0.7128, 1.038, 1.43, 1.89, 2.425, 3.04, 3.741",\
                 "0.1898, 0.2423, 0.4089, 0.6861, 1.052, 1.49, 1.995, 2.57, 3.223, 3.961",\
                 "0.0779, 0.1351, 0.3211, 0.6274, 1.034, 1.521, 2.077, 2.701, 3.397, 4.175");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2473, 0.2699, 0.3478, 0.494, 0.7187, 1.032, 1.444, 1.961, 2.592, 3.344",\
                 "0.2637, 0.2864, 0.3648, 0.5112, 0.7363, 1.05, 1.461, 1.979, 2.61, 3.362",\
                 "0.3271, 0.3498, 0.4281, 0.5743, 0.7995, 1.113, 1.525, 2.042, 2.673, 3.425",\
                 "0.4574, 0.4815, 0.5602, 0.7044, 0.9277, 1.24, 1.65, 2.167, 2.798, 3.549",\
                 "0.6191, 0.6483, 0.7454, 0.9106, 1.137, 1.446, 1.853, 2.367, 2.996, 3.746",\
                 "0.8097, 0.844, 0.9567, 1.15, 1.417, 1.743, 2.148, 2.657, 3.282, 4.029",\
                 "1.032, 1.072, 1.201, 1.42, 1.723, 2.1, 2.539, 3.049, 3.668, 4.41",\
                 "1.285, 1.331, 1.479, 1.727, 2.063, 2.484, 2.98, 3.539, 4.165, 4.901",\
                 "1.572, 1.623, 1.79, 2.069, 2.443, 2.903, 3.449, 4.072, 4.758, 5.508",\
                 "1.891, 1.949, 2.137, 2.447, 2.863, 3.366, 3.956, 4.633, 5.389, 6.21");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2676, 0.3022, 0.4229, 0.6508, 1.003, 1.499, 2.146, 2.964, 3.962, 5.147",\
                 "0.2678, 0.3025, 0.4224, 0.651, 1.004, 1.498, 2.147, 2.963, 3.961, 5.149",\
                 "0.2716, 0.3049, 0.4237, 0.6503, 1.003, 1.497, 2.147, 2.964, 3.961, 5.149",\
                 "0.33, 0.3611, 0.4667, 0.6695, 1.006, 1.498, 2.146, 2.964, 3.961, 5.152",\
                 "0.4266, 0.4578, 0.5634, 0.7636, 1.073, 1.523, 2.149, 2.964, 3.961, 5.15",\
                 "0.5656, 0.5966, 0.7038, 0.9032, 1.21, 1.641, 2.217, 2.986, 3.962, 5.148",\
                 "0.7304, 0.7654, 0.8834, 1.089, 1.392, 1.825, 2.389, 3.105, 4.023, 5.165",\
                 "0.9152, 0.9558, 1.087, 1.313, 1.627, 2.056, 2.618, 3.331, 4.201, 5.276",\
                 "1.117, 1.159, 1.31, 1.561, 1.904, 2.344, 2.902, 3.612, 4.48, 5.514",\
                 "1.326, 1.382, 1.548, 1.832, 2.207, 2.673, 3.244, 3.948, 4.812, 5.848");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4155, 0.4551, 0.5919, 0.8489, 1.244, 1.796, 2.52, 3.431, 4.542, 5.866",\
                 "0.4155, 0.4549, 0.5919, 0.8494, 1.245, 1.796, 2.521, 3.43, 4.543, 5.867",\
                 "0.415, 0.4547, 0.5921, 0.8492, 1.245, 1.796, 2.52, 3.432, 4.545, 5.867",\
                 "0.4758, 0.5069, 0.6187, 0.8531, 1.245, 1.797, 2.521, 3.433, 4.543, 5.867",\
                 "0.6112, 0.6464, 0.7598, 0.9568, 1.284, 1.801, 2.521, 3.433, 4.544, 5.87",\
                 "0.7612, 0.7994, 0.9302, 1.155, 1.466, 1.902, 2.544, 3.434, 4.544, 5.868",\
                 "0.9354, 0.9782, 1.116, 1.366, 1.72, 2.158, 2.72, 3.502, 4.555, 5.869",\
                 "1.13, 1.178, 1.331, 1.596, 1.98, 2.474, 3.053, 3.754, 4.684, 5.902",\
                 "1.341, 1.394, 1.568, 1.86, 2.264, 2.794, 3.438, 4.165, 5.017, 6.111",\
                 "1.569, 1.629, 1.825, 2.147, 2.583, 3.138, 3.826, 4.63, 5.51, 6.522");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2135, 0.2311, 0.292, 0.406, 0.5818, 0.8274, 1.15, 1.556, 2.051, 2.64",\
                 "0.2261, 0.2439, 0.3049, 0.4192, 0.5952, 0.8408, 1.163, 1.569, 2.064, 2.654",\
                 "0.2601, 0.2779, 0.3393, 0.4539, 0.6303, 0.8762, 1.199, 1.605, 2.1, 2.689",\
                 "0.2924, 0.3137, 0.3839, 0.5068, 0.6847, 0.9304, 1.253, 1.659, 2.154, 2.744",\
                 "0.3069, 0.3331, 0.4174, 0.5593, 0.758, 1.015, 1.337, 1.742, 2.237, 2.826",\
                 "0.295, 0.3269, 0.4291, 0.5973, 0.8232, 1.107, 1.453, 1.864, 2.357, 2.945",\
                 "0.2521, 0.29, 0.4112, 0.6098, 0.8711, 1.188, 1.565, 2.007, 2.517, 3.106",\
                 "0.1781, 0.2217, 0.3614, 0.5901, 0.8904, 1.25, 1.665, 2.142, 2.687, 3.303",\
                 "0.0713, 0.1207, 0.2772, 0.5361, 0.8768, 1.282, 1.744, 2.262, 2.845, 3.5",\
                 "-0.0709, -0.0163, 0.1595, 0.446, 0.8281, 1.279, 1.791, 2.361, 2.989, 3.684");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2464, 0.269, 0.3469, 0.4931, 0.7178, 1.031, 1.443, 1.96, 2.591, 3.343",\
                 "0.2618, 0.2845, 0.3629, 0.5093, 0.7344, 1.048, 1.459, 1.977, 2.608, 3.36",\
                 "0.3255, 0.3481, 0.4261, 0.5724, 0.7974, 1.111, 1.523, 2.04, 2.671, 3.423",\
                 "0.4578, 0.4817, 0.5601, 0.7037, 0.9264, 1.238, 1.649, 2.165, 2.795, 3.547",\
                 "0.6234, 0.6526, 0.7486, 0.9125, 1.139, 1.446, 1.853, 2.367, 2.994, 3.745",\
                 "0.8219, 0.8557, 0.9665, 1.158, 1.422, 1.747, 2.15, 2.658, 3.282, 4.029",\
                 "1.055, 1.094, 1.221, 1.436, 1.736, 2.11, 2.546, 3.053, 3.672, 4.412",\
                 "1.324, 1.368, 1.513, 1.755, 2.086, 2.502, 2.994, 3.55, 4.174, 4.908",\
                 "1.628, 1.679, 1.842, 2.115, 2.481, 2.935, 3.474, 4.092, 4.774, 5.521",\
                 "1.973, 2.029, 2.212, 2.515, 2.92, 3.413, 3.996, 4.666, 5.416, 6.232");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2203, 0.2498, 0.3526, 0.5468, 0.8466, 1.269, 1.823, 2.518, 3.369, 4.38",\
                 "0.2203, 0.2502, 0.3525, 0.5467, 0.8478, 1.268, 1.822, 2.518, 3.369, 4.381",\
                 "0.2268, 0.254, 0.3536, 0.5462, 0.8478, 1.268, 1.823, 2.518, 3.368, 4.381",\
                 "0.2868, 0.3136, 0.4039, 0.5736, 0.8537, 1.269, 1.822, 2.518, 3.368, 4.383",\
                 "0.3838, 0.4102, 0.503, 0.672, 0.9356, 1.308, 1.831, 2.518, 3.368, 4.382",\
                 "0.5182, 0.5468, 0.6422, 0.8134, 1.076, 1.444, 1.924, 2.56, 3.377, 4.382",\
                 "0.6766, 0.7096, 0.8154, 0.998, 1.262, 1.627, 2.109, 2.713, 3.473, 4.421",\
                 "0.8538, 0.8904, 1.012, 1.214, 1.495, 1.862, 2.342, 2.949, 3.689, 4.576",\
                 "1.045, 1.088, 1.228, 1.455, 1.763, 2.147, 2.628, 3.232, 3.971, 4.854",\
                 "1.255, 1.302, 1.455, 1.711, 2.056, 2.472, 2.97, 3.575, 4.312, 5.192");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4157, 0.4549, 0.592, 0.849, 1.245, 1.796, 2.519, 3.431, 4.543, 5.867",\
                 "0.4155, 0.455, 0.592, 0.849, 1.245, 1.796, 2.52, 3.429, 4.544, 5.865",\
                 "0.4151, 0.4547, 0.5919, 0.849, 1.245, 1.796, 2.521, 3.432, 4.543, 5.863",\
                 "0.4753, 0.5064, 0.619, 0.8532, 1.245, 1.797, 2.521, 3.433, 4.543, 5.866",\
                 "0.6072, 0.6424, 0.7568, 0.9552, 1.283, 1.8, 2.521, 3.433, 4.543, 5.867",\
                 "0.751, 0.7902, 0.921, 1.15, 1.462, 1.899, 2.545, 3.434, 4.545, 5.869",\
                 "0.9184, 0.9606, 1.1, 1.351, 1.711, 2.151, 2.716, 3.5, 4.555, 5.871",\
                 "1.105, 1.152, 1.307, 1.573, 1.961, 2.462, 3.042, 3.748, 4.684, 5.902",\
                 "1.309, 1.364, 1.533, 1.823, 2.233, 2.768, 3.421, 4.149, 5.006, 6.105",\
                 "1.529, 1.588, 1.778, 2.1, 2.534, 3.098, 3.794, 4.601, 5.488, 6.508");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2503, 0.271, 0.342, 0.4753, 0.6809, 0.9684, 1.346, 1.821, 2.401, 3.09",\
                 "0.2617, 0.2823, 0.3536, 0.4873, 0.6933, 0.9807, 1.358, 1.833, 2.413, 3.103",\
                 "0.2931, 0.314, 0.3857, 0.5198, 0.7262, 1.014, 1.391, 1.867, 2.446, 3.138",\
                 "0.3285, 0.3525, 0.4318, 0.5716, 0.7783, 1.066, 1.444, 1.919, 2.498, 3.189",\
                 "0.3508, 0.3794, 0.4723, 0.6313, 0.8559, 1.149, 1.526, 2, 2.579, 3.269",\
                 "0.3515, 0.3862, 0.4968, 0.6807, 0.9319, 1.252, 1.644, 2.119, 2.696, 3.385",\
                 "0.3258, 0.3661, 0.4966, 0.7109, 0.9966, 1.348, 1.772, 2.272, 2.856, 3.543",\
                 "0.2727, 0.3192, 0.4678, 0.7139, 1.039, 1.432, 1.892, 2.427, 3.043, 3.745",\
                 "0.1909, 0.2429, 0.4112, 0.6874, 1.053, 1.493, 1.998, 2.573, 3.227, 3.966",\
                 "0.0793, 0.1364, 0.3224, 0.6289, 1.036, 1.524, 2.08, 2.703, 3.4, 4.18");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2473, 0.2699, 0.3478, 0.494, 0.7187, 1.032, 1.444, 1.961, 2.592, 3.344",\
                 "0.2638, 0.2864, 0.3648, 0.5113, 0.7363, 1.05, 1.461, 1.979, 2.61, 3.362",\
                 "0.3272, 0.3498, 0.4279, 0.5744, 0.7996, 1.113, 1.525, 2.042, 2.673, 3.425",\
                 "0.4573, 0.4815, 0.5601, 0.7043, 0.9276, 1.24, 1.65, 2.167, 2.797, 3.549",\
                 "0.6188, 0.6481, 0.7453, 0.9109, 1.137, 1.446, 1.853, 2.367, 2.996, 3.746",\
                 "0.8098, 0.844, 0.9564, 1.15, 1.417, 1.743, 2.148, 2.657, 3.282, 4.029",\
                 "1.032, 1.072, 1.201, 1.42, 1.722, 2.101, 2.539, 3.049, 3.668, 4.41",\
                 "1.285, 1.331, 1.478, 1.726, 2.063, 2.484, 2.98, 3.539, 4.165, 4.901",\
                 "1.571, 1.623, 1.79, 2.068, 2.442, 2.902, 3.449, 4.071, 4.758, 5.508",\
                 "1.891, 1.949, 2.136, 2.446, 2.862, 3.365, 3.955, 4.633, 5.389, 6.21");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2682, 0.3029, 0.4238, 0.652, 1.005, 1.502, 2.15, 2.97, 3.969, 5.159",\
                 "0.2684, 0.3031, 0.4237, 0.6516, 1.006, 1.501, 2.151, 2.97, 3.967, 5.159",\
                 "0.2722, 0.3055, 0.4246, 0.6515, 1.005, 1.5, 2.151, 2.97, 3.969, 5.159",\
                 "0.3308, 0.3617, 0.4673, 0.6706, 1.009, 1.501, 2.15, 2.969, 3.969, 5.159",\
                 "0.427, 0.4584, 0.564, 0.7652, 1.074, 1.525, 2.153, 2.969, 3.969, 5.16",\
                 "0.5662, 0.597, 0.7044, 0.904, 1.212, 1.644, 2.22, 2.991, 3.97, 5.16",\
                 "0.7308, 0.7662, 0.8838, 1.09, 1.396, 1.824, 2.394, 3.111, 4.029, 5.174",\
                 "0.9154, 0.956, 1.088, 1.314, 1.628, 2.058, 2.622, 3.336, 4.207, 5.285",\
                 "1.118, 1.163, 1.311, 1.562, 1.906, 2.345, 2.903, 3.614, 4.486, 5.522",\
                 "1.327, 1.383, 1.549, 1.835, 2.207, 2.677, 3.247, 3.95, 4.818, 5.856");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4156, 0.4551, 0.5921, 0.849, 1.245, 1.796, 2.521, 3.431, 4.545, 5.869",\
                 "0.4156, 0.455, 0.5919, 0.8495, 1.245, 1.796, 2.521, 3.43, 4.541, 5.868",\
                 "0.4152, 0.4548, 0.592, 0.8492, 1.245, 1.796, 2.521, 3.432, 4.544, 5.866",\
                 "0.4757, 0.5065, 0.6187, 0.8534, 1.245, 1.797, 2.521, 3.433, 4.544, 5.868",\
                 "0.6116, 0.6464, 0.7602, 0.957, 1.283, 1.8, 2.521, 3.432, 4.545, 5.869",\
                 "0.7614, 0.8002, 0.9292, 1.157, 1.466, 1.902, 2.545, 3.434, 4.544, 5.869",\
                 "0.9362, 0.9786, 1.117, 1.365, 1.72, 2.158, 2.72, 3.502, 4.555, 5.87",\
                 "1.131, 1.178, 1.332, 1.597, 1.981, 2.477, 3.053, 3.754, 4.686, 5.902",\
                 "1.342, 1.395, 1.569, 1.86, 2.267, 2.795, 3.438, 4.165, 5.017, 6.109",\
                 "1.569, 1.628, 1.824, 2.147, 2.583, 3.139, 3.828, 4.627, 5.51, 6.522");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2053, 0.2254, 0.2944, 0.426, 0.63, 0.9157, 1.292, 1.766, 2.344, 3.035",\
                 "0.2162, 0.2363, 0.3062, 0.4375, 0.642, 0.9282, 1.305, 1.779, 2.359, 3.047",\
                 "0.2457, 0.2666, 0.3377, 0.4699, 0.6748, 0.9619, 1.338, 1.813, 2.392, 3.083",\
                 "0.2698, 0.2951, 0.3778, 0.5205, 0.727, 1.013, 1.39, 1.864, 2.443, 3.134",\
                 "0.2772, 0.3084, 0.408, 0.5726, 0.8011, 1.096, 1.472, 1.946, 2.523, 3.213",\
                 "0.2594, 0.2982, 0.4188, 0.6132, 0.871, 1.195, 1.59, 2.065, 2.641, 3.329",\
                 "0.2163, 0.2617, 0.4045, 0.6317, 0.9275, 1.286, 1.714, 2.216, 2.801, 3.486",\
                 "0.1467, 0.1988, 0.3621, 0.623, 0.9609, 1.363, 1.829, 2.367, 2.986, 3.689",\
                 "0.0491, 0.1074, 0.2907, 0.5845, 0.9651, 1.415, 1.929, 2.509, 3.166, 3.907",\
                 "-0.0788, -0.0153, 0.1893, 0.5143, 0.9383, 1.438, 2.004, 2.635, 3.336, 4.117");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2418, 0.2645, 0.3427, 0.489, 0.7136, 1.026, 1.438, 1.955, 2.584, 3.338",\
                 "0.2582, 0.2811, 0.3596, 0.5062, 0.7311, 1.044, 1.455, 1.972, 2.603, 3.355",\
                 "0.3217, 0.3444, 0.4228, 0.569, 0.7941, 1.107, 1.519, 2.036, 2.666, 3.419",\
                 "0.4509, 0.4754, 0.5551, 0.6992, 0.9218, 1.234, 1.644, 2.16, 2.79, 3.542",\
                 "0.6102, 0.6403, 0.7386, 0.9047, 1.132, 1.44, 1.846, 2.36, 2.988, 3.736",\
                 "0.7991, 0.8339, 0.9474, 1.142, 1.41, 1.737, 2.141, 2.65, 3.274, 4.021",\
                 "1.019, 1.059, 1.19, 1.41, 1.714, 2.092, 2.531, 3.041, 3.659, 4.401",\
                 "1.268, 1.315, 1.465, 1.715, 2.052, 2.474, 2.971, 3.529, 4.155, 4.891",\
                 "1.55, 1.603, 1.772, 2.054, 2.43, 2.891, 3.438, 4.06, 4.747, 5.498",\
                 "1.866, 1.925, 2.115, 2.43, 2.846, 3.351, 3.942, 4.62, 5.376, 6.197");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2152, 0.2491, 0.368, 0.5949, 0.949, 1.442, 2.091, 2.912, 3.909, 5.1",\
                 "0.2166, 0.2493, 0.3677, 0.5949, 0.9478, 1.443, 2.093, 2.91, 3.908, 5.1",\
                 "0.2274, 0.2576, 0.3709, 0.5954, 0.949, 1.442, 2.092, 2.912, 3.912, 5.1",\
                 "0.2933, 0.3223, 0.4263, 0.6235, 0.9528, 1.442, 2.092, 2.91, 3.908, 5.106",\
                 "0.3981, 0.4268, 0.5288, 0.7244, 1.03, 1.474, 2.097, 2.908, 3.913, 5.1",\
                 "0.5428, 0.574, 0.6758, 0.8678, 1.17, 1.6, 2.171, 2.938, 3.913, 5.098",\
                 "0.7102, 0.744, 0.858, 1.061, 1.36, 1.782, 2.347, 3.061, 3.977, 5.122",\
                 "0.8938, 0.9326, 1.062, 1.285, 1.6, 2.019, 2.579, 3.29, 4.157, 5.233",\
                 "1.09, 1.134, 1.282, 1.533, 1.875, 2.309, 2.864, 3.572, 4.439, 5.471",\
                 "1.304, 1.353, 1.518, 1.804, 2.176, 2.644, 3.212, 3.911, 4.774, 5.807");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3449, 0.3841, 0.5187, 0.7734, 1.169, 1.719, 2.443, 3.354, 4.467, 5.791",\
                 "0.3447, 0.3844, 0.5186, 0.7732, 1.168, 1.719, 2.443, 3.355, 4.465, 5.792",\
                 "0.3441, 0.3834, 0.5191, 0.7741, 1.168, 1.719, 2.444, 3.355, 4.467, 5.792",\
                 "0.4029, 0.434, 0.545, 0.7777, 1.168, 1.719, 2.443, 3.355, 4.467, 5.792",\
                 "0.5188, 0.5564, 0.6784, 0.8796, 1.205, 1.722, 2.443, 3.355, 4.467, 5.792",\
                 "0.648, 0.6906, 0.8288, 1.065, 1.387, 1.824, 2.466, 3.356, 4.467, 5.793",\
                 "0.7986, 0.8458, 0.9984, 1.262, 1.63, 2.078, 2.642, 3.423, 4.476, 5.792",\
                 "0.9654, 1.021, 1.194, 1.479, 1.876, 2.386, 2.973, 3.676, 4.605, 5.824",\
                 "1.147, 1.207, 1.409, 1.724, 2.149, 2.692, 3.347, 4.085, 4.939, 6.031",\
                 "1.342, 1.413, 1.639, 1.993, 2.456, 3.026, 3.727, 4.538, 5.43, 6.443");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1767, 0.1936, 0.2528, 0.365, 0.5396, 0.7845, 1.106, 1.512, 2.008, 2.599",\
                 "0.1889, 0.206, 0.2657, 0.378, 0.5528, 0.7979, 1.12, 1.527, 2.022, 2.611",\
                 "0.2202, 0.2383, 0.2994, 0.4127, 0.5883, 0.833, 1.155, 1.562, 2.057, 2.648",\
                 "0.2412, 0.2639, 0.3373, 0.4628, 0.6421, 0.8873, 1.209, 1.615, 2.111, 2.7",\
                 "0.24, 0.2695, 0.3603, 0.5084, 0.711, 0.9705, 1.294, 1.699, 2.194, 2.784",\
                 "0.2103, 0.2464, 0.3586, 0.5368, 0.7699, 1.058, 1.407, 1.82, 2.314, 2.902",\
                 "0.1507, 0.193, 0.3263, 0.5379, 0.8095, 1.134, 1.515, 1.96, 2.473, 3.063",\
                 "0.0615, 0.1094, 0.2629, 0.5073, 0.8198, 1.189, 1.61, 2.091, 2.639, 3.258",\
                 "-0.0606, -0.0055, 0.1668, 0.4415, 0.7969, 1.213, 1.684, 2.207, 2.794, 3.451",\
                 "-0.2194, -0.158, 0.0344, 0.341, 0.7381, 1.203, 1.725, 2.302, 2.934, 3.632");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2408, 0.2636, 0.3418, 0.4881, 0.7127, 1.026, 1.436, 1.954, 2.584, 3.335",\
                 "0.2563, 0.2792, 0.3577, 0.5043, 0.7289, 1.042, 1.454, 1.969, 2.601, 3.353",\
                 "0.3201, 0.3427, 0.4209, 0.5672, 0.7919, 1.105, 1.517, 2.034, 2.665, 3.413",\
                 "0.4513, 0.4756, 0.5548, 0.6986, 0.9211, 1.233, 1.642, 2.158, 2.788, 3.537",\
                 "0.6151, 0.6448, 0.7417, 0.907, 1.133, 1.44, 1.846, 2.36, 2.987, 3.736",\
                 "0.8114, 0.8451, 0.9578, 1.15, 1.415, 1.741, 2.143, 2.651, 3.274, 4.02",\
                 "1.042, 1.082, 1.21, 1.427, 1.727, 2.101, 2.538, 3.045, 3.663, 4.405",\
                 "1.308, 1.353, 1.499, 1.744, 2.076, 2.492, 2.985, 3.541, 4.164, 4.898",\
                 "1.609, 1.661, 1.827, 2.1, 2.468, 2.923, 3.463, 4.08, 4.763, 5.51",\
                 "1.947, 2.006, 2.192, 2.498, 2.904, 3.4, 3.982, 4.653, 5.404, 6.219");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1773, 0.2054, 0.3066, 0.5003, 0.8012, 1.221, 1.775, 2.472, 3.325, 4.342",\
                 "0.1773, 0.2053, 0.3064, 0.4992, 0.7995, 1.221, 1.774, 2.475, 3.328, 4.343",\
                 "0.1919, 0.217, 0.3102, 0.5002, 0.8006, 1.221, 1.774, 2.472, 3.327, 4.339",\
                 "0.2574, 0.2824, 0.3708, 0.5369, 0.8109, 1.221, 1.777, 2.474, 3.327, 4.341",\
                 "0.3616, 0.3869, 0.474, 0.639, 0.9002, 1.268, 1.788, 2.473, 3.325, 4.34",\
                 "0.4992, 0.5266, 0.6198, 0.7856, 1.043, 1.408, 1.887, 2.524, 3.337, 4.34",\
                 "0.6604, 0.6908, 0.794, 0.9746, 1.234, 1.594, 2.075, 2.678, 3.433, 4.387",\
                 "0.837, 0.873, 0.9904, 1.19, 1.473, 1.833, 2.31, 2.915, 3.653, 4.54",\
                 "1.029, 1.069, 1.203, 1.43, 1.737, 2.125, 2.599, 3.201, 3.938, 4.821",\
                 "1.235, 1.282, 1.43, 1.691, 2.029, 2.447, 2.946, 3.547, 4.281, 5.158");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3451, 0.3839, 0.5193, 0.7735, 1.168, 1.72, 2.444, 3.354, 4.466, 5.791",\
                 "0.345, 0.3841, 0.5184, 0.7732, 1.168, 1.719, 2.443, 3.355, 4.466, 5.79",\
                 "0.3441, 0.3832, 0.5185, 0.7736, 1.168, 1.719, 2.443, 3.356, 4.466, 5.791",\
                 "0.4029, 0.4337, 0.5447, 0.778, 1.168, 1.719, 2.443, 3.356, 4.467, 5.792",\
                 "0.515, 0.5534, 0.6748, 0.8782, 1.204, 1.722, 2.443, 3.355, 4.467, 5.792",\
                 "0.6384, 0.681, 0.8218, 1.062, 1.383, 1.821, 2.465, 3.355, 4.467, 5.794",\
                 "0.7822, 0.8292, 0.9834, 1.248, 1.618, 2.071, 2.638, 3.421, 4.476, 5.793",\
                 "0.9426, 0.9962, 1.17, 1.455, 1.858, 2.369, 2.962, 3.669, 4.603, 5.821",\
                 "1.117, 1.179, 1.374, 1.69, 2.117, 2.666, 3.328, 4.069, 4.927, 6.023",\
                 "1.311, 1.379, 1.599, 1.948, 2.407, 2.986, 3.695, 4.514, 5.408, 6.43");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2148, 0.2323, 0.2915, 0.4028, 0.5746, 0.8139, 1.128, 1.524, 2.006, 2.581",\
                 "0.2263, 0.2436, 0.3034, 0.415, 0.587, 0.8264, 1.141, 1.536, 2.019, 2.594",\
                 "0.2643, 0.2819, 0.342, 0.4542, 0.626, 0.8663, 1.181, 1.576, 2.059, 2.633",\
                 "0.3108, 0.3327, 0.4044, 0.5265, 0.7, 0.9396, 1.255, 1.65, 2.133, 2.707",\
                 "0.3374, 0.3649, 0.4536, 0.6026, 0.8051, 1.058, 1.372, 1.768, 2.249, 2.824",\
                 "0.3407, 0.374, 0.481, 0.6586, 0.8972, 1.19, 1.535, 1.937, 2.418, 2.991",\
                 "0.3172, 0.3565, 0.4821, 0.6905, 0.9672, 1.303, 1.695, 2.14, 2.64, 3.214",\
                 "0.2657, 0.3104, 0.4545, 0.6936, 1.011, 1.392, 1.832, 2.329, 2.88, 3.49",\
                 "0.1858, 0.2355, 0.3973, 0.6674, 1.024, 1.454, 1.944, 2.493, 3.102, 3.767",\
                 "0.0748, 0.1302, 0.3083, 0.6078, 1.006, 1.483, 2.027, 2.632, 3.297, 4.023");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2752, 0.2973, 0.3739, 0.5186, 0.7426, 1.056, 1.466, 1.984, 2.614, 3.366",\
                 "0.2921, 0.3143, 0.3914, 0.5368, 0.7608, 1.074, 1.485, 2.002, 2.633, 3.384",\
                 "0.3556, 0.3779, 0.4546, 0.5999, 0.8241, 1.138, 1.549, 2.066, 2.697, 3.449",\
                 "0.4876, 0.5105, 0.5872, 0.7302, 0.9525, 1.264, 1.674, 2.191, 2.821, 3.573",\
                 "0.6556, 0.684, 0.7781, 0.9392, 1.163, 1.471, 1.877, 2.391, 3.02, 3.77",\
                 "0.854, 0.887, 0.9951, 1.185, 1.446, 1.77, 2.173, 2.682, 3.307, 4.053",\
                 "1.085, 1.123, 1.247, 1.461, 1.759, 2.133, 2.567, 3.076, 3.695, 4.436",\
                 "1.348, 1.392, 1.534, 1.775, 2.106, 2.522, 3.015, 3.57, 4.194, 4.929",\
                 "1.645, 1.694, 1.855, 2.126, 2.494, 2.949, 3.491, 4.109, 4.792, 5.54",\
                 "1.977, 2.032, 2.212, 2.514, 2.921, 3.419, 4.004, 4.679, 5.431, 6.248");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2617, 0.2901, 0.3896, 0.5802, 0.8738, 1.286, 1.828, 2.509, 3.34, 4.33",\
                 "0.2617, 0.2906, 0.3895, 0.579, 0.8737, 1.286, 1.827, 2.508, 3.34, 4.331",\
                 "0.2684, 0.2948, 0.3915, 0.5798, 0.8739, 1.285, 1.827, 2.509, 3.34, 4.33",\
                 "0.3532, 0.3768, 0.4582, 0.6137, 0.8813, 1.285, 1.827, 2.508, 3.34, 4.331",\
                 "0.4718, 0.4974, 0.585, 0.7478, 0.9872, 1.334, 1.836, 2.508, 3.339, 4.331",\
                 "0.6278, 0.6536, 0.7462, 0.9158, 1.173, 1.514, 1.955, 2.555, 3.347, 4.33",\
                 "0.8036, 0.8336, 0.9374, 1.12, 1.387, 1.749, 2.204, 2.755, 3.462, 4.371",\
                 "1.003, 1.036, 1.153, 1.357, 1.641, 2.018, 2.495, 3.07, 3.745, 4.57",\
                 "1.216, 1.252, 1.386, 1.616, 1.933, 2.329, 2.821, 3.421, 4.126, 4.936",\
                 "1.444, 1.489, 1.64, 1.901, 2.245, 2.681, 3.195, 3.813, 4.544, 5.385");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.4456, 0.4852, 0.6226, 0.8799, 1.276, 1.827, 2.551, 3.46, 4.576, 5.897",\
                 "0.4456, 0.4852, 0.6226, 0.8797, 1.276, 1.828, 2.552, 3.463, 4.576, 5.897",\
                 "0.4455, 0.4853, 0.6226, 0.88, 1.276, 1.827, 2.552, 3.462, 4.576, 5.896",\
                 "0.4963, 0.5281, 0.6444, 0.8827, 1.276, 1.828, 2.552, 3.464, 4.575, 5.897",\
                 "0.632, 0.667, 0.7796, 0.9772, 1.309, 1.831, 2.552, 3.464, 4.575, 5.901",\
                 "0.7808, 0.8188, 0.9502, 1.175, 1.485, 1.925, 2.574, 3.465, 4.576, 5.9",\
                 "0.9526, 0.9942, 1.134, 1.383, 1.737, 2.175, 2.742, 3.528, 4.585, 5.9",\
                 "1.147, 1.193, 1.344, 1.61, 1.996, 2.49, 3.069, 3.773, 4.709, 5.932",\
                 "1.359, 1.416, 1.581, 1.868, 2.274, 2.808, 3.451, 4.178, 5.033, 6.132",\
                 "1.587, 1.646, 1.836, 2.153, 2.587, 3.144, 3.836, 4.638, 5.518, 6.535");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1779, 0.1945, 0.2523, 0.3624, 0.5319, 0.7702, 1.083, 1.478, 1.96, 2.534",\
                 "0.1891, 0.2061, 0.2642, 0.3745, 0.5444, 0.7827, 1.096, 1.491, 1.972, 2.547",\
                 "0.2246, 0.2424, 0.3024, 0.4131, 0.5836, 0.8226, 1.136, 1.531, 2.012, 2.587",\
                 "0.2558, 0.2794, 0.3559, 0.4825, 0.6577, 0.8964, 1.21, 1.605, 2.086, 2.661",\
                 "0.2658, 0.2959, 0.3917, 0.5481, 0.7568, 1.014, 1.328, 1.722, 2.204, 2.777",\
                 "0.2512, 0.2885, 0.405, 0.5933, 0.84, 1.139, 1.488, 1.891, 2.371, 2.944",\
                 "0.211, 0.2549, 0.3919, 0.6131, 0.9008, 1.244, 1.641, 2.09, 2.593, 3.167",\
                 "0.1443, 0.1937, 0.3514, 0.605, 0.9346, 1.326, 1.772, 2.274, 2.829, 3.442",\
                 "0.0498, 0.1047, 0.2801, 0.5666, 0.9384, 1.378, 1.877, 2.433, 3.046, 3.715",\
                 "-0.0772, -0.0151, 0.1789, 0.4953, 0.9102, 1.399, 1.953, 2.565, 3.235, 3.966");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2699, 0.2921, 0.3689, 0.5137, 0.7374, 1.05, 1.46, 1.977, 2.606, 3.358",\
                 "0.2869, 0.3091, 0.3864, 0.5317, 0.7556, 1.068, 1.479, 1.996, 2.627, 3.379",\
                 "0.3503, 0.3725, 0.4495, 0.5948, 0.8189, 1.132, 1.543, 2.059, 2.691, 3.442",\
                 "0.4819, 0.5047, 0.5821, 0.7251, 0.947, 1.258, 1.668, 2.184, 2.815, 3.566",\
                 "0.6481, 0.6769, 0.7715, 0.9333, 1.157, 1.464, 1.871, 2.384, 3.013, 3.761",\
                 "0.8443, 0.8776, 0.987, 1.177, 1.44, 1.763, 2.166, 2.675, 3.298, 4.044",\
                 "1.073, 1.111, 1.236, 1.452, 1.751, 2.125, 2.559, 3.068, 3.686, 4.426",\
                 "1.332, 1.378, 1.521, 1.764, 2.096, 2.513, 3.006, 3.561, 4.185, 4.92",\
                 "1.627, 1.677, 1.839, 2.112, 2.481, 2.938, 3.479, 4.098, 4.781, 5.53",\
                 "1.954, 2.011, 2.192, 2.498, 2.906, 3.404, 3.993, 4.666, 5.418, 6.235");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2159, 0.2438, 0.3428, 0.5329, 0.8253, 1.236, 1.777, 2.458, 3.292, 4.277",\
                 "0.2159, 0.2436, 0.3434, 0.5325, 0.8268, 1.236, 1.776, 2.458, 3.291, 4.279",\
                 "0.2337, 0.2573, 0.3471, 0.5323, 0.8262, 1.237, 1.776, 2.458, 3.291, 4.283",\
                 "0.3256, 0.3484, 0.4292, 0.5793, 0.8373, 1.237, 1.777, 2.457, 3.287, 4.28",\
                 "0.4502, 0.4733, 0.558, 0.7176, 0.9564, 1.295, 1.788, 2.458, 3.289, 4.279",\
                 "0.6092, 0.6344, 0.7218, 0.8884, 1.142, 1.482, 1.919, 2.514, 3.296, 4.277",\
                 "0.7902, 0.8182, 0.9164, 1.098, 1.359, 1.717, 2.17, 2.721, 3.424, 4.324",\
                 "0.991, 1.021, 1.132, 1.332, 1.617, 1.988, 2.462, 3.038, 3.71, 4.529",\
                 "1.198, 1.236, 1.368, 1.592, 1.905, 2.3, 2.793, 3.389, 4.093, 4.903",\
                 "1.429, 1.468, 1.615, 1.868, 2.217, 2.652, 3.165, 3.782, 4.511, 5.35");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3767, 0.4152, 0.551, 0.806, 1.199, 1.751, 2.474, 3.386, 4.494, 5.82",\
                 "0.3764, 0.4152, 0.5506, 0.8048, 1.199, 1.75, 2.474, 3.385, 4.499, 5.824",\
                 "0.3762, 0.4151, 0.5499, 0.8051, 1.2, 1.751, 2.474, 3.385, 4.499, 5.823",\
                 "0.4259, 0.4572, 0.5715, 0.8078, 1.2, 1.751, 2.474, 3.387, 4.498, 5.822",\
                 "0.544, 0.5816, 0.7002, 0.9016, 1.231, 1.753, 2.474, 3.387, 4.499, 5.824",\
                 "0.6738, 0.7148, 0.8528, 1.089, 1.407, 1.847, 2.494, 3.387, 4.498, 5.824",\
                 "0.8228, 0.869, 1.02, 1.281, 1.647, 2.096, 2.662, 3.449, 4.506, 5.824",\
                 "0.993, 1.045, 1.213, 1.494, 1.893, 2.402, 2.987, 3.694, 4.631, 5.852",\
                 "1.177, 1.237, 1.426, 1.737, 2.161, 2.707, 3.361, 4.096, 4.955, 6.052",\
                 "1.377, 1.444, 1.657, 2.005, 2.459, 3.032, 3.739, 4.549, 5.438, 6.457");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1506, 0.1641, 0.2113, 0.3006, 0.4393, 0.6335, 0.8894, 1.211, 1.604, 2.072",\
                 "0.1632, 0.1769, 0.2245, 0.3144, 0.453, 0.6473, 0.9028, 1.224, 1.618, 2.086",\
                 "0.2008, 0.2162, 0.2663, 0.3567, 0.4963, 0.6909, 0.9464, 1.269, 1.662, 2.13",\
                 "0.2268, 0.2482, 0.3163, 0.4274, 0.5762, 0.7714, 1.027, 1.349, 1.742, 2.21",\
                 "0.2278, 0.2558, 0.3433, 0.4838, 0.6687, 0.8916, 1.155, 1.477, 1.869, 2.337",\
                 "0.2004, 0.2351, 0.343, 0.5157, 0.7383, 1.004, 1.31, 1.655, 2.05, 2.517",\
                 "0.1434, 0.1842, 0.3129, 0.5175, 0.7812, 1.091, 1.445, 1.84, 2.275, 2.755",\
                 "0.0565, 0.1025, 0.2499, 0.4873, 0.7915, 1.15, 1.553, 2, 2.489, 3.022",\
                 "-0.0639, -0.0116, 0.1538, 0.4206, 0.7673, 1.173, 1.629, 2.13, 2.677, 3.268",\
                 "-0.2204, -0.1627, 0.0223, 0.3195, 0.7062, 1.161, 1.67, 2.229, 2.833, 3.484");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2689, 0.2911, 0.368, 0.5129, 0.7363, 1.049, 1.459, 1.977, 2.605, 3.36",\
                 "0.2848, 0.3072, 0.3844, 0.5299, 0.7538, 1.067, 1.477, 1.993, 2.624, 3.377",\
                 "0.3486, 0.3708, 0.4477, 0.5927, 0.8169, 1.13, 1.54, 2.057, 2.686, 3.439",\
                 "0.482, 0.5051, 0.5819, 0.7243, 0.9458, 1.257, 1.666, 2.182, 2.813, 3.561",\
                 "0.6529, 0.6813, 0.7749, 0.9354, 1.158, 1.465, 1.871, 2.384, 3.012, 3.762",\
                 "0.8564, 0.8888, 0.9965, 1.185, 1.446, 1.767, 2.169, 2.677, 3.3, 4.046",\
                 "1.096, 1.133, 1.256, 1.468, 1.764, 2.135, 2.567, 3.074, 3.691, 4.431",\
                 "1.372, 1.414, 1.555, 1.793, 2.12, 2.533, 3.021, 3.573, 4.195, 4.926",\
                 "1.684, 1.733, 1.892, 2.159, 2.519, 2.97, 3.507, 4.121, 4.798, 5.544",\
                 "2.035, 2.09, 2.267, 2.565, 2.965, 3.455, 4.034, 4.702, 5.448, 6.26");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.1652, 0.1885, 0.269, 0.4229, 0.6612, 0.9975, 1.437, 1.989, 2.669, 3.471",\
                 "0.1654, 0.1882, 0.269, 0.4236, 0.661, 0.9963, 1.435, 1.989, 2.664, 3.472",\
                 "0.192, 0.2098, 0.2779, 0.4235, 0.662, 0.9956, 1.435, 1.99, 2.666, 3.471",\
                 "0.2852, 0.3044, 0.371, 0.491, 0.6873, 0.999, 1.436, 1.99, 2.665, 3.47",\
                 "0.4084, 0.4285, 0.5, 0.6324, 0.8296, 1.09, 1.469, 1.994, 2.664, 3.471",\
                 "0.5614, 0.5834, 0.6638, 0.8022, 1.014, 1.294, 1.643, 2.094, 2.701, 3.477",\
                 "0.7348, 0.761, 0.8478, 1.01, 1.232, 1.531, 1.905, 2.354, 2.888, 3.577",\
                 "0.9256, 0.9554, 1.055, 1.235, 1.486, 1.802, 2.198, 2.671, 3.225, 3.862",\
                 "1.132, 1.164, 1.279, 1.485, 1.764, 2.114, 2.529, 3.027, 3.609, 4.272",\
                 "1.352, 1.39, 1.52, 1.751, 2.065, 2.452, 2.904, 3.421, 4.029, 4.723");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3772, 0.4155, 0.55, 0.8054, 1.199, 1.752, 2.474, 3.387, 4.494, 5.825",\
                 "0.3769, 0.4157, 0.5501, 0.8056, 1.2, 1.751, 2.474, 3.384, 4.499, 5.823",\
                 "0.3762, 0.4151, 0.5506, 0.8048, 1.2, 1.751, 2.476, 3.384, 4.494, 5.823",\
                 "0.4255, 0.4571, 0.5709, 0.8071, 1.199, 1.751, 2.475, 3.387, 4.499, 5.818",\
                 "0.541, 0.5778, 0.699, 0.9002, 1.231, 1.753, 2.475, 3.387, 4.5, 5.823",\
                 "0.6642, 0.7056, 0.8474, 1.083, 1.402, 1.845, 2.494, 3.387, 4.498, 5.823",\
                 "0.8072, 0.8526, 1.006, 1.267, 1.638, 2.088, 2.659, 3.447, 4.506, 5.824",\
                 "0.9706, 1.023, 1.189, 1.473, 1.872, 2.385, 2.976, 3.687, 4.626, 5.851",\
                 "1.147, 1.208, 1.395, 1.705, 2.128, 2.678, 3.34, 4.079, 4.943, 6.048",\
                 "1.34, 1.408, 1.618, 1.959, 2.412, 2.991, 3.706, 4.522, 5.417, 6.441");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2978, 0.3184, 0.3903, 0.5247, 0.7314, 1.019, 1.397, 1.872, 2.452, 3.141",\
                 "0.3091, 0.3301, 0.4021, 0.5368, 0.7436, 1.032, 1.409, 1.884, 2.464, 3.153",\
                 "0.3413, 0.3622, 0.4345, 0.5696, 0.7768, 1.065, 1.443, 1.918, 2.498, 3.188",\
                 "0.3846, 0.4074, 0.4847, 0.622, 0.8291, 1.117, 1.495, 1.97, 2.55, 3.241",\
                 "0.4189, 0.4454, 0.5334, 0.688, 0.9093, 1.2, 1.577, 2.051, 2.63, 3.32",\
                 "0.4343, 0.4661, 0.5694, 0.7456, 0.991, 1.307, 1.697, 2.171, 2.748, 3.437",\
                 "0.4244, 0.4616, 0.5821, 0.7857, 1.062, 1.409, 1.828, 2.326, 2.908, 3.594",\
                 "0.3867, 0.4291, 0.567, 0.7999, 1.114, 1.498, 1.953, 2.484, 3.097, 3.797",\
                 "0.319, 0.366, 0.5228, 0.7848, 1.137, 1.566, 2.064, 2.634, 3.284, 4.02",\
                 "0.2214, 0.2735, 0.4452, 0.7374, 1.13, 1.605, 2.153, 2.769, 3.461, 4.238");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.2689, 0.2911, 0.368, 0.5129, 0.7363, 1.049, 1.459, 1.977, 2.605, 3.36",\
                 "0.2848, 0.3072, 0.3844, 0.5299, 0.7538, 1.067, 1.477, 1.993, 2.624, 3.377",\
                 "0.3486, 0.3708, 0.4477, 0.5927, 0.8169, 1.13, 1.54, 2.057, 2.686, 3.439",\
                 "0.482, 0.5051, 0.5819, 0.7243, 0.9458, 1.257, 1.666, 2.182, 2.813, 3.561",\
                 "0.6529, 0.6813, 0.7749, 0.9354, 1.158, 1.465, 1.871, 2.384, 3.012, 3.762",\
                 "0.8564, 0.8888, 0.9965, 1.185, 1.446, 1.767, 2.169, 2.677, 3.3, 4.046",\
                 "1.096, 1.133, 1.256, 1.468, 1.764, 2.135, 2.567, 3.074, 3.691, 4.431",\
                 "1.372, 1.414, 1.555, 1.793, 2.12, 2.533, 3.021, 3.573, 4.195, 4.926",\
                 "1.684, 1.733, 1.892, 2.159, 2.519, 2.97, 3.507, 4.121, 4.798, 5.544",\
                 "2.035, 2.09, 2.267, 2.565, 2.965, 3.455, 4.034, 4.702, 5.448, 6.26");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.3199, 0.3554, 0.4774, 0.7064, 1.061, 1.557, 2.206, 3.025, 4.023, 5.211",\
                 "0.3194, 0.3548, 0.4764, 0.7067, 1.061, 1.555, 2.206, 3.025, 4.023, 5.212",\
                 "0.3212, 0.3562, 0.4774, 0.7057, 1.061, 1.557, 2.206, 3.025, 4.023, 5.212",\
                 "0.3693, 0.4014, 0.5089, 0.7191, 1.063, 1.557, 2.206, 3.024, 4.023, 5.212",\
                 "0.46, 0.4912, 0.6022, 0.8064, 1.118, 1.575, 2.207, 3.025, 4.024, 5.214",\
                 "0.593, 0.6258, 0.7358, 0.9412, 1.252, 1.686, 2.268, 3.042, 4.024, 5.212",\
                 "0.7574, 0.7964, 0.9132, 1.12, 1.43, 1.866, 2.435, 3.157, 4.078, 5.225",\
                 "0.9442, 0.9852, 1.118, 1.344, 1.663, 2.093, 2.66, 3.378, 4.251, 5.333",\
                 "1.146, 1.192, 1.343, 1.592, 1.935, 2.375, 2.941, 3.654, 4.528, 5.564",\
                 "1.362, 1.414, 1.588, 1.863, 2.241, 2.71, 3.282, 3.989, 4.859, 5.898");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002214, 0.006477, 0.01462, 0.0273, 0.0451, 0.06851, 0.09801, 0.134, 0.177");
          values("0.496, 0.535, 0.671, 0.928, 1.324, 1.875, 2.599, 3.511, 4.62, 5.944",\
                 "0.4961, 0.535, 0.671, 0.928, 1.323, 1.875, 2.6, 3.51, 4.622, 5.947",\
                 "0.4959, 0.5347, 0.6709, 0.9279, 1.323, 1.875, 2.599, 3.511, 4.624, 5.945",\
                 "0.5556, 0.5859, 0.6975, 0.9318, 1.324, 1.875, 2.601, 3.512, 4.623, 5.948",\
                 "0.7082, 0.7394, 0.8438, 1.035, 1.362, 1.879, 2.6, 3.512, 4.623, 5.949",\
                 "0.8782, 0.9116, 1.031, 1.246, 1.546, 1.98, 2.624, 3.513, 4.623, 5.949",\
                 "1.071, 1.11, 1.234, 1.469, 1.811, 2.239, 2.801, 3.58, 4.635, 5.949",\
                 "1.294, 1.331, 1.467, 1.715, 2.084, 2.565, 3.134, 3.833, 4.767, 5.983",\
                 "1.527, 1.572, 1.726, 1.993, 2.38, 2.896, 3.53, 4.247, 5.096, 6.188",\
                 "1.78, 1.831, 2.006, 2.305, 2.711, 3.252, 3.929, 4.718, 5.591, 6.602");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai221_2) {
    area : 50.489600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C" ;
      value : "6.57195e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C" ;
      value : "6.58251e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C" ;
      value : "6.57195e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C" ;
      value : "6.57195e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C" ;
      value : "6.57195e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C" ;
      value : "0.0001141899" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C" ;
      value : "0.0001617429" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C" ;
      value : "0.0001142724" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C" ;
      value : "0.0001482723" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C" ;
      value : "0.0001142724" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C" ;
      value : "0.0001194996" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C" ;
      value : "0.0001142724" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C" ;
      value : "0.0001194996" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C" ;
      value : "0.0001141899" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C" ;
      value : "0.0001617429" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C" ;
      value : "0.0001142724" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C" ;
      value : "0.0001194996" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C" ;
      value : "0.0001142724" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C" ;
      value : "9.07302e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C" ;
      value : "0.0001142724" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C" ;
      value : "9.07302e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C" ;
      value : "0.0001145694" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C" ;
      value : "0.0001622148" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C" ;
      value : "0.0001146519" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C" ;
      value : "0.0001194996" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C" ;
      value : "0.0001146519" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C" ;
      value : "9.07302e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C" ;
      value : "0.0001146519" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C" ;
      value : "9.07302e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001622148" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009387 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03351, 0.03349, 0.03341, 0.03329, 0.03323, 0.03325, 0.03326, \
                 0.03324, 0.03327, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01142, 0.01148, 0.01148, 0.01135, 0.01125, 0.01124, 0.01112, \
                 0.01108, 0.01098, 0.01085");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03352, 0.03348, 0.03345, 0.03337, 0.0333, 0.03331, 0.03327, \
                 0.03325, 0.03325, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06722, 0.06727, 0.06724, 0.06714, 0.06704, 0.06694, 0.06676, \
                 0.06653, 0.0663, 0.06604");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03351, 0.03345, 0.03341, 0.0333, 0.03325, 0.03327, 0.03326, \
                 0.03324, 0.03326, 0.03328");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01143, 0.01148, 0.01146, 0.01137, 0.01127, 0.01123, 0.01112, \
                 0.01105, 0.01095, 0.01082");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03349, 0.03347, 0.03343, 0.03331, 0.03325, 0.03328, 0.03328, \
                 0.03324, 0.03327, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01145, 0.01147, 0.01146, 0.01135, 0.01126, 0.01124, 0.01112, \
                 0.01104, 0.01097, 0.01084");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0335, 0.03347, 0.03342, 0.03332, 0.03324, 0.03327, 0.03328, \
                 0.03324, 0.03326, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01145, 0.01147, 0.01145, 0.01134, 0.01126, 0.01124, 0.01112, \
                 0.01104, 0.01097, 0.01083");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03362, 0.0336, 0.03362, 0.03354, 0.03346, 0.03346, 0.0334, 0.03338, \
                 0.03331, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03217, -0.03219, -0.03231, -0.03254, -0.03265, -0.03279, -0.03283, \
                 -0.03286, -0.03286, -0.03288");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03378, 0.0338, 0.03381, 0.03377, 0.03366, 0.03364, 0.03357, \
                 0.03354, 0.03346, 0.0334");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03206, -0.03219, -0.03238, -0.03258, -0.0327, -0.03279, -0.03284, \
                 -0.03287, -0.03288, -0.03291");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03365, 0.03365, 0.03366, 0.03358, 0.03352, 0.03348, 0.03343, \
                 0.03341, 0.03335, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03212, -0.03217, -0.03233, -0.03253, -0.03264, -0.0328, -0.03283, \
                 -0.03285, -0.03287, -0.03288");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02403, 0.024, 0.02395, 0.02395, 0.02394, 0.02397, 0.02394, 0.02391, \
                 0.02387, 0.02382");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009554, -0.009571, -0.009585, -0.009585, -0.009591, -0.009623, \
                 -0.009628, -0.009627, -0.009622, -0.00962");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03363, 0.03364, 0.03366, 0.03358, 0.03351, 0.03348, 0.03341, \
                 0.03338, 0.03332, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03212, -0.03228, -0.03239, -0.03257, -0.03267, -0.0328, -0.03285, \
                 -0.03287, -0.0329, -0.0329");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.024, 0.02397, 0.02396, 0.02395, 0.02397, 0.02394, 0.02392, \
                 0.02387, 0.02382");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009553, -0.00957, -0.009593, -0.009584, -0.009606, -0.009622, \
                 -0.009629, -0.009623, -0.009624, -0.009621");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03362, 0.03364, 0.03366, 0.03359, 0.03352, 0.03348, 0.03341, \
                 0.03339, 0.03332, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03212, -0.03227, -0.03237, -0.03258, -0.03269, -0.03281, -0.03284, \
                 -0.03287, -0.0329, -0.0329");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.024, 0.02398, 0.02397, 0.02392, 0.02396, 0.02395, 0.02392, \
                 0.02388, 0.02383");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009552, -0.009571, -0.009577, -0.009583, -0.009603, -0.009632, \
                 -0.009621, -0.009628, -0.009617, -0.009616");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008478 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03334, 0.03338, 0.03328, 0.03332, 0.03326, 0.0333, 0.03326, \
                 0.03324, 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01168, 0.0116, 0.01153, 0.01146, 0.01135, 0.01124, 0.01113, \
                 0.01107, 0.01096, 0.01085");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03335, 0.03336, 0.0333, 0.03334, 0.0333, 0.03326, 0.03327, 0.03328, \
                 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06756, 0.06745, 0.06737, 0.06722, 0.06718, 0.06697, 0.06675, \
                 0.06657, 0.06632, 0.06606");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03334, 0.03335, 0.03329, 0.03331, 0.03328, 0.03326, 0.03328, \
                 0.03323, 0.03327, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0117, 0.01162, 0.01155, 0.01147, 0.01135, 0.01124, 0.01117, \
                 0.01107, 0.01098, 0.01085");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03334, 0.03339, 0.03329, 0.03332, 0.03329, 0.0333, 0.03328, \
                 0.03329, 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01169, 0.0116, 0.01153, 0.01145, 0.01135, 0.01123, 0.01114, \
                 0.01106, 0.01098, 0.01082");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03334, 0.03336, 0.03329, 0.03332, 0.03327, 0.03329, 0.03327, \
                 0.0333, 0.03327, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01169, 0.01161, 0.01153, 0.01145, 0.01136, 0.01123, 0.01114, \
                 0.01106, 0.01098, 0.01082");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03356, 0.03347, 0.03345, 0.03351, 0.03345, 0.03342, 0.03342, \
                 0.03336, 0.03334, 0.03324");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0318, -0.0318, -0.03223, -0.03247, -0.03261, -0.03272, -0.03275, \
                 -0.03283, -0.03283, -0.03285");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0337, 0.03362, 0.03361, 0.03361, 0.03362, 0.03354, 0.03355, \
                 0.03346, 0.03344, 0.03339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03176, -0.03181, -0.03223, -0.03252, -0.03263, -0.03277, -0.03278, \
                 -0.03283, -0.03286, -0.03288");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03357, 0.03349, 0.03347, 0.03354, 0.0334, 0.03348, 0.03344, \
                 0.03337, 0.03333, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03179, -0.03179, -0.0322, -0.03247, -0.03262, -0.03273, -0.03276, \
                 -0.03282, -0.03283, -0.03284");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02914, 0.02916, 0.02912, 0.02913, 0.02917, 0.02926, 0.02922, \
                 0.02918, 0.02918, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02442, -0.02648, -0.028, -0.02833, -0.0285, -0.02863, -0.0287, \
                 -0.02875, -0.02879, -0.02881");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03357, 0.03349, 0.03351, 0.03351, 0.03344, 0.03346, 0.0334, \
                 0.03336, 0.03333, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03178, -0.03184, -0.03222, -0.0325, -0.03263, -0.03274, -0.03276, \
                 -0.03284, -0.03283, -0.03288");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02914, 0.02916, 0.02912, 0.02913, 0.02918, 0.02925, 0.02921, \
                 0.0292, 0.02918, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02444, -0.02648, -0.02799, -0.02833, -0.0285, -0.02864, -0.02868, \
                 -0.02876, -0.02879, -0.02882");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03357, 0.03349, 0.03351, 0.0335, 0.03344, 0.03346, 0.0334, 0.03336, \
                 0.03332, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03178, -0.03184, -0.03227, -0.0325, -0.03262, -0.03274, -0.03276, \
                 -0.03282, -0.03284, -0.03286");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02914, 0.02916, 0.02911, 0.02913, 0.02919, 0.02924, 0.0292, \
                 0.0292, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02441, -0.02648, -0.02799, -0.02834, -0.02849, -0.02865, -0.02868, \
                 -0.02875, -0.02878, -0.02881");
        }
      }
    }

    pin(B1) {
      capacitance : 0.00899 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02942, 0.02942, 0.02937, 0.02926, 0.0292, 0.02924, 0.02921, \
                 0.02924, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0294, -0.0294, -0.02927, -0.02919, -0.02912, -0.02918, -0.02918, \
                 -0.02914, -0.02914, -0.02913");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02946, 0.02943, 0.02939, 0.02933, 0.02926, 0.02927, 0.02923, \
                 0.02924, 0.02923, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02945, -0.02943, -0.02937, -0.02932, -0.02923, -0.02923, -0.02921, \
                 -0.02918, -0.02916, -0.02918");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02934, 0.02933, 0.02938, 0.02929, 0.02921, 0.02922, 0.02921, \
                 0.02921, 0.0292, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0281, -0.02809, -0.02825, -0.02847, -0.02859, -0.02872, -0.02876, \
                 -0.02879, -0.0288, -0.02884");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02939, 0.0294, 0.02942, 0.02938, 0.02932, 0.0293, 0.02926, 0.02925, \
                 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.028, -0.02808, -0.02832, -0.02854, -0.02866, -0.02873, -0.02878, \
                 -0.02879, -0.02883, -0.02884");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02944, 0.02945, 0.02938, 0.02928, 0.02921, 0.02925, 0.02923, \
                 0.02923, 0.02921, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0294, -0.02941, -0.0293, -0.02922, -0.02919, -0.02919, -0.02917, \
                 -0.02917, -0.02914, -0.02918");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02937, 0.02936, 0.02939, 0.02934, 0.02926, 0.02925, 0.02923, \
                 0.02922, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02803, -0.02806, -0.02826, -0.02851, -0.02858, -0.02872, -0.02877, \
                 -0.0288, -0.02881, -0.02882");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0239, 0.02387, 0.02385, 0.02383, 0.0238, 0.02383, 0.02381, 0.02377, \
                 0.02373, 0.02368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009574, -0.009562, -0.009567, -0.009601, -0.009582, -0.009612, \
                 -0.009604, -0.009608, -0.009608, -0.009609");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02944, 0.02944, 0.0294, 0.02928, 0.02921, 0.02925, 0.02922, \
                 0.02923, 0.02921, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0294, -0.0294, -0.0293, -0.02922, -0.02916, -0.02918, -0.02918, \
                 -0.02918, -0.02915, -0.02915");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02935, 0.02935, 0.0294, 0.02933, 0.02925, 0.02924, 0.02923, \
                 0.02921, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02805, -0.0281, -0.02827, -0.02847, -0.02861, -0.02873, -0.02878, \
                 -0.0288, -0.02882, -0.02883");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0239, 0.02387, 0.02385, 0.02383, 0.0238, 0.02381, 0.02381, 0.02378, \
                 0.02374, 0.02369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009573, -0.009562, -0.009567, -0.009589, -0.009579, -0.009604, \
                 -0.009599, -0.009606, -0.009608, -0.009609");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02944, 0.02943, 0.0294, 0.02928, 0.02921, 0.02925, 0.02922, \
                 0.02923, 0.02921, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0294, -0.02941, -0.0293, -0.02922, -0.02918, -0.0292, -0.02918, \
                 -0.02918, -0.02914, -0.02915");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02935, 0.02935, 0.0294, 0.02934, 0.02925, 0.02923, 0.02922, \
                 0.02923, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02805, -0.0281, -0.02827, -0.02848, -0.02859, -0.02871, -0.02877, \
                 -0.0288, -0.0288, -0.02884");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0239, 0.02387, 0.02385, 0.02381, 0.0238, 0.02382, 0.0238, 0.02378, \
                 0.02374, 0.0237");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009571, -0.009562, -0.00956, -0.009572, -0.009582, -0.00961, \
                 -0.009613, -0.009612, -0.00961, -0.009615");
        }
      }
    }

    pin(B2) {
      capacitance : 0.009003 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02927, 0.02924, 0.02926, 0.02928, 0.0292, 0.02926, 0.02921, \
                 0.02922, 0.02919, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02912, -0.02919, -0.02918, -0.02913, -0.02911, -0.02913, -0.02916, \
                 -0.02916, -0.02914, -0.02915");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02932, 0.02927, 0.02929, 0.0293, 0.02923, 0.02925, 0.02924, \
                 0.02922, 0.02923, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02916, -0.02923, -0.02925, -0.02921, -0.02915, -0.02921, -0.02919, \
                 -0.02917, -0.02917, -0.02917");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02913, 0.02918, 0.02921, 0.02919, 0.02919, 0.02922, \
                 0.02921, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02764, -0.02762, -0.02808, -0.02834, -0.02847, -0.02866, -0.02869, \
                 -0.02876, -0.0288, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02911, 0.02915, 0.02914, 0.02917, 0.02919, 0.02922, \
                 0.02921, 0.02922, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02765, -0.02765, -0.02801, -0.02837, -0.02847, -0.02864, -0.0287, \
                 -0.02878, -0.02878, -0.02882");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02929, 0.02924, 0.02932, 0.02931, 0.02918, 0.02924, 0.02922, \
                 0.02923, 0.02919, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02915, -0.02921, -0.02921, -0.02915, -0.02913, -0.02915, -0.02917, \
                 -0.02916, -0.02915, -0.02916");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0292, 0.02913, 0.02918, 0.02921, 0.02919, 0.02919, 0.02921, \
                 0.02922, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02766, -0.02763, -0.02808, -0.02835, -0.02847, -0.02866, -0.02869, \
                 -0.02876, -0.0288, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02922, 0.02911, 0.0292, 0.02915, 0.02917, 0.02922, 0.02924, \
                 0.02921, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02441, -0.02645, -0.02802, -0.02837, -0.02849, -0.02864, -0.02868, \
                 -0.02876, -0.02877, -0.0288");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02929, 0.02924, 0.02929, 0.02929, 0.02922, 0.02924, 0.02921, \
                 0.02921, 0.02921, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02915, -0.02921, -0.02919, -0.02916, -0.02913, -0.02917, -0.02918, \
                 -0.02916, -0.02914, -0.02923");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02913, 0.02918, 0.0292, 0.02919, 0.02919, 0.02921, \
                 0.02922, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02764, -0.02762, -0.02808, -0.02834, -0.02847, -0.02866, -0.0287, \
                 -0.02875, -0.0288, -0.02881");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02911, 0.02919, 0.02915, 0.02916, 0.0292, 0.02922, \
                 0.02921, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02442, -0.02645, -0.02802, -0.02837, -0.02849, -0.02863, -0.02869, \
                 -0.02876, -0.02876, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02929, 0.02924, 0.02929, 0.02929, 0.02923, 0.02924, 0.02921, \
                 0.02922, 0.02921, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02914, -0.02921, -0.02921, -0.02916, -0.02913, -0.02917, -0.02918, \
                 -0.02916, -0.02914, -0.02917");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02913, 0.02918, 0.0292, 0.02919, 0.02919, 0.02921, \
                 0.02922, 0.02921, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02766, -0.02763, -0.02809, -0.02835, -0.02847, -0.02866, -0.0287, \
                 -0.02876, -0.0288, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02922, 0.02911, 0.02918, 0.02917, 0.02921, 0.02922, 0.02922, \
                 0.02922, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0244, -0.02645, -0.02803, -0.02836, -0.0285, -0.02867, -0.02871, \
                 -0.02877, -0.0288, -0.0288");
        }
      }
    }

    pin(C) {
      capacitance : 0.008235 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03193, 0.03207, 0.03212, 0.03217, 0.03228, 0.03243, 0.03255, \
                 0.03259, 0.03265, 0.03256");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02639, -0.02638, -0.02631, -0.02623, -0.02616, -0.02621, -0.0262, \
                 -0.02617, -0.02617, -0.0262");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03047, 0.02725, 0.02635, 0.02628, 0.02624, 0.02626, 0.02625, \
                 0.02625, 0.02624, 0.02623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02634, -0.02633, -0.02629, -0.02626, -0.02618, -0.02622, -0.0262, \
                 -0.02618, -0.02616, -0.02616");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0305, 0.02728, 0.02639, 0.02628, 0.02626, 0.02626, 0.02625, \
                 0.02625, 0.02624, 0.02623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02633, -0.02633, -0.02628, -0.02624, -0.02617, -0.02621, -0.0262, \
                 -0.02618, -0.02616, -0.02616");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02993, 0.02679, 0.02635, 0.02631, 0.02624, 0.02627, 0.02624, \
                 0.02624, 0.02624, 0.02623");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02635, -0.02635, -0.0263, -0.02627, -0.02619, -0.02621, -0.02619, \
                 -0.02617, -0.02615, -0.02616");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02713, 0.02712, 0.02707, 0.02702, 0.02692, 0.02693, 0.02689, \
                 0.02683, 0.02678, 0.02671");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0004913, -0.0004995, -0.000486, -0.0005101, -0.0005615, -0.0007166, \
                 -0.0008435, -0.0009921, -0.001176, -0.001476");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02715, 0.02714, 0.02707, 0.02702, 0.02694, 0.02691, 0.02687, \
                 0.02685, 0.02677, 0.02674");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0004939, -0.0005028, -0.0004867, -0.0005018, -0.0005618, -0.0007203, \
                 -0.000835, -0.0009959, -0.001168, -0.001454");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02708, 0.02708, 0.02703, 0.02694, 0.02688, 0.02686, 0.02681, \
                 0.02678, 0.02672, 0.02664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0004074, -0.0004192, -0.0004035, -0.0004357, -0.0004946, -0.0006466, \
                 -0.0007696, -0.0009376, -0.001131, -0.00143");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|((!B1)&(!B2))|(!C))" ;
      max_capacitance : 0.3152 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.04841, 0.04847, 0.04859, 0.0487, 0.04883, 0.04889, 0.04891, 0.04893, 0.04895, 0.04893",\
                 "0.04888, 0.04898, 0.04927, 0.04966, 0.04991, 0.05007, 0.05019, 0.05023, 0.0503, 0.05027",\
                 "0.05025, 0.0503, 0.05047, 0.05064, 0.05092, 0.05107, 0.05118, 0.05127, 0.05134, 0.05132",\
                 "0.0563, 0.05604, 0.05541, 0.05472, 0.05405, 0.0535, 0.05311, 0.05282, 0.05261, 0.05243",\
                 "0.07101, 0.07026, 0.06813, 0.06545, 0.0628, 0.06067, 0.05886, 0.05746, 0.05638, 0.05556",\
                 "0.0968, 0.09535, 0.09116, 0.08568, 0.08015, 0.07519, 0.07103, 0.06763, 0.06486, 0.06266",\
                 "0.1346, 0.1326, 0.1263, 0.1174, 0.108, 0.09942, 0.0919, 0.08552, 0.08028, 0.07589",\
                 "0.1854, 0.1828, 0.1744, 0.162, 0.1482, 0.1352, 0.1235, 0.1133, 0.1045, 0.09711",\
                 "0.2498, 0.2466, 0.2363, 0.2206, 0.2022, 0.184, 0.1673, 0.1524, 0.1395, 0.1282",\
                 "0.3281, 0.3244, 0.3125, 0.2936, 0.2708, 0.247, 0.2248, 0.2046, 0.1866, 0.1707");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1501, 0.1504, 0.1513, 0.152, 0.1529, 0.1535, 0.1543, 0.1551, 0.1565, 0.1593",\
                 "0.1487, 0.1492, 0.1507, 0.1522, 0.1536, 0.1548, 0.1556, 0.1569, 0.1578, 0.1612",\
                 "0.1493, 0.1496, 0.1503, 0.1516, 0.1531, 0.1545, 0.1558, 0.1569, 0.1585, 0.1617",\
                 "0.1586, 0.1581, 0.157, 0.156, 0.156, 0.1564, 0.1571, 0.1579, 0.1591, 0.1625",\
                 "0.1789, 0.1777, 0.1745, 0.1703, 0.167, 0.1648, 0.1634, 0.1627, 0.1626, 0.1663",\
                 "0.2114, 0.2094, 0.2038, 0.1966, 0.1891, 0.183, 0.1783, 0.1747, 0.173, 0.1757",\
                 "0.2569, 0.2543, 0.2465, 0.2357, 0.2243, 0.2138, 0.2044, 0.1972, 0.1917, 0.1931",\
                 "0.3163, 0.3131, 0.3032, 0.2888, 0.2731, 0.258, 0.2441, 0.2318, 0.2227, 0.2238",\
                 "0.3903, 0.3865, 0.3748, 0.357, 0.337, 0.3167, 0.2979, 0.2805, 0.2666, 0.2702",\
                 "0.4799, 0.4755, 0.4621, 0.4414, 0.4167, 0.3913, 0.3671, 0.3445, 0.3281, 0.3405");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.02653, 0.02662, 0.02679, 0.02693, 0.02704, 0.02709, 0.02713, 0.02715, 0.02717, 0.02718",\
                 "0.02662, 0.02686, 0.02731, 0.02776, 0.02807, 0.02826, 0.02837, 0.02847, 0.0285, 0.02852",\
                 "0.028, 0.02807, 0.02839, 0.02874, 0.02906, 0.02925, 0.02939, 0.02947, 0.02955, 0.02957",\
                 "0.03519, 0.03477, 0.034, 0.03311, 0.03237, 0.0318, 0.03138, 0.03108, 0.03083, 0.03067",\
                 "0.05191, 0.05078, 0.04802, 0.04467, 0.04162, 0.03927, 0.03736, 0.03585, 0.03471, 0.03387",\
                 "0.07989, 0.07802, 0.07275, 0.06609, 0.05975, 0.0543, 0.04984, 0.04627, 0.04337, 0.04109",\
                 "0.1199, 0.1174, 0.1098, 0.09923, 0.08874, 0.07929, 0.07125, 0.06456, 0.059, 0.0545",\
                 "0.1727, 0.1695, 0.1596, 0.1454, 0.1301, 0.1159, 0.1034, 0.09268, 0.08361, 0.07595",\
                 "0.2387, 0.2349, 0.2231, 0.2055, 0.1853, 0.1656, 0.148, 0.1324, 0.119, 0.1074",\
                 "0.3185, 0.3142, 0.3008, 0.2799, 0.2551, 0.2299, 0.2063, 0.1852, 0.1667, 0.1504");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1292, 0.1296, 0.1303, 0.1311, 0.1318, 0.1325, 0.1329, 0.1336, 0.1346, 0.1373",\
                 "0.1278, 0.1283, 0.1297, 0.1313, 0.1326, 0.1336, 0.1343, 0.1351, 0.1362, 0.1389",\
                 "0.1284, 0.1286, 0.1293, 0.1306, 0.1321, 0.1335, 0.1345, 0.1356, 0.1372, 0.1407",\
                 "0.1378, 0.1373, 0.1361, 0.135, 0.1349, 0.1352, 0.1358, 0.1365, 0.1378, 0.1419",\
                 "0.158, 0.1567, 0.1536, 0.1494, 0.1459, 0.1434, 0.1421, 0.1413, 0.1413, 0.1446",\
                 "0.1907, 0.1887, 0.1829, 0.1756, 0.1686, 0.1619, 0.1569, 0.1532, 0.1516, 0.1538",\
                 "0.2367, 0.2339, 0.2259, 0.2147, 0.2033, 0.1931, 0.1831, 0.1758, 0.17, 0.1718",\
                 "0.2965, 0.2932, 0.2828, 0.2681, 0.2521, 0.2371, 0.2232, 0.2104, 0.2007, 0.2007",\
                 "0.371, 0.3671, 0.3549, 0.3365, 0.3161, 0.2957, 0.2769, 0.2596, 0.245, 0.2467",\
                 "0.461, 0.4565, 0.4425, 0.4212, 0.3961, 0.3705, 0.3458, 0.3237, 0.3067, 0.3161");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.02649, 0.02658, 0.02676, 0.02691, 0.02702, 0.02709, 0.02713, 0.02716, 0.02718, 0.02719",\
                 "0.02661, 0.02685, 0.02732, 0.02776, 0.02808, 0.02825, 0.02837, 0.02845, 0.0285, 0.02853",\
                 "0.02811, 0.02823, 0.02854, 0.02886, 0.02909, 0.0293, 0.02942, 0.0295, 0.02955, 0.02958",\
                 "0.0357, 0.03525, 0.03442, 0.0335, 0.03267, 0.0321, 0.03158, 0.03125, 0.03096, 0.03082",\
                 "0.05303, 0.05193, 0.04912, 0.04566, 0.04258, 0.04004, 0.038, 0.03644, 0.03522, 0.03424",\
                 "0.08205, 0.08011, 0.07477, 0.06798, 0.06152, 0.05588, 0.05127, 0.04753, 0.04449, 0.04208",\
                 "0.1233, 0.1207, 0.113, 0.1024, 0.09165, 0.08201, 0.07377, 0.06687, 0.06108, 0.05642",\
                 "0.1777, 0.1744, 0.1646, 0.1502, 0.1347, 0.1201, 0.1074, 0.09638, 0.087, 0.0791",\
                 "0.2456, 0.2418, 0.23, 0.2122, 0.1919, 0.1719, 0.1539, 0.138, 0.1242, 0.1122",\
                 "0.3278, 0.3235, 0.31, 0.2889, 0.2641, 0.2386, 0.2146, 0.193, 0.1738, 0.1572");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1292, 0.1296, 0.1303, 0.1311, 0.1318, 0.1322, 0.1328, 0.1336, 0.1354, 0.137",\
                 "0.1274, 0.1279, 0.1294, 0.1309, 0.1322, 0.1331, 0.1341, 0.1348, 0.1359, 0.1389",\
                 "0.1278, 0.128, 0.1286, 0.1298, 0.1313, 0.1328, 0.1337, 0.1351, 0.1365, 0.1401",\
                 "0.1381, 0.1375, 0.136, 0.1348, 0.1344, 0.1345, 0.1351, 0.1357, 0.1368, 0.14",\
                 "0.1597, 0.1583, 0.1548, 0.1503, 0.1464, 0.1436, 0.1418, 0.1413, 0.1411, 0.1436",\
                 "0.1937, 0.1918, 0.1858, 0.1784, 0.1707, 0.1636, 0.1583, 0.1544, 0.1516, 0.1535",\
                 "0.2414, 0.2385, 0.2305, 0.2193, 0.2077, 0.1968, 0.1865, 0.1781, 0.1724, 0.1723",\
                 "0.3033, 0.2998, 0.2897, 0.275, 0.2589, 0.2434, 0.2287, 0.2155, 0.205, 0.2042",\
                 "0.3805, 0.3765, 0.3641, 0.3458, 0.3254, 0.3049, 0.2857, 0.2679, 0.2524, 0.2529",\
                 "0.4735, 0.469, 0.4548, 0.4334, 0.4085, 0.3827, 0.3581, 0.3352, 0.3176, 0.3263");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.06881, 0.0688, 0.06878, 0.06879, 0.06884, 0.06886, 0.06883, 0.06885, 0.06884, 0.06879",\
                 "0.06711, 0.06711, 0.06714, 0.06717, 0.06724, 0.06723, 0.06727, 0.06729, 0.06729, 0.06719",\
                 "0.0669, 0.0668, 0.0667, 0.0665, 0.06643, 0.06633, 0.06627, 0.06623, 0.06621, 0.06614",\
                 "0.073, 0.07263, 0.07174, 0.07054, 0.06941, 0.06852, 0.06785, 0.06739, 0.06705, 0.06681",\
                 "0.0894, 0.08841, 0.08581, 0.08241, 0.079, 0.07623, 0.07395, 0.07224, 0.07092, 0.0699",\
                 "0.1183, 0.1166, 0.112, 0.1053, 0.09859, 0.0924, 0.08744, 0.08328, 0.08003, 0.07745",\
                 "0.1613, 0.159, 0.1521, 0.1418, 0.1305, 0.1199, 0.1108, 0.1031, 0.09687, 0.09172",\
                 "0.2195, 0.2166, 0.2073, 0.1932, 0.177, 0.1611, 0.1467, 0.1343, 0.1238, 0.1151",\
                 "0.2935, 0.29, 0.2786, 0.2608, 0.2394, 0.2177, 0.1971, 0.1789, 0.1632, 0.1497",\
                 "0.3837, 0.3797, 0.3666, 0.3453, 0.3191, 0.291, 0.264, 0.2389, 0.2169, 0.1976");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1713, 0.1716, 0.1723, 0.1729, 0.1737, 0.1743, 0.175, 0.1759, 0.1769, 0.18",\
                 "0.1694, 0.1701, 0.1716, 0.1731, 0.1744, 0.1755, 0.1765, 0.1774, 0.1786, 0.1819",\
                 "0.1669, 0.1674, 0.1689, 0.1708, 0.1729, 0.1746, 0.1761, 0.1774, 0.1789, 0.1827",\
                 "0.1736, 0.1733, 0.1729, 0.1731, 0.174, 0.1751, 0.1764, 0.1776, 0.1791, 0.183",\
                 "0.1939, 0.1927, 0.1899, 0.1867, 0.1844, 0.1827, 0.1821, 0.1821, 0.1826, 0.1862",\
                 "0.2296, 0.2276, 0.2218, 0.2145, 0.2077, 0.202, 0.1977, 0.1949, 0.193, 0.1959",\
                 "0.2811, 0.2784, 0.2699, 0.2581, 0.2461, 0.2355, 0.2266, 0.2191, 0.2138, 0.2151",\
                 "0.349, 0.3457, 0.3349, 0.3188, 0.3013, 0.2849, 0.2705, 0.2577, 0.2479, 0.2474",\
                 "0.4338, 0.4298, 0.4171, 0.3975, 0.3744, 0.3516, 0.3311, 0.3126, 0.2977, 0.2973",\
                 "0.5361, 0.5316, 0.5172, 0.4944, 0.4663, 0.4371, 0.4096, 0.3851, 0.3656, 0.3696");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.04701, 0.04701, 0.04702, 0.04701, 0.04703, 0.04704, 0.04704, 0.04705, 0.04706, 0.04708",\
                 "0.04525, 0.04528, 0.04533, 0.04536, 0.04541, 0.04543, 0.04547, 0.0455, 0.0455, 0.04552",\
                 "0.04515, 0.04509, 0.04489, 0.04472, 0.04463, 0.04454, 0.04453, 0.04449, 0.04446, 0.04444",\
                 "0.05238, 0.05187, 0.05061, 0.04914, 0.04786, 0.04688, 0.04619, 0.04566, 0.04528, 0.04505",\
                 "0.07071, 0.06954, 0.0661, 0.06196, 0.05809, 0.05498, 0.0525, 0.05064, 0.04928, 0.04822",\
                 "0.1021, 0.1001, 0.09414, 0.08631, 0.07856, 0.07179, 0.06634, 0.06202, 0.05859, 0.05588",\
                 "0.1475, 0.1447, 0.1364, 0.1243, 0.1117, 0.1001, 0.09031, 0.0822, 0.07573, 0.0704",\
                 "0.2078, 0.2044, 0.1936, 0.1775, 0.1596, 0.1424, 0.127, 0.114, 0.1031, 0.09404",\
                 "0.2837, 0.2796, 0.2667, 0.2469, 0.2236, 0.2001, 0.1785, 0.1593, 0.1429, 0.1291",\
                 "0.3755, 0.3709, 0.3563, 0.333, 0.3045, 0.2748, 0.2462, 0.2202, 0.1973, 0.1776");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1503, 0.1507, 0.1513, 0.1519, 0.1525, 0.153, 0.1536, 0.1542, 0.1553, 0.158",\
                 "0.1485, 0.1491, 0.1506, 0.1522, 0.1534, 0.1543, 0.1553, 0.1559, 0.1571, 0.16",\
                 "0.146, 0.1464, 0.148, 0.1499, 0.1518, 0.1536, 0.1547, 0.1558, 0.1573, 0.1605",\
                 "0.1528, 0.1525, 0.1521, 0.1522, 0.1529, 0.1539, 0.1551, 0.1564, 0.1574, 0.1612",\
                 "0.173, 0.1718, 0.169, 0.1659, 0.1633, 0.1616, 0.1608, 0.1607, 0.1614, 0.1641",\
                 "0.209, 0.2069, 0.201, 0.1936, 0.1869, 0.181, 0.1764, 0.1732, 0.1714, 0.1738",\
                 "0.2611, 0.2582, 0.2493, 0.2374, 0.2252, 0.2147, 0.2054, 0.1977, 0.1921, 0.193",\
                 "0.3295, 0.3258, 0.3147, 0.2982, 0.2803, 0.2639, 0.2493, 0.2368, 0.2259, 0.2244",\
                 "0.4146, 0.4104, 0.3973, 0.3769, 0.3535, 0.3304, 0.3101, 0.2917, 0.2764, 0.2741",\
                 "0.5172, 0.5126, 0.4979, 0.4742, 0.4456, 0.416, 0.3882, 0.3639, 0.3441, 0.3462");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.04697, 0.04697, 0.04699, 0.04701, 0.04701, 0.04704, 0.04705, 0.04704, 0.04706, 0.04707",\
                 "0.04524, 0.04526, 0.04531, 0.04537, 0.0454, 0.04546, 0.04546, 0.04548, 0.04549, 0.04549",\
                 "0.04528, 0.04522, 0.04508, 0.04484, 0.04472, 0.04463, 0.04456, 0.04455, 0.04452, 0.04449",\
                 "0.05286, 0.05236, 0.05105, 0.04949, 0.04819, 0.04713, 0.04637, 0.04581, 0.04545, 0.04515",\
                 "0.07199, 0.07078, 0.06732, 0.06299, 0.05898, 0.05577, 0.05316, 0.05121, 0.04972, 0.04862",\
                 "0.1046, 0.1026, 0.09654, 0.0886, 0.08052, 0.07349, 0.06786, 0.06335, 0.05976, 0.05691",\
                 "0.1518, 0.149, 0.1404, 0.1282, 0.1154, 0.1034, 0.0932, 0.08486, 0.07801, 0.07242",\
                 "0.2144, 0.2108, 0.1999, 0.1836, 0.1653, 0.1476, 0.1318, 0.1183, 0.107, 0.09757",\
                 "0.2929, 0.2888, 0.2758, 0.2556, 0.2319, 0.208, 0.1857, 0.166, 0.149, 0.1346",\
                 "0.3881, 0.3835, 0.3687, 0.3449, 0.3161, 0.2857, 0.2567, 0.2299, 0.2063, 0.1858");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1503, 0.1507, 0.1513, 0.1519, 0.1525, 0.153, 0.1536, 0.1542, 0.1553, 0.158",\
                 "0.1481, 0.1488, 0.1503, 0.1518, 0.153, 0.1539, 0.1548, 0.1556, 0.1567, 0.16",\
                 "0.1454, 0.1458, 0.1471, 0.1491, 0.1511, 0.1528, 0.1541, 0.1551, 0.157, 0.1599",\
                 "0.1527, 0.1523, 0.1518, 0.1516, 0.1522, 0.1533, 0.1542, 0.1557, 0.1566, 0.1598",\
                 "0.1745, 0.1733, 0.1702, 0.1666, 0.1636, 0.1615, 0.1605, 0.1604, 0.1605, 0.1644",\
                 "0.2126, 0.2103, 0.2041, 0.1963, 0.189, 0.1826, 0.1775, 0.174, 0.1718, 0.1738",\
                 "0.2672, 0.2641, 0.2553, 0.2426, 0.23, 0.2188, 0.2088, 0.2005, 0.1944, 0.1943",\
                 "0.3386, 0.3349, 0.3236, 0.3068, 0.2885, 0.2714, 0.2561, 0.2425, 0.2308, 0.2286",\
                 "0.4274, 0.4232, 0.4097, 0.3891, 0.3653, 0.3419, 0.3205, 0.3011, 0.285, 0.2815",\
                 "0.5345, 0.5297, 0.5146, 0.4907, 0.4619, 0.4319, 0.4033, 0.3781, 0.3577, 0.3583");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.04847, 0.04853, 0.04869, 0.04885, 0.04897, 0.04902, 0.04909, 0.0491, 0.04913, 0.0491",\
                 "0.04853, 0.04871, 0.04917, 0.04964, 0.04994, 0.05015, 0.0503, 0.05039, 0.05044, 0.05045",\
                 "0.04681, 0.04712, 0.04796, 0.04898, 0.04976, 0.05033, 0.0507, 0.05096, 0.05113, 0.05122",\
                 "0.04758, 0.04774, 0.04834, 0.04915, 0.04982, 0.0504, 0.0508, 0.05108, 0.0513, 0.05144",\
                 "0.0574, 0.05717, 0.05661, 0.05589, 0.05541, 0.05494, 0.05445, 0.05408, 0.05373, 0.05346",\
                 "0.07949, 0.07869, 0.07633, 0.07312, 0.07011, 0.06737, 0.06503, 0.06303, 0.06128, 0.05986",\
                 "0.1153, 0.1138, 0.1094, 0.1032, 0.09656, 0.09049, 0.08509, 0.0804, 0.07646, 0.07305",\
                 "0.1658, 0.1637, 0.1573, 0.1476, 0.1368, 0.1263, 0.1169, 0.1086, 0.1014, 0.09511",\
                 "0.2316, 0.229, 0.2204, 0.2073, 0.192, 0.1765, 0.1621, 0.1493, 0.138, 0.128",\
                 "0.3134, 0.3101, 0.2996, 0.2831, 0.2632, 0.2424, 0.2225, 0.2043, 0.1879, 0.1734");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2699, 0.2699, 0.27, 0.2703, 0.2706, 0.2711, 0.2718, 0.2726, 0.2738, 0.2771",\
                 "0.2676, 0.2676, 0.2678, 0.2682, 0.2686, 0.2691, 0.2698, 0.2706, 0.2718, 0.2753",\
                 "0.2667, 0.2668, 0.2668, 0.2671, 0.2674, 0.2681, 0.2687, 0.2696, 0.2707, 0.2747",\
                 "0.2744, 0.274, 0.2728, 0.2716, 0.2708, 0.2703, 0.2703, 0.2706, 0.2717, 0.2756",\
                 "0.294, 0.293, 0.2901, 0.2862, 0.2825, 0.2794, 0.2774, 0.2765, 0.2762, 0.2799",\
                 "0.327, 0.3255, 0.3208, 0.3138, 0.3061, 0.2993, 0.2936, 0.2898, 0.2872, 0.2901",\
                 "0.3743, 0.3722, 0.3656, 0.3557, 0.344, 0.3326, 0.3222, 0.3135, 0.3078, 0.3095",\
                 "0.437, 0.4344, 0.4263, 0.4131, 0.3973, 0.3808, 0.3653, 0.3515, 0.3408, 0.3424",\
                 "0.5159, 0.5131, 0.5033, 0.4872, 0.4673, 0.4457, 0.4247, 0.4051, 0.3899, 0.3934",\
                 "0.6118, 0.6084, 0.5975, 0.579, 0.5551, 0.5284, 0.5017, 0.4765, 0.4573, 0.4711");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.02645, 0.02661, 0.02678, 0.02692, 0.02703, 0.0271, 0.02715, 0.02717, 0.0272, 0.0272",\
                 "0.0261, 0.02641, 0.0271, 0.02764, 0.02798, 0.02823, 0.02836, 0.02843, 0.02851, 0.02855",\
                 "0.02356, 0.02405, 0.02532, 0.02668, 0.02768, 0.02833, 0.02873, 0.029, 0.02919, 0.02932",\
                 "0.02475, 0.02498, 0.0258, 0.02683, 0.02771, 0.02837, 0.02883, 0.02914, 0.02936, 0.02951",\
                 "0.03607, 0.03571, 0.03495, 0.03413, 0.03353, 0.03305, 0.0326, 0.0322, 0.03187, 0.03158",\
                 "0.06011, 0.05908, 0.05604, 0.05237, 0.04897, 0.046, 0.04346, 0.04133, 0.03957, 0.03811",\
                 "0.09807, 0.09629, 0.09099, 0.08371, 0.07634, 0.06969, 0.06398, 0.0591, 0.05494, 0.05145",\
                 "0.1508, 0.1482, 0.1406, 0.1296, 0.1176, 0.1064, 0.09636, 0.0877, 0.08021, 0.07378",\
                 "0.2188, 0.2155, 0.2056, 0.1909, 0.1741, 0.1575, 0.1424, 0.129, 0.1172, 0.107",\
                 "0.3024, 0.2986, 0.2866, 0.2683, 0.2467, 0.2246, 0.2035, 0.1846, 0.1677, 0.1528");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2492, 0.2491, 0.2492, 0.2494, 0.2499, 0.2505, 0.2512, 0.2521, 0.2532, 0.2558",\
                 "0.2468, 0.2468, 0.2471, 0.2473, 0.2479, 0.2486, 0.2492, 0.2501, 0.2513, 0.2535",\
                 "0.2459, 0.2459, 0.246, 0.2462, 0.2468, 0.2473, 0.2481, 0.249, 0.2503, 0.2529",\
                 "0.2536, 0.2531, 0.252, 0.2508, 0.25, 0.2496, 0.2497, 0.25, 0.2509, 0.2547",\
                 "0.2734, 0.2723, 0.2694, 0.2654, 0.2617, 0.2587, 0.257, 0.2558, 0.2552, 0.2588",\
                 "0.3062, 0.3048, 0.3, 0.293, 0.2854, 0.2786, 0.2729, 0.269, 0.2664, 0.2686",\
                 "0.3537, 0.3516, 0.345, 0.3349, 0.3233, 0.3117, 0.3013, 0.2928, 0.2867, 0.2873",\
                 "0.4166, 0.414, 0.4057, 0.3924, 0.3765, 0.3602, 0.3446, 0.3307, 0.3193, 0.3201",\
                 "0.4955, 0.4925, 0.4829, 0.4668, 0.4468, 0.4249, 0.404, 0.3843, 0.3686, 0.3705",\
                 "0.5913, 0.588, 0.577, 0.5584, 0.5346, 0.5077, 0.4808, 0.4551, 0.4357, 0.4468");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.02647, 0.02656, 0.02674, 0.02693, 0.02703, 0.02709, 0.02713, 0.02716, 0.02719, 0.0272",\
                 "0.02611, 0.02641, 0.02709, 0.02764, 0.02797, 0.02823, 0.02834, 0.02843, 0.02849, 0.02853",\
                 "0.02362, 0.02411, 0.02544, 0.02676, 0.02773, 0.02836, 0.02875, 0.02902, 0.02919, 0.02932",\
                 "0.02526, 0.0255, 0.02629, 0.02723, 0.02805, 0.02864, 0.02904, 0.02931, 0.02947, 0.0296",\
                 "0.03725, 0.03692, 0.03611, 0.0352, 0.03449, 0.03383, 0.0333, 0.03274, 0.03233, 0.03196",\
                 "0.06193, 0.06087, 0.05788, 0.05413, 0.05054, 0.04738, 0.04466, 0.04239, 0.04048, 0.03888",\
                 "0.1005, 0.09867, 0.09349, 0.0861, 0.07858, 0.07173, 0.06578, 0.06071, 0.05638, 0.05272",\
                 "0.1537, 0.1512, 0.1436, 0.1326, 0.1205, 0.109, 0.09876, 0.08987, 0.08216, 0.0755",\
                 "0.2222, 0.219, 0.2091, 0.1944, 0.1775, 0.1608, 0.1454, 0.1317, 0.1197, 0.1093",\
                 "0.3064, 0.3026, 0.2907, 0.2722, 0.2507, 0.2284, 0.207, 0.1879, 0.1706, 0.1556");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2667, 0.2667, 0.2668, 0.2671, 0.2675, 0.268, 0.269, 0.2692, 0.2699, 0.2733",\
                 "0.2645, 0.2646, 0.2648, 0.2651, 0.2656, 0.2663, 0.2671, 0.2679, 0.2686, 0.2719",\
                 "0.2638, 0.2639, 0.264, 0.2641, 0.2647, 0.2652, 0.2662, 0.2672, 0.2682, 0.2717",\
                 "0.2714, 0.2709, 0.27, 0.2689, 0.2681, 0.2678, 0.2679, 0.2684, 0.2695, 0.2726",\
                 "0.2909, 0.2899, 0.2874, 0.2838, 0.2804, 0.2773, 0.2753, 0.2742, 0.2737, 0.2767",\
                 "0.3236, 0.3223, 0.3179, 0.3116, 0.3046, 0.2979, 0.2923, 0.2882, 0.2856, 0.288",\
                 "0.3708, 0.3689, 0.3627, 0.3538, 0.3431, 0.3319, 0.3221, 0.3133, 0.3071, 0.3077",\
                 "0.4333, 0.431, 0.4236, 0.4114, 0.3965, 0.3812, 0.366, 0.3526, 0.3419, 0.3417",\
                 "0.5122, 0.5093, 0.5004, 0.4859, 0.4672, 0.4469, 0.4268, 0.408, 0.3923, 0.3944",\
                 "0.6077, 0.6047, 0.5947, 0.5773, 0.5551, 0.5301, 0.5047, 0.4807, 0.461, 0.4731");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.06859, 0.06861, 0.06862, 0.06869, 0.06876, 0.06878, 0.06876, 0.06878, 0.06877, 0.06876",\
                 "0.06682, 0.06687, 0.06693, 0.06705, 0.06717, 0.06723, 0.06722, 0.06726, 0.06726, 0.06721",\
                 "0.06485, 0.06492, 0.06516, 0.06549, 0.06566, 0.06582, 0.06595, 0.066, 0.06607, 0.06603",\
                 "0.06558, 0.06562, 0.06569, 0.06574, 0.06577, 0.06581, 0.06581, 0.06587, 0.06586, 0.06586",\
                 "0.07604, 0.07561, 0.07456, 0.07313, 0.07176, 0.07069, 0.06965, 0.06888, 0.06829, 0.06779",\
                 "0.1008, 0.09988, 0.09696, 0.09281, 0.0885, 0.0847, 0.08136, 0.07866, 0.0764, 0.07455",\
                 "0.1422, 0.1405, 0.1354, 0.1278, 0.1195, 0.1114, 0.1042, 0.09824, 0.09321, 0.08903",\
                 "0.2016, 0.1993, 0.1916, 0.18, 0.1667, 0.1534, 0.1412, 0.1306, 0.1215, 0.1137",\
                 "0.2798, 0.2766, 0.2665, 0.2506, 0.2319, 0.2128, 0.1947, 0.1782, 0.1636, 0.1511",\
                 "0.3767, 0.373, 0.3604, 0.3405, 0.3164, 0.2909, 0.2661, 0.243, 0.222, 0.2037");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2908, 0.2908, 0.2908, 0.2911, 0.2915, 0.292, 0.2926, 0.2934, 0.2945, 0.2984",\
                 "0.2886, 0.2887, 0.2888, 0.2891, 0.2894, 0.29, 0.2907, 0.2914, 0.2926, 0.2964",\
                 "0.2866, 0.2867, 0.2869, 0.2875, 0.288, 0.2888, 0.2894, 0.2903, 0.2914, 0.2955",\
                 "0.2908, 0.2907, 0.2901, 0.2898, 0.2896, 0.2899, 0.2901, 0.2907, 0.2919, 0.296",\
                 "0.3098, 0.309, 0.3063, 0.3032, 0.3003, 0.298, 0.2965, 0.296, 0.2958, 0.2998",\
                 "0.3462, 0.3445, 0.3396, 0.3327, 0.3253, 0.3187, 0.3136, 0.3096, 0.3073, 0.3103",\
                 "0.4014, 0.399, 0.3914, 0.3804, 0.368, 0.3558, 0.3453, 0.3366, 0.3303, 0.3312",\
                 "0.4753, 0.4724, 0.4628, 0.4475, 0.4294, 0.4115, 0.3946, 0.3797, 0.368, 0.3673",\
                 "0.5684, 0.565, 0.5538, 0.5351, 0.5116, 0.487, 0.4633, 0.4415, 0.4241, 0.4226",\
                 "0.6814, 0.6776, 0.665, 0.6436, 0.6154, 0.5842, 0.5528, 0.5241, 0.501, 0.5045");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.04666, 0.04667, 0.0467, 0.04678, 0.04679, 0.04681, 0.04682, 0.04684, 0.04685, 0.04682",\
                 "0.04481, 0.0449, 0.04499, 0.04511, 0.0452, 0.04527, 0.04529, 0.04532, 0.04533, 0.04531",\
                 "0.04261, 0.04273, 0.04305, 0.0434, 0.0437, 0.04389, 0.044, 0.04408, 0.04412, 0.04413",\
                 "0.04354, 0.04358, 0.04366, 0.04374, 0.0438, 0.04386, 0.04388, 0.04393, 0.04394, 0.04394",\
                 "0.05523, 0.05478, 0.05337, 0.05169, 0.05018, 0.04894, 0.04787, 0.04705, 0.04642, 0.04593",\
                 "0.08218, 0.08089, 0.07733, 0.07256, 0.06766, 0.06342, 0.05992, 0.05707, 0.05471, 0.05283",\
                 "0.1262, 0.1242, 0.1179, 0.1091, 0.09972, 0.09098, 0.08338, 0.07707, 0.07184, 0.06753",\
                 "0.1882, 0.1854, 0.1763, 0.1631, 0.1483, 0.134, 0.1211, 0.1099, 0.1005, 0.09248",\
                 "0.2688, 0.265, 0.2533, 0.2356, 0.2151, 0.1946, 0.1754, 0.1582, 0.1432, 0.1303",\
                 "0.368, 0.3635, 0.3495, 0.3274, 0.3012, 0.274, 0.2478, 0.2238, 0.2023, 0.1834");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2699, 0.27, 0.27, 0.2704, 0.2707, 0.2713, 0.2719, 0.2729, 0.2739, 0.2766",\
                 "0.2678, 0.2678, 0.2679, 0.2682, 0.2688, 0.2695, 0.2701, 0.271, 0.2722, 0.2748",\
                 "0.2657, 0.2658, 0.266, 0.2667, 0.2672, 0.2679, 0.2688, 0.2697, 0.2711, 0.2734",\
                 "0.27, 0.2699, 0.2693, 0.2688, 0.2688, 0.269, 0.2694, 0.2701, 0.2712, 0.2749",\
                 "0.289, 0.2882, 0.2855, 0.2824, 0.2794, 0.2771, 0.2758, 0.2751, 0.2753, 0.2788",\
                 "0.3254, 0.3237, 0.3187, 0.3119, 0.3045, 0.2979, 0.2927, 0.2888, 0.2863, 0.2888",\
                 "0.3807, 0.3783, 0.3709, 0.3595, 0.347, 0.3351, 0.3246, 0.3156, 0.3092, 0.3097",\
                 "0.4548, 0.4518, 0.4421, 0.4268, 0.4086, 0.3906, 0.3737, 0.359, 0.3468, 0.3451",\
                 "0.548, 0.5445, 0.5334, 0.5146, 0.4911, 0.466, 0.4426, 0.4207, 0.4028, 0.3997",\
                 "0.661, 0.6573, 0.6446, 0.623, 0.595, 0.5634, 0.532, 0.5028, 0.4797, 0.4811");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.04668, 0.04665, 0.04673, 0.04679, 0.0468, 0.04679, 0.04684, 0.04683, 0.04685, 0.04685",\
                 "0.04483, 0.04489, 0.04508, 0.04515, 0.0452, 0.04524, 0.04528, 0.04532, 0.04533, 0.04534",\
                 "0.04273, 0.04284, 0.04311, 0.04343, 0.04369, 0.04388, 0.044, 0.04407, 0.04412, 0.04415",\
                 "0.04397, 0.04393, 0.04398, 0.04403, 0.04408, 0.04404, 0.04403, 0.04402, 0.04401, 0.04399",\
                 "0.05652, 0.05595, 0.05458, 0.0528, 0.05114, 0.0497, 0.04851, 0.04755, 0.04686, 0.04627",\
                 "0.08438, 0.08316, 0.0795, 0.07456, 0.06946, 0.06498, 0.06118, 0.05813, 0.05566, 0.05364",\
                 "0.1294, 0.1273, 0.1209, 0.1119, 0.1023, 0.0933, 0.08542, 0.0788, 0.07332, 0.06886",\
                 "0.1923, 0.1893, 0.1802, 0.1667, 0.1518, 0.1371, 0.124, 0.1124, 0.1027, 0.0944",\
                 "0.2735, 0.2698, 0.258, 0.24, 0.2192, 0.1985, 0.179, 0.1615, 0.1461, 0.1329",\
                 "0.3733, 0.3688, 0.3547, 0.3326, 0.3061, 0.2786, 0.2521, 0.2279, 0.2061, 0.1868");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2875, 0.2876, 0.2877, 0.2878, 0.2883, 0.2889, 0.2896, 0.2903, 0.2916, 0.2944",\
                 "0.2856, 0.2856, 0.2858, 0.2859, 0.2865, 0.2872, 0.2879, 0.2884, 0.2894, 0.2927",\
                 "0.2834, 0.2836, 0.2839, 0.2845, 0.2852, 0.2859, 0.2868, 0.2875, 0.2883, 0.2925",\
                 "0.2878, 0.2876, 0.2872, 0.2868, 0.2867, 0.287, 0.2874, 0.2885, 0.2889, 0.2931",\
                 "0.3064, 0.3057, 0.3036, 0.3006, 0.2979, 0.2958, 0.2943, 0.2934, 0.2936, 0.297",\
                 "0.3427, 0.3412, 0.3369, 0.3305, 0.3236, 0.3173, 0.3121, 0.3081, 0.3055, 0.3082",\
                 "0.3977, 0.3955, 0.3889, 0.3784, 0.367, 0.3555, 0.3451, 0.3363, 0.3295, 0.3303",\
                 "0.4715, 0.4688, 0.46, 0.4462, 0.4291, 0.4121, 0.3957, 0.381, 0.369, 0.367",\
                 "0.5648, 0.5616, 0.5513, 0.5339, 0.5121, 0.4885, 0.4659, 0.4448, 0.4271, 0.4247",\
                 "0.6777, 0.6743, 0.6626, 0.6426, 0.6167, 0.5869, 0.5571, 0.5292, 0.5057, 0.5082");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.07087, 0.07091, 0.07098, 0.07114, 0.07123, 0.07128, 0.07135, 0.07138, 0.07136, 0.07134",\
                 "0.0701, 0.07017, 0.07043, 0.07074, 0.07098, 0.07112, 0.07123, 0.07125, 0.07133, 0.0713",\
                 "0.06878, 0.06888, 0.06921, 0.06967, 0.07019, 0.07051, 0.07074, 0.07093, 0.071, 0.07105",\
                 "0.07184, 0.07177, 0.07168, 0.07158, 0.07153, 0.07146, 0.07144, 0.07143, 0.0714, 0.0714",\
                 "0.08498, 0.08439, 0.08297, 0.0811, 0.07927, 0.07782, 0.07646, 0.07549, 0.07466, 0.07405",\
                 "0.1115, 0.1103, 0.107, 0.1023, 0.09748, 0.09311, 0.08931, 0.08613, 0.08353, 0.08148",\
                 "0.1532, 0.1513, 0.1458, 0.1376, 0.1287, 0.1203, 0.1127, 0.1063, 0.1009, 0.09634",\
                 "0.2112, 0.2086, 0.2008, 0.1888, 0.175, 0.1617, 0.1493, 0.1384, 0.129, 0.121",\
                 "0.286, 0.2828, 0.2729, 0.257, 0.2382, 0.2191, 0.2011, 0.1848, 0.1704, 0.1578",\
                 "0.3777, 0.3742, 0.3623, 0.343, 0.3192, 0.294, 0.2696, 0.247, 0.2267, 0.2088");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2346, 0.2347, 0.2348, 0.235, 0.2352, 0.2357, 0.2363, 0.2371, 0.2378, 0.2391",\
                 "0.2333, 0.2334, 0.2338, 0.2342, 0.2348, 0.2354, 0.2359, 0.2367, 0.2378, 0.2391",\
                 "0.2332, 0.2333, 0.2335, 0.2339, 0.2343, 0.2349, 0.2357, 0.2366, 0.238, 0.2387",\
                 "0.2431, 0.2425, 0.2413, 0.2398, 0.2387, 0.2383, 0.2379, 0.2384, 0.2393, 0.2397",\
                 "0.2664, 0.2652, 0.2619, 0.2572, 0.2529, 0.2488, 0.2467, 0.2455, 0.245, 0.2443",\
                 "0.3047, 0.3028, 0.2969, 0.2888, 0.2803, 0.2724, 0.2662, 0.2616, 0.2583, 0.2556",\
                 "0.3588, 0.3564, 0.3485, 0.3365, 0.3231, 0.3106, 0.2994, 0.2896, 0.2826, 0.2762",\
                 "0.4296, 0.4265, 0.4171, 0.4021, 0.3834, 0.3652, 0.3482, 0.3332, 0.3203, 0.3099",\
                 "0.5174, 0.5141, 0.5032, 0.4855, 0.4629, 0.438, 0.4145, 0.3936, 0.3749, 0.3585",\
                 "0.6236, 0.6199, 0.6081, 0.5876, 0.5611, 0.5311, 0.5008, 0.4725, 0.4476, 0.4249");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.049, 0.04905, 0.04922, 0.04933, 0.04946, 0.0495, 0.04955, 0.04958, 0.04961, 0.04959",\
                 "0.04803, 0.04816, 0.04854, 0.04886, 0.04916, 0.0493, 0.0494, 0.04948, 0.04954, 0.04952",\
                 "0.04648, 0.04665, 0.04709, 0.04774, 0.04825, 0.04867, 0.04893, 0.04912, 0.04922, 0.04932",\
                 "0.05008, 0.05002, 0.0499, 0.04976, 0.04971, 0.04967, 0.04965, 0.04965, 0.04965, 0.04965",\
                 "0.06476, 0.06411, 0.06233, 0.06003, 0.05799, 0.05627, 0.05489, 0.05381, 0.05298, 0.05233",\
                 "0.09345, 0.09198, 0.08791, 0.08242, 0.07694, 0.07212, 0.06805, 0.06471, 0.06204, 0.05992",\
                 "0.1375, 0.1353, 0.1286, 0.1192, 0.1093, 0.1001, 0.09205, 0.08529, 0.07963, 0.07498",\
                 "0.1977, 0.1948, 0.1858, 0.1722, 0.1569, 0.1425, 0.1293, 0.1179, 0.1082, 0.09998",\
                 "0.2743, 0.2707, 0.2595, 0.242, 0.2215, 0.2009, 0.182, 0.1649, 0.15, 0.1371",\
                 "0.3678, 0.3637, 0.3504, 0.3295, 0.3039, 0.2771, 0.2514, 0.228, 0.207, 0.1886");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2137, 0.2138, 0.2139, 0.2141, 0.2144, 0.2148, 0.2155, 0.2161, 0.2175, 0.2186",\
                 "0.2124, 0.2125, 0.213, 0.2134, 0.2139, 0.2144, 0.2152, 0.2161, 0.2169, 0.2183",\
                 "0.2124, 0.2124, 0.2127, 0.213, 0.2135, 0.2141, 0.2148, 0.2158, 0.2167, 0.2179",\
                 "0.2223, 0.2217, 0.2204, 0.219, 0.2177, 0.2173, 0.2173, 0.2175, 0.2181, 0.2189",\
                 "0.2455, 0.2443, 0.241, 0.2366, 0.2319, 0.2285, 0.2262, 0.2246, 0.224, 0.2235",\
                 "0.284, 0.2821, 0.2761, 0.2678, 0.2594, 0.2518, 0.2452, 0.2405, 0.2373, 0.2344",\
                 "0.3383, 0.3357, 0.3277, 0.3156, 0.3021, 0.2898, 0.2786, 0.2687, 0.2615, 0.2556",\
                 "0.4088, 0.4059, 0.3966, 0.381, 0.3626, 0.3442, 0.3275, 0.3124, 0.2997, 0.2884",\
                 "0.4969, 0.4935, 0.4826, 0.4647, 0.4416, 0.4173, 0.3938, 0.3729, 0.3539, 0.3371",\
                 "0.603, 0.5995, 0.5875, 0.567, 0.5404, 0.51, 0.4796, 0.4517, 0.4268, 0.4042");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.04904, 0.04907, 0.04922, 0.04935, 0.04946, 0.04954, 0.04956, 0.04959, 0.04958, 0.04963",\
                 "0.04804, 0.04818, 0.04853, 0.0489, 0.04914, 0.04928, 0.04942, 0.04949, 0.04954, 0.04954",\
                 "0.04665, 0.04683, 0.04726, 0.04782, 0.04832, 0.04872, 0.04898, 0.04916, 0.04927, 0.04936",\
                 "0.05088, 0.05079, 0.05056, 0.05034, 0.05022, 0.05007, 0.04995, 0.0499, 0.04984, 0.0498",\
                 "0.06671, 0.06599, 0.06405, 0.06162, 0.05941, 0.05749, 0.05592, 0.05465, 0.0537, 0.05293",\
                 "0.09696, 0.09551, 0.09125, 0.08549, 0.0797, 0.07454, 0.07022, 0.06669, 0.06376, 0.06139",\
                 "0.1432, 0.141, 0.1341, 0.1244, 0.114, 0.1044, 0.09598, 0.0888, 0.08282, 0.07785",\
                 "0.206, 0.203, 0.1938, 0.1799, 0.1643, 0.1492, 0.1356, 0.1237, 0.1135, 0.1048",\
                 "0.286, 0.2823, 0.2708, 0.2532, 0.2321, 0.2108, 0.1912, 0.1735, 0.158, 0.1446",\
                 "0.3832, 0.3791, 0.3658, 0.3446, 0.3184, 0.2909, 0.2644, 0.24, 0.2183, 0.1991");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2131, 0.2131, 0.2133, 0.2135, 0.2137, 0.2141, 0.2147, 0.2155, 0.2168, 0.2179",\
                 "0.2111, 0.2113, 0.2117, 0.2122, 0.2126, 0.2132, 0.2139, 0.2146, 0.2156, 0.2166",\
                 "0.2115, 0.2115, 0.2116, 0.2117, 0.2121, 0.2127, 0.2135, 0.2143, 0.2156, 0.2163",\
                 "0.2227, 0.2221, 0.2206, 0.2187, 0.2172, 0.2164, 0.2163, 0.2163, 0.2171, 0.2176",\
                 "0.248, 0.2466, 0.2429, 0.2379, 0.2329, 0.229, 0.2262, 0.2242, 0.2236, 0.2226",\
                 "0.2886, 0.2866, 0.2806, 0.2718, 0.2627, 0.2543, 0.2472, 0.2418, 0.2377, 0.2348",\
                 "0.3458, 0.3431, 0.3351, 0.3227, 0.3087, 0.2952, 0.2831, 0.2725, 0.2647, 0.2575",\
                 "0.4201, 0.417, 0.4075, 0.3918, 0.3725, 0.3534, 0.3358, 0.3198, 0.3056, 0.2937",\
                 "0.5125, 0.5091, 0.4979, 0.4797, 0.4565, 0.431, 0.4067, 0.3846, 0.3643, 0.3466",\
                 "0.6239, 0.6201, 0.6078, 0.5871, 0.5601, 0.53, 0.4978, 0.4689, 0.4427, 0.4177");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.04886, 0.04896, 0.04907, 0.04919, 0.04934, 0.0494, 0.04941, 0.04944, 0.04949, 0.04946",\
                 "0.04789, 0.04805, 0.04839, 0.04877, 0.04902, 0.04916, 0.04926, 0.04935, 0.04939, 0.04939",\
                 "0.04632, 0.0465, 0.04697, 0.0476, 0.04815, 0.04852, 0.04878, 0.04898, 0.04908, 0.04918",\
                 "0.04995, 0.04989, 0.04978, 0.04962, 0.04958, 0.04951, 0.04953, 0.04952, 0.0495, 0.04951",\
                 "0.06465, 0.06397, 0.06222, 0.0599, 0.05784, 0.05616, 0.05474, 0.05369, 0.05284, 0.05221",\
                 "0.09327, 0.09189, 0.08778, 0.0823, 0.07682, 0.07196, 0.06791, 0.06459, 0.0619, 0.05978",\
                 "0.1375, 0.1352, 0.1286, 0.1191, 0.1092, 0.09997, 0.09198, 0.08518, 0.07953, 0.07483",\
                 "0.1975, 0.1947, 0.1857, 0.172, 0.1569, 0.1423, 0.1292, 0.1178, 0.1081, 0.09987",\
                 "0.2743, 0.2707, 0.2594, 0.242, 0.2214, 0.2008, 0.1818, 0.1648, 0.15, 0.1371",\
                 "0.3677, 0.3635, 0.3504, 0.3294, 0.3039, 0.277, 0.2513, 0.2278, 0.2069, 0.1885");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2138, 0.2138, 0.214, 0.2142, 0.2145, 0.2148, 0.2154, 0.2162, 0.2175, 0.2183",\
                 "0.2124, 0.2126, 0.213, 0.2135, 0.2139, 0.2145, 0.2153, 0.2159, 0.2173, 0.2186",\
                 "0.2124, 0.2125, 0.2127, 0.2131, 0.2135, 0.2143, 0.2149, 0.2158, 0.2171, 0.2183",\
                 "0.2223, 0.2219, 0.2206, 0.219, 0.2178, 0.2174, 0.2173, 0.2176, 0.2185, 0.2193",\
                 "0.2456, 0.2444, 0.2411, 0.2366, 0.2319, 0.2286, 0.2258, 0.2246, 0.2241, 0.2232",\
                 "0.2842, 0.2821, 0.2763, 0.2679, 0.2595, 0.2517, 0.2455, 0.2405, 0.2368, 0.2344",\
                 "0.3384, 0.3357, 0.3281, 0.3158, 0.3024, 0.2897, 0.2787, 0.2691, 0.2617, 0.2549",\
                 "0.409, 0.406, 0.3966, 0.3813, 0.3629, 0.3442, 0.3277, 0.3128, 0.2995, 0.2891",\
                 "0.497, 0.4938, 0.4827, 0.4647, 0.442, 0.4173, 0.3938, 0.3729, 0.3541, 0.3375",\
                 "0.6033, 0.5996, 0.5876, 0.5672, 0.5405, 0.5104, 0.4797, 0.4517, 0.4269, 0.4049");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.02707, 0.02713, 0.02728, 0.02744, 0.02752, 0.02758, 0.02762, 0.02766, 0.02767, 0.02769",\
                 "0.02578, 0.02598, 0.02646, 0.0269, 0.02718, 0.02737, 0.02747, 0.02754, 0.02759, 0.02762",\
                 "0.02382, 0.02408, 0.02479, 0.0256, 0.02622, 0.02668, 0.02695, 0.02716, 0.0273, 0.0274",\
                 "0.02832, 0.02815, 0.02796, 0.02779, 0.02775, 0.02774, 0.02771, 0.02773, 0.02773, 0.02777",\
                 "0.04501, 0.04409, 0.04171, 0.03892, 0.03654, 0.03463, 0.03314, 0.03201, 0.03118, 0.03049",\
                 "0.0763, 0.07446, 0.06928, 0.06267, 0.0564, 0.05104, 0.04669, 0.04318, 0.0404, 0.03822",\
                 "0.1232, 0.1203, 0.1123, 0.1011, 0.08994, 0.07987, 0.07129, 0.06419, 0.05832, 0.05349",\
                 "0.1854, 0.182, 0.1713, 0.1559, 0.139, 0.1232, 0.1093, 0.09742, 0.08731, 0.0788",\
                 "0.2641, 0.2599, 0.2471, 0.2276, 0.2051, 0.1829, 0.1629, 0.1451, 0.1296, 0.1164",\
                 "0.359, 0.3544, 0.3397, 0.3167, 0.289, 0.2603, 0.2333, 0.2089, 0.1873, 0.1683");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1929, 0.1929, 0.1932, 0.1934, 0.1936, 0.1942, 0.195, 0.1954, 0.1964, 0.1978",\
                 "0.1915, 0.1917, 0.1921, 0.1927, 0.1932, 0.1937, 0.1944, 0.1954, 0.1964, 0.1972",\
                 "0.1915, 0.1915, 0.1918, 0.1923, 0.1927, 0.1934, 0.1941, 0.1952, 0.1961, 0.1975",\
                 "0.2014, 0.201, 0.1997, 0.1981, 0.197, 0.1966, 0.1965, 0.1965, 0.1972, 0.1981",\
                 "0.2249, 0.2235, 0.2201, 0.2157, 0.2113, 0.2077, 0.2052, 0.2037, 0.2033, 0.2024",\
                 "0.2634, 0.2614, 0.2555, 0.247, 0.2387, 0.231, 0.2243, 0.2198, 0.216, 0.2137",\
                 "0.3178, 0.3152, 0.3072, 0.2949, 0.2814, 0.2686, 0.2577, 0.248, 0.2405, 0.2348",\
                 "0.3887, 0.3855, 0.3761, 0.3605, 0.342, 0.3233, 0.3064, 0.2913, 0.2788, 0.2677",\
                 "0.4766, 0.4732, 0.4623, 0.4442, 0.4211, 0.3967, 0.3729, 0.3518, 0.3329, 0.3167",\
                 "0.5827, 0.579, 0.5671, 0.5465, 0.5201, 0.49, 0.4589, 0.4308, 0.4061, 0.3832");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.02707, 0.02717, 0.0273, 0.02744, 0.02751, 0.02758, 0.02763, 0.02765, 0.02769, 0.0277",\
                 "0.02576, 0.02598, 0.02646, 0.0269, 0.02717, 0.02735, 0.02747, 0.02753, 0.02759, 0.02764",\
                 "0.02401, 0.02428, 0.02492, 0.02568, 0.0263, 0.02673, 0.02702, 0.0272, 0.02734, 0.02741",\
                 "0.02923, 0.02906, 0.02871, 0.02842, 0.02823, 0.02814, 0.02805, 0.028, 0.02794, 0.0279",\
                 "0.04704, 0.04611, 0.04358, 0.04056, 0.03796, 0.03583, 0.03419, 0.03288, 0.03187, 0.03109",\
                 "0.07989, 0.07807, 0.07268, 0.06586, 0.05925, 0.05357, 0.04894, 0.04518, 0.04215, 0.0397",\
                 "0.1288, 0.126, 0.1178, 0.1064, 0.09466, 0.08418, 0.07525, 0.06775, 0.06151, 0.05636",\
                 "0.1939, 0.1904, 0.1796, 0.1638, 0.1465, 0.13, 0.1157, 0.1032, 0.09263, 0.08367",\
                 "0.2756, 0.2716, 0.2586, 0.2387, 0.2158, 0.193, 0.172, 0.1537, 0.1377, 0.1238",\
                 "0.3746, 0.37, 0.3552, 0.3318, 0.3036, 0.2742, 0.2462, 0.221, 0.1985, 0.1787");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1922, 0.1923, 0.1924, 0.1928, 0.1931, 0.1934, 0.1941, 0.1946, 0.196, 0.1968",\
                 "0.1902, 0.1904, 0.191, 0.1914, 0.1919, 0.1925, 0.1931, 0.194, 0.1949, 0.1962",\
                 "0.1906, 0.1906, 0.1908, 0.191, 0.1914, 0.1921, 0.1927, 0.1934, 0.1945, 0.1955",\
                 "0.2019, 0.2014, 0.1998, 0.1978, 0.1965, 0.1956, 0.1953, 0.1955, 0.1964, 0.1972",\
                 "0.2272, 0.2258, 0.222, 0.2171, 0.2122, 0.208, 0.2049, 0.2036, 0.2027, 0.2021",\
                 "0.2679, 0.2661, 0.2599, 0.251, 0.2419, 0.2335, 0.2262, 0.2209, 0.217, 0.2137",\
                 "0.3253, 0.3226, 0.3146, 0.3021, 0.2878, 0.2743, 0.2623, 0.2519, 0.2437, 0.2368",\
                 "0.3998, 0.3968, 0.3869, 0.371, 0.3521, 0.3326, 0.3152, 0.2988, 0.2846, 0.2729",\
                 "0.4921, 0.4887, 0.4776, 0.4591, 0.4358, 0.4104, 0.3861, 0.3641, 0.3432, 0.3256",\
                 "0.6034, 0.5997, 0.5872, 0.5666, 0.5395, 0.5087, 0.4775, 0.448, 0.4214, 0.3974");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.04893, 0.04899, 0.04908, 0.04921, 0.04928, 0.04936, 0.0494, 0.04942, 0.04945, 0.04947",\
                 "0.0479, 0.04811, 0.04843, 0.04878, 0.049, 0.04913, 0.04928, 0.04933, 0.04936, 0.04941",\
                 "0.0465, 0.04671, 0.04707, 0.04769, 0.04822, 0.04853, 0.04882, 0.04898, 0.04912, 0.04919",\
                 "0.05058, 0.05052, 0.05028, 0.05007, 0.04994, 0.0498, 0.04972, 0.04967, 0.04964, 0.04962",\
                 "0.0658, 0.06513, 0.06332, 0.06095, 0.05869, 0.05686, 0.05535, 0.05417, 0.05324, 0.05251",\
                 "0.09507, 0.09363, 0.0894, 0.0838, 0.07816, 0.07314, 0.06892, 0.06549, 0.06266, 0.06041",\
                 "0.1397, 0.1374, 0.1307, 0.1212, 0.1111, 0.1016, 0.09343, 0.08646, 0.08067, 0.07585",\
                 "0.2002, 0.1973, 0.1882, 0.1746, 0.1593, 0.1445, 0.1312, 0.1196, 0.1098, 0.1013",\
                 "0.2773, 0.2737, 0.2626, 0.2452, 0.2245, 0.2037, 0.1844, 0.1673, 0.1522, 0.139",\
                 "0.3713, 0.3672, 0.3542, 0.3332, 0.3075, 0.2806, 0.2546, 0.2309, 0.2098, 0.191");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2316, 0.2317, 0.2319, 0.2321, 0.2323, 0.2328, 0.2334, 0.2341, 0.2351, 0.2367",\
                 "0.2305, 0.2307, 0.2312, 0.2317, 0.2323, 0.233, 0.2336, 0.2345, 0.2356, 0.2367",\
                 "0.2304, 0.2305, 0.2308, 0.2313, 0.2319, 0.2327, 0.2336, 0.2344, 0.2357, 0.2371",\
                 "0.24, 0.2396, 0.2385, 0.2371, 0.2363, 0.2359, 0.236, 0.2364, 0.2373, 0.2377",\
                 "0.2629, 0.2619, 0.2589, 0.2548, 0.2507, 0.2472, 0.2452, 0.2439, 0.2426, 0.243",\
                 "0.3011, 0.2994, 0.294, 0.2866, 0.2786, 0.2712, 0.2649, 0.2599, 0.2566, 0.2536",\
                 "0.3551, 0.3529, 0.3457, 0.3345, 0.3221, 0.3101, 0.2992, 0.2897, 0.282, 0.276",\
                 "0.4257, 0.423, 0.4145, 0.4003, 0.383, 0.3654, 0.3495, 0.3346, 0.322, 0.3109",\
                 "0.514, 0.5107, 0.5008, 0.4842, 0.4627, 0.4394, 0.4168, 0.3967, 0.3783, 0.3618",\
                 "0.6204, 0.617, 0.6059, 0.5869, 0.562, 0.5336, 0.5043, 0.4772, 0.4528, 0.4303");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.02707, 0.02714, 0.02729, 0.02743, 0.02753, 0.02759, 0.02762, 0.02764, 0.02766, 0.02766",\
                 "0.02575, 0.02598, 0.02646, 0.02692, 0.02718, 0.02735, 0.02747, 0.02754, 0.02758, 0.02762",\
                 "0.02391, 0.02421, 0.02492, 0.02567, 0.0263, 0.02673, 0.02699, 0.02719, 0.02732, 0.02741",\
                 "0.02897, 0.0288, 0.02854, 0.02827, 0.02814, 0.02802, 0.02794, 0.0279, 0.02786, 0.02784",\
                 "0.04626, 0.04535, 0.04289, 0.03999, 0.03735, 0.03534, 0.03377, 0.03251, 0.03154, 0.03081",\
                 "0.07806, 0.07618, 0.07096, 0.06421, 0.05778, 0.05225, 0.04773, 0.04408, 0.04117, 0.03885",\
                 "0.1254, 0.1225, 0.1145, 0.1033, 0.09186, 0.08156, 0.07281, 0.06548, 0.05944, 0.05449",\
                 "0.1881, 0.1846, 0.1742, 0.1585, 0.1416, 0.1254, 0.1115, 0.09925, 0.08893, 0.0802",\
                 "0.267, 0.263, 0.2503, 0.2308, 0.2082, 0.1858, 0.1655, 0.1474, 0.1319, 0.1184",\
                 "0.3627, 0.358, 0.3434, 0.3205, 0.2927, 0.2639, 0.2368, 0.2119, 0.19, 0.1709");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2107, 0.2109, 0.211, 0.2113, 0.2116, 0.212, 0.2124, 0.2134, 0.2144, 0.2156",\
                 "0.2097, 0.2098, 0.2104, 0.2111, 0.2115, 0.2121, 0.2127, 0.2138, 0.2147, 0.2156",\
                 "0.2094, 0.2096, 0.2099, 0.2105, 0.2111, 0.2117, 0.2126, 0.2135, 0.2148, 0.2163",\
                 "0.2192, 0.2189, 0.2176, 0.2164, 0.2154, 0.215, 0.2152, 0.2154, 0.216, 0.217",\
                 "0.2422, 0.2411, 0.2382, 0.2341, 0.2298, 0.2266, 0.2242, 0.223, 0.2221, 0.2222",\
                 "0.2803, 0.2786, 0.2733, 0.2656, 0.2577, 0.2502, 0.244, 0.2396, 0.2357, 0.2331",\
                 "0.3343, 0.3323, 0.3249, 0.314, 0.3011, 0.2891, 0.2783, 0.2687, 0.2608, 0.2552",\
                 "0.4054, 0.4026, 0.3936, 0.3794, 0.3623, 0.3447, 0.3284, 0.3139, 0.3005, 0.2901",\
                 "0.4935, 0.4904, 0.4801, 0.4633, 0.4418, 0.4185, 0.3959, 0.3761, 0.357, 0.3405",\
                 "0.5999, 0.5966, 0.5852, 0.5663, 0.5409, 0.5125, 0.4834, 0.4563, 0.4317, 0.4093");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.02706, 0.02715, 0.0273, 0.02742, 0.02752, 0.02759, 0.02761, 0.02764, 0.02767, 0.02768",\
                 "0.02575, 0.02597, 0.02646, 0.02691, 0.02719, 0.02737, 0.02746, 0.02754, 0.02758, 0.02761",\
                 "0.0242, 0.02441, 0.02509, 0.02579, 0.0264, 0.0268, 0.02706, 0.02724, 0.02735, 0.02743",\
                 "0.02988, 0.02972, 0.02931, 0.02897, 0.02868, 0.02846, 0.02829, 0.02816, 0.02807, 0.028",\
                 "0.04834, 0.04741, 0.04487, 0.04173, 0.0389, 0.0366, 0.03484, 0.03341, 0.03232, 0.03147",\
                 "0.08181, 0.07992, 0.07451, 0.06748, 0.06073, 0.05491, 0.05005, 0.04613, 0.04296, 0.04042",\
                 "0.1311, 0.1283, 0.1202, 0.1087, 0.09684, 0.08607, 0.07688, 0.06918, 0.06281, 0.0575",\
                 "0.1966, 0.1932, 0.1825, 0.1667, 0.1492, 0.1326, 0.118, 0.1053, 0.09447, 0.08531",\
                 "0.279, 0.2748, 0.262, 0.2421, 0.2191, 0.1962, 0.175, 0.1564, 0.1401, 0.1261",\
                 "0.3786, 0.3739, 0.3591, 0.3358, 0.3077, 0.2781, 0.2501, 0.2242, 0.2018, 0.1818");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.21, 0.2102, 0.2105, 0.2106, 0.2109, 0.2115, 0.212, 0.2126, 0.2137, 0.215",\
                 "0.2083, 0.2086, 0.209, 0.2097, 0.2102, 0.2109, 0.2116, 0.2124, 0.2135, 0.2147",\
                 "0.2085, 0.2086, 0.2088, 0.2092, 0.2097, 0.2105, 0.2113, 0.212, 0.2133, 0.2143",\
                 "0.2196, 0.2192, 0.2177, 0.2162, 0.2148, 0.2141, 0.2141, 0.2144, 0.2148, 0.2156",\
                 "0.2446, 0.2434, 0.2401, 0.2357, 0.2308, 0.227, 0.2243, 0.2224, 0.2213, 0.2209",\
                 "0.285, 0.2834, 0.2779, 0.2699, 0.2614, 0.2533, 0.2458, 0.2409, 0.2372, 0.2341",\
                 "0.342, 0.3399, 0.3326, 0.3211, 0.3081, 0.2954, 0.2835, 0.2731, 0.2642, 0.2576",\
                 "0.4165, 0.4136, 0.405, 0.3906, 0.3728, 0.3545, 0.3377, 0.322, 0.3077, 0.2964",\
                 "0.509, 0.5059, 0.4956, 0.4787, 0.457, 0.433, 0.41, 0.3889, 0.3687, 0.3507",\
                 "0.6208, 0.6173, 0.6059, 0.5866, 0.5612, 0.5328, 0.5029, 0.4744, 0.4497, 0.4248");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1647, 0.1833, 0.2472, 0.3668, 0.5508, 0.8078, 1.145, 1.57, 2.087, 2.705",\
                 "0.1774, 0.196, 0.2601, 0.3801, 0.5643, 0.8216, 1.159, 1.583, 2.101, 2.718",\
                 "0.2212, 0.239, 0.3017, 0.4213, 0.6055, 0.8626, 1.2, 1.624, 2.142, 2.76",\
                 "0.272, 0.2954, 0.3724, 0.502, 0.6851, 0.941, 1.278, 1.701, 2.218, 2.835",\
                 "0.3002, 0.3303, 0.4252, 0.5847, 0.8011, 1.068, 1.402, 1.824, 2.34, 2.955",\
                 "0.3017, 0.3376, 0.453, 0.6434, 0.8991, 1.213, 1.579, 2.003, 2.516, 3.13",\
                 "0.2719, 0.315, 0.4507, 0.675, 0.9717, 1.331, 1.751, 2.225, 2.753, 3.364",\
                 "0.2094, 0.2584, 0.4156, 0.675, 1.015, 1.423, 1.894, 2.427, 3.017, 3.661",\
                 "0.112, 0.1679, 0.3456, 0.6389, 1.024, 1.484, 2.009, 2.598, 3.251, 3.964",\
                 "-0.0222, 0.039, 0.2377, 0.5645, 0.9957, 1.508, 2.092, 2.74, 3.454, 4.233");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2333, 0.2652, 0.376, 0.5854, 0.9101, 1.365, 1.962, 2.715, 3.633, 4.727",\
                 "0.2447, 0.2768, 0.3894, 0.6006, 0.9267, 1.382, 1.98, 2.733, 3.652, 4.746",\
                 "0.2996, 0.3312, 0.4418, 0.6524, 0.9791, 1.435, 2.034, 2.788, 3.706, 4.801",\
                 "0.4133, 0.4481, 0.5609, 0.7669, 1.089, 1.543, 2.14, 2.893, 3.811, 4.905",\
                 "0.56, 0.6005, 0.7334, 0.9589, 1.277, 1.724, 2.317, 3.065, 3.98, 5.072",\
                 "0.7455, 0.7923, 0.9407, 1.196, 1.549, 1.996, 2.58, 3.321, 4.232, 5.319",\
                 "0.9654, 1.02, 1.19, 1.472, 1.863, 2.355, 2.943, 3.675, 4.576, 5.655",\
                 "1.221, 1.284, 1.479, 1.794, 2.219, 2.756, 3.396, 4.136, 5.027, 6.096",\
                 "1.514, 1.585, 1.806, 2.159, 2.624, 3.2, 3.893, 4.69, 5.591, 6.651",\
                 "1.844, 1.923, 2.173, 2.567, 3.078, 3.696, 4.434, 5.29, 6.254, 7.326");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2509, 0.282, 0.3906, 0.5946, 0.9097, 1.353, 1.933, 2.665, 3.558, 4.62",\
                 "0.2504, 0.2817, 0.3905, 0.5946, 0.9095, 1.353, 1.933, 2.664, 3.557, 4.62",\
                 "0.2518, 0.2804, 0.3855, 0.5936, 0.91, 1.353, 1.934, 2.664, 3.557, 4.62",\
                 "0.3217, 0.3516, 0.4506, 0.6246, 0.9123, 1.352, 1.932, 2.665, 3.556, 4.621",\
                 "0.4232, 0.4561, 0.564, 0.7542, 1.024, 1.398, 1.938, 2.665, 3.557, 4.622",\
                 "0.5554, 0.593, 0.714, 0.917, 1.209, 1.59, 2.064, 2.707, 3.56, 4.62",\
                 "0.7062, 0.7518, 0.8936, 1.121, 1.431, 1.834, 2.334, 2.926, 3.679, 4.653",\
                 "0.8764, 0.9294, 1.096, 1.356, 1.692, 2.118, 2.645, 3.27, 3.992, 4.867",\
                 "1.064, 1.125, 1.318, 1.615, 1.993, 2.447, 2.994, 3.652, 4.415, 5.274",\
                 "1.271, 1.34, 1.557, 1.893, 2.32, 2.817, 3.395, 4.072, 4.875, 5.778");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.45, 0.5074, 0.7045, 1.074, 1.644, 2.438, 3.485, 4.8, 6.414, 8.33",\
                 "0.45, 0.5075, 0.7041, 1.074, 1.644, 2.439, 3.484, 4.803, 6.414, 8.326",\
                 "0.4499, 0.5071, 0.7044, 1.074, 1.644, 2.439, 3.485, 4.803, 6.415, 8.331",\
                 "0.5197, 0.5652, 0.7292, 1.075, 1.644, 2.439, 3.486, 4.802, 6.412, 8.329",\
                 "0.625, 0.6774, 0.849, 1.151, 1.658, 2.439, 3.486, 4.804, 6.414, 8.331",\
                 "0.7612, 0.8108, 0.9874, 1.315, 1.785, 2.48, 3.488, 4.805, 6.415, 8.334",\
                 "0.9368, 0.9866, 1.158, 1.494, 2.001, 2.658, 3.565, 4.814, 6.411, 8.333",\
                 "1.139, 1.193, 1.37, 1.705, 2.23, 2.932, 3.794, 4.933, 6.439, 8.327",\
                 "1.359, 1.417, 1.612, 1.956, 2.484, 3.221, 4.128, 5.214, 6.608, 8.381",\
                 "1.601, 1.663, 1.876, 2.248, 2.781, 3.524, 4.481, 5.613, 6.938, 8.598");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1234, 0.1411, 0.2026, 0.3201, 0.5029, 0.7589, 1.095, 1.519, 2.037, 2.655",\
                 "0.1357, 0.1535, 0.2156, 0.3335, 0.5162, 0.7726, 1.109, 1.533, 2.051, 2.669",\
                 "0.1766, 0.1958, 0.2574, 0.3744, 0.5575, 0.8136, 1.15, 1.574, 2.092, 2.709",\
                 "0.209, 0.2347, 0.3169, 0.4526, 0.6372, 0.8918, 1.228, 1.651, 2.168, 2.785",\
                 "0.2177, 0.2511, 0.3549, 0.5228, 0.7467, 1.019, 1.353, 1.774, 2.29, 2.905",\
                 "0.199, 0.2398, 0.3667, 0.5696, 0.8343, 1.155, 1.527, 1.953, 2.466, 3.079",\
                 "0.1488, 0.1974, 0.3482, 0.5872, 0.8963, 1.265, 1.692, 2.172, 2.702, 3.314",\
                 "0.0672, 0.123, 0.2962, 0.5727, 0.9283, 1.348, 1.827, 2.366, 2.961, 3.611",\
                 "-0.0496, 0.0134, 0.2098, 0.5218, 0.9256, 1.399, 1.935, 2.531, 3.19, 3.908",\
                 "-0.2039, -0.1333, 0.0864, 0.4353, 0.8856, 1.414, 2.009, 2.666, 3.385, 4.172");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2275, 0.2592, 0.37, 0.5788, 0.9017, 1.356, 1.952, 2.703, 3.62, 4.711",\
                 "0.2387, 0.271, 0.3831, 0.594, 0.9191, 1.373, 1.969, 2.72, 3.636, 4.729",\
                 "0.2939, 0.325, 0.4355, 0.6457, 0.9714, 1.427, 2.023, 2.776, 3.695, 4.788",\
                 "0.4058, 0.4408, 0.5542, 0.7596, 1.081, 1.533, 2.129, 2.88, 3.798, 4.892",\
                 "0.5506, 0.5913, 0.7248, 0.9511, 1.269, 1.714, 2.306, 3.052, 3.966, 5.058",\
                 "0.7329, 0.7802, 0.9301, 1.186, 1.54, 1.986, 2.569, 3.308, 4.217, 5.304",\
                 "0.95, 1.004, 1.178, 1.46, 1.852, 2.344, 2.931, 3.662, 4.56, 5.64",\
                 "1.201, 1.264, 1.463, 1.779, 2.205, 2.743, 3.383, 4.122, 5.011, 6.079",\
                 "1.487, 1.561, 1.785, 2.141, 2.607, 3.184, 3.877, 4.674, 5.575, 6.633",\
                 "1.811, 1.893, 2.148, 2.546, 3.057, 3.678, 4.414, 5.272, 6.237, 7.307");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1963, 0.2278, 0.3369, 0.5405, 0.8567, 1.298, 1.879, 2.612, 3.508, 4.568",\
                 "0.1945, 0.2266, 0.336, 0.5404, 0.8568, 1.298, 1.88, 2.613, 3.508, 4.573",\
                 "0.2124, 0.2387, 0.3352, 0.5378, 0.8562, 1.297, 1.879, 2.61, 3.507, 4.575",\
                 "0.284, 0.3134, 0.4122, 0.5861, 0.8629, 1.297, 1.88, 2.61, 3.504, 4.57",\
                 "0.3902, 0.4214, 0.5276, 0.7182, 0.9888, 1.355, 1.885, 2.61, 3.502, 4.567",\
                 "0.5172, 0.5562, 0.6806, 0.8818, 1.173, 1.554, 2.025, 2.665, 3.511, 4.567",\
                 "0.6642, 0.7112, 0.859, 1.089, 1.397, 1.799, 2.297, 2.889, 3.642, 4.606",\
                 "0.8312, 0.8832, 1.056, 1.319, 1.66, 2.082, 2.608, 3.234, 3.955, 4.827",\
                 "1.008, 1.072, 1.271, 1.576, 1.957, 2.413, 2.96, 3.616, 4.376, 5.239",\
                 "1.206, 1.281, 1.504, 1.852, 2.28, 2.783, 3.359, 4.038, 4.844, 5.741");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3438, 0.3986, 0.5899, 0.9539, 1.519, 2.318, 3.364, 4.679, 6.288, 8.199",\
                 "0.3437, 0.3987, 0.5898, 0.9533, 1.522, 2.315, 3.366, 4.687, 6.298, 8.209",\
                 "0.3437, 0.398, 0.5886, 0.9529, 1.522, 2.317, 3.362, 4.681, 6.298, 8.218",\
                 "0.4073, 0.454, 0.6143, 0.9556, 1.522, 2.318, 3.366, 4.679, 6.291, 8.217",\
                 "0.4892, 0.5422, 0.7232, 1.029, 1.535, 2.315, 3.363, 4.68, 6.297, 8.209",\
                 "0.603, 0.6554, 0.843, 1.183, 1.661, 2.358, 3.369, 4.682, 6.291, 8.203",\
                 "0.7452, 0.8034, 0.9946, 1.346, 1.867, 2.533, 3.444, 4.695, 6.296, 8.208",\
                 "0.907, 0.9756, 1.183, 1.542, 2.085, 2.799, 3.67, 4.813, 6.32, 8.216",\
                 "1.087, 1.16, 1.398, 1.777, 2.326, 3.073, 4.002, 5.088, 6.487, 8.264",\
                 "1.278, 1.367, 1.625, 2.047, 2.61, 3.371, 4.345, 5.485, 6.812, 8.476");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1128, 0.1279, 0.1807, 0.2812, 0.4374, 0.6562, 0.9444, 1.307, 1.75, 2.277",\
                 "0.1253, 0.1404, 0.1936, 0.2945, 0.4507, 0.67, 0.958, 1.321, 1.764, 2.292",\
                 "0.1645, 0.182, 0.2374, 0.3377, 0.4941, 0.713, 1.001, 1.363, 1.806, 2.335",\
                 "0.1908, 0.2146, 0.2906, 0.4145, 0.5785, 0.7965, 1.083, 1.446, 1.888, 2.415",\
                 "0.1909, 0.2221, 0.3189, 0.4752, 0.6802, 0.9264, 1.216, 1.577, 2.018, 2.544",\
                 "0.1601, 0.1987, 0.3188, 0.5092, 0.755, 1.049, 1.387, 1.765, 2.204, 2.729",\
                 "0.0963, 0.1422, 0.2846, 0.511, 0.8005, 1.142, 1.534, 1.97, 2.448, 2.977",\
                 "-0.0036, 0.0495, 0.2146, 0.4755, 0.812, 1.205, 1.649, 2.143, 2.686, 3.272",\
                 "-0.1413, -0.0812, 0.1065, 0.4037, 0.7857, 1.231, 1.73, 2.283, 2.887, 3.541",\
                 "-0.3205, -0.2532, -0.0425, 0.2899, 0.7172, 1.217, 1.776, 2.389, 3.053, 3.773");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2274, 0.2593, 0.3697, 0.5788, 0.9026, 1.355, 1.951, 2.703, 3.622, 4.709",\
                 "0.2378, 0.2701, 0.3822, 0.5931, 0.9184, 1.372, 1.969, 2.719, 3.635, 4.727",\
                 "0.2923, 0.3236, 0.4336, 0.6437, 0.9693, 1.425, 2.021, 2.774, 3.693, 4.787",\
                 "0.4067, 0.4416, 0.5542, 0.7587, 1.08, 1.532, 2.127, 2.878, 3.795, 4.888",\
                 "0.5569, 0.5966, 0.7287, 0.9536, 1.271, 1.715, 2.305, 3.052, 3.966, 5.055",\
                 "0.7465, 0.7926, 0.9412, 1.194, 1.546, 1.991, 2.573, 3.311, 4.219, 5.304",\
                 "0.9741, 1.028, 1.198, 1.477, 1.866, 2.355, 2.939, 3.668, 4.567, 5.644",\
                 "1.239, 1.302, 1.496, 1.809, 2.229, 2.762, 3.398, 4.135, 5.022, 6.088",\
                 "1.543, 1.616, 1.836, 2.186, 2.645, 3.216, 3.903, 4.697, 5.595, 6.649",\
                 "1.889, 1.97, 2.217, 2.608, 3.113, 3.724, 4.456, 5.307, 6.266, 7.334");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1638, 0.1899, 0.2812, 0.4549, 0.7231, 1.099, 1.596, 2.219, 2.981, 3.887",\
                 "0.1629, 0.1895, 0.2819, 0.455, 0.7231, 1.099, 1.595, 2.218, 2.98, 3.889",\
                 "0.1899, 0.2115, 0.2884, 0.4533, 0.7225, 1.099, 1.596, 2.22, 2.98, 3.889",\
                 "0.2635, 0.2896, 0.3751, 0.5211, 0.744, 1.1, 1.594, 2.218, 2.979, 3.886",\
                 "0.3672, 0.3973, 0.4928, 0.6582, 0.8906, 1.19, 1.618, 2.22, 2.981, 3.889",\
                 "0.491, 0.5278, 0.6418, 0.8242, 1.079, 1.406, 1.802, 2.314, 3.004, 3.887",\
                 "0.6336, 0.6782, 0.8144, 1.028, 1.304, 1.655, 2.086, 2.587, 3.192, 3.973",\
                 "0.7944, 0.8458, 1.006, 1.253, 1.566, 1.942, 2.4, 2.943, 3.561, 4.268",\
                 "0.9722, 1.033, 1.218, 1.501, 1.855, 2.272, 2.756, 3.331, 3.987, 4.728",\
                 "1.163, 1.235, 1.451, 1.769, 2.17, 2.631, 3.155, 3.754, 4.446, 5.233");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3441, 0.3983, 0.59, 0.9545, 1.522, 2.318, 3.366, 4.68, 6.297, 8.215",\
                 "0.3437, 0.3987, 0.5896, 0.9537, 1.522, 2.314, 3.362, 4.687, 6.297, 8.218",\
                 "0.3439, 0.3984, 0.5898, 0.953, 1.523, 2.317, 3.365, 4.681, 6.296, 8.218",\
                 "0.4064, 0.4534, 0.6144, 0.9548, 1.522, 2.318, 3.367, 4.686, 6.283, 8.204",\
                 "0.4858, 0.5382, 0.7196, 1.029, 1.536, 2.318, 3.364, 4.681, 6.291, 8.205",\
                 "0.593, 0.6476, 0.838, 1.178, 1.658, 2.356, 3.364, 4.68, 6.292, 8.212",\
                 "0.7308, 0.7882, 0.9802, 1.337, 1.859, 2.528, 3.441, 4.694, 6.296, 8.212",\
                 "0.8914, 0.9528, 1.162, 1.522, 2.066, 2.789, 3.66, 4.813, 6.321, 8.216",\
                 "1.063, 1.138, 1.367, 1.745, 2.299, 3.053, 3.984, 5.076, 6.479, 8.253",\
                 "1.253, 1.338, 1.592, 2.005, 2.57, 3.336, 4.315, 5.464, 6.795, 8.472");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1647, 0.1833, 0.2472, 0.3668, 0.5508, 0.8078, 1.145, 1.57, 2.087, 2.705",\
                 "0.1774, 0.196, 0.2601, 0.3801, 0.5643, 0.8216, 1.159, 1.583, 2.101, 2.718",\
                 "0.2212, 0.239, 0.3017, 0.4213, 0.6055, 0.8626, 1.2, 1.624, 2.142, 2.76",\
                 "0.272, 0.2954, 0.3724, 0.502, 0.6851, 0.941, 1.278, 1.701, 2.218, 2.835",\
                 "0.3002, 0.3303, 0.4252, 0.5847, 0.8011, 1.068, 1.402, 1.824, 2.34, 2.955",\
                 "0.3017, 0.3376, 0.453, 0.6434, 0.8991, 1.213, 1.579, 2.003, 2.516, 3.13",\
                 "0.2719, 0.315, 0.4507, 0.675, 0.9717, 1.331, 1.751, 2.225, 2.753, 3.364",\
                 "0.2094, 0.2584, 0.4156, 0.675, 1.015, 1.423, 1.894, 2.427, 3.017, 3.661",\
                 "0.112, 0.1679, 0.3456, 0.6389, 1.024, 1.484, 2.009, 2.598, 3.251, 3.964",\
                 "-0.0222, 0.039, 0.2377, 0.5645, 0.9957, 1.508, 2.092, 2.74, 3.454, 4.233");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2274, 0.2593, 0.3697, 0.5788, 0.9026, 1.355, 1.951, 2.703, 3.622, 4.709",\
                 "0.2378, 0.2701, 0.3822, 0.5931, 0.9184, 1.372, 1.969, 2.719, 3.635, 4.727",\
                 "0.2923, 0.3236, 0.4336, 0.6437, 0.9693, 1.425, 2.021, 2.774, 3.693, 4.787",\
                 "0.4067, 0.4416, 0.5542, 0.7587, 1.08, 1.532, 2.127, 2.878, 3.795, 4.888",\
                 "0.5569, 0.5966, 0.7287, 0.9536, 1.271, 1.715, 2.305, 3.052, 3.966, 5.055",\
                 "0.7465, 0.7926, 0.9412, 1.194, 1.546, 1.991, 2.573, 3.311, 4.219, 5.304",\
                 "0.9741, 1.028, 1.198, 1.477, 1.866, 2.355, 2.939, 3.668, 4.567, 5.644",\
                 "1.239, 1.302, 1.496, 1.809, 2.229, 2.762, 3.398, 4.135, 5.022, 6.088",\
                 "1.543, 1.616, 1.836, 2.186, 2.645, 3.216, 3.903, 4.697, 5.595, 6.649",\
                 "1.889, 1.97, 2.217, 2.608, 3.113, 3.724, 4.456, 5.307, 6.266, 7.334");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2509, 0.282, 0.3906, 0.5946, 0.9097, 1.353, 1.933, 2.665, 3.558, 4.62",\
                 "0.2504, 0.2817, 0.3905, 0.5946, 0.9095, 1.353, 1.933, 2.664, 3.557, 4.62",\
                 "0.2518, 0.2804, 0.3855, 0.5936, 0.91, 1.353, 1.934, 2.664, 3.557, 4.62",\
                 "0.3217, 0.3516, 0.4506, 0.6246, 0.9123, 1.352, 1.932, 2.665, 3.556, 4.621",\
                 "0.4232, 0.4561, 0.564, 0.7542, 1.024, 1.398, 1.938, 2.665, 3.557, 4.622",\
                 "0.5554, 0.593, 0.714, 0.917, 1.209, 1.59, 2.064, 2.707, 3.56, 4.62",\
                 "0.7062, 0.7518, 0.8936, 1.121, 1.431, 1.834, 2.334, 2.926, 3.679, 4.653",\
                 "0.8764, 0.9294, 1.096, 1.356, 1.692, 2.118, 2.645, 3.27, 3.992, 4.867",\
                 "1.064, 1.125, 1.318, 1.615, 1.993, 2.447, 2.994, 3.652, 4.415, 5.274",\
                 "1.271, 1.34, 1.557, 1.893, 2.32, 2.817, 3.395, 4.072, 4.875, 5.778");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.45, 0.5074, 0.7045, 1.074, 1.644, 2.438, 3.485, 4.8, 6.414, 8.33",\
                 "0.45, 0.5075, 0.7041, 1.074, 1.644, 2.439, 3.484, 4.803, 6.414, 8.326",\
                 "0.4499, 0.5071, 0.7044, 1.074, 1.644, 2.439, 3.485, 4.803, 6.415, 8.331",\
                 "0.5197, 0.5652, 0.7292, 1.075, 1.644, 2.439, 3.486, 4.802, 6.412, 8.329",\
                 "0.625, 0.6774, 0.849, 1.151, 1.658, 2.439, 3.486, 4.804, 6.414, 8.331",\
                 "0.7612, 0.8108, 0.9874, 1.315, 1.785, 2.48, 3.488, 4.805, 6.415, 8.334",\
                 "0.9368, 0.9866, 1.158, 1.494, 2.001, 2.658, 3.565, 4.814, 6.411, 8.333",\
                 "1.139, 1.193, 1.37, 1.705, 2.23, 2.932, 3.794, 4.933, 6.439, 8.327",\
                 "1.359, 1.417, 1.612, 1.956, 2.484, 3.221, 4.128, 5.214, 6.608, 8.381",\
                 "1.601, 1.663, 1.876, 2.248, 2.781, 3.524, 4.481, 5.613, 6.938, 8.598");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2077, 0.2264, 0.291, 0.4118, 0.5971, 0.855, 1.193, 1.618, 2.136, 2.754",\
                 "0.2174, 0.2361, 0.3008, 0.4215, 0.6069, 0.8648, 1.203, 1.628, 2.147, 2.763",\
                 "0.2575, 0.2758, 0.3401, 0.4605, 0.6456, 0.9035, 1.241, 1.666, 2.185, 2.803",\
                 "0.3229, 0.3446, 0.4173, 0.5416, 0.725, 0.9815, 1.318, 1.743, 2.261, 2.878",\
                 "0.3706, 0.3978, 0.4861, 0.6379, 0.8473, 1.109, 1.444, 1.866, 2.382, 2.998",\
                 "0.3991, 0.4312, 0.5363, 0.7147, 0.9594, 1.265, 1.624, 2.046, 2.559, 3.173",\
                 "0.4057, 0.4427, 0.5654, 0.7722, 1.052, 1.399, 1.808, 2.275, 2.799, 3.408",\
                 "0.3879, 0.4311, 0.5706, 0.8057, 1.123, 1.512, 1.968, 2.49, 3.072, 3.71",\
                 "0.3477, 0.3961, 0.5508, 0.815, 1.17, 1.604, 2.107, 2.68, 3.321, 4.025",\
                 "0.2837, 0.3353, 0.5076, 0.7981, 1.192, 1.67, 2.224, 2.848, 3.544, 4.31");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2739, 0.3057, 0.4162, 0.6253, 0.9498, 1.404, 2.002, 2.754, 3.672, 4.766",\
                 "0.2862, 0.3188, 0.4315, 0.643, 0.969, 1.424, 2.023, 2.775, 3.694, 4.787",\
                 "0.3239, 0.3561, 0.4686, 0.6808, 1.009, 1.466, 2.065, 2.819, 3.738, 4.832",\
                 "0.3947, 0.4291, 0.5447, 0.754, 1.079, 1.534, 2.133, 2.887, 3.806, 4.9",\
                 "0.4978, 0.5346, 0.658, 0.8802, 1.204, 1.654, 2.248, 2.999, 3.915, 5.007",\
                 "0.6334, 0.6757, 0.8109, 1.045, 1.387, 1.841, 2.426, 3.17, 4.081, 5.169",\
                 "0.7952, 0.8436, 0.9966, 1.252, 1.609, 2.084, 2.679, 3.413, 4.316, 5.397",\
                 "0.9796, 1.035, 1.21, 1.494, 1.878, 2.37, 2.989, 3.736, 4.63, 5.7",\
                 "1.189, 1.251, 1.448, 1.766, 2.185, 2.704, 3.343, 4.117, 5.028, 6.09",\
                 "1.422, 1.491, 1.712, 2.065, 2.524, 3.083, 3.748, 4.544, 5.483, 6.566");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3024, 0.3338, 0.4429, 0.6485, 0.9646, 1.409, 1.99, 2.722, 3.616, 4.681",\
                 "0.3022, 0.334, 0.4433, 0.6486, 0.9656, 1.409, 1.99, 2.723, 3.616, 4.68",\
                 "0.2982, 0.3289, 0.4397, 0.6474, 0.9659, 1.409, 1.99, 2.722, 3.616, 4.68",\
                 "0.3652, 0.395, 0.4924, 0.6691, 0.9663, 1.409, 1.99, 2.722, 3.616, 4.681",\
                 "0.4694, 0.5014, 0.6088, 0.7974, 1.066, 1.446, 1.991, 2.723, 3.615, 4.681",\
                 "0.6068, 0.6426, 0.7596, 0.9622, 1.252, 1.631, 2.109, 2.758, 3.617, 4.68",\
                 "0.7698, 0.8114, 0.9456, 1.164, 1.472, 1.874, 2.374, 2.968, 3.729, 4.709",\
                 "0.9534, 1.004, 1.157, 1.404, 1.735, 2.155, 2.681, 3.308, 4.032, 4.916",\
                 "1.162, 1.218, 1.393, 1.674, 2.035, 2.48, 3.028, 3.682, 4.449, 5.313",\
                 "1.388, 1.453, 1.657, 1.971, 2.374, 2.851, 3.419, 4.099, 4.897, 5.811");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4504, 0.5076, 0.7041, 1.074, 1.644, 2.439, 3.484, 4.805, 6.412, 8.327",\
                 "0.4505, 0.5075, 0.7044, 1.074, 1.644, 2.438, 3.486, 4.803, 6.413, 8.333",\
                 "0.4532, 0.5089, 0.7044, 1.074, 1.644, 2.438, 3.485, 4.804, 6.411, 8.332",\
                 "0.5131, 0.5603, 0.7323, 1.078, 1.644, 2.438, 3.486, 4.805, 6.413, 8.327",\
                 "0.6058, 0.6528, 0.8238, 1.143, 1.664, 2.44, 3.486, 4.803, 6.415, 8.332",\
                 "0.7464, 0.7886, 0.9434, 1.264, 1.764, 2.487, 3.492, 4.803, 6.415, 8.329",\
                 "0.923, 0.9656, 1.117, 1.418, 1.915, 2.621, 3.571, 4.825, 6.413, 8.334",\
                 "1.118, 1.164, 1.325, 1.624, 2.102, 2.807, 3.738, 4.935, 6.455, 8.339",\
                 "1.328, 1.38, 1.555, 1.874, 2.347, 3.029, 3.967, 5.138, 6.596, 8.404",\
                 "1.553, 1.61, 1.803, 2.148, 2.641, 3.309, 4.226, 5.406, 6.84, 8.587");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1625, 0.1811, 0.2448, 0.3642, 0.5485, 0.8056, 1.143, 1.568, 2.086, 2.704",\
                 "0.1721, 0.1906, 0.2545, 0.3741, 0.5582, 0.8154, 1.153, 1.578, 2.096, 2.714",\
                 "0.2137, 0.2316, 0.2939, 0.413, 0.5969, 0.8539, 1.191, 1.616, 2.134, 2.752",\
                 "0.2638, 0.2875, 0.3645, 0.4938, 0.6765, 0.9322, 1.269, 1.692, 2.21, 2.827",\
                 "0.2963, 0.3258, 0.42, 0.5787, 0.7941, 1.06, 1.394, 1.816, 2.332, 2.948",\
                 "0.3085, 0.3438, 0.4573, 0.6448, 0.8968, 1.208, 1.573, 1.996, 2.509, 3.122",\
                 "0.2985, 0.3403, 0.4725, 0.6904, 0.9801, 1.334, 1.75, 2.222, 2.748, 3.359",\
                 "0.2673, 0.3136, 0.4646, 0.7129, 1.042, 1.44, 1.904, 2.431, 3.017, 3.659",\
                 "0.2132, 0.2639, 0.4321, 0.7115, 1.08, 1.524, 2.036, 2.615, 3.26, 3.969",\
                 "0.1349, 0.1918, 0.3763, 0.6836, 1.091, 1.582, 2.146, 2.777, 3.478, 4.249");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.268, 0.2996, 0.4099, 0.6185, 0.9417, 1.395, 1.991, 2.741, 3.659, 4.749",\
                 "0.2804, 0.3127, 0.4252, 0.6361, 0.9605, 1.415, 2.012, 2.762, 3.681, 4.773",\
                 "0.318, 0.35, 0.4618, 0.6741, 1.001, 1.457, 2.054, 2.806, 3.724, 4.818",\
                 "0.3874, 0.422, 0.5379, 0.7467, 1.071, 1.526, 2.123, 2.875, 3.792, 4.886",\
                 "0.4896, 0.5265, 0.6502, 0.8723, 1.196, 1.644, 2.237, 2.986, 3.901, 4.991",\
                 "0.6227, 0.6654, 0.8019, 1.036, 1.377, 1.83, 2.415, 3.157, 4.066, 5.154",\
                 "0.7812, 0.8308, 0.985, 1.242, 1.599, 2.073, 2.667, 3.4, 4.3, 5.379",\
                 "0.9625, 1.019, 1.196, 1.481, 1.866, 2.358, 2.975, 3.722, 4.614, 5.683",\
                 "1.167, 1.23, 1.431, 1.751, 2.172, 2.691, 3.329, 4.101, 5.01, 6.072",\
                 "1.395, 1.467, 1.69, 2.046, 2.509, 3.068, 3.733, 4.527, 5.465, 6.547");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2519, 0.2829, 0.3912, 0.5948, 0.9106, 1.355, 1.936, 2.668, 3.561, 4.627",\
                 "0.251, 0.2824, 0.3912, 0.5954, 0.9106, 1.354, 1.935, 2.667, 3.561, 4.627",\
                 "0.2548, 0.2835, 0.3869, 0.5941, 0.9104, 1.354, 1.935, 2.667, 3.561, 4.626",\
                 "0.3301, 0.3575, 0.4562, 0.6291, 0.9147, 1.354, 1.935, 2.667, 3.56, 4.626",\
                 "0.4362, 0.4686, 0.5736, 0.7604, 1.029, 1.402, 1.94, 2.667, 3.56, 4.625",\
                 "0.5734, 0.6104, 0.7278, 0.9268, 1.217, 1.595, 2.07, 2.712, 3.564, 4.625",\
                 "0.731, 0.7758, 0.9118, 1.13, 1.435, 1.838, 2.336, 2.932, 3.686, 4.658",\
                 "0.9118, 0.9634, 1.121, 1.372, 1.701, 2.118, 2.643, 3.271, 3.994, 4.875",\
                 "1.111, 1.17, 1.354, 1.64, 2.004, 2.446, 2.99, 3.647, 4.413, 5.277",\
                 "1.33, 1.398, 1.609, 1.934, 2.339, 2.821, 3.383, 4.062, 4.86, 5.772");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3444, 0.3986, 0.589, 0.9542, 1.521, 2.318, 3.365, 4.685, 6.287, 8.207",\
                 "0.3443, 0.3989, 0.5893, 0.9544, 1.519, 2.314, 3.362, 4.685, 6.289, 8.204",\
                 "0.3471, 0.3998, 0.5901, 0.9541, 1.521, 2.316, 3.365, 4.685, 6.287, 8.205",\
                 "0.4007, 0.4492, 0.6169, 0.9581, 1.522, 2.317, 3.361, 4.679, 6.295, 8.211",\
                 "0.4766, 0.5252, 0.6994, 1.023, 1.54, 2.319, 3.363, 4.68, 6.287, 8.214",\
                 "0.597, 0.644, 0.8078, 1.133, 1.64, 2.366, 3.366, 4.686, 6.288, 8.224",\
                 "0.7424, 0.7946, 0.964, 1.276, 1.784, 2.495, 3.453, 4.704, 6.3, 8.21",\
                 "0.904, 0.9622, 1.149, 1.472, 1.964, 2.676, 3.612, 4.811, 6.333, 8.223",\
                 "1.077, 1.144, 1.353, 1.704, 2.199, 2.897, 3.835, 5.012, 6.473, 8.284",\
                 "1.262, 1.335, 1.572, 1.958, 2.485, 3.167, 4.089, 5.279, 6.715, 8.461");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1451, 0.161, 0.2157, 0.3181, 0.4758, 0.6959, 0.9847, 1.348, 1.792, 2.32",\
                 "0.1553, 0.1713, 0.226, 0.3285, 0.4863, 0.7062, 0.9952, 1.359, 1.802, 2.33",\
                 "0.1977, 0.214, 0.2681, 0.37, 0.5275, 0.7473, 1.036, 1.399, 1.843, 2.371",\
                 "0.2409, 0.2628, 0.3337, 0.4516, 0.6121, 0.8306, 1.118, 1.481, 1.924, 2.452",\
                 "0.2637, 0.2914, 0.38, 0.5265, 0.7233, 0.9637, 1.251, 1.612, 2.053, 2.58",\
                 "0.2629, 0.2962, 0.4037, 0.58, 0.8127, 1.098, 1.429, 1.802, 2.241, 2.765",\
                 "0.237, 0.2764, 0.4016, 0.6076, 0.8796, 1.207, 1.587, 2.016, 2.489, 3.016",\
                 "0.1855, 0.2301, 0.3736, 0.6092, 0.9201, 1.293, 1.72, 2.203, 2.736, 3.317",\
                 "0.108, 0.1577, 0.3172, 0.5822, 0.9314, 1.35, 1.828, 2.362, 2.953, 3.598",\
                 "0.0027, 0.0575, 0.2337, 0.5255, 0.9129, 1.378, 1.907, 2.496, 3.142, 3.846");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2678, 0.2995, 0.4098, 0.6183, 0.9412, 1.395, 1.991, 2.741, 3.66, 4.749",\
                 "0.2795, 0.3118, 0.4244, 0.6353, 0.9596, 1.414, 2.01, 2.761, 3.679, 4.773",\
                 "0.3164, 0.3483, 0.4602, 0.6723, 0.9988, 1.455, 2.052, 2.804, 3.723, 4.815",\
                 "0.3871, 0.4216, 0.5373, 0.7453, 1.069, 1.524, 2.12, 2.874, 3.789, 4.882",\
                 "0.4947, 0.5313, 0.6534, 0.8742, 1.197, 1.644, 2.236, 2.986, 3.9, 4.993",\
                 "0.637, 0.6785, 0.8126, 1.044, 1.383, 1.834, 2.418, 3.158, 4.067, 5.152",\
                 "0.807, 0.8552, 1.008, 1.26, 1.613, 2.084, 2.675, 3.406, 4.306, 5.383",\
                 "1.004, 1.059, 1.233, 1.514, 1.893, 2.38, 2.994, 3.737, 4.626, 5.693",\
                 "1.226, 1.29, 1.486, 1.8, 2.213, 2.727, 3.359, 4.128, 5.033, 6.09",\
                 "1.476, 1.547, 1.767, 2.117, 2.571, 3.122, 3.779, 4.568, 5.501, 6.578");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2091, 0.2354, 0.3272, 0.5008, 0.7699, 1.147, 1.643, 2.268, 3.029, 3.936",\
                 "0.2086, 0.235, 0.3268, 0.501, 0.7704, 1.147, 1.644, 2.267, 3.029, 3.936",\
                 "0.2232, 0.2453, 0.328, 0.5001, 0.7703, 1.147, 1.644, 2.266, 3.029, 3.936",\
                 "0.3021, 0.3281, 0.4116, 0.5553, 0.7861, 1.148, 1.643, 2.266, 3.028, 3.937",\
                 "0.4111, 0.4392, 0.5328, 0.6948, 0.9244, 1.228, 1.662, 2.267, 3.028, 3.936",\
                 "0.545, 0.5788, 0.686, 0.8648, 1.115, 1.441, 1.836, 2.353, 3.047, 3.937",\
                 "0.7014, 0.7416, 0.8688, 1.068, 1.341, 1.691, 2.119, 2.621, 3.231, 4.017",\
                 "0.8788, 0.927, 1.074, 1.305, 1.605, 1.975, 2.431, 2.973, 3.591, 4.305",\
                 "1.078, 1.133, 1.305, 1.567, 1.904, 2.304, 2.782, 3.355, 4.014, 4.758",\
                 "1.299, 1.363, 1.559, 1.859, 2.233, 2.672, 3.18, 3.776, 4.47, 5.255");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3438, 0.3986, 0.589, 0.9545, 1.522, 2.318, 3.365, 4.685, 6.29, 8.207",\
                 "0.3443, 0.3989, 0.5893, 0.9544, 1.522, 2.318, 3.365, 4.684, 6.287, 8.215",\
                 "0.347, 0.3996, 0.5889, 0.9539, 1.519, 2.319, 3.364, 4.684, 6.291, 8.203",\
                 "0.4016, 0.4493, 0.6173, 0.958, 1.522, 2.319, 3.364, 4.684, 6.288, 8.201",\
                 "0.475, 0.523, 0.6964, 1.022, 1.543, 2.319, 3.367, 4.683, 6.292, 8.218",\
                 "0.5916, 0.6384, 0.8024, 1.129, 1.638, 2.365, 3.369, 4.681, 6.288, 8.22",\
                 "0.7346, 0.787, 0.9558, 1.268, 1.777, 2.491, 3.442, 4.705, 6.3, 8.211",\
                 "0.893, 0.9506, 1.135, 1.458, 1.949, 2.667, 3.606, 4.807, 6.329, 8.216",\
                 "1.065, 1.128, 1.336, 1.682, 2.175, 2.873, 3.819, 5.003, 6.467, 8.274",\
                 "1.248, 1.32, 1.554, 1.93, 2.453, 3.137, 4.065, 5.258, 6.703, 8.452");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2077, 0.2264, 0.291, 0.4118, 0.5971, 0.855, 1.193, 1.618, 2.136, 2.754",\
                 "0.2174, 0.2361, 0.3008, 0.4215, 0.6069, 0.8648, 1.203, 1.628, 2.147, 2.763",\
                 "0.2575, 0.2758, 0.3401, 0.4605, 0.6456, 0.9035, 1.241, 1.666, 2.185, 2.803",\
                 "0.3229, 0.3446, 0.4173, 0.5416, 0.725, 0.9815, 1.318, 1.743, 2.261, 2.878",\
                 "0.3706, 0.3978, 0.4861, 0.6379, 0.8473, 1.109, 1.444, 1.866, 2.382, 2.998",\
                 "0.3991, 0.4312, 0.5363, 0.7147, 0.9594, 1.265, 1.624, 2.046, 2.559, 3.173",\
                 "0.4057, 0.4427, 0.5654, 0.7722, 1.052, 1.399, 1.808, 2.275, 2.799, 3.408",\
                 "0.3879, 0.4311, 0.5706, 0.8057, 1.123, 1.512, 1.968, 2.49, 3.072, 3.71",\
                 "0.3477, 0.3961, 0.5508, 0.815, 1.17, 1.604, 2.107, 2.68, 3.321, 4.025",\
                 "0.2837, 0.3353, 0.5076, 0.7981, 1.192, 1.67, 2.224, 2.848, 3.544, 4.31");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2678, 0.2995, 0.4098, 0.6183, 0.9412, 1.395, 1.991, 2.741, 3.66, 4.749",\
                 "0.2795, 0.3118, 0.4244, 0.6353, 0.9596, 1.414, 2.01, 2.761, 3.679, 4.773",\
                 "0.3164, 0.3483, 0.4602, 0.6723, 0.9988, 1.455, 2.052, 2.804, 3.723, 4.815",\
                 "0.3871, 0.4216, 0.5373, 0.7453, 1.069, 1.524, 2.12, 2.874, 3.789, 4.882",\
                 "0.4947, 0.5313, 0.6534, 0.8742, 1.197, 1.644, 2.236, 2.986, 3.9, 4.993",\
                 "0.637, 0.6785, 0.8126, 1.044, 1.383, 1.834, 2.418, 3.158, 4.067, 5.152",\
                 "0.807, 0.8552, 1.008, 1.26, 1.613, 2.084, 2.675, 3.406, 4.306, 5.383",\
                 "1.004, 1.059, 1.233, 1.514, 1.893, 2.38, 2.994, 3.737, 4.626, 5.693",\
                 "1.226, 1.29, 1.486, 1.8, 2.213, 2.727, 3.359, 4.128, 5.033, 6.09",\
                 "1.476, 1.547, 1.767, 2.117, 2.571, 3.122, 3.779, 4.568, 5.501, 6.578");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3024, 0.3338, 0.4429, 0.6485, 0.9646, 1.409, 1.99, 2.722, 3.616, 4.681",\
                 "0.3022, 0.334, 0.4433, 0.6486, 0.9656, 1.409, 1.99, 2.723, 3.616, 4.68",\
                 "0.2982, 0.3289, 0.4397, 0.6474, 0.9659, 1.409, 1.99, 2.722, 3.616, 4.68",\
                 "0.3652, 0.395, 0.4924, 0.6691, 0.9663, 1.409, 1.99, 2.722, 3.616, 4.681",\
                 "0.4694, 0.5014, 0.6088, 0.7974, 1.066, 1.446, 1.991, 2.723, 3.615, 4.681",\
                 "0.6068, 0.6426, 0.7596, 0.9622, 1.252, 1.631, 2.109, 2.758, 3.617, 4.68",\
                 "0.7698, 0.8114, 0.9456, 1.164, 1.472, 1.874, 2.374, 2.968, 3.729, 4.709",\
                 "0.9534, 1.004, 1.157, 1.404, 1.735, 2.155, 2.681, 3.308, 4.032, 4.916",\
                 "1.162, 1.218, 1.393, 1.674, 2.035, 2.48, 3.028, 3.682, 4.449, 5.313",\
                 "1.388, 1.453, 1.657, 1.971, 2.374, 2.851, 3.419, 4.099, 4.897, 5.811");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4504, 0.5076, 0.7041, 1.074, 1.644, 2.439, 3.484, 4.805, 6.412, 8.327",\
                 "0.4505, 0.5075, 0.7044, 1.074, 1.644, 2.438, 3.486, 4.803, 6.413, 8.333",\
                 "0.4532, 0.5089, 0.7044, 1.074, 1.644, 2.438, 3.485, 4.804, 6.411, 8.332",\
                 "0.5131, 0.5603, 0.7323, 1.078, 1.644, 2.438, 3.486, 4.805, 6.413, 8.327",\
                 "0.6058, 0.6528, 0.8238, 1.143, 1.664, 2.44, 3.486, 4.803, 6.415, 8.332",\
                 "0.7464, 0.7886, 0.9434, 1.264, 1.764, 2.487, 3.492, 4.803, 6.415, 8.329",\
                 "0.923, 0.9656, 1.117, 1.418, 1.915, 2.621, 3.571, 4.825, 6.413, 8.334",\
                 "1.118, 1.164, 1.325, 1.624, 2.102, 2.807, 3.738, 4.935, 6.455, 8.339",\
                 "1.328, 1.38, 1.555, 1.874, 2.347, 3.029, 3.967, 5.138, 6.596, 8.404",\
                 "1.553, 1.61, 1.803, 2.148, 2.641, 3.309, 4.226, 5.406, 6.84, 8.587");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2542, 0.2727, 0.3366, 0.4562, 0.6405, 0.8976, 1.235, 1.66, 2.179, 2.795",\
                 "0.2676, 0.2863, 0.3505, 0.4706, 0.6552, 0.9125, 1.25, 1.675, 2.194, 2.811",\
                 "0.2912, 0.31, 0.3749, 0.4957, 0.681, 0.9389, 1.277, 1.702, 2.22, 2.838",\
                 "0.3066, 0.3274, 0.3975, 0.5233, 0.7093, 0.9673, 1.305, 1.731, 2.249, 2.867",\
                 "0.3025, 0.3262, 0.4043, 0.5417, 0.7413, 1.007, 1.344, 1.769, 2.286, 2.903",\
                 "0.2663, 0.2951, 0.3876, 0.543, 0.7599, 1.043, 1.397, 1.826, 2.342, 2.957",\
                 "0.1892, 0.2231, 0.3334, 0.515, 0.7584, 1.064, 1.438, 1.888, 2.418, 3.034",\
                 "0.0678, 0.1078, 0.236, 0.4466, 0.7246, 1.062, 1.463, 1.936, 2.488, 3.125",\
                 "-0.1008, -0.0544, 0.0924, 0.3324, 0.6482, 1.026, 1.463, 1.966, 2.543, 3.205",\
                 "-0.3172, -0.2659, -0.101, 0.17, 0.5235, 0.9458, 1.427, 1.968, 2.579, 3.267");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4422, 0.4752, 0.5895, 0.8037, 1.132, 1.59, 2.19, 2.944, 3.863, 4.957",\
                 "0.451, 0.4841, 0.5987, 0.813, 1.142, 1.6, 2.2, 2.954, 3.873, 4.967",\
                 "0.5022, 0.5357, 0.6495, 0.8637, 1.193, 1.651, 2.25, 3.005, 3.924, 5.018",\
                 "0.6246, 0.6565, 0.7677, 0.9782, 1.304, 1.759, 2.358, 3.11, 4.029, 5.122",\
                 "0.8211, 0.8552, 0.9697, 1.176, 1.494, 1.943, 2.536, 3.285, 4.201, 5.292",\
                 "1.062, 1.1, 1.227, 1.454, 1.778, 2.219, 2.803, 3.545, 4.454, 5.54",\
                 "1.352, 1.393, 1.532, 1.78, 2.136, 2.596, 3.173, 3.902, 4.802, 5.88",\
                 "1.696, 1.742, 1.893, 2.158, 2.542, 3.042, 3.648, 4.373, 5.26, 6.327",\
                 "2.094, 2.144, 2.31, 2.597, 3.005, 3.537, 4.19, 4.952, 5.838, 6.891",\
                 "2.546, 2.602, 2.785, 3.098, 3.533, 4.094, 4.785, 5.601, 6.528, 7.582");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2524, 0.2832, 0.3915, 0.5956, 0.9109, 1.355, 1.935, 2.668, 3.561, 4.624",\
                 "0.2525, 0.2833, 0.3909, 0.5955, 0.9113, 1.354, 1.935, 2.667, 3.561, 4.626",\
                 "0.2538, 0.2847, 0.3915, 0.595, 0.9105, 1.354, 1.936, 2.667, 3.561, 4.625",\
                 "0.2938, 0.3226, 0.4241, 0.6122, 0.9147, 1.355, 1.934, 2.667, 3.56, 4.627",\
                 "0.365, 0.3932, 0.491, 0.6808, 0.9734, 1.383, 1.942, 2.667, 3.56, 4.627",\
                 "0.4832, 0.51, 0.6056, 0.7848, 1.073, 1.481, 2.014, 2.702, 3.569, 4.625",\
                 "0.633, 0.6622, 0.7636, 0.944, 1.219, 1.615, 2.148, 2.82, 3.647, 4.662",\
                 "0.8098, 0.8426, 0.9516, 1.142, 1.42, 1.805, 2.322, 2.992, 3.811, 4.786",\
                 "1.012, 1.046, 1.164, 1.367, 1.661, 2.05, 2.558, 3.207, 4.02, 4.997",\
                 "1.229, 1.267, 1.401, 1.622, 1.935, 2.341, 2.85, 3.489, 4.28, 5.248");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.763, 0.8185, 1.014, 1.383, 1.955, 2.753, 3.802, 5.122, 6.732, 8.652",\
                 "0.7627, 0.8187, 1.014, 1.383, 1.954, 2.753, 3.802, 5.12, 6.732, 8.649",\
                 "0.7628, 0.8186, 1.014, 1.384, 1.955, 2.754, 3.803, 5.121, 6.732, 8.648",\
                 "0.7698, 0.8232, 1.014, 1.383, 1.955, 2.754, 3.803, 5.124, 6.732, 8.65",\
                 "0.8636, 0.9108, 1.078, 1.407, 1.957, 2.754, 3.802, 5.122, 6.734, 8.649",\
                 "0.9918, 1.047, 1.224, 1.543, 2.032, 2.768, 3.803, 5.124, 6.733, 8.652",\
                 "1.134, 1.19, 1.383, 1.727, 2.225, 2.9, 3.847, 5.126, 6.734, 8.651",\
                 "1.305, 1.363, 1.558, 1.921, 2.456, 3.152, 4.035, 5.21, 6.747, 8.652",\
                 "1.504, 1.564, 1.767, 2.138, 2.693, 3.437, 4.342, 5.454, 6.876, 8.683",\
                 "1.72, 1.788, 2.005, 2.386, 2.952, 3.725, 4.693, 5.821, 7.174, 8.862");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2121, 0.2299, 0.2917, 0.4091, 0.5917, 0.8478, 1.184, 1.608, 2.126, 2.744",\
                 "0.225, 0.2429, 0.3055, 0.4237, 0.6064, 0.8624, 1.199, 1.623, 2.141, 2.757",\
                 "0.2466, 0.2653, 0.3291, 0.4482, 0.6322, 0.8893, 1.226, 1.65, 2.169, 2.786",\
                 "0.2546, 0.2761, 0.3472, 0.4741, 0.6603, 0.9172, 1.254, 1.679, 2.196, 2.815",\
                 "0.2387, 0.2646, 0.3472, 0.4878, 0.6893, 0.9561, 1.294, 1.717, 2.234, 2.851",\
                 "0.1856, 0.2179, 0.3185, 0.4819, 0.7036, 0.9888, 1.344, 1.774, 2.29, 2.905",\
                 "0.0898, 0.1291, 0.2502, 0.4434, 0.6956, 1.006, 1.383, 1.834, 2.365, 2.981",\
                 "-0.05, -0.004, 0.1381, 0.3634, 0.6535, 0.999, 1.405, 1.88, 2.433, 3.072",\
                 "-0.2356, -0.1839, -0.0208, 0.2372, 0.5674, 0.9556, 1.4, 1.907, 2.486, 3.149",\
                 "-0.4683, -0.4107, -0.2286, 0.0625, 0.4332, 0.8677, 1.357, 1.905, 2.519, 3.21");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4329, 0.4662, 0.5808, 0.7949, 1.123, 1.581, 2.18, 2.932, 3.851, 4.939",\
                 "0.4417, 0.4751, 0.5899, 0.8042, 1.133, 1.589, 2.188, 2.942, 3.859, 4.952",\
                 "0.493, 0.5262, 0.6408, 0.8549, 1.183, 1.64, 2.239, 2.993, 3.911, 5.002",\
                 "0.6155, 0.6475, 0.7589, 0.969, 1.294, 1.749, 2.346, 3.098, 4.014, 5.11",\
                 "0.8106, 0.8447, 0.9603, 1.167, 1.485, 1.932, 2.525, 3.272, 4.186, 5.279",\
                 "1.048, 1.087, 1.216, 1.443, 1.768, 2.208, 2.791, 3.531, 4.439, 5.525",\
                 "1.337, 1.378, 1.518, 1.766, 2.125, 2.584, 3.159, 3.888, 4.787, 5.865",\
                 "1.678, 1.724, 1.876, 2.144, 2.528, 3.028, 3.634, 4.358, 5.244, 6.31",\
                 "2.072, 2.122, 2.291, 2.58, 2.989, 3.521, 4.174, 4.936, 5.821, 6.873",\
                 "2.52, 2.577, 2.762, 3.077, 3.515, 4.075, 4.766, 5.582, 6.51, 7.563");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2002, 0.2312, 0.3381, 0.5401, 0.8556, 1.297, 1.879, 2.611, 3.506, 4.568",\
                 "0.2005, 0.2307, 0.3382, 0.5403, 0.8559, 1.298, 1.879, 2.61, 3.506, 4.564",\
                 "0.2077, 0.2358, 0.3386, 0.5404, 0.8558, 1.299, 1.877, 2.612, 3.506, 4.572",\
                 "0.2515, 0.2795, 0.3789, 0.5646, 0.8633, 1.299, 1.88, 2.61, 3.505, 4.574",\
                 "0.3338, 0.3596, 0.4524, 0.6354, 0.9268, 1.332, 1.888, 2.613, 3.504, 4.569",\
                 "0.46, 0.486, 0.576, 0.7486, 1.029, 1.434, 1.965, 2.651, 3.516, 4.57",\
                 "0.6158, 0.6438, 0.7384, 0.914, 1.182, 1.572, 2.103, 2.772, 3.594, 4.614",\
                 "0.799, 0.8282, 0.9316, 1.115, 1.389, 1.77, 2.278, 2.944, 3.762, 4.734",\
                 "1.001, 1.034, 1.145, 1.346, 1.632, 2.019, 2.52, 3.163, 3.973, 4.945",\
                 "1.214, 1.253, 1.383, 1.6, 1.909, 2.309, 2.819, 3.449, 4.236, 5.199");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.6332, 0.6904, 0.8873, 1.257, 1.829, 2.629, 3.679, 5, 6.613, 8.524",\
                 "0.6339, 0.6899, 0.8856, 1.258, 1.829, 2.629, 3.68, 5.003, 6.615, 8.528",\
                 "0.6332, 0.689, 0.8858, 1.257, 1.829, 2.629, 3.68, 5, 6.612, 8.525",\
                 "0.6388, 0.6936, 0.8859, 1.255, 1.828, 2.629, 3.679, 5.001, 6.614, 8.533",\
                 "0.7288, 0.7798, 0.9488, 1.28, 1.83, 2.628, 3.678, 4.998, 6.612, 8.532",\
                 "0.8374, 0.8964, 1.084, 1.412, 1.905, 2.642, 3.678, 4.998, 6.609, 8.531",\
                 "0.9624, 1.022, 1.227, 1.586, 2.096, 2.775, 3.72, 5.001, 6.608, 8.528",\
                 "1.115, 1.178, 1.386, 1.766, 2.316, 3.022, 3.909, 5.083, 6.619, 8.526",\
                 "1.288, 1.355, 1.579, 1.971, 2.54, 3.299, 4.214, 5.327, 6.749, 8.557",\
                 "1.478, 1.555, 1.796, 2.204, 2.789, 3.578, 4.555, 5.692, 7.049, 8.736");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1885, 0.2034, 0.255, 0.3532, 0.5053, 0.7185, 0.9991, 1.352, 1.784, 2.297",\
                 "0.2014, 0.2166, 0.2688, 0.3673, 0.5197, 0.7336, 1.014, 1.367, 1.798, 2.312",\
                 "0.225, 0.241, 0.2948, 0.3943, 0.5476, 0.7618, 1.042, 1.396, 1.827, 2.342",\
                 "0.2371, 0.2561, 0.3195, 0.4295, 0.588, 0.8024, 1.083, 1.437, 1.868, 2.382",\
                 "0.2233, 0.2477, 0.3257, 0.4538, 0.6314, 0.8615, 1.147, 1.5, 1.93, 2.444",\
                 "0.1721, 0.2029, 0.3001, 0.4557, 0.6597, 0.9133, 1.222, 1.589, 2.021, 2.533",\
                 "0.079, 0.1161, 0.2335, 0.4201, 0.6604, 0.9468, 1.283, 1.677, 2.134, 2.655",\
                 "-0.0579, -0.0145, 0.1225, 0.3412, 0.6219, 0.9501, 1.324, 1.749, 2.234, 2.785",\
                 "-0.2404, -0.191, -0.0346, 0.2159, 0.5375, 0.9124, 1.332, 1.798, 2.318, 2.9",\
                 "-0.4702, -0.4155, -0.2409, 0.0415, 0.4031, 0.8262, 1.297, 1.813, 2.377, 2.996");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4796, 0.5119, 0.6243, 0.8357, 1.162, 1.618, 2.215, 2.967, 3.883, 4.977",\
                 "0.4887, 0.5212, 0.6338, 0.8455, 1.172, 1.628, 2.227, 2.979, 3.893, 4.987",\
                 "0.5404, 0.5728, 0.685, 0.8968, 1.223, 1.679, 2.277, 3.031, 3.948, 5.042",\
                 "0.6626, 0.6939, 0.8035, 1.012, 1.335, 1.788, 2.385, 3.135, 4.054, 5.147",\
                 "0.8619, 0.8945, 1.006, 1.21, 1.526, 1.973, 2.564, 3.311, 4.224, 5.312",\
                 "1.105, 1.143, 1.268, 1.491, 1.812, 2.251, 2.832, 3.572, 4.478, 5.565",\
                 "1.4, 1.441, 1.576, 1.821, 2.175, 2.629, 3.204, 3.931, 4.829, 5.906",\
                 "1.749, 1.794, 1.941, 2.203, 2.584, 3.08, 3.682, 4.405, 5.29, 6.355",\
                 "2.154, 2.202, 2.365, 2.647, 3.052, 3.582, 4.231, 4.99, 5.871, 6.924",\
                 "2.613, 2.667, 2.845, 3.153, 3.585, 4.143, 4.832, 5.644, 6.567, 7.619");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1975, 0.2229, 0.3114, 0.4811, 0.7435, 1.112, 1.595, 2.205, 2.95, 3.835",\
                 "0.1971, 0.2229, 0.3119, 0.4811, 0.7436, 1.112, 1.595, 2.205, 2.949, 3.836",\
                 "0.2089, 0.2315, 0.3149, 0.4805, 0.7438, 1.111, 1.596, 2.206, 2.95, 3.838",\
                 "0.269, 0.2905, 0.3688, 0.5184, 0.7585, 1.113, 1.595, 2.206, 2.947, 3.837",\
                 "0.3726, 0.3929, 0.4652, 0.6098, 0.8436, 1.17, 1.618, 2.208, 2.947, 3.836",\
                 "0.5168, 0.5378, 0.6106, 0.7494, 0.9714, 1.297, 1.727, 2.275, 2.975, 3.838",\
                 "0.6892, 0.712, 0.7894, 0.9342, 1.155, 1.468, 1.895, 2.437, 3.098, 3.913",\
                 "0.8868, 0.9094, 0.994, 1.152, 1.384, 1.697, 2.109, 2.646, 3.309, 4.095",\
                 "1.102, 1.13, 1.223, 1.396, 1.646, 1.974, 2.386, 2.91, 3.566, 4.354",\
                 "1.328, 1.36, 1.471, 1.663, 1.937, 2.285, 2.717, 3.241, 3.88, 4.661");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.6853, 0.7418, 0.9388, 1.308, 1.881, 2.68, 3.732, 5.05, 6.656, 8.58",\
                 "0.6848, 0.7415, 0.9377, 1.308, 1.881, 2.681, 3.73, 5.053, 6.657, 8.579",\
                 "0.6849, 0.7408, 0.9374, 1.309, 1.88, 2.679, 3.731, 5.052, 6.664, 8.582",\
                 "0.6878, 0.7435, 0.9371, 1.307, 1.88, 2.68, 3.729, 5.053, 6.662, 8.584",\
                 "0.7718, 0.821, 0.9912, 1.326, 1.88, 2.68, 3.729, 5.05, 6.659, 8.583",\
                 "0.8848, 0.9406, 1.128, 1.451, 1.947, 2.69, 3.728, 5.049, 6.66, 8.583",\
                 "1.006, 1.066, 1.268, 1.629, 2.132, 2.814, 3.765, 5.051, 6.659, 8.58",\
                 "1.157, 1.218, 1.425, 1.807, 2.354, 3.057, 3.945, 5.127, 6.67, 8.577",\
                 "1.33, 1.395, 1.613, 2, 2.578, 3.333, 4.244, 5.361, 6.792, 8.603",\
                 "1.523, 1.595, 1.828, 2.233, 2.817, 3.607, 4.584, 5.722, 7.078, 8.776");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2542, 0.2727, 0.3366, 0.4562, 0.6405, 0.8976, 1.235, 1.66, 2.179, 2.795",\
                 "0.2676, 0.2863, 0.3505, 0.4706, 0.6552, 0.9125, 1.25, 1.675, 2.194, 2.811",\
                 "0.2912, 0.31, 0.3749, 0.4957, 0.681, 0.9389, 1.277, 1.702, 2.22, 2.838",\
                 "0.3066, 0.3274, 0.3975, 0.5233, 0.7093, 0.9673, 1.305, 1.731, 2.249, 2.867",\
                 "0.3025, 0.3262, 0.4043, 0.5417, 0.7413, 1.007, 1.344, 1.769, 2.286, 2.903",\
                 "0.2663, 0.2951, 0.3876, 0.543, 0.7599, 1.043, 1.397, 1.826, 2.342, 2.957",\
                 "0.1892, 0.2231, 0.3334, 0.515, 0.7584, 1.064, 1.438, 1.888, 2.418, 3.034",\
                 "0.0678, 0.1078, 0.236, 0.4466, 0.7246, 1.062, 1.463, 1.936, 2.488, 3.125",\
                 "-0.1008, -0.0544, 0.0924, 0.3324, 0.6482, 1.026, 1.463, 1.966, 2.543, 3.205",\
                 "-0.3172, -0.2659, -0.101, 0.17, 0.5235, 0.9458, 1.427, 1.968, 2.579, 3.267");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4796, 0.5119, 0.6243, 0.8357, 1.162, 1.618, 2.215, 2.967, 3.883, 4.977",\
                 "0.4887, 0.5212, 0.6338, 0.8455, 1.172, 1.628, 2.227, 2.979, 3.893, 4.987",\
                 "0.5404, 0.5728, 0.685, 0.8968, 1.223, 1.679, 2.277, 3.031, 3.948, 5.042",\
                 "0.6626, 0.6939, 0.8035, 1.012, 1.335, 1.788, 2.385, 3.135, 4.054, 5.147",\
                 "0.8619, 0.8945, 1.006, 1.21, 1.526, 1.973, 2.564, 3.311, 4.224, 5.312",\
                 "1.105, 1.143, 1.268, 1.491, 1.812, 2.251, 2.832, 3.572, 4.478, 5.565",\
                 "1.4, 1.441, 1.576, 1.821, 2.175, 2.629, 3.204, 3.931, 4.829, 5.906",\
                 "1.749, 1.794, 1.941, 2.203, 2.584, 3.08, 3.682, 4.405, 5.29, 6.355",\
                 "2.154, 2.202, 2.365, 2.647, 3.052, 3.582, 4.231, 4.99, 5.871, 6.924",\
                 "2.613, 2.667, 2.845, 3.153, 3.585, 4.143, 4.832, 5.644, 6.567, 7.619");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2524, 0.2832, 0.3915, 0.5956, 0.9109, 1.355, 1.935, 2.668, 3.561, 4.624",\
                 "0.2525, 0.2833, 0.3909, 0.5955, 0.9113, 1.354, 1.935, 2.667, 3.561, 4.626",\
                 "0.2538, 0.2847, 0.3915, 0.595, 0.9105, 1.354, 1.936, 2.667, 3.561, 4.625",\
                 "0.2938, 0.3226, 0.4241, 0.6122, 0.9147, 1.355, 1.934, 2.667, 3.56, 4.627",\
                 "0.365, 0.3932, 0.491, 0.6808, 0.9734, 1.383, 1.942, 2.667, 3.56, 4.627",\
                 "0.4832, 0.51, 0.6056, 0.7848, 1.073, 1.481, 2.014, 2.702, 3.569, 4.625",\
                 "0.633, 0.6622, 0.7636, 0.944, 1.219, 1.615, 2.148, 2.82, 3.647, 4.662",\
                 "0.8098, 0.8426, 0.9516, 1.142, 1.42, 1.805, 2.322, 2.992, 3.811, 4.786",\
                 "1.012, 1.046, 1.164, 1.367, 1.661, 2.05, 2.558, 3.207, 4.02, 4.997",\
                 "1.229, 1.267, 1.401, 1.622, 1.935, 2.341, 2.85, 3.489, 4.28, 5.248");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.763, 0.8185, 1.014, 1.383, 1.955, 2.753, 3.802, 5.122, 6.732, 8.652",\
                 "0.7627, 0.8187, 1.014, 1.383, 1.954, 2.753, 3.802, 5.12, 6.732, 8.649",\
                 "0.7628, 0.8186, 1.014, 1.384, 1.955, 2.754, 3.803, 5.121, 6.732, 8.648",\
                 "0.7698, 0.8232, 1.014, 1.383, 1.955, 2.754, 3.803, 5.124, 6.732, 8.65",\
                 "0.8636, 0.9108, 1.078, 1.407, 1.957, 2.754, 3.802, 5.122, 6.734, 8.649",\
                 "0.9918, 1.047, 1.224, 1.543, 2.032, 2.768, 3.803, 5.124, 6.733, 8.652",\
                 "1.134, 1.19, 1.383, 1.727, 2.225, 2.9, 3.847, 5.126, 6.734, 8.651",\
                 "1.305, 1.363, 1.558, 1.921, 2.456, 3.152, 4.035, 5.21, 6.747, 8.652",\
                 "1.504, 1.564, 1.767, 2.138, 2.693, 3.437, 4.342, 5.454, 6.876, 8.683",\
                 "1.72, 1.788, 2.005, 2.386, 2.952, 3.725, 4.693, 5.821, 7.174, 8.862");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2966, 0.3152, 0.3798, 0.5005, 0.6858, 0.9437, 1.282, 1.707, 2.226, 2.843",\
                 "0.3072, 0.3262, 0.3907, 0.5115, 0.6969, 0.9548, 1.293, 1.718, 2.237, 2.853",\
                 "0.3307, 0.3497, 0.4144, 0.5355, 0.721, 0.9791, 1.317, 1.743, 2.261, 2.879",\
                 "0.3509, 0.3712, 0.4397, 0.5638, 0.7493, 1.007, 1.345, 1.771, 2.289, 2.907",\
                 "0.3554, 0.378, 0.4532, 0.5874, 0.7845, 1.048, 1.385, 1.809, 2.327, 2.943",\
                 "0.3355, 0.3621, 0.449, 0.5983, 0.8103, 1.089, 1.44, 1.867, 2.383, 2.998",\
                 "0.2823, 0.3139, 0.4154, 0.5868, 0.8216, 1.12, 1.489, 1.935, 2.461, 3.076",\
                 "0.1942, 0.2308, 0.3469, 0.5432, 0.8072, 1.135, 1.527, 1.992, 2.539, 3.172",\
                 "0.0704, 0.1108, 0.2414, 0.4616, 0.7587, 1.121, 1.545, 2.037, 2.606, 3.261",\
                 "-0.0919, -0.0473, 0.0984, 0.3426, 0.6717, 1.071, 1.534, 2.062, 2.66, 3.338");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4814, 0.5145, 0.6288, 0.8429, 1.172, 1.63, 2.23, 2.983, 3.903, 4.996",\
                 "0.4933, 0.5263, 0.6407, 0.855, 1.184, 1.642, 2.242, 2.996, 3.915, 5.009",\
                 "0.5315, 0.5649, 0.6796, 0.8944, 1.224, 1.682, 2.282, 3.037, 3.955, 5.05",\
                 "0.6096, 0.642, 0.7549, 0.9674, 1.295, 1.752, 2.351, 3.105, 4.024, 5.117",\
                 "0.7406, 0.7743, 0.8897, 1.101, 1.422, 1.873, 2.468, 3.218, 4.134, 5.226",\
                 "0.9203, 0.9551, 1.074, 1.293, 1.62, 2.065, 2.65, 3.392, 4.303, 5.39",\
                 "1.149, 1.186, 1.312, 1.538, 1.874, 2.331, 2.912, 3.643, 4.543, 5.621",\
                 "1.419, 1.461, 1.597, 1.837, 2.184, 2.651, 3.249, 3.98, 4.867, 5.934",\
                 "1.731, 1.777, 1.926, 2.187, 2.553, 3.032, 3.642, 4.392, 5.283, 6.335",\
                 "2.084, 2.135, 2.299, 2.582, 2.976, 3.476, 4.098, 4.863, 5.775, 6.836");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3027, 0.3341, 0.4435, 0.6478, 0.9656, 1.409, 1.991, 2.722, 3.617, 4.68",\
                 "0.302, 0.334, 0.4435, 0.6479, 0.9661, 1.409, 1.99, 2.722, 3.615, 4.678",\
                 "0.3026, 0.3344, 0.4429, 0.6481, 0.9656, 1.408, 1.99, 2.723, 3.616, 4.68",\
                 "0.3384, 0.3684, 0.4698, 0.661, 0.9679, 1.409, 1.989, 2.722, 3.615, 4.682",\
                 "0.4072, 0.436, 0.5362, 0.728, 1.021, 1.435, 1.995, 2.722, 3.616, 4.68",\
                 "0.5234, 0.5518, 0.6492, 0.8316, 1.12, 1.529, 2.063, 2.753, 3.622, 4.68",\
                 "0.6798, 0.7092, 0.808, 0.988, 1.267, 1.664, 2.197, 2.868, 3.698, 4.714",\
                 "0.869, 0.9014, 1.007, 1.193, 1.47, 1.851, 2.37, 3.04, 3.858, 4.835",\
                 "1.09, 1.124, 1.238, 1.434, 1.718, 2.101, 2.605, 3.253, 4.065, 5.042",\
                 "1.34, 1.375, 1.498, 1.711, 2.014, 2.404, 2.904, 3.535, 4.325, 5.291");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.7627, 0.8185, 1.014, 1.384, 1.955, 2.753, 3.803, 5.123, 6.73, 8.652",\
                 "0.7627, 0.8187, 1.014, 1.383, 1.954, 2.754, 3.803, 5.122, 6.73, 8.65",\
                 "0.7626, 0.8187, 1.014, 1.383, 1.955, 2.753, 3.804, 5.123, 6.731, 8.649",\
                 "0.7759, 0.8286, 1.016, 1.383, 1.955, 2.753, 3.803, 5.121, 6.733, 8.649",\
                 "0.854, 0.9032, 1.076, 1.414, 1.961, 2.754, 3.804, 5.123, 6.732, 8.652",\
                 "0.961, 1.011, 1.186, 1.516, 2.03, 2.78, 3.804, 5.123, 6.733, 8.652",\
                 "1.106, 1.154, 1.325, 1.653, 2.168, 2.886, 3.861, 5.133, 6.734, 8.652",\
                 "1.285, 1.334, 1.505, 1.829, 2.336, 3.059, 4.002, 5.222, 6.763, 8.654",\
                 "1.487, 1.54, 1.72, 2.047, 2.545, 3.26, 4.214, 5.402, 6.884, 8.709",\
                 "1.707, 1.765, 1.963, 2.304, 2.806, 3.506, 4.455, 5.651, 7.103, 8.866");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2513, 0.2698, 0.3333, 0.4527, 0.6367, 0.8936, 1.231, 1.655, 2.173, 2.789",\
                 "0.262, 0.2805, 0.3443, 0.4637, 0.6477, 0.9047, 1.242, 1.666, 2.184, 2.8",\
                 "0.285, 0.3036, 0.3676, 0.4875, 0.6718, 0.929, 1.266, 1.691, 2.209, 2.825",\
                 "0.2996, 0.3202, 0.3897, 0.5148, 0.7001, 0.957, 1.294, 1.719, 2.237, 2.854",\
                 "0.2953, 0.3193, 0.3975, 0.5342, 0.7327, 0.9972, 1.334, 1.757, 2.274, 2.891",\
                 "0.2622, 0.2911, 0.3839, 0.5392, 0.7549, 1.036, 1.388, 1.815, 2.331, 2.945",\
                 "0.1945, 0.2289, 0.3385, 0.5194, 0.7608, 1.063, 1.434, 1.881, 2.409, 3.023",\
                 "0.0924, 0.1319, 0.2575, 0.4653, 0.7393, 1.073, 1.469, 1.937, 2.485, 3.119",\
                 "-0.0446, -0.0002, 0.1413, 0.3742, 0.6824, 1.053, 1.483, 1.979, 2.55, 3.206",\
                 "-0.2188, -0.1709, -0.0135, 0.2444, 0.587, 0.9975, 1.468, 2, 2.602, 3.282");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4722, 0.5055, 0.6201, 0.834, 1.163, 1.62, 2.218, 2.971, 3.89, 4.98",\
                 "0.484, 0.5172, 0.6319, 0.8461, 1.174, 1.632, 2.23, 2.984, 3.903, 4.995",\
                 "0.5223, 0.5557, 0.6707, 0.8854, 1.214, 1.672, 2.271, 3.025, 3.944, 5.032",\
                 "0.6003, 0.6329, 0.7458, 0.9583, 1.285, 1.742, 2.339, 3.092, 4.01, 5.102",\
                 "0.73, 0.7641, 0.88, 1.091, 1.412, 1.862, 2.456, 3.205, 4.121, 5.212",\
                 "0.9085, 0.9438, 1.063, 1.283, 1.61, 2.053, 2.638, 3.379, 4.287, 5.375",\
                 "1.135, 1.173, 1.3, 1.526, 1.863, 2.319, 2.899, 3.628, 4.527, 5.605",\
                 "1.403, 1.445, 1.583, 1.825, 2.172, 2.639, 3.236, 3.965, 4.85, 5.916",\
                 "1.712, 1.758, 1.91, 2.172, 2.539, 3.018, 3.627, 4.376, 5.266, 6.317",\
                 "2.06, 2.112, 2.279, 2.565, 2.959, 3.46, 4.082, 4.846, 5.757, 6.817");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.252, 0.2829, 0.3905, 0.594, 0.91, 1.354, 1.933, 2.665, 3.556, 4.618",\
                 "0.2521, 0.2828, 0.391, 0.5949, 0.9101, 1.353, 1.934, 2.664, 3.556, 4.619",\
                 "0.2551, 0.2851, 0.391, 0.5948, 0.9097, 1.353, 1.933, 2.665, 3.557, 4.62",\
                 "0.2966, 0.3253, 0.4253, 0.613, 0.9154, 1.353, 1.933, 2.664, 3.557, 4.622",\
                 "0.373, 0.401, 0.4962, 0.6826, 0.9746, 1.384, 1.941, 2.665, 3.557, 4.621",\
                 "0.4994, 0.5266, 0.6178, 0.794, 1.077, 1.482, 2.014, 2.7, 3.566, 4.621",\
                 "0.6632, 0.6908, 0.7848, 0.96, 1.228, 1.62, 2.149, 2.818, 3.643, 4.657",\
                 "0.8586, 0.8896, 0.9884, 1.168, 1.438, 1.815, 2.327, 2.991, 3.808, 4.783",\
                 "1.085, 1.116, 1.224, 1.413, 1.692, 2.07, 2.569, 3.21, 4.017, 4.991",\
                 "1.333, 1.366, 1.486, 1.692, 1.986, 2.373, 2.871, 3.496, 4.281, 5.243");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.6327, 0.6903, 0.8864, 1.257, 1.83, 2.629, 3.679, 5.002, 6.611, 8.524",\
                 "0.6337, 0.6894, 0.8863, 1.257, 1.829, 2.63, 3.68, 5.002, 6.613, 8.529",\
                 "0.6332, 0.6896, 0.8859, 1.257, 1.829, 2.629, 3.679, 5, 6.612, 8.529",\
                 "0.6448, 0.6982, 0.8881, 1.257, 1.828, 2.628, 3.679, 5, 6.613, 8.533",\
                 "0.7186, 0.7704, 0.9468, 1.286, 1.833, 2.628, 3.678, 5, 6.611, 8.532",\
                 "0.8144, 0.8668, 1.049, 1.387, 1.903, 2.653, 3.679, 4.998, 6.609, 8.531",\
                 "0.9466, 0.9986, 1.176, 1.515, 2.038, 2.76, 3.733, 5.007, 6.608, 8.528",\
                 "1.104, 1.161, 1.345, 1.68, 2.198, 2.929, 3.877, 5.095, 6.635, 8.528",\
                 "1.282, 1.343, 1.546, 1.891, 2.401, 3.123, 4.083, 5.275, 6.759, 8.583",\
                 "1.48, 1.546, 1.765, 2.132, 2.653, 3.365, 4.317, 5.523, 6.977, 8.742");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2202, 0.236, 0.289, 0.3887, 0.5422, 0.7565, 1.037, 1.391, 1.823, 2.336",\
                 "0.2315, 0.2472, 0.3002, 0.4004, 0.5536, 0.7679, 1.049, 1.403, 1.834, 2.348",\
                 "0.2568, 0.2725, 0.3262, 0.4266, 0.5802, 0.7947, 1.076, 1.429, 1.861, 2.375",\
                 "0.2767, 0.295, 0.3559, 0.4638, 0.6206, 0.835, 1.116, 1.47, 1.901, 2.415",\
                 "0.2769, 0.2992, 0.3718, 0.4949, 0.6689, 0.8962, 1.18, 1.533, 1.963, 2.476",\
                 "0.2464, 0.2741, 0.3628, 0.5091, 0.7057, 0.9542, 1.259, 1.624, 2.055, 2.567",\
                 "0.1812, 0.2141, 0.3198, 0.4931, 0.721, 0.9984, 1.328, 1.718, 2.171, 2.69",\
                 "0.0819, 0.1194, 0.2407, 0.4409, 0.7051, 1.019, 1.382, 1.799, 2.279, 2.826",\
                 "-0.0531, -0.011, 0.125, 0.3509, 0.6502, 1.006, 1.41, 1.864, 2.374, 2.95",\
                 "-0.2259, -0.1797, -0.0293, 0.2215, 0.5545, 0.9524, 1.403, 1.902, 2.452, 3.06");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.5189, 0.5513, 0.6635, 0.8752, 1.202, 1.658, 2.256, 3.006, 3.926, 5.015",\
                 "0.531, 0.5635, 0.6759, 0.8878, 1.214, 1.67, 2.268, 3.02, 3.936, 5.031",\
                 "0.5695, 0.602, 0.7149, 0.9271, 1.254, 1.71, 2.309, 3.06, 3.977, 5.074",\
                 "0.6475, 0.6794, 0.7903, 1, 1.326, 1.781, 2.377, 3.13, 4.046, 5.142",\
                 "0.7804, 0.8133, 0.9271, 1.135, 1.453, 1.902, 2.495, 3.243, 4.157, 5.249",\
                 "0.9631, 0.997, 1.114, 1.33, 1.654, 2.095, 2.679, 3.419, 4.327, 5.413",\
                 "1.197, 1.233, 1.356, 1.578, 1.912, 2.365, 2.944, 3.672, 4.571, 5.646",\
                 "1.475, 1.514, 1.648, 1.883, 2.226, 2.691, 3.285, 4.012, 4.897, 5.962",\
                 "1.794, 1.838, 1.985, 2.239, 2.6, 3.077, 3.684, 4.431, 5.319, 6.369",\
                 "2.155, 2.205, 2.365, 2.642, 3.03, 3.526, 4.147, 4.909, 5.818, 6.875");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2415, 0.2672, 0.3563, 0.5259, 0.789, 1.157, 1.641, 2.25, 2.993, 3.879",\
                 "0.2419, 0.2673, 0.3567, 0.5259, 0.7886, 1.157, 1.641, 2.25, 2.994, 3.88",\
                 "0.248, 0.2718, 0.3574, 0.5264, 0.7892, 1.157, 1.642, 2.251, 2.993, 3.879",\
                 "0.3044, 0.3266, 0.4064, 0.5566, 0.7999, 1.158, 1.64, 2.249, 2.993, 3.879",\
                 "0.4047, 0.4248, 0.5, 0.6474, 0.8812, 1.209, 1.659, 2.252, 2.993, 3.879",\
                 "0.5512, 0.5712, 0.6442, 0.7844, 1.008, 1.335, 1.765, 2.316, 3.017, 3.882",\
                 "0.7314, 0.7534, 0.8294, 0.9708, 1.19, 1.504, 1.931, 2.474, 3.136, 3.952",\
                 "0.9426, 0.9656, 1.048, 1.197, 1.424, 1.734, 2.146, 2.681, 3.345, 4.131",\
                 "1.18, 1.207, 1.295, 1.459, 1.699, 2.016, 2.425, 2.944, 3.597, 4.387",\
                 "1.443, 1.47, 1.57, 1.748, 2.006, 2.342, 2.758, 3.276, 3.911, 4.688");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.6852, 0.7414, 0.9377, 1.309, 1.881, 2.68, 3.73, 5.052, 6.662, 8.574",\
                 "0.685, 0.7421, 0.9378, 1.309, 1.881, 2.68, 3.731, 5.049, 6.656, 8.581",\
                 "0.6849, 0.7415, 0.9378, 1.308, 1.88, 2.68, 3.731, 5.052, 6.66, 8.582",\
                 "0.6936, 0.7479, 0.9384, 1.307, 1.88, 2.68, 3.729, 5.05, 6.661, 8.583",\
                 "0.7634, 0.8142, 0.9912, 1.333, 1.883, 2.678, 3.728, 5.049, 6.662, 8.583",\
                 "0.8546, 0.9056, 1.089, 1.429, 1.948, 2.701, 3.729, 5.048, 6.661, 8.582",\
                 "0.9754, 1.029, 1.21, 1.552, 2.079, 2.802, 3.779, 5.056, 6.659, 8.579",\
                 "1.131, 1.187, 1.371, 1.707, 2.232, 2.968, 3.917, 5.14, 6.684, 8.581",\
                 "1.306, 1.367, 1.563, 1.906, 2.426, 3.156, 4.12, 5.315, 6.801, 8.63",\
                 "1.5, 1.568, 1.78, 2.144, 2.664, 3.384, 4.347, 5.558, 7.011, 8.781");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2966, 0.3152, 0.3798, 0.5005, 0.6858, 0.9437, 1.282, 1.707, 2.226, 2.843",\
                 "0.3072, 0.3262, 0.3907, 0.5115, 0.6969, 0.9548, 1.293, 1.718, 2.237, 2.853",\
                 "0.3307, 0.3497, 0.4144, 0.5355, 0.721, 0.9791, 1.317, 1.743, 2.261, 2.879",\
                 "0.3509, 0.3712, 0.4397, 0.5638, 0.7493, 1.007, 1.345, 1.771, 2.289, 2.907",\
                 "0.3554, 0.378, 0.4532, 0.5874, 0.7845, 1.048, 1.385, 1.809, 2.327, 2.943",\
                 "0.3355, 0.3621, 0.449, 0.5983, 0.8103, 1.089, 1.44, 1.867, 2.383, 2.998",\
                 "0.2823, 0.3139, 0.4154, 0.5868, 0.8216, 1.12, 1.489, 1.935, 2.461, 3.076",\
                 "0.1942, 0.2308, 0.3469, 0.5432, 0.8072, 1.135, 1.527, 1.992, 2.539, 3.172",\
                 "0.0704, 0.1108, 0.2414, 0.4616, 0.7587, 1.121, 1.545, 2.037, 2.606, 3.261",\
                 "-0.0919, -0.0473, 0.0984, 0.3426, 0.6717, 1.071, 1.534, 2.062, 2.66, 3.338");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.5189, 0.5513, 0.6635, 0.8752, 1.202, 1.658, 2.256, 3.006, 3.926, 5.015",\
                 "0.531, 0.5635, 0.6759, 0.8878, 1.214, 1.67, 2.268, 3.02, 3.936, 5.031",\
                 "0.5695, 0.602, 0.7149, 0.9271, 1.254, 1.71, 2.309, 3.06, 3.977, 5.074",\
                 "0.6475, 0.6794, 0.7903, 1, 1.326, 1.781, 2.377, 3.13, 4.046, 5.142",\
                 "0.7804, 0.8133, 0.9271, 1.135, 1.453, 1.902, 2.495, 3.243, 4.157, 5.249",\
                 "0.9631, 0.997, 1.114, 1.33, 1.654, 2.095, 2.679, 3.419, 4.327, 5.413",\
                 "1.197, 1.233, 1.356, 1.578, 1.912, 2.365, 2.944, 3.672, 4.571, 5.646",\
                 "1.475, 1.514, 1.648, 1.883, 2.226, 2.691, 3.285, 4.012, 4.897, 5.962",\
                 "1.794, 1.838, 1.985, 2.239, 2.6, 3.077, 3.684, 4.431, 5.319, 6.369",\
                 "2.155, 2.205, 2.365, 2.642, 3.03, 3.526, 4.147, 4.909, 5.818, 6.875");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3027, 0.3341, 0.4435, 0.6478, 0.9656, 1.409, 1.991, 2.722, 3.617, 4.68",\
                 "0.302, 0.334, 0.4435, 0.6479, 0.9661, 1.409, 1.99, 2.722, 3.615, 4.678",\
                 "0.3026, 0.3344, 0.4429, 0.6481, 0.9656, 1.408, 1.99, 2.723, 3.616, 4.68",\
                 "0.3384, 0.3684, 0.4698, 0.661, 0.9679, 1.409, 1.989, 2.722, 3.615, 4.682",\
                 "0.4072, 0.436, 0.5362, 0.728, 1.021, 1.435, 1.995, 2.722, 3.616, 4.68",\
                 "0.5234, 0.5518, 0.6492, 0.8316, 1.12, 1.529, 2.063, 2.753, 3.622, 4.68",\
                 "0.6798, 0.7092, 0.808, 0.988, 1.267, 1.664, 2.197, 2.868, 3.698, 4.714",\
                 "0.869, 0.9014, 1.007, 1.193, 1.47, 1.851, 2.37, 3.04, 3.858, 4.835",\
                 "1.09, 1.124, 1.238, 1.434, 1.718, 2.101, 2.605, 3.253, 4.065, 5.042",\
                 "1.34, 1.375, 1.498, 1.711, 2.014, 2.404, 2.904, 3.535, 4.325, 5.291");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.7627, 0.8185, 1.014, 1.384, 1.955, 2.753, 3.803, 5.123, 6.73, 8.652",\
                 "0.7627, 0.8187, 1.014, 1.383, 1.954, 2.754, 3.803, 5.122, 6.73, 8.65",\
                 "0.7626, 0.8187, 1.014, 1.383, 1.955, 2.753, 3.804, 5.123, 6.731, 8.649",\
                 "0.7759, 0.8286, 1.016, 1.383, 1.955, 2.753, 3.803, 5.121, 6.733, 8.649",\
                 "0.854, 0.9032, 1.076, 1.414, 1.961, 2.754, 3.804, 5.123, 6.732, 8.652",\
                 "0.961, 1.011, 1.186, 1.516, 2.03, 2.78, 3.804, 5.123, 6.733, 8.652",\
                 "1.106, 1.154, 1.325, 1.653, 2.168, 2.886, 3.861, 5.133, 6.734, 8.652",\
                 "1.285, 1.334, 1.505, 1.829, 2.336, 3.059, 4.002, 5.222, 6.763, 8.654",\
                 "1.487, 1.54, 1.72, 2.047, 2.545, 3.26, 4.214, 5.402, 6.884, 8.709",\
                 "1.707, 1.765, 1.963, 2.304, 2.806, 3.506, 4.455, 5.651, 7.103, 8.866");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2682, 0.2869, 0.3516, 0.4725, 0.6578, 0.9158, 1.254, 1.679, 2.198, 2.815",\
                 "0.2792, 0.298, 0.3631, 0.484, 0.6695, 0.9277, 1.266, 1.691, 2.21, 2.827",\
                 "0.308, 0.3271, 0.392, 0.5133, 0.6993, 0.9577, 1.296, 1.721, 2.24, 2.858",\
                 "0.3488, 0.3697, 0.4401, 0.5655, 0.7511, 1.009, 1.347, 1.773, 2.291, 2.909",\
                 "0.3823, 0.4064, 0.4869, 0.6277, 0.8293, 1.094, 1.431, 1.855, 2.372, 2.989",\
                 "0.3988, 0.4271, 0.5218, 0.6826, 0.907, 1.195, 1.549, 1.976, 2.491, 3.107",\
                 "0.3902, 0.4238, 0.5341, 0.7209, 0.9746, 1.291, 1.673, 2.126, 2.652, 3.266",\
                 "0.3559, 0.3945, 0.5207, 0.7332, 1.021, 1.375, 1.79, 2.275, 2.833, 3.469",\
                 "0.2936, 0.3362, 0.4787, 0.7184, 1.042, 1.436, 1.894, 2.415, 3.008, 3.679",\
                 "0.201, 0.2488, 0.4065, 0.6717, 1.032, 1.469, 1.974, 2.541, 3.175, 3.882");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2121, 0.2311, 0.297, 0.4211, 0.6132, 0.8817, 1.234, 1.677, 2.219, 2.863",\
                 "0.2289, 0.2478, 0.3138, 0.4385, 0.6309, 0.8994, 1.252, 1.696, 2.237, 2.881",\
                 "0.2926, 0.3117, 0.3776, 0.5019, 0.6942, 0.9629, 1.316, 1.759, 2.3, 2.945",\
                 "0.4164, 0.4385, 0.5093, 0.6332, 0.8233, 1.09, 1.441, 1.884, 2.425, 3.069",\
                 "0.5663, 0.5933, 0.6801, 0.8299, 1.033, 1.297, 1.645, 2.086, 2.624, 3.267",\
                 "0.7453, 0.7763, 0.8777, 1.052, 1.294, 1.59, 1.942, 2.377, 2.912, 3.551",\
                 "0.9531, 0.9892, 1.108, 1.306, 1.579, 1.92, 2.32, 2.769, 3.3, 3.934",\
                 "1.191, 1.232, 1.368, 1.595, 1.9, 2.279, 2.728, 3.236, 3.794, 4.427",\
                 "1.46, 1.507, 1.66, 1.916, 2.258, 2.675, 3.167, 3.73, 4.354, 5.027",\
                 "1.762, 1.814, 1.987, 2.272, 2.652, 3.112, 3.646, 4.256, 4.939, 5.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3021, 0.3342, 0.4429, 0.6487, 0.9649, 1.409, 1.991, 2.723, 3.615, 4.68",\
                 "0.3027, 0.334, 0.4435, 0.6484, 0.9656, 1.409, 1.99, 2.723, 3.617, 4.678",\
                 "0.3038, 0.3342, 0.4432, 0.6483, 0.9647, 1.41, 1.989, 2.723, 3.617, 4.68",\
                 "0.3563, 0.3848, 0.482, 0.6659, 0.9681, 1.408, 1.99, 2.722, 3.616, 4.682",\
                 "0.4442, 0.4728, 0.5722, 0.756, 1.037, 1.438, 1.995, 2.721, 3.615, 4.681",\
                 "0.5722, 0.603, 0.7026, 0.8864, 1.168, 1.56, 2.074, 2.754, 3.62, 4.68",\
                 "0.7282, 0.7632, 0.8718, 1.063, 1.345, 1.735, 2.249, 2.888, 3.699, 4.708",\
                 "0.903, 0.9392, 1.066, 1.277, 1.572, 1.961, 2.47, 3.113, 3.894, 4.844",\
                 "1.09, 1.136, 1.278, 1.513, 1.834, 2.237, 2.744, 3.388, 4.169, 5.101",\
                 "1.291, 1.343, 1.504, 1.768, 2.123, 2.558, 3.083, 3.718, 4.498, 5.43");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4135, 0.4477, 0.5665, 0.7891, 1.13, 1.603, 2.224, 3.004, 3.953, 5.091",\
                 "0.4135, 0.4476, 0.5667, 0.7894, 1.13, 1.604, 2.224, 3.004, 3.956, 5.089",\
                 "0.415, 0.4483, 0.5666, 0.7895, 1.13, 1.604, 2.224, 3.005, 3.956, 5.09",\
                 "0.4974, 0.5226, 0.6128, 0.8031, 1.131, 1.604, 2.225, 3.005, 3.956, 5.09",\
                 "0.646, 0.6732, 0.7678, 0.9338, 1.199, 1.618, 2.225, 3.005, 3.956, 5.09",\
                 "0.812, 0.8424, 0.9464, 1.136, 1.406, 1.762, 2.281, 3.013, 3.958, 5.092",\
                 "1.005, 1.038, 1.148, 1.351, 1.654, 2.04, 2.507, 3.138, 3.991, 5.094",\
                 "1.22, 1.26, 1.378, 1.594, 1.914, 2.341, 2.855, 3.447, 4.198, 5.182",\
                 "1.454, 1.494, 1.632, 1.871, 2.208, 2.658, 3.226, 3.867, 4.591, 5.472",\
                 "1.702, 1.749, 1.903, 2.166, 2.534, 3.004, 3.596, 4.308, 5.091, 5.952");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2231, 0.2416, 0.3054, 0.4249, 0.6093, 0.8663, 1.204, 1.629, 2.147, 2.764",\
                 "0.2338, 0.2525, 0.3166, 0.4364, 0.6209, 0.8784, 1.216, 1.641, 2.159, 2.776",\
                 "0.2622, 0.281, 0.3453, 0.4656, 0.6504, 0.9083, 1.246, 1.671, 2.19, 2.808",\
                 "0.2943, 0.3163, 0.3887, 0.5165, 0.7025, 0.9598, 1.297, 1.722, 2.241, 2.858",\
                 "0.3163, 0.3424, 0.4273, 0.5724, 0.7773, 1.044, 1.381, 1.805, 2.321, 2.939",\
                 "0.318, 0.3491, 0.4507, 0.6194, 0.8492, 1.141, 1.498, 1.926, 2.441, 3.056",\
                 "0.2952, 0.3322, 0.4508, 0.6472, 0.9094, 1.232, 1.618, 2.074, 2.602, 3.217",\
                 "0.2461, 0.2885, 0.4246, 0.6495, 0.9478, 1.31, 1.731, 2.219, 2.78, 3.418",\
                 "0.1703, 0.2176, 0.3697, 0.6226, 0.9588, 1.363, 1.829, 2.356, 2.952, 3.625",\
                 "0.0645, 0.1165, 0.2852, 0.566, 0.9401, 1.389, 1.902, 2.477, 3.115, 3.826");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2079, 0.2269, 0.2929, 0.4169, 0.6085, 0.8765, 1.228, 1.671, 2.211, 2.854",\
                 "0.2242, 0.2434, 0.3096, 0.4341, 0.6262, 0.8941, 1.246, 1.689, 2.229, 2.872",\
                 "0.2884, 0.3074, 0.3734, 0.4976, 0.6896, 0.9578, 1.31, 1.752, 2.293, 2.936",\
                 "0.4112, 0.4331, 0.5049, 0.6289, 0.8185, 1.085, 1.436, 1.878, 2.417, 3.06",\
                 "0.5592, 0.5859, 0.6737, 0.8246, 1.028, 1.292, 1.64, 2.079, 2.616, 3.258",\
                 "0.7358, 0.7674, 0.87, 1.045, 1.287, 1.585, 1.935, 2.37, 2.904, 3.541",\
                 "0.9409, 0.9776, 1.097, 1.297, 1.571, 1.913, 2.313, 2.762, 3.292, 3.925",\
                 "1.175, 1.218, 1.355, 1.583, 1.89, 2.27, 2.72, 3.228, 3.786, 4.418",\
                 "1.44, 1.488, 1.644, 1.902, 2.246, 2.664, 3.157, 3.72, 4.344, 5.018",\
                 "1.736, 1.79, 1.966, 2.255, 2.637, 3.099, 3.633, 4.244, 4.928, 5.673");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2522, 0.2832, 0.3908, 0.5948, 0.9123, 1.354, 1.936, 2.667, 3.561, 4.626",\
                 "0.2523, 0.2832, 0.3915, 0.5947, 0.9118, 1.354, 1.936, 2.668, 3.562, 4.624",\
                 "0.2589, 0.288, 0.3917, 0.5947, 0.9118, 1.355, 1.935, 2.668, 3.562, 4.627",\
                 "0.3185, 0.3461, 0.4419, 0.6218, 0.9175, 1.354, 1.934, 2.667, 3.561, 4.627",\
                 "0.4128, 0.44, 0.536, 0.7172, 0.9944, 1.391, 1.942, 2.667, 3.56, 4.626",\
                 "0.5444, 0.5744, 0.6728, 0.8528, 1.13, 1.518, 2.028, 2.703, 3.566, 4.625",\
                 "0.6996, 0.7332, 0.8438, 1.036, 1.31, 1.695, 2.205, 2.844, 3.652, 4.657",\
                 "0.8734, 0.9084, 1.035, 1.246, 1.538, 1.925, 2.432, 3.072, 3.852, 4.798",\
                 "1.053, 1.099, 1.243, 1.482, 1.804, 2.205, 2.71, 3.349, 4.128, 5.059",\
                 "1.253, 1.302, 1.465, 1.74, 2.091, 2.526, 3.046, 3.68, 4.458, 5.387");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3434, 0.3776, 0.4956, 0.7175, 1.058, 1.531, 2.15, 2.929, 3.882, 5.015",\
                 "0.3434, 0.3776, 0.4958, 0.7175, 1.057, 1.53, 2.149, 2.93, 3.88, 5.016",\
                 "0.3451, 0.3781, 0.4957, 0.7175, 1.058, 1.531, 2.151, 2.931, 3.881, 5.014",\
                 "0.426, 0.4511, 0.5425, 0.7314, 1.058, 1.53, 2.15, 2.931, 3.883, 5.014",\
                 "0.553, 0.5846, 0.6868, 0.861, 1.126, 1.544, 2.151, 2.931, 3.882, 5.015",\
                 "0.6996, 0.733, 0.8476, 1.05, 1.329, 1.689, 2.208, 2.939, 3.883, 5.016",\
                 "0.8708, 0.9086, 1.033, 1.249, 1.564, 1.961, 2.433, 3.065, 3.918, 5.019",\
                 "1.061, 1.104, 1.241, 1.478, 1.814, 2.253, 2.776, 3.373, 4.125, 5.108",\
                 "1.266, 1.315, 1.474, 1.734, 2.092, 2.557, 3.137, 3.787, 4.515, 5.401",\
                 "1.486, 1.541, 1.722, 2.012, 2.405, 2.892, 3.498, 4.211, 5.012, 5.878");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1905, 0.2064, 0.2612, 0.3637, 0.5214, 0.7416, 1.03, 1.394, 1.837, 2.365",\
                 "0.2024, 0.2184, 0.2735, 0.3763, 0.5342, 0.7544, 1.043, 1.407, 1.85, 2.379",\
                 "0.2326, 0.2489, 0.3041, 0.407, 0.5653, 0.7859, 1.075, 1.439, 1.882, 2.411",\
                 "0.261, 0.2808, 0.3451, 0.4576, 0.6191, 0.8391, 1.128, 1.491, 1.935, 2.463",\
                 "0.2745, 0.2983, 0.3758, 0.5065, 0.6881, 0.9224, 1.213, 1.576, 2.018, 2.546",\
                 "0.2627, 0.292, 0.3859, 0.5412, 0.7487, 1.008, 1.324, 1.698, 2.14, 2.666",\
                 "0.2228, 0.2573, 0.3677, 0.55, 0.7913, 1.083, 1.429, 1.832, 2.297, 2.828",\
                 "0.1531, 0.192, 0.3196, 0.5294, 0.8062, 1.138, 1.521, 1.957, 2.455, 3.017",\
                 "0.0514, 0.0955, 0.2385, 0.4764, 0.7899, 1.163, 1.59, 2.068, 2.602, 3.2",\
                 "-0.085, -0.035, 0.1245, 0.3877, 0.7368, 1.156, 1.629, 2.155, 2.734, 3.371");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2069, 0.2259, 0.2918, 0.4159, 0.6077, 0.8755, 1.227, 1.67, 2.21, 2.853",\
                 "0.2224, 0.2415, 0.3077, 0.4323, 0.6242, 0.8922, 1.244, 1.687, 2.227, 2.87",\
                 "0.287, 0.3059, 0.3718, 0.4958, 0.6878, 0.9558, 1.307, 1.75, 2.29, 2.934",\
                 "0.4121, 0.4339, 0.5052, 0.6284, 0.8177, 1.084, 1.434, 1.876, 2.415, 3.058",\
                 "0.5647, 0.5909, 0.6778, 0.8272, 1.03, 1.293, 1.64, 2.078, 2.616, 3.256",\
                 "0.7496, 0.7803, 0.881, 1.054, 1.293, 1.589, 1.938, 2.372, 2.905, 3.542",\
                 "0.9662, 1.002, 1.119, 1.315, 1.585, 1.923, 2.321, 2.767, 3.297, 3.928",\
                 "1.217, 1.258, 1.392, 1.615, 1.915, 2.29, 2.736, 3.24, 3.795, 4.425",\
                 "1.501, 1.548, 1.7, 1.951, 2.288, 2.698, 3.185, 3.742, 4.362, 5.032",\
                 "1.822, 1.875, 2.046, 2.327, 2.7, 3.152, 3.677, 4.28, 4.958, 5.698");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2087, 0.235, 0.3272, 0.5006, 0.77, 1.147, 1.644, 2.268, 3.028, 3.935",\
                 "0.2086, 0.235, 0.3268, 0.5009, 0.7704, 1.146, 1.644, 2.267, 3.028, 3.935",\
                 "0.2183, 0.2421, 0.3284, 0.5009, 0.77, 1.148, 1.643, 2.266, 3.028, 3.936",\
                 "0.2786, 0.3023, 0.3846, 0.5366, 0.7816, 1.149, 1.643, 2.266, 3.029, 3.937",\
                 "0.3745, 0.3979, 0.4806, 0.634, 0.8708, 1.201, 1.659, 2.268, 3.028, 3.935",\
                 "0.5024, 0.5298, 0.6174, 0.7724, 1.008, 1.339, 1.77, 2.329, 3.047, 3.937",\
                 "0.651, 0.6814, 0.7818, 0.9526, 1.194, 1.521, 1.953, 2.499, 3.166, 4",\
                 "0.8154, 0.8502, 0.9658, 1.158, 1.42, 1.756, 2.185, 2.727, 3.393, 4.184",\
                 "0.9932, 1.036, 1.166, 1.384, 1.674, 2.033, 2.467, 3.009, 3.674, 4.466",\
                 "1.19, 1.233, 1.384, 1.628, 1.951, 2.344, 2.806, 3.348, 4.011, 4.801");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3437, 0.3776, 0.4957, 0.7175, 1.057, 1.53, 2.151, 2.931, 3.882, 5.015",\
                 "0.3435, 0.3776, 0.4957, 0.7177, 1.058, 1.53, 2.15, 2.931, 3.883, 5.013",\
                 "0.3451, 0.3782, 0.4957, 0.7175, 1.057, 1.53, 2.15, 2.931, 3.88, 5.013",\
                 "0.4253, 0.4508, 0.542, 0.7314, 1.058, 1.531, 2.151, 2.931, 3.881, 5.016",\
                 "0.5482, 0.5796, 0.6832, 0.859, 1.125, 1.545, 2.151, 2.931, 3.883, 5.015",\
                 "0.6892, 0.723, 0.8378, 1.041, 1.324, 1.687, 2.207, 2.939, 3.882, 5.016",\
                 "0.8532, 0.891, 1.014, 1.234, 1.553, 1.953, 2.429, 3.061, 3.917, 5.02",\
                 "1.036, 1.078, 1.216, 1.452, 1.792, 2.234, 2.763, 3.362, 4.118, 5.106",\
                 "1.236, 1.284, 1.44, 1.7, 2.058, 2.528, 3.11, 3.77, 4.504, 5.391",\
                 "1.451, 1.504, 1.678, 1.967, 2.358, 2.848, 3.46, 4.183, 4.988, 5.858");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2229, 0.2413, 0.305, 0.4245, 0.6086, 0.8656, 1.203, 1.627, 2.145, 2.762",\
                 "0.2335, 0.2521, 0.3162, 0.4361, 0.6204, 0.8775, 1.215, 1.639, 2.157, 2.773",\
                 "0.262, 0.2807, 0.345, 0.4652, 0.6498, 0.9073, 1.245, 1.67, 2.188, 2.805",\
                 "0.2941, 0.3161, 0.3885, 0.5162, 0.7019, 0.9589, 1.296, 1.721, 2.238, 2.855",\
                 "0.3162, 0.3421, 0.427, 0.5721, 0.7769, 1.043, 1.38, 1.803, 2.32, 2.936",\
                 "0.3175, 0.349, 0.4504, 0.619, 0.8488, 1.14, 1.497, 1.924, 2.439, 3.054",\
                 "0.2949, 0.3318, 0.4501, 0.6467, 0.9091, 1.231, 1.618, 2.072, 2.601, 3.214",\
                 "0.2456, 0.288, 0.4241, 0.6486, 0.9475, 1.308, 1.73, 2.218, 2.778, 3.416",\
                 "0.1694, 0.217, 0.3686, 0.6232, 0.958, 1.362, 1.828, 2.354, 2.951, 3.623",\
                 "0.0631, 0.1156, 0.2847, 0.5652, 0.9404, 1.387, 1.901, 2.475, 3.113, 3.824");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2079, 0.227, 0.2929, 0.4169, 0.6085, 0.8765, 1.228, 1.671, 2.211, 2.854",\
                 "0.2243, 0.2434, 0.3097, 0.434, 0.6262, 0.8943, 1.246, 1.689, 2.229, 2.872",\
                 "0.2884, 0.3074, 0.3734, 0.4975, 0.6897, 0.9578, 1.31, 1.753, 2.293, 2.936",\
                 "0.411, 0.4332, 0.5049, 0.6287, 0.8187, 1.085, 1.436, 1.878, 2.417, 3.06",\
                 "0.5592, 0.5857, 0.6739, 0.8245, 1.028, 1.292, 1.639, 2.079, 2.617, 3.258",\
                 "0.7361, 0.7673, 0.87, 1.045, 1.287, 1.585, 1.936, 2.37, 2.904, 3.542",\
                 "0.9411, 0.9774, 1.098, 1.297, 1.571, 1.913, 2.313, 2.762, 3.292, 3.925",\
                 "1.175, 1.218, 1.355, 1.584, 1.891, 2.27, 2.72, 3.228, 3.786, 4.419",\
                 "1.44, 1.488, 1.645, 1.902, 2.246, 2.664, 3.157, 3.719, 4.345, 5.018",\
                 "1.737, 1.791, 1.966, 2.255, 2.637, 3.099, 3.633, 4.244, 4.928, 5.674");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2519, 0.2833, 0.39, 0.5943, 0.9104, 1.353, 1.933, 2.665, 3.557, 4.622",\
                 "0.2519, 0.2829, 0.3909, 0.594, 0.9114, 1.353, 1.934, 2.665, 3.557, 4.619",\
                 "0.2585, 0.2877, 0.3913, 0.5941, 0.9107, 1.353, 1.934, 2.665, 3.557, 4.623",\
                 "0.3183, 0.3458, 0.442, 0.6213, 0.9161, 1.353, 1.932, 2.665, 3.558, 4.621",\
                 "0.4124, 0.441, 0.5354, 0.7168, 0.9936, 1.389, 1.94, 2.664, 3.557, 4.622",\
                 "0.545, 0.5744, 0.6732, 0.8522, 1.129, 1.517, 2.026, 2.701, 3.562, 4.62",\
                 "0.6996, 0.7332, 0.844, 1.032, 1.311, 1.695, 2.205, 2.842, 3.648, 4.653",\
                 "0.8732, 0.9082, 1.034, 1.246, 1.538, 1.924, 2.431, 3.071, 3.847, 4.793",\
                 "1.056, 1.098, 1.242, 1.481, 1.802, 2.207, 2.709, 3.346, 4.125, 5.055",\
                 "1.256, 1.301, 1.465, 1.737, 2.09, 2.526, 3.044, 3.68, 4.456, 5.384");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3433, 0.3776, 0.4958, 0.7178, 1.057, 1.53, 2.15, 2.929, 3.883, 5.015",\
                 "0.3435, 0.3775, 0.4957, 0.7176, 1.058, 1.53, 2.15, 2.929, 3.882, 5.015",\
                 "0.345, 0.378, 0.4957, 0.7176, 1.058, 1.53, 2.151, 2.93, 3.881, 5.016",\
                 "0.4262, 0.4512, 0.5421, 0.7314, 1.058, 1.531, 2.151, 2.931, 3.882, 5.015",\
                 "0.553, 0.5844, 0.6866, 0.8612, 1.126, 1.544, 2.151, 2.93, 3.883, 5.015",\
                 "0.7004, 0.7336, 0.8474, 1.049, 1.329, 1.689, 2.208, 2.939, 3.883, 5.016",\
                 "0.8706, 0.9088, 1.033, 1.249, 1.563, 1.961, 2.434, 3.065, 3.917, 5.02",\
                 "1.059, 1.103, 1.243, 1.478, 1.815, 2.252, 2.775, 3.372, 4.124, 5.108",\
                 "1.266, 1.314, 1.472, 1.735, 2.091, 2.556, 3.128, 3.786, 4.514, 5.401",\
                 "1.484, 1.541, 1.721, 2.013, 2.404, 2.892, 3.497, 4.214, 5.011, 5.879");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1811, 0.199, 0.2606, 0.3782, 0.5605, 0.8163, 1.153, 1.577, 2.095, 2.712",\
                 "0.1914, 0.2093, 0.2715, 0.3893, 0.5723, 0.8283, 1.165, 1.589, 2.107, 2.724",\
                 "0.217, 0.236, 0.2998, 0.4183, 0.6018, 0.8578, 1.195, 1.619, 2.138, 2.754",\
                 "0.2379, 0.2611, 0.3364, 0.4668, 0.6536, 0.91, 1.247, 1.67, 2.188, 2.805",\
                 "0.2443, 0.2732, 0.3646, 0.5157, 0.7243, 0.9933, 1.33, 1.753, 2.27, 2.887",\
                 "0.229, 0.2642, 0.3749, 0.5535, 0.7901, 1.086, 1.446, 1.874, 2.389, 3.004",\
                 "0.1899, 0.2311, 0.3611, 0.5697, 0.8424, 1.171, 1.562, 2.02, 2.55, 3.164",\
                 "0.125, 0.1722, 0.3206, 0.5604, 0.8718, 1.242, 1.67, 2.162, 2.725, 3.364",\
                 "0.0339, 0.0869, 0.2529, 0.5224, 0.8732, 1.288, 1.762, 2.294, 2.894, 3.57",\
                 "-0.0897, -0.031, 0.1559, 0.4551, 0.8441, 1.306, 1.829, 2.411, 3.054, 3.768");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2036, 0.2227, 0.2888, 0.4128, 0.6042, 0.8721, 1.223, 1.666, 2.204, 2.85",\
                 "0.2199, 0.2392, 0.3056, 0.4301, 0.6217, 0.8896, 1.241, 1.683, 2.224, 2.866",\
                 "0.2842, 0.3032, 0.3693, 0.4936, 0.6853, 0.9531, 1.304, 1.747, 2.288, 2.929",\
                 "0.4057, 0.4281, 0.5004, 0.6245, 0.8142, 1.08, 1.431, 1.872, 2.411, 3.053",\
                 "0.5521, 0.5791, 0.6677, 0.8192, 1.024, 1.287, 1.634, 2.073, 2.611, 3.252",\
                 "0.7268, 0.7587, 0.8619, 1.038, 1.281, 1.579, 1.93, 2.364, 2.897, 3.535",\
                 "0.9288, 0.9666, 1.087, 1.289, 1.563, 1.906, 2.306, 2.755, 3.284, 3.917",\
                 "1.16, 1.203, 1.343, 1.573, 1.881, 2.261, 2.711, 3.22, 3.778, 4.409",\
                 "1.421, 1.47, 1.628, 1.888, 2.234, 2.654, 3.146, 3.71, 4.334, 5.009",\
                 "1.712, 1.767, 1.947, 2.238, 2.622, 3.084, 3.621, 4.231, 4.916, 5.663");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2003, 0.2307, 0.3375, 0.5406, 0.8559, 1.298, 1.88, 2.613, 3.505, 4.575",\
                 "0.201, 0.2318, 0.3383, 0.5401, 0.8558, 1.297, 1.88, 2.609, 3.508, 4.571",\
                 "0.2174, 0.2442, 0.3417, 0.5404, 0.856, 1.298, 1.88, 2.61, 3.505, 4.571",\
                 "0.2818, 0.3087, 0.4025, 0.578, 0.8661, 1.299, 1.881, 2.613, 3.503, 4.569",\
                 "0.3856, 0.4126, 0.5026, 0.6792, 0.9526, 1.342, 1.888, 2.614, 3.507, 4.572",\
                 "0.521, 0.5494, 0.6464, 0.8202, 1.092, 1.476, 1.982, 2.653, 3.513, 4.569",\
                 "0.6754, 0.7082, 0.8168, 1.008, 1.276, 1.658, 2.163, 2.8, 3.602, 4.601",\
                 "0.8452, 0.8822, 1.009, 1.217, 1.511, 1.89, 2.39, 3.029, 3.807, 4.747",\
                 "1.025, 1.068, 1.211, 1.452, 1.773, 2.172, 2.678, 3.308, 4.083, 5.014",\
                 "1.224, 1.271, 1.431, 1.702, 2.06, 2.495, 3.018, 3.646, 4.419, 5.344");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2861, 0.3194, 0.4332, 0.6507, 0.9876, 1.459, 2.078, 2.857, 3.808, 4.946",\
                 "0.2862, 0.319, 0.434, 0.6505, 0.9872, 1.459, 2.078, 2.859, 3.809, 4.944",\
                 "0.2873, 0.3197, 0.4333, 0.6505, 0.9877, 1.459, 2.078, 2.859, 3.809, 4.94",\
                 "0.3624, 0.3898, 0.479, 0.6637, 0.9878, 1.459, 2.077, 2.857, 3.81, 4.941",\
                 "0.469, 0.5022, 0.6106, 0.7914, 1.055, 1.472, 2.078, 2.858, 3.81, 4.944",\
                 "0.5942, 0.6308, 0.7522, 0.963, 1.253, 1.617, 2.134, 2.865, 3.81, 4.945",\
                 "0.7428, 0.782, 0.9188, 1.149, 1.473, 1.882, 2.359, 2.99, 3.843, 4.946",\
                 "0.8966, 0.9462, 1.105, 1.361, 1.71, 2.16, 2.695, 3.297, 4.049, 5.033",\
                 "1.069, 1.128, 1.309, 1.601, 1.978, 2.456, 3.04, 3.707, 4.441, 5.325",\
                 "1.254, 1.322, 1.533, 1.855, 2.275, 2.781, 3.398, 4.123, 4.928, 5.803");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.156, 0.1711, 0.2238, 0.3243, 0.4803, 0.6991, 0.9868, 1.35, 1.792, 2.32",\
                 "0.1675, 0.1827, 0.2359, 0.3369, 0.4928, 0.7119, 1, 1.362, 1.805, 2.333",\
                 "0.1939, 0.2106, 0.2659, 0.3673, 0.5241, 0.7432, 1.032, 1.395, 1.837, 2.365",\
                 "0.2113, 0.2322, 0.2994, 0.4144, 0.5775, 0.7968, 1.085, 1.447, 1.89, 2.417",\
                 "0.2091, 0.2359, 0.3196, 0.456, 0.6417, 0.8786, 1.17, 1.532, 1.974, 2.501",\
                 "0.1804, 0.2135, 0.3162, 0.4811, 0.6961, 0.96, 1.278, 1.654, 2.095, 2.621",\
                 "0.1248, 0.1633, 0.2849, 0.4792, 0.7303, 1.029, 1.379, 1.785, 2.252, 2.784",\
                 "0.04, 0.0843, 0.2235, 0.4475, 0.736, 1.077, 1.466, 1.906, 2.406, 2.97",\
                 "-0.0778, -0.0269, 0.1302, 0.3825, 0.71, 1.095, 1.529, 2.013, 2.551, 3.151",\
                 "-0.2302, -0.1735, 0.0029, 0.2838, 0.6476, 1.078, 1.562, 2.095, 2.679, 3.319");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2027, 0.2218, 0.2878, 0.4119, 0.6035, 0.8709, 1.222, 1.664, 2.205, 2.849",\
                 "0.218, 0.2373, 0.3037, 0.4282, 0.62, 0.8874, 1.239, 1.681, 2.221, 2.866",\
                 "0.2828, 0.3018, 0.3675, 0.4918, 0.6834, 0.9513, 1.302, 1.746, 2.286, 2.927",\
                 "0.4066, 0.4286, 0.5004, 0.6242, 0.8131, 1.079, 1.429, 1.87, 2.409, 3.053",\
                 "0.5572, 0.5842, 0.6718, 0.8218, 1.025, 1.288, 1.633, 2.072, 2.61, 3.251",\
                 "0.7399, 0.7715, 0.8735, 1.047, 1.287, 1.583, 1.933, 2.366, 2.899, 3.536",\
                 "0.9549, 0.9911, 1.11, 1.307, 1.577, 1.917, 2.314, 2.761, 3.289, 3.921",\
                 "1.202, 1.244, 1.379, 1.604, 1.906, 2.281, 2.727, 3.232, 3.787, 4.417",\
                 "1.483, 1.531, 1.684, 1.939, 2.277, 2.688, 3.174, 3.732, 4.352, 5.022",\
                 "1.798, 1.853, 2.027, 2.31, 2.686, 3.139, 3.665, 4.269, 4.946, 5.686");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1653, 0.1909, 0.2821, 0.4544, 0.723, 1.099, 1.596, 2.219, 2.981, 3.889",\
                 "0.166, 0.1915, 0.2823, 0.4544, 0.7221, 1.098, 1.595, 2.221, 2.981, 3.889",\
                 "0.1852, 0.2072, 0.2881, 0.455, 0.7229, 1.099, 1.595, 2.217, 2.979, 3.89",\
                 "0.2505, 0.2726, 0.3518, 0.5015, 0.7398, 1.102, 1.594, 2.219, 2.981, 3.887",\
                 "0.3526, 0.3764, 0.454, 0.6022, 0.8362, 1.162, 1.616, 2.221, 2.98, 3.889",\
                 "0.4824, 0.5086, 0.5948, 0.7462, 0.9778, 1.303, 1.733, 2.287, 3.004, 3.888",\
                 "0.6304, 0.6612, 0.76, 0.9278, 1.166, 1.489, 1.918, 2.462, 3.125, 3.961",\
                 "0.7924, 0.8286, 0.9428, 1.134, 1.394, 1.726, 2.153, 2.691, 3.357, 4.141",\
                 "0.9712, 1.01, 1.14, 1.359, 1.651, 2.006, 2.439, 2.977, 3.638, 4.427",\
                 "1.16, 1.206, 1.354, 1.6, 1.931, 2.316, 2.779, 3.322, 3.977, 4.768");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2864, 0.319, 0.4341, 0.6508, 0.9878, 1.459, 2.078, 2.858, 3.808, 4.944",\
                 "0.2858, 0.3191, 0.4334, 0.6514, 0.9878, 1.458, 2.078, 2.857, 3.809, 4.944",\
                 "0.2876, 0.3193, 0.4333, 0.6502, 0.9876, 1.459, 2.078, 2.857, 3.809, 4.944",\
                 "0.3621, 0.389, 0.4792, 0.6641, 0.9876, 1.459, 2.078, 2.858, 3.81, 4.944",\
                 "0.4642, 0.4968, 0.607, 0.7894, 1.054, 1.471, 2.078, 2.858, 3.81, 4.944",\
                 "0.5828, 0.6208, 0.7436, 0.9572, 1.249, 1.614, 2.134, 2.865, 3.81, 4.945",\
                 "0.7232, 0.7652, 0.9024, 1.134, 1.464, 1.874, 2.356, 2.988, 3.842, 4.947",\
                 "0.876, 0.9248, 1.083, 1.336, 1.69, 2.144, 2.683, 3.287, 4.046, 5.032",\
                 "1.043, 1.102, 1.281, 1.566, 1.943, 2.427, 3.018, 3.688, 4.427, 5.317",\
                 "1.225, 1.291, 1.494, 1.815, 2.232, 2.737, 3.362, 4.092, 4.906, 5.785");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1919, 0.2074, 0.2608, 0.3606, 0.5142, 0.7287, 1.01, 1.363, 1.795, 2.308",\
                 "0.2033, 0.2187, 0.2725, 0.3727, 0.5265, 0.7405, 1.022, 1.376, 1.807, 2.321",\
                 "0.2403, 0.2562, 0.3101, 0.4107, 0.5647, 0.7794, 1.061, 1.415, 1.846, 2.36",\
                 "0.2833, 0.3034, 0.3696, 0.482, 0.6394, 0.8539, 1.135, 1.489, 1.92, 2.434",\
                 "0.3089, 0.3339, 0.4153, 0.5522, 0.7389, 0.9711, 1.254, 1.607, 2.038, 2.551",\
                 "0.3126, 0.3428, 0.4407, 0.604, 0.8233, 1.094, 1.411, 1.776, 2.207, 2.719",\
                 "0.2911, 0.3266, 0.4412, 0.6323, 0.8874, 1.196, 1.557, 1.967, 2.427, 2.944",\
                 "0.2426, 0.2834, 0.4148, 0.6342, 0.926, 1.277, 1.682, 2.14, 2.65, 3.21",\
                 "0.1673, 0.2121, 0.3596, 0.6075, 0.9357, 1.331, 1.784, 2.29, 2.852, 3.465",\
                 "0.0601, 0.111, 0.2741, 0.5478, 0.9143, 1.354, 1.856, 2.415, 3.029, 3.699");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2318, 0.2505, 0.3157, 0.4392, 0.6304, 0.8979, 1.249, 1.692, 2.232, 2.875",\
                 "0.2485, 0.2673, 0.333, 0.457, 0.6486, 0.9165, 1.268, 1.711, 2.251, 2.895",\
                 "0.3125, 0.3313, 0.3968, 0.5204, 0.7122, 0.98, 1.332, 1.775, 2.315, 2.958",\
                 "0.4393, 0.46, 0.5291, 0.6515, 0.8411, 1.107, 1.458, 1.9, 2.44, 3.082",\
                 "0.5939, 0.6196, 0.7047, 0.8516, 1.051, 1.315, 1.663, 2.102, 2.639, 3.281",\
                 "0.7784, 0.8084, 0.907, 1.079, 1.316, 1.61, 1.959, 2.394, 2.927, 3.565",\
                 "0.9928, 1.028, 1.143, 1.337, 1.607, 1.945, 2.341, 2.788, 3.317, 3.95",\
                 "1.237, 1.278, 1.409, 1.631, 1.933, 2.308, 2.754, 3.259, 3.814, 4.445",\
                 "1.513, 1.558, 1.709, 1.959, 2.296, 2.71, 3.198, 3.758, 4.378, 5.049",\
                 "1.821, 1.872, 2.041, 2.322, 2.697, 3.152, 3.682, 4.29, 4.97, 5.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2414, 0.2677, 0.3562, 0.5263, 0.7891, 1.157, 1.641, 2.249, 2.994, 3.88",\
                 "0.2416, 0.2672, 0.3564, 0.5258, 0.7891, 1.157, 1.642, 2.25, 2.993, 3.879",\
                 "0.2522, 0.2748, 0.3584, 0.5253, 0.788, 1.156, 1.641, 2.251, 2.993, 3.879",\
                 "0.3359, 0.3573, 0.4322, 0.5696, 0.8015, 1.158, 1.64, 2.25, 2.993, 3.879",\
                 "0.448, 0.4714, 0.5526, 0.7, 0.9198, 1.223, 1.66, 2.251, 2.993, 3.878",\
                 "0.593, 0.6186, 0.7048, 0.8608, 1.095, 1.408, 1.801, 2.323, 3.011, 3.879",\
                 "0.7594, 0.7886, 0.8868, 1.058, 1.303, 1.631, 2.046, 2.545, 3.162, 3.951",\
                 "0.9436, 0.979, 1.089, 1.283, 1.547, 1.893, 2.325, 2.849, 3.468, 4.188",\
                 "1.138, 1.176, 1.311, 1.526, 1.825, 2.192, 2.643, 3.187, 3.829, 4.569",\
                 "1.35, 1.393, 1.54, 1.789, 2.122, 2.526, 3.006, 3.566, 4.232, 4.996");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3717, 0.4058, 0.5242, 0.7461, 1.086, 1.559, 2.179, 2.959, 3.909, 5.044",\
                 "0.3717, 0.4057, 0.5241, 0.7458, 1.086, 1.56, 2.179, 2.959, 3.908, 5.043",\
                 "0.3724, 0.4062, 0.5243, 0.7463, 1.086, 1.559, 2.179, 2.96, 3.909, 5.045",\
                 "0.4431, 0.4692, 0.5624, 0.7562, 1.087, 1.559, 2.18, 2.959, 3.911, 5.046",\
                 "0.5718, 0.6028, 0.7052, 0.8778, 1.148, 1.571, 2.179, 2.96, 3.912, 5.044",\
                 "0.7152, 0.7498, 0.8648, 1.067, 1.346, 1.708, 2.231, 2.967, 3.911, 5.046",\
                 "0.8862, 0.9222, 1.045, 1.264, 1.581, 1.976, 2.449, 3.085, 3.944, 5.049",\
                 "1.078, 1.117, 1.254, 1.488, 1.825, 2.266, 2.788, 3.385, 4.143, 5.133",\
                 "1.279, 1.328, 1.483, 1.742, 2.098, 2.566, 3.138, 3.797, 4.527, 5.415",\
                 "1.501, 1.556, 1.729, 2.016, 2.405, 2.894, 3.503, 4.225, 5.017, 5.886");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1578, 0.1728, 0.2244, 0.3222, 0.4746, 0.6879, 0.9685, 1.322, 1.753, 2.267",\
                 "0.1687, 0.1837, 0.2359, 0.3343, 0.4867, 0.6999, 0.9804, 1.334, 1.765, 2.279",\
                 "0.2022, 0.2187, 0.2729, 0.3722, 0.5251, 0.7386, 1.019, 1.373, 1.805, 2.319",\
                 "0.2302, 0.252, 0.3223, 0.4394, 0.5994, 0.8136, 1.094, 1.447, 1.878, 2.392",\
                 "0.2393, 0.267, 0.3553, 0.4994, 0.692, 0.9286, 1.213, 1.566, 1.996, 2.509",\
                 "0.2262, 0.2598, 0.3671, 0.5403, 0.7678, 1.044, 1.366, 1.735, 2.165, 2.678",\
                 "0.1889, 0.2285, 0.3541, 0.5573, 0.8227, 1.139, 1.506, 1.921, 2.384, 2.902",\
                 "0.1264, 0.1712, 0.3151, 0.5477, 0.8515, 1.213, 1.625, 2.088, 2.602, 3.166",\
                 "0.0356, 0.0868, 0.2469, 0.5092, 0.8519, 1.258, 1.72, 2.233, 2.799, 3.418",\
                 "-0.0862, -0.0301, 0.1486, 0.4396, 0.8209, 1.273, 1.786, 2.353, 2.971, 3.646");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2276, 0.2464, 0.3117, 0.4352, 0.626, 0.8931, 1.245, 1.688, 2.225, 2.871",\
                 "0.2443, 0.2632, 0.329, 0.4531, 0.6441, 0.9122, 1.264, 1.705, 2.246, 2.89",\
                 "0.3083, 0.3271, 0.3926, 0.5164, 0.7078, 0.9757, 1.327, 1.77, 2.311, 2.954",\
                 "0.4341, 0.455, 0.5248, 0.6474, 0.8366, 1.103, 1.453, 1.895, 2.434, 3.077",\
                 "0.5874, 0.6131, 0.6991, 0.8464, 1.047, 1.31, 1.657, 2.096, 2.633, 3.276",\
                 "0.7698, 0.7999, 0.8998, 1.072, 1.31, 1.604, 1.954, 2.388, 2.92, 3.558",\
                 "0.9812, 1.017, 1.133, 1.329, 1.599, 1.938, 2.334, 2.781, 3.309, 3.942",\
                 "1.223, 1.264, 1.397, 1.621, 1.923, 2.3, 2.746, 3.251, 3.805, 4.436",\
                 "1.495, 1.543, 1.694, 1.946, 2.285, 2.699, 3.188, 3.748, 4.369, 5.04",\
                 "1.799, 1.851, 2.022, 2.306, 2.682, 3.139, 3.671, 4.278, 4.958, 5.701");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1971, 0.2224, 0.3113, 0.4811, 0.7435, 1.111, 1.595, 2.205, 2.949, 3.838",\
                 "0.1975, 0.2226, 0.3119, 0.4807, 0.7435, 1.11, 1.595, 2.205, 2.948, 3.834",\
                 "0.221, 0.2417, 0.3186, 0.481, 0.7435, 1.112, 1.595, 2.205, 2.948, 3.835",\
                 "0.3087, 0.3296, 0.404, 0.5397, 0.7641, 1.112, 1.595, 2.205, 2.951, 3.837",\
                 "0.4275, 0.4492, 0.5274, 0.672, 0.8904, 1.189, 1.619, 2.206, 2.949, 3.834",\
                 "0.5754, 0.5998, 0.6838, 0.8348, 1.067, 1.378, 1.771, 2.289, 2.97, 3.838",\
                 "0.7422, 0.7702, 0.8656, 1.035, 1.276, 1.603, 2.016, 2.517, 3.128, 3.912",\
                 "0.9246, 0.9576, 1.066, 1.257, 1.525, 1.863, 2.296, 2.821, 3.436, 4.157",\
                 "1.12, 1.156, 1.282, 1.503, 1.798, 2.17, 2.615, 3.159, 3.799, 4.539",\
                 "1.328, 1.374, 1.517, 1.761, 2.094, 2.501, 2.982, 3.538, 4.201, 4.965");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3147, 0.3478, 0.4623, 0.6798, 1.017, 1.488, 2.107, 2.887, 3.836, 4.971",\
                 "0.3141, 0.3478, 0.4624, 0.6795, 1.016, 1.488, 2.106, 2.885, 3.839, 4.974",\
                 "0.3153, 0.3472, 0.462, 0.6792, 1.016, 1.488, 2.108, 2.887, 3.838, 4.974",\
                 "0.3834, 0.4091, 0.5001, 0.6897, 1.016, 1.488, 2.107, 2.887, 3.839, 4.972",\
                 "0.4916, 0.5228, 0.6312, 0.809, 1.077, 1.498, 2.107, 2.887, 3.839, 4.973",\
                 "0.6154, 0.6516, 0.7732, 0.9826, 1.27, 1.635, 2.158, 2.893, 3.838, 4.973",\
                 "0.7598, 0.8032, 0.9356, 1.166, 1.493, 1.898, 2.376, 3.012, 3.869, 4.976",\
                 "0.9248, 0.9702, 1.124, 1.376, 1.725, 2.178, 2.708, 3.312, 4.068, 5.058",\
                 "1.099, 1.154, 1.328, 1.611, 1.985, 2.466, 3.049, 3.719, 4.456, 5.342",\
                 "1.287, 1.351, 1.551, 1.866, 2.278, 2.783, 3.403, 4.127, 4.937, 5.812");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1334, 0.1454, 0.1875, 0.2674, 0.3912, 0.5653, 0.7938, 1.082, 1.434, 1.853",\
                 "0.1456, 0.1578, 0.2002, 0.2805, 0.405, 0.579, 0.8074, 1.096, 1.447, 1.866",\
                 "0.1802, 0.1947, 0.2409, 0.3221, 0.4469, 0.6213, 0.85, 1.138, 1.49, 1.91",\
                 "0.2029, 0.2227, 0.2855, 0.3885, 0.5264, 0.702, 0.9308, 1.219, 1.571, 1.99",\
                 "0.203, 0.2283, 0.3092, 0.4395, 0.6105, 0.8173, 1.058, 1.347, 1.698, 2.117",\
                 "0.1766, 0.208, 0.3071, 0.4664, 0.6728, 0.9193, 1.202, 1.521, 1.879, 2.298",\
                 "0.1219, 0.159, 0.2765, 0.465, 0.7089, 0.9965, 1.324, 1.69, 2.093, 2.535",\
                 "0.0382, 0.0807, 0.2146, 0.4327, 0.7139, 1.046, 1.42, 1.834, 2.288, 2.781",\
                 "-0.0777, -0.0307, 0.1215, 0.366, 0.6856, 1.062, 1.485, 1.95, 2.456, 3.004",\
                 "-0.2305, -0.1769, -0.0076, 0.2653, 0.6225, 1.043, 1.515, 2.034, 2.595, 3.198");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2266, 0.2454, 0.3108, 0.4342, 0.6251, 0.8928, 1.244, 1.686, 2.224, 2.87",\
                 "0.2424, 0.2613, 0.3271, 0.4509, 0.6423, 0.9098, 1.261, 1.705, 2.242, 2.886",\
                 "0.3069, 0.3256, 0.3909, 0.5145, 0.7059, 0.9736, 1.325, 1.768, 2.309, 2.951",\
                 "0.435, 0.4558, 0.5249, 0.6472, 0.8359, 1.102, 1.452, 1.892, 2.433, 3.077",\
                 "0.5925, 0.6184, 0.703, 0.8495, 1.048, 1.311, 1.657, 2.095, 2.632, 3.274",\
                 "0.7831, 0.8125, 0.9106, 1.081, 1.317, 1.609, 1.956, 2.39, 2.922, 3.56",\
                 "1.006, 1.042, 1.155, 1.347, 1.613, 1.95, 2.343, 2.787, 3.314, 3.948",\
                 "1.264, 1.304, 1.434, 1.653, 1.95, 2.321, 2.764, 3.265, 3.816, 4.446",\
                 "1.556, 1.602, 1.749, 1.996, 2.327, 2.734, 3.218, 3.772, 4.389, 5.056",\
                 "1.884, 1.936, 2.101, 2.378, 2.746, 3.194, 3.717, 4.317, 4.99, 5.728");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.1522, 0.1728, 0.2455, 0.3829, 0.5958, 0.8958, 1.289, 1.786, 2.392, 3.11",\
                 "0.1527, 0.173, 0.2453, 0.3829, 0.5968, 0.8961, 1.289, 1.786, 2.389, 3.111",\
                 "0.185, 0.2006, 0.2586, 0.3845, 0.5961, 0.8965, 1.29, 1.786, 2.393, 3.111",\
                 "0.2733, 0.2909, 0.3518, 0.462, 0.6325, 0.9027, 1.29, 1.785, 2.388, 3.11",\
                 "0.3908, 0.4102, 0.4745, 0.5964, 0.7756, 1.012, 1.34, 1.796, 2.389, 3.109",\
                 "0.533, 0.5548, 0.6294, 0.7592, 0.953, 1.21, 1.53, 1.923, 2.449, 3.126",\
                 "0.6928, 0.7188, 0.8036, 0.9546, 1.163, 1.437, 1.778, 2.189, 2.667, 3.265",\
                 "0.8702, 0.8972, 0.997, 1.169, 1.406, 1.698, 2.062, 2.497, 3.002, 3.577",\
                 "1.057, 1.092, 1.206, 1.404, 1.67, 1.997, 2.384, 2.838, 3.373, 3.977",\
                 "1.263, 1.302, 1.432, 1.659, 1.956, 2.319, 2.747, 3.217, 3.777, 4.412");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3149, 0.3478, 0.4621, 0.6797, 1.016, 1.488, 2.107, 2.885, 3.836, 4.97",\
                 "0.3148, 0.3474, 0.4623, 0.6794, 1.016, 1.488, 2.107, 2.887, 3.835, 4.971",\
                 "0.3155, 0.3473, 0.462, 0.6794, 1.016, 1.488, 2.107, 2.886, 3.84, 4.972",\
                 "0.3829, 0.4083, 0.4995, 0.6893, 1.016, 1.487, 2.107, 2.887, 3.839, 4.975",\
                 "0.4872, 0.5196, 0.628, 0.8068, 1.076, 1.498, 2.107, 2.887, 3.838, 4.973",\
                 "0.6052, 0.6424, 0.7642, 0.977, 1.266, 1.632, 2.158, 2.893, 3.838, 4.974",\
                 "0.744, 0.786, 0.9198, 1.151, 1.48, 1.889, 2.371, 3.008, 3.869, 4.976",\
                 "0.8992, 0.9476, 1.1, 1.35, 1.705, 2.16, 2.695, 3.3, 4.063, 5.056",\
                 "1.07, 1.125, 1.295, 1.575, 1.951, 2.436, 3.026, 3.699, 4.437, 5.333",\
                 "1.254, 1.318, 1.513, 1.822, 2.231, 2.742, 3.364, 4.1, 4.912, 5.791");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2682, 0.2869, 0.3516, 0.4725, 0.6578, 0.9158, 1.254, 1.679, 2.198, 2.815",\
                 "0.2792, 0.298, 0.3631, 0.484, 0.6695, 0.9277, 1.266, 1.691, 2.21, 2.827",\
                 "0.308, 0.3271, 0.392, 0.5133, 0.6993, 0.9577, 1.296, 1.721, 2.24, 2.858",\
                 "0.3488, 0.3697, 0.4401, 0.5655, 0.7511, 1.009, 1.347, 1.773, 2.291, 2.909",\
                 "0.3823, 0.4064, 0.4869, 0.6277, 0.8293, 1.094, 1.431, 1.855, 2.372, 2.989",\
                 "0.3988, 0.4271, 0.5218, 0.6826, 0.907, 1.195, 1.549, 1.976, 2.491, 3.107",\
                 "0.3902, 0.4238, 0.5341, 0.7209, 0.9746, 1.291, 1.673, 2.126, 2.652, 3.266",\
                 "0.3559, 0.3945, 0.5207, 0.7332, 1.021, 1.375, 1.79, 2.275, 2.833, 3.469",\
                 "0.2936, 0.3362, 0.4787, 0.7184, 1.042, 1.436, 1.894, 2.415, 3.008, 3.679",\
                 "0.201, 0.2488, 0.4065, 0.6717, 1.032, 1.469, 1.974, 2.541, 3.175, 3.882");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.2266, 0.2454, 0.3108, 0.4342, 0.6251, 0.8928, 1.244, 1.686, 2.224, 2.87",\
                 "0.2424, 0.2613, 0.3271, 0.4509, 0.6423, 0.9098, 1.261, 1.705, 2.242, 2.886",\
                 "0.3069, 0.3256, 0.3909, 0.5145, 0.7059, 0.9736, 1.325, 1.768, 2.309, 2.951",\
                 "0.435, 0.4558, 0.5249, 0.6472, 0.8359, 1.102, 1.452, 1.892, 2.433, 3.077",\
                 "0.5925, 0.6184, 0.703, 0.8495, 1.048, 1.311, 1.657, 2.095, 2.632, 3.274",\
                 "0.7831, 0.8125, 0.9106, 1.081, 1.317, 1.609, 1.956, 2.39, 2.922, 3.56",\
                 "1.006, 1.042, 1.155, 1.347, 1.613, 1.95, 2.343, 2.787, 3.314, 3.948",\
                 "1.264, 1.304, 1.434, 1.653, 1.95, 2.321, 2.764, 3.265, 3.816, 4.446",\
                 "1.556, 1.602, 1.749, 1.996, 2.327, 2.734, 3.218, 3.772, 4.389, 5.056",\
                 "1.884, 1.936, 2.101, 2.378, 2.746, 3.194, 3.717, 4.317, 4.99, 5.728");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.3021, 0.3342, 0.4429, 0.6487, 0.9649, 1.409, 1.991, 2.723, 3.615, 4.68",\
                 "0.3027, 0.334, 0.4435, 0.6484, 0.9656, 1.409, 1.99, 2.723, 3.617, 4.678",\
                 "0.3038, 0.3342, 0.4432, 0.6483, 0.9647, 1.41, 1.989, 2.723, 3.617, 4.68",\
                 "0.3563, 0.3848, 0.482, 0.6659, 0.9681, 1.408, 1.99, 2.722, 3.616, 4.682",\
                 "0.4442, 0.4728, 0.5722, 0.756, 1.037, 1.438, 1.995, 2.721, 3.615, 4.681",\
                 "0.5722, 0.603, 0.7026, 0.8864, 1.168, 1.56, 2.074, 2.754, 3.62, 4.68",\
                 "0.7282, 0.7632, 0.8718, 1.063, 1.345, 1.735, 2.249, 2.888, 3.699, 4.708",\
                 "0.903, 0.9392, 1.066, 1.277, 1.572, 1.961, 2.47, 3.113, 3.894, 4.844",\
                 "1.09, 1.136, 1.278, 1.513, 1.834, 2.237, 2.744, 3.388, 4.169, 5.101",\
                 "1.291, 1.343, 1.504, 1.768, 2.123, 2.558, 3.083, 3.718, 4.498, 5.43");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003169, 0.01078, 0.02532, 0.04797, 0.07975, 0.1216, 0.1743, 0.2386, 0.3152");
          values("0.4135, 0.4477, 0.5665, 0.7891, 1.13, 1.603, 2.224, 3.004, 3.953, 5.091",\
                 "0.4135, 0.4476, 0.5667, 0.7894, 1.13, 1.604, 2.224, 3.004, 3.956, 5.089",\
                 "0.415, 0.4483, 0.5666, 0.7895, 1.13, 1.604, 2.224, 3.005, 3.956, 5.09",\
                 "0.4974, 0.5226, 0.6128, 0.8031, 1.131, 1.604, 2.225, 3.005, 3.956, 5.09",\
                 "0.646, 0.6732, 0.7678, 0.9338, 1.199, 1.618, 2.225, 3.005, 3.956, 5.09",\
                 "0.812, 0.8424, 0.9464, 1.136, 1.406, 1.762, 2.281, 3.013, 3.958, 5.092",\
                 "1.005, 1.038, 1.148, 1.351, 1.654, 2.04, 2.507, 3.138, 3.991, 5.094",\
                 "1.22, 1.26, 1.378, 1.594, 1.914, 2.341, 2.855, 3.447, 4.198, 5.182",\
                 "1.454, 1.494, 1.632, 1.871, 2.208, 2.658, 3.226, 3.867, 4.591, 5.472",\
                 "1.702, 1.749, 1.903, 2.166, 2.534, 3.004, 3.596, 4.308, 5.091, 5.952");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai221_4) {
    area : 94.393600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C" ;
      value : "0.0001096557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C" ;
      value : "0.0001098702" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C" ;
      value : "0.0001096557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C" ;
      value : "0.0001096557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C" ;
      value : "0.0001096557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C" ;
      value : "0.0002066064" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C" ;
      value : "0.0003017322" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C" ;
      value : "0.0002067681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C" ;
      value : "0.0002747085" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C" ;
      value : "0.0002067714" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C" ;
      value : "0.0002171664" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C" ;
      value : "0.0002067681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C" ;
      value : "0.0002171664" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C" ;
      value : "0.0002066064" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C" ;
      value : "0.0003017355" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C" ;
      value : "0.0002067714" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C" ;
      value : "0.0002171664" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C" ;
      value : "0.0002067714" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C" ;
      value : "0.0001596243" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C" ;
      value : "0.0002067681" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C" ;
      value : "0.0001596243" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C" ;
      value : "0.0002073621" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C" ;
      value : "0.000302676" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C" ;
      value : "0.0002075304" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C" ;
      value : "0.0002171664" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C" ;
      value : "0.0002075304" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C" ;
      value : "0.0001596243" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C" ;
      value : "0.0002075304" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C" ;
      value : "0.0001596243" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000302676" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.01873 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06687, 0.0668, 0.06667, 0.06646, 0.06638, 0.0665, 0.06652, 0.06646, \
                 0.06651, 0.06657");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0183, 0.01841, 0.01825, 0.01818, 0.01802, 0.01789, 0.01772, \
                 0.01764, 0.01749, 0.0172");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06687, 0.06683, 0.06676, 0.06655, 0.06648, 0.06657, 0.06653, \
                 0.06648, 0.06649, 0.06655");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1299, 0.1299, 0.1299, 0.1296, 0.1295, 0.1293, 0.129, 0.1286, \
                 0.1281, 0.1277");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06687, 0.06679, 0.06669, 0.06652, 0.06641, 0.06655, 0.06649, \
                 0.06645, 0.06648, 0.06656");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01831, 0.01841, 0.01832, 0.01819, 0.01801, 0.01789, 0.01774, \
                 0.01761, 0.01739, 0.01716");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06686, 0.06683, 0.06666, 0.06649, 0.06646, 0.06654, 0.0665, \
                 0.06645, 0.06653, 0.06653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01833, 0.01837, 0.0183, 0.01817, 0.01799, 0.01779, 0.01766, \
                 0.01759, 0.01751, 0.01716");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06686, 0.06683, 0.06666, 0.0665, 0.06643, 0.06652, 0.06648, \
                 0.06642, 0.06652, 0.06653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01833, 0.01837, 0.01831, 0.01817, 0.01801, 0.0178, 0.01767, \
                 0.01759, 0.01751, 0.01716");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0673, 0.06733, 0.06736, 0.06713, 0.06707, 0.06706, 0.06701, \
                 0.0669, 0.06676, 0.06671");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06431, -0.0642, -0.06442, -0.06492, -0.06523, -0.0655, -0.06562, \
                 -0.06567, -0.06571, -0.06573");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06756, 0.06761, 0.06767, 0.06756, 0.06744, 0.06741, 0.06731, \
                 0.06719, 0.06708, 0.06695");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06411, -0.06414, -0.0644, -0.06489, -0.06521, -0.06547, -0.06561, \
                 -0.0657, -0.06572, -0.06575");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06737, 0.06737, 0.0674, 0.06721, 0.06713, 0.06708, 0.06703, \
                 0.06692, 0.0668, 0.06668");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06422, -0.06414, -0.06436, -0.06486, -0.06516, -0.06547, -0.0656, \
                 -0.06566, -0.06568, -0.06572");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04791, 0.04784, 0.04776, 0.04779, 0.04774, 0.04782, 0.04775, \
                 0.04771, 0.04763, 0.04752");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01905, -0.01913, -0.01915, -0.01917, -0.01923, -0.01922, \
                 -0.01922, -0.01922, -0.01922");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06732, 0.06734, 0.06735, 0.06722, 0.06709, 0.06705, 0.06699, \
                 0.06692, 0.06677, 0.06667");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06431, -0.06435, -0.06445, -0.06495, -0.06525, -0.06549, -0.06564, \
                 -0.06569, -0.06572, -0.06575");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0479, 0.04781, 0.04777, 0.04778, 0.04773, 0.04779, 0.04775, \
                 0.04771, 0.04762, 0.04752");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01905, -0.01912, -0.01915, -0.01919, -0.01921, -0.01923, \
                 -0.01922, -0.01922, -0.01922");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06731, 0.06734, 0.06735, 0.06723, 0.06711, 0.06705, 0.06698, \
                 0.06692, 0.06677, 0.06665");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06431, -0.06429, -0.0644, -0.06493, -0.06525, -0.06549, -0.06564, \
                 -0.06569, -0.06571, -0.06575");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04791, 0.04784, 0.04776, 0.04781, 0.04774, 0.04779, 0.04775, \
                 0.0477, 0.0476, 0.04752");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01906, -0.01904, -0.0191, -0.01915, -0.01918, -0.01923, -0.01923, \
                 -0.01923, -0.01922, -0.01923");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01757 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06667, 0.06662, 0.0665, 0.06653, 0.06651, 0.06655, 0.06652, \
                 0.06654, 0.06652, 0.06652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01876, 0.01862, 0.0185, 0.0182, 0.01813, 0.01791, 0.01776, 0.01771, \
                 0.01746, 0.01724");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06664, 0.06663, 0.06652, 0.06653, 0.0665, 0.06656, 0.06648, \
                 0.06655, 0.0665, 0.06654");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1305, 0.1303, 0.1301, 0.1299, 0.1298, 0.1292, 0.1289, 0.1286, \
                 0.1282, 0.1277");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06664, 0.06662, 0.06648, 0.06644, 0.06652, 0.06646, 0.0665, \
                 0.06654, 0.0665, 0.06658");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01878, 0.01863, 0.0185, 0.01826, 0.01818, 0.01794, 0.01782, \
                 0.01765, 0.01742, 0.01719");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06663, 0.06663, 0.06651, 0.06645, 0.06647, 0.06653, 0.06654, \
                 0.06647, 0.06651, 0.06651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01877, 0.01862, 0.01848, 0.01824, 0.01812, 0.01796, 0.01773, \
                 0.01764, 0.01743, 0.01715");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06662, 0.06663, 0.06645, 0.06646, 0.06642, 0.06649, 0.06652, \
                 0.0665, 0.06653, 0.06651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01877, 0.01861, 0.01849, 0.01827, 0.01817, 0.01796, 0.01773, \
                 0.01764, 0.01742, 0.01719");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06734, 0.06719, 0.06708, 0.06717, 0.06702, 0.06707, 0.06704, \
                 0.06697, 0.06683, 0.06668");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06359, -0.0636, -0.06438, -0.06484, -0.06502, -0.06539, -0.06548, \
                 -0.06563, -0.06568, -0.06573");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06761, 0.06747, 0.06742, 0.06746, 0.06733, 0.06743, 0.06732, \
                 0.06718, 0.06711, 0.06697");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06352, -0.06358, -0.06444, -0.06489, -0.06509, -0.06543, -0.06551, \
                 -0.06563, -0.06569, -0.06572");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06735, 0.0672, 0.06711, 0.06719, 0.06708, 0.06705, 0.06706, \
                 0.06697, 0.06682, 0.06671");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06358, -0.06354, -0.0644, -0.06485, -0.06505, -0.0654, -0.06547, \
                 -0.06562, -0.06568, -0.06571");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05834, 0.05818, 0.05835, 0.05827, 0.05828, 0.05846, 0.05845, \
                 0.05838, 0.05841, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04886, -0.05288, -0.05597, -0.05668, -0.05696, -0.05732, -0.0574, \
                 -0.05749, -0.05758, -0.05761");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06734, 0.06719, 0.06716, 0.06717, 0.06714, 0.06711, 0.06699, \
                 0.06692, 0.0668, 0.06672");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06357, -0.06366, -0.06442, -0.06486, -0.06505, -0.06541, -0.06548, \
                 -0.06566, -0.06571, -0.06574");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05834, 0.05818, 0.05835, 0.05822, 0.05827, 0.05848, 0.05843, \
                 0.05837, 0.05841, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04886, -0.05288, -0.05597, -0.05671, -0.05697, -0.05732, -0.05736, \
                 -0.05749, -0.05758, -0.0576");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06734, 0.0672, 0.06715, 0.06718, 0.06713, 0.06716, 0.06699, \
                 0.06691, 0.0668, 0.06674");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06357, -0.06364, -0.06445, -0.06486, -0.06505, -0.06539, -0.06549, \
                 -0.06567, -0.06571, -0.06574");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05818, 0.05827, 0.05822, 0.05821, 0.05842, 0.05844, \
                 0.05839, 0.05839, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04885, -0.05288, -0.05597, -0.05672, -0.05693, -0.05733, -0.05738, \
                 -0.0575, -0.05758, -0.05765");
        }
      }
    }

    pin(B1) {
      capacitance : 0.01868 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05873, 0.05869, 0.05852, 0.05843, 0.05831, 0.05845, 0.05844, \
                 0.05845, 0.05845, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05866, -0.05856, -0.0584, -0.0583, -0.05825, -0.05828, -0.05833, \
                 -0.05828, -0.0583, -0.05824");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05879, 0.05872, 0.05867, 0.05847, 0.0584, 0.05843, 0.05843, \
                 0.05845, 0.05846, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05869, -0.05862, -0.05859, -0.05841, -0.05835, -0.05839, -0.05839, \
                 -0.05832, -0.0583, -0.05829");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05856, 0.05857, 0.05861, 0.05841, 0.05837, 0.0584, 0.0584, 0.0584, \
                 0.05839, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05611, -0.05605, -0.05623, -0.05681, -0.05711, -0.05742, -0.0575, \
                 -0.05757, -0.05757, -0.05762");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05857, 0.05859, 0.05871, 0.05862, 0.05847, 0.05849, 0.05845, \
                 0.05843, 0.05841, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05592, -0.05604, -0.0563, -0.05677, -0.05705, -0.05736, -0.05749, \
                 -0.05756, -0.05759, -0.05766");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05877, 0.05866, 0.05858, 0.05845, 0.05835, 0.05847, 0.05843, \
                 0.05847, 0.05847, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05866, -0.05858, -0.05845, -0.05836, -0.05835, -0.05832, -0.05833, \
                 -0.05829, -0.05829, -0.05842");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0586, 0.05861, 0.05866, 0.05849, 0.0584, 0.05842, 0.05844, 0.05838, \
                 0.05838, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.056, -0.05596, -0.05627, -0.05681, -0.05712, -0.05738, -0.05751, \
                 -0.05757, -0.05757, -0.0576");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04707, 0.04702, 0.047, 0.04696, 0.04692, 0.04694, 0.04692, 0.04687, \
                 0.04679, 0.04668");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01909, -0.01911, -0.01912, -0.01917, -0.0192, -0.01921, \
                 -0.01919, -0.0192, -0.01919");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05873, 0.05867, 0.05857, 0.05848, 0.05836, 0.05845, 0.05842, \
                 0.05845, 0.05849, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05866, -0.05859, -0.05847, -0.05834, -0.05828, -0.05835, -0.05831, \
                 -0.05832, -0.05828, -0.05826");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05856, 0.05858, 0.05864, 0.05847, 0.05841, 0.05841, 0.05842, \
                 0.05839, 0.05839, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05607, -0.05604, -0.05622, -0.05678, -0.05707, -0.05738, -0.0575, \
                 -0.05754, -0.05757, -0.05765");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04707, 0.04702, 0.047, 0.04695, 0.04692, 0.04693, 0.04692, 0.04686, \
                 0.04678, 0.04668");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01909, -0.01911, -0.01915, -0.01916, -0.0192, -0.01919, \
                 -0.01919, -0.0192, -0.01919");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05873, 0.05869, 0.05855, 0.05848, 0.05837, 0.05844, 0.05843, \
                 0.05845, 0.05848, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05866, -0.05859, -0.05847, -0.05834, -0.05832, -0.05831, -0.05833, \
                 -0.05831, -0.05832, -0.0583");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05857, 0.05858, 0.05865, 0.05847, 0.05836, 0.05843, 0.05843, \
                 0.0584, 0.05838, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05607, -0.05603, -0.05622, -0.05678, -0.05709, -0.0574, -0.0575, \
                 -0.05753, -0.05762, -0.05765");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04707, 0.04702, 0.047, 0.04694, 0.04691, 0.04695, 0.04693, 0.04686, \
                 0.04679, 0.0467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01911, -0.01911, -0.01911, -0.01916, -0.01919, -0.0192, \
                 -0.01919, -0.0192, -0.01919");
        }
      }
    }

    pin(B2) {
      capacitance : 0.01729 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05847, 0.05849, 0.05837, 0.05843, 0.05822, 0.05841, 0.05842, \
                 0.05844, 0.05845, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05828, -0.05829, -0.05824, -0.05825, -0.05811, -0.05828, -0.05831, \
                 -0.05834, -0.05828, -0.05828");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05854, 0.0585, 0.05846, 0.05836, 0.05842, 0.05839, 0.05843, \
                 0.05851, 0.05843, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0583, -0.05832, -0.05829, -0.05837, -0.05823, -0.05833, -0.05836, \
                 -0.05832, -0.05829, -0.05836");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05834, 0.05837, 0.05818, 0.05842, 0.05832, 0.05842, 0.05841, \
                 0.0584, 0.05839, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05534, -0.05599, -0.05669, -0.05694, -0.05731, -0.05737, \
                 -0.0575, -0.05759, -0.05757");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05837, 0.05816, 0.05837, 0.05839, 0.05844, 0.05835, \
                 0.05846, 0.05838, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05535, -0.05612, -0.05676, -0.05689, -0.05734, -0.05733, \
                 -0.05751, -0.05756, -0.0576");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0585, 0.05848, 0.05842, 0.05843, 0.05825, 0.05841, 0.05835, \
                 0.05844, 0.05843, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0583, -0.05835, -0.05828, -0.05821, -0.05814, -0.05829, -0.05833, \
                 -0.05827, -0.05828, -0.05826");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05838, 0.05818, 0.05839, 0.05831, 0.05839, 0.0584, \
                 0.05842, 0.05842, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05535, -0.05606, -0.05669, -0.05692, -0.0573, -0.05738, \
                 -0.0575, -0.05756, -0.05759");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05843, 0.05836, 0.05821, 0.05824, 0.0584, 0.05835, 0.05843, \
                 0.05838, 0.05839, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04881, -0.05285, -0.05601, -0.05665, -0.05692, -0.0573, -0.05736, \
                 -0.05751, -0.05756, -0.0576");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05851, 0.05849, 0.05843, 0.05843, 0.05824, 0.05846, 0.0584, \
                 0.05846, 0.05843, 0.05844");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05829, -0.0583, -0.05827, -0.05824, -0.05814, -0.05827, -0.05831, \
                 -0.05829, -0.05829, -0.05827");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05837, 0.05818, 0.05841, 0.05832, 0.05839, 0.05842, \
                 0.05841, 0.05839, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05534, -0.05599, -0.05669, -0.05695, -0.05729, -0.05737, \
                 -0.05751, -0.05761, -0.05758");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05836, 0.05821, 0.05824, 0.0584, 0.05841, 0.05844, \
                 0.05839, 0.05842, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04882, -0.05285, -0.05609, -0.05664, -0.05696, -0.05732, -0.05735, \
                 -0.05754, -0.05753, -0.05764");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0585, 0.05852, 0.05843, 0.05843, 0.05824, 0.05845, 0.05839, \
                 0.05843, 0.05843, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05829, -0.05834, -0.05827, -0.0582, -0.05813, -0.05825, -0.0583, \
                 -0.05831, -0.05829, -0.05827");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05838, 0.05818, 0.05841, 0.05831, 0.05839, 0.05843, \
                 0.05839, 0.0584, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05536, -0.05606, -0.05669, -0.05693, -0.05728, -0.05737, \
                 -0.05749, -0.05757, -0.05758");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05836, 0.05821, 0.05829, 0.05836, 0.0584, 0.05846, \
                 0.05841, 0.05839, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04881, -0.05284, -0.05603, -0.05669, -0.05692, -0.05732, -0.05737, \
                 -0.0575, -0.05757, -0.05761");
        }
      }
    }

    pin(C) {
      capacitance : 0.01594 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06165, 0.06188, 0.06194, 0.06217, 0.06243, 0.06272, 0.06298, \
                 0.06317, 0.06318, 0.06311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05, -0.04992, -0.04976, -0.04967, -0.04958, -0.04965, -0.04968, \
                 -0.04962, -0.04954, -0.0496");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0585, 0.05193, 0.04992, 0.04978, 0.04973, 0.04981, 0.04978, \
                 0.04976, 0.04977, 0.04975");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04983, -0.04982, -0.04975, -0.04972, -0.0496, -0.04969, -0.04966, \
                 -0.04963, -0.04958, -0.04964");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05852, 0.05195, 0.04998, 0.04979, 0.04974, 0.04978, 0.04977, \
                 0.04979, 0.04976, 0.04974");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04985, -0.0498, -0.04974, -0.04971, -0.0496, -0.04967, -0.04964, \
                 -0.04962, -0.0497, -0.04961");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05745, 0.05091, 0.04993, 0.04982, 0.04971, 0.04976, 0.04976, \
                 0.04978, 0.04977, 0.04984");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04984, -0.04983, -0.04976, -0.04966, -0.04957, -0.04969, -0.04962, \
                 -0.04962, -0.04959, -0.04965");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0518, 0.05167, 0.0516, 0.05155, 0.05142, 0.05144, 0.05135, 0.0513, \
                 0.05114, 0.05096");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00229, 0.002267, 0.002294, 0.002247, 0.002125, 0.001835, 0.001589, \
                 0.001301, 0.0009335, 0.0003408");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05181, 0.05171, 0.05164, 0.05156, 0.05145, 0.05137, 0.05138, \
                 0.05127, 0.05116, 0.051");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002234, 0.002271, 0.002294, 0.002262, 0.002195, 0.001818, 0.001605, \
                 0.001358, 0.0009317, 0.0003809");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05167, 0.05157, 0.05149, 0.05141, 0.05129, 0.05127, 0.05124, \
                 0.05115, 0.05102, 0.0509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002432, 0.002415, 0.002459, 0.002324, 0.002248, 0.001912, 0.001685, \
                 0.001436, 0.001072, 0.0004937");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|((!B1)&(!B2))|(!C))" ;
      max_capacitance : 0.6298 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09488, 0.09497, 0.09523, 0.09546, 0.09569, 0.09576, 0.09586, 0.09588, 0.09595, 0.09592",\
                 "0.09565, 0.0959, 0.09662, 0.09729, 0.09785, 0.09814, 0.09835, 0.09851, 0.09865, 0.09859",\
                 "0.09841, 0.09854, 0.09899, 0.09942, 0.09992, 0.1002, 0.1005, 0.1006, 0.1007, 0.1008",\
                 "0.1107, 0.1102, 0.1089, 0.1075, 0.1061, 0.105, 0.1043, 0.1037, 0.1032, 0.1029",\
                 "0.1405, 0.1389, 0.1346, 0.129, 0.1238, 0.1194, 0.1157, 0.1131, 0.1108, 0.1091",\
                 "0.1922, 0.1892, 0.1808, 0.1696, 0.1584, 0.1484, 0.1401, 0.1333, 0.1278, 0.1234",\
                 "0.2683, 0.2641, 0.2512, 0.233, 0.2143, 0.197, 0.1819, 0.1691, 0.1586, 0.1498",\
                 "0.3701, 0.3646, 0.3477, 0.3227, 0.2949, 0.2685, 0.2449, 0.2245, 0.2069, 0.1922",\
                 "0.4989, 0.4922, 0.4717, 0.4398, 0.4028, 0.3662, 0.3327, 0.3028, 0.2768, 0.2543",\
                 "0.6557, 0.6483, 0.6241, 0.586, 0.54, 0.4924, 0.4476, 0.4073, 0.3711, 0.3392");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3007, 0.3015, 0.3032, 0.3047, 0.3062, 0.308, 0.3091, 0.3109, 0.3131, 0.3194",\
                 "0.2977, 0.2988, 0.3019, 0.305, 0.3077, 0.31, 0.312, 0.3139, 0.3164, 0.3227",\
                 "0.2993, 0.2996, 0.3012, 0.3037, 0.3068, 0.3099, 0.3122, 0.3146, 0.3174, 0.3245",\
                 "0.318, 0.317, 0.3146, 0.3126, 0.3124, 0.3133, 0.3147, 0.3165, 0.319, 0.3265",\
                 "0.3591, 0.3567, 0.35, 0.3415, 0.3345, 0.3299, 0.3272, 0.326, 0.3269, 0.3337",\
                 "0.4244, 0.4205, 0.4088, 0.3942, 0.3793, 0.3669, 0.3574, 0.3508, 0.3457, 0.3522",\
                 "0.5156, 0.5102, 0.4944, 0.4725, 0.4496, 0.4281, 0.4098, 0.395, 0.3839, 0.387",\
                 "0.6344, 0.628, 0.6081, 0.579, 0.5472, 0.5169, 0.489, 0.4639, 0.4452, 0.4479",\
                 "0.7828, 0.7751, 0.7513, 0.7157, 0.6748, 0.6339, 0.5966, 0.5614, 0.5344, 0.5407",\
                 "0.9621, 0.9533, 0.9261, 0.8838, 0.8341, 0.7836, 0.7346, 0.6894, 0.6565, 0.6809");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.05181, 0.05196, 0.05233, 0.0526, 0.05275, 0.05288, 0.05297, 0.05302, 0.05306, 0.05309",\
                 "0.05189, 0.05228, 0.05334, 0.05426, 0.05487, 0.05521, 0.05545, 0.05563, 0.05575, 0.0558",\
                 "0.05457, 0.05479, 0.05555, 0.05631, 0.05688, 0.05727, 0.05755, 0.05768, 0.05781, 0.05794",\
                 "0.0692, 0.06844, 0.06677, 0.06496, 0.06351, 0.06232, 0.06154, 0.0609, 0.06039, 0.06008",\
                 "0.1029, 0.1007, 0.09485, 0.0882, 0.08211, 0.07724, 0.0734, 0.07039, 0.06821, 0.06647",\
                 "0.1593, 0.1554, 0.1447, 0.1311, 0.1184, 0.1073, 0.09843, 0.09124, 0.08552, 0.08092",\
                 "0.2397, 0.2345, 0.2189, 0.1976, 0.1764, 0.1572, 0.1412, 0.1279, 0.1168, 0.1078",\
                 "0.3453, 0.3388, 0.3189, 0.2902, 0.2593, 0.2306, 0.2054, 0.1841, 0.1659, 0.1506",\
                 "0.4775, 0.4698, 0.446, 0.4103, 0.3698, 0.3303, 0.2949, 0.2635, 0.2366, 0.2135",\
                 "0.6374, 0.6286, 0.6014, 0.5593, 0.5095, 0.4588, 0.4115, 0.3691, 0.332, 0.2993");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2591, 0.2598, 0.2615, 0.263, 0.2644, 0.266, 0.2674, 0.268, 0.2699, 0.2755",\
                 "0.256, 0.2572, 0.2602, 0.2632, 0.2659, 0.2676, 0.2698, 0.2713, 0.2735, 0.2789",\
                 "0.2576, 0.2579, 0.2594, 0.262, 0.265, 0.2678, 0.2697, 0.272, 0.2758, 0.2806",\
                 "0.2765, 0.2755, 0.273, 0.2708, 0.2705, 0.2712, 0.2726, 0.2736, 0.2765, 0.2842",\
                 "0.3176, 0.3149, 0.3082, 0.2998, 0.2923, 0.2874, 0.2853, 0.2835, 0.2844, 0.2896",\
                 "0.3833, 0.3791, 0.3673, 0.3522, 0.3379, 0.3244, 0.3149, 0.308, 0.3032, 0.308",\
                 "0.4754, 0.4697, 0.4531, 0.4307, 0.4077, 0.3866, 0.3674, 0.3518, 0.3407, 0.343",\
                 "0.5952, 0.5883, 0.5676, 0.5377, 0.5055, 0.4749, 0.4471, 0.4214, 0.402, 0.4022",\
                 "0.7446, 0.7366, 0.7114, 0.6746, 0.6333, 0.5923, 0.5544, 0.5203, 0.4913, 0.4941",\
                 "0.9245, 0.9154, 0.887, 0.8437, 0.7928, 0.7413, 0.6918, 0.6474, 0.6138, 0.6325");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.05177, 0.05189, 0.05226, 0.05256, 0.05275, 0.05288, 0.05297, 0.05303, 0.05307, 0.05307",\
                 "0.05193, 0.05225, 0.05334, 0.05426, 0.05486, 0.0552, 0.05545, 0.05563, 0.05574, 0.05581",\
                 "0.05486, 0.05508, 0.05575, 0.05643, 0.05695, 0.05727, 0.05756, 0.0577, 0.05782, 0.05789",\
                 "0.07022, 0.06944, 0.06766, 0.06575, 0.06417, 0.06286, 0.06192, 0.06125, 0.06071, 0.06032",\
                 "0.1053, 0.1031, 0.09717, 0.09003, 0.08392, 0.07872, 0.07477, 0.07163, 0.06918, 0.06721",\
                 "0.1637, 0.1596, 0.1487, 0.1348, 0.1219, 0.1105, 0.1013, 0.09379, 0.08776, 0.08285",\
                 "0.2465, 0.2411, 0.2255, 0.204, 0.1822, 0.1627, 0.1463, 0.1324, 0.121, 0.1115",\
                 "0.3553, 0.3488, 0.3288, 0.2998, 0.2684, 0.239, 0.2134, 0.1915, 0.1727, 0.1569",\
                 "0.4914, 0.4838, 0.4598, 0.4238, 0.3829, 0.3426, 0.3064, 0.2746, 0.2469, 0.223",\
                 "0.6559, 0.6472, 0.6199, 0.5775, 0.5275, 0.4761, 0.4277, 0.3843, 0.3465, 0.3129");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2589, 0.2598, 0.2614, 0.2629, 0.2645, 0.2654, 0.2666, 0.268, 0.2715, 0.2752",\
                 "0.2553, 0.2565, 0.2594, 0.2627, 0.2653, 0.2671, 0.2688, 0.2717, 0.2728, 0.2775",\
                 "0.2562, 0.2566, 0.258, 0.2603, 0.2635, 0.2662, 0.2684, 0.2703, 0.2745, 0.2793",\
                 "0.2772, 0.2758, 0.2729, 0.2702, 0.2694, 0.2701, 0.2712, 0.2723, 0.2738, 0.2825",\
                 "0.3207, 0.3179, 0.3108, 0.3016, 0.2936, 0.2882, 0.2849, 0.2832, 0.2827, 0.288",\
                 "0.3891, 0.3849, 0.3729, 0.3577, 0.3421, 0.3278, 0.3171, 0.3092, 0.3041, 0.3077",\
                 "0.4848, 0.4792, 0.4628, 0.4394, 0.4162, 0.3943, 0.3733, 0.357, 0.3454, 0.3456",\
                 "0.6089, 0.6018, 0.5807, 0.5511, 0.5182, 0.4882, 0.4588, 0.4319, 0.4106, 0.4095",\
                 "0.7633, 0.7551, 0.7301, 0.6935, 0.6518, 0.6107, 0.5719, 0.5365, 0.5051, 0.5064",\
                 "0.9496, 0.9403, 0.9115, 0.8682, 0.818, 0.7665, 0.7166, 0.6713, 0.6352, 0.6525");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1355, 0.1355, 0.1354, 0.1354, 0.1355, 0.1356, 0.1355, 0.1355, 0.1355, 0.1354",\
                 "0.132, 0.1321, 0.1321, 0.1322, 0.1323, 0.1324, 0.1324, 0.1324, 0.1325, 0.1325",\
                 "0.1318, 0.1316, 0.1313, 0.131, 0.1309, 0.1307, 0.1306, 0.1305, 0.1305, 0.1303",\
                 "0.1441, 0.1435, 0.1415, 0.139, 0.1368, 0.1349, 0.1336, 0.1327, 0.132, 0.1315",\
                 "0.177, 0.1751, 0.1697, 0.1629, 0.156, 0.1506, 0.1459, 0.1424, 0.1397, 0.1377",\
                 "0.2352, 0.232, 0.2224, 0.2089, 0.1952, 0.1829, 0.1727, 0.1645, 0.1578, 0.1528",\
                 "0.3215, 0.3171, 0.3027, 0.2819, 0.2592, 0.2378, 0.2196, 0.2042, 0.1917, 0.1813",\
                 "0.4382, 0.4322, 0.4135, 0.385, 0.3524, 0.3202, 0.2913, 0.2665, 0.2455, 0.228",\
                 "0.5861, 0.5791, 0.5563, 0.5204, 0.4775, 0.4335, 0.3922, 0.3557, 0.3241, 0.2971",\
                 "0.767, 0.7588, 0.7323, 0.6895, 0.6366, 0.5804, 0.5258, 0.4759, 0.4316, 0.3929");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3432, 0.3439, 0.3453, 0.3466, 0.348, 0.3497, 0.351, 0.3528, 0.3547, 0.361",\
                 "0.3392, 0.3406, 0.3438, 0.3469, 0.3496, 0.3519, 0.3537, 0.3555, 0.3576, 0.3647",\
                 "0.3343, 0.3353, 0.3382, 0.3422, 0.3464, 0.3498, 0.3529, 0.3555, 0.3586, 0.3658",\
                 "0.3481, 0.3475, 0.3467, 0.347, 0.3486, 0.351, 0.3535, 0.3558, 0.3586, 0.3668",\
                 "0.3891, 0.3867, 0.3808, 0.3742, 0.3697, 0.3664, 0.3652, 0.3651, 0.3662, 0.3735",\
                 "0.461, 0.4569, 0.4451, 0.4301, 0.4163, 0.4053, 0.3966, 0.3904, 0.3866, 0.3922",\
                 "0.5645, 0.5588, 0.5416, 0.5177, 0.4934, 0.4718, 0.4538, 0.4389, 0.4285, 0.431",\
                 "0.7005, 0.6935, 0.6714, 0.6393, 0.6037, 0.5708, 0.5413, 0.5161, 0.4967, 0.4955",\
                 "0.8701, 0.8618, 0.8363, 0.7963, 0.7496, 0.704, 0.6628, 0.6259, 0.5959, 0.5942",\
                 "1.074, 1.066, 1.037, 0.9903, 0.9339, 0.875, 0.8199, 0.7708, 0.7311, 0.7402");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09259, 0.09255, 0.09253, 0.09257, 0.09257, 0.09271, 0.09266, 0.09267, 0.09268, 0.09262",\
                 "0.08908, 0.08911, 0.08921, 0.08935, 0.08951, 0.08951, 0.08952, 0.08956, 0.08957, 0.08952",\
                 "0.08901, 0.08895, 0.08854, 0.08815, 0.08794, 0.08786, 0.08768, 0.08766, 0.08761, 0.0875",\
                 "0.1036, 0.1026, 0.09991, 0.09702, 0.09433, 0.09235, 0.09096, 0.0899, 0.08923, 0.08867",\
                 "0.1406, 0.1381, 0.1312, 0.1227, 0.1149, 0.1086, 0.1036, 0.09996, 0.09714, 0.09503",\
                 "0.2036, 0.1995, 0.1875, 0.1716, 0.1558, 0.1423, 0.1313, 0.1226, 0.1158, 0.1104",\
                 "0.2948, 0.2892, 0.272, 0.2478, 0.2223, 0.1989, 0.1792, 0.1629, 0.15, 0.1394",\
                 "0.4156, 0.4087, 0.3868, 0.3544, 0.3182, 0.2835, 0.2527, 0.2265, 0.2047, 0.1867",\
                 "0.5675, 0.5593, 0.5333, 0.4932, 0.4463, 0.3989, 0.3556, 0.3172, 0.2844, 0.2565",\
                 "0.7513, 0.7421, 0.7127, 0.6656, 0.6083, 0.5485, 0.4911, 0.439, 0.3933, 0.3532");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3015, 0.3022, 0.3035, 0.3048, 0.3061, 0.3072, 0.3087, 0.3096, 0.3114, 0.3198",\
                 "0.2974, 0.2988, 0.3019, 0.305, 0.3075, 0.3093, 0.3112, 0.3126, 0.3167, 0.3204",\
                 "0.2926, 0.2936, 0.2964, 0.3003, 0.3046, 0.3076, 0.3104, 0.3129, 0.3154, 0.3212",\
                 "0.3064, 0.3059, 0.3051, 0.3052, 0.3065, 0.309, 0.3112, 0.3136, 0.3154, 0.3231",\
                 "0.3474, 0.345, 0.3391, 0.3326, 0.3275, 0.3242, 0.3226, 0.3225, 0.3236, 0.3305",\
                 "0.4198, 0.4155, 0.4033, 0.3881, 0.3748, 0.3628, 0.3537, 0.3472, 0.3441, 0.3471",\
                 "0.5246, 0.5185, 0.5005, 0.476, 0.4516, 0.4301, 0.4119, 0.396, 0.3853, 0.3868",\
                 "0.6615, 0.6538, 0.6315, 0.5982, 0.562, 0.5288, 0.4996, 0.4745, 0.4529, 0.45",\
                 "0.8316, 0.8233, 0.7967, 0.7557, 0.7083, 0.6623, 0.6209, 0.5843, 0.5537, 0.5486",\
                 "1.037, 1.028, 0.998, 0.9501, 0.8927, 0.8334, 0.7776, 0.7283, 0.6893, 0.6933");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09249, 0.0925, 0.09254, 0.09256, 0.09258, 0.09264, 0.09265, 0.09264, 0.09262, 0.09265",\
                 "0.08898, 0.08905, 0.08916, 0.08928, 0.08942, 0.08954, 0.08961, 0.08961, 0.08964, 0.08965",\
                 "0.08919, 0.08912, 0.08875, 0.08829, 0.0881, 0.08789, 0.08774, 0.08773, 0.08766, 0.08763",\
                 "0.1046, 0.1035, 0.1008, 0.09773, 0.09495, 0.09285, 0.09133, 0.0902, 0.0895, 0.08891",\
                 "0.1431, 0.1406, 0.1336, 0.1248, 0.1167, 0.1101, 0.105, 0.101, 0.09807, 0.09589",\
                 "0.2087, 0.2045, 0.1923, 0.1761, 0.1599, 0.1458, 0.1344, 0.1253, 0.1181, 0.1124",\
                 "0.3033, 0.2976, 0.2802, 0.2556, 0.2296, 0.2055, 0.185, 0.1681, 0.1545, 0.1435",\
                 "0.4288, 0.4217, 0.3995, 0.3665, 0.3295, 0.2941, 0.2623, 0.2351, 0.2125, 0.1936",\
                 "0.5861, 0.5779, 0.5515, 0.5107, 0.4629, 0.4147, 0.3703, 0.3307, 0.2966, 0.268",\
                 "0.7766, 0.7672, 0.7373, 0.6894, 0.6313, 0.5705, 0.5117, 0.4584, 0.4112, 0.3699");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3014, 0.3022, 0.3035, 0.3046, 0.3059, 0.3072, 0.3087, 0.3093, 0.3114, 0.3168",\
                 "0.2966, 0.2981, 0.3012, 0.3043, 0.3069, 0.3087, 0.3106, 0.3119, 0.3144, 0.3204",\
                 "0.2914, 0.2922, 0.2949, 0.299, 0.3029, 0.3062, 0.3094, 0.3119, 0.3147, 0.3205",\
                 "0.3063, 0.3057, 0.3046, 0.3041, 0.3053, 0.3072, 0.3096, 0.3123, 0.3141, 0.3211",\
                 "0.3505, 0.3478, 0.3414, 0.3339, 0.3281, 0.3241, 0.3219, 0.3212, 0.3223, 0.3286",\
                 "0.427, 0.4225, 0.4098, 0.3939, 0.3793, 0.3661, 0.3559, 0.3489, 0.3447, 0.3488",\
                 "0.5366, 0.5306, 0.5121, 0.4867, 0.4611, 0.4384, 0.4187, 0.4016, 0.3889, 0.3901",\
                 "0.6798, 0.6722, 0.649, 0.6149, 0.5779, 0.5437, 0.5126, 0.4857, 0.4625, 0.4576",\
                 "0.8573, 0.8487, 0.8217, 0.7803, 0.7319, 0.685, 0.642, 0.6034, 0.5702, 0.5638",\
                 "1.072, 1.062, 1.031, 0.9835, 0.9249, 0.8652, 0.8073, 0.757, 0.715, 0.7173");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09557, 0.09576, 0.09609, 0.09632, 0.09662, 0.09669, 0.09679, 0.09685, 0.09688, 0.09682",\
                 "0.09562, 0.09606, 0.09697, 0.09779, 0.09859, 0.09895, 0.09916, 0.09934, 0.09945, 0.09947",\
                 "0.09211, 0.09278, 0.09451, 0.09651, 0.0982, 0.09929, 0.09998, 0.1006, 0.1009, 0.101",\
                 "0.0939, 0.09424, 0.09543, 0.09702, 0.09832, 0.09954, 0.1003, 0.1009, 0.1012, 0.1015",\
                 "0.114, 0.1135, 0.1121, 0.1107, 0.1095, 0.1086, 0.1077, 0.1069, 0.1061, 0.1056",\
                 "0.1586, 0.1568, 0.152, 0.1457, 0.1393, 0.1337, 0.129, 0.1249, 0.1214, 0.1185",\
                 "0.2307, 0.2276, 0.2187, 0.206, 0.1925, 0.1802, 0.1693, 0.1598, 0.1518, 0.1449",\
                 "0.3322, 0.3278, 0.3147, 0.2951, 0.2732, 0.2521, 0.233, 0.2162, 0.2018, 0.1891",\
                 "0.4641, 0.4586, 0.4414, 0.4148, 0.3838, 0.3526, 0.3236, 0.2979, 0.275, 0.255",\
                 "0.628, 0.6213, 0.6, 0.5666, 0.5266, 0.4848, 0.4445, 0.4078, 0.3751, 0.3458");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.536, 0.536, 0.5362, 0.5368, 0.5374, 0.5385, 0.5398, 0.5416, 0.5439, 0.551",\
                 "0.5313, 0.5315, 0.5318, 0.5325, 0.5333, 0.5344, 0.5359, 0.5376, 0.5399, 0.5475",\
                 "0.5299, 0.5298, 0.5299, 0.5304, 0.5313, 0.5324, 0.5338, 0.5356, 0.5379, 0.5457",\
                 "0.5453, 0.5445, 0.542, 0.5396, 0.5378, 0.5369, 0.5371, 0.5376, 0.5396, 0.5477",\
                 "0.5853, 0.583, 0.577, 0.569, 0.5613, 0.5553, 0.5511, 0.5494, 0.5481, 0.5552",\
                 "0.6512, 0.6481, 0.6387, 0.6244, 0.609, 0.5947, 0.5842, 0.5761, 0.5709, 0.5755",\
                 "0.7465, 0.7422, 0.7285, 0.7083, 0.6853, 0.6612, 0.6409, 0.6236, 0.612, 0.6143",\
                 "0.872, 0.8668, 0.8503, 0.8237, 0.7918, 0.7584, 0.727, 0.6991, 0.6783, 0.6805",\
                 "1.03, 1.024, 1.005, 0.9723, 0.9317, 0.8892, 0.8456, 0.8068, 0.776, 0.7825",\
                 "1.222, 1.215, 1.193, 1.156, 1.107, 1.054, 0.9995, 0.9484, 0.9112, 0.9375");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.05183, 0.05201, 0.05239, 0.05269, 0.0529, 0.05297, 0.05304, 0.05313, 0.05315, 0.05315",\
                 "0.05085, 0.05151, 0.0529, 0.05398, 0.05476, 0.05524, 0.05543, 0.05567, 0.0557, 0.05582",\
                 "0.04564, 0.0467, 0.04935, 0.0521, 0.05408, 0.05539, 0.0562, 0.05676, 0.05711, 0.05737",\
                 "0.04829, 0.04883, 0.05047, 0.05251, 0.05421, 0.05561, 0.05647, 0.05706, 0.0575, 0.05779",\
                 "0.07159, 0.07092, 0.06909, 0.06737, 0.06608, 0.06507, 0.06415, 0.06332, 0.06257, 0.06199",\
                 "0.1201, 0.1179, 0.1118, 0.1042, 0.09714, 0.09107, 0.08596, 0.08166, 0.07807, 0.07509",\
                 "0.1966, 0.1929, 0.1821, 0.1673, 0.1522, 0.1388, 0.1273, 0.1173, 0.109, 0.1019",\
                 "0.3024, 0.2973, 0.2818, 0.2594, 0.2351, 0.2122, 0.1922, 0.1746, 0.1595, 0.1466",\
                 "0.439, 0.4324, 0.412, 0.3824, 0.3483, 0.3149, 0.2842, 0.2573, 0.2337, 0.2131",\
                 "0.6066, 0.5986, 0.5742, 0.5372, 0.4936, 0.449, 0.4066, 0.3685, 0.3346, 0.3047");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4943, 0.4944, 0.4946, 0.4952, 0.4959, 0.4968, 0.4986, 0.5007, 0.5017, 0.5099",\
                 "0.4899, 0.4898, 0.4901, 0.4907, 0.492, 0.493, 0.4946, 0.4964, 0.4987, 0.5039",\
                 "0.4881, 0.4881, 0.4882, 0.4886, 0.4899, 0.4909, 0.4924, 0.4941, 0.4964, 0.5018",\
                 "0.5038, 0.5027, 0.5003, 0.4979, 0.4962, 0.4954, 0.4956, 0.4964, 0.4984, 0.5061",\
                 "0.5438, 0.5415, 0.5352, 0.5272, 0.5195, 0.5139, 0.5096, 0.507, 0.5066, 0.5135",\
                 "0.6096, 0.6067, 0.597, 0.5829, 0.5675, 0.5533, 0.5419, 0.5336, 0.5274, 0.5327",\
                 "0.7052, 0.7008, 0.6871, 0.6667, 0.6434, 0.6199, 0.5992, 0.5824, 0.5696, 0.5713",\
                 "0.8309, 0.8258, 0.8092, 0.782, 0.7501, 0.7169, 0.6858, 0.6576, 0.6355, 0.6362",\
                 "0.9892, 0.9831, 0.9633, 0.9311, 0.8902, 0.847, 0.8047, 0.7647, 0.7336, 0.7361",\
                 "1.181, 1.174, 1.152, 1.115, 1.066, 1.012, 0.9584, 0.9065, 0.8682, 0.8896");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.05173, 0.0519, 0.05235, 0.05268, 0.05289, 0.05294, 0.05303, 0.05309, 0.05314, 0.05312",\
                 "0.05089, 0.05152, 0.05285, 0.05403, 0.05477, 0.05523, 0.05541, 0.05564, 0.05573, 0.0558",\
                 "0.04584, 0.04687, 0.04947, 0.05217, 0.05415, 0.05545, 0.0562, 0.05676, 0.05716, 0.05741",\
                 "0.04934, 0.04984, 0.05132, 0.05321, 0.05493, 0.0561, 0.05686, 0.05743, 0.05774, 0.05797",\
                 "0.07382, 0.07316, 0.0714, 0.06949, 0.06798, 0.06667, 0.06548, 0.06437, 0.06347, 0.06272",\
                 "0.1237, 0.1214, 0.1154, 0.1076, 0.1004, 0.09388, 0.08833, 0.08369, 0.07986, 0.07664",\
                 "0.2014, 0.1976, 0.187, 0.172, 0.1566, 0.1427, 0.1307, 0.1204, 0.1118, 0.1044",\
                 "0.3082, 0.3031, 0.2877, 0.2653, 0.2408, 0.2174, 0.1969, 0.1789, 0.1634, 0.15",\
                 "0.4458, 0.4392, 0.4191, 0.3893, 0.3552, 0.3212, 0.29, 0.2626, 0.2386, 0.2176",\
                 "0.6142, 0.6064, 0.5823, 0.545, 0.5015, 0.4565, 0.4139, 0.3748, 0.3408, 0.3104");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.5295, 0.5297, 0.5298, 0.5302, 0.5312, 0.5325, 0.5337, 0.5355, 0.5365, 0.5433",\
                 "0.5251, 0.5252, 0.5255, 0.5264, 0.5273, 0.5284, 0.5303, 0.5312, 0.5328, 0.5401",\
                 "0.5238, 0.5239, 0.524, 0.5246, 0.5257, 0.5268, 0.5285, 0.5305, 0.5328, 0.5385",\
                 "0.539, 0.5383, 0.5363, 0.5339, 0.5325, 0.5318, 0.5319, 0.5328, 0.5351, 0.5421",\
                 "0.5783, 0.5766, 0.5712, 0.5638, 0.557, 0.5511, 0.5471, 0.5447, 0.5437, 0.5497",\
                 "0.6442, 0.6412, 0.6326, 0.62, 0.6056, 0.5921, 0.5812, 0.573, 0.5671, 0.5706",\
                 "0.7392, 0.7349, 0.7229, 0.7046, 0.6828, 0.6605, 0.6401, 0.6231, 0.6093, 0.612",\
                 "0.8643, 0.8595, 0.8443, 0.82, 0.7901, 0.7592, 0.7288, 0.7019, 0.6791, 0.6797",\
                 "1.022, 1.017, 0.9984, 0.9688, 0.9312, 0.8911, 0.8504, 0.8114, 0.7805, 0.7845",\
                 "1.214, 1.207, 1.187, 1.152, 1.108, 1.057, 1.006, 0.9571, 0.9178, 0.943");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1349, 0.135, 0.1351, 0.1352, 0.1353, 0.1354, 0.1353, 0.1354, 0.1355, 0.1353",\
                 "0.1317, 0.1316, 0.1318, 0.132, 0.1322, 0.1323, 0.1324, 0.1325, 0.1325, 0.1324",\
                 "0.1276, 0.1277, 0.1282, 0.1287, 0.1293, 0.1296, 0.1298, 0.1299, 0.13, 0.1299",\
                 "0.1292, 0.1292, 0.1293, 0.1295, 0.1295, 0.1295, 0.1296, 0.1296, 0.1296, 0.1296",\
                 "0.1505, 0.1497, 0.1475, 0.1446, 0.1419, 0.1395, 0.1374, 0.1358, 0.1346, 0.1336",\
                 "0.2007, 0.1987, 0.1927, 0.1843, 0.1755, 0.1677, 0.161, 0.1556, 0.1509, 0.1473",\
                 "0.2843, 0.2808, 0.2702, 0.2546, 0.2376, 0.2212, 0.2069, 0.1947, 0.1846, 0.1762",\
                 "0.4037, 0.3987, 0.3829, 0.3593, 0.3324, 0.3058, 0.281, 0.2596, 0.2411, 0.2255",\
                 "0.5602, 0.5536, 0.5331, 0.5009, 0.4632, 0.4248, 0.388, 0.3548, 0.3257, 0.3005",\
                 "0.7542, 0.7465, 0.7211, 0.6811, 0.6323, 0.5811, 0.5311, 0.4845, 0.4426, 0.4056");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.5777, 0.5778, 0.5779, 0.5784, 0.5792, 0.5801, 0.5815, 0.5832, 0.5855, 0.5925",\
                 "0.5734, 0.5735, 0.5737, 0.5744, 0.575, 0.5762, 0.5776, 0.5792, 0.5812, 0.5888",\
                 "0.5692, 0.5694, 0.5699, 0.571, 0.5723, 0.5737, 0.5751, 0.5766, 0.5792, 0.5873",\
                 "0.5782, 0.5778, 0.5765, 0.5757, 0.5752, 0.5755, 0.5765, 0.5776, 0.5799, 0.588",\
                 "0.6165, 0.6147, 0.6092, 0.6028, 0.5967, 0.5924, 0.5895, 0.5881, 0.5885, 0.5955",\
                 "0.6901, 0.6866, 0.6765, 0.6623, 0.6472, 0.6344, 0.6235, 0.6164, 0.6109, 0.6163",\
                 "0.8008, 0.7958, 0.7807, 0.7578, 0.7327, 0.7083, 0.6871, 0.6696, 0.6567, 0.659",\
                 "0.9489, 0.943, 0.9235, 0.8924, 0.8559, 0.8197, 0.7854, 0.7556, 0.7328, 0.7307",\
                 "1.135, 1.128, 1.106, 1.068, 1.021, 0.9706, 0.9232, 0.8792, 0.8438, 0.8415",\
                 "1.361, 1.354, 1.328, 1.285, 1.228, 1.165, 1.102, 1.045, 0.9981, 1.004");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09126, 0.09127, 0.09137, 0.09153, 0.09157, 0.09164, 0.09162, 0.09165, 0.09166, 0.09161",\
                 "0.0877, 0.08783, 0.08807, 0.08829, 0.08855, 0.0886, 0.08869, 0.08873, 0.08877, 0.08873",\
                 "0.08327, 0.08347, 0.08419, 0.08487, 0.0855, 0.08586, 0.08604, 0.08616, 0.08627, 0.08629",\
                 "0.08533, 0.08538, 0.08542, 0.08565, 0.08573, 0.08584, 0.08588, 0.08593, 0.08591, 0.08595",\
                 "0.1093, 0.1082, 0.1054, 0.102, 0.09881, 0.0962, 0.09399, 0.09231, 0.09103, 0.09",\
                 "0.1636, 0.1612, 0.1537, 0.1439, 0.1341, 0.1255, 0.1183, 0.1125, 0.1077, 0.104",\
                 "0.2524, 0.2481, 0.2354, 0.2173, 0.1983, 0.1806, 0.1653, 0.1525, 0.142, 0.1332",\
                 "0.3772, 0.3711, 0.3529, 0.3258, 0.296, 0.2672, 0.241, 0.2184, 0.1994, 0.1834",\
                 "0.5386, 0.531, 0.5071, 0.4712, 0.4298, 0.3884, 0.3497, 0.315, 0.2849, 0.259",\
                 "0.7371, 0.7282, 0.6997, 0.6551, 0.6022, 0.5472, 0.4947, 0.4465, 0.4031, 0.3652");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.536, 0.5359, 0.5362, 0.5366, 0.5377, 0.5387, 0.5402, 0.5417, 0.543, 0.5492",\
                 "0.5316, 0.5318, 0.5321, 0.5327, 0.5338, 0.5348, 0.5363, 0.5377, 0.539, 0.5456",\
                 "0.5273, 0.5276, 0.5281, 0.5294, 0.5306, 0.532, 0.5336, 0.5357, 0.538, 0.5437",\
                 "0.5365, 0.536, 0.5347, 0.5337, 0.5336, 0.534, 0.5349, 0.5364, 0.5384, 0.5457",\
                 "0.5748, 0.5731, 0.5677, 0.5613, 0.555, 0.5507, 0.5478, 0.5463, 0.5466, 0.5535",\
                 "0.6484, 0.645, 0.6347, 0.6208, 0.6056, 0.5924, 0.5821, 0.5739, 0.5693, 0.5735",\
                 "0.7592, 0.7545, 0.7393, 0.716, 0.6909, 0.6667, 0.6457, 0.628, 0.6145, 0.6149",\
                 "0.908, 0.9018, 0.8821, 0.8515, 0.8143, 0.7779, 0.7439, 0.7134, 0.6903, 0.6855",\
                 "1.094, 1.087, 1.065, 1.027, 0.9793, 0.929, 0.881, 0.8374, 0.801, 0.7959",\
                 "1.32, 1.313, 1.287, 1.244, 1.187, 1.124, 1.061, 1.002, 0.9554, 0.958");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&C" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09135, 0.09123, 0.09143, 0.0915, 0.09154, 0.09154, 0.09164, 0.09165, 0.09166, 0.09161",\
                 "0.0877, 0.0878, 0.08811, 0.08833, 0.08851, 0.08861, 0.0887, 0.08867, 0.08874, 0.08877",\
                 "0.08346, 0.08373, 0.08418, 0.08488, 0.08542, 0.0858, 0.08603, 0.08617, 0.08627, 0.08633",\
                 "0.0861, 0.08609, 0.08618, 0.08624, 0.08632, 0.08623, 0.08617, 0.08615, 0.08607, 0.08604",\
                 "0.1118, 0.1107, 0.1077, 0.104, 0.1007, 0.09764, 0.0953, 0.09329, 0.09187, 0.0907",\
                 "0.1682, 0.1657, 0.158, 0.1479, 0.1375, 0.1284, 0.1208, 0.1146, 0.1095, 0.1055",\
                 "0.2587, 0.2545, 0.2414, 0.223, 0.2036, 0.1852, 0.1693, 0.156, 0.1451, 0.136",\
                 "0.385, 0.3788, 0.3604, 0.3331, 0.3026, 0.2732, 0.2465, 0.2233, 0.2037, 0.1872",\
                 "0.5478, 0.5401, 0.5162, 0.4799, 0.438, 0.396, 0.3567, 0.3215, 0.2907, 0.2641",\
                 "0.7478, 0.7385, 0.7098, 0.6651, 0.6116, 0.5563, 0.5032, 0.4543, 0.4105, 0.3718");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.571, 0.5712, 0.5714, 0.5718, 0.5726, 0.5737, 0.5753, 0.5767, 0.5784, 0.585",\
                 "0.567, 0.5671, 0.5676, 0.5681, 0.5692, 0.5703, 0.5718, 0.5737, 0.5747, 0.5817",\
                 "0.5629, 0.5631, 0.5638, 0.5646, 0.5661, 0.5678, 0.5695, 0.5708, 0.5731, 0.5818",\
                 "0.5718, 0.5714, 0.5705, 0.5698, 0.5698, 0.5701, 0.5714, 0.5724, 0.5741, 0.5811",\
                 "0.6099, 0.6084, 0.6037, 0.5976, 0.5919, 0.5877, 0.5847, 0.583, 0.583, 0.5902",\
                 "0.6829, 0.6798, 0.6708, 0.658, 0.6441, 0.6312, 0.6206, 0.6129, 0.607, 0.6122",\
                 "0.793, 0.7887, 0.7751, 0.7539, 0.7309, 0.7075, 0.6862, 0.6687, 0.6548, 0.6557",\
                 "0.9412, 0.9357, 0.918, 0.8894, 0.8553, 0.8205, 0.7882, 0.7583, 0.734, 0.7302",\
                 "1.127, 1.121, 1.1, 1.066, 1.021, 0.9736, 0.9289, 0.8863, 0.8499, 0.8452",\
                 "1.354, 1.347, 1.323, 1.283, 1.23, 1.17, 1.11, 1.055, 1.009, 1.012");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1411, 0.1413, 0.1414, 0.1417, 0.1419, 0.1421, 0.1422, 0.1422, 0.1421, 0.1422",\
                 "0.1397, 0.1398, 0.1403, 0.1409, 0.1413, 0.1416, 0.1418, 0.142, 0.142, 0.142",\
                 "0.1374, 0.1377, 0.1382, 0.1392, 0.14, 0.1406, 0.141, 0.1414, 0.1415, 0.1416",\
                 "0.1436, 0.1434, 0.1432, 0.1429, 0.1426, 0.1426, 0.1425, 0.1424, 0.1424, 0.1424",\
                 "0.1692, 0.1682, 0.1653, 0.1616, 0.158, 0.155, 0.1523, 0.1503, 0.1487, 0.1475",\
                 "0.2206, 0.2181, 0.2116, 0.2025, 0.1929, 0.1844, 0.177, 0.1708, 0.1658, 0.1618",\
                 "0.3012, 0.2975, 0.2865, 0.2704, 0.253, 0.2365, 0.222, 0.2095, 0.199, 0.1901",\
                 "0.4134, 0.4082, 0.3926, 0.3691, 0.3419, 0.316, 0.292, 0.271, 0.2528, 0.2373",\
                 "0.5576, 0.5517, 0.5316, 0.5004, 0.4637, 0.4259, 0.3913, 0.3597, 0.332, 0.3078",\
                 "0.7355, 0.7278, 0.7045, 0.6663, 0.6197, 0.5702, 0.5224, 0.4789, 0.4397, 0.405");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4624, 0.4626, 0.4628, 0.4632, 0.4637, 0.4646, 0.466, 0.4673, 0.4695, 0.4714",\
                 "0.4597, 0.46, 0.4609, 0.4619, 0.4628, 0.4639, 0.4655, 0.467, 0.4695, 0.4717",\
                 "0.4596, 0.4597, 0.46, 0.4608, 0.4618, 0.4631, 0.4648, 0.4667, 0.4685, 0.4714",\
                 "0.4789, 0.4779, 0.4754, 0.4724, 0.4703, 0.469, 0.4694, 0.4702, 0.4718, 0.473",\
                 "0.5244, 0.5219, 0.5154, 0.5061, 0.4972, 0.4904, 0.4862, 0.4831, 0.4817, 0.4816",\
                 "0.599, 0.5951, 0.5836, 0.5674, 0.5511, 0.5358, 0.5237, 0.5134, 0.5061, 0.5022",\
                 "0.7045, 0.6996, 0.684, 0.6602, 0.6338, 0.6095, 0.587, 0.5682, 0.554, 0.5424",\
                 "0.8423, 0.836, 0.8171, 0.7874, 0.7508, 0.7146, 0.6824, 0.6527, 0.6272, 0.6062",\
                 "1.013, 1.006, 0.9849, 0.9492, 0.9043, 0.8558, 0.8108, 0.7698, 0.7332, 0.7015",\
                 "1.219, 1.212, 1.188, 1.148, 1.095, 1.036, 0.9771, 0.9213, 0.8731, 0.8299");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09821, 0.09823, 0.09854, 0.09882, 0.09907, 0.09917, 0.09923, 0.09931, 0.09931, 0.0993",\
                 "0.09627, 0.09652, 0.09722, 0.09786, 0.09835, 0.09879, 0.09898, 0.09907, 0.09919, 0.09918",\
                 "0.09356, 0.09381, 0.09478, 0.09591, 0.09689, 0.09761, 0.09807, 0.09843, 0.09857, 0.09877",\
                 "0.1009, 0.1007, 0.1004, 0.09997, 0.09983, 0.0997, 0.09963, 0.09954, 0.09954, 0.0995",\
                 "0.1294, 0.1282, 0.1246, 0.1201, 0.116, 0.1126, 0.1098, 0.1077, 0.106, 0.1048",\
                 "0.185, 0.1822, 0.1741, 0.1633, 0.1525, 0.143, 0.1351, 0.1287, 0.1235, 0.1193",\
                 "0.2704, 0.266, 0.2527, 0.2342, 0.2148, 0.1968, 0.1812, 0.1681, 0.1572, 0.1482",\
                 "0.3867, 0.381, 0.363, 0.3361, 0.3065, 0.2781, 0.2526, 0.2306, 0.2118, 0.1959",\
                 "0.5349, 0.5278, 0.5055, 0.4709, 0.4306, 0.3904, 0.3535, 0.3207, 0.2918, 0.2671",\
                 "0.7158, 0.7076, 0.6814, 0.6402, 0.5893, 0.5366, 0.4865, 0.441, 0.401, 0.3653");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4208, 0.4209, 0.4213, 0.4217, 0.4221, 0.4231, 0.4242, 0.4257, 0.4283, 0.4305",\
                 "0.418, 0.4184, 0.4192, 0.4202, 0.4212, 0.4222, 0.4235, 0.4254, 0.4279, 0.4295",\
                 "0.4179, 0.4181, 0.4185, 0.4193, 0.4202, 0.4215, 0.4233, 0.4248, 0.4276, 0.4295",\
                 "0.4374, 0.4363, 0.4338, 0.4307, 0.4287, 0.4274, 0.4275, 0.4283, 0.4299, 0.4321",\
                 "0.483, 0.4804, 0.4738, 0.4647, 0.4561, 0.449, 0.4443, 0.4415, 0.4398, 0.4404",\
                 "0.5578, 0.5537, 0.5421, 0.5261, 0.5092, 0.4941, 0.4813, 0.4722, 0.4659, 0.4612",\
                 "0.6633, 0.6582, 0.6427, 0.6187, 0.5924, 0.5679, 0.5459, 0.5273, 0.5124, 0.5009",\
                 "0.8009, 0.7949, 0.7759, 0.7455, 0.7092, 0.6731, 0.6406, 0.6114, 0.5863, 0.566",\
                 "0.9722, 0.9654, 0.9435, 0.9083, 0.8638, 0.8147, 0.7692, 0.7283, 0.6913, 0.6589",\
                 "1.179, 1.171, 1.147, 1.107, 1.055, 0.9944, 0.9355, 0.8804, 0.8322, 0.7888");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "!A1&A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09817, 0.09828, 0.09855, 0.09886, 0.09904, 0.09917, 0.09922, 0.09927, 0.09931, 0.09932",\
                 "0.09634, 0.0966, 0.09726, 0.09793, 0.09844, 0.09869, 0.09895, 0.09912, 0.09922, 0.09922",\
                 "0.09394, 0.09425, 0.09506, 0.09609, 0.09699, 0.09772, 0.09816, 0.09848, 0.09867, 0.09883",\
                 "0.1024, 0.1021, 0.1017, 0.1012, 0.1008, 0.1005, 0.1003, 0.1, 0.09987, 0.0998",\
                 "0.1334, 0.1318, 0.128, 0.123, 0.1186, 0.1148, 0.1117, 0.1092, 0.1074, 0.1059",\
                 "0.1918, 0.189, 0.1805, 0.1691, 0.1577, 0.1477, 0.1393, 0.1323, 0.1267, 0.1221",\
                 "0.2812, 0.2767, 0.2632, 0.2439, 0.2236, 0.2049, 0.1886, 0.1747, 0.1632, 0.1536",\
                 "0.4024, 0.3966, 0.3783, 0.3508, 0.3203, 0.2908, 0.2645, 0.2415, 0.2218, 0.205",\
                 "0.5566, 0.5496, 0.527, 0.4918, 0.4506, 0.4091, 0.371, 0.3368, 0.3069, 0.281",\
                 "0.7449, 0.7367, 0.7101, 0.6681, 0.6165, 0.563, 0.5112, 0.4641, 0.4223, 0.3854");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4195, 0.4196, 0.4199, 0.4203, 0.4208, 0.4217, 0.4231, 0.4241, 0.4263, 0.4292",\
                 "0.4156, 0.4159, 0.4167, 0.4177, 0.4185, 0.4197, 0.4213, 0.4228, 0.4246, 0.4272",\
                 "0.4161, 0.4162, 0.4163, 0.4169, 0.4175, 0.4188, 0.4204, 0.4221, 0.4246, 0.4262",\
                 "0.4382, 0.4371, 0.4339, 0.4302, 0.4273, 0.4258, 0.4251, 0.426, 0.4269, 0.4288",\
                 "0.4873, 0.4847, 0.4774, 0.4674, 0.4571, 0.4498, 0.4442, 0.4411, 0.4391, 0.4387",\
                 "0.5664, 0.5624, 0.5504, 0.5334, 0.5155, 0.4984, 0.4846, 0.4751, 0.4665, 0.4618",\
                 "0.6775, 0.6724, 0.6564, 0.6321, 0.6044, 0.5783, 0.5543, 0.5342, 0.518, 0.5055",\
                 "0.8219, 0.816, 0.7965, 0.7656, 0.7283, 0.6911, 0.6563, 0.6246, 0.5975, 0.5752",\
                 "1.001, 0.9944, 0.9724, 0.9359, 0.8901, 0.8408, 0.7936, 0.75, 0.7117, 0.678",\
                 "1.217, 1.21, 1.186, 1.145, 1.091, 1.03, 0.9698, 0.913, 0.8615, 0.8145");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09736, 0.09741, 0.09776, 0.09802, 0.09824, 0.09834, 0.09839, 0.09845, 0.09848, 0.09847",\
                 "0.09543, 0.09566, 0.09639, 0.09711, 0.09753, 0.0979, 0.09815, 0.09824, 0.09838, 0.09837",\
                 "0.09284, 0.09302, 0.09388, 0.09502, 0.09611, 0.09673, 0.09722, 0.09756, 0.09784, 0.09794",\
                 "0.1, 0.09984, 0.09951, 0.09919, 0.09899, 0.09887, 0.0988, 0.09872, 0.09864, 0.09869",\
                 "0.1286, 0.1273, 0.1238, 0.1193, 0.1152, 0.1117, 0.1089, 0.1068, 0.1052, 0.1039",\
                 "0.1842, 0.1814, 0.1734, 0.1625, 0.1517, 0.1422, 0.1343, 0.1279, 0.1227, 0.1185",\
                 "0.2696, 0.2653, 0.252, 0.2334, 0.2139, 0.1959, 0.1804, 0.1673, 0.1563, 0.1473",\
                 "0.3859, 0.3802, 0.3624, 0.3354, 0.3055, 0.2771, 0.2518, 0.2298, 0.211, 0.1951",\
                 "0.5344, 0.527, 0.505, 0.4703, 0.4299, 0.3895, 0.3524, 0.3197, 0.2911, 0.2662",\
                 "0.715, 0.7068, 0.681, 0.6391, 0.5886, 0.5361, 0.4857, 0.4404, 0.3999, 0.3645");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4208, 0.4209, 0.4212, 0.4216, 0.4221, 0.4229, 0.4242, 0.4254, 0.4273, 0.4302",\
                 "0.418, 0.4184, 0.4192, 0.4202, 0.4212, 0.4222, 0.4238, 0.4251, 0.4273, 0.4298",\
                 "0.418, 0.418, 0.4185, 0.4193, 0.4203, 0.4215, 0.4232, 0.4248, 0.4276, 0.4292",\
                 "0.4373, 0.4363, 0.4338, 0.4307, 0.4284, 0.4276, 0.4278, 0.4286, 0.4302, 0.4321",\
                 "0.4829, 0.4805, 0.4738, 0.4646, 0.4556, 0.4487, 0.4442, 0.4418, 0.4401, 0.4394",\
                 "0.5577, 0.5538, 0.5421, 0.5259, 0.5091, 0.4938, 0.4811, 0.4722, 0.4659, 0.4605",\
                 "0.6633, 0.6583, 0.6426, 0.6184, 0.5923, 0.5679, 0.5454, 0.5273, 0.5127, 0.5012",\
                 "0.8011, 0.7948, 0.776, 0.7458, 0.7094, 0.6732, 0.6405, 0.6108, 0.5863, 0.5653",\
                 "0.9718, 0.9653, 0.9438, 0.908, 0.8638, 0.8143, 0.7689, 0.7279, 0.6913, 0.6589",\
                 "1.179, 1.171, 1.147, 1.107, 1.054, 0.9954, 0.9352, 0.8804, 0.8318, 0.7885");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.0544, 0.05457, 0.05486, 0.05516, 0.05533, 0.05541, 0.05553, 0.05558, 0.05562, 0.05563",\
                 "0.05185, 0.05228, 0.05326, 0.05407, 0.05462, 0.05502, 0.05521, 0.05538, 0.05544, 0.0555",\
                 "0.04846, 0.04894, 0.05027, 0.05181, 0.05298, 0.05379, 0.0543, 0.05463, 0.05491, 0.05504",\
                 "0.05756, 0.05722, 0.05671, 0.05627, 0.05612, 0.05602, 0.05593, 0.05585, 0.05585, 0.05583",\
                 "0.09023, 0.08829, 0.0834, 0.07799, 0.07328, 0.06945, 0.06648, 0.06423, 0.06253, 0.06121",\
                 "0.1509, 0.1473, 0.1369, 0.1239, 0.1115, 0.101, 0.09255, 0.08576, 0.08035, 0.07605",\
                 "0.2415, 0.2361, 0.2201, 0.198, 0.1759, 0.1563, 0.1397, 0.1259, 0.1146, 0.1053",\
                 "0.3623, 0.3555, 0.3342, 0.3036, 0.2704, 0.2397, 0.2126, 0.1896, 0.1701, 0.1536",\
                 "0.5145, 0.5062, 0.4805, 0.4419, 0.3977, 0.3544, 0.3152, 0.2808, 0.2511, 0.2254",\
                 "0.6985, 0.6893, 0.6598, 0.614, 0.5593, 0.5032, 0.4503, 0.4028, 0.3614, 0.3248");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.379, 0.3791, 0.3797, 0.3802, 0.3807, 0.3817, 0.3829, 0.3838, 0.3864, 0.3882",\
                 "0.3762, 0.3766, 0.3775, 0.3787, 0.3797, 0.3808, 0.3826, 0.3832, 0.3857, 0.3879",\
                 "0.376, 0.376, 0.3767, 0.3777, 0.3788, 0.38, 0.3817, 0.3832, 0.3854, 0.3873",\
                 "0.3956, 0.3947, 0.3921, 0.389, 0.3869, 0.3859, 0.386, 0.3868, 0.388, 0.3896",\
                 "0.4415, 0.4388, 0.4319, 0.4229, 0.4144, 0.4076, 0.4029, 0.4002, 0.3989, 0.3981",\
                 "0.5162, 0.5125, 0.5008, 0.4845, 0.468, 0.4521, 0.4403, 0.4306, 0.4243, 0.4196",\
                 "0.6224, 0.6171, 0.6015, 0.5772, 0.5505, 0.5261, 0.504, 0.4857, 0.4712, 0.459",\
                 "0.7603, 0.754, 0.7353, 0.7044, 0.6681, 0.6315, 0.5995, 0.5692, 0.5441, 0.523",\
                 "0.9313, 0.9245, 0.9027, 0.8668, 0.8218, 0.7733, 0.7273, 0.6873, 0.6497, 0.6172",\
                 "1.138, 1.13, 1.106, 1.066, 1.013, 0.9537, 0.8943, 0.8391, 0.7899, 0.7465");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&!A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.05443, 0.05464, 0.0549, 0.05516, 0.05532, 0.05544, 0.0555, 0.05555, 0.05561, 0.05565",\
                 "0.05182, 0.05231, 0.05325, 0.05407, 0.05459, 0.05496, 0.05521, 0.05536, 0.05543, 0.0555",\
                 "0.0488, 0.04936, 0.05057, 0.05198, 0.0531, 0.05387, 0.05437, 0.05471, 0.05494, 0.05511",\
                 "0.05928, 0.05888, 0.05804, 0.05751, 0.05709, 0.05681, 0.05655, 0.05635, 0.05622, 0.05612",\
                 "0.09402, 0.09215, 0.08704, 0.08119, 0.07596, 0.0717, 0.06838, 0.06581, 0.06383, 0.06232",\
                 "0.1576, 0.1541, 0.1434, 0.1296, 0.1168, 0.1058, 0.09674, 0.08943, 0.08355, 0.07883",\
                 "0.2522, 0.2467, 0.2304, 0.2079, 0.185, 0.1646, 0.1472, 0.1327, 0.1207, 0.1107",\
                 "0.3782, 0.3712, 0.3497, 0.3186, 0.2845, 0.2527, 0.2246, 0.2006, 0.18, 0.1628",\
                 "0.5363, 0.5281, 0.5022, 0.4628, 0.4179, 0.3733, 0.3326, 0.2972, 0.2661, 0.2395",\
                 "0.7278, 0.7184, 0.6888, 0.6422, 0.5868, 0.5295, 0.475, 0.4259, 0.383, 0.3449");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3777, 0.3778, 0.3782, 0.3788, 0.3792, 0.38, 0.3815, 0.3825, 0.3847, 0.3869",\
                 "0.3736, 0.3739, 0.375, 0.3761, 0.3772, 0.3783, 0.3797, 0.3812, 0.3827, 0.3853",\
                 "0.3744, 0.3741, 0.3747, 0.3753, 0.3758, 0.3773, 0.3789, 0.3805, 0.3827, 0.384",\
                 "0.3965, 0.3955, 0.3922, 0.3885, 0.3857, 0.3837, 0.384, 0.3842, 0.3864, 0.3873",\
                 "0.4457, 0.443, 0.4356, 0.4257, 0.4158, 0.4081, 0.4022, 0.3992, 0.3972, 0.3968",\
                 "0.525, 0.521, 0.509, 0.4915, 0.474, 0.4566, 0.4431, 0.4326, 0.4256, 0.4203",\
                 "0.6366, 0.6314, 0.6151, 0.5907, 0.5626, 0.5364, 0.513, 0.4926, 0.4764, 0.4629",\
                 "0.781, 0.7751, 0.7552, 0.7242, 0.6869, 0.6496, 0.6152, 0.5834, 0.5553, 0.5329",\
                 "0.9605, 0.9536, 0.9315, 0.8952, 0.8489, 0.7991, 0.7517, 0.7094, 0.6685, 0.6347",\
                 "1.176, 1.169, 1.145, 1.104, 1.05, 0.9905, 0.9279, 0.8705, 0.82, 0.7735");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&!B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.09749, 0.09743, 0.09773, 0.098, 0.09814, 0.09825, 0.09835, 0.09842, 0.09844, 0.0985",\
                 "0.09546, 0.09584, 0.09642, 0.09715, 0.09755, 0.09778, 0.09813, 0.09818, 0.09828, 0.09838",\
                 "0.09308, 0.0934, 0.09416, 0.09531, 0.09621, 0.09685, 0.0973, 0.09759, 0.0978, 0.09795",\
                 "0.1012, 0.1009, 0.1005, 0.09999, 0.09967, 0.09945, 0.0992, 0.09903, 0.09891, 0.09882",\
                 "0.1309, 0.1295, 0.1258, 0.121, 0.1167, 0.113, 0.11, 0.1076, 0.1059, 0.1045",\
                 "0.1876, 0.1846, 0.1763, 0.1653, 0.1541, 0.1443, 0.1361, 0.1295, 0.124, 0.1196",\
                 "0.2738, 0.2693, 0.2559, 0.2373, 0.2174, 0.1991, 0.1831, 0.1697, 0.1585, 0.1493",\
                 "0.3909, 0.385, 0.3672, 0.3401, 0.3101, 0.2815, 0.2555, 0.2331, 0.214, 0.1978",\
                 "0.5398, 0.5328, 0.5105, 0.4762, 0.4356, 0.3948, 0.3576, 0.3243, 0.2951, 0.2699",\
                 "0.7215, 0.7137, 0.6877, 0.6463, 0.5954, 0.5426, 0.4923, 0.4463, 0.4051, 0.3693");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4563, 0.4565, 0.4569, 0.4574, 0.4578, 0.4587, 0.4599, 0.4614, 0.4636, 0.4665",\
                 "0.4542, 0.4545, 0.4556, 0.4567, 0.4578, 0.4591, 0.4607, 0.462, 0.4652, 0.4665",\
                 "0.4536, 0.4538, 0.4545, 0.4556, 0.4568, 0.4583, 0.4601, 0.462, 0.4642, 0.4674",\
                 "0.4724, 0.4718, 0.4695, 0.467, 0.4651, 0.4646, 0.4646, 0.4662, 0.4665, 0.4694",\
                 "0.5174, 0.5151, 0.5093, 0.5011, 0.4929, 0.4867, 0.4821, 0.4791, 0.4781, 0.4777",\
                 "0.5914, 0.5881, 0.5776, 0.5628, 0.5472, 0.5319, 0.5203, 0.5111, 0.5055, 0.4995",\
                 "0.6964, 0.6922, 0.6778, 0.6559, 0.6313, 0.608, 0.5862, 0.5679, 0.553, 0.5418",\
                 "0.8339, 0.8287, 0.8111, 0.7835, 0.75, 0.7152, 0.6837, 0.655, 0.6299, 0.6095",\
                 "1.005, 0.9992, 0.979, 0.9457, 0.9042, 0.8578, 0.8144, 0.7758, 0.7388, 0.7074",\
                 "1.212, 1.205, 1.183, 1.145, 1.096, 1.04, 0.9834, 0.9305, 0.8837, 0.8403");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&B1&!B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.05442, 0.05455, 0.05488, 0.05512, 0.05533, 0.05541, 0.0555, 0.05555, 0.05559, 0.05561",\
                 "0.05192, 0.05234, 0.05331, 0.05409, 0.0546, 0.05501, 0.05521, 0.05534, 0.05542, 0.05548",\
                 "0.04867, 0.04924, 0.05057, 0.05196, 0.05308, 0.05388, 0.05439, 0.05468, 0.0549, 0.05506",\
                 "0.05876, 0.0584, 0.05769, 0.05725, 0.05677, 0.05656, 0.05635, 0.05619, 0.05607, 0.05598",\
                 "0.09252, 0.09061, 0.08573, 0.07994, 0.07483, 0.07071, 0.06752, 0.06505, 0.06322, 0.06178",\
                 "0.1542, 0.1504, 0.14, 0.1267, 0.114, 0.1032, 0.09442, 0.08734, 0.08167, 0.07716",\
                 "0.2455, 0.2402, 0.2241, 0.202, 0.1796, 0.1595, 0.1425, 0.1283, 0.1167, 0.1072",\
                 "0.3671, 0.3603, 0.3391, 0.3084, 0.275, 0.2438, 0.2164, 0.1929, 0.1731, 0.1564",\
                 "0.52, 0.5119, 0.4863, 0.4479, 0.4035, 0.3598, 0.3202, 0.2855, 0.255, 0.2292",\
                 "0.705, 0.6959, 0.6667, 0.6211, 0.5661, 0.51, 0.4568, 0.4085, 0.3664, 0.3296");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4146, 0.4148, 0.4155, 0.416, 0.4164, 0.4175, 0.4185, 0.4195, 0.4223, 0.4236",\
                 "0.4126, 0.4128, 0.4141, 0.4152, 0.4163, 0.4175, 0.4194, 0.4201, 0.423, 0.4249",\
                 "0.4119, 0.4121, 0.4128, 0.4143, 0.4155, 0.4171, 0.4191, 0.4208, 0.4227, 0.4259",\
                 "0.4309, 0.4303, 0.4279, 0.4254, 0.4235, 0.4228, 0.423, 0.4243, 0.4253, 0.4282",\
                 "0.4759, 0.4736, 0.4677, 0.4594, 0.4512, 0.4449, 0.4403, 0.4375, 0.4365, 0.4361",\
                 "0.5504, 0.547, 0.5364, 0.521, 0.5058, 0.4908, 0.479, 0.4692, 0.4633, 0.4579",\
                 "0.6555, 0.6509, 0.6366, 0.6146, 0.59, 0.5666, 0.5448, 0.5266, 0.5121, 0.5005",\
                 "0.7931, 0.788, 0.7703, 0.7422, 0.7079, 0.674, 0.6428, 0.6134, 0.588, 0.5665",\
                 "0.9645, 0.9584, 0.9381, 0.9048, 0.8626, 0.8165, 0.7735, 0.7345, 0.6972, 0.6658",\
                 "1.172, 1.164, 1.142, 1.104, 1.055, 0.9989, 0.9418, 0.8893, 0.8417, 0.798");
        }
      }

      internal_power() {
        related_pin : "C" ;
        when : "A1&A2&B1&B2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.0544, 0.05462, 0.05483, 0.05513, 0.05529, 0.0554, 0.05547, 0.05552, 0.05556, 0.05558",\
                 "0.05188, 0.05233, 0.05325, 0.05408, 0.05465, 0.05492, 0.05517, 0.05534, 0.05542, 0.05548",\
                 "0.0492, 0.04964, 0.05091, 0.05219, 0.05329, 0.054, 0.05445, 0.05477, 0.05497, 0.05512",\
                 "0.06055, 0.06013, 0.05923, 0.05846, 0.0579, 0.05738, 0.05703, 0.05669, 0.05644, 0.05631",\
                 "0.09643, 0.09449, 0.08946, 0.0832, 0.0777, 0.07317, 0.06959, 0.06685, 0.06467, 0.063",\
                 "0.1613, 0.1575, 0.1466, 0.1329, 0.1196, 0.1081, 0.09882, 0.09121, 0.08509, 0.08013",\
                 "0.2565, 0.251, 0.2349, 0.2121, 0.1888, 0.1681, 0.1503, 0.1354, 0.1231, 0.1128",\
                 "0.3833, 0.3762, 0.3549, 0.3239, 0.2895, 0.257, 0.2289, 0.2043, 0.1835, 0.166",\
                 "0.5425, 0.534, 0.5083, 0.4692, 0.4242, 0.3793, 0.3383, 0.3023, 0.2707, 0.2436",\
                 "0.7348, 0.7254, 0.6961, 0.6496, 0.5944, 0.5368, 0.4818, 0.4327, 0.3886, 0.3501");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4134, 0.4137, 0.4138, 0.4144, 0.415, 0.4157, 0.4174, 0.4188, 0.4207, 0.4222",\
                 "0.4098, 0.4105, 0.4115, 0.4127, 0.4139, 0.4148, 0.4164, 0.4175, 0.421, 0.4222",\
                 "0.4101, 0.4101, 0.4106, 0.4114, 0.4126, 0.4142, 0.4155, 0.4175, 0.4194, 0.4212",\
                 "0.4318, 0.4309, 0.4279, 0.4248, 0.4224, 0.4209, 0.4209, 0.4211, 0.4233, 0.4249",\
                 "0.4805, 0.4783, 0.4713, 0.4624, 0.4533, 0.4459, 0.4399, 0.4379, 0.4352, 0.4348",\
                 "0.5592, 0.5553, 0.545, 0.5288, 0.5126, 0.4961, 0.4828, 0.4725, 0.4649, 0.4592",\
                 "0.6702, 0.6653, 0.6505, 0.6281, 0.6025, 0.5778, 0.5546, 0.5339, 0.518, 0.5048",\
                 "0.8143, 0.8087, 0.7912, 0.7629, 0.7279, 0.6926, 0.6596, 0.6286, 0.6005, 0.5785",\
                 "0.9938, 0.9875, 0.9671, 0.9337, 0.8912, 0.8447, 0.7992, 0.7586, 0.7183, 0.6843",\
                 "1.21, 1.204, 1.181, 1.143, 1.093, 1.037, 0.9788, 0.9249, 0.8747, 0.8283");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1611, 0.1797, 0.2439, 0.3638, 0.5485, 0.8061, 1.144, 1.57, 2.09, 2.708",\
                 "0.1736, 0.1924, 0.2568, 0.377, 0.5619, 0.8199, 1.158, 1.584, 2.103, 2.721",\
                 "0.2174, 0.2354, 0.2983, 0.4183, 0.6031, 0.8609, 1.199, 1.625, 2.144, 2.762",\
                 "0.2665, 0.2904, 0.368, 0.4986, 0.6826, 0.9393, 1.277, 1.702, 2.22, 2.839",\
                 "0.2935, 0.3236, 0.4199, 0.5806, 0.7982, 1.066, 1.402, 1.825, 2.342, 2.959",\
                 "0.2935, 0.3297, 0.4461, 0.6389, 0.8955, 1.211, 1.578, 2.003, 2.518, 3.133",\
                 "0.2622, 0.305, 0.4435, 0.6692, 0.9675, 1.328, 1.75, 2.226, 2.754, 3.367",\
                 "0.1977, 0.2477, 0.4065, 0.6673, 1.01, 1.42, 1.893, 2.427, 3.019, 3.665",\
                 "0.0997, 0.1553, 0.3349, 0.6312, 1.018, 1.481, 2.007, 2.599, 3.253, 3.968",\
                 "-0.0371, 0.0261, 0.2265, 0.5559, 0.9905, 1.504, 2.091, 2.74, 3.456, 4.238");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2256, 0.2579, 0.3687, 0.5783, 0.9031, 1.358, 1.957, 2.71, 3.629, 4.723",\
                 "0.2366, 0.2693, 0.3818, 0.5935, 0.9197, 1.376, 1.974, 2.728, 3.647, 4.742",\
                 "0.2921, 0.3235, 0.4343, 0.6452, 0.972, 1.429, 2.028, 2.782, 3.702, 4.797",\
                 "0.4045, 0.4397, 0.5537, 0.7596, 1.082, 1.536, 2.134, 2.888, 3.807, 4.901",\
                 "0.5502, 0.5908, 0.7244, 0.9516, 1.271, 1.718, 2.311, 3.06, 3.977, 5.069",\
                 "0.7335, 0.7806, 0.9309, 1.187, 1.542, 1.99, 2.575, 3.317, 4.226, 5.315",\
                 "0.9514, 1.006, 1.179, 1.463, 1.855, 2.348, 2.937, 3.67, 4.571, 5.652",\
                 "1.205, 1.268, 1.466, 1.784, 2.21, 2.748, 3.389, 4.131, 5.022, 6.093",\
                 "1.495, 1.567, 1.791, 2.148, 2.614, 3.191, 3.885, 4.684, 5.587, 6.647",\
                 "1.823, 1.903, 2.156, 2.552, 3.066, 3.687, 4.426, 5.284, 6.249, 7.323");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2433, 0.2747, 0.3835, 0.5882, 0.9053, 1.348, 1.93, 2.665, 3.56, 4.625",\
                 "0.2427, 0.2743, 0.3834, 0.588, 0.9041, 1.349, 1.932, 2.664, 3.56, 4.627",\
                 "0.2451, 0.2738, 0.379, 0.5869, 0.9043, 1.348, 1.932, 2.665, 3.56, 4.628",\
                 "0.3145, 0.3445, 0.4451, 0.6194, 0.9073, 1.348, 1.931, 2.664, 3.561, 4.628",\
                 "0.4143, 0.4481, 0.5568, 0.7494, 1.02, 1.394, 1.935, 2.663, 3.559, 4.626",\
                 "0.5454, 0.586, 0.707, 0.9114, 1.204, 1.587, 2.063, 2.707, 3.562, 4.626",\
                 "0.6956, 0.742, 0.885, 1.115, 1.426, 1.831, 2.332, 2.926, 3.681, 4.658",\
                 "0.8632, 0.9176, 1.087, 1.348, 1.689, 2.113, 2.641, 3.269, 3.994, 4.874",\
                 "1.048, 1.111, 1.306, 1.605, 1.988, 2.443, 2.991, 3.654, 4.417, 5.281",\
                 "1.252, 1.323, 1.543, 1.887, 2.311, 2.815, 3.392, 4.073, 4.871, 5.781");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4357, 0.4929, 0.6905, 1.06, 1.63, 2.426, 3.473, 4.792, 6.405, 8.325",\
                 "0.4355, 0.4928, 0.6904, 1.06, 1.63, 2.426, 3.475, 4.793, 6.404, 8.321",\
                 "0.4363, 0.4925, 0.6904, 1.06, 1.63, 2.427, 3.474, 4.793, 6.402, 8.323",\
                 "0.5078, 0.5533, 0.7171, 1.062, 1.63, 2.427, 3.475, 4.794, 6.405, 8.322",\
                 "0.6124, 0.6638, 0.8366, 1.139, 1.645, 2.427, 3.474, 4.792, 6.406, 8.32",\
                 "0.7494, 0.7984, 0.9748, 1.304, 1.774, 2.468, 3.477, 4.796, 6.402, 8.327",\
                 "0.9242, 0.9728, 1.145, 1.482, 1.989, 2.649, 3.555, 4.803, 6.406, 8.327",\
                 "1.126, 1.183, 1.357, 1.693, 2.219, 2.921, 3.784, 4.924, 6.431, 8.327",\
                 "1.346, 1.404, 1.597, 1.945, 2.472, 3.206, 4.121, 5.205, 6.594, 8.377",\
                 "1.581, 1.647, 1.861, 2.234, 2.769, 3.515, 4.473, 5.604, 6.931, 8.594");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1201, 0.1379, 0.1996, 0.3173, 0.5006, 0.7568, 1.094, 1.52, 2.038, 2.657",\
                 "0.1324, 0.1501, 0.2124, 0.3304, 0.514, 0.7704, 1.108, 1.534, 2.052, 2.671",\
                 "0.1726, 0.192, 0.2543, 0.3717, 0.555, 0.8118, 1.149, 1.575, 2.093, 2.713",\
                 "0.2033, 0.2294, 0.3127, 0.4493, 0.6347, 0.89, 1.227, 1.651, 2.17, 2.788",\
                 "0.2106, 0.2442, 0.3493, 0.5186, 0.7434, 1.017, 1.352, 1.774, 2.291, 2.908",\
                 "0.1897, 0.2312, 0.3596, 0.5643, 0.8303, 1.153, 1.526, 1.953, 2.468, 3.082",\
                 "0.1383, 0.187, 0.3398, 0.581, 0.8923, 1.261, 1.69, 2.172, 2.704, 3.316",\
                 "0.0549, 0.1111, 0.2863, 0.5661, 0.923, 1.345, 1.826, 2.366, 2.963, 3.613",\
                 "-0.0639, 0.0007, 0.1991, 0.5148, 0.9201, 1.395, 1.933, 2.53, 3.191, 3.911",\
                 "-0.2198, -0.1477, 0.0752, 0.427, 0.8797, 1.41, 2.007, 2.666, 3.388, 4.175");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2198, 0.2517, 0.3628, 0.5717, 0.8956, 1.35, 1.947, 2.696, 3.613, 4.708",\
                 "0.2307, 0.2631, 0.3757, 0.5868, 0.9123, 1.366, 1.963, 2.716, 3.634, 4.726",\
                 "0.2862, 0.3176, 0.428, 0.6385, 0.9642, 1.42, 2.017, 2.77, 3.691, 4.782",\
                 "0.3968, 0.4326, 0.5471, 0.7524, 1.074, 1.527, 2.123, 2.875, 3.793, 4.889",\
                 "0.5404, 0.5816, 0.716, 0.9437, 1.262, 1.708, 2.3, 3.047, 3.963, 5.055",\
                 "0.7208, 0.7685, 0.9205, 1.178, 1.533, 1.98, 2.563, 3.304, 4.213, 5.3",\
                 "0.9355, 0.9915, 1.166, 1.451, 1.843, 2.336, 2.925, 3.656, 4.557, 5.635",\
                 "1.184, 1.248, 1.449, 1.77, 2.196, 2.735, 3.376, 4.116, 5.006, 6.076",\
                 "1.469, 1.543, 1.771, 2.13, 2.598, 3.176, 3.87, 4.668, 5.571, 6.629",\
                 "1.79, 1.873, 2.13, 2.532, 3.047, 3.668, 4.407, 5.265, 6.231, 7.304");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1892, 0.2205, 0.3299, 0.534, 0.8505, 1.293, 1.875, 2.611, 3.507, 4.578",\
                 "0.1873, 0.2203, 0.3295, 0.5339, 0.8508, 1.294, 1.877, 2.612, 3.508, 4.578",\
                 "0.2068, 0.2329, 0.3294, 0.5322, 0.8495, 1.292, 1.877, 2.612, 3.507, 4.571",\
                 "0.2777, 0.307, 0.407, 0.5814, 0.8592, 1.292, 1.877, 2.608, 3.502, 4.573",\
                 "0.3811, 0.4162, 0.5218, 0.712, 0.984, 1.351, 1.883, 2.609, 3.504, 4.57",\
                 "0.5072, 0.5472, 0.6738, 0.8778, 1.169, 1.55, 2.023, 2.661, 3.507, 4.57",\
                 "0.652, 0.7, 0.8494, 1.08, 1.39, 1.796, 2.295, 2.888, 3.641, 4.61",\
                 "0.8134, 0.8706, 1.046, 1.313, 1.655, 2.079, 2.605, 3.233, 3.957, 4.832",\
                 "0.9922, 1.058, 1.26, 1.568, 1.951, 2.41, 2.957, 3.613, 4.379, 5.242",\
                 "1.189, 1.263, 1.495, 1.843, 2.273, 2.779, 3.358, 4.038, 4.844, 5.743");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3309, 0.3855, 0.5774, 0.9416, 1.51, 2.306, 3.354, 4.674, 6.289, 8.198",\
                 "0.3308, 0.3857, 0.5772, 0.9422, 1.51, 2.307, 3.356, 4.672, 6.278, 8.207",\
                 "0.3312, 0.3849, 0.5759, 0.9409, 1.51, 2.306, 3.349, 4.668, 6.288, 8.202",\
                 "0.3951, 0.4432, 0.6036, 0.9419, 1.51, 2.306, 3.353, 4.67, 6.283, 8.213",\
                 "0.4762, 0.5298, 0.7108, 1.02, 1.525, 2.307, 3.35, 4.671, 6.283, 8.204",\
                 "0.5906, 0.6432, 0.832, 1.173, 1.651, 2.347, 3.358, 4.668, 6.291, 8.199",\
                 "0.7298, 0.7896, 0.9824, 1.336, 1.857, 2.524, 3.433, 4.684, 6.286, 8.199",\
                 "0.8974, 0.9604, 1.171, 1.53, 2.072, 2.79, 3.66, 4.808, 6.313, 8.212",\
                 "1.067, 1.145, 1.381, 1.764, 2.313, 3.065, 3.993, 5.079, 6.478, 8.258",\
                 "1.258, 1.346, 1.612, 2.031, 2.597, 3.362, 4.331, 5.478, 6.807, 8.466");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1097, 0.125, 0.178, 0.2788, 0.4354, 0.6551, 0.9437, 1.307, 1.752, 2.28",\
                 "0.1223, 0.1375, 0.1909, 0.2919, 0.4488, 0.6686, 0.9573, 1.322, 1.766, 2.296",\
                 "0.1608, 0.1785, 0.2346, 0.3352, 0.4922, 0.7117, 1.001, 1.364, 1.809, 2.338",\
                 "0.1854, 0.2098, 0.2867, 0.4116, 0.5765, 0.7951, 1.083, 1.447, 1.89, 2.419",\
                 "0.1839, 0.2156, 0.3142, 0.4712, 0.6775, 0.9252, 1.216, 1.577, 2.02, 2.548",\
                 "0.1516, 0.1906, 0.3126, 0.5041, 0.7519, 1.047, 1.386, 1.765, 2.206, 2.731",\
                 "0.0861, 0.1324, 0.2771, 0.5057, 0.7972, 1.141, 1.533, 1.971, 2.45, 2.98",\
                 "-0.015, 0.0394, 0.206, 0.4704, 0.8084, 1.202, 1.648, 2.144, 2.687, 3.275",\
                 "-0.1548, -0.0933, 0.0972, 0.3962, 0.7811, 1.229, 1.731, 2.284, 2.889, 3.545",\
                 "-0.3355, -0.2661, -0.0528, 0.2819, 0.711, 1.214, 1.775, 2.39, 3.056, 3.777");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2198, 0.2517, 0.3622, 0.5716, 0.8958, 1.349, 1.946, 2.698, 3.617, 4.706",\
                 "0.2297, 0.2621, 0.3747, 0.586, 0.9115, 1.366, 1.964, 2.718, 3.633, 4.727",\
                 "0.2847, 0.316, 0.4261, 0.6365, 0.9625, 1.418, 2.015, 2.769, 3.689, 4.78",\
                 "0.3981, 0.4331, 0.5469, 0.7515, 1.073, 1.526, 2.122, 2.873, 3.792, 4.888",\
                 "0.5466, 0.5873, 0.7201, 0.9459, 1.264, 1.709, 2.3, 3.046, 3.961, 5.052",\
                 "0.7348, 0.7816, 0.9314, 1.186, 1.539, 1.984, 2.566, 3.306, 4.214, 5.3",\
                 "0.9596, 1.015, 1.187, 1.467, 1.857, 2.347, 2.933, 3.663, 4.562, 5.641",\
                 "1.224, 1.287, 1.483, 1.797, 2.219, 2.755, 3.391, 4.13, 5.018, 6.085",\
                 "1.524, 1.596, 1.821, 2.173, 2.635, 3.207, 3.896, 4.691, 5.589, 6.645",\
                 "1.868, 1.948, 2.201, 2.594, 3.101, 3.715, 4.448, 5.301, 6.26, 7.33");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1583, 0.1842, 0.2756, 0.4498, 0.719, 1.096, 1.593, 2.22, 2.985, 3.891",\
                 "0.1573, 0.1836, 0.2761, 0.4498, 0.7186, 1.096, 1.595, 2.22, 2.983, 3.895",\
                 "0.1848, 0.2068, 0.2837, 0.4482, 0.7185, 1.095, 1.593, 2.218, 2.983, 3.893",\
                 "0.2575, 0.2841, 0.3704, 0.5175, 0.7412, 1.096, 1.593, 2.218, 2.982, 3.893",\
                 "0.3594, 0.3905, 0.4877, 0.6526, 0.8872, 1.188, 1.617, 2.224, 2.983, 3.894",\
                 "0.4826, 0.5196, 0.6358, 0.8218, 1.076, 1.405, 1.8, 2.312, 3.005, 3.895",\
                 "0.6232, 0.668, 0.806, 1.022, 1.299, 1.654, 2.085, 2.589, 3.195, 3.977",\
                 "0.7814, 0.8336, 0.9966, 1.245, 1.561, 1.938, 2.399, 2.942, 3.563, 4.274",\
                 "0.9564, 1.02, 1.206, 1.494, 1.85, 2.27, 2.753, 3.327, 3.99, 4.734",\
                 "1.145, 1.221, 1.436, 1.76, 2.166, 2.628, 3.154, 3.755, 4.451, 5.236");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3311, 0.3855, 0.5773, 0.9423, 1.51, 2.304, 3.352, 4.668, 6.288, 8.212",\
                 "0.3308, 0.3857, 0.5772, 0.9409, 1.51, 2.304, 3.351, 4.674, 6.284, 8.205",\
                 "0.3316, 0.3853, 0.5763, 0.9406, 1.511, 2.308, 3.35, 4.674, 6.289, 8.198",\
                 "0.3956, 0.4426, 0.6034, 0.9419, 1.51, 2.304, 3.353, 4.67, 6.285, 8.212",\
                 "0.472, 0.527, 0.7086, 1.018, 1.525, 2.303, 3.357, 4.672, 6.282, 8.207",\
                 "0.58, 0.6364, 0.8238, 1.167, 1.649, 2.346, 3.358, 4.674, 6.293, 8.197",\
                 "0.7172, 0.779, 0.9684, 1.326, 1.849, 2.518, 3.426, 4.685, 6.281, 8.206",\
                 "0.8726, 0.9394, 1.148, 1.512, 2.06, 2.779, 3.652, 4.803, 6.306, 8.212",\
                 "1.045, 1.12, 1.356, 1.737, 2.288, 3.051, 3.975, 5.069, 6.475, 8.259",\
                 "1.236, 1.319, 1.578, 1.992, 2.559, 3.328, 4.305, 5.458, 6.792, 8.468");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1611, 0.1797, 0.2439, 0.3638, 0.5485, 0.8061, 1.144, 1.57, 2.09, 2.708",\
                 "0.1736, 0.1924, 0.2568, 0.377, 0.5619, 0.8199, 1.158, 1.584, 2.103, 2.721",\
                 "0.2174, 0.2354, 0.2983, 0.4183, 0.6031, 0.8609, 1.199, 1.625, 2.144, 2.762",\
                 "0.2665, 0.2904, 0.368, 0.4986, 0.6826, 0.9393, 1.277, 1.702, 2.22, 2.839",\
                 "0.2935, 0.3236, 0.4199, 0.5806, 0.7982, 1.066, 1.402, 1.825, 2.342, 2.959",\
                 "0.2935, 0.3297, 0.4461, 0.6389, 0.8955, 1.211, 1.578, 2.003, 2.518, 3.133",\
                 "0.2622, 0.305, 0.4435, 0.6692, 0.9675, 1.328, 1.75, 2.226, 2.754, 3.367",\
                 "0.1977, 0.2477, 0.4065, 0.6673, 1.01, 1.42, 1.893, 2.427, 3.019, 3.665",\
                 "0.0997, 0.1553, 0.3349, 0.6312, 1.018, 1.481, 2.007, 2.599, 3.253, 3.968",\
                 "-0.0371, 0.0261, 0.2265, 0.5559, 0.9905, 1.504, 2.091, 2.74, 3.456, 4.238");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2198, 0.2517, 0.3622, 0.5716, 0.8958, 1.349, 1.946, 2.698, 3.617, 4.706",\
                 "0.2297, 0.2621, 0.3747, 0.586, 0.9115, 1.366, 1.964, 2.718, 3.633, 4.727",\
                 "0.2847, 0.316, 0.4261, 0.6365, 0.9625, 1.418, 2.015, 2.769, 3.689, 4.78",\
                 "0.3981, 0.4331, 0.5469, 0.7515, 1.073, 1.526, 2.122, 2.873, 3.792, 4.888",\
                 "0.5466, 0.5873, 0.7201, 0.9459, 1.264, 1.709, 2.3, 3.046, 3.961, 5.052",\
                 "0.7348, 0.7816, 0.9314, 1.186, 1.539, 1.984, 2.566, 3.306, 4.214, 5.3",\
                 "0.9596, 1.015, 1.187, 1.467, 1.857, 2.347, 2.933, 3.663, 4.562, 5.641",\
                 "1.224, 1.287, 1.483, 1.797, 2.219, 2.755, 3.391, 4.13, 5.018, 6.085",\
                 "1.524, 1.596, 1.821, 2.173, 2.635, 3.207, 3.896, 4.691, 5.589, 6.645",\
                 "1.868, 1.948, 2.201, 2.594, 3.101, 3.715, 4.448, 5.301, 6.26, 7.33");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2433, 0.2747, 0.3835, 0.5882, 0.9053, 1.348, 1.93, 2.665, 3.56, 4.625",\
                 "0.2427, 0.2743, 0.3834, 0.588, 0.9041, 1.349, 1.932, 2.664, 3.56, 4.627",\
                 "0.2451, 0.2738, 0.379, 0.5869, 0.9043, 1.348, 1.932, 2.665, 3.56, 4.628",\
                 "0.3145, 0.3445, 0.4451, 0.6194, 0.9073, 1.348, 1.931, 2.664, 3.561, 4.628",\
                 "0.4143, 0.4481, 0.5568, 0.7494, 1.02, 1.394, 1.935, 2.663, 3.559, 4.626",\
                 "0.5454, 0.586, 0.707, 0.9114, 1.204, 1.587, 2.063, 2.707, 3.562, 4.626",\
                 "0.6956, 0.742, 0.885, 1.115, 1.426, 1.831, 2.332, 2.926, 3.681, 4.658",\
                 "0.8632, 0.9176, 1.087, 1.348, 1.689, 2.113, 2.641, 3.269, 3.994, 4.874",\
                 "1.048, 1.111, 1.306, 1.605, 1.988, 2.443, 2.991, 3.654, 4.417, 5.281",\
                 "1.252, 1.323, 1.543, 1.887, 2.311, 2.815, 3.392, 4.073, 4.871, 5.781");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4357, 0.4929, 0.6905, 1.06, 1.63, 2.426, 3.473, 4.792, 6.405, 8.325",\
                 "0.4355, 0.4928, 0.6904, 1.06, 1.63, 2.426, 3.475, 4.793, 6.404, 8.321",\
                 "0.4363, 0.4925, 0.6904, 1.06, 1.63, 2.427, 3.474, 4.793, 6.402, 8.323",\
                 "0.5078, 0.5533, 0.7171, 1.062, 1.63, 2.427, 3.475, 4.794, 6.405, 8.322",\
                 "0.6124, 0.6638, 0.8366, 1.139, 1.645, 2.427, 3.474, 4.792, 6.406, 8.32",\
                 "0.7494, 0.7984, 0.9748, 1.304, 1.774, 2.468, 3.477, 4.796, 6.402, 8.327",\
                 "0.9242, 0.9728, 1.145, 1.482, 1.989, 2.649, 3.555, 4.803, 6.406, 8.327",\
                 "1.126, 1.183, 1.357, 1.693, 2.219, 2.921, 3.784, 4.924, 6.431, 8.327",\
                 "1.346, 1.404, 1.597, 1.945, 2.472, 3.206, 4.121, 5.205, 6.594, 8.377",\
                 "1.581, 1.647, 1.861, 2.234, 2.769, 3.515, 4.473, 5.604, 6.931, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.204, 0.2228, 0.2877, 0.4088, 0.5946, 0.8532, 1.192, 1.619, 2.138, 2.758",\
                 "0.2135, 0.2324, 0.2974, 0.4185, 0.6043, 0.8629, 1.202, 1.628, 2.148, 2.768",\
                 "0.2538, 0.2721, 0.3366, 0.4574, 0.643, 0.9015, 1.24, 1.666, 2.186, 2.806",\
                 "0.3178, 0.3401, 0.4134, 0.5384, 0.7224, 0.9795, 1.317, 1.743, 2.262, 2.881",\
                 "0.3644, 0.3914, 0.4812, 0.6337, 0.8441, 1.107, 1.442, 1.866, 2.384, 3.001",\
                 "0.3912, 0.4242, 0.5301, 0.7096, 0.956, 1.262, 1.623, 2.046, 2.56, 3.175",\
                 "0.3966, 0.4345, 0.5581, 0.7662, 1.048, 1.395, 1.807, 2.275, 2.8, 3.412",\
                 "0.3784, 0.4223, 0.5626, 0.7998, 1.119, 1.509, 1.967, 2.49, 3.073, 3.713",\
                 "0.3362, 0.3847, 0.5423, 0.8088, 1.166, 1.601, 2.105, 2.68, 3.322, 4.028",\
                 "0.2715, 0.3249, 0.4988, 0.7907, 1.187, 1.667, 2.223, 2.848, 3.546, 4.314");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2665, 0.2981, 0.4088, 0.6184, 0.9429, 1.398, 1.996, 2.749, 3.668, 4.763",\
                 "0.2783, 0.311, 0.424, 0.6357, 0.9621, 1.418, 2.017, 2.77, 3.689, 4.784",\
                 "0.3161, 0.3483, 0.461, 0.6736, 1.002, 1.459, 2.059, 2.814, 3.733, 4.829",\
                 "0.386, 0.4208, 0.5372, 0.7467, 1.072, 1.528, 2.127, 2.882, 3.801, 4.896",\
                 "0.4885, 0.5255, 0.6497, 0.8724, 1.198, 1.647, 2.242, 2.993, 3.91, 5.004",\
                 "0.6227, 0.6655, 0.8024, 1.036, 1.379, 1.834, 2.421, 3.165, 4.076, 5.165",\
                 "0.7829, 0.8319, 0.9868, 1.244, 1.602, 2.077, 2.673, 3.408, 4.311, 5.393",\
                 "0.9655, 1.022, 1.199, 1.485, 1.869, 2.363, 2.982, 3.731, 4.626, 5.696",\
                 "1.172, 1.236, 1.435, 1.755, 2.175, 2.697, 3.337, 4.111, 5.023, 6.086",\
                 "1.402, 1.475, 1.697, 2.053, 2.515, 3.075, 3.741, 4.537, 5.478, 6.562");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2947, 0.3263, 0.4357, 0.6416, 0.959, 1.405, 1.987, 2.721, 3.618, 4.685",\
                 "0.2944, 0.3264, 0.4361, 0.642, 0.9596, 1.404, 1.988, 2.721, 3.618, 4.686",\
                 "0.291, 0.3219, 0.4328, 0.6408, 0.9588, 1.404, 1.987, 2.721, 3.617, 4.685",\
                 "0.3583, 0.3884, 0.4865, 0.6633, 0.9607, 1.404, 1.986, 2.721, 3.617, 4.686",\
                 "0.4622, 0.494, 0.6026, 0.7918, 1.061, 1.442, 1.99, 2.721, 3.617, 4.685",\
                 "0.5974, 0.6338, 0.752, 0.956, 1.248, 1.627, 2.107, 2.758, 3.619, 4.685",\
                 "0.7586, 0.8018, 0.9368, 1.159, 1.467, 1.872, 2.372, 2.967, 3.731, 4.712",\
                 "0.9426, 0.9934, 1.148, 1.398, 1.728, 2.151, 2.681, 3.309, 4.035, 4.921",\
                 "1.145, 1.205, 1.383, 1.665, 2.029, 2.478, 3.024, 3.685, 4.451, 5.317",\
                 "1.37, 1.438, 1.645, 1.962, 2.368, 2.849, 3.418, 4.098, 4.901, 5.813");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4357, 0.4932, 0.6905, 1.06, 1.631, 2.426, 3.473, 4.792, 6.406, 8.319",\
                 "0.436, 0.493, 0.6906, 1.061, 1.63, 2.427, 3.474, 4.795, 6.399, 8.328",\
                 "0.4392, 0.4947, 0.6905, 1.06, 1.63, 2.427, 3.475, 4.794, 6.405, 8.318",\
                 "0.5014, 0.5485, 0.7193, 1.065, 1.63, 2.427, 3.474, 4.795, 6.402, 8.326",\
                 "0.594, 0.641, 0.8104, 1.132, 1.653, 2.427, 3.474, 4.795, 6.403, 8.321",\
                 "0.7362, 0.778, 0.9326, 1.251, 1.753, 2.476, 3.48, 4.793, 6.405, 8.327",\
                 "0.9106, 0.9544, 1.106, 1.406, 1.904, 2.61, 3.561, 4.816, 6.408, 8.323",\
                 "1.105, 1.153, 1.313, 1.613, 2.091, 2.796, 3.728, 4.927, 6.446, 8.333",\
                 "1.315, 1.366, 1.543, 1.862, 2.336, 3.019, 3.956, 5.13, 6.592, 8.405",\
                 "1.541, 1.594, 1.789, 2.136, 2.632, 3.303, 4.217, 5.401, 6.833, 8.578");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.159, 0.1776, 0.2416, 0.3614, 0.5461, 0.8035, 1.142, 1.567, 2.087, 2.705",\
                 "0.1686, 0.1872, 0.2513, 0.3711, 0.5558, 0.8134, 1.152, 1.577, 2.096, 2.716",\
                 "0.21, 0.2281, 0.2906, 0.4101, 0.5944, 0.8518, 1.19, 1.616, 2.135, 2.754",\
                 "0.259, 0.2828, 0.3603, 0.4907, 0.6741, 0.9298, 1.267, 1.692, 2.211, 2.829",\
                 "0.2899, 0.3194, 0.4154, 0.5747, 0.7909, 1.058, 1.393, 1.816, 2.332, 2.95",\
                 "0.3006, 0.3363, 0.4508, 0.64, 0.893, 1.206, 1.571, 1.996, 2.509, 3.124",\
                 "0.2895, 0.3319, 0.4654, 0.6847, 0.9762, 1.331, 1.748, 2.221, 2.748, 3.36",\
                 "0.2569, 0.3047, 0.4555, 0.7067, 1.038, 1.437, 1.901, 2.429, 3.018, 3.661",\
                 "0.2017, 0.2542, 0.4234, 0.7042, 1.075, 1.521, 2.034, 2.614, 3.261, 3.971",\
                 "0.122, 0.1793, 0.3672, 0.6761, 1.086, 1.578, 2.144, 2.776, 3.479, 4.251");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2603, 0.2922, 0.4028, 0.6114, 0.935, 1.389, 1.986, 2.736, 3.653, 4.753",\
                 "0.2723, 0.3049, 0.4178, 0.6288, 0.9543, 1.408, 2.006, 2.757, 3.679, 4.767",\
                 "0.3101, 0.3423, 0.4545, 0.6666, 0.9938, 1.45, 2.048, 2.801, 3.719, 4.812",\
                 "0.3791, 0.4135, 0.5303, 0.7395, 1.064, 1.519, 2.117, 2.87, 3.787, 4.882",\
                 "0.4801, 0.5177, 0.6419, 0.8644, 1.189, 1.638, 2.232, 2.981, 3.897, 4.99",\
                 "0.612, 0.6552, 0.7929, 1.028, 1.37, 1.824, 2.409, 3.151, 4.061, 5.15",\
                 "0.769, 0.8186, 0.975, 1.233, 1.592, 2.066, 2.661, 3.394, 4.295, 5.377",\
                 "0.9484, 1.005, 1.184, 1.472, 1.858, 2.351, 2.969, 3.716, 4.609, 5.68",\
                 "1.151, 1.215, 1.418, 1.74, 2.162, 2.684, 3.322, 4.096, 5.006, 6.068",\
                 "1.377, 1.45, 1.675, 2.034, 2.499, 3.059, 3.726, 4.521, 5.461, 6.543");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2446, 0.2761, 0.3839, 0.5883, 0.9053, 1.349, 1.932, 2.665, 3.561, 4.628",\
                 "0.2436, 0.2751, 0.384, 0.5882, 0.9064, 1.35, 1.931, 2.665, 3.562, 4.628",\
                 "0.2485, 0.2774, 0.3806, 0.5872, 0.9055, 1.349, 1.931, 2.665, 3.561, 4.628",\
                 "0.3224, 0.3522, 0.4505, 0.6234, 0.9102, 1.348, 1.931, 2.665, 3.56, 4.629",\
                 "0.4289, 0.4607, 0.5674, 0.7554, 1.024, 1.398, 1.936, 2.665, 3.561, 4.627",\
                 "0.5642, 0.6016, 0.7198, 0.9202, 1.211, 1.591, 2.067, 2.71, 3.564, 4.627",\
                 "0.7202, 0.7662, 0.9032, 1.126, 1.432, 1.835, 2.334, 2.928, 3.685, 4.66",\
                 "0.8986, 0.9522, 1.111, 1.365, 1.696, 2.115, 2.641, 3.27, 3.996, 4.876",\
                 "1.096, 1.157, 1.345, 1.63, 1.998, 2.44, 2.986, 3.645, 4.413, 5.279",\
                 "1.312, 1.382, 1.598, 1.926, 2.332, 2.813, 3.38, 4.06, 4.866, 5.773");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3314, 0.3858, 0.5773, 0.942, 1.51, 2.304, 3.352, 4.674, 6.288, 8.206",\
                 "0.3312, 0.386, 0.5766, 0.942, 1.509, 2.307, 3.351, 4.677, 6.284, 8.21",\
                 "0.3348, 0.3869, 0.5764, 0.9407, 1.507, 2.303, 3.357, 4.668, 6.28, 8.205",\
                 "0.3889, 0.4379, 0.6055, 0.945, 1.509, 2.306, 3.358, 4.68, 6.286, 8.205",\
                 "0.466, 0.5134, 0.6874, 1.012, 1.533, 2.308, 3.355, 4.672, 6.283, 8.207",\
                 "0.5858, 0.6334, 0.7966, 1.122, 1.63, 2.356, 3.363, 4.673, 6.282, 8.21",\
                 "0.73, 0.7826, 0.9526, 1.269, 1.776, 2.486, 3.439, 4.69, 6.292, 8.205",\
                 "0.89, 0.951, 1.138, 1.464, 1.954, 2.665, 3.603, 4.803, 6.325, 8.203",\
                 "1.062, 1.127, 1.34, 1.694, 2.191, 2.884, 3.826, 5.004, 6.469, 8.288",\
                 "1.248, 1.319, 1.558, 1.946, 2.475, 3.157, 4.08, 5.272, 6.71, 8.459");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.142, 0.1579, 0.2129, 0.3157, 0.4738, 0.6945, 0.9841, 1.348, 1.793, 2.323",\
                 "0.1522, 0.1682, 0.2232, 0.326, 0.4842, 0.7049, 0.9944, 1.359, 1.803, 2.333",\
                 "0.1943, 0.2108, 0.2652, 0.3675, 0.5254, 0.7459, 1.035, 1.4, 1.844, 2.374",\
                 "0.2361, 0.2585, 0.3299, 0.4485, 0.6099, 0.8291, 1.118, 1.481, 1.925, 2.454",\
                 "0.2575, 0.2857, 0.3752, 0.5223, 0.7207, 0.9619, 1.25, 1.612, 2.055, 2.583",\
                 "0.2556, 0.2894, 0.3977, 0.5749, 0.8097, 1.096, 1.428, 1.802, 2.242, 2.768",\
                 "0.228, 0.2682, 0.3952, 0.603, 0.8762, 1.205, 1.586, 2.017, 2.49, 3.018",\
                 "0.1759, 0.2213, 0.3659, 0.6032, 0.9157, 1.29, 1.719, 2.203, 2.738, 3.319",\
                 "0.0974, 0.148, 0.3086, 0.5759, 0.9274, 1.348, 1.827, 2.363, 2.954, 3.601",\
                 "-0.0096, 0.0464, 0.2246, 0.5176, 0.909, 1.374, 1.906, 2.495, 3.144, 3.85");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2601, 0.292, 0.4026, 0.6113, 0.9348, 1.388, 1.986, 2.736, 3.652, 4.746",\
                 "0.2713, 0.304, 0.4169, 0.628, 0.9535, 1.408, 2.005, 2.757, 3.674, 4.769",\
                 "0.3086, 0.3405, 0.4525, 0.6649, 0.9918, 1.448, 2.048, 2.8, 3.718, 4.811",\
                 "0.3789, 0.4131, 0.5296, 0.7381, 1.062, 1.517, 2.114, 2.868, 3.785, 4.879",\
                 "0.4854, 0.5224, 0.6453, 0.8663, 1.19, 1.638, 2.23, 2.979, 3.896, 4.989",\
                 "0.6259, 0.6685, 0.8039, 1.036, 1.376, 1.828, 2.411, 3.153, 4.063, 5.149",\
                 "0.7946, 0.8436, 0.9975, 1.252, 1.606, 2.077, 2.67, 3.401, 4.3, 5.381",\
                 "0.9896, 1.046, 1.221, 1.504, 1.884, 2.373, 2.987, 3.731, 4.621, 5.691",\
                 "1.21, 1.273, 1.473, 1.79, 2.205, 2.719, 3.353, 4.122, 5.027, 6.086",\
                 "1.458, 1.529, 1.752, 2.105, 2.561, 3.114, 3.772, 4.562, 5.495, 6.574");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2031, 0.2294, 0.3214, 0.4954, 0.7656, 1.144, 1.641, 2.267, 3.03, 3.941",\
                 "0.2024, 0.229, 0.3215, 0.4958, 0.7651, 1.143, 1.641, 2.267, 3.031, 3.941",\
                 "0.2181, 0.2403, 0.3231, 0.495, 0.766, 1.144, 1.642, 2.267, 3.031, 3.941",\
                 "0.297, 0.3229, 0.4065, 0.5514, 0.781, 1.145, 1.641, 2.266, 3.031, 3.942",\
                 "0.4033, 0.4335, 0.5266, 0.6902, 0.9212, 1.225, 1.662, 2.267, 3.03, 3.94",\
                 "0.5364, 0.5718, 0.6804, 0.8586, 1.111, 1.439, 1.835, 2.353, 3.048, 3.941",\
                 "0.691, 0.7326, 0.8594, 1.063, 1.336, 1.687, 2.117, 2.62, 3.233, 4.022",\
                 "0.867, 0.916, 1.066, 1.298, 1.599, 1.971, 2.429, 2.973, 3.595, 4.309",\
                 "1.064, 1.122, 1.295, 1.562, 1.899, 2.298, 2.78, 3.353, 4.017, 4.763",\
                 "1.285, 1.348, 1.548, 1.851, 2.227, 2.67, 3.178, 3.776, 4.47, 5.259");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3314, 0.3857, 0.5773, 0.9421, 1.508, 2.303, 3.352, 4.673, 6.288, 8.205",\
                 "0.3315, 0.386, 0.5766, 0.942, 1.509, 2.308, 3.353, 4.677, 6.283, 8.202",\
                 "0.3347, 0.3873, 0.5772, 0.9413, 1.51, 2.304, 3.358, 4.672, 6.283, 8.198",\
                 "0.3893, 0.4381, 0.606, 0.945, 1.511, 2.304, 3.357, 4.673, 6.288, 8.193",\
                 "0.4642, 0.5118, 0.6854, 1.012, 1.532, 2.308, 3.357, 4.672, 6.29, 8.21",\
                 "0.5808, 0.6292, 0.7912, 1.119, 1.628, 2.357, 3.36, 4.674, 6.293, 8.201",\
                 "0.7232, 0.7728, 0.943, 1.257, 1.767, 2.481, 3.438, 4.697, 6.292, 8.199",\
                 "0.8796, 0.937, 1.124, 1.447, 1.941, 2.656, 3.597, 4.797, 6.329, 8.216",\
                 "1.049, 1.115, 1.322, 1.673, 2.164, 2.864, 3.813, 4.996, 6.463, 8.274",\
                 "1.23, 1.305, 1.538, 1.92, 2.446, 3.125, 4.056, 5.253, 6.697, 8.45");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.204, 0.2228, 0.2877, 0.4088, 0.5946, 0.8532, 1.192, 1.619, 2.138, 2.758",\
                 "0.2135, 0.2324, 0.2974, 0.4185, 0.6043, 0.8629, 1.202, 1.628, 2.148, 2.768",\
                 "0.2538, 0.2721, 0.3366, 0.4574, 0.643, 0.9015, 1.24, 1.666, 2.186, 2.806",\
                 "0.3178, 0.3401, 0.4134, 0.5384, 0.7224, 0.9795, 1.317, 1.743, 2.262, 2.881",\
                 "0.3644, 0.3914, 0.4812, 0.6337, 0.8441, 1.107, 1.442, 1.866, 2.384, 3.001",\
                 "0.3912, 0.4242, 0.5301, 0.7096, 0.956, 1.262, 1.623, 2.046, 2.56, 3.175",\
                 "0.3966, 0.4345, 0.5581, 0.7662, 1.048, 1.395, 1.807, 2.275, 2.8, 3.412",\
                 "0.3784, 0.4223, 0.5626, 0.7998, 1.119, 1.509, 1.967, 2.49, 3.073, 3.713",\
                 "0.3362, 0.3847, 0.5423, 0.8088, 1.166, 1.601, 2.105, 2.68, 3.322, 4.028",\
                 "0.2715, 0.3249, 0.4988, 0.7907, 1.187, 1.667, 2.223, 2.848, 3.546, 4.314");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2601, 0.292, 0.4026, 0.6113, 0.9348, 1.388, 1.986, 2.736, 3.652, 4.746",\
                 "0.2713, 0.304, 0.4169, 0.628, 0.9535, 1.408, 2.005, 2.757, 3.674, 4.769",\
                 "0.3086, 0.3405, 0.4525, 0.6649, 0.9918, 1.448, 2.048, 2.8, 3.718, 4.811",\
                 "0.3789, 0.4131, 0.5296, 0.7381, 1.062, 1.517, 2.114, 2.868, 3.785, 4.879",\
                 "0.4854, 0.5224, 0.6453, 0.8663, 1.19, 1.638, 2.23, 2.979, 3.896, 4.989",\
                 "0.6259, 0.6685, 0.8039, 1.036, 1.376, 1.828, 2.411, 3.153, 4.063, 5.149",\
                 "0.7946, 0.8436, 0.9975, 1.252, 1.606, 2.077, 2.67, 3.401, 4.3, 5.381",\
                 "0.9896, 1.046, 1.221, 1.504, 1.884, 2.373, 2.987, 3.731, 4.621, 5.691",\
                 "1.21, 1.273, 1.473, 1.79, 2.205, 2.719, 3.353, 4.122, 5.027, 6.086",\
                 "1.458, 1.529, 1.752, 2.105, 2.561, 3.114, 3.772, 4.562, 5.495, 6.574");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2947, 0.3263, 0.4357, 0.6416, 0.959, 1.405, 1.987, 2.721, 3.618, 4.685",\
                 "0.2944, 0.3264, 0.4361, 0.642, 0.9596, 1.404, 1.988, 2.721, 3.618, 4.686",\
                 "0.291, 0.3219, 0.4328, 0.6408, 0.9588, 1.404, 1.987, 2.721, 3.617, 4.685",\
                 "0.3583, 0.3884, 0.4865, 0.6633, 0.9607, 1.404, 1.986, 2.721, 3.617, 4.686",\
                 "0.4622, 0.494, 0.6026, 0.7918, 1.061, 1.442, 1.99, 2.721, 3.617, 4.685",\
                 "0.5974, 0.6338, 0.752, 0.956, 1.248, 1.627, 2.107, 2.758, 3.619, 4.685",\
                 "0.7586, 0.8018, 0.9368, 1.159, 1.467, 1.872, 2.372, 2.967, 3.731, 4.712",\
                 "0.9426, 0.9934, 1.148, 1.398, 1.728, 2.151, 2.681, 3.309, 4.035, 4.921",\
                 "1.145, 1.205, 1.383, 1.665, 2.029, 2.478, 3.024, 3.685, 4.451, 5.317",\
                 "1.37, 1.438, 1.645, 1.962, 2.368, 2.849, 3.418, 4.098, 4.901, 5.813");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4357, 0.4932, 0.6905, 1.06, 1.631, 2.426, 3.473, 4.792, 6.406, 8.319",\
                 "0.436, 0.493, 0.6906, 1.061, 1.63, 2.427, 3.474, 4.795, 6.399, 8.328",\
                 "0.4392, 0.4947, 0.6905, 1.06, 1.63, 2.427, 3.475, 4.794, 6.405, 8.318",\
                 "0.5014, 0.5485, 0.7193, 1.065, 1.63, 2.427, 3.474, 4.795, 6.402, 8.326",\
                 "0.594, 0.641, 0.8104, 1.132, 1.653, 2.427, 3.474, 4.795, 6.403, 8.321",\
                 "0.7362, 0.778, 0.9326, 1.251, 1.753, 2.476, 3.48, 4.793, 6.405, 8.327",\
                 "0.9106, 0.9544, 1.106, 1.406, 1.904, 2.61, 3.561, 4.816, 6.408, 8.323",\
                 "1.105, 1.153, 1.313, 1.613, 2.091, 2.796, 3.728, 4.927, 6.446, 8.333",\
                 "1.315, 1.366, 1.543, 1.862, 2.336, 3.019, 3.956, 5.13, 6.592, 8.405",\
                 "1.541, 1.594, 1.789, 2.136, 2.632, 3.303, 4.217, 5.401, 6.833, 8.578");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2483, 0.267, 0.331, 0.4509, 0.6357, 0.8935, 1.232, 1.658, 2.177, 2.795",\
                 "0.2618, 0.2805, 0.345, 0.4653, 0.6504, 0.9083, 1.247, 1.672, 2.192, 2.81",\
                 "0.2852, 0.3042, 0.3693, 0.4905, 0.6761, 0.9345, 1.273, 1.699, 2.219, 2.837",\
                 "0.2999, 0.3208, 0.3913, 0.5177, 0.7042, 0.9627, 1.302, 1.728, 2.247, 2.866",\
                 "0.2949, 0.3189, 0.3976, 0.5356, 0.7359, 1.002, 1.341, 1.766, 2.285, 2.903",\
                 "0.2572, 0.2866, 0.3799, 0.5362, 0.7541, 1.038, 1.392, 1.822, 2.34, 2.956",\
                 "0.1787, 0.2131, 0.3246, 0.5077, 0.752, 1.059, 1.434, 1.885, 2.416, 3.032",\
                 "0.0561, 0.0966, 0.2259, 0.4384, 0.7176, 1.056, 1.459, 1.932, 2.486, 3.124",\
                 "-0.1138, -0.0673, 0.0814, 0.3232, 0.6408, 1.019, 1.458, 1.962, 2.541, 3.204",\
                 "-0.3316, -0.2797, -0.1127, 0.1601, 0.5157, 0.9387, 1.421, 1.964, 2.577, 3.266");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4308, 0.4639, 0.5785, 0.7928, 1.122, 1.581, 2.182, 2.937, 3.857, 4.953",\
                 "0.4394, 0.4728, 0.5874, 0.8021, 1.132, 1.59, 2.191, 2.946, 3.867, 4.962",\
                 "0.4912, 0.524, 0.6384, 0.853, 1.182, 1.641, 2.242, 2.997, 3.917, 5.013",\
                 "0.6136, 0.6454, 0.7569, 0.9676, 1.294, 1.75, 2.349, 3.103, 4.022, 5.117",\
                 "0.8094, 0.8436, 0.9588, 1.165, 1.484, 1.934, 2.527, 3.278, 4.193, 5.286",\
                 "1.048, 1.086, 1.215, 1.443, 1.768, 2.209, 2.795, 3.537, 4.448, 5.534",\
                 "1.337, 1.379, 1.518, 1.767, 2.126, 2.586, 3.164, 3.895, 4.797, 5.874",\
                 "1.68, 1.726, 1.878, 2.145, 2.53, 3.031, 3.639, 4.365, 5.254, 6.322",\
                 "2.076, 2.127, 2.294, 2.583, 2.992, 3.526, 4.18, 4.945, 5.831, 6.886",\
                 "2.526, 2.582, 2.766, 3.081, 3.519, 4.082, 4.773, 5.592, 6.521, 7.577");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2449, 0.276, 0.3842, 0.588, 0.9064, 1.349, 1.931, 2.666, 3.56, 4.626",\
                 "0.245, 0.2759, 0.3843, 0.588, 0.9065, 1.35, 1.932, 2.665, 3.56, 4.628",\
                 "0.2466, 0.2768, 0.3843, 0.5884, 0.9047, 1.349, 1.932, 2.666, 3.561, 4.628",\
                 "0.2869, 0.3164, 0.4178, 0.6061, 0.9099, 1.35, 1.931, 2.665, 3.56, 4.629",\
                 "0.3583, 0.386, 0.4842, 0.674, 0.9688, 1.378, 1.939, 2.665, 3.561, 4.628",\
                 "0.4754, 0.5036, 0.599, 0.779, 1.067, 1.477, 2.011, 2.7, 3.569, 4.627",\
                 "0.6256, 0.6546, 0.7554, 0.938, 1.213, 1.611, 2.146, 2.819, 3.647, 4.664",\
                 "0.801, 0.834, 0.942, 1.133, 1.416, 1.801, 2.319, 2.99, 3.812, 4.788",\
                 "1.001, 1.036, 1.154, 1.36, 1.655, 2.048, 2.552, 3.205, 4.02, 4.998",\
                 "1.215, 1.256, 1.389, 1.614, 1.927, 2.334, 2.848, 3.485, 4.279, 5.25");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.7447, 0.8007, 0.9961, 1.366, 1.938, 2.739, 3.788, 5.11, 6.724, 8.643",\
                 "0.7447, 0.8007, 0.9964, 1.366, 1.938, 2.738, 3.789, 5.111, 6.723, 8.643",\
                 "0.7444, 0.8007, 0.9963, 1.366, 1.939, 2.738, 3.79, 5.111, 6.725, 8.643",\
                 "0.753, 0.8061, 0.9965, 1.366, 1.938, 2.739, 3.79, 5.112, 6.723, 8.644",\
                 "0.849, 0.897, 1.063, 1.392, 1.941, 2.739, 3.79, 5.112, 6.724, 8.645",\
                 "0.9746, 1.03, 1.209, 1.528, 2.018, 2.754, 3.789, 5.111, 6.724, 8.646",\
                 "1.117, 1.174, 1.366, 1.713, 2.211, 2.888, 3.833, 5.116, 6.724, 8.646",\
                 "1.289, 1.344, 1.541, 1.904, 2.444, 3.139, 4.022, 5.199, 6.737, 8.646",\
                 "1.484, 1.545, 1.75, 2.121, 2.679, 3.424, 4.333, 5.444, 6.868, 8.677",\
                 "1.701, 1.768, 1.987, 2.37, 2.937, 3.717, 4.683, 5.812, 7.167, 8.856");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2067, 0.2244, 0.2863, 0.4043, 0.5875, 0.8439, 1.181, 1.607, 2.125, 2.743",\
                 "0.2193, 0.2375, 0.3001, 0.4185, 0.6017, 0.8587, 1.196, 1.622, 2.14, 2.758",\
                 "0.2406, 0.2594, 0.3236, 0.4431, 0.6275, 0.8845, 1.222, 1.648, 2.167, 2.786",\
                 "0.2477, 0.2693, 0.3409, 0.4684, 0.6553, 0.9125, 1.251, 1.676, 2.195, 2.813",\
                 "0.2304, 0.2571, 0.3403, 0.4816, 0.6837, 0.9514, 1.29, 1.714, 2.233, 2.85",\
                 "0.1758, 0.2083, 0.3104, 0.4751, 0.6979, 0.9836, 1.34, 1.771, 2.288, 2.904",\
                 "0.0787, 0.1183, 0.2409, 0.4358, 0.6894, 1.001, 1.379, 1.831, 2.363, 2.981",\
                 "-0.0633, -0.0164, 0.1276, 0.3545, 0.6464, 0.9934, 1.4, 1.876, 2.432, 3.071",\
                 "-0.2502, -0.1977, -0.0329, 0.2277, 0.5596, 0.9495, 1.395, 1.903, 2.484, 3.149",\
                 "-0.4847, -0.4258, -0.2419, 0.0517, 0.4247, 0.861, 1.352, 1.901, 2.517, 3.209");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4216, 0.4549, 0.5698, 0.7841, 1.113, 1.57, 2.17, 2.923, 3.842, 4.941",\
                 "0.4303, 0.4638, 0.5788, 0.7935, 1.122, 1.58, 2.18, 2.935, 3.855, 4.945",\
                 "0.4816, 0.5149, 0.6296, 0.8442, 1.173, 1.631, 2.231, 2.984, 3.903, 4.998",\
                 "0.6045, 0.6364, 0.7481, 0.9586, 1.284, 1.739, 2.337, 3.09, 4.007, 5.105",\
                 "0.7984, 0.8331, 0.9491, 1.156, 1.474, 1.923, 2.516, 3.264, 4.179, 5.274",\
                 "1.035, 1.073, 1.203, 1.433, 1.758, 2.199, 2.782, 3.523, 4.431, 5.52",\
                 "1.322, 1.364, 1.504, 1.754, 2.113, 2.575, 3.151, 3.881, 4.779, 5.859",\
                 "1.661, 1.707, 1.862, 2.13, 2.516, 3.018, 3.625, 4.351, 5.238, 6.305",\
                 "2.053, 2.105, 2.274, 2.566, 2.976, 3.51, 4.164, 4.928, 5.814, 6.867",\
                 "2.499, 2.557, 2.743, 3.062, 3.5, 4.063, 4.755, 5.574, 6.503, 7.559");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1938, 0.2242, 0.3311, 0.5341, 0.8505, 1.293, 1.877, 2.612, 3.506, 4.574",\
                 "0.1931, 0.2233, 0.3311, 0.534, 0.8492, 1.293, 1.875, 2.612, 3.506, 4.576",\
                 "0.2013, 0.2292, 0.3321, 0.5342, 0.8501, 1.293, 1.874, 2.612, 3.504, 4.578",\
                 "0.2447, 0.2729, 0.3722, 0.5586, 0.8576, 1.293, 1.877, 2.611, 3.507, 4.573",\
                 "0.3278, 0.3539, 0.4454, 0.6304, 0.9212, 1.328, 1.886, 2.61, 3.507, 4.577",\
                 "0.453, 0.4794, 0.5694, 0.7428, 1.024, 1.429, 1.963, 2.652, 3.519, 4.577",\
                 "0.6092, 0.6366, 0.7324, 0.9086, 1.177, 1.568, 2.099, 2.77, 3.595, 4.617",\
                 "0.7904, 0.82, 0.923, 1.109, 1.384, 1.763, 2.276, 2.942, 3.763, 4.738",\
                 "0.99, 1.024, 1.138, 1.338, 1.627, 2.014, 2.516, 3.161, 3.973, 4.949",\
                 "1.2, 1.24, 1.373, 1.594, 1.905, 2.303, 2.813, 3.446, 4.235, 5.201");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.6157, 0.6729, 0.8691, 1.24, 1.813, 2.614, 3.667, 4.99, 6.6, 8.527",\
                 "0.6149, 0.6724, 0.8696, 1.24, 1.813, 2.614, 3.667, 4.989, 6.604, 8.517",\
                 "0.6145, 0.6716, 0.8691, 1.24, 1.813, 2.613, 3.666, 4.991, 6.606, 8.52",\
                 "0.6225, 0.6761, 0.8686, 1.239, 1.812, 2.613, 3.665, 4.99, 6.606, 8.526",\
                 "0.713, 0.7646, 0.934, 1.264, 1.814, 2.613, 3.664, 4.988, 6.603, 8.526",\
                 "0.8196, 0.879, 1.07, 1.398, 1.891, 2.627, 3.663, 4.987, 6.6, 8.525",\
                 "0.9436, 1.006, 1.209, 1.571, 2.083, 2.762, 3.707, 4.989, 6.6, 8.523",\
                 "1.094, 1.158, 1.371, 1.747, 2.303, 3.011, 3.898, 5.072, 6.611, 8.519",\
                 "1.266, 1.336, 1.56, 1.953, 2.526, 3.286, 4.205, 5.316, 6.741, 8.551",\
                 "1.456, 1.532, 1.776, 2.189, 2.773, 3.564, 4.545, 5.684, 7.041, 8.734");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1838, 0.1989, 0.2507, 0.3489, 0.5014, 0.7154, 0.9962, 1.35, 1.782, 2.297",\
                 "0.1967, 0.2118, 0.2643, 0.3631, 0.5158, 0.7301, 1.011, 1.365, 1.798, 2.313",\
                 "0.22, 0.2361, 0.2903, 0.3901, 0.5438, 0.7584, 1.04, 1.394, 1.827, 2.342",\
                 "0.2308, 0.2504, 0.314, 0.4247, 0.5838, 0.7988, 1.08, 1.435, 1.867, 2.382",\
                 "0.2159, 0.2407, 0.3194, 0.4486, 0.627, 0.8577, 1.144, 1.497, 1.929, 2.444",\
                 "0.1632, 0.1943, 0.2927, 0.4496, 0.6548, 0.909, 1.219, 1.587, 2.02, 2.533",\
                 "0.0681, 0.1062, 0.2246, 0.4131, 0.6548, 0.9421, 1.279, 1.674, 2.132, 2.655",\
                 "-0.0705, -0.026, 0.113, 0.3334, 0.6161, 0.9451, 1.32, 1.746, 2.233, 2.785",\
                 "-0.2541, -0.2041, -0.0456, 0.2068, 0.5304, 0.9066, 1.328, 1.795, 2.316, 2.9",\
                 "-0.4855, -0.4295, -0.253, 0.0314, 0.3949, 0.8199, 1.293, 1.809, 2.375, 2.995");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4681, 0.5005, 0.6131, 0.8251, 1.152, 1.608, 2.208, 2.961, 3.876, 4.974",\
                 "0.4771, 0.5097, 0.6225, 0.8345, 1.162, 1.618, 2.217, 2.968, 3.888, 4.982",\
                 "0.5289, 0.5612, 0.6738, 0.8857, 1.213, 1.669, 2.269, 3.023, 3.941, 5.033",\
                 "0.6513, 0.6827, 0.7924, 1.001, 1.325, 1.778, 2.376, 3.128, 4.048, 5.142",\
                 "0.849, 0.8828, 0.995, 1.199, 1.516, 1.964, 2.555, 3.303, 4.217, 5.309",\
                 "1.092, 1.129, 1.256, 1.48, 1.802, 2.241, 2.824, 3.564, 4.472, 5.558",\
                 "1.385, 1.426, 1.563, 1.808, 2.164, 2.62, 3.195, 3.924, 4.822, 5.902",\
                 "1.733, 1.778, 1.927, 2.19, 2.572, 3.07, 3.673, 4.397, 5.284, 6.35",\
                 "2.135, 2.185, 2.347, 2.631, 3.039, 3.57, 4.222, 4.981, 5.865, 6.918",\
                 "2.592, 2.648, 2.826, 3.137, 3.571, 4.131, 4.821, 5.635, 6.56, 7.614");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1905, 0.2162, 0.3051, 0.475, 0.7386, 1.107, 1.591, 2.204, 2.949, 3.838",\
                 "0.1909, 0.216, 0.3056, 0.475, 0.7383, 1.108, 1.592, 2.204, 2.951, 3.841",\
                 "0.2027, 0.2257, 0.3083, 0.4748, 0.7382, 1.107, 1.593, 2.203, 2.95, 3.84",\
                 "0.2627, 0.2845, 0.3633, 0.5134, 0.753, 1.109, 1.592, 2.204, 2.95, 3.836",\
                 "0.3674, 0.3874, 0.4598, 0.6042, 0.8388, 1.166, 1.615, 2.207, 2.947, 3.838",\
                 "0.5106, 0.5318, 0.6044, 0.7442, 0.967, 1.293, 1.725, 2.274, 2.975, 3.841",\
                 "0.6826, 0.7048, 0.7826, 0.9288, 1.15, 1.464, 1.891, 2.436, 3.098, 3.916",\
                 "0.8784, 0.9012, 0.9862, 1.146, 1.38, 1.693, 2.107, 2.645, 3.308, 4.097",\
                 "1.092, 1.119, 1.213, 1.389, 1.641, 1.969, 2.385, 2.907, 3.564, 4.354",\
                 "1.316, 1.349, 1.461, 1.654, 1.93, 2.279, 2.714, 3.235, 3.877, 4.66");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.6672, 0.7231, 0.92, 1.291, 1.864, 2.666, 3.717, 5.041, 6.648, 8.572",\
                 "0.6668, 0.7236, 0.9204, 1.29, 1.864, 2.664, 3.717, 5.037, 6.65, 8.569",\
                 "0.6658, 0.7226, 0.9206, 1.291, 1.864, 2.665, 3.717, 5.04, 6.655, 8.573",\
                 "0.6711, 0.7253, 0.9193, 1.291, 1.864, 2.664, 3.716, 5.041, 6.654, 8.579",\
                 "0.7578, 0.8056, 0.9766, 1.31, 1.864, 2.664, 3.715, 5.038, 6.65, 8.57",\
                 "0.8676, 0.9258, 1.113, 1.438, 1.933, 2.676, 3.715, 5.038, 6.651, 8.573",\
                 "0.9884, 1.05, 1.252, 1.612, 2.118, 2.802, 3.752, 5.04, 6.65, 8.573",\
                 "1.136, 1.199, 1.408, 1.786, 2.34, 3.044, 3.934, 5.116, 6.66, 8.571",\
                 "1.309, 1.377, 1.596, 1.984, 2.561, 3.317, 4.235, 5.35, 6.783, 8.597",\
                 "1.499, 1.573, 1.809, 2.216, 2.8, 3.594, 4.575, 5.712, 7.071, 8.77");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2483, 0.267, 0.331, 0.4509, 0.6357, 0.8935, 1.232, 1.658, 2.177, 2.795",\
                 "0.2618, 0.2805, 0.345, 0.4653, 0.6504, 0.9083, 1.247, 1.672, 2.192, 2.81",\
                 "0.2852, 0.3042, 0.3693, 0.4905, 0.6761, 0.9345, 1.273, 1.699, 2.219, 2.837",\
                 "0.2999, 0.3208, 0.3913, 0.5177, 0.7042, 0.9627, 1.302, 1.728, 2.247, 2.866",\
                 "0.2949, 0.3189, 0.3976, 0.5356, 0.7359, 1.002, 1.341, 1.766, 2.285, 2.903",\
                 "0.2572, 0.2866, 0.3799, 0.5362, 0.7541, 1.038, 1.392, 1.822, 2.34, 2.956",\
                 "0.1787, 0.2131, 0.3246, 0.5077, 0.752, 1.059, 1.434, 1.885, 2.416, 3.032",\
                 "0.0561, 0.0966, 0.2259, 0.4384, 0.7176, 1.056, 1.459, 1.932, 2.486, 3.124",\
                 "-0.1138, -0.0673, 0.0814, 0.3232, 0.6408, 1.019, 1.458, 1.962, 2.541, 3.204",\
                 "-0.3316, -0.2797, -0.1127, 0.1601, 0.5157, 0.9387, 1.421, 1.964, 2.577, 3.266");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4681, 0.5005, 0.6131, 0.8251, 1.152, 1.608, 2.208, 2.961, 3.876, 4.974",\
                 "0.4771, 0.5097, 0.6225, 0.8345, 1.162, 1.618, 2.217, 2.968, 3.888, 4.982",\
                 "0.5289, 0.5612, 0.6738, 0.8857, 1.213, 1.669, 2.269, 3.023, 3.941, 5.033",\
                 "0.6513, 0.6827, 0.7924, 1.001, 1.325, 1.778, 2.376, 3.128, 4.048, 5.142",\
                 "0.849, 0.8828, 0.995, 1.199, 1.516, 1.964, 2.555, 3.303, 4.217, 5.309",\
                 "1.092, 1.129, 1.256, 1.48, 1.802, 2.241, 2.824, 3.564, 4.472, 5.558",\
                 "1.385, 1.426, 1.563, 1.808, 2.164, 2.62, 3.195, 3.924, 4.822, 5.902",\
                 "1.733, 1.778, 1.927, 2.19, 2.572, 3.07, 3.673, 4.397, 5.284, 6.35",\
                 "2.135, 2.185, 2.347, 2.631, 3.039, 3.57, 4.222, 4.981, 5.865, 6.918",\
                 "2.592, 2.648, 2.826, 3.137, 3.571, 4.131, 4.821, 5.635, 6.56, 7.614");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2449, 0.276, 0.3842, 0.588, 0.9064, 1.349, 1.931, 2.666, 3.56, 4.626",\
                 "0.245, 0.2759, 0.3843, 0.588, 0.9065, 1.35, 1.932, 2.665, 3.56, 4.628",\
                 "0.2466, 0.2768, 0.3843, 0.5884, 0.9047, 1.349, 1.932, 2.666, 3.561, 4.628",\
                 "0.2869, 0.3164, 0.4178, 0.6061, 0.9099, 1.35, 1.931, 2.665, 3.56, 4.629",\
                 "0.3583, 0.386, 0.4842, 0.674, 0.9688, 1.378, 1.939, 2.665, 3.561, 4.628",\
                 "0.4754, 0.5036, 0.599, 0.779, 1.067, 1.477, 2.011, 2.7, 3.569, 4.627",\
                 "0.6256, 0.6546, 0.7554, 0.938, 1.213, 1.611, 2.146, 2.819, 3.647, 4.664",\
                 "0.801, 0.834, 0.942, 1.133, 1.416, 1.801, 2.319, 2.99, 3.812, 4.788",\
                 "1.001, 1.036, 1.154, 1.36, 1.655, 2.048, 2.552, 3.205, 4.02, 4.998",\
                 "1.215, 1.256, 1.389, 1.614, 1.927, 2.334, 2.848, 3.485, 4.279, 5.25");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.7447, 0.8007, 0.9961, 1.366, 1.938, 2.739, 3.788, 5.11, 6.724, 8.643",\
                 "0.7447, 0.8007, 0.9964, 1.366, 1.938, 2.738, 3.789, 5.111, 6.723, 8.643",\
                 "0.7444, 0.8007, 0.9963, 1.366, 1.939, 2.738, 3.79, 5.111, 6.725, 8.643",\
                 "0.753, 0.8061, 0.9965, 1.366, 1.938, 2.739, 3.79, 5.112, 6.723, 8.644",\
                 "0.849, 0.897, 1.063, 1.392, 1.941, 2.739, 3.79, 5.112, 6.724, 8.645",\
                 "0.9746, 1.03, 1.209, 1.528, 2.018, 2.754, 3.789, 5.111, 6.724, 8.646",\
                 "1.117, 1.174, 1.366, 1.713, 2.211, 2.888, 3.833, 5.116, 6.724, 8.646",\
                 "1.289, 1.344, 1.541, 1.904, 2.444, 3.139, 4.022, 5.199, 6.737, 8.646",\
                 "1.484, 1.545, 1.75, 2.121, 2.679, 3.424, 4.333, 5.444, 6.868, 8.677",\
                 "1.701, 1.768, 1.987, 2.37, 2.937, 3.717, 4.683, 5.812, 7.167, 8.856");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2907, 0.3094, 0.3743, 0.4954, 0.6812, 0.9398, 1.279, 1.705, 2.225, 2.844",\
                 "0.3016, 0.3203, 0.3853, 0.5064, 0.6923, 0.9509, 1.29, 1.716, 2.236, 2.855",\
                 "0.3246, 0.3436, 0.4087, 0.5302, 0.7162, 0.9751, 1.314, 1.741, 2.26, 2.879",\
                 "0.3445, 0.3647, 0.4338, 0.5583, 0.7444, 1.003, 1.342, 1.768, 2.288, 2.908",\
                 "0.3482, 0.3709, 0.4468, 0.5816, 0.7793, 1.043, 1.381, 1.806, 2.325, 2.944",\
                 "0.3276, 0.354, 0.4417, 0.5921, 0.8048, 1.085, 1.437, 1.865, 2.382, 2.998",\
                 "0.2733, 0.3051, 0.4077, 0.5799, 0.8159, 1.116, 1.485, 1.932, 2.461, 3.076",\
                 "0.1845, 0.2205, 0.3378, 0.536, 0.8012, 1.129, 1.523, 1.989, 2.538, 3.173",\
                 "0.0593, 0.0998, 0.2321, 0.4537, 0.7526, 1.116, 1.542, 2.035, 2.605, 3.261",\
                 "-0.1041, -0.0591, 0.0872, 0.3335, 0.6643, 1.066, 1.53, 2.059, 2.659, 3.339");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4698, 0.5028, 0.6172, 0.8318, 1.161, 1.62, 2.22, 2.975, 3.896, 4.992",\
                 "0.4813, 0.5146, 0.6294, 0.8438, 1.173, 1.632, 2.232, 2.988, 3.908, 5.004",\
                 "0.5198, 0.553, 0.6679, 0.883, 1.213, 1.672, 2.273, 3.028, 3.949, 5.044",\
                 "0.598, 0.6305, 0.7434, 0.9561, 1.284, 1.742, 2.342, 3.097, 4.017, 5.112",\
                 "0.7282, 0.7621, 0.878, 1.09, 1.411, 1.863, 2.458, 3.21, 4.127, 5.221",\
                 "0.9083, 0.943, 1.062, 1.282, 1.61, 2.055, 2.641, 3.385, 4.296, 5.384",\
                 "1.135, 1.173, 1.3, 1.526, 1.863, 2.321, 2.903, 3.635, 4.536, 5.616",\
                 "1.404, 1.446, 1.584, 1.825, 2.173, 2.641, 3.24, 3.971, 4.861, 5.928",\
                 "1.714, 1.76, 1.912, 2.173, 2.542, 3.022, 3.633, 4.384, 5.276, 6.331",\
                 "2.066, 2.116, 2.283, 2.567, 2.962, 3.465, 4.089, 4.855, 5.769, 6.83");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2943, 0.3268, 0.4362, 0.6411, 0.9598, 1.405, 1.988, 2.721, 3.617, 4.683",\
                 "0.2946, 0.3265, 0.436, 0.642, 0.959, 1.405, 1.988, 2.722, 3.619, 4.683",\
                 "0.2952, 0.3263, 0.4359, 0.6419, 0.9591, 1.405, 1.988, 2.722, 3.618, 4.685",\
                 "0.3317, 0.3612, 0.4631, 0.6548, 0.9625, 1.404, 1.987, 2.721, 3.618, 4.686",\
                 "0.4002, 0.4294, 0.5294, 0.7222, 1.016, 1.43, 1.992, 2.721, 3.618, 4.685",\
                 "0.516, 0.5452, 0.6426, 0.8258, 1.115, 1.526, 2.061, 2.754, 3.623, 4.684",\
                 "0.6728, 0.7016, 0.8016, 0.9822, 1.259, 1.659, 2.194, 2.867, 3.7, 4.718",\
                 "0.8614, 0.8938, 1.002, 1.188, 1.463, 1.851, 2.367, 3.037, 3.86, 4.84",\
                 "1.081, 1.115, 1.23, 1.428, 1.715, 2.098, 2.605, 3.253, 4.068, 5.046",\
                 "1.327, 1.365, 1.488, 1.703, 2.008, 2.4, 2.902, 3.534, 4.325, 5.294");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.7446, 0.8006, 0.9964, 1.366, 1.938, 2.738, 3.788, 5.112, 6.725, 8.64",\
                 "0.7445, 0.8005, 0.9964, 1.366, 1.938, 2.738, 3.788, 5.111, 6.72, 8.641",\
                 "0.7444, 0.8006, 0.9961, 1.366, 1.939, 2.738, 3.788, 5.11, 6.725, 8.645",\
                 "0.7591, 0.8118, 0.9994, 1.366, 1.939, 2.739, 3.79, 5.111, 6.723, 8.643",\
                 "0.8378, 0.8874, 1.06, 1.398, 1.944, 2.739, 3.79, 5.111, 6.724, 8.646",\
                 "0.946, 0.9948, 1.17, 1.502, 2.016, 2.764, 3.792, 5.112, 6.724, 8.646",\
                 "1.092, 1.139, 1.31, 1.639, 2.154, 2.873, 3.848, 5.123, 6.724, 8.646",\
                 "1.27, 1.321, 1.491, 1.813, 2.322, 3.046, 3.99, 5.212, 6.753, 8.649",\
                 "1.471, 1.525, 1.707, 2.035, 2.532, 3.248, 4.2, 5.393, 6.878, 8.702",\
                 "1.691, 1.753, 1.947, 2.29, 2.796, 3.495, 4.442, 5.642, 7.095, 8.862");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2456, 0.2641, 0.328, 0.4477, 0.6321, 0.8896, 1.228, 1.654, 2.173, 2.791",\
                 "0.2564, 0.2749, 0.3388, 0.4585, 0.6432, 0.9007, 1.239, 1.665, 2.184, 2.803",\
                 "0.279, 0.2977, 0.362, 0.4823, 0.6671, 0.9249, 1.263, 1.689, 2.208, 2.827",\
                 "0.2929, 0.3137, 0.3836, 0.5093, 0.6953, 0.9528, 1.291, 1.717, 2.236, 2.855",\
                 "0.2876, 0.3118, 0.3908, 0.5282, 0.7275, 0.9928, 1.331, 1.755, 2.273, 2.892",\
                 "0.2531, 0.2825, 0.3763, 0.5327, 0.7495, 1.031, 1.385, 1.814, 2.33, 2.946",\
                 "0.1843, 0.2186, 0.3302, 0.5121, 0.7552, 1.059, 1.431, 1.879, 2.408, 3.024",\
                 "0.081, 0.1213, 0.2485, 0.4575, 0.7331, 1.068, 1.465, 1.934, 2.484, 3.12",\
                 "-0.0569, -0.0122, 0.1307, 0.366, 0.6757, 1.048, 1.48, 1.977, 2.549, 3.207",\
                 "-0.2326, -0.1836, -0.0244, 0.2356, 0.5798, 0.9917, 1.464, 1.998, 2.601, 3.283");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4604, 0.4937, 0.6086, 0.8231, 1.152, 1.609, 2.21, 2.963, 3.882, 4.974",\
                 "0.4721, 0.5055, 0.6205, 0.8351, 1.164, 1.621, 2.222, 2.975, 3.895, 4.987",\
                 "0.5102, 0.5438, 0.6591, 0.8742, 1.203, 1.662, 2.262, 3.017, 3.935, 5.026",\
                 "0.5886, 0.6214, 0.7345, 0.9473, 1.275, 1.731, 2.33, 3.083, 4.003, 5.1",\
                 "0.7177, 0.752, 0.8683, 1.081, 1.401, 1.852, 2.446, 3.196, 4.113, 5.206",\
                 "0.8958, 0.9315, 1.052, 1.272, 1.6, 2.043, 2.628, 3.37, 4.28, 5.368",\
                 "1.121, 1.159, 1.287, 1.514, 1.852, 2.309, 2.89, 3.621, 4.52, 5.599",\
                 "1.387, 1.43, 1.569, 1.813, 2.161, 2.628, 3.226, 3.956, 4.844, 5.909",\
                 "1.695, 1.741, 1.895, 2.159, 2.528, 3.008, 3.617, 4.368, 5.259, 6.312",\
                 "2.042, 2.094, 2.263, 2.55, 2.947, 3.449, 4.073, 4.837, 5.75, 6.811");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2443, 0.2754, 0.3833, 0.5875, 0.9042, 1.349, 1.931, 2.665, 3.559, 4.625",\
                 "0.2444, 0.2753, 0.3835, 0.5876, 0.9059, 1.348, 1.931, 2.665, 3.561, 4.626",\
                 "0.2478, 0.2778, 0.3836, 0.5882, 0.9059, 1.348, 1.931, 2.665, 3.56, 4.626",\
                 "0.2892, 0.3182, 0.4191, 0.6073, 0.9101, 1.347, 1.93, 2.664, 3.56, 4.629",\
                 "0.3671, 0.3944, 0.4904, 0.6772, 0.9696, 1.379, 1.939, 2.665, 3.559, 4.627",\
                 "0.493, 0.5202, 0.6122, 0.7876, 1.071, 1.478, 2.012, 2.701, 3.569, 4.627",\
                 "0.6562, 0.685, 0.78, 0.9544, 1.226, 1.616, 2.146, 2.819, 3.646, 4.664",\
                 "0.851, 0.881, 0.982, 1.162, 1.434, 1.81, 2.324, 2.991, 3.811, 4.788",\
                 "1.075, 1.107, 1.215, 1.409, 1.687, 2.069, 2.566, 3.209, 4.019, 4.996",\
                 "1.318, 1.357, 1.477, 1.686, 1.982, 2.37, 2.869, 3.497, 4.282, 5.247");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.6157, 0.6715, 0.8694, 1.24, 1.813, 2.614, 3.666, 4.989, 6.601, 8.515",\
                 "0.6153, 0.6722, 0.8689, 1.239, 1.813, 2.614, 3.666, 4.989, 6.6, 8.516",\
                 "0.6147, 0.672, 0.8687, 1.24, 1.813, 2.614, 3.666, 4.988, 6.604, 8.521",\
                 "0.6284, 0.6822, 0.8712, 1.24, 1.812, 2.613, 3.665, 4.989, 6.604, 8.524",\
                 "0.702, 0.7544, 0.9316, 1.27, 1.818, 2.613, 3.664, 4.987, 6.602, 8.525",\
                 "0.798, 0.8512, 1.032, 1.372, 1.889, 2.638, 3.665, 4.987, 6.6, 8.524",\
                 "0.931, 0.9828, 1.162, 1.499, 2.024, 2.747, 3.722, 4.996, 6.6, 8.522",\
                 "1.089, 1.146, 1.33, 1.665, 2.183, 2.916, 3.865, 5.085, 6.627, 8.524",\
                 "1.265, 1.326, 1.529, 1.876, 2.388, 3.112, 4.071, 5.265, 6.751, 8.578",\
                 "1.459, 1.525, 1.747, 2.12, 2.639, 3.352, 4.305, 5.512, 6.968, 8.734");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2155, 0.2312, 0.2845, 0.3846, 0.5385, 0.7532, 1.035, 1.39, 1.823, 2.337",\
                 "0.2268, 0.2421, 0.2958, 0.396, 0.5502, 0.7648, 1.047, 1.401, 1.834, 2.35",\
                 "0.2518, 0.2676, 0.3217, 0.4223, 0.5763, 0.7914, 1.074, 1.428, 1.861, 2.376",\
                 "0.271, 0.2894, 0.3508, 0.4592, 0.6167, 0.8315, 1.114, 1.468, 1.901, 2.416",\
                 "0.2701, 0.2928, 0.3661, 0.4899, 0.6646, 0.8929, 1.177, 1.531, 1.963, 2.478",\
                 "0.238, 0.2663, 0.3559, 0.5032, 0.7009, 0.9503, 1.257, 1.622, 2.054, 2.568",\
                 "0.1717, 0.205, 0.3115, 0.487, 0.7164, 0.9945, 1.326, 1.716, 2.171, 2.691",\
                 "0.0712, 0.109, 0.2319, 0.4341, 0.6994, 1.015, 1.38, 1.798, 2.279, 2.827",\
                 "-0.0646, -0.0221, 0.1153, 0.343, 0.644, 1.001, 1.407, 1.863, 2.374, 2.951",\
                 "-0.2381, -0.1914, -0.0394, 0.213, 0.5475, 0.9472, 1.4, 1.899, 2.451, 3.061");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.507, 0.5394, 0.652, 0.8639, 1.191, 1.647, 2.246, 2.999, 3.917, 5.01",\
                 "0.519, 0.5514, 0.6642, 0.8764, 1.203, 1.66, 2.259, 3.013, 3.931, 5.023",\
                 "0.5573, 0.5899, 0.703, 0.9158, 1.243, 1.7, 2.3, 3.052, 3.971, 5.068",\
                 "0.6356, 0.6675, 0.7787, 0.9891, 1.315, 1.77, 2.369, 3.121, 4.038, 5.133",\
                 "0.7683, 0.8016, 0.9154, 1.124, 1.443, 1.892, 2.486, 3.234, 4.151, 5.244",\
                 "0.9507, 0.9848, 1.102, 1.319, 1.644, 2.085, 2.67, 3.411, 4.32, 5.407",\
                 "1.183, 1.22, 1.343, 1.566, 1.901, 2.355, 2.934, 3.664, 4.563, 5.641",\
                 "1.459, 1.5, 1.634, 1.871, 2.215, 2.68, 3.277, 4.004, 4.89, 5.956",\
                 "1.778, 1.822, 1.97, 2.226, 2.589, 3.066, 3.675, 4.423, 5.311, 6.364",\
                 "2.138, 2.186, 2.349, 2.628, 3.018, 3.516, 4.137, 4.901, 5.812, 6.87");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2352, 0.2605, 0.35, 0.5203, 0.7841, 1.153, 1.64, 2.25, 2.995, 3.883",\
                 "0.2349, 0.2604, 0.3498, 0.5198, 0.7839, 1.153, 1.639, 2.249, 2.994, 3.884",\
                 "0.2416, 0.2655, 0.3517, 0.5206, 0.7839, 1.153, 1.639, 2.25, 2.995, 3.884",\
                 "0.2982, 0.3205, 0.4012, 0.5515, 0.7961, 1.154, 1.638, 2.249, 2.996, 3.883",\
                 "0.3991, 0.4198, 0.4942, 0.6416, 0.8764, 1.206, 1.658, 2.251, 2.994, 3.883",\
                 "0.545, 0.5654, 0.6386, 0.778, 1.003, 1.331, 1.763, 2.316, 3.019, 3.887",\
                 "0.7248, 0.7464, 0.8228, 0.9666, 1.187, 1.501, 1.929, 2.474, 3.138, 3.957",\
                 "0.935, 0.9574, 1.041, 1.194, 1.418, 1.728, 2.142, 2.681, 3.346, 4.136",\
                 "1.17, 1.197, 1.286, 1.452, 1.694, 2.012, 2.423, 2.943, 3.598, 4.391",\
                 "1.429, 1.462, 1.563, 1.741, 2.001, 2.336, 2.756, 3.273, 3.911, 4.691");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.6668, 0.7225, 0.9199, 1.291, 1.864, 2.665, 3.717, 5.04, 6.652, 8.565",\
                 "0.6668, 0.7226, 0.92, 1.291, 1.864, 2.665, 3.717, 5.041, 6.65, 8.566",\
                 "0.6666, 0.7227, 0.9195, 1.292, 1.864, 2.664, 3.717, 5.037, 6.65, 8.574",\
                 "0.6768, 0.7307, 0.9217, 1.29, 1.863, 2.664, 3.717, 5.04, 6.649, 8.572",\
                 "0.746, 0.7978, 0.9758, 1.317, 1.867, 2.664, 3.716, 5.037, 6.654, 8.577",\
                 "0.8362, 0.8894, 1.072, 1.414, 1.933, 2.686, 3.716, 5.037, 6.651, 8.574",\
                 "0.9594, 1.012, 1.195, 1.537, 2.064, 2.789, 3.767, 5.045, 6.65, 8.573",\
                 "1.115, 1.169, 1.354, 1.693, 2.218, 2.955, 3.906, 5.129, 6.675, 8.574",\
                 "1.29, 1.349, 1.546, 1.893, 2.411, 3.143, 4.108, 5.304, 6.794, 8.622",\
                 "1.48, 1.548, 1.76, 2.127, 2.65, 3.372, 4.337, 5.546, 7.006, 8.777");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2907, 0.3094, 0.3743, 0.4954, 0.6812, 0.9398, 1.279, 1.705, 2.225, 2.844",\
                 "0.3016, 0.3203, 0.3853, 0.5064, 0.6923, 0.9509, 1.29, 1.716, 2.236, 2.855",\
                 "0.3246, 0.3436, 0.4087, 0.5302, 0.7162, 0.9751, 1.314, 1.741, 2.26, 2.879",\
                 "0.3445, 0.3647, 0.4338, 0.5583, 0.7444, 1.003, 1.342, 1.768, 2.288, 2.908",\
                 "0.3482, 0.3709, 0.4468, 0.5816, 0.7793, 1.043, 1.381, 1.806, 2.325, 2.944",\
                 "0.3276, 0.354, 0.4417, 0.5921, 0.8048, 1.085, 1.437, 1.865, 2.382, 2.998",\
                 "0.2733, 0.3051, 0.4077, 0.5799, 0.8159, 1.116, 1.485, 1.932, 2.461, 3.076",\
                 "0.1845, 0.2205, 0.3378, 0.536, 0.8012, 1.129, 1.523, 1.989, 2.538, 3.173",\
                 "0.0593, 0.0998, 0.2321, 0.4537, 0.7526, 1.116, 1.542, 2.035, 2.605, 3.261",\
                 "-0.1041, -0.0591, 0.0872, 0.3335, 0.6643, 1.066, 1.53, 2.059, 2.659, 3.339");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.507, 0.5394, 0.652, 0.8639, 1.191, 1.647, 2.246, 2.999, 3.917, 5.01",\
                 "0.519, 0.5514, 0.6642, 0.8764, 1.203, 1.66, 2.259, 3.013, 3.931, 5.023",\
                 "0.5573, 0.5899, 0.703, 0.9158, 1.243, 1.7, 2.3, 3.052, 3.971, 5.068",\
                 "0.6356, 0.6675, 0.7787, 0.9891, 1.315, 1.77, 2.369, 3.121, 4.038, 5.133",\
                 "0.7683, 0.8016, 0.9154, 1.124, 1.443, 1.892, 2.486, 3.234, 4.151, 5.244",\
                 "0.9507, 0.9848, 1.102, 1.319, 1.644, 2.085, 2.67, 3.411, 4.32, 5.407",\
                 "1.183, 1.22, 1.343, 1.566, 1.901, 2.355, 2.934, 3.664, 4.563, 5.641",\
                 "1.459, 1.5, 1.634, 1.871, 2.215, 2.68, 3.277, 4.004, 4.89, 5.956",\
                 "1.778, 1.822, 1.97, 2.226, 2.589, 3.066, 3.675, 4.423, 5.311, 6.364",\
                 "2.138, 2.186, 2.349, 2.628, 3.018, 3.516, 4.137, 4.901, 5.812, 6.87");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2943, 0.3268, 0.4362, 0.6411, 0.9598, 1.405, 1.988, 2.721, 3.617, 4.683",\
                 "0.2946, 0.3265, 0.436, 0.642, 0.959, 1.405, 1.988, 2.722, 3.619, 4.683",\
                 "0.2952, 0.3263, 0.4359, 0.6419, 0.9591, 1.405, 1.988, 2.722, 3.618, 4.685",\
                 "0.3317, 0.3612, 0.4631, 0.6548, 0.9625, 1.404, 1.987, 2.721, 3.618, 4.686",\
                 "0.4002, 0.4294, 0.5294, 0.7222, 1.016, 1.43, 1.992, 2.721, 3.618, 4.685",\
                 "0.516, 0.5452, 0.6426, 0.8258, 1.115, 1.526, 2.061, 2.754, 3.623, 4.684",\
                 "0.6728, 0.7016, 0.8016, 0.9822, 1.259, 1.659, 2.194, 2.867, 3.7, 4.718",\
                 "0.8614, 0.8938, 1.002, 1.188, 1.463, 1.851, 2.367, 3.037, 3.86, 4.84",\
                 "1.081, 1.115, 1.23, 1.428, 1.715, 2.098, 2.605, 3.253, 4.068, 5.046",\
                 "1.327, 1.365, 1.488, 1.703, 2.008, 2.4, 2.902, 3.534, 4.325, 5.294");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.7446, 0.8006, 0.9964, 1.366, 1.938, 2.738, 3.788, 5.112, 6.725, 8.64",\
                 "0.7445, 0.8005, 0.9964, 1.366, 1.938, 2.738, 3.788, 5.111, 6.72, 8.641",\
                 "0.7444, 0.8006, 0.9961, 1.366, 1.939, 2.738, 3.788, 5.11, 6.725, 8.645",\
                 "0.7591, 0.8118, 0.9994, 1.366, 1.939, 2.739, 3.79, 5.111, 6.723, 8.643",\
                 "0.8378, 0.8874, 1.06, 1.398, 1.944, 2.739, 3.79, 5.111, 6.724, 8.646",\
                 "0.946, 0.9948, 1.17, 1.502, 2.016, 2.764, 3.792, 5.112, 6.724, 8.646",\
                 "1.092, 1.139, 1.31, 1.639, 2.154, 2.873, 3.848, 5.123, 6.724, 8.646",\
                 "1.27, 1.321, 1.491, 1.813, 2.322, 3.046, 3.99, 5.212, 6.753, 8.649",\
                 "1.471, 1.525, 1.707, 2.035, 2.532, 3.248, 4.2, 5.393, 6.878, 8.702",\
                 "1.691, 1.753, 1.947, 2.29, 2.796, 3.495, 4.442, 5.642, 7.095, 8.862");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2611, 0.2802, 0.345, 0.4663, 0.6521, 0.9108, 1.25, 1.676, 2.196, 2.815",\
                 "0.2723, 0.2913, 0.3564, 0.4779, 0.6639, 0.9227, 1.262, 1.688, 2.208, 2.826",\
                 "0.3013, 0.3201, 0.3854, 0.5069, 0.6933, 0.9525, 1.292, 1.718, 2.238, 2.858",\
                 "0.3409, 0.3621, 0.4328, 0.5589, 0.7451, 1.004, 1.343, 1.769, 2.289, 2.908",\
                 "0.3721, 0.3968, 0.478, 0.62, 0.8226, 1.088, 1.426, 1.851, 2.369, 2.988",\
                 "0.3843, 0.4132, 0.5095, 0.6726, 0.8983, 1.188, 1.543, 1.971, 2.488, 3.105",\
                 "0.3699, 0.4047, 0.5167, 0.7055, 0.9623, 1.281, 1.666, 2.12, 2.648, 3.264",\
                 "0.3287, 0.3673, 0.4957, 0.7122, 1.004, 1.36, 1.779, 2.266, 2.826, 3.465",\
                 "0.2558, 0.3003, 0.4439, 0.6882, 1.016, 1.415, 1.878, 2.403, 2.999, 3.671",\
                 "0.1527, 0.2004, 0.3616, 0.6317, 0.9973, 1.439, 1.949, 2.521, 3.159, 3.872");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2165, 0.2366, 0.3061, 0.437, 0.6398, 0.9233, 1.296, 1.764, 2.336, 3.017",\
                 "0.2331, 0.2528, 0.3228, 0.4543, 0.6573, 0.941, 1.313, 1.782, 2.354, 3.034",\
                 "0.2968, 0.3167, 0.3864, 0.5177, 0.7208, 1.005, 1.377, 1.846, 2.418, 3.098",\
                 "0.4221, 0.4448, 0.519, 0.6489, 0.85, 1.132, 1.503, 1.971, 2.542, 3.222",\
                 "0.5751, 0.6025, 0.6933, 0.8494, 1.06, 1.339, 1.707, 2.172, 2.741, 3.42",\
                 "0.7592, 0.7918, 0.8965, 1.078, 1.329, 1.636, 2.004, 2.463, 3.028, 3.703",\
                 "0.9738, 1.011, 1.134, 1.339, 1.622, 1.976, 2.389, 2.857, 3.417, 4.088",\
                 "1.221, 1.264, 1.404, 1.638, 1.952, 2.345, 2.811, 3.336, 3.915, 4.581",\
                 "1.501, 1.55, 1.708, 1.971, 2.323, 2.753, 3.262, 3.845, 4.491, 5.188",\
                 "1.816, 1.871, 2.049, 2.343, 2.733, 3.206, 3.757, 4.388, 5.096, 5.865");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2942, 0.3262, 0.4353, 0.6421, 0.9586, 1.404, 1.986, 2.722, 3.617, 4.686",\
                 "0.2946, 0.3261, 0.4363, 0.6418, 0.9591, 1.404, 1.988, 2.721, 3.617, 4.683",\
                 "0.2962, 0.327, 0.4359, 0.6417, 0.9588, 1.404, 1.988, 2.722, 3.617, 4.687",\
                 "0.3492, 0.3782, 0.476, 0.6602, 0.9634, 1.405, 1.986, 2.721, 3.618, 4.687",\
                 "0.438, 0.4672, 0.566, 0.7512, 1.032, 1.433, 1.992, 2.721, 3.617, 4.685",\
                 "0.566, 0.5972, 0.698, 0.8818, 1.165, 1.557, 2.072, 2.752, 3.622, 4.685",\
                 "0.7206, 0.7552, 0.8672, 1.062, 1.342, 1.733, 2.246, 2.888, 3.701, 4.714",\
                 "0.8948, 0.9336, 1.06, 1.275, 1.571, 1.961, 2.471, 3.115, 3.898, 4.85",\
                 "1.081, 1.126, 1.275, 1.51, 1.835, 2.241, 2.75, 3.391, 4.175, 5.108",\
                 "1.284, 1.337, 1.499, 1.769, 2.123, 2.561, 3.089, 3.725, 4.505, 5.439");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4257, 0.4619, 0.587, 0.8223, 1.181, 1.681, 2.337, 3.161, 4.165, 5.365",\
                 "0.4257, 0.4619, 0.5873, 0.822, 1.182, 1.681, 2.337, 3.161, 4.165, 5.366",\
                 "0.4272, 0.4624, 0.5871, 0.8222, 1.182, 1.682, 2.338, 3.162, 4.167, 5.365",\
                 "0.5069, 0.5334, 0.6302, 0.8334, 1.182, 1.682, 2.337, 3.162, 4.166, 5.364",\
                 "0.6554, 0.6846, 0.784, 0.9582, 1.242, 1.691, 2.338, 3.162, 4.167, 5.365",\
                 "0.8214, 0.8522, 0.9616, 1.162, 1.442, 1.825, 2.382, 3.167, 4.168, 5.366",\
                 "1.014, 1.048, 1.162, 1.376, 1.693, 2.097, 2.593, 3.273, 4.193, 5.367",\
                 "1.229, 1.266, 1.391, 1.617, 1.955, 2.403, 2.938, 3.562, 4.372, 5.433",\
                 "1.462, 1.503, 1.646, 1.89, 2.244, 2.72, 3.313, 3.983, 4.749, 5.699",\
                 "1.714, 1.759, 1.915, 2.187, 2.569, 3.063, 3.687, 4.433, 5.245, 6.155");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2165, 0.2351, 0.299, 0.4188, 0.6036, 0.8611, 1.2, 1.625, 2.144, 2.763",\
                 "0.2272, 0.2459, 0.3102, 0.4303, 0.6153, 0.873, 1.211, 1.637, 2.157, 2.775",\
                 "0.2554, 0.2743, 0.3389, 0.4593, 0.6445, 0.9028, 1.241, 1.667, 2.187, 2.806",\
                 "0.2863, 0.3085, 0.3816, 0.51, 0.6965, 0.9542, 1.293, 1.718, 2.238, 2.856",\
                 "0.3057, 0.3322, 0.4181, 0.5646, 0.7705, 1.038, 1.375, 1.8, 2.318, 2.936",\
                 "0.3025, 0.3347, 0.4377, 0.609, 0.8403, 1.134, 1.492, 1.921, 2.437, 3.054",\
                 "0.2735, 0.3114, 0.4319, 0.6315, 0.8968, 1.222, 1.61, 2.067, 2.597, 3.212",\
                 "0.2163, 0.2597, 0.3983, 0.6267, 0.9292, 1.294, 1.719, 2.21, 2.773, 3.413",\
                 "0.1301, 0.1783, 0.3341, 0.5915, 0.9324, 1.341, 1.811, 2.342, 2.941, 3.617",\
                 "0.012, 0.0656, 0.2378, 0.5254, 0.9036, 1.358, 1.877, 2.456, 3.098, 3.814");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2121, 0.2322, 0.3016, 0.4325, 0.6348, 0.9177, 1.289, 1.757, 2.327, 3.007",\
                 "0.2282, 0.2484, 0.3183, 0.4498, 0.6524, 0.9353, 1.307, 1.775, 2.345, 3.025",\
                 "0.2923, 0.3124, 0.3819, 0.5132, 0.7158, 0.9991, 1.371, 1.838, 2.409, 3.089",\
                 "0.4166, 0.4394, 0.5142, 0.6444, 0.8449, 1.126, 1.496, 1.964, 2.534, 3.213",\
                 "0.5677, 0.5956, 0.6872, 0.8439, 1.055, 1.334, 1.701, 2.165, 2.732, 3.411",\
                 "0.7494, 0.7818, 0.8884, 1.07, 1.321, 1.63, 1.997, 2.457, 3.02, 3.695",\
                 "0.9613, 0.9993, 1.123, 1.33, 1.614, 1.968, 2.382, 2.85, 3.409, 4.078",\
                 "1.204, 1.248, 1.39, 1.626, 1.942, 2.336, 2.802, 3.327, 3.906, 4.572",\
                 "1.481, 1.53, 1.691, 1.957, 2.311, 2.742, 3.252, 3.835, 4.48, 5.178",\
                 "1.79, 1.846, 2.027, 2.325, 2.718, 3.192, 3.744, 4.376, 5.084, 5.854");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2449, 0.2758, 0.3844, 0.5882, 0.906, 1.349, 1.932, 2.665, 3.561, 4.627",\
                 "0.2448, 0.2759, 0.384, 0.5883, 0.9053, 1.35, 1.932, 2.666, 3.561, 4.628",\
                 "0.2527, 0.2809, 0.3848, 0.5884, 0.9059, 1.35, 1.932, 2.666, 3.561, 4.628",\
                 "0.3123, 0.34, 0.4361, 0.6161, 0.9112, 1.349, 1.931, 2.665, 3.561, 4.629",\
                 "0.4069, 0.4348, 0.5306, 0.7116, 0.99, 1.386, 1.938, 2.664, 3.561, 4.627",\
                 "0.5386, 0.5696, 0.6686, 0.8494, 1.127, 1.515, 2.025, 2.702, 3.566, 4.627",\
                 "0.6924, 0.7264, 0.8382, 1.031, 1.31, 1.695, 2.203, 2.844, 3.651, 4.661",\
                 "0.8648, 0.9018, 1.03, 1.243, 1.538, 1.925, 2.43, 3.072, 3.852, 4.8",\
                 "1.045, 1.093, 1.237, 1.479, 1.803, 2.206, 2.715, 3.352, 4.132, 5.063",\
                 "1.244, 1.298, 1.461, 1.734, 2.091, 2.529, 3.055, 3.687, 4.466, 5.396");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3516, 0.3877, 0.5126, 0.7468, 1.105, 1.605, 2.26, 3.084, 4.086, 5.287",\
                 "0.3516, 0.3877, 0.5125, 0.7469, 1.106, 1.605, 2.259, 3.084, 4.089, 5.285",\
                 "0.353, 0.3882, 0.5125, 0.7469, 1.106, 1.605, 2.26, 3.085, 4.089, 5.284",\
                 "0.4322, 0.4588, 0.556, 0.7586, 1.106, 1.606, 2.26, 3.084, 4.09, 5.287",\
                 "0.559, 0.592, 0.6994, 0.882, 1.166, 1.615, 2.261, 3.084, 4.09, 5.288",\
                 "0.7046, 0.7398, 0.8598, 1.072, 1.364, 1.747, 2.305, 3.09, 4.089, 5.287",\
                 "0.8754, 0.9138, 1.043, 1.271, 1.602, 2.015, 2.515, 3.194, 4.114, 5.29",\
                 "1.067, 1.112, 1.253, 1.499, 1.85, 2.31, 2.856, 3.486, 4.296, 5.357",\
                 "1.269, 1.32, 1.484, 1.754, 2.128, 2.616, 3.219, 3.9, 4.669, 5.618",\
                 "1.49, 1.548, 1.73, 2.032, 2.438, 2.949, 3.583, 4.33, 5.164, 6.079");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.185, 0.2009, 0.2559, 0.3587, 0.5169, 0.7377, 1.027, 1.392, 1.836, 2.366",\
                 "0.1969, 0.213, 0.2682, 0.3713, 0.5297, 0.7503, 1.04, 1.405, 1.849, 2.379",\
                 "0.2268, 0.2432, 0.2986, 0.4019, 0.5605, 0.7816, 1.071, 1.436, 1.881, 2.411",\
                 "0.254, 0.2737, 0.3387, 0.4519, 0.6141, 0.8348, 1.124, 1.489, 1.933, 2.463",\
                 "0.2647, 0.2892, 0.3679, 0.4993, 0.6822, 0.9177, 1.209, 1.573, 2.016, 2.545",\
                 "0.2487, 0.2786, 0.3742, 0.531, 0.7407, 1.002, 1.319, 1.694, 2.138, 2.665",\
                 "0.2026, 0.238, 0.3509, 0.5357, 0.7798, 1.074, 1.422, 1.827, 2.293, 2.827",\
                 "0.1251, 0.1651, 0.2952, 0.5085, 0.7893, 1.124, 1.51, 1.949, 2.449, 3.014",\
                 "0.0136, 0.0595, 0.2059, 0.4466, 0.7647, 1.143, 1.574, 2.056, 2.593, 3.193",\
                 "-0.134, -0.0828, 0.0808, 0.3487, 0.7032, 1.127, 1.605, 2.137, 2.72, 3.36");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2111, 0.2311, 0.3005, 0.4315, 0.6339, 0.9167, 1.288, 1.756, 2.326, 3.006",\
                 "0.2263, 0.2465, 0.3163, 0.4477, 0.6505, 0.9335, 1.305, 1.773, 2.343, 3.023",\
                 "0.2909, 0.3108, 0.3802, 0.5111, 0.7138, 0.9968, 1.368, 1.836, 2.407, 3.087",\
                 "0.4175, 0.4402, 0.5142, 0.644, 0.8438, 1.125, 1.495, 1.962, 2.532, 3.211",\
                 "0.5733, 0.6006, 0.6912, 0.846, 1.056, 1.335, 1.701, 2.164, 2.732, 3.409",\
                 "0.7629, 0.7948, 0.8992, 1.079, 1.328, 1.633, 2, 2.459, 3.021, 3.695",\
                 "0.9864, 1.024, 1.145, 1.347, 1.627, 1.979, 2.389, 2.856, 3.413, 4.082",\
                 "1.245, 1.288, 1.426, 1.657, 1.968, 2.356, 2.817, 3.339, 3.915, 4.58",\
                 "1.54, 1.589, 1.746, 2.006, 2.352, 2.776, 3.279, 3.856, 4.498, 5.192",\
                 "1.874, 1.929, 2.105, 2.395, 2.779, 3.244, 3.787, 4.412, 5.113, 5.878");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2026, 0.229, 0.3215, 0.4954, 0.7657, 1.144, 1.642, 2.266, 3.031, 3.94",\
                 "0.2023, 0.229, 0.3216, 0.4956, 0.7653, 1.145, 1.642, 2.267, 3.03, 3.94",\
                 "0.2129, 0.2371, 0.3231, 0.4957, 0.7655, 1.144, 1.641, 2.266, 3.03, 3.94",\
                 "0.2739, 0.2974, 0.3802, 0.5322, 0.7779, 1.146, 1.64, 2.266, 3.031, 3.941",\
                 "0.3698, 0.3936, 0.4768, 0.6304, 0.8686, 1.199, 1.658, 2.268, 3.03, 3.941",\
                 "0.4966, 0.5238, 0.613, 0.7696, 1.005, 1.336, 1.769, 2.329, 3.049, 3.942",\
                 "0.6444, 0.676, 0.7774, 0.9492, 1.19, 1.52, 1.953, 2.5, 3.169, 4.005",\
                 "0.808, 0.8466, 0.9608, 1.154, 1.419, 1.757, 2.186, 2.73, 3.397, 4.188",\
                 "0.9872, 1.028, 1.162, 1.383, 1.674, 2.035, 2.471, 3.017, 3.679, 4.473",\
                 "1.18, 1.227, 1.377, 1.626, 1.953, 2.346, 2.811, 3.361, 4.018, 4.812");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3519, 0.3877, 0.5124, 0.747, 1.106, 1.605, 2.258, 3.084, 4.089, 5.286",\
                 "0.3517, 0.3877, 0.5125, 0.7469, 1.105, 1.605, 2.26, 3.085, 4.089, 5.288",\
                 "0.3533, 0.3882, 0.5124, 0.747, 1.106, 1.605, 2.26, 3.084, 4.09, 5.283",\
                 "0.4312, 0.4583, 0.5555, 0.7583, 1.106, 1.606, 2.26, 3.084, 4.09, 5.286",\
                 "0.5546, 0.5888, 0.696, 0.8798, 1.165, 1.615, 2.261, 3.085, 4.091, 5.287",\
                 "0.694, 0.7294, 0.85, 1.066, 1.359, 1.745, 2.304, 3.09, 4.091, 5.289",\
                 "0.8568, 0.8966, 1.026, 1.256, 1.59, 2.007, 2.51, 3.192, 4.112, 5.29",\
                 "1.038, 1.088, 1.227, 1.473, 1.829, 2.294, 2.844, 3.477, 4.29, 5.354",\
                 "1.239, 1.287, 1.447, 1.718, 2.093, 2.587, 3.193, 3.883, 4.656, 5.612",\
                 "1.454, 1.51, 1.687, 1.986, 2.392, 2.905, 3.547, 4.304, 5.14, 6.061");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2161, 0.2347, 0.2986, 0.4185, 0.603, 0.8606, 1.199, 1.625, 2.143, 2.762",\
                 "0.2268, 0.2456, 0.3098, 0.43, 0.6148, 0.8726, 1.211, 1.637, 2.156, 2.774",\
                 "0.2551, 0.274, 0.3385, 0.4589, 0.6441, 0.9023, 1.241, 1.667, 2.186, 2.805",\
                 "0.2859, 0.3081, 0.3812, 0.5096, 0.696, 0.9538, 1.292, 1.718, 2.237, 2.856",\
                 "0.3052, 0.3317, 0.4176, 0.5641, 0.7701, 1.037, 1.375, 1.8, 2.318, 2.935",\
                 "0.3018, 0.334, 0.4371, 0.6085, 0.8399, 1.133, 1.491, 1.92, 2.437, 3.053",\
                 "0.2728, 0.3107, 0.4312, 0.6307, 0.8963, 1.221, 1.609, 2.067, 2.597, 3.212",\
                 "0.2154, 0.2584, 0.3977, 0.6263, 0.9287, 1.294, 1.718, 2.209, 2.772, 3.412",\
                 "0.1295, 0.1771, 0.3333, 0.5908, 0.9316, 1.34, 1.811, 2.341, 2.941, 3.616",\
                 "0.0107, 0.0639, 0.2377, 0.5229, 0.9029, 1.357, 1.876, 2.456, 3.098, 3.813");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2121, 0.2321, 0.3016, 0.4325, 0.6348, 0.9177, 1.289, 1.757, 2.327, 3.007",\
                 "0.2282, 0.2485, 0.3183, 0.4498, 0.6523, 0.9355, 1.307, 1.775, 2.345, 3.025",\
                 "0.2923, 0.3123, 0.3819, 0.5132, 0.7158, 0.9991, 1.371, 1.838, 2.409, 3.089",\
                 "0.4166, 0.4394, 0.5142, 0.6443, 0.8447, 1.126, 1.497, 1.964, 2.534, 3.213",\
                 "0.5677, 0.5957, 0.6872, 0.8436, 1.055, 1.334, 1.701, 2.165, 2.733, 3.41",\
                 "0.7493, 0.782, 0.8884, 1.07, 1.322, 1.63, 1.997, 2.457, 3.021, 3.695",\
                 "0.9612, 0.9994, 1.123, 1.33, 1.614, 1.969, 2.382, 2.85, 3.409, 4.079",\
                 "1.204, 1.248, 1.39, 1.626, 1.943, 2.336, 2.802, 3.327, 3.906, 4.572",\
                 "1.48, 1.53, 1.692, 1.957, 2.312, 2.742, 3.252, 3.835, 4.48, 5.177",\
                 "1.79, 1.845, 2.027, 2.325, 2.718, 3.192, 3.743, 4.376, 5.083, 5.854");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2442, 0.2753, 0.3836, 0.5883, 0.905, 1.348, 1.931, 2.665, 3.56, 4.627",\
                 "0.2443, 0.2754, 0.3836, 0.588, 0.9046, 1.349, 1.931, 2.665, 3.559, 4.627",\
                 "0.2522, 0.2808, 0.3843, 0.5878, 0.9057, 1.349, 1.931, 2.665, 3.56, 4.627",\
                 "0.3111, 0.3396, 0.4364, 0.6158, 0.9108, 1.349, 1.93, 2.665, 3.56, 4.629",\
                 "0.4068, 0.4342, 0.53, 0.7108, 0.9898, 1.386, 1.937, 2.664, 3.559, 4.628",\
                 "0.5384, 0.5694, 0.6684, 0.8492, 1.127, 1.515, 2.025, 2.701, 3.565, 4.626",\
                 "0.6924, 0.7258, 0.8382, 1.032, 1.309, 1.694, 2.203, 2.844, 3.65, 4.66",\
                 "0.865, 0.9048, 1.029, 1.243, 1.539, 1.925, 2.431, 3.072, 3.853, 4.8",\
                 "1.045, 1.091, 1.238, 1.478, 1.803, 2.207, 2.714, 3.349, 4.131, 5.063",\
                 "1.245, 1.298, 1.46, 1.738, 2.091, 2.53, 3.049, 3.688, 4.467, 5.394");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3513, 0.3873, 0.512, 0.746, 1.105, 1.604, 2.259, 3.082, 4.086, 5.287",\
                 "0.3512, 0.3872, 0.5119, 0.7461, 1.105, 1.604, 2.259, 3.083, 4.089, 5.282",\
                 "0.3528, 0.3878, 0.5121, 0.7462, 1.105, 1.605, 2.26, 3.084, 4.089, 5.283",\
                 "0.4318, 0.4584, 0.5555, 0.7578, 1.106, 1.605, 2.259, 3.083, 4.089, 5.286",\
                 "0.5588, 0.5914, 0.6986, 0.881, 1.165, 1.614, 2.259, 3.083, 4.089, 5.287",\
                 "0.704, 0.7392, 0.859, 1.071, 1.364, 1.747, 2.305, 3.088, 4.089, 5.288",\
                 "0.8744, 0.9128, 1.043, 1.27, 1.601, 2.015, 2.514, 3.194, 4.112, 5.289",\
                 "1.063, 1.107, 1.252, 1.497, 1.849, 2.309, 2.855, 3.483, 4.295, 5.355",\
                 "1.268, 1.318, 1.48, 1.754, 2.125, 2.615, 3.214, 3.899, 4.669, 5.619",\
                 "1.487, 1.546, 1.729, 2.032, 2.439, 2.949, 3.584, 4.33, 5.161, 6.076");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1747, 0.1924, 0.2546, 0.3722, 0.555, 0.8113, 1.149, 1.574, 2.093, 2.711",\
                 "0.1849, 0.203, 0.2652, 0.3834, 0.5667, 0.8231, 1.161, 1.587, 2.104, 2.723",\
                 "0.21, 0.2293, 0.2935, 0.4123, 0.5961, 0.8526, 1.191, 1.616, 2.135, 2.753",\
                 "0.2294, 0.2527, 0.329, 0.4602, 0.6477, 0.9044, 1.242, 1.667, 2.185, 2.804",\
                 "0.2323, 0.2618, 0.355, 0.5075, 0.7174, 0.9873, 1.325, 1.749, 2.267, 2.885",\
                 "0.2117, 0.2481, 0.3606, 0.5422, 0.781, 1.078, 1.439, 1.869, 2.386, 3.002",\
                 "0.1653, 0.208, 0.3411, 0.5532, 0.8291, 1.161, 1.554, 2.014, 2.545, 3.161",\
                 "0.0927, 0.1413, 0.2931, 0.5365, 0.8518, 1.227, 1.658, 2.152, 2.718, 3.36",\
                 "-0.0095, 0.045, 0.215, 0.4893, 0.8455, 1.266, 1.744, 2.28, 2.883, 3.561",\
                 "-0.1452, -0.0841, 0.106, 0.4111, 0.8064, 1.274, 1.803, 2.389, 3.037, 3.755");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2075, 0.2277, 0.2973, 0.4282, 0.6305, 0.9131, 1.284, 1.752, 2.32, 3.002",\
                 "0.2237, 0.244, 0.314, 0.4455, 0.6477, 0.9305, 1.302, 1.768, 2.339, 3.017",\
                 "0.2878, 0.3079, 0.3776, 0.5088, 0.7114, 0.994, 1.365, 1.833, 2.404, 3.08",\
                 "0.4106, 0.4341, 0.5094, 0.64, 0.8401, 1.121, 1.491, 1.958, 2.528, 3.206",\
                 "0.5599, 0.5883, 0.6808, 0.8381, 1.05, 1.328, 1.695, 2.159, 2.726, 3.404",\
                 "0.7395, 0.7727, 0.8802, 1.063, 1.315, 1.624, 1.991, 2.449, 3.014, 3.688",\
                 "0.9489, 0.9875, 1.113, 1.321, 1.605, 1.961, 2.375, 2.843, 3.401, 4.07",\
                 "1.19, 1.234, 1.378, 1.615, 1.933, 2.326, 2.793, 3.319, 3.897, 4.563",\
                 "1.461, 1.511, 1.675, 1.944, 2.299, 2.732, 3.242, 3.825, 4.47, 5.167",\
                 "1.765, 1.823, 2.007, 2.308, 2.704, 3.179, 3.732, 4.362, 5.071, 5.842");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.193, 0.2234, 0.3302, 0.5338, 0.8517, 1.293, 1.877, 2.611, 3.504, 4.578",\
                 "0.1931, 0.2234, 0.331, 0.5336, 0.8502, 1.294, 1.877, 2.609, 3.506, 4.578",\
                 "0.2114, 0.2379, 0.3351, 0.5338, 0.8509, 1.293, 1.876, 2.61, 3.505, 4.574",\
                 "0.2759, 0.3024, 0.3962, 0.5732, 0.8607, 1.293, 1.875, 2.608, 3.503, 4.574",\
                 "0.3802, 0.4064, 0.4978, 0.6732, 0.949, 1.338, 1.886, 2.612, 3.503, 4.575",\
                 "0.515, 0.5436, 0.6408, 0.8156, 1.087, 1.473, 1.98, 2.653, 3.517, 4.577",\
                 "0.6696, 0.7014, 0.8118, 1.001, 1.274, 1.656, 2.162, 2.799, 3.604, 4.613",\
                 "0.8382, 0.8746, 1.001, 1.215, 1.509, 1.891, 2.393, 3.03, 3.809, 4.751",\
                 "1.017, 1.061, 1.207, 1.452, 1.773, 2.179, 2.679, 3.311, 4.089, 5.02",\
                 "1.214, 1.264, 1.426, 1.701, 2.06, 2.499, 3.018, 3.651, 4.426, 5.35");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2906, 0.3255, 0.4459, 0.6753, 1.031, 1.529, 2.183, 3.006, 4.01, 5.214",\
                 "0.2903, 0.3254, 0.4469, 0.6752, 1.031, 1.529, 2.183, 3.005, 4.013, 5.212",\
                 "0.2918, 0.3259, 0.4466, 0.6757, 1.031, 1.529, 2.183, 3.007, 4.013, 5.206",\
                 "0.3646, 0.3935, 0.4888, 0.6867, 1.031, 1.529, 2.184, 3.007, 4.013, 5.21",\
                 "0.47, 0.5058, 0.6182, 0.808, 1.091, 1.538, 2.183, 3.008, 4.014, 5.211",\
                 "0.5928, 0.6314, 0.7604, 0.9818, 1.285, 1.67, 2.227, 3.012, 4.013, 5.213",\
                 "0.7356, 0.7806, 0.9252, 1.167, 1.508, 1.934, 2.437, 3.117, 4.035, 5.212",\
                 "0.8936, 0.9462, 1.11, 1.376, 1.743, 2.217, 2.773, 3.407, 4.218, 5.278",\
                 "1.067, 1.128, 1.314, 1.613, 2.008, 2.511, 3.121, 3.816, 4.588, 5.543",\
                 "1.251, 1.321, 1.539, 1.873, 2.304, 2.834, 3.48, 4.242, 5.08, 5.998");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1505, 0.1658, 0.2186, 0.3194, 0.4758, 0.6953, 0.9838, 1.348, 1.792, 2.322",\
                 "0.1621, 0.1776, 0.2309, 0.3316, 0.4885, 0.7081, 0.9967, 1.361, 1.805, 2.334",\
                 "0.1878, 0.2048, 0.2606, 0.3623, 0.5194, 0.7391, 1.028, 1.392, 1.837, 2.365",\
                 "0.2036, 0.2246, 0.2928, 0.4088, 0.5727, 0.7925, 1.081, 1.445, 1.889, 2.418",\
                 "0.198, 0.2254, 0.3107, 0.4488, 0.6357, 0.8735, 1.166, 1.529, 1.972, 2.501",\
                 "0.1643, 0.1983, 0.3034, 0.4705, 0.6877, 0.9535, 1.273, 1.65, 2.094, 2.621",\
                 "0.1023, 0.142, 0.2662, 0.4638, 0.7179, 1.02, 1.372, 1.779, 2.248, 2.782",\
                 "0.0089, 0.0549, 0.1971, 0.4255, 0.7181, 1.063, 1.455, 1.898, 2.401, 2.967",\
                 "-0.1188, -0.0668, 0.0948, 0.3513, 0.6839, 1.074, 1.513, 2, 2.541, 3.143",\
                 "-0.2829, -0.2251, -0.0444, 0.243, 0.6133, 1.049, 1.538, 2.076, 2.664, 3.308");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2065, 0.2267, 0.2963, 0.4272, 0.6293, 0.912, 1.283, 1.749, 2.319, 3.001",\
                 "0.2217, 0.242, 0.3121, 0.4433, 0.6459, 0.9285, 1.3, 1.767, 2.336, 3.017",\
                 "0.2864, 0.3063, 0.3759, 0.5069, 0.7092, 0.992, 1.363, 1.83, 2.401, 3.078",\
                 "0.4116, 0.4349, 0.5095, 0.6396, 0.839, 1.119, 1.49, 1.955, 2.524, 3.206",\
                 "0.5659, 0.5937, 0.6849, 0.8405, 1.052, 1.329, 1.694, 2.157, 2.724, 3.401",\
                 "0.7533, 0.7858, 0.8911, 1.072, 1.321, 1.627, 1.994, 2.452, 3.015, 3.688",\
                 "0.9743, 1.012, 1.134, 1.339, 1.619, 1.972, 2.382, 2.849, 3.406, 4.074",\
                 "1.23, 1.274, 1.414, 1.646, 1.958, 2.347, 2.808, 3.331, 3.906, 4.571",\
                 "1.521, 1.572, 1.731, 1.992, 2.339, 2.766, 3.269, 3.847, 4.488, 5.181",\
                 "1.851, 1.907, 2.086, 2.378, 2.765, 3.231, 3.774, 4.399, 5.101, 5.866");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1593, 0.185, 0.2759, 0.4501, 0.7186, 1.097, 1.595, 2.218, 2.98, 3.897",\
                 "0.1594, 0.1851, 0.276, 0.4493, 0.7191, 1.096, 1.594, 2.219, 2.982, 3.89",\
                 "0.1804, 0.2026, 0.2832, 0.45, 0.7186, 1.096, 1.592, 2.219, 2.984, 3.894",\
                 "0.2455, 0.2681, 0.3475, 0.4974, 0.7363, 1.098, 1.595, 2.219, 2.982, 3.895",\
                 "0.3481, 0.3718, 0.4502, 0.5986, 0.8322, 1.16, 1.616, 2.222, 2.985, 3.893",\
                 "0.477, 0.5038, 0.5912, 0.743, 0.9744, 1.302, 1.733, 2.288, 3.006, 3.894",\
                 "0.6244, 0.655, 0.7552, 0.9248, 1.164, 1.489, 1.919, 2.463, 3.128, 3.967",\
                 "0.787, 0.8216, 0.9378, 1.131, 1.394, 1.729, 2.156, 2.696, 3.359, 4.15",\
                 "0.964, 1.004, 1.136, 1.358, 1.648, 2.011, 2.448, 2.983, 3.643, 4.435",\
                 "1.153, 1.2, 1.351, 1.598, 1.927, 2.319, 2.784, 3.327, 3.987, 4.779");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.291, 0.3255, 0.4463, 0.6756, 1.032, 1.529, 2.183, 3.008, 4.012, 5.212",\
                 "0.2903, 0.3252, 0.4462, 0.6759, 1.032, 1.53, 2.184, 3.007, 4.013, 5.212",\
                 "0.2915, 0.3253, 0.4456, 0.6756, 1.032, 1.529, 2.184, 3.008, 4.012, 5.206",\
                 "0.3645, 0.3932, 0.4886, 0.687, 1.031, 1.529, 2.183, 3.008, 4.013, 5.211",\
                 "0.4658, 0.5002, 0.6152, 0.8062, 1.09, 1.538, 2.183, 3.007, 4.014, 5.211",\
                 "0.5826, 0.6232, 0.7508, 0.976, 1.28, 1.668, 2.228, 3.011, 4.013, 5.211",\
                 "0.7224, 0.766, 0.9086, 1.152, 1.498, 1.925, 2.433, 3.114, 4.035, 5.213",\
                 "0.8736, 0.9244, 1.086, 1.353, 1.723, 2.202, 2.761, 3.398, 4.212, 5.275",\
                 "1.04, 1.1, 1.285, 1.58, 1.976, 2.483, 3.101, 3.8, 4.576, 5.533",\
                 "1.221, 1.289, 1.498, 1.831, 2.26, 2.79, 3.446, 4.216, 5.057, 5.98");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1862, 0.202, 0.2554, 0.3555, 0.5096, 0.7246, 1.006, 1.361, 1.794, 2.309",\
                 "0.1977, 0.2134, 0.267, 0.3677, 0.5216, 0.7366, 1.019, 1.373, 1.806, 2.321",\
                 "0.2348, 0.2507, 0.3048, 0.4056, 0.5601, 0.7753, 1.058, 1.412, 1.845, 2.36",\
                 "0.276, 0.2965, 0.3633, 0.4766, 0.6346, 0.8497, 1.132, 1.486, 1.919, 2.435",\
                 "0.2986, 0.3242, 0.4066, 0.545, 0.733, 0.9665, 1.251, 1.604, 2.036, 2.551",\
                 "0.2977, 0.3284, 0.4282, 0.5936, 0.8151, 1.087, 1.406, 1.773, 2.205, 2.719",\
                 "0.2699, 0.3062, 0.4231, 0.6172, 0.8752, 1.187, 1.55, 1.962, 2.424, 2.943",\
                 "0.2138, 0.255, 0.3896, 0.6122, 0.9075, 1.263, 1.671, 2.133, 2.644, 3.206",\
                 "0.1277, 0.1741, 0.3242, 0.5765, 0.9097, 1.31, 1.767, 2.278, 2.843, 3.459",\
                 "0.009, 0.0612, 0.2279, 0.5072, 0.8786, 1.324, 1.832, 2.396, 3.015, 3.689");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2369, 0.2568, 0.3255, 0.4559, 0.6578, 0.9404, 1.312, 1.779, 2.35, 3.029",\
                 "0.2536, 0.2734, 0.3427, 0.4736, 0.6759, 0.9589, 1.33, 1.798, 2.368, 3.048",\
                 "0.3174, 0.3372, 0.4062, 0.537, 0.7395, 1.022, 1.394, 1.862, 2.432, 3.112",\
                 "0.4454, 0.4674, 0.539, 0.668, 0.8682, 1.15, 1.52, 1.987, 2.557, 3.236",\
                 "0.6034, 0.6302, 0.7185, 0.8717, 1.08, 1.358, 1.725, 2.188, 2.757, 3.434",\
                 "0.7927, 0.8237, 0.9264, 1.104, 1.352, 1.656, 2.022, 2.482, 3.045, 3.719",\
                 "1.014, 1.05, 1.169, 1.37, 1.65, 2.001, 2.411, 2.877, 3.435, 4.104",\
                 "1.268, 1.309, 1.445, 1.674, 1.986, 2.375, 2.837, 3.359, 3.935, 4.6",\
                 "1.554, 1.601, 1.755, 2.014, 2.362, 2.788, 3.295, 3.874, 4.515, 5.21",\
                 "1.874, 1.928, 2.102, 2.392, 2.778, 3.246, 3.794, 4.423, 5.127, 5.893");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2351, 0.2604, 0.3498, 0.5205, 0.7843, 1.154, 1.639, 2.25, 2.995, 3.885",\
                 "0.2346, 0.2607, 0.3501, 0.5201, 0.7839, 1.154, 1.639, 2.249, 2.995, 3.885",\
                 "0.247, 0.269, 0.3523, 0.5201, 0.7836, 1.153, 1.638, 2.25, 2.997, 3.884",\
                 "0.3303, 0.3523, 0.4271, 0.5654, 0.7978, 1.154, 1.637, 2.25, 2.995, 3.884",\
                 "0.4426, 0.4658, 0.5472, 0.6958, 0.9162, 1.22, 1.657, 2.25, 2.995, 3.883",\
                 "0.5868, 0.6138, 0.7, 0.8574, 1.092, 1.405, 1.8, 2.322, 3.014, 3.885",\
                 "0.7528, 0.7818, 0.8814, 1.056, 1.301, 1.63, 2.047, 2.547, 3.166, 3.955",\
                 "0.9344, 0.9684, 1.084, 1.28, 1.549, 1.892, 2.327, 2.852, 3.47, 4.194",\
                 "1.133, 1.175, 1.306, 1.524, 1.824, 2.198, 2.647, 3.193, 3.835, 4.576",\
                 "1.343, 1.388, 1.536, 1.788, 2.122, 2.532, 3.01, 3.574, 4.24, 5.006");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3809, 0.4171, 0.5422, 0.7764, 1.135, 1.634, 2.288, 3.114, 4.118, 5.317",\
                 "0.381, 0.4171, 0.542, 0.7761, 1.135, 1.634, 2.288, 3.112, 4.119, 5.316",\
                 "0.3817, 0.4173, 0.5422, 0.7761, 1.135, 1.635, 2.29, 3.114, 4.119, 5.314",\
                 "0.4498, 0.4773, 0.5775, 0.7845, 1.135, 1.635, 2.29, 3.113, 4.12, 5.318",\
                 "0.5788, 0.6122, 0.7188, 0.9002, 1.188, 1.643, 2.289, 3.114, 4.119, 5.316",\
                 "0.7214, 0.757, 0.8776, 1.09, 1.38, 1.767, 2.33, 3.118, 4.12, 5.317",\
                 "0.8894, 0.929, 1.057, 1.287, 1.618, 2.031, 2.533, 3.217, 4.141, 5.319",\
                 "1.077, 1.121, 1.264, 1.509, 1.864, 2.326, 2.869, 3.5, 4.315, 5.381",\
                 "1.283, 1.333, 1.494, 1.759, 2.134, 2.626, 3.227, 3.911, 4.678, 5.638",\
                 "1.507, 1.564, 1.738, 2.037, 2.44, 2.952, 3.591, 4.339, 5.169, 6.086");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1527, 0.1674, 0.2192, 0.3175, 0.4699, 0.6836, 0.9647, 1.319, 1.751, 2.266",\
                 "0.1635, 0.1785, 0.2308, 0.3294, 0.4819, 0.6957, 0.9769, 1.331, 1.763, 2.278",\
                 "0.1964, 0.2132, 0.2677, 0.3673, 0.5202, 0.7345, 1.016, 1.37, 1.803, 2.318",\
                 "0.2225, 0.2445, 0.3159, 0.4339, 0.5946, 0.8093, 1.09, 1.444, 1.876, 2.391",\
                 "0.2283, 0.2566, 0.3462, 0.4921, 0.686, 0.9238, 1.209, 1.562, 1.994, 2.508",\
                 "0.2099, 0.2447, 0.3538, 0.5295, 0.7592, 1.037, 1.361, 1.731, 2.163, 2.676",\
                 "0.1656, 0.2065, 0.3349, 0.5413, 0.8099, 1.13, 1.498, 1.914, 2.379, 2.899",\
                 "0.0944, 0.141, 0.287, 0.5243, 0.8325, 1.198, 1.614, 2.08, 2.596, 3.161",\
                 "-0.0066, 0.0456, 0.2095, 0.4775, 0.8251, 1.236, 1.703, 2.22, 2.789, 3.41",\
                 "-0.141, -0.083, 0.1006, 0.397, 0.7839, 1.242, 1.761, 2.332, 2.956, 3.634");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2325, 0.2524, 0.3213, 0.4515, 0.6534, 0.9358, 1.306, 1.775, 2.345, 3.023",\
                 "0.2491, 0.2691, 0.3386, 0.4695, 0.6712, 0.9543, 1.325, 1.793, 2.363, 3.044",\
                 "0.313, 0.3328, 0.4019, 0.5327, 0.7351, 1.017, 1.388, 1.856, 2.428, 3.107",\
                 "0.44, 0.4621, 0.5345, 0.6636, 0.8637, 1.144, 1.514, 1.982, 2.551, 3.231",\
                 "0.5962, 0.6234, 0.7128, 0.866, 1.075, 1.352, 1.719, 2.183, 2.75, 3.428",\
                 "0.7837, 0.8151, 0.9187, 1.097, 1.345, 1.65, 2.016, 2.475, 3.038, 3.713",\
                 "1.003, 1.04, 1.159, 1.362, 1.642, 1.993, 2.404, 2.87, 3.427, 4.097",\
                 "1.253, 1.296, 1.433, 1.664, 1.976, 2.366, 2.828, 3.35, 3.927, 4.591",\
                 "1.536, 1.584, 1.741, 2.001, 2.351, 2.777, 3.284, 3.863, 4.506, 5.2",\
                 "1.853, 1.907, 2.083, 2.374, 2.763, 3.234, 3.782, 4.411, 5.114, 5.881");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1907, 0.2162, 0.3056, 0.4748, 0.7382, 1.106, 1.591, 2.205, 2.948, 3.84",\
                 "0.1909, 0.2163, 0.3056, 0.4748, 0.7384, 1.107, 1.593, 2.204, 2.949, 3.836",\
                 "0.216, 0.2363, 0.3129, 0.4751, 0.7382, 1.108, 1.592, 2.203, 2.95, 3.839",\
                 "0.3033, 0.3247, 0.3992, 0.5356, 0.7594, 1.109, 1.592, 2.204, 2.951, 3.839",\
                 "0.4224, 0.4442, 0.5222, 0.6678, 0.887, 1.187, 1.617, 2.205, 2.949, 3.838",\
                 "0.5694, 0.5938, 0.6784, 0.8312, 1.063, 1.376, 1.769, 2.286, 2.97, 3.838",\
                 "0.7354, 0.7644, 0.8604, 1.031, 1.274, 1.6, 2.015, 2.517, 3.129, 3.915",\
                 "0.9166, 0.9496, 1.064, 1.254, 1.523, 1.864, 2.296, 2.823, 3.439, 4.16",\
                 "1.114, 1.149, 1.281, 1.499, 1.797, 2.169, 2.617, 3.162, 3.804, 4.544",\
                 "1.324, 1.366, 1.51, 1.759, 2.095, 2.504, 2.988, 3.545, 4.209, 4.974");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3207, 0.356, 0.4764, 0.7059, 1.061, 1.56, 2.212, 3.039, 4.045, 5.242",\
                 "0.3205, 0.3555, 0.4764, 0.7067, 1.061, 1.56, 2.213, 3.038, 4.043, 5.244",\
                 "0.3209, 0.3552, 0.4767, 0.7063, 1.062, 1.559, 2.214, 3.038, 4.044, 5.242",\
                 "0.3869, 0.4136, 0.5109, 0.7133, 1.062, 1.56, 2.214, 3.039, 4.043, 5.241",\
                 "0.4944, 0.5294, 0.6422, 0.8274, 1.114, 1.567, 2.214, 3.038, 4.042, 5.241",\
                 "0.6176, 0.6556, 0.7816, 1.004, 1.304, 1.691, 2.254, 3.042, 4.043, 5.242",\
                 "0.7608, 0.8038, 0.944, 1.186, 1.527, 1.951, 2.456, 3.14, 4.064, 5.242",\
                 "0.9228, 0.971, 1.129, 1.392, 1.76, 2.233, 2.787, 3.421, 4.24, 5.303",\
                 "1.096, 1.154, 1.337, 1.627, 2.018, 2.524, 3.133, 3.829, 4.603, 5.559",\
                 "1.286, 1.353, 1.557, 1.883, 2.31, 2.839, 3.488, 4.245, 5.09, 6.009");
        }
      }

      timing() {
        related_pin : "C" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.129, 0.141, 0.1833, 0.2634, 0.3877, 0.5624, 0.7915, 1.08, 1.434, 1.854",\
                 "0.1413, 0.1536, 0.1961, 0.2765, 0.4012, 0.5756, 0.8053, 1.094, 1.447, 1.867",\
                 "0.1751, 0.1898, 0.2366, 0.3182, 0.4433, 0.6182, 0.8476, 1.137, 1.49, 1.91",\
                 "0.1958, 0.2161, 0.2799, 0.3839, 0.5225, 0.6988, 0.9283, 1.217, 1.57, 1.99",\
                 "0.1925, 0.2188, 0.3009, 0.4326, 0.6053, 0.8132, 1.055, 1.345, 1.697, 2.117",\
                 "0.1613, 0.1936, 0.2946, 0.4564, 0.6651, 0.9133, 1.198, 1.518, 1.878, 2.298",\
                 "0.1004, 0.1381, 0.2584, 0.4501, 0.6969, 0.9877, 1.317, 1.685, 2.09, 2.533",\
                 "0.0087, 0.0523, 0.1889, 0.4114, 0.6967, 1.032, 1.41, 1.827, 2.283, 2.777",\
                 "-0.1177, -0.069, 0.0866, 0.3366, 0.6614, 1.041, 1.469, 1.938, 2.447, 2.998",\
                 "-0.282, -0.2273, -0.0532, 0.2252, 0.5881, 1.014, 1.492, 2.016, 2.581, 3.187");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2315, 0.2513, 0.3203, 0.4505, 0.6523, 0.9341, 1.306, 1.772, 2.341, 3.02",\
                 "0.2471, 0.2671, 0.3366, 0.4674, 0.6694, 0.9517, 1.323, 1.789, 2.361, 3.04",\
                 "0.3115, 0.3312, 0.4001, 0.5306, 0.7326, 1.016, 1.387, 1.853, 2.423, 3.102",\
                 "0.441, 0.4629, 0.5348, 0.6634, 0.8628, 1.143, 1.513, 1.98, 2.55, 3.228",\
                 "0.6019, 0.6283, 0.7169, 0.8688, 1.076, 1.353, 1.719, 2.182, 2.749, 3.425",\
                 "0.7971, 0.8277, 0.9299, 1.106, 1.352, 1.654, 2.019, 2.476, 3.039, 3.712",\
                 "1.028, 1.063, 1.181, 1.379, 1.656, 2.004, 2.412, 2.876, 3.432, 4.1",\
                 "1.293, 1.334, 1.469, 1.695, 2.002, 2.387, 2.845, 3.364, 3.937, 4.6",\
                 "1.596, 1.643, 1.795, 2.049, 2.391, 2.813, 3.312, 3.888, 4.525, 5.216",\
                 "1.937, 1.99, 2.161, 2.446, 2.825, 3.285, 3.828, 4.448, 5.146, 5.908");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.1472, 0.1681, 0.2406, 0.3784, 0.5922, 0.8928, 1.288, 1.786, 2.394, 3.115",\
                 "0.1473, 0.1682, 0.2406, 0.3787, 0.5923, 0.8942, 1.288, 1.786, 2.392, 3.116",\
                 "0.1815, 0.1973, 0.2549, 0.3805, 0.5932, 0.8939, 1.289, 1.786, 2.396, 3.116",\
                 "0.2692, 0.2873, 0.3478, 0.4602, 0.6296, 0.901, 1.288, 1.786, 2.393, 3.115",\
                 "0.3865, 0.4054, 0.4711, 0.5928, 0.7728, 1.011, 1.338, 1.796, 2.392, 3.117",\
                 "0.5284, 0.5498, 0.6248, 0.7572, 0.9512, 1.208, 1.53, 1.925, 2.45, 3.128",\
                 "0.6874, 0.713, 0.8, 0.9514, 1.162, 1.438, 1.779, 2.192, 2.67, 3.271",\
                 "0.8618, 0.8918, 0.994, 1.167, 1.406, 1.703, 2.064, 2.502, 3.004, 3.582",\
                 "1.053, 1.086, 1.202, 1.4, 1.669, 1.999, 2.389, 2.843, 3.378, 3.985",\
                 "1.257, 1.296, 1.427, 1.655, 1.958, 2.321, 2.746, 3.225, 3.783, 4.419");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.3211, 0.355, 0.4764, 0.7051, 1.062, 1.558, 2.214, 3.038, 4.04, 5.237",\
                 "0.3206, 0.3553, 0.4765, 0.706, 1.062, 1.558, 2.214, 3.036, 4.044, 5.239",\
                 "0.3208, 0.3557, 0.4761, 0.7059, 1.062, 1.559, 2.213, 3.035, 4.041, 5.239",\
                 "0.3862, 0.4135, 0.5107, 0.7134, 1.062, 1.559, 2.215, 3.037, 4.044, 5.24",\
                 "0.4902, 0.5254, 0.6392, 0.8258, 1.113, 1.566, 2.214, 3.038, 4.042, 5.244",\
                 "0.6076, 0.6456, 0.7748, 0.9958, 1.299, 1.688, 2.253, 3.042, 4.043, 5.243",\
                 "0.745, 0.788, 0.9276, 1.172, 1.516, 1.943, 2.45, 3.137, 4.062, 5.243",\
                 "0.899, 0.9488, 1.106, 1.369, 1.738, 2.218, 2.775, 3.413, 4.232, 5.302",\
                 "1.069, 1.127, 1.303, 1.593, 1.986, 2.493, 3.11, 3.81, 4.589, 5.55",\
                 "1.254, 1.316, 1.517, 1.837, 2.264, 2.796, 3.452, 4.216, 5.063, 5.986");
        }
      }

      timing() {
        related_pin : "C" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2611, 0.2802, 0.345, 0.4663, 0.6521, 0.9108, 1.25, 1.676, 2.196, 2.815",\
                 "0.2723, 0.2913, 0.3564, 0.4779, 0.6639, 0.9227, 1.262, 1.688, 2.208, 2.826",\
                 "0.3013, 0.3201, 0.3854, 0.5069, 0.6933, 0.9525, 1.292, 1.718, 2.238, 2.858",\
                 "0.3409, 0.3621, 0.4328, 0.5589, 0.7451, 1.004, 1.343, 1.769, 2.289, 2.908",\
                 "0.3721, 0.3968, 0.478, 0.62, 0.8226, 1.088, 1.426, 1.851, 2.369, 2.988",\
                 "0.3843, 0.4132, 0.5095, 0.6726, 0.8983, 1.188, 1.543, 1.971, 2.488, 3.105",\
                 "0.3699, 0.4047, 0.5167, 0.7055, 0.9623, 1.281, 1.666, 2.12, 2.648, 3.264",\
                 "0.3287, 0.3673, 0.4957, 0.7122, 1.004, 1.36, 1.779, 2.266, 2.826, 3.465",\
                 "0.2558, 0.3003, 0.4439, 0.6882, 1.016, 1.415, 1.878, 2.403, 2.999, 3.671",\
                 "0.1527, 0.2004, 0.3616, 0.6317, 0.9973, 1.439, 1.949, 2.521, 3.159, 3.872");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2315, 0.2513, 0.3203, 0.4505, 0.6523, 0.9341, 1.306, 1.772, 2.341, 3.02",\
                 "0.2471, 0.2671, 0.3366, 0.4674, 0.6694, 0.9517, 1.323, 1.789, 2.361, 3.04",\
                 "0.3115, 0.3312, 0.4001, 0.5306, 0.7326, 1.016, 1.387, 1.853, 2.423, 3.102",\
                 "0.441, 0.4629, 0.5348, 0.6634, 0.8628, 1.143, 1.513, 1.98, 2.55, 3.228",\
                 "0.6019, 0.6283, 0.7169, 0.8688, 1.076, 1.353, 1.719, 2.182, 2.749, 3.425",\
                 "0.7971, 0.8277, 0.9299, 1.106, 1.352, 1.654, 2.019, 2.476, 3.039, 3.712",\
                 "1.028, 1.063, 1.181, 1.379, 1.656, 2.004, 2.412, 2.876, 3.432, 4.1",\
                 "1.293, 1.334, 1.469, 1.695, 2.002, 2.387, 2.845, 3.364, 3.937, 4.6",\
                 "1.596, 1.643, 1.795, 2.049, 2.391, 2.813, 3.312, 3.888, 4.525, 5.216",\
                 "1.937, 1.99, 2.161, 2.446, 2.825, 3.285, 3.828, 4.448, 5.146, 5.908");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.2942, 0.3262, 0.4353, 0.6421, 0.9586, 1.404, 1.986, 2.722, 3.617, 4.686",\
                 "0.2946, 0.3261, 0.4363, 0.6418, 0.9591, 1.404, 1.988, 2.721, 3.617, 4.683",\
                 "0.2962, 0.327, 0.4359, 0.6417, 0.9588, 1.404, 1.988, 2.722, 3.617, 4.687",\
                 "0.3492, 0.3782, 0.476, 0.6602, 0.9634, 1.405, 1.986, 2.721, 3.618, 4.687",\
                 "0.438, 0.4672, 0.566, 0.7512, 1.032, 1.433, 1.992, 2.721, 3.617, 4.685",\
                 "0.566, 0.5972, 0.698, 0.8818, 1.165, 1.557, 2.072, 2.752, 3.622, 4.685",\
                 "0.7206, 0.7552, 0.8672, 1.062, 1.342, 1.733, 2.246, 2.888, 3.701, 4.714",\
                 "0.8948, 0.9336, 1.06, 1.275, 1.571, 1.961, 2.471, 3.115, 3.898, 4.85",\
                 "1.081, 1.126, 1.275, 1.51, 1.835, 2.241, 2.75, 3.391, 4.175, 5.108",\
                 "1.284, 1.337, 1.499, 1.769, 2.123, 2.561, 3.089, 3.725, 4.505, 5.439");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00534, 0.02058, 0.04967, 0.095, 0.1586, 0.2423, 0.3477, 0.4764, 0.6298");
          values("0.4257, 0.4619, 0.587, 0.8223, 1.181, 1.681, 2.337, 3.161, 4.165, 5.365",\
                 "0.4257, 0.4619, 0.5873, 0.822, 1.182, 1.681, 2.337, 3.161, 4.165, 5.366",\
                 "0.4272, 0.4624, 0.5871, 0.8222, 1.182, 1.682, 2.338, 3.162, 4.167, 5.365",\
                 "0.5069, 0.5334, 0.6302, 0.8334, 1.182, 1.682, 2.337, 3.162, 4.166, 5.364",\
                 "0.6554, 0.6846, 0.784, 0.9582, 1.242, 1.691, 2.338, 3.162, 4.167, 5.365",\
                 "0.8214, 0.8522, 0.9616, 1.162, 1.442, 1.825, 2.382, 3.167, 4.168, 5.366",\
                 "1.014, 1.048, 1.162, 1.376, 1.693, 2.097, 2.593, 3.273, 4.193, 5.367",\
                 "1.229, 1.266, 1.391, 1.617, 1.955, 2.403, 2.938, 3.562, 4.372, 5.433",\
                 "1.462, 1.503, 1.646, 1.89, 2.244, 2.72, 3.313, 3.983, 4.749, 5.699",\
                 "1.714, 1.759, 1.915, 2.187, 2.569, 3.063, 3.687, 4.433, 5.245, 6.155");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai222_1) {
    area : 32.928000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&C2" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&!C2" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&C2" ;
      value : "4.37745e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&!C2" ;
      value : "4.3824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&C2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&!C2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&C2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&!C2" ;
      value : "4.3824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&C2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&!C2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&C2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&!C2" ;
      value : "4.3824e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&C2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&!C2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&C2" ;
      value : "4.39362e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&!C2" ;
      value : "7.6065e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&C2" ;
      value : "7.61706e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&!C2" ;
      value : "7.61673e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&C2" ;
      value : "7.61673e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&!C2" ;
      value : "0.0001075899" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&C2" ;
      value : "9.94422e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&!C2" ;
      value : "8.50542e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&C2" ;
      value : "8.50542e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&!C2" ;
      value : "0.0001075899" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&C2" ;
      value : "8.50542e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&!C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&!C2" ;
      value : "0.000107745" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&C2" ;
      value : "8.50542e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&!C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "7.60617e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&C2" ;
      value : "7.61673e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&!C2" ;
      value : "7.61673e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&C2" ;
      value : "7.61706e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&!C2" ;
      value : "0.0001075899" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&C2" ;
      value : "8.50542e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&!C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&!C2" ;
      value : "0.0001075899" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&!C2" ;
      value : "5.62848e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&C2" ;
      value : "5.62848e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&!C2" ;
      value : "0.0001077417" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&!C2" ;
      value : "5.62848e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&C2" ;
      value : "5.62848e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&!C2" ;
      value : "7.63158e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&C2" ;
      value : "7.64214e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&!C2" ;
      value : "7.64214e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&C2" ;
      value : "7.64214e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&!C2" ;
      value : "0.0001079034" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&C2" ;
      value : "8.50542e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&!C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&!C2" ;
      value : "0.0001079034" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&!C2" ;
      value : "5.62848e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&C2" ;
      value : "5.62848e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&!C2" ;
      value : "0.0001081014" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&C2" ;
      value : "7.06695e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&!C2" ;
      value : "5.62848e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&C2" ;
      value : "5.62848e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001081014" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004475 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0168, 0.01679, 0.01677, 0.01673, 0.01666, 0.01667, 0.01665, \
                 0.01664, 0.01663, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01513, 0.01515, 0.01514, 0.01508, 0.01503, 0.01499, 0.01491, \
                 0.01485, 0.01478, 0.01468");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01682, 0.01681, 0.01678, 0.01676, 0.01669, 0.01669, 0.01667, \
                 0.01665, 0.01664, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01514, 0.01515, 0.01515, 0.0151, 0.01505, 0.01499, 0.01491, \
                 0.01484, 0.01476, 0.01465");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01682, 0.0168, 0.01678, 0.01675, 0.01669, 0.01669, 0.01666, \
                 0.01665, 0.01664, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01514, 0.01514, 0.01514, 0.0151, 0.01505, 0.01499, 0.01492, \
                 0.01485, 0.01476, 0.01465");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01682, 0.0168, 0.01678, 0.01674, 0.01669, 0.01669, 0.01666, \
                 0.01665, 0.01664, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01514, 0.01516, 0.01514, 0.0151, 0.01505, 0.01499, 0.01492, \
                 0.01485, 0.01476, 0.01465");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01682, 0.01681, 0.01678, 0.01674, 0.01669, 0.01669, 0.01666, \
                 0.01665, 0.01664, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04835, 0.04837, 0.04836, 0.04831, 0.04823, 0.04814, 0.04804, \
                 0.04788, 0.04773, 0.04751");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01682, 0.0168, 0.01678, 0.01673, 0.01669, 0.01668, 0.01666, \
                 0.01665, 0.01663, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04835, 0.04837, 0.04834, 0.04831, 0.04825, 0.04816, 0.04805, \
                 0.04788, 0.04773, 0.0475");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01681, 0.0168, 0.01678, 0.01673, 0.01668, 0.01669, 0.01666, \
                 0.01666, 0.01664, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05655, 0.05655, 0.05657, 0.05652, 0.05645, 0.05634, 0.05622, \
                 0.05607, 0.05589, 0.05565");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01677, 0.01678, 0.01679, 0.01675, 0.0167, 0.0167, 0.01666, 0.01664, \
                 0.01661, 0.0166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01608, -0.01617, -0.01631, -0.01638, -0.01639, -0.01644, -0.01645, \
                 -0.01646, -0.01645, -0.01646");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01681, 0.01681, 0.01683, 0.01681, 0.01679, 0.01673, 0.01669, \
                 0.01667, 0.01663, 0.01662");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01607, -0.01616, -0.01631, -0.01642, -0.01644, -0.01646, -0.01647, \
                 -0.01646, -0.01646, -0.01646");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0168, 0.01681, 0.01683, 0.0168, 0.01675, 0.01672, 0.01668, 0.01666, \
                 0.01664, 0.0166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01606, -0.01618, -0.01632, -0.01643, -0.01645, -0.01648, -0.01648, \
                 -0.01647, -0.01647, -0.01647");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01679, 0.01681, 0.01683, 0.0168, 0.01674, 0.01672, 0.01668, \
                 0.01665, 0.01663, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01606, -0.01617, -0.01632, -0.01643, -0.01645, -0.01648, -0.01648, \
                 -0.01647, -0.01647, -0.01647");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01682, 0.01683, 0.01684, 0.0168, 0.01676, 0.01674, 0.0167, 0.01666, \
                 0.01663, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01607, -0.01616, -0.0163, -0.01642, -0.01645, -0.01647, -0.01649, \
                 -0.01647, -0.01646, -0.01647");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01209, 0.01208, 0.01206, 0.01204, 0.01205, 0.01205, 0.01204, \
                 0.01203, 0.01201, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004797, -0.004792, -0.004797, -0.004799, -0.004801, -0.004817, \
                 -0.004817, -0.004821, -0.004819, -0.004819");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01209, 0.01208, 0.01206, 0.01205, 0.01204, 0.01206, 0.01204, \
                 0.01203, 0.01201, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004797, -0.00479, -0.004796, -0.004798, -0.004804, -0.004818, \
                 -0.00482, -0.004818, -0.004817, -0.004817");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01209, 0.01208, 0.01206, 0.01205, 0.01204, 0.01205, 0.01204, \
                 0.01202, 0.01201, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004796, -0.004793, -0.004787, -0.004801, -0.004801, -0.004814, \
                 -0.004817, -0.004817, -0.004816, -0.004816");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01681, 0.01682, 0.01685, 0.01682, 0.01676, 0.01676, 0.0167, \
                 0.01666, 0.01663, 0.0166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01606, -0.01617, -0.01632, -0.01642, -0.01645, -0.01648, -0.01648, \
                 -0.01647, -0.01646, -0.01648");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01209, 0.01208, 0.01206, 0.01205, 0.01204, 0.01206, 0.01204, \
                 0.01203, 0.01201, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004797, -0.004792, -0.004797, -0.0048, -0.004798, -0.004815, \
                 -0.004813, -0.004817, -0.00482, -0.004818");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01209, 0.01208, 0.01206, 0.01205, 0.01204, 0.01205, 0.01205, \
                 0.01203, 0.01201, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004797, -0.004794, -0.004794, -0.004799, -0.004798, -0.004819, \
                 -0.004811, -0.004817, -0.004816, -0.004816");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01209, 0.01208, 0.01205, 0.01205, 0.01204, 0.01204, 0.01204, \
                 0.01203, 0.01201, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004796, -0.004798, -0.004787, -0.004804, -0.004807, -0.00482, \
                 -0.004819, -0.004818, -0.004813, -0.004814");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01681, 0.01682, 0.01685, 0.01681, 0.01677, 0.01676, 0.0167, \
                 0.01668, 0.01664, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01606, -0.01617, -0.01631, -0.01644, -0.01648, -0.01648, -0.01647, \
                 -0.01647, -0.01647, -0.01648");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0121, 0.01208, 0.01206, 0.01207, 0.01204, 0.01205, 0.01204, \
                 0.01203, 0.01201, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004797, -0.004794, -0.004797, -0.004804, -0.004799, -0.004817, \
                 -0.004815, -0.004819, -0.004819, -0.004815");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0121, 0.01208, 0.01206, 0.01206, 0.01204, 0.01205, 0.01204, \
                 0.01203, 0.01201, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004797, -0.004795, -0.004795, -0.004802, -0.004796, -0.004819, \
                 -0.004814, -0.004819, -0.004818, -0.004815");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0121, 0.01208, 0.01205, 0.01204, 0.01204, 0.01205, 0.01204, \
                 0.01203, 0.01201, 0.01198");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004796, -0.004791, -0.004795, -0.004795, -0.004806, -0.004818, \
                 -0.004816, -0.004815, -0.004818, -0.004815");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004422 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01671, 0.01673, 0.01672, 0.01669, 0.01666, 0.01666, 0.01667, \
                 0.01662, 0.01664, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0153, 0.01526, 0.01518, 0.01511, 0.01507, 0.01498, 0.01492, \
                 0.01485, 0.01478, 0.01467");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01671, 0.01675, 0.01674, 0.01674, 0.01667, 0.0167, 0.01668, \
                 0.01664, 0.01663, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0153, 0.01527, 0.01519, 0.01514, 0.01509, 0.01501, 0.01492, \
                 0.01485, 0.01477, 0.01466");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01671, 0.01675, 0.01673, 0.0167, 0.01667, 0.01668, 0.01668, \
                 0.01664, 0.01663, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0153, 0.01527, 0.01519, 0.01514, 0.0151, 0.01501, 0.01493, 0.01486, \
                 0.01476, 0.01465");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01674, 0.01675, 0.01673, 0.0167, 0.01667, 0.01668, 0.01669, \
                 0.01664, 0.01663, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0153, 0.01527, 0.01519, 0.01514, 0.0151, 0.01501, 0.01493, 0.01486, \
                 0.01476, 0.01465");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01671, 0.01676, 0.01674, 0.01671, 0.01668, 0.01669, 0.01666, \
                 0.01663, 0.01664, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0485, 0.0485, 0.04841, 0.04835, 0.04829, 0.04817, 0.04804, 0.04789, \
                 0.04773, 0.04748");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01673, 0.01675, 0.01673, 0.01673, 0.01666, 0.01668, 0.01668, \
                 0.01663, 0.01664, 0.01664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04851, 0.0485, 0.0484, 0.04834, 0.04829, 0.04817, 0.04804, 0.0479, \
                 0.04773, 0.04751");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0167, 0.01675, 0.01674, 0.01673, 0.01666, 0.01668, 0.01667, \
                 0.01662, 0.01663, 0.01663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05671, 0.0567, 0.05661, 0.05656, 0.05647, 0.05638, 0.05623, \
                 0.05605, 0.05588, 0.05567");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01674, 0.01669, 0.01666, 0.01665, 0.01663, 0.01663, 0.01662, \
                 0.01662, 0.01659, 0.01659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0159, -0.01595, -0.01615, -0.01629, -0.01634, -0.0164, -0.01639, \
                 -0.01642, -0.01643, -0.01643");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01675, 0.0167, 0.01667, 0.01667, 0.01666, 0.01668, 0.01663, \
                 0.01662, 0.0166, 0.01659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01589, -0.01594, -0.01617, -0.0163, -0.01636, -0.0164, -0.0164, \
                 -0.01643, -0.01644, -0.01644");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01675, 0.0167, 0.01667, 0.01668, 0.01664, 0.01665, 0.01663, \
                 0.01662, 0.01661, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01588, -0.01595, -0.01616, -0.0163, -0.01636, -0.01642, -0.0164, \
                 -0.01643, -0.01644, -0.01644");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01675, 0.0167, 0.01667, 0.01668, 0.01664, 0.01665, 0.01663, \
                 0.01662, 0.01662, 0.01661");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01589, -0.01595, -0.01618, -0.0163, -0.01636, -0.01642, -0.0164, \
                 -0.01643, -0.01644, -0.01644");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01676, 0.01671, 0.01668, 0.0167, 0.01667, 0.01667, 0.01664, \
                 0.01663, 0.0166, 0.01659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01588, -0.01595, -0.01616, -0.01629, -0.01635, -0.0164, -0.01639, \
                 -0.01643, -0.01644, -0.01644");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01459, 0.01455, 0.01459, 0.01461, 0.01461, \
                 0.01461, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01223, -0.01321, -0.01403, -0.01417, -0.01425, -0.01433, -0.01434, \
                 -0.01438, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01459, 0.01455, 0.0146, 0.01462, 0.01462, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01224, -0.01321, -0.01403, -0.01415, -0.01426, -0.01434, -0.01435, \
                 -0.01438, -0.0144, -0.0144");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01457, 0.0146, 0.01461, 0.0146, 0.01461, 0.01461, \
                 0.01458, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01223, -0.01321, -0.01402, -0.0142, -0.01425, -0.01434, -0.01435, \
                 -0.01438, -0.0144, -0.0144");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01676, 0.01671, 0.01668, 0.01669, 0.01666, 0.01667, 0.01664, \
                 0.01662, 0.0166, 0.01658");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01588, -0.01596, -0.01615, -0.0163, -0.01636, -0.01641, -0.0164, \
                 -0.01643, -0.01644, -0.01644");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01457, 0.01456, 0.0146, 0.01463, 0.01461, \
                 0.01461, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01224, -0.01322, -0.01404, -0.01418, -0.01425, -0.01434, -0.01434, \
                 -0.01438, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01457, 0.01456, 0.01459, 0.01463, 0.0146, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01223, -0.01322, -0.01404, -0.01417, -0.01425, -0.01434, -0.01434, \
                 -0.01438, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01457, 0.01458, 0.01459, 0.0146, 0.01461, \
                 0.01461, 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01224, -0.01321, -0.01403, -0.01419, -0.01424, -0.01434, -0.01435, \
                 -0.01439, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01675, 0.01672, 0.01668, 0.01668, 0.01667, 0.01668, 0.01664, \
                 0.01662, 0.0166, 0.01659");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01587, -0.01596, -0.01617, -0.0163, -0.01636, -0.01642, -0.01641, \
                 -0.01643, -0.01644, -0.01644");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01458, 0.01461, 0.01458, 0.01461, 0.0146, 0.0146, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01224, -0.01321, -0.01402, -0.01419, -0.01426, -0.01433, -0.01434, \
                 -0.01438, -0.0144, -0.01441");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01458, 0.01461, 0.01459, 0.01462, 0.01461, \
                 0.0146, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01224, -0.01322, -0.01401, -0.01419, -0.01426, -0.01433, -0.01435, \
                 -0.01438, -0.01441, -0.01441");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01457, 0.01455, 0.01459, 0.01458, 0.01461, 0.01461, \
                 0.0146, 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01224, -0.01321, -0.01401, -0.01417, -0.01426, -0.01433, -0.01434, \
                 -0.01438, -0.0144, -0.01441");
        }
      }
    }

    pin(B1) {
      capacitance : 0.00481 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0157, 0.01583, 0.01585, 0.01585, 0.01581, 0.01574, 0.01571, \
                 0.01566, 0.0156, 0.01551");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01478, -0.01477, -0.01472, -0.01468, -0.01464, -0.01462, -0.0146, \
                 -0.01459, -0.01459, -0.0146");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01568, 0.01491, 0.01475, 0.01472, 0.01467, 0.01466, 0.01464, \
                 0.01463, 0.01462, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01478, -0.01477, -0.01475, -0.01471, -0.01467, -0.01465, -0.01462, \
                 -0.0146, -0.01459, -0.0146");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01568, 0.01491, 0.01475, 0.01472, 0.01467, 0.01466, 0.01464, \
                 0.01464, 0.01462, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01478, -0.01477, -0.01475, -0.0147, -0.01467, -0.01464, -0.01462, \
                 -0.01461, -0.01459, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0155, 0.01483, 0.01475, 0.01472, 0.01467, 0.01467, 0.01464, \
                 0.01463, 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01479, -0.01479, -0.01475, -0.01471, -0.01468, -0.01466, -0.01463, \
                 -0.01461, -0.0146, -0.0146");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01529, 0.01532, 0.01531, 0.01526, 0.01519, 0.01516, 0.01508, \
                 0.01501, 0.01491, 0.0148");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01404, -0.01415, -0.01424, -0.01434, -0.01436, -0.01441, -0.01442, \
                 -0.01442, -0.01441, -0.01443");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01477, 0.01478, 0.01481, 0.01477, 0.01473, 0.01471, 0.01468, \
                 0.01467, 0.01464, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01402, -0.01412, -0.01422, -0.01434, -0.0144, -0.01441, -0.01441, \
                 -0.01441, -0.01441, -0.01443");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01476, 0.01477, 0.01481, 0.01477, 0.01472, 0.0147, 0.01467, \
                 0.01465, 0.01463, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01402, -0.01412, -0.01422, -0.01434, -0.01439, -0.01441, -0.0144, \
                 -0.01441, -0.01441, -0.01443");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01477, 0.01477, 0.0148, 0.01476, 0.01473, 0.01472, 0.01467, \
                 0.01466, 0.01463, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01403, -0.01414, -0.01423, -0.01435, -0.01439, -0.01442, -0.01441, \
                 -0.01441, -0.01441, -0.01442");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01485, 0.01485, 0.01482, 0.01477, 0.01473, 0.01471, 0.01468, \
                 0.01465, 0.01463, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002556, 0.002553, 0.002566, 0.002545, 0.002524, 0.00245, 0.002368, \
                 0.002266, 0.00212, 0.001919");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01479, 0.01479, 0.01481, 0.01477, 0.01472, 0.01469, 0.01464, \
                 0.01457, 0.01453, 0.01448");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01404, -0.01413, -0.01426, -0.01439, -0.0144, -0.01444, -0.01443, \
                 -0.01443, -0.01442, -0.01444");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01124, 0.01122, 0.0112, 0.01123, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004766, -0.004761, -0.004771, -0.004765, -0.004767, -0.004776, \
                 -0.004781, -0.004784, -0.00478, -0.004782");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01124, 0.01122, 0.01121, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004763, -0.004762, -0.004771, -0.004765, -0.004769, -0.004777, \
                 -0.004782, -0.004782, -0.004782, -0.004785");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01125, 0.01123, 0.01122, 0.01121, 0.01122, 0.01121, \
                 0.01119, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004761, -0.004762, -0.004765, -0.004762, -0.004768, -0.004782, \
                 -0.004782, -0.004783, -0.00478, -0.004781");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01485, 0.01485, 0.01482, 0.01479, 0.01472, 0.01471, 0.01468, \
                 0.01464, 0.01463, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002553, 0.002558, 0.002565, 0.002548, 0.002522, 0.00245, 0.002377, \
                 0.002266, 0.00213, 0.001924");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01477, 0.01479, 0.01481, 0.01477, 0.01472, 0.01468, 0.01463, \
                 0.01458, 0.01453, 0.01449");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01403, -0.01415, -0.01427, -0.0144, -0.01442, -0.01444, -0.01444, \
                 -0.01443, -0.01444, -0.01446");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01122, 0.01122, 0.01121, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004771, -0.004763, -0.004766, -0.004767, -0.004765, -0.004778, \
                 -0.00478, -0.004779, -0.00478, -0.00478");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01122, 0.01122, 0.01121, 0.01122, 0.01121, \
                 0.01119, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004763, -0.004761, -0.004766, -0.004765, -0.004765, -0.004778, \
                 -0.00478, -0.004779, -0.00478, -0.004782");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01125, 0.01122, 0.01121, 0.01121, 0.01122, 0.01122, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004761, -0.004762, -0.004764, -0.004762, -0.004765, -0.00478, \
                 -0.004785, -0.004781, -0.00478, -0.004783");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01484, 0.01485, 0.01481, 0.01478, 0.01472, 0.0147, 0.01467, \
                 0.01464, 0.01462, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002651, 0.002656, 0.002662, 0.002633, 0.002617, 0.002543, 0.002462, \
                 0.002348, 0.00221, 0.002");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01477, 0.01478, 0.0148, 0.01476, 0.01471, 0.01469, 0.01463, \
                 0.01457, 0.01454, 0.01448");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01403, -0.01415, -0.01427, -0.0144, -0.01442, -0.01445, -0.01444, \
                 -0.01444, -0.01443, -0.01444");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01127, 0.01124, 0.01123, 0.01122, 0.01122, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004771, -0.004769, -0.004762, -0.004766, -0.00477, -0.00478, \
                 -0.004785, -0.004785, -0.004783, -0.004783");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01123, 0.01122, 0.01122, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004767, -0.004769, -0.004762, -0.004767, -0.004768, -0.004781, \
                 -0.00478, -0.004779, -0.004781, -0.004784");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01126, 0.01124, 0.01122, 0.01122, 0.01121, 0.01122, 0.01121, \
                 0.0112, 0.01118, 0.01116");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004767, -0.004761, -0.004766, -0.004773, -0.004767, -0.004779, \
                 -0.004781, -0.004782, -0.004779, -0.004783");
        }
      }
    }

    pin(B2) {
      capacitance : 0.004343 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01559, 0.01574, 0.01579, 0.01582, 0.01576, 0.01577, 0.01572, \
                 0.01565, 0.01561, 0.01552");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01462, -0.01464, -0.01465, -0.01463, -0.01459, -0.01462, -0.0146, \
                 -0.01459, -0.01458, -0.01458");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01558, 0.01481, 0.01469, 0.01469, 0.01466, 0.01464, 0.01462, \
                 0.0146, 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01465, -0.01467, -0.01467, -0.01466, -0.01461, -0.01463, -0.01461, \
                 -0.01461, -0.0146, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01558, 0.01481, 0.01469, 0.01468, 0.01465, 0.01464, 0.01462, \
                 0.01462, 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01465, -0.01466, -0.01467, -0.01465, -0.01461, -0.01463, -0.01461, \
                 -0.0146, -0.01459, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01542, 0.01474, 0.01468, 0.01465, 0.01465, 0.01465, 0.01463, \
                 0.01463, 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01465, -0.01468, -0.01469, -0.01466, -0.01462, -0.01463, -0.01462, \
                 -0.0146, -0.01459, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01516, 0.01513, 0.01514, 0.01511, 0.0151, 0.01506, 0.01506, \
                 0.01498, 0.0149, 0.01479");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01385, -0.01383, -0.01401, -0.01416, -0.01426, -0.01433, -0.01434, \
                 -0.01436, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01458, 0.01459, 0.01458, 0.01461, 0.01462, 0.01462, \
                 0.0146, 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01385, -0.01385, -0.01401, -0.01418, -0.01424, -0.01432, -0.01433, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01458, 0.01459, 0.01459, 0.01461, 0.01462, 0.01462, \
                 0.0146, 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01385, -0.01385, -0.01401, -0.01418, -0.01424, -0.01432, -0.01433, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01458, 0.0146, 0.0146, 0.01461, 0.01461, 0.01461, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01385, -0.01381, -0.01403, -0.01418, -0.01423, -0.01433, -0.01435, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01472, 0.01476, 0.01477, 0.01472, 0.01467, 0.01469, 0.01467, \
                 0.01463, 0.01461, 0.01457");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002651, 0.002642, 0.002612, 0.002576, 0.002564, 0.002457, 0.002378, \
                 0.002266, 0.002118, 0.00192");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.0146, 0.01459, 0.0146, 0.01457, 0.01458, 0.01455, 0.01453, \
                 0.0145, 0.01446");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01384, -0.01382, -0.014, -0.01417, -0.01424, -0.01432, -0.01434, \
                 -0.01437, -0.01439, -0.01441");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01456, 0.01456, 0.01459, 0.01458, 0.0146, 0.01462, \
                 0.01458, 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01215, -0.01314, -0.01402, -0.01416, -0.01424, -0.01433, -0.01433, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01456, 0.01458, 0.01459, 0.01457, 0.01459, 0.01461, \
                 0.01458, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01215, -0.01314, -0.01403, -0.01416, -0.01424, -0.01433, -0.01434, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01457, 0.01457, 0.01456, 0.01459, 0.01457, 0.01459, 0.01461, \
                 0.01461, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01215, -0.01314, -0.01401, -0.01417, -0.01424, -0.01433, -0.01435, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01473, 0.01477, 0.01476, 0.01473, 0.01469, 0.01472, 0.01467, \
                 0.01466, 0.01462, 0.01458");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002654, 0.002648, 0.002615, 0.002581, 0.002561, 0.002459, 0.002378, \
                 0.002267, 0.00212, 0.00192");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.0146, 0.01457, 0.0146, 0.01456, 0.01458, 0.01455, 0.01453, \
                 0.0145, 0.01446");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01385, -0.01382, -0.01403, -0.01417, -0.01424, -0.01432, -0.01434, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01456, 0.01457, 0.01459, 0.01457, 0.01461, 0.01461, \
                 0.01458, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01215, -0.01314, -0.014, -0.01417, -0.01424, -0.01432, -0.01433, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01456, 0.01462, 0.0146, 0.01459, 0.0146, 0.01461, 0.01459, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01215, -0.01314, -0.014, -0.01417, -0.01424, -0.01432, -0.01433, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01456, 0.01456, 0.01458, 0.01458, 0.0146, 0.01461, 0.01461, \
                 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01216, -0.01314, -0.01401, -0.01416, -0.01424, -0.01433, -0.01434, \
                 -0.01438, -0.0144, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01472, 0.01476, 0.01475, 0.01472, 0.01468, 0.01469, 0.01467, \
                 0.01464, 0.01461, 0.01457");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002748, 0.002742, 0.002715, 0.002678, 0.002651, 0.002541, 0.002477, \
                 0.002354, 0.002198, 0.001998");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01461, 0.01459, 0.01458, 0.01461, 0.01456, 0.01459, 0.01455, \
                 0.01452, 0.0145, 0.01446");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01384, -0.01381, -0.01402, -0.01418, -0.01424, -0.01432, -0.01434, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01456, 0.01458, 0.01458, 0.0146, 0.01462, 0.0146, 0.0146, \
                 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01216, -0.01314, -0.01401, -0.01416, -0.01424, -0.01433, -0.01435, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01458, 0.01458, 0.01459, 0.01462, 0.01461, \
                 0.01459, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01215, -0.01314, -0.01401, -0.01416, -0.01424, -0.01432, -0.01435, \
                 -0.01437, -0.01438, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01455, 0.01456, 0.01458, 0.0146, 0.01463, 0.01461, 0.0146, \
                 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01216, -0.01315, -0.014, -0.01418, -0.01423, -0.01433, -0.01434, \
                 -0.01437, -0.01439, -0.0144");
        }
      }
    }

    pin(C1) {
      capacitance : 0.004408 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01478, 0.01476, 0.01472, 0.01468, 0.01465, 0.01464, 0.01463, \
                 0.01463, 0.01462, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01476, -0.01476, -0.01472, -0.01467, -0.01465, -0.01463, -0.01461, \
                 -0.0146, -0.01458, -0.01458");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01474, 0.01475, 0.01477, 0.01471, 0.01466, 0.01465, 0.01464, \
                 0.01464, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01407, -0.01418, -0.01424, -0.01431, -0.01435, -0.01439, -0.01438, \
                 -0.0144, -0.01441, -0.01442");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01479, 0.01478, 0.01474, 0.01471, 0.01467, 0.01466, 0.01465, \
                 0.01463, 0.01462, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01478, -0.01477, -0.01475, -0.01474, -0.01468, -0.01466, -0.01464, \
                 -0.01461, -0.0146, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01478, 0.01478, 0.0148, 0.01478, 0.01473, 0.01471, 0.01467, \
                 0.01466, 0.01463, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01405, -0.01412, -0.01427, -0.01439, -0.01441, -0.01443, -0.01442, \
                 -0.01442, -0.01442, -0.01443");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01479, 0.01478, 0.01475, 0.01472, 0.01466, 0.01466, 0.01465, \
                 0.01463, 0.01462, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01478, -0.01477, -0.01475, -0.01474, -0.01468, -0.01466, -0.01463, \
                 -0.01461, -0.0146, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01478, 0.01478, 0.01479, 0.01477, 0.01472, 0.0147, 0.01467, \
                 0.01465, 0.01462, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01405, -0.01413, -0.01426, -0.01437, -0.0144, -0.01443, -0.01442, \
                 -0.01441, -0.01442, -0.01442");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0148, 0.01478, 0.01474, 0.01472, 0.01467, 0.01466, 0.01464, \
                 0.01462, 0.01462, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01478, -0.01478, -0.01477, -0.01473, -0.01468, -0.01466, -0.01463, \
                 -0.01461, -0.01461, -0.01461");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01478, 0.01478, 0.0148, 0.01478, 0.01473, 0.0147, 0.01467, 0.01465, \
                 0.01463, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01406, -0.01413, -0.01426, -0.01438, -0.0144, -0.01442, -0.01442, \
                 -0.01442, -0.01442, -0.01443");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01479, 0.01478, 0.01475, 0.01471, 0.01468, 0.01466, 0.01465, \
                 0.01464, 0.01462, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01481, -0.01478, -0.01476, -0.01472, -0.01468, -0.01467, -0.01463, \
                 -0.01461, -0.01461, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01478, 0.01478, 0.01481, 0.01477, 0.01472, 0.0147, 0.01468, \
                 0.01466, 0.01463, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01405, -0.01415, -0.01427, -0.01438, -0.0144, -0.01443, -0.01442, \
                 -0.01441, -0.01442, -0.01443");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01056, 0.01054, 0.01054, 0.01052, 0.01051, 0.01053, 0.01052, \
                 0.01051, 0.01049, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004744, -0.00474, -0.004744, -0.004753, -0.004748, -0.004765, \
                 -0.004761, -0.004764, -0.004764, -0.004763");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01056, 0.01054, 0.01053, 0.01052, 0.01051, 0.01053, 0.01052, \
                 0.01051, 0.01049, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004745, -0.00474, -0.004746, -0.004753, -0.004749, -0.004763, \
                 -0.004763, -0.004763, -0.004761, -0.004764");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01056, 0.01055, 0.01053, 0.01053, 0.01051, 0.01053, 0.01052, \
                 0.01051, 0.01049, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004744, -0.00474, -0.004743, -0.004756, -0.004751, -0.004764, \
                 -0.004765, -0.004765, -0.00476, -0.00476");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01479, 0.01478, 0.01474, 0.01471, 0.01467, 0.01466, 0.01464, \
                 0.01463, 0.01463, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0148, -0.01478, -0.01476, -0.01472, -0.01468, -0.01465, -0.01463, \
                 -0.01461, -0.0146, -0.01459");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01477, 0.01477, 0.0148, 0.01477, 0.01471, 0.01469, 0.01467, \
                 0.01466, 0.01463, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01405, -0.01415, -0.01427, -0.01437, -0.01441, -0.01443, -0.01441, \
                 -0.01442, -0.01442, -0.01443");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01056, 0.01054, 0.01053, 0.01052, 0.01052, 0.01053, 0.01052, \
                 0.01051, 0.01049, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004745, -0.00474, -0.004744, -0.004749, -0.004752, -0.004766, \
                 -0.004761, -0.004763, -0.004763, -0.004762");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01056, 0.01055, 0.01054, 0.01052, 0.01051, 0.01052, 0.01052, \
                 0.01051, 0.01049, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004745, -0.00474, -0.004744, -0.004751, -0.004752, -0.004764, \
                 -0.004764, -0.004762, -0.004761, -0.004765");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01056, 0.01054, 0.01053, 0.01053, 0.01052, 0.01054, 0.01052, \
                 0.01051, 0.01049, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004747, -0.00474, -0.004745, -0.004747, -0.004751, -0.004761, \
                 -0.004764, -0.004764, -0.004763, -0.004762");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01478, 0.01477, 0.01474, 0.01471, 0.01467, 0.01466, 0.01464, \
                 0.01464, 0.01462, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0148, -0.01478, -0.01476, -0.01472, -0.01468, -0.01466, -0.01463, \
                 -0.01461, -0.0146, -0.0146");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01477, 0.01477, 0.0148, 0.01476, 0.01472, 0.01469, 0.01467, \
                 0.01466, 0.01462, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01405, -0.01415, -0.01427, -0.01437, -0.01441, -0.01442, -0.01443, \
                 -0.01442, -0.01442, -0.01443");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01056, 0.01054, 0.01053, 0.01052, 0.01052, 0.01053, 0.01052, \
                 0.01051, 0.01049, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004744, -0.00474, -0.004748, -0.004749, -0.004752, -0.004765, \
                 -0.004762, -0.004761, -0.004764, -0.00476");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01056, 0.01055, 0.01053, 0.01052, 0.01051, 0.01053, 0.01052, \
                 0.01051, 0.01049, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004745, -0.00474, -0.004748, -0.004751, -0.004749, -0.004762, \
                 -0.004765, -0.004764, -0.004761, -0.00476");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01056, 0.01054, 0.01053, 0.01053, 0.01051, 0.01053, 0.01052, \
                 0.01051, 0.01049, 0.01047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004743, -0.00474, -0.004751, -0.004749, -0.00475, -0.004762, \
                 -0.004759, -0.00476, -0.004763, -0.004764");
        }
      }
    }

    pin(C2) {
      capacitance : 0.004156 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01467, 0.01467, 0.01469, 0.01469, 0.01462, 0.01465, 0.01462, \
                 0.01462, 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01463, -0.01464, -0.01463, -0.01463, -0.01459, -0.0146, -0.01459, \
                 -0.01459, -0.01458, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01456, 0.01456, 0.01458, 0.01457, 0.01463, 0.0146, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0139, -0.01387, -0.01403, -0.01417, -0.01423, -0.01432, -0.01435, \
                 -0.01436, -0.01438, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01469, 0.01468, 0.01469, 0.01469, 0.01464, 0.01464, 0.01464, \
                 0.01462, 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01465, -0.01467, -0.01466, -0.01466, -0.01462, -0.01463, -0.01462, \
                 -0.01461, -0.01459, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01456, 0.01456, 0.01458, 0.01457, 0.01461, 0.01462, \
                 0.0146, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01389, -0.01388, -0.01401, -0.01416, -0.01424, -0.01432, -0.01436, \
                 -0.01436, -0.01437, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01469, 0.01468, 0.01469, 0.01466, 0.01463, 0.01463, 0.01463, \
                 0.01461, 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01465, -0.01465, -0.01466, -0.01465, -0.01463, -0.01463, -0.01461, \
                 -0.0146, -0.0146, -0.01462");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01456, 0.01457, 0.01458, 0.01457, 0.0146, 0.01461, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01389, -0.01388, -0.01402, -0.01416, -0.01423, -0.01432, -0.01436, \
                 -0.01436, -0.01437, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01469, 0.01469, 0.01468, 0.01466, 0.01466, 0.01464, 0.01463, \
                 0.01462, 0.01462, 0.01462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01464, -0.01467, -0.01469, -0.01467, -0.01462, -0.01462, -0.01462, \
                 -0.0146, -0.0146, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01458, 0.01458, 0.01457, 0.01463, 0.01461, \
                 0.0146, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01389, -0.01388, -0.01399, -0.01417, -0.01423, -0.01432, -0.01435, \
                 -0.01437, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01468, 0.01468, 0.01471, 0.01469, 0.01465, 0.01464, 0.01463, \
                 0.01462, 0.01461, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01467, -0.01469, -0.01467, -0.01468, -0.01463, -0.01463, -0.01461, \
                 -0.0146, -0.01461, -0.01459");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01456, 0.01456, 0.01459, 0.01457, 0.01463, 0.0146, \
                 0.0146, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0139, -0.01387, -0.01403, -0.01417, -0.01424, -0.01432, -0.01434, \
                 -0.01436, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01456, 0.01459, 0.01459, 0.01459, 0.01462, 0.01461, \
                 0.01459, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0121, -0.01313, -0.01402, -0.01417, -0.01423, -0.01431, -0.01436, \
                 -0.01438, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01456, 0.01458, 0.01459, 0.01459, 0.01463, 0.01461, \
                 0.0146, 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01209, -0.01312, -0.01402, -0.01417, -0.01423, -0.01432, -0.01435, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01461, 0.01458, 0.0146, 0.01462, 0.01461, 0.0146, \
                 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01209, -0.01313, -0.01403, -0.01418, -0.01423, -0.01432, -0.01434, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01468, 0.01468, 0.01471, 0.01467, 0.01465, 0.01464, 0.01462, \
                 0.01463, 0.01462, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01466, -0.01469, -0.01467, -0.01468, -0.01463, -0.01463, -0.01462, \
                 -0.01459, -0.01459, -0.01461");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01456, 0.01456, 0.01459, 0.01457, 0.01463, 0.0146, \
                 0.0146, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0139, -0.01386, -0.01403, -0.01417, -0.01424, -0.01432, -0.01435, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01457, 0.01459, 0.01457, 0.01459, 0.01461, 0.0146, \
                 0.0146, 0.0146, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01209, -0.01313, -0.01402, -0.01417, -0.01423, -0.01431, -0.01435, \
                 -0.01437, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01456, 0.01458, 0.01457, 0.01459, 0.01461, 0.01461, \
                 0.01459, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01209, -0.01312, -0.01402, -0.01417, -0.01422, -0.01431, -0.01435, \
                 -0.01437, -0.01437, -0.01439");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01455, 0.01458, 0.01459, 0.01462, 0.01461, \
                 0.0146, 0.01459, 0.01459");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0121, -0.01312, -0.01403, -0.01417, -0.01423, -0.01432, -0.01434, \
                 -0.01436, -0.01439, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01468, 0.01468, 0.01471, 0.01467, 0.01466, 0.01464, 0.01463, \
                 0.01462, 0.01462, 0.01461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01466, -0.01469, -0.01467, -0.01468, -0.01463, -0.01463, -0.01461, \
                 -0.0146, -0.01459, -0.01459");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01459, 0.01456, 0.01456, 0.01459, 0.01456, 0.01463, 0.0146, \
                 0.0146, 0.01461, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0139, -0.01386, -0.01403, -0.01417, -0.01424, -0.01432, -0.01435, \
                 -0.01436, -0.01438, -0.01439");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01456, 0.01456, 0.01457, 0.01457, 0.01462, 0.01461, \
                 0.01459, 0.01459, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0121, -0.01313, -0.01399, -0.01418, -0.01423, -0.01432, -0.01435, \
                 -0.01437, -0.01437, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01458, 0.01456, 0.01456, 0.01457, 0.01457, 0.01462, 0.01461, \
                 0.01459, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01209, -0.01312, -0.014, -0.01417, -0.01423, -0.01432, -0.01435, \
                 -0.01437, -0.01438, -0.0144");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0146, 0.01457, 0.01461, 0.01455, 0.01458, 0.01463, 0.01461, \
                 0.01459, 0.0146, 0.0146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01209, -0.01313, -0.01402, -0.01418, -0.01423, -0.01433, -0.01434, \
                 -0.01437, -0.01439, -0.0144");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|((!B1)&(!B2))|((!C1)&(!C2)))" ;
      max_capacitance : 0.1543 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04093, 0.04095, 0.04097, 0.04102, 0.04103, 0.04106, 0.04106, 0.04108, 0.04108, 0.04105",\
                 "0.04129, 0.04131, 0.04141, 0.04153, 0.04161, 0.04168, 0.04172, 0.04176, 0.04178, 0.04176",\
                 "0.04195, 0.04196, 0.04201, 0.04206, 0.04213, 0.04221, 0.04224, 0.04227, 0.04229, 0.04229",\
                 "0.04453, 0.04445, 0.04424, 0.04397, 0.04364, 0.04341, 0.0432, 0.04308, 0.04295, 0.04288",\
                 "0.05108, 0.0508, 0.04999, 0.04893, 0.04784, 0.04689, 0.04603, 0.04535, 0.04482, 0.04441",\
                 "0.06273, 0.06221, 0.06066, 0.05845, 0.05611, 0.0539, 0.052, 0.0504, 0.04904, 0.04798",\
                 "0.0805, 0.07974, 0.07723, 0.07356, 0.06956, 0.0657, 0.06226, 0.05927, 0.05673, 0.05459",\
                 "0.1048, 0.1037, 0.1003, 0.09508, 0.08909, 0.08324, 0.07779, 0.07299, 0.06876, 0.0652",\
                 "0.1359, 0.1346, 0.1303, 0.1235, 0.1155, 0.1072, 0.09944, 0.09244, 0.08615, 0.08069",\
                 "0.1742, 0.1726, 0.1675, 0.1593, 0.1491, 0.1383, 0.1278, 0.1183, 0.1097, 0.1019");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.08395, 0.08408, 0.08442, 0.08482, 0.08516, 0.08555, 0.08596, 0.08637, 0.08683, 0.0883",\
                 "0.08331, 0.08359, 0.08417, 0.08494, 0.08552, 0.08608, 0.08658, 0.08706, 0.08762, 0.08926",\
                 "0.08375, 0.0838, 0.08414, 0.08475, 0.08545, 0.08614, 0.08675, 0.08733, 0.08802, 0.08976",\
                 "0.08806, 0.08787, 0.08739, 0.08705, 0.08697, 0.08717, 0.08744, 0.08794, 0.08844, 0.09026",\
                 "0.09788, 0.09737, 0.09585, 0.0941, 0.09248, 0.09139, 0.09071, 0.09045, 0.0904, 0.09203",\
                 "0.1137, 0.1128, 0.1103, 0.107, 0.1035, 0.1005, 0.09817, 0.09649, 0.09551, 0.09688",\
                 "0.1359, 0.1348, 0.1313, 0.1263, 0.121, 0.1158, 0.1113, 0.1077, 0.1051, 0.1057",\
                 "0.1652, 0.1637, 0.1593, 0.1527, 0.1453, 0.138, 0.1312, 0.1251, 0.1205, 0.121",\
                 "0.2017, 0.2, 0.1947, 0.1866, 0.1769, 0.1672, 0.1582, 0.1495, 0.1429, 0.1441",\
                 "0.246, 0.2441, 0.238, 0.2284, 0.2167, 0.2044, 0.1927, 0.1818, 0.1736, 0.1787");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0314, 0.03141, 0.03145, 0.03149, 0.03154, 0.03155, 0.03157, 0.03157, 0.03158, 0.03157",\
                 "0.03166, 0.03171, 0.03183, 0.03199, 0.03209, 0.03216, 0.03223, 0.03225, 0.03227, 0.03227",\
                 "0.03235, 0.03237, 0.03243, 0.03252, 0.03262, 0.03268, 0.03273, 0.03276, 0.03278, 0.0328",\
                 "0.03523, 0.03512, 0.03484, 0.03453, 0.03422, 0.03393, 0.03374, 0.03358, 0.03346, 0.03338",\
                 "0.04237, 0.04203, 0.04105, 0.03981, 0.03856, 0.03753, 0.03664, 0.03592, 0.03538, 0.03494",\
                 "0.05495, 0.05429, 0.05238, 0.04981, 0.04719, 0.04479, 0.04274, 0.04107, 0.03968, 0.03858",\
                 "0.07356, 0.0726, 0.0697, 0.06553, 0.06107, 0.05691, 0.05325, 0.05012, 0.04748, 0.04529",\
                 "0.09865, 0.09742, 0.09352, 0.08771, 0.0811, 0.0748, 0.06908, 0.06402, 0.05968, 0.05601",\
                 "0.1306, 0.1291, 0.1243, 0.1168, 0.108, 0.09916, 0.09106, 0.08374, 0.07725, 0.07167",\
                 "0.1695, 0.1677, 0.1621, 0.1532, 0.1422, 0.1307, 0.1198, 0.1099, 0.101, 0.09308");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.07372, 0.07388, 0.07422, 0.07459, 0.07499, 0.07525, 0.07566, 0.07601, 0.07659, 0.07803",\
                 "0.07311, 0.07337, 0.07399, 0.07468, 0.07532, 0.07585, 0.07635, 0.07683, 0.07738, 0.07889",\
                 "0.07354, 0.07362, 0.07393, 0.07452, 0.07526, 0.07598, 0.07662, 0.0771, 0.07774, 0.07939",\
                 "0.07784, 0.07767, 0.07718, 0.0768, 0.07678, 0.0769, 0.07725, 0.07766, 0.07825, 0.07989",\
                 "0.08765, 0.08713, 0.08567, 0.0838, 0.08219, 0.08106, 0.08045, 0.08007, 0.08016, 0.08166",\
                 "0.1035, 0.1026, 0.1001, 0.09672, 0.09337, 0.0902, 0.08794, 0.08629, 0.08517, 0.08627",\
                 "0.1258, 0.1247, 0.1211, 0.1161, 0.1107, 0.1055, 0.1011, 0.09751, 0.0949, 0.09507",\
                 "0.1552, 0.1537, 0.1492, 0.1425, 0.135, 0.1277, 0.1209, 0.1148, 0.1102, 0.1101",\
                 "0.192, 0.1903, 0.1849, 0.1765, 0.1668, 0.157, 0.1478, 0.1393, 0.1326, 0.133",\
                 "0.2365, 0.2345, 0.2282, 0.2183, 0.2066, 0.1944, 0.1824, 0.1715, 0.1629, 0.1673");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03138, 0.0314, 0.03144, 0.03149, 0.03153, 0.03156, 0.03157, 0.03158, 0.03159, 0.03159",\
                 "0.03165, 0.03169, 0.03181, 0.03198, 0.03208, 0.03217, 0.03222, 0.03225, 0.03228, 0.03229",\
                 "0.03238, 0.03243, 0.03247, 0.03255, 0.03264, 0.0327, 0.03274, 0.03278, 0.0328, 0.03282",\
                 "0.03546, 0.03532, 0.03503, 0.03469, 0.03436, 0.03405, 0.03382, 0.03367, 0.03353, 0.03342",\
                 "0.04288, 0.04253, 0.04153, 0.04024, 0.03897, 0.03787, 0.03693, 0.0362, 0.03561, 0.03514",\
                 "0.05593, 0.05526, 0.05332, 0.05069, 0.04798, 0.04553, 0.04342, 0.0417, 0.04021, 0.03905",\
                 "0.07514, 0.07419, 0.07131, 0.06703, 0.06249, 0.05819, 0.05443, 0.05119, 0.04848, 0.04619",\
                 "0.1011, 0.09981, 0.09589, 0.08999, 0.08328, 0.07685, 0.07097, 0.06582, 0.06134, 0.05754",\
                 "0.1339, 0.1324, 0.1276, 0.1201, 0.1112, 0.1022, 0.09392, 0.08636, 0.0798, 0.07399",\
                 "0.174, 0.1723, 0.1666, 0.1576, 0.1466, 0.135, 0.1238, 0.1137, 0.1046, 0.09648");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0737, 0.07386, 0.07421, 0.07457, 0.07496, 0.07529, 0.07566, 0.07601, 0.07659, 0.07796",\
                 "0.07298, 0.07325, 0.07382, 0.07454, 0.07522, 0.07572, 0.07622, 0.0767, 0.07731, 0.07876",\
                 "0.07321, 0.07329, 0.07359, 0.07418, 0.07493, 0.07555, 0.07622, 0.0768, 0.07745, 0.07909",\
                 "0.07793, 0.07767, 0.07709, 0.07661, 0.07648, 0.07661, 0.07691, 0.07729, 0.07785, 0.0794",\
                 "0.0884, 0.08785, 0.08625, 0.08422, 0.08248, 0.08126, 0.08038, 0.08003, 0.08003, 0.08152",\
                 "0.105, 0.1041, 0.1015, 0.09803, 0.09436, 0.09103, 0.0886, 0.08666, 0.08546, 0.08654",\
                 "0.1282, 0.1271, 0.1234, 0.1183, 0.1129, 0.1075, 0.1027, 0.09873, 0.09593, 0.09583",\
                 "0.1587, 0.1572, 0.1527, 0.1459, 0.1384, 0.131, 0.1238, 0.1174, 0.1123, 0.112",\
                 "0.1967, 0.195, 0.1895, 0.1812, 0.1716, 0.1616, 0.1523, 0.1434, 0.1361, 0.1363",\
                 "0.2428, 0.2408, 0.2344, 0.2246, 0.2129, 0.2006, 0.1885, 0.1773, 0.1685, 0.1725");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03071, 0.03071, 0.03076, 0.0308, 0.03084, 0.03086, 0.03086, 0.03088, 0.03088, 0.03088",\
                 "0.03097, 0.03101, 0.03114, 0.03129, 0.0314, 0.03147, 0.03154, 0.03155, 0.03158, 0.03158",\
                 "0.03165, 0.03167, 0.03173, 0.03183, 0.03192, 0.032, 0.03204, 0.03207, 0.03209, 0.03211",\
                 "0.03454, 0.03445, 0.03415, 0.03384, 0.03352, 0.03325, 0.03303, 0.0329, 0.03276, 0.03269",\
                 "0.04169, 0.04136, 0.04037, 0.03915, 0.03791, 0.03683, 0.03594, 0.03524, 0.0347, 0.03425",\
                 "0.05428, 0.05364, 0.05175, 0.04916, 0.04651, 0.04411, 0.04208, 0.04038, 0.03899, 0.03789",\
                 "0.07295, 0.07201, 0.06907, 0.0649, 0.06039, 0.05625, 0.05256, 0.0494, 0.04679, 0.0446",\
                 "0.0981, 0.09687, 0.09294, 0.0871, 0.08047, 0.07417, 0.0684, 0.06335, 0.05901, 0.05533",\
                 "0.1301, 0.1285, 0.1237, 0.1162, 0.1074, 0.09853, 0.0904, 0.08306, 0.07661, 0.07097",\
                 "0.169, 0.1672, 0.1616, 0.1526, 0.1417, 0.1301, 0.1192, 0.1092, 0.1003, 0.0924");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.07361, 0.07374, 0.07409, 0.07445, 0.07479, 0.07522, 0.07559, 0.07591, 0.07642, 0.07773",\
                 "0.07299, 0.07323, 0.07384, 0.07455, 0.07519, 0.07572, 0.07622, 0.0767, 0.07728, 0.07876",\
                 "0.07341, 0.07347, 0.07381, 0.07437, 0.07509, 0.07585, 0.07639, 0.077, 0.07764, 0.07915",\
                 "0.07771, 0.07752, 0.07705, 0.07667, 0.07654, 0.07687, 0.07711, 0.07769, 0.07812, 0.07973",\
                 "0.08752, 0.08699, 0.08553, 0.08364, 0.08209, 0.08096, 0.08035, 0.08003, 0.08006, 0.08159",\
                 "0.1034, 0.1025, 0.09994, 0.09661, 0.09314, 0.09017, 0.08787, 0.08626, 0.08517, 0.08607",\
                 "0.1257, 0.1246, 0.121, 0.116, 0.1106, 0.1055, 0.101, 0.09728, 0.0946, 0.095",\
                 "0.1551, 0.1536, 0.1491, 0.1424, 0.1349, 0.1276, 0.1207, 0.1147, 0.11, 0.1099",\
                 "0.1919, 0.1901, 0.1847, 0.1764, 0.1667, 0.1568, 0.1477, 0.1394, 0.1323, 0.1329",\
                 "0.2365, 0.2344, 0.2281, 0.2182, 0.2065, 0.1942, 0.1823, 0.1713, 0.163, 0.1671");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0212, 0.02121, 0.02126, 0.0213, 0.02133, 0.02136, 0.02137, 0.02138, 0.02139, 0.02139",\
                 "0.02128, 0.02137, 0.02155, 0.02175, 0.02186, 0.02195, 0.02201, 0.02204, 0.02206, 0.02208",\
                 "0.02199, 0.02202, 0.02213, 0.02227, 0.02238, 0.02247, 0.02253, 0.02256, 0.02259, 0.02261",\
                 "0.02529, 0.02517, 0.02481, 0.02443, 0.02405, 0.02377, 0.02356, 0.0234, 0.02327, 0.02319",\
                 "0.0333, 0.03284, 0.03158, 0.03011, 0.02866, 0.02751, 0.02656, 0.0258, 0.02525, 0.02479",\
                 "0.04688, 0.04605, 0.0437, 0.04066, 0.03765, 0.03504, 0.03284, 0.03106, 0.02961, 0.02848",\
                 "0.06654, 0.06537, 0.0619, 0.05703, 0.05203, 0.04746, 0.04357, 0.04026, 0.03752, 0.03527",\
                 "0.09251, 0.09108, 0.08657, 0.07996, 0.07265, 0.06573, 0.05971, 0.05444, 0.04993, 0.04613",\
                 "0.1252, 0.1235, 0.1181, 0.1098, 0.1001, 0.09068, 0.08198, 0.07441, 0.06771, 0.06194",\
                 "0.1649, 0.1629, 0.1566, 0.1468, 0.1349, 0.1227, 0.1112, 0.1009, 0.09174, 0.08359");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.06337, 0.06351, 0.06383, 0.06416, 0.06453, 0.06479, 0.0652, 0.06538, 0.06582, 0.06759",\
                 "0.06275, 0.06299, 0.06358, 0.06426, 0.06485, 0.06542, 0.06596, 0.06644, 0.06658, 0.06806",\
                 "0.06312, 0.06324, 0.06356, 0.06412, 0.06484, 0.06545, 0.06596, 0.06654, 0.06715, 0.06875",\
                 "0.06752, 0.06734, 0.0668, 0.06635, 0.06631, 0.06644, 0.06678, 0.067, 0.06745, 0.06942",\
                 "0.07729, 0.07675, 0.07531, 0.07341, 0.07176, 0.0706, 0.06995, 0.06964, 0.06967, 0.07082",\
                 "0.09318, 0.09228, 0.08972, 0.08635, 0.08291, 0.07971, 0.07744, 0.0757, 0.07453, 0.0753",\
                 "0.1157, 0.1145, 0.1108, 0.1057, 0.1004, 0.09522, 0.09061, 0.08676, 0.08399, 0.08429",\
                 "0.1453, 0.1438, 0.1391, 0.1322, 0.1247, 0.1174, 0.1105, 0.1043, 0.09946, 0.0988",\
                 "0.1823, 0.1805, 0.1749, 0.1664, 0.1565, 0.1466, 0.1374, 0.129, 0.1217, 0.1217",\
                 "0.2271, 0.225, 0.2185, 0.2083, 0.1965, 0.1839, 0.172, 0.1611, 0.1523, 0.1556");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02116, 0.02119, 0.02124, 0.0213, 0.02133, 0.02136, 0.02137, 0.02138, 0.02139, 0.0214",\
                 "0.02127, 0.02138, 0.02155, 0.02174, 0.02186, 0.02195, 0.02201, 0.02205, 0.02207, 0.02208",\
                 "0.02199, 0.02205, 0.02216, 0.02229, 0.02239, 0.0225, 0.02253, 0.02258, 0.02259, 0.02262",\
                 "0.0255, 0.02538, 0.025, 0.02459, 0.02418, 0.02388, 0.02364, 0.02348, 0.02334, 0.02324",\
                 "0.03379, 0.03335, 0.03209, 0.03055, 0.02909, 0.02786, 0.02685, 0.02608, 0.02545, 0.02499",\
                 "0.04789, 0.04704, 0.04465, 0.0415, 0.03847, 0.03576, 0.03354, 0.03168, 0.03018, 0.02895",\
                 "0.0681, 0.06697, 0.06347, 0.05854, 0.05344, 0.04881, 0.04478, 0.04138, 0.03856, 0.03619",\
                 "0.09497, 0.09346, 0.08898, 0.08222, 0.07485, 0.06782, 0.06164, 0.05624, 0.05157, 0.04765",\
                 "0.1286, 0.1269, 0.1214, 0.1131, 0.1034, 0.09371, 0.08491, 0.0771, 0.07026, 0.0643",\
                 "0.1695, 0.1675, 0.1612, 0.1513, 0.1394, 0.127, 0.1152, 0.1046, 0.09531, 0.08698");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.06334, 0.0635, 0.06383, 0.06415, 0.06451, 0.06483, 0.06507, 0.06541, 0.06618, 0.067",\
                 "0.06261, 0.06285, 0.06347, 0.06418, 0.06477, 0.06519, 0.06583, 0.06627, 0.06648, 0.06792",\
                 "0.06283, 0.0629, 0.06321, 0.06379, 0.06447, 0.06509, 0.06563, 0.06627, 0.06712, 0.06819",\
                 "0.06758, 0.06734, 0.06676, 0.06617, 0.06603, 0.06611, 0.06642, 0.06664, 0.06705, 0.06896",\
                 "0.07801, 0.07746, 0.07591, 0.07385, 0.07196, 0.07067, 0.06979, 0.06951, 0.06954, 0.07049",\
                 "0.09469, 0.09379, 0.09113, 0.08767, 0.0841, 0.08053, 0.07804, 0.07613, 0.07493, 0.0758",\
                 "0.1181, 0.1169, 0.1132, 0.108, 0.1025, 0.09713, 0.09213, 0.08811, 0.08515, 0.08502",\
                 "0.1488, 0.1473, 0.1425, 0.1357, 0.128, 0.1206, 0.1135, 0.1068, 0.1015, 0.1008",\
                 "0.1871, 0.1852, 0.1795, 0.1709, 0.1613, 0.1512, 0.1419, 0.133, 0.1252, 0.125",\
                 "0.2334, 0.2313, 0.2247, 0.2145, 0.2026, 0.1902, 0.178, 0.1669, 0.1578, 0.1607");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0307, 0.03072, 0.03076, 0.0308, 0.03085, 0.03086, 0.03087, 0.03088, 0.03089, 0.0309",\
                 "0.03098, 0.03104, 0.03114, 0.0313, 0.03139, 0.03148, 0.03152, 0.03156, 0.03158, 0.03158",\
                 "0.03176, 0.03177, 0.03182, 0.0319, 0.03198, 0.03203, 0.03207, 0.03209, 0.03211, 0.03213",\
                 "0.03487, 0.03473, 0.03443, 0.03406, 0.0337, 0.03341, 0.03317, 0.03299, 0.03286, 0.03276",\
                 "0.04236, 0.04197, 0.04098, 0.0397, 0.0384, 0.03725, 0.03633, 0.03556, 0.03497, 0.03448",\
                 "0.05541, 0.05476, 0.05285, 0.05018, 0.04743, 0.04495, 0.04284, 0.04105, 0.0396, 0.03843",\
                 "0.07477, 0.07377, 0.07081, 0.06655, 0.06193, 0.05768, 0.05388, 0.05061, 0.04788, 0.04556",\
                 "0.1007, 0.09943, 0.09551, 0.08956, 0.08283, 0.07632, 0.07044, 0.06526, 0.06077, 0.05693",\
                 "0.1335, 0.1321, 0.1272, 0.1197, 0.1108, 0.1017, 0.09334, 0.08588, 0.07925, 0.07343",\
                 "0.1737, 0.172, 0.1663, 0.1573, 0.1462, 0.1345, 0.1233, 0.1132, 0.1041, 0.09592");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.07342, 0.07356, 0.07392, 0.07428, 0.07466, 0.07499, 0.07546, 0.07578, 0.07626, 0.07766",\
                 "0.07266, 0.07289, 0.07349, 0.07419, 0.07486, 0.07545, 0.07589, 0.0765, 0.07695, 0.07839",\
                 "0.07308, 0.07315, 0.07345, 0.074, 0.07469, 0.07535, 0.07602, 0.07673, 0.07721, 0.07879",\
                 "0.07785, 0.07765, 0.07705, 0.07656, 0.07634, 0.07654, 0.07678, 0.07713, 0.07772, 0.07933",\
                 "0.08819, 0.0877, 0.08619, 0.08411, 0.08232, 0.08109, 0.08031, 0.07977, 0.0799, 0.08133",\
                 "0.1047, 0.1039, 0.1014, 0.09793, 0.09423, 0.09103, 0.08846, 0.08656, 0.08527, 0.08607",\
                 "0.128, 0.1269, 0.1233, 0.1182, 0.1127, 0.1075, 0.1025, 0.0987, 0.09591, 0.09589",\
                 "0.1585, 0.157, 0.1524, 0.1457, 0.1381, 0.1307, 0.1236, 0.1173, 0.1123, 0.1119",\
                 "0.1965, 0.1948, 0.1893, 0.181, 0.1714, 0.1614, 0.1521, 0.1434, 0.1359, 0.1364",\
                 "0.2425, 0.2406, 0.2342, 0.2244, 0.2128, 0.2003, 0.1884, 0.177, 0.1684, 0.1722");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02116, 0.02119, 0.02123, 0.0213, 0.02134, 0.02136, 0.02137, 0.02137, 0.02139, 0.0214",\
                 "0.02132, 0.02139, 0.02156, 0.02175, 0.02186, 0.02196, 0.02201, 0.02205, 0.02206, 0.02208",\
                 "0.02205, 0.02212, 0.02223, 0.02234, 0.02243, 0.0225, 0.02256, 0.02258, 0.02259, 0.02262",\
                 "0.02563, 0.02551, 0.0251, 0.02467, 0.02425, 0.02393, 0.02368, 0.0235, 0.02336, 0.02327",\
                 "0.03397, 0.03349, 0.0322, 0.03065, 0.02917, 0.02792, 0.02692, 0.02615, 0.02552, 0.02503",\
                 "0.04807, 0.04719, 0.04484, 0.04169, 0.03861, 0.03588, 0.03363, 0.03176, 0.03023, 0.02904",\
                 "0.0683, 0.06718, 0.06364, 0.05872, 0.05359, 0.04891, 0.04487, 0.04151, 0.03864, 0.03628",\
                 "0.09518, 0.09363, 0.08915, 0.08241, 0.07501, 0.06802, 0.06176, 0.05635, 0.05171, 0.04775",\
                 "0.1288, 0.127, 0.1216, 0.1133, 0.1036, 0.09385, 0.085, 0.07723, 0.07037, 0.06443",\
                 "0.1697, 0.1676, 0.1613, 0.1514, 0.1395, 0.1271, 0.1154, 0.1049, 0.09546, 0.08711");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0632, 0.06334, 0.06367, 0.064, 0.0644, 0.06473, 0.0651, 0.06555, 0.06559, 0.06693",\
                 "0.06241, 0.06263, 0.06324, 0.06392, 0.06459, 0.06506, 0.0656, 0.06584, 0.06631, 0.06752",\
                 "0.06282, 0.06291, 0.06319, 0.06374, 0.06442, 0.06509, 0.06556, 0.06611, 0.06695, 0.06839",\
                 "0.06765, 0.06741, 0.0668, 0.06623, 0.06606, 0.06611, 0.06639, 0.0666, 0.06698, 0.06889",\
                 "0.07799, 0.07745, 0.07593, 0.07389, 0.07202, 0.07073, 0.06989, 0.06937, 0.06949, 0.07052",\
                 "0.0946, 0.09373, 0.09113, 0.08765, 0.08397, 0.08063, 0.07807, 0.07604, 0.07486, 0.0756",\
                 "0.118, 0.1168, 0.1132, 0.108, 0.1025, 0.09727, 0.0921, 0.08818, 0.08521, 0.08505",\
                 "0.1487, 0.1471, 0.1424, 0.1356, 0.1279, 0.1206, 0.1134, 0.1068, 0.1015, 0.1008",\
                 "0.1869, 0.1851, 0.1794, 0.1709, 0.1611, 0.1512, 0.1418, 0.133, 0.1253, 0.1249",\
                 "0.2332, 0.2311, 0.2246, 0.2145, 0.2025, 0.1901, 0.1779, 0.1669, 0.1579, 0.1605");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02113, 0.02119, 0.02124, 0.02128, 0.02132, 0.02135, 0.02137, 0.02138, 0.0214, 0.0214",\
                 "0.02128, 0.02137, 0.02156, 0.02173, 0.02185, 0.02195, 0.02202, 0.02206, 0.02207, 0.02209",\
                 "0.02213, 0.02217, 0.02227, 0.02237, 0.02245, 0.02252, 0.02258, 0.0226, 0.02261, 0.02263",\
                 "0.02587, 0.02574, 0.02534, 0.02485, 0.02443, 0.02407, 0.0238, 0.0236, 0.02344, 0.02333",\
                 "0.03453, 0.03407, 0.03279, 0.03117, 0.02967, 0.02835, 0.02731, 0.02646, 0.02578, 0.02527",\
                 "0.04916, 0.04831, 0.04588, 0.04269, 0.03952, 0.03676, 0.03441, 0.03245, 0.03085, 0.02958",\
                 "0.07006, 0.06891, 0.06541, 0.06041, 0.05523, 0.05046, 0.04628, 0.04278, 0.03981, 0.03733",\
                 "0.09774, 0.09629, 0.09175, 0.08506, 0.07757, 0.07035, 0.06399, 0.05843, 0.05367, 0.04955",\
                 "0.1325, 0.1307, 0.1252, 0.1169, 0.1071, 0.09729, 0.08826, 0.08035, 0.07329, 0.06718",\
                 "0.1745, 0.1726, 0.1663, 0.1563, 0.1444, 0.1319, 0.12, 0.1091, 0.09958, 0.09105");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0632, 0.06334, 0.06366, 0.06403, 0.0643, 0.0646, 0.06487, 0.06522, 0.06572, 0.06693",\
                 "0.06221, 0.06244, 0.06306, 0.06378, 0.0644, 0.06483, 0.06543, 0.06598, 0.06641, 0.06756",\
                 "0.06248, 0.06255, 0.06277, 0.06323, 0.06395, 0.06463, 0.06517, 0.06578, 0.06623, 0.06812",\
                 "0.06778, 0.06752, 0.06676, 0.06604, 0.06577, 0.06575, 0.06599, 0.06621, 0.06659, 0.0681",\
                 "0.07885, 0.07831, 0.07663, 0.07444, 0.07235, 0.0708, 0.06985, 0.06924, 0.06926, 0.07003",\
                 "0.09628, 0.09537, 0.09266, 0.08908, 0.08522, 0.08166, 0.0788, 0.07669, 0.07516, 0.07583",\
                 "0.1205, 0.1194, 0.1157, 0.1105, 0.1049, 0.09931, 0.09408, 0.08976, 0.0864, 0.08617",\
                 "0.1524, 0.1508, 0.146, 0.1393, 0.1316, 0.1241, 0.1168, 0.1098, 0.1041, 0.103",\
                 "0.192, 0.1901, 0.1844, 0.1758, 0.1663, 0.1562, 0.1468, 0.1377, 0.1297, 0.1289",\
                 "0.2399, 0.2379, 0.2311, 0.221, 0.2092, 0.197, 0.1849, 0.1734, 0.1641, 0.1667");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.05112, 0.05112, 0.05111, 0.05113, 0.05114, 0.05113, 0.05112, 0.05113, 0.05114, 0.0511",\
                 "0.05033, 0.05033, 0.05031, 0.0503, 0.05033, 0.05032, 0.05032, 0.05035, 0.05033, 0.05029",\
                 "0.05012, 0.05011, 0.05005, 0.04998, 0.04995, 0.04991, 0.04985, 0.04984, 0.04982, 0.0498",\
                 "0.05278, 0.05267, 0.05231, 0.05186, 0.05136, 0.05093, 0.05064, 0.05043, 0.05025, 0.0501",\
                 "0.05996, 0.05966, 0.05874, 0.05732, 0.05593, 0.05467, 0.05363, 0.05281, 0.05218, 0.05165",\
                 "0.07321, 0.07264, 0.07084, 0.06812, 0.06519, 0.06253, 0.0602, 0.05826, 0.05669, 0.05544",\
                 "0.09352, 0.09264, 0.08976, 0.08553, 0.08065, 0.0759, 0.07169, 0.06809, 0.0651, 0.06258",\
                 "0.1213, 0.1201, 0.1163, 0.1103, 0.1032, 0.09604, 0.08936, 0.0835, 0.07843, 0.07424",\
                 "0.1572, 0.1557, 0.151, 0.1432, 0.1338, 0.1238, 0.1143, 0.1057, 0.09809, 0.09155",\
                 "0.2014, 0.1996, 0.194, 0.1846, 0.1728, 0.16, 0.1473, 0.1355, 0.1248, 0.1155");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.09451, 0.09462, 0.09492, 0.09525, 0.09558, 0.09594, 0.09622, 0.0966, 0.09719, 0.09876",\
                 "0.09373, 0.09396, 0.09464, 0.09534, 0.09598, 0.09647, 0.09694, 0.09756, 0.09805, 0.09969",\
                 "0.09258, 0.09278, 0.09344, 0.09436, 0.09532, 0.09614, 0.09691, 0.09756, 0.09828, 0.1001",\
                 "0.09568, 0.0956, 0.09548, 0.09561, 0.09598, 0.09647, 0.09711, 0.09765, 0.09838, 0.1003",\
                 "0.1054, 0.1049, 0.1037, 0.1023, 0.1011, 0.1004, 0.1001, 0.1, 0.1002, 0.102",\
                 "0.1227, 0.1218, 0.1193, 0.1159, 0.1128, 0.11, 0.1079, 0.1064, 0.1056, 0.1067",\
                 "0.1479, 0.1467, 0.1429, 0.1375, 0.1319, 0.1267, 0.1223, 0.1186, 0.116, 0.1165",\
                 "0.1813, 0.1798, 0.175, 0.1676, 0.1593, 0.1515, 0.1443, 0.1381, 0.1333, 0.1329",\
                 "0.2233, 0.2214, 0.2156, 0.2066, 0.1957, 0.1847, 0.1748, 0.1657, 0.1581, 0.1578",\
                 "0.2741, 0.2721, 0.2654, 0.2548, 0.2415, 0.2274, 0.2142, 0.202, 0.1926, 0.1941");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04162, 0.04164, 0.04161, 0.04163, 0.04161, 0.04162, 0.04162, 0.04162, 0.04162, 0.04162",\
                 "0.04078, 0.04079, 0.04079, 0.04081, 0.04081, 0.04081, 0.04083, 0.04082, 0.04083, 0.04084",\
                 "0.04067, 0.04064, 0.04057, 0.0405, 0.04043, 0.04041, 0.04036, 0.04034, 0.04032, 0.0403",\
                 "0.04362, 0.04348, 0.04304, 0.04251, 0.04198, 0.0415, 0.04118, 0.04096, 0.04077, 0.04061",\
                 "0.05156, 0.05111, 0.0499, 0.04832, 0.04673, 0.0454, 0.04425, 0.04339, 0.04272, 0.04221",\
                 "0.06568, 0.06498, 0.06285, 0.05971, 0.05644, 0.05349, 0.05101, 0.04897, 0.04734, 0.04605",\
                 "0.08691, 0.08585, 0.08261, 0.07776, 0.07241, 0.06727, 0.06276, 0.05898, 0.05588, 0.05331",\
                 "0.1157, 0.1143, 0.11, 0.1033, 0.09556, 0.08786, 0.08084, 0.07466, 0.06943, 0.06509",\
                 "0.1524, 0.1507, 0.1454, 0.137, 0.1268, 0.1161, 0.1061, 0.09715, 0.08932, 0.08258",\
                 "0.1973, 0.1954, 0.1893, 0.1791, 0.1665, 0.1529, 0.1396, 0.1273, 0.1163, 0.1068");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0843, 0.08443, 0.08469, 0.08499, 0.08536, 0.08565, 0.08599, 0.0864, 0.08695, 0.08836",\
                 "0.08351, 0.08374, 0.0844, 0.0851, 0.08578, 0.08624, 0.08675, 0.08733, 0.08781, 0.08925",\
                 "0.08239, 0.08259, 0.08325, 0.08413, 0.08512, 0.08591, 0.08668, 0.08749, 0.08801, 0.08965",\
                 "0.08549, 0.08538, 0.08525, 0.08537, 0.08578, 0.08628, 0.08688, 0.08756, 0.08815, 0.08989",\
                 "0.09515, 0.09466, 0.09345, 0.09198, 0.09087, 0.0902, 0.08985, 0.08977, 0.09, 0.09156",\
                 "0.1125, 0.1116, 0.1091, 0.1057, 0.1025, 0.09971, 0.09764, 0.09616, 0.09526, 0.0963",\
                 "0.1379, 0.1367, 0.1328, 0.1274, 0.1216, 0.1165, 0.1121, 0.1084, 0.1058, 0.106",\
                 "0.1715, 0.17, 0.1649, 0.1575, 0.1491, 0.1413, 0.1341, 0.1279, 0.123, 0.1222",\
                 "0.2137, 0.2118, 0.2058, 0.1966, 0.1854, 0.1746, 0.1645, 0.1555, 0.1478, 0.1469",\
                 "0.2646, 0.2625, 0.2558, 0.2449, 0.2315, 0.2174, 0.2039, 0.1918, 0.1821, 0.1827");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04159, 0.04159, 0.0416, 0.04159, 0.0416, 0.04161, 0.04163, 0.04162, 0.04162, 0.04164",\
                 "0.04077, 0.04077, 0.04078, 0.04078, 0.04078, 0.04082, 0.04082, 0.04083, 0.04083, 0.04083",\
                 "0.04071, 0.04068, 0.04059, 0.04049, 0.04044, 0.04041, 0.04038, 0.04036, 0.04034, 0.04033",\
                 "0.04379, 0.04368, 0.04322, 0.04263, 0.04207, 0.04161, 0.04127, 0.04102, 0.04082, 0.04066",\
                 "0.05212, 0.05167, 0.05045, 0.04883, 0.04716, 0.04576, 0.04457, 0.04364, 0.04293, 0.04238",\
                 "0.06688, 0.06608, 0.06391, 0.06074, 0.05738, 0.05435, 0.05173, 0.04963, 0.04789, 0.04652",\
                 "0.08887, 0.08783, 0.08457, 0.07957, 0.0741, 0.06882, 0.06418, 0.06022, 0.05697, 0.05429",\
                 "0.1188, 0.1174, 0.113, 0.1062, 0.09833, 0.09039, 0.08314, 0.07679, 0.07141, 0.06684",\
                 "0.1569, 0.1552, 0.1498, 0.1412, 0.1308, 0.12, 0.1097, 0.1004, 0.09234, 0.08536",\
                 "0.2035, 0.2015, 0.1952, 0.1849, 0.172, 0.1582, 0.1447, 0.1321, 0.1208, 0.1109");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.08427, 0.08439, 0.08469, 0.085, 0.08536, 0.08565, 0.08602, 0.08654, 0.08685, 0.08836",\
                 "0.08338, 0.08361, 0.08428, 0.085, 0.08565, 0.08615, 0.08665, 0.08713, 0.08764, 0.08912",\
                 "0.08205, 0.08225, 0.08286, 0.08379, 0.08476, 0.08555, 0.08632, 0.08703, 0.08771, 0.08935",\
                 "0.08537, 0.08529, 0.08506, 0.08506, 0.08539, 0.08588, 0.08649, 0.08703, 0.08779, 0.08949",\
                 "0.09583, 0.09532, 0.09393, 0.09232, 0.09103, 0.09014, 0.08972, 0.08959, 0.08967, 0.09126",\
                 "0.1143, 0.1133, 0.1106, 0.1071, 0.1035, 0.1005, 0.0983, 0.09662, 0.09545, 0.09646",\
                 "0.141, 0.1396, 0.1357, 0.13, 0.1241, 0.1186, 0.1138, 0.1098, 0.1068, 0.1068",\
                 "0.1761, 0.1745, 0.1694, 0.1617, 0.1531, 0.1449, 0.1374, 0.1307, 0.1254, 0.1242",\
                 "0.2201, 0.2181, 0.2121, 0.2027, 0.1914, 0.1802, 0.1697, 0.1603, 0.1522, 0.1507",\
                 "0.2732, 0.2711, 0.2643, 0.2531, 0.2395, 0.2251, 0.2113, 0.1991, 0.1885, 0.1887");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04095, 0.04094, 0.04093, 0.04094, 0.04093, 0.04093, 0.04092, 0.04093, 0.04093, 0.04091",\
                 "0.04009, 0.0401, 0.0401, 0.04013, 0.04012, 0.04014, 0.04012, 0.04013, 0.04015, 0.04011",\
                 "0.03998, 0.03995, 0.03989, 0.0398, 0.03974, 0.03971, 0.03967, 0.03965, 0.03963, 0.03961",\
                 "0.04294, 0.04278, 0.04237, 0.0418, 0.04125, 0.04082, 0.04049, 0.04025, 0.04008, 0.03994",\
                 "0.05088, 0.05048, 0.04928, 0.04767, 0.04607, 0.04471, 0.04358, 0.04271, 0.04201, 0.04151",\
                 "0.06504, 0.06435, 0.06218, 0.05906, 0.05575, 0.05283, 0.05035, 0.04828, 0.04666, 0.04537",\
                 "0.08632, 0.08526, 0.08201, 0.07712, 0.07172, 0.0666, 0.06208, 0.0583, 0.05519, 0.05261",\
                 "0.1151, 0.1137, 0.1094, 0.1027, 0.09494, 0.08721, 0.08012, 0.07396, 0.06877, 0.06441",\
                 "0.1519, 0.1502, 0.1449, 0.1364, 0.1261, 0.1155, 0.1055, 0.09647, 0.08864, 0.08188",\
                 "0.1968, 0.1949, 0.1887, 0.1786, 0.1658, 0.1523, 0.139, 0.1266, 0.1157, 0.1061");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.08413, 0.08428, 0.08456, 0.0849, 0.08519, 0.08552, 0.08586, 0.08627, 0.08678, 0.08826",\
                 "0.08336, 0.08359, 0.08429, 0.085, 0.08562, 0.08621, 0.08662, 0.0871, 0.08768, 0.08912",\
                 "0.08227, 0.08246, 0.08311, 0.08402, 0.08499, 0.08581, 0.08655, 0.0872, 0.08791, 0.08955",\
                 "0.08535, 0.08528, 0.08514, 0.0852, 0.08562, 0.08618, 0.08672, 0.08729, 0.08797, 0.08979",\
                 "0.09501, 0.09452, 0.0933, 0.09186, 0.0907, 0.09004, 0.08972, 0.08964, 0.08983, 0.09149",\
                 "0.1124, 0.1115, 0.1089, 0.1056, 0.1024, 0.09961, 0.09751, 0.09603, 0.09512, 0.09623",\
                 "0.1378, 0.1365, 0.1326, 0.1272, 0.1215, 0.1164, 0.1119, 0.1083, 0.1057, 0.1058",\
                 "0.1714, 0.1698, 0.1648, 0.1573, 0.1489, 0.141, 0.1339, 0.1277, 0.1228, 0.122",\
                 "0.2135, 0.2116, 0.2056, 0.1964, 0.1853, 0.1743, 0.1644, 0.1553, 0.1478, 0.1466",\
                 "0.2645, 0.2624, 0.2556, 0.2446, 0.2313, 0.2172, 0.2036, 0.1916, 0.1818, 0.1826");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03143, 0.03144, 0.03143, 0.03142, 0.03142, 0.03141, 0.03141, 0.03142, 0.03142, 0.03143",\
                 "0.03056, 0.03057, 0.03059, 0.03061, 0.03061, 0.03062, 0.03064, 0.03063, 0.03063, 0.03064",\
                 "0.03054, 0.03049, 0.03039, 0.03031, 0.03024, 0.0302, 0.03017, 0.03014, 0.03014, 0.03013",\
                 "0.03391, 0.0337, 0.03316, 0.03248, 0.03187, 0.03138, 0.03104, 0.03078, 0.0306, 0.03044",\
                 "0.04274, 0.04218, 0.04068, 0.03875, 0.03693, 0.03543, 0.03422, 0.03329, 0.03258, 0.03206",\
                 "0.05793, 0.05704, 0.05444, 0.0508, 0.04707, 0.04384, 0.04117, 0.039, 0.03731, 0.03598",\
                 "0.08029, 0.07903, 0.07517, 0.06961, 0.06358, 0.05801, 0.05321, 0.04921, 0.04598, 0.04333",\
                 "0.1101, 0.1085, 0.1035, 0.09601, 0.08745, 0.07909, 0.07158, 0.06513, 0.05977, 0.05527",\
                 "0.1477, 0.1459, 0.1399, 0.1305, 0.1194, 0.108, 0.09741, 0.08798, 0.07985, 0.07295",\
                 "0.1934, 0.1913, 0.1844, 0.1734, 0.1597, 0.1453, 0.1314, 0.1185, 0.1072, 0.09737");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.07391, 0.07402, 0.07431, 0.0746, 0.07486, 0.07516, 0.07553, 0.07607, 0.07615, 0.07746",\
                 "0.07314, 0.07335, 0.07405, 0.07468, 0.07536, 0.07575, 0.07616, 0.07657, 0.07701, 0.07842",\
                 "0.072, 0.07221, 0.07281, 0.07373, 0.07466, 0.07549, 0.07626, 0.07677, 0.07735, 0.07875",\
                 "0.07512, 0.07504, 0.07491, 0.07493, 0.07532, 0.07582, 0.07632, 0.077, 0.07771, 0.07886",\
                 "0.08476, 0.08429, 0.0831, 0.08165, 0.08047, 0.07968, 0.07926, 0.07924, 0.07936, 0.08065",\
                 "0.1023, 0.1014, 0.09866, 0.09527, 0.09219, 0.08938, 0.08708, 0.08548, 0.08459, 0.08543",\
                 "0.1279, 0.1265, 0.1225, 0.1169, 0.1112, 0.1061, 0.1016, 0.09778, 0.09507, 0.09487",\
                 "0.1617, 0.1601, 0.1549, 0.1472, 0.1386, 0.1308, 0.1238, 0.1174, 0.1121, 0.1109",\
                 "0.204, 0.2021, 0.1959, 0.1864, 0.1752, 0.164, 0.154, 0.145, 0.1375, 0.1355",\
                 "0.2551, 0.2529, 0.246, 0.2349, 0.2212, 0.2068, 0.1932, 0.1813, 0.1714, 0.1713");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03142, 0.03142, 0.03142, 0.03141, 0.03142, 0.03142, 0.03141, 0.03141, 0.03142, 0.03143",\
                 "0.03055, 0.03055, 0.03056, 0.03059, 0.0306, 0.03063, 0.03062, 0.03063, 0.03064, 0.03064",\
                 "0.03056, 0.03052, 0.03042, 0.03032, 0.03025, 0.03021, 0.03018, 0.03015, 0.03014, 0.03013",\
                 "0.03412, 0.0339, 0.03334, 0.03266, 0.03199, 0.03152, 0.03111, 0.03085, 0.03064, 0.03049",\
                 "0.0433, 0.04275, 0.04123, 0.03926, 0.03738, 0.0358, 0.03454, 0.03356, 0.0328, 0.03224",\
                 "0.05914, 0.05826, 0.05551, 0.05184, 0.04802, 0.04465, 0.0419, 0.03967, 0.03788, 0.03645",\
                 "0.08236, 0.08101, 0.07714, 0.07143, 0.06533, 0.05959, 0.05464, 0.05048, 0.04708, 0.04432",\
                 "0.1133, 0.1116, 0.1066, 0.09892, 0.09019, 0.08169, 0.07397, 0.06729, 0.06168, 0.05703",\
                 "0.1523, 0.1503, 0.1442, 0.1347, 0.1234, 0.1118, 0.101, 0.09129, 0.08287, 0.07577",\
                 "0.1996, 0.1974, 0.1904, 0.1792, 0.1653, 0.1507, 0.1365, 0.1234, 0.1117, 0.1015");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0739, 0.07403, 0.07429, 0.07455, 0.07486, 0.07512, 0.07546, 0.07571, 0.07605, 0.07733",\
                 "0.07299, 0.07325, 0.07392, 0.07455, 0.07522, 0.07562, 0.07602, 0.07644, 0.07691, 0.07815",\
                 "0.07167, 0.07189, 0.07247, 0.0734, 0.07433, 0.07516, 0.07576, 0.07644, 0.07722, 0.07845",\
                 "0.0751, 0.07491, 0.07472, 0.07464, 0.07493, 0.07539, 0.07599, 0.07654, 0.07722, 0.07882",\
                 "0.08547, 0.08496, 0.08359, 0.08197, 0.08057, 0.07968, 0.07913, 0.07898, 0.07906, 0.08026",\
                 "0.104, 0.1031, 0.1002, 0.09666, 0.09324, 0.09014, 0.08754, 0.08588, 0.08478, 0.08559",\
                 "0.1309, 0.1295, 0.1255, 0.1197, 0.1137, 0.1082, 0.1033, 0.09923, 0.09609, 0.0957",\
                 "0.1663, 0.1646, 0.1592, 0.1515, 0.1428, 0.1345, 0.1271, 0.1203, 0.1146, 0.1131",\
                 "0.2104, 0.2084, 0.2022, 0.1925, 0.1812, 0.1697, 0.1593, 0.1497, 0.1416, 0.1393",\
                 "0.2638, 0.2616, 0.2544, 0.2431, 0.2292, 0.2147, 0.2008, 0.1883, 0.178, 0.1773");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04091, 0.04092, 0.04092, 0.04093, 0.04091, 0.04093, 0.04093, 0.04093, 0.04092, 0.04095",\
                 "0.04012, 0.0401, 0.0401, 0.04011, 0.04013, 0.04011, 0.04012, 0.04016, 0.04016, 0.04017",\
                 "0.04006, 0.04003, 0.03992, 0.03983, 0.03977, 0.03972, 0.0397, 0.03966, 0.03965, 0.03964",\
                 "0.0432, 0.04304, 0.0426, 0.042, 0.04143, 0.04098, 0.0406, 0.04034, 0.04014, 0.04",\
                 "0.05158, 0.05113, 0.04992, 0.04824, 0.04656, 0.04515, 0.04396, 0.04301, 0.0423, 0.04175",\
                 "0.06639, 0.06565, 0.06343, 0.06022, 0.05685, 0.05375, 0.05116, 0.04903, 0.04729, 0.04589",\
                 "0.08852, 0.08746, 0.08415, 0.07912, 0.07358, 0.0683, 0.06362, 0.05968, 0.05638, 0.05369",\
                 "0.1185, 0.1171, 0.1126, 0.1058, 0.09784, 0.08994, 0.0826, 0.07623, 0.07084, 0.06627",\
                 "0.1566, 0.1549, 0.1495, 0.1408, 0.1304, 0.1195, 0.1093, 0.09992, 0.09175, 0.0848",\
                 "0.2032, 0.2013, 0.1949, 0.1846, 0.1717, 0.1579, 0.1443, 0.1316, 0.1203, 0.1103");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.08402, 0.08411, 0.08442, 0.0847, 0.08506, 0.08545, 0.08579, 0.08614, 0.08665, 0.08806",\
                 "0.08309, 0.08331, 0.08393, 0.08465, 0.08529, 0.08578, 0.08635, 0.0869, 0.08731, 0.08875",\
                 "0.08192, 0.08212, 0.08269, 0.08358, 0.08453, 0.08545, 0.08612, 0.0868, 0.08748, 0.08919",\
                 "0.0853, 0.08518, 0.08497, 0.08495, 0.08526, 0.08572, 0.08639, 0.08686, 0.08751, 0.08936",\
                 "0.09567, 0.09517, 0.09389, 0.09215, 0.0909, 0.09004, 0.08952, 0.08937, 0.08957, 0.09109",\
                 "0.1141, 0.1132, 0.1105, 0.107, 0.1035, 0.1004, 0.09807, 0.09633, 0.09529, 0.09623",\
                 "0.1407, 0.1394, 0.1355, 0.1299, 0.1239, 0.1185, 0.1137, 0.1097, 0.1067, 0.1068",\
                 "0.1759, 0.1742, 0.1692, 0.1615, 0.153, 0.1447, 0.1372, 0.1305, 0.1251, 0.124",\
                 "0.2198, 0.2179, 0.2118, 0.2024, 0.1913, 0.18, 0.1695, 0.1601, 0.1519, 0.1504",\
                 "0.273, 0.2708, 0.2639, 0.253, 0.2393, 0.2249, 0.2111, 0.1987, 0.1884, 0.1886");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03141, 0.03141, 0.03141, 0.03141, 0.03143, 0.03142, 0.03142, 0.03143, 0.03143, 0.03144",\
                 "0.03057, 0.03058, 0.0306, 0.03059, 0.0306, 0.0306, 0.03063, 0.03064, 0.03065, 0.03065",\
                 "0.03063, 0.03057, 0.03045, 0.03035, 0.03027, 0.03023, 0.03019, 0.03016, 0.03014, 0.03013",\
                 "0.0342, 0.03397, 0.03339, 0.0327, 0.03205, 0.03152, 0.03114, 0.03086, 0.03065, 0.03051",\
                 "0.04342, 0.0429, 0.04137, 0.03939, 0.0375, 0.03587, 0.03461, 0.03362, 0.03287, 0.0323",\
                 "0.05934, 0.0584, 0.05573, 0.05199, 0.04816, 0.0448, 0.04199, 0.03976, 0.03795, 0.03652",\
                 "0.08257, 0.08128, 0.07735, 0.07163, 0.06552, 0.05974, 0.05474, 0.05058, 0.04718, 0.04439",\
                 "0.1135, 0.1119, 0.1068, 0.09912, 0.09037, 0.08186, 0.07412, 0.06744, 0.06185, 0.05714",\
                 "0.1525, 0.1506, 0.1445, 0.1349, 0.1236, 0.112, 0.1012, 0.09146, 0.08305, 0.07588",\
                 "0.1999, 0.1977, 0.1907, 0.1795, 0.1656, 0.151, 0.1367, 0.1236, 0.1119, 0.1017");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.07375, 0.07388, 0.07417, 0.07441, 0.07473, 0.07499, 0.07527, 0.07558, 0.07605, 0.07733",\
                 "0.07284, 0.07308, 0.07367, 0.07438, 0.07496, 0.07539, 0.07579, 0.07617, 0.07674, 0.07806",\
                 "0.07166, 0.07185, 0.07244, 0.07328, 0.0742, 0.07516, 0.07569, 0.07634, 0.07698, 0.07836",\
                 "0.07508, 0.07497, 0.07473, 0.07467, 0.0749, 0.07542, 0.07589, 0.07657, 0.07728, 0.0785",\
                 "0.08545, 0.08496, 0.08368, 0.08201, 0.0806, 0.07961, 0.07913, 0.07895, 0.07906, 0.08035",\
                 "0.104, 0.1031, 0.1003, 0.09668, 0.09324, 0.0902, 0.08767, 0.08578, 0.08465, 0.08552",\
                 "0.1308, 0.1295, 0.1255, 0.1196, 0.1136, 0.1084, 0.1034, 0.09923, 0.09609, 0.09603",\
                 "0.1662, 0.1645, 0.1592, 0.1514, 0.1427, 0.1344, 0.127, 0.1203, 0.1146, 0.1131",\
                 "0.2103, 0.2083, 0.2021, 0.1925, 0.1811, 0.1697, 0.1593, 0.1498, 0.1418, 0.1391",\
                 "0.2636, 0.2614, 0.2543, 0.2429, 0.2291, 0.2147, 0.2008, 0.1885, 0.1779, 0.1772");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03138, 0.03138, 0.03139, 0.0314, 0.0314, 0.03142, 0.03143, 0.03142, 0.03143, 0.03143",\
                 "0.03059, 0.03056, 0.03058, 0.03059, 0.03059, 0.03061, 0.03063, 0.03064, 0.03065, 0.03066",\
                 "0.03066, 0.0306, 0.03049, 0.03038, 0.03029, 0.03024, 0.0302, 0.03018, 0.03016, 0.03014",\
                 "0.03443, 0.03423, 0.03361, 0.03288, 0.03219, 0.03163, 0.03123, 0.03095, 0.03071, 0.03056",\
                 "0.04411, 0.04356, 0.04199, 0.03991, 0.03796, 0.03631, 0.03498, 0.03391, 0.03312, 0.03249",\
                 "0.06071, 0.05974, 0.05704, 0.05324, 0.0493, 0.04578, 0.04287, 0.04054, 0.03864, 0.0371",\
                 "0.08486, 0.08353, 0.07953, 0.07379, 0.0675, 0.06158, 0.05642, 0.05209, 0.04854, 0.04561",\
                 "0.117, 0.1153, 0.1102, 0.1024, 0.09355, 0.08479, 0.07686, 0.07, 0.06413, 0.05917",\
                 "0.1574, 0.1556, 0.1494, 0.1397, 0.1282, 0.1164, 0.1053, 0.09534, 0.08663, 0.07905",\
                 "0.2066, 0.2045, 0.1973, 0.186, 0.1719, 0.157, 0.1425, 0.1291, 0.1171, 0.1064");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.07374, 0.07387, 0.07416, 0.07439, 0.0747, 0.07496, 0.0753, 0.07591, 0.07595, 0.07719",\
                 "0.07267, 0.0729, 0.07352, 0.07418, 0.07476, 0.07526, 0.07566, 0.07601, 0.07649, 0.07776",\
                 "0.07131, 0.07148, 0.07202, 0.0729, 0.07377, 0.07469, 0.07537, 0.07584, 0.07652, 0.07783",\
                 "0.07501, 0.0749, 0.07454, 0.07434, 0.07453, 0.07489, 0.0755, 0.07614, 0.07649, 0.07803",\
                 "0.08629, 0.08576, 0.08426, 0.08246, 0.08084, 0.07964, 0.079, 0.07868, 0.07883, 0.08006",\
                 "0.1059, 0.105, 0.102, 0.09826, 0.09456, 0.09113, 0.0883, 0.0863, 0.08492, 0.08579",\
                 "0.1342, 0.1328, 0.1286, 0.1228, 0.1164, 0.1106, 0.1053, 0.1009, 0.09745, 0.09682",\
                 "0.1711, 0.1694, 0.1641, 0.1561, 0.1473, 0.1388, 0.1308, 0.1236, 0.1174, 0.1155",\
                 "0.2173, 0.2153, 0.209, 0.1991, 0.1877, 0.1762, 0.1653, 0.1553, 0.1467, 0.1437",\
                 "0.2731, 0.2708, 0.2636, 0.2521, 0.2381, 0.2235, 0.2093, 0.1965, 0.1855, 0.1843");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04167, 0.04169, 0.04175, 0.04181, 0.04186, 0.04192, 0.04193, 0.04195, 0.04196, 0.04193",\
                 "0.04193, 0.04198, 0.04211, 0.04227, 0.0424, 0.04247, 0.04254, 0.04258, 0.04263, 0.04261",\
                 "0.04148, 0.04157, 0.04182, 0.04211, 0.04243, 0.04264, 0.04279, 0.04288, 0.04297, 0.04299",\
                 "0.04219, 0.04221, 0.04235, 0.04256, 0.04272, 0.04288, 0.04299, 0.04311, 0.04316, 0.04321",\
                 "0.04669, 0.04657, 0.04627, 0.04587, 0.0455, 0.04516, 0.04484, 0.04458, 0.04435, 0.0442",\
                 "0.05672, 0.05636, 0.05536, 0.05396, 0.05243, 0.05104, 0.04984, 0.04878, 0.04789, 0.04716",\
                 "0.07309, 0.07243, 0.07057, 0.06778, 0.06474, 0.06181, 0.05915, 0.05683, 0.05488, 0.05319",\
                 "0.09641, 0.09555, 0.09263, 0.0883, 0.08328, 0.07841, 0.07387, 0.06984, 0.06631, 0.0633",\
                 "0.127, 0.1258, 0.122, 0.1161, 0.109, 0.1016, 0.09489, 0.08868, 0.0832, 0.07833",\
                 "0.165, 0.1636, 0.159, 0.1514, 0.1422, 0.1323, 0.1229, 0.1142, 0.1063, 0.09924");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1267, 0.1268, 0.1268, 0.127, 0.1271, 0.1274, 0.1277, 0.1281, 0.1288, 0.1302",\
                 "0.1261, 0.1262, 0.1263, 0.1266, 0.1269, 0.1272, 0.1276, 0.1279, 0.1285, 0.1301",\
                 "0.1255, 0.1255, 0.1257, 0.126, 0.1264, 0.1269, 0.1273, 0.1278, 0.1285, 0.1304",\
                 "0.1288, 0.1286, 0.1282, 0.1279, 0.1277, 0.1278, 0.1279, 0.1282, 0.1287, 0.1305",\
                 "0.1379, 0.1375, 0.1362, 0.1346, 0.1331, 0.1319, 0.1311, 0.1307, 0.1309, 0.1326",\
                 "0.1534, 0.1527, 0.1506, 0.1476, 0.1443, 0.1413, 0.1389, 0.137, 0.136, 0.1373",\
                 "0.1757, 0.1747, 0.1718, 0.1673, 0.1622, 0.1569, 0.1524, 0.1487, 0.1461, 0.147",\
                 "0.2053, 0.2041, 0.2003, 0.1943, 0.1873, 0.1799, 0.1728, 0.1667, 0.162, 0.1626",\
                 "0.2424, 0.241, 0.2366, 0.2293, 0.2201, 0.2104, 0.201, 0.1921, 0.1851, 0.1868",\
                 "0.2875, 0.2859, 0.2809, 0.2724, 0.2614, 0.2492, 0.2372, 0.2256, 0.2175, 0.2239");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03212, 0.03218, 0.03223, 0.03232, 0.03237, 0.03239, 0.03242, 0.03244, 0.03245, 0.03243",\
                 "0.0323, 0.03236, 0.03253, 0.03272, 0.03289, 0.03298, 0.03304, 0.03309, 0.03311, 0.03312",\
                 "0.03166, 0.03178, 0.03211, 0.0325, 0.03285, 0.0331, 0.03327, 0.03337, 0.03347, 0.0335",\
                 "0.03248, 0.03253, 0.0327, 0.03294, 0.03315, 0.03333, 0.03347, 0.03359, 0.03366, 0.0337",\
                 "0.0375, 0.0374, 0.03699, 0.0365, 0.03606, 0.03572, 0.03537, 0.03511, 0.03488, 0.03471",\
                 "0.04829, 0.04786, 0.0466, 0.04499, 0.0433, 0.04178, 0.0405, 0.0394, 0.03848, 0.03773",\
                 "0.06553, 0.0648, 0.06257, 0.05937, 0.05598, 0.05282, 0.05002, 0.0476, 0.04558, 0.04385",\
                 "0.08975, 0.08873, 0.08545, 0.08053, 0.07507, 0.0698, 0.06501, 0.0608, 0.05716, 0.05405",\
                 "0.1212, 0.1198, 0.1156, 0.109, 0.1013, 0.09349, 0.08633, 0.07988, 0.07422, 0.06926",\
                 "0.16, 0.1584, 0.1533, 0.145, 0.135, 0.1246, 0.1147, 0.1057, 0.09753, 0.09034");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1165, 0.1165, 0.1166, 0.1167, 0.1169, 0.1172, 0.1175, 0.1179, 0.1185, 0.1201",\
                 "0.1159, 0.116, 0.1161, 0.1164, 0.1167, 0.117, 0.1173, 0.1178, 0.1184, 0.12",\
                 "0.1152, 0.1153, 0.1155, 0.1158, 0.1162, 0.1166, 0.1171, 0.1176, 0.1182, 0.1199",\
                 "0.1186, 0.1184, 0.118, 0.1177, 0.1175, 0.1175, 0.1177, 0.118, 0.1186, 0.1204",\
                 "0.1277, 0.1273, 0.126, 0.1244, 0.1229, 0.1217, 0.1209, 0.1206, 0.1206, 0.122",\
                 "0.1432, 0.1425, 0.1405, 0.1374, 0.1341, 0.1311, 0.1287, 0.1268, 0.1257, 0.127",\
                 "0.1655, 0.1646, 0.1616, 0.1571, 0.1519, 0.1467, 0.1422, 0.1385, 0.1358, 0.1363",\
                 "0.1951, 0.1939, 0.1902, 0.1842, 0.177, 0.1697, 0.1627, 0.1564, 0.1516, 0.1519",\
                 "0.2323, 0.2309, 0.2265, 0.2191, 0.2099, 0.2003, 0.1908, 0.1818, 0.1745, 0.1757",\
                 "0.2774, 0.2758, 0.2708, 0.2623, 0.2513, 0.2391, 0.227, 0.2153, 0.2067, 0.2122");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03214, 0.03216, 0.03222, 0.03231, 0.03238, 0.0324, 0.03243, 0.03245, 0.03246, 0.03245",\
                 "0.03229, 0.03235, 0.03254, 0.03273, 0.03289, 0.03298, 0.03303, 0.03309, 0.03312, 0.03313",\
                 "0.03175, 0.03185, 0.03216, 0.03255, 0.03287, 0.03314, 0.03328, 0.03338, 0.03346, 0.03352",\
                 "0.03281, 0.03288, 0.03299, 0.0332, 0.03337, 0.0335, 0.0336, 0.03367, 0.03372, 0.03376",\
                 "0.03826, 0.03815, 0.03771, 0.03715, 0.03667, 0.0362, 0.03582, 0.03547, 0.03519, 0.03497",\
                 "0.04966, 0.0492, 0.04791, 0.04619, 0.04438, 0.04279, 0.04139, 0.04018, 0.03918, 0.03834",\
                 "0.06757, 0.06687, 0.06461, 0.06134, 0.05782, 0.05451, 0.05158, 0.04903, 0.04686, 0.04504",\
                 "0.09265, 0.09164, 0.08839, 0.08341, 0.0778, 0.07236, 0.06743, 0.06307, 0.05927, 0.056",\
                 "0.1251, 0.1238, 0.1195, 0.113, 0.1052, 0.09722, 0.08983, 0.08323, 0.07737, 0.07222",\
                 "0.1652, 0.1636, 0.1585, 0.1502, 0.1403, 0.1297, 0.1195, 0.1103, 0.1019, 0.09455");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1163, 0.1163, 0.1163, 0.1165, 0.1167, 0.1169, 0.1173, 0.1177, 0.1182, 0.1199",\
                 "0.1153, 0.1154, 0.1155, 0.1158, 0.1161, 0.1164, 0.1168, 0.1172, 0.1178, 0.1193",\
                 "0.1147, 0.1147, 0.1149, 0.1151, 0.1155, 0.1159, 0.1163, 0.1168, 0.1174, 0.1192",\
                 "0.1186, 0.1184, 0.1179, 0.1174, 0.1171, 0.1171, 0.1172, 0.1174, 0.1179, 0.1196",\
                 "0.1285, 0.128, 0.1267, 0.1248, 0.1231, 0.1218, 0.1208, 0.1203, 0.1201, 0.1217",\
                 "0.1448, 0.1441, 0.142, 0.1389, 0.1352, 0.1319, 0.1293, 0.1272, 0.1259, 0.1271",\
                 "0.1681, 0.1672, 0.1642, 0.1596, 0.1542, 0.1488, 0.1439, 0.1398, 0.1366, 0.137",\
                 "0.1989, 0.1977, 0.1939, 0.1879, 0.1806, 0.1731, 0.1658, 0.159, 0.1536, 0.1538",\
                 "0.2375, 0.2361, 0.2317, 0.2242, 0.2152, 0.2052, 0.1955, 0.1862, 0.1786, 0.1795",\
                 "0.2843, 0.2828, 0.2777, 0.2693, 0.2583, 0.2461, 0.2337, 0.2218, 0.2127, 0.2175");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03063, 0.03064, 0.03072, 0.03079, 0.03084, 0.03088, 0.0309, 0.03092, 0.03093, 0.03092",\
                 "0.03075, 0.03084, 0.03101, 0.0312, 0.03135, 0.03145, 0.03151, 0.03157, 0.03159, 0.0316",\
                 "0.03011, 0.03024, 0.03059, 0.03098, 0.03132, 0.03157, 0.03174, 0.03185, 0.03193, 0.03197",\
                 "0.03092, 0.03099, 0.03114, 0.03141, 0.03161, 0.03181, 0.03195, 0.03205, 0.03213, 0.03218",\
                 "0.03602, 0.03589, 0.03546, 0.03497, 0.03456, 0.03419, 0.03385, 0.03357, 0.03336, 0.03319",\
                 "0.04686, 0.04642, 0.04513, 0.0435, 0.04181, 0.04027, 0.039, 0.03789, 0.03697, 0.03622",\
                 "0.06416, 0.06343, 0.06117, 0.05794, 0.05452, 0.05134, 0.04853, 0.0461, 0.04407, 0.04234",\
                 "0.08847, 0.08743, 0.08408, 0.07916, 0.07364, 0.06836, 0.06354, 0.05931, 0.05566, 0.05255",\
                 "0.12, 0.1187, 0.1143, 0.1077, 0.09992, 0.09207, 0.08485, 0.07842, 0.07276, 0.06778",\
                 "0.1588, 0.1573, 0.1521, 0.1438, 0.1337, 0.1233, 0.1133, 0.1042, 0.09609, 0.08889");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1164, 0.1164, 0.1164, 0.1166, 0.1168, 0.117, 0.1174, 0.1178, 0.1184, 0.1199",\
                 "0.1157, 0.1158, 0.116, 0.1162, 0.1165, 0.1169, 0.1172, 0.1177, 0.1182, 0.1199",\
                 "0.1151, 0.1152, 0.1153, 0.1156, 0.116, 0.1165, 0.1169, 0.1174, 0.118, 0.1198",\
                 "0.1184, 0.1182, 0.1179, 0.1175, 0.1173, 0.1173, 0.1176, 0.1179, 0.1184, 0.1201",\
                 "0.1276, 0.1271, 0.1259, 0.1242, 0.1227, 0.1216, 0.1208, 0.1204, 0.1205, 0.1219",\
                 "0.143, 0.1424, 0.1403, 0.1372, 0.1339, 0.1309, 0.1285, 0.1267, 0.1254, 0.1267",\
                 "0.1653, 0.1644, 0.1614, 0.1569, 0.1518, 0.1466, 0.142, 0.1384, 0.1353, 0.1359",\
                 "0.195, 0.1938, 0.19, 0.184, 0.1768, 0.1695, 0.1626, 0.1563, 0.1514, 0.1515",\
                 "0.2322, 0.2308, 0.2264, 0.219, 0.2098, 0.2001, 0.1907, 0.1818, 0.1747, 0.1755",\
                 "0.2773, 0.2757, 0.2707, 0.2622, 0.2511, 0.2389, 0.2268, 0.2151, 0.2066, 0.2117");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02114, 0.02116, 0.02121, 0.02128, 0.02134, 0.02136, 0.0214, 0.02141, 0.02141, 0.02142",\
                 "0.02105, 0.02117, 0.02143, 0.02168, 0.02183, 0.02193, 0.02199, 0.02204, 0.02208, 0.0221",\
                 "0.02016, 0.02032, 0.02079, 0.02133, 0.02173, 0.02203, 0.02222, 0.02234, 0.02243, 0.02249",\
                 "0.02115, 0.02123, 0.02146, 0.02177, 0.02207, 0.02227, 0.02243, 0.02253, 0.02262, 0.02267",\
                 "0.02693, 0.02675, 0.02623, 0.02562, 0.02515, 0.02475, 0.0244, 0.02412, 0.02389, 0.02371",\
                 "0.03866, 0.03812, 0.03657, 0.03459, 0.03269, 0.03103, 0.02966, 0.02851, 0.02756, 0.02679",\
                 "0.05702, 0.05613, 0.05342, 0.04966, 0.04588, 0.0424, 0.03941, 0.03688, 0.03477, 0.033",\
                 "0.08227, 0.08108, 0.07724, 0.07163, 0.06549, 0.0598, 0.05471, 0.0503, 0.04653, 0.04333",\
                 "0.1148, 0.1132, 0.1083, 0.1008, 0.0924, 0.08395, 0.07636, 0.06967, 0.06381, 0.0587",\
                 "0.1544, 0.1526, 0.1468, 0.1377, 0.1268, 0.1157, 0.1051, 0.09577, 0.08736, 0.08001");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1061, 0.1062, 0.1062, 0.1064, 0.1066, 0.1069, 0.1072, 0.1073, 0.1079, 0.1093",\
                 "0.1055, 0.1056, 0.1057, 0.106, 0.1063, 0.1067, 0.1069, 0.1076, 0.1078, 0.1097",\
                 "0.1049, 0.1049, 0.1051, 0.1054, 0.1058, 0.1063, 0.1067, 0.1073, 0.1077, 0.1092",\
                 "0.1082, 0.108, 0.1076, 0.1073, 0.1072, 0.1071, 0.1073, 0.1077, 0.108, 0.1096",\
                 "0.1174, 0.1169, 0.1157, 0.114, 0.1125, 0.1113, 0.1106, 0.1104, 0.1101, 0.1115",\
                 "0.1328, 0.1322, 0.13, 0.127, 0.1237, 0.1206, 0.1183, 0.1164, 0.1155, 0.1163",\
                 "0.1552, 0.1543, 0.1513, 0.1467, 0.1415, 0.1363, 0.1318, 0.1279, 0.1252, 0.1255",\
                 "0.1849, 0.1837, 0.1799, 0.1738, 0.1666, 0.1593, 0.1523, 0.1461, 0.141, 0.1407",\
                 "0.2221, 0.2207, 0.2162, 0.2088, 0.1996, 0.1898, 0.1804, 0.1714, 0.1643, 0.1643",\
                 "0.2672, 0.2657, 0.2606, 0.2521, 0.2412, 0.2286, 0.2166, 0.2049, 0.1961, 0.2003");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0211, 0.02117, 0.02122, 0.02127, 0.02133, 0.02136, 0.02139, 0.02141, 0.02141, 0.02143",\
                 "0.02107, 0.02118, 0.02143, 0.02167, 0.02182, 0.02193, 0.022, 0.02204, 0.02208, 0.0221",\
                 "0.02024, 0.0204, 0.02086, 0.02136, 0.02177, 0.02204, 0.02223, 0.02235, 0.02243, 0.02248",\
                 "0.02151, 0.02156, 0.02177, 0.02203, 0.02227, 0.02244, 0.02255, 0.02262, 0.02268, 0.02273",\
                 "0.02774, 0.02752, 0.02696, 0.0263, 0.02576, 0.02525, 0.02484, 0.02447, 0.02419, 0.02397",\
                 "0.04007, 0.0395, 0.03789, 0.03583, 0.0338, 0.03205, 0.03056, 0.02929, 0.02826, 0.0274",\
                 "0.05906, 0.05815, 0.05546, 0.05165, 0.04768, 0.04411, 0.04099, 0.03833, 0.03607, 0.03417",\
                 "0.08517, 0.08395, 0.08015, 0.07455, 0.06826, 0.06242, 0.05714, 0.05258, 0.04864, 0.04528",\
                 "0.1186, 0.1171, 0.1122, 0.1048, 0.09627, 0.08772, 0.07992, 0.07301, 0.06695, 0.06166",\
                 "0.1596, 0.1577, 0.152, 0.1429, 0.132, 0.1207, 0.1101, 0.1004, 0.09179, 0.08419");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1059, 0.1059, 0.106, 0.1061, 0.1063, 0.1066, 0.1068, 0.1072, 0.1081, 0.1091",\
                 "0.1049, 0.105, 0.1052, 0.1054, 0.1057, 0.106, 0.1064, 0.107, 0.1072, 0.1085",\
                 "0.1043, 0.1043, 0.1045, 0.1047, 0.1051, 0.1055, 0.106, 0.1066, 0.1071, 0.1083",\
                 "0.1082, 0.108, 0.1075, 0.107, 0.1067, 0.1066, 0.1068, 0.107, 0.1073, 0.1089",\
                 "0.1181, 0.1177, 0.1164, 0.1145, 0.1127, 0.1113, 0.1105, 0.11, 0.1097, 0.1108",\
                 "0.1345, 0.1338, 0.1316, 0.1284, 0.1248, 0.1215, 0.1188, 0.1168, 0.1155, 0.1162",\
                 "0.1578, 0.1569, 0.1539, 0.1492, 0.1438, 0.1385, 0.1335, 0.1292, 0.1263, 0.1261",\
                 "0.1887, 0.1875, 0.1837, 0.1776, 0.1703, 0.1627, 0.1553, 0.1486, 0.1434, 0.1427",\
                 "0.2273, 0.2259, 0.2214, 0.214, 0.2048, 0.1948, 0.1852, 0.176, 0.1682, 0.1676",\
                 "0.2741, 0.2726, 0.2675, 0.259, 0.248, 0.2357, 0.2232, 0.2114, 0.2018, 0.2057");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03062, 0.03067, 0.03071, 0.03079, 0.03083, 0.03087, 0.03091, 0.03092, 0.03093, 0.03092",\
                 "0.03079, 0.03084, 0.03103, 0.03123, 0.03135, 0.03144, 0.03151, 0.03155, 0.03159, 0.03161",\
                 "0.03021, 0.03034, 0.03062, 0.03102, 0.03134, 0.03158, 0.03175, 0.03185, 0.03194, 0.03199",\
                 "0.03125, 0.0313, 0.03143, 0.03165, 0.03182, 0.03195, 0.03208, 0.03214, 0.03219, 0.03222",\
                 "0.03666, 0.03647, 0.03605, 0.0355, 0.03504, 0.03458, 0.03418, 0.03385, 0.03359, 0.03335",\
                 "0.04777, 0.04729, 0.04599, 0.04429, 0.04251, 0.04088, 0.03949, 0.03834, 0.03734, 0.03655",\
                 "0.06534, 0.06456, 0.06229, 0.05901, 0.05551, 0.05222, 0.04929, 0.0468, 0.04466, 0.04286",\
                 "0.08987, 0.08879, 0.0855, 0.08049, 0.0749, 0.06951, 0.06456, 0.06026, 0.05653, 0.0533",\
                 "0.1215, 0.1202, 0.1159, 0.1093, 0.1014, 0.0935, 0.08619, 0.07964, 0.07383, 0.06876",\
                 "0.1607, 0.1591, 0.1538, 0.1456, 0.1355, 0.125, 0.1148, 0.1057, 0.09746, 0.09016");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1253, 0.1253, 0.1254, 0.1255, 0.1257, 0.126, 0.1263, 0.1268, 0.1273, 0.1287",\
                 "0.1248, 0.1249, 0.1251, 0.1254, 0.1257, 0.1261, 0.1265, 0.1268, 0.1275, 0.1292",\
                 "0.1241, 0.1242, 0.1244, 0.1248, 0.1253, 0.1257, 0.1261, 0.1268, 0.1273, 0.1289",\
                 "0.1274, 0.1273, 0.1269, 0.1267, 0.1266, 0.1266, 0.1268, 0.1272, 0.1278, 0.1294",\
                 "0.1364, 0.136, 0.1349, 0.1335, 0.132, 0.1309, 0.1302, 0.1299, 0.1299, 0.1317",\
                 "0.1517, 0.1512, 0.1493, 0.1465, 0.1434, 0.1405, 0.1382, 0.1365, 0.1352, 0.1367",\
                 "0.1739, 0.1731, 0.1704, 0.1663, 0.1615, 0.1566, 0.1522, 0.1485, 0.1457, 0.1464",\
                 "0.2034, 0.2023, 0.199, 0.1934, 0.1868, 0.1799, 0.1731, 0.1671, 0.1622, 0.1623",\
                 "0.2406, 0.2393, 0.2352, 0.2284, 0.22, 0.2108, 0.2017, 0.1931, 0.1863, 0.1873",\
                 "0.2856, 0.2842, 0.2795, 0.2715, 0.2614, 0.2499, 0.2386, 0.2274, 0.2189, 0.2247");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02111, 0.02115, 0.02121, 0.02129, 0.02134, 0.02137, 0.02139, 0.0214, 0.02141, 0.02142",\
                 "0.02107, 0.02117, 0.02144, 0.02168, 0.02184, 0.02193, 0.02199, 0.02204, 0.02208, 0.0221",\
                 "0.02026, 0.02044, 0.02086, 0.02137, 0.02177, 0.02203, 0.02223, 0.02233, 0.02243, 0.02249",\
                 "0.02152, 0.02157, 0.02176, 0.02202, 0.02226, 0.02243, 0.02256, 0.02264, 0.02268, 0.02272",\
                 "0.02756, 0.02737, 0.02682, 0.02619, 0.02562, 0.02514, 0.02474, 0.02438, 0.02411, 0.02387",\
                 "0.03958, 0.03904, 0.03746, 0.03543, 0.03342, 0.03167, 0.03019, 0.02896, 0.02795, 0.02712",\
                 "0.05821, 0.05729, 0.05456, 0.05078, 0.04688, 0.04328, 0.04019, 0.03759, 0.03536, 0.03352",\
                 "0.08368, 0.08248, 0.07861, 0.07298, 0.0668, 0.06092, 0.05577, 0.05124, 0.04738, 0.04409",\
                 "0.1163, 0.1147, 0.1099, 0.1025, 0.0939, 0.08543, 0.07768, 0.07088, 0.0649, 0.05969",\
                 "0.1562, 0.1544, 0.1486, 0.1394, 0.1286, 0.1174, 0.1068, 0.09726, 0.08873, 0.08127");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1151, 0.1151, 0.1152, 0.1153, 0.1156, 0.1157, 0.116, 0.1165, 0.1169, 0.1184",\
                 "0.1146, 0.1147, 0.1149, 0.1152, 0.1155, 0.1158, 0.1163, 0.1169, 0.1171, 0.1187",\
                 "0.1139, 0.114, 0.1142, 0.1145, 0.115, 0.1156, 0.116, 0.1167, 0.1171, 0.1188",\
                 "0.1172, 0.117, 0.1167, 0.1164, 0.1163, 0.1164, 0.1167, 0.1169, 0.1174, 0.1195",\
                 "0.1262, 0.1258, 0.1248, 0.1233, 0.1219, 0.1207, 0.12, 0.1197, 0.1198, 0.1209",\
                 "0.1415, 0.141, 0.1391, 0.1363, 0.1332, 0.1302, 0.1279, 0.1263, 0.1251, 0.1261",\
                 "0.1638, 0.163, 0.1603, 0.1561, 0.1513, 0.1464, 0.142, 0.1381, 0.1353, 0.1355",\
                 "0.1933, 0.1923, 0.1888, 0.1832, 0.1766, 0.1698, 0.163, 0.1569, 0.1518, 0.1517",\
                 "0.2305, 0.2292, 0.2251, 0.2183, 0.2098, 0.2006, 0.1916, 0.1828, 0.1758, 0.1762",\
                 "0.2756, 0.2741, 0.2694, 0.2615, 0.2513, 0.2398, 0.2282, 0.2172, 0.2086, 0.213");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02111, 0.02113, 0.02121, 0.02127, 0.02133, 0.02136, 0.02139, 0.0214, 0.02142, 0.02142",\
                 "0.02106, 0.02117, 0.02143, 0.02167, 0.02182, 0.02193, 0.022, 0.02204, 0.02208, 0.02209",\
                 "0.02034, 0.02051, 0.02094, 0.02139, 0.0218, 0.02207, 0.02223, 0.02235, 0.02242, 0.02248",\
                 "0.0219, 0.02194, 0.0221, 0.02231, 0.0225, 0.0226, 0.02267, 0.02273, 0.02278, 0.02279",\
                 "0.02841, 0.02819, 0.02759, 0.02689, 0.02623, 0.02566, 0.02517, 0.02475, 0.02442, 0.02416",\
                 "0.04098, 0.04048, 0.03879, 0.0367, 0.03459, 0.03271, 0.03113, 0.02979, 0.02871, 0.02779",\
                 "0.06028, 0.05935, 0.05662, 0.05283, 0.04875, 0.04506, 0.04182, 0.03907, 0.03673, 0.03474",\
                 "0.08664, 0.08538, 0.08157, 0.07593, 0.06965, 0.06361, 0.05828, 0.05356, 0.04956, 0.04609",\
                 "0.1203, 0.1187, 0.1139, 0.1065, 0.09786, 0.08927, 0.08132, 0.07432, 0.06816, 0.06274",\
                 "0.1615, 0.1597, 0.1539, 0.1447, 0.1339, 0.1226, 0.1118, 0.102, 0.09331, 0.08558");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1148, 0.1149, 0.115, 0.115, 0.1152, 0.1154, 0.1158, 0.1162, 0.117, 0.1181",\
                 "0.114, 0.1141, 0.1143, 0.1146, 0.1149, 0.1152, 0.1157, 0.1159, 0.1165, 0.1181",\
                 "0.1133, 0.1134, 0.1136, 0.1139, 0.1143, 0.1147, 0.1152, 0.1157, 0.1163, 0.1178",\
                 "0.1171, 0.117, 0.1166, 0.1161, 0.116, 0.1159, 0.1161, 0.1163, 0.1166, 0.1183",\
                 "0.127, 0.1266, 0.1254, 0.1237, 0.1221, 0.1208, 0.1199, 0.1194, 0.1194, 0.1205",\
                 "0.1432, 0.1426, 0.1407, 0.1378, 0.1344, 0.1312, 0.1287, 0.1265, 0.1253, 0.1261",\
                 "0.1665, 0.1657, 0.1629, 0.1587, 0.1538, 0.1486, 0.1438, 0.1396, 0.1366, 0.1367",\
                 "0.1971, 0.1961, 0.1927, 0.1872, 0.1805, 0.1735, 0.1663, 0.1598, 0.1544, 0.1537",\
                 "0.2358, 0.2345, 0.2304, 0.2237, 0.2152, 0.2059, 0.1967, 0.1877, 0.1803, 0.1803",\
                 "0.2826, 0.2811, 0.2765, 0.2686, 0.2584, 0.2469, 0.2353, 0.224, 0.215, 0.2192");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.05095, 0.051, 0.05096, 0.05101, 0.05104, 0.05105, 0.05107, 0.05108, 0.05105, 0.05104",\
                 "0.05015, 0.05014, 0.05018, 0.05023, 0.05025, 0.05026, 0.05029, 0.0503, 0.05031, 0.05027",\
                 "0.04935, 0.04936, 0.04941, 0.04946, 0.04957, 0.04965, 0.04967, 0.0497, 0.04971, 0.04967",\
                 "0.05009, 0.05005, 0.05, 0.04993, 0.04986, 0.04982, 0.04977, 0.04975, 0.04972, 0.04968",\
                 "0.05497, 0.05478, 0.05431, 0.05359, 0.05291, 0.05226, 0.05169, 0.05127, 0.05094, 0.05067",\
                 "0.06631, 0.06586, 0.06458, 0.06272, 0.0607, 0.0588, 0.05722, 0.05584, 0.05474, 0.05384",\
                 "0.08511, 0.08439, 0.08211, 0.07872, 0.07486, 0.07111, 0.06773, 0.06484, 0.06244, 0.06036",\
                 "0.1121, 0.1111, 0.1078, 0.1026, 0.09651, 0.09034, 0.08459, 0.07955, 0.07524, 0.07157",\
                 "0.1477, 0.1464, 0.142, 0.135, 0.1265, 0.1176, 0.109, 0.1012, 0.09437, 0.08851",\
                 "0.1923, 0.1906, 0.1852, 0.1764, 0.1654, 0.1535, 0.1418, 0.1308, 0.121, 0.1123");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1371, 0.1371, 0.1372, 0.1373, 0.1375, 0.1377, 0.138, 0.1385, 0.1391, 0.1407",\
                 "0.1366, 0.1366, 0.1368, 0.137, 0.1373, 0.1376, 0.1379, 0.1383, 0.139, 0.1405",\
                 "0.1351, 0.1352, 0.1355, 0.1359, 0.1364, 0.137, 0.1375, 0.1379, 0.1385, 0.1407",\
                 "0.137, 0.1369, 0.1368, 0.1369, 0.137, 0.1373, 0.1376, 0.1381, 0.1385, 0.1408",\
                 "0.1459, 0.1456, 0.1445, 0.1432, 0.142, 0.1411, 0.1407, 0.1405, 0.1406, 0.1426",\
                 "0.1628, 0.1621, 0.16, 0.157, 0.1539, 0.151, 0.1488, 0.1471, 0.1461, 0.1474",\
                 "0.1884, 0.1874, 0.1841, 0.1792, 0.1737, 0.1684, 0.1638, 0.1599, 0.1572, 0.1577",\
                 "0.2226, 0.2213, 0.2171, 0.2104, 0.2023, 0.1943, 0.187, 0.1804, 0.1751, 0.1749",\
                 "0.2657, 0.2641, 0.2592, 0.2509, 0.2404, 0.2295, 0.2189, 0.2094, 0.2015, 0.201",\
                 "0.3178, 0.316, 0.3104, 0.301, 0.2885, 0.2745, 0.2607, 0.2477, 0.2377, 0.2397");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04145, 0.04146, 0.04148, 0.04153, 0.04155, 0.04156, 0.04156, 0.04157, 0.04158, 0.04155",\
                 "0.0406, 0.04061, 0.04065, 0.04068, 0.04072, 0.04075, 0.04077, 0.04079, 0.04081, 0.04078",\
                 "0.03974, 0.03977, 0.03983, 0.03997, 0.04006, 0.04012, 0.04017, 0.0402, 0.04024, 0.04018",\
                 "0.04059, 0.04057, 0.04051, 0.04046, 0.04036, 0.0403, 0.04026, 0.04024, 0.04022, 0.04021",\
                 "0.046, 0.04576, 0.04515, 0.04435, 0.04355, 0.04287, 0.04228, 0.04181, 0.04147, 0.04121",\
                 "0.05812, 0.05762, 0.05609, 0.05394, 0.05169, 0.04965, 0.04794, 0.04651, 0.04534, 0.04441",\
                 "0.07792, 0.07705, 0.07449, 0.07058, 0.06632, 0.06227, 0.0587, 0.05567, 0.05316, 0.05107",\
                 "0.106, 0.1048, 0.101, 0.09525, 0.08859, 0.08194, 0.07588, 0.07062, 0.06614, 0.06236",\
                 "0.1427, 0.1411, 0.1362, 0.1285, 0.1193, 0.1097, 0.1007, 0.09258, 0.08553, 0.07947",\
                 "0.188, 0.1862, 0.1802, 0.1707, 0.1588, 0.1462, 0.1339, 0.1226, 0.1124, 0.1035");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1269, 0.1269, 0.127, 0.1271, 0.1273, 0.1275, 0.1278, 0.1283, 0.1288, 0.1303",\
                 "0.1264, 0.1264, 0.1266, 0.1268, 0.1271, 0.1273, 0.1277, 0.1282, 0.1287, 0.1302",\
                 "0.1249, 0.125, 0.1253, 0.1257, 0.1262, 0.1267, 0.1273, 0.1278, 0.1284, 0.13",\
                 "0.1268, 0.1267, 0.1266, 0.1266, 0.1268, 0.1271, 0.1275, 0.1279, 0.1286, 0.1304",\
                 "0.1357, 0.1354, 0.1343, 0.133, 0.1318, 0.1309, 0.1305, 0.1303, 0.1305, 0.1319",\
                 "0.1527, 0.152, 0.1498, 0.1469, 0.1437, 0.1408, 0.1387, 0.1369, 0.136, 0.137",\
                 "0.1783, 0.1772, 0.1739, 0.1689, 0.1635, 0.1582, 0.1536, 0.1498, 0.147, 0.1471",\
                 "0.2125, 0.2112, 0.207, 0.2002, 0.1921, 0.1841, 0.1767, 0.1701, 0.1646, 0.1642",\
                 "0.2556, 0.2541, 0.2491, 0.2408, 0.2302, 0.2192, 0.2088, 0.1991, 0.1912, 0.1903",\
                 "0.3078, 0.3061, 0.3004, 0.291, 0.2785, 0.2644, 0.2504, 0.2376, 0.2271, 0.2283");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04148, 0.04146, 0.04148, 0.04151, 0.04154, 0.04155, 0.04157, 0.04159, 0.0416, 0.04156",\
                 "0.04062, 0.04061, 0.04064, 0.0407, 0.04072, 0.04076, 0.04077, 0.04079, 0.0408, 0.04077",\
                 "0.03976, 0.03978, 0.03986, 0.03995, 0.04004, 0.04013, 0.04017, 0.04019, 0.04022, 0.04022",\
                 "0.04082, 0.0408, 0.04073, 0.04062, 0.0405, 0.04042, 0.04035, 0.0403, 0.04027, 0.04024",\
                 "0.04682, 0.0466, 0.0459, 0.04502, 0.0441, 0.04335, 0.04269, 0.04217, 0.04176, 0.04143",\
                 "0.05973, 0.05917, 0.0576, 0.05535, 0.05295, 0.05074, 0.04885, 0.04732, 0.04604, 0.04503",\
                 "0.08043, 0.07958, 0.07695, 0.07294, 0.06853, 0.06424, 0.06046, 0.05726, 0.05457, 0.05235",\
                 "0.1098, 0.1086, 0.1047, 0.09879, 0.09198, 0.08516, 0.07884, 0.07334, 0.0686, 0.06454",\
                 "0.1479, 0.1463, 0.1414, 0.1335, 0.1241, 0.1143, 0.1051, 0.0967, 0.08931, 0.08291",\
                 "0.1951, 0.1932, 0.1871, 0.1774, 0.1654, 0.1526, 0.1401, 0.1284, 0.1179, 0.1086");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1266, 0.1266, 0.1267, 0.1268, 0.127, 0.1272, 0.1276, 0.128, 0.1285, 0.13",\
                 "0.1258, 0.1258, 0.126, 0.1262, 0.1265, 0.1267, 0.1271, 0.1276, 0.1281, 0.1298",\
                 "0.1243, 0.1244, 0.1246, 0.1251, 0.1255, 0.126, 0.1265, 0.127, 0.1277, 0.1296",\
                 "0.1267, 0.1266, 0.1263, 0.1262, 0.1262, 0.1264, 0.1268, 0.1272, 0.1278, 0.1297",\
                 "0.1364, 0.136, 0.1348, 0.1333, 0.1319, 0.1309, 0.1303, 0.13, 0.1299, 0.1315",\
                 "0.1545, 0.1538, 0.1515, 0.1483, 0.1449, 0.1417, 0.1391, 0.1373, 0.1361, 0.137",\
                 "0.1817, 0.1806, 0.1771, 0.1719, 0.1662, 0.1605, 0.1554, 0.151, 0.1481, 0.1481",\
                 "0.2177, 0.2163, 0.212, 0.205, 0.1967, 0.1883, 0.1804, 0.1732, 0.1675, 0.1663",\
                 "0.2628, 0.2612, 0.2562, 0.2478, 0.237, 0.2256, 0.2146, 0.2044, 0.1959, 0.1944",\
                 "0.3174, 0.3157, 0.31, 0.3003, 0.2877, 0.2733, 0.259, 0.2455, 0.2345, 0.2348");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03993, 0.03994, 0.03996, 0.04, 0.04002, 0.04004, 0.04004, 0.04005, 0.04005, 0.04002",\
                 "0.03907, 0.03909, 0.03913, 0.03916, 0.03921, 0.03923, 0.03925, 0.03926, 0.03927, 0.03925",\
                 "0.03821, 0.03826, 0.03832, 0.03841, 0.03854, 0.0386, 0.03863, 0.03867, 0.03869, 0.03868",\
                 "0.03906, 0.03904, 0.03899, 0.03893, 0.03884, 0.03879, 0.03874, 0.03872, 0.0387, 0.03867",\
                 "0.0445, 0.04427, 0.04365, 0.04284, 0.04203, 0.04137, 0.04076, 0.0403, 0.03995, 0.03968",\
                 "0.0567, 0.05619, 0.05464, 0.05248, 0.05021, 0.04816, 0.04644, 0.045, 0.04383, 0.04289",\
                 "0.07659, 0.07572, 0.07311, 0.06917, 0.06489, 0.0608, 0.05722, 0.05416, 0.05166, 0.04955",\
                 "0.1048, 0.1036, 0.09975, 0.09392, 0.08721, 0.08054, 0.07444, 0.06913, 0.06466, 0.06088",\
                 "0.1416, 0.14, 0.135, 0.1272, 0.1179, 0.1084, 0.09929, 0.09113, 0.08406, 0.07799",\
                 "0.187, 0.1851, 0.1791, 0.1695, 0.1575, 0.1449, 0.1326, 0.1212, 0.111, 0.102");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1267, 0.1267, 0.1268, 0.1269, 0.1271, 0.1274, 0.1277, 0.1281, 0.1285, 0.1302",\
                 "0.1262, 0.1262, 0.1264, 0.1266, 0.1269, 0.1272, 0.1275, 0.1279, 0.1283, 0.1301",\
                 "0.1247, 0.1248, 0.1251, 0.1256, 0.126, 0.1266, 0.1271, 0.1276, 0.1283, 0.1298",\
                 "0.1266, 0.1266, 0.1264, 0.1265, 0.1266, 0.1269, 0.1273, 0.1278, 0.1284, 0.13",\
                 "0.1356, 0.1352, 0.1341, 0.1329, 0.1317, 0.1308, 0.1303, 0.1301, 0.1303, 0.1317",\
                 "0.1525, 0.1518, 0.1497, 0.1467, 0.1435, 0.1406, 0.1384, 0.1368, 0.1357, 0.1368",\
                 "0.1781, 0.1771, 0.1737, 0.1688, 0.1634, 0.1581, 0.1533, 0.1496, 0.1467, 0.1466",\
                 "0.2124, 0.211, 0.2068, 0.2, 0.1919, 0.1839, 0.1766, 0.1698, 0.1647, 0.1638",\
                 "0.2554, 0.2539, 0.2489, 0.2406, 0.2301, 0.219, 0.2086, 0.1989, 0.191, 0.1899",\
                 "0.3076, 0.3059, 0.3003, 0.2908, 0.2782, 0.2642, 0.2502, 0.2374, 0.227, 0.228");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03043, 0.03043, 0.03046, 0.03049, 0.03051, 0.03052, 0.03053, 0.03054, 0.03056, 0.03054",\
                 "0.02955, 0.02957, 0.02962, 0.02965, 0.02971, 0.02973, 0.02975, 0.02976, 0.02977, 0.02975",\
                 "0.02858, 0.02861, 0.02875, 0.02887, 0.02898, 0.02906, 0.02913, 0.02916, 0.0292, 0.0292",\
                 "0.02957, 0.02954, 0.02948, 0.02942, 0.02932, 0.02928, 0.02925, 0.02922, 0.0292, 0.02918",\
                 "0.03563, 0.0354, 0.03462, 0.03363, 0.03271, 0.03195, 0.03133, 0.03085, 0.03048, 0.03021",\
                 "0.04882, 0.04819, 0.04635, 0.04383, 0.04125, 0.03901, 0.03716, 0.03564, 0.03443, 0.03347",\
                 "0.06988, 0.06884, 0.06573, 0.06126, 0.05648, 0.05202, 0.04821, 0.04501, 0.04239, 0.04023",\
                 "0.09927, 0.09785, 0.09338, 0.0868, 0.07942, 0.07224, 0.06578, 0.06025, 0.05558, 0.05168",\
                 "0.137, 0.1353, 0.1296, 0.121, 0.1108, 0.1006, 0.09105, 0.08255, 0.07521, 0.06896",\
                 "0.1834, 0.1813, 0.1746, 0.164, 0.1511, 0.1378, 0.1248, 0.113, 0.1024, 0.09328");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1165, 0.1165, 0.1166, 0.1167, 0.1169, 0.1172, 0.1174, 0.1181, 0.1183, 0.1196",\
                 "0.1159, 0.116, 0.1162, 0.1164, 0.1167, 0.117, 0.1174, 0.1177, 0.1185, 0.1196",\
                 "0.1145, 0.1145, 0.1149, 0.1153, 0.1159, 0.1164, 0.1169, 0.1175, 0.1179, 0.1198",\
                 "0.1164, 0.1163, 0.1162, 0.1162, 0.1164, 0.1167, 0.1171, 0.1176, 0.118, 0.1196",\
                 "0.1253, 0.125, 0.1239, 0.1226, 0.1214, 0.1205, 0.1201, 0.1198, 0.1201, 0.1214",\
                 "0.1423, 0.1416, 0.1394, 0.1365, 0.1333, 0.1304, 0.1282, 0.1265, 0.1255, 0.1264",\
                 "0.168, 0.1669, 0.1636, 0.1586, 0.1531, 0.1478, 0.1432, 0.1393, 0.1364, 0.1362",\
                 "0.2023, 0.201, 0.1966, 0.1899, 0.1816, 0.1737, 0.1664, 0.1598, 0.1542, 0.153",\
                 "0.2454, 0.2438, 0.2389, 0.2304, 0.2199, 0.2088, 0.1983, 0.1888, 0.1807, 0.179",\
                 "0.2976, 0.2958, 0.2902, 0.2808, 0.268, 0.254, 0.2398, 0.2271, 0.2166, 0.2164");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03041, 0.03042, 0.03044, 0.03048, 0.03049, 0.03053, 0.03053, 0.03054, 0.03055, 0.03053",\
                 "0.02954, 0.02956, 0.0296, 0.02966, 0.0297, 0.02973, 0.02975, 0.02976, 0.02977, 0.02976",\
                 "0.02864, 0.02867, 0.02878, 0.02889, 0.029, 0.02908, 0.02912, 0.02916, 0.02918, 0.0292",\
                 "0.02984, 0.02981, 0.02973, 0.02958, 0.02946, 0.02939, 0.02934, 0.02928, 0.02925, 0.02922",\
                 "0.03651, 0.03622, 0.03539, 0.03431, 0.03329, 0.03245, 0.03175, 0.03119, 0.03077, 0.03044",\
                 "0.05045, 0.04979, 0.04788, 0.04525, 0.04255, 0.04011, 0.0381, 0.03647, 0.03515, 0.03411",\
                 "0.07252, 0.07143, 0.06825, 0.06365, 0.0587, 0.05403, 0.04998, 0.04663, 0.04383, 0.04154",\
                 "0.103, 0.1016, 0.09711, 0.0904, 0.08285, 0.07546, 0.06877, 0.06296, 0.05804, 0.05389",\
                 "0.1423, 0.1405, 0.1348, 0.126, 0.1157, 0.1053, 0.09549, 0.08669, 0.07906, 0.07248",\
                 "0.1905, 0.1884, 0.1816, 0.1709, 0.1579, 0.1442, 0.131, 0.1188, 0.108, 0.09838");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1162, 0.1162, 0.1163, 0.1164, 0.1166, 0.117, 0.1171, 0.1175, 0.1179, 0.1193",\
                 "0.1153, 0.1154, 0.1156, 0.1158, 0.1161, 0.1164, 0.1168, 0.1171, 0.1179, 0.119",\
                 "0.1139, 0.114, 0.1143, 0.1147, 0.1152, 0.1157, 0.1162, 0.1166, 0.1171, 0.1191",\
                 "0.1163, 0.1162, 0.116, 0.1158, 0.1159, 0.1161, 0.1164, 0.1169, 0.1175, 0.1188",\
                 "0.126, 0.1256, 0.1245, 0.1229, 0.1216, 0.1205, 0.1198, 0.1195, 0.1194, 0.1211",\
                 "0.1442, 0.1435, 0.1411, 0.1379, 0.1345, 0.1313, 0.1287, 0.1268, 0.1256, 0.1262",\
                 "0.1713, 0.1702, 0.1668, 0.1615, 0.1558, 0.1501, 0.145, 0.1407, 0.1375, 0.1368",\
                 "0.2074, 0.2061, 0.2017, 0.1947, 0.1862, 0.1779, 0.17, 0.1628, 0.1568, 0.1552",\
                 "0.2526, 0.251, 0.246, 0.2375, 0.2267, 0.2152, 0.2042, 0.194, 0.1853, 0.1832",\
                 "0.3073, 0.3055, 0.2998, 0.2902, 0.2774, 0.2629, 0.2485, 0.2351, 0.2239, 0.2232");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0399, 0.03994, 0.03995, 0.03999, 0.04, 0.04002, 0.04003, 0.04003, 0.04003, 0.04002",\
                 "0.03908, 0.03908, 0.03915, 0.03917, 0.03918, 0.03923, 0.03924, 0.03925, 0.03927, 0.03927",\
                 "0.03824, 0.03826, 0.03837, 0.03844, 0.03852, 0.03859, 0.03864, 0.03866, 0.03868, 0.0387",\
                 "0.0393, 0.03925, 0.03919, 0.0391, 0.03898, 0.03888, 0.03882, 0.03877, 0.03874, 0.03871",\
                 "0.04513, 0.04492, 0.04427, 0.04339, 0.04248, 0.04171, 0.04106, 0.04053, 0.04017, 0.03984",\
                 "0.0577, 0.05719, 0.05562, 0.05335, 0.05097, 0.04885, 0.04697, 0.04548, 0.04422, 0.04324",\
                 "0.078, 0.07712, 0.07442, 0.07044, 0.06602, 0.06178, 0.05804, 0.05492, 0.05229, 0.05013",\
                 "0.1065, 0.1053, 0.1014, 0.09551, 0.08868, 0.08187, 0.07562, 0.0702, 0.06555, 0.06167",\
                 "0.1436, 0.142, 0.137, 0.1291, 0.1197, 0.11, 0.1008, 0.09253, 0.08531, 0.07908",\
                 "0.1893, 0.1874, 0.1814, 0.1717, 0.1597, 0.1469, 0.1345, 0.1229, 0.1126, 0.1035");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1357, 0.1357, 0.1357, 0.1359, 0.1361, 0.1363, 0.1366, 0.1369, 0.1376, 0.1389",\
                 "0.1352, 0.1353, 0.1355, 0.1358, 0.1361, 0.1364, 0.1368, 0.1372, 0.1378, 0.1395",\
                 "0.1337, 0.1339, 0.1341, 0.1347, 0.1354, 0.1358, 0.1363, 0.1371, 0.1376, 0.1395",\
                 "0.1356, 0.1356, 0.1355, 0.1356, 0.1358, 0.1361, 0.1365, 0.137, 0.1378, 0.1396",\
                 "0.1444, 0.1441, 0.1432, 0.142, 0.141, 0.1402, 0.1397, 0.1396, 0.1397, 0.1415",\
                 "0.1612, 0.1606, 0.1587, 0.156, 0.1529, 0.1504, 0.1481, 0.1465, 0.1455, 0.1467",\
                 "0.1867, 0.1858, 0.1828, 0.1782, 0.1732, 0.1682, 0.1636, 0.1598, 0.1568, 0.157",\
                 "0.2209, 0.2197, 0.2158, 0.2096, 0.202, 0.1945, 0.1873, 0.1806, 0.1757, 0.1749",\
                 "0.2639, 0.2625, 0.258, 0.2503, 0.2404, 0.23, 0.22, 0.2104, 0.2027, 0.2019",\
                 "0.3162, 0.3147, 0.3095, 0.3005, 0.2889, 0.2755, 0.2624, 0.2501, 0.2397, 0.2413");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03043, 0.03046, 0.03045, 0.03048, 0.0305, 0.03052, 0.03053, 0.03053, 0.03053, 0.03054",\
                 "0.02955, 0.02957, 0.02962, 0.02965, 0.02969, 0.02971, 0.02974, 0.02975, 0.02976, 0.02977",\
                 "0.02869, 0.02871, 0.02878, 0.0289, 0.029, 0.02908, 0.02913, 0.02916, 0.02919, 0.02919",\
                 "0.02986, 0.02982, 0.02973, 0.02962, 0.0295, 0.02939, 0.02933, 0.02928, 0.02924, 0.02921",\
                 "0.03634, 0.03606, 0.03526, 0.03417, 0.03319, 0.03234, 0.03163, 0.03109, 0.03069, 0.03037",\
                 "0.04989, 0.04926, 0.04735, 0.04472, 0.04204, 0.03968, 0.03772, 0.03614, 0.03484, 0.03382",\
                 "0.07136, 0.07029, 0.06711, 0.06255, 0.05763, 0.05303, 0.04905, 0.04577, 0.04304, 0.04082",\
                 "0.101, 0.09961, 0.09512, 0.08843, 0.08092, 0.07358, 0.06698, 0.06128, 0.05648, 0.05248",\
                 "0.1391, 0.1373, 0.1316, 0.1229, 0.1127, 0.1023, 0.09261, 0.08397, 0.07648, 0.07016",\
                 "0.1858, 0.1837, 0.177, 0.1663, 0.1533, 0.1398, 0.1268, 0.1147, 0.1041, 0.09477");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1255, 0.1255, 0.1255, 0.1257, 0.1259, 0.1261, 0.1264, 0.1267, 0.1272, 0.1287",\
                 "0.125, 0.1251, 0.1253, 0.1255, 0.1259, 0.1262, 0.1267, 0.1271, 0.1274, 0.1289",\
                 "0.1235, 0.1236, 0.1239, 0.1245, 0.1251, 0.1257, 0.1262, 0.1268, 0.1274, 0.1294",\
                 "0.1254, 0.1254, 0.1253, 0.1253, 0.1255, 0.1259, 0.1263, 0.127, 0.1274, 0.1291",\
                 "0.1341, 0.1339, 0.133, 0.1318, 0.1307, 0.1299, 0.1295, 0.1294, 0.1296, 0.1312",\
                 "0.1511, 0.1504, 0.1484, 0.1457, 0.1428, 0.1401, 0.1378, 0.1361, 0.1353, 0.1363",\
                 "0.1766, 0.1756, 0.1727, 0.168, 0.1629, 0.1579, 0.1534, 0.1494, 0.1465, 0.1465",\
                 "0.2109, 0.2096, 0.2057, 0.1994, 0.1918, 0.1843, 0.1771, 0.1707, 0.1653, 0.1641",\
                 "0.2539, 0.2525, 0.2479, 0.2401, 0.2303, 0.2198, 0.2098, 0.2005, 0.1925, 0.191",\
                 "0.3062, 0.3047, 0.2993, 0.2905, 0.2786, 0.2653, 0.2522, 0.2397, 0.2294, 0.2298");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03042, 0.03046, 0.03045, 0.03048, 0.03051, 0.03053, 0.03053, 0.03054, 0.03055, 0.03055",\
                 "0.02954, 0.02956, 0.02961, 0.02965, 0.02969, 0.02972, 0.02974, 0.02976, 0.02976, 0.02977",\
                 "0.02872, 0.02876, 0.02884, 0.02892, 0.02901, 0.02908, 0.02913, 0.02917, 0.02918, 0.0292",\
                 "0.03015, 0.0301, 0.02999, 0.02982, 0.02968, 0.02952, 0.02943, 0.02936, 0.02929, 0.02926",\
                 "0.03724, 0.0369, 0.03605, 0.03492, 0.03381, 0.03285, 0.03209, 0.03147, 0.03099, 0.03064",\
                 "0.05159, 0.0509, 0.04896, 0.0462, 0.04337, 0.04086, 0.03875, 0.03703, 0.03563, 0.03448",\
                 "0.07399, 0.07298, 0.06967, 0.065, 0.05994, 0.05515, 0.05095, 0.04746, 0.04453, 0.04213",\
                 "0.1049, 0.1035, 0.09889, 0.09209, 0.08444, 0.07693, 0.0701, 0.06411, 0.05908, 0.05481",\
                 "0.1445, 0.1427, 0.137, 0.1281, 0.1177, 0.1071, 0.09717, 0.08826, 0.08042, 0.07373",\
                 "0.193, 0.1909, 0.1841, 0.1733, 0.1602, 0.1464, 0.1331, 0.1208, 0.1098, 0.09996");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1252, 0.1252, 0.1253, 0.1254, 0.1256, 0.1258, 0.1262, 0.1268, 0.1269, 0.1283",\
                 "0.1244, 0.1245, 0.1247, 0.1249, 0.1253, 0.1256, 0.1261, 0.1265, 0.1268, 0.1283",\
                 "0.1229, 0.123, 0.1233, 0.1238, 0.1243, 0.125, 0.1254, 0.126, 0.1267, 0.1283",\
                 "0.1252, 0.1251, 0.125, 0.1249, 0.125, 0.1253, 0.1257, 0.1262, 0.1267, 0.1284",\
                 "0.1348, 0.1345, 0.1335, 0.1321, 0.1308, 0.1299, 0.1292, 0.129, 0.129, 0.1304",\
                 "0.153, 0.1523, 0.1503, 0.1473, 0.1441, 0.141, 0.1386, 0.1366, 0.1355, 0.1363",\
                 "0.1799, 0.179, 0.1759, 0.1712, 0.1659, 0.1605, 0.1554, 0.1512, 0.1479, 0.1474",\
                 "0.2161, 0.2148, 0.2107, 0.2044, 0.1966, 0.1887, 0.181, 0.1741, 0.1682, 0.1667",\
                 "0.2612, 0.2598, 0.2551, 0.2472, 0.2373, 0.2265, 0.216, 0.2063, 0.1978, 0.1955",\
                 "0.316, 0.3144, 0.3091, 0.3002, 0.2882, 0.2746, 0.2609, 0.2483, 0.2374, 0.2373");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04244, 0.04245, 0.04248, 0.04255, 0.04259, 0.04264, 0.04265, 0.04266, 0.04268, 0.04265",\
                 "0.04265, 0.0427, 0.04282, 0.04299, 0.04313, 0.04321, 0.04327, 0.04332, 0.04335, 0.04332",\
                 "0.042, 0.04212, 0.04239, 0.04276, 0.04308, 0.04331, 0.04347, 0.04358, 0.04366, 0.04369",\
                 "0.04181, 0.0419, 0.04217, 0.04253, 0.04286, 0.04314, 0.04338, 0.04352, 0.04366, 0.04374",\
                 "0.04534, 0.04532, 0.04517, 0.0451, 0.045, 0.0449, 0.04479, 0.04467, 0.04459, 0.04451",\
                 "0.05461, 0.05435, 0.05355, 0.05249, 0.05142, 0.05039, 0.04948, 0.04869, 0.048, 0.0474",\
                 "0.07053, 0.07002, 0.06854, 0.06612, 0.06355, 0.06113, 0.05887, 0.05688, 0.05517, 0.05365",\
                 "0.09398, 0.09322, 0.0907, 0.08689, 0.08247, 0.07808, 0.07403, 0.07037, 0.06714, 0.06429",\
                 "0.1251, 0.124, 0.1207, 0.1154, 0.1089, 0.1022, 0.09592, 0.09011, 0.08496, 0.08033",\
                 "0.1644, 0.1631, 0.1588, 0.152, 0.1434, 0.1343, 0.1253, 0.117, 0.1094, 0.1027");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1589, 0.1589, 0.159, 0.1591, 0.1592, 0.1594, 0.1597, 0.1602, 0.1607, 0.1624",\
                 "0.1577, 0.1578, 0.1579, 0.158, 0.1582, 0.1585, 0.1588, 0.1592, 0.1598, 0.1615",\
                 "0.1572, 0.1572, 0.1572, 0.1574, 0.1575, 0.1578, 0.1581, 0.1585, 0.159, 0.1608",\
                 "0.1603, 0.1602, 0.1598, 0.1593, 0.1589, 0.1589, 0.1589, 0.159, 0.1593, 0.1615",\
                 "0.1694, 0.169, 0.1678, 0.1662, 0.1645, 0.1631, 0.1623, 0.1618, 0.1618, 0.1635",\
                 "0.1852, 0.1846, 0.1825, 0.1794, 0.176, 0.1729, 0.1703, 0.1684, 0.167, 0.1687",\
                 "0.208, 0.2072, 0.2044, 0.2, 0.1945, 0.1891, 0.1843, 0.1803, 0.1773, 0.1781",\
                 "0.2388, 0.2377, 0.2341, 0.2281, 0.2208, 0.2132, 0.2056, 0.199, 0.1941, 0.1944",\
                 "0.2777, 0.2763, 0.2719, 0.2647, 0.2554, 0.2453, 0.2354, 0.2258, 0.2184, 0.2201",\
                 "0.3249, 0.3235, 0.3185, 0.31, 0.2988, 0.2862, 0.2735, 0.2613, 0.2523, 0.2589");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.0322, 0.03222, 0.03229, 0.03236, 0.03241, 0.03244, 0.03245, 0.03246, 0.03248, 0.03247",\
                 "0.03231, 0.03238, 0.03256, 0.03275, 0.03291, 0.03302, 0.03306, 0.03312, 0.03315, 0.03315",\
                 "0.03143, 0.03157, 0.03196, 0.03242, 0.03278, 0.03307, 0.03324, 0.03337, 0.03346, 0.0335",\
                 "0.03125, 0.03137, 0.03171, 0.03216, 0.03258, 0.03289, 0.03314, 0.03331, 0.03345, 0.03356",\
                 "0.03523, 0.03515, 0.03502, 0.03491, 0.0348, 0.0347, 0.03459, 0.0345, 0.03441, 0.03433",\
                 "0.04519, 0.04485, 0.0439, 0.04272, 0.04146, 0.04039, 0.03941, 0.03858, 0.03788, 0.03728",\
                 "0.06194, 0.06132, 0.05954, 0.05688, 0.05401, 0.05137, 0.04898, 0.04694, 0.04515, 0.0436",\
                 "0.08621, 0.08532, 0.08251, 0.07822, 0.07342, 0.06871, 0.06443, 0.0606, 0.05728, 0.05434",\
                 "0.1182, 0.1171, 0.1133, 0.1074, 0.1004, 0.0933, 0.08665, 0.08064, 0.07528, 0.07055",\
                 "0.1584, 0.1569, 0.1522, 0.1447, 0.1355, 0.1258, 0.1164, 0.1078, 0.1, 0.09306");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1486, 0.1486, 0.1486, 0.1487, 0.1489, 0.1491, 0.1495, 0.1498, 0.1504, 0.152",\
                 "0.1474, 0.1475, 0.1475, 0.1477, 0.1479, 0.1481, 0.1485, 0.1489, 0.1494, 0.1509",\
                 "0.1469, 0.1469, 0.1469, 0.147, 0.1472, 0.1475, 0.1478, 0.1482, 0.1486, 0.1506",\
                 "0.1501, 0.1499, 0.1495, 0.149, 0.1487, 0.1485, 0.1485, 0.1487, 0.1491, 0.1507",\
                 "0.1591, 0.1587, 0.1575, 0.1559, 0.1543, 0.1528, 0.152, 0.1514, 0.1512, 0.1528",\
                 "0.1749, 0.1743, 0.1722, 0.169, 0.1658, 0.1626, 0.16, 0.1579, 0.1566, 0.1578",\
                 "0.1978, 0.1969, 0.1941, 0.1896, 0.1843, 0.1788, 0.174, 0.17, 0.167, 0.1674",\
                 "0.2286, 0.2274, 0.2238, 0.2177, 0.2106, 0.2028, 0.1954, 0.1887, 0.1835, 0.1838",\
                 "0.2674, 0.2661, 0.2617, 0.2543, 0.245, 0.235, 0.225, 0.2154, 0.2079, 0.2091",\
                 "0.3148, 0.3133, 0.3083, 0.2998, 0.2885, 0.2759, 0.2631, 0.2509, 0.2415, 0.247");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03219, 0.03221, 0.03227, 0.03236, 0.03241, 0.03243, 0.03245, 0.03247, 0.03249, 0.03249",\
                 "0.03229, 0.03236, 0.03254, 0.03276, 0.0329, 0.03301, 0.03306, 0.03309, 0.03314, 0.03317",\
                 "0.03146, 0.03158, 0.03197, 0.03243, 0.03278, 0.03307, 0.03325, 0.03337, 0.03346, 0.03352",\
                 "0.03135, 0.03148, 0.03179, 0.03223, 0.03261, 0.03293, 0.03316, 0.03333, 0.03347, 0.03355",\
                 "0.03539, 0.03534, 0.03516, 0.03502, 0.03488, 0.03476, 0.03466, 0.03454, 0.03445, 0.03437",\
                 "0.04533, 0.04501, 0.04408, 0.04283, 0.04157, 0.04049, 0.0395, 0.03868, 0.03795, 0.03733",\
                 "0.0621, 0.06147, 0.05965, 0.05701, 0.05414, 0.0515, 0.0491, 0.04703, 0.04522, 0.04371",\
                 "0.08633, 0.08545, 0.08269, 0.07841, 0.07361, 0.06887, 0.0646, 0.0608, 0.05745, 0.05452",\
                 "0.1184, 0.1172, 0.1135, 0.1076, 0.1007, 0.09358, 0.08692, 0.08091, 0.07556, 0.07083",\
                 "0.1586, 0.1571, 0.1524, 0.145, 0.1359, 0.1262, 0.1168, 0.1082, 0.1004, 0.09347");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1569, 0.1569, 0.157, 0.1571, 0.1573, 0.1575, 0.1578, 0.1582, 0.1588, 0.1604",\
                 "0.1559, 0.1559, 0.156, 0.1562, 0.1564, 0.1566, 0.157, 0.1575, 0.1579, 0.1596",\
                 "0.1553, 0.1553, 0.1553, 0.1555, 0.1556, 0.156, 0.1564, 0.1567, 0.1573, 0.1591",\
                 "0.1586, 0.1584, 0.158, 0.1575, 0.1572, 0.157, 0.1571, 0.1572, 0.1577, 0.1595",\
                 "0.1677, 0.1673, 0.1661, 0.1646, 0.1628, 0.1615, 0.1606, 0.16, 0.16, 0.1614",\
                 "0.1835, 0.1829, 0.181, 0.178, 0.1746, 0.1717, 0.1689, 0.167, 0.1655, 0.1667",\
                 "0.2065, 0.2056, 0.203, 0.1988, 0.1938, 0.1885, 0.1835, 0.1795, 0.1764, 0.177",\
                 "0.2371, 0.2361, 0.2327, 0.2272, 0.2203, 0.2129, 0.2056, 0.199, 0.1938, 0.1941",\
                 "0.2759, 0.2747, 0.2706, 0.2638, 0.2551, 0.2456, 0.2359, 0.2266, 0.2191, 0.2203",\
                 "0.3234, 0.3219, 0.3173, 0.3093, 0.2987, 0.2869, 0.2748, 0.263, 0.2537, 0.2596");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03136, 0.03138, 0.03146, 0.03154, 0.03158, 0.0316, 0.03163, 0.03164, 0.03165, 0.03164",\
                 "0.03148, 0.03155, 0.03175, 0.03191, 0.03209, 0.03218, 0.03223, 0.03228, 0.03231, 0.03231",\
                 "0.03059, 0.03072, 0.03112, 0.03159, 0.03195, 0.03223, 0.03242, 0.03254, 0.03263, 0.03267",\
                 "0.0304, 0.03051, 0.03087, 0.03132, 0.03172, 0.03208, 0.0323, 0.03248, 0.03262, 0.03271",\
                 "0.03439, 0.03431, 0.03418, 0.03408, 0.03397, 0.03386, 0.03377, 0.03367, 0.03358, 0.03351",\
                 "0.04438, 0.04404, 0.0431, 0.04187, 0.04064, 0.03956, 0.03858, 0.03776, 0.03705, 0.03645",\
                 "0.06115, 0.06055, 0.05873, 0.05609, 0.05321, 0.05055, 0.04817, 0.04611, 0.04433, 0.04279",\
                 "0.08547, 0.08457, 0.08176, 0.07745, 0.07264, 0.06791, 0.06359, 0.05979, 0.05647, 0.05352",\
                 "0.1176, 0.1164, 0.1126, 0.1067, 0.09965, 0.09254, 0.08582, 0.07982, 0.07448, 0.06973",\
                 "0.1577, 0.1563, 0.1515, 0.144, 0.1348, 0.1251, 0.1156, 0.107, 0.09922, 0.09226");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1485, 0.1485, 0.1485, 0.1487, 0.1488, 0.1491, 0.1494, 0.1498, 0.1503, 0.1518",\
                 "0.1474, 0.1474, 0.1475, 0.1477, 0.1479, 0.1481, 0.1484, 0.1488, 0.1494, 0.151",\
                 "0.1468, 0.1468, 0.1468, 0.147, 0.1472, 0.1475, 0.1477, 0.1482, 0.1487, 0.1504",\
                 "0.15, 0.1499, 0.1494, 0.149, 0.1486, 0.1484, 0.1485, 0.1487, 0.1489, 0.1509",\
                 "0.1591, 0.1587, 0.1574, 0.1558, 0.1542, 0.1528, 0.152, 0.1514, 0.1512, 0.1529",\
                 "0.1749, 0.1742, 0.1722, 0.1691, 0.1656, 0.1625, 0.1599, 0.1579, 0.1567, 0.158",\
                 "0.1977, 0.1969, 0.1941, 0.1895, 0.1843, 0.1788, 0.1739, 0.1699, 0.1669, 0.1676",\
                 "0.2285, 0.2274, 0.2238, 0.2177, 0.2105, 0.2028, 0.1953, 0.1887, 0.1835, 0.1838",\
                 "0.2674, 0.266, 0.2617, 0.2543, 0.245, 0.235, 0.2248, 0.2153, 0.2078, 0.209",\
                 "0.3147, 0.3132, 0.3082, 0.2996, 0.2885, 0.2758, 0.2631, 0.2509, 0.2414, 0.2469");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02115, 0.0212, 0.02126, 0.02133, 0.02137, 0.0214, 0.02141, 0.02143, 0.02146, 0.02145",\
                 "0.02112, 0.02119, 0.02145, 0.0217, 0.02186, 0.02196, 0.02203, 0.02207, 0.0221, 0.02212",\
                 "0.01985, 0.02003, 0.0206, 0.02122, 0.02168, 0.02199, 0.02219, 0.02232, 0.02242, 0.02249",\
                 "0.01975, 0.01989, 0.02034, 0.02091, 0.02141, 0.0218, 0.02209, 0.02227, 0.0224, 0.02252",\
                 "0.02434, 0.02423, 0.02402, 0.02386, 0.02378, 0.02368, 0.0236, 0.02349, 0.0234, 0.02333",\
                 "0.03511, 0.03471, 0.03356, 0.03211, 0.03075, 0.02956, 0.02853, 0.02765, 0.02694, 0.02632",\
                 "0.0529, 0.05218, 0.04998, 0.0469, 0.04374, 0.04086, 0.03834, 0.03617, 0.03431, 0.03273",\
                 "0.07819, 0.0771, 0.07386, 0.069, 0.06368, 0.05858, 0.05406, 0.05006, 0.04662, 0.04362",\
                 "0.1113, 0.1099, 0.1055, 0.09895, 0.09127, 0.08365, 0.07663, 0.07033, 0.06482, 0.05998",\
                 "0.1524, 0.1507, 0.1453, 0.1369, 0.127, 0.1167, 0.1068, 0.09783, 0.08981, 0.08268");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1382, 0.1382, 0.1382, 0.1383, 0.1386, 0.1388, 0.1391, 0.1396, 0.1402, 0.1413",\
                 "0.137, 0.1371, 0.1371, 0.1373, 0.1376, 0.1378, 0.1382, 0.1386, 0.1392, 0.1404",\
                 "0.1364, 0.1364, 0.1365, 0.1367, 0.1369, 0.1372, 0.1375, 0.1379, 0.1385, 0.1398",\
                 "0.1396, 0.1395, 0.1391, 0.1386, 0.1383, 0.1381, 0.1382, 0.1384, 0.1389, 0.1405",\
                 "0.1488, 0.1484, 0.1472, 0.1454, 0.1438, 0.1424, 0.1416, 0.141, 0.1409, 0.1425",\
                 "0.1645, 0.1638, 0.1619, 0.1587, 0.1553, 0.152, 0.1496, 0.1476, 0.1463, 0.1473",\
                 "0.1875, 0.1866, 0.1837, 0.1792, 0.1739, 0.1684, 0.1636, 0.1596, 0.1565, 0.1568",\
                 "0.2183, 0.2172, 0.2135, 0.2074, 0.2001, 0.1923, 0.1849, 0.1784, 0.173, 0.1725",\
                 "0.2572, 0.2558, 0.2515, 0.2441, 0.2346, 0.2245, 0.2145, 0.2051, 0.1974, 0.1975",\
                 "0.3045, 0.3031, 0.298, 0.2895, 0.2783, 0.2655, 0.2527, 0.2401, 0.2308, 0.2351");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02117, 0.02115, 0.02126, 0.02133, 0.02137, 0.02141, 0.02141, 0.02142, 0.02145, 0.02145",\
                 "0.02106, 0.02117, 0.02143, 0.0217, 0.02185, 0.02196, 0.02202, 0.02206, 0.0221, 0.02213",\
                 "0.01984, 0.02007, 0.02062, 0.02121, 0.02167, 0.02199, 0.02219, 0.02232, 0.02243, 0.02249",\
                 "0.01988, 0.02, 0.02043, 0.02098, 0.02147, 0.02184, 0.0221, 0.0223, 0.02243, 0.02251",\
                 "0.02451, 0.02441, 0.02416, 0.02396, 0.02387, 0.02377, 0.02364, 0.02353, 0.02344, 0.02335",\
                 "0.03528, 0.03486, 0.03372, 0.03225, 0.03084, 0.02964, 0.02863, 0.02776, 0.027, 0.02637",\
                 "0.05304, 0.05229, 0.0501, 0.04705, 0.04386, 0.04097, 0.03845, 0.03625, 0.03439, 0.03281",\
                 "0.07826, 0.07723, 0.07398, 0.06917, 0.06386, 0.05875, 0.05423, 0.05023, 0.04678, 0.04377",\
                 "0.1114, 0.11, 0.1057, 0.09913, 0.09153, 0.08393, 0.07686, 0.0706, 0.06509, 0.06022",\
                 "0.1526, 0.1509, 0.1455, 0.1372, 0.1274, 0.1171, 0.1072, 0.09821, 0.09022, 0.08308");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1466, 0.1466, 0.1466, 0.1467, 0.1469, 0.1472, 0.1476, 0.148, 0.1484, 0.1497",\
                 "0.1455, 0.1456, 0.1457, 0.1458, 0.1461, 0.1463, 0.1467, 0.1471, 0.1477, 0.1488",\
                 "0.1449, 0.1449, 0.1449, 0.1451, 0.1453, 0.1457, 0.146, 0.1464, 0.147, 0.1487",\
                 "0.1481, 0.148, 0.1475, 0.1471, 0.1468, 0.1466, 0.1467, 0.1469, 0.1474, 0.1491",\
                 "0.1574, 0.1569, 0.1558, 0.1542, 0.1525, 0.1512, 0.1503, 0.1495, 0.1496, 0.151",\
                 "0.1731, 0.1726, 0.1707, 0.1677, 0.1643, 0.1612, 0.1585, 0.1566, 0.155, 0.1563",\
                 "0.1961, 0.1952, 0.1926, 0.1884, 0.1834, 0.178, 0.1731, 0.1691, 0.166, 0.1661",\
                 "0.2268, 0.2258, 0.2224, 0.2168, 0.2099, 0.2025, 0.1953, 0.1886, 0.1831, 0.1828",\
                 "0.2657, 0.2645, 0.2604, 0.2536, 0.2448, 0.2353, 0.2254, 0.2162, 0.2084, 0.2087",\
                 "0.3132, 0.3116, 0.307, 0.2989, 0.2885, 0.2766, 0.2644, 0.2523, 0.2429, 0.2477");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03134, 0.03139, 0.03146, 0.03154, 0.03158, 0.0316, 0.03163, 0.03163, 0.03164, 0.03165",\
                 "0.03146, 0.03157, 0.03174, 0.03195, 0.03208, 0.03217, 0.03222, 0.03227, 0.0323, 0.03232",\
                 "0.03062, 0.03075, 0.03113, 0.03157, 0.03195, 0.03223, 0.03242, 0.03254, 0.03263, 0.03267",\
                 "0.03063, 0.03075, 0.03106, 0.03149, 0.03186, 0.03216, 0.03238, 0.03254, 0.03267, 0.03275",\
                 "0.035, 0.03492, 0.03477, 0.03456, 0.03442, 0.03428, 0.03413, 0.03395, 0.03382, 0.0337",\
                 "0.04536, 0.04508, 0.04413, 0.04286, 0.04153, 0.04033, 0.03927, 0.03836, 0.03757, 0.0369",\
                 "0.06265, 0.06202, 0.06014, 0.05744, 0.0545, 0.05173, 0.04924, 0.04703, 0.04513, 0.04351",\
                 "0.08735, 0.08641, 0.08361, 0.07924, 0.07434, 0.06949, 0.06503, 0.06108, 0.05761, 0.05458",\
                 "0.1197, 0.1185, 0.1147, 0.1088, 0.1017, 0.0945, 0.08766, 0.08144, 0.07597, 0.07112",\
                 "0.1602, 0.1587, 0.154, 0.1464, 0.1372, 0.1273, 0.1178, 0.109, 0.1011, 0.09393");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1574, 0.1574, 0.1574, 0.1576, 0.1577, 0.158, 0.1583, 0.1587, 0.1591, 0.1609",\
                 "0.1563, 0.1563, 0.1564, 0.1566, 0.1568, 0.157, 0.1574, 0.1578, 0.1583, 0.16",\
                 "0.1558, 0.1558, 0.1559, 0.156, 0.1563, 0.1565, 0.1569, 0.1573, 0.1579, 0.1597",\
                 "0.1591, 0.1589, 0.1586, 0.1582, 0.1578, 0.1578, 0.1577, 0.158, 0.1582, 0.1601",\
                 "0.1681, 0.1678, 0.1666, 0.1652, 0.1636, 0.1623, 0.1614, 0.1609, 0.1607, 0.1623",\
                 "0.1838, 0.1832, 0.1814, 0.1787, 0.1753, 0.1723, 0.1699, 0.1678, 0.1664, 0.1678",\
                 "0.2066, 0.2058, 0.2033, 0.1992, 0.1943, 0.1891, 0.1843, 0.1804, 0.1773, 0.1778",\
                 "0.2372, 0.2362, 0.2329, 0.2274, 0.2208, 0.2136, 0.2062, 0.1998, 0.1946, 0.1949",\
                 "0.276, 0.2747, 0.2708, 0.2641, 0.2555, 0.2461, 0.2366, 0.2272, 0.22, 0.2209",\
                 "0.3233, 0.322, 0.3173, 0.3095, 0.2991, 0.2874, 0.2753, 0.2635, 0.2545, 0.2604");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02115, 0.02117, 0.02124, 0.02132, 0.02137, 0.02139, 0.02141, 0.02142, 0.02145, 0.02145",\
                 "0.02109, 0.02119, 0.02144, 0.0217, 0.02186, 0.02196, 0.02202, 0.02207, 0.0221, 0.02212",\
                 "0.01991, 0.02009, 0.02062, 0.02122, 0.02168, 0.02199, 0.02219, 0.02233, 0.02242, 0.02248",\
                 "0.01998, 0.0201, 0.02055, 0.02108, 0.02154, 0.02193, 0.02216, 0.02234, 0.02246, 0.02255",\
                 "0.02496, 0.02483, 0.02461, 0.02439, 0.02425, 0.0241, 0.02393, 0.02378, 0.02364, 0.02353",\
                 "0.03614, 0.0357, 0.03458, 0.0331, 0.03165, 0.03035, 0.02923, 0.02827, 0.02745, 0.02676",\
                 "0.05433, 0.05362, 0.05141, 0.04833, 0.04508, 0.04206, 0.03939, 0.03709, 0.03513, 0.03345",\
                 "0.07999, 0.07895, 0.07567, 0.07085, 0.06538, 0.06016, 0.05549, 0.05135, 0.04776, 0.04465",\
                 "0.1134, 0.112, 0.1077, 0.1011, 0.09337, 0.08562, 0.07845, 0.07202, 0.06632, 0.06135",\
                 "0.1549, 0.1532, 0.1477, 0.1394, 0.1294, 0.119, 0.109, 0.09986, 0.09164, 0.08439");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1471, 0.1471, 0.1472, 0.1473, 0.1475, 0.1476, 0.1481, 0.1483, 0.1488, 0.1501",\
                 "0.146, 0.1461, 0.1461, 0.1462, 0.1465, 0.1468, 0.1472, 0.1476, 0.148, 0.1494",\
                 "0.1455, 0.1455, 0.1456, 0.1457, 0.1459, 0.1462, 0.1467, 0.1471, 0.1477, 0.149",\
                 "0.1488, 0.1486, 0.1483, 0.1479, 0.1475, 0.1474, 0.1475, 0.1477, 0.1478, 0.1496",\
                 "0.1577, 0.1574, 0.1563, 0.1548, 0.1533, 0.152, 0.1511, 0.1506, 0.1503, 0.1517",\
                 "0.1734, 0.1729, 0.1711, 0.1683, 0.165, 0.162, 0.1595, 0.1574, 0.1561, 0.1571",\
                 "0.1963, 0.1956, 0.1929, 0.1888, 0.1839, 0.1787, 0.174, 0.17, 0.1668, 0.1672",\
                 "0.227, 0.2259, 0.2226, 0.2171, 0.2104, 0.2031, 0.1959, 0.1894, 0.184, 0.1837",\
                 "0.2658, 0.2646, 0.2606, 0.2539, 0.2452, 0.2357, 0.2262, 0.217, 0.2094, 0.2096",\
                 "0.3131, 0.3117, 0.3071, 0.2993, 0.2888, 0.277, 0.2649, 0.2531, 0.2437, 0.2486");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02115, 0.02117, 0.02125, 0.02132, 0.02137, 0.02139, 0.02141, 0.02142, 0.02145, 0.02145",\
                 "0.02109, 0.02118, 0.02146, 0.02168, 0.02185, 0.02195, 0.02202, 0.02206, 0.0221, 0.02213",\
                 "0.01994, 0.02013, 0.02065, 0.02125, 0.02169, 0.02199, 0.0222, 0.02233, 0.02241, 0.02247",\
                 "0.02016, 0.02027, 0.02071, 0.0212, 0.02165, 0.02197, 0.02221, 0.02238, 0.02248, 0.02257",\
                 "0.02522, 0.02511, 0.02487, 0.02461, 0.02442, 0.02426, 0.02408, 0.02388, 0.02374, 0.02361",\
                 "0.03652, 0.03615, 0.03494, 0.03346, 0.03194, 0.03062, 0.02947, 0.02848, 0.02765, 0.02692",\
                 "0.05481, 0.05412, 0.0519, 0.04879, 0.0455, 0.04245, 0.03975, 0.03742, 0.03543, 0.03373",\
                 "0.08056, 0.07948, 0.07626, 0.07142, 0.06599, 0.06073, 0.05602, 0.05183, 0.04821, 0.04507",\
                 "0.1141, 0.1127, 0.1084, 0.1018, 0.09411, 0.08635, 0.07907, 0.07268, 0.06695, 0.06193",\
                 "0.1557, 0.154, 0.1486, 0.1403, 0.1304, 0.1199, 0.1099, 0.1007, 0.09248, 0.08514");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1556, 0.1556, 0.1556, 0.1557, 0.1559, 0.1562, 0.1565, 0.1567, 0.1572, 0.1592",\
                 "0.1547, 0.1547, 0.1548, 0.1549, 0.1552, 0.1555, 0.1558, 0.1562, 0.1565, 0.1581",\
                 "0.1541, 0.1541, 0.1542, 0.1543, 0.1546, 0.1549, 0.1553, 0.1557, 0.1561, 0.1575",\
                 "0.1573, 0.1572, 0.1568, 0.1564, 0.1562, 0.1561, 0.1562, 0.1563, 0.1569, 0.1586",\
                 "0.1665, 0.1661, 0.1651, 0.1636, 0.1621, 0.1609, 0.16, 0.1594, 0.1593, 0.1607",\
                 "0.1823, 0.1816, 0.18, 0.1774, 0.1743, 0.1713, 0.1687, 0.1667, 0.1653, 0.1662",\
                 "0.2051, 0.2045, 0.2021, 0.1982, 0.1935, 0.1886, 0.184, 0.1798, 0.1768, 0.1766",\
                 "0.2357, 0.2348, 0.2317, 0.2266, 0.2204, 0.2135, 0.2065, 0.2001, 0.1947, 0.1944",\
                 "0.2745, 0.2734, 0.2697, 0.2634, 0.2555, 0.2466, 0.2375, 0.2286, 0.2209, 0.2213",\
                 "0.3219, 0.3205, 0.3162, 0.309, 0.2994, 0.2883, 0.2769, 0.2655, 0.2565, 0.2617");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.05098, 0.05094, 0.05097, 0.05098, 0.051, 0.05102, 0.05105, 0.05105, 0.05105, 0.05101",\
                 "0.05011, 0.05014, 0.05016, 0.05018, 0.05021, 0.05024, 0.05027, 0.0503, 0.0503, 0.05026",\
                 "0.04924, 0.04926, 0.04932, 0.0494, 0.04951, 0.04959, 0.04965, 0.04969, 0.04971, 0.04969",\
                 "0.04921, 0.04924, 0.04928, 0.04933, 0.04938, 0.04944, 0.04948, 0.04951, 0.04954, 0.04951",\
                 "0.05304, 0.0529, 0.05257, 0.05216, 0.05175, 0.05136, 0.05098, 0.05071, 0.0505, 0.05033",\
                 "0.06348, 0.06317, 0.0621, 0.06064, 0.05905, 0.05756, 0.05625, 0.05513, 0.05417, 0.05341",\
                 "0.08204, 0.08138, 0.0795, 0.07657, 0.07325, 0.06993, 0.06694, 0.06433, 0.06216, 0.06024",\
                 "0.1096, 0.1086, 0.1057, 0.101, 0.09555, 0.0899, 0.08456, 0.07982, 0.07569, 0.07217",\
                 "0.1465, 0.1453, 0.1412, 0.1347, 0.1268, 0.1185, 0.1104, 0.1029, 0.09626, 0.09047",\
                 "0.1933, 0.1917, 0.1865, 0.1781, 0.1677, 0.1564, 0.1453, 0.1346, 0.1249, 0.1163");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1691, 0.1691, 0.1692, 0.1693, 0.1694, 0.1697, 0.17, 0.1704, 0.1709, 0.1727",\
                 "0.1681, 0.1681, 0.1682, 0.1683, 0.1684, 0.1687, 0.169, 0.1694, 0.17, 0.1717",\
                 "0.167, 0.1671, 0.1672, 0.1674, 0.1676, 0.1679, 0.1683, 0.1687, 0.1693, 0.1712",\
                 "0.1689, 0.1688, 0.1686, 0.1684, 0.1683, 0.1684, 0.1686, 0.1689, 0.1693, 0.1713",\
                 "0.1777, 0.1774, 0.1764, 0.1749, 0.1736, 0.1726, 0.1718, 0.1714, 0.1713, 0.1733",\
                 "0.1951, 0.1945, 0.1923, 0.1893, 0.1858, 0.1827, 0.1802, 0.1783, 0.1771, 0.1784",\
                 "0.2218, 0.2208, 0.2175, 0.2125, 0.2068, 0.2011, 0.196, 0.1918, 0.1888, 0.1891",\
                 "0.258, 0.2566, 0.2524, 0.2455, 0.2371, 0.2286, 0.2205, 0.2132, 0.2075, 0.2071",\
                 "0.3039, 0.3023, 0.2972, 0.2886, 0.2777, 0.266, 0.2548, 0.2442, 0.2356, 0.2347",\
                 "0.3597, 0.3581, 0.3523, 0.3423, 0.329, 0.3144, 0.2993, 0.2854, 0.2742, 0.2759");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04076, 0.04075, 0.04077, 0.04079, 0.04083, 0.04084, 0.04084, 0.04085, 0.04085, 0.04083",\
                 "0.03988, 0.0399, 0.03995, 0.04, 0.04004, 0.04004, 0.04007, 0.04009, 0.0401, 0.04008",\
                 "0.0389, 0.03894, 0.03905, 0.03917, 0.03931, 0.03939, 0.03944, 0.03948, 0.03951, 0.0395",\
                 "0.03894, 0.03896, 0.03902, 0.03912, 0.03917, 0.03922, 0.03929, 0.03931, 0.03934, 0.03936",\
                 "0.04313, 0.043, 0.04262, 0.04214, 0.04163, 0.04123, 0.04086, 0.04055, 0.04033, 0.04016",\
                 "0.0543, 0.05393, 0.05272, 0.05109, 0.04927, 0.04765, 0.04624, 0.04508, 0.04408, 0.04329",\
                 "0.07378, 0.07311, 0.07091, 0.06761, 0.06394, 0.06037, 0.05715, 0.05446, 0.05218, 0.05024",\
                 "0.1024, 0.1014, 0.09798, 0.09283, 0.08682, 0.08077, 0.07516, 0.07021, 0.06592, 0.06227",\
                 "0.1405, 0.1391, 0.1345, 0.1273, 0.1188, 0.1099, 0.1014, 0.09358, 0.08672, 0.08076",\
                 "0.1883, 0.1865, 0.1808, 0.1716, 0.1604, 0.1484, 0.1367, 0.1257, 0.1157, 0.1068");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1588, 0.1588, 0.1588, 0.1589, 0.1591, 0.1594, 0.1596, 0.16, 0.1606, 0.162",\
                 "0.1578, 0.1578, 0.1578, 0.158, 0.1581, 0.1584, 0.1587, 0.1591, 0.1597, 0.1613",\
                 "0.1567, 0.1567, 0.1569, 0.1571, 0.1574, 0.1576, 0.158, 0.1584, 0.159, 0.1608",\
                 "0.1586, 0.1585, 0.1583, 0.1581, 0.158, 0.158, 0.1583, 0.1586, 0.1591, 0.1609",\
                 "0.1674, 0.167, 0.1659, 0.1646, 0.1632, 0.1622, 0.1615, 0.161, 0.1611, 0.1625",\
                 "0.1848, 0.1842, 0.182, 0.1789, 0.1755, 0.1724, 0.1699, 0.1681, 0.1668, 0.168",\
                 "0.2115, 0.2105, 0.2072, 0.2022, 0.1965, 0.1908, 0.1857, 0.1815, 0.1784, 0.1785",\
                 "0.2478, 0.2465, 0.2422, 0.2351, 0.2268, 0.2182, 0.2102, 0.2029, 0.1971, 0.1962",\
                 "0.2937, 0.2921, 0.287, 0.2784, 0.2675, 0.2557, 0.2444, 0.234, 0.2251, 0.2236",\
                 "0.3496, 0.3479, 0.3421, 0.332, 0.3188, 0.3039, 0.289, 0.2751, 0.2636, 0.2643");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.04076, 0.04074, 0.04076, 0.04078, 0.04082, 0.04084, 0.04083, 0.04086, 0.04085, 0.04084",\
                 "0.03988, 0.0399, 0.03991, 0.03997, 0.04003, 0.04004, 0.04005, 0.04008, 0.04009, 0.04007",\
                 "0.03894, 0.03895, 0.03906, 0.03918, 0.03929, 0.0394, 0.03945, 0.03948, 0.03951, 0.0395",\
                 "0.03902, 0.03902, 0.03907, 0.03916, 0.03922, 0.03927, 0.03931, 0.03934, 0.03937, 0.03938",\
                 "0.04329, 0.04314, 0.04272, 0.04222, 0.04172, 0.04129, 0.0409, 0.04061, 0.04037, 0.04018",\
                 "0.05444, 0.05406, 0.05284, 0.05117, 0.04937, 0.04771, 0.0463, 0.04513, 0.04415, 0.04334",\
                 "0.07392, 0.07325, 0.071, 0.06779, 0.06408, 0.06048, 0.05728, 0.05458, 0.05227, 0.05034",\
                 "0.1026, 0.1015, 0.09819, 0.09298, 0.08702, 0.08099, 0.0754, 0.07044, 0.06612, 0.06248",\
                 "0.1407, 0.1393, 0.1347, 0.1276, 0.1191, 0.1102, 0.1017, 0.09394, 0.08708, 0.08109",\
                 "0.1886, 0.1868, 0.1811, 0.172, 0.1609, 0.1489, 0.1372, 0.1262, 0.1162, 0.1073");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1672, 0.1672, 0.1672, 0.1673, 0.1675, 0.1677, 0.168, 0.1684, 0.169, 0.1706",\
                 "0.1662, 0.1663, 0.1663, 0.1665, 0.1666, 0.1669, 0.1672, 0.1676, 0.1682, 0.1698",\
                 "0.1651, 0.1651, 0.1653, 0.1655, 0.1657, 0.166, 0.1665, 0.1669, 0.1675, 0.1693",\
                 "0.167, 0.1669, 0.1667, 0.1666, 0.1665, 0.1666, 0.1668, 0.1671, 0.1676, 0.1695",\
                 "0.1759, 0.1755, 0.1745, 0.1732, 0.1718, 0.1707, 0.1701, 0.1697, 0.1696, 0.1713",\
                 "0.1934, 0.1928, 0.1908, 0.1879, 0.1845, 0.1815, 0.1789, 0.1771, 0.1758, 0.1769",\
                 "0.2202, 0.2193, 0.2162, 0.2115, 0.206, 0.2003, 0.1953, 0.191, 0.1879, 0.1879",\
                 "0.2564, 0.2553, 0.2512, 0.2448, 0.2368, 0.2285, 0.2206, 0.2133, 0.2076, 0.2066",\
                 "0.3025, 0.301, 0.2962, 0.2881, 0.2778, 0.2667, 0.2557, 0.2452, 0.2366, 0.2354",\
                 "0.3584, 0.3568, 0.3514, 0.342, 0.3295, 0.3155, 0.3011, 0.2875, 0.276, 0.2772");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03993, 0.03992, 0.03994, 0.03996, 0.04, 0.04001, 0.04001, 0.04002, 0.04002, 0.04",\
                 "0.03905, 0.03907, 0.03912, 0.03915, 0.03921, 0.03921, 0.03924, 0.03926, 0.03927, 0.03924",\
                 "0.03809, 0.03811, 0.03822, 0.03837, 0.03848, 0.03856, 0.03861, 0.03866, 0.03868, 0.03868",\
                 "0.0381, 0.03813, 0.03819, 0.03829, 0.03834, 0.03839, 0.03845, 0.03848, 0.03851, 0.0385",\
                 "0.0423, 0.04217, 0.04178, 0.04131, 0.0408, 0.0404, 0.04003, 0.03972, 0.0395, 0.03933",\
                 "0.0535, 0.05314, 0.05192, 0.05027, 0.04845, 0.04683, 0.04542, 0.04424, 0.04325, 0.04248",\
                 "0.07308, 0.07234, 0.07016, 0.06682, 0.06314, 0.05957, 0.05634, 0.05364, 0.05134, 0.04943",\
                 "0.1017, 0.1007, 0.09726, 0.09208, 0.08605, 0.07998, 0.07435, 0.0694, 0.06511, 0.06145",\
                 "0.1399, 0.1385, 0.1338, 0.1266, 0.1181, 0.1091, 0.1006, 0.09281, 0.08591, 0.07995",\
                 "0.1877, 0.1859, 0.1802, 0.1709, 0.1597, 0.1477, 0.1359, 0.1249, 0.1149, 0.106");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1587, 0.1587, 0.1588, 0.1589, 0.1591, 0.1593, 0.1596, 0.16, 0.1605, 0.1621",\
                 "0.1577, 0.1577, 0.1578, 0.1579, 0.1581, 0.1583, 0.1586, 0.1591, 0.1596, 0.1613",\
                 "0.1567, 0.1567, 0.1568, 0.157, 0.1573, 0.1576, 0.1579, 0.1584, 0.1589, 0.1607",\
                 "0.1585, 0.1584, 0.1583, 0.1581, 0.158, 0.158, 0.1583, 0.1585, 0.159, 0.1606",\
                 "0.1673, 0.167, 0.166, 0.1645, 0.1632, 0.1621, 0.1614, 0.161, 0.1609, 0.1627",\
                 "0.1847, 0.1841, 0.1819, 0.1789, 0.1754, 0.1724, 0.1699, 0.168, 0.1667, 0.1679",\
                 "0.2115, 0.2104, 0.2072, 0.2021, 0.1964, 0.1908, 0.1856, 0.1814, 0.1784, 0.1784",\
                 "0.2477, 0.2464, 0.2421, 0.2351, 0.2267, 0.2182, 0.2102, 0.2029, 0.1971, 0.1964",\
                 "0.2936, 0.2921, 0.2869, 0.2783, 0.2674, 0.2556, 0.2443, 0.234, 0.2251, 0.2236",\
                 "0.3496, 0.3479, 0.342, 0.332, 0.3188, 0.304, 0.289, 0.275, 0.2637, 0.2642");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02973, 0.02973, 0.02974, 0.02977, 0.02979, 0.0298, 0.0298, 0.02981, 0.02982, 0.02981",\
                 "0.02883, 0.02884, 0.02891, 0.02894, 0.02898, 0.02902, 0.02903, 0.02905, 0.02906, 0.02905",\
                 "0.02773, 0.02778, 0.02795, 0.0281, 0.02823, 0.02834, 0.0284, 0.02845, 0.02847, 0.02848",\
                 "0.02776, 0.02781, 0.02791, 0.02802, 0.02812, 0.02819, 0.02824, 0.02828, 0.02831, 0.02832",\
                 "0.0325, 0.03233, 0.03187, 0.03127, 0.03073, 0.03027, 0.02988, 0.02958, 0.02934, 0.02916",\
                 "0.04457, 0.04411, 0.04266, 0.04072, 0.03871, 0.03692, 0.03541, 0.03419, 0.03317, 0.03235",\
                 "0.06529, 0.06437, 0.0618, 0.05801, 0.05391, 0.05004, 0.04663, 0.04375, 0.04138, 0.03941",\
                 "0.09513, 0.0939, 0.08993, 0.08405, 0.07744, 0.07091, 0.06496, 0.05978, 0.05533, 0.05157",\
                 "0.1345, 0.1328, 0.1276, 0.1195, 0.1101, 0.1006, 0.09163, 0.0835, 0.07642, 0.07027",\
                 "0.1833, 0.1814, 0.1749, 0.1648, 0.1526, 0.1398, 0.1275, 0.116, 0.1057, 0.09659");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1484, 0.1484, 0.1484, 0.1486, 0.1488, 0.149, 0.1494, 0.1498, 0.1501, 0.1522",\
                 "0.1473, 0.1474, 0.1474, 0.1476, 0.1478, 0.1481, 0.1483, 0.1489, 0.1495, 0.1504",\
                 "0.1463, 0.1463, 0.1464, 0.1467, 0.147, 0.1473, 0.1477, 0.1481, 0.1487, 0.15",\
                 "0.1482, 0.1481, 0.1479, 0.1477, 0.1477, 0.1477, 0.1479, 0.1483, 0.1488, 0.1504",\
                 "0.1571, 0.1567, 0.1556, 0.1542, 0.1528, 0.1518, 0.1511, 0.1507, 0.1507, 0.1523",\
                 "0.1744, 0.1737, 0.1716, 0.1686, 0.1651, 0.162, 0.1595, 0.1576, 0.1565, 0.1573",\
                 "0.2012, 0.2002, 0.1969, 0.1918, 0.1861, 0.1805, 0.1753, 0.171, 0.1677, 0.1676",\
                 "0.2375, 0.2362, 0.2318, 0.2248, 0.2163, 0.2079, 0.1999, 0.1926, 0.1867, 0.1854",\
                 "0.2834, 0.2819, 0.2767, 0.2681, 0.2571, 0.2453, 0.2341, 0.2236, 0.2146, 0.2124",\
                 "0.3395, 0.3377, 0.3318, 0.3218, 0.3085, 0.2936, 0.2786, 0.2646, 0.2528, 0.2524");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02971, 0.02971, 0.02973, 0.02977, 0.02977, 0.02979, 0.0298, 0.02981, 0.02982, 0.02982",\
                 "0.02881, 0.02883, 0.02888, 0.02894, 0.02898, 0.02902, 0.02903, 0.02904, 0.02905, 0.02904",\
                 "0.02774, 0.02781, 0.02794, 0.02811, 0.02824, 0.02835, 0.02841, 0.02844, 0.02847, 0.02849",\
                 "0.02784, 0.02788, 0.02796, 0.02808, 0.02816, 0.02822, 0.02827, 0.02831, 0.02834, 0.02835",\
                 "0.03267, 0.03248, 0.03198, 0.03137, 0.03081, 0.03033, 0.02993, 0.02962, 0.02937, 0.02918",\
                 "0.04475, 0.04426, 0.04278, 0.04083, 0.03881, 0.03698, 0.0355, 0.03425, 0.03322, 0.0324",\
                 "0.0654, 0.06452, 0.06192, 0.05817, 0.05404, 0.05015, 0.04675, 0.04388, 0.04147, 0.03949",\
                 "0.09527, 0.09401, 0.09011, 0.08423, 0.07764, 0.07116, 0.06521, 0.05997, 0.05554, 0.05177",\
                 "0.1346, 0.133, 0.1278, 0.1198, 0.1104, 0.1009, 0.09201, 0.0839, 0.07676, 0.0706",\
                 "0.1837, 0.1817, 0.1753, 0.1651, 0.153, 0.1403, 0.128, 0.1165, 0.1062, 0.09709");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1568, 0.1568, 0.1568, 0.1569, 0.1572, 0.1573, 0.1577, 0.1582, 0.1587, 0.1599",\
                 "0.1559, 0.1558, 0.1559, 0.1561, 0.1563, 0.1566, 0.1569, 0.1573, 0.1576, 0.1591",\
                 "0.1547, 0.1547, 0.1549, 0.1551, 0.1554, 0.1558, 0.1562, 0.1566, 0.1572, 0.1585",\
                 "0.1566, 0.1565, 0.1563, 0.1561, 0.1561, 0.1562, 0.1564, 0.1568, 0.1573, 0.159",\
                 "0.1656, 0.1652, 0.1642, 0.1628, 0.1615, 0.1604, 0.1598, 0.1594, 0.1592, 0.1607",\
                 "0.183, 0.1824, 0.1804, 0.1775, 0.1741, 0.1711, 0.1685, 0.1666, 0.1656, 0.1663",\
                 "0.2099, 0.2089, 0.2058, 0.201, 0.1956, 0.1901, 0.1849, 0.1806, 0.1774, 0.1772",\
                 "0.2461, 0.2449, 0.2409, 0.2345, 0.2263, 0.2182, 0.2102, 0.203, 0.1969, 0.1956",\
                 "0.2922, 0.2907, 0.2859, 0.2778, 0.2675, 0.2561, 0.2453, 0.2349, 0.226, 0.2242",\
                 "0.3483, 0.3466, 0.3411, 0.3317, 0.3193, 0.3051, 0.2906, 0.2771, 0.2656, 0.2657");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.03989, 0.03996, 0.03993, 0.03996, 0.03998, 0.03999, 0.04, 0.04, 0.04001, 0.03999",\
                 "0.03909, 0.03907, 0.03913, 0.03914, 0.03916, 0.03921, 0.03923, 0.03924, 0.03926, 0.03924",\
                 "0.03806, 0.03813, 0.03821, 0.03836, 0.03846, 0.03853, 0.0386, 0.03863, 0.03867, 0.03868",\
                 "0.03824, 0.03828, 0.03831, 0.03842, 0.03842, 0.03846, 0.0385, 0.03852, 0.03854, 0.03855",\
                 "0.04292, 0.04278, 0.04237, 0.04183, 0.04129, 0.04078, 0.04034, 0.04, 0.03972, 0.03951",\
                 "0.05474, 0.05437, 0.05313, 0.05133, 0.0494, 0.04763, 0.04611, 0.04485, 0.04378, 0.04291",\
                 "0.07485, 0.07416, 0.07188, 0.06851, 0.06467, 0.06088, 0.05754, 0.05467, 0.05223, 0.05021",\
                 "0.1041, 0.103, 0.09954, 0.09421, 0.08807, 0.08183, 0.07601, 0.07088, 0.06643, 0.0626",\
                 "0.1427, 0.1412, 0.1366, 0.1293, 0.1205, 0.1114, 0.1027, 0.09477, 0.08766, 0.08151",\
                 "0.1909, 0.1891, 0.1833, 0.1741, 0.1626, 0.1504, 0.1385, 0.1273, 0.1171, 0.108");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1676, 0.1676, 0.1677, 0.1678, 0.168, 0.1682, 0.1685, 0.1689, 0.1694, 0.1712",\
                 "0.1667, 0.1667, 0.1668, 0.1669, 0.1671, 0.1674, 0.1677, 0.1681, 0.1686, 0.1703",\
                 "0.1657, 0.1657, 0.1658, 0.1661, 0.1663, 0.1667, 0.1671, 0.1675, 0.1681, 0.1698",\
                 "0.1676, 0.1675, 0.1673, 0.1672, 0.1671, 0.1672, 0.1675, 0.1677, 0.1682, 0.17",\
                 "0.1764, 0.176, 0.1751, 0.1739, 0.1726, 0.1715, 0.1709, 0.1705, 0.1704, 0.1722",\
                 "0.1937, 0.1931, 0.1913, 0.1884, 0.1852, 0.1823, 0.1797, 0.1778, 0.1767, 0.1777",\
                 "0.2203, 0.2194, 0.2165, 0.2119, 0.2065, 0.2011, 0.1961, 0.1919, 0.1887, 0.1888",\
                 "0.2564, 0.2553, 0.2514, 0.2451, 0.2372, 0.2293, 0.2213, 0.2143, 0.2084, 0.2076",\
                 "0.3023, 0.3009, 0.2963, 0.2884, 0.2782, 0.2672, 0.2563, 0.2461, 0.2373, 0.2364",\
                 "0.3583, 0.3567, 0.3514, 0.3422, 0.3298, 0.3159, 0.3017, 0.2883, 0.277, 0.2783");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02973, 0.0297, 0.02974, 0.02976, 0.02977, 0.02979, 0.0298, 0.0298, 0.02981, 0.02982",\
                 "0.02883, 0.02883, 0.0289, 0.02896, 0.02899, 0.02901, 0.02903, 0.02904, 0.02906, 0.02905",\
                 "0.02774, 0.02779, 0.02794, 0.02811, 0.02824, 0.02833, 0.02839, 0.02843, 0.02847, 0.02848",\
                 "0.02795, 0.02796, 0.02807, 0.02815, 0.02823, 0.02826, 0.0283, 0.02833, 0.02836, 0.02836",\
                 "0.03317, 0.03298, 0.03247, 0.0318, 0.03121, 0.03066, 0.03022, 0.02985, 0.02956, 0.02933",\
                 "0.04584, 0.04534, 0.0439, 0.04184, 0.03968, 0.03776, 0.03613, 0.0348, 0.03371, 0.0328",\
                 "0.06712, 0.06627, 0.06356, 0.05969, 0.05544, 0.05139, 0.04784, 0.04479, 0.04228, 0.04019",\
                 "0.09757, 0.09625, 0.09227, 0.08627, 0.0795, 0.07276, 0.06667, 0.06127, 0.05667, 0.05274",\
                 "0.1374, 0.1357, 0.1303, 0.1222, 0.1127, 0.103, 0.09382, 0.0855, 0.07816, 0.07185",\
                 "0.1867, 0.1846, 0.1781, 0.1679, 0.1556, 0.1426, 0.13, 0.1184, 0.1079, 0.09859");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1573, 0.1573, 0.1573, 0.1575, 0.1577, 0.158, 0.1583, 0.1589, 0.159, 0.1605",\
                 "0.1564, 0.1564, 0.1564, 0.1567, 0.1569, 0.1571, 0.1575, 0.1578, 0.1582, 0.1596",\
                 "0.1554, 0.1554, 0.1555, 0.1558, 0.156, 0.1564, 0.1569, 0.1573, 0.1576, 0.1592",\
                 "0.1573, 0.1572, 0.157, 0.1568, 0.1568, 0.1569, 0.1571, 0.1575, 0.158, 0.1595",\
                 "0.1661, 0.1657, 0.1648, 0.1636, 0.1623, 0.1612, 0.1605, 0.1602, 0.1602, 0.1618",\
                 "0.1834, 0.1828, 0.1809, 0.1781, 0.1749, 0.1719, 0.1694, 0.1675, 0.1664, 0.1671",\
                 "0.21, 0.2092, 0.2062, 0.2015, 0.1963, 0.1908, 0.1858, 0.1816, 0.1782, 0.178",\
                 "0.2462, 0.245, 0.2412, 0.2347, 0.2268, 0.2189, 0.211, 0.2039, 0.1979, 0.1967",\
                 "0.2922, 0.2907, 0.286, 0.2781, 0.2679, 0.2568, 0.246, 0.2356, 0.227, 0.225",\
                 "0.3482, 0.3465, 0.3412, 0.3319, 0.3195, 0.3056, 0.2913, 0.2779, 0.2665, 0.2667");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.02971, 0.02969, 0.02972, 0.02974, 0.02975, 0.02979, 0.02981, 0.0298, 0.02981, 0.02982",\
                 "0.0288, 0.0288, 0.02886, 0.02894, 0.02899, 0.029, 0.02903, 0.02904, 0.02905, 0.02906",\
                 "0.02782, 0.02786, 0.02799, 0.02813, 0.02825, 0.02834, 0.0284, 0.02845, 0.02848, 0.0285",\
                 "0.02805, 0.02807, 0.02818, 0.02823, 0.0283, 0.02832, 0.02835, 0.02836, 0.02837, 0.02838",\
                 "0.03347, 0.03324, 0.03272, 0.03202, 0.03137, 0.03081, 0.03035, 0.02996, 0.02966, 0.02942",\
                 "0.04626, 0.04575, 0.04431, 0.04219, 0.04003, 0.03805, 0.03643, 0.03503, 0.0339, 0.03296",\
                 "0.06771, 0.06681, 0.06416, 0.06025, 0.05594, 0.05188, 0.04824, 0.04517, 0.04258, 0.04048",\
                 "0.09827, 0.09701, 0.093, 0.08698, 0.08018, 0.07345, 0.06728, 0.06182, 0.05718, 0.05323",\
                 "0.1383, 0.1366, 0.1313, 0.1232, 0.1136, 0.1039, 0.09464, 0.08629, 0.07895, 0.07256",\
                 "0.1878, 0.1858, 0.1793, 0.169, 0.1567, 0.1438, 0.1312, 0.1195, 0.109, 0.09963");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1658, 0.1658, 0.1658, 0.166, 0.1662, 0.1663, 0.1666, 0.1672, 0.1674, 0.1688",\
                 "0.1649, 0.165, 0.1651, 0.1652, 0.1653, 0.1656, 0.1661, 0.1662, 0.1667, 0.1682",\
                 "0.1638, 0.1639, 0.164, 0.1642, 0.1646, 0.165, 0.1654, 0.1659, 0.1662, 0.1677",\
                 "0.1658, 0.1657, 0.1655, 0.1654, 0.1654, 0.1655, 0.1658, 0.1661, 0.1665, 0.1686",\
                 "0.1747, 0.1744, 0.1735, 0.1723, 0.171, 0.17, 0.1695, 0.1689, 0.1689, 0.1704",\
                 "0.1922, 0.1916, 0.1899, 0.1872, 0.1841, 0.1811, 0.1787, 0.1767, 0.1754, 0.1762",\
                 "0.2189, 0.2181, 0.2154, 0.211, 0.206, 0.2007, 0.1957, 0.1915, 0.188, 0.1878",\
                 "0.2551, 0.254, 0.2504, 0.2444, 0.2372, 0.2295, 0.2219, 0.2146, 0.2088, 0.2073",\
                 "0.3011, 0.2998, 0.2954, 0.2881, 0.2784, 0.268, 0.2578, 0.2477, 0.2388, 0.237",\
                 "0.3572, 0.3558, 0.3508, 0.3421, 0.3307, 0.3174, 0.3037, 0.2908, 0.2795, 0.2802");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2188, 0.2371, 0.2995, 0.4169, 0.5973, 0.8487, 1.178, 1.592, 2.098, 2.7",\
                 "0.2322, 0.2503, 0.3132, 0.4306, 0.6112, 0.8627, 1.192, 1.607, 2.113, 2.714",\
                 "0.275, 0.2928, 0.3552, 0.4725, 0.653, 0.9044, 1.234, 1.648, 2.154, 2.757",\
                 "0.345, 0.3661, 0.4349, 0.5538, 0.7324, 0.9827, 1.312, 1.726, 2.23, 2.833",\
                 "0.3942, 0.42, 0.5049, 0.6516, 0.8549, 1.11, 1.436, 1.849, 2.352, 2.953",\
                 "0.4177, 0.4487, 0.5511, 0.7243, 0.9645, 1.263, 1.615, 2.027, 2.528, 3.127",\
                 "0.4103, 0.4472, 0.5664, 0.7706, 1.048, 1.39, 1.794, 2.252, 2.765, 3.361",\
                 "0.3699, 0.4119, 0.5517, 0.7847, 1.103, 1.491, 1.943, 2.459, 3.032, 3.659",\
                 "0.2943, 0.3422, 0.4993, 0.7646, 1.124, 1.56, 2.064, 2.634, 3.269, 3.963",\
                 "0.1814, 0.2352, 0.4085, 0.7064, 1.108, 1.594, 2.153, 2.78, 3.473, 4.233");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2693, 0.3003, 0.4085, 0.6135, 0.9313, 1.376, 1.961, 2.698, 3.595, 4.663",\
                 "0.2809, 0.3124, 0.4219, 0.6287, 0.9477, 1.394, 1.979, 2.716, 3.614, 4.682",\
                 "0.3364, 0.3671, 0.4755, 0.6812, 1.001, 1.448, 2.034, 2.771, 3.669, 4.738",\
                 "0.4546, 0.4873, 0.5946, 0.7957, 1.112, 1.556, 2.14, 2.877, 3.774, 4.843",\
                 "0.6085, 0.6468, 0.7725, 0.9894, 1.3, 1.738, 2.317, 3.05, 3.945, 5.011",\
                 "0.8019, 0.8455, 0.9856, 1.231, 1.573, 2.009, 2.581, 3.306, 4.195, 5.258",\
                 "1.033, 1.083, 1.243, 1.512, 1.89, 2.369, 2.944, 3.66, 4.54, 5.594",\
                 "1.301, 1.358, 1.539, 1.839, 2.25, 2.773, 3.398, 4.121, 4.992, 6.037",\
                 "1.608, 1.672, 1.875, 2.211, 2.657, 3.219, 3.895, 4.674, 5.557, 6.591",\
                 "1.955, 2.026, 2.254, 2.625, 3.116, 3.717, 4.438, 5.275, 6.218, 7.267");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.331, 0.3614, 0.468, 0.6679, 0.9773, 1.411, 1.978, 2.69, 3.562, 4.6",\
                 "0.3302, 0.3615, 0.4682, 0.6679, 0.9776, 1.41, 1.978, 2.69, 3.563, 4.6",\
                 "0.3222, 0.3535, 0.4639, 0.6672, 0.9769, 1.41, 1.978, 2.691, 3.562, 4.599",\
                 "0.3832, 0.4125, 0.5062, 0.6823, 0.9756, 1.41, 1.977, 2.691, 3.561, 4.601",\
                 "0.4866, 0.518, 0.6226, 0.8068, 1.069, 1.443, 1.977, 2.691, 3.562, 4.6",\
                 "0.624, 0.6592, 0.7734, 0.9712, 1.255, 1.625, 2.093, 2.727, 3.563, 4.599",\
                 "0.7876, 0.8286, 0.9576, 1.174, 1.476, 1.87, 2.357, 2.937, 3.678, 4.63",\
                 "0.9706, 1.018, 1.169, 1.411, 1.738, 2.152, 2.669, 3.278, 3.986, 4.844",\
                 "1.173, 1.226, 1.401, 1.676, 2.037, 2.478, 3.017, 3.66, 4.406, 5.247",\
                 "1.39, 1.454, 1.651, 1.966, 2.367, 2.853, 3.412, 4.08, 4.864, 5.748");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6182, 0.673, 0.8638, 1.223, 1.779, 2.555, 3.576, 4.864, 6.435, 8.298",\
                 "0.6181, 0.673, 0.8638, 1.223, 1.778, 2.555, 3.576, 4.862, 6.432, 8.305",\
                 "0.6175, 0.6724, 0.8632, 1.223, 1.779, 2.555, 3.577, 4.861, 6.43, 8.305",\
                 "0.6757, 0.7202, 0.8827, 1.224, 1.778, 2.556, 3.577, 4.863, 6.434, 8.3",\
                 "0.8048, 0.8504, 1.002, 1.293, 1.791, 2.555, 3.577, 4.863, 6.433, 8.303",\
                 "0.9546, 1, 1.164, 1.467, 1.916, 2.596, 3.58, 4.862, 6.435, 8.307",\
                 "1.147, 1.189, 1.347, 1.661, 2.139, 2.774, 3.657, 4.875, 6.431, 8.302",\
                 "1.377, 1.419, 1.574, 1.884, 2.382, 3.053, 3.891, 5, 6.462, 8.302",\
                 "1.633, 1.68, 1.839, 2.15, 2.648, 3.351, 4.229, 5.282, 6.636, 8.36",\
                 "1.909, 1.959, 2.132, 2.461, 2.956, 3.668, 4.588, 5.684, 6.976, 8.59");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1762, 0.1941, 0.2559, 0.3723, 0.5517, 0.8023, 1.131, 1.545, 2.05, 2.652",\
                 "0.1894, 0.2073, 0.2693, 0.386, 0.5656, 0.8164, 1.145, 1.559, 2.065, 2.667",\
                 "0.234, 0.251, 0.3115, 0.4278, 0.6073, 0.8582, 1.187, 1.601, 2.106, 2.709",\
                 "0.2915, 0.3137, 0.3861, 0.5096, 0.6871, 0.9368, 1.265, 1.678, 2.183, 2.785",\
                 "0.326, 0.3539, 0.4433, 0.5965, 0.8055, 1.064, 1.39, 1.802, 2.305, 2.906",\
                 "0.3338, 0.3672, 0.4766, 0.6587, 0.9052, 1.21, 1.567, 1.98, 2.481, 3.079",\
                 "0.3111, 0.3506, 0.4791, 0.693, 0.9799, 1.329, 1.739, 2.203, 2.718, 3.314",\
                 "0.2542, 0.2997, 0.4485, 0.6959, 1.025, 1.422, 1.881, 2.402, 2.98, 3.611",\
                 "0.163, 0.2139, 0.3826, 0.6631, 1.035, 1.483, 1.996, 2.571, 3.211, 3.91",\
                 "0.0337, 0.0922, 0.2793, 0.592, 1.009, 1.508, 2.078, 2.711, 3.41, 4.174");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2629, 0.2939, 0.4017, 0.6057, 0.9225, 1.366, 1.949, 2.683, 3.579, 4.646",\
                 "0.2747, 0.3063, 0.4151, 0.6211, 0.9388, 1.383, 1.967, 2.702, 3.598, 4.664",\
                 "0.3301, 0.3607, 0.4684, 0.6736, 0.9921, 1.437, 2.021, 2.757, 3.653, 4.72",\
                 "0.4472, 0.4802, 0.5875, 0.7883, 1.103, 1.545, 2.128, 2.862, 3.758, 4.825",\
                 "0.599, 0.6372, 0.7639, 0.9807, 1.291, 1.727, 2.305, 3.035, 3.928, 4.993",\
                 "0.7905, 0.8332, 0.9747, 1.221, 1.564, 1.999, 2.569, 3.292, 4.179, 5.239",\
                 "1.017, 1.067, 1.228, 1.499, 1.879, 2.357, 2.931, 3.646, 4.524, 5.577",\
                 "1.281, 1.338, 1.522, 1.824, 2.235, 2.759, 3.384, 4.106, 4.976, 6.019",\
                 "1.582, 1.647, 1.855, 2.192, 2.641, 3.203, 3.879, 4.659, 5.54, 6.573",\
                 "1.92, 1.994, 2.227, 2.602, 3.098, 3.699, 4.419, 5.257, 6.2, 7.248");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2818, 0.3126, 0.419, 0.6189, 0.9276, 1.359, 1.926, 2.638, 3.51, 4.548",\
                 "0.2807, 0.3118, 0.419, 0.6185, 0.9276, 1.359, 1.925, 2.638, 3.51, 4.547",\
                 "0.2768, 0.3057, 0.4116, 0.6165, 0.9273, 1.36, 1.925, 2.639, 3.51, 4.547",\
                 "0.3475, 0.3761, 0.4713, 0.6419, 0.9273, 1.358, 1.925, 2.638, 3.51, 4.548",\
                 "0.4525, 0.4838, 0.5872, 0.7714, 1.034, 1.401, 1.929, 2.638, 3.509, 4.548",\
                 "0.5902, 0.626, 0.739, 0.9362, 1.222, 1.59, 2.055, 2.681, 3.513, 4.547",\
                 "0.7486, 0.79, 0.9226, 1.14, 1.441, 1.837, 2.323, 2.902, 3.637, 4.583",\
                 "0.9258, 0.975, 1.13, 1.378, 1.705, 2.117, 2.634, 3.245, 3.951, 4.805",\
                 "1.12, 1.177, 1.355, 1.639, 2.004, 2.447, 2.982, 3.625, 4.371, 5.212",\
                 "1.335, 1.4, 1.6, 1.922, 2.331, 2.819, 3.383, 4.044, 4.827, 5.712");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5039, 0.5588, 0.75, 1.109, 1.664, 2.44, 3.461, 4.748, 6.319, 8.187",\
                 "0.5039, 0.5591, 0.7497, 1.109, 1.664, 2.44, 3.461, 4.747, 6.318, 8.19",\
                 "0.5035, 0.5588, 0.7502, 1.11, 1.664, 2.44, 3.459, 4.747, 6.313, 8.189",\
                 "0.562, 0.6061, 0.7694, 1.11, 1.664, 2.44, 3.461, 4.749, 6.318, 8.188",\
                 "0.6734, 0.7216, 0.886, 1.18, 1.676, 2.441, 3.461, 4.748, 6.315, 8.191",\
                 "0.8058, 0.8552, 1.028, 1.345, 1.802, 2.481, 3.464, 4.748, 6.317, 8.186",\
                 "0.9798, 1.027, 1.198, 1.526, 2.019, 2.66, 3.543, 4.759, 6.319, 8.19",\
                 "1.185, 1.235, 1.409, 1.736, 2.247, 2.932, 3.775, 4.882, 6.345, 8.186",\
                 "1.41, 1.465, 1.651, 1.99, 2.502, 3.216, 4.109, 5.166, 6.523, 8.246",\
                 "1.655, 1.714, 1.919, 2.279, 2.801, 3.525, 4.465, 5.565, 6.859, 8.476");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.159, 0.1743, 0.2274, 0.327, 0.4806, 0.6951, 0.9767, 1.331, 1.763, 2.278",\
                 "0.1722, 0.1876, 0.2409, 0.3407, 0.4946, 0.7091, 0.9907, 1.345, 1.777, 2.292",\
                 "0.218, 0.2329, 0.285, 0.3845, 0.5383, 0.7527, 1.034, 1.389, 1.821, 2.336",\
                 "0.2683, 0.2886, 0.3549, 0.4675, 0.6228, 0.8362, 1.117, 1.471, 1.902, 2.417",\
                 "0.2933, 0.3192, 0.4031, 0.5441, 0.7352, 0.9688, 1.25, 1.601, 2.032, 2.545",\
                 "0.2892, 0.3207, 0.4235, 0.5935, 0.8219, 1.101, 1.425, 1.79, 2.218, 2.73",\
                 "0.2501, 0.2877, 0.4105, 0.6115, 0.8801, 1.204, 1.578, 2, 2.464, 2.979",\
                 "0.1755, 0.2188, 0.3596, 0.5942, 0.9042, 1.276, 1.7, 2.178, 2.704, 3.274",\
                 "0.0624, 0.1113, 0.2712, 0.5379, 0.891, 1.311, 1.79, 2.322, 2.908, 3.544",\
                 "-0.0916, -0.0365, 0.1426, 0.4396, 0.8351, 1.305, 1.841, 2.433, 3.077, 3.778");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.263, 0.2938, 0.4016, 0.6058, 0.9224, 1.366, 1.949, 2.683, 3.579, 4.646",\
                 "0.2739, 0.3053, 0.4145, 0.6204, 0.9385, 1.383, 1.967, 2.701, 3.597, 4.664",\
                 "0.3285, 0.3591, 0.4668, 0.6719, 0.9904, 1.435, 2.02, 2.755, 3.651, 4.719",\
                 "0.4474, 0.48, 0.5871, 0.7872, 1.101, 1.544, 2.126, 2.86, 3.756, 4.823",\
                 "0.6045, 0.6424, 0.7677, 0.9832, 1.292, 1.728, 2.304, 3.035, 3.928, 4.992",\
                 "0.8025, 0.8454, 0.9849, 1.229, 1.569, 2.003, 2.571, 3.294, 4.18, 5.241",\
                 "1.04, 1.09, 1.248, 1.515, 1.892, 2.368, 2.939, 3.652, 4.53, 5.58",\
                 "1.318, 1.374, 1.554, 1.851, 2.259, 2.778, 3.4, 4.12, 4.986, 6.027",\
                 "1.636, 1.7, 1.903, 2.235, 2.678, 3.234, 3.906, 4.681, 5.559, 6.589",\
                 "1.995, 2.068, 2.295, 2.664, 3.15, 3.745, 4.459, 5.292, 6.23, 7.275");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2341, 0.2603, 0.3502, 0.5198, 0.782, 1.149, 1.633, 2.241, 2.984, 3.867",\
                 "0.2336, 0.2596, 0.35, 0.519, 0.7819, 1.15, 1.634, 2.241, 2.984, 3.869",\
                 "0.2392, 0.2623, 0.347, 0.5179, 0.7823, 1.15, 1.634, 2.241, 2.984, 3.869",\
                 "0.3178, 0.3416, 0.423, 0.5642, 0.7936, 1.15, 1.632, 2.241, 2.982, 3.867",\
                 "0.4236, 0.4507, 0.5422, 0.7022, 0.9272, 1.224, 1.651, 2.241, 2.983, 3.868",\
                 "0.5576, 0.59, 0.6946, 0.8698, 1.118, 1.437, 1.822, 2.327, 3.002, 3.868",\
                 "0.7112, 0.7502, 0.874, 1.072, 1.342, 1.687, 2.106, 2.596, 3.189, 3.952",\
                 "0.8832, 0.9294, 1.075, 1.304, 1.603, 1.974, 2.42, 2.949, 3.553, 4.247",\
                 "1.074, 1.127, 1.293, 1.558, 1.898, 2.298, 2.774, 3.333, 3.978, 4.705",\
                 "1.283, 1.345, 1.535, 1.833, 2.215, 2.662, 3.173, 3.759, 4.438, 5.205");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5042, 0.5592, 0.75, 1.109, 1.663, 2.44, 3.46, 4.747, 6.318, 8.188",\
                 "0.5042, 0.5588, 0.75, 1.109, 1.664, 2.44, 3.461, 4.745, 6.316, 8.191",\
                 "0.5036, 0.5582, 0.7497, 1.109, 1.664, 2.44, 3.461, 4.746, 6.318, 8.19",\
                 "0.5616, 0.6062, 0.7694, 1.111, 1.664, 2.44, 3.461, 4.749, 6.312, 8.19",\
                 "0.6692, 0.7182, 0.884, 1.18, 1.677, 2.44, 3.461, 4.748, 6.317, 8.184",\
                 "0.7968, 0.8462, 1.02, 1.34, 1.799, 2.479, 3.463, 4.749, 6.319, 8.19",\
                 "0.964, 1.012, 1.184, 1.514, 2.01, 2.654, 3.539, 4.759, 6.319, 8.188",\
                 "1.162, 1.212, 1.384, 1.715, 2.231, 2.92, 3.764, 4.881, 6.345, 8.192",\
                 "1.382, 1.436, 1.621, 1.955, 2.476, 3.196, 4.093, 5.154, 6.519, 8.243",\
                 "1.621, 1.68, 1.88, 2.237, 2.758, 3.491, 4.434, 5.543, 6.843, 8.468");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.175, 0.1928, 0.2546, 0.3708, 0.5501, 0.8007, 1.13, 1.543, 2.049, 2.65",\
                 "0.1882, 0.206, 0.2679, 0.3845, 0.564, 0.8147, 1.144, 1.558, 2.063, 2.665",\
                 "0.2328, 0.2498, 0.3102, 0.4263, 0.6058, 0.8566, 1.186, 1.599, 2.105, 2.707",\
                 "0.2898, 0.312, 0.3844, 0.508, 0.6855, 0.9352, 1.263, 1.677, 2.181, 2.783",\
                 "0.3239, 0.3515, 0.4412, 0.5944, 0.8034, 1.062, 1.388, 1.8, 2.304, 2.904",\
                 "0.3306, 0.3644, 0.4736, 0.6563, 0.903, 1.208, 1.566, 1.978, 2.479, 3.078",\
                 "0.3074, 0.347, 0.4754, 0.6906, 0.977, 1.327, 1.736, 2.2, 2.716, 3.313",\
                 "0.25, 0.2956, 0.4446, 0.6921, 1.022, 1.419, 1.879, 2.401, 2.978, 3.609",\
                 "0.1584, 0.2098, 0.3783, 0.6591, 1.032, 1.48, 1.993, 2.57, 3.209, 3.908",\
                 "0.0289, 0.0869, 0.2753, 0.5878, 1.006, 1.505, 2.075, 2.709, 3.408, 4.172");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2629, 0.2939, 0.4017, 0.6057, 0.9225, 1.366, 1.949, 2.683, 3.578, 4.645",\
                 "0.2748, 0.3063, 0.415, 0.6211, 0.9389, 1.383, 1.967, 2.702, 3.597, 4.664",\
                 "0.3301, 0.3607, 0.4685, 0.6736, 0.992, 1.437, 2.021, 2.756, 3.652, 4.72",\
                 "0.4472, 0.4798, 0.5875, 0.7882, 1.102, 1.545, 2.128, 2.862, 3.758, 4.825",\
                 "0.5991, 0.6373, 0.7639, 0.9806, 1.291, 1.727, 2.305, 3.035, 3.928, 4.993",\
                 "0.7902, 0.8332, 0.9748, 1.221, 1.563, 1.999, 2.569, 3.292, 4.179, 5.239",\
                 "1.017, 1.067, 1.228, 1.499, 1.878, 2.357, 2.932, 3.645, 4.524, 5.576",\
                 "1.281, 1.338, 1.522, 1.824, 2.235, 2.759, 3.384, 4.106, 4.975, 6.017",\
                 "1.581, 1.647, 1.854, 2.192, 2.641, 3.202, 3.879, 4.659, 5.54, 6.573",\
                 "1.92, 1.994, 2.227, 2.602, 3.097, 3.698, 4.419, 5.257, 6.2, 7.248");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2797, 0.3105, 0.417, 0.6169, 0.9258, 1.357, 1.924, 2.637, 3.508, 4.547",\
                 "0.2786, 0.3097, 0.417, 0.6165, 0.9245, 1.358, 1.923, 2.637, 3.508, 4.545",\
                 "0.2751, 0.3041, 0.4098, 0.615, 0.9257, 1.358, 1.923, 2.637, 3.508, 4.545",\
                 "0.3467, 0.3752, 0.4701, 0.6407, 0.9257, 1.356, 1.923, 2.637, 3.507, 4.547",\
                 "0.4513, 0.4818, 0.586, 0.7698, 1.033, 1.399, 1.927, 2.637, 3.508, 4.546",\
                 "0.5906, 0.6258, 0.7368, 0.9348, 1.219, 1.59, 2.054, 2.68, 3.511, 4.546",\
                 "0.7472, 0.7886, 0.9218, 1.14, 1.439, 1.835, 2.322, 2.9, 3.635, 4.58",\
                 "0.9244, 0.973, 1.128, 1.377, 1.704, 2.117, 2.632, 3.244, 3.95, 4.805",\
                 "1.118, 1.177, 1.354, 1.639, 2.003, 2.446, 2.982, 3.622, 4.369, 5.211",\
                 "1.33, 1.399, 1.599, 1.924, 2.331, 2.818, 3.382, 4.045, 4.826, 5.711");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5004, 0.5551, 0.7457, 1.104, 1.659, 2.435, 3.456, 4.743, 6.309, 8.184",\
                 "0.5004, 0.5555, 0.7461, 1.105, 1.659, 2.434, 3.455, 4.741, 6.312, 8.183",\
                 "0.5002, 0.5546, 0.7456, 1.106, 1.659, 2.435, 3.456, 4.743, 6.315, 8.185",\
                 "0.5583, 0.6023, 0.765, 1.106, 1.659, 2.435, 3.455, 4.744, 6.31, 8.184",\
                 "0.6686, 0.7184, 0.8816, 1.175, 1.672, 2.435, 3.456, 4.744, 6.309, 8.184",\
                 "0.8008, 0.85, 1.024, 1.34, 1.798, 2.475, 3.459, 4.744, 6.315, 8.183",\
                 "0.9734, 1.021, 1.191, 1.519, 2.013, 2.652, 3.538, 4.754, 6.313, 8.182",\
                 "1.177, 1.227, 1.402, 1.731, 2.242, 2.927, 3.768, 4.878, 6.339, 8.188",\
                 "1.399, 1.456, 1.643, 1.981, 2.496, 3.213, 4.103, 5.163, 6.511, 8.239",\
                 "1.643, 1.703, 1.91, 2.272, 2.792, 3.521, 4.453, 5.561, 6.851, 8.472");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1354, 0.1525, 0.2124, 0.327, 0.5053, 0.7549, 1.083, 1.497, 2.002, 2.604",\
                 "0.1485, 0.1655, 0.2257, 0.3404, 0.5191, 0.7689, 1.097, 1.511, 2.016, 2.618",\
                 "0.1927, 0.2102, 0.2685, 0.3824, 0.5608, 0.8105, 1.139, 1.553, 2.058, 2.66",\
                 "0.2328, 0.2567, 0.3337, 0.4625, 0.6407, 0.889, 1.217, 1.63, 2.134, 2.736",\
                 "0.25, 0.2803, 0.377, 0.5371, 0.7528, 1.016, 1.342, 1.753, 2.256, 2.856",\
                 "0.2391, 0.2762, 0.3945, 0.5878, 0.843, 1.155, 1.517, 1.932, 2.432, 3.03",\
                 "0.1965, 0.2401, 0.382, 0.6094, 0.9076, 1.265, 1.681, 2.149, 2.669, 3.264",\
                 "0.1227, 0.1738, 0.3357, 0.5985, 0.941, 1.349, 1.816, 2.343, 2.926, 3.561",\
                 "0.0133, 0.0715, 0.2545, 0.5521, 0.9415, 1.401, 1.923, 2.507, 3.151, 3.854",\
                 "-0.1329, -0.068, 0.1375, 0.469, 0.904, 1.416, 1.997, 2.639, 3.344, 4.114");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.257, 0.2878, 0.3951, 0.599, 0.9148, 1.356, 1.939, 2.669, 3.565, 4.635",\
                 "0.2685, 0.3002, 0.4091, 0.6139, 0.9311, 1.375, 1.958, 2.691, 3.583, 4.65",\
                 "0.324, 0.3546, 0.462, 0.6668, 0.9843, 1.428, 2.01, 2.745, 3.639, 4.708",\
                 "0.44, 0.473, 0.5809, 0.7809, 1.095, 1.536, 2.117, 2.85, 3.745, 4.813",\
                 "0.5899, 0.6283, 0.7554, 0.9729, 1.283, 1.718, 2.294, 3.023, 3.915, 4.979",\
                 "0.7779, 0.8219, 0.9644, 1.211, 1.553, 1.989, 2.558, 3.279, 4.165, 5.224",\
                 "1.002, 1.053, 1.216, 1.488, 1.867, 2.346, 2.92, 3.631, 4.509, 5.562",\
                 "1.262, 1.321, 1.505, 1.808, 2.222, 2.745, 3.37, 4.093, 4.96, 6.001",\
                 "1.556, 1.623, 1.835, 2.176, 2.625, 3.187, 3.863, 4.643, 5.524, 6.556",\
                 "1.89, 1.964, 2.201, 2.582, 3.079, 3.681, 4.401, 5.238, 6.182, 7.231");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.228, 0.2583, 0.3659, 0.5663, 0.8747, 1.305, 1.873, 2.586, 3.459, 4.498",\
                 "0.2249, 0.2568, 0.3652, 0.5663, 0.8741, 1.305, 1.875, 2.586, 3.458, 4.501",\
                 "0.2354, 0.262, 0.3602, 0.5632, 0.8743, 1.305, 1.872, 2.588, 3.459, 4.495",\
                 "0.3109, 0.3393, 0.4346, 0.6032, 0.879, 1.304, 1.871, 2.586, 3.457, 4.499",\
                 "0.4194, 0.4506, 0.5524, 0.7358, 0.9998, 1.359, 1.878, 2.586, 3.456, 4.496",\
                 "0.5538, 0.5902, 0.7072, 0.9022, 1.184, 1.556, 2.017, 2.639, 3.466, 4.499",\
                 "0.7074, 0.7518, 0.8898, 1.108, 1.406, 1.801, 2.287, 2.866, 3.597, 4.533",\
                 "0.88, 0.9308, 1.09, 1.343, 1.672, 2.083, 2.596, 3.208, 3.916, 4.764",\
                 "1.071, 1.126, 1.313, 1.601, 1.973, 2.417, 2.947, 3.589, 4.335, 5.178",\
                 "1.278, 1.345, 1.554, 1.881, 2.295, 2.786, 3.348, 4.011, 4.79, 5.675");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3991, 0.4519, 0.6385, 0.9923, 1.547, 2.323, 3.349, 4.634, 6.2, 8.08",\
                 "0.3983, 0.4517, 0.6376, 0.9939, 1.548, 2.324, 3.345, 4.633, 6.203, 8.067",\
                 "0.3983, 0.4515, 0.6384, 0.9924, 1.548, 2.326, 3.343, 4.629, 6.196, 8.084",\
                 "0.4541, 0.4987, 0.6577, 0.9952, 1.545, 2.321, 3.343, 4.631, 6.201, 8.08",\
                 "0.5422, 0.5938, 0.766, 1.064, 1.56, 2.324, 3.348, 4.626, 6.197, 8.072",\
                 "0.656, 0.7082, 0.8886, 1.218, 1.683, 2.363, 3.346, 4.635, 6.2, 8.072",\
                 "0.8058, 0.859, 1.043, 1.384, 1.89, 2.539, 3.428, 4.644, 6.206, 8.071",\
                 "0.9776, 1.035, 1.233, 1.583, 2.111, 2.806, 3.652, 4.769, 6.222, 8.084",\
                 "1.163, 1.234, 1.45, 1.818, 2.351, 3.083, 3.986, 5.047, 6.395, 8.132",\
                 "1.365, 1.445, 1.688, 2.089, 2.639, 3.377, 4.326, 5.444, 6.737, 8.348");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1249, 0.1396, 0.191, 0.2888, 0.4415, 0.655, 0.9356, 1.29, 1.722, 2.238",\
                 "0.1378, 0.1527, 0.2043, 0.3025, 0.455, 0.6689, 0.9502, 1.304, 1.736, 2.251",\
                 "0.1806, 0.1967, 0.2488, 0.3463, 0.4989, 0.7124, 0.9933, 1.347, 1.779, 2.294",\
                 "0.2144, 0.2364, 0.3074, 0.4254, 0.5833, 0.7958, 1.076, 1.429, 1.861, 2.375",\
                 "0.2224, 0.251, 0.3418, 0.4896, 0.6875, 0.9266, 1.209, 1.561, 1.99, 2.504",\
                 "0.1993, 0.235, 0.3467, 0.5274, 0.7645, 1.05, 1.379, 1.748, 2.177, 2.688",\
                 "0.143, 0.1845, 0.3179, 0.5329, 0.8126, 1.144, 1.526, 1.952, 2.421, 2.937",\
                 "0.0509, 0.0996, 0.2533, 0.5024, 0.8257, 1.207, 1.64, 2.124, 2.655, 3.229",\
                 "-0.0797, -0.0244, 0.151, 0.4335, 0.801, 1.234, 1.723, 2.262, 2.853, 3.495",\
                 "-0.2518, -0.1891, 0.007, 0.3229, 0.7345, 1.22, 1.767, 2.366, 3.017, 3.723");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2572, 0.2878, 0.3954, 0.5986, 0.9148, 1.357, 1.939, 2.672, 3.568, 4.629",\
                 "0.2681, 0.2995, 0.4083, 0.6137, 0.9306, 1.373, 1.957, 2.69, 3.582, 4.65",\
                 "0.3223, 0.3529, 0.4603, 0.6652, 0.9825, 1.426, 2.008, 2.743, 3.64, 4.704",\
                 "0.4403, 0.4731, 0.5808, 0.78, 1.093, 1.534, 2.115, 2.848, 3.742, 4.811",\
                 "0.5954, 0.6333, 0.7591, 0.9755, 1.284, 1.718, 2.293, 3.022, 3.914, 4.976",\
                 "0.7912, 0.8342, 0.9745, 1.219, 1.56, 1.993, 2.56, 3.281, 4.167, 5.227",\
                 "1.026, 1.076, 1.236, 1.504, 1.881, 2.357, 2.928, 3.639, 4.514, 5.566",\
                 "1.3, 1.357, 1.538, 1.838, 2.245, 2.765, 3.386, 4.106, 4.97, 6.011",\
                 "1.613, 1.678, 1.883, 2.217, 2.662, 3.219, 3.89, 4.666, 5.542, 6.573",\
                 "1.966, 2.04, 2.272, 2.644, 3.13, 3.727, 4.442, 5.274, 6.212, 7.256");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1904, 0.2161, 0.3057, 0.4761, 0.7381, 1.105, 1.589, 2.198, 2.94, 3.827",\
                 "0.1892, 0.2161, 0.3062, 0.4753, 0.7375, 1.105, 1.589, 2.197, 2.941, 3.826",\
                 "0.2096, 0.2307, 0.3081, 0.4729, 0.7368, 1.104, 1.589, 2.198, 2.939, 3.825",\
                 "0.2873, 0.3123, 0.3939, 0.5355, 0.7559, 1.105, 1.588, 2.197, 2.939, 3.824",\
                 "0.3947, 0.423, 0.5133, 0.674, 0.899, 1.193, 1.613, 2.198, 2.939, 3.826",\
                 "0.5254, 0.559, 0.6666, 0.8412, 1.089, 1.408, 1.793, 2.293, 2.965, 3.828",\
                 "0.6754, 0.7156, 0.8428, 1.048, 1.312, 1.658, 2.077, 2.568, 3.157, 3.918",\
                 "0.8424, 0.8904, 1.039, 1.275, 1.578, 1.944, 2.39, 2.92, 3.526, 4.217",\
                 "1.029, 1.083, 1.255, 1.527, 1.867, 2.274, 2.744, 3.303, 3.949, 4.675",\
                 "1.23, 1.297, 1.493, 1.796, 2.186, 2.634, 3.147, 3.729, 4.412, 5.177");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3986, 0.4519, 0.6383, 0.9939, 1.547, 2.323, 3.341, 4.634, 6.206, 8.078",\
                 "0.3988, 0.4519, 0.6388, 0.9932, 1.546, 2.324, 3.345, 4.631, 6.204, 8.071",\
                 "0.3981, 0.4511, 0.6373, 0.9938, 1.546, 2.326, 3.346, 4.639, 6.206, 8.071",\
                 "0.4541, 0.499, 0.6569, 0.995, 1.547, 2.324, 3.343, 4.631, 6.201, 8.075",\
                 "0.5404, 0.591, 0.7638, 1.063, 1.561, 2.324, 3.348, 4.626, 6.2, 8.065",\
                 "0.6476, 0.7002, 0.885, 1.214, 1.68, 2.363, 3.349, 4.634, 6.198, 8.076",\
                 "0.791, 0.8472, 1.029, 1.375, 1.882, 2.533, 3.425, 4.644, 6.201, 8.068",\
                 "0.9562, 1.019, 1.212, 1.561, 2.092, 2.795, 3.644, 4.765, 6.224, 8.084",\
                 "1.139, 1.207, 1.425, 1.786, 2.324, 3.059, 3.968, 5.034, 6.393, 8.129",\
                 "1.346, 1.416, 1.655, 2.046, 2.598, 3.343, 4.297, 5.423, 6.722, 8.34");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1501, 0.1653, 0.2179, 0.3171, 0.47, 0.6835, 0.9637, 1.316, 1.746, 2.259",\
                 "0.1639, 0.1791, 0.2319, 0.3312, 0.4843, 0.6978, 0.9781, 1.331, 1.761, 2.274",\
                 "0.212, 0.2267, 0.2774, 0.376, 0.529, 0.7424, 1.023, 1.375, 1.806, 2.318",\
                 "0.2621, 0.2829, 0.3489, 0.4607, 0.6147, 0.827, 1.106, 1.458, 1.888, 2.4",\
                 "0.2879, 0.3136, 0.3973, 0.5377, 0.7282, 0.9608, 1.24, 1.591, 2.019, 2.53",\
                 "0.2828, 0.3144, 0.4174, 0.5874, 0.8153, 1.094, 1.417, 1.78, 2.207, 2.716",\
                 "0.2441, 0.2812, 0.4036, 0.6058, 0.8731, 1.197, 1.571, 1.992, 2.454, 2.966",\
                 "0.1683, 0.2117, 0.3533, 0.5883, 0.8973, 1.268, 1.693, 2.17, 2.695, 3.264",\
                 "0.0548, 0.1043, 0.2647, 0.5314, 0.8841, 1.304, 1.783, 2.315, 2.9, 3.536",\
                 "-0.0993, -0.0443, 0.135, 0.4324, 0.8284, 1.299, 1.834, 2.425, 3.07, 3.769");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.262, 0.2931, 0.4009, 0.6051, 0.9214, 1.365, 1.948, 2.682, 3.578, 4.644",\
                 "0.2731, 0.3042, 0.4132, 0.6192, 0.9374, 1.382, 1.966, 2.7, 3.596, 4.663",\
                 "0.3285, 0.3591, 0.4669, 0.6715, 0.99, 1.435, 2.019, 2.755, 3.651, 4.718",\
                 "0.4478, 0.4804, 0.5877, 0.7873, 1.102, 1.544, 2.126, 2.86, 3.756, 4.823",\
                 "0.6045, 0.6422, 0.7678, 0.9833, 1.292, 1.728, 2.305, 3.034, 3.927, 4.992",\
                 "0.8021, 0.8449, 0.985, 1.229, 1.569, 2.003, 2.572, 3.294, 4.18, 5.239",\
                 "1.04, 1.089, 1.248, 1.515, 1.892, 2.368, 2.939, 3.652, 4.53, 5.581",\
                 "1.317, 1.373, 1.553, 1.851, 2.258, 2.778, 3.399, 4.119, 4.987, 6.027",\
                 "1.635, 1.699, 1.902, 2.235, 2.677, 3.233, 3.906, 4.681, 5.559, 6.59",\
                 "1.994, 2.067, 2.294, 2.664, 3.15, 3.744, 4.459, 5.292, 6.23, 7.273");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2309, 0.2573, 0.3489, 0.5195, 0.782, 1.149, 1.631, 2.237, 2.976, 3.857",\
                 "0.2298, 0.2564, 0.3483, 0.519, 0.7813, 1.149, 1.63, 2.236, 2.976, 3.857",\
                 "0.2346, 0.2575, 0.3426, 0.5158, 0.7806, 1.149, 1.63, 2.235, 2.976, 3.856",\
                 "0.3142, 0.3392, 0.4203, 0.5613, 0.7907, 1.147, 1.63, 2.235, 2.975, 3.856",\
                 "0.4217, 0.4491, 0.5404, 0.6996, 0.9242, 1.221, 1.647, 2.235, 2.975, 3.856",\
                 "0.5556, 0.5884, 0.6926, 0.869, 1.115, 1.434, 1.819, 2.321, 2.994, 3.857",\
                 "0.7098, 0.7492, 0.873, 1.072, 1.339, 1.685, 2.103, 2.591, 3.181, 3.942",\
                 "0.882, 0.9278, 1.075, 1.304, 1.603, 1.969, 2.417, 2.945, 3.549, 4.238",\
                 "1.072, 1.126, 1.295, 1.558, 1.897, 2.3, 2.77, 3.331, 3.974, 4.697",\
                 "1.284, 1.344, 1.532, 1.834, 2.215, 2.661, 3.168, 3.755, 4.435, 5.199");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5001, 0.555, 0.7456, 1.105, 1.659, 2.434, 3.455, 4.743, 6.312, 8.184",\
                 "0.5003, 0.555, 0.7453, 1.106, 1.659, 2.435, 3.454, 4.744, 6.311, 8.184",\
                 "0.5001, 0.5544, 0.746, 1.106, 1.659, 2.434, 3.454, 4.743, 6.31, 8.179",\
                 "0.5583, 0.602, 0.7649, 1.107, 1.659, 2.435, 3.455, 4.742, 6.312, 8.183",\
                 "0.6642, 0.714, 0.8788, 1.175, 1.672, 2.435, 3.457, 4.744, 6.313, 8.181",\
                 "0.7906, 0.8416, 1.016, 1.335, 1.794, 2.474, 3.459, 4.744, 6.313, 8.187",\
                 "0.9568, 1.005, 1.177, 1.51, 2.005, 2.648, 3.535, 4.75, 6.315, 8.187",\
                 "1.153, 1.204, 1.377, 1.708, 2.229, 2.914, 3.76, 4.874, 6.339, 8.187",\
                 "1.37, 1.425, 1.612, 1.948, 2.47, 3.191, 4.088, 5.149, 6.512, 8.237",\
                 "1.609, 1.669, 1.869, 2.226, 2.751, 3.484, 4.434, 5.54, 6.838, 8.454");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1177, 0.132, 0.1828, 0.2802, 0.432, 0.6445, 0.9244, 1.277, 1.707, 2.218",\
                 "0.1314, 0.1458, 0.1966, 0.2945, 0.4463, 0.6592, 0.9385, 1.291, 1.721, 2.234",\
                 "0.1763, 0.192, 0.2431, 0.3392, 0.4909, 0.7037, 0.9831, 1.336, 1.765, 2.278",\
                 "0.2107, 0.2327, 0.303, 0.4201, 0.577, 0.7882, 1.067, 1.419, 1.848, 2.361",\
                 "0.219, 0.2475, 0.338, 0.4856, 0.6824, 0.9201, 1.201, 1.551, 1.979, 2.49",\
                 "0.1964, 0.2319, 0.3436, 0.5234, 0.7604, 1.045, 1.373, 1.74, 2.167, 2.677",\
                 "0.1395, 0.1818, 0.3151, 0.5303, 0.8084, 1.14, 1.52, 1.946, 2.412, 2.927",\
                 "0.0481, 0.0962, 0.2506, 0.4986, 0.8222, 1.204, 1.635, 2.118, 2.648, 3.22",\
                 "-0.0823, -0.0273, 0.1479, 0.4301, 0.7982, 1.23, 1.719, 2.257, 2.847, 3.487",\
                 "-0.2546, -0.1916, 0.0043, 0.3199, 0.7322, 1.217, 1.762, 2.362, 3.012, 3.716");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2561, 0.2871, 0.3949, 0.598, 0.9136, 1.357, 1.939, 2.672, 3.563, 4.631",\
                 "0.2668, 0.2984, 0.4073, 0.6123, 0.9299, 1.373, 1.956, 2.689, 3.581, 4.649",\
                 "0.3225, 0.3529, 0.4602, 0.665, 0.9823, 1.426, 2.008, 2.742, 3.64, 4.707",\
                 "0.4406, 0.4734, 0.5809, 0.7802, 1.093, 1.534, 2.115, 2.848, 3.741, 4.811",\
                 "0.5954, 0.6334, 0.7593, 0.9757, 1.284, 1.718, 2.294, 3.021, 3.915, 4.977",\
                 "0.7907, 0.8335, 0.9749, 1.219, 1.56, 1.994, 2.56, 3.281, 4.166, 5.224",\
                 "1.025, 1.075, 1.234, 1.503, 1.881, 2.357, 2.928, 3.639, 4.515, 5.566",\
                 "1.299, 1.356, 1.537, 1.837, 2.245, 2.765, 3.386, 4.106, 4.97, 6.011",\
                 "1.61, 1.677, 1.883, 2.217, 2.661, 3.218, 3.89, 4.666, 5.543, 6.573",\
                 "1.966, 2.039, 2.271, 2.643, 3.132, 3.726, 4.441, 5.274, 6.213, 7.256");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1865, 0.213, 0.305, 0.4764, 0.7388, 1.105, 1.587, 2.194, 2.935, 3.815",\
                 "0.1845, 0.2114, 0.3043, 0.4757, 0.7384, 1.105, 1.587, 2.193, 2.933, 3.815",\
                 "0.2062, 0.2273, 0.3049, 0.472, 0.7378, 1.105, 1.588, 2.192, 2.93, 3.812",\
                 "0.2857, 0.3099, 0.3916, 0.5328, 0.754, 1.103, 1.585, 2.192, 2.934, 3.813",\
                 "0.3955, 0.4221, 0.5125, 0.6718, 0.8966, 1.19, 1.611, 2.193, 2.933, 3.814",\
                 "0.526, 0.5588, 0.666, 0.8428, 1.086, 1.406, 1.792, 2.287, 2.954, 3.816",\
                 "0.6754, 0.7156, 0.8424, 1.044, 1.313, 1.656, 2.075, 2.564, 3.151, 3.909",\
                 "0.843, 0.8902, 1.039, 1.274, 1.576, 1.943, 2.388, 2.918, 3.52, 4.209",\
                 "1.03, 1.084, 1.255, 1.525, 1.866, 2.271, 2.744, 3.3, 3.946, 4.669",\
                 "1.231, 1.298, 1.492, 1.798, 2.186, 2.634, 3.146, 3.728, 4.407, 5.172");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3987, 0.4512, 0.6376, 0.9941, 1.546, 2.324, 3.345, 4.634, 6.202, 8.069",\
                 "0.3984, 0.4519, 0.6386, 0.994, 1.548, 2.322, 3.347, 4.628, 6.206, 8.074",\
                 "0.398, 0.4511, 0.6373, 0.9929, 1.548, 2.324, 3.341, 4.626, 6.207, 8.083",\
                 "0.4535, 0.4983, 0.6574, 0.9952, 1.547, 2.326, 3.347, 4.631, 6.2, 8.083",\
                 "0.5388, 0.591, 0.7634, 1.063, 1.561, 2.323, 3.348, 4.629, 6.203, 8.072",\
                 "0.6472, 0.7028, 0.8846, 1.214, 1.68, 2.36, 3.349, 4.631, 6.209, 8.069",\
                 "0.7912, 0.8438, 1.031, 1.373, 1.883, 2.534, 3.424, 4.645, 6.205, 8.085",\
                 "0.9548, 1.016, 1.213, 1.563, 2.094, 2.795, 3.645, 4.755, 6.224, 8.082",\
                 "1.138, 1.207, 1.422, 1.787, 2.322, 3.06, 3.968, 5.033, 6.397, 8.129",\
                 "1.339, 1.422, 1.655, 2.048, 2.595, 3.342, 4.302, 5.423, 6.722, 8.344");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1074, 0.1196, 0.1618, 0.2423, 0.3677, 0.5435, 0.7747, 1.066, 1.422, 1.844",\
                 "0.1212, 0.1334, 0.1759, 0.2566, 0.3822, 0.558, 0.7895, 1.08, 1.436, 1.86",\
                 "0.1635, 0.1778, 0.2238, 0.3042, 0.4294, 0.6049, 0.8361, 1.128, 1.482, 1.906",\
                 "0.1908, 0.211, 0.2756, 0.3812, 0.5204, 0.6963, 0.9267, 1.217, 1.572, 1.995",\
                 "0.1893, 0.216, 0.3001, 0.436, 0.6142, 0.8275, 1.07, 1.36, 1.713, 2.135",\
                 "0.1542, 0.1872, 0.2921, 0.4602, 0.6777, 0.9361, 1.231, 1.556, 1.916, 2.336",\
                 "0.0821, 0.1218, 0.2468, 0.449, 0.7082, 1.013, 1.358, 1.741, 2.157, 2.602",\
                 "-0.0289, 0.017, 0.1629, 0.3974, 0.6999, 1.054, 1.451, 1.888, 2.365, 2.876",\
                 "-0.1821, -0.1291, 0.0364, 0.303, 0.6472, 1.053, 1.506, 2, 2.535, 3.111",\
                 "-0.3797, -0.3205, -0.1341, 0.1655, 0.5522, 1.008, 1.516, 2.07, 2.668, 3.306");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2561, 0.2868, 0.3948, 0.5983, 0.9134, 1.355, 1.937, 2.669, 3.564, 4.631",\
                 "0.2661, 0.2974, 0.4064, 0.6117, 0.9281, 1.371, 1.955, 2.689, 3.584, 4.648",\
                 "0.3207, 0.351, 0.4581, 0.6625, 0.9798, 1.424, 2.006, 2.741, 3.633, 4.705",\
                 "0.4415, 0.4743, 0.5805, 0.7793, 1.092, 1.533, 2.113, 2.846, 3.739, 4.804",\
                 "0.6014, 0.6391, 0.7637, 0.9785, 1.286, 1.719, 2.293, 3.021, 3.913, 4.973",\
                 "0.8045, 0.8472, 0.9861, 1.228, 1.566, 1.999, 2.564, 3.284, 4.168, 5.227",\
                 "1.05, 1.099, 1.257, 1.522, 1.896, 2.369, 2.938, 3.647, 4.521, 5.572",\
                 "1.338, 1.394, 1.572, 1.867, 2.271, 2.787, 3.404, 4.121, 4.984, 6.022",\
                 "1.67, 1.734, 1.935, 2.263, 2.701, 3.253, 3.92, 4.691, 5.565, 6.593",\
                 "2.047, 2.119, 2.345, 2.709, 3.189, 3.778, 4.486, 5.313, 6.246, 7.287");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1521, 0.173, 0.2459, 0.3846, 0.5991, 0.9018, 1.298, 1.797, 2.408, 3.126",\
                 "0.1513, 0.1725, 0.2457, 0.3846, 0.5995, 0.9019, 1.298, 1.797, 2.407, 3.133",\
                 "0.1832, 0.2, 0.2583, 0.384, 0.5999, 0.8997, 1.295, 1.796, 2.402, 3.127",\
                 "0.2633, 0.2841, 0.353, 0.47, 0.6384, 0.9052, 1.295, 1.795, 2.402, 3.128",\
                 "0.3683, 0.3937, 0.4739, 0.61, 0.8002, 1.035, 1.353, 1.804, 2.401, 3.128",\
                 "0.4942, 0.526, 0.6232, 0.7814, 0.9922, 1.261, 1.58, 1.959, 2.47, 3.139",\
                 "0.6396, 0.6772, 0.7932, 0.9774, 1.218, 1.512, 1.867, 2.276, 2.737, 3.31",\
                 "0.8036, 0.848, 0.9838, 1.201, 1.474, 1.798, 2.184, 2.632, 3.137, 3.69",\
                 "0.9848, 1.036, 1.195, 1.444, 1.755, 2.122, 2.539, 3.019, 3.564, 4.171",\
                 "1.176, 1.238, 1.425, 1.705, 2.061, 2.471, 2.934, 3.445, 4.026, 4.679");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3992, 0.4517, 0.6381, 0.9927, 1.548, 2.322, 3.346, 4.635, 6.198, 8.078",\
                 "0.3988, 0.4512, 0.6387, 0.9933, 1.545, 2.323, 3.347, 4.633, 6.209, 8.072",\
                 "0.398, 0.4512, 0.637, 0.9941, 1.546, 2.323, 3.344, 4.63, 6.205, 8.081",\
                 "0.4534, 0.4982, 0.6567, 0.9952, 1.545, 2.321, 3.343, 4.633, 6.201, 8.081",\
                 "0.5352, 0.587, 0.7612, 1.062, 1.56, 2.323, 3.345, 4.627, 6.202, 8.064",\
                 "0.6392, 0.6916, 0.876, 1.208, 1.676, 2.361, 3.35, 4.635, 6.2, 8.074",\
                 "0.7748, 0.8316, 1.015, 1.361, 1.874, 2.527, 3.42, 4.64, 6.205, 8.07",\
                 "0.934, 0.9928, 1.188, 1.537, 2.08, 2.783, 3.636, 4.761, 6.23, 8.078",\
                 "1.111, 1.178, 1.39, 1.752, 2.298, 3.035, 3.954, 5.021, 6.387, 8.117",\
                 "1.308, 1.378, 1.613, 2.004, 2.556, 3.311, 4.268, 5.398, 6.703, 8.336");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2188, 0.2371, 0.2995, 0.4169, 0.5973, 0.8487, 1.178, 1.592, 2.098, 2.7",\
                 "0.2322, 0.2503, 0.3132, 0.4306, 0.6112, 0.8627, 1.192, 1.607, 2.113, 2.714",\
                 "0.275, 0.2928, 0.3552, 0.4725, 0.653, 0.9044, 1.234, 1.648, 2.154, 2.757",\
                 "0.345, 0.3661, 0.4349, 0.5538, 0.7324, 0.9827, 1.312, 1.726, 2.23, 2.833",\
                 "0.3942, 0.42, 0.5049, 0.6516, 0.8549, 1.11, 1.436, 1.849, 2.352, 2.953",\
                 "0.4177, 0.4487, 0.5511, 0.7243, 0.9645, 1.263, 1.615, 2.027, 2.528, 3.127",\
                 "0.4103, 0.4472, 0.5664, 0.7706, 1.048, 1.39, 1.794, 2.252, 2.765, 3.361",\
                 "0.3699, 0.4119, 0.5517, 0.7847, 1.103, 1.491, 1.943, 2.459, 3.032, 3.659",\
                 "0.2943, 0.3422, 0.4993, 0.7646, 1.124, 1.56, 2.064, 2.634, 3.269, 3.963",\
                 "0.1814, 0.2352, 0.4085, 0.7064, 1.108, 1.594, 2.153, 2.78, 3.473, 4.233");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2561, 0.2868, 0.3948, 0.5983, 0.9134, 1.355, 1.937, 2.669, 3.564, 4.631",\
                 "0.2661, 0.2974, 0.4064, 0.6117, 0.9281, 1.371, 1.955, 2.689, 3.584, 4.648",\
                 "0.3207, 0.351, 0.4581, 0.6625, 0.9798, 1.424, 2.006, 2.741, 3.633, 4.705",\
                 "0.4415, 0.4743, 0.5805, 0.7793, 1.092, 1.533, 2.113, 2.846, 3.739, 4.804",\
                 "0.6014, 0.6391, 0.7637, 0.9785, 1.286, 1.719, 2.293, 3.021, 3.913, 4.973",\
                 "0.8045, 0.8472, 0.9861, 1.228, 1.566, 1.999, 2.564, 3.284, 4.168, 5.227",\
                 "1.05, 1.099, 1.257, 1.522, 1.896, 2.369, 2.938, 3.647, 4.521, 5.572",\
                 "1.338, 1.394, 1.572, 1.867, 2.271, 2.787, 3.404, 4.121, 4.984, 6.022",\
                 "1.67, 1.734, 1.935, 2.263, 2.701, 3.253, 3.92, 4.691, 5.565, 6.593",\
                 "2.047, 2.119, 2.345, 2.709, 3.189, 3.778, 4.486, 5.313, 6.246, 7.287");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.331, 0.3614, 0.468, 0.6679, 0.9773, 1.411, 1.978, 2.69, 3.562, 4.6",\
                 "0.3302, 0.3615, 0.4682, 0.6679, 0.9776, 1.41, 1.978, 2.69, 3.563, 4.6",\
                 "0.3222, 0.3535, 0.4639, 0.6672, 0.9769, 1.41, 1.978, 2.691, 3.562, 4.599",\
                 "0.3832, 0.4125, 0.5062, 0.6823, 0.9756, 1.41, 1.977, 2.691, 3.561, 4.601",\
                 "0.4866, 0.518, 0.6226, 0.8068, 1.069, 1.443, 1.977, 2.691, 3.562, 4.6",\
                 "0.624, 0.6592, 0.7734, 0.9712, 1.255, 1.625, 2.093, 2.727, 3.563, 4.599",\
                 "0.7876, 0.8286, 0.9576, 1.174, 1.476, 1.87, 2.357, 2.937, 3.678, 4.63",\
                 "0.9706, 1.018, 1.169, 1.411, 1.738, 2.152, 2.669, 3.278, 3.986, 4.844",\
                 "1.173, 1.226, 1.401, 1.676, 2.037, 2.478, 3.017, 3.66, 4.406, 5.247",\
                 "1.39, 1.454, 1.651, 1.966, 2.367, 2.853, 3.412, 4.08, 4.864, 5.748");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6182, 0.673, 0.8638, 1.223, 1.779, 2.555, 3.576, 4.864, 6.435, 8.298",\
                 "0.6181, 0.673, 0.8638, 1.223, 1.778, 2.555, 3.576, 4.862, 6.432, 8.305",\
                 "0.6175, 0.6724, 0.8632, 1.223, 1.779, 2.555, 3.577, 4.861, 6.43, 8.305",\
                 "0.6757, 0.7202, 0.8827, 1.224, 1.778, 2.556, 3.577, 4.863, 6.434, 8.3",\
                 "0.8048, 0.8504, 1.002, 1.293, 1.791, 2.555, 3.577, 4.863, 6.433, 8.303",\
                 "0.9546, 1, 1.164, 1.467, 1.916, 2.596, 3.58, 4.862, 6.435, 8.307",\
                 "1.147, 1.189, 1.347, 1.661, 2.139, 2.774, 3.657, 4.875, 6.431, 8.302",\
                 "1.377, 1.419, 1.574, 1.884, 2.382, 3.053, 3.891, 5, 6.462, 8.302",\
                 "1.633, 1.68, 1.839, 2.15, 2.648, 3.351, 4.229, 5.282, 6.636, 8.36",\
                 "1.909, 1.959, 2.132, 2.461, 2.956, 3.668, 4.588, 5.684, 6.976, 8.59");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2629, 0.2812, 0.3443, 0.4622, 0.6431, 0.895, 1.225, 1.639, 2.145, 2.746",\
                 "0.2731, 0.2912, 0.3544, 0.4721, 0.6533, 0.9051, 1.235, 1.65, 2.155, 2.757",\
                 "0.3132, 0.3312, 0.394, 0.5116, 0.6926, 0.9443, 1.274, 1.688, 2.194, 2.795",\
                 "0.3907, 0.4103, 0.476, 0.5926, 0.7718, 1.022, 1.351, 1.765, 2.27, 2.871",\
                 "0.4565, 0.4807, 0.5606, 0.7013, 0.8983, 1.15, 1.476, 1.888, 2.392, 2.992",\
                 "0.5031, 0.5321, 0.626, 0.7901, 1.021, 1.312, 1.658, 2.068, 2.568, 3.166",\
                 "0.5276, 0.56, 0.6707, 0.8595, 1.123, 1.454, 1.848, 2.299, 2.808, 3.402",\
                 "0.5281, 0.5654, 0.691, 0.9059, 1.205, 1.574, 2.013, 2.518, 3.083, 3.703",\
                 "0.5044, 0.5471, 0.6869, 0.9289, 1.261, 1.674, 2.158, 2.712, 3.334, 4.018",\
                 "0.4555, 0.5013, 0.6551, 0.9235, 1.292, 1.748, 2.28, 2.883, 3.559, 4.304");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.31, 0.3408, 0.4486, 0.6532, 0.9712, 1.416, 2.001, 2.737, 3.635, 4.703",\
                 "0.3231, 0.3546, 0.4643, 0.671, 0.9903, 1.436, 2.022, 2.758, 3.656, 4.724",\
                 "0.3613, 0.3926, 0.5021, 0.7096, 1.031, 1.478, 2.065, 2.802, 3.701, 4.77",\
                 "0.4354, 0.4683, 0.5791, 0.7836, 1.101, 1.547, 2.133, 2.87, 3.769, 4.838",\
                 "0.5419, 0.5771, 0.6955, 0.911, 1.227, 1.667, 2.249, 2.983, 3.879, 4.945",\
                 "0.6849, 0.7238, 0.8516, 1.078, 1.411, 1.854, 2.427, 3.154, 4.045, 5.107",\
                 "0.8558, 0.8999, 1.044, 1.288, 1.635, 2.098, 2.68, 3.398, 4.28, 5.335",\
                 "1.051, 1.102, 1.264, 1.535, 1.905, 2.386, 2.99, 3.722, 4.595, 5.64",\
                 "1.273, 1.329, 1.511, 1.812, 2.217, 2.721, 3.346, 4.102, 4.992, 6.03",\
                 "1.518, 1.581, 1.784, 2.118, 2.56, 3.103, 3.751, 4.529, 5.448, 6.506");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3819, 0.4128, 0.5202, 0.721, 1.031, 1.463, 2.032, 2.745, 3.616, 4.653",\
                 "0.3816, 0.4127, 0.5203, 0.7215, 1.032, 1.465, 2.032, 2.745, 3.616, 4.652",\
                 "0.3743, 0.407, 0.5176, 0.721, 1.031, 1.464, 2.032, 2.745, 3.615, 4.653",\
                 "0.4263, 0.4541, 0.5483, 0.7291, 1.029, 1.464, 2.031, 2.745, 3.615, 4.655",\
                 "0.5318, 0.5634, 0.6664, 0.8498, 1.11, 1.49, 2.031, 2.744, 3.615, 4.653",\
                 "0.6714, 0.7056, 0.818, 1.014, 1.297, 1.663, 2.137, 2.776, 3.617, 4.653",\
                 "0.8436, 0.8818, 1.006, 1.215, 1.515, 1.909, 2.395, 2.977, 3.723, 4.68",\
                 "1.039, 1.083, 1.225, 1.457, 1.775, 2.187, 2.702, 3.316, 4.023, 4.885",\
                 "1.259, 1.31, 1.471, 1.731, 2.078, 2.511, 3.047, 3.692, 4.436, 5.28",\
                 "1.499, 1.559, 1.74, 2.035, 2.42, 2.883, 3.437, 4.102, 4.884, 5.775");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6183, 0.673, 0.8637, 1.223, 1.778, 2.555, 3.577, 4.863, 6.434, 8.304",\
                 "0.6183, 0.673, 0.8639, 1.223, 1.778, 2.555, 3.576, 4.862, 6.433, 8.307",\
                 "0.6197, 0.6738, 0.864, 1.223, 1.779, 2.555, 3.575, 4.865, 6.433, 8.306",\
                 "0.6706, 0.7171, 0.8863, 1.225, 1.778, 2.555, 3.577, 4.864, 6.434, 8.303",\
                 "0.7742, 0.8188, 0.9788, 1.288, 1.798, 2.556, 3.577, 4.864, 6.435, 8.3",\
                 "0.9182, 0.9586, 1.108, 1.414, 1.896, 2.604, 3.584, 4.863, 6.435, 8.302",\
                 "1.113, 1.15, 1.287, 1.574, 2.054, 2.737, 3.662, 4.887, 6.432, 8.308",\
                 "1.335, 1.373, 1.512, 1.786, 2.247, 2.928, 3.832, 4.998, 6.481, 8.314",\
                 "1.574, 1.616, 1.766, 2.051, 2.5, 3.156, 4.063, 5.205, 6.627, 8.384",\
                 "1.832, 1.876, 2.038, 2.345, 2.802, 3.448, 4.33, 5.48, 6.87, 8.571");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.219, 0.237, 0.2996, 0.4169, 0.5973, 0.8486, 1.178, 1.592, 2.097, 2.7",\
                 "0.2289, 0.2471, 0.3098, 0.427, 0.6075, 0.8588, 1.188, 1.602, 2.107, 2.71",\
                 "0.2696, 0.2873, 0.3495, 0.4666, 0.6468, 0.8979, 1.227, 1.641, 2.146, 2.749",\
                 "0.3399, 0.3605, 0.4294, 0.5479, 0.7263, 0.9758, 1.304, 1.718, 2.222, 2.823",\
                 "0.3931, 0.4187, 0.5023, 0.6477, 0.8498, 1.104, 1.43, 1.841, 2.344, 2.944",\
                 "0.4268, 0.4569, 0.5574, 0.7277, 0.9643, 1.26, 1.61, 2.022, 2.521, 3.119",\
                 "0.4376, 0.4729, 0.5891, 0.7872, 1.058, 1.395, 1.794, 2.25, 2.761, 3.355",\
                 "0.4252, 0.4657, 0.5988, 0.8238, 1.131, 1.509, 1.953, 2.463, 3.031, 3.655",\
                 "0.3895, 0.4335, 0.5817, 0.8358, 1.179, 1.6, 2.092, 2.651, 3.277, 3.966",\
                 "0.3285, 0.3789, 0.5424, 0.8216, 1.201, 1.667, 2.208, 2.817, 3.497, 4.246");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3037, 0.3343, 0.4418, 0.6457, 0.9623, 1.406, 1.988, 2.723, 3.618, 4.685",\
                 "0.3169, 0.3481, 0.4575, 0.6635, 0.9814, 1.426, 2.009, 2.744, 3.64, 4.707",\
                 "0.3547, 0.3861, 0.4954, 0.7023, 1.022, 1.468, 2.053, 2.788, 3.685, 4.752",\
                 "0.4282, 0.4611, 0.5721, 0.7757, 1.093, 1.537, 2.121, 2.856, 3.753, 4.82",\
                 "0.5334, 0.5686, 0.6876, 0.9021, 1.218, 1.657, 2.236, 2.968, 3.862, 4.928",\
                 "0.6741, 0.7136, 0.842, 1.068, 1.401, 1.843, 2.415, 3.14, 4.028, 5.089",\
                 "0.8417, 0.8869, 1.032, 1.277, 1.624, 2.087, 2.667, 3.384, 4.264, 5.318",\
                 "1.034, 1.085, 1.249, 1.522, 1.893, 2.373, 2.977, 3.708, 4.579, 5.622",\
                 "1.25, 1.308, 1.492, 1.796, 2.201, 2.708, 3.331, 4.086, 4.976, 6.013",\
                 "1.49, 1.555, 1.761, 2.098, 2.543, 3.087, 3.735, 4.512, 5.431, 6.489");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3345, 0.3657, 0.4718, 0.6716, 0.9807, 1.414, 1.98, 2.693, 3.564, 4.602",\
                 "0.334, 0.3653, 0.4719, 0.6716, 0.9805, 1.413, 1.979, 2.693, 3.564, 4.602",\
                 "0.3257, 0.3568, 0.4668, 0.6709, 0.9806, 1.413, 1.98, 2.692, 3.563, 4.6",\
                 "0.3907, 0.4191, 0.5126, 0.6876, 0.9787, 1.412, 1.979, 2.693, 3.563, 4.601",\
                 "0.4982, 0.5298, 0.6314, 0.8142, 1.075, 1.448, 1.981, 2.693, 3.563, 4.602",\
                 "0.6386, 0.6734, 0.7862, 0.979, 1.262, 1.63, 2.098, 2.73, 3.565, 4.6",\
                 "0.8076, 0.8468, 0.973, 1.182, 1.481, 1.873, 2.361, 2.942, 3.681, 4.632",\
                 "0.9992, 1.045, 1.19, 1.425, 1.744, 2.154, 2.67, 3.281, 3.987, 4.844",\
                 "1.215, 1.265, 1.43, 1.697, 2.047, 2.479, 3.012, 3.655, 4.402, 5.245",\
                 "1.449, 1.51, 1.699, 1.998, 2.388, 2.85, 3.403, 4.066, 4.846, 5.738");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5042, 0.5593, 0.75, 1.11, 1.664, 2.439, 3.461, 4.746, 6.317, 8.192",\
                 "0.5043, 0.5593, 0.75, 1.109, 1.664, 2.44, 3.46, 4.746, 6.319, 8.191",\
                 "0.506, 0.5599, 0.7498, 1.109, 1.664, 2.44, 3.461, 4.749, 6.314, 8.191",\
                 "0.5573, 0.6037, 0.7728, 1.112, 1.664, 2.44, 3.461, 4.748, 6.318, 8.187",\
                 "0.6492, 0.6962, 0.8616, 1.174, 1.684, 2.441, 3.461, 4.749, 6.318, 8.191",\
                 "0.7828, 0.8252, 0.9814, 1.294, 1.782, 2.489, 3.469, 4.747, 6.318, 8.188",\
                 "0.9588, 1.001, 1.15, 1.446, 1.934, 2.621, 3.548, 4.769, 6.316, 8.191",\
                 "1.158, 1.201, 1.359, 1.65, 2.119, 2.809, 3.716, 4.884, 6.367, 8.192",\
                 "1.371, 1.422, 1.592, 1.901, 2.361, 3.029, 3.941, 5.087, 6.513, 8.273",\
                 "1.6, 1.656, 1.843, 2.177, 2.656, 3.309, 4.204, 5.36, 6.756, 8.451");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1945, 0.2103, 0.2641, 0.3645, 0.5191, 0.7341, 1.016, 1.37, 1.803, 2.318",\
                 "0.2053, 0.2207, 0.2746, 0.3752, 0.5298, 0.7449, 1.027, 1.381, 1.813, 2.328",\
                 "0.2482, 0.2635, 0.3166, 0.417, 0.5713, 0.7862, 1.068, 1.422, 1.854, 2.369",\
                 "0.3122, 0.3312, 0.3942, 0.5018, 0.6555, 0.8692, 1.15, 1.504, 1.935, 2.449",\
                 "0.3551, 0.3792, 0.4573, 0.5912, 0.7753, 1.003, 1.283, 1.635, 2.065, 2.578",\
                 "0.3754, 0.404, 0.4985, 0.6575, 0.8755, 1.147, 1.464, 1.825, 2.253, 2.764",\
                 "0.3696, 0.4033, 0.5135, 0.7003, 0.9528, 1.264, 1.629, 2.043, 2.501, 3.013",\
                 "0.3371, 0.3759, 0.5021, 0.7145, 1.004, 1.357, 1.767, 2.233, 2.751, 3.315",\
                 "0.2765, 0.3199, 0.4611, 0.7012, 1.027, 1.423, 1.881, 2.397, 2.97, 3.596",\
                 "0.1894, 0.236, 0.3916, 0.6573, 1.019, 1.459, 1.966, 2.534, 3.16, 3.846");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3034, 0.3343, 0.4417, 0.6457, 0.9622, 1.405, 1.989, 2.723, 3.619, 4.685",\
                 "0.316, 0.3475, 0.4569, 0.6626, 0.9808, 1.425, 2.009, 2.743, 3.639, 4.706",\
                 "0.3531, 0.3845, 0.4933, 0.7004, 1.02, 1.466, 2.051, 2.786, 3.683, 4.751",\
                 "0.4279, 0.4602, 0.5709, 0.7738, 1.091, 1.535, 2.119, 2.854, 3.751, 4.819",\
                 "0.538, 0.5727, 0.6904, 0.9043, 1.219, 1.656, 2.236, 2.967, 3.861, 4.926",\
                 "0.6874, 0.7257, 0.8526, 1.076, 1.407, 1.847, 2.418, 3.141, 4.029, 5.09",\
                 "0.8667, 0.9106, 1.053, 1.295, 1.639, 2.098, 2.677, 3.39, 4.269, 5.322",\
                 "1.073, 1.124, 1.285, 1.553, 1.919, 2.394, 2.995, 3.722, 4.591, 5.633",\
                 "1.307, 1.364, 1.547, 1.845, 2.244, 2.743, 3.361, 4.113, 4.999, 6.032",\
                 "1.57, 1.634, 1.837, 2.168, 2.604, 3.141, 3.782, 4.554, 5.466, 6.52");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2776, 0.3035, 0.3944, 0.5643, 0.8279, 1.195, 1.68, 2.287, 3.029, 3.914",\
                 "0.2773, 0.3038, 0.3944, 0.5647, 0.8281, 1.196, 1.679, 2.287, 3.028, 3.913",\
                 "0.2764, 0.3015, 0.3913, 0.5637, 0.8276, 1.195, 1.679, 2.286, 3.029, 3.913",\
                 "0.3536, 0.3779, 0.4577, 0.5991, 0.8347, 1.195, 1.679, 2.286, 3.029, 3.912",\
                 "0.4646, 0.4912, 0.5804, 0.7382, 0.9608, 1.261, 1.693, 2.287, 3.029, 3.912",\
                 "0.6042, 0.6344, 0.7348, 0.9078, 1.152, 1.47, 1.856, 2.365, 3.045, 3.912",\
                 "0.7716, 0.806, 0.9228, 1.113, 1.376, 1.72, 2.138, 2.626, 3.224, 3.991",\
                 "0.9572, 1.001, 1.136, 1.352, 1.642, 2.004, 2.45, 2.977, 3.583, 4.279",\
                 "1.169, 1.219, 1.375, 1.619, 1.94, 2.328, 2.799, 3.358, 4.003, 4.729",\
                 "1.404, 1.458, 1.637, 1.917, 2.273, 2.7, 3.199, 3.777, 4.455, 5.224");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5042, 0.5588, 0.7499, 1.11, 1.663, 2.44, 3.462, 4.749, 6.315, 8.185",\
                 "0.5041, 0.5592, 0.75, 1.11, 1.663, 2.44, 3.462, 4.746, 6.317, 8.186",\
                 "0.5058, 0.5598, 0.75, 1.109, 1.664, 2.44, 3.461, 4.747, 6.318, 8.185",\
                 "0.5574, 0.6042, 0.7732, 1.113, 1.664, 2.44, 3.462, 4.747, 6.32, 8.188",\
                 "0.6472, 0.694, 0.8602, 1.174, 1.684, 2.441, 3.461, 4.747, 6.32, 8.185",\
                 "0.778, 0.8186, 0.9764, 1.291, 1.78, 2.488, 3.468, 4.749, 6.319, 8.19",\
                 "0.9486, 0.9906, 1.139, 1.435, 1.925, 2.617, 3.546, 4.768, 6.321, 8.187",\
                 "1.144, 1.188, 1.345, 1.632, 2.105, 2.798, 3.71, 4.879, 6.36, 8.191",\
                 "1.356, 1.406, 1.574, 1.877, 2.336, 3.011, 3.93, 5.079, 6.508, 8.265",\
                 "1.582, 1.635, 1.819, 2.148, 2.625, 3.283, 4.18, 5.339, 6.742, 8.447");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2178, 0.2357, 0.2984, 0.4156, 0.5961, 0.8474, 1.177, 1.591, 2.097, 2.7",\
                 "0.2277, 0.2459, 0.3084, 0.4258, 0.6062, 0.8576, 1.187, 1.602, 2.107, 2.709",\
                 "0.2685, 0.2861, 0.3482, 0.4653, 0.6455, 0.8968, 1.226, 1.64, 2.146, 2.749",\
                 "0.3385, 0.3591, 0.4279, 0.5469, 0.7248, 0.9749, 1.303, 1.717, 2.222, 2.824",\
                 "0.3914, 0.4165, 0.5009, 0.6462, 0.8485, 1.103, 1.429, 1.841, 2.344, 2.944",\
                 "0.4245, 0.4549, 0.555, 0.7261, 0.9626, 1.259, 1.609, 2.021, 2.521, 3.119",\
                 "0.4349, 0.4703, 0.5871, 0.7852, 1.056, 1.393, 1.793, 2.249, 2.761, 3.355",\
                 "0.4217, 0.4628, 0.5957, 0.8214, 1.129, 1.507, 1.953, 2.462, 3.032, 3.656",\
                 "0.3862, 0.4307, 0.5794, 0.8334, 1.177, 1.599, 2.091, 2.65, 3.277, 3.967",\
                 "0.3247, 0.374, 0.5382, 0.8188, 1.2, 1.666, 2.207, 2.816, 3.498, 4.247");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3036, 0.3345, 0.4418, 0.6455, 0.9622, 1.406, 1.989, 2.723, 3.618, 4.685",\
                 "0.3167, 0.3481, 0.4575, 0.6634, 0.9814, 1.426, 2.009, 2.744, 3.639, 4.706",\
                 "0.3547, 0.3862, 0.4953, 0.7023, 1.022, 1.468, 2.053, 2.788, 3.684, 4.752",\
                 "0.4281, 0.461, 0.5719, 0.7755, 1.093, 1.537, 2.121, 2.856, 3.752, 4.819",\
                 "0.5334, 0.5685, 0.6875, 0.9023, 1.218, 1.657, 2.236, 2.968, 3.862, 4.927",\
                 "0.6741, 0.7135, 0.8421, 1.068, 1.401, 1.843, 2.415, 3.139, 4.028, 5.089",\
                 "0.8417, 0.8864, 1.031, 1.277, 1.624, 2.087, 2.667, 3.384, 4.264, 5.317",\
                 "1.034, 1.085, 1.249, 1.521, 1.893, 2.373, 2.976, 3.707, 4.579, 5.622",\
                 "1.249, 1.307, 1.492, 1.795, 2.201, 2.707, 3.33, 4.086, 4.976, 6.012",\
                 "1.49, 1.554, 1.76, 2.098, 2.543, 3.087, 3.735, 4.512, 5.43, 6.488");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3328, 0.3637, 0.4703, 0.6701, 0.9797, 1.412, 1.979, 2.693, 3.565, 4.601",\
                 "0.3324, 0.3638, 0.4703, 0.6699, 0.9796, 1.413, 1.98, 2.693, 3.564, 4.602",\
                 "0.3243, 0.3558, 0.4655, 0.6691, 0.979, 1.412, 1.979, 2.693, 3.564, 4.602",\
                 "0.3906, 0.4187, 0.5116, 0.6875, 0.9785, 1.411, 1.978, 2.693, 3.564, 4.603",\
                 "0.4974, 0.5282, 0.6308, 0.8134, 1.075, 1.448, 1.981, 2.692, 3.564, 4.603",\
                 "0.6392, 0.6724, 0.7836, 0.9774, 1.261, 1.63, 2.098, 2.731, 3.565, 4.603",\
                 "0.807, 0.8458, 0.9728, 1.181, 1.48, 1.873, 2.361, 2.941, 3.682, 4.633",\
                 "0.998, 1.045, 1.189, 1.424, 1.744, 2.153, 2.668, 3.28, 3.988, 4.847",\
                 "1.212, 1.266, 1.431, 1.697, 2.047, 2.48, 3.012, 3.656, 4.403, 5.247",\
                 "1.446, 1.508, 1.697, 1.998, 2.387, 2.853, 3.403, 4.068, 4.848, 5.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5002, 0.5551, 0.7454, 1.104, 1.659, 2.435, 3.455, 4.741, 6.312, 8.184",\
                 "0.5007, 0.5553, 0.7454, 1.105, 1.659, 2.435, 3.455, 4.742, 6.309, 8.184",\
                 "0.5022, 0.5559, 0.7459, 1.104, 1.659, 2.435, 3.456, 4.744, 6.312, 8.181",\
                 "0.5537, 0.5999, 0.7686, 1.109, 1.659, 2.435, 3.456, 4.742, 6.314, 8.182",\
                 "0.6444, 0.691, 0.857, 1.169, 1.679, 2.436, 3.455, 4.744, 6.311, 8.183",\
                 "0.7778, 0.8202, 0.9748, 1.288, 1.777, 2.484, 3.464, 4.744, 6.314, 8.186",\
                 "0.9534, 0.9972, 1.144, 1.441, 1.928, 2.616, 3.543, 4.766, 6.313, 8.186",\
                 "1.15, 1.195, 1.354, 1.647, 2.113, 2.803, 3.711, 4.877, 6.356, 8.188",\
                 "1.361, 1.414, 1.585, 1.894, 2.355, 3.024, 3.937, 5.082, 6.509, 8.269",\
                 "1.589, 1.644, 1.834, 2.17, 2.653, 3.305, 4.197, 5.355, 6.748, 8.445");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.175, 0.1928, 0.2547, 0.3711, 0.5505, 0.8011, 1.13, 1.544, 2.049, 2.652",\
                 "0.185, 0.2028, 0.2647, 0.3812, 0.5606, 0.8113, 1.14, 1.554, 2.06, 2.662",\
                 "0.2277, 0.2446, 0.3048, 0.4207, 0.5999, 0.8505, 1.179, 1.593, 2.099, 2.701",\
                 "0.285, 0.3071, 0.3792, 0.5027, 0.6797, 0.9287, 1.257, 1.67, 2.174, 2.776",\
                 "0.3242, 0.3515, 0.4405, 0.5917, 0.7993, 1.057, 1.383, 1.794, 2.297, 2.896",\
                 "0.3425, 0.3755, 0.4819, 0.6614, 0.9045, 1.206, 1.562, 1.974, 2.473, 3.072",\
                 "0.3392, 0.3779, 0.502, 0.7105, 0.9895, 1.333, 1.738, 2.199, 2.713, 3.308",\
                 "0.3125, 0.3569, 0.4988, 0.7362, 1.054, 1.44, 1.891, 2.406, 2.98, 3.608",\
                 "0.2627, 0.3124, 0.4704, 0.7373, 1.093, 1.524, 2.024, 2.589, 3.22, 3.913",\
                 "0.1909, 0.2429, 0.4182, 0.7116, 1.106, 1.583, 2.133, 2.749, 3.435, 4.189");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2978, 0.3283, 0.4354, 0.6389, 0.9538, 1.396, 1.979, 2.713, 3.603, 4.67",\
                 "0.3107, 0.3419, 0.4512, 0.6563, 0.9729, 1.416, 1.998, 2.731, 3.625, 4.693",\
                 "0.3487, 0.3799, 0.4887, 0.6953, 1.014, 1.459, 2.043, 2.776, 3.67, 4.738",\
                 "0.4211, 0.454, 0.5652, 0.7682, 1.084, 1.528, 2.11, 2.845, 3.741, 4.803",\
                 "0.5256, 0.5609, 0.6795, 0.8945, 1.209, 1.647, 2.225, 2.956, 3.849, 4.913",\
                 "0.6639, 0.704, 0.8331, 1.059, 1.392, 1.833, 2.403, 3.126, 4.014, 5.074",\
                 "0.8287, 0.8743, 1.02, 1.266, 1.613, 2.076, 2.655, 3.37, 4.249, 5.3",\
                 "1.017, 1.069, 1.236, 1.509, 1.881, 2.361, 2.963, 3.692, 4.563, 5.606",\
                 "1.229, 1.288, 1.475, 1.781, 2.187, 2.694, 3.316, 4.071, 4.96, 5.995",\
                 "1.465, 1.53, 1.74, 2.08, 2.527, 3.071, 3.719, 4.495, 5.413, 6.471");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2844, 0.315, 0.4216, 0.6211, 0.93, 1.362, 1.929, 2.641, 3.512, 4.551",\
                 "0.283, 0.3141, 0.4213, 0.621, 0.9298, 1.361, 1.927, 2.64, 3.512, 4.552",\
                 "0.2807, 0.3095, 0.414, 0.6195, 0.9297, 1.362, 1.927, 2.641, 3.512, 4.552",\
                 "0.3553, 0.3836, 0.4777, 0.6476, 0.9298, 1.36, 1.928, 2.641, 3.511, 4.55",\
                 "0.467, 0.4964, 0.5968, 0.7786, 1.04, 1.406, 1.931, 2.641, 3.512, 4.549",\
                 "0.6084, 0.6422, 0.7522, 0.945, 1.226, 1.596, 2.061, 2.686, 3.514, 4.55",\
                 "0.773, 0.8144, 0.9422, 1.151, 1.448, 1.839, 2.325, 2.907, 3.641, 4.585",\
                 "0.9606, 1.009, 1.157, 1.394, 1.71, 2.12, 2.631, 3.245, 3.954, 4.809",\
                 "1.168, 1.223, 1.393, 1.664, 2.018, 2.447, 2.977, 3.618, 4.367, 5.212",\
                 "1.395, 1.459, 1.656, 1.961, 2.353, 2.824, 3.374, 4.033, 4.816, 5.706");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3988, 0.452, 0.6385, 0.9931, 1.546, 2.32, 3.343, 4.633, 6.206, 8.066",\
                 "0.3991, 0.452, 0.6385, 0.9933, 1.545, 2.32, 3.344, 4.631, 6.206, 8.069",\
                 "0.3995, 0.4519, 0.6385, 0.9931, 1.545, 2.32, 3.344, 4.626, 6.197, 8.066",\
                 "0.4494, 0.4959, 0.6608, 0.9947, 1.547, 2.322, 3.342, 4.632, 6.205, 8.077",\
                 "0.526, 0.573, 0.7422, 1.058, 1.565, 2.326, 3.346, 4.626, 6.208, 8.073",\
                 "0.6432, 0.6892, 0.8508, 1.17, 1.664, 2.372, 3.35, 4.635, 6.201, 8.087",\
                 "0.7944, 0.842, 1.005, 1.313, 1.811, 2.501, 3.43, 4.654, 6.208, 8.083",\
                 "0.9624, 1.017, 1.195, 1.51, 1.987, 2.682, 3.596, 4.765, 6.247, 8.069",\
                 "1.143, 1.205, 1.404, 1.741, 2.221, 2.9, 3.816, 4.966, 6.394, 8.157",\
                 "1.338, 1.406, 1.629, 1.997, 2.506, 3.172, 4.071, 5.235, 6.633, 8.331");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1578, 0.1731, 0.2262, 0.3259, 0.4795, 0.6939, 0.9756, 1.33, 1.762, 2.277",\
                 "0.1684, 0.1837, 0.2369, 0.3366, 0.4902, 0.7047, 0.9864, 1.341, 1.773, 2.288",\
                 "0.2121, 0.2272, 0.2791, 0.3784, 0.5318, 0.7462, 1.028, 1.382, 1.814, 2.329",\
                 "0.2617, 0.2822, 0.3489, 0.4614, 0.6164, 0.8294, 1.11, 1.463, 1.895, 2.409",\
                 "0.2911, 0.3166, 0.3998, 0.5397, 0.7297, 0.9627, 1.243, 1.595, 2.025, 2.538",\
                 "0.2964, 0.3275, 0.428, 0.596, 0.8211, 1.098, 1.42, 1.785, 2.213, 2.723",\
                 "0.2765, 0.3124, 0.4316, 0.628, 0.8903, 1.208, 1.579, 1.998, 2.46, 2.974",\
                 "0.23, 0.2704, 0.4072, 0.632, 0.9318, 1.294, 1.711, 2.182, 2.704, 3.272",\
                 "0.1575, 0.2042, 0.3547, 0.6083, 0.9457, 1.353, 1.818, 2.34, 2.918, 3.55",\
                 "0.0576, 0.1085, 0.2737, 0.5537, 0.9276, 1.38, 1.896, 2.471, 3.104, 3.794");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2972, 0.3282, 0.4356, 0.6388, 0.9538, 1.396, 1.978, 2.711, 3.604, 4.668",\
                 "0.3101, 0.3415, 0.4505, 0.6559, 0.9728, 1.415, 1.997, 2.73, 3.626, 4.691",\
                 "0.3471, 0.3781, 0.4873, 0.6939, 1.013, 1.457, 2.04, 2.774, 3.67, 4.736",\
                 "0.4208, 0.4533, 0.5643, 0.7667, 1.082, 1.526, 2.109, 2.843, 3.739, 4.804",\
                 "0.5299, 0.5649, 0.6824, 0.8963, 1.21, 1.647, 2.224, 2.955, 3.847, 4.91",\
                 "0.6774, 0.7164, 0.8435, 1.067, 1.397, 1.837, 2.406, 3.129, 4.014, 5.073",\
                 "0.8538, 0.8981, 1.042, 1.285, 1.628, 2.087, 2.664, 3.377, 4.254, 5.305",\
                 "1.057, 1.109, 1.271, 1.54, 1.907, 2.382, 2.982, 3.708, 4.575, 5.615",\
                 "1.287, 1.345, 1.529, 1.829, 2.23, 2.73, 3.347, 4.097, 4.982, 6.014",\
                 "1.546, 1.61, 1.816, 2.15, 2.589, 3.126, 3.766, 4.536, 5.448, 6.501");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2365, 0.2622, 0.3522, 0.5217, 0.7837, 1.151, 1.635, 2.243, 2.985, 3.871",\
                 "0.2357, 0.2618, 0.352, 0.5211, 0.7834, 1.151, 1.635, 2.242, 2.985, 3.87",\
                 "0.2437, 0.2667, 0.3498, 0.5198, 0.7831, 1.151, 1.635, 2.242, 2.985, 3.87",\
                 "0.3268, 0.3497, 0.4294, 0.5699, 0.7971, 1.152, 1.634, 2.243, 2.985, 3.87",\
                 "0.4384, 0.4644, 0.5536, 0.7092, 0.9346, 1.229, 1.655, 2.244, 2.986, 3.869",\
                 "0.5778, 0.6088, 0.7098, 0.8802, 1.126, 1.441, 1.828, 2.331, 3.005, 3.87",\
                 "0.7398, 0.776, 0.8956, 1.086, 1.349, 1.69, 2.109, 2.599, 3.193, 3.956",\
                 "0.9244, 0.9664, 1.107, 1.324, 1.614, 1.975, 2.421, 2.95, 3.558, 4.25",\
                 "1.131, 1.182, 1.339, 1.593, 1.914, 2.304, 2.772, 3.329, 3.976, 4.703",\
                 "1.359, 1.418, 1.599, 1.887, 2.246, 2.673, 3.17, 3.75, 4.426, 5.198");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3989, 0.452, 0.6372, 0.994, 1.545, 2.322, 3.343, 4.631, 6.198, 8.077",\
                 "0.3983, 0.452, 0.6385, 0.994, 1.545, 2.324, 3.346, 4.635, 6.197, 8.073",\
                 "0.3998, 0.4526, 0.6373, 0.9928, 1.547, 2.322, 3.346, 4.626, 6.199, 8.074",\
                 "0.4498, 0.4963, 0.6604, 0.9962, 1.548, 2.325, 3.346, 4.637, 6.206, 8.073",\
                 "0.524, 0.5718, 0.7416, 1.057, 1.566, 2.322, 3.347, 4.634, 6.211, 8.077",\
                 "0.6404, 0.6832, 0.8454, 1.167, 1.661, 2.369, 3.353, 4.634, 6.201, 8.071",\
                 "0.7858, 0.8336, 0.9964, 1.304, 1.8, 2.497, 3.426, 4.652, 6.208, 8.079",\
                 "0.9528, 1.004, 1.182, 1.49, 1.973, 2.672, 3.589, 4.757, 6.246, 8.088",\
                 "1.13, 1.192, 1.386, 1.72, 2.199, 2.88, 3.804, 4.958, 6.387, 8.159",\
                 "1.323, 1.39, 1.612, 1.97, 2.476, 3.14, 4.047, 5.213, 6.624, 8.322");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1854, 0.2007, 0.2544, 0.3545, 0.5084, 0.7225, 1.003, 1.356, 1.786, 2.299",\
                 "0.1965, 0.2118, 0.2654, 0.3656, 0.5195, 0.7337, 1.014, 1.367, 1.798, 2.31",\
                 "0.2415, 0.2563, 0.3086, 0.4084, 0.562, 0.776, 1.057, 1.409, 1.84, 2.352",\
                 "0.3065, 0.3253, 0.388, 0.4951, 0.6472, 0.8601, 1.14, 1.492, 1.921, 2.434",\
                 "0.35, 0.3739, 0.4514, 0.5848, 0.7686, 0.9956, 1.274, 1.624, 2.052, 2.564",\
                 "0.3697, 0.3982, 0.4924, 0.6514, 0.8695, 1.14, 1.456, 1.816, 2.242, 2.751",\
                 "0.3635, 0.3972, 0.5079, 0.6944, 0.9475, 1.258, 1.622, 2.035, 2.492, 3.002",\
                 "0.3311, 0.3698, 0.4954, 0.71, 0.9988, 1.351, 1.761, 2.227, 2.743, 3.305",\
                 "0.2704, 0.3125, 0.4541, 0.6948, 1.021, 1.417, 1.875, 2.39, 2.962, 3.589",\
                 "0.1822, 0.2298, 0.3844, 0.6514, 1.012, 1.453, 1.961, 2.527, 3.153, 3.839");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3026, 0.3334, 0.4409, 0.6449, 0.9615, 1.405, 1.988, 2.722, 3.617, 4.684",\
                 "0.3153, 0.3466, 0.4558, 0.6617, 0.9796, 1.424, 2.008, 2.742, 3.638, 4.705",\
                 "0.353, 0.3843, 0.4935, 0.7001, 1.02, 1.466, 2.051, 2.786, 3.682, 4.749",\
                 "0.428, 0.4611, 0.5712, 0.7741, 1.091, 1.535, 2.119, 2.854, 3.75, 4.817",\
                 "0.5381, 0.5728, 0.6908, 0.9042, 1.219, 1.657, 2.235, 2.967, 3.861, 4.926",\
                 "0.6872, 0.7264, 0.8522, 1.076, 1.407, 1.847, 2.418, 3.141, 4.029, 5.09",\
                 "0.8664, 0.9101, 1.053, 1.294, 1.638, 2.098, 2.676, 3.391, 4.269, 5.322",\
                 "1.073, 1.123, 1.284, 1.552, 1.918, 2.394, 2.994, 3.722, 4.59, 5.632",\
                 "1.307, 1.364, 1.545, 1.844, 2.243, 2.742, 3.361, 4.112, 4.998, 6.031",\
                 "1.57, 1.633, 1.835, 2.167, 2.604, 3.14, 3.782, 4.553, 5.466, 6.519");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2763, 0.3029, 0.3941, 0.5638, 0.8267, 1.193, 1.677, 2.283, 3.022, 3.903",\
                 "0.2754, 0.3022, 0.3933, 0.5647, 0.8272, 1.195, 1.677, 2.282, 3.022, 3.903",\
                 "0.2722, 0.2966, 0.3876, 0.5622, 0.827, 1.195, 1.676, 2.281, 3.022, 3.904",\
                 "0.3513, 0.375, 0.454, 0.5964, 0.8319, 1.194, 1.676, 2.282, 3.022, 3.902",\
                 "0.4624, 0.4906, 0.579, 0.736, 0.9584, 1.258, 1.69, 2.282, 3.021, 3.903",\
                 "0.6028, 0.6342, 0.7354, 0.9064, 1.152, 1.466, 1.852, 2.359, 3.037, 3.902",\
                 "0.7684, 0.8048, 0.9222, 1.112, 1.375, 1.718, 2.134, 2.622, 3.217, 3.983",\
                 "0.9586, 1.001, 1.134, 1.352, 1.64, 2.002, 2.446, 2.974, 3.576, 4.27",\
                 "1.17, 1.218, 1.372, 1.618, 1.94, 2.331, 2.797, 3.354, 3.999, 4.722",\
                 "1.402, 1.46, 1.637, 1.917, 2.274, 2.702, 3.196, 3.775, 4.452, 5.218");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5008, 0.5552, 0.7454, 1.105, 1.659, 2.435, 3.454, 4.742, 6.31, 8.184",\
                 "0.5006, 0.5552, 0.7454, 1.105, 1.658, 2.434, 3.454, 4.744, 6.313, 8.178",\
                 "0.5019, 0.556, 0.7458, 1.105, 1.659, 2.435, 3.454, 4.744, 6.313, 8.184",\
                 "0.5538, 0.6001, 0.7686, 1.108, 1.659, 2.434, 3.456, 4.743, 6.314, 8.18",\
                 "0.6422, 0.689, 0.8554, 1.169, 1.679, 2.436, 3.457, 4.741, 6.315, 8.184",\
                 "0.7714, 0.8132, 0.9692, 1.284, 1.775, 2.482, 3.462, 4.744, 6.313, 8.187",\
                 "0.942, 0.984, 1.133, 1.43, 1.921, 2.612, 3.541, 4.766, 6.313, 8.186",\
                 "1.135, 1.179, 1.335, 1.626, 2.099, 2.793, 3.705, 4.875, 6.36, 8.189",\
                 "1.346, 1.395, 1.563, 1.869, 2.331, 3.005, 3.923, 5.073, 6.5, 8.265",\
                 "1.568, 1.625, 1.81, 2.14, 2.619, 3.273, 4.173, 5.335, 6.74, 8.442");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1498, 0.165, 0.2178, 0.317, 0.47, 0.6835, 0.9636, 1.316, 1.746, 2.259",\
                 "0.1609, 0.1761, 0.2289, 0.3281, 0.481, 0.6946, 0.9746, 1.327, 1.757, 2.269",\
                 "0.207, 0.222, 0.2726, 0.3709, 0.5237, 0.7369, 1.017, 1.369, 1.799, 2.311",\
                 "0.2579, 0.2781, 0.3442, 0.4558, 0.6095, 0.8212, 1.1, 1.452, 1.881, 2.393",\
                 "0.287, 0.313, 0.3959, 0.5352, 0.724, 0.956, 1.235, 1.585, 2.012, 2.522",\
                 "0.2929, 0.3242, 0.4248, 0.5919, 0.8164, 1.092, 1.413, 1.776, 2.201, 2.71",\
                 "0.2731, 0.3096, 0.4279, 0.6241, 0.8857, 1.203, 1.573, 1.99, 2.451, 2.962",\
                 "0.2266, 0.2686, 0.4041, 0.6289, 0.9275, 1.289, 1.706, 2.176, 2.696, 3.263",\
                 "0.1545, 0.2005, 0.3512, 0.6039, 0.9414, 1.348, 1.813, 2.334, 2.91, 3.541",\
                 "0.0539, 0.1055, 0.2712, 0.5504, 0.9242, 1.374, 1.891, 2.466, 3.098, 3.787");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2966, 0.3275, 0.4351, 0.6378, 0.953, 1.395, 1.976, 2.71, 3.604, 4.671",\
                 "0.309, 0.3403, 0.4495, 0.6545, 0.9716, 1.414, 1.997, 2.729, 3.625, 4.69",\
                 "0.347, 0.378, 0.487, 0.6929, 1.012, 1.457, 2.04, 2.774, 3.669, 4.734",\
                 "0.4212, 0.4539, 0.5644, 0.7669, 1.083, 1.526, 2.108, 2.843, 3.739, 4.801",\
                 "0.5302, 0.5648, 0.6827, 0.8963, 1.21, 1.647, 2.225, 2.955, 3.847, 4.912",\
                 "0.6769, 0.7164, 0.8433, 1.067, 1.398, 1.837, 2.407, 3.128, 4.014, 5.076",\
                 "0.8536, 0.8981, 1.042, 1.284, 1.628, 2.087, 2.664, 3.377, 4.254, 5.307",\
                 "1.057, 1.108, 1.271, 1.54, 1.907, 2.382, 2.982, 3.707, 4.575, 5.617",\
                 "1.287, 1.345, 1.529, 1.83, 2.23, 2.729, 3.347, 4.098, 4.982, 6.014",\
                 "1.545, 1.61, 1.815, 2.149, 2.588, 3.125, 3.766, 4.537, 5.448, 6.501");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2349, 0.2614, 0.3527, 0.5228, 0.7847, 1.152, 1.633, 2.239, 2.977, 3.859",\
                 "0.2331, 0.2598, 0.3514, 0.5226, 0.7842, 1.15, 1.631, 2.238, 2.977, 3.858",\
                 "0.2399, 0.2628, 0.3468, 0.5187, 0.7838, 1.15, 1.633, 2.237, 2.977, 3.859",\
                 "0.3249, 0.3486, 0.4277, 0.5674, 0.7944, 1.15, 1.633, 2.238, 2.978, 3.858",\
                 "0.4373, 0.4657, 0.5522, 0.7074, 0.9312, 1.227, 1.651, 2.238, 2.977, 3.858",\
                 "0.5778, 0.609, 0.7088, 0.8792, 1.122, 1.439, 1.824, 2.326, 2.998, 3.859",\
                 "0.74, 0.7772, 0.8958, 1.087, 1.349, 1.688, 2.106, 2.594, 3.186, 3.945",\
                 "0.9236, 0.9686, 1.106, 1.325, 1.614, 1.974, 2.417, 2.945, 3.55, 4.241",\
                 "1.131, 1.182, 1.342, 1.59, 1.914, 2.301, 2.769, 3.325, 3.968, 4.696",\
                 "1.359, 1.419, 1.601, 1.884, 2.245, 2.674, 3.169, 3.746, 4.422, 5.191");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3989, 0.452, 0.6385, 0.9928, 1.546, 2.32, 3.344, 4.633, 6.197, 8.077",\
                 "0.3988, 0.452, 0.6373, 0.9924, 1.545, 2.324, 3.344, 4.633, 6.198, 8.065",\
                 "0.3997, 0.4519, 0.6375, 0.9928, 1.547, 2.323, 3.344, 4.626, 6.194, 8.08",\
                 "0.4496, 0.4961, 0.6606, 0.9956, 1.548, 2.324, 3.341, 4.633, 6.206, 8.077",\
                 "0.523, 0.5706, 0.7408, 1.057, 1.567, 2.326, 3.345, 4.628, 6.211, 8.07",\
                 "0.6368, 0.6828, 0.844, 1.166, 1.661, 2.371, 3.347, 4.635, 6.206, 8.073",\
                 "0.785, 0.8344, 0.9936, 1.302, 1.805, 2.497, 3.428, 4.654, 6.209, 8.067",\
                 "0.9506, 1.004, 1.18, 1.489, 1.972, 2.676, 3.588, 4.76, 6.248, 8.082",\
                 "1.13, 1.191, 1.385, 1.719, 2.196, 2.879, 3.803, 4.958, 6.385, 8.15",\
                 "1.32, 1.389, 1.607, 1.969, 2.473, 3.146, 4.047, 5.214, 6.621, 8.324");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1331, 0.1458, 0.1896, 0.2718, 0.3983, 0.5747, 0.8062, 1.098, 1.453, 1.876",\
                 "0.145, 0.1576, 0.2015, 0.2837, 0.4102, 0.5866, 0.8181, 1.109, 1.465, 1.888",\
                 "0.1908, 0.2042, 0.248, 0.3296, 0.4558, 0.6322, 0.8636, 1.155, 1.51, 1.933",\
                 "0.2333, 0.252, 0.3124, 0.4129, 0.5475, 0.723, 0.9536, 1.244, 1.599, 2.022",\
                 "0.252, 0.2757, 0.3527, 0.4804, 0.6512, 0.8588, 1.098, 1.387, 1.741, 2.162",\
                 "0.2433, 0.2727, 0.3672, 0.5229, 0.7293, 0.9788, 1.267, 1.587, 1.944, 2.364",\
                 "0.2056, 0.2399, 0.3512, 0.536, 0.7792, 1.071, 1.406, 1.781, 2.19, 2.631",\
                 "0.1382, 0.1771, 0.3051, 0.518, 0.798, 1.133, 1.516, 1.942, 2.409, 2.915",\
                 "0.0405, 0.0848, 0.2267, 0.4653, 0.7837, 1.163, 1.594, 2.072, 2.594, 3.16",\
                 "-0.09, -0.0409, 0.1176, 0.3813, 0.7345, 1.157, 1.638, 2.171, 2.748, 3.372");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2965, 0.3274, 0.4349, 0.638, 0.9532, 1.395, 1.977, 2.712, 3.603, 4.667",\
                 "0.3081, 0.3394, 0.4484, 0.6539, 0.9712, 1.414, 1.996, 2.728, 3.625, 4.688",\
                 "0.3451, 0.3762, 0.4847, 0.6912, 1.009, 1.455, 2.038, 2.771, 3.667, 4.732",\
                 "0.4204, 0.4532, 0.5634, 0.7653, 1.081, 1.523, 2.106, 2.841, 3.733, 4.8",\
                 "0.5355, 0.5699, 0.6866, 0.8988, 1.211, 1.646, 2.224, 2.953, 3.846, 4.91",\
                 "0.6923, 0.7301, 0.8556, 1.077, 1.405, 1.842, 2.41, 3.131, 4.016, 5.076",\
                 "0.8812, 0.925, 1.066, 1.305, 1.644, 2.1, 2.675, 3.386, 4.261, 5.311",\
                 "1.101, 1.151, 1.311, 1.576, 1.937, 2.407, 3.003, 3.724, 4.589, 5.629",\
                 "1.351, 1.408, 1.588, 1.883, 2.276, 2.77, 3.382, 4.128, 5.008, 6.036",\
                 "1.634, 1.697, 1.898, 2.227, 2.657, 3.185, 3.819, 4.583, 5.49, 6.538");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1886, 0.2099, 0.2834, 0.4219, 0.6368, 0.9376, 1.334, 1.832, 2.438, 3.163",\
                 "0.188, 0.2093, 0.2828, 0.422, 0.6366, 0.9381, 1.334, 1.832, 2.439, 3.164",\
                 "0.2081, 0.2251, 0.2882, 0.4207, 0.6361, 0.9372, 1.334, 1.832, 2.439, 3.163",\
                 "0.2957, 0.3157, 0.3829, 0.4962, 0.669, 0.9416, 1.334, 1.832, 2.439, 3.163",\
                 "0.4071, 0.4308, 0.5082, 0.6412, 0.8278, 1.062, 1.383, 1.838, 2.439, 3.164",\
                 "0.5436, 0.5724, 0.6628, 0.8136, 1.022, 1.287, 1.605, 1.987, 2.501, 3.174",\
                 "0.7026, 0.7388, 0.844, 1.018, 1.248, 1.539, 1.891, 2.3, 2.762, 3.338",\
                 "0.8846, 0.9232, 1.052, 1.252, 1.51, 1.825, 2.206, 2.654, 3.159, 3.714",\
                 "1.091, 1.137, 1.284, 1.514, 1.804, 2.154, 2.561, 3.035, 3.582, 4.189",\
                 "1.319, 1.376, 1.539, 1.802, 2.131, 2.518, 2.955, 3.462, 4.037, 4.687");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3989, 0.452, 0.6385, 0.9939, 1.545, 2.323, 3.341, 4.633, 6.202, 8.077",\
                 "0.3988, 0.452, 0.6385, 0.9939, 1.547, 2.323, 3.344, 4.634, 6.202, 8.072",\
                 "0.4003, 0.4522, 0.6373, 0.9932, 1.545, 2.324, 3.344, 4.626, 6.2, 8.075",\
                 "0.4497, 0.4963, 0.6609, 0.996, 1.547, 2.321, 3.346, 4.632, 6.205, 8.078",\
                 "0.522, 0.57, 0.739, 1.056, 1.565, 2.325, 3.348, 4.637, 6.199, 8.069",\
                 "0.632, 0.6766, 0.8392, 1.161, 1.659, 2.371, 3.353, 4.636, 6.206, 8.067",\
                 "0.775, 0.8214, 0.982, 1.292, 1.794, 2.492, 3.432, 4.649, 6.209, 8.078",\
                 "0.9376, 0.9892, 1.162, 1.471, 1.959, 2.661, 3.582, 4.757, 6.239, 8.082",\
                 "1.115, 1.174, 1.363, 1.694, 2.169, 2.857, 3.791, 4.947, 6.383, 8.157",\
                 "1.304, 1.37, 1.584, 1.938, 2.436, 3.105, 4.02, 5.195, 6.609, 8.314");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2629, 0.2812, 0.3443, 0.4622, 0.6431, 0.895, 1.225, 1.639, 2.145, 2.746",\
                 "0.2731, 0.2912, 0.3544, 0.4721, 0.6533, 0.9051, 1.235, 1.65, 2.155, 2.757",\
                 "0.3132, 0.3312, 0.394, 0.5116, 0.6926, 0.9443, 1.274, 1.688, 2.194, 2.795",\
                 "0.3907, 0.4103, 0.476, 0.5926, 0.7718, 1.022, 1.351, 1.765, 2.27, 2.871",\
                 "0.4565, 0.4807, 0.5606, 0.7013, 0.8983, 1.15, 1.476, 1.888, 2.392, 2.992",\
                 "0.5031, 0.5321, 0.626, 0.7901, 1.021, 1.312, 1.658, 2.068, 2.568, 3.166",\
                 "0.5276, 0.56, 0.6707, 0.8595, 1.123, 1.454, 1.848, 2.299, 2.808, 3.402",\
                 "0.5281, 0.5654, 0.691, 0.9059, 1.205, 1.574, 2.013, 2.518, 3.083, 3.703",\
                 "0.5044, 0.5471, 0.6869, 0.9289, 1.261, 1.674, 2.158, 2.712, 3.334, 4.018",\
                 "0.4555, 0.5013, 0.6551, 0.9235, 1.292, 1.748, 2.28, 2.883, 3.559, 4.304");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2965, 0.3274, 0.4349, 0.638, 0.9532, 1.395, 1.977, 2.712, 3.603, 4.667",\
                 "0.3081, 0.3394, 0.4484, 0.6539, 0.9712, 1.414, 1.996, 2.728, 3.625, 4.688",\
                 "0.3451, 0.3762, 0.4847, 0.6912, 1.009, 1.455, 2.038, 2.771, 3.667, 4.732",\
                 "0.4204, 0.4532, 0.5634, 0.7653, 1.081, 1.523, 2.106, 2.841, 3.733, 4.8",\
                 "0.5355, 0.5699, 0.6866, 0.8988, 1.211, 1.646, 2.224, 2.953, 3.846, 4.91",\
                 "0.6923, 0.7301, 0.8556, 1.077, 1.405, 1.842, 2.41, 3.131, 4.016, 5.076",\
                 "0.8812, 0.925, 1.066, 1.305, 1.644, 2.1, 2.675, 3.386, 4.261, 5.311",\
                 "1.101, 1.151, 1.311, 1.576, 1.937, 2.407, 3.003, 3.724, 4.589, 5.629",\
                 "1.351, 1.408, 1.588, 1.883, 2.276, 2.77, 3.382, 4.128, 5.008, 6.036",\
                 "1.634, 1.697, 1.898, 2.227, 2.657, 3.185, 3.819, 4.583, 5.49, 6.538");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3819, 0.4128, 0.5202, 0.721, 1.031, 1.463, 2.032, 2.745, 3.616, 4.653",\
                 "0.3816, 0.4127, 0.5203, 0.7215, 1.032, 1.465, 2.032, 2.745, 3.616, 4.652",\
                 "0.3743, 0.407, 0.5176, 0.721, 1.031, 1.464, 2.032, 2.745, 3.615, 4.653",\
                 "0.4263, 0.4541, 0.5483, 0.7291, 1.029, 1.464, 2.031, 2.745, 3.615, 4.655",\
                 "0.5318, 0.5634, 0.6664, 0.8498, 1.11, 1.49, 2.031, 2.744, 3.615, 4.653",\
                 "0.6714, 0.7056, 0.818, 1.014, 1.297, 1.663, 2.137, 2.776, 3.617, 4.653",\
                 "0.8436, 0.8818, 1.006, 1.215, 1.515, 1.909, 2.395, 2.977, 3.723, 4.68",\
                 "1.039, 1.083, 1.225, 1.457, 1.775, 2.187, 2.702, 3.316, 4.023, 4.885",\
                 "1.259, 1.31, 1.471, 1.731, 2.078, 2.511, 3.047, 3.692, 4.436, 5.28",\
                 "1.499, 1.559, 1.74, 2.035, 2.42, 2.883, 3.437, 4.102, 4.884, 5.775");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6183, 0.673, 0.8637, 1.223, 1.778, 2.555, 3.577, 4.863, 6.434, 8.304",\
                 "0.6183, 0.673, 0.8639, 1.223, 1.778, 2.555, 3.576, 4.862, 6.433, 8.307",\
                 "0.6197, 0.6738, 0.864, 1.223, 1.779, 2.555, 3.575, 4.865, 6.433, 8.306",\
                 "0.6706, 0.7171, 0.8863, 1.225, 1.778, 2.555, 3.577, 4.864, 6.434, 8.303",\
                 "0.7742, 0.8188, 0.9788, 1.288, 1.798, 2.556, 3.577, 4.864, 6.435, 8.3",\
                 "0.9182, 0.9586, 1.108, 1.414, 1.896, 2.604, 3.584, 4.863, 6.435, 8.302",\
                 "1.113, 1.15, 1.287, 1.574, 2.054, 2.737, 3.662, 4.887, 6.432, 8.308",\
                 "1.335, 1.373, 1.512, 1.786, 2.247, 2.928, 3.832, 4.998, 6.481, 8.314",\
                 "1.574, 1.616, 1.766, 2.051, 2.5, 3.156, 4.063, 5.205, 6.627, 8.384",\
                 "1.832, 1.876, 2.038, 2.345, 2.802, 3.448, 4.33, 5.48, 6.87, 8.571");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3013, 0.3194, 0.3822, 0.4995, 0.6799, 0.9314, 1.261, 1.676, 2.181, 2.782",\
                 "0.3148, 0.3328, 0.3957, 0.5134, 0.6941, 0.9456, 1.275, 1.69, 2.196, 2.797",\
                 "0.3464, 0.3647, 0.4278, 0.546, 0.7272, 0.9793, 1.309, 1.724, 2.23, 2.831",\
                 "0.3891, 0.4093, 0.4768, 0.5979, 0.779, 1.031, 1.361, 1.776, 2.281, 2.884",\
                 "0.4219, 0.4452, 0.5225, 0.659, 0.8558, 1.113, 1.443, 1.856, 2.362, 2.963",\
                 "0.4306, 0.4585, 0.5506, 0.7085, 0.9286, 1.211, 1.558, 1.975, 2.478, 3.079",\
                 "0.4046, 0.438, 0.5473, 0.7327, 0.9846, 1.298, 1.674, 2.119, 2.635, 3.235",\
                 "0.3411, 0.3802, 0.5064, 0.7213, 1.011, 1.364, 1.777, 2.256, 2.805, 3.43",\
                 "0.2377, 0.2815, 0.4252, 0.6701, 0.9991, 1.398, 1.858, 2.378, 2.966, 3.626",\
                 "0.0939, 0.143, 0.3026, 0.5759, 0.9461, 1.392, 1.905, 2.477, 3.109, 3.811");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4283, 0.4594, 0.5685, 0.7748, 1.094, 1.54, 2.126, 2.863, 3.76, 4.829",\
                 "0.44, 0.4713, 0.5806, 0.7876, 1.107, 1.554, 2.14, 2.877, 3.774, 4.843",\
                 "0.4902, 0.5213, 0.6309, 0.8381, 1.158, 1.605, 2.191, 2.928, 3.827, 4.895",\
                 "0.6095, 0.64, 0.7469, 0.9507, 1.268, 1.713, 2.297, 3.034, 3.931, 5",\
                 "0.7972, 0.8305, 0.9433, 1.145, 1.456, 1.895, 2.474, 3.207, 4.102, 5.169",\
                 "1.024, 1.062, 1.188, 1.414, 1.736, 2.168, 2.739, 3.464, 4.353, 5.415",\
                 "1.297, 1.338, 1.477, 1.725, 2.081, 2.538, 3.104, 3.821, 4.701, 5.755",\
                 "1.618, 1.663, 1.816, 2.084, 2.469, 2.969, 3.571, 4.286, 5.155, 6.199",\
                 "1.984, 2.035, 2.205, 2.498, 2.91, 3.444, 4.097, 4.854, 5.725, 6.757",\
                 "2.398, 2.455, 2.643, 2.965, 3.409, 3.975, 4.668, 5.482, 6.404, 7.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3339, 0.3647, 0.4709, 0.6707, 0.9792, 1.412, 1.98, 2.693, 3.565, 4.601",\
                 "0.3338, 0.3649, 0.4704, 0.671, 0.9796, 1.413, 1.98, 2.694, 3.565, 4.601",\
                 "0.3349, 0.3644, 0.4706, 0.6701, 0.9791, 1.413, 1.979, 2.693, 3.564, 4.603",\
                 "0.381, 0.4086, 0.5029, 0.6852, 0.9822, 1.412, 1.979, 2.693, 3.564, 4.604",\
                 "0.4724, 0.4994, 0.5952, 0.7736, 1.046, 1.44, 1.983, 2.692, 3.564, 4.603",\
                 "0.6094, 0.6388, 0.7326, 0.9092, 1.181, 1.561, 2.062, 2.725, 3.568, 4.602",\
                 "0.7794, 0.8098, 0.915, 1.096, 1.367, 1.743, 2.239, 2.862, 3.65, 4.632",\
                 "0.9722, 1.009, 1.124, 1.324, 1.606, 1.98, 2.471, 3.093, 3.85, 4.772",\
                 "1.181, 1.224, 1.356, 1.58, 1.886, 2.273, 2.764, 3.378, 4.136, 5.039",\
                 "1.412, 1.457, 1.607, 1.858, 2.194, 2.614, 3.113, 3.729, 4.478, 5.375");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8452, 0.8991, 1.088, 1.446, 2.003, 2.781, 3.803, 5.088, 6.662, 8.53",\
                 "0.8451, 0.8991, 1.088, 1.446, 2.003, 2.781, 3.802, 5.089, 6.66, 8.53",\
                 "0.8447, 0.8987, 1.088, 1.447, 2.003, 2.781, 3.804, 5.091, 6.661, 8.53",\
                 "0.859, 0.9087, 1.089, 1.447, 2.003, 2.781, 3.804, 5.09, 6.662, 8.532",\
                 "0.967, 1.011, 1.166, 1.479, 2.006, 2.781, 3.804, 5.09, 6.662, 8.53",\
                 "1.117, 1.164, 1.329, 1.626, 2.094, 2.801, 3.804, 5.092, 6.662, 8.534",\
                 "1.286, 1.334, 1.506, 1.832, 2.301, 2.949, 3.86, 5.099, 6.662, 8.535",\
                 "1.489, 1.538, 1.712, 2.045, 2.549, 3.214, 4.064, 5.195, 6.68, 8.533",\
                 "1.723, 1.776, 1.952, 2.287, 2.807, 3.515, 4.387, 5.456, 6.832, 8.575",\
                 "1.983, 2.038, 2.227, 2.57, 3.096, 3.827, 4.751, 5.842, 7.147, 8.778");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2586, 0.2765, 0.3385, 0.4549, 0.6345, 0.8852, 1.214, 1.628, 2.134, 2.735",\
                 "0.2716, 0.2896, 0.3519, 0.4687, 0.6485, 0.8992, 1.229, 1.643, 2.148, 2.75",\
                 "0.3028, 0.321, 0.3837, 0.501, 0.6816, 0.9329, 1.262, 1.676, 2.182, 2.783",\
                 "0.3391, 0.3599, 0.4291, 0.5522, 0.7332, 0.9848, 1.314, 1.728, 2.234, 2.836",\
                 "0.3607, 0.3856, 0.4668, 0.6074, 0.8069, 1.067, 1.396, 1.809, 2.314, 2.916",\
                 "0.3549, 0.3854, 0.4837, 0.6487, 0.8742, 1.16, 1.509, 1.927, 2.43, 3.031",\
                 "0.3134, 0.3499, 0.4671, 0.6621, 0.9227, 1.241, 1.622, 2.069, 2.587, 3.187",\
                 "0.2347, 0.2766, 0.4128, 0.6391, 0.9395, 1.302, 1.721, 2.203, 2.755, 3.381",\
                 "0.117, 0.1643, 0.3184, 0.5761, 0.9186, 1.328, 1.796, 2.321, 2.913, 3.575",\
                 "-0.0415, 0.0115, 0.1835, 0.4708, 0.8547, 1.313, 1.835, 2.414, 3.052, 3.757");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4201, 0.4513, 0.56, 0.7659, 1.084, 1.529, 2.113, 2.848, 3.744, 4.811",\
                 "0.4316, 0.4631, 0.5724, 0.7789, 1.097, 1.542, 2.127, 2.862, 3.758, 4.825",\
                 "0.4816, 0.513, 0.6225, 0.8291, 1.148, 1.594, 2.178, 2.914, 3.81, 4.877",\
                 "0.6014, 0.6317, 0.7387, 0.9416, 1.258, 1.701, 2.284, 3.018, 3.915, 4.982",\
                 "0.7873, 0.821, 0.9342, 1.136, 1.446, 1.884, 2.461, 3.193, 4.085, 5.15",\
                 "1.012, 1.05, 1.177, 1.404, 1.726, 2.157, 2.726, 3.45, 4.337, 5.397",\
                 "1.283, 1.324, 1.463, 1.712, 2.069, 2.526, 3.092, 3.805, 4.684, 5.737",\
                 "1.599, 1.646, 1.8, 2.069, 2.455, 2.955, 3.557, 4.271, 5.138, 6.181",\
                 "1.961, 2.013, 2.185, 2.48, 2.894, 3.428, 4.081, 4.838, 5.708, 6.739",\
                 "2.37, 2.428, 2.618, 2.944, 3.39, 3.957, 4.65, 5.464, 6.385, 7.424");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2868, 0.3168, 0.4223, 0.6211, 0.9293, 1.362, 1.929, 2.641, 3.513, 4.55",\
                 "0.2867, 0.3167, 0.4213, 0.6207, 0.9288, 1.361, 1.928, 2.641, 3.512, 4.549",\
                 "0.2894, 0.3192, 0.4226, 0.6207, 0.9291, 1.362, 1.928, 2.641, 3.512, 4.549",\
                 "0.3456, 0.3729, 0.465, 0.6423, 0.9341, 1.361, 1.928, 2.641, 3.511, 4.551",\
                 "0.442, 0.4684, 0.561, 0.7368, 1.007, 1.394, 1.933, 2.641, 3.512, 4.551",\
                 "0.5828, 0.611, 0.7062, 0.8774, 1.146, 1.522, 2.019, 2.678, 3.517, 4.549",\
                 "0.753, 0.785, 0.8872, 1.069, 1.337, 1.708, 2.201, 2.821, 3.604, 4.583",\
                 "0.9442, 0.9798, 1.098, 1.298, 1.577, 1.948, 2.436, 3.053, 3.81, 4.728",\
                 "1.153, 1.195, 1.327, 1.552, 1.859, 2.245, 2.731, 3.343, 4.098, 4.997",\
                 "1.385, 1.428, 1.579, 1.83, 2.167, 2.587, 3.088, 3.696, 4.441, 5.338");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7266, 0.781, 0.971, 1.33, 1.887, 2.666, 3.688, 4.973, 6.546, 8.414",\
                 "0.7265, 0.7809, 0.971, 1.331, 1.887, 2.666, 3.688, 4.974, 6.547, 8.414",\
                 "0.7263, 0.7809, 0.971, 1.331, 1.887, 2.666, 3.687, 4.974, 6.547, 8.416",\
                 "0.7406, 0.7905, 0.9723, 1.331, 1.887, 2.666, 3.688, 4.976, 6.543, 8.415",\
                 "0.8466, 0.8914, 1.05, 1.364, 1.891, 2.666, 3.688, 4.976, 6.547, 8.413",\
                 "0.9792, 1.028, 1.202, 1.51, 1.978, 2.687, 3.69, 4.975, 6.546, 8.417",\
                 "1.132, 1.184, 1.366, 1.703, 2.183, 2.834, 3.744, 4.982, 6.546, 8.417",\
                 "1.318, 1.372, 1.557, 1.901, 2.419, 3.096, 3.948, 5.08, 6.565, 8.417",\
                 "1.531, 1.588, 1.783, 2.133, 2.668, 3.387, 4.269, 5.342, 6.714, 8.459",\
                 "1.766, 1.83, 2.037, 2.402, 2.944, 3.689, 4.623, 5.723, 7.03, 8.658");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2214, 0.2367, 0.2898, 0.3896, 0.5434, 0.7577, 1.04, 1.394, 1.826, 2.34",\
                 "0.2354, 0.2509, 0.3042, 0.4043, 0.5582, 0.773, 1.055, 1.409, 1.841, 2.356",\
                 "0.2687, 0.2843, 0.338, 0.4385, 0.5929, 0.808, 1.09, 1.444, 1.877, 2.392",\
                 "0.3021, 0.3206, 0.3819, 0.4901, 0.6467, 0.8617, 1.144, 1.498, 1.93, 2.445",\
                 "0.3159, 0.3387, 0.4125, 0.5384, 0.7152, 0.9437, 1.228, 1.581, 2.013, 2.528",\
                 "0.2977, 0.3252, 0.4164, 0.5679, 0.7713, 1.026, 1.335, 1.701, 2.132, 2.646",\
                 "0.2395, 0.2736, 0.3828, 0.5637, 0.8028, 1.092, 1.432, 1.829, 2.284, 2.805",\
                 "0.1412, 0.1805, 0.3077, 0.5187, 0.7973, 1.13, 1.511, 1.943, 2.433, 2.986",\
                 "-0.0006, 0.0445, 0.1889, 0.4298, 0.749, 1.128, 1.558, 2.035, 2.565, 3.155",\
                 "-0.1882, -0.1383, 0.0253, 0.2951, 0.6539, 1.081, 1.564, 2.095, 2.674, 3.307");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4187, 0.4502, 0.5588, 0.7647, 1.083, 1.527, 2.112, 2.846, 3.742, 4.809",\
                 "0.4285, 0.46, 0.5694, 0.7758, 1.094, 1.539, 2.123, 2.859, 3.755, 4.822",\
                 "0.4788, 0.5106, 0.6195, 0.826, 1.145, 1.59, 2.175, 2.91, 3.806, 4.874",\
                 "0.6012, 0.6315, 0.7381, 0.9403, 1.256, 1.698, 2.281, 3.015, 3.911, 4.978",\
                 "0.7918, 0.825, 0.9382, 1.138, 1.447, 1.884, 2.461, 3.191, 4.084, 5.148",\
                 "1.023, 1.061, 1.187, 1.412, 1.731, 2.161, 2.729, 3.452, 4.338, 5.398",\
                 "1.303, 1.345, 1.482, 1.729, 2.083, 2.537, 3.1, 3.812, 4.689, 5.74",\
                 "1.634, 1.68, 1.831, 2.096, 2.479, 2.975, 3.575, 4.285, 5.148, 6.19",\
                 "2.014, 2.065, 2.233, 2.523, 2.931, 3.461, 4.108, 4.862, 5.729, 6.757",\
                 "2.445, 2.501, 2.688, 3.006, 3.445, 4.006, 4.693, 5.501, 6.417, 7.451");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2368, 0.2624, 0.3517, 0.5216, 0.784, 1.152, 1.636, 2.243, 2.986, 3.869",\
                 "0.2368, 0.2626, 0.3523, 0.521, 0.784, 1.152, 1.636, 2.244, 2.985, 3.869",\
                 "0.2412, 0.2653, 0.3528, 0.5215, 0.7841, 1.152, 1.636, 2.244, 2.985, 3.87",\
                 "0.2999, 0.3231, 0.4022, 0.5508, 0.7933, 1.153, 1.636, 2.243, 2.986, 3.871",\
                 "0.3976, 0.4214, 0.5006, 0.6492, 0.8798, 1.202, 1.651, 2.244, 2.986, 3.87",\
                 "0.534, 0.5596, 0.6434, 0.7926, 1.02, 1.341, 1.761, 2.305, 3.005, 3.87",\
                 "0.696, 0.7244, 0.8188, 0.9816, 1.212, 1.529, 1.948, 2.477, 3.125, 3.937",\
                 "0.8786, 0.9116, 1.02, 1.2, 1.451, 1.773, 2.187, 2.713, 3.358, 4.125",\
                 "1.081, 1.119, 1.238, 1.445, 1.72, 2.066, 2.488, 3.007, 3.649, 4.415",\
                 "1.302, 1.345, 1.479, 1.71, 2.017, 2.392, 2.841, 3.367, 4, 4.762");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7263, 0.7811, 0.9711, 1.331, 1.887, 2.666, 3.689, 4.975, 6.543, 8.417",\
                 "0.7265, 0.781, 0.9711, 1.331, 1.887, 2.666, 3.687, 4.973, 6.546, 8.416",\
                 "0.7263, 0.7807, 0.9712, 1.331, 1.887, 2.666, 3.687, 4.974, 6.546, 8.415",\
                 "0.7401, 0.7903, 0.9724, 1.331, 1.887, 2.666, 3.688, 4.975, 6.545, 8.416",\
                 "0.8434, 0.8888, 1.048, 1.363, 1.891, 2.666, 3.689, 4.975, 6.546, 8.416",\
                 "0.9694, 1.021, 1.197, 1.505, 1.977, 2.686, 3.689, 4.977, 6.546, 8.417",\
                 "1.116, 1.169, 1.351, 1.689, 2.176, 2.83, 3.741, 4.982, 6.547, 8.418",\
                 "1.291, 1.345, 1.532, 1.882, 2.403, 3.084, 3.941, 5.075, 6.564, 8.418",\
                 "1.495, 1.553, 1.747, 2.101, 2.64, 3.366, 4.254, 5.329, 6.709, 8.457",\
                 "1.719, 1.783, 1.99, 2.355, 2.9, 3.651, 4.599, 5.703, 7.015, 8.65");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.256, 0.2739, 0.3356, 0.4518, 0.6312, 0.8814, 1.21, 1.625, 2.13, 2.731",\
                 "0.269, 0.287, 0.349, 0.4655, 0.6451, 0.8957, 1.225, 1.639, 2.144, 2.746",\
                 "0.3001, 0.3182, 0.3808, 0.498, 0.6781, 0.9293, 1.259, 1.673, 2.178, 2.78",\
                 "0.3357, 0.3563, 0.4257, 0.5489, 0.7299, 0.9812, 1.31, 1.725, 2.23, 2.832",\
                 "0.3564, 0.3814, 0.463, 0.6035, 0.8032, 1.063, 1.392, 1.805, 2.31, 2.912",\
                 "0.3491, 0.3799, 0.4784, 0.6443, 0.8699, 1.156, 1.506, 1.924, 2.427, 3.028",\
                 "0.3063, 0.343, 0.4608, 0.6565, 0.9177, 1.237, 1.618, 2.065, 2.583, 3.184",\
                 "0.2261, 0.2684, 0.405, 0.6325, 0.9338, 1.297, 1.716, 2.199, 2.751, 3.377",\
                 "0.1077, 0.1552, 0.3094, 0.5685, 0.9115, 1.322, 1.791, 2.317, 2.908, 3.571",\
                 "-0.0531, 0.0008, 0.1739, 0.4618, 0.8473, 1.307, 1.83, 2.409, 3.047, 3.753");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4201, 0.4514, 0.56, 0.7659, 1.084, 1.529, 2.113, 2.847, 3.743, 4.81",\
                 "0.4315, 0.4631, 0.5725, 0.7788, 1.097, 1.542, 2.126, 2.861, 3.757, 4.824",\
                 "0.4821, 0.5131, 0.6225, 0.8291, 1.148, 1.594, 2.178, 2.913, 3.809, 4.877",\
                 "0.6013, 0.6319, 0.7386, 0.9416, 1.258, 1.701, 2.284, 3.018, 3.914, 4.981",\
                 "0.7871, 0.8206, 0.9343, 1.136, 1.446, 1.883, 2.462, 3.192, 4.085, 5.149",\
                 "1.011, 1.05, 1.177, 1.404, 1.726, 2.156, 2.727, 3.45, 4.336, 5.397",\
                 "1.282, 1.324, 1.463, 1.712, 2.069, 2.526, 3.092, 3.805, 4.683, 5.735",\
                 "1.599, 1.646, 1.8, 2.069, 2.455, 2.955, 3.558, 4.271, 5.137, 6.179",\
                 "1.961, 2.013, 2.185, 2.48, 2.893, 3.428, 4.081, 4.839, 5.708, 6.738",\
                 "2.37, 2.428, 2.618, 2.944, 3.39, 3.956, 4.649, 5.463, 6.385, 7.422");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.283, 0.3132, 0.4182, 0.6169, 0.925, 1.358, 1.924, 2.638, 3.509, 4.546",\
                 "0.2831, 0.3127, 0.4173, 0.6162, 0.9247, 1.357, 1.923, 2.637, 3.508, 4.544",\
                 "0.2858, 0.3155, 0.4185, 0.6166, 0.9247, 1.357, 1.924, 2.638, 3.509, 4.546",\
                 "0.3426, 0.3694, 0.462, 0.6386, 0.9302, 1.358, 1.924, 2.637, 3.508, 4.547",\
                 "0.4398, 0.4664, 0.5588, 0.7334, 1.004, 1.391, 1.93, 2.637, 3.508, 4.546",\
                 "0.581, 0.6088, 0.702, 0.8754, 1.143, 1.519, 2.016, 2.673, 3.514, 4.546",\
                 "0.7508, 0.7828, 0.8856, 1.067, 1.332, 1.705, 2.197, 2.818, 3.602, 4.579",\
                 "0.9428, 0.9784, 1.094, 1.295, 1.577, 1.946, 2.433, 3.051, 3.807, 4.726",\
                 "1.153, 1.192, 1.327, 1.549, 1.856, 2.242, 2.729, 3.34, 4.093, 4.995",\
                 "1.383, 1.426, 1.574, 1.827, 2.164, 2.584, 3.083, 3.694, 4.44, 5.335");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7177, 0.7718, 0.9617, 1.321, 1.876, 2.655, 3.678, 4.963, 6.535, 8.403",\
                 "0.7177, 0.7716, 0.9617, 1.321, 1.876, 2.654, 3.678, 4.964, 6.533, 8.406",\
                 "0.7177, 0.7721, 0.9614, 1.321, 1.876, 2.655, 3.677, 4.965, 6.536, 8.407",\
                 "0.7313, 0.7818, 0.9631, 1.32, 1.877, 2.655, 3.677, 4.964, 6.534, 8.406",\
                 "0.837, 0.8822, 1.041, 1.353, 1.88, 2.656, 3.678, 4.965, 6.534, 8.407",\
                 "0.9672, 1.018, 1.192, 1.499, 1.968, 2.676, 3.678, 4.966, 6.535, 8.407",\
                 "1.119, 1.171, 1.353, 1.691, 2.173, 2.823, 3.733, 4.972, 6.535, 8.407",\
                 "1.303, 1.358, 1.546, 1.889, 2.41, 3.085, 3.937, 5.069, 6.552, 8.406",\
                 "1.515, 1.573, 1.766, 2.121, 2.654, 3.378, 4.259, 5.33, 6.7, 8.449",\
                 "1.747, 1.811, 2.019, 2.387, 2.93, 3.674, 4.613, 5.713, 7.021, 8.648");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2158, 0.233, 0.2932, 0.4077, 0.5859, 0.8359, 1.164, 1.578, 2.082, 2.684",\
                 "0.2282, 0.2459, 0.3067, 0.4216, 0.6001, 0.8498, 1.178, 1.592, 2.097, 2.698",\
                 "0.2576, 0.2757, 0.3376, 0.4536, 0.6329, 0.8832, 1.212, 1.626, 2.131, 2.732",\
                 "0.2836, 0.3054, 0.3773, 0.5029, 0.6845, 0.9348, 1.264, 1.677, 2.182, 2.784",\
                 "0.2905, 0.3178, 0.4047, 0.5511, 0.754, 1.016, 1.345, 1.758, 2.263, 2.865",\
                 "0.2661, 0.2999, 0.4073, 0.5819, 0.8146, 1.105, 1.457, 1.876, 2.38, 2.98",\
                 "0.2053, 0.2461, 0.3747, 0.5826, 0.8542, 1.18, 1.565, 2.015, 2.535, 3.136",\
                 "0.1092, 0.1559, 0.3048, 0.5465, 0.8606, 1.233, 1.659, 2.145, 2.7, 3.329",\
                 "-0.0259, 0.0273, 0.1956, 0.4696, 0.8285, 1.25, 1.727, 2.259, 2.854, 3.52",\
                 "-0.2022, -0.1431, 0.0457, 0.3518, 0.7527, 1.226, 1.758, 2.347, 2.989, 3.698");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4122, 0.4436, 0.5525, 0.758, 1.076, 1.52, 2.103, 2.833, 3.729, 4.794",\
                 "0.4238, 0.4551, 0.5645, 0.7708, 1.089, 1.533, 2.116, 2.851, 3.742, 4.814",\
                 "0.4738, 0.5053, 0.6145, 0.8211, 1.139, 1.584, 2.168, 2.902, 3.794, 4.861",\
                 "0.5934, 0.6239, 0.7305, 0.9333, 1.249, 1.691, 2.274, 3.007, 3.901, 4.967",\
                 "0.7773, 0.8112, 0.9255, 1.128, 1.437, 1.873, 2.451, 3.18, 4.07, 5.134",\
                 "0.9999, 1.038, 1.166, 1.394, 1.716, 2.146, 2.715, 3.436, 4.323, 5.382",\
                 "1.268, 1.31, 1.451, 1.699, 2.058, 2.515, 3.079, 3.791, 4.669, 5.72",\
                 "1.582, 1.629, 1.784, 2.055, 2.441, 2.941, 3.544, 4.256, 5.123, 6.163",\
                 "1.94, 1.992, 2.166, 2.464, 2.878, 3.412, 4.065, 4.823, 5.693, 6.722",\
                 "2.344, 2.403, 2.596, 2.924, 3.372, 3.938, 4.632, 5.445, 6.368, 7.404");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2357, 0.2654, 0.3691, 0.5657, 0.8743, 1.305, 1.872, 2.586, 3.459, 4.5",\
                 "0.2345, 0.2642, 0.3681, 0.5664, 0.8752, 1.306, 1.871, 2.587, 3.459, 4.499",\
                 "0.2437, 0.2709, 0.3702, 0.5668, 0.8745, 1.306, 1.871, 2.587, 3.459, 4.498",\
                 "0.3073, 0.3337, 0.4245, 0.5973, 0.8827, 1.306, 1.873, 2.586, 3.456, 4.496",\
                 "0.4123, 0.4376, 0.5264, 0.6976, 0.965, 1.346, 1.881, 2.589, 3.457, 4.501",\
                 "0.5588, 0.5856, 0.6776, 0.8452, 1.11, 1.481, 1.974, 2.629, 3.47, 4.496",\
                 "0.73, 0.7606, 0.8614, 1.043, 1.304, 1.669, 2.158, 2.776, 3.555, 4.533",\
                 "0.9224, 0.9568, 1.073, 1.269, 1.549, 1.915, 2.398, 3.013, 3.767, 4.681",\
                 "1.133, 1.171, 1.301, 1.524, 1.829, 2.215, 2.697, 3.306, 4.053, 4.954",\
                 "1.36, 1.405, 1.549, 1.801, 2.138, 2.556, 3.055, 3.664, 4.405, 5.296");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6054, 0.6602, 0.8493, 1.206, 1.763, 2.542, 3.565, 4.848, 6.423, 8.289",\
                 "0.6058, 0.6595, 0.8492, 1.208, 1.763, 2.542, 3.562, 4.854, 6.421, 8.301",\
                 "0.6054, 0.6593, 0.849, 1.206, 1.763, 2.541, 3.565, 4.853, 6.42, 8.293",\
                 "0.6183, 0.6681, 0.8497, 1.206, 1.762, 2.541, 3.565, 4.853, 6.423, 8.293",\
                 "0.7164, 0.766, 0.9266, 1.238, 1.765, 2.541, 3.564, 4.852, 6.421, 8.295",\
                 "0.8298, 0.8836, 1.064, 1.383, 1.853, 2.561, 3.564, 4.85, 6.423, 8.295",\
                 "0.965, 1.022, 1.212, 1.56, 2.055, 2.708, 3.617, 4.856, 6.422, 8.294",\
                 "1.13, 1.188, 1.391, 1.747, 2.281, 2.967, 3.822, 4.954, 6.438, 8.293",\
                 "1.317, 1.381, 1.593, 1.964, 2.512, 3.248, 4.141, 5.216, 6.585, 8.333",\
                 "1.52, 1.593, 1.824, 2.217, 2.778, 3.537, 4.484, 5.597, 6.905, 8.536");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.186, 0.2007, 0.2521, 0.3502, 0.5025, 0.7157, 0.9968, 1.351, 1.783, 2.298",\
                 "0.1995, 0.2145, 0.2665, 0.3647, 0.5171, 0.731, 1.012, 1.366, 1.799, 2.312",\
                 "0.2307, 0.2464, 0.2995, 0.3986, 0.5522, 0.7658, 1.047, 1.402, 1.834, 2.349",\
                 "0.2534, 0.2731, 0.3368, 0.4473, 0.6053, 0.8196, 1.101, 1.455, 1.887, 2.402",\
                 "0.2521, 0.277, 0.3566, 0.4883, 0.6689, 0.8997, 1.185, 1.538, 1.97, 2.484",\
                 "0.2153, 0.2468, 0.3464, 0.5072, 0.7181, 0.9772, 1.289, 1.657, 2.088, 2.602",\
                 "0.1394, 0.1775, 0.2973, 0.4902, 0.7401, 1.037, 1.382, 1.781, 2.24, 2.761",\
                 "0.024, 0.0677, 0.2071, 0.4328, 0.7244, 1.067, 1.455, 1.891, 2.385, 2.939",\
                 "-0.1352, -0.0856, 0.0737, 0.3313, 0.665, 1.056, 1.495, 1.979, 2.513, 3.106",\
                 "-0.3397, -0.2837, -0.1048, 0.1844, 0.5594, 1.001, 1.493, 2.033, 2.618, 3.254");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4109, 0.4422, 0.5512, 0.7567, 1.074, 1.518, 2.099, 2.834, 3.731, 4.792",\
                 "0.4206, 0.4522, 0.5617, 0.7678, 1.085, 1.53, 2.114, 2.847, 3.739, 4.807",\
                 "0.471, 0.5024, 0.6115, 0.8179, 1.136, 1.581, 2.164, 2.898, 3.793, 4.859",\
                 "0.5934, 0.6238, 0.73, 0.9319, 1.247, 1.689, 2.27, 3.002, 3.896, 4.963",\
                 "0.782, 0.8155, 0.9292, 1.13, 1.438, 1.873, 2.449, 3.177, 4.068, 5.131",\
                 "1.011, 1.049, 1.176, 1.402, 1.721, 2.15, 2.718, 3.438, 4.324, 5.382",\
                 "1.29, 1.331, 1.469, 1.716, 2.071, 2.526, 3.088, 3.798, 4.675, 5.724",\
                 "1.617, 1.663, 1.816, 2.083, 2.465, 2.961, 3.56, 4.27, 5.133, 6.173",\
                 "1.993, 2.045, 2.216, 2.506, 2.915, 3.445, 4.093, 4.847, 5.712, 6.738",\
                 "2.42, 2.478, 2.666, 2.986, 3.428, 3.988, 4.675, 5.483, 6.399, 7.433");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.193, 0.2192, 0.3066, 0.4752, 0.7376, 1.106, 1.589, 2.199, 2.939, 3.826",\
                 "0.1932, 0.2182, 0.3066, 0.4758, 0.7375, 1.105, 1.59, 2.197, 2.941, 3.825",\
                 "0.2056, 0.2276, 0.3099, 0.4755, 0.7376, 1.105, 1.587, 2.197, 2.941, 3.826",\
                 "0.2695, 0.2925, 0.3689, 0.5155, 0.7517, 1.105, 1.587, 2.197, 2.94, 3.823",\
                 "0.3745, 0.3967, 0.4728, 0.617, 0.8452, 1.164, 1.607, 2.197, 2.937, 3.826",\
                 "0.5144, 0.5388, 0.6206, 0.7668, 0.99, 1.307, 1.724, 2.264, 2.963, 3.823",\
                 "0.6768, 0.705, 0.7972, 0.958, 1.187, 1.499, 1.915, 2.441, 3.087, 3.897",\
                 "0.861, 0.8926, 0.9976, 1.178, 1.428, 1.747, 2.157, 2.679, 3.321, 4.087",\
                 "1.064, 1.099, 1.219, 1.422, 1.696, 2.043, 2.461, 2.977, 3.615, 4.38",\
                 "1.282, 1.322, 1.459, 1.685, 1.994, 2.367, 2.814, 3.341, 3.97, 4.728");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6053, 0.6597, 0.8492, 1.208, 1.764, 2.542, 3.562, 4.852, 6.426, 8.29",\
                 "0.6056, 0.6601, 0.849, 1.208, 1.764, 2.541, 3.565, 4.852, 6.419, 8.294",\
                 "0.6053, 0.6588, 0.849, 1.208, 1.762, 2.541, 3.565, 4.853, 6.425, 8.292",\
                 "0.6184, 0.6681, 0.8497, 1.207, 1.763, 2.54, 3.564, 4.851, 6.422, 8.293",\
                 "0.7136, 0.7632, 0.9246, 1.237, 1.765, 2.541, 3.564, 4.853, 6.421, 8.294",\
                 "0.822, 0.8758, 1.059, 1.378, 1.85, 2.56, 3.564, 4.851, 6.423, 8.296",\
                 "0.949, 1.007, 1.2, 1.548, 2.047, 2.703, 3.615, 4.856, 6.421, 8.294",\
                 "1.106, 1.165, 1.364, 1.729, 2.262, 2.955, 3.815, 4.949, 6.436, 8.294",\
                 "1.283, 1.349, 1.559, 1.932, 2.487, 3.227, 4.123, 5.204, 6.579, 8.328",\
                 "1.482, 1.551, 1.781, 2.173, 2.737, 3.505, 4.459, 5.574, 6.891, 8.524");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2194, 0.2345, 0.286, 0.3828, 0.5325, 0.7414, 1.016, 1.361, 1.781, 2.282",\
                 "0.2323, 0.2475, 0.2993, 0.3966, 0.5464, 0.7557, 1.03, 1.375, 1.795, 2.296",\
                 "0.2706, 0.2858, 0.3383, 0.4363, 0.5866, 0.7961, 1.07, 1.415, 1.836, 2.337",\
                 "0.3185, 0.3376, 0.4003, 0.5078, 0.6604, 0.8699, 1.144, 1.489, 1.91, 2.411",\
                 "0.344, 0.3678, 0.446, 0.5783, 0.7594, 0.9857, 1.262, 1.607, 2.027, 2.528",\
                 "0.3388, 0.368, 0.4639, 0.624, 0.8396, 1.104, 1.415, 1.773, 2.194, 2.694",\
                 "0.2979, 0.3332, 0.4471, 0.6377, 0.8917, 1.198, 1.554, 1.958, 2.409, 2.915",\
                 "0.2193, 0.2599, 0.3928, 0.6141, 0.9083, 1.262, 1.665, 2.119, 2.622, 3.173",\
                 "0.1017, 0.1477, 0.2975, 0.55, 0.8859, 1.287, 1.744, 2.251, 2.808, 3.416",\
                 "-0.0573, -0.0059, 0.1605, 0.4425, 0.8192, 1.271, 1.783, 2.347, 2.961, 3.627");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4605, 0.4914, 0.5992, 0.8038, 1.121, 1.565, 2.148, 2.883, 3.778, 4.845",\
                 "0.4726, 0.5039, 0.6123, 0.8177, 1.136, 1.58, 2.164, 2.899, 3.794, 4.861",\
                 "0.5229, 0.5539, 0.6623, 0.8682, 1.186, 1.632, 2.216, 2.951, 3.847, 4.914",\
                 "0.642, 0.6722, 0.7783, 0.9807, 1.296, 1.739, 2.322, 3.056, 3.952, 5.018",\
                 "0.8327, 0.8654, 0.9759, 1.175, 1.485, 1.922, 2.5, 3.23, 4.123, 5.188",\
                 "1.063, 1.101, 1.225, 1.448, 1.766, 2.196, 2.766, 3.489, 4.375, 5.436",\
                 "1.34, 1.381, 1.517, 1.762, 2.117, 2.569, 3.134, 3.847, 4.725, 5.777",\
                 "1.667, 1.712, 1.861, 2.126, 2.509, 3.005, 3.604, 4.316, 5.182, 6.224",\
                 "2.039, 2.089, 2.256, 2.545, 2.954, 3.486, 4.135, 4.888, 5.757, 6.786",\
                 "2.458, 2.514, 2.699, 3.016, 3.457, 4.021, 4.712, 5.523, 6.44, 7.475");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2715, 0.2967, 0.3834, 0.5494, 0.8061, 1.165, 1.637, 2.232, 2.957, 3.82",\
                 "0.2714, 0.2967, 0.3833, 0.5489, 0.8058, 1.165, 1.637, 2.231, 2.957, 3.821",\
                 "0.2768, 0.3005, 0.3846, 0.5488, 0.8064, 1.165, 1.637, 2.231, 2.957, 3.819",\
                 "0.3589, 0.3799, 0.4513, 0.5861, 0.8155, 1.166, 1.636, 2.23, 2.957, 3.82",\
                 "0.479, 0.5006, 0.5776, 0.7196, 0.9312, 1.227, 1.655, 2.232, 2.955, 3.819",\
                 "0.6344, 0.6602, 0.7404, 0.8886, 1.114, 1.414, 1.796, 2.304, 2.974, 3.821",\
                 "0.818, 0.846, 0.9366, 1.099, 1.332, 1.647, 2.048, 2.532, 3.129, 3.895",\
                 "1.022, 1.053, 1.158, 1.339, 1.594, 1.922, 2.337, 2.843, 3.441, 4.141",\
                 "1.249, 1.281, 1.401, 1.606, 1.886, 2.24, 2.671, 3.195, 3.813, 4.529",\
                 "1.488, 1.527, 1.661, 1.893, 2.205, 2.594, 3.055, 3.592, 4.232, 4.969");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7654, 0.82, 1.01, 1.369, 1.926, 2.705, 3.728, 5.014, 6.585, 8.454",\
                 "0.7655, 0.8199, 1.01, 1.369, 1.926, 2.705, 3.727, 5.013, 6.584, 8.454",\
                 "0.7655, 0.82, 1.01, 1.37, 1.926, 2.705, 3.726, 5.014, 6.582, 8.455",\
                 "0.7745, 0.8255, 1.011, 1.37, 1.926, 2.705, 3.728, 5.014, 6.584, 8.454",\
                 "0.8722, 0.9184, 1.078, 1.396, 1.928, 2.705, 3.728, 5.015, 6.586, 8.453",\
                 "1.005, 1.056, 1.229, 1.535, 2.008, 2.722, 3.727, 5.016, 6.585, 8.457",\
                 "1.154, 1.207, 1.39, 1.725, 2.206, 2.861, 3.776, 5.019, 6.586, 8.457",\
                 "1.333, 1.389, 1.574, 1.924, 2.445, 3.117, 3.973, 5.111, 6.602, 8.457",\
                 "1.544, 1.602, 1.795, 2.148, 2.689, 3.407, 4.288, 5.364, 6.739, 8.493",\
                 "1.777, 1.838, 2.044, 2.41, 2.955, 3.704, 4.64, 5.74, 7.051, 8.688");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1864, 0.2008, 0.2512, 0.3468, 0.4954, 0.7037, 0.9765, 1.321, 1.742, 2.243",\
                 "0.1991, 0.2136, 0.2643, 0.3605, 0.5091, 0.7172, 0.9907, 1.335, 1.756, 2.257",\
                 "0.2353, 0.2507, 0.3029, 0.3999, 0.5492, 0.7575, 1.032, 1.376, 1.796, 2.298",\
                 "0.2701, 0.2905, 0.3567, 0.4683, 0.6226, 0.8321, 1.106, 1.45, 1.871, 2.371",\
                 "0.2798, 0.306, 0.3899, 0.5289, 0.7153, 0.9457, 1.223, 1.568, 1.987, 2.488",\
                 "0.2577, 0.2905, 0.3942, 0.5639, 0.7872, 1.058, 1.373, 1.734, 2.154, 2.654",\
                 "0.1997, 0.2385, 0.3631, 0.5655, 0.8298, 1.144, 1.506, 1.914, 2.368, 2.875",\
                 "0.1057, 0.1505, 0.2941, 0.5296, 0.8364, 1.2, 1.611, 2.07, 2.576, 3.131",\
                 "-0.0273, 0.0233, 0.1859, 0.4529, 0.8037, 1.216, 1.682, 2.195, 2.757, 3.369",\
                 "-0.2019, -0.1456, 0.0361, 0.3338, 0.7267, 1.192, 1.712, 2.286, 2.906, 3.576");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.453, 0.4839, 0.5917, 0.7958, 1.113, 1.555, 2.137, 2.871, 3.764, 4.832",\
                 "0.4649, 0.4962, 0.6047, 0.8099, 1.127, 1.57, 2.154, 2.888, 3.779, 4.847",\
                 "0.5152, 0.5463, 0.6546, 0.8601, 1.178, 1.623, 2.205, 2.94, 3.832, 4.899",\
                 "0.6343, 0.6645, 0.7703, 0.9722, 1.287, 1.73, 2.312, 3.043, 3.939, 5.007",\
                 "0.8232, 0.8563, 0.9678, 1.167, 1.476, 1.912, 2.488, 3.217, 4.11, 5.172",\
                 "1.052, 1.09, 1.215, 1.438, 1.757, 2.185, 2.754, 3.476, 4.362, 5.422",\
                 "1.327, 1.368, 1.506, 1.751, 2.105, 2.558, 3.121, 3.834, 4.71, 5.762",\
                 "1.651, 1.695, 1.847, 2.112, 2.495, 2.992, 3.591, 4.301, 5.167, 6.207",\
                 "2.019, 2.07, 2.238, 2.529, 2.938, 3.47, 4.119, 4.872, 5.742, 6.769",\
                 "2.434, 2.492, 2.677, 2.997, 3.439, 4.004, 4.694, 5.505, 6.424, 7.457");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.23, 0.2552, 0.3416, 0.5074, 0.7643, 1.122, 1.593, 2.188, 2.913, 3.778",\
                 "0.2302, 0.2551, 0.3414, 0.5066, 0.7631, 1.123, 1.594, 2.188, 2.913, 3.778",\
                 "0.2437, 0.2652, 0.3448, 0.5068, 0.7632, 1.122, 1.595, 2.189, 2.913, 3.776",\
                 "0.333, 0.3535, 0.4244, 0.5563, 0.7785, 1.123, 1.594, 2.188, 2.913, 3.775",\
                 "0.4576, 0.4786, 0.5526, 0.6932, 0.9036, 1.195, 1.616, 2.19, 2.913, 3.778",\
                 "0.6184, 0.6408, 0.7206, 0.8646, 1.087, 1.386, 1.767, 2.271, 2.936, 3.779",\
                 "0.8034, 0.829, 0.9178, 1.078, 1.308, 1.621, 2.019, 2.505, 3.097, 3.861",\
                 "1.009, 1.039, 1.139, 1.318, 1.574, 1.899, 2.31, 2.814, 3.413, 4.111",\
                 "1.235, 1.267, 1.381, 1.584, 1.864, 2.221, 2.646, 3.168, 3.784, 4.502",\
                 "1.476, 1.514, 1.643, 1.869, 2.183, 2.573, 3.031, 3.568, 4.203, 4.94");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6555, 0.7095, 0.8991, 1.257, 1.814, 2.59, 3.613, 4.902, 6.473, 8.344",\
                 "0.6551, 0.7095, 0.8989, 1.257, 1.812, 2.591, 3.615, 4.903, 6.471, 8.345",\
                 "0.655, 0.7091, 0.898, 1.257, 1.813, 2.592, 3.614, 4.903, 6.47, 8.344",\
                 "0.6631, 0.7144, 0.8983, 1.257, 1.812, 2.591, 3.614, 4.899, 6.472, 8.348",\
                 "0.7594, 0.8046, 0.965, 1.282, 1.814, 2.591, 3.614, 4.902, 6.474, 8.344",\
                 "0.8736, 0.9264, 1.107, 1.42, 1.893, 2.606, 3.613, 4.901, 6.473, 8.348",\
                 "1.006, 1.063, 1.252, 1.597, 2.091, 2.745, 3.661, 4.905, 6.471, 8.344",\
                 "1.167, 1.226, 1.423, 1.781, 2.316, 3.001, 3.856, 4.994, 6.486, 8.344",\
                 "1.358, 1.418, 1.627, 1.995, 2.547, 3.278, 4.169, 5.249, 6.626, 8.379",\
                 "1.563, 1.631, 1.86, 2.243, 2.804, 3.566, 4.515, 5.622, 6.936, 8.572");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1575, 0.1695, 0.2104, 0.2887, 0.4097, 0.5792, 0.8019, 1.083, 1.426, 1.834",\
                 "0.1714, 0.1833, 0.2247, 0.303, 0.4243, 0.5941, 0.8168, 1.098, 1.441, 1.849",\
                 "0.2101, 0.2234, 0.2668, 0.3461, 0.468, 0.6378, 0.8611, 1.142, 1.485, 1.894",\
                 "0.2397, 0.2578, 0.3167, 0.4147, 0.5472, 0.7184, 0.9419, 1.223, 1.566, 1.974",\
                 "0.2403, 0.2643, 0.3411, 0.4663, 0.632, 0.833, 1.068, 1.35, 1.693, 2.101",\
                 "0.2054, 0.2359, 0.3318, 0.488, 0.6903, 0.9317, 1.209, 1.521, 1.871, 2.28",\
                 "0.1314, 0.1678, 0.2839, 0.4717, 0.7144, 1, 1.324, 1.684, 2.08, 2.513",\
                 "0.0178, 0.0599, 0.1942, 0.414, 0.6986, 1.032, 1.405, 1.816, 2.265, 2.751",\
                 "-0.1397, -0.0919, 0.0619, 0.3117, 0.6377, 1.02, 1.447, 1.914, 2.418, 2.96",\
                 "-0.3425, -0.2891, -0.1173, 0.1636, 0.5302, 0.9625, 1.445, 1.969, 2.532, 3.134");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4515, 0.4826, 0.5904, 0.7948, 1.111, 1.554, 2.136, 2.87, 3.766, 4.83",\
                 "0.4619, 0.4932, 0.6014, 0.8065, 1.124, 1.567, 2.149, 2.882, 3.776, 4.844",\
                 "0.5122, 0.5431, 0.6514, 0.8568, 1.174, 1.618, 2.2, 2.934, 3.828, 4.894",\
                 "0.6342, 0.6643, 0.7697, 0.9709, 1.286, 1.727, 2.308, 3.04, 3.934, 4.998",\
                 "0.8281, 0.8611, 0.9709, 1.17, 1.477, 1.912, 2.488, 3.215, 4.108, 5.168",\
                 "1.064, 1.101, 1.225, 1.447, 1.763, 2.19, 2.758, 3.478, 4.363, 5.421",\
                 "1.349, 1.388, 1.524, 1.768, 2.119, 2.57, 3.131, 3.841, 4.716, 5.767",\
                 "1.684, 1.729, 1.878, 2.141, 2.521, 3.013, 3.609, 4.316, 5.18, 6.219",\
                 "2.072, 2.121, 2.285, 2.572, 2.977, 3.505, 4.149, 4.899, 5.764, 6.791",\
                 "2.51, 2.564, 2.747, 3.06, 3.495, 4.054, 4.74, 5.545, 6.457, 7.488");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1776, 0.1973, 0.2683, 0.4032, 0.6111, 0.9033, 1.287, 1.769, 2.359, 3.062",\
                 "0.1777, 0.1978, 0.2682, 0.4021, 0.6113, 0.904, 1.286, 1.771, 2.361, 3.061",\
                 "0.1996, 0.2157, 0.2761, 0.4036, 0.6104, 0.9023, 1.287, 1.77, 2.36, 3.063",\
                 "0.2917, 0.3086, 0.3667, 0.4729, 0.6417, 0.9087, 1.287, 1.769, 2.358, 3.063",\
                 "0.4152, 0.4334, 0.4966, 0.6122, 0.785, 1.014, 1.334, 1.779, 2.358, 3.062",\
                 "0.5682, 0.5888, 0.6608, 0.7842, 0.969, 1.216, 1.525, 1.909, 2.418, 3.077",\
                 "0.7448, 0.7684, 0.8476, 0.991, 1.19, 1.453, 1.781, 2.177, 2.642, 3.221",\
                 "0.9428, 0.969, 1.06, 1.221, 1.446, 1.73, 2.076, 2.494, 2.983, 3.544",\
                 "1.159, 1.19, 1.293, 1.474, 1.726, 2.043, 2.41, 2.848, 3.362, 3.948",\
                 "1.389, 1.425, 1.543, 1.748, 2.033, 2.379, 2.784, 3.247, 3.781, 4.393");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.655, 0.71, 0.8985, 1.258, 1.812, 2.59, 3.613, 4.9, 6.475, 8.343",\
                 "0.655, 0.7093, 0.8981, 1.257, 1.814, 2.59, 3.611, 4.898, 6.471, 8.344",\
                 "0.6548, 0.7086, 0.898, 1.258, 1.813, 2.59, 3.612, 4.899, 6.472, 8.342",\
                 "0.6637, 0.7142, 0.8989, 1.257, 1.812, 2.591, 3.614, 4.9, 6.467, 8.342",\
                 "0.7558, 0.802, 0.9634, 1.281, 1.814, 2.59, 3.614, 4.903, 6.474, 8.344",\
                 "0.8656, 0.9198, 1.1, 1.415, 1.891, 2.607, 3.613, 4.901, 6.473, 8.345",\
                 "0.992, 1.048, 1.24, 1.588, 2.081, 2.74, 3.66, 4.905, 6.472, 8.345",\
                 "1.144, 1.202, 1.401, 1.763, 2.298, 2.986, 3.849, 4.991, 6.485, 8.343",\
                 "1.323, 1.387, 1.595, 1.963, 2.522, 3.258, 4.154, 5.235, 6.621, 8.376",\
                 "1.523, 1.591, 1.812, 2.2, 2.763, 3.53, 4.487, 5.6, 6.92, 8.56");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3013, 0.3194, 0.3822, 0.4995, 0.6799, 0.9314, 1.261, 1.676, 2.181, 2.782",\
                 "0.3148, 0.3328, 0.3957, 0.5134, 0.6941, 0.9456, 1.275, 1.69, 2.196, 2.797",\
                 "0.3464, 0.3647, 0.4278, 0.546, 0.7272, 0.9793, 1.309, 1.724, 2.23, 2.831",\
                 "0.3891, 0.4093, 0.4768, 0.5979, 0.779, 1.031, 1.361, 1.776, 2.281, 2.884",\
                 "0.4219, 0.4452, 0.5225, 0.659, 0.8558, 1.113, 1.443, 1.856, 2.362, 2.963",\
                 "0.4306, 0.4585, 0.5506, 0.7085, 0.9286, 1.211, 1.558, 1.975, 2.478, 3.079",\
                 "0.4046, 0.438, 0.5473, 0.7327, 0.9846, 1.298, 1.674, 2.119, 2.635, 3.235",\
                 "0.3411, 0.3802, 0.5064, 0.7213, 1.011, 1.364, 1.777, 2.256, 2.805, 3.43",\
                 "0.2377, 0.2815, 0.4252, 0.6701, 0.9991, 1.398, 1.858, 2.378, 2.966, 3.626",\
                 "0.0939, 0.143, 0.3026, 0.5759, 0.9461, 1.392, 1.905, 2.477, 3.109, 3.811");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4515, 0.4826, 0.5904, 0.7948, 1.111, 1.554, 2.136, 2.87, 3.766, 4.83",\
                 "0.4619, 0.4932, 0.6014, 0.8065, 1.124, 1.567, 2.149, 2.882, 3.776, 4.844",\
                 "0.5122, 0.5431, 0.6514, 0.8568, 1.174, 1.618, 2.2, 2.934, 3.828, 4.894",\
                 "0.6342, 0.6643, 0.7697, 0.9709, 1.286, 1.727, 2.308, 3.04, 3.934, 4.998",\
                 "0.8281, 0.8611, 0.9709, 1.17, 1.477, 1.912, 2.488, 3.215, 4.108, 5.168",\
                 "1.064, 1.101, 1.225, 1.447, 1.763, 2.19, 2.758, 3.478, 4.363, 5.421",\
                 "1.349, 1.388, 1.524, 1.768, 2.119, 2.57, 3.131, 3.841, 4.716, 5.767",\
                 "1.684, 1.729, 1.878, 2.141, 2.521, 3.013, 3.609, 4.316, 5.18, 6.219",\
                 "2.072, 2.121, 2.285, 2.572, 2.977, 3.505, 4.149, 4.899, 5.764, 6.791",\
                 "2.51, 2.564, 2.747, 3.06, 3.495, 4.054, 4.74, 5.545, 6.457, 7.488");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3339, 0.3647, 0.4709, 0.6707, 0.9792, 1.412, 1.98, 2.693, 3.565, 4.601",\
                 "0.3338, 0.3649, 0.4704, 0.671, 0.9796, 1.413, 1.98, 2.694, 3.565, 4.601",\
                 "0.3349, 0.3644, 0.4706, 0.6701, 0.9791, 1.413, 1.979, 2.693, 3.564, 4.603",\
                 "0.381, 0.4086, 0.5029, 0.6852, 0.9822, 1.412, 1.979, 2.693, 3.564, 4.604",\
                 "0.4724, 0.4994, 0.5952, 0.7736, 1.046, 1.44, 1.983, 2.692, 3.564, 4.603",\
                 "0.6094, 0.6388, 0.7326, 0.9092, 1.181, 1.561, 2.062, 2.725, 3.568, 4.602",\
                 "0.7794, 0.8098, 0.915, 1.096, 1.367, 1.743, 2.239, 2.862, 3.65, 4.632",\
                 "0.9722, 1.009, 1.124, 1.324, 1.606, 1.98, 2.471, 3.093, 3.85, 4.772",\
                 "1.181, 1.224, 1.356, 1.58, 1.886, 2.273, 2.764, 3.378, 4.136, 5.039",\
                 "1.412, 1.457, 1.607, 1.858, 2.194, 2.614, 3.113, 3.729, 4.478, 5.375");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8452, 0.8991, 1.088, 1.446, 2.003, 2.781, 3.803, 5.088, 6.662, 8.53",\
                 "0.8451, 0.8991, 1.088, 1.446, 2.003, 2.781, 3.802, 5.089, 6.66, 8.53",\
                 "0.8447, 0.8987, 1.088, 1.447, 2.003, 2.781, 3.804, 5.091, 6.661, 8.53",\
                 "0.859, 0.9087, 1.089, 1.447, 2.003, 2.781, 3.804, 5.09, 6.662, 8.532",\
                 "0.967, 1.011, 1.166, 1.479, 2.006, 2.781, 3.804, 5.09, 6.662, 8.53",\
                 "1.117, 1.164, 1.329, 1.626, 2.094, 2.801, 3.804, 5.092, 6.662, 8.534",\
                 "1.286, 1.334, 1.506, 1.832, 2.301, 2.949, 3.86, 5.099, 6.662, 8.535",\
                 "1.489, 1.538, 1.712, 2.045, 2.549, 3.214, 4.064, 5.195, 6.68, 8.533",\
                 "1.723, 1.776, 1.952, 2.287, 2.807, 3.515, 4.387, 5.456, 6.832, 8.575",\
                 "1.983, 2.038, 2.227, 2.57, 3.096, 3.827, 4.751, 5.842, 7.147, 8.778");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3437, 0.362, 0.4249, 0.5428, 0.7238, 0.9756, 1.306, 1.72, 2.226, 2.827",\
                 "0.3544, 0.3721, 0.4351, 0.5532, 0.7343, 0.9862, 1.316, 1.731, 2.236, 2.838",\
                 "0.3846, 0.4033, 0.466, 0.5842, 0.7654, 1.017, 1.347, 1.762, 2.268, 2.869",\
                 "0.4321, 0.4513, 0.5171, 0.6364, 0.8172, 1.069, 1.399, 1.813, 2.319, 2.921",\
                 "0.4751, 0.4969, 0.5715, 0.7041, 0.8971, 1.152, 1.481, 1.895, 2.399, 3.001",\
                 "0.5016, 0.5275, 0.6141, 0.7648, 0.9785, 1.256, 1.599, 2.014, 2.517, 3.117",\
                 "0.5016, 0.5325, 0.6331, 0.8077, 1.049, 1.353, 1.723, 2.163, 2.676, 3.275",\
                 "0.4732, 0.5083, 0.6246, 0.8244, 1.098, 1.438, 1.84, 2.311, 2.855, 3.474",\
                 "0.4145, 0.4542, 0.5847, 0.8101, 1.119, 1.498, 1.942, 2.449, 3.026, 3.68",\
                 "0.3268, 0.3703, 0.5136, 0.7632, 1.106, 1.528, 2.018, 2.57, 3.188, 3.879");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4658, 0.4969, 0.6056, 0.8119, 1.131, 1.577, 2.163, 2.899, 3.797, 4.866",\
                 "0.48, 0.5114, 0.6209, 0.8275, 1.147, 1.593, 2.179, 2.916, 3.814, 4.882",\
                 "0.5155, 0.5474, 0.6572, 0.8651, 1.186, 1.633, 2.22, 2.957, 3.856, 4.924",\
                 "0.592, 0.6229, 0.7308, 0.9371, 1.255, 1.702, 2.288, 3.025, 3.923, 4.992",\
                 "0.7156, 0.7487, 0.8612, 1.068, 1.381, 1.821, 2.404, 3.137, 4.033, 5.1",\
                 "0.8836, 0.9181, 1.035, 1.251, 1.574, 2.01, 2.584, 3.31, 4.2, 5.262",\
                 "1.093, 1.131, 1.257, 1.481, 1.816, 2.268, 2.841, 3.557, 4.438, 5.492",\
                 "1.337, 1.378, 1.518, 1.76, 2.108, 2.573, 3.166, 3.887, 4.757, 5.8",\
                 "1.615, 1.66, 1.814, 2.079, 2.452, 2.934, 3.541, 4.285, 5.164, 6.196",\
                 "1.925, 1.976, 2.145, 2.436, 2.839, 3.349, 3.974, 4.734, 5.639, 6.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3819, 0.4132, 0.5204, 0.7218, 1.031, 1.463, 2.031, 2.745, 3.615, 4.654",\
                 "0.382, 0.4129, 0.5203, 0.721, 1.031, 1.465, 2.031, 2.745, 3.617, 4.653",\
                 "0.3824, 0.4136, 0.5202, 0.7216, 1.031, 1.464, 2.031, 2.745, 3.615, 4.653",\
                 "0.4216, 0.4495, 0.5449, 0.7312, 1.033, 1.464, 2.031, 2.745, 3.616, 4.654",\
                 "0.5114, 0.5388, 0.6362, 0.8158, 1.089, 1.487, 2.034, 2.744, 3.615, 4.654",\
                 "0.6468, 0.675, 0.771, 0.9494, 1.222, 1.604, 2.106, 2.774, 3.619, 4.653",\
                 "0.8216, 0.8524, 0.9542, 1.135, 1.405, 1.784, 2.281, 2.905, 3.696, 4.682",\
                 "1.024, 1.059, 1.172, 1.365, 1.64, 2.016, 2.508, 3.132, 3.892, 4.816",\
                 "1.254, 1.291, 1.416, 1.631, 1.926, 2.308, 2.796, 3.412, 4.171, 5.077",\
                 "1.507, 1.55, 1.689, 1.925, 2.247, 2.654, 3.145, 3.757, 4.506, 5.411");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8451, 0.8991, 1.088, 1.446, 2.003, 2.781, 3.804, 5.092, 6.662, 8.526",\
                 "0.8448, 0.8989, 1.088, 1.447, 2.003, 2.781, 3.804, 5.088, 6.658, 8.533",\
                 "0.8452, 0.8988, 1.088, 1.446, 2.003, 2.781, 3.804, 5.088, 6.66, 8.531",\
                 "0.8638, 0.9133, 1.093, 1.447, 2.003, 2.781, 3.805, 5.09, 6.658, 8.533",\
                 "0.9494, 0.9958, 1.16, 1.484, 2.011, 2.782, 3.805, 5.092, 6.66, 8.535",\
                 "1.073, 1.118, 1.28, 1.594, 2.089, 2.813, 3.808, 5.092, 6.662, 8.533",\
                 "1.238, 1.28, 1.435, 1.744, 2.236, 2.929, 3.87, 5.106, 6.664, 8.534",\
                 "1.441, 1.487, 1.639, 1.936, 2.418, 3.111, 4.025, 5.204, 6.698, 8.538",\
                 "1.669, 1.718, 1.879, 2.179, 2.647, 3.329, 4.245, 5.396, 6.834, 8.603",\
                 "1.92, 1.971, 2.143, 2.461, 2.931, 3.594, 4.501, 5.655, 7.062, 8.774");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2997, 0.3179, 0.3804, 0.4977, 0.678, 0.9293, 1.259, 1.673, 2.178, 2.779",\
                 "0.3101, 0.3281, 0.3907, 0.5081, 0.6885, 0.9397, 1.269, 1.684, 2.189, 2.791",\
                 "0.3407, 0.3587, 0.4214, 0.539, 0.7196, 0.9711, 1.301, 1.715, 2.22, 2.821",\
                 "0.3829, 0.403, 0.4701, 0.5908, 0.7715, 1.023, 1.352, 1.766, 2.271, 2.873",\
                 "0.4173, 0.4404, 0.5177, 0.6536, 0.8489, 1.106, 1.434, 1.847, 2.352, 2.953",\
                 "0.4318, 0.4599, 0.5508, 0.7073, 0.9252, 1.206, 1.551, 1.967, 2.469, 3.07",\
                 "0.419, 0.4522, 0.5593, 0.7412, 0.9894, 1.299, 1.672, 2.114, 2.629, 3.228",\
                 "0.3778, 0.4153, 0.539, 0.7476, 1.031, 1.377, 1.784, 2.258, 2.804, 3.426",\
                 "0.3081, 0.3497, 0.4876, 0.723, 1.042, 1.43, 1.881, 2.392, 2.974, 3.629",\
                 "0.2094, 0.256, 0.4061, 0.6675, 1.022, 1.453, 1.951, 2.509, 3.131, 3.825");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4574, 0.4886, 0.5974, 0.8031, 1.121, 1.566, 2.15, 2.884, 3.781, 4.848",\
                 "0.4716, 0.503, 0.6124, 0.8185, 1.137, 1.582, 2.166, 2.901, 3.797, 4.864",\
                 "0.5073, 0.5388, 0.649, 0.8566, 1.176, 1.622, 2.207, 2.942, 3.839, 4.906",\
                 "0.5835, 0.6146, 0.7227, 0.9281, 1.246, 1.691, 2.275, 3.01, 3.906, 4.974",\
                 "0.7062, 0.7392, 0.8523, 1.059, 1.371, 1.81, 2.39, 3.122, 4.016, 5.082",\
                 "0.8729, 0.9073, 1.025, 1.241, 1.564, 1.999, 2.571, 3.295, 4.183, 5.245",\
                 "1.08, 1.118, 1.244, 1.47, 1.804, 2.256, 2.827, 3.542, 4.422, 5.474",\
                 "1.321, 1.363, 1.504, 1.747, 2.096, 2.561, 3.153, 3.871, 4.74, 5.782",\
                 "1.594, 1.641, 1.797, 2.064, 2.437, 2.919, 3.526, 4.269, 5.147, 6.179",\
                 "1.901, 1.953, 2.124, 2.418, 2.822, 3.333, 3.957, 4.717, 5.621, 6.667");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.335, 0.3658, 0.4724, 0.6721, 0.9804, 1.412, 1.98, 2.692, 3.564, 4.601",\
                 "0.3353, 0.3658, 0.4723, 0.6724, 0.9812, 1.413, 1.98, 2.693, 3.565, 4.6",\
                 "0.3365, 0.3671, 0.4723, 0.6718, 0.9813, 1.414, 1.98, 2.693, 3.563, 4.601",\
                 "0.3853, 0.4128, 0.5065, 0.6877, 0.9845, 1.413, 1.979, 2.693, 3.565, 4.602",\
                 "0.4804, 0.507, 0.6012, 0.7786, 1.05, 1.441, 1.985, 2.694, 3.563, 4.601",\
                 "0.6214, 0.649, 0.7428, 0.9168, 1.186, 1.564, 2.064, 2.726, 3.568, 4.6",\
                 "0.7974, 0.8286, 0.9288, 1.108, 1.372, 1.746, 2.242, 2.864, 3.65, 4.631",\
                 "1.003, 1.034, 1.148, 1.34, 1.614, 1.984, 2.473, 3.092, 3.85, 4.772",\
                 "1.229, 1.266, 1.391, 1.605, 1.9, 2.278, 2.764, 3.375, 4.133, 5.036",\
                 "1.479, 1.523, 1.663, 1.903, 2.222, 2.626, 3.116, 3.724, 4.47, 5.371");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7265, 0.7809, 0.9713, 1.331, 1.887, 2.666, 3.688, 4.976, 6.546, 8.411",\
                 "0.7265, 0.781, 0.9711, 1.331, 1.887, 2.666, 3.687, 4.973, 6.542, 8.418",\
                 "0.7264, 0.781, 0.9708, 1.331, 1.887, 2.666, 3.688, 4.974, 6.546, 8.416",\
                 "0.7453, 0.7959, 0.9765, 1.331, 1.887, 2.666, 3.688, 4.975, 6.545, 8.413",\
                 "0.828, 0.877, 1.044, 1.368, 1.896, 2.666, 3.688, 4.977, 6.545, 8.418",\
                 "0.941, 0.9878, 1.156, 1.477, 1.973, 2.698, 3.692, 4.975, 6.546, 8.418",\
                 "1.096, 1.141, 1.303, 1.619, 2.118, 2.813, 3.756, 4.991, 6.546, 8.417",\
                 "1.283, 1.332, 1.494, 1.802, 2.293, 2.994, 3.908, 5.089, 6.583, 8.423",\
                 "1.49, 1.543, 1.719, 2.035, 2.514, 3.205, 4.126, 5.28, 6.715, 8.487",\
                 "1.718, 1.773, 1.965, 2.302, 2.789, 3.462, 4.377, 5.54, 6.947, 8.658");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2559, 0.2711, 0.325, 0.4256, 0.5801, 0.7952, 1.077, 1.432, 1.864, 2.379",\
                 "0.2673, 0.2829, 0.3368, 0.4373, 0.5919, 0.807, 1.089, 1.443, 1.875, 2.39",\
                 "0.3002, 0.3156, 0.3695, 0.4704, 0.625, 0.8403, 1.122, 1.476, 1.909, 2.424",\
                 "0.3403, 0.358, 0.4172, 0.5234, 0.6789, 0.8939, 1.176, 1.53, 1.962, 2.477",\
                 "0.3668, 0.3876, 0.4572, 0.5791, 0.7521, 0.9776, 1.26, 1.614, 2.045, 2.559",\
                 "0.3675, 0.3936, 0.4775, 0.6205, 0.8171, 1.066, 1.371, 1.734, 2.165, 2.678",\
                 "0.3366, 0.3671, 0.4676, 0.6363, 0.8641, 1.144, 1.477, 1.869, 2.321, 2.839",\
                 "0.2728, 0.3085, 0.4237, 0.6192, 0.8813, 1.2, 1.569, 1.993, 2.477, 3.025",\
                 "0.1769, 0.2158, 0.3457, 0.5666, 0.8641, 1.224, 1.638, 2.102, 2.622, 3.204",\
                 "0.0464, 0.0899, 0.2324, 0.4771, 0.8094, 1.212, 1.672, 2.185, 2.749, 3.371");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.456, 0.4873, 0.596, 0.8018, 1.12, 1.564, 2.148, 2.883, 3.78, 4.847",\
                 "0.4685, 0.5001, 0.6093, 0.8155, 1.134, 1.579, 2.163, 2.898, 3.794, 4.862",\
                 "0.5047, 0.5363, 0.6458, 0.8533, 1.173, 1.618, 2.203, 2.939, 3.835, 4.903",\
                 "0.5826, 0.6135, 0.7213, 0.926, 1.243, 1.688, 2.272, 3.007, 3.903, 4.97",\
                 "0.7102, 0.743, 0.8551, 1.06, 1.372, 1.81, 2.389, 3.121, 4.014, 5.079",\
                 "0.8852, 0.9193, 1.036, 1.249, 1.57, 2.003, 2.574, 3.297, 4.184, 5.244",\
                 "1.105, 1.142, 1.266, 1.489, 1.82, 2.268, 2.837, 3.55, 4.427, 5.479",\
                 "1.362, 1.404, 1.541, 1.78, 2.124, 2.585, 3.172, 3.888, 4.754, 5.793",\
                 "1.656, 1.702, 1.855, 2.116, 2.483, 2.958, 3.56, 4.298, 5.172, 6.2",\
                 "1.988, 2.039, 2.207, 2.493, 2.89, 3.391, 4.009, 4.763, 5.66, 6.701");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2778, 0.304, 0.3942, 0.5647, 0.828, 1.196, 1.68, 2.287, 3.029, 3.911",\
                 "0.2774, 0.3036, 0.3939, 0.5646, 0.8283, 1.196, 1.68, 2.287, 3.029, 3.911",\
                 "0.2791, 0.3052, 0.3942, 0.5647, 0.8272, 1.195, 1.679, 2.287, 3.029, 3.913",\
                 "0.3334, 0.3568, 0.4374, 0.5877, 0.8347, 1.197, 1.679, 2.286, 3.029, 3.912",\
                 "0.4312, 0.454, 0.534, 0.684, 0.9158, 1.241, 1.693, 2.288, 3.028, 3.913",\
                 "0.5694, 0.594, 0.6766, 0.8258, 1.054, 1.377, 1.797, 2.344, 3.045, 3.913",\
                 "0.741, 0.767, 0.8582, 1.016, 1.245, 1.562, 1.982, 2.513, 3.164, 3.976",\
                 "0.9366, 0.9674, 1.07, 1.244, 1.486, 1.804, 2.218, 2.745, 3.391, 4.16",\
                 "1.158, 1.193, 1.307, 1.501, 1.764, 2.099, 2.515, 3.037, 3.681, 4.445",\
                 "1.404, 1.443, 1.571, 1.786, 2.076, 2.437, 2.867, 3.392, 4.025, 4.786");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7265, 0.7809, 0.971, 1.331, 1.887, 2.666, 3.688, 4.973, 6.543, 8.413",\
                 "0.7264, 0.7809, 0.971, 1.331, 1.887, 2.666, 3.688, 4.973, 6.542, 8.415",\
                 "0.7263, 0.7811, 0.9709, 1.331, 1.887, 2.666, 3.689, 4.975, 6.546, 8.414",\
                 "0.7456, 0.7963, 0.9766, 1.331, 1.887, 2.666, 3.688, 4.973, 6.545, 8.419",\
                 "0.8264, 0.8748, 1.042, 1.368, 1.896, 2.666, 3.688, 4.975, 6.547, 8.418",\
                 "0.9338, 0.9816, 1.151, 1.474, 1.972, 2.697, 3.691, 4.975, 6.547, 8.417",\
                 "1.08, 1.127, 1.29, 1.609, 2.112, 2.809, 3.754, 4.989, 6.547, 8.417",\
                 "1.26, 1.309, 1.472, 1.783, 2.278, 2.983, 3.904, 5.084, 6.582, 8.421",\
                 "1.464, 1.515, 1.689, 2.005, 2.487, 3.184, 4.112, 5.27, 6.712, 8.482",\
                 "1.686, 1.742, 1.93, 2.266, 2.748, 3.43, 4.351, 5.52, 6.934, 8.648");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2971, 0.3151, 0.3776, 0.4947, 0.675, 0.9263, 1.256, 1.67, 2.176, 2.777",\
                 "0.3073, 0.3253, 0.388, 0.5051, 0.6854, 0.9366, 1.266, 1.681, 2.186, 2.788",\
                 "0.3379, 0.3559, 0.4185, 0.536, 0.7165, 0.9681, 1.297, 1.712, 2.218, 2.819",\
                 "0.3797, 0.3997, 0.4668, 0.5876, 0.7682, 1.019, 1.349, 1.763, 2.269, 2.871",\
                 "0.4132, 0.4364, 0.5137, 0.6498, 0.8455, 1.103, 1.431, 1.845, 2.349, 2.951",\
                 "0.4266, 0.4547, 0.5462, 0.7029, 0.9212, 1.202, 1.548, 1.964, 2.467, 3.067",\
                 "0.4126, 0.4455, 0.5532, 0.7363, 0.9848, 1.295, 1.668, 2.111, 2.626, 3.225",\
                 "0.3703, 0.4086, 0.5321, 0.7416, 1.025, 1.373, 1.78, 2.254, 2.8, 3.423",\
                 "0.3, 0.342, 0.48, 0.7168, 1.036, 1.425, 1.876, 2.388, 2.97, 3.626",\
                 "0.2004, 0.2467, 0.3982, 0.6599, 1.015, 1.447, 1.946, 2.505, 3.127, 3.821");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4573, 0.4886, 0.5974, 0.8031, 1.121, 1.566, 2.15, 2.884, 3.78, 4.847",\
                 "0.4715, 0.503, 0.6122, 0.8186, 1.137, 1.582, 2.166, 2.901, 3.797, 4.863",\
                 "0.5073, 0.5388, 0.649, 0.8565, 1.176, 1.622, 2.207, 2.942, 3.838, 4.905",\
                 "0.5835, 0.6146, 0.7227, 0.928, 1.246, 1.691, 2.275, 3.01, 3.906, 4.973",\
                 "0.7063, 0.7389, 0.8521, 1.059, 1.371, 1.81, 2.39, 3.122, 4.016, 5.08",\
                 "0.8727, 0.907, 1.025, 1.241, 1.564, 1.999, 2.571, 3.295, 4.183, 5.243",\
                 "1.08, 1.118, 1.244, 1.47, 1.804, 2.256, 2.827, 3.542, 4.42, 5.472",\
                 "1.32, 1.363, 1.503, 1.747, 2.096, 2.56, 3.152, 3.871, 4.74, 5.782",\
                 "1.594, 1.641, 1.797, 2.064, 2.437, 2.919, 3.526, 4.268, 5.146, 6.177",\
                 "1.901, 1.952, 2.124, 2.417, 2.822, 3.332, 3.957, 4.717, 5.62, 6.666");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3313, 0.3624, 0.4688, 0.6686, 0.9773, 1.411, 1.978, 2.69, 3.563, 4.6",\
                 "0.332, 0.3629, 0.4688, 0.6689, 0.9775, 1.41, 1.978, 2.692, 3.562, 4.599",\
                 "0.333, 0.3634, 0.4687, 0.6681, 0.9773, 1.411, 1.978, 2.69, 3.562, 4.6",\
                 "0.3827, 0.4102, 0.5037, 0.6852, 0.9802, 1.408, 1.977, 2.691, 3.562, 4.601",\
                 "0.4776, 0.5046, 0.5984, 0.7756, 1.047, 1.44, 1.983, 2.691, 3.562, 4.601",\
                 "0.6198, 0.647, 0.741, 0.9146, 1.184, 1.562, 2.061, 2.723, 3.566, 4.6",\
                 "0.7964, 0.8274, 0.9264, 1.107, 1.37, 1.745, 2.239, 2.863, 3.65, 4.632",\
                 "1.001, 1.035, 1.147, 1.339, 1.613, 1.982, 2.47, 3.092, 3.849, 4.772",\
                 "1.228, 1.266, 1.39, 1.607, 1.898, 2.279, 2.761, 3.373, 4.13, 5.036",\
                 "1.478, 1.521, 1.663, 1.901, 2.221, 2.623, 3.116, 3.723, 4.468, 5.369");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7176, 0.7718, 0.9617, 1.321, 1.876, 2.654, 3.677, 4.965, 6.535, 8.4",\
                 "0.7177, 0.7719, 0.9616, 1.321, 1.876, 2.655, 3.676, 4.963, 6.53, 8.408",\
                 "0.7176, 0.7718, 0.9616, 1.321, 1.876, 2.655, 3.678, 4.963, 6.535, 8.404",\
                 "0.7363, 0.7869, 0.967, 1.321, 1.877, 2.655, 3.678, 4.964, 6.535, 8.405",\
                 "0.8184, 0.867, 1.034, 1.358, 1.885, 2.655, 3.678, 4.965, 6.535, 8.406",\
                 "0.9308, 0.9776, 1.146, 1.467, 1.963, 2.687, 3.682, 4.966, 6.535, 8.406",\
                 "1.084, 1.129, 1.291, 1.607, 2.106, 2.802, 3.745, 4.979, 6.538, 8.407",\
                 "1.268, 1.316, 1.482, 1.79, 2.281, 2.982, 3.898, 5.078, 6.571, 8.411",\
                 "1.475, 1.528, 1.705, 2.022, 2.502, 3.192, 4.115, 5.27, 6.706, 8.475",\
                 "1.699, 1.756, 1.948, 2.286, 2.776, 3.452, 4.364, 5.529, 6.936, 8.647");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2546, 0.2724, 0.3341, 0.4502, 0.6296, 0.8801, 1.209, 1.623, 2.128, 2.729",\
                 "0.2648, 0.2825, 0.3444, 0.4605, 0.6399, 0.8904, 1.219, 1.633, 2.138, 2.74",\
                 "0.2948, 0.3128, 0.3749, 0.4914, 0.6709, 0.9217, 1.251, 1.664, 2.17, 2.771",\
                 "0.3297, 0.3503, 0.4193, 0.5421, 0.7228, 0.9732, 1.302, 1.716, 2.221, 2.823",\
                 "0.352, 0.3771, 0.4583, 0.5983, 0.7969, 1.056, 1.385, 1.798, 2.302, 2.903",\
                 "0.3513, 0.3816, 0.4798, 0.6438, 0.8673, 1.151, 1.5, 1.917, 2.42, 3.019",\
                 "0.3229, 0.3587, 0.4748, 0.6667, 0.9238, 1.239, 1.616, 2.062, 2.578, 3.177",\
                 "0.2681, 0.3088, 0.4408, 0.6622, 0.9558, 1.311, 1.724, 2.201, 2.75, 3.374",\
                 "0.1859, 0.2312, 0.3779, 0.6264, 0.9579, 1.357, 1.815, 2.332, 2.916, 3.575",\
                 "0.0753, 0.1246, 0.2868, 0.5598, 0.9274, 1.371, 1.878, 2.443, 3.07, 3.768");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4495, 0.4807, 0.5894, 0.7951, 1.113, 1.557, 2.139, 2.872, 3.767, 4.831",\
                 "0.4637, 0.4953, 0.6046, 0.8105, 1.129, 1.573, 2.156, 2.887, 3.787, 4.848",\
                 "0.4994, 0.531, 0.6411, 0.8485, 1.167, 1.612, 2.196, 2.932, 3.825, 4.895",\
                 "0.5754, 0.6066, 0.7147, 0.9198, 1.237, 1.681, 2.264, 2.997, 3.891, 4.959",\
                 "0.697, 0.7299, 0.8434, 1.05, 1.362, 1.8, 2.38, 3.109, 4.003, 5.068",\
                 "0.8621, 0.8972, 1.015, 1.232, 1.554, 1.988, 2.558, 3.282, 4.168, 5.23",\
                 "1.067, 1.106, 1.233, 1.459, 1.793, 2.244, 2.815, 3.528, 4.405, 5.457",\
                 "1.305, 1.348, 1.489, 1.735, 2.083, 2.548, 3.139, 3.857, 4.723, 5.766",\
                 "1.575, 1.624, 1.78, 2.049, 2.424, 2.905, 3.511, 4.253, 5.13, 6.16",\
                 "1.877, 1.93, 2.104, 2.401, 2.806, 3.317, 3.941, 4.7, 5.603, 6.647");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2846, 0.3152, 0.4201, 0.6185, 0.9269, 1.36, 1.927, 2.639, 3.509, 4.548",\
                 "0.2847, 0.3151, 0.4201, 0.619, 0.9282, 1.359, 1.925, 2.64, 3.509, 4.546",\
                 "0.2889, 0.3177, 0.4209, 0.6189, 0.9283, 1.359, 1.925, 2.639, 3.509, 4.547",\
                 "0.3473, 0.3744, 0.4663, 0.6421, 0.9332, 1.359, 1.926, 2.639, 3.511, 4.549",\
                 "0.451, 0.4762, 0.5666, 0.7388, 1.008, 1.394, 1.932, 2.639, 3.51, 4.548",\
                 "0.5976, 0.6248, 0.7144, 0.884, 1.148, 1.523, 2.019, 2.676, 3.516, 4.547",\
                 "0.7758, 0.8062, 0.9044, 1.08, 1.34, 1.707, 2.2, 2.821, 3.603, 4.582",\
                 "0.9808, 1.013, 1.123, 1.315, 1.586, 1.951, 2.435, 3.052, 3.81, 4.728",\
                 "1.208, 1.245, 1.368, 1.58, 1.874, 2.251, 2.73, 3.338, 4.091, 4.995",\
                 "1.455, 1.499, 1.641, 1.875, 2.196, 2.598, 3.088, 3.689, 4.432, 5.33");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6059, 0.6594, 0.8493, 1.208, 1.764, 2.542, 3.563, 4.854, 6.422, 8.287",\
                 "0.6058, 0.6597, 0.8487, 1.207, 1.763, 2.541, 3.565, 4.847, 6.427, 8.29",\
                 "0.6055, 0.6598, 0.8481, 1.208, 1.763, 2.541, 3.564, 4.853, 6.422, 8.299",\
                 "0.6227, 0.673, 0.8531, 1.207, 1.762, 2.541, 3.564, 4.852, 6.42, 8.294",\
                 "0.6994, 0.7494, 0.9188, 1.244, 1.77, 2.54, 3.564, 4.85, 6.424, 8.297",\
                 "0.7996, 0.8496, 1.022, 1.349, 1.848, 2.573, 3.566, 4.851, 6.422, 8.295",\
                 "0.9396, 0.9898, 1.158, 1.482, 1.988, 2.688, 3.628, 4.864, 6.422, 8.293",\
                 "1.105, 1.16, 1.335, 1.657, 2.156, 2.862, 3.782, 4.962, 6.456, 8.296",\
                 "1.288, 1.346, 1.541, 1.876, 2.374, 3.066, 3.999, 5.154, 6.591, 8.361",\
                 "1.484, 1.552, 1.765, 2.127, 2.635, 3.321, 4.239, 5.408, 6.819, 8.531");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.218, 0.2333, 0.2862, 0.3857, 0.5392, 0.7535, 1.035, 1.389, 1.821, 2.336",\
                 "0.2296, 0.2448, 0.2978, 0.3973, 0.5509, 0.7654, 1.047, 1.401, 1.833, 2.348",\
                 "0.2618, 0.2773, 0.3304, 0.4302, 0.584, 0.7985, 1.08, 1.434, 1.867, 2.381",\
                 "0.2937, 0.3121, 0.3733, 0.4813, 0.6377, 0.8521, 1.133, 1.488, 1.92, 2.435",\
                 "0.3076, 0.3304, 0.4046, 0.5304, 0.7065, 0.9344, 1.218, 1.571, 2.002, 2.517",\
                 "0.293, 0.3215, 0.4121, 0.5632, 0.7655, 1.019, 1.326, 1.691, 2.122, 2.636",\
                 "0.2472, 0.2806, 0.3891, 0.5676, 0.8044, 1.091, 1.428, 1.822, 2.277, 2.796",\
                 "0.1701, 0.208, 0.3325, 0.54, 0.8127, 1.14, 1.515, 1.943, 2.43, 2.98",\
                 "0.0617, 0.1042, 0.2428, 0.4756, 0.7858, 1.156, 1.578, 2.047, 2.571, 3.156",\
                 "-0.0812, -0.0342, 0.1194, 0.377, 0.7212, 1.136, 1.605, 2.125, 2.695, 3.319");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4482, 0.4793, 0.5882, 0.7938, 1.111, 1.555, 2.138, 2.87, 3.763, 4.83",\
                 "0.4607, 0.4923, 0.6016, 0.8074, 1.126, 1.57, 2.153, 2.884, 3.784, 4.845",\
                 "0.4963, 0.5282, 0.638, 0.8452, 1.164, 1.608, 2.192, 2.925, 3.821, 4.891",\
                 "0.5745, 0.6055, 0.7132, 0.9175, 1.235, 1.678, 2.26, 2.995, 3.89, 4.953",\
                 "0.7008, 0.7337, 0.846, 1.052, 1.362, 1.8, 2.378, 3.107, 3.999, 5.066",\
                 "0.8748, 0.9091, 1.025, 1.24, 1.56, 1.993, 2.561, 3.283, 4.169, 5.228",\
                 "1.093, 1.13, 1.255, 1.478, 1.809, 2.256, 2.824, 3.535, 4.411, 5.461",\
                 "1.347, 1.389, 1.527, 1.768, 2.112, 2.572, 3.158, 3.873, 4.737, 5.776",\
                 "1.638, 1.685, 1.838, 2.103, 2.469, 2.945, 3.546, 4.282, 5.154, 6.181",\
                 "1.966, 2.017, 2.187, 2.477, 2.874, 3.376, 3.993, 4.746, 5.642, 6.682");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2351, 0.2612, 0.3503, 0.5197, 0.7828, 1.15, 1.634, 2.241, 2.983, 3.867",\
                 "0.2353, 0.2611, 0.3505, 0.5194, 0.7818, 1.15, 1.633, 2.241, 2.984, 3.867",\
                 "0.2417, 0.2658, 0.3517, 0.5198, 0.7821, 1.15, 1.634, 2.242, 2.984, 3.868",\
                 "0.3029, 0.3255, 0.4042, 0.5517, 0.7932, 1.151, 1.632, 2.24, 2.983, 3.867",\
                 "0.4069, 0.4298, 0.5064, 0.6532, 0.8812, 1.203, 1.65, 2.243, 2.984, 3.868",\
                 "0.5498, 0.5744, 0.6562, 0.7998, 1.025, 1.342, 1.761, 2.305, 3.004, 3.869",\
                 "0.7226, 0.751, 0.839, 0.9936, 1.219, 1.533, 1.948, 2.478, 3.126, 3.936",\
                 "0.9214, 0.9504, 1.051, 1.224, 1.462, 1.777, 2.188, 2.711, 3.357, 4.124",\
                 "1.143, 1.178, 1.294, 1.48, 1.743, 2.077, 2.489, 3.005, 3.645, 4.412",\
                 "1.39, 1.427, 1.554, 1.768, 2.056, 2.414, 2.847, 3.365, 3.994, 4.756");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6058, 0.6593, 0.8493, 1.208, 1.763, 2.543, 3.564, 4.848, 6.417, 8.287",\
                 "0.6057, 0.6597, 0.8486, 1.207, 1.763, 2.541, 3.565, 4.847, 6.427, 8.29",\
                 "0.605, 0.6594, 0.8483, 1.208, 1.763, 2.541, 3.565, 4.85, 6.422, 8.298",\
                 "0.6232, 0.6734, 0.8529, 1.207, 1.762, 2.541, 3.564, 4.853, 6.425, 8.289",\
                 "0.6982, 0.7474, 0.9178, 1.243, 1.77, 2.54, 3.564, 4.85, 6.424, 8.299",\
                 "0.7934, 0.8426, 1.017, 1.345, 1.846, 2.571, 3.565, 4.85, 6.422, 8.295",\
                 "0.927, 0.976, 1.147, 1.474, 1.981, 2.684, 3.628, 4.863, 6.421, 8.294",\
                 "1.085, 1.139, 1.317, 1.638, 2.139, 2.853, 3.776, 4.959, 6.454, 8.297",\
                 "1.263, 1.322, 1.512, 1.848, 2.343, 3.047, 3.981, 5.144, 6.584, 8.357",\
                 "1.458, 1.524, 1.732, 2.091, 2.597, 3.287, 4.215, 5.389, 6.808, 8.523");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2531, 0.268, 0.3203, 0.4183, 0.5689, 0.7781, 1.053, 1.398, 1.819, 2.32",\
                 "0.2636, 0.2789, 0.331, 0.4289, 0.5794, 0.7892, 1.064, 1.409, 1.83, 2.331",\
                 "0.3015, 0.3167, 0.3692, 0.4672, 0.618, 0.8278, 1.102, 1.447, 1.869, 2.37",\
                 "0.3585, 0.3765, 0.436, 0.5404, 0.6919, 0.9015, 1.176, 1.521, 1.942, 2.443",\
                 "0.3986, 0.4207, 0.4942, 0.6206, 0.7966, 1.019, 1.294, 1.639, 2.059, 2.56",\
                 "0.4143, 0.4415, 0.5302, 0.681, 0.8881, 1.146, 1.452, 1.807, 2.227, 2.727",\
                 "0.4023, 0.4339, 0.5382, 0.716, 0.957, 1.253, 1.6, 1.998, 2.445, 2.949",\
                 "0.3612, 0.3977, 0.5173, 0.7218, 0.998, 1.336, 1.727, 2.171, 2.666, 3.213",\
                 "0.2914, 0.3317, 0.4656, 0.6958, 1.008, 1.389, 1.827, 2.319, 2.865, 3.464",\
                 "0.1919, 0.2357, 0.3831, 0.6372, 0.9851, 1.408, 1.896, 2.441, 3.038, 3.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4978, 0.5286, 0.6364, 0.841, 1.158, 1.602, 2.186, 2.92, 3.815, 4.883",\
                 "0.5127, 0.5437, 0.6521, 0.8576, 1.175, 1.62, 2.204, 2.938, 3.834, 4.9",\
                 "0.5481, 0.5794, 0.6885, 0.895, 1.214, 1.66, 2.245, 2.98, 3.876, 4.943",\
                 "0.6243, 0.655, 0.7623, 0.9666, 1.284, 1.728, 2.312, 3.047, 3.943, 5.01",\
                 "0.7508, 0.7833, 0.8945, 1.098, 1.41, 1.849, 2.429, 3.16, 4.053, 5.118",\
                 "0.9215, 0.9551, 1.071, 1.285, 1.605, 2.039, 2.61, 3.335, 4.222, 5.282",\
                 "1.136, 1.173, 1.296, 1.518, 1.85, 2.3, 2.87, 3.584, 4.462, 5.515",\
                 "1.386, 1.427, 1.563, 1.802, 2.146, 2.61, 3.2, 3.917, 4.786, 5.827",\
                 "1.671, 1.716, 1.867, 2.127, 2.495, 2.975, 3.58, 4.32, 5.197, 6.227",\
                 "1.988, 2.039, 2.205, 2.491, 2.89, 3.394, 4.018, 4.777, 5.678, 6.722");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3133, 0.3384, 0.4255, 0.5923, 0.849, 1.209, 1.681, 2.274, 2.999, 3.863",\
                 "0.3132, 0.3386, 0.4259, 0.5923, 0.8487, 1.208, 1.681, 2.276, 3, 3.864",\
                 "0.3153, 0.3397, 0.4267, 0.5923, 0.8494, 1.208, 1.68, 2.274, 2.999, 3.864",\
                 "0.39, 0.4102, 0.4823, 0.6213, 0.8563, 1.208, 1.68, 2.275, 2.999, 3.864",\
                 "0.5112, 0.5328, 0.6102, 0.7516, 0.9628, 1.263, 1.695, 2.276, 2.999, 3.863",\
                 "0.6688, 0.6934, 0.7732, 0.9222, 1.145, 1.446, 1.831, 2.342, 3.017, 3.864",\
                 "0.8586, 0.8858, 0.973, 1.131, 1.363, 1.678, 2.078, 2.562, 3.165, 3.934",\
                 "1.076, 1.108, 1.204, 1.378, 1.625, 1.951, 2.364, 2.872, 3.471, 4.173",\
                 "1.318, 1.35, 1.463, 1.656, 1.925, 2.271, 2.697, 3.219, 3.839, 4.557",\
                 "1.582, 1.62, 1.747, 1.961, 2.259, 2.632, 3.079, 3.614, 4.251, 4.991");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7655, 0.8198, 1.01, 1.369, 1.926, 2.705, 3.728, 5.011, 6.586, 8.45",\
                 "0.7654, 0.8199, 1.01, 1.37, 1.926, 2.704, 3.727, 5.012, 6.581, 8.457",\
                 "0.7655, 0.8198, 1.01, 1.369, 1.926, 2.705, 3.727, 5.014, 6.585, 8.453",\
                 "0.7791, 0.8305, 1.013, 1.37, 1.926, 2.705, 3.727, 5.015, 6.585, 8.451",\
                 "0.8576, 0.9058, 1.074, 1.402, 1.933, 2.705, 3.728, 5.015, 6.585, 8.457",\
                 "0.9626, 1.012, 1.183, 1.506, 2.005, 2.733, 3.73, 5.015, 6.585, 8.457",\
                 "1.108, 1.154, 1.32, 1.642, 2.145, 2.843, 3.788, 5.027, 6.586, 8.456",\
                 "1.289, 1.337, 1.504, 1.817, 2.314, 3.021, 3.937, 5.121, 6.618, 8.462",\
                 "1.495, 1.548, 1.723, 2.039, 2.525, 3.223, 4.151, 5.308, 6.747, 8.52",\
                 "1.721, 1.775, 1.965, 2.301, 2.789, 3.472, 4.396, 5.561, 6.97, 8.684");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2181, 0.2328, 0.2844, 0.3815, 0.531, 0.7401, 1.014, 1.359, 1.78, 2.281",\
                 "0.2288, 0.2436, 0.2952, 0.3923, 0.5419, 0.7508, 1.025, 1.37, 1.79, 2.291",\
                 "0.2659, 0.281, 0.333, 0.4306, 0.5804, 0.7895, 1.063, 1.408, 1.829, 2.33",\
                 "0.3129, 0.3318, 0.3942, 0.5017, 0.6542, 0.8631, 1.137, 1.482, 1.902, 2.404",\
                 "0.3398, 0.3637, 0.4414, 0.5732, 0.7538, 0.9795, 1.255, 1.6, 2.019, 2.52",\
                 "0.3411, 0.3704, 0.4655, 0.6239, 0.8374, 1.1, 1.41, 1.767, 2.187, 2.687",\
                 "0.3153, 0.3494, 0.4615, 0.6485, 0.8982, 1.2, 1.553, 1.955, 2.404, 2.91",\
                 "0.2615, 0.301, 0.4289, 0.6438, 0.9304, 1.276, 1.673, 2.122, 2.621, 3.171",\
                 "0.1811, 0.2239, 0.3664, 0.6082, 0.9317, 1.321, 1.767, 2.265, 2.816, 3.419",\
                 "0.0711, 0.1187, 0.2741, 0.5396, 0.8994, 1.334, 1.83, 2.381, 2.984, 3.642");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4901, 0.521, 0.6286, 0.833, 1.15, 1.592, 2.175, 2.906, 3.8, 4.867",\
                 "0.5051, 0.536, 0.6445, 0.8497, 1.167, 1.61, 2.194, 2.924, 3.819, 4.885",\
                 "0.5404, 0.5717, 0.681, 0.8873, 1.206, 1.65, 2.233, 2.967, 3.863, 4.932",\
                 "0.6166, 0.6473, 0.7544, 0.9583, 1.275, 1.719, 2.3, 3.035, 3.928, 4.994",\
                 "0.7419, 0.7745, 0.8859, 1.09, 1.401, 1.839, 2.417, 3.147, 4.041, 5.106",\
                 "0.9117, 0.9454, 1.062, 1.275, 1.595, 2.028, 2.598, 3.32, 4.208, 5.267",\
                 "1.125, 1.161, 1.285, 1.508, 1.839, 2.288, 2.857, 3.57, 4.447, 5.499",\
                 "1.373, 1.413, 1.55, 1.79, 2.135, 2.598, 3.186, 3.904, 4.77, 5.81",\
                 "1.654, 1.699, 1.851, 2.113, 2.482, 2.961, 3.566, 4.306, 5.181, 6.21",\
                 "1.968, 2.019, 2.186, 2.474, 2.874, 3.38, 4.003, 4.76, 5.661, 6.704");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2731, 0.2983, 0.3851, 0.551, 0.8072, 1.166, 1.637, 2.232, 2.956, 3.82",\
                 "0.2733, 0.2983, 0.3848, 0.551, 0.8073, 1.167, 1.638, 2.233, 2.957, 3.82",\
                 "0.2801, 0.3034, 0.3864, 0.5504, 0.8078, 1.167, 1.638, 2.232, 2.956, 3.82",\
                 "0.3649, 0.3855, 0.456, 0.5905, 0.819, 1.167, 1.637, 2.231, 2.956, 3.819",\
                 "0.4904, 0.5118, 0.586, 0.726, 0.936, 1.231, 1.657, 2.232, 2.956, 3.819",\
                 "0.653, 0.6754, 0.7548, 0.8984, 1.12, 1.418, 1.801, 2.307, 2.977, 3.821",\
                 "0.845, 0.8702, 0.9558, 1.111, 1.34, 1.652, 2.05, 2.535, 3.133, 3.897",\
                 "1.063, 1.093, 1.191, 1.36, 1.603, 1.925, 2.338, 2.843, 3.44, 4.143",\
                 "1.306, 1.338, 1.446, 1.637, 1.906, 2.249, 2.671, 3.191, 3.81, 4.529",\
                 "1.57, 1.607, 1.73, 1.945, 2.238, 2.608, 3.057, 3.589, 4.222, 4.961");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6545, 0.7091, 0.898, 1.256, 1.812, 2.591, 3.615, 4.896, 6.468, 8.336",\
                 "0.6552, 0.7086, 0.8983, 1.258, 1.814, 2.59, 3.616, 4.898, 6.468, 8.34",\
                 "0.6545, 0.7086, 0.8987, 1.257, 1.812, 2.591, 3.613, 4.902, 6.472, 8.348",\
                 "0.6687, 0.7188, 0.9003, 1.256, 1.813, 2.591, 3.614, 4.901, 6.471, 8.347",\
                 "0.7428, 0.791, 0.9612, 1.288, 1.818, 2.59, 3.613, 4.903, 6.472, 8.347",\
                 "0.836, 0.8876, 1.062, 1.391, 1.891, 2.617, 3.615, 4.901, 6.473, 8.345",\
                 "0.9686, 1.018, 1.19, 1.518, 2.028, 2.728, 3.674, 4.912, 6.472, 8.344",\
                 "1.134, 1.186, 1.361, 1.686, 2.189, 2.901, 3.821, 5.006, 6.503, 8.345",\
                 "1.319, 1.377, 1.565, 1.897, 2.394, 3.098, 4.032, 5.192, 6.63, 8.404",\
                 "1.517, 1.581, 1.789, 2.148, 2.65, 3.343, 4.272, 5.442, 6.858, 8.571");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1821, 0.1942, 0.2365, 0.3159, 0.438, 0.6083, 0.8317, 1.113, 1.456, 1.865",\
                 "0.1943, 0.2065, 0.2488, 0.3281, 0.4504, 0.6206, 0.8442, 1.125, 1.468, 1.877",\
                 "0.2352, 0.2479, 0.2907, 0.3704, 0.4925, 0.6632, 0.8869, 1.168, 1.511, 1.92",\
                 "0.2771, 0.2941, 0.3494, 0.4433, 0.5727, 0.7436, 0.9671, 1.249, 1.591, 2",\
                 "0.2942, 0.316, 0.387, 0.5054, 0.6653, 0.8618, 1.094, 1.376, 1.718, 2.127",\
                 "0.2815, 0.3087, 0.3966, 0.5422, 0.7353, 0.9692, 1.241, 1.55, 1.898, 2.306",\
                 "0.2368, 0.2692, 0.3738, 0.5475, 0.7768, 1.051, 1.366, 1.72, 2.111, 2.542",\
                 "0.1613, 0.1982, 0.3177, 0.5188, 0.785, 1.102, 1.463, 1.864, 2.306, 2.786",\
                 "0.0537, 0.0945, 0.2282, 0.4546, 0.7563, 1.118, 1.527, 1.979, 2.472, 3.006",\
                 "-0.0889, -0.0436, 0.1038, 0.354, 0.6903, 1.095, 1.554, 2.059, 2.606, 3.195");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4887, 0.5198, 0.6274, 0.8315, 1.148, 1.591, 2.174, 2.909, 3.799, 4.865",\
                 "0.5021, 0.533, 0.6414, 0.8466, 1.164, 1.607, 2.191, 2.921, 3.816, 4.883",\
                 "0.5375, 0.5686, 0.6778, 0.8839, 1.202, 1.647, 2.229, 2.963, 3.859, 4.924",\
                 "0.6157, 0.6462, 0.7528, 0.9562, 1.272, 1.716, 2.298, 3.032, 3.925, 4.991",\
                 "0.746, 0.7782, 0.8887, 1.091, 1.401, 1.838, 2.416, 3.146, 4.038, 5.1",\
                 "0.9242, 0.9577, 1.072, 1.284, 1.602, 2.033, 2.601, 3.324, 4.21, 5.266",\
                 "1.149, 1.185, 1.307, 1.527, 1.857, 2.302, 2.868, 3.578, 4.454, 5.504",\
                 "1.414, 1.454, 1.588, 1.824, 2.164, 2.623, 3.208, 3.921, 4.785, 5.824",\
                 "1.716, 1.761, 1.908, 2.166, 2.528, 3.002, 3.602, 4.337, 5.208, 6.233",\
                 "2.056, 2.105, 2.269, 2.55, 2.943, 3.441, 4.056, 4.809, 5.705, 6.742");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2119, 0.2319, 0.3032, 0.4376, 0.6468, 0.9392, 1.322, 1.806, 2.394, 3.098",\
                 "0.2119, 0.2323, 0.3032, 0.4376, 0.646, 0.9386, 1.322, 1.806, 2.394, 3.097",\
                 "0.2254, 0.2426, 0.3071, 0.4381, 0.6466, 0.9389, 1.321, 1.806, 2.395, 3.097",\
                 "0.3175, 0.3346, 0.3922, 0.4978, 0.6715, 0.9416, 1.321, 1.806, 2.394, 3.096",\
                 "0.4429, 0.4605, 0.524, 0.6394, 0.8106, 1.041, 1.365, 1.813, 2.394, 3.097",\
                 "0.6008, 0.6216, 0.69, 0.8116, 0.995, 1.241, 1.551, 1.937, 2.449, 3.108",\
                 "0.7884, 0.8094, 0.8866, 1.022, 1.217, 1.478, 1.806, 2.202, 2.668, 3.249",\
                 "0.9992, 1.024, 1.111, 1.263, 1.479, 1.752, 2.098, 2.515, 3.005, 3.565",\
                 "1.235, 1.263, 1.362, 1.533, 1.77, 2.071, 2.435, 2.868, 3.38, 3.966",\
                 "1.495, 1.527, 1.637, 1.829, 2.092, 2.422, 2.814, 3.266, 3.796, 4.408");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6542, 0.7101, 0.898, 1.256, 1.813, 2.591, 3.616, 4.904, 6.468, 8.337",\
                 "0.6551, 0.7086, 0.8982, 1.258, 1.814, 2.59, 3.615, 4.898, 6.468, 8.342",\
                 "0.6552, 0.7084, 0.8987, 1.257, 1.812, 2.591, 3.613, 4.9, 6.474, 8.343",\
                 "0.6683, 0.7194, 0.9009, 1.256, 1.812, 2.591, 3.615, 4.902, 6.471, 8.344",\
                 "0.741, 0.791, 0.9604, 1.288, 1.818, 2.59, 3.613, 4.902, 6.473, 8.342",\
                 "0.8308, 0.8816, 1.058, 1.387, 1.889, 2.618, 3.615, 4.901, 6.472, 8.347",\
                 "0.9562, 1.007, 1.179, 1.509, 2.021, 2.724, 3.672, 4.912, 6.472, 8.343",\
                 "1.114, 1.165, 1.342, 1.666, 2.175, 2.891, 3.816, 5.001, 6.501, 8.346",\
                 "1.292, 1.35, 1.537, 1.87, 2.368, 3.078, 4.018, 5.182, 6.625, 8.402",\
                 "1.488, 1.548, 1.753, 2.106, 2.609, 3.308, 4.245, 5.423, 6.844, 8.562");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3437, 0.362, 0.4249, 0.5428, 0.7238, 0.9756, 1.306, 1.72, 2.226, 2.827",\
                 "0.3544, 0.3721, 0.4351, 0.5532, 0.7343, 0.9862, 1.316, 1.731, 2.236, 2.838",\
                 "0.3846, 0.4033, 0.466, 0.5842, 0.7654, 1.017, 1.347, 1.762, 2.268, 2.869",\
                 "0.4321, 0.4513, 0.5171, 0.6364, 0.8172, 1.069, 1.399, 1.813, 2.319, 2.921",\
                 "0.4751, 0.4969, 0.5715, 0.7041, 0.8971, 1.152, 1.481, 1.895, 2.399, 3.001",\
                 "0.5016, 0.5275, 0.6141, 0.7648, 0.9785, 1.256, 1.599, 2.014, 2.517, 3.117",\
                 "0.5016, 0.5325, 0.6331, 0.8077, 1.049, 1.353, 1.723, 2.163, 2.676, 3.275",\
                 "0.4732, 0.5083, 0.6246, 0.8244, 1.098, 1.438, 1.84, 2.311, 2.855, 3.474",\
                 "0.4145, 0.4542, 0.5847, 0.8101, 1.119, 1.498, 1.942, 2.449, 3.026, 3.68",\
                 "0.3268, 0.3703, 0.5136, 0.7632, 1.106, 1.528, 2.018, 2.57, 3.188, 3.879");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.4887, 0.5198, 0.6274, 0.8315, 1.148, 1.591, 2.174, 2.909, 3.799, 4.865",\
                 "0.5021, 0.533, 0.6414, 0.8466, 1.164, 1.607, 2.191, 2.921, 3.816, 4.883",\
                 "0.5375, 0.5686, 0.6778, 0.8839, 1.202, 1.647, 2.229, 2.963, 3.859, 4.924",\
                 "0.6157, 0.6462, 0.7528, 0.9562, 1.272, 1.716, 2.298, 3.032, 3.925, 4.991",\
                 "0.746, 0.7782, 0.8887, 1.091, 1.401, 1.838, 2.416, 3.146, 4.038, 5.1",\
                 "0.9242, 0.9577, 1.072, 1.284, 1.602, 2.033, 2.601, 3.324, 4.21, 5.266",\
                 "1.149, 1.185, 1.307, 1.527, 1.857, 2.302, 2.868, 3.578, 4.454, 5.504",\
                 "1.414, 1.454, 1.588, 1.824, 2.164, 2.623, 3.208, 3.921, 4.785, 5.824",\
                 "1.716, 1.761, 1.908, 2.166, 2.528, 3.002, 3.602, 4.337, 5.208, 6.233",\
                 "2.056, 2.105, 2.269, 2.55, 2.943, 3.441, 4.056, 4.809, 5.705, 6.742");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3819, 0.4132, 0.5204, 0.7218, 1.031, 1.463, 2.031, 2.745, 3.615, 4.654",\
                 "0.382, 0.4129, 0.5203, 0.721, 1.031, 1.465, 2.031, 2.745, 3.617, 4.653",\
                 "0.3824, 0.4136, 0.5202, 0.7216, 1.031, 1.464, 2.031, 2.745, 3.615, 4.653",\
                 "0.4216, 0.4495, 0.5449, 0.7312, 1.033, 1.464, 2.031, 2.745, 3.616, 4.654",\
                 "0.5114, 0.5388, 0.6362, 0.8158, 1.089, 1.487, 2.034, 2.744, 3.615, 4.654",\
                 "0.6468, 0.675, 0.771, 0.9494, 1.222, 1.604, 2.106, 2.774, 3.619, 4.653",\
                 "0.8216, 0.8524, 0.9542, 1.135, 1.405, 1.784, 2.281, 2.905, 3.696, 4.682",\
                 "1.024, 1.059, 1.172, 1.365, 1.64, 2.016, 2.508, 3.132, 3.892, 4.816",\
                 "1.254, 1.291, 1.416, 1.631, 1.926, 2.308, 2.796, 3.412, 4.171, 5.077",\
                 "1.507, 1.55, 1.689, 1.925, 2.247, 2.654, 3.145, 3.757, 4.506, 5.411");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8451, 0.8991, 1.088, 1.446, 2.003, 2.781, 3.804, 5.092, 6.662, 8.526",\
                 "0.8448, 0.8989, 1.088, 1.447, 2.003, 2.781, 3.804, 5.088, 6.658, 8.533",\
                 "0.8452, 0.8988, 1.088, 1.446, 2.003, 2.781, 3.804, 5.088, 6.66, 8.531",\
                 "0.8638, 0.9133, 1.093, 1.447, 2.003, 2.781, 3.805, 5.09, 6.658, 8.533",\
                 "0.9494, 0.9958, 1.16, 1.484, 2.011, 2.782, 3.805, 5.092, 6.66, 8.535",\
                 "1.073, 1.118, 1.28, 1.594, 2.089, 2.813, 3.808, 5.092, 6.662, 8.533",\
                 "1.238, 1.28, 1.435, 1.744, 2.236, 2.929, 3.87, 5.106, 6.664, 8.534",\
                 "1.441, 1.487, 1.639, 1.936, 2.418, 3.111, 4.025, 5.204, 6.698, 8.538",\
                 "1.669, 1.718, 1.879, 2.179, 2.647, 3.329, 4.245, 5.396, 6.834, 8.603",\
                 "1.92, 1.971, 2.143, 2.461, 2.931, 3.594, 4.501, 5.655, 7.062, 8.774");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3366, 0.3547, 0.4174, 0.5349, 0.7152, 0.9665, 1.296, 1.71, 2.215, 2.817",\
                 "0.351, 0.3692, 0.4321, 0.5499, 0.7306, 0.9821, 1.311, 1.726, 2.231, 2.833",\
                 "0.3783, 0.3967, 0.46, 0.5783, 0.7596, 1.012, 1.341, 1.756, 2.261, 2.863",\
                 "0.4037, 0.4231, 0.4891, 0.6092, 0.7905, 1.043, 1.373, 1.787, 2.293, 2.894",\
                 "0.4109, 0.4324, 0.5046, 0.6347, 0.8266, 1.083, 1.413, 1.826, 2.331, 2.933",\
                 "0.3937, 0.4182, 0.5002, 0.6438, 0.8502, 1.123, 1.466, 1.883, 2.387, 2.987",\
                 "0.3374, 0.3663, 0.4627, 0.6272, 0.8551, 1.148, 1.51, 1.947, 2.463, 3.063",\
                 "0.2372, 0.2712, 0.3826, 0.5726, 0.8308, 1.152, 1.538, 1.996, 2.534, 3.155",\
                 "0.0898, 0.1283, 0.256, 0.4724, 0.7652, 1.122, 1.542, 2.028, 2.589, 3.234",\
                 "-0.1074, -0.0637, 0.0807, 0.324, 0.6515, 1.05, 1.51, 2.034, 2.627, 3.297");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5341, 0.5662, 0.6787, 0.8893, 1.213, 1.662, 2.25, 2.989, 3.888, 4.958",\
                 "0.5432, 0.5755, 0.6882, 0.8985, 1.222, 1.671, 2.26, 2.999, 3.898, 4.967",\
                 "0.5933, 0.6259, 0.7377, 0.9486, 1.272, 1.721, 2.31, 3.049, 3.948, 5.017",\
                 "0.7124, 0.7441, 0.854, 1.062, 1.382, 1.83, 2.416, 3.154, 4.053, 5.122",\
                 "0.9149, 0.9468, 1.055, 1.257, 1.571, 2.012, 2.594, 3.328, 4.224, 5.291",\
                 "1.168, 1.204, 1.325, 1.541, 1.855, 2.287, 2.861, 3.588, 4.477, 5.539",\
                 "1.47, 1.51, 1.64, 1.877, 2.22, 2.664, 3.23, 3.945, 4.826, 5.88",\
                 "1.829, 1.871, 2.011, 2.265, 2.634, 3.117, 3.705, 4.415, 5.283, 6.326",\
                 "2.244, 2.289, 2.441, 2.712, 3.105, 3.62, 4.255, 4.996, 5.861, 6.89",\
                 "2.713, 2.763, 2.931, 3.224, 3.641, 4.183, 4.855, 5.648, 6.552, 7.582");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3355, 0.3663, 0.4721, 0.6723, 0.9811, 1.413, 1.98, 2.693, 3.564, 4.6",\
                 "0.3358, 0.3665, 0.4715, 0.6724, 0.9806, 1.413, 1.98, 2.693, 3.563, 4.599",\
                 "0.3358, 0.3665, 0.4723, 0.6719, 0.9819, 1.413, 1.98, 2.692, 3.564, 4.599",\
                 "0.3664, 0.3949, 0.4923, 0.6808, 0.9828, 1.413, 1.98, 2.693, 3.563, 4.601",\
                 "0.4292, 0.4568, 0.5568, 0.7456, 1.031, 1.435, 1.985, 2.693, 3.564, 4.601",\
                 "0.5372, 0.565, 0.6592, 0.8424, 1.129, 1.529, 2.05, 2.723, 3.57, 4.6",\
                 "0.6874, 0.7162, 0.8132, 0.9926, 1.267, 1.66, 2.182, 2.837, 3.645, 4.635",\
                 "0.871, 0.901, 1.004, 1.188, 1.464, 1.842, 2.353, 3.007, 3.807, 4.758",\
                 "1.079, 1.111, 1.224, 1.419, 1.704, 2.085, 2.58, 3.219, 4.015, 4.967",\
                 "1.311, 1.346, 1.468, 1.681, 1.981, 2.373, 2.871, 3.494, 4.271, 5.217");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("1.018, 1.072, 1.26, 1.618, 2.174, 2.954, 3.977, 5.266, 6.839, 8.713",\
                 "1.018, 1.072, 1.26, 1.617, 2.175, 2.953, 3.979, 5.266, 6.842, 8.712",\
                 "1.018, 1.072, 1.26, 1.618, 2.175, 2.954, 3.98, 5.267, 6.837, 8.713",\
                 "1.018, 1.071, 1.259, 1.618, 2.174, 2.954, 3.979, 5.269, 6.84, 8.711",\
                 "1.093, 1.139, 1.303, 1.631, 2.175, 2.954, 3.979, 5.268, 6.839, 8.711",\
                 "1.244, 1.291, 1.452, 1.752, 2.237, 2.965, 3.979, 5.269, 6.84, 8.713",\
                 "1.406, 1.456, 1.633, 1.954, 2.423, 3.086, 4.018, 5.271, 6.84, 8.713",\
                 "1.593, 1.644, 1.824, 2.164, 2.673, 3.335, 4.198, 5.351, 6.853, 8.713",\
                 "1.81, 1.863, 2.049, 2.394, 2.923, 3.635, 4.505, 5.589, 6.981, 8.746",\
                 "2.055, 2.111, 2.301, 2.656, 3.196, 3.939, 4.869, 5.96, 7.28, 8.926");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2926, 0.3106, 0.3725, 0.4889, 0.6686, 0.9192, 1.248, 1.662, 2.167, 2.77",\
                 "0.3068, 0.3248, 0.3871, 0.5039, 0.6837, 0.9344, 1.264, 1.678, 2.183, 2.785",\
                 "0.3333, 0.3516, 0.4145, 0.5322, 0.7126, 0.9639, 1.293, 1.708, 2.213, 2.816",\
                 "0.3542, 0.3739, 0.441, 0.5623, 0.7434, 0.995, 1.325, 1.739, 2.245, 2.847",\
                 "0.3551, 0.3773, 0.4513, 0.5835, 0.7771, 1.035, 1.364, 1.778, 2.283, 2.885",\
                 "0.326, 0.3524, 0.4391, 0.5873, 0.7969, 1.072, 1.417, 1.835, 2.339, 2.939",\
                 "0.255, 0.287, 0.3904, 0.5624, 0.7968, 1.093, 1.458, 1.897, 2.414, 3.015",\
                 "0.1403, 0.1773, 0.2975, 0.4975, 0.765, 1.092, 1.483, 1.944, 2.483, 3.106",\
                 "-0.0228, 0.0202, 0.1582, 0.3864, 0.6903, 1.056, 1.482, 1.973, 2.537, 3.183",\
                 "-0.2343, -0.1862, -0.0308, 0.227, 0.5679, 0.9776, 1.446, 1.974, 2.571, 3.244");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5237, 0.5563, 0.6688, 0.879, 1.202, 1.65, 2.236, 2.973, 3.871, 4.939",\
                 "0.5327, 0.5652, 0.6778, 0.8885, 1.211, 1.659, 2.246, 2.983, 3.88, 4.948",\
                 "0.5829, 0.6154, 0.728, 0.9383, 1.261, 1.709, 2.296, 3.033, 3.931, 4.999",\
                 "0.7022, 0.734, 0.8441, 1.051, 1.371, 1.817, 2.403, 3.138, 4.035, 5.102",\
                 "0.9038, 0.9361, 1.045, 1.247, 1.56, 2, 2.581, 3.313, 4.207, 5.272",\
                 "1.155, 1.191, 1.313, 1.53, 1.844, 2.275, 2.847, 3.571, 4.459, 5.52",\
                 "1.455, 1.494, 1.626, 1.864, 2.208, 2.651, 3.215, 3.93, 4.808, 5.861",\
                 "1.81, 1.852, 1.994, 2.249, 2.619, 3.103, 3.691, 4.399, 5.265, 6.308",\
                 "2.22, 2.267, 2.421, 2.694, 3.087, 3.603, 4.238, 4.979, 5.843, 6.872",\
                 "2.685, 2.736, 2.906, 3.202, 3.62, 4.164, 4.836, 5.63, 6.534, 7.562");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2866, 0.3173, 0.4223, 0.6211, 0.9294, 1.362, 1.928, 2.641, 3.512, 4.549",\
                 "0.2868, 0.3168, 0.4214, 0.6208, 0.9287, 1.361, 1.928, 2.642, 3.512, 4.549",\
                 "0.2876, 0.3174, 0.4223, 0.621, 0.9285, 1.361, 1.928, 2.641, 3.512, 4.549",\
                 "0.325, 0.3531, 0.4498, 0.6341, 0.9326, 1.361, 1.927, 2.641, 3.512, 4.551",\
                 "0.3924, 0.4192, 0.5164, 0.701, 0.9868, 1.388, 1.933, 2.641, 3.512, 4.55",\
                 "0.509, 0.5354, 0.6278, 0.8036, 1.086, 1.484, 2.005, 2.675, 3.52, 4.55",\
                 "0.6646, 0.6922, 0.7866, 0.9608, 1.231, 1.617, 2.139, 2.793, 3.598, 4.587",\
                 "0.8504, 0.88, 0.9824, 1.161, 1.433, 1.807, 2.312, 2.964, 3.763, 4.713",\
                 "1.061, 1.093, 1.201, 1.396, 1.674, 2.054, 2.547, 3.18, 3.972, 4.923",\
                 "1.294, 1.33, 1.449, 1.658, 1.954, 2.345, 2.839, 3.459, 4.231, 5.174");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8877, 0.9424, 1.133, 1.494, 2.052, 2.832, 3.855, 5.145, 6.717, 8.592",\
                 "0.8879, 0.9425, 1.133, 1.493, 2.051, 2.832, 3.857, 5.146, 6.719, 8.59",\
                 "0.8876, 0.9421, 1.133, 1.494, 2.052, 2.832, 3.857, 5.146, 6.716, 8.589",\
                 "0.8876, 0.9413, 1.132, 1.493, 2.052, 2.832, 3.857, 5.147, 6.718, 8.59",\
                 "0.9626, 1.009, 1.176, 1.507, 2.052, 2.832, 3.857, 5.146, 6.719, 8.589",\
                 "1.101, 1.151, 1.322, 1.627, 2.113, 2.842, 3.857, 5.147, 6.718, 8.592",\
                 "1.249, 1.305, 1.489, 1.821, 2.3, 2.965, 3.896, 5.149, 6.72, 8.593",\
                 "1.421, 1.476, 1.665, 2.018, 2.538, 3.211, 4.077, 5.228, 6.732, 8.592",\
                 "1.62, 1.678, 1.876, 2.237, 2.779, 3.503, 4.383, 5.469, 6.859, 8.625",\
                 "1.846, 1.907, 2.114, 2.486, 3.041, 3.795, 4.735, 5.838, 7.158, 8.806");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2593, 0.2747, 0.3276, 0.427, 0.58, 0.7935, 1.074, 1.426, 1.856, 2.369",\
                 "0.2741, 0.2895, 0.3428, 0.4424, 0.5956, 0.8093, 1.089, 1.442, 1.872, 2.385",\
                 "0.3095, 0.3252, 0.379, 0.4793, 0.6332, 0.8473, 1.128, 1.48, 1.911, 2.423",\
                 "0.3415, 0.3589, 0.4182, 0.5239, 0.6791, 0.8934, 1.174, 1.527, 1.957, 2.47",\
                 "0.3496, 0.3703, 0.4389, 0.5582, 0.7293, 0.9539, 1.236, 1.589, 2.018, 2.531",\
                 "0.3229, 0.3486, 0.4319, 0.5716, 0.7633, 1.009, 1.312, 1.674, 2.104, 2.616",\
                 "0.2524, 0.2836, 0.3842, 0.5512, 0.773, 1.046, 1.374, 1.761, 2.212, 2.73",\
                 "0.1368, 0.1733, 0.2912, 0.4869, 0.7459, 1.056, 1.416, 1.832, 2.311, 2.856",\
                 "-0.0272, 0.0147, 0.1505, 0.375, 0.6724, 1.026, 1.428, 1.882, 2.391, 2.966",\
                 "-0.2409, -0.1936, -0.0405, 0.2137, 0.5485, 0.9483, 1.399, 1.898, 2.448, 3.056");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5534, 0.586, 0.6991, 0.91, 1.233, 1.682, 2.269, 3.007, 3.904, 4.973",\
                 "0.5629, 0.5957, 0.7086, 0.92, 1.244, 1.692, 2.28, 3.017, 3.915, 4.983",\
                 "0.613, 0.6454, 0.7583, 0.9698, 1.293, 1.742, 2.33, 3.067, 3.965, 5.033",\
                 "0.7324, 0.7642, 0.8748, 1.083, 1.404, 1.851, 2.436, 3.173, 4.07, 5.138",\
                 "0.9368, 0.9687, 1.077, 1.279, 1.593, 2.034, 2.615, 3.347, 4.242, 5.307",\
                 "1.195, 1.23, 1.351, 1.566, 1.879, 2.311, 2.883, 3.609, 4.496, 5.556",\
                 "1.501, 1.539, 1.671, 1.907, 2.249, 2.691, 3.254, 3.969, 4.848, 5.9",\
                 "1.862, 1.904, 2.045, 2.3, 2.669, 3.15, 3.735, 4.442, 5.309, 6.35",\
                 "2.28, 2.326, 2.479, 2.751, 3.144, 3.658, 4.289, 5.028, 5.891, 6.919",\
                 "2.755, 2.805, 2.973, 3.266, 3.682, 4.226, 4.896, 5.687, 6.588, 7.615");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2397, 0.265, 0.3537, 0.5231, 0.7851, 1.151, 1.633, 2.239, 2.977, 3.859",\
                 "0.2397, 0.2649, 0.3542, 0.5224, 0.7848, 1.152, 1.633, 2.238, 2.977, 3.858",\
                 "0.2419, 0.2667, 0.3549, 0.5226, 0.7849, 1.151, 1.633, 2.237, 2.978, 3.858",\
                 "0.2875, 0.3117, 0.3915, 0.5435, 0.7908, 1.152, 1.633, 2.238, 2.978, 3.858",\
                 "0.37, 0.3928, 0.472, 0.6244, 0.8614, 1.192, 1.645, 2.24, 2.977, 3.859",\
                 "0.5006, 0.523, 0.601, 0.747, 0.9798, 1.308, 1.741, 2.294, 2.997, 3.859",\
                 "0.6642, 0.6886, 0.7738, 0.9234, 1.15, 1.467, 1.897, 2.444, 3.106, 3.923",\
                 "0.8568, 0.884, 0.9756, 1.138, 1.372, 1.686, 2.103, 2.642, 3.307, 4.094",\
                 "1.076, 1.104, 1.204, 1.383, 1.634, 1.959, 2.373, 2.894, 3.551, 4.341",\
                 "1.314, 1.349, 1.457, 1.652, 1.925, 2.269, 2.696, 3.217, 3.854, 4.636");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.928, 0.9825, 1.174, 1.535, 2.094, 2.875, 3.901, 5.189, 6.762, 8.636",\
                 "0.9281, 0.9825, 1.174, 1.535, 2.094, 2.875, 3.9, 5.191, 6.762, 8.636",\
                 "0.9279, 0.9823, 1.174, 1.535, 2.094, 2.875, 3.899, 5.189, 6.763, 8.636",\
                 "0.9265, 0.9818, 1.173, 1.535, 2.094, 2.875, 3.901, 5.191, 6.761, 8.633",\
                 "0.9914, 1.039, 1.209, 1.544, 2.094, 2.875, 3.901, 5.191, 6.762, 8.635",\
                 "1.129, 1.18, 1.35, 1.656, 2.148, 2.884, 3.902, 5.191, 6.764, 8.638",\
                 "1.275, 1.328, 1.513, 1.848, 2.326, 2.997, 3.933, 5.193, 6.764, 8.636",\
                 "1.441, 1.497, 1.69, 2.044, 2.564, 3.235, 4.106, 5.265, 6.774, 8.635",\
                 "1.636, 1.696, 1.891, 2.256, 2.805, 3.527, 4.407, 5.497, 6.895, 8.666",\
                 "1.855, 1.918, 2.124, 2.497, 3.056, 3.816, 4.756, 5.858, 7.183, 8.838");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2913, 0.3093, 0.371, 0.4873, 0.6668, 0.9173, 1.246, 1.66, 2.165, 2.767",\
                 "0.3055, 0.3235, 0.3857, 0.5022, 0.6819, 0.9326, 1.262, 1.676, 2.181, 2.782",\
                 "0.3319, 0.3501, 0.4129, 0.5305, 0.7108, 0.9622, 1.292, 1.706, 2.211, 2.814",\
                 "0.3526, 0.3724, 0.4393, 0.5606, 0.7416, 0.9931, 1.323, 1.737, 2.243, 2.844",\
                 "0.3532, 0.3753, 0.4494, 0.5816, 0.7753, 1.033, 1.363, 1.776, 2.281, 2.882",\
                 "0.3235, 0.35, 0.4369, 0.5852, 0.7948, 1.07, 1.415, 1.833, 2.337, 2.937",\
                 "0.2523, 0.2842, 0.3869, 0.5599, 0.7945, 1.091, 1.456, 1.895, 2.412, 3.013",\
                 "0.1365, 0.1736, 0.2941, 0.4945, 0.7623, 1.09, 1.481, 1.941, 2.481, 3.104",\
                 "-0.0266, 0.0158, 0.154, 0.3829, 0.6877, 1.054, 1.48, 1.971, 2.535, 3.181",\
                 "-0.2391, -0.1912, -0.0352, 0.2232, 0.5645, 0.9746, 1.443, 1.972, 2.568, 3.241");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5237, 0.5563, 0.6688, 0.8789, 1.202, 1.65, 2.236, 2.973, 3.871, 4.938",\
                 "0.5328, 0.5652, 0.6778, 0.8883, 1.211, 1.659, 2.246, 2.983, 3.88, 4.948",\
                 "0.5829, 0.6155, 0.728, 0.9383, 1.261, 1.709, 2.296, 3.033, 3.93, 4.998",\
                 "0.7022, 0.7339, 0.8439, 1.051, 1.371, 1.817, 2.403, 3.138, 4.035, 5.102",\
                 "0.9038, 0.9361, 1.045, 1.247, 1.56, 2, 2.581, 3.313, 4.207, 5.271",\
                 "1.155, 1.191, 1.313, 1.53, 1.843, 2.275, 2.847, 3.571, 4.459, 5.52",\
                 "1.454, 1.494, 1.626, 1.863, 2.208, 2.651, 3.215, 3.929, 4.808, 5.861",\
                 "1.81, 1.852, 1.995, 2.249, 2.619, 3.103, 3.69, 4.399, 5.265, 6.307",\
                 "2.22, 2.266, 2.421, 2.694, 3.088, 3.603, 4.237, 4.979, 5.843, 6.871",\
                 "2.685, 2.736, 2.907, 3.202, 3.62, 4.163, 4.835, 5.629, 6.534, 7.563");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2847, 0.3152, 0.4202, 0.6186, 0.927, 1.359, 1.926, 2.639, 3.509, 4.548",\
                 "0.2846, 0.3146, 0.4201, 0.6185, 0.9276, 1.359, 1.926, 2.639, 3.51, 4.546",\
                 "0.2856, 0.3152, 0.4204, 0.6188, 0.9264, 1.36, 1.925, 2.638, 3.51, 4.546",\
                 "0.3228, 0.3512, 0.448, 0.6324, 0.9306, 1.359, 1.925, 2.639, 3.509, 4.549",\
                 "0.3908, 0.4176, 0.5144, 0.6992, 0.985, 1.386, 1.931, 2.639, 3.51, 4.548",\
                 "0.5078, 0.5344, 0.6266, 0.8022, 1.084, 1.483, 2.002, 2.673, 3.518, 4.548",\
                 "0.6642, 0.6928, 0.7856, 0.9594, 1.23, 1.616, 2.138, 2.791, 3.596, 4.584",\
                 "0.8498, 0.8794, 0.9818, 1.16, 1.432, 1.806, 2.31, 2.962, 3.762, 4.711",\
                 "1.061, 1.093, 1.202, 1.395, 1.674, 2.052, 2.543, 3.177, 3.971, 4.921",\
                 "1.294, 1.33, 1.448, 1.658, 1.952, 2.344, 2.838, 3.458, 4.229, 5.173");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8824, 0.9368, 1.128, 1.488, 2.046, 2.826, 3.851, 5.14, 6.713, 8.586",\
                 "0.8823, 0.9369, 1.127, 1.488, 2.046, 2.827, 3.851, 5.141, 6.711, 8.582",\
                 "0.8822, 0.9367, 1.127, 1.488, 2.046, 2.827, 3.852, 5.14, 6.711, 8.587",\
                 "0.8827, 0.9361, 1.127, 1.488, 2.046, 2.826, 3.851, 5.142, 6.714, 8.583",\
                 "0.9586, 1.005, 1.171, 1.501, 2.046, 2.827, 3.852, 5.14, 6.713, 8.584",\
                 "1.095, 1.146, 1.316, 1.623, 2.108, 2.838, 3.852, 5.142, 6.712, 8.585",\
                 "1.242, 1.295, 1.482, 1.814, 2.294, 2.959, 3.891, 5.144, 6.714, 8.586",\
                 "1.413, 1.469, 1.659, 2.011, 2.533, 3.204, 4.072, 5.223, 6.726, 8.585",\
                 "1.613, 1.67, 1.868, 2.229, 2.774, 3.496, 4.376, 5.464, 6.855, 8.621",\
                 "1.837, 1.9, 2.105, 2.479, 3.033, 3.791, 4.73, 5.832, 7.153, 8.8");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2498, 0.267, 0.3273, 0.4418, 0.62, 0.8696, 1.198, 1.612, 2.117, 2.718",\
                 "0.2635, 0.2811, 0.342, 0.4569, 0.6355, 0.885, 1.213, 1.627, 2.131, 2.733",\
                 "0.2884, 0.3065, 0.3683, 0.4849, 0.6638, 0.9143, 1.243, 1.657, 2.162, 2.765",\
                 "0.3029, 0.3231, 0.3911, 0.5135, 0.6944, 0.9451, 1.274, 1.688, 2.193, 2.796",\
                 "0.2944, 0.318, 0.3955, 0.53, 0.7253, 0.985, 1.314, 1.727, 2.232, 2.834",\
                 "0.2501, 0.2792, 0.3726, 0.5275, 0.7411, 1.018, 1.365, 1.784, 2.288, 2.888",\
                 "0.1615, 0.1976, 0.3097, 0.4925, 0.735, 1.036, 1.403, 1.844, 2.362, 2.963",\
                 "0.0293, 0.0709, 0.2026, 0.4161, 0.6943, 1.03, 1.425, 1.888, 2.429, 3.053",\
                 "-0.1512, -0.1028, 0.0481, 0.2931, 0.6106, 0.9867, 1.419, 1.914, 2.481, 3.128",\
                 "-0.3789, -0.3251, -0.155, 0.1214, 0.4776, 0.8996, 1.377, 1.912, 2.512, 3.187");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5138, 0.5465, 0.6592, 0.8696, 1.192, 1.639, 2.226, 2.961, 3.858, 4.921",\
                 "0.5227, 0.5554, 0.6683, 0.8788, 1.201, 1.649, 2.234, 2.97, 3.868, 4.934",\
                 "0.5729, 0.6056, 0.7184, 0.9288, 1.251, 1.698, 2.284, 3.021, 3.918, 4.983",\
                 "0.6923, 0.7241, 0.8344, 1.042, 1.361, 1.807, 2.391, 3.126, 4.021, 5.09",\
                 "0.8928, 0.9256, 1.035, 1.237, 1.55, 1.989, 2.568, 3.299, 4.192, 5.258",\
                 "1.142, 1.178, 1.301, 1.519, 1.833, 2.263, 2.835, 3.558, 4.444, 5.504",\
                 "1.439, 1.478, 1.612, 1.851, 2.195, 2.639, 3.202, 3.916, 4.792, 5.844",\
                 "1.791, 1.834, 1.978, 2.234, 2.605, 3.089, 3.676, 4.384, 5.249, 6.289",\
                 "2.198, 2.244, 2.402, 2.677, 3.071, 3.587, 4.222, 4.963, 5.826, 6.852",\
                 "2.659, 2.711, 2.883, 3.182, 3.602, 4.145, 4.817, 5.609, 6.516, 7.544");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2347, 0.2654, 0.3683, 0.5657, 0.8744, 1.306, 1.873, 2.588, 3.458, 4.497",\
                 "0.2357, 0.2642, 0.368, 0.5668, 0.8753, 1.306, 1.872, 2.586, 3.458, 4.501",\
                 "0.239, 0.267, 0.3688, 0.5668, 0.8752, 1.306, 1.873, 2.587, 3.461, 4.497",\
                 "0.2818, 0.3091, 0.405, 0.5861, 0.8785, 1.306, 1.874, 2.586, 3.459, 4.496",\
                 "0.3584, 0.384, 0.4752, 0.6568, 0.9406, 1.338, 1.88, 2.587, 3.459, 4.495",\
                 "0.4846, 0.5088, 0.5976, 0.7668, 1.042, 1.438, 1.957, 2.626, 3.47, 4.498",\
                 "0.646, 0.6724, 0.7636, 0.93, 1.194, 1.574, 2.092, 2.746, 3.548, 4.539",\
                 "0.8376, 0.8652, 0.9608, 1.137, 1.4, 1.77, 2.27, 2.918, 3.716, 4.665",\
                 "1.054, 1.083, 1.186, 1.373, 1.649, 2.022, 2.509, 3.137, 3.927, 4.875",\
                 "1.286, 1.322, 1.436, 1.636, 1.93, 2.313, 2.81, 3.422, 4.189, 5.128");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7533, 0.8099, 1.003, 1.365, 1.925, 2.706, 3.732, 5.023, 6.599, 8.467",\
                 "0.7541, 0.8095, 1.001, 1.365, 1.925, 2.707, 3.733, 5.023, 6.598, 8.467",\
                 "0.753, 0.8083, 1.002, 1.364, 1.925, 2.706, 3.733, 5.024, 6.597, 8.465",\
                 "0.7526, 0.8073, 0.9998, 1.365, 1.925, 2.706, 3.732, 5.024, 6.6, 8.473",\
                 "0.8254, 0.8754, 1.043, 1.377, 1.924, 2.706, 3.732, 5.023, 6.597, 8.472",\
                 "0.948, 1.003, 1.183, 1.497, 1.987, 2.717, 3.732, 5.022, 6.595, 8.47",\
                 "1.078, 1.137, 1.332, 1.679, 2.17, 2.838, 3.767, 5.024, 6.594, 8.467",\
                 "1.234, 1.293, 1.498, 1.864, 2.399, 3.081, 3.949, 5.102, 6.604, 8.467",\
                 "1.416, 1.478, 1.694, 2.07, 2.627, 3.364, 4.253, 5.342, 6.733, 8.496",\
                 "1.614, 1.685, 1.914, 2.305, 2.877, 3.649, 4.597, 5.707, 7.033, 8.678");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2237, 0.2386, 0.29, 0.388, 0.5393, 0.752, 1.032, 1.384, 1.813, 2.327",\
                 "0.2381, 0.2532, 0.3052, 0.4031, 0.5549, 0.7676, 1.047, 1.399, 1.829, 2.343",\
                 "0.2718, 0.2874, 0.3406, 0.4397, 0.5922, 0.8054, 1.086, 1.438, 1.868, 2.38",\
                 "0.2956, 0.3141, 0.3749, 0.4822, 0.6381, 0.8516, 1.132, 1.485, 1.914, 2.428",\
                 "0.2919, 0.3147, 0.3876, 0.5108, 0.6843, 0.9109, 1.194, 1.546, 1.976, 2.488",\
                 "0.2492, 0.2777, 0.3682, 0.516, 0.7131, 0.9617, 1.267, 1.631, 2.062, 2.573",\
                 "0.1609, 0.1957, 0.306, 0.484, 0.7154, 0.9945, 1.325, 1.715, 2.168, 2.687",\
                 "0.0273, 0.0687, 0.1983, 0.4076, 0.6784, 0.9974, 1.364, 1.783, 2.264, 2.811",\
                 "-0.1541, -0.1071, 0.0429, 0.2828, 0.5942, 0.9591, 1.37, 1.828, 2.341, 2.918",\
                 "-0.3828, -0.3306, -0.163, 0.1094, 0.4602, 0.8726, 1.333, 1.839, 2.395, 3.006");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.543, 0.5758, 0.689, 0.9002, 1.223, 1.671, 2.257, 2.994, 3.892, 4.955",\
                 "0.5523, 0.5853, 0.6988, 0.9101, 1.233, 1.682, 2.268, 3.004, 3.902, 4.965",\
                 "0.6024, 0.6352, 0.7486, 0.96, 1.283, 1.732, 2.318, 3.055, 3.952, 5.021",\
                 "0.7219, 0.7538, 0.8648, 1.073, 1.394, 1.839, 2.425, 3.159, 4.055, 5.122",\
                 "0.926, 0.9579, 1.067, 1.269, 1.583, 2.023, 2.602, 3.333, 4.227, 5.293",\
                 "1.181, 1.218, 1.339, 1.555, 1.868, 2.299, 2.871, 3.594, 4.48, 5.54",\
                 "1.485, 1.523, 1.657, 1.894, 2.237, 2.679, 3.241, 3.954, 4.832, 5.883",\
                 "1.843, 1.886, 2.028, 2.284, 2.654, 3.136, 3.721, 4.427, 5.291, 6.332",\
                 "2.257, 2.305, 2.46, 2.734, 3.127, 3.642, 4.273, 5.011, 5.874, 6.9",\
                 "2.728, 2.78, 2.949, 3.244, 3.664, 4.207, 4.878, 5.669, 6.57, 7.598");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1975, 0.2221, 0.3098, 0.4779, 0.7388, 1.106, 1.585, 2.193, 2.933, 3.815",\
                 "0.1975, 0.2223, 0.3096, 0.4778, 0.7384, 1.104, 1.585, 2.192, 2.93, 3.815",\
                 "0.2036, 0.2269, 0.3123, 0.4773, 0.7388, 1.105, 1.585, 2.192, 2.936, 3.814",\
                 "0.2571, 0.2783, 0.3569, 0.5055, 0.7471, 1.106, 1.587, 2.193, 2.932, 3.816",\
                 "0.347, 0.3678, 0.4422, 0.5912, 0.8244, 1.152, 1.604, 2.195, 2.933, 3.815",\
                 "0.4824, 0.5042, 0.5792, 0.7196, 0.9456, 1.273, 1.704, 2.253, 2.956, 3.818",\
                 "0.6516, 0.6746, 0.7546, 0.9018, 1.122, 1.435, 1.863, 2.407, 3.068, 3.889",\
                 "0.8492, 0.8742, 0.9606, 1.121, 1.35, 1.659, 2.07, 2.609, 3.269, 4.056",\
                 "1.073, 1.099, 1.193, 1.366, 1.611, 1.934, 2.343, 2.863, 3.515, 4.304",\
                 "1.312, 1.342, 1.448, 1.635, 1.906, 2.246, 2.672, 3.189, 3.822, 4.6");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7914, 0.8473, 1.041, 1.406, 1.967, 2.75, 3.777, 5.069, 6.643, 8.51",\
                 "0.7922, 0.8471, 1.041, 1.406, 1.967, 2.75, 3.777, 5.068, 6.642, 8.508",\
                 "0.7908, 0.8472, 1.042, 1.406, 1.968, 2.749, 3.776, 5.068, 6.642, 8.517",\
                 "0.7893, 0.8457, 1.04, 1.405, 1.966, 2.749, 3.776, 5.068, 6.643, 8.519",\
                 "0.8528, 0.902, 1.075, 1.413, 1.965, 2.749, 3.776, 5.066, 6.641, 8.517",\
                 "0.9776, 1.031, 1.212, 1.525, 2.02, 2.756, 3.774, 5.066, 6.64, 8.516",\
                 "1.105, 1.167, 1.359, 1.707, 2.196, 2.868, 3.807, 5.067, 6.639, 8.513",\
                 "1.255, 1.317, 1.521, 1.892, 2.424, 3.109, 3.978, 5.139, 6.648, 8.512",\
                 "1.431, 1.497, 1.709, 2.091, 2.652, 3.387, 4.275, 5.369, 6.768, 8.539",\
                 "1.63, 1.698, 1.926, 2.32, 2.894, 3.665, 4.618, 5.727, 7.055, 8.71");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2544, 0.2696, 0.321, 0.4182, 0.5679, 0.7767, 1.051, 1.395, 1.816, 2.317",\
                 "0.2685, 0.2838, 0.3356, 0.4328, 0.583, 0.7921, 1.066, 1.411, 1.832, 2.333",\
                 "0.2967, 0.312, 0.3647, 0.4627, 0.6131, 0.8228, 1.097, 1.442, 1.863, 2.364",\
                 "0.3222, 0.3396, 0.3979, 0.5021, 0.6545, 0.8643, 1.139, 1.484, 1.905, 2.406",\
                 "0.328, 0.3487, 0.4163, 0.5347, 0.7036, 0.925, 1.202, 1.547, 1.967, 2.467",\
                 "0.3009, 0.3264, 0.4091, 0.5479, 0.7385, 0.9813, 1.28, 1.636, 2.058, 2.557",\
                 "0.2318, 0.2624, 0.3615, 0.5279, 0.7491, 1.02, 1.344, 1.726, 2.171, 2.678",\
                 "0.1179, 0.1538, 0.2704, 0.4647, 0.7226, 1.031, 1.389, 1.801, 2.273, 2.809",\
                 "-0.043, -0.0019, 0.1319, 0.3541, 0.65, 1.002, 1.403, 1.853, 2.358, 2.925",\
                 "-0.2526, -0.2068, -0.0562, 0.1947, 0.5272, 0.9255, 1.375, 1.871, 2.418, 3.02");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.574, 0.6057, 0.7156, 0.9229, 1.243, 1.689, 2.274, 3.01, 3.907, 4.974",\
                 "0.5833, 0.6149, 0.7252, 0.9327, 1.253, 1.699, 2.285, 3.02, 3.917, 4.984",\
                 "0.634, 0.6657, 0.7756, 0.9833, 1.303, 1.75, 2.335, 3.071, 3.968, 5.035",\
                 "0.7536, 0.7845, 0.8922, 1.097, 1.414, 1.859, 2.442, 3.177, 4.073, 5.139",\
                 "0.9567, 0.9877, 1.093, 1.293, 1.605, 2.043, 2.622, 3.353, 4.246, 5.31",\
                 "1.214, 1.249, 1.367, 1.58, 1.89, 2.32, 2.89, 3.613, 4.5, 5.56",\
                 "1.52, 1.557, 1.686, 1.92, 2.259, 2.699, 3.261, 3.975, 4.851, 5.903",\
                 "1.881, 1.922, 2.06, 2.311, 2.678, 3.157, 3.74, 4.447, 5.313, 6.353",\
                 "2.301, 2.345, 2.495, 2.762, 3.153, 3.665, 4.296, 5.033, 5.895, 6.921",\
                 "2.777, 2.826, 2.989, 3.279, 3.692, 4.232, 4.902, 5.692, 6.592, 7.619");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2731, 0.2984, 0.385, 0.5507, 0.808, 1.166, 1.638, 2.232, 2.956, 3.821",\
                 "0.2732, 0.2984, 0.385, 0.5507, 0.8078, 1.166, 1.638, 2.232, 2.958, 3.821",\
                 "0.2757, 0.3, 0.3859, 0.5511, 0.8064, 1.166, 1.639, 2.232, 2.956, 3.819",\
                 "0.3275, 0.3497, 0.4276, 0.5747, 0.815, 1.167, 1.638, 2.232, 2.956, 3.82",\
                 "0.4192, 0.4406, 0.5154, 0.6636, 0.8934, 1.213, 1.654, 2.233, 2.956, 3.82",\
                 "0.56, 0.5814, 0.6544, 0.7932, 1.018, 1.339, 1.759, 2.296, 2.98, 3.822",\
                 "0.7348, 0.7568, 0.8338, 0.977, 1.195, 1.504, 1.924, 2.455, 3.1, 3.894",\
                 "0.9358, 0.9608, 1.045, 1.198, 1.423, 1.729, 2.136, 2.663, 3.309, 4.076",\
                 "1.161, 1.19, 1.281, 1.446, 1.69, 2.008, 2.412, 2.924, 3.563, 4.333",\
                 "1.407, 1.438, 1.54, 1.722, 1.984, 2.321, 2.741, 3.249, 3.877, 4.637");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.9315, 0.9862, 1.178, 1.539, 2.098, 2.879, 3.904, 5.192, 6.763, 8.639",\
                 "0.9313, 0.986, 1.178, 1.539, 2.098, 2.878, 3.904, 5.193, 6.765, 8.635",\
                 "0.9312, 0.986, 1.177, 1.539, 2.098, 2.878, 3.903, 5.193, 6.764, 8.636",\
                 "0.9317, 0.9863, 1.177, 1.539, 2.098, 2.878, 3.904, 5.194, 6.763, 8.635",\
                 "0.9974, 1.045, 1.214, 1.549, 2.098, 2.878, 3.904, 5.194, 6.766, 8.635",\
                 "1.136, 1.186, 1.355, 1.661, 2.153, 2.887, 3.904, 5.194, 6.765, 8.638",\
                 "1.281, 1.334, 1.52, 1.854, 2.33, 3, 3.937, 5.197, 6.766, 8.638",\
                 "1.447, 1.503, 1.695, 2.052, 2.569, 3.24, 4.109, 5.268, 6.777, 8.638",\
                 "1.641, 1.7, 1.898, 2.26, 2.807, 3.531, 4.41, 5.5, 6.897, 8.668",\
                 "1.864, 1.926, 2.13, 2.503, 3.061, 3.821, 4.758, 5.86, 7.186, 8.84");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2206, 0.2349, 0.2853, 0.3813, 0.5292, 0.7372, 1.011, 1.355, 1.776, 2.277",\
                 "0.2343, 0.2487, 0.2996, 0.3955, 0.5444, 0.7527, 1.026, 1.371, 1.791, 2.292",\
                 "0.2608, 0.276, 0.328, 0.425, 0.5747, 0.7832, 1.057, 1.402, 1.823, 2.324",\
                 "0.2784, 0.2966, 0.3564, 0.4622, 0.6156, 0.8246, 1.099, 1.443, 1.864, 2.365",\
                 "0.2727, 0.295, 0.3671, 0.4891, 0.6607, 0.8843, 1.162, 1.506, 1.926, 2.427",\
                 "0.2293, 0.2577, 0.3473, 0.4945, 0.6903, 0.9364, 1.237, 1.595, 2.017, 2.516",\
                 "0.1436, 0.1774, 0.2864, 0.4632, 0.6936, 0.9705, 1.298, 1.682, 2.128, 2.638",\
                 "0.0134, 0.0536, 0.1807, 0.3881, 0.6573, 0.9752, 1.339, 1.754, 2.228, 2.766",\
                 "-0.1629, -0.1173, 0.0288, 0.266, 0.5747, 0.9381, 1.347, 1.802, 2.31, 2.879",\
                 "-0.3863, -0.3361, -0.1727, 0.0953, 0.4428, 0.8529, 1.312, 1.815, 2.367, 2.973");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5647, 0.5964, 0.7065, 0.9139, 1.233, 1.678, 2.263, 2.998, 3.891, 4.959",\
                 "0.5739, 0.6057, 0.7159, 0.9235, 1.243, 1.69, 2.274, 3.009, 3.902, 4.97",\
                 "0.6247, 0.6564, 0.7665, 0.9741, 1.294, 1.739, 2.325, 3.059, 3.954, 5.02",\
                 "0.7441, 0.775, 0.883, 1.087, 1.405, 1.848, 2.43, 3.164, 4.059, 5.128",\
                 "0.9465, 0.9776, 1.084, 1.284, 1.594, 2.032, 2.609, 3.34, 4.232, 5.294",\
                 "1.202, 1.237, 1.356, 1.569, 1.879, 2.308, 2.877, 3.6, 4.485, 5.546",\
                 "1.506, 1.543, 1.673, 1.907, 2.247, 2.687, 3.248, 3.96, 4.837, 5.888",\
                 "1.865, 1.905, 2.045, 2.296, 2.664, 3.143, 3.726, 4.432, 5.297, 6.337",\
                 "2.28, 2.325, 2.477, 2.746, 3.136, 3.649, 4.28, 5.018, 5.878, 6.903",\
                 "2.753, 2.802, 2.968, 3.259, 3.674, 4.214, 4.884, 5.674, 6.573, 7.602");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2304, 0.2552, 0.3416, 0.5077, 0.763, 1.122, 1.594, 2.188, 2.912, 3.778",\
                 "0.2305, 0.2553, 0.3416, 0.507, 0.7634, 1.122, 1.593, 2.188, 2.914, 3.779",\
                 "0.2373, 0.26, 0.3438, 0.507, 0.7631, 1.123, 1.594, 2.187, 2.912, 3.775",\
                 "0.296, 0.3169, 0.3941, 0.5389, 0.7748, 1.123, 1.593, 2.189, 2.912, 3.778",\
                 "0.397, 0.4166, 0.4882, 0.6308, 0.8586, 1.177, 1.615, 2.191, 2.912, 3.777",\
                 "0.545, 0.5642, 0.6348, 0.7694, 0.9866, 1.305, 1.723, 2.257, 2.94, 3.782",\
                 "0.7256, 0.7456, 0.8188, 0.9566, 1.172, 1.476, 1.89, 2.42, 3.065, 3.857",\
                 "0.9326, 0.9544, 1.032, 1.182, 1.403, 1.705, 2.108, 2.63, 3.275, 4.041",\
                 "1.164, 1.188, 1.272, 1.432, 1.668, 1.985, 2.387, 2.895, 3.531, 4.298",\
                 "1.41, 1.436, 1.532, 1.709, 1.968, 2.301, 2.718, 3.225, 3.846, 4.603");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8082, 0.8635, 1.056, 1.418, 1.978, 2.759, 3.787, 5.073, 6.643, 8.52",\
                 "0.8075, 0.8629, 1.055, 1.419, 1.979, 2.76, 3.786, 5.077, 6.646, 8.519",\
                 "0.8075, 0.8624, 1.055, 1.419, 1.978, 2.76, 3.786, 5.077, 6.652, 8.518",\
                 "0.807, 0.8622, 1.054, 1.417, 1.977, 2.759, 3.786, 5.077, 6.646, 8.523",\
                 "0.8718, 0.92, 1.091, 1.427, 1.977, 2.759, 3.784, 5.074, 6.649, 8.52",\
                 "0.9992, 1.051, 1.228, 1.54, 2.031, 2.766, 3.783, 5.074, 6.648, 8.524",\
                 "1.128, 1.186, 1.381, 1.722, 2.208, 2.879, 3.816, 5.075, 6.646, 8.521",\
                 "1.279, 1.338, 1.54, 1.905, 2.437, 3.116, 3.989, 5.146, 6.655, 8.519",\
                 "1.456, 1.518, 1.728, 2.104, 2.663, 3.399, 4.287, 5.378, 6.774, 8.546",\
                 "1.658, 1.724, 1.947, 2.337, 2.906, 3.679, 4.631, 5.737, 7.065, 8.724");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1908, 0.2026, 0.2432, 0.3201, 0.4392, 0.6059, 0.8249, 1.101, 1.439, 1.84",\
                 "0.2052, 0.2169, 0.2581, 0.3351, 0.4548, 0.6215, 0.8407, 1.117, 1.454, 1.856",\
                 "0.2416, 0.2543, 0.2967, 0.375, 0.495, 0.6622, 0.8819, 1.158, 1.496, 1.897",\
                 "0.2687, 0.2852, 0.3389, 0.4301, 0.5579, 0.7263, 0.9463, 1.223, 1.56, 1.961",\
                 "0.2653, 0.287, 0.3565, 0.47, 0.623, 0.8139, 1.044, 1.321, 1.658, 2.06",\
                 "0.2231, 0.2507, 0.3381, 0.4799, 0.665, 0.8882, 1.149, 1.452, 1.798, 2.199",\
                 "0.1364, 0.17, 0.2768, 0.4494, 0.6726, 0.9354, 1.234, 1.572, 1.953, 2.378",\
                 "0.0062, 0.0449, 0.1704, 0.3736, 0.6371, 0.9442, 1.289, 1.67, 2.09, 2.554",\
                 "-0.1712, -0.1266, 0.0164, 0.2501, 0.5527, 0.9075, 1.303, 1.734, 2.201, 2.709",\
                 "-0.3959, -0.3468, -0.1868, 0.0768, 0.4185, 0.8206, 1.269, 1.754, 2.276, 2.834");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5974, 0.6291, 0.7394, 0.9471, 1.267, 1.713, 2.298, 3.031, 3.927, 4.998",\
                 "0.6072, 0.639, 0.7495, 0.9574, 1.278, 1.724, 2.309, 3.044, 3.936, 5.005",\
                 "0.6577, 0.6896, 0.7999, 1.008, 1.328, 1.774, 2.359, 3.093, 3.987, 5.056",\
                 "0.7775, 0.8083, 0.9166, 1.122, 1.439, 1.882, 2.466, 3.199, 4.097, 5.163",\
                 "0.982, 1.013, 1.119, 1.319, 1.63, 2.068, 2.645, 3.376, 4.268, 5.334",\
                 "1.244, 1.279, 1.396, 1.608, 1.917, 2.347, 2.916, 3.638, 4.523, 5.582",\
                 "1.554, 1.592, 1.72, 1.954, 2.291, 2.728, 3.29, 4.001, 4.877, 5.928",\
                 "1.919, 1.959, 2.098, 2.349, 2.715, 3.193, 3.772, 4.478, 5.343, 6.382",\
                 "2.343, 2.388, 2.538, 2.805, 3.194, 3.706, 4.333, 5.069, 5.928, 6.954",\
                 "2.825, 2.872, 3.037, 3.326, 3.738, 4.278, 4.947, 5.734, 6.632, 7.657");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.1822, 0.2022, 0.2719, 0.405, 0.6105, 0.8987, 1.28, 1.756, 2.34, 3.035",\
                 "0.1824, 0.2024, 0.2723, 0.4048, 0.6112, 0.9003, 1.279, 1.757, 2.339, 3.035",\
                 "0.1954, 0.2125, 0.276, 0.4055, 0.6115, 0.9001, 1.28, 1.757, 2.34, 3.031",\
                 "0.2755, 0.2917, 0.3486, 0.4573, 0.6343, 0.9046, 1.279, 1.757, 2.34, 3.033",\
                 "0.396, 0.4122, 0.4688, 0.5794, 0.751, 0.9908, 1.321, 1.767, 2.339, 3.03",\
                 "0.5548, 0.5716, 0.6318, 0.743, 0.9156, 1.159, 1.478, 1.879, 2.398, 3.051",\
                 "0.7442, 0.7628, 0.8258, 0.9478, 1.129, 1.373, 1.695, 2.097, 2.586, 3.179",\
                 "0.96, 0.979, 1.05, 1.182, 1.378, 1.635, 1.96, 2.366, 2.859, 3.446",\
                 "1.199, 1.219, 1.295, 1.442, 1.657, 1.937, 2.278, 2.688, 3.188, 3.775",\
                 "1.454, 1.477, 1.563, 1.724, 1.963, 2.265, 2.633, 3.063, 3.567, 4.163");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8489, 0.9043, 1.098, 1.462, 2.023, 2.805, 3.831, 5.119, 6.693, 8.573",\
                 "0.8486, 0.904, 1.097, 1.462, 2.022, 2.805, 3.832, 5.122, 6.691, 8.567",\
                 "0.8485, 0.9049, 1.097, 1.461, 2.022, 2.804, 3.832, 5.122, 6.69, 8.563",\
                 "0.8477, 0.9037, 1.097, 1.461, 2.021, 2.803, 3.83, 5.122, 6.696, 8.568",\
                 "0.9022, 0.9516, 1.127, 1.468, 2.021, 2.803, 3.829, 5.12, 6.696, 8.57",\
                 "1.03, 1.084, 1.259, 1.57, 2.067, 2.809, 3.828, 5.119, 6.693, 8.566",\
                 "1.159, 1.215, 1.41, 1.752, 2.239, 2.913, 3.856, 5.12, 6.69, 8.565",\
                 "1.304, 1.367, 1.568, 1.937, 2.466, 3.143, 4.021, 5.185, 6.699, 8.564",\
                 "1.482, 1.541, 1.753, 2.13, 2.694, 3.425, 4.311, 5.406, 6.81, 8.587",\
                 "1.677, 1.743, 1.964, 2.353, 2.931, 3.707, 4.65, 5.758, 7.09, 8.752");
        }
      }

      timing() {
        related_pin : "C1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3366, 0.3547, 0.4174, 0.5349, 0.7152, 0.9665, 1.296, 1.71, 2.215, 2.817",\
                 "0.351, 0.3692, 0.4321, 0.5499, 0.7306, 0.9821, 1.311, 1.726, 2.231, 2.833",\
                 "0.3783, 0.3967, 0.46, 0.5783, 0.7596, 1.012, 1.341, 1.756, 2.261, 2.863",\
                 "0.4037, 0.4231, 0.4891, 0.6092, 0.7905, 1.043, 1.373, 1.787, 2.293, 2.894",\
                 "0.4109, 0.4324, 0.5046, 0.6347, 0.8266, 1.083, 1.413, 1.826, 2.331, 2.933",\
                 "0.3937, 0.4182, 0.5002, 0.6438, 0.8502, 1.123, 1.466, 1.883, 2.387, 2.987",\
                 "0.3374, 0.3663, 0.4627, 0.6272, 0.8551, 1.148, 1.51, 1.947, 2.463, 3.063",\
                 "0.2372, 0.2712, 0.3826, 0.5726, 0.8308, 1.152, 1.538, 1.996, 2.534, 3.155",\
                 "0.0898, 0.1283, 0.256, 0.4724, 0.7652, 1.122, 1.542, 2.028, 2.589, 3.234",\
                 "-0.1074, -0.0637, 0.0807, 0.324, 0.6515, 1.05, 1.51, 2.034, 2.627, 3.297");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5974, 0.6291, 0.7394, 0.9471, 1.267, 1.713, 2.298, 3.031, 3.927, 4.998",\
                 "0.6072, 0.639, 0.7495, 0.9574, 1.278, 1.724, 2.309, 3.044, 3.936, 5.005",\
                 "0.6577, 0.6896, 0.7999, 1.008, 1.328, 1.774, 2.359, 3.093, 3.987, 5.056",\
                 "0.7775, 0.8083, 0.9166, 1.122, 1.439, 1.882, 2.466, 3.199, 4.097, 5.163",\
                 "0.982, 1.013, 1.119, 1.319, 1.63, 2.068, 2.645, 3.376, 4.268, 5.334",\
                 "1.244, 1.279, 1.396, 1.608, 1.917, 2.347, 2.916, 3.638, 4.523, 5.582",\
                 "1.554, 1.592, 1.72, 1.954, 2.291, 2.728, 3.29, 4.001, 4.877, 5.928",\
                 "1.919, 1.959, 2.098, 2.349, 2.715, 3.193, 3.772, 4.478, 5.343, 6.382",\
                 "2.343, 2.388, 2.538, 2.805, 3.194, 3.706, 4.333, 5.069, 5.928, 6.954",\
                 "2.825, 2.872, 3.037, 3.326, 3.738, 4.278, 4.947, 5.734, 6.632, 7.657");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3355, 0.3663, 0.4721, 0.6723, 0.9811, 1.413, 1.98, 2.693, 3.564, 4.6",\
                 "0.3358, 0.3665, 0.4715, 0.6724, 0.9806, 1.413, 1.98, 2.693, 3.563, 4.599",\
                 "0.3358, 0.3665, 0.4723, 0.6719, 0.9819, 1.413, 1.98, 2.692, 3.564, 4.599",\
                 "0.3664, 0.3949, 0.4923, 0.6808, 0.9828, 1.413, 1.98, 2.693, 3.563, 4.601",\
                 "0.4292, 0.4568, 0.5568, 0.7456, 1.031, 1.435, 1.985, 2.693, 3.564, 4.601",\
                 "0.5372, 0.565, 0.6592, 0.8424, 1.129, 1.529, 2.05, 2.723, 3.57, 4.6",\
                 "0.6874, 0.7162, 0.8132, 0.9926, 1.267, 1.66, 2.182, 2.837, 3.645, 4.635",\
                 "0.871, 0.901, 1.004, 1.188, 1.464, 1.842, 2.353, 3.007, 3.807, 4.758",\
                 "1.079, 1.111, 1.224, 1.419, 1.704, 2.085, 2.58, 3.219, 4.015, 4.967",\
                 "1.311, 1.346, 1.468, 1.681, 1.981, 2.373, 2.871, 3.494, 4.271, 5.217");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("1.018, 1.072, 1.26, 1.618, 2.174, 2.954, 3.977, 5.266, 6.839, 8.713",\
                 "1.018, 1.072, 1.26, 1.617, 2.175, 2.953, 3.979, 5.266, 6.842, 8.712",\
                 "1.018, 1.072, 1.26, 1.618, 2.175, 2.954, 3.98, 5.267, 6.837, 8.713",\
                 "1.018, 1.071, 1.259, 1.618, 2.174, 2.954, 3.979, 5.269, 6.84, 8.711",\
                 "1.093, 1.139, 1.303, 1.631, 2.175, 2.954, 3.979, 5.268, 6.839, 8.711",\
                 "1.244, 1.291, 1.452, 1.752, 2.237, 2.965, 3.979, 5.269, 6.84, 8.713",\
                 "1.406, 1.456, 1.633, 1.954, 2.423, 3.086, 4.018, 5.271, 6.84, 8.713",\
                 "1.593, 1.644, 1.824, 2.164, 2.673, 3.335, 4.198, 5.351, 6.853, 8.713",\
                 "1.81, 1.863, 2.049, 2.394, 2.923, 3.635, 4.505, 5.589, 6.981, 8.746",\
                 "2.055, 2.111, 2.301, 2.656, 3.196, 3.939, 4.869, 5.96, 7.28, 8.926");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3779, 0.3957, 0.4588, 0.5767, 0.7578, 1.01, 1.34, 1.754, 2.259, 2.861",\
                 "0.389, 0.4076, 0.4702, 0.5883, 0.7693, 1.021, 1.351, 1.766, 2.271, 2.873",\
                 "0.4159, 0.434, 0.497, 0.6152, 0.7965, 1.049, 1.379, 1.793, 2.299, 2.901",\
                 "0.4439, 0.463, 0.5279, 0.6467, 0.8278, 1.08, 1.41, 1.824, 2.33, 2.932",\
                 "0.4575, 0.4782, 0.5485, 0.6765, 0.8663, 1.121, 1.45, 1.864, 2.368, 2.97",\
                 "0.4522, 0.4758, 0.5541, 0.6933, 0.896, 1.166, 1.507, 1.922, 2.425, 3.025",\
                 "0.4163, 0.4436, 0.5334, 0.6904, 0.9123, 1.199, 1.557, 1.991, 2.503, 3.102",\
                 "0.3439, 0.3749, 0.4792, 0.6582, 0.9059, 1.218, 1.596, 2.049, 2.582, 3.199",\
                 "0.2347, 0.2698, 0.3864, 0.5886, 0.8658, 1.209, 1.619, 2.095, 2.65, 3.288",\
                 "0.087, 0.1257, 0.2558, 0.4796, 0.7877, 1.168, 1.612, 2.122, 2.704, 3.365");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5688, 0.6009, 0.7134, 0.9238, 1.247, 1.697, 2.285, 3.024, 3.923, 4.993",\
                 "0.5804, 0.613, 0.725, 0.9359, 1.259, 1.709, 2.297, 3.036, 3.935, 5.004",\
                 "0.6182, 0.6506, 0.7628, 0.974, 1.297, 1.747, 2.336, 3.075, 3.974, 5.044",\
                 "0.6936, 0.7255, 0.837, 1.046, 1.368, 1.817, 2.404, 3.143, 4.042, 5.111",\
                 "0.8302, 0.8628, 0.9736, 1.178, 1.494, 1.937, 2.521, 3.255, 4.152, 5.219",\
                 "1.015, 1.049, 1.163, 1.376, 1.693, 2.128, 2.703, 3.43, 4.321, 5.383",\
                 "1.252, 1.287, 1.405, 1.624, 1.951, 2.396, 2.964, 3.68, 4.561, 5.615",\
                 "1.534, 1.572, 1.701, 1.929, 2.264, 2.72, 3.304, 4.017, 4.885, 5.927",\
                 "1.86, 1.901, 2.04, 2.286, 2.638, 3.104, 3.7, 4.433, 5.301, 6.33",\
                 "2.228, 2.273, 2.424, 2.691, 3.066, 3.551, 4.159, 4.905, 5.795, 6.831");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3825, 0.4127, 0.5195, 0.7216, 1.032, 1.464, 2.031, 2.745, 3.616, 4.651",\
                 "0.382, 0.4134, 0.5203, 0.7215, 1.031, 1.465, 2.031, 2.745, 3.616, 4.652",\
                 "0.3823, 0.4132, 0.5194, 0.7217, 1.031, 1.465, 2.031, 2.745, 3.617, 4.653",\
                 "0.4075, 0.436, 0.5361, 0.7281, 1.032, 1.463, 2.031, 2.744, 3.616, 4.654",\
                 "0.4704, 0.4988, 0.6, 0.7896, 1.076, 1.483, 2.034, 2.745, 3.615, 4.654",\
                 "0.5754, 0.6024, 0.7004, 0.8856, 1.172, 1.573, 2.097, 2.773, 3.62, 4.652",\
                 "0.7292, 0.7566, 0.8554, 1.033, 1.31, 1.705, 2.228, 2.883, 3.693, 4.685",\
                 "0.9208, 0.954, 1.054, 1.235, 1.508, 1.886, 2.396, 3.051, 3.851, 4.805",\
                 "1.148, 1.179, 1.288, 1.478, 1.756, 2.13, 2.626, 3.263, 4.058, 5.01",\
                 "1.404, 1.438, 1.556, 1.76, 2.047, 2.432, 2.921, 3.538, 4.315, 5.257");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("1.019, 1.071, 1.26, 1.618, 2.174, 2.953, 3.978, 5.268, 6.837, 8.707",\
                 "1.018, 1.072, 1.26, 1.618, 2.174, 2.954, 3.977, 5.266, 6.839, 8.713",\
                 "1.018, 1.072, 1.26, 1.618, 2.174, 2.955, 3.979, 5.266, 6.84, 8.71",\
                 "1.023, 1.075, 1.26, 1.618, 2.174, 2.954, 3.979, 5.268, 6.841, 8.709",\
                 "1.09, 1.137, 1.306, 1.639, 2.178, 2.954, 3.979, 5.269, 6.841, 8.713",\
                 "1.207, 1.253, 1.419, 1.734, 2.239, 2.976, 3.981, 5.269, 6.84, 8.713",\
                 "1.355, 1.402, 1.563, 1.88, 2.376, 3.076, 4.032, 5.278, 6.84, 8.713",\
                 "1.545, 1.591, 1.75, 2.058, 2.551, 3.252, 4.17, 5.364, 6.869, 8.717",\
                 "1.771, 1.816, 1.978, 2.281, 2.763, 3.46, 4.383, 5.541, 6.99, 8.771",\
                 "2.015, 2.064, 2.238, 2.555, 3.032, 3.708, 4.629, 5.793, 7.207, 8.93");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3324, 0.3505, 0.4131, 0.5304, 0.7107, 0.962, 1.292, 1.706, 2.211, 2.813",\
                 "0.3438, 0.3621, 0.4244, 0.5419, 0.7223, 0.9737, 1.303, 1.718, 2.223, 2.825",\
                 "0.3702, 0.3884, 0.4512, 0.5688, 0.7494, 1.001, 1.331, 1.745, 2.251, 2.853",\
                 "0.3951, 0.4145, 0.4802, 0.5999, 0.7805, 1.032, 1.362, 1.776, 2.281, 2.884",\
                 "0.4033, 0.4245, 0.4964, 0.6259, 0.8172, 1.073, 1.402, 1.816, 2.32, 2.922",\
                 "0.3883, 0.4134, 0.4952, 0.6384, 0.8435, 1.115, 1.458, 1.874, 2.377, 2.977",\
                 "0.3404, 0.3693, 0.4651, 0.6285, 0.8553, 1.146, 1.505, 1.941, 2.455, 3.054",\
                 "0.2556, 0.2894, 0.4, 0.5875, 0.8423, 1.16, 1.542, 1.997, 2.532, 3.15",\
                 "0.1349, 0.1726, 0.2968, 0.5086, 0.7952, 1.146, 1.56, 2.041, 2.597, 3.237",\
                 "-0.0241, 0.0178, 0.1558, 0.3902, 0.7085, 1.098, 1.548, 2.064, 2.649, 3.312");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5584, 0.5909, 0.7032, 0.9138, 1.236, 1.685, 2.271, 3.008, 3.906, 4.974",\
                 "0.5702, 0.6027, 0.7151, 0.9257, 1.248, 1.697, 2.283, 3.02, 3.918, 4.986",\
                 "0.6075, 0.6402, 0.7528, 0.9639, 1.287, 1.735, 2.322, 3.059, 3.957, 5.025",\
                 "0.6834, 0.7155, 0.8269, 1.036, 1.357, 1.805, 2.391, 3.127, 4.024, 5.092",\
                 "0.8187, 0.8513, 0.9628, 1.168, 1.483, 1.925, 2.507, 3.24, 4.134, 5.2",\
                 "1.002, 1.036, 1.151, 1.364, 1.682, 2.116, 2.689, 3.415, 4.303, 5.364",\
                 "1.238, 1.273, 1.392, 1.611, 1.939, 2.383, 2.95, 3.665, 4.544, 5.596",\
                 "1.517, 1.556, 1.685, 1.914, 2.251, 2.706, 3.289, 4.001, 4.868, 5.909",\
                 "1.839, 1.881, 2.022, 2.27, 2.623, 3.089, 3.684, 4.416, 5.284, 6.311",\
                 "2.203, 2.249, 2.403, 2.671, 3.049, 3.534, 4.141, 4.887, 5.777, 6.812");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3339, 0.3644, 0.4708, 0.6707, 0.9797, 1.412, 1.98, 2.693, 3.565, 4.6",\
                 "0.3333, 0.3643, 0.4707, 0.6705, 0.9802, 1.413, 1.979, 2.694, 3.565, 4.601",\
                 "0.334, 0.365, 0.4708, 0.6708, 0.9799, 1.413, 1.979, 2.693, 3.565, 4.601",\
                 "0.3665, 0.3943, 0.4927, 0.6812, 0.9821, 1.413, 1.979, 2.693, 3.565, 4.604",\
                 "0.4318, 0.4604, 0.5584, 0.7456, 1.032, 1.436, 1.984, 2.693, 3.564, 4.603",\
                 "0.5464, 0.573, 0.6678, 0.846, 1.13, 1.529, 2.051, 2.725, 3.57, 4.601",\
                 "0.706, 0.734, 0.8274, 1.003, 1.273, 1.662, 2.183, 2.839, 3.647, 4.636",\
                 "0.904, 0.9328, 1.032, 1.209, 1.478, 1.85, 2.356, 3.009, 3.808, 4.76",\
                 "1.133, 1.165, 1.269, 1.459, 1.729, 2.1, 2.591, 3.223, 4.016, 4.966",\
                 "1.393, 1.429, 1.54, 1.739, 2.023, 2.405, 2.89, 3.503, 4.273, 5.217");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8879, 0.9421, 1.133, 1.493, 2.052, 2.832, 3.855, 5.147, 6.717, 8.587",\
                 "0.8878, 0.9419, 1.133, 1.494, 2.051, 2.832, 3.856, 5.145, 6.718, 8.591",\
                 "0.8877, 0.9423, 1.132, 1.493, 2.052, 2.832, 3.857, 5.147, 6.719, 8.591",\
                 "0.8928, 0.9453, 1.133, 1.493, 2.052, 2.832, 3.857, 5.146, 6.719, 8.591",\
                 "0.9594, 1.008, 1.18, 1.515, 2.055, 2.833, 3.857, 5.146, 6.718, 8.593",\
                 "1.067, 1.116, 1.287, 1.61, 2.117, 2.854, 3.858, 5.146, 6.72, 8.591",\
                 "1.208, 1.256, 1.424, 1.748, 2.252, 2.955, 3.909, 5.156, 6.72, 8.593",\
                 "1.385, 1.433, 1.601, 1.918, 2.419, 3.127, 4.049, 5.242, 6.748, 8.596",\
                 "1.589, 1.642, 1.816, 2.134, 2.626, 3.329, 4.259, 5.421, 6.867, 8.651",\
                 "1.818, 1.871, 2.059, 2.394, 2.883, 3.573, 4.499, 5.668, 7.086, 8.809");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2928, 0.3079, 0.3616, 0.4617, 0.6155, 0.8296, 1.11, 1.463, 1.894, 2.406",\
                 "0.3051, 0.3204, 0.374, 0.4742, 0.6281, 0.8423, 1.123, 1.476, 1.906, 2.419",\
                 "0.3405, 0.3559, 0.4096, 0.5101, 0.6641, 0.8784, 1.159, 1.512, 1.942, 2.455",\
                 "0.3771, 0.3942, 0.4519, 0.5559, 0.7104, 0.9246, 1.205, 1.558, 1.989, 2.501",\
                 "0.3942, 0.4139, 0.4795, 0.5956, 0.7639, 0.9866, 1.268, 1.62, 2.05, 2.562",\
                 "0.3829, 0.4069, 0.4848, 0.6185, 0.8049, 1.047, 1.347, 1.708, 2.137, 2.648",\
                 "0.3352, 0.3638, 0.4569, 0.6141, 0.8278, 1.093, 1.415, 1.799, 2.248, 2.764",\
                 "0.2493, 0.2828, 0.3914, 0.5739, 0.8195, 1.119, 1.47, 1.879, 2.353, 2.895",\
                 "0.1271, 0.1643, 0.286, 0.4939, 0.7733, 1.112, 1.501, 1.943, 2.445, 3.014",\
                 "-0.0343, 0.0067, 0.1426, 0.3734, 0.6863, 1.065, 1.497, 1.981, 2.519, 3.119");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.588, 0.6208, 0.7337, 0.9446, 1.268, 1.717, 2.304, 3.041, 3.939, 5.008",\
                 "0.6004, 0.6331, 0.7461, 0.9573, 1.281, 1.73, 2.317, 3.054, 3.952, 5.02",\
                 "0.6372, 0.6699, 0.7833, 0.9952, 1.319, 1.768, 2.356, 3.093, 3.991, 5.059",\
                 "0.7133, 0.7456, 0.8572, 1.067, 1.389, 1.838, 2.424, 3.161, 4.058, 5.126",\
                 "0.8517, 0.8838, 0.9952, 1.2, 1.516, 1.959, 2.541, 3.274, 4.169, 5.235",\
                 "1.04, 1.074, 1.189, 1.401, 1.718, 2.152, 2.725, 3.451, 4.34, 5.401",\
                 "1.281, 1.316, 1.435, 1.653, 1.98, 2.423, 2.99, 3.704, 4.583, 5.635",\
                 "1.568, 1.606, 1.734, 1.962, 2.298, 2.753, 3.334, 4.045, 4.911, 5.952",\
                 "1.899, 1.94, 2.079, 2.325, 2.676, 3.142, 3.736, 4.467, 5.334, 6.361",\
                 "2.272, 2.318, 2.469, 2.736, 3.111, 3.595, 4.201, 4.947, 5.835, 6.868");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2782, 0.3045, 0.3943, 0.565, 0.827, 1.195, 1.677, 2.282, 3.022, 3.903",\
                 "0.2786, 0.3043, 0.3949, 0.5649, 0.8271, 1.195, 1.677, 2.281, 3.022, 3.902",\
                 "0.2793, 0.3055, 0.3951, 0.5648, 0.8279, 1.195, 1.677, 2.282, 3.021, 3.903",\
                 "0.3207, 0.3438, 0.4257, 0.581, 0.8322, 1.196, 1.676, 2.283, 3.022, 3.902",\
                 "0.4014, 0.424, 0.506, 0.66, 0.8984, 1.231, 1.688, 2.283, 3.022, 3.902",\
                 "0.5294, 0.5524, 0.6324, 0.7806, 1.015, 1.346, 1.779, 2.334, 3.038, 3.904",\
                 "0.6996, 0.7236, 0.8068, 0.9566, 1.182, 1.502, 1.935, 2.481, 3.146, 3.965",\
                 "0.9044, 0.9308, 1.019, 1.177, 1.407, 1.721, 2.138, 2.677, 3.343, 4.132",\
                 "1.141, 1.169, 1.266, 1.436, 1.676, 1.997, 2.407, 2.926, 3.584, 4.375",\
                 "1.407, 1.438, 1.543, 1.726, 1.986, 2.318, 2.736, 3.247, 3.886, 4.666");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.928, 0.9824, 1.174, 1.535, 2.094, 2.876, 3.901, 5.188, 6.764, 8.632",\
                 "0.928, 0.9823, 1.174, 1.535, 2.094, 2.876, 3.9, 5.189, 6.762, 8.636",\
                 "0.9277, 0.9825, 1.174, 1.535, 2.093, 2.875, 3.901, 5.19, 6.764, 8.634",\
                 "0.9301, 0.9839, 1.173, 1.534, 2.094, 2.876, 3.901, 5.189, 6.763, 8.636",\
                 "0.9912, 1.04, 1.214, 1.553, 2.096, 2.875, 3.901, 5.191, 6.762, 8.637",\
                 "1.095, 1.145, 1.318, 1.643, 2.153, 2.893, 3.902, 5.191, 6.762, 8.635",\
                 "1.229, 1.276, 1.448, 1.776, 2.284, 2.99, 3.949, 5.199, 6.764, 8.636",\
                 "1.398, 1.446, 1.616, 1.939, 2.446, 3.157, 4.084, 5.281, 6.79, 8.638",\
                 "1.597, 1.648, 1.823, 2.145, 2.645, 3.355, 4.288, 5.453, 6.906, 8.691",\
                 "1.819, 1.873, 2.062, 2.395, 2.889, 3.588, 4.523, 5.697, 7.118, 8.842");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.331, 0.349, 0.4115, 0.5287, 0.7089, 0.9602, 1.29, 1.704, 2.209, 2.811",\
                 "0.3424, 0.3606, 0.4229, 0.5401, 0.7205, 0.9718, 1.301, 1.716, 2.221, 2.823",\
                 "0.3687, 0.3869, 0.4497, 0.5671, 0.7476, 0.9991, 1.329, 1.743, 2.249, 2.851",\
                 "0.3935, 0.4128, 0.4785, 0.5982, 0.7787, 1.03, 1.36, 1.774, 2.279, 2.882",\
                 "0.4014, 0.4227, 0.4945, 0.624, 0.8153, 1.071, 1.4, 1.814, 2.318, 2.92",\
                 "0.386, 0.4112, 0.493, 0.6363, 0.8414, 1.113, 1.455, 1.872, 2.375, 2.975",\
                 "0.3373, 0.3665, 0.4625, 0.626, 0.8531, 1.144, 1.503, 1.939, 2.453, 3.052",\
                 "0.2522, 0.286, 0.3969, 0.5847, 0.8398, 1.158, 1.54, 1.995, 2.529, 3.148",\
                 "0.131, 0.1688, 0.2932, 0.5054, 0.7924, 1.144, 1.558, 2.038, 2.595, 3.235",\
                 "-0.0283, 0.0139, 0.1519, 0.3866, 0.7058, 1.095, 1.546, 2.062, 2.647, 3.31");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5584, 0.5909, 0.7032, 0.9137, 1.236, 1.685, 2.271, 3.008, 3.905, 4.974",\
                 "0.5702, 0.6028, 0.7152, 0.9257, 1.248, 1.697, 2.283, 3.02, 3.917, 4.985",\
                 "0.6074, 0.64, 0.753, 0.9639, 1.287, 1.735, 2.322, 3.059, 3.957, 5.024",\
                 "0.6835, 0.7155, 0.8269, 1.036, 1.357, 1.804, 2.391, 3.127, 4.024, 5.092",\
                 "0.8185, 0.8512, 0.9631, 1.168, 1.483, 1.925, 2.507, 3.24, 4.134, 5.2",\
                 "1.002, 1.036, 1.151, 1.364, 1.682, 2.116, 2.689, 3.414, 4.303, 5.364",\
                 "1.238, 1.273, 1.392, 1.611, 1.939, 2.383, 2.95, 3.664, 4.544, 5.596",\
                 "1.517, 1.556, 1.685, 1.914, 2.251, 2.706, 3.289, 4.001, 4.867, 5.908",\
                 "1.839, 1.881, 2.022, 2.27, 2.623, 3.089, 3.683, 4.415, 5.284, 6.311",\
                 "2.203, 2.249, 2.403, 2.671, 3.049, 3.534, 4.141, 4.886, 5.777, 6.812");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3319, 0.3624, 0.4687, 0.6686, 0.9774, 1.41, 1.978, 2.691, 3.562, 4.598",\
                 "0.3313, 0.3622, 0.4686, 0.6678, 0.9777, 1.41, 1.977, 2.691, 3.563, 4.599",\
                 "0.3324, 0.3631, 0.4688, 0.6685, 0.9778, 1.41, 1.977, 2.691, 3.563, 4.599",\
                 "0.3649, 0.3931, 0.491, 0.679, 0.9801, 1.41, 1.976, 2.691, 3.563, 4.599",\
                 "0.4304, 0.4588, 0.5568, 0.744, 1.03, 1.434, 1.982, 2.691, 3.561, 4.601",\
                 "0.5452, 0.572, 0.6664, 0.8452, 1.128, 1.527, 2.049, 2.723, 3.568, 4.6",\
                 "0.7066, 0.7334, 0.8268, 1.001, 1.271, 1.661, 2.182, 2.837, 3.645, 4.634",\
                 "0.903, 0.932, 1.031, 1.209, 1.477, 1.849, 2.355, 3.008, 3.806, 4.758",\
                 "1.133, 1.165, 1.269, 1.455, 1.727, 2.101, 2.589, 3.222, 4.014, 4.965",\
                 "1.393, 1.427, 1.54, 1.737, 2.027, 2.402, 2.888, 3.504, 4.272, 5.215");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8826, 0.9371, 1.127, 1.488, 2.046, 2.826, 3.851, 5.14, 6.71, 8.58",\
                 "0.8822, 0.9367, 1.127, 1.488, 2.046, 2.826, 3.851, 5.139, 6.712, 8.586",\
                 "0.8823, 0.9367, 1.127, 1.488, 2.046, 2.826, 3.852, 5.14, 6.713, 8.584",\
                 "0.8874, 0.9399, 1.128, 1.488, 2.046, 2.827, 3.852, 5.141, 6.713, 8.581",\
                 "0.9542, 1.003, 1.174, 1.51, 2.049, 2.827, 3.852, 5.141, 6.712, 8.587",\
                 "1.061, 1.111, 1.282, 1.605, 2.112, 2.848, 3.854, 5.141, 6.713, 8.586",\
                 "1.201, 1.25, 1.418, 1.742, 2.246, 2.949, 3.904, 5.15, 6.714, 8.587",\
                 "1.381, 1.426, 1.597, 1.912, 2.414, 3.121, 4.043, 5.238, 6.742, 8.588",\
                 "1.582, 1.635, 1.81, 2.128, 2.62, 3.322, 4.254, 5.415, 6.863, 8.643",\
                 "1.807, 1.865, 2.052, 2.387, 2.876, 3.566, 4.492, 5.663, 7.082, 8.802");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2872, 0.3051, 0.3666, 0.4826, 0.6619, 0.9124, 1.241, 1.655, 2.161, 2.762",\
                 "0.2985, 0.3164, 0.3781, 0.4942, 0.6734, 0.9238, 1.253, 1.667, 2.172, 2.774",\
                 "0.3245, 0.3424, 0.4044, 0.5209, 0.7005, 0.9513, 1.28, 1.695, 2.2, 2.801",\
                 "0.3446, 0.3642, 0.4307, 0.5513, 0.7315, 0.9823, 1.311, 1.725, 2.23, 2.833",\
                 "0.3451, 0.3675, 0.4415, 0.573, 0.7657, 1.023, 1.352, 1.765, 2.269, 2.871",\
                 "0.3179, 0.3446, 0.4317, 0.5799, 0.7885, 1.062, 1.406, 1.823, 2.326, 2.925",\
                 "0.2552, 0.2868, 0.3902, 0.5619, 0.795, 1.089, 1.451, 1.888, 2.403, 3.003",\
                 "0.1571, 0.1937, 0.3126, 0.5104, 0.7749, 1.099, 1.485, 1.942, 2.478, 3.098",\
                 "0.0232, 0.0643, 0.1981, 0.4213, 0.7193, 1.079, 1.499, 1.983, 2.541, 3.183",\
                 "-0.1476, -0.1019, 0.0461, 0.2938, 0.625, 1.024, 1.483, 2.003, 2.591, 3.256");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5485, 0.5811, 0.6939, 0.9044, 1.227, 1.674, 2.26, 2.996, 3.892, 4.962",\
                 "0.5602, 0.5928, 0.7057, 0.9163, 1.239, 1.686, 2.272, 3.008, 3.906, 4.969",\
                 "0.5975, 0.6303, 0.7432, 0.9542, 1.277, 1.725, 2.311, 3.046, 3.942, 5.01",\
                 "0.6735, 0.7056, 0.8171, 1.026, 1.347, 1.794, 2.379, 3.114, 4.011, 5.076",\
                 "0.8077, 0.8408, 0.9528, 1.158, 1.473, 1.914, 2.495, 3.225, 4.119, 5.187",\
                 "0.9904, 1.024, 1.14, 1.353, 1.671, 2.104, 2.676, 3.4, 4.287, 5.349",\
                 "1.224, 1.26, 1.38, 1.6, 1.927, 2.371, 2.937, 3.65, 4.527, 5.58",\
                 "1.501, 1.54, 1.67, 1.901, 2.238, 2.693, 3.275, 3.986, 4.851, 5.891",\
                 "1.819, 1.863, 2.005, 2.254, 2.608, 3.074, 3.668, 4.399, 5.266, 6.292",\
                 "2.18, 2.227, 2.383, 2.653, 3.032, 3.519, 4.125, 4.87, 5.759, 6.792");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2831, 0.3133, 0.4182, 0.6169, 0.9248, 1.357, 1.924, 2.637, 3.509, 4.544",\
                 "0.2831, 0.3133, 0.4182, 0.6173, 0.9254, 1.358, 1.923, 2.638, 3.509, 4.546",\
                 "0.2845, 0.3139, 0.4179, 0.6165, 0.9248, 1.357, 1.924, 2.638, 3.509, 4.544",\
                 "0.3234, 0.3517, 0.4478, 0.6319, 0.9298, 1.357, 1.923, 2.637, 3.509, 4.546",\
                 "0.3958, 0.4224, 0.5176, 0.7006, 0.9852, 1.386, 1.931, 2.637, 3.508, 4.546",\
                 "0.5202, 0.545, 0.6346, 0.8086, 1.086, 1.482, 2.003, 2.672, 3.517, 4.547",\
                 "0.6884, 0.7132, 0.8042, 0.9718, 1.237, 1.62, 2.136, 2.791, 3.597, 4.584",\
                 "0.8926, 0.9198, 1.013, 1.185, 1.446, 1.815, 2.314, 2.963, 3.761, 4.711",\
                 "1.128, 1.156, 1.257, 1.439, 1.704, 2.068, 2.551, 3.179, 3.971, 4.919",\
                 "1.392, 1.423, 1.53, 1.723, 2.003, 2.375, 2.858, 3.468, 4.232, 5.171");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7535, 0.809, 1.002, 1.365, 1.925, 2.707, 3.732, 5.024, 6.594, 8.474",\
                 "0.7532, 0.809, 1.003, 1.366, 1.926, 2.707, 3.733, 5.025, 6.6, 8.462",\
                 "0.7524, 0.8088, 1.001, 1.365, 1.925, 2.707, 3.733, 5.024, 6.6, 8.467",\
                 "0.7569, 0.8104, 1.001, 1.364, 1.924, 2.706, 3.733, 5.023, 6.597, 8.472",\
                 "0.8232, 0.8728, 1.047, 1.385, 1.926, 2.705, 3.731, 5.023, 6.596, 8.473",\
                 "0.92, 0.9716, 1.148, 1.48, 1.989, 2.726, 3.732, 5.02, 6.594, 8.471",\
                 "1.048, 1.101, 1.276, 1.61, 2.122, 2.828, 3.783, 5.029, 6.593, 8.467",\
                 "1.21, 1.265, 1.446, 1.772, 2.283, 2.997, 3.922, 5.116, 6.62, 8.469",\
                 "1.395, 1.452, 1.644, 1.978, 2.481, 3.192, 4.129, 5.294, 6.743, 8.524",\
                 "1.6, 1.665, 1.867, 2.225, 2.73, 3.43, 4.363, 5.54, 6.96, 8.684");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2549, 0.2702, 0.3228, 0.4218, 0.5746, 0.788, 1.068, 1.421, 1.851, 2.364",\
                 "0.2672, 0.2825, 0.3352, 0.4343, 0.5872, 0.8005, 1.081, 1.433, 1.863, 2.376",\
                 "0.3022, 0.3176, 0.3707, 0.4701, 0.6231, 0.8368, 1.117, 1.469, 1.9, 2.413",\
                 "0.3329, 0.3504, 0.4093, 0.5144, 0.6693, 0.8829, 1.163, 1.516, 1.946, 2.458",\
                 "0.3403, 0.3613, 0.4301, 0.549, 0.7193, 0.9437, 1.226, 1.578, 2.007, 2.519",\
                 "0.3154, 0.3413, 0.4248, 0.5648, 0.7558, 1, 1.302, 1.664, 2.094, 2.605",\
                 "0.2526, 0.2834, 0.3843, 0.5508, 0.7716, 1.043, 1.368, 1.753, 2.204, 2.721",\
                 "0.1531, 0.1892, 0.3058, 0.4996, 0.7555, 1.062, 1.419, 1.83, 2.306, 2.85",\
                 "0.0173, 0.0573, 0.1898, 0.4086, 0.6997, 1.048, 1.444, 1.891, 2.396, 2.966",\
                 "-0.1566, -0.1112, 0.0346, 0.2785, 0.6038, 0.9925, 1.434, 1.925, 2.467, 3.069");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5775, 0.6104, 0.7237, 0.9348, 1.258, 1.706, 2.292, 3.03, 3.926, 4.993",\
                 "0.5899, 0.6228, 0.7362, 0.9476, 1.27, 1.719, 2.305, 3.042, 3.938, 5.003",\
                 "0.6267, 0.6598, 0.7734, 0.9853, 1.309, 1.758, 2.344, 3.081, 3.978, 5.044",\
                 "0.7028, 0.7351, 0.8471, 1.057, 1.379, 1.826, 2.412, 3.148, 4.044, 5.112",\
                 "0.8404, 0.8729, 0.9848, 1.19, 1.506, 1.947, 2.529, 3.26, 4.155, 5.222",\
                 "1.027, 1.061, 1.177, 1.389, 1.706, 2.14, 2.712, 3.437, 4.325, 5.386",\
                 "1.267, 1.302, 1.422, 1.641, 1.968, 2.411, 2.976, 3.689, 4.567, 5.619",\
                 "1.551, 1.59, 1.72, 1.949, 2.284, 2.74, 3.32, 4.03, 4.894, 5.934",\
                 "1.879, 1.921, 2.062, 2.31, 2.662, 3.127, 3.721, 4.45, 5.316, 6.342",\
                 "2.249, 2.296, 2.45, 2.717, 3.094, 3.579, 4.185, 4.929, 5.817, 6.85");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2367, 0.262, 0.3505, 0.5199, 0.7814, 1.148, 1.63, 2.236, 2.976, 3.858",\
                 "0.2368, 0.262, 0.3507, 0.5198, 0.7811, 1.149, 1.629, 2.236, 2.975, 3.855",\
                 "0.2402, 0.2645, 0.3522, 0.5198, 0.7814, 1.149, 1.63, 2.236, 2.976, 3.857",\
                 "0.2883, 0.3106, 0.3907, 0.5424, 0.7885, 1.149, 1.631, 2.235, 2.975, 3.857",\
                 "0.3754, 0.3974, 0.4746, 0.6254, 0.8616, 1.191, 1.644, 2.237, 2.976, 3.856",\
                 "0.5108, 0.5336, 0.6094, 0.7528, 0.9808, 1.309, 1.741, 2.294, 2.995, 3.859",\
                 "0.6882, 0.7096, 0.7898, 0.9348, 1.155, 1.471, 1.899, 2.444, 3.107, 3.924",\
                 "0.8982, 0.9224, 1.006, 1.161, 1.386, 1.693, 2.105, 2.642, 3.306, 4.094",\
                 "1.14, 1.168, 1.257, 1.423, 1.658, 1.973, 2.38, 2.895, 3.55, 4.34",\
                 "1.41, 1.438, 1.537, 1.712, 1.968, 2.297, 2.709, 3.219, 3.854, 4.632");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.7913, 0.847, 1.041, 1.406, 1.967, 2.75, 3.778, 5.067, 6.642, 8.513",\
                 "0.7919, 0.8472, 1.042, 1.407, 1.966, 2.751, 3.778, 5.068, 6.639, 8.506",\
                 "0.7913, 0.8469, 1.041, 1.406, 1.967, 2.749, 3.777, 5.068, 6.642, 8.512",\
                 "0.7921, 0.8472, 1.04, 1.405, 1.967, 2.749, 3.776, 5.067, 6.643, 8.517",\
                 "0.8526, 0.9032, 1.08, 1.422, 1.967, 2.748, 3.774, 5.066, 6.64, 8.516",\
                 "0.9474, 0.9992, 1.18, 1.512, 2.025, 2.766, 3.776, 5.066, 6.64, 8.515",\
                 "1.07, 1.121, 1.3, 1.639, 2.153, 2.862, 3.823, 5.071, 6.638, 8.513",\
                 "1.225, 1.278, 1.459, 1.794, 2.31, 3.027, 3.956, 5.154, 6.662, 8.514",\
                 "1.407, 1.462, 1.651, 1.99, 2.501, 3.217, 4.158, 5.328, 6.781, 8.564",\
                 "1.604, 1.667, 1.871, 2.226, 2.737, 3.445, 4.388, 5.567, 6.992, 8.715");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2871, 0.302, 0.3543, 0.4523, 0.6029, 0.8122, 1.087, 1.432, 1.853, 2.354",\
                 "0.2987, 0.3141, 0.3662, 0.4641, 0.6147, 0.8241, 1.099, 1.444, 1.865, 2.366",\
                 "0.3269, 0.3422, 0.3947, 0.493, 0.6435, 0.8532, 1.128, 1.473, 1.894, 2.395",\
                 "0.3576, 0.3743, 0.4311, 0.5335, 0.6851, 0.8947, 1.169, 1.514, 1.935, 2.436",\
                 "0.3725, 0.3918, 0.4567, 0.5716, 0.7379, 0.9572, 1.233, 1.577, 1.998, 2.498",\
                 "0.3614, 0.385, 0.4625, 0.595, 0.78, 1.019, 1.315, 1.669, 2.089, 2.588",\
                 "0.3146, 0.3428, 0.4353, 0.5917, 0.804, 1.067, 1.386, 1.764, 2.206, 2.712",\
                 "0.232, 0.2644, 0.371, 0.5526, 0.797, 1.094, 1.444, 1.848, 2.315, 2.848",\
                 "0.1125, 0.1489, 0.2692, 0.4742, 0.7522, 1.089, 1.476, 1.915, 2.411, 2.972",\
                 "-0.0448, -0.0049, 0.1284, 0.3563, 0.6661, 1.043, 1.474, 1.956, 2.489, 3.082");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6088, 0.6404, 0.7503, 0.9577, 1.278, 1.724, 2.309, 3.045, 3.942, 5.009",\
                 "0.6208, 0.6524, 0.7624, 0.9699, 1.29, 1.737, 2.322, 3.058, 3.954, 5.021",\
                 "0.6584, 0.6901, 0.8003, 1.008, 1.329, 1.776, 2.361, 3.097, 3.994, 5.062",\
                 "0.7346, 0.7662, 0.8748, 1.081, 1.4, 1.846, 2.43, 3.166, 4.062, 5.129",\
                 "0.8723, 0.9037, 1.012, 1.214, 1.527, 1.967, 2.548, 3.28, 4.173, 5.238",\
                 "1.059, 1.092, 1.205, 1.414, 1.728, 2.161, 2.732, 3.456, 4.344, 5.404",\
                 "1.3, 1.334, 1.451, 1.666, 1.99, 2.432, 2.997, 3.709, 4.587, 5.639",\
                 "1.589, 1.626, 1.75, 1.975, 2.308, 2.761, 3.341, 4.051, 4.916, 5.955",\
                 "1.921, 1.962, 2.097, 2.338, 2.686, 3.149, 3.742, 4.472, 5.337, 6.365",\
                 "2.297, 2.342, 2.489, 2.75, 3.121, 3.602, 4.207, 4.952, 5.839, 6.872");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3135, 0.3381, 0.4257, 0.5921, 0.8488, 1.209, 1.68, 2.276, 3, 3.863",\
                 "0.3131, 0.3384, 0.4261, 0.5923, 0.8497, 1.209, 1.681, 2.276, 3, 3.863",\
                 "0.3139, 0.3387, 0.4264, 0.592, 0.8495, 1.209, 1.681, 2.276, 3, 3.863",\
                 "0.3608, 0.3836, 0.4618, 0.6115, 0.8551, 1.208, 1.681, 2.275, 3, 3.864",\
                 "0.45, 0.4726, 0.5486, 0.6982, 0.9288, 1.252, 1.696, 2.276, 2.998, 3.864",\
                 "0.5898, 0.6114, 0.6854, 0.8266, 1.052, 1.374, 1.795, 2.335, 3.021, 3.866",\
                 "0.7714, 0.7938, 0.8688, 1.011, 1.229, 1.539, 1.958, 2.49, 3.137, 3.934",\
                 "0.986, 1.008, 1.092, 1.237, 1.461, 1.764, 2.17, 2.697, 3.344, 4.113",\
                 "1.23, 1.256, 1.344, 1.504, 1.733, 2.045, 2.446, 2.955, 3.594, 4.367",\
                 "1.506, 1.53, 1.627, 1.8, 2.049, 2.37, 2.78, 3.284, 3.906, 4.667");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.9312, 0.9863, 1.178, 1.539, 2.098, 2.878, 3.903, 5.194, 6.762, 8.638",\
                 "0.9312, 0.9864, 1.178, 1.539, 2.098, 2.879, 3.903, 5.192, 6.764, 8.638",\
                 "0.9311, 0.986, 1.178, 1.539, 2.098, 2.879, 3.903, 5.192, 6.765, 8.634",\
                 "0.9347, 0.988, 1.178, 1.539, 2.098, 2.878, 3.904, 5.194, 6.765, 8.636",\
                 "0.9948, 1.044, 1.219, 1.557, 2.1, 2.879, 3.904, 5.193, 6.764, 8.637",\
                 "1.097, 1.147, 1.321, 1.647, 2.157, 2.897, 3.906, 5.193, 6.765, 8.638",\
                 "1.227, 1.276, 1.449, 1.779, 2.287, 2.994, 3.953, 5.201, 6.765, 8.638",\
                 "1.396, 1.445, 1.615, 1.939, 2.449, 3.16, 4.086, 5.283, 6.791, 8.64",\
                 "1.595, 1.647, 1.821, 2.143, 2.643, 3.354, 4.291, 5.455, 6.909, 8.694",\
                 "1.816, 1.874, 2.058, 2.39, 2.887, 3.586, 4.523, 5.699, 7.121, 8.844");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2509, 0.2662, 0.3175, 0.4144, 0.5638, 0.7729, 1.047, 1.392, 1.813, 2.314",\
                 "0.2629, 0.2778, 0.3293, 0.4263, 0.5758, 0.7849, 1.059, 1.404, 1.825, 2.325",\
                 "0.2905, 0.3056, 0.3575, 0.4549, 0.6047, 0.8136, 1.088, 1.433, 1.854, 2.355",\
                 "0.315, 0.3324, 0.3903, 0.494, 0.6461, 0.8552, 1.129, 1.474, 1.895, 2.396",\
                 "0.3203, 0.3411, 0.4094, 0.527, 0.6956, 0.9164, 1.193, 1.537, 1.957, 2.458",\
                 "0.2958, 0.3215, 0.4044, 0.5433, 0.7329, 0.9745, 1.272, 1.628, 2.049, 2.548",\
                 "0.235, 0.2656, 0.3651, 0.5302, 0.7501, 1.019, 1.341, 1.721, 2.164, 2.671",\
                 "0.1397, 0.1749, 0.2896, 0.4807, 0.7352, 1.04, 1.394, 1.802, 2.27, 2.805",\
                 "0.0087, 0.0481, 0.1766, 0.3927, 0.6815, 1.027, 1.422, 1.865, 2.364, 2.927",\
                 "-0.1599, -0.1163, 0.0259, 0.2657, 0.5873, 0.9743, 1.413, 1.901, 2.439, 3.035");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.5994, 0.631, 0.7411, 0.9486, 1.268, 1.714, 2.299, 3.033, 3.928, 4.992",\
                 "0.6114, 0.6431, 0.7533, 0.9609, 1.281, 1.726, 2.311, 3.046, 3.941, 5.004",\
                 "0.649, 0.6808, 0.7912, 0.9993, 1.319, 1.766, 2.349, 3.085, 3.978, 5.044",\
                 "0.7253, 0.7566, 0.8655, 1.072, 1.39, 1.835, 2.418, 3.153, 4.047, 5.116",\
                 "0.8619, 0.8937, 1.003, 1.205, 1.517, 1.956, 2.536, 3.266, 4.159, 5.225",\
                 "1.048, 1.081, 1.194, 1.404, 1.718, 2.149, 2.719, 3.442, 4.329, 5.389",\
                 "1.288, 1.322, 1.439, 1.654, 1.979, 2.42, 2.983, 3.695, 4.571, 5.623",\
                 "1.575, 1.612, 1.737, 1.963, 2.295, 2.748, 3.327, 4.036, 4.899, 5.938",\
                 "1.903, 1.944, 2.082, 2.324, 2.672, 3.135, 3.727, 4.455, 5.321, 6.345",\
                 "2.276, 2.322, 2.471, 2.733, 3.105, 3.587, 4.19, 4.934, 5.822, 6.854");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2715, 0.2966, 0.3835, 0.5494, 0.8059, 1.164, 1.637, 2.232, 2.955, 3.82",\
                 "0.2719, 0.2963, 0.3834, 0.5486, 0.8056, 1.165, 1.637, 2.232, 2.956, 3.819",\
                 "0.2749, 0.2992, 0.3845, 0.5493, 0.806, 1.165, 1.636, 2.231, 2.956, 3.82",\
                 "0.3287, 0.3508, 0.4288, 0.5753, 0.8147, 1.166, 1.636, 2.231, 2.956, 3.82",\
                 "0.4264, 0.4474, 0.5214, 0.6654, 0.8942, 1.214, 1.656, 2.233, 2.955, 3.82",\
                 "0.5748, 0.595, 0.6648, 0.8006, 1.021, 1.339, 1.76, 2.297, 2.98, 3.823",\
                 "0.7622, 0.7824, 0.8542, 0.9914, 1.203, 1.509, 1.924, 2.455, 3.101, 3.896",\
                 "0.9836, 1.005, 1.081, 1.222, 1.44, 1.737, 2.14, 2.662, 3.309, 4.077",\
                 "1.234, 1.257, 1.337, 1.492, 1.716, 2.023, 2.421, 2.925, 3.563, 4.331",\
                 "1.51, 1.536, 1.624, 1.789, 2.031, 2.353, 2.758, 3.257, 3.876, 4.634");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8069, 0.8629, 1.056, 1.418, 1.978, 2.76, 3.786, 5.077, 6.647, 8.513",\
                 "0.8077, 0.8628, 1.056, 1.419, 1.978, 2.761, 3.786, 5.077, 6.647, 8.515",\
                 "0.807, 0.8631, 1.055, 1.418, 1.978, 2.76, 3.786, 5.076, 6.644, 8.522",\
                 "0.8103, 0.8641, 1.055, 1.417, 1.977, 2.759, 3.785, 5.076, 6.652, 8.523",\
                 "0.8696, 0.9192, 1.095, 1.435, 1.978, 2.758, 3.785, 5.075, 6.649, 8.524",\
                 "0.9628, 1.014, 1.193, 1.524, 2.036, 2.776, 3.784, 5.073, 6.647, 8.522",\
                 "1.084, 1.133, 1.312, 1.648, 2.164, 2.872, 3.831, 5.08, 6.645, 8.52",\
                 "1.238, 1.292, 1.468, 1.802, 2.318, 3.037, 3.965, 5.162, 6.67, 8.522",\
                 "1.421, 1.477, 1.665, 1.999, 2.508, 3.228, 4.167, 5.334, 6.788, 8.57",\
                 "1.62, 1.684, 1.884, 2.233, 2.744, 3.45, 4.395, 5.575, 7.001, 8.726");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2145, 0.2266, 0.2682, 0.3461, 0.4661, 0.634, 0.8536, 1.131, 1.468, 1.87",\
                 "0.2273, 0.2395, 0.2812, 0.3593, 0.4795, 0.6469, 0.867, 1.143, 1.481, 1.883",\
                 "0.2652, 0.2776, 0.3197, 0.3982, 0.5187, 0.6863, 0.9063, 1.183, 1.52, 1.922",\
                 "0.3015, 0.317, 0.3679, 0.4564, 0.582, 0.7503, 0.9702, 1.247, 1.584, 1.986",\
                 "0.3116, 0.3314, 0.3959, 0.5042, 0.6526, 0.8405, 1.069, 1.346, 1.683, 2.084",\
                 "0.2873, 0.3123, 0.3932, 0.5267, 0.7043, 0.9215, 1.179, 1.479, 1.823, 2.224",\
                 "0.2261, 0.2566, 0.3537, 0.5146, 0.7264, 0.9804, 1.272, 1.605, 1.982, 2.406",\
                 "0.1301, 0.1644, 0.2762, 0.4643, 0.7124, 1.007, 1.341, 1.713, 2.127, 2.587",\
                 "-0.0026, 0.036, 0.1623, 0.3742, 0.6574, 0.994, 1.374, 1.793, 2.251, 2.751",\
                 "-0.1731, -0.1306, 0.0088, 0.2442, 0.5598, 0.9396, 1.367, 1.836, 2.344, 2.89");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6322, 0.6638, 0.7741, 0.9816, 1.302, 1.747, 2.331, 3.069, 3.96, 5.028",\
                 "0.6447, 0.6765, 0.787, 0.9946, 1.314, 1.76, 2.346, 3.078, 3.976, 5.041",\
                 "0.6818, 0.7137, 0.8245, 1.033, 1.353, 1.8, 2.385, 3.121, 4.013, 5.081",\
                 "0.7582, 0.7896, 0.8986, 1.105, 1.424, 1.869, 2.453, 3.188, 4.082, 5.153",\
                 "0.8978, 0.9296, 1.038, 1.239, 1.552, 1.992, 2.571, 3.302, 4.195, 5.261",\
                 "1.089, 1.121, 1.234, 1.443, 1.756, 2.187, 2.758, 3.48, 4.366, 5.426",\
                 "1.333, 1.367, 1.484, 1.698, 2.023, 2.462, 3.025, 3.737, 4.613, 5.663",\
                 "1.627, 1.664, 1.788, 2.012, 2.345, 2.797, 3.375, 4.082, 4.946, 5.983",\
                 "1.966, 2.006, 2.141, 2.381, 2.728, 3.19, 3.783, 4.51, 5.373, 6.397",\
                 "2.349, 2.392, 2.54, 2.801, 3.17, 3.65, 4.254, 4.997, 5.883, 6.912");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.2145, 0.2345, 0.3052, 0.4382, 0.6452, 0.9338, 1.313, 1.791, 2.373, 3.067",\
                 "0.2145, 0.2346, 0.3052, 0.4381, 0.6458, 0.9347, 1.315, 1.791, 2.373, 3.067",\
                 "0.2224, 0.2406, 0.308, 0.4387, 0.6453, 0.9339, 1.314, 1.791, 2.373, 3.067",\
                 "0.2984, 0.315, 0.3732, 0.483, 0.6644, 0.9376, 1.314, 1.791, 2.372, 3.067",\
                 "0.4184, 0.4346, 0.4926, 0.6034, 0.777, 1.018, 1.352, 1.8, 2.373, 3.066",\
                 "0.5798, 0.5968, 0.6568, 0.7688, 0.9408, 1.185, 1.504, 1.906, 2.427, 3.083",\
                 "0.7778, 0.7954, 0.8568, 0.9762, 1.152, 1.398, 1.719, 2.123, 2.612, 3.209",\
                 "1.006, 1.024, 1.092, 1.218, 1.408, 1.661, 1.983, 2.39, 2.884, 3.471",\
                 "1.265, 1.285, 1.357, 1.494, 1.7, 1.967, 2.3, 2.708, 3.207, 3.798",\
                 "1.549, 1.574, 1.651, 1.801, 2.025, 2.313, 2.664, 3.084, 3.585, 4.18");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.8493, 0.904, 1.098, 1.462, 2.023, 2.804, 3.831, 5.123, 6.688, 8.56",\
                 "0.8482, 0.9039, 1.098, 1.46, 2.022, 2.803, 3.831, 5.116, 6.693, 8.561",\
                 "0.8487, 0.9048, 1.097, 1.461, 2.022, 2.804, 3.831, 5.121, 6.689, 8.565",\
                 "0.8492, 0.9046, 1.097, 1.46, 2.022, 2.803, 3.83, 5.122, 6.692, 8.569",\
                 "0.9028, 0.9532, 1.131, 1.474, 2.021, 2.802, 3.83, 5.121, 6.695, 8.571",\
                 "0.9946, 1.048, 1.228, 1.558, 2.073, 2.817, 3.829, 5.118, 6.693, 8.568",\
                 "1.107, 1.159, 1.34, 1.682, 2.198, 2.909, 3.871, 5.124, 6.692, 8.564",\
                 "1.256, 1.31, 1.489, 1.828, 2.349, 3.069, 4.001, 5.201, 6.713, 8.567",\
                 "1.436, 1.492, 1.678, 2.014, 2.531, 3.255, 4.199, 5.367, 6.824, 8.612",\
                 "1.633, 1.693, 1.892, 2.243, 2.755, 3.471, 4.419, 5.604, 7.031, 8.762");
        }
      }

      timing() {
        related_pin : "C2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3779, 0.3957, 0.4588, 0.5767, 0.7578, 1.01, 1.34, 1.754, 2.259, 2.861",\
                 "0.389, 0.4076, 0.4702, 0.5883, 0.7693, 1.021, 1.351, 1.766, 2.271, 2.873",\
                 "0.4159, 0.434, 0.497, 0.6152, 0.7965, 1.049, 1.379, 1.793, 2.299, 2.901",\
                 "0.4439, 0.463, 0.5279, 0.6467, 0.8278, 1.08, 1.41, 1.824, 2.33, 2.932",\
                 "0.4575, 0.4782, 0.5485, 0.6765, 0.8663, 1.121, 1.45, 1.864, 2.368, 2.97",\
                 "0.4522, 0.4758, 0.5541, 0.6933, 0.896, 1.166, 1.507, 1.922, 2.425, 3.025",\
                 "0.4163, 0.4436, 0.5334, 0.6904, 0.9123, 1.199, 1.557, 1.991, 2.503, 3.102",\
                 "0.3439, 0.3749, 0.4792, 0.6582, 0.9059, 1.218, 1.596, 2.049, 2.582, 3.199",\
                 "0.2347, 0.2698, 0.3864, 0.5886, 0.8658, 1.209, 1.619, 2.095, 2.65, 3.288",\
                 "0.087, 0.1257, 0.2558, 0.4796, 0.7877, 1.168, 1.612, 2.122, 2.704, 3.365");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.6322, 0.6638, 0.7741, 0.9816, 1.302, 1.747, 2.331, 3.069, 3.96, 5.028",\
                 "0.6447, 0.6765, 0.787, 0.9946, 1.314, 1.76, 2.346, 3.078, 3.976, 5.041",\
                 "0.6818, 0.7137, 0.8245, 1.033, 1.353, 1.8, 2.385, 3.121, 4.013, 5.081",\
                 "0.7582, 0.7896, 0.8986, 1.105, 1.424, 1.869, 2.453, 3.188, 4.082, 5.153",\
                 "0.8978, 0.9296, 1.038, 1.239, 1.552, 1.992, 2.571, 3.302, 4.195, 5.261",\
                 "1.089, 1.121, 1.234, 1.443, 1.756, 2.187, 2.758, 3.48, 4.366, 5.426",\
                 "1.333, 1.367, 1.484, 1.698, 2.023, 2.462, 3.025, 3.737, 4.613, 5.663",\
                 "1.627, 1.664, 1.788, 2.012, 2.345, 2.797, 3.375, 4.082, 4.946, 5.983",\
                 "1.966, 2.006, 2.141, 2.381, 2.728, 3.19, 3.783, 4.51, 5.373, 6.397",\
                 "2.349, 2.392, 2.54, 2.801, 3.17, 3.65, 4.254, 4.997, 5.883, 6.912");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("0.3825, 0.4127, 0.5195, 0.7216, 1.032, 1.464, 2.031, 2.745, 3.616, 4.651",\
                 "0.382, 0.4134, 0.5203, 0.7215, 1.031, 1.465, 2.031, 2.745, 3.616, 4.652",\
                 "0.3823, 0.4132, 0.5194, 0.7217, 1.031, 1.465, 2.031, 2.745, 3.617, 4.653",\
                 "0.4075, 0.436, 0.5361, 0.7281, 1.032, 1.463, 2.031, 2.744, 3.616, 4.654",\
                 "0.4704, 0.4988, 0.6, 0.7896, 1.076, 1.483, 2.034, 2.745, 3.615, 4.654",\
                 "0.5754, 0.6024, 0.7004, 0.8856, 1.172, 1.573, 2.097, 2.773, 3.62, 4.652",\
                 "0.7292, 0.7566, 0.8554, 1.033, 1.31, 1.705, 2.228, 2.883, 3.693, 4.685",\
                 "0.9208, 0.954, 1.054, 1.235, 1.508, 1.886, 2.396, 3.051, 3.851, 4.805",\
                 "1.148, 1.179, 1.288, 1.478, 1.756, 2.13, 2.626, 3.263, 4.058, 5.01",\
                 "1.404, 1.438, 1.556, 1.76, 2.047, 2.432, 2.921, 3.538, 4.315, 5.257");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002058, 0.005774, 0.01287, 0.02392, 0.03943, 0.05984, 0.08555, 0.1169, 0.1543");
          values("1.019, 1.071, 1.26, 1.618, 2.174, 2.953, 3.978, 5.268, 6.837, 8.707",\
                 "1.018, 1.072, 1.26, 1.618, 2.174, 2.954, 3.977, 5.266, 6.839, 8.713",\
                 "1.018, 1.072, 1.26, 1.618, 2.174, 2.955, 3.979, 5.266, 6.84, 8.71",\
                 "1.023, 1.075, 1.26, 1.618, 2.174, 2.954, 3.979, 5.268, 6.841, 8.709",\
                 "1.09, 1.137, 1.306, 1.639, 2.178, 2.954, 3.979, 5.269, 6.841, 8.713",\
                 "1.207, 1.253, 1.419, 1.734, 2.239, 2.976, 3.981, 5.269, 6.84, 8.713",\
                 "1.355, 1.402, 1.563, 1.88, 2.376, 3.076, 4.032, 5.278, 6.84, 8.713",\
                 "1.545, 1.591, 1.75, 2.058, 2.551, 3.252, 4.17, 5.364, 6.869, 8.717",\
                 "1.771, 1.816, 1.978, 2.281, 2.763, 3.46, 4.383, 5.541, 6.99, 8.771",\
                 "2.015, 2.064, 2.238, 2.555, 3.032, 3.708, 4.629, 5.793, 7.207, 8.93");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai222_2) {
    area : 59.270400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&C2" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&!C2" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&C2" ;
      value : "6.5769e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&!C2" ;
      value : "6.58647e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&C2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&!C2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&C2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&!C2" ;
      value : "6.58647e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&C2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&!C2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&C2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&!C2" ;
      value : "6.58647e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&C2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&!C2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&C2" ;
      value : "6.60924e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&!C2" ;
      value : "0.00013035" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&C2" ;
      value : "0.0001305612" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&!C2" ;
      value : "0.0001305612" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&C2" ;
      value : "0.0001305645" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&!C2" ;
      value : "0.000193281" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&C2" ;
      value : "0.0001771011" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&!C2" ;
      value : "0.0001483284" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&C2" ;
      value : "0.0001483284" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&!C2" ;
      value : "0.000193281" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&C2" ;
      value : "0.0001483284" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&!C2" ;
      value : "0.0001195557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&C2" ;
      value : "0.000119559" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&!C2" ;
      value : "0.0001935879" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&C2" ;
      value : "0.0001483284" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&!C2" ;
      value : "0.000119559" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&C2" ;
      value : "0.000119559" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "0.00013035" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&C2" ;
      value : "0.0001305645" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&!C2" ;
      value : "0.0001305645" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&C2" ;
      value : "0.0001305612" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&!C2" ;
      value : "0.000193281" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&C2" ;
      value : "0.0001483284" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&!C2" ;
      value : "0.0001195557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&C2" ;
      value : "0.0001195557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&!C2" ;
      value : "0.000193281" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&C2" ;
      value : "0.0001195557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&!C2" ;
      value : "9.07863e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&C2" ;
      value : "9.07863e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&!C2" ;
      value : "0.0001935879" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&C2" ;
      value : "0.0001195557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&!C2" ;
      value : "9.07863e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&C2" ;
      value : "9.07863e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&!C2" ;
      value : "0.0001308549" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&C2" ;
      value : "0.0001310694" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&!C2" ;
      value : "0.0001310661" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&C2" ;
      value : "0.0001310694" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&!C2" ;
      value : "0.000193908" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&C2" ;
      value : "0.0001483284" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&!C2" ;
      value : "0.0001195557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&C2" ;
      value : "0.0001195557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&!C2" ;
      value : "0.0001939113" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&C2" ;
      value : "0.000119559" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&!C2" ;
      value : "9.07863e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&C2" ;
      value : "9.07863e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&!C2" ;
      value : "0.000194304" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&C2" ;
      value : "0.0001195557" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&!C2" ;
      value : "9.07863e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&C2" ;
      value : "9.07863e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000194304" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009525 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03352, 0.03347, 0.03345, 0.03331, 0.03326, 0.03327, 0.03327, \
                 0.03325, 0.03326, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.026, 0.02603, 0.02602, 0.0259, 0.02581, 0.02569, 0.02559, 0.02552, \
                 0.02539, 0.02521");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03352, 0.03347, 0.03345, 0.03337, 0.03329, 0.0333, 0.03327, \
                 0.03326, 0.03326, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02602, 0.02604, 0.02602, 0.02592, 0.02584, 0.02572, 0.02562, \
                 0.02549, 0.02534, 0.02514");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03351, 0.03347, 0.03346, 0.03334, 0.03328, 0.0333, 0.03328, \
                 0.03326, 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02602, 0.02602, 0.02602, 0.02593, 0.02583, 0.02573, 0.02559, \
                 0.02548, 0.02533, 0.02514");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03351, 0.03347, 0.03346, 0.03334, 0.03328, 0.03329, 0.03328, \
                 0.03325, 0.03327, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02603, 0.02602, 0.02602, 0.02593, 0.02583, 0.02572, 0.02559, \
                 0.02549, 0.02533, 0.02517");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03352, 0.03347, 0.03346, 0.03338, 0.0333, 0.03331, 0.0333, 0.03326, \
                 0.03327, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09402, 0.09407, 0.09409, 0.09398, 0.09379, 0.09363, 0.09346, \
                 0.09321, 0.09288, 0.09251");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03351, 0.03347, 0.03346, 0.03335, 0.0333, 0.03331, 0.0333, 0.03325, \
                 0.03326, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09401, 0.09402, 0.09405, 0.09398, 0.09381, 0.09363, 0.09345, \
                 0.09315, 0.09287, 0.09255");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03351, 0.03347, 0.03346, 0.03335, 0.03328, 0.03331, 0.03328, \
                 0.03325, 0.03327, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1104, 0.1104, 0.1104, 0.1104, 0.1102, 0.1101, 0.1099, 0.1096, \
                 0.1092, 0.1089");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03341, 0.03342, 0.03346, 0.0334, 0.03329, 0.03328, 0.03326, \
                 0.03322, 0.03318, 0.03315");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03213, -0.03217, -0.03235, -0.03257, -0.03267, -0.03282, -0.03284, \
                 -0.03286, -0.03288, -0.0329");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03347, 0.03349, 0.03352, 0.03348, 0.0334, 0.03335, 0.03331, \
                 0.03325, 0.03321, 0.03317");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0321, -0.03219, -0.03237, -0.03259, -0.0327, -0.03278, -0.03283, \
                 -0.03287, -0.03288, -0.0329");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03344, 0.03346, 0.0335, 0.03349, 0.03337, 0.03335, 0.03329, \
                 0.03325, 0.03321, 0.03317");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03207, -0.03218, -0.03236, -0.03261, -0.03269, -0.0328, -0.03287, \
                 -0.03285, -0.03287, -0.0329");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03345, 0.03346, 0.0335, 0.03347, 0.03337, 0.03332, 0.03329, \
                 0.03326, 0.03321, 0.03316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03207, -0.03218, -0.03237, -0.03261, -0.03269, -0.0328, -0.03287, \
                 -0.03287, -0.03287, -0.0329");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03352, 0.03354, 0.03356, 0.03352, 0.03343, 0.03342, 0.03333, \
                 0.03329, 0.03325, 0.03319");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0321, -0.03216, -0.03237, -0.0326, -0.03269, -0.0328, -0.03284, \
                 -0.03286, -0.03287, -0.03289");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.02398, 0.02397, 0.02396, 0.02394, 0.02397, 0.02394, \
                 0.02391, 0.02387, 0.02383");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009565, -0.009571, -0.009562, -0.009583, -0.0096, -0.009613, \
                 -0.009616, -0.00962, -0.009623, -0.009615");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.02398, 0.02397, 0.02396, 0.02395, 0.02395, 0.02395, \
                 0.02391, 0.02388, 0.02383");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009565, -0.009572, -0.009558, -0.009568, -0.0096, -0.009618, \
                 -0.00962, -0.009625, -0.009618, -0.009621");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.02398, 0.02395, 0.02396, 0.02394, 0.02397, 0.02395, \
                 0.02391, 0.02387, 0.02383");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009564, -0.009566, -0.009571, -0.009589, -0.009589, -0.009624, \
                 -0.009626, -0.009627, -0.009615, -0.009624");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03349, 0.03351, 0.03355, 0.03353, 0.0334, 0.03337, 0.03333, \
                 0.03332, 0.03324, 0.03318");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03208, -0.03219, -0.03237, -0.03261, -0.03271, -0.0328, -0.03285, \
                 -0.03286, -0.03288, -0.03291");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.02398, 0.02397, 0.02394, 0.02396, 0.02396, 0.02394, \
                 0.02391, 0.02388, 0.02383");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009565, -0.009566, -0.009561, -0.009574, -0.009605, -0.009616, \
                 -0.009614, -0.009626, -0.009623, -0.009615");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.02399, 0.02397, 0.02393, 0.02394, 0.02397, 0.02396, \
                 0.02392, 0.02388, 0.02382");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009566, -0.009562, -0.009565, -0.009591, -0.009596, -0.009618, \
                 -0.009625, -0.009627, -0.009629, -0.009626");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.02401, 0.02395, 0.02396, 0.02394, 0.02395, 0.02395, \
                 0.02391, 0.02387, 0.02382");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009564, -0.00957, -0.009566, -0.009577, -0.009594, -0.009628, \
                 -0.009625, -0.009619, -0.009623, -0.009625");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03348, 0.03349, 0.03354, 0.03349, 0.03345, 0.03335, 0.03332, \
                 0.03331, 0.03325, 0.03318");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03208, -0.03218, -0.03237, -0.0326, -0.0327, -0.03279, -0.03285, \
                 -0.03286, -0.03288, -0.0329");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.02398, 0.02396, 0.02396, 0.02395, 0.02396, 0.02394, \
                 0.02391, 0.02387, 0.02383");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009563, -0.009588, -0.009565, -0.009593, -0.009595, -0.009627, \
                 -0.00962, -0.009625, -0.009624, -0.00962");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02405, 0.02398, 0.02396, 0.02398, 0.02394, 0.02395, 0.02394, \
                 0.02391, 0.02387, 0.02383");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009563, -0.00959, -0.009568, -0.009591, -0.009607, -0.009623, \
                 -0.009616, -0.009628, -0.009627, -0.009618");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02404, 0.02398, 0.02396, 0.02396, 0.02394, 0.02397, 0.02394, \
                 0.02392, 0.02388, 0.02382");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009559, -0.009576, -0.009556, -0.009583, -0.009586, -0.009615, \
                 -0.009617, -0.009628, -0.009626, -0.009625");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008488 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03335, 0.03331, 0.03328, 0.03326, 0.03325, 0.03328, \
                 0.03325, 0.03328, 0.03328");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02625, 0.02618, 0.02607, 0.02599, 0.02591, 0.02576, 0.02565, \
                 0.02554, 0.02538, 0.02519");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03336, 0.03335, 0.0333, 0.0333, 0.03329, 0.03329, 0.03324, \
                 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02627, 0.0262, 0.02609, 0.02601, 0.02595, 0.02578, 0.02564, \
                 0.02553, 0.02538, 0.02515");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03336, 0.03336, 0.0333, 0.03328, 0.03327, 0.03327, \
                 0.03323, 0.03328, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02627, 0.02619, 0.02607, 0.026, 0.02594, 0.02578, 0.02564, 0.02551, \
                 0.02536, 0.02515");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03336, 0.03331, 0.03331, 0.03329, 0.03327, 0.03327, \
                 0.03323, 0.03327, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02627, 0.02619, 0.02608, 0.026, 0.02594, 0.02579, 0.02564, 0.02552, \
                 0.02537, 0.02516");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03336, 0.03331, 0.03332, 0.0333, 0.03327, 0.03329, \
                 0.03324, 0.03325, 0.03327");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09432, 0.09427, 0.09417, 0.09403, 0.09395, 0.09367, 0.09346, \
                 0.0932, 0.09293, 0.0925");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03336, 0.03331, 0.03329, 0.03329, 0.03328, 0.03327, \
                 0.03323, 0.03326, 0.03325");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09431, 0.09426, 0.09411, 0.09403, 0.09393, 0.09367, 0.09345, \
                 0.09321, 0.09295, 0.09249");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03336, 0.03333, 0.03331, 0.03327, 0.03329, 0.03327, \
                 0.03324, 0.03326, 0.03326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1107, 0.1107, 0.1106, 0.1104, 0.1103, 0.1101, 0.1098, 0.1096, \
                 0.1093, 0.1088");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03337, 0.03333, 0.03329, 0.03324, 0.0332, 0.03328, 0.03326, \
                 0.03322, 0.03319, 0.03316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0318, -0.03185, -0.03223, -0.03247, -0.03254, -0.03273, -0.03276, \
                 -0.03282, -0.03284, -0.03288");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03338, 0.03333, 0.0333, 0.03327, 0.03328, 0.03331, 0.03327, \
                 0.03321, 0.0332, 0.03316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0318, -0.03185, -0.03228, -0.0325, -0.03256, -0.03276, -0.03278, \
                 -0.03283, -0.03283, -0.03288");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03338, 0.03334, 0.0333, 0.0333, 0.03328, 0.03327, 0.03325, 0.03322, \
                 0.03319, 0.03316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03179, -0.03186, -0.03227, -0.0325, -0.03257, -0.03276, -0.03279, \
                 -0.03284, -0.03285, -0.03287");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03338, 0.03334, 0.0333, 0.03327, 0.03328, 0.03324, 0.03323, \
                 0.03321, 0.03319, 0.03316");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03179, -0.03186, -0.03229, -0.0325, -0.03257, -0.03276, -0.03279, \
                 -0.03284, -0.03285, -0.03288");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03343, 0.03338, 0.03334, 0.03329, 0.03333, 0.03337, 0.0333, \
                 0.03326, 0.03322, 0.03318");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0318, -0.03185, -0.03225, -0.0325, -0.03256, -0.03275, -0.03279, \
                 -0.03283, -0.03283, -0.03288");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02914, 0.02908, 0.02908, 0.02914, 0.02926, 0.02921, \
                 0.0292, 0.0292, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02446, -0.02647, -0.02799, -0.02834, -0.02846, -0.02867, -0.02869, \
                 -0.02874, -0.02879, -0.02882");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02914, 0.02908, 0.02909, 0.02912, 0.02924, 0.0292, \
                 0.02919, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02446, -0.02647, -0.02799, -0.02831, -0.02846, -0.02866, -0.02869, \
                 -0.02874, -0.02879, -0.02882");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02914, 0.0291, 0.02917, 0.02914, 0.02923, 0.02921, \
                 0.0292, 0.02918, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02445, -0.02647, -0.028, -0.02835, -0.02846, -0.02866, -0.02871, \
                 -0.02877, -0.02879, -0.02883");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03342, 0.03338, 0.03334, 0.03329, 0.03331, 0.03329, 0.03328, \
                 0.03323, 0.03323, 0.03317");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03178, -0.03185, -0.03227, -0.03249, -0.03257, -0.03276, -0.03278, \
                 -0.03284, -0.03283, -0.03288");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02914, 0.02904, 0.02909, 0.02915, 0.02923, 0.02921, \
                 0.02917, 0.0292, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02446, -0.02647, -0.02799, -0.02834, -0.02845, -0.02866, -0.02868, \
                 -0.02874, -0.02879, -0.02881");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02914, 0.02904, 0.02911, 0.02914, 0.02926, 0.02922, \
                 0.02918, 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02446, -0.02647, -0.02799, -0.02832, -0.02845, -0.02868, -0.02868, \
                 -0.02874, -0.02879, -0.02882");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02914, 0.02908, 0.02915, 0.02911, 0.02919, 0.02922, \
                 0.02921, 0.02918, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02445, -0.02647, -0.028, -0.02837, -0.02846, -0.02865, -0.02871, \
                 -0.02877, -0.02879, -0.02883");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03342, 0.03338, 0.03334, 0.0333, 0.03331, 0.03328, 0.03327, \
                 0.03324, 0.03323, 0.03319");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03179, -0.03186, -0.03226, -0.0325, -0.03257, -0.03277, -0.03279, \
                 -0.03284, -0.03283, -0.03289");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02914, 0.02919, 0.02914, 0.02916, 0.02924, 0.02922, \
                 0.02916, 0.02919, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02446, -0.02647, -0.02799, -0.02834, -0.02845, -0.02864, -0.02868, \
                 -0.02877, -0.0288, -0.02883");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02914, 0.02918, 0.02915, 0.02914, 0.02924, 0.0292, \
                 0.0292, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02446, -0.02647, -0.02799, -0.02835, -0.02845, -0.02865, -0.02868, \
                 -0.02876, -0.0288, -0.02883");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02915, 0.02914, 0.02914, 0.02917, 0.02917, 0.02922, 0.02921, \
                 0.02922, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02445, -0.02647, -0.02799, -0.02835, -0.02846, -0.02868, -0.0287, \
                 -0.02877, -0.02879, -0.02883");
        }
      }
    }

    pin(B1) {
      capacitance : 0.00939 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03179, 0.03196, 0.03197, 0.03187, 0.0318, 0.03178, 0.03172, \
                 0.03162, 0.03154, 0.03137");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02945, -0.0294, -0.02934, -0.02926, -0.0292, -0.02917, -0.02918, \
                 -0.02917, -0.02916, -0.02915");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03163, 0.02978, 0.02941, 0.02932, 0.02925, 0.02924, 0.02924, \
                 0.02923, 0.02922, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02943, -0.0294, -0.02938, -0.02931, -0.02923, -0.02921, -0.0292, \
                 -0.02919, -0.02916, -0.02918");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03163, 0.02976, 0.02941, 0.02933, 0.02925, 0.02924, 0.02924, \
                 0.02922, 0.02923, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02942, -0.02941, -0.02937, -0.0293, -0.02922, -0.02922, -0.0292, \
                 -0.02919, -0.02918, -0.02916");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03125, 0.02957, 0.02941, 0.02931, 0.02926, 0.02927, 0.02923, \
                 0.02922, 0.02923, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02945, -0.02942, -0.02941, -0.0293, -0.02922, -0.02923, -0.02921, \
                 -0.0292, -0.02916, -0.02915");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03072, 0.03076, 0.03078, 0.03068, 0.03056, 0.03048, 0.03036, \
                 0.03024, 0.03005, 0.02983");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02809, -0.02815, -0.02831, -0.02853, -0.02862, -0.02874, -0.02878, \
                 -0.0288, -0.0288, -0.02884");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02939, 0.0294, 0.02944, 0.0294, 0.02931, 0.02932, 0.02927, 0.02925, \
                 0.02922, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02803, -0.02809, -0.02827, -0.02853, -0.02864, -0.02873, -0.02874, \
                 -0.02879, -0.02881, -0.02883");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02937, 0.02939, 0.02942, 0.02942, 0.0293, 0.0293, 0.02926, 0.02926, \
                 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02803, -0.02808, -0.02827, -0.02853, -0.02863, -0.02876, -0.02875, \
                 -0.02879, -0.02881, -0.02884");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02939, 0.02942, 0.02944, 0.02938, 0.02932, 0.0293, 0.02926, \
                 0.02926, 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02805, -0.02811, -0.0283, -0.02851, -0.02861, -0.02874, -0.02877, \
                 -0.02879, -0.02882, -0.02884");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02968, 0.02963, 0.02962, 0.02952, 0.02942, 0.02945, 0.02938, \
                 0.02933, 0.02929, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00726, 0.007251, 0.007292, 0.00726, 0.00717, 0.007079, 0.006885, \
                 0.006671, 0.006397, 0.006011");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02952, 0.02954, 0.02956, 0.02952, 0.02939, 0.02937, 0.02928, \
                 0.02919, 0.02909, 0.02901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02807, -0.02814, -0.02834, -0.02855, -0.02866, -0.02875, -0.02878, \
                 -0.0288, -0.02881, -0.02884");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02248, 0.02247, 0.02244, 0.02242, 0.02243, 0.02244, \
                 0.02239, 0.02237, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00952, -0.00954, -0.009503, -0.009544, -0.009541, -0.009571, \
                 -0.009556, -0.009574, -0.009569, -0.009569");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02248, 0.02247, 0.02244, 0.02241, 0.02243, 0.02242, \
                 0.02239, 0.02236, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00952, -0.00954, -0.009504, -0.009544, -0.009546, -0.009568, \
                 -0.009565, -0.009572, -0.009559, -0.009571");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02251, 0.02243, 0.02243, 0.02243, 0.02243, 0.02242, \
                 0.0224, 0.02236, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009515, -0.009536, -0.00952, -0.009534, -0.009536, -0.00957, \
                 -0.009568, -0.009575, -0.009566, -0.009568");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02968, 0.02966, 0.02962, 0.02948, 0.02942, 0.02947, 0.02939, \
                 0.02932, 0.0293, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007258, 0.007271, 0.007297, 0.007269, 0.007184, 0.007076, 0.006875, \
                 0.00667, 0.006412, 0.006056");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02951, 0.02953, 0.02952, 0.02948, 0.02943, 0.02934, 0.02926, \
                 0.0292, 0.02909, 0.02901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02803, -0.02815, -0.02831, -0.02856, -0.02863, -0.02877, -0.02879, \
                 -0.0288, -0.02883, -0.02885");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02251, 0.02247, 0.02244, 0.02241, 0.02243, 0.02243, \
                 0.02239, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00952, -0.00954, -0.009503, -0.009545, -0.009541, -0.00957, \
                 -0.009572, -0.009574, -0.009571, -0.009565");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02251, 0.02247, 0.02244, 0.02242, 0.02243, 0.02243, \
                 0.02239, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00952, -0.009539, -0.009504, -0.009539, -0.009535, -0.009571, \
                 -0.009575, -0.00957, -0.009569, -0.00957");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02249, 0.02243, 0.02244, 0.02243, 0.02244, 0.02243, \
                 0.02239, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009515, -0.009535, -0.00952, -0.009529, -0.009551, -0.009571, \
                 -0.009566, -0.009565, -0.00957, -0.009571");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02964, 0.02964, 0.02961, 0.0295, 0.02941, 0.02943, 0.02938, \
                 0.02932, 0.02929, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007447, 0.00745, 0.007482, 0.007437, 0.007343, 0.007184, 0.007024, \
                 0.006833, 0.006557, 0.006163");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02948, 0.02951, 0.0295, 0.02944, 0.02937, 0.02931, 0.02925, \
                 0.0292, 0.02909, 0.029");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02803, -0.02815, -0.02834, -0.02858, -0.02866, -0.02874, -0.02879, \
                 -0.0288, -0.02882, -0.02885");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02249, 0.02246, 0.02242, 0.02243, 0.02243, 0.02242, \
                 0.0224, 0.02237, 0.02231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009523, -0.009538, -0.009503, -0.009536, -0.00955, -0.00957, \
                 -0.009573, -0.009573, -0.009566, -0.009573");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02251, 0.02249, 0.02247, 0.02242, 0.02243, 0.02243, 0.02243, \
                 0.0224, 0.02237, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009523, -0.009537, -0.009507, -0.009532, -0.009548, -0.009572, \
                 -0.009579, -0.009568, -0.009564, -0.009572");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0225, 0.02251, 0.02246, 0.02244, 0.02243, 0.02245, 0.02243, \
                 0.0224, 0.02236, 0.02232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009532, -0.009543, -0.009516, -0.009533, -0.009546, -0.009578, \
                 -0.00957, -0.009569, -0.009569, -0.009569");
        }
      }
    }

    pin(B2) {
      capacitance : 0.008258 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0316, 0.0318, 0.03184, 0.03182, 0.03176, 0.03177, 0.03174, 0.03161, \
                 0.03154, 0.03139");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02913, -0.02921, -0.0292, -0.02915, -0.02912, -0.02917, -0.02917, \
                 -0.02917, -0.02914, -0.02916");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03145, 0.02964, 0.02932, 0.02929, 0.0292, 0.02926, 0.02924, \
                 0.0292, 0.02922, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02919, -0.02923, -0.02923, -0.0292, -0.02916, -0.0292, -0.02916, \
                 -0.02918, -0.02917, -0.02917");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03145, 0.02968, 0.02929, 0.02929, 0.02919, 0.02923, 0.02925, \
                 0.0292, 0.02923, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02918, -0.02922, -0.02922, -0.02921, -0.02914, -0.02919, -0.02918, \
                 -0.02916, -0.02916, -0.0292");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03108, 0.02944, 0.0293, 0.02924, 0.02922, 0.02926, 0.02922, \
                 0.02924, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0292, -0.02925, -0.02924, -0.0292, -0.02915, -0.02921, -0.02918, \
                 -0.02918, -0.02916, -0.02917");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03056, 0.03058, 0.0305, 0.03054, 0.0305, 0.03045, 0.03033, 0.03019, \
                 0.03004, 0.02982");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02772, -0.02768, -0.02801, -0.02836, -0.02845, -0.02864, -0.02868, \
                 -0.02876, -0.02879, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02916, 0.02916, 0.0292, 0.02917, 0.02919, 0.02923, \
                 0.02921, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02774, -0.02769, -0.02801, -0.02831, -0.02845, -0.02864, -0.02871, \
                 -0.02873, -0.02877, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02915, 0.02912, 0.02922, 0.02915, 0.02918, 0.02922, \
                 0.02922, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02776, -0.02768, -0.02801, -0.02831, -0.02847, -0.02863, -0.0287, \
                 -0.02874, -0.02877, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02921, 0.02916, 0.02915, 0.02919, 0.02917, 0.02922, \
                 0.02921, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02772, -0.02769, -0.02801, -0.02836, -0.02848, -0.02865, -0.02868, \
                 -0.02874, -0.02878, -0.02881");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02951, 0.02951, 0.0295, 0.02946, 0.02943, 0.02944, 0.02939, \
                 0.02932, 0.02929, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007463, 0.007406, 0.007429, 0.007329, 0.007279, 0.007078, 0.006892, \
                 0.006686, 0.006411, 0.006014");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02931, 0.02927, 0.02924, 0.02923, 0.02927, 0.02928, 0.0292, \
                 0.02914, 0.02909, 0.02901");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02773, -0.02768, -0.02806, -0.02833, -0.02846, -0.02866, -0.02868, \
                 -0.02877, -0.02878, -0.02879");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02918, 0.0291, 0.02916, 0.02918, 0.0292, 0.02924, 0.02919, \
                 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02431, -0.02633, -0.02799, -0.02832, -0.02847, -0.02864, -0.0287, \
                 -0.02875, -0.02876, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02918, 0.02912, 0.02917, 0.02918, 0.02922, 0.02921, \
                 0.02921, 0.02922, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02431, -0.02633, -0.02799, -0.02832, -0.02846, -0.02864, -0.0287, \
                 -0.02874, -0.02877, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02918, 0.02916, 0.02917, 0.02917, 0.02924, 0.02922, \
                 0.0292, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02433, -0.02634, -0.02798, -0.02831, -0.02847, -0.02865, -0.02868, \
                 -0.02875, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02951, 0.02951, 0.02951, 0.02949, 0.02945, 0.02945, 0.02939, \
                 0.02932, 0.0293, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007462, 0.007406, 0.007431, 0.007351, 0.007279, 0.007064, 0.006899, \
                 0.006686, 0.006423, 0.006035");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02932, 0.02927, 0.02925, 0.02922, 0.02929, 0.02929, 0.0292, \
                 0.02915, 0.02909, 0.02902");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02773, -0.0277, -0.02808, -0.02833, -0.02845, -0.02866, -0.02868, \
                 -0.02877, -0.02878, -0.02878");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02917, 0.02913, 0.02915, 0.02916, 0.0292, 0.02921, \
                 0.02921, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02431, -0.02633, -0.02799, -0.02832, -0.02846, -0.02864, -0.0287, \
                 -0.02874, -0.02878, -0.02878");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02918, 0.02914, 0.02917, 0.02916, 0.02921, 0.0292, \
                 0.02919, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02431, -0.02633, -0.02799, -0.02832, -0.02846, -0.02865, -0.02868, \
                 -0.02875, -0.02878, -0.02878");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02918, 0.02916, 0.02917, 0.02917, 0.02924, 0.02923, \
                 0.02919, 0.02922, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0243, -0.02633, -0.02798, -0.02832, -0.02847, -0.02865, -0.02868, \
                 -0.02876, -0.02876, -0.02879");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02949, 0.02949, 0.0295, 0.02945, 0.0294, 0.02943, 0.02937, 0.02929, \
                 0.02927, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007635, 0.007582, 0.0076, 0.007498, 0.007453, 0.007236, 0.007058, \
                 0.006826, 0.006555, 0.006153");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02929, 0.02925, 0.02923, 0.02925, 0.02924, 0.0293, 0.02919, \
                 0.02915, 0.02908, 0.02898");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02773, -0.02768, -0.02808, -0.02834, -0.02845, -0.02866, -0.02867, \
                 -0.02877, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02914, 0.02917, 0.02917, 0.02914, 0.02923, 0.02921, \
                 0.02919, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0243, -0.02633, -0.02798, -0.02832, -0.02844, -0.02866, -0.02868, \
                 -0.02876, -0.02876, -0.0288");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02918, 0.02911, 0.02916, 0.02914, 0.02922, 0.0292, \
                 0.0292, 0.02919, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0243, -0.02632, -0.02798, -0.02833, -0.02846, -0.02867, -0.02868, \
                 -0.02876, -0.0288, -0.0288");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02916, 0.02918, 0.02916, 0.02917, 0.02917, 0.02926, 0.02922, \
                 0.0292, 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02429, -0.02633, -0.02798, -0.02836, -0.02846, -0.02864, -0.02867, \
                 -0.02878, -0.02878, -0.02879");
        }
      }
    }

    pin(C1) {
      capacitance : 0.009261 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02944, 0.02942, 0.02939, 0.0293, 0.02922, 0.02923, 0.02923, \
                 0.02925, 0.02923, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02941, -0.02941, -0.02935, -0.02926, -0.02918, -0.0292, -0.02919, \
                 -0.02917, -0.02919, -0.02914");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02936, 0.02937, 0.02938, 0.02932, 0.02925, 0.02924, 0.02924, \
                 0.02921, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02809, -0.02812, -0.02828, -0.0285, -0.02861, -0.02873, -0.02878, \
                 -0.02879, -0.02881, -0.02883");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02945, 0.02941, 0.02938, 0.02931, 0.02925, 0.02927, 0.02925, \
                 0.02923, 0.02922, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02945, -0.02944, -0.02939, -0.02932, -0.02925, -0.02924, -0.02919, \
                 -0.02918, -0.02917, -0.02917");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02941, 0.02943, 0.02942, 0.02938, 0.02932, 0.0293, 0.02927, \
                 0.02925, 0.02922, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02805, -0.0281, -0.02834, -0.02855, -0.02866, -0.02875, -0.02877, \
                 -0.0288, -0.02882, -0.02885");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02944, 0.02941, 0.02939, 0.02929, 0.02924, 0.02925, 0.02926, \
                 0.02922, 0.02923, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02943, -0.02944, -0.02938, -0.0293, -0.02924, -0.02923, -0.02921, \
                 -0.02919, -0.02917, -0.02917");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02939, 0.02941, 0.02941, 0.02939, 0.0293, 0.0293, 0.02927, 0.02926, \
                 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02802, -0.0281, -0.02832, -0.02855, -0.02866, -0.02874, -0.02878, \
                 -0.0288, -0.02882, -0.02885");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02945, 0.0294, 0.02939, 0.02932, 0.02925, 0.02926, 0.02924, \
                 0.02923, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02945, -0.02943, -0.02937, -0.02931, -0.02923, -0.02922, -0.02921, \
                 -0.02919, -0.02917, -0.02916");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02938, 0.02941, 0.02941, 0.02939, 0.02931, 0.02929, 0.02926, \
                 0.02924, 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02802, -0.0281, -0.02832, -0.02856, -0.02862, -0.02874, -0.02878, \
                 -0.0288, -0.02883, -0.02885");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02946, 0.02942, 0.02939, 0.02934, 0.02925, 0.02925, 0.02924, \
                 0.02925, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02944, -0.02942, -0.02939, -0.02932, -0.02924, -0.02924, -0.02922, \
                 -0.02919, -0.02917, -0.02916");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02941, 0.02942, 0.02943, 0.02939, 0.02931, 0.0293, 0.02928, \
                 0.02924, 0.02922, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02805, -0.02813, -0.02833, -0.02855, -0.02866, -0.02877, -0.02877, \
                 -0.0288, -0.02882, -0.02885");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02317, 0.02314, 0.02312, 0.0231, 0.02313, 0.02312, \
                 0.02309, 0.02306, 0.023");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009559, -0.009546, -0.009548, -0.009565, -0.009564, -0.009595, \
                 -0.009596, -0.009594, -0.00959, -0.009601");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02317, 0.02314, 0.02312, 0.0231, 0.02314, 0.02312, \
                 0.02309, 0.02305, 0.02301");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009559, -0.009546, -0.009548, -0.009565, -0.009564, -0.009586, \
                 -0.009595, -0.009599, -0.009601, -0.009599");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02322, 0.02317, 0.02312, 0.02315, 0.02311, 0.02314, 0.02312, \
                 0.02308, 0.02304, 0.023");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009559, -0.009532, -0.009553, -0.009564, -0.009572, -0.009584, \
                 -0.009597, -0.009607, -0.009595, -0.00959");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02945, 0.02946, 0.02939, 0.02934, 0.02925, 0.02926, 0.02923, \
                 0.02925, 0.02923, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02944, -0.02942, -0.02939, -0.02931, -0.02923, -0.02922, -0.02921, \
                 -0.02919, -0.02918, -0.02917");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02939, 0.02941, 0.02941, 0.02938, 0.0293, 0.02928, 0.02927, \
                 0.02924, 0.02922, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02802, -0.02817, -0.0283, -0.02853, -0.02867, -0.02874, -0.02879, \
                 -0.0288, -0.02881, -0.02883");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02317, 0.02314, 0.02312, 0.02311, 0.02313, 0.02312, \
                 0.0231, 0.02305, 0.02301");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009559, -0.009544, -0.009547, -0.009565, -0.009565, -0.009586, \
                 -0.009598, -0.0096, -0.009601, -0.009602");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02317, 0.02314, 0.02312, 0.0231, 0.02314, 0.02312, \
                 0.0231, 0.02306, 0.023");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009559, -0.009544, -0.009547, -0.009565, -0.009564, -0.009588, \
                 -0.009597, -0.009594, -0.009599, -0.009596");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02322, 0.02317, 0.02315, 0.02316, 0.02311, 0.02314, 0.02311, \
                 0.02307, 0.02305, 0.023");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009558, -0.00954, -0.009553, -0.009561, -0.009575, -0.00959, \
                 -0.009596, -0.0096, -0.009593, -0.009595");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02945, 0.02946, 0.02942, 0.02934, 0.02924, 0.02927, 0.02923, \
                 0.02925, 0.02924, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02944, -0.02942, -0.0294, -0.0293, -0.02923, -0.02922, -0.02922, \
                 -0.0292, -0.02916, -0.0292");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0294, 0.02939, 0.02941, 0.02937, 0.0293, 0.02928, 0.02926, 0.02924, \
                 0.02922, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02803, -0.02816, -0.0283, -0.02853, -0.02863, -0.02877, -0.02879, \
                 -0.0288, -0.02883, -0.02883");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02317, 0.02314, 0.02313, 0.02313, 0.02314, 0.02311, \
                 0.02309, 0.02305, 0.02301");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009557, -0.009544, -0.009551, -0.009587, -0.009569, -0.009597, \
                 -0.009591, -0.00959, -0.009599, -0.009596");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02321, 0.02317, 0.02313, 0.02312, 0.02313, 0.02314, 0.02312, \
                 0.0231, 0.02306, 0.02301");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009557, -0.009544, -0.009551, -0.009578, -0.009575, -0.009609, \
                 -0.009599, -0.009593, -0.009601, -0.009593");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02322, 0.02317, 0.02317, 0.02311, 0.02311, 0.02314, 0.02312, \
                 0.02309, 0.02305, 0.02301");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009556, -0.009525, -0.009557, -0.00957, -0.009576, -0.009603, \
                 -0.009603, -0.009592, -0.009596, -0.009596");
        }
      }
    }

    pin(C2) {
      capacitance : 0.008246 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02928, 0.02929, 0.02927, 0.0292, 0.02921, 0.02926, 0.02923, \
                 0.02922, 0.02923, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02917, -0.02922, -0.02918, -0.02916, -0.02911, -0.02915, -0.02917, \
                 -0.02917, -0.02915, -0.02917");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02916, 0.0291, 0.02915, 0.02916, 0.02923, 0.02921, \
                 0.02919, 0.02917, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02771, -0.0277, -0.02802, -0.02836, -0.02844, -0.02865, -0.02869, \
                 -0.02876, -0.02876, -0.02882");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02929, 0.02931, 0.02934, 0.02923, 0.02924, 0.02922, 0.02926, \
                 0.02922, 0.02922, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02923, -0.02925, -0.02923, -0.02923, -0.02913, -0.0292, -0.02919, \
                 -0.02917, -0.02917, -0.02917");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02916, 0.02911, 0.02919, 0.02916, 0.02924, 0.02922, \
                 0.02918, 0.0292, 0.02921");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0277, -0.0277, -0.02802, -0.02834, -0.02848, -0.02867, -0.02869, \
                 -0.02874, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02929, 0.0293, 0.02934, 0.02923, 0.02925, 0.02921, 0.02924, \
                 0.02922, 0.02922, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02922, -0.02924, -0.02922, -0.02922, -0.02914, -0.0292, -0.02919, \
                 -0.02917, -0.02916, -0.02916");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02916, 0.02911, 0.0292, 0.02916, 0.02924, 0.02922, \
                 0.02916, 0.0292, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0277, -0.0277, -0.02802, -0.02834, -0.0285, -0.02866, -0.02868, \
                 -0.02875, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02928, 0.02929, 0.02924, 0.02926, 0.02923, 0.02921, 0.02923, \
                 0.02923, 0.02921, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02918, -0.02924, -0.02922, -0.02923, -0.02916, -0.02918, -0.02919, \
                 -0.02918, -0.02915, -0.02916");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02914, 0.0291, 0.02915, 0.02915, 0.02918, 0.02923, \
                 0.0292, 0.02919, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0277, -0.0277, -0.02802, -0.02836, -0.02847, -0.02866, -0.02871, \
                 -0.02876, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02929, 0.02931, 0.02928, 0.02926, 0.02923, 0.02924, 0.02924, \
                 0.02923, 0.02921, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02924, -0.02926, -0.02923, -0.02918, -0.02915, -0.02918, -0.02918, \
                 -0.02917, -0.02916, -0.02916");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02916, 0.0291, 0.02916, 0.02918, 0.02922, 0.02921, \
                 0.02919, 0.02917, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02771, -0.0277, -0.02802, -0.02837, -0.02844, -0.02867, -0.02869, \
                 -0.02876, -0.02878, -0.02882");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02915, 0.0291, 0.02913, 0.02916, 0.02922, 0.02923, \
                 0.0292, 0.02919, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02437, -0.02641, -0.02801, -0.02833, -0.02845, -0.02867, -0.02869, \
                 -0.02876, -0.02878, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02915, 0.0291, 0.02917, 0.02918, 0.02921, 0.02921, \
                 0.02921, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02437, -0.02641, -0.028, -0.02837, -0.02848, -0.02866, -0.02868, \
                 -0.02876, -0.02875, -0.0288");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02914, 0.02907, 0.02917, 0.02924, 0.02923, 0.02922, \
                 0.02919, 0.0292, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02437, -0.02641, -0.02801, -0.02836, -0.02848, -0.02867, -0.0287, \
                 -0.02877, -0.02878, -0.02881");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02929, 0.0293, 0.02925, 0.02926, 0.0292, 0.02923, 0.02924, 0.02923, \
                 0.02922, 0.02923");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02923, -0.02925, -0.02922, -0.02922, -0.02915, -0.02919, -0.02919, \
                 -0.02917, -0.02918, -0.02922");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02916, 0.0291, 0.02914, 0.02918, 0.02925, 0.02921, \
                 0.0292, 0.02917, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02771, -0.0277, -0.02802, -0.02837, -0.02846, -0.02866, -0.02869, \
                 -0.02876, -0.02877, -0.02881");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02915, 0.0291, 0.02912, 0.02918, 0.02921, 0.02923, \
                 0.02921, 0.02919, 0.02922");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02437, -0.02641, -0.028, -0.02833, -0.02847, -0.02867, -0.02869, \
                 -0.02875, -0.02877, -0.02881");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02915, 0.0291, 0.02916, 0.02918, 0.02922, 0.02922, \
                 0.0292, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02437, -0.02641, -0.028, -0.02835, -0.02847, -0.02866, -0.02867, \
                 -0.02876, -0.02876, -0.02881");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02913, 0.02907, 0.02914, 0.0292, 0.02923, 0.02923, \
                 0.02921, 0.0292, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02437, -0.02641, -0.028, -0.02836, -0.02847, -0.02867, -0.0287, \
                 -0.02877, -0.02878, -0.02881");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02929, 0.02932, 0.02928, 0.02926, 0.02922, 0.02923, 0.02924, \
                 0.02922, 0.02922, 0.02924");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02923, -0.02925, -0.02922, -0.02921, -0.02915, -0.02918, -0.02918, \
                 -0.02917, -0.02918, -0.02917");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02916, 0.0291, 0.02915, 0.02917, 0.02923, 0.02921, \
                 0.0292, 0.02917, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02771, -0.0277, -0.02802, -0.02837, -0.02844, -0.02866, -0.02869, \
                 -0.02876, -0.02878, -0.02882");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02915, 0.02912, 0.02919, 0.0292, 0.02923, 0.02923, \
                 0.02922, 0.02918, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02437, -0.02641, -0.02801, -0.02833, -0.02847, -0.02865, -0.02868, \
                 -0.02876, -0.02879, -0.0288");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02917, 0.02915, 0.02909, 0.02919, 0.02917, 0.02922, 0.02922, \
                 0.02921, 0.02918, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02437, -0.02641, -0.028, -0.02837, -0.02847, -0.02866, -0.02868, \
                 -0.02876, -0.0288, -0.0288");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02918, 0.02913, 0.02907, 0.02918, 0.02917, 0.02921, 0.0292, \
                 0.0292, 0.02921, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02437, -0.02641, -0.028, -0.02833, -0.02847, -0.02866, -0.02869, \
                 -0.02876, -0.02879, -0.02881");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|((!B1)&(!B2))|((!C1)&(!C2)))" ;
      max_capacitance : 0.3079 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07729, 0.07731, 0.07732, 0.07746, 0.07749, 0.07755, 0.07761, 0.0776, 0.07766, 0.07755",\
                 "0.07797, 0.07801, 0.07818, 0.07845, 0.07861, 0.07878, 0.07883, 0.0789, 0.07894, 0.07891",\
                 "0.07927, 0.07929, 0.07937, 0.07953, 0.07967, 0.0798, 0.07988, 0.07995, 0.07998, 0.07999",\
                 "0.08452, 0.08433, 0.0839, 0.08328, 0.08271, 0.08222, 0.0818, 0.08152, 0.08129, 0.08115",\
                 "0.09763, 0.09705, 0.09549, 0.09326, 0.0911, 0.08915, 0.08745, 0.08613, 0.08509, 0.08424",\
                 "0.121, 0.12, 0.1169, 0.1124, 0.1076, 0.1032, 0.09944, 0.09617, 0.0935, 0.09136",\
                 "0.1566, 0.1551, 0.1501, 0.1427, 0.1346, 0.1269, 0.1199, 0.1139, 0.1088, 0.1045",\
                 "0.2053, 0.2031, 0.1963, 0.1857, 0.1737, 0.1619, 0.151, 0.1413, 0.1329, 0.1257",\
                 "0.2676, 0.265, 0.2563, 0.2427, 0.2264, 0.2099, 0.1942, 0.1801, 0.1677, 0.1567",\
                 "0.3442, 0.3411, 0.3309, 0.3142, 0.2938, 0.272, 0.2511, 0.2319, 0.2146, 0.1992");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1784, 0.1787, 0.1794, 0.1802, 0.181, 0.1816, 0.1826, 0.1831, 0.1843, 0.1874",\
                 "0.1771, 0.1776, 0.1789, 0.1804, 0.1817, 0.1829, 0.1837, 0.1846, 0.1859, 0.1893",\
                 "0.1779, 0.1781, 0.1788, 0.1801, 0.1815, 0.1828, 0.1843, 0.1854, 0.1866, 0.1901",\
                 "0.1868, 0.1864, 0.1853, 0.1846, 0.1844, 0.1849, 0.1855, 0.1864, 0.1871, 0.1909",\
                 "0.2065, 0.2054, 0.2025, 0.1986, 0.1955, 0.1933, 0.1917, 0.1913, 0.1914, 0.1947",\
                 "0.2383, 0.2365, 0.2314, 0.2248, 0.2176, 0.2117, 0.2069, 0.2036, 0.2014, 0.2044",\
                 "0.2831, 0.2808, 0.2736, 0.2635, 0.2526, 0.2422, 0.2332, 0.2258, 0.2206, 0.2221",\
                 "0.3416, 0.3387, 0.3297, 0.3161, 0.3013, 0.2867, 0.2729, 0.2607, 0.2511, 0.2522",\
                 "0.4148, 0.4115, 0.4007, 0.3843, 0.3648, 0.3452, 0.3268, 0.3098, 0.2958, 0.2987",\
                 "0.5035, 0.4996, 0.4871, 0.4679, 0.4444, 0.4197, 0.3961, 0.3738, 0.3578, 0.368");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05611, 0.05614, 0.05622, 0.05636, 0.05641, 0.05644, 0.05651, 0.05651, 0.05654, 0.05651",\
                 "0.05662, 0.05671, 0.05697, 0.05728, 0.0575, 0.05766, 0.05775, 0.0578, 0.05785, 0.05785",\
                 "0.05798, 0.05801, 0.05813, 0.05832, 0.05852, 0.05869, 0.05877, 0.05885, 0.0589, 0.05897",\
                 "0.06383, 0.06367, 0.06305, 0.06238, 0.06177, 0.06119, 0.06077, 0.06049, 0.06022, 0.06006",\
                 "0.07825, 0.07757, 0.07565, 0.073, 0.07048, 0.06836, 0.06664, 0.06517, 0.06405, 0.06323",\
                 "0.1036, 0.1023, 0.09836, 0.09316, 0.08779, 0.08295, 0.0789, 0.07546, 0.0727, 0.07049",\
                 "0.1411, 0.1391, 0.1332, 0.1247, 0.1157, 0.1073, 0.09987, 0.09353, 0.08827, 0.08389",\
                 "0.1915, 0.1889, 0.181, 0.1692, 0.1558, 0.1431, 0.1315, 0.1214, 0.1127, 0.1053",\
                 "0.2554, 0.2523, 0.2425, 0.2275, 0.2098, 0.1919, 0.1756, 0.1608, 0.1479, 0.1367",\
                 "0.3334, 0.3299, 0.3186, 0.3003, 0.2783, 0.2551, 0.2332, 0.2132, 0.1953, 0.1795");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1577, 0.158, 0.1587, 0.1594, 0.1603, 0.1609, 0.1617, 0.1624, 0.1635, 0.1661",\
                 "0.1565, 0.1569, 0.1582, 0.1596, 0.1609, 0.162, 0.163, 0.164, 0.1651, 0.168",\
                 "0.1572, 0.1574, 0.1581, 0.1593, 0.1608, 0.1621, 0.1633, 0.1646, 0.1659, 0.1689",\
                 "0.1661, 0.1657, 0.1647, 0.1638, 0.1638, 0.1642, 0.1647, 0.1656, 0.1667, 0.17",\
                 "0.1858, 0.1847, 0.1819, 0.1779, 0.1746, 0.1724, 0.1712, 0.1705, 0.1706, 0.1733",\
                 "0.2177, 0.216, 0.2108, 0.2039, 0.197, 0.1908, 0.1862, 0.1827, 0.1807, 0.1828",\
                 "0.2627, 0.2603, 0.253, 0.2428, 0.2319, 0.2215, 0.2125, 0.2051, 0.1999, 0.2005",\
                 "0.3216, 0.3186, 0.3094, 0.2957, 0.2806, 0.266, 0.2523, 0.2401, 0.2302, 0.2301",\
                 "0.3952, 0.3917, 0.3806, 0.3638, 0.3443, 0.3244, 0.306, 0.2892, 0.2748, 0.2762",\
                 "0.4844, 0.4804, 0.4676, 0.4476, 0.4236, 0.3988, 0.3752, 0.3531, 0.3361, 0.3449");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05609, 0.05611, 0.05621, 0.05632, 0.0564, 0.05646, 0.05651, 0.05653, 0.05655, 0.05654",\
                 "0.05659, 0.05669, 0.05694, 0.05727, 0.05747, 0.05767, 0.05773, 0.05782, 0.05786, 0.05787",\
                 "0.05806, 0.05809, 0.05821, 0.05838, 0.05858, 0.05873, 0.05883, 0.05888, 0.05893, 0.05898",\
                 "0.06424, 0.06407, 0.06345, 0.06267, 0.06203, 0.06143, 0.06099, 0.06062, 0.06038, 0.06018",\
                 "0.07932, 0.07856, 0.07656, 0.07395, 0.07136, 0.06909, 0.06724, 0.06575, 0.06453, 0.06361",\
                 "0.1056, 0.1043, 0.1003, 0.09494, 0.08948, 0.08444, 0.08026, 0.0767, 0.07383, 0.07143",\
                 "0.1443, 0.1423, 0.1364, 0.1277, 0.1185, 0.1099, 0.1023, 0.09576, 0.09033, 0.08568",\
                 "0.1963, 0.1938, 0.1858, 0.1739, 0.1602, 0.1472, 0.1354, 0.125, 0.1161, 0.1084",\
                 "0.2621, 0.2591, 0.2492, 0.2341, 0.2162, 0.1979, 0.1813, 0.1662, 0.153, 0.1414",\
                 "0.3425, 0.339, 0.3275, 0.3093, 0.2871, 0.2637, 0.2411, 0.2208, 0.2025, 0.1863");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1577, 0.158, 0.1587, 0.1594, 0.1602, 0.1609, 0.1616, 0.1624, 0.1635, 0.1661",\
                 "0.1561, 0.1566, 0.158, 0.1593, 0.1607, 0.1617, 0.163, 0.1638, 0.1649, 0.168",\
                 "0.1566, 0.1568, 0.1574, 0.1586, 0.1601, 0.1614, 0.1627, 0.1639, 0.1651, 0.1682",\
                 "0.1662, 0.1657, 0.1646, 0.1635, 0.1632, 0.1634, 0.1641, 0.1649, 0.166, 0.1691",\
                 "0.1873, 0.1862, 0.183, 0.1788, 0.1751, 0.1727, 0.1711, 0.1702, 0.1702, 0.173",\
                 "0.2207, 0.2189, 0.2136, 0.2067, 0.1992, 0.1925, 0.1873, 0.1839, 0.1812, 0.1831",\
                 "0.2674, 0.2649, 0.2576, 0.2473, 0.2362, 0.2255, 0.2158, 0.2077, 0.2019, 0.2018",\
                 "0.3285, 0.3255, 0.3161, 0.3024, 0.2871, 0.2722, 0.2579, 0.2449, 0.2347, 0.2341",\
                 "0.4047, 0.4011, 0.3901, 0.3732, 0.3536, 0.3338, 0.3149, 0.2975, 0.2822, 0.2827",\
                 "0.4971, 0.4929, 0.4799, 0.4601, 0.4361, 0.4115, 0.3875, 0.3651, 0.3473, 0.3552");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.0568, 0.05684, 0.0569, 0.057, 0.05709, 0.05714, 0.05717, 0.05721, 0.05721, 0.05718",\
                 "0.0573, 0.05741, 0.05766, 0.05798, 0.05818, 0.05832, 0.05843, 0.0585, 0.05854, 0.05859",\
                 "0.0587, 0.05871, 0.05884, 0.05903, 0.05921, 0.05938, 0.05948, 0.05954, 0.05962, 0.05964",\
                 "0.06454, 0.06432, 0.06376, 0.06304, 0.06243, 0.06188, 0.06147, 0.06116, 0.06092, 0.06071",\
                 "0.07895, 0.07817, 0.07622, 0.07374, 0.0712, 0.06906, 0.06726, 0.06589, 0.06476, 0.06393",\
                 "0.1042, 0.1029, 0.09905, 0.09383, 0.08851, 0.08362, 0.07958, 0.07616, 0.07342, 0.07118",\
                 "0.1416, 0.1397, 0.1338, 0.1253, 0.1163, 0.1079, 0.1006, 0.09421, 0.08895, 0.08458",\
                 "0.192, 0.1895, 0.1816, 0.1698, 0.1565, 0.1437, 0.1322, 0.1221, 0.1134, 0.106",\
                 "0.2559, 0.2529, 0.2431, 0.2281, 0.2104, 0.1926, 0.1763, 0.1614, 0.1486, 0.1373",\
                 "0.334, 0.3304, 0.3191, 0.301, 0.2789, 0.2558, 0.2338, 0.2138, 0.196, 0.1802");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1578, 0.158, 0.1588, 0.1595, 0.1602, 0.1611, 0.1617, 0.1627, 0.1636, 0.1661",\
                 "0.1565, 0.157, 0.1583, 0.1596, 0.161, 0.1621, 0.1631, 0.164, 0.1652, 0.168",\
                 "0.1573, 0.1574, 0.1582, 0.1593, 0.1608, 0.1623, 0.1634, 0.1646, 0.1659, 0.1695",\
                 "0.1662, 0.1658, 0.1647, 0.1639, 0.1637, 0.1641, 0.165, 0.1656, 0.1666, 0.17",\
                 "0.1858, 0.1848, 0.1819, 0.178, 0.1748, 0.1727, 0.1713, 0.1703, 0.1707, 0.1739",\
                 "0.2178, 0.216, 0.2108, 0.2041, 0.197, 0.1909, 0.1862, 0.1831, 0.1809, 0.1828",\
                 "0.2628, 0.2604, 0.2531, 0.2428, 0.2319, 0.2218, 0.2124, 0.2053, 0.1999, 0.2002",\
                 "0.3217, 0.3187, 0.3094, 0.2958, 0.2807, 0.266, 0.2524, 0.2399, 0.2308, 0.2305",\
                 "0.3953, 0.3918, 0.3807, 0.3639, 0.3444, 0.3246, 0.3063, 0.2892, 0.2753, 0.2762",\
                 "0.4845, 0.4805, 0.4677, 0.4478, 0.4241, 0.3992, 0.3752, 0.3532, 0.3363, 0.3448");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03566, 0.0357, 0.03586, 0.03593, 0.03597, 0.03603, 0.03606, 0.0361, 0.03613, 0.03614",\
                 "0.03584, 0.03604, 0.03638, 0.03677, 0.03703, 0.03721, 0.03733, 0.03741, 0.03744, 0.03749",\
                 "0.03715, 0.03726, 0.03753, 0.03783, 0.03805, 0.03826, 0.03837, 0.03845, 0.03852, 0.03857",\
                 "0.04401, 0.04377, 0.04304, 0.04219, 0.04145, 0.04083, 0.04041, 0.0401, 0.03988, 0.0397",\
                 "0.06027, 0.0593, 0.05672, 0.05361, 0.0507, 0.04831, 0.04645, 0.04497, 0.04382, 0.04294",\
                 "0.08776, 0.08597, 0.0811, 0.07487, 0.06878, 0.06346, 0.05905, 0.05548, 0.0526, 0.05029",\
                 "0.1271, 0.1248, 0.1177, 0.1078, 0.09761, 0.08846, 0.08053, 0.07389, 0.06839, 0.06391",\
                 "0.1794, 0.1764, 0.1672, 0.1537, 0.1389, 0.1251, 0.1128, 0.1022, 0.09321, 0.08558",\
                 "0.245, 0.2414, 0.2304, 0.2136, 0.1941, 0.175, 0.1577, 0.1422, 0.1289, 0.1173",\
                 "0.3245, 0.3204, 0.3077, 0.2878, 0.2638, 0.2392, 0.2161, 0.1953, 0.1769, 0.1605");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.137, 0.1373, 0.138, 0.1388, 0.1394, 0.14, 0.1409, 0.1411, 0.1421, 0.1447",\
                 "0.1357, 0.1363, 0.1375, 0.1389, 0.1403, 0.1412, 0.1423, 0.1433, 0.1436, 0.1464",\
                 "0.1365, 0.1367, 0.1374, 0.1385, 0.1399, 0.1413, 0.1422, 0.1435, 0.1446, 0.1481",\
                 "0.1455, 0.1451, 0.144, 0.143, 0.1429, 0.1431, 0.1437, 0.1443, 0.1457, 0.1482",\
                 "0.1651, 0.1641, 0.1612, 0.1572, 0.1538, 0.1516, 0.1502, 0.1495, 0.1496, 0.152",\
                 "0.1974, 0.1954, 0.1902, 0.1832, 0.1763, 0.1698, 0.165, 0.1614, 0.1597, 0.1611",\
                 "0.2426, 0.2401, 0.2326, 0.2221, 0.2111, 0.201, 0.1916, 0.1839, 0.1784, 0.1788",\
                 "0.302, 0.2987, 0.2892, 0.2756, 0.2598, 0.2452, 0.2315, 0.2191, 0.2093, 0.2079",\
                 "0.3761, 0.3724, 0.3608, 0.3436, 0.3238, 0.3038, 0.2857, 0.2684, 0.2536, 0.2532",\
                 "0.4656, 0.4615, 0.4484, 0.4278, 0.4035, 0.3784, 0.3545, 0.3326, 0.3153, 0.3213");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.0356, 0.03566, 0.03581, 0.03592, 0.03597, 0.03603, 0.03607, 0.03611, 0.03613, 0.03614",\
                 "0.03586, 0.03601, 0.03639, 0.03676, 0.03704, 0.03722, 0.03733, 0.03742, 0.03745, 0.03749",\
                 "0.03725, 0.03735, 0.03762, 0.03788, 0.0381, 0.03831, 0.0384, 0.03848, 0.03852, 0.03859",\
                 "0.04443, 0.04417, 0.04342, 0.0425, 0.04174, 0.04111, 0.0406, 0.04025, 0.03999, 0.0398",\
                 "0.06127, 0.06033, 0.05769, 0.05453, 0.05158, 0.04912, 0.04705, 0.0455, 0.04427, 0.0433",\
                 "0.08955, 0.08791, 0.08301, 0.0766, 0.07041, 0.06498, 0.06045, 0.05672, 0.05371, 0.05125",\
                 "0.1304, 0.1281, 0.1209, 0.1108, 0.1005, 0.0911, 0.083, 0.07617, 0.07044, 0.06569",\
                 "0.1842, 0.1812, 0.172, 0.1584, 0.1434, 0.1292, 0.1167, 0.1059, 0.09652, 0.08868",\
                 "0.2518, 0.2482, 0.2371, 0.2202, 0.2006, 0.181, 0.1633, 0.1476, 0.134, 0.122",\
                 "0.3335, 0.3295, 0.3168, 0.2967, 0.2727, 0.2478, 0.2241, 0.2029, 0.184, 0.1674");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.137, 0.1373, 0.138, 0.1387, 0.1393, 0.1398, 0.1405, 0.1418, 0.1428, 0.1444",\
                 "0.1354, 0.1359, 0.1372, 0.1386, 0.1398, 0.1408, 0.142, 0.1431, 0.1435, 0.1457",\
                 "0.1359, 0.136, 0.1367, 0.1378, 0.1393, 0.1407, 0.1416, 0.1429, 0.1444, 0.1468",\
                 "0.1456, 0.1452, 0.1438, 0.1427, 0.1423, 0.1425, 0.1431, 0.1436, 0.1443, 0.1481",\
                 "0.1666, 0.1656, 0.1624, 0.1581, 0.1544, 0.1517, 0.1501, 0.1492, 0.149, 0.1511",\
                 "0.2003, 0.1984, 0.193, 0.1859, 0.1786, 0.1715, 0.1663, 0.1624, 0.1598, 0.1618",\
                 "0.2473, 0.2448, 0.2373, 0.2266, 0.2156, 0.2047, 0.1948, 0.1867, 0.1805, 0.1798",\
                 "0.3089, 0.3056, 0.296, 0.2821, 0.2665, 0.2515, 0.2372, 0.224, 0.2134, 0.2117",\
                 "0.3856, 0.3818, 0.3702, 0.3529, 0.3332, 0.3131, 0.2943, 0.2768, 0.2612, 0.2597",\
                 "0.4783, 0.474, 0.4607, 0.4401, 0.4159, 0.3908, 0.3666, 0.3443, 0.3261, 0.3315");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.0568, 0.05684, 0.05691, 0.057, 0.05711, 0.05714, 0.05717, 0.0572, 0.0572, 0.05723",\
                 "0.05733, 0.05743, 0.05767, 0.05796, 0.05818, 0.05836, 0.05843, 0.05851, 0.05855, 0.05857",\
                 "0.05888, 0.05893, 0.05903, 0.05915, 0.05934, 0.05945, 0.05955, 0.05959, 0.05962, 0.05967",\
                 "0.06511, 0.06491, 0.06424, 0.06353, 0.06285, 0.06223, 0.06173, 0.0614, 0.06111, 0.06093",\
                 "0.08025, 0.07956, 0.07751, 0.07486, 0.0722, 0.06997, 0.06807, 0.06652, 0.06533, 0.06438",\
                 "0.1066, 0.1052, 0.1012, 0.09589, 0.0903, 0.08535, 0.08103, 0.0775, 0.07458, 0.07222",\
                 "0.1452, 0.1433, 0.1372, 0.1287, 0.1195, 0.1108, 0.1032, 0.09665, 0.09116, 0.08655",\
                 "0.1972, 0.1947, 0.1868, 0.1748, 0.1613, 0.1482, 0.1363, 0.1259, 0.1169, 0.1093",\
                 "0.263, 0.2599, 0.2503, 0.235, 0.2172, 0.1989, 0.1821, 0.1671, 0.1539, 0.1422",\
                 "0.3433, 0.3398, 0.3285, 0.3102, 0.288, 0.2646, 0.242, 0.2218, 0.2033, 0.1872");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1574, 0.1577, 0.1584, 0.1592, 0.16, 0.1608, 0.1614, 0.1622, 0.1632, 0.1661",\
                 "0.1558, 0.1563, 0.1575, 0.1589, 0.1603, 0.1615, 0.1624, 0.1634, 0.1646, 0.1677",\
                 "0.1567, 0.1569, 0.1574, 0.1585, 0.1599, 0.1613, 0.1626, 0.1638, 0.1651, 0.1682",\
                 "0.1664, 0.1659, 0.1648, 0.1637, 0.1633, 0.1635, 0.1642, 0.1649, 0.1659, 0.1693",\
                 "0.1873, 0.1863, 0.1831, 0.1789, 0.1754, 0.1728, 0.1712, 0.1702, 0.1703, 0.1733",\
                 "0.2206, 0.2188, 0.2136, 0.2065, 0.1992, 0.1927, 0.1875, 0.1837, 0.1815, 0.1835",\
                 "0.2674, 0.2649, 0.2576, 0.2474, 0.2362, 0.2255, 0.2159, 0.2079, 0.2019, 0.2027",\
                 "0.3283, 0.3253, 0.316, 0.3025, 0.2872, 0.2723, 0.2582, 0.2449, 0.2349, 0.234",\
                 "0.4045, 0.4009, 0.3899, 0.373, 0.3537, 0.3339, 0.3148, 0.2973, 0.2826, 0.283",\
                 "0.4967, 0.4927, 0.4798, 0.4599, 0.4362, 0.4117, 0.3874, 0.3649, 0.3473, 0.3551");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03559, 0.03565, 0.03584, 0.03591, 0.03599, 0.03603, 0.03607, 0.03611, 0.03613, 0.03614",\
                 "0.03585, 0.03603, 0.0364, 0.03678, 0.03707, 0.03724, 0.03733, 0.03737, 0.03745, 0.03749",\
                 "0.03743, 0.0375, 0.03776, 0.03798, 0.03821, 0.03832, 0.03843, 0.03849, 0.03852, 0.03857",\
                 "0.04469, 0.04435, 0.04356, 0.04263, 0.04188, 0.04121, 0.04072, 0.04031, 0.04008, 0.03985",\
                 "0.06161, 0.06059, 0.05804, 0.05475, 0.05176, 0.04923, 0.04718, 0.04563, 0.04434, 0.04338",\
                 "0.09, 0.0882, 0.08339, 0.0769, 0.07071, 0.0652, 0.06056, 0.0568, 0.0538, 0.05136",\
                 "0.1308, 0.1284, 0.1212, 0.1111, 0.1007, 0.09132, 0.08316, 0.07638, 0.0706, 0.06587",\
                 "0.1845, 0.1815, 0.1723, 0.1587, 0.1437, 0.1295, 0.117, 0.1061, 0.09683, 0.08887",\
                 "0.2521, 0.2486, 0.2375, 0.2205, 0.2009, 0.1813, 0.1635, 0.1479, 0.1342, 0.1223",\
                 "0.3339, 0.3299, 0.3172, 0.297, 0.2729, 0.2481, 0.2244, 0.2032, 0.1843, 0.1676");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1366, 0.137, 0.1376, 0.1383, 0.1391, 0.1398, 0.1402, 0.1409, 0.1425, 0.1441",\
                 "0.135, 0.1355, 0.1368, 0.1381, 0.1395, 0.1405, 0.1415, 0.142, 0.143, 0.1464",\
                 "0.1359, 0.1361, 0.1366, 0.1377, 0.1391, 0.1403, 0.1414, 0.1427, 0.1437, 0.1471",\
                 "0.1457, 0.1453, 0.144, 0.1428, 0.1424, 0.1425, 0.1432, 0.1437, 0.1445, 0.1481",\
                 "0.1666, 0.1656, 0.1624, 0.1581, 0.1545, 0.1517, 0.15, 0.1493, 0.1491, 0.1514",\
                 "0.2002, 0.1982, 0.1928, 0.1857, 0.1785, 0.1717, 0.1662, 0.1626, 0.1597, 0.1618",\
                 "0.2471, 0.2447, 0.237, 0.2266, 0.2155, 0.2049, 0.1949, 0.1868, 0.1805, 0.1804",\
                 "0.3085, 0.3054, 0.2959, 0.2819, 0.2665, 0.2515, 0.2373, 0.2239, 0.2135, 0.2121",\
                 "0.3853, 0.3815, 0.3701, 0.3526, 0.3329, 0.3129, 0.2942, 0.2766, 0.2611, 0.2597",\
                 "0.478, 0.4738, 0.4604, 0.4399, 0.4157, 0.3908, 0.3664, 0.3443, 0.3261, 0.3315");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03553, 0.03565, 0.03578, 0.03588, 0.03596, 0.03602, 0.03607, 0.0361, 0.03614, 0.03616",\
                 "0.03582, 0.03604, 0.03641, 0.03675, 0.03703, 0.03722, 0.03733, 0.03739, 0.03746, 0.03748",\
                 "0.0375, 0.03759, 0.03783, 0.03804, 0.03826, 0.03837, 0.03845, 0.03853, 0.03857, 0.03859",\
                 "0.04518, 0.04482, 0.04402, 0.04308, 0.04222, 0.04153, 0.04094, 0.04054, 0.0402, 0.03997",\
                 "0.06286, 0.06188, 0.05917, 0.05574, 0.05275, 0.05012, 0.04798, 0.04629, 0.04494, 0.04387",\
                 "0.09229, 0.09047, 0.08554, 0.07903, 0.07256, 0.06696, 0.0622, 0.05829, 0.05511, 0.05252",\
                 "0.1343, 0.1319, 0.1247, 0.1146, 0.104, 0.09432, 0.08606, 0.07895, 0.07301, 0.06799",\
                 "0.1898, 0.1868, 0.1776, 0.164, 0.1487, 0.1343, 0.1215, 0.1103, 0.1007, 0.09247",\
                 "0.2594, 0.2559, 0.2448, 0.2277, 0.2081, 0.1883, 0.1701, 0.1539, 0.1399, 0.1277",\
                 "0.3437, 0.3398, 0.3269, 0.3068, 0.2827, 0.2576, 0.2336, 0.2118, 0.1925, 0.1754");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1367, 0.137, 0.1376, 0.1383, 0.1391, 0.1396, 0.1405, 0.1408, 0.1417, 0.1441",\
                 "0.1346, 0.1351, 0.1363, 0.1379, 0.1392, 0.14, 0.1413, 0.1424, 0.1427, 0.1454",\
                 "0.1352, 0.1354, 0.1358, 0.1368, 0.1382, 0.1395, 0.1406, 0.1421, 0.1432, 0.1458",\
                 "0.146, 0.1455, 0.1439, 0.1425, 0.1418, 0.1418, 0.142, 0.1427, 0.144, 0.1471",\
                 "0.1683, 0.1672, 0.1639, 0.1593, 0.155, 0.152, 0.1499, 0.149, 0.1488, 0.1504",\
                 "0.2034, 0.2017, 0.1961, 0.1887, 0.1811, 0.1738, 0.1678, 0.1637, 0.1606, 0.1611",\
                 "0.2522, 0.2498, 0.2422, 0.2316, 0.2203, 0.2094, 0.1984, 0.1897, 0.1829, 0.1824",\
                 "0.3159, 0.3127, 0.3031, 0.2893, 0.2738, 0.2584, 0.244, 0.23, 0.2187, 0.2164",\
                 "0.3954, 0.3916, 0.38, 0.3627, 0.3433, 0.3232, 0.3041, 0.286, 0.2694, 0.2675",\
                 "0.4915, 0.4871, 0.4735, 0.453, 0.4291, 0.4044, 0.3801, 0.3573, 0.3382, 0.343");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.09754, 0.09754, 0.09744, 0.09744, 0.09746, 0.09747, 0.09748, 0.09753, 0.09753, 0.09742",\
                 "0.09592, 0.09585, 0.09585, 0.09584, 0.09595, 0.09596, 0.09594, 0.09595, 0.09595, 0.0959",\
                 "0.09547, 0.09545, 0.09537, 0.09527, 0.09513, 0.09504, 0.09498, 0.09497, 0.09497, 0.09481",\
                 "0.1009, 0.1006, 0.09985, 0.09896, 0.0979, 0.09714, 0.09655, 0.09605, 0.09576, 0.09551",\
                 "0.1153, 0.1146, 0.1127, 0.11, 0.1072, 0.1046, 0.1025, 0.1009, 0.09954, 0.09857",\
                 "0.142, 0.1407, 0.1371, 0.1316, 0.1258, 0.1203, 0.1157, 0.1118, 0.1086, 0.1061",\
                 "0.1825, 0.1807, 0.175, 0.1664, 0.1566, 0.147, 0.1386, 0.1314, 0.1254, 0.1203",\
                 "0.2382, 0.2358, 0.2282, 0.2161, 0.2017, 0.1873, 0.1739, 0.1623, 0.1522, 0.1437",\
                 "0.3099, 0.307, 0.2974, 0.2819, 0.2628, 0.2429, 0.2238, 0.2065, 0.1914, 0.1783",\
                 "0.3983, 0.3948, 0.3834, 0.3645, 0.3409, 0.3152, 0.2898, 0.2662, 0.2448, 0.2261");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1995, 0.1998, 0.2004, 0.2011, 0.2017, 0.2024, 0.2031, 0.2038, 0.205, 0.2081",\
                 "0.1979, 0.1984, 0.1997, 0.2013, 0.2025, 0.2035, 0.2045, 0.2054, 0.2067, 0.2097",\
                 "0.1956, 0.196, 0.1973, 0.1992, 0.2013, 0.2029, 0.2045, 0.2058, 0.2071, 0.2108",\
                 "0.202, 0.2018, 0.2015, 0.2017, 0.2025, 0.2036, 0.2046, 0.206, 0.2073, 0.2111",\
                 "0.2216, 0.2206, 0.2181, 0.2151, 0.213, 0.2116, 0.2107, 0.2106, 0.211, 0.2146",\
                 "0.2563, 0.2546, 0.2493, 0.2426, 0.2362, 0.2306, 0.2263, 0.2234, 0.2218, 0.2242",\
                 "0.307, 0.3045, 0.2969, 0.2859, 0.2746, 0.2641, 0.2552, 0.2478, 0.2427, 0.2434",\
                 "0.3742, 0.3709, 0.361, 0.346, 0.3293, 0.3136, 0.2992, 0.2866, 0.2768, 0.2761",\
                 "0.458, 0.4543, 0.4425, 0.4241, 0.4023, 0.3803, 0.36, 0.342, 0.3269, 0.3258",\
                 "0.5596, 0.5553, 0.5419, 0.5204, 0.4937, 0.4655, 0.4387, 0.4144, 0.3951, 0.3985");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07642, 0.0764, 0.07637, 0.07637, 0.07642, 0.07644, 0.07642, 0.07641, 0.0764, 0.07636",\
                 "0.07473, 0.07474, 0.07475, 0.07482, 0.07481, 0.07484, 0.07485, 0.07487, 0.07488, 0.07482",\
                 "0.0745, 0.07445, 0.07429, 0.07417, 0.07405, 0.07399, 0.0739, 0.07388, 0.07388, 0.07387",\
                 "0.08048, 0.0802, 0.07928, 0.07817, 0.07706, 0.07617, 0.07551, 0.07502, 0.07471, 0.07444",\
                 "0.09648, 0.09565, 0.09325, 0.08993, 0.08676, 0.08398, 0.08169, 0.07999, 0.07858, 0.07756",\
                 "0.125, 0.1236, 0.1192, 0.1129, 0.1063, 0.1003, 0.09523, 0.09117, 0.08787, 0.08526",\
                 "0.1676, 0.1655, 0.1589, 0.1491, 0.1382, 0.1278, 0.1187, 0.1112, 0.1049, 0.09972",\
                 "0.2254, 0.2227, 0.2139, 0.2003, 0.1846, 0.169, 0.1549, 0.1425, 0.1321, 0.1233",\
                 "0.299, 0.2956, 0.2848, 0.2677, 0.2471, 0.2257, 0.2056, 0.1876, 0.1719, 0.1584",\
                 "0.389, 0.3851, 0.3725, 0.3521, 0.3265, 0.2993, 0.2727, 0.248, 0.2259, 0.2067");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1789, 0.1791, 0.1797, 0.1803, 0.1811, 0.1817, 0.1823, 0.1832, 0.1845, 0.1871",\
                 "0.1772, 0.1777, 0.179, 0.1805, 0.1818, 0.1828, 0.1838, 0.1847, 0.1859, 0.1888",\
                 "0.1749, 0.1754, 0.1766, 0.1785, 0.1805, 0.1821, 0.1836, 0.1849, 0.1863, 0.1895",\
                 "0.1813, 0.1811, 0.1808, 0.1809, 0.1818, 0.1829, 0.184, 0.1852, 0.1866, 0.1899",\
                 "0.2009, 0.1999, 0.1974, 0.1944, 0.1921, 0.1906, 0.19, 0.1898, 0.1902, 0.1935",\
                 "0.2359, 0.234, 0.2287, 0.2219, 0.2154, 0.2099, 0.2058, 0.2028, 0.2008, 0.2029",\
                 "0.2868, 0.2842, 0.2764, 0.2652, 0.2538, 0.2434, 0.2344, 0.2273, 0.2217, 0.2223",\
                 "0.3543, 0.351, 0.3408, 0.3256, 0.3088, 0.293, 0.2787, 0.2661, 0.2558, 0.2546",\
                 "0.4387, 0.4348, 0.4228, 0.4038, 0.3818, 0.3595, 0.3395, 0.3211, 0.3059, 0.3039",\
                 "0.5405, 0.5362, 0.5226, 0.5005, 0.4736, 0.4448, 0.4179, 0.3938, 0.3743, 0.375");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07638, 0.07637, 0.07635, 0.07634, 0.07639, 0.07643, 0.0764, 0.07642, 0.07644, 0.07639",\
                 "0.0747, 0.0747, 0.07472, 0.07475, 0.07483, 0.07486, 0.07486, 0.07488, 0.07489, 0.07488",\
                 "0.0746, 0.07453, 0.07434, 0.07416, 0.07407, 0.07406, 0.07394, 0.0739, 0.07389, 0.07387",\
                 "0.08086, 0.08053, 0.07967, 0.07845, 0.07731, 0.07635, 0.07567, 0.07517, 0.07483, 0.07454",\
                 "0.09761, 0.0968, 0.09424, 0.09089, 0.08757, 0.08471, 0.08235, 0.08047, 0.07907, 0.07797",\
                 "0.1274, 0.1259, 0.1214, 0.115, 0.1081, 0.1019, 0.09673, 0.09249, 0.08903, 0.08628",\
                 "0.1717, 0.1696, 0.1628, 0.1527, 0.1416, 0.1309, 0.1215, 0.1136, 0.1071, 0.1017",\
                 "0.2316, 0.2288, 0.2199, 0.2061, 0.1901, 0.1742, 0.1596, 0.1468, 0.1359, 0.1268",\
                 "0.308, 0.3046, 0.2936, 0.2762, 0.2552, 0.2334, 0.2127, 0.1941, 0.1778, 0.1638",\
                 "0.4012, 0.3972, 0.3845, 0.3636, 0.3377, 0.3099, 0.2827, 0.2575, 0.2348, 0.2148");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1788, 0.179, 0.1797, 0.1803, 0.1811, 0.1816, 0.1824, 0.1832, 0.1842, 0.1871",\
                 "0.1769, 0.1774, 0.1788, 0.1803, 0.1815, 0.1826, 0.1838, 0.1845, 0.186, 0.1885",\
                 "0.1743, 0.1746, 0.1759, 0.1777, 0.1798, 0.1814, 0.183, 0.1843, 0.1856, 0.1889",\
                 "0.1811, 0.1809, 0.1804, 0.1803, 0.1811, 0.182, 0.1831, 0.1843, 0.1857, 0.1893",\
                 "0.2023, 0.2011, 0.1985, 0.195, 0.1922, 0.1906, 0.1897, 0.1894, 0.1896, 0.1928",\
                 "0.2394, 0.2375, 0.2319, 0.2247, 0.2176, 0.2116, 0.2069, 0.2034, 0.2011, 0.2032",\
                 "0.2929, 0.2903, 0.2823, 0.2705, 0.2586, 0.2475, 0.2378, 0.2299, 0.2239, 0.2236",\
                 "0.3635, 0.3601, 0.3497, 0.3342, 0.3167, 0.3003, 0.2851, 0.2717, 0.2608, 0.2585",\
                 "0.4513, 0.4475, 0.4353, 0.416, 0.3936, 0.3707, 0.3496, 0.3305, 0.3145, 0.3114",\
                 "0.5578, 0.5534, 0.5394, 0.5172, 0.4896, 0.4608, 0.4329, 0.408, 0.387, 0.3872");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07711, 0.0771, 0.07707, 0.07706, 0.07711, 0.07714, 0.07709, 0.07711, 0.07709, 0.07705",\
                 "0.07542, 0.07543, 0.07545, 0.07551, 0.0755, 0.07553, 0.07554, 0.07555, 0.07556, 0.0755",\
                 "0.07519, 0.07514, 0.07498, 0.07487, 0.07474, 0.07469, 0.07459, 0.07457, 0.07457, 0.07456",\
                 "0.08117, 0.08088, 0.07996, 0.07885, 0.07775, 0.07688, 0.07618, 0.07571, 0.0754, 0.07513",\
                 "0.09713, 0.09634, 0.0939, 0.09061, 0.08745, 0.0847, 0.08238, 0.08064, 0.07926, 0.0783",\
                 "0.1257, 0.1242, 0.1198, 0.1135, 0.1069, 0.1009, 0.09595, 0.09187, 0.08859, 0.08593",\
                 "0.1682, 0.1661, 0.1595, 0.1497, 0.1388, 0.1285, 0.1194, 0.1119, 0.1056, 0.1004",\
                 "0.226, 0.2232, 0.2144, 0.2009, 0.1853, 0.1696, 0.1555, 0.1432, 0.1328, 0.124",\
                 "0.2995, 0.2962, 0.2853, 0.2683, 0.2477, 0.2263, 0.2062, 0.1882, 0.1725, 0.1591",\
                 "0.3893, 0.3855, 0.3731, 0.3526, 0.3272, 0.2999, 0.2733, 0.2486, 0.2266, 0.2073");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1789, 0.1791, 0.1798, 0.1803, 0.181, 0.1817, 0.1824, 0.1832, 0.1843, 0.1871",\
                 "0.1772, 0.1777, 0.1791, 0.1806, 0.1818, 0.183, 0.1838, 0.1847, 0.186, 0.1888",\
                 "0.175, 0.1754, 0.1767, 0.1785, 0.1805, 0.1822, 0.1837, 0.1849, 0.1864, 0.1898",\
                 "0.1814, 0.1812, 0.1809, 0.181, 0.1818, 0.1829, 0.184, 0.1852, 0.1867, 0.1901",\
                 "0.2009, 0.1999, 0.1975, 0.1944, 0.1922, 0.1906, 0.19, 0.1901, 0.1903, 0.1935",\
                 "0.2359, 0.2341, 0.2288, 0.222, 0.2155, 0.2099, 0.2057, 0.2028, 0.2009, 0.2032",\
                 "0.2869, 0.2843, 0.2764, 0.2653, 0.2538, 0.2433, 0.2345, 0.2271, 0.2221, 0.2223",\
                 "0.3543, 0.3511, 0.3409, 0.3257, 0.3088, 0.293, 0.2786, 0.2657, 0.2561, 0.2546",\
                 "0.4386, 0.4349, 0.4229, 0.4039, 0.3817, 0.3596, 0.3394, 0.3212, 0.306, 0.3039",\
                 "0.5407, 0.5363, 0.5226, 0.5007, 0.4737, 0.4451, 0.418, 0.3942, 0.374, 0.3752");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05601, 0.05601, 0.05598, 0.05599, 0.05598, 0.056, 0.05599, 0.056, 0.056, 0.05597",\
                 "0.05427, 0.05429, 0.05434, 0.0544, 0.0544, 0.05444, 0.05446, 0.05446, 0.05447, 0.05444",\
                 "0.05423, 0.05416, 0.05398, 0.05377, 0.05368, 0.05361, 0.05352, 0.0535, 0.05347, 0.05347",\
                 "0.06111, 0.06068, 0.05954, 0.05814, 0.05689, 0.05591, 0.05518, 0.05468, 0.05435, 0.05407",\
                 "0.07897, 0.07787, 0.07478, 0.07085, 0.06714, 0.06404, 0.0616, 0.05974, 0.05835, 0.05732",\
                 "0.1097, 0.1079, 0.1024, 0.095, 0.08757, 0.08093, 0.07555, 0.07127, 0.06785, 0.06515",\
                 "0.1546, 0.152, 0.1442, 0.1328, 0.1206, 0.1093, 0.09968, 0.09169, 0.08514, 0.07983",\
                 "0.2145, 0.2112, 0.201, 0.1858, 0.1684, 0.1516, 0.1365, 0.1236, 0.1128, 0.1037",\
                 "0.2898, 0.286, 0.2739, 0.2549, 0.2324, 0.2094, 0.1882, 0.1693, 0.153, 0.1392",\
                 "0.3813, 0.3771, 0.3631, 0.3408, 0.3132, 0.2843, 0.2562, 0.2305, 0.2078, 0.1881");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1582, 0.1584, 0.1589, 0.1595, 0.1602, 0.1608, 0.1614, 0.1618, 0.1627, 0.1652",\
                 "0.1564, 0.157, 0.1583, 0.1596, 0.1609, 0.1619, 0.1631, 0.1634, 0.1643, 0.1671",\
                 "0.1542, 0.1546, 0.1559, 0.1577, 0.1596, 0.1613, 0.1629, 0.1636, 0.1654, 0.1689",\
                 "0.1607, 0.1604, 0.1602, 0.1601, 0.1608, 0.162, 0.1629, 0.1642, 0.1652, 0.168",\
                 "0.1801, 0.1792, 0.1767, 0.1737, 0.1714, 0.1696, 0.169, 0.1686, 0.1693, 0.1723",\
                 "0.2154, 0.2135, 0.208, 0.2012, 0.1947, 0.1891, 0.1845, 0.1814, 0.1796, 0.1812",\
                 "0.2669, 0.2641, 0.2561, 0.2446, 0.233, 0.2228, 0.2137, 0.2059, 0.2004, 0.2002",\
                 "0.3347, 0.3313, 0.3208, 0.3052, 0.2881, 0.2721, 0.2579, 0.2453, 0.2345, 0.2324",\
                 "0.4195, 0.4155, 0.4032, 0.3836, 0.3613, 0.3389, 0.3186, 0.3005, 0.2851, 0.2809",\
                 "0.5218, 0.5174, 0.5034, 0.4808, 0.4532, 0.4242, 0.3971, 0.3732, 0.3529, 0.3526");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05597, 0.05597, 0.05596, 0.05596, 0.05601, 0.056, 0.05598, 0.05598, 0.05599, 0.056",\
                 "0.05424, 0.05426, 0.05431, 0.05437, 0.0544, 0.05444, 0.05445, 0.05447, 0.05448, 0.05448",\
                 "0.05426, 0.05423, 0.05404, 0.05382, 0.05369, 0.05362, 0.05354, 0.05351, 0.05349, 0.05347",\
                 "0.06155, 0.06107, 0.05992, 0.05845, 0.05715, 0.05613, 0.05537, 0.05484, 0.05449, 0.05418",\
                 "0.0801, 0.07909, 0.07582, 0.07183, 0.06798, 0.0648, 0.06222, 0.06031, 0.05883, 0.0577",\
                 "0.1121, 0.1102, 0.1048, 0.09711, 0.08942, 0.08266, 0.07702, 0.07259, 0.06896, 0.06613",\
                 "0.1587, 0.156, 0.1481, 0.1365, 0.1242, 0.1125, 0.1025, 0.09417, 0.08736, 0.08181",\
                 "0.2208, 0.2175, 0.2072, 0.1916, 0.174, 0.1568, 0.1413, 0.1279, 0.1166, 0.1072",\
                 "0.2989, 0.295, 0.2827, 0.2634, 0.2405, 0.2171, 0.1953, 0.1759, 0.159, 0.1445",\
                 "0.3937, 0.3893, 0.3752, 0.3525, 0.3246, 0.295, 0.2663, 0.2401, 0.2167, 0.1962");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1582, 0.1584, 0.1589, 0.1595, 0.1601, 0.1606, 0.1612, 0.1619, 0.1627, 0.1649",\
                 "0.1562, 0.1568, 0.1581, 0.1594, 0.1607, 0.1616, 0.1629, 0.1632, 0.1641, 0.1664",\
                 "0.1535, 0.1539, 0.1551, 0.157, 0.1588, 0.1605, 0.1622, 0.1632, 0.1644, 0.1682",\
                 "0.1604, 0.1603, 0.1598, 0.1596, 0.1602, 0.161, 0.1621, 0.1634, 0.1644, 0.1673",\
                 "0.1815, 0.1806, 0.1778, 0.1744, 0.1715, 0.1698, 0.1686, 0.1682, 0.1686, 0.171",\
                 "0.219, 0.2171, 0.2114, 0.204, 0.1969, 0.1906, 0.1856, 0.1821, 0.18, 0.1815",\
                 "0.273, 0.2702, 0.2618, 0.25, 0.2378, 0.227, 0.2173, 0.2086, 0.2025, 0.2019",\
                 "0.3439, 0.3404, 0.3297, 0.3136, 0.296, 0.2796, 0.2644, 0.2509, 0.2394, 0.2364",\
                 "0.4322, 0.4283, 0.4157, 0.396, 0.3731, 0.3501, 0.3288, 0.3102, 0.2937, 0.2887",\
                 "0.5391, 0.5346, 0.5203, 0.4972, 0.4694, 0.4401, 0.4122, 0.387, 0.3662, 0.3648");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07706, 0.07706, 0.07706, 0.07709, 0.0771, 0.07708, 0.07708, 0.07711, 0.07712, 0.07712",\
                 "0.07547, 0.07547, 0.07544, 0.07548, 0.0755, 0.07557, 0.07554, 0.07556, 0.07558, 0.07557",\
                 "0.0754, 0.07532, 0.07509, 0.07492, 0.07485, 0.07476, 0.07466, 0.07462, 0.07459, 0.07456",\
                 "0.08177, 0.08141, 0.08045, 0.0793, 0.07813, 0.07715, 0.07645, 0.07593, 0.07551, 0.07527",\
                 "0.09864, 0.09774, 0.09518, 0.09186, 0.08838, 0.08552, 0.08313, 0.08126, 0.07985, 0.07868",\
                 "0.1284, 0.1269, 0.1223, 0.1159, 0.1091, 0.1029, 0.09756, 0.09333, 0.08984, 0.08705",\
                 "0.1726, 0.1704, 0.1638, 0.1536, 0.1425, 0.1318, 0.1225, 0.1145, 0.108, 0.1026",\
                 "0.2326, 0.2298, 0.2208, 0.2071, 0.1911, 0.1752, 0.1605, 0.1477, 0.1368, 0.1277",\
                 "0.3089, 0.3055, 0.2946, 0.2772, 0.2562, 0.2344, 0.2137, 0.195, 0.1787, 0.1648",\
                 "0.4022, 0.3981, 0.3854, 0.3646, 0.3387, 0.311, 0.2837, 0.2584, 0.2357, 0.2158");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1786, 0.1788, 0.1795, 0.18, 0.1807, 0.1815, 0.1823, 0.1829, 0.1839, 0.1868",\
                 "0.1766, 0.1771, 0.1784, 0.1799, 0.1812, 0.1824, 0.1832, 0.1841, 0.1853, 0.1881",\
                 "0.1743, 0.1747, 0.1759, 0.1777, 0.1796, 0.1814, 0.1829, 0.1843, 0.1855, 0.1889",\
                 "0.1814, 0.1811, 0.1807, 0.1805, 0.1811, 0.1821, 0.1832, 0.1844, 0.1858, 0.1895",\
                 "0.2023, 0.2013, 0.1985, 0.1951, 0.1924, 0.1907, 0.1898, 0.1895, 0.1897, 0.1928",\
                 "0.2394, 0.2374, 0.2319, 0.2247, 0.2176, 0.2116, 0.2071, 0.2036, 0.2012, 0.2032",\
                 "0.2928, 0.2901, 0.2821, 0.2708, 0.2587, 0.2477, 0.238, 0.2301, 0.2244, 0.2239",\
                 "0.3633, 0.36, 0.3496, 0.334, 0.3168, 0.3002, 0.2853, 0.272, 0.2609, 0.2587",\
                 "0.4512, 0.4473, 0.4351, 0.416, 0.3934, 0.3707, 0.3499, 0.3306, 0.3148, 0.3114",\
                 "0.5575, 0.5531, 0.5392, 0.5167, 0.4895, 0.461, 0.4328, 0.4076, 0.3873, 0.3877");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05597, 0.05599, 0.05598, 0.05599, 0.05601, 0.05602, 0.05603, 0.05599, 0.056, 0.056",\
                 "0.05433, 0.0543, 0.05434, 0.05439, 0.05441, 0.05445, 0.05446, 0.05447, 0.05448, 0.05448",\
                 "0.05437, 0.05433, 0.05411, 0.0539, 0.05376, 0.05365, 0.05358, 0.05353, 0.0535, 0.05347",\
                 "0.06176, 0.06131, 0.06007, 0.05861, 0.05729, 0.05623, 0.05547, 0.05491, 0.0545, 0.05421",\
                 "0.08045, 0.07937, 0.07613, 0.07209, 0.06821, 0.06495, 0.06236, 0.06039, 0.05889, 0.05773",\
                 "0.1125, 0.1106, 0.1051, 0.09756, 0.08971, 0.08294, 0.07719, 0.07277, 0.06908, 0.06624",\
                 "0.1592, 0.1565, 0.1485, 0.1369, 0.1245, 0.1128, 0.1028, 0.09442, 0.08752, 0.08198",\
                 "0.2212, 0.2179, 0.2076, 0.192, 0.1744, 0.1571, 0.1416, 0.1281, 0.1169, 0.1075",\
                 "0.2994, 0.2955, 0.2832, 0.2639, 0.2409, 0.2176, 0.1957, 0.1761, 0.1593, 0.1449",\
                 "0.3942, 0.3898, 0.3756, 0.3529, 0.325, 0.2955, 0.2668, 0.2405, 0.217, 0.1965");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1578, 0.1581, 0.1586, 0.1593, 0.1598, 0.1604, 0.1612, 0.1622, 0.1624, 0.1649",\
                 "0.1558, 0.1563, 0.1576, 0.159, 0.1603, 0.1612, 0.1624, 0.1627, 0.1637, 0.1667",\
                 "0.1536, 0.1539, 0.1551, 0.1568, 0.1587, 0.1606, 0.1619, 0.1629, 0.1643, 0.1669",\
                 "0.1607, 0.1604, 0.1599, 0.1596, 0.1602, 0.1612, 0.1621, 0.1634, 0.1644, 0.1677",\
                 "0.1816, 0.1805, 0.1778, 0.1744, 0.1716, 0.1697, 0.1687, 0.1683, 0.1686, 0.1713",\
                 "0.2189, 0.2169, 0.2112, 0.2038, 0.197, 0.1907, 0.1856, 0.1823, 0.1799, 0.1815",\
                 "0.2727, 0.2699, 0.2617, 0.2499, 0.2378, 0.2268, 0.2172, 0.209, 0.2026, 0.2019",\
                 "0.3437, 0.3402, 0.3293, 0.3139, 0.2959, 0.2794, 0.2645, 0.251, 0.2393, 0.2364",\
                 "0.432, 0.4281, 0.4152, 0.3957, 0.3728, 0.3499, 0.3288, 0.3101, 0.2936, 0.2887",\
                 "0.5387, 0.5342, 0.52, 0.4972, 0.469, 0.4399, 0.412, 0.3871, 0.366, 0.3644");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05592, 0.05593, 0.05593, 0.05594, 0.05597, 0.05598, 0.05601, 0.056, 0.05602, 0.05602",\
                 "0.05428, 0.0543, 0.05433, 0.05435, 0.0544, 0.05445, 0.05444, 0.05448, 0.05449, 0.0545",\
                 "0.05444, 0.05438, 0.05419, 0.05394, 0.0538, 0.05369, 0.05361, 0.05355, 0.05353, 0.05348",\
                 "0.06226, 0.06176, 0.0605, 0.05899, 0.05761, 0.05649, 0.05568, 0.05506, 0.05464, 0.05431",\
                 "0.08189, 0.08068, 0.0774, 0.07323, 0.0692, 0.06582, 0.06316, 0.06105, 0.0594, 0.0582",\
                 "0.1152, 0.1133, 0.1077, 0.09996, 0.09197, 0.08483, 0.07899, 0.07425, 0.07045, 0.0674",\
                 "0.1637, 0.161, 0.153, 0.1412, 0.1285, 0.1165, 0.1061, 0.09744, 0.09022, 0.08435",\
                 "0.2283, 0.2249, 0.2144, 0.1986, 0.1806, 0.1631, 0.147, 0.1332, 0.1215, 0.1116",\
                 "0.3093, 0.3053, 0.2929, 0.2733, 0.2501, 0.2263, 0.2039, 0.1839, 0.1664, 0.1514",\
                 "0.4078, 0.4033, 0.389, 0.3658, 0.3375, 0.3075, 0.2784, 0.2514, 0.2273, 0.2061");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1578, 0.1581, 0.1586, 0.1593, 0.1598, 0.1604, 0.1611, 0.1616, 0.1622, 0.1649",\
                 "0.1555, 0.156, 0.1573, 0.1586, 0.1599, 0.1608, 0.1621, 0.1624, 0.1636, 0.1661",\
                 "0.1528, 0.1532, 0.1542, 0.156, 0.1578, 0.1596, 0.161, 0.1622, 0.1635, 0.1663",\
                 "0.1605, 0.1603, 0.1595, 0.1591, 0.1594, 0.1601, 0.1611, 0.1624, 0.1634, 0.1663",\
                 "0.1833, 0.1821, 0.1791, 0.1753, 0.172, 0.1696, 0.1684, 0.1676, 0.1678, 0.1703",\
                 "0.2229, 0.2208, 0.2148, 0.2071, 0.1996, 0.1928, 0.1871, 0.183, 0.1802, 0.1819",\
                 "0.2795, 0.2765, 0.2681, 0.256, 0.2434, 0.2319, 0.2212, 0.2119, 0.2053, 0.2038",\
                 "0.3536, 0.3501, 0.339, 0.323, 0.3053, 0.2879, 0.272, 0.2577, 0.2454, 0.241",\
                 "0.446, 0.4418, 0.429, 0.4091, 0.386, 0.3626, 0.3411, 0.321, 0.3034, 0.2975",\
                 "0.5575, 0.5529, 0.5383, 0.515, 0.4869, 0.4574, 0.4291, 0.4034, 0.3813, 0.3782");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07861, 0.07866, 0.07877, 0.0789, 0.079, 0.0791, 0.07912, 0.07917, 0.07922, 0.07917",\
                 "0.07909, 0.07921, 0.07949, 0.07982, 0.08007, 0.08025, 0.08039, 0.08047, 0.08054, 0.08051",\
                 "0.07825, 0.07837, 0.07888, 0.0796, 0.08009, 0.08059, 0.08084, 0.08108, 0.08123, 0.08124",\
                 "0.0798, 0.07986, 0.0802, 0.08058, 0.08081, 0.08112, 0.08132, 0.0815, 0.08166, 0.08172",\
                 "0.08925, 0.08906, 0.08823, 0.08747, 0.08659, 0.0859, 0.08514, 0.08457, 0.08415, 0.08376",\
                 "0.1096, 0.1088, 0.1067, 0.1037, 0.1007, 0.09773, 0.09526, 0.0931, 0.09127, 0.0898",\
                 "0.1426, 0.1414, 0.1374, 0.1317, 0.1254, 0.1194, 0.114, 0.1094, 0.1053, 0.1019",\
                 "0.1895, 0.1876, 0.1818, 0.1729, 0.1627, 0.1528, 0.1436, 0.1355, 0.1283, 0.1222",\
                 "0.2509, 0.2484, 0.2407, 0.2286, 0.2143, 0.1994, 0.1858, 0.1733, 0.1622, 0.1524",\
                 "0.3272, 0.3242, 0.3147, 0.2996, 0.2807, 0.261, 0.2419, 0.2243, 0.2085, 0.1943");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2597, 0.2598, 0.2599, 0.2602, 0.2605, 0.2612, 0.2617, 0.2625, 0.2637, 0.2668",\
                 "0.2584, 0.2585, 0.2589, 0.2595, 0.2601, 0.2607, 0.2615, 0.2624, 0.2634, 0.267",\
                 "0.2572, 0.2573, 0.2576, 0.2583, 0.2592, 0.2599, 0.2609, 0.2619, 0.2632, 0.2664",\
                 "0.2641, 0.2637, 0.2629, 0.2621, 0.2617, 0.2618, 0.2624, 0.2628, 0.2638, 0.2679",\
                 "0.2826, 0.2817, 0.2791, 0.2758, 0.2728, 0.2704, 0.2689, 0.2679, 0.2679, 0.2716",\
                 "0.3139, 0.3124, 0.3082, 0.302, 0.2953, 0.289, 0.2839, 0.2806, 0.2785, 0.2815",\
                 "0.3588, 0.3568, 0.3508, 0.3415, 0.3312, 0.3207, 0.3114, 0.3039, 0.2985, 0.2996",\
                 "0.4182, 0.4157, 0.4081, 0.396, 0.3813, 0.3667, 0.3524, 0.3398, 0.3301, 0.3311",\
                 "0.4927, 0.4899, 0.4809, 0.4658, 0.4473, 0.4279, 0.4087, 0.391, 0.3771, 0.38",\
                 "0.5828, 0.5798, 0.5696, 0.5524, 0.5299, 0.5054, 0.4811, 0.4579, 0.441, 0.4525");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05747, 0.05754, 0.05767, 0.05779, 0.05792, 0.058, 0.05806, 0.05808, 0.05812, 0.05811",\
                 "0.0577, 0.05785, 0.05828, 0.05867, 0.05895, 0.05916, 0.05928, 0.05937, 0.05944, 0.05944",\
                 "0.05647, 0.05668, 0.05736, 0.05821, 0.05889, 0.0594, 0.05973, 0.05995, 0.06013, 0.06024",\
                 "0.05834, 0.05842, 0.05877, 0.05928, 0.05966, 0.05996, 0.06021, 0.06041, 0.06057, 0.06063",\
                 "0.06876, 0.06851, 0.06767, 0.06668, 0.0657, 0.06492, 0.06417, 0.06355, 0.0631, 0.06273",\
                 "0.09079, 0.08993, 0.08731, 0.08386, 0.08034, 0.07718, 0.07453, 0.07229, 0.07042, 0.06888",\
                 "0.1258, 0.1242, 0.1196, 0.113, 0.106, 0.09949, 0.09374, 0.08885, 0.08471, 0.08121",\
                 "0.1746, 0.1724, 0.1657, 0.1556, 0.1444, 0.1337, 0.1239, 0.1154, 0.108, 0.1017",\
                 "0.2378, 0.2351, 0.2262, 0.2128, 0.1971, 0.1812, 0.1668, 0.1538, 0.1423, 0.1323",\
                 "0.3156, 0.3124, 0.3019, 0.285, 0.2649, 0.2437, 0.2236, 0.2054, 0.1891, 0.1746");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.239, 0.2391, 0.2392, 0.2395, 0.2398, 0.2403, 0.2412, 0.2419, 0.243, 0.2459",\
                 "0.2378, 0.2379, 0.2382, 0.2388, 0.2394, 0.24, 0.2407, 0.2416, 0.2428, 0.2461",\
                 "0.2365, 0.2366, 0.237, 0.2376, 0.2384, 0.2394, 0.2401, 0.2412, 0.2423, 0.2459",\
                 "0.2435, 0.2431, 0.2422, 0.2415, 0.2411, 0.241, 0.2415, 0.2422, 0.243, 0.2461",\
                 "0.2619, 0.2611, 0.2584, 0.2552, 0.252, 0.2497, 0.2482, 0.2475, 0.2471, 0.2503",\
                 "0.2932, 0.2918, 0.2875, 0.2814, 0.2746, 0.2685, 0.2634, 0.2599, 0.2576, 0.2596",\
                 "0.3381, 0.3362, 0.3301, 0.3209, 0.3105, 0.3, 0.2906, 0.2832, 0.2776, 0.2781",\
                 "0.3977, 0.3953, 0.3875, 0.3752, 0.3607, 0.3458, 0.3317, 0.3191, 0.3093, 0.3095",\
                 "0.4722, 0.4695, 0.4604, 0.4455, 0.4267, 0.4072, 0.388, 0.3703, 0.3559, 0.3574",\
                 "0.5625, 0.5594, 0.5492, 0.5319, 0.5096, 0.485, 0.4607, 0.4372, 0.4199, 0.4295");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05743, 0.05751, 0.05768, 0.05784, 0.05796, 0.05803, 0.05807, 0.05811, 0.05812, 0.05812",\
                 "0.05773, 0.05787, 0.05825, 0.05867, 0.05893, 0.05917, 0.05931, 0.05937, 0.05943, 0.05944",\
                 "0.05667, 0.05686, 0.05752, 0.05825, 0.05892, 0.05943, 0.05974, 0.05995, 0.06012, 0.06022",\
                 "0.05903, 0.0591, 0.05938, 0.05975, 0.06006, 0.06029, 0.06046, 0.06062, 0.06067, 0.06073",\
                 "0.07036, 0.07005, 0.06912, 0.0679, 0.06679, 0.06583, 0.06497, 0.0643, 0.06371, 0.06323",\
                 "0.09357, 0.09256, 0.08986, 0.08628, 0.08258, 0.07918, 0.07631, 0.07387, 0.0718, 0.07009",\
                 "0.1299, 0.1284, 0.1236, 0.1169, 0.1097, 0.1029, 0.09691, 0.09168, 0.08731, 0.08358",\
                 "0.1804, 0.1783, 0.1715, 0.1614, 0.1499, 0.1389, 0.1288, 0.1199, 0.1123, 0.1056",\
                 "0.2456, 0.2428, 0.2342, 0.2207, 0.2049, 0.1888, 0.1738, 0.1604, 0.1485, 0.1382",\
                 "0.326, 0.3227, 0.3123, 0.2955, 0.2752, 0.2539, 0.2333, 0.2146, 0.1978, 0.1829");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2385, 0.2385, 0.2387, 0.239, 0.2394, 0.2398, 0.2405, 0.2414, 0.2424, 0.2455",\
                 "0.2366, 0.2367, 0.237, 0.2375, 0.2381, 0.2388, 0.2395, 0.2405, 0.2416, 0.2447",\
                 "0.2354, 0.2355, 0.2357, 0.2363, 0.2371, 0.2379, 0.2389, 0.2397, 0.241, 0.2443",\
                 "0.2434, 0.2431, 0.242, 0.241, 0.2403, 0.2402, 0.2405, 0.2409, 0.2417, 0.2454",\
                 "0.2636, 0.2627, 0.2597, 0.256, 0.2523, 0.2496, 0.2477, 0.2468, 0.2463, 0.2496",\
                 "0.2964, 0.295, 0.2907, 0.2842, 0.2767, 0.2701, 0.2648, 0.2604, 0.2577, 0.26",\
                 "0.3434, 0.3414, 0.3353, 0.3259, 0.315, 0.304, 0.2942, 0.2857, 0.2797, 0.2801",\
                 "0.4051, 0.4028, 0.3953, 0.3828, 0.368, 0.3528, 0.3378, 0.3245, 0.3139, 0.3135",\
                 "0.4826, 0.4799, 0.4707, 0.4557, 0.4369, 0.4173, 0.3974, 0.379, 0.3636, 0.3644",\
                 "0.5763, 0.5732, 0.5629, 0.5458, 0.5235, 0.4988, 0.474, 0.4499, 0.4315, 0.4408");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05664, 0.05669, 0.05683, 0.05698, 0.05712, 0.05721, 0.05724, 0.05727, 0.0573, 0.05728",\
                 "0.05688, 0.05705, 0.05744, 0.05783, 0.05813, 0.05832, 0.05847, 0.05854, 0.0586, 0.0586",\
                 "0.05564, 0.05589, 0.05652, 0.05739, 0.05805, 0.05857, 0.05889, 0.0591, 0.05929, 0.05939",\
                 "0.0575, 0.05758, 0.05793, 0.05844, 0.05882, 0.05913, 0.0594, 0.05958, 0.05974, 0.05978",\
                 "0.06796, 0.06771, 0.06685, 0.06585, 0.0649, 0.06406, 0.06333, 0.06272, 0.06228, 0.0619",\
                 "0.08999, 0.08915, 0.08659, 0.08305, 0.07952, 0.07636, 0.0737, 0.07146, 0.06958, 0.06804",\
                 "0.125, 0.1235, 0.1188, 0.1123, 0.1052, 0.09868, 0.09293, 0.08802, 0.08385, 0.08039",\
                 "0.1739, 0.1717, 0.165, 0.1549, 0.1436, 0.1329, 0.1231, 0.1146, 0.1072, 0.1009",\
                 "0.2371, 0.2344, 0.2256, 0.2121, 0.1964, 0.1804, 0.166, 0.1529, 0.1415, 0.1315",\
                 "0.315, 0.3118, 0.3011, 0.2844, 0.2641, 0.243, 0.2229, 0.2046, 0.1883, 0.1738");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.239, 0.239, 0.2391, 0.2394, 0.2398, 0.2403, 0.2412, 0.2419, 0.243, 0.2459",\
                 "0.2377, 0.2378, 0.2381, 0.2387, 0.2394, 0.24, 0.2407, 0.2416, 0.2428, 0.2461",\
                 "0.2365, 0.2366, 0.2369, 0.2375, 0.2383, 0.2392, 0.2401, 0.2411, 0.2423, 0.2458",\
                 "0.2433, 0.243, 0.2422, 0.2414, 0.241, 0.241, 0.2413, 0.2421, 0.243, 0.2461",\
                 "0.262, 0.2611, 0.2585, 0.255, 0.252, 0.2496, 0.2481, 0.2474, 0.2473, 0.2499",\
                 "0.2931, 0.2917, 0.2875, 0.2812, 0.2746, 0.2685, 0.2635, 0.2598, 0.2578, 0.2596",\
                 "0.3381, 0.3362, 0.3301, 0.3208, 0.3104, 0.2999, 0.2906, 0.2831, 0.2776, 0.2784",\
                 "0.3976, 0.3952, 0.3875, 0.3753, 0.3606, 0.3459, 0.3316, 0.319, 0.3092, 0.309",\
                 "0.4721, 0.4694, 0.4603, 0.4453, 0.4266, 0.4071, 0.3881, 0.3701, 0.3559, 0.3571",\
                 "0.5625, 0.5593, 0.5491, 0.5319, 0.5097, 0.4849, 0.4604, 0.4371, 0.4196, 0.4298");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03557, 0.03558, 0.03576, 0.03592, 0.03603, 0.03608, 0.03613, 0.03616, 0.03616, 0.03618",\
                 "0.03536, 0.03563, 0.0362, 0.03668, 0.03699, 0.0372, 0.03737, 0.03744, 0.03752, 0.03753",\
                 "0.03354, 0.0339, 0.03487, 0.036, 0.03681, 0.03741, 0.03775, 0.03803, 0.0382, 0.03831",\
                 "0.03587, 0.036, 0.03642, 0.03707, 0.03759, 0.03798, 0.03825, 0.03847, 0.03862, 0.03869",\
                 "0.04791, 0.04742, 0.04631, 0.0451, 0.04402, 0.04311, 0.04237, 0.04172, 0.04126, 0.04088",\
                 "0.07189, 0.07071, 0.06744, 0.06327, 0.05932, 0.05586, 0.05298, 0.05065, 0.04871, 0.04713",\
                 "0.1091, 0.1072, 0.1016, 0.09381, 0.08594, 0.07884, 0.0727, 0.06756, 0.06325, 0.05963",\
                 "0.16, 0.1575, 0.1496, 0.1381, 0.1255, 0.1138, 0.1035, 0.09456, 0.08691, 0.08043",\
                 "0.2252, 0.222, 0.2119, 0.1968, 0.1795, 0.1625, 0.147, 0.1334, 0.1216, 0.1113",\
                 "0.3048, 0.3012, 0.2892, 0.2706, 0.2486, 0.226, 0.2047, 0.1858, 0.1688, 0.154");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2183, 0.2183, 0.2184, 0.2188, 0.2191, 0.2197, 0.2204, 0.221, 0.2222, 0.2258",\
                 "0.2169, 0.2171, 0.2175, 0.218, 0.2186, 0.2194, 0.2202, 0.2212, 0.2217, 0.2245",\
                 "0.2157, 0.2158, 0.2162, 0.2168, 0.2176, 0.2187, 0.2195, 0.2206, 0.2213, 0.2243",\
                 "0.2227, 0.2222, 0.2214, 0.2206, 0.2203, 0.2203, 0.2207, 0.2212, 0.2219, 0.225",\
                 "0.2413, 0.2404, 0.2379, 0.2343, 0.2312, 0.2288, 0.2274, 0.2266, 0.2267, 0.2295",\
                 "0.2725, 0.2711, 0.2667, 0.2604, 0.2537, 0.2477, 0.2427, 0.2391, 0.2367, 0.2384",\
                 "0.3176, 0.3156, 0.3095, 0.3001, 0.2898, 0.2791, 0.2698, 0.2623, 0.2566, 0.2568",\
                 "0.3771, 0.3748, 0.3669, 0.3547, 0.3399, 0.3252, 0.311, 0.2984, 0.2881, 0.2877",\
                 "0.4517, 0.4489, 0.4399, 0.4249, 0.406, 0.3864, 0.3675, 0.3494, 0.3347, 0.3349",\
                 "0.5422, 0.539, 0.5287, 0.5114, 0.489, 0.4643, 0.4398, 0.4166, 0.3985, 0.4062");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03551, 0.03562, 0.03574, 0.03591, 0.03601, 0.03608, 0.03612, 0.03616, 0.03617, 0.0362",\
                 "0.03538, 0.03561, 0.03616, 0.03666, 0.03702, 0.03722, 0.03734, 0.03743, 0.0375, 0.03756",\
                 "0.03371, 0.03408, 0.03499, 0.03602, 0.03685, 0.0374, 0.03776, 0.03801, 0.03818, 0.03829",\
                 "0.0366, 0.0367, 0.0371, 0.03757, 0.03801, 0.03829, 0.03851, 0.03868, 0.03875, 0.03882",\
                 "0.04954, 0.04905, 0.04782, 0.04641, 0.04514, 0.04407, 0.04317, 0.04246, 0.04186, 0.04135",\
                 "0.07458, 0.07345, 0.0701, 0.06571, 0.06155, 0.05794, 0.05482, 0.05226, 0.05011, 0.04835",\
                 "0.113, 0.1112, 0.1056, 0.09777, 0.08964, 0.08224, 0.07587, 0.07043, 0.06586, 0.06199",\
                 "0.1658, 0.1632, 0.1554, 0.1438, 0.1311, 0.1191, 0.1083, 0.09909, 0.09114, 0.08429",\
                 "0.2331, 0.2298, 0.2198, 0.2047, 0.1872, 0.1699, 0.1542, 0.1401, 0.1279, 0.1172",\
                 "0.3152, 0.3114, 0.2996, 0.281, 0.2589, 0.2362, 0.2145, 0.1951, 0.1777, 0.1623");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2177, 0.2177, 0.2179, 0.2181, 0.2187, 0.2192, 0.2199, 0.2204, 0.2214, 0.2241",\
                 "0.2157, 0.2159, 0.2163, 0.2168, 0.2175, 0.2181, 0.219, 0.2195, 0.2205, 0.2235",\
                 "0.2146, 0.2146, 0.215, 0.2155, 0.2163, 0.2171, 0.2181, 0.2189, 0.2197, 0.2227",\
                 "0.2227, 0.2223, 0.2212, 0.2201, 0.2195, 0.2194, 0.2196, 0.2198, 0.2207, 0.2243",\
                 "0.2428, 0.2419, 0.239, 0.2353, 0.2316, 0.2288, 0.227, 0.2256, 0.2257, 0.2282",\
                 "0.2757, 0.2742, 0.2698, 0.2633, 0.256, 0.2492, 0.2438, 0.2395, 0.2373, 0.2384",\
                 "0.3227, 0.3208, 0.3146, 0.305, 0.2944, 0.2834, 0.2733, 0.2649, 0.2588, 0.2587",\
                 "0.3847, 0.3822, 0.3745, 0.3621, 0.3473, 0.3321, 0.3171, 0.3037, 0.2929, 0.2914",\
                 "0.4621, 0.4595, 0.4503, 0.4352, 0.4163, 0.3965, 0.3769, 0.3584, 0.3426, 0.3421",\
                 "0.556, 0.5529, 0.5425, 0.5252, 0.5031, 0.4782, 0.4531, 0.429, 0.4103, 0.4176");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05663, 0.05675, 0.05683, 0.05701, 0.05712, 0.05717, 0.05724, 0.05727, 0.05729, 0.0573",\
                 "0.05697, 0.05704, 0.05744, 0.05784, 0.05812, 0.05829, 0.05846, 0.05853, 0.05857, 0.05859",\
                 "0.05588, 0.05608, 0.05665, 0.05745, 0.05809, 0.05855, 0.05893, 0.05914, 0.05928, 0.0594",\
                 "0.0581, 0.05822, 0.05849, 0.05888, 0.05921, 0.05941, 0.05961, 0.05973, 0.05983, 0.05989",\
                 "0.0692, 0.06884, 0.068, 0.06682, 0.06575, 0.06479, 0.06392, 0.06325, 0.06267, 0.06221",\
                 "0.09172, 0.09085, 0.08819, 0.08453, 0.08088, 0.07756, 0.07468, 0.07231, 0.07031, 0.06867",\
                 "0.1273, 0.1257, 0.121, 0.1142, 0.1071, 0.1004, 0.09442, 0.08933, 0.08501, 0.08137",\
                 "0.1764, 0.1743, 0.1675, 0.1574, 0.1461, 0.135, 0.1251, 0.1163, 0.1088, 0.1023",\
                 "0.24, 0.2373, 0.2287, 0.2151, 0.1992, 0.1832, 0.1683, 0.1552, 0.1435, 0.1334",\
                 "0.3184, 0.3151, 0.3046, 0.2878, 0.2676, 0.2463, 0.2259, 0.2075, 0.1909, 0.1762");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2568, 0.2568, 0.2569, 0.2573, 0.2578, 0.2582, 0.2589, 0.2598, 0.2608, 0.2632",\
                 "0.2558, 0.2559, 0.2563, 0.257, 0.2578, 0.2584, 0.2592, 0.2601, 0.2613, 0.2646",\
                 "0.2545, 0.2547, 0.2551, 0.2558, 0.2567, 0.2578, 0.2588, 0.2599, 0.2611, 0.2643",\
                 "0.2612, 0.261, 0.2602, 0.2596, 0.2594, 0.2597, 0.26, 0.2608, 0.2618, 0.2649",\
                 "0.2795, 0.2787, 0.2765, 0.2735, 0.2707, 0.2683, 0.2669, 0.2663, 0.2662, 0.2693",\
                 "0.3104, 0.3093, 0.3055, 0.2997, 0.2935, 0.2875, 0.2828, 0.279, 0.2768, 0.2793",\
                 "0.3552, 0.3534, 0.348, 0.3396, 0.3298, 0.3199, 0.3109, 0.3035, 0.2975, 0.2986",\
                 "0.4143, 0.4121, 0.4053, 0.3941, 0.3806, 0.3667, 0.353, 0.3404, 0.3309, 0.331",\
                 "0.4888, 0.4862, 0.4779, 0.464, 0.4468, 0.4286, 0.4101, 0.3928, 0.3787, 0.3806",\
                 "0.579, 0.5762, 0.5668, 0.5506, 0.53, 0.507, 0.4837, 0.4615, 0.4447, 0.4554");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03551, 0.03561, 0.03575, 0.0359, 0.03602, 0.03609, 0.03614, 0.03617, 0.03618, 0.03619",\
                 "0.03541, 0.03565, 0.03619, 0.03668, 0.03702, 0.0372, 0.03735, 0.03742, 0.03749, 0.03752",\
                 "0.03374, 0.03411, 0.03503, 0.03606, 0.03687, 0.0374, 0.03779, 0.03803, 0.03821, 0.03831",\
                 "0.03657, 0.03662, 0.03707, 0.03752, 0.038, 0.03831, 0.0385, 0.03864, 0.03874, 0.03879",\
                 "0.04914, 0.04868, 0.04747, 0.04613, 0.04489, 0.04386, 0.04294, 0.04226, 0.04166, 0.04119",\
                 "0.07364, 0.07246, 0.06919, 0.06488, 0.06071, 0.05705, 0.05403, 0.05149, 0.04941, 0.04777",\
                 "0.1113, 0.1094, 0.1037, 0.09589, 0.08786, 0.08051, 0.07421, 0.0689, 0.06442, 0.06063",\
                 "0.1626, 0.16, 0.1522, 0.1406, 0.1279, 0.1161, 0.1055, 0.0963, 0.08854, 0.08184",\
                 "0.2281, 0.2249, 0.2149, 0.1998, 0.1824, 0.1652, 0.1495, 0.1357, 0.1237, 0.1131",\
                 "0.3082, 0.3045, 0.2926, 0.2741, 0.252, 0.2294, 0.2079, 0.1885, 0.1715, 0.1564");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2361, 0.2362, 0.2363, 0.2367, 0.2368, 0.2374, 0.238, 0.239, 0.2396, 0.2423",\
                 "0.2351, 0.2353, 0.2357, 0.2363, 0.2368, 0.2379, 0.2383, 0.239, 0.2404, 0.244",\
                 "0.2338, 0.2339, 0.2344, 0.2351, 0.2361, 0.2369, 0.2381, 0.2391, 0.24, 0.2434",\
                 "0.2405, 0.2401, 0.2395, 0.2389, 0.2388, 0.2389, 0.2392, 0.2399, 0.2412, 0.2446",\
                 "0.2588, 0.2581, 0.2558, 0.2526, 0.2498, 0.2476, 0.2462, 0.2454, 0.245, 0.2482",\
                 "0.2897, 0.2885, 0.2846, 0.2789, 0.2726, 0.2669, 0.262, 0.2585, 0.2559, 0.2581",\
                 "0.3347, 0.3328, 0.3273, 0.3188, 0.3091, 0.2993, 0.2901, 0.2826, 0.2766, 0.2777",\
                 "0.3939, 0.3916, 0.3847, 0.3733, 0.3599, 0.3461, 0.3323, 0.3198, 0.3097, 0.3093",\
                 "0.4684, 0.4658, 0.4574, 0.4436, 0.4263, 0.4079, 0.3897, 0.3724, 0.3579, 0.3579",\
                 "0.5587, 0.5558, 0.5463, 0.5302, 0.5093, 0.4864, 0.4631, 0.4408, 0.4234, 0.4319");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03554, 0.0356, 0.03573, 0.03591, 0.03602, 0.03606, 0.03611, 0.03614, 0.03617, 0.03619",\
                 "0.03539, 0.03562, 0.03615, 0.03667, 0.037, 0.03722, 0.03735, 0.03744, 0.03748, 0.03753",\
                 "0.03392, 0.03429, 0.0352, 0.03616, 0.03692, 0.03744, 0.03779, 0.03801, 0.03818, 0.03829",\
                 "0.03732, 0.03743, 0.03771, 0.03815, 0.03843, 0.03865, 0.03879, 0.03886, 0.03892, 0.03893",\
                 "0.05084, 0.05037, 0.04905, 0.0475, 0.04613, 0.0449, 0.04389, 0.04299, 0.04229, 0.04175",\
                 "0.07631, 0.07519, 0.07185, 0.06732, 0.06305, 0.05918, 0.05593, 0.0532, 0.05093, 0.04909",\
                 "0.1155, 0.1136, 0.1079, 0.09998, 0.09164, 0.08409, 0.07746, 0.07188, 0.06708, 0.06311",\
                 "0.1685, 0.1659, 0.1581, 0.1465, 0.1336, 0.1214, 0.1106, 0.101, 0.09284, 0.08585",\
                 "0.236, 0.2329, 0.223, 0.2078, 0.1904, 0.1729, 0.1569, 0.1426, 0.1301, 0.1193",\
                 "0.3187, 0.315, 0.3031, 0.2846, 0.2626, 0.2397, 0.2179, 0.198, 0.1806, 0.165");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2356, 0.2356, 0.2358, 0.236, 0.2364, 0.2369, 0.2376, 0.2384, 0.2399, 0.2423",\
                 "0.2339, 0.234, 0.2345, 0.2351, 0.2358, 0.2364, 0.2371, 0.2378, 0.2392, 0.2417",\
                 "0.2327, 0.2328, 0.2332, 0.2337, 0.2346, 0.2356, 0.2364, 0.2374, 0.2386, 0.2417",\
                 "0.2405, 0.2401, 0.2392, 0.2384, 0.2378, 0.2379, 0.2382, 0.2387, 0.2393, 0.2427",\
                 "0.2604, 0.2596, 0.2571, 0.2536, 0.2504, 0.2476, 0.2459, 0.2447, 0.2449, 0.2472",\
                 "0.293, 0.2918, 0.2879, 0.282, 0.2753, 0.2688, 0.2636, 0.2589, 0.2564, 0.2581",\
                 "0.34, 0.3382, 0.3327, 0.3242, 0.314, 0.3036, 0.2939, 0.2854, 0.2789, 0.2797",\
                 "0.4015, 0.3994, 0.3925, 0.3811, 0.3674, 0.3535, 0.339, 0.3259, 0.3148, 0.3136",\
                 "0.4789, 0.4763, 0.4679, 0.4543, 0.437, 0.4184, 0.4001, 0.3816, 0.3666, 0.3663",\
                 "0.5726, 0.57, 0.5604, 0.5441, 0.5236, 0.5005, 0.4773, 0.4543, 0.4357, 0.444");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.09713, 0.0973, 0.09729, 0.09727, 0.09734, 0.09736, 0.09741, 0.09742, 0.09747, 0.09734",\
                 "0.0955, 0.0956, 0.09559, 0.0957, 0.09574, 0.09585, 0.09583, 0.09589, 0.09582, 0.09578",\
                 "0.09394, 0.094, 0.09409, 0.09422, 0.09439, 0.09451, 0.09458, 0.09465, 0.09469, 0.09464",\
                 "0.09549, 0.09548, 0.09537, 0.09523, 0.09499, 0.09491, 0.09484, 0.09479, 0.09471, 0.0947",\
                 "0.1057, 0.1054, 0.1043, 0.1029, 0.1014, 0.1001, 0.09884, 0.09798, 0.09728, 0.09671",\
                 "0.1288, 0.1279, 0.1252, 0.1214, 0.1171, 0.1133, 0.11, 0.1072, 0.1049, 0.1031",\
                 "0.1667, 0.1653, 0.1607, 0.1538, 0.1457, 0.1381, 0.1312, 0.1253, 0.1205, 0.1163",\
                 "0.221, 0.219, 0.2122, 0.2017, 0.1893, 0.1768, 0.1651, 0.155, 0.1462, 0.1388",\
                 "0.2924, 0.2896, 0.2809, 0.2666, 0.2495, 0.2314, 0.2141, 0.1984, 0.1846, 0.1727",\
                 "0.3817, 0.3783, 0.3673, 0.3496, 0.3273, 0.3034, 0.2798, 0.2578, 0.2379, 0.2204");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2804, 0.2804, 0.2805, 0.2808, 0.2811, 0.2816, 0.2825, 0.283, 0.2842, 0.2878",\
                 "0.2792, 0.2793, 0.2797, 0.2802, 0.2807, 0.2813, 0.2822, 0.2828, 0.2841, 0.2877",\
                 "0.2763, 0.2765, 0.2771, 0.2781, 0.2791, 0.2803, 0.2814, 0.2823, 0.2834, 0.2869",\
                 "0.2804, 0.2803, 0.2799, 0.2799, 0.2802, 0.2808, 0.2816, 0.2825, 0.2837, 0.2877",\
                 "0.2985, 0.2978, 0.2957, 0.293, 0.2905, 0.2888, 0.2876, 0.2872, 0.2876, 0.2909",\
                 "0.3328, 0.3313, 0.3269, 0.3208, 0.3143, 0.3086, 0.3041, 0.3008, 0.2988, 0.3014",\
                 "0.3843, 0.3822, 0.3755, 0.3653, 0.3541, 0.3434, 0.3341, 0.3263, 0.3206, 0.3213",\
                 "0.4529, 0.4502, 0.4417, 0.4279, 0.4115, 0.3954, 0.3803, 0.367, 0.3565, 0.3563",\
                 "0.5391, 0.5361, 0.5259, 0.5092, 0.488, 0.4656, 0.4448, 0.4251, 0.4092, 0.4085",\
                 "0.6436, 0.6401, 0.6288, 0.6094, 0.5845, 0.5559, 0.5279, 0.5021, 0.4818, 0.4854");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07609, 0.07609, 0.07614, 0.07625, 0.07624, 0.07627, 0.07631, 0.07633, 0.07633, 0.07627",\
                 "0.07438, 0.0744, 0.07447, 0.07458, 0.07466, 0.07473, 0.07474, 0.07478, 0.07483, 0.07473",\
                 "0.07269, 0.0727, 0.07285, 0.07307, 0.07331, 0.0734, 0.07348, 0.07355, 0.07363, 0.07359",\
                 "0.0745, 0.07448, 0.0743, 0.0742, 0.07399, 0.07386, 0.07376, 0.07371, 0.07366, 0.07359",\
                 "0.08585, 0.08534, 0.08401, 0.08236, 0.08064, 0.0792, 0.07796, 0.077, 0.07628, 0.0757",\
                 "0.1106, 0.1096, 0.1063, 0.1019, 0.09719, 0.09295, 0.08942, 0.08651, 0.08412, 0.08222",\
                 "0.1507, 0.1488, 0.1435, 0.1356, 0.1268, 0.1184, 0.1111, 0.105, 0.09989, 0.09561",\
                 "0.2073, 0.2048, 0.1971, 0.1852, 0.1716, 0.1582, 0.1458, 0.1351, 0.126, 0.1184",\
                 "0.2809, 0.2777, 0.2678, 0.2519, 0.2332, 0.2139, 0.1957, 0.1792, 0.1649, 0.1527",\
                 "0.3719, 0.3682, 0.356, 0.3365, 0.3125, 0.2871, 0.2623, 0.2395, 0.2189, 0.2009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2598, 0.2598, 0.2599, 0.2601, 0.2605, 0.2609, 0.2616, 0.2625, 0.2635, 0.2669",\
                 "0.2586, 0.2587, 0.259, 0.2595, 0.26, 0.2607, 0.2614, 0.2624, 0.2634, 0.2665",\
                 "0.2556, 0.2558, 0.2565, 0.2574, 0.2585, 0.2595, 0.2605, 0.2617, 0.2629, 0.266",\
                 "0.2597, 0.2596, 0.2592, 0.2593, 0.2596, 0.2602, 0.2611, 0.2618, 0.263, 0.2666",\
                 "0.2779, 0.2772, 0.275, 0.2722, 0.2698, 0.268, 0.2672, 0.2667, 0.2666, 0.2701",\
                 "0.3122, 0.3107, 0.3063, 0.3, 0.2936, 0.2879, 0.2835, 0.28, 0.2781, 0.28",\
                 "0.3638, 0.3616, 0.3549, 0.3446, 0.3334, 0.3228, 0.3133, 0.3055, 0.2999, 0.3007",\
                 "0.4326, 0.4297, 0.4212, 0.4072, 0.3908, 0.3748, 0.3599, 0.3464, 0.3354, 0.3341",\
                 "0.5189, 0.5157, 0.5056, 0.4887, 0.4675, 0.4451, 0.4243, 0.4045, 0.3885, 0.3861",\
                 "0.6234, 0.6199, 0.6085, 0.5894, 0.5637, 0.5356, 0.5073, 0.4815, 0.4607, 0.4622");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07609, 0.07611, 0.07611, 0.07619, 0.07619, 0.07627, 0.07632, 0.07629, 0.07631, 0.07631",\
                 "0.07445, 0.07441, 0.07449, 0.07458, 0.07466, 0.07472, 0.07478, 0.07479, 0.0748, 0.07484",\
                 "0.07278, 0.07278, 0.07292, 0.07311, 0.07332, 0.07345, 0.07352, 0.07356, 0.07361, 0.07359",\
                 "0.07507, 0.075, 0.0748, 0.07459, 0.07429, 0.07415, 0.07398, 0.07385, 0.07376, 0.07372",\
                 "0.08749, 0.08697, 0.08553, 0.08365, 0.08178, 0.08015, 0.07877, 0.07765, 0.07681, 0.07617",\
                 "0.1137, 0.1127, 0.1094, 0.1047, 0.0997, 0.09512, 0.09132, 0.08818, 0.08558, 0.08346",\
                 "0.1557, 0.1539, 0.1484, 0.1403, 0.1311, 0.1225, 0.1147, 0.1082, 0.1028, 0.09819",\
                 "0.2148, 0.2123, 0.2043, 0.1923, 0.1784, 0.1645, 0.1517, 0.1405, 0.1309, 0.1228",\
                 "0.2913, 0.2883, 0.278, 0.2621, 0.243, 0.2232, 0.2044, 0.1874, 0.1725, 0.1597",\
                 "0.3859, 0.3822, 0.3699, 0.3502, 0.3259, 0.3, 0.2746, 0.2511, 0.2299, 0.2112");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2593, 0.2593, 0.2593, 0.2596, 0.26, 0.2604, 0.2613, 0.2619, 0.2631, 0.2662",\
                 "0.2574, 0.2576, 0.2578, 0.2584, 0.2588, 0.2595, 0.2602, 0.2611, 0.2622, 0.2656",\
                 "0.2546, 0.2547, 0.2552, 0.2561, 0.2571, 0.258, 0.259, 0.2601, 0.2614, 0.265",\
                 "0.2595, 0.2593, 0.2588, 0.2586, 0.2587, 0.2589, 0.2598, 0.2604, 0.2616, 0.2653",\
                 "0.2794, 0.2784, 0.276, 0.2728, 0.2701, 0.2678, 0.2667, 0.2659, 0.266, 0.2694",\
                 "0.316, 0.3145, 0.3097, 0.3031, 0.2959, 0.2896, 0.2844, 0.2805, 0.2784, 0.2804",\
                 "0.3705, 0.3682, 0.3613, 0.3507, 0.3389, 0.3274, 0.3171, 0.3083, 0.302, 0.302",\
                 "0.4427, 0.44, 0.4311, 0.417, 0.3999, 0.3831, 0.3671, 0.3528, 0.341, 0.3387",\
                 "0.5331, 0.5302, 0.5199, 0.5027, 0.4809, 0.4579, 0.4357, 0.415, 0.3976, 0.3945",\
                 "0.6427, 0.6392, 0.6276, 0.6082, 0.5826, 0.5534, 0.5243, 0.4975, 0.4752, 0.475");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07525, 0.07526, 0.07536, 0.07541, 0.07547, 0.07544, 0.07548, 0.0755, 0.0755, 0.07545",\
                 "0.07358, 0.07358, 0.07363, 0.07375, 0.07385, 0.0739, 0.07391, 0.07393, 0.074, 0.07394",\
                 "0.07185, 0.07192, 0.07202, 0.07224, 0.07248, 0.07257, 0.07265, 0.07272, 0.0728, 0.07276",\
                 "0.07367, 0.07365, 0.07347, 0.07336, 0.07316, 0.07303, 0.07292, 0.07287, 0.0728, 0.07279",\
                 "0.08501, 0.08453, 0.08324, 0.08153, 0.07984, 0.07837, 0.07712, 0.07616, 0.07545, 0.07487",\
                 "0.1098, 0.1088, 0.1056, 0.101, 0.09638, 0.09214, 0.08861, 0.08567, 0.0833, 0.08137",\
                 "0.1499, 0.1482, 0.1428, 0.1348, 0.126, 0.1176, 0.1103, 0.1042, 0.09906, 0.09483",\
                 "0.2066, 0.2041, 0.1963, 0.1845, 0.1709, 0.1574, 0.145, 0.1343, 0.1251, 0.1176",\
                 "0.2802, 0.2771, 0.267, 0.2513, 0.2325, 0.2131, 0.1949, 0.1784, 0.1641, 0.1518",\
                 "0.3713, 0.3675, 0.3554, 0.3359, 0.3118, 0.2864, 0.2615, 0.2386, 0.2181, 0.2001");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2597, 0.2597, 0.2598, 0.26, 0.2604, 0.261, 0.2616, 0.2625, 0.2635, 0.2669",\
                 "0.2585, 0.2586, 0.2589, 0.2595, 0.2599, 0.2606, 0.2613, 0.2623, 0.2633, 0.2665",\
                 "0.2556, 0.2558, 0.2564, 0.2574, 0.2584, 0.2594, 0.2605, 0.2616, 0.2629, 0.2663",\
                 "0.2596, 0.2595, 0.2592, 0.2593, 0.2594, 0.26, 0.2608, 0.2619, 0.263, 0.2666",\
                 "0.2779, 0.2771, 0.2749, 0.2721, 0.2697, 0.2681, 0.2671, 0.2667, 0.2668, 0.2702",\
                 "0.3122, 0.3107, 0.3062, 0.3, 0.2936, 0.2878, 0.2834, 0.2801, 0.2779, 0.2798",\
                 "0.3638, 0.3616, 0.3548, 0.3445, 0.3334, 0.3227, 0.3133, 0.3057, 0.2998, 0.2997",\
                 "0.4325, 0.4298, 0.4212, 0.4072, 0.3908, 0.3747, 0.3597, 0.3464, 0.3356, 0.3339",\
                 "0.5188, 0.5156, 0.5057, 0.4885, 0.4674, 0.445, 0.424, 0.4045, 0.3883, 0.3862",\
                 "0.6233, 0.6197, 0.6084, 0.5891, 0.5638, 0.5353, 0.5072, 0.4816, 0.4606, 0.462");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05415, 0.05419, 0.0542, 0.05431, 0.0543, 0.05436, 0.05437, 0.05439, 0.05442, 0.05439",\
                 "0.05238, 0.05243, 0.05254, 0.05262, 0.05275, 0.05277, 0.05282, 0.05283, 0.05286, 0.05285",\
                 "0.0505, 0.05056, 0.05081, 0.0511, 0.05131, 0.05147, 0.05156, 0.05162, 0.05169, 0.05169",\
                 "0.05269, 0.05264, 0.05244, 0.05226, 0.05207, 0.05196, 0.05186, 0.05178, 0.05175, 0.0517",\
                 "0.06541, 0.06483, 0.06316, 0.06108, 0.05915, 0.05755, 0.0562, 0.05522, 0.05444, 0.05385",\
                 "0.09229, 0.091, 0.08722, 0.08185, 0.0765, 0.07187, 0.06804, 0.06493, 0.06246, 0.06049",\
                 "0.1349, 0.1328, 0.1264, 0.1171, 0.1073, 0.0981, 0.09031, 0.08383, 0.0785, 0.0741",\
                 "0.1941, 0.1911, 0.1821, 0.1686, 0.1535, 0.1389, 0.1257, 0.1145, 0.1051, 0.09711",\
                 "0.27, 0.2664, 0.2548, 0.2372, 0.2166, 0.1957, 0.1764, 0.1593, 0.1445, 0.1319",\
                 "0.363, 0.3588, 0.3451, 0.3236, 0.2975, 0.2704, 0.2442, 0.2204, 0.1991, 0.1806");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2389, 0.239, 0.2391, 0.2393, 0.2398, 0.2402, 0.2406, 0.2416, 0.2424, 0.2453",\
                 "0.2378, 0.2378, 0.2382, 0.2386, 0.2394, 0.24, 0.2407, 0.2413, 0.2428, 0.2453",\
                 "0.2348, 0.2349, 0.2357, 0.2366, 0.2377, 0.2387, 0.2398, 0.2406, 0.2418, 0.245",\
                 "0.2389, 0.2388, 0.2385, 0.2384, 0.2387, 0.2394, 0.24, 0.2414, 0.2421, 0.2454",\
                 "0.257, 0.2563, 0.2543, 0.2514, 0.249, 0.2472, 0.2464, 0.2459, 0.2461, 0.2494",\
                 "0.2915, 0.29, 0.2854, 0.2794, 0.2729, 0.2671, 0.2624, 0.2592, 0.2569, 0.2592",\
                 "0.3432, 0.3409, 0.3341, 0.3239, 0.3127, 0.302, 0.2925, 0.2849, 0.279, 0.2789",\
                 "0.412, 0.4093, 0.4006, 0.3866, 0.3701, 0.3541, 0.3392, 0.3258, 0.3148, 0.3122",\
                 "0.4985, 0.4952, 0.4852, 0.4682, 0.4466, 0.4241, 0.4032, 0.3836, 0.3675, 0.364",\
                 "0.6029, 0.5995, 0.588, 0.5689, 0.5432, 0.5149, 0.4864, 0.4605, 0.4393, 0.4392");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05414, 0.05416, 0.05422, 0.05428, 0.05435, 0.05438, 0.05439, 0.0544, 0.05441, 0.05439",\
                 "0.05241, 0.05246, 0.05257, 0.05266, 0.05276, 0.05281, 0.05284, 0.05286, 0.05289, 0.05286",\
                 "0.05063, 0.05071, 0.05088, 0.05112, 0.05133, 0.05149, 0.05158, 0.05164, 0.05168, 0.05173",\
                 "0.05326, 0.05321, 0.05297, 0.05271, 0.05246, 0.05222, 0.05207, 0.05194, 0.05186, 0.05181",\
                 "0.06708, 0.06648, 0.06473, 0.06247, 0.06034, 0.05854, 0.05705, 0.05588, 0.05499, 0.05432",\
                 "0.09554, 0.09419, 0.09016, 0.08468, 0.07908, 0.07409, 0.06997, 0.06664, 0.06393, 0.06177",\
                 "0.1401, 0.138, 0.1313, 0.1219, 0.1118, 0.1022, 0.09396, 0.08704, 0.08138, 0.07667",\
                 "0.2017, 0.1987, 0.1895, 0.1758, 0.1603, 0.1453, 0.1317, 0.1199, 0.1099, 0.1016",\
                 "0.2806, 0.2769, 0.2652, 0.2473, 0.2263, 0.2052, 0.1854, 0.1676, 0.1521, 0.1389",\
                 "0.3772, 0.3729, 0.3591, 0.3372, 0.3109, 0.2833, 0.2566, 0.2321, 0.2101, 0.1908");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2384, 0.2385, 0.2386, 0.2388, 0.2393, 0.2398, 0.2402, 0.241, 0.2419, 0.2446",\
                 "0.2366, 0.2367, 0.237, 0.2375, 0.2382, 0.2388, 0.2395, 0.2401, 0.2416, 0.244",\
                 "0.2336, 0.2337, 0.2344, 0.2353, 0.2363, 0.2373, 0.2382, 0.2391, 0.2402, 0.244",\
                 "0.2387, 0.2385, 0.238, 0.2376, 0.2378, 0.2382, 0.2389, 0.2399, 0.2406, 0.2443",\
                 "0.2585, 0.2576, 0.2552, 0.2521, 0.2493, 0.247, 0.2456, 0.2454, 0.2454, 0.248",\
                 "0.2953, 0.2938, 0.289, 0.2823, 0.2752, 0.2688, 0.2635, 0.26, 0.2572, 0.2585",\
                 "0.3499, 0.3476, 0.3406, 0.3299, 0.3181, 0.3066, 0.296, 0.2875, 0.281, 0.2802",\
                 "0.4223, 0.4195, 0.4105, 0.3963, 0.3791, 0.3623, 0.3464, 0.3321, 0.3202, 0.3161",\
                 "0.5128, 0.5098, 0.4994, 0.482, 0.4604, 0.4371, 0.415, 0.3942, 0.377, 0.3721",\
                 "0.6223, 0.6188, 0.6073, 0.5879, 0.5616, 0.5327, 0.5032, 0.4764, 0.4537, 0.4524");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07525, 0.07527, 0.0753, 0.07539, 0.07537, 0.07543, 0.07545, 0.07545, 0.07549, 0.07548",\
                 "0.07361, 0.07363, 0.07367, 0.0738, 0.07383, 0.07388, 0.07392, 0.07393, 0.07394, 0.07391",\
                 "0.07193, 0.072, 0.07214, 0.0723, 0.07246, 0.07259, 0.07267, 0.07272, 0.07276, 0.07274",\
                 "0.07419, 0.07407, 0.07391, 0.07376, 0.07349, 0.07325, 0.07312, 0.07297, 0.0729, 0.0728",\
                 "0.08622, 0.08574, 0.08433, 0.08252, 0.08063, 0.07902, 0.07772, 0.07657, 0.07583, 0.07515",\
                 "0.1117, 0.1107, 0.1074, 0.1028, 0.0979, 0.09347, 0.08969, 0.08662, 0.08402, 0.082",\
                 "0.1526, 0.1507, 0.1453, 0.1372, 0.1281, 0.1195, 0.112, 0.1056, 0.1002, 0.09585",\
                 "0.2098, 0.2074, 0.1995, 0.1875, 0.1736, 0.1599, 0.1472, 0.1363, 0.1269, 0.1191",\
                 "0.2842, 0.281, 0.2708, 0.2549, 0.2359, 0.2163, 0.1977, 0.1811, 0.1665, 0.1541",\
                 "0.3757, 0.3721, 0.3599, 0.3403, 0.3159, 0.2903, 0.2652, 0.242, 0.2212, 0.2029");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2775, 0.2775, 0.2777, 0.2779, 0.2783, 0.2789, 0.2795, 0.2803, 0.2815, 0.284",\
                 "0.2766, 0.2767, 0.2771, 0.2777, 0.2783, 0.2791, 0.2798, 0.2808, 0.2819, 0.2852",\
                 "0.2735, 0.2738, 0.2744, 0.2755, 0.2767, 0.278, 0.2792, 0.2803, 0.2816, 0.2848",\
                 "0.2774, 0.2774, 0.2772, 0.2774, 0.2777, 0.2785, 0.2792, 0.2803, 0.2816, 0.2854",\
                 "0.2954, 0.2947, 0.2929, 0.2905, 0.2882, 0.2866, 0.2856, 0.2854, 0.2857, 0.2889",\
                 "0.3294, 0.3281, 0.3242, 0.3185, 0.3125, 0.307, 0.3025, 0.2993, 0.2971, 0.2998",\
                 "0.3808, 0.3787, 0.3726, 0.3634, 0.3531, 0.3428, 0.3335, 0.3258, 0.3203, 0.3206",\
                 "0.4494, 0.447, 0.4391, 0.4262, 0.4109, 0.3956, 0.3812, 0.3681, 0.3577, 0.3557",\
                 "0.5357, 0.5327, 0.5233, 0.5078, 0.488, 0.4668, 0.4465, 0.4277, 0.4118, 0.4101",\
                 "0.6403, 0.6371, 0.6265, 0.6087, 0.5849, 0.5578, 0.5312, 0.5065, 0.486, 0.4878");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05419, 0.05415, 0.05424, 0.05429, 0.05429, 0.05434, 0.05436, 0.05437, 0.05438, 0.05437",\
                 "0.05239, 0.05251, 0.05256, 0.05267, 0.05275, 0.05279, 0.05283, 0.05285, 0.05286, 0.05285",\
                 "0.05068, 0.05075, 0.05087, 0.05114, 0.05136, 0.05148, 0.05159, 0.05164, 0.05168, 0.05168",\
                 "0.05321, 0.05314, 0.05294, 0.05272, 0.05244, 0.05219, 0.05207, 0.05191, 0.05183, 0.05176",\
                 "0.06671, 0.06611, 0.06439, 0.06217, 0.06, 0.05822, 0.05683, 0.05568, 0.05482, 0.05416",\
                 "0.09442, 0.09304, 0.08907, 0.0836, 0.07804, 0.07318, 0.06916, 0.06588, 0.06323, 0.06115",\
                 "0.1377, 0.1356, 0.129, 0.1196, 0.1094, 0.1001, 0.09198, 0.08523, 0.07971, 0.07517",\
                 "0.1975, 0.1945, 0.1854, 0.1717, 0.1564, 0.1415, 0.128, 0.1165, 0.1068, 0.0987",\
                 "0.2739, 0.2703, 0.2587, 0.2409, 0.2201, 0.199, 0.1795, 0.162, 0.1469, 0.1341",\
                 "0.3676, 0.3634, 0.3497, 0.328, 0.3017, 0.2743, 0.2479, 0.2237, 0.2023, 0.1835");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2568, 0.2569, 0.257, 0.2571, 0.2576, 0.2581, 0.2588, 0.2594, 0.2603, 0.2631",\
                 "0.2559, 0.256, 0.2565, 0.257, 0.2576, 0.2583, 0.259, 0.2599, 0.2614, 0.264",\
                 "0.2528, 0.2531, 0.2537, 0.2549, 0.2561, 0.2572, 0.2584, 0.2594, 0.2606, 0.2639",\
                 "0.2568, 0.2567, 0.2565, 0.2567, 0.257, 0.2577, 0.2585, 0.2598, 0.2607, 0.2645",\
                 "0.2746, 0.274, 0.2723, 0.2697, 0.2676, 0.2659, 0.2649, 0.2647, 0.2649, 0.2678",\
                 "0.3089, 0.3076, 0.3035, 0.2979, 0.2918, 0.2864, 0.2817, 0.2786, 0.2764, 0.2785",\
                 "0.3602, 0.3583, 0.352, 0.3426, 0.3323, 0.3221, 0.3128, 0.305, 0.2992, 0.2993",\
                 "0.429, 0.4266, 0.4185, 0.4056, 0.3903, 0.3749, 0.3605, 0.3473, 0.3365, 0.3341",\
                 "0.5153, 0.5124, 0.5031, 0.4872, 0.4674, 0.4462, 0.426, 0.4072, 0.3911, 0.3874",\
                 "0.6201, 0.6169, 0.6063, 0.5884, 0.5644, 0.5375, 0.5104, 0.4858, 0.4647, 0.4654");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05412, 0.0541, 0.05419, 0.05427, 0.05429, 0.05433, 0.05438, 0.05437, 0.05437, 0.05439",\
                 "0.05239, 0.05245, 0.05256, 0.05269, 0.05272, 0.05278, 0.05284, 0.05286, 0.05287, 0.05292",\
                 "0.05077, 0.05086, 0.051, 0.05117, 0.05137, 0.0515, 0.05162, 0.05167, 0.0517, 0.05173",\
                 "0.05391, 0.05378, 0.05348, 0.05313, 0.05283, 0.0525, 0.05228, 0.05211, 0.05198, 0.05187",\
                 "0.06856, 0.06791, 0.06602, 0.0636, 0.06123, 0.0593, 0.05773, 0.05642, 0.05542, 0.05467",\
                 "0.09773, 0.0963, 0.09222, 0.08659, 0.08067, 0.07551, 0.07114, 0.06763, 0.06478, 0.06249",\
                 "0.143, 0.1408, 0.134, 0.1244, 0.114, 0.1043, 0.09575, 0.08868, 0.08276, 0.0779",\
                 "0.2052, 0.2022, 0.1929, 0.179, 0.1634, 0.1481, 0.1342, 0.1222, 0.1119, 0.1033",\
                 "0.2847, 0.2811, 0.2694, 0.2513, 0.2301, 0.2087, 0.1886, 0.1706, 0.1548, 0.1414",\
                 "0.3819, 0.3777, 0.3639, 0.3419, 0.3153, 0.2876, 0.2605, 0.2357, 0.2135, 0.1941");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2563, 0.2563, 0.2564, 0.2567, 0.257, 0.2575, 0.2581, 0.2589, 0.2597, 0.2628",\
                 "0.2547, 0.2549, 0.2553, 0.2558, 0.2565, 0.2571, 0.2578, 0.2587, 0.2597, 0.2627",\
                 "0.2516, 0.2519, 0.2525, 0.2535, 0.2547, 0.2558, 0.2569, 0.258, 0.2593, 0.2625",\
                 "0.2566, 0.2564, 0.256, 0.2558, 0.256, 0.2565, 0.2574, 0.2584, 0.2593, 0.2625",\
                 "0.2761, 0.2754, 0.2733, 0.2704, 0.2678, 0.2657, 0.2644, 0.2639, 0.264, 0.2668",\
                 "0.3127, 0.3112, 0.3071, 0.3011, 0.2945, 0.2883, 0.2832, 0.2793, 0.277, 0.2785",\
                 "0.3669, 0.365, 0.3586, 0.3489, 0.338, 0.327, 0.3171, 0.3086, 0.3018, 0.3009",\
                 "0.4393, 0.4368, 0.4287, 0.4157, 0.3999, 0.384, 0.3686, 0.3545, 0.3427, 0.339",\
                 "0.5298, 0.5269, 0.5174, 0.5018, 0.4812, 0.4595, 0.4388, 0.4187, 0.4015, 0.3972",\
                 "0.6396, 0.6363, 0.6257, 0.6074, 0.5832, 0.5561, 0.5287, 0.5031, 0.4808, 0.4799");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07795, 0.078, 0.07816, 0.07824, 0.07838, 0.07839, 0.07845, 0.07849, 0.0785, 0.07845",\
                 "0.07836, 0.07848, 0.07875, 0.07914, 0.07936, 0.07954, 0.07968, 0.07976, 0.07982, 0.07979",\
                 "0.0771, 0.07728, 0.07785, 0.0786, 0.07931, 0.07977, 0.08012, 0.08036, 0.08051, 0.08058",\
                 "0.07676, 0.07703, 0.07751, 0.07824, 0.0789, 0.07945, 0.07992, 0.08025, 0.08049, 0.08069",\
                 "0.08403, 0.08394, 0.08365, 0.08352, 0.08324, 0.0831, 0.08282, 0.08262, 0.08241, 0.08223",\
                 "0.1028, 0.1022, 0.1006, 0.09853, 0.09627, 0.09415, 0.0923, 0.09069, 0.08926, 0.08809",\
                 "0.135, 0.1339, 0.1307, 0.1259, 0.1207, 0.1157, 0.1112, 0.1071, 0.1036, 0.1006",\
                 "0.182, 0.1806, 0.1755, 0.1677, 0.1588, 0.1498, 0.1415, 0.1342, 0.1277, 0.1219",\
                 "0.2447, 0.2425, 0.2357, 0.2248, 0.2118, 0.1983, 0.1855, 0.1738, 0.1634, 0.1541",\
                 "0.3235, 0.3207, 0.3122, 0.2982, 0.2809, 0.2625, 0.2443, 0.2276, 0.2124, 0.1988");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3254, 0.3254, 0.3256, 0.3258, 0.3261, 0.3266, 0.3272, 0.328, 0.3291, 0.3326",\
                 "0.3232, 0.3232, 0.3235, 0.3237, 0.324, 0.3246, 0.3252, 0.326, 0.3271, 0.3309",\
                 "0.322, 0.3221, 0.3222, 0.3224, 0.3227, 0.3234, 0.324, 0.3248, 0.326, 0.3293",\
                 "0.3286, 0.3283, 0.3275, 0.3264, 0.3257, 0.3253, 0.3254, 0.3257, 0.3266, 0.3304",\
                 "0.347, 0.3462, 0.3436, 0.3403, 0.3369, 0.3342, 0.3323, 0.3313, 0.3311, 0.3347",\
                 "0.3787, 0.3775, 0.3734, 0.3668, 0.3598, 0.3534, 0.3485, 0.3445, 0.3421, 0.3448",\
                 "0.4248, 0.423, 0.4172, 0.4081, 0.3972, 0.3863, 0.3767, 0.3685, 0.3627, 0.3637",\
                 "0.4864, 0.4841, 0.4766, 0.4645, 0.45, 0.4342, 0.4194, 0.406, 0.3957, 0.3969",\
                 "0.5641, 0.5614, 0.5526, 0.5377, 0.5189, 0.4988, 0.4784, 0.4596, 0.4442, 0.4478",\
                 "0.6591, 0.6561, 0.6459, 0.6285, 0.6059, 0.5807, 0.5552, 0.5303, 0.5122, 0.525");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05751, 0.05755, 0.0577, 0.05787, 0.05794, 0.05799, 0.05805, 0.05808, 0.0581, 0.05809",\
                 "0.05765, 0.05786, 0.05821, 0.05862, 0.05894, 0.05915, 0.05926, 0.05935, 0.05941, 0.05941",\
                 "0.05589, 0.0562, 0.057, 0.05798, 0.05871, 0.05931, 0.05967, 0.05993, 0.0601, 0.0602",\
                 "0.05567, 0.0559, 0.05661, 0.05751, 0.05831, 0.05898, 0.05946, 0.05983, 0.0601, 0.06028",\
                 "0.06386, 0.0637, 0.06333, 0.06307, 0.06287, 0.06271, 0.06244, 0.06224, 0.06205, 0.06188",\
                 "0.084, 0.08337, 0.08142, 0.07889, 0.07638, 0.07417, 0.07217, 0.07049, 0.06904, 0.06784",\
                 "0.1179, 0.1166, 0.1129, 0.1074, 0.1017, 0.09623, 0.09148, 0.08722, 0.08362, 0.08051",\
                 "0.1667, 0.1649, 0.1592, 0.1504, 0.1406, 0.1311, 0.1224, 0.1147, 0.108, 0.1021",\
                 "0.2311, 0.2287, 0.2209, 0.209, 0.1948, 0.1804, 0.167, 0.1548, 0.1441, 0.1345",\
                 "0.3115, 0.3085, 0.2989, 0.2837, 0.2651, 0.2456, 0.2266, 0.2092, 0.1936, 0.1796");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3048, 0.3048, 0.3049, 0.3052, 0.3055, 0.306, 0.3066, 0.3074, 0.3084, 0.3114",\
                 "0.3026, 0.3026, 0.3028, 0.3031, 0.3035, 0.3039, 0.3046, 0.3055, 0.3065, 0.3097",\
                 "0.3015, 0.3014, 0.3015, 0.3018, 0.3022, 0.3026, 0.3033, 0.3042, 0.3053, 0.3085",\
                 "0.308, 0.3077, 0.3068, 0.3058, 0.3051, 0.3047, 0.3048, 0.3052, 0.3057, 0.3096",\
                 "0.3264, 0.3256, 0.323, 0.3197, 0.3163, 0.3135, 0.3118, 0.3106, 0.3104, 0.3134",\
                 "0.3581, 0.3569, 0.3528, 0.3464, 0.3394, 0.333, 0.3278, 0.324, 0.321, 0.3236",\
                 "0.4043, 0.4025, 0.3965, 0.3874, 0.3767, 0.3657, 0.356, 0.3478, 0.3418, 0.3429",\
                 "0.4659, 0.4636, 0.4562, 0.444, 0.4293, 0.4138, 0.3986, 0.3853, 0.3751, 0.3753",\
                 "0.5438, 0.541, 0.532, 0.5173, 0.4985, 0.4782, 0.4578, 0.4387, 0.4236, 0.4256",\
                 "0.6387, 0.6357, 0.6255, 0.6081, 0.5856, 0.5602, 0.5344, 0.5098, 0.4908, 0.5009");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05751, 0.05755, 0.05771, 0.05785, 0.05791, 0.05799, 0.05805, 0.05808, 0.05811, 0.05811",\
                 "0.05765, 0.05779, 0.05818, 0.05861, 0.05891, 0.05913, 0.05926, 0.05933, 0.0594, 0.05944",\
                 "0.05595, 0.05626, 0.05706, 0.05796, 0.0587, 0.0593, 0.05966, 0.05992, 0.06011, 0.06022",\
                 "0.05594, 0.05616, 0.05674, 0.05763, 0.0584, 0.05904, 0.05953, 0.05989, 0.06013, 0.0603",\
                 "0.0642, 0.06405, 0.06369, 0.06326, 0.06304, 0.06284, 0.06256, 0.06233, 0.06218, 0.06195",\
                 "0.08428, 0.08364, 0.08175, 0.07916, 0.07657, 0.07432, 0.07234, 0.07063, 0.06919, 0.06796",\
                 "0.1182, 0.1169, 0.1132, 0.1077, 0.1019, 0.09649, 0.09167, 0.08744, 0.08381, 0.08075",\
                 "0.1669, 0.1652, 0.1595, 0.1508, 0.1411, 0.1315, 0.1228, 0.1151, 0.1083, 0.1024",\
                 "0.2315, 0.2291, 0.2213, 0.2095, 0.1954, 0.181, 0.1676, 0.1554, 0.1447, 0.1351",\
                 "0.3121, 0.309, 0.2995, 0.2844, 0.2659, 0.2464, 0.2274, 0.2101, 0.1945, 0.1804");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3215, 0.3216, 0.3217, 0.3219, 0.3223, 0.3228, 0.3233, 0.3241, 0.3253, 0.3284",\
                 "0.3196, 0.3196, 0.3198, 0.3201, 0.3205, 0.3209, 0.3216, 0.3224, 0.3236, 0.3267",\
                 "0.3183, 0.3183, 0.3184, 0.3187, 0.319, 0.3196, 0.3203, 0.3215, 0.3223, 0.3258",\
                 "0.3249, 0.3247, 0.3238, 0.3228, 0.3221, 0.3217, 0.3219, 0.3222, 0.323, 0.3266",\
                 "0.3435, 0.3427, 0.3404, 0.337, 0.3336, 0.331, 0.3291, 0.328, 0.3275, 0.331",\
                 "0.3753, 0.3741, 0.3704, 0.3643, 0.3573, 0.351, 0.3456, 0.3417, 0.3392, 0.3415",\
                 "0.4215, 0.4198, 0.4143, 0.4059, 0.3956, 0.385, 0.3751, 0.367, 0.3605, 0.3617",\
                 "0.483, 0.481, 0.4741, 0.4625, 0.4489, 0.4339, 0.4192, 0.4058, 0.3953, 0.3957",\
                 "0.5608, 0.5583, 0.5499, 0.5363, 0.5185, 0.4993, 0.4796, 0.4609, 0.4457, 0.4477",\
                 "0.6555, 0.6527, 0.6432, 0.6274, 0.6059, 0.5821, 0.5577, 0.5339, 0.5151, 0.5265");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05597, 0.05606, 0.05621, 0.0563, 0.05642, 0.05648, 0.05652, 0.05655, 0.05657, 0.05656",\
                 "0.05612, 0.05633, 0.05669, 0.05711, 0.05742, 0.05762, 0.05774, 0.05783, 0.05789, 0.0579",\
                 "0.05433, 0.05464, 0.05546, 0.05645, 0.05719, 0.05778, 0.05815, 0.0584, 0.05858, 0.05867",\
                 "0.0541, 0.0544, 0.05503, 0.05595, 0.05677, 0.05746, 0.05793, 0.05834, 0.05857, 0.05876",\
                 "0.06231, 0.06216, 0.06184, 0.06157, 0.06134, 0.06117, 0.06091, 0.06072, 0.06053, 0.06037",\
                 "0.08252, 0.08189, 0.07995, 0.07739, 0.07487, 0.07262, 0.07066, 0.06898, 0.06753, 0.06632",\
                 "0.1166, 0.1153, 0.1114, 0.106, 0.1002, 0.09474, 0.08998, 0.08572, 0.08211, 0.07899",\
                 "0.1653, 0.1635, 0.1578, 0.1491, 0.1392, 0.1296, 0.1209, 0.1132, 0.1065, 0.1006",\
                 "0.2299, 0.2274, 0.2197, 0.2077, 0.1934, 0.179, 0.1655, 0.1534, 0.1426, 0.1331",\
                 "0.3104, 0.3074, 0.2977, 0.2825, 0.2638, 0.2442, 0.2252, 0.2078, 0.1921, 0.1781");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3047, 0.3047, 0.3047, 0.305, 0.3054, 0.3058, 0.3064, 0.3073, 0.3083, 0.3114",\
                 "0.3024, 0.3025, 0.3026, 0.303, 0.3034, 0.3039, 0.3045, 0.3053, 0.3065, 0.3094",\
                 "0.3013, 0.3013, 0.3013, 0.3016, 0.3021, 0.3026, 0.3032, 0.3041, 0.3053, 0.3085",\
                 "0.3079, 0.3076, 0.3066, 0.3057, 0.305, 0.3046, 0.3046, 0.305, 0.3055, 0.309",\
                 "0.3262, 0.3254, 0.3229, 0.3196, 0.3162, 0.3134, 0.3116, 0.3104, 0.31, 0.3134",\
                 "0.358, 0.3567, 0.3526, 0.3462, 0.3393, 0.3327, 0.3278, 0.3237, 0.3211, 0.3234",\
                 "0.4041, 0.4024, 0.3965, 0.3873, 0.3765, 0.3654, 0.3559, 0.3478, 0.3416, 0.3426",\
                 "0.4657, 0.4635, 0.456, 0.4437, 0.4291, 0.4136, 0.3985, 0.3851, 0.3748, 0.3747",\
                 "0.5436, 0.541, 0.532, 0.5174, 0.4983, 0.4782, 0.4579, 0.4387, 0.4234, 0.4247",\
                 "0.6385, 0.6355, 0.6254, 0.6081, 0.5855, 0.5602, 0.5343, 0.5096, 0.4907, 0.5013");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03561, 0.03566, 0.03577, 0.03592, 0.03601, 0.03607, 0.03612, 0.03616, 0.03618, 0.03618",\
                 "0.0353, 0.03561, 0.03616, 0.03662, 0.03698, 0.03719, 0.03732, 0.03741, 0.03747, 0.03751",\
                 "0.03278, 0.03326, 0.03442, 0.03568, 0.03662, 0.03729, 0.03769, 0.03796, 0.03816, 0.03829",\
                 "0.03281, 0.03305, 0.03395, 0.03512, 0.03613, 0.03694, 0.03748, 0.03786, 0.03815, 0.03831",\
                 "0.04218, 0.04196, 0.04155, 0.04119, 0.04099, 0.04079, 0.04057, 0.04037, 0.04017, 0.03999",\
                 "0.06405, 0.06328, 0.06091, 0.05797, 0.0551, 0.05268, 0.05056, 0.04879, 0.0473, 0.04606",\
                 "0.1001, 0.09853, 0.094, 0.08772, 0.08122, 0.07537, 0.07028, 0.06586, 0.06209, 0.05888",\
                 "0.1509, 0.1487, 0.142, 0.1322, 0.1213, 0.1111, 0.1018, 0.09378, 0.0868, 0.08075",\
                 "0.2174, 0.2146, 0.2057, 0.1923, 0.1767, 0.1613, 0.1471, 0.1344, 0.1233, 0.1135",\
                 "0.2999, 0.2964, 0.2855, 0.2685, 0.2483, 0.2275, 0.2075, 0.1894, 0.1733, 0.159");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.284, 0.2841, 0.2842, 0.2844, 0.2848, 0.2854, 0.286, 0.287, 0.2881, 0.2911",\
                 "0.2818, 0.2818, 0.282, 0.2823, 0.2828, 0.2833, 0.284, 0.285, 0.2861, 0.2885",\
                 "0.2806, 0.2806, 0.2807, 0.2809, 0.2815, 0.2821, 0.2827, 0.2836, 0.2848, 0.2882",\
                 "0.2872, 0.2868, 0.2859, 0.285, 0.2844, 0.2841, 0.2841, 0.2846, 0.2854, 0.2885",\
                 "0.3058, 0.3049, 0.3023, 0.2988, 0.2955, 0.2929, 0.2909, 0.2898, 0.2897, 0.2917",\
                 "0.3374, 0.3359, 0.3319, 0.3256, 0.3187, 0.3119, 0.3071, 0.3027, 0.3006, 0.3024",\
                 "0.3838, 0.3819, 0.3759, 0.3668, 0.356, 0.3449, 0.3353, 0.3269, 0.3211, 0.3213",\
                 "0.4455, 0.4431, 0.4357, 0.4233, 0.4085, 0.3929, 0.378, 0.3648, 0.3536, 0.353",\
                 "0.5233, 0.5205, 0.5117, 0.4967, 0.4778, 0.4573, 0.4375, 0.418, 0.4026, 0.4027",\
                 "0.6181, 0.6151, 0.605, 0.5876, 0.5649, 0.5395, 0.5136, 0.4884, 0.4694, 0.4776");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03557, 0.03563, 0.0358, 0.03591, 0.036, 0.03606, 0.03611, 0.03614, 0.03615, 0.0362",\
                 "0.03525, 0.03559, 0.03613, 0.0366, 0.03695, 0.03718, 0.03732, 0.0374, 0.03746, 0.03751",\
                 "0.03278, 0.03323, 0.03447, 0.03569, 0.03661, 0.03728, 0.03768, 0.03798, 0.03817, 0.03829",\
                 "0.03304, 0.03328, 0.03412, 0.03527, 0.03624, 0.03701, 0.03754, 0.03792, 0.03817, 0.03838",\
                 "0.04258, 0.04236, 0.04184, 0.04138, 0.04116, 0.04095, 0.04068, 0.04044, 0.04027, 0.04007",\
                 "0.0644, 0.06364, 0.06127, 0.05819, 0.05533, 0.05283, 0.05073, 0.04894, 0.04739, 0.04618",\
                 "0.1004, 0.09881, 0.09431, 0.08801, 0.08155, 0.07565, 0.07053, 0.06605, 0.0623, 0.0591",\
                 "0.1512, 0.149, 0.1424, 0.1326, 0.1217, 0.1114, 0.1022, 0.09412, 0.08716, 0.08108",\
                 "0.2177, 0.2148, 0.206, 0.1927, 0.1772, 0.1618, 0.1477, 0.135, 0.1239, 0.1141",\
                 "0.3002, 0.2967, 0.2859, 0.269, 0.2491, 0.2283, 0.2084, 0.1902, 0.1742, 0.1598");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3008, 0.3009, 0.3009, 0.3012, 0.3016, 0.3021, 0.3027, 0.3034, 0.3048, 0.3069",\
                 "0.2988, 0.2988, 0.299, 0.2993, 0.2998, 0.3003, 0.301, 0.302, 0.3028, 0.3054",\
                 "0.2975, 0.2975, 0.2976, 0.2979, 0.2985, 0.2991, 0.2997, 0.3006, 0.3018, 0.3043",\
                 "0.304, 0.3038, 0.3029, 0.3019, 0.3013, 0.3011, 0.3012, 0.3016, 0.3026, 0.3058",\
                 "0.3228, 0.322, 0.3196, 0.3162, 0.3128, 0.3102, 0.3082, 0.3071, 0.3068, 0.31",\
                 "0.3547, 0.3533, 0.3495, 0.3435, 0.3366, 0.3303, 0.3248, 0.3209, 0.318, 0.3195",\
                 "0.401, 0.3991, 0.3936, 0.385, 0.3749, 0.3642, 0.3541, 0.3462, 0.3397, 0.3402",\
                 "0.4626, 0.4604, 0.4533, 0.442, 0.4281, 0.4131, 0.3985, 0.3851, 0.3745, 0.3734",\
                 "0.5403, 0.5377, 0.5293, 0.5156, 0.498, 0.4785, 0.4588, 0.4403, 0.4247, 0.4252",\
                 "0.6353, 0.6323, 0.6226, 0.6067, 0.5854, 0.5614, 0.5369, 0.5131, 0.4936, 0.5028");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05594, 0.05607, 0.0562, 0.05631, 0.05642, 0.05645, 0.05652, 0.05654, 0.05656, 0.05659",\
                 "0.05618, 0.05634, 0.05671, 0.0571, 0.05741, 0.05759, 0.05771, 0.05782, 0.05787, 0.05789",\
                 "0.05439, 0.05472, 0.05552, 0.05642, 0.05719, 0.05778, 0.05815, 0.05837, 0.05855, 0.05869",\
                 "0.05452, 0.05479, 0.0554, 0.05627, 0.05705, 0.05764, 0.05809, 0.05843, 0.05866, 0.0588",\
                 "0.06352, 0.06334, 0.06298, 0.0626, 0.06224, 0.06191, 0.06164, 0.06126, 0.06101, 0.06075",\
                 "0.08449, 0.08385, 0.08194, 0.07928, 0.07663, 0.07415, 0.072, 0.07014, 0.06853, 0.0672",\
                 "0.1193, 0.118, 0.1143, 0.1087, 0.1028, 0.09709, 0.09198, 0.08754, 0.0837, 0.08042",\
                 "0.169, 0.1671, 0.1614, 0.1526, 0.1426, 0.1327, 0.1237, 0.1158, 0.1087, 0.1026",\
                 "0.2341, 0.2316, 0.2239, 0.2118, 0.1974, 0.1828, 0.169, 0.1566, 0.1455, 0.1357",\
                 "0.3152, 0.3122, 0.3025, 0.2872, 0.2685, 0.2487, 0.2294, 0.2116, 0.1957, 0.1815");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3224, 0.3225, 0.3225, 0.3228, 0.3232, 0.3235, 0.3242, 0.3251, 0.3261, 0.3293",\
                 "0.3203, 0.3203, 0.3205, 0.3209, 0.3212, 0.3217, 0.3224, 0.3233, 0.3243, 0.3277",\
                 "0.3193, 0.3194, 0.3194, 0.3197, 0.3201, 0.3207, 0.3214, 0.3222, 0.3235, 0.3267",\
                 "0.3259, 0.3257, 0.3249, 0.3241, 0.3234, 0.3231, 0.3231, 0.3235, 0.3243, 0.3279",\
                 "0.3442, 0.3436, 0.3412, 0.3383, 0.3351, 0.3325, 0.3304, 0.3293, 0.329, 0.3323",\
                 "0.3758, 0.3746, 0.3711, 0.3652, 0.3584, 0.3525, 0.3475, 0.3433, 0.3406, 0.3428",\
                 "0.4217, 0.4201, 0.4148, 0.4065, 0.3964, 0.386, 0.3766, 0.3685, 0.3622, 0.3633",\
                 "0.483, 0.481, 0.4743, 0.4631, 0.4496, 0.4351, 0.4204, 0.4075, 0.3968, 0.3967",\
                 "0.5608, 0.5584, 0.5503, 0.5366, 0.5192, 0.5004, 0.4811, 0.4623, 0.4474, 0.4494",\
                 "0.6556, 0.6527, 0.6434, 0.6275, 0.6066, 0.5829, 0.5585, 0.5348, 0.5166, 0.528");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03552, 0.03559, 0.03578, 0.03591, 0.036, 0.03607, 0.03611, 0.03613, 0.03616, 0.03618",\
                 "0.03533, 0.03557, 0.03613, 0.03662, 0.03696, 0.03718, 0.03732, 0.0374, 0.03747, 0.03751",\
                 "0.03287, 0.03335, 0.03444, 0.03567, 0.03661, 0.0373, 0.03769, 0.03794, 0.03814, 0.03827",\
                 "0.03325, 0.03353, 0.03437, 0.03547, 0.03642, 0.03714, 0.03763, 0.038, 0.03824, 0.03841",\
                 "0.04341, 0.04323, 0.04269, 0.04226, 0.04191, 0.0416, 0.04124, 0.04091, 0.04064, 0.0404",\
                 "0.06604, 0.06525, 0.06288, 0.05985, 0.05685, 0.05422, 0.05192, 0.04999, 0.04832, 0.04693",\
                 "0.1029, 0.1014, 0.09682, 0.09044, 0.08385, 0.07773, 0.07233, 0.06772, 0.0637, 0.06034",\
                 "0.1545, 0.1522, 0.1457, 0.1357, 0.1247, 0.1141, 0.1046, 0.09631, 0.08908, 0.08276",\
                 "0.2216, 0.2188, 0.2099, 0.1965, 0.1808, 0.1651, 0.1507, 0.1377, 0.1262, 0.1163",\
                 "0.3048, 0.3013, 0.2902, 0.2733, 0.253, 0.232, 0.2118, 0.1933, 0.1769, 0.1623");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3018, 0.3019, 0.302, 0.3023, 0.3025, 0.3031, 0.3038, 0.3043, 0.3053, 0.3081",\
                 "0.2997, 0.2998, 0.2999, 0.3001, 0.3007, 0.3012, 0.302, 0.3029, 0.3041, 0.3063",\
                 "0.2987, 0.2987, 0.2989, 0.299, 0.2995, 0.3001, 0.3009, 0.3016, 0.3031, 0.3055",\
                 "0.3053, 0.305, 0.3042, 0.3034, 0.3027, 0.3024, 0.3026, 0.3031, 0.3039, 0.3073",\
                 "0.3236, 0.323, 0.3206, 0.3175, 0.3143, 0.3117, 0.3099, 0.3085, 0.3085, 0.3115",\
                 "0.3551, 0.3541, 0.3502, 0.3446, 0.338, 0.3319, 0.3266, 0.3228, 0.3202, 0.3216",\
                 "0.4012, 0.3995, 0.3943, 0.3859, 0.376, 0.3655, 0.3558, 0.3477, 0.3415, 0.3417",\
                 "0.4626, 0.4606, 0.4538, 0.4428, 0.429, 0.4145, 0.3999, 0.3869, 0.3758, 0.3753",\
                 "0.5404, 0.538, 0.5297, 0.5163, 0.4987, 0.4797, 0.46, 0.4418, 0.4263, 0.4267",\
                 "0.6351, 0.6324, 0.623, 0.6072, 0.5859, 0.5623, 0.5378, 0.5142, 0.4954, 0.5043");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.03555, 0.0356, 0.03574, 0.03593, 0.03601, 0.03605, 0.03611, 0.03614, 0.03615, 0.03618",\
                 "0.03532, 0.03557, 0.03608, 0.03661, 0.03696, 0.03717, 0.03731, 0.03741, 0.03745, 0.03751",\
                 "0.03298, 0.03339, 0.0345, 0.03572, 0.03664, 0.03728, 0.03771, 0.03797, 0.03815, 0.03829",\
                 "0.03361, 0.03383, 0.03467, 0.03572, 0.0366, 0.03727, 0.03773, 0.03807, 0.0383, 0.03844",\
                 "0.04401, 0.04381, 0.04324, 0.04268, 0.0423, 0.04194, 0.04154, 0.04115, 0.04083, 0.04057",\
                 "0.06689, 0.06608, 0.06367, 0.06053, 0.05751, 0.05473, 0.05242, 0.05043, 0.04867, 0.04725",\
                 "0.1038, 0.1024, 0.09787, 0.09141, 0.08476, 0.07851, 0.07306, 0.06832, 0.06431, 0.06089",\
                 "0.1556, 0.1534, 0.1468, 0.137, 0.1259, 0.1153, 0.1057, 0.09729, 0.08997, 0.0836",\
                 "0.223, 0.2202, 0.2112, 0.1979, 0.1823, 0.1667, 0.152, 0.1389, 0.1275, 0.1174",\
                 "0.3064, 0.3029, 0.292, 0.2751, 0.255, 0.2339, 0.2137, 0.1953, 0.1787, 0.164");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3188, 0.3188, 0.3189, 0.3192, 0.3195, 0.32, 0.3208, 0.3217, 0.3221, 0.325",\
                 "0.317, 0.317, 0.3171, 0.3175, 0.3179, 0.3185, 0.3193, 0.3198, 0.3207, 0.3237",\
                 "0.3159, 0.3158, 0.316, 0.3164, 0.3167, 0.3174, 0.3182, 0.3188, 0.3203, 0.3231",\
                 "0.3225, 0.3222, 0.3214, 0.3207, 0.32, 0.3197, 0.3198, 0.3204, 0.3214, 0.3247",\
                 "0.3409, 0.3404, 0.3381, 0.3353, 0.3321, 0.3296, 0.3277, 0.3263, 0.3258, 0.3278",\
                 "0.3726, 0.3717, 0.3683, 0.3629, 0.3564, 0.3502, 0.3453, 0.341, 0.3382, 0.3402",\
                 "0.4186, 0.4171, 0.4123, 0.4047, 0.3953, 0.3851, 0.3756, 0.3673, 0.3613, 0.3613",\
                 "0.4802, 0.4783, 0.4721, 0.4617, 0.4491, 0.4351, 0.4211, 0.4084, 0.3974, 0.396",\
                 "0.5576, 0.5555, 0.5479, 0.5353, 0.5192, 0.5014, 0.4829, 0.4649, 0.4496, 0.4499",\
                 "0.6525, 0.65, 0.6414, 0.6264, 0.6071, 0.5849, 0.5618, 0.5389, 0.5208, 0.5304");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.09732, 0.09718, 0.09724, 0.0973, 0.09738, 0.09739, 0.09736, 0.09738, 0.09745, 0.09727",\
                 "0.09556, 0.09548, 0.09561, 0.09567, 0.09579, 0.0958, 0.09583, 0.09585, 0.0959, 0.09578",\
                 "0.09377, 0.09382, 0.09392, 0.09413, 0.09435, 0.09449, 0.09461, 0.09463, 0.09466, 0.09461",\
                 "0.09365, 0.0937, 0.09386, 0.09395, 0.09406, 0.0942, 0.09427, 0.09431, 0.09433, 0.09437",\
                 "0.1014, 0.1011, 0.1006, 0.09974, 0.09886, 0.0981, 0.09728, 0.09676, 0.09628, 0.09593",\
                 "0.1226, 0.1219, 0.1198, 0.1168, 0.1136, 0.1105, 0.1079, 0.1055, 0.1036, 0.1021",\
                 "0.1599, 0.1585, 0.1548, 0.1488, 0.142, 0.1353, 0.1292, 0.124, 0.1196, 0.1158",\
                 "0.2152, 0.2132, 0.2071, 0.1979, 0.1867, 0.1753, 0.1646, 0.155, 0.1468, 0.1397",\
                 "0.2893, 0.2867, 0.2784, 0.2654, 0.2494, 0.2326, 0.2163, 0.2013, 0.1879, 0.1762",\
                 "0.3829, 0.3796, 0.3692, 0.3523, 0.3313, 0.3087, 0.2861, 0.2648, 0.2453, 0.2279");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3462, 0.3462, 0.3463, 0.3465, 0.3467, 0.3472, 0.3478, 0.3487, 0.3496, 0.3537",\
                 "0.3441, 0.3441, 0.3443, 0.3445, 0.3449, 0.3453, 0.346, 0.3467, 0.3478, 0.351",\
                 "0.3419, 0.342, 0.3422, 0.3426, 0.3431, 0.3437, 0.3444, 0.3453, 0.3466, 0.3501",\
                 "0.3455, 0.3454, 0.345, 0.3447, 0.3444, 0.3447, 0.345, 0.3456, 0.3465, 0.3503",\
                 "0.363, 0.3623, 0.3603, 0.3574, 0.3546, 0.3527, 0.3517, 0.3507, 0.3508, 0.3546",\
                 "0.3979, 0.3964, 0.3922, 0.386, 0.3792, 0.3732, 0.3682, 0.3644, 0.3619, 0.3643",\
                 "0.4514, 0.4493, 0.4427, 0.4325, 0.421, 0.4096, 0.3993, 0.391, 0.3847, 0.3861",\
                 "0.524, 0.5212, 0.5124, 0.4984, 0.4817, 0.4646, 0.4485, 0.4338, 0.4225, 0.4215",\
                 "0.6158, 0.6127, 0.6023, 0.585, 0.5631, 0.5394, 0.5168, 0.4954, 0.4784, 0.4766",\
                 "0.7277, 0.7242, 0.7126, 0.6925, 0.6659, 0.6362, 0.606, 0.5778, 0.5557, 0.5583");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07679, 0.07678, 0.07684, 0.07688, 0.07691, 0.07696, 0.07696, 0.07698, 0.07698, 0.07692",\
                 "0.07507, 0.07508, 0.07516, 0.07525, 0.07533, 0.07541, 0.07542, 0.07545, 0.07546, 0.07541",\
                 "0.07313, 0.0732, 0.0734, 0.07364, 0.07389, 0.07404, 0.07419, 0.07422, 0.07427, 0.07424",\
                 "0.07314, 0.07316, 0.07332, 0.07353, 0.07364, 0.07375, 0.07384, 0.07391, 0.07394, 0.07398",\
                 "0.08166, 0.08139, 0.08055, 0.07965, 0.0787, 0.07783, 0.07701, 0.07643, 0.07598, 0.0756",\
                 "0.1044, 0.1036, 0.1011, 0.09762, 0.09398, 0.09066, 0.08786, 0.08547, 0.08347, 0.08189",\
                 "0.1434, 0.142, 0.1375, 0.1309, 0.1234, 0.1161, 0.1098, 0.1043, 0.09965, 0.09577",\
                 "0.201, 0.1988, 0.192, 0.1815, 0.1693, 0.1571, 0.1458, 0.1358, 0.1273, 0.1199",\
                 "0.2773, 0.2744, 0.2652, 0.2507, 0.2333, 0.2155, 0.1983, 0.1827, 0.1689, 0.1569",\
                 "0.3731, 0.3695, 0.3579, 0.3394, 0.3168, 0.2927, 0.269, 0.2469, 0.2268, 0.209");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3255, 0.3255, 0.3256, 0.3259, 0.3262, 0.3266, 0.3272, 0.328, 0.3291, 0.3319",\
                 "0.3234, 0.3235, 0.3236, 0.3239, 0.3242, 0.3247, 0.3253, 0.3261, 0.3271, 0.3301",\
                 "0.3213, 0.3213, 0.3216, 0.322, 0.3225, 0.3231, 0.3238, 0.3247, 0.3258, 0.3293",\
                 "0.3249, 0.3247, 0.3243, 0.324, 0.3239, 0.324, 0.3244, 0.325, 0.326, 0.3298",\
                 "0.3424, 0.3416, 0.3396, 0.3367, 0.3342, 0.3321, 0.3309, 0.3301, 0.33, 0.3333",\
                 "0.3773, 0.3759, 0.3716, 0.3654, 0.3586, 0.3524, 0.3475, 0.3438, 0.3414, 0.3431",\
                 "0.4309, 0.4288, 0.4221, 0.4119, 0.4004, 0.389, 0.3787, 0.3704, 0.3641, 0.3648",\
                 "0.5034, 0.5007, 0.4921, 0.4781, 0.4612, 0.444, 0.4278, 0.4134, 0.4019, 0.3998",\
                 "0.5954, 0.5923, 0.5819, 0.5645, 0.5425, 0.5188, 0.4961, 0.4751, 0.4576, 0.455",\
                 "0.7074, 0.7038, 0.6922, 0.6721, 0.6454, 0.6155, 0.5852, 0.5572, 0.5345, 0.5354");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07681, 0.07675, 0.07679, 0.07685, 0.07689, 0.07697, 0.07696, 0.07697, 0.077, 0.07699",\
                 "0.07502, 0.07503, 0.07512, 0.07527, 0.07532, 0.07538, 0.07543, 0.07547, 0.07549, 0.07544",\
                 "0.07319, 0.07321, 0.0734, 0.07368, 0.07391, 0.07406, 0.07416, 0.07425, 0.07431, 0.0743",\
                 "0.07331, 0.07331, 0.07342, 0.07361, 0.07372, 0.0738, 0.0739, 0.07394, 0.07401, 0.07403",\
                 "0.08201, 0.08171, 0.08081, 0.07993, 0.07883, 0.07793, 0.07713, 0.07647, 0.07602, 0.07565",\
                 "0.1046, 0.1038, 0.1013, 0.09783, 0.09418, 0.09084, 0.08808, 0.08564, 0.08363, 0.08199",\
                 "0.1438, 0.1423, 0.1379, 0.1311, 0.1237, 0.1164, 0.1101, 0.1045, 0.09992, 0.09603",\
                 "0.2012, 0.199, 0.1923, 0.1818, 0.1697, 0.1575, 0.1463, 0.1363, 0.1277, 0.1204",\
                 "0.2778, 0.2748, 0.2658, 0.2512, 0.234, 0.2161, 0.199, 0.1834, 0.1696, 0.1576",\
                 "0.3738, 0.3702, 0.3586, 0.3402, 0.3177, 0.2937, 0.2701, 0.248, 0.2279, 0.2101");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3423, 0.3423, 0.3424, 0.3426, 0.3429, 0.3434, 0.344, 0.3448, 0.346, 0.3491",\
                 "0.3405, 0.3405, 0.3406, 0.3409, 0.3412, 0.3417, 0.3423, 0.3432, 0.3443, 0.3475",\
                 "0.3381, 0.3382, 0.3384, 0.339, 0.3396, 0.3402, 0.3409, 0.3418, 0.343, 0.3466",\
                 "0.3417, 0.3416, 0.3412, 0.3409, 0.3408, 0.3409, 0.3414, 0.342, 0.3432, 0.3471",\
                 "0.3595, 0.3587, 0.3567, 0.3539, 0.3514, 0.3492, 0.348, 0.3472, 0.3471, 0.3506",\
                 "0.3944, 0.3932, 0.3893, 0.3832, 0.3765, 0.3704, 0.3656, 0.3617, 0.3593, 0.3611",\
                 "0.4481, 0.4463, 0.44, 0.4304, 0.4192, 0.4081, 0.398, 0.3895, 0.3832, 0.3834",\
                 "0.5209, 0.5182, 0.5102, 0.4971, 0.4811, 0.4645, 0.4485, 0.4342, 0.4224, 0.4207",\
                 "0.6129, 0.6099, 0.6002, 0.5842, 0.5633, 0.5406, 0.5186, 0.498, 0.4805, 0.4779",\
                 "0.7251, 0.7217, 0.7108, 0.6919, 0.6667, 0.6385, 0.6095, 0.5824, 0.5597, 0.5613");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.0753, 0.07529, 0.07532, 0.07536, 0.07538, 0.07544, 0.07544, 0.07545, 0.07551, 0.07541",\
                 "0.07354, 0.07356, 0.07362, 0.07373, 0.07379, 0.07388, 0.07391, 0.07394, 0.07395, 0.07391",\
                 "0.07161, 0.07167, 0.07187, 0.07214, 0.07236, 0.07252, 0.07266, 0.0727, 0.07275, 0.07272",\
                 "0.07161, 0.07163, 0.07179, 0.07199, 0.07211, 0.07222, 0.07231, 0.07239, 0.07242, 0.07246",\
                 "0.08015, 0.07988, 0.07904, 0.07814, 0.07718, 0.07632, 0.07549, 0.07492, 0.07445, 0.07408",\
                 "0.1029, 0.102, 0.0996, 0.0961, 0.09256, 0.08924, 0.08636, 0.08395, 0.08196, 0.08037",\
                 "0.1421, 0.1406, 0.1361, 0.1295, 0.1219, 0.1147, 0.1083, 0.1027, 0.09814, 0.09426",\
                 "0.1997, 0.1975, 0.1906, 0.1801, 0.1679, 0.1557, 0.1443, 0.1344, 0.1258, 0.1184",\
                 "0.2762, 0.2732, 0.264, 0.2494, 0.232, 0.2141, 0.1969, 0.1812, 0.1674, 0.1554",\
                 "0.372, 0.3684, 0.3567, 0.3382, 0.3155, 0.2913, 0.2676, 0.2455, 0.2254, 0.2076");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3254, 0.3254, 0.3255, 0.3258, 0.3261, 0.3265, 0.3273, 0.328, 0.3289, 0.3322",\
                 "0.3233, 0.3233, 0.3234, 0.3237, 0.3241, 0.3246, 0.3252, 0.326, 0.3269, 0.3302",\
                 "0.3212, 0.3212, 0.3214, 0.3219, 0.3224, 0.323, 0.3237, 0.3246, 0.3257, 0.329",\
                 "0.3248, 0.3246, 0.3242, 0.3238, 0.3238, 0.3238, 0.3243, 0.325, 0.3259, 0.3295",\
                 "0.3423, 0.3416, 0.3395, 0.3366, 0.3341, 0.3319, 0.3307, 0.3297, 0.3299, 0.3333",\
                 "0.3772, 0.3758, 0.3714, 0.3654, 0.3585, 0.3523, 0.3475, 0.3436, 0.3412, 0.3429",\
                 "0.4307, 0.4286, 0.422, 0.4117, 0.4003, 0.3888, 0.3788, 0.3703, 0.3642, 0.3639",\
                 "0.5034, 0.5006, 0.492, 0.4779, 0.4611, 0.4439, 0.4278, 0.4133, 0.4013, 0.3994",\
                 "0.5953, 0.5922, 0.5818, 0.5645, 0.5423, 0.5187, 0.496, 0.4749, 0.4576, 0.4546",\
                 "0.7073, 0.7039, 0.6921, 0.6719, 0.6451, 0.6154, 0.5852, 0.5574, 0.5342, 0.5352");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05487, 0.05485, 0.05493, 0.05495, 0.05501, 0.05501, 0.05506, 0.05505, 0.05508, 0.05504",\
                 "0.05309, 0.05314, 0.05324, 0.05333, 0.05341, 0.05348, 0.05352, 0.05354, 0.05357, 0.05355",\
                 "0.0509, 0.05102, 0.05132, 0.05169, 0.05194, 0.05211, 0.05224, 0.05229, 0.05235, 0.05236",\
                 "0.05095, 0.051, 0.05121, 0.05146, 0.05166, 0.05181, 0.05191, 0.05198, 0.05203, 0.05207",\
                 "0.0606, 0.06023, 0.05921, 0.05804, 0.05701, 0.056, 0.0552, 0.0546, 0.0541, 0.05374",\
                 "0.08499, 0.08409, 0.08112, 0.0771, 0.07299, 0.06934, 0.06631, 0.06385, 0.06179, 0.06012",\
                 "0.1266, 0.1249, 0.1195, 0.1118, 0.1035, 0.09561, 0.08876, 0.083, 0.07821, 0.07418",\
                 "0.1867, 0.1841, 0.176, 0.1642, 0.1507, 0.1376, 0.1256, 0.1151, 0.1062, 0.09868",\
                 "0.2655, 0.2622, 0.2515, 0.2352, 0.2163, 0.1971, 0.179, 0.1627, 0.1484, 0.136",\
                 "0.3635, 0.3595, 0.3465, 0.3259, 0.3012, 0.2756, 0.2508, 0.2277, 0.207, 0.1887");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3047, 0.3048, 0.3048, 0.305, 0.3056, 0.3061, 0.3067, 0.3077, 0.3089, 0.312",\
                 "0.3026, 0.3027, 0.3028, 0.3031, 0.3036, 0.3041, 0.3048, 0.3057, 0.3062, 0.3092",\
                 "0.3004, 0.3005, 0.3008, 0.3012, 0.3018, 0.3025, 0.303, 0.3042, 0.3053, 0.3084",\
                 "0.3042, 0.304, 0.3035, 0.3032, 0.3032, 0.3033, 0.3037, 0.3045, 0.3054, 0.309",\
                 "0.3217, 0.321, 0.3189, 0.316, 0.3133, 0.3113, 0.3101, 0.3093, 0.3093, 0.3125",\
                 "0.3566, 0.3551, 0.3509, 0.3447, 0.338, 0.3316, 0.3266, 0.3231, 0.3206, 0.3223",\
                 "0.4103, 0.4082, 0.4013, 0.3911, 0.3797, 0.3682, 0.3581, 0.3496, 0.3434, 0.3429",\
                 "0.483, 0.4802, 0.4715, 0.4573, 0.4404, 0.4234, 0.4072, 0.3926, 0.3803, 0.3779",\
                 "0.5751, 0.5719, 0.5615, 0.544, 0.5219, 0.4981, 0.4755, 0.4544, 0.4363, 0.4327",\
                 "0.6872, 0.6835, 0.6718, 0.6516, 0.6249, 0.5948, 0.5646, 0.5364, 0.5131, 0.5126");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05484, 0.05483, 0.05489, 0.05494, 0.05501, 0.05502, 0.05502, 0.05505, 0.05506, 0.05506",\
                 "0.05304, 0.05309, 0.05317, 0.05333, 0.05341, 0.05348, 0.0535, 0.05353, 0.05355, 0.05356",\
                 "0.05093, 0.05104, 0.05133, 0.05168, 0.05194, 0.05212, 0.05224, 0.05231, 0.05237, 0.05239",\
                 "0.05115, 0.05119, 0.05134, 0.05158, 0.05174, 0.05189, 0.05196, 0.05203, 0.05209, 0.05211",\
                 "0.06097, 0.06058, 0.05951, 0.0583, 0.05718, 0.05618, 0.05533, 0.05468, 0.05416, 0.05378",\
                 "0.08539, 0.08434, 0.08141, 0.07734, 0.07323, 0.06961, 0.06648, 0.06399, 0.06194, 0.06026",\
                 "0.127, 0.1252, 0.1198, 0.1121, 0.1038, 0.09592, 0.08903, 0.08325, 0.07848, 0.07445",\
                 "0.187, 0.1844, 0.1764, 0.1645, 0.1511, 0.1381, 0.1261, 0.1156, 0.1067, 0.09911",\
                 "0.2659, 0.2625, 0.252, 0.2358, 0.2169, 0.1978, 0.1797, 0.1634, 0.1491, 0.1368",\
                 "0.3641, 0.3601, 0.3471, 0.3267, 0.3021, 0.2766, 0.2518, 0.2288, 0.2081, 0.1898");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3216, 0.3216, 0.3216, 0.3218, 0.3224, 0.3228, 0.3235, 0.3243, 0.3249, 0.3276",\
                 "0.3196, 0.3197, 0.3198, 0.3201, 0.3207, 0.3211, 0.3218, 0.3226, 0.3233, 0.3259",\
                 "0.3172, 0.3174, 0.3177, 0.3182, 0.3189, 0.3195, 0.3203, 0.3213, 0.3225, 0.325",\
                 "0.321, 0.3208, 0.3203, 0.32, 0.3201, 0.3202, 0.3207, 0.3215, 0.3226, 0.326",\
                 "0.3388, 0.338, 0.336, 0.3331, 0.3306, 0.3286, 0.3272, 0.3265, 0.3264, 0.3293",\
                 "0.3737, 0.3723, 0.3684, 0.3624, 0.3559, 0.3497, 0.3448, 0.3407, 0.3385, 0.3402",\
                 "0.4275, 0.4257, 0.4193, 0.4097, 0.3986, 0.3875, 0.3774, 0.3688, 0.3622, 0.3618",\
                 "0.5003, 0.4977, 0.4896, 0.4765, 0.4602, 0.4439, 0.4278, 0.4136, 0.4016, 0.3983",\
                 "0.5925, 0.5895, 0.5797, 0.5633, 0.5426, 0.5197, 0.498, 0.4771, 0.4593, 0.4556",\
                 "0.7046, 0.7014, 0.6903, 0.6714, 0.6463, 0.6177, 0.5888, 0.5613, 0.5385, 0.5383");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.07522, 0.07523, 0.07531, 0.07531, 0.07534, 0.07538, 0.07543, 0.07544, 0.07544, 0.07544",\
                 "0.07354, 0.07366, 0.07362, 0.07374, 0.07379, 0.07385, 0.07393, 0.07393, 0.07395, 0.07396",\
                 "0.07168, 0.07173, 0.07192, 0.07219, 0.07233, 0.07254, 0.07263, 0.07268, 0.07273, 0.07276",\
                 "0.07189, 0.07193, 0.07203, 0.07221, 0.07229, 0.07235, 0.07242, 0.07246, 0.0725, 0.07252",\
                 "0.08136, 0.08109, 0.08024, 0.07912, 0.078, 0.07699, 0.07616, 0.07544, 0.07484, 0.07438",\
                 "0.1053, 0.1044, 0.1019, 0.09819, 0.09438, 0.0908, 0.0877, 0.08517, 0.08297, 0.08124",\
                 "0.1457, 0.1442, 0.1396, 0.1326, 0.1249, 0.1173, 0.1106, 0.1047, 0.09989, 0.0958",\
                 "0.2043, 0.2021, 0.195, 0.1843, 0.1719, 0.1593, 0.1476, 0.1372, 0.1283, 0.1207",\
                 "0.2817, 0.2788, 0.2693, 0.2545, 0.2369, 0.2186, 0.201, 0.185, 0.1708, 0.1585",\
                 "0.3783, 0.3747, 0.363, 0.3442, 0.3212, 0.2967, 0.2726, 0.2502, 0.2297, 0.2115");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3432, 0.3432, 0.3432, 0.3435, 0.3438, 0.3443, 0.3448, 0.3458, 0.3467, 0.3501",\
                 "0.3412, 0.3412, 0.3413, 0.3416, 0.342, 0.3425, 0.3432, 0.3439, 0.345, 0.3484",\
                 "0.3391, 0.3391, 0.3394, 0.3398, 0.3405, 0.3411, 0.3419, 0.3428, 0.3441, 0.3478",\
                 "0.3428, 0.3427, 0.3424, 0.3421, 0.3421, 0.3422, 0.3427, 0.3433, 0.3444, 0.348",\
                 "0.3603, 0.3595, 0.3577, 0.3552, 0.3528, 0.3507, 0.3495, 0.3486, 0.3487, 0.3519",\
                 "0.395, 0.3937, 0.39, 0.3843, 0.3778, 0.3718, 0.367, 0.3631, 0.3607, 0.363",\
                 "0.4483, 0.4464, 0.4404, 0.4312, 0.4206, 0.4096, 0.3995, 0.3912, 0.3849, 0.3853",\
                 "0.5207, 0.5183, 0.5103, 0.4975, 0.4818, 0.4658, 0.45, 0.436, 0.4242, 0.4224",\
                 "0.6126, 0.6097, 0.6003, 0.5844, 0.5639, 0.5415, 0.52, 0.4993, 0.482, 0.4794",\
                 "0.7247, 0.7214, 0.7107, 0.692, 0.6672, 0.6392, 0.6108, 0.5836, 0.561, 0.563");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.0549, 0.05487, 0.05493, 0.05498, 0.05498, 0.05499, 0.05504, 0.05504, 0.05505, 0.05502",\
                 "0.05305, 0.05316, 0.05321, 0.05333, 0.05341, 0.05344, 0.0535, 0.05351, 0.05353, 0.05352",\
                 "0.05098, 0.05105, 0.05134, 0.05168, 0.05191, 0.05213, 0.05224, 0.05229, 0.05234, 0.05238",\
                 "0.05129, 0.05134, 0.05152, 0.05171, 0.05187, 0.05195, 0.05203, 0.05209, 0.05212, 0.05215",\
                 "0.06185, 0.06148, 0.06044, 0.0591, 0.05788, 0.05681, 0.05587, 0.05512, 0.05452, 0.05408",\
                 "0.08754, 0.08645, 0.08352, 0.07931, 0.07492, 0.07106, 0.06781, 0.06507, 0.06288, 0.06102",\
                 "0.1303, 0.1285, 0.123, 0.1151, 0.1065, 0.0983, 0.09112, 0.08505, 0.07999, 0.0758",\
                 "0.1914, 0.1887, 0.1806, 0.1685, 0.1547, 0.1412, 0.1289, 0.118, 0.1088, 0.1009",\
                 "0.2713, 0.2677, 0.2569, 0.2405, 0.2212, 0.2017, 0.1832, 0.1665, 0.1518, 0.1392",\
                 "0.37, 0.3658, 0.3527, 0.332, 0.3071, 0.2811, 0.2557, 0.2324, 0.2113, 0.1926");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3226, 0.3226, 0.3226, 0.3229, 0.3232, 0.3238, 0.3245, 0.3253, 0.3259, 0.3286",\
                 "0.3207, 0.3206, 0.3207, 0.3211, 0.3215, 0.322, 0.3227, 0.3237, 0.3242, 0.3271",\
                 "0.3185, 0.3185, 0.3188, 0.3193, 0.3198, 0.3205, 0.3214, 0.3224, 0.3232, 0.3265",\
                 "0.3222, 0.322, 0.3217, 0.3214, 0.3214, 0.3216, 0.3221, 0.3229, 0.3234, 0.3266",\
                 "0.3397, 0.339, 0.3371, 0.3345, 0.332, 0.3301, 0.3289, 0.328, 0.3281, 0.3311",\
                 "0.3744, 0.3731, 0.3693, 0.3636, 0.3573, 0.3513, 0.3465, 0.3426, 0.3401, 0.3421",\
                 "0.4279, 0.426, 0.4199, 0.4105, 0.3999, 0.3889, 0.3789, 0.3705, 0.3641, 0.3637",\
                 "0.5003, 0.4977, 0.49, 0.477, 0.4611, 0.4451, 0.4295, 0.415, 0.4031, 0.4005",\
                 "0.5923, 0.5894, 0.5798, 0.5636, 0.5434, 0.5209, 0.4993, 0.4788, 0.4611, 0.4575",\
                 "0.7044, 0.7012, 0.6902, 0.6718, 0.6469, 0.6186, 0.5899, 0.5629, 0.5399, 0.5402");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.05483, 0.05484, 0.05487, 0.05493, 0.055, 0.05503, 0.05506, 0.05504, 0.05505, 0.05508",\
                 "0.05303, 0.05309, 0.05323, 0.0533, 0.05342, 0.05348, 0.0535, 0.05353, 0.05356, 0.05357",\
                 "0.05106, 0.05114, 0.05134, 0.05169, 0.05194, 0.05214, 0.05225, 0.05233, 0.05239, 0.05242",\
                 "0.05157, 0.05162, 0.0517, 0.05184, 0.05201, 0.05204, 0.05209, 0.05213, 0.05214, 0.05219",\
                 "0.06256, 0.06213, 0.06101, 0.05956, 0.05824, 0.05706, 0.05614, 0.05533, 0.0547, 0.05424",\
                 "0.0884, 0.08731, 0.0843, 0.08004, 0.07559, 0.07163, 0.06834, 0.06555, 0.06321, 0.06136",\
                 "0.1315, 0.1297, 0.1242, 0.1162, 0.1076, 0.09926, 0.09197, 0.08579, 0.08065, 0.07637",\
                 "0.1929, 0.1903, 0.1821, 0.17, 0.1561, 0.1426, 0.1302, 0.1192, 0.1098, 0.102",\
                 "0.2731, 0.2696, 0.2589, 0.2424, 0.223, 0.2035, 0.1849, 0.1681, 0.1533, 0.1406",\
                 "0.3723, 0.3681, 0.355, 0.3343, 0.3095, 0.2834, 0.2581, 0.2347, 0.2134, 0.1947");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3395, 0.3396, 0.3395, 0.3398, 0.3403, 0.3407, 0.3415, 0.3418, 0.3428, 0.3455",\
                 "0.3378, 0.3379, 0.3379, 0.3383, 0.3388, 0.3393, 0.34, 0.3404, 0.3414, 0.3442",\
                 "0.3355, 0.3355, 0.3359, 0.3365, 0.3371, 0.3378, 0.3387, 0.3398, 0.3404, 0.3436",\
                 "0.339, 0.339, 0.3387, 0.3384, 0.3385, 0.3388, 0.3392, 0.3401, 0.3412, 0.3442",\
                 "0.3568, 0.3563, 0.3547, 0.352, 0.3496, 0.3477, 0.3464, 0.3455, 0.3456, 0.3484",\
                 "0.3918, 0.3907, 0.3872, 0.3819, 0.3756, 0.3699, 0.3648, 0.3609, 0.3584, 0.36",\
                 "0.4455, 0.4437, 0.4382, 0.4294, 0.4191, 0.4088, 0.399, 0.3902, 0.3834, 0.3829",\
                 "0.5179, 0.5158, 0.5084, 0.4966, 0.4816, 0.4661, 0.4508, 0.4369, 0.4249, 0.422",\
                 "0.6101, 0.6074, 0.5985, 0.5836, 0.5645, 0.5434, 0.5226, 0.5026, 0.4852, 0.4813",\
                 "0.7225, 0.7194, 0.7093, 0.6918, 0.6689, 0.6421, 0.6146, 0.5887, 0.5666, 0.5674");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2162, 0.2345, 0.2974, 0.4152, 0.5961, 0.848, 1.178, 1.593, 2.1, 2.702",\
                 "0.2295, 0.2477, 0.311, 0.4288, 0.6099, 0.8619, 1.192, 1.607, 2.114, 2.717",\
                 "0.2723, 0.2901, 0.3528, 0.4706, 0.6516, 0.9036, 1.234, 1.649, 2.156, 2.759",\
                 "0.3414, 0.3627, 0.4322, 0.5517, 0.7312, 0.9821, 1.311, 1.726, 2.232, 2.835",\
                 "0.3899, 0.4157, 0.501, 0.649, 0.8532, 1.109, 1.436, 1.849, 2.354, 2.955",\
                 "0.4128, 0.4437, 0.5465, 0.7216, 0.9621, 1.262, 1.615, 2.028, 2.53, 3.129",\
                 "0.4049, 0.4411, 0.5622, 0.7672, 1.045, 1.389, 1.794, 2.253, 2.767, 3.363",\
                 "0.363, 0.4056, 0.5448, 0.7809, 1.1, 1.488, 1.942, 2.459, 3.033, 3.662",\
                 "0.2863, 0.3348, 0.493, 0.7603, 1.12, 1.558, 2.063, 2.634, 3.27, 3.965",\
                 "0.1729, 0.2269, 0.4024, 0.7009, 1.104, 1.592, 2.152, 2.78, 3.473, 4.235");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2605, 0.2917, 0.4, 0.6052, 0.923, 1.369, 1.954, 2.692, 3.59, 4.66",\
                 "0.2724, 0.3036, 0.4134, 0.6201, 0.9397, 1.386, 1.973, 2.71, 3.609, 4.679",\
                 "0.3275, 0.3584, 0.4667, 0.673, 0.9926, 1.44, 2.027, 2.765, 3.664, 4.734",\
                 "0.4449, 0.4779, 0.5856, 0.7874, 1.103, 1.548, 2.133, 2.871, 3.768, 4.839",\
                 "0.5972, 0.6356, 0.7626, 0.9802, 1.292, 1.73, 2.31, 3.043, 3.94, 5.007",\
                 "0.7892, 0.8325, 0.9746, 1.221, 1.564, 2.002, 2.574, 3.3, 4.19, 5.254",\
                 "1.018, 1.068, 1.229, 1.5, 1.881, 2.361, 2.937, 3.653, 4.536, 5.591",\
                 "1.284, 1.341, 1.525, 1.826, 2.24, 2.764, 3.39, 4.115, 4.986, 6.032",\
                 "1.588, 1.654, 1.859, 2.197, 2.647, 3.21, 3.888, 4.669, 5.551, 6.587",\
                 "1.933, 2.006, 2.236, 2.61, 3.104, 3.707, 4.429, 5.269, 6.212, 7.263");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3243, 0.3553, 0.4617, 0.6621, 0.9719, 1.406, 1.973, 2.688, 3.561, 4.601",\
                 "0.3236, 0.3548, 0.4619, 0.6617, 0.972, 1.405, 1.974, 2.688, 3.561, 4.601",\
                 "0.3154, 0.3465, 0.4576, 0.6613, 0.9715, 1.405, 1.974, 2.689, 3.561, 4.601",\
                 "0.3774, 0.4059, 0.5012, 0.6776, 0.9709, 1.405, 1.973, 2.688, 3.561, 4.602",\
                 "0.4798, 0.511, 0.6166, 0.8018, 1.065, 1.438, 1.975, 2.688, 3.56, 4.602",\
                 "0.6162, 0.652, 0.7658, 0.9644, 1.25, 1.622, 2.09, 2.724, 3.563, 4.6",\
                 "0.7778, 0.8206, 0.9498, 1.167, 1.472, 1.866, 2.355, 2.935, 3.678, 4.631",\
                 "0.9602, 1.009, 1.16, 1.404, 1.731, 2.149, 2.667, 3.278, 3.985, 4.844",\
                 "1.16, 1.216, 1.391, 1.668, 2.033, 2.476, 3.011, 3.657, 4.405, 5.248",\
                 "1.374, 1.441, 1.639, 1.957, 2.361, 2.846, 3.409, 4.078, 4.858, 5.747");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6078, 0.663, 0.8544, 1.214, 1.771, 2.548, 3.57, 4.859, 6.428, 8.297",\
                 "0.6078, 0.663, 0.8544, 1.215, 1.771, 2.549, 3.571, 4.859, 6.43, 8.307",\
                 "0.6074, 0.6625, 0.8539, 1.215, 1.771, 2.548, 3.57, 4.856, 6.43, 8.307",\
                 "0.6691, 0.7129, 0.8757, 1.215, 1.771, 2.549, 3.571, 4.857, 6.432, 8.299",\
                 "0.7982, 0.843, 0.9962, 1.288, 1.784, 2.549, 3.571, 4.86, 6.426, 8.302",\
                 "0.9504, 0.9952, 1.157, 1.461, 1.911, 2.589, 3.574, 4.857, 6.431, 8.303",\
                 "1.144, 1.186, 1.342, 1.656, 2.135, 2.771, 3.654, 4.87, 6.428, 8.301",\
                 "1.377, 1.419, 1.569, 1.88, 2.377, 3.049, 3.885, 4.997, 6.457, 8.308",\
                 "1.632, 1.677, 1.838, 2.147, 2.643, 3.348, 4.226, 5.28, 6.638, 8.353",\
                 "1.91, 1.958, 2.132, 2.456, 2.953, 3.664, 4.585, 5.681, 6.972, 8.59");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1716, 0.1896, 0.2516, 0.3682, 0.5479, 0.7988, 1.128, 1.543, 2.049, 2.651",\
                 "0.1847, 0.2027, 0.2649, 0.3818, 0.5617, 0.8129, 1.142, 1.557, 2.063, 2.666",\
                 "0.2293, 0.2464, 0.307, 0.4235, 0.6034, 0.8544, 1.184, 1.598, 2.105, 2.708",\
                 "0.2848, 0.3071, 0.3805, 0.505, 0.6832, 0.9331, 1.262, 1.676, 2.181, 2.784",\
                 "0.3175, 0.3455, 0.4362, 0.5902, 0.8004, 1.06, 1.387, 1.798, 2.303, 2.904",\
                 "0.323, 0.3574, 0.4678, 0.6512, 0.8993, 1.206, 1.563, 1.978, 2.479, 3.078",\
                 "0.2982, 0.3385, 0.4682, 0.6848, 0.9731, 1.324, 1.735, 2.199, 2.716, 3.313",\
                 "0.2395, 0.2862, 0.4364, 0.6857, 1.017, 1.415, 1.876, 2.398, 2.978, 3.61",\
                 "0.1465, 0.1982, 0.3685, 0.652, 1.026, 1.476, 1.99, 2.567, 3.208, 3.909",\
                 "0.0162, 0.075, 0.264, 0.5801, 0.9993, 1.499, 2.071, 2.707, 3.406, 4.172");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.254, 0.2851, 0.3932, 0.5976, 0.9146, 1.358, 1.942, 2.677, 3.573, 4.641",\
                 "0.2658, 0.297, 0.4067, 0.6128, 0.9311, 1.376, 1.96, 2.695, 3.592, 4.66",\
                 "0.321, 0.3517, 0.46, 0.665, 0.9838, 1.429, 2.015, 2.75, 3.647, 4.716",\
                 "0.4373, 0.4706, 0.5788, 0.7797, 1.095, 1.537, 2.121, 2.856, 3.752, 4.82",\
                 "0.5876, 0.6259, 0.7541, 0.9722, 1.283, 1.719, 2.298, 3.029, 3.923, 4.989",\
                 "0.7769, 0.8209, 0.9638, 1.211, 1.555, 1.991, 2.562, 3.285, 4.174, 5.236",\
                 "1.002, 1.053, 1.216, 1.488, 1.869, 2.349, 2.925, 3.639, 4.519, 5.573",\
                 "1.263, 1.322, 1.508, 1.812, 2.225, 2.75, 3.376, 4.101, 4.969, 6.014",\
                 "1.561, 1.629, 1.838, 2.179, 2.63, 3.193, 3.871, 4.653, 5.534, 6.569",\
                 "1.898, 1.973, 2.209, 2.588, 3.084, 3.688, 4.41, 5.25, 6.194, 7.245");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2723, 0.3034, 0.4097, 0.6098, 0.9192, 1.351, 1.918, 2.634, 3.505, 4.543",\
                 "0.2714, 0.3023, 0.4097, 0.6096, 0.9192, 1.352, 1.918, 2.632, 3.506, 4.544",\
                 "0.2686, 0.2976, 0.4024, 0.6077, 0.9186, 1.351, 1.918, 2.633, 3.505, 4.545",\
                 "0.3391, 0.3684, 0.4642, 0.6351, 0.9189, 1.35, 1.917, 2.633, 3.504, 4.545",\
                 "0.4445, 0.4754, 0.5798, 0.764, 1.028, 1.394, 1.922, 2.633, 3.505, 4.545",\
                 "0.58, 0.6162, 0.7308, 0.9282, 1.215, 1.586, 2.049, 2.676, 3.507, 4.543",\
                 "0.7366, 0.779, 0.9132, 1.133, 1.435, 1.829, 2.318, 2.897, 3.633, 4.578",\
                 "0.9108, 0.9618, 1.12, 1.369, 1.698, 2.111, 2.627, 3.24, 3.947, 4.802",\
                 "1.104, 1.161, 1.343, 1.629, 1.997, 2.439, 2.977, 3.62, 4.367, 5.211",\
                 "1.314, 1.383, 1.586, 1.914, 2.325, 2.809, 3.375, 4.041, 4.822, 5.71");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4876, 0.5421, 0.7338, 1.093, 1.649, 2.426, 3.448, 4.736, 6.307, 8.181",\
                 "0.4871, 0.5423, 0.7334, 1.093, 1.649, 2.426, 3.447, 4.733, 6.306, 8.183",\
                 "0.4869, 0.5417, 0.7339, 1.094, 1.649, 2.426, 3.447, 4.736, 6.31, 8.18",\
                 "0.5484, 0.5929, 0.7549, 1.094, 1.649, 2.426, 3.449, 4.736, 6.306, 8.178",\
                 "0.6576, 0.7064, 0.8732, 1.166, 1.663, 2.426, 3.448, 4.737, 6.309, 8.179",\
                 "0.7914, 0.8412, 1.014, 1.332, 1.789, 2.468, 3.451, 4.736, 6.307, 8.184",\
                 "0.9648, 1.014, 1.182, 1.511, 2.006, 2.646, 3.53, 4.746, 6.31, 8.175",\
                 "1.169, 1.22, 1.393, 1.722, 2.236, 2.919, 3.762, 4.874, 6.336, 8.185",\
                 "1.392, 1.447, 1.638, 1.973, 2.488, 3.207, 4.099, 5.158, 6.511, 8.237",\
                 "1.634, 1.695, 1.903, 2.264, 2.785, 3.513, 4.448, 5.558, 6.849, 8.456");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1548, 0.1702, 0.2235, 0.3233, 0.4772, 0.692, 0.974, 1.329, 1.762, 2.277",\
                 "0.168, 0.1835, 0.2368, 0.337, 0.4911, 0.7059, 0.9881, 1.343, 1.776, 2.291",\
                 "0.2136, 0.2287, 0.281, 0.3807, 0.5347, 0.7495, 1.031, 1.386, 1.819, 2.335",\
                 "0.2618, 0.2825, 0.3498, 0.4633, 0.6193, 0.833, 1.114, 1.468, 1.9, 2.416",\
                 "0.2853, 0.3116, 0.3963, 0.5384, 0.7306, 0.9655, 1.247, 1.599, 2.03, 2.545",\
                 "0.2786, 0.3114, 0.4146, 0.5869, 0.8166, 1.097, 1.422, 1.788, 2.217, 2.73",\
                 "0.2385, 0.2761, 0.3998, 0.6035, 0.8738, 1.198, 1.574, 1.997, 2.462, 2.978",\
                 "0.1615, 0.2055, 0.3485, 0.5852, 0.8965, 1.27, 1.696, 2.174, 2.702, 3.274",\
                 "0.0474, 0.0976, 0.2581, 0.527, 0.8826, 1.304, 1.785, 2.318, 2.905, 3.543",\
                 "-0.1087, -0.0529, 0.1282, 0.4281, 0.8257, 1.298, 1.836, 2.428, 3.075, 3.777");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.254, 0.2851, 0.3931, 0.5974, 0.9143, 1.358, 1.942, 2.677, 3.574, 4.642",\
                 "0.2651, 0.2964, 0.4057, 0.6121, 0.9305, 1.375, 1.96, 2.695, 3.592, 4.66",\
                 "0.3195, 0.3503, 0.4579, 0.6632, 0.9823, 1.428, 2.013, 2.749, 3.646, 4.714",\
                 "0.4378, 0.4709, 0.5788, 0.7788, 1.093, 1.536, 2.119, 2.854, 3.751, 4.819",\
                 "0.593, 0.6313, 0.7579, 0.9748, 1.284, 1.72, 2.298, 3.028, 3.922, 4.988",\
                 "0.7897, 0.833, 0.974, 1.219, 1.561, 1.996, 2.564, 3.288, 4.175, 5.236",\
                 "1.026, 1.076, 1.236, 1.505, 1.883, 2.36, 2.933, 3.646, 4.524, 5.576",\
                 "1.301, 1.358, 1.54, 1.839, 2.248, 2.769, 3.392, 4.113, 4.981, 6.023",\
                 "1.616, 1.682, 1.887, 2.222, 2.667, 3.225, 3.898, 4.675, 5.553, 6.585",\
                 "1.974, 2.047, 2.277, 2.65, 3.138, 3.734, 4.451, 5.285, 6.225, 7.271");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2263, 0.2525, 0.3425, 0.5122, 0.7745, 1.144, 1.628, 2.236, 2.981, 3.865",\
                 "0.2258, 0.2519, 0.3423, 0.5121, 0.7747, 1.143, 1.628, 2.236, 2.98, 3.866",\
                 "0.233, 0.2559, 0.3406, 0.5109, 0.7746, 1.144, 1.628, 2.237, 2.98, 3.867",\
                 "0.3106, 0.3355, 0.4174, 0.5589, 0.7867, 1.142, 1.627, 2.236, 2.98, 3.866",\
                 "0.4159, 0.4435, 0.5362, 0.6972, 0.923, 1.22, 1.646, 2.237, 2.98, 3.866",\
                 "0.5474, 0.5818, 0.6876, 0.8638, 1.112, 1.431, 1.819, 2.323, 2.999, 3.866",\
                 "0.6998, 0.7398, 0.8656, 1.066, 1.336, 1.68, 2.103, 2.592, 3.186, 3.95",\
                 "0.8694, 0.9168, 1.066, 1.295, 1.596, 1.966, 2.417, 2.946, 3.552, 4.246",\
                 "1.059, 1.113, 1.283, 1.549, 1.889, 2.293, 2.768, 3.331, 3.977, 4.703",\
                 "1.268, 1.328, 1.522, 1.826, 2.208, 2.656, 3.166, 3.756, 4.438, 5.206");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4874, 0.5427, 0.7338, 1.094, 1.649, 2.426, 3.447, 4.735, 6.304, 8.177",\
                 "0.4872, 0.5425, 0.7336, 1.093, 1.649, 2.425, 3.446, 4.735, 6.303, 8.183",\
                 "0.4869, 0.5421, 0.7336, 1.094, 1.648, 2.426, 3.448, 4.735, 6.307, 8.183",\
                 "0.5481, 0.5925, 0.755, 1.095, 1.649, 2.426, 3.448, 4.738, 6.307, 8.179",\
                 "0.654, 0.7046, 0.8702, 1.165, 1.662, 2.426, 3.449, 4.737, 6.306, 8.18",\
                 "0.7818, 0.8316, 1.005, 1.326, 1.786, 2.466, 3.451, 4.735, 6.309, 8.182",\
                 "0.9494, 0.9972, 1.168, 1.503, 1.997, 2.641, 3.529, 4.747, 6.305, 8.183",\
                 "1.146, 1.196, 1.37, 1.7, 2.22, 2.907, 3.753, 4.87, 6.333, 8.181",\
                 "1.366, 1.419, 1.604, 1.939, 2.46, 3.186, 4.082, 5.144, 6.501, 8.237",\
                 "1.602, 1.662, 1.864, 2.22, 2.746, 3.476, 4.422, 5.533, 6.833, 8.46");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1721, 0.1901, 0.2522, 0.3688, 0.5484, 0.7994, 1.129, 1.544, 2.049, 2.651",\
                 "0.1851, 0.2032, 0.2655, 0.3824, 0.5623, 0.8135, 1.143, 1.557, 2.063, 2.666",\
                 "0.2298, 0.2469, 0.3076, 0.4241, 0.604, 0.8552, 1.185, 1.599, 2.105, 2.708",\
                 "0.2856, 0.3078, 0.3812, 0.5056, 0.6837, 0.9338, 1.262, 1.676, 2.181, 2.783",\
                 "0.3184, 0.346, 0.437, 0.5914, 0.8009, 1.06, 1.387, 1.799, 2.303, 2.904",\
                 "0.3245, 0.3587, 0.4689, 0.6524, 0.9003, 1.206, 1.564, 1.978, 2.48, 3.078",\
                 "0.2996, 0.34, 0.4696, 0.6858, 0.9736, 1.324, 1.735, 2.199, 2.716, 3.313",\
                 "0.2413, 0.2878, 0.4378, 0.6866, 1.017, 1.416, 1.877, 2.399, 2.978, 3.61",\
                 "0.1485, 0.2012, 0.3709, 0.6538, 1.028, 1.477, 1.991, 2.567, 3.208, 3.908",\
                 "0.018, 0.0776, 0.2659, 0.5815, 1.001, 1.5, 2.072, 2.707, 3.406, 4.172");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2541, 0.2851, 0.3932, 0.5976, 0.9145, 1.358, 1.942, 2.677, 3.574, 4.642",\
                 "0.2657, 0.2971, 0.4066, 0.6129, 0.9309, 1.376, 1.96, 2.696, 3.592, 4.661",\
                 "0.3211, 0.3518, 0.4599, 0.6652, 0.9839, 1.43, 2.015, 2.75, 3.648, 4.716",\
                 "0.4373, 0.4706, 0.5787, 0.7796, 1.095, 1.537, 2.121, 2.856, 3.752, 4.82",\
                 "0.5876, 0.6266, 0.7542, 0.9724, 1.283, 1.719, 2.298, 3.028, 3.923, 4.989",\
                 "0.7769, 0.8207, 0.9635, 1.211, 1.555, 1.992, 2.561, 3.286, 4.174, 5.235",\
                 "1.002, 1.053, 1.216, 1.488, 1.869, 2.35, 2.924, 3.639, 4.519, 5.572",\
                 "1.263, 1.322, 1.508, 1.812, 2.225, 2.75, 3.377, 4.1, 4.97, 6.014",\
                 "1.561, 1.629, 1.838, 2.18, 2.63, 3.193, 3.871, 4.652, 5.535, 6.569",\
                 "1.898, 1.973, 2.209, 2.588, 3.084, 3.688, 4.41, 5.25, 6.194, 7.244");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2732, 0.3043, 0.4105, 0.6106, 0.9185, 1.352, 1.919, 2.633, 3.505, 4.544",\
                 "0.2723, 0.3032, 0.4106, 0.6106, 0.9199, 1.352, 1.919, 2.632, 3.506, 4.545",\
                 "0.2699, 0.2984, 0.4038, 0.6089, 0.9192, 1.352, 1.918, 2.633, 3.505, 4.546",\
                 "0.3408, 0.3689, 0.4654, 0.6357, 0.9191, 1.35, 1.919, 2.632, 3.504, 4.544",\
                 "0.4441, 0.4756, 0.5794, 0.7648, 1.029, 1.395, 1.921, 2.633, 3.505, 4.545",\
                 "0.5798, 0.6164, 0.732, 0.9282, 1.214, 1.586, 2.05, 2.677, 3.508, 4.544",\
                 "0.7372, 0.7808, 0.914, 1.133, 1.435, 1.829, 2.318, 2.899, 3.633, 4.578",\
                 "0.9118, 0.9622, 1.119, 1.369, 1.698, 2.112, 2.626, 3.241, 3.947, 4.8",\
                 "1.105, 1.165, 1.344, 1.629, 1.997, 2.439, 2.977, 3.621, 4.367, 5.211",\
                 "1.315, 1.384, 1.586, 1.913, 2.325, 2.813, 3.373, 4.041, 4.821, 5.71");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4888, 0.5441, 0.7357, 1.096, 1.652, 2.429, 3.45, 4.737, 6.311, 8.18",\
                 "0.4888, 0.5437, 0.7355, 1.096, 1.651, 2.428, 3.45, 4.738, 6.309, 8.18",\
                 "0.4883, 0.5434, 0.7354, 1.095, 1.652, 2.429, 3.45, 4.737, 6.311, 8.183",\
                 "0.5499, 0.5942, 0.7567, 1.097, 1.652, 2.429, 3.449, 4.739, 6.306, 8.182",\
                 "0.6594, 0.7092, 0.8752, 1.169, 1.665, 2.429, 3.451, 4.739, 6.306, 8.181",\
                 "0.794, 0.8436, 1.015, 1.334, 1.793, 2.469, 3.454, 4.74, 6.312, 8.184",\
                 "0.9688, 1.017, 1.186, 1.514, 2.007, 2.65, 3.532, 4.749, 6.312, 8.185",\
                 "1.172, 1.223, 1.397, 1.723, 2.238, 2.923, 3.765, 4.875, 6.333, 8.183",\
                 "1.397, 1.453, 1.64, 1.975, 2.491, 3.211, 4.101, 5.159, 6.515, 8.237",\
                 "1.641, 1.7, 1.907, 2.267, 2.788, 3.515, 4.457, 5.559, 6.854, 8.46");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.131, 0.148, 0.2079, 0.3228, 0.5011, 0.7509, 1.08, 1.494, 1.998, 2.6",\
                 "0.1438, 0.1608, 0.2212, 0.3363, 0.5149, 0.7649, 1.093, 1.508, 2.013, 2.615",\
                 "0.1874, 0.2052, 0.2639, 0.3779, 0.5564, 0.8065, 1.135, 1.549, 2.055, 2.657",\
                 "0.2253, 0.2496, 0.3273, 0.4575, 0.6363, 0.8849, 1.212, 1.626, 2.131, 2.733",\
                 "0.24, 0.271, 0.3691, 0.5306, 0.7472, 1.012, 1.338, 1.749, 2.253, 2.853",\
                 "0.2268, 0.2649, 0.3851, 0.5796, 0.8362, 1.149, 1.512, 1.929, 2.428, 3.027",\
                 "0.1822, 0.2276, 0.3702, 0.5999, 0.8995, 1.259, 1.675, 2.145, 2.665, 3.262",\
                 "0.1057, 0.1573, 0.3222, 0.5883, 0.9323, 1.342, 1.81, 2.338, 2.921, 3.558",\
                 "-0.0057, 0.0533, 0.2383, 0.5398, 0.931, 1.392, 1.916, 2.5, 3.146, 3.85",\
                 "-0.1549, -0.088, 0.1203, 0.4554, 0.8915, 1.407, 1.988, 2.633, 3.338, 4.109");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2481, 0.2791, 0.3867, 0.5908, 0.9069, 1.35, 1.933, 2.664, 3.559, 4.628",\
                 "0.2595, 0.2912, 0.4004, 0.606, 0.9231, 1.367, 1.951, 2.685, 3.577, 4.646",\
                 "0.3151, 0.3457, 0.4533, 0.6582, 0.976, 1.421, 2.003, 2.739, 3.633, 4.704",\
                 "0.43, 0.4637, 0.5722, 0.7725, 1.087, 1.528, 2.11, 2.842, 3.739, 4.806",\
                 "0.5784, 0.6175, 0.7454, 0.9645, 1.274, 1.71, 2.287, 3.016, 3.909, 4.975",\
                 "0.7651, 0.8096, 0.9535, 1.201, 1.545, 1.981, 2.549, 3.273, 4.16, 5.22",\
                 "0.9873, 1.039, 1.203, 1.477, 1.858, 2.338, 2.913, 3.626, 4.504, 5.558",\
                 "1.244, 1.304, 1.492, 1.797, 2.211, 2.736, 3.363, 4.087, 4.955, 5.998",\
                 "1.536, 1.606, 1.819, 2.161, 2.615, 3.178, 3.856, 4.637, 5.518, 6.552",\
                 "1.868, 1.944, 2.185, 2.567, 3.065, 3.671, 4.393, 5.232, 6.178, 7.227");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2186, 0.2488, 0.3566, 0.5567, 0.8654, 1.296, 1.863, 2.579, 3.451, 4.491",\
                 "0.2154, 0.2477, 0.3557, 0.5567, 0.8654, 1.296, 1.863, 2.581, 3.454, 4.491",\
                 "0.2286, 0.2545, 0.3518, 0.5532, 0.8647, 1.297, 1.864, 2.578, 3.451, 4.488",\
                 "0.3026, 0.3311, 0.4269, 0.5963, 0.8709, 1.296, 1.862, 2.578, 3.45, 4.492",\
                 "0.41, 0.4407, 0.5444, 0.7274, 0.9926, 1.352, 1.873, 2.578, 3.448, 4.491",\
                 "0.544, 0.5804, 0.6974, 0.8938, 1.177, 1.549, 2.01, 2.632, 3.458, 4.492",\
                 "0.6956, 0.7402, 0.88, 1.101, 1.4, 1.793, 2.281, 2.86, 3.591, 4.528",\
                 "0.865, 0.9164, 1.081, 1.334, 1.665, 2.077, 2.59, 3.204, 3.91, 4.76",\
                 "1.051, 1.112, 1.299, 1.591, 1.964, 2.408, 2.942, 3.582, 4.329, 5.174",\
                 "1.257, 1.325, 1.539, 1.868, 2.286, 2.777, 3.342, 4.003, 4.788, 5.672");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3829, 0.4359, 0.6226, 0.977, 1.533, 2.312, 3.332, 4.619, 6.186, 8.062",\
                 "0.3824, 0.4354, 0.6219, 0.9784, 1.531, 2.31, 3.332, 4.622, 6.195, 8.056",\
                 "0.3819, 0.4354, 0.6213, 0.9768, 1.532, 2.308, 3.332, 4.618, 6.186, 8.072",\
                 "0.4408, 0.4852, 0.644, 0.9778, 1.532, 2.311, 3.335, 4.623, 6.19, 8.064",\
                 "0.5268, 0.5782, 0.7516, 1.05, 1.547, 2.309, 3.329, 4.616, 6.189, 8.063",\
                 "0.641, 0.6922, 0.8758, 1.205, 1.671, 2.35, 3.337, 4.619, 6.195, 8.06",\
                 "0.7854, 0.8432, 1.026, 1.369, 1.877, 2.528, 3.416, 4.633, 6.195, 8.058",\
                 "0.9548, 1.016, 1.217, 1.567, 2.094, 2.793, 3.641, 4.752, 6.212, 8.063",\
                 "1.14, 1.215, 1.443, 1.803, 2.335, 3.067, 3.973, 5.035, 6.396, 8.116",\
                 "1.34, 1.42, 1.671, 2.07, 2.621, 3.364, 4.312, 5.434, 6.729, 8.35");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1209, 0.1355, 0.187, 0.285, 0.4377, 0.6514, 0.9323, 1.286, 1.719, 2.233",\
                 "0.1338, 0.1485, 0.2002, 0.2987, 0.4513, 0.665, 0.9466, 1.301, 1.733, 2.249",\
                 "0.1756, 0.192, 0.2446, 0.3422, 0.4949, 0.7087, 0.99, 1.344, 1.776, 2.293",\
                 "0.2071, 0.2295, 0.3016, 0.4205, 0.5795, 0.7921, 1.072, 1.426, 1.858, 2.372",\
                 "0.2128, 0.2421, 0.3341, 0.4835, 0.6824, 0.9226, 1.205, 1.557, 1.987, 2.501",\
                 "0.1879, 0.224, 0.3373, 0.5202, 0.7581, 1.045, 1.375, 1.745, 2.174, 2.686",\
                 "0.1291, 0.1717, 0.3072, 0.5241, 0.8046, 1.138, 1.521, 1.948, 2.417, 2.934",\
                 "0.0344, 0.0843, 0.2406, 0.4921, 0.817, 1.201, 1.635, 2.119, 2.651, 3.227",\
                 "-0.0981, -0.0418, 0.1358, 0.4207, 0.7914, 1.227, 1.715, 2.256, 2.849, 3.491",\
                 "-0.2721, -0.2087, -0.0096, 0.3096, 0.7244, 1.212, 1.759, 2.36, 3.012, 3.719");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2483, 0.2791, 0.3867, 0.5904, 0.9064, 1.349, 1.932, 2.667, 3.563, 4.625",\
                 "0.259, 0.2903, 0.3997, 0.6049, 0.9222, 1.366, 1.95, 2.685, 3.577, 4.643",\
                 "0.3136, 0.3441, 0.4516, 0.6566, 0.9744, 1.419, 2.002, 2.737, 3.635, 4.699",\
                 "0.4305, 0.464, 0.5719, 0.7714, 1.085, 1.527, 2.108, 2.841, 3.737, 4.807",\
                 "0.5839, 0.6225, 0.7495, 0.9669, 1.276, 1.71, 2.287, 3.015, 3.908, 4.971",\
                 "0.7782, 0.8221, 0.964, 1.209, 1.552, 1.985, 2.553, 3.275, 4.16, 5.222",\
                 "1.011, 1.061, 1.222, 1.493, 1.871, 2.349, 2.921, 3.633, 4.509, 5.561",\
                 "1.282, 1.341, 1.525, 1.826, 2.235, 2.756, 3.379, 4.099, 4.965, 6.007",\
                 "1.594, 1.658, 1.868, 2.204, 2.652, 3.21, 3.883, 4.66, 5.538, 6.569",\
                 "1.944, 2.019, 2.254, 2.63, 3.119, 3.717, 4.433, 5.267, 6.207, 7.253");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1825, 0.2082, 0.2979, 0.4679, 0.7301, 1.098, 1.581, 2.192, 2.935, 3.815",\
                 "0.1818, 0.2078, 0.2982, 0.4679, 0.7298, 1.097, 1.581, 2.19, 2.934, 3.821",\
                 "0.2037, 0.2248, 0.3015, 0.4651, 0.7295, 1.097, 1.581, 2.191, 2.933, 3.821",\
                 "0.2804, 0.3051, 0.3874, 0.5296, 0.7498, 1.098, 1.581, 2.19, 2.932, 3.82",\
                 "0.3867, 0.4153, 0.5069, 0.6682, 0.8932, 1.187, 1.606, 2.19, 2.934, 3.82",\
                 "0.5162, 0.55, 0.6584, 0.8354, 1.084, 1.403, 1.789, 2.288, 2.957, 3.821",\
                 "0.6634, 0.705, 0.8352, 1.039, 1.306, 1.652, 2.074, 2.564, 3.152, 3.916",\
                 "0.8312, 0.8772, 1.028, 1.268, 1.571, 1.937, 2.385, 2.916, 3.522, 4.214",\
                 "1.013, 1.07, 1.242, 1.517, 1.86, 2.266, 2.739, 3.298, 3.946, 4.671",\
                 "1.215, 1.277, 1.478, 1.785, 2.178, 2.627, 3.137, 3.724, 4.404, 5.176");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3825, 0.4355, 0.6226, 0.9781, 1.532, 2.31, 3.331, 4.621, 6.195, 8.07",\
                 "0.3823, 0.4356, 0.6228, 0.9779, 1.53, 2.307, 3.333, 4.622, 6.186, 8.072",\
                 "0.3823, 0.435, 0.6216, 0.977, 1.533, 2.309, 3.329, 4.617, 6.19, 8.058",\
                 "0.4402, 0.4845, 0.6428, 0.9783, 1.532, 2.312, 3.335, 4.622, 6.191, 8.075",\
                 "0.5236, 0.5756, 0.749, 1.049, 1.545, 2.31, 3.334, 4.618, 6.187, 8.068",\
                 "0.6314, 0.6848, 0.8694, 1.2, 1.667, 2.35, 3.337, 4.62, 6.191, 8.061",\
                 "0.773, 0.8298, 1.015, 1.362, 1.87, 2.521, 3.409, 4.632, 6.19, 8.062",\
                 "0.938, 0.9978, 1.195, 1.546, 2.079, 2.782, 3.633, 4.751, 6.222, 8.071",\
                 "1.115, 1.185, 1.404, 1.772, 2.308, 3.049, 3.959, 5.024, 6.38, 8.113",\
                 "1.315, 1.393, 1.637, 2.031, 2.582, 3.334, 4.286, 5.411, 6.713, 8.342");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1471, 0.1624, 0.2155, 0.315, 0.4683, 0.6822, 0.9629, 1.316, 1.747, 2.26",\
                 "0.1609, 0.1762, 0.2293, 0.3291, 0.4826, 0.6966, 0.9774, 1.33, 1.761, 2.275",\
                 "0.2089, 0.2239, 0.2749, 0.3738, 0.5272, 0.7411, 1.022, 1.375, 1.806, 2.319",\
                 "0.2583, 0.2791, 0.3459, 0.4585, 0.6129, 0.8255, 1.106, 1.458, 1.888, 2.401",\
                 "0.2828, 0.3086, 0.3929, 0.5348, 0.7261, 0.9593, 1.239, 1.59, 2.019, 2.531",\
                 "0.2765, 0.309, 0.412, 0.5836, 0.8124, 1.092, 1.416, 1.78, 2.207, 2.718",\
                 "0.2369, 0.2749, 0.3978, 0.6017, 0.8703, 1.194, 1.57, 1.991, 2.454, 2.968",\
                 "0.1603, 0.2048, 0.3471, 0.5835, 0.8935, 1.266, 1.692, 2.169, 2.695, 3.265",\
                 "0.046, 0.0967, 0.2569, 0.5257, 0.8798, 1.301, 1.781, 2.314, 2.9, 3.536",\
                 "-0.1084, -0.0519, 0.1281, 0.4274, 0.8242, 1.296, 1.832, 2.424, 3.07, 3.77");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2531, 0.2843, 0.3922, 0.5967, 0.9137, 1.358, 1.941, 2.676, 3.573, 4.641",\
                 "0.2639, 0.2955, 0.4046, 0.611, 0.9294, 1.374, 1.959, 2.694, 3.591, 4.659",\
                 "0.3196, 0.3504, 0.4582, 0.6629, 0.9818, 1.427, 2.012, 2.748, 3.646, 4.714",\
                 "0.4383, 0.4711, 0.579, 0.779, 1.093, 1.536, 2.119, 2.854, 3.751, 4.819",\
                 "0.593, 0.6316, 0.7577, 0.9749, 1.285, 1.72, 2.298, 3.028, 3.922, 4.988",\
                 "0.7893, 0.8324, 0.9737, 1.219, 1.561, 1.996, 2.564, 3.288, 4.176, 5.237",\
                 "1.025, 1.075, 1.235, 1.504, 1.883, 2.36, 2.933, 3.646, 4.524, 5.577",\
                 "1.3, 1.357, 1.54, 1.839, 2.248, 2.769, 3.392, 4.112, 4.981, 6.023",\
                 "1.615, 1.681, 1.886, 2.221, 2.666, 3.225, 3.897, 4.675, 5.554, 6.586",\
                 "1.973, 2.046, 2.277, 2.649, 3.138, 3.735, 4.45, 5.285, 6.225, 7.27");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2256, 0.2521, 0.3439, 0.5144, 0.7773, 1.145, 1.628, 2.234, 2.975, 3.858",\
                 "0.2245, 0.2512, 0.3434, 0.5142, 0.7772, 1.145, 1.626, 2.233, 2.974, 3.857",\
                 "0.2299, 0.2533, 0.338, 0.5106, 0.7762, 1.143, 1.627, 2.233, 2.974, 3.856",\
                 "0.3091, 0.3338, 0.4158, 0.5577, 0.7857, 1.144, 1.626, 2.233, 2.975, 3.857",\
                 "0.4155, 0.4428, 0.5354, 0.6948, 0.9208, 1.218, 1.643, 2.234, 2.974, 3.857",\
                 "0.5478, 0.5808, 0.687, 0.863, 1.111, 1.43, 1.817, 2.319, 2.993, 3.857",\
                 "0.7004, 0.7398, 0.865, 1.066, 1.335, 1.679, 2.1, 2.589, 3.18, 3.942",\
                 "0.8704, 0.9178, 1.065, 1.297, 1.599, 1.965, 2.414, 2.944, 3.548, 4.239",\
                 "1.061, 1.113, 1.283, 1.551, 1.891, 2.294, 2.767, 3.328, 3.972, 4.696",\
                 "1.269, 1.33, 1.52, 1.823, 2.21, 2.657, 3.167, 3.754, 4.433, 5.199");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4889, 0.5438, 0.7354, 1.096, 1.651, 2.428, 3.449, 4.739, 6.305, 8.186",\
                 "0.4888, 0.5439, 0.7353, 1.096, 1.652, 2.429, 3.451, 4.738, 6.311, 8.179",\
                 "0.4884, 0.5432, 0.7358, 1.095, 1.651, 2.428, 3.45, 4.737, 6.308, 8.18",\
                 "0.5495, 0.594, 0.7569, 1.097, 1.652, 2.428, 3.45, 4.736, 6.304, 8.181",\
                 "0.6572, 0.7052, 0.8726, 1.168, 1.664, 2.429, 3.451, 4.738, 6.308, 8.184",\
                 "0.784, 0.833, 1.008, 1.329, 1.789, 2.469, 3.454, 4.736, 6.312, 8.182",\
                 "0.9514, 0.999, 1.172, 1.502, 1.999, 2.643, 3.529, 4.746, 6.31, 8.179",\
                 "1.15, 1.2, 1.372, 1.703, 2.22, 2.91, 3.757, 4.869, 6.335, 8.185",\
                 "1.367, 1.428, 1.608, 1.943, 2.464, 3.19, 4.085, 5.146, 6.51, 8.237",\
                 "1.606, 1.666, 1.868, 2.222, 2.748, 3.48, 4.429, 5.537, 6.835, 8.462");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1135, 0.1279, 0.1788, 0.2763, 0.4281, 0.6411, 0.9206, 1.273, 1.704, 2.216",\
                 "0.1272, 0.1416, 0.1926, 0.2904, 0.4423, 0.6553, 0.9354, 1.288, 1.719, 2.232",\
                 "0.1712, 0.1873, 0.2389, 0.3352, 0.4869, 0.7001, 0.98, 1.333, 1.763, 2.276",\
                 "0.2034, 0.2258, 0.2973, 0.4154, 0.573, 0.7844, 1.063, 1.415, 1.845, 2.358",\
                 "0.2096, 0.2386, 0.3301, 0.4795, 0.6776, 0.9162, 1.198, 1.548, 1.976, 2.488",\
                 "0.1845, 0.2207, 0.3341, 0.5162, 0.7543, 1.04, 1.369, 1.737, 2.165, 2.674",\
                 "0.1264, 0.1687, 0.3042, 0.5207, 0.8012, 1.134, 1.515, 1.942, 2.409, 2.924",\
                 "0.0321, 0.0812, 0.2374, 0.4882, 0.814, 1.197, 1.63, 2.114, 2.645, 3.218",\
                 "-0.1007, -0.0443, 0.1333, 0.4186, 0.7881, 1.223, 1.713, 2.252, 2.844, 3.485",\
                 "-0.2742, -0.2109, -0.0118, 0.3066, 0.7215, 1.209, 1.755, 2.356, 3.007, 3.712");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2473, 0.2783, 0.3862, 0.5895, 0.9052, 1.349, 1.931, 2.664, 3.562, 4.624",\
                 "0.2577, 0.2894, 0.3986, 0.604, 0.9218, 1.365, 1.949, 2.68, 3.577, 4.648",\
                 "0.3135, 0.3441, 0.4515, 0.6559, 0.9741, 1.419, 2.001, 2.737, 3.63, 4.702",\
                 "0.4309, 0.464, 0.5723, 0.7718, 1.085, 1.526, 2.109, 2.841, 3.738, 4.807",\
                 "0.584, 0.6224, 0.7497, 0.967, 1.276, 1.711, 2.286, 3.016, 3.908, 4.972",\
                 "0.7769, 0.8215, 0.9635, 1.209, 1.551, 1.986, 2.553, 3.275, 4.16, 5.221",\
                 "1.01, 1.061, 1.222, 1.493, 1.871, 2.349, 2.921, 3.632, 4.508, 5.561",\
                 "1.281, 1.34, 1.524, 1.824, 2.235, 2.756, 3.379, 4.099, 4.965, 6.008",\
                 "1.591, 1.659, 1.868, 2.205, 2.651, 3.209, 3.882, 4.659, 5.538, 6.568",\
                 "1.943, 2.018, 2.254, 2.629, 3.119, 3.717, 4.433, 5.267, 6.207, 7.251");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1787, 0.2052, 0.2985, 0.4683, 0.7314, 1.098, 1.581, 2.189, 2.929, 3.811",\
                 "0.1766, 0.2037, 0.2966, 0.4687, 0.7309, 1.099, 1.58, 2.189, 2.929, 3.811",\
                 "0.2007, 0.2213, 0.2983, 0.4639, 0.7302, 1.098, 1.58, 2.186, 2.926, 3.809",\
                 "0.2797, 0.3042, 0.3857, 0.5275, 0.7492, 1.095, 1.58, 2.185, 2.927, 3.812",\
                 "0.3871, 0.4172, 0.5067, 0.6652, 0.8912, 1.185, 1.604, 2.188, 2.928, 3.811",\
                 "0.516, 0.55, 0.6602, 0.836, 1.082, 1.4, 1.787, 2.283, 2.95, 3.811",\
                 "0.664, 0.7054, 0.8332, 1.038, 1.306, 1.652, 2.07, 2.561, 3.148, 3.909",\
                 "0.8296, 0.8778, 1.029, 1.265, 1.569, 1.936, 2.386, 2.913, 3.518, 4.206",\
                 "1.014, 1.071, 1.243, 1.518, 1.859, 2.266, 2.737, 3.3, 3.943, 4.665",\
                 "1.215, 1.277, 1.477, 1.786, 2.178, 2.624, 3.141, 3.723, 4.402, 5.167");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3826, 0.4353, 0.6216, 0.9783, 1.53, 2.31, 3.331, 4.616, 6.192, 8.071",\
                 "0.3823, 0.4356, 0.6228, 0.9788, 1.533, 2.308, 3.333, 4.623, 6.191, 8.073",\
                 "0.3821, 0.4352, 0.6213, 0.9779, 1.533, 2.312, 3.332, 4.618, 6.195, 8.076",\
                 "0.4403, 0.4849, 0.6435, 0.9778, 1.533, 2.312, 3.328, 4.615, 6.191, 8.076",\
                 "0.5238, 0.575, 0.7492, 1.049, 1.546, 2.31, 3.335, 4.617, 6.188, 8.056",\
                 "0.6316, 0.6834, 0.8682, 1.2, 1.668, 2.349, 3.336, 4.621, 6.196, 8.06",\
                 "0.7716, 0.8278, 1.014, 1.359, 1.87, 2.522, 3.406, 4.633, 6.195, 8.059",\
                 "0.9364, 0.998, 1.195, 1.546, 2.077, 2.783, 3.632, 4.752, 6.217, 8.071",\
                 "1.115, 1.186, 1.403, 1.772, 2.309, 3.046, 3.957, 5.025, 6.391, 8.122",\
                 "1.312, 1.39, 1.632, 2.031, 2.58, 3.33, 4.294, 5.413, 6.713, 8.34");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1038, 0.1159, 0.1581, 0.2389, 0.3643, 0.5401, 0.7719, 1.063, 1.42, 1.844",\
                 "0.1176, 0.1298, 0.1723, 0.2532, 0.3787, 0.555, 0.786, 1.078, 1.433, 1.857",\
                 "0.1588, 0.1734, 0.22, 0.3006, 0.4261, 0.6021, 0.8334, 1.125, 1.481, 1.904",\
                 "0.184, 0.2046, 0.2701, 0.3768, 0.5171, 0.6931, 0.9238, 1.215, 1.57, 1.994",\
                 "0.1804, 0.2076, 0.2929, 0.4299, 0.6096, 0.8238, 1.067, 1.357, 1.711, 2.134",\
                 "0.1431, 0.1769, 0.2835, 0.4531, 0.6722, 0.9317, 1.227, 1.554, 1.914, 2.335",\
                 "0.0694, 0.1092, 0.2359, 0.4402, 0.7011, 1.007, 1.354, 1.737, 2.154, 2.6",\
                 "-0.0441, 0.0029, 0.1503, 0.3875, 0.6917, 1.047, 1.446, 1.884, 2.362, 2.875",\
                 "-0.1994, -0.1456, 0.023, 0.2919, 0.6394, 1.046, 1.5, 1.995, 2.532, 3.11",\
                 "-0.3991, -0.3384, -0.1494, 0.1536, 0.543, 1.001, 1.51, 2.065, 2.664, 3.303");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2472, 0.278, 0.3862, 0.59, 0.9061, 1.349, 1.932, 2.663, 3.557, 4.627",\
                 "0.2569, 0.2885, 0.3976, 0.6033, 0.9209, 1.364, 1.949, 2.683, 3.575, 4.643",\
                 "0.3119, 0.3423, 0.4493, 0.6537, 0.9719, 1.416, 1.999, 2.736, 3.632, 4.695",\
                 "0.4318, 0.4646, 0.5722, 0.771, 1.084, 1.525, 2.105, 2.839, 3.735, 4.804",\
                 "0.5903, 0.6282, 0.7542, 0.9702, 1.277, 1.711, 2.286, 3.015, 3.908, 4.97",\
                 "0.792, 0.8349, 0.9751, 1.218, 1.558, 1.991, 2.556, 3.278, 4.163, 5.221",\
                 "1.035, 1.085, 1.243, 1.511, 1.887, 2.361, 2.93, 3.64, 4.515, 5.567",\
                 "1.322, 1.378, 1.559, 1.855, 2.261, 2.778, 3.397, 4.115, 4.979, 6.019",\
                 "1.651, 1.716, 1.92, 2.251, 2.69, 3.244, 3.912, 4.685, 5.559, 6.588",\
                 "2.024, 2.098, 2.328, 2.695, 3.177, 3.767, 4.478, 5.307, 6.24, 7.282");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1457, 0.1668, 0.2398, 0.3785, 0.5946, 0.8964, 1.293, 1.792, 2.404, 3.132",\
                 "0.145, 0.1661, 0.2396, 0.3784, 0.5948, 0.8963, 1.292, 1.793, 2.402, 3.124",\
                 "0.1782, 0.1956, 0.2532, 0.3785, 0.5942, 0.8963, 1.292, 1.792, 2.399, 3.125",\
                 "0.257, 0.2783, 0.3485, 0.4656, 0.6337, 0.9005, 1.29, 1.791, 2.399, 3.127",\
                 "0.3619, 0.387, 0.4692, 0.6046, 0.7958, 1.031, 1.348, 1.799, 2.398, 3.125",\
                 "0.4862, 0.5174, 0.6164, 0.775, 0.9864, 1.256, 1.576, 1.957, 2.467, 3.135",\
                 "0.629, 0.6676, 0.7852, 0.9722, 1.212, 1.508, 1.864, 2.273, 2.735, 3.308",\
                 "0.7906, 0.835, 0.975, 1.192, 1.468, 1.796, 2.18, 2.627, 3.135, 3.69",\
                 "0.969, 1.023, 1.184, 1.436, 1.747, 2.117, 2.534, 3.013, 3.565, 4.169",\
                 "1.162, 1.223, 1.412, 1.697, 2.053, 2.464, 2.93, 3.441, 4.024, 4.671");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3831, 0.4358, 0.6218, 0.9784, 1.532, 2.309, 3.332, 4.62, 6.197, 8.061",\
                 "0.3819, 0.4356, 0.6225, 0.9774, 1.533, 2.306, 3.333, 4.62, 6.191, 8.058",\
                 "0.3823, 0.4354, 0.6215, 0.977, 1.533, 2.312, 3.328, 4.622, 6.199, 8.073",\
                 "0.4398, 0.4848, 0.6426, 0.978, 1.534, 2.309, 3.331, 4.621, 6.189, 8.075",\
                 "0.5198, 0.572, 0.746, 1.047, 1.545, 2.31, 3.334, 4.616, 6.19, 8.066",\
                 "0.624, 0.6772, 0.8628, 1.195, 1.663, 2.348, 3.336, 4.623, 6.19, 8.066",\
                 "0.7584, 0.814, 0.9996, 1.346, 1.86, 2.515, 3.41, 4.632, 6.189, 8.058",\
                 "0.914, 0.9744, 1.173, 1.523, 2.061, 2.771, 3.625, 4.749, 6.221, 8.067",\
                 "1.09, 1.157, 1.374, 1.737, 2.28, 3.027, 3.937, 5.01, 6.375, 8.118",\
                 "1.282, 1.357, 1.593, 1.987, 2.541, 3.295, 4.259, 5.388, 6.695, 8.332");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2162, 0.2345, 0.2974, 0.4152, 0.5961, 0.848, 1.178, 1.593, 2.1, 2.702",\
                 "0.2295, 0.2477, 0.311, 0.4288, 0.6099, 0.8619, 1.192, 1.607, 2.114, 2.717",\
                 "0.2723, 0.2901, 0.3528, 0.4706, 0.6516, 0.9036, 1.234, 1.649, 2.156, 2.759",\
                 "0.3414, 0.3627, 0.4322, 0.5517, 0.7312, 0.9821, 1.311, 1.726, 2.232, 2.835",\
                 "0.3899, 0.4157, 0.501, 0.649, 0.8532, 1.109, 1.436, 1.849, 2.354, 2.955",\
                 "0.4128, 0.4437, 0.5465, 0.7216, 0.9621, 1.262, 1.615, 2.028, 2.53, 3.129",\
                 "0.4049, 0.4411, 0.5622, 0.7672, 1.045, 1.389, 1.794, 2.253, 2.767, 3.363",\
                 "0.363, 0.4056, 0.5448, 0.7809, 1.1, 1.488, 1.942, 2.459, 3.033, 3.662",\
                 "0.2863, 0.3348, 0.493, 0.7603, 1.12, 1.558, 2.063, 2.634, 3.27, 3.965",\
                 "0.1729, 0.2269, 0.4024, 0.7009, 1.104, 1.592, 2.152, 2.78, 3.473, 4.235");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2472, 0.278, 0.3862, 0.59, 0.9061, 1.349, 1.932, 2.663, 3.557, 4.627",\
                 "0.2569, 0.2885, 0.3976, 0.6033, 0.9209, 1.364, 1.949, 2.683, 3.575, 4.643",\
                 "0.3119, 0.3423, 0.4493, 0.6537, 0.9719, 1.416, 1.999, 2.736, 3.632, 4.695",\
                 "0.4318, 0.4646, 0.5722, 0.771, 1.084, 1.525, 2.105, 2.839, 3.735, 4.804",\
                 "0.5903, 0.6282, 0.7542, 0.9702, 1.277, 1.711, 2.286, 3.015, 3.908, 4.97",\
                 "0.792, 0.8349, 0.9751, 1.218, 1.558, 1.991, 2.556, 3.278, 4.163, 5.221",\
                 "1.035, 1.085, 1.243, 1.511, 1.887, 2.361, 2.93, 3.64, 4.515, 5.567",\
                 "1.322, 1.378, 1.559, 1.855, 2.261, 2.778, 3.397, 4.115, 4.979, 6.019",\
                 "1.651, 1.716, 1.92, 2.251, 2.69, 3.244, 3.912, 4.685, 5.559, 6.588",\
                 "2.024, 2.098, 2.328, 2.695, 3.177, 3.767, 4.478, 5.307, 6.24, 7.282");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3243, 0.3553, 0.4617, 0.6621, 0.9719, 1.406, 1.973, 2.688, 3.561, 4.601",\
                 "0.3236, 0.3548, 0.4619, 0.6617, 0.972, 1.405, 1.974, 2.688, 3.561, 4.601",\
                 "0.3154, 0.3465, 0.4576, 0.6613, 0.9715, 1.405, 1.974, 2.689, 3.561, 4.601",\
                 "0.3774, 0.4059, 0.5012, 0.6776, 0.9709, 1.405, 1.973, 2.688, 3.561, 4.602",\
                 "0.4798, 0.511, 0.6166, 0.8018, 1.065, 1.438, 1.975, 2.688, 3.56, 4.602",\
                 "0.6162, 0.652, 0.7658, 0.9644, 1.25, 1.622, 2.09, 2.724, 3.563, 4.6",\
                 "0.7778, 0.8206, 0.9498, 1.167, 1.472, 1.866, 2.355, 2.935, 3.678, 4.631",\
                 "0.9602, 1.009, 1.16, 1.404, 1.731, 2.149, 2.667, 3.278, 3.985, 4.844",\
                 "1.16, 1.216, 1.391, 1.668, 2.033, 2.476, 3.011, 3.657, 4.405, 5.248",\
                 "1.374, 1.441, 1.639, 1.957, 2.361, 2.846, 3.409, 4.078, 4.858, 5.747");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6078, 0.663, 0.8544, 1.214, 1.771, 2.548, 3.57, 4.859, 6.428, 8.297",\
                 "0.6078, 0.663, 0.8544, 1.215, 1.771, 2.549, 3.571, 4.859, 6.43, 8.307",\
                 "0.6074, 0.6625, 0.8539, 1.215, 1.771, 2.548, 3.57, 4.856, 6.43, 8.307",\
                 "0.6691, 0.7129, 0.8757, 1.215, 1.771, 2.549, 3.571, 4.857, 6.432, 8.299",\
                 "0.7982, 0.843, 0.9962, 1.288, 1.784, 2.549, 3.571, 4.86, 6.426, 8.302",\
                 "0.9504, 0.9952, 1.157, 1.461, 1.911, 2.589, 3.574, 4.857, 6.431, 8.303",\
                 "1.144, 1.186, 1.342, 1.656, 2.135, 2.771, 3.654, 4.87, 6.428, 8.301",\
                 "1.377, 1.419, 1.569, 1.88, 2.377, 3.049, 3.885, 4.997, 6.457, 8.308",\
                 "1.632, 1.677, 1.838, 2.147, 2.643, 3.348, 4.226, 5.28, 6.638, 8.353",\
                 "1.91, 1.958, 2.132, 2.456, 2.953, 3.664, 4.585, 5.681, 6.972, 8.59");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2607, 0.279, 0.3424, 0.4608, 0.6425, 0.8951, 1.226, 1.642, 2.148, 2.753",\
                 "0.2708, 0.2891, 0.3526, 0.4709, 0.6526, 0.9053, 1.236, 1.652, 2.159, 2.763",\
                 "0.3107, 0.329, 0.3921, 0.5103, 0.6917, 0.9443, 1.275, 1.69, 2.197, 2.8",\
                 "0.3879, 0.4077, 0.4742, 0.5913, 0.7711, 1.023, 1.352, 1.767, 2.273, 2.877",\
                 "0.4531, 0.4769, 0.5583, 0.6995, 0.8975, 1.15, 1.478, 1.89, 2.395, 2.997",\
                 "0.4991, 0.5273, 0.6231, 0.788, 1.02, 1.312, 1.659, 2.07, 2.572, 3.171",\
                 "0.5221, 0.5554, 0.6661, 0.8572, 1.121, 1.454, 1.849, 2.301, 2.812, 3.407",\
                 "0.5233, 0.5603, 0.6872, 0.9041, 1.203, 1.575, 2.015, 2.521, 3.087, 3.71",\
                 "0.4981, 0.5419, 0.6823, 0.9256, 1.26, 1.674, 2.16, 2.715, 3.338, 4.025",\
                 "0.4494, 0.4953, 0.6524, 0.9215, 1.291, 1.748, 2.282, 2.886, 3.564, 4.311");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.301, 0.332, 0.4402, 0.6449, 0.9628, 1.408, 1.994, 2.731, 3.63, 4.699",\
                 "0.3138, 0.3456, 0.4556, 0.6626, 0.982, 1.428, 2.015, 2.752, 3.651, 4.721",\
                 "0.3518, 0.3834, 0.4934, 0.701, 1.023, 1.47, 2.058, 2.796, 3.696, 4.766",\
                 "0.4254, 0.4589, 0.5703, 0.7747, 1.093, 1.539, 2.126, 2.864, 3.764, 4.834",\
                 "0.5315, 0.5665, 0.6862, 0.9023, 1.219, 1.659, 2.242, 2.976, 3.873, 4.942",\
                 "0.6729, 0.7125, 0.8413, 1.068, 1.402, 1.846, 2.42, 3.148, 4.04, 5.103",\
                 "0.8423, 0.8866, 1.032, 1.277, 1.626, 2.09, 2.673, 3.392, 4.275, 5.331",\
                 "1.037, 1.087, 1.251, 1.523, 1.896, 2.377, 2.983, 3.715, 4.589, 5.636",\
                 "1.254, 1.312, 1.496, 1.799, 2.205, 2.712, 3.337, 4.096, 4.988, 6.026",\
                 "1.498, 1.562, 1.768, 2.104, 2.548, 3.093, 3.743, 4.522, 5.442, 6.503");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3753, 0.4063, 0.5142, 0.7159, 1.027, 1.461, 2.031, 2.745, 3.619, 4.659",\
                 "0.3747, 0.4063, 0.5143, 0.716, 1.026, 1.461, 2.031, 2.745, 3.619, 4.659",\
                 "0.3678, 0.4003, 0.5114, 0.7148, 1.026, 1.461, 2.03, 2.745, 3.619, 4.659",\
                 "0.4198, 0.4487, 0.5434, 0.7245, 1.025, 1.46, 2.029, 2.745, 3.619, 4.661",\
                 "0.525, 0.5564, 0.6604, 0.8442, 1.107, 1.488, 2.029, 2.745, 3.619, 4.66",\
                 "0.6642, 0.6988, 0.8114, 1.009, 1.294, 1.661, 2.136, 2.775, 3.619, 4.658",\
                 "0.8336, 0.8732, 0.999, 1.21, 1.513, 1.906, 2.395, 2.978, 3.726, 4.685",\
                 "1.031, 1.076, 1.217, 1.45, 1.77, 2.185, 2.701, 3.315, 4.025, 4.891",\
                 "1.247, 1.3, 1.461, 1.726, 2.074, 2.511, 3.045, 3.69, 4.439, 5.286",\
                 "1.486, 1.544, 1.732, 2.027, 2.413, 2.878, 3.436, 4.103, 4.886, 5.78");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6079, 0.6631, 0.8544, 1.215, 1.771, 2.548, 3.569, 4.858, 6.429, 8.307",\
                 "0.608, 0.6628, 0.8543, 1.215, 1.771, 2.548, 3.57, 4.858, 6.432, 8.298",\
                 "0.6097, 0.6638, 0.8544, 1.215, 1.77, 2.549, 3.57, 4.86, 6.429, 8.301",\
                 "0.6632, 0.7094, 0.8783, 1.218, 1.771, 2.549, 3.57, 4.856, 6.428, 8.296",\
                 "0.768, 0.813, 0.9722, 1.281, 1.792, 2.55, 3.571, 4.861, 6.428, 8.301",\
                 "0.9154, 0.9552, 1.102, 1.408, 1.891, 2.598, 3.578, 4.859, 6.432, 8.305",\
                 "1.112, 1.148, 1.283, 1.569, 2.048, 2.732, 3.659, 4.883, 6.432, 8.303",\
                 "1.332, 1.371, 1.51, 1.784, 2.242, 2.924, 3.827, 4.994, 6.478, 8.308",\
                 "1.576, 1.616, 1.764, 2.05, 2.496, 3.154, 4.062, 5.2, 6.625, 8.383",\
                 "1.832, 1.878, 2.038, 2.343, 2.801, 3.442, 4.327, 5.475, 6.868, 8.57");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2146, 0.2326, 0.2955, 0.4131, 0.5939, 0.8457, 1.176, 1.591, 2.098, 2.7",\
                 "0.2244, 0.2427, 0.3056, 0.4232, 0.6041, 0.856, 1.186, 1.601, 2.107, 2.711",\
                 "0.2651, 0.2828, 0.3452, 0.4626, 0.6432, 0.895, 1.225, 1.64, 2.146, 2.75",\
                 "0.334, 0.3549, 0.4245, 0.5443, 0.7229, 0.9733, 1.302, 1.717, 2.222, 2.825",\
                 "0.3862, 0.4116, 0.4966, 0.643, 0.8461, 1.101, 1.428, 1.84, 2.344, 2.945",\
                 "0.4178, 0.4484, 0.5493, 0.7212, 0.9593, 1.257, 1.608, 2.021, 2.521, 3.12",\
                 "0.4272, 0.4633, 0.5803, 0.7805, 1.052, 1.39, 1.791, 2.249, 2.761, 3.357",\
                 "0.4145, 0.4546, 0.5891, 0.8156, 1.125, 1.504, 1.95, 2.461, 3.032, 3.658",\
                 "0.3761, 0.4223, 0.5711, 0.8269, 1.172, 1.596, 2.088, 2.649, 3.277, 3.968",\
                 "0.3143, 0.3657, 0.5299, 0.8113, 1.194, 1.661, 2.205, 2.816, 3.497, 4.248");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2945, 0.3256, 0.4332, 0.6374, 0.954, 1.398, 1.982, 2.717, 3.613, 4.681",\
                 "0.3075, 0.3391, 0.4488, 0.6549, 0.9734, 1.418, 2.002, 2.738, 3.634, 4.702",\
                 "0.3456, 0.377, 0.4862, 0.6936, 1.014, 1.46, 2.045, 2.782, 3.679, 4.747",\
                 "0.4183, 0.4515, 0.5632, 0.767, 1.084, 1.529, 2.114, 2.85, 3.747, 4.816",\
                 "0.523, 0.5583, 0.6778, 0.8938, 1.21, 1.649, 2.229, 2.962, 3.857, 4.923",\
                 "0.662, 0.702, 0.8317, 1.059, 1.392, 1.835, 2.408, 3.134, 4.023, 5.085",\
                 "0.8278, 0.8733, 1.02, 1.267, 1.615, 2.078, 2.66, 3.378, 4.258, 5.313",\
                 "1.018, 1.07, 1.236, 1.51, 1.883, 2.364, 2.969, 3.701, 4.572, 5.617",\
                 "1.232, 1.29, 1.478, 1.783, 2.191, 2.698, 3.323, 4.08, 4.97, 6.008",\
                 "1.468, 1.535, 1.744, 2.084, 2.531, 3.077, 3.727, 4.505, 5.424, 6.483");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3251, 0.3561, 0.4624, 0.6635, 0.9724, 1.407, 1.974, 2.689, 3.562, 4.602",\
                 "0.3252, 0.3556, 0.4629, 0.663, 0.9725, 1.407, 1.975, 2.69, 3.562, 4.601",\
                 "0.3176, 0.3484, 0.4577, 0.6624, 0.9732, 1.406, 1.975, 2.689, 3.563, 4.603",\
                 "0.3836, 0.4115, 0.5062, 0.6804, 0.9722, 1.406, 1.974, 2.689, 3.561, 4.603",\
                 "0.4902, 0.5206, 0.6246, 0.8078, 1.07, 1.443, 1.975, 2.689, 3.562, 4.603",\
                 "0.6304, 0.6642, 0.778, 0.9722, 1.255, 1.626, 2.094, 2.728, 3.563, 4.602",\
                 "0.796, 0.8376, 0.9644, 1.176, 1.474, 1.869, 2.357, 2.939, 3.68, 4.633",\
                 "0.9876, 1.033, 1.181, 1.417, 1.737, 2.149, 2.665, 3.278, 3.987, 4.846",\
                 "1.199, 1.253, 1.419, 1.689, 2.04, 2.475, 3.008, 3.653, 4.402, 5.248",\
                 "1.43, 1.494, 1.684, 1.987, 2.378, 2.845, 3.399, 4.065, 4.846, 5.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4876, 0.5427, 0.7339, 1.094, 1.649, 2.426, 3.447, 4.735, 6.307, 8.183",\
                 "0.4877, 0.5423, 0.7338, 1.094, 1.649, 2.425, 3.447, 4.734, 6.309, 8.181",\
                 "0.4894, 0.5433, 0.7338, 1.094, 1.648, 2.426, 3.449, 4.737, 6.303, 8.182",\
                 "0.5433, 0.5896, 0.7577, 1.096, 1.649, 2.426, 3.449, 4.735, 6.305, 8.179",\
                 "0.635, 0.6816, 0.8476, 1.16, 1.67, 2.427, 3.449, 4.735, 6.306, 8.179",\
                 "0.7706, 0.8128, 0.9666, 1.28, 1.769, 2.476, 3.455, 4.737, 6.309, 8.184",\
                 "0.9466, 0.9908, 1.138, 1.432, 1.919, 2.609, 3.535, 4.759, 6.308, 8.184",\
                 "1.143, 1.189, 1.346, 1.639, 2.105, 2.796, 3.704, 4.87, 6.357, 8.185",\
                 "1.357, 1.406, 1.578, 1.889, 2.35, 3.018, 3.93, 5.077, 6.503, 8.263",\
                 "1.585, 1.639, 1.827, 2.163, 2.647, 3.296, 4.191, 5.349, 6.746, 8.445");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1905, 0.2063, 0.2602, 0.3612, 0.5162, 0.7319, 1.015, 1.37, 1.803, 2.32",\
                 "0.201, 0.2168, 0.2709, 0.3719, 0.5269, 0.7426, 1.025, 1.381, 1.814, 2.33",\
                 "0.2442, 0.2595, 0.3128, 0.4136, 0.5683, 0.7839, 1.066, 1.422, 1.855, 2.372",\
                 "0.3066, 0.3261, 0.3896, 0.4984, 0.6527, 0.8671, 1.149, 1.503, 1.936, 2.452",\
                 "0.3484, 0.3726, 0.4512, 0.5864, 0.7718, 1.001, 1.282, 1.635, 2.066, 2.58",\
                 "0.3668, 0.3963, 0.4915, 0.6518, 0.8718, 1.144, 1.462, 1.824, 2.254, 2.766",\
                 "0.3596, 0.3943, 0.5055, 0.6939, 0.9484, 1.26, 1.627, 2.042, 2.502, 3.016",\
                 "0.3265, 0.3647, 0.4923, 0.7084, 0.9988, 1.353, 1.765, 2.233, 2.752, 3.317",\
                 "0.2652, 0.3084, 0.4506, 0.6924, 1.02, 1.419, 1.878, 2.396, 2.971, 3.6",\
                 "0.1764, 0.2235, 0.3802, 0.6477, 1.011, 1.454, 1.963, 2.533, 3.161, 3.849");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2945, 0.3255, 0.4332, 0.6374, 0.9542, 1.398, 1.982, 2.716, 3.613, 4.681",\
                 "0.3067, 0.3385, 0.4481, 0.6542, 0.9725, 1.417, 2.002, 2.737, 3.634, 4.702",\
                 "0.3439, 0.3754, 0.4845, 0.6918, 1.012, 1.458, 2.044, 2.78, 3.677, 4.746",\
                 "0.4178, 0.451, 0.562, 0.7654, 1.082, 1.527, 2.112, 2.848, 3.745, 4.814",\
                 "0.5275, 0.5624, 0.6811, 0.8954, 1.21, 1.649, 2.228, 2.961, 3.855, 4.922",\
                 "0.6756, 0.7146, 0.8425, 1.067, 1.398, 1.839, 2.41, 3.135, 4.024, 5.086",\
                 "0.8529, 0.8978, 1.042, 1.284, 1.629, 2.09, 2.669, 3.384, 4.263, 5.316",\
                 "1.058, 1.109, 1.273, 1.542, 1.909, 2.386, 2.987, 3.716, 4.585, 5.628",\
                 "1.29, 1.347, 1.532, 1.831, 2.234, 2.734, 3.353, 4.106, 4.993, 6.027",\
                 "1.549, 1.615, 1.82, 2.154, 2.593, 3.131, 3.774, 4.546, 5.459, 6.515");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2703, 0.2961, 0.3868, 0.558, 0.8216, 1.192, 1.676, 2.285, 3.029, 3.914",\
                 "0.27, 0.2959, 0.3865, 0.5579, 0.8213, 1.19, 1.676, 2.285, 3.029, 3.917",\
                 "0.2701, 0.2946, 0.3843, 0.557, 0.8219, 1.191, 1.676, 2.284, 3.029, 3.916",\
                 "0.3468, 0.3719, 0.4517, 0.5938, 0.8288, 1.19, 1.676, 2.285, 3.029, 3.915",\
                 "0.4564, 0.484, 0.5744, 0.7328, 0.9562, 1.257, 1.691, 2.286, 3.029, 3.916",\
                 "0.5948, 0.6276, 0.7294, 0.9024, 1.149, 1.466, 1.854, 2.363, 3.046, 3.916",\
                 "0.759, 0.7978, 0.915, 1.107, 1.372, 1.716, 2.135, 2.625, 3.225, 3.994",\
                 "0.947, 0.9904, 1.125, 1.346, 1.634, 1.999, 2.448, 2.978, 3.583, 4.282",\
                 "1.156, 1.207, 1.362, 1.612, 1.936, 2.326, 2.797, 3.358, 4.005, 4.731",\
                 "1.387, 1.444, 1.625, 1.907, 2.268, 2.696, 3.196, 3.776, 4.455, 5.228");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4873, 0.5427, 0.7335, 1.094, 1.649, 2.426, 3.446, 4.737, 6.309, 8.178",\
                 "0.4873, 0.5423, 0.7338, 1.094, 1.649, 2.426, 3.446, 4.736, 6.31, 8.177",\
                 "0.4897, 0.5436, 0.7342, 1.094, 1.649, 2.426, 3.448, 4.734, 6.307, 8.173",\
                 "0.5436, 0.5899, 0.7584, 1.097, 1.649, 2.426, 3.447, 4.735, 6.308, 8.179",\
                 "0.633, 0.6796, 0.8464, 1.16, 1.671, 2.427, 3.449, 4.737, 6.31, 8.177",\
                 "0.7656, 0.8056, 0.9612, 1.276, 1.767, 2.475, 3.455, 4.737, 6.309, 8.184",\
                 "0.9366, 0.9776, 1.125, 1.423, 1.912, 2.604, 3.534, 4.758, 6.31, 8.184",\
                 "1.13, 1.174, 1.329, 1.62, 2.091, 2.786, 3.698, 4.868, 6.355, 8.183",\
                 "1.34, 1.39, 1.557, 1.867, 2.324, 2.998, 3.918, 5.068, 6.497, 8.261",\
                 "1.564, 1.619, 1.804, 2.133, 2.612, 3.265, 4.167, 5.329, 6.735, 8.438");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2152, 0.2332, 0.2961, 0.4139, 0.5948, 0.8466, 1.177, 1.592, 2.099, 2.702",\
                 "0.225, 0.2432, 0.3063, 0.424, 0.6049, 0.8568, 1.187, 1.602, 2.108, 2.712",\
                 "0.2657, 0.2834, 0.3459, 0.4634, 0.6441, 0.8959, 1.226, 1.641, 2.148, 2.751",\
                 "0.3348, 0.3558, 0.4253, 0.5449, 0.7237, 0.9742, 1.303, 1.718, 2.223, 2.826",\
                 "0.3871, 0.4127, 0.4974, 0.644, 0.847, 1.102, 1.429, 1.841, 2.345, 2.947",\
                 "0.419, 0.4497, 0.5504, 0.7223, 0.9603, 1.258, 1.609, 2.021, 2.522, 3.121",\
                 "0.4287, 0.4647, 0.5823, 0.782, 1.054, 1.392, 1.792, 2.25, 2.762, 3.358",\
                 "0.4161, 0.4564, 0.5903, 0.8177, 1.126, 1.505, 1.952, 2.462, 3.033, 3.658",\
                 "0.3781, 0.4241, 0.5728, 0.8285, 1.174, 1.597, 2.089, 2.65, 3.278, 3.969",\
                 "0.3158, 0.3663, 0.5319, 0.8139, 1.196, 1.663, 2.205, 2.816, 3.499, 4.25");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2946, 0.3256, 0.4333, 0.6375, 0.9542, 1.398, 1.982, 2.717, 3.614, 4.681",\
                 "0.3075, 0.3391, 0.4488, 0.6549, 0.9734, 1.418, 2.002, 2.738, 3.634, 4.703",\
                 "0.3456, 0.377, 0.4862, 0.6935, 1.014, 1.46, 2.046, 2.782, 3.679, 4.748",\
                 "0.4183, 0.4515, 0.5631, 0.7669, 1.084, 1.529, 2.114, 2.85, 3.747, 4.816",\
                 "0.523, 0.5583, 0.6778, 0.8936, 1.21, 1.649, 2.229, 2.962, 3.857, 4.923",\
                 "0.662, 0.702, 0.8318, 1.059, 1.392, 1.835, 2.408, 3.134, 4.023, 5.085",\
                 "0.8278, 0.8733, 1.02, 1.267, 1.615, 2.078, 2.66, 3.377, 4.258, 5.313",\
                 "1.018, 1.07, 1.236, 1.51, 1.883, 2.365, 2.969, 3.7, 4.573, 5.618",\
                 "1.231, 1.291, 1.478, 1.783, 2.191, 2.698, 3.323, 4.079, 4.971, 6.008",\
                 "1.47, 1.535, 1.744, 2.084, 2.531, 3.077, 3.727, 4.506, 5.424, 6.484");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.326, 0.357, 0.4633, 0.6646, 0.9735, 1.408, 1.976, 2.691, 3.564, 4.603",\
                 "0.3261, 0.3568, 0.4639, 0.664, 0.9736, 1.408, 1.976, 2.691, 3.564, 4.603",\
                 "0.3185, 0.3492, 0.4586, 0.6634, 0.9742, 1.407, 1.976, 2.69, 3.564, 4.604",\
                 "0.3838, 0.4124, 0.5067, 0.6814, 0.9732, 1.407, 1.975, 2.69, 3.563, 4.604",\
                 "0.4908, 0.5208, 0.6238, 0.8086, 1.07, 1.443, 1.976, 2.691, 3.563, 4.604",\
                 "0.6312, 0.6646, 0.7768, 0.9726, 1.256, 1.626, 2.095, 2.728, 3.566, 4.603",\
                 "0.7966, 0.838, 0.965, 1.177, 1.476, 1.869, 2.357, 2.94, 3.681, 4.635",\
                 "0.9876, 1.033, 1.179, 1.417, 1.737, 2.149, 2.665, 3.278, 3.988, 4.847",\
                 "1.2, 1.254, 1.419, 1.69, 2.041, 2.475, 3.008, 3.653, 4.403, 5.248",\
                 "1.431, 1.493, 1.685, 1.99, 2.379, 2.844, 3.4, 4.065, 4.85, 5.742");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4891, 0.5443, 0.7357, 1.096, 1.651, 2.428, 3.449, 4.737, 6.309, 8.184",\
                 "0.489, 0.5438, 0.7357, 1.096, 1.652, 2.428, 3.449, 4.737, 6.307, 8.178",\
                 "0.491, 0.5449, 0.7357, 1.096, 1.651, 2.428, 3.451, 4.738, 6.311, 8.18",\
                 "0.5451, 0.5912, 0.7597, 1.099, 1.651, 2.428, 3.451, 4.738, 6.308, 8.181",\
                 "0.6368, 0.684, 0.8498, 1.162, 1.673, 2.429, 3.451, 4.739, 6.31, 8.183",\
                 "0.7732, 0.8152, 0.9688, 1.282, 1.772, 2.478, 3.458, 4.74, 6.307, 8.185",\
                 "0.9496, 0.9938, 1.141, 1.434, 1.922, 2.611, 3.538, 4.763, 6.312, 8.182",\
                 "1.146, 1.192, 1.349, 1.642, 2.108, 2.798, 3.707, 4.874, 6.357, 8.191",\
                 "1.361, 1.41, 1.581, 1.892, 2.355, 3.021, 3.934, 5.079, 6.505, 8.265",\
                 "1.587, 1.643, 1.831, 2.167, 2.65, 3.299, 4.194, 5.349, 6.748, 8.45");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1703, 0.1883, 0.2503, 0.3668, 0.5467, 0.7976, 1.127, 1.542, 2.047, 2.651",\
                 "0.1803, 0.1983, 0.2603, 0.377, 0.5568, 0.8078, 1.137, 1.552, 2.058, 2.661",\
                 "0.223, 0.2399, 0.3003, 0.4163, 0.5958, 0.8466, 1.176, 1.591, 2.097, 2.699",\
                 "0.2785, 0.3005, 0.3738, 0.4981, 0.6759, 0.9253, 1.254, 1.667, 2.172, 2.775",\
                 "0.3156, 0.3434, 0.4335, 0.5855, 0.7943, 1.053, 1.379, 1.791, 2.295, 2.895",\
                 "0.332, 0.3654, 0.4732, 0.6536, 0.8985, 1.202, 1.558, 1.971, 2.472, 3.07",\
                 "0.3267, 0.3657, 0.4913, 0.7019, 0.9829, 1.327, 1.734, 2.196, 2.712, 3.307",\
                 "0.2987, 0.3438, 0.4862, 0.726, 1.046, 1.434, 1.886, 2.403, 2.977, 3.607",\
                 "0.2488, 0.2975, 0.4579, 0.726, 1.084, 1.518, 2.018, 2.585, 3.217, 3.912",\
                 "0.1737, 0.2285, 0.4043, 0.7007, 1.096, 1.575, 2.127, 2.745, 3.433, 4.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2885, 0.3197, 0.4271, 0.6304, 0.9462, 1.389, 1.971, 2.704, 3.598, 4.667",\
                 "0.3013, 0.3329, 0.4425, 0.6478, 0.965, 1.409, 1.993, 2.725, 3.619, 4.689",\
                 "0.3395, 0.3708, 0.4802, 0.6868, 1.006, 1.451, 2.036, 2.768, 3.666, 4.736",\
                 "0.4114, 0.4447, 0.5564, 0.7598, 1.076, 1.52, 2.103, 2.837, 3.732, 4.8",\
                 "0.515, 0.5506, 0.6701, 0.8857, 1.202, 1.639, 2.219, 2.949, 3.844, 4.909",\
                 "0.6518, 0.6926, 0.8224, 1.05, 1.383, 1.825, 2.396, 3.12, 4.009, 5.07",\
                 "0.8154, 0.8612, 1.009, 1.257, 1.605, 2.068, 2.648, 3.363, 4.243, 5.297",\
                 "1.002, 1.054, 1.222, 1.498, 1.872, 2.352, 2.956, 3.686, 4.557, 5.601",\
                 "1.211, 1.271, 1.461, 1.769, 2.178, 2.685, 3.309, 4.064, 4.954, 5.99",\
                 "1.444, 1.512, 1.724, 2.067, 2.516, 3.062, 3.711, 4.489, 5.407, 6.466");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2749, 0.306, 0.4118, 0.6112, 0.9202, 1.354, 1.92, 2.635, 3.508, 4.546",\
                 "0.2735, 0.305, 0.4117, 0.6118, 0.9199, 1.353, 1.919, 2.635, 3.507, 4.546",\
                 "0.2726, 0.3011, 0.4053, 0.6101, 0.9196, 1.353, 1.92, 2.635, 3.506, 4.547",\
                 "0.3477, 0.3756, 0.4701, 0.64, 0.9221, 1.352, 1.919, 2.635, 3.506, 4.547",\
                 "0.4573, 0.4881, 0.5894, 0.7706, 1.034, 1.399, 1.923, 2.634, 3.507, 4.547",\
                 "0.5984, 0.6326, 0.7448, 0.9382, 1.221, 1.59, 2.055, 2.68, 3.51, 4.546",\
                 "0.761, 0.8022, 0.931, 1.145, 1.441, 1.832, 2.32, 2.902, 3.636, 4.581",\
                 "0.9466, 0.9942, 1.144, 1.385, 1.704, 2.114, 2.626, 3.241, 3.95, 4.805",\
                 "1.152, 1.207, 1.381, 1.654, 2.008, 2.441, 2.972, 3.615, 4.364, 5.212",\
                 "1.376, 1.443, 1.64, 1.95, 2.344, 2.812, 3.37, 4.028, 4.81, 5.702");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3826, 0.4354, 0.6216, 0.9783, 1.532, 2.308, 3.331, 4.619, 6.195, 8.062",\
                 "0.3829, 0.4358, 0.6216, 0.9774, 1.533, 2.307, 3.333, 4.619, 6.196, 8.064",\
                 "0.3842, 0.4361, 0.6222, 0.9788, 1.53, 2.307, 3.333, 4.619, 6.191, 8.069",\
                 "0.4353, 0.4818, 0.6459, 0.9796, 1.533, 2.309, 3.329, 4.622, 6.189, 8.055",\
                 "0.511, 0.5592, 0.728, 1.044, 1.552, 2.311, 3.329, 4.616, 6.193, 8.066",\
                 "0.6302, 0.6762, 0.8368, 1.157, 1.65, 2.359, 3.336, 4.623, 6.187, 8.078",\
                 "0.7798, 0.829, 0.994, 1.301, 1.792, 2.489, 3.421, 4.639, 6.199, 8.068",\
                 "0.9442, 1, 1.179, 1.494, 1.975, 2.668, 3.583, 4.752, 6.244, 8.076",\
                 "1.122, 1.186, 1.387, 1.727, 2.206, 2.884, 3.804, 4.955, 6.382, 8.145",\
                 "1.314, 1.387, 1.609, 1.981, 2.491, 3.16, 4.059, 5.219, 6.625, 8.323");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1536, 0.169, 0.2223, 0.3221, 0.4761, 0.691, 0.9729, 1.328, 1.761, 2.277",\
                 "0.1642, 0.1796, 0.2329, 0.3328, 0.4868, 0.7016, 0.9837, 1.338, 1.771, 2.287",\
                 "0.2076, 0.223, 0.2751, 0.3745, 0.5282, 0.743, 1.025, 1.379, 1.812, 2.328",\
                 "0.2557, 0.2765, 0.3438, 0.4571, 0.6129, 0.8262, 1.107, 1.461, 1.894, 2.409",\
                 "0.2827, 0.3089, 0.3929, 0.5342, 0.7251, 0.9594, 1.24, 1.593, 2.023, 2.537",\
                 "0.2864, 0.3181, 0.4201, 0.5891, 0.8156, 1.093, 1.417, 1.782, 2.211, 2.723",\
                 "0.2645, 0.301, 0.4218, 0.6198, 0.8836, 1.203, 1.575, 1.995, 2.458, 2.973",\
                 "0.2169, 0.2594, 0.3957, 0.6229, 0.9247, 1.288, 1.707, 2.179, 2.702, 3.272",\
                 "0.1428, 0.1905, 0.3428, 0.5973, 0.9377, 1.346, 1.813, 2.336, 2.916, 3.549",\
                 "0.0409, 0.0937, 0.2606, 0.5435, 0.9201, 1.373, 1.891, 2.467, 3.101, 3.793");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2885, 0.3197, 0.4271, 0.6304, 0.9457, 1.389, 1.97, 2.704, 3.6, 4.665",\
                 "0.3006, 0.3323, 0.4419, 0.6474, 0.9649, 1.408, 1.993, 2.723, 3.619, 4.686",\
                 "0.3379, 0.3692, 0.4782, 0.6851, 1.004, 1.449, 2.034, 2.767, 3.664, 4.735",\
                 "0.4108, 0.444, 0.5554, 0.7583, 1.074, 1.518, 2.101, 2.835, 3.73, 4.796",\
                 "0.5197, 0.5548, 0.673, 0.8874, 1.202, 1.639, 2.218, 2.947, 3.843, 4.906",\
                 "0.6654, 0.7052, 0.8336, 1.058, 1.389, 1.829, 2.399, 3.122, 4.01, 5.07",\
                 "0.8398, 0.8856, 1.031, 1.275, 1.619, 2.079, 2.657, 3.37, 4.248, 5.301",\
                 "1.041, 1.094, 1.259, 1.529, 1.898, 2.374, 2.974, 3.701, 4.569, 5.612",\
                 "1.269, 1.328, 1.515, 1.818, 2.22, 2.721, 3.339, 4.091, 4.976, 6.009",\
                 "1.525, 1.591, 1.8, 2.136, 2.579, 3.116, 3.758, 4.53, 5.443, 6.497");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2286, 0.2543, 0.3443, 0.5139, 0.7771, 1.146, 1.63, 2.238, 2.982, 3.868",\
                 "0.2279, 0.2541, 0.3442, 0.5137, 0.7767, 1.145, 1.63, 2.238, 2.982, 3.869",\
                 "0.2375, 0.2602, 0.3434, 0.5123, 0.7767, 1.146, 1.63, 2.238, 2.982, 3.869",\
                 "0.319, 0.3434, 0.4241, 0.5645, 0.7906, 1.144, 1.629, 2.238, 2.981, 3.868",\
                 "0.4294, 0.4573, 0.547, 0.7038, 0.9288, 1.224, 1.649, 2.239, 2.982, 3.868",\
                 "0.5688, 0.5998, 0.702, 0.8736, 1.12, 1.437, 1.823, 2.328, 3.002, 3.868",\
                 "0.7294, 0.7658, 0.8864, 1.08, 1.343, 1.685, 2.106, 2.596, 3.191, 3.955",\
                 "0.9114, 0.9558, 1.096, 1.317, 1.608, 1.969, 2.415, 2.946, 3.553, 4.249",\
                 "1.115, 1.168, 1.33, 1.587, 1.909, 2.297, 2.767, 3.327, 3.973, 4.703",\
                 "1.341, 1.402, 1.587, 1.877, 2.238, 2.667, 3.165, 3.746, 4.425, 5.198");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3826, 0.4353, 0.6216, 0.9784, 1.53, 2.311, 3.332, 4.617, 6.187, 8.061",\
                 "0.3828, 0.4358, 0.6216, 0.9783, 1.532, 2.309, 3.332, 4.622, 6.197, 8.062",\
                 "0.3844, 0.4364, 0.6216, 0.9775, 1.532, 2.311, 3.333, 4.615, 6.183, 8.073",\
                 "0.4354, 0.4821, 0.646, 0.9804, 1.534, 2.311, 3.33, 4.615, 6.189, 8.07",\
                 "0.5094, 0.5572, 0.7268, 1.044, 1.552, 2.308, 3.328, 4.617, 6.199, 8.059",\
                 "0.626, 0.6704, 0.8316, 1.151, 1.648, 2.358, 3.34, 4.623, 6.185, 8.061",\
                 "0.773, 0.8232, 0.9834, 1.288, 1.789, 2.484, 3.418, 4.638, 6.197, 8.067",\
                 "0.935, 0.9878, 1.165, 1.477, 1.959, 2.658, 3.577, 4.751, 6.242, 8.063",\
                 "1.111, 1.173, 1.368, 1.705, 2.184, 2.865, 3.791, 4.947, 6.377, 8.152",\
                 "1.303, 1.371, 1.588, 1.957, 2.466, 3.127, 4.035, 5.204, 6.612, 8.316");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1826, 0.1985, 0.2523, 0.3528, 0.5072, 0.722, 1.003, 1.357, 1.789, 2.302",\
                 "0.1937, 0.2093, 0.2633, 0.3639, 0.5183, 0.7331, 1.014, 1.368, 1.8, 2.313",\
                 "0.2388, 0.2538, 0.3063, 0.4066, 0.5607, 0.7754, 1.057, 1.41, 1.842, 2.356",\
                 "0.303, 0.322, 0.3851, 0.4933, 0.6461, 0.8596, 1.14, 1.493, 1.924, 2.437",\
                 "0.3461, 0.3696, 0.4486, 0.5826, 0.7671, 0.9951, 1.274, 1.626, 2.055, 2.567",\
                 "0.3646, 0.3939, 0.4887, 0.6489, 0.8675, 1.139, 1.456, 1.817, 2.244, 2.754",\
                 "0.3577, 0.3921, 0.5035, 0.6916, 0.9444, 1.256, 1.622, 2.036, 2.494, 3.006",\
                 "0.3245, 0.3641, 0.4902, 0.7059, 0.9966, 1.351, 1.761, 2.227, 2.746, 3.309",\
                 "0.264, 0.3077, 0.4498, 0.6907, 1.019, 1.417, 1.875, 2.392, 2.965, 3.593",\
                 "0.1756, 0.2235, 0.3804, 0.6469, 1.01, 1.451, 1.96, 2.529, 3.157, 3.844");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2937, 0.3247, 0.4324, 0.6366, 0.9534, 1.397, 1.981, 2.716, 3.613, 4.68",\
                 "0.3058, 0.3376, 0.447, 0.6531, 0.9715, 1.416, 2.001, 2.736, 3.633, 4.701",\
                 "0.344, 0.3753, 0.4846, 0.6915, 1.011, 1.458, 2.043, 2.78, 3.677, 4.746",\
                 "0.4182, 0.4511, 0.5622, 0.7656, 1.082, 1.527, 2.112, 2.848, 3.745, 4.814",\
                 "0.528, 0.5625, 0.6811, 0.8956, 1.211, 1.649, 2.229, 2.961, 3.856, 4.922",\
                 "0.6754, 0.7145, 0.8423, 1.067, 1.398, 1.84, 2.411, 3.136, 4.024, 5.086",\
                 "0.8524, 0.8973, 1.041, 1.285, 1.629, 2.09, 2.669, 3.385, 4.264, 5.317",\
                 "1.057, 1.109, 1.272, 1.541, 1.909, 2.386, 2.988, 3.716, 4.585, 5.628",\
                 "1.289, 1.347, 1.532, 1.831, 2.233, 2.733, 3.354, 4.106, 4.993, 6.027",\
                 "1.549, 1.614, 1.82, 2.154, 2.592, 3.131, 3.774, 4.546, 5.46, 6.515");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2708, 0.2974, 0.3892, 0.56, 0.8232, 1.191, 1.676, 2.282, 3.024, 3.907",\
                 "0.2705, 0.2969, 0.3888, 0.5603, 0.8233, 1.193, 1.675, 2.282, 3.024, 3.908",\
                 "0.2672, 0.2921, 0.3822, 0.5585, 0.8237, 1.192, 1.675, 2.282, 3.024, 3.907",\
                 "0.346, 0.3701, 0.4511, 0.5926, 0.8289, 1.19, 1.675, 2.282, 3.024, 3.907",\
                 "0.456, 0.4838, 0.574, 0.7316, 0.9556, 1.255, 1.688, 2.282, 3.024, 3.906",\
                 "0.5954, 0.6278, 0.7292, 0.902, 1.147, 1.465, 1.852, 2.359, 3.038, 3.907",\
                 "0.76, 0.7984, 0.915, 1.107, 1.371, 1.714, 2.134, 2.622, 3.22, 3.987",\
                 "0.947, 0.9914, 1.128, 1.346, 1.637, 1.999, 2.446, 2.975, 3.58, 4.274",\
                 "1.157, 1.208, 1.365, 1.613, 1.935, 2.327, 2.796, 3.353, 4.001, 4.727",\
                 "1.387, 1.447, 1.626, 1.907, 2.267, 2.696, 3.192, 3.775, 4.454, 5.224");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4888, 0.5442, 0.7356, 1.096, 1.651, 2.428, 3.449, 4.737, 6.305, 8.184",\
                 "0.4891, 0.5443, 0.7358, 1.096, 1.651, 2.428, 3.449, 4.733, 6.307, 8.182",\
                 "0.4909, 0.5449, 0.7356, 1.095, 1.651, 2.428, 3.451, 4.74, 6.306, 8.178",\
                 "0.5449, 0.5913, 0.7602, 1.099, 1.652, 2.428, 3.451, 4.735, 6.31, 8.179",\
                 "0.635, 0.6814, 0.848, 1.162, 1.673, 2.429, 3.45, 4.74, 6.309, 8.178",\
                 "0.7666, 0.8074, 0.9632, 1.279, 1.769, 2.476, 3.457, 4.738, 6.31, 8.184",\
                 "0.939, 0.9812, 1.127, 1.425, 1.915, 2.607, 3.536, 4.762, 6.313, 8.186",\
                 "1.132, 1.177, 1.333, 1.624, 2.094, 2.789, 3.7, 4.87, 6.353, 8.192",\
                 "1.343, 1.392, 1.561, 1.867, 2.33, 3.001, 3.919, 5.071, 6.5, 8.265",\
                 "1.568, 1.623, 1.807, 2.137, 2.618, 3.272, 4.17, 5.332, 6.735, 8.438");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1455, 0.1609, 0.2139, 0.3133, 0.4666, 0.6805, 0.9611, 1.314, 1.745, 2.258",\
                 "0.1567, 0.1719, 0.2249, 0.3244, 0.4778, 0.6916, 0.9724, 1.325, 1.756, 2.27",\
                 "0.2025, 0.2177, 0.2686, 0.3671, 0.5202, 0.7339, 1.015, 1.367, 1.799, 2.312",\
                 "0.2516, 0.272, 0.339, 0.4516, 0.6061, 0.8183, 1.098, 1.45, 1.88, 2.393",\
                 "0.2793, 0.3057, 0.3895, 0.5296, 0.7198, 0.9528, 1.232, 1.583, 2.012, 2.523",\
                 "0.2831, 0.3148, 0.4167, 0.5855, 0.8115, 1.088, 1.411, 1.774, 2.201, 2.71",\
                 "0.2616, 0.2987, 0.418, 0.6162, 0.8801, 1.198, 1.569, 1.988, 2.45, 2.963",\
                 "0.2143, 0.2564, 0.3928, 0.6198, 0.9213, 1.284, 1.702, 2.174, 2.695, 3.263",\
                 "0.1403, 0.1872, 0.3401, 0.5947, 0.9342, 1.342, 1.809, 2.331, 2.91, 3.541",\
                 "0.039, 0.0907, 0.2578, 0.5391, 0.916, 1.369, 1.887, 2.463, 3.095, 3.786");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2878, 0.3185, 0.4258, 0.63, 0.9451, 1.388, 1.971, 2.706, 3.598, 4.664",\
                 "0.2999, 0.3313, 0.4409, 0.6462, 0.9636, 1.407, 1.992, 2.723, 3.618, 4.687",\
                 "0.3377, 0.369, 0.4777, 0.6846, 1.003, 1.449, 2.034, 2.767, 3.663, 4.731",\
                 "0.4113, 0.4442, 0.5555, 0.7585, 1.074, 1.518, 2.101, 2.837, 3.731, 4.799",\
                 "0.5197, 0.5548, 0.6731, 0.8875, 1.202, 1.639, 2.218, 2.948, 3.843, 4.906",\
                 "0.6655, 0.7051, 0.8336, 1.058, 1.389, 1.829, 2.399, 3.123, 4.008, 5.07",\
                 "0.8396, 0.8849, 1.03, 1.274, 1.619, 2.079, 2.657, 3.371, 4.248, 5.302",\
                 "1.041, 1.093, 1.258, 1.53, 1.898, 2.374, 2.975, 3.701, 4.569, 5.613",\
                 "1.269, 1.328, 1.514, 1.817, 2.22, 2.721, 3.339, 4.09, 4.976, 6.009",\
                 "1.525, 1.591, 1.799, 2.136, 2.578, 3.116, 3.758, 4.53, 5.442, 6.497");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2273, 0.2536, 0.3452, 0.5156, 0.7776, 1.146, 1.627, 2.234, 2.976, 3.859",\
                 "0.2254, 0.2523, 0.344, 0.515, 0.7778, 1.145, 1.628, 2.234, 2.976, 3.859",\
                 "0.2339, 0.2562, 0.34, 0.512, 0.778, 1.146, 1.628, 2.234, 2.976, 3.858",\
                 "0.3184, 0.3419, 0.4216, 0.5621, 0.7901, 1.144, 1.628, 2.235, 2.976, 3.858",\
                 "0.4304, 0.4565, 0.5454, 0.7022, 0.9268, 1.223, 1.647, 2.234, 2.975, 3.859",\
                 "0.5678, 0.6002, 0.7022, 0.8734, 1.118, 1.435, 1.821, 2.323, 2.995, 3.859",\
                 "0.7294, 0.767, 0.886, 1.081, 1.342, 1.684, 2.103, 2.592, 3.184, 3.946",\
                 "0.9122, 0.9572, 1.097, 1.317, 1.608, 1.969, 2.414, 2.944, 3.548, 4.242",\
                 "1.116, 1.169, 1.331, 1.583, 1.908, 2.299, 2.764, 3.323, 3.969, 4.695",\
                 "1.35, 1.401, 1.587, 1.875, 2.239, 2.669, 3.165, 3.745, 4.421, 5.191");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3828, 0.4359, 0.6227, 0.9779, 1.531, 2.306, 3.33, 4.622, 6.191, 8.071",\
                 "0.3827, 0.4357, 0.6216, 0.9779, 1.532, 2.309, 3.332, 4.616, 6.197, 8.069",\
                 "0.3847, 0.436, 0.6227, 0.9787, 1.532, 2.309, 3.336, 4.616, 6.182, 8.065",\
                 "0.4354, 0.4818, 0.646, 0.9798, 1.532, 2.309, 3.329, 4.624, 6.195, 8.064",\
                 "0.5092, 0.5568, 0.7274, 1.043, 1.551, 2.309, 3.331, 4.622, 6.198, 8.067",\
                 "0.6258, 0.67, 0.8312, 1.153, 1.648, 2.354, 3.34, 4.623, 6.191, 8.077",\
                 "0.77, 0.819, 0.9818, 1.288, 1.786, 2.485, 3.415, 4.644, 6.199, 8.064",\
                 "0.9328, 0.9862, 1.166, 1.475, 1.961, 2.661, 3.577, 4.748, 6.242, 8.062",\
                 "1.11, 1.171, 1.37, 1.704, 2.186, 2.867, 3.793, 4.947, 6.375, 8.14",\
                 "1.301, 1.368, 1.589, 1.954, 2.463, 3.127, 4.035, 5.206, 6.613, 8.316");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1294, 0.1422, 0.1862, 0.2687, 0.3955, 0.5725, 0.8046, 1.097, 1.453, 1.877",\
                 "0.1412, 0.154, 0.198, 0.2805, 0.4074, 0.5843, 0.8165, 1.108, 1.465, 1.889",\
                 "0.1866, 0.2002, 0.2446, 0.3264, 0.453, 0.6297, 0.8618, 1.154, 1.51, 1.934",\
                 "0.2276, 0.2465, 0.3074, 0.409, 0.5446, 0.7207, 0.9517, 1.243, 1.599, 2.023",\
                 "0.2446, 0.269, 0.3469, 0.4758, 0.6477, 0.8562, 1.096, 1.386, 1.74, 2.164",\
                 "0.2341, 0.2641, 0.3597, 0.5171, 0.7243, 0.9756, 1.264, 1.586, 1.944, 2.365",\
                 "0.1947, 0.2299, 0.3424, 0.5287, 0.7737, 1.067, 1.403, 1.779, 2.19, 2.633",\
                 "0.1264, 0.1662, 0.2957, 0.5098, 0.7922, 1.129, 1.513, 1.94, 2.408, 2.915",\
                 "0.0272, 0.0714, 0.2169, 0.4569, 0.7766, 1.158, 1.591, 2.07, 2.594, 3.162",\
                 "-0.105, -0.0544, 0.1057, 0.3708, 0.7265, 1.152, 1.635, 2.168, 2.748, 3.374");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2875, 0.3185, 0.426, 0.6299, 0.945, 1.388, 1.971, 2.704, 3.597, 4.667",\
                 "0.299, 0.3304, 0.44, 0.6455, 0.963, 1.406, 1.991, 2.722, 3.618, 4.685",\
                 "0.3359, 0.3672, 0.4759, 0.6825, 1.001, 1.446, 2.03, 2.765, 3.661, 4.727",\
                 "0.411, 0.444, 0.5545, 0.7567, 1.072, 1.515, 2.098, 2.832, 3.728, 4.795",\
                 "0.5251, 0.5598, 0.6769, 0.89, 1.203, 1.639, 2.216, 2.947, 3.841, 4.907",\
                 "0.6806, 0.7194, 0.8456, 1.068, 1.396, 1.835, 2.403, 3.124, 4.01, 5.072",\
                 "0.8677, 0.9123, 1.055, 1.294, 1.635, 2.092, 2.668, 3.379, 4.255, 5.307",\
                 "1.086, 1.136, 1.298, 1.564, 1.928, 2.399, 2.996, 3.718, 4.584, 5.624",\
                 "1.333, 1.391, 1.574, 1.871, 2.266, 2.761, 3.374, 4.12, 5.002, 6.031",\
                 "1.613, 1.678, 1.883, 2.212, 2.646, 3.176, 3.811, 4.576, 5.484, 6.532");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1826, 0.2036, 0.2775, 0.4165, 0.6316, 0.9336, 1.331, 1.831, 2.439, 3.166",\
                 "0.1819, 0.2034, 0.2771, 0.4162, 0.632, 0.9332, 1.331, 1.83, 2.439, 3.166",\
                 "0.2039, 0.2206, 0.2828, 0.4153, 0.6312, 0.933, 1.33, 1.83, 2.439, 3.166",\
                 "0.2904, 0.3103, 0.3779, 0.4926, 0.6643, 0.9376, 1.331, 1.83, 2.439, 3.166",\
                 "0.4004, 0.4244, 0.503, 0.6372, 0.8238, 1.058, 1.381, 1.838, 2.44, 3.165",\
                 "0.5356, 0.5644, 0.6562, 0.809, 1.018, 1.285, 1.602, 1.986, 2.502, 3.175",\
                 "0.6934, 0.7286, 0.8362, 1.013, 1.246, 1.535, 1.889, 2.3, 2.763, 3.341",\
                 "0.8728, 0.9148, 1.043, 1.243, 1.505, 1.824, 2.204, 2.651, 3.159, 3.715",\
                 "1.078, 1.124, 1.273, 1.504, 1.799, 2.15, 2.558, 3.035, 3.582, 4.191",\
                 "1.303, 1.36, 1.528, 1.791, 2.125, 2.511, 2.955, 3.458, 4.037, 4.689");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3824, 0.4359, 0.6227, 0.9782, 1.531, 2.307, 3.33, 4.62, 6.193, 8.068",\
                 "0.3827, 0.4357, 0.6216, 0.9783, 1.532, 2.309, 3.332, 4.622, 6.187, 8.063",\
                 "0.3848, 0.4363, 0.6224, 0.978, 1.532, 2.306, 3.332, 4.615, 6.183, 8.06",\
                 "0.4355, 0.4821, 0.6471, 0.9804, 1.533, 2.31, 3.329, 4.624, 6.187, 8.055",\
                 "0.5074, 0.5554, 0.7248, 1.042, 1.551, 2.312, 3.331, 4.617, 6.197, 8.07",\
                 "0.6182, 0.663, 0.826, 1.147, 1.645, 2.357, 3.341, 4.621, 6.189, 8.072",\
                 "0.7598, 0.8078, 0.9684, 1.278, 1.78, 2.479, 3.413, 4.638, 6.198, 8.06",\
                 "0.9194, 0.9736, 1.148, 1.457, 1.942, 2.647, 3.57, 4.745, 6.241, 8.063",\
                 "1.097, 1.155, 1.348, 1.68, 2.156, 2.847, 3.777, 4.937, 6.371, 8.146",\
                 "1.284, 1.351, 1.565, 1.925, 2.422, 3.094, 4.008, 5.182, 6.599, 8.313");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2607, 0.279, 0.3424, 0.4608, 0.6425, 0.8951, 1.226, 1.642, 2.148, 2.753",\
                 "0.2708, 0.2891, 0.3526, 0.4709, 0.6526, 0.9053, 1.236, 1.652, 2.159, 2.763",\
                 "0.3107, 0.329, 0.3921, 0.5103, 0.6917, 0.9443, 1.275, 1.69, 2.197, 2.8",\
                 "0.3879, 0.4077, 0.4742, 0.5913, 0.7711, 1.023, 1.352, 1.767, 2.273, 2.877",\
                 "0.4531, 0.4769, 0.5583, 0.6995, 0.8975, 1.15, 1.478, 1.89, 2.395, 2.997",\
                 "0.4991, 0.5273, 0.6231, 0.788, 1.02, 1.312, 1.659, 2.07, 2.572, 3.171",\
                 "0.5221, 0.5554, 0.6661, 0.8572, 1.121, 1.454, 1.849, 2.301, 2.812, 3.407",\
                 "0.5233, 0.5603, 0.6872, 0.9041, 1.203, 1.575, 2.015, 2.521, 3.087, 3.71",\
                 "0.4981, 0.5419, 0.6823, 0.9256, 1.26, 1.674, 2.16, 2.715, 3.338, 4.025",\
                 "0.4494, 0.4953, 0.6524, 0.9215, 1.291, 1.748, 2.282, 2.886, 3.564, 4.311");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2875, 0.3185, 0.426, 0.6299, 0.945, 1.388, 1.971, 2.704, 3.597, 4.667",\
                 "0.299, 0.3304, 0.44, 0.6455, 0.963, 1.406, 1.991, 2.722, 3.618, 4.685",\
                 "0.3359, 0.3672, 0.4759, 0.6825, 1.001, 1.446, 2.03, 2.765, 3.661, 4.727",\
                 "0.411, 0.444, 0.5545, 0.7567, 1.072, 1.515, 2.098, 2.832, 3.728, 4.795",\
                 "0.5251, 0.5598, 0.6769, 0.89, 1.203, 1.639, 2.216, 2.947, 3.841, 4.907",\
                 "0.6806, 0.7194, 0.8456, 1.068, 1.396, 1.835, 2.403, 3.124, 4.01, 5.072",\
                 "0.8677, 0.9123, 1.055, 1.294, 1.635, 2.092, 2.668, 3.379, 4.255, 5.307",\
                 "1.086, 1.136, 1.298, 1.564, 1.928, 2.399, 2.996, 3.718, 4.584, 5.624",\
                 "1.333, 1.391, 1.574, 1.871, 2.266, 2.761, 3.374, 4.12, 5.002, 6.031",\
                 "1.613, 1.678, 1.883, 2.212, 2.646, 3.176, 3.811, 4.576, 5.484, 6.532");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3753, 0.4063, 0.5142, 0.7159, 1.027, 1.461, 2.031, 2.745, 3.619, 4.659",\
                 "0.3747, 0.4063, 0.5143, 0.716, 1.026, 1.461, 2.031, 2.745, 3.619, 4.659",\
                 "0.3678, 0.4003, 0.5114, 0.7148, 1.026, 1.461, 2.03, 2.745, 3.619, 4.659",\
                 "0.4198, 0.4487, 0.5434, 0.7245, 1.025, 1.46, 2.029, 2.745, 3.619, 4.661",\
                 "0.525, 0.5564, 0.6604, 0.8442, 1.107, 1.488, 2.029, 2.745, 3.619, 4.66",\
                 "0.6642, 0.6988, 0.8114, 1.009, 1.294, 1.661, 2.136, 2.775, 3.619, 4.658",\
                 "0.8336, 0.8732, 0.999, 1.21, 1.513, 1.906, 2.395, 2.978, 3.726, 4.685",\
                 "1.031, 1.076, 1.217, 1.45, 1.77, 2.185, 2.701, 3.315, 4.025, 4.891",\
                 "1.247, 1.3, 1.461, 1.726, 2.074, 2.511, 3.045, 3.69, 4.439, 5.286",\
                 "1.486, 1.544, 1.732, 2.027, 2.413, 2.878, 3.436, 4.103, 4.886, 5.78");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6079, 0.6631, 0.8544, 1.215, 1.771, 2.548, 3.569, 4.858, 6.429, 8.307",\
                 "0.608, 0.6628, 0.8543, 1.215, 1.771, 2.548, 3.57, 4.858, 6.432, 8.298",\
                 "0.6097, 0.6638, 0.8544, 1.215, 1.77, 2.549, 3.57, 4.86, 6.429, 8.301",\
                 "0.6632, 0.7094, 0.8783, 1.218, 1.771, 2.549, 3.57, 4.856, 6.428, 8.296",\
                 "0.768, 0.813, 0.9722, 1.281, 1.792, 2.55, 3.571, 4.861, 6.428, 8.301",\
                 "0.9154, 0.9552, 1.102, 1.408, 1.891, 2.598, 3.578, 4.859, 6.432, 8.305",\
                 "1.112, 1.148, 1.283, 1.569, 2.048, 2.732, 3.659, 4.883, 6.432, 8.303",\
                 "1.332, 1.371, 1.51, 1.784, 2.242, 2.924, 3.827, 4.994, 6.478, 8.308",\
                 "1.576, 1.616, 1.764, 2.05, 2.496, 3.154, 4.062, 5.2, 6.625, 8.383",\
                 "1.832, 1.878, 2.038, 2.343, 2.801, 3.442, 4.327, 5.475, 6.868, 8.57");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2943, 0.3124, 0.3755, 0.4933, 0.6742, 0.9262, 1.256, 1.672, 2.178, 2.781",\
                 "0.3075, 0.326, 0.389, 0.5072, 0.6884, 0.9404, 1.271, 1.686, 2.192, 2.795",\
                 "0.3387, 0.3571, 0.4206, 0.5392, 0.7209, 0.9734, 1.304, 1.72, 2.226, 2.829",\
                 "0.3811, 0.4014, 0.4693, 0.5909, 0.7726, 1.025, 1.356, 1.771, 2.278, 2.881",\
                 "0.4134, 0.4365, 0.5145, 0.652, 0.8491, 1.107, 1.438, 1.852, 2.358, 2.961",\
                 "0.4209, 0.4489, 0.5419, 0.7007, 0.9216, 1.205, 1.552, 1.97, 2.475, 3.077",\
                 "0.3944, 0.4279, 0.5375, 0.7242, 0.9773, 1.291, 1.669, 2.114, 2.631, 3.232",\
                 "0.3301, 0.369, 0.4964, 0.7124, 1.003, 1.358, 1.772, 2.251, 2.802, 3.427",\
                 "0.2258, 0.2696, 0.4146, 0.6606, 0.991, 1.391, 1.853, 2.374, 2.962, 3.624",\
                 "0.0811, 0.1304, 0.2912, 0.566, 0.9371, 1.385, 1.899, 2.472, 3.105, 3.809");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4117, 0.4432, 0.552, 0.7583, 1.078, 1.524, 2.11, 2.848, 3.747, 4.817",\
                 "0.4232, 0.4545, 0.564, 0.771, 1.091, 1.538, 2.124, 2.862, 3.761, 4.831",\
                 "0.4735, 0.5053, 0.6144, 0.8217, 1.142, 1.589, 2.176, 2.914, 3.814, 4.883",\
                 "0.5937, 0.624, 0.7307, 0.9345, 1.251, 1.697, 2.282, 3.019, 3.918, 4.988",\
                 "0.7789, 0.813, 0.9266, 1.129, 1.44, 1.879, 2.46, 3.193, 4.088, 5.157",\
                 "1.004, 1.041, 1.169, 1.397, 1.72, 2.152, 2.724, 3.451, 4.341, 5.404",\
                 "1.276, 1.316, 1.456, 1.705, 2.064, 2.522, 3.09, 3.807, 4.688, 5.742",\
                 "1.592, 1.639, 1.793, 2.063, 2.45, 2.952, 3.556, 4.272, 5.141, 6.186",\
                 "1.956, 2.007, 2.18, 2.475, 2.889, 3.426, 4.081, 4.841, 5.713, 6.745",\
                 "2.366, 2.424, 2.614, 2.94, 3.387, 3.955, 4.65, 5.466, 6.39, 7.428");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3268, 0.3576, 0.4643, 0.6647, 0.9737, 1.408, 1.976, 2.691, 3.563, 4.604",\
                 "0.3269, 0.3574, 0.4641, 0.6647, 0.9746, 1.407, 1.976, 2.691, 3.564, 4.601",\
                 "0.3275, 0.3581, 0.4637, 0.664, 0.9744, 1.408, 1.977, 2.691, 3.563, 4.603",\
                 "0.375, 0.4028, 0.497, 0.6795, 0.9766, 1.407, 1.976, 2.69, 3.563, 4.604",\
                 "0.4668, 0.493, 0.5892, 0.7688, 1.041, 1.434, 1.979, 2.69, 3.563, 4.604",\
                 "0.6012, 0.6312, 0.7262, 0.904, 1.176, 1.558, 2.058, 2.723, 3.568, 4.603",\
                 "0.7692, 0.8004, 0.9078, 1.09, 1.362, 1.739, 2.237, 2.861, 3.649, 4.634",\
                 "0.959, 0.9964, 1.115, 1.317, 1.6, 1.975, 2.468, 3.091, 3.851, 4.774",\
                 "1.168, 1.207, 1.345, 1.569, 1.879, 2.267, 2.759, 3.376, 4.133, 5.04",\
                 "1.395, 1.444, 1.592, 1.846, 2.186, 2.607, 3.112, 3.727, 4.476, 5.378");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.8246, 0.8785, 1.068, 1.427, 1.984, 2.762, 3.788, 5.074, 6.648, 8.515",\
                 "0.8245, 0.8783, 1.068, 1.427, 1.985, 2.764, 3.786, 5.075, 6.647, 8.519",\
                 "0.8243, 0.8784, 1.068, 1.427, 1.984, 2.764, 3.786, 5.076, 6.646, 8.52",\
                 "0.8409, 0.8903, 1.07, 1.427, 1.984, 2.764, 3.788, 5.076, 6.646, 8.52",\
                 "0.9522, 0.9964, 1.152, 1.463, 1.988, 2.763, 3.788, 5.075, 6.647, 8.518",\
                 "1.103, 1.149, 1.314, 1.614, 2.08, 2.785, 3.788, 5.076, 6.649, 8.52",\
                 "1.272, 1.319, 1.491, 1.814, 2.288, 2.936, 3.844, 5.082, 6.649, 8.522",\
                 "1.476, 1.524, 1.697, 2.029, 2.535, 3.202, 4.052, 5.182, 6.667, 8.523",\
                 "1.712, 1.763, 1.94, 2.275, 2.792, 3.505, 4.376, 5.446, 6.816, 8.564",\
                 "1.971, 2.026, 2.214, 2.557, 3.083, 3.811, 4.74, 5.832, 7.138, 8.764");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2495, 0.2675, 0.3295, 0.4461, 0.6261, 0.8771, 1.207, 1.621, 2.127, 2.729",\
                 "0.2625, 0.2805, 0.3431, 0.4601, 0.6402, 0.8913, 1.221, 1.636, 2.141, 2.745",\
                 "0.293, 0.3113, 0.3742, 0.4919, 0.6725, 0.9242, 1.254, 1.669, 2.175, 2.778",\
                 "0.3281, 0.349, 0.4189, 0.5427, 0.7242, 0.9758, 1.306, 1.721, 2.227, 2.83",\
                 "0.3483, 0.3733, 0.4558, 0.5971, 0.7973, 1.058, 1.387, 1.802, 2.307, 2.909",\
                 "0.3406, 0.3712, 0.4707, 0.6375, 0.864, 1.151, 1.501, 1.92, 2.424, 3.025",\
                 "0.2971, 0.3337, 0.4524, 0.6491, 0.9116, 1.232, 1.613, 2.061, 2.58, 3.181",\
                 "0.2164, 0.2588, 0.3967, 0.6249, 0.9271, 1.291, 1.712, 2.195, 2.748, 3.374",\
                 "0.0971, 0.1453, 0.3003, 0.5607, 0.9048, 1.316, 1.786, 2.313, 2.905, 3.569",\
                 "-0.0643, -0.01, 0.1641, 0.4537, 0.8401, 1.301, 1.824, 2.405, 3.044, 3.75");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4037, 0.4347, 0.5436, 0.7496, 1.068, 1.513, 2.097, 2.833, 3.73, 4.798",\
                 "0.4149, 0.4464, 0.5559, 0.7623, 1.081, 1.526, 2.111, 2.847, 3.744, 4.812",\
                 "0.4652, 0.4967, 0.6059, 0.8127, 1.132, 1.578, 2.163, 2.899, 3.796, 4.865",\
                 "0.5856, 0.616, 0.7225, 0.9258, 1.242, 1.685, 2.269, 3.004, 3.901, 4.969",\
                 "0.7688, 0.8031, 0.9175, 1.121, 1.43, 1.868, 2.447, 3.178, 4.071, 5.138",\
                 "0.9913, 1.029, 1.158, 1.387, 1.71, 2.141, 2.711, 3.435, 4.323, 5.385",\
                 "1.26, 1.302, 1.442, 1.693, 2.052, 2.511, 3.077, 3.792, 4.671, 5.724",\
                 "1.574, 1.621, 1.777, 2.049, 2.436, 2.938, 3.542, 4.257, 5.124, 6.168",\
                 "1.933, 1.986, 2.161, 2.458, 2.873, 3.41, 4.064, 4.824, 5.696, 6.727",\
                 "2.338, 2.397, 2.59, 2.919, 3.369, 3.937, 4.632, 5.448, 6.372, 7.41");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2769, 0.307, 0.4128, 0.6112, 0.9206, 1.353, 1.92, 2.635, 3.507, 4.546",\
                 "0.2769, 0.3074, 0.4127, 0.6122, 0.9206, 1.353, 1.92, 2.635, 3.507, 4.545",\
                 "0.2801, 0.3092, 0.4133, 0.6118, 0.9202, 1.353, 1.92, 2.635, 3.507, 4.547",\
                 "0.3365, 0.3637, 0.4573, 0.6345, 0.9246, 1.353, 1.921, 2.635, 3.506, 4.547",\
                 "0.4336, 0.4604, 0.553, 0.7288, 0.9996, 1.387, 1.927, 2.634, 3.507, 4.547",\
                 "0.5738, 0.6028, 0.6982, 0.8698, 1.14, 1.516, 2.013, 2.671, 3.513, 4.546",\
                 "0.7418, 0.7732, 0.878, 1.061, 1.329, 1.701, 2.194, 2.816, 3.6, 4.579",\
                 "0.9304, 0.9666, 1.085, 1.288, 1.57, 1.941, 2.428, 3.048, 3.806, 4.725",\
                 "1.138, 1.18, 1.314, 1.542, 1.848, 2.237, 2.724, 3.337, 4.092, 4.997",\
                 "1.363, 1.409, 1.562, 1.814, 2.155, 2.577, 3.078, 3.689, 4.438, 5.334");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6991, 0.7535, 0.9444, 1.304, 1.861, 2.64, 3.663, 4.952, 6.526, 8.392",\
                 "0.6991, 0.7535, 0.9439, 1.304, 1.862, 2.64, 3.662, 4.952, 6.523, 8.395",\
                 "0.6988, 0.7537, 0.9444, 1.304, 1.861, 2.64, 3.664, 4.951, 6.521, 8.398",\
                 "0.7156, 0.766, 0.9465, 1.304, 1.862, 2.641, 3.665, 4.952, 6.523, 8.395",\
                 "0.8242, 0.8698, 1.029, 1.34, 1.865, 2.641, 3.663, 4.952, 6.525, 8.395",\
                 "0.9548, 1.004, 1.179, 1.488, 1.957, 2.663, 3.666, 4.953, 6.525, 8.398",\
                 "1.106, 1.159, 1.341, 1.676, 2.163, 2.812, 3.722, 4.96, 6.524, 8.398",\
                 "1.293, 1.348, 1.532, 1.877, 2.399, 3.077, 3.928, 5.06, 6.543, 8.398",\
                 "1.505, 1.563, 1.758, 2.109, 2.641, 3.364, 4.251, 5.323, 6.693, 8.44",\
                 "1.739, 1.8, 2.015, 2.378, 2.919, 3.661, 4.605, 5.705, 7.016, 8.644");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2138, 0.2291, 0.2824, 0.3824, 0.5365, 0.7513, 1.033, 1.388, 1.821, 2.337",\
                 "0.2276, 0.2431, 0.2967, 0.397, 0.5513, 0.7664, 1.048, 1.403, 1.836, 2.352",\
                 "0.2603, 0.276, 0.3299, 0.4306, 0.5854, 0.8008, 1.083, 1.438, 1.871, 2.387",\
                 "0.2923, 0.3109, 0.3729, 0.4818, 0.639, 0.8543, 1.137, 1.492, 1.924, 2.441",\
                 "0.3044, 0.3273, 0.4022, 0.5295, 0.7069, 0.9361, 1.221, 1.575, 2.007, 2.523",\
                 "0.284, 0.3124, 0.4047, 0.5572, 0.7621, 1.018, 1.327, 1.694, 2.127, 2.641",\
                 "0.2242, 0.2585, 0.3688, 0.5517, 0.7928, 1.083, 1.424, 1.822, 2.279, 2.799",\
                 "0.1241, 0.1637, 0.2926, 0.5059, 0.7862, 1.121, 1.503, 1.936, 2.427, 2.98",\
                 "-0.0193, 0.0262, 0.1726, 0.4156, 0.7366, 1.118, 1.549, 2.028, 2.559, 3.15",\
                 "-0.2091, -0.1582, 0.0072, 0.2795, 0.6402, 1.07, 1.554, 2.087, 2.668, 3.301");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4023, 0.4335, 0.5422, 0.7482, 1.067, 1.512, 2.096, 2.831, 3.728, 4.797",\
                 "0.4119, 0.4434, 0.5529, 0.7594, 1.078, 1.523, 2.108, 2.844, 3.741, 4.809",\
                 "0.4624, 0.4939, 0.6031, 0.8097, 1.129, 1.574, 2.159, 2.895, 3.792, 4.861",\
                 "0.5853, 0.6159, 0.722, 0.9246, 1.24, 1.683, 2.266, 3.001, 3.898, 4.965",\
                 "0.7736, 0.8078, 0.921, 1.123, 1.431, 1.868, 2.446, 3.176, 4.069, 5.135",\
                 "1.003, 1.04, 1.168, 1.395, 1.716, 2.146, 2.715, 3.437, 4.325, 5.385",\
                 "1.281, 1.323, 1.461, 1.709, 2.065, 2.522, 3.086, 3.798, 4.676, 5.728",\
                 "1.609, 1.656, 1.809, 2.076, 2.46, 2.958, 3.559, 4.27, 5.136, 6.177",\
                 "1.986, 2.038, 2.209, 2.501, 2.91, 3.443, 4.092, 4.848, 5.716, 6.745",\
                 "2.414, 2.472, 2.661, 2.983, 3.424, 3.987, 4.676, 5.485, 6.403, 7.438");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2287, 0.2544, 0.3442, 0.514, 0.7773, 1.145, 1.63, 2.238, 2.982, 3.866",\
                 "0.2288, 0.2549, 0.3443, 0.5141, 0.7766, 1.145, 1.629, 2.238, 2.982, 3.867",\
                 "0.2344, 0.258, 0.345, 0.5141, 0.7764, 1.146, 1.63, 2.239, 2.981, 3.868",\
                 "0.2936, 0.3168, 0.3961, 0.5445, 0.7869, 1.147, 1.63, 2.237, 2.982, 3.868",\
                 "0.391, 0.4146, 0.4944, 0.644, 0.8738, 1.197, 1.645, 2.24, 2.983, 3.868",\
                 "0.5264, 0.5522, 0.6362, 0.7864, 1.014, 1.335, 1.756, 2.301, 3.001, 3.869",\
                 "0.6862, 0.7154, 0.8108, 0.9746, 1.206, 1.524, 1.943, 2.474, 3.123, 3.935",\
                 "0.8666, 0.8996, 1.01, 1.194, 1.445, 1.768, 2.183, 2.708, 3.356, 4.124",\
                 "1.066, 1.103, 1.226, 1.434, 1.712, 2.06, 2.484, 3.004, 3.646, 4.414",\
                 "1.283, 1.326, 1.464, 1.697, 2.008, 2.386, 2.833, 3.36, 3.998, 4.763");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6992, 0.7537, 0.9444, 1.304, 1.862, 2.64, 3.663, 4.953, 6.523, 8.397",\
                 "0.6991, 0.7537, 0.9439, 1.304, 1.861, 2.64, 3.663, 4.952, 6.524, 8.398",\
                 "0.6987, 0.7537, 0.944, 1.304, 1.862, 2.64, 3.664, 4.952, 6.525, 8.394",\
                 "0.716, 0.7657, 0.9463, 1.304, 1.862, 2.64, 3.664, 4.954, 6.522, 8.397",\
                 "0.8208, 0.8668, 1.026, 1.34, 1.865, 2.641, 3.665, 4.953, 6.525, 8.397",\
                 "0.9448, 0.9958, 1.173, 1.483, 1.954, 2.662, 3.664, 4.953, 6.527, 8.398",\
                 "1.09, 1.142, 1.327, 1.665, 2.154, 2.808, 3.719, 4.958, 6.525, 8.398",\
                 "1.267, 1.32, 1.507, 1.856, 2.38, 3.063, 3.92, 5.054, 6.544, 8.397",\
                 "1.471, 1.527, 1.721, 2.075, 2.615, 3.345, 4.232, 5.311, 6.686, 8.438",\
                 "1.692, 1.755, 1.962, 2.331, 2.879, 3.636, 4.575, 5.683, 7, 8.636");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2488, 0.2668, 0.3287, 0.4452, 0.625, 0.8759, 1.206, 1.62, 2.126, 2.729",\
                 "0.2618, 0.2798, 0.3422, 0.4592, 0.6392, 0.8901, 1.22, 1.634, 2.14, 2.742",\
                 "0.2923, 0.3105, 0.3734, 0.491, 0.6716, 0.9231, 1.253, 1.668, 2.174, 2.776",\
                 "0.3272, 0.3481, 0.4181, 0.5418, 0.7233, 0.9748, 1.305, 1.72, 2.226, 2.828",\
                 "0.3473, 0.3723, 0.4548, 0.5962, 0.7964, 1.057, 1.386, 1.8, 2.306, 2.908",\
                 "0.3392, 0.3698, 0.4698, 0.6365, 0.8629, 1.15, 1.5, 1.919, 2.423, 3.024",\
                 "0.2954, 0.3321, 0.4509, 0.6479, 0.9105, 1.231, 1.612, 2.06, 2.579, 3.18",\
                 "0.2144, 0.2569, 0.395, 0.624, 0.9259, 1.29, 1.711, 2.194, 2.747, 3.374",\
                 "0.0949, 0.143, 0.2989, 0.559, 0.9036, 1.315, 1.785, 2.312, 2.904, 3.568",\
                 "-0.0668, -0.0124, 0.1623, 0.4519, 0.8384, 1.3, 1.824, 2.405, 3.043, 3.749");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4036, 0.4347, 0.5436, 0.7496, 1.068, 1.513, 2.097, 2.833, 3.73, 4.798",\
                 "0.415, 0.4464, 0.5558, 0.7624, 1.081, 1.526, 2.111, 2.847, 3.744, 4.812",\
                 "0.4656, 0.4966, 0.6059, 0.8128, 1.132, 1.578, 2.163, 2.899, 3.796, 4.864",\
                 "0.5856, 0.616, 0.7226, 0.9258, 1.242, 1.686, 2.269, 3.004, 3.901, 4.969",\
                 "0.769, 0.8033, 0.9176, 1.12, 1.43, 1.868, 2.447, 3.178, 4.072, 5.138",\
                 "0.9912, 1.03, 1.158, 1.386, 1.71, 2.141, 2.712, 3.435, 4.324, 5.385",\
                 "1.259, 1.302, 1.442, 1.693, 2.052, 2.511, 3.077, 3.792, 4.671, 5.724",\
                 "1.574, 1.621, 1.777, 2.049, 2.436, 2.938, 3.542, 4.256, 5.124, 6.167",\
                 "1.932, 1.985, 2.16, 2.458, 2.872, 3.41, 4.064, 4.823, 5.696, 6.727",\
                 "2.338, 2.397, 2.59, 2.919, 3.369, 3.938, 4.632, 5.448, 6.371, 7.411");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2757, 0.306, 0.4116, 0.61, 0.9186, 1.351, 1.919, 2.633, 3.505, 4.543",\
                 "0.2759, 0.306, 0.4115, 0.6109, 0.9194, 1.352, 1.919, 2.633, 3.504, 4.541",\
                 "0.279, 0.3082, 0.4121, 0.6103, 0.9194, 1.352, 1.918, 2.633, 3.505, 4.543",\
                 "0.3363, 0.363, 0.4565, 0.6334, 0.9236, 1.352, 1.919, 2.633, 3.504, 4.546",\
                 "0.4332, 0.46, 0.5534, 0.7278, 0.9986, 1.385, 1.925, 2.633, 3.505, 4.545",\
                 "0.5736, 0.6022, 0.696, 0.8694, 1.137, 1.515, 2.011, 2.67, 3.511, 4.544",\
                 "0.7412, 0.7726, 0.878, 1.06, 1.328, 1.7, 2.192, 2.814, 3.599, 4.577",\
                 "0.9294, 0.9664, 1.087, 1.287, 1.57, 1.94, 2.427, 3.047, 3.805, 4.723",\
                 "1.137, 1.178, 1.312, 1.542, 1.849, 2.237, 2.724, 3.336, 4.091, 4.993",\
                 "1.364, 1.409, 1.559, 1.816, 2.155, 2.575, 3.079, 3.692, 4.436, 5.335");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6968, 0.7515, 0.9417, 1.302, 1.858, 2.637, 3.661, 4.947, 6.521, 8.389",\
                 "0.6967, 0.7515, 0.9418, 1.302, 1.859, 2.638, 3.66, 4.949, 6.522, 8.394",\
                 "0.6966, 0.7514, 0.9417, 1.302, 1.858, 2.638, 3.661, 4.949, 6.518, 8.393",\
                 "0.7136, 0.7635, 0.9442, 1.301, 1.858, 2.638, 3.661, 4.951, 6.521, 8.392",\
                 "0.8212, 0.8672, 1.026, 1.338, 1.863, 2.638, 3.661, 4.951, 6.522, 8.393",\
                 "0.9516, 1.003, 1.176, 1.486, 1.954, 2.66, 3.663, 4.949, 6.523, 8.395",\
                 "1.103, 1.157, 1.337, 1.677, 2.16, 2.81, 3.719, 4.956, 6.521, 8.395",\
                 "1.289, 1.343, 1.529, 1.873, 2.394, 3.073, 3.926, 5.058, 6.54, 8.396",\
                 "1.5, 1.558, 1.754, 2.106, 2.639, 3.361, 4.246, 5.32, 6.689, 8.437",\
                 "1.732, 1.795, 2.007, 2.374, 2.917, 3.66, 4.6, 5.702, 7.011, 8.64");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2068, 0.2241, 0.2845, 0.3991, 0.5775, 0.8271, 1.155, 1.569, 2.074, 2.677",\
                 "0.2193, 0.2367, 0.2977, 0.4128, 0.5912, 0.8413, 1.17, 1.585, 2.09, 2.691",\
                 "0.2478, 0.2661, 0.3282, 0.4446, 0.6235, 0.8743, 1.203, 1.618, 2.123, 2.726",\
                 "0.2722, 0.2943, 0.3668, 0.4931, 0.6753, 0.926, 1.255, 1.669, 2.174, 2.777",\
                 "0.2768, 0.3045, 0.3932, 0.5402, 0.7443, 1.007, 1.337, 1.75, 2.255, 2.856",\
                 "0.2504, 0.2849, 0.3934, 0.5702, 0.804, 1.095, 1.448, 1.868, 2.372, 2.973",\
                 "0.1874, 0.2292, 0.3594, 0.5692, 0.8427, 1.171, 1.556, 2.007, 2.528, 3.129",\
                 "0.0894, 0.1369, 0.2878, 0.5322, 0.8479, 1.222, 1.649, 2.137, 2.692, 3.322",\
                 "-0.0478, 0.0063, 0.1769, 0.454, 0.8149, 1.238, 1.717, 2.25, 2.846, 3.512",\
                 "-0.2261, -0.1659, 0.0253, 0.3346, 0.738, 1.214, 1.747, 2.337, 2.981, 3.691");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3958, 0.4272, 0.5361, 0.7417, 1.06, 1.504, 2.088, 2.819, 3.716, 4.787",\
                 "0.4072, 0.4387, 0.5481, 0.7545, 1.073, 1.517, 2.102, 2.836, 3.728, 4.798",\
                 "0.4574, 0.4889, 0.5983, 0.8049, 1.123, 1.569, 2.153, 2.887, 3.781, 4.849",\
                 "0.5777, 0.6081, 0.7145, 0.9172, 1.233, 1.676, 2.258, 2.992, 3.885, 4.952",\
                 "0.7594, 0.7938, 0.9092, 1.112, 1.421, 1.858, 2.436, 3.164, 4.059, 5.126",\
                 "0.9795, 1.018, 1.147, 1.376, 1.7, 2.131, 2.7, 3.423, 4.309, 5.368",\
                 "1.245, 1.288, 1.43, 1.68, 2.04, 2.499, 3.064, 3.778, 4.656, 5.708",\
                 "1.556, 1.604, 1.762, 2.035, 2.422, 2.924, 3.529, 4.242, 5.108, 6.15",\
                 "1.911, 1.965, 2.14, 2.441, 2.857, 3.394, 4.049, 4.809, 5.679, 6.709",\
                 "2.312, 2.373, 2.568, 2.899, 3.35, 3.92, 4.614, 5.43, 6.354, 7.392");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.226, 0.2543, 0.3586, 0.5568, 0.8659, 1.295, 1.863, 2.578, 3.451, 4.493",\
                 "0.2249, 0.2543, 0.3595, 0.5568, 0.8647, 1.296, 1.864, 2.58, 3.451, 4.49",\
                 "0.2355, 0.2623, 0.361, 0.5576, 0.8661, 1.297, 1.863, 2.578, 3.451, 4.494",\
                 "0.2997, 0.3256, 0.417, 0.5895, 0.8743, 1.298, 1.864, 2.578, 3.452, 4.49",\
                 "0.4053, 0.4303, 0.519, 0.6894, 0.9584, 1.339, 1.872, 2.576, 3.449, 4.489",\
                 "0.5494, 0.5766, 0.6704, 0.8382, 1.1, 1.473, 1.966, 2.623, 3.461, 4.489",\
                 "0.7182, 0.7498, 0.8534, 1.034, 1.296, 1.661, 2.152, 2.77, 3.549, 4.524",\
                 "0.908, 0.9432, 1.062, 1.26, 1.541, 1.91, 2.391, 3.005, 3.762, 4.676",\
                 "1.118, 1.154, 1.286, 1.512, 1.819, 2.21, 2.69, 3.298, 4.049, 4.949",\
                 "1.339, 1.383, 1.531, 1.787, 2.128, 2.549, 3.046, 3.656, 4.398, 5.291");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.579, 0.634, 0.8234, 1.181, 1.738, 2.517, 3.542, 4.825, 6.405, 8.279",\
                 "0.5797, 0.6333, 0.8232, 1.182, 1.737, 2.517, 3.541, 4.831, 6.4, 8.273",\
                 "0.5787, 0.6335, 0.8227, 1.18, 1.737, 2.516, 3.541, 4.831, 6.398, 8.274",\
                 "0.5951, 0.6445, 0.824, 1.181, 1.737, 2.516, 3.541, 4.828, 6.398, 8.271",\
                 "0.6944, 0.7434, 0.905, 1.216, 1.74, 2.516, 3.54, 4.83, 6.403, 8.277",\
                 "0.804, 0.8586, 1.04, 1.362, 1.832, 2.537, 3.539, 4.828, 6.402, 8.278",\
                 "0.9388, 0.995, 1.187, 1.535, 2.035, 2.688, 3.595, 4.833, 6.4, 8.275",\
                 "1.101, 1.162, 1.361, 1.721, 2.254, 2.947, 3.803, 4.933, 6.417, 8.273",\
                 "1.286, 1.354, 1.566, 1.939, 2.489, 3.223, 4.122, 5.197, 6.57, 8.315",\
                 "1.487, 1.559, 1.795, 2.193, 2.754, 3.513, 4.464, 5.579, 6.887, 8.516");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1786, 0.1932, 0.2447, 0.3431, 0.4951, 0.7088, 0.99, 1.344, 1.776, 2.291",\
                 "0.1918, 0.207, 0.259, 0.3572, 0.51, 0.7244, 1.005, 1.359, 1.792, 2.307",\
                 "0.2222, 0.238, 0.2914, 0.3907, 0.5441, 0.7584, 1.039, 1.394, 1.827, 2.342",\
                 "0.243, 0.2629, 0.3275, 0.4388, 0.5975, 0.8118, 1.094, 1.448, 1.88, 2.395",\
                 "0.2393, 0.2648, 0.346, 0.4789, 0.6604, 0.892, 1.177, 1.531, 1.963, 2.478",\
                 "0.2007, 0.2328, 0.3338, 0.4964, 0.7087, 0.9689, 1.281, 1.65, 2.082, 2.596",\
                 "0.1227, 0.161, 0.283, 0.4782, 0.73, 1.028, 1.374, 1.774, 2.233, 2.755",\
                 "0.0051, 0.05, 0.1911, 0.4193, 0.7129, 1.057, 1.447, 1.884, 2.378, 2.933",\
                 "-0.1564, -0.1055, 0.0568, 0.3164, 0.6527, 1.046, 1.486, 1.972, 2.506, 3.1",\
                 "-0.3621, -0.3054, -0.1238, 0.1686, 0.5452, 0.9887, 1.483, 2.024, 2.611, 3.248");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3946, 0.4258, 0.5348, 0.7404, 1.058, 1.502, 2.086, 2.818, 3.715, 4.78",\
                 "0.4042, 0.4356, 0.545, 0.7515, 1.069, 1.514, 2.099, 2.832, 3.727, 4.794",\
                 "0.4546, 0.4861, 0.5953, 0.8017, 1.12, 1.565, 2.149, 2.883, 3.777, 4.844",\
                 "0.5775, 0.6081, 0.7139, 0.9161, 1.231, 1.674, 2.255, 2.988, 3.882, 4.953",\
                 "0.7635, 0.7983, 0.9122, 1.115, 1.422, 1.858, 2.435, 3.163, 4.056, 5.119",\
                 "0.9911, 1.029, 1.157, 1.385, 1.706, 2.135, 2.703, 3.423, 4.31, 5.368",\
                 "1.267, 1.309, 1.449, 1.697, 2.054, 2.511, 3.074, 3.784, 4.66, 5.712",\
                 "1.592, 1.639, 1.794, 2.062, 2.446, 2.945, 3.545, 4.255, 5.12, 6.16",\
                 "1.964, 2.018, 2.191, 2.484, 2.896, 3.427, 4.077, 4.832, 5.699, 6.727",\
                 "2.389, 2.447, 2.638, 2.962, 3.406, 3.969, 4.658, 5.467, 6.386, 7.421");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.185, 0.2103, 0.2992, 0.4683, 0.7291, 1.099, 1.582, 2.192, 2.934, 3.814",\
                 "0.1852, 0.2101, 0.2985, 0.467, 0.7309, 1.097, 1.581, 2.191, 2.934, 3.823",\
                 "0.199, 0.2213, 0.3024, 0.4681, 0.7301, 1.097, 1.584, 2.191, 2.934, 3.821",\
                 "0.2632, 0.2851, 0.363, 0.509, 0.7449, 1.099, 1.58, 2.192, 2.932, 3.818",\
                 "0.3682, 0.3906, 0.4668, 0.612, 0.8392, 1.158, 1.602, 2.194, 2.933, 3.82",\
                 "0.506, 0.5308, 0.6136, 0.7618, 0.9834, 1.301, 1.719, 2.259, 2.955, 3.822",\
                 "0.6666, 0.695, 0.7886, 0.9512, 1.181, 1.494, 1.909, 2.435, 3.082, 3.891",\
                 "0.8486, 0.8804, 0.9884, 1.171, 1.42, 1.741, 2.153, 2.676, 3.318, 4.083",\
                 "1.048, 1.086, 1.204, 1.412, 1.69, 2.036, 2.456, 2.972, 3.609, 4.379",\
                 "1.259, 1.305, 1.444, 1.672, 1.983, 2.36, 2.81, 3.337, 3.964, 4.723");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.58, 0.6336, 0.8232, 1.182, 1.738, 2.517, 3.542, 4.827, 6.4, 8.27",\
                 "0.5797, 0.6333, 0.8233, 1.182, 1.737, 2.517, 3.541, 4.828, 6.399, 8.275",\
                 "0.5784, 0.6326, 0.8225, 1.182, 1.738, 2.516, 3.541, 4.827, 6.398, 8.271",\
                 "0.5949, 0.6447, 0.8243, 1.181, 1.737, 2.516, 3.54, 4.828, 6.399, 8.279",\
                 "0.6912, 0.7406, 0.9024, 1.215, 1.74, 2.516, 3.54, 4.829, 6.403, 8.279",\
                 "0.796, 0.8514, 1.036, 1.357, 1.829, 2.536, 3.54, 4.827, 6.402, 8.278",\
                 "0.9254, 0.9798, 1.174, 1.525, 2.027, 2.682, 3.593, 4.833, 6.4, 8.275",\
                 "1.079, 1.139, 1.339, 1.7, 2.24, 2.934, 3.794, 4.928, 6.416, 8.275",\
                 "1.253, 1.321, 1.535, 1.907, 2.461, 3.204, 4.104, 5.184, 6.561, 8.313",\
                 "1.447, 1.521, 1.751, 2.147, 2.711, 3.478, 4.437, 5.556, 6.874, 8.512");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2133, 0.2282, 0.2803, 0.3776, 0.5275, 0.737, 1.012, 1.357, 1.778, 2.28",\
                 "0.2261, 0.2415, 0.2937, 0.3913, 0.5415, 0.7509, 1.026, 1.371, 1.792, 2.294",\
                 "0.2644, 0.2796, 0.3325, 0.4309, 0.5815, 0.791, 1.066, 1.412, 1.833, 2.336",\
                 "0.3114, 0.3307, 0.3939, 0.5022, 0.6552, 0.865, 1.14, 1.486, 1.908, 2.409",\
                 "0.3357, 0.3599, 0.4388, 0.5721, 0.754, 0.9811, 1.258, 1.603, 2.024, 2.526",\
                 "0.3297, 0.3594, 0.4559, 0.6174, 0.8339, 1.1, 1.411, 1.77, 2.191, 2.692",\
                 "0.2879, 0.3235, 0.4387, 0.6303, 0.8855, 1.193, 1.55, 1.954, 2.406, 2.913",\
                 "0.2084, 0.2495, 0.383, 0.6063, 0.9017, 1.256, 1.661, 2.115, 2.619, 3.172",\
                 "0.0897, 0.1364, 0.2875, 0.5413, 0.878, 1.281, 1.739, 2.246, 2.805, 3.413",\
                 "-0.0704, -0.0188, 0.1501, 0.4325, 0.8119, 1.264, 1.777, 2.343, 2.958, 3.626");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4436, 0.4745, 0.5824, 0.7871, 1.105, 1.549, 2.133, 2.868, 3.765, 4.834",\
                 "0.4556, 0.4867, 0.5953, 0.8011, 1.119, 1.564, 2.149, 2.884, 3.781, 4.849",\
                 "0.5058, 0.537, 0.6455, 0.8516, 1.17, 1.616, 2.201, 2.937, 3.834, 4.902",\
                 "0.6257, 0.656, 0.7617, 0.9643, 1.28, 1.723, 2.307, 3.042, 3.939, 5.005",\
                 "0.8144, 0.8477, 0.9593, 1.159, 1.469, 1.906, 2.485, 3.216, 4.11, 5.175",\
                 "1.043, 1.081, 1.206, 1.43, 1.75, 2.181, 2.751, 3.475, 4.362, 5.423",\
                 "1.318, 1.359, 1.497, 1.744, 2.099, 2.554, 3.119, 3.833, 4.712, 5.764",\
                 "1.641, 1.687, 1.838, 2.105, 2.489, 2.988, 3.589, 4.301, 5.169, 6.211",\
                 "2.01, 2.062, 2.23, 2.521, 2.933, 3.467, 4.118, 4.874, 5.745, 6.775",\
                 "2.427, 2.483, 2.671, 2.992, 3.435, 4.002, 4.694, 5.507, 6.427, 7.464");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2651, 0.2903, 0.3771, 0.5434, 0.8002, 1.16, 1.632, 2.228, 2.954, 3.819",\
                 "0.2653, 0.29, 0.3774, 0.5431, 0.8001, 1.16, 1.634, 2.227, 2.954, 3.819",\
                 "0.2712, 0.2947, 0.3785, 0.5432, 0.7999, 1.16, 1.632, 2.228, 2.954, 3.819",\
                 "0.3528, 0.3739, 0.446, 0.5809, 0.8113, 1.161, 1.632, 2.227, 2.954, 3.82",\
                 "0.4716, 0.4944, 0.5708, 0.714, 0.9266, 1.223, 1.65, 2.228, 2.954, 3.818",\
                 "0.6258, 0.6506, 0.733, 0.8826, 1.108, 1.41, 1.793, 2.301, 2.972, 3.819",\
                 "0.8068, 0.8346, 0.9272, 1.091, 1.326, 1.643, 2.043, 2.528, 3.128, 3.894",\
                 "1.009, 1.041, 1.148, 1.33, 1.586, 1.915, 2.333, 2.84, 3.439, 4.141",\
                 "1.229, 1.266, 1.387, 1.594, 1.879, 2.235, 2.665, 3.192, 3.811, 4.528",\
                 "1.468, 1.508, 1.645, 1.88, 2.198, 2.587, 3.049, 3.587, 4.228, 4.968");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.7444, 0.7992, 0.9902, 1.35, 1.908, 2.687, 3.711, 5, 6.568, 8.437",\
                 "0.7444, 0.7992, 0.9902, 1.351, 1.907, 2.687, 3.709, 4.997, 6.572, 8.442",\
                 "0.7444, 0.7993, 0.9901, 1.351, 1.908, 2.687, 3.71, 4.998, 6.57, 8.444",\
                 "0.7559, 0.8068, 0.9914, 1.351, 1.908, 2.687, 3.711, 5, 6.568, 8.445",\
                 "0.8572, 0.9032, 1.063, 1.38, 1.91, 2.688, 3.712, 5, 6.571, 8.442",\
                 "0.9886, 1.042, 1.214, 1.521, 1.994, 2.706, 3.712, 4.999, 6.571, 8.444",\
                 "1.138, 1.19, 1.373, 1.709, 2.195, 2.848, 3.762, 5.004, 6.572, 8.446",\
                 "1.318, 1.372, 1.56, 1.907, 2.428, 3.104, 3.96, 5.097, 6.589, 8.444",\
                 "1.529, 1.587, 1.781, 2.133, 2.669, 3.393, 4.276, 5.354, 6.729, 8.482",\
                 "1.763, 1.824, 2.031, 2.397, 2.942, 3.694, 4.627, 5.73, 7.04, 8.676");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1787, 0.1934, 0.2438, 0.3396, 0.4881, 0.6962, 0.9699, 1.315, 1.736, 2.238",\
                 "0.1914, 0.206, 0.2571, 0.3533, 0.5022, 0.7104, 0.9845, 1.329, 1.75, 2.251",\
                 "0.2274, 0.2429, 0.2951, 0.3927, 0.5419, 0.7506, 1.025, 1.37, 1.791, 2.293",\
                 "0.2599, 0.2808, 0.3479, 0.4603, 0.6156, 0.8248, 1.099, 1.444, 1.865, 2.366",\
                 "0.2674, 0.2943, 0.3797, 0.5198, 0.7076, 0.9386, 1.217, 1.561, 1.982, 2.483",\
                 "0.2432, 0.2762, 0.3819, 0.5534, 0.7781, 1.05, 1.366, 1.727, 2.149, 2.649",\
                 "0.1833, 0.2226, 0.3489, 0.5537, 0.8196, 1.135, 1.498, 1.907, 2.362, 2.87",\
                 "0.0875, 0.1328, 0.2784, 0.5165, 0.825, 1.19, 1.602, 2.062, 2.57, 3.126",\
                 "-0.0479, 0.0036, 0.1682, 0.4382, 0.7909, 1.205, 1.673, 2.187, 2.751, 3.363",\
                 "-0.2248, -0.1674, 0.0168, 0.3177, 0.7126, 1.18, 1.703, 2.277, 2.899, 3.571");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.436, 0.4671, 0.5749, 0.7794, 1.096, 1.539, 2.121, 2.856, 3.75, 4.817",\
                 "0.4481, 0.4793, 0.588, 0.7933, 1.11, 1.555, 2.137, 2.87, 3.767, 4.838",\
                 "0.4984, 0.5294, 0.638, 0.8437, 1.162, 1.605, 2.19, 2.924, 3.818, 4.888",\
                 "0.6181, 0.648, 0.7538, 0.9561, 1.271, 1.713, 2.295, 3.029, 3.925, 4.994",\
                 "0.8057, 0.8387, 0.9509, 1.151, 1.46, 1.897, 2.473, 3.202, 4.095, 5.16",\
                 "1.032, 1.069, 1.196, 1.421, 1.74, 2.171, 2.739, 3.462, 4.347, 5.409",\
                 "1.305, 1.346, 1.484, 1.732, 2.088, 2.543, 3.107, 3.819, 4.697, 5.75",\
                 "1.625, 1.671, 1.824, 2.092, 2.477, 2.975, 3.576, 4.287, 5.153, 6.195",\
                 "1.99, 2.042, 2.212, 2.505, 2.918, 3.452, 4.103, 4.859, 5.728, 6.758",\
                 "2.404, 2.461, 2.649, 2.972, 3.417, 3.984, 4.676, 5.489, 6.409, 7.445");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.221, 0.2462, 0.3327, 0.4987, 0.7542, 1.113, 1.587, 2.181, 2.906, 3.771",\
                 "0.2213, 0.2457, 0.3325, 0.4986, 0.7559, 1.113, 1.586, 2.183, 2.909, 3.773",\
                 "0.237, 0.2578, 0.3372, 0.4987, 0.755, 1.114, 1.586, 2.181, 2.91, 3.773",\
                 "0.3257, 0.3459, 0.4178, 0.5501, 0.7718, 1.114, 1.586, 2.183, 2.907, 3.772",\
                 "0.4496, 0.471, 0.546, 0.6862, 0.8978, 1.189, 1.61, 2.183, 2.907, 3.771",\
                 "0.6088, 0.6316, 0.7118, 0.8564, 1.078, 1.381, 1.762, 2.266, 2.931, 3.774",\
                 "0.7916, 0.8176, 0.9074, 1.069, 1.3, 1.613, 2.013, 2.499, 3.092, 3.856",\
                 "0.994, 1.025, 1.129, 1.309, 1.562, 1.89, 2.302, 2.81, 3.408, 4.107",\
                 "1.217, 1.25, 1.365, 1.572, 1.854, 2.211, 2.641, 3.162, 3.78, 4.497",\
                 "1.453, 1.493, 1.623, 1.856, 2.17, 2.56, 3.024, 3.563, 4.201, 4.937");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6287, 0.6831, 0.8729, 1.231, 1.786, 2.565, 3.589, 4.878, 6.445, 8.315",\
                 "0.629, 0.6826, 0.8727, 1.231, 1.787, 2.567, 3.588, 4.877, 6.451, 8.329",\
                 "0.6287, 0.683, 0.8715, 1.231, 1.787, 2.565, 3.59, 4.878, 6.448, 8.323",\
                 "0.6391, 0.6901, 0.8724, 1.23, 1.787, 2.566, 3.588, 4.879, 6.45, 8.328",\
                 "0.736, 0.7838, 0.9438, 1.258, 1.788, 2.566, 3.59, 4.879, 6.452, 8.321",\
                 "0.8498, 0.9012, 1.083, 1.399, 1.872, 2.583, 3.589, 4.878, 6.451, 8.328",\
                 "0.9802, 1.036, 1.228, 1.574, 2.07, 2.724, 3.638, 4.883, 6.45, 8.325",\
                 "1.141, 1.199, 1.398, 1.758, 2.29, 2.98, 3.836, 4.975, 6.465, 8.323",\
                 "1.327, 1.391, 1.6, 1.97, 2.522, 3.258, 4.152, 5.23, 6.608, 8.36",\
                 "1.531, 1.602, 1.83, 2.218, 2.781, 3.538, 4.493, 5.605, 6.92, 8.554");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1516, 0.1633, 0.2045, 0.2828, 0.404, 0.5735, 0.7967, 1.078, 1.422, 1.831",\
                 "0.1653, 0.1772, 0.2188, 0.2973, 0.4184, 0.5885, 0.8122, 1.093, 1.437, 1.846",\
                 "0.2032, 0.2168, 0.2605, 0.3399, 0.4622, 0.6324, 0.8556, 1.137, 1.481, 1.89",\
                 "0.2304, 0.2492, 0.309, 0.4079, 0.5412, 0.7127, 0.9365, 1.218, 1.561, 1.97",\
                 "0.229, 0.2534, 0.3316, 0.4583, 0.6251, 0.8269, 1.063, 1.345, 1.688, 2.097",\
                 "0.1918, 0.2228, 0.3209, 0.4783, 0.6821, 0.9247, 1.203, 1.516, 1.867, 2.276",\
                 "0.1162, 0.153, 0.2709, 0.4604, 0.7052, 0.9922, 1.317, 1.678, 2.075, 2.509",\
                 "0.0001, 0.0433, 0.1797, 0.4015, 0.6882, 1.023, 1.398, 1.81, 2.26, 2.747",\
                 "-0.1588, -0.1102, 0.0456, 0.2979, 0.6264, 1.011, 1.439, 1.907, 2.412, 2.956",\
                 "-0.3636, -0.3094, -0.1352, 0.1488, 0.5176, 0.952, 1.435, 1.961, 2.526, 3.129");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4347, 0.4658, 0.5735, 0.7782, 1.095, 1.538, 2.12, 2.855, 3.752, 4.818",\
                 "0.445, 0.4763, 0.5849, 0.7902, 1.108, 1.551, 2.133, 2.867, 3.764, 4.832",\
                 "0.4954, 0.5264, 0.6347, 0.8403, 1.158, 1.603, 2.185, 2.919, 3.814, 4.881",\
                 "0.6182, 0.648, 0.7531, 0.9547, 1.269, 1.711, 2.292, 3.026, 3.919, 4.988",\
                 "0.8099, 0.8432, 0.9543, 1.154, 1.461, 1.896, 2.473, 3.201, 4.095, 5.157",\
                 "1.043, 1.081, 1.206, 1.429, 1.747, 2.175, 2.743, 3.463, 4.349, 5.409",\
                 "1.326, 1.367, 1.503, 1.749, 2.102, 2.554, 3.117, 3.827, 4.701, 5.755",\
                 "1.659, 1.704, 1.855, 2.12, 2.501, 2.997, 3.594, 4.302, 5.167, 6.207",\
                 "2.044, 2.093, 2.26, 2.548, 2.956, 3.486, 4.133, 4.884, 5.75, 6.778",\
                 "2.478, 2.535, 2.72, 3.035, 3.473, 4.034, 4.721, 5.529, 6.443, 7.476");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1703, 0.1908, 0.2614, 0.396, 0.6044, 0.8961, 1.281, 1.765, 2.356, 3.059",\
                 "0.1704, 0.1907, 0.2613, 0.3958, 0.605, 0.8982, 1.281, 1.765, 2.354, 3.059",\
                 "0.1947, 0.2107, 0.2702, 0.3965, 0.6048, 0.8968, 1.282, 1.765, 2.356, 3.06",\
                 "0.2862, 0.3031, 0.3618, 0.468, 0.6365, 0.9029, 1.282, 1.766, 2.354, 3.059",\
                 "0.4089, 0.4271, 0.4896, 0.6068, 0.78, 1.01, 1.33, 1.774, 2.355, 3.057",\
                 "0.5596, 0.5808, 0.6514, 0.7782, 0.9636, 1.211, 1.523, 1.905, 2.416, 3.073",\
                 "0.7344, 0.7582, 0.8392, 0.983, 1.185, 1.448, 1.78, 2.175, 2.64, 3.22",\
                 "0.9298, 0.9564, 1.05, 1.212, 1.438, 1.723, 2.072, 2.488, 2.978, 3.54",\
                 "1.142, 1.176, 1.278, 1.464, 1.72, 2.034, 2.404, 2.843, 3.356, 3.943",\
                 "1.369, 1.406, 1.528, 1.734, 2.022, 2.371, 2.78, 3.244, 3.779, 4.392");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6285, 0.6835, 0.8718, 1.232, 1.787, 2.565, 3.589, 4.878, 6.453, 8.323",\
                 "0.6287, 0.6838, 0.8721, 1.231, 1.788, 2.565, 3.585, 4.877, 6.45, 8.323",\
                 "0.6285, 0.6826, 0.8718, 1.231, 1.787, 2.566, 3.588, 4.876, 6.45, 8.324",\
                 "0.6384, 0.6897, 0.8731, 1.23, 1.787, 2.566, 3.59, 4.878, 6.445, 8.326",\
                 "0.7334, 0.7804, 0.942, 1.258, 1.789, 2.565, 3.589, 4.88, 6.453, 8.32",\
                 "0.8436, 0.8948, 1.078, 1.394, 1.87, 2.581, 3.589, 4.877, 6.451, 8.328",\
                 "0.9644, 1.022, 1.214, 1.563, 2.062, 2.719, 3.637, 4.882, 6.45, 8.325",\
                 "1.116, 1.179, 1.374, 1.738, 2.276, 2.967, 3.829, 4.97, 6.465, 8.323",\
                 "1.294, 1.357, 1.568, 1.939, 2.495, 3.236, 4.134, 5.217, 6.599, 8.36",\
                 "1.49, 1.559, 1.784, 2.174, 2.739, 3.506, 4.468, 5.582, 6.902, 8.546");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2943, 0.3124, 0.3755, 0.4933, 0.6742, 0.9262, 1.256, 1.672, 2.178, 2.781",\
                 "0.3075, 0.326, 0.389, 0.5072, 0.6884, 0.9404, 1.271, 1.686, 2.192, 2.795",\
                 "0.3387, 0.3571, 0.4206, 0.5392, 0.7209, 0.9734, 1.304, 1.72, 2.226, 2.829",\
                 "0.3811, 0.4014, 0.4693, 0.5909, 0.7726, 1.025, 1.356, 1.771, 2.278, 2.881",\
                 "0.4134, 0.4365, 0.5145, 0.652, 0.8491, 1.107, 1.438, 1.852, 2.358, 2.961",\
                 "0.4209, 0.4489, 0.5419, 0.7007, 0.9216, 1.205, 1.552, 1.97, 2.475, 3.077",\
                 "0.3944, 0.4279, 0.5375, 0.7242, 0.9773, 1.291, 1.669, 2.114, 2.631, 3.232",\
                 "0.3301, 0.369, 0.4964, 0.7124, 1.003, 1.358, 1.772, 2.251, 2.802, 3.427",\
                 "0.2258, 0.2696, 0.4146, 0.6606, 0.991, 1.391, 1.853, 2.374, 2.962, 3.624",\
                 "0.0811, 0.1304, 0.2912, 0.566, 0.9371, 1.385, 1.899, 2.472, 3.105, 3.809");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4347, 0.4658, 0.5735, 0.7782, 1.095, 1.538, 2.12, 2.855, 3.752, 4.818",\
                 "0.445, 0.4763, 0.5849, 0.7902, 1.108, 1.551, 2.133, 2.867, 3.764, 4.832",\
                 "0.4954, 0.5264, 0.6347, 0.8403, 1.158, 1.603, 2.185, 2.919, 3.814, 4.881",\
                 "0.6182, 0.648, 0.7531, 0.9547, 1.269, 1.711, 2.292, 3.026, 3.919, 4.988",\
                 "0.8099, 0.8432, 0.9543, 1.154, 1.461, 1.896, 2.473, 3.201, 4.095, 5.157",\
                 "1.043, 1.081, 1.206, 1.429, 1.747, 2.175, 2.743, 3.463, 4.349, 5.409",\
                 "1.326, 1.367, 1.503, 1.749, 2.102, 2.554, 3.117, 3.827, 4.701, 5.755",\
                 "1.659, 1.704, 1.855, 2.12, 2.501, 2.997, 3.594, 4.302, 5.167, 6.207",\
                 "2.044, 2.093, 2.26, 2.548, 2.956, 3.486, 4.133, 4.884, 5.75, 6.778",\
                 "2.478, 2.535, 2.72, 3.035, 3.473, 4.034, 4.721, 5.529, 6.443, 7.476");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3268, 0.3576, 0.4643, 0.6647, 0.9737, 1.408, 1.976, 2.691, 3.563, 4.604",\
                 "0.3269, 0.3574, 0.4641, 0.6647, 0.9746, 1.407, 1.976, 2.691, 3.564, 4.601",\
                 "0.3275, 0.3581, 0.4637, 0.664, 0.9744, 1.408, 1.977, 2.691, 3.563, 4.603",\
                 "0.375, 0.4028, 0.497, 0.6795, 0.9766, 1.407, 1.976, 2.69, 3.563, 4.604",\
                 "0.4668, 0.493, 0.5892, 0.7688, 1.041, 1.434, 1.979, 2.69, 3.563, 4.604",\
                 "0.6012, 0.6312, 0.7262, 0.904, 1.176, 1.558, 2.058, 2.723, 3.568, 4.603",\
                 "0.7692, 0.8004, 0.9078, 1.09, 1.362, 1.739, 2.237, 2.861, 3.649, 4.634",\
                 "0.959, 0.9964, 1.115, 1.317, 1.6, 1.975, 2.468, 3.091, 3.851, 4.774",\
                 "1.168, 1.207, 1.345, 1.569, 1.879, 2.267, 2.759, 3.376, 4.133, 5.04",\
                 "1.395, 1.444, 1.592, 1.846, 2.186, 2.607, 3.112, 3.727, 4.476, 5.378");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.8246, 0.8785, 1.068, 1.427, 1.984, 2.762, 3.788, 5.074, 6.648, 8.515",\
                 "0.8245, 0.8783, 1.068, 1.427, 1.985, 2.764, 3.786, 5.075, 6.647, 8.519",\
                 "0.8243, 0.8784, 1.068, 1.427, 1.984, 2.764, 3.786, 5.076, 6.646, 8.52",\
                 "0.8409, 0.8903, 1.07, 1.427, 1.984, 2.764, 3.788, 5.076, 6.646, 8.52",\
                 "0.9522, 0.9964, 1.152, 1.463, 1.988, 2.763, 3.788, 5.075, 6.647, 8.518",\
                 "1.103, 1.149, 1.314, 1.614, 2.08, 2.785, 3.788, 5.076, 6.649, 8.52",\
                 "1.272, 1.319, 1.491, 1.814, 2.288, 2.936, 3.844, 5.082, 6.649, 8.522",\
                 "1.476, 1.524, 1.697, 2.029, 2.535, 3.202, 4.052, 5.182, 6.667, 8.523",\
                 "1.712, 1.763, 1.94, 2.275, 2.792, 3.505, 4.376, 5.446, 6.816, 8.564",\
                 "1.971, 2.026, 2.214, 2.557, 3.083, 3.811, 4.74, 5.832, 7.138, 8.764");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.337, 0.3556, 0.4186, 0.5372, 0.7188, 0.9714, 1.302, 1.718, 2.225, 2.828",\
                 "0.3472, 0.3659, 0.429, 0.5475, 0.7292, 0.9819, 1.313, 1.729, 2.236, 2.838",\
                 "0.3777, 0.3961, 0.4591, 0.5779, 0.7598, 1.013, 1.343, 1.759, 2.266, 2.87",\
                 "0.4241, 0.4436, 0.5101, 0.63, 0.8115, 1.064, 1.395, 1.811, 2.317, 2.921",\
                 "0.4671, 0.4889, 0.564, 0.6973, 0.8908, 1.147, 1.477, 1.892, 2.397, 3.001",\
                 "0.4926, 0.519, 0.6059, 0.7575, 0.9718, 1.25, 1.594, 2.011, 2.515, 3.117",\
                 "0.4924, 0.5229, 0.6247, 0.8008, 1.042, 1.347, 1.718, 2.16, 2.674, 3.274",\
                 "0.4631, 0.4987, 0.6158, 0.8157, 1.091, 1.432, 1.835, 2.307, 2.852, 3.473",\
                 "0.4041, 0.4434, 0.5748, 0.8016, 1.111, 1.492, 1.937, 2.444, 3.024, 3.679",\
                 "0.3162, 0.359, 0.5032, 0.7547, 1.099, 1.521, 2.012, 2.566, 3.185, 3.876");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4489, 0.4802, 0.5891, 0.7953, 1.115, 1.561, 2.147, 2.885, 3.784, 4.854",\
                 "0.4631, 0.4945, 0.604, 0.8108, 1.131, 1.577, 2.164, 2.901, 3.801, 4.87",\
                 "0.4989, 0.5309, 0.6407, 0.8486, 1.169, 1.617, 2.205, 2.943, 3.842, 4.912",\
                 "0.5755, 0.6066, 0.7148, 0.9203, 1.239, 1.686, 2.273, 3.011, 3.91, 4.98",\
                 "0.6987, 0.7311, 0.8449, 1.052, 1.365, 1.806, 2.388, 3.123, 4.02, 5.088",\
                 "0.8656, 0.8998, 1.018, 1.234, 1.559, 1.995, 2.569, 3.297, 4.187, 5.25",\
                 "1.073, 1.111, 1.239, 1.464, 1.799, 2.252, 2.825, 3.543, 4.425, 5.48",\
                 "1.314, 1.356, 1.497, 1.742, 2.09, 2.557, 3.151, 3.873, 4.744, 5.789",\
                 "1.589, 1.636, 1.792, 2.059, 2.434, 2.917, 3.526, 4.271, 5.151, 6.185",\
                 "1.897, 1.949, 2.121, 2.414, 2.82, 3.331, 3.958, 4.72, 5.624, 6.674");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.375, 0.4066, 0.5142, 0.7162, 1.026, 1.461, 2.03, 2.746, 3.62, 4.658",\
                 "0.3749, 0.4063, 0.514, 0.7154, 1.027, 1.462, 2.03, 2.745, 3.618, 4.659",\
                 "0.3755, 0.4061, 0.514, 0.7162, 1.026, 1.462, 2.03, 2.745, 3.62, 4.659",\
                 "0.4154, 0.4435, 0.5395, 0.7263, 1.027, 1.461, 2.029, 2.745, 3.619, 4.66",\
                 "0.5044, 0.533, 0.6298, 0.811, 1.086, 1.485, 2.033, 2.745, 3.618, 4.66",\
                 "0.6392, 0.6668, 0.7658, 0.9428, 1.219, 1.601, 2.106, 2.774, 3.622, 4.659",\
                 "0.8112, 0.8428, 0.945, 1.127, 1.401, 1.779, 2.28, 2.906, 3.7, 4.687",\
                 "1.014, 1.051, 1.163, 1.359, 1.637, 2.011, 2.506, 3.132, 3.894, 4.822",\
                 "1.241, 1.281, 1.405, 1.621, 1.92, 2.305, 2.794, 3.411, 4.173, 5.082",\
                 "1.49, 1.534, 1.675, 1.917, 2.24, 2.647, 3.145, 3.755, 4.507, 5.414");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.8245, 0.8787, 1.068, 1.427, 1.984, 2.763, 3.787, 5.075, 6.645, 8.522",\
                 "0.8243, 0.8785, 1.068, 1.427, 1.984, 2.763, 3.788, 5.075, 6.644, 8.521",\
                 "0.8243, 0.8784, 1.068, 1.427, 1.984, 2.763, 3.787, 5.076, 6.649, 8.52",\
                 "0.8455, 0.8952, 1.074, 1.427, 1.984, 2.763, 3.787, 5.074, 6.648, 8.518",\
                 "0.9338, 0.9798, 1.143, 1.467, 1.994, 2.764, 3.787, 5.075, 6.648, 8.519",\
                 "1.058, 1.103, 1.265, 1.579, 2.074, 2.797, 3.792, 5.077, 6.648, 8.522",\
                 "1.225, 1.268, 1.422, 1.73, 2.221, 2.913, 3.856, 5.091, 6.649, 8.522",\
                 "1.43, 1.474, 1.627, 1.924, 2.404, 3.097, 4.011, 5.191, 6.686, 8.525",\
                 "1.659, 1.707, 1.867, 2.17, 2.634, 3.316, 4.232, 5.383, 6.819, 8.592",\
                 "1.909, 1.96, 2.134, 2.452, 2.921, 3.582, 4.487, 5.649, 7.052, 8.764");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2908, 0.309, 0.3719, 0.4894, 0.6703, 0.922, 1.252, 1.668, 2.174, 2.776",\
                 "0.3012, 0.3192, 0.382, 0.4998, 0.6806, 0.9326, 1.262, 1.678, 2.184, 2.787",\
                 "0.331, 0.3493, 0.4122, 0.5301, 0.7112, 0.9632, 1.293, 1.709, 2.215, 2.818",\
                 "0.3725, 0.3925, 0.4604, 0.5818, 0.7629, 1.015, 1.345, 1.76, 2.266, 2.869",\
                 "0.4058, 0.4293, 0.5071, 0.6435, 0.8398, 1.098, 1.427, 1.841, 2.347, 2.949",\
                 "0.4185, 0.4467, 0.539, 0.6966, 0.9154, 1.197, 1.543, 1.96, 2.464, 3.065",\
                 "0.4045, 0.4377, 0.5457, 0.7295, 0.9791, 1.289, 1.664, 2.107, 2.623, 3.222",\
                 "0.3616, 0.3997, 0.5243, 0.7346, 1.019, 1.367, 1.776, 2.251, 2.798, 3.421",\
                 "0.2908, 0.3324, 0.4725, 0.7098, 1.03, 1.42, 1.872, 2.384, 2.966, 3.624",\
                 "0.191, 0.2375, 0.39, 0.6521, 1.009, 1.441, 1.941, 2.501, 3.124, 3.819");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4408, 0.4721, 0.5809, 0.7867, 1.105, 1.55, 2.134, 2.87, 3.767, 4.835",\
                 "0.455, 0.4864, 0.5957, 0.8022, 1.121, 1.566, 2.151, 2.886, 3.783, 4.852",\
                 "0.4905, 0.5224, 0.6324, 0.8401, 1.16, 1.606, 2.192, 2.928, 3.825, 4.894",\
                 "0.5673, 0.5986, 0.7065, 0.9119, 1.23, 1.675, 2.26, 2.996, 3.893, 4.961",\
                 "0.6888, 0.7219, 0.8356, 1.043, 1.355, 1.795, 2.375, 3.108, 4.003, 5.069",\
                 "0.8546, 0.8892, 1.008, 1.224, 1.548, 1.984, 2.556, 3.281, 4.17, 5.232",\
                 "1.06, 1.098, 1.226, 1.453, 1.788, 2.24, 2.812, 3.528, 4.408, 5.462",\
                 "1.299, 1.34, 1.483, 1.728, 2.078, 2.544, 3.137, 3.858, 4.727, 5.77",\
                 "1.569, 1.617, 1.774, 2.044, 2.419, 2.903, 3.511, 4.254, 5.134, 6.166",\
                 "1.872, 1.925, 2.099, 2.396, 2.803, 3.315, 3.941, 4.702, 5.606, 6.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3262, 0.3567, 0.4632, 0.6631, 0.9734, 1.406, 1.974, 2.69, 3.562, 4.601",\
                 "0.3258, 0.3567, 0.463, 0.6637, 0.9727, 1.407, 1.975, 2.69, 3.562, 4.602",\
                 "0.3272, 0.3571, 0.4632, 0.6637, 0.9739, 1.407, 1.975, 2.689, 3.562, 4.602",\
                 "0.3774, 0.4047, 0.4994, 0.6801, 0.977, 1.406, 1.974, 2.689, 3.562, 4.603",\
                 "0.472, 0.499, 0.5932, 0.7702, 1.043, 1.436, 1.981, 2.69, 3.562, 4.602",\
                 "0.6126, 0.6406, 0.7344, 0.9096, 1.179, 1.559, 2.059, 2.723, 3.568, 4.602",\
                 "0.7862, 0.8184, 0.9198, 1.098, 1.366, 1.741, 2.236, 2.861, 3.65, 4.634",\
                 "0.9902, 1.026, 1.138, 1.331, 1.607, 1.977, 2.466, 3.089, 3.85, 4.774",\
                 "1.213, 1.25, 1.381, 1.598, 1.892, 2.272, 2.757, 3.373, 4.129, 5.04",\
                 "1.461, 1.503, 1.649, 1.888, 2.212, 2.62, 3.114, 3.719, 4.469, 5.371");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6991, 0.7538, 0.9441, 1.304, 1.862, 2.64, 3.664, 4.953, 6.521, 8.396",\
                 "0.6989, 0.7536, 0.9444, 1.304, 1.861, 2.64, 3.665, 4.953, 6.522, 8.397",\
                 "0.6988, 0.7538, 0.9444, 1.304, 1.862, 2.641, 3.665, 4.953, 6.525, 8.397",\
                 "0.7204, 0.7708, 0.9507, 1.305, 1.862, 2.64, 3.664, 4.95, 6.524, 8.395",\
                 "0.8044, 0.853, 1.02, 1.344, 1.871, 2.641, 3.664, 4.952, 6.525, 8.396",\
                 "0.9186, 0.9648, 1.133, 1.454, 1.951, 2.673, 3.668, 4.952, 6.525, 8.397",\
                 "1.073, 1.119, 1.28, 1.596, 2.096, 2.791, 3.733, 4.968, 6.526, 8.397",\
                 "1.258, 1.308, 1.473, 1.78, 2.27, 2.97, 3.887, 5.067, 6.562, 8.401",\
                 "1.467, 1.519, 1.695, 2.013, 2.492, 3.183, 4.107, 5.259, 6.697, 8.467",\
                 "1.691, 1.749, 1.942, 2.279, 2.77, 3.443, 4.354, 5.52, 6.926, 8.637");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2484, 0.2641, 0.3179, 0.4189, 0.5739, 0.7896, 1.072, 1.427, 1.861, 2.378",\
                 "0.26, 0.2755, 0.3295, 0.4306, 0.5856, 0.8013, 1.084, 1.439, 1.873, 2.389",\
                 "0.2919, 0.3076, 0.3618, 0.4628, 0.618, 0.8339, 1.117, 1.472, 1.905, 2.422",\
                 "0.331, 0.3487, 0.4087, 0.5154, 0.6716, 0.8871, 1.17, 1.525, 1.958, 2.475",\
                 "0.3562, 0.3776, 0.448, 0.5702, 0.744, 0.9704, 1.254, 1.608, 2.041, 2.557",\
                 "0.3552, 0.3814, 0.467, 0.6109, 0.8084, 1.059, 1.365, 1.729, 2.161, 2.675",\
                 "0.3225, 0.3535, 0.4552, 0.625, 0.8545, 1.135, 1.47, 1.863, 2.317, 2.836",\
                 "0.2576, 0.2933, 0.41, 0.607, 0.8708, 1.191, 1.562, 1.986, 2.471, 3.022",\
                 "0.16, 0.2, 0.3309, 0.5537, 0.8524, 1.214, 1.63, 2.095, 2.616, 3.2",\
                 "0.0287, 0.0727, 0.2172, 0.4636, 0.7976, 1.202, 1.664, 2.178, 2.743, 3.366");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4395, 0.4708, 0.5794, 0.7853, 1.104, 1.549, 2.133, 2.869, 3.765, 4.834",\
                 "0.4521, 0.4834, 0.5927, 0.7992, 1.118, 1.563, 2.148, 2.883, 3.78, 4.849",\
                 "0.4877, 0.5197, 0.6293, 0.8368, 1.156, 1.603, 2.188, 2.924, 3.821, 4.89",\
                 "0.5665, 0.5976, 0.7053, 0.9098, 1.227, 1.672, 2.256, 2.992, 3.889, 4.957",\
                 "0.6931, 0.7256, 0.8385, 1.045, 1.356, 1.794, 2.374, 3.106, 4, 5.067",\
                 "0.8671, 0.9015, 1.018, 1.233, 1.554, 1.988, 2.559, 3.282, 4.171, 5.232",\
                 "1.085, 1.123, 1.248, 1.472, 1.804, 2.253, 2.822, 3.535, 4.413, 5.466",\
                 "1.34, 1.382, 1.521, 1.762, 2.106, 2.568, 3.157, 3.874, 4.741, 5.781",\
                 "1.631, 1.679, 1.833, 2.097, 2.465, 2.942, 3.544, 4.283, 5.157, 6.187",\
                 "1.96, 2.012, 2.183, 2.472, 2.871, 3.374, 3.993, 4.748, 5.647, 6.688");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2698, 0.2957, 0.3871, 0.5576, 0.8213, 1.191, 1.676, 2.285, 3.029, 3.916",\
                 "0.2695, 0.2957, 0.3869, 0.5579, 0.8221, 1.191, 1.676, 2.285, 3.03, 3.918",\
                 "0.2718, 0.2972, 0.3871, 0.5579, 0.8217, 1.19, 1.676, 2.285, 3.029, 3.915",\
                 "0.3267, 0.3508, 0.4313, 0.5825, 0.8293, 1.192, 1.676, 2.284, 3.029, 3.916",\
                 "0.4246, 0.4472, 0.5276, 0.6794, 0.9112, 1.237, 1.69, 2.285, 3.029, 3.916",\
                 "0.5622, 0.5874, 0.6706, 0.8202, 1.05, 1.373, 1.795, 2.343, 3.047, 3.916",\
                 "0.73, 0.7598, 0.8496, 1.009, 1.239, 1.557, 1.979, 2.511, 3.164, 3.979",\
                 "0.9256, 0.9562, 1.059, 1.236, 1.48, 1.798, 2.214, 2.742, 3.392, 4.164",\
                 "1.143, 1.18, 1.296, 1.492, 1.757, 2.095, 2.511, 3.034, 3.677, 4.449",\
                 "1.387, 1.428, 1.558, 1.776, 2.07, 2.431, 2.866, 3.39, 4.023, 4.789");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6992, 0.7537, 0.9443, 1.304, 1.861, 2.641, 3.664, 4.95, 6.525, 8.393",\
                 "0.6988, 0.7537, 0.9444, 1.304, 1.861, 2.641, 3.664, 4.953, 6.521, 8.398",\
                 "0.6988, 0.7536, 0.9444, 1.304, 1.862, 2.641, 3.664, 4.953, 6.525, 8.395",\
                 "0.7206, 0.771, 0.9508, 1.305, 1.862, 2.641, 3.664, 4.951, 6.525, 8.397",\
                 "0.8024, 0.8514, 1.019, 1.344, 1.871, 2.641, 3.664, 4.953, 6.524, 8.396",\
                 "0.9104, 0.9576, 1.127, 1.451, 1.948, 2.673, 3.668, 4.953, 6.525, 8.398",\
                 "1.059, 1.104, 1.268, 1.586, 2.089, 2.787, 3.731, 4.967, 6.526, 8.399",\
                 "1.238, 1.287, 1.45, 1.76, 2.256, 2.962, 3.881, 5.064, 6.559, 8.401",\
                 "1.441, 1.491, 1.667, 1.984, 2.465, 3.161, 4.091, 5.251, 6.693, 8.464",\
                 "1.661, 1.717, 1.907, 2.241, 2.732, 3.408, 4.331, 5.502, 6.914, 8.631");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2901, 0.3082, 0.371, 0.4887, 0.6694, 0.9211, 1.251, 1.667, 2.173, 2.775",\
                 "0.3003, 0.3184, 0.3813, 0.499, 0.6798, 0.9317, 1.262, 1.677, 2.184, 2.786",\
                 "0.3303, 0.3486, 0.4114, 0.5293, 0.7103, 0.9623, 1.292, 1.708, 2.214, 2.818",\
                 "0.3717, 0.3917, 0.4596, 0.581, 0.762, 1.014, 1.344, 1.759, 2.265, 2.869",\
                 "0.4048, 0.4283, 0.5061, 0.6427, 0.839, 1.097, 1.426, 1.84, 2.345, 2.949",\
                 "0.4173, 0.4455, 0.538, 0.6956, 0.9146, 1.196, 1.542, 1.959, 2.463, 3.065",\
                 "0.4031, 0.4358, 0.5444, 0.7285, 0.9782, 1.288, 1.663, 2.106, 2.623, 3.222",\
                 "0.3599, 0.398, 0.5226, 0.7334, 1.018, 1.366, 1.775, 2.25, 2.797, 3.42",\
                 "0.2886, 0.3313, 0.4704, 0.7086, 1.028, 1.419, 1.871, 2.384, 2.966, 3.623",\
                 "0.1887, 0.2354, 0.3885, 0.6501, 1.007, 1.44, 1.94, 2.5, 3.124, 3.818");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4409, 0.4721, 0.5808, 0.7867, 1.105, 1.55, 2.134, 2.87, 3.767, 4.835",\
                 "0.455, 0.4864, 0.5957, 0.8022, 1.121, 1.566, 2.151, 2.886, 3.783, 4.851",\
                 "0.4906, 0.5224, 0.6324, 0.8402, 1.16, 1.606, 2.192, 2.928, 3.825, 4.893",\
                 "0.5673, 0.5986, 0.7065, 0.912, 1.23, 1.675, 2.26, 2.996, 3.893, 4.961",\
                 "0.6888, 0.722, 0.8356, 1.043, 1.355, 1.795, 2.375, 3.108, 4.002, 5.069",\
                 "0.8545, 0.8893, 1.008, 1.224, 1.548, 1.984, 2.556, 3.281, 4.17, 5.231",\
                 "1.06, 1.098, 1.227, 1.453, 1.788, 2.24, 2.813, 3.528, 4.407, 5.461",\
                 "1.299, 1.341, 1.483, 1.729, 2.078, 2.545, 3.137, 3.858, 4.727, 5.77",\
                 "1.569, 1.617, 1.774, 2.044, 2.419, 2.903, 3.511, 4.254, 5.133, 6.166",\
                 "1.872, 1.925, 2.099, 2.396, 2.803, 3.314, 3.941, 4.703, 5.606, 6.654");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.325, 0.3557, 0.4622, 0.6626, 0.9731, 1.405, 1.973, 2.689, 3.562, 4.601",\
                 "0.3252, 0.3557, 0.4619, 0.6628, 0.9718, 1.406, 1.974, 2.689, 3.561, 4.602",\
                 "0.3263, 0.3561, 0.4623, 0.6627, 0.9729, 1.406, 1.974, 2.688, 3.562, 4.601",\
                 "0.3767, 0.4039, 0.4985, 0.6794, 0.9763, 1.405, 1.973, 2.689, 3.561, 4.602",\
                 "0.4716, 0.4984, 0.5924, 0.7698, 1.042, 1.435, 1.978, 2.689, 3.56, 4.602",\
                 "0.6122, 0.6402, 0.7342, 0.9092, 1.178, 1.558, 2.059, 2.722, 3.565, 4.601",\
                 "0.7856, 0.817, 0.9196, 1.098, 1.365, 1.741, 2.235, 2.86, 3.649, 4.632",\
                 "0.9898, 1.025, 1.136, 1.33, 1.607, 1.977, 2.467, 3.089, 3.849, 4.773",\
                 "1.213, 1.253, 1.379, 1.598, 1.892, 2.273, 2.758, 3.37, 4.129, 5.037",\
                 "1.459, 1.505, 1.649, 1.887, 2.213, 2.621, 3.111, 3.719, 4.468, 5.369");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6967, 0.7515, 0.9416, 1.302, 1.859, 2.637, 3.661, 4.951, 6.519, 8.395",\
                 "0.6968, 0.7515, 0.9418, 1.302, 1.859, 2.638, 3.661, 4.949, 6.52, 8.396",\
                 "0.6968, 0.7515, 0.9418, 1.302, 1.858, 2.638, 3.661, 4.951, 6.521, 8.393",\
                 "0.7182, 0.7684, 0.9483, 1.301, 1.858, 2.638, 3.662, 4.95, 6.52, 8.391",\
                 "0.8018, 0.8504, 1.017, 1.342, 1.868, 2.638, 3.661, 4.949, 6.523, 8.392",\
                 "0.9158, 0.9632, 1.13, 1.452, 1.948, 2.671, 3.665, 4.95, 6.523, 8.395",\
                 "1.07, 1.117, 1.278, 1.594, 2.092, 2.788, 3.73, 4.966, 6.522, 8.395",\
                 "1.254, 1.304, 1.47, 1.779, 2.267, 2.969, 3.884, 5.065, 6.559, 8.4",\
                 "1.462, 1.514, 1.691, 2.009, 2.489, 3.179, 4.101, 5.256, 6.696, 8.464",\
                 "1.685, 1.744, 1.937, 2.276, 2.764, 3.439, 4.352, 5.517, 6.924, 8.635");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2457, 0.2634, 0.3253, 0.4417, 0.6212, 0.8722, 1.201, 1.616, 2.122, 2.724",\
                 "0.2557, 0.2736, 0.3355, 0.4519, 0.6317, 0.8825, 1.212, 1.627, 2.133, 2.735",\
                 "0.2852, 0.3032, 0.3654, 0.4822, 0.6622, 0.9131, 1.243, 1.657, 2.163, 2.766",\
                 "0.3188, 0.3397, 0.4093, 0.5328, 0.7138, 0.9646, 1.294, 1.708, 2.214, 2.817",\
                 "0.3397, 0.365, 0.4474, 0.5881, 0.7875, 1.047, 1.376, 1.79, 2.295, 2.897",\
                 "0.3372, 0.3677, 0.4674, 0.6327, 0.8575, 1.142, 1.491, 1.909, 2.413, 3.013",\
                 "0.3076, 0.3434, 0.4608, 0.6547, 0.9134, 1.229, 1.608, 2.054, 2.571, 3.171",\
                 "0.2509, 0.2924, 0.426, 0.6488, 0.9443, 1.301, 1.715, 2.194, 2.743, 3.368",\
                 "0.1679, 0.2133, 0.3618, 0.6123, 0.9453, 1.346, 1.805, 2.324, 2.909, 3.568",\
                 "0.0555, 0.106, 0.2692, 0.5442, 0.9142, 1.359, 1.868, 2.435, 3.063, 3.76");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4331, 0.4644, 0.573, 0.7788, 1.096, 1.54, 2.123, 2.858, 3.751, 4.819",\
                 "0.4472, 0.4786, 0.588, 0.7941, 1.112, 1.557, 2.139, 2.873, 3.773, 4.837",\
                 "0.4829, 0.5146, 0.6247, 0.8322, 1.151, 1.596, 2.181, 2.914, 3.81, 4.878",\
                 "0.5593, 0.5906, 0.6986, 0.9037, 1.221, 1.665, 2.249, 2.984, 3.877, 4.946",\
                 "0.6796, 0.7127, 0.8268, 1.034, 1.346, 1.785, 2.364, 3.094, 3.988, 5.056",\
                 "0.8438, 0.879, 0.9978, 1.215, 1.538, 1.973, 2.543, 3.268, 4.155, 5.217",\
                 "1.047, 1.086, 1.215, 1.442, 1.777, 2.229, 2.8, 3.514, 4.392, 5.446",\
                 "1.282, 1.326, 1.469, 1.716, 2.067, 2.532, 3.124, 3.843, 4.711, 5.753",\
                 "1.55, 1.599, 1.758, 2.029, 2.406, 2.888, 3.496, 4.238, 5.117, 6.148",\
                 "1.85, 1.903, 2.08, 2.379, 2.786, 3.299, 3.925, 4.685, 5.589, 6.636");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.275, 0.3052, 0.4107, 0.6098, 0.9184, 1.351, 1.919, 2.633, 3.504, 4.544",\
                 "0.2751, 0.3051, 0.4108, 0.6092, 0.9195, 1.351, 1.918, 2.633, 3.505, 4.542",\
                 "0.2801, 0.309, 0.4118, 0.6095, 0.918, 1.351, 1.918, 2.632, 3.505, 4.543",\
                 "0.3396, 0.3661, 0.4589, 0.6348, 0.924, 1.351, 1.917, 2.632, 3.504, 4.544",\
                 "0.4424, 0.4686, 0.5582, 0.7314, 1.001, 1.387, 1.925, 2.633, 3.505, 4.545",\
                 "0.5884, 0.6164, 0.7076, 0.8762, 1.142, 1.517, 2.013, 2.67, 3.512, 4.543",\
                 "0.766, 0.796, 0.8962, 1.071, 1.334, 1.702, 2.195, 2.816, 3.6, 4.578",\
                 "0.9668, 1.002, 1.116, 1.307, 1.577, 1.944, 2.428, 3.047, 3.806, 4.724",\
                 "1.192, 1.23, 1.357, 1.574, 1.866, 2.244, 2.723, 3.334, 4.088, 4.993",\
                 "1.435, 1.481, 1.623, 1.865, 2.186, 2.591, 3.081, 3.684, 4.43, 5.327");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5798, 0.6336, 0.8233, 1.182, 1.738, 2.517, 3.539, 4.828, 6.395, 8.268",\
                 "0.5796, 0.6332, 0.8223, 1.181, 1.738, 2.517, 3.542, 4.827, 6.405, 8.275",\
                 "0.5794, 0.6327, 0.8228, 1.182, 1.737, 2.517, 3.541, 4.826, 6.403, 8.274",\
                 "0.5997, 0.6493, 0.8276, 1.181, 1.737, 2.516, 3.54, 4.831, 6.399, 8.276",\
                 "0.676, 0.7258, 0.8966, 1.22, 1.745, 2.516, 3.54, 4.827, 6.402, 8.278",\
                 "0.7776, 0.827, 0.9978, 1.326, 1.826, 2.548, 3.542, 4.828, 6.401, 8.277",\
                 "0.9152, 0.9664, 1.135, 1.459, 1.966, 2.666, 3.607, 4.841, 6.4, 8.275",\
                 "1.078, 1.133, 1.313, 1.633, 2.134, 2.84, 3.761, 4.942, 6.436, 8.277",\
                 "1.261, 1.319, 1.516, 1.855, 2.348, 3.044, 3.973, 5.133, 6.572, 8.341",\
                 "1.455, 1.523, 1.742, 2.104, 2.613, 3.3, 4.219, 5.387, 6.801, 8.512");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2106, 0.2258, 0.2789, 0.3786, 0.5324, 0.747, 1.029, 1.384, 1.817, 2.332",\
                 "0.222, 0.2373, 0.2904, 0.3902, 0.5441, 0.7587, 1.041, 1.396, 1.829, 2.344",\
                 "0.2534, 0.2691, 0.3224, 0.4224, 0.5765, 0.7914, 1.073, 1.428, 1.861, 2.377",\
                 "0.284, 0.3026, 0.3644, 0.4729, 0.6299, 0.8447, 1.126, 1.481, 1.914, 2.43",\
                 "0.2959, 0.3194, 0.3946, 0.5211, 0.6983, 0.9268, 1.211, 1.565, 1.997, 2.512",\
                 "0.2799, 0.3087, 0.4008, 0.553, 0.7568, 1.011, 1.319, 1.685, 2.117, 2.631",\
                 "0.2323, 0.2664, 0.376, 0.5565, 0.7948, 1.082, 1.42, 1.815, 2.271, 2.791",\
                 "0.1542, 0.1929, 0.3182, 0.527, 0.8018, 1.13, 1.507, 1.936, 2.424, 2.975",\
                 "0.0442, 0.0873, 0.2282, 0.4626, 0.7743, 1.146, 1.569, 2.04, 2.565, 3.15",\
                 "-0.1001, -0.0526, 0.1036, 0.3622, 0.7086, 1.125, 1.596, 2.118, 2.688, 3.314");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4317, 0.4631, 0.5719, 0.7774, 1.095, 1.539, 2.122, 2.855, 3.749, 4.817",\
                 "0.4443, 0.4757, 0.585, 0.7911, 1.109, 1.554, 2.136, 2.87, 3.77, 4.833",\
                 "0.48, 0.5117, 0.6215, 0.829, 1.148, 1.593, 2.176, 2.911, 3.807, 4.878",\
                 "0.5585, 0.5895, 0.6973, 0.9015, 1.219, 1.662, 2.245, 2.981, 3.874, 4.942",\
                 "0.6838, 0.7167, 0.8296, 1.036, 1.347, 1.784, 2.362, 3.093, 3.987, 5.052",\
                 "0.8569, 0.8913, 1.008, 1.223, 1.544, 1.978, 2.546, 3.269, 4.156, 5.215",\
                 "1.072, 1.111, 1.237, 1.461, 1.792, 2.241, 2.809, 3.521, 4.398, 5.45",\
                 "1.325, 1.367, 1.507, 1.75, 2.095, 2.556, 3.144, 3.86, 4.725, 5.764",\
                 "1.613, 1.661, 1.817, 2.082, 2.452, 2.928, 3.53, 4.268, 5.142, 6.168",\
                 "1.938, 1.991, 2.164, 2.456, 2.855, 3.359, 3.977, 4.731, 5.629, 6.67");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2273, 0.2533, 0.3426, 0.5125, 0.775, 1.143, 1.628, 2.236, 2.981, 3.864",\
                 "0.2272, 0.2533, 0.3425, 0.5125, 0.7746, 1.143, 1.628, 2.237, 2.981, 3.864",\
                 "0.2349, 0.2586, 0.3441, 0.5125, 0.7757, 1.144, 1.628, 2.237, 2.98, 3.866",\
                 "0.2966, 0.3193, 0.3981, 0.5457, 0.7868, 1.145, 1.628, 2.236, 2.981, 3.866",\
                 "0.4006, 0.4239, 0.5008, 0.6468, 0.8752, 1.197, 1.645, 2.238, 2.981, 3.865",\
                 "0.5432, 0.5676, 0.6486, 0.7942, 1.019, 1.337, 1.757, 2.301, 3.001, 3.868",\
                 "0.715, 0.7414, 0.8304, 0.9878, 1.215, 1.528, 1.944, 2.474, 3.123, 3.935",\
                 "0.9098, 0.941, 1.043, 1.214, 1.456, 1.773, 2.183, 2.707, 3.355, 4.123",\
                 "1.129, 1.163, 1.279, 1.473, 1.736, 2.071, 2.484, 3.002, 3.642, 4.411",\
                 "1.371, 1.411, 1.539, 1.755, 2.047, 2.407, 2.839, 3.36, 3.992, 4.754");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5785, 0.634, 0.8225, 1.181, 1.738, 2.518, 3.54, 4.825, 6.396, 8.268",\
                 "0.5796, 0.6331, 0.8223, 1.181, 1.738, 2.517, 3.542, 4.827, 6.405, 8.27",\
                 "0.5791, 0.6329, 0.8224, 1.182, 1.738, 2.517, 3.539, 4.829, 6.402, 8.279",\
                 "0.5998, 0.6499, 0.8286, 1.181, 1.737, 2.516, 3.54, 4.829, 6.399, 8.277",\
                 "0.6742, 0.7246, 0.8952, 1.219, 1.745, 2.515, 3.54, 4.829, 6.404, 8.276",\
                 "0.7712, 0.8186, 0.9928, 1.322, 1.824, 2.548, 3.542, 4.828, 6.401, 8.277",\
                 "0.9026, 0.9522, 1.123, 1.449, 1.959, 2.662, 3.606, 4.841, 6.4, 8.274",\
                 "1.061, 1.115, 1.292, 1.616, 2.118, 2.83, 3.755, 4.937, 6.434, 8.277",\
                 "1.237, 1.295, 1.49, 1.826, 2.32, 3.024, 3.96, 5.124, 6.564, 8.339",\
                 "1.429, 1.495, 1.707, 2.068, 2.579, 3.265, 4.193, 5.372, 6.789, 8.507");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.247, 0.2622, 0.3148, 0.413, 0.5641, 0.7743, 1.049, 1.395, 1.817, 2.319",\
                 "0.2579, 0.273, 0.3256, 0.424, 0.5751, 0.7852, 1.06, 1.406, 1.828, 2.33",\
                 "0.2954, 0.3107, 0.3636, 0.4621, 0.6133, 0.8234, 1.099, 1.444, 1.866, 2.369",\
                 "0.3518, 0.37, 0.4301, 0.5351, 0.6871, 0.8973, 1.173, 1.518, 1.94, 2.443",\
                 "0.3911, 0.4136, 0.4876, 0.6148, 0.7915, 1.014, 1.29, 1.635, 2.057, 2.559",\
                 "0.4062, 0.4334, 0.5228, 0.6747, 0.8824, 1.141, 1.448, 1.804, 2.224, 2.726",\
                 "0.3935, 0.4253, 0.5305, 0.7092, 0.9512, 1.248, 1.596, 1.995, 2.443, 2.948",\
                 "0.3516, 0.3884, 0.5089, 0.7145, 0.992, 1.331, 1.722, 2.167, 2.664, 3.212",\
                 "0.2811, 0.3217, 0.4564, 0.6877, 1.001, 1.383, 1.822, 2.316, 2.863, 3.464",\
                 "0.1807, 0.2258, 0.3735, 0.6292, 0.9782, 1.403, 1.892, 2.437, 3.036, 3.69");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4809, 0.5117, 0.6196, 0.8243, 1.142, 1.586, 2.17, 2.906, 3.802, 4.871",\
                 "0.4956, 0.5267, 0.6354, 0.8408, 1.159, 1.604, 2.188, 2.924, 3.82, 4.888",\
                 "0.531, 0.5624, 0.6717, 0.8786, 1.198, 1.644, 2.229, 2.965, 3.863, 4.931",\
                 "0.6076, 0.6383, 0.7457, 0.9501, 1.268, 1.713, 2.297, 3.033, 3.93, 4.998",\
                 "0.7331, 0.7655, 0.8775, 1.082, 1.394, 1.833, 2.413, 3.146, 4.04, 5.107",\
                 "0.9031, 0.9371, 1.053, 1.268, 1.589, 2.024, 2.595, 3.32, 4.208, 5.271",\
                 "1.116, 1.153, 1.277, 1.5, 1.834, 2.284, 2.855, 3.57, 4.449, 5.503",\
                 "1.364, 1.405, 1.542, 1.783, 2.13, 2.593, 3.185, 3.904, 4.773, 5.815",\
                 "1.646, 1.691, 1.843, 2.107, 2.478, 2.957, 3.564, 4.307, 5.184, 6.216",\
                 "1.961, 2.011, 2.179, 2.469, 2.87, 3.377, 4.001, 4.762, 5.665, 6.711");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3069, 0.3322, 0.4197, 0.5868, 0.8446, 1.206, 1.679, 2.273, 3, 3.866",\
                 "0.307, 0.3321, 0.4198, 0.5859, 0.8449, 1.205, 1.679, 2.273, 3.001, 3.864",\
                 "0.3088, 0.3335, 0.4204, 0.5859, 0.8449, 1.204, 1.679, 2.274, 3.001, 3.864",\
                 "0.3844, 0.4048, 0.477, 0.6166, 0.8522, 1.204, 1.678, 2.273, 3, 3.865",\
                 "0.5042, 0.5262, 0.6038, 0.7466, 0.9586, 1.26, 1.693, 2.274, 2.999, 3.865",\
                 "0.661, 0.685, 0.7652, 0.9154, 1.14, 1.441, 1.827, 2.34, 3.016, 3.866",\
                 "0.8496, 0.8746, 0.9652, 1.124, 1.358, 1.674, 2.075, 2.561, 3.165, 3.936",\
                 "1.064, 1.096, 1.193, 1.369, 1.619, 1.945, 2.36, 2.87, 3.47, 4.175",\
                 "1.301, 1.335, 1.449, 1.645, 1.917, 2.263, 2.692, 3.217, 3.838, 4.56",\
                 "1.562, 1.603, 1.729, 1.948, 2.249, 2.626, 3.07, 3.611, 4.249, 4.991");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.7444, 0.7993, 0.9901, 1.351, 1.908, 2.687, 3.711, 4.997, 6.571, 8.438",\
                 "0.7445, 0.7993, 0.9902, 1.351, 1.907, 2.686, 3.71, 5, 6.568, 8.445",\
                 "0.7445, 0.7992, 0.9902, 1.35, 1.907, 2.687, 3.71, 5, 6.57, 8.442",\
                 "0.7606, 0.8119, 0.9939, 1.351, 1.908, 2.687, 3.711, 5, 6.572, 8.443",\
                 "0.8406, 0.8892, 1.058, 1.385, 1.914, 2.687, 3.711, 4.999, 6.571, 8.443",\
                 "0.947, 0.9954, 1.166, 1.491, 1.99, 2.717, 3.713, 5, 6.573, 8.445",\
                 "1.094, 1.14, 1.308, 1.627, 2.13, 2.829, 3.775, 5.014, 6.572, 8.445",\
                 "1.277, 1.326, 1.491, 1.803, 2.301, 3.004, 3.923, 5.108, 6.606, 8.448",\
                 "1.481, 1.534, 1.712, 2.027, 2.513, 3.209, 4.138, 5.295, 6.735, 8.51",\
                 "1.705, 1.764, 1.955, 2.289, 2.78, 3.46, 4.382, 5.548, 6.962, 8.677");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2105, 0.2255, 0.2771, 0.3747, 0.5244, 0.7336, 1.008, 1.353, 1.774, 2.276",\
                 "0.2211, 0.2361, 0.288, 0.3852, 0.5354, 0.7443, 1.019, 1.364, 1.786, 2.287",\
                 "0.2581, 0.2733, 0.3256, 0.4233, 0.5732, 0.7829, 1.057, 1.403, 1.824, 2.326",\
                 "0.3034, 0.3228, 0.3859, 0.494, 0.6472, 0.8565, 1.131, 1.477, 1.898, 2.399",\
                 "0.3285, 0.3529, 0.4317, 0.5644, 0.7458, 0.9723, 1.249, 1.594, 2.014, 2.516",\
                 "0.3282, 0.3578, 0.454, 0.614, 0.8286, 1.093, 1.403, 1.762, 2.182, 2.683",\
                 "0.3003, 0.3356, 0.4488, 0.6373, 0.8885, 1.192, 1.546, 1.948, 2.399, 2.905",\
                 "0.2459, 0.2855, 0.4148, 0.6313, 0.9199, 1.267, 1.666, 2.115, 2.615, 3.166",\
                 "0.1635, 0.2076, 0.3503, 0.5942, 0.9202, 1.311, 1.759, 2.258, 2.809, 3.414",\
                 "0.052, 0.1004, 0.2579, 0.5257, 0.8868, 1.323, 1.821, 2.373, 2.977, 3.637");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4735, 0.5043, 0.612, 0.8163, 1.133, 1.576, 2.16, 2.891, 3.787, 4.854",\
                 "0.488, 0.5194, 0.6279, 0.8328, 1.15, 1.594, 2.176, 2.912, 3.81, 4.874",\
                 "0.5235, 0.5549, 0.6641, 0.8708, 1.189, 1.634, 2.217, 2.952, 3.847, 4.914",\
                 "0.6, 0.6308, 0.7379, 0.9419, 1.259, 1.703, 2.286, 3.021, 3.916, 4.984",\
                 "0.7242, 0.7569, 0.8689, 1.074, 1.385, 1.823, 2.401, 3.133, 4.025, 5.092",\
                 "0.8932, 0.9274, 1.044, 1.258, 1.58, 2.013, 2.583, 3.307, 4.194, 5.255",\
                 "1.104, 1.141, 1.266, 1.49, 1.823, 2.273, 2.842, 3.557, 4.435, 5.486",\
                 "1.35, 1.392, 1.529, 1.771, 2.118, 2.581, 3.172, 3.889, 4.756, 5.798",\
                 "1.628, 1.675, 1.828, 2.093, 2.464, 2.944, 3.55, 4.291, 5.167, 6.198",\
                 "1.94, 1.992, 2.162, 2.453, 2.854, 3.362, 3.986, 4.745, 5.648, 6.692");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2645, 0.2892, 0.3768, 0.5423, 0.7999, 1.16, 1.633, 2.227, 2.952, 3.817",\
                 "0.2644, 0.2894, 0.3763, 0.5421, 0.7993, 1.159, 1.632, 2.226, 2.954, 3.816",\
                 "0.2727, 0.2951, 0.3779, 0.5422, 0.7988, 1.16, 1.632, 2.227, 2.954, 3.816",\
                 "0.3574, 0.3782, 0.4493, 0.5833, 0.8115, 1.16, 1.631, 2.227, 2.953, 3.818",\
                 "0.4823, 0.504, 0.578, 0.7182, 0.9296, 1.225, 1.651, 2.227, 2.952, 3.817",\
                 "0.6434, 0.6666, 0.7442, 0.8904, 1.113, 1.414, 1.795, 2.303, 2.973, 3.819",\
                 "0.833, 0.8594, 0.9456, 1.102, 1.331, 1.644, 2.045, 2.531, 3.13, 3.895",\
                 "1.05, 1.079, 1.177, 1.349, 1.596, 1.918, 2.331, 2.838, 3.44, 4.141",\
                 "1.288, 1.321, 1.431, 1.624, 1.895, 2.241, 2.665, 3.185, 3.805, 4.525",\
                 "1.55, 1.588, 1.713, 1.93, 2.226, 2.602, 3.047, 3.581, 4.218, 4.962");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6293, 0.6834, 0.8718, 1.231, 1.787, 2.566, 3.591, 4.876, 6.447, 8.317",\
                 "0.628, 0.683, 0.8725, 1.231, 1.786, 2.564, 3.59, 4.876, 6.455, 8.326",\
                 "0.6285, 0.6827, 0.872, 1.231, 1.787, 2.566, 3.589, 4.877, 6.448, 8.324",\
                 "0.6435, 0.6951, 0.8752, 1.23, 1.787, 2.566, 3.589, 4.881, 6.451, 8.327",\
                 "0.719, 0.7682, 0.938, 1.264, 1.793, 2.565, 3.589, 4.879, 6.452, 8.324",\
                 "0.8126, 0.8624, 1.037, 1.368, 1.868, 2.594, 3.591, 4.878, 6.451, 8.326",\
                 "0.9458, 0.9964, 1.167, 1.494, 2.004, 2.706, 3.652, 4.889, 6.451, 8.323",\
                 "1.11, 1.163, 1.339, 1.662, 2.167, 2.878, 3.801, 4.984, 6.482, 8.326",\
                 "1.292, 1.349, 1.541, 1.875, 2.372, 3.076, 4.01, 5.171, 6.612, 8.386",\
                 "1.489, 1.551, 1.764, 2.121, 2.629, 3.321, 4.247, 5.421, 6.838, 8.553");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1762, 0.1885, 0.2307, 0.3104, 0.4326, 0.6035, 0.8275, 1.109, 1.453, 1.863",\
                 "0.1884, 0.2004, 0.2429, 0.3224, 0.4448, 0.6156, 0.8399, 1.122, 1.466, 1.875",\
                 "0.2287, 0.2415, 0.2845, 0.3644, 0.487, 0.6578, 0.8822, 1.164, 1.508, 1.917",\
                 "0.2688, 0.2859, 0.3421, 0.4368, 0.5669, 0.7382, 0.9624, 1.244, 1.588, 1.997",\
                 "0.284, 0.3063, 0.3783, 0.4978, 0.6586, 0.856, 1.089, 1.371, 1.715, 2.124",\
                 "0.2695, 0.2971, 0.3862, 0.5333, 0.7276, 0.9628, 1.236, 1.545, 1.895, 2.303",\
                 "0.2236, 0.2561, 0.362, 0.5373, 0.768, 1.044, 1.36, 1.715, 2.107, 2.539",\
                 "0.1462, 0.1837, 0.3045, 0.5073, 0.7751, 1.094, 1.456, 1.859, 2.301, 2.783",\
                 "0.0367, 0.0789, 0.2138, 0.442, 0.7462, 1.109, 1.52, 1.973, 2.466, 3.002",\
                 "-0.1068, -0.0609, 0.0888, 0.3399, 0.6788, 1.086, 1.546, 2.053, 2.601, 3.19");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4719, 0.5031, 0.6109, 0.815, 1.131, 1.575, 2.157, 2.891, 3.785, 4.855",\
                 "0.485, 0.5164, 0.6249, 0.83, 1.147, 1.591, 2.173, 2.907, 3.804, 4.872",\
                 "0.5205, 0.5519, 0.661, 0.8674, 1.186, 1.63, 2.214, 2.948, 3.845, 4.911",\
                 "0.5991, 0.6298, 0.7365, 0.9399, 1.256, 1.699, 2.282, 3.016, 3.911, 4.979",\
                 "0.7286, 0.7607, 0.8719, 1.075, 1.385, 1.823, 2.4, 3.131, 4.024, 5.089",\
                 "0.9059, 0.9394, 1.054, 1.267, 1.586, 2.018, 2.587, 3.308, 4.195, 5.256",\
                 "1.129, 1.166, 1.289, 1.51, 1.839, 2.286, 2.853, 3.565, 4.441, 5.491",\
                 "1.391, 1.432, 1.568, 1.805, 2.147, 2.607, 3.193, 3.907, 4.772, 5.811",\
                 "1.691, 1.736, 1.886, 2.147, 2.511, 2.985, 3.587, 4.323, 5.194, 6.221",\
                 "2.028, 2.078, 2.244, 2.529, 2.923, 3.424, 4.041, 4.794, 5.69, 6.73");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2051, 0.2255, 0.2967, 0.4313, 0.6404, 0.9338, 1.317, 1.801, 2.393, 3.097",\
                 "0.2051, 0.2254, 0.2966, 0.4314, 0.6408, 0.9334, 1.319, 1.802, 2.393, 3.097",\
                 "0.2204, 0.2374, 0.3013, 0.4313, 0.6409, 0.9334, 1.319, 1.803, 2.393, 3.097",\
                 "0.3123, 0.3291, 0.387, 0.4934, 0.6657, 0.9374, 1.317, 1.801, 2.393, 3.097",\
                 "0.4364, 0.4547, 0.5174, 0.6326, 0.8066, 1.037, 1.361, 1.81, 2.393, 3.097",\
                 "0.5936, 0.6136, 0.6824, 0.8056, 0.99, 1.238, 1.547, 1.935, 2.448, 3.109",\
                 "0.7774, 0.8016, 0.8772, 1.015, 1.213, 1.474, 1.803, 2.2, 2.667, 3.25",\
                 "0.9858, 1.013, 1.1, 1.253, 1.471, 1.748, 2.093, 2.51, 3.003, 3.566",\
                 "1.22, 1.248, 1.349, 1.521, 1.762, 2.064, 2.429, 2.864, 3.377, 3.966",\
                 "1.48, 1.509, 1.622, 1.817, 2.082, 2.414, 2.808, 3.262, 3.793, 4.408");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6278, 0.6832, 0.8726, 1.231, 1.786, 2.564, 3.59, 4.876, 6.447, 8.327",\
                 "0.628, 0.683, 0.8725, 1.231, 1.786, 2.565, 3.587, 4.876, 6.449, 8.327",\
                 "0.6285, 0.6826, 0.8725, 1.231, 1.786, 2.566, 3.589, 4.876, 6.453, 8.324",\
                 "0.644, 0.6947, 0.8757, 1.23, 1.787, 2.565, 3.59, 4.88, 6.45, 8.324",\
                 "0.7172, 0.7664, 0.9368, 1.264, 1.793, 2.565, 3.589, 4.879, 6.452, 8.325",\
                 "0.8064, 0.8576, 1.033, 1.364, 1.866, 2.593, 3.591, 4.878, 6.451, 8.326",\
                 "0.9332, 0.9822, 1.156, 1.486, 1.998, 2.702, 3.649, 4.889, 6.451, 8.324",\
                 "1.09, 1.143, 1.32, 1.643, 2.151, 2.868, 3.794, 4.98, 6.481, 8.326",\
                 "1.267, 1.324, 1.514, 1.845, 2.345, 3.057, 3.996, 5.161, 6.604, 8.383",\
                 "1.461, 1.525, 1.728, 2.085, 2.589, 3.286, 4.219, 5.403, 6.824, 8.544");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.337, 0.3556, 0.4186, 0.5372, 0.7188, 0.9714, 1.302, 1.718, 2.225, 2.828",\
                 "0.3472, 0.3659, 0.429, 0.5475, 0.7292, 0.9819, 1.313, 1.729, 2.236, 2.838",\
                 "0.3777, 0.3961, 0.4591, 0.5779, 0.7598, 1.013, 1.343, 1.759, 2.266, 2.87",\
                 "0.4241, 0.4436, 0.5101, 0.63, 0.8115, 1.064, 1.395, 1.811, 2.317, 2.921",\
                 "0.4671, 0.4889, 0.564, 0.6973, 0.8908, 1.147, 1.477, 1.892, 2.397, 3.001",\
                 "0.4926, 0.519, 0.6059, 0.7575, 0.9718, 1.25, 1.594, 2.011, 2.515, 3.117",\
                 "0.4924, 0.5229, 0.6247, 0.8008, 1.042, 1.347, 1.718, 2.16, 2.674, 3.274",\
                 "0.4631, 0.4987, 0.6158, 0.8157, 1.091, 1.432, 1.835, 2.307, 2.852, 3.473",\
                 "0.4041, 0.4434, 0.5748, 0.8016, 1.111, 1.492, 1.937, 2.444, 3.024, 3.679",\
                 "0.3162, 0.359, 0.5032, 0.7547, 1.099, 1.521, 2.012, 2.566, 3.185, 3.876");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.4719, 0.5031, 0.6109, 0.815, 1.131, 1.575, 2.157, 2.891, 3.785, 4.855",\
                 "0.485, 0.5164, 0.6249, 0.83, 1.147, 1.591, 2.173, 2.907, 3.804, 4.872",\
                 "0.5205, 0.5519, 0.661, 0.8674, 1.186, 1.63, 2.214, 2.948, 3.845, 4.911",\
                 "0.5991, 0.6298, 0.7365, 0.9399, 1.256, 1.699, 2.282, 3.016, 3.911, 4.979",\
                 "0.7286, 0.7607, 0.8719, 1.075, 1.385, 1.823, 2.4, 3.131, 4.024, 5.089",\
                 "0.9059, 0.9394, 1.054, 1.267, 1.586, 2.018, 2.587, 3.308, 4.195, 5.256",\
                 "1.129, 1.166, 1.289, 1.51, 1.839, 2.286, 2.853, 3.565, 4.441, 5.491",\
                 "1.391, 1.432, 1.568, 1.805, 2.147, 2.607, 3.193, 3.907, 4.772, 5.811",\
                 "1.691, 1.736, 1.886, 2.147, 2.511, 2.985, 3.587, 4.323, 5.194, 6.221",\
                 "2.028, 2.078, 2.244, 2.529, 2.923, 3.424, 4.041, 4.794, 5.69, 6.73");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.375, 0.4066, 0.5142, 0.7162, 1.026, 1.461, 2.03, 2.746, 3.62, 4.658",\
                 "0.3749, 0.4063, 0.514, 0.7154, 1.027, 1.462, 2.03, 2.745, 3.618, 4.659",\
                 "0.3755, 0.4061, 0.514, 0.7162, 1.026, 1.462, 2.03, 2.745, 3.62, 4.659",\
                 "0.4154, 0.4435, 0.5395, 0.7263, 1.027, 1.461, 2.029, 2.745, 3.619, 4.66",\
                 "0.5044, 0.533, 0.6298, 0.811, 1.086, 1.485, 2.033, 2.745, 3.618, 4.66",\
                 "0.6392, 0.6668, 0.7658, 0.9428, 1.219, 1.601, 2.106, 2.774, 3.622, 4.659",\
                 "0.8112, 0.8428, 0.945, 1.127, 1.401, 1.779, 2.28, 2.906, 3.7, 4.687",\
                 "1.014, 1.051, 1.163, 1.359, 1.637, 2.011, 2.506, 3.132, 3.894, 4.822",\
                 "1.241, 1.281, 1.405, 1.621, 1.92, 2.305, 2.794, 3.411, 4.173, 5.082",\
                 "1.49, 1.534, 1.675, 1.917, 2.24, 2.647, 3.145, 3.755, 4.507, 5.414");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.8245, 0.8787, 1.068, 1.427, 1.984, 2.763, 3.787, 5.075, 6.645, 8.522",\
                 "0.8243, 0.8785, 1.068, 1.427, 1.984, 2.763, 3.788, 5.075, 6.644, 8.521",\
                 "0.8243, 0.8784, 1.068, 1.427, 1.984, 2.763, 3.787, 5.076, 6.649, 8.52",\
                 "0.8455, 0.8952, 1.074, 1.427, 1.984, 2.763, 3.787, 5.074, 6.648, 8.518",\
                 "0.9338, 0.9798, 1.143, 1.467, 1.994, 2.764, 3.787, 5.075, 6.648, 8.519",\
                 "1.058, 1.103, 1.265, 1.579, 2.074, 2.797, 3.792, 5.077, 6.648, 8.522",\
                 "1.225, 1.268, 1.422, 1.73, 2.221, 2.913, 3.856, 5.091, 6.649, 8.522",\
                 "1.43, 1.474, 1.627, 1.924, 2.404, 3.097, 4.011, 5.191, 6.686, 8.525",\
                 "1.659, 1.707, 1.867, 2.17, 2.634, 3.316, 4.232, 5.383, 6.819, 8.592",\
                 "1.909, 1.96, 2.134, 2.452, 2.921, 3.582, 4.487, 5.649, 7.052, 8.764");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3286, 0.347, 0.4098, 0.5276, 0.7085, 0.9603, 1.291, 1.706, 2.212, 2.816",\
                 "0.343, 0.3615, 0.4246, 0.5427, 0.7238, 0.9759, 1.306, 1.722, 2.228, 2.831",\
                 "0.3706, 0.3891, 0.4526, 0.5713, 0.753, 1.006, 1.336, 1.752, 2.259, 2.862",\
                 "0.3955, 0.4149, 0.4814, 0.602, 0.7839, 1.037, 1.368, 1.783, 2.289, 2.893",\
                 "0.4021, 0.4236, 0.4961, 0.627, 0.8196, 1.077, 1.407, 1.822, 2.328, 2.931",\
                 "0.3835, 0.4084, 0.4908, 0.6357, 0.8426, 1.116, 1.461, 1.879, 2.383, 2.984",\
                 "0.3254, 0.3551, 0.4522, 0.6177, 0.8473, 1.141, 1.504, 1.942, 2.459, 3.06",\
                 "0.2229, 0.2579, 0.371, 0.5623, 0.8217, 1.144, 1.531, 1.991, 2.53, 3.152",\
                 "0.0748, 0.1138, 0.2429, 0.4605, 0.7552, 1.114, 1.535, 2.023, 2.585, 3.231",\
                 "-0.124, -0.0799, 0.066, 0.3113, 0.6411, 1.041, 1.503, 2.028, 2.622, 3.294");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5195, 0.5519, 0.6643, 0.8749, 1.199, 1.649, 2.238, 2.977, 3.877, 4.948",\
                 "0.5283, 0.5608, 0.6737, 0.8845, 1.208, 1.658, 2.247, 2.986, 3.887, 4.958",\
                 "0.5789, 0.6114, 0.7235, 0.9343, 1.258, 1.708, 2.297, 3.037, 3.937, 5.008",\
                 "0.6983, 0.7298, 0.8398, 1.048, 1.369, 1.817, 2.404, 3.142, 4.042, 5.112",\
                 "0.9005, 0.9327, 1.041, 1.244, 1.558, 2, 2.582, 3.317, 4.213, 5.281",\
                 "1.153, 1.189, 1.31, 1.527, 1.841, 2.274, 2.849, 3.576, 4.467, 5.529",\
                 "1.453, 1.492, 1.624, 1.862, 2.206, 2.651, 3.217, 3.934, 4.815, 5.869",\
                 "1.81, 1.852, 1.993, 2.248, 2.619, 3.104, 3.693, 4.403, 5.272, 6.316",\
                 "2.222, 2.268, 2.423, 2.695, 3.088, 3.605, 4.24, 4.985, 5.85, 6.881",\
                 "2.69, 2.741, 2.91, 3.204, 3.623, 4.168, 4.841, 5.635, 6.541, 7.573");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3254, 0.3565, 0.4632, 0.6629, 0.9741, 1.406, 1.975, 2.69, 3.563, 4.601",\
                 "0.3263, 0.3566, 0.4632, 0.663, 0.9731, 1.406, 1.974, 2.69, 3.563, 4.601",\
                 "0.326, 0.3566, 0.4632, 0.663, 0.974, 1.406, 1.975, 2.69, 3.562, 4.601",\
                 "0.3576, 0.3859, 0.484, 0.6723, 0.975, 1.406, 1.974, 2.689, 3.563, 4.604",\
                 "0.4196, 0.4496, 0.5484, 0.737, 1.024, 1.429, 1.979, 2.688, 3.562, 4.602",\
                 "0.5282, 0.555, 0.6508, 0.8332, 1.121, 1.522, 2.045, 2.72, 3.569, 4.602",\
                 "0.6782, 0.708, 0.8048, 0.9856, 1.259, 1.653, 2.178, 2.834, 3.644, 4.636",\
                 "0.8598, 0.8916, 0.9956, 1.179, 1.457, 1.837, 2.347, 3.004, 3.806, 4.758",\
                 "1.066, 1.1, 1.212, 1.411, 1.696, 2.079, 2.577, 3.215, 4.012, 4.967",\
                 "1.297, 1.335, 1.457, 1.67, 1.971, 2.366, 2.866, 3.493, 4.27, 5.218");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.9966, 1.05, 1.238, 1.596, 2.154, 2.934, 3.96, 5.249, 6.823, 8.697",\
                 "0.9967, 1.05, 1.238, 1.597, 2.154, 2.934, 3.96, 5.25, 6.823, 8.696",\
                 "0.9964, 1.05, 1.238, 1.596, 2.153, 2.934, 3.96, 5.25, 6.823, 8.697",\
                 "0.9971, 1.05, 1.237, 1.596, 2.154, 2.934, 3.96, 5.25, 6.824, 8.696",\
                 "1.075, 1.12, 1.283, 1.611, 2.155, 2.935, 3.96, 5.25, 6.824, 8.696",\
                 "1.225, 1.272, 1.435, 1.734, 2.218, 2.946, 3.96, 5.25, 6.823, 8.7",\
                 "1.388, 1.437, 1.613, 1.935, 2.406, 3.069, 4, 5.253, 6.825, 8.699",\
                 "1.572, 1.624, 1.804, 2.144, 2.653, 3.318, 4.182, 5.334, 6.837, 8.699",\
                 "1.79, 1.842, 2.029, 2.373, 2.904, 3.617, 4.491, 5.575, 6.966, 8.732",\
                 "2.031, 2.09, 2.282, 2.636, 3.175, 3.919, 4.85, 5.944, 7.264, 8.914");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2846, 0.3025, 0.3647, 0.4813, 0.6611, 0.9121, 1.242, 1.656, 2.162, 2.764",\
                 "0.2988, 0.3168, 0.3793, 0.4964, 0.6763, 0.9275, 1.257, 1.672, 2.178, 2.781",\
                 "0.3254, 0.3437, 0.4068, 0.5247, 0.7056, 0.9573, 1.287, 1.702, 2.209, 2.811",\
                 "0.3457, 0.3656, 0.433, 0.5548, 0.7363, 0.9883, 1.318, 1.734, 2.24, 2.843",\
                 "0.3455, 0.3681, 0.4426, 0.5755, 0.7697, 1.028, 1.358, 1.773, 2.278, 2.88",\
                 "0.3151, 0.3417, 0.4293, 0.5786, 0.7889, 1.065, 1.41, 1.829, 2.333, 2.934",\
                 "0.2426, 0.2746, 0.3786, 0.5528, 0.7883, 1.086, 1.451, 1.89, 2.408, 3.01",\
                 "0.1255, 0.1632, 0.2847, 0.4869, 0.7555, 1.084, 1.476, 1.937, 2.478, 3.101",\
                 "-0.0386, 0.0046, 0.1433, 0.3744, 0.68, 1.048, 1.474, 1.966, 2.531, 3.178",\
                 "-0.2523, -0.2038, -0.0466, 0.2139, 0.5569, 0.9677, 1.437, 1.968, 2.565, 3.239");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.509, 0.5416, 0.6542, 0.865, 1.188, 1.637, 2.224, 2.961, 3.86, 4.929",\
                 "0.518, 0.5507, 0.6634, 0.8742, 1.197, 1.646, 2.234, 2.971, 3.869, 4.939",\
                 "0.5684, 0.6009, 0.7135, 0.9244, 1.247, 1.696, 2.284, 3.021, 3.92, 4.989",\
                 "0.6879, 0.7198, 0.8301, 1.038, 1.358, 1.804, 2.39, 3.127, 4.024, 5.093",\
                 "0.8896, 0.9219, 1.031, 1.234, 1.547, 1.987, 2.568, 3.301, 4.196, 5.262",\
                 "1.138, 1.175, 1.298, 1.516, 1.831, 2.263, 2.835, 3.56, 4.449, 5.511",\
                 "1.437, 1.477, 1.61, 1.848, 2.193, 2.639, 3.203, 3.918, 4.797, 5.851",\
                 "1.79, 1.833, 1.977, 2.232, 2.605, 3.09, 3.679, 4.388, 5.256, 6.298",\
                 "2.199, 2.246, 2.402, 2.677, 3.071, 3.589, 4.224, 4.967, 5.833, 6.862",\
                 "2.663, 2.714, 2.886, 3.183, 3.603, 4.149, 4.821, 5.617, 6.522, 7.553");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.277, 0.3074, 0.4127, 0.6119, 0.92, 1.353, 1.92, 2.635, 3.507, 4.546",\
                 "0.277, 0.3075, 0.412, 0.6121, 0.9198, 1.353, 1.92, 2.635, 3.507, 4.545",\
                 "0.2779, 0.3081, 0.4129, 0.6114, 0.9205, 1.353, 1.92, 2.635, 3.507, 4.545",\
                 "0.3153, 0.3436, 0.441, 0.6255, 0.9242, 1.353, 1.92, 2.635, 3.507, 4.548",\
                 "0.3834, 0.4108, 0.5076, 0.6926, 0.9792, 1.38, 1.927, 2.634, 3.506, 4.547",\
                 "0.5002, 0.527, 0.6194, 0.7954, 1.077, 1.478, 1.998, 2.668, 3.515, 4.546",\
                 "0.6558, 0.6832, 0.7784, 0.9532, 1.224, 1.61, 2.131, 2.788, 3.593, 4.583",\
                 "0.8398, 0.8696, 0.9726, 1.153, 1.424, 1.798, 2.304, 2.958, 3.759, 4.71",\
                 "1.05, 1.082, 1.191, 1.387, 1.667, 2.047, 2.539, 3.174, 3.967, 4.92",\
                 "1.28, 1.316, 1.436, 1.647, 1.947, 2.337, 2.834, 3.454, 4.227, 5.172");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.8659, 0.9205, 1.111, 1.472, 2.031, 2.813, 3.839, 5.127, 6.702, 8.575",\
                 "0.8656, 0.9202, 1.111, 1.472, 2.031, 2.812, 3.839, 5.128, 6.703, 8.574",\
                 "0.8656, 0.9202, 1.111, 1.473, 2.031, 2.812, 3.839, 5.129, 6.701, 8.576",\
                 "0.8659, 0.9199, 1.11, 1.472, 2.031, 2.812, 3.838, 5.129, 6.703, 8.575",\
                 "0.944, 0.9908, 1.157, 1.487, 2.032, 2.813, 3.838, 5.13, 6.703, 8.576",\
                 "1.08, 1.131, 1.303, 1.609, 2.095, 2.824, 3.839, 5.13, 6.704, 8.578",\
                 "1.226, 1.281, 1.465, 1.801, 2.282, 2.947, 3.878, 5.132, 6.703, 8.577",\
                 "1.398, 1.455, 1.645, 1.998, 2.519, 3.193, 4.06, 5.213, 6.716, 8.578",\
                 "1.597, 1.657, 1.856, 2.216, 2.759, 3.484, 4.367, 5.452, 6.846, 8.609",\
                 "1.822, 1.883, 2.093, 2.465, 3.02, 3.777, 4.718, 5.823, 7.147, 8.794");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2528, 0.2682, 0.3214, 0.421, 0.5743, 0.7883, 1.069, 1.422, 1.853, 2.367",\
                 "0.2676, 0.283, 0.3365, 0.4365, 0.59, 0.804, 1.085, 1.438, 1.869, 2.383",\
                 "0.3029, 0.3186, 0.3727, 0.4733, 0.6274, 0.8421, 1.123, 1.477, 1.908, 2.422",\
                 "0.3337, 0.3515, 0.4112, 0.5175, 0.6732, 0.888, 1.169, 1.523, 1.954, 2.467",\
                 "0.3404, 0.3617, 0.4309, 0.551, 0.7229, 0.9483, 1.231, 1.584, 2.015, 2.528",\
                 "0.3122, 0.3382, 0.4227, 0.5634, 0.7561, 1.002, 1.306, 1.67, 2.101, 2.613",\
                 "0.2401, 0.2716, 0.3735, 0.5416, 0.7654, 1.039, 1.367, 1.756, 2.209, 2.727",\
                 "0.1223, 0.1593, 0.2788, 0.4763, 0.7367, 1.048, 1.41, 1.826, 2.306, 2.852",\
                 "-0.0432, -0.0007, 0.1361, 0.363, 0.6621, 1.018, 1.422, 1.876, 2.386, 2.962",\
                 "-0.2588, -0.2107, -0.0557, 0.2003, 0.5372, 0.9391, 1.392, 1.891, 2.443, 3.053");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5386, 0.5715, 0.6845, 0.8959, 1.22, 1.669, 2.257, 2.995, 3.893, 4.963",\
                 "0.5483, 0.5812, 0.6944, 0.906, 1.23, 1.679, 2.267, 3.005, 3.904, 4.974",\
                 "0.5984, 0.631, 0.7441, 0.9558, 1.28, 1.729, 2.317, 3.055, 3.954, 5.024",\
                 "0.718, 0.7503, 0.8611, 1.069, 1.39, 1.838, 2.424, 3.161, 4.059, 5.128",\
                 "0.9224, 0.9545, 1.063, 1.266, 1.58, 2.022, 2.603, 3.336, 4.231, 5.298",\
                 "1.179, 1.214, 1.337, 1.552, 1.866, 2.298, 2.87, 3.596, 4.486, 5.546",\
                 "1.484, 1.523, 1.655, 1.892, 2.236, 2.678, 3.242, 3.958, 4.836, 5.89",\
                 "1.844, 1.886, 2.028, 2.283, 2.654, 3.136, 3.722, 4.43, 5.298, 6.341",\
                 "2.26, 2.306, 2.46, 2.733, 3.127, 3.643, 4.275, 5.016, 5.88, 6.909",\
                 "2.732, 2.783, 2.952, 3.248, 3.666, 4.211, 4.883, 5.676, 6.577, 7.607");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2319, 0.2572, 0.3465, 0.516, 0.7779, 1.146, 1.629, 2.234, 2.976, 3.859",\
                 "0.2319, 0.2572, 0.3463, 0.5159, 0.7777, 1.145, 1.628, 2.235, 2.976, 3.859",\
                 "0.2343, 0.2593, 0.3473, 0.5159, 0.7783, 1.146, 1.629, 2.235, 2.976, 3.859",\
                 "0.2814, 0.3037, 0.3845, 0.5368, 0.7843, 1.146, 1.628, 2.235, 2.976, 3.859",\
                 "0.3642, 0.3866, 0.4654, 0.618, 0.856, 1.187, 1.641, 2.236, 2.975, 3.858",\
                 "0.4928, 0.5164, 0.5952, 0.7412, 0.9732, 1.304, 1.737, 2.291, 2.996, 3.859",\
                 "0.6568, 0.6816, 0.7668, 0.9186, 1.142, 1.463, 1.894, 2.442, 3.105, 3.924",\
                 "0.848, 0.8766, 0.9694, 1.131, 1.367, 1.681, 2.099, 2.638, 3.306, 4.095",\
                 "1.065, 1.094, 1.194, 1.376, 1.626, 1.953, 2.368, 2.892, 3.549, 4.34",\
                 "1.303, 1.337, 1.448, 1.643, 1.915, 2.264, 2.692, 3.213, 3.853, 4.632");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.9061, 0.9609, 1.152, 1.513, 2.074, 2.856, 3.882, 5.173, 6.748, 8.622",\
                 "0.9058, 0.9608, 1.152, 1.514, 2.074, 2.855, 3.882, 5.172, 6.746, 8.618",\
                 "0.9059, 0.9605, 1.152, 1.514, 2.073, 2.856, 3.881, 5.173, 6.748, 8.62",\
                 "0.9049, 0.9596, 1.151, 1.513, 2.074, 2.855, 3.883, 5.174, 6.747, 8.62",\
                 "0.9726, 1.02, 1.189, 1.525, 2.073, 2.855, 3.882, 5.173, 6.747, 8.62",\
                 "1.109, 1.16, 1.33, 1.638, 2.13, 2.864, 3.883, 5.174, 6.747, 8.621",\
                 "1.252, 1.306, 1.495, 1.829, 2.308, 2.979, 3.916, 5.177, 6.747, 8.622",\
                 "1.418, 1.474, 1.667, 2.026, 2.545, 3.22, 4.091, 5.248, 6.759, 8.623",\
                 "1.613, 1.672, 1.87, 2.234, 2.783, 3.508, 4.391, 5.483, 6.882, 8.654",\
                 "1.831, 1.896, 2.103, 2.477, 3.038, 3.797, 4.74, 5.841, 7.17, 8.824");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2834, 0.3013, 0.3633, 0.4796, 0.6595, 0.9104, 1.24, 1.654, 2.16, 2.762",\
                 "0.2976, 0.3155, 0.3779, 0.4948, 0.6747, 0.9258, 1.255, 1.67, 2.176, 2.779",\
                 "0.3241, 0.3424, 0.4054, 0.5232, 0.7039, 0.9555, 1.285, 1.7, 2.207, 2.809",\
                 "0.3442, 0.364, 0.4314, 0.5532, 0.7346, 0.9864, 1.316, 1.732, 2.238, 2.841",\
                 "0.3437, 0.3662, 0.4408, 0.5736, 0.7679, 1.027, 1.356, 1.771, 2.276, 2.879",\
                 "0.3127, 0.3394, 0.4269, 0.5767, 0.7869, 1.063, 1.408, 1.827, 2.331, 2.932",\
                 "0.2395, 0.2718, 0.3763, 0.5503, 0.7861, 1.084, 1.449, 1.888, 2.407, 3.008",\
                 "0.1218, 0.1592, 0.2817, 0.4839, 0.753, 1.082, 1.474, 1.935, 2.476, 3.099",\
                 "-0.0429, 0.0004, 0.1402, 0.3713, 0.6774, 1.045, 1.472, 1.964, 2.529, 3.176",\
                 "-0.257, -0.2084, -0.0509, 0.2101, 0.5534, 0.9649, 1.435, 1.965, 2.563, 3.236");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.509, 0.5415, 0.6542, 0.8649, 1.188, 1.637, 2.224, 2.961, 3.859, 4.929",\
                 "0.518, 0.5506, 0.6635, 0.8742, 1.197, 1.646, 2.233, 2.971, 3.869, 4.938",\
                 "0.5684, 0.6009, 0.7134, 0.9244, 1.247, 1.696, 2.284, 3.021, 3.919, 4.988",\
                 "0.6879, 0.7198, 0.8299, 1.038, 1.358, 1.804, 2.39, 3.127, 4.024, 5.093",\
                 "0.8893, 0.9217, 1.031, 1.234, 1.547, 1.987, 2.568, 3.301, 4.196, 5.261",\
                 "1.139, 1.175, 1.298, 1.516, 1.83, 2.262, 2.834, 3.56, 4.449, 5.51",\
                 "1.438, 1.477, 1.61, 1.848, 2.193, 2.638, 3.204, 3.918, 4.798, 5.851",\
                 "1.79, 1.833, 1.976, 2.233, 2.605, 3.089, 3.678, 4.387, 5.255, 6.297",\
                 "2.199, 2.246, 2.402, 2.677, 3.072, 3.589, 4.224, 4.968, 5.832, 6.861",\
                 "2.662, 2.714, 2.886, 3.184, 3.603, 4.149, 4.821, 5.617, 6.523, 7.553");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2751, 0.3056, 0.4107, 0.6089, 0.9184, 1.351, 1.917, 2.633, 3.505, 4.542",\
                 "0.275, 0.3052, 0.41, 0.6101, 0.9178, 1.351, 1.918, 2.633, 3.505, 4.543",\
                 "0.2761, 0.3058, 0.4109, 0.6095, 0.9184, 1.351, 1.918, 2.633, 3.505, 4.543",\
                 "0.3141, 0.3422, 0.4393, 0.6241, 0.9216, 1.351, 1.918, 2.633, 3.504, 4.546",\
                 "0.3818, 0.4096, 0.5064, 0.6912, 0.9774, 1.378, 1.925, 2.632, 3.504, 4.545",\
                 "0.4992, 0.5258, 0.6176, 0.7944, 1.076, 1.476, 1.996, 2.667, 3.513, 4.543",\
                 "0.655, 0.6822, 0.7776, 0.9534, 1.223, 1.609, 2.13, 2.786, 3.592, 4.582",\
                 "0.8392, 0.8702, 0.9718, 1.154, 1.423, 1.797, 2.302, 2.958, 3.758, 4.708",\
                 "1.05, 1.081, 1.192, 1.386, 1.666, 2.046, 2.538, 3.172, 3.965, 4.919",\
                 "1.28, 1.315, 1.437, 1.646, 1.947, 2.336, 2.833, 3.452, 4.226, 5.17");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.861, 0.9154, 1.106, 1.467, 2.025, 2.807, 3.834, 5.122, 6.695, 8.57",\
                 "0.8605, 0.9155, 1.106, 1.467, 2.025, 2.808, 3.833, 5.125, 6.696, 8.568",\
                 "0.8605, 0.9149, 1.106, 1.466, 2.026, 2.807, 3.834, 5.123, 6.698, 8.572",\
                 "0.861, 0.9146, 1.105, 1.467, 2.025, 2.807, 3.834, 5.123, 6.699, 8.571",\
                 "0.939, 0.986, 1.152, 1.482, 2.027, 2.807, 3.834, 5.124, 6.698, 8.57",\
                 "1.075, 1.125, 1.298, 1.605, 2.09, 2.819, 3.833, 5.124, 6.698, 8.573",\
                 "1.221, 1.274, 1.461, 1.796, 2.277, 2.943, 3.873, 5.127, 6.698, 8.573",\
                 "1.391, 1.448, 1.638, 1.994, 2.513, 3.189, 4.055, 5.207, 6.71, 8.574",\
                 "1.589, 1.649, 1.849, 2.207, 2.753, 3.479, 4.362, 5.447, 6.839, 8.605",\
                 "1.812, 1.875, 2.085, 2.457, 3.015, 3.768, 4.713, 5.817, 7.139, 8.788");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2419, 0.2592, 0.3194, 0.4341, 0.6125, 0.8622, 1.19, 1.605, 2.111, 2.712",\
                 "0.2555, 0.2731, 0.334, 0.4491, 0.6279, 0.8776, 1.206, 1.62, 2.125, 2.728",\
                 "0.2806, 0.2986, 0.3608, 0.4771, 0.6566, 0.9072, 1.236, 1.65, 2.156, 2.758",\
                 "0.2941, 0.3145, 0.3831, 0.5059, 0.6873, 0.9382, 1.268, 1.682, 2.187, 2.789",\
                 "0.2843, 0.3082, 0.3867, 0.5216, 0.7177, 0.9777, 1.307, 1.721, 2.226, 2.828",\
                 "0.2379, 0.2675, 0.3622, 0.5183, 0.733, 1.011, 1.358, 1.778, 2.281, 2.882",\
                 "0.1481, 0.1839, 0.2979, 0.4825, 0.7262, 1.028, 1.396, 1.837, 2.356, 2.958",\
                 "0.013, 0.0552, 0.1892, 0.4046, 0.6848, 1.021, 1.417, 1.881, 2.423, 3.047",\
                 "-0.1691, -0.1202, 0.0337, 0.2803, 0.5997, 0.9774, 1.412, 1.907, 2.474, 3.123",\
                 "-0.3992, -0.3443, -0.1717, 0.1076, 0.4659, 0.8899, 1.368, 1.904, 2.506, 3.182");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.499, 0.5318, 0.6448, 0.8556, 1.178, 1.626, 2.212, 2.949, 3.848, 4.917",\
                 "0.508, 0.5408, 0.654, 0.8649, 1.188, 1.636, 2.222, 2.958, 3.856, 4.924",\
                 "0.5584, 0.5911, 0.7041, 0.9149, 1.237, 1.686, 2.272, 3.008, 3.907, 4.976",\
                 "0.6781, 0.71, 0.8204, 1.028, 1.348, 1.794, 2.379, 3.114, 4.01, 5.079",\
                 "0.8786, 0.9113, 1.021, 1.224, 1.537, 1.977, 2.556, 3.287, 4.182, 5.246",\
                 "1.125, 1.162, 1.285, 1.505, 1.82, 2.251, 2.823, 3.546, 4.434, 5.493",\
                 "1.422, 1.462, 1.596, 1.836, 2.182, 2.627, 3.19, 3.904, 4.782, 5.835",\
                 "1.773, 1.816, 1.961, 2.217, 2.59, 3.075, 3.665, 4.373, 5.239, 6.281",\
                 "2.177, 2.224, 2.384, 2.659, 3.055, 3.573, 4.208, 4.952, 5.816, 6.843",\
                 "2.637, 2.688, 2.862, 3.164, 3.584, 4.13, 4.803, 5.598, 6.505, 7.535");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.226, 0.2555, 0.3587, 0.5567, 0.8652, 1.297, 1.864, 2.578, 3.452, 4.491",\
                 "0.2249, 0.2557, 0.3594, 0.5568, 0.866, 1.295, 1.864, 2.578, 3.45, 4.49",\
                 "0.2299, 0.2578, 0.3598, 0.5569, 0.8644, 1.297, 1.863, 2.578, 3.452, 4.485",\
                 "0.2731, 0.3002, 0.3962, 0.5774, 0.8703, 1.298, 1.865, 2.579, 3.448, 4.49",\
                 "0.3504, 0.376, 0.467, 0.6478, 0.9326, 1.329, 1.872, 2.579, 3.449, 4.493",\
                 "0.4764, 0.5014, 0.5886, 0.758, 1.033, 1.43, 1.949, 2.619, 3.464, 4.492",\
                 "0.6374, 0.664, 0.7556, 0.9226, 1.186, 1.566, 2.084, 2.74, 3.541, 4.532",\
                 "0.8282, 0.856, 0.9532, 1.128, 1.394, 1.762, 2.261, 2.911, 3.709, 4.659",\
                 "1.043, 1.073, 1.176, 1.366, 1.639, 2.015, 2.502, 3.129, 3.921, 4.87",\
                 "1.273, 1.308, 1.423, 1.626, 1.922, 2.305, 2.803, 3.415, 4.182, 5.123");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.7326, 0.7882, 0.9805, 1.344, 1.905, 2.687, 3.716, 5.007, 6.583, 8.46",\
                 "0.7321, 0.7876, 0.98, 1.344, 1.905, 2.688, 3.716, 5.008, 6.583, 8.453",\
                 "0.7313, 0.7872, 0.9804, 1.344, 1.904, 2.687, 3.714, 5.008, 6.582, 8.458",\
                 "0.7312, 0.7856, 0.9792, 1.344, 1.904, 2.687, 3.714, 5.006, 6.584, 8.46",\
                 "0.8072, 0.856, 1.024, 1.358, 1.904, 2.687, 3.714, 5.005, 6.581, 8.452",\
                 "0.9274, 0.9822, 1.165, 1.48, 1.967, 2.697, 3.713, 5.005, 6.58, 8.457",\
                 "1.055, 1.116, 1.311, 1.66, 2.154, 2.822, 3.751, 5.006, 6.578, 8.455",\
                 "1.213, 1.27, 1.474, 1.844, 2.379, 3.065, 3.934, 5.086, 6.589, 8.453",\
                 "1.389, 1.453, 1.672, 2.049, 2.608, 3.346, 4.24, 5.329, 6.719, 8.486",\
                 "1.587, 1.657, 1.889, 2.283, 2.857, 3.626, 4.583, 5.693, 7.018, 8.67");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2173, 0.2321, 0.2838, 0.3818, 0.5332, 0.7462, 1.026, 1.379, 1.809, 2.323",\
                 "0.2317, 0.2466, 0.2986, 0.3971, 0.5488, 0.7619, 1.042, 1.394, 1.824, 2.338",\
                 "0.2651, 0.2808, 0.3343, 0.4335, 0.5861, 0.7999, 1.08, 1.433, 1.863, 2.378",\
                 "0.2875, 0.3063, 0.3677, 0.4755, 0.6319, 0.8456, 1.126, 1.479, 1.91, 2.424",\
                 "0.2821, 0.3052, 0.3792, 0.5033, 0.6774, 0.9046, 1.188, 1.54, 1.971, 2.484",\
                 "0.2372, 0.2663, 0.3584, 0.5074, 0.7058, 0.9549, 1.26, 1.626, 2.057, 2.569",\
                 "0.1473, 0.1822, 0.2944, 0.4741, 0.7071, 0.9873, 1.319, 1.709, 2.163, 2.683",\
                 "0.011, 0.0535, 0.1851, 0.3962, 0.6688, 0.9897, 1.357, 1.777, 2.258, 2.806",\
                 "-0.1718, -0.1245, 0.0279, 0.2708, 0.5836, 0.9502, 1.362, 1.822, 2.336, 2.913",\
                 "-0.4031, -0.3494, -0.1793, 0.0955, 0.4488, 0.8631, 1.325, 1.833, 2.389, 3.002");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5282, 0.5613, 0.6748, 0.8863, 1.21, 1.658, 2.246, 2.983, 3.879, 4.948",\
                 "0.5377, 0.5708, 0.6845, 0.8963, 1.22, 1.669, 2.256, 2.993, 3.891, 4.955",\
                 "0.5879, 0.6208, 0.7344, 0.9461, 1.27, 1.719, 2.306, 3.042, 3.939, 5.008",\
                 "0.7076, 0.7399, 0.8509, 1.059, 1.38, 1.827, 2.412, 3.148, 4.046, 5.115",\
                 "0.9113, 0.9438, 1.053, 1.256, 1.57, 2.01, 2.59, 3.322, 4.216, 5.283",\
                 "1.166, 1.201, 1.324, 1.541, 1.855, 2.287, 2.858, 3.582, 4.469, 5.529",\
                 "1.467, 1.507, 1.641, 1.879, 2.224, 2.666, 3.228, 3.943, 4.821, 5.874",\
                 "1.825, 1.867, 2.011, 2.268, 2.64, 3.122, 3.708, 4.415, 5.282, 6.323",\
                 "2.239, 2.284, 2.44, 2.716, 3.112, 3.627, 4.26, 5, 5.863, 6.891",\
                 "2.707, 2.757, 2.928, 3.228, 3.647, 4.192, 4.865, 5.658, 6.559, 7.588");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1899, 0.2143, 0.3019, 0.4695, 0.7314, 1.098, 1.58, 2.187, 2.926, 3.814",\
                 "0.1899, 0.2154, 0.3017, 0.4693, 0.7313, 1.098, 1.579, 2.185, 2.926, 3.81",\
                 "0.1968, 0.2197, 0.3045, 0.4695, 0.7311, 1.098, 1.58, 2.189, 2.931, 3.812",\
                 "0.2501, 0.2719, 0.3495, 0.4992, 0.7403, 1.1, 1.581, 2.188, 2.926, 3.813",\
                 "0.3408, 0.3618, 0.4362, 0.584, 0.8186, 1.146, 1.597, 2.189, 2.928, 3.811",\
                 "0.4762, 0.4982, 0.5734, 0.7138, 0.939, 1.267, 1.698, 2.249, 2.951, 3.814",\
                 "0.6446, 0.6678, 0.7496, 0.8962, 1.117, 1.43, 1.857, 2.402, 3.064, 3.883",\
                 "0.8412, 0.8664, 0.9548, 1.113, 1.344, 1.654, 2.065, 2.602, 3.265, 4.053",\
                 "1.063, 1.092, 1.184, 1.357, 1.606, 1.93, 2.34, 2.862, 3.513, 4.301",\
                 "1.3, 1.333, 1.439, 1.626, 1.898, 2.239, 2.668, 3.181, 3.819, 4.596");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.7699, 0.8255, 1.02, 1.386, 1.947, 2.731, 3.758, 5.051, 6.629, 8.499",\
                 "0.7703, 0.8261, 1.021, 1.385, 1.947, 2.731, 3.758, 5.051, 6.627, 8.495",\
                 "0.7695, 0.8251, 1.02, 1.385, 1.946, 2.73, 3.758, 5.052, 6.629, 8.497",\
                 "0.7677, 0.8235, 1.018, 1.384, 1.946, 2.73, 3.758, 5.051, 6.626, 8.504",\
                 "0.8342, 0.8838, 1.056, 1.393, 1.946, 2.729, 3.757, 5.049, 6.626, 8.503",\
                 "0.957, 1.011, 1.192, 1.507, 2.001, 2.738, 3.757, 5.048, 6.625, 8.503",\
                 "1.081, 1.142, 1.338, 1.689, 2.18, 2.852, 3.79, 5.051, 6.623, 8.5",\
                 "1.23, 1.292, 1.499, 1.869, 2.406, 3.09, 3.964, 5.122, 6.634, 8.499",\
                 "1.408, 1.475, 1.686, 2.068, 2.633, 3.369, 4.262, 5.355, 6.753, 8.526",\
                 "1.603, 1.674, 1.903, 2.297, 2.876, 3.648, 4.602, 5.714, 7.043, 8.698");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.248, 0.2632, 0.3147, 0.4124, 0.5621, 0.7713, 1.046, 1.391, 1.813, 2.315",\
                 "0.262, 0.2773, 0.3294, 0.4271, 0.5771, 0.7867, 1.061, 1.407, 1.828, 2.33",\
                 "0.2904, 0.3058, 0.3585, 0.4572, 0.6076, 0.8179, 1.093, 1.438, 1.86, 2.362",\
                 "0.3154, 0.3328, 0.3915, 0.4963, 0.6492, 0.8592, 1.134, 1.48, 1.902, 2.404",\
                 "0.3197, 0.3406, 0.4092, 0.5281, 0.6978, 0.9201, 1.197, 1.542, 1.963, 2.465",\
                 "0.2911, 0.3166, 0.4006, 0.5406, 0.732, 0.9755, 1.275, 1.632, 2.054, 2.554",\
                 "0.22, 0.251, 0.352, 0.5193, 0.7421, 1.014, 1.339, 1.722, 2.167, 2.675",\
                 "0.1044, 0.1408, 0.2586, 0.455, 0.714, 1.025, 1.384, 1.796, 2.269, 2.806",\
                 "-0.0582, -0.0165, 0.1187, 0.3431, 0.6408, 0.9943, 1.397, 1.848, 2.354, 2.921",\
                 "-0.27, -0.2229, -0.0709, 0.1822, 0.5172, 0.9167, 1.368, 1.866, 2.414, 3.017");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5591, 0.5907, 0.7009, 0.9086, 1.229, 1.676, 2.262, 2.998, 3.896, 4.965",\
                 "0.5683, 0.5999, 0.7102, 0.9182, 1.239, 1.686, 2.272, 3.008, 3.906, 4.974",\
                 "0.6192, 0.6509, 0.761, 0.9689, 1.29, 1.737, 2.323, 3.059, 3.957, 5.026",\
                 "0.7389, 0.7701, 0.8779, 1.083, 1.401, 1.846, 2.43, 3.165, 4.062, 5.13",\
                 "0.9421, 0.9734, 1.079, 1.28, 1.591, 2.03, 2.609, 3.341, 4.235, 5.3",\
                 "1.198, 1.233, 1.352, 1.566, 1.876, 2.307, 2.878, 3.602, 4.489, 5.55",\
                 "1.502, 1.54, 1.67, 1.904, 2.245, 2.686, 3.248, 3.963, 4.84, 5.894",\
                 "1.862, 1.903, 2.043, 2.294, 2.662, 3.143, 3.728, 4.436, 5.302, 6.343",\
                 "2.28, 2.325, 2.476, 2.745, 3.136, 3.65, 4.282, 5.021, 5.884, 6.913",\
                 "2.754, 2.803, 2.969, 3.26, 3.674, 4.217, 4.887, 5.679, 6.581, 7.61");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2642, 0.2896, 0.3764, 0.5425, 0.8, 1.159, 1.632, 2.227, 2.953, 3.819",\
                 "0.2644, 0.2895, 0.3763, 0.5423, 0.7994, 1.158, 1.632, 2.227, 2.952, 3.818",\
                 "0.2672, 0.2908, 0.3768, 0.5422, 0.7989, 1.16, 1.633, 2.226, 2.953, 3.819",\
                 "0.3195, 0.3419, 0.4199, 0.5673, 0.8078, 1.16, 1.632, 2.226, 2.953, 3.818",\
                 "0.4114, 0.4326, 0.5076, 0.655, 0.886, 1.207, 1.648, 2.229, 2.952, 3.817",\
                 "0.5518, 0.573, 0.6462, 0.7858, 1.01, 1.332, 1.753, 2.292, 2.976, 3.821",\
                 "0.7254, 0.7482, 0.8266, 0.9692, 1.188, 1.498, 1.917, 2.45, 3.097, 3.892",\
                 "0.9256, 0.9502, 1.036, 1.189, 1.416, 1.724, 2.129, 2.658, 3.305, 4.074",\
                 "1.15, 1.177, 1.271, 1.438, 1.68, 2, 2.406, 2.918, 3.558, 4.331",\
                 "1.394, 1.424, 1.528, 1.711, 1.974, 2.315, 2.735, 3.244, 3.872, 4.633");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.9093, 0.9644, 1.156, 1.518, 2.077, 2.859, 3.884, 5.177, 6.748, 8.622",\
                 "0.9091, 0.9641, 1.156, 1.518, 2.077, 2.858, 3.885, 5.175, 6.749, 8.624",\
                 "0.9091, 0.9639, 1.156, 1.518, 2.077, 2.859, 3.885, 5.174, 6.748, 8.622",\
                 "0.9099, 0.9646, 1.156, 1.518, 2.077, 2.858, 3.885, 5.175, 6.747, 8.623",\
                 "0.9784, 1.026, 1.195, 1.529, 2.078, 2.859, 3.885, 5.175, 6.749, 8.623",\
                 "1.116, 1.167, 1.337, 1.644, 2.134, 2.869, 3.886, 5.175, 6.749, 8.625",\
                 "1.259, 1.313, 1.502, 1.835, 2.314, 2.983, 3.92, 5.18, 6.75, 8.624",\
                 "1.424, 1.481, 1.674, 2.029, 2.551, 3.223, 4.094, 5.252, 6.761, 8.626",\
                 "1.618, 1.676, 1.875, 2.239, 2.789, 3.512, 4.395, 5.484, 6.882, 8.654",\
                 "1.84, 1.901, 2.108, 2.48, 3.042, 3.801, 4.744, 5.844, 7.171, 8.828");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.214, 0.2285, 0.2788, 0.375, 0.5232, 0.7318, 1.005, 1.35, 1.771, 2.273",\
                 "0.2279, 0.2424, 0.2935, 0.3895, 0.5384, 0.7469, 1.021, 1.365, 1.787, 2.288",\
                 "0.2545, 0.2698, 0.3221, 0.4195, 0.5688, 0.7778, 1.052, 1.397, 1.818, 2.32",\
                 "0.2712, 0.2893, 0.3499, 0.4562, 0.6101, 0.8195, 1.094, 1.439, 1.86, 2.361",\
                 "0.2639, 0.2865, 0.3594, 0.4823, 0.6548, 0.8786, 1.157, 1.502, 1.922, 2.423",\
                 "0.2187, 0.2469, 0.3382, 0.4863, 0.6835, 0.9306, 1.232, 1.591, 2.013, 2.513",\
                 "0.1303, 0.1649, 0.2756, 0.4537, 0.686, 0.9642, 1.293, 1.677, 2.124, 2.634",\
                 "-0.0017, 0.0388, 0.1685, 0.3779, 0.6489, 0.9679, 1.333, 1.749, 2.223, 2.763",\
                 "-0.1801, -0.1333, 0.0145, 0.2545, 0.5652, 0.9302, 1.34, 1.797, 2.305, 2.875",\
                 "-0.4055, -0.3542, -0.1885, 0.0819, 0.4321, 0.8442, 1.305, 1.81, 2.362, 2.968");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5498, 0.5815, 0.6918, 0.8995, 1.22, 1.666, 2.251, 2.984, 3.882, 4.947",\
                 "0.559, 0.5908, 0.7013, 0.9093, 1.23, 1.675, 2.261, 2.997, 3.894, 4.957",\
                 "0.6099, 0.6416, 0.752, 0.9598, 1.28, 1.726, 2.311, 3.047, 3.945, 5.008",\
                 "0.7297, 0.7605, 0.8687, 1.074, 1.391, 1.835, 2.419, 3.153, 4.05, 5.118",\
                 "0.932, 0.9635, 1.07, 1.27, 1.581, 2.018, 2.597, 3.328, 4.22, 5.288",\
                 "1.186, 1.221, 1.34, 1.555, 1.866, 2.296, 2.865, 3.588, 4.475, 5.535",\
                 "1.488, 1.526, 1.656, 1.892, 2.233, 2.675, 3.236, 3.948, 4.825, 5.879",\
                 "1.845, 1.887, 2.028, 2.279, 2.649, 3.13, 3.715, 4.421, 5.286, 6.328",\
                 "2.26, 2.305, 2.458, 2.729, 3.12, 3.635, 4.266, 5.006, 5.867, 6.895",\
                 "2.729, 2.78, 2.947, 3.241, 3.655, 4.198, 4.87, 5.662, 6.564, 7.592");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2211, 0.2463, 0.3326, 0.4983, 0.7544, 1.115, 1.586, 2.181, 2.906, 3.772",\
                 "0.2215, 0.2463, 0.3326, 0.4987, 0.7551, 1.114, 1.586, 2.182, 2.906, 3.775",\
                 "0.2287, 0.2519, 0.3347, 0.4986, 0.755, 1.115, 1.586, 2.181, 2.909, 3.772",\
                 "0.2879, 0.3091, 0.3861, 0.5314, 0.7669, 1.115, 1.587, 2.182, 2.906, 3.772",\
                 "0.3897, 0.4094, 0.4808, 0.6226, 0.8514, 1.17, 1.608, 2.184, 2.907, 3.773",\
                 "0.5372, 0.5562, 0.6264, 0.7612, 0.9792, 1.297, 1.717, 2.251, 2.933, 3.777",\
                 "0.7166, 0.737, 0.8114, 0.9504, 1.164, 1.468, 1.883, 2.414, 3.06, 3.854",\
                 "0.9228, 0.9446, 1.023, 1.172, 1.396, 1.698, 2.101, 2.622, 3.27, 4.036",\
                 "1.152, 1.176, 1.26, 1.424, 1.661, 1.979, 2.382, 2.889, 3.527, 4.296",\
                 "1.395, 1.423, 1.519, 1.696, 1.957, 2.292, 2.711, 3.221, 3.842, 4.6");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.7859, 0.841, 1.034, 1.396, 1.959, 2.741, 3.767, 5.055, 6.63, 8.501",\
                 "0.786, 0.8407, 1.033, 1.398, 1.958, 2.739, 3.767, 5.059, 6.636, 8.503",\
                 "0.7853, 0.8407, 1.034, 1.398, 1.958, 2.74, 3.768, 5.056, 6.635, 8.502",\
                 "0.7854, 0.8403, 1.033, 1.396, 1.957, 2.739, 3.766, 5.059, 6.635, 8.51",\
                 "0.8526, 0.9008, 1.071, 1.407, 1.956, 2.739, 3.765, 5.056, 6.635, 8.512",\
                 "0.9772, 1.03, 1.209, 1.521, 2.014, 2.747, 3.765, 5.057, 6.632, 8.511",\
                 "1.104, 1.162, 1.357, 1.703, 2.19, 2.862, 3.798, 5.058, 6.631, 8.507",\
                 "1.254, 1.314, 1.517, 1.885, 2.418, 3.101, 3.972, 5.132, 6.64, 8.505",\
                 "1.433, 1.494, 1.707, 2.082, 2.643, 3.381, 4.271, 5.363, 6.76, 8.532",\
                 "1.631, 1.7, 1.921, 2.312, 2.885, 3.657, 4.613, 5.721, 7.052, 8.706");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1858, 0.1976, 0.2383, 0.3152, 0.4345, 0.6016, 0.8211, 1.098, 1.436, 1.838",\
                 "0.2001, 0.2122, 0.2532, 0.3307, 0.4499, 0.6172, 0.8368, 1.114, 1.451, 1.854",\
                 "0.2362, 0.249, 0.2918, 0.3702, 0.4905, 0.6581, 0.8779, 1.155, 1.492, 1.895",\
                 "0.2618, 0.2785, 0.333, 0.4249, 0.5532, 0.7221, 0.9423, 1.219, 1.557, 1.959",\
                 "0.2564, 0.2791, 0.3489, 0.4638, 0.6175, 0.8092, 1.04, 1.317, 1.655, 2.057",\
                 "0.2121, 0.2399, 0.3291, 0.4722, 0.6588, 0.8827, 1.145, 1.448, 1.794, 2.197",\
                 "0.1236, 0.1575, 0.2661, 0.4405, 0.6653, 0.9291, 1.229, 1.568, 1.949, 2.376",\
                 "-0.0088, 0.031, 0.1575, 0.363, 0.6285, 0.937, 1.284, 1.665, 2.086, 2.551",\
                 "-0.1877, -0.1423, 0.0029, 0.2385, 0.5432, 0.9002, 1.296, 1.729, 2.197, 2.705",\
                 "-0.4144, -0.3644, -0.2025, 0.0636, 0.4078, 0.8118, 1.261, 1.748, 2.272, 2.83");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5825, 0.6143, 0.7248, 0.9327, 1.253, 1.699, 2.286, 3.021, 3.914, 4.985",\
                 "0.5924, 0.6243, 0.735, 0.9432, 1.264, 1.711, 2.295, 3.031, 3.925, 4.993",\
                 "0.643, 0.6748, 0.7855, 0.9937, 1.314, 1.761, 2.346, 3.082, 3.979, 5.044",\
                 "0.7631, 0.7941, 0.9023, 1.108, 1.426, 1.87, 2.454, 3.188, 4.086, 5.154",\
                 "0.9677, 0.9992, 1.105, 1.305, 1.617, 2.055, 2.633, 3.363, 4.255, 5.32",\
                 "1.229, 1.263, 1.382, 1.594, 1.903, 2.333, 2.903, 3.626, 4.512, 5.573",\
                 "1.536, 1.574, 1.704, 1.939, 2.277, 2.715, 3.277, 3.99, 4.867, 5.918",\
                 "1.9, 1.941, 2.081, 2.332, 2.7, 3.179, 3.76, 4.467, 5.332, 6.373",\
                 "2.323, 2.368, 2.518, 2.787, 3.178, 3.691, 4.321, 5.057, 5.917, 6.944",\
                 "2.802, 2.852, 3.016, 3.306, 3.721, 4.263, 4.933, 5.722, 6.621, 7.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.1757, 0.1957, 0.2654, 0.3986, 0.6047, 0.8948, 1.274, 1.753, 2.336, 3.033",\
                 "0.1756, 0.1955, 0.2654, 0.3989, 0.6051, 0.8948, 1.274, 1.753, 2.335, 3.033",\
                 "0.1903, 0.2068, 0.2699, 0.3993, 0.6052, 0.8948, 1.274, 1.753, 2.335, 3.03",\
                 "0.2704, 0.2862, 0.3431, 0.4526, 0.629, 0.8998, 1.274, 1.753, 2.336, 3.03",\
                 "0.3908, 0.4068, 0.4634, 0.5736, 0.7458, 0.9864, 1.316, 1.764, 2.336, 3.029",\
                 "0.5494, 0.5662, 0.6264, 0.7376, 0.912, 1.154, 1.474, 1.875, 2.394, 3.05",\
                 "0.7378, 0.7552, 0.8194, 0.9416, 1.123, 1.368, 1.69, 2.094, 2.582, 3.178",\
                 "0.9524, 0.971, 1.041, 1.175, 1.37, 1.63, 1.957, 2.363, 2.857, 3.445",\
                 "1.19, 1.21, 1.287, 1.432, 1.65, 1.929, 2.273, 2.685, 3.183, 3.774",\
                 "1.443, 1.466, 1.553, 1.714, 1.954, 2.258, 2.629, 3.057, 3.565, 4.161");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.8263, 0.8823, 1.076, 1.44, 2.003, 2.787, 3.812, 5.105, 6.675, 8.552",\
                 "0.8264, 0.8828, 1.076, 1.44, 2.002, 2.785, 3.813, 5.101, 6.675, 8.55",\
                 "0.826, 0.8824, 1.076, 1.44, 2.002, 2.784, 3.813, 5.102, 6.68, 8.55",\
                 "0.8258, 0.8818, 1.074, 1.439, 2.001, 2.783, 3.812, 5.105, 6.682, 8.556",\
                 "0.8834, 0.9322, 1.106, 1.446, 2, 2.783, 3.811, 5.102, 6.676, 8.55",\
                 "1.01, 1.062, 1.24, 1.552, 2.048, 2.789, 3.81, 5.102, 6.678, 8.556",\
                 "1.136, 1.197, 1.39, 1.734, 2.22, 2.896, 3.839, 5.103, 6.676, 8.551",\
                 "1.28, 1.343, 1.544, 1.918, 2.447, 3.128, 4.003, 5.168, 6.685, 8.552",\
                 "1.454, 1.519, 1.729, 2.11, 2.673, 3.407, 4.297, 5.39, 6.795, 8.576",\
                 "1.652, 1.719, 1.942, 2.331, 2.91, 3.684, 4.634, 5.74, 7.076, 8.74");
        }
      }

      timing() {
        related_pin : "C1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3286, 0.347, 0.4098, 0.5276, 0.7085, 0.9603, 1.291, 1.706, 2.212, 2.816",\
                 "0.343, 0.3615, 0.4246, 0.5427, 0.7238, 0.9759, 1.306, 1.722, 2.228, 2.831",\
                 "0.3706, 0.3891, 0.4526, 0.5713, 0.753, 1.006, 1.336, 1.752, 2.259, 2.862",\
                 "0.3955, 0.4149, 0.4814, 0.602, 0.7839, 1.037, 1.368, 1.783, 2.289, 2.893",\
                 "0.4021, 0.4236, 0.4961, 0.627, 0.8196, 1.077, 1.407, 1.822, 2.328, 2.931",\
                 "0.3835, 0.4084, 0.4908, 0.6357, 0.8426, 1.116, 1.461, 1.879, 2.383, 2.984",\
                 "0.3254, 0.3551, 0.4522, 0.6177, 0.8473, 1.141, 1.504, 1.942, 2.459, 3.06",\
                 "0.2229, 0.2579, 0.371, 0.5623, 0.8217, 1.144, 1.531, 1.991, 2.53, 3.152",\
                 "0.0748, 0.1138, 0.2429, 0.4605, 0.7552, 1.114, 1.535, 2.023, 2.585, 3.231",\
                 "-0.124, -0.0799, 0.066, 0.3113, 0.6411, 1.041, 1.503, 2.028, 2.622, 3.294");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5825, 0.6143, 0.7248, 0.9327, 1.253, 1.699, 2.286, 3.021, 3.914, 4.985",\
                 "0.5924, 0.6243, 0.735, 0.9432, 1.264, 1.711, 2.295, 3.031, 3.925, 4.993",\
                 "0.643, 0.6748, 0.7855, 0.9937, 1.314, 1.761, 2.346, 3.082, 3.979, 5.044",\
                 "0.7631, 0.7941, 0.9023, 1.108, 1.426, 1.87, 2.454, 3.188, 4.086, 5.154",\
                 "0.9677, 0.9992, 1.105, 1.305, 1.617, 2.055, 2.633, 3.363, 4.255, 5.32",\
                 "1.229, 1.263, 1.382, 1.594, 1.903, 2.333, 2.903, 3.626, 4.512, 5.573",\
                 "1.536, 1.574, 1.704, 1.939, 2.277, 2.715, 3.277, 3.99, 4.867, 5.918",\
                 "1.9, 1.941, 2.081, 2.332, 2.7, 3.179, 3.76, 4.467, 5.332, 6.373",\
                 "2.323, 2.368, 2.518, 2.787, 3.178, 3.691, 4.321, 5.057, 5.917, 6.944",\
                 "2.802, 2.852, 3.016, 3.306, 3.721, 4.263, 4.933, 5.722, 6.621, 7.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3254, 0.3565, 0.4632, 0.6629, 0.9741, 1.406, 1.975, 2.69, 3.563, 4.601",\
                 "0.3263, 0.3566, 0.4632, 0.663, 0.9731, 1.406, 1.974, 2.69, 3.563, 4.601",\
                 "0.326, 0.3566, 0.4632, 0.663, 0.974, 1.406, 1.975, 2.69, 3.562, 4.601",\
                 "0.3576, 0.3859, 0.484, 0.6723, 0.975, 1.406, 1.974, 2.689, 3.563, 4.604",\
                 "0.4196, 0.4496, 0.5484, 0.737, 1.024, 1.429, 1.979, 2.688, 3.562, 4.602",\
                 "0.5282, 0.555, 0.6508, 0.8332, 1.121, 1.522, 2.045, 2.72, 3.569, 4.602",\
                 "0.6782, 0.708, 0.8048, 0.9856, 1.259, 1.653, 2.178, 2.834, 3.644, 4.636",\
                 "0.8598, 0.8916, 0.9956, 1.179, 1.457, 1.837, 2.347, 3.004, 3.806, 4.758",\
                 "1.066, 1.1, 1.212, 1.411, 1.696, 2.079, 2.577, 3.215, 4.012, 4.967",\
                 "1.297, 1.335, 1.457, 1.67, 1.971, 2.366, 2.866, 3.493, 4.27, 5.218");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.9966, 1.05, 1.238, 1.596, 2.154, 2.934, 3.96, 5.249, 6.823, 8.697",\
                 "0.9967, 1.05, 1.238, 1.597, 2.154, 2.934, 3.96, 5.25, 6.823, 8.696",\
                 "0.9964, 1.05, 1.238, 1.596, 2.153, 2.934, 3.96, 5.25, 6.823, 8.697",\
                 "0.9971, 1.05, 1.237, 1.596, 2.154, 2.934, 3.96, 5.25, 6.824, 8.696",\
                 "1.075, 1.12, 1.283, 1.611, 2.155, 2.935, 3.96, 5.25, 6.824, 8.696",\
                 "1.225, 1.272, 1.435, 1.734, 2.218, 2.946, 3.96, 5.25, 6.823, 8.7",\
                 "1.388, 1.437, 1.613, 1.935, 2.406, 3.069, 4, 5.253, 6.825, 8.699",\
                 "1.572, 1.624, 1.804, 2.144, 2.653, 3.318, 4.182, 5.334, 6.837, 8.699",\
                 "1.79, 1.842, 2.029, 2.373, 2.904, 3.617, 4.491, 5.575, 6.966, 8.732",\
                 "2.031, 2.09, 2.282, 2.636, 3.175, 3.919, 4.85, 5.944, 7.264, 8.914");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3726, 0.3905, 0.4538, 0.5723, 0.754, 1.007, 1.337, 1.753, 2.26, 2.863",\
                 "0.3841, 0.4019, 0.4654, 0.5839, 0.7657, 1.018, 1.349, 1.765, 2.272, 2.875",\
                 "0.4108, 0.429, 0.4926, 0.611, 0.793, 1.046, 1.377, 1.792, 2.3, 2.903",\
                 "0.4386, 0.4577, 0.523, 0.6424, 0.8241, 1.077, 1.408, 1.824, 2.33, 2.934",\
                 "0.4515, 0.4724, 0.5432, 0.6717, 0.8622, 1.118, 1.448, 1.863, 2.369, 2.972",\
                 "0.4453, 0.4689, 0.548, 0.6883, 0.8915, 1.162, 1.504, 1.92, 2.425, 3.026",\
                 "0.4086, 0.4356, 0.5273, 0.6856, 0.9079, 1.195, 1.554, 1.989, 2.503, 3.103",\
                 "0.3353, 0.3669, 0.4715, 0.6518, 0.9003, 1.214, 1.593, 2.047, 2.582, 3.201",\
                 "0.225, 0.2599, 0.3786, 0.5811, 0.8603, 1.205, 1.615, 2.093, 2.649, 3.289",\
                 "0.0762, 0.1155, 0.2466, 0.472, 0.7812, 1.163, 1.608, 2.12, 2.703, 3.365");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5575, 0.59, 0.7024, 0.913, 1.237, 1.687, 2.276, 3.015, 3.915, 4.986",\
                 "0.5695, 0.6018, 0.714, 0.925, 1.249, 1.699, 2.288, 3.027, 3.928, 4.999",\
                 "0.6078, 0.6395, 0.7526, 0.964, 1.288, 1.739, 2.328, 3.067, 3.967, 5.038",\
                 "0.6832, 0.7149, 0.8264, 1.036, 1.359, 1.807, 2.396, 3.135, 4.035, 5.106",\
                 "0.8184, 0.8511, 0.9626, 1.167, 1.484, 1.928, 2.513, 3.248, 4.146, 5.214",\
                 "1.002, 1.036, 1.151, 1.364, 1.683, 2.119, 2.694, 3.422, 4.313, 5.377",\
                 "1.238, 1.274, 1.393, 1.611, 1.94, 2.386, 2.955, 3.672, 4.554, 5.609",\
                 "1.52, 1.558, 1.686, 1.915, 2.253, 2.71, 3.294, 4.009, 4.877, 5.921",\
                 "1.842, 1.884, 2.024, 2.272, 2.625, 3.092, 3.69, 4.423, 5.294, 6.323",\
                 "2.209, 2.255, 2.408, 2.675, 3.053, 3.539, 4.148, 4.895, 5.788, 6.824");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3752, 0.4061, 0.5139, 0.7151, 1.027, 1.462, 2.03, 2.745, 3.618, 4.659",\
                 "0.3753, 0.4061, 0.5133, 0.7163, 1.026, 1.46, 2.03, 2.745, 3.62, 4.66",\
                 "0.3756, 0.4067, 0.5144, 0.7162, 1.026, 1.462, 2.03, 2.746, 3.619, 4.66",\
                 "0.4009, 0.43, 0.5301, 0.7229, 1.028, 1.461, 2.029, 2.745, 3.62, 4.66",\
                 "0.4628, 0.4922, 0.594, 0.784, 1.072, 1.479, 2.032, 2.745, 3.619, 4.66",\
                 "0.5692, 0.597, 0.695, 0.8804, 1.168, 1.57, 2.095, 2.773, 3.623, 4.658",\
                 "0.7236, 0.7514, 0.849, 1.029, 1.305, 1.7, 2.226, 2.883, 3.695, 4.691",\
                 "0.913, 0.9452, 1.049, 1.229, 1.502, 1.882, 2.396, 3.051, 3.854, 4.81",\
                 "1.139, 1.171, 1.281, 1.471, 1.75, 2.128, 2.624, 3.263, 4.061, 5.014",\
                 "1.394, 1.429, 1.547, 1.751, 2.041, 2.428, 2.921, 3.541, 4.317, 5.262");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.9968, 1.05, 1.238, 1.596, 2.154, 2.934, 3.958, 5.25, 6.82, 8.7",\
                 "0.9967, 1.05, 1.238, 1.596, 2.154, 2.934, 3.96, 5.249, 6.823, 8.695",\
                 "0.9961, 1.05, 1.238, 1.596, 2.154, 2.934, 3.959, 5.25, 6.823, 8.698",\
                 "1.002, 1.054, 1.238, 1.596, 2.154, 2.934, 3.96, 5.249, 6.825, 8.696",\
                 "1.07, 1.117, 1.286, 1.619, 2.157, 2.934, 3.959, 5.25, 6.824, 8.698",\
                 "1.188, 1.235, 1.4, 1.716, 2.22, 2.956, 3.962, 5.25, 6.823, 8.699",\
                 "1.337, 1.383, 1.545, 1.862, 2.357, 3.058, 4.014, 5.26, 6.826, 8.699",\
                 "1.529, 1.573, 1.732, 2.04, 2.533, 3.234, 4.153, 5.347, 6.854, 8.702",\
                 "1.751, 1.798, 1.963, 2.265, 2.748, 3.442, 4.367, 5.525, 6.976, 8.757",\
                 "1.997, 2.048, 2.218, 2.534, 3.014, 3.691, 4.61, 5.776, 7.194, 8.915");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3267, 0.3449, 0.4077, 0.5254, 0.7062, 0.9582, 1.288, 1.704, 2.21, 2.813",\
                 "0.3383, 0.3563, 0.4192, 0.537, 0.7179, 0.9699, 1.3, 1.715, 2.222, 2.824",\
                 "0.3645, 0.3828, 0.4459, 0.564, 0.7452, 0.9973, 1.328, 1.743, 2.25, 2.852",\
                 "0.3892, 0.4087, 0.4749, 0.5951, 0.7763, 1.028, 1.359, 1.774, 2.28, 2.884",\
                 "0.3968, 0.4183, 0.4906, 0.6207, 0.8126, 1.069, 1.399, 1.813, 2.319, 2.921",\
                 "0.3814, 0.4061, 0.489, 0.6328, 0.8386, 1.111, 1.454, 1.871, 2.375, 2.976",\
                 "0.3314, 0.3613, 0.4581, 0.6227, 0.8505, 1.141, 1.502, 1.938, 2.454, 3.054",\
                 "0.2461, 0.2802, 0.3919, 0.5809, 0.8369, 1.155, 1.538, 1.994, 2.53, 3.15",\
                 "0.1244, 0.1625, 0.2884, 0.5005, 0.7896, 1.142, 1.557, 2.038, 2.595, 3.236",\
                 "-0.035, 0.0074, 0.146, 0.3826, 0.703, 1.093, 1.545, 2.062, 2.647, 3.311");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5471, 0.5797, 0.6924, 0.9031, 1.226, 1.675, 2.262, 3, 3.898, 4.968",\
                 "0.5589, 0.5916, 0.7044, 0.9151, 1.238, 1.687, 2.274, 3.012, 3.91, 4.98",\
                 "0.5968, 0.6295, 0.7426, 0.9539, 1.277, 1.726, 2.314, 3.052, 3.95, 5.019",\
                 "0.6731, 0.7049, 0.8166, 1.026, 1.348, 1.796, 2.382, 3.12, 4.018, 5.087",\
                 "0.8074, 0.8401, 0.9525, 1.158, 1.473, 1.916, 2.499, 3.232, 4.128, 5.195",\
                 "0.9898, 1.024, 1.139, 1.353, 1.672, 2.106, 2.68, 3.407, 4.296, 5.358",\
                 "1.224, 1.26, 1.38, 1.6, 1.928, 2.373, 2.941, 3.657, 4.536, 5.591",\
                 "1.502, 1.541, 1.671, 1.902, 2.24, 2.696, 3.279, 3.993, 4.86, 5.902",\
                 "1.822, 1.864, 2.007, 2.256, 2.61, 3.077, 3.673, 4.406, 5.277, 6.305",\
                 "2.184, 2.23, 2.386, 2.656, 3.036, 3.523, 4.13, 4.877, 5.769, 6.805");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3263, 0.3575, 0.4641, 0.6647, 0.9737, 1.408, 1.976, 2.691, 3.564, 4.604",\
                 "0.3267, 0.3577, 0.4639, 0.6647, 0.9737, 1.408, 1.976, 2.69, 3.564, 4.604",\
                 "0.3272, 0.3581, 0.4638, 0.664, 0.9743, 1.407, 1.976, 2.69, 3.563, 4.603",\
                 "0.3596, 0.388, 0.4864, 0.6753, 0.9766, 1.408, 1.976, 2.691, 3.565, 4.603",\
                 "0.4252, 0.4542, 0.5524, 0.7404, 1.026, 1.431, 1.98, 2.69, 3.562, 4.604",\
                 "0.5402, 0.5668, 0.6624, 0.8406, 1.125, 1.525, 2.047, 2.722, 3.569, 4.603",\
                 "0.7002, 0.7274, 0.8216, 0.9982, 1.268, 1.658, 2.18, 2.836, 3.645, 4.638",\
                 "0.896, 0.9254, 1.025, 1.204, 1.472, 1.846, 2.352, 3.007, 3.807, 4.761",\
                 "1.124, 1.155, 1.262, 1.453, 1.723, 2.097, 2.588, 3.221, 4.015, 4.968",\
                 "1.382, 1.417, 1.529, 1.733, 2.021, 2.399, 2.886, 3.503, 4.273, 5.217");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.8653, 0.92, 1.111, 1.472, 2.031, 2.813, 3.839, 5.126, 6.704, 8.573",\
                 "0.8656, 0.9201, 1.11, 1.472, 2.031, 2.812, 3.838, 5.127, 6.701, 8.574",\
                 "0.8654, 0.9201, 1.111, 1.472, 2.031, 2.813, 3.839, 5.128, 6.701, 8.577",\
                 "0.8713, 0.9241, 1.111, 1.472, 2.031, 2.813, 3.839, 5.128, 6.703, 8.577",\
                 "0.9396, 0.9884, 1.16, 1.495, 2.035, 2.813, 3.839, 5.129, 6.703, 8.575",\
                 "1.049, 1.097, 1.268, 1.591, 2.098, 2.835, 3.841, 5.13, 6.704, 8.578",\
                 "1.188, 1.237, 1.404, 1.73, 2.234, 2.937, 3.892, 5.14, 6.702, 8.579",\
                 "1.367, 1.416, 1.582, 1.9, 2.401, 3.109, 4.032, 5.226, 6.733, 8.581",\
                 "1.571, 1.623, 1.798, 2.117, 2.61, 3.312, 4.242, 5.406, 6.855, 8.636",\
                 "1.797, 1.855, 2.04, 2.374, 2.87, 3.555, 4.481, 5.651, 7.073, 8.797");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2882, 0.3037, 0.3574, 0.4581, 0.6124, 0.8271, 1.109, 1.463, 1.894, 2.408",\
                 "0.3002, 0.3161, 0.3698, 0.4705, 0.625, 0.8398, 1.121, 1.475, 1.906, 2.42",\
                 "0.3357, 0.3513, 0.4054, 0.5062, 0.6608, 0.8758, 1.157, 1.511, 1.943, 2.457",\
                 "0.372, 0.3892, 0.4471, 0.5518, 0.7069, 0.9218, 1.203, 1.557, 1.989, 2.503",\
                 "0.3883, 0.408, 0.4742, 0.5909, 0.76, 0.9834, 1.266, 1.619, 2.049, 2.563",\
                 "0.3762, 0.3998, 0.4789, 0.6132, 0.8006, 1.043, 1.344, 1.706, 2.136, 2.648",\
                 "0.3271, 0.3562, 0.4503, 0.6083, 0.8229, 1.089, 1.413, 1.797, 2.247, 2.765",\
                 "0.2401, 0.2734, 0.383, 0.5673, 0.8145, 1.115, 1.467, 1.877, 2.352, 2.895",\
                 "0.1169, 0.154, 0.2777, 0.4866, 0.768, 1.107, 1.498, 1.941, 2.443, 3.014",\
                 "-0.0454, -0.0036, 0.133, 0.3656, 0.6798, 1.06, 1.494, 1.979, 2.518, 3.119");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5769, 0.6097, 0.7228, 0.9342, 1.258, 1.707, 2.295, 3.033, 3.932, 5.002",\
                 "0.5893, 0.6221, 0.7354, 0.9469, 1.271, 1.72, 2.308, 3.046, 3.945, 5.014",\
                 "0.6267, 0.6596, 0.7733, 0.9851, 1.309, 1.759, 2.347, 3.085, 3.984, 5.054",\
                 "0.7027, 0.7351, 0.8472, 1.057, 1.38, 1.829, 2.416, 3.154, 4.052, 5.121",\
                 "0.8405, 0.8727, 0.9843, 1.19, 1.506, 1.95, 2.533, 3.267, 4.163, 5.23",\
                 "1.027, 1.061, 1.177, 1.39, 1.708, 2.142, 2.717, 3.443, 4.333, 5.396",\
                 "1.267, 1.302, 1.422, 1.641, 1.969, 2.413, 2.981, 3.696, 4.576, 5.629",\
                 "1.553, 1.591, 1.72, 1.95, 2.286, 2.742, 3.325, 4.037, 4.904, 5.946",\
                 "1.882, 1.923, 2.064, 2.312, 2.664, 3.131, 3.726, 4.458, 5.326, 6.355",\
                 "2.254, 2.3, 2.453, 2.721, 3.098, 3.583, 4.191, 4.938, 5.827, 6.862");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2728, 0.2992, 0.39, 0.5606, 0.8235, 1.193, 1.675, 2.282, 3.024, 3.908",\
                 "0.2729, 0.2992, 0.3901, 0.5604, 0.8242, 1.192, 1.676, 2.282, 3.024, 3.907",\
                 "0.2737, 0.2998, 0.3903, 0.5602, 0.8236, 1.191, 1.675, 2.282, 3.024, 3.905",\
                 "0.315, 0.3392, 0.4209, 0.577, 0.8287, 1.191, 1.675, 2.281, 3.023, 3.908",\
                 "0.3956, 0.42, 0.5004, 0.6558, 0.8946, 1.229, 1.687, 2.283, 3.023, 3.907",\
                 "0.525, 0.5484, 0.627, 0.777, 1.012, 1.343, 1.778, 2.334, 3.04, 3.908",\
                 "0.6956, 0.7198, 0.8028, 0.953, 1.178, 1.501, 1.933, 2.482, 3.147, 3.969",\
                 "0.8984, 0.9264, 1.014, 1.173, 1.404, 1.718, 2.136, 2.678, 3.344, 4.136",\
                 "1.133, 1.162, 1.26, 1.432, 1.673, 1.993, 2.406, 2.927, 3.586, 4.38",\
                 "1.398, 1.428, 1.534, 1.72, 1.981, 2.314, 2.735, 3.248, 3.887, 4.669");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.9058, 0.9606, 1.152, 1.513, 2.073, 2.855, 3.882, 5.173, 6.748, 8.616",\
                 "0.9058, 0.9608, 1.152, 1.514, 2.073, 2.855, 3.882, 5.173, 6.746, 8.618",\
                 "0.9058, 0.9606, 1.152, 1.514, 2.074, 2.855, 3.883, 5.173, 6.748, 8.622",\
                 "0.9091, 0.9626, 1.152, 1.513, 2.074, 2.855, 3.882, 5.174, 6.747, 8.621",\
                 "0.9714, 1.021, 1.194, 1.534, 2.076, 2.855, 3.883, 5.173, 6.747, 8.621",\
                 "1.076, 1.126, 1.299, 1.624, 2.135, 2.875, 3.884, 5.173, 6.748, 8.624",\
                 "1.209, 1.258, 1.43, 1.759, 2.266, 2.972, 3.932, 5.181, 6.748, 8.622",\
                 "1.379, 1.428, 1.598, 1.921, 2.429, 3.14, 4.066, 5.264, 6.773, 8.625",\
                 "1.577, 1.629, 1.807, 2.128, 2.626, 3.337, 4.272, 5.437, 6.892, 8.678",\
                 "1.798, 1.853, 2.041, 2.377, 2.873, 3.572, 4.504, 5.682, 7.103, 8.832");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3254, 0.3436, 0.4062, 0.5238, 0.7045, 0.9564, 1.286, 1.702, 2.208, 2.811",\
                 "0.3369, 0.3549, 0.4177, 0.5354, 0.7162, 0.9681, 1.298, 1.713, 2.22, 2.822",\
                 "0.3632, 0.3814, 0.4444, 0.5625, 0.7435, 0.9955, 1.326, 1.741, 2.248, 2.85",\
                 "0.3876, 0.4071, 0.4733, 0.5935, 0.7746, 1.027, 1.357, 1.772, 2.278, 2.882",\
                 "0.3948, 0.4165, 0.4888, 0.6189, 0.8108, 1.068, 1.397, 1.811, 2.317, 2.919",\
                 "0.3792, 0.4038, 0.4869, 0.6308, 0.8367, 1.109, 1.452, 1.869, 2.373, 2.974",\
                 "0.3286, 0.3583, 0.4555, 0.6204, 0.8484, 1.139, 1.5, 1.936, 2.451, 3.052",\
                 "0.2429, 0.277, 0.3888, 0.5781, 0.8345, 1.153, 1.536, 1.992, 2.528, 3.147",\
                 "0.1207, 0.1593, 0.2845, 0.4981, 0.7869, 1.139, 1.554, 2.036, 2.593, 3.234",\
                 "-0.0392, 0.0032, 0.1421, 0.3791, 0.6999, 1.09, 1.542, 2.059, 2.645, 3.309");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5472, 0.5797, 0.6924, 0.9031, 1.226, 1.675, 2.262, 2.999, 3.898, 4.967",\
                 "0.5589, 0.5916, 0.7044, 0.9151, 1.238, 1.687, 2.274, 3.012, 3.91, 4.979",\
                 "0.5969, 0.6296, 0.7426, 0.9539, 1.277, 1.726, 2.314, 3.051, 3.95, 5.019",\
                 "0.673, 0.7051, 0.8165, 1.026, 1.348, 1.796, 2.382, 3.119, 4.017, 5.087",\
                 "0.8074, 0.8401, 0.9522, 1.158, 1.473, 1.916, 2.499, 3.232, 4.128, 5.195",\
                 "0.9903, 1.024, 1.139, 1.353, 1.672, 2.106, 2.68, 3.406, 4.296, 5.358",\
                 "1.224, 1.26, 1.38, 1.599, 1.928, 2.373, 2.941, 3.656, 4.536, 5.59",\
                 "1.502, 1.541, 1.671, 1.902, 2.24, 2.696, 3.279, 3.993, 4.86, 5.902",\
                 "1.822, 1.864, 2.007, 2.256, 2.61, 3.077, 3.673, 4.406, 5.276, 6.305",\
                 "2.184, 2.231, 2.386, 2.656, 3.036, 3.522, 4.131, 4.877, 5.769, 6.805");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3249, 0.3555, 0.462, 0.6628, 0.9723, 1.406, 1.975, 2.689, 3.561, 4.601",\
                 "0.325, 0.3558, 0.4619, 0.6628, 0.9723, 1.406, 1.974, 2.689, 3.562, 4.599",\
                 "0.3254, 0.3562, 0.4618, 0.6625, 0.9723, 1.406, 1.973, 2.688, 3.562, 4.601",\
                 "0.3581, 0.3866, 0.4851, 0.6732, 0.9746, 1.406, 1.974, 2.688, 3.562, 4.602",\
                 "0.4242, 0.4526, 0.551, 0.7386, 1.025, 1.429, 1.978, 2.688, 3.56, 4.602",\
                 "0.5392, 0.566, 0.6614, 0.8404, 1.124, 1.523, 2.046, 2.721, 3.567, 4.602",\
                 "0.6994, 0.7264, 0.8206, 0.997, 1.267, 1.658, 2.179, 2.834, 3.644, 4.635",\
                 "0.8958, 0.9248, 1.025, 1.203, 1.471, 1.843, 2.351, 3.006, 3.806, 4.759",\
                 "1.124, 1.156, 1.262, 1.449, 1.722, 2.096, 2.586, 3.22, 4.013, 4.966",\
                 "1.383, 1.416, 1.531, 1.733, 2.02, 2.398, 2.884, 3.502, 4.271, 5.216");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.8606, 0.9156, 1.105, 1.467, 2.026, 2.807, 3.831, 5.124, 6.694, 8.573",\
                 "0.861, 0.915, 1.106, 1.467, 2.025, 2.807, 3.833, 5.121, 6.696, 8.567",\
                 "0.8605, 0.9155, 1.106, 1.467, 2.025, 2.807, 3.833, 5.123, 6.696, 8.571",\
                 "0.8667, 0.9188, 1.106, 1.466, 2.026, 2.807, 3.834, 5.123, 6.697, 8.568",\
                 "0.9346, 0.983, 1.154, 1.49, 2.029, 2.807, 3.834, 5.124, 6.696, 8.571",\
                 "1.042, 1.091, 1.263, 1.586, 2.092, 2.83, 3.835, 5.123, 6.697, 8.573",\
                 "1.182, 1.231, 1.398, 1.724, 2.228, 2.931, 3.888, 5.134, 6.698, 8.573",\
                 "1.36, 1.408, 1.576, 1.894, 2.395, 3.104, 4.027, 5.221, 6.727, 8.576",\
                 "1.563, 1.616, 1.791, 2.111, 2.604, 3.306, 4.237, 5.4, 6.849, 8.63",\
                 "1.788, 1.843, 2.031, 2.368, 2.864, 3.548, 4.475, 5.649, 7.068, 8.791");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2813, 0.2992, 0.361, 0.4773, 0.6571, 0.9079, 1.237, 1.652, 2.158, 2.76",\
                 "0.2927, 0.3106, 0.3725, 0.489, 0.6687, 0.9196, 1.249, 1.663, 2.17, 2.772",\
                 "0.3188, 0.3368, 0.3991, 0.516, 0.6959, 0.947, 1.277, 1.691, 2.197, 2.799",\
                 "0.3385, 0.3582, 0.4252, 0.5463, 0.727, 0.9781, 1.308, 1.722, 2.228, 2.83",\
                 "0.3384, 0.3609, 0.4357, 0.5677, 0.7609, 1.019, 1.348, 1.761, 2.267, 2.868",\
                 "0.3099, 0.3371, 0.4249, 0.5741, 0.7834, 1.058, 1.402, 1.82, 2.323, 2.923",\
                 "0.246, 0.2783, 0.3826, 0.5555, 0.79, 1.085, 1.447, 1.885, 2.401, 3.001",\
                 "0.1464, 0.1833, 0.3035, 0.5034, 0.7696, 1.094, 1.481, 1.939, 2.475, 3.096",\
                 "0.0115, 0.0537, 0.1891, 0.4136, 0.7133, 1.074, 1.495, 1.98, 2.539, 3.181",\
                 "-0.1596, -0.1134, 0.0359, 0.2854, 0.6175, 1.019, 1.478, 2, 2.589, 3.255");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5372, 0.57, 0.6829, 0.8936, 1.216, 1.664, 2.25, 2.988, 3.884, 4.956",\
                 "0.549, 0.5818, 0.6949, 0.9058, 1.228, 1.676, 2.263, 3, 3.896, 4.962",\
                 "0.5869, 0.6198, 0.7332, 0.9446, 1.268, 1.716, 2.302, 3.039, 3.937, 5.004",\
                 "0.6631, 0.6953, 0.8069, 1.016, 1.338, 1.785, 2.37, 3.107, 4.002, 5.074",\
                 "0.7963, 0.8293, 0.9422, 1.148, 1.463, 1.905, 2.487, 3.219, 4.114, 5.181",\
                 "0.978, 1.012, 1.128, 1.342, 1.662, 2.095, 2.667, 3.393, 4.281, 5.343",\
                 "1.21, 1.246, 1.367, 1.588, 1.916, 2.361, 2.928, 3.642, 4.521, 5.574",\
                 "1.485, 1.525, 1.656, 1.889, 2.227, 2.683, 3.266, 3.978, 4.843, 5.885",\
                 "1.802, 1.845, 1.99, 2.241, 2.596, 3.063, 3.659, 4.39, 5.259, 6.286",\
                 "2.161, 2.208, 2.366, 2.639, 3.019, 3.507, 4.114, 4.86, 5.751, 6.787");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2758, 0.3064, 0.4114, 0.6099, 0.9195, 1.352, 1.918, 2.634, 3.505, 4.544",\
                 "0.2759, 0.306, 0.4115, 0.6103, 0.919, 1.351, 1.919, 2.633, 3.506, 4.542",\
                 "0.2776, 0.3071, 0.4114, 0.6106, 0.9187, 1.351, 1.919, 2.632, 3.505, 4.544",\
                 "0.3168, 0.3447, 0.4417, 0.6263, 0.9237, 1.352, 1.918, 2.633, 3.506, 4.545",\
                 "0.3902, 0.4166, 0.5106, 0.6946, 0.9796, 1.38, 1.925, 2.633, 3.505, 4.545",\
                 "0.5138, 0.5402, 0.6294, 0.8022, 1.081, 1.477, 1.998, 2.668, 3.513, 4.543",\
                 "0.6822, 0.708, 0.798, 0.9664, 1.232, 1.614, 2.132, 2.787, 3.594, 4.581",\
                 "0.8846, 0.9114, 1.008, 1.178, 1.443, 1.81, 2.308, 2.958, 3.757, 4.709",\
                 "1.121, 1.148, 1.25, 1.431, 1.7, 2.065, 2.551, 3.177, 3.965, 4.918",\
                 "1.379, 1.414, 1.519, 1.716, 2, 2.371, 2.856, 3.465, 4.229, 5.168");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.7313, 0.7877, 0.9793, 1.344, 1.904, 2.688, 3.715, 5.006, 6.584, 8.46",\
                 "0.7311, 0.7871, 0.9798, 1.345, 1.905, 2.688, 3.715, 5.007, 6.579, 8.448",\
                 "0.7304, 0.7869, 0.981, 1.344, 1.904, 2.687, 3.715, 5.006, 6.582, 8.461",\
                 "0.7362, 0.7898, 0.98, 1.342, 1.904, 2.686, 3.714, 5.005, 6.583, 8.457",\
                 "0.8032, 0.8536, 1.028, 1.365, 1.907, 2.686, 3.713, 5.005, 6.581, 8.459",\
                 "0.8996, 0.952, 1.13, 1.461, 1.97, 2.708, 3.714, 5.004, 6.579, 8.456",\
                 "1.029, 1.081, 1.257, 1.591, 2.103, 2.81, 3.766, 5.012, 6.579, 8.454",\
                 "1.191, 1.245, 1.424, 1.754, 2.264, 2.978, 3.906, 5.1, 6.606, 8.456",\
                 "1.375, 1.434, 1.625, 1.96, 2.466, 3.175, 4.113, 5.278, 6.728, 8.51",\
                 "1.576, 1.643, 1.848, 2.204, 2.718, 3.413, 4.346, 5.524, 6.946, 8.669");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2501, 0.2655, 0.3184, 0.4177, 0.571, 0.7848, 1.065, 1.419, 1.849, 2.362",\
                 "0.2625, 0.2778, 0.3308, 0.4303, 0.5835, 0.7973, 1.078, 1.431, 1.862, 2.375",\
                 "0.2972, 0.3127, 0.3661, 0.4659, 0.6194, 0.8334, 1.114, 1.467, 1.898, 2.412",\
                 "0.3272, 0.345, 0.4043, 0.5101, 0.6654, 0.8793, 1.16, 1.513, 1.944, 2.457",\
                 "0.3337, 0.3549, 0.4246, 0.5441, 0.7151, 0.9399, 1.223, 1.575, 2.005, 2.518",\
                 "0.3075, 0.3336, 0.4183, 0.5592, 0.7512, 0.9961, 1.299, 1.662, 2.092, 2.604",\
                 "0.2435, 0.2751, 0.377, 0.5446, 0.7669, 1.038, 1.364, 1.751, 2.202, 2.72",\
                 "0.1431, 0.1794, 0.2975, 0.4926, 0.7498, 1.058, 1.415, 1.828, 2.304, 2.849",\
                 "0.0061, 0.0467, 0.1802, 0.401, 0.6934, 1.043, 1.441, 1.889, 2.394, 2.965",\
                 "-0.1682, -0.1227, 0.0248, 0.2701, 0.5962, 0.988, 1.43, 1.922, 2.465, 3.068");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5664, 0.5995, 0.713, 0.9244, 1.248, 1.696, 2.284, 3.02, 3.918, 4.984",\
                 "0.5789, 0.6118, 0.7255, 0.9372, 1.261, 1.709, 2.296, 3.033, 3.931, 4.997",\
                 "0.6162, 0.6493, 0.7634, 0.9754, 1.3, 1.749, 2.336, 3.073, 3.971, 5.039",\
                 "0.6925, 0.7248, 0.8371, 1.047, 1.37, 1.818, 2.404, 3.141, 4.039, 5.109",\
                 "0.8289, 0.8618, 0.9745, 1.18, 1.496, 1.939, 2.52, 3.254, 4.148, 5.216",\
                 "1.015, 1.049, 1.166, 1.378, 1.697, 2.131, 2.704, 3.429, 4.318, 5.379",\
                 "1.253, 1.289, 1.41, 1.629, 1.957, 2.401, 2.968, 3.681, 4.56, 5.612",\
                 "1.537, 1.575, 1.706, 1.937, 2.273, 2.729, 3.311, 4.022, 4.888, 5.928",\
                 "1.862, 1.905, 2.047, 2.296, 2.65, 3.116, 3.711, 4.441, 5.309, 6.336",\
                 "2.23, 2.277, 2.433, 2.703, 3.082, 3.568, 4.175, 4.921, 5.809, 6.843");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2311, 0.2566, 0.3453, 0.515, 0.7768, 1.145, 1.628, 2.233, 2.974, 3.858",\
                 "0.2312, 0.2565, 0.3459, 0.5149, 0.777, 1.145, 1.627, 2.233, 2.974, 3.858",\
                 "0.2346, 0.2591, 0.3469, 0.5147, 0.7775, 1.145, 1.626, 2.233, 2.974, 3.855",\
                 "0.2833, 0.3058, 0.3858, 0.538, 0.7844, 1.146, 1.627, 2.233, 2.974, 3.858",\
                 "0.371, 0.3932, 0.4706, 0.6206, 0.8572, 1.188, 1.641, 2.235, 2.975, 3.856",\
                 "0.5068, 0.5292, 0.6062, 0.75, 0.9776, 1.306, 1.738, 2.292, 2.994, 3.858",\
                 "0.6816, 0.7056, 0.7858, 0.9318, 1.153, 1.468, 1.894, 2.441, 3.105, 3.923",\
                 "0.892, 0.917, 1.002, 1.158, 1.382, 1.69, 2.102, 2.64, 3.305, 4.094",\
                 "1.135, 1.159, 1.25, 1.415, 1.653, 1.97, 2.376, 2.893, 3.548, 4.339",\
                 "1.401, 1.429, 1.529, 1.708, 1.967, 2.292, 2.707, 3.218, 3.853, 4.63");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.7702, 0.8256, 1.021, 1.385, 1.947, 2.731, 3.758, 5.05, 6.623, 8.492",\
                 "0.7695, 0.8261, 1.019, 1.386, 1.947, 2.731, 3.759, 5.05, 6.623, 8.493",\
                 "0.7687, 0.8254, 1.02, 1.385, 1.947, 2.73, 3.758, 5.052, 6.628, 8.499",\
                 "0.7712, 0.8264, 1.019, 1.384, 1.946, 2.73, 3.758, 5.049, 6.628, 8.503",\
                 "0.8336, 0.884, 1.061, 1.402, 1.947, 2.729, 3.757, 5.05, 6.625, 8.503",\
                 "0.9272, 0.9806, 1.16, 1.494, 2.005, 2.748, 3.757, 5.048, 6.625, 8.499",\
                 "1.05, 1.101, 1.282, 1.618, 2.136, 2.845, 3.805, 5.054, 6.622, 8.499",\
                 "1.206, 1.261, 1.439, 1.774, 2.292, 3.01, 3.94, 5.138, 6.647, 8.501",\
                 "1.385, 1.443, 1.633, 1.972, 2.483, 3.2, 4.143, 5.31, 6.765, 8.55",\
                 "1.582, 1.644, 1.851, 2.207, 2.722, 3.43, 4.367, 5.553, 6.979, 8.706");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2825, 0.2977, 0.3503, 0.4484, 0.5993, 0.8095, 1.085, 1.431, 1.852, 2.355",\
                 "0.2942, 0.3094, 0.362, 0.4604, 0.6113, 0.8215, 1.097, 1.443, 1.865, 2.367",\
                 "0.3226, 0.3379, 0.3908, 0.4894, 0.6403, 0.8509, 1.126, 1.472, 1.894, 2.397",\
                 "0.3529, 0.3698, 0.427, 0.53, 0.682, 0.8923, 1.168, 1.514, 1.935, 2.438",\
                 "0.3672, 0.3869, 0.4524, 0.5677, 0.7346, 0.9545, 1.231, 1.576, 1.997, 2.499",\
                 "0.355, 0.3787, 0.4571, 0.5905, 0.7764, 1.016, 1.312, 1.668, 2.088, 2.589",\
                 "0.3072, 0.3359, 0.4292, 0.5865, 0.7997, 1.064, 1.384, 1.763, 2.205, 2.713",\
                 "0.2235, 0.2563, 0.3638, 0.5466, 0.7925, 1.091, 1.441, 1.847, 2.314, 2.848",\
                 "0.1033, 0.14, 0.261, 0.4675, 0.747, 1.084, 1.474, 1.913, 2.41, 2.973",\
                 "-0.0551, -0.0146, 0.1197, 0.3486, 0.6604, 1.039, 1.471, 1.954, 2.489, 3.083");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.5972, 0.629, 0.7391, 0.9469, 1.267, 1.714, 2.3, 3.036, 3.934, 5.003",\
                 "0.6094, 0.6411, 0.7514, 0.9591, 1.28, 1.727, 2.313, 3.049, 3.947, 5.016",\
                 "0.6476, 0.6794, 0.79, 0.9984, 1.319, 1.767, 2.353, 3.09, 3.987, 5.056",\
                 "0.7238, 0.7552, 0.8643, 1.071, 1.39, 1.836, 2.422, 3.158, 4.055, 5.124",\
                 "0.8607, 0.892, 1.001, 1.204, 1.517, 1.958, 2.539, 3.272, 4.167, 5.233",\
                 "1.047, 1.079, 1.193, 1.403, 1.718, 2.151, 2.723, 3.448, 4.336, 5.398",\
                 "1.286, 1.321, 1.438, 1.653, 1.979, 2.422, 2.987, 3.701, 4.58, 5.633",\
                 "1.574, 1.611, 1.736, 1.962, 2.296, 2.75, 3.331, 4.043, 4.909, 5.949",\
                 "1.904, 1.945, 2.082, 2.324, 2.673, 3.138, 3.732, 4.463, 5.33, 6.357",\
                 "2.279, 2.323, 2.472, 2.736, 3.108, 3.59, 4.197, 4.942, 5.831, 6.865");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3071, 0.3323, 0.4199, 0.5868, 0.8446, 1.205, 1.679, 2.273, 3.001, 3.866",\
                 "0.3069, 0.3322, 0.4199, 0.5868, 0.8446, 1.205, 1.677, 2.274, 3, 3.866",\
                 "0.3081, 0.3329, 0.4202, 0.5864, 0.8442, 1.204, 1.677, 2.273, 3.001, 3.866",\
                 "0.3552, 0.3778, 0.456, 0.6065, 0.8509, 1.205, 1.678, 2.274, 3, 3.866",\
                 "0.4446, 0.4666, 0.5434, 0.6926, 0.924, 1.248, 1.693, 2.274, 2.999, 3.865",\
                 "0.584, 0.6056, 0.6802, 0.8214, 1.047, 1.37, 1.791, 2.334, 3.022, 3.868",\
                 "0.7632, 0.787, 0.8634, 1.006, 1.224, 1.535, 1.956, 2.49, 3.137, 3.936",\
                 "0.9772, 1.002, 1.084, 1.232, 1.455, 1.76, 2.166, 2.694, 3.343, 4.114",\
                 "1.22, 1.246, 1.335, 1.498, 1.728, 2.04, 2.441, 2.953, 3.595, 4.369",\
                 "1.492, 1.52, 1.617, 1.789, 2.041, 2.367, 2.776, 3.278, 3.906, 4.669");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.9092, 0.964, 1.156, 1.518, 2.077, 2.859, 3.884, 5.176, 6.745, 8.625",\
                 "0.9093, 0.9643, 1.156, 1.518, 2.077, 2.859, 3.885, 5.173, 6.748, 8.62",\
                 "0.909, 0.9641, 1.156, 1.518, 2.077, 2.859, 3.885, 5.175, 6.748, 8.624",\
                 "0.9133, 0.9667, 1.156, 1.518, 2.077, 2.859, 3.885, 5.174, 6.749, 8.625",\
                 "0.975, 1.024, 1.199, 1.537, 2.08, 2.859, 3.886, 5.174, 6.749, 8.624",\
                 "1.078, 1.128, 1.302, 1.628, 2.138, 2.878, 3.887, 5.177, 6.75, 8.625",\
                 "1.208, 1.257, 1.431, 1.761, 2.269, 2.975, 3.935, 5.185, 6.75, 8.624",\
                 "1.377, 1.425, 1.596, 1.921, 2.431, 3.143, 4.07, 5.266, 6.776, 8.628",\
                 "1.576, 1.627, 1.803, 2.125, 2.625, 3.339, 4.274, 5.439, 6.893, 8.679",\
                 "1.798, 1.853, 2.039, 2.374, 2.874, 3.568, 4.507, 5.685, 7.105, 8.835");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2462, 0.2612, 0.3133, 0.4102, 0.5602, 0.7695, 1.044, 1.39, 1.811, 2.312",\
                 "0.2581, 0.273, 0.325, 0.4222, 0.5722, 0.7815, 1.056, 1.401, 1.823, 2.324",\
                 "0.2858, 0.301, 0.3534, 0.4511, 0.6011, 0.8109, 1.086, 1.431, 1.852, 2.355",\
                 "0.3101, 0.3276, 0.3858, 0.4902, 0.6428, 0.8523, 1.127, 1.472, 1.894, 2.396",\
                 "0.3146, 0.3355, 0.4045, 0.5228, 0.6919, 0.9134, 1.191, 1.535, 1.956, 2.457",\
                 "0.2888, 0.3146, 0.3988, 0.5386, 0.729, 0.9712, 1.269, 1.626, 2.047, 2.547",\
                 "0.2268, 0.2578, 0.3586, 0.525, 0.7461, 1.016, 1.338, 1.719, 2.163, 2.671",\
                 "0.1304, 0.166, 0.2815, 0.4745, 0.7303, 1.036, 1.391, 1.8, 2.269, 2.805",\
                 "-0.0016, 0.0384, 0.1682, 0.3858, 0.6762, 1.023, 1.419, 1.863, 2.363, 2.927",\
                 "-0.1708, -0.1275, 0.0163, 0.2578, 0.5814, 0.9702, 1.41, 1.899, 2.438, 3.035");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.588, 0.6198, 0.73, 0.9375, 1.257, 1.704, 2.289, 3.026, 3.919, 4.986",\
                 "0.6001, 0.6319, 0.7423, 0.9502, 1.27, 1.716, 2.302, 3.038, 3.933, 4.998",\
                 "0.6382, 0.6701, 0.7809, 0.9892, 1.31, 1.756, 2.342, 3.078, 3.972, 5.038",\
                 "0.7145, 0.7458, 0.8551, 1.062, 1.381, 1.826, 2.41, 3.146, 4.039, 5.108",\
                 "0.8505, 0.8819, 0.9918, 1.194, 1.508, 1.947, 2.527, 3.258, 4.153, 5.219",\
                 "1.036, 1.068, 1.182, 1.392, 1.708, 2.139, 2.71, 3.435, 4.322, 5.384",\
                 "1.273, 1.308, 1.426, 1.642, 1.968, 2.41, 2.974, 3.686, 4.565, 5.616",\
                 "1.559, 1.596, 1.723, 1.949, 2.283, 2.737, 3.317, 4.027, 4.893, 5.932",\
                 "1.887, 1.928, 2.066, 2.31, 2.66, 3.124, 3.717, 4.447, 5.313, 6.34",\
                 "2.258, 2.303, 2.454, 2.718, 3.092, 3.575, 4.181, 4.925, 5.813, 6.846");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2655, 0.2903, 0.3774, 0.5431, 0.8002, 1.16, 1.633, 2.227, 2.955, 3.819",\
                 "0.2652, 0.2903, 0.3772, 0.5435, 0.7999, 1.16, 1.633, 2.228, 2.955, 3.818",\
                 "0.2687, 0.293, 0.3784, 0.5433, 0.8001, 1.161, 1.633, 2.227, 2.955, 3.819",\
                 "0.3229, 0.3451, 0.4232, 0.5699, 0.8087, 1.161, 1.633, 2.227, 2.955, 3.82",\
                 "0.4206, 0.4416, 0.5152, 0.6594, 0.889, 1.209, 1.651, 2.229, 2.953, 3.819",\
                 "0.5694, 0.5884, 0.6602, 0.7966, 1.016, 1.335, 1.756, 2.293, 2.978, 3.822",\
                 "0.7556, 0.7762, 0.8492, 0.986, 1.199, 1.504, 1.921, 2.452, 3.099, 3.895",\
                 "0.976, 0.997, 1.073, 1.216, 1.434, 1.733, 2.136, 2.66, 3.306, 4.075",\
                 "1.225, 1.248, 1.328, 1.483, 1.713, 2.019, 2.416, 2.923, 3.559, 4.331",\
                 "1.498, 1.527, 1.614, 1.781, 2.024, 2.349, 2.751, 3.256, 3.873, 4.634");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.7858, 0.841, 1.033, 1.396, 1.957, 2.741, 3.768, 5.059, 6.628, 8.499",\
                 "0.7854, 0.8417, 1.034, 1.397, 1.958, 2.741, 3.768, 5.059, 6.632, 8.5",\
                 "0.7846, 0.8407, 1.034, 1.397, 1.957, 2.74, 3.767, 5.059, 6.63, 8.504",\
                 "0.7888, 0.8428, 1.034, 1.397, 1.957, 2.739, 3.767, 5.057, 6.629, 8.505",\
                 "0.8496, 0.8994, 1.075, 1.415, 1.958, 2.737, 3.766, 5.058, 6.634, 8.51",\
                 "0.942, 0.9936, 1.173, 1.505, 2.017, 2.757, 3.766, 5.056, 6.632, 8.508",\
                 "1.062, 1.114, 1.294, 1.63, 2.145, 2.855, 3.813, 5.063, 6.63, 8.506",\
                 "1.219, 1.273, 1.451, 1.784, 2.3, 3.019, 3.949, 5.145, 6.654, 8.508",\
                 "1.399, 1.455, 1.644, 1.98, 2.489, 3.209, 4.151, 5.318, 6.772, 8.557",\
                 "1.598, 1.659, 1.863, 2.216, 2.726, 3.436, 4.375, 5.56, 6.984, 8.712");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2107, 0.2228, 0.2646, 0.3431, 0.4636, 0.6318, 0.8521, 1.129, 1.468, 1.87",\
                 "0.2237, 0.2356, 0.2777, 0.3561, 0.4766, 0.6447, 0.8651, 1.142, 1.481, 1.883",\
                 "0.2613, 0.2738, 0.3162, 0.3951, 0.5161, 0.6841, 0.9048, 1.182, 1.52, 1.923",\
                 "0.2969, 0.3126, 0.3639, 0.4531, 0.5794, 0.7481, 0.9686, 1.246, 1.584, 1.987",\
                 "0.3058, 0.3258, 0.3913, 0.5003, 0.6496, 0.838, 1.067, 1.344, 1.682, 2.084",\
                 "0.2803, 0.3055, 0.3874, 0.5221, 0.7006, 0.9187, 1.177, 1.477, 1.822, 2.224",\
                 "0.2179, 0.2489, 0.3471, 0.5091, 0.7226, 0.9771, 1.27, 1.604, 1.982, 2.406",\
                 "0.1204, 0.1557, 0.2684, 0.4582, 0.7076, 1.003, 1.338, 1.711, 2.126, 2.587",\
                 "-0.0127, 0.0264, 0.1539, 0.367, 0.6516, 0.99, 1.372, 1.791, 2.249, 2.751",\
                 "-0.1845, -0.1412, -0.0004, 0.2369, 0.5542, 0.9343, 1.364, 1.834, 2.343, 2.891");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6208, 0.6527, 0.763, 0.9708, 1.291, 1.738, 2.323, 3.056, 3.955, 5.021",\
                 "0.6336, 0.6654, 0.776, 0.9842, 1.305, 1.751, 2.337, 3.07, 3.969, 5.034",\
                 "0.6711, 0.7031, 0.8141, 1.023, 1.344, 1.791, 2.376, 3.113, 4.007, 5.074",\
                 "0.7475, 0.7789, 0.8884, 1.095, 1.415, 1.86, 2.444, 3.18, 4.078, 5.144",\
                 "0.886, 0.9178, 1.027, 1.229, 1.542, 1.983, 2.563, 3.293, 4.189, 5.253",\
                 "1.076, 1.109, 1.222, 1.432, 1.745, 2.177, 2.748, 3.472, 4.36, 5.421",\
                 "1.32, 1.354, 1.471, 1.686, 2.011, 2.453, 3.016, 3.728, 4.606, 5.658",\
                 "1.612, 1.649, 1.774, 2, 2.333, 2.786, 3.365, 4.074, 4.938, 5.978",\
                 "1.949, 1.989, 2.126, 2.367, 2.715, 3.179, 3.773, 4.501, 5.366, 6.391",\
                 "2.33, 2.375, 2.523, 2.785, 3.156, 3.638, 4.243, 4.988, 5.875, 6.905");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.2099, 0.2304, 0.3003, 0.4345, 0.6406, 0.9313, 1.311, 1.79, 2.374, 3.069",\
                 "0.21, 0.2305, 0.3004, 0.4345, 0.6407, 0.9312, 1.311, 1.789, 2.373, 3.069",\
                 "0.2183, 0.2368, 0.3032, 0.4345, 0.6415, 0.9312, 1.312, 1.79, 2.373, 3.069",\
                 "0.2947, 0.3109, 0.3689, 0.4797, 0.6613, 0.935, 1.312, 1.788, 2.373, 3.068",\
                 "0.4146, 0.4308, 0.4888, 0.6002, 0.7736, 1.015, 1.349, 1.799, 2.373, 3.068",\
                 "0.5756, 0.5928, 0.6532, 0.7654, 0.9378, 1.182, 1.502, 1.905, 2.428, 3.084",\
                 "0.7716, 0.7898, 0.8538, 0.9708, 1.149, 1.395, 1.718, 2.122, 2.612, 3.212",\
                 "0.9992, 1.019, 1.086, 1.213, 1.404, 1.659, 1.981, 2.388, 2.885, 3.473",\
                 "1.258, 1.277, 1.35, 1.49, 1.694, 1.964, 2.298, 2.708, 3.206, 3.799",\
                 "1.538, 1.563, 1.645, 1.794, 2.017, 2.306, 2.661, 3.085, 3.585, 4.181");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.8268, 0.8824, 1.076, 1.439, 2.002, 2.787, 3.813, 5.098, 6.678, 8.545",\
                 "0.8271, 0.8822, 1.075, 1.441, 2.001, 2.786, 3.813, 5.098, 6.677, 8.547",\
                 "0.8257, 0.8823, 1.075, 1.439, 2.001, 2.784, 3.812, 5.104, 6.674, 8.55",\
                 "0.8279, 0.8823, 1.076, 1.44, 2.001, 2.783, 3.811, 5.104, 6.68, 8.551",\
                 "0.8826, 0.9336, 1.111, 1.455, 2.002, 2.783, 3.811, 5.103, 6.679, 8.551",\
                 "0.9742, 1.025, 1.208, 1.539, 2.054, 2.798, 3.81, 5.101, 6.678, 8.555",\
                 "1.086, 1.141, 1.321, 1.663, 2.18, 2.891, 3.853, 5.107, 6.676, 8.55",\
                 "1.237, 1.29, 1.472, 1.808, 2.33, 3.053, 3.984, 5.184, 6.697, 8.552",\
                 "1.415, 1.473, 1.659, 1.995, 2.511, 3.236, 4.182, 5.352, 6.81, 8.599",\
                 "1.613, 1.671, 1.876, 2.228, 2.737, 3.452, 4.403, 5.589, 7.016, 8.748");
        }
      }

      timing() {
        related_pin : "C2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3726, 0.3905, 0.4538, 0.5723, 0.754, 1.007, 1.337, 1.753, 2.26, 2.863",\
                 "0.3841, 0.4019, 0.4654, 0.5839, 0.7657, 1.018, 1.349, 1.765, 2.272, 2.875",\
                 "0.4108, 0.429, 0.4926, 0.611, 0.793, 1.046, 1.377, 1.792, 2.3, 2.903",\
                 "0.4386, 0.4577, 0.523, 0.6424, 0.8241, 1.077, 1.408, 1.824, 2.33, 2.934",\
                 "0.4515, 0.4724, 0.5432, 0.6717, 0.8622, 1.118, 1.448, 1.863, 2.369, 2.972",\
                 "0.4453, 0.4689, 0.548, 0.6883, 0.8915, 1.162, 1.504, 1.92, 2.425, 3.026",\
                 "0.4086, 0.4356, 0.5273, 0.6856, 0.9079, 1.195, 1.554, 1.989, 2.503, 3.103",\
                 "0.3353, 0.3669, 0.4715, 0.6518, 0.9003, 1.214, 1.593, 2.047, 2.582, 3.201",\
                 "0.225, 0.2599, 0.3786, 0.5811, 0.8603, 1.205, 1.615, 2.093, 2.649, 3.289",\
                 "0.0762, 0.1155, 0.2466, 0.472, 0.7812, 1.163, 1.608, 2.12, 2.703, 3.365");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.6208, 0.6527, 0.763, 0.9708, 1.291, 1.738, 2.323, 3.056, 3.955, 5.021",\
                 "0.6336, 0.6654, 0.776, 0.9842, 1.305, 1.751, 2.337, 3.07, 3.969, 5.034",\
                 "0.6711, 0.7031, 0.8141, 1.023, 1.344, 1.791, 2.376, 3.113, 4.007, 5.074",\
                 "0.7475, 0.7789, 0.8884, 1.095, 1.415, 1.86, 2.444, 3.18, 4.078, 5.144",\
                 "0.886, 0.9178, 1.027, 1.229, 1.542, 1.983, 2.563, 3.293, 4.189, 5.253",\
                 "1.076, 1.109, 1.222, 1.432, 1.745, 2.177, 2.748, 3.472, 4.36, 5.421",\
                 "1.32, 1.354, 1.471, 1.686, 2.011, 2.453, 3.016, 3.728, 4.606, 5.658",\
                 "1.612, 1.649, 1.774, 2, 2.333, 2.786, 3.365, 4.074, 4.938, 5.978",\
                 "1.949, 1.989, 2.126, 2.367, 2.715, 3.179, 3.773, 4.501, 5.366, 6.391",\
                 "2.33, 2.375, 2.523, 2.785, 3.156, 3.638, 4.243, 4.988, 5.875, 6.905");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.3752, 0.4061, 0.5139, 0.7151, 1.027, 1.462, 2.03, 2.745, 3.618, 4.659",\
                 "0.3753, 0.4061, 0.5133, 0.7163, 1.026, 1.46, 2.03, 2.745, 3.62, 4.66",\
                 "0.3756, 0.4067, 0.5144, 0.7162, 1.026, 1.462, 2.03, 2.746, 3.619, 4.66",\
                 "0.4009, 0.43, 0.5301, 0.7229, 1.028, 1.461, 2.029, 2.745, 3.62, 4.66",\
                 "0.4628, 0.4922, 0.594, 0.784, 1.072, 1.479, 2.032, 2.745, 3.619, 4.66",\
                 "0.5692, 0.597, 0.695, 0.8804, 1.168, 1.57, 2.095, 2.773, 3.623, 4.658",\
                 "0.7236, 0.7514, 0.849, 1.029, 1.305, 1.7, 2.226, 2.883, 3.695, 4.691",\
                 "0.913, 0.9452, 1.049, 1.229, 1.502, 1.882, 2.396, 3.051, 3.854, 4.81",\
                 "1.139, 1.171, 1.281, 1.471, 1.75, 2.128, 2.624, 3.263, 4.061, 5.014",\
                 "1.394, 1.429, 1.547, 1.751, 2.041, 2.428, 2.921, 3.541, 4.317, 5.262");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003118, 0.01055, 0.02475, 0.04687, 0.07791, 0.1187, 0.1702, 0.233, 0.3079");
          values("0.9968, 1.05, 1.238, 1.596, 2.154, 2.934, 3.958, 5.25, 6.82, 8.7",\
                 "0.9967, 1.05, 1.238, 1.596, 2.154, 2.934, 3.96, 5.249, 6.823, 8.695",\
                 "0.9961, 1.05, 1.238, 1.596, 2.154, 2.934, 3.959, 5.25, 6.823, 8.698",\
                 "1.002, 1.054, 1.238, 1.596, 2.154, 2.934, 3.96, 5.249, 6.825, 8.696",\
                 "1.07, 1.117, 1.286, 1.619, 2.157, 2.934, 3.959, 5.25, 6.824, 8.698",\
                 "1.188, 1.235, 1.4, 1.716, 2.22, 2.956, 3.962, 5.25, 6.823, 8.699",\
                 "1.337, 1.383, 1.545, 1.862, 2.357, 3.058, 4.014, 5.26, 6.826, 8.699",\
                 "1.529, 1.573, 1.732, 2.04, 2.533, 3.234, 4.153, 5.347, 6.854, 8.702",\
                 "1.751, 1.798, 1.963, 2.265, 2.748, 3.442, 4.367, 5.525, 6.976, 8.757",\
                 "1.997, 2.048, 2.218, 2.534, 3.014, 3.691, 4.61, 5.776, 7.194, 8.915");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__oai222_4) {
    area : 111.955200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "0.0001097547" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&!C1&C2" ;
      value : "0.000109758" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&!C2" ;
      value : "0.000109758" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&!B2&C1&C2" ;
      value : "0.000109758" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&!C2" ;
      value : "0.0001099461" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&!C1&C2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&!C2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!B1&B2&C1&C2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&!C2" ;
      value : "0.0001099461" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&!C1&C2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&!C2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&!B2&C1&C2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&!C2" ;
      value : "0.0001099494" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&!C1&C2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&!C2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&B1&B2&C1&C2" ;
      value : "0.0001104015" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&!C2" ;
      value : "0.0002389299" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&!C1&C2" ;
      value : "0.0002393457" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&!C2" ;
      value : "0.0002393457" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&!B2&C1&C2" ;
      value : "0.000239349" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&!C2" ;
      value : "0.000364584" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&!C1&C2" ;
      value : "0.000332409" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&!C2" ;
      value : "0.0002748768" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!B1&B2&C1&C2" ;
      value : "0.0002748768" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&!C2" ;
      value : "0.000364584" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&!C1&C2" ;
      value : "0.0002748768" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&!C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&!B2&C1&C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&!C2" ;
      value : "0.000365211" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&!C1&C2" ;
      value : "0.0002748768" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&!C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&B1&B2&C1&C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&!C2" ;
      value : "0.0002389233" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&!C1&C2" ;
      value : "0.000239349" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&!C2" ;
      value : "0.000239349" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&!B2&C1&C2" ;
      value : "0.0002393457" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&!C2" ;
      value : "0.000364584" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&!C1&C2" ;
      value : "0.0002748735" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&!C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!B1&B2&C1&C2" ;
      value : "0.0002173314" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&!C2" ;
      value : "0.000364584" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&!C1&C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&!C2" ;
      value : "0.0001597893" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&!B2&C1&C2" ;
      value : "0.0001597926" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&!C2" ;
      value : "0.000365178" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&!C1&C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&!C2" ;
      value : "0.0001597893" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&B1&B2&C1&C2" ;
      value : "0.0001597926" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&!C2" ;
      value : "0.0002399364" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&!C1&C2" ;
      value : "0.0002403621" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&!C2" ;
      value : "0.0002403588" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&!B2&C1&C2" ;
      value : "0.0002403621" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&!C2" ;
      value : "0.000365838" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&!C1&C2" ;
      value : "0.0002748768" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&!C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!B1&B2&C1&C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&!C2" ;
      value : "0.000365838" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&!C1&C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&!C2" ;
      value : "0.0001597926" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&!B2&C1&C2" ;
      value : "0.0001597926" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&!C2" ;
      value : "0.00036663" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&!C1&C2" ;
      value : "0.0002173347" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&!C2" ;
      value : "0.0001597926" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&B1&B2&C1&C2" ;
      value : "0.0001597926" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.00036663" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.0188 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06689, 0.06682, 0.06672, 0.0665, 0.06646, 0.06651, 0.06651, \
                 0.06649, 0.06654, 0.06657");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04766, 0.04775, 0.04765, 0.0474, 0.04721, 0.04719, 0.04695, \
                 0.04674, 0.0465, 0.0462");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0669, 0.0668, 0.06679, 0.06655, 0.06648, 0.06657, 0.06652, 0.06647, \
                 0.0665, 0.06656");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04767, 0.04776, 0.04763, 0.04745, 0.04736, 0.04715, 0.04694, \
                 0.04672, 0.04649, 0.04618");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06689, 0.06682, 0.06676, 0.06655, 0.06647, 0.0666, 0.06652, \
                 0.06647, 0.0665, 0.06654");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04767, 0.04772, 0.04758, 0.04745, 0.04729, 0.04712, 0.04691, \
                 0.04671, 0.04647, 0.04607");
        }
      }

      internal_power() {
        when : "!A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06687, 0.06682, 0.06675, 0.06655, 0.06647, 0.06657, 0.06652, \
                 0.06647, 0.0665, 0.06654");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04767, 0.04768, 0.04762, 0.04745, 0.04729, 0.04712, 0.04691, \
                 0.04671, 0.04648, 0.04607");
        }
      }

      internal_power() {
        when : "!A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06689, 0.0668, 0.06675, 0.06655, 0.06651, 0.06656, 0.06654, \
                 0.06647, 0.06651, 0.06657");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1872, 0.1873, 0.1873, 0.187, 0.1866, 0.1865, 0.1861, 0.1857, \
                 0.185, 0.1843");
        }
      }

      internal_power() {
        when : "!A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06684, 0.06682, 0.06676, 0.06655, 0.06647, 0.06656, 0.06652, \
                 0.06645, 0.06651, 0.06654");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1871, 0.1872, 0.1872, 0.187, 0.1867, 0.1864, 0.1859, 0.1856, \
                 0.185, 0.1843");
        }
      }

      internal_power() {
        when : "!A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06689, 0.06682, 0.06677, 0.06662, 0.06647, 0.06656, 0.06652, \
                 0.06647, 0.0665, 0.06654");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.22, 0.22, 0.2199, 0.2198, 0.2196, 0.2193, 0.2188, 0.2184, 0.2178, \
                 0.217");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06673, 0.06675, 0.0668, 0.06665, 0.06654, 0.06652, 0.06648, \
                 0.06644, 0.06635, 0.0663");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06424, -0.06422, -0.06444, -0.06491, -0.06522, -0.0655, -0.06561, \
                 -0.0657, -0.06569, -0.06573");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06681, 0.06682, 0.0669, 0.06679, 0.06663, 0.06665, 0.06653, \
                 0.0665, 0.0664, 0.06632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06412, -0.06416, -0.06446, -0.06489, -0.06519, -0.06542, -0.0656, \
                 -0.06566, -0.06569, -0.06572");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06672, 0.06679, 0.06688, 0.06675, 0.06662, 0.06661, 0.06656, \
                 0.06647, 0.0664, 0.06632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06407, -0.0642, -0.06442, -0.06487, -0.06516, -0.06545, -0.06562, \
                 -0.06569, -0.06574, -0.06578");
        }
      }

      internal_power() {
        when : "A2&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06673, 0.06679, 0.06685, 0.06673, 0.06662, 0.06661, 0.06657, \
                 0.06647, 0.0664, 0.06631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06408, -0.06422, -0.06442, -0.06489, -0.06518, -0.06547, -0.06562, \
                 -0.0657, -0.06573, -0.06575");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06693, 0.06694, 0.06701, 0.06691, 0.06677, 0.06672, 0.06663, \
                 0.06659, 0.06651, 0.06641");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06411, -0.06416, -0.06442, -0.06493, -0.06518, -0.06542, -0.06563, \
                 -0.06566, -0.06567, -0.06575");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0479, 0.04784, 0.0478, 0.04776, 0.04777, 0.04777, 0.04776, 0.04769, \
                 0.04763, 0.04751");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01906, -0.01912, -0.01913, -0.01917, -0.01921, -0.01923, \
                 -0.01922, -0.01924, -0.01923");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0479, 0.04786, 0.0478, 0.04777, 0.04775, 0.04777, 0.04775, 0.04769, \
                 0.04764, 0.04752");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01906, -0.01914, -0.01914, -0.01916, -0.01922, -0.01922, \
                 -0.01924, -0.01924, -0.01922");
        }
      }

      internal_power() {
        when : "A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04793, 0.04784, 0.04778, 0.04776, 0.04776, 0.04781, 0.04775, \
                 0.04769, 0.04762, 0.04751");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01909, -0.01905, -0.01912, -0.01916, -0.01915, -0.01924, -0.01922, \
                 -0.01922, -0.01924, -0.01923");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06687, 0.06692, 0.067, 0.06686, 0.06674, 0.06672, 0.06663, 0.06658, \
                 0.06648, 0.06638");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06407, -0.06421, -0.06439, -0.06489, -0.06516, -0.06546, -0.06561, \
                 -0.06568, -0.06573, -0.06578");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0479, 0.04784, 0.0478, 0.0478, 0.04776, 0.04778, 0.04775, 0.0477, \
                 0.04761, 0.04751");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01906, -0.01912, -0.01917, -0.01918, -0.01921, -0.01922, \
                 -0.01923, -0.01923, -0.01922");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0479, 0.04785, 0.0478, 0.04776, 0.04775, 0.04776, 0.04775, 0.0477, \
                 0.04764, 0.04751");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01906, -0.01912, -0.01914, -0.01917, -0.01925, -0.01922, \
                 -0.01922, -0.01924, -0.01923");
        }
      }

      internal_power() {
        when : "A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0479, 0.04783, 0.04778, 0.04779, 0.04772, 0.04779, 0.04775, \
                 0.0477, 0.04762, 0.04752");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01909, -0.01905, -0.01912, -0.01915, -0.01915, -0.01923, -0.01921, \
                 -0.01924, -0.01925, -0.01923");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06685, 0.06689, 0.06697, 0.06687, 0.06672, 0.06671, 0.06664, \
                 0.06658, 0.06648, 0.0664");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06407, -0.06415, -0.0644, -0.06482, -0.06514, -0.06547, -0.06561, \
                 -0.06568, -0.0657, -0.06578");
        }
      }

      internal_power() {
        when : "A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04791, 0.04782, 0.04777, 0.04778, 0.04774, 0.04778, 0.04775, \
                 0.04771, 0.04762, 0.04749");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01906, -0.01913, -0.01915, -0.01917, -0.01923, -0.01924, \
                 -0.01923, -0.01921, -0.01922");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04792, 0.04784, 0.04779, 0.0478, 0.04774, 0.04778, 0.04776, \
                 0.04771, 0.04762, 0.04749");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01906, -0.01913, -0.01915, -0.01918, -0.01924, -0.01922, \
                 -0.01921, -0.01922, -0.01923");
        }
      }

      internal_power() {
        when : "A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04791, 0.04784, 0.0478, 0.04776, 0.04776, 0.04779, 0.04778, \
                 0.04768, 0.04762, 0.04753");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01907, -0.01905, -0.01915, -0.01915, -0.01919, -0.01922, -0.01923, \
                 -0.01924, -0.01922, -0.01923");
        }
      }
    }

    pin(A2) {
      capacitance : 0.01757 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06663, 0.06662, 0.06665, 0.06658, 0.06652, 0.06659, 0.0665, \
                 0.06652, 0.0665, 0.06656");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04814, 0.04799, 0.04788, 0.04761, 0.04749, 0.04719, 0.04692, \
                 0.04675, 0.04651, 0.0461");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06664, 0.0666, 0.06667, 0.06663, 0.0666, 0.06663, 0.06653, 0.06655, \
                 0.06651, 0.06656");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04817, 0.04802, 0.04792, 0.04765, 0.04755, 0.04725, 0.04701, \
                 0.04678, 0.04645, 0.04611");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06663, 0.06665, 0.06664, 0.06652, 0.06656, 0.06659, 0.0665, \
                 0.06651, 0.06652, 0.06653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04815, 0.04798, 0.04786, 0.0476, 0.04752, 0.04718, 0.04699, \
                 0.04675, 0.04651, 0.0461");
        }
      }

      internal_power() {
        when : "!A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06663, 0.06665, 0.06671, 0.06652, 0.06656, 0.0666, 0.06648, \
                 0.06648, 0.06651, 0.06654");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04815, 0.04799, 0.04786, 0.0476, 0.04754, 0.04718, 0.04699, \
                 0.04674, 0.04649, 0.04607");
        }
      }

      internal_power() {
        when : "!A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06664, 0.06664, 0.06666, 0.06661, 0.06655, 0.06661, 0.06655, \
                 0.06654, 0.0665, 0.06653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1877, 0.1876, 0.1875, 0.1872, 0.187, 0.1866, 0.186, 0.1856, \
                 0.185, 0.1843");
        }
      }

      internal_power() {
        when : "!A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06663, 0.06665, 0.06664, 0.06654, 0.06659, 0.06658, 0.06653, \
                 0.06653, 0.0665, 0.06652");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1877, 0.1876, 0.1875, 0.1871, 0.1869, 0.1863, 0.186, 0.1855, \
                 0.1851, 0.1842");
        }
      }

      internal_power() {
        when : "!A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06663, 0.06665, 0.06664, 0.06652, 0.06656, 0.06655, 0.06652, \
                 0.06654, 0.06653, 0.06651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2205, 0.2204, 0.2203, 0.22, 0.2197, 0.2192, 0.2188, 0.2183, \
                 0.2178, 0.217");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06669, 0.06663, 0.06656, 0.06657, 0.06651, 0.06655, 0.06651, \
                 0.06645, 0.06644, 0.06633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06363, -0.0636, -0.06428, -0.06483, -0.06507, -0.06544, -0.06549, \
                 -0.0656, -0.06568, -0.06574");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06672, 0.06668, 0.06657, 0.06661, 0.06651, 0.0666, 0.06657, \
                 0.06644, 0.0664, 0.06632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06357, -0.06359, -0.06424, -0.06488, -0.06511, -0.06543, -0.06551, \
                 -0.06559, -0.06564, -0.06571");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06672, 0.06665, 0.06657, 0.0666, 0.06649, 0.06653, 0.0665, 0.06646, \
                 0.06638, 0.06633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06358, -0.06358, -0.06431, -0.06487, -0.06514, -0.06549, -0.06551, \
                 -0.06561, -0.06568, -0.06572");
        }
      }

      internal_power() {
        when : "A1&!B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06672, 0.06665, 0.0666, 0.06662, 0.06654, 0.06657, 0.06651, \
                 0.06644, 0.06637, 0.06636");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06354, -0.06358, -0.06426, -0.06487, -0.06513, -0.06548, -0.0655, \
                 -0.06562, -0.06568, -0.06571");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06685, 0.06676, 0.06669, 0.06669, 0.06667, 0.06674, 0.06666, \
                 0.06651, 0.06649, 0.06636");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0636, -0.06359, -0.06424, -0.06488, -0.06511, -0.06547, -0.06551, \
                 -0.06562, -0.06565, -0.06571");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05838, 0.05825, 0.05826, 0.05823, 0.05846, 0.05838, \
                 0.05844, 0.05838, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04885, -0.05283, -0.05593, -0.05671, -0.05692, -0.0573, -0.05737, \
                 -0.05753, -0.05756, -0.05763");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05837, 0.05826, 0.05821, 0.0583, 0.0585, 0.05843, 0.05841, \
                 0.05836, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04886, -0.05284, -0.05593, -0.05669, -0.05692, -0.05731, -0.05733, \
                 -0.05753, -0.05757, -0.05762");
        }
      }

      internal_power() {
        when : "A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05838, 0.05827, 0.05829, 0.0583, 0.0585, 0.05847, 0.0584, \
                 0.05839, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04885, -0.05283, -0.05594, -0.05674, -0.0569, -0.05731, -0.05742, \
                 -0.05752, -0.05756, -0.05758");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06684, 0.06682, 0.06672, 0.06675, 0.06665, 0.06664, 0.06661, \
                 0.06653, 0.06645, 0.06638");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06358, -0.06358, -0.06431, -0.06487, -0.06512, -0.06547, -0.06551, \
                 -0.06562, -0.06567, -0.06571");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05838, 0.05826, 0.05821, 0.05825, 0.05843, 0.05839, \
                 0.0584, 0.05837, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04886, -0.05284, -0.05593, -0.05669, -0.05692, -0.05731, -0.05739, \
                 -0.0575, -0.05758, -0.05762");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05838, 0.05826, 0.05826, 0.05828, 0.05846, 0.05843, \
                 0.05844, 0.0584, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04886, -0.05285, -0.05593, -0.05668, -0.05692, -0.0573, -0.05739, \
                 -0.05752, -0.05755, -0.05763");
        }
      }

      internal_power() {
        when : "A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05834, 0.05838, 0.05826, 0.0583, 0.05828, 0.05843, 0.05843, \
                 0.05839, 0.05843, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04885, -0.05283, -0.05594, -0.05667, -0.05691, -0.0573, -0.05735, \
                 -0.05751, -0.05756, -0.05761");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06681, 0.06679, 0.06671, 0.06674, 0.06664, 0.06663, 0.0666, \
                 0.06654, 0.06647, 0.06641");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.06358, -0.06358, -0.06425, -0.06489, -0.06512, -0.06544, -0.06551, \
                 -0.06562, -0.06568, -0.06571");
        }
      }

      internal_power() {
        when : "A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05838, 0.05813, 0.05829, 0.05822, 0.05847, 0.05844, \
                 0.05838, 0.05842, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04885, -0.05283, -0.05594, -0.05668, -0.05693, -0.05729, -0.0574, \
                 -0.05748, -0.05755, -0.05762");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05838, 0.05813, 0.05829, 0.0583, 0.0585, 0.05836, 0.05843, \
                 0.0584, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04888, -0.05283, -0.05594, -0.0567, -0.05693, -0.0573, -0.0574, \
                 -0.05745, -0.05758, -0.05766");
        }
      }

      internal_power() {
        when : "A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05833, 0.05838, 0.05813, 0.05827, 0.05821, 0.05845, 0.05839, \
                 0.05842, 0.05838, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04885, -0.05283, -0.05594, -0.05663, -0.05694, -0.05729, -0.05739, \
                 -0.0575, -0.05754, -0.05762");
        }
      }
    }

    pin(B1) {
      capacitance : 0.01864 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06375, 0.06395, 0.06389, 0.06373, 0.06366, 0.06364, 0.06353, \
                 0.06338, 0.06318, 0.06299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05875, -0.05865, -0.05848, -0.05837, -0.05832, -0.05834, -0.05833, \
                 -0.05829, -0.05825, -0.0583");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06348, 0.05946, 0.05869, 0.05855, 0.05843, 0.05847, 0.05844, \
                 0.05847, 0.05847, 0.05844");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05873, -0.05862, -0.05856, -0.05841, -0.05839, -0.05837, -0.05835, \
                 -0.0583, -0.05829, -0.05828");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06347, 0.05948, 0.05868, 0.05854, 0.0584, 0.05845, 0.05843, \
                 0.05846, 0.05846, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05867, -0.05861, -0.05855, -0.05842, -0.05836, -0.05839, -0.05833, \
                 -0.05832, -0.0583, -0.05834");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06273, 0.05903, 0.0587, 0.05851, 0.05841, 0.05845, 0.05847, \
                 0.05845, 0.05844, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05872, -0.05864, -0.05861, -0.05846, -0.05836, -0.05834, -0.05837, \
                 -0.05833, -0.0583, -0.0583");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06145, 0.06154, 0.06156, 0.06134, 0.06117, 0.06109, 0.06084, \
                 0.06057, 0.06024, 0.05978");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05611, -0.05612, -0.05632, -0.05684, -0.05711, -0.0574, -0.05751, \
                 -0.05758, -0.05761, -0.05767");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05859, 0.05868, 0.05867, 0.05861, 0.0585, 0.05851, 0.05848, \
                 0.05846, 0.05842, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05596, -0.05597, -0.05628, -0.05683, -0.05707, -0.05735, -0.05748, \
                 -0.05753, -0.05759, -0.05765");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05854, 0.0586, 0.05868, 0.05861, 0.05847, 0.05847, 0.05845, \
                 0.05843, 0.05841, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05591, -0.05596, -0.05622, -0.05675, -0.05707, -0.05734, -0.05749, \
                 -0.05755, -0.05759, -0.05766");
        }
      }

      internal_power() {
        when : "!A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05859, 0.05866, 0.05873, 0.05858, 0.05847, 0.05849, 0.05845, \
                 0.05843, 0.05841, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05595, -0.05596, -0.05624, -0.05675, -0.05707, -0.05736, -0.05747, \
                 -0.05756, -0.0576, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05933, 0.05924, 0.05923, 0.05898, 0.05889, 0.05892, 0.05887, \
                 0.05873, 0.0587, 0.05856");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01856, 0.01857, 0.01865, 0.01858, 0.01842, 0.01809, 0.01777, \
                 0.01738, 0.01684, 0.01605");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05897, 0.05897, 0.05906, 0.05895, 0.0588, 0.05873, 0.0586, 0.05846, \
                 0.0583, 0.05811");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.056, -0.05606, -0.05631, -0.05687, -0.05711, -0.05737, -0.0575, \
                 -0.05758, -0.0576, -0.05769");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04645, 0.04633, 0.04631, 0.04626, 0.04626, 0.04625, 0.04625, \
                 0.04616, 0.04609, 0.04601");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01907, -0.01909, -0.01912, -0.01915, -0.01919, -0.01918, \
                 -0.01918, -0.01918, -0.01919");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04645, 0.04632, 0.04632, 0.04626, 0.04623, 0.04625, 0.04623, \
                 0.04616, 0.0461, 0.04601");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01907, -0.01909, -0.01912, -0.01915, -0.01918, -0.01918, \
                 -0.01918, -0.01918, -0.01918");
        }
      }

      internal_power() {
        when : "!A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04642, 0.04632, 0.04629, 0.04624, 0.04623, 0.04628, 0.04624, \
                 0.04617, 0.04609, 0.04599");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01909, -0.01913, -0.0191, -0.01913, -0.01918, -0.01919, \
                 -0.01919, -0.01918, -0.01919");
        }
      }

      internal_power() {
        when : "A1&!A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05929, 0.05926, 0.05924, 0.05899, 0.05889, 0.05896, 0.05881, \
                 0.05875, 0.05868, 0.05857");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01855, 0.01859, 0.01864, 0.01856, 0.01846, 0.0181, 0.01775, \
                 0.01736, 0.01686, 0.01606");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05893, 0.05894, 0.05906, 0.05894, 0.05879, 0.05874, 0.05859, \
                 0.05846, 0.05828, 0.05813");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05597, -0.0561, -0.05635, -0.0568, -0.05709, -0.05739, -0.0575, \
                 -0.05758, -0.05759, -0.05769");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04645, 0.04633, 0.04631, 0.04627, 0.04626, 0.04626, 0.04623, \
                 0.04616, 0.04609, 0.04601");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01907, -0.01909, -0.01912, -0.01914, -0.01916, -0.01918, \
                 -0.01918, -0.01918, -0.01918");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04641, 0.04634, 0.04632, 0.04626, 0.04626, 0.04624, 0.04625, \
                 0.04616, 0.0461, 0.046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01907, -0.01909, -0.01912, -0.01913, -0.01916, -0.01917, \
                 -0.01918, -0.01918, -0.01919");
        }
      }

      internal_power() {
        when : "A1&!A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04639, 0.04633, 0.04629, 0.04624, 0.04624, 0.04628, 0.04623, \
                 0.04618, 0.0461, 0.04599");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01909, -0.01914, -0.0191, -0.01914, -0.0192, -0.0192, \
                 -0.01918, -0.01918, -0.01917");
        }
      }

      internal_power() {
        when : "A1&A2&!B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05923, 0.05921, 0.05919, 0.05894, 0.05885, 0.05893, 0.05881, \
                 0.0587, 0.05862, 0.05852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01888, 0.01888, 0.01896, 0.01883, 0.01864, 0.01838, 0.01806, \
                 0.01766, 0.01708, 0.01633");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05889, 0.05889, 0.059, 0.05888, 0.05871, 0.05866, 0.05853, 0.05845, \
                 0.05826, 0.05811");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05601, -0.05609, -0.05636, -0.05686, -0.05709, -0.0574, -0.05753, \
                 -0.05759, -0.0576, -0.05766");
        }
      }

      internal_power() {
        when : "A1&A2&B2&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04641, 0.04633, 0.0463, 0.04627, 0.04624, 0.04626, 0.04624, \
                 0.04617, 0.04609, 0.046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.0191, -0.01912, -0.01913, -0.01914, -0.0192, -0.01919, \
                 -0.01918, -0.01919, -0.01919");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04642, 0.04634, 0.0463, 0.04627, 0.04624, 0.04627, 0.04623, \
                 0.04617, 0.04611, 0.04601");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.0191, -0.01911, -0.01913, -0.01914, -0.0192, -0.0192, \
                 -0.01918, -0.01918, -0.01918");
        }
      }

      internal_power() {
        when : "A1&A2&B2&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04639, 0.04634, 0.04628, 0.04624, 0.04622, 0.04627, 0.04626, \
                 0.04617, 0.04609, 0.046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01909, -0.01906, -0.01912, -0.01911, -0.01913, -0.01919, -0.01917, \
                 -0.01918, -0.01919, -0.01918");
        }
      }
    }

    pin(B2) {
      capacitance : 0.01723 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06348, 0.06383, 0.06373, 0.06379, 0.06357, 0.06365, 0.06356, \
                 0.06335, 0.0632, 0.06289");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05819, -0.05828, -0.05834, -0.05824, -0.05819, -0.05837, -0.0583, \
                 -0.0583, -0.05831, -0.0583");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06328, 0.05938, 0.05843, 0.05841, 0.05841, 0.05842, 0.05848, \
                 0.0584, 0.05843, 0.05846");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05825, -0.05831, -0.05835, -0.05831, -0.05824, -0.05838, -0.05834, \
                 -0.05834, -0.05831, -0.0584");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06326, 0.05938, 0.05847, 0.05841, 0.0584, 0.05843, 0.05849, \
                 0.0584, 0.05844, 0.05846");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05821, -0.05828, -0.05833, -0.05829, -0.0582, -0.05834, -0.05834, \
                 -0.05832, -0.0583, -0.05831");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06249, 0.05889, 0.05846, 0.0584, 0.05837, 0.05847, 0.05845, \
                 0.05846, 0.05845, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05828, -0.05832, -0.05836, -0.05829, -0.05816, -0.05838, -0.05834, \
                 -0.05833, -0.0583, -0.05832");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06134, 0.06129, 0.06131, 0.06115, 0.0611, 0.06101, 0.0608, 0.06058, \
                 0.06023, 0.05978");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05541, -0.05536, -0.05602, -0.0567, -0.05692, -0.05732, -0.05738, \
                 -0.05752, -0.05756, -0.05767");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05839, 0.05835, 0.0584, 0.05835, 0.0583, 0.05837, 0.05844, 0.0584, \
                 0.0584, 0.05835");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05543, -0.05537, -0.05598, -0.0567, -0.05692, -0.05733, -0.05741, \
                 -0.05747, -0.05756, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05835, 0.05839, 0.05835, 0.05829, 0.05841, 0.05839, \
                 0.05841, 0.05841, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05542, -0.05537, -0.05599, -0.05668, -0.05692, -0.05732, -0.05741, \
                 -0.05746, -0.05755, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05835, 0.05845, 0.0583, 0.05837, 0.05839, 0.05838, \
                 0.05843, 0.05842, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05544, -0.05537, -0.05599, -0.05666, -0.05693, -0.05731, -0.05738, \
                 -0.05751, -0.05756, -0.05759");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05905, 0.05899, 0.05894, 0.05901, 0.0589, 0.05892, 0.05884, \
                 0.05872, 0.05865, 0.05857");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01888, 0.01884, 0.01886, 0.01875, 0.01852, 0.01811, 0.01777, \
                 0.01735, 0.01678, 0.01608");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05873, 0.05871, 0.05861, 0.05873, 0.05859, 0.0587, 0.05851, \
                 0.05843, 0.05833, 0.05812");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05542, -0.05536, -0.056, -0.05673, -0.05695, -0.05735, -0.05737, \
                 -0.05752, -0.05755, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0584, 0.05833, 0.05836, 0.05828, 0.05834, 0.05845, 0.05845, \
                 0.05841, 0.05838, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04877, -0.05281, -0.05598, -0.0567, -0.0569, -0.0573, -0.05739, \
                 -0.05751, -0.05756, -0.05761");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0584, 0.05834, 0.0583, 0.05826, 0.05833, 0.05845, 0.05841, 0.05841, \
                 0.05839, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04882, -0.05276, -0.05595, -0.0567, -0.0569, -0.0573, -0.05738, \
                 -0.05751, -0.05755, -0.0576");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05841, 0.05833, 0.05838, 0.05832, 0.05846, 0.05844, \
                 0.0584, 0.0584, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04877, -0.05279, -0.05595, -0.05665, -0.05693, -0.05728, -0.05736, \
                 -0.0575, -0.05752, -0.0576");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05905, 0.05899, 0.05896, 0.05896, 0.05891, 0.05889, 0.05888, \
                 0.05882, 0.05869, 0.05858");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01889, 0.01885, 0.01884, 0.01874, 0.01855, 0.0181, 0.01779, \
                 0.01734, 0.01684, 0.01612");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05874, 0.05862, 0.05865, 0.05868, 0.05862, 0.0587, 0.05852, \
                 0.05845, 0.05834, 0.05813");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05543, -0.05536, -0.05599, -0.05672, -0.05696, -0.05732, -0.05737, \
                 -0.05752, -0.05758, -0.0576");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0584, 0.05834, 0.05836, 0.0583, 0.05835, 0.05843, 0.05839, 0.05841, \
                 0.05842, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04879, -0.05279, -0.05595, -0.05668, -0.0569, -0.05726, -0.0574, \
                 -0.0575, -0.05758, -0.0576");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05841, 0.05833, 0.05829, 0.05827, 0.05834, 0.05842, 0.0584, \
                 0.05838, 0.0584, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04878, -0.05278, -0.05595, -0.05671, -0.0569, -0.05727, -0.05738, \
                 -0.05752, -0.05755, -0.0576");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05841, 0.05833, 0.05838, 0.05833, 0.05841, 0.05842, \
                 0.05839, 0.05837, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04877, -0.05278, -0.05594, -0.05666, -0.05692, -0.05729, -0.05735, \
                 -0.0575, -0.05754, -0.0576");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.059, 0.05894, 0.05891, 0.05891, 0.05883, 0.05883, 0.0588, 0.05876, \
                 0.05862, 0.05853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01921, 0.01917, 0.01917, 0.01901, 0.01883, 0.01842, 0.01806, \
                 0.01764, 0.01708, 0.01635");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05869, 0.05857, 0.05864, 0.05868, 0.05855, 0.05868, 0.05846, \
                 0.05842, 0.05832, 0.0581");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05543, -0.05535, -0.056, -0.05671, -0.05697, -0.05733, -0.05737, \
                 -0.05752, -0.05759, -0.05761");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.0584, 0.05834, 0.05829, 0.05831, 0.05839, 0.05845, \
                 0.05843, 0.05842, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04878, -0.05279, -0.05597, -0.05665, -0.05692, -0.05728, -0.05738, \
                 -0.05751, -0.05755, -0.05759");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.0584, 0.0584, 0.05827, 0.05828, 0.0584, 0.05846, 0.0584, \
                 0.05839, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04877, -0.05275, -0.05595, -0.05665, -0.05691, -0.05732, -0.05737, \
                 -0.05749, -0.05757, -0.05762");
        }
      }

      internal_power() {
        when : "A1&A2&B1&C1&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05844, 0.05841, 0.05832, 0.05832, 0.05839, 0.05849, 0.05839, \
                 0.05842, 0.05841, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04876, -0.05278, -0.05595, -0.05667, -0.05693, -0.0573, -0.05736, \
                 -0.05752, -0.05757, -0.0576");
        }
      }
    }

    pin(C1) {
      capacitance : 0.01865 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05876, 0.05873, 0.05862, 0.05846, 0.05842, 0.05841, 0.05842, \
                 0.05843, 0.05844, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05869, -0.0586, -0.05852, -0.05836, -0.05827, -0.05829, -0.05835, \
                 -0.05832, -0.05837, -0.05826");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05854, 0.0586, 0.05867, 0.05847, 0.05837, 0.05842, 0.05841, \
                 0.0584, 0.05839, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05605, -0.05605, -0.05627, -0.05684, -0.05714, -0.05739, -0.05753, \
                 -0.05759, -0.05762, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05876, 0.05871, 0.05867, 0.05848, 0.05844, 0.05846, 0.05844, \
                 0.05844, 0.05845, 0.05849");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0587, -0.05862, -0.05857, -0.05849, -0.05839, -0.05839, -0.05837, \
                 -0.05835, -0.05828, -0.0583");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05862, 0.05864, 0.05862, 0.05863, 0.0585, 0.05852, 0.05847, \
                 0.05842, 0.05841, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05592, -0.056, -0.0563, -0.05683, -0.0571, -0.05735, -0.05751, \
                 -0.05757, -0.05758, -0.05764");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05876, 0.05871, 0.05867, 0.05846, 0.05847, 0.05847, 0.05843, \
                 0.05846, 0.05845, 0.05847");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05868, -0.05859, -0.05855, -0.05847, -0.05838, -0.05837, -0.05834, \
                 -0.05835, -0.05831, -0.05832");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05857, 0.05861, 0.05869, 0.0586, 0.0585, 0.05849, 0.05846, 0.05842, \
                 0.05842, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05592, -0.056, -0.05621, -0.05681, -0.05711, -0.05736, -0.0575, \
                 -0.05758, -0.05761, -0.05768");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05875, 0.05871, 0.05866, 0.05848, 0.05841, 0.05844, 0.05841, \
                 0.05843, 0.05845, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0587, -0.05865, -0.05856, -0.05842, -0.05835, -0.05837, -0.05834, \
                 -0.05834, -0.05831, -0.05829");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05856, 0.05865, 0.0587, 0.05864, 0.0585, 0.05851, 0.05843, 0.05843, \
                 0.05841, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05592, -0.05604, -0.05628, -0.0568, -0.05706, -0.05737, -0.05749, \
                 -0.05758, -0.05761, -0.05768");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05877, 0.05869, 0.05865, 0.05851, 0.05843, 0.05851, 0.05846, \
                 0.05845, 0.05845, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05871, -0.05865, -0.0586, -0.05844, -0.05838, -0.05835, -0.05834, \
                 -0.05833, -0.05839, -0.0583");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05861, 0.05868, 0.0587, 0.05862, 0.05851, 0.05849, 0.05847, \
                 0.05842, 0.0584, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05592, -0.05599, -0.05629, -0.05684, -0.05713, -0.05738, -0.05749, \
                 -0.05757, -0.05759, -0.05766");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04708, 0.04705, 0.04699, 0.04697, 0.04692, 0.04696, 0.04692, \
                 0.04687, 0.04678, 0.04669");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01908, -0.01913, -0.01914, -0.01914, -0.0192, -0.01919, \
                 -0.01919, -0.01919, -0.01919");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04708, 0.04705, 0.04697, 0.04698, 0.04692, 0.04696, 0.04693, \
                 0.04686, 0.0468, 0.0467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01908, -0.0191, -0.01915, -0.01914, -0.01921, -0.01918, \
                 -0.0192, -0.01919, -0.0192");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04709, 0.04705, 0.04699, 0.04694, 0.04691, 0.04696, 0.04691, \
                 0.04685, 0.04679, 0.04668");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01909, -0.0191, -0.01915, -0.01914, -0.01921, -0.01919, \
                 -0.01921, -0.0192, -0.0192");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05875, 0.05871, 0.05866, 0.0585, 0.05843, 0.05848, 0.05844, \
                 0.05846, 0.05845, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0587, -0.05864, -0.05858, -0.05843, -0.05833, -0.05838, -0.05834, \
                 -0.05835, -0.05829, -0.05833");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05856, 0.0586, 0.05866, 0.05858, 0.05848, 0.05848, 0.05847, \
                 0.05843, 0.05841, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05593, -0.05602, -0.05627, -0.05678, -0.05707, -0.05736, -0.05754, \
                 -0.05758, -0.0576, -0.05766");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04708, 0.04705, 0.047, 0.04698, 0.04692, 0.04698, 0.04693, 0.04683, \
                 0.04679, 0.0467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0191, -0.01908, -0.01913, -0.01916, -0.01914, -0.0192, -0.01921, \
                 -0.0192, -0.01919, -0.01919");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04708, 0.04705, 0.04697, 0.04698, 0.04694, 0.04697, 0.04693, \
                 0.04687, 0.04679, 0.04671");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01907, -0.01912, -0.01915, -0.01915, -0.0192, -0.01919, \
                 -0.0192, -0.01918, -0.01919");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0471, 0.04702, 0.04698, 0.04694, 0.0469, 0.04695, 0.04691, 0.04685, \
                 0.04678, 0.04667");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01908, -0.01912, -0.01915, -0.01916, -0.01921, -0.0192, \
                 -0.01921, -0.0192, -0.01919");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05876, 0.05871, 0.05866, 0.0585, 0.05841, 0.05848, 0.05843, \
                 0.05845, 0.05845, 0.05844");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0587, -0.05864, -0.05861, -0.05843, -0.05835, -0.05838, -0.05836, \
                 -0.05834, -0.05829, -0.05832");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05856, 0.0586, 0.0587, 0.05859, 0.05848, 0.05848, 0.05847, 0.05844, \
                 0.05839, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05592, -0.05602, -0.05628, -0.05682, -0.05706, -0.05737, -0.05749, \
                 -0.05757, -0.05765, -0.05764");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04708, 0.04705, 0.047, 0.04697, 0.0469, 0.04696, 0.04692, 0.04686, \
                 0.04679, 0.0467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01913, -0.01908, -0.01912, -0.01916, -0.01914, -0.0192, -0.0192, \
                 -0.0192, -0.0192, -0.0192");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04708, 0.04705, 0.047, 0.04697, 0.04692, 0.04696, 0.0469, 0.04686, \
                 0.04678, 0.04669");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01911, -0.01908, -0.01912, -0.01916, -0.01913, -0.01921, -0.01921, \
                 -0.01921, -0.01919, -0.01919");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04709, 0.04705, 0.04699, 0.04695, 0.04692, 0.04696, 0.04693, \
                 0.04686, 0.04679, 0.04669");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01912, -0.01907, -0.01914, -0.01914, -0.01914, -0.01921, -0.01919, \
                 -0.01918, -0.01918, -0.0192");
        }
      }
    }

    pin(C2) {
      capacitance : 0.01687 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0585, 0.05855, 0.0586, 0.05831, 0.05838, 0.05839, 0.05845, 0.05846, \
                 0.05846, 0.05843");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05827, -0.05832, -0.05829, -0.05825, -0.05823, -0.05831, -0.05831, \
                 -0.05827, -0.0583, -0.05834");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05833, 0.05839, 0.05839, 0.05838, 0.05846, 0.05842, \
                 0.05844, 0.0584, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05533, -0.05614, -0.05672, -0.0569, -0.0573, -0.05734, \
                 -0.05751, -0.05756, -0.05762");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05852, 0.05856, 0.05859, 0.05844, 0.05841, 0.05841, 0.05842, \
                 0.05843, 0.05841, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05832, -0.05839, -0.05833, -0.05835, -0.05822, -0.05836, -0.05835, \
                 -0.05832, -0.0583, -0.0583");
        }
      }

      internal_power() {
        when : "!A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05833, 0.05817, 0.05839, 0.0583, 0.05839, 0.05843, \
                 0.05834, 0.05842, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05539, -0.05532, -0.05608, -0.05666, -0.05696, -0.05732, -0.05735, \
                 -0.05751, -0.05755, -0.0576");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05851, 0.05856, 0.05864, 0.05844, 0.05842, 0.05843, 0.05846, \
                 0.05839, 0.05846, 0.05842");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0583, -0.05832, -0.05831, -0.0583, -0.0582, -0.05831, -0.05834, \
                 -0.05832, -0.05829, -0.05837");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05833, 0.05817, 0.05836, 0.05829, 0.05834, 0.05847, \
                 0.05837, 0.05843, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05534, -0.05603, -0.05664, -0.05697, -0.0573, -0.05737, \
                 -0.05752, -0.05755, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0585, 0.05853, 0.05841, 0.05837, 0.05843, 0.05839, 0.05845, \
                 0.05846, 0.05844, 0.05845");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05828, -0.05832, -0.05832, -0.05834, -0.05825, -0.05831, -0.05833, \
                 -0.05831, -0.05829, -0.05832");
        }
      }

      internal_power() {
        when : "!A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05829, 0.05815, 0.05828, 0.05838, 0.05835, 0.05845, \
                 0.05838, 0.05833, 0.05839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05539, -0.05535, -0.05606, -0.05676, -0.05696, -0.05729, -0.05735, \
                 -0.0575, -0.05756, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05852, 0.05852, 0.05861, 0.05844, 0.0584, 0.05839, 0.05846, \
                 0.05845, 0.05844, 0.05846");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05832, -0.05836, -0.05834, -0.0583, -0.05823, -0.0583, -0.05833, \
                 -0.05833, -0.05831, -0.05828");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05838, 0.05834, 0.0583, 0.05839, 0.05835, 0.05849, 0.05839, \
                 0.05846, 0.0584, 0.05836");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05527, -0.05612, -0.05672, -0.05691, -0.05731, -0.05735, \
                 -0.05752, -0.05755, -0.05761");
        }
      }

      internal_power() {
        when : "!A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05832, 0.05816, 0.05822, 0.05839, 0.05838, 0.05842, \
                 0.05841, 0.05839, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0488, -0.05282, -0.05605, -0.05671, -0.05696, -0.05732, -0.05737, \
                 -0.05752, -0.05757, -0.05763");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05832, 0.05816, 0.0583, 0.05835, 0.0584, 0.05843, 0.05839, \
                 0.05844, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04882, -0.05281, -0.05605, -0.05668, -0.05696, -0.05731, -0.05737, \
                 -0.05751, -0.05755, -0.05762");
        }
      }

      internal_power() {
        when : "!A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05828, 0.05819, 0.0583, 0.05839, 0.05845, 0.05837, \
                 0.0584, 0.0584, 0.05838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0488, -0.05282, -0.05606, -0.05669, -0.05694, -0.05732, -0.0574, \
                 -0.05748, -0.05755, -0.05763");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0585, 0.05852, 0.05863, 0.05839, 0.05837, 0.05838, 0.05844, \
                 0.05846, 0.05846, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0583, -0.05835, -0.05832, -0.05831, -0.05822, -0.05833, -0.05833, \
                 -0.05832, -0.05834, -0.05831");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05834, 0.05831, 0.05839, 0.05835, 0.05853, 0.05839, \
                 0.05846, 0.05839, 0.05837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0554, -0.05533, -0.05614, -0.05672, -0.0569, -0.05731, -0.05735, \
                 -0.05751, -0.05755, -0.05763");
        }
      }

      internal_power() {
        when : "A1&!A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05832, 0.05816, 0.05825, 0.05837, 0.05839, 0.05841, \
                 0.05841, 0.05842, 0.05837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04881, -0.05283, -0.05605, -0.0567, -0.05696, -0.05732, -0.05735, \
                 -0.0575, -0.05753, -0.05761");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05832, 0.05816, 0.05817, 0.05838, 0.05837, 0.05839, \
                 0.05838, 0.05839, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04882, -0.05279, -0.05603, -0.05668, -0.05695, -0.05731, -0.05736, \
                 -0.05753, -0.05756, -0.0576");
        }
      }

      internal_power() {
        when : "A1&!A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05828, 0.05819, 0.05833, 0.05846, 0.05847, 0.05841, \
                 0.05839, 0.05836, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04881, -0.05282, -0.05605, -0.05669, -0.05696, -0.05731, -0.05741, \
                 -0.05746, -0.05756, -0.05763");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&!C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05851, 0.05852, 0.05863, 0.05839, 0.05838, 0.05839, 0.05849, \
                 0.05847, 0.05846, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0583, -0.05835, -0.05833, -0.05831, -0.05822, -0.05833, -0.05834, \
                 -0.05829, -0.05828, -0.0583");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05837, 0.05834, 0.05831, 0.05839, 0.05838, 0.05848, 0.05842, \
                 0.05846, 0.05839, 0.05837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.05539, -0.05526, -0.05605, -0.05672, -0.05691, -0.0573, -0.05735, \
                 -0.05753, -0.05755, -0.05761");
        }
      }

      internal_power() {
        when : "A1&A2&!B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05832, 0.05816, 0.05828, 0.05835, 0.05842, 0.0585, \
                 0.05836, 0.0584, 0.0584");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04879, -0.05282, -0.05605, -0.05667, -0.05692, -0.05732, -0.05735, \
                 -0.05752, -0.05753, -0.05762");
        }
      }

      internal_power() {
        when : "A1&A2&B1&!B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05835, 0.05832, 0.05816, 0.05828, 0.05845, 0.05843, 0.05845, \
                 0.05836, 0.05839, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04881, -0.05278, -0.05604, -0.05669, -0.05691, -0.05732, -0.05734, \
                 -0.0575, -0.05756, -0.05763");
        }
      }

      internal_power() {
        when : "A1&A2&B1&B2&C1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05836, 0.05828, 0.05814, 0.05838, 0.05835, 0.05849, 0.05847, \
                 0.05841, 0.05841, 0.05841");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04879, -0.05281, -0.05606, -0.05671, -0.05698, -0.05731, -0.0574, \
                 -0.05747, -0.05754, -0.05766");
        }
      }
    }

    pin(ZN) {
      direction : output ;
      function : "(((!A1)&(!A2))|((!B1)&(!B2))|((!C1)&(!C2)))" ;
      max_capacitance : 0.6172 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1389, 0.139, 0.1391, 0.1393, 0.1394, 0.1396, 0.1396, 0.1397, 0.1397, 0.1396",\
                 "0.1403, 0.1404, 0.1408, 0.1414, 0.1417, 0.1421, 0.1422, 0.1423, 0.1424, 0.1425",\
                 "0.143, 0.143, 0.1433, 0.1435, 0.1438, 0.1442, 0.1444, 0.1444, 0.1445, 0.1446",\
                 "0.1538, 0.1534, 0.1525, 0.1512, 0.15, 0.149, 0.1481, 0.1476, 0.1471, 0.1467",\
                 "0.1804, 0.1794, 0.1758, 0.1713, 0.1667, 0.1629, 0.1594, 0.1568, 0.1546, 0.153",\
                 "0.2281, 0.2258, 0.2193, 0.21, 0.2003, 0.1911, 0.1835, 0.1769, 0.1715, 0.1672",\
                 "0.2999, 0.2965, 0.2862, 0.2709, 0.2544, 0.2386, 0.2245, 0.2124, 0.2022, 0.1935",\
                 "0.3978, 0.3933, 0.3792, 0.3574, 0.3327, 0.3089, 0.2869, 0.2672, 0.2504, 0.2359",\
                 "0.5231, 0.5175, 0.4996, 0.4718, 0.4385, 0.405, 0.3733, 0.3451, 0.3199, 0.2978",\
                 "0.6766, 0.6701, 0.649, 0.6152, 0.5735, 0.5293, 0.4872, 0.4484, 0.4137, 0.3826");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3542, 0.3549, 0.3565, 0.3582, 0.3597, 0.3613, 0.3624, 0.3639, 0.3663, 0.3724",\
                 "0.3515, 0.3525, 0.3552, 0.3585, 0.3612, 0.3632, 0.3653, 0.3672, 0.3696, 0.3761",\
                 "0.3533, 0.3537, 0.3551, 0.3577, 0.3607, 0.3633, 0.3659, 0.3682, 0.3712, 0.3782",\
                 "0.3719, 0.3709, 0.3687, 0.3671, 0.3666, 0.3673, 0.3687, 0.3704, 0.3725, 0.3798",\
                 "0.4123, 0.4101, 0.4036, 0.3958, 0.3889, 0.3842, 0.3817, 0.3807, 0.3808, 0.3872",\
                 "0.4765, 0.473, 0.4621, 0.4482, 0.4335, 0.4214, 0.4117, 0.4044, 0.4002, 0.4056",\
                 "0.567, 0.5618, 0.5469, 0.5259, 0.5039, 0.4828, 0.4643, 0.4496, 0.4391, 0.442",\
                 "0.6844, 0.6785, 0.6599, 0.6322, 0.6014, 0.5715, 0.5433, 0.5198, 0.5003, 0.5024",\
                 "0.8317, 0.8244, 0.8023, 0.7685, 0.7288, 0.6888, 0.6518, 0.6177, 0.59, 0.5942",\
                 "1.009, 1.002, 0.9756, 0.9362, 0.8879, 0.8381, 0.7905, 0.7456, 0.7132, 0.7337");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09587, 0.09597, 0.09619, 0.09645, 0.09663, 0.09671, 0.09674, 0.09681, 0.09684, 0.09681",\
                 "0.09678, 0.09712, 0.0976, 0.09829, 0.09878, 0.09911, 0.09931, 0.09947, 0.09955, 0.09959",\
                 "0.09963, 0.09976, 0.1, 0.1004, 0.1008, 0.1012, 0.1014, 0.1016, 0.1016, 0.1017",\
                 "0.1118, 0.1114, 0.11, 0.1087, 0.1073, 0.1062, 0.1054, 0.1048, 0.1043, 0.104",\
                 "0.1413, 0.1398, 0.1356, 0.1303, 0.1249, 0.1207, 0.117, 0.1143, 0.112, 0.1103",\
                 "0.1928, 0.19, 0.1818, 0.1709, 0.1598, 0.15, 0.1417, 0.1348, 0.1292, 0.1248",\
                 "0.2685, 0.2645, 0.252, 0.2344, 0.2158, 0.1989, 0.1837, 0.1709, 0.1604, 0.1516",\
                 "0.3701, 0.3648, 0.3483, 0.3239, 0.2966, 0.2706, 0.2473, 0.2268, 0.2093, 0.1944",\
                 "0.4986, 0.4921, 0.4722, 0.4411, 0.4048, 0.3685, 0.3352, 0.3057, 0.2796, 0.2569",\
                 "0.655, 0.6477, 0.6244, 0.5871, 0.5421, 0.4952, 0.4507, 0.4103, 0.3745, 0.3426");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3125, 0.3133, 0.3149, 0.3164, 0.3179, 0.3193, 0.3208, 0.3224, 0.3247, 0.3302",\
                 "0.3098, 0.3109, 0.3135, 0.3167, 0.3194, 0.3218, 0.3236, 0.3257, 0.3277, 0.3339",\
                 "0.3117, 0.3121, 0.3135, 0.3158, 0.3189, 0.322, 0.3243, 0.3267, 0.3293, 0.3356",\
                 "0.3304, 0.3294, 0.327, 0.3252, 0.3248, 0.3259, 0.327, 0.3286, 0.3313, 0.3375",\
                 "0.3707, 0.3683, 0.362, 0.3539, 0.3472, 0.3425, 0.3399, 0.3389, 0.3389, 0.3449",\
                 "0.4352, 0.4316, 0.4205, 0.4064, 0.3922, 0.3797, 0.3708, 0.3635, 0.359, 0.3635",\
                 "0.526, 0.521, 0.5057, 0.4844, 0.4621, 0.4415, 0.4227, 0.4084, 0.3972, 0.3977",\
                 "0.6447, 0.6381, 0.6189, 0.5909, 0.5598, 0.5301, 0.5024, 0.4774, 0.4581, 0.4596",\
                 "0.7923, 0.785, 0.762, 0.7272, 0.6875, 0.6475, 0.6105, 0.5762, 0.5473, 0.5498",\
                 "0.9713, 0.963, 0.9365, 0.8956, 0.8467, 0.7966, 0.7486, 0.7042, 0.6702, 0.6866");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09582, 0.09591, 0.09614, 0.09644, 0.09662, 0.0967, 0.09676, 0.09683, 0.09688, 0.09683",\
                 "0.0968, 0.09704, 0.09756, 0.09824, 0.09873, 0.09914, 0.09928, 0.09948, 0.09954, 0.09959",\
                 "0.09982, 0.09991, 0.1002, 0.1005, 0.1009, 0.1012, 0.1015, 0.1016, 0.1017, 0.1018",\
                 "0.1126, 0.1122, 0.1108, 0.1093, 0.1079, 0.1066, 0.1058, 0.1051, 0.1045, 0.1042",\
                 "0.1434, 0.1419, 0.1377, 0.1321, 0.1267, 0.1221, 0.1183, 0.1153, 0.113, 0.111",\
                 "0.1967, 0.1939, 0.1855, 0.1745, 0.1632, 0.153, 0.1444, 0.1373, 0.1314, 0.1267",\
                 "0.275, 0.271, 0.2585, 0.2405, 0.2215, 0.204, 0.1886, 0.1755, 0.1643, 0.1553",\
                 "0.3797, 0.3744, 0.358, 0.3333, 0.3053, 0.2789, 0.2549, 0.2339, 0.2159, 0.2005",\
                 "0.5119, 0.5057, 0.4854, 0.4543, 0.4177, 0.3806, 0.3469, 0.3164, 0.2896, 0.2665",\
                 "0.6732, 0.6657, 0.6424, 0.605, 0.5597, 0.5122, 0.4667, 0.4257, 0.3888, 0.3561");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3125, 0.3133, 0.3149, 0.3163, 0.3179, 0.3194, 0.3207, 0.3224, 0.3247, 0.3302",\
                 "0.3091, 0.3102, 0.313, 0.3161, 0.3189, 0.3211, 0.3231, 0.325, 0.3273, 0.3335",\
                 "0.3105, 0.3108, 0.3121, 0.3145, 0.3174, 0.3205, 0.3229, 0.3253, 0.328, 0.3343",\
                 "0.3307, 0.3297, 0.3268, 0.3244, 0.3239, 0.3245, 0.3257, 0.3273, 0.3297, 0.3366",\
                 "0.3737, 0.3713, 0.3644, 0.3556, 0.3482, 0.343, 0.3396, 0.3382, 0.3379, 0.3443",\
                 "0.4413, 0.4376, 0.4264, 0.4116, 0.3962, 0.3829, 0.3727, 0.3652, 0.3603, 0.3632",\
                 "0.5355, 0.5304, 0.5149, 0.4935, 0.4708, 0.4488, 0.4292, 0.4127, 0.4012, 0.4013",\
                 "0.6583, 0.6518, 0.6326, 0.6045, 0.5731, 0.5423, 0.5135, 0.4873, 0.4674, 0.4652",\
                 "0.8112, 0.8038, 0.7807, 0.7459, 0.7059, 0.6658, 0.6281, 0.592, 0.5621, 0.5624",\
                 "0.9966, 0.9879, 0.961, 0.9203, 0.8718, 0.8216, 0.7733, 0.7272, 0.692, 0.7066");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09652, 0.09666, 0.09687, 0.09717, 0.09726, 0.09742, 0.09747, 0.09751, 0.09755, 0.0975",\
                 "0.09751, 0.09771, 0.09834, 0.09901, 0.09948, 0.09979, 0.1, 0.1001, 0.1002, 0.1003",\
                 "0.1004, 0.1004, 0.1007, 0.1012, 0.1016, 0.1018, 0.1021, 0.1022, 0.1023, 0.1024",\
                 "0.1125, 0.1121, 0.1108, 0.1093, 0.108, 0.1069, 0.1061, 0.1055, 0.1049, 0.1046",\
                 "0.142, 0.1405, 0.1362, 0.1309, 0.1257, 0.1213, 0.1178, 0.115, 0.1127, 0.111",\
                 "0.1934, 0.1907, 0.1824, 0.1716, 0.1606, 0.1506, 0.1424, 0.1355, 0.13, 0.1254",\
                 "0.2691, 0.2651, 0.2526, 0.2351, 0.2165, 0.1995, 0.1844, 0.1717, 0.1611, 0.1523",\
                 "0.3706, 0.3653, 0.3488, 0.3246, 0.2972, 0.2713, 0.2479, 0.2274, 0.21, 0.1951",\
                 "0.4991, 0.4926, 0.4727, 0.4417, 0.4054, 0.3692, 0.3361, 0.3063, 0.2803, 0.2576",\
                 "0.6555, 0.6483, 0.625, 0.5877, 0.5428, 0.4957, 0.4514, 0.411, 0.3752, 0.3434");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3128, 0.3135, 0.315, 0.3166, 0.318, 0.3195, 0.321, 0.3227, 0.3247, 0.3302",\
                 "0.3099, 0.3109, 0.3137, 0.3168, 0.3195, 0.322, 0.3238, 0.3257, 0.328, 0.3339",\
                 "0.3119, 0.3123, 0.3137, 0.316, 0.3191, 0.3222, 0.3244, 0.3267, 0.3293, 0.3356",\
                 "0.3306, 0.3296, 0.3272, 0.3253, 0.325, 0.3259, 0.3272, 0.329, 0.3313, 0.3379",\
                 "0.3708, 0.3685, 0.3621, 0.3541, 0.3474, 0.3427, 0.3403, 0.3385, 0.3392, 0.3446",\
                 "0.4355, 0.4318, 0.4207, 0.4067, 0.3923, 0.3796, 0.37, 0.3635, 0.3586, 0.3635",\
                 "0.5261, 0.5211, 0.5056, 0.4846, 0.4623, 0.441, 0.4227, 0.4081, 0.3972, 0.3983",\
                 "0.6447, 0.6383, 0.6192, 0.5911, 0.5598, 0.5303, 0.5025, 0.4777, 0.4584, 0.4576",\
                 "0.7927, 0.785, 0.7625, 0.7277, 0.6876, 0.6478, 0.6106, 0.5765, 0.5473, 0.5498",\
                 "0.9714, 0.9632, 0.9366, 0.8956, 0.8474, 0.7972, 0.7489, 0.7042, 0.6699, 0.6877");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05361, 0.05367, 0.05399, 0.05425, 0.05441, 0.05452, 0.05459, 0.05463, 0.05467, 0.0547",\
                 "0.05384, 0.05415, 0.05508, 0.0559, 0.05649, 0.05686, 0.0571, 0.05725, 0.05732, 0.05737",\
                 "0.05654, 0.05685, 0.05744, 0.05803, 0.05853, 0.05894, 0.05921, 0.05935, 0.05948, 0.05954",\
                 "0.07099, 0.07026, 0.06861, 0.06686, 0.06539, 0.06421, 0.06322, 0.06261, 0.06216, 0.06183",\
                 "0.1043, 0.1023, 0.0968, 0.09018, 0.08409, 0.0792, 0.07544, 0.07235, 0.07006, 0.06827",\
                 "0.1602, 0.1567, 0.1463, 0.1331, 0.1205, 0.1095, 0.1007, 0.09349, 0.08769, 0.0831",\
                 "0.2403, 0.2352, 0.2202, 0.1995, 0.1786, 0.1598, 0.1437, 0.1304, 0.1193, 0.1102",\
                 "0.3456, 0.3392, 0.3201, 0.2921, 0.2616, 0.2334, 0.2085, 0.187, 0.1689, 0.1535",\
                 "0.4773, 0.4699, 0.447, 0.4122, 0.3724, 0.3334, 0.2982, 0.267, 0.2401, 0.2169",\
                 "0.6369, 0.6284, 0.6021, 0.5612, 0.5123, 0.4621, 0.4153, 0.3734, 0.3361, 0.3032");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2711, 0.2717, 0.2733, 0.2746, 0.276, 0.2773, 0.2784, 0.2795, 0.2815, 0.2887",\
                 "0.2682, 0.2693, 0.272, 0.275, 0.2776, 0.2797, 0.282, 0.2834, 0.2848, 0.2897",\
                 "0.2701, 0.2705, 0.2719, 0.2743, 0.2771, 0.2799, 0.2818, 0.2844, 0.2861, 0.2921",\
                 "0.289, 0.288, 0.2855, 0.2836, 0.2831, 0.2838, 0.2848, 0.2857, 0.2887, 0.2943",\
                 "0.3292, 0.3267, 0.3204, 0.3124, 0.3053, 0.3004, 0.2974, 0.2963, 0.2967, 0.3013",\
                 "0.3943, 0.3905, 0.3792, 0.3648, 0.3506, 0.3375, 0.3277, 0.3204, 0.3158, 0.3195",\
                 "0.4858, 0.4806, 0.4648, 0.4427, 0.4204, 0.3995, 0.3808, 0.3658, 0.354, 0.3541",\
                 "0.6053, 0.5984, 0.5785, 0.55, 0.5181, 0.4882, 0.4609, 0.4355, 0.4153, 0.4124",\
                 "0.7542, 0.7464, 0.7225, 0.6866, 0.6463, 0.6059, 0.5684, 0.5343, 0.5048, 0.5028",\
                 "0.9338, 0.9253, 0.8977, 0.8556, 0.8057, 0.755, 0.7063, 0.6624, 0.6275, 0.6394");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05349, 0.0537, 0.05394, 0.05423, 0.05439, 0.05452, 0.05459, 0.05465, 0.05469, 0.0547",\
                 "0.05374, 0.05415, 0.05502, 0.05589, 0.05647, 0.05691, 0.05707, 0.05725, 0.05733, 0.0574",\
                 "0.05668, 0.05705, 0.05761, 0.05814, 0.05863, 0.05899, 0.05927, 0.05939, 0.05951, 0.05954",\
                 "0.07176, 0.07115, 0.06946, 0.06751, 0.06592, 0.06462, 0.06367, 0.06292, 0.06238, 0.06201",\
                 "0.1065, 0.1044, 0.09871, 0.092, 0.08579, 0.08061, 0.07666, 0.07345, 0.07096, 0.06907",\
                 "0.1644, 0.1606, 0.1502, 0.1367, 0.1238, 0.1126, 0.1033, 0.0959, 0.0898, 0.08494",\
                 "0.2467, 0.2416, 0.2266, 0.2057, 0.1843, 0.1652, 0.1486, 0.1349, 0.1234, 0.1139",\
                 "0.3552, 0.349, 0.3296, 0.3015, 0.2706, 0.2416, 0.2163, 0.1944, 0.1756, 0.1597",\
                 "0.4909, 0.4834, 0.4604, 0.4255, 0.3853, 0.3454, 0.3096, 0.2779, 0.2502, 0.2264",\
                 "0.6551, 0.6469, 0.6203, 0.5791, 0.5299, 0.4792, 0.4314, 0.3884, 0.3503, 0.3168");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.271, 0.2717, 0.2733, 0.2746, 0.2762, 0.2771, 0.2784, 0.2811, 0.2828, 0.2864",\
                 "0.2677, 0.2687, 0.2714, 0.2744, 0.2773, 0.279, 0.2815, 0.2834, 0.2841, 0.2893",\
                 "0.2689, 0.2693, 0.2705, 0.2727, 0.2755, 0.2783, 0.2806, 0.2831, 0.2851, 0.2908",\
                 "0.2893, 0.2882, 0.2854, 0.2828, 0.282, 0.2824, 0.2835, 0.2844, 0.2874, 0.2923",\
                 "0.3322, 0.3299, 0.3229, 0.3141, 0.3064, 0.3008, 0.2977, 0.2956, 0.2944, 0.2997",\
                 "0.4004, 0.3964, 0.3848, 0.3699, 0.355, 0.3409, 0.33, 0.322, 0.3171, 0.3208",\
                 "0.4954, 0.49, 0.4744, 0.452, 0.4293, 0.4077, 0.3872, 0.3701, 0.3586, 0.3578",\
                 "0.619, 0.6123, 0.5922, 0.5632, 0.5312, 0.5011, 0.4719, 0.4454, 0.4235, 0.4207",\
                 "0.7732, 0.7653, 0.7411, 0.7052, 0.6646, 0.6241, 0.5861, 0.5499, 0.519, 0.5167",\
                 "0.9591, 0.9499, 0.9224, 0.8801, 0.831, 0.7804, 0.731, 0.6858, 0.6496, 0.6594");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.0965, 0.09664, 0.09685, 0.09714, 0.09727, 0.09738, 0.09751, 0.09751, 0.09755, 0.09757",\
                 "0.09756, 0.09775, 0.09836, 0.09898, 0.09945, 0.09981, 0.09998, 0.1002, 0.1002, 0.1003",\
                 "0.1009, 0.1009, 0.1011, 0.1015, 0.1017, 0.102, 0.1022, 0.1023, 0.1024, 0.1025",\
                 "0.1138, 0.1133, 0.1119, 0.1103, 0.1088, 0.1076, 0.1066, 0.106, 0.1053, 0.1049",\
                 "0.1447, 0.1431, 0.1388, 0.1333, 0.1278, 0.1231, 0.1192, 0.1162, 0.1138, 0.1119",\
                 "0.1982, 0.1952, 0.1869, 0.1756, 0.1643, 0.1541, 0.1455, 0.1382, 0.1323, 0.1276",\
                 "0.2764, 0.2722, 0.2598, 0.2417, 0.2228, 0.2052, 0.1897, 0.1766, 0.1655, 0.1562",\
                 "0.3809, 0.3758, 0.3593, 0.3345, 0.3067, 0.2801, 0.2561, 0.2352, 0.217, 0.2016",\
                 "0.5134, 0.507, 0.4869, 0.4556, 0.4191, 0.3818, 0.3481, 0.3177, 0.2907, 0.2675",\
                 "0.6745, 0.6673, 0.6438, 0.6064, 0.561, 0.5135, 0.4678, 0.427, 0.39, 0.3575");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.312, 0.3127, 0.3144, 0.3159, 0.3174, 0.3191, 0.3204, 0.322, 0.3247, 0.3295",\
                 "0.3085, 0.3095, 0.3124, 0.3153, 0.3181, 0.3204, 0.3228, 0.3243, 0.3267, 0.3325",\
                 "0.3108, 0.3111, 0.3124, 0.3146, 0.3174, 0.3205, 0.3228, 0.325, 0.3277, 0.3339",\
                 "0.3311, 0.33, 0.3273, 0.3248, 0.3241, 0.3249, 0.3258, 0.3273, 0.3296, 0.3362",\
                 "0.3738, 0.3715, 0.3648, 0.356, 0.3488, 0.3436, 0.3405, 0.3385, 0.3382, 0.3443",\
                 "0.4413, 0.4374, 0.4265, 0.4119, 0.3964, 0.3831, 0.3727, 0.3658, 0.3603, 0.3642",\
                 "0.5353, 0.5303, 0.515, 0.4936, 0.4708, 0.4492, 0.4293, 0.4133, 0.4012, 0.4023",\
                 "0.658, 0.6517, 0.6324, 0.6043, 0.5732, 0.5429, 0.5143, 0.4876, 0.4677, 0.4666",\
                 "0.811, 0.8035, 0.7803, 0.7459, 0.7059, 0.6656, 0.6279, 0.592, 0.5624, 0.5627",\
                 "0.9961, 0.9877, 0.9608, 0.92, 0.8719, 0.8218, 0.773, 0.7273, 0.692, 0.7077");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05345, 0.0536, 0.05395, 0.05425, 0.05439, 0.05453, 0.05458, 0.05464, 0.05467, 0.0547",\
                 "0.05381, 0.05422, 0.0551, 0.05593, 0.0565, 0.05688, 0.05711, 0.05725, 0.05733, 0.05741",\
                 "0.05702, 0.05728, 0.05784, 0.0583, 0.05882, 0.0591, 0.05933, 0.05944, 0.05948, 0.05956",\
                 "0.07228, 0.07149, 0.06982, 0.0679, 0.06619, 0.06483, 0.06386, 0.06304, 0.06253, 0.06212",\
                 "0.1071, 0.1049, 0.09932, 0.09234, 0.08618, 0.08103, 0.07692, 0.07375, 0.07112, 0.0692",\
                 "0.165, 0.1613, 0.1508, 0.1372, 0.1243, 0.1131, 0.1038, 0.09614, 0.09007, 0.08518",\
                 "0.2476, 0.2424, 0.2274, 0.2063, 0.1848, 0.1657, 0.1491, 0.1353, 0.1237, 0.1142",\
                 "0.3562, 0.3496, 0.3303, 0.3021, 0.2713, 0.2422, 0.2168, 0.1948, 0.1761, 0.1601",\
                 "0.4917, 0.4842, 0.4612, 0.4262, 0.386, 0.3462, 0.3101, 0.2783, 0.2508, 0.2268",\
                 "0.6559, 0.6475, 0.6211, 0.5797, 0.5305, 0.4799, 0.4318, 0.3889, 0.351, 0.3176");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2703, 0.2711, 0.2725, 0.2739, 0.2755, 0.277, 0.2788, 0.2801, 0.2805, 0.286",\
                 "0.2668, 0.2678, 0.2706, 0.2734, 0.2763, 0.278, 0.2797, 0.2815, 0.2838, 0.2907",\
                 "0.2691, 0.2693, 0.2706, 0.2726, 0.2755, 0.2781, 0.2802, 0.2828, 0.2845, 0.2908",\
                 "0.2894, 0.2884, 0.2856, 0.2831, 0.2823, 0.2824, 0.2837, 0.2848, 0.2861, 0.2926",\
                 "0.3322, 0.3297, 0.323, 0.3142, 0.3064, 0.301, 0.2975, 0.2956, 0.296, 0.3007",\
                 "0.4, 0.396, 0.3848, 0.3701, 0.3549, 0.3409, 0.3303, 0.3224, 0.3174, 0.3202",\
                 "0.495, 0.4896, 0.4738, 0.4517, 0.4291, 0.4078, 0.387, 0.3711, 0.3583, 0.3578",\
                 "0.6185, 0.6118, 0.5917, 0.5629, 0.5313, 0.5008, 0.4722, 0.4457, 0.4239, 0.4207",\
                 "0.7727, 0.7646, 0.7406, 0.705, 0.6644, 0.6242, 0.5866, 0.5502, 0.5196, 0.5164",\
                 "0.9588, 0.9496, 0.9219, 0.8795, 0.8305, 0.7798, 0.731, 0.6855, 0.6486, 0.6594");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05337, 0.05361, 0.0539, 0.05423, 0.05436, 0.05448, 0.0546, 0.05465, 0.05466, 0.05472",\
                 "0.05387, 0.05425, 0.0551, 0.0559, 0.05648, 0.05684, 0.05711, 0.05726, 0.05736, 0.0574",\
                 "0.05725, 0.05754, 0.05805, 0.05848, 0.05893, 0.05919, 0.05941, 0.0595, 0.05954, 0.05966",\
                 "0.07337, 0.07258, 0.07072, 0.0687, 0.06697, 0.06545, 0.06426, 0.06352, 0.06286, 0.06243",\
                 "0.1098, 0.1075, 0.1016, 0.09464, 0.08813, 0.08269, 0.07837, 0.07505, 0.07227, 0.07017",\
                 "0.1694, 0.1658, 0.1552, 0.1414, 0.1281, 0.1166, 0.1071, 0.09897, 0.09271, 0.08746",\
                 "0.2547, 0.2497, 0.2344, 0.2132, 0.1915, 0.1717, 0.1547, 0.1405, 0.1284, 0.1185",\
                 "0.3666, 0.3602, 0.3407, 0.3125, 0.2814, 0.2518, 0.2257, 0.2032, 0.1838, 0.1673",\
                 "0.5064, 0.4989, 0.4757, 0.4405, 0.4003, 0.3601, 0.323, 0.2909, 0.2625, 0.2378",\
                 "0.6755, 0.6671, 0.6406, 0.5992, 0.5499, 0.4988, 0.4502, 0.4061, 0.3672, 0.3331");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2703, 0.2709, 0.2725, 0.2739, 0.2753, 0.2764, 0.2784, 0.2788, 0.2808, 0.2877",\
                 "0.266, 0.2669, 0.2698, 0.2727, 0.2756, 0.2775, 0.28, 0.2821, 0.2825, 0.288",\
                 "0.2677, 0.2679, 0.2688, 0.2708, 0.2737, 0.2763, 0.2785, 0.2805, 0.2832, 0.2888",\
                 "0.2901, 0.2891, 0.2857, 0.2824, 0.281, 0.2809, 0.282, 0.2828, 0.2848, 0.292",\
                 "0.3358, 0.3331, 0.3262, 0.3166, 0.3078, 0.3011, 0.2974, 0.2953, 0.294, 0.298",\
                 "0.4067, 0.4026, 0.3914, 0.3761, 0.3599, 0.3452, 0.3329, 0.3246, 0.3184, 0.3205",\
                 "0.5052, 0.4997, 0.4838, 0.4622, 0.4385, 0.4161, 0.3946, 0.377, 0.3632, 0.3614",\
                 "0.6333, 0.6265, 0.6065, 0.5779, 0.5463, 0.515, 0.4854, 0.4569, 0.4341, 0.4297",\
                 "0.793, 0.7849, 0.7604, 0.7252, 0.685, 0.6442, 0.606, 0.5693, 0.5361, 0.5323",\
                 "0.9854, 0.9764, 0.9483, 0.9063, 0.8573, 0.8066, 0.758, 0.7119, 0.6747, 0.6834");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1794, 0.1793, 0.1792, 0.1793, 0.1794, 0.1794, 0.1793, 0.1794, 0.1793, 0.1792",\
                 "0.1763, 0.1761, 0.1761, 0.1761, 0.1762, 0.1763, 0.1763, 0.1763, 0.1763, 0.1762",\
                 "0.1754, 0.1753, 0.1752, 0.1748, 0.1747, 0.1745, 0.1744, 0.1744, 0.1743, 0.1741",\
                 "0.1864, 0.1858, 0.1843, 0.1824, 0.1803, 0.1787, 0.1775, 0.1766, 0.1759, 0.1754",\
                 "0.216, 0.2145, 0.2104, 0.2046, 0.1988, 0.1938, 0.1894, 0.1861, 0.1835, 0.1815",\
                 "0.2699, 0.2674, 0.2597, 0.2483, 0.2364, 0.2253, 0.216, 0.208, 0.2017, 0.1966",\
                 "0.3515, 0.3478, 0.3361, 0.3184, 0.2983, 0.279, 0.2616, 0.2472, 0.2352, 0.2251",\
                 "0.4637, 0.4588, 0.4431, 0.4182, 0.3889, 0.3596, 0.3324, 0.309, 0.2888, 0.2717",\
                 "0.6077, 0.6017, 0.5822, 0.5502, 0.5117, 0.4709, 0.4324, 0.3975, 0.3671, 0.3408",\
                 "0.7846, 0.7777, 0.7546, 0.716, 0.6678, 0.6157, 0.5646, 0.5167, 0.474, 0.4362");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3967, 0.3973, 0.3987, 0.4001, 0.4013, 0.4026, 0.404, 0.4055, 0.4078, 0.414",\
                 "0.393, 0.3942, 0.397, 0.4004, 0.403, 0.405, 0.4069, 0.4088, 0.4115, 0.4177",\
                 "0.3886, 0.3896, 0.3921, 0.3962, 0.4003, 0.4034, 0.4064, 0.4095, 0.4118, 0.4191",\
                 "0.4021, 0.4016, 0.4009, 0.4013, 0.4026, 0.4048, 0.4073, 0.4095, 0.4125, 0.42",\
                 "0.4422, 0.4402, 0.4348, 0.4286, 0.4235, 0.4208, 0.4192, 0.4193, 0.4194, 0.4268",\
                 "0.5129, 0.5092, 0.4983, 0.4838, 0.4707, 0.4591, 0.4505, 0.4447, 0.4411, 0.4463",\
                 "0.6151, 0.6099, 0.594, 0.5711, 0.5477, 0.5265, 0.5083, 0.4939, 0.483, 0.4853",\
                 "0.7498, 0.7433, 0.7227, 0.6919, 0.6577, 0.6257, 0.5963, 0.5714, 0.5521, 0.5506",\
                 "0.9183, 0.9105, 0.8865, 0.8484, 0.8039, 0.759, 0.7181, 0.6818, 0.6519, 0.6497",\
                 "1.122, 1.113, 1.086, 1.041, 0.9873, 0.9297, 0.8756, 0.8263, 0.7889, 0.7941");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1365, 0.1365, 0.1364, 0.1365, 0.1364, 0.1365, 0.1365, 0.1365, 0.1365, 0.1364",\
                 "0.1331, 0.1332, 0.1331, 0.1332, 0.1333, 0.1333, 0.1334, 0.1334, 0.1334, 0.1333",\
                 "0.1328, 0.1327, 0.1323, 0.132, 0.1318, 0.1316, 0.1315, 0.1315, 0.1315, 0.1313",\
                 "0.1451, 0.1445, 0.1427, 0.1403, 0.138, 0.1361, 0.1348, 0.1338, 0.1332, 0.1326",\
                 "0.1778, 0.1761, 0.1709, 0.164, 0.1575, 0.1519, 0.1471, 0.1436, 0.1409, 0.1389",\
                 "0.2357, 0.2328, 0.2233, 0.2103, 0.1967, 0.1844, 0.1745, 0.166, 0.1595, 0.1542",\
                 "0.3218, 0.3173, 0.3036, 0.2833, 0.2609, 0.2399, 0.2214, 0.2061, 0.1936, 0.1831",\
                 "0.4382, 0.4324, 0.4144, 0.3864, 0.3542, 0.3225, 0.2938, 0.2688, 0.2478, 0.2303",\
                 "0.5859, 0.5791, 0.5568, 0.5217, 0.4796, 0.4362, 0.3954, 0.359, 0.3275, 0.3003",\
                 "0.7663, 0.7583, 0.7326, 0.6906, 0.6389, 0.5837, 0.5297, 0.4799, 0.4356, 0.3971");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.355, 0.3556, 0.357, 0.3583, 0.3596, 0.3613, 0.3624, 0.3639, 0.366, 0.3718",\
                 "0.3514, 0.3526, 0.3555, 0.3585, 0.3612, 0.3636, 0.3653, 0.3672, 0.3696, 0.3755",\
                 "0.3469, 0.3478, 0.3504, 0.3543, 0.3586, 0.3618, 0.3648, 0.3672, 0.3703, 0.3769",\
                 "0.3604, 0.36, 0.3593, 0.3594, 0.3609, 0.3634, 0.3656, 0.3679, 0.3706, 0.3778",\
                 "0.4006, 0.3986, 0.3931, 0.3867, 0.3818, 0.3791, 0.3775, 0.3771, 0.3785, 0.3845",\
                 "0.4718, 0.4679, 0.4566, 0.4423, 0.4289, 0.4175, 0.4089, 0.4028, 0.3996, 0.404",\
                 "0.5748, 0.5693, 0.5529, 0.5296, 0.506, 0.485, 0.4667, 0.452, 0.4411, 0.4422",\
                 "0.7103, 0.7033, 0.6822, 0.651, 0.6163, 0.584, 0.5547, 0.5298, 0.51, 0.5071",\
                 "0.8794, 0.8716, 0.8464, 0.8077, 0.7626, 0.7174, 0.6767, 0.6399, 0.6097, 0.6059",\
                 "1.084, 1.075, 1.047, 1.002, 0.9467, 0.8887, 0.8339, 0.7853, 0.7452, 0.7489");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1364, 0.1363, 0.1363, 0.1363, 0.1364, 0.1364, 0.1364, 0.1365, 0.1365, 0.1364",\
                 "0.1331, 0.1331, 0.1331, 0.1333, 0.1334, 0.1334, 0.1334, 0.1335, 0.1335, 0.1334",\
                 "0.1329, 0.1329, 0.1325, 0.1321, 0.1318, 0.1317, 0.1316, 0.1315, 0.1315, 0.1314",\
                 "0.146, 0.1452, 0.1432, 0.1408, 0.1385, 0.1365, 0.1352, 0.1341, 0.1334, 0.1327",\
                 "0.1803, 0.1784, 0.1729, 0.1659, 0.159, 0.1533, 0.1483, 0.1447, 0.1418, 0.1397",\
                 "0.2406, 0.2372, 0.2279, 0.2146, 0.2004, 0.1878, 0.1773, 0.1688, 0.1617, 0.1562",\
                 "0.3299, 0.3253, 0.3114, 0.2905, 0.2679, 0.246, 0.227, 0.2112, 0.198, 0.1871",\
                 "0.4508, 0.4448, 0.4262, 0.398, 0.3652, 0.3329, 0.3032, 0.2773, 0.2556, 0.2372",\
                 "0.604, 0.5968, 0.5742, 0.5386, 0.4958, 0.4515, 0.4097, 0.3721, 0.3394, 0.3112",\
                 "0.7908, 0.7828, 0.7566, 0.7139, 0.6612, 0.605, 0.5499, 0.499, 0.4533, 0.4133");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.355, 0.3556, 0.357, 0.3582, 0.3596, 0.361, 0.3625, 0.364, 0.3663, 0.3718",\
                 "0.3509, 0.352, 0.355, 0.358, 0.3608, 0.3631, 0.3649, 0.3669, 0.3699, 0.3748",\
                 "0.3457, 0.3466, 0.3491, 0.3528, 0.3572, 0.3606, 0.3636, 0.3659, 0.3689, 0.3756",\
                 "0.3602, 0.3597, 0.3586, 0.3583, 0.3596, 0.3619, 0.3641, 0.3663, 0.3696, 0.3761",\
                 "0.4037, 0.401, 0.3951, 0.388, 0.3823, 0.3786, 0.3771, 0.3765, 0.3772, 0.3835",\
                 "0.4789, 0.4748, 0.463, 0.448, 0.4332, 0.4209, 0.4116, 0.4044, 0.4002, 0.404",\
                 "0.5868, 0.5813, 0.5643, 0.5403, 0.5155, 0.4928, 0.4739, 0.4579, 0.4457, 0.4451",\
                 "0.7287, 0.7217, 0.7, 0.6681, 0.6324, 0.5986, 0.5681, 0.5414, 0.5195, 0.5151",\
                 "0.9053, 0.8968, 0.8717, 0.8322, 0.786, 0.7398, 0.6976, 0.6588, 0.6272, 0.6201",\
                 "1.118, 1.109, 1.081, 1.035, 0.9788, 0.92, 0.8639, 0.8132, 0.7726, 0.7721");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1372, 0.1371, 0.1371, 0.1372, 0.1371, 0.1372, 0.1371, 0.1372, 0.1372, 0.1371",\
                 "0.1338, 0.1338, 0.1338, 0.1338, 0.1339, 0.134, 0.1341, 0.1341, 0.134, 0.1341",\
                 "0.1335, 0.1334, 0.133, 0.1327, 0.1325, 0.1323, 0.1322, 0.1322, 0.1321, 0.132",\
                 "0.1458, 0.1452, 0.1432, 0.1409, 0.1386, 0.1368, 0.1355, 0.1346, 0.1338, 0.1333",\
                 "0.1786, 0.1766, 0.1715, 0.1647, 0.1581, 0.1526, 0.1479, 0.1444, 0.1417, 0.1396",\
                 "0.2365, 0.2334, 0.2239, 0.2109, 0.1973, 0.1852, 0.1751, 0.1668, 0.1601, 0.155",\
                 "0.3224, 0.318, 0.3043, 0.2838, 0.2615, 0.2405, 0.2221, 0.2068, 0.1943, 0.1838",\
                 "0.4386, 0.4329, 0.4147, 0.387, 0.3549, 0.3232, 0.2944, 0.2696, 0.2487, 0.2309",\
                 "0.5865, 0.5795, 0.5573, 0.5223, 0.4802, 0.4368, 0.396, 0.3597, 0.3281, 0.301",\
                 "0.7668, 0.7587, 0.7331, 0.6912, 0.6394, 0.5843, 0.5303, 0.4805, 0.4363, 0.3977");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3552, 0.3558, 0.3571, 0.3584, 0.36, 0.3614, 0.3626, 0.3643, 0.3663, 0.3722",\
                 "0.3516, 0.3526, 0.3557, 0.3587, 0.3614, 0.3637, 0.3655, 0.3673, 0.3696, 0.3755",\
                 "0.3471, 0.348, 0.3507, 0.3546, 0.3588, 0.3623, 0.365, 0.3676, 0.3706, 0.3769",\
                 "0.3606, 0.3601, 0.3595, 0.3595, 0.3611, 0.3635, 0.3656, 0.3682, 0.3709, 0.3785",\
                 "0.4008, 0.3988, 0.3933, 0.3869, 0.382, 0.379, 0.3777, 0.3775, 0.3782, 0.3848",\
                 "0.472, 0.4681, 0.4568, 0.4424, 0.429, 0.4177, 0.4091, 0.4031, 0.3996, 0.4043",\
                 "0.5749, 0.5695, 0.5531, 0.5297, 0.5061, 0.4851, 0.4669, 0.4526, 0.4411, 0.4428",\
                 "0.7105, 0.7036, 0.6824, 0.6512, 0.6166, 0.5842, 0.5555, 0.5305, 0.51, 0.5064",\
                 "0.8797, 0.8717, 0.8466, 0.8081, 0.7626, 0.7178, 0.6765, 0.64, 0.6097, 0.6049",\
                 "1.084, 1.075, 1.047, 1.002, 0.947, 0.8889, 0.8339, 0.7855, 0.7462, 0.7486");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09424, 0.09426, 0.0943, 0.09422, 0.09424, 0.09429, 0.09429, 0.09431, 0.09431, 0.09427",\
                 "0.09077, 0.0908, 0.0909, 0.09101, 0.09114, 0.09114, 0.09117, 0.09121, 0.09124, 0.09124",\
                 "0.09077, 0.09067, 0.09026, 0.08995, 0.08965, 0.08949, 0.08937, 0.08934, 0.08927, 0.08917",\
                 "0.1053, 0.1042, 0.1018, 0.09885, 0.0962, 0.09421, 0.09277, 0.09177, 0.09104, 0.09045",\
                 "0.1417, 0.1395, 0.1329, 0.1246, 0.1169, 0.1106, 0.1057, 0.1019, 0.09906, 0.09688",\
                 "0.2045, 0.2005, 0.189, 0.1735, 0.158, 0.1446, 0.1336, 0.125, 0.118, 0.1126",\
                 "0.2952, 0.2897, 0.2735, 0.2497, 0.2246, 0.2016, 0.182, 0.1657, 0.1526, 0.1419",\
                 "0.4159, 0.4091, 0.3879, 0.3564, 0.3208, 0.2864, 0.2559, 0.2297, 0.2078, 0.1898",\
                 "0.5673, 0.5594, 0.5342, 0.4951, 0.4491, 0.4025, 0.3594, 0.3212, 0.2884, 0.2606",\
                 "0.7508, 0.7418, 0.7132, 0.6674, 0.6111, 0.5523, 0.4956, 0.4438, 0.3981, 0.3582");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3135, 0.3141, 0.3154, 0.3166, 0.3179, 0.3188, 0.32, 0.321, 0.3231, 0.3273",\
                 "0.3098, 0.3109, 0.3138, 0.3167, 0.3195, 0.3212, 0.3231, 0.3243, 0.3264, 0.3316",\
                 "0.3054, 0.3062, 0.3088, 0.3127, 0.3167, 0.32, 0.3228, 0.3243, 0.3274, 0.335",\
                 "0.3189, 0.3185, 0.3177, 0.3178, 0.3191, 0.3209, 0.3231, 0.326, 0.328, 0.3332",\
                 "0.3591, 0.357, 0.3515, 0.3452, 0.34, 0.3369, 0.3353, 0.3346, 0.3359, 0.3415",\
                 "0.4309, 0.4268, 0.4152, 0.4006, 0.3875, 0.3759, 0.3666, 0.36, 0.3564, 0.36",\
                 "0.5349, 0.5289, 0.5119, 0.4881, 0.4644, 0.4434, 0.4249, 0.4094, 0.3982, 0.3973",\
                 "0.6713, 0.6639, 0.642, 0.6101, 0.5747, 0.5423, 0.5134, 0.4883, 0.4671, 0.4617",\
                 "0.8412, 0.833, 0.8074, 0.7675, 0.7214, 0.6759, 0.6349, 0.5988, 0.5676, 0.5594",\
                 "1.046, 1.037, 1.008, 0.9621, 0.9055, 0.8476, 0.7923, 0.7431, 0.7028, 0.7027");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09419, 0.09419, 0.09419, 0.0942, 0.09426, 0.09426, 0.09427, 0.0943, 0.09431, 0.09431",\
                 "0.09074, 0.09077, 0.0909, 0.09101, 0.09104, 0.09113, 0.09116, 0.0912, 0.09123, 0.09126",\
                 "0.09093, 0.09077, 0.09042, 0.09001, 0.08969, 0.08953, 0.08941, 0.08935, 0.08929, 0.08927",\
                 "0.1061, 0.1051, 0.1025, 0.09943, 0.09678, 0.09462, 0.09312, 0.09203, 0.09126, 0.09066",\
                 "0.1442, 0.1418, 0.1352, 0.1264, 0.1186, 0.1121, 0.1069, 0.1029, 0.09996, 0.09768",\
                 "0.2092, 0.2053, 0.1937, 0.178, 0.1619, 0.148, 0.1366, 0.1276, 0.1203, 0.1145",\
                 "0.3036, 0.298, 0.2813, 0.2573, 0.2317, 0.2079, 0.1876, 0.1709, 0.1572, 0.146",\
                 "0.4285, 0.4217, 0.4003, 0.3681, 0.3319, 0.2969, 0.2653, 0.2383, 0.2153, 0.1968",\
                 "0.5855, 0.5775, 0.5519, 0.5121, 0.4654, 0.4178, 0.3736, 0.3344, 0.3004, 0.2713",\
                 "0.7759, 0.7666, 0.7375, 0.6907, 0.6338, 0.5739, 0.516, 0.4629, 0.4156, 0.3744");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3135, 0.3141, 0.3154, 0.3165, 0.3177, 0.3191, 0.3201, 0.3214, 0.3228, 0.3273",\
                 "0.3092, 0.3103, 0.3133, 0.3162, 0.319, 0.3207, 0.3227, 0.3237, 0.3261, 0.3309",\
                 "0.3041, 0.305, 0.3074, 0.3113, 0.3154, 0.3186, 0.3219, 0.324, 0.327, 0.3314",\
                 "0.3188, 0.3183, 0.3171, 0.3166, 0.3177, 0.3197, 0.3221, 0.3244, 0.3264, 0.3326",\
                 "0.3622, 0.3597, 0.3535, 0.3468, 0.3406, 0.3366, 0.3347, 0.3339, 0.3343, 0.3402",\
                 "0.4379, 0.4337, 0.4215, 0.4062, 0.3919, 0.3791, 0.3688, 0.362, 0.3574, 0.3603",\
                 "0.5471, 0.5412, 0.5233, 0.499, 0.4742, 0.4518, 0.432, 0.4147, 0.4025, 0.401",\
                 "0.6897, 0.6823, 0.6598, 0.6271, 0.5909, 0.5569, 0.5265, 0.4998, 0.4767, 0.47",\
                 "0.867, 0.8589, 0.8324, 0.7921, 0.7449, 0.698, 0.6555, 0.6175, 0.5844, 0.5743",\
                 "1.081, 1.072, 1.042, 0.9951, 0.9381, 0.8787, 0.822, 0.7717, 0.7298, 0.7259");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1372, 0.1371, 0.137, 0.1371, 0.1371, 0.1371, 0.1372, 0.1371, 0.1372, 0.1372",\
                 "0.1339, 0.1339, 0.1339, 0.1339, 0.1341, 0.1341, 0.1341, 0.1341, 0.1341, 0.1341",\
                 "0.1338, 0.1337, 0.1333, 0.1329, 0.1327, 0.1325, 0.1323, 0.1322, 0.1322, 0.1321",\
                 "0.147, 0.1463, 0.1443, 0.1418, 0.1394, 0.1375, 0.1359, 0.1349, 0.1341, 0.1334",\
                 "0.1815, 0.1797, 0.1742, 0.1671, 0.1601, 0.1543, 0.1494, 0.1456, 0.1428, 0.1404",\
                 "0.2419, 0.2389, 0.2293, 0.2158, 0.2017, 0.1889, 0.1783, 0.1698, 0.1627, 0.1571",\
                 "0.3313, 0.3268, 0.3128, 0.2919, 0.2691, 0.2473, 0.2283, 0.2123, 0.199, 0.1882",\
                 "0.4519, 0.4462, 0.4278, 0.3994, 0.3665, 0.3342, 0.3043, 0.2786, 0.2568, 0.2385",\
                 "0.6054, 0.5983, 0.5758, 0.54, 0.4972, 0.4529, 0.4109, 0.3734, 0.3406, 0.3123",\
                 "0.7923, 0.7842, 0.758, 0.7153, 0.6627, 0.6064, 0.5511, 0.5003, 0.4547, 0.4145");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3545, 0.3552, 0.3565, 0.3577, 0.3592, 0.3605, 0.3619, 0.3636, 0.3656, 0.3715",\
                 "0.3502, 0.3514, 0.3543, 0.3573, 0.36, 0.3624, 0.3642, 0.3659, 0.3683, 0.3741",\
                 "0.346, 0.3466, 0.3491, 0.3529, 0.357, 0.3606, 0.3634, 0.3659, 0.3686, 0.3756",\
                 "0.3607, 0.3602, 0.3591, 0.3587, 0.3602, 0.3622, 0.3642, 0.3666, 0.3693, 0.3761",\
                 "0.4038, 0.4017, 0.3958, 0.3884, 0.3829, 0.3792, 0.3774, 0.3765, 0.3775, 0.3838",\
                 "0.4788, 0.4749, 0.4632, 0.4479, 0.4336, 0.421, 0.4116, 0.4051, 0.3999, 0.4043",\
                 "0.5866, 0.581, 0.5645, 0.5403, 0.5157, 0.4935, 0.474, 0.4579, 0.4457, 0.4455",\
                 "0.7283, 0.7212, 0.6999, 0.668, 0.6324, 0.599, 0.5683, 0.5414, 0.5199, 0.5147",\
                 "0.9047, 0.8967, 0.8713, 0.8318, 0.7858, 0.7398, 0.6976, 0.6591, 0.6269, 0.6205",\
                 "1.118, 1.109, 1.08, 1.035, 0.9787, 0.92, 0.8643, 0.8135, 0.7712, 0.7721");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09422, 0.09422, 0.09423, 0.09428, 0.09431, 0.09429, 0.0943, 0.09429, 0.09432, 0.09434",\
                 "0.09091, 0.09094, 0.09102, 0.09112, 0.09119, 0.09115, 0.09121, 0.09126, 0.09129, 0.0913",\
                 "0.0911, 0.09103, 0.09061, 0.09015, 0.08984, 0.08961, 0.08949, 0.08937, 0.0893, 0.08925",\
                 "0.1066, 0.1055, 0.1029, 0.0998, 0.09703, 0.09485, 0.09326, 0.09211, 0.0913, 0.0907",\
                 "0.145, 0.1425, 0.1357, 0.1271, 0.119, 0.1124, 0.1071, 0.1032, 0.1002, 0.09779",\
                 "0.2101, 0.2061, 0.1944, 0.1785, 0.1625, 0.1485, 0.137, 0.1279, 0.1205, 0.1148",\
                 "0.3046, 0.2989, 0.2822, 0.2581, 0.2324, 0.2085, 0.1881, 0.1713, 0.1574, 0.1463",\
                 "0.4295, 0.4227, 0.4012, 0.3688, 0.3326, 0.2976, 0.266, 0.2388, 0.2161, 0.1972",\
                 "0.5864, 0.5786, 0.5529, 0.5132, 0.4662, 0.4188, 0.3744, 0.335, 0.301, 0.2721",\
                 "0.7767, 0.7676, 0.7386, 0.6917, 0.6347, 0.5748, 0.5168, 0.4634, 0.4164, 0.3751");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3128, 0.3134, 0.3146, 0.3157, 0.3172, 0.3182, 0.3197, 0.3207, 0.3241, 0.327",\
                 "0.3084, 0.3095, 0.3124, 0.3153, 0.3179, 0.3199, 0.3218, 0.323, 0.3254, 0.3293",\
                 "0.3041, 0.3048, 0.3073, 0.3112, 0.3148, 0.3181, 0.3208, 0.3234, 0.325, 0.3317",\
                 "0.3191, 0.3185, 0.3173, 0.3168, 0.318, 0.3197, 0.3217, 0.3243, 0.3274, 0.3332",\
                 "0.3622, 0.3599, 0.3539, 0.3469, 0.3408, 0.3369, 0.335, 0.3339, 0.3349, 0.3409",\
                 "0.4377, 0.4335, 0.4215, 0.4062, 0.3921, 0.379, 0.3691, 0.362, 0.357, 0.3606",\
                 "0.5466, 0.5405, 0.5231, 0.4987, 0.4742, 0.4517, 0.432, 0.4153, 0.4025, 0.4013",\
                 "0.689, 0.6816, 0.6595, 0.6266, 0.5909, 0.557, 0.5261, 0.5001, 0.4764, 0.4697",\
                 "0.8663, 0.8582, 0.832, 0.7911, 0.7449, 0.6979, 0.6559, 0.6175, 0.5844, 0.5746",\
                 "1.08, 1.071, 1.041, 0.9946, 0.9369, 0.8783, 0.8227, 0.7717, 0.7292, 0.7259");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&B1&B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09412, 0.0941, 0.09411, 0.09419, 0.09419, 0.09426, 0.0943, 0.09429, 0.0943, 0.09431",\
                 "0.09082, 0.09085, 0.09091, 0.09106, 0.09111, 0.09115, 0.09122, 0.09123, 0.09126, 0.09127",\
                 "0.0913, 0.09118, 0.09077, 0.09022, 0.08989, 0.08967, 0.08953, 0.08941, 0.08933, 0.08928",\
                 "0.1076, 0.1066, 0.1037, 0.1005, 0.09762, 0.09536, 0.09369, 0.09245, 0.0916, 0.09094",\
                 "0.1476, 0.1453, 0.1383, 0.1294, 0.1211, 0.114, 0.1087, 0.1045, 0.1013, 0.09878",\
                 "0.2155, 0.2116, 0.1997, 0.1834, 0.1669, 0.1523, 0.1404, 0.1309, 0.1232, 0.1171",\
                 "0.3136, 0.3079, 0.2912, 0.2666, 0.2403, 0.216, 0.1948, 0.1772, 0.1629, 0.1511",\
                 "0.4436, 0.4365, 0.4147, 0.3821, 0.3452, 0.3093, 0.2769, 0.2488, 0.2251, 0.2054",\
                 "0.6064, 0.5983, 0.5724, 0.532, 0.4844, 0.4361, 0.3909, 0.3505, 0.3152, 0.285",\
                 "0.8039, 0.7948, 0.7651, 0.7176, 0.6599, 0.5991, 0.54, 0.4857, 0.437, 0.3945");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3127, 0.3132, 0.3146, 0.3159, 0.317, 0.3183, 0.3193, 0.3207, 0.3221, 0.327",\
                 "0.3077, 0.3088, 0.3117, 0.3146, 0.3172, 0.3192, 0.3212, 0.3224, 0.3244, 0.3289",\
                 "0.3027, 0.3034, 0.3056, 0.3092, 0.313, 0.3164, 0.3191, 0.3214, 0.3234, 0.3308",\
                 "0.319, 0.3184, 0.3166, 0.3156, 0.3163, 0.3177, 0.3197, 0.3227, 0.3244, 0.3303",\
                 "0.3656, 0.363, 0.3564, 0.3484, 0.3418, 0.3369, 0.3341, 0.3326, 0.3336, 0.3392",\
                 "0.446, 0.4417, 0.4289, 0.4129, 0.3972, 0.383, 0.3715, 0.3636, 0.3577, 0.3606",\
                 "0.5601, 0.5539, 0.5358, 0.5112, 0.4851, 0.4616, 0.4399, 0.4216, 0.4078, 0.4043",\
                 "0.709, 0.7017, 0.6788, 0.6455, 0.6091, 0.5738, 0.5419, 0.5133, 0.4882, 0.4799",\
                 "0.8944, 0.8858, 0.859, 0.8182, 0.7707, 0.7235, 0.6798, 0.6393, 0.6046, 0.5919",\
                 "1.118, 1.108, 1.079, 1.03, 0.9729, 0.9132, 0.8564, 0.8041, 0.7592, 0.7542");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1401, 0.1402, 0.1404, 0.1408, 0.141, 0.1411, 0.1412, 0.1413, 0.1414, 0.1413",\
                 "0.141, 0.1412, 0.1418, 0.1426, 0.1432, 0.1435, 0.1437, 0.1439, 0.144, 0.144",\
                 "0.1392, 0.1396, 0.1406, 0.142, 0.1432, 0.1441, 0.1447, 0.1451, 0.1454, 0.1455",\
                 "0.1428, 0.1429, 0.1434, 0.1443, 0.1448, 0.1453, 0.1457, 0.1461, 0.1463, 0.1464",\
                 "0.1624, 0.1617, 0.1602, 0.1583, 0.1565, 0.1549, 0.1534, 0.1524, 0.1514, 0.1506",\
                 "0.204, 0.2021, 0.1977, 0.1915, 0.185, 0.1791, 0.1739, 0.1695, 0.1658, 0.1628",\
                 "0.271, 0.2682, 0.26, 0.2479, 0.2349, 0.2226, 0.2117, 0.2022, 0.194, 0.1872",\
                 "0.3658, 0.3618, 0.3497, 0.3311, 0.3103, 0.2898, 0.2711, 0.2546, 0.2401, 0.2278",\
                 "0.4893, 0.4842, 0.4684, 0.4434, 0.4137, 0.3837, 0.3557, 0.3304, 0.3079, 0.2883",\
                 "0.6425, 0.6364, 0.6168, 0.5857, 0.5474, 0.5069, 0.468, 0.4328, 0.4007, 0.372");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5126, 0.5127, 0.5129, 0.5136, 0.5143, 0.5153, 0.5167, 0.5183, 0.5205, 0.5273",\
                 "0.5099, 0.5102, 0.511, 0.5121, 0.5133, 0.5147, 0.5161, 0.518, 0.5202, 0.5277",\
                 "0.5076, 0.5079, 0.5085, 0.5098, 0.5115, 0.5131, 0.5149, 0.5173, 0.5195, 0.5272",\
                 "0.5222, 0.5214, 0.5194, 0.5178, 0.5169, 0.5172, 0.5177, 0.5187, 0.5211, 0.5288",\
                 "0.5602, 0.5583, 0.5525, 0.5457, 0.5391, 0.5344, 0.5316, 0.5296, 0.5297, 0.5369",\
                 "0.6233, 0.6206, 0.6114, 0.5988, 0.5847, 0.5718, 0.5619, 0.555, 0.5498, 0.5554",\
                 "0.714, 0.7097, 0.697, 0.6781, 0.6567, 0.6351, 0.6163, 0.6007, 0.5903, 0.5936",\
                 "0.8331, 0.8284, 0.8125, 0.7873, 0.7575, 0.7273, 0.6982, 0.6732, 0.6538, 0.6556",\
                 "0.9829, 0.977, 0.9585, 0.9278, 0.8897, 0.8501, 0.8116, 0.7753, 0.7465, 0.7532",\
                 "1.164, 1.157, 1.136, 1.101, 1.056, 1.006, 0.957, 0.91, 0.8755, 0.9");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09708, 0.09723, 0.0975, 0.09785, 0.09816, 0.09822, 0.09838, 0.09841, 0.09848, 0.09846",\
                 "0.09743, 0.0978, 0.09868, 0.09959, 0.1001, 0.1006, 0.1008, 0.101, 0.1011, 0.1011",\
                 "0.09496, 0.09539, 0.09694, 0.0986, 0.1, 0.1011, 0.1018, 0.1022, 0.1025, 0.1028",\
                 "0.09914, 0.09934, 0.1001, 0.1009, 0.1017, 0.1023, 0.1028, 0.1032, 0.1034, 0.1036",\
                 "0.1211, 0.1203, 0.1184, 0.1162, 0.1142, 0.1123, 0.1108, 0.1096, 0.1086, 0.1079",\
                 "0.166, 0.1641, 0.1587, 0.1512, 0.1438, 0.1374, 0.1318, 0.1272, 0.1234, 0.1202",\
                 "0.2371, 0.2338, 0.224, 0.21, 0.1957, 0.1822, 0.1705, 0.1605, 0.1521, 0.1449",\
                 "0.3356, 0.3312, 0.3173, 0.2962, 0.273, 0.251, 0.2311, 0.2138, 0.1987, 0.1861",\
                 "0.463, 0.4571, 0.4393, 0.4112, 0.379, 0.3466, 0.3171, 0.2907, 0.2674, 0.2472",\
                 "0.6197, 0.6126, 0.5909, 0.5566, 0.5149, 0.4721, 0.431, 0.3942, 0.361, 0.3319");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4711, 0.4712, 0.4713, 0.4719, 0.4726, 0.4739, 0.4754, 0.4768, 0.479, 0.4854",\
                 "0.4683, 0.4687, 0.4694, 0.4705, 0.4717, 0.473, 0.4749, 0.4765, 0.4786, 0.4852",\
                 "0.4661, 0.4663, 0.467, 0.4682, 0.47, 0.4718, 0.4733, 0.4755, 0.478, 0.4839",\
                 "0.4806, 0.4798, 0.4779, 0.476, 0.4753, 0.4756, 0.4761, 0.4774, 0.4793, 0.4859",\
                 "0.5186, 0.5167, 0.5113, 0.504, 0.4974, 0.4929, 0.4897, 0.488, 0.4875, 0.4939",\
                 "0.5818, 0.5788, 0.57, 0.5569, 0.5433, 0.53, 0.5204, 0.5134, 0.5089, 0.513",\
                 "0.6726, 0.6684, 0.6555, 0.6366, 0.6152, 0.5935, 0.5746, 0.5593, 0.5481, 0.5493",\
                 "0.7921, 0.7871, 0.7711, 0.746, 0.7159, 0.6858, 0.6569, 0.6318, 0.612, 0.6117",\
                 "0.9416, 0.9359, 0.9171, 0.8865, 0.848, 0.8084, 0.7694, 0.7335, 0.7047, 0.7081",\
                 "1.123, 1.116, 1.095, 1.06, 1.014, 0.9643, 0.9151, 0.868, 0.8325, 0.8516");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "!A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09709, 0.09721, 0.09756, 0.09791, 0.09819, 0.09833, 0.09841, 0.09847, 0.09851, 0.0985",\
                 "0.09749, 0.09779, 0.09867, 0.09952, 0.1002, 0.1006, 0.1008, 0.101, 0.1011, 0.1012",\
                 "0.0953, 0.09579, 0.0971, 0.09872, 0.1002, 0.1011, 0.1018, 0.1022, 0.1026, 0.1028",\
                 "0.1005, 0.1006, 0.1012, 0.1019, 0.1025, 0.1029, 0.1034, 0.1036, 0.1037, 0.1038",\
                 "0.1241, 0.1234, 0.1213, 0.1187, 0.1163, 0.1144, 0.1125, 0.111, 0.1099, 0.109",\
                 "0.1714, 0.1695, 0.1637, 0.156, 0.1482, 0.1413, 0.1354, 0.1304, 0.1262, 0.1227",\
                 "0.2454, 0.242, 0.232, 0.2179, 0.2029, 0.189, 0.1767, 0.1662, 0.1572, 0.1497",\
                 "0.3472, 0.3428, 0.3288, 0.3077, 0.2841, 0.2612, 0.2409, 0.2229, 0.2072, 0.1938",\
                 "0.4785, 0.4727, 0.4549, 0.427, 0.3945, 0.3615, 0.3309, 0.3039, 0.28, 0.259",\
                 "0.6402, 0.6333, 0.6117, 0.5773, 0.5357, 0.4923, 0.4506, 0.4124, 0.3787, 0.3486");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.47, 0.4702, 0.4703, 0.4709, 0.4716, 0.4727, 0.4745, 0.4758, 0.4783, 0.4841",\
                 "0.4661, 0.4663, 0.467, 0.4682, 0.4693, 0.4707, 0.472, 0.4741, 0.4763, 0.4825",\
                 "0.4641, 0.4642, 0.4645, 0.4656, 0.4672, 0.4689, 0.4705, 0.4725, 0.475, 0.481",\
                 "0.4808, 0.4799, 0.4775, 0.4752, 0.4738, 0.4734, 0.4738, 0.4745, 0.4766, 0.4836",\
                 "0.5216, 0.5199, 0.5136, 0.5059, 0.4985, 0.4927, 0.4889, 0.4867, 0.4862, 0.492",\
                 "0.5883, 0.5854, 0.5762, 0.5627, 0.5479, 0.5339, 0.5227, 0.5147, 0.5096, 0.513",\
                 "0.6829, 0.6786, 0.6661, 0.6465, 0.6242, 0.6017, 0.5816, 0.5649, 0.5524, 0.5526",\
                 "0.8072, 0.8021, 0.7863, 0.7607, 0.7304, 0.6995, 0.6695, 0.6423, 0.6212, 0.6193",\
                 "0.9624, 0.9565, 0.9377, 0.9077, 0.8688, 0.8292, 0.7892, 0.7517, 0.7202, 0.7227",\
                 "1.15, 1.144, 1.123, 1.088, 1.042, 0.9921, 0.9418, 0.8937, 0.8563, 0.8746");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09626, 0.09642, 0.09668, 0.09705, 0.09733, 0.09748, 0.09755, 0.09763, 0.09767, 0.09764",\
                 "0.09656, 0.09696, 0.09783, 0.0988, 0.0993, 0.0998, 0.09999, 0.1002, 0.1003, 0.1003",\
                 "0.09412, 0.09454, 0.0961, 0.09774, 0.09922, 0.1003, 0.1009, 0.1014, 0.1017, 0.1019",\
                 "0.09827, 0.09849, 0.09922, 0.1001, 0.1008, 0.1015, 0.102, 0.1023, 0.1026, 0.1027",\
                 "0.1202, 0.1197, 0.1175, 0.1153, 0.1133, 0.1115, 0.11, 0.1088, 0.1078, 0.1071",\
                 "0.1652, 0.1633, 0.1578, 0.1504, 0.1429, 0.1366, 0.131, 0.1264, 0.1225, 0.1194",\
                 "0.2364, 0.2331, 0.2232, 0.2093, 0.1949, 0.1814, 0.1696, 0.1596, 0.1513, 0.1441",\
                 "0.3349, 0.3305, 0.3163, 0.2955, 0.2722, 0.2502, 0.2303, 0.213, 0.1979, 0.1853",\
                 "0.4623, 0.4566, 0.4383, 0.4105, 0.3781, 0.3459, 0.3163, 0.2899, 0.2666, 0.2464",\
                 "0.6189, 0.6123, 0.5903, 0.5557, 0.5143, 0.4712, 0.4303, 0.3934, 0.3602, 0.331");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.471, 0.4711, 0.4713, 0.4719, 0.4726, 0.4736, 0.4751, 0.4768, 0.479, 0.4851",\
                 "0.4683, 0.4687, 0.4694, 0.4705, 0.4717, 0.473, 0.4745, 0.4765, 0.4786, 0.4855",\
                 "0.4661, 0.4662, 0.4669, 0.4683, 0.4698, 0.4715, 0.4735, 0.4755, 0.478, 0.4846",\
                 "0.4805, 0.4798, 0.4778, 0.4762, 0.4752, 0.4756, 0.4761, 0.4774, 0.4793, 0.4866",\
                 "0.5186, 0.5166, 0.511, 0.5041, 0.4972, 0.4925, 0.4892, 0.488, 0.4879, 0.4933",\
                 "0.5817, 0.5787, 0.5697, 0.5568, 0.5429, 0.5304, 0.5205, 0.5131, 0.5086, 0.5137",\
                 "0.6725, 0.6685, 0.6555, 0.6365, 0.6152, 0.5936, 0.5746, 0.5596, 0.5478, 0.5493",\
                 "0.7921, 0.7872, 0.7712, 0.7459, 0.7159, 0.6858, 0.6571, 0.6315, 0.6117, 0.6111",\
                 "0.9416, 0.9359, 0.9174, 0.8866, 0.8485, 0.8087, 0.7697, 0.7335, 0.7051, 0.708",\
                 "1.123, 1.116, 1.095, 1.06, 1.014, 0.9647, 0.9154, 0.868, 0.8329, 0.8526");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05329, 0.0536, 0.05391, 0.05422, 0.05442, 0.05455, 0.05465, 0.0547, 0.05475, 0.05479",\
                 "0.05272, 0.0533, 0.05461, 0.05567, 0.05638, 0.05681, 0.05709, 0.05729, 0.05745, 0.05748",\
                 "0.04894, 0.04971, 0.05189, 0.05421, 0.05599, 0.0572, 0.05792, 0.05843, 0.05877, 0.05903",\
                 "0.05425, 0.05455, 0.05538, 0.05662, 0.05769, 0.05844, 0.05903, 0.05941, 0.0596, 0.05981",\
                 "0.07948, 0.07851, 0.07594, 0.07314, 0.07091, 0.06887, 0.06736, 0.06608, 0.0651, 0.06431",\
                 "0.1289, 0.1263, 0.1192, 0.1103, 0.102, 0.09484, 0.0889, 0.08408, 0.08008, 0.07685",\
                 "0.2045, 0.2004, 0.1885, 0.1722, 0.1557, 0.141, 0.1286, 0.118, 0.1093, 0.102",\
                 "0.3076, 0.302, 0.2854, 0.2614, 0.2354, 0.2114, 0.1904, 0.1723, 0.1567, 0.1436",\
                 "0.4387, 0.432, 0.411, 0.3795, 0.3441, 0.3091, 0.2779, 0.2502, 0.2261, 0.2054",\
                 "0.5989, 0.5909, 0.5662, 0.5278, 0.4828, 0.4368, 0.3937, 0.3551, 0.3209, 0.2908");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4293, 0.4294, 0.4297, 0.4303, 0.4312, 0.4323, 0.4331, 0.4349, 0.4368, 0.4426",\
                 "0.4265, 0.4269, 0.4278, 0.4289, 0.4304, 0.4316, 0.4327, 0.4356, 0.4364, 0.4417",\
                 "0.4242, 0.4244, 0.4252, 0.4266, 0.4284, 0.4303, 0.432, 0.4342, 0.4368, 0.4431",\
                 "0.4389, 0.4382, 0.436, 0.4343, 0.4338, 0.4337, 0.4345, 0.4352, 0.4384, 0.4446",\
                 "0.4767, 0.4751, 0.4697, 0.4624, 0.4558, 0.4507, 0.4477, 0.4468, 0.4457, 0.4513",\
                 "0.5403, 0.5374, 0.5281, 0.5152, 0.5011, 0.4887, 0.4792, 0.4712, 0.4674, 0.4706",\
                 "0.6312, 0.627, 0.6143, 0.5949, 0.5734, 0.552, 0.533, 0.5177, 0.506, 0.5067",\
                 "0.7509, 0.7461, 0.7298, 0.7046, 0.6745, 0.6444, 0.6156, 0.5896, 0.5695, 0.5678",\
                 "0.9007, 0.8951, 0.8761, 0.845, 0.8071, 0.7667, 0.7282, 0.6921, 0.6623, 0.6629",\
                 "1.082, 1.076, 1.054, 1.019, 0.9735, 0.9224, 0.8727, 0.8263, 0.7899, 0.8045");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&!A2&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05339, 0.05348, 0.05385, 0.0542, 0.05441, 0.05458, 0.05466, 0.05475, 0.05475, 0.05476",\
                 "0.05269, 0.05338, 0.05461, 0.05569, 0.05638, 0.05683, 0.05709, 0.05727, 0.05745, 0.05747",\
                 "0.04926, 0.05011, 0.05217, 0.05439, 0.05605, 0.05723, 0.05799, 0.05845, 0.0588, 0.05901",\
                 "0.05587, 0.05602, 0.0567, 0.05768, 0.05853, 0.05916, 0.05958, 0.05983, 0.06, 0.06014",\
                 "0.08278, 0.08164, 0.07897, 0.07585, 0.07313, 0.07095, 0.06905, 0.06751, 0.06624, 0.06538",\
                 "0.1344, 0.1318, 0.1245, 0.1153, 0.1065, 0.09888, 0.09255, 0.08726, 0.08293, 0.07931",\
                 "0.2125, 0.2085, 0.1966, 0.1801, 0.1631, 0.1479, 0.1349, 0.1238, 0.1144, 0.1067",\
                 "0.319, 0.3136, 0.297, 0.2729, 0.2467, 0.2219, 0.2002, 0.1813, 0.1652, 0.1514",\
                 "0.4544, 0.4476, 0.4266, 0.3954, 0.3595, 0.3242, 0.2917, 0.2636, 0.2388, 0.2173",\
                 "0.6195, 0.6115, 0.5869, 0.5486, 0.5034, 0.4571, 0.4133, 0.3733, 0.3385, 0.3075");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4285, 0.4284, 0.4287, 0.4292, 0.4303, 0.4312, 0.4322, 0.4342, 0.4354, 0.4409",\
                 "0.4242, 0.4245, 0.4254, 0.4264, 0.4278, 0.4295, 0.4307, 0.4326, 0.4341, 0.44",\
                 "0.4222, 0.4223, 0.4229, 0.424, 0.4255, 0.4272, 0.4288, 0.4313, 0.4328, 0.4391",\
                 "0.4391, 0.4383, 0.4358, 0.4335, 0.4321, 0.4321, 0.4323, 0.4329, 0.4358, 0.442",\
                 "0.48, 0.4783, 0.4721, 0.4642, 0.4567, 0.451, 0.4471, 0.4451, 0.444, 0.449",\
                 "0.5468, 0.5436, 0.5344, 0.5208, 0.5059, 0.4918, 0.4805, 0.4728, 0.4677, 0.471",\
                 "0.6416, 0.6374, 0.6245, 0.6051, 0.5825, 0.5599, 0.5395, 0.5227, 0.5102, 0.51",\
                 "0.7662, 0.7612, 0.7447, 0.7194, 0.6889, 0.6579, 0.628, 0.6011, 0.5791, 0.5758",\
                 "0.9215, 0.9156, 0.8971, 0.8661, 0.8274, 0.787, 0.748, 0.7096, 0.6788, 0.6762",\
                 "1.11, 1.103, 1.082, 1.046, 1.001, 0.9509, 0.8998, 0.8524, 0.8137, 0.8276");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09628, 0.09639, 0.09677, 0.09706, 0.0973, 0.09745, 0.09755, 0.0976, 0.09763, 0.0976",\
                 "0.09661, 0.0971, 0.09787, 0.09876, 0.09933, 0.09972, 0.1, 0.1001, 0.1002, 0.1003",\
                 "0.09454, 0.09503, 0.09627, 0.09793, 0.09936, 0.1002, 0.101, 0.1014, 0.1017, 0.1019",\
                 "0.0996, 0.09975, 0.1004, 0.101, 0.1017, 0.102, 0.1024, 0.1026, 0.1028, 0.103",\
                 "0.1226, 0.1218, 0.1199, 0.1173, 0.1148, 0.1129, 0.1112, 0.1098, 0.1086, 0.1077",\
                 "0.1687, 0.1667, 0.1609, 0.1533, 0.1457, 0.1388, 0.1329, 0.1281, 0.124, 0.1206",\
                 "0.2406, 0.2373, 0.2275, 0.2132, 0.1984, 0.1847, 0.1725, 0.1622, 0.1535, 0.1461",\
                 "0.3401, 0.3355, 0.3213, 0.3004, 0.2769, 0.2544, 0.2342, 0.2165, 0.2012, 0.188",\
                 "0.468, 0.4622, 0.4442, 0.4162, 0.3837, 0.3511, 0.321, 0.2943, 0.2708, 0.2502",\
                 "0.6255, 0.6185, 0.597, 0.5624, 0.5209, 0.4776, 0.4362, 0.3987, 0.3653, 0.3359");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5066, 0.5068, 0.507, 0.5077, 0.5084, 0.5097, 0.5108, 0.5125, 0.515, 0.5205",\
                 "0.5044, 0.5048, 0.5057, 0.507, 0.5084, 0.5099, 0.5114, 0.5134, 0.5156, 0.5225",\
                 "0.5022, 0.5024, 0.5031, 0.5048, 0.5065, 0.5088, 0.5106, 0.5128, 0.5153, 0.5223",\
                 "0.5162, 0.5155, 0.5141, 0.5126, 0.5121, 0.5127, 0.5134, 0.5151, 0.5169, 0.5239",\
                 "0.5537, 0.5518, 0.5471, 0.5407, 0.5348, 0.5299, 0.5268, 0.5257, 0.5258, 0.5313",\
                 "0.6161, 0.6134, 0.6056, 0.5936, 0.5808, 0.5687, 0.5584, 0.5517, 0.5476, 0.5517",\
                 "0.7063, 0.7025, 0.6912, 0.6737, 0.6538, 0.6337, 0.6153, 0.5996, 0.5884, 0.5903",\
                 "0.8252, 0.8205, 0.8063, 0.783, 0.7554, 0.7271, 0.6995, 0.6744, 0.6546, 0.6555",\
                 "0.9747, 0.9692, 0.9523, 0.924, 0.8889, 0.8511, 0.815, 0.7794, 0.7516, 0.7546",\
                 "1.156, 1.15, 1.13, 1.097, 1.055, 1.008, 0.9617, 0.9165, 0.8827, 0.9034");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05333, 0.05351, 0.05385, 0.0542, 0.05441, 0.05456, 0.05465, 0.05471, 0.05477, 0.05479",\
                 "0.05282, 0.05337, 0.05462, 0.05572, 0.05639, 0.05683, 0.0571, 0.05725, 0.05739, 0.05745",\
                 "0.04932, 0.05013, 0.05222, 0.05447, 0.05613, 0.05727, 0.05801, 0.05846, 0.05878, 0.05906",\
                 "0.05571, 0.05592, 0.05661, 0.05762, 0.05849, 0.05902, 0.05948, 0.05975, 0.05991, 0.06006",\
                 "0.08196, 0.08096, 0.07824, 0.07527, 0.0726, 0.07044, 0.06852, 0.06707, 0.06589, 0.06494",\
                 "0.1321, 0.1297, 0.1225, 0.1136, 0.1048, 0.09717, 0.0909, 0.08579, 0.08159, 0.07815",\
                 "0.2089, 0.2047, 0.1928, 0.1763, 0.1596, 0.1444, 0.1314, 0.1206, 0.1116, 0.1039",\
                 "0.3125, 0.3071, 0.2905, 0.2663, 0.2401, 0.2159, 0.1943, 0.1758, 0.1599, 0.1464",\
                 "0.4445, 0.4378, 0.4168, 0.3855, 0.3496, 0.3144, 0.2826, 0.2547, 0.2302, 0.2091",\
                 "0.6053, 0.5975, 0.5728, 0.5346, 0.4895, 0.4432, 0.3996, 0.3607, 0.326, 0.2957");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4651, 0.4651, 0.4654, 0.466, 0.4669, 0.4681, 0.4689, 0.4706, 0.4728, 0.478",\
                 "0.4628, 0.4632, 0.4642, 0.4652, 0.4665, 0.468, 0.4703, 0.4712, 0.4734, 0.4786",\
                 "0.4605, 0.4606, 0.4615, 0.463, 0.4649, 0.4673, 0.4692, 0.4719, 0.4738, 0.4798",\
                 "0.4746, 0.4738, 0.4723, 0.4709, 0.4703, 0.4708, 0.4717, 0.4729, 0.4754, 0.482",\
                 "0.5121, 0.5105, 0.5053, 0.4991, 0.493, 0.4885, 0.4852, 0.4841, 0.4833, 0.4894",\
                 "0.5744, 0.5719, 0.564, 0.552, 0.5391, 0.527, 0.5171, 0.5105, 0.505, 0.5093",\
                 "0.6651, 0.6614, 0.6497, 0.6323, 0.6124, 0.5915, 0.5733, 0.558, 0.5466, 0.548",\
                 "0.784, 0.7794, 0.765, 0.7415, 0.714, 0.6858, 0.6582, 0.6328, 0.6124, 0.6106",\
                 "0.9333, 0.9282, 0.9109, 0.8826, 0.8475, 0.8092, 0.7731, 0.7376, 0.7085, 0.7088",\
                 "1.115, 1.109, 1.089, 1.056, 1.014, 0.9666, 0.9193, 0.8742, 0.8397, 0.8569");
        }
      }

      internal_power() {
        related_pin : "B1" ;
        when : "A1&A2&!B2&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05334, 0.05349, 0.05388, 0.05421, 0.05443, 0.05455, 0.05464, 0.0547, 0.05475, 0.05475",\
                 "0.05283, 0.05331, 0.05459, 0.05568, 0.05638, 0.05682, 0.0571, 0.05725, 0.05741, 0.05747",\
                 "0.04968, 0.05052, 0.05257, 0.05465, 0.05626, 0.05735, 0.05801, 0.05852, 0.05884, 0.05904",\
                 "0.05735, 0.05742, 0.05792, 0.05877, 0.05948, 0.05986, 0.06006, 0.06019, 0.06034, 0.06034",\
                 "0.08541, 0.08431, 0.08141, 0.078, 0.07509, 0.0725, 0.0704, 0.06861, 0.06718, 0.06601",\
                 "0.138, 0.1354, 0.1279, 0.1184, 0.1093, 0.1014, 0.09466, 0.08915, 0.08457, 0.08077",\
                 "0.217, 0.2131, 0.2011, 0.1844, 0.167, 0.1515, 0.138, 0.1266, 0.117, 0.1089",\
                 "0.3242, 0.3187, 0.3022, 0.2781, 0.2516, 0.2264, 0.2044, 0.1852, 0.1686, 0.1544",\
                 "0.4604, 0.4535, 0.4327, 0.4013, 0.3656, 0.3299, 0.2971, 0.2682, 0.2433, 0.2214",\
                 "0.6262, 0.6185, 0.5939, 0.5556, 0.5105, 0.464, 0.4198, 0.3796, 0.3441, 0.3128");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4641, 0.4641, 0.4645, 0.4651, 0.4658, 0.4667, 0.4678, 0.4693, 0.4728, 0.4773",\
                 "0.4604, 0.4609, 0.4618, 0.463, 0.4645, 0.4656, 0.4672, 0.4689, 0.4724, 0.4763",\
                 "0.4581, 0.4585, 0.4591, 0.4605, 0.4621, 0.4641, 0.466, 0.4679, 0.4714, 0.4762",\
                 "0.4747, 0.4738, 0.4719, 0.4698, 0.4687, 0.4687, 0.4694, 0.4702, 0.4717, 0.4784",\
                 "0.5151, 0.5135, 0.5084, 0.5008, 0.4943, 0.4884, 0.485, 0.4821, 0.4826, 0.4877",\
                 "0.5811, 0.5785, 0.5704, 0.5579, 0.5442, 0.5309, 0.52, 0.5115, 0.506, 0.5093",\
                 "0.6755, 0.672, 0.6602, 0.6425, 0.6224, 0.6006, 0.5811, 0.5636, 0.5515, 0.5517",\
                 "0.7993, 0.7948, 0.7804, 0.757, 0.7293, 0.7001, 0.6716, 0.6447, 0.623, 0.6202",\
                 "0.9544, 0.9491, 0.9319, 0.9043, 0.8685, 0.8307, 0.7939, 0.7574, 0.7257, 0.7247",\
                 "1.143, 1.137, 1.117, 1.084, 1.043, 0.9948, 0.9476, 0.9022, 0.8651, 0.881");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.179, 0.1789, 0.1788, 0.1791, 0.1792, 0.1792, 0.1793, 0.1793, 0.1793, 0.1791",\
                 "0.1754, 0.1756, 0.1756, 0.1759, 0.176, 0.1762, 0.1762, 0.1763, 0.176, 0.1761",\
                 "0.1723, 0.1724, 0.1725, 0.1728, 0.1732, 0.1734, 0.1736, 0.1737, 0.1738, 0.1737",\
                 "0.1757, 0.1756, 0.1754, 0.175, 0.1746, 0.1743, 0.1741, 0.1741, 0.1739, 0.1738",\
                 "0.1968, 0.196, 0.1939, 0.1906, 0.1876, 0.1848, 0.1823, 0.1805, 0.179, 0.1779",\
                 "0.2438, 0.2419, 0.2362, 0.2282, 0.2196, 0.2117, 0.2048, 0.1991, 0.1945, 0.1907",\
                 "0.3207, 0.3176, 0.3079, 0.2934, 0.277, 0.2614, 0.2474, 0.2354, 0.2256, 0.2172",\
                 "0.4301, 0.4258, 0.4119, 0.3904, 0.3648, 0.3392, 0.3156, 0.2949, 0.2772, 0.2622",\
                 "0.5741, 0.5684, 0.5501, 0.5207, 0.4857, 0.4489, 0.4137, 0.3819, 0.354, 0.33",\
                 "0.7532, 0.7462, 0.7237, 0.6871, 0.6419, 0.5932, 0.5455, 0.501, 0.4609, 0.4256");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5542, 0.5542, 0.5545, 0.5551, 0.5558, 0.5568, 0.5581, 0.5599, 0.5618, 0.568",\
                 "0.5517, 0.552, 0.5527, 0.5538, 0.5548, 0.5564, 0.5579, 0.5596, 0.5608, 0.568",\
                 "0.5457, 0.5462, 0.5475, 0.5496, 0.5517, 0.5541, 0.5562, 0.5583, 0.5608, 0.5675",\
                 "0.5543, 0.554, 0.5533, 0.5533, 0.5538, 0.555, 0.5566, 0.5583, 0.5604, 0.5694",\
                 "0.5913, 0.5899, 0.5851, 0.5795, 0.5743, 0.5711, 0.5691, 0.5678, 0.569, 0.5761",\
                 "0.661, 0.6577, 0.6484, 0.6357, 0.6223, 0.6104, 0.6014, 0.5946, 0.5911, 0.5961",\
                 "0.7648, 0.7602, 0.7463, 0.7252, 0.7023, 0.6807, 0.6617, 0.646, 0.6342, 0.6369",\
                 "0.9025, 0.8971, 0.8791, 0.8511, 0.8177, 0.7844, 0.7542, 0.7278, 0.7067, 0.7046",\
                 "1.076, 1.069, 1.048, 1.014, 0.9707, 0.9251, 0.8832, 0.8434, 0.812, 0.8101",\
                 "1.285, 1.278, 1.254, 1.215, 1.164, 1.106, 1.05, 0.9974, 0.9562, 0.9634");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1359, 0.1359, 0.1359, 0.1361, 0.1362, 0.1362, 0.1364, 0.1363, 0.1364, 0.1363",\
                 "0.1325, 0.1326, 0.1327, 0.1329, 0.1331, 0.1332, 0.1332, 0.1333, 0.1334, 0.1332",\
                 "0.1289, 0.1291, 0.1294, 0.1299, 0.1303, 0.1305, 0.1308, 0.1308, 0.1309, 0.131",\
                 "0.133, 0.133, 0.1326, 0.1322, 0.1319, 0.1315, 0.1313, 0.1312, 0.1311, 0.131",\
                 "0.1565, 0.1555, 0.1526, 0.1489, 0.1455, 0.1424, 0.1399, 0.1378, 0.1364, 0.1352",\
                 "0.2072, 0.2051, 0.1981, 0.1888, 0.179, 0.1703, 0.163, 0.1571, 0.1522, 0.1482",\
                 "0.2884, 0.2847, 0.2734, 0.2569, 0.2387, 0.2215, 0.2066, 0.1941, 0.1838, 0.1752",\
                 "0.4027, 0.3976, 0.3814, 0.3569, 0.3289, 0.3015, 0.2762, 0.2546, 0.2362, 0.2207",\
                 "0.5509, 0.5445, 0.5235, 0.4911, 0.4526, 0.4133, 0.3761, 0.343, 0.3141, 0.2894",\
                 "0.7339, 0.726, 0.701, 0.6609, 0.6118, 0.5601, 0.5097, 0.4637, 0.4221, 0.3859");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5127, 0.5127, 0.5128, 0.5133, 0.5139, 0.5151, 0.5164, 0.5181, 0.5202, 0.5254",\
                 "0.5102, 0.5104, 0.5111, 0.5121, 0.5131, 0.5147, 0.5159, 0.5177, 0.5199, 0.5258",\
                 "0.5041, 0.5046, 0.506, 0.5079, 0.51, 0.5122, 0.5143, 0.5164, 0.5186, 0.5263",\
                 "0.5128, 0.5124, 0.5118, 0.5117, 0.5122, 0.5135, 0.5154, 0.5171, 0.5193, 0.5272",\
                 "0.5497, 0.5483, 0.5435, 0.5379, 0.5326, 0.5292, 0.5278, 0.5266, 0.5272, 0.5328",\
                 "0.6195, 0.6163, 0.6068, 0.5941, 0.5808, 0.5689, 0.5599, 0.5527, 0.5492, 0.5534",\
                 "0.7233, 0.7189, 0.7049, 0.6837, 0.6607, 0.6392, 0.62, 0.6042, 0.5931, 0.5941",\
                 "0.8617, 0.856, 0.8378, 0.8097, 0.7759, 0.7429, 0.713, 0.6863, 0.6646, 0.6615",\
                 "1.035, 1.028, 1.007, 0.9733, 0.9293, 0.8837, 0.8417, 0.8023, 0.7699, 0.7646",\
                 "1.244, 1.237, 1.214, 1.174, 1.123, 1.065, 1.008, 0.9555, 0.9135, 0.9163");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "!A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.136, 0.136, 0.1359, 0.1361, 0.1362, 0.1364, 0.1363, 0.1364, 0.1364, 0.1363",\
                 "0.1326, 0.1327, 0.1327, 0.1329, 0.1331, 0.1332, 0.1333, 0.1333, 0.1333, 0.1332",\
                 "0.1292, 0.1293, 0.1296, 0.1299, 0.1304, 0.1307, 0.1308, 0.1309, 0.131, 0.1309",\
                 "0.1343, 0.134, 0.1336, 0.133, 0.1324, 0.1319, 0.1316, 0.1314, 0.1313, 0.1311",\
                 "0.1599, 0.1587, 0.1558, 0.1516, 0.1478, 0.1444, 0.1414, 0.1392, 0.1375, 0.1361",\
                 "0.2135, 0.2111, 0.2041, 0.1943, 0.1839, 0.1747, 0.1668, 0.1604, 0.155, 0.1508",\
                 "0.2986, 0.2949, 0.2832, 0.2662, 0.2474, 0.2295, 0.2138, 0.2004, 0.1894, 0.1803",\
                 "0.4178, 0.4124, 0.3961, 0.3711, 0.3425, 0.3141, 0.2881, 0.2652, 0.2458, 0.2295",\
                 "0.572, 0.5652, 0.544, 0.5112, 0.4722, 0.432, 0.3938, 0.3594, 0.3293, 0.3033",\
                 "0.7617, 0.754, 0.7287, 0.6882, 0.6385, 0.5858, 0.5344, 0.4869, 0.4441, 0.4064");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5117, 0.5117, 0.5118, 0.5123, 0.5132, 0.5141, 0.5158, 0.5171, 0.5193, 0.5258",\
                 "0.5079, 0.5081, 0.5088, 0.5098, 0.5108, 0.5123, 0.5136, 0.5154, 0.517, 0.5232",\
                 "0.502, 0.5024, 0.5036, 0.5054, 0.5073, 0.5094, 0.5115, 0.5138, 0.5163, 0.5233",\
                 "0.5123, 0.5119, 0.5108, 0.5102, 0.5103, 0.5114, 0.5129, 0.5141, 0.5166, 0.5229",\
                 "0.5528, 0.5509, 0.5458, 0.5393, 0.5331, 0.5289, 0.5267, 0.5253, 0.5255, 0.5315",\
                 "0.6271, 0.6239, 0.6139, 0.6, 0.5854, 0.5723, 0.5624, 0.554, 0.5496, 0.5534",\
                 "0.7368, 0.7321, 0.7177, 0.6957, 0.6718, 0.6482, 0.627, 0.6101, 0.597, 0.5967",\
                 "0.8821, 0.8763, 0.8581, 0.8291, 0.7941, 0.7597, 0.7275, 0.6988, 0.6751, 0.6694",\
                 "1.064, 1.057, 1.036, 1.001, 0.9562, 0.9093, 0.8648, 0.8238, 0.7881, 0.7809",\
                 "1.283, 1.275, 1.252, 1.212, 1.16, 1.101, 1.042, 0.9878, 0.9429, 0.943");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.135, 0.1351, 0.1351, 0.1354, 0.1354, 0.1354, 0.1355, 0.1355, 0.1355, 0.1355",\
                 "0.1317, 0.1317, 0.1319, 0.1321, 0.1323, 0.1323, 0.1324, 0.1324, 0.1325, 0.1324",\
                 "0.1281, 0.1282, 0.1286, 0.129, 0.1295, 0.1297, 0.1299, 0.13, 0.1301, 0.1301",\
                 "0.1322, 0.1321, 0.1317, 0.1314, 0.131, 0.1307, 0.1304, 0.1303, 0.1302, 0.1301",\
                 "0.1557, 0.1547, 0.1518, 0.148, 0.1447, 0.1416, 0.139, 0.137, 0.1356, 0.1343",\
                 "0.2064, 0.2042, 0.1973, 0.188, 0.1782, 0.1695, 0.1622, 0.1562, 0.1514, 0.1475",\
                 "0.2876, 0.284, 0.2727, 0.2561, 0.2379, 0.2207, 0.2058, 0.1933, 0.1829, 0.1743",\
                 "0.4021, 0.3968, 0.3806, 0.3562, 0.3281, 0.3007, 0.2755, 0.2537, 0.2352, 0.2199",\
                 "0.5504, 0.5439, 0.5229, 0.4905, 0.4518, 0.4126, 0.3753, 0.3422, 0.3133, 0.2886",\
                 "0.7332, 0.7252, 0.7004, 0.6602, 0.6112, 0.5594, 0.509, 0.4628, 0.4213, 0.3851");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5126, 0.5127, 0.5128, 0.5133, 0.514, 0.515, 0.5168, 0.518, 0.5202, 0.526",\
                 "0.5101, 0.5104, 0.5111, 0.5121, 0.5131, 0.5144, 0.5159, 0.5177, 0.5202, 0.5258",\
                 "0.504, 0.5045, 0.5059, 0.5079, 0.51, 0.5124, 0.5142, 0.5164, 0.5192, 0.5253",\
                 "0.5127, 0.5123, 0.5117, 0.5116, 0.5122, 0.5134, 0.5149, 0.517, 0.5192, 0.5268",\
                 "0.5497, 0.5482, 0.5434, 0.5379, 0.5327, 0.5292, 0.5274, 0.5266, 0.5271, 0.5335",\
                 "0.6195, 0.6163, 0.6068, 0.5939, 0.5806, 0.569, 0.5599, 0.5533, 0.5489, 0.5527",\
                 "0.7234, 0.719, 0.7045, 0.6835, 0.6608, 0.6391, 0.6195, 0.6042, 0.593, 0.5937",\
                 "0.8616, 0.8559, 0.8381, 0.8095, 0.776, 0.7431, 0.713, 0.6859, 0.6645, 0.6618",\
                 "1.034, 1.028, 1.007, 0.9729, 0.9295, 0.8836, 0.8413, 0.8016, 0.7699, 0.7646",\
                 "1.244, 1.237, 1.214, 1.174, 1.122, 1.065, 1.008, 0.9557, 0.9132, 0.9169");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09216, 0.09214, 0.09228, 0.09242, 0.09254, 0.09257, 0.0926, 0.09263, 0.09265, 0.0926",\
                 "0.08862, 0.08873, 0.08892, 0.08915, 0.0894, 0.08945, 0.08955, 0.08957, 0.08963, 0.08958",\
                 "0.08481, 0.08494, 0.08548, 0.08601, 0.08651, 0.08682, 0.08701, 0.08712, 0.08721, 0.08728",\
                 "0.0895, 0.0894, 0.08895, 0.08858, 0.08815, 0.08782, 0.08757, 0.08749, 0.08737, 0.08727",\
                 "0.116, 0.1148, 0.1111, 0.1067, 0.1027, 0.09924, 0.09645, 0.09438, 0.09288, 0.09166",\
                 "0.1713, 0.1684, 0.1601, 0.1489, 0.1378, 0.1282, 0.1203, 0.1141, 0.109, 0.105",\
                 "0.2581, 0.2533, 0.2396, 0.2203, 0.2, 0.1811, 0.1652, 0.152, 0.1411, 0.1323",\
                 "0.3773, 0.3711, 0.3522, 0.3241, 0.2931, 0.263, 0.2362, 0.2135, 0.1943, 0.1784",\
                 "0.5301, 0.5224, 0.4986, 0.462, 0.4197, 0.3774, 0.3382, 0.3032, 0.2734, 0.2479",\
                 "0.717, 0.7081, 0.6798, 0.6355, 0.5821, 0.5269, 0.4739, 0.4254, 0.3827, 0.3455");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4709, 0.471, 0.4713, 0.4716, 0.4725, 0.4737, 0.4744, 0.4762, 0.4781, 0.4826",\
                 "0.4684, 0.4687, 0.4694, 0.4702, 0.4717, 0.4731, 0.4747, 0.4758, 0.4794, 0.4833",\
                 "0.4623, 0.4628, 0.4643, 0.4662, 0.4684, 0.4706, 0.4728, 0.4745, 0.4767, 0.4831",\
                 "0.4711, 0.4707, 0.47, 0.4698, 0.4706, 0.4718, 0.4737, 0.4755, 0.4774, 0.4832",\
                 "0.5078, 0.5065, 0.5019, 0.4961, 0.491, 0.4876, 0.4857, 0.4851, 0.485, 0.4906",\
                 "0.5779, 0.5748, 0.5652, 0.5525, 0.5391, 0.5272, 0.5181, 0.5118, 0.507, 0.5111",\
                 "0.6823, 0.6775, 0.6632, 0.6421, 0.6191, 0.5974, 0.5787, 0.5623, 0.5509, 0.5505",\
                 "0.8205, 0.8149, 0.7969, 0.7682, 0.7343, 0.7012, 0.6713, 0.6444, 0.6221, 0.6171",\
                 "0.9938, 0.9873, 0.9662, 0.9318, 0.8879, 0.842, 0.7998, 0.7611, 0.7278, 0.7204",\
                 "1.203, 1.196, 1.173, 1.133, 1.082, 1.024, 0.9661, 0.914, 0.8708, 0.8707");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&!A2&!B1&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.0922, 0.09217, 0.09229, 0.09237, 0.09252, 0.09259, 0.0926, 0.09263, 0.09267, 0.09263",\
                 "0.08871, 0.08877, 0.089, 0.08923, 0.08942, 0.08948, 0.08953, 0.08957, 0.0896, 0.08958",\
                 "0.08506, 0.08522, 0.08555, 0.08612, 0.0866, 0.08685, 0.08707, 0.08715, 0.08725, 0.08732",\
                 "0.09081, 0.09065, 0.09012, 0.08941, 0.08884, 0.08834, 0.08805, 0.08775, 0.08757, 0.08744",\
                 "0.1195, 0.1183, 0.1143, 0.1094, 0.105, 0.1012, 0.09813, 0.09576, 0.09395, 0.09257",\
                 "0.1778, 0.1748, 0.1662, 0.1546, 0.143, 0.1327, 0.1242, 0.1175, 0.1119, 0.1075",\
                 "0.2681, 0.2634, 0.2495, 0.2298, 0.2088, 0.1893, 0.1724, 0.1584, 0.1469, 0.1374",\
                 "0.3924, 0.3862, 0.367, 0.3384, 0.3067, 0.2759, 0.2482, 0.2243, 0.2041, 0.1873",\
                 "0.5511, 0.5435, 0.5194, 0.4823, 0.4393, 0.3963, 0.3558, 0.32, 0.2887, 0.2619",\
                 "0.7453, 0.7362, 0.7079, 0.6629, 0.6089, 0.5526, 0.4985, 0.4488, 0.4048, 0.3659");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4698, 0.47, 0.4702, 0.4706, 0.4716, 0.4727, 0.474, 0.4752, 0.4771, 0.4833",\
                 "0.4661, 0.4663, 0.4671, 0.4679, 0.4695, 0.4708, 0.4724, 0.4735, 0.4767, 0.481",\
                 "0.4601, 0.4605, 0.4619, 0.4638, 0.4658, 0.4677, 0.4701, 0.4716, 0.4738, 0.4794",\
                 "0.4707, 0.4701, 0.4691, 0.4684, 0.4689, 0.4696, 0.4711, 0.4729, 0.4744, 0.4803",\
                 "0.5111, 0.5092, 0.5041, 0.4974, 0.4917, 0.4872, 0.4846, 0.4834, 0.483, 0.4896",\
                 "0.5857, 0.5822, 0.5724, 0.5581, 0.5439, 0.5309, 0.5202, 0.5125, 0.5077, 0.5101",\
                 "0.6957, 0.6909, 0.6762, 0.6541, 0.6297, 0.6066, 0.5857, 0.5679, 0.5549, 0.5539",\
                 "0.841, 0.8353, 0.8168, 0.7874, 0.7526, 0.7178, 0.6859, 0.6569, 0.633, 0.626",\
                 "1.022, 1.016, 0.995, 0.9592, 0.9149, 0.8676, 0.8236, 0.7812, 0.7466, 0.7373",\
                 "1.242, 1.235, 1.211, 1.171, 1.118, 1.059, 1, 0.9457, 0.9002, 0.8976");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&!C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1349, 0.1351, 0.1352, 0.1353, 0.1353, 0.1354, 0.1354, 0.1354, 0.1355, 0.1355",\
                 "0.1318, 0.132, 0.1319, 0.1322, 0.1323, 0.1324, 0.1324, 0.1324, 0.1324, 0.1324",\
                 "0.1284, 0.1285, 0.1287, 0.1292, 0.1294, 0.1297, 0.1299, 0.13, 0.1301, 0.13",\
                 "0.1332, 0.133, 0.1326, 0.1321, 0.1316, 0.1311, 0.1308, 0.1306, 0.1304, 0.1303",\
                 "0.1582, 0.157, 0.154, 0.1501, 0.1462, 0.1429, 0.1401, 0.1379, 0.1363, 0.1349",\
                 "0.2101, 0.2078, 0.201, 0.1912, 0.181, 0.172, 0.1643, 0.1579, 0.1527, 0.1487",\
                 "0.2927, 0.289, 0.2776, 0.2607, 0.2421, 0.2243, 0.2091, 0.196, 0.1853, 0.1764",\
                 "0.4085, 0.4033, 0.3869, 0.3622, 0.3336, 0.3055, 0.2798, 0.2575, 0.2387, 0.2228",\
                 "0.5578, 0.5512, 0.5304, 0.4975, 0.4587, 0.4188, 0.381, 0.3474, 0.318, 0.2929",\
                 "0.7418, 0.7342, 0.709, 0.6689, 0.6193, 0.567, 0.5162, 0.4695, 0.4273, 0.3905");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5483, 0.5483, 0.5486, 0.5491, 0.55, 0.5511, 0.5524, 0.5541, 0.5562, 0.5618",\
                 "0.5463, 0.5466, 0.5474, 0.5487, 0.5499, 0.5516, 0.553, 0.5547, 0.5572, 0.5634",\
                 "0.5401, 0.5406, 0.542, 0.5442, 0.5468, 0.5493, 0.5513, 0.5537, 0.5566, 0.5629",\
                 "0.5484, 0.5481, 0.5478, 0.5478, 0.5485, 0.5503, 0.5522, 0.5534, 0.5566, 0.5638",\
                 "0.5848, 0.5835, 0.5795, 0.5745, 0.5697, 0.5664, 0.5648, 0.564, 0.5648, 0.5709",\
                 "0.6537, 0.6509, 0.6426, 0.631, 0.6185, 0.6074, 0.5985, 0.592, 0.5882, 0.5915",\
                 "0.757, 0.7529, 0.7401, 0.7209, 0.6999, 0.679, 0.6604, 0.6451, 0.6337, 0.6344",\
                 "0.8949, 0.8899, 0.8735, 0.8473, 0.8161, 0.785, 0.7559, 0.7292, 0.7078, 0.7052",\
                 "1.068, 1.062, 1.043, 1.011, 0.9705, 0.9275, 0.8863, 0.8489, 0.8168, 0.813",\
                 "1.278, 1.271, 1.25, 1.213, 1.165, 1.11, 1.056, 1.007, 0.965, 0.9693");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&C1&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09226, 0.09218, 0.09231, 0.0924, 0.09242, 0.0925, 0.09257, 0.09257, 0.0926, 0.09255",\
                 "0.0888, 0.08876, 0.08908, 0.08922, 0.08937, 0.08947, 0.08954, 0.08956, 0.0896, 0.08957",\
                 "0.08511, 0.08531, 0.08561, 0.08615, 0.08653, 0.0868, 0.08706, 0.08714, 0.08722, 0.08723",\
                 "0.09062, 0.09038, 0.08994, 0.08931, 0.08881, 0.08831, 0.08802, 0.08775, 0.08757, 0.08741",\
                 "0.1187, 0.1174, 0.1135, 0.1087, 0.1044, 0.1006, 0.09763, 0.09531, 0.09355, 0.09223",\
                 "0.1754, 0.1725, 0.1639, 0.1524, 0.1409, 0.1307, 0.1225, 0.1158, 0.1105, 0.1062",\
                 "0.2632, 0.2587, 0.2447, 0.2251, 0.2043, 0.1849, 0.1684, 0.1547, 0.1436, 0.1344",\
                 "0.3839, 0.3777, 0.3584, 0.3301, 0.2986, 0.2681, 0.2408, 0.2173, 0.1978, 0.1815",\
                 "0.5379, 0.5301, 0.5061, 0.4692, 0.4265, 0.3837, 0.344, 0.3085, 0.2781, 0.2523",\
                 "0.7256, 0.7168, 0.6886, 0.6442, 0.5904, 0.5346, 0.4811, 0.4321, 0.3887, 0.351");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5066, 0.5069, 0.507, 0.5077, 0.5084, 0.509, 0.5104, 0.5122, 0.5134, 0.5196",\
                 "0.5048, 0.5049, 0.5059, 0.5071, 0.5084, 0.5097, 0.5119, 0.5132, 0.5154, 0.521",\
                 "0.4984, 0.499, 0.5003, 0.5028, 0.5051, 0.5076, 0.5095, 0.5119, 0.5144, 0.5208",\
                 "0.5067, 0.5065, 0.5061, 0.5059, 0.5071, 0.5086, 0.5102, 0.5122, 0.5147, 0.522",\
                 "0.5431, 0.5419, 0.5378, 0.5327, 0.5278, 0.5247, 0.5231, 0.5224, 0.5233, 0.5296",\
                 "0.6122, 0.6093, 0.6009, 0.5894, 0.5773, 0.5658, 0.5566, 0.5498, 0.5453, 0.5498",\
                 "0.7159, 0.7116, 0.699, 0.6795, 0.6581, 0.6374, 0.6188, 0.6033, 0.5912, 0.5909",\
                 "0.8539, 0.8489, 0.8323, 0.8058, 0.7743, 0.7432, 0.7142, 0.6876, 0.6663, 0.6605",\
                 "1.027, 1.021, 1.002, 0.9697, 0.929, 0.8857, 0.8451, 0.8073, 0.774, 0.7686",\
                 "1.237, 1.23, 1.209, 1.172, 1.123, 1.069, 1.014, 0.9642, 0.9223, 0.9234");
        }
      }

      internal_power() {
        related_pin : "B2" ;
        when : "A1&A2&!B1&C1&C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09217, 0.09218, 0.09233, 0.09238, 0.09243, 0.09251, 0.0926, 0.09262, 0.09263, 0.09264",\
                 "0.08879, 0.08877, 0.08895, 0.08929, 0.08937, 0.08947, 0.08956, 0.08959, 0.08961, 0.08965",\
                 "0.08526, 0.08545, 0.0859, 0.08629, 0.08666, 0.08687, 0.08708, 0.08722, 0.08727, 0.08733",\
                 "0.09214, 0.09181, 0.09122, 0.09031, 0.08961, 0.0889, 0.08845, 0.08812, 0.08785, 0.08767",\
                 "0.1224, 0.121, 0.1169, 0.1117, 0.1068, 0.1028, 0.09948, 0.09684, 0.09481, 0.0933",\
                 "0.1821, 0.179, 0.1701, 0.1585, 0.1461, 0.1354, 0.1265, 0.1194, 0.1136, 0.1089",\
                 "0.2739, 0.269, 0.2549, 0.2348, 0.2135, 0.1933, 0.176, 0.1616, 0.1495, 0.1397",\
                 "0.3993, 0.3929, 0.3737, 0.3448, 0.3128, 0.2812, 0.2531, 0.2286, 0.208, 0.1906",\
                 "0.5593, 0.5516, 0.5272, 0.49, 0.4467, 0.4031, 0.3622, 0.3258, 0.2938, 0.2666",\
                 "0.7547, 0.7456, 0.7171, 0.6719, 0.6176, 0.5609, 0.5064, 0.4564, 0.4115, 0.372");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5056, 0.5057, 0.5059, 0.5065, 0.5073, 0.5082, 0.5097, 0.5112, 0.5127, 0.5176",\
                 "0.5023, 0.5026, 0.5036, 0.5045, 0.5062, 0.5074, 0.509, 0.5102, 0.5127, 0.518",\
                 "0.496, 0.4966, 0.4978, 0.4999, 0.5026, 0.5047, 0.5067, 0.5089, 0.5114, 0.5191",\
                 "0.5061, 0.5058, 0.505, 0.5044, 0.505, 0.5063, 0.5078, 0.5095, 0.5117, 0.519",\
                 "0.5461, 0.5445, 0.54, 0.534, 0.5286, 0.5243, 0.5217, 0.5211, 0.5216, 0.5263",\
                 "0.6201, 0.6173, 0.6082, 0.5959, 0.5823, 0.5699, 0.5592, 0.5515, 0.5467, 0.5498",\
                 "0.7293, 0.7253, 0.712, 0.692, 0.6696, 0.6475, 0.6268, 0.6099, 0.5971, 0.5952",\
                 "0.8748, 0.8694, 0.8527, 0.8259, 0.7936, 0.761, 0.7306, 0.7015, 0.6779, 0.6711",\
                 "1.056, 1.05, 1.031, 0.9984, 0.9569, 0.9124, 0.8701, 0.8304, 0.7951, 0.7871",\
                 "1.276, 1.269, 1.248, 1.211, 1.161, 1.106, 1.05, 0.9982, 0.954, 0.953");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1396, 0.1397, 0.1398, 0.1401, 0.1404, 0.1405, 0.1406, 0.1407, 0.1406, 0.1406",\
                 "0.1402, 0.1405, 0.141, 0.1418, 0.1424, 0.1427, 0.143, 0.1432, 0.1433, 0.1433",\
                 "0.1376, 0.138, 0.1392, 0.1408, 0.1423, 0.1431, 0.1439, 0.1444, 0.1447, 0.1448",\
                 "0.1369, 0.1373, 0.1384, 0.14, 0.1413, 0.1426, 0.1435, 0.1442, 0.1447, 0.145",\
                 "0.152, 0.1518, 0.151, 0.1505, 0.1501, 0.1498, 0.1493, 0.1489, 0.1485, 0.1481",\
                 "0.1901, 0.1889, 0.1854, 0.1811, 0.1763, 0.172, 0.1683, 0.1651, 0.1622, 0.1597",\
                 "0.255, 0.2528, 0.2462, 0.2362, 0.2256, 0.2153, 0.2061, 0.198, 0.1909, 0.1848",\
                 "0.3499, 0.3465, 0.336, 0.3202, 0.3018, 0.2837, 0.267, 0.2521, 0.2389, 0.2274",\
                 "0.4758, 0.4713, 0.4573, 0.435, 0.4082, 0.3808, 0.3548, 0.3313, 0.3104, 0.2918",\
                 "0.6338, 0.6284, 0.6106, 0.582, 0.5469, 0.5095, 0.4727, 0.4391, 0.4083, 0.3811");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6476, 0.6477, 0.6481, 0.6485, 0.6492, 0.65, 0.6514, 0.6528, 0.6551, 0.6622",\
                 "0.6432, 0.6433, 0.6437, 0.6443, 0.6449, 0.646, 0.6473, 0.6489, 0.6511, 0.6583",\
                 "0.6409, 0.6409, 0.6412, 0.6415, 0.6422, 0.6433, 0.6447, 0.6462, 0.6485, 0.6555",\
                 "0.6545, 0.6538, 0.652, 0.6497, 0.6484, 0.6475, 0.6476, 0.6482, 0.6501, 0.6571",\
                 "0.692, 0.6901, 0.6851, 0.6777, 0.6706, 0.6653, 0.6616, 0.6594, 0.6583, 0.666",\
                 "0.7562, 0.7533, 0.7449, 0.7319, 0.7169, 0.704, 0.6937, 0.6854, 0.681, 0.6865",\
                 "0.8489, 0.8451, 0.8331, 0.814, 0.7921, 0.7698, 0.75, 0.7336, 0.7215, 0.7238",\
                 "0.9725, 0.968, 0.9525, 0.9277, 0.898, 0.8666, 0.8358, 0.8083, 0.788, 0.7904",\
                 "1.129, 1.123, 1.105, 1.075, 1.036, 0.9953, 0.9545, 0.916, 0.8856, 0.8914",\
                 "1.319, 1.313, 1.291, 1.256, 1.211, 1.16, 1.107, 1.057, 1.02, 1.047");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09724, 0.09732, 0.09762, 0.09789, 0.09823, 0.09832, 0.0984, 0.09844, 0.09847, 0.09846",\
                 "0.09742, 0.09772, 0.09857, 0.09949, 0.1002, 0.1006, 0.1009, 0.101, 0.1011, 0.1011",\
                 "0.09362, 0.09423, 0.09594, 0.0981, 0.09971, 0.1008, 0.1016, 0.1021, 0.1024, 0.1026",\
                 "0.09323, 0.0937, 0.09514, 0.09706, 0.09878, 0.1002, 0.1012, 0.102, 0.1025, 0.1028",\
                 "0.1101, 0.1098, 0.1091, 0.1084, 0.1079, 0.1077, 0.1072, 0.1068, 0.1064, 0.106",\
                 "0.1513, 0.1497, 0.1458, 0.1405, 0.1353, 0.1307, 0.1267, 0.1233, 0.1204, 0.1179",\
                 "0.22, 0.2172, 0.2093, 0.198, 0.1861, 0.175, 0.1653, 0.1568, 0.1495, 0.1433",\
                 "0.3182, 0.3144, 0.3026, 0.2846, 0.2645, 0.2449, 0.2274, 0.2118, 0.1982, 0.1863",\
                 "0.448, 0.4429, 0.4267, 0.4022, 0.3732, 0.344, 0.3166, 0.292, 0.2704, 0.2513",\
                 "0.6096, 0.6032, 0.5834, 0.5522, 0.5142, 0.4744, 0.4359, 0.4009, 0.3694, 0.3414");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6063, 0.6063, 0.6065, 0.607, 0.6077, 0.6089, 0.6098, 0.6116, 0.6129, 0.6204",\
                 "0.6018, 0.6019, 0.6023, 0.6029, 0.6037, 0.6048, 0.6058, 0.6077, 0.6096, 0.6154",\
                 "0.5995, 0.5995, 0.5997, 0.6002, 0.6009, 0.6019, 0.6032, 0.605, 0.6073, 0.6143",\
                 "0.6132, 0.6124, 0.6104, 0.6083, 0.6068, 0.6063, 0.6061, 0.607, 0.6086, 0.6159",\
                 "0.6506, 0.6491, 0.6435, 0.6363, 0.6293, 0.6236, 0.6205, 0.6176, 0.6168, 0.624",\
                 "0.7149, 0.712, 0.7034, 0.6906, 0.6759, 0.6626, 0.6524, 0.6439, 0.6396, 0.6435",\
                 "0.8078, 0.8038, 0.7916, 0.7727, 0.7508, 0.7285, 0.7091, 0.6921, 0.6801, 0.6815",\
                 "0.9314, 0.9266, 0.9114, 0.8863, 0.8565, 0.8245, 0.7943, 0.7679, 0.7466, 0.7465",\
                 "1.088, 1.082, 1.064, 1.034, 0.9952, 0.954, 0.9126, 0.8746, 0.8432, 0.8476",\
                 "1.278, 1.272, 1.251, 1.215, 1.169, 1.118, 1.066, 1.016, 0.9788, 0.999");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "!A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09721, 0.09728, 0.09755, 0.0979, 0.09816, 0.09833, 0.09842, 0.09844, 0.09851, 0.09851",\
                 "0.0974, 0.09764, 0.09848, 0.09946, 0.1001, 0.1005, 0.1008, 0.101, 0.1011, 0.1012",\
                 "0.09377, 0.09436, 0.0961, 0.09804, 0.09978, 0.1008, 0.1016, 0.1021, 0.1024, 0.1027",\
                 "0.09371, 0.09413, 0.09552, 0.09739, 0.09905, 0.1004, 0.1013, 0.102, 0.1026, 0.1029",\
                 "0.1108, 0.1105, 0.1097, 0.1088, 0.1084, 0.1079, 0.1075, 0.107, 0.1066, 0.1062",\
                 "0.1519, 0.1505, 0.1464, 0.1409, 0.1357, 0.131, 0.1271, 0.1236, 0.1207, 0.1181",\
                 "0.2205, 0.2178, 0.2099, 0.1986, 0.1868, 0.1757, 0.1658, 0.1572, 0.1499, 0.1436",\
                 "0.3188, 0.315, 0.3031, 0.2853, 0.2653, 0.2458, 0.2282, 0.2125, 0.199, 0.1871",\
                 "0.4486, 0.4435, 0.4277, 0.4033, 0.3744, 0.3451, 0.3177, 0.2933, 0.2716, 0.2524",\
                 "0.6106, 0.6043, 0.5845, 0.5533, 0.5157, 0.4761, 0.4378, 0.4026, 0.3712, 0.3431");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6399, 0.6399, 0.6401, 0.6406, 0.6413, 0.6421, 0.6434, 0.6451, 0.647, 0.6542",\
                 "0.6358, 0.6359, 0.6363, 0.637, 0.6378, 0.6386, 0.6399, 0.6415, 0.6441, 0.6506",\
                 "0.6333, 0.6333, 0.6335, 0.6341, 0.6348, 0.6359, 0.6373, 0.6392, 0.6414, 0.6485",\
                 "0.6471, 0.6463, 0.6445, 0.6425, 0.641, 0.6402, 0.64, 0.6408, 0.6427, 0.6498",\
                 "0.6848, 0.6831, 0.678, 0.6712, 0.6642, 0.6586, 0.6548, 0.6527, 0.652, 0.6582",\
                 "0.7493, 0.7465, 0.7384, 0.7264, 0.7117, 0.6992, 0.6885, 0.6803, 0.675, 0.68",\
                 "0.8418, 0.8383, 0.827, 0.8097, 0.7887, 0.7668, 0.7473, 0.7301, 0.7185, 0.72",\
                 "0.9655, 0.9608, 0.9468, 0.9234, 0.8953, 0.865, 0.8354, 0.8083, 0.7873, 0.7881",\
                 "1.121, 1.116, 1.099, 1.071, 1.035, 0.9963, 0.9566, 0.9188, 0.8879, 0.8919",\
                 "1.311, 1.305, 1.286, 1.253, 1.21, 1.162, 1.112, 1.064, 1.027, 1.05");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09563, 0.09578, 0.09613, 0.09637, 0.09669, 0.09685, 0.09687, 0.09698, 0.097, 0.09692",\
                 "0.09588, 0.09621, 0.09708, 0.09795, 0.09866, 0.09904, 0.09931, 0.09946, 0.0996, 0.09962",\
                 "0.09206, 0.09271, 0.09444, 0.09652, 0.09818, 0.09932, 0.1, 0.1006, 0.1009, 0.1011",\
                 "0.09174, 0.09214, 0.09359, 0.09552, 0.09725, 0.09871, 0.09965, 0.1004, 0.101, 0.1013",\
                 "0.1086, 0.1082, 0.1075, 0.1069, 0.1064, 0.1062, 0.1057, 0.1052, 0.1049, 0.1045",\
                 "0.1498, 0.1483, 0.1443, 0.139, 0.1337, 0.1292, 0.1252, 0.1218, 0.1188, 0.1164",\
                 "0.2186, 0.2158, 0.2078, 0.1965, 0.1846, 0.1735, 0.1639, 0.1553, 0.148, 0.1417",\
                 "0.3169, 0.313, 0.3012, 0.2832, 0.263, 0.2435, 0.2259, 0.2103, 0.1967, 0.1848",\
                 "0.4468, 0.4416, 0.4256, 0.4008, 0.3718, 0.3425, 0.3151, 0.2906, 0.2689, 0.2498",\
                 "0.6084, 0.6022, 0.5824, 0.5509, 0.5128, 0.4731, 0.4346, 0.3994, 0.3679, 0.3399");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6061, 0.6061, 0.6064, 0.6069, 0.6076, 0.6084, 0.6097, 0.6113, 0.6129, 0.62",\
                 "0.6017, 0.6017, 0.6019, 0.6027, 0.6035, 0.6044, 0.6057, 0.6074, 0.609, 0.6154",\
                 "0.5993, 0.5994, 0.5994, 0.6, 0.6008, 0.602, 0.603, 0.6047, 0.607, 0.6133",\
                 "0.613, 0.6122, 0.6103, 0.6082, 0.6064, 0.6059, 0.606, 0.6067, 0.6086, 0.6156",\
                 "0.6504, 0.6485, 0.6433, 0.6362, 0.6293, 0.6237, 0.6199, 0.6179, 0.6172, 0.6237",\
                 "0.7146, 0.7117, 0.7032, 0.6904, 0.6758, 0.6627, 0.6521, 0.6442, 0.6389, 0.6434",\
                 "0.8076, 0.8036, 0.7914, 0.7725, 0.7505, 0.7287, 0.7082, 0.6924, 0.6797, 0.6815",\
                 "0.9313, 0.9264, 0.911, 0.886, 0.8562, 0.8249, 0.7943, 0.7672, 0.7462, 0.7465",\
                 "1.087, 1.082, 1.063, 1.033, 0.995, 0.9539, 0.9126, 0.8742, 0.8432, 0.8459",\
                 "1.277, 1.271, 1.251, 1.215, 1.169, 1.118, 1.066, 1.016, 0.9778, 0.9986");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05339, 0.05357, 0.05398, 0.05424, 0.0545, 0.05461, 0.05469, 0.05476, 0.05476, 0.0548",\
                 "0.05271, 0.05331, 0.05456, 0.05562, 0.05636, 0.05678, 0.05708, 0.05725, 0.05741, 0.05747",\
                 "0.04719, 0.04823, 0.05082, 0.05355, 0.05564, 0.05695, 0.05777, 0.05833, 0.05871, 0.05896",\
                 "0.0475, 0.04806, 0.04995, 0.05241, 0.05461, 0.05629, 0.05737, 0.05819, 0.05875, 0.05913",\
                 "0.06712, 0.06669, 0.06561, 0.06471, 0.06428, 0.06405, 0.0636, 0.06314, 0.06277, 0.06241",\
                 "0.1118, 0.11, 0.105, 0.09871, 0.09289, 0.08784, 0.08358, 0.08, 0.07699, 0.07451",\
                 "0.1847, 0.1815, 0.1719, 0.1588, 0.1454, 0.1335, 0.1231, 0.1142, 0.1067, 0.1002",\
                 "0.2873, 0.2828, 0.2688, 0.2483, 0.226, 0.2049, 0.1863, 0.17, 0.1559, 0.1438",\
                 "0.4213, 0.4151, 0.3966, 0.369, 0.3373, 0.3058, 0.277, 0.2514, 0.229, 0.2093",\
                 "0.5869, 0.5797, 0.557, 0.5221, 0.4809, 0.4384, 0.398, 0.3616, 0.3291, 0.3002");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5648, 0.5647, 0.5649, 0.5654, 0.5663, 0.5674, 0.5686, 0.5704, 0.5727, 0.5775",\
                 "0.5601, 0.5603, 0.5605, 0.5612, 0.5621, 0.5634, 0.5645, 0.5665, 0.5687, 0.5749",\
                 "0.5577, 0.5578, 0.5579, 0.5587, 0.5594, 0.5606, 0.5615, 0.5638, 0.5661, 0.5714",\
                 "0.5714, 0.5705, 0.5686, 0.5665, 0.5652, 0.5647, 0.5647, 0.5655, 0.5674, 0.5739",\
                 "0.6092, 0.6074, 0.6019, 0.5947, 0.5876, 0.582, 0.5785, 0.5764, 0.5756, 0.5797",\
                 "0.6732, 0.6702, 0.6615, 0.6489, 0.6342, 0.6209, 0.6104, 0.6018, 0.5977, 0.6017",\
                 "0.7663, 0.7625, 0.7502, 0.7312, 0.709, 0.687, 0.6671, 0.6502, 0.6379, 0.6382",\
                 "0.8904, 0.8855, 0.87, 0.8449, 0.8148, 0.7833, 0.7527, 0.726, 0.7037, 0.7009",\
                 "1.046, 1.041, 1.023, 0.9926, 0.9534, 0.9122, 0.8714, 0.8321, 0.8014, 0.8018",\
                 "1.237, 1.23, 1.21, 1.174, 1.128, 1.076, 1.024, 0.9738, 0.9346, 0.9515");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&!A2&B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.0533, 0.0535, 0.05388, 0.05422, 0.05449, 0.05459, 0.05469, 0.05471, 0.05475, 0.05477",\
                 "0.05272, 0.05315, 0.0545, 0.05558, 0.05632, 0.05675, 0.05707, 0.05723, 0.05736, 0.05747",\
                 "0.04732, 0.04829, 0.05088, 0.05363, 0.05563, 0.05693, 0.05776, 0.05828, 0.05868, 0.05895",\
                 "0.04798, 0.04861, 0.05035, 0.05277, 0.05486, 0.0564, 0.05749, 0.05825, 0.05878, 0.05915",\
                 "0.068, 0.06734, 0.06623, 0.06525, 0.06472, 0.06432, 0.06381, 0.06334, 0.06292, 0.06254",\
                 "0.1126, 0.1108, 0.1057, 0.09939, 0.09329, 0.08822, 0.08402, 0.08027, 0.07727, 0.07474",\
                 "0.1854, 0.1822, 0.1726, 0.1595, 0.1461, 0.134, 0.1235, 0.1146, 0.107, 0.1005",\
                 "0.288, 0.2833, 0.2695, 0.249, 0.2268, 0.2057, 0.1871, 0.1708, 0.1567, 0.1445",\
                 "0.4219, 0.4159, 0.3972, 0.37, 0.3383, 0.3069, 0.2781, 0.2526, 0.2302, 0.2105",\
                 "0.5877, 0.5805, 0.5579, 0.5231, 0.4824, 0.4401, 0.3998, 0.3633, 0.3308, 0.3019");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5984, 0.5982, 0.5985, 0.599, 0.5998, 0.6008, 0.6021, 0.6039, 0.6059, 0.6107",\
                 "0.5941, 0.5942, 0.5946, 0.5952, 0.5962, 0.5973, 0.5987, 0.6006, 0.6029, 0.6091",\
                 "0.5916, 0.5915, 0.5918, 0.5924, 0.5935, 0.5944, 0.5959, 0.598, 0.6009, 0.6066",\
                 "0.6052, 0.6046, 0.6027, 0.6006, 0.5993, 0.5988, 0.5988, 0.6, 0.6019, 0.6085",\
                 "0.6433, 0.6416, 0.6364, 0.6296, 0.6226, 0.6172, 0.6134, 0.6109, 0.6105, 0.6159",\
                 "0.7074, 0.705, 0.6968, 0.6846, 0.6701, 0.6574, 0.6469, 0.6381, 0.6332, 0.6373",\
                 "0.8006, 0.797, 0.7853, 0.7681, 0.7472, 0.7255, 0.7054, 0.6886, 0.6763, 0.6768",\
                 "0.9243, 0.9195, 0.9055, 0.8819, 0.8532, 0.8236, 0.7938, 0.7671, 0.7448, 0.7432",\
                 "1.08, 1.075, 1.058, 1.03, 0.9936, 0.9548, 0.9151, 0.8771, 0.8452, 0.8468",\
                 "1.27, 1.264, 1.246, 1.212, 1.169, 1.12, 1.071, 1.023, 0.9839, 1.001");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&A2&!B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09559, 0.09583, 0.09615, 0.09643, 0.09666, 0.09676, 0.09688, 0.0969, 0.09695, 0.09697",\
                 "0.09598, 0.09618, 0.09711, 0.09797, 0.09861, 0.099, 0.09929, 0.0994, 0.0996, 0.0996",\
                 "0.09227, 0.0929, 0.09461, 0.09656, 0.09817, 0.09928, 0.1001, 0.1006, 0.1009, 0.1012",\
                 "0.09261, 0.09304, 0.09434, 0.09619, 0.09784, 0.09902, 0.09999, 0.1007, 0.1012, 0.1015",\
                 "0.1111, 0.1107, 0.1098, 0.1089, 0.1082, 0.1076, 0.107, 0.1063, 0.1058, 0.1054",\
                 "0.1536, 0.1522, 0.1481, 0.1427, 0.1372, 0.1322, 0.1278, 0.1241, 0.1209, 0.1181",\
                 "0.2242, 0.2214, 0.2132, 0.202, 0.1897, 0.1782, 0.1679, 0.1589, 0.1512, 0.1446",\
                 "0.3239, 0.3202, 0.3082, 0.29, 0.2695, 0.2494, 0.2314, 0.2153, 0.2012, 0.189",\
                 "0.4548, 0.4498, 0.4339, 0.4091, 0.3797, 0.3499, 0.322, 0.297, 0.2747, 0.2551",\
                 "0.618, 0.6116, 0.5917, 0.5604, 0.522, 0.482, 0.4429, 0.4073, 0.3752, 0.3466");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6415, 0.6416, 0.6417, 0.6423, 0.643, 0.6438, 0.6451, 0.6471, 0.6491, 0.6555",\
                 "0.6373, 0.6373, 0.6376, 0.6383, 0.6392, 0.6402, 0.6415, 0.6432, 0.6454, 0.6519",\
                 "0.6354, 0.6354, 0.6355, 0.6361, 0.6369, 0.638, 0.6395, 0.6412, 0.6434, 0.6504",\
                 "0.6489, 0.6483, 0.6466, 0.6448, 0.6434, 0.6427, 0.6428, 0.6438, 0.6451, 0.6524",\
                 "0.6858, 0.6846, 0.6798, 0.6734, 0.6671, 0.6619, 0.6579, 0.6554, 0.6543, 0.6609",\
                 "0.7495, 0.7475, 0.7394, 0.7276, 0.7145, 0.7017, 0.6911, 0.6834, 0.678, 0.6829",\
                 "0.8417, 0.8387, 0.8279, 0.8106, 0.7902, 0.769, 0.7496, 0.7338, 0.7215, 0.7233",\
                 "0.9652, 0.961, 0.947, 0.9247, 0.897, 0.867, 0.838, 0.8116, 0.7906, 0.7911",\
                 "1.121, 1.116, 1.099, 1.072, 1.036, 0.9983, 0.9593, 0.9213, 0.8912, 0.8952",\
                 "1.311, 1.305, 1.286, 1.254, 1.211, 1.163, 1.114, 1.066, 1.029, 1.053");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&A2&B1&!B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05347, 0.05357, 0.05389, 0.05421, 0.0545, 0.0546, 0.0547, 0.0547, 0.05477, 0.05478",\
                 "0.05279, 0.05329, 0.05449, 0.05559, 0.05632, 0.05678, 0.05709, 0.05724, 0.05738, 0.05744",\
                 "0.04736, 0.04836, 0.0509, 0.05358, 0.05564, 0.05693, 0.05778, 0.05834, 0.05869, 0.05896",\
                 "0.04838, 0.04901, 0.05082, 0.05313, 0.05517, 0.05663, 0.05768, 0.05848, 0.05894, 0.05927",\
                 "0.06947, 0.06916, 0.06792, 0.06681, 0.06625, 0.06553, 0.06487, 0.06428, 0.06372, 0.06327",\
                 "0.1158, 0.1141, 0.1089, 0.1025, 0.0964, 0.09092, 0.08626, 0.08236, 0.07905, 0.07623",\
                 "0.1902, 0.187, 0.1776, 0.1642, 0.1506, 0.138, 0.1271, 0.1178, 0.1098, 0.1031",\
                 "0.2943, 0.2898, 0.2758, 0.2553, 0.2327, 0.2111, 0.1919, 0.175, 0.1605, 0.1478",\
                 "0.4296, 0.4236, 0.4051, 0.3773, 0.3453, 0.3134, 0.2839, 0.2578, 0.2347, 0.2147",\
                 "0.5965, 0.5893, 0.5665, 0.5314, 0.4902, 0.4474, 0.4065, 0.3692, 0.3363, 0.307");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6003, 0.6004, 0.6005, 0.6007, 0.6016, 0.6028, 0.6042, 0.6052, 0.6072, 0.612",\
                 "0.5958, 0.5961, 0.5963, 0.5967, 0.5978, 0.5988, 0.6005, 0.6016, 0.6049, 0.609",\
                 "0.5938, 0.5939, 0.5942, 0.5945, 0.5955, 0.5968, 0.5984, 0.6003, 0.6026, 0.6072",\
                 "0.6074, 0.6067, 0.6051, 0.603, 0.6019, 0.6013, 0.6015, 0.6026, 0.6045, 0.6112",\
                 "0.6447, 0.6431, 0.6385, 0.6316, 0.6253, 0.6202, 0.6161, 0.6138, 0.6131, 0.6195",\
                 "0.7081, 0.7058, 0.6983, 0.6863, 0.6729, 0.6602, 0.6498, 0.6415, 0.6365, 0.6399",\
                 "0.8012, 0.7973, 0.7867, 0.7694, 0.7491, 0.7278, 0.7083, 0.6919, 0.6796, 0.6804",\
                 "0.9244, 0.9203, 0.906, 0.8835, 0.8554, 0.8258, 0.7968, 0.7701, 0.7485, 0.7468",\
                 "1.08, 1.075, 1.058, 1.031, 0.9953, 0.9566, 0.9171, 0.8802, 0.8495, 0.8501",\
                 "1.27, 1.265, 1.245, 1.213, 1.17, 1.122, 1.073, 1.025, 0.9865, 1.005");
        }
      }

      internal_power() {
        related_pin : "C1" ;
        when : "A1&A2&B1&B2&!C2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.05339, 0.05356, 0.05388, 0.05421, 0.05446, 0.0546, 0.05468, 0.05471, 0.05475, 0.05479",\
                 "0.05271, 0.05328, 0.05447, 0.05556, 0.05633, 0.05674, 0.05708, 0.05724, 0.05735, 0.05745",\
                 "0.04759, 0.04857, 0.05104, 0.05371, 0.05569, 0.05693, 0.05775, 0.05829, 0.05864, 0.0589",\
                 "0.0492, 0.04971, 0.05149, 0.05361, 0.05556, 0.05693, 0.0579, 0.05857, 0.0591, 0.0594",\
                 "0.07095, 0.07036, 0.06901, 0.06783, 0.06696, 0.06626, 0.0655, 0.06473, 0.06411, 0.06358",\
                 "0.1175, 0.1159, 0.1106, 0.1039, 0.09762, 0.09208, 0.08725, 0.08317, 0.07978, 0.07693",\
                 "0.1923, 0.1891, 0.1797, 0.1663, 0.1525, 0.1398, 0.1288, 0.1192, 0.111, 0.1041",\
                 "0.2969, 0.2922, 0.2783, 0.2579, 0.2352, 0.2135, 0.1941, 0.177, 0.1624, 0.1496",\
                 "0.4326, 0.4265, 0.4082, 0.3805, 0.3485, 0.3166, 0.2867, 0.2607, 0.2374, 0.2171",\
                 "0.6001, 0.5927, 0.5702, 0.5353, 0.4941, 0.4514, 0.4105, 0.3731, 0.3399, 0.3102");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6342, 0.6343, 0.6344, 0.6346, 0.6355, 0.6366, 0.638, 0.6388, 0.642, 0.6466",\
                 "0.6303, 0.6305, 0.6308, 0.6313, 0.6324, 0.6336, 0.635, 0.6361, 0.6381, 0.6433",\
                 "0.6282, 0.6283, 0.6285, 0.6292, 0.6302, 0.6314, 0.633, 0.6342, 0.6371, 0.6428",\
                 "0.6418, 0.6412, 0.6397, 0.6377, 0.6365, 0.636, 0.6362, 0.6375, 0.6377, 0.646",\
                 "0.6795, 0.6778, 0.6736, 0.6671, 0.661, 0.6555, 0.6518, 0.6493, 0.6476, 0.6541",\
                 "0.7431, 0.7409, 0.7339, 0.723, 0.71, 0.6976, 0.6867, 0.679, 0.6736, 0.6761",\
                 "0.8358, 0.833, 0.8226, 0.8065, 0.7874, 0.7668, 0.7475, 0.7314, 0.7188, 0.7183",\
                 "0.9587, 0.9553, 0.9424, 0.921, 0.8956, 0.8673, 0.8389, 0.8128, 0.7896, 0.7891",\
                 "1.115, 1.11, 1.095, 1.069, 1.036, 0.9997, 0.9622, 0.9259, 0.8955, 0.8968",\
                 "1.304, 1.299, 1.281, 1.252, 1.212, 1.166, 1.121, 1.074, 1.037, 1.058");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1788, 0.1789, 0.1788, 0.179, 0.1791, 0.1792, 0.1791, 0.1792, 0.1792, 0.1789",\
                 "0.1754, 0.1756, 0.1758, 0.1758, 0.176, 0.176, 0.1761, 0.1762, 0.1762, 0.176",\
                 "0.172, 0.1719, 0.1722, 0.1726, 0.173, 0.1734, 0.1736, 0.1737, 0.1738, 0.1736",\
                 "0.1717, 0.1718, 0.172, 0.1722, 0.1724, 0.1727, 0.1728, 0.173, 0.1731, 0.1731",\
                 "0.1877, 0.1869, 0.1855, 0.184, 0.1821, 0.1806, 0.1789, 0.1778, 0.177, 0.1762",\
                 "0.2301, 0.229, 0.2245, 0.2182, 0.2117, 0.2054, 0.2, 0.1955, 0.1916, 0.1886",\
                 "0.3056, 0.3028, 0.2948, 0.2827, 0.2688, 0.2551, 0.2429, 0.2322, 0.2234, 0.2158",\
                 "0.4168, 0.4129, 0.4003, 0.3814, 0.3585, 0.3355, 0.3137, 0.2945, 0.2778, 0.2636",\
                 "0.566, 0.5607, 0.5437, 0.5168, 0.4843, 0.4503, 0.4173, 0.3869, 0.36, 0.3366",\
                 "0.7537, 0.7472, 0.7259, 0.6914, 0.6484, 0.6024, 0.5567, 0.514, 0.4749, 0.4399");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6894, 0.6894, 0.6897, 0.6901, 0.6906, 0.6917, 0.6929, 0.6945, 0.6964, 0.7039",\
                 "0.6851, 0.6851, 0.6856, 0.686, 0.6867, 0.6876, 0.689, 0.6905, 0.6924, 0.6989",\
                 "0.6808, 0.6809, 0.6816, 0.6823, 0.6836, 0.6846, 0.686, 0.6879, 0.6904, 0.6978",\
                 "0.6882, 0.6878, 0.687, 0.6862, 0.6857, 0.6863, 0.6871, 0.6885, 0.6897, 0.6978",\
                 "0.7238, 0.7224, 0.7178, 0.7119, 0.7063, 0.7026, 0.7, 0.6984, 0.6983, 0.7059",\
                 "0.7944, 0.7913, 0.7823, 0.7693, 0.7555, 0.7431, 0.7332, 0.726, 0.721, 0.7259",\
                 "0.9022, 0.8978, 0.884, 0.863, 0.8394, 0.8164, 0.7959, 0.7785, 0.7665, 0.7685",\
                 "1.048, 1.042, 1.024, 0.9958, 0.9617, 0.9266, 0.8939, 0.8649, 0.8422, 0.8407",\
                 "1.232, 1.226, 1.205, 1.169, 1.124, 1.076, 1.031, 0.9874, 0.9531, 0.9499",\
                 "1.456, 1.449, 1.425, 1.384, 1.33, 1.27, 1.209, 1.153, 1.107, 1.113");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1366, 0.1366, 0.1367, 0.1367, 0.1368, 0.1369, 0.1369, 0.1369, 0.137, 0.1368",\
                 "0.1331, 0.1332, 0.1333, 0.1336, 0.1338, 0.1338, 0.1338, 0.1339, 0.134, 0.1339",\
                 "0.1292, 0.1293, 0.1297, 0.1304, 0.1309, 0.1311, 0.1314, 0.1315, 0.1316, 0.1316",\
                 "0.1291, 0.1292, 0.1295, 0.13, 0.1302, 0.1306, 0.1307, 0.1308, 0.1309, 0.131",\
                 "0.1467, 0.1461, 0.1444, 0.1423, 0.1403, 0.1387, 0.137, 0.1358, 0.1349, 0.1341",\
                 "0.1928, 0.191, 0.1857, 0.1787, 0.1711, 0.1645, 0.1587, 0.1539, 0.1499, 0.1467",\
                 "0.2718, 0.2688, 0.2595, 0.2457, 0.2303, 0.2155, 0.2025, 0.1914, 0.1821, 0.1744",\
                 "0.3878, 0.3833, 0.3691, 0.3474, 0.3227, 0.2977, 0.2748, 0.2547, 0.2374, 0.2227",\
                 "0.5415, 0.5354, 0.5164, 0.4864, 0.4511, 0.4148, 0.38, 0.3484, 0.3206, 0.2965",\
                 "0.7336, 0.7262, 0.7025, 0.6644, 0.6182, 0.5693, 0.5214, 0.477, 0.4366, 0.4009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.648, 0.648, 0.6481, 0.6486, 0.6494, 0.6502, 0.6516, 0.6529, 0.6549, 0.6617",\
                 "0.6437, 0.6437, 0.644, 0.6445, 0.6453, 0.6462, 0.6475, 0.649, 0.6512, 0.6578",\
                 "0.6394, 0.6395, 0.6399, 0.6409, 0.642, 0.6431, 0.6447, 0.6463, 0.6489, 0.6549",\
                 "0.6468, 0.6464, 0.6455, 0.6448, 0.6446, 0.645, 0.6455, 0.647, 0.6482, 0.6562",\
                 "0.6824, 0.6809, 0.6763, 0.6705, 0.665, 0.661, 0.6585, 0.6569, 0.6571, 0.6636",\
                 "0.753, 0.7499, 0.741, 0.7281, 0.7141, 0.7017, 0.6919, 0.6843, 0.6795, 0.6835",\
                 "0.8607, 0.8566, 0.8426, 0.8216, 0.7981, 0.7753, 0.7541, 0.7376, 0.7253, 0.7256",\
                 "1.007, 1.001, 0.9835, 0.9545, 0.9199, 0.8856, 0.8524, 0.8237, 0.8001, 0.7968",\
                 "1.191, 1.185, 1.163, 1.128, 1.083, 1.035, 0.9895, 0.9463, 0.9117, 0.9052",\
                 "1.416, 1.408, 1.384, 1.343, 1.289, 1.228, 1.167, 1.112, 1.065, 1.067");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "!A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1367, 0.1366, 0.1366, 0.1368, 0.1369, 0.1369, 0.1368, 0.1369, 0.1369, 0.1368",\
                 "0.1333, 0.1331, 0.1333, 0.1335, 0.1337, 0.1339, 0.1339, 0.134, 0.134, 0.134",\
                 "0.1293, 0.1294, 0.1298, 0.1303, 0.1308, 0.1312, 0.1314, 0.1315, 0.1316, 0.1317",\
                 "0.1294, 0.1295, 0.1298, 0.1302, 0.1304, 0.1306, 0.1308, 0.1309, 0.131, 0.1311",\
                 "0.1475, 0.1468, 0.1449, 0.1429, 0.1407, 0.1389, 0.1373, 0.136, 0.1351, 0.1344",\
                 "0.1934, 0.1916, 0.1863, 0.1792, 0.1717, 0.1649, 0.159, 0.1543, 0.1503, 0.147",\
                 "0.2726, 0.2696, 0.2601, 0.2465, 0.2311, 0.2162, 0.2032, 0.1921, 0.1828, 0.175",\
                 "0.3886, 0.3841, 0.3699, 0.3484, 0.3234, 0.2988, 0.2758, 0.2557, 0.2382, 0.2236",\
                 "0.5425, 0.5365, 0.5174, 0.4876, 0.4524, 0.4162, 0.3815, 0.35, 0.3221, 0.298",\
                 "0.7353, 0.7278, 0.7041, 0.6662, 0.6202, 0.5714, 0.5238, 0.4792, 0.4388, 0.4029");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6816, 0.6816, 0.6818, 0.6822, 0.6829, 0.684, 0.685, 0.6867, 0.6886, 0.6952",\
                 "0.6777, 0.6779, 0.6781, 0.6787, 0.6794, 0.6803, 0.6815, 0.6831, 0.6853, 0.6923",\
                 "0.673, 0.6733, 0.6737, 0.6747, 0.6759, 0.6774, 0.6786, 0.6805, 0.6827, 0.6901",\
                 "0.6804, 0.6799, 0.6791, 0.6785, 0.6783, 0.6787, 0.6797, 0.6808, 0.6833, 0.6907",\
                 "0.7165, 0.715, 0.7104, 0.705, 0.6995, 0.6953, 0.6928, 0.691, 0.6913, 0.6981",\
                 "0.7873, 0.7845, 0.7762, 0.764, 0.7501, 0.7375, 0.7275, 0.72, 0.715, 0.7197",\
                 "0.8953, 0.8911, 0.8785, 0.8587, 0.8361, 0.8135, 0.7935, 0.7757, 0.7631, 0.7634",\
                 "1.041, 1.036, 1.02, 0.9925, 0.9597, 0.9259, 0.8941, 0.8647, 0.8415, 0.8378",\
                 "1.226, 1.22, 1.2, 1.167, 1.125, 1.079, 1.034, 0.9926, 0.9574, 0.952",\
                 "1.45, 1.444, 1.421, 1.383, 1.332, 1.275, 1.216, 1.161, 1.115, 1.119");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1351, 0.1351, 0.1352, 0.1352, 0.1354, 0.1354, 0.1354, 0.1354, 0.1355, 0.1354",\
                 "0.1317, 0.1317, 0.1319, 0.1321, 0.1323, 0.1324, 0.1324, 0.1325, 0.1325, 0.1324",\
                 "0.1277, 0.1278, 0.1282, 0.1289, 0.1293, 0.1296, 0.1299, 0.13, 0.1301, 0.1301",\
                 "0.1276, 0.1277, 0.128, 0.1285, 0.1287, 0.129, 0.1292, 0.1293, 0.1294, 0.1295",\
                 "0.1452, 0.1446, 0.1429, 0.1408, 0.1388, 0.1372, 0.1355, 0.1343, 0.1334, 0.1327",\
                 "0.1913, 0.1896, 0.1843, 0.1773, 0.1697, 0.1629, 0.1572, 0.1524, 0.1484, 0.1452",\
                 "0.2705, 0.2675, 0.258, 0.2443, 0.2289, 0.2141, 0.201, 0.1899, 0.1807, 0.1729",\
                 "0.3866, 0.382, 0.3678, 0.346, 0.3211, 0.2963, 0.2733, 0.2532, 0.2359, 0.2212",\
                 "0.5403, 0.5343, 0.5151, 0.4851, 0.4497, 0.4134, 0.3786, 0.3469, 0.3192, 0.295",\
                 "0.7326, 0.7249, 0.7014, 0.6632, 0.617, 0.568, 0.52, 0.4756, 0.4352, 0.3994");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6479, 0.6478, 0.648, 0.6485, 0.6492, 0.6504, 0.6513, 0.6529, 0.6549, 0.6617",\
                 "0.6436, 0.6436, 0.6438, 0.6444, 0.6452, 0.646, 0.6473, 0.649, 0.6503, 0.6578",\
                 "0.6392, 0.6393, 0.6398, 0.6408, 0.6419, 0.6433, 0.6445, 0.6463, 0.6486, 0.6546",\
                 "0.6466, 0.6463, 0.6453, 0.6446, 0.6444, 0.6445, 0.6455, 0.6467, 0.6483, 0.6565",\
                 "0.6823, 0.6807, 0.6761, 0.6703, 0.6649, 0.6608, 0.6583, 0.6569, 0.6568, 0.6626",\
                 "0.7528, 0.7498, 0.7407, 0.7278, 0.7139, 0.7014, 0.6918, 0.684, 0.6792, 0.6842",\
                 "0.8607, 0.8564, 0.8424, 0.8215, 0.7979, 0.7746, 0.7538, 0.7373, 0.725, 0.7245",\
                 "1.006, 1.001, 0.983, 0.9544, 0.92, 0.8853, 0.8521, 0.8233, 0.8001, 0.7965",\
                 "1.191, 1.185, 1.163, 1.128, 1.083, 1.035, 0.9892, 0.9467, 0.9114, 0.9049",\
                 "1.415, 1.408, 1.384, 1.343, 1.289, 1.228, 1.168, 1.111, 1.065, 1.067");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09289, 0.09294, 0.09303, 0.09304, 0.09322, 0.09321, 0.09327, 0.09326, 0.09331, 0.09322",\
                 "0.08927, 0.08938, 0.08963, 0.08991, 0.09001, 0.09005, 0.09018, 0.09021, 0.09024, 0.09021",\
                 "0.08477, 0.08502, 0.08569, 0.08646, 0.08697, 0.08739, 0.08764, 0.08778, 0.08788, 0.08796",\
                 "0.08496, 0.08506, 0.08546, 0.08602, 0.08639, 0.08673, 0.08697, 0.08712, 0.08725, 0.08726",\
                 "0.1048, 0.1039, 0.1019, 0.09935, 0.09721, 0.09522, 0.09354, 0.09228, 0.09132, 0.09053",\
                 "0.1546, 0.1524, 0.1464, 0.1379, 0.1294, 0.122, 0.1158, 0.1108, 0.1067, 0.1034",\
                 "0.2389, 0.2352, 0.2237, 0.2079, 0.1908, 0.1747, 0.1608, 0.1492, 0.1395, 0.1314",\
                 "0.3599, 0.3544, 0.3379, 0.3131, 0.2856, 0.2588, 0.2346, 0.2134, 0.1955, 0.1803",\
                 "0.5188, 0.5115, 0.4895, 0.4561, 0.4173, 0.3781, 0.3415, 0.3086, 0.2797, 0.255",\
                 "0.7155, 0.707, 0.6802, 0.6379, 0.5876, 0.5354, 0.485, 0.4388, 0.3971, 0.3603");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6062, 0.6064, 0.6066, 0.6068, 0.608, 0.6086, 0.6102, 0.6121, 0.6147, 0.6189",\
                 "0.6023, 0.602, 0.6023, 0.603, 0.6039, 0.6049, 0.6063, 0.6081, 0.6091, 0.615",\
                 "0.5977, 0.5977, 0.5985, 0.5993, 0.6005, 0.6018, 0.6032, 0.6052, 0.6078, 0.6131",\
                 "0.6051, 0.6048, 0.6038, 0.603, 0.603, 0.6036, 0.6042, 0.6055, 0.6074, 0.6146",\
                 "0.6408, 0.6395, 0.6349, 0.6288, 0.6234, 0.6193, 0.6165, 0.6154, 0.6153, 0.621",\
                 "0.7115, 0.7083, 0.6994, 0.6867, 0.6725, 0.6603, 0.6502, 0.6425, 0.6371, 0.6415",\
                 "0.8198, 0.8152, 0.8011, 0.78, 0.7563, 0.7335, 0.7133, 0.6961, 0.6826, 0.6818",\
                 "0.9657, 0.9601, 0.9419, 0.9131, 0.8783, 0.8434, 0.8109, 0.781, 0.758, 0.7528",\
                 "1.15, 1.144, 1.123, 1.087, 1.042, 0.9937, 0.9479, 0.9055, 0.8693, 0.8611",\
                 "1.375, 1.367, 1.343, 1.302, 1.248, 1.187, 1.126, 1.07, 1.022, 1.021");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&!A2&B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09285, 0.09284, 0.093, 0.09302, 0.0931, 0.09319, 0.09321, 0.09324, 0.09326, 0.09327",\
                 "0.08929, 0.0894, 0.08959, 0.08989, 0.09007, 0.09016, 0.09024, 0.09026, 0.09032, 0.09033",\
                 "0.08483, 0.08506, 0.08572, 0.08648, 0.08702, 0.0874, 0.08763, 0.08781, 0.08793, 0.08801",\
                 "0.0854, 0.08542, 0.08575, 0.08625, 0.08662, 0.08689, 0.08706, 0.08723, 0.0873, 0.08736",\
                 "0.1055, 0.1047, 0.1025, 0.09978, 0.0975, 0.09549, 0.0938, 0.09248, 0.09152, 0.09075",\
                 "0.1553, 0.1532, 0.1471, 0.1384, 0.1299, 0.1224, 0.1162, 0.1112, 0.107, 0.1036",\
                 "0.2396, 0.2358, 0.2244, 0.2085, 0.1915, 0.1754, 0.1614, 0.1498, 0.14, 0.132",\
                 "0.3607, 0.3553, 0.3386, 0.3139, 0.2866, 0.2599, 0.2355, 0.2144, 0.1964, 0.1811",\
                 "0.5196, 0.5124, 0.4904, 0.4572, 0.4184, 0.3796, 0.3431, 0.3101, 0.2813, 0.2565",\
                 "0.7167, 0.7085, 0.6817, 0.6396, 0.5895, 0.5374, 0.4874, 0.441, 0.3993, 0.3625");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6399, 0.6399, 0.6402, 0.6406, 0.6415, 0.6424, 0.6434, 0.6456, 0.6475, 0.6527",\
                 "0.6359, 0.6362, 0.6364, 0.637, 0.6381, 0.639, 0.6404, 0.6419, 0.6432, 0.6491",\
                 "0.6314, 0.6314, 0.6321, 0.6331, 0.6344, 0.6357, 0.6373, 0.6393, 0.6416, 0.6469",\
                 "0.6386, 0.6382, 0.6374, 0.6369, 0.6369, 0.6372, 0.638, 0.6396, 0.6419, 0.6488",\
                 "0.6752, 0.6734, 0.669, 0.6634, 0.658, 0.6538, 0.6511, 0.6495, 0.6498, 0.6558",\
                 "0.7457, 0.7428, 0.7347, 0.7225, 0.7084, 0.6961, 0.686, 0.6779, 0.6735, 0.6767",\
                 "0.8541, 0.85, 0.8368, 0.8169, 0.7948, 0.7721, 0.7517, 0.7342, 0.7206, 0.7207",\
                 "1, 0.9945, 0.9781, 0.9509, 0.9181, 0.8848, 0.8526, 0.8232, 0.7994, 0.794",\
                 "1.185, 1.179, 1.159, 1.126, 1.083, 1.037, 0.9927, 0.9505, 0.9153, 0.9063",\
                 "1.41, 1.403, 1.38, 1.342, 1.291, 1.233, 1.174, 1.119, 1.073, 1.072");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&A2&!B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.135, 0.1351, 0.1351, 0.1352, 0.1353, 0.1353, 0.1354, 0.1354, 0.1354, 0.1353",\
                 "0.1318, 0.1318, 0.1319, 0.1321, 0.1322, 0.1323, 0.1324, 0.1323, 0.1325, 0.1324",\
                 "0.1276, 0.1278, 0.1282, 0.1288, 0.1293, 0.1296, 0.1298, 0.13, 0.1301, 0.1301",\
                 "0.1283, 0.1284, 0.1285, 0.1289, 0.1291, 0.1292, 0.1294, 0.1295, 0.1295, 0.1295",\
                 "0.1476, 0.147, 0.1453, 0.1427, 0.1406, 0.1385, 0.1367, 0.1354, 0.1342, 0.1333",\
                 "0.1959, 0.1941, 0.1889, 0.1813, 0.1734, 0.1662, 0.16, 0.1547, 0.1505, 0.1469",\
                 "0.2777, 0.2744, 0.2648, 0.2506, 0.2347, 0.2193, 0.2056, 0.194, 0.1841, 0.176",\
                 "0.3956, 0.3909, 0.3766, 0.3544, 0.3289, 0.3035, 0.2798, 0.2589, 0.2409, 0.2256",\
                 "0.5513, 0.5452, 0.5258, 0.4953, 0.4593, 0.4222, 0.3868, 0.3546, 0.3258, 0.3012",\
                 "0.7451, 0.7377, 0.7136, 0.6752, 0.6284, 0.5786, 0.5302, 0.4848, 0.4436, 0.4072");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6833, 0.6833, 0.6834, 0.684, 0.6847, 0.6855, 0.6868, 0.6884, 0.6904, 0.6968",\
                 "0.6791, 0.6792, 0.6795, 0.6801, 0.681, 0.6821, 0.6831, 0.6848, 0.6867, 0.6936",\
                 "0.6751, 0.6752, 0.6756, 0.6766, 0.6779, 0.6791, 0.6808, 0.6825, 0.6851, 0.6921",\
                 "0.6824, 0.6821, 0.6815, 0.681, 0.6809, 0.6815, 0.6821, 0.6835, 0.6854, 0.693",\
                 "0.718, 0.7165, 0.7125, 0.7075, 0.7021, 0.6981, 0.6955, 0.694, 0.6943, 0.7004",\
                 "0.788, 0.7853, 0.7776, 0.7659, 0.7528, 0.7406, 0.7312, 0.7231, 0.7183, 0.7227",\
                 "0.8955, 0.8915, 0.8793, 0.8601, 0.8384, 0.816, 0.7955, 0.7791, 0.7668, 0.7668",\
                 "1.041, 1.036, 1.02, 0.9934, 0.9614, 0.9289, 0.8968, 0.8681, 0.8452, 0.8414",\
                 "1.225, 1.219, 1.2, 1.167, 1.125, 1.081, 1.036, 0.9953, 0.9607, 0.9552",\
                 "1.449, 1.443, 1.421, 1.383, 1.333, 1.276, 1.218, 1.163, 1.118, 1.121");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&A2&B1&!B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09293, 0.09298, 0.09302, 0.09311, 0.09312, 0.09316, 0.0932, 0.0932, 0.09321, 0.09321",\
                 "0.08933, 0.08936, 0.08967, 0.08986, 0.09004, 0.09005, 0.09016, 0.09017, 0.09021, 0.09025",\
                 "0.08497, 0.08524, 0.0858, 0.08644, 0.08702, 0.08738, 0.08763, 0.08778, 0.08788, 0.08795",\
                 "0.08564, 0.08587, 0.08604, 0.08648, 0.08688, 0.08703, 0.08721, 0.08732, 0.08736, 0.0874",\
                 "0.1073, 0.1065, 0.1043, 0.1015, 0.09889, 0.09667, 0.09488, 0.09335, 0.09219, 0.09132",\
                 "0.1596, 0.1573, 0.1509, 0.1423, 0.1333, 0.1252, 0.1187, 0.1133, 0.1088, 0.1051",\
                 "0.2462, 0.2423, 0.2308, 0.2143, 0.1967, 0.18, 0.1654, 0.1532, 0.143, 0.1346",\
                 "0.3693, 0.3638, 0.3468, 0.3218, 0.2936, 0.2661, 0.2411, 0.2192, 0.2006, 0.1849",\
                 "0.5301, 0.5227, 0.5003, 0.4664, 0.4269, 0.3872, 0.3498, 0.3162, 0.2865, 0.2611",\
                 "0.7283, 0.7196, 0.6926, 0.6499, 0.5991, 0.5462, 0.4952, 0.448, 0.4056, 0.3681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6419, 0.642, 0.6422, 0.6425, 0.6433, 0.6442, 0.6456, 0.6466, 0.6485, 0.6544",\
                 "0.6378, 0.6379, 0.638, 0.6389, 0.6398, 0.6407, 0.6421, 0.6443, 0.6452, 0.6511",\
                 "0.6338, 0.6339, 0.6344, 0.6354, 0.6365, 0.638, 0.6396, 0.6417, 0.6429, 0.6492",\
                 "0.6412, 0.6407, 0.6401, 0.6393, 0.6394, 0.6398, 0.6409, 0.642, 0.6436, 0.6501",\
                 "0.6765, 0.6753, 0.6713, 0.666, 0.6606, 0.6567, 0.6542, 0.6529, 0.6528, 0.6588",\
                 "0.7467, 0.7441, 0.736, 0.7245, 0.7112, 0.6992, 0.6894, 0.6816, 0.6765, 0.6804",\
                 "0.8544, 0.8505, 0.8377, 0.8186, 0.7968, 0.7747, 0.7544, 0.7376, 0.724, 0.7233",\
                 "0.9999, 0.995, 0.9786, 0.9524, 0.9196, 0.8876, 0.8557, 0.8267, 0.8031, 0.7977",\
                 "1.185, 1.178, 1.159, 1.126, 1.085, 1.039, 0.9956, 0.9536, 0.9187, 0.9107",\
                 "1.409, 1.402, 1.38, 1.342, 1.292, 1.235, 1.177, 1.122, 1.076, 1.076");
        }
      }

      internal_power() {
        related_pin : "C2" ;
        when : "A1&A2&B1&B2&!C1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09286, 0.09282, 0.09285, 0.09302, 0.09307, 0.09317, 0.0932, 0.09319, 0.09323, 0.09323",\
                 "0.08935, 0.08934, 0.08954, 0.08975, 0.09007, 0.09019, 0.09019, 0.09025, 0.09029, 0.09031",\
                 "0.08505, 0.08532, 0.0858, 0.08649, 0.08704, 0.08739, 0.08765, 0.08781, 0.08787, 0.08798",\
                 "0.08623, 0.08626, 0.08659, 0.08681, 0.08717, 0.08726, 0.08733, 0.08741, 0.08745, 0.08747",\
                 "0.1087, 0.1078, 0.1054, 0.1025, 0.0997, 0.09743, 0.09544, 0.09375, 0.09261, 0.09165",\
                 "0.1615, 0.1592, 0.1527, 0.1438, 0.1347, 0.1267, 0.1198, 0.1141, 0.1096, 0.1058",\
                 "0.2486, 0.2449, 0.2332, 0.2166, 0.1987, 0.1821, 0.1672, 0.1547, 0.1443, 0.1358",\
                 "0.3725, 0.3671, 0.3501, 0.3248, 0.2965, 0.269, 0.2437, 0.2216, 0.2027, 0.1868",\
                 "0.5338, 0.5267, 0.5045, 0.4703, 0.4308, 0.3909, 0.3534, 0.3196, 0.2897, 0.264",\
                 "0.7332, 0.7245, 0.6974, 0.655, 0.6041, 0.5511, 0.4998, 0.4526, 0.41, 0.3722");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.676, 0.6758, 0.6758, 0.6764, 0.6772, 0.6781, 0.6796, 0.6818, 0.6824, 0.688",\
                 "0.6722, 0.6723, 0.6725, 0.6735, 0.6743, 0.6753, 0.6768, 0.6788, 0.6797, 0.6853",\
                 "0.6677, 0.6678, 0.6684, 0.6697, 0.6709, 0.6724, 0.6742, 0.6762, 0.6778, 0.6838",\
                 "0.675, 0.6748, 0.6741, 0.6735, 0.6735, 0.6741, 0.6752, 0.6768, 0.6781, 0.6844",\
                 "0.7112, 0.7097, 0.7061, 0.7006, 0.6957, 0.6919, 0.689, 0.6877, 0.6876, 0.6931",\
                 "0.7816, 0.7794, 0.772, 0.7606, 0.7484, 0.7359, 0.7262, 0.7181, 0.7137, 0.7166",\
                 "0.8895, 0.886, 0.8744, 0.8565, 0.8356, 0.814, 0.7941, 0.7774, 0.7635, 0.7625",\
                 "1.035, 1.03, 1.016, 0.9907, 0.9607, 0.9295, 0.8984, 0.8698, 0.8465, 0.8406",\
                 "1.22, 1.214, 1.196, 1.166, 1.127, 1.083, 1.042, 1.001, 0.9667, 0.959",\
                 "1.445, 1.439, 1.418, 1.382, 1.335, 1.282, 1.226, 1.174, 1.128, 1.131");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2053, 0.2238, 0.2875, 0.4063, 0.5884, 0.8419, 1.174, 1.592, 2.101, 2.709",\
                 "0.2185, 0.2371, 0.3009, 0.4199, 0.6023, 0.8559, 1.188, 1.606, 2.116, 2.723",\
                 "0.2617, 0.2796, 0.3429, 0.4617, 0.6439, 0.8976, 1.23, 1.647, 2.157, 2.764",\
                 "0.3285, 0.3502, 0.4213, 0.543, 0.7234, 0.976, 1.307, 1.725, 2.234, 2.84",\
                 "0.3734, 0.4005, 0.4879, 0.6384, 0.845, 1.103, 1.432, 1.848, 2.355, 2.96",\
                 "0.393, 0.4255, 0.531, 0.7088, 0.9523, 1.255, 1.611, 2.026, 2.531, 3.134",\
                 "0.3826, 0.4208, 0.5438, 0.7521, 1.034, 1.38, 1.788, 2.251, 2.768, 3.368",\
                 "0.3378, 0.3813, 0.5249, 0.7637, 1.087, 1.48, 1.937, 2.457, 3.035, 3.667",\
                 "0.258, 0.3072, 0.4688, 0.7414, 1.106, 1.548, 2.057, 2.632, 3.271, 3.971",\
                 "0.1417, 0.1968, 0.3762, 0.6804, 1.088, 1.58, 2.146, 2.777, 3.476, 4.241");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2404, 0.2719, 0.381, 0.5869, 0.9067, 1.354, 1.942, 2.683, 3.585, 4.659",\
                 "0.2515, 0.2834, 0.394, 0.6022, 0.9233, 1.371, 1.96, 2.701, 3.604, 4.678",\
                 "0.3075, 0.3388, 0.4474, 0.6546, 0.9761, 1.425, 2.014, 2.756, 3.659, 4.734",\
                 "0.4227, 0.4568, 0.5671, 0.7692, 1.086, 1.533, 2.121, 2.861, 3.764, 4.838",\
                 "0.5718, 0.6111, 0.7408, 0.9624, 1.275, 1.715, 2.298, 3.034, 3.934, 5.007",\
                 "0.7597, 0.8046, 0.9497, 1.201, 1.547, 1.987, 2.562, 3.291, 4.184, 5.253",\
                 "0.9841, 1.036, 1.201, 1.477, 1.861, 2.346, 2.925, 3.645, 4.53, 5.59",\
                 "1.244, 1.305, 1.493, 1.801, 2.218, 2.746, 3.376, 4.107, 4.981, 6.032",\
                 "1.544, 1.612, 1.823, 2.169, 2.624, 3.191, 3.873, 4.66, 5.546, 6.585",\
                 "1.883, 1.958, 2.196, 2.579, 3.079, 3.687, 4.413, 5.257, 6.207, 7.262");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3059, 0.3369, 0.4447, 0.6465, 0.9588, 1.394, 1.966, 2.686, 3.565, 4.61",\
                 "0.3054, 0.3362, 0.4445, 0.646, 0.9579, 1.395, 1.965, 2.687, 3.564, 4.611",\
                 "0.2969, 0.3288, 0.4397, 0.6454, 0.9576, 1.395, 1.966, 2.686, 3.564, 4.612",\
                 "0.36, 0.3902, 0.4869, 0.6623, 0.957, 1.394, 1.966, 2.685, 3.564, 4.611",\
                 "0.46, 0.4932, 0.6, 0.7886, 1.054, 1.429, 1.968, 2.685, 3.564, 4.61",\
                 "0.5938, 0.63, 0.749, 0.9504, 1.239, 1.614, 2.085, 2.722, 3.565, 4.61",\
                 "0.7532, 0.7954, 0.931, 1.151, 1.458, 1.858, 2.349, 2.933, 3.681, 4.639",\
                 "0.9304, 0.98, 1.138, 1.387, 1.719, 2.139, 2.658, 3.276, 3.987, 4.853",\
                 "1.124, 1.183, 1.363, 1.648, 2.018, 2.464, 3.006, 3.658, 4.407, 5.256",\
                 "1.334, 1.402, 1.608, 1.932, 2.344, 2.833, 3.401, 4.075, 4.861, 5.756");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5743, 0.6299, 0.8229, 1.186, 1.744, 2.526, 3.553, 4.846, 6.424, 8.299",\
                 "0.5743, 0.63, 0.823, 1.185, 1.744, 2.525, 3.552, 4.846, 6.423, 8.302",\
                 "0.5742, 0.6297, 0.8227, 1.185, 1.744, 2.525, 3.553, 4.845, 6.423, 8.304",\
                 "0.6436, 0.687, 0.8479, 1.187, 1.744, 2.525, 3.553, 4.844, 6.421, 8.301",\
                 "0.7722, 0.8174, 0.9724, 1.264, 1.76, 2.526, 3.553, 4.848, 6.426, 8.304",\
                 "0.9262, 0.969, 1.131, 1.437, 1.89, 2.569, 3.556, 4.844, 6.427, 8.308",\
                 "1.123, 1.164, 1.318, 1.631, 2.114, 2.751, 3.637, 4.858, 6.423, 8.303",\
                 "1.356, 1.396, 1.547, 1.855, 2.357, 3.031, 3.87, 4.985, 6.449, 8.311",\
                 "1.611, 1.656, 1.813, 2.122, 2.623, 3.329, 4.211, 5.271, 6.628, 8.363",\
                 "1.886, 1.934, 2.107, 2.433, 2.93, 3.648, 4.57, 5.673, 6.969, 8.592");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1604, 0.1786, 0.2413, 0.3589, 0.5398, 0.7925, 1.124, 1.541, 2.05, 2.657",\
                 "0.1734, 0.1916, 0.2546, 0.3724, 0.5536, 0.8064, 1.138, 1.555, 2.064, 2.671",\
                 "0.2186, 0.2358, 0.2967, 0.4141, 0.5952, 0.8481, 1.18, 1.597, 2.106, 2.712",\
                 "0.2701, 0.2933, 0.3686, 0.4954, 0.6751, 0.9266, 1.257, 1.674, 2.182, 2.788",\
                 "0.2995, 0.3286, 0.4216, 0.5786, 0.7915, 1.054, 1.382, 1.797, 2.304, 2.909",\
                 "0.3012, 0.3364, 0.4499, 0.6371, 0.8885, 1.198, 1.559, 1.976, 2.48, 3.082",\
                 "0.2722, 0.3141, 0.4472, 0.6681, 0.9601, 1.315, 1.729, 2.197, 2.717, 3.318",\
                 "0.21, 0.2582, 0.4124, 0.667, 1.003, 1.405, 1.87, 2.396, 2.979, 3.615",\
                 "0.1134, 0.167, 0.3421, 0.6309, 1.011, 1.465, 1.983, 2.564, 3.209, 3.914",\
                 "-0.0206, 0.0406, 0.2349, 0.5564, 0.982, 1.487, 2.064, 2.703, 3.409, 4.178");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2342, 0.2657, 0.3741, 0.5794, 0.8979, 1.344, 1.93, 2.668, 3.568, 4.641",\
                 "0.2455, 0.277, 0.3872, 0.5943, 0.9144, 1.361, 1.948, 2.686, 3.587, 4.659",\
                 "0.3013, 0.3322, 0.4405, 0.647, 0.9673, 1.415, 2.002, 2.741, 3.642, 4.715",\
                 "0.415, 0.4494, 0.56, 0.7619, 1.078, 1.522, 2.109, 2.847, 3.747, 4.82",\
                 "0.5621, 0.6016, 0.7318, 0.9539, 1.267, 1.704, 2.285, 3.02, 3.918, 4.988",\
                 "0.747, 0.7931, 0.9389, 1.19, 1.538, 1.976, 2.55, 3.277, 4.168, 5.235",\
                 "0.9671, 1.02, 1.188, 1.465, 1.849, 2.334, 2.912, 3.63, 4.514, 5.571",\
                 "1.223, 1.284, 1.476, 1.786, 2.204, 2.733, 3.363, 4.091, 4.964, 6.013",\
                 "1.515, 1.584, 1.801, 2.15, 2.607, 3.175, 3.857, 4.643, 5.528, 6.568",\
                 "1.846, 1.924, 2.168, 2.556, 3.059, 3.668, 4.394, 5.239, 6.188, 7.243");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2532, 0.2844, 0.392, 0.5929, 0.9052, 1.34, 1.911, 2.629, 3.508, 4.552",\
                 "0.2521, 0.2835, 0.3919, 0.5928, 0.9045, 1.34, 1.909, 2.63, 3.507, 4.554",\
                 "0.2518, 0.2805, 0.3852, 0.5917, 0.9036, 1.34, 1.91, 2.629, 3.508, 4.553",\
                 "0.3221, 0.3515, 0.4497, 0.6212, 0.9061, 1.338, 1.91, 2.629, 3.506, 4.554",\
                 "0.4244, 0.457, 0.5628, 0.7502, 1.017, 1.384, 1.914, 2.629, 3.507, 4.554",\
                 "0.5566, 0.5944, 0.7138, 0.9134, 1.201, 1.576, 2.043, 2.674, 3.51, 4.553",\
                 "0.7092, 0.7538, 0.8924, 1.115, 1.421, 1.819, 2.312, 2.895, 3.636, 4.588",\
                 "0.879, 0.9314, 1.095, 1.351, 1.685, 2.102, 2.62, 3.238, 3.949, 4.81",\
                 "1.067, 1.128, 1.314, 1.608, 1.982, 2.43, 2.968, 3.619, 4.369, 5.218",\
                 "1.276, 1.343, 1.556, 1.889, 2.308, 2.798, 3.368, 4.038, 4.825, 5.719");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.452, 0.5078, 0.7009, 1.063, 1.621, 2.401, 3.428, 4.72, 6.301, 8.176",\
                 "0.452, 0.5078, 0.7007, 1.064, 1.621, 2.402, 3.427, 4.719, 6.3, 8.184",\
                 "0.452, 0.5074, 0.7008, 1.063, 1.621, 2.402, 3.428, 4.723, 6.299, 8.177",\
                 "0.5203, 0.565, 0.7258, 1.065, 1.622, 2.402, 3.428, 4.721, 6.297, 8.18",\
                 "0.626, 0.6774, 0.8456, 1.142, 1.636, 2.402, 3.429, 4.722, 6.296, 8.181",\
                 "0.7618, 0.81, 0.9832, 1.305, 1.767, 2.446, 3.43, 4.723, 6.297, 8.181",\
                 "0.9364, 0.985, 1.154, 1.484, 1.982, 2.627, 3.512, 4.733, 6.299, 8.181",\
                 "1.138, 1.197, 1.365, 1.694, 2.208, 2.9, 3.746, 4.859, 6.325, 8.182",\
                 "1.359, 1.416, 1.606, 1.945, 2.463, 3.184, 4.082, 5.147, 6.504, 8.238",\
                 "1.6, 1.66, 1.87, 2.235, 2.763, 3.491, 4.43, 5.546, 6.842, 8.47");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1451, 0.1607, 0.2146, 0.3153, 0.4704, 0.6867, 0.9703, 1.328, 1.763, 2.283",\
                 "0.1582, 0.1739, 0.2279, 0.3289, 0.4842, 0.7006, 0.9845, 1.342, 1.777, 2.297",\
                 "0.2036, 0.2194, 0.2721, 0.3725, 0.5278, 0.7442, 1.028, 1.385, 1.821, 2.34",\
                 "0.2484, 0.2697, 0.3387, 0.4545, 0.6121, 0.8274, 1.111, 1.467, 1.902, 2.421",\
                 "0.2685, 0.2957, 0.3828, 0.5277, 0.7224, 0.9595, 1.243, 1.598, 2.032, 2.549",\
                 "0.2576, 0.2914, 0.3982, 0.5736, 0.8067, 1.09, 1.418, 1.786, 2.219, 2.734",\
                 "0.2132, 0.2534, 0.3809, 0.5885, 0.8622, 1.19, 1.57, 1.995, 2.463, 2.983",\
                 "0.1335, 0.1794, 0.3265, 0.5675, 0.8836, 1.26, 1.691, 2.172, 2.703, 3.278",\
                 "0.0156, 0.0673, 0.2329, 0.5077, 0.8681, 1.294, 1.779, 2.316, 2.907, 3.549",\
                 "-0.1431, -0.085, 0.1005, 0.4065, 0.809, 1.287, 1.829, 2.426, 3.077, 3.782");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.234, 0.2655, 0.374, 0.5795, 0.8978, 1.344, 1.93, 2.668, 3.568, 4.64",\
                 "0.2445, 0.2762, 0.3864, 0.5938, 0.9139, 1.36, 1.947, 2.686, 3.587, 4.659",\
                 "0.2997, 0.3306, 0.4389, 0.6452, 0.9655, 1.413, 2, 2.74, 3.641, 4.714",\
                 "0.416, 0.45, 0.5597, 0.761, 1.077, 1.521, 2.107, 2.845, 3.745, 4.818",\
                 "0.5682, 0.6071, 0.7359, 0.9563, 1.268, 1.705, 2.285, 3.019, 3.916, 4.987",\
                 "0.7605, 0.8054, 0.9496, 1.198, 1.543, 1.981, 2.552, 3.279, 4.17, 5.234",\
                 "0.9914, 1.043, 1.208, 1.481, 1.863, 2.345, 2.921, 3.636, 4.519, 5.575",\
                 "1.261, 1.321, 1.509, 1.814, 2.227, 2.752, 3.379, 4.104, 4.975, 6.022",\
                 "1.571, 1.639, 1.851, 2.193, 2.643, 3.206, 3.884, 4.665, 5.548, 6.583",\
                 "1.923, 1.999, 2.237, 2.618, 3.113, 3.715, 4.436, 5.274, 6.219, 7.268");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2103, 0.2365, 0.327, 0.4984, 0.7629, 1.135, 1.622, 2.234, 2.983, 3.875",\
                 "0.2097, 0.2361, 0.327, 0.4986, 0.763, 1.134, 1.622, 2.234, 2.983, 3.875",\
                 "0.2197, 0.2423, 0.3263, 0.4974, 0.7628, 1.134, 1.622, 2.235, 2.983, 3.875",\
                 "0.2953, 0.3206, 0.4047, 0.5483, 0.7758, 1.134, 1.62, 2.235, 2.983, 3.876",\
                 "0.3982, 0.4269, 0.5212, 0.6842, 0.9128, 1.212, 1.641, 2.234, 2.983, 3.875",\
                 "0.5264, 0.562, 0.672, 0.85, 1.102, 1.425, 1.814, 2.322, 3.003, 3.875",\
                 "0.6742, 0.7166, 0.846, 1.051, 1.323, 1.673, 2.097, 2.591, 3.19, 3.959",\
                 "0.84, 0.8892, 1.043, 1.279, 1.584, 1.959, 2.412, 2.945, 3.554, 4.253",\
                 "1.023, 1.082, 1.255, 1.531, 1.875, 2.284, 2.762, 3.33, 3.979, 4.71",\
                 "1.226, 1.293, 1.492, 1.803, 2.191, 2.646, 3.162, 3.753, 4.44, 5.212");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.452, 0.508, 0.7009, 1.063, 1.621, 2.401, 3.427, 4.72, 6.294, 8.184",\
                 "0.4518, 0.5078, 0.7008, 1.063, 1.621, 2.401, 3.427, 4.721, 6.296, 8.183",\
                 "0.4522, 0.5072, 0.7008, 1.063, 1.621, 2.401, 3.428, 4.716, 6.299, 8.181",\
                 "0.5197, 0.5647, 0.7263, 1.064, 1.621, 2.401, 3.428, 4.72, 6.301, 8.182",\
                 "0.6232, 0.6726, 0.8432, 1.14, 1.636, 2.401, 3.429, 4.721, 6.298, 8.178",\
                 "0.7524, 0.801, 0.9762, 1.3, 1.764, 2.444, 3.43, 4.722, 6.301, 8.184",\
                 "0.9202, 0.9688, 1.139, 1.472, 1.974, 2.621, 3.509, 4.732, 6.296, 8.184",\
                 "1.118, 1.168, 1.342, 1.674, 2.192, 2.888, 3.739, 4.856, 6.323, 8.181",\
                 "1.331, 1.387, 1.576, 1.913, 2.436, 3.162, 4.066, 5.133, 6.497, 8.236",\
                 "1.566, 1.626, 1.832, 2.192, 2.719, 3.457, 4.412, 5.521, 6.828, 8.45");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1607, 0.1789, 0.2416, 0.3592, 0.5402, 0.7927, 1.124, 1.541, 2.05, 2.657",\
                 "0.1736, 0.1919, 0.2549, 0.3728, 0.5539, 0.8067, 1.138, 1.555, 2.065, 2.671",\
                 "0.2189, 0.2361, 0.297, 0.4145, 0.5956, 0.8484, 1.18, 1.597, 2.106, 2.713",\
                 "0.2707, 0.2938, 0.369, 0.4958, 0.6753, 0.9269, 1.258, 1.674, 2.182, 2.788",\
                 "0.2998, 0.329, 0.4223, 0.579, 0.7919, 1.054, 1.383, 1.797, 2.305, 2.908",\
                 "0.3019, 0.3371, 0.4503, 0.6375, 0.8891, 1.198, 1.559, 1.976, 2.48, 3.083",\
                 "0.2724, 0.315, 0.448, 0.6688, 0.9607, 1.315, 1.73, 2.197, 2.717, 3.318",\
                 "0.2112, 0.2592, 0.413, 0.6677, 1.003, 1.405, 1.87, 2.397, 2.979, 3.615",\
                 "0.115, 0.1688, 0.3431, 0.6311, 1.012, 1.466, 1.984, 2.565, 3.209, 3.914",\
                 "-0.0187, 0.0418, 0.2365, 0.5572, 0.9827, 1.488, 2.064, 2.704, 3.409, 4.179");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2343, 0.2657, 0.3741, 0.5794, 0.8979, 1.344, 1.93, 2.668, 3.568, 4.641",\
                 "0.2453, 0.277, 0.3871, 0.5946, 0.9142, 1.361, 1.948, 2.686, 3.587, 4.66",\
                 "0.3014, 0.3322, 0.4405, 0.647, 0.9672, 1.415, 2.002, 2.741, 3.642, 4.715",\
                 "0.4153, 0.4495, 0.5602, 0.7618, 1.078, 1.522, 2.109, 2.847, 3.747, 4.82",\
                 "0.5622, 0.6016, 0.7316, 0.9539, 1.266, 1.704, 2.286, 3.02, 3.918, 4.988",\
                 "0.747, 0.7926, 0.9388, 1.19, 1.537, 1.977, 2.549, 3.276, 4.168, 5.234",\
                 "0.9672, 1.02, 1.188, 1.465, 1.85, 2.333, 2.912, 3.63, 4.513, 5.572",\
                 "1.223, 1.284, 1.476, 1.786, 2.204, 2.733, 3.363, 4.091, 4.964, 6.012",\
                 "1.516, 1.585, 1.802, 2.15, 2.607, 3.175, 3.857, 4.643, 5.529, 6.568",\
                 "1.845, 1.924, 2.168, 2.555, 3.059, 3.668, 4.395, 5.239, 6.188, 7.244");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2538, 0.285, 0.3925, 0.594, 0.9049, 1.339, 1.91, 2.63, 3.508, 4.553",\
                 "0.2527, 0.2842, 0.3922, 0.5939, 0.9047, 1.34, 1.91, 2.63, 3.508, 4.554",\
                 "0.2521, 0.2806, 0.3851, 0.5925, 0.9037, 1.341, 1.91, 2.629, 3.508, 4.554",\
                 "0.3223, 0.3518, 0.4493, 0.6218, 0.9063, 1.339, 1.911, 2.629, 3.507, 4.554",\
                 "0.425, 0.4577, 0.5628, 0.75, 1.017, 1.385, 1.915, 2.628, 3.507, 4.553",\
                 "0.5574, 0.5946, 0.7134, 0.9138, 1.202, 1.576, 2.044, 2.673, 3.509, 4.552",\
                 "0.7094, 0.754, 0.8928, 1.116, 1.421, 1.819, 2.312, 2.895, 3.634, 4.589",\
                 "0.8796, 0.9316, 1.096, 1.352, 1.683, 2.102, 2.62, 3.239, 3.949, 4.811",\
                 "1.067, 1.128, 1.315, 1.61, 1.982, 2.428, 2.97, 3.616, 4.369, 5.218",\
                 "1.276, 1.343, 1.554, 1.89, 2.308, 2.801, 3.368, 4.038, 4.824, 5.717");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4526, 0.5087, 0.702, 1.065, 1.622, 2.403, 3.43, 4.722, 6.302, 8.179",\
                 "0.4524, 0.5087, 0.7018, 1.065, 1.623, 2.403, 3.429, 4.722, 6.303, 8.181",\
                 "0.4526, 0.5081, 0.7018, 1.064, 1.623, 2.403, 3.43, 4.722, 6.301, 8.179",\
                 "0.5211, 0.566, 0.7272, 1.065, 1.623, 2.403, 3.429, 4.724, 6.3, 8.183",\
                 "0.6272, 0.6778, 0.8468, 1.142, 1.637, 2.403, 3.429, 4.721, 6.301, 8.179",\
                 "0.7626, 0.8112, 0.9848, 1.306, 1.768, 2.446, 3.433, 4.724, 6.301, 8.185",\
                 "0.938, 0.9866, 1.156, 1.485, 1.983, 2.629, 3.514, 4.733, 6.3, 8.18",\
                 "1.14, 1.199, 1.367, 1.695, 2.21, 2.902, 3.749, 4.86, 6.329, 8.185",\
                 "1.36, 1.418, 1.608, 1.947, 2.466, 3.186, 4.082, 5.146, 6.503, 8.239",\
                 "1.601, 1.663, 1.878, 2.237, 2.762, 3.492, 4.436, 5.546, 6.843, 8.464");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1198, 0.1369, 0.1973, 0.3129, 0.4921, 0.7435, 1.074, 1.491, 1.999, 2.606",\
                 "0.1326, 0.1498, 0.2103, 0.3263, 0.5061, 0.7576, 1.088, 1.505, 2.014, 2.62",\
                 "0.1751, 0.1935, 0.2534, 0.3678, 0.5475, 0.7989, 1.13, 1.547, 2.055, 2.661",\
                 "0.2086, 0.2335, 0.3138, 0.4466, 0.6276, 0.8778, 1.207, 1.623, 2.131, 2.737",\
                 "0.2183, 0.2507, 0.3523, 0.517, 0.7372, 1.005, 1.333, 1.747, 2.253, 2.858",\
                 "0.2004, 0.24, 0.3639, 0.5638, 0.8237, 1.141, 1.507, 1.926, 2.43, 3.031",\
                 "0.1512, 0.1985, 0.3461, 0.581, 0.8853, 1.248, 1.669, 2.142, 2.667, 3.267",\
                 "0.0702, 0.1246, 0.2941, 0.5666, 0.9166, 1.331, 1.803, 2.335, 2.923, 3.562",\
                 "-0.0459, 0.0157, 0.2083, 0.5145, 0.9127, 1.38, 1.909, 2.496, 3.147, 3.856",\
                 "-0.1992, -0.1298, 0.0855, 0.4282, 0.8721, 1.393, 1.981, 2.63, 3.34, 4.114");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2282, 0.2597, 0.3678, 0.5724, 0.8898, 1.334, 1.918, 2.654, 3.555, 4.63",\
                 "0.2395, 0.271, 0.381, 0.5878, 0.9066, 1.353, 1.939, 2.676, 3.571, 4.645",\
                 "0.2953, 0.3261, 0.4341, 0.6403, 0.9591, 1.406, 1.991, 2.729, 3.628, 4.7",\
                 "0.408, 0.4422, 0.5534, 0.7546, 1.07, 1.513, 2.098, 2.834, 3.734, 4.807",\
                 "0.5526, 0.5925, 0.7232, 0.9459, 1.258, 1.695, 2.274, 3.007, 3.904, 4.973",\
                 "0.7346, 0.7809, 0.9282, 1.18, 1.528, 1.967, 2.538, 3.263, 4.153, 5.219",\
                 "0.9517, 1.005, 1.175, 1.453, 1.838, 2.322, 2.901, 3.617, 4.498, 5.556",\
                 "1.203, 1.265, 1.459, 1.771, 2.19, 2.719, 3.35, 4.077, 4.948, 5.994",\
                 "1.491, 1.562, 1.782, 2.132, 2.592, 3.159, 3.84, 4.626, 5.513, 6.549",\
                 "1.814, 1.895, 2.144, 2.535, 3.04, 3.651, 4.376, 5.221, 6.17, 7.225");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.198, 0.2289, 0.3374, 0.5389, 0.8507, 1.285, 1.854, 2.575, 3.453, 4.503",\
                 "0.1958, 0.2273, 0.3372, 0.5393, 0.8509, 1.284, 1.856, 2.577, 3.454, 4.504",\
                 "0.2122, 0.2384, 0.3342, 0.5361, 0.85, 1.285, 1.856, 2.574, 3.454, 4.5",\
                 "0.285, 0.3138, 0.4112, 0.5828, 0.8563, 1.284, 1.857, 2.574, 3.45, 4.497",\
                 "0.3899, 0.4224, 0.5278, 0.7136, 0.9812, 1.342, 1.865, 2.573, 3.451, 4.502",\
                 "0.5192, 0.5582, 0.6808, 0.8792, 1.164, 1.54, 2.004, 2.63, 3.462, 4.501",\
                 "0.6668, 0.7128, 0.8584, 1.084, 1.386, 1.784, 2.275, 2.857, 3.592, 4.542",\
                 "0.831, 0.885, 1.056, 1.316, 1.652, 2.066, 2.584, 3.203, 3.912, 4.769",\
                 "1.013, 1.075, 1.27, 1.57, 1.947, 2.394, 2.935, 3.58, 4.331, 5.181",\
                 "1.211, 1.285, 1.505, 1.844, 2.27, 2.766, 3.333, 4, 4.788, 5.68");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3471, 0.4008, 0.5884, 0.9454, 1.503, 2.28, 3.31, 4.606, 6.18, 8.071",\
                 "0.3469, 0.4008, 0.5884, 0.946, 1.502, 2.285, 3.31, 4.608, 6.185, 8.06",\
                 "0.3474, 0.4001, 0.5883, 0.9461, 1.501, 2.283, 3.309, 4.601, 6.189, 8.061",\
                 "0.4101, 0.4556, 0.6127, 0.9456, 1.502, 2.283, 3.313, 4.606, 6.179, 8.069",\
                 "0.491, 0.5446, 0.7206, 1.022, 1.518, 2.281, 3.312, 4.598, 6.178, 8.061",\
                 "0.6046, 0.6568, 0.841, 1.176, 1.647, 2.327, 3.314, 4.599, 6.179, 8.066",\
                 "0.7468, 0.8044, 0.9932, 1.339, 1.851, 2.507, 3.396, 4.616, 6.185, 8.058",\
                 "0.9114, 0.9822, 1.183, 1.535, 2.066, 2.771, 3.623, 4.742, 6.201, 8.072",\
                 "1.091, 1.164, 1.392, 1.768, 2.307, 3.043, 3.952, 5.021, 6.377, 8.122",\
                 "1.286, 1.368, 1.627, 2.036, 2.59, 3.338, 4.299, 5.417, 6.721, 8.348");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1112, 0.1259, 0.1778, 0.2766, 0.43, 0.6453, 0.9282, 1.284, 1.72, 2.238",\
                 "0.1239, 0.1388, 0.191, 0.2902, 0.4438, 0.6592, 0.9427, 1.299, 1.735, 2.254",\
                 "0.1642, 0.1812, 0.2353, 0.3335, 0.4872, 0.7026, 0.9855, 1.342, 1.778, 2.297",\
                 "0.1913, 0.2148, 0.289, 0.4107, 0.5719, 0.7859, 1.068, 1.424, 1.858, 2.377",\
                 "0.1924, 0.2228, 0.3183, 0.4714, 0.6732, 0.916, 1.201, 1.555, 1.989, 2.506",\
                 "0.1618, 0.2001, 0.3181, 0.5052, 0.7471, 1.037, 1.371, 1.743, 2.175, 2.69",\
                 "0.0992, 0.1436, 0.284, 0.5066, 0.7922, 1.129, 1.516, 1.946, 2.419, 2.939",\
                 "0.0002, 0.052, 0.2141, 0.4716, 0.8024, 1.19, 1.628, 2.117, 2.652, 3.231",\
                 "-0.1365, -0.0776, 0.1066, 0.3986, 0.7749, 1.215, 1.71, 2.253, 2.85, 3.496",\
                 "-0.3152, -0.2486, -0.0419, 0.2849, 0.706, 1.2, 1.751, 2.357, 3.014, 3.724");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2284, 0.2595, 0.368, 0.5723, 0.8903, 1.334, 1.92, 2.658, 3.557, 4.623",\
                 "0.2385, 0.2702, 0.3802, 0.5871, 0.9062, 1.351, 1.938, 2.675, 3.572, 4.642",\
                 "0.2939, 0.3247, 0.4323, 0.6383, 0.9573, 1.404, 1.989, 2.728, 3.625, 4.697",\
                 "0.4083, 0.4426, 0.5531, 0.7538, 1.068, 1.512, 2.096, 2.831, 3.731, 4.803",\
                 "0.5585, 0.598, 0.7274, 0.9484, 1.26, 1.696, 2.274, 3.005, 3.901, 4.972",\
                 "0.7489, 0.794, 0.9392, 1.189, 1.534, 1.972, 2.541, 3.266, 4.154, 5.221",\
                 "0.9758, 1.029, 1.195, 1.47, 1.852, 2.333, 2.909, 3.623, 4.504, 5.559",\
                 "1.242, 1.303, 1.492, 1.8, 2.214, 2.739, 3.365, 4.09, 4.959, 6.006",\
                 "1.546, 1.616, 1.832, 2.175, 2.629, 3.191, 3.868, 4.648, 5.532, 6.566",\
                 "1.892, 1.969, 2.214, 2.597, 3.093, 3.697, 4.417, 5.255, 6.201, 7.251");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1658, 0.1918, 0.2822, 0.4529, 0.7172, 1.088, 1.576, 2.189, 2.938, 3.825",\
                 "0.1643, 0.1917, 0.2819, 0.4528, 0.717, 1.087, 1.575, 2.188, 2.937, 3.83",\
                 "0.1905, 0.2117, 0.2884, 0.4507, 0.7171, 1.087, 1.576, 2.189, 2.937, 3.829",\
                 "0.2644, 0.2902, 0.3741, 0.5186, 0.7381, 1.087, 1.576, 2.189, 2.938, 3.829",\
                 "0.3694, 0.3989, 0.4918, 0.6538, 0.8838, 1.179, 1.602, 2.189, 2.937, 3.829",\
                 "0.4938, 0.5294, 0.6412, 0.822, 1.071, 1.395, 1.785, 2.285, 2.957, 3.832",\
                 "0.6368, 0.68, 0.8136, 1.023, 1.295, 1.644, 2.067, 2.563, 3.155, 3.922",\
                 "0.7978, 0.8498, 1.005, 1.248, 1.556, 1.927, 2.379, 2.915, 3.525, 4.221",\
                 "0.9758, 1.035, 1.215, 1.496, 1.845, 2.256, 2.735, 3.297, 3.948, 4.679",\
                 "1.169, 1.239, 1.448, 1.764, 2.159, 2.616, 3.132, 3.723, 4.406, 5.179");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3471, 0.4003, 0.5885, 0.9458, 1.503, 2.284, 3.308, 4.604, 6.184, 8.068",\
                 "0.3469, 0.4008, 0.5884, 0.945, 1.502, 2.28, 3.31, 4.605, 6.183, 8.069",\
                 "0.3476, 0.4005, 0.588, 0.9446, 1.503, 2.285, 3.308, 4.601, 6.186, 8.06",\
                 "0.4097, 0.4557, 0.6129, 0.9471, 1.501, 2.285, 3.312, 4.6, 6.178, 8.059",\
                 "0.489, 0.5408, 0.7184, 1.022, 1.517, 2.282, 3.308, 4.602, 6.179, 8.062",\
                 "0.5984, 0.6506, 0.8348, 1.17, 1.643, 2.325, 3.314, 4.6, 6.18, 8.059",\
                 "0.735, 0.795, 0.9808, 1.328, 1.842, 2.5, 3.386, 4.614, 6.179, 8.062",\
                 "0.892, 0.9574, 1.161, 1.515, 2.048, 2.758, 3.614, 4.734, 6.211, 8.073",\
                 "1.07, 1.14, 1.366, 1.737, 2.281, 3.023, 3.938, 5.01, 6.372, 8.121",\
                 "1.259, 1.342, 1.59, 1.996, 2.552, 3.306, 4.272, 5.4, 6.703, 8.332");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1371, 0.1527, 0.2062, 0.3066, 0.4611, 0.6764, 0.9588, 1.314, 1.748, 2.264",\
                 "0.1509, 0.1664, 0.2201, 0.3207, 0.4753, 0.6907, 0.9734, 1.329, 1.763, 2.279",\
                 "0.1987, 0.2143, 0.2659, 0.3654, 0.5199, 0.7353, 1.018, 1.373, 1.807, 2.323",\
                 "0.2446, 0.2659, 0.3347, 0.4494, 0.6056, 0.8196, 1.102, 1.456, 1.89, 2.406",\
                 "0.2652, 0.2923, 0.3791, 0.5236, 0.717, 0.9531, 1.235, 1.588, 2.02, 2.535",\
                 "0.2556, 0.2885, 0.3953, 0.5706, 0.8025, 1.085, 1.411, 1.778, 2.208, 2.721",\
                 "0.2114, 0.251, 0.3779, 0.5852, 0.8587, 1.186, 1.564, 1.989, 2.455, 2.972",\
                 "0.1312, 0.1776, 0.3245, 0.5646, 0.8804, 1.257, 1.686, 2.167, 2.696, 3.269",\
                 "0.014, 0.0657, 0.2309, 0.5052, 0.865, 1.291, 1.775, 2.311, 2.901, 3.541",\
                 "-0.1446, -0.0872, 0.0989, 0.4049, 0.8067, 1.284, 1.825, 2.422, 3.071, 3.776");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2331, 0.2644, 0.3732, 0.5784, 0.8967, 1.343, 1.929, 2.667, 3.568, 4.64",\
                 "0.2436, 0.2753, 0.3853, 0.5926, 0.9126, 1.359, 1.946, 2.685, 3.585, 4.658",\
                 "0.2998, 0.3307, 0.4388, 0.6449, 0.9652, 1.413, 2, 2.739, 3.64, 4.713",\
                 "0.4164, 0.4502, 0.5603, 0.7614, 1.077, 1.521, 2.107, 2.845, 3.745, 4.818",\
                 "0.5677, 0.6072, 0.736, 0.9564, 1.268, 1.705, 2.285, 3.019, 3.917, 4.987",\
                 "0.7601, 0.8046, 0.9495, 1.198, 1.543, 1.981, 2.552, 3.279, 4.17, 5.235",\
                 "0.9904, 1.043, 1.208, 1.481, 1.863, 2.345, 2.921, 3.637, 4.518, 5.576",\
                 "1.26, 1.32, 1.508, 1.813, 2.227, 2.752, 3.379, 4.104, 4.976, 6.023",\
                 "1.57, 1.638, 1.851, 2.192, 2.643, 3.205, 3.884, 4.664, 5.548, 6.584",\
                 "1.922, 1.998, 2.236, 2.617, 3.113, 3.714, 4.435, 5.274, 6.218, 7.269");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.209, 0.236, 0.3281, 0.5005, 0.7654, 1.134, 1.62, 2.231, 2.977, 3.866",\
                 "0.2075, 0.2349, 0.3275, 0.5004, 0.7644, 1.136, 1.62, 2.231, 2.977, 3.867",\
                 "0.2168, 0.2391, 0.3232, 0.4967, 0.7646, 1.135, 1.621, 2.231, 2.977, 3.866",\
                 "0.2935, 0.3196, 0.4023, 0.5463, 0.7756, 1.133, 1.62, 2.231, 2.977, 3.866",\
                 "0.3984, 0.4263, 0.5208, 0.6828, 0.9116, 1.21, 1.638, 2.231, 2.976, 3.865",\
                 "0.5268, 0.5614, 0.6704, 0.8494, 1.1, 1.423, 1.812, 2.317, 2.995, 3.866",\
                 "0.6748, 0.7168, 0.8474, 1.052, 1.323, 1.672, 2.095, 2.588, 3.184, 3.95",\
                 "0.8408, 0.89, 1.043, 1.279, 1.585, 1.958, 2.408, 2.943, 3.55, 4.246",\
                 "1.024, 1.082, 1.258, 1.532, 1.876, 2.283, 2.762, 3.327, 3.975, 4.705",\
                 "1.23, 1.294, 1.491, 1.802, 2.193, 2.647, 3.161, 3.75, 4.436, 5.207");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4528, 0.5086, 0.7019, 1.065, 1.623, 2.403, 3.428, 4.722, 6.3, 8.178",\
                 "0.4526, 0.5087, 0.7019, 1.064, 1.623, 2.403, 3.429, 4.723, 6.302, 8.177",\
                 "0.453, 0.5083, 0.7017, 1.064, 1.622, 2.403, 3.43, 4.722, 6.301, 8.183",\
                 "0.5204, 0.5657, 0.7271, 1.066, 1.623, 2.403, 3.43, 4.721, 6.297, 8.18",\
                 "0.624, 0.6736, 0.8438, 1.141, 1.638, 2.403, 3.429, 4.722, 6.302, 8.184",\
                 "0.7528, 0.802, 0.977, 1.302, 1.765, 2.446, 3.433, 4.724, 6.3, 8.184",\
                 "0.9206, 0.9698, 1.14, 1.474, 1.974, 2.622, 3.512, 4.733, 6.298, 8.185",\
                 "1.118, 1.169, 1.342, 1.675, 2.193, 2.888, 3.739, 4.857, 6.329, 8.185",\
                 "1.333, 1.388, 1.577, 1.915, 2.437, 3.164, 4.067, 5.134, 6.496, 8.23",\
                 "1.569, 1.628, 1.834, 2.193, 2.721, 3.461, 4.408, 5.524, 6.829, 8.466");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1039, 0.1183, 0.1696, 0.2678, 0.4207, 0.6349, 0.9168, 1.272, 1.705, 2.222",\
                 "0.1176, 0.1321, 0.1832, 0.2817, 0.4348, 0.6492, 0.9313, 1.286, 1.719, 2.235",\
                 "0.1598, 0.1766, 0.2298, 0.3265, 0.4793, 0.6939, 0.9753, 1.331, 1.763, 2.28",\
                 "0.1878, 0.2109, 0.2848, 0.4055, 0.5654, 0.7782, 1.059, 1.414, 1.846, 2.363",\
                 "0.1891, 0.2191, 0.3145, 0.4671, 0.6678, 0.9098, 1.193, 1.546, 1.977, 2.491",\
                 "0.1592, 0.1972, 0.3144, 0.5012, 0.743, 1.032, 1.364, 1.735, 2.165, 2.678",\
                 "0.0964, 0.1407, 0.28, 0.5032, 0.7879, 1.125, 1.51, 1.94, 2.41, 2.928",\
                 "-0.0025, 0.0494, 0.2109, 0.4675, 0.7991, 1.185, 1.624, 2.111, 2.645, 3.223",\
                 "-0.1393, -0.0804, 0.1032, 0.3954, 0.7716, 1.211, 1.705, 2.249, 2.844, 3.489",\
                 "-0.3174, -0.2512, -0.0446, 0.2824, 0.702, 1.196, 1.748, 2.353, 3.008, 3.718");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2273, 0.2586, 0.3669, 0.5717, 0.8892, 1.334, 1.919, 2.657, 3.552, 4.625",\
                 "0.2377, 0.2691, 0.3794, 0.5858, 0.905, 1.35, 1.935, 2.671, 3.571, 4.647",\
                 "0.2939, 0.3246, 0.4325, 0.638, 0.9575, 1.403, 1.989, 2.727, 3.625, 4.697",\
                 "0.4088, 0.4429, 0.5536, 0.7542, 1.069, 1.512, 2.097, 2.832, 3.732, 4.803",\
                 "0.5585, 0.5977, 0.7274, 0.9484, 1.26, 1.696, 2.274, 3.006, 3.903, 4.972",\
                 "0.7481, 0.7923, 0.939, 1.188, 1.534, 1.971, 2.541, 3.266, 4.155, 5.219",\
                 "0.9749, 1.028, 1.195, 1.47, 1.852, 2.334, 2.909, 3.623, 4.503, 5.56",\
                 "1.241, 1.302, 1.492, 1.8, 2.214, 2.739, 3.366, 4.09, 4.96, 6.006",\
                 "1.546, 1.615, 1.831, 2.175, 2.627, 3.19, 3.868, 4.649, 5.532, 6.565",\
                 "1.891, 1.968, 2.213, 2.597, 3.094, 3.696, 4.416, 5.255, 6.199, 7.251");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1614, 0.1883, 0.2815, 0.4541, 0.719, 1.088, 1.574, 2.185, 2.931, 3.821",\
                 "0.1586, 0.1863, 0.2806, 0.454, 0.719, 1.088, 1.574, 2.186, 2.933, 3.819",\
                 "0.1872, 0.2083, 0.2845, 0.4499, 0.7182, 1.088, 1.575, 2.184, 2.933, 3.819",\
                 "0.2637, 0.2886, 0.3726, 0.5166, 0.7385, 1.086, 1.573, 2.185, 2.931, 3.82",\
                 "0.3678, 0.3988, 0.492, 0.6522, 0.8816, 1.178, 1.598, 2.184, 2.93, 3.82",\
                 "0.4936, 0.5294, 0.6418, 0.8218, 1.071, 1.393, 1.782, 2.281, 2.956, 3.821",\
                 "0.6372, 0.6804, 0.8142, 1.022, 1.296, 1.643, 2.065, 2.56, 3.15, 3.914",\
                 "0.7986, 0.85, 1.005, 1.249, 1.559, 1.927, 2.378, 2.912, 3.521, 4.215",\
                 "0.977, 1.036, 1.218, 1.497, 1.846, 2.257, 2.732, 3.294, 3.944, 4.674",\
                 "1.17, 1.24, 1.446, 1.765, 2.161, 2.613, 3.13, 3.721, 4.406, 5.177");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3471, 0.4005, 0.5884, 0.9461, 1.502, 2.283, 3.31, 4.605, 6.181, 8.059",\
                 "0.3469, 0.4008, 0.5878, 0.945, 1.503, 2.284, 3.312, 4.607, 6.176, 8.071",\
                 "0.3472, 0.4001, 0.5871, 0.945, 1.503, 2.285, 3.306, 4.601, 6.184, 8.056",\
                 "0.4102, 0.4553, 0.6144, 0.9452, 1.502, 2.284, 3.308, 4.599, 6.181, 8.063",\
                 "0.488, 0.541, 0.7182, 1.021, 1.517, 2.283, 3.312, 4.608, 6.18, 8.061",\
                 "0.5966, 0.6512, 0.8352, 1.17, 1.642, 2.325, 3.313, 4.605, 6.178, 8.066",\
                 "0.7362, 0.7916, 0.9804, 1.327, 1.843, 2.499, 3.394, 4.615, 6.184, 8.057",\
                 "0.893, 0.9564, 1.159, 1.514, 2.051, 2.759, 3.615, 4.737, 6.212, 8.068",\
                 "1.07, 1.141, 1.366, 1.739, 2.28, 3.025, 3.938, 5.01, 6.378, 8.106",\
                 "1.262, 1.34, 1.591, 1.996, 2.55, 3.305, 4.267, 5.399, 6.705, 8.33");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.09565, 0.1079, 0.1505, 0.2318, 0.3583, 0.5354, 0.7684, 1.062, 1.42, 1.848",\
                 "0.1095, 0.1217, 0.1646, 0.246, 0.3726, 0.5499, 0.7833, 1.076, 1.434, 1.861",\
                 "0.1485, 0.1637, 0.2119, 0.2935, 0.4199, 0.597, 0.8299, 1.124, 1.481, 1.909",\
                 "0.1695, 0.1909, 0.2587, 0.3682, 0.5106, 0.6881, 0.9204, 1.213, 1.572, 1.998",\
                 "0.1615, 0.1898, 0.2783, 0.4191, 0.6013, 0.8181, 1.064, 1.356, 1.712, 2.138",\
                 "0.1196, 0.1546, 0.2652, 0.4394, 0.662, 0.9246, 1.223, 1.552, 1.915, 2.339",\
                 "0.0409, 0.0836, 0.215, 0.4238, 0.6891, 0.9992, 1.349, 1.736, 2.155, 2.605",\
                 "-0.0764, -0.027, 0.1257, 0.3676, 0.678, 1.038, 1.44, 1.882, 2.363, 2.88",\
                 "-0.2358, -0.1799, -0.005, 0.2704, 0.6246, 1.035, 1.493, 1.993, 2.534, 3.115",\
                 "-0.4396, -0.3767, -0.1806, 0.1297, 0.5257, 0.9885, 1.503, 2.063, 2.666, 3.309");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2273, 0.2588, 0.3669, 0.5715, 0.8887, 1.333, 1.919, 2.654, 3.554, 4.629",\
                 "0.2365, 0.2683, 0.378, 0.5847, 0.9042, 1.349, 1.936, 2.674, 3.57, 4.643",\
                 "0.2923, 0.3229, 0.4301, 0.6358, 0.9552, 1.401, 1.987, 2.725, 3.624, 4.696",\
                 "0.4098, 0.4438, 0.5535, 0.7533, 1.067, 1.51, 2.094, 2.829, 3.729, 4.804",\
                 "0.5648, 0.6038, 0.7325, 0.9519, 1.261, 1.696, 2.274, 3.005, 3.901, 4.969",\
                 "0.7628, 0.8072, 0.9512, 1.198, 1.541, 1.977, 2.544, 3.268, 4.156, 5.219",\
                 "1.001, 1.053, 1.217, 1.488, 1.867, 2.345, 2.918, 3.632, 4.51, 5.565",\
                 "1.281, 1.341, 1.528, 1.829, 2.24, 2.761, 3.384, 4.105, 4.972, 6.017",\
                 "1.605, 1.673, 1.884, 2.221, 2.667, 3.226, 3.898, 4.675, 5.554, 6.587",\
                 "1.972, 2.05, 2.288, 2.663, 3.15, 3.746, 4.462, 5.295, 6.235, 7.281");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1324, 0.1534, 0.2275, 0.3668, 0.5836, 0.888, 1.288, 1.791, 2.402, 3.14",\
                 "0.1313, 0.1528, 0.2269, 0.3671, 0.5847, 0.8874, 1.289, 1.792, 2.404, 3.133",\
                 "0.1673, 0.185, 0.243, 0.3682, 0.5843, 0.8869, 1.288, 1.791, 2.402, 3.135",\
                 "0.2435, 0.2657, 0.3371, 0.4568, 0.626, 0.8935, 1.286, 1.789, 2.403, 3.135",\
                 "0.3455, 0.3718, 0.4558, 0.594, 0.788, 1.026, 1.345, 1.8, 2.401, 3.135",\
                 "0.4654, 0.499, 0.602, 0.7628, 0.9782, 1.25, 1.574, 1.957, 2.469, 3.147",\
                 "0.6046, 0.644, 0.7672, 0.9576, 1.203, 1.502, 1.861, 2.272, 2.739, 3.318",\
                 "0.7614, 0.8086, 0.9528, 1.178, 1.457, 1.786, 2.176, 2.63, 3.138, 3.697",\
                 "0.9328, 0.9916, 1.158, 1.414, 1.735, 2.107, 2.529, 3.013, 3.563, 4.178",\
                 "1.118, 1.185, 1.384, 1.676, 2.039, 2.455, 2.924, 3.44, 4.024, 4.683");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3475, 0.401, 0.5881, 0.946, 1.501, 2.281, 3.308, 4.606, 6.181, 8.069",\
                 "0.3469, 0.4008, 0.5884, 0.9458, 1.503, 2.281, 3.311, 4.603, 6.184, 8.058",\
                 "0.3472, 0.4005, 0.5879, 0.9447, 1.501, 2.285, 3.305, 4.602, 6.177, 8.06",\
                 "0.4086, 0.4545, 0.6127, 0.9457, 1.502, 2.285, 3.307, 4.604, 6.179, 8.069",\
                 "0.4844, 0.5374, 0.7154, 1.02, 1.517, 2.281, 3.312, 4.601, 6.175, 8.065",\
                 "0.587, 0.6392, 0.8256, 1.165, 1.638, 2.323, 3.314, 4.607, 6.179, 8.059",\
                 "0.72, 0.7762, 0.9656, 1.315, 1.834, 2.492, 3.39, 4.613, 6.185, 8.071",\
                 "0.8714, 0.9348, 1.137, 1.491, 2.033, 2.744, 3.606, 4.732, 6.209, 8.071",\
                 "1.045, 1.113, 1.334, 1.707, 2.249, 3.003, 3.918, 4.996, 6.36, 8.113",\
                 "1.231, 1.309, 1.551, 1.956, 2.511, 3.27, 4.238, 5.372, 6.687, 8.334");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2053, 0.2238, 0.2875, 0.4063, 0.5884, 0.8419, 1.174, 1.592, 2.101, 2.709",\
                 "0.2185, 0.2371, 0.3009, 0.4199, 0.6023, 0.8559, 1.188, 1.606, 2.116, 2.723",\
                 "0.2617, 0.2796, 0.3429, 0.4617, 0.6439, 0.8976, 1.23, 1.647, 2.157, 2.764",\
                 "0.3285, 0.3502, 0.4213, 0.543, 0.7234, 0.976, 1.307, 1.725, 2.234, 2.84",\
                 "0.3734, 0.4005, 0.4879, 0.6384, 0.845, 1.103, 1.432, 1.848, 2.355, 2.96",\
                 "0.393, 0.4255, 0.531, 0.7088, 0.9523, 1.255, 1.611, 2.026, 2.531, 3.134",\
                 "0.3826, 0.4208, 0.5438, 0.7521, 1.034, 1.38, 1.788, 2.251, 2.768, 3.368",\
                 "0.3378, 0.3813, 0.5249, 0.7637, 1.087, 1.48, 1.937, 2.457, 3.035, 3.667",\
                 "0.258, 0.3072, 0.4688, 0.7414, 1.106, 1.548, 2.057, 2.632, 3.271, 3.971",\
                 "0.1417, 0.1968, 0.3762, 0.6804, 1.088, 1.58, 2.146, 2.777, 3.476, 4.241");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2273, 0.2588, 0.3669, 0.5715, 0.8887, 1.333, 1.919, 2.654, 3.554, 4.629",\
                 "0.2365, 0.2683, 0.378, 0.5847, 0.9042, 1.349, 1.936, 2.674, 3.57, 4.643",\
                 "0.2923, 0.3229, 0.4301, 0.6358, 0.9552, 1.401, 1.987, 2.725, 3.624, 4.696",\
                 "0.4098, 0.4438, 0.5535, 0.7533, 1.067, 1.51, 2.094, 2.829, 3.729, 4.804",\
                 "0.5648, 0.6038, 0.7325, 0.9519, 1.261, 1.696, 2.274, 3.005, 3.901, 4.969",\
                 "0.7628, 0.8072, 0.9512, 1.198, 1.541, 1.977, 2.544, 3.268, 4.156, 5.219",\
                 "1.001, 1.053, 1.217, 1.488, 1.867, 2.345, 2.918, 3.632, 4.51, 5.565",\
                 "1.281, 1.341, 1.528, 1.829, 2.24, 2.761, 3.384, 4.105, 4.972, 6.017",\
                 "1.605, 1.673, 1.884, 2.221, 2.667, 3.226, 3.898, 4.675, 5.554, 6.587",\
                 "1.972, 2.05, 2.288, 2.663, 3.15, 3.746, 4.462, 5.295, 6.235, 7.281");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3059, 0.3369, 0.4447, 0.6465, 0.9588, 1.394, 1.966, 2.686, 3.565, 4.61",\
                 "0.3054, 0.3362, 0.4445, 0.646, 0.9579, 1.395, 1.965, 2.687, 3.564, 4.611",\
                 "0.2969, 0.3288, 0.4397, 0.6454, 0.9576, 1.395, 1.966, 2.686, 3.564, 4.612",\
                 "0.36, 0.3902, 0.4869, 0.6623, 0.957, 1.394, 1.966, 2.685, 3.564, 4.611",\
                 "0.46, 0.4932, 0.6, 0.7886, 1.054, 1.429, 1.968, 2.685, 3.564, 4.61",\
                 "0.5938, 0.63, 0.749, 0.9504, 1.239, 1.614, 2.085, 2.722, 3.565, 4.61",\
                 "0.7532, 0.7954, 0.931, 1.151, 1.458, 1.858, 2.349, 2.933, 3.681, 4.639",\
                 "0.9304, 0.98, 1.138, 1.387, 1.719, 2.139, 2.658, 3.276, 3.987, 4.853",\
                 "1.124, 1.183, 1.363, 1.648, 2.018, 2.464, 3.006, 3.658, 4.407, 5.256",\
                 "1.334, 1.402, 1.608, 1.932, 2.344, 2.833, 3.401, 4.075, 4.861, 5.756");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5743, 0.6299, 0.8229, 1.186, 1.744, 2.526, 3.553, 4.846, 6.424, 8.299",\
                 "0.5743, 0.63, 0.823, 1.185, 1.744, 2.525, 3.552, 4.846, 6.423, 8.302",\
                 "0.5742, 0.6297, 0.8227, 1.185, 1.744, 2.525, 3.553, 4.845, 6.423, 8.304",\
                 "0.6436, 0.687, 0.8479, 1.187, 1.744, 2.525, 3.553, 4.844, 6.421, 8.301",\
                 "0.7722, 0.8174, 0.9724, 1.264, 1.76, 2.526, 3.553, 4.848, 6.426, 8.304",\
                 "0.9262, 0.969, 1.131, 1.437, 1.89, 2.569, 3.556, 4.844, 6.427, 8.308",\
                 "1.123, 1.164, 1.318, 1.631, 2.114, 2.751, 3.637, 4.858, 6.423, 8.303",\
                 "1.356, 1.396, 1.547, 1.855, 2.357, 3.031, 3.87, 4.985, 6.449, 8.311",\
                 "1.611, 1.656, 1.813, 2.122, 2.623, 3.329, 4.211, 5.271, 6.628, 8.363",\
                 "1.886, 1.934, 2.107, 2.433, 2.93, 3.648, 4.57, 5.673, 6.969, 8.592");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2502, 0.2687, 0.3328, 0.4519, 0.6349, 0.8891, 1.222, 1.64, 2.15, 2.758",\
                 "0.2599, 0.2785, 0.3425, 0.462, 0.6449, 0.8992, 1.232, 1.65, 2.16, 2.768",\
                 "0.2999, 0.3183, 0.3823, 0.5013, 0.6841, 0.9381, 1.271, 1.689, 2.199, 2.806",\
                 "0.3757, 0.396, 0.4637, 0.5824, 0.7635, 1.016, 1.348, 1.766, 2.275, 2.882",\
                 "0.438, 0.463, 0.5457, 0.6892, 0.8893, 1.144, 1.473, 1.889, 2.396, 3.002",\
                 "0.4818, 0.511, 0.6078, 0.776, 1.01, 1.305, 1.655, 2.069, 2.573, 3.176",\
                 "0.5028, 0.5371, 0.6491, 0.8434, 1.111, 1.446, 1.844, 2.3, 2.813, 3.413",\
                 "0.5008, 0.5387, 0.668, 0.8882, 1.191, 1.566, 2.009, 2.519, 3.089, 3.714",\
                 "0.4736, 0.517, 0.6618, 0.9078, 1.246, 1.664, 2.154, 2.712, 3.339, 4.029",\
                 "0.4224, 0.4693, 0.6295, 0.9024, 1.276, 1.737, 2.275, 2.884, 3.565, 4.316");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.281, 0.3123, 0.421, 0.6268, 0.9463, 1.394, 1.982, 2.722, 3.624, 4.699",\
                 "0.2938, 0.3254, 0.4365, 0.6443, 0.9655, 1.414, 2.002, 2.743, 3.646, 4.72",\
                 "0.3317, 0.3634, 0.4739, 0.6827, 1.006, 1.456, 2.045, 2.787, 3.69, 4.765",\
                 "0.4037, 0.4377, 0.5508, 0.7565, 1.076, 1.525, 2.114, 2.855, 3.759, 4.833",\
                 "0.5085, 0.5449, 0.665, 0.8831, 1.202, 1.644, 2.229, 2.967, 3.868, 4.941",\
                 "0.6462, 0.6874, 0.8192, 1.048, 1.385, 1.831, 2.408, 3.139, 4.034, 5.103",\
                 "0.8116, 0.8582, 1.007, 1.256, 1.608, 2.075, 2.66, 3.383, 4.269, 5.331",\
                 "1, 1.054, 1.223, 1.5, 1.877, 2.361, 2.97, 3.706, 4.585, 5.636",\
                 "1.214, 1.274, 1.464, 1.774, 2.185, 2.696, 3.324, 4.086, 4.982, 6.026",\
                 "1.454, 1.52, 1.732, 2.075, 2.526, 3.075, 3.73, 4.512, 5.436, 6.502");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3565, 0.3876, 0.4969, 0.6997, 1.013, 1.45, 2.022, 2.742, 3.621, 4.667",\
                 "0.3558, 0.3878, 0.4964, 0.7002, 1.013, 1.45, 2.022, 2.742, 3.621, 4.668",\
                 "0.3483, 0.381, 0.4938, 0.6997, 1.013, 1.45, 2.022, 2.742, 3.621, 4.667",\
                 "0.4024, 0.4321, 0.5287, 0.7094, 1.011, 1.45, 2.022, 2.742, 3.62, 4.668",\
                 "0.5062, 0.5382, 0.644, 0.8304, 1.096, 1.477, 2.022, 2.742, 3.621, 4.668",\
                 "0.6428, 0.6798, 0.7952, 0.9936, 1.282, 1.654, 2.129, 2.774, 3.621, 4.668",\
                 "0.81, 0.8502, 0.9792, 1.195, 1.5, 1.897, 2.389, 2.975, 3.729, 4.694",\
                 "1.003, 1.047, 1.193, 1.433, 1.757, 2.176, 2.695, 3.313, 4.027, 4.898",\
                 "1.215, 1.269, 1.435, 1.707, 2.062, 2.498, 3.038, 3.688, 4.441, 5.292",\
                 "1.448, 1.509, 1.702, 2.006, 2.395, 2.865, 3.431, 4.1, 4.887, 5.786");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5746, 0.6303, 0.8232, 1.186, 1.744, 2.525, 3.551, 4.842, 6.425, 8.301",\
                 "0.5747, 0.6303, 0.8229, 1.186, 1.744, 2.525, 3.551, 4.845, 6.423, 8.3",\
                 "0.5774, 0.6316, 0.8229, 1.186, 1.744, 2.525, 3.551, 4.845, 6.425, 8.302",\
                 "0.6362, 0.682, 0.8505, 1.19, 1.745, 2.526, 3.552, 4.845, 6.421, 8.302",\
                 "0.7426, 0.7874, 0.9462, 1.256, 1.767, 2.527, 3.553, 4.847, 6.427, 8.302",\
                 "0.8966, 0.9328, 1.077, 1.382, 1.868, 2.576, 3.56, 4.846, 6.424, 8.302",\
                 "1.093, 1.128, 1.262, 1.545, 2.026, 2.712, 3.642, 4.868, 6.424, 8.308",\
                 "1.314, 1.352, 1.49, 1.764, 2.221, 2.905, 3.812, 4.984, 6.469, 8.312",\
                 "1.554, 1.595, 1.743, 2.028, 2.472, 3.134, 4.046, 5.189, 6.619, 8.385",\
                 "1.811, 1.855, 2.015, 2.321, 2.78, 3.427, 4.311, 5.463, 6.866, 8.571");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2033, 0.2216, 0.2852, 0.4038, 0.5859, 0.8394, 1.171, 1.589, 2.098, 2.706",\
                 "0.2131, 0.2315, 0.2951, 0.4139, 0.5959, 0.8493, 1.181, 1.599, 2.109, 2.716",\
                 "0.2542, 0.272, 0.3349, 0.4532, 0.6351, 0.8884, 1.22, 1.638, 2.147, 2.754",\
                 "0.3206, 0.3422, 0.4132, 0.5351, 0.7148, 0.9668, 1.298, 1.715, 2.223, 2.83",\
                 "0.3689, 0.3959, 0.4828, 0.6316, 0.8373, 1.095, 1.424, 1.838, 2.345, 2.951",\
                 "0.3979, 0.4297, 0.5327, 0.7084, 0.9486, 1.249, 1.603, 2.018, 2.522, 3.125",\
                 "0.4046, 0.4415, 0.5621, 0.7651, 1.041, 1.382, 1.786, 2.247, 2.762, 3.361",\
                 "0.3885, 0.4306, 0.568, 0.7984, 1.112, 1.495, 1.944, 2.459, 3.033, 3.662",\
                 "0.3486, 0.3956, 0.5481, 0.8074, 1.158, 1.585, 2.082, 2.646, 3.279, 3.973",\
                 "0.2841, 0.3355, 0.5053, 0.7903, 1.179, 1.65, 2.197, 2.813, 3.498, 4.254");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2748, 0.3059, 0.4141, 0.6193, 0.9376, 1.383, 1.969, 2.708, 3.608, 4.68",\
                 "0.2873, 0.319, 0.4295, 0.6369, 0.9566, 1.403, 1.99, 2.729, 3.629, 4.702",\
                 "0.3254, 0.3569, 0.4672, 0.6753, 0.9969, 1.445, 2.033, 2.773, 3.674, 4.747",\
                 "0.3964, 0.4303, 0.5437, 0.7487, 1.067, 1.514, 2.102, 2.84, 3.742, 4.815",\
                 "0.4996, 0.5361, 0.6569, 0.8749, 1.193, 1.634, 2.217, 2.952, 3.851, 4.922",\
                 "0.6353, 0.6764, 0.8096, 1.039, 1.375, 1.821, 2.395, 3.124, 4.018, 5.085",\
                 "0.7973, 0.8445, 0.9944, 1.246, 1.597, 2.063, 2.648, 3.368, 4.253, 5.312",\
                 "0.9819, 1.036, 1.207, 1.487, 1.864, 2.349, 2.956, 3.691, 4.568, 5.617",\
                 "1.19, 1.252, 1.445, 1.758, 2.171, 2.681, 3.309, 4.07, 4.965, 6.008",\
                 "1.423, 1.493, 1.707, 2.055, 2.508, 3.059, 3.713, 4.495, 5.418, 6.483");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3061, 0.3374, 0.4452, 0.6469, 0.9588, 1.395, 1.966, 2.686, 3.565, 4.611",\
                 "0.3055, 0.3369, 0.4444, 0.6469, 0.9588, 1.394, 1.967, 2.685, 3.564, 4.61",\
                 "0.2985, 0.3296, 0.4397, 0.6459, 0.9586, 1.395, 1.967, 2.686, 3.564, 4.61",\
                 "0.3661, 0.3952, 0.4908, 0.6662, 0.9583, 1.394, 1.966, 2.685, 3.564, 4.611",\
                 "0.4704, 0.5026, 0.6078, 0.7932, 1.058, 1.432, 1.968, 2.685, 3.564, 4.611",\
                 "0.6086, 0.644, 0.7586, 0.9574, 1.243, 1.617, 2.088, 2.724, 3.565, 4.61",\
                 "0.771, 0.813, 0.9442, 1.16, 1.462, 1.86, 2.351, 2.936, 3.683, 4.642",\
                 "0.958, 1.006, 1.158, 1.399, 1.725, 2.138, 2.655, 3.277, 3.989, 4.853",\
                 "1.165, 1.221, 1.398, 1.668, 2.025, 2.462, 3, 3.65, 4.404, 5.254",\
                 "1.391, 1.455, 1.656, 1.964, 2.362, 2.835, 3.395, 4.062, 4.849, 5.748");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4521, 0.508, 0.7008, 1.063, 1.621, 2.402, 3.429, 4.719, 6.298, 8.176",\
                 "0.4523, 0.5077, 0.701, 1.063, 1.621, 2.401, 3.427, 4.718, 6.297, 8.176",\
                 "0.4551, 0.5091, 0.701, 1.063, 1.62, 2.402, 3.428, 4.719, 6.297, 8.178",\
                 "0.514, 0.5604, 0.7286, 1.067, 1.622, 2.402, 3.429, 4.72, 6.301, 8.184",\
                 "0.6062, 0.6532, 0.819, 1.133, 1.644, 2.402, 3.428, 4.722, 6.302, 8.181",\
                 "0.7454, 0.7864, 0.9394, 1.253, 1.744, 2.453, 3.436, 4.721, 6.298, 8.182",\
                 "0.9208, 0.9636, 1.112, 1.406, 1.896, 2.588, 3.516, 4.746, 6.302, 8.18",\
                 "1.116, 1.162, 1.322, 1.613, 2.082, 2.775, 3.687, 4.858, 6.346, 8.189",\
                 "1.327, 1.378, 1.55, 1.862, 2.326, 2.997, 3.915, 5.065, 6.496, 8.266",\
                 "1.55, 1.607, 1.797, 2.137, 2.622, 3.282, 4.175, 5.335, 6.74, 8.446");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b0 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1808, 0.1968, 0.2515, 0.3532, 0.5094, 0.7265, 1.011, 1.369, 1.805, 2.324",\
                 "0.1913, 0.2073, 0.2619, 0.3638, 0.52, 0.7371, 1.022, 1.379, 1.815, 2.335",\
                 "0.2347, 0.2501, 0.3039, 0.4055, 0.5614, 0.7784, 1.063, 1.42, 1.856, 2.376",\
                 "0.2942, 0.3143, 0.3791, 0.4901, 0.6458, 0.8616, 1.145, 1.502, 1.938, 2.457",\
                 "0.3333, 0.3579, 0.439, 0.5762, 0.7639, 0.9954, 1.278, 1.633, 2.067, 2.585",\
                 "0.3484, 0.3785, 0.4765, 0.6403, 0.862, 1.137, 1.458, 1.823, 2.254, 2.771",\
                 "0.3381, 0.3733, 0.4876, 0.6796, 0.9378, 1.253, 1.622, 2.041, 2.503, 3.02",\
                 "0.302, 0.342, 0.4724, 0.6913, 0.9865, 1.345, 1.76, 2.231, 2.752, 3.322",\
                 "0.238, 0.2826, 0.4281, 0.6751, 1.007, 1.41, 1.872, 2.393, 2.972, 3.604",\
                 "0.1471, 0.1951, 0.3559, 0.6295, 0.9967, 1.443, 1.957, 2.53, 3.162, 3.854");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2748, 0.3058, 0.4143, 0.6192, 0.9376, 1.383, 1.969, 2.707, 3.608, 4.68",\
                 "0.2867, 0.3184, 0.4288, 0.6362, 0.956, 1.403, 1.989, 2.728, 3.628, 4.701",\
                 "0.3238, 0.3553, 0.4654, 0.6733, 0.995, 1.443, 2.031, 2.771, 3.672, 4.745",\
                 "0.3964, 0.4299, 0.5429, 0.7475, 1.066, 1.512, 2.099, 2.839, 3.74, 4.813",\
                 "0.5044, 0.5401, 0.6599, 0.8767, 1.194, 1.634, 2.216, 2.951, 3.85, 4.921",\
                 "0.6488, 0.6896, 0.8201, 1.047, 1.381, 1.825, 2.398, 3.126, 4.019, 5.085",\
                 "0.8222, 0.869, 1.016, 1.264, 1.611, 2.074, 2.657, 3.375, 4.258, 5.316",\
                 "1.023, 1.076, 1.244, 1.518, 1.89, 2.37, 2.974, 3.706, 4.58, 5.627",\
                 "1.25, 1.31, 1.5, 1.807, 2.213, 2.717, 3.34, 4.096, 4.987, 6.026",\
                 "1.504, 1.572, 1.784, 2.125, 2.57, 3.113, 3.76, 4.535, 5.454, 6.513");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2538, 0.2803, 0.3716, 0.5436, 0.8098, 1.182, 1.67, 2.282, 3.032, 3.924",\
                 "0.2536, 0.28, 0.3717, 0.5443, 0.8101, 1.181, 1.67, 2.282, 3.032, 3.923",\
                 "0.2548, 0.2797, 0.3688, 0.5436, 0.8099, 1.181, 1.67, 2.283, 3.032, 3.925",\
                 "0.3319, 0.3578, 0.4394, 0.5826, 0.8183, 1.181, 1.67, 2.282, 3.032, 3.925",\
                 "0.4388, 0.4678, 0.5604, 0.7216, 0.948, 1.249, 1.684, 2.283, 3.031, 3.924",\
                 "0.5758, 0.6076, 0.7134, 0.8892, 1.139, 1.458, 1.849, 2.362, 3.048, 3.924",\
                 "0.7354, 0.7746, 0.8954, 1.092, 1.36, 1.705, 2.13, 2.624, 3.227, 4.004",\
                 "0.919, 0.9648, 1.104, 1.329, 1.622, 1.99, 2.441, 2.975, 3.584, 4.289",\
                 "1.124, 1.176, 1.338, 1.593, 1.921, 2.316, 2.79, 3.353, 4.007, 4.74",\
                 "1.35, 1.41, 1.597, 1.885, 2.252, 2.685, 3.186, 3.774, 4.46, 5.235");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4522, 0.508, 0.701, 1.063, 1.621, 2.402, 3.428, 4.722, 6.302, 8.182",\
                 "0.4523, 0.5077, 0.701, 1.063, 1.621, 2.401, 3.427, 4.72, 6.301, 8.178",\
                 "0.4551, 0.5091, 0.7011, 1.063, 1.621, 2.401, 3.428, 4.719, 6.299, 8.177",\
                 "0.5144, 0.5606, 0.7287, 1.067, 1.621, 2.402, 3.428, 4.723, 6.298, 8.175",\
                 "0.6046, 0.651, 0.8176, 1.133, 1.644, 2.403, 3.429, 4.721, 6.299, 8.177",\
                 "0.7398, 0.7812, 0.9346, 1.249, 1.742, 2.452, 3.435, 4.721, 6.301, 8.183",\
                 "0.9128, 0.9526, 1.101, 1.396, 1.889, 2.584, 3.515, 4.745, 6.302, 8.176",\
                 "1.104, 1.149, 1.306, 1.596, 2.068, 2.765, 3.68, 4.853, 6.347, 8.187",\
                 "1.312, 1.361, 1.531, 1.84, 2.303, 2.977, 3.899, 5.055, 6.491, 8.264",\
                 "1.532, 1.588, 1.775, 2.111, 2.592, 3.248, 4.15, 5.316, 6.727, 8.435");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2037, 0.222, 0.2856, 0.4042, 0.5864, 0.8398, 1.172, 1.59, 2.099, 2.706",\
                 "0.2135, 0.232, 0.2955, 0.4143, 0.5964, 0.8499, 1.182, 1.6, 2.109, 2.716",\
                 "0.2545, 0.2724, 0.3353, 0.4536, 0.6356, 0.8888, 1.221, 1.638, 2.148, 2.755",\
                 "0.3211, 0.3424, 0.4136, 0.5354, 0.7152, 0.9672, 1.298, 1.715, 2.224, 2.83",\
                 "0.3702, 0.3964, 0.4829, 0.632, 0.8378, 1.095, 1.424, 1.839, 2.346, 2.952",\
                 "0.3992, 0.4304, 0.534, 0.709, 0.9492, 1.25, 1.604, 2.019, 2.523, 3.125",\
                 "0.4054, 0.4425, 0.5627, 0.7658, 1.041, 1.383, 1.787, 2.247, 2.763, 3.362",\
                 "0.3891, 0.4317, 0.5685, 0.7992, 1.112, 1.496, 1.945, 2.459, 3.034, 3.663",\
                 "0.3497, 0.3966, 0.5495, 0.8083, 1.159, 1.586, 2.083, 2.647, 3.279, 3.973",\
                 "0.2856, 0.3371, 0.5064, 0.7916, 1.179, 1.651, 2.198, 2.814, 3.499, 4.255");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2748, 0.3058, 0.4143, 0.6192, 0.9376, 1.383, 1.97, 2.707, 3.608, 4.68",\
                 "0.2873, 0.3191, 0.4295, 0.6368, 0.9564, 1.403, 1.99, 2.729, 3.629, 4.702",\
                 "0.3254, 0.3569, 0.467, 0.6754, 0.9969, 1.445, 2.033, 2.772, 3.674, 4.747",\
                 "0.3964, 0.4303, 0.5437, 0.7487, 1.067, 1.514, 2.101, 2.84, 3.742, 4.815",\
                 "0.4996, 0.5358, 0.6568, 0.8747, 1.193, 1.634, 2.217, 2.952, 3.851, 4.922",\
                 "0.6354, 0.6764, 0.8096, 1.039, 1.375, 1.821, 2.395, 3.124, 4.017, 5.085",\
                 "0.7973, 0.8445, 0.9944, 1.245, 1.597, 2.063, 2.648, 3.368, 4.252, 5.313",\
                 "0.9819, 1.036, 1.207, 1.487, 1.864, 2.348, 2.957, 3.691, 4.567, 5.617",\
                 "1.191, 1.252, 1.445, 1.758, 2.17, 2.682, 3.309, 4.07, 4.965, 6.006",\
                 "1.423, 1.493, 1.708, 2.055, 2.508, 3.059, 3.713, 4.495, 5.419, 6.483");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3066, 0.3379, 0.4457, 0.6475, 0.9594, 1.396, 1.967, 2.687, 3.566, 4.611",\
                 "0.3061, 0.3373, 0.4452, 0.6475, 0.9597, 1.396, 1.967, 2.687, 3.565, 4.612",\
                 "0.299, 0.33, 0.4403, 0.6465, 0.9593, 1.395, 1.967, 2.687, 3.565, 4.61",\
                 "0.3665, 0.3947, 0.4917, 0.6665, 0.959, 1.395, 1.966, 2.686, 3.565, 4.612",\
                 "0.471, 0.503, 0.6074, 0.7934, 1.059, 1.433, 1.97, 2.685, 3.565, 4.612",\
                 "0.609, 0.6444, 0.7588, 0.9576, 1.244, 1.617, 2.089, 2.724, 3.566, 4.611",\
                 "0.772, 0.8138, 0.9434, 1.159, 1.462, 1.861, 2.351, 2.937, 3.683, 4.642",\
                 "0.9564, 1.007, 1.157, 1.399, 1.722, 2.138, 2.658, 3.276, 3.989, 4.855",\
                 "1.165, 1.221, 1.398, 1.668, 2.026, 2.465, 3, 3.65, 4.404, 5.254",\
                 "1.393, 1.455, 1.657, 1.965, 2.361, 2.832, 3.396, 4.062, 4.85, 5.747");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.453, 0.5089, 0.702, 1.064, 1.622, 2.403, 3.428, 4.72, 6.302, 8.183",\
                 "0.4532, 0.509, 0.702, 1.065, 1.623, 2.403, 3.428, 4.719, 6.301, 8.183",\
                 "0.4559, 0.51, 0.7022, 1.064, 1.622, 2.403, 3.43, 4.724, 6.302, 8.178",\
                 "0.5149, 0.5614, 0.7296, 1.068, 1.623, 2.403, 3.43, 4.723, 6.303, 8.185",\
                 "0.6074, 0.6534, 0.8204, 1.135, 1.646, 2.404, 3.43, 4.723, 6.301, 8.182",\
                 "0.7466, 0.7878, 0.9408, 1.254, 1.746, 2.454, 3.438, 4.723, 6.302, 8.185",\
                 "0.9224, 0.9654, 1.114, 1.407, 1.898, 2.589, 3.518, 4.748, 6.304, 8.184",\
                 "1.118, 1.165, 1.323, 1.615, 2.084, 2.776, 3.688, 4.861, 6.346, 8.185",\
                 "1.328, 1.38, 1.552, 1.864, 2.328, 2.998, 3.915, 5.066, 6.497, 8.26",\
                 "1.553, 1.61, 1.8, 2.138, 2.626, 3.284, 4.175, 5.336, 6.74, 8.446");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1586, 0.1768, 0.2394, 0.3568, 0.5378, 0.7903, 1.122, 1.539, 2.048, 2.654",\
                 "0.1685, 0.1866, 0.2493, 0.3668, 0.5478, 0.8004, 1.132, 1.549, 2.058, 2.665",\
                 "0.2115, 0.2289, 0.2894, 0.4063, 0.5869, 0.8394, 1.171, 1.588, 2.097, 2.704",\
                 "0.2628, 0.2858, 0.3609, 0.4878, 0.6667, 0.9179, 1.248, 1.665, 2.173, 2.779",\
                 "0.2961, 0.3251, 0.4175, 0.5728, 0.7845, 1.046, 1.374, 1.788, 2.294, 2.899",\
                 "0.3091, 0.3438, 0.4547, 0.6387, 0.8869, 1.193, 1.553, 1.969, 2.471, 3.074",\
                 "0.3002, 0.3405, 0.4703, 0.6842, 0.9695, 1.318, 1.727, 2.193, 2.712, 3.311",\
                 "0.2693, 0.315, 0.4628, 0.7064, 1.031, 1.423, 1.88, 2.399, 2.978, 3.611",\
                 "0.2159, 0.2656, 0.4312, 0.7041, 1.067, 1.506, 2.01, 2.581, 3.217, 3.917",\
                 "0.138, 0.1941, 0.3749, 0.6775, 1.078, 1.562, 2.119, 2.741, 3.432, 4.193");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2687, 0.2997, 0.4081, 0.6126, 0.9292, 1.374, 1.958, 2.695, 3.593, 4.666",\
                 "0.2812, 0.313, 0.4234, 0.6298, 0.9491, 1.394, 1.98, 2.715, 3.614, 4.688",\
                 "0.3195, 0.3509, 0.4608, 0.6686, 0.989, 1.436, 2.023, 2.76, 3.661, 4.736",\
                 "0.3894, 0.4232, 0.5369, 0.7417, 1.059, 1.505, 2.09, 2.828, 3.728, 4.798",\
                 "0.4913, 0.5278, 0.6492, 0.8669, 1.185, 1.625, 2.206, 2.939, 3.838, 4.909",\
                 "0.6245, 0.6663, 0.8003, 1.03, 1.366, 1.811, 2.384, 3.11, 4.004, 5.067",\
                 "0.7836, 0.8315, 0.9836, 1.235, 1.587, 2.052, 2.636, 3.354, 4.237, 5.296",\
                 "0.9648, 1.02, 1.193, 1.475, 1.853, 2.336, 2.943, 3.677, 4.552, 5.601",\
                 "1.17, 1.232, 1.428, 1.743, 2.157, 2.668, 3.295, 4.055, 4.948, 5.989",\
                 "1.397, 1.467, 1.686, 2.037, 2.492, 3.043, 3.698, 4.478, 5.4, 6.465");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.255, 0.2858, 0.3935, 0.5937, 0.9053, 1.341, 1.911, 2.631, 3.508, 4.554",\
                 "0.2533, 0.2848, 0.3925, 0.5944, 0.9063, 1.341, 1.911, 2.631, 3.509, 4.555",\
                 "0.2551, 0.2839, 0.3871, 0.5928, 0.9044, 1.341, 1.911, 2.63, 3.508, 4.554",\
                 "0.3303, 0.359, 0.4546, 0.6259, 0.907, 1.339, 1.912, 2.63, 3.508, 4.555",\
                 "0.4389, 0.4698, 0.5728, 0.756, 1.022, 1.387, 1.917, 2.63, 3.507, 4.554",\
                 "0.5752, 0.612, 0.7266, 0.9228, 1.209, 1.581, 2.048, 2.677, 3.512, 4.554",\
                 "0.7342, 0.7768, 0.9112, 1.128, 1.427, 1.821, 2.314, 2.899, 3.639, 4.59",\
                 "0.9158, 0.965, 1.12, 1.367, 1.692, 2.102, 2.622, 3.239, 3.952, 4.813",\
                 "1.115, 1.173, 1.353, 1.636, 1.993, 2.432, 2.964, 3.611, 4.366, 5.218",\
                 "1.334, 1.401, 1.609, 1.93, 2.327, 2.803, 3.359, 4.024, 4.819, 5.71");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3473, 0.401, 0.5872, 0.9454, 1.5, 2.283, 3.309, 4.605, 6.177, 8.063",\
                 "0.3477, 0.4009, 0.5876, 0.9452, 1.503, 2.281, 3.308, 4.605, 6.186, 8.07",\
                 "0.35, 0.4015, 0.5883, 0.9458, 1.5, 2.279, 3.314, 4.604, 6.178, 8.07",\
                 "0.4036, 0.4512, 0.6155, 0.9486, 1.503, 2.282, 3.306, 4.6, 6.179, 8.068",\
                 "0.4798, 0.5278, 0.6978, 1.015, 1.526, 2.28, 3.308, 4.605, 6.183, 8.074",\
                 "0.5994, 0.6446, 0.8062, 1.127, 1.623, 2.334, 3.313, 4.606, 6.183, 8.061",\
                 "0.7446, 0.7952, 0.9622, 1.27, 1.766, 2.465, 3.395, 4.625, 6.189, 8.069",\
                 "0.9068, 0.964, 1.147, 1.467, 1.948, 2.645, 3.563, 4.74, 6.23, 8.063",\
                 "1.082, 1.145, 1.351, 1.697, 2.181, 2.861, 3.785, 4.94, 6.374, 8.147",\
                 "1.268, 1.339, 1.57, 1.949, 2.47, 3.138, 4.04, 5.206, 6.615, 8.325");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&!B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1434, 0.1591, 0.2129, 0.3136, 0.4686, 0.6848, 0.9684, 1.326, 1.761, 2.281",\
                 "0.1539, 0.1696, 0.2234, 0.3242, 0.4792, 0.6955, 0.9791, 1.336, 1.772, 2.291",\
                 "0.1971, 0.2129, 0.2657, 0.3659, 0.5206, 0.7368, 1.02, 1.377, 1.813, 2.332",\
                 "0.2412, 0.2626, 0.3319, 0.4477, 0.6054, 0.8201, 1.103, 1.459, 1.894, 2.413",\
                 "0.2646, 0.2918, 0.3787, 0.5224, 0.716, 0.9529, 1.236, 1.591, 2.024, 2.542",\
                 "0.2647, 0.2976, 0.4028, 0.5753, 0.8049, 1.086, 1.412, 1.78, 2.212, 2.726",\
                 "0.2394, 0.2779, 0.4014, 0.6039, 0.8711, 1.194, 1.569, 1.992, 2.459, 2.977",\
                 "0.1886, 0.2322, 0.3731, 0.6046, 0.9109, 1.278, 1.7, 2.176, 2.703, 3.276",\
                 "0.1118, 0.1607, 0.3177, 0.5775, 0.9218, 1.335, 1.806, 2.334, 2.917, 3.553",\
                 "0.0067, 0.0609, 0.2338, 0.5203, 0.902, 1.361, 1.884, 2.465, 3.102, 3.797");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2686, 0.2998, 0.4081, 0.6123, 0.9293, 1.374, 1.959, 2.696, 3.592, 4.664",\
                 "0.2804, 0.3123, 0.4227, 0.6293, 0.9483, 1.393, 1.979, 2.715, 3.615, 4.685",\
                 "0.3179, 0.3491, 0.4588, 0.6668, 0.9875, 1.434, 2.022, 2.758, 3.659, 4.729",\
                 "0.3892, 0.4228, 0.536, 0.7403, 1.057, 1.503, 2.089, 2.827, 3.725, 4.797",\
                 "0.4964, 0.5323, 0.6522, 0.8689, 1.185, 1.624, 2.205, 2.939, 3.836, 4.908",\
                 "0.6384, 0.6794, 0.8112, 1.038, 1.372, 1.815, 2.387, 3.113, 4.004, 5.068",\
                 "0.8092, 0.8565, 1.005, 1.253, 1.601, 2.064, 2.645, 3.361, 4.242, 5.3",\
                 "1.006, 1.06, 1.23, 1.506, 1.879, 2.358, 2.961, 3.692, 4.564, 5.61",\
                 "1.229, 1.29, 1.483, 1.792, 2.2, 2.704, 3.326, 4.08, 4.971, 6.008",\
                 "1.479, 1.548, 1.764, 2.108, 2.555, 3.098, 3.744, 4.519, 5.436, 6.495");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.212, 0.238, 0.3288, 0.4997, 0.7636, 1.134, 1.623, 2.235, 2.984, 3.876",\
                 "0.211, 0.2374, 0.3282, 0.4994, 0.7647, 1.136, 1.623, 2.235, 2.984, 3.877",\
                 "0.2239, 0.2459, 0.3286, 0.4982, 0.764, 1.135, 1.623, 2.235, 2.984, 3.876",\
                 "0.3035, 0.3293, 0.4108, 0.5533, 0.7799, 1.135, 1.623, 2.235, 2.984, 3.876",\
                 "0.4132, 0.4413, 0.532, 0.691, 0.9188, 1.216, 1.645, 2.236, 2.984, 3.876",\
                 "0.5472, 0.5808, 0.6858, 0.8614, 1.108, 1.429, 1.819, 2.326, 3.004, 3.877",\
                 "0.7046, 0.7436, 0.8684, 1.065, 1.333, 1.677, 2.099, 2.593, 3.192, 3.962",\
                 "0.8812, 0.9292, 1.075, 1.302, 1.595, 1.96, 2.409, 2.943, 3.557, 4.257",\
                 "1.08, 1.137, 1.304, 1.567, 1.893, 2.287, 2.761, 3.323, 3.975, 4.709",\
                 "1.302, 1.372, 1.558, 1.852, 2.223, 2.655, 3.156, 3.745, 4.427, 5.203");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3473, 0.4009, 0.5881, 0.9452, 1.5, 2.28, 3.308, 4.598, 6.184, 8.059",\
                 "0.3472, 0.401, 0.5876, 0.9458, 1.502, 2.283, 3.309, 4.604, 6.178, 8.062",\
                 "0.3501, 0.4025, 0.5885, 0.9454, 1.502, 2.279, 3.31, 4.599, 6.181, 8.064",\
                 "0.4045, 0.4512, 0.6155, 0.9483, 1.501, 2.284, 3.31, 4.599, 6.178, 8.058",\
                 "0.4778, 0.5254, 0.6954, 1.015, 1.523, 2.28, 3.312, 4.601, 6.176, 8.073",\
                 "0.5942, 0.6402, 0.8006, 1.121, 1.621, 2.334, 3.314, 4.602, 6.177, 8.061",\
                 "0.738, 0.7862, 0.9534, 1.261, 1.759, 2.461, 3.395, 4.619, 6.189, 8.064",\
                 "0.8964, 0.9534, 1.134, 1.448, 1.932, 2.634, 3.557, 4.738, 6.229, 8.075",\
                 "1.069, 1.133, 1.334, 1.675, 2.158, 2.845, 3.773, 4.932, 6.366, 8.145",\
                 "1.255, 1.326, 1.551, 1.921, 2.435, 3.106, 4.015, 5.187, 6.603, 8.319");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1726, 0.1884, 0.243, 0.3444, 0.4999, 0.7161, 0.9994, 1.355, 1.789, 2.307",\
                 "0.1835, 0.1994, 0.2539, 0.3555, 0.511, 0.7272, 1.01, 1.366, 1.8, 2.318",\
                 "0.2293, 0.2442, 0.2971, 0.3982, 0.5534, 0.7695, 1.053, 1.408, 1.843, 2.359",\
                 "0.2903, 0.3101, 0.3745, 0.4846, 0.6389, 0.8536, 1.136, 1.491, 1.924, 2.441",\
                 "0.3299, 0.355, 0.4352, 0.5715, 0.7589, 0.9892, 1.27, 1.623, 2.056, 2.571",\
                 "0.3456, 0.3755, 0.4731, 0.6363, 0.8578, 1.132, 1.452, 1.815, 2.244, 2.758",\
                 "0.3366, 0.3708, 0.485, 0.6762, 0.9336, 1.248, 1.617, 2.034, 2.495, 3.01",\
                 "0.2993, 0.3396, 0.4704, 0.6891, 0.9832, 1.341, 1.756, 2.225, 2.746, 3.314",\
                 "0.2365, 0.2812, 0.4274, 0.6726, 1.004, 1.406, 1.869, 2.389, 2.966, 3.597",\
                 "0.1454, 0.195, 0.3545, 0.6266, 0.9948, 1.441, 1.953, 2.526, 3.158, 3.848");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2739, 0.3053, 0.4134, 0.6186, 0.9365, 1.382, 1.968, 2.707, 3.607, 4.68",\
                 "0.2857, 0.3173, 0.4277, 0.6351, 0.9547, 1.401, 1.988, 2.727, 3.627, 4.7",\
                 "0.3237, 0.3552, 0.4652, 0.6732, 0.9945, 1.443, 2.031, 2.77, 3.672, 4.745",\
                 "0.3967, 0.4304, 0.5433, 0.7474, 1.066, 1.512, 2.099, 2.838, 3.74, 4.813",\
                 "0.5047, 0.5405, 0.6603, 0.877, 1.194, 1.634, 2.216, 2.951, 3.85, 4.921",\
                 "0.6487, 0.6894, 0.8201, 1.047, 1.381, 1.825, 2.399, 3.126, 4.018, 5.085",\
                 "0.8218, 0.8682, 1.017, 1.264, 1.611, 2.075, 2.657, 3.376, 4.258, 5.316",\
                 "1.022, 1.076, 1.244, 1.518, 1.89, 2.37, 2.975, 3.706, 4.58, 5.627",\
                 "1.249, 1.31, 1.499, 1.806, 2.212, 2.717, 3.34, 4.096, 4.987, 6.027",\
                 "1.504, 1.572, 1.783, 2.124, 2.57, 3.113, 3.76, 4.535, 5.453, 6.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2546, 0.2814, 0.3734, 0.546, 0.8111, 1.181, 1.669, 2.28, 3.025, 3.915",\
                 "0.2537, 0.2804, 0.3735, 0.5463, 0.811, 1.182, 1.669, 2.279, 3.026, 3.916",\
                 "0.2517, 0.2765, 0.3674, 0.5439, 0.8113, 1.182, 1.669, 2.279, 3.026, 3.916",\
                 "0.3303, 0.3551, 0.4376, 0.5812, 0.8174, 1.182, 1.668, 2.279, 3.026, 3.916",\
                 "0.4383, 0.468, 0.5594, 0.7196, 0.9454, 1.248, 1.683, 2.28, 3.025, 3.914",\
                 "0.576, 0.6084, 0.7124, 0.888, 1.138, 1.458, 1.847, 2.358, 3.041, 3.915",\
                 "0.7366, 0.7742, 0.8962, 1.092, 1.359, 1.706, 2.127, 2.62, 3.222, 3.995",\
                 "0.9186, 0.9652, 1.108, 1.33, 1.622, 1.989, 2.438, 2.972, 3.58, 4.281",\
                 "1.124, 1.177, 1.339, 1.595, 1.921, 2.315, 2.79, 3.351, 4.002, 4.732",\
                 "1.351, 1.412, 1.597, 1.886, 2.252, 2.685, 3.185, 3.772, 4.456, 5.231");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.453, 0.5089, 0.702, 1.064, 1.623, 2.403, 3.429, 4.722, 6.295, 8.18",\
                 "0.4532, 0.5086, 0.702, 1.064, 1.622, 2.403, 3.428, 4.719, 6.298, 8.184",\
                 "0.456, 0.5101, 0.7021, 1.064, 1.622, 2.403, 3.428, 4.723, 6.298, 8.182",\
                 "0.515, 0.5617, 0.7295, 1.069, 1.622, 2.403, 3.43, 4.723, 6.301, 8.179",\
                 "0.6048, 0.6518, 0.8186, 1.134, 1.646, 2.404, 3.429, 4.722, 6.303, 8.185",\
                 "0.74, 0.7816, 0.9346, 1.252, 1.744, 2.453, 3.438, 4.722, 6.3, 8.184",\
                 "0.9122, 0.9548, 1.1, 1.398, 1.89, 2.585, 3.517, 4.745, 6.302, 8.178",\
                 "1.105, 1.15, 1.305, 1.598, 2.069, 2.766, 3.681, 4.857, 6.349, 8.19",\
                 "1.312, 1.362, 1.531, 1.843, 2.306, 2.979, 3.905, 5.057, 6.493, 8.264",\
                 "1.536, 1.588, 1.776, 2.11, 2.589, 3.248, 4.152, 5.317, 6.731, 8.436");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1353, 0.1508, 0.2043, 0.3046, 0.459, 0.6743, 0.9568, 1.312, 1.746, 2.263",\
                 "0.1464, 0.1619, 0.2153, 0.3156, 0.47, 0.6853, 0.9678, 1.323, 1.757, 2.274",\
                 "0.192, 0.2078, 0.2594, 0.3584, 0.5124, 0.7276, 1.01, 1.365, 1.799, 2.315",\
                 "0.237, 0.2586, 0.3272, 0.4422, 0.5984, 0.812, 1.093, 1.448, 1.881, 2.397",\
                 "0.2611, 0.2879, 0.3747, 0.518, 0.7107, 0.9464, 1.228, 1.581, 2.012, 2.527",\
                 "0.2614, 0.2943, 0.3987, 0.5717, 0.8006, 1.08, 1.406, 1.772, 2.201, 2.714",\
                 "0.2364, 0.2749, 0.3981, 0.6, 0.8676, 1.189, 1.563, 1.985, 2.451, 2.966",\
                 "0.1857, 0.2294, 0.3696, 0.601, 0.9073, 1.274, 1.696, 2.171, 2.696, 3.267",\
                 "0.1091, 0.1577, 0.3144, 0.5741, 0.9183, 1.331, 1.802, 2.328, 2.91, 3.545",\
                 "0.0042, 0.0583, 0.2313, 0.5172, 0.8988, 1.357, 1.879, 2.46, 3.096, 3.792");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2679, 0.2989, 0.4073, 0.6117, 0.9289, 1.373, 1.958, 2.695, 3.596, 4.662",\
                 "0.2795, 0.3113, 0.4216, 0.6281, 0.9469, 1.392, 1.978, 2.713, 3.614, 4.687",\
                 "0.3178, 0.349, 0.4584, 0.6665, 0.9863, 1.434, 2.021, 2.758, 3.658, 4.731",\
                 "0.3895, 0.4232, 0.5363, 0.7404, 1.058, 1.503, 2.089, 2.827, 3.728, 4.798",\
                 "0.4962, 0.5322, 0.6524, 0.8692, 1.186, 1.625, 2.205, 2.938, 3.837, 4.908",\
                 "0.638, 0.6793, 0.8113, 1.038, 1.372, 1.815, 2.387, 3.113, 4.004, 5.07",\
                 "0.8083, 0.8557, 1.005, 1.253, 1.601, 2.064, 2.645, 3.362, 4.243, 5.301",\
                 "1.005, 1.059, 1.229, 1.506, 1.879, 2.358, 2.961, 3.692, 4.564, 5.61",\
                 "1.228, 1.29, 1.482, 1.791, 2.199, 2.704, 3.326, 4.081, 4.97, 6.008",\
                 "1.479, 1.547, 1.762, 2.107, 2.554, 3.098, 3.745, 4.519, 5.437, 6.495");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2104, 0.237, 0.3289, 0.5004, 0.7652, 1.136, 1.622, 2.233, 2.978, 3.867",\
                 "0.2082, 0.2353, 0.3282, 0.5011, 0.7649, 1.134, 1.622, 2.232, 2.978, 3.866",\
                 "0.2203, 0.2422, 0.3256, 0.4972, 0.7649, 1.135, 1.621, 2.232, 2.978, 3.867",\
                 "0.3022, 0.3269, 0.4084, 0.5509, 0.7777, 1.134, 1.621, 2.231, 2.978, 3.866",\
                 "0.4121, 0.44, 0.5318, 0.6892, 0.916, 1.214, 1.64, 2.233, 2.978, 3.866",\
                 "0.5472, 0.5814, 0.6852, 0.8592, 1.107, 1.427, 1.816, 2.321, 2.997, 3.866",\
                 "0.7052, 0.744, 0.8694, 1.065, 1.332, 1.675, 2.097, 2.591, 3.186, 3.953",\
                 "0.8832, 0.9294, 1.075, 1.3, 1.594, 1.959, 2.407, 2.942, 3.551, 4.248",\
                 "1.081, 1.136, 1.306, 1.564, 1.893, 2.289, 2.759, 3.321, 3.971, 4.702",\
                 "1.304, 1.367, 1.559, 1.853, 2.223, 2.657, 3.157, 3.742, 4.427, 5.199");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.347, 0.4008, 0.5876, 0.9462, 1.501, 2.279, 3.307, 4.599, 6.182, 8.068",\
                 "0.3477, 0.401, 0.5876, 0.9458, 1.502, 2.282, 3.308, 4.604, 6.176, 8.063",\
                 "0.3501, 0.4025, 0.5886, 0.9452, 1.501, 2.279, 3.306, 4.599, 6.178, 8.054",\
                 "0.4036, 0.4511, 0.6155, 0.9488, 1.502, 2.28, 3.307, 4.601, 6.186, 8.061",\
                 "0.4766, 0.5246, 0.695, 1.014, 1.526, 2.284, 3.309, 4.601, 6.18, 8.07",\
                 "0.5928, 0.6394, 0.7998, 1.121, 1.621, 2.331, 3.317, 4.606, 6.177, 8.062",\
                 "0.7354, 0.7888, 0.9502, 1.26, 1.762, 2.461, 3.394, 4.625, 6.178, 8.065",\
                 "0.8972, 0.952, 1.134, 1.45, 1.932, 2.634, 3.557, 4.733, 6.231, 8.075",\
                 "1.067, 1.132, 1.333, 1.676, 2.157, 2.843, 3.772, 4.931, 6.369, 8.143",\
                 "1.255, 1.322, 1.552, 1.922, 2.438, 3.106, 4.016, 5.186, 6.605, 8.313");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "B1===1'b1 && B2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "B1&B2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1208, 0.1338, 0.1783, 0.2615, 0.3893, 0.5674, 0.8011, 1.095, 1.454, 1.881",\
                 "0.1326, 0.1455, 0.1901, 0.2733, 0.4011, 0.5792, 0.813, 1.107, 1.466, 1.893",\
                 "0.1771, 0.1913, 0.2368, 0.3192, 0.4467, 0.6247, 0.8584, 1.152, 1.511, 1.938",\
                 "0.2143, 0.234, 0.2968, 0.4007, 0.5382, 0.7156, 0.9484, 1.242, 1.6, 2.027",\
                 "0.2273, 0.2527, 0.3337, 0.4652, 0.6397, 0.8506, 1.093, 1.385, 1.741, 2.167",\
                 "0.2135, 0.2444, 0.3432, 0.5036, 0.7148, 0.9685, 1.26, 1.584, 1.945, 2.369",\
                 "0.1707, 0.2072, 0.3239, 0.5135, 0.7624, 1.059, 1.398, 1.777, 2.191, 2.636",\
                 "0.0993, 0.1408, 0.2733, 0.4917, 0.7794, 1.12, 1.507, 1.937, 2.41, 2.919",\
                 "-0.0027, 0.044, 0.1929, 0.4379, 0.7619, 1.148, 1.585, 2.068, 2.595, 3.166",\
                 "-0.1382, -0.0854, 0.0796, 0.3502, 0.7109, 1.141, 1.628, 2.166, 2.749, 3.379");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2677, 0.2989, 0.4072, 0.6117, 0.9285, 1.373, 1.958, 2.695, 3.592, 4.663",\
                 "0.2786, 0.3104, 0.4207, 0.6272, 0.9463, 1.391, 1.977, 2.713, 3.613, 4.683",\
                 "0.3162, 0.3472, 0.4564, 0.6642, 0.9845, 1.431, 2.018, 2.755, 3.655, 4.728",\
                 "0.3894, 0.423, 0.5354, 0.7389, 1.056, 1.501, 2.086, 2.825, 3.722, 4.794",\
                 "0.502, 0.5376, 0.6562, 0.8711, 1.187, 1.624, 2.204, 2.937, 3.835, 4.905",\
                 "0.654, 0.6945, 0.8234, 1.048, 1.379, 1.82, 2.39, 3.115, 4.005, 5.069",\
                 "0.8372, 0.8835, 1.03, 1.274, 1.618, 2.077, 2.655, 3.37, 4.249, 5.306",\
                 "1.049, 1.103, 1.27, 1.541, 1.909, 2.383, 2.982, 3.71, 4.579, 5.624",\
                 "1.293, 1.353, 1.542, 1.846, 2.246, 2.744, 3.361, 4.11, 4.997, 6.03",\
                 "1.568, 1.635, 1.847, 2.184, 2.623, 3.158, 3.797, 4.566, 5.478, 6.532");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1693, 0.1906, 0.265, 0.4051, 0.6219, 0.9262, 1.326, 1.829, 2.442, 3.174",\
                 "0.1682, 0.1898, 0.2643, 0.405, 0.622, 0.9257, 1.325, 1.829, 2.441, 3.173",\
                 "0.1937, 0.2101, 0.2718, 0.4036, 0.6215, 0.9251, 1.325, 1.829, 2.442, 3.174",\
                 "0.2765, 0.298, 0.3667, 0.4837, 0.6556, 0.9298, 1.326, 1.829, 2.442, 3.173",\
                 "0.3849, 0.4112, 0.4903, 0.6264, 0.8158, 1.053, 1.377, 1.836, 2.442, 3.174",\
                 "0.5162, 0.5468, 0.6426, 0.7984, 1.009, 1.279, 1.599, 1.986, 2.505, 3.186",\
                 "0.669, 0.7066, 0.8202, 0.9982, 1.234, 1.529, 1.885, 2.298, 2.765, 3.348",\
                 "0.8464, 0.8916, 1.021, 1.229, 1.494, 1.817, 2.199, 2.65, 3.16, 3.722",\
                 "1.047, 1.097, 1.25, 1.488, 1.787, 2.141, 2.553, 3.034, 3.583, 4.198",\
                 "1.267, 1.327, 1.502, 1.776, 2.111, 2.501, 2.951, 3.459, 4.04, 4.696");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3471, 0.401, 0.5876, 0.9457, 1.502, 2.28, 3.304, 4.599, 6.182, 8.068",\
                 "0.3477, 0.401, 0.5876, 0.9458, 1.502, 2.282, 3.308, 4.603, 6.178, 8.062",\
                 "0.3503, 0.4026, 0.5886, 0.9451, 1.503, 2.28, 3.31, 4.605, 6.182, 8.062",\
                 "0.4044, 0.4512, 0.616, 0.9492, 1.503, 2.283, 3.308, 4.604, 6.179, 8.065",\
                 "0.4752, 0.523, 0.6938, 1.014, 1.524, 2.283, 3.31, 4.604, 6.182, 8.063",\
                 "0.587, 0.633, 0.794, 1.117, 1.618, 2.33, 3.316, 4.606, 6.185, 8.073",\
                 "0.7266, 0.7762, 0.94, 1.248, 1.752, 2.456, 3.396, 4.626, 6.188, 8.066",\
                 "0.8826, 0.9368, 1.117, 1.429, 1.916, 2.629, 3.55, 4.73, 6.229, 8.059",\
                 "1.054, 1.117, 1.314, 1.65, 2.129, 2.819, 3.756, 4.922, 6.363, 8.132",\
                 "1.238, 1.305, 1.526, 1.894, 2.398, 3.069, 3.989, 5.175, 6.59, 8.306");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2502, 0.2687, 0.3328, 0.4519, 0.6349, 0.8891, 1.222, 1.64, 2.15, 2.758",\
                 "0.2599, 0.2785, 0.3425, 0.462, 0.6449, 0.8992, 1.232, 1.65, 2.16, 2.768",\
                 "0.2999, 0.3183, 0.3823, 0.5013, 0.6841, 0.9381, 1.271, 1.689, 2.199, 2.806",\
                 "0.3757, 0.396, 0.4637, 0.5824, 0.7635, 1.016, 1.348, 1.766, 2.275, 2.882",\
                 "0.438, 0.463, 0.5457, 0.6892, 0.8893, 1.144, 1.473, 1.889, 2.396, 3.002",\
                 "0.4818, 0.511, 0.6078, 0.776, 1.01, 1.305, 1.655, 2.069, 2.573, 3.176",\
                 "0.5028, 0.5371, 0.6491, 0.8434, 1.111, 1.446, 1.844, 2.3, 2.813, 3.413",\
                 "0.5008, 0.5387, 0.668, 0.8882, 1.191, 1.566, 2.009, 2.519, 3.089, 3.714",\
                 "0.4736, 0.517, 0.6618, 0.9078, 1.246, 1.664, 2.154, 2.712, 3.339, 4.029",\
                 "0.4224, 0.4693, 0.6295, 0.9024, 1.276, 1.737, 2.275, 2.884, 3.565, 4.316");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2677, 0.2989, 0.4072, 0.6117, 0.9285, 1.373, 1.958, 2.695, 3.592, 4.663",\
                 "0.2786, 0.3104, 0.4207, 0.6272, 0.9463, 1.391, 1.977, 2.713, 3.613, 4.683",\
                 "0.3162, 0.3472, 0.4564, 0.6642, 0.9845, 1.431, 2.018, 2.755, 3.655, 4.728",\
                 "0.3894, 0.423, 0.5354, 0.7389, 1.056, 1.501, 2.086, 2.825, 3.722, 4.794",\
                 "0.502, 0.5376, 0.6562, 0.8711, 1.187, 1.624, 2.204, 2.937, 3.835, 4.905",\
                 "0.654, 0.6945, 0.8234, 1.048, 1.379, 1.82, 2.39, 3.115, 4.005, 5.069",\
                 "0.8372, 0.8835, 1.03, 1.274, 1.618, 2.077, 2.655, 3.37, 4.249, 5.306",\
                 "1.049, 1.103, 1.27, 1.541, 1.909, 2.383, 2.982, 3.71, 4.579, 5.624",\
                 "1.293, 1.353, 1.542, 1.846, 2.246, 2.744, 3.361, 4.11, 4.997, 6.03",\
                 "1.568, 1.635, 1.847, 2.184, 2.623, 3.158, 3.797, 4.566, 5.478, 6.532");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3565, 0.3876, 0.4969, 0.6997, 1.013, 1.45, 2.022, 2.742, 3.621, 4.667",\
                 "0.3558, 0.3878, 0.4964, 0.7002, 1.013, 1.45, 2.022, 2.742, 3.621, 4.668",\
                 "0.3483, 0.381, 0.4938, 0.6997, 1.013, 1.45, 2.022, 2.742, 3.621, 4.667",\
                 "0.4024, 0.4321, 0.5287, 0.7094, 1.011, 1.45, 2.022, 2.742, 3.62, 4.668",\
                 "0.5062, 0.5382, 0.644, 0.8304, 1.096, 1.477, 2.022, 2.742, 3.621, 4.668",\
                 "0.6428, 0.6798, 0.7952, 0.9936, 1.282, 1.654, 2.129, 2.774, 3.621, 4.668",\
                 "0.81, 0.8502, 0.9792, 1.195, 1.5, 1.897, 2.389, 2.975, 3.729, 4.694",\
                 "1.003, 1.047, 1.193, 1.433, 1.757, 2.176, 2.695, 3.313, 4.027, 4.898",\
                 "1.215, 1.269, 1.435, 1.707, 2.062, 2.498, 3.038, 3.688, 4.441, 5.292",\
                 "1.448, 1.509, 1.702, 2.006, 2.395, 2.865, 3.431, 4.1, 4.887, 5.786");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5746, 0.6303, 0.8232, 1.186, 1.744, 2.525, 3.551, 4.842, 6.425, 8.301",\
                 "0.5747, 0.6303, 0.8229, 1.186, 1.744, 2.525, 3.551, 4.845, 6.423, 8.3",\
                 "0.5774, 0.6316, 0.8229, 1.186, 1.744, 2.525, 3.551, 4.845, 6.425, 8.302",\
                 "0.6362, 0.682, 0.8505, 1.19, 1.745, 2.526, 3.552, 4.845, 6.421, 8.302",\
                 "0.7426, 0.7874, 0.9462, 1.256, 1.767, 2.527, 3.553, 4.847, 6.427, 8.302",\
                 "0.8966, 0.9328, 1.077, 1.382, 1.868, 2.576, 3.56, 4.846, 6.424, 8.302",\
                 "1.093, 1.128, 1.262, 1.545, 2.026, 2.712, 3.642, 4.868, 6.424, 8.308",\
                 "1.314, 1.352, 1.49, 1.764, 2.221, 2.905, 3.812, 4.984, 6.469, 8.312",\
                 "1.554, 1.595, 1.743, 2.028, 2.472, 3.134, 4.046, 5.189, 6.619, 8.385",\
                 "1.811, 1.855, 2.015, 2.321, 2.78, 3.427, 4.311, 5.463, 6.866, 8.571");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2807, 0.2991, 0.3626, 0.4814, 0.6637, 0.9172, 1.249, 1.667, 2.177, 2.783",\
                 "0.2938, 0.3123, 0.3762, 0.4954, 0.6777, 0.9315, 1.264, 1.682, 2.191, 2.797",\
                 "0.3246, 0.3433, 0.4074, 0.5271, 0.71, 0.9642, 1.297, 1.715, 2.224, 2.831",\
                 "0.3656, 0.3864, 0.4555, 0.5787, 0.7616, 1.016, 1.348, 1.766, 2.276, 2.883",\
                 "0.3954, 0.4193, 0.4991, 0.6385, 0.8375, 1.098, 1.43, 1.847, 2.356, 2.963",\
                 "0.3998, 0.429, 0.5239, 0.6855, 0.909, 1.194, 1.545, 1.965, 2.473, 3.078",\
                 "0.3701, 0.4044, 0.5172, 0.707, 0.9634, 1.28, 1.661, 2.109, 2.629, 3.234",\
                 "0.3022, 0.3421, 0.4733, 0.6931, 0.9876, 1.346, 1.763, 2.246, 2.8, 3.429",\
                 "0.1953, 0.2399, 0.3887, 0.6389, 0.9739, 1.378, 1.844, 2.368, 2.96, 3.626",\
                 "0.047, 0.0978, 0.262, 0.5423, 0.9186, 1.371, 1.889, 2.466, 3.103, 3.81");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3873, 0.4188, 0.5284, 0.7356, 1.056, 1.505, 2.094, 2.834, 3.737, 4.812",\
                 "0.3987, 0.4303, 0.5407, 0.7486, 1.07, 1.518, 2.108, 2.849, 3.752, 4.826",\
                 "0.4493, 0.4808, 0.5908, 0.7992, 1.121, 1.57, 2.16, 2.901, 3.804, 4.879",\
                 "0.5701, 0.6004, 0.7076, 0.9118, 1.231, 1.677, 2.266, 3.006, 3.909, 4.983",\
                 "0.7524, 0.7872, 0.9028, 1.107, 1.42, 1.86, 2.444, 3.18, 4.08, 5.152",\
                 "0.9737, 1.012, 1.142, 1.373, 1.7, 2.134, 2.708, 3.438, 4.332, 5.399",\
                 "1.242, 1.284, 1.426, 1.679, 2.041, 2.503, 3.074, 3.793, 4.678, 5.738",\
                 "1.555, 1.603, 1.761, 2.034, 2.425, 2.931, 3.539, 4.258, 5.132, 6.182",\
                 "1.914, 1.967, 2.144, 2.444, 2.863, 3.403, 4.062, 4.827, 5.703, 6.74",\
                 "2.32, 2.379, 2.574, 2.907, 3.359, 3.932, 4.632, 5.452, 6.381, 7.425");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3075, 0.3378, 0.4451, 0.6482, 0.959, 1.396, 1.968, 2.687, 3.566, 4.61",\
                 "0.3076, 0.3386, 0.4462, 0.6478, 0.9595, 1.396, 1.967, 2.687, 3.564, 4.609",\
                 "0.3083, 0.3388, 0.4459, 0.6479, 0.959, 1.396, 1.967, 2.687, 3.565, 4.611",\
                 "0.3574, 0.3859, 0.4815, 0.6639, 0.9628, 1.395, 1.967, 2.687, 3.564, 4.612",\
                 "0.448, 0.4754, 0.5726, 0.7542, 1.028, 1.423, 1.971, 2.686, 3.564, 4.612",\
                 "0.583, 0.6124, 0.7094, 0.8892, 1.164, 1.548, 2.052, 2.719, 3.569, 4.612",\
                 "0.7476, 0.7812, 0.8882, 1.075, 1.348, 1.728, 2.228, 2.857, 3.651, 4.642",\
                 "0.9334, 0.9716, 1.094, 1.299, 1.587, 1.964, 2.461, 3.087, 3.852, 4.781",\
                 "1.141, 1.183, 1.322, 1.553, 1.865, 2.256, 2.753, 3.372, 4.134, 5.048",\
                 "1.362, 1.41, 1.566, 1.827, 2.171, 2.596, 3.104, 3.722, 4.476, 5.384");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7848, 0.8393, 1.03, 1.391, 1.95, 2.733, 3.762, 5.055, 6.635, 8.515",\
                 "0.7848, 0.8392, 1.03, 1.391, 1.95, 2.733, 3.761, 5.055, 6.633, 8.515",\
                 "0.7843, 0.8391, 1.029, 1.391, 1.951, 2.733, 3.761, 5.054, 6.635, 8.513",\
                 "0.8057, 0.8547, 1.033, 1.39, 1.95, 2.733, 3.762, 5.054, 6.633, 8.515",\
                 "0.921, 0.9648, 1.12, 1.431, 1.954, 2.733, 3.762, 5.057, 6.635, 8.516",\
                 "1.066, 1.115, 1.282, 1.584, 2.051, 2.757, 3.762, 5.055, 6.635, 8.516",\
                 "1.235, 1.285, 1.457, 1.785, 2.261, 2.911, 3.821, 5.062, 6.635, 8.516",\
                 "1.441, 1.491, 1.665, 1.995, 2.508, 3.177, 4.03, 5.165, 6.654, 8.518",\
                 "1.676, 1.728, 1.905, 2.242, 2.761, 3.482, 4.356, 5.429, 6.807, 8.557",\
                 "1.933, 1.988, 2.178, 2.526, 3.051, 3.784, 4.717, 5.817, 7.128, 8.762");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2356, 0.2537, 0.3164, 0.434, 0.615, 0.8675, 1.199, 1.616, 2.126, 2.732",\
                 "0.2484, 0.2667, 0.3299, 0.4478, 0.6291, 0.8819, 1.214, 1.631, 2.14, 2.747",\
                 "0.2785, 0.2971, 0.3607, 0.4793, 0.6611, 0.9144, 1.246, 1.664, 2.173, 2.78",\
                 "0.3114, 0.3329, 0.4041, 0.5298, 0.7127, 0.966, 1.298, 1.715, 2.225, 2.831",\
                 "0.3284, 0.3544, 0.439, 0.5828, 0.7852, 1.048, 1.38, 1.796, 2.305, 2.911",\
                 "0.3168, 0.3486, 0.4511, 0.6212, 0.8503, 1.14, 1.493, 1.914, 2.421, 3.027",\
                 "0.2693, 0.3074, 0.4297, 0.6306, 0.8967, 1.22, 1.605, 2.055, 2.578, 3.183",\
                 "0.185, 0.2289, 0.3706, 0.6036, 0.9108, 1.278, 1.702, 2.189, 2.745, 3.376",\
                 "0.0623, 0.1115, 0.2717, 0.5368, 0.8863, 1.302, 1.776, 2.307, 2.902, 3.57",\
                 "-0.1025, -0.0468, 0.1317, 0.4278, 0.8196, 1.286, 1.814, 2.398, 3.041, 3.752");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3793, 0.4107, 0.5202, 0.727, 1.047, 1.494, 2.081, 2.819, 3.72, 4.793",\
                 "0.3905, 0.4222, 0.5325, 0.74, 1.06, 1.507, 2.095, 2.833, 3.735, 4.807",\
                 "0.4409, 0.473, 0.5827, 0.7905, 1.111, 1.559, 2.147, 2.886, 3.787, 4.86",\
                 "0.5618, 0.5925, 0.6994, 0.903, 1.221, 1.667, 2.253, 2.991, 3.891, 4.964",\
                 "0.7421, 0.7771, 0.8938, 1.099, 1.41, 1.849, 2.431, 3.165, 4.062, 5.134",\
                 "0.9613, 1, 1.131, 1.362, 1.69, 2.122, 2.696, 3.423, 4.314, 5.38",\
                 "1.226, 1.269, 1.412, 1.666, 2.029, 2.491, 3.061, 3.778, 4.661, 5.719",\
                 "1.536, 1.585, 1.744, 2.02, 2.411, 2.917, 3.525, 4.243, 5.116, 6.162",\
                 "1.89, 1.944, 2.123, 2.427, 2.846, 3.387, 4.045, 4.81, 5.686, 6.722",\
                 "2.29, 2.351, 2.549, 2.885, 3.34, 3.913, 4.613, 5.433, 6.362, 7.405");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2572, 0.288, 0.3933, 0.5942, 0.9063, 1.341, 1.912, 2.631, 3.508, 4.553",\
                 "0.2573, 0.2877, 0.3941, 0.5944, 0.9054, 1.341, 1.911, 2.631, 3.508, 4.554",\
                 "0.2619, 0.2905, 0.3941, 0.5948, 0.9063, 1.341, 1.911, 2.631, 3.508, 4.554",\
                 "0.3196, 0.3468, 0.442, 0.6187, 0.9109, 1.341, 1.911, 2.63, 3.508, 4.556",\
                 "0.4162, 0.4436, 0.537, 0.7144, 0.9866, 1.376, 1.919, 2.63, 3.507, 4.555",\
                 "0.5576, 0.5848, 0.68, 0.855, 1.125, 1.505, 2.005, 2.668, 3.514, 4.554",\
                 "0.7202, 0.753, 0.8616, 1.046, 1.316, 1.689, 2.186, 2.812, 3.602, 4.588",\
                 "0.905, 0.9428, 1.066, 1.271, 1.556, 1.931, 2.422, 3.044, 3.808, 4.732",\
                 "1.108, 1.151, 1.291, 1.522, 1.834, 2.229, 2.717, 3.333, 4.094, 5.002",\
                 "1.331, 1.378, 1.532, 1.792, 2.139, 2.566, 3.074, 3.688, 4.439, 5.34");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6579, 0.7129, 0.9042, 1.267, 1.825, 2.608, 3.636, 4.93, 6.51, 8.388",\
                 "0.6578, 0.7126, 0.9045, 1.267, 1.826, 2.609, 3.636, 4.93, 6.509, 8.392",\
                 "0.6577, 0.7126, 0.9046, 1.267, 1.826, 2.609, 3.637, 4.93, 6.509, 8.389",\
                 "0.679, 0.7283, 0.9083, 1.266, 1.826, 2.608, 3.636, 4.931, 6.51, 8.39",\
                 "0.788, 0.8358, 0.9952, 1.306, 1.831, 2.609, 3.636, 4.931, 6.511, 8.387",\
                 "0.914, 0.965, 1.143, 1.457, 1.926, 2.633, 3.639, 4.93, 6.51, 8.392",\
                 "1.067, 1.12, 1.304, 1.644, 2.134, 2.786, 3.697, 4.939, 6.51, 8.391",\
                 "1.252, 1.307, 1.494, 1.841, 2.368, 3.05, 3.905, 5.039, 6.528, 8.392",\
                 "1.46, 1.522, 1.718, 2.072, 2.61, 3.338, 4.228, 5.303, 6.682, 8.434",\
                 "1.69, 1.755, 1.969, 2.343, 2.886, 3.636, 4.577, 5.688, 7.001, 8.636");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2019, 0.2176, 0.2714, 0.3722, 0.5273, 0.7435, 1.028, 1.385, 1.82, 2.339",\
                 "0.2156, 0.2314, 0.2856, 0.3867, 0.5421, 0.7585, 1.042, 1.4, 1.836, 2.355",\
                 "0.2479, 0.2639, 0.3184, 0.42, 0.5758, 0.7927, 1.077, 1.434, 1.87, 2.39",\
                 "0.2773, 0.2965, 0.3598, 0.4704, 0.6293, 0.846, 1.13, 1.487, 1.923, 2.443",\
                 "0.2861, 0.3103, 0.3869, 0.5167, 0.6963, 0.9275, 1.214, 1.571, 2.006, 2.524",\
                 "0.262, 0.2915, 0.3864, 0.5424, 0.75, 1.008, 1.321, 1.69, 2.125, 2.643",\
                 "0.1983, 0.2337, 0.3477, 0.5343, 0.7791, 1.073, 1.417, 1.817, 2.277, 2.801",\
                 "0.0946, 0.1357, 0.268, 0.4863, 0.771, 1.109, 1.494, 1.931, 2.425, 2.982",\
                 "-0.0526, -0.0058, 0.1453, 0.3933, 0.72, 1.105, 1.541, 2.022, 2.557, 3.151",\
                 "-0.2453, -0.193, -0.0229, 0.2556, 0.6216, 1.056, 1.544, 2.082, 2.665, 3.303");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.378, 0.4094, 0.519, 0.7257, 1.045, 1.492, 2.079, 2.818, 3.719, 4.792",\
                 "0.3875, 0.4192, 0.5295, 0.737, 1.057, 1.504, 2.092, 2.831, 3.732, 4.804",\
                 "0.4387, 0.4703, 0.5795, 0.7872, 1.108, 1.555, 2.143, 2.882, 3.783, 4.856",\
                 "0.5623, 0.5927, 0.699, 0.9024, 1.219, 1.664, 2.25, 2.988, 3.888, 4.961",\
                 "0.7468, 0.7818, 0.8972, 1.101, 1.411, 1.849, 2.43, 3.163, 4.061, 5.13",\
                 "0.973, 1.012, 1.141, 1.371, 1.696, 2.127, 2.698, 3.424, 4.316, 5.38",\
                 "1.248, 1.291, 1.432, 1.683, 2.042, 2.503, 3.07, 3.785, 4.666, 5.723",\
                 "1.572, 1.619, 1.776, 2.048, 2.435, 2.937, 3.542, 4.257, 5.127, 6.173",\
                 "1.944, 1.997, 2.172, 2.47, 2.884, 3.42, 4.075, 4.834, 5.706, 6.74",\
                 "2.367, 2.427, 2.62, 2.948, 3.395, 3.963, 4.655, 5.471, 6.394, 7.433");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2121, 0.2381, 0.3284, 0.4997, 0.7642, 1.134, 1.623, 2.235, 2.984, 3.874",\
                 "0.2119, 0.2381, 0.3284, 0.4996, 0.7637, 1.134, 1.623, 2.236, 2.985, 3.875",\
                 "0.2194, 0.2432, 0.3295, 0.4997, 0.7638, 1.136, 1.622, 2.235, 2.984, 3.877",\
                 "0.2787, 0.3024, 0.383, 0.5322, 0.7753, 1.136, 1.622, 2.235, 2.984, 3.876",\
                 "0.3764, 0.4004, 0.4806, 0.6316, 0.8632, 1.188, 1.639, 2.236, 2.984, 3.876",\
                 "0.5104, 0.5356, 0.622, 0.7738, 1.004, 1.327, 1.751, 2.299, 3.003, 3.877",\
                 "0.6666, 0.6964, 0.796, 0.9616, 1.197, 1.515, 1.937, 2.471, 3.126, 3.944",\
                 "0.8436, 0.8784, 0.9892, 1.178, 1.433, 1.761, 2.178, 2.707, 3.358, 4.131",\
                 "1.04, 1.081, 1.205, 1.418, 1.699, 2.052, 2.475, 3.002, 3.647, 4.421",\
                 "1.253, 1.298, 1.44, 1.678, 1.993, 2.376, 2.827, 3.361, 3.999, 4.77");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6578, 0.7125, 0.9045, 1.266, 1.826, 2.609, 3.637, 4.929, 6.511, 8.386",\
                 "0.6576, 0.7128, 0.9045, 1.267, 1.826, 2.609, 3.636, 4.93, 6.509, 8.392",\
                 "0.6575, 0.7126, 0.9046, 1.267, 1.826, 2.608, 3.636, 4.932, 6.508, 8.389",\
                 "0.6788, 0.7286, 0.9078, 1.266, 1.826, 2.609, 3.636, 4.93, 6.507, 8.389",\
                 "0.785, 0.833, 0.9944, 1.306, 1.831, 2.609, 3.636, 4.931, 6.511, 8.392",\
                 "0.9048, 0.9576, 1.137, 1.452, 1.924, 2.632, 3.637, 4.932, 6.51, 8.391",\
                 "1.051, 1.103, 1.289, 1.631, 2.126, 2.781, 3.693, 4.938, 6.509, 8.391",\
                 "1.226, 1.28, 1.469, 1.821, 2.349, 3.036, 3.898, 5.035, 6.528, 8.392",\
                 "1.427, 1.485, 1.683, 2.039, 2.581, 3.314, 4.21, 5.291, 6.675, 8.431",\
                 "1.646, 1.71, 1.922, 2.295, 2.842, 3.602, 4.551, 5.664, 6.987, 8.634");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2353, 0.2534, 0.3161, 0.4336, 0.6145, 0.867, 1.199, 1.616, 2.125, 2.731",\
                 "0.248, 0.2664, 0.3295, 0.4474, 0.6286, 0.8814, 1.213, 1.63, 2.139, 2.745",\
                 "0.2782, 0.2967, 0.3603, 0.4789, 0.6606, 0.9139, 1.246, 1.663, 2.173, 2.778",\
                 "0.3109, 0.3325, 0.4037, 0.5294, 0.7123, 0.9655, 1.297, 1.715, 2.224, 2.83",\
                 "0.328, 0.3542, 0.4385, 0.5823, 0.7848, 1.047, 1.379, 1.796, 2.304, 2.911",\
                 "0.316, 0.3479, 0.4505, 0.6206, 0.85, 1.139, 1.492, 1.914, 2.421, 3.026",\
                 "0.2685, 0.3066, 0.429, 0.63, 0.8963, 1.219, 1.604, 2.055, 2.577, 3.182",\
                 "0.184, 0.2281, 0.3694, 0.6031, 0.9102, 1.278, 1.702, 2.189, 2.745, 3.376",\
                 "0.061, 0.1107, 0.2702, 0.536, 0.8856, 1.302, 1.776, 2.306, 2.902, 3.57",\
                 "-0.1037, -0.0478, 0.1312, 0.4265, 0.8194, 1.285, 1.813, 2.398, 3.041, 3.751");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3793, 0.4107, 0.5202, 0.727, 1.047, 1.494, 2.081, 2.819, 3.72, 4.793",\
                 "0.3905, 0.4221, 0.5325, 0.74, 1.06, 1.507, 2.095, 2.833, 3.735, 4.807",\
                 "0.4413, 0.473, 0.5828, 0.7903, 1.111, 1.559, 2.147, 2.886, 3.787, 4.86",\
                 "0.5618, 0.5925, 0.6993, 0.9037, 1.221, 1.667, 2.253, 2.991, 3.891, 4.964",\
                 "0.7421, 0.777, 0.8936, 1.099, 1.41, 1.849, 2.43, 3.165, 4.062, 5.133",\
                 "0.9609, 0.9998, 1.131, 1.362, 1.689, 2.123, 2.695, 3.423, 4.314, 5.38",\
                 "1.226, 1.269, 1.413, 1.666, 2.029, 2.492, 3.061, 3.778, 4.661, 5.719",\
                 "1.536, 1.585, 1.744, 2.02, 2.411, 2.917, 3.526, 4.244, 5.115, 6.163",\
                 "1.889, 1.944, 2.123, 2.426, 2.846, 3.387, 4.045, 4.81, 5.687, 6.722",\
                 "2.291, 2.352, 2.55, 2.885, 3.34, 3.913, 4.613, 5.433, 6.362, 7.405");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2568, 0.2876, 0.3931, 0.5943, 0.9051, 1.34, 1.911, 2.63, 3.508, 4.552",\
                 "0.2568, 0.2872, 0.3936, 0.5938, 0.9043, 1.34, 1.911, 2.63, 3.507, 4.551",\
                 "0.2612, 0.2903, 0.3936, 0.5937, 0.9055, 1.341, 1.911, 2.63, 3.508, 4.553",\
                 "0.3186, 0.3464, 0.4416, 0.6183, 0.9101, 1.34, 1.91, 2.63, 3.507, 4.554",\
                 "0.4166, 0.4436, 0.5368, 0.714, 0.9862, 1.375, 1.918, 2.629, 3.507, 4.554",\
                 "0.5558, 0.5846, 0.6808, 0.855, 1.125, 1.504, 2.005, 2.667, 3.513, 4.553",\
                 "0.72, 0.7528, 0.8614, 1.046, 1.315, 1.688, 2.185, 2.812, 3.601, 4.586",\
                 "0.905, 0.9428, 1.065, 1.27, 1.556, 1.93, 2.421, 3.044, 3.807, 4.732",\
                 "1.108, 1.151, 1.291, 1.523, 1.835, 2.228, 2.717, 3.332, 4.092, 5.002",\
                 "1.331, 1.379, 1.535, 1.794, 2.142, 2.565, 3.073, 3.686, 4.438, 5.341");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6567, 0.7117, 0.9031, 1.265, 1.824, 2.607, 3.636, 4.927, 6.509, 8.387",\
                 "0.6566, 0.7117, 0.9034, 1.265, 1.825, 2.608, 3.634, 4.927, 6.507, 8.389",\
                 "0.6567, 0.7116, 0.9034, 1.265, 1.824, 2.607, 3.635, 4.929, 6.505, 8.387",\
                 "0.6781, 0.7273, 0.9068, 1.265, 1.825, 2.607, 3.636, 4.929, 6.508, 8.389",\
                 "0.7872, 0.835, 0.9944, 1.306, 1.829, 2.608, 3.636, 4.93, 6.508, 8.386",\
                 "0.9124, 0.9664, 1.143, 1.456, 1.926, 2.632, 3.636, 4.93, 6.51, 8.389",\
                 "1.065, 1.118, 1.302, 1.641, 2.132, 2.784, 3.695, 4.937, 6.51, 8.39",\
                 "1.25, 1.305, 1.492, 1.84, 2.366, 3.049, 3.904, 5.039, 6.527, 8.391",\
                 "1.458, 1.52, 1.717, 2.073, 2.608, 3.335, 4.226, 5.303, 6.678, 8.433",\
                 "1.688, 1.752, 1.968, 2.341, 2.884, 3.631, 4.58, 5.686, 7.001, 8.636");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1935, 0.2108, 0.2717, 0.387, 0.5662, 0.8175, 1.149, 1.565, 2.073, 2.68",\
                 "0.2055, 0.2231, 0.2846, 0.4006, 0.5804, 0.832, 1.163, 1.58, 2.089, 2.693",\
                 "0.2331, 0.2518, 0.3149, 0.4321, 0.6125, 0.8647, 1.196, 1.612, 2.121, 2.727",\
                 "0.2546, 0.2775, 0.3516, 0.4799, 0.6639, 0.916, 1.247, 1.664, 2.172, 2.779",\
                 "0.2551, 0.2841, 0.3752, 0.5254, 0.7319, 0.9974, 1.329, 1.745, 2.253, 2.858",\
                 "0.2235, 0.2596, 0.3725, 0.553, 0.7904, 1.084, 1.44, 1.863, 2.37, 2.975",\
                 "0.1564, 0.1997, 0.3344, 0.55, 0.8272, 1.159, 1.548, 2.001, 2.526, 3.131",\
                 "0.0543, 0.1034, 0.2595, 0.5096, 0.8307, 1.209, 1.64, 2.131, 2.69, 3.323",\
                 "-0.0874, -0.0313, 0.1457, 0.4288, 0.795, 1.224, 1.707, 2.244, 2.844, 3.514",\
                 "-0.2697, -0.2075, -0.0097, 0.3072, 0.7168, 1.198, 1.737, 2.33, 2.978, 3.692");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3715, 0.403, 0.5125, 0.7192, 1.039, 1.485, 2.07, 2.806, 3.705, 4.779",\
                 "0.3827, 0.4146, 0.5248, 0.7321, 1.051, 1.498, 2.084, 2.823, 3.719, 4.793",\
                 "0.4331, 0.4648, 0.5749, 0.7825, 1.102, 1.549, 2.137, 2.873, 3.775, 4.848",\
                 "0.554, 0.5851, 0.6916, 0.8951, 1.213, 1.657, 2.241, 2.978, 3.88, 4.952",\
                 "0.7319, 0.7675, 0.8849, 1.09, 1.401, 1.839, 2.418, 3.153, 4.048, 5.118",\
                 "0.9493, 0.9887, 1.12, 1.352, 1.68, 2.112, 2.684, 3.409, 4.301, 5.365",\
                 "1.211, 1.255, 1.4, 1.654, 2.017, 2.48, 3.048, 3.765, 4.646, 5.703",\
                 "1.518, 1.567, 1.728, 2.005, 2.397, 2.903, 3.513, 4.229, 5.099, 6.145",\
                 "1.868, 1.924, 2.104, 2.409, 2.831, 3.37, 4.03, 4.794, 5.669, 6.705",\
                 "2.264, 2.326, 2.527, 2.863, 3.321, 3.895, 4.594, 5.415, 6.344, 7.387");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2056, 0.2363, 0.341, 0.5399, 0.8502, 1.284, 1.857, 2.573, 3.453, 4.499",\
                 "0.2057, 0.2352, 0.341, 0.5397, 0.8501, 1.284, 1.855, 2.577, 3.453, 4.5",\
                 "0.219, 0.2453, 0.3434, 0.5406, 0.8511, 1.285, 1.856, 2.575, 3.453, 4.501",\
                 "0.2824, 0.309, 0.401, 0.5746, 0.8593, 1.285, 1.856, 2.575, 3.452, 4.503",\
                 "0.3895, 0.4151, 0.5042, 0.6764, 0.945, 1.328, 1.865, 2.573, 3.45, 4.501",\
                 "0.5326, 0.56, 0.654, 0.8236, 1.088, 1.464, 1.96, 2.619, 3.465, 4.499",\
                 "0.6982, 0.7302, 0.8348, 1.019, 1.283, 1.651, 2.144, 2.768, 3.552, 4.533",\
                 "0.8838, 0.9204, 1.039, 1.245, 1.529, 1.899, 2.383, 3.002, 3.765, 4.685",\
                 "1.087, 1.127, 1.265, 1.495, 1.805, 2.196, 2.682, 3.295, 4.051, 4.957",\
                 "1.305, 1.352, 1.505, 1.765, 2.111, 2.535, 3.041, 3.653, 4.398, 5.301");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5393, 0.593, 0.7841, 1.143, 1.703, 2.485, 3.512, 4.804, 6.386, 8.266",\
                 "0.5385, 0.5935, 0.7834, 1.143, 1.702, 2.486, 3.512, 4.809, 6.384, 8.268",\
                 "0.5382, 0.5931, 0.7835, 1.143, 1.702, 2.485, 3.514, 4.811, 6.388, 8.271",\
                 "0.5589, 0.6077, 0.7859, 1.143, 1.702, 2.484, 3.513, 4.806, 6.388, 8.271",\
                 "0.6562, 0.7062, 0.8714, 1.183, 1.705, 2.484, 3.513, 4.808, 6.385, 8.267",\
                 "0.7634, 0.8184, 1.005, 1.331, 1.802, 2.508, 3.513, 4.807, 6.386, 8.271",\
                 "0.8966, 0.9534, 1.148, 1.502, 2.005, 2.661, 3.57, 4.811, 6.385, 8.268",\
                 "1.057, 1.119, 1.322, 1.684, 2.225, 2.92, 3.779, 4.915, 6.403, 8.268",\
                 "1.236, 1.305, 1.526, 1.904, 2.455, 3.196, 4.099, 5.177, 6.554, 8.307",\
                 "1.431, 1.509, 1.75, 2.153, 2.72, 3.481, 4.441, 5.562, 6.874, 8.512");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1671, 0.1821, 0.2341, 0.3326, 0.486, 0.7011, 0.9843, 1.341, 1.776, 2.294",\
                 "0.1803, 0.1954, 0.2479, 0.3474, 0.5009, 0.7164, 0.9992, 1.356, 1.791, 2.309",\
                 "0.2093, 0.2257, 0.2801, 0.3801, 0.5346, 0.7503, 1.034, 1.391, 1.825, 2.344",\
                 "0.2272, 0.2477, 0.3139, 0.4272, 0.5876, 0.8036, 1.087, 1.443, 1.879, 2.398",\
                 "0.2193, 0.2459, 0.3298, 0.4657, 0.6496, 0.8834, 1.171, 1.527, 1.962, 2.48",\
                 "0.1758, 0.2092, 0.3139, 0.4808, 0.6967, 0.9594, 1.274, 1.645, 2.081, 2.598",\
                 "0.0933, 0.1335, 0.2599, 0.4601, 0.7161, 1.018, 1.366, 1.769, 2.232, 2.757",\
                 "-0.0289, 0.0186, 0.1649, 0.3982, 0.6972, 1.045, 1.438, 1.879, 2.376, 2.935",\
                 "-0.194, -0.1407, 0.0268, 0.2932, 0.6347, 1.033, 1.477, 1.966, 2.505, 3.102",\
                 "-0.4035, -0.3445, -0.1569, 0.1428, 0.5255, 0.9746, 1.474, 2.019, 2.609, 3.25");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3702, 0.4018, 0.5113, 0.7178, 1.037, 1.483, 2.068, 2.808, 3.703, 4.775",\
                 "0.3798, 0.4116, 0.5218, 0.7291, 1.048, 1.494, 2.082, 2.82, 3.716, 4.789",\
                 "0.4306, 0.4621, 0.5719, 0.7791, 1.099, 1.546, 2.133, 2.871, 3.769, 4.841",\
                 "0.5544, 0.5851, 0.6912, 0.8941, 1.21, 1.655, 2.238, 2.975, 3.877, 4.949",\
                 "0.7368, 0.7721, 0.8883, 1.093, 1.402, 1.84, 2.418, 3.15, 4.046, 5.114",\
                 "0.9612, 0.9997, 1.13, 1.361, 1.686, 2.116, 2.686, 3.411, 4.301, 5.365",\
                 "1.233, 1.276, 1.419, 1.671, 2.031, 2.491, 3.057, 3.771, 4.651, 5.707",\
                 "1.554, 1.603, 1.761, 2.034, 2.421, 2.924, 3.529, 4.243, 5.112, 6.156",\
                 "1.922, 1.976, 2.155, 2.454, 2.869, 3.405, 4.059, 4.818, 5.69, 6.722",\
                 "2.341, 2.402, 2.598, 2.929, 3.378, 3.945, 4.638, 5.453, 6.376, 7.415");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.169, 0.1942, 0.2832, 0.4529, 0.7166, 1.089, 1.574, 2.189, 2.938, 3.826",\
                 "0.1687, 0.1942, 0.2837, 0.4531, 0.7174, 1.088, 1.574, 2.189, 2.937, 3.824",\
                 "0.185, 0.2072, 0.2882, 0.4539, 0.7176, 1.087, 1.573, 2.187, 2.935, 3.83",\
                 "0.25, 0.2715, 0.3498, 0.4974, 0.7331, 1.089, 1.574, 2.188, 2.934, 3.828",\
                 "0.355, 0.3769, 0.4542, 0.5998, 0.829, 1.149, 1.597, 2.192, 2.937, 3.83",\
                 "0.4902, 0.5166, 0.6006, 0.7506, 0.9736, 1.293, 1.713, 2.257, 2.962, 3.835",\
                 "0.6484, 0.6774, 0.7736, 0.9382, 1.171, 1.485, 1.903, 2.436, 3.085, 3.903",\
                 "0.8272, 0.8594, 0.9688, 1.155, 1.409, 1.733, 2.147, 2.673, 3.321, 4.092",\
                 "1.022, 1.061, 1.186, 1.395, 1.675, 2.026, 2.449, 2.971, 3.612, 4.385",\
                 "1.231, 1.273, 1.418, 1.653, 1.967, 2.35, 2.802, 3.33, 3.969, 4.733");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5384, 0.5936, 0.7841, 1.144, 1.703, 2.485, 3.512, 4.81, 6.381, 8.261",\
                 "0.5388, 0.5935, 0.783, 1.144, 1.702, 2.486, 3.513, 4.809, 6.384, 8.269",\
                 "0.5385, 0.5928, 0.7832, 1.143, 1.702, 2.484, 3.514, 4.809, 6.384, 8.267",\
                 "0.5586, 0.6077, 0.7864, 1.142, 1.702, 2.484, 3.513, 4.807, 6.388, 8.271",\
                 "0.654, 0.7038, 0.8698, 1.181, 1.705, 2.484, 3.513, 4.808, 6.386, 8.268",\
                 "0.7548, 0.8102, 0.9982, 1.326, 1.8, 2.507, 3.512, 4.807, 6.387, 8.271",\
                 "0.8824, 0.9384, 1.135, 1.491, 1.997, 2.655, 3.568, 4.812, 6.385, 8.268",\
                 "1.034, 1.094, 1.299, 1.665, 2.207, 2.908, 3.771, 4.909, 6.402, 8.267",\
                 "1.204, 1.272, 1.493, 1.87, 2.427, 3.174, 4.082, 5.164, 6.55, 8.304",\
                 "1.394, 1.468, 1.707, 2.108, 2.679, 3.455, 4.412, 5.538, 6.86, 8.502");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2016, 0.2172, 0.2694, 0.3677, 0.5189, 0.7295, 1.006, 1.354, 1.778, 2.282",\
                 "0.2148, 0.2299, 0.2831, 0.3812, 0.5327, 0.7435, 1.02, 1.368, 1.791, 2.297",\
                 "0.2527, 0.2682, 0.3215, 0.4206, 0.5726, 0.7836, 1.06, 1.408, 1.832, 2.338",\
                 "0.2968, 0.3166, 0.3814, 0.4916, 0.6463, 0.8574, 1.134, 1.482, 1.906, 2.412",\
                 "0.3177, 0.3429, 0.4238, 0.5595, 0.744, 0.9731, 1.252, 1.599, 2.023, 2.528",\
                 "0.308, 0.3387, 0.4381, 0.6026, 0.8221, 1.091, 1.405, 1.766, 2.19, 2.694",\
                 "0.2625, 0.2991, 0.4177, 0.613, 0.8718, 1.183, 1.542, 1.95, 2.405, 2.915",\
                 "0.1794, 0.2218, 0.3587, 0.5869, 0.8863, 1.245, 1.653, 2.111, 2.617, 3.173",\
                 "0.0579, 0.1052, 0.2602, 0.5185, 0.8609, 1.268, 1.73, 2.241, 2.803, 3.415",\
                 "-0.1063, -0.053, 0.1207, 0.4085, 0.7929, 1.25, 1.767, 2.337, 2.956, 3.628");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4191, 0.4503, 0.5587, 0.7646, 1.083, 1.53, 2.117, 2.855, 3.756, 4.828",\
                 "0.4311, 0.4625, 0.5719, 0.7785, 1.098, 1.545, 2.132, 2.871, 3.772, 4.844",\
                 "0.482, 0.5129, 0.6221, 0.8289, 1.149, 1.597, 2.184, 2.923, 3.825, 4.897",\
                 "0.6023, 0.6325, 0.7389, 0.9422, 1.259, 1.705, 2.291, 3.029, 3.929, 5.002",\
                 "0.7885, 0.8218, 0.9357, 1.138, 1.448, 1.887, 2.468, 3.203, 4.101, 5.171",\
                 "1.013, 1.051, 1.179, 1.407, 1.73, 2.162, 2.734, 3.461, 4.354, 5.419",\
                 "1.286, 1.327, 1.467, 1.716, 2.076, 2.535, 3.103, 3.82, 4.702, 5.761",\
                 "1.604, 1.651, 1.806, 2.076, 2.465, 2.967, 3.572, 4.288, 5.159, 6.207",\
                 "1.97, 2.021, 2.194, 2.491, 2.907, 3.444, 4.101, 4.861, 5.735, 6.77",\
                 "2.381, 2.439, 2.63, 2.958, 3.407, 3.978, 4.675, 5.493, 6.418, 7.459");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.249, 0.2743, 0.3622, 0.5294, 0.7883, 1.15, 1.625, 2.224, 2.956, 3.826",\
                 "0.2493, 0.274, 0.3622, 0.529, 0.7879, 1.15, 1.626, 2.225, 2.956, 3.827",\
                 "0.2567, 0.2794, 0.3635, 0.5295, 0.7885, 1.149, 1.626, 2.225, 2.955, 3.826",\
                 "0.3391, 0.3605, 0.4336, 0.5692, 0.7987, 1.151, 1.625, 2.224, 2.955, 3.826",\
                 "0.4569, 0.4798, 0.5582, 0.7016, 0.9166, 1.214, 1.644, 2.226, 2.955, 3.826",\
                 "0.6096, 0.6344, 0.718, 0.87, 1.096, 1.401, 1.788, 2.298, 2.974, 3.827",\
                 "0.788, 0.8156, 0.911, 1.077, 1.315, 1.633, 2.036, 2.527, 3.129, 3.902",\
                 "0.9858, 1.019, 1.128, 1.314, 1.575, 1.907, 2.326, 2.837, 3.441, 4.147",\
                 "1.203, 1.24, 1.363, 1.575, 1.863, 2.225, 2.658, 3.187, 3.811, 4.535",\
                 "1.441, 1.481, 1.619, 1.859, 2.18, 2.575, 3.039, 3.584, 4.231, 4.975");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.704, 0.7594, 0.9513, 1.314, 1.874, 2.657, 3.684, 4.978, 6.559, 8.439",\
                 "0.7041, 0.7594, 0.9516, 1.314, 1.874, 2.657, 3.684, 4.978, 6.558, 8.438",\
                 "0.7038, 0.7593, 0.9513, 1.314, 1.874, 2.657, 3.685, 4.978, 6.556, 8.438",\
                 "0.7185, 0.7696, 0.9534, 1.314, 1.873, 2.657, 3.684, 4.979, 6.556, 8.437",\
                 "0.8236, 0.87, 1.031, 1.347, 1.877, 2.657, 3.685, 4.98, 6.558, 8.435",\
                 "0.9492, 1.003, 1.179, 1.491, 1.964, 2.677, 3.685, 4.979, 6.558, 8.439",\
                 "1.099, 1.152, 1.338, 1.677, 2.166, 2.821, 3.738, 4.985, 6.558, 8.44",\
                 "1.28, 1.334, 1.523, 1.874, 2.399, 3.08, 3.94, 5.081, 6.576, 8.439",\
                 "1.488, 1.546, 1.744, 2.098, 2.637, 3.366, 4.256, 5.335, 6.72, 8.478",\
                 "1.716, 1.781, 1.991, 2.362, 2.908, 3.664, 4.605, 5.714, 7.029, 8.674");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1676, 0.1821, 0.2331, 0.3298, 0.4791, 0.6887, 0.964, 1.311, 1.735, 2.239",\
                 "0.1798, 0.1947, 0.2463, 0.3432, 0.493, 0.7025, 0.9787, 1.325, 1.749, 2.253",\
                 "0.2148, 0.2309, 0.2841, 0.3822, 0.5324, 0.7426, 1.019, 1.366, 1.79, 2.295",\
                 "0.2437, 0.2652, 0.3342, 0.449, 0.6061, 0.817, 1.093, 1.44, 1.863, 2.369",\
                 "0.2468, 0.2747, 0.363, 0.5062, 0.6966, 0.9301, 1.21, 1.557, 1.981, 2.485",\
                 "0.2179, 0.2526, 0.3617, 0.5374, 0.7655, 1.04, 1.359, 1.723, 2.147, 2.651",\
                 "0.1536, 0.1951, 0.3254, 0.5345, 0.8051, 1.124, 1.49, 1.902, 2.36, 2.872",\
                 "0.054, 0.1012, 0.2512, 0.495, 0.8085, 1.178, 1.594, 2.057, 2.568, 3.128",\
                 "-0.0851, -0.0318, 0.1382, 0.4137, 0.7723, 1.192, 1.663, 2.182, 2.748, 3.365",\
                 "-0.2659, -0.2063, -0.0168, 0.2914, 0.692, 1.165, 1.693, 2.271, 2.897, 3.573");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4118, 0.443, 0.5514, 0.7566, 1.075, 1.521, 2.105, 2.842, 3.741, 4.81",\
                 "0.4237, 0.455, 0.5644, 0.7707, 1.089, 1.535, 2.123, 2.857, 3.756, 4.83",\
                 "0.4741, 0.5054, 0.6145, 0.8211, 1.14, 1.587, 2.173, 2.912, 3.812, 4.882",\
                 "0.5947, 0.6249, 0.731, 0.934, 1.25, 1.694, 2.279, 3.016, 3.916, 4.99",\
                 "0.7789, 0.8132, 0.9269, 1.13, 1.439, 1.878, 2.456, 3.19, 4.086, 5.155",\
                 "1.002, 1.04, 1.169, 1.397, 1.72, 2.152, 2.723, 3.449, 4.338, 5.402",\
                 "1.272, 1.314, 1.455, 1.706, 2.065, 2.523, 3.09, 3.806, 4.687, 5.745",\
                 "1.588, 1.635, 1.791, 2.063, 2.451, 2.954, 3.559, 4.273, 5.144, 6.19",\
                 "1.949, 2.002, 2.176, 2.475, 2.892, 3.429, 4.084, 4.845, 5.718, 6.752",\
                 "2.356, 2.416, 2.609, 2.938, 3.388, 3.959, 4.656, 5.474, 6.4, 7.441");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2045, 0.2298, 0.317, 0.4844, 0.7425, 1.104, 1.578, 2.178, 2.91, 3.779",\
                 "0.2046, 0.2297, 0.3174, 0.4838, 0.7431, 1.103, 1.579, 2.18, 2.911, 3.778",\
                 "0.2234, 0.2441, 0.3224, 0.4839, 0.742, 1.103, 1.579, 2.179, 2.91, 3.784",\
                 "0.3117, 0.3329, 0.4053, 0.5389, 0.7605, 1.105, 1.579, 2.179, 2.909, 3.78",\
                 "0.4357, 0.4571, 0.5322, 0.6736, 0.8868, 1.18, 1.603, 2.18, 2.908, 3.781",\
                 "0.5924, 0.6168, 0.697, 0.8448, 1.068, 1.372, 1.756, 2.263, 2.933, 3.781",\
                 "0.7734, 0.7998, 0.892, 1.056, 1.288, 1.604, 2.007, 2.497, 3.094, 3.864",\
                 "0.973, 1.003, 1.109, 1.292, 1.55, 1.88, 2.298, 2.806, 3.41, 4.114",\
                 "1.191, 1.226, 1.344, 1.552, 1.839, 2.199, 2.634, 3.158, 3.78, 4.503",\
                 "1.424, 1.464, 1.598, 1.834, 2.155, 2.55, 3.016, 3.557, 4.201, 4.944");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5879, 0.6429, 0.8334, 1.194, 1.753, 2.535, 3.561, 4.854, 6.436, 8.315",\
                 "0.5882, 0.6423, 0.8325, 1.194, 1.751, 2.534, 3.564, 4.855, 6.435, 8.316",\
                 "0.5872, 0.6422, 0.8329, 1.194, 1.752, 2.535, 3.561, 4.858, 6.438, 8.317",\
                 "0.6013, 0.6517, 0.834, 1.192, 1.752, 2.534, 3.562, 4.856, 6.436, 8.321",\
                 "0.6982, 0.7478, 0.9102, 1.225, 1.754, 2.534, 3.562, 4.857, 6.436, 8.314",\
                 "0.8062, 0.861, 1.047, 1.367, 1.841, 2.553, 3.562, 4.857, 6.436, 8.319",\
                 "0.9376, 0.9946, 1.187, 1.537, 2.04, 2.698, 3.614, 4.861, 6.435, 8.319",\
                 "1.097, 1.156, 1.359, 1.719, 2.258, 2.953, 3.814, 4.954, 6.45, 8.316",\
                 "1.277, 1.345, 1.558, 1.934, 2.486, 3.227, 4.128, 5.212, 6.594, 8.352",\
                 "1.478, 1.549, 1.784, 2.179, 2.745, 3.511, 4.468, 5.588, 6.908, 8.546");
        }
      }

      timing() {
        related_pin : "B1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1425, 0.1542, 0.1958, 0.2745, 0.3967, 0.5675, 0.7921, 1.076, 1.422, 1.833",\
                 "0.1559, 0.1681, 0.2099, 0.289, 0.4112, 0.5824, 0.8077, 1.091, 1.437, 1.849",\
                 "0.1924, 0.2063, 0.2515, 0.3317, 0.4545, 0.6262, 0.851, 1.134, 1.481, 1.892",\
                 "0.2158, 0.2351, 0.2971, 0.3982, 0.5334, 0.7064, 0.9315, 1.215, 1.561, 1.973",\
                 "0.2101, 0.2357, 0.3164, 0.4462, 0.6156, 0.8199, 1.058, 1.342, 1.687, 2.099",\
                 "0.1687, 0.2007, 0.302, 0.4636, 0.6708, 0.9165, 1.197, 1.513, 1.866, 2.279",\
                 "0.0888, 0.127, 0.2489, 0.4433, 0.692, 0.9828, 1.31, 1.674, 2.074, 2.51",\
                 "-0.0315, 0.0132, 0.1543, 0.3817, 0.6732, 1.012, 1.391, 1.806, 2.259, 2.748",\
                 "-0.1942, -0.1439, 0.0168, 0.2754, 0.609, 0.9983, 1.431, 1.902, 2.411, 2.958",\
                 "-0.4029, -0.3466, -0.1668, 0.1241, 0.4985, 0.9383, 1.426, 1.957, 2.525, 3.132");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4106, 0.4417, 0.5501, 0.7557, 1.074, 1.518, 2.104, 2.84, 3.744, 4.81",\
                 "0.4207, 0.4521, 0.5613, 0.7677, 1.087, 1.532, 2.117, 2.854, 3.757, 4.827",\
                 "0.4713, 0.5024, 0.6113, 0.8179, 1.137, 1.583, 2.17, 2.906, 3.809, 4.877",\
                 "0.5948, 0.6249, 0.7305, 0.9327, 1.248, 1.692, 2.276, 3.013, 3.911, 4.981",\
                 "0.7839, 0.8176, 0.9311, 1.132, 1.441, 1.877, 2.456, 3.188, 4.085, 5.154",\
                 "1.014, 1.052, 1.179, 1.406, 1.727, 2.156, 2.726, 3.451, 4.339, 5.402",\
                 "1.293, 1.335, 1.475, 1.723, 2.08, 2.535, 3.1, 3.813, 4.693, 5.749",\
                 "1.623, 1.67, 1.823, 2.092, 2.477, 2.976, 3.577, 4.289, 5.157, 6.201",\
                 "2.003, 2.054, 2.225, 2.519, 2.93, 3.464, 4.115, 4.871, 5.741, 6.772",\
                 "2.433, 2.491, 2.681, 3.002, 3.445, 4.009, 4.702, 5.515, 6.434, 7.471");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1571, 0.1777, 0.2488, 0.3843, 0.5948, 0.8882, 1.276, 1.764, 2.36, 3.069",\
                 "0.1574, 0.1774, 0.2489, 0.3841, 0.5947, 0.8886, 1.275, 1.765, 2.36, 3.07",\
                 "0.1853, 0.2005, 0.2595, 0.3856, 0.5944, 0.8892, 1.277, 1.764, 2.359, 3.071",\
                 "0.2753, 0.2925, 0.3521, 0.4602, 0.6279, 0.8953, 1.277, 1.765, 2.356, 3.067",\
                 "0.3971, 0.4152, 0.4789, 0.5986, 0.772, 1.004, 1.326, 1.774, 2.358, 3.066",\
                 "0.5464, 0.5676, 0.6404, 0.7678, 0.9554, 1.204, 1.518, 1.905, 2.419, 3.08",\
                 "0.7188, 0.7424, 0.8248, 0.97, 1.174, 1.44, 1.773, 2.175, 2.642, 3.226",\
                 "0.911, 0.9376, 1.031, 1.197, 1.428, 1.714, 2.066, 2.487, 2.982, 3.544",\
                 "1.119, 1.152, 1.258, 1.447, 1.705, 2.025, 2.399, 2.841, 3.359, 3.951",\
                 "1.341, 1.378, 1.505, 1.717, 2.009, 2.363, 2.778, 3.241, 3.779, 4.397");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5878, 0.643, 0.8327, 1.193, 1.753, 2.533, 3.56, 4.855, 6.438, 8.316",\
                 "0.588, 0.6422, 0.8325, 1.193, 1.753, 2.533, 3.561, 4.855, 6.439, 8.316",\
                 "0.588, 0.6417, 0.8319, 1.193, 1.752, 2.535, 3.562, 4.853, 6.438, 8.314",\
                 "0.6012, 0.6522, 0.834, 1.192, 1.751, 2.534, 3.562, 4.857, 6.432, 8.314",\
                 "0.697, 0.7456, 0.9084, 1.224, 1.753, 2.533, 3.562, 4.856, 6.438, 8.316",\
                 "0.7988, 0.854, 1.04, 1.362, 1.838, 2.552, 3.561, 4.856, 6.436, 8.319",\
                 "0.9234, 0.9792, 1.174, 1.53, 2.032, 2.691, 3.611, 4.861, 6.434, 8.318",\
                 "1.072, 1.134, 1.335, 1.701, 2.242, 2.942, 3.805, 4.949, 6.449, 8.317",\
                 "1.247, 1.312, 1.526, 1.902, 2.461, 3.206, 4.11, 5.198, 6.587, 8.349",\
                 "1.438, 1.51, 1.741, 2.135, 2.703, 3.479, 4.44, 5.563, 6.889, 8.538");
        }
      }

      timing() {
        related_pin : "B1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2807, 0.2991, 0.3626, 0.4814, 0.6637, 0.9172, 1.249, 1.667, 2.177, 2.783",\
                 "0.2938, 0.3123, 0.3762, 0.4954, 0.6777, 0.9315, 1.264, 1.682, 2.191, 2.797",\
                 "0.3246, 0.3433, 0.4074, 0.5271, 0.71, 0.9642, 1.297, 1.715, 2.224, 2.831",\
                 "0.3656, 0.3864, 0.4555, 0.5787, 0.7616, 1.016, 1.348, 1.766, 2.276, 2.883",\
                 "0.3954, 0.4193, 0.4991, 0.6385, 0.8375, 1.098, 1.43, 1.847, 2.356, 2.963",\
                 "0.3998, 0.429, 0.5239, 0.6855, 0.909, 1.194, 1.545, 1.965, 2.473, 3.078",\
                 "0.3701, 0.4044, 0.5172, 0.707, 0.9634, 1.28, 1.661, 2.109, 2.629, 3.234",\
                 "0.3022, 0.3421, 0.4733, 0.6931, 0.9876, 1.346, 1.763, 2.246, 2.8, 3.429",\
                 "0.1953, 0.2399, 0.3887, 0.6389, 0.9739, 1.378, 1.844, 2.368, 2.96, 3.626",\
                 "0.047, 0.0978, 0.262, 0.5423, 0.9186, 1.371, 1.889, 2.466, 3.103, 3.81");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4106, 0.4417, 0.5501, 0.7557, 1.074, 1.518, 2.104, 2.84, 3.744, 4.81",\
                 "0.4207, 0.4521, 0.5613, 0.7677, 1.087, 1.532, 2.117, 2.854, 3.757, 4.827",\
                 "0.4713, 0.5024, 0.6113, 0.8179, 1.137, 1.583, 2.17, 2.906, 3.809, 4.877",\
                 "0.5948, 0.6249, 0.7305, 0.9327, 1.248, 1.692, 2.276, 3.013, 3.911, 4.981",\
                 "0.7839, 0.8176, 0.9311, 1.132, 1.441, 1.877, 2.456, 3.188, 4.085, 5.154",\
                 "1.014, 1.052, 1.179, 1.406, 1.727, 2.156, 2.726, 3.451, 4.339, 5.402",\
                 "1.293, 1.335, 1.475, 1.723, 2.08, 2.535, 3.1, 3.813, 4.693, 5.749",\
                 "1.623, 1.67, 1.823, 2.092, 2.477, 2.976, 3.577, 4.289, 5.157, 6.201",\
                 "2.003, 2.054, 2.225, 2.519, 2.93, 3.464, 4.115, 4.871, 5.741, 6.772",\
                 "2.433, 2.491, 2.681, 3.002, 3.445, 4.009, 4.702, 5.515, 6.434, 7.471");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3075, 0.3378, 0.4451, 0.6482, 0.959, 1.396, 1.968, 2.687, 3.566, 4.61",\
                 "0.3076, 0.3386, 0.4462, 0.6478, 0.9595, 1.396, 1.967, 2.687, 3.564, 4.609",\
                 "0.3083, 0.3388, 0.4459, 0.6479, 0.959, 1.396, 1.967, 2.687, 3.565, 4.611",\
                 "0.3574, 0.3859, 0.4815, 0.6639, 0.9628, 1.395, 1.967, 2.687, 3.564, 4.612",\
                 "0.448, 0.4754, 0.5726, 0.7542, 1.028, 1.423, 1.971, 2.686, 3.564, 4.612",\
                 "0.583, 0.6124, 0.7094, 0.8892, 1.164, 1.548, 2.052, 2.719, 3.569, 4.612",\
                 "0.7476, 0.7812, 0.8882, 1.075, 1.348, 1.728, 2.228, 2.857, 3.651, 4.642",\
                 "0.9334, 0.9716, 1.094, 1.299, 1.587, 1.964, 2.461, 3.087, 3.852, 4.781",\
                 "1.141, 1.183, 1.322, 1.553, 1.865, 2.256, 2.753, 3.372, 4.134, 5.048",\
                 "1.362, 1.41, 1.566, 1.827, 2.171, 2.596, 3.104, 3.722, 4.476, 5.384");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7848, 0.8393, 1.03, 1.391, 1.95, 2.733, 3.762, 5.055, 6.635, 8.515",\
                 "0.7848, 0.8392, 1.03, 1.391, 1.95, 2.733, 3.761, 5.055, 6.633, 8.515",\
                 "0.7843, 0.8391, 1.029, 1.391, 1.951, 2.733, 3.761, 5.054, 6.635, 8.513",\
                 "0.8057, 0.8547, 1.033, 1.39, 1.95, 2.733, 3.762, 5.054, 6.633, 8.515",\
                 "0.921, 0.9648, 1.12, 1.431, 1.954, 2.733, 3.762, 5.057, 6.635, 8.516",\
                 "1.066, 1.115, 1.282, 1.584, 2.051, 2.757, 3.762, 5.055, 6.635, 8.516",\
                 "1.235, 1.285, 1.457, 1.785, 2.261, 2.911, 3.821, 5.062, 6.635, 8.516",\
                 "1.441, 1.491, 1.665, 1.995, 2.508, 3.177, 4.03, 5.165, 6.654, 8.518",\
                 "1.676, 1.728, 1.905, 2.242, 2.761, 3.482, 4.356, 5.429, 6.807, 8.557",\
                 "1.933, 1.988, 2.178, 2.526, 3.051, 3.784, 4.717, 5.817, 7.128, 8.762");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3246, 0.3429, 0.4066, 0.5262, 0.7092, 0.9633, 1.296, 1.715, 2.224, 2.831",\
                 "0.3343, 0.3533, 0.417, 0.5365, 0.7195, 0.9738, 1.307, 1.725, 2.235, 2.841",\
                 "0.3646, 0.3827, 0.4469, 0.5665, 0.7497, 1.004, 1.337, 1.755, 2.265, 2.873",\
                 "0.4101, 0.4302, 0.4972, 0.6186, 0.8012, 1.055, 1.388, 1.806, 2.316, 2.923",\
                 "0.4507, 0.4738, 0.5499, 0.6851, 0.8806, 1.139, 1.47, 1.888, 2.396, 3.003",\
                 "0.4749, 0.5014, 0.5904, 0.7441, 0.9606, 1.241, 1.588, 2.007, 2.514, 3.119",\
                 "0.4711, 0.5033, 0.6069, 0.7856, 1.03, 1.338, 1.711, 2.155, 2.673, 3.276",\
                 "0.4395, 0.4755, 0.5949, 0.7989, 1.078, 1.421, 1.828, 2.303, 2.85, 3.475",\
                 "0.3781, 0.4191, 0.5535, 0.7826, 1.096, 1.481, 1.929, 2.44, 3.023, 3.681",\
                 "0.2884, 0.3326, 0.4789, 0.7338, 1.082, 1.509, 2.004, 2.562, 3.183, 3.88");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4257, 0.4571, 0.5666, 0.7739, 1.095, 1.543, 2.132, 2.873, 3.776, 4.85",\
                 "0.4399, 0.4715, 0.5817, 0.7892, 1.11, 1.559, 2.148, 2.889, 3.793, 4.868",\
                 "0.4758, 0.508, 0.6185, 0.8276, 1.15, 1.6, 2.19, 2.931, 3.834, 4.909",\
                 "0.5529, 0.5839, 0.6929, 0.8999, 1.22, 1.669, 2.258, 2.999, 3.902, 4.977",\
                 "0.6733, 0.7072, 0.8212, 1.031, 1.345, 1.788, 2.373, 3.111, 4.012, 5.085",\
                 "0.8391, 0.8744, 0.9937, 1.212, 1.538, 1.977, 2.554, 3.285, 4.179, 5.247",\
                 "1.044, 1.082, 1.212, 1.44, 1.778, 2.234, 2.811, 3.531, 4.417, 5.478",\
                 "1.281, 1.325, 1.468, 1.716, 2.069, 2.538, 3.136, 3.862, 4.737, 5.785",\
                 "1.552, 1.6, 1.759, 2.032, 2.41, 2.897, 3.51, 4.258, 5.144, 6.182",\
                 "1.855, 1.91, 2.085, 2.384, 2.794, 3.31, 3.94, 4.706, 5.616, 6.669");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3563, 0.3883, 0.4967, 0.7001, 1.013, 1.45, 2.021, 2.743, 3.622, 4.666",\
                 "0.356, 0.3882, 0.497, 0.7, 1.013, 1.451, 2.023, 2.742, 3.62, 4.668",\
                 "0.3563, 0.388, 0.4967, 0.7, 1.013, 1.45, 2.023, 2.742, 3.621, 4.667",\
                 "0.3985, 0.4272, 0.5239, 0.7121, 1.015, 1.45, 2.021, 2.742, 3.621, 4.668",\
                 "0.4882, 0.516, 0.6148, 0.797, 1.074, 1.473, 2.025, 2.741, 3.621, 4.668",\
                 "0.6224, 0.651, 0.7492, 0.9294, 1.206, 1.592, 2.099, 2.77, 3.624, 4.667",\
                 "0.793, 0.8246, 0.9302, 1.113, 1.387, 1.769, 2.272, 2.904, 3.702, 4.695",\
                 "0.9914, 1.027, 1.143, 1.343, 1.626, 2.001, 2.499, 3.128, 3.895, 4.832",\
                 "1.214, 1.256, 1.386, 1.604, 1.907, 2.296, 2.786, 3.407, 4.174, 5.089",\
                 "1.46, 1.506, 1.652, 1.896, 2.225, 2.637, 3.135, 3.752, 4.51, 5.422");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7848, 0.8392, 1.03, 1.391, 1.951, 2.734, 3.762, 5.056, 6.629, 8.512",\
                 "0.7846, 0.8392, 1.03, 1.39, 1.95, 2.733, 3.76, 5.055, 6.632, 8.512",\
                 "0.7844, 0.8391, 1.029, 1.391, 1.95, 2.732, 3.762, 5.056, 6.635, 8.516",\
                 "0.8092, 0.8592, 1.038, 1.391, 1.951, 2.733, 3.761, 5.054, 6.634, 8.516",\
                 "0.8998, 0.9468, 1.11, 1.433, 1.961, 2.733, 3.762, 5.055, 6.635, 8.514",\
                 "1.025, 1.071, 1.233, 1.548, 2.043, 2.768, 3.765, 5.055, 6.635, 8.516",\
                 "1.194, 1.237, 1.392, 1.699, 2.193, 2.887, 3.831, 5.072, 6.636, 8.517",\
                 "1.4, 1.444, 1.597, 1.894, 2.375, 3.073, 3.988, 5.172, 6.674, 8.52",\
                 "1.627, 1.675, 1.839, 2.137, 2.606, 3.29, 4.209, 5.365, 6.808, 8.584",\
                 "1.875, 1.926, 2.103, 2.419, 2.892, 3.559, 4.465, 5.628, 7.04, 8.757");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2776, 0.2959, 0.3594, 0.478, 0.6601, 0.9135, 1.246, 1.663, 2.173, 2.779",\
                 "0.2878, 0.3061, 0.3696, 0.4884, 0.6705, 0.924, 1.256, 1.674, 2.184, 2.79",\
                 "0.3173, 0.336, 0.3995, 0.5184, 0.7007, 0.9543, 1.287, 1.704, 2.214, 2.821",\
                 "0.3573, 0.378, 0.4469, 0.5699, 0.7523, 1.006, 1.338, 1.756, 2.265, 2.872",\
                 "0.3882, 0.4124, 0.4917, 0.6305, 0.8289, 1.089, 1.42, 1.837, 2.345, 2.951",\
                 "0.3982, 0.4271, 0.522, 0.6822, 0.9034, 1.187, 1.536, 1.956, 2.463, 3.067",\
                 "0.381, 0.4147, 0.526, 0.713, 0.966, 1.279, 1.656, 2.103, 2.621, 3.225",\
                 "0.3357, 0.3747, 0.502, 0.7163, 1.005, 1.356, 1.768, 2.246, 2.796, 3.423",\
                 "0.2619, 0.3055, 0.4475, 0.6887, 1.014, 1.408, 1.863, 2.38, 2.965, 3.627",\
                 "0.1602, 0.2078, 0.3636, 0.6295, 0.991, 1.429, 1.932, 2.496, 3.122, 3.822");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4176, 0.4491, 0.5586, 0.7654, 1.085, 1.532, 2.119, 2.857, 3.758, 4.832",\
                 "0.4318, 0.4634, 0.5735, 0.7809, 1.101, 1.548, 2.135, 2.874, 3.775, 4.848",\
                 "0.4675, 0.4996, 0.6103, 0.8191, 1.14, 1.588, 2.177, 2.916, 3.817, 4.89",\
                 "0.5445, 0.576, 0.6849, 0.891, 1.211, 1.657, 2.245, 2.984, 3.885, 4.958",\
                 "0.6639, 0.6976, 0.8124, 1.022, 1.336, 1.777, 2.36, 3.096, 3.995, 5.066",\
                 "0.828, 0.8633, 0.9835, 1.202, 1.528, 1.966, 2.541, 3.269, 4.162, 5.229",\
                 "1.03, 1.07, 1.2, 1.429, 1.766, 2.222, 2.798, 3.516, 4.4, 5.459",\
                 "1.265, 1.308, 1.453, 1.704, 2.056, 2.525, 3.122, 3.847, 4.719, 5.767",\
                 "1.531, 1.581, 1.742, 2.016, 2.396, 2.882, 3.495, 4.242, 5.126, 6.163",\
                 "1.83, 1.885, 2.063, 2.365, 2.778, 3.294, 3.923, 4.689, 5.598, 6.652");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3072, 0.3379, 0.4445, 0.6475, 0.9586, 1.394, 1.966, 2.685, 3.564, 4.609",\
                 "0.307, 0.3373, 0.4449, 0.6476, 0.9585, 1.396, 1.967, 2.686, 3.564, 4.61",\
                 "0.3088, 0.3389, 0.4455, 0.6475, 0.9585, 1.395, 1.966, 2.686, 3.564, 4.612",\
                 "0.3598, 0.3879, 0.4836, 0.6658, 0.9633, 1.395, 1.966, 2.686, 3.564, 4.611",\
                 "0.4556, 0.4832, 0.5788, 0.7566, 1.031, 1.426, 1.973, 2.686, 3.563, 4.611",\
                 "0.5946, 0.6238, 0.7188, 0.896, 1.167, 1.549, 2.053, 2.72, 3.568, 4.61",\
                 "0.7666, 0.799, 0.9026, 1.085, 1.354, 1.73, 2.23, 2.858, 3.652, 4.642",\
                 "0.965, 1.002, 1.117, 1.315, 1.595, 1.968, 2.459, 3.086, 3.852, 4.782",\
                 "1.186, 1.227, 1.36, 1.578, 1.878, 2.264, 2.75, 3.368, 4.131, 5.045",\
                 "1.43, 1.476, 1.623, 1.867, 2.197, 2.606, 3.103, 3.717, 4.47, 5.376");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6576, 0.7126, 0.9045, 1.267, 1.825, 2.609, 3.638, 4.93, 6.508, 8.385",\
                 "0.6577, 0.7129, 0.9042, 1.267, 1.826, 2.608, 3.636, 4.928, 6.506, 8.391",\
                 "0.6578, 0.7126, 0.9045, 1.267, 1.826, 2.609, 3.638, 4.932, 6.512, 8.39",\
                 "0.6826, 0.7331, 0.9126, 1.267, 1.826, 2.609, 3.637, 4.929, 6.509, 8.391",\
                 "0.7678, 0.8172, 0.9852, 1.31, 1.837, 2.609, 3.637, 4.931, 6.51, 8.391",\
                 "0.8822, 0.93, 1.098, 1.421, 1.919, 2.643, 3.64, 4.931, 6.511, 8.391",\
                 "1.04, 1.085, 1.247, 1.562, 2.063, 2.762, 3.707, 4.946, 6.511, 8.391",\
                 "1.223, 1.272, 1.439, 1.749, 2.239, 2.943, 3.863, 5.046, 6.549, 8.395",\
                 "1.428, 1.48, 1.663, 1.98, 2.461, 3.155, 4.082, 5.239, 6.684, 8.46",\
                 "1.648, 1.707, 1.905, 2.247, 2.739, 3.416, 4.329, 5.499, 6.915, 8.633");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.237, 0.253, 0.3074, 0.4093, 0.5654, 0.7825, 1.067, 1.425, 1.861, 2.38",\
                 "0.2485, 0.2645, 0.3189, 0.4209, 0.5771, 0.7942, 1.079, 1.436, 1.873, 2.392",\
                 "0.2804, 0.2962, 0.3509, 0.4529, 0.6092, 0.8265, 1.111, 1.469, 1.905, 2.424",\
                 "0.3175, 0.3358, 0.3969, 0.505, 0.6626, 0.8796, 1.164, 1.522, 1.958, 2.477",\
                 "0.3402, 0.3622, 0.4343, 0.5585, 0.7345, 0.963, 1.248, 1.605, 2.04, 2.559",\
                 "0.3363, 0.3633, 0.4507, 0.5976, 0.7977, 1.05, 1.358, 1.725, 2.16, 2.678",\
                 "0.3004, 0.3324, 0.4366, 0.6102, 0.8426, 1.126, 1.463, 1.859, 2.316, 2.838",\
                 "0.2329, 0.2695, 0.3897, 0.59, 0.8578, 1.181, 1.555, 1.983, 2.471, 3.024",\
                 "0.1331, 0.1738, 0.3074, 0.5342, 0.8379, 1.203, 1.622, 2.091, 2.615, 3.202",\
                 "-0.0011, 0.0443, 0.192, 0.443, 0.7814, 1.19, 1.655, 2.174, 2.742, 3.369");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4165, 0.4479, 0.5573, 0.7641, 1.084, 1.531, 2.118, 2.856, 3.758, 4.83",\
                 "0.4289, 0.4606, 0.5704, 0.778, 1.098, 1.545, 2.132, 2.871, 3.772, 4.846",\
                 "0.465, 0.4968, 0.6072, 0.8157, 1.137, 1.585, 2.173, 2.912, 3.813, 4.887",\
                 "0.5438, 0.5752, 0.6834, 0.889, 1.208, 1.655, 2.242, 2.98, 3.881, 4.955",\
                 "0.6687, 0.7015, 0.8157, 1.024, 1.337, 1.777, 2.359, 3.094, 3.993, 5.064",\
                 "0.8411, 0.8762, 0.9944, 1.21, 1.534, 1.971, 2.544, 3.27, 4.163, 5.228",\
                 "1.056, 1.094, 1.222, 1.448, 1.782, 2.235, 2.807, 3.524, 4.405, 5.463",\
                 "1.307, 1.35, 1.492, 1.737, 2.085, 2.55, 3.141, 3.863, 4.733, 5.778",\
                 "1.595, 1.642, 1.801, 2.069, 2.442, 2.922, 3.528, 4.271, 5.15, 6.183",\
                 "1.919, 1.972, 2.147, 2.442, 2.846, 3.353, 3.976, 4.735, 5.637, 6.685");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2536, 0.2801, 0.3716, 0.5437, 0.8104, 1.183, 1.67, 2.283, 3.032, 3.923",\
                 "0.2539, 0.2801, 0.3717, 0.544, 0.8099, 1.182, 1.67, 2.284, 3.032, 3.924",\
                 "0.2565, 0.2818, 0.3723, 0.5442, 0.8097, 1.181, 1.669, 2.282, 3.032, 3.924",\
                 "0.3124, 0.3362, 0.4188, 0.5704, 0.8176, 1.182, 1.67, 2.283, 3.032, 3.924",\
                 "0.4098, 0.4334, 0.5152, 0.6676, 0.9006, 1.229, 1.685, 2.283, 3.031, 3.924",\
                 "0.5466, 0.5726, 0.6572, 0.8086, 1.04, 1.365, 1.789, 2.341, 3.049, 3.925",\
                 "0.7132, 0.7414, 0.8364, 0.9972, 1.23, 1.549, 1.973, 2.509, 3.167, 3.988",\
                 "0.904, 0.938, 1.043, 1.221, 1.469, 1.792, 2.209, 2.741, 3.394, 4.172",\
                 "1.12, 1.157, 1.275, 1.477, 1.746, 2.088, 2.505, 3.031, 3.678, 4.456",\
                 "1.36, 1.401, 1.535, 1.759, 2.057, 2.423, 2.858, 3.388, 4.027, 4.799");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6577, 0.7129, 0.9042, 1.267, 1.826, 2.609, 3.637, 4.929, 6.506, 8.386",\
                 "0.6578, 0.7129, 0.9046, 1.267, 1.826, 2.608, 3.636, 4.928, 6.506, 8.387",\
                 "0.6576, 0.7126, 0.9045, 1.266, 1.826, 2.609, 3.637, 4.932, 6.511, 8.389",\
                 "0.6828, 0.7333, 0.913, 1.267, 1.826, 2.608, 3.637, 4.93, 6.509, 8.387",\
                 "0.7656, 0.815, 0.9838, 1.309, 1.837, 2.609, 3.637, 4.932, 6.51, 8.392",\
                 "0.8746, 0.923, 1.092, 1.417, 1.917, 2.643, 3.641, 4.931, 6.511, 8.39",\
                 "1.023, 1.069, 1.234, 1.552, 2.057, 2.758, 3.706, 4.946, 6.51, 8.391",\
                 "1.202, 1.251, 1.418, 1.729, 2.224, 2.932, 3.856, 5.045, 6.546, 8.394",\
                 "1.401, 1.455, 1.633, 1.951, 2.435, 3.132, 4.065, 5.231, 6.677, 8.458",\
                 "1.62, 1.679, 1.872, 2.208, 2.697, 3.381, 4.305, 5.481, 6.902, 8.624");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2772, 0.2957, 0.359, 0.4776, 0.6597, 0.9131, 1.245, 1.663, 2.172, 2.778",\
                 "0.2874, 0.3058, 0.3693, 0.488, 0.67, 0.9236, 1.256, 1.673, 2.183, 2.789",\
                 "0.317, 0.3356, 0.3992, 0.518, 0.7003, 0.9539, 1.286, 1.704, 2.214, 2.821",\
                 "0.357, 0.3776, 0.4465, 0.5695, 0.7519, 1.005, 1.337, 1.755, 2.265, 2.871",\
                 "0.3877, 0.4119, 0.4912, 0.6301, 0.8285, 1.088, 1.42, 1.836, 2.345, 2.951",\
                 "0.3974, 0.4264, 0.5211, 0.6818, 0.9032, 1.187, 1.536, 1.956, 2.462, 3.067",\
                 "0.3804, 0.414, 0.5253, 0.7125, 0.9657, 1.279, 1.656, 2.102, 2.621, 3.224",\
                 "0.3349, 0.3735, 0.5012, 0.7157, 1.004, 1.356, 1.767, 2.246, 2.796, 3.423",\
                 "0.261, 0.3049, 0.4465, 0.6882, 1.013, 1.408, 1.863, 2.379, 2.965, 3.626",\
                 "0.1592, 0.2062, 0.3627, 0.6289, 0.9903, 1.428, 1.932, 2.496, 3.123, 3.821");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4178, 0.4492, 0.5586, 0.7654, 1.085, 1.532, 2.119, 2.858, 3.759, 4.831",\
                 "0.4317, 0.4635, 0.5735, 0.7809, 1.101, 1.548, 2.135, 2.874, 3.775, 4.849",\
                 "0.4675, 0.4996, 0.6103, 0.8191, 1.14, 1.589, 2.177, 2.916, 3.817, 4.89",\
                 "0.5446, 0.576, 0.6848, 0.8909, 1.211, 1.658, 2.245, 2.984, 3.885, 4.958",\
                 "0.6639, 0.6977, 0.8124, 1.022, 1.336, 1.777, 2.361, 3.096, 3.995, 5.066",\
                 "0.828, 0.8639, 0.9835, 1.202, 1.528, 1.966, 2.541, 3.269, 4.162, 5.228",\
                 "1.03, 1.07, 1.2, 1.429, 1.767, 2.222, 2.797, 3.516, 4.4, 5.459",\
                 "1.265, 1.308, 1.453, 1.704, 2.057, 2.526, 3.122, 3.846, 4.719, 5.767",\
                 "1.531, 1.58, 1.742, 2.016, 2.396, 2.882, 3.494, 4.242, 5.126, 6.163",\
                 "1.83, 1.885, 2.064, 2.365, 2.778, 3.294, 3.924, 4.689, 5.598, 6.65");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3068, 0.3374, 0.4449, 0.6462, 0.9583, 1.395, 1.966, 2.686, 3.563, 4.608",\
                 "0.306, 0.3369, 0.4451, 0.6469, 0.9592, 1.395, 1.967, 2.686, 3.564, 4.61",\
                 "0.3084, 0.3385, 0.4451, 0.647, 0.958, 1.394, 1.966, 2.685, 3.564, 4.612",\
                 "0.3594, 0.3877, 0.4832, 0.6647, 0.9628, 1.395, 1.966, 2.686, 3.563, 4.611",\
                 "0.4554, 0.483, 0.5786, 0.7562, 1.03, 1.425, 1.972, 2.685, 3.563, 4.611",\
                 "0.5954, 0.6236, 0.7186, 0.8952, 1.167, 1.549, 2.053, 2.72, 3.568, 4.609",\
                 "0.7664, 0.799, 0.9026, 1.085, 1.354, 1.732, 2.229, 2.858, 3.652, 4.642",\
                 "0.9648, 1.004, 1.119, 1.315, 1.595, 1.968, 2.46, 3.086, 3.852, 4.781",\
                 "1.186, 1.227, 1.358, 1.578, 1.878, 2.264, 2.75, 3.368, 4.132, 5.046",\
                 "1.43, 1.474, 1.624, 1.867, 2.198, 2.605, 3.104, 3.716, 4.471, 5.377");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6568, 0.7118, 0.9033, 1.265, 1.824, 2.607, 3.636, 4.928, 6.503, 8.387",\
                 "0.6568, 0.7117, 0.9031, 1.265, 1.825, 2.607, 3.634, 4.927, 6.504, 8.385",\
                 "0.6567, 0.7116, 0.903, 1.265, 1.824, 2.607, 3.635, 4.929, 6.508, 8.39",\
                 "0.6816, 0.7319, 0.9114, 1.266, 1.825, 2.608, 3.636, 4.929, 6.508, 8.391",\
                 "0.767, 0.8154, 0.9838, 1.309, 1.835, 2.608, 3.635, 4.929, 6.508, 8.389",\
                 "0.8808, 0.9286, 1.097, 1.419, 1.918, 2.642, 3.64, 4.93, 6.51, 8.389",\
                 "1.037, 1.083, 1.245, 1.562, 2.064, 2.761, 3.705, 4.946, 6.509, 8.39",\
                 "1.221, 1.27, 1.438, 1.747, 2.238, 2.943, 3.86, 5.045, 6.546, 8.394",\
                 "1.428, 1.481, 1.661, 1.979, 2.461, 3.153, 4.078, 5.238, 6.682, 8.46",\
                 "1.646, 1.706, 1.902, 2.246, 2.738, 3.415, 4.327, 5.499, 6.913, 8.63");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2325, 0.2506, 0.313, 0.4303, 0.611, 0.8634, 1.195, 1.612, 2.121, 2.727",\
                 "0.2425, 0.2606, 0.3232, 0.4405, 0.6215, 0.874, 1.205, 1.623, 2.132, 2.737",\
                 "0.2715, 0.2898, 0.3528, 0.4705, 0.6516, 0.9043, 1.236, 1.653, 2.162, 2.769",\
                 "0.303, 0.3244, 0.3955, 0.5207, 0.7032, 0.9557, 1.287, 1.704, 2.213, 2.819",\
                 "0.3208, 0.347, 0.4312, 0.5747, 0.7764, 1.038, 1.369, 1.786, 2.293, 2.899",\
                 "0.3146, 0.3467, 0.4488, 0.6175, 0.8449, 1.133, 1.484, 1.905, 2.411, 3.016",\
                 "0.2819, 0.3189, 0.4394, 0.6375, 0.8998, 1.219, 1.6, 2.049, 2.57, 3.173",\
                 "0.2225, 0.2647, 0.4021, 0.6295, 0.9293, 1.289, 1.707, 2.189, 2.742, 3.37",\
                 "0.1367, 0.1831, 0.336, 0.5908, 0.9292, 1.333, 1.797, 2.318, 2.907, 3.571",\
                 "0.0218, 0.0738, 0.2409, 0.521, 0.8961, 1.346, 1.859, 2.43, 3.062, 3.763");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4098, 0.4415, 0.5509, 0.7575, 1.077, 1.523, 2.108, 2.846, 3.743, 4.815",\
                 "0.424, 0.4558, 0.5657, 0.7729, 1.093, 1.539, 2.126, 2.861, 3.765, 4.832",\
                 "0.4596, 0.4918, 0.6025, 0.8112, 1.132, 1.579, 2.166, 2.902, 3.802, 4.874",\
                 "0.5364, 0.568, 0.6768, 0.8827, 1.202, 1.648, 2.234, 2.971, 3.87, 4.941",\
                 "0.6546, 0.6886, 0.8038, 1.013, 1.327, 1.767, 2.349, 3.083, 3.982, 5.05",\
                 "0.8173, 0.853, 0.9735, 1.192, 1.518, 1.955, 2.529, 3.255, 4.147, 5.214",\
                 "1.017, 1.057, 1.188, 1.419, 1.756, 2.21, 2.786, 3.502, 4.383, 5.442",\
                 "1.249, 1.293, 1.44, 1.691, 2.045, 2.513, 3.108, 3.831, 4.702, 5.748",\
                 "1.512, 1.562, 1.725, 2.002, 2.383, 2.869, 3.48, 4.226, 5.109, 6.144",\
                 "1.806, 1.862, 2.044, 2.348, 2.762, 3.279, 3.908, 4.672, 5.581, 6.632");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2564, 0.2867, 0.3925, 0.5937, 0.9042, 1.34, 1.91, 2.629, 3.507, 4.552",\
                 "0.2564, 0.287, 0.3929, 0.5932, 0.9052, 1.339, 1.91, 2.63, 3.507, 4.553",\
                 "0.2628, 0.2913, 0.3938, 0.5933, 0.9046, 1.34, 1.91, 2.629, 3.507, 4.554",\
                 "0.3233, 0.3495, 0.4439, 0.6204, 0.9105, 1.34, 1.91, 2.63, 3.506, 4.554",\
                 "0.4266, 0.4532, 0.544, 0.7178, 0.9888, 1.377, 1.918, 2.63, 3.507, 4.554",\
                 "0.5728, 0.6004, 0.6922, 0.8626, 1.13, 1.507, 2.007, 2.667, 3.513, 4.553",\
                 "0.7472, 0.7786, 0.8784, 1.058, 1.321, 1.691, 2.187, 2.813, 3.603, 4.587",\
                 "0.9452, 0.9794, 1.098, 1.291, 1.565, 1.935, 2.421, 3.044, 3.808, 4.733",\
                 "1.167, 1.205, 1.336, 1.553, 1.852, 2.236, 2.717, 3.33, 4.092, 4.999",\
                 "1.406, 1.452, 1.599, 1.843, 2.172, 2.58, 3.075, 3.68, 4.431, 5.335");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5385, 0.5936, 0.7835, 1.144, 1.703, 2.486, 3.512, 4.806, 6.38, 8.259",\
                 "0.5391, 0.5936, 0.784, 1.144, 1.703, 2.485, 3.513, 4.804, 6.389, 8.266",\
                 "0.5379, 0.5933, 0.7837, 1.144, 1.702, 2.485, 3.514, 4.805, 6.386, 8.264",\
                 "0.5626, 0.6121, 0.7905, 1.143, 1.701, 2.484, 3.513, 4.809, 6.384, 8.262",\
                 "0.6388, 0.6888, 0.8618, 1.185, 1.712, 2.484, 3.513, 4.807, 6.387, 8.268",\
                 "0.7406, 0.7898, 0.962, 1.292, 1.794, 2.517, 3.515, 4.805, 6.386, 8.27",\
                 "0.878, 0.93, 1.1, 1.424, 1.933, 2.637, 3.581, 4.82, 6.386, 8.267",\
                 "1.038, 1.095, 1.277, 1.602, 2.102, 2.813, 3.736, 4.921, 6.421, 8.27",\
                 "1.215, 1.276, 1.479, 1.819, 2.317, 3.017, 3.949, 5.113, 6.556, 8.336",\
                 "1.406, 1.475, 1.697, 2.069, 2.584, 3.273, 4.193, 5.371, 6.786, 8.507");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1993, 0.2149, 0.2685, 0.369, 0.5239, 0.7402, 1.024, 1.381, 1.817, 2.336",\
                 "0.2107, 0.2263, 0.28, 0.3806, 0.5356, 0.7517, 1.036, 1.393, 1.829, 2.347",\
                 "0.2416, 0.2575, 0.3116, 0.4125, 0.5676, 0.7841, 1.068, 1.425, 1.861, 2.38",\
                 "0.2698, 0.2889, 0.3521, 0.4623, 0.621, 0.8372, 1.121, 1.478, 1.913, 2.433",\
                 "0.2786, 0.3027, 0.3803, 0.5093, 0.6885, 0.9192, 1.205, 1.562, 1.996, 2.515",\
                 "0.2589, 0.2887, 0.3836, 0.5392, 0.7456, 1.002, 1.313, 1.682, 2.116, 2.634",\
                 "0.2079, 0.2432, 0.3559, 0.5404, 0.7822, 1.073, 1.414, 1.812, 2.27, 2.794",\
                 "0.1273, 0.1673, 0.2963, 0.5087, 0.7879, 1.12, 1.5, 1.932, 2.423, 2.978",\
                 "0.0142, 0.0591, 0.2031, 0.4423, 0.7587, 1.135, 1.561, 2.036, 2.564, 3.154",\
                 "-0.1327, -0.0835, 0.0767, 0.3405, 0.6927, 1.113, 1.588, 2.114, 2.687, 3.317");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4086, 0.4403, 0.5498, 0.7562, 1.075, 1.521, 2.106, 2.843, 3.742, 4.816",\
                 "0.421, 0.4528, 0.563, 0.7699, 1.089, 1.536, 2.123, 2.857, 3.761, 4.828",\
                 "0.4569, 0.4889, 0.5995, 0.8079, 1.128, 1.575, 2.163, 2.9, 3.799, 4.871",\
                 "0.5355, 0.5671, 0.6756, 0.8807, 1.199, 1.645, 2.23, 2.967, 3.866, 4.937",\
                 "0.6591, 0.6924, 0.8067, 1.015, 1.327, 1.767, 2.348, 3.081, 3.978, 5.05",\
                 "0.8305, 0.8656, 0.9846, 1.201, 1.525, 1.96, 2.531, 3.257, 4.148, 5.212",\
                 "1.043, 1.082, 1.211, 1.438, 1.772, 2.223, 2.795, 3.509, 4.39, 5.446",\
                 "1.292, 1.335, 1.479, 1.725, 2.073, 2.537, 3.128, 3.848, 4.716, 5.761",\
                 "1.576, 1.624, 1.785, 2.055, 2.429, 2.908, 3.514, 4.255, 5.133, 6.166",\
                 "1.896, 1.95, 2.128, 2.426, 2.831, 3.338, 3.96, 4.717, 5.62, 6.667");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2114, 0.2373, 0.3278, 0.4988, 0.7635, 1.134, 1.622, 2.235, 2.983, 3.874",\
                 "0.2112, 0.2372, 0.3276, 0.4987, 0.7633, 1.133, 1.622, 2.235, 2.984, 3.873",\
                 "0.2204, 0.2439, 0.3301, 0.4987, 0.7636, 1.135, 1.622, 2.235, 2.983, 3.875",\
                 "0.2831, 0.3059, 0.3854, 0.5345, 0.7759, 1.136, 1.621, 2.234, 2.984, 3.875",\
                 "0.3873, 0.4101, 0.4884, 0.6354, 0.8654, 1.19, 1.639, 2.236, 2.984, 3.875",\
                 "0.5278, 0.5538, 0.6362, 0.7826, 1.009, 1.329, 1.753, 2.3, 3.004, 3.876",\
                 "0.6976, 0.7262, 0.8164, 0.9752, 1.203, 1.519, 1.938, 2.472, 3.127, 3.944",\
                 "0.8898, 0.9214, 1.025, 1.2, 1.448, 1.768, 2.178, 2.706, 3.358, 4.132",\
                 "1.107, 1.141, 1.259, 1.457, 1.725, 2.064, 2.479, 3.001, 3.645, 4.419",\
                 "1.347, 1.386, 1.518, 1.74, 2.035, 2.398, 2.835, 3.356, 3.995, 4.761");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.538, 0.5937, 0.7834, 1.144, 1.702, 2.486, 3.514, 4.806, 6.382, 8.269",\
                 "0.5381, 0.5925, 0.7831, 1.144, 1.703, 2.485, 3.513, 4.803, 6.388, 8.263",\
                 "0.5381, 0.5929, 0.7837, 1.143, 1.702, 2.485, 3.514, 4.807, 6.387, 8.268",\
                 "0.5628, 0.6124, 0.7909, 1.143, 1.702, 2.484, 3.513, 4.808, 6.384, 8.263",\
                 "0.636, 0.6868, 0.8606, 1.185, 1.712, 2.484, 3.512, 4.806, 6.388, 8.273",\
                 "0.7328, 0.783, 0.957, 1.288, 1.792, 2.517, 3.515, 4.806, 6.386, 8.269",\
                 "0.8662, 0.9172, 1.088, 1.414, 1.928, 2.633, 3.579, 4.819, 6.386, 8.268",\
                 "1.02, 1.076, 1.258, 1.582, 2.086, 2.801, 3.729, 4.917, 6.42, 8.27",\
                 "1.193, 1.254, 1.454, 1.792, 2.29, 2.996, 3.935, 5.105, 6.55, 8.333",\
                 "1.382, 1.449, 1.668, 2.034, 2.543, 3.24, 4.168, 5.35, 6.776, 8.499");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b0 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2362, 0.2516, 0.3047, 0.4039, 0.556, 0.7674, 1.044, 1.393, 1.817, 2.322",\
                 "0.247, 0.2622, 0.3155, 0.415, 0.567, 0.7785, 1.055, 1.403, 1.828, 2.333",\
                 "0.2844, 0.2999, 0.3533, 0.4527, 0.6049, 0.8166, 1.094, 1.441, 1.866, 2.371",\
                 "0.3389, 0.3574, 0.4189, 0.5255, 0.6788, 0.8902, 1.167, 1.515, 1.94, 2.445",\
                 "0.3757, 0.3987, 0.4742, 0.6036, 0.7824, 1.007, 1.285, 1.633, 2.056, 2.562",\
                 "0.3876, 0.4155, 0.5072, 0.6617, 0.8721, 1.133, 1.442, 1.801, 2.224, 2.728",\
                 "0.3716, 0.4048, 0.5122, 0.6941, 0.9395, 1.239, 1.59, 1.991, 2.442, 2.951",\
                 "0.3275, 0.365, 0.4887, 0.6974, 0.9785, 1.321, 1.716, 2.163, 2.662, 3.214",\
                 "0.2548, 0.2958, 0.4337, 0.6691, 0.987, 1.373, 1.815, 2.312, 2.862, 3.466",\
                 "0.1522, 0.1985, 0.3488, 0.6092, 0.9628, 1.391, 1.884, 2.433, 3.035, 3.693");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4578, 0.4888, 0.5972, 0.8029, 1.122, 1.568, 2.155, 2.893, 3.794, 4.867",\
                 "0.4724, 0.5038, 0.6128, 0.8195, 1.139, 1.586, 2.173, 2.912, 3.812, 4.886",\
                 "0.5081, 0.5395, 0.6495, 0.8573, 1.178, 1.626, 2.214, 2.954, 3.855, 4.928",\
                 "0.5851, 0.6158, 0.7236, 0.9291, 1.248, 1.695, 2.282, 3.021, 3.922, 4.995",\
                 "0.7084, 0.7415, 0.8545, 1.061, 1.375, 1.816, 2.398, 3.134, 4.033, 5.104",\
                 "0.8771, 0.9115, 1.029, 1.245, 1.569, 2.006, 2.58, 3.309, 4.201, 5.268",\
                 "1.087, 1.125, 1.252, 1.477, 1.813, 2.266, 2.84, 3.558, 4.441, 5.499",\
                 "1.331, 1.373, 1.514, 1.758, 2.108, 2.575, 3.169, 3.892, 4.764, 5.812",\
                 "1.609, 1.656, 1.811, 2.08, 2.454, 2.938, 3.548, 4.295, 5.176, 6.213",\
                 "1.92, 1.971, 2.145, 2.439, 2.844, 3.356, 3.985, 4.749, 5.656, 6.707");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2917, 0.3169, 0.4052, 0.5734, 0.8326, 1.194, 1.671, 2.271, 3.002, 3.874",\
                 "0.2915, 0.317, 0.4056, 0.5731, 0.8328, 1.196, 1.672, 2.272, 3.001, 3.873",\
                 "0.2946, 0.3183, 0.4058, 0.5729, 0.8329, 1.194, 1.671, 2.271, 3.003, 3.872",\
                 "0.3706, 0.3926, 0.4653, 0.6048, 0.8409, 1.195, 1.67, 2.271, 3.003, 3.873",\
                 "0.4898, 0.5128, 0.5906, 0.7348, 0.9492, 1.252, 1.686, 2.271, 3.001, 3.872",\
                 "0.6462, 0.6698, 0.7522, 0.9036, 1.129, 1.434, 1.823, 2.339, 3.019, 3.874",\
                 "0.8306, 0.8578, 0.95, 1.111, 1.347, 1.665, 2.069, 2.56, 3.168, 3.944",\
                 "1.043, 1.073, 1.175, 1.354, 1.606, 1.937, 2.356, 2.867, 3.471, 4.182",\
                 "1.276, 1.31, 1.429, 1.63, 1.905, 2.253, 2.686, 3.212, 3.839, 4.565",\
                 "1.534, 1.575, 1.705, 1.931, 2.234, 2.613, 3.067, 3.606, 4.25, 4.996");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7041, 0.7594, 0.9514, 1.314, 1.874, 2.656, 3.684, 4.98, 6.555, 8.438",\
                 "0.7039, 0.7594, 0.9515, 1.314, 1.874, 2.656, 3.684, 4.976, 6.554, 8.435",\
                 "0.7041, 0.7594, 0.9516, 1.314, 1.874, 2.657, 3.684, 4.979, 6.555, 8.439",\
                 "0.7233, 0.7748, 0.9572, 1.314, 1.874, 2.657, 3.685, 4.977, 6.557, 8.441",\
                 "0.805, 0.8542, 1.024, 1.352, 1.882, 2.657, 3.685, 4.979, 6.558, 8.438",\
                 "0.912, 0.9608, 1.133, 1.459, 1.959, 2.688, 3.688, 4.979, 6.558, 8.439",\
                 "1.06, 1.107, 1.273, 1.595, 2.101, 2.801, 3.75, 4.994, 6.558, 8.44",\
                 "1.242, 1.291, 1.459, 1.772, 2.27, 2.978, 3.901, 5.089, 6.592, 8.445",\
                 "1.445, 1.499, 1.677, 1.998, 2.483, 3.183, 4.114, 5.276, 6.723, 8.505",\
                 "1.666, 1.725, 1.916, 2.257, 2.751, 3.433, 4.356, 5.531, 6.949, 8.671");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&!C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1993, 0.2147, 0.2669, 0.365, 0.5158, 0.7265, 1.002, 1.35, 1.774, 2.279",\
                 "0.2099, 0.2253, 0.2776, 0.3757, 0.5267, 0.7374, 1.014, 1.361, 1.785, 2.29",\
                 "0.2467, 0.2622, 0.3151, 0.4136, 0.5646, 0.7754, 1.052, 1.399, 1.823, 2.328",\
                 "0.2891, 0.309, 0.3737, 0.484, 0.6386, 0.8493, 1.126, 1.473, 1.897, 2.402",\
                 "0.3108, 0.336, 0.4172, 0.5524, 0.7362, 0.9649, 1.244, 1.591, 2.014, 2.519",\
                 "0.3071, 0.3377, 0.4365, 0.5998, 0.8175, 1.084, 1.398, 1.758, 2.181, 2.685",\
                 "0.2761, 0.3123, 0.4287, 0.6209, 0.8758, 1.183, 1.539, 1.944, 2.398, 2.908",\
                 "0.2188, 0.2595, 0.3916, 0.6128, 0.9055, 1.257, 1.659, 2.111, 2.614, 3.168",\
                 "0.1342, 0.1788, 0.3253, 0.5732, 0.9042, 1.3, 1.752, 2.253, 2.808, 3.416",\
                 "0.0194, 0.0691, 0.2306, 0.5032, 0.8696, 1.311, 1.812, 2.369, 2.977, 3.639");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4502, 0.4814, 0.5897, 0.7952, 1.114, 1.558, 2.143, 2.881, 3.778, 4.853",\
                 "0.4649, 0.4961, 0.6055, 0.8114, 1.13, 1.576, 2.163, 2.897, 3.799, 4.868",\
                 "0.5004, 0.5319, 0.6419, 0.8496, 1.17, 1.617, 2.202, 2.94, 3.84, 4.912",\
                 "0.5773, 0.6083, 0.7159, 0.9209, 1.239, 1.685, 2.271, 3.008, 3.906, 4.981",\
                 "0.6996, 0.7328, 0.8457, 1.053, 1.365, 1.805, 2.387, 3.121, 4.019, 5.089",\
                 "0.8669, 0.9016, 1.02, 1.236, 1.56, 1.995, 2.568, 3.294, 4.186, 5.253",\
                 "1.075, 1.113, 1.241, 1.467, 1.802, 2.254, 2.828, 3.544, 4.426, 5.483",\
                 "1.317, 1.36, 1.501, 1.746, 2.095, 2.562, 3.156, 3.877, 4.748, 5.795",\
                 "1.591, 1.639, 1.796, 2.066, 2.441, 2.924, 3.534, 4.279, 5.159, 6.194",\
                 "1.898, 1.951, 2.125, 2.422, 2.829, 3.341, 3.969, 4.732, 5.638, 6.688");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2487, 0.2738, 0.3617, 0.5284, 0.7878, 1.149, 1.626, 2.225, 2.956, 3.824",\
                 "0.2487, 0.2738, 0.3615, 0.5288, 0.7881, 1.149, 1.624, 2.224, 2.956, 3.825",\
                 "0.2586, 0.2811, 0.3636, 0.528, 0.7872, 1.15, 1.625, 2.224, 2.956, 3.824",\
                 "0.3451, 0.3654, 0.4374, 0.5726, 0.801, 1.15, 1.624, 2.225, 2.955, 3.825",\
                 "0.4682, 0.4902, 0.5658, 0.707, 0.9206, 1.217, 1.645, 2.225, 2.955, 3.825",\
                 "0.6294, 0.6524, 0.7312, 0.8782, 1.1, 1.405, 1.79, 2.301, 2.975, 3.826",\
                 "0.8184, 0.8446, 0.9306, 1.089, 1.321, 1.636, 2.039, 2.528, 3.132, 3.903",\
                 "1.03, 1.059, 1.162, 1.334, 1.584, 1.909, 2.325, 2.836, 3.44, 4.148",\
                 "1.264, 1.298, 1.411, 1.608, 1.882, 2.228, 2.657, 3.183, 3.808, 4.533",\
                 "1.521, 1.56, 1.688, 1.911, 2.212, 2.588, 3.042, 3.577, 4.219, 4.964");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.588, 0.6426, 0.8323, 1.193, 1.753, 2.532, 3.562, 4.856, 6.43, 8.317",\
                 "0.5878, 0.6418, 0.8327, 1.193, 1.751, 2.533, 3.563, 4.853, 6.433, 8.312",\
                 "0.5874, 0.6419, 0.8324, 1.193, 1.752, 2.534, 3.56, 4.855, 6.436, 8.317",\
                 "0.6064, 0.6569, 0.8374, 1.193, 1.751, 2.534, 3.562, 4.855, 6.435, 8.32",\
                 "0.6798, 0.7308, 0.903, 1.229, 1.759, 2.533, 3.562, 4.856, 6.437, 8.321",\
                 "0.7762, 0.8262, 1.001, 1.333, 1.836, 2.564, 3.563, 4.856, 6.435, 8.32",\
                 "0.911, 0.96, 1.133, 1.462, 1.973, 2.678, 3.625, 4.868, 6.435, 8.317",\
                 "1.07, 1.125, 1.303, 1.628, 2.133, 2.849, 3.776, 4.964, 6.468, 8.32",\
                 "1.249, 1.308, 1.505, 1.843, 2.341, 3.048, 3.986, 5.152, 6.597, 8.381",\
                 "1.441, 1.508, 1.721, 2.086, 2.6, 3.292, 4.221, 5.403, 6.824, 8.546");
        }
      }

      timing() {
        related_pin : "B2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && C1===1'b1 && C2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&C1&C2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.167, 0.1795, 0.2222, 0.3026, 0.4258, 0.5978, 0.8236, 1.107, 1.453, 1.866",\
                 "0.179, 0.1915, 0.2345, 0.3147, 0.4382, 0.6102, 0.8359, 1.12, 1.466, 1.878",\
                 "0.2189, 0.2321, 0.276, 0.3565, 0.4803, 0.6522, 0.8779, 1.162, 1.508, 1.92",\
                 "0.2559, 0.2737, 0.3314, 0.428, 0.5598, 0.7325, 0.9582, 1.242, 1.588, 2",\
                 "0.2678, 0.2907, 0.365, 0.4871, 0.6501, 0.8498, 1.085, 1.369, 1.714, 2.127",\
                 "0.2496, 0.2784, 0.3699, 0.5205, 0.7174, 0.9552, 1.231, 1.542, 1.895, 2.306",\
                 "0.2007, 0.2342, 0.3431, 0.5223, 0.7567, 1.036, 1.354, 1.712, 2.106, 2.541",\
                 "0.1209, 0.1592, 0.2836, 0.4901, 0.7621, 1.085, 1.45, 1.855, 2.3, 2.785",\
                 "0.0094, 0.0521, 0.1905, 0.4229, 0.7314, 1.098, 1.513, 1.969, 2.466, 3.005",\
                 "-0.1375, -0.0908, 0.0629, 0.3192, 0.6626, 1.074, 1.538, 2.049, 2.6, 3.193");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4489, 0.4802, 0.5882, 0.7938, 1.112, 1.557, 2.143, 2.88, 3.777, 4.849",\
                 "0.4619, 0.4934, 0.6025, 0.8085, 1.128, 1.573, 2.159, 2.894, 3.795, 4.865",\
                 "0.4975, 0.5289, 0.6386, 0.8462, 1.166, 1.613, 2.199, 2.936, 3.837, 4.912",\
                 "0.5764, 0.6073, 0.7147, 0.9187, 1.237, 1.682, 2.268, 3.005, 3.903, 4.977",\
                 "0.7041, 0.7368, 0.8488, 1.055, 1.366, 1.805, 2.385, 3.12, 4.017, 5.084",\
                 "0.8798, 0.9141, 1.031, 1.245, 1.567, 2, 2.571, 3.296, 4.187, 5.253",\
                 "1.1, 1.138, 1.263, 1.486, 1.819, 2.268, 2.838, 3.553, 4.434, 5.488",\
                 "1.359, 1.401, 1.539, 1.78, 2.125, 2.588, 3.178, 3.895, 4.763, 5.807",\
                 "1.655, 1.702, 1.855, 2.119, 2.488, 2.965, 3.57, 4.31, 5.186, 6.218",\
                 "1.988, 2.039, 2.21, 2.5, 2.899, 3.403, 4.023, 4.78, 5.682, 6.725");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1922, 0.213, 0.2841, 0.4206, 0.6312, 0.9259, 1.314, 1.802, 2.396, 3.106",\
                 "0.1922, 0.2126, 0.2846, 0.4199, 0.6312, 0.9268, 1.314, 1.802, 2.397, 3.105",\
                 "0.2099, 0.2269, 0.2901, 0.421, 0.631, 0.9262, 1.314, 1.802, 2.396, 3.105",\
                 "0.3016, 0.3192, 0.3778, 0.4851, 0.6586, 0.9303, 1.312, 1.801, 2.396, 3.104",\
                 "0.4259, 0.4442, 0.5074, 0.6238, 0.7984, 1.031, 1.358, 1.809, 2.397, 3.106",\
                 "0.5808, 0.6018, 0.671, 0.7964, 0.9816, 1.231, 1.545, 1.934, 2.452, 3.117",\
                 "0.762, 0.7862, 0.8632, 1.004, 1.203, 1.466, 1.798, 2.199, 2.67, 3.257",\
                 "0.9692, 0.9958, 1.085, 1.24, 1.461, 1.74, 2.089, 2.509, 3.005, 3.572",\
                 "1.199, 1.229, 1.33, 1.509, 1.75, 2.056, 2.424, 2.862, 3.38, 3.974",\
                 "1.452, 1.487, 1.602, 1.8, 2.074, 2.406, 2.804, 3.263, 3.795, 4.412");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5873, 0.643, 0.8319, 1.193, 1.752, 2.534, 3.564, 4.855, 6.431, 8.31",\
                 "0.5873, 0.6429, 0.8326, 1.193, 1.753, 2.534, 3.562, 4.852, 6.437, 8.312",\
                 "0.5873, 0.6419, 0.8322, 1.193, 1.752, 2.535, 3.561, 4.854, 6.437, 8.322",\
                 "0.6066, 0.657, 0.8379, 1.193, 1.751, 2.533, 3.564, 4.858, 6.434, 8.321",\
                 "0.6788, 0.73, 0.9018, 1.229, 1.759, 2.533, 3.561, 4.857, 6.437, 8.315",\
                 "0.769, 0.8194, 0.9976, 1.33, 1.834, 2.563, 3.564, 4.856, 6.435, 8.32",\
                 "0.895, 0.9476, 1.12, 1.449, 1.967, 2.673, 3.623, 4.867, 6.435, 8.318",\
                 "1.05, 1.106, 1.282, 1.609, 2.118, 2.839, 3.77, 4.96, 6.466, 8.318",\
                 "1.224, 1.283, 1.478, 1.813, 2.315, 3.028, 3.972, 5.143, 6.591, 8.378",\
                 "1.413, 1.478, 1.687, 2.048, 2.558, 3.258, 4.196, 5.385, 6.813, 8.537");
        }
      }

      timing() {
        related_pin : "B2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3246, 0.3429, 0.4066, 0.5262, 0.7092, 0.9633, 1.296, 1.715, 2.224, 2.831",\
                 "0.3343, 0.3533, 0.417, 0.5365, 0.7195, 0.9738, 1.307, 1.725, 2.235, 2.841",\
                 "0.3646, 0.3827, 0.4469, 0.5665, 0.7497, 1.004, 1.337, 1.755, 2.265, 2.873",\
                 "0.4101, 0.4302, 0.4972, 0.6186, 0.8012, 1.055, 1.388, 1.806, 2.316, 2.923",\
                 "0.4507, 0.4738, 0.5499, 0.6851, 0.8806, 1.139, 1.47, 1.888, 2.396, 3.003",\
                 "0.4749, 0.5014, 0.5904, 0.7441, 0.9606, 1.241, 1.588, 2.007, 2.514, 3.119",\
                 "0.4711, 0.5033, 0.6069, 0.7856, 1.03, 1.338, 1.711, 2.155, 2.673, 3.276",\
                 "0.4395, 0.4755, 0.5949, 0.7989, 1.078, 1.421, 1.828, 2.303, 2.85, 3.475",\
                 "0.3781, 0.4191, 0.5535, 0.7826, 1.096, 1.481, 1.929, 2.44, 3.023, 3.681",\
                 "0.2884, 0.3326, 0.4789, 0.7338, 1.082, 1.509, 2.004, 2.562, 3.183, 3.88");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4489, 0.4802, 0.5882, 0.7938, 1.112, 1.557, 2.143, 2.88, 3.777, 4.849",\
                 "0.4619, 0.4934, 0.6025, 0.8085, 1.128, 1.573, 2.159, 2.894, 3.795, 4.865",\
                 "0.4975, 0.5289, 0.6386, 0.8462, 1.166, 1.613, 2.199, 2.936, 3.837, 4.912",\
                 "0.5764, 0.6073, 0.7147, 0.9187, 1.237, 1.682, 2.268, 3.005, 3.903, 4.977",\
                 "0.7041, 0.7368, 0.8488, 1.055, 1.366, 1.805, 2.385, 3.12, 4.017, 5.084",\
                 "0.8798, 0.9141, 1.031, 1.245, 1.567, 2, 2.571, 3.296, 4.187, 5.253",\
                 "1.1, 1.138, 1.263, 1.486, 1.819, 2.268, 2.838, 3.553, 4.434, 5.488",\
                 "1.359, 1.401, 1.539, 1.78, 2.125, 2.588, 3.178, 3.895, 4.763, 5.807",\
                 "1.655, 1.702, 1.855, 2.119, 2.488, 2.965, 3.57, 4.31, 5.186, 6.218",\
                 "1.988, 2.039, 2.21, 2.5, 2.899, 3.403, 4.023, 4.78, 5.682, 6.725");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3563, 0.3883, 0.4967, 0.7001, 1.013, 1.45, 2.021, 2.743, 3.622, 4.666",\
                 "0.356, 0.3882, 0.497, 0.7, 1.013, 1.451, 2.023, 2.742, 3.62, 4.668",\
                 "0.3563, 0.388, 0.4967, 0.7, 1.013, 1.45, 2.023, 2.742, 3.621, 4.667",\
                 "0.3985, 0.4272, 0.5239, 0.7121, 1.015, 1.45, 2.021, 2.742, 3.621, 4.668",\
                 "0.4882, 0.516, 0.6148, 0.797, 1.074, 1.473, 2.025, 2.741, 3.621, 4.668",\
                 "0.6224, 0.651, 0.7492, 0.9294, 1.206, 1.592, 2.099, 2.77, 3.624, 4.667",\
                 "0.793, 0.8246, 0.9302, 1.113, 1.387, 1.769, 2.272, 2.904, 3.702, 4.695",\
                 "0.9914, 1.027, 1.143, 1.343, 1.626, 2.001, 2.499, 3.128, 3.895, 4.832",\
                 "1.214, 1.256, 1.386, 1.604, 1.907, 2.296, 2.786, 3.407, 4.174, 5.089",\
                 "1.46, 1.506, 1.652, 1.896, 2.225, 2.637, 3.135, 3.752, 4.51, 5.422");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7848, 0.8392, 1.03, 1.391, 1.951, 2.734, 3.762, 5.056, 6.629, 8.512",\
                 "0.7846, 0.8392, 1.03, 1.39, 1.95, 2.733, 3.76, 5.055, 6.632, 8.512",\
                 "0.7844, 0.8391, 1.029, 1.391, 1.95, 2.732, 3.762, 5.056, 6.635, 8.516",\
                 "0.8092, 0.8592, 1.038, 1.391, 1.951, 2.733, 3.761, 5.054, 6.634, 8.516",\
                 "0.8998, 0.9468, 1.11, 1.433, 1.961, 2.733, 3.762, 5.055, 6.635, 8.514",\
                 "1.025, 1.071, 1.233, 1.548, 2.043, 2.768, 3.765, 5.055, 6.635, 8.516",\
                 "1.194, 1.237, 1.392, 1.699, 2.193, 2.887, 3.831, 5.072, 6.636, 8.517",\
                 "1.4, 1.444, 1.597, 1.894, 2.375, 3.073, 3.988, 5.172, 6.674, 8.52",\
                 "1.627, 1.675, 1.839, 2.137, 2.606, 3.29, 4.209, 5.365, 6.808, 8.584",\
                 "1.875, 1.926, 2.103, 2.419, 2.892, 3.559, 4.465, 5.628, 7.04, 8.757");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3166, 0.335, 0.3985, 0.5174, 0.6996, 0.953, 1.285, 1.703, 2.213, 2.818",\
                 "0.331, 0.3498, 0.4134, 0.5325, 0.7149, 0.9686, 1.301, 1.719, 2.228, 2.835",\
                 "0.3586, 0.3775, 0.4418, 0.5614, 0.7444, 0.9985, 1.331, 1.749, 2.259, 2.865",\
                 "0.3827, 0.4027, 0.4701, 0.5922, 0.7754, 1.03, 1.362, 1.781, 2.29, 2.897",\
                 "0.3883, 0.4102, 0.4839, 0.6165, 0.8109, 1.07, 1.402, 1.82, 2.329, 2.935",\
                 "0.3671, 0.3932, 0.4775, 0.624, 0.8332, 1.109, 1.455, 1.876, 2.384, 2.989",\
                 "0.3064, 0.3369, 0.4364, 0.6047, 0.837, 1.133, 1.498, 1.939, 2.459, 3.064",\
                 "0.2017, 0.2368, 0.3522, 0.5476, 0.8104, 1.136, 1.526, 1.989, 2.53, 3.156",\
                 "0.0495, 0.0904, 0.2221, 0.4439, 0.7427, 1.104, 1.529, 2.02, 2.586, 3.235",\
                 "-0.1523, -0.1066, 0.0427, 0.2923, 0.6265, 1.031, 1.496, 2.024, 2.622, 3.298");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4973, 0.5301, 0.6436, 0.8558, 1.181, 1.634, 2.225, 2.968, 3.873, 4.948",\
                 "0.5064, 0.539, 0.6529, 0.8652, 1.19, 1.643, 2.235, 2.978, 3.882, 4.958",\
                 "0.5568, 0.5894, 0.7029, 0.9151, 1.24, 1.693, 2.285, 3.028, 3.932, 5.008",\
                 "0.6769, 0.7087, 0.8198, 1.029, 1.351, 1.801, 2.392, 3.133, 4.037, 5.112",\
                 "0.8786, 0.9112, 1.021, 1.224, 1.54, 1.984, 2.57, 3.308, 4.209, 5.281",\
                 "1.129, 1.165, 1.288, 1.508, 1.824, 2.259, 2.836, 3.567, 4.462, 5.53",\
                 "1.427, 1.466, 1.601, 1.84, 2.188, 2.636, 3.205, 3.925, 4.81, 5.869",\
                 "1.781, 1.824, 1.968, 2.225, 2.599, 3.088, 3.681, 4.394, 5.267, 6.317",\
                 "2.19, 2.237, 2.395, 2.67, 3.068, 3.588, 4.228, 4.975, 5.845, 6.879",\
                 "2.656, 2.707, 2.878, 3.178, 3.601, 4.149, 4.826, 5.625, 6.535, 7.572");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3071, 0.3373, 0.4446, 0.6476, 0.9586, 1.395, 1.967, 2.687, 3.565, 4.608",\
                 "0.3063, 0.3377, 0.4446, 0.6473, 0.9587, 1.395, 1.967, 2.685, 3.565, 4.61",\
                 "0.3067, 0.3377, 0.4455, 0.6475, 0.9589, 1.394, 1.966, 2.687, 3.564, 4.61",\
                 "0.3391, 0.3689, 0.4678, 0.6572, 0.9608, 1.394, 1.966, 2.686, 3.564, 4.611",\
                 "0.4016, 0.4306, 0.5318, 0.7218, 1.011, 1.418, 1.972, 2.686, 3.563, 4.611",\
                 "0.511, 0.539, 0.6358, 0.8186, 1.107, 1.512, 2.037, 2.717, 3.571, 4.61",\
                 "0.6602, 0.6896, 0.7886, 0.9692, 1.247, 1.642, 2.171, 2.831, 3.646, 4.644",\
                 "0.8394, 0.873, 0.9784, 1.164, 1.443, 1.827, 2.34, 3, 3.808, 4.767",\
                 "1.045, 1.078, 1.194, 1.397, 1.682, 2.067, 2.57, 3.213, 4.014, 4.974",\
                 "1.272, 1.31, 1.436, 1.652, 1.958, 2.356, 2.86, 3.489, 4.27, 5.224");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.9637, 1.017, 1.206, 1.566, 2.126, 2.91, 3.94, 5.237, 6.818, 8.7",\
                 "0.9637, 1.017, 1.206, 1.566, 2.126, 2.91, 3.941, 5.238, 6.818, 8.699",\
                 "0.9632, 1.017, 1.206, 1.566, 2.126, 2.91, 3.94, 5.237, 6.816, 8.703",\
                 "0.9647, 1.017, 1.206, 1.566, 2.126, 2.911, 3.941, 5.237, 6.818, 8.7",\
                 "1.047, 1.093, 1.256, 1.582, 2.127, 2.911, 3.941, 5.236, 6.819, 8.699",\
                 "1.195, 1.243, 1.408, 1.708, 2.193, 2.922, 3.942, 5.238, 6.819, 8.702",\
                 "1.355, 1.405, 1.582, 1.91, 2.383, 3.048, 3.981, 5.241, 6.818, 8.702",\
                 "1.543, 1.594, 1.777, 2.119, 2.629, 3.298, 4.166, 5.323, 6.832, 8.701",\
                 "1.757, 1.81, 1.999, 2.346, 2.881, 3.597, 4.475, 5.564, 6.96, 8.735",\
                 "1.999, 2.057, 2.252, 2.609, 3.148, 3.895, 4.834, 5.933, 7.261, 8.922");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2719, 0.2901, 0.3529, 0.4703, 0.6513, 0.904, 1.235, 1.653, 2.162, 2.768",\
                 "0.2861, 0.3043, 0.3675, 0.4855, 0.6667, 0.9194, 1.251, 1.669, 2.178, 2.784",\
                 "0.3128, 0.3314, 0.3952, 0.5141, 0.6962, 0.9494, 1.281, 1.699, 2.208, 2.814",\
                 "0.3318, 0.3522, 0.4208, 0.5441, 0.7269, 0.9803, 1.313, 1.73, 2.239, 2.846",\
                 "0.33, 0.3531, 0.4295, 0.5639, 0.7599, 1.021, 1.352, 1.769, 2.278, 2.884",\
                 "0.2962, 0.3241, 0.414, 0.5658, 0.7785, 1.056, 1.404, 1.826, 2.333, 2.938",\
                 "0.2202, 0.2533, 0.3605, 0.5381, 0.7765, 1.077, 1.445, 1.887, 2.408, 3.014",\
                 "0.0994, 0.1382, 0.2635, 0.4698, 0.7427, 1.075, 1.469, 1.934, 2.477, 3.104",\
                 "-0.0689, -0.0238, 0.1193, 0.355, 0.6654, 1.038, 1.467, 1.962, 2.53, 3.182",\
                 "-0.2852, -0.2356, -0.0739, 0.192, 0.5398, 0.9558, 1.429, 1.963, 2.564, 3.242");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4869, 0.5199, 0.6337, 0.8457, 1.171, 1.621, 2.212, 2.952, 3.855, 4.929",\
                 "0.4957, 0.5289, 0.6426, 0.855, 1.18, 1.631, 2.221, 2.962, 3.865, 4.939",\
                 "0.5464, 0.5791, 0.6927, 0.905, 1.23, 1.681, 2.271, 3.012, 3.915, 4.989",\
                 "0.6665, 0.6983, 0.8096, 1.019, 1.34, 1.789, 2.378, 3.118, 4.019, 5.093",\
                 "0.8671, 0.9006, 1.011, 1.214, 1.53, 1.972, 2.556, 3.292, 4.19, 5.263",\
                 "1.115, 1.151, 1.275, 1.497, 1.813, 2.248, 2.823, 3.55, 4.444, 5.511",\
                 "1.41, 1.45, 1.585, 1.826, 2.175, 2.623, 3.191, 3.909, 4.792, 5.851",\
                 "1.761, 1.805, 1.951, 2.209, 2.584, 3.073, 3.666, 4.379, 5.25, 6.297",\
                 "2.167, 2.214, 2.374, 2.652, 3.05, 3.571, 4.211, 4.958, 5.827, 6.861",\
                 "2.626, 2.679, 2.855, 3.157, 3.581, 4.13, 4.807, 5.607, 6.518, 7.553");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2572, 0.2879, 0.3938, 0.5943, 0.9052, 1.34, 1.912, 2.631, 3.507, 4.554",\
                 "0.2574, 0.2883, 0.3941, 0.5949, 0.9047, 1.341, 1.911, 2.631, 3.508, 4.554",\
                 "0.2586, 0.289, 0.3938, 0.5941, 0.9054, 1.341, 1.911, 2.631, 3.509, 4.553",\
                 "0.2968, 0.3256, 0.4241, 0.6096, 0.9087, 1.341, 1.912, 2.63, 3.509, 4.555",\
                 "0.3654, 0.3934, 0.4904, 0.677, 0.965, 1.368, 1.917, 2.63, 3.508, 4.554",\
                 "0.4838, 0.5104, 0.6034, 0.78, 1.063, 1.465, 1.99, 2.665, 3.516, 4.554",\
                 "0.6376, 0.6658, 0.7626, 0.938, 1.209, 1.599, 2.123, 2.783, 3.596, 4.59",\
                 "0.821, 0.8512, 0.954, 1.14, 1.412, 1.788, 2.298, 2.954, 3.76, 4.717",\
                 "1.029, 1.062, 1.172, 1.372, 1.656, 2.035, 2.53, 3.168, 3.969, 4.927",\
                 "1.259, 1.295, 1.418, 1.629, 1.932, 2.326, 2.828, 3.451, 4.227, 5.178");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.8294, 0.8841, 1.076, 1.439, 2.001, 2.786, 3.816, 5.113, 6.695, 8.576",\
                 "0.8291, 0.8843, 1.076, 1.44, 2.001, 2.786, 3.817, 5.113, 6.695, 8.575",\
                 "0.8291, 0.8839, 1.076, 1.44, 2.001, 2.786, 3.816, 5.113, 6.693, 8.576",\
                 "0.83, 0.8839, 1.075, 1.439, 2.001, 2.786, 3.817, 5.114, 6.694, 8.577",\
                 "0.9124, 0.9602, 1.126, 1.456, 2.002, 2.786, 3.816, 5.114, 6.694, 8.577",\
                 "1.046, 1.097, 1.272, 1.581, 2.068, 2.798, 3.817, 5.113, 6.695, 8.578",\
                 "1.189, 1.244, 1.431, 1.771, 2.257, 2.924, 3.857, 5.117, 6.696, 8.579",\
                 "1.361, 1.417, 1.609, 1.967, 2.491, 3.172, 4.041, 5.199, 6.708, 8.579",\
                 "1.559, 1.617, 1.818, 2.184, 2.73, 3.461, 4.348, 5.44, 6.838, 8.61",\
                 "1.777, 1.842, 2.055, 2.431, 2.99, 3.751, 4.699, 5.807, 7.137, 8.796");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2422, 0.2579, 0.3116, 0.412, 0.5664, 0.7817, 1.064, 1.42, 1.854, 2.37",\
                 "0.2568, 0.2726, 0.3267, 0.4275, 0.582, 0.7976, 1.08, 1.436, 1.869, 2.386",\
                 "0.2921, 0.3081, 0.3628, 0.4643, 0.6196, 0.8356, 1.119, 1.474, 1.908, 2.425",\
                 "0.3213, 0.3395, 0.4004, 0.5081, 0.6653, 0.8814, 1.164, 1.52, 1.954, 2.471",\
                 "0.3256, 0.3476, 0.4186, 0.5405, 0.7142, 0.9415, 1.226, 1.582, 2.015, 2.532",\
                 "0.2938, 0.3209, 0.4078, 0.5512, 0.7463, 0.9949, 1.301, 1.667, 2.101, 2.616",\
                 "0.2181, 0.2502, 0.3554, 0.5274, 0.7543, 1.031, 1.362, 1.753, 2.208, 2.731",\
                 "0.0966, 0.1348, 0.2575, 0.4597, 0.7242, 1.04, 1.404, 1.823, 2.305, 2.856",\
                 "-0.0732, -0.0288, 0.1125, 0.3438, 0.6477, 1.007, 1.414, 1.872, 2.386, 2.965",\
                 "-0.2918, -0.2424, -0.0836, 0.1784, 0.5209, 0.927, 1.383, 1.888, 2.442, 3.056");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5167, 0.5497, 0.664, 0.8767, 1.202, 1.654, 2.244, 2.986, 3.889, 4.963",\
                 "0.5262, 0.5593, 0.6737, 0.8868, 1.212, 1.664, 2.255, 2.996, 3.899, 4.974",\
                 "0.5763, 0.6093, 0.7235, 0.9365, 1.262, 1.714, 2.305, 3.046, 3.949, 5.024",\
                 "0.6967, 0.7288, 0.8404, 1.05, 1.373, 1.823, 2.411, 3.151, 4.054, 5.127",\
                 "0.901, 0.9334, 1.043, 1.247, 1.563, 2.006, 2.59, 3.327, 4.226, 5.297",\
                 "1.155, 1.191, 1.314, 1.534, 1.848, 2.284, 2.859, 3.588, 4.481, 5.547",\
                 "1.457, 1.496, 1.631, 1.871, 2.217, 2.663, 3.23, 3.948, 4.832, 5.89",\
                 "1.815, 1.857, 2.002, 2.26, 2.633, 3.12, 3.71, 4.422, 5.293, 6.341",\
                 "2.228, 2.275, 2.432, 2.709, 3.106, 3.626, 4.263, 5.007, 5.875, 6.908",\
                 "2.697, 2.748, 2.921, 3.22, 3.643, 4.192, 4.868, 5.665, 6.572, 7.606");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2154, 0.2412, 0.3312, 0.5016, 0.7655, 1.135, 1.622, 2.232, 2.978, 3.867",\
                 "0.2156, 0.241, 0.3307, 0.5016, 0.7657, 1.135, 1.621, 2.231, 2.978, 3.866",\
                 "0.2185, 0.2434, 0.3314, 0.5017, 0.7658, 1.136, 1.622, 2.232, 2.978, 3.866",\
                 "0.2663, 0.2898, 0.3705, 0.5241, 0.7726, 1.135, 1.621, 2.232, 2.978, 3.867",\
                 "0.3496, 0.3722, 0.4522, 0.605, 0.8448, 1.178, 1.635, 2.233, 2.978, 3.867",\
                 "0.4784, 0.5028, 0.5822, 0.7288, 0.9622, 1.295, 1.731, 2.289, 2.998, 3.867",\
                 "0.6412, 0.6662, 0.752, 0.906, 1.133, 1.454, 1.887, 2.439, 3.107, 3.932",\
                 "0.8308, 0.859, 0.9542, 1.118, 1.356, 1.673, 2.094, 2.637, 3.308, 4.101",\
                 "1.046, 1.077, 1.181, 1.361, 1.616, 1.945, 2.362, 2.889, 3.552, 4.347",\
                 "1.281, 1.315, 1.429, 1.626, 1.905, 2.254, 2.686, 3.207, 3.854, 4.641");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.8696, 0.9245, 1.117, 1.481, 2.044, 2.829, 3.859, 5.157, 6.737, 8.623",\
                 "0.8696, 0.9245, 1.117, 1.481, 2.043, 2.829, 3.86, 5.156, 6.738, 8.619",\
                 "0.8691, 0.9242, 1.117, 1.481, 2.043, 2.828, 3.86, 5.157, 6.739, 8.623",\
                 "0.8684, 0.9234, 1.116, 1.481, 2.043, 2.829, 3.861, 5.157, 6.738, 8.62",\
                 "0.9418, 0.9884, 1.158, 1.493, 2.044, 2.829, 3.86, 5.158, 6.739, 8.621",\
                 "1.074, 1.126, 1.3, 1.61, 2.102, 2.838, 3.861, 5.158, 6.738, 8.623",\
                 "1.215, 1.27, 1.459, 1.799, 2.284, 2.956, 3.897, 5.161, 6.74, 8.623",\
                 "1.379, 1.437, 1.632, 1.993, 2.518, 3.197, 4.072, 5.234, 6.75, 8.623",\
                 "1.574, 1.633, 1.834, 2.202, 2.753, 3.485, 4.371, 5.467, 6.873, 8.654",\
                 "1.788, 1.853, 2.065, 2.445, 3.007, 3.771, 4.719, 5.828, 7.161, 8.824");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2714, 0.2894, 0.3522, 0.4695, 0.6504, 0.9029, 1.234, 1.652, 2.161, 2.766",\
                 "0.2854, 0.3037, 0.3667, 0.4847, 0.6658, 0.9185, 1.25, 1.667, 2.177, 2.783",\
                 "0.3121, 0.3307, 0.3945, 0.5132, 0.6952, 0.9485, 1.28, 1.698, 2.207, 2.813",\
                 "0.3311, 0.3514, 0.42, 0.5433, 0.726, 0.9795, 1.312, 1.729, 2.239, 2.845",\
                 "0.3291, 0.3522, 0.4284, 0.5629, 0.759, 1.02, 1.352, 1.768, 2.277, 2.883",\
                 "0.2951, 0.3229, 0.4129, 0.5646, 0.7774, 1.055, 1.403, 1.825, 2.332, 2.937",\
                 "0.2187, 0.252, 0.3593, 0.5368, 0.7754, 1.076, 1.443, 1.886, 2.407, 3.012",\
                 "0.0974, 0.1363, 0.2618, 0.4683, 0.7411, 1.073, 1.468, 1.933, 2.476, 3.103",\
                 "-0.0711, -0.026, 0.1178, 0.3534, 0.664, 1.036, 1.466, 1.961, 2.53, 3.181",\
                 "-0.2883, -0.238, -0.0758, 0.19, 0.5383, 0.9547, 1.428, 1.962, 2.564, 3.241");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.487, 0.5199, 0.6337, 0.8457, 1.171, 1.621, 2.212, 2.952, 3.855, 4.929",\
                 "0.4958, 0.5289, 0.6427, 0.855, 1.18, 1.631, 2.221, 2.962, 3.864, 4.939",\
                 "0.5463, 0.5793, 0.6928, 0.905, 1.23, 1.681, 2.271, 3.012, 3.915, 4.989",\
                 "0.6665, 0.6985, 0.8096, 1.019, 1.34, 1.789, 2.378, 3.118, 4.019, 5.093",\
                 "0.8672, 0.9003, 1.011, 1.214, 1.53, 1.972, 2.556, 3.292, 4.191, 5.262",\
                 "1.114, 1.151, 1.275, 1.497, 1.814, 2.248, 2.822, 3.551, 4.444, 5.51",\
                 "1.41, 1.451, 1.585, 1.826, 2.175, 2.624, 3.191, 3.909, 4.792, 5.85",\
                 "1.761, 1.805, 1.95, 2.209, 2.584, 3.073, 3.667, 4.378, 5.25, 6.297",\
                 "2.166, 2.214, 2.374, 2.652, 3.05, 3.571, 4.211, 4.958, 5.826, 6.86",\
                 "2.626, 2.679, 2.854, 3.157, 3.581, 4.13, 4.807, 5.607, 6.517, 7.552");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2564, 0.287, 0.3931, 0.5933, 0.9036, 1.34, 1.911, 2.63, 3.507, 4.553",\
                 "0.2562, 0.2871, 0.3926, 0.5939, 0.9036, 1.34, 1.911, 2.629, 3.508, 4.552",\
                 "0.2577, 0.2876, 0.3932, 0.5935, 0.9043, 1.34, 1.91, 2.63, 3.508, 4.552",\
                 "0.2966, 0.3248, 0.4233, 0.6086, 0.9076, 1.339, 1.91, 2.629, 3.508, 4.554",\
                 "0.3646, 0.3926, 0.4894, 0.676, 0.9642, 1.367, 1.916, 2.629, 3.507, 4.554",\
                 "0.4832, 0.51, 0.6028, 0.7788, 1.062, 1.464, 1.989, 2.664, 3.515, 4.552",\
                 "0.6372, 0.6658, 0.7616, 0.9372, 1.208, 1.598, 2.123, 2.782, 3.594, 4.59",\
                 "0.8206, 0.851, 0.9536, 1.139, 1.41, 1.787, 2.296, 2.954, 3.759, 4.716",\
                 "1.029, 1.062, 1.175, 1.371, 1.652, 2.035, 2.529, 3.168, 3.967, 4.926",\
                 "1.256, 1.293, 1.418, 1.629, 1.933, 2.325, 2.826, 3.448, 4.226, 5.179");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.8268, 0.8816, 1.074, 1.436, 1.998, 2.783, 3.813, 5.11, 6.691, 8.573",\
                 "0.8266, 0.8815, 1.074, 1.437, 1.998, 2.783, 3.813, 5.11, 6.691, 8.572",\
                 "0.8263, 0.8815, 1.073, 1.436, 1.998, 2.783, 3.814, 5.111, 6.69, 8.576",\
                 "0.8273, 0.8816, 1.073, 1.437, 1.998, 2.783, 3.814, 5.111, 6.69, 8.574",\
                 "0.9098, 0.9574, 1.123, 1.453, 1.999, 2.783, 3.814, 5.111, 6.691, 8.574",\
                 "1.042, 1.094, 1.269, 1.579, 2.066, 2.795, 3.814, 5.111, 6.691, 8.575",\
                 "1.186, 1.241, 1.429, 1.769, 2.253, 2.922, 3.855, 5.114, 6.692, 8.577",\
                 "1.357, 1.413, 1.607, 1.965, 2.489, 3.169, 4.038, 5.195, 6.705, 8.577",\
                 "1.555, 1.613, 1.816, 2.179, 2.726, 3.458, 4.346, 5.438, 6.838, 8.608",\
                 "1.774, 1.838, 2.049, 2.427, 2.985, 3.75, 4.695, 5.804, 7.135, 8.792");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2298, 0.247, 0.308, 0.4235, 0.6031, 0.8541, 1.185, 1.601, 2.11, 2.715",\
                 "0.2431, 0.2609, 0.3224, 0.4383, 0.6185, 0.8698, 1.2, 1.617, 2.126, 2.732",\
                 "0.268, 0.2864, 0.3494, 0.4664, 0.6474, 0.8995, 1.23, 1.648, 2.157, 2.763",\
                 "0.2801, 0.3009, 0.3706, 0.4951, 0.6779, 0.9302, 1.262, 1.679, 2.187, 2.794",\
                 "0.2674, 0.2921, 0.3726, 0.5101, 0.7078, 0.9699, 1.302, 1.718, 2.226, 2.832",\
                 "0.2165, 0.248, 0.3458, 0.505, 0.7222, 1.002, 1.352, 1.775, 2.281, 2.886",\
                 "0.1221, 0.1596, 0.2778, 0.467, 0.714, 1.019, 1.389, 1.834, 2.356, 2.961",\
                 "-0.0174, 0.0273, 0.1655, 0.3864, 0.6713, 1.011, 1.411, 1.878, 2.423, 3.051",\
                 "-0.2029, -0.1528, 0.0066, 0.2599, 0.5845, 0.9664, 1.404, 1.903, 2.474, 3.126",\
                 "-0.4361, -0.3801, -0.2015, 0.0844, 0.4491, 0.8773, 1.36, 1.899, 2.505, 3.185");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.4768, 0.5101, 0.6241, 0.8363, 1.161, 1.611, 2.2, 2.939, 3.841, 4.914",\
                 "0.4857, 0.5189, 0.6332, 0.8456, 1.17, 1.621, 2.21, 2.949, 3.85, 4.927",\
                 "0.5361, 0.5692, 0.6833, 0.8956, 1.22, 1.67, 2.26, 2.999, 3.9, 4.974",\
                 "0.6565, 0.6885, 0.8, 1.009, 1.33, 1.778, 2.366, 3.105, 4.004, 5.08",\
                 "0.8556, 0.8892, 1.001, 1.205, 1.519, 1.961, 2.544, 3.279, 4.176, 5.246",\
                 "1.101, 1.137, 1.263, 1.486, 1.803, 2.236, 2.81, 3.536, 4.428, 5.494",\
                 "1.394, 1.435, 1.571, 1.813, 2.163, 2.612, 3.178, 3.894, 4.777, 5.834",\
                 "1.742, 1.786, 1.934, 2.194, 2.57, 3.06, 3.652, 4.363, 5.233, 6.279",\
                 "2.144, 2.192, 2.354, 2.635, 3.033, 3.555, 4.195, 4.942, 5.81, 6.843",\
                 "2.599, 2.653, 2.831, 3.137, 3.562, 4.111, 4.788, 5.588, 6.499, 7.534");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2057, 0.2355, 0.3411, 0.5401, 0.8509, 1.284, 1.855, 2.575, 3.453, 4.502",\
                 "0.2059, 0.2364, 0.3411, 0.5401, 0.8509, 1.284, 1.856, 2.575, 3.456, 4.497",\
                 "0.2113, 0.2398, 0.3416, 0.5398, 0.8502, 1.285, 1.855, 2.576, 3.456, 4.504",\
                 "0.2549, 0.2829, 0.3793, 0.5618, 0.8562, 1.283, 1.856, 2.574, 3.45, 4.502",\
                 "0.3343, 0.3595, 0.451, 0.6322, 0.9184, 1.318, 1.864, 2.576, 3.453, 4.499",\
                 "0.46, 0.4856, 0.5736, 0.7438, 1.019, 1.418, 1.941, 2.616, 3.466, 4.498",\
                 "0.6218, 0.6476, 0.739, 0.9084, 1.173, 1.556, 2.077, 2.735, 3.543, 4.54",\
                 "0.811, 0.839, 0.936, 1.114, 1.382, 1.751, 2.254, 2.91, 3.712, 4.667",\
                 "1.025, 1.055, 1.158, 1.349, 1.627, 2.006, 2.495, 3.126, 3.922, 4.879",\
                 "1.25, 1.285, 1.403, 1.611, 1.909, 2.297, 2.794, 3.411, 4.185, 5.13");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6945, 0.7505, 0.9452, 1.31, 1.874, 2.661, 3.693, 4.992, 6.576, 8.453",\
                 "0.6946, 0.7502, 0.9448, 1.311, 1.875, 2.661, 3.694, 4.992, 6.576, 8.46",\
                 "0.6935, 0.7498, 0.9449, 1.31, 1.874, 2.66, 3.692, 4.993, 6.575, 8.452",\
                 "0.6944, 0.7497, 0.9439, 1.31, 1.874, 2.66, 3.692, 4.991, 6.575, 8.459",\
                 "0.7746, 0.8242, 0.9936, 1.325, 1.874, 2.66, 3.692, 4.989, 6.573, 8.452",\
                 "0.8894, 0.9452, 1.131, 1.451, 1.941, 2.671, 3.69, 4.989, 6.571, 8.457",\
                 "1.015, 1.075, 1.276, 1.628, 2.126, 2.797, 3.731, 4.99, 6.57, 8.455",\
                 "1.17, 1.231, 1.441, 1.811, 2.35, 3.042, 3.915, 5.072, 6.581, 8.452",\
                 "1.346, 1.412, 1.631, 2.014, 2.576, 3.322, 4.219, 5.314, 6.71, 8.483",\
                 "1.539, 1.613, 1.85, 2.248, 2.826, 3.603, 4.562, 5.681, 7.012, 8.668");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2072, 0.2222, 0.2743, 0.3727, 0.5254, 0.7397, 1.021, 1.376, 1.809, 2.326",\
                 "0.2211, 0.2366, 0.289, 0.388, 0.541, 0.7555, 1.037, 1.392, 1.825, 2.343",\
                 "0.2541, 0.2702, 0.3243, 0.4246, 0.5783, 0.7935, 1.076, 1.43, 1.865, 2.38",\
                 "0.2744, 0.2937, 0.3567, 0.466, 0.6239, 0.8392, 1.122, 1.477, 1.91, 2.427",\
                 "0.2657, 0.2897, 0.3661, 0.4926, 0.6688, 0.8979, 1.184, 1.538, 1.971, 2.487",\
                 "0.2165, 0.2469, 0.3421, 0.4948, 0.6959, 0.9474, 1.255, 1.623, 2.057, 2.572",\
                 "0.1217, 0.1587, 0.2747, 0.4589, 0.6956, 0.9786, 1.313, 1.706, 2.163, 2.686",\
                 "-0.0182, 0.026, 0.1622, 0.3782, 0.6554, 0.9803, 1.351, 1.773, 2.257, 2.809",\
                 "-0.2052, -0.1551, 0.0009, 0.2501, 0.5684, 0.9396, 1.355, 1.818, 2.335, 2.916",\
                 "-0.4407, -0.3846, -0.2085, 0.0724, 0.4317, 0.851, 1.318, 1.828, 2.388, 3.005");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5061, 0.5395, 0.6541, 0.8671, 1.192, 1.643, 2.233, 2.973, 3.877, 4.945",\
                 "0.5155, 0.549, 0.6638, 0.8771, 1.203, 1.654, 2.243, 2.984, 3.886, 4.961",\
                 "0.5656, 0.599, 0.7136, 0.9268, 1.252, 1.703, 2.293, 3.033, 3.935, 5.011",\
                 "0.6861, 0.7186, 0.8306, 1.04, 1.363, 1.811, 2.4, 3.139, 4.039, 5.115",\
                 "0.889, 0.9222, 1.033, 1.238, 1.553, 1.995, 2.578, 3.313, 4.211, 5.283",\
                 "1.141, 1.177, 1.302, 1.523, 1.837, 2.272, 2.846, 3.573, 4.465, 5.531",\
                 "1.441, 1.481, 1.616, 1.858, 2.205, 2.651, 3.217, 3.933, 4.816, 5.874",\
                 "1.795, 1.839, 1.985, 2.244, 2.619, 3.106, 3.696, 4.406, 5.277, 6.323",\
                 "2.206, 2.253, 2.413, 2.691, 3.089, 3.611, 4.247, 4.991, 5.858, 6.891",\
                 "2.67, 2.723, 2.899, 3.2, 3.624, 4.173, 4.85, 5.647, 6.554, 7.587");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.174, 0.1986, 0.2861, 0.4563, 0.7199, 1.087, 1.572, 2.184, 2.928, 3.819",\
                 "0.1743, 0.1988, 0.2865, 0.4563, 0.7187, 1.088, 1.574, 2.183, 2.929, 3.82",\
                 "0.1826, 0.2049, 0.2887, 0.4555, 0.719, 1.089, 1.575, 2.188, 2.932, 3.82",\
                 "0.2364, 0.2584, 0.3358, 0.4866, 0.7296, 1.09, 1.574, 2.185, 2.929, 3.819",\
                 "0.3285, 0.349, 0.4228, 0.5718, 0.8076, 1.138, 1.59, 2.187, 2.93, 3.82",\
                 "0.4628, 0.485, 0.5614, 0.7022, 0.928, 1.258, 1.693, 2.246, 2.952, 3.822",\
                 "0.6306, 0.6538, 0.7352, 0.8854, 1.107, 1.42, 1.852, 2.399, 3.067, 3.893",\
                 "0.827, 0.8518, 0.9392, 1.101, 1.333, 1.647, 2.061, 2.601, 3.266, 4.061",\
                 "1.048, 1.076, 1.168, 1.344, 1.593, 1.921, 2.334, 2.855, 3.515, 4.31",\
                 "1.281, 1.312, 1.421, 1.613, 1.886, 2.23, 2.662, 3.182, 3.823, 4.604");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7318, 0.7884, 0.985, 1.351, 1.917, 2.704, 3.737, 5.035, 6.618, 8.496",\
                 "0.7328, 0.7884, 0.985, 1.352, 1.917, 2.704, 3.737, 5.035, 6.619, 8.504",\
                 "0.7316, 0.7879, 0.9841, 1.352, 1.915, 2.704, 3.737, 5.036, 6.621, 8.505",\
                 "0.7302, 0.7867, 0.9826, 1.351, 1.916, 2.703, 3.736, 5.035, 6.62, 8.504",\
                 "0.8018, 0.8508, 1.024, 1.363, 1.915, 2.703, 3.736, 5.033, 6.618, 8.504",\
                 "0.9176, 0.974, 1.16, 1.479, 1.974, 2.712, 3.735, 5.032, 6.617, 8.502",\
                 "1.041, 1.102, 1.306, 1.656, 2.154, 2.829, 3.769, 5.034, 6.613, 8.501",\
                 "1.189, 1.251, 1.463, 1.838, 2.379, 3.067, 3.945, 5.109, 6.626, 8.499",\
                 "1.362, 1.43, 1.649, 2.036, 2.6, 3.345, 4.242, 5.341, 6.746, 8.528",\
                 "1.556, 1.63, 1.862, 2.262, 2.843, 3.619, 4.581, 5.7, 7.036, 8.7");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2382, 0.2531, 0.3058, 0.4041, 0.5548, 0.7655, 1.042, 1.389, 1.813, 2.318",\
                 "0.252, 0.2676, 0.3205, 0.4189, 0.5701, 0.7809, 1.057, 1.404, 1.829, 2.334",\
                 "0.2806, 0.2962, 0.3497, 0.4492, 0.6009, 0.812, 1.089, 1.437, 1.861, 2.366",\
                 "0.304, 0.3219, 0.3819, 0.488, 0.6423, 0.8535, 1.13, 1.478, 1.903, 2.408",\
                 "0.3066, 0.3278, 0.3983, 0.5189, 0.6904, 0.9143, 1.194, 1.541, 1.965, 2.469",\
                 "0.2743, 0.3012, 0.3872, 0.5299, 0.7235, 0.9692, 1.271, 1.631, 2.055, 2.558",\
                 "0.2001, 0.2321, 0.3353, 0.5065, 0.7323, 1.007, 1.334, 1.72, 2.167, 2.679",\
                 "0.0812, 0.1186, 0.2397, 0.4398, 0.7028, 1.017, 1.379, 1.793, 2.269, 2.81",\
                 "-0.0848, -0.0421, 0.0971, 0.326, 0.6279, 0.9858, 1.391, 1.846, 2.354, 2.925",\
                 "-0.2991, -0.2514, -0.0957, 0.163, 0.5027, 0.9068, 1.361, 1.863, 2.414, 3.021");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5376, 0.5696, 0.6805, 0.8897, 1.212, 1.661, 2.25, 2.989, 3.891, 4.965",\
                 "0.5469, 0.5788, 0.6899, 0.8993, 1.221, 1.671, 2.26, 2.999, 3.901, 4.975",\
                 "0.5977, 0.6297, 0.7405, 0.9497, 1.272, 1.721, 2.31, 3.05, 3.952, 5.026",\
                 "0.718, 0.7492, 0.8579, 1.064, 1.383, 1.83, 2.418, 3.156, 4.057, 5.131",\
                 "0.9205, 0.9524, 1.06, 1.261, 1.574, 2.015, 2.597, 3.332, 4.229, 5.3",\
                 "1.174, 1.21, 1.33, 1.546, 1.859, 2.291, 2.865, 3.593, 4.485, 5.551",\
                 "1.476, 1.514, 1.646, 1.882, 2.227, 2.671, 3.236, 3.954, 4.836, 5.894",\
                 "1.834, 1.876, 2.017, 2.272, 2.642, 3.127, 3.716, 4.427, 5.297, 6.344",\
                 "2.249, 2.295, 2.448, 2.72, 3.115, 3.633, 4.269, 5.012, 5.879, 6.912",\
                 "2.72, 2.77, 2.938, 3.234, 3.652, 4.198, 4.873, 5.669, 6.575, 7.609");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2488, 0.2736, 0.3616, 0.5288, 0.7871, 1.15, 1.626, 2.225, 2.956, 3.827",\
                 "0.249, 0.2739, 0.3617, 0.5279, 0.7878, 1.149, 1.626, 2.223, 2.956, 3.826",\
                 "0.2517, 0.2759, 0.3625, 0.529, 0.7874, 1.15, 1.626, 2.225, 2.955, 3.826",\
                 "0.3053, 0.3277, 0.4068, 0.5547, 0.7959, 1.15, 1.625, 2.224, 2.956, 3.827",\
                 "0.3984, 0.4192, 0.495, 0.6422, 0.8752, 1.198, 1.642, 2.226, 2.955, 3.826",\
                 "0.5388, 0.5596, 0.6342, 0.774, 0.9994, 1.323, 1.747, 2.288, 2.978, 3.829",\
                 "0.711, 0.7338, 0.8122, 0.9576, 1.178, 1.489, 1.911, 2.448, 3.098, 3.9",\
                 "0.9098, 0.9344, 1.021, 1.176, 1.406, 1.716, 2.124, 2.654, 3.308, 4.081",\
                 "1.133, 1.159, 1.252, 1.425, 1.668, 1.991, 2.4, 2.916, 3.561, 4.338",\
                 "1.374, 1.405, 1.509, 1.695, 1.963, 2.304, 2.729, 3.244, 3.873, 4.641");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.8747, 0.9301, 1.123, 1.487, 2.05, 2.834, 3.865, 5.162, 6.743, 8.623",\
                 "0.8749, 0.93, 1.123, 1.487, 2.05, 2.835, 3.866, 5.161, 6.742, 8.628",\
                 "0.8746, 0.9301, 1.123, 1.487, 2.049, 2.835, 3.865, 5.161, 6.742, 8.628",\
                 "0.8756, 0.9304, 1.123, 1.487, 2.049, 2.835, 3.866, 5.162, 6.742, 8.625",\
                 "0.9484, 0.9964, 1.166, 1.5, 2.05, 2.835, 3.865, 5.163, 6.744, 8.625",\
                 "1.083, 1.135, 1.309, 1.618, 2.109, 2.844, 3.866, 5.162, 6.744, 8.627",\
                 "1.227, 1.279, 1.47, 1.807, 2.29, 2.962, 3.901, 5.167, 6.744, 8.628",\
                 "1.39, 1.446, 1.642, 2.002, 2.526, 3.204, 4.078, 5.239, 6.755, 8.627",\
                 "1.583, 1.642, 1.843, 2.21, 2.762, 3.492, 4.379, 5.473, 6.877, 8.657",\
                 "1.802, 1.865, 2.074, 2.452, 3.015, 3.779, 4.727, 5.835, 7.167, 8.83");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2039, 0.2186, 0.2695, 0.3661, 0.5156, 0.7249, 1.001, 1.347, 1.771, 2.276",\
                 "0.2175, 0.2324, 0.2839, 0.3811, 0.5304, 0.7407, 1.016, 1.363, 1.787, 2.291",\
                 "0.2441, 0.2597, 0.3126, 0.411, 0.5614, 0.7716, 1.047, 1.395, 1.818, 2.324",\
                 "0.2588, 0.2773, 0.3391, 0.4473, 0.6025, 0.8133, 1.089, 1.437, 1.86, 2.365",\
                 "0.2477, 0.2716, 0.3467, 0.4719, 0.6463, 0.8723, 1.153, 1.5, 1.922, 2.427",\
                 "0.1986, 0.2284, 0.3228, 0.4744, 0.6742, 0.9235, 1.227, 1.588, 2.013, 2.516",\
                 "0.1061, 0.1421, 0.2567, 0.4393, 0.6747, 0.9562, 1.287, 1.675, 2.124, 2.637",\
                 "-0.0302, 0.0124, 0.1461, 0.3604, 0.6363, 0.9587, 1.327, 1.745, 2.223, 2.766",\
                 "-0.2121, -0.164, -0.0108, 0.2345, 0.5505, 0.9195, 1.333, 1.793, 2.305, 2.879",\
                 "-0.441, -0.3878, -0.2175, 0.0593, 0.4153, 0.8323, 1.297, 1.805, 2.361, 2.972");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5283, 0.5603, 0.6715, 0.8806, 1.202, 1.651, 2.239, 2.976, 3.877, 4.949",\
                 "0.5374, 0.5695, 0.6809, 0.8902, 1.212, 1.66, 2.248, 2.986, 3.89, 4.957",\
                 "0.5883, 0.6204, 0.7316, 0.9407, 1.262, 1.711, 2.299, 3.038, 3.938, 5.011",\
                 "0.7086, 0.7398, 0.8485, 1.055, 1.374, 1.819, 2.406, 3.144, 4.046, 5.118",\
                 "0.9103, 0.9424, 1.05, 1.251, 1.564, 2.004, 2.584, 3.319, 4.214, 5.288",\
                 "1.161, 1.197, 1.319, 1.535, 1.849, 2.28, 2.852, 3.579, 4.47, 5.535",\
                 "1.461, 1.5, 1.633, 1.871, 2.215, 2.659, 3.223, 3.939, 4.82, 5.877",\
                 "1.816, 1.86, 2.001, 2.257, 2.629, 3.114, 3.702, 4.412, 5.281, 6.326",\
                 "2.228, 2.274, 2.429, 2.704, 3.099, 3.617, 4.253, 4.997, 5.862, 6.895",\
                 "2.694, 2.747, 2.917, 3.214, 3.633, 4.18, 4.855, 5.652, 6.558, 7.591");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2048, 0.2299, 0.317, 0.4836, 0.7424, 1.103, 1.58, 2.179, 2.908, 3.782",\
                 "0.2047, 0.2296, 0.3175, 0.4844, 0.7418, 1.104, 1.581, 2.178, 2.909, 3.782",\
                 "0.2141, 0.2366, 0.3197, 0.4839, 0.7416, 1.105, 1.579, 2.177, 2.911, 3.782",\
                 "0.2733, 0.2956, 0.372, 0.5184, 0.7547, 1.105, 1.579, 2.178, 2.909, 3.779",\
                 "0.3768, 0.3964, 0.4674, 0.6096, 0.8398, 1.16, 1.601, 2.181, 2.908, 3.781",\
                 "0.5244, 0.5444, 0.6138, 0.7494, 0.9688, 1.288, 1.71, 2.248, 2.937, 3.784",\
                 "0.7036, 0.7238, 0.7976, 0.9376, 1.153, 1.458, 1.879, 2.411, 3.06, 3.86",\
                 "0.9092, 0.9306, 1.01, 1.16, 1.384, 1.69, 2.094, 2.62, 3.272, 4.043",\
                 "1.14, 1.161, 1.247, 1.41, 1.651, 1.97, 2.373, 2.884, 3.526, 4.302",\
                 "1.377, 1.405, 1.504, 1.682, 1.946, 2.283, 2.705, 3.215, 3.843, 4.608");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7481, 0.804, 0.9983, 1.365, 1.927, 2.714, 3.746, 5.039, 6.622, 8.502",\
                 "0.7485, 0.8038, 0.9982, 1.364, 1.927, 2.712, 3.747, 5.041, 6.626, 8.502",\
                 "0.7479, 0.8044, 0.9982, 1.364, 1.927, 2.713, 3.746, 5.043, 6.628, 8.505",\
                 "0.748, 0.8042, 0.9978, 1.364, 1.927, 2.712, 3.744, 5.044, 6.626, 8.513",\
                 "0.8192, 0.8686, 1.039, 1.376, 1.926, 2.712, 3.744, 5.04, 6.626, 8.509",\
                 "0.9412, 0.9958, 1.177, 1.493, 1.984, 2.721, 3.743, 5.04, 6.624, 8.511",\
                 "1.064, 1.123, 1.322, 1.672, 2.167, 2.839, 3.778, 5.042, 6.621, 8.507",\
                 "1.214, 1.275, 1.48, 1.854, 2.391, 3.079, 3.954, 5.116, 6.632, 8.504",\
                 "1.387, 1.454, 1.668, 2.05, 2.615, 3.358, 4.254, 5.349, 6.753, 8.534",\
                 "1.584, 1.655, 1.883, 2.277, 2.856, 3.634, 4.593, 5.708, 7.045, 8.708");
        }
      }

      timing() {
        related_pin : "C1" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1779, 0.1898, 0.2308, 0.3085, 0.4288, 0.597, 0.8179, 1.096, 1.437, 1.842",\
                 "0.192, 0.2042, 0.2458, 0.3239, 0.4443, 0.6124, 0.8338, 1.112, 1.452, 1.858",\
                 "0.2273, 0.2406, 0.2842, 0.3635, 0.4847, 0.6536, 0.8747, 1.153, 1.493, 1.899",\
                 "0.25, 0.2674, 0.3235, 0.4171, 0.547, 0.7172, 0.939, 1.218, 1.558, 1.963",\
                 "0.2409, 0.2644, 0.3366, 0.4543, 0.6102, 0.8036, 1.036, 1.316, 1.656, 2.061",\
                 "0.1925, 0.2212, 0.3133, 0.4604, 0.6499, 0.8763, 1.141, 1.446, 1.795, 2.2",\
                 "0.0997, 0.1351, 0.2473, 0.4257, 0.6543, 0.9217, 1.225, 1.565, 1.949, 2.379",\
                 "-0.0365, 0.0051, 0.1356, 0.346, 0.6154, 0.9283, 1.278, 1.662, 2.086, 2.554",\
                 "-0.2194, -0.1727, -0.0226, 0.2186, 0.5285, 0.8899, 1.29, 1.725, 2.197, 2.707",\
                 "-0.4491, -0.3975, -0.2305, 0.0417, 0.3915, 0.7997, 1.254, 1.744, 2.272, 2.833");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5611, 0.5932, 0.7046, 0.9139, 1.236, 1.685, 2.272, 3.01, 3.914, 4.982",\
                 "0.5709, 0.6031, 0.7147, 0.9243, 1.247, 1.695, 2.283, 3.022, 3.921, 4.995",\
                 "0.6215, 0.6538, 0.7651, 0.9746, 1.297, 1.746, 2.333, 3.073, 3.974, 5.044",\
                 "0.7421, 0.7734, 0.8824, 1.089, 1.408, 1.854, 2.441, 3.179, 4.077, 5.154",\
                 "0.9469, 0.9781, 1.086, 1.286, 1.6, 2.039, 2.621, 3.355, 4.25, 5.324",\
                 "1.204, 1.24, 1.36, 1.575, 1.887, 2.319, 2.891, 3.617, 4.508, 5.572",\
                 "1.511, 1.549, 1.68, 1.916, 2.259, 2.7, 3.264, 3.981, 4.862, 5.918",\
                 "1.872, 1.915, 2.055, 2.309, 2.681, 3.163, 3.748, 4.457, 5.326, 6.371",\
                 "2.293, 2.339, 2.491, 2.763, 3.157, 3.674, 4.307, 5.047, 5.912, 6.944",\
                 "2.768, 2.819, 2.985, 3.28, 3.699, 4.243, 4.919, 5.71, 6.616, 7.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1629, 0.1828, 0.2532, 0.3869, 0.5953, 0.8859, 1.27, 1.751, 2.339, 3.042",\
                 "0.163, 0.1829, 0.2532, 0.3874, 0.5956, 0.8871, 1.27, 1.752, 2.338, 3.041",\
                 "0.1794, 0.196, 0.2586, 0.3887, 0.5952, 0.8871, 1.27, 1.751, 2.337, 3.04",\
                 "0.2605, 0.2763, 0.3333, 0.4431, 0.6204, 0.8929, 1.27, 1.752, 2.339, 3.039",\
                 "0.3813, 0.3972, 0.4538, 0.5646, 0.7378, 0.9802, 1.312, 1.762, 2.339, 3.038",\
                 "0.5388, 0.5562, 0.6154, 0.73, 0.9028, 1.147, 1.47, 1.874, 2.399, 3.057",\
                 "0.727, 0.7446, 0.8092, 0.9326, 1.116, 1.362, 1.686, 2.093, 2.585, 3.185",\
                 "0.9416, 0.96, 1.029, 1.164, 1.362, 1.624, 1.951, 2.361, 2.861, 3.451",\
                 "1.178, 1.199, 1.273, 1.422, 1.641, 1.922, 2.267, 2.682, 3.184, 3.78",\
                 "1.427, 1.452, 1.541, 1.702, 1.944, 2.253, 2.624, 3.056, 3.563, 4.166");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7892, 0.8453, 1.041, 1.408, 1.972, 2.759, 3.792, 5.086, 6.673, 8.548",\
                 "0.7891, 0.8454, 1.04, 1.408, 1.971, 2.759, 3.791, 5.085, 6.667, 8.554",\
                 "0.7888, 0.8449, 1.04, 1.407, 1.97, 2.758, 3.792, 5.086, 6.671, 8.55",\
                 "0.7889, 0.845, 1.039, 1.407, 1.97, 2.757, 3.789, 5.089, 6.666, 8.558",\
                 "0.8506, 0.9004, 1.074, 1.415, 1.97, 2.756, 3.789, 5.086, 6.667, 8.557",\
                 "0.9726, 1.027, 1.208, 1.523, 2.021, 2.763, 3.788, 5.086, 6.668, 8.557",\
                 "1.095, 1.158, 1.354, 1.703, 2.194, 2.872, 3.817, 5.087, 6.668, 8.553",\
                 "1.242, 1.301, 1.508, 1.884, 2.419, 3.104, 3.985, 5.155, 6.676, 8.551",\
                 "1.414, 1.48, 1.691, 2.074, 2.64, 3.383, 4.277, 5.378, 6.79, 8.576",\
                 "1.605, 1.676, 1.901, 2.296, 2.877, 3.661, 4.615, 5.73, 7.068, 8.74");
        }
      }

      timing() {
        related_pin : "C1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3166, 0.335, 0.3985, 0.5174, 0.6996, 0.953, 1.285, 1.703, 2.213, 2.818",\
                 "0.331, 0.3498, 0.4134, 0.5325, 0.7149, 0.9686, 1.301, 1.719, 2.228, 2.835",\
                 "0.3586, 0.3775, 0.4418, 0.5614, 0.7444, 0.9985, 1.331, 1.749, 2.259, 2.865",\
                 "0.3827, 0.4027, 0.4701, 0.5922, 0.7754, 1.03, 1.362, 1.781, 2.29, 2.897",\
                 "0.3883, 0.4102, 0.4839, 0.6165, 0.8109, 1.07, 1.402, 1.82, 2.329, 2.935",\
                 "0.3671, 0.3932, 0.4775, 0.624, 0.8332, 1.109, 1.455, 1.876, 2.384, 2.989",\
                 "0.3064, 0.3369, 0.4364, 0.6047, 0.837, 1.133, 1.498, 1.939, 2.459, 3.064",\
                 "0.2017, 0.2368, 0.3522, 0.5476, 0.8104, 1.136, 1.526, 1.989, 2.53, 3.156",\
                 "0.0495, 0.0904, 0.2221, 0.4439, 0.7427, 1.104, 1.529, 2.02, 2.586, 3.235",\
                 "-0.1523, -0.1066, 0.0427, 0.2923, 0.6265, 1.031, 1.496, 2.024, 2.622, 3.298");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5611, 0.5932, 0.7046, 0.9139, 1.236, 1.685, 2.272, 3.01, 3.914, 4.982",\
                 "0.5709, 0.6031, 0.7147, 0.9243, 1.247, 1.695, 2.283, 3.022, 3.921, 4.995",\
                 "0.6215, 0.6538, 0.7651, 0.9746, 1.297, 1.746, 2.333, 3.073, 3.974, 5.044",\
                 "0.7421, 0.7734, 0.8824, 1.089, 1.408, 1.854, 2.441, 3.179, 4.077, 5.154",\
                 "0.9469, 0.9781, 1.086, 1.286, 1.6, 2.039, 2.621, 3.355, 4.25, 5.324",\
                 "1.204, 1.24, 1.36, 1.575, 1.887, 2.319, 2.891, 3.617, 4.508, 5.572",\
                 "1.511, 1.549, 1.68, 1.916, 2.259, 2.7, 3.264, 3.981, 4.862, 5.918",\
                 "1.872, 1.915, 2.055, 2.309, 2.681, 3.163, 3.748, 4.457, 5.326, 6.371",\
                 "2.293, 2.339, 2.491, 2.763, 3.157, 3.674, 4.307, 5.047, 5.912, 6.944",\
                 "2.768, 2.819, 2.985, 3.28, 3.699, 4.243, 4.919, 5.71, 6.616, 7.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3071, 0.3373, 0.4446, 0.6476, 0.9586, 1.395, 1.967, 2.687, 3.565, 4.608",\
                 "0.3063, 0.3377, 0.4446, 0.6473, 0.9587, 1.395, 1.967, 2.685, 3.565, 4.61",\
                 "0.3067, 0.3377, 0.4455, 0.6475, 0.9589, 1.394, 1.966, 2.687, 3.564, 4.61",\
                 "0.3391, 0.3689, 0.4678, 0.6572, 0.9608, 1.394, 1.966, 2.686, 3.564, 4.611",\
                 "0.4016, 0.4306, 0.5318, 0.7218, 1.011, 1.418, 1.972, 2.686, 3.563, 4.611",\
                 "0.511, 0.539, 0.6358, 0.8186, 1.107, 1.512, 2.037, 2.717, 3.571, 4.61",\
                 "0.6602, 0.6896, 0.7886, 0.9692, 1.247, 1.642, 2.171, 2.831, 3.646, 4.644",\
                 "0.8394, 0.873, 0.9784, 1.164, 1.443, 1.827, 2.34, 3, 3.808, 4.767",\
                 "1.045, 1.078, 1.194, 1.397, 1.682, 2.067, 2.57, 3.213, 4.014, 4.974",\
                 "1.272, 1.31, 1.436, 1.652, 1.958, 2.356, 2.86, 3.489, 4.27, 5.224");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.9637, 1.017, 1.206, 1.566, 2.126, 2.91, 3.94, 5.237, 6.818, 8.7",\
                 "0.9637, 1.017, 1.206, 1.566, 2.126, 2.91, 3.941, 5.238, 6.818, 8.699",\
                 "0.9632, 1.017, 1.206, 1.566, 2.126, 2.91, 3.94, 5.237, 6.816, 8.703",\
                 "0.9647, 1.017, 1.206, 1.566, 2.126, 2.911, 3.941, 5.237, 6.818, 8.7",\
                 "1.047, 1.093, 1.256, 1.582, 2.127, 2.911, 3.941, 5.236, 6.819, 8.699",\
                 "1.195, 1.243, 1.408, 1.708, 2.193, 2.922, 3.942, 5.238, 6.819, 8.702",\
                 "1.355, 1.405, 1.582, 1.91, 2.383, 3.048, 3.981, 5.241, 6.818, 8.702",\
                 "1.543, 1.594, 1.777, 2.119, 2.629, 3.298, 4.166, 5.323, 6.832, 8.701",\
                 "1.757, 1.81, 1.999, 2.346, 2.881, 3.597, 4.475, 5.564, 6.96, 8.735",\
                 "1.999, 2.057, 2.252, 2.609, 3.148, 3.895, 4.834, 5.933, 7.261, 8.922");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3605, 0.3793, 0.443, 0.5626, 0.7455, 0.9997, 1.333, 1.751, 2.261, 2.867",\
                 "0.3721, 0.391, 0.4546, 0.5742, 0.7572, 1.011, 1.344, 1.762, 2.273, 2.879",\
                 "0.3993, 0.4181, 0.482, 0.6016, 0.7848, 1.039, 1.372, 1.79, 2.3, 2.907",\
                 "0.4269, 0.446, 0.5123, 0.633, 0.816, 1.07, 1.403, 1.821, 2.331, 2.938",\
                 "0.439, 0.4598, 0.5318, 0.6615, 0.8537, 1.111, 1.443, 1.861, 2.37, 2.976",\
                 "0.4308, 0.4551, 0.5353, 0.6775, 0.8827, 1.155, 1.499, 1.918, 2.426, 3.031",\
                 "0.3917, 0.4195, 0.5128, 0.6733, 0.8983, 1.188, 1.549, 1.987, 2.504, 3.108",\
                 "0.3156, 0.3479, 0.4549, 0.6383, 0.8894, 1.206, 1.589, 2.045, 2.582, 3.204",\
                 "0.2027, 0.2394, 0.3601, 0.5664, 0.8485, 1.197, 1.61, 2.091, 2.649, 3.293",\
                 "0.0521, 0.0929, 0.2259, 0.455, 0.7691, 1.154, 1.602, 2.117, 2.703, 3.369");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5363, 0.569, 0.6825, 0.8947, 1.22, 1.672, 2.264, 3.007, 3.912, 4.987",\
                 "0.5484, 0.5809, 0.6943, 0.9065, 1.232, 1.684, 2.276, 3.019, 3.924, 5",\
                 "0.5859, 0.6191, 0.7327, 0.9455, 1.271, 1.724, 2.316, 3.059, 3.964, 5.039",\
                 "0.6623, 0.6947, 0.8069, 1.017, 1.342, 1.793, 2.384, 3.127, 4.031, 5.107",\
                 "0.7969, 0.83, 0.9425, 1.15, 1.468, 1.914, 2.501, 3.24, 4.142, 5.215",\
                 "0.9803, 1.014, 1.13, 1.345, 1.667, 2.104, 2.682, 3.414, 4.31, 5.378",\
                 "1.215, 1.25, 1.372, 1.592, 1.923, 2.372, 2.944, 3.663, 4.549, 5.61",\
                 "1.492, 1.532, 1.663, 1.896, 2.235, 2.695, 3.282, 4.001, 4.874, 5.923",\
                 "1.814, 1.857, 2, 2.25, 2.607, 3.077, 3.678, 4.414, 5.289, 6.325",\
                 "2.178, 2.224, 2.38, 2.652, 3.033, 3.523, 4.135, 4.885, 5.783, 6.824");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3559, 0.3883, 0.4966, 0.6995, 1.013, 1.45, 2.023, 2.742, 3.622, 4.666",\
                 "0.3562, 0.3879, 0.4968, 0.6994, 1.013, 1.449, 2.022, 2.742, 3.622, 4.668",\
                 "0.3565, 0.3878, 0.4969, 0.7003, 1.012, 1.45, 2.022, 2.742, 3.621, 4.668",\
                 "0.3837, 0.4127, 0.5137, 0.7076, 1.014, 1.45, 2.022, 2.742, 3.621, 4.668",\
                 "0.445, 0.4746, 0.5778, 0.7684, 1.059, 1.47, 2.026, 2.742, 3.62, 4.669",\
                 "0.5506, 0.5802, 0.679, 0.8642, 1.155, 1.56, 2.088, 2.77, 3.627, 4.667",\
                 "0.7044, 0.7334, 0.8334, 1.014, 1.293, 1.69, 2.219, 2.88, 3.698, 4.699",\
                 "0.8958, 0.9262, 1.03, 1.215, 1.489, 1.875, 2.387, 3.048, 3.855, 4.818",\
                 "1.118, 1.151, 1.263, 1.46, 1.738, 2.12, 2.616, 3.259, 4.063, 5.022",\
                 "1.372, 1.406, 1.527, 1.735, 2.034, 2.419, 2.912, 3.534, 4.317, 5.27");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.9635, 1.017, 1.206, 1.566, 2.126, 2.911, 3.941, 5.236, 6.816, 8.7",\
                 "0.9636, 1.017, 1.206, 1.566, 2.126, 2.911, 3.941, 5.237, 6.817, 8.697",\
                 "0.9631, 1.017, 1.206, 1.566, 2.126, 2.91, 3.941, 5.237, 6.818, 8.7",\
                 "0.9705, 1.022, 1.207, 1.566, 2.126, 2.91, 3.941, 5.237, 6.819, 8.702",\
                 "1.041, 1.089, 1.257, 1.591, 2.13, 2.91, 3.941, 5.238, 6.818, 8.702",\
                 "1.16, 1.206, 1.372, 1.689, 2.195, 2.934, 3.943, 5.237, 6.819, 8.702",\
                 "1.311, 1.356, 1.518, 1.834, 2.334, 3.037, 3.996, 5.248, 6.819, 8.701",\
                 "1.503, 1.548, 1.706, 2.015, 2.509, 3.213, 4.136, 5.336, 6.848, 8.704",\
                 "1.724, 1.77, 1.935, 2.241, 2.724, 3.422, 4.349, 5.515, 6.97, 8.762",\
                 "1.966, 2.018, 2.193, 2.511, 2.99, 3.672, 4.597, 5.766, 7.189, 8.92");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3143, 0.3327, 0.3963, 0.5149, 0.697, 0.9504, 1.283, 1.701, 2.21, 2.817",\
                 "0.3257, 0.3442, 0.4077, 0.5265, 0.7086, 0.9622, 1.294, 1.712, 2.222, 2.829",\
                 "0.3525, 0.371, 0.4347, 0.5538, 0.7362, 0.9899, 1.322, 1.74, 2.25, 2.856",\
                 "0.3763, 0.3963, 0.4633, 0.5849, 0.7674, 1.021, 1.353, 1.771, 2.28, 2.887",\
                 "0.3823, 0.4045, 0.478, 0.6098, 0.8032, 1.062, 1.393, 1.81, 2.319, 2.925",\
                 "0.3647, 0.3901, 0.4745, 0.6206, 0.8285, 1.103, 1.448, 1.868, 2.375, 2.98",\
                 "0.3118, 0.3421, 0.4416, 0.6093, 0.8398, 1.133, 1.496, 1.935, 2.453, 3.057",\
                 "0.2235, 0.2585, 0.3729, 0.5649, 0.8247, 1.146, 1.533, 1.991, 2.529, 3.153",\
                 "0.0991, 0.1382, 0.2665, 0.4835, 0.7758, 1.132, 1.55, 2.034, 2.595, 3.24",\
                 "-0.0634, -0.0196, 0.1227, 0.3627, 0.6873, 1.082, 1.538, 2.057, 2.646, 3.314");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5258, 0.5588, 0.6723, 0.8845, 1.209, 1.66, 2.25, 2.991, 3.894, 4.968",\
                 "0.5376, 0.5706, 0.6842, 0.8967, 1.221, 1.672, 2.262, 3.003, 3.906, 4.981",\
                 "0.5755, 0.6085, 0.7227, 0.9354, 1.261, 1.712, 2.302, 3.043, 3.946, 5.02",\
                 "0.652, 0.6844, 0.7969, 1.007, 1.331, 1.781, 2.371, 3.111, 4.014, 5.088",\
                 "0.7855, 0.8188, 0.932, 1.139, 1.457, 1.902, 2.487, 3.224, 4.124, 5.196",\
                 "0.9674, 1.002, 1.119, 1.334, 1.655, 2.092, 2.669, 3.399, 4.292, 5.359",\
                 "1.2, 1.236, 1.358, 1.58, 1.91, 2.359, 2.929, 3.648, 4.533, 5.591",\
                 "1.475, 1.515, 1.648, 1.882, 2.221, 2.681, 3.268, 3.985, 4.856, 5.904",\
                 "1.792, 1.836, 1.981, 2.234, 2.591, 3.062, 3.662, 4.397, 5.272, 6.306",\
                 "2.152, 2.2, 2.358, 2.632, 3.016, 3.506, 4.118, 4.869, 5.763, 6.805");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3074, 0.3387, 0.4462, 0.6471, 0.9599, 1.395, 1.967, 2.687, 3.566, 4.611",\
                 "0.3078, 0.3384, 0.4452, 0.6479, 0.9604, 1.396, 1.968, 2.686, 3.565, 4.61",\
                 "0.3078, 0.3386, 0.4459, 0.6476, 0.9603, 1.395, 1.967, 2.686, 3.564, 4.611",\
                 "0.3418, 0.3707, 0.4696, 0.6595, 0.9619, 1.395, 1.967, 2.686, 3.564, 4.613",\
                 "0.4076, 0.4358, 0.5358, 0.7242, 1.013, 1.419, 1.971, 2.686, 3.564, 4.612",\
                 "0.5228, 0.5502, 0.6448, 0.826, 1.111, 1.514, 2.039, 2.718, 3.571, 4.61",\
                 "0.6818, 0.7106, 0.8056, 0.9838, 1.256, 1.647, 2.172, 2.832, 3.648, 4.646",\
                 "0.8778, 0.9074, 1.008, 1.189, 1.459, 1.835, 2.345, 3.002, 3.809, 4.768",\
                 "1.105, 1.137, 1.245, 1.437, 1.711, 2.086, 2.58, 3.216, 4.014, 4.974",\
                 "1.36, 1.396, 1.512, 1.714, 2.01, 2.389, 2.878, 3.497, 4.274, 5.224");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.8291, 0.8839, 1.076, 1.439, 2.001, 2.786, 3.817, 5.111, 6.692, 8.576",\
                 "0.8292, 0.8839, 1.076, 1.439, 2.001, 2.786, 3.816, 5.113, 6.692, 8.574",\
                 "0.8289, 0.8837, 1.076, 1.439, 2.001, 2.786, 3.816, 5.114, 6.695, 8.578",\
                 "0.8362, 0.8891, 1.076, 1.439, 2.001, 2.786, 3.817, 5.112, 6.695, 8.575",\
                 "0.9076, 0.956, 1.128, 1.464, 2.005, 2.786, 3.817, 5.114, 6.694, 8.579",\
                 "1.016, 1.064, 1.236, 1.562, 2.07, 2.809, 3.819, 5.114, 6.694, 8.578",\
                 "1.158, 1.205, 1.374, 1.699, 2.206, 2.913, 3.871, 5.124, 6.696, 8.578",\
                 "1.335, 1.384, 1.553, 1.871, 2.374, 3.086, 4.013, 5.211, 6.725, 8.582",\
                 "1.538, 1.589, 1.767, 2.089, 2.583, 3.289, 4.222, 5.392, 6.847, 8.637",\
                 "1.758, 1.815, 2.007, 2.345, 2.845, 3.532, 4.461, 5.64, 7.067, 8.796");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b0 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2776, 0.2936, 0.3478, 0.4493, 0.6048, 0.8209, 1.104, 1.46, 1.894, 2.412",\
                 "0.2902, 0.3058, 0.3605, 0.4619, 0.6174, 0.8336, 1.117, 1.473, 1.907, 2.424",\
                 "0.3254, 0.3413, 0.396, 0.4976, 0.6533, 0.8697, 1.153, 1.509, 1.943, 2.461",\
                 "0.3603, 0.3779, 0.437, 0.5429, 0.6993, 0.9156, 1.199, 1.555, 1.989, 2.506",\
                 "0.3749, 0.3954, 0.4629, 0.581, 0.7517, 0.977, 1.261, 1.616, 2.05, 2.566",\
                 "0.3599, 0.3844, 0.4651, 0.6022, 0.7913, 1.036, 1.339, 1.703, 2.136, 2.651",\
                 "0.3077, 0.3375, 0.4338, 0.5953, 0.8126, 1.082, 1.407, 1.794, 2.247, 2.768",\
                 "0.2181, 0.2524, 0.3643, 0.5523, 0.8023, 1.106, 1.461, 1.874, 2.351, 2.898",\
                 "0.0918, 0.1303, 0.2566, 0.4691, 0.7542, 1.097, 1.491, 1.938, 2.443, 3.017",\
                 "-0.0732, -0.0305, 0.11, 0.3463, 0.6645, 1.049, 1.486, 1.975, 2.518, 3.121");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5556, 0.5888, 0.7029, 0.9158, 1.241, 1.693, 2.283, 3.025, 3.928, 5.002",\
                 "0.568, 0.6013, 0.7155, 0.9283, 1.254, 1.706, 2.296, 3.038, 3.94, 5.015",\
                 "0.6053, 0.6387, 0.7532, 0.9669, 1.293, 1.745, 2.336, 3.077, 3.98, 5.055",\
                 "0.6819, 0.7142, 0.8275, 1.039, 1.363, 1.814, 2.404, 3.146, 4.048, 5.123",\
                 "0.8188, 0.8521, 0.9647, 1.172, 1.49, 1.935, 2.521, 3.258, 4.159, 5.231",\
                 "1.005, 1.039, 1.156, 1.371, 1.691, 2.128, 2.705, 3.434, 4.329, 5.396",\
                 "1.243, 1.28, 1.401, 1.622, 1.952, 2.399, 2.969, 3.688, 4.572, 5.63",\
                 "1.527, 1.566, 1.697, 1.929, 2.269, 2.727, 3.313, 4.029, 4.9, 5.946",\
                 "1.853, 1.896, 2.039, 2.29, 2.646, 3.115, 3.713, 4.449, 5.322, 6.354",\
                 "2.222, 2.269, 2.426, 2.697, 3.078, 3.567, 4.178, 4.928, 5.822, 6.861");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2565, 0.283, 0.3748, 0.546, 0.8115, 1.183, 1.669, 2.28, 3.025, 3.914",\
                 "0.2568, 0.2834, 0.3742, 0.5466, 0.8119, 1.182, 1.669, 2.279, 3.026, 3.916",\
                 "0.2577, 0.2836, 0.3746, 0.5465, 0.8113, 1.182, 1.669, 2.28, 3.026, 3.915",\
                 "0.3004, 0.325, 0.4074, 0.5642, 0.817, 1.183, 1.668, 2.279, 3.026, 3.915",\
                 "0.3818, 0.4044, 0.487, 0.6432, 0.884, 1.22, 1.681, 2.28, 3.025, 3.914",\
                 "0.5098, 0.5346, 0.614, 0.765, 1, 1.335, 1.772, 2.332, 3.043, 3.917",\
                 "0.679, 0.7058, 0.79, 0.9402, 1.169, 1.491, 1.926, 2.479, 3.15, 3.977",\
                 "0.8812, 0.9086, 1, 1.16, 1.393, 1.707, 2.129, 2.674, 3.347, 4.143",\
                 "1.115, 1.145, 1.244, 1.418, 1.662, 1.986, 2.399, 2.926, 3.587, 4.388",\
                 "1.378, 1.411, 1.517, 1.706, 1.97, 2.306, 2.728, 3.244, 3.888, 4.676");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.8691, 0.9247, 1.117, 1.481, 2.043, 2.829, 3.86, 5.158, 6.737, 8.622",\
                 "0.8694, 0.9245, 1.116, 1.48, 2.043, 2.829, 3.859, 5.157, 6.738, 8.619",\
                 "0.869, 0.9245, 1.117, 1.48, 2.044, 2.829, 3.86, 5.157, 6.738, 8.623",\
                 "0.8735, 0.927, 1.117, 1.48, 2.043, 2.829, 3.86, 5.158, 6.739, 8.619",\
                 "0.9388, 0.988, 1.163, 1.502, 2.046, 2.829, 3.861, 5.158, 6.738, 8.622",\
                 "1.042, 1.092, 1.268, 1.595, 2.106, 2.85, 3.862, 5.158, 6.739, 8.622",\
                 "1.175, 1.225, 1.398, 1.728, 2.239, 2.948, 3.91, 5.166, 6.74, 8.623",\
                 "1.345, 1.397, 1.567, 1.891, 2.402, 3.116, 4.047, 5.25, 6.765, 8.625",\
                 "1.542, 1.596, 1.777, 2.102, 2.599, 3.313, 4.252, 5.423, 6.885, 8.676",\
                 "1.76, 1.817, 2.008, 2.347, 2.845, 3.547, 4.487, 5.668, 7.096, 8.833");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3138, 0.332, 0.3954, 0.5141, 0.696, 0.9495, 1.282, 1.699, 2.208, 2.815",\
                 "0.325, 0.3435, 0.4071, 0.5257, 0.7078, 0.9613, 1.293, 1.711, 2.221, 2.827",\
                 "0.3518, 0.3702, 0.434, 0.553, 0.7353, 0.989, 1.321, 1.739, 2.249, 2.855",\
                 "0.3755, 0.3955, 0.4625, 0.584, 0.7665, 1.02, 1.352, 1.77, 2.279, 2.886",\
                 "0.3814, 0.4036, 0.4771, 0.6087, 0.8023, 1.061, 1.392, 1.809, 2.318, 2.925",\
                 "0.3635, 0.389, 0.4735, 0.6197, 0.8277, 1.102, 1.447, 1.867, 2.374, 2.978",\
                 "0.3106, 0.3407, 0.4403, 0.6082, 0.8387, 1.132, 1.495, 1.934, 2.452, 3.056",\
                 "0.2218, 0.2568, 0.3713, 0.5635, 0.8235, 1.145, 1.531, 1.99, 2.528, 3.151",\
                 "0.097, 0.1362, 0.2651, 0.4816, 0.7743, 1.131, 1.548, 2.033, 2.594, 3.238",\
                 "-0.0657, -0.0223, 0.1208, 0.361, 0.6857, 1.08, 1.536, 2.056, 2.645, 3.313");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5258, 0.5589, 0.6725, 0.8846, 1.209, 1.66, 2.25, 2.991, 3.894, 4.968",\
                 "0.5376, 0.5706, 0.6843, 0.8967, 1.221, 1.672, 2.262, 3.004, 3.906, 4.98",\
                 "0.5755, 0.6086, 0.7227, 0.9353, 1.261, 1.712, 2.302, 3.043, 3.946, 5.02",\
                 "0.652, 0.6843, 0.7969, 1.008, 1.331, 1.781, 2.371, 3.111, 4.014, 5.088",\
                 "0.7855, 0.8188, 0.932, 1.139, 1.457, 1.902, 2.487, 3.224, 4.124, 5.196",\
                 "0.9674, 1.002, 1.119, 1.334, 1.655, 2.092, 2.669, 3.399, 4.292, 5.36",\
                 "1.2, 1.236, 1.358, 1.58, 1.91, 2.358, 2.929, 3.648, 4.532, 5.591",\
                 "1.475, 1.515, 1.648, 1.882, 2.222, 2.68, 3.267, 3.985, 4.857, 5.903",\
                 "1.792, 1.836, 1.981, 2.234, 2.591, 3.062, 3.661, 4.398, 5.271, 6.305",\
                 "2.152, 2.2, 2.359, 2.632, 3.016, 3.507, 4.118, 4.868, 5.764, 6.805");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3066, 0.3375, 0.4442, 0.6469, 0.958, 1.394, 1.967, 2.686, 3.564, 4.608",\
                 "0.3068, 0.3375, 0.4452, 0.647, 0.9593, 1.395, 1.967, 2.686, 3.564, 4.608",\
                 "0.307, 0.3377, 0.445, 0.6466, 0.9592, 1.394, 1.966, 2.685, 3.564, 4.61",\
                 "0.3409, 0.3698, 0.4688, 0.6585, 0.9609, 1.395, 1.965, 2.685, 3.565, 4.612",\
                 "0.407, 0.435, 0.5348, 0.723, 1.012, 1.418, 1.971, 2.685, 3.564, 4.611",\
                 "0.5224, 0.5498, 0.6444, 0.8258, 1.11, 1.513, 2.039, 2.718, 3.571, 4.611",\
                 "0.683, 0.7104, 0.8052, 0.9834, 1.255, 1.646, 2.171, 2.831, 3.647, 4.645",\
                 "0.8778, 0.9068, 1.008, 1.188, 1.459, 1.834, 2.344, 3.001, 3.807, 4.767",\
                 "1.105, 1.136, 1.245, 1.437, 1.71, 2.086, 2.577, 3.216, 4.014, 4.973",\
                 "1.361, 1.398, 1.512, 1.714, 2.009, 2.389, 2.877, 3.496, 4.274, 5.223");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.8266, 0.8815, 1.073, 1.436, 1.998, 2.783, 3.815, 5.109, 6.689, 8.573",\
                 "0.8267, 0.8813, 1.073, 1.436, 1.998, 2.783, 3.812, 5.108, 6.691, 8.571",\
                 "0.8264, 0.8815, 1.074, 1.436, 1.998, 2.783, 3.815, 5.111, 6.69, 8.572",\
                 "0.8337, 0.8863, 1.074, 1.436, 1.998, 2.783, 3.814, 5.111, 6.692, 8.575",\
                 "0.905, 0.9534, 1.125, 1.461, 2.002, 2.783, 3.814, 5.111, 6.691, 8.576",\
                 "1.014, 1.061, 1.234, 1.559, 2.067, 2.806, 3.816, 5.11, 6.692, 8.576",\
                 "1.155, 1.202, 1.371, 1.696, 2.204, 2.909, 3.869, 5.122, 6.693, 8.576",\
                 "1.332, 1.381, 1.549, 1.869, 2.371, 3.082, 4.01, 5.208, 6.721, 8.578",\
                 "1.534, 1.586, 1.763, 2.085, 2.579, 3.285, 4.22, 5.389, 6.846, 8.634",\
                 "1.754, 1.812, 2.002, 2.345, 2.84, 3.53, 4.461, 5.638, 7.062, 8.793");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2692, 0.2872, 0.3497, 0.4671, 0.6479, 0.9003, 1.232, 1.649, 2.158, 2.763",\
                 "0.2806, 0.2986, 0.3613, 0.4787, 0.6596, 0.912, 1.243, 1.66, 2.17, 2.775",\
                 "0.3067, 0.325, 0.388, 0.5058, 0.6871, 0.9398, 1.271, 1.688, 2.198, 2.803",\
                 "0.3252, 0.3454, 0.4134, 0.536, 0.7181, 0.971, 1.303, 1.719, 2.229, 2.835",\
                 "0.3231, 0.3464, 0.4228, 0.5565, 0.7515, 1.011, 1.343, 1.759, 2.267, 2.873",\
                 "0.2917, 0.3197, 0.4103, 0.5617, 0.7733, 1.049, 1.396, 1.817, 2.323, 2.927",\
                 "0.2243, 0.2576, 0.3648, 0.5418, 0.779, 1.076, 1.441, 1.882, 2.401, 3.005",\
                 "0.1219, 0.1596, 0.2836, 0.4875, 0.7567, 1.085, 1.475, 1.936, 2.475, 3.1",\
                 "-0.0161, 0.0274, 0.1662, 0.3956, 0.6993, 1.064, 1.488, 1.977, 2.538, 3.185",\
                 "-0.1903, -0.1428, 0.0108, 0.2652, 0.6024, 1.007, 1.471, 1.996, 2.588, 3.258");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5157, 0.5489, 0.663, 0.8751, 1.2, 1.65, 2.239, 2.98, 3.881, 4.954",\
                 "0.5275, 0.5607, 0.6749, 0.8873, 1.212, 1.662, 2.251, 2.992, 3.892, 4.963",\
                 "0.5653, 0.5987, 0.7132, 0.9261, 1.251, 1.702, 2.29, 3.031, 3.932, 5.004",\
                 "0.642, 0.6746, 0.7871, 0.9979, 1.321, 1.77, 2.359, 3.098, 3.999, 5.075",\
                 "0.7742, 0.8079, 0.9223, 1.13, 1.447, 1.891, 2.475, 3.211, 4.109, 5.179",\
                 "0.9552, 0.9894, 1.108, 1.323, 1.644, 2.081, 2.656, 3.385, 4.277, 5.342",\
                 "1.185, 1.222, 1.346, 1.568, 1.899, 2.347, 2.917, 3.634, 4.516, 5.574",\
                 "1.458, 1.498, 1.633, 1.869, 2.209, 2.667, 3.253, 3.969, 4.839, 5.885",\
                 "1.772, 1.817, 1.964, 2.219, 2.577, 3.048, 3.646, 4.382, 5.255, 6.286",\
                 "2.128, 2.176, 2.338, 2.615, 3, 3.491, 4.102, 4.851, 5.745, 6.786");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2569, 0.2872, 0.393, 0.5944, 0.9058, 1.34, 1.91, 2.63, 3.507, 4.551",\
                 "0.257, 0.2877, 0.3937, 0.5941, 0.9051, 1.34, 1.91, 2.629, 3.506, 4.551",\
                 "0.259, 0.2886, 0.3941, 0.5938, 0.9046, 1.341, 1.91, 2.629, 3.507, 4.552",\
                 "0.2986, 0.3276, 0.4254, 0.6108, 0.9083, 1.34, 1.91, 2.63, 3.507, 4.554",\
                 "0.373, 0.3998, 0.4948, 0.6788, 0.9662, 1.369, 1.918, 2.63, 3.506, 4.554",\
                 "0.4982, 0.5246, 0.6148, 0.7876, 1.067, 1.467, 1.991, 2.665, 3.516, 4.553",\
                 "0.6658, 0.6924, 0.7828, 0.9546, 1.22, 1.603, 2.125, 2.784, 3.595, 4.591",\
                 "0.8686, 0.895, 0.9912, 1.168, 1.429, 1.797, 2.301, 2.956, 3.758, 4.717",\
                 "1.102, 1.13, 1.232, 1.416, 1.685, 2.055, 2.543, 3.173, 3.967, 4.924",\
                 "1.359, 1.391, 1.504, 1.7, 1.988, 2.36, 2.845, 3.461, 4.231, 5.176");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6939, 0.7508, 0.9449, 1.31, 1.874, 2.661, 3.694, 4.992, 6.574, 8.455",\
                 "0.6937, 0.7501, 0.9457, 1.311, 1.874, 2.661, 3.693, 4.991, 6.571, 8.449",\
                 "0.6939, 0.7495, 0.9455, 1.311, 1.874, 2.66, 3.693, 4.99, 6.575, 8.454",\
                 "0.6996, 0.7542, 0.9442, 1.31, 1.873, 2.66, 3.693, 4.99, 6.575, 8.458",\
                 "0.7694, 0.8204, 0.9954, 1.334, 1.877, 2.66, 3.692, 4.99, 6.572, 8.458",\
                 "0.8658, 0.9178, 1.097, 1.431, 1.942, 2.682, 3.692, 4.989, 6.57, 8.456",\
                 "0.9944, 1.046, 1.225, 1.56, 2.076, 2.785, 3.746, 4.998, 6.57, 8.453",\
                 "1.157, 1.21, 1.392, 1.725, 2.237, 2.955, 3.886, 5.085, 6.598, 8.455",\
                 "1.336, 1.398, 1.591, 1.932, 2.438, 3.15, 4.093, 5.264, 6.723, 8.509",\
                 "1.533, 1.601, 1.811, 2.174, 2.692, 3.39, 4.327, 5.509, 6.938, 8.669");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b0 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2399, 0.2554, 0.3089, 0.4092, 0.5635, 0.7786, 1.061, 1.417, 1.85, 2.367",\
                 "0.2522, 0.2677, 0.3214, 0.4218, 0.576, 0.7912, 1.074, 1.429, 1.863, 2.379",\
                 "0.2868, 0.3026, 0.3567, 0.4573, 0.6119, 0.8274, 1.11, 1.465, 1.899, 2.416",\
                 "0.3152, 0.3334, 0.394, 0.501, 0.6578, 0.8732, 1.156, 1.511, 1.945, 2.461",\
                 "0.319, 0.3411, 0.4125, 0.534, 0.7068, 0.9335, 1.218, 1.573, 2.006, 2.522",\
                 "0.2893, 0.3168, 0.4041, 0.5475, 0.7419, 0.9889, 1.294, 1.66, 2.092, 2.607",\
                 "0.2221, 0.2546, 0.3592, 0.5308, 0.7563, 1.031, 1.359, 1.748, 2.202, 2.724",\
                 "0.1183, 0.156, 0.2772, 0.4763, 0.7377, 1.049, 1.409, 1.825, 2.304, 2.852",\
                 "-0.0216, 0.021, 0.1571, 0.3829, 0.6796, 1.033, 1.434, 1.885, 2.393, 2.968",\
                 "-0.1984, -0.1517, -0.0001, 0.25, 0.5813, 0.9764, 1.423, 1.918, 2.465, 3.071");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5449, 0.5783, 0.693, 0.9061, 1.231, 1.683, 2.271, 3.012, 3.914, 4.988",\
                 "0.5575, 0.5907, 0.7055, 0.9187, 1.244, 1.695, 2.285, 3.025, 3.927, 4.998",\
                 "0.5947, 0.6283, 0.7435, 0.9572, 1.283, 1.735, 2.324, 3.065, 3.966, 5.04",\
                 "0.6714, 0.704, 0.8173, 1.029, 1.353, 1.803, 2.392, 3.132, 4.035, 5.109",\
                 "0.8073, 0.8404, 0.9544, 1.162, 1.48, 1.924, 2.509, 3.246, 4.144, 5.217",\
                 "0.9924, 1.027, 1.144, 1.36, 1.68, 2.116, 2.692, 3.42, 4.313, 5.38",\
                 "1.229, 1.265, 1.388, 1.61, 1.94, 2.387, 2.956, 3.673, 4.556, 5.613",\
                 "1.51, 1.55, 1.682, 1.916, 2.256, 2.714, 3.299, 4.013, 4.883, 5.929",\
                 "1.833, 1.876, 2.022, 2.274, 2.632, 3.101, 3.699, 4.433, 5.304, 6.335",\
                 "2.198, 2.247, 2.405, 2.679, 3.062, 3.551, 4.162, 4.911, 5.804, 6.842");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2152, 0.2408, 0.3301, 0.5013, 0.7657, 1.134, 1.621, 2.232, 2.978, 3.866",\
                 "0.2154, 0.2409, 0.3308, 0.5012, 0.7653, 1.134, 1.62, 2.231, 2.977, 3.867",\
                 "0.2195, 0.244, 0.3319, 0.5014, 0.7645, 1.135, 1.621, 2.231, 2.977, 3.867",\
                 "0.269, 0.2918, 0.3734, 0.5253, 0.7731, 1.135, 1.621, 2.232, 2.978, 3.867",\
                 "0.3574, 0.38, 0.4578, 0.6088, 0.846, 1.179, 1.636, 2.233, 2.978, 3.865",\
                 "0.4936, 0.5162, 0.5936, 0.7374, 0.9658, 1.297, 1.732, 2.29, 2.997, 3.867",\
                 "0.6682, 0.6922, 0.7726, 0.9204, 1.142, 1.458, 1.891, 2.44, 3.108, 3.932",\
                 "0.8776, 0.9028, 0.9888, 1.143, 1.374, 1.682, 2.096, 2.637, 3.307, 4.101",\
                 "1.118, 1.144, 1.235, 1.403, 1.643, 1.962, 2.368, 2.892, 3.549, 4.347",\
                 "1.382, 1.411, 1.513, 1.694, 1.953, 2.284, 2.704, 3.217, 3.854, 4.638");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7326, 0.7892, 0.985, 1.352, 1.917, 2.704, 3.737, 5.037, 6.617, 8.501",\
                 "0.7312, 0.7892, 0.9839, 1.353, 1.917, 2.704, 3.737, 5.034, 6.615, 8.494",\
                 "0.7307, 0.7879, 0.985, 1.352, 1.917, 2.704, 3.736, 5.035, 6.621, 8.499",\
                 "0.7349, 0.79, 0.983, 1.35, 1.915, 2.703, 3.736, 5.035, 6.617, 8.504",\
                 "0.7994, 0.8508, 1.028, 1.371, 1.917, 2.702, 3.736, 5.034, 6.618, 8.503",\
                 "0.8916, 0.9442, 1.127, 1.463, 1.978, 2.721, 3.735, 5.033, 6.616, 8.502",\
                 "1.014, 1.066, 1.249, 1.588, 2.108, 2.82, 3.785, 5.04, 6.614, 8.5",\
                 "1.17, 1.225, 1.408, 1.745, 2.263, 2.985, 3.92, 5.124, 6.639, 8.499",\
                 "1.345, 1.404, 1.602, 1.946, 2.455, 3.179, 4.122, 5.298, 6.758, 8.55",\
                 "1.54, 1.604, 1.818, 2.175, 2.694, 3.404, 4.35, 5.539, 6.971, 8.706");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b0 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&!B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2728, 0.2881, 0.3414, 0.4404, 0.5924, 0.8039, 1.081, 1.429, 1.853, 2.358",\
                 "0.2845, 0.3002, 0.3533, 0.4525, 0.6045, 0.8159, 1.093, 1.441, 1.866, 2.37",\
                 "0.3132, 0.3287, 0.3821, 0.4817, 0.6338, 0.8455, 1.123, 1.471, 1.895, 2.401",\
                 "0.3426, 0.3599, 0.4179, 0.5222, 0.6755, 0.8872, 1.164, 1.512, 1.936, 2.442",\
                 "0.3551, 0.3753, 0.4419, 0.559, 0.7275, 0.9491, 1.227, 1.575, 1.998, 2.504",\
                 "0.3402, 0.3648, 0.4447, 0.5806, 0.7685, 1.01, 1.309, 1.666, 2.089, 2.593",\
                 "0.2898, 0.3189, 0.4146, 0.5748, 0.7907, 1.058, 1.38, 1.761, 2.206, 2.716",\
                 "0.2031, 0.2366, 0.3471, 0.533, 0.7822, 1.084, 1.436, 1.844, 2.315, 2.852",\
                 "0.0807, 0.1185, 0.2422, 0.4522, 0.735, 1.076, 1.469, 1.911, 2.411, 2.976",\
                 "-0.0801, -0.0382, 0.0987, 0.3319, 0.6473, 1.029, 1.465, 1.951, 2.489, 3.086");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5766, 0.6084, 0.7196, 0.9284, 1.251, 1.7, 2.288, 3.028, 3.931, 5.004",\
                 "0.5887, 0.6205, 0.7318, 0.9408, 1.263, 1.712, 2.301, 3.041, 3.943, 5.017",\
                 "0.6268, 0.6589, 0.7702, 0.98, 1.303, 1.752, 2.341, 3.081, 3.984, 5.057",\
                 "0.7033, 0.7349, 0.845, 1.053, 1.374, 1.822, 2.41, 3.15, 4.052, 5.125",\
                 "0.8396, 0.8712, 0.9818, 1.186, 1.501, 1.944, 2.528, 3.264, 4.163, 5.234",\
                 "1.025, 1.058, 1.172, 1.384, 1.702, 2.136, 2.712, 3.44, 4.332, 5.399",\
                 "1.264, 1.298, 1.417, 1.634, 1.962, 2.407, 2.975, 3.693, 4.576, 5.634",\
                 "1.549, 1.586, 1.714, 1.942, 2.278, 2.735, 3.319, 4.034, 4.905, 5.95",\
                 "1.877, 1.918, 2.058, 2.303, 2.655, 3.122, 3.72, 4.454, 5.326, 6.358",\
                 "2.248, 2.293, 2.445, 2.712, 3.088, 3.574, 4.183, 4.933, 5.827, 6.864");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2917, 0.3169, 0.4054, 0.5733, 0.8329, 1.196, 1.672, 2.27, 3.003, 3.872",\
                 "0.2917, 0.3172, 0.4056, 0.5734, 0.8327, 1.196, 1.673, 2.271, 3.002, 3.873",\
                 "0.2928, 0.3175, 0.4055, 0.5735, 0.8327, 1.195, 1.672, 2.271, 3.002, 3.874",\
                 "0.3408, 0.3641, 0.4429, 0.5942, 0.8382, 1.196, 1.671, 2.271, 3.002, 3.874",\
                 "0.4308, 0.4526, 0.5298, 0.6806, 0.913, 1.239, 1.686, 2.271, 3.001, 3.873",\
                 "0.5708, 0.5918, 0.6672, 0.8098, 1.037, 1.361, 1.786, 2.332, 3.023, 3.875",\
                 "0.751, 0.7718, 0.85, 0.9942, 1.214, 1.527, 1.95, 2.487, 3.139, 3.944",\
                 "0.9612, 0.9866, 1.069, 1.219, 1.444, 1.751, 2.161, 2.691, 3.346, 4.12",\
                 "1.204, 1.231, 1.32, 1.484, 1.717, 2.03, 2.435, 2.95, 3.596, 4.375",\
                 "1.473, 1.505, 1.6, 1.777, 2.029, 2.357, 2.771, 3.277, 3.906, 4.675");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.8748, 0.93, 1.123, 1.487, 2.05, 2.835, 3.867, 5.161, 6.74, 8.623",\
                 "0.8744, 0.93, 1.123, 1.487, 2.05, 2.835, 3.866, 5.159, 6.742, 8.622",\
                 "0.8745, 0.9301, 1.123, 1.487, 2.05, 2.834, 3.866, 5.162, 6.743, 8.626",\
                 "0.8799, 0.9336, 1.124, 1.487, 2.05, 2.835, 3.867, 5.161, 6.744, 8.627",\
                 "0.9442, 0.9942, 1.168, 1.508, 2.052, 2.835, 3.866, 5.161, 6.743, 8.627",\
                 "1.046, 1.098, 1.272, 1.6, 2.113, 2.855, 3.868, 5.162, 6.744, 8.627",\
                 "1.177, 1.227, 1.402, 1.733, 2.244, 2.953, 3.916, 5.172, 6.744, 8.627",\
                 "1.347, 1.396, 1.568, 1.894, 2.405, 3.122, 4.052, 5.255, 6.77, 8.631",\
                 "1.545, 1.597, 1.775, 2.1, 2.602, 3.316, 4.258, 5.428, 6.889, 8.682",\
                 "1.763, 1.819, 2.01, 2.348, 2.848, 3.549, 4.492, 5.672, 7.102, 8.834");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&!B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2361, 0.2512, 0.3037, 0.4017, 0.5528, 0.7633, 1.04, 1.387, 1.811, 2.316",\
                 "0.2481, 0.2633, 0.3156, 0.4139, 0.5648, 0.7754, 1.052, 1.399, 1.823, 2.328",\
                 "0.2759, 0.2913, 0.3443, 0.4427, 0.5939, 0.8051, 1.081, 1.429, 1.853, 2.358",\
                 "0.2987, 0.3164, 0.3759, 0.4817, 0.6356, 0.8464, 1.123, 1.471, 1.894, 2.399",\
                 "0.3006, 0.3223, 0.3929, 0.5131, 0.684, 0.9074, 1.186, 1.533, 1.956, 2.461",\
                 "0.2713, 0.2982, 0.3845, 0.5274, 0.7203, 0.9645, 1.265, 1.624, 2.048, 2.551",\
                 "0.2063, 0.238, 0.3417, 0.5115, 0.7354, 1.008, 1.333, 1.717, 2.162, 2.674",\
                 "0.1066, 0.1428, 0.2616, 0.4592, 0.7185, 1.028, 1.386, 1.797, 2.269, 2.808",\
                 "-0.0281, 0.0127, 0.1459, 0.3681, 0.663, 1.013, 1.412, 1.86, 2.363, 2.93",\
                 "-0.2, -0.1553, -0.0076, 0.2381, 0.5656, 0.9586, 1.403, 1.895, 2.438, 3.037");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.5672, 0.5992, 0.7104, 0.9192, 1.241, 1.689, 2.276, 3.016, 3.914, 4.99",\
                 "0.5792, 0.6113, 0.7226, 0.9318, 1.254, 1.702, 2.29, 3.029, 3.929, 5",\
                 "0.6174, 0.6495, 0.7612, 0.9709, 1.293, 1.742, 2.33, 3.068, 3.967, 5.04",\
                 "0.6939, 0.7256, 0.8356, 1.043, 1.364, 1.811, 2.399, 3.138, 4.037, 5.11",\
                 "0.829, 0.8615, 0.9723, 1.176, 1.491, 1.933, 2.516, 3.251, 4.149, 5.221",\
                 "1.013, 1.047, 1.162, 1.374, 1.691, 2.125, 2.699, 3.426, 4.317, 5.383",\
                 "1.25, 1.286, 1.405, 1.623, 1.95, 2.395, 2.962, 3.679, 4.56, 5.616",\
                 "1.534, 1.572, 1.7, 1.929, 2.266, 2.722, 3.305, 4.019, 4.888, 5.932",\
                 "1.859, 1.901, 2.041, 2.288, 2.642, 3.108, 3.705, 4.437, 5.309, 6.34",\
                 "2.226, 2.273, 2.427, 2.695, 3.072, 3.559, 4.167, 4.916, 5.809, 6.846");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2493, 0.2748, 0.3621, 0.5292, 0.7882, 1.15, 1.625, 2.225, 2.957, 3.827",\
                 "0.2493, 0.2744, 0.3617, 0.5285, 0.787, 1.15, 1.626, 2.225, 2.957, 3.827",\
                 "0.2534, 0.2773, 0.3634, 0.5294, 0.7868, 1.151, 1.626, 2.225, 2.957, 3.827",\
                 "0.3086, 0.3306, 0.4093, 0.5571, 0.7973, 1.151, 1.626, 2.225, 2.956, 3.827",\
                 "0.4083, 0.428, 0.5022, 0.6478, 0.878, 1.201, 1.645, 2.227, 2.956, 3.827",\
                 "0.5558, 0.5762, 0.6474, 0.7842, 1.005, 1.325, 1.75, 2.291, 2.98, 3.83",\
                 "0.743, 0.7636, 0.8364, 0.9738, 1.188, 1.495, 1.915, 2.45, 3.1, 3.901",\
                 "0.9622, 0.9828, 1.061, 1.206, 1.423, 1.726, 2.13, 2.658, 3.308, 4.082",\
                 "1.21, 1.232, 1.314, 1.47, 1.702, 2.01, 2.41, 2.919, 3.56, 4.337",\
                 "1.482, 1.51, 1.601, 1.769, 2.012, 2.337, 2.744, 3.249, 3.874, 4.638");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7484, 0.8032, 0.9981, 1.363, 1.928, 2.713, 3.745, 5.04, 6.617, 8.506",\
                 "0.7477, 0.8044, 0.9984, 1.364, 1.927, 2.714, 3.746, 5.044, 6.623, 8.5",\
                 "0.7475, 0.8033, 0.9981, 1.364, 1.927, 2.713, 3.746, 5.045, 6.62, 8.504",\
                 "0.7521, 0.8067, 0.998, 1.363, 1.926, 2.713, 3.744, 5.041, 6.624, 8.506",\
                 "0.8162, 0.8658, 1.043, 1.383, 1.928, 2.711, 3.744, 5.042, 6.626, 8.512",\
                 "0.906, 0.9598, 1.141, 1.475, 1.988, 2.732, 3.744, 5.04, 6.623, 8.51",\
                 "1.028, 1.08, 1.261, 1.6, 2.118, 2.83, 3.792, 5.048, 6.621, 8.506",\
                 "1.182, 1.237, 1.417, 1.753, 2.272, 2.995, 3.928, 5.13, 6.647, 8.507",\
                 "1.362, 1.419, 1.61, 1.95, 2.463, 3.185, 4.131, 5.304, 6.764, 8.558",\
                 "1.557, 1.622, 1.829, 2.186, 2.699, 3.411, 4.359, 5.546, 6.979, 8.715");
        }
      }

      timing() {
        related_pin : "C2" ;
        sdf_cond : "A1===1'b1 && A2===1'b1 && B1===1'b1 && B2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2&B1&B2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.2027, 0.2149, 0.2574, 0.3365, 0.4578, 0.6273, 0.849, 1.128, 1.468, 1.874",\
                 "0.2154, 0.2278, 0.2703, 0.3496, 0.4709, 0.6402, 0.8621, 1.141, 1.482, 1.887",\
                 "0.2531, 0.2658, 0.309, 0.3886, 0.5103, 0.6796, 0.9017, 1.181, 1.521, 1.927",\
                 "0.2863, 0.3025, 0.3553, 0.4457, 0.5735, 0.7434, 0.9655, 1.244, 1.585, 1.991",\
                 "0.292, 0.3129, 0.3802, 0.4914, 0.6426, 0.8328, 1.064, 1.343, 1.683, 2.088",\
                 "0.2634, 0.2894, 0.3736, 0.5111, 0.6925, 0.9126, 1.173, 1.476, 1.822, 2.228",\
                 "0.1974, 0.2292, 0.3303, 0.4962, 0.7123, 0.9702, 1.266, 1.601, 1.982, 2.409",\
                 "0.0975, 0.1334, 0.2498, 0.4424, 0.6959, 0.9946, 1.333, 1.709, 2.126, 2.59",\
                 "-0.0388, 0.0014, 0.1321, 0.3493, 0.6388, 0.9806, 1.365, 1.788, 2.249, 2.753",\
                 "-0.2123, -0.1689, -0.0242, 0.2174, 0.5392, 0.9235, 1.357, 1.831, 2.343, 2.893");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6, 0.6322, 0.7434, 0.9528, 1.275, 1.723, 2.311, 3.052, 3.949, 5.022",\
                 "0.6128, 0.6451, 0.7564, 0.966, 1.288, 1.737, 2.325, 3.064, 3.965, 5.035",\
                 "0.6503, 0.6826, 0.7946, 1.004, 1.327, 1.777, 2.365, 3.105, 4.005, 5.075",\
                 "0.7271, 0.7588, 0.869, 1.077, 1.398, 1.846, 2.433, 3.173, 4.072, 5.143",\
                 "0.8657, 0.8972, 1.008, 1.211, 1.526, 1.968, 2.551, 3.287, 4.183, 5.253",\
                 "1.054, 1.088, 1.202, 1.413, 1.729, 2.163, 2.736, 3.464, 4.355, 5.422",\
                 "1.297, 1.331, 1.45, 1.667, 1.994, 2.438, 3.004, 3.72, 4.601, 5.657",\
                 "1.588, 1.625, 1.752, 1.979, 2.315, 2.771, 3.353, 4.065, 4.934, 5.979",\
                 "1.922, 1.963, 2.101, 2.346, 2.697, 3.164, 3.761, 4.492, 5.362, 6.392",\
                 "2.299, 2.345, 2.496, 2.762, 3.137, 3.622, 4.23, 4.979, 5.87, 6.907");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.1974, 0.2177, 0.2884, 0.4233, 0.6324, 0.9232, 1.307, 1.788, 2.376, 3.077",\
                 "0.1978, 0.2179, 0.2885, 0.4237, 0.6317, 0.924, 1.306, 1.788, 2.376, 3.077",\
                 "0.207, 0.2252, 0.2919, 0.4241, 0.6324, 0.9243, 1.306, 1.789, 2.377, 3.076",\
                 "0.2849, 0.3012, 0.3598, 0.471, 0.6518, 0.928, 1.307, 1.788, 2.376, 3.076",\
                 "0.4048, 0.4208, 0.4794, 0.5904, 0.7656, 1.01, 1.345, 1.797, 2.376, 3.076",\
                 "0.5656, 0.5824, 0.6434, 0.7558, 0.9302, 1.175, 1.498, 1.905, 2.429, 3.091",\
                 "0.7608, 0.7792, 0.842, 0.9622, 1.141, 1.388, 1.714, 2.122, 2.614, 3.218",\
                 "0.9884, 1.008, 1.076, 1.202, 1.395, 1.65, 1.976, 2.387, 2.887, 3.48",\
                 "1.247, 1.266, 1.339, 1.479, 1.688, 1.958, 2.292, 2.707, 3.206, 3.805",\
                 "1.528, 1.549, 1.63, 1.782, 2.008, 2.298, 2.657, 3.082, 3.586, 4.185");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.7889, 0.8458, 1.04, 1.408, 1.972, 2.758, 3.793, 5.09, 6.664, 8.545",\
                 "0.7897, 0.8463, 1.041, 1.407, 1.971, 2.76, 3.792, 5.089, 6.669, 8.547",\
                 "0.7882, 0.8448, 1.041, 1.407, 1.971, 2.758, 3.791, 5.089, 6.67, 8.551",\
                 "0.7914, 0.8459, 1.04, 1.407, 1.97, 2.757, 3.79, 5.088, 6.669, 8.548",\
                 "0.8486, 0.9002, 1.079, 1.423, 1.971, 2.756, 3.789, 5.089, 6.67, 8.551",\
                 "0.9372, 0.9922, 1.175, 1.509, 2.026, 2.773, 3.788, 5.086, 6.668, 8.556",\
                 "1.052, 1.104, 1.287, 1.631, 2.153, 2.866, 3.833, 5.092, 6.667, 8.553",\
                 "1.203, 1.255, 1.44, 1.777, 2.301, 3.029, 3.964, 5.17, 6.689, 8.554",\
                 "1.377, 1.436, 1.625, 1.966, 2.484, 3.211, 4.163, 5.337, 6.802, 8.6",\
                 "1.571, 1.632, 1.839, 2.195, 2.711, 3.43, 4.383, 5.574, 7.008, 8.749");
        }
      }

      timing() {
        related_pin : "C2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3605, 0.3793, 0.443, 0.5626, 0.7455, 0.9997, 1.333, 1.751, 2.261, 2.867",\
                 "0.3721, 0.391, 0.4546, 0.5742, 0.7572, 1.011, 1.344, 1.762, 2.273, 2.879",\
                 "0.3993, 0.4181, 0.482, 0.6016, 0.7848, 1.039, 1.372, 1.79, 2.3, 2.907",\
                 "0.4269, 0.446, 0.5123, 0.633, 0.816, 1.07, 1.403, 1.821, 2.331, 2.938",\
                 "0.439, 0.4598, 0.5318, 0.6615, 0.8537, 1.111, 1.443, 1.861, 2.37, 2.976",\
                 "0.4308, 0.4551, 0.5353, 0.6775, 0.8827, 1.155, 1.499, 1.918, 2.426, 3.031",\
                 "0.3917, 0.4195, 0.5128, 0.6733, 0.8983, 1.188, 1.549, 1.987, 2.504, 3.108",\
                 "0.3156, 0.3479, 0.4549, 0.6383, 0.8894, 1.206, 1.589, 2.045, 2.582, 3.204",\
                 "0.2027, 0.2394, 0.3601, 0.5664, 0.8485, 1.197, 1.61, 2.091, 2.649, 3.293",\
                 "0.0521, 0.0929, 0.2259, 0.455, 0.7691, 1.154, 1.602, 2.117, 2.703, 3.369");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.6, 0.6322, 0.7434, 0.9528, 1.275, 1.723, 2.311, 3.052, 3.949, 5.022",\
                 "0.6128, 0.6451, 0.7564, 0.966, 1.288, 1.737, 2.325, 3.064, 3.965, 5.035",\
                 "0.6503, 0.6826, 0.7946, 1.004, 1.327, 1.777, 2.365, 3.105, 4.005, 5.075",\
                 "0.7271, 0.7588, 0.869, 1.077, 1.398, 1.846, 2.433, 3.173, 4.072, 5.143",\
                 "0.8657, 0.8972, 1.008, 1.211, 1.526, 1.968, 2.551, 3.287, 4.183, 5.253",\
                 "1.054, 1.088, 1.202, 1.413, 1.729, 2.163, 2.736, 3.464, 4.355, 5.422",\
                 "1.297, 1.331, 1.45, 1.667, 1.994, 2.438, 3.004, 3.72, 4.601, 5.657",\
                 "1.588, 1.625, 1.752, 1.979, 2.315, 2.771, 3.353, 4.065, 4.934, 5.979",\
                 "1.922, 1.963, 2.101, 2.346, 2.697, 3.164, 3.761, 4.492, 5.362, 6.392",\
                 "2.299, 2.345, 2.496, 2.762, 3.137, 3.622, 4.23, 4.979, 5.87, 6.907");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.3559, 0.3883, 0.4966, 0.6995, 1.013, 1.45, 2.023, 2.742, 3.622, 4.666",\
                 "0.3562, 0.3879, 0.4968, 0.6994, 1.013, 1.449, 2.022, 2.742, 3.622, 4.668",\
                 "0.3565, 0.3878, 0.4969, 0.7003, 1.012, 1.45, 2.022, 2.742, 3.621, 4.668",\
                 "0.3837, 0.4127, 0.5137, 0.7076, 1.014, 1.45, 2.022, 2.742, 3.621, 4.668",\
                 "0.445, 0.4746, 0.5778, 0.7684, 1.059, 1.47, 2.026, 2.742, 3.62, 4.669",\
                 "0.5506, 0.5802, 0.679, 0.8642, 1.155, 1.56, 2.088, 2.77, 3.627, 4.667",\
                 "0.7044, 0.7334, 0.8334, 1.014, 1.293, 1.69, 2.219, 2.88, 3.698, 4.699",\
                 "0.8958, 0.9262, 1.03, 1.215, 1.489, 1.875, 2.387, 3.048, 3.855, 4.818",\
                 "1.118, 1.151, 1.263, 1.46, 1.738, 2.12, 2.616, 3.259, 4.063, 5.022",\
                 "1.372, 1.406, 1.527, 1.735, 2.034, 2.419, 2.912, 3.534, 4.317, 5.27");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005253, 0.02018, 0.04869, 0.0931, 0.1554, 0.2374, 0.3407, 0.4668, 0.6172");
          values("0.9635, 1.017, 1.206, 1.566, 2.126, 2.911, 3.941, 5.236, 6.816, 8.7",\
                 "0.9636, 1.017, 1.206, 1.566, 2.126, 2.911, 3.941, 5.237, 6.817, 8.697",\
                 "0.9631, 1.017, 1.206, 1.566, 2.126, 2.91, 3.941, 5.237, 6.818, 8.7",\
                 "0.9705, 1.022, 1.207, 1.566, 2.126, 2.91, 3.941, 5.237, 6.819, 8.702",\
                 "1.041, 1.089, 1.257, 1.591, 2.13, 2.91, 3.941, 5.238, 6.818, 8.702",\
                 "1.16, 1.206, 1.372, 1.689, 2.195, 2.934, 3.943, 5.237, 6.819, 8.702",\
                 "1.311, 1.356, 1.518, 1.834, 2.334, 3.037, 3.996, 5.248, 6.819, 8.701",\
                 "1.503, 1.548, 1.706, 2.015, 2.509, 3.213, 4.136, 5.336, 6.848, 8.704",\
                 "1.724, 1.77, 1.935, 2.241, 2.724, 3.422, 4.349, 5.515, 6.97, 8.762",\
                 "1.966, 2.018, 2.193, 2.511, 2.99, 3.672, 4.597, 5.766, 7.189, 8.92");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__or2_1) {
    area : 17.561600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "5.7255e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "5.874e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "4.422e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "5.874e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.002891 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005925, 0.005925, 0.005919, 0.00593, 0.005924, 0.005927, 0.005924, \
                 0.005912, 0.005906, 0.005895");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002424, -0.002437, -0.002449, -0.002447, -0.002455, -0.002463, \
                 -0.002464, -0.002463, -0.002464, -0.002464");
        }
      }
    }

    pin(A2) {
      capacitance : 0.002731 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007508, 0.007504, 0.007508, 0.007518, 0.007532, 0.007537, 0.007532, \
                 0.007533, 0.007529, 0.007526");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006241, -0.006756, -0.007215, -0.007309, -0.007339, -0.007387, \
                 -0.007396, -0.00741, -0.007421, -0.007427");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2)" ;
      max_capacitance : 0.3599 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.08806, 0.08589, 0.08252, 0.08067, 0.07956, 0.0789, 0.07848, 0.07822, 0.07801, 0.07788",\
                 "0.08751, 0.08533, 0.08198, 0.08018, 0.07899, 0.07836, 0.07792, 0.07762, 0.07744, 0.07733",\
                 "0.08777, 0.08554, 0.08227, 0.08035, 0.07925, 0.07861, 0.07824, 0.0779, 0.07772, 0.07759",\
                 "0.09177, 0.08949, 0.08597, 0.0838, 0.08261, 0.08192, 0.08148, 0.08123, 0.08103, 0.08089",\
                 "0.102, 0.09931, 0.09475, 0.09182, 0.0902, 0.0892, 0.0886, 0.08822, 0.08797, 0.08778",\
                 "0.1167, 0.1135, 0.1079, 0.1041, 0.1018, 0.1005, 0.09959, 0.09912, 0.09866, 0.09844",\
                 "0.1366, 0.133, 0.1262, 0.1213, 0.1182, 0.1162, 0.115, 0.1143, 0.1138, 0.1134",\
                 "0.1625, 0.1584, 0.1502, 0.1439, 0.1397, 0.1371, 0.1354, 0.1343, 0.1336, 0.1331",\
                 "0.1942, 0.1896, 0.1801, 0.1723, 0.167, 0.1635, 0.1611, 0.1596, 0.1586, 0.1578",\
                 "0.2319, 0.2269, 0.216, 0.2066, 0.2, 0.1956, 0.1925, 0.1904, 0.189, 0.188");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.04396, 0.04387, 0.04445, 0.04508, 0.0458, 0.04662, 0.0473, 0.04771, 0.049, 0.05237",\
                 "0.04408, 0.04408, 0.04461, 0.04531, 0.04587, 0.04675, 0.04736, 0.04821, 0.0494, 0.05237",\
                 "0.0454, 0.04513, 0.04524, 0.04574, 0.04649, 0.04718, 0.04782, 0.04841, 0.04966, 0.05351",\
                 "0.04977, 0.04909, 0.0486, 0.04832, 0.04871, 0.04946, 0.05007, 0.05062, 0.05181, 0.05587",\
                 "0.05778, 0.05669, 0.05491, 0.05468, 0.05435, 0.0545, 0.05495, 0.05554, 0.05682, 0.06045",\
                 "0.07001, 0.06836, 0.06571, 0.06419, 0.06362, 0.06378, 0.06406, 0.06421, 0.06509, 0.07003",\
                 "0.08665, 0.08463, 0.0809, 0.07818, 0.07689, 0.07704, 0.07703, 0.07689, 0.07757, 0.08386",\
                 "0.1082, 0.1057, 0.1011, 0.09722, 0.09484, 0.09361, 0.09439, 0.09474, 0.09519, 0.1022",\
                 "0.1346, 0.1316, 0.1262, 0.121, 0.1176, 0.1155, 0.115, 0.1165, 0.1172, 0.1268",\
                 "0.1662, 0.1625, 0.156, 0.1501, 0.1457, 0.1423, 0.1407, 0.1402, 0.1431, 0.1586");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.09349, 0.09132, 0.08799, 0.08613, 0.08499, 0.08436, 0.08391, 0.08362, 0.08343, 0.08331",\
                 "0.09294, 0.09076, 0.08747, 0.0856, 0.08444, 0.08379, 0.08336, 0.08308, 0.08287, 0.08276",\
                 "0.09245, 0.09027, 0.08694, 0.08503, 0.08397, 0.08328, 0.08286, 0.08261, 0.08241, 0.08227",\
                 "0.09574, 0.09339, 0.08986, 0.08774, 0.08652, 0.0858, 0.08536, 0.08509, 0.08487, 0.0847",\
                 "0.1053, 0.1027, 0.09841, 0.09566, 0.0941, 0.09322, 0.09266, 0.09227, 0.09201, 0.09186",\
                 "0.1209, 0.118, 0.1128, 0.1093, 0.1071, 0.1059, 0.1051, 0.1046, 0.1043, 0.1041",\
                 "0.1434, 0.14, 0.1336, 0.129, 0.1261, 0.1243, 0.1232, 0.1224, 0.122, 0.1216",\
                 "0.1725, 0.1686, 0.161, 0.1551, 0.1512, 0.1487, 0.1471, 0.1461, 0.1453, 0.1447",\
                 "0.2082, 0.204, 0.195, 0.1876, 0.1826, 0.1793, 0.1771, 0.1757, 0.1747, 0.174",\
                 "0.2509, 0.2463, 0.236, 0.227, 0.2208, 0.2166, 0.2138, 0.2118, 0.2104, 0.2094");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.04929, 0.04914, 0.04938, 0.04995, 0.05047, 0.05132, 0.0519, 0.05258, 0.05337, 0.05658",\
                 "0.04883, 0.04866, 0.04892, 0.04952, 0.05017, 0.05089, 0.0518, 0.05212, 0.05347, 0.05592",\
                 "0.04948, 0.04918, 0.04907, 0.04945, 0.05001, 0.05089, 0.05153, 0.05212, 0.05301, 0.05639",\
                 "0.05413, 0.05349, 0.05263, 0.05232, 0.05268, 0.0532, 0.05391, 0.05459, 0.05542, 0.05909",\
                 "0.06284, 0.06174, 0.0598, 0.05922, 0.05875, 0.05917, 0.05992, 0.0602, 0.06124, 0.06532",\
                 "0.07657, 0.07493, 0.07212, 0.07021, 0.06987, 0.06986, 0.06988, 0.0702, 0.07084, 0.07612",\
                 "0.09552, 0.0936, 0.08985, 0.08668, 0.08532, 0.08528, 0.0851, 0.08502, 0.08571, 0.0916",\
                 "0.1201, 0.1177, 0.1132, 0.1092, 0.1065, 0.1048, 0.1058, 0.1057, 0.1057, 0.1134",\
                 "0.1507, 0.1479, 0.1423, 0.1373, 0.1335, 0.1307, 0.13, 0.131, 0.1318, 0.1417",\
                 "0.1878, 0.1842, 0.1776, 0.1715, 0.1665, 0.163, 0.161, 0.1606, 0.163, 0.1786");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4774, 0.5199, 0.6346, 0.8027, 1.022, 1.303, 1.66, 2.105, 2.648, 3.296",\
                 "0.4864, 0.5287, 0.6437, 0.8119, 1.031, 1.312, 1.669, 2.114, 2.657, 3.305",\
                 "0.5426, 0.5852, 0.6998, 0.8679, 1.087, 1.368, 1.725, 2.171, 2.714, 3.361",\
                 "0.677, 0.7192, 0.8334, 1.001, 1.22, 1.501, 1.858, 2.304, 2.847, 3.494",\
                 "0.8803, 0.9242, 1.04, 1.21, 1.43, 1.711, 2.068, 2.513, 3.056, 3.704",\
                 "1.136, 1.182, 1.302, 1.476, 1.699, 1.982, 2.339, 2.784, 3.327, 3.974",\
                 "1.45, 1.498, 1.623, 1.801, 2.028, 2.313, 2.672, 3.118, 3.66, 4.307",\
                 "1.822, 1.874, 2.006, 2.191, 2.423, 2.71, 3.069, 3.517, 4.06, 4.707",\
                 "2.253, 2.307, 2.449, 2.643, 2.884, 3.177, 3.539, 3.986, 4.529, 5.176",\
                 "2.742, 2.802, 2.953, 3.159, 3.409, 3.713, 4.082, 4.532, 5.075, 5.722");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2243, 0.2615, 0.3821, 0.6071, 0.9563, 1.445, 2.088, 2.895, 3.885, 5.066",\
                 "0.2387, 0.2759, 0.3965, 0.6213, 0.9703, 1.46, 2.101, 2.909, 3.9, 5.08",\
                 "0.2871, 0.3239, 0.4434, 0.6679, 1.017, 1.506, 2.147, 2.957, 3.945, 5.127",\
                 "0.334, 0.3723, 0.4927, 0.7156, 1.064, 1.551, 2.196, 3.002, 3.994, 5.171",\
                 "0.349, 0.3894, 0.511, 0.7336, 1.08, 1.567, 2.21, 3.018, 4.008, 5.181",\
                 "0.325, 0.3677, 0.4939, 0.7161, 1.061, 1.548, 2.189, 2.997, 3.986, 5.159",\
                 "0.256, 0.3017, 0.4335, 0.658, 1.005, 1.489, 2.13, 2.937, 3.924, 5.102",\
                 "0.1393, 0.1882, 0.3262, 0.5539, 0.9026, 1.39, 2.029, 2.837, 3.822, 4.998",\
                 "-0.0297, 0.0226, 0.1683, 0.4004, 0.752, 1.242, 1.886, 2.692, 3.678, 4.852",\
                 "-0.2541, -0.1984, -0.045, 0.1932, 0.5467, 1.042, 1.69, 2.501, 3.486, 4.66");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1686, 0.2092, 0.326, 0.5186, 0.8078, 1.226, 1.796, 2.533, 3.443, 4.528",\
                 "0.1686, 0.2094, 0.3268, 0.5193, 0.8073, 1.226, 1.798, 2.534, 3.444, 4.529",\
                 "0.1689, 0.2088, 0.3269, 0.5192, 0.8082, 1.226, 1.795, 2.533, 3.445, 4.534",\
                 "0.1692, 0.2102, 0.3276, 0.5206, 0.807, 1.225, 1.796, 2.533, 3.444, 4.529",\
                 "0.1844, 0.2244, 0.3402, 0.528, 0.812, 1.228, 1.797, 2.533, 3.445, 4.534",\
                 "0.2036, 0.2432, 0.3566, 0.5458, 0.8264, 1.236, 1.802, 2.536, 3.446, 4.53",\
                 "0.225, 0.2666, 0.3792, 0.5644, 0.8416, 1.247, 1.808, 2.539, 3.447, 4.533",\
                 "0.2534, 0.2982, 0.411, 0.5922, 0.8624, 1.26, 1.819, 2.547, 3.447, 4.534",\
                 "0.2856, 0.3324, 0.4496, 0.6324, 0.898, 1.285, 1.831, 2.552, 3.452, 4.534",\
                 "0.3166, 0.3678, 0.4934, 0.6774, 0.9456, 1.33, 1.865, 2.572, 3.46, 4.538");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1176, 0.1711, 0.3681, 0.7599, 1.373, 2.233, 3.366, 4.798, 6.534, 8.614",\
                 "0.1176, 0.1712, 0.368, 0.7594, 1.373, 2.234, 3.366, 4.799, 6.537, 8.607",\
                 "0.1186, 0.1719, 0.3682, 0.7598, 1.373, 2.235, 3.369, 4.796, 6.533, 8.616",\
                 "0.1303, 0.1819, 0.3728, 0.7602, 1.373, 2.233, 3.365, 4.799, 6.531, 8.61",\
                 "0.144, 0.196, 0.3792, 0.7622, 1.374, 2.232, 3.368, 4.8, 6.537, 8.624",\
                 "0.1614, 0.214, 0.3924, 0.7674, 1.375, 2.233, 3.363, 4.787, 6.53, 8.607",\
                 "0.1818, 0.2348, 0.411, 0.7778, 1.382, 2.235, 3.364, 4.787, 6.526, 8.607",\
                 "0.2036, 0.2566, 0.4334, 0.7946, 1.398, 2.246, 3.37, 4.789, 6.525, 8.611",\
                 "0.228, 0.2828, 0.4588, 0.8126, 1.414, 2.267, 3.383, 4.796, 6.528, 8.6",\
                 "0.2538, 0.309, 0.4878, 0.8344, 1.434, 2.292, 3.411, 4.814, 6.54, 8.602");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.5165, 0.559, 0.6738, 0.8419, 1.061, 1.342, 1.699, 2.145, 2.688, 3.335",\
                 "0.528, 0.5706, 0.6854, 0.8535, 1.073, 1.353, 1.71, 2.156, 2.699, 3.347",\
                 "0.5675, 0.6097, 0.7245, 0.8928, 1.112, 1.392, 1.75, 2.195, 2.738, 3.385",\
                 "0.6571, 0.6996, 0.814, 0.9819, 1.201, 1.482, 1.839, 2.284, 2.828, 3.475",\
                 "0.8053, 0.8494, 0.9668, 1.138, 1.358, 1.64, 1.997, 2.442, 2.985, 3.632",\
                 "1.011, 1.056, 1.178, 1.353, 1.578, 1.861, 2.219, 2.664, 3.207, 3.854",\
                 "1.267, 1.315, 1.443, 1.625, 1.855, 2.141, 2.5, 2.946, 3.489, 4.136",\
                 "1.568, 1.619, 1.755, 1.948, 2.188, 2.481, 2.842, 3.289, 3.832, 4.478",\
                 "1.913, 1.968, 2.113, 2.317, 2.571, 2.877, 3.245, 3.695, 4.238, 4.885",\
                 "2.307, 2.364, 2.518, 2.734, 3.001, 3.323, 3.706, 4.165, 4.711, 5.358");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2452, 0.2827, 0.4035, 0.6283, 0.9771, 1.466, 2.108, 2.917, 3.905, 5.082",\
                 "0.2582, 0.2956, 0.4164, 0.6413, 0.9903, 1.479, 2.12, 2.93, 3.918, 5.092",\
                 "0.307, 0.344, 0.464, 0.6885, 1.037, 1.526, 2.168, 2.978, 3.965, 5.141",\
                 "0.3646, 0.4029, 0.5228, 0.746, 1.094, 1.582, 2.225, 3.034, 4.021, 5.198",\
                 "0.3935, 0.4336, 0.5554, 0.7771, 1.124, 1.612, 2.254, 3.063, 4.05, 5.226",\
                 "0.3891, 0.4316, 0.5574, 0.7789, 1.124, 1.611, 2.252, 3.06, 4.047, 5.223",\
                 "0.3469, 0.3925, 0.5234, 0.7467, 1.093, 1.579, 2.219, 3.026, 4.012, 5.189",\
                 "0.2646, 0.313, 0.4505, 0.6778, 1.026, 1.512, 2.152, 2.959, 3.944, 5.12",\
                 "0.1411, 0.1926, 0.3363, 0.568, 0.9187, 1.41, 2.052, 2.858, 3.843, 5.017",\
                 "-0.028, 0.0275, 0.1782, 0.4157, 0.7697, 1.265, 1.913, 2.722, 3.706, 4.881");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1686, 0.2092, 0.3268, 0.5193, 0.8073, 1.225, 1.796, 2.533, 3.444, 4.528",\
                 "0.1691, 0.2092, 0.3268, 0.519, 0.808, 1.226, 1.796, 2.535, 3.445, 4.532",\
                 "0.1682, 0.2094, 0.3269, 0.5188, 0.8066, 1.225, 1.796, 2.534, 3.445, 4.53",\
                 "0.1702, 0.2108, 0.3284, 0.5208, 0.8082, 1.226, 1.796, 2.534, 3.445, 4.533",\
                 "0.183, 0.2236, 0.3402, 0.5296, 0.8138, 1.227, 1.796, 2.536, 3.446, 4.532",\
                 "0.1968, 0.239, 0.3568, 0.5472, 0.8274, 1.236, 1.802, 2.537, 3.446, 4.532",\
                 "0.2204, 0.2638, 0.383, 0.5718, 0.8464, 1.249, 1.809, 2.539, 3.447, 4.532",\
                 "0.2462, 0.293, 0.4178, 0.6112, 0.8836, 1.275, 1.823, 2.544, 3.445, 4.533",\
                 "0.2738, 0.3252, 0.4564, 0.6576, 0.9372, 1.324, 1.855, 2.562, 3.451, 4.53",\
                 "0.3046, 0.358, 0.4972, 0.7056, 0.9974, 1.391, 1.92, 2.604, 3.477, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1198, 0.1733, 0.3697, 0.7607, 1.373, 2.233, 3.365, 4.791, 6.531, 8.608",\
                 "0.1196, 0.1732, 0.3705, 0.7603, 1.373, 2.233, 3.364, 4.792, 6.534, 8.601",\
                 "0.1201, 0.1736, 0.3697, 0.7609, 1.373, 2.232, 3.365, 4.79, 6.531, 8.608",\
                 "0.1295, 0.1822, 0.3725, 0.7628, 1.373, 2.233, 3.365, 4.79, 6.528, 8.602",\
                 "0.1434, 0.1952, 0.3796, 0.7634, 1.376, 2.233, 3.362, 4.789, 6.527, 8.61",\
                 "0.1598, 0.212, 0.3916, 0.768, 1.376, 2.233, 3.362, 4.787, 6.531, 8.608",\
                 "0.1792, 0.2318, 0.409, 0.7778, 1.382, 2.236, 3.364, 4.795, 6.526, 8.604",\
                 "0.2014, 0.2536, 0.4304, 0.7936, 1.399, 2.246, 3.368, 4.79, 6.538, 8.6",\
                 "0.2224, 0.277, 0.4554, 0.812, 1.417, 2.267, 3.381, 4.794, 6.527, 8.608",\
                 "0.2494, 0.3038, 0.4834, 0.8338, 1.437, 2.294, 3.411, 4.812, 6.542, 8.602");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__or2_2) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "6.70032e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "6.98346e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "6.98346e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004658 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01159, 0.01161, 0.01164, 0.01161, 0.01161, 0.01163, 0.01162, \
                 0.0116, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005191, -0.005224, -0.005249, -0.00527, -0.005275, -0.005306, \
                 -0.005301, -0.005304, -0.005298, -0.005298");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004658 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01625, 0.01627, 0.0163, 0.01635, 0.0163, 0.01632, 0.01633, 0.01631, \
                 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01343, -0.01462, -0.01562, -0.0158, -0.01588, -0.01598, -0.01601, \
                 -0.01605, -0.01605, -0.01608");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2)" ;
      max_capacitance : 0.7218 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.1481, 0.1433, 0.1374, 0.1348, 0.1335, 0.1328, 0.1323, 0.1319, 0.1318, 0.1316",\
                 "0.1467, 0.1417, 0.1359, 0.1334, 0.1321, 0.1314, 0.1309, 0.1306, 0.1304, 0.1302",\
                 "0.1472, 0.1422, 0.1363, 0.1337, 0.1324, 0.1317, 0.1313, 0.1309, 0.1308, 0.1307",\
                 "0.1567, 0.1511, 0.1443, 0.1407, 0.1392, 0.1384, 0.1379, 0.1375, 0.1373, 0.1371",\
                 "0.1771, 0.1704, 0.161, 0.1561, 0.1534, 0.1521, 0.1512, 0.1507, 0.1503, 0.1501",\
                 "0.2053, 0.1975, 0.1856, 0.179, 0.1752, 0.173, 0.1718, 0.171, 0.1706, 0.1702",\
                 "0.2433, 0.2345, 0.22, 0.2108, 0.2055, 0.2026, 0.2006, 0.1995, 0.1988, 0.1983",\
                 "0.2921, 0.2823, 0.2647, 0.2529, 0.2456, 0.2414, 0.2386, 0.237, 0.2358, 0.2351",\
                 "0.3518, 0.3411, 0.3204, 0.3057, 0.2961, 0.2904, 0.2866, 0.2841, 0.2826, 0.2814",\
                 "0.4228, 0.4113, 0.3876, 0.3696, 0.3578, 0.3499, 0.345, 0.3416, 0.3394, 0.3378");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.07019, 0.07004, 0.07166, 0.0732, 0.07438, 0.07608, 0.07723, 0.07898, 0.07992, 0.09015",\
                 "0.07031, 0.07027, 0.07184, 0.0732, 0.07461, 0.07651, 0.07766, 0.07931, 0.0816, 0.08898",\
                 "0.0732, 0.07244, 0.07261, 0.07399, 0.07544, 0.07733, 0.07835, 0.07997, 0.08193, 0.09224",\
                 "0.082, 0.08008, 0.07874, 0.07868, 0.0796, 0.08119, 0.08251, 0.08459, 0.08655, 0.09286",\
                 "0.09811, 0.09529, 0.09135, 0.09052, 0.09068, 0.09109, 0.09221, 0.09416, 0.09546, 0.1038",\
                 "0.1227, 0.1186, 0.1128, 0.1086, 0.1091, 0.1091, 0.1101, 0.11, 0.1123, 0.1217",\
                 "0.1559, 0.1505, 0.1427, 0.137, 0.1348, 0.1353, 0.1358, 0.1361, 0.1364, 0.1484",\
                 "0.1987, 0.1915, 0.1819, 0.1741, 0.1692, 0.1673, 0.1695, 0.1703, 0.1712, 0.1855",\
                 "0.2511, 0.2423, 0.2301, 0.2207, 0.2139, 0.2092, 0.2084, 0.2116, 0.2142, 0.2339",\
                 "0.3134, 0.3026, 0.2883, 0.2771, 0.2687, 0.2624, 0.258, 0.2584, 0.2658, 0.2942");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.1597, 0.1548, 0.1491, 0.1466, 0.1452, 0.1445, 0.144, 0.1436, 0.1434, 0.1433",\
                 "0.1584, 0.1535, 0.1477, 0.1452, 0.1439, 0.143, 0.1426, 0.1423, 0.142, 0.1419",\
                 "0.1573, 0.1524, 0.1465, 0.1439, 0.1426, 0.1419, 0.1415, 0.1412, 0.1409, 0.1408",\
                 "0.165, 0.1594, 0.1527, 0.1494, 0.1477, 0.1468, 0.1463, 0.146, 0.1458, 0.1456",\
                 "0.1835, 0.1772, 0.1687, 0.1643, 0.162, 0.1608, 0.1601, 0.1595, 0.1592, 0.159",\
                 "0.2135, 0.2064, 0.1957, 0.1896, 0.1863, 0.1845, 0.1835, 0.1828, 0.1823, 0.182",\
                 "0.2559, 0.2479, 0.2346, 0.2262, 0.2217, 0.219, 0.2173, 0.2162, 0.2155, 0.215",\
                 "0.3106, 0.3016, 0.2855, 0.2745, 0.2681, 0.2641, 0.2619, 0.2603, 0.2592, 0.2583",\
                 "0.3776, 0.3678, 0.3487, 0.3349, 0.3265, 0.321, 0.3177, 0.3155, 0.3139, 0.3128",\
                 "0.4572, 0.4467, 0.4249, 0.408, 0.3971, 0.39, 0.3856, 0.3825, 0.3803, 0.3789");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.08049, 0.08014, 0.0808, 0.08228, 0.0836, 0.08503, 0.08648, 0.0884, 0.08901, 0.09396",\
                 "0.07937, 0.07905, 0.07994, 0.08133, 0.08264, 0.08427, 0.08582, 0.08708, 0.08871, 0.09443",\
                 "0.08104, 0.08015, 0.07987, 0.08123, 0.08241, 0.08401, 0.08542, 0.08675, 0.08838, 0.09505",\
                 "0.0904, 0.08839, 0.087, 0.08638, 0.0871, 0.08846, 0.08991, 0.0917, 0.09333, 0.1001",\
                 "0.1079, 0.1049, 0.1007, 0.09964, 0.09941, 0.1003, 0.1014, 0.1032, 0.1046, 0.1131",\
                 "0.1351, 0.1312, 0.1249, 0.1209, 0.1208, 0.121, 0.1212, 0.1217, 0.1237, 0.1339",\
                 "0.1727, 0.1674, 0.1597, 0.1539, 0.1507, 0.1512, 0.151, 0.1514, 0.1525, 0.1642",\
                 "0.221, 0.2143, 0.2042, 0.1968, 0.1914, 0.1888, 0.1905, 0.1916, 0.1925, 0.2065",\
                 "0.2809, 0.2727, 0.2606, 0.2504, 0.2436, 0.2393, 0.2377, 0.2401, 0.2414, 0.2627",\
                 "0.3526, 0.3428, 0.3283, 0.3161, 0.3075, 0.301, 0.2973, 0.2966, 0.3024, 0.335");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.3733, 0.4181, 0.5306, 0.6915, 0.903, 1.18, 1.536, 1.983, 2.529, 3.179",\
                 "0.3816, 0.4265, 0.5392, 0.6999, 0.9114, 1.188, 1.544, 1.992, 2.537, 3.187",\
                 "0.4375, 0.4821, 0.5946, 0.7554, 0.9669, 1.244, 1.6, 2.047, 2.593, 3.243",\
                 "0.5658, 0.6104, 0.7228, 0.8834, 1.095, 1.372, 1.728, 2.175, 2.721, 3.371",\
                 "0.7418, 0.7893, 0.9048, 1.069, 1.283, 1.559, 1.915, 2.363, 2.908, 3.558",\
                 "0.9612, 1.011, 1.131, 1.298, 1.515, 1.794, 2.151, 2.597, 3.142, 3.793",\
                 "1.229, 1.282, 1.408, 1.579, 1.798, 2.077, 2.436, 2.883, 3.429, 4.078",\
                 "1.543, 1.6, 1.735, 1.913, 2.137, 2.418, 2.776, 3.224, 3.77, 4.42",\
                 "1.906, 1.967, 2.111, 2.299, 2.531, 2.818, 3.178, 3.625, 4.171, 4.821",\
                 "2.319, 2.384, 2.537, 2.736, 2.978, 3.275, 3.641, 4.09, 4.636, 5.286");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.1808, 0.2196, 0.341, 0.567, 0.9171, 1.408, 2.053, 2.865, 3.86, 5.043",\
                 "0.1959, 0.2347, 0.3561, 0.5822, 0.9326, 1.424, 2.07, 2.881, 3.877, 5.055",\
                 "0.2457, 0.2842, 0.4044, 0.6299, 0.9807, 1.472, 2.116, 2.931, 3.92, 5.106",\
                 "0.2906, 0.3312, 0.4518, 0.6763, 1.026, 1.517, 2.163, 2.976, 3.97, 5.151",\
                 "0.3085, 0.352, 0.4746, 0.6974, 1.046, 1.536, 2.181, 2.994, 3.987, 5.169",\
                 "0.2933, 0.3398, 0.4676, 0.6893, 1.036, 1.526, 2.17, 2.982, 3.976, 5.155",\
                 "0.2393, 0.2898, 0.4238, 0.6481, 0.9954, 1.483, 2.127, 2.938, 3.929, 5.112",\
                 "0.1456, 0.1994, 0.3405, 0.5678, 0.9167, 1.407, 2.049, 2.861, 3.85, 5.031",\
                 "0.0078, 0.0656, 0.2141, 0.4459, 0.7968, 1.29, 1.935, 2.746, 3.735, 4.916",\
                 "-0.1776, -0.1152, 0.0415, 0.2787, 0.6317, 1.129, 1.779, 2.593, 3.583, 4.762");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.1191, 0.1625, 0.2798, 0.4706, 0.7632, 1.192, 1.775, 2.522, 3.439, 4.534",\
                 "0.1192, 0.1623, 0.2795, 0.47, 0.7628, 1.191, 1.774, 2.522, 3.438, 4.535",\
                 "0.1193, 0.1626, 0.2797, 0.4705, 0.7628, 1.192, 1.775, 2.52, 3.437, 4.534",\
                 "0.1231, 0.166, 0.283, 0.4724, 0.7628, 1.193, 1.774, 2.521, 3.439, 4.533",\
                 "0.1412, 0.1832, 0.2976, 0.4838, 0.7708, 1.195, 1.776, 2.523, 3.439, 4.529",\
                 "0.1576, 0.201, 0.3132, 0.4986, 0.7828, 1.202, 1.781, 2.523, 3.44, 4.534",\
                 "0.1786, 0.2248, 0.3346, 0.5156, 0.7934, 1.21, 1.787, 2.528, 3.439, 4.527",\
                 "0.202, 0.2516, 0.3648, 0.542, 0.8122, 1.221, 1.79, 2.531, 3.441, 4.53",\
                 "0.2286, 0.282, 0.4014, 0.5794, 0.8454, 1.243, 1.801, 2.535, 3.445, 4.533",\
                 "0.256, 0.3144, 0.4408, 0.6194, 0.8874, 1.281, 1.83, 2.549, 3.454, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.0787, 0.1328, 0.3317, 0.7256, 1.343, 2.208, 3.35, 4.783, 6.528, 8.614",\
                 "0.07882, 0.1327, 0.3315, 0.7259, 1.342, 2.205, 3.344, 4.778, 6.533, 8.625",\
                 "0.08068, 0.1345, 0.3318, 0.7257, 1.342, 2.207, 3.345, 4.779, 6.524, 8.616",\
                 "0.09168, 0.1444, 0.3352, 0.7269, 1.342, 2.206, 3.343, 4.778, 6.53, 8.616",\
                 "0.1052, 0.1584, 0.3412, 0.7286, 1.343, 2.204, 3.346, 4.777, 6.525, 8.609",\
                 "0.1218, 0.1754, 0.3528, 0.7318, 1.345, 2.205, 3.34, 4.774, 6.522, 8.617",\
                 "0.1408, 0.195, 0.3706, 0.7416, 1.35, 2.208, 3.341, 4.773, 6.518, 8.603",\
                 "0.1608, 0.216, 0.3906, 0.7552, 1.365, 2.217, 3.347, 4.772, 6.527, 8.624",\
                 "0.1822, 0.2384, 0.4142, 0.7714, 1.381, 2.236, 3.358, 4.78, 6.519, 8.606",\
                 "0.2068, 0.2646, 0.442, 0.7886, 1.397, 2.261, 3.384, 4.797, 6.529, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.4086, 0.4535, 0.5662, 0.7269, 0.9384, 1.215, 1.571, 2.019, 2.564, 3.215",\
                 "0.4195, 0.4642, 0.5769, 0.7376, 0.9492, 1.226, 1.582, 2.029, 2.575, 3.225",\
                 "0.4573, 0.5019, 0.6145, 0.7753, 0.9869, 1.263, 1.62, 2.067, 2.612, 3.263",\
                 "0.5392, 0.5846, 0.6976, 0.8589, 1.071, 1.347, 1.704, 2.151, 2.696, 3.347",\
                 "0.6655, 0.7126, 0.83, 0.9956, 1.21, 1.487, 1.843, 2.29, 2.836, 3.486",\
                 "0.8391, 0.8886, 1.01, 1.18, 1.398, 1.678, 2.035, 2.481, 3.027, 3.677",\
                 "1.052, 1.105, 1.234, 1.411, 1.634, 1.916, 2.273, 2.721, 3.266, 3.916",\
                 "1.301, 1.357, 1.494, 1.682, 1.915, 2.203, 2.563, 3.01, 3.556, 4.205",\
                 "1.585, 1.645, 1.791, 1.99, 2.236, 2.535, 2.902, 3.351, 3.896, 4.546",\
                 "1.906, 1.97, 2.124, 2.334, 2.593, 2.907, 3.288, 3.745, 4.292, 4.942");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.2016, 0.2407, 0.3622, 0.5885, 0.9389, 1.429, 2.074, 2.887, 3.878, 5.059",\
                 "0.2151, 0.2543, 0.3759, 0.6022, 0.9525, 1.443, 2.087, 2.901, 3.893, 5.071",\
                 "0.2665, 0.3052, 0.4256, 0.6514, 1.002, 1.493, 2.137, 2.951, 3.942, 5.123",\
                 "0.3237, 0.3641, 0.4851, 0.7092, 1.059, 1.549, 2.194, 3.006, 3.999, 5.178",\
                 "0.357, 0.3999, 0.5225, 0.745, 1.094, 1.584, 2.229, 3.04, 4.033, 5.215",\
                 "0.3629, 0.409, 0.5352, 0.7572, 1.105, 1.594, 2.238, 3.05, 4.042, 5.224",\
                 "0.338, 0.387, 0.5198, 0.7434, 1.09, 1.578, 2.222, 3.033, 4.023, 5.206",\
                 "0.28, 0.3335, 0.4725, 0.6993, 1.048, 1.537, 2.18, 2.991, 3.981, 5.162",\
                 "0.1898, 0.2462, 0.3921, 0.622, 0.9736, 1.467, 2.111, 2.921, 3.911, 5.091",\
                 "0.0629, 0.1235, 0.2766, 0.5116, 0.8663, 1.362, 2.012, 2.824, 3.813, 4.993");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.1193, 0.1623, 0.2795, 0.4699, 0.7627, 1.191, 1.775, 2.523, 3.438, 4.533",\
                 "0.1191, 0.1626, 0.2798, 0.47, 0.7625, 1.192, 1.775, 2.523, 3.438, 4.535",\
                 "0.1192, 0.1628, 0.2799, 0.47, 0.7623, 1.191, 1.773, 2.523, 3.435, 4.534",\
                 "0.1255, 0.1677, 0.2834, 0.4728, 0.764, 1.192, 1.776, 2.522, 3.44, 4.534",\
                 "0.1356, 0.1802, 0.2972, 0.4846, 0.7708, 1.195, 1.776, 2.522, 3.436, 4.53",\
                 "0.1492, 0.195, 0.3134, 0.5006, 0.7834, 1.202, 1.778, 2.524, 3.437, 4.533",\
                 "0.1686, 0.2172, 0.3384, 0.5246, 0.8018, 1.213, 1.785, 2.525, 3.436, 4.532",\
                 "0.1912, 0.2432, 0.3702, 0.5614, 0.8354, 1.235, 1.794, 2.529, 3.439, 4.531",\
                 "0.216, 0.271, 0.4046, 0.6046, 0.8844, 1.279, 1.825, 2.542, 3.444, 4.53",\
                 "0.2418, 0.3004, 0.4408, 0.6476, 0.9394, 1.34, 1.88, 2.579, 3.462, 4.539");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005975, 0.02344, 0.05679, 0.1087, 0.1816, 0.2776, 0.3984, 0.5459, 0.7218");
          values("0.08038, 0.1348, 0.3329, 0.7262, 1.342, 2.206, 3.341, 4.776, 6.524, 8.607",\
                 "0.08084, 0.1348, 0.3336, 0.7265, 1.342, 2.205, 3.34, 4.776, 6.526, 8.6",\
                 "0.08138, 0.1354, 0.3328, 0.7267, 1.342, 2.205, 3.342, 4.774, 6.529, 8.606",\
                 "0.09134, 0.1447, 0.336, 0.7269, 1.342, 2.206, 3.343, 4.774, 6.526, 8.6",\
                 "0.105, 0.1568, 0.3414, 0.7288, 1.344, 2.205, 3.341, 4.775, 6.523, 8.603",\
                 "0.1192, 0.173, 0.352, 0.7322, 1.345, 2.206, 3.344, 4.773, 6.52, 8.605",\
                 "0.1362, 0.191, 0.3672, 0.7408, 1.35, 2.209, 3.342, 4.78, 6.518, 8.605",\
                 "0.1568, 0.2112, 0.387, 0.7546, 1.363, 2.217, 3.344, 4.773, 6.53, 8.601",\
                 "0.1756, 0.2318, 0.4092, 0.7698, 1.382, 2.235, 3.357, 4.78, 6.521, 8.61",\
                 "0.1988, 0.2562, 0.4346, 0.788, 1.399, 2.26, 3.38, 4.792, 6.525, 8.602");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__or2_4) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "0.0001122231" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "0.0001178892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001178892" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.009213 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02398, 0.02396, 0.02397, 0.02397, 0.02395, 0.02402, 0.02399, \
                 0.02395, 0.02393, 0.02387");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01046, -0.01051, -0.01056, -0.0106, -0.01059, -0.01062, -0.01063, \
                 -0.01063, -0.01063, -0.01063");
        }
      }
    }

    pin(A2) {
      capacitance : 0.00947 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "A1" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03259, 0.03248, 0.03261, 0.03261, 0.0326, 0.03267, 0.03265, \
                 0.03261, 0.03263, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02693, -0.02926, -0.03127, -0.03162, -0.03182, -0.03196, -0.03199, \
                 -0.03209, -0.03211, -0.03216");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2)" ;
      max_capacitance : 1.441 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.2945, 0.2848, 0.2735, 0.2685, 0.2661, 0.2649, 0.264, 0.2633, 0.263, 0.2627",\
                 "0.2916, 0.2817, 0.2706, 0.2659, 0.2634, 0.262, 0.2612, 0.2606, 0.2602, 0.2599",\
                 "0.2927, 0.2828, 0.2713, 0.2663, 0.2641, 0.2629, 0.2621, 0.2614, 0.2612, 0.2609",\
                 "0.3124, 0.3013, 0.2874, 0.2809, 0.2778, 0.2762, 0.2753, 0.2748, 0.2745, 0.274",\
                 "0.353, 0.3395, 0.3209, 0.3112, 0.3063, 0.3037, 0.3021, 0.3011, 0.3004, 0.3",\
                 "0.4093, 0.3936, 0.37, 0.3571, 0.3494, 0.3456, 0.3434, 0.3421, 0.341, 0.3404",\
                 "0.4857, 0.468, 0.439, 0.4213, 0.4106, 0.4047, 0.4012, 0.3989, 0.3974, 0.3965",\
                 "0.5835, 0.5636, 0.5285, 0.505, 0.4908, 0.4826, 0.4772, 0.474, 0.4718, 0.4702",\
                 "0.7028, 0.6811, 0.6394, 0.6105, 0.592, 0.5804, 0.573, 0.5685, 0.5652, 0.5629",\
                 "0.8449, 0.8217, 0.7739, 0.7378, 0.7142, 0.6993, 0.6896, 0.6831, 0.6787, 0.6756");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1403, 0.1403, 0.1433, 0.1469, 0.1489, 0.1525, 0.1558, 0.1577, 0.1614, 0.1743",\
                 "0.1406, 0.1408, 0.1441, 0.1473, 0.1499, 0.1532, 0.1552, 0.1587, 0.1607, 0.1815",\
                 "0.1465, 0.1453, 0.1455, 0.1484, 0.1507, 0.1552, 0.1572, 0.161, 0.1634, 0.1834",\
                 "0.1643, 0.1606, 0.158, 0.1575, 0.1599, 0.1624, 0.1654, 0.1683, 0.1733, 0.1873",\
                 "0.1966, 0.1909, 0.1836, 0.1812, 0.1818, 0.1825, 0.1849, 0.1887, 0.1918, 0.2072",\
                 "0.2461, 0.2376, 0.2256, 0.2192, 0.218, 0.2198, 0.2205, 0.2221, 0.2255, 0.2449",\
                 "0.3128, 0.3017, 0.2851, 0.2736, 0.2692, 0.2713, 0.2723, 0.2732, 0.2761, 0.2989",\
                 "0.3985, 0.3842, 0.364, 0.3489, 0.339, 0.334, 0.3387, 0.3411, 0.3432, 0.3724",\
                 "0.5035, 0.4858, 0.4606, 0.4418, 0.4291, 0.4208, 0.4192, 0.4256, 0.4296, 0.4697",\
                 "0.6276, 0.6064, 0.577, 0.5536, 0.5369, 0.5257, 0.5185, 0.5193, 0.5315, 0.5925");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3179, 0.3081, 0.2969, 0.2922, 0.2897, 0.2882, 0.2874, 0.2867, 0.2864, 0.2861",\
                 "0.3151, 0.3052, 0.2941, 0.2893, 0.2868, 0.2854, 0.2846, 0.284, 0.2836, 0.2833",\
                 "0.3129, 0.3032, 0.2915, 0.287, 0.2845, 0.2831, 0.2824, 0.2817, 0.2814, 0.2812",\
                 "0.3286, 0.3175, 0.304, 0.2978, 0.2947, 0.293, 0.292, 0.2915, 0.291, 0.2907",\
                 "0.3656, 0.3531, 0.3363, 0.3275, 0.3232, 0.3209, 0.3196, 0.3188, 0.3182, 0.3176",\
                 "0.4259, 0.4115, 0.3904, 0.3784, 0.372, 0.3685, 0.3664, 0.3652, 0.3643, 0.3638",\
                 "0.511, 0.4947, 0.4684, 0.4519, 0.4426, 0.4373, 0.4341, 0.4321, 0.4307, 0.43",\
                 "0.6204, 0.6021, 0.5697, 0.5482, 0.5355, 0.5282, 0.5231, 0.5201, 0.5181, 0.5166",\
                 "0.7545, 0.7345, 0.6969, 0.669, 0.6517, 0.642, 0.6353, 0.6308, 0.6277, 0.6256",\
                 "0.9139, 0.8924, 0.8489, 0.815, 0.7935, 0.7797, 0.7707, 0.7647, 0.7606, 0.7578");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1618, 0.1611, 0.1627, 0.1659, 0.1683, 0.171, 0.1737, 0.1775, 0.1789, 0.1924",\
                 "0.1598, 0.1593, 0.1607, 0.1637, 0.1659, 0.1694, 0.1717, 0.1742, 0.1776, 0.1901",\
                 "0.1632, 0.1613, 0.1614, 0.1633, 0.1659, 0.1694, 0.172, 0.1746, 0.1763, 0.192",\
                 "0.182, 0.1778, 0.1753, 0.1741, 0.1756, 0.1786, 0.1819, 0.1851, 0.1892, 0.2011",\
                 "0.2171, 0.2113, 0.2035, 0.2005, 0.1997, 0.202, 0.2034, 0.2066, 0.2104, 0.2267",\
                 "0.2716, 0.2636, 0.2509, 0.2435, 0.2431, 0.2439, 0.2436, 0.2455, 0.2483, 0.2689",\
                 "0.3469, 0.3365, 0.3206, 0.3084, 0.303, 0.3047, 0.3034, 0.3036, 0.3082, 0.3331",\
                 "0.4439, 0.4298, 0.4093, 0.3945, 0.3834, 0.3796, 0.3829, 0.3833, 0.3852, 0.4146",\
                 "0.5639, 0.547, 0.5225, 0.5025, 0.489, 0.4809, 0.4779, 0.484, 0.4854, 0.5272",\
                 "0.7072, 0.687, 0.6578, 0.633, 0.6155, 0.6036, 0.5971, 0.5952, 0.6075, 0.6724");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3634, 0.408, 0.5197, 0.6793, 0.8898, 1.166, 1.522, 1.969, 2.515, 3.165",\
                 "0.3717, 0.4164, 0.528, 0.6876, 0.8981, 1.174, 1.53, 1.978, 2.523, 3.174",\
                 "0.4278, 0.4722, 0.5838, 0.7434, 0.9538, 1.23, 1.586, 2.033, 2.579, 3.229",\
                 "0.556, 0.6003, 0.7117, 0.8714, 1.082, 1.358, 1.714, 2.161, 2.707, 3.357",\
                 "0.7308, 0.7777, 0.8928, 1.056, 1.268, 1.545, 1.901, 2.348, 2.893, 3.543",\
                 "0.9488, 0.9989, 1.118, 1.283, 1.499, 1.778, 2.134, 2.581, 3.126, 3.776",\
                 "1.215, 1.268, 1.393, 1.563, 1.78, 2.059, 2.417, 2.865, 3.41, 4.06",\
                 "1.528, 1.585, 1.718, 1.896, 2.119, 2.399, 2.757, 3.204, 3.751, 4.401",\
                 "1.889, 1.95, 2.092, 2.28, 2.511, 2.797, 3.157, 3.604, 4.149, 4.8",\
                 "2.3, 2.365, 2.518, 2.716, 2.956, 3.252, 3.617, 4.067, 4.613, 5.264");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1759, 0.2147, 0.3361, 0.562, 0.9121, 1.403, 2.05, 2.86, 3.857, 5.04",\
                 "0.191, 0.2299, 0.3512, 0.577, 0.9277, 1.418, 2.064, 2.877, 3.87, 5.053",\
                 "0.2404, 0.2788, 0.3989, 0.6245, 0.9747, 1.466, 2.112, 2.926, 3.916, 5.102",\
                 "0.2836, 0.3242, 0.4451, 0.669, 1.019, 1.51, 2.156, 2.967, 3.963, 5.145",\
                 "0.2995, 0.343, 0.4658, 0.6881, 1.037, 1.526, 2.172, 2.985, 3.979, 5.158",\
                 "0.2821, 0.3291, 0.4561, 0.6787, 1.026, 1.515, 2.159, 2.971, 3.965, 5.143",\
                 "0.227, 0.2772, 0.4106, 0.6347, 0.9827, 1.471, 2.114, 2.926, 3.916, 5.1",\
                 "0.1312, 0.1853, 0.3258, 0.553, 0.9025, 1.392, 2.035, 2.846, 3.836, 5.016",\
                 "-0.0085, 0.0496, 0.1976, 0.4292, 0.7802, 1.274, 1.92, 2.73, 3.72, 4.9",\
                 "-0.1955, -0.1333, 0.023, 0.2594, 0.6133, 1.112, 1.762, 2.576, 3.565, 4.745");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1156, 0.159, 0.2759, 0.4661, 0.7596, 1.189, 1.773, 2.522, 3.437, 4.535",\
                 "0.1157, 0.1588, 0.2759, 0.4662, 0.7584, 1.19, 1.774, 2.521, 3.439, 4.53",\
                 "0.1161, 0.1593, 0.2758, 0.4659, 0.7591, 1.19, 1.772, 2.522, 3.44, 4.535",\
                 "0.1204, 0.163, 0.279, 0.468, 0.7604, 1.19, 1.774, 2.521, 3.439, 4.535",\
                 "0.137, 0.1798, 0.2934, 0.4798, 0.7678, 1.193, 1.773, 2.522, 3.436, 4.535",\
                 "0.1538, 0.1978, 0.3088, 0.494, 0.7788, 1.201, 1.779, 2.523, 3.439, 4.534",\
                 "0.175, 0.2212, 0.331, 0.5102, 0.7888, 1.208, 1.786, 2.526, 3.441, 4.532",\
                 "0.1988, 0.2486, 0.3616, 0.5376, 0.8098, 1.217, 1.79, 2.531, 3.441, 4.529",\
                 "0.225, 0.2786, 0.3962, 0.5728, 0.8418, 1.24, 1.801, 2.537, 3.445, 4.533",\
                 "0.2532, 0.3104, 0.4358, 0.6148, 0.8824, 1.28, 1.831, 2.548, 3.451, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.07642, 0.1306, 0.3295, 0.7243, 1.34, 2.207, 3.344, 4.782, 6.532, 8.611",\
                 "0.07668, 0.1305, 0.3305, 0.7243, 1.34, 2.207, 3.341, 4.773, 6.531, 8.611",\
                 "0.07862, 0.1324, 0.33, 0.7246, 1.34, 2.204, 3.342, 4.779, 6.532, 8.615",\
                 "0.0896, 0.1424, 0.3332, 0.7245, 1.34, 2.204, 3.342, 4.784, 6.526, 8.608",\
                 "0.1032, 0.1556, 0.3394, 0.7266, 1.341, 2.204, 3.344, 4.775, 6.525, 8.626",\
                 "0.1204, 0.173, 0.3508, 0.73, 1.342, 2.204, 3.343, 4.768, 6.519, 8.607",\
                 "0.1386, 0.1926, 0.3682, 0.7412, 1.35, 2.206, 3.34, 4.779, 6.519, 8.603",\
                 "0.1576, 0.2136, 0.3882, 0.753, 1.365, 2.217, 3.345, 4.771, 6.526, 8.622",\
                 "0.1804, 0.2378, 0.4124, 0.7692, 1.379, 2.234, 3.356, 4.778, 6.518, 8.606",\
                 "0.2028, 0.2624, 0.4406, 0.7874, 1.397, 2.26, 3.382, 4.792, 6.525, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3998, 0.4444, 0.5563, 0.7158, 0.9262, 1.202, 1.559, 2.006, 2.551, 3.201",\
                 "0.4106, 0.4553, 0.567, 0.7264, 0.937, 1.213, 1.569, 2.016, 2.562, 3.212",\
                 "0.4487, 0.4931, 0.6047, 0.7644, 0.9748, 1.251, 1.607, 2.054, 2.6, 3.25",\
                 "0.5306, 0.5757, 0.6876, 0.8478, 1.058, 1.335, 1.691, 2.138, 2.683, 3.334",\
                 "0.6556, 0.7027, 0.8196, 0.984, 1.197, 1.474, 1.83, 2.277, 2.822, 3.472",\
                 "0.8286, 0.878, 0.9989, 1.168, 1.385, 1.664, 2.02, 2.467, 3.013, 3.663",\
                 "1.041, 1.093, 1.221, 1.398, 1.62, 1.901, 2.258, 2.706, 3.251, 3.901",\
                 "1.288, 1.344, 1.48, 1.667, 1.9, 2.187, 2.546, 2.994, 3.539, 4.189",\
                 "1.571, 1.631, 1.776, 1.974, 2.219, 2.518, 2.885, 3.334, 3.879, 4.529",\
                 "1.89, 1.954, 2.108, 2.317, 2.575, 2.888, 3.269, 3.727, 4.274, 4.924");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1968, 0.236, 0.3576, 0.5838, 0.9344, 1.424, 2.07, 2.883, 3.875, 5.056",\
                 "0.2106, 0.2496, 0.3711, 0.5973, 0.9476, 1.439, 2.083, 2.897, 3.888, 5.069",\
                 "0.2617, 0.3003, 0.4208, 0.6465, 0.9971, 1.488, 2.133, 2.946, 3.936, 5.12",\
                 "0.3175, 0.3577, 0.4786, 0.7029, 1.053, 1.543, 2.187, 3.001, 3.993, 5.172",\
                 "0.3492, 0.3925, 0.5151, 0.7372, 1.086, 1.576, 2.22, 3.034, 4.025, 5.208",\
                 "0.3537, 0.3996, 0.5258, 0.748, 1.095, 1.585, 2.228, 3.041, 4.032, 5.214",\
                 "0.327, 0.3767, 0.5088, 0.7321, 1.08, 1.568, 2.211, 3.022, 4.013, 5.193",\
                 "0.2683, 0.3213, 0.4599, 0.6866, 1.036, 1.525, 2.168, 2.978, 3.968, 5.149",\
                 "0.176, 0.2328, 0.3782, 0.6081, 0.9603, 1.454, 2.098, 2.908, 3.897, 5.077",\
                 "0.0476, 0.1092, 0.2619, 0.4959, 0.851, 1.347, 1.997, 2.809, 3.799, 4.979");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1158, 0.1591, 0.2755, 0.4655, 0.758, 1.189, 1.773, 2.522, 3.435, 4.535",\
                 "0.1157, 0.1588, 0.2758, 0.4661, 0.7594, 1.189, 1.774, 2.52, 3.435, 4.535",\
                 "0.1157, 0.1591, 0.2763, 0.4663, 0.7585, 1.19, 1.775, 2.522, 3.435, 4.535",\
                 "0.1223, 0.1645, 0.2796, 0.4682, 0.7596, 1.189, 1.773, 2.522, 3.437, 4.535",\
                 "0.1322, 0.1778, 0.2946, 0.4808, 0.7674, 1.192, 1.774, 2.521, 3.438, 4.534",\
                 "0.146, 0.192, 0.3104, 0.4966, 0.7798, 1.199, 1.779, 2.522, 3.439, 4.532",\
                 "0.1654, 0.2152, 0.335, 0.5216, 0.7976, 1.211, 1.782, 2.524, 3.44, 4.532",\
                 "0.1884, 0.2396, 0.3666, 0.5578, 0.8328, 1.234, 1.795, 2.527, 3.438, 4.53",\
                 "0.2122, 0.268, 0.4012, 0.5994, 0.8804, 1.277, 1.823, 2.541, 3.444, 4.529",\
                 "0.238, 0.297, 0.4372, 0.6438, 0.9352, 1.337, 1.879, 2.581, 3.462, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.07826, 0.1326, 0.3311, 0.725, 1.34, 2.204, 3.341, 4.774, 6.52, 8.609",\
                 "0.07874, 0.1328, 0.3311, 0.725, 1.34, 2.203, 3.341, 4.771, 6.52, 8.608",\
                 "0.07912, 0.1333, 0.331, 0.7246, 1.34, 2.204, 3.34, 4.773, 6.525, 8.607",\
                 "0.08956, 0.1425, 0.334, 0.7249, 1.34, 2.204, 3.339, 4.774, 6.524, 8.601",\
                 "0.102, 0.1546, 0.339, 0.7278, 1.342, 2.202, 3.34, 4.772, 6.517, 8.602",\
                 "0.1174, 0.1708, 0.3496, 0.7302, 1.343, 2.205, 3.338, 4.769, 6.521, 8.599",\
                 "0.1348, 0.1886, 0.3654, 0.7398, 1.349, 2.206, 3.34, 4.78, 6.519, 8.607",\
                 "0.1552, 0.2086, 0.3846, 0.7538, 1.362, 2.215, 3.343, 4.771, 6.524, 8.607",\
                 "0.1734, 0.23, 0.4062, 0.7684, 1.379, 2.233, 3.357, 4.775, 6.519, 8.608",\
                 "0.1968, 0.2528, 0.4314, 0.786, 1.398, 2.26, 3.379, 4.795, 6.522, 8.601");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__or3_1) {
    area : 21.952000 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "6.76896e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "7.30356e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "5.874e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "5.874e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "7.30356e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.002831 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01279, 0.01279, 0.01279, 0.01277, 0.01276, 0.01276, 0.01275, \
                 0.01273, 0.0127, 0.01266");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002427, -0.002433, -0.002448, -0.002449, -0.00245, -0.002456, \
                 -0.00246, -0.002459, -0.002456, -0.002457");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006336, 0.006327, 0.006339, 0.006329, 0.006325, 0.006339, 0.006326, \
                 0.006319, 0.006312, 0.006297");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00242, -0.002433, -0.002449, -0.002448, -0.002453, -0.002458, \
                 -0.002464, -0.002463, -0.002461, -0.002461");
        }
      }

      internal_power() {
        when : "A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00633, 0.00633, 0.006338, 0.006331, 0.006324, 0.006336, 0.006328, \
                 0.006318, 0.006309, 0.006294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00242, -0.002434, -0.002451, -0.00245, -0.002452, -0.002461, \
                 -0.002461, -0.002462, -0.002464, -0.00246");
        }
      }
    }

    pin(A2) {
      capacitance : 0.002774 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006573, 0.006572, 0.006578, 0.006578, 0.006572, 0.00658, 0.00656, \
                 0.006543, 0.006524, 0.006492");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002781, -0.002794, -0.002811, -0.00281, -0.002816, -0.002828, \
                 -0.002833, -0.002838, -0.002847, -0.002854");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007459, 0.007456, 0.007447, 0.007448, 0.00745, 0.007466, 0.007474, \
                 0.007468, 0.007469, 0.007467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006116, -0.006494, -0.007095, -0.007233, -0.00728, -0.007321, \
                 -0.007343, -0.007351, -0.00736, -0.007368");
        }
      }

      internal_power() {
        when : "A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004988, 0.004999, 0.004998, 0.00501, 0.005009, 0.005031, 0.005026, \
                 0.005022, 0.005029, 0.005028");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005015, -0.005027, -0.005061, -0.00505, -0.005032, -0.00503, \
                 -0.005019, -0.005011, -0.005005, -0.005008");
        }
      }
    }

    pin(A3) {
      capacitance : 0.002723 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00746, 0.007449, 0.007445, 0.007459, 0.007451, 0.007475, 0.007462, \
                 0.007464, 0.007474, 0.007469");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006712, -0.007008, -0.00718, -0.007268, -0.007296, -0.007333, \
                 -0.007358, -0.007362, -0.007371, -0.007379");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007459, 0.007455, 0.007446, 0.007468, 0.007449, 0.007474, 0.007479, \
                 0.00747, 0.007467, 0.007473");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006366, -0.006541, -0.00684, -0.007012, -0.007114, -0.007183, \
                 -0.007225, -0.007252, -0.007274, -0.007283");
        }
      }

      internal_power() {
        when : "A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007455, 0.007451, 0.007431, 0.00745, 0.00746, 0.007477, 0.007479, \
                 0.007468, 0.007472, 0.007467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006946, -0.007034, -0.007178, -0.007269, -0.007291, -0.007339, \
                 -0.007354, -0.007367, -0.007374, -0.007374");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2|A3)" ;
      max_capacitance : 0.3599 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.1165, 0.113, 0.1059, 0.1007, 0.09748, 0.09539, 0.09398, 0.09301, 0.0923, 0.0918",\
                 "0.116, 0.1124, 0.1054, 0.1002, 0.09689, 0.09482, 0.09343, 0.09244, 0.09173, 0.09126",\
                 "0.1159, 0.1124, 0.1053, 0.1001, 0.09683, 0.09475, 0.09337, 0.09238, 0.09168, 0.09118",\
                 "0.1182, 0.1147, 0.1077, 0.1024, 0.09924, 0.09714, 0.09576, 0.09478, 0.09413, 0.09363",\
                 "0.125, 0.1214, 0.114, 0.1085, 0.105, 0.1028, 0.1013, 0.1003, 0.09955, 0.09902",\
                 "0.1375, 0.1335, 0.1253, 0.1188, 0.1147, 0.112, 0.1103, 0.1091, 0.1083, 0.1076",\
                 "0.1535, 0.1492, 0.1402, 0.1328, 0.1279, 0.1248, 0.1226, 0.1212, 0.1202, 0.1195",\
                 "0.1739, 0.1692, 0.1593, 0.1509, 0.1452, 0.1414, 0.1388, 0.1371, 0.1359, 0.1351",\
                 "0.1995, 0.1946, 0.1836, 0.174, 0.1671, 0.1625, 0.1594, 0.1573, 0.1558, 0.1546",\
                 "0.2306, 0.2254, 0.2133, 0.2022, 0.1942, 0.1887, 0.1848, 0.182, 0.1801, 0.1788");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.04368, 0.04352, 0.04392, 0.0445, 0.04526, 0.04607, 0.04652, 0.04734, 0.04786, 0.05173",\
                 "0.04384, 0.04376, 0.04425, 0.04479, 0.04543, 0.04617, 0.04701, 0.0475, 0.04837, 0.05262",\
                 "0.04526, 0.04492, 0.04486, 0.04539, 0.04605, 0.04683, 0.04751, 0.04866, 0.04927, 0.05343",\
                 "0.04929, 0.04854, 0.04784, 0.0477, 0.04787, 0.04881, 0.04929, 0.04988, 0.05095, 0.05513",\
                 "0.05617, 0.05514, 0.05313, 0.05255, 0.05226, 0.05264, 0.05312, 0.05407, 0.05445, 0.05905",\
                 "0.0664, 0.0649, 0.06212, 0.06017, 0.05988, 0.06006, 0.05998, 0.06021, 0.06119, 0.06599",\
                 "0.08029, 0.07822, 0.07459, 0.07162, 0.06988, 0.07006, 0.07038, 0.07041, 0.07032, 0.07652",\
                 "0.09823, 0.09576, 0.09104, 0.08693, 0.084, 0.08313, 0.08371, 0.0839, 0.08454, 0.09153",\
                 "0.1204, 0.1174, 0.1119, 0.1068, 0.103, 0.1008, 0.1001, 0.1009, 0.1023, 0.1111",\
                 "0.1469, 0.1433, 0.1365, 0.1306, 0.126, 0.1225, 0.1207, 0.1199, 0.1233, 0.1373");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.122, 0.1184, 0.1113, 0.1062, 0.1029, 0.1008, 0.09939, 0.09841, 0.09772, 0.09725",\
                 "0.1214, 0.1178, 0.1107, 0.1056, 0.1023, 0.1002, 0.09883, 0.09785, 0.09714, 0.09665",\
                 "0.1206, 0.117, 0.11, 0.1048, 0.1015, 0.09943, 0.09803, 0.09707, 0.09636, 0.09587",\
                 "0.1219, 0.1184, 0.1112, 0.106, 0.1027, 0.1006, 0.09917, 0.09821, 0.0975, 0.09701",\
                 "0.1287, 0.125, 0.1175, 0.1118, 0.1083, 0.106, 0.1044, 0.1034, 0.1026, 0.1021",\
                 "0.1405, 0.1367, 0.1286, 0.1224, 0.1182, 0.1156, 0.1139, 0.1127, 0.1118, 0.1112",\
                 "0.1567, 0.1526, 0.144, 0.137, 0.1324, 0.1294, 0.1274, 0.126, 0.1251, 0.1244",\
                 "0.1788, 0.1745, 0.1651, 0.1571, 0.1516, 0.148, 0.1456, 0.1439, 0.1427, 0.1419",\
                 "0.2071, 0.2025, 0.1921, 0.1828, 0.1763, 0.1719, 0.1689, 0.1668, 0.1652, 0.1642",\
                 "0.2415, 0.2366, 0.225, 0.2143, 0.2066, 0.2012, 0.1975, 0.1949, 0.1929, 0.1916");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.04968, 0.04935, 0.04957, 0.05001, 0.05055, 0.05145, 0.05207, 0.05253, 0.0532, 0.05649",\
                 "0.04956, 0.04932, 0.04947, 0.05001, 0.05071, 0.05139, 0.05197, 0.05243, 0.05353, 0.05616",\
                 "0.05023, 0.04989, 0.0497, 0.05011, 0.05068, 0.05142, 0.05213, 0.05286, 0.05333, 0.05697",\
                 "0.05427, 0.05354, 0.05263, 0.05232, 0.05266, 0.0532, 0.05381, 0.05437, 0.05501, 0.059",\
                 "0.06146, 0.06034, 0.05832, 0.05767, 0.05718, 0.05759, 0.05797, 0.05847, 0.05945, 0.06414",\
                 "0.07246, 0.07082, 0.06789, 0.06579, 0.06533, 0.06531, 0.0653, 0.06549, 0.06638, 0.07174",\
                 "0.08755, 0.08555, 0.0818, 0.07866, 0.07691, 0.07686, 0.07678, 0.07655, 0.07718, 0.08293",\
                 "0.1072, 0.1047, 0.1001, 0.09588, 0.09315, 0.09158, 0.09219, 0.09262, 0.09243, 0.09927",\
                 "0.1318, 0.1289, 0.1231, 0.1179, 0.114, 0.1112, 0.1102, 0.1113, 0.1123, 0.1221",\
                 "0.1613, 0.1577, 0.151, 0.1447, 0.1401, 0.1365, 0.1342, 0.1335, 0.1364, 0.1505");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.1272, 0.1237, 0.1166, 0.1114, 0.1081, 0.106, 0.1047, 0.1037, 0.103, 0.1025",\
                 "0.1267, 0.1231, 0.116, 0.1109, 0.1075, 0.1055, 0.1041, 0.1031, 0.1024, 0.1019",\
                 "0.1257, 0.1222, 0.1151, 0.1099, 0.1067, 0.1046, 0.1032, 0.1022, 0.1015, 0.101",\
                 "0.1261, 0.1226, 0.1154, 0.1102, 0.1069, 0.1048, 0.1034, 0.1025, 0.1018, 0.1013",\
                 "0.1317, 0.1281, 0.1206, 0.115, 0.1115, 0.1094, 0.1078, 0.1068, 0.1061, 0.1055",\
                 "0.1437, 0.1399, 0.132, 0.1258, 0.1219, 0.1193, 0.1176, 0.1165, 0.1157, 0.1151",\
                 "0.1625, 0.1586, 0.15, 0.143, 0.1385, 0.1354, 0.1335, 0.1321, 0.1311, 0.1304",\
                 "0.1892, 0.1849, 0.1754, 0.1672, 0.1617, 0.158, 0.1554, 0.1537, 0.1525, 0.1516",\
                 "0.2233, 0.2186, 0.208, 0.1983, 0.1915, 0.1868, 0.1836, 0.1814, 0.1798, 0.1786",\
                 "0.2645, 0.2596, 0.2478, 0.2364, 0.2282, 0.2224, 0.2183, 0.2155, 0.2134, 0.2118");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.05608, 0.05579, 0.05583, 0.05623, 0.0567, 0.05754, 0.05809, 0.05874, 0.05925, 0.06198",\
                 "0.05569, 0.05542, 0.05533, 0.05574, 0.05627, 0.05714, 0.05766, 0.05822, 0.05925, 0.06231",\
                 "0.05572, 0.0553, 0.05496, 0.05514, 0.05594, 0.05652, 0.05723, 0.05775, 0.05889, 0.06213",\
                 "0.0597, 0.05897, 0.05793, 0.05739, 0.05762, 0.0581, 0.05875, 0.0597, 0.06017, 0.06383",\
                 "0.06737, 0.06615, 0.06408, 0.06319, 0.06238, 0.06265, 0.06317, 0.06363, 0.06468, 0.06865",\
                 "0.07975, 0.07812, 0.07498, 0.07286, 0.07214, 0.07189, 0.07165, 0.07171, 0.0723, 0.07757",\
                 "0.09729, 0.09525, 0.09111, 0.08781, 0.08561, 0.08536, 0.08515, 0.08468, 0.08502, 0.0913",\
                 "0.1203, 0.1178, 0.1128, 0.1083, 0.1048, 0.1029, 0.1035, 0.1033, 0.1032, 0.1108",\
                 "0.1496, 0.1465, 0.1406, 0.1349, 0.1305, 0.1273, 0.1257, 0.1264, 0.1272, 0.1369",\
                 "0.1852, 0.1814, 0.1743, 0.1675, 0.1618, 0.1577, 0.1549, 0.1535, 0.1559, 0.1718");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.7337, 0.7872, 0.9299, 1.135, 1.393, 1.705, 2.083, 2.54, 3.087, 3.735",\
                 "0.7388, 0.7922, 0.9354, 1.14, 1.398, 1.71, 2.088, 2.545, 3.092, 3.74",\
                 "0.7866, 0.8405, 0.9833, 1.188, 1.446, 1.758, 2.136, 2.593, 3.14, 3.788",\
                 "0.9154, 0.9689, 1.112, 1.316, 1.574, 1.887, 2.265, 2.721, 3.268, 3.916",\
                 "1.136, 1.189, 1.331, 1.535, 1.793, 2.105, 2.483, 2.939, 3.487, 4.135",\
                 "1.431, 1.485, 1.63, 1.835, 2.094, 2.408, 2.786, 3.242, 3.788, 4.437",\
                 "1.792, 1.848, 1.995, 2.204, 2.466, 2.782, 3.162, 3.618, 4.166, 4.814",\
                 "2.228, 2.285, 2.437, 2.648, 2.912, 3.231, 3.613, 4.071, 4.619, 5.268",\
                 "2.74, 2.801, 2.957, 3.174, 3.441, 3.761, 4.145, 4.605, 5.154, 5.803",\
                 "3.331, 3.395, 3.56, 3.784, 4.058, 4.383, 4.768, 5.229, 5.777, 6.427");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.2351, 0.273, 0.3942, 0.6191, 0.9683, 1.457, 2.099, 2.91, 3.893, 5.077",\
                 "0.2501, 0.2878, 0.4092, 0.634, 0.9833, 1.472, 2.114, 2.924, 3.91, 5.088",\
                 "0.3004, 0.338, 0.4582, 0.6826, 1.032, 1.52, 2.164, 2.974, 3.963, 5.135",\
                 "0.3528, 0.392, 0.513, 0.7362, 1.084, 1.572, 2.215, 3.024, 4.012, 5.193",\
                 "0.3693, 0.4111, 0.5342, 0.7564, 1.103, 1.591, 2.233, 3.043, 4.03, 5.209",\
                 "0.3412, 0.3854, 0.5136, 0.7359, 1.081, 1.568, 2.209, 3.017, 4.006, 5.184",\
                 "0.2602, 0.3072, 0.4419, 0.6664, 1.011, 1.497, 2.137, 2.944, 3.93, 5.109",\
                 "0.1224, 0.1731, 0.3144, 0.5426, 0.8882, 1.375, 2.015, 2.821, 3.808, 4.983",\
                 "-0.0765, -0.0225, 0.1266, 0.3601, 0.7073, 1.196, 1.839, 2.644, 3.63, 4.804",\
                 "-0.342, -0.2842, -0.1276, 0.113, 0.4625, 0.9541, 1.6, 2.409, 3.395, 4.569");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.2384, 0.2899, 0.4272, 0.643, 0.9414, 1.345, 1.886, 2.591, 3.478, 4.552",\
                 "0.2398, 0.2912, 0.4279, 0.6426, 0.9422, 1.347, 1.887, 2.592, 3.479, 4.55",\
                 "0.2385, 0.2897, 0.4274, 0.6436, 0.9418, 1.346, 1.887, 2.59, 3.478, 4.552",\
                 "0.2392, 0.2894, 0.4272, 0.643, 0.943, 1.347, 1.888, 2.593, 3.477, 4.551",\
                 "0.2388, 0.2906, 0.4288, 0.6448, 0.944, 1.346, 1.889, 2.593, 3.477, 4.549",\
                 "0.2556, 0.3068, 0.4426, 0.655, 0.9514, 1.353, 1.892, 2.595, 3.478, 4.553",\
                 "0.2742, 0.3258, 0.46, 0.6718, 0.9666, 1.365, 1.901, 2.6, 3.481, 4.548",\
                 "0.2932, 0.3456, 0.4796, 0.6876, 0.9822, 1.379, 1.913, 2.608, 3.485, 4.552",\
                 "0.318, 0.372, 0.5074, 0.7124, 1, 1.392, 1.924, 2.618, 3.493, 4.56",\
                 "0.3474, 0.4046, 0.5446, 0.7474, 1.031, 1.417, 1.94, 2.628, 3.5, 4.564");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.1185, 0.1718, 0.3675, 0.758, 1.372, 2.232, 3.364, 4.791, 6.543, 8.617",\
                 "0.1185, 0.1722, 0.3675, 0.7583, 1.371, 2.232, 3.365, 4.79, 6.54, 8.604",\
                 "0.1193, 0.1731, 0.368, 0.7581, 1.371, 2.233, 3.364, 4.794, 6.531, 8.623",\
                 "0.1301, 0.183, 0.3717, 0.7581, 1.371, 2.232, 3.368, 4.79, 6.535, 8.609",\
                 "0.1452, 0.1972, 0.3798, 0.7616, 1.373, 2.231, 3.363, 4.791, 6.53, 8.608",\
                 "0.1628, 0.216, 0.393, 0.7656, 1.373, 2.232, 3.364, 4.786, 6.527, 8.604",\
                 "0.1836, 0.237, 0.413, 0.7756, 1.38, 2.233, 3.362, 4.788, 6.526, 8.602",\
                 "0.2062, 0.2596, 0.436, 0.791, 1.39, 2.242, 3.37, 4.787, 6.534, 8.6",\
                 "0.2296, 0.2846, 0.4628, 0.808, 1.405, 2.257, 3.379, 4.795, 6.525, 8.604",\
                 "0.2558, 0.3132, 0.4938, 0.83, 1.42, 2.279, 3.4, 4.809, 6.536, 8.599");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.8318, 0.8852, 1.028, 1.233, 1.491, 1.804, 2.181, 2.638, 3.185, 3.833",\
                 "0.8379, 0.8911, 1.034, 1.239, 1.497, 1.809, 2.187, 2.644, 3.191, 3.839",\
                 "0.8674, 0.9212, 1.064, 1.268, 1.526, 1.839, 2.217, 2.673, 3.22, 3.869",\
                 "0.9494, 1.003, 1.146, 1.35, 1.608, 1.92, 2.298, 2.755, 3.302, 3.95",\
                 "1.113, 1.167, 1.31, 1.515, 1.773, 2.085, 2.463, 2.92, 3.467, 4.115",\
                 "1.352, 1.407, 1.554, 1.762, 2.022, 2.337, 2.715, 3.172, 3.719, 4.367",\
                 "1.665, 1.723, 1.872, 2.083, 2.348, 2.666, 3.047, 3.504, 4.051, 4.699",\
                 "2.056, 2.113, 2.266, 2.482, 2.75, 3.071, 3.454, 3.914, 4.462, 5.111",\
                 "2.515, 2.575, 2.735, 2.958, 3.232, 3.557, 3.943, 4.403, 4.953, 5.602",\
                 "3.043, 3.105, 3.273, 3.506, 3.789, 4.122, 4.514, 4.977, 5.528, 6.178");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.2558, 0.2939, 0.4155, 0.6404, 0.9892, 1.477, 2.12, 2.928, 3.915, 5.093",\
                 "0.2699, 0.308, 0.4296, 0.6545, 1.003, 1.492, 2.134, 2.943, 3.93, 5.105",\
                 "0.3204, 0.3582, 0.4789, 0.7036, 1.053, 1.54, 2.183, 2.991, 3.978, 5.157",\
                 "0.3823, 0.4211, 0.5421, 0.7653, 1.113, 1.602, 2.244, 3.052, 4.039, 5.217",\
                 "0.4102, 0.4513, 0.5748, 0.7972, 1.144, 1.631, 2.273, 3.082, 4.07, 5.246",\
                 "0.3959, 0.4397, 0.5676, 0.7892, 1.134, 1.621, 2.262, 3.071, 4.058, 5.234",\
                 "0.3328, 0.3794, 0.513, 0.7366, 1.082, 1.568, 2.208, 3.015, 4.001, 5.178",\
                 "0.2166, 0.2664, 0.4068, 0.6346, 0.9811, 1.467, 2.107, 2.914, 3.899, 5.074",\
                 "0.0445, 0.098, 0.2448, 0.4783, 0.8254, 1.315, 1.956, 2.762, 3.747, 4.922",\
                 "-0.1878, -0.131, 0.0241, 0.263, 0.6133, 1.105, 1.75, 2.56, 3.544, 4.719");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.2396, 0.2911, 0.4272, 0.644, 0.9416, 1.346, 1.888, 2.592, 3.479, 4.547",\
                 "0.2388, 0.291, 0.4272, 0.6428, 0.942, 1.347, 1.888, 2.591, 3.478, 4.548",\
                 "0.2387, 0.2894, 0.4276, 0.643, 0.9428, 1.346, 1.888, 2.593, 3.476, 4.548",\
                 "0.2398, 0.2912, 0.4278, 0.6438, 0.9426, 1.346, 1.888, 2.593, 3.476, 4.547",\
                 "0.2448, 0.2948, 0.4322, 0.6458, 0.9446, 1.347, 1.888, 2.592, 3.478, 4.547",\
                 "0.2558, 0.3092, 0.4478, 0.6604, 0.9552, 1.353, 1.893, 2.594, 3.48, 4.549",\
                 "0.2668, 0.3206, 0.4612, 0.6754, 0.9706, 1.368, 1.903, 2.6, 3.482, 4.548",\
                 "0.2844, 0.3388, 0.4816, 0.6952, 0.9896, 1.385, 1.916, 2.609, 3.487, 4.557",\
                 "0.3088, 0.3664, 0.512, 0.7254, 1.015, 1.405, 1.931, 2.621, 3.494, 4.561",\
                 "0.3392, 0.3982, 0.549, 0.7668, 1.058, 1.443, 1.958, 2.638, 3.508, 4.568");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.1207, 0.1748, 0.3692, 0.7602, 1.372, 2.231, 3.362, 4.786, 6.528, 8.604",\
                 "0.1207, 0.1742, 0.3689, 0.7592, 1.371, 2.232, 3.364, 4.789, 6.529, 8.603",\
                 "0.1213, 0.1747, 0.3691, 0.759, 1.372, 2.231, 3.361, 4.787, 6.525, 8.604",\
                 "0.1308, 0.183, 0.3726, 0.7596, 1.372, 2.231, 3.362, 4.785, 6.528, 8.603",\
                 "0.1448, 0.1972, 0.3802, 0.762, 1.374, 2.23, 3.362, 4.789, 6.527, 8.607",\
                 "0.1614, 0.2144, 0.393, 0.7668, 1.374, 2.233, 3.362, 4.787, 6.527, 8.605",\
                 "0.1814, 0.235, 0.4114, 0.7764, 1.38, 2.236, 3.364, 4.793, 6.524, 8.603",\
                 "0.2034, 0.2572, 0.4334, 0.79, 1.391, 2.242, 3.369, 4.789, 6.531, 8.6",\
                 "0.2266, 0.282, 0.46, 0.8076, 1.407, 2.26, 3.38, 4.794, 6.527, 8.604",\
                 "0.2528, 0.3098, 0.4906, 0.8302, 1.422, 2.281, 3.404, 4.812, 6.536, 8.6");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.8762, 0.9297, 1.073, 1.277, 1.535, 1.847, 2.225, 2.682, 3.229, 3.878",\
                 "0.885, 0.9386, 1.081, 1.286, 1.544, 1.856, 2.234, 2.691, 3.238, 3.886",\
                 "0.9151, 0.9684, 1.111, 1.316, 1.574, 1.887, 2.265, 2.721, 3.268, 3.916",\
                 "0.9724, 1.026, 1.169, 1.373, 1.631, 1.943, 2.321, 2.778, 3.325, 3.973",\
                 "1.09, 1.144, 1.287, 1.492, 1.749, 2.062, 2.44, 2.896, 3.443, 4.092",\
                 "1.282, 1.337, 1.484, 1.692, 1.952, 2.266, 2.645, 3.101, 3.648, 4.297",\
                 "1.556, 1.613, 1.761, 1.973, 2.237, 2.554, 2.935, 3.392, 3.94, 4.588",\
                 "1.901, 1.96, 2.113, 2.329, 2.598, 2.92, 3.303, 3.762, 4.31, 4.958",\
                 "2.305, 2.366, 2.529, 2.754, 3.032, 3.36, 3.748, 4.209, 4.758, 5.406",\
                 "2.764, 2.83, 3.001, 3.24, 3.53, 3.871, 4.269, 4.735, 5.286, 5.935");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.2654, 0.3045, 0.4281, 0.6546, 1.004, 1.493, 2.136, 2.945, 3.931, 5.108",\
                 "0.279, 0.318, 0.4414, 0.6678, 1.018, 1.506, 2.148, 2.957, 3.945, 5.122",\
                 "0.33, 0.3684, 0.4908, 0.7169, 1.066, 1.555, 2.198, 3.007, 3.993, 5.169",\
                 "0.3987, 0.4382, 0.5603, 0.7843, 1.133, 1.621, 2.263, 3.072, 4.06, 5.237",\
                 "0.4356, 0.4771, 0.6019, 0.8249, 1.172, 1.659, 2.301, 3.11, 4.098, 5.273",\
                 "0.4331, 0.4775, 0.6062, 0.8297, 1.175, 1.662, 2.303, 3.112, 4.098, 5.274",\
                 "0.3862, 0.4332, 0.5677, 0.7934, 1.139, 1.624, 2.265, 3.072, 4.058, 5.235",\
                 "0.2904, 0.3412, 0.4826, 0.712, 1.059, 1.546, 2.186, 2.993, 3.979, 5.154",\
                 "0.1447, 0.1989, 0.3478, 0.5824, 0.9327, 1.422, 2.064, 2.87, 3.855, 5.03",\
                 "-0.0555, 0.0031, 0.1608, 0.4027, 0.7553, 1.248, 1.895, 2.704, 3.689, 4.863");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.2381, 0.2897, 0.4273, 0.643, 0.9424, 1.347, 1.887, 2.593, 3.476, 4.549",\
                 "0.2385, 0.2896, 0.4278, 0.644, 0.9422, 1.346, 1.887, 2.593, 3.477, 4.553",\
                 "0.2396, 0.291, 0.4274, 0.6432, 0.9416, 1.346, 1.888, 2.593, 3.478, 4.55",\
                 "0.2384, 0.2898, 0.4278, 0.643, 0.9424, 1.345, 1.887, 2.594, 3.475, 4.549",\
                 "0.2432, 0.2942, 0.431, 0.6466, 0.9438, 1.347, 1.887, 2.591, 3.478, 4.548",\
                 "0.2528, 0.3056, 0.4442, 0.6588, 0.953, 1.354, 1.892, 2.594, 3.476, 4.552",\
                 "0.2646, 0.3182, 0.4596, 0.6736, 0.97, 1.368, 1.903, 2.6, 3.481, 4.551",\
                 "0.2876, 0.3418, 0.484, 0.6974, 0.991, 1.386, 1.915, 2.609, 3.486, 4.555",\
                 "0.3172, 0.3744, 0.5216, 0.7372, 1.031, 1.418, 1.939, 2.625, 3.494, 4.556",\
                 "0.3488, 0.4112, 0.5668, 0.79, 1.089, 1.475, 1.982, 2.653, 3.511, 4.563");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02878, 0.05465, 0.09095, 0.1387, 0.1989, 0.2724, 0.3599");
          values("0.1242, 0.1788, 0.3738, 0.763, 1.374, 2.231, 3.363, 4.788, 6.526, 8.604",\
                 "0.1245, 0.1784, 0.3735, 0.7623, 1.373, 2.231, 3.363, 4.79, 6.529, 8.603",\
                 "0.1232, 0.178, 0.3733, 0.7628, 1.373, 2.233, 3.363, 4.788, 6.531, 8.606",\
                 "0.1323, 0.1857, 0.3757, 0.762, 1.373, 2.232, 3.363, 4.79, 6.527, 8.602",\
                 "0.1464, 0.1998, 0.3836, 0.7646, 1.375, 2.232, 3.364, 4.79, 6.529, 8.598",\
                 "0.1644, 0.2176, 0.397, 0.7704, 1.377, 2.235, 3.364, 4.788, 6.526, 8.608",\
                 "0.1854, 0.2386, 0.416, 0.7816, 1.384, 2.238, 3.365, 4.787, 6.527, 8.604",\
                 "0.2096, 0.2624, 0.4394, 0.7968, 1.397, 2.247, 3.37, 4.789, 6.537, 8.596",\
                 "0.2344, 0.2896, 0.4678, 0.8174, 1.416, 2.269, 3.385, 4.8, 6.529, 8.614",\
                 "0.264, 0.3212, 0.5004, 0.8422, 1.437, 2.294, 3.413, 4.815, 6.539, 8.602");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__or3_2) {
    area : 26.342400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "7.80747e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "8.40411e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "6.98346e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "6.98346e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.40411e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004596 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02259, 0.02258, 0.0226, 0.02257, 0.02255, 0.02256, 0.02253, \
                 0.0225, 0.02246, 0.02241");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005211, -0.005217, -0.005251, -0.005259, -0.005256, -0.00527, \
                 -0.005274, -0.005272, -0.005277, -0.005276");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01161, 0.01162, 0.01162, 0.01161, 0.0116, 0.01163, 0.01162, \
                 0.0116, 0.01159, 0.01156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005222, -0.005231, -0.005257, -0.005278, -0.005286, -0.005299, \
                 -0.005301, -0.005303, -0.005302, -0.005305");
        }
      }

      internal_power() {
        when : "A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0116, 0.01162, 0.01162, 0.01162, 0.01161, 0.01164, 0.01162, \
                 0.01161, 0.01159, 0.01157");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005222, -0.00524, -0.005261, -0.005276, -0.005285, -0.005304, \
                 -0.005306, -0.005301, -0.005307, -0.005302");
        }
      }
    }

    pin(A2) {
      capacitance : 0.004255 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01139, 0.01137, 0.01141, 0.01142, 0.0114, 0.01143, 0.01139, \
                 0.01137, 0.01134, 0.01129");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005888, -0.005902, -0.005915, -0.005928, -0.005939, -0.005963, \
                 -0.005975, -0.005983, -0.005999, -0.006016");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.0163, 0.01628, 0.0163, 0.01629, 0.01633, 0.01633, 0.01631, \
                 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01319, -0.01408, -0.01545, -0.01578, -0.01586, -0.01598, -0.016, \
                 -0.01604, -0.01605, -0.01606");
        }
      }

      internal_power() {
        when : "A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0101, 0.01012, 0.01014, 0.01015, 0.01016, 0.01019, 0.01019, \
                 0.01019, 0.01019, 0.01019");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01052, -0.01047, -0.0104, -0.01028, -0.01021, -0.01015, -0.0101, \
                 -0.01005, -0.01, -0.009981");
        }
      }
    }

    pin(A3) {
      capacitance : 0.004192 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01625, 0.01628, 0.01631, 0.01632, 0.01632, 0.01631, \
                 0.01631, 0.01631, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01428, -0.01522, -0.01566, -0.01583, -0.01591, -0.01601, -0.01602, \
                 -0.01605, -0.01607, -0.01608");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01628, 0.01629, 0.01631, 0.0163, 0.0163, 0.01634, 0.01633, 0.01633, \
                 0.01632, 0.01633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01368, -0.01412, -0.01483, -0.01527, -0.01549, -0.01565, -0.01574, \
                 -0.0158, -0.01584, -0.01588");
        }
      }

      internal_power() {
        when : "A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01627, 0.01625, 0.01631, 0.01632, 0.01632, 0.01632, 0.01631, \
                 0.01631, 0.01631, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0151, -0.01532, -0.01566, -0.01584, -0.01591, -0.01601, -0.01602, \
                 -0.01605, -0.01606, -0.01609");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2|A3)" ;
      max_capacitance : 0.7209 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.1788, 0.1716, 0.1597, 0.1528, 0.1488, 0.1465, 0.1449, 0.1439, 0.1433, 0.1427",\
                 "0.1778, 0.1706, 0.1587, 0.1517, 0.1478, 0.1455, 0.144, 0.1429, 0.1422, 0.1417",\
                 "0.1778, 0.1705, 0.1587, 0.1517, 0.1478, 0.1454, 0.144, 0.1429, 0.1423, 0.1417",\
                 "0.1828, 0.1754, 0.1633, 0.1561, 0.1523, 0.1498, 0.1484, 0.1474, 0.1467, 0.1462",\
                 "0.1989, 0.191, 0.1771, 0.1686, 0.1636, 0.1607, 0.1589, 0.1577, 0.1568, 0.1563",\
                 "0.2231, 0.2141, 0.1981, 0.1875, 0.1814, 0.1776, 0.1752, 0.1737, 0.1727, 0.1719",\
                 "0.2544, 0.2447, 0.2263, 0.2136, 0.2058, 0.2009, 0.1979, 0.196, 0.1947, 0.1936",\
                 "0.295, 0.2845, 0.2635, 0.2481, 0.2383, 0.2321, 0.2281, 0.2255, 0.2237, 0.2225",\
                 "0.3452, 0.3338, 0.3102, 0.2918, 0.2796, 0.2716, 0.2664, 0.2629, 0.2605, 0.2588",\
                 "0.4052, 0.3931, 0.3667, 0.3448, 0.3299, 0.3199, 0.3133, 0.3088, 0.3056, 0.3033");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.07528, 0.07474, 0.07527, 0.07649, 0.07781, 0.07926, 0.08042, 0.08145, 0.08363, 0.09097",\
                 "0.07575, 0.07526, 0.07563, 0.07675, 0.07841, 0.07985, 0.08115, 0.08277, 0.08465, 0.09163",\
                 "0.07814, 0.0771, 0.07672, 0.07771, 0.07874, 0.08074, 0.08204, 0.0831, 0.08531, 0.09423",\
                 "0.08647, 0.08442, 0.08249, 0.0819, 0.08237, 0.08395, 0.08507, 0.0864, 0.08861, 0.09928",\
                 "0.1004, 0.09719, 0.09286, 0.09127, 0.09072, 0.09134, 0.0925, 0.09399, 0.09524, 0.104",\
                 "0.1211, 0.1168, 0.1103, 0.1057, 0.1055, 0.1053, 0.1054, 0.1065, 0.1078, 0.1175",\
                 "0.1496, 0.1438, 0.1353, 0.1288, 0.1255, 0.1255, 0.1254, 0.1257, 0.126, 0.1386",\
                 "0.1857, 0.1784, 0.1673, 0.1588, 0.1536, 0.151, 0.1519, 0.1523, 0.1534, 0.1669",\
                 "0.2303, 0.2214, 0.2078, 0.1967, 0.1898, 0.184, 0.1829, 0.1857, 0.1869, 0.2078",\
                 "0.2832, 0.2725, 0.2563, 0.2432, 0.2345, 0.2278, 0.2224, 0.2226, 0.2283, 0.2589");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.1905, 0.1832, 0.1714, 0.1644, 0.1605, 0.1581, 0.1566, 0.1555, 0.1549, 0.1543",\
                 "0.1895, 0.1824, 0.1703, 0.1635, 0.1595, 0.1572, 0.1557, 0.1546, 0.1539, 0.1534",\
                 "0.1883, 0.1811, 0.169, 0.1622, 0.1582, 0.156, 0.1544, 0.1533, 0.1527, 0.1521",\
                 "0.1921, 0.1846, 0.1722, 0.1649, 0.1608, 0.1584, 0.1567, 0.1556, 0.155, 0.1544",\
                 "0.2064, 0.1985, 0.1848, 0.1761, 0.1713, 0.1683, 0.1664, 0.1652, 0.1643, 0.1637",\
                 "0.2286, 0.2203, 0.2049, 0.1948, 0.1891, 0.1856, 0.1833, 0.1819, 0.1809, 0.1801",\
                 "0.261, 0.2519, 0.2347, 0.2228, 0.2155, 0.211, 0.2081, 0.2063, 0.2051, 0.2041",\
                 "0.3044, 0.2945, 0.275, 0.2603, 0.2512, 0.2454, 0.2416, 0.239, 0.2374, 0.2361",\
                 "0.3584, 0.3479, 0.3258, 0.3081, 0.2966, 0.2892, 0.2843, 0.2809, 0.2786, 0.2769",\
                 "0.4231, 0.4117, 0.3873, 0.3662, 0.3521, 0.3429, 0.3365, 0.3321, 0.329, 0.3268");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.08653, 0.08543, 0.08521, 0.08627, 0.08739, 0.08881, 0.09, 0.0912, 0.09239, 0.09972",\
                 "0.08636, 0.08535, 0.08528, 0.08607, 0.08733, 0.08891, 0.0902, 0.09186, 0.09307, 0.09873",\
                 "0.08732, 0.08612, 0.08538, 0.08594, 0.08726, 0.08887, 0.09066, 0.09186, 0.0934, 0.09968",\
                 "0.09542, 0.09346, 0.09085, 0.0901, 0.09056, 0.09191, 0.09317, 0.0945, 0.09703, 0.1034",\
                 "0.1098, 0.1066, 0.1023, 0.09996, 0.09898, 0.09986, 0.1011, 0.1021, 0.1037, 0.1121",\
                 "0.1317, 0.1276, 0.1209, 0.1165, 0.1153, 0.1149, 0.1147, 0.1166, 0.1172, 0.1271",\
                 "0.1622, 0.1564, 0.1481, 0.1413, 0.1376, 0.1375, 0.1372, 0.1371, 0.1384, 0.1517",\
                 "0.2012, 0.1941, 0.1834, 0.1744, 0.1688, 0.1661, 0.1671, 0.1664, 0.1671, 0.1821",\
                 "0.2491, 0.2405, 0.2278, 0.2173, 0.2088, 0.2031, 0.2013, 0.2037, 0.2052, 0.2261",\
                 "0.307, 0.2965, 0.2814, 0.268, 0.2584, 0.2507, 0.2474, 0.2462, 0.251, 0.2852");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.2017, 0.1944, 0.1824, 0.1756, 0.1717, 0.1694, 0.1678, 0.1667, 0.166, 0.1655",\
                 "0.2008, 0.1934, 0.1815, 0.1747, 0.1707, 0.1684, 0.1668, 0.1657, 0.1651, 0.1645",\
                 "0.1993, 0.192, 0.1801, 0.1732, 0.1692, 0.1669, 0.1654, 0.1643, 0.1636, 0.1631",\
                 "0.2011, 0.1936, 0.1814, 0.1742, 0.1702, 0.1678, 0.1662, 0.1652, 0.1645, 0.1639",\
                 "0.2132, 0.2054, 0.1919, 0.1838, 0.1791, 0.1763, 0.1745, 0.1733, 0.1725, 0.1719",\
                 "0.2362, 0.2281, 0.2132, 0.2034, 0.1978, 0.1944, 0.1922, 0.1908, 0.1898, 0.1892",\
                 "0.274, 0.265, 0.2479, 0.2358, 0.2285, 0.2241, 0.2211, 0.2192, 0.2179, 0.217",\
                 "0.3253, 0.3153, 0.2957, 0.2806, 0.2711, 0.265, 0.2611, 0.2584, 0.2566, 0.2552",\
                 "0.3888, 0.3783, 0.356, 0.3374, 0.3252, 0.3175, 0.3122, 0.3086, 0.306, 0.3042",\
                 "0.4647, 0.4534, 0.4286, 0.4064, 0.3916, 0.3814, 0.3744, 0.3698, 0.3664, 0.3639");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.09817, 0.09699, 0.09599, 0.09658, 0.09728, 0.09882, 0.1003, 0.1016, 0.1028, 0.1098",\
                 "0.097, 0.09581, 0.09496, 0.09553, 0.09662, 0.0979, 0.09969, 0.1006, 0.1021, 0.1089",\
                 "0.09663, 0.09528, 0.09424, 0.0945, 0.0955, 0.09711, 0.09873, 0.0996, 0.1011, 0.1081",\
                 "0.1046, 0.1026, 0.09981, 0.09833, 0.0987, 0.1001, 0.101, 0.1022, 0.1038, 0.1123",\
                 "0.1203, 0.1169, 0.1116, 0.1093, 0.1082, 0.1088, 0.1094, 0.1108, 0.1137, 0.1216",\
                 "0.1446, 0.1404, 0.1332, 0.1279, 0.1267, 0.1259, 0.1256, 0.1267, 0.1289, 0.1386",\
                 "0.1793, 0.1736, 0.1644, 0.1566, 0.1526, 0.1522, 0.1514, 0.1511, 0.1521, 0.1638",\
                 "0.2245, 0.2172, 0.2059, 0.1961, 0.1893, 0.1861, 0.1868, 0.186, 0.1864, 0.2025",\
                 "0.281, 0.272, 0.258, 0.2465, 0.237, 0.231, 0.2286, 0.2305, 0.2311, 0.2532",\
                 "0.3489, 0.3384, 0.3226, 0.3083, 0.2969, 0.2884, 0.2835, 0.2814, 0.2861, 0.3206");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.5287, 0.5819, 0.7155, 0.9041, 1.143, 1.438, 1.804, 2.255, 2.801, 3.45",\
                 "0.5359, 0.5889, 0.7226, 0.9113, 1.15, 1.445, 1.812, 2.262, 2.808, 3.458",\
                 "0.585, 0.6381, 0.7715, 0.9603, 1.198, 1.494, 1.86, 2.311, 2.857, 3.506",\
                 "0.7082, 0.761, 0.8942, 1.083, 1.321, 1.617, 1.983, 2.433, 2.979, 3.629",\
                 "0.9039, 0.9575, 1.091, 1.279, 1.518, 1.814, 2.18, 2.63, 3.176, 3.826",\
                 "1.147, 1.203, 1.338, 1.53, 1.772, 2.07, 2.436, 2.887, 3.432, 4.082",\
                 "1.442, 1.5, 1.641, 1.833, 2.077, 2.377, 2.746, 3.198, 3.744, 4.393",\
                 "1.794, 1.854, 2.001, 2.198, 2.444, 2.745, 3.115, 3.568, 4.115, 4.765",\
                 "2.2, 2.265, 2.42, 2.625, 2.877, 3.18, 3.55, 4.003, 4.55, 5.201",\
                 "2.661, 2.73, 2.895, 3.11, 3.37, 3.681, 4.055, 4.509, 5.055, 5.706");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.2207, 0.2612, 0.3842, 0.6097, 0.9596, 1.45, 2.094, 2.907, 3.898, 5.084",\
                 "0.2364, 0.2768, 0.3997, 0.6254, 0.9758, 1.466, 2.112, 2.924, 3.913, 5.099",\
                 "0.2895, 0.3295, 0.4515, 0.6767, 1.026, 1.518, 2.162, 2.972, 3.965, 5.148",\
                 "0.3508, 0.3928, 0.516, 0.7395, 1.089, 1.579, 2.224, 3.035, 4.024, 5.211",\
                 "0.3841, 0.4287, 0.555, 0.7775, 1.125, 1.614, 2.259, 3.071, 4.059, 5.241",\
                 "0.382, 0.43, 0.5614, 0.7838, 1.13, 1.618, 2.261, 3.073, 4.065, 5.246",\
                 "0.3395, 0.3911, 0.5292, 0.7545, 1.1, 1.587, 2.229, 3.039, 4.028, 5.209",\
                 "0.2522, 0.308, 0.4536, 0.6832, 1.03, 1.518, 2.159, 2.968, 3.957, 5.136",\
                 "0.1185, 0.1784, 0.3316, 0.5661, 0.9154, 1.405, 2.049, 2.857, 3.845, 5.025",\
                 "-0.0658, -0.0019, 0.16, 0.4014, 0.7527, 1.246, 1.894, 2.705, 3.693, 4.871");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.1685, 0.2194, 0.3522, 0.5602, 0.8532, 1.262, 1.822, 2.549, 3.452, 4.537",\
                 "0.1681, 0.2196, 0.3527, 0.5593, 0.8532, 1.262, 1.821, 2.546, 3.45, 4.54",\
                 "0.1686, 0.2196, 0.3527, 0.5598, 0.8524, 1.263, 1.82, 2.547, 3.452, 4.536",\
                 "0.1674, 0.2188, 0.3526, 0.5596, 0.8532, 1.263, 1.819, 2.549, 3.453, 4.539",\
                 "0.1786, 0.2286, 0.3596, 0.5656, 0.857, 1.265, 1.823, 2.548, 3.449, 4.54",\
                 "0.1964, 0.2466, 0.3752, 0.5798, 0.8694, 1.274, 1.826, 2.548, 3.452, 4.54",\
                 "0.215, 0.2674, 0.3928, 0.5944, 0.8826, 1.286, 1.837, 2.555, 3.457, 4.54",\
                 "0.2378, 0.2928, 0.4184, 0.614, 0.8964, 1.297, 1.845, 2.565, 3.463, 4.543",\
                 "0.2656, 0.3236, 0.4532, 0.6442, 0.9224, 1.313, 1.857, 2.573, 3.467, 4.548",\
                 "0.2948, 0.3576, 0.494, 0.6848, 0.961, 1.345, 1.878, 2.581, 3.471, 4.551");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.0902, 0.1446, 0.3388, 0.7303, 1.345, 2.209, 3.348, 4.777, 6.523, 8.606",\
                 "0.08988, 0.1445, 0.3388, 0.7299, 1.346, 2.209, 3.346, 4.778, 6.522, 8.606",\
                 "0.09062, 0.1451, 0.3389, 0.7305, 1.345, 2.208, 3.346, 4.783, 6.528, 8.609",\
                 "0.1019, 0.1559, 0.3431, 0.7311, 1.345, 2.208, 3.35, 4.779, 6.534, 8.614",\
                 "0.1162, 0.1696, 0.3514, 0.7336, 1.347, 2.209, 3.344, 4.777, 6.529, 8.614",\
                 "0.134, 0.1878, 0.3664, 0.7374, 1.348, 2.209, 3.348, 4.773, 6.523, 8.605",\
                 "0.1542, 0.2092, 0.3854, 0.7482, 1.352, 2.21, 3.344, 4.78, 6.519, 8.604",\
                 "0.1766, 0.2332, 0.4096, 0.763, 1.365, 2.218, 3.347, 4.773, 6.527, 8.599",\
                 "0.2002, 0.2586, 0.4366, 0.7822, 1.381, 2.235, 3.359, 4.781, 6.518, 8.607",\
                 "0.2246, 0.2868, 0.4664, 0.8044, 1.399, 2.26, 3.383, 4.795, 6.527, 8.597");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.6136, 0.6667, 0.8002, 0.989, 1.228, 1.523, 1.889, 2.34, 2.886, 3.535",\
                 "0.6216, 0.6745, 0.8083, 0.9971, 1.235, 1.531, 1.897, 2.348, 2.894, 3.543",\
                 "0.6536, 0.7066, 0.8402, 1.029, 1.267, 1.563, 1.929, 2.38, 2.925, 3.575",\
                 "0.732, 0.7849, 0.9183, 1.107, 1.345, 1.64, 2.007, 2.457, 3.003, 3.653",\
                 "0.8687, 0.9235, 1.06, 1.251, 1.49, 1.786, 2.153, 2.603, 3.149, 3.798",\
                 "1.064, 1.12, 1.26, 1.455, 1.699, 1.998, 2.365, 2.816, 3.362, 4.011",\
                 "1.318, 1.376, 1.519, 1.718, 1.965, 2.267, 2.637, 3.089, 3.635, 4.284",\
                 "1.622, 1.683, 1.833, 2.038, 2.29, 2.595, 2.967, 3.419, 3.967, 4.616",\
                 "1.973, 2.037, 2.195, 2.409, 2.671, 2.983, 3.358, 3.811, 4.359, 5.009",\
                 "2.37, 2.438, 2.604, 2.829, 3.104, 3.427, 3.81, 4.267, 4.814, 5.465");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.2483, 0.2889, 0.4121, 0.6381, 0.9882, 1.478, 2.123, 2.934, 3.925, 5.107",\
                 "0.2629, 0.3035, 0.4267, 0.6525, 1.003, 1.493, 2.137, 2.949, 3.94, 5.118",\
                 "0.3152, 0.3556, 0.4781, 0.7035, 1.053, 1.544, 2.188, 2.999, 3.989, 5.172",\
                 "0.3882, 0.4302, 0.5528, 0.7767, 1.126, 1.616, 2.26, 3.072, 4.063, 5.241",\
                 "0.4358, 0.4799, 0.606, 0.8282, 1.176, 1.665, 2.309, 3.121, 4.111, 5.293",\
                 "0.4519, 0.4994, 0.6293, 0.8518, 1.198, 1.686, 2.329, 3.14, 4.131, 5.311",\
                 "0.4322, 0.4828, 0.6195, 0.8431, 1.189, 1.676, 2.318, 3.128, 4.118, 5.297",\
                 "0.3727, 0.4274, 0.5711, 0.7988, 1.146, 1.633, 2.274, 3.083, 4.072, 5.252",\
                 "0.2722, 0.3311, 0.4821, 0.7154, 1.064, 1.554, 2.196, 3.005, 3.994, 5.172",\
                 "0.1298, 0.1925, 0.3513, 0.5904, 0.942, 1.435, 2.081, 2.892, 3.879, 5.058");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.1682, 0.2194, 0.3528, 0.5597, 0.8532, 1.263, 1.821, 2.548, 3.451, 4.54",\
                 "0.1687, 0.2199, 0.3524, 0.5608, 0.8526, 1.262, 1.822, 2.548, 3.452, 4.538",\
                 "0.1683, 0.2199, 0.3525, 0.5606, 0.8524, 1.264, 1.822, 2.548, 3.452, 4.541",\
                 "0.1692, 0.2206, 0.353, 0.5608, 0.854, 1.264, 1.822, 2.545, 3.452, 4.54",\
                 "0.1812, 0.233, 0.3658, 0.5688, 0.8588, 1.265, 1.821, 2.549, 3.453, 4.539",\
                 "0.192, 0.245, 0.3784, 0.5848, 0.8738, 1.276, 1.827, 2.551, 3.451, 4.539",\
                 "0.2064, 0.2606, 0.3968, 0.6012, 0.8902, 1.29, 1.839, 2.556, 3.457, 4.541",\
                 "0.228, 0.2852, 0.4236, 0.6276, 0.9108, 1.306, 1.85, 2.564, 3.462, 4.545",\
                 "0.2538, 0.314, 0.4576, 0.6646, 0.9474, 1.334, 1.867, 2.574, 3.466, 4.544",\
                 "0.2806, 0.3452, 0.4966, 0.7092, 0.998, 1.384, 1.905, 2.595, 3.476, 4.551");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.09236, 0.147, 0.3404, 0.7314, 1.346, 2.208, 3.344, 4.778, 6.521, 8.6",\
                 "0.092, 0.147, 0.3405, 0.7314, 1.346, 2.208, 3.344, 4.775, 6.52, 8.601",\
                 "0.09226, 0.1469, 0.3403, 0.731, 1.345, 2.208, 3.343, 4.774, 6.517, 8.603",\
                 "0.1017, 0.1555, 0.3436, 0.7314, 1.346, 2.209, 3.346, 4.776, 6.524, 8.6",\
                 "0.1144, 0.169, 0.3526, 0.7336, 1.347, 2.212, 3.344, 4.775, 6.522, 8.603",\
                 "0.131, 0.1854, 0.3646, 0.7376, 1.349, 2.209, 3.343, 4.772, 6.521, 8.603",\
                 "0.1508, 0.2052, 0.382, 0.7482, 1.353, 2.211, 3.344, 4.773, 6.519, 8.604",\
                 "0.1722, 0.2282, 0.4046, 0.7612, 1.364, 2.218, 3.347, 4.773, 6.516, 8.597",\
                 "0.1944, 0.2516, 0.4306, 0.7796, 1.38, 2.235, 3.361, 4.777, 6.518, 8.611",\
                 "0.2174, 0.2772, 0.4566, 0.7998, 1.4, 2.26, 3.378, 4.792, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.6483, 0.7014, 0.8351, 1.024, 1.262, 1.558, 1.924, 2.374, 2.92, 3.57",\
                 "0.659, 0.7122, 0.8459, 1.034, 1.273, 1.569, 1.935, 2.385, 2.931, 3.581",\
                 "0.6901, 0.7431, 0.8767, 1.065, 1.304, 1.599, 1.966, 2.416, 2.962, 3.612",\
                 "0.7446, 0.7975, 0.9308, 1.119, 1.358, 1.653, 2.019, 2.47, 3.016, 3.665",\
                 "0.8392, 0.893, 1.029, 1.22, 1.459, 1.755, 2.122, 2.572, 3.118, 3.767",\
                 "0.9875, 1.043, 1.182, 1.376, 1.62, 1.919, 2.286, 2.737, 3.283, 3.932",\
                 "1.191, 1.249, 1.393, 1.592, 1.84, 2.142, 2.511, 2.963, 3.509, 4.158",\
                 "1.433, 1.495, 1.647, 1.857, 2.113, 2.421, 2.793, 3.246, 3.792, 4.441",\
                 "1.71, 1.776, 1.939, 2.159, 2.43, 2.749, 3.129, 3.584, 4.131, 4.781",\
                 "2.022, 2.091, 2.262, 2.497, 2.782, 3.118, 3.512, 3.977, 4.527, 5.177");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.263, 0.3047, 0.4299, 0.657, 1.008, 1.498, 2.143, 2.955, 3.945, 5.127",\
                 "0.2762, 0.3179, 0.4432, 0.6703, 1.021, 1.512, 2.156, 2.968, 3.959, 5.14",\
                 "0.3287, 0.3701, 0.4945, 0.7213, 1.072, 1.563, 2.207, 3.019, 4.01, 5.191",\
                 "0.4101, 0.4525, 0.5766, 0.8011, 1.151, 1.641, 2.286, 3.097, 4.088, 5.268",\
                 "0.4699, 0.5146, 0.6407, 0.864, 1.213, 1.702, 2.346, 3.157, 4.146, 5.329",\
                 "0.502, 0.5497, 0.6808, 0.9036, 1.25, 1.739, 2.382, 3.193, 4.182, 5.362",\
                 "0.5033, 0.5545, 0.6916, 0.9161, 1.263, 1.749, 2.392, 3.201, 4.191, 5.372",\
                 "0.4723, 0.5274, 0.6718, 0.9002, 1.248, 1.735, 2.377, 3.186, 4.175, 5.354",\
                 "0.408, 0.467, 0.6186, 0.8529, 1.203, 1.693, 2.335, 3.144, 4.132, 5.31",\
                 "0.3092, 0.3727, 0.5331, 0.7734, 1.126, 1.621, 2.266, 3.077, 4.064, 5.242");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.1681, 0.2198, 0.3524, 0.5603, 0.8518, 1.264, 1.822, 2.548, 3.452, 4.538",\
                 "0.1691, 0.2195, 0.3522, 0.5603, 0.8524, 1.264, 1.82, 2.545, 3.452, 4.541",\
                 "0.1686, 0.2196, 0.3525, 0.5606, 0.852, 1.262, 1.82, 2.546, 3.452, 4.541",\
                 "0.1688, 0.2202, 0.3528, 0.5604, 0.854, 1.263, 1.821, 2.547, 3.451, 4.538",\
                 "0.178, 0.2304, 0.3628, 0.567, 0.8576, 1.267, 1.821, 2.548, 3.452, 4.538",\
                 "0.1874, 0.2428, 0.3752, 0.5828, 0.871, 1.275, 1.827, 2.548, 3.451, 4.54",\
                 "0.2064, 0.262, 0.3974, 0.6034, 0.89, 1.29, 1.837, 2.557, 3.456, 4.537",\
                 "0.2324, 0.2906, 0.4328, 0.639, 0.9226, 1.314, 1.853, 2.563, 3.456, 4.542",\
                 "0.2604, 0.3224, 0.4718, 0.6872, 0.977, 1.361, 1.885, 2.581, 3.465, 4.542",\
                 "0.2906, 0.357, 0.5168, 0.7404, 1.041, 1.435, 1.948, 2.623, 3.486, 4.553");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005969, 0.02341, 0.05672, 0.1086, 0.1814, 0.2772, 0.3979, 0.5453, 0.7209");
          values("0.09576, 0.1515, 0.3454, 0.7346, 1.348, 2.209, 3.345, 4.773, 6.521, 8.604",\
                 "0.09586, 0.1515, 0.3451, 0.7348, 1.348, 2.209, 3.344, 4.774, 6.521, 8.604",\
                 "0.09486, 0.1512, 0.3448, 0.7345, 1.348, 2.21, 3.344, 4.774, 6.521, 8.604",\
                 "0.1035, 0.1582, 0.3467, 0.7342, 1.348, 2.209, 3.345, 4.775, 6.521, 8.606",\
                 "0.1176, 0.1718, 0.3552, 0.7368, 1.348, 2.21, 3.343, 4.776, 6.522, 8.607",\
                 "0.1346, 0.1884, 0.3672, 0.7408, 1.351, 2.211, 3.344, 4.775, 6.521, 8.604",\
                 "0.1546, 0.2082, 0.385, 0.751, 1.356, 2.212, 3.346, 4.774, 6.519, 8.6",\
                 "0.176, 0.2314, 0.4076, 0.7656, 1.369, 2.223, 3.349, 4.775, 6.532, 8.597",\
                 "0.1982, 0.2568, 0.4344, 0.7858, 1.386, 2.24, 3.364, 4.78, 6.519, 8.6",\
                 "0.2234, 0.2816, 0.4626, 0.809, 1.407, 2.267, 3.387, 4.796, 6.526, 8.601");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__or3_4) {
    area : 48.294400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "0.0001343661" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "0.0001462989" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "0.0001178892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "0.0001178892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001462989" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.008964 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04593, 0.04593, 0.04595, 0.04588, 0.04585, 0.04586, 0.04582, \
                 0.04575, 0.04567, 0.04554");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01042, -0.01044, -0.01049, -0.01053, -0.01051, -0.01055, -0.01056, \
                 -0.01056, -0.01055, -0.01056");
        }
      }

      internal_power() {
        when : "A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02434, 0.02435, 0.02435, 0.02437, 0.02436, 0.0244, 0.02436, \
                 0.02434, 0.0243, 0.02425");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01049, -0.01052, -0.01058, -0.01061, -0.01061, -0.01064, -0.01066, \
                 -0.01065, -0.01065, -0.01065");
        }
      }

      internal_power() {
        when : "A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02434, 0.02436, 0.02437, 0.02436, 0.02435, 0.02438, 0.02436, \
                 0.02433, 0.02431, 0.02425");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0105, -0.01053, -0.01058, -0.01061, -0.01063, -0.01066, -0.01066, \
                 -0.01065, -0.01066, -0.01066");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008821 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02228, 0.02227, 0.02233, 0.02232, 0.02232, 0.02234, 0.02231, \
                 0.02224, 0.02217, 0.02207");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01181, -0.01188, -0.0119, -0.01193, -0.01194, -0.01199, -0.012, \
                 -0.01202, -0.01206, -0.0121");
        }
      }

      internal_power() {
        when : "A1&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03262, 0.03258, 0.03262, 0.03258, 0.03258, 0.03267, 0.03265, \
                 0.03262, 0.03263, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02648, -0.02819, -0.03096, -0.03157, -0.03174, -0.03195, -0.03201, \
                 -0.03206, -0.03212, -0.03214");
        }
      }

      internal_power() {
        when : "A1&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02032, 0.02033, 0.02038, 0.02041, 0.02042, 0.02047, 0.02049, \
                 0.02046, 0.02046, 0.02048");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02113, -0.021, -0.02086, -0.02065, -0.02047, -0.02043, -0.02029, \
                 -0.02021, -0.02013, -0.0201");
        }
      }
    }

    pin(A3) {
      capacitance : 0.009221 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03255, 0.0326, 0.03258, 0.03256, 0.03258, 0.03265, 0.03262, \
                 0.03262, 0.03263, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02861, -0.03043, -0.03127, -0.03163, -0.0318, -0.03199, -0.03201, \
                 -0.0321, -0.03215, -0.03216");
        }
      }

      internal_power() {
        when : "A1&!A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03259, 0.03262, 0.03256, 0.03257, 0.03262, 0.0327, 0.03268, \
                 0.03264, 0.03264, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02741, -0.02822, -0.0296, -0.03057, -0.03097, -0.03131, -0.03149, \
                 -0.0316, -0.03167, -0.03176");
        }
      }

      internal_power() {
        when : "A1&A2" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03258, 0.03261, 0.03258, 0.03264, 0.03261, 0.03268, 0.03263, \
                 0.03261, 0.0326, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03021, -0.03065, -0.0313, -0.03166, -0.0318, -0.032, -0.03203, \
                 -0.03211, -0.03214, -0.03217");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2|A3)" ;
      max_capacitance : 1.441 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3502, 0.335, 0.3112, 0.2979, 0.2907, 0.2863, 0.2834, 0.2815, 0.2801, 0.2792",\
                 "0.3481, 0.3331, 0.3092, 0.2958, 0.2886, 0.2841, 0.2814, 0.2795, 0.2783, 0.2773",\
                 "0.348, 0.3331, 0.3091, 0.2957, 0.2886, 0.2844, 0.2814, 0.2796, 0.2784, 0.2774",\
                 "0.3584, 0.3433, 0.3189, 0.3052, 0.2978, 0.2932, 0.2906, 0.2889, 0.2876, 0.2867",\
                 "0.3916, 0.3752, 0.3469, 0.3301, 0.3208, 0.3153, 0.3119, 0.3097, 0.3082, 0.307",\
                 "0.44, 0.4213, 0.3887, 0.3679, 0.3562, 0.349, 0.3446, 0.3416, 0.3397, 0.3384",\
                 "0.5031, 0.4827, 0.4454, 0.4202, 0.4052, 0.3957, 0.39, 0.3863, 0.3838, 0.382",\
                 "0.5847, 0.5625, 0.52, 0.4893, 0.4703, 0.4581, 0.4503, 0.4454, 0.442, 0.4396",\
                 "0.6855, 0.6621, 0.6136, 0.5764, 0.5527, 0.5368, 0.527, 0.5202, 0.5156, 0.5124",\
                 "0.8058, 0.7806, 0.7267, 0.6826, 0.6535, 0.6337, 0.6208, 0.6119, 0.6059, 0.6016");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1429, 0.1413, 0.1426, 0.1457, 0.1486, 0.151, 0.1539, 0.1573, 0.1598, 0.1751",\
                 "0.144, 0.1425, 0.1434, 0.1464, 0.1494, 0.1523, 0.1552, 0.1583, 0.1622, 0.1758",\
                 "0.1491, 0.1469, 0.146, 0.1482, 0.1512, 0.1543, 0.1572, 0.1603, 0.1632, 0.181",\
                 "0.1663, 0.1615, 0.1578, 0.1566, 0.1575, 0.1602, 0.1645, 0.1666, 0.1724, 0.1848",\
                 "0.1941, 0.1874, 0.1783, 0.1752, 0.1747, 0.1754, 0.1777, 0.1817, 0.1844, 0.2044",\
                 "0.2362, 0.227, 0.2135, 0.2044, 0.2038, 0.2035, 0.2037, 0.2058, 0.2091, 0.2282",\
                 "0.2935, 0.2805, 0.2627, 0.2509, 0.244, 0.2431, 0.2446, 0.2444, 0.2455, 0.271",\
                 "0.3664, 0.3504, 0.3277, 0.3107, 0.2996, 0.2959, 0.2978, 0.2974, 0.3011, 0.3274",\
                 "0.4561, 0.4358, 0.4085, 0.3872, 0.3728, 0.3615, 0.3601, 0.3638, 0.3686, 0.4084",\
                 "0.5622, 0.5387, 0.5063, 0.4787, 0.4609, 0.4477, 0.4407, 0.439, 0.4495, 0.5096");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3736, 0.3585, 0.3347, 0.3216, 0.314, 0.3096, 0.3069, 0.3048, 0.3036, 0.3026",\
                 "0.3717, 0.3566, 0.3327, 0.3196, 0.3121, 0.3076, 0.3048, 0.3029, 0.3017, 0.3008",\
                 "0.3692, 0.3541, 0.3302, 0.3168, 0.3095, 0.3051, 0.3023, 0.3004, 0.2992, 0.2983",\
                 "0.3771, 0.3616, 0.3365, 0.3224, 0.3146, 0.3101, 0.3071, 0.3052, 0.3038, 0.3027",\
                 "0.4059, 0.3897, 0.3616, 0.3451, 0.3356, 0.33, 0.3265, 0.3242, 0.3226, 0.3215",\
                 "0.4508, 0.4333, 0.4023, 0.3827, 0.3714, 0.3646, 0.3604, 0.3576, 0.3556, 0.3543",\
                 "0.516, 0.4972, 0.4625, 0.4388, 0.4245, 0.416, 0.4104, 0.4068, 0.4043, 0.4026",\
                 "0.6032, 0.583, 0.5431, 0.5137, 0.4961, 0.4846, 0.4776, 0.4726, 0.4691, 0.4667",\
                 "0.7118, 0.6898, 0.6445, 0.6094, 0.5867, 0.5722, 0.5624, 0.556, 0.5516, 0.5484",\
                 "0.8411, 0.8177, 0.7678, 0.7258, 0.6978, 0.6793, 0.667, 0.6583, 0.6525, 0.6482");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1667, 0.1645, 0.1647, 0.1662, 0.1687, 0.1715, 0.174, 0.1781, 0.1813, 0.1913",\
                 "0.1665, 0.1645, 0.164, 0.1659, 0.1685, 0.1715, 0.1744, 0.1781, 0.181, 0.191",\
                 "0.1686, 0.1661, 0.1643, 0.1661, 0.1683, 0.1718, 0.1744, 0.1768, 0.1793, 0.1935",\
                 "0.1848, 0.1807, 0.1758, 0.1738, 0.1749, 0.1774, 0.1803, 0.183, 0.1856, 0.201",\
                 "0.2141, 0.2072, 0.1974, 0.1938, 0.192, 0.1936, 0.1958, 0.1986, 0.2028, 0.2186",\
                 "0.2584, 0.2494, 0.2355, 0.2265, 0.2247, 0.2243, 0.2239, 0.2259, 0.2282, 0.2493",\
                 "0.3196, 0.3072, 0.2901, 0.2767, 0.2693, 0.2688, 0.2684, 0.2679, 0.2709, 0.2983",\
                 "0.3981, 0.3823, 0.3613, 0.3435, 0.3309, 0.3262, 0.3278, 0.3278, 0.3291, 0.3586",\
                 "0.4946, 0.4762, 0.4492, 0.4279, 0.4121, 0.4008, 0.3968, 0.4004, 0.404, 0.4484",\
                 "0.61, 0.5881, 0.5562, 0.53, 0.5095, 0.4955, 0.4892, 0.4862, 0.4958, 0.5639");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3962, 0.3809, 0.3572, 0.3439, 0.3365, 0.3321, 0.3293, 0.3273, 0.3259, 0.3249",\
                 "0.3941, 0.3791, 0.3551, 0.3419, 0.3346, 0.3301, 0.3274, 0.3253, 0.3241, 0.3232",\
                 "0.3913, 0.3761, 0.3521, 0.3389, 0.3316, 0.3272, 0.3244, 0.3225, 0.3211, 0.3201",\
                 "0.3951, 0.3798, 0.3551, 0.3412, 0.3337, 0.3292, 0.3262, 0.3243, 0.3229, 0.322",\
                 "0.4196, 0.4035, 0.3762, 0.3604, 0.3514, 0.3461, 0.3428, 0.3405, 0.3391, 0.338",\
                 "0.4666, 0.4493, 0.4192, 0.4002, 0.3894, 0.3827, 0.3785, 0.3758, 0.3739, 0.3726",\
                 "0.5425, 0.524, 0.4888, 0.4646, 0.4511, 0.4421, 0.4365, 0.4326, 0.4302, 0.4286",\
                 "0.6454, 0.625, 0.585, 0.555, 0.5361, 0.5242, 0.5166, 0.5114, 0.5078, 0.5053",\
                 "0.7732, 0.7513, 0.7057, 0.6683, 0.6443, 0.6291, 0.6189, 0.6119, 0.6069, 0.6033",\
                 "0.9249, 0.9015, 0.851, 0.8064, 0.7767, 0.7569, 0.7435, 0.7342, 0.7277, 0.7229");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1898, 0.1871, 0.1854, 0.1869, 0.189, 0.1916, 0.1945, 0.1969, 0.1995, 0.213",\
                 "0.1872, 0.1844, 0.1832, 0.1849, 0.1869, 0.1899, 0.1925, 0.1946, 0.1995, 0.21",\
                 "0.1869, 0.184, 0.1813, 0.1822, 0.1845, 0.1876, 0.1905, 0.1923, 0.1962, 0.208",\
                 "0.2033, 0.1985, 0.1924, 0.1905, 0.1911, 0.1932, 0.1961, 0.1982, 0.2037, 0.2148",\
                 "0.2347, 0.228, 0.2173, 0.2126, 0.2098, 0.211, 0.2129, 0.215, 0.2183, 0.2341",\
                 "0.2839, 0.2744, 0.2604, 0.2498, 0.2469, 0.245, 0.245, 0.247, 0.2487, 0.2707",\
                 "0.3537, 0.3409, 0.3228, 0.3073, 0.2989, 0.2978, 0.2971, 0.2975, 0.2986, 0.3236",\
                 "0.4449, 0.4287, 0.4061, 0.3874, 0.3736, 0.3661, 0.3684, 0.3664, 0.3674, 0.3981",\
                 "0.5582, 0.5389, 0.511, 0.4866, 0.4694, 0.4569, 0.4519, 0.4548, 0.4584, 0.502",\
                 "0.6949, 0.6719, 0.6391, 0.6105, 0.5878, 0.5698, 0.5618, 0.5584, 0.5688, 0.6357");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.5024, 0.5566, 0.69, 0.8773, 1.114, 1.408, 1.774, 2.225, 2.771, 3.421",\
                 "0.5095, 0.5635, 0.6971, 0.8845, 1.121, 1.415, 1.781, 2.232, 2.778, 3.428",\
                 "0.5592, 0.6131, 0.7466, 0.9338, 1.17, 1.465, 1.83, 2.281, 2.827, 3.478",\
                 "0.6835, 0.7372, 0.8702, 1.057, 1.293, 1.588, 1.953, 2.404, 2.95, 3.601",\
                 "0.878, 0.9322, 1.066, 1.253, 1.49, 1.784, 2.15, 2.601, 3.147, 3.797",\
                 "1.118, 1.175, 1.311, 1.501, 1.741, 2.038, 2.404, 2.855, 3.401, 4.051",\
                 "1.412, 1.471, 1.611, 1.804, 2.045, 2.344, 2.712, 3.164, 3.71, 4.36",\
                 "1.762, 1.824, 1.97, 2.167, 2.411, 2.71, 3.079, 3.532, 4.079, 4.73",\
                 "2.164, 2.231, 2.387, 2.591, 2.841, 3.143, 3.512, 3.965, 4.512, 5.164",\
                 "2.624, 2.694, 2.859, 3.072, 3.332, 3.641, 4.014, 4.468, 5.016, 5.667");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.2093, 0.25, 0.3732, 0.5992, 0.95, 1.441, 2.086, 2.899, 3.893, 5.078",\
                 "0.2249, 0.2655, 0.3887, 0.6148, 0.9657, 1.456, 2.102, 2.916, 3.905, 5.094",\
                 "0.2777, 0.3182, 0.4401, 0.6657, 1.017, 1.507, 2.154, 2.967, 3.96, 5.141",\
                 "0.3364, 0.3788, 0.5022, 0.7261, 1.076, 1.567, 2.212, 3.026, 4.019, 5.199",\
                 "0.3662, 0.4117, 0.5382, 0.7607, 1.109, 1.599, 2.244, 3.058, 4.05, 5.234",\
                 "0.361, 0.4098, 0.5417, 0.7637, 1.11, 1.599, 2.243, 3.056, 4.049, 5.23",\
                 "0.3145, 0.3674, 0.5058, 0.7316, 1.077, 1.565, 2.208, 3.018, 4.009, 5.192",\
                 "0.224, 0.2811, 0.4275, 0.6567, 1.005, 1.493, 2.135, 2.945, 3.935, 5.116",\
                 "0.087, 0.1481, 0.3019, 0.5369, 0.8862, 1.377, 2.022, 2.831, 3.821, 5.001",\
                 "-0.101, -0.0351, 0.1275, 0.3683, 0.7197, 1.214, 1.864, 2.676, 3.665, 4.845");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1582, 0.2098, 0.343, 0.5506, 0.8428, 1.255, 1.815, 2.544, 3.45, 4.543",\
                 "0.1582, 0.21, 0.3429, 0.5499, 0.8423, 1.255, 1.816, 2.544, 3.453, 4.541",\
                 "0.1582, 0.2101, 0.3428, 0.5495, 0.843, 1.255, 1.814, 2.546, 3.453, 4.543",\
                 "0.1568, 0.209, 0.3432, 0.5496, 0.8426, 1.255, 1.817, 2.544, 3.452, 4.537",\
                 "0.169, 0.2212, 0.3506, 0.5568, 0.8474, 1.257, 1.817, 2.546, 3.449, 4.543",\
                 "0.187, 0.2382, 0.3654, 0.5708, 0.86, 1.266, 1.821, 2.546, 3.452, 4.543",\
                 "0.206, 0.2578, 0.3832, 0.5834, 0.872, 1.278, 1.832, 2.556, 3.456, 4.544",\
                 "0.2278, 0.2834, 0.41, 0.6026, 0.886, 1.287, 1.84, 2.563, 3.463, 4.548",\
                 "0.2548, 0.3146, 0.4442, 0.634, 0.912, 1.303, 1.848, 2.567, 3.468, 4.551",\
                 "0.2842, 0.3474, 0.4852, 0.6756, 0.9506, 1.336, 1.872, 2.578, 3.472, 4.554");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.0821, 0.1371, 0.3319, 0.7243, 1.34, 2.208, 3.343, 4.777, 6.527, 8.62",\
                 "0.08212, 0.1374, 0.3319, 0.7245, 1.34, 2.205, 3.343, 4.778, 6.524, 8.621",\
                 "0.0827, 0.138, 0.3321, 0.7242, 1.34, 2.205, 3.343, 4.777, 6.523, 8.61",\
                 "0.0944, 0.1484, 0.337, 0.7252, 1.34, 2.205, 3.342, 4.776, 6.527, 8.618",\
                 "0.109, 0.1634, 0.3444, 0.7272, 1.342, 2.202, 3.341, 4.776, 6.523, 8.612",\
                 "0.1264, 0.181, 0.3588, 0.7308, 1.344, 2.204, 3.339, 4.772, 6.521, 8.62",\
                 "0.1468, 0.2026, 0.3788, 0.7416, 1.346, 2.206, 3.341, 4.778, 6.517, 8.608",\
                 "0.1684, 0.2258, 0.4024, 0.7566, 1.36, 2.215, 3.344, 4.772, 6.528, 8.599",\
                 "0.1922, 0.2498, 0.429, 0.7754, 1.376, 2.232, 3.355, 4.776, 6.52, 8.611",\
                 "0.2172, 0.2774, 0.458, 0.7974, 1.393, 2.255, 3.379, 4.791, 6.527, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.5905, 0.6446, 0.778, 0.9654, 1.202, 1.496, 1.862, 2.312, 2.859, 3.509",\
                 "0.5983, 0.6524, 0.7857, 0.9732, 1.21, 1.504, 1.87, 2.32, 2.867, 3.517",\
                 "0.6306, 0.6845, 0.818, 1.005, 1.242, 1.536, 1.902, 2.352, 2.899, 3.549",\
                 "0.7092, 0.7629, 0.896, 1.083, 1.32, 1.614, 1.979, 2.43, 2.976, 3.627",\
                 "0.8442, 0.8999, 1.037, 1.226, 1.465, 1.759, 2.125, 2.576, 3.122, 3.772",\
                 "1.039, 1.096, 1.236, 1.43, 1.672, 1.97, 2.337, 2.788, 3.334, 3.984",\
                 "1.292, 1.351, 1.494, 1.692, 1.938, 2.238, 2.607, 3.059, 3.606, 4.256",\
                 "1.593, 1.656, 1.806, 2.01, 2.262, 2.565, 2.936, 3.389, 3.936, 4.587",\
                 "1.941, 2.007, 2.166, 2.38, 2.641, 2.951, 3.325, 3.779, 4.327, 4.978",\
                 "2.336, 2.405, 2.572, 2.797, 3.07, 3.393, 3.775, 4.233, 4.781, 5.433");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.2373, 0.2785, 0.402, 0.628, 0.9785, 1.469, 2.114, 2.927, 3.918, 5.099",\
                 "0.2519, 0.2931, 0.4165, 0.6427, 0.9932, 1.484, 2.128, 2.941, 3.932, 5.114",\
                 "0.3043, 0.3451, 0.4678, 0.6936, 1.044, 1.535, 2.18, 2.992, 3.983, 5.167",\
                 "0.3751, 0.4177, 0.5407, 0.7647, 1.114, 1.605, 2.25, 3.061, 4.053, 5.236",\
                 "0.4203, 0.4651, 0.5911, 0.8135, 1.162, 1.652, 2.296, 3.109, 4.101, 5.284",\
                 "0.4336, 0.4818, 0.6122, 0.8345, 1.181, 1.67, 2.314, 3.126, 4.118, 5.3",\
                 "0.4104, 0.4622, 0.5996, 0.8232, 1.17, 1.657, 2.3, 3.111, 4.102, 5.283",\
                 "0.3482, 0.404, 0.5483, 0.7765, 1.123, 1.612, 2.254, 3.064, 4.054, 5.235",\
                 "0.2455, 0.3056, 0.4569, 0.6897, 1.04, 1.53, 2.173, 2.983, 3.973, 5.152",\
                 "0.1001, 0.1642, 0.3235, 0.5625, 0.9139, 1.408, 2.056, 2.868, 3.857, 5.036");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1583, 0.2101, 0.3429, 0.5505, 0.8436, 1.255, 1.814, 2.546, 3.453, 4.541",\
                 "0.1584, 0.2098, 0.3433, 0.5503, 0.8426, 1.255, 1.816, 2.546, 3.453, 4.541",\
                 "0.1584, 0.2101, 0.343, 0.5498, 0.8426, 1.256, 1.815, 2.544, 3.453, 4.537",\
                 "0.159, 0.2112, 0.344, 0.551, 0.8446, 1.255, 1.817, 2.543, 3.453, 4.542",\
                 "0.171, 0.2244, 0.3568, 0.5602, 0.849, 1.259, 1.819, 2.547, 3.453, 4.54",\
                 "0.1802, 0.2366, 0.3708, 0.5766, 0.8646, 1.269, 1.824, 2.549, 3.453, 4.542",\
                 "0.1958, 0.2518, 0.3882, 0.592, 0.8794, 1.281, 1.834, 2.556, 3.457, 4.54",\
                 "0.2172, 0.2772, 0.4152, 0.6192, 0.9014, 1.297, 1.844, 2.562, 3.459, 4.544",\
                 "0.2432, 0.3044, 0.4494, 0.6566, 0.9392, 1.327, 1.861, 2.57, 3.465, 4.547",\
                 "0.27, 0.3358, 0.488, 0.702, 0.9914, 1.375, 1.9, 2.592, 3.479, 4.551");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.08464, 0.1399, 0.3336, 0.7249, 1.34, 2.206, 3.342, 4.774, 6.523, 8.606",\
                 "0.08458, 0.1398, 0.3335, 0.7254, 1.34, 2.204, 3.34, 4.774, 6.522, 8.609",\
                 "0.08424, 0.14, 0.3339, 0.7259, 1.341, 2.204, 3.341, 4.772, 6.521, 8.606",\
                 "0.09426, 0.1485, 0.3369, 0.7248, 1.34, 2.203, 3.342, 4.77, 6.518, 8.606",\
                 "0.1078, 0.1614, 0.3446, 0.7276, 1.341, 2.207, 3.341, 4.773, 6.522, 8.603",\
                 "0.123, 0.1782, 0.357, 0.7312, 1.344, 2.205, 3.339, 4.773, 6.521, 8.605",\
                 "0.1434, 0.1974, 0.3752, 0.741, 1.347, 2.206, 3.341, 4.771, 6.518, 8.607",\
                 "0.1648, 0.2202, 0.3968, 0.7552, 1.36, 2.214, 3.345, 4.772, 6.518, 8.6",\
                 "0.1858, 0.2432, 0.422, 0.773, 1.377, 2.231, 3.354, 4.775, 6.521, 8.601",\
                 "0.2078, 0.269, 0.4494, 0.7934, 1.393, 2.255, 3.378, 4.79, 6.523, 8.603");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.625, 0.679, 0.8125, 0.9998, 1.236, 1.531, 1.896, 2.347, 2.893, 3.544",\
                 "0.6356, 0.6895, 0.8231, 1.01, 1.247, 1.541, 1.907, 2.358, 2.904, 3.554",\
                 "0.6663, 0.7203, 0.8538, 1.041, 1.278, 1.572, 1.938, 2.388, 2.935, 3.585",\
                 "0.7211, 0.7749, 0.908, 1.095, 1.332, 1.626, 1.992, 2.442, 2.988, 3.639",\
                 "0.8146, 0.8698, 1.006, 1.195, 1.433, 1.728, 2.094, 2.544, 3.091, 3.741",\
                 "0.9628, 1.019, 1.158, 1.352, 1.594, 1.892, 2.258, 2.709, 3.255, 3.906",\
                 "1.164, 1.224, 1.368, 1.566, 1.813, 2.114, 2.483, 2.934, 3.481, 4.131",\
                 "1.405, 1.468, 1.621, 1.83, 2.086, 2.392, 2.764, 3.216, 3.763, 4.413",\
                 "1.68, 1.747, 1.909, 2.13, 2.4, 2.719, 3.099, 3.554, 4.101, 4.751",\
                 "1.987, 2.058, 2.231, 2.465, 2.75, 3.086, 3.48, 3.945, 4.495, 5.146");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.2512, 0.2934, 0.4191, 0.6467, 0.9981, 1.489, 2.134, 2.947, 3.939, 5.121",\
                 "0.2644, 0.3065, 0.4323, 0.6601, 1.011, 1.502, 2.147, 2.96, 3.951, 5.133",\
                 "0.3173, 0.3591, 0.4838, 0.7109, 1.062, 1.553, 2.199, 3.012, 4.004, 5.185",\
                 "0.3969, 0.4396, 0.5638, 0.7893, 1.139, 1.63, 2.275, 3.087, 4.079, 5.26",\
                 "0.4538, 0.4997, 0.6262, 0.8498, 1.198, 1.688, 2.333, 3.146, 4.137, 5.319",\
                 "0.4836, 0.5321, 0.6636, 0.8868, 1.234, 1.722, 2.367, 3.178, 4.17, 5.352",\
                 "0.482, 0.5343, 0.6719, 0.8969, 1.243, 1.731, 2.375, 3.186, 4.177, 5.357",\
                 "0.4483, 0.5047, 0.6497, 0.8788, 1.226, 1.715, 2.357, 3.167, 4.157, 5.338",\
                 "0.3812, 0.4421, 0.5945, 0.8285, 1.18, 1.67, 2.314, 3.123, 4.113, 5.293",\
                 "0.2806, 0.3453, 0.5064, 0.7474, 1.1, 1.595, 2.244, 3.054, 4.043, 5.222");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1579, 0.2098, 0.343, 0.5505, 0.8428, 1.255, 1.817, 2.544, 3.45, 4.54",\
                 "0.1579, 0.2102, 0.3429, 0.5501, 0.8438, 1.255, 1.814, 2.544, 3.453, 4.54",\
                 "0.1584, 0.2101, 0.3428, 0.5492, 0.8438, 1.255, 1.816, 2.543, 3.449, 4.541",\
                 "0.1588, 0.2106, 0.3434, 0.5502, 0.8444, 1.256, 1.814, 2.544, 3.452, 4.543",\
                 "0.1682, 0.221, 0.3534, 0.5582, 0.8486, 1.257, 1.818, 2.545, 3.453, 4.537",\
                 "0.1786, 0.233, 0.3678, 0.574, 0.8618, 1.268, 1.824, 2.547, 3.454, 4.54",\
                 "0.1978, 0.2542, 0.3894, 0.5954, 0.8804, 1.283, 1.832, 2.553, 3.454, 4.538",\
                 "0.222, 0.2812, 0.4248, 0.6324, 0.9148, 1.306, 1.846, 2.56, 3.457, 4.543",\
                 "0.2494, 0.3138, 0.4656, 0.6798, 0.9694, 1.355, 1.881, 2.577, 3.466, 4.543",\
                 "0.2794, 0.3476, 0.5086, 0.7328, 1.034, 1.428, 1.944, 2.623, 3.49, 4.557");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.08788, 0.1443, 0.3386, 0.7289, 1.343, 2.205, 3.342, 4.773, 6.522, 8.607",\
                 "0.08806, 0.1445, 0.3385, 0.7299, 1.343, 2.206, 3.341, 4.773, 6.521, 8.601",\
                 "0.08734, 0.1435, 0.3383, 0.7287, 1.342, 2.206, 3.342, 4.774, 6.523, 8.607",\
                 "0.0952, 0.1509, 0.3403, 0.7286, 1.343, 2.209, 3.341, 4.774, 6.523, 8.603",\
                 "0.1098, 0.1644, 0.348, 0.7306, 1.345, 2.205, 3.342, 4.773, 6.519, 8.606",\
                 "0.126, 0.1814, 0.3602, 0.736, 1.346, 2.207, 3.341, 4.773, 6.52, 8.606",\
                 "0.146, 0.2004, 0.3778, 0.745, 1.351, 2.21, 3.342, 4.774, 6.517, 8.608",\
                 "0.168, 0.2238, 0.4002, 0.7594, 1.364, 2.218, 3.346, 4.774, 6.53, 8.605",\
                 "0.1902, 0.2492, 0.4266, 0.7786, 1.382, 2.236, 3.361, 4.779, 6.52, 8.613",\
                 "0.214, 0.2746, 0.4548, 0.8016, 1.402, 2.263, 3.381, 4.794, 6.528, 8.608");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__or4_1) {
    area : 26.342400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "8.11932e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "8.71332e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "7.30356e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "7.30356e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "5.874e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "5.874e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "5.874e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "5.874e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "4.42167e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.71332e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.002755 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01788, 0.01787, 0.01786, 0.01786, 0.01783, 0.01783, 0.0178, \
                 0.01777, 0.01773, 0.01767");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00241, -0.002418, -0.002435, -0.002433, -0.002436, -0.002446, \
                 -0.002443, -0.002444, -0.002445, -0.002444");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01237, 0.01236, 0.01235, 0.01234, 0.01233, 0.01233, 0.01233, \
                 0.0123, 0.01228, 0.01224");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002415, -0.002425, -0.002442, -0.002441, -0.002445, -0.002453, \
                 -0.002452, -0.002452, -0.002454, -0.002452");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01236, 0.01236, 0.01236, 0.01234, 0.01234, 0.01233, 0.01232, \
                 0.0123, 0.01228, 0.01225");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002421, -0.002428, -0.002441, -0.002438, -0.002444, -0.002454, \
                 -0.002451, -0.002453, -0.002453, -0.002451");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006701, 0.006693, 0.006686, 0.006691, 0.006682, 0.006691, 0.006687, \
                 0.006677, 0.006666, 0.006648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002432, -0.002443, -0.002452, -0.002456, -0.002463, -0.002473, \
                 -0.002473, -0.002473, -0.002474, -0.002474");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006693, 0.006693, 0.0067, 0.006697, 0.006687, 0.006692, 0.006687, \
                 0.006674, 0.006667, 0.006651");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002435, -0.002447, -0.002462, -0.002457, -0.00246, -0.002475, \
                 -0.002472, -0.002473, -0.002474, -0.002473");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006694, 0.006693, 0.006698, 0.006694, 0.006686, 0.006693, 0.006684, \
                 0.006674, 0.006668, 0.006649");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002434, -0.002447, -0.002463, -0.002461, -0.002462, -0.002474, \
                 -0.002472, -0.002474, -0.002473, -0.002473");
        }
      }

      internal_power() {
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006694, 0.006695, 0.006696, 0.00669, 0.006688, 0.006692, 0.006685, \
                 0.006677, 0.006667, 0.006653");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002434, -0.002447, -0.002461, -0.002464, -0.002466, -0.002473, \
                 -0.002473, -0.002473, -0.002472, -0.002473");
        }
      }
    }

    pin(A2) {
      capacitance : 0.002784 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01127, 0.01125, 0.01127, 0.01126, 0.01125, 0.01124, 0.01122, \
                 0.01119, 0.01116, 0.0111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002753, -0.002763, -0.002768, -0.002773, -0.002779, -0.00279, \
                 -0.002795, -0.002802, -0.002812, -0.002821");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005752, 0.005741, 0.005751, 0.005759, 0.005754, 0.005759, 0.005746, \
                 0.005731, 0.00571, 0.005679");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002796, -0.002805, -0.00281, -0.002815, -0.002819, -0.002835, \
                 -0.00284, -0.002848, -0.002858, -0.002865");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005749, 0.005741, 0.005751, 0.005753, 0.005751, 0.005757, 0.005744, \
                 0.005729, 0.005707, 0.005677");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002795, -0.002803, -0.002816, -0.002818, -0.002819, -0.002832, \
                 -0.002838, -0.002846, -0.002853, -0.002866");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007446, 0.007451, 0.007451, 0.007461, 0.007446, 0.007473, 0.007472, \
                 0.007463, 0.007468, 0.007468");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006133, -0.006441, -0.007008, -0.007214, -0.007274, -0.007326, \
                 -0.007341, -0.00736, -0.007364, -0.00737");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004749, 0.004748, 0.004772, 0.004765, 0.004775, 0.004788, 0.004782, \
                 0.004787, 0.004783, 0.004783");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004773, -0.004944, -0.005162, -0.00525, -0.005293, -0.005331, \
                 -0.00534, -0.005352, -0.005366, -0.005378");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004919, 0.004933, 0.004932, 0.004953, 0.004952, 0.004966, 0.004963, \
                 0.004963, 0.004963, 0.004962");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005004, -0.004978, -0.004973, -0.004952, -0.004939, -0.004934, \
                 -0.00492, -0.004915, -0.004909, -0.004913");
        }
      }

      internal_power() {
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004927, 0.004935, 0.004934, 0.004954, 0.00495, 0.004969, 0.004965, \
                 0.00496, 0.004964, 0.004966");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004723, -0.004698, -0.004689, -0.004673, -0.004651, -0.004652, \
                 -0.004648, -0.004643, -0.00465, -0.004657");
        }
      }
    }

    pin(A3) {
      capacitance : 0.002744 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005206, 0.005193, 0.005202, 0.005205, 0.005199, 0.005207, 0.005183, \
                 0.005165, 0.005133, 0.00509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003128, -0.003132, -0.003147, -0.003154, -0.003153, -0.003169, \
                 -0.003179, -0.003187, -0.003204, -0.003213");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007468, 0.007456, 0.007456, 0.007451, 0.007452, 0.007468, 0.007471, \
                 0.007467, 0.007469, 0.007467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006554, -0.006879, -0.007132, -0.007235, -0.007277, -0.007327, \
                 -0.007336, -0.007354, -0.007364, -0.007372");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004886, 0.004896, 0.004902, 0.004915, 0.004909, 0.004926, 0.004926, \
                 0.004926, 0.004928, 0.004926");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005507, -0.005508, -0.005488, -0.005471, -0.00546, -0.005452, \
                 -0.00545, -0.005452, -0.00546, -0.005481");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007471, 0.007464, 0.007451, 0.00746, 0.007455, 0.007474, 0.007468, \
                 0.007464, 0.007477, 0.007471");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006299, -0.006353, -0.006609, -0.006871, -0.007045, -0.007148, \
                 -0.007201, -0.007236, -0.007256, -0.007275");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004751, 0.004746, 0.00477, 0.004769, 0.00477, 0.004782, 0.004781, \
                 0.004782, 0.004785, 0.004784");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00575, -0.005629, -0.005474, -0.005442, -0.005411, -0.005419, \
                 -0.005416, -0.005421, -0.005432, -0.005445");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007459, 0.007463, 0.007452, 0.007454, 0.007452, 0.007476, 0.007474, \
                 0.007467, 0.007465, 0.007464");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006961, -0.007016, -0.007134, -0.007236, -0.007281, -0.007324, \
                 -0.007341, -0.007352, -0.007364, -0.007372");
        }
      }

      internal_power() {
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004888, 0.004898, 0.004906, 0.004927, 0.004918, 0.004929, 0.004927, \
                 0.00493, 0.004928, 0.004931");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00641, -0.00641, -0.006415, -0.006413, -0.006405, -0.006415, \
                 -0.006421, -0.006416, -0.006418, -0.006417");
        }
      }
    }

    pin(A4) {
      capacitance : 0.002682 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007452, 0.007436, 0.007442, 0.007448, 0.00745, 0.007461, 0.007469, \
                 0.00747, 0.007468, 0.007467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00686, -0.007009, -0.007174, -0.00726, -0.007282, -0.007328, \
                 -0.007342, -0.007356, -0.007364, -0.007371");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00744, 0.007444, 0.007452, 0.007442, 0.007443, 0.00748, 0.00748, \
                 0.007471, 0.00747, 0.007472");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006368, -0.006523, -0.006807, -0.007004, -0.007112, -0.00718, \
                 -0.007223, -0.007247, -0.007268, -0.007281");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007447, 0.007438, 0.007463, 0.007456, 0.007463, 0.007484, 0.007479, \
                 0.007469, 0.007468, 0.007464");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006951, -0.007039, -0.007168, -0.00726, -0.007282, -0.007327, \
                 -0.007344, -0.007359, -0.007368, -0.007372");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007443, 0.007445, 0.007451, 0.007443, 0.007456, 0.007477, 0.007478, \
                 0.007469, 0.007471, 0.007467");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006251, -0.006423, -0.006678, -0.006869, -0.007014, -0.007106, \
                 -0.007164, -0.0072, -0.007221, -0.007241");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007446, 0.007438, 0.007451, 0.007447, 0.007445, 0.007479, 0.007467, \
                 0.007466, 0.007465, 0.007465");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006862, -0.007006, -0.007168, -0.007259, -0.007282, -0.007335, \
                 -0.00734, -0.00736, -0.007362, -0.007373");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007453, 0.007444, 0.007452, 0.007456, 0.007458, 0.007477, 0.007473, \
                 0.007469, 0.007469, 0.007472");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006366, -0.006522, -0.006807, -0.007, -0.007107, -0.007183, \
                 -0.007226, -0.007247, -0.00727, -0.00728");
        }
      }

      internal_power() {
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.007438, 0.00744, 0.007448, 0.007457, 0.007463, 0.007468, 0.007481, \
                 0.00747, 0.007464, 0.007466");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006946, -0.007041, -0.007172, -0.00726, -0.007283, -0.007332, \
                 -0.007342, -0.007356, -0.007366, -0.007374");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2|A3|A4)" ;
      max_capacitance : 0.3598 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.133, 0.1287, 0.1192, 0.1109, 0.1055, 0.102, 0.09951, 0.09771, 0.09644, 0.0955",\
                 "0.1325, 0.1282, 0.1187, 0.1105, 0.1051, 0.1015, 0.09901, 0.09726, 0.09598, 0.09504",\
                 "0.1325, 0.1281, 0.1186, 0.1104, 0.105, 0.1014, 0.09894, 0.09718, 0.09592, 0.09499",\
                 "0.1344, 0.1301, 0.1206, 0.1124, 0.1071, 0.1035, 0.1011, 0.09933, 0.09807, 0.09715",\
                 "0.1391, 0.1348, 0.1253, 0.1172, 0.1117, 0.1082, 0.1057, 0.104, 0.1028, 0.1018",\
                 "0.1491, 0.1446, 0.1347, 0.1259, 0.1201, 0.1162, 0.1135, 0.1117, 0.1103, 0.1093",\
                 "0.1636, 0.1589, 0.1482, 0.1385, 0.1319, 0.1275, 0.1245, 0.1224, 0.1209, 0.1197",\
                 "0.1815, 0.1766, 0.1651, 0.1545, 0.1471, 0.1421, 0.1387, 0.1363, 0.1345, 0.1333",\
                 "0.204, 0.1987, 0.1864, 0.1746, 0.1663, 0.1606, 0.1566, 0.1538, 0.1517, 0.1502",\
                 "0.2314, 0.2259, 0.2127, 0.1996, 0.1902, 0.1835, 0.1788, 0.1754, 0.173, 0.1712");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.04389, 0.04371, 0.04391, 0.04434, 0.04506, 0.04595, 0.04667, 0.0471, 0.04782, 0.05152",\
                 "0.04408, 0.04395, 0.04423, 0.04477, 0.04546, 0.04612, 0.04703, 0.04753, 0.04836, 0.05209",\
                 "0.04565, 0.04518, 0.04501, 0.04529, 0.04612, 0.04681, 0.04746, 0.04795, 0.04906, 0.05355",\
                 "0.04975, 0.04906, 0.04802, 0.04783, 0.04807, 0.04879, 0.04931, 0.05003, 0.05133, 0.05492",\
                 "0.05616, 0.05498, 0.05294, 0.05212, 0.0519, 0.05209, 0.05264, 0.053, 0.05394, 0.05818",\
                 "0.06544, 0.06372, 0.06086, 0.05879, 0.05843, 0.05826, 0.05815, 0.05868, 0.06003, 0.06479",\
                 "0.07794, 0.07576, 0.07177, 0.06876, 0.06724, 0.06717, 0.06713, 0.06709, 0.06724, 0.07334",\
                 "0.09393, 0.09135, 0.08642, 0.08242, 0.07922, 0.07833, 0.07851, 0.07934, 0.07924, 0.08571",\
                 "0.1136, 0.1106, 0.1047, 0.09961, 0.09539, 0.09341, 0.09247, 0.09346, 0.09417, 0.1036",\
                 "0.1373, 0.1336, 0.1265, 0.1208, 0.1155, 0.1129, 0.1099, 0.1099, 0.1119, 0.1257");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.1385, 0.1342, 0.1247, 0.1164, 0.111, 0.1074, 0.1049, 0.1031, 0.1018, 0.1009",\
                 "0.138, 0.1337, 0.1242, 0.1159, 0.1105, 0.1069, 0.1044, 0.1026, 0.1014, 0.1004",\
                 "0.1373, 0.1329, 0.1234, 0.1152, 0.1098, 0.1062, 0.1037, 0.1019, 0.1006, 0.09971",\
                 "0.1381, 0.1337, 0.1242, 0.1159, 0.1105, 0.1069, 0.1044, 0.1026, 0.1014, 0.1004",\
                 "0.143, 0.1386, 0.1289, 0.1204, 0.1148, 0.1111, 0.1085, 0.1067, 0.1054, 0.1044",\
                 "0.153, 0.1486, 0.1383, 0.1294, 0.1234, 0.1194, 0.1166, 0.1146, 0.1132, 0.1122",\
                 "0.1668, 0.1621, 0.1517, 0.142, 0.1355, 0.1311, 0.1281, 0.1259, 0.1244, 0.1232",\
                 "0.185, 0.1802, 0.169, 0.1587, 0.1516, 0.1468, 0.1434, 0.1409, 0.1392, 0.1379",\
                 "0.2087, 0.2037, 0.1918, 0.1804, 0.1724, 0.1668, 0.1629, 0.1601, 0.158, 0.1565",\
                 "0.2383, 0.2331, 0.2204, 0.2076, 0.1984, 0.1918, 0.1872, 0.1839, 0.1814, 0.1796");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.05032, 0.05001, 0.05005, 0.05041, 0.05104, 0.05172, 0.05231, 0.05287, 0.05394, 0.05694",\
                 "0.05043, 0.05006, 0.05011, 0.05044, 0.051, 0.05182, 0.05244, 0.0531, 0.05387, 0.05694",\
                 "0.05119, 0.05084, 0.05047, 0.05077, 0.0513, 0.05222, 0.05274, 0.05333, 0.054, 0.05741",\
                 "0.05507, 0.05428, 0.05333, 0.05291, 0.05302, 0.05374, 0.05432, 0.05495, 0.05575, 0.05944",\
                 "0.06178, 0.06058, 0.05838, 0.0575, 0.05684, 0.0573, 0.05789, 0.05815, 0.05917, 0.06327",\
                 "0.07136, 0.06978, 0.06654, 0.0644, 0.0641, 0.0637, 0.0636, 0.06392, 0.06438, 0.06922",\
                 "0.08468, 0.0826, 0.07862, 0.07525, 0.07328, 0.07334, 0.07353, 0.07339, 0.07363, 0.07909",\
                 "0.1017, 0.09908, 0.09423, 0.08981, 0.08714, 0.08525, 0.086, 0.08574, 0.08619, 0.09334",\
                 "0.1231, 0.1199, 0.1142, 0.1088, 0.1051, 0.1022, 0.1011, 0.1018, 0.1026, 0.1124",\
                 "0.1486, 0.1449, 0.1381, 0.1318, 0.1268, 0.1229, 0.1205, 0.1195, 0.1221, 0.1364");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.1437, 0.1394, 0.1298, 0.1216, 0.1162, 0.1126, 0.1101, 0.1083, 0.107, 0.1061",\
                 "0.1432, 0.1389, 0.1293, 0.1211, 0.1157, 0.1121, 0.1096, 0.1078, 0.1066, 0.1056",\
                 "0.1424, 0.1381, 0.1285, 0.1203, 0.1149, 0.1113, 0.1088, 0.107, 0.1057, 0.1048",\
                 "0.1423, 0.138, 0.1284, 0.1201, 0.1147, 0.1112, 0.1087, 0.1069, 0.1056, 0.1047",\
                 "0.1461, 0.1417, 0.132, 0.1235, 0.118, 0.1143, 0.1117, 0.1099, 0.1085, 0.1076",\
                 "0.1559, 0.1513, 0.1412, 0.1322, 0.1263, 0.1223, 0.1195, 0.1176, 0.1162, 0.1151",\
                 "0.1705, 0.166, 0.1555, 0.146, 0.1396, 0.1352, 0.1322, 0.1301, 0.1286, 0.1274",\
                 "0.1913, 0.1865, 0.1755, 0.1651, 0.158, 0.1531, 0.1496, 0.1472, 0.1455, 0.1442",\
                 "0.2189, 0.214, 0.2021, 0.1906, 0.1824, 0.1766, 0.1726, 0.1697, 0.1676, 0.1661",\
                 "0.2535, 0.2483, 0.2355, 0.2225, 0.2127, 0.2059, 0.201, 0.1976, 0.1949, 0.193");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.05643, 0.05601, 0.05577, 0.05598, 0.05648, 0.0572, 0.05789, 0.05858, 0.05902, 0.06245",\
                 "0.05632, 0.05586, 0.0557, 0.05598, 0.05641, 0.05727, 0.05775, 0.05854, 0.05935, 0.06245",\
                 "0.05639, 0.0559, 0.05555, 0.05562, 0.05615, 0.05694, 0.05756, 0.05858, 0.05945, 0.06259",\
                 "0.0601, 0.0593, 0.05814, 0.05743, 0.05757, 0.05826, 0.05871, 0.05937, 0.06004, 0.0642",\
                 "0.06694, 0.06572, 0.0634, 0.06235, 0.06159, 0.06186, 0.06214, 0.06274, 0.06339, 0.06802",\
                 "0.07745, 0.07577, 0.07254, 0.07011, 0.06942, 0.06895, 0.06894, 0.0691, 0.06953, 0.07496",\
                 "0.09207, 0.09001, 0.08608, 0.08218, 0.07988, 0.07974, 0.07976, 0.0791, 0.07952, 0.08549",\
                 "0.1113, 0.1087, 0.1037, 0.09895, 0.09542, 0.09393, 0.09392, 0.09395, 0.09407, 0.1007",\
                 "0.1357, 0.1325, 0.1264, 0.1208, 0.1163, 0.1128, 0.1115, 0.1124, 0.1132, 0.1229",\
                 "0.1649, 0.1611, 0.154, 0.1471, 0.1419, 0.1371, 0.1342, 0.1334, 0.1355, 0.1498");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.1488, 0.1445, 0.1349, 0.1267, 0.1213, 0.1177, 0.1152, 0.1135, 0.1122, 0.1113",\
                 "0.1484, 0.144, 0.1345, 0.1263, 0.1209, 0.1173, 0.1148, 0.113, 0.1117, 0.1108",\
                 "0.1475, 0.1432, 0.1337, 0.1254, 0.12, 0.1164, 0.114, 0.1122, 0.1109, 0.1099",\
                 "0.1472, 0.1429, 0.1333, 0.1251, 0.1196, 0.1161, 0.1136, 0.1118, 0.1106, 0.1096",\
                 "0.1499, 0.1455, 0.1358, 0.1275, 0.122, 0.1183, 0.1158, 0.1139, 0.1126, 0.1117",\
                 "0.1589, 0.1545, 0.1445, 0.1357, 0.1299, 0.126, 0.1233, 0.1213, 0.1199, 0.1189",\
                 "0.1746, 0.1701, 0.1597, 0.1502, 0.1439, 0.1396, 0.1367, 0.1346, 0.1331, 0.132",\
                 "0.1982, 0.1935, 0.1825, 0.1721, 0.1649, 0.1601, 0.1566, 0.1542, 0.1524, 0.1512",\
                 "0.2301, 0.225, 0.2132, 0.2014, 0.1931, 0.1872, 0.183, 0.1801, 0.178, 0.1764",\
                 "0.2697, 0.2643, 0.2513, 0.2381, 0.2281, 0.221, 0.2159, 0.2124, 0.2097, 0.2076");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.06182, 0.06132, 0.06112, 0.06127, 0.06167, 0.06252, 0.06301, 0.0636, 0.06464, 0.06757",\
                 "0.06134, 0.06094, 0.06059, 0.06084, 0.06137, 0.06193, 0.06261, 0.06327, 0.06454, 0.06715",\
                 "0.06111, 0.06055, 0.05999, 0.06012, 0.06068, 0.06124, 0.06199, 0.06251, 0.06345, 0.06705",\
                 "0.06466, 0.06391, 0.06252, 0.0617, 0.06183, 0.06236, 0.06285, 0.0636, 0.06434, 0.06833",\
                 "0.07177, 0.07048, 0.06819, 0.06685, 0.06593, 0.06612, 0.06661, 0.06697, 0.06766, 0.07159",\
                 "0.0833, 0.08154, 0.0779, 0.0754, 0.07474, 0.07401, 0.07383, 0.07406, 0.07439, 0.08",\
                 "0.09984, 0.09753, 0.09329, 0.08939, 0.08685, 0.08635, 0.08585, 0.08555, 0.08659, 0.0925",\
                 "0.1219, 0.119, 0.1136, 0.1087, 0.105, 0.1028, 0.1027, 0.1023, 0.1027, 0.1097",\
                 "0.1498, 0.1464, 0.1401, 0.1335, 0.1287, 0.1251, 0.1233, 0.1242, 0.1243, 0.1347",\
                 "0.1841, 0.1798, 0.1723, 0.1647, 0.1587, 0.154, 0.1508, 0.1495, 0.1517, 0.1675");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.9056, 0.9662, 1.128, 1.359, 1.646, 1.99, 2.393, 2.868, 3.427, 4.081",\
                 "0.9097, 0.9704, 1.132, 1.363, 1.651, 1.994, 2.397, 2.872, 3.431, 4.085",\
                 "0.9566, 1.017, 1.179, 1.41, 1.697, 2.04, 2.444, 2.919, 3.477, 4.131",\
                 "1.086, 1.147, 1.309, 1.54, 1.827, 2.17, 2.574, 3.049, 3.607, 4.261",\
                 "1.312, 1.373, 1.535, 1.765, 2.052, 2.394, 2.798, 3.273, 3.832, 4.486",\
                 "1.636, 1.696, 1.856, 2.085, 2.372, 2.714, 3.118, 3.593, 4.152, 4.805",\
                 "2.033, 2.094, 2.257, 2.487, 2.776, 3.12, 3.524, 3.999, 4.558, 5.212",\
                 "2.511, 2.573, 2.738, 2.971, 3.26, 3.606, 4.013, 4.49, 5.049, 5.704",\
                 "3.076, 3.141, 3.31, 3.546, 3.837, 4.184, 4.591, 5.07, 5.631, 6.286",\
                 "3.731, 3.8, 3.975, 4.215, 4.509, 4.86, 5.269, 5.748, 6.309, 6.966");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.2509, 0.2896, 0.4116, 0.6364, 0.9854, 1.473, 2.116, 2.926, 3.912, 5.092",\
                 "0.2655, 0.3042, 0.4265, 0.6511, 1, 1.488, 2.131, 2.94, 3.927, 5.107",\
                 "0.3162, 0.3544, 0.4757, 0.7001, 1.049, 1.538, 2.18, 2.988, 3.978, 5.154",\
                 "0.3731, 0.4128, 0.5347, 0.7583, 1.106, 1.594, 2.237, 3.045, 4.035, 5.213",\
                 "0.3921, 0.4342, 0.559, 0.7812, 1.128, 1.615, 2.258, 3.066, 4.053, 5.231",\
                 "0.3629, 0.4077, 0.5377, 0.7601, 1.105, 1.592, 2.232, 3.041, 4.029, 5.206",\
                 "0.277, 0.3248, 0.4606, 0.6859, 1.031, 1.516, 2.156, 2.963, 3.948, 5.127",\
                 "0.1287, 0.18, 0.3232, 0.5529, 0.8975, 1.384, 2.023, 2.83, 3.815, 4.99",\
                 "-0.0869, -0.032, 0.1189, 0.3546, 0.7008, 1.189, 1.83, 2.636, 3.62, 4.795",\
                 "-0.3749, -0.3165, -0.1575, 0.086, 0.434, 0.9252, 1.568, 2.377, 3.361, 4.535");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.2939, 0.3529, 0.509, 0.7432, 1.06, 1.474, 2.005, 2.687, 3.549, 4.592",\
                 "0.295, 0.3542, 0.5088, 0.742, 1.06, 1.473, 2.007, 2.689, 3.545, 4.596",\
                 "0.2938, 0.3534, 0.5088, 0.7418, 1.06, 1.473, 2.007, 2.688, 3.548, 4.594",\
                 "0.2932, 0.3532, 0.5086, 0.7432, 1.061, 1.473, 2.008, 2.69, 3.546, 4.595",\
                 "0.2908, 0.3502, 0.5068, 0.7418, 1.06, 1.473, 2.005, 2.69, 3.549, 4.594",\
                 "0.2964, 0.3546, 0.5102, 0.7448, 1.063, 1.475, 2.009, 2.691, 3.546, 4.596",\
                 "0.3148, 0.3724, 0.5244, 0.7566, 1.074, 1.483, 2.012, 2.694, 3.552, 4.596",\
                 "0.3324, 0.3916, 0.5418, 0.7698, 1.087, 1.497, 2.025, 2.705, 3.554, 4.602",\
                 "0.3534, 0.413, 0.5644, 0.7866, 1.101, 1.509, 2.037, 2.717, 3.566, 4.606",\
                 "0.3806, 0.4414, 0.5946, 0.8136, 1.123, 1.526, 2.051, 2.726, 3.578, 4.614");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.1223, 0.1756, 0.3693, 0.7585, 1.371, 2.23, 3.363, 4.788, 6.531, 8.609",\
                 "0.1221, 0.1758, 0.369, 0.7579, 1.371, 2.231, 3.364, 4.789, 6.532, 8.611",\
                 "0.1224, 0.1764, 0.3694, 0.7587, 1.371, 2.231, 3.362, 4.79, 6.53, 8.603",\
                 "0.1333, 0.1863, 0.3739, 0.7586, 1.371, 2.23, 3.362, 4.788, 6.534, 8.606",\
                 "0.1476, 0.201, 0.3832, 0.7624, 1.373, 2.23, 3.362, 4.793, 6.529, 8.602",\
                 "0.166, 0.2192, 0.3974, 0.7668, 1.373, 2.231, 3.366, 4.786, 6.531, 8.606",\
                 "0.1868, 0.2412, 0.4176, 0.7764, 1.378, 2.233, 3.361, 4.791, 6.524, 8.599",\
                 "0.2104, 0.2644, 0.4428, 0.7922, 1.388, 2.24, 3.371, 4.787, 6.533, 8.601",\
                 "0.234, 0.2916, 0.4704, 0.8116, 1.404, 2.257, 3.377, 4.791, 6.524, 8.599",\
                 "0.2614, 0.3198, 0.5008, 0.8346, 1.417, 2.274, 3.397, 4.807, 6.533, 8.597");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("1.068, 1.129, 1.29, 1.521, 1.808, 2.151, 2.555, 3.03, 3.589, 4.243",\
                 "1.072, 1.133, 1.294, 1.525, 1.813, 2.156, 2.559, 3.034, 3.593, 4.247",\
                 "1.097, 1.158, 1.319, 1.55, 1.837, 2.18, 2.584, 3.059, 3.618, 4.272",\
                 "1.174, 1.234, 1.396, 1.627, 1.914, 2.257, 2.661, 3.136, 3.695, 4.348",\
                 "1.343, 1.403, 1.565, 1.795, 2.082, 2.425, 2.828, 3.303, 3.862, 4.516",\
                 "1.604, 1.665, 1.829, 2.06, 2.35, 2.693, 3.097, 3.572, 4.13, 4.784",\
                 "1.95, 2.013, 2.179, 2.414, 2.706, 3.052, 3.458, 3.933, 4.492, 5.146",\
                 "2.384, 2.448, 2.617, 2.854, 3.149, 3.498, 3.907, 4.385, 4.945, 5.599",\
                 "2.908, 2.973, 3.145, 3.387, 3.684, 4.036, 4.447, 4.927, 5.489, 6.143",\
                 "3.514, 3.583, 3.761, 4.01, 4.313, 4.669, 5.084, 5.565, 6.128, 6.785");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.2742, 0.3132, 0.4356, 0.6607, 1.009, 1.498, 2.14, 2.949, 3.936, 5.109",\
                 "0.2884, 0.3273, 0.4497, 0.6746, 1.024, 1.512, 2.154, 2.963, 3.95, 5.127",\
                 "0.3387, 0.3773, 0.4992, 0.7237, 1.073, 1.561, 2.203, 3.011, 3.997, 5.176",\
                 "0.4047, 0.4444, 0.5668, 0.7899, 1.138, 1.626, 2.267, 3.077, 4.064, 5.241",\
                 "0.4353, 0.4772, 0.6022, 0.8243, 1.171, 1.658, 2.299, 3.108, 4.093, 5.272",\
                 "0.4188, 0.4636, 0.5926, 0.8151, 1.16, 1.647, 2.287, 3.096, 4.082, 5.258",\
                 "0.3486, 0.3961, 0.531, 0.7561, 1.101, 1.586, 2.226, 3.033, 4.019, 5.196",\
                 "0.2184, 0.269, 0.4113, 0.6397, 0.986, 1.471, 2.111, 2.917, 3.902, 5.077",\
                 "0.0245, 0.0785, 0.2282, 0.4625, 0.8096, 1.297, 1.938, 2.745, 3.729, 4.903",\
                 "-0.2379, -0.18, -0.0226, 0.2191, 0.5679, 1.058, 1.702, 2.51, 3.496, 4.669");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.2938, 0.353, 0.5088, 0.7418, 1.061, 1.473, 2.005, 2.689, 3.549, 4.592",\
                 "0.2948, 0.3534, 0.5088, 0.7434, 1.06, 1.473, 2.005, 2.69, 3.546, 4.598",\
                 "0.2954, 0.3532, 0.5086, 0.742, 1.061, 1.473, 2.008, 2.689, 3.548, 4.592",\
                 "0.2956, 0.3536, 0.5086, 0.7422, 1.062, 1.473, 2.008, 2.688, 3.546, 4.595",\
                 "0.2946, 0.3538, 0.5096, 0.7432, 1.061, 1.474, 2.009, 2.69, 3.55, 4.592",\
                 "0.3064, 0.366, 0.5204, 0.7522, 1.067, 1.478, 2.01, 2.694, 3.549, 4.598",\
                 "0.3154, 0.376, 0.5344, 0.7668, 1.082, 1.49, 2.018, 2.697, 3.552, 4.598",\
                 "0.3272, 0.3892, 0.5482, 0.7812, 1.097, 1.506, 2.031, 2.707, 3.557, 4.602",\
                 "0.3452, 0.408, 0.5696, 0.8012, 1.115, 1.522, 2.046, 2.721, 3.568, 4.612",\
                 "0.3722, 0.4372, 0.602, 0.8346, 1.144, 1.549, 2.065, 2.736, 3.58, 4.616");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.1238, 0.1779, 0.3709, 0.7593, 1.372, 2.231, 3.363, 4.789, 6.531, 8.596",\
                 "0.1246, 0.1785, 0.3709, 0.7591, 1.372, 2.231, 3.362, 4.788, 6.528, 8.602",\
                 "0.1246, 0.1784, 0.3714, 0.7594, 1.372, 2.23, 3.363, 4.784, 6.525, 8.602",\
                 "0.1331, 0.1866, 0.375, 0.7612, 1.371, 2.231, 3.363, 4.788, 6.527, 8.604",\
                 "0.1478, 0.201, 0.3838, 0.7622, 1.374, 2.23, 3.36, 4.787, 6.526, 8.602",\
                 "0.1654, 0.2186, 0.3972, 0.7678, 1.374, 2.232, 3.366, 4.786, 6.528, 8.601",\
                 "0.1856, 0.2392, 0.416, 0.7774, 1.379, 2.235, 3.363, 4.788, 6.525, 8.6",\
                 "0.2086, 0.2618, 0.4388, 0.7922, 1.39, 2.242, 3.367, 4.787, 6.535, 8.596",\
                 "0.2314, 0.2874, 0.4656, 0.811, 1.404, 2.258, 3.379, 4.793, 6.525, 8.597",\
                 "0.259, 0.3156, 0.4976, 0.8336, 1.422, 2.277, 3.4, 4.809, 6.535, 8.599");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("1.162, 1.223, 1.385, 1.615, 1.903, 2.246, 2.649, 3.124, 3.683, 4.337",\
                 "1.167, 1.228, 1.389, 1.62, 1.907, 2.251, 2.654, 3.129, 3.688, 4.341",\
                 "1.191, 1.251, 1.413, 1.643, 1.931, 2.274, 2.678, 3.153, 3.712, 4.365",\
                 "1.242, 1.302, 1.464, 1.695, 1.982, 2.326, 2.729, 3.204, 3.763, 4.417",\
                 "1.359, 1.42, 1.581, 1.811, 2.098, 2.441, 2.845, 3.32, 3.878, 4.533",\
                 "1.567, 1.629, 1.793, 2.025, 2.313, 2.657, 3.061, 3.537, 4.095, 4.749",\
                 "1.871, 1.934, 2.1, 2.336, 2.628, 2.974, 3.38, 3.856, 4.415, 5.069",\
                 "2.269, 2.333, 2.501, 2.739, 3.034, 3.383, 3.792, 4.27, 4.83, 5.484",\
                 "2.748, 2.815, 2.988, 3.231, 3.531, 3.884, 4.295, 4.775, 5.337, 5.993",\
                 "3.305, 3.373, 3.554, 3.807, 4.113, 4.474, 4.891, 5.374, 5.937, 6.594");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.2857, 0.3255, 0.4498, 0.6761, 1.026, 1.515, 2.157, 2.966, 3.952, 5.129",\
                 "0.2995, 0.3393, 0.4636, 0.6901, 1.04, 1.528, 2.171, 2.98, 3.967, 5.141",\
                 "0.3498, 0.3892, 0.5128, 0.7388, 1.088, 1.577, 2.22, 3.028, 4.015, 5.192",\
                 "0.4219, 0.4621, 0.5854, 0.8094, 1.158, 1.646, 2.289, 3.097, 4.083, 5.261",\
                 "0.4606, 0.5031, 0.6289, 0.8522, 1.199, 1.686, 2.328, 3.137, 4.123, 5.3",\
                 "0.4548, 0.4997, 0.63, 0.8533, 1.199, 1.686, 2.326, 3.134, 4.121, 5.296",\
                 "0.3965, 0.4448, 0.5811, 0.8064, 1.151, 1.637, 2.278, 3.085, 4.071, 5.247",\
                 "0.2822, 0.3333, 0.4762, 0.7061, 1.053, 1.539, 2.179, 2.985, 3.97, 5.145",\
                 "0.1074, 0.1622, 0.3124, 0.548, 0.8964, 1.385, 2.026, 2.833, 3.818, 4.992",\
                 "-0.1321, -0.0733, 0.0856, 0.3279, 0.6792, 1.169, 1.815, 2.624, 3.609, 4.783");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.2952, 0.3534, 0.5088, 0.7436, 1.06, 1.473, 2.005, 2.688, 3.546, 4.594",\
                 "0.295, 0.353, 0.5088, 0.7422, 1.06, 1.473, 2.004, 2.687, 3.546, 4.596",\
                 "0.295, 0.3532, 0.509, 0.7434, 1.061, 1.474, 2.005, 2.687, 3.547, 4.598",\
                 "0.2954, 0.355, 0.5092, 0.7434, 1.06, 1.474, 2.006, 2.691, 3.546, 4.594",\
                 "0.295, 0.3542, 0.5102, 0.7434, 1.062, 1.474, 2.006, 2.689, 3.548, 4.596",\
                 "0.306, 0.3658, 0.522, 0.7528, 1.068, 1.478, 2.011, 2.691, 3.547, 4.599",\
                 "0.314, 0.374, 0.5338, 0.7668, 1.083, 1.49, 2.02, 2.697, 3.553, 4.594",\
                 "0.3254, 0.3872, 0.548, 0.7826, 1.098, 1.507, 2.032, 2.709, 3.558, 4.6",\
                 "0.348, 0.4146, 0.5746, 0.8074, 1.121, 1.527, 2.052, 2.723, 3.568, 4.61",\
                 "0.3794, 0.4456, 0.6134, 0.849, 1.161, 1.564, 2.077, 2.743, 3.582, 4.616");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.1281, 0.1822, 0.3757, 0.7627, 1.373, 2.232, 3.363, 4.787, 6.528, 8.607",\
                 "0.1271, 0.182, 0.3755, 0.7641, 1.374, 2.232, 3.363, 4.788, 6.528, 8.601",\
                 "0.1267, 0.1813, 0.3751, 0.7626, 1.374, 2.232, 3.362, 4.787, 6.53, 8.606",\
                 "0.1357, 0.189, 0.3779, 0.7626, 1.373, 2.231, 3.363, 4.788, 6.522, 8.602",\
                 "0.15, 0.2036, 0.3864, 0.7652, 1.374, 2.232, 3.363, 4.786, 6.524, 8.601",\
                 "0.1676, 0.2216, 0.4004, 0.7706, 1.378, 2.233, 3.361, 4.787, 6.525, 8.6",\
                 "0.1874, 0.2414, 0.4196, 0.7816, 1.384, 2.238, 3.364, 4.796, 6.525, 8.597",\
                 "0.2108, 0.2662, 0.4442, 0.797, 1.397, 2.246, 3.372, 4.788, 6.526, 8.612",\
                 "0.2372, 0.2922, 0.4712, 0.817, 1.412, 2.264, 3.384, 4.795, 6.528, 8.597",\
                 "0.2646, 0.3226, 0.5022, 0.8416, 1.429, 2.288, 3.407, 4.816, 6.543, 8.6");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("1.201, 1.262, 1.423, 1.654, 1.941, 2.284, 2.688, 3.163, 3.722, 4.375",\
                 "1.208, 1.269, 1.431, 1.661, 1.949, 2.292, 2.696, 3.171, 3.729, 4.383",\
                 "1.234, 1.295, 1.457, 1.687, 1.975, 2.318, 2.721, 3.196, 3.755, 4.409",\
                 "1.276, 1.337, 1.499, 1.729, 2.017, 2.36, 2.763, 3.238, 3.797, 4.451",\
                 "1.362, 1.423, 1.585, 1.815, 2.102, 2.445, 2.848, 3.324, 3.882, 4.536",\
                 "1.535, 1.597, 1.76, 1.992, 2.28, 2.623, 3.027, 3.503, 4.061, 4.715",\
                 "1.81, 1.872, 2.038, 2.272, 2.563, 2.909, 3.314, 3.791, 4.349, 5.003",\
                 "2.185, 2.248, 2.416, 2.652, 2.946, 3.296, 3.704, 4.181, 4.741, 5.396",\
                 "2.639, 2.704, 2.879, 3.121, 3.422, 3.775, 4.186, 4.666, 5.227, 5.882",\
                 "3.164, 3.233, 3.415, 3.669, 3.978, 4.341, 4.759, 5.242, 5.806, 6.462");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.2879, 0.3283, 0.4549, 0.6837, 1.035, 1.525, 2.168, 2.977, 3.964, 5.141",\
                 "0.3014, 0.3418, 0.4682, 0.6969, 1.048, 1.538, 2.181, 2.99, 3.977, 5.153",\
                 "0.3526, 0.3926, 0.5177, 0.746, 1.097, 1.587, 2.23, 3.039, 4.026, 5.203",\
                 "0.4286, 0.4694, 0.5937, 0.8192, 1.169, 1.658, 2.301, 3.11, 4.096, 5.274",\
                 "0.4726, 0.5155, 0.6429, 0.8676, 1.215, 1.704, 2.346, 3.154, 4.142, 5.318",\
                 "0.4736, 0.519, 0.6503, 0.8758, 1.223, 1.71, 2.352, 3.16, 4.147, 5.323",\
                 "0.4244, 0.4732, 0.6111, 0.8388, 1.186, 1.672, 2.313, 3.12, 4.107, 5.283",\
                 "0.3202, 0.3724, 0.518, 0.7509, 1.099, 1.587, 2.228, 3.035, 4.021, 5.195",\
                 "0.1589, 0.215, 0.369, 0.6069, 0.9584, 1.45, 2.093, 2.902, 3.887, 5.06",\
                 "-0.0649, -0.0041, 0.1586, 0.4057, 0.7617, 1.256, 1.905, 2.715, 3.701, 4.875");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.295, 0.3532, 0.5088, 0.742, 1.061, 1.473, 2.007, 2.688, 3.548, 4.596",\
                 "0.2952, 0.3538, 0.5088, 0.742, 1.06, 1.473, 2.007, 2.688, 3.545, 4.593",\
                 "0.2952, 0.3532, 0.5086, 0.7418, 1.06, 1.472, 2.008, 2.688, 3.546, 4.595",\
                 "0.294, 0.3532, 0.5086, 0.7434, 1.061, 1.474, 2.005, 2.687, 3.549, 4.596",\
                 "0.294, 0.3534, 0.5092, 0.743, 1.061, 1.474, 2.009, 2.691, 3.545, 4.596",\
                 "0.303, 0.3628, 0.5186, 0.7498, 1.066, 1.478, 2.011, 2.69, 3.549, 4.597",\
                 "0.3096, 0.3718, 0.5298, 0.763, 1.079, 1.487, 2.017, 2.696, 3.549, 4.594",\
                 "0.3244, 0.3858, 0.5472, 0.778, 1.097, 1.503, 2.031, 2.707, 3.556, 4.602",\
                 "0.3518, 0.4154, 0.577, 0.8088, 1.122, 1.528, 2.049, 2.72, 3.566, 4.607",\
                 "0.3856, 0.4518, 0.621, 0.8574, 1.168, 1.572, 2.084, 2.748, 3.582, 4.616");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003476, 0.01217, 0.02877, 0.05463, 0.09091, 0.1387, 0.1988, 0.2722, 0.3598");
          values("0.1301, 0.1858, 0.3809, 0.7685, 1.379, 2.235, 3.365, 4.786, 6.528, 8.6",\
                 "0.1304, 0.1857, 0.3806, 0.7684, 1.379, 2.235, 3.365, 4.787, 6.529, 8.603",\
                 "0.1287, 0.1842, 0.3797, 0.7676, 1.378, 2.236, 3.365, 4.79, 6.528, 8.601",\
                 "0.1374, 0.1916, 0.3816, 0.7672, 1.378, 2.235, 3.365, 4.787, 6.53, 8.603",\
                 "0.1522, 0.2062, 0.3908, 0.7702, 1.379, 2.234, 3.363, 4.79, 6.529, 8.602",\
                 "0.1708, 0.225, 0.4058, 0.7766, 1.381, 2.238, 3.365, 4.789, 6.526, 8.602",\
                 "0.1928, 0.2468, 0.426, 0.789, 1.391, 2.242, 3.368, 4.793, 6.526, 8.602",\
                 "0.2198, 0.2734, 0.4536, 0.8076, 1.404, 2.256, 3.375, 4.791, 6.537, 8.6",\
                 "0.246, 0.302, 0.4834, 0.8306, 1.425, 2.278, 3.391, 4.801, 6.532, 8.609",\
                 "0.2786, 0.3368, 0.5184, 0.8616, 1.447, 2.305, 3.424, 4.825, 6.543, 8.604");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__or4_2) {
    area : 30.732800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "8.96445e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "9.80463e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "8.40411e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "8.40411e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "6.98346e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "6.98346e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "6.98346e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "6.98346e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "5.54697e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "9.80463e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.003998 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03402, 0.03401, 0.03402, 0.03399, 0.03395, 0.03396, 0.03391, \
                 0.03386, 0.03378, 0.03368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005195, -0.005214, -0.005241, -0.005242, -0.005242, -0.005262, \
                 -0.005256, -0.005263, -0.005257, -0.005263");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02334, 0.02334, 0.02333, 0.02331, 0.0233, 0.02331, 0.02327, \
                 0.02324, 0.0232, 0.02314");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005214, -0.005235, -0.005266, -0.005263, -0.005262, -0.005279, \
                 -0.005277, -0.005282, -0.005276, -0.005283");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02334, 0.02335, 0.02334, 0.02332, 0.02329, 0.02331, 0.02327, \
                 0.02324, 0.02321, 0.02314");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005213, -0.00524, -0.005254, -0.005259, -0.005259, -0.00529, \
                 -0.005283, -0.005283, -0.005281, -0.005283");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01238, 0.01237, 0.01237, 0.01237, 0.01236, 0.01238, 0.01237, \
                 0.01235, 0.01234, 0.0123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005244, -0.005272, -0.005293, -0.005298, -0.005298, -0.005325, \
                 -0.005322, -0.005321, -0.005322, -0.005324");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01237, 0.01237, 0.01238, 0.01237, 0.01236, 0.01238, 0.01237, \
                 0.01235, 0.01234, 0.01231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005247, -0.00528, -0.005304, -0.005301, -0.005305, -0.005327, \
                 -0.005324, -0.005321, -0.005324, -0.005325");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01238, 0.01237, 0.01237, 0.01237, 0.01237, 0.01238, 0.01237, \
                 0.01235, 0.01233, 0.01231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005238, -0.00528, -0.005305, -0.005307, -0.005306, -0.005329, \
                 -0.005325, -0.005325, -0.005322, -0.005325");
        }
      }

      internal_power() {
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01236, 0.01237, 0.01237, 0.01237, 0.01237, 0.01238, 0.01236, \
                 0.01235, 0.01233, 0.01231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005244, -0.005279, -0.005298, -0.005299, -0.00531, -0.005323, \
                 -0.005322, -0.005318, -0.005323, -0.005328");
        }
      }
    }

    pin(A2) {
      capacitance : 0.003895 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02202, 0.022, 0.02203, 0.022, 0.02198, 0.02199, 0.02195, 0.02189, \
                 0.02182, 0.02172");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005845, -0.005847, -0.00588, -0.005904, -0.005899, -0.005922, \
                 -0.005928, -0.005938, -0.005955, -0.005971");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01132, 0.01129, 0.01132, 0.01132, 0.01131, 0.01134, 0.01131, \
                 0.01129, 0.01125, 0.01119");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005952, -0.005944, -0.005966, -0.005989, -0.005994, -0.00601, \
                 -0.006025, -0.006038, -0.006053, -0.006068");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01132, 0.0113, 0.01132, 0.01133, 0.01132, 0.01134, 0.01131, \
                 0.01127, 0.01124, 0.01119");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005948, -0.005949, -0.005966, -0.005991, -0.005988, -0.006022, \
                 -0.006029, -0.006038, -0.00606, -0.006074");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01627, 0.0163, 0.01628, 0.01628, 0.01632, 0.01632, \
                 0.01631, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0132, -0.01396, -0.01529, -0.01575, -0.01587, -0.01596, -0.016, \
                 -0.01604, -0.01605, -0.01607");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009903, 0.00989, 0.00993, 0.00992, 0.009929, 0.009973, 0.009957, \
                 0.009952, 0.009951, 0.009957");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00993, -0.01035, -0.01084, -0.01099, -0.01105, -0.01113, -0.01116, \
                 -0.01119, -0.01122, -0.01123");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01021, 0.01021, 0.01023, 0.01024, 0.01025, 0.01028, 0.01028, \
                 0.01028, 0.01028, 0.01028");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01056, -0.01051, -0.01045, -0.01037, -0.01031, -0.01027, -0.01021, \
                 -0.01016, -0.01014, -0.01011");
        }
      }

      internal_power() {
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01021, 0.01022, 0.01023, 0.01025, 0.01025, 0.01028, 0.01028, \
                 0.01028, 0.01028, 0.01027");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.009826, -0.00977, -0.00971, -0.0096, -0.009536, -0.009511, \
                 -0.009477, -0.009441, -0.009422, -0.009419");
        }
      }
    }

    pin(A3) {
      capacitance : 0.003805 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01026, 0.01025, 0.01026, 0.01027, 0.01025, 0.01026, 0.01024, \
                 0.0102, 0.01014, 0.01007");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006664, -0.006659, -0.00668, -0.006703, -0.006709, -0.006736, \
                 -0.006748, -0.006769, -0.006793, -0.006829");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01632, 0.01632, 0.0163, 0.01628, 0.01629, 0.01633, 0.01633, \
                 0.01631, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0141, -0.01492, -0.01555, -0.01579, -0.01589, -0.01598, -0.01602, \
                 -0.01603, -0.01606, -0.01608");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01023, 0.01023, 0.01024, 0.01025, 0.01027, 0.0103, 0.0103, 0.0103, \
                 0.0103, 0.0103");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01164, -0.01159, -0.01155, -0.01146, -0.01141, -0.01139, -0.01135, \
                 -0.01133, -0.01135, -0.01136");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01633, 0.01631, 0.01632, 0.01629, 0.01628, 0.01632, 0.01633, \
                 0.01631, 0.01632, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01356, -0.0137, -0.01437, -0.01499, -0.01536, -0.01559, -0.01569, \
                 -0.01577, -0.01582, -0.01586");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009903, 0.00989, 0.009916, 0.009934, 0.009929, 0.009955, 0.009952, \
                 0.009949, 0.009951, 0.00996");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01216, -0.01181, -0.01143, -0.01131, -0.01126, -0.01127, -0.01128, \
                 -0.0113, -0.01132, -0.01136");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01631, 0.01632, 0.0163, 0.01629, 0.01627, 0.01633, 0.01633, \
                 0.01632, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01512, -0.01527, -0.01556, -0.0158, -0.01588, -0.01598, -0.01602, \
                 -0.01605, -0.01606, -0.01608");
        }
      }

      internal_power() {
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01022, 0.01024, 0.01025, 0.01027, 0.01026, 0.01031, 0.0103, \
                 0.0103, 0.01029, 0.0103");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0139, -0.01387, -0.01386, -0.01379, -0.01378, -0.01383, -0.01383, \
                 -0.01385, -0.01386, -0.01388");
        }
      }
    }

    pin(A4) {
      capacitance : 0.003877 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01628, 0.01627, 0.01628, 0.01632, 0.01629, 0.01634, 0.01632, \
                 0.0163, 0.01631, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01485, -0.01522, -0.01567, -0.01581, -0.0159, -0.01599, -0.01602, \
                 -0.01604, -0.01608, -0.01608");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01625, 0.01626, 0.01627, 0.01628, 0.01632, 0.01633, \
                 0.01632, 0.01633, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01375, -0.01413, -0.01483, -0.01528, -0.0155, -0.01565, -0.01574, \
                 -0.0158, -0.01584, -0.01587");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01627, 0.01626, 0.01629, 0.0163, 0.01633, 0.01632, \
                 0.0163, 0.0163, 0.0163");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01511, -0.0153, -0.01565, -0.01582, -0.01591, -0.016, -0.01601, \
                 -0.01604, -0.01607, -0.01607");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0163, 0.01627, 0.01626, 0.0163, 0.01629, 0.01632, 0.01633, 0.01631, \
                 0.01631, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0135, -0.0139, -0.01454, -0.01497, -0.01528, -0.01547, -0.01561, \
                 -0.01569, -0.01573, -0.01578");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01628, 0.01627, 0.01627, 0.01627, 0.01628, 0.01633, 0.01632, \
                 0.01631, 0.0163, 0.01631");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0149, -0.01522, -0.01566, -0.01583, -0.01591, -0.01599, -0.01602, \
                 -0.01604, -0.01607, -0.01608");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01625, 0.01626, 0.01629, 0.0163, 0.01635, 0.01633, \
                 0.01632, 0.01634, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01375, -0.01414, -0.01483, -0.01528, -0.01551, -0.01565, -0.01575, \
                 -0.01581, -0.01585, -0.01587");
        }
      }

      internal_power() {
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01629, 0.01627, 0.01627, 0.01627, 0.01628, 0.01634, 0.01631, \
                 0.01631, 0.01631, 0.01632");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01511, -0.0153, -0.01565, -0.01582, -0.01589, -0.01599, -0.01601, \
                 -0.01604, -0.01608, -0.01607");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2|A3|A4)" ;
      max_capacitance : 0.7208 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.1999, 0.1911, 0.1743, 0.1626, 0.1559, 0.1516, 0.1488, 0.1468, 0.1454, 0.1444",\
                 "0.1993, 0.1904, 0.1737, 0.162, 0.1553, 0.151, 0.1482, 0.1463, 0.1449, 0.1439",\
                 "0.1991, 0.1903, 0.1735, 0.162, 0.1553, 0.1511, 0.1482, 0.1463, 0.1449, 0.1439",\
                 "0.2017, 0.1929, 0.1763, 0.1648, 0.1582, 0.1542, 0.1514, 0.1496, 0.1483, 0.1473",\
                 "0.2134, 0.2043, 0.1869, 0.1745, 0.1671, 0.1626, 0.1597, 0.1577, 0.1563, 0.1553",\
                 "0.2351, 0.2252, 0.2057, 0.1911, 0.1823, 0.1769, 0.1734, 0.171, 0.1693, 0.1681",\
                 "0.2633, 0.2525, 0.2306, 0.2138, 0.2033, 0.1967, 0.1923, 0.1895, 0.1874, 0.186",\
                 "0.2996, 0.288, 0.2638, 0.2442, 0.2314, 0.2233, 0.2177, 0.2139, 0.2114, 0.2096",\
                 "0.3448, 0.3326, 0.3057, 0.2826, 0.2674, 0.2571, 0.2501, 0.2453, 0.242, 0.2396",\
                 "0.3989, 0.386, 0.3566, 0.3299, 0.3116, 0.2986, 0.2901, 0.2839, 0.2797, 0.2767");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.07938, 0.07793, 0.07686, 0.07726, 0.07836, 0.07985, 0.08101, 0.08225, 0.08541, 0.09108",\
                 "0.07994, 0.07825, 0.07746, 0.07779, 0.07892, 0.08025, 0.08167, 0.08291, 0.08508, 0.09222",\
                 "0.08166, 0.07989, 0.07868, 0.07855, 0.07965, 0.08111, 0.08305, 0.0839, 0.08607, 0.09236",\
                 "0.09014, 0.08756, 0.08432, 0.08274, 0.08308, 0.08408, 0.08563, 0.08687, 0.08871, 0.0969",\
                 "0.103, 0.09931, 0.09399, 0.09135, 0.08988, 0.09035, 0.09137, 0.09248, 0.09435, 0.1036",\
                 "0.1221, 0.1171, 0.1095, 0.1045, 0.1025, 0.102, 0.1014, 0.1027, 0.1046, 0.1154",\
                 "0.1479, 0.141, 0.1312, 0.1231, 0.12, 0.1185, 0.1187, 0.1176, 0.1198, 0.1314",\
                 "0.1808, 0.1722, 0.1598, 0.1497, 0.1429, 0.1397, 0.1397, 0.1393, 0.1403, 0.1556",\
                 "0.2207, 0.2103, 0.1953, 0.1832, 0.1737, 0.1689, 0.166, 0.168, 0.1682, 0.1902",\
                 "0.268, 0.256, 0.2378, 0.2232, 0.2117, 0.2037, 0.199, 0.198, 0.2031, 0.2356");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.212, 0.2031, 0.1861, 0.1745, 0.1677, 0.1633, 0.1604, 0.1585, 0.1571, 0.1561",\
                 "0.2115, 0.2026, 0.1856, 0.1739, 0.1672, 0.1629, 0.16, 0.158, 0.1567, 0.1557",\
                 "0.2106, 0.2017, 0.1847, 0.173, 0.1662, 0.1619, 0.1591, 0.1571, 0.1557, 0.1548",\
                 "0.2125, 0.2036, 0.1864, 0.1746, 0.1676, 0.1632, 0.1604, 0.1584, 0.157, 0.156",\
                 "0.2236, 0.2143, 0.1962, 0.1831, 0.1755, 0.1706, 0.1674, 0.1652, 0.1637, 0.1626",\
                 "0.242, 0.2324, 0.2131, 0.1985, 0.1897, 0.1842, 0.1806, 0.1781, 0.1764, 0.1751",\
                 "0.2686, 0.2585, 0.2376, 0.2212, 0.2111, 0.2046, 0.2002, 0.1974, 0.1952, 0.1938",\
                 "0.3055, 0.2947, 0.2719, 0.2526, 0.2404, 0.2325, 0.2273, 0.2236, 0.221, 0.2192",\
                 "0.3525, 0.341, 0.3155, 0.2935, 0.2788, 0.2689, 0.2621, 0.2573, 0.2541, 0.2516",\
                 "0.4089, 0.3966, 0.3692, 0.3432, 0.3254, 0.3134, 0.3048, 0.299, 0.2948, 0.2917");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.09223, 0.09027, 0.08837, 0.08841, 0.08904, 0.09034, 0.09139, 0.09296, 0.09513, 0.1006",\
                 "0.09224, 0.09022, 0.08841, 0.08818, 0.08931, 0.0907, 0.09162, 0.09296, 0.09579, 0.101",\
                 "0.09303, 0.09115, 0.0891, 0.08857, 0.08967, 0.09097, 0.09222, 0.09362, 0.09612, 0.1026",\
                 "0.1002, 0.09771, 0.09415, 0.09257, 0.09238, 0.09377, 0.09463, 0.09593, 0.09711, 0.1053",\
                 "0.1135, 0.1096, 0.1044, 0.1009, 0.0996, 0.09971, 0.1006, 0.1012, 0.1031, 0.1118",\
                 "0.133, 0.128, 0.1201, 0.1146, 0.1128, 0.1115, 0.1109, 0.1118, 0.1137, 0.1256",\
                 "0.1596, 0.153, 0.1432, 0.1354, 0.1306, 0.1298, 0.1287, 0.1276, 0.1292, 0.1424",\
                 "0.1937, 0.1856, 0.1736, 0.1636, 0.1561, 0.1525, 0.1531, 0.152, 0.1514, 0.1679",\
                 "0.2354, 0.2258, 0.2109, 0.1986, 0.1892, 0.1829, 0.1802, 0.1817, 0.1822, 0.2054",\
                 "0.2851, 0.2735, 0.2562, 0.242, 0.2307, 0.2214, 0.2168, 0.2156, 0.2194, 0.2551");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.2233, 0.2144, 0.1975, 0.1858, 0.179, 0.1746, 0.1717, 0.1698, 0.1684, 0.1674",\
                 "0.2228, 0.2139, 0.1969, 0.1853, 0.1785, 0.1741, 0.1712, 0.1693, 0.1679, 0.1669",\
                 "0.2219, 0.2129, 0.1959, 0.1843, 0.1774, 0.1731, 0.1703, 0.1683, 0.1669, 0.166",\
                 "0.2222, 0.2133, 0.1963, 0.1843, 0.1775, 0.1732, 0.1703, 0.1683, 0.1669, 0.1659",\
                 "0.2309, 0.2216, 0.2037, 0.1908, 0.1833, 0.1785, 0.1754, 0.1732, 0.1717, 0.1705",\
                 "0.248, 0.2384, 0.2194, 0.2051, 0.1967, 0.1912, 0.1877, 0.1852, 0.1835, 0.1823",\
                 "0.2763, 0.2663, 0.2456, 0.2294, 0.2194, 0.2129, 0.2087, 0.2058, 0.2037, 0.2022",\
                 "0.3175, 0.3067, 0.2839, 0.2648, 0.2524, 0.2445, 0.2391, 0.2353, 0.2326, 0.2307",\
                 "0.3698, 0.3585, 0.3333, 0.3108, 0.2957, 0.2857, 0.2787, 0.2739, 0.2704, 0.2679",\
                 "0.4324, 0.4205, 0.3931, 0.3668, 0.3486, 0.3361, 0.3274, 0.3214, 0.317, 0.3137");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.1052, 0.1027, 0.1003, 0.09968, 0.1003, 0.1012, 0.1027, 0.1037, 0.1058, 0.112",\
                 "0.1049, 0.1025, 0.1, 0.09945, 0.09992, 0.101, 0.1026, 0.1037, 0.1052, 0.1117",\
                 "0.1044, 0.1021, 0.09944, 0.09866, 0.09932, 0.1004, 0.1014, 0.103, 0.1049, 0.112",\
                 "0.1104, 0.1075, 0.1036, 0.1014, 0.1014, 0.1025, 0.1031, 0.1047, 0.1058, 0.1142",\
                 "0.1239, 0.1199, 0.1143, 0.1105, 0.1084, 0.1083, 0.1091, 0.1103, 0.1118, 0.122",\
                 "0.1447, 0.1395, 0.1315, 0.1256, 0.1232, 0.1211, 0.1209, 0.1212, 0.1241, 0.1342",\
                 "0.1736, 0.167, 0.1566, 0.1484, 0.1427, 0.1415, 0.1399, 0.139, 0.1406, 0.1537",\
                 "0.2108, 0.2028, 0.1901, 0.1787, 0.1712, 0.1674, 0.1677, 0.1656, 0.1658, 0.183",\
                 "0.2571, 0.2472, 0.2318, 0.2193, 0.2089, 0.2024, 0.1991, 0.1996, 0.1999, 0.2254",\
                 "0.3125, 0.3011, 0.2835, 0.2684, 0.2556, 0.2469, 0.2406, 0.2388, 0.2434, 0.2803");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.2345, 0.2256, 0.2087, 0.197, 0.1902, 0.1858, 0.183, 0.181, 0.1797, 0.1786",\
                 "0.234, 0.2252, 0.2083, 0.1966, 0.1898, 0.1854, 0.1826, 0.1806, 0.1792, 0.1781",\
                 "0.2331, 0.2242, 0.2073, 0.1955, 0.1887, 0.1844, 0.1816, 0.1796, 0.1782, 0.1772",\
                 "0.2328, 0.2239, 0.2069, 0.1951, 0.1883, 0.1839, 0.1811, 0.1791, 0.1777, 0.1767",\
                 "0.2389, 0.2298, 0.2122, 0.1996, 0.1923, 0.1878, 0.1847, 0.1826, 0.1811, 0.1801",\
                 "0.2547, 0.2453, 0.2266, 0.2128, 0.2048, 0.1996, 0.1961, 0.1937, 0.1921, 0.1909",\
                 "0.2848, 0.2749, 0.2545, 0.2384, 0.2286, 0.2222, 0.218, 0.2152, 0.2131, 0.2116",\
                 "0.3316, 0.3209, 0.2979, 0.2784, 0.2659, 0.2577, 0.2521, 0.2481, 0.2453, 0.2434",\
                 "0.3916, 0.38, 0.3545, 0.331, 0.3154, 0.3046, 0.2974, 0.2922, 0.2885, 0.2857",\
                 "0.4635, 0.4514, 0.4233, 0.3958, 0.3764, 0.3631, 0.3538, 0.3473, 0.3424, 0.3387");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.117, 0.1142, 0.1112, 0.11, 0.1103, 0.1112, 0.1126, 0.1136, 0.1148, 0.1213",\
                 "0.1158, 0.1131, 0.1099, 0.1091, 0.1092, 0.1103, 0.1112, 0.1126, 0.1142, 0.1214",\
                 "0.1143, 0.1118, 0.1087, 0.1076, 0.1077, 0.1087, 0.1098, 0.1113, 0.1128, 0.1207",\
                 "0.1198, 0.117, 0.1126, 0.11, 0.1095, 0.1102, 0.1115, 0.1126, 0.1142, 0.1218",\
                 "0.1342, 0.13, 0.1235, 0.1197, 0.1172, 0.1168, 0.1176, 0.1189, 0.1198, 0.129",\
                 "0.1566, 0.1509, 0.1425, 0.1362, 0.1328, 0.1309, 0.1303, 0.1308, 0.1324, 0.143",\
                 "0.1884, 0.1814, 0.1705, 0.1612, 0.1557, 0.1541, 0.1522, 0.1509, 0.1515, 0.1651",\
                 "0.2308, 0.2222, 0.2087, 0.1974, 0.1886, 0.1842, 0.183, 0.1809, 0.1807, 0.1983",\
                 "0.2841, 0.2736, 0.2573, 0.2441, 0.2326, 0.2244, 0.2208, 0.2205, 0.2201, 0.245",\
                 "0.3486, 0.3366, 0.3179, 0.3013, 0.2871, 0.2772, 0.2695, 0.2666, 0.2706, 0.3083");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.6258, 0.6856, 0.8364, 1.048, 1.313, 1.632, 2.016, 2.477, 3.028, 3.679",\
                 "0.6343, 0.6942, 0.8452, 1.056, 1.321, 1.64, 2.024, 2.485, 3.036, 3.688",\
                 "0.6828, 0.7425, 0.8937, 1.105, 1.369, 1.689, 2.073, 2.534, 3.085, 3.736",\
                 "0.802, 0.8616, 1.012, 1.223, 1.488, 1.807, 2.191, 2.652, 3.203, 3.854",\
                 "1.005, 1.063, 1.212, 1.422, 1.686, 2.005, 2.388, 2.85, 3.401, 4.052",\
                 "1.263, 1.324, 1.473, 1.684, 1.949, 2.269, 2.653, 3.114, 3.664, 4.316",\
                 "1.572, 1.635, 1.788, 1.998, 2.265, 2.587, 2.974, 3.436, 3.987, 4.638",\
                 "1.937, 2.002, 2.161, 2.375, 2.643, 2.965, 3.353, 3.817, 4.37, 5.021",\
                 "2.358, 2.427, 2.593, 2.815, 3.085, 3.41, 3.798, 4.262, 4.816, 5.47",\
                 "2.833, 2.906, 3.083, 3.314, 3.592, 3.922, 4.314, 4.779, 5.333, 5.987");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.28, 0.3234, 0.4506, 0.6766, 1.026, 1.517, 2.162, 2.973, 3.966, 5.147",\
                 "0.2955, 0.3387, 0.4663, 0.692, 1.042, 1.532, 2.177, 2.989, 3.981, 5.164",\
                 "0.3493, 0.3923, 0.5192, 0.7447, 1.094, 1.584, 2.229, 3.04, 4.034, 5.215",\
                 "0.4306, 0.4746, 0.602, 0.8257, 1.175, 1.664, 2.31, 3.119, 4.11, 5.291",\
                 "0.4868, 0.5338, 0.6652, 0.8888, 1.236, 1.725, 2.368, 3.181, 4.17, 5.352",\
                 "0.5102, 0.5609, 0.6978, 0.9226, 1.267, 1.755, 2.397, 3.208, 4.2, 5.38",\
                 "0.4946, 0.5489, 0.6927, 0.9207, 1.266, 1.75, 2.393, 3.202, 4.192, 5.374",\
                 "0.4347, 0.4933, 0.6451, 0.8795, 1.225, 1.711, 2.35, 3.159, 4.148, 5.327",\
                 "0.3284, 0.3913, 0.5513, 0.7927, 1.142, 1.629, 2.27, 3.078, 4.065, 5.243",\
                 "0.1731, 0.2406, 0.4089, 0.6585, 1.009, 1.5, 2.146, 2.955, 3.941, 5.119");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.2083, 0.267, 0.4149, 0.639, 0.9474, 1.355, 1.898, 2.603, 3.488, 4.556",\
                 "0.2088, 0.2667, 0.4146, 0.639, 0.9466, 1.357, 1.9, 2.605, 3.486, 4.557",\
                 "0.2079, 0.2667, 0.4146, 0.639, 0.9462, 1.354, 1.9, 2.602, 3.484, 4.562",\
                 "0.2064, 0.2648, 0.4136, 0.6382, 0.9468, 1.356, 1.899, 2.603, 3.485, 4.557",\
                 "0.2074, 0.265, 0.414, 0.6388, 0.9466, 1.355, 1.9, 2.605, 3.489, 4.558",\
                 "0.2286, 0.2832, 0.426, 0.6508, 0.9558, 1.363, 1.905, 2.606, 3.487, 4.558",\
                 "0.247, 0.3046, 0.443, 0.6618, 0.9696, 1.377, 1.917, 2.613, 3.49, 4.563",\
                 "0.2708, 0.331, 0.4696, 0.68, 0.9822, 1.388, 1.927, 2.626, 3.503, 4.57",\
                 "0.3006, 0.3634, 0.5044, 0.7082, 1.003, 1.402, 1.937, 2.635, 3.513, 4.575",\
                 "0.3328, 0.4, 0.5502, 0.7518, 1.041, 1.433, 1.957, 2.648, 3.517, 4.582");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.1012, 0.1582, 0.3475, 0.7333, 1.349, 2.21, 3.348, 4.777, 6.528, 8.604",\
                 "0.1014, 0.1583, 0.3477, 0.733, 1.347, 2.21, 3.347, 4.777, 6.527, 8.609",\
                 "0.1013, 0.1582, 0.3476, 0.7332, 1.347, 2.21, 3.347, 4.78, 6.527, 8.605",\
                 "0.1109, 0.1669, 0.3518, 0.7352, 1.349, 2.211, 3.348, 4.782, 6.532, 8.625",\
                 "0.1266, 0.1824, 0.3642, 0.738, 1.347, 2.21, 3.345, 4.778, 6.532, 8.609",\
                 "0.1452, 0.2016, 0.3806, 0.7432, 1.349, 2.211, 3.349, 4.772, 6.523, 8.607",\
                 "0.168, 0.2242, 0.4032, 0.7558, 1.353, 2.212, 3.345, 4.771, 6.516, 8.601",\
                 "0.193, 0.2512, 0.4306, 0.7744, 1.365, 2.221, 3.347, 4.773, 6.528, 8.601",\
                 "0.2172, 0.2782, 0.461, 0.7996, 1.385, 2.235, 3.356, 4.78, 6.519, 8.612",\
                 "0.2444, 0.307, 0.4918, 0.8282, 1.404, 2.257, 3.381, 4.793, 6.523, 8.599");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.7681, 0.8277, 0.9786, 1.189, 1.454, 1.773, 2.158, 2.619, 3.169, 3.821",\
                 "0.7771, 0.8367, 0.9876, 1.199, 1.463, 1.783, 2.167, 2.628, 3.178, 3.83",\
                 "0.8081, 0.8676, 1.019, 1.23, 1.494, 1.814, 2.198, 2.659, 3.21, 3.861",\
                 "0.8805, 0.94, 1.091, 1.301, 1.566, 1.885, 2.269, 2.731, 3.281, 3.933",\
                 "1.018, 1.079, 1.231, 1.442, 1.707, 2.026, 2.411, 2.872, 3.423, 4.074",\
                 "1.219, 1.281, 1.437, 1.652, 1.921, 2.243, 2.628, 3.089, 3.64, 4.291",\
                 "1.485, 1.549, 1.707, 1.925, 2.197, 2.522, 2.91, 3.374, 3.925, 4.576",\
                 "1.809, 1.875, 2.038, 2.261, 2.536, 2.864, 3.254, 3.719, 4.273, 4.924",\
                 "2.184, 2.253, 2.424, 2.655, 2.936, 3.27, 3.662, 4.129, 4.682, 5.336",\
                 "2.607, 2.68, 2.859, 3.1, 3.392, 3.735, 4.134, 4.604, 5.159, 5.812");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.3208, 0.3644, 0.4921, 0.7181, 1.068, 1.558, 2.201, 3.013, 4.003, 5.184",\
                 "0.3354, 0.379, 0.5068, 0.7328, 1.082, 1.573, 2.216, 3.029, 4.019, 5.198",\
                 "0.3879, 0.4316, 0.5591, 0.7846, 1.134, 1.625, 2.269, 3.081, 4.071, 5.249",\
                 "0.4782, 0.5225, 0.6496, 0.8738, 1.222, 1.712, 2.357, 3.167, 4.158, 5.34",\
                 "0.5516, 0.5979, 0.7291, 0.9524, 1.3, 1.789, 2.432, 3.243, 4.233, 5.415",\
                 "0.5941, 0.6435, 0.779, 1.004, 1.349, 1.836, 2.479, 3.29, 4.279, 5.459",\
                 "0.6001, 0.6537, 0.7959, 1.023, 1.367, 1.852, 2.494, 3.303, 4.294, 5.471",\
                 "0.5676, 0.625, 0.7744, 1.007, 1.352, 1.837, 2.477, 3.286, 4.274, 5.454",\
                 "0.4924, 0.5541, 0.7113, 0.95, 1.298, 1.785, 2.426, 3.233, 4.22, 5.398",\
                 "0.3735, 0.4391, 0.6045, 0.8516, 1.202, 1.693, 2.337, 3.146, 4.132, 5.309");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.208, 0.2668, 0.4149, 0.6394, 0.9464, 1.357, 1.9, 2.603, 3.486, 4.557",\
                 "0.2082, 0.2668, 0.4149, 0.6388, 0.9466, 1.355, 1.899, 2.603, 3.488, 4.556",\
                 "0.2082, 0.2679, 0.415, 0.6402, 0.947, 1.356, 1.9, 2.602, 3.486, 4.56",\
                 "0.2092, 0.2686, 0.4154, 0.6404, 0.9472, 1.358, 1.898, 2.603, 3.488, 4.555",\
                 "0.2174, 0.2772, 0.4234, 0.645, 0.951, 1.358, 1.9, 2.604, 3.488, 4.559",\
                 "0.2274, 0.2884, 0.4384, 0.661, 0.964, 1.368, 1.906, 2.608, 3.489, 4.561",\
                 "0.2404, 0.3016, 0.453, 0.6758, 0.9816, 1.385, 1.921, 2.617, 3.491, 4.559",\
                 "0.2618, 0.3248, 0.4774, 0.6972, 0.999, 1.401, 1.933, 2.628, 3.502, 4.569",\
                 "0.29, 0.3552, 0.5128, 0.7326, 1.031, 1.425, 1.951, 2.641, 3.513, 4.576",\
                 "0.3196, 0.3886, 0.5544, 0.7782, 1.079, 1.471, 1.983, 2.661, 3.521, 4.583");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.104, 0.1611, 0.3504, 0.7347, 1.349, 2.213, 3.344, 4.776, 6.52, 8.612",\
                 "0.104, 0.1605, 0.3502, 0.7346, 1.347, 2.21, 3.346, 4.777, 6.523, 8.606",\
                 "0.1038, 0.1612, 0.3504, 0.7348, 1.347, 2.211, 3.346, 4.776, 6.524, 8.6",\
                 "0.1103, 0.1657, 0.3524, 0.7362, 1.349, 2.211, 3.346, 4.778, 6.528, 8.599",\
                 "0.1244, 0.1812, 0.3638, 0.738, 1.351, 2.211, 3.345, 4.78, 6.523, 8.603",\
                 "0.1426, 0.1986, 0.3794, 0.7434, 1.35, 2.214, 3.35, 4.775, 6.523, 8.604",\
                 "0.1642, 0.2198, 0.3992, 0.7546, 1.355, 2.212, 3.345, 4.782, 6.52, 8.604",\
                 "0.1868, 0.244, 0.4246, 0.7724, 1.366, 2.22, 3.349, 4.775, 6.532, 8.599",\
                 "0.2106, 0.2708, 0.4532, 0.794, 1.385, 2.234, 3.36, 4.778, 6.519, 8.612",\
                 "0.2358, 0.297, 0.4808, 0.8196, 1.404, 2.255, 3.378, 4.794, 6.524, 8.599");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.8535, 0.9135, 1.064, 1.275, 1.54, 1.859, 2.243, 2.704, 3.255, 3.907",\
                 "0.8632, 0.9227, 1.074, 1.285, 1.549, 1.869, 2.253, 2.714, 3.265, 3.916",\
                 "0.8937, 0.9534, 1.104, 1.315, 1.58, 1.899, 2.283, 2.744, 3.295, 3.947",\
                 "0.9443, 1.004, 1.155, 1.365, 1.63, 1.95, 2.334, 2.795, 3.346, 3.997",\
                 "1.035, 1.096, 1.248, 1.459, 1.724, 2.043, 2.427, 2.889, 3.439, 4.09",\
                 "1.181, 1.243, 1.398, 1.614, 1.883, 2.205, 2.59, 3.052, 3.603, 4.254",\
                 "1.395, 1.458, 1.616, 1.836, 2.108, 2.434, 2.823, 3.286, 3.837, 4.489",\
                 "1.663, 1.729, 1.894, 2.12, 2.398, 2.728, 3.119, 3.585, 4.138, 4.789",\
                 "1.973, 2.043, 2.216, 2.453, 2.741, 3.08, 3.476, 3.944, 4.498, 5.151",\
                 "2.321, 2.395, 2.577, 2.826, 3.129, 3.481, 3.888, 4.363, 4.92, 5.573");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.3469, 0.3913, 0.5216, 0.7495, 1.1, 1.59, 2.235, 3.047, 4.038, 5.219",\
                 "0.3609, 0.4055, 0.5355, 0.7635, 1.114, 1.604, 2.249, 3.061, 4.051, 5.232",\
                 "0.4117, 0.4563, 0.586, 0.8137, 1.164, 1.654, 2.299, 3.111, 4.102, 5.283",\
                 "0.5079, 0.5524, 0.6811, 0.9066, 1.256, 1.747, 2.391, 3.203, 4.193, 5.374",\
                 "0.5942, 0.6413, 0.7735, 0.9983, 1.346, 1.834, 2.479, 3.29, 4.281, 5.461",\
                 "0.653, 0.703, 0.8399, 1.065, 1.411, 1.898, 2.541, 3.352, 4.341, 5.521",\
                 "0.6795, 0.7334, 0.8758, 1.104, 1.448, 1.934, 2.576, 3.385, 4.376, 5.555",\
                 "0.6714, 0.7293, 0.8787, 1.111, 1.457, 1.943, 2.583, 3.392, 4.379, 5.558",\
                 "0.6268, 0.6887, 0.8459, 1.085, 1.433, 1.921, 2.562, 3.369, 4.357, 5.535",\
                 "0.5448, 0.6108, 0.7763, 1.023, 1.374, 1.866, 2.51, 3.318, 4.306, 5.483");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.2085, 0.267, 0.4151, 0.6404, 0.9466, 1.357, 1.9, 2.605, 3.487, 4.557",\
                 "0.2091, 0.2686, 0.415, 0.6396, 0.9468, 1.357, 1.898, 2.605, 3.486, 4.556",\
                 "0.2082, 0.267, 0.415, 0.6394, 0.9464, 1.356, 1.899, 2.603, 3.486, 4.559",\
                 "0.2096, 0.2676, 0.4158, 0.6398, 0.9472, 1.356, 1.9, 2.601, 3.488, 4.562",\
                 "0.2164, 0.2754, 0.4224, 0.6446, 0.9508, 1.359, 1.9, 2.602, 3.489, 4.56",\
                 "0.2252, 0.286, 0.4364, 0.6602, 0.9642, 1.368, 1.908, 2.608, 3.49, 4.562",\
                 "0.24, 0.303, 0.4532, 0.6768, 0.9816, 1.385, 1.921, 2.617, 3.495, 4.564",\
                 "0.2634, 0.3282, 0.4834, 0.706, 1.007, 1.406, 1.938, 2.63, 3.5, 4.567",\
                 "0.2916, 0.3606, 0.523, 0.7514, 1.051, 1.445, 1.963, 2.648, 3.513, 4.574",\
                 "0.3234, 0.3944, 0.5676, 0.8042, 1.112, 1.506, 2.016, 2.681, 3.532, 4.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.1088, 0.1668, 0.3565, 0.739, 1.351, 2.216, 3.345, 4.776, 6.523, 8.6",\
                 "0.1088, 0.1664, 0.3564, 0.7393, 1.351, 2.216, 3.346, 4.776, 6.523, 8.604",\
                 "0.1085, 0.1661, 0.3562, 0.7393, 1.351, 2.215, 3.345, 4.776, 6.522, 8.605",\
                 "0.1119, 0.1685, 0.357, 0.739, 1.351, 2.212, 3.346, 4.775, 6.523, 8.602",\
                 "0.127, 0.1828, 0.3672, 0.741, 1.353, 2.216, 3.347, 4.776, 6.521, 8.606",\
                 "0.1452, 0.2008, 0.3818, 0.747, 1.353, 2.212, 3.346, 4.777, 6.519, 8.599",\
                 "0.1666, 0.2218, 0.4016, 0.7582, 1.358, 2.216, 3.347, 4.782, 6.521, 8.599",\
                 "0.1886, 0.2456, 0.4266, 0.7758, 1.369, 2.223, 3.351, 4.777, 6.528, 8.598",\
                 "0.2132, 0.2728, 0.4534, 0.7974, 1.386, 2.239, 3.359, 4.782, 6.522, 8.606",\
                 "0.2398, 0.3006, 0.4834, 0.8242, 1.408, 2.261, 3.381, 4.794, 6.528, 8.601");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.888, 0.9477, 1.099, 1.31, 1.574, 1.893, 2.278, 2.739, 3.289, 3.941",\
                 "0.9004, 0.9603, 1.111, 1.322, 1.587, 1.906, 2.29, 2.751, 3.302, 3.953",\
                 "0.932, 0.9918, 1.143, 1.354, 1.618, 1.938, 2.322, 2.783, 3.334, 3.985",\
                 "0.9743, 1.034, 1.185, 1.396, 1.66, 1.98, 2.364, 2.825, 3.376, 4.027",\
                 "1.04, 1.101, 1.252, 1.464, 1.728, 2.048, 2.432, 2.893, 3.444, 4.095",\
                 "1.151, 1.213, 1.366, 1.582, 1.85, 2.171, 2.556, 3.018, 3.569, 4.22",\
                 "1.322, 1.385, 1.543, 1.761, 2.033, 2.358, 2.746, 3.209, 3.76, 4.411",\
                 "1.539, 1.605, 1.771, 1.999, 2.278, 2.608, 2.999, 3.464, 4.017, 4.668",\
                 "1.79, 1.861, 2.037, 2.277, 2.569, 2.912, 3.311, 3.78, 4.334, 4.986",\
                 "2.073, 2.147, 2.334, 2.587, 2.895, 3.256, 3.671, 4.151, 4.709, 5.363");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.3576, 0.4033, 0.5366, 0.7676, 1.12, 1.612, 2.258, 3.069, 4.061, 5.241",\
                 "0.3704, 0.416, 0.5489, 0.78, 1.133, 1.625, 2.27, 3.082, 4.073, 5.254",\
                 "0.4213, 0.4669, 0.5994, 0.8302, 1.183, 1.675, 2.32, 3.132, 4.123, 5.304",\
                 "0.5226, 0.568, 0.6986, 0.9267, 1.278, 1.77, 2.415, 3.227, 4.217, 5.398",\
                 "0.6196, 0.6673, 0.8009, 1.028, 1.377, 1.867, 2.511, 3.323, 4.313, 5.494",\
                 "0.6911, 0.7418, 0.8801, 1.108, 1.455, 1.943, 2.586, 3.398, 4.387, 5.568",\
                 "0.7348, 0.7895, 0.9331, 1.163, 1.509, 1.997, 2.639, 3.448, 4.438, 5.618",\
                 "0.7499, 0.8086, 0.9597, 1.195, 1.542, 2.028, 2.669, 3.478, 4.466, 5.646",\
                 "0.7346, 0.798, 0.9568, 1.199, 1.549, 2.037, 2.679, 3.487, 4.474, 5.652",\
                 "0.6887, 0.7567, 0.9256, 1.175, 1.529, 2.021, 2.665, 3.475, 4.461, 5.639");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.2086, 0.2673, 0.4154, 0.6388, 0.9462, 1.357, 1.9, 2.605, 3.486, 4.556",\
                 "0.2082, 0.2672, 0.4156, 0.64, 0.9468, 1.357, 1.899, 2.605, 3.488, 4.557",\
                 "0.2086, 0.267, 0.4156, 0.6394, 0.9466, 1.357, 1.9, 2.604, 3.486, 4.556",\
                 "0.2084, 0.2682, 0.4156, 0.6396, 0.9472, 1.357, 1.9, 2.601, 3.488, 4.562",\
                 "0.2136, 0.272, 0.4202, 0.6432, 0.9494, 1.359, 1.901, 2.604, 3.487, 4.557",\
                 "0.2216, 0.2816, 0.4332, 0.6556, 0.9594, 1.365, 1.904, 2.606, 3.486, 4.562",\
                 "0.2376, 0.2992, 0.451, 0.6744, 0.9796, 1.381, 1.916, 2.614, 3.492, 4.564",\
                 "0.2658, 0.3308, 0.487, 0.7108, 1.01, 1.408, 1.938, 2.628, 3.498, 4.567",\
                 "0.2988, 0.3678, 0.5336, 0.7638, 1.069, 1.46, 1.975, 2.652, 3.512, 4.57",\
                 "0.3342, 0.407, 0.5836, 0.8244, 1.14, 1.54, 2.047, 2.704, 3.542, 4.589");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3979, 0.5452, 0.7208");
          values("0.1135, 0.1719, 0.3645, 0.7477, 1.358, 2.216, 3.348, 4.779, 6.525, 8.601",\
                 "0.1132, 0.1708, 0.3645, 0.7478, 1.358, 2.217, 3.352, 4.779, 6.522, 8.605",\
                 "0.1121, 0.1706, 0.3635, 0.747, 1.357, 2.221, 3.348, 4.777, 6.522, 8.605",\
                 "0.1144, 0.1718, 0.3624, 0.7454, 1.357, 2.217, 3.35, 4.779, 6.524, 8.605",\
                 "0.1308, 0.1864, 0.372, 0.747, 1.358, 2.216, 3.349, 4.776, 6.523, 8.603",\
                 "0.1494, 0.2042, 0.3872, 0.7536, 1.359, 2.218, 3.355, 4.778, 6.523, 8.601",\
                 "0.1706, 0.2258, 0.4076, 0.7654, 1.364, 2.22, 3.352, 4.78, 6.523, 8.603",\
                 "0.1948, 0.252, 0.4334, 0.7832, 1.376, 2.228, 3.356, 4.78, 6.523, 8.603",\
                 "0.2222, 0.2796, 0.4624, 0.8072, 1.395, 2.244, 3.365, 4.791, 6.524, 8.605",\
                 "0.2508, 0.3122, 0.4942, 0.8384, 1.42, 2.27, 3.388, 4.799, 6.533, 8.603");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__or4_4) {
    area : 57.075200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&!A4" ;
      value : "0.000157509" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3&A4" ;
      value : "0.0001743126" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&!A4" ;
      value : "0.0001462989" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3&A4" ;
      value : "0.0001462989" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&!A4" ;
      value : "0.0001178892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3&A4" ;
      value : "0.0001178892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&!A4" ;
      value : "0.0001178892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3&A4" ;
      value : "0.0001178892" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&!A4" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3&A4" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&!A4" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3&A4" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&!A4" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3&A4" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&!A4" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3&A4" ;
      value : "8.91561e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001743126" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.00784 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06846, 0.06846, 0.06843, 0.06838, 0.0683, 0.06827, 0.0682, 0.0681, \
                 0.06794, 0.06774");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01044, -0.01047, -0.0105, -0.01052, -0.01051, -0.01056, -0.01055, \
                 -0.01056, -0.01056, -0.01055");
        }
      }

      internal_power() {
        when : "!A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04747, 0.04745, 0.04741, 0.0474, 0.04734, 0.04734, 0.0473, 0.04724, \
                 0.04715, 0.04701");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01048, -0.0105, -0.01054, -0.01055, -0.01055, -0.01059, -0.01059, \
                 -0.0106, -0.0106, -0.01059");
        }
      }

      internal_power() {
        when : "!A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04745, 0.04746, 0.04742, 0.0474, 0.04732, 0.04736, 0.0473, 0.04723, \
                 0.04715, 0.04704");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01047, -0.0105, -0.01054, -0.01055, -0.01056, -0.01059, -0.01059, \
                 -0.0106, -0.0106, -0.0106");
        }
      }

      internal_power() {
        when : "A2&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02593, 0.02589, 0.02587, 0.02588, 0.02582, 0.02588, 0.02587, \
                 0.02582, 0.02579, 0.02573");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01058, -0.01059, -0.01065, -0.01068, -0.01066, -0.0107, -0.0107, \
                 -0.01071, -0.01071, -0.01071");
        }
      }

      internal_power() {
        when : "A2&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0259, 0.02589, 0.02589, 0.02586, 0.02584, 0.02589, 0.02586, \
                 0.02581, 0.0258, 0.02574");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01058, -0.01062, -0.01066, -0.01067, -0.01068, -0.01071, -0.01071, \
                 -0.01072, -0.01071, -0.01072");
        }
      }

      internal_power() {
        when : "A2&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0259, 0.02589, 0.02589, 0.02589, 0.02584, 0.02588, 0.02586, \
                 0.02583, 0.0258, 0.02574");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01058, -0.01062, -0.01066, -0.01067, -0.01069, -0.0107, -0.01071, \
                 -0.01071, -0.01071, -0.01071");
        }
      }

      internal_power() {
        when : "A2&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02589, 0.02588, 0.02587, 0.02586, 0.02583, 0.02588, 0.02586, \
                 0.02582, 0.0258, 0.02573");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01058, -0.01062, -0.01067, -0.01068, -0.01069, -0.01071, -0.01071, \
                 -0.01071, -0.01071, -0.01072");
        }
      }
    }

    pin(A2) {
      capacitance : 0.008109 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04319, 0.04314, 0.04318, 0.04317, 0.0431, 0.0431, 0.04303, 0.04291, \
                 0.04279, 0.0426");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0118, -0.01176, -0.01184, -0.01186, -0.01186, -0.01192, -0.01194, \
                 -0.01196, -0.01199, -0.01203");
        }
      }

      internal_power() {
        when : "!A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02214, 0.02213, 0.02216, 0.02215, 0.02214, 0.02218, 0.02213, \
                 0.02206, 0.022, 0.02189");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.012, -0.01198, -0.01203, -0.01206, -0.01207, -0.01213, -0.01215, \
                 -0.01216, -0.0122, -0.01224");
        }
      }

      internal_power() {
        when : "!A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02214, 0.02213, 0.02218, 0.02217, 0.02215, 0.02216, 0.02214, \
                 0.02208, 0.022, 0.0219");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01198, -0.01198, -0.01203, -0.01206, -0.01206, -0.01213, -0.01215, \
                 -0.01218, -0.01221, -0.01224");
        }
      }

      internal_power() {
        when : "A1&!A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03258, 0.03258, 0.0326, 0.03256, 0.03256, 0.0326, 0.03264, 0.03263, \
                 0.03263, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02653, -0.02801, -0.03064, -0.03148, -0.03176, -0.03194, -0.03204, \
                 -0.03209, -0.03212, -0.03216");
        }
      }

      internal_power() {
        when : "A1&!A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01988, 0.01985, 0.01987, 0.01988, 0.01989, 0.01999, 0.01997, \
                 0.01997, 0.01996, 0.01996");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02002, -0.02081, -0.02173, -0.02204, -0.0222, -0.02235, -0.02239, \
                 -0.02245, -0.0225, -0.02255");
        }
      }

      internal_power() {
        when : "A1&A3&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02059, 0.02056, 0.02066, 0.02065, 0.02068, 0.02074, 0.02072, \
                 0.02073, 0.02073, 0.02072");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02129, -0.02115, -0.02099, -0.02085, -0.02071, -0.02064, -0.02056, \
                 -0.02048, -0.02042, -0.02039");
        }
      }

      internal_power() {
        when : "A1&A3&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02061, 0.02057, 0.02066, 0.02065, 0.02067, 0.02075, 0.02073, \
                 0.02072, 0.02071, 0.02073");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0198, -0.0197, -0.01949, -0.01935, -0.0192, -0.01917, -0.0191, \
                 -0.01904, -0.019, -0.01901");
        }
      }
    }

    pin(A3) {
      capacitance : 0.008867 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0201, 0.02006, 0.02012, 0.02011, 0.02008, 0.02009, 0.02005, \
                 0.01996, 0.01986, 0.01971");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01338, -0.01338, -0.01343, -0.01345, -0.01347, -0.01352, -0.01353, \
                 -0.01357, -0.01362, -0.01368");
        }
      }

      internal_power() {
        when : "!A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03266, 0.03265, 0.03259, 0.03259, 0.03256, 0.03266, 0.03265, \
                 0.03261, 0.03262, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02826, -0.02989, -0.03111, -0.03159, -0.03175, -0.03194, -0.03201, \
                 -0.03207, -0.03211, -0.03213");
        }
      }

      internal_power() {
        when : "!A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02034, 0.02032, 0.02041, 0.02043, 0.02042, 0.0205, 0.02048, \
                 0.02047, 0.02049, 0.02047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02334, -0.02325, -0.02314, -0.02293, -0.0228, -0.02277, -0.02269, \
                 -0.02266, -0.02268, -0.02271");
        }
      }

      internal_power() {
        when : "A1&!A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03268, 0.03264, 0.03262, 0.03254, 0.03256, 0.03267, 0.03266, \
                 0.03259, 0.03262, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02721, -0.02747, -0.02875, -0.03001, -0.03073, -0.03117, -0.03138, \
                 -0.03154, -0.03164, -0.03172");
        }
      }

      internal_power() {
        when : "A1&!A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01988, 0.01979, 0.01991, 0.01993, 0.01994, 0.01998, 0.01998, \
                 0.01997, 0.01998, 0.01996");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02443, -0.0237, -0.02294, -0.02268, -0.02261, -0.02262, -0.02262, \
                 -0.02266, -0.02272, -0.02279");
        }
      }

      internal_power() {
        when : "A1&A2&!A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03263, 0.03264, 0.0326, 0.03258, 0.03257, 0.03264, 0.03266, \
                 0.03263, 0.03262, 0.03263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03028, -0.03052, -0.03114, -0.0316, -0.03176, -0.03196, -0.03202, \
                 -0.03207, -0.03211, -0.03214");
        }
      }

      internal_power() {
        when : "A1&A2&A4" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02035, 0.02032, 0.02042, 0.02038, 0.02042, 0.0205, 0.0205, 0.02048, \
                 0.02048, 0.02047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02791, -0.02788, -0.02781, -0.02773, -0.02768, -0.02776, -0.02773, \
                 -0.02778, -0.0278, -0.02783");
        }
      }
    }

    pin(A4) {
      capacitance : 0.009559 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03257, 0.03256, 0.03256, 0.03255, 0.03255, 0.03262, 0.03265, \
                 0.03258, 0.03263, 0.0326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0297, -0.03045, -0.0313, -0.03166, -0.03181, -0.03198, -0.03201, \
                 -0.03208, -0.03212, -0.03216");
        }
      }

      internal_power() {
        when : "!A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0326, 0.03255, 0.03262, 0.03259, 0.03262, 0.03266, 0.03269, \
                 0.03264, 0.03263, 0.03264");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02742, -0.02831, -0.02969, -0.03055, -0.03101, -0.03128, -0.03149, \
                 -0.03161, -0.03168, -0.03176");
        }
      }

      internal_power() {
        when : "!A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03256, 0.03256, 0.03255, 0.03259, 0.03267, 0.0327, 0.03265, \
                 0.03262, 0.0326, 0.0326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03019, -0.03061, -0.03123, -0.03165, -0.03181, -0.03197, -0.03202, \
                 -0.03208, -0.03214, -0.03215");
        }
      }

      internal_power() {
        when : "A1&!A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0326, 0.0326, 0.03261, 0.03261, 0.03263, 0.03264, 0.03264, 0.03264, \
                 0.03265, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02699, -0.02781, -0.02906, -0.02997, -0.03054, -0.03098, -0.03122, \
                 -0.03137, -0.03147, -0.03157");
        }
      }

      internal_power() {
        when : "A1&!A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03255, 0.03259, 0.03256, 0.03257, 0.03266, 0.03269, 0.03264, \
                 0.03263, 0.0326, 0.03261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02978, -0.03046, -0.03123, -0.03163, -0.03181, -0.03199, -0.03201, \
                 -0.03207, -0.03213, -0.03215");
        }
      }

      internal_power() {
        when : "A1&A2&!A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03258, 0.03263, 0.03264, 0.03257, 0.03267, 0.03268, 0.03267, \
                 0.03266, 0.03259, 0.03265");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02741, -0.02831, -0.0297, -0.03055, -0.03099, -0.03128, -0.0315, \
                 -0.03161, -0.03167, -0.03176");
        }
      }

      internal_power() {
        when : "A1&A2&A3" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03256, 0.03261, 0.03254, 0.03263, 0.03257, 0.03264, 0.0326, \
                 0.0326, 0.0326, 0.03262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.03019, -0.03062, -0.03124, -0.03162, -0.03181, -0.03197, -0.03202, \
                 -0.03209, -0.03213, -0.03216");
        }
      }
    }

    pin(Z) {
      direction : output ;
      function : "(A1|A2|A3|A4)" ;
      max_capacitance : 1.44 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.4085, 0.3903, 0.3559, 0.3323, 0.3188, 0.3102, 0.3045, 0.3007, 0.298, 0.296",\
                 "0.4072, 0.389, 0.3547, 0.3311, 0.3176, 0.3091, 0.3035, 0.2996, 0.2968, 0.2948",\
                 "0.4069, 0.3886, 0.3543, 0.331, 0.3176, 0.3091, 0.3034, 0.2996, 0.297, 0.295",\
                 "0.4119, 0.3938, 0.3597, 0.3367, 0.3235, 0.3154, 0.3099, 0.3062, 0.3036, 0.3017",\
                 "0.4356, 0.4168, 0.3811, 0.3561, 0.3413, 0.3323, 0.3265, 0.3226, 0.3198, 0.3178",\
                 "0.4793, 0.4587, 0.4187, 0.3893, 0.3716, 0.3607, 0.3537, 0.3491, 0.3457, 0.3433",\
                 "0.5356, 0.5135, 0.4687, 0.435, 0.4139, 0.4003, 0.3919, 0.3859, 0.3819, 0.3791",\
                 "0.6081, 0.5845, 0.5351, 0.4953, 0.4702, 0.4535, 0.4424, 0.4349, 0.4301, 0.4265",\
                 "0.6987, 0.6735, 0.6187, 0.5726, 0.542, 0.5213, 0.5073, 0.4978, 0.4912, 0.4864",\
                 "0.8073, 0.7806, 0.7204, 0.6663, 0.6297, 0.6045, 0.5871, 0.5751, 0.5666, 0.5605");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.1518, 0.1479, 0.1457, 0.147, 0.149, 0.1518, 0.1545, 0.157, 0.1604, 0.176",\
                 "0.1526, 0.1494, 0.1472, 0.1487, 0.1499, 0.1528, 0.1568, 0.1584, 0.1623, 0.177",\
                 "0.1561, 0.1524, 0.1493, 0.1496, 0.1514, 0.1541, 0.1572, 0.1603, 0.1643, 0.1779",\
                 "0.1733, 0.1679, 0.1612, 0.1585, 0.1588, 0.1611, 0.1644, 0.1663, 0.1693, 0.1867",\
                 "0.1997, 0.1914, 0.1806, 0.1756, 0.1719, 0.1733, 0.175, 0.1772, 0.1822, 0.2",\
                 "0.2382, 0.2271, 0.2115, 0.2001, 0.1982, 0.1954, 0.1944, 0.1963, 0.2004, 0.2214",\
                 "0.2902, 0.276, 0.2548, 0.2388, 0.2308, 0.2307, 0.2294, 0.2277, 0.2318, 0.2556",\
                 "0.3563, 0.3377, 0.3124, 0.2927, 0.2793, 0.2719, 0.273, 0.2717, 0.2732, 0.3033",\
                 "0.4365, 0.4147, 0.3831, 0.358, 0.3389, 0.3294, 0.3251, 0.3278, 0.3292, 0.3748",\
                 "0.5314, 0.5064, 0.4693, 0.4396, 0.4159, 0.3993, 0.3905, 0.3876, 0.3983, 0.4672");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.4327, 0.4143, 0.3795, 0.356, 0.3423, 0.3336, 0.3279, 0.3241, 0.3214, 0.3193",\
                 "0.4315, 0.4132, 0.3785, 0.3549, 0.3413, 0.3326, 0.3271, 0.3231, 0.3203, 0.3183",\
                 "0.4298, 0.4114, 0.3766, 0.3531, 0.3395, 0.331, 0.3252, 0.3212, 0.3185, 0.3166",\
                 "0.4335, 0.415, 0.3801, 0.356, 0.342, 0.3334, 0.3276, 0.3236, 0.3208, 0.3189",\
                 "0.4556, 0.4363, 0.3996, 0.3732, 0.3576, 0.348, 0.3416, 0.3373, 0.3342, 0.332",\
                 "0.4925, 0.4726, 0.4332, 0.4037, 0.3862, 0.3751, 0.3678, 0.3629, 0.3594, 0.357",\
                 "0.5458, 0.525, 0.4823, 0.4491, 0.4285, 0.4158, 0.4071, 0.4012, 0.397, 0.3941",\
                 "0.6196, 0.5971, 0.5507, 0.5123, 0.4875, 0.4716, 0.4611, 0.4537, 0.4487, 0.4449",\
                 "0.7136, 0.6898, 0.6385, 0.5937, 0.5638, 0.5441, 0.5305, 0.5214, 0.5147, 0.5098",\
                 "0.8265, 0.8013, 0.745, 0.693, 0.6572, 0.6329, 0.6161, 0.6043, 0.5959, 0.5898");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.1787, 0.1745, 0.1704, 0.1704, 0.1716, 0.1746, 0.1773, 0.1794, 0.1831, 0.1971",\
                 "0.1788, 0.1744, 0.1707, 0.1707, 0.1722, 0.1749, 0.1769, 0.1798, 0.1851, 0.1954",\
                 "0.1805, 0.1759, 0.1719, 0.1713, 0.173, 0.1752, 0.1786, 0.1804, 0.1857, 0.197",\
                 "0.1949, 0.1891, 0.1821, 0.1785, 0.1788, 0.1808, 0.1825, 0.1854, 0.1907, 0.2031",\
                 "0.2217, 0.2134, 0.2016, 0.1958, 0.1923, 0.1927, 0.1941, 0.1966, 0.199, 0.2171",\
                 "0.2611, 0.2501, 0.2341, 0.223, 0.2191, 0.2165, 0.2155, 0.2171, 0.2205, 0.2444",\
                 "0.3146, 0.3001, 0.2802, 0.2645, 0.2543, 0.2531, 0.2499, 0.2487, 0.2522, 0.2776",\
                 "0.3832, 0.366, 0.3411, 0.3209, 0.3058, 0.2986, 0.2984, 0.2981, 0.2969, 0.3301",\
                 "0.467, 0.4464, 0.4162, 0.3906, 0.3727, 0.3594, 0.3545, 0.3569, 0.3579, 0.4049",\
                 "0.5664, 0.542, 0.5064, 0.4779, 0.4545, 0.4356, 0.4274, 0.4238, 0.4313, 0.5055");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2&!A4" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.4551, 0.4368, 0.4023, 0.3786, 0.3648, 0.3562, 0.3506, 0.3466, 0.3438, 0.3418",\
                 "0.4541, 0.4358, 0.401, 0.3775, 0.3638, 0.3551, 0.3494, 0.3456, 0.3428, 0.3408",\
                 "0.4522, 0.4339, 0.399, 0.3755, 0.3618, 0.3531, 0.3474, 0.3435, 0.3407, 0.3388",\
                 "0.4529, 0.4345, 0.3997, 0.3755, 0.3617, 0.3531, 0.3473, 0.3434, 0.3405, 0.3386",\
                 "0.4701, 0.4512, 0.4145, 0.3886, 0.3733, 0.3638, 0.3576, 0.3531, 0.3501, 0.3478",\
                 "0.5045, 0.4847, 0.4458, 0.417, 0.3998, 0.3889, 0.3819, 0.3771, 0.3738, 0.3712",\
                 "0.5611, 0.5405, 0.4986, 0.4655, 0.4453, 0.4324, 0.4239, 0.4179, 0.4138, 0.4109",\
                 "0.6437, 0.6215, 0.5752, 0.5364, 0.5117, 0.4956, 0.4848, 0.4771, 0.4719, 0.4681",\
                 "0.7485, 0.7251, 0.6741, 0.6283, 0.598, 0.5781, 0.5641, 0.5544, 0.5475, 0.5424",\
                 "0.8739, 0.8489, 0.7934, 0.7403, 0.7038, 0.6788, 0.6615, 0.6493, 0.6404, 0.6341");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.2041, 0.1989, 0.1937, 0.1926, 0.1934, 0.1957, 0.198, 0.2009, 0.2039, 0.2172",\
                 "0.2036, 0.1985, 0.1932, 0.1919, 0.1931, 0.195, 0.198, 0.2002, 0.2035, 0.2162",\
                 "0.2025, 0.1975, 0.1922, 0.1905, 0.1917, 0.1937, 0.1967, 0.1992, 0.2025, 0.2161",\
                 "0.2146, 0.2088, 0.2008, 0.1961, 0.1955, 0.1973, 0.199, 0.2019, 0.2052, 0.2199",\
                 "0.2422, 0.2339, 0.2213, 0.2144, 0.2107, 0.2105, 0.2112, 0.2141, 0.2171, 0.2345",\
                 "0.2841, 0.273, 0.2564, 0.245, 0.2395, 0.2356, 0.236, 0.2365, 0.2416, 0.2615",\
                 "0.3423, 0.3281, 0.3065, 0.2895, 0.2784, 0.2765, 0.2736, 0.2715, 0.2733, 0.3006",\
                 "0.4171, 0.3992, 0.374, 0.3522, 0.3348, 0.3277, 0.3274, 0.3242, 0.3263, 0.3597",\
                 "0.5101, 0.489, 0.4584, 0.4328, 0.411, 0.3976, 0.3911, 0.3918, 0.3956, 0.4416",\
                 "0.621, 0.5965, 0.56, 0.5305, 0.5045, 0.4851, 0.4739, 0.4699, 0.4793, 0.5526");
        }
      }

      internal_power() {
        related_pin : "A4" ;
        when : "!A1&!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.4776, 0.4592, 0.4247, 0.4009, 0.3873, 0.3786, 0.373, 0.369, 0.3662, 0.3641",\
                 "0.4765, 0.4581, 0.4235, 0.3999, 0.3862, 0.3776, 0.3718, 0.3679, 0.3651, 0.3632",\
                 "0.4747, 0.4563, 0.4216, 0.3979, 0.3842, 0.3757, 0.3698, 0.366, 0.3632, 0.3612",\
                 "0.474, 0.4557, 0.421, 0.3971, 0.3834, 0.3747, 0.369, 0.3651, 0.3624, 0.3603",\
                 "0.4865, 0.4675, 0.4315, 0.4062, 0.3915, 0.3824, 0.3763, 0.3721, 0.3691, 0.367",\
                 "0.518, 0.4986, 0.4605, 0.4327, 0.4163, 0.4058, 0.3991, 0.3944, 0.3911, 0.3887",\
                 "0.5784, 0.5579, 0.5163, 0.4838, 0.4642, 0.4514, 0.4432, 0.4373, 0.4333, 0.4303",\
                 "0.6721, 0.6501, 0.6033, 0.5639, 0.5385, 0.5222, 0.511, 0.5032, 0.4976, 0.4936",\
                 "0.7924, 0.7687, 0.7167, 0.6692, 0.6373, 0.6163, 0.6016, 0.5916, 0.5838, 0.5785",\
                 "0.9362, 0.9112, 0.854, 0.7987, 0.7598, 0.7329, 0.7142, 0.701, 0.6914, 0.6843");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.2274, 0.2216, 0.2152, 0.2131, 0.2132, 0.2156, 0.2176, 0.2205, 0.2235, 0.2364",\
                 "0.225, 0.2194, 0.2132, 0.2111, 0.211, 0.2129, 0.2163, 0.2182, 0.2212, 0.2364",\
                 "0.2222, 0.2167, 0.2103, 0.2081, 0.2083, 0.211, 0.2137, 0.2165, 0.2179, 0.2311",\
                 "0.2332, 0.2267, 0.218, 0.213, 0.2122, 0.2133, 0.2156, 0.2182, 0.2212, 0.2369",\
                 "0.2624, 0.2534, 0.2401, 0.2317, 0.2269, 0.2268, 0.2272, 0.2297, 0.2328, 0.2505",\
                 "0.3078, 0.296, 0.2779, 0.2654, 0.2589, 0.2548, 0.2529, 0.2545, 0.2569, 0.2791",\
                 "0.372, 0.3568, 0.3343, 0.3158, 0.3047, 0.3004, 0.2965, 0.2959, 0.2982, 0.3237",\
                 "0.4568, 0.4383, 0.4112, 0.3871, 0.3703, 0.3604, 0.3595, 0.3546, 0.3552, 0.3897",\
                 "0.5638, 0.5419, 0.509, 0.481, 0.4574, 0.4413, 0.4354, 0.4342, 0.4337, 0.4828",\
                 "0.693, 0.668, 0.6289, 0.5959, 0.5688, 0.5456, 0.5321, 0.5274, 0.5343, 0.6114");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.6164, 0.6777, 0.8301, 1.042, 1.307, 1.627, 2.011, 2.472, 3.023, 3.675",\
                 "0.625, 0.6862, 0.8386, 1.051, 1.316, 1.635, 2.019, 2.481, 3.032, 3.684",\
                 "0.6736, 0.7349, 0.8871, 1.099, 1.364, 1.684, 2.068, 2.529, 3.081, 3.732",\
                 "0.793, 0.8542, 1.006, 1.218, 1.483, 1.802, 2.186, 2.648, 3.199, 3.851",\
                 "0.9966, 1.056, 1.206, 1.416, 1.681, 2, 2.384, 2.846, 3.397, 4.049",\
                 "1.254, 1.316, 1.467, 1.678, 1.944, 2.264, 2.649, 3.11, 3.661, 4.312",\
                 "1.562, 1.627, 1.782, 1.993, 2.26, 2.583, 2.969, 3.432, 3.983, 4.635",\
                 "1.927, 1.995, 2.155, 2.369, 2.637, 2.96, 3.348, 3.813, 4.366, 5.018",\
                 "2.348, 2.419, 2.587, 2.809, 3.08, 3.405, 3.793, 4.258, 4.812, 5.466",\
                 "2.823, 2.898, 3.076, 3.308, 3.585, 3.916, 4.308, 4.773, 5.328, 5.982");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.2747, 0.3184, 0.4464, 0.6727, 1.023, 1.513, 2.158, 2.971, 3.96, 5.147",\
                 "0.29, 0.3342, 0.462, 0.6883, 1.038, 1.529, 2.173, 2.987, 3.979, 5.163",\
                 "0.3439, 0.3876, 0.5149, 0.7406, 1.091, 1.581, 2.226, 3.039, 4.033, 5.215",\
                 "0.4244, 0.4696, 0.5977, 0.8219, 1.171, 1.661, 2.307, 3.116, 4.11, 5.29",\
                 "0.4801, 0.5281, 0.6608, 0.8851, 1.232, 1.721, 2.364, 3.178, 4.171, 5.348",\
                 "0.5032, 0.5546, 0.6923, 0.9169, 1.263, 1.75, 2.393, 3.204, 4.195, 5.379",\
                 "0.4863, 0.542, 0.6871, 0.9154, 1.26, 1.746, 2.388, 3.198, 4.188, 5.371",\
                 "0.4255, 0.4856, 0.639, 0.8741, 1.22, 1.706, 2.347, 3.155, 4.144, 5.324",\
                 "0.318, 0.3833, 0.5447, 0.7862, 1.135, 1.623, 2.265, 3.073, 4.061, 5.24",\
                 "0.1626, 0.232, 0.4016, 0.6523, 1.004, 1.495, 2.142, 2.95, 3.937, 5.116");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.2021, 0.2618, 0.4114, 0.6354, 0.9436, 1.355, 1.896, 2.604, 3.489, 4.558",\
                 "0.2019, 0.2631, 0.4111, 0.6358, 0.9442, 1.355, 1.898, 2.603, 3.489, 4.559",\
                 "0.2015, 0.2614, 0.4106, 0.6366, 0.944, 1.353, 1.898, 2.604, 3.485, 4.557",\
                 "0.1994, 0.2594, 0.4098, 0.6354, 0.9438, 1.353, 1.897, 2.601, 3.488, 4.557",\
                 "0.2012, 0.2602, 0.41, 0.636, 0.944, 1.355, 1.898, 2.601, 3.489, 4.559",\
                 "0.2212, 0.2784, 0.4228, 0.647, 0.9526, 1.361, 1.903, 2.605, 3.487, 4.561",\
                 "0.2396, 0.3, 0.4392, 0.6576, 0.9664, 1.374, 1.915, 2.613, 3.492, 4.563",\
                 "0.2632, 0.3254, 0.465, 0.676, 0.979, 1.383, 1.924, 2.625, 3.504, 4.571",\
                 "0.2928, 0.3566, 0.5018, 0.705, 1.001, 1.399, 1.935, 2.634, 3.513, 4.575",\
                 "0.3256, 0.3948, 0.5452, 0.7474, 1.038, 1.429, 1.956, 2.644, 3.517, 4.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.09556, 0.1531, 0.3428, 0.7282, 1.342, 2.206, 3.343, 4.775, 6.535, 8.614",\
                 "0.09564, 0.1527, 0.3426, 0.7298, 1.343, 2.206, 3.342, 4.774, 6.525, 8.611",\
                 "0.09574, 0.1532, 0.3428, 0.7282, 1.342, 2.208, 3.347, 4.775, 6.526, 8.606",\
                 "0.1057, 0.1615, 0.347, 0.7296, 1.343, 2.206, 3.343, 4.78, 6.525, 8.618",\
                 "0.121, 0.1774, 0.3596, 0.7328, 1.343, 2.205, 3.342, 4.782, 6.527, 8.62",\
                 "0.1396, 0.1968, 0.3762, 0.739, 1.345, 2.207, 3.345, 4.773, 6.521, 8.609",\
                 "0.1626, 0.2194, 0.3986, 0.751, 1.35, 2.209, 3.343, 4.778, 6.517, 8.605",\
                 "0.1866, 0.2446, 0.4262, 0.77, 1.362, 2.213, 3.343, 4.772, 6.529, 8.597",\
                 "0.212, 0.272, 0.4564, 0.7954, 1.38, 2.231, 3.355, 4.776, 6.519, 8.598",\
                 "0.2386, 0.3016, 0.4868, 0.8244, 1.403, 2.253, 3.38, 4.788, 6.523, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.7622, 0.8237, 0.9761, 1.188, 1.453, 1.772, 2.157, 2.618, 3.169, 3.821",\
                 "0.7717, 0.8329, 0.9852, 1.197, 1.462, 1.781, 2.166, 2.627, 3.178, 3.83",\
                 "0.8029, 0.8639, 1.016, 1.228, 1.493, 1.813, 2.197, 2.658, 3.21, 3.861",\
                 "0.875, 0.9361, 1.088, 1.299, 1.565, 1.884, 2.268, 2.73, 3.281, 3.933",\
                 "1.012, 1.074, 1.228, 1.44, 1.706, 2.025, 2.409, 2.871, 3.422, 4.074",\
                 "1.212, 1.276, 1.433, 1.649, 1.918, 2.24, 2.626, 3.087, 3.639, 4.29",\
                 "1.478, 1.543, 1.702, 1.922, 2.193, 2.519, 2.908, 3.371, 3.923, 4.575",\
                 "1.802, 1.869, 2.034, 2.258, 2.533, 2.861, 3.251, 3.717, 4.271, 4.923",\
                 "2.175, 2.246, 2.419, 2.651, 2.934, 3.267, 3.659, 4.126, 4.68, 5.334",\
                 "2.597, 2.673, 2.853, 3.096, 3.389, 3.732, 4.131, 4.601, 5.156, 5.81");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.3161, 0.3605, 0.4887, 0.7151, 1.065, 1.556, 2.2, 3.013, 4.004, 5.182",\
                 "0.3307, 0.375, 0.5036, 0.7299, 1.079, 1.57, 2.214, 3.027, 4.018, 5.197",\
                 "0.3833, 0.4274, 0.5558, 0.7817, 1.132, 1.622, 2.266, 3.079, 4.07, 5.25",\
                 "0.4735, 0.5182, 0.6462, 0.8707, 1.219, 1.71, 2.353, 3.166, 4.157, 5.337",\
                 "0.546, 0.5937, 0.7252, 0.9497, 1.297, 1.786, 2.43, 3.241, 4.232, 5.413",\
                 "0.5885, 0.6389, 0.7754, 1, 1.346, 1.834, 2.477, 3.288, 4.278, 5.459",\
                 "0.594, 0.6486, 0.7922, 1.02, 1.364, 1.85, 2.492, 3.302, 4.292, 5.472",\
                 "0.5607, 0.6198, 0.7705, 1.003, 1.349, 1.834, 2.475, 3.284, 4.272, 5.453",\
                 "0.4853, 0.5486, 0.7071, 0.946, 1.295, 1.782, 2.424, 3.232, 4.22, 5.398",\
                 "0.3659, 0.4333, 0.6002, 0.848, 1.199, 1.689, 2.335, 3.143, 4.131, 5.309");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.2015, 0.2625, 0.4111, 0.6362, 0.9438, 1.355, 1.899, 2.603, 3.489, 4.558",\
                 "0.2013, 0.2615, 0.4114, 0.6356, 0.9442, 1.355, 1.897, 2.603, 3.485, 4.558",\
                 "0.2012, 0.2631, 0.4112, 0.6368, 0.9438, 1.354, 1.898, 2.603, 3.486, 4.559",\
                 "0.2024, 0.2622, 0.4116, 0.6376, 0.9454, 1.353, 1.899, 2.602, 3.484, 4.563",\
                 "0.2114, 0.2716, 0.4194, 0.6416, 0.949, 1.356, 1.898, 2.605, 3.484, 4.561",\
                 "0.2206, 0.283, 0.4346, 0.6584, 0.9618, 1.366, 1.903, 2.605, 3.487, 4.558",\
                 "0.2334, 0.2968, 0.4494, 0.6726, 0.9782, 1.382, 1.919, 2.616, 3.491, 4.564",\
                 "0.2544, 0.3194, 0.4736, 0.6954, 0.9968, 1.398, 1.932, 2.627, 3.502, 4.57",\
                 "0.284, 0.35, 0.5084, 0.7298, 1.029, 1.422, 1.948, 2.64, 3.513, 4.576",\
                 "0.312, 0.3828, 0.5492, 0.7768, 1.076, 1.466, 1.981, 2.66, 3.524, 4.584");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.0987, 0.1556, 0.3455, 0.7313, 1.344, 2.207, 3.342, 4.772, 6.524, 8.599",\
                 "0.09858, 0.1557, 0.3454, 0.7299, 1.342, 2.206, 3.342, 4.775, 6.523, 8.602",\
                 "0.09844, 0.156, 0.3455, 0.73, 1.343, 2.209, 3.341, 4.775, 6.522, 8.605",\
                 "0.105, 0.1613, 0.3479, 0.7298, 1.343, 2.207, 3.34, 4.775, 6.522, 8.604",\
                 "0.1202, 0.176, 0.36, 0.7336, 1.346, 2.206, 3.341, 4.774, 6.524, 8.604",\
                 "0.1372, 0.1936, 0.3748, 0.7388, 1.345, 2.21, 3.347, 4.771, 6.522, 8.604",\
                 "0.1598, 0.215, 0.395, 0.7498, 1.352, 2.214, 3.343, 4.771, 6.52, 8.604",\
                 "0.1816, 0.2392, 0.4194, 0.7678, 1.362, 2.215, 3.344, 4.773, 6.519, 8.6",\
                 "0.2044, 0.2644, 0.4486, 0.7906, 1.38, 2.23, 3.352, 4.775, 6.518, 8.609",\
                 "0.2286, 0.2916, 0.477, 0.816, 1.399, 2.252, 3.374, 4.787, 6.527, 8.603");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.8472, 0.9084, 1.061, 1.272, 1.537, 1.857, 2.241, 2.703, 3.254, 3.906",\
                 "0.8566, 0.9179, 1.07, 1.282, 1.547, 1.866, 2.251, 2.712, 3.263, 3.915",\
                 "0.8869, 0.9481, 1.101, 1.312, 1.577, 1.897, 2.281, 2.742, 3.294, 3.946",\
                 "0.9374, 0.999, 1.151, 1.363, 1.628, 1.947, 2.331, 2.793, 3.344, 3.996",\
                 "1.028, 1.09, 1.244, 1.456, 1.721, 2.041, 2.425, 2.887, 3.438, 4.09",\
                 "1.174, 1.237, 1.394, 1.61, 1.88, 2.202, 2.587, 3.049, 3.601, 4.252",\
                 "1.387, 1.452, 1.612, 1.832, 2.105, 2.431, 2.82, 3.283, 3.835, 4.486",\
                 "1.655, 1.722, 1.889, 2.115, 2.394, 2.724, 3.116, 3.582, 4.135, 4.787",\
                 "1.964, 2.035, 2.211, 2.448, 2.738, 3.076, 3.473, 3.941, 4.496, 5.149",\
                 "2.311, 2.386, 2.571, 2.821, 3.124, 3.478, 3.885, 4.36, 4.917, 5.571");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.3417, 0.3871, 0.5178, 0.746, 1.097, 1.588, 2.232, 3.045, 4.036, 5.218",\
                 "0.3556, 0.401, 0.5317, 0.7598, 1.111, 1.601, 2.247, 3.058, 4.05, 5.232",\
                 "0.4064, 0.4517, 0.5823, 0.8101, 1.161, 1.651, 2.297, 3.109, 4.101, 5.283",\
                 "0.5024, 0.548, 0.6774, 0.9029, 1.253, 1.743, 2.388, 3.201, 4.191, 5.372",\
                 "0.5886, 0.6365, 0.7694, 0.9948, 1.343, 1.831, 2.476, 3.288, 4.279, 5.461",\
                 "0.6467, 0.6981, 0.8356, 1.062, 1.408, 1.895, 2.538, 3.35, 4.34, 5.52",\
                 "0.6726, 0.7275, 0.8713, 1.1, 1.445, 1.931, 2.573, 3.383, 4.374, 5.554",\
                 "0.6643, 0.7232, 0.874, 1.107, 1.453, 1.939, 2.58, 3.389, 4.378, 5.559",\
                 "0.619, 0.6824, 0.8415, 1.081, 1.429, 1.918, 2.559, 3.367, 4.355, 5.533",\
                 "0.5367, 0.6043, 0.7711, 1.019, 1.371, 1.861, 2.506, 3.315, 4.303, 5.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.2013, 0.2617, 0.4121, 0.6368, 0.9442, 1.355, 1.897, 2.604, 3.486, 4.559",\
                 "0.2022, 0.262, 0.4112, 0.6372, 0.944, 1.355, 1.899, 2.604, 3.486, 4.559",\
                 "0.2022, 0.2626, 0.411, 0.6366, 0.9436, 1.354, 1.897, 2.602, 3.486, 4.561",\
                 "0.2016, 0.2622, 0.4118, 0.6372, 0.9452, 1.353, 1.898, 2.601, 3.484, 4.563",\
                 "0.2098, 0.27, 0.4188, 0.6418, 0.948, 1.357, 1.899, 2.603, 3.489, 4.56",\
                 "0.2184, 0.2808, 0.4332, 0.658, 0.962, 1.366, 1.906, 2.604, 3.49, 4.564",\
                 "0.232, 0.2958, 0.45, 0.674, 0.9788, 1.382, 1.919, 2.617, 3.495, 4.566",\
                 "0.2564, 0.3222, 0.4802, 0.7036, 1.005, 1.403, 1.936, 2.629, 3.502, 4.569",\
                 "0.2838, 0.3548, 0.5186, 0.7474, 1.05, 1.443, 1.962, 2.647, 3.513, 4.574",\
                 "0.3144, 0.388, 0.5628, 0.7994, 1.108, 1.504, 2.014, 2.681, 3.533, 4.585");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.1032, 0.1613, 0.3519, 0.7344, 1.346, 2.208, 3.346, 4.774, 6.522, 8.605",\
                 "0.1031, 0.1613, 0.3518, 0.7343, 1.349, 2.212, 3.344, 4.775, 6.518, 8.603",\
                 "0.1025, 0.1603, 0.3514, 0.7345, 1.349, 2.212, 3.343, 4.774, 6.521, 8.6",\
                 "0.1074, 0.1635, 0.3518, 0.7344, 1.346, 2.208, 3.342, 4.775, 6.52, 8.609",\
                 "0.122, 0.1784, 0.3624, 0.7364, 1.346, 2.211, 3.341, 4.775, 6.521, 8.606",\
                 "0.14, 0.1954, 0.3776, 0.743, 1.349, 2.21, 3.342, 4.775, 6.519, 8.598",\
                 "0.1612, 0.2174, 0.3974, 0.754, 1.354, 2.211, 3.344, 4.777, 6.522, 8.603",\
                 "0.183, 0.2398, 0.4212, 0.7712, 1.366, 2.217, 3.348, 4.773, 6.521, 8.6",\
                 "0.207, 0.2664, 0.4498, 0.7928, 1.382, 2.234, 3.357, 4.78, 6.521, 8.598",\
                 "0.2316, 0.2942, 0.4784, 0.8188, 1.405, 2.257, 3.379, 4.792, 6.526, 8.6");
        }
      }

      timing() {
        related_pin : "A4" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.8812, 0.9423, 1.095, 1.306, 1.571, 1.891, 2.275, 2.737, 3.288, 3.94",\
                 "0.8935, 0.9547, 1.107, 1.319, 1.584, 1.903, 2.287, 2.749, 3.3, 3.952",\
                 "0.9249, 0.9863, 1.138, 1.35, 1.615, 1.935, 2.319, 2.78, 3.332, 3.983",\
                 "0.9669, 1.028, 1.18, 1.392, 1.657, 1.977, 2.361, 2.822, 3.373, 4.025",\
                 "1.033, 1.095, 1.248, 1.46, 1.724, 2.044, 2.428, 2.89, 3.441, 4.093",\
                 "1.143, 1.206, 1.362, 1.577, 1.846, 2.167, 2.553, 3.014, 3.566, 4.217",\
                 "1.314, 1.379, 1.538, 1.757, 2.029, 2.355, 2.742, 3.206, 3.757, 4.409",\
                 "1.53, 1.599, 1.766, 1.994, 2.273, 2.604, 2.996, 3.461, 4.014, 4.666",\
                 "1.782, 1.853, 2.031, 2.271, 2.565, 2.908, 3.307, 3.777, 4.331, 4.984",\
                 "2.062, 2.139, 2.327, 2.583, 2.891, 3.252, 3.667, 4.147, 4.706, 5.36");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.3522, 0.3987, 0.5326, 0.7638, 1.117, 1.609, 2.255, 3.068, 4.059, 5.241",\
                 "0.3648, 0.4113, 0.5451, 0.7763, 1.129, 1.622, 2.268, 3.079, 4.072, 5.253",\
                 "0.4157, 0.4623, 0.5954, 0.8265, 1.18, 1.672, 2.318, 3.13, 4.122, 5.303",\
                 "0.517, 0.563, 0.6946, 0.923, 1.275, 1.767, 2.412, 3.224, 4.215, 5.397",\
                 "0.6134, 0.6621, 0.7965, 1.024, 1.373, 1.864, 2.508, 3.321, 4.311, 5.493",\
                 "0.6845, 0.7364, 0.8755, 1.103, 1.451, 1.939, 2.583, 3.395, 4.386, 5.567",\
                 "0.7276, 0.7833, 0.9285, 1.159, 1.506, 1.993, 2.635, 3.446, 4.436, 5.617",\
                 "0.742, 0.8021, 0.9547, 1.19, 1.538, 2.024, 2.666, 3.475, 4.465, 5.644",\
                 "0.7262, 0.7912, 0.952, 1.194, 1.544, 2.034, 2.676, 3.484, 4.472, 5.651",\
                 "0.6795, 0.7493, 0.9195, 1.17, 1.524, 2.017, 2.662, 3.471, 4.46, 5.637");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.2014, 0.2621, 0.412, 0.6362, 0.9442, 1.355, 1.897, 2.604, 3.486, 4.559",\
                 "0.2013, 0.2617, 0.4112, 0.6362, 0.9442, 1.355, 1.897, 2.601, 3.486, 4.561",\
                 "0.2016, 0.2616, 0.4114, 0.6374, 0.9438, 1.353, 1.899, 2.604, 3.486, 4.559",\
                 "0.2024, 0.2622, 0.4118, 0.6366, 0.9444, 1.353, 1.898, 2.604, 3.489, 4.562",\
                 "0.2064, 0.267, 0.4162, 0.6404, 0.9466, 1.357, 1.899, 2.603, 3.485, 4.558",\
                 "0.2156, 0.2762, 0.4288, 0.6524, 0.9566, 1.363, 1.904, 2.607, 3.49, 4.559",\
                 "0.232, 0.2938, 0.4468, 0.6714, 0.977, 1.379, 1.915, 2.612, 3.494, 4.565",\
                 "0.2592, 0.3254, 0.4838, 0.7062, 1.008, 1.406, 1.935, 2.627, 3.5, 4.568",\
                 "0.2912, 0.3618, 0.53, 0.7618, 1.065, 1.459, 1.973, 2.649, 3.512, 4.573",\
                 "0.3262, 0.4012, 0.5798, 0.8208, 1.139, 1.537, 2.045, 2.704, 3.546, 4.587");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04581, 0.1124, 0.2162, 0.3618, 0.5533, 0.7947, 1.089, 1.44");
          values("0.1078, 0.1661, 0.3595, 0.7425, 1.353, 2.213, 3.352, 4.777, 6.522, 8.603",\
                 "0.1079, 0.166, 0.3592, 0.7423, 1.354, 2.213, 3.346, 4.776, 6.522, 8.603",\
                 "0.1066, 0.1647, 0.3584, 0.7421, 1.353, 2.214, 3.347, 4.774, 6.524, 8.607",\
                 "0.109, 0.1666, 0.3578, 0.7404, 1.352, 2.211, 3.347, 4.776, 6.523, 8.607",\
                 "0.1256, 0.1818, 0.3676, 0.742, 1.351, 2.212, 3.344, 4.776, 6.523, 8.601",\
                 "0.1444, 0.2002, 0.3828, 0.7492, 1.354, 2.214, 3.345, 4.775, 6.521, 8.604",\
                 "0.1674, 0.2222, 0.4032, 0.7606, 1.359, 2.215, 3.349, 4.775, 6.521, 8.605",\
                 "0.1892, 0.2476, 0.4282, 0.7792, 1.374, 2.223, 3.352, 4.778, 6.519, 8.602",\
                 "0.2156, 0.2748, 0.457, 0.802, 1.391, 2.244, 3.364, 4.783, 6.525, 8.615",\
                 "0.2444, 0.3064, 0.49, 0.833, 1.415, 2.269, 3.386, 4.796, 6.53, 8.603");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffq_1) {
    area : 83.417600 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&!SI" ;
      value : "0.0002024979" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&SI" ;
      value : "0.0002316171" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&!SI" ;
      value : "0.0002027718" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&SI" ;
      value : "0.0002205456" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&!SI" ;
      value : "0.0002212023" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&SI" ;
      value : "0.0002212023" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&!SI" ;
      value : "0.0002033163" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&SI" ;
      value : "0.0002205489" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&!SI" ;
      value : "0.0001845888" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&SI" ;
      value : "0.000224268" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&!SI" ;
      value : "0.0001813185" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&SI" ;
      value : "0.0002563011" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&!SI" ;
      value : "0.0002553309" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&SI" ;
      value : "0.0002553309" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&!SI" ;
      value : "0.0001813251" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&SI" ;
      value : "0.0002563044" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002563044" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003433 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.022 ;
      min_pulse_width_high : 0.497 ;
      min_pulse_width_low : 1.01 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1188, 0.1182, 0.1191, 0.1253, 0.1378, 0.1574, 0.1849, 0.2207, \
                 0.2654, 0.319");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09273, 0.09239, 0.09289, 0.09786, 0.1082, 0.1252, 0.1496, 0.1814, \
                 0.2209, 0.2686");
        }
      }

      internal_power() {
        when : "!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1225, 0.122, 0.1229, 0.129, 0.1415, 0.1611, 0.1886, 0.2245, \
                 0.2691, 0.3226");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09277, 0.09238, 0.09292, 0.09787, 0.1083, 0.1253, 0.1497, 0.1814, \
                 0.221, 0.2686");
        }
      }

      internal_power() {
        when : "!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1188, 0.1182, 0.1191, 0.1253, 0.1378, 0.1575, 0.1849, 0.2209, \
                 0.2653, 0.319");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09269, 0.09231, 0.09287, 0.09784, 0.1082, 0.1253, 0.1496, 0.1813, \
                 0.221, 0.2686");
        }
      }

      internal_power() {
        when : "!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1205, 0.12, 0.1208, 0.127, 0.1395, 0.1591, 0.1866, 0.2225, 0.2671, \
                 0.3206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09357, 0.0932, 0.0937, 0.09865, 0.109, 0.1262, 0.1505, 0.1822, \
                 0.2218, 0.2695");
        }
      }

      internal_power() {
        when : "D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1206, 0.1201, 0.1209, 0.127, 0.1396, 0.1592, 0.1867, 0.2225, \
                 0.2671, 0.3207");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0935, 0.09313, 0.09368, 0.09862, 0.1089, 0.1261, 0.1504, 0.1822, \
                 0.2218, 0.2695");
        }
      }

      internal_power() {
        when : "D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1206, 0.1201, 0.1209, 0.127, 0.1396, 0.1592, 0.1867, 0.2225, \
                 0.2671, 0.3207");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09351, 0.09315, 0.09365, 0.09862, 0.109, 0.1262, 0.1504, 0.1823, \
                 0.2217, 0.2695");
        }
      }

      internal_power() {
        when : "D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1188, 0.1182, 0.1191, 0.1253, 0.1378, 0.1574, 0.185, 0.2208, \
                 0.2653, 0.3189");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09267, 0.09236, 0.09286, 0.09785, 0.1082, 0.1253, 0.1496, 0.1813, \
                 0.221, 0.2685");
        }
      }

      internal_power() {
        when : "D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1205, 0.1201, 0.1208, 0.127, 0.1395, 0.1591, 0.1866, 0.2225, \
                 0.2671, 0.3206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0935, 0.09318, 0.09371, 0.09864, 0.109, 0.1262, 0.1504, 0.1822, \
                 0.2218, 0.2695");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("1.01");
        }

        rise_constraint(scalar) {
          values("0.44");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("1.01");
        }

        rise_constraint(scalar) {
          values("0.44");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.01");
        }

        rise_constraint(scalar) {
          values("0.44");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.833");
        }

        rise_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.84");
        }

        rise_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.833");
        }

        rise_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.01");
        }

        rise_constraint(scalar) {
          values("0.44");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.833");
        }

        rise_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&!SI" ;

        rise_constraint(scalar) {
          values("2.016");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&SI" ;

        rise_constraint(scalar) {
          values("2.016");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.022");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&SI" ;

        rise_constraint(scalar) {
          values("1.662");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&!SI" ;

        rise_constraint(scalar) {
          values("1.668");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&SI" ;

        rise_constraint(scalar) {
          values("1.662");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.022");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&SI" ;

        rise_constraint(scalar) {
          values("1.662");
        }
      }
    }

    pin(D) {
      capacitance : 0.00269 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1305, 0.1301, 0.1296, 0.1295, 0.1321, 0.1404, 0.1565, 0.1808, \
                 0.2126, 0.2513");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07573, 0.07522, 0.07466, 0.0749, 0.07797, 0.08557, 0.0987, 0.1178, \
                 0.1432, 0.1748");
        }
      }

      internal_power() {
        when : "!CLK&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1305, 0.1301, 0.1296, 0.1295, 0.1321, 0.1404, 0.1565, 0.1809, \
                 0.2126, 0.2514");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07573, 0.07521, 0.07467, 0.07488, 0.07796, 0.08556, 0.09874, \
                 0.1179, 0.1432, 0.1749");
        }
      }

      internal_power() {
        when : "!CLK&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008405, 0.008373, 0.008353, 0.008341, 0.008372, 0.008369, 0.008365, \
                 0.008369, 0.008362, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007979, -0.007978, -0.008041, -0.008115, -0.008182, -0.008207, \
                 -0.008208, -0.008241, -0.00825, -0.008255");
        }
      }

      internal_power() {
        when : "!CLK&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008366, 0.008372, 0.00835, 0.008365, 0.008376, 0.008361, 0.008366, \
                 0.008367, 0.008367, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007317, -0.007709, -0.00803, -0.008124, -0.008179, -0.008208, \
                 -0.008225, -0.008242, -0.008246, -0.008257");
        }
      }

      internal_power() {
        when : "CLK&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02786, 0.0278, 0.02772, 0.02762, 0.0276, 0.0276, 0.0276, 0.0276, \
                 0.02762, 0.02759");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002274, -0.002548, -0.002895, -0.003205, -0.003433, -0.003554, \
                 -0.003641, -0.00369, -0.003734, -0.003761");
        }
      }

      internal_power() {
        when : "CLK&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02786, 0.0278, 0.02772, 0.02762, 0.0276, 0.0276, 0.0276, 0.0276, \
                 0.02761, 0.02759");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002275, -0.002522, -0.00288, -0.003206, -0.003432, -0.003558, \
                 -0.003639, -0.003698, -0.003736, -0.003761");
        }
      }

      internal_power() {
        when : "CLK&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008359, 0.008358, 0.008359, 0.008351, 0.008362, 0.008358, 0.008371, \
                 0.00837, 0.008369, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007978, -0.007972, -0.008041, -0.008118, -0.008183, -0.008178, \
                 -0.008231, -0.008237, -0.008247, -0.008253");
        }
      }

      internal_power() {
        when : "CLK&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008364, 0.008365, 0.008362, 0.008356, 0.008364, 0.008378, 0.008367, \
                 0.008369, 0.008368, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007398, -0.007727, -0.008026, -0.008123, -0.008168, -0.008208, \
                 -0.008231, -0.008236, -0.008251, -0.008255");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.189, -0.177, -0.133, -0.074, -0.02, 0.014, 0.032, 0.024, -0.005, -0.066",\
                 "-0.2, -0.191, -0.143, -0.081, -0.031, -0.001, 0.021, 0.01, -0.016, -0.074",\
                 "-0.237, -0.231, -0.181, -0.117, -0.07, -0.029, -0.015, -0.025, -0.051, -0.113",\
                 "-0.289, -0.276, -0.23, -0.168, -0.116, -0.08, -0.054, -0.072, -0.099, -0.159",\
                 "-0.36, -0.348, -0.295, -0.232, -0.174, -0.145, -0.121, -0.128, -0.154, -0.216",\
                 "-0.434, -0.424, -0.372, -0.307, -0.249, -0.21, -0.187, -0.196, -0.222, -0.278",\
                 "-0.513, -0.501, -0.456, -0.385, -0.324, -0.285, -0.25, -0.257, -0.281, -0.331",\
                 "-0.608, -0.607, -0.559, -0.489, -0.419, -0.385, -0.339, -0.343, -0.355, -0.398",\
                 "-0.744, -0.732, -0.685, -0.617, -0.546, -0.502, -0.452, -0.456, -0.459, -0.488",\
                 "-0.897, -0.901, -0.846, -0.781, -0.701, -0.659, -0.596, -0.591, -0.584, -0.619");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.378, -0.368, -0.337, -0.319, -0.332, -0.372, -0.432, -0.513, -0.618, -0.748",\
                 "-0.384, -0.374, -0.338, -0.332, -0.34, -0.378, -0.433, -0.516, -0.618, -0.75",\
                 "-0.398, -0.385, -0.354, -0.343, -0.357, -0.393, -0.449, -0.528, -0.639, -0.767",\
                 "-0.417, -0.401, -0.375, -0.359, -0.369, -0.401, -0.463, -0.539, -0.641, -0.775",\
                 "-0.427, -0.417, -0.382, -0.369, -0.376, -0.408, -0.464, -0.535, -0.636, -0.77",\
                 "-0.422, -0.412, -0.379, -0.366, -0.372, -0.399, -0.45, -0.525, -0.625, -0.75",\
                 "-0.395, -0.381, -0.347, -0.336, -0.336, -0.365, -0.42, -0.491, -0.588, -0.716",\
                 "-0.325, -0.315, -0.279, -0.269, -0.271, -0.3, -0.358, -0.435, -0.53, -0.661",\
                 "-0.218, -0.21, -0.172, -0.163, -0.168, -0.208, -0.263, -0.341, -0.444, -0.569",\
                 "-0.08, -0.067, -0.031, -0.026, -0.034, -0.071, -0.125, -0.208, -0.314, -0.45");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.189, -0.177, -0.133, -0.074, -0.02, 0.014, 0.032, 0.024, -0.005, -0.066",\
                 "-0.2, -0.191, -0.143, -0.081, -0.031, -0.001, 0.021, 0.016, -0.016, -0.079",\
                 "-0.237, -0.231, -0.181, -0.123, -0.07, -0.029, -0.006, -0.019, -0.051, -0.113",\
                 "-0.289, -0.276, -0.23, -0.176, -0.116, -0.08, -0.054, -0.065, -0.099, -0.159",\
                 "-0.36, -0.348, -0.295, -0.237, -0.181, -0.145, -0.121, -0.128, -0.154, -0.216",\
                 "-0.434, -0.424, -0.372, -0.316, -0.249, -0.21, -0.187, -0.188, -0.222, -0.278",\
                 "-0.513, -0.51, -0.456, -0.395, -0.324, -0.285, -0.25, -0.257, -0.281, -0.331",\
                 "-0.614, -0.607, -0.559, -0.496, -0.419, -0.385, -0.339, -0.338, -0.355, -0.398",\
                 "-0.744, -0.74, -0.685, -0.626, -0.546, -0.507, -0.458, -0.442, -0.452, -0.488",\
                 "-0.902, -0.901, -0.846, -0.797, -0.701, -0.659, -0.596, -0.583, -0.584, -0.619");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.378, -0.368, -0.337, -0.319, -0.332, -0.372, -0.432, -0.513, -0.618, -0.748",\
                 "-0.384, -0.374, -0.338, -0.322, -0.34, -0.378, -0.433, -0.516, -0.618, -0.75",\
                 "-0.398, -0.385, -0.354, -0.343, -0.357, -0.393, -0.449, -0.534, -0.639, -0.767",\
                 "-0.417, -0.401, -0.375, -0.359, -0.369, -0.401, -0.463, -0.539, -0.641, -0.775",\
                 "-0.427, -0.417, -0.382, -0.369, -0.376, -0.408, -0.464, -0.535, -0.636, -0.77",\
                 "-0.422, -0.412, -0.379, -0.366, -0.372, -0.399, -0.45, -0.525, -0.625, -0.75",\
                 "-0.395, -0.381, -0.347, -0.325, -0.336, -0.365, -0.42, -0.491, -0.588, -0.716",\
                 "-0.325, -0.315, -0.279, -0.269, -0.271, -0.309, -0.358, -0.435, -0.53, -0.661",\
                 "-0.218, -0.21, -0.172, -0.164, -0.168, -0.208, -0.263, -0.341, -0.444, -0.569",\
                 "-0.08, -0.067, -0.031, -0.026, -0.034, -0.071, -0.125, -0.208, -0.314, -0.445");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.887, 0.873, 0.809, 0.719, 0.645, 0.585, 0.55, 0.548, 0.57, 0.623",\
                 "0.903, 0.882, 0.823, 0.727, 0.656, 0.601, 0.561, 0.557, 0.585, 0.635",\
                 "0.935, 0.923, 0.858, 0.767, 0.696, 0.636, 0.604, 0.591, 0.614, 0.677",\
                 "0.989, 0.98, 0.915, 0.82, 0.745, 0.687, 0.654, 0.647, 0.667, 0.725",\
                 "1.082, 1.066, 1.008, 0.913, 0.835, 0.785, 0.745, 0.736, 0.759, 0.818",\
                 "1.234, 1.22, 1.158, 1.068, 0.994, 0.934, 0.894, 0.879, 0.903, 0.957",\
                 "1.465, 1.452, 1.389, 1.294, 1.211, 1.147, 1.106, 1.096, 1.102, 1.152",\
                 "1.753, 1.741, 1.678, 1.578, 1.493, 1.421, 1.373, 1.345, 1.36, 1.403",\
                 "2.104, 2.088, 2.017, 1.919, 1.824, 1.743, 1.687, 1.664, 1.665, 1.704",\
                 "2.496, 2.483, 2.413, 2.303, 2.203, 2.121, 2.059, 2.02, 2.025, 2.057");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.733, 0.723, 0.664, 0.601, 0.556, 0.562, 0.6, 0.655, 0.753, 0.878",\
                 "0.739, 0.723, 0.675, 0.602, 0.563, 0.566, 0.604, 0.665, 0.762, 0.881",\
                 "0.753, 0.74, 0.685, 0.616, 0.583, 0.578, 0.613, 0.678, 0.771, 0.897",\
                 "0.78, 0.758, 0.706, 0.636, 0.597, 0.592, 0.634, 0.693, 0.789, 0.91",\
                 "0.799, 0.78, 0.73, 0.655, 0.619, 0.609, 0.642, 0.699, 0.788, 0.908",\
                 "0.808, 0.795, 0.743, 0.673, 0.626, 0.615, 0.638, 0.693, 0.782, 0.899",\
                 "0.799, 0.784, 0.728, 0.665, 0.611, 0.601, 0.622, 0.676, 0.759, 0.874",\
                 "0.756, 0.744, 0.69, 0.623, 0.575, 0.562, 0.583, 0.624, 0.712, 0.821",\
                 "0.688, 0.667, 0.619, 0.548, 0.509, 0.486, 0.505, 0.55, 0.63, 0.749",\
                 "0.58, 0.565, 0.504, 0.445, 0.398, 0.381, 0.397, 0.448, 0.53, 0.64");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.887, 0.873, 0.809, 0.72, 0.645, 0.585, 0.558, 0.542, 0.57, 0.623",\
                 "0.903, 0.882, 0.823, 0.727, 0.656, 0.601, 0.561, 0.557, 0.585, 0.635",\
                 "0.935, 0.923, 0.858, 0.767, 0.696, 0.636, 0.604, 0.591, 0.614, 0.677",\
                 "0.989, 0.98, 0.915, 0.82, 0.745, 0.687, 0.654, 0.647, 0.676, 0.725",\
                 "1.082, 1.066, 1.008, 0.913, 0.835, 0.776, 0.745, 0.736, 0.759, 0.818",\
                 "1.234, 1.219, 1.158, 1.068, 0.994, 0.934, 0.894, 0.879, 0.903, 0.957",\
                 "1.465, 1.452, 1.389, 1.294, 1.211, 1.147, 1.106, 1.096, 1.108, 1.152",\
                 "1.753, 1.741, 1.678, 1.578, 1.493, 1.421, 1.373, 1.345, 1.36, 1.403",\
                 "2.104, 2.088, 2.017, 1.911, 1.824, 1.743, 1.687, 1.664, 1.665, 1.704",\
                 "2.496, 2.483, 2.413, 2.303, 2.203, 2.121, 2.059, 2.028, 2.025, 2.057");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.733, 0.723, 0.669, 0.601, 0.556, 0.556, 0.6, 0.655, 0.753, 0.878",\
                 "0.739, 0.723, 0.675, 0.602, 0.563, 0.566, 0.604, 0.665, 0.762, 0.881",\
                 "0.753, 0.74, 0.693, 0.616, 0.583, 0.578, 0.613, 0.678, 0.779, 0.897",\
                 "0.78, 0.758, 0.706, 0.636, 0.597, 0.592, 0.634, 0.693, 0.789, 0.91",\
                 "0.799, 0.78, 0.73, 0.655, 0.619, 0.609, 0.642, 0.699, 0.788, 0.908",\
                 "0.808, 0.789, 0.743, 0.666, 0.626, 0.615, 0.638, 0.693, 0.782, 0.899",\
                 "0.799, 0.784, 0.728, 0.655, 0.617, 0.601, 0.622, 0.676, 0.753, 0.874",\
                 "0.756, 0.744, 0.69, 0.616, 0.575, 0.562, 0.573, 0.624, 0.712, 0.821",\
                 "0.688, 0.667, 0.619, 0.548, 0.509, 0.486, 0.505, 0.55, 0.638, 0.749",\
                 "0.575, 0.565, 0.509, 0.439, 0.398, 0.381, 0.397, 0.448, 0.53, 0.64");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3587 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.115, 0.1141, 0.1131, 0.1128, 0.1126, 0.1125, 0.1124, 0.1124, 0.1124, 0.1124",\
                 "0.115, 0.1142, 0.1132, 0.1127, 0.1127, 0.1125, 0.1125, 0.1124, 0.1124, 0.1124",\
                 "0.1151, 0.1142, 0.1133, 0.1129, 0.1127, 0.1126, 0.1126, 0.1125, 0.1125, 0.1125",\
                 "0.1156, 0.1148, 0.1139, 0.1134, 0.1133, 0.1132, 0.1131, 0.1131, 0.1131, 0.1131",\
                 "0.1166, 0.1158, 0.1148, 0.1144, 0.1143, 0.1141, 0.1141, 0.1141, 0.1141, 0.114",\
                 "0.1176, 0.1167, 0.1159, 0.1155, 0.1154, 0.1153, 0.1152, 0.1152, 0.1152, 0.1152",\
                 "0.1188, 0.1181, 0.1171, 0.1166, 0.1164, 0.1163, 0.1162, 0.1162, 0.1162, 0.1162",\
                 "0.1204, 0.1195, 0.1185, 0.1182, 0.1179, 0.1178, 0.1178, 0.1178, 0.1178, 0.1177",\
                 "0.1217, 0.1208, 0.1199, 0.1195, 0.1193, 0.1192, 0.1192, 0.1191, 0.1191, 0.1191",\
                 "0.1234, 0.1226, 0.1216, 0.1212, 0.121, 0.1209, 0.1208, 0.1208, 0.1208, 0.1208");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.107, 0.1064, 0.1056, 0.1056, 0.1062, 0.1069, 0.1074, 0.108, 0.1088, 0.1126",\
                 "0.107, 0.1063, 0.1056, 0.1057, 0.1061, 0.1068, 0.1075, 0.1079, 0.1088, 0.1128",\
                 "0.1069, 0.1064, 0.1056, 0.1056, 0.1061, 0.1068, 0.1074, 0.1079, 0.1087, 0.1131",\
                 "0.1074, 0.1069, 0.1061, 0.1061, 0.1067, 0.1074, 0.108, 0.1084, 0.109, 0.1141",\
                 "0.1082, 0.1076, 0.107, 0.1069, 0.1072, 0.1081, 0.1088, 0.1093, 0.1101, 0.115",\
                 "0.1092, 0.1087, 0.1077, 0.1082, 0.1086, 0.1091, 0.1099, 0.1102, 0.1112, 0.1183",\
                 "0.1109, 0.1102, 0.1095, 0.1094, 0.11, 0.1111, 0.1116, 0.1118, 0.1124, 0.1207",\
                 "0.1127, 0.1121, 0.1113, 0.1113, 0.1116, 0.1124, 0.1137, 0.1144, 0.1148, 0.1257",\
                 "0.1148, 0.1142, 0.1133, 0.1132, 0.1134, 0.1141, 0.1151, 0.1175, 0.1182, 0.1327",\
                 "0.1172, 0.1166, 0.1157, 0.1158, 0.116, 0.1163, 0.117, 0.1187, 0.1228, 0.1437");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.115, 0.1142, 0.1132, 0.1128, 0.1126, 0.1125, 0.1124, 0.1124, 0.1124, 0.1124",\
                 "0.115, 0.1142, 0.1131, 0.1128, 0.1127, 0.1125, 0.1125, 0.1124, 0.1124, 0.1124",\
                 "0.1151, 0.1143, 0.1133, 0.1129, 0.1127, 0.1126, 0.1126, 0.1126, 0.1125, 0.1125",\
                 "0.1157, 0.1148, 0.1139, 0.1135, 0.1133, 0.1132, 0.1131, 0.1131, 0.1131, 0.1131",\
                 "0.1167, 0.1159, 0.1149, 0.1145, 0.1144, 0.1142, 0.1142, 0.1141, 0.1141, 0.1141",\
                 "0.1176, 0.1169, 0.116, 0.1155, 0.1154, 0.1153, 0.1152, 0.1152, 0.1152, 0.1152",\
                 "0.1189, 0.1181, 0.1171, 0.1168, 0.1165, 0.1164, 0.1164, 0.1164, 0.1164, 0.1164",\
                 "0.1204, 0.1195, 0.1186, 0.1182, 0.1181, 0.1179, 0.1178, 0.1178, 0.1178, 0.1178",\
                 "0.1219, 0.121, 0.12, 0.1196, 0.1195, 0.1193, 0.1193, 0.1192, 0.1192, 0.1192",\
                 "0.1234, 0.1226, 0.1217, 0.1212, 0.1211, 0.1209, 0.1208, 0.1208, 0.1208, 0.1208");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1071, 0.1064, 0.1056, 0.1057, 0.1061, 0.1069, 0.1075, 0.108, 0.1088, 0.1126",\
                 "0.107, 0.1064, 0.1057, 0.1057, 0.1061, 0.1068, 0.1074, 0.1082, 0.1088, 0.1126",\
                 "0.107, 0.1063, 0.1056, 0.1056, 0.1062, 0.1068, 0.1074, 0.1079, 0.1087, 0.1132",\
                 "0.1074, 0.1068, 0.1061, 0.106, 0.1066, 0.1073, 0.1079, 0.1086, 0.1091, 0.1138",\
                 "0.1083, 0.1076, 0.107, 0.1069, 0.1073, 0.1081, 0.1086, 0.1092, 0.1105, 0.1155",\
                 "0.1093, 0.1086, 0.1079, 0.1082, 0.1087, 0.1092, 0.1097, 0.1103, 0.112, 0.1181",\
                 "0.1108, 0.1102, 0.1095, 0.1094, 0.11, 0.1112, 0.1116, 0.1121, 0.1131, 0.1211",\
                 "0.1127, 0.112, 0.1112, 0.1112, 0.1114, 0.1125, 0.1139, 0.1143, 0.1152, 0.1248",\
                 "0.1148, 0.1141, 0.1132, 0.1133, 0.1134, 0.114, 0.1153, 0.1174, 0.1183, 0.1327",\
                 "0.1172, 0.1167, 0.1157, 0.1158, 0.116, 0.1168, 0.117, 0.1183, 0.1219, 0.1438");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1149, 0.1142, 0.1133, 0.1128, 0.1126, 0.1125, 0.1125, 0.1125, 0.1125, 0.1124",\
                 "0.1151, 0.1142, 0.1132, 0.1128, 0.1127, 0.1126, 0.1125, 0.1124, 0.1124, 0.1124",\
                 "0.115, 0.1142, 0.1133, 0.1129, 0.1127, 0.1126, 0.1126, 0.1125, 0.1125, 0.1125",\
                 "0.1156, 0.1148, 0.1139, 0.1134, 0.1133, 0.1131, 0.1131, 0.1131, 0.113, 0.113",\
                 "0.1167, 0.1159, 0.1149, 0.1144, 0.1144, 0.1142, 0.1141, 0.1141, 0.1141, 0.1141",\
                 "0.1176, 0.1168, 0.1158, 0.1154, 0.1153, 0.1151, 0.1151, 0.115, 0.115, 0.115",\
                 "0.1188, 0.1179, 0.117, 0.1166, 0.1164, 0.1163, 0.1162, 0.1162, 0.1162, 0.1162",\
                 "0.1204, 0.1195, 0.1186, 0.1182, 0.1181, 0.1179, 0.1178, 0.1178, 0.1178, 0.1178",\
                 "0.1217, 0.1208, 0.1199, 0.1195, 0.1193, 0.1192, 0.1191, 0.1191, 0.1191, 0.1191",\
                 "0.1233, 0.1225, 0.1215, 0.1211, 0.1209, 0.1207, 0.1207, 0.1207, 0.1206, 0.1206");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1071, 0.1064, 0.1057, 0.1056, 0.1061, 0.1069, 0.1075, 0.1082, 0.1085, 0.1126",\
                 "0.107, 0.1064, 0.1057, 0.1057, 0.1062, 0.1069, 0.1075, 0.1082, 0.1086, 0.1126",\
                 "0.107, 0.1063, 0.1056, 0.1057, 0.1061, 0.1069, 0.1074, 0.1082, 0.1085, 0.1129",\
                 "0.1074, 0.1068, 0.106, 0.1061, 0.1066, 0.1073, 0.1078, 0.1084, 0.1093, 0.1138",\
                 "0.1082, 0.1075, 0.1069, 0.1069, 0.1074, 0.108, 0.1086, 0.1092, 0.1101, 0.1151",\
                 "0.1093, 0.1086, 0.1078, 0.1082, 0.1085, 0.1091, 0.1099, 0.1101, 0.1112, 0.1171",\
                 "0.1108, 0.1102, 0.1094, 0.1094, 0.1101, 0.1111, 0.1115, 0.1119, 0.1125, 0.1207",\
                 "0.1126, 0.1119, 0.1111, 0.111, 0.1114, 0.1122, 0.1138, 0.1142, 0.1157, 0.1251",\
                 "0.1148, 0.1142, 0.1133, 0.1132, 0.1138, 0.1142, 0.1151, 0.1175, 0.1182, 0.1328",\
                 "0.1172, 0.1165, 0.1157, 0.1158, 0.1159, 0.1168, 0.1169, 0.1187, 0.1226, 0.1442");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&SE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.115, 0.1142, 0.1132, 0.1128, 0.1126, 0.1125, 0.1124, 0.1124, 0.1124, 0.1124",\
                 "0.115, 0.1142, 0.1132, 0.1127, 0.1126, 0.1125, 0.1124, 0.1124, 0.1124, 0.1124",\
                 "0.1151, 0.1142, 0.1133, 0.1129, 0.1128, 0.1126, 0.1125, 0.1125, 0.1125, 0.1125",\
                 "0.1156, 0.1148, 0.1138, 0.1134, 0.1132, 0.1132, 0.1131, 0.1131, 0.113, 0.113",\
                 "0.1167, 0.1159, 0.1149, 0.1145, 0.1143, 0.1143, 0.1141, 0.1141, 0.1141, 0.1141",\
                 "0.1176, 0.1167, 0.1157, 0.1153, 0.1151, 0.115, 0.115, 0.115, 0.115, 0.115",\
                 "0.1188, 0.1179, 0.117, 0.1166, 0.1164, 0.1163, 0.1162, 0.1162, 0.1162, 0.1162",\
                 "0.1204, 0.1195, 0.1185, 0.1182, 0.1179, 0.1179, 0.1178, 0.1178, 0.1177, 0.1177",\
                 "0.1217, 0.1209, 0.1199, 0.1194, 0.1193, 0.1192, 0.1192, 0.1191, 0.1191, 0.1191",\
                 "0.1233, 0.1225, 0.1216, 0.1212, 0.121, 0.1208, 0.1208, 0.1207, 0.1207, 0.1207");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1071, 0.1065, 0.1057, 0.1057, 0.1063, 0.1069, 0.1075, 0.108, 0.1089, 0.1126",\
                 "0.107, 0.1064, 0.1056, 0.1057, 0.1062, 0.107, 0.1075, 0.1083, 0.1086, 0.1129",\
                 "0.1069, 0.1063, 0.1056, 0.1056, 0.1061, 0.1068, 0.1074, 0.1082, 0.1085, 0.1128",\
                 "0.1074, 0.1069, 0.1061, 0.1061, 0.1066, 0.1074, 0.1079, 0.1084, 0.1093, 0.1138",\
                 "0.1083, 0.1076, 0.107, 0.1069, 0.1073, 0.1082, 0.1087, 0.1093, 0.1102, 0.115",\
                 "0.1092, 0.1087, 0.1078, 0.1081, 0.1086, 0.1092, 0.1098, 0.1103, 0.1112, 0.118",\
                 "0.1108, 0.1101, 0.1095, 0.1092, 0.11, 0.1111, 0.1115, 0.1118, 0.1125, 0.1207",\
                 "0.1127, 0.112, 0.1113, 0.1112, 0.1116, 0.1126, 0.114, 0.1146, 0.1151, 0.1252",\
                 "0.1148, 0.1142, 0.1133, 0.1133, 0.1134, 0.1141, 0.1151, 0.1175, 0.1182, 0.1327",\
                 "0.1172, 0.1166, 0.1159, 0.1158, 0.116, 0.1161, 0.1167, 0.1184, 0.1229, 0.1438");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.8791, 0.9131, 1.006, 1.146, 1.343, 1.613, 1.967, 2.414, 2.958, 3.606",\
                 "0.8926, 0.9268, 1.019, 1.16, 1.357, 1.627, 1.981, 2.427, 2.972, 3.621",\
                 "0.9434, 0.9775, 1.07, 1.21, 1.408, 1.678, 2.032, 2.478, 3.022, 3.672",\
                 "1.018, 1.052, 1.144, 1.285, 1.482, 1.752, 2.106, 2.552, 3.097, 3.746",\
                 "1.079, 1.113, 1.206, 1.346, 1.543, 1.813, 2.167, 2.613, 3.158, 3.807",\
                 "1.125, 1.159, 1.252, 1.392, 1.589, 1.86, 2.214, 2.66, 3.204, 3.854",\
                 "1.153, 1.188, 1.28, 1.42, 1.618, 1.887, 2.242, 2.687, 3.232, 3.881",\
                 "1.16, 1.194, 1.286, 1.427, 1.624, 1.894, 2.248, 2.694, 3.238, 3.887",\
                 "1.14, 1.174, 1.266, 1.407, 1.604, 1.874, 2.228, 2.674, 3.219, 3.867",\
                 "1.093, 1.127, 1.219, 1.36, 1.557, 1.827, 2.181, 2.627, 3.171, 3.82");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.7815, 0.8206, 0.9416, 1.166, 1.514, 2.002, 2.645, 3.454, 4.443, 5.623",\
                 "0.7951, 0.8342, 0.9553, 1.179, 1.527, 2.016, 2.658, 3.468, 4.457, 5.636",\
                 "0.8451, 0.8843, 1.005, 1.229, 1.577, 2.066, 2.708, 3.519, 4.507, 5.684",\
                 "0.9192, 0.9582, 1.079, 1.303, 1.651, 2.14, 2.782, 3.592, 4.58, 5.76",\
                 "0.9806, 1.02, 1.141, 1.365, 1.713, 2.202, 2.844, 3.654, 4.644, 5.819",\
                 "1.028, 1.067, 1.188, 1.412, 1.76, 2.248, 2.891, 3.701, 4.69, 5.868",\
                 "1.057, 1.096, 1.218, 1.441, 1.79, 2.278, 2.92, 3.73, 4.719, 5.898",\
                 "1.066, 1.105, 1.226, 1.45, 1.798, 2.286, 2.929, 3.737, 4.725, 5.903",\
                 "1.049, 1.089, 1.21, 1.433, 1.782, 2.27, 2.912, 3.722, 4.709, 5.885",\
                 "1.008, 1.047, 1.168, 1.392, 1.74, 2.228, 2.871, 3.679, 4.666, 5.844");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1135, 0.1475, 0.2494, 0.433, 0.7362, 1.179, 1.773, 2.52, 3.44, 4.533",\
                 "0.1138, 0.1473, 0.2494, 0.4328, 0.7356, 1.179, 1.771, 2.521, 3.44, 4.533",\
                 "0.1136, 0.148, 0.2496, 0.4336, 0.7362, 1.179, 1.773, 2.522, 3.44, 4.53",\
                 "0.1136, 0.1478, 0.249, 0.4332, 0.7346, 1.179, 1.773, 2.519, 3.441, 4.527",\
                 "0.1136, 0.1478, 0.2496, 0.433, 0.7356, 1.18, 1.771, 2.523, 3.441, 4.533",\
                 "0.1138, 0.1476, 0.2492, 0.433, 0.7346, 1.178, 1.772, 2.522, 3.44, 4.53",\
                 "0.1134, 0.1474, 0.249, 0.4336, 0.735, 1.178, 1.77, 2.517, 3.435, 4.529",\
                 "0.1136, 0.1478, 0.2492, 0.4332, 0.7362, 1.177, 1.77, 2.52, 3.431, 4.522",\
                 "0.1136, 0.1474, 0.249, 0.4334, 0.7362, 1.179, 1.773, 2.518, 3.432, 4.52",\
                 "0.1136, 0.1484, 0.2492, 0.433, 0.7358, 1.178, 1.771, 2.522, 3.435, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1248, 0.1778, 0.3676, 0.756, 1.371, 2.228, 3.361, 4.785, 6.538, 8.609",\
                 "0.1248, 0.1775, 0.3676, 0.756, 1.371, 2.228, 3.361, 4.785, 6.537, 8.608",\
                 "0.1248, 0.1776, 0.3676, 0.7556, 1.371, 2.228, 3.359, 4.79, 6.538, 8.613",\
                 "0.1252, 0.1776, 0.3676, 0.756, 1.371, 2.229, 3.36, 4.786, 6.535, 8.607",\
                 "0.1252, 0.1776, 0.3676, 0.756, 1.369, 2.228, 3.36, 4.789, 6.531, 8.608",\
                 "0.1248, 0.1776, 0.3672, 0.7562, 1.368, 2.227, 3.36, 4.788, 6.532, 8.612",\
                 "0.1252, 0.178, 0.3678, 0.7556, 1.37, 2.228, 3.362, 4.788, 6.535, 8.604",\
                 "0.1252, 0.178, 0.3674, 0.756, 1.369, 2.228, 3.359, 4.785, 6.531, 8.609",\
                 "0.1254, 0.178, 0.3676, 0.7558, 1.369, 2.229, 3.36, 4.787, 6.525, 8.603",\
                 "0.1258, 0.178, 0.3678, 0.7556, 1.37, 2.23, 3.362, 4.786, 6.526, 8.597");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.879, 0.9131, 1.006, 1.146, 1.343, 1.613, 1.967, 2.414, 2.958, 3.606",\
                 "0.8927, 0.9269, 1.019, 1.16, 1.357, 1.627, 1.981, 2.427, 2.972, 3.621",\
                 "0.9434, 0.9774, 1.07, 1.21, 1.408, 1.678, 2.032, 2.478, 3.022, 3.671",\
                 "1.018, 1.052, 1.144, 1.285, 1.482, 1.752, 2.106, 2.552, 3.096, 3.746",\
                 "1.079, 1.113, 1.206, 1.346, 1.544, 1.813, 2.167, 2.614, 3.159, 3.807",\
                 "1.125, 1.159, 1.252, 1.392, 1.59, 1.86, 2.214, 2.66, 3.204, 3.854",\
                 "1.154, 1.188, 1.28, 1.421, 1.618, 1.888, 2.242, 2.688, 3.232, 3.881",\
                 "1.16, 1.194, 1.286, 1.427, 1.624, 1.894, 2.248, 2.694, 3.238, 3.887",\
                 "1.14, 1.174, 1.266, 1.407, 1.604, 1.874, 2.228, 2.674, 3.218, 3.867",\
                 "1.093, 1.127, 1.219, 1.36, 1.557, 1.827, 2.181, 2.627, 3.171, 3.82");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.7815, 0.8206, 0.9416, 1.166, 1.514, 2.002, 2.645, 3.454, 4.443, 5.623",\
                 "0.7952, 0.8342, 0.9553, 1.179, 1.528, 2.016, 2.659, 3.469, 4.457, 5.636",\
                 "0.8452, 0.8842, 1.005, 1.229, 1.577, 2.066, 2.708, 3.518, 4.508, 5.686",\
                 "0.9191, 0.9583, 1.079, 1.303, 1.651, 2.14, 2.782, 3.591, 4.579, 5.759",\
                 "0.9806, 1.02, 1.141, 1.365, 1.713, 2.202, 2.844, 3.654, 4.643, 5.818",\
                 "1.028, 1.067, 1.188, 1.412, 1.76, 2.249, 2.891, 3.701, 4.691, 5.867",\
                 "1.057, 1.096, 1.218, 1.441, 1.79, 2.278, 2.92, 3.729, 4.719, 5.896",\
                 "1.066, 1.105, 1.226, 1.45, 1.798, 2.286, 2.929, 3.737, 4.725, 5.904",\
                 "1.049, 1.089, 1.21, 1.433, 1.782, 2.27, 2.912, 3.722, 4.709, 5.885",\
                 "1.008, 1.047, 1.168, 1.392, 1.74, 2.228, 2.87, 3.679, 4.667, 5.844");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1136, 0.1477, 0.2494, 0.433, 0.7362, 1.179, 1.773, 2.52, 3.44, 4.533",\
                 "0.1139, 0.1474, 0.2492, 0.433, 0.7356, 1.178, 1.773, 2.521, 3.44, 4.532",\
                 "0.1136, 0.1482, 0.2498, 0.4334, 0.736, 1.18, 1.773, 2.519, 3.44, 4.531",\
                 "0.114, 0.1476, 0.2498, 0.433, 0.735, 1.179, 1.773, 2.523, 3.44, 4.528",\
                 "0.1134, 0.1478, 0.2496, 0.4332, 0.736, 1.18, 1.771, 2.523, 3.438, 4.532",\
                 "0.1138, 0.1474, 0.2494, 0.433, 0.735, 1.179, 1.772, 2.522, 3.44, 4.528",\
                 "0.1136, 0.1478, 0.2494, 0.433, 0.7356, 1.179, 1.77, 2.518, 3.433, 4.526",\
                 "0.1136, 0.1478, 0.249, 0.4334, 0.7362, 1.178, 1.771, 2.518, 3.431, 4.522",\
                 "0.1136, 0.1476, 0.2494, 0.4328, 0.7352, 1.18, 1.772, 2.521, 3.431, 4.519",\
                 "0.1136, 0.1484, 0.2492, 0.4328, 0.735, 1.18, 1.77, 2.52, 3.433, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1248, 0.1778, 0.3676, 0.7558, 1.371, 2.228, 3.36, 4.785, 6.537, 8.608",\
                 "0.1249, 0.1775, 0.3676, 0.756, 1.371, 2.228, 3.359, 4.788, 6.538, 8.608",\
                 "0.1253, 0.1778, 0.3674, 0.756, 1.371, 2.228, 3.361, 4.788, 6.532, 8.613",\
                 "0.1246, 0.1778, 0.3676, 0.756, 1.371, 2.229, 3.36, 4.788, 6.527, 8.607",\
                 "0.1248, 0.1776, 0.3674, 0.756, 1.368, 2.228, 3.362, 4.79, 6.535, 8.609",\
                 "0.1248, 0.1776, 0.368, 0.7558, 1.368, 2.232, 3.362, 4.79, 6.534, 8.608",\
                 "0.1254, 0.1774, 0.3674, 0.7558, 1.369, 2.229, 3.361, 4.786, 6.535, 8.612",\
                 "0.1252, 0.178, 0.3674, 0.756, 1.368, 2.228, 3.359, 4.785, 6.526, 8.605",\
                 "0.1254, 0.178, 0.3674, 0.7558, 1.37, 2.23, 3.361, 4.787, 6.523, 8.603",\
                 "0.1264, 0.1786, 0.3678, 0.7556, 1.37, 2.229, 3.359, 4.784, 6.526, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.879, 0.9131, 1.006, 1.146, 1.343, 1.613, 1.967, 2.414, 2.958, 3.606",\
                 "0.8927, 0.9268, 1.02, 1.16, 1.357, 1.627, 1.981, 2.427, 2.972, 3.621",\
                 "0.9433, 0.9775, 1.07, 1.21, 1.408, 1.678, 2.032, 2.477, 3.022, 3.672",\
                 "1.018, 1.052, 1.144, 1.285, 1.482, 1.752, 2.106, 2.552, 3.097, 3.745",\
                 "1.079, 1.113, 1.206, 1.346, 1.543, 1.813, 2.167, 2.614, 3.159, 3.807",\
                 "1.125, 1.159, 1.252, 1.392, 1.589, 1.859, 2.213, 2.659, 3.204, 3.854",\
                 "1.153, 1.187, 1.28, 1.42, 1.618, 1.887, 2.242, 2.687, 3.232, 3.881",\
                 "1.16, 1.194, 1.286, 1.427, 1.624, 1.894, 2.248, 2.694, 3.238, 3.887",\
                 "1.14, 1.174, 1.266, 1.407, 1.604, 1.874, 2.228, 2.674, 3.219, 3.867",\
                 "1.093, 1.127, 1.219, 1.359, 1.557, 1.827, 2.181, 2.627, 3.171, 3.82");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.7816, 0.8206, 0.9417, 1.166, 1.514, 2.002, 2.645, 3.454, 4.442, 5.623",\
                 "0.7952, 0.8342, 0.9553, 1.179, 1.528, 2.016, 2.658, 3.467, 4.455, 5.636",\
                 "0.8452, 0.8842, 1.005, 1.229, 1.577, 2.066, 2.708, 3.517, 4.506, 5.686",\
                 "0.9192, 0.9582, 1.079, 1.303, 1.651, 2.14, 2.782, 3.592, 4.581, 5.757",\
                 "0.9806, 1.02, 1.141, 1.365, 1.713, 2.201, 2.844, 3.654, 4.643, 5.817",\
                 "1.028, 1.067, 1.188, 1.412, 1.76, 2.248, 2.891, 3.701, 4.689, 5.866",\
                 "1.057, 1.096, 1.217, 1.441, 1.79, 2.278, 2.92, 3.73, 4.718, 5.898",\
                 "1.066, 1.105, 1.226, 1.45, 1.798, 2.286, 2.929, 3.737, 4.725, 5.904",\
                 "1.049, 1.088, 1.21, 1.433, 1.782, 2.27, 2.912, 3.722, 4.709, 5.885",\
                 "1.008, 1.047, 1.168, 1.391, 1.74, 2.228, 2.871, 3.679, 4.667, 5.844");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1136, 0.1477, 0.2494, 0.433, 0.7362, 1.179, 1.773, 2.52, 3.44, 4.533",\
                 "0.1139, 0.1477, 0.2488, 0.433, 0.7354, 1.18, 1.773, 2.521, 3.435, 4.532",\
                 "0.1134, 0.1476, 0.25, 0.4332, 0.736, 1.178, 1.773, 2.523, 3.44, 4.53",\
                 "0.1134, 0.1476, 0.2492, 0.433, 0.736, 1.178, 1.773, 2.52, 3.438, 4.533",\
                 "0.1134, 0.1476, 0.25, 0.4338, 0.7366, 1.178, 1.772, 2.523, 3.439, 4.532",\
                 "0.1138, 0.1478, 0.2492, 0.4336, 0.7346, 1.179, 1.772, 2.523, 3.439, 4.531",\
                 "0.1134, 0.1478, 0.2492, 0.4338, 0.735, 1.178, 1.77, 2.517, 3.432, 4.525",\
                 "0.1136, 0.1478, 0.249, 0.4328, 0.7362, 1.179, 1.769, 2.518, 3.431, 4.521",\
                 "0.1136, 0.1474, 0.249, 0.4336, 0.736, 1.179, 1.773, 2.518, 3.432, 4.519",\
                 "0.1134, 0.1476, 0.2488, 0.4332, 0.735, 1.179, 1.769, 2.522, 3.432, 4.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.125, 0.1777, 0.3677, 0.7562, 1.371, 2.23, 3.361, 4.788, 6.528, 8.609",\
                 "0.1255, 0.1775, 0.3678, 0.7558, 1.368, 2.229, 3.36, 4.788, 6.527, 8.607",\
                 "0.1253, 0.1774, 0.3676, 0.756, 1.371, 2.229, 3.36, 4.787, 6.532, 8.604",\
                 "0.125, 0.1776, 0.3676, 0.7562, 1.371, 2.23, 3.36, 4.788, 6.538, 8.614",\
                 "0.125, 0.1776, 0.368, 0.7558, 1.368, 2.228, 3.36, 4.787, 6.533, 8.603",\
                 "0.1248, 0.1776, 0.3672, 0.7574, 1.368, 2.228, 3.359, 4.786, 6.532, 8.607",\
                 "0.125, 0.178, 0.3674, 0.7558, 1.369, 2.227, 3.364, 4.787, 6.529, 8.606",\
                 "0.125, 0.1776, 0.3674, 0.7574, 1.368, 2.232, 3.359, 4.787, 6.526, 8.61",\
                 "0.1256, 0.178, 0.3674, 0.756, 1.368, 2.228, 3.364, 4.787, 6.525, 8.603",\
                 "0.1254, 0.1782, 0.3676, 0.7564, 1.368, 2.228, 3.36, 4.788, 6.53, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.879, 0.9132, 1.006, 1.146, 1.343, 1.613, 1.967, 2.414, 2.958, 3.606",\
                 "0.8927, 0.9268, 1.019, 1.16, 1.357, 1.627, 1.981, 2.427, 2.972, 3.62",\
                 "0.9434, 0.9774, 1.07, 1.21, 1.408, 1.677, 2.032, 2.477, 3.022, 3.672",\
                 "1.018, 1.052, 1.144, 1.285, 1.482, 1.752, 2.106, 2.552, 3.097, 3.745",\
                 "1.079, 1.113, 1.206, 1.346, 1.543, 1.813, 2.167, 2.613, 3.158, 3.806",\
                 "1.125, 1.16, 1.252, 1.392, 1.589, 1.859, 2.213, 2.659, 3.204, 3.854",\
                 "1.153, 1.187, 1.28, 1.42, 1.618, 1.887, 2.242, 2.687, 3.232, 3.88",\
                 "1.16, 1.194, 1.286, 1.426, 1.624, 1.894, 2.248, 2.694, 3.238, 3.887",\
                 "1.14, 1.174, 1.267, 1.407, 1.604, 1.874, 2.228, 2.674, 3.218, 3.867",\
                 "1.092, 1.127, 1.219, 1.359, 1.557, 1.827, 2.181, 2.627, 3.171, 3.82");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.7815, 0.8206, 0.9416, 1.166, 1.514, 2.002, 2.645, 3.454, 4.443, 5.622",\
                 "0.7952, 0.8343, 0.9553, 1.179, 1.527, 2.016, 2.659, 3.467, 4.455, 5.636",\
                 "0.8451, 0.8842, 1.005, 1.229, 1.577, 2.066, 2.708, 3.517, 4.505, 5.685",\
                 "0.919, 0.9583, 1.079, 1.303, 1.651, 2.14, 2.782, 3.591, 4.58, 5.76",\
                 "0.9806, 1.02, 1.141, 1.365, 1.713, 2.202, 2.844, 3.654, 4.644, 5.819",\
                 "1.028, 1.067, 1.188, 1.412, 1.76, 2.249, 2.891, 3.701, 4.69, 5.867",\
                 "1.057, 1.096, 1.218, 1.441, 1.79, 2.278, 2.92, 3.73, 4.718, 5.898",\
                 "1.066, 1.105, 1.226, 1.45, 1.798, 2.286, 2.928, 3.738, 4.725, 5.904",\
                 "1.049, 1.089, 1.21, 1.433, 1.782, 2.27, 2.912, 3.722, 4.709, 5.885",\
                 "1.007, 1.046, 1.168, 1.391, 1.74, 2.228, 2.87, 3.679, 4.667, 5.844");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1136, 0.1477, 0.2495, 0.433, 0.7362, 1.179, 1.773, 2.52, 3.44, 4.533",\
                 "0.1136, 0.1478, 0.2496, 0.4328, 0.7354, 1.18, 1.771, 2.523, 3.438, 4.533",\
                 "0.1136, 0.1482, 0.2496, 0.4336, 0.737, 1.178, 1.772, 2.523, 3.44, 4.53",\
                 "0.1134, 0.1478, 0.2496, 0.4332, 0.735, 1.179, 1.772, 2.523, 3.437, 4.533",\
                 "0.1136, 0.1478, 0.2492, 0.433, 0.7356, 1.18, 1.771, 2.523, 3.438, 4.533",\
                 "0.1138, 0.1482, 0.2496, 0.4332, 0.7348, 1.179, 1.772, 2.522, 3.44, 4.53",\
                 "0.1134, 0.1478, 0.2492, 0.4328, 0.7352, 1.178, 1.77, 2.517, 3.433, 4.527",\
                 "0.1134, 0.1478, 0.2492, 0.4334, 0.7354, 1.178, 1.77, 2.518, 3.43, 4.522",\
                 "0.1136, 0.1478, 0.2498, 0.4328, 0.7356, 1.179, 1.773, 2.522, 3.434, 4.519",\
                 "0.1138, 0.1476, 0.249, 0.4332, 0.735, 1.18, 1.769, 2.52, 3.434, 4.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1253, 0.1778, 0.3675, 0.756, 1.371, 2.229, 3.361, 4.785, 6.537, 8.608",\
                 "0.1253, 0.1777, 0.3676, 0.756, 1.371, 2.227, 3.36, 4.788, 6.529, 8.606",\
                 "0.1247, 0.1778, 0.3676, 0.7562, 1.371, 2.229, 3.36, 4.788, 6.527, 8.607",\
                 "0.1246, 0.1776, 0.3676, 0.7562, 1.371, 2.227, 3.36, 4.786, 6.537, 8.608",\
                 "0.1252, 0.1776, 0.3682, 0.756, 1.37, 2.228, 3.359, 4.788, 6.532, 8.606",\
                 "0.1248, 0.1776, 0.3684, 0.7552, 1.368, 2.228, 3.361, 4.79, 6.531, 8.608",\
                 "0.1254, 0.1776, 0.3676, 0.756, 1.369, 2.228, 3.365, 4.788, 6.533, 8.608",\
                 "0.125, 0.178, 0.3674, 0.7562, 1.369, 2.229, 3.359, 4.789, 6.529, 8.611",\
                 "0.1254, 0.178, 0.3676, 0.7558, 1.369, 2.229, 3.36, 4.787, 6.526, 8.603",\
                 "0.1254, 0.1782, 0.3676, 0.7556, 1.37, 2.228, 3.359, 4.787, 6.526, 8.6");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.879, 0.9131, 1.006, 1.146, 1.343, 1.613, 1.967, 2.414, 2.958, 3.606",\
                 "0.8927, 0.9268, 1.02, 1.16, 1.357, 1.627, 1.981, 2.427, 2.972, 3.621",\
                 "0.9433, 0.9775, 1.07, 1.21, 1.408, 1.678, 2.032, 2.477, 3.022, 3.672",\
                 "1.018, 1.052, 1.144, 1.285, 1.482, 1.752, 2.106, 2.552, 3.097, 3.745",\
                 "1.079, 1.113, 1.206, 1.346, 1.543, 1.813, 2.167, 2.614, 3.159, 3.807",\
                 "1.125, 1.159, 1.252, 1.392, 1.589, 1.859, 2.213, 2.659, 3.204, 3.854",\
                 "1.153, 1.187, 1.28, 1.42, 1.618, 1.887, 2.242, 2.687, 3.232, 3.881",\
                 "1.16, 1.194, 1.286, 1.427, 1.624, 1.894, 2.248, 2.694, 3.238, 3.887",\
                 "1.14, 1.174, 1.266, 1.407, 1.604, 1.874, 2.228, 2.674, 3.219, 3.867",\
                 "1.093, 1.127, 1.219, 1.359, 1.557, 1.827, 2.181, 2.627, 3.171, 3.82");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.7816, 0.8206, 0.9417, 1.166, 1.514, 2.002, 2.645, 3.454, 4.442, 5.623",\
                 "0.7952, 0.8342, 0.9553, 1.179, 1.528, 2.016, 2.658, 3.467, 4.455, 5.636",\
                 "0.8452, 0.8842, 1.005, 1.229, 1.577, 2.066, 2.708, 3.517, 4.506, 5.686",\
                 "0.9192, 0.9582, 1.079, 1.303, 1.651, 2.14, 2.782, 3.592, 4.581, 5.757",\
                 "0.9806, 1.02, 1.141, 1.365, 1.713, 2.201, 2.844, 3.654, 4.643, 5.817",\
                 "1.028, 1.067, 1.188, 1.412, 1.76, 2.248, 2.891, 3.701, 4.689, 5.866",\
                 "1.057, 1.096, 1.217, 1.441, 1.79, 2.278, 2.92, 3.73, 4.718, 5.898",\
                 "1.066, 1.105, 1.226, 1.45, 1.798, 2.286, 2.929, 3.737, 4.725, 5.904",\
                 "1.049, 1.088, 1.21, 1.433, 1.782, 2.27, 2.912, 3.722, 4.709, 5.885",\
                 "1.008, 1.047, 1.168, 1.391, 1.74, 2.228, 2.871, 3.679, 4.667, 5.844");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.1135, 0.1475, 0.2494, 0.433, 0.7362, 1.179, 1.773, 2.52, 3.44, 4.533",\
                 "0.1138, 0.1473, 0.2494, 0.4328, 0.7356, 1.179, 1.771, 2.521, 3.44, 4.533",\
                 "0.1136, 0.148, 0.2496, 0.4336, 0.7362, 1.179, 1.773, 2.522, 3.44, 4.53",\
                 "0.1136, 0.1478, 0.249, 0.4332, 0.7346, 1.179, 1.773, 2.519, 3.441, 4.527",\
                 "0.1136, 0.1478, 0.2496, 0.433, 0.7356, 1.18, 1.771, 2.523, 3.441, 4.533",\
                 "0.1138, 0.1476, 0.2492, 0.433, 0.7346, 1.178, 1.772, 2.522, 3.44, 4.53",\
                 "0.1134, 0.1474, 0.249, 0.4336, 0.735, 1.178, 1.77, 2.517, 3.435, 4.529",\
                 "0.1136, 0.1478, 0.2492, 0.4332, 0.7362, 1.177, 1.77, 2.52, 3.431, 4.522",\
                 "0.1136, 0.1474, 0.249, 0.4334, 0.7362, 1.179, 1.773, 2.518, 3.432, 4.52",\
                 "0.1136, 0.1484, 0.2492, 0.433, 0.7358, 1.178, 1.771, 2.522, 3.435, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003469, 0.01213, 0.02868, 0.05446, 0.09063, 0.1382, 0.1982, 0.2714, 0.3587");
          values("0.125, 0.1777, 0.3677, 0.7562, 1.371, 2.23, 3.361, 4.788, 6.528, 8.609",\
                 "0.1255, 0.1775, 0.3678, 0.7558, 1.368, 2.229, 3.36, 4.788, 6.527, 8.607",\
                 "0.1253, 0.1774, 0.3676, 0.756, 1.371, 2.229, 3.36, 4.787, 6.532, 8.604",\
                 "0.125, 0.1776, 0.3676, 0.7562, 1.371, 2.23, 3.36, 4.788, 6.538, 8.614",\
                 "0.125, 0.1776, 0.368, 0.7558, 1.368, 2.228, 3.36, 4.787, 6.533, 8.603",\
                 "0.1248, 0.1776, 0.3672, 0.7574, 1.368, 2.228, 3.359, 4.786, 6.532, 8.607",\
                 "0.125, 0.178, 0.3674, 0.7558, 1.369, 2.227, 3.364, 4.787, 6.529, 8.606",\
                 "0.125, 0.1776, 0.3674, 0.7574, 1.368, 2.232, 3.359, 4.787, 6.526, 8.61",\
                 "0.1256, 0.178, 0.3674, 0.756, 1.368, 2.228, 3.364, 4.787, 6.525, 8.603",\
                 "0.1254, 0.1782, 0.3676, 0.7564, 1.368, 2.228, 3.36, 4.788, 6.53, 8.599");
        }
      }
    }

    pin(SE) {
      capacitance : 0.005819 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04985, 0.04928, 0.05058, 0.05592, 0.06604, 0.08137, 0.1024, \
                 0.1297, 0.1634, 0.2039");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001665, 0.001422, 0.002232, 0.006258, 0.01457, 0.02764, 0.04589, \
                 0.0694, 0.09858, 0.1338");
        }
      }

      internal_power() {
        when : "!CLK&!D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1646, 0.1637, 0.1644, 0.1697, 0.1832, 0.2066, 0.2414, 0.2885, \
                 0.3479, 0.4197");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07171, 0.07152, 0.07199, 0.07664, 0.08846, 0.1088, 0.1385, 0.1778, \
                 0.2275, 0.2879");
        }
      }

      internal_power() {
        when : "!CLK&D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1285, 0.128, 0.1293, 0.1348, 0.1449, 0.1605, 0.1818, 0.2096, \
                 0.244, 0.2855");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1248, 0.1245, 0.125, 0.1283, 0.1357, 0.1483, 0.1661, 0.1894, \
                 0.2187, 0.2547");
        }
      }

      internal_power() {
        when : "!CLK&D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0508, 0.05025, 0.05172, 0.05715, 0.06738, 0.08285, 0.1041, 0.1314, \
                 0.1651, 0.2057");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002595, 0.002318, 0.003108, 0.007067, 0.01532, 0.0283, 0.04644, \
                 0.06995, 0.09914, 0.1343");
        }
      }

      internal_power() {
        when : "CLK&!D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04931, 0.04874, 0.05002, 0.05538, 0.06552, 0.08091, 0.102, 0.1293, \
                 0.1629, 0.2035");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001075, 0.0007854, 0.001618, 0.005661, 0.01398, 0.02708, 0.04531, \
                 0.06888, 0.09812, 0.1333");
        }
      }

      internal_power() {
        when : "CLK&!D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06612, 0.0655, 0.06688, 0.07237, 0.08343, 0.1001, 0.1225, 0.1509, \
                 0.1853, 0.2262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00102, -0.001342, -0.0009086, 0.003039, 0.01202, 0.02644, 0.04613, \
                 0.07075, 0.1007, 0.1365");
        }
      }

      internal_power() {
        when : "CLK&D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0532, 0.05265, 0.05398, 0.05925, 0.06924, 0.08441, 0.1054, 0.1324, \
                 0.1659, 0.2062");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01979, 0.01951, 0.0203, 0.02421, 0.03244, 0.04539, 0.06388, \
                 0.0882, 0.1174, 0.1525");
        }
      }

      internal_power() {
        when : "CLK&D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04986, 0.04933, 0.05082, 0.05623, 0.06648, 0.08204, 0.1032, \
                 0.1305, 0.1643, 0.2049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002094, 0.001808, 0.0026, 0.006565, 0.01481, 0.02782, 0.04595, \
                 0.06949, 0.09868, 0.1339");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.088, -0.041, 0.017, 0.077, 0.111, 0.125, 0.119, 0.091, 0.028",\
                 "-0.111, -0.096, -0.054, 0.006, 0.062, 0.1, 0.115, 0.111, 0.08, 0.02",\
                 "-0.152, -0.142, -0.094, -0.036, 0.026, 0.06, 0.076, 0.068, 0.04, -0.022",\
                 "-0.235, -0.218, -0.172, -0.114, -0.053, -0.021, -0.004, -0.005, -0.038, -0.092",\
                 "-0.337, -0.332, -0.277, -0.216, -0.154, -0.118, -0.098, -0.106, -0.125, -0.186",\
                 "-0.474, -0.465, -0.417, -0.351, -0.293, -0.254, -0.227, -0.23, -0.248, -0.298",\
                 "-0.622, -0.621, -0.574, -0.515, -0.445, -0.399, -0.371, -0.364, -0.387, -0.431",\
                 "-0.809, -0.804, -0.758, -0.703, -0.627, -0.578, -0.544, -0.538, -0.544, -0.589",\
                 "-1.022, -1.029, -0.983, -0.933, -0.849, -0.806, -0.76, -0.746, -0.747, -0.785",\
                 "-1.288, -1.294, -1.249, -1.194, -1.112, -1.066, -1.01, -0.998, -0.999, -1.033");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.315, -0.3, -0.272, -0.256, -0.273, -0.309, -0.364, -0.442, -0.538, -0.67",\
                 "-0.323, -0.31, -0.285, -0.274, -0.285, -0.319, -0.373, -0.45, -0.554, -0.682",\
                 "-0.356, -0.343, -0.307, -0.297, -0.313, -0.348, -0.395, -0.478, -0.581, -0.703",\
                 "-0.398, -0.382, -0.352, -0.337, -0.348, -0.372, -0.423, -0.499, -0.597, -0.724",\
                 "-0.442, -0.425, -0.39, -0.374, -0.376, -0.399, -0.447, -0.521, -0.617, -0.74",\
                 "-0.463, -0.448, -0.411, -0.388, -0.389, -0.41, -0.456, -0.525, -0.62, -0.744",\
                 "-0.454, -0.441, -0.402, -0.385, -0.382, -0.399, -0.444, -0.51, -0.606, -0.723",\
                 "-0.408, -0.398, -0.36, -0.342, -0.338, -0.359, -0.397, -0.469, -0.564, -0.677",\
                 "-0.322, -0.306, -0.272, -0.25, -0.253, -0.282, -0.322, -0.395, -0.491, -0.605",\
                 "-0.189, -0.177, -0.144, -0.131, -0.129, -0.155, -0.204, -0.28, -0.377, -0.496");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.51, -0.491, -0.465, -0.446, -0.466, -0.499, -0.558, -0.637, -0.737, -0.867",\
                 "-0.521, -0.509, -0.48, -0.467, -0.478, -0.513, -0.57, -0.653, -0.755, -0.881",\
                 "-0.592, -0.58, -0.543, -0.534, -0.548, -0.585, -0.64, -0.721, -0.821, -0.95",\
                 "-0.707, -0.691, -0.665, -0.65, -0.665, -0.694, -0.753, -0.833, -0.938, -1.066",\
                 "-0.858, -0.842, -0.808, -0.802, -0.814, -0.846, -0.899, -0.98, -1.081, -1.205",\
                 "-1.044, -1.031, -0.998, -0.987, -0.994, -1.026, -1.083, -1.156, -1.259, -1.384",\
                 "-1.254, -1.247, -1.208, -1.194, -1.211, -1.241, -1.292, -1.369, -1.468, -1.594",\
                 "-1.505, -1.497, -1.46, -1.444, -1.456, -1.488, -1.539, -1.614, -1.712, -1.834",\
                 "-1.786, -1.775, -1.744, -1.727, -1.739, -1.764, -1.817, -1.887, -1.984, -2.109",\
                 "-2.115, -2.101, -2.069, -2.05, -2.053, -2.081, -2.13, -2.203, -2.296, -2.425");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.229, -0.218, -0.17, -0.11, -0.057, -0.021, -0.002, -0.011, -0.037, -0.102",\
                 "-0.241, -0.231, -0.184, -0.119, -0.069, -0.03, -0.013, -0.02, -0.048, -0.111",\
                 "-0.275, -0.266, -0.22, -0.158, -0.105, -0.068, -0.042, -0.056, -0.084, -0.145",\
                 "-0.307, -0.295, -0.247, -0.183, -0.132, -0.094, -0.074, -0.085, -0.117, -0.176",\
                 "-0.322, -0.309, -0.26, -0.205, -0.148, -0.11, -0.093, -0.106, -0.135, -0.192",\
                 "-0.313, -0.3, -0.251, -0.19, -0.135, -0.103, -0.079, -0.087, -0.122, -0.175",\
                 "-0.26, -0.253, -0.202, -0.135, -0.09, -0.049, -0.032, -0.042, -0.068, -0.131",\
                 "-0.184, -0.171, -0.124, -0.061, -0.005, 0.028, 0.052, 0.04, 0.01, -0.047",\
                 "-0.067, -0.057, -0.007, 0.055, 0.116, 0.148, 0.168, 0.159, 0.132, 0.071",\
                 "0.087, 0.095, 0.146, 0.209, 0.264, 0.298, 0.324, 0.31, 0.289, 0.231");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.779, 0.764, 0.707, 0.62, 0.541, 0.481, 0.449, 0.436, 0.466, 0.514",\
                 "0.794, 0.778, 0.717, 0.621, 0.548, 0.489, 0.458, 0.444, 0.473, 0.525",\
                 "0.828, 0.817, 0.756, 0.657, 0.592, 0.527, 0.495, 0.485, 0.514, 0.564",\
                 "0.908, 0.893, 0.828, 0.735, 0.66, 0.607, 0.564, 0.559, 0.588, 0.641",\
                 "1.03, 1.019, 0.956, 0.866, 0.788, 0.732, 0.699, 0.691, 0.712, 0.771",\
                 "1.228, 1.214, 1.158, 1.068, 0.994, 0.934, 0.894, 0.887, 0.903, 0.957",\
                 "1.491, 1.478, 1.416, 1.324, 1.246, 1.187, 1.147, 1.135, 1.149, 1.195",\
                 "1.812, 1.801, 1.74, 1.645, 1.56, 1.496, 1.451, 1.425, 1.435, 1.483",\
                 "2.192, 2.176, 2.116, 2.015, 1.928, 1.848, 1.799, 1.772, 1.781, 1.812",\
                 "2.621, 2.609, 2.542, 2.437, 2.346, 2.263, 2.209, 2.179, 2.179, 2.206");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.67, 0.655, 0.6, 0.529, 0.489, 0.493, 0.525, 0.584, 0.681, 0.8",\
                 "0.678, 0.667, 0.61, 0.544, 0.502, 0.501, 0.536, 0.599, 0.689, 0.813",\
                 "0.71, 0.698, 0.638, 0.57, 0.531, 0.534, 0.567, 0.628, 0.721, 0.838",\
                 "0.753, 0.739, 0.688, 0.613, 0.576, 0.57, 0.604, 0.653, 0.746, 0.865",\
                 "0.807, 0.795, 0.739, 0.665, 0.626, 0.618, 0.636, 0.684, 0.769, 0.89",\
                 "0.848, 0.83, 0.775, 0.703, 0.661, 0.642, 0.658, 0.702, 0.787, 0.899",\
                 "0.858, 0.844, 0.791, 0.725, 0.674, 0.648, 0.662, 0.706, 0.783, 0.895",\
                 "0.839, 0.822, 0.771, 0.697, 0.657, 0.629, 0.641, 0.681, 0.76, 0.861",\
                 "0.783, 0.771, 0.718, 0.644, 0.594, 0.569, 0.582, 0.618, 0.7, 0.803",\
                 "0.684, 0.67, 0.616, 0.546, 0.499, 0.472, 0.483, 0.52, 0.602, 0.701");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.864, 0.846, 0.798, 0.729, 0.69, 0.689, 0.727, 0.784, 0.88, 0.998",\
                 "0.883, 0.866, 0.812, 0.737, 0.702, 0.702, 0.741, 0.796, 0.89, 1.012",\
                 "0.946, 0.935, 0.882, 0.808, 0.775, 0.77, 0.803, 0.864, 0.961, 1.084",\
                 "1.071, 1.057, 0.99, 0.927, 0.887, 0.884, 0.923, 0.981, 1.077, 1.195",\
                 "1.216, 1.197, 1.148, 1.072, 1.036, 1.039, 1.071, 1.128, 1.223, 1.343",\
                 "1.395, 1.379, 1.33, 1.258, 1.222, 1.214, 1.251, 1.308, 1.4, 1.52",\
                 "1.617, 1.598, 1.543, 1.474, 1.434, 1.43, 1.469, 1.526, 1.616, 1.737",\
                 "1.86, 1.849, 1.79, 1.725, 1.686, 1.682, 1.715, 1.763, 1.86, 1.978",\
                 "2.152, 2.136, 2.075, 2.007, 1.975, 1.963, 1.988, 2.049, 2.132, 2.253",\
                 "2.475, 2.457, 2.402, 2.342, 2.292, 2.282, 2.309, 2.363, 2.449, 2.564");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.922, 0.908, 0.847, 0.756, 0.682, 0.625, 0.592, 0.578, 0.609, 0.66",\
                 "0.937, 0.921, 0.859, 0.765, 0.695, 0.637, 0.604, 0.587, 0.617, 0.672",\
                 "0.968, 0.959, 0.898, 0.802, 0.723, 0.668, 0.64, 0.628, 0.655, 0.709",\
                 "0.999, 0.98, 0.92, 0.827, 0.75, 0.694, 0.654, 0.647, 0.676, 0.731",\
                 "1, 0.988, 0.93, 0.834, 0.761, 0.706, 0.671, 0.662, 0.693, 0.747",\
                 "0.992, 0.978, 0.915, 0.827, 0.749, 0.691, 0.658, 0.651, 0.677, 0.738",\
                 "0.951, 0.93, 0.873, 0.785, 0.708, 0.655, 0.614, 0.608, 0.635, 0.695",\
                 "0.868, 0.852, 0.796, 0.703, 0.634, 0.578, 0.544, 0.532, 0.557, 0.614",\
                 "0.751, 0.739, 0.677, 0.591, 0.518, 0.459, 0.428, 0.422, 0.451, 0.506",\
                 "0.601, 0.586, 0.525, 0.439, 0.368, 0.31, 0.276, 0.272, 0.296, 0.353");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002642 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008436, 0.00838, 0.008341, 0.008368, 0.008361, 0.008378, 0.00836, \
                 0.008368, 0.008361, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008168, -0.00815, -0.008162, -0.008203, -0.008241, -0.008273, \
                 -0.008262, -0.008286, -0.008288, -0.008292");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1353, 0.1349, 0.1345, 0.1343, 0.137, 0.1455, 0.1617, 0.1862, \
                 0.218, 0.2567");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06972, 0.06919, 0.06867, 0.06893, 0.07205, 0.07971, 0.09293, \
                 0.1121, 0.1375, 0.1692");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008358, 0.008345, 0.008345, 0.008351, 0.008369, 0.008368, 0.008371, \
                 0.008363, 0.008366, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007457, -0.007831, -0.008146, -0.0082, -0.008241, -0.008264, \
                 -0.008278, -0.008284, -0.008295, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1353, 0.1349, 0.1344, 0.1343, 0.137, 0.1456, 0.1617, 0.1862, \
                 0.218, 0.2568");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06972, 0.0692, 0.06867, 0.06893, 0.07205, 0.07973, 0.09294, \
                 0.1121, 0.1375, 0.1692");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008384, 0.008378, 0.00835, 0.008352, 0.008372, 0.008378, 0.008366, \
                 0.008365, 0.008364, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008155, -0.008158, -0.00817, -0.00821, -0.008253, -0.00827, \
                 -0.008285, -0.008281, -0.008292, -0.00829");
        }
      }

      internal_power() {
        when : "CLK&!D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02822, 0.02823, 0.02823, 0.02817, 0.02816, 0.02816, 0.02818, \
                 0.02818, 0.02821, 0.02819");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006452, -0.006741, -0.007119, -0.007429, -0.007665, -0.007771, \
                 -0.007884, -0.007939, -0.007985, -0.00801");
        }
      }

      internal_power() {
        when : "CLK&D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008375, 0.008366, 0.008364, 0.008361, 0.008347, 0.008384, 0.008365, \
                 0.008363, 0.00837, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00757, -0.007863, -0.008159, -0.008211, -0.008239, -0.008263, \
                 -0.008282, -0.008284, -0.008291, -0.008298");
        }
      }

      internal_power() {
        when : "CLK&D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02822, 0.02823, 0.02823, 0.02817, 0.02815, 0.02816, 0.02818, \
                 0.02818, 0.02821, 0.02819");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006452, -0.006738, -0.007119, -0.007428, -0.007669, -0.00777, \
                 -0.007883, -0.007942, -0.007979, -0.008011");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.189, -0.177, -0.133, -0.074, -0.02, 0.014, 0.032, 0.024, -0.005, -0.066",\
                 "-0.2, -0.191, -0.143, -0.081, -0.031, 0.005, 0.021, 0.016, -0.016, -0.074",\
                 "-0.232, -0.225, -0.173, -0.117, -0.061, -0.029, -0.006, -0.019, -0.051, -0.108",\
                 "-0.28, -0.276, -0.23, -0.168, -0.111, -0.072, -0.054, -0.065, -0.09, -0.154",\
                 "-0.352, -0.34, -0.295, -0.232, -0.174, -0.136, -0.115, -0.121, -0.144, -0.204",\
                 "-0.422, -0.418, -0.366, -0.307, -0.24, -0.205, -0.18, -0.188, -0.211, -0.265",\
                 "-0.496, -0.501, -0.447, -0.385, -0.319, -0.278, -0.25, -0.247, -0.275, -0.324",\
                 "-0.597, -0.601, -0.553, -0.489, -0.412, -0.376, -0.339, -0.338, -0.348, -0.39",\
                 "-0.72, -0.732, -0.677, -0.636, -0.537, -0.502, -0.452, -0.449, -0.452, -0.488",\
                 "-0.876, -0.895, -0.841, -0.787, -0.701, -0.653, -0.596, -0.583, -0.575, -0.609");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.372, -0.361, -0.326, -0.31, -0.332, -0.366, -0.423, -0.507, -0.61, -0.737",\
                 "-0.377, -0.366, -0.332, -0.322, -0.332, -0.372, -0.433, -0.51, -0.618, -0.745",\
                 "-0.393, -0.379, -0.346, -0.337, -0.348, -0.387, -0.44, -0.528, -0.63, -0.756",\
                 "-0.407, -0.401, -0.369, -0.352, -0.364, -0.401, -0.453, -0.533, -0.641, -0.769",\
                 "-0.427, -0.409, -0.382, -0.363, -0.37, -0.399, -0.459, -0.535, -0.636, -0.764",\
                 "-0.422, -0.407, -0.372, -0.359, -0.363, -0.394, -0.443, -0.516, -0.62, -0.744",\
                 "-0.386, -0.373, -0.338, -0.325, -0.336, -0.365, -0.412, -0.481, -0.588, -0.709",\
                 "-0.325, -0.309, -0.279, -0.262, -0.271, -0.3, -0.348, -0.429, -0.523, -0.653",\
                 "-0.218, -0.21, -0.172, -0.163, -0.168, -0.203, -0.257, -0.334, -0.436, -0.56",\
                 "-0.075, -0.062, -0.031, -0.019, -0.028, -0.064, -0.125, -0.208, -0.314, -0.445");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.189, -0.177, -0.133, -0.065, -0.02, 0.014, 0.04, 0.024, -0.005, -0.066",\
                 "-0.2, -0.191, -0.143, -0.081, -0.031, 0.005, 0.03, 0.016, -0.016, -0.074",\
                 "-0.232, -0.225, -0.173, -0.117, -0.061, -0.029, -0.006, -0.019, -0.051, -0.108",\
                 "-0.28, -0.276, -0.224, -0.16, -0.111, -0.072, -0.054, -0.065, -0.09, -0.154",\
                 "-0.352, -0.34, -0.295, -0.226, -0.174, -0.136, -0.11, -0.121, -0.144, -0.204",\
                 "-0.422, -0.418, -0.366, -0.3, -0.24, -0.205, -0.18, -0.188, -0.211, -0.265",\
                 "-0.496, -0.501, -0.447, -0.386, -0.319, -0.278, -0.242, -0.247, -0.275, -0.324",\
                 "-0.597, -0.601, -0.547, -0.482, -0.412, -0.376, -0.329, -0.338, -0.348, -0.39",\
                 "-0.728, -0.732, -0.685, -0.609, -0.546, -0.502, -0.44, -0.449, -0.444, -0.479",\
                 "-0.876, -0.895, -0.841, -0.769, -0.695, -0.653, -0.589, -0.583, -0.575, -0.609");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.372, -0.361, -0.326, -0.31, -0.332, -0.366, -0.423, -0.507, -0.61, -0.737",\
                 "-0.377, -0.366, -0.332, -0.322, -0.332, -0.372, -0.433, -0.51, -0.61, -0.745",\
                 "-0.393, -0.379, -0.346, -0.337, -0.348, -0.387, -0.44, -0.528, -0.63, -0.756",\
                 "-0.407, -0.401, -0.369, -0.352, -0.364, -0.401, -0.453, -0.533, -0.641, -0.764",\
                 "-0.427, -0.409, -0.382, -0.363, -0.37, -0.399, -0.459, -0.535, -0.636, -0.764",\
                 "-0.422, -0.407, -0.372, -0.359, -0.363, -0.394, -0.443, -0.516, -0.62, -0.744",\
                 "-0.386, -0.373, -0.338, -0.325, -0.336, -0.365, -0.412, -0.481, -0.588, -0.709",\
                 "-0.325, -0.315, -0.279, -0.262, -0.271, -0.3, -0.348, -0.429, -0.523, -0.653",\
                 "-0.218, -0.21, -0.172, -0.164, -0.168, -0.203, -0.257, -0.334, -0.436, -0.56",\
                 "-0.075, -0.062, -0.031, -0.019, -0.028, -0.064, -0.125, -0.208, -0.305, -0.445");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.887, 0.873, 0.809, 0.719, 0.645, 0.585, 0.55, 0.542, 0.57, 0.623",\
                 "0.896, 0.882, 0.823, 0.727, 0.656, 0.595, 0.561, 0.557, 0.577, 0.635",\
                 "0.93, 0.917, 0.858, 0.761, 0.688, 0.629, 0.595, 0.591, 0.614, 0.671",\
                 "0.989, 0.97, 0.909, 0.812, 0.74, 0.68, 0.654, 0.64, 0.667, 0.72",\
                 "1.075, 1.058, 1, 0.908, 0.835, 0.776, 0.739, 0.728, 0.759, 0.812",\
                 "1.228, 1.214, 1.158, 1.061, 0.986, 0.928, 0.894, 0.879, 0.903, 0.951",\
                 "1.465, 1.444, 1.389, 1.285, 1.206, 1.147, 1.106, 1.086, 1.102, 1.145",\
                 "1.753, 1.741, 1.672, 1.572, 1.486, 1.421, 1.373, 1.345, 1.354, 1.395",\
                 "2.104, 2.08, 2.017, 1.911, 1.824, 1.743, 1.687, 1.657, 1.665, 1.695",\
                 "2.491, 2.478, 2.408, 2.297, 2.203, 2.114, 2.059, 2.02, 2.025, 2.052");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.727, 0.716, 0.659, 0.592, 0.548, 0.55, 0.584, 0.649, 0.745, 0.868",\
                 "0.732, 0.715, 0.669, 0.602, 0.556, 0.554, 0.596, 0.653, 0.754, 0.871",\
                 "0.748, 0.734, 0.685, 0.61, 0.575, 0.572, 0.604, 0.671, 0.771, 0.891",\
                 "0.771, 0.758, 0.7, 0.636, 0.592, 0.592, 0.624, 0.687, 0.781, 0.899",\
                 "0.792, 0.78, 0.73, 0.655, 0.613, 0.609, 0.636, 0.691, 0.788, 0.902",\
                 "0.802, 0.789, 0.736, 0.666, 0.618, 0.605, 0.631, 0.685, 0.772, 0.893",\
                 "0.791, 0.775, 0.719, 0.655, 0.611, 0.594, 0.614, 0.667, 0.753, 0.866",\
                 "0.756, 0.738, 0.684, 0.616, 0.568, 0.553, 0.573, 0.618, 0.705, 0.821",\
                 "0.68, 0.667, 0.611, 0.548, 0.499, 0.48, 0.499, 0.543, 0.63, 0.74",\
                 "0.58, 0.555, 0.504, 0.434, 0.398, 0.375, 0.39, 0.44, 0.521, 0.635");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.887, 0.873, 0.809, 0.719, 0.638, 0.585, 0.55, 0.542, 0.57, 0.623",\
                 "0.896, 0.882, 0.823, 0.727, 0.656, 0.595, 0.561, 0.551, 0.577, 0.635",\
                 "0.93, 0.917, 0.858, 0.761, 0.688, 0.629, 0.595, 0.591, 0.614, 0.671",\
                 "0.989, 0.97, 0.909, 0.812, 0.74, 0.68, 0.644, 0.64, 0.667, 0.72",\
                 "1.075, 1.058, 1, 0.908, 0.835, 0.776, 0.739, 0.736, 0.759, 0.812",\
                 "1.234, 1.214, 1.158, 1.061, 0.986, 0.928, 0.887, 0.879, 0.903, 0.951",\
                 "1.457, 1.444, 1.389, 1.285, 1.211, 1.147, 1.106, 1.086, 1.102, 1.145",\
                 "1.753, 1.741, 1.672, 1.572, 1.486, 1.421, 1.373, 1.345, 1.354, 1.395",\
                 "2.096, 2.088, 2.017, 1.911, 1.824, 1.743, 1.687, 1.657, 1.665, 1.695",\
                 "2.496, 2.478, 2.408, 2.297, 2.203, 2.114, 2.059, 2.02, 2.025, 2.052");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.727, 0.716, 0.659, 0.592, 0.548, 0.55, 0.584, 0.649, 0.745, 0.868",\
                 "0.732, 0.715, 0.669, 0.592, 0.556, 0.554, 0.596, 0.653, 0.754, 0.871",\
                 "0.748, 0.734, 0.677, 0.61, 0.575, 0.572, 0.613, 0.671, 0.771, 0.891",\
                 "0.771, 0.758, 0.7, 0.628, 0.592, 0.592, 0.624, 0.687, 0.781, 0.899",\
                 "0.792, 0.78, 0.73, 0.655, 0.613, 0.609, 0.631, 0.691, 0.788, 0.902",\
                 "0.802, 0.789, 0.736, 0.666, 0.618, 0.605, 0.631, 0.685, 0.772, 0.893",\
                 "0.791, 0.775, 0.728, 0.655, 0.611, 0.594, 0.614, 0.667, 0.753, 0.866",\
                 "0.756, 0.738, 0.678, 0.61, 0.568, 0.553, 0.573, 0.618, 0.705, 0.821",\
                 "0.68, 0.667, 0.611, 0.539, 0.499, 0.48, 0.499, 0.543, 0.63, 0.74",\
                 "0.58, 0.56, 0.504, 0.439, 0.398, 0.375, 0.397, 0.44, 0.521, 0.635");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffq_2) {
    area : 87.808000 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&!SI" ;
      value : "0.000213906" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&SI" ;
      value : "0.0002144439" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&!SI" ;
      value : "0.0002934063" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&SI" ;
      value : "0.0002734941" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&!SI" ;
      value : "0.0002741442" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&SI" ;
      value : "0.0002741409" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&!SI" ;
      value : "0.0002147178" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&SI" ;
      value : "0.0002126355" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&!SI" ;
      value : "0.0001962708" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&SI" ;
      value : "0.0001963005" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&!SI" ;
      value : "0.0002448633" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&SI" ;
      value : "0.000331155" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&!SI" ;
      value : "0.000330165" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&SI" ;
      value : "0.000330165" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&!SI" ;
      value : "0.0001929972" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&SI" ;
      value : "0.0002277693" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000331155" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.00343 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.04 ;
      min_pulse_width_high : 0.613 ;
      min_pulse_width_low : 1.024 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1185, 0.1179, 0.1187, 0.1249, 0.1375, 0.1571, 0.1846, 0.2204, \
                 0.265, 0.3186");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0923, 0.09192, 0.09247, 0.09739, 0.1077, 0.1248, 0.1491, 0.181, \
                 0.2206, 0.2683");
        }
      }

      internal_power() {
        when : "!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1184, 0.1179, 0.1187, 0.1249, 0.1375, 0.1571, 0.1846, 0.2204, \
                 0.2649, 0.3186");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0923, 0.09192, 0.09245, 0.09739, 0.1077, 0.1248, 0.1491, 0.181, \
                 0.2206, 0.2683");
        }
      }

      internal_power() {
        when : "!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1286, 0.1281, 0.129, 0.1352, 0.1477, 0.1673, 0.1947, 0.2306, \
                 0.2751, 0.3287");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09227, 0.09188, 0.09242, 0.09733, 0.1077, 0.1249, 0.1491, 0.1809, \
                 0.2205, 0.2682");
        }
      }

      internal_power() {
        when : "!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.1255, 0.1263, 0.1324, 0.145, 0.1646, 0.1921, 0.228, 0.2725, \
                 0.326");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09305, 0.09271, 0.09325, 0.09817, 0.1086, 0.1257, 0.15, 0.1818, \
                 0.2213, 0.269");
        }
      }

      internal_power() {
        when : "D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.1255, 0.1263, 0.1325, 0.145, 0.1646, 0.1922, 0.228, 0.2725, \
                 0.3262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09302, 0.09267, 0.09322, 0.09816, 0.1086, 0.1256, 0.1499, 0.1818, \
                 0.2214, 0.2691");
        }
      }

      internal_power() {
        when : "D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.1255, 0.1263, 0.1325, 0.145, 0.1646, 0.1922, 0.228, 0.2724, \
                 0.3261");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09305, 0.0927, 0.09322, 0.09814, 0.1086, 0.1256, 0.1499, 0.1818, \
                 0.2213, 0.269");
        }
      }

      internal_power() {
        when : "D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1185, 0.1179, 0.1188, 0.1249, 0.1374, 0.1571, 0.1846, 0.2204, \
                 0.2651, 0.3187");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09223, 0.09192, 0.09243, 0.09738, 0.1077, 0.1248, 0.1491, 0.1809, \
                 0.2205, 0.2682");
        }
      }

      internal_power() {
        when : "D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1176, 0.1171, 0.1179, 0.1241, 0.1366, 0.1563, 0.1838, 0.2196, \
                 0.2642, 0.3179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09307, 0.09272, 0.09324, 0.09819, 0.1086, 0.1258, 0.1501, 0.1818, \
                 0.2214, 0.2691");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("1.017");
        }

        rise_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("1.017");
        }

        rise_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.024");
        }

        rise_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.84");
        }

        rise_constraint(scalar) {
          values("0.613");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.853");
        }

        rise_constraint(scalar) {
          values("0.613");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.853");
        }

        rise_constraint(scalar) {
          values("0.613");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.024");
        }

        rise_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.846");
        }

        rise_constraint(scalar) {
          values("0.613");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&!SI" ;

        rise_constraint(scalar) {
          values("2.034");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&SI" ;

        rise_constraint(scalar) {
          values("2.034");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.04");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&SI" ;

        rise_constraint(scalar) {
          values("1.674");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&!SI" ;

        rise_constraint(scalar) {
          values("1.697");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&SI" ;

        rise_constraint(scalar) {
          values("1.697");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.04");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&SI" ;

        rise_constraint(scalar) {
          values("1.685");
        }
      }
    }

    pin(D) {
      capacitance : 0.002704 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1304, 0.13, 0.1295, 0.1293, 0.132, 0.1403, 0.1563, 0.1807, 0.2124, \
                 0.2512");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07602, 0.07553, 0.07497, 0.07518, 0.07826, 0.08589, 0.09902, \
                 0.1182, 0.1435, 0.1752");
        }
      }

      internal_power() {
        when : "!CLK&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1303, 0.13, 0.1295, 0.1293, 0.1319, 0.1403, 0.1563, 0.1807, \
                 0.2124, 0.2512");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07602, 0.07554, 0.07497, 0.07518, 0.07825, 0.08587, 0.09902, \
                 0.1181, 0.1435, 0.1752");
        }
      }

      internal_power() {
        when : "!CLK&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008387, 0.008386, 0.008363, 0.008347, 0.008371, 0.008379, 0.008373, \
                 0.008368, 0.008362, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00799, -0.00798, -0.008018, -0.008123, -0.008166, -0.008207, \
                 -0.008229, -0.008241, -0.008251, -0.008257");
        }
      }

      internal_power() {
        when : "!CLK&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008377, 0.008362, 0.008358, 0.008356, 0.008355, 0.008374, 0.008364, \
                 0.008365, 0.008365, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007317, -0.007709, -0.008029, -0.008125, -0.008181, -0.00821, \
                 -0.00823, -0.008238, -0.008242, -0.008255");
        }
      }

      internal_power() {
        when : "CLK&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02787, 0.0278, 0.02774, 0.02764, 0.02762, 0.02761, 0.02761, \
                 0.02761, 0.02762, 0.0276");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002287, -0.002547, -0.0029, -0.003213, -0.00343, -0.00356, \
                 -0.003638, -0.00369, -0.003735, -0.003758");
        }
      }

      internal_power() {
        when : "CLK&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02787, 0.0278, 0.02774, 0.02764, 0.02762, 0.02761, 0.02761, \
                 0.02761, 0.02762, 0.0276");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002287, -0.002548, -0.002901, -0.003215, -0.00343, -0.003555, \
                 -0.003637, -0.003693, -0.003732, -0.003756");
        }
      }

      internal_power() {
        when : "CLK&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008361, 0.008369, 0.00836, 0.008355, 0.008373, 0.008385, 0.008373, \
                 0.008373, 0.008362, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007991, -0.007978, -0.00802, -0.008122, -0.008183, -0.008178, \
                 -0.008234, -0.00824, -0.00825, -0.008257");
        }
      }

      internal_power() {
        when : "CLK&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008383, 0.008352, 0.008338, 0.00836, 0.008359, 0.00836, 0.008373, \
                 0.008367, 0.008366, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007395, -0.007727, -0.008036, -0.008115, -0.008171, -0.008213, \
                 -0.008225, -0.00824, -0.008249, -0.00825");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.166, -0.149, -0.106, -0.047, 0.003, 0.031, 0.049, 0.036, 0.003, -0.06",\
                 "-0.179, -0.159, -0.119, -0.062, -0.015, 0.017, 0.038, 0.022, -0.016, -0.074",\
                 "-0.216, -0.201, -0.157, -0.094, -0.044, -0.017, 0.003, -0.012, -0.043, -0.108",\
                 "-0.262, -0.247, -0.207, -0.145, -0.095, -0.065, -0.044, -0.058, -0.09, -0.154",\
                 "-0.33, -0.309, -0.269, -0.205, -0.154, -0.118, -0.104, -0.113, -0.144, -0.21",\
                 "-0.388, -0.371, -0.328, -0.265, -0.214, -0.178, -0.167, -0.171, -0.211, -0.265",\
                 "-0.445, -0.433, -0.393, -0.326, -0.279, -0.244, -0.226, -0.227, -0.269, -0.324",\
                 "-0.526, -0.512, -0.472, -0.423, -0.36, -0.326, -0.3, -0.303, -0.341, -0.39",\
                 "-0.624, -0.611, -0.578, -0.513, -0.461, -0.439, -0.417, -0.409, -0.436, -0.479",\
                 "-0.757, -0.743, -0.707, -0.651, -0.606, -0.569, -0.546, -0.535, -0.566, -0.609");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.372, -0.361, -0.326, -0.31, -0.332, -0.372, -0.423, -0.507, -0.61, -0.742",\
                 "-0.377, -0.366, -0.332, -0.322, -0.34, -0.378, -0.433, -0.516, -0.618, -0.75",\
                 "-0.393, -0.379, -0.346, -0.337, -0.348, -0.387, -0.449, -0.528, -0.63, -0.762",\
                 "-0.407, -0.392, -0.363, -0.352, -0.364, -0.401, -0.453, -0.533, -0.641, -0.769",\
                 "-0.419, -0.409, -0.373, -0.363, -0.37, -0.399, -0.459, -0.535, -0.636, -0.764",\
                 "-0.417, -0.401, -0.366, -0.351, -0.363, -0.394, -0.443, -0.516, -0.62, -0.744",\
                 "-0.386, -0.373, -0.338, -0.316, -0.33, -0.359, -0.412, -0.481, -0.588, -0.709",\
                 "-0.313, -0.303, -0.267, -0.255, -0.264, -0.3, -0.348, -0.429, -0.523, -0.653",\
                 "-0.21, -0.194, -0.164, -0.155, -0.168, -0.198, -0.257, -0.334, -0.436, -0.56",\
                 "-0.064, -0.052, -0.015, -0.013, -0.028, -0.064, -0.118, -0.2, -0.305, -0.44");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.166, -0.149, -0.106, -0.047, 0.003, 0.031, 0.049, 0.036, 0.003, -0.06",\
                 "-0.179, -0.159, -0.119, -0.062, -0.015, 0.017, 0.038, 0.022, -0.008, -0.074",\
                 "-0.216, -0.201, -0.157, -0.094, -0.044, -0.017, 0.003, -0.012, -0.043, -0.108",\
                 "-0.262, -0.247, -0.207, -0.145, -0.095, -0.065, -0.044, -0.058, -0.09, -0.154",\
                 "-0.33, -0.309, -0.269, -0.205, -0.154, -0.118, -0.104, -0.113, -0.144, -0.21",\
                 "-0.388, -0.371, -0.328, -0.264, -0.214, -0.178, -0.167, -0.171, -0.211, -0.265",\
                 "-0.445, -0.433, -0.393, -0.326, -0.279, -0.244, -0.226, -0.227, -0.269, -0.324",\
                 "-0.532, -0.512, -0.472, -0.423, -0.36, -0.326, -0.3, -0.303, -0.341, -0.39",\
                 "-0.624, -0.611, -0.578, -0.521, -0.461, -0.434, -0.411, -0.409, -0.436, -0.479",\
                 "-0.757, -0.733, -0.712, -0.651, -0.606, -0.569, -0.546, -0.535, -0.566, -0.609");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.354, -0.326, -0.31, -0.332, -0.372, -0.423, -0.507, -0.61, -0.742",\
                 "-0.377, -0.366, -0.332, -0.322, -0.34, -0.378, -0.433, -0.516, -0.618, -0.75",\
                 "-0.388, -0.379, -0.346, -0.337, -0.348, -0.387, -0.449, -0.528, -0.63, -0.762",\
                 "-0.407, -0.392, -0.363, -0.352, -0.364, -0.401, -0.453, -0.533, -0.641, -0.769",\
                 "-0.419, -0.409, -0.373, -0.363, -0.37, -0.399, -0.459, -0.535, -0.636, -0.764",\
                 "-0.411, -0.401, -0.366, -0.351, -0.363, -0.394, -0.443, -0.516, -0.62, -0.744",\
                 "-0.378, -0.373, -0.338, -0.325, -0.33, -0.359, -0.412, -0.481, -0.588, -0.709",\
                 "-0.313, -0.303, -0.267, -0.255, -0.264, -0.3, -0.348, -0.429, -0.523, -0.653",\
                 "-0.202, -0.194, -0.164, -0.154, -0.168, -0.198, -0.257, -0.334, -0.436, -0.56",\
                 "-0.059, -0.052, -0.015, -0.013, -0.028, -0.064, -0.118, -0.2, -0.305, -0.44");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.899, 0.887, 0.825, 0.738, 0.66, 0.602, 0.567, 0.56, 0.586, 0.644",\
                 "0.917, 0.897, 0.835, 0.746, 0.671, 0.613, 0.578, 0.569, 0.601, 0.656",\
                 "0.951, 0.935, 0.874, 0.779, 0.705, 0.649, 0.613, 0.609, 0.638, 0.698",\
                 "1.008, 0.99, 0.926, 0.835, 0.761, 0.702, 0.674, 0.66, 0.693, 0.742",\
                 "1.097, 1.081, 1.017, 0.924, 0.855, 0.793, 0.762, 0.751, 0.778, 0.836",\
                 "1.251, 1.231, 1.17, 1.083, 1.012, 0.945, 0.908, 0.904, 0.924, 0.977",\
                 "1.482, 1.461, 1.398, 1.304, 1.229, 1.167, 1.122, 1.106, 1.125, 1.173",\
                 "1.771, 1.753, 1.691, 1.592, 1.508, 1.437, 1.393, 1.368, 1.374, 1.419",\
                 "2.12, 2.104, 2.033, 1.928, 1.843, 1.759, 1.711, 1.678, 1.688, 1.722",\
                 "2.511, 2.494, 2.429, 2.319, 2.221, 2.134, 2.081, 2.044, 2.043, 2.073");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.744, 0.737, 0.675, 0.601, 0.563, 0.556, 0.592, 0.649, 0.745, 0.863",\
                 "0.753, 0.739, 0.681, 0.621, 0.571, 0.56, 0.596, 0.653, 0.746, 0.866",\
                 "0.764, 0.752, 0.701, 0.628, 0.583, 0.578, 0.604, 0.671, 0.763, 0.88",\
                 "0.79, 0.777, 0.717, 0.644, 0.602, 0.592, 0.624, 0.68, 0.772, 0.893",\
                 "0.807, 0.795, 0.739, 0.665, 0.619, 0.609, 0.631, 0.691, 0.778, 0.89",\
                 "0.814, 0.807, 0.749, 0.681, 0.626, 0.61, 0.631, 0.685, 0.766, 0.88",\
                 "0.808, 0.801, 0.746, 0.675, 0.617, 0.601, 0.614, 0.667, 0.741, 0.859",\
                 "0.774, 0.762, 0.709, 0.636, 0.583, 0.562, 0.573, 0.618, 0.699, 0.805",\
                 "0.704, 0.699, 0.644, 0.565, 0.518, 0.496, 0.499, 0.55, 0.622, 0.731",\
                 "0.606, 0.597, 0.531, 0.467, 0.416, 0.394, 0.404, 0.448, 0.521, 0.625");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.899, 0.887, 0.825, 0.729, 0.66, 0.602, 0.567, 0.56, 0.586, 0.644",\
                 "0.917, 0.897, 0.835, 0.746, 0.671, 0.613, 0.578, 0.569, 0.601, 0.656",\
                 "0.951, 0.935, 0.874, 0.779, 0.705, 0.649, 0.613, 0.609, 0.638, 0.698",\
                 "1.008, 0.99, 0.926, 0.835, 0.761, 0.702, 0.674, 0.66, 0.693, 0.742",\
                 "1.097, 1.081, 1.017, 0.924, 0.855, 0.793, 0.762, 0.751, 0.778, 0.836",\
                 "1.251, 1.231, 1.17, 1.083, 1.012, 0.945, 0.908, 0.904, 0.918, 0.977",\
                 "1.482, 1.461, 1.398, 1.304, 1.229, 1.167, 1.122, 1.106, 1.125, 1.173",\
                 "1.771, 1.753, 1.691, 1.592, 1.508, 1.437, 1.393, 1.368, 1.374, 1.419",\
                 "2.112, 2.104, 2.033, 1.928, 1.843, 1.759, 1.705, 1.678, 1.688, 1.722",\
                 "2.517, 2.494, 2.429, 2.319, 2.221, 2.134, 2.081, 2.044, 2.043, 2.073");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.744, 0.73, 0.675, 0.61, 0.563, 0.556, 0.592, 0.649, 0.745, 0.863",\
                 "0.753, 0.746, 0.681, 0.611, 0.571, 0.56, 0.596, 0.653, 0.746, 0.866",\
                 "0.764, 0.752, 0.701, 0.628, 0.583, 0.578, 0.604, 0.671, 0.763, 0.88",\
                 "0.79, 0.777, 0.717, 0.644, 0.602, 0.592, 0.624, 0.68, 0.772, 0.893",\
                 "0.807, 0.795, 0.739, 0.665, 0.619, 0.609, 0.631, 0.691, 0.778, 0.89",\
                 "0.814, 0.807, 0.749, 0.681, 0.626, 0.615, 0.631, 0.685, 0.766, 0.88",\
                 "0.808, 0.801, 0.746, 0.675, 0.617, 0.601, 0.614, 0.667, 0.741, 0.859",\
                 "0.774, 0.768, 0.709, 0.636, 0.583, 0.562, 0.573, 0.618, 0.699, 0.805",\
                 "0.704, 0.699, 0.644, 0.565, 0.518, 0.496, 0.499, 0.55, 0.622, 0.731",\
                 "0.606, 0.597, 0.531, 0.467, 0.416, 0.394, 0.404, 0.448, 0.521, 0.625");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.7179 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1824, 0.1793, 0.1762, 0.175, 0.1746, 0.1743, 0.174, 0.174, 0.1739, 0.1739",\
                 "0.1825, 0.1793, 0.1761, 0.1749, 0.1745, 0.1743, 0.1741, 0.174, 0.174, 0.1739",\
                 "0.1826, 0.1794, 0.1763, 0.1751, 0.1746, 0.1744, 0.1741, 0.1741, 0.1741, 0.174",\
                 "0.1831, 0.1801, 0.1769, 0.1758, 0.1754, 0.1751, 0.1748, 0.1747, 0.1747, 0.1746",\
                 "0.1843, 0.1811, 0.178, 0.1768, 0.1763, 0.176, 0.1759, 0.1758, 0.1758, 0.1757",\
                 "0.1855, 0.1823, 0.1793, 0.178, 0.1775, 0.1772, 0.177, 0.177, 0.1769, 0.1769",\
                 "0.187, 0.1838, 0.1808, 0.1796, 0.179, 0.1787, 0.1786, 0.1785, 0.1784, 0.1784",\
                 "0.1884, 0.1852, 0.1822, 0.1809, 0.1805, 0.1802, 0.1799, 0.1799, 0.1798, 0.1798",\
                 "0.1899, 0.1868, 0.1836, 0.1825, 0.182, 0.1817, 0.1816, 0.1815, 0.1814, 0.1814",\
                 "0.1916, 0.1885, 0.1854, 0.1842, 0.1837, 0.1834, 0.1831, 0.1831, 0.183, 0.183");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1711, 0.1688, 0.1662, 0.1656, 0.1663, 0.1677, 0.1688, 0.1701, 0.1717, 0.1792",\
                 "0.1711, 0.1689, 0.1665, 0.1656, 0.1664, 0.1674, 0.1688, 0.1698, 0.1721, 0.1789",\
                 "0.1711, 0.1689, 0.1661, 0.1656, 0.1664, 0.1676, 0.1686, 0.1699, 0.1715, 0.1797",\
                 "0.1715, 0.1693, 0.1667, 0.1661, 0.167, 0.1681, 0.1693, 0.17, 0.1726, 0.183",\
                 "0.1723, 0.17, 0.1672, 0.1667, 0.1674, 0.1691, 0.17, 0.1711, 0.173, 0.1836",\
                 "0.1734, 0.1713, 0.1684, 0.1684, 0.169, 0.17, 0.1711, 0.1721, 0.1748, 0.1861",\
                 "0.1751, 0.1726, 0.1701, 0.1691, 0.1706, 0.1725, 0.1735, 0.1739, 0.176, 0.192",\
                 "0.1769, 0.1747, 0.1722, 0.1717, 0.1719, 0.1734, 0.1763, 0.1773, 0.1789, 0.1987",\
                 "0.1793, 0.1771, 0.1746, 0.1742, 0.1742, 0.1747, 0.1771, 0.1807, 0.1837, 0.2115",\
                 "0.1819, 0.1797, 0.177, 0.1764, 0.1764, 0.1777, 0.1783, 0.1812, 0.1905, 0.2344");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1825, 0.1793, 0.1761, 0.175, 0.1746, 0.1743, 0.1742, 0.174, 0.174, 0.174",\
                 "0.1825, 0.1793, 0.1761, 0.1749, 0.1745, 0.1743, 0.1741, 0.174, 0.174, 0.1739",\
                 "0.1826, 0.1794, 0.1763, 0.1751, 0.1746, 0.1744, 0.1741, 0.1741, 0.174, 0.174",\
                 "0.1832, 0.18, 0.177, 0.1758, 0.1753, 0.175, 0.1748, 0.1747, 0.1747, 0.1746",\
                 "0.1843, 0.1811, 0.178, 0.1768, 0.1763, 0.176, 0.1759, 0.1758, 0.1758, 0.1757",\
                 "0.1855, 0.1823, 0.1793, 0.1781, 0.1776, 0.1773, 0.1771, 0.1769, 0.1769, 0.1769",\
                 "0.187, 0.1839, 0.1808, 0.1795, 0.1791, 0.1787, 0.1785, 0.1784, 0.1784, 0.1784",\
                 "0.1884, 0.1853, 0.1822, 0.1809, 0.1804, 0.1802, 0.1799, 0.1799, 0.1798, 0.1798",\
                 "0.1899, 0.1868, 0.1836, 0.1825, 0.1821, 0.1817, 0.1816, 0.1814, 0.1814, 0.1813",\
                 "0.1916, 0.1885, 0.1855, 0.1842, 0.1836, 0.1834, 0.1831, 0.183, 0.183, 0.183");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1711, 0.1691, 0.1663, 0.1657, 0.1666, 0.1678, 0.1689, 0.1702, 0.1721, 0.1782",\
                 "0.1713, 0.169, 0.1663, 0.1657, 0.1664, 0.1677, 0.169, 0.1709, 0.1721, 0.1814",\
                 "0.1712, 0.1689, 0.1663, 0.1657, 0.1664, 0.1676, 0.1689, 0.17, 0.1719, 0.1786",\
                 "0.1717, 0.1695, 0.1667, 0.1661, 0.1668, 0.1682, 0.1694, 0.1706, 0.1726, 0.181",\
                 "0.1722, 0.1701, 0.1673, 0.1669, 0.1677, 0.1694, 0.1702, 0.1711, 0.1724, 0.1837",\
                 "0.1735, 0.1713, 0.1683, 0.1684, 0.169, 0.1701, 0.1715, 0.1722, 0.1749, 0.1865",\
                 "0.1752, 0.173, 0.1703, 0.1695, 0.1705, 0.1727, 0.1733, 0.1743, 0.176, 0.1921",\
                 "0.177, 0.175, 0.1721, 0.1717, 0.1717, 0.1737, 0.1764, 0.1771, 0.1786, 0.1999",\
                 "0.1793, 0.1771, 0.1743, 0.1739, 0.1739, 0.1749, 0.1774, 0.1804, 0.1834, 0.2123",\
                 "0.182, 0.1797, 0.1771, 0.1761, 0.1768, 0.1776, 0.1789, 0.1818, 0.1898, 0.2334");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1825, 0.1792, 0.1761, 0.1749, 0.1745, 0.1743, 0.1741, 0.174, 0.1739, 0.1739",\
                 "0.1825, 0.1793, 0.1762, 0.1749, 0.1745, 0.1743, 0.174, 0.174, 0.1739, 0.1739",\
                 "0.1826, 0.1794, 0.1763, 0.1751, 0.1746, 0.1743, 0.1741, 0.1741, 0.174, 0.1739",\
                 "0.1832, 0.1801, 0.177, 0.1758, 0.1753, 0.1751, 0.1748, 0.1748, 0.1747, 0.1747",\
                 "0.1842, 0.1811, 0.1779, 0.1768, 0.1762, 0.1759, 0.1758, 0.1758, 0.1757, 0.1757",\
                 "0.1854, 0.1822, 0.1792, 0.178, 0.1775, 0.1772, 0.177, 0.1769, 0.1768, 0.1768",\
                 "0.1868, 0.1838, 0.1807, 0.1794, 0.1788, 0.1785, 0.1784, 0.1782, 0.1782, 0.1782",\
                 "0.1884, 0.1853, 0.1822, 0.1809, 0.1804, 0.1802, 0.18, 0.1799, 0.1798, 0.1797",\
                 "0.19, 0.1869, 0.1838, 0.1825, 0.1819, 0.1817, 0.1815, 0.1814, 0.1814, 0.1813",\
                 "0.1916, 0.1885, 0.1853, 0.1842, 0.1836, 0.1834, 0.1831, 0.1831, 0.183, 0.183");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1711, 0.1691, 0.1664, 0.1656, 0.1663, 0.1674, 0.1689, 0.1701, 0.1711, 0.1795",\
                 "0.1712, 0.169, 0.1663, 0.1657, 0.1665, 0.1676, 0.1689, 0.1708, 0.1721, 0.1794",\
                 "0.1712, 0.1689, 0.1663, 0.1657, 0.1664, 0.1675, 0.1689, 0.17, 0.1719, 0.1818",\
                 "0.1717, 0.1694, 0.1667, 0.1662, 0.1669, 0.1682, 0.1694, 0.1713, 0.1726, 0.181",\
                 "0.1722, 0.1702, 0.1674, 0.1669, 0.1678, 0.1691, 0.1701, 0.1718, 0.1721, 0.1837",\
                 "0.1734, 0.1713, 0.1683, 0.1684, 0.1692, 0.1701, 0.1711, 0.1729, 0.1749, 0.1855",\
                 "0.175, 0.1729, 0.1703, 0.1692, 0.1707, 0.1724, 0.173, 0.1739, 0.176, 0.1921",\
                 "0.177, 0.1748, 0.1721, 0.1715, 0.1724, 0.1737, 0.1761, 0.1777, 0.1786, 0.1996",\
                 "0.1794, 0.1772, 0.1744, 0.174, 0.174, 0.1748, 0.1771, 0.1818, 0.1841, 0.2127",\
                 "0.1822, 0.18, 0.1773, 0.1765, 0.1768, 0.1777, 0.1789, 0.1818, 0.1899, 0.2338");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&SE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1825, 0.1794, 0.1762, 0.175, 0.1746, 0.1743, 0.1741, 0.174, 0.174, 0.1739",\
                 "0.1825, 0.1793, 0.1761, 0.175, 0.1745, 0.1743, 0.174, 0.174, 0.1739, 0.1739",\
                 "0.1826, 0.1795, 0.1763, 0.1751, 0.1747, 0.1743, 0.1741, 0.174, 0.174, 0.174",\
                 "0.1832, 0.1801, 0.1769, 0.1757, 0.1753, 0.175, 0.1748, 0.1747, 0.1747, 0.1746",\
                 "0.1843, 0.1812, 0.178, 0.1768, 0.1763, 0.1761, 0.1759, 0.1758, 0.1757, 0.1757",\
                 "0.1856, 0.1824, 0.1793, 0.1781, 0.1776, 0.1774, 0.1772, 0.177, 0.177, 0.177",\
                 "0.187, 0.1838, 0.1807, 0.1794, 0.179, 0.1788, 0.1786, 0.1784, 0.1784, 0.1783",\
                 "0.1884, 0.1853, 0.1823, 0.181, 0.1805, 0.1802, 0.18, 0.1799, 0.1798, 0.1798",\
                 "0.19, 0.187, 0.1839, 0.1826, 0.1822, 0.1818, 0.1816, 0.1815, 0.1815, 0.1814",\
                 "0.1918, 0.1886, 0.1856, 0.1843, 0.1837, 0.1836, 0.1834, 0.1833, 0.1831, 0.1831");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.1711, 0.1689, 0.1662, 0.1657, 0.1665, 0.1677, 0.1689, 0.1701, 0.1717, 0.1808",\
                 "0.1712, 0.169, 0.1662, 0.1657, 0.1666, 0.1676, 0.1687, 0.1698, 0.1721, 0.1813",\
                 "0.1712, 0.1689, 0.1664, 0.1656, 0.1663, 0.1676, 0.1689, 0.17, 0.1719, 0.1817",\
                 "0.1716, 0.1695, 0.1668, 0.1662, 0.1669, 0.1681, 0.1694, 0.1706, 0.1729, 0.1802",\
                 "0.1722, 0.1701, 0.1674, 0.1668, 0.1677, 0.1692, 0.1701, 0.1707, 0.1723, 0.1836",\
                 "0.1734, 0.1712, 0.1685, 0.1685, 0.1689, 0.1704, 0.171, 0.1721, 0.1734, 0.1867",\
                 "0.175, 0.1727, 0.1701, 0.1693, 0.1707, 0.1722, 0.1734, 0.1738, 0.1759, 0.1919",\
                 "0.177, 0.1749, 0.1721, 0.1718, 0.172, 0.1735, 0.1764, 0.177, 0.1786, 0.1995",\
                 "0.1793, 0.1772, 0.1744, 0.1739, 0.174, 0.1749, 0.1777, 0.181, 0.184, 0.2131",\
                 "0.1821, 0.1799, 0.1772, 0.1762, 0.1768, 0.1776, 0.1788, 0.1817, 0.1894, 0.2337");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.9061, 0.9456, 1.044, 1.187, 1.386, 1.656, 2.011, 2.458, 3.005, 3.655",\
                 "0.9198, 0.9593, 1.058, 1.201, 1.4, 1.67, 2.025, 2.472, 3.019, 3.669",\
                 "0.9704, 1.01, 1.108, 1.252, 1.45, 1.721, 2.076, 2.523, 3.069, 3.719",\
                 "1.045, 1.084, 1.183, 1.326, 1.525, 1.795, 2.15, 2.597, 3.144, 3.794",\
                 "1.106, 1.145, 1.244, 1.387, 1.586, 1.856, 2.211, 2.659, 3.205, 3.855",\
                 "1.153, 1.192, 1.291, 1.434, 1.632, 1.903, 2.258, 2.705, 3.251, 3.902",\
                 "1.182, 1.221, 1.319, 1.463, 1.661, 1.932, 2.287, 2.734, 3.28, 3.931",\
                 "1.187, 1.227, 1.326, 1.469, 1.667, 1.938, 2.293, 2.74, 3.286, 3.936",\
                 "1.168, 1.208, 1.306, 1.449, 1.648, 1.919, 2.274, 2.721, 3.266, 3.917",\
                 "1.122, 1.161, 1.26, 1.403, 1.602, 1.872, 2.227, 2.674, 3.22, 3.87");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.8474, 0.8905, 1.014, 1.238, 1.587, 2.077, 2.721, 3.532, 4.522, 5.704",\
                 "0.8612, 0.9043, 1.028, 1.252, 1.601, 2.091, 2.734, 3.546, 4.537, 5.715",\
                 "0.9112, 0.9543, 1.078, 1.302, 1.651, 2.14, 2.784, 3.596, 4.585, 5.768",\
                 "0.9853, 1.028, 1.152, 1.376, 1.725, 2.215, 2.859, 3.67, 4.66, 5.842",\
                 "1.047, 1.09, 1.214, 1.438, 1.787, 2.276, 2.92, 3.732, 4.723, 5.905",\
                 "1.095, 1.138, 1.262, 1.486, 1.834, 2.324, 2.968, 3.78, 4.77, 5.951",\
                 "1.126, 1.169, 1.293, 1.517, 1.866, 2.355, 2.999, 3.81, 4.8, 5.983",\
                 "1.136, 1.179, 1.303, 1.527, 1.876, 2.365, 3.01, 3.82, 4.81, 5.99",\
                 "1.122, 1.165, 1.289, 1.513, 1.862, 2.351, 2.995, 3.806, 4.796, 5.975",\
                 "1.082, 1.126, 1.25, 1.473, 1.822, 2.312, 2.955, 3.766, 4.756, 5.936");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.09766, 0.1346, 0.2388, 0.4212, 0.7242, 1.166, 1.762, 2.513, 3.429, 4.529",\
                 "0.0976, 0.1347, 0.2382, 0.4212, 0.7234, 1.166, 1.762, 2.513, 3.433, 4.526",\
                 "0.0976, 0.1348, 0.2388, 0.4214, 0.7224, 1.166, 1.762, 2.512, 3.433, 4.529",\
                 "0.0976, 0.1346, 0.2386, 0.421, 0.7242, 1.166, 1.762, 2.514, 3.431, 4.529",\
                 "0.0976, 0.1342, 0.2388, 0.421, 0.724, 1.167, 1.761, 2.514, 3.432, 4.529",\
                 "0.0976, 0.1344, 0.2388, 0.421, 0.7218, 1.167, 1.762, 2.511, 3.434, 4.521",\
                 "0.0978, 0.1344, 0.2386, 0.4214, 0.7228, 1.167, 1.759, 2.508, 3.428, 4.522",\
                 "0.0978, 0.1342, 0.2384, 0.4214, 0.723, 1.167, 1.759, 2.508, 3.425, 4.519",\
                 "0.0978, 0.1344, 0.239, 0.4212, 0.7222, 1.166, 1.759, 2.511, 3.425, 4.515",\
                 "0.0978, 0.1346, 0.2386, 0.4222, 0.7222, 1.166, 1.761, 2.509, 3.425, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.09918, 0.1537, 0.3394, 0.7264, 1.342, 2.206, 3.337, 4.767, 6.516, 8.599",\
                 "0.09954, 0.1537, 0.34, 0.7264, 1.342, 2.206, 3.338, 4.767, 6.518, 8.592",\
                 "0.0992, 0.1532, 0.3394, 0.7268, 1.34, 2.205, 3.337, 4.766, 6.515, 8.599",\
                 "0.0996, 0.1534, 0.3396, 0.7266, 1.341, 2.203, 3.338, 4.768, 6.516, 8.599",\
                 "0.0994, 0.1536, 0.3396, 0.7268, 1.342, 2.202, 3.338, 4.766, 6.516, 8.602",\
                 "0.0992, 0.1536, 0.3394, 0.7262, 1.34, 2.201, 3.338, 4.769, 6.517, 8.604",\
                 "0.0994, 0.1536, 0.3394, 0.727, 1.341, 2.203, 3.339, 4.765, 6.513, 8.597",\
                 "0.0992, 0.1538, 0.3402, 0.7268, 1.341, 2.202, 3.337, 4.764, 6.513, 8.591",\
                 "0.0996, 0.1536, 0.3402, 0.7274, 1.34, 2.203, 3.336, 4.765, 6.512, 8.588",\
                 "0.0994, 0.1542, 0.3398, 0.7264, 1.341, 2.204, 3.338, 4.767, 6.51, 8.588");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.9062, 0.9456, 1.044, 1.187, 1.386, 1.657, 2.012, 2.459, 3.005, 3.656",\
                 "0.9199, 0.9594, 1.058, 1.201, 1.4, 1.67, 2.025, 2.472, 3.019, 3.669",\
                 "0.9706, 1.01, 1.108, 1.252, 1.45, 1.721, 2.076, 2.523, 3.069, 3.719",\
                 "1.045, 1.084, 1.183, 1.326, 1.524, 1.795, 2.15, 2.597, 3.144, 3.794",\
                 "1.106, 1.145, 1.244, 1.387, 1.586, 1.856, 2.211, 2.659, 3.205, 3.855",\
                 "1.153, 1.192, 1.291, 1.434, 1.632, 1.903, 2.258, 2.705, 3.251, 3.902",\
                 "1.182, 1.221, 1.319, 1.463, 1.661, 1.932, 2.287, 2.734, 3.28, 3.931",\
                 "1.187, 1.227, 1.326, 1.469, 1.667, 1.938, 2.293, 2.74, 3.286, 3.936",\
                 "1.168, 1.208, 1.306, 1.449, 1.648, 1.919, 2.274, 2.721, 3.266, 3.917",\
                 "1.122, 1.161, 1.26, 1.403, 1.602, 1.872, 2.227, 2.675, 3.22, 3.87");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.8474, 0.8906, 1.014, 1.238, 1.587, 2.077, 2.721, 3.531, 4.523, 5.702",\
                 "0.8613, 0.9041, 1.028, 1.252, 1.601, 2.091, 2.734, 3.546, 4.537, 5.718",\
                 "0.9112, 0.9543, 1.078, 1.302, 1.651, 2.141, 2.784, 3.595, 4.587, 5.766",\
                 "0.9852, 1.028, 1.152, 1.376, 1.725, 2.215, 2.859, 3.669, 4.661, 5.841",\
                 "1.047, 1.09, 1.214, 1.438, 1.787, 2.276, 2.921, 3.732, 4.722, 5.905",\
                 "1.095, 1.138, 1.262, 1.486, 1.835, 2.325, 2.968, 3.78, 4.771, 5.952",\
                 "1.126, 1.169, 1.293, 1.517, 1.866, 2.355, 2.999, 3.81, 4.8, 5.983",\
                 "1.136, 1.179, 1.303, 1.527, 1.876, 2.365, 3.009, 3.82, 4.81, 5.992",\
                 "1.122, 1.165, 1.289, 1.513, 1.862, 2.351, 2.995, 3.807, 4.797, 5.976",\
                 "1.083, 1.126, 1.25, 1.473, 1.822, 2.312, 2.956, 3.767, 4.756, 5.936");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.09764, 0.1347, 0.2386, 0.421, 0.7228, 1.168, 1.762, 2.514, 3.429, 4.523",\
                 "0.0976, 0.1346, 0.2382, 0.4212, 0.7234, 1.166, 1.762, 2.513, 3.433, 4.526",\
                 "0.0976, 0.1348, 0.2388, 0.421, 0.7224, 1.167, 1.762, 2.511, 3.433, 4.529",\
                 "0.0976, 0.1348, 0.2386, 0.4212, 0.7222, 1.168, 1.762, 2.514, 3.431, 4.529",\
                 "0.0978, 0.1342, 0.2388, 0.4212, 0.7232, 1.166, 1.761, 2.513, 3.432, 4.528",\
                 "0.0976, 0.1344, 0.2388, 0.4218, 0.7218, 1.165, 1.762, 2.511, 3.434, 4.521",\
                 "0.0976, 0.1344, 0.2386, 0.4206, 0.7228, 1.167, 1.759, 2.509, 3.425, 4.522",\
                 "0.0978, 0.1342, 0.2384, 0.4214, 0.7224, 1.166, 1.759, 2.51, 3.425, 4.516",\
                 "0.0978, 0.1344, 0.2384, 0.4212, 0.7222, 1.169, 1.761, 2.512, 3.427, 4.515",\
                 "0.0978, 0.1346, 0.2382, 0.421, 0.7224, 1.166, 1.759, 2.51, 3.424, 4.519");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.0994, 0.1538, 0.3394, 0.7264, 1.342, 2.205, 3.338, 4.769, 6.519, 8.598",\
                 "0.09908, 0.1534, 0.3394, 0.7266, 1.343, 2.204, 3.338, 4.767, 6.518, 8.599",\
                 "0.0992, 0.1538, 0.3396, 0.7266, 1.343, 2.206, 3.338, 4.769, 6.519, 8.596",\
                 "0.0994, 0.1538, 0.3398, 0.726, 1.343, 2.206, 3.337, 4.769, 6.518, 8.605",\
                 "0.0988, 0.1538, 0.3396, 0.7268, 1.342, 2.202, 3.338, 4.769, 6.515, 8.597",\
                 "0.099, 0.154, 0.3398, 0.7262, 1.342, 2.205, 3.336, 4.768, 6.519, 8.602",\
                 "0.0994, 0.1538, 0.3398, 0.7266, 1.34, 2.202, 3.341, 4.764, 6.511, 8.597",\
                 "0.0992, 0.1538, 0.3396, 0.7276, 1.342, 2.205, 3.335, 4.771, 6.512, 8.595",\
                 "0.0996, 0.1538, 0.3394, 0.7268, 1.34, 2.202, 3.337, 4.764, 6.51, 8.593",\
                 "0.1, 0.1538, 0.3402, 0.7262, 1.342, 2.204, 3.337, 4.765, 6.507, 8.588");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.9061, 0.9456, 1.044, 1.187, 1.386, 1.656, 2.011, 2.459, 3.005, 3.656",\
                 "0.92, 0.9592, 1.058, 1.201, 1.4, 1.67, 2.025, 2.472, 3.019, 3.669",\
                 "0.9706, 1.01, 1.108, 1.252, 1.45, 1.721, 2.076, 2.523, 3.069, 3.719",\
                 "1.045, 1.084, 1.183, 1.326, 1.524, 1.795, 2.15, 2.597, 3.144, 3.794",\
                 "1.106, 1.145, 1.244, 1.387, 1.586, 1.856, 2.211, 2.659, 3.205, 3.855",\
                 "1.153, 1.192, 1.291, 1.434, 1.632, 1.903, 2.258, 2.705, 3.251, 3.902",\
                 "1.181, 1.221, 1.319, 1.462, 1.661, 1.931, 2.286, 2.733, 3.279, 3.93",\
                 "1.187, 1.227, 1.326, 1.469, 1.667, 1.938, 2.293, 2.74, 3.286, 3.936",\
                 "1.168, 1.208, 1.306, 1.449, 1.648, 1.918, 2.273, 2.72, 3.266, 3.917",\
                 "1.122, 1.161, 1.26, 1.403, 1.602, 1.872, 2.227, 2.674, 3.22, 3.87");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.8475, 0.8906, 1.015, 1.238, 1.587, 2.077, 2.721, 3.532, 4.523, 5.705",\
                 "0.8613, 0.9041, 1.028, 1.252, 1.601, 2.091, 2.734, 3.545, 4.537, 5.717",\
                 "0.9112, 0.9543, 1.078, 1.302, 1.651, 2.141, 2.784, 3.595, 4.585, 5.768",\
                 "0.9852, 1.028, 1.152, 1.376, 1.725, 2.215, 2.859, 3.67, 4.661, 5.841",\
                 "1.047, 1.09, 1.214, 1.438, 1.787, 2.276, 2.92, 3.732, 4.723, 5.905",\
                 "1.095, 1.138, 1.262, 1.486, 1.835, 2.325, 2.968, 3.779, 4.771, 5.95",\
                 "1.126, 1.169, 1.293, 1.516, 1.865, 2.355, 2.998, 3.81, 4.8, 5.983",\
                 "1.136, 1.179, 1.303, 1.527, 1.876, 2.365, 3.009, 3.82, 4.81, 5.992",\
                 "1.122, 1.165, 1.289, 1.513, 1.862, 2.351, 2.995, 3.807, 4.797, 5.976",\
                 "1.083, 1.126, 1.25, 1.474, 1.822, 2.312, 2.956, 3.767, 4.756, 5.936");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.09764, 0.1346, 0.2386, 0.4208, 0.7236, 1.166, 1.761, 2.514, 3.43, 4.524",\
                 "0.09762, 0.1347, 0.2386, 0.4212, 0.7234, 1.166, 1.762, 2.512, 3.433, 4.526",\
                 "0.0976, 0.1346, 0.2388, 0.421, 0.7224, 1.165, 1.762, 2.514, 3.433, 4.529",\
                 "0.0976, 0.1348, 0.2386, 0.421, 0.7224, 1.166, 1.762, 2.514, 3.431, 4.529",\
                 "0.0978, 0.1342, 0.2388, 0.4212, 0.7232, 1.166, 1.761, 2.514, 3.433, 4.529",\
                 "0.0974, 0.134, 0.2388, 0.4214, 0.7234, 1.165, 1.762, 2.511, 3.434, 4.524",\
                 "0.0976, 0.1346, 0.2388, 0.4216, 0.7234, 1.167, 1.759, 2.508, 3.428, 4.526",\
                 "0.0978, 0.1342, 0.2382, 0.4214, 0.7224, 1.166, 1.759, 2.509, 3.425, 4.516",\
                 "0.0978, 0.1344, 0.2386, 0.4216, 0.7226, 1.169, 1.76, 2.511, 3.425, 4.515",\
                 "0.0978, 0.1346, 0.2384, 0.421, 0.7234, 1.168, 1.761, 2.51, 3.427, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.09928, 0.1538, 0.3397, 0.7264, 1.342, 2.206, 3.338, 4.769, 6.515, 8.6",\
                 "0.09908, 0.1534, 0.3398, 0.7266, 1.341, 2.206, 3.338, 4.769, 6.518, 8.604",\
                 "0.0992, 0.1538, 0.3396, 0.7266, 1.343, 2.206, 3.338, 4.769, 6.516, 8.599",\
                 "0.0994, 0.1538, 0.3398, 0.7262, 1.343, 2.206, 3.338, 4.768, 6.518, 8.604",\
                 "0.099, 0.1538, 0.3396, 0.7266, 1.342, 2.204, 3.338, 4.769, 6.519, 8.598",\
                 "0.0992, 0.1538, 0.3396, 0.7262, 1.341, 2.205, 3.338, 4.768, 6.518, 8.597",\
                 "0.0994, 0.1538, 0.3396, 0.7266, 1.341, 2.202, 3.336, 4.765, 6.513, 8.598",\
                 "0.099, 0.154, 0.3396, 0.727, 1.341, 2.203, 3.336, 4.767, 6.512, 8.595",\
                 "0.0996, 0.154, 0.3394, 0.7268, 1.341, 2.203, 3.338, 4.765, 6.512, 8.591",\
                 "0.0994, 0.1544, 0.34, 0.727, 1.342, 2.204, 3.337, 4.765, 6.507, 8.587");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.9062, 0.9456, 1.044, 1.187, 1.386, 1.657, 2.012, 2.459, 3.005, 3.655",\
                 "0.9197, 0.9594, 1.058, 1.201, 1.399, 1.67, 2.025, 2.472, 3.019, 3.668",\
                 "0.9705, 1.01, 1.108, 1.252, 1.45, 1.721, 2.076, 2.523, 3.069, 3.72",\
                 "1.045, 1.084, 1.183, 1.326, 1.525, 1.795, 2.15, 2.597, 3.144, 3.794",\
                 "1.106, 1.146, 1.244, 1.387, 1.586, 1.856, 2.211, 2.658, 3.205, 3.855",\
                 "1.153, 1.192, 1.291, 1.434, 1.633, 1.903, 2.258, 2.705, 3.251, 3.902",\
                 "1.181, 1.221, 1.319, 1.462, 1.661, 1.932, 2.286, 2.733, 3.279, 3.93",\
                 "1.188, 1.227, 1.326, 1.469, 1.667, 1.938, 2.293, 2.74, 3.286, 3.936",\
                 "1.168, 1.208, 1.306, 1.449, 1.648, 1.919, 2.274, 2.721, 3.267, 3.917",\
                 "1.122, 1.161, 1.26, 1.403, 1.602, 1.872, 2.227, 2.674, 3.22, 3.87");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.8474, 0.8905, 1.014, 1.238, 1.587, 2.077, 2.721, 3.532, 4.522, 5.704",\
                 "0.8611, 0.9043, 1.028, 1.252, 1.601, 2.091, 2.735, 3.546, 4.536, 5.718",\
                 "0.9112, 0.9543, 1.078, 1.302, 1.651, 2.14, 2.784, 3.595, 4.586, 5.768",\
                 "0.9852, 1.028, 1.152, 1.376, 1.725, 2.215, 2.859, 3.669, 4.661, 5.84",\
                 "1.047, 1.09, 1.214, 1.438, 1.787, 2.276, 2.92, 3.732, 4.723, 5.905",\
                 "1.095, 1.138, 1.262, 1.486, 1.835, 2.324, 2.968, 3.78, 4.77, 5.953",\
                 "1.126, 1.169, 1.293, 1.517, 1.865, 2.355, 2.998, 3.81, 4.8, 5.983",\
                 "1.136, 1.179, 1.303, 1.527, 1.876, 2.366, 3.009, 3.82, 4.81, 5.992",\
                 "1.122, 1.165, 1.289, 1.513, 1.862, 2.351, 2.996, 3.806, 4.797, 5.976",\
                 "1.083, 1.126, 1.25, 1.474, 1.822, 2.312, 2.956, 3.767, 4.756, 5.936");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.09774, 0.1346, 0.2382, 0.4212, 0.7236, 1.167, 1.762, 2.513, 3.434, 4.528",\
                 "0.09788, 0.1347, 0.2386, 0.421, 0.7228, 1.168, 1.762, 2.512, 3.432, 4.529",\
                 "0.0976, 0.1346, 0.2386, 0.4216, 0.7242, 1.166, 1.762, 2.514, 3.433, 4.525",\
                 "0.0978, 0.1346, 0.239, 0.4212, 0.7226, 1.165, 1.762, 2.514, 3.434, 4.528",\
                 "0.0976, 0.1344, 0.239, 0.4214, 0.7236, 1.168, 1.762, 2.514, 3.434, 4.524",\
                 "0.0978, 0.1346, 0.2384, 0.421, 0.722, 1.167, 1.761, 2.512, 3.434, 4.522",\
                 "0.0976, 0.1348, 0.2384, 0.4212, 0.7224, 1.166, 1.759, 2.51, 3.425, 4.522",\
                 "0.0978, 0.1346, 0.2382, 0.4216, 0.723, 1.167, 1.761, 2.509, 3.425, 4.517",\
                 "0.0978, 0.1346, 0.2384, 0.4216, 0.7224, 1.166, 1.759, 2.512, 3.424, 4.515",\
                 "0.0976, 0.1344, 0.2386, 0.4216, 0.7224, 1.167, 1.759, 2.512, 3.425, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.0994, 0.1539, 0.3394, 0.7268, 1.34, 2.201, 3.338, 4.768, 6.516, 8.599",\
                 "0.09938, 0.1537, 0.3394, 0.7268, 1.341, 2.206, 3.337, 4.765, 6.517, 8.598",\
                 "0.0992, 0.1536, 0.3396, 0.7268, 1.342, 2.206, 3.338, 4.769, 6.516, 8.599",\
                 "0.0992, 0.1536, 0.3398, 0.7262, 1.343, 2.206, 3.338, 4.769, 6.519, 8.596",\
                 "0.0994, 0.1538, 0.3398, 0.7268, 1.341, 2.203, 3.338, 4.769, 6.518, 8.598",\
                 "0.0992, 0.1532, 0.3396, 0.7262, 1.342, 2.202, 3.337, 4.765, 6.518, 8.598",\
                 "0.099, 0.1538, 0.3398, 0.7274, 1.341, 2.202, 3.337, 4.768, 6.513, 8.598",\
                 "0.099, 0.1542, 0.3396, 0.7272, 1.341, 2.207, 3.336, 4.77, 6.513, 8.595",\
                 "0.0992, 0.1542, 0.3394, 0.7268, 1.342, 2.202, 3.337, 4.764, 6.512, 8.593",\
                 "0.0994, 0.1542, 0.3398, 0.7262, 1.342, 2.204, 3.337, 4.765, 6.509, 8.587");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.9061, 0.9456, 1.044, 1.187, 1.386, 1.656, 2.011, 2.458, 3.005, 3.655",\
                 "0.9198, 0.9593, 1.058, 1.201, 1.4, 1.67, 2.025, 2.472, 3.019, 3.669",\
                 "0.9704, 1.01, 1.108, 1.252, 1.45, 1.721, 2.076, 2.523, 3.069, 3.719",\
                 "1.045, 1.084, 1.183, 1.326, 1.525, 1.795, 2.15, 2.597, 3.144, 3.794",\
                 "1.106, 1.145, 1.244, 1.387, 1.586, 1.856, 2.211, 2.659, 3.205, 3.855",\
                 "1.153, 1.192, 1.291, 1.434, 1.632, 1.903, 2.258, 2.705, 3.251, 3.902",\
                 "1.182, 1.221, 1.319, 1.463, 1.661, 1.932, 2.287, 2.734, 3.28, 3.931",\
                 "1.187, 1.227, 1.326, 1.469, 1.667, 1.938, 2.293, 2.74, 3.286, 3.936",\
                 "1.168, 1.208, 1.306, 1.449, 1.648, 1.919, 2.274, 2.721, 3.266, 3.917",\
                 "1.122, 1.161, 1.26, 1.403, 1.602, 1.872, 2.227, 2.674, 3.22, 3.87");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.8474, 0.8905, 1.014, 1.238, 1.587, 2.077, 2.721, 3.532, 4.522, 5.704",\
                 "0.8611, 0.9043, 1.028, 1.252, 1.601, 2.091, 2.735, 3.546, 4.536, 5.718",\
                 "0.9112, 0.9543, 1.078, 1.302, 1.651, 2.14, 2.784, 3.595, 4.586, 5.768",\
                 "0.9852, 1.028, 1.152, 1.376, 1.725, 2.215, 2.859, 3.669, 4.661, 5.84",\
                 "1.047, 1.09, 1.214, 1.438, 1.787, 2.276, 2.92, 3.732, 4.723, 5.905",\
                 "1.095, 1.138, 1.262, 1.486, 1.835, 2.324, 2.968, 3.78, 4.77, 5.953",\
                 "1.126, 1.169, 1.293, 1.517, 1.865, 2.355, 2.998, 3.81, 4.8, 5.983",\
                 "1.136, 1.179, 1.303, 1.527, 1.876, 2.366, 3.009, 3.82, 4.81, 5.992",\
                 "1.122, 1.165, 1.289, 1.513, 1.862, 2.351, 2.996, 3.806, 4.797, 5.976",\
                 "1.083, 1.126, 1.25, 1.474, 1.822, 2.312, 2.956, 3.767, 4.756, 5.936");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.09764, 0.1346, 0.2386, 0.4208, 0.7236, 1.166, 1.761, 2.514, 3.43, 4.524",\
                 "0.09762, 0.1347, 0.2386, 0.4212, 0.7234, 1.166, 1.762, 2.512, 3.433, 4.526",\
                 "0.0976, 0.1346, 0.2388, 0.421, 0.7224, 1.165, 1.762, 2.514, 3.433, 4.529",\
                 "0.0976, 0.1348, 0.2386, 0.421, 0.7224, 1.166, 1.762, 2.514, 3.431, 4.529",\
                 "0.0978, 0.1342, 0.2388, 0.4212, 0.7232, 1.166, 1.761, 2.514, 3.433, 4.529",\
                 "0.0974, 0.134, 0.2388, 0.4214, 0.7234, 1.165, 1.762, 2.511, 3.434, 4.524",\
                 "0.0976, 0.1346, 0.2388, 0.4216, 0.7234, 1.167, 1.759, 2.508, 3.428, 4.526",\
                 "0.0978, 0.1342, 0.2382, 0.4214, 0.7224, 1.166, 1.759, 2.509, 3.425, 4.516",\
                 "0.0978, 0.1344, 0.2386, 0.4216, 0.7226, 1.169, 1.76, 2.511, 3.425, 4.515",\
                 "0.0978, 0.1346, 0.2384, 0.421, 0.7234, 1.168, 1.761, 2.51, 3.427, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005948, 0.02332, 0.05649, 0.1082, 0.1807, 0.2761, 0.3963, 0.543, 0.7179");
          values("0.0994, 0.1538, 0.3394, 0.7264, 1.342, 2.205, 3.338, 4.769, 6.519, 8.598",\
                 "0.09908, 0.1534, 0.3394, 0.7266, 1.343, 2.204, 3.338, 4.767, 6.518, 8.599",\
                 "0.0992, 0.1538, 0.3396, 0.7266, 1.343, 2.206, 3.338, 4.769, 6.519, 8.596",\
                 "0.0994, 0.1538, 0.3398, 0.726, 1.343, 2.206, 3.337, 4.769, 6.518, 8.605",\
                 "0.0988, 0.1538, 0.3396, 0.7268, 1.342, 2.202, 3.338, 4.769, 6.515, 8.597",\
                 "0.099, 0.154, 0.3398, 0.7262, 1.342, 2.205, 3.336, 4.768, 6.519, 8.602",\
                 "0.0994, 0.1538, 0.3398, 0.7266, 1.34, 2.202, 3.341, 4.764, 6.511, 8.597",\
                 "0.0992, 0.1538, 0.3396, 0.7276, 1.342, 2.205, 3.335, 4.771, 6.512, 8.595",\
                 "0.0996, 0.1538, 0.3394, 0.7268, 1.34, 2.202, 3.337, 4.764, 6.51, 8.593",\
                 "0.1, 0.1538, 0.3402, 0.7262, 1.342, 2.204, 3.337, 4.765, 6.507, 8.588");
        }
      }
    }

    pin(SE) {
      capacitance : 0.005819 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04984, 0.04927, 0.05058, 0.0559, 0.06599, 0.08138, 0.1025, 0.1297, \
                 0.1634, 0.2039");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001662, 0.0014, 0.002239, 0.006269, 0.01456, 0.02765, 0.04585, \
                 0.06938, 0.09859, 0.1338");
        }
      }

      internal_power() {
        when : "!CLK&!D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1645, 0.1636, 0.1642, 0.1696, 0.183, 0.2065, 0.2412, 0.2884, \
                 0.3478, 0.4196");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07201, 0.07184, 0.07227, 0.07693, 0.08872, 0.109, 0.1387, 0.1781, \
                 0.2277, 0.2882");
        }
      }

      internal_power() {
        when : "!CLK&D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1288, 0.1282, 0.1296, 0.1351, 0.1452, 0.1608, 0.1822, 0.2099, \
                 0.2443, 0.2858");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1246, 0.1243, 0.1248, 0.1282, 0.1356, 0.1482, 0.1659, 0.1893, \
                 0.2185, 0.2546");
        }
      }

      internal_power() {
        when : "!CLK&D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05079, 0.05025, 0.05175, 0.05715, 0.06736, 0.08289, 0.1041, \
                 0.1314, 0.1652, 0.2057");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002595, 0.00232, 0.003113, 0.007073, 0.01529, 0.02829, 0.04644, \
                 0.06995, 0.09915, 0.1343");
        }
      }

      internal_power() {
        when : "CLK&!D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04931, 0.04872, 0.05003, 0.05538, 0.06551, 0.08085, 0.102, 0.1293, \
                 0.163, 0.2035");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001068, 0.0007889, 0.001626, 0.005666, 0.01398, 0.02706, 0.04528, \
                 0.06887, 0.09811, 0.1333");
        }
      }

      internal_power() {
        when : "CLK&!D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06613, 0.0655, 0.06687, 0.07237, 0.08342, 0.1001, 0.1225, 0.1509, \
                 0.1854, 0.2262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001019, -0.001322, -0.0009135, 0.003043, 0.01201, 0.02645, \
                 0.04611, 0.07074, 0.1007, 0.1365");
        }
      }

      internal_power() {
        when : "CLK&D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05319, 0.05262, 0.05396, 0.05926, 0.06923, 0.08444, 0.1053, \
                 0.1323, 0.1659, 0.2062");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01981, 0.01952, 0.02033, 0.0242, 0.03246, 0.04544, 0.06388, \
                 0.0882, 0.1174, 0.1526");
        }
      }

      internal_power() {
        when : "CLK&D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04986, 0.04931, 0.0508, 0.05623, 0.06648, 0.08198, 0.1032, 0.1305, \
                 0.1643, 0.2049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002095, 0.001815, 0.002599, 0.006577, 0.01481, 0.02781, 0.04597, \
                 0.06949, 0.09868, 0.1339");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.08, -0.067, -0.02, 0.044, 0.092, 0.123, 0.142, 0.13, 0.091, 0.033",\
                 "-0.09, -0.072, -0.03, 0.035, 0.085, 0.117, 0.133, 0.117, 0.08, 0.025",\
                 "-0.135, -0.118, -0.071, -0.013, 0.043, 0.073, 0.085, 0.075, 0.04, -0.016",\
                 "-0.208, -0.199, -0.155, -0.084, -0.037, 0.001, 0.016, 0.002, -0.029, -0.092",\
                 "-0.315, -0.301, -0.251, -0.189, -0.134, -0.101, -0.081, -0.091, -0.125, -0.18",\
                 "-0.44, -0.424, -0.379, -0.315, -0.258, -0.221, -0.207, -0.205, -0.243, -0.298",\
                 "-0.58, -0.561, -0.519, -0.455, -0.405, -0.365, -0.339, -0.344, -0.375, -0.424",\
                 "-0.75, -0.733, -0.69, -0.629, -0.575, -0.536, -0.514, -0.509, -0.537, -0.581",\
                 "-0.943, -0.932, -0.892, -0.836, -0.783, -0.743, -0.718, -0.712, -0.74, -0.785",\
                 "-1.189, -1.168, -1.141, -1.088, -1.04, -0.989, -0.967, -0.958, -0.981, -1.028");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.303, -0.293, -0.261, -0.256, -0.265, -0.303, -0.356, -0.436, -0.538, -0.664",\
                 "-0.316, -0.302, -0.273, -0.264, -0.278, -0.313, -0.365, -0.45, -0.546, -0.677",\
                 "-0.345, -0.337, -0.307, -0.291, -0.305, -0.342, -0.395, -0.472, -0.572, -0.703",\
                 "-0.389, -0.382, -0.346, -0.329, -0.343, -0.372, -0.423, -0.499, -0.597, -0.719",\
                 "-0.427, -0.417, -0.382, -0.369, -0.37, -0.39, -0.441, -0.513, -0.608, -0.74",\
                 "-0.451, -0.436, -0.404, -0.381, -0.381, -0.405, -0.45, -0.516, -0.615, -0.737",\
                 "-0.437, -0.424, -0.393, -0.375, -0.376, -0.392, -0.436, -0.501, -0.6, -0.716",\
                 "-0.39, -0.38, -0.348, -0.329, -0.33, -0.351, -0.397, -0.463, -0.557, -0.677",\
                 "-0.298, -0.29, -0.255, -0.242, -0.244, -0.271, -0.316, -0.388, -0.483, -0.596",\
                 "-0.168, -0.162, -0.128, -0.115, -0.117, -0.148, -0.197, -0.272, -0.368, -0.491");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.498, -0.484, -0.455, -0.446, -0.459, -0.493, -0.55, -0.631, -0.729, -0.862",\
                 "-0.514, -0.501, -0.474, -0.457, -0.471, -0.513, -0.57, -0.647, -0.746, -0.876",\
                 "-0.586, -0.574, -0.543, -0.529, -0.539, -0.578, -0.631, -0.715, -0.821, -0.944",\
                 "-0.698, -0.681, -0.659, -0.643, -0.66, -0.694, -0.743, -0.826, -0.929, -1.06",\
                 "-0.851, -0.834, -0.808, -0.796, -0.807, -0.837, -0.893, -0.972, -1.072, -1.205",\
                 "-1.038, -1.025, -0.991, -0.98, -0.985, -1.026, -1.076, -1.156, -1.259, -1.384",\
                 "-1.246, -1.239, -1.208, -1.194, -1.205, -1.234, -1.292, -1.359, -1.468, -1.594",\
                 "-1.499, -1.485, -1.454, -1.444, -1.448, -1.479, -1.529, -1.608, -1.705, -1.834",\
                 "-1.786, -1.767, -1.736, -1.727, -1.729, -1.759, -1.811, -1.88, -1.984, -2.109",\
                 "-2.105, -2.09, -2.058, -2.045, -2.047, -2.075, -2.123, -2.195, -2.296, -2.42");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.206, -0.19, -0.143, -0.083, -0.034, -0.004, 0.015, 0.001, -0.037, -0.097",\
                 "-0.213, -0.199, -0.16, -0.1, -0.046, -0.012, 0.004, -0.008, -0.048, -0.106",\
                 "-0.254, -0.237, -0.197, -0.135, -0.078, -0.048, -0.033, -0.043, -0.084, -0.145",\
                 "-0.28, -0.266, -0.224, -0.16, -0.116, -0.08, -0.064, -0.072, -0.108, -0.17",\
                 "-0.3, -0.286, -0.243, -0.179, -0.127, -0.092, -0.081, -0.091, -0.125, -0.186",\
                 "-0.284, -0.271, -0.226, -0.161, -0.118, -0.081, -0.066, -0.078, -0.112, -0.175",\
                 "-0.234, -0.219, -0.175, -0.115, -0.067, -0.035, -0.016, -0.022, -0.068, -0.124",\
                 "-0.16, -0.141, -0.099, -0.035, 0.018, 0.053, 0.062, 0.052, 0.017, -0.039",\
                 "-0.043, -0.025, 0.018, 0.082, 0.135, 0.164, 0.18, 0.172, 0.14, 0.08",\
                 "0.113, 0.127, 0.173, 0.238, 0.288, 0.317, 0.338, 0.326, 0.289, 0.231");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.796, 0.778, 0.718, 0.629, 0.556, 0.493, 0.466, 0.454, 0.482, 0.535",\
                 "0.808, 0.786, 0.729, 0.64, 0.563, 0.501, 0.467, 0.462, 0.489, 0.541",\
                 "0.844, 0.829, 0.764, 0.674, 0.601, 0.546, 0.513, 0.504, 0.531, 0.586",\
                 "0.917, 0.903, 0.839, 0.751, 0.671, 0.613, 0.584, 0.573, 0.606, 0.658",\
                 "1.045, 1.027, 0.974, 0.876, 0.801, 0.75, 0.711, 0.706, 0.731, 0.789",\
                 "1.24, 1.231, 1.17, 1.076, 1.003, 0.945, 0.908, 0.904, 0.924, 0.977",\
                 "1.508, 1.495, 1.435, 1.344, 1.263, 1.201, 1.163, 1.145, 1.167, 1.216",\
                 "1.824, 1.813, 1.753, 1.652, 1.575, 1.513, 1.461, 1.442, 1.455, 1.499",\
                 "2.208, 2.192, 2.124, 2.033, 1.937, 1.869, 1.817, 1.792, 1.797, 1.83",\
                 "2.642, 2.62, 2.558, 2.454, 2.358, 2.282, 2.231, 2.195, 2.197, 2.226");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.676, 0.662, 0.61, 0.538, 0.496, 0.493, 0.516, 0.578, 0.665, 0.784",\
                 "0.691, 0.675, 0.622, 0.553, 0.502, 0.501, 0.527, 0.587, 0.681, 0.792",\
                 "0.721, 0.71, 0.653, 0.581, 0.54, 0.534, 0.558, 0.615, 0.705, 0.821",\
                 "0.771, 0.758, 0.7, 0.621, 0.576, 0.57, 0.594, 0.647, 0.728, 0.848",\
                 "0.822, 0.811, 0.748, 0.676, 0.626, 0.609, 0.625, 0.677, 0.759, 0.866",\
                 "0.854, 0.848, 0.787, 0.717, 0.661, 0.637, 0.652, 0.693, 0.772, 0.88",\
                 "0.867, 0.861, 0.801, 0.735, 0.674, 0.655, 0.654, 0.696, 0.771, 0.874",\
                 "0.856, 0.84, 0.783, 0.71, 0.657, 0.629, 0.641, 0.67, 0.746, 0.845",\
                 "0.799, 0.787, 0.735, 0.661, 0.603, 0.575, 0.576, 0.611, 0.684, 0.785",\
                 "0.705, 0.696, 0.638, 0.563, 0.511, 0.478, 0.483, 0.52, 0.584, 0.686");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.876, 0.86, 0.804, 0.738, 0.69, 0.689, 0.71, 0.773, 0.864, 0.982",\
                 "0.89, 0.882, 0.823, 0.756, 0.71, 0.702, 0.733, 0.79, 0.882, 0.997",\
                 "0.957, 0.947, 0.89, 0.813, 0.775, 0.77, 0.803, 0.858, 0.945, 1.068",\
                 "1.08, 1.067, 1.007, 0.935, 0.893, 0.892, 0.913, 0.974, 1.06, 1.184",\
                 "1.223, 1.205, 1.156, 1.081, 1.036, 1.03, 1.059, 1.121, 1.214, 1.325",\
                 "1.412, 1.396, 1.343, 1.266, 1.222, 1.214, 1.238, 1.3, 1.385, 1.507",\
                 "1.626, 1.615, 1.561, 1.494, 1.44, 1.43, 1.453, 1.516, 1.598, 1.716",\
                 "1.871, 1.861, 1.809, 1.732, 1.686, 1.682, 1.705, 1.757, 1.84, 1.962",\
                 "2.16, 2.152, 2.091, 2.024, 1.975, 1.963, 1.982, 2.035, 2.124, 2.235",\
                 "2.485, 2.473, 2.413, 2.342, 2.298, 2.282, 2.302, 2.355, 2.44, 2.549");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.939, 0.921, 0.857, 0.765, 0.69, 0.637, 0.6, 0.59, 0.617, 0.68",\
                 "0.951, 0.937, 0.871, 0.785, 0.71, 0.649, 0.613, 0.605, 0.641, 0.693",\
                 "0.984, 0.971, 0.913, 0.819, 0.74, 0.687, 0.649, 0.64, 0.672, 0.725",\
                 "1.008, 0.99, 0.932, 0.843, 0.766, 0.709, 0.674, 0.667, 0.702, 0.748",\
                 "1.015, 0.996, 0.939, 0.845, 0.774, 0.715, 0.682, 0.677, 0.712, 0.765",\
                 "1.004, 0.99, 0.928, 0.834, 0.766, 0.707, 0.679, 0.668, 0.698, 0.751",\
                 "0.959, 0.947, 0.882, 0.795, 0.72, 0.669, 0.638, 0.628, 0.653, 0.717",\
                 "0.88, 0.864, 0.802, 0.717, 0.649, 0.595, 0.563, 0.549, 0.577, 0.63",\
                 "0.767, 0.747, 0.693, 0.6, 0.528, 0.475, 0.446, 0.435, 0.459, 0.524",\
                 "0.611, 0.597, 0.536, 0.451, 0.38, 0.33, 0.297, 0.288, 0.323, 0.374");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002642 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008438, 0.00837, 0.00836, 0.008345, 0.008366, 0.008366, 0.008373, \
                 0.008365, 0.00836, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008158, -0.008162, -0.008162, -0.008202, -0.008243, -0.008275, \
                 -0.008276, -0.008287, -0.008288, -0.008294");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1351, 0.1348, 0.1343, 0.1341, 0.1369, 0.1454, 0.1616, 0.186, \
                 0.2179, 0.2566");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07003, 0.06953, 0.06897, 0.06924, 0.07235, 0.08003, 0.09324, \
                 0.1124, 0.1378, 0.1695");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008359, 0.00837, 0.008358, 0.008357, 0.008366, 0.008375, 0.008372, \
                 0.008369, 0.008362, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007471, -0.007843, -0.008146, -0.008207, -0.008244, -0.008266, \
                 -0.008282, -0.008293, -0.008292, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1351, 0.1348, 0.1343, 0.1341, 0.1369, 0.1454, 0.1616, 0.1861, \
                 0.2179, 0.2567");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07003, 0.06953, 0.06898, 0.06924, 0.07235, 0.07999, 0.09323, \
                 0.1124, 0.1378, 0.1695");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008401, 0.00838, 0.008359, 0.008359, 0.008377, 0.008369, 0.008368, \
                 0.008369, 0.008367, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008162, -0.008155, -0.008162, -0.008215, -0.008241, -0.008265, \
                 -0.008276, -0.008286, -0.008291, -0.008294");
        }
      }

      internal_power() {
        when : "CLK&!D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02824, 0.02825, 0.02823, 0.02818, 0.02817, 0.02818, 0.02818, \
                 0.0282, 0.02821, 0.02818");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00645, -0.006748, -0.007108, -0.007433, -0.007664, -0.007773, \
                 -0.007885, -0.007942, -0.007982, -0.008011");
        }
      }

      internal_power() {
        when : "CLK&D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008365, 0.008351, 0.008355, 0.008358, 0.008363, 0.008382, 0.00837, \
                 0.008365, 0.008367, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007573, -0.007851, -0.008146, -0.008218, -0.008236, -0.008265, \
                 -0.008281, -0.008283, -0.008289, -0.008294");
        }
      }

      internal_power() {
        when : "CLK&D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02824, 0.02823, 0.02824, 0.02818, 0.02817, 0.02817, 0.02818, \
                 0.02819, 0.02822, 0.0282");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006451, -0.006739, -0.007106, -0.007431, -0.007668, -0.007797, \
                 -0.007886, -0.00794, -0.00798, -0.00801");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.166, -0.149, -0.106, -0.047, 0.003, 0.031, 0.049, 0.036, 0.003, -0.06",\
                 "-0.172, -0.159, -0.119, -0.062, -0.008, 0.023, 0.038, 0.028, -0.008, -0.069",\
                 "-0.211, -0.195, -0.149, -0.094, -0.044, -0.01, 0.003, -0.006, -0.043, -0.102",\
                 "-0.262, -0.247, -0.201, -0.137, -0.09, -0.058, -0.044, -0.052, -0.09, -0.148",\
                 "-0.322, -0.309, -0.26, -0.2, -0.148, -0.11, -0.098, -0.106, -0.144, -0.204",\
                 "-0.382, -0.365, -0.321, -0.256, -0.205, -0.173, -0.16, -0.163, -0.201, -0.259",\
                 "-0.445, -0.424, -0.384, -0.315, -0.267, -0.237, -0.218, -0.218, -0.263, -0.317",\
                 "-0.52, -0.506, -0.466, -0.402, -0.353, -0.317, -0.3, -0.297, -0.334, -0.382",\
                 "-0.624, -0.603, -0.569, -0.513, -0.461, -0.428, -0.405, -0.402, -0.428, -0.479",\
                 "-0.757, -0.738, -0.707, -0.646, -0.6, -0.562, -0.539, -0.527, -0.566, -0.603");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.361, -0.348, -0.32, -0.31, -0.325, -0.36, -0.415, -0.501, -0.602, -0.732",\
                 "-0.371, -0.358, -0.326, -0.312, -0.332, -0.372, -0.425, -0.51, -0.61, -0.74",\
                 "-0.382, -0.373, -0.338, -0.332, -0.348, -0.38, -0.44, -0.522, -0.622, -0.756",\
                 "-0.398, -0.392, -0.363, -0.352, -0.364, -0.394, -0.453, -0.533, -0.632, -0.764",\
                 "-0.412, -0.402, -0.373, -0.358, -0.37, -0.399, -0.453, -0.528, -0.627, -0.758",\
                 "-0.411, -0.401, -0.366, -0.351, -0.354, -0.389, -0.436, -0.516, -0.615, -0.737",\
                 "-0.378, -0.364, -0.329, -0.315, -0.324, -0.359, -0.404, -0.481, -0.582, -0.702",\
                 "-0.307, -0.297, -0.267, -0.255, -0.264, -0.292, -0.348, -0.423, -0.523, -0.645",\
                 "-0.202, -0.194, -0.156, -0.146, -0.158, -0.198, -0.251, -0.328, -0.428, -0.56",\
                 "-0.054, -0.046, -0.015, -0.009, -0.022, -0.058, -0.118, -0.2, -0.305, -0.435");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.166, -0.149, -0.106, -0.047, 0.003, 0.031, 0.049, 0.036, 0.003, -0.06",\
                 "-0.172, -0.159, -0.119, -0.062, -0.008, 0.023, 0.038, 0.028, -0.008, -0.069",\
                 "-0.211, -0.195, -0.149, -0.094, -0.044, -0.01, 0.003, -0.006, -0.043, -0.102",\
                 "-0.262, -0.247, -0.201, -0.137, -0.09, -0.058, -0.044, -0.051, -0.09, -0.148",\
                 "-0.322, -0.309, -0.26, -0.2, -0.148, -0.11, -0.098, -0.106, -0.144, -0.204",\
                 "-0.382, -0.365, -0.321, -0.256, -0.205, -0.173, -0.16, -0.163, -0.201, -0.259",\
                 "-0.445, -0.424, -0.384, -0.315, -0.267, -0.237, -0.218, -0.227, -0.263, -0.317",\
                 "-0.52, -0.506, -0.466, -0.402, -0.353, -0.317, -0.3, -0.297, -0.328, -0.382",\
                 "-0.624, -0.603, -0.569, -0.522, -0.461, -0.428, -0.405, -0.402, -0.428, -0.47",\
                 "-0.746, -0.733, -0.702, -0.646, -0.594, -0.556, -0.539, -0.527, -0.557, -0.603");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.348, -0.32, -0.31, -0.325, -0.36, -0.423, -0.501, -0.602, -0.732",\
                 "-0.371, -0.358, -0.326, -0.312, -0.332, -0.372, -0.425, -0.51, -0.61, -0.74",\
                 "-0.388, -0.373, -0.338, -0.332, -0.348, -0.38, -0.44, -0.522, -0.622, -0.756",\
                 "-0.407, -0.392, -0.363, -0.353, -0.364, -0.394, -0.453, -0.533, -0.632, -0.764",\
                 "-0.419, -0.402, -0.373, -0.358, -0.37, -0.399, -0.453, -0.528, -0.627, -0.758",\
                 "-0.411, -0.401, -0.366, -0.351, -0.354, -0.389, -0.436, -0.516, -0.615, -0.737",\
                 "-0.378, -0.364, -0.329, -0.315, -0.324, -0.359, -0.404, -0.481, -0.582, -0.702",\
                 "-0.313, -0.297, -0.267, -0.255, -0.264, -0.292, -0.348, -0.423, -0.523, -0.645",\
                 "-0.202, -0.194, -0.156, -0.147, -0.158, -0.198, -0.251, -0.328, -0.428, -0.56",\
                 "-0.059, -0.046, -0.015, -0.008, -0.022, -0.058, -0.118, -0.2, -0.305, -0.435");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.899, 0.887, 0.82, 0.729, 0.66, 0.602, 0.567, 0.56, 0.586, 0.644",\
                 "0.91, 0.897, 0.835, 0.746, 0.664, 0.613, 0.578, 0.569, 0.601, 0.661",\
                 "0.946, 0.929, 0.866, 0.779, 0.705, 0.649, 0.613, 0.603, 0.638, 0.693",\
                 "0.999, 0.98, 0.92, 0.827, 0.755, 0.702, 0.664, 0.653, 0.684, 0.742",\
                 "1.089, 1.073, 1.017, 0.924, 0.848, 0.793, 0.751, 0.743, 0.778, 0.83",\
                 "1.24, 1.231, 1.17, 1.076, 1.003, 0.945, 0.908, 0.895, 0.918, 0.97",\
                 "1.474, 1.461, 1.398, 1.304, 1.223, 1.16, 1.122, 1.106, 1.114, 1.166",\
                 "1.765, 1.753, 1.691, 1.585, 1.508, 1.437, 1.393, 1.362, 1.374, 1.419",\
                 "2.12, 2.096, 2.033, 1.928, 1.843, 1.759, 1.705, 1.678, 1.68, 1.722",\
                 "2.511, 2.494, 2.424, 2.314, 2.215, 2.134, 2.074, 2.036, 2.043, 2.073");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.739, 0.73, 0.669, 0.601, 0.556, 0.55, 0.584, 0.637, 0.729, 0.852",\
                 "0.746, 0.731, 0.675, 0.602, 0.556, 0.554, 0.587, 0.647, 0.738, 0.86",\
                 "0.758, 0.746, 0.693, 0.622, 0.575, 0.572, 0.604, 0.659, 0.754, 0.875",\
                 "0.78, 0.768, 0.712, 0.644, 0.592, 0.585, 0.614, 0.673, 0.772, 0.882",\
                 "0.807, 0.788, 0.739, 0.665, 0.613, 0.6, 0.631, 0.684, 0.769, 0.89",\
                 "0.814, 0.801, 0.743, 0.681, 0.618, 0.605, 0.625, 0.676, 0.761, 0.873",\
                 "0.808, 0.801, 0.737, 0.665, 0.611, 0.594, 0.606, 0.657, 0.735, 0.852",\
                 "0.768, 0.762, 0.702, 0.63, 0.583, 0.562, 0.573, 0.612, 0.692, 0.805",\
                 "0.704, 0.691, 0.635, 0.565, 0.509, 0.486, 0.499, 0.543, 0.622, 0.731",\
                 "0.596, 0.591, 0.531, 0.462, 0.41, 0.388, 0.397, 0.44, 0.512, 0.62");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.899, 0.887, 0.82, 0.729, 0.653, 0.602, 0.567, 0.56, 0.586, 0.644",\
                 "0.91, 0.897, 0.835, 0.746, 0.671, 0.613, 0.587, 0.569, 0.593, 0.656",\
                 "0.941, 0.929, 0.866, 0.779, 0.705, 0.649, 0.613, 0.603, 0.638, 0.693",\
                 "0.999, 0.98, 0.92, 0.827, 0.755, 0.702, 0.664, 0.653, 0.684, 0.742",\
                 "1.089, 1.073, 1.017, 0.918, 0.848, 0.793, 0.751, 0.743, 0.769, 0.83",\
                 "1.245, 1.231, 1.17, 1.076, 1.003, 0.945, 0.908, 0.895, 0.918, 0.977",\
                 "1.474, 1.461, 1.398, 1.304, 1.223, 1.16, 1.122, 1.106, 1.114, 1.166",\
                 "1.765, 1.753, 1.691, 1.585, 1.508, 1.437, 1.393, 1.362, 1.374, 1.419",\
                 "2.112, 2.096, 2.033, 1.928, 1.843, 1.759, 1.705, 1.678, 1.688, 1.722",\
                 "2.511, 2.494, 2.429, 2.314, 2.221, 2.134, 2.074, 2.044, 2.043, 2.073");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.739, 0.73, 0.669, 0.601, 0.556, 0.55, 0.584, 0.643, 0.729, 0.852",\
                 "0.746, 0.731, 0.675, 0.602, 0.556, 0.554, 0.587, 0.647, 0.738, 0.855",\
                 "0.758, 0.746, 0.693, 0.622, 0.575, 0.572, 0.604, 0.659, 0.754, 0.875",\
                 "0.78, 0.768, 0.712, 0.644, 0.592, 0.585, 0.614, 0.673, 0.763, 0.882",\
                 "0.807, 0.788, 0.739, 0.66, 0.613, 0.6, 0.625, 0.684, 0.769, 0.884",\
                 "0.814, 0.801, 0.743, 0.673, 0.626, 0.605, 0.625, 0.676, 0.761, 0.873",\
                 "0.808, 0.801, 0.737, 0.665, 0.611, 0.594, 0.614, 0.657, 0.741, 0.852",\
                 "0.768, 0.762, 0.702, 0.63, 0.583, 0.562, 0.573, 0.612, 0.692, 0.805",\
                 "0.704, 0.691, 0.635, 0.565, 0.509, 0.486, 0.499, 0.543, 0.622, 0.731",\
                 "0.596, 0.591, 0.531, 0.462, 0.41, 0.394, 0.397, 0.44, 0.512, 0.62");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffq_4) {
    area : 96.588800 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&!SI" ;
      value : "0.0002369466" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&SI" ;
      value : "0.0002374845" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&!SI" ;
      value : "0.0003164502" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&SI" ;
      value : "0.0002347884" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&!SI" ;
      value : "0.0002963037" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&SI" ;
      value : "0.0002963037" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&!SI" ;
      value : "0.0003170046" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&SI" ;
      value : "0.0002347917" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&!SI" ;
      value : "0.0002193312" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&SI" ;
      value : "0.0002193609" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&!SI" ;
      value : "0.0002297988" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&SI" ;
      value : "0.0002499222" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&!SI" ;
      value : "0.000350658" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&SI" ;
      value : "0.000350658" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&!SI" ;
      value : "0.0002297988" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&SI" ;
      value : "0.0002499255" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000350658" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003429 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.04 ;
      min_pulse_width_high : 0.671 ;
      min_pulse_width_low : 1.024 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1184, 0.1179, 0.1187, 0.1249, 0.1375, 0.1571, 0.1846, 0.2204, \
                 0.265, 0.3186");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09216, 0.0918, 0.0923, 0.09724, 0.1076, 0.1248, 0.149, 0.1808, \
                 0.2205, 0.2681");
        }
      }

      internal_power() {
        when : "!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1184, 0.1179, 0.1187, 0.1249, 0.1375, 0.1571, 0.1846, 0.2204, \
                 0.265, 0.3186");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09215, 0.09176, 0.09231, 0.09725, 0.1076, 0.1248, 0.149, 0.1809, \
                 0.2205, 0.2681");
        }
      }

      internal_power() {
        when : "!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1283, 0.1278, 0.1286, 0.1348, 0.1474, 0.167, 0.1945, 0.2303, \
                 0.2749, 0.3284");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09208, 0.09173, 0.09226, 0.09721, 0.1075, 0.1247, 0.1489, 0.1808, \
                 0.2204, 0.2681");
        }
      }

      internal_power() {
        when : "!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1176, 0.1171, 0.1179, 0.1241, 0.1366, 0.1563, 0.1838, 0.2196, \
                 0.2642, 0.3179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09291, 0.09254, 0.09309, 0.09802, 0.1085, 0.1256, 0.1499, 0.1816, \
                 0.2213, 0.2689");
        }
      }

      internal_power() {
        when : "D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.1255, 0.1263, 0.1325, 0.145, 0.1646, 0.1922, 0.228, 0.2725, \
                 0.3262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09289, 0.09256, 0.09306, 0.09798, 0.1084, 0.1255, 0.1499, 0.1817, \
                 0.2211, 0.2689");
        }
      }

      internal_power() {
        when : "D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.1255, 0.1263, 0.1325, 0.145, 0.1646, 0.1921, 0.2279, \
                 0.2725, 0.3262");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0929, 0.09252, 0.09306, 0.09799, 0.1084, 0.1255, 0.1498, 0.1817, \
                 0.2211, 0.2689");
        }
      }

      internal_power() {
        when : "D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1283, 0.1278, 0.1287, 0.1348, 0.1474, 0.167, 0.1945, 0.2303, \
                 0.2748, 0.3284");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0921, 0.09176, 0.09225, 0.09719, 0.1075, 0.1247, 0.149, 0.1807, \
                 0.2204, 0.2681");
        }
      }

      internal_power() {
        when : "D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1176, 0.1171, 0.1179, 0.1241, 0.1366, 0.1563, 0.1837, 0.2196, \
                 0.2642, 0.3179");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09291, 0.09256, 0.09308, 0.098, 0.1085, 0.1256, 0.1499, 0.1817, \
                 0.2212, 0.2689");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("1.024");
        }

        rise_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("1.024");
        }

        rise_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.024");
        }

        rise_constraint(scalar) {
          values("0.56");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.84");
        }

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.853");
        }

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.853");
        }

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.024");
        }

        rise_constraint(scalar) {
          values("0.56");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.84");
        }

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&!SI" ;

        rise_constraint(scalar) {
          values("2.034");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&SI" ;

        rise_constraint(scalar) {
          values("2.034");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.04");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&SI" ;

        rise_constraint(scalar) {
          values("1.674");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&!SI" ;

        rise_constraint(scalar) {
          values("1.697");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&SI" ;

        rise_constraint(scalar) {
          values("1.697");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.04");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&SI" ;

        rise_constraint(scalar) {
          values("1.674");
        }
      }
    }

    pin(D) {
      capacitance : 0.002718 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1304, 0.13, 0.1295, 0.1294, 0.132, 0.1403, 0.1564, 0.1807, 0.2125, \
                 0.2513");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07584, 0.07533, 0.0748, 0.07499, 0.07806, 0.08567, 0.09884, \
                 0.118, 0.1433, 0.175");
        }
      }

      internal_power() {
        when : "!CLK&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1304, 0.13, 0.1295, 0.1294, 0.132, 0.1404, 0.1564, 0.1807, 0.2125, \
                 0.2512");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07584, 0.07534, 0.0748, 0.075, 0.07807, 0.08568, 0.09883, 0.118, \
                 0.1433, 0.175");
        }
      }

      internal_power() {
        when : "!CLK&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0084, 0.008383, 0.008362, 0.008361, 0.008369, 0.008361, 0.008376, \
                 0.008371, 0.008365, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007989, -0.007986, -0.008018, -0.008115, -0.008187, -0.008215, \
                 -0.008231, -0.008235, -0.008249, -0.008253");
        }
      }

      internal_power() {
        when : "!CLK&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00836, 0.008367, 0.008358, 0.008341, 0.008356, 0.008375, 0.008364, \
                 0.008371, 0.008372, 0.00836");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007313, -0.0077, -0.008026, -0.008116, -0.008168, -0.008207, \
                 -0.008226, -0.008238, -0.008254, -0.008259");
        }
      }

      internal_power() {
        when : "CLK&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02787, 0.02781, 0.02773, 0.02764, 0.02763, 0.02763, 0.0276, \
                 0.02761, 0.02762, 0.02761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002287, -0.002547, -0.002898, -0.00321, -0.003426, -0.003559, \
                 -0.003639, -0.003697, -0.003735, -0.003755");
        }
      }

      internal_power() {
        when : "CLK&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02787, 0.02781, 0.02773, 0.02764, 0.02763, 0.02763, 0.0276, \
                 0.02761, 0.02762, 0.0276");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002287, -0.002547, -0.002899, -0.00321, -0.003428, -0.003559, \
                 -0.00364, -0.003693, -0.003732, -0.00376");
        }
      }

      internal_power() {
        when : "CLK&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008359, 0.008363, 0.008356, 0.008354, 0.008373, 0.008347, 0.008372, \
                 0.008366, 0.008368, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007978, -0.007969, -0.008034, -0.008118, -0.008182, -0.008179, \
                 -0.008229, -0.008237, -0.008248, -0.008254");
        }
      }

      internal_power() {
        when : "CLK&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008356, 0.008352, 0.008335, 0.008355, 0.00835, 0.008359, 0.00837, \
                 0.008368, 0.008368, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007393, -0.007719, -0.008033, -0.008134, -0.008158, -0.008191, \
                 -0.008228, -0.00824, -0.008251, -0.008257");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.155, -0.149, -0.1, -0.047, 0.003, 0.037, 0.049, 0.042, 0.003, -0.055",\
                 "-0.166, -0.159, -0.113, -0.052, -0.008, 0.023, 0.038, 0.028, -0.008, -0.069",\
                 "-0.205, -0.195, -0.149, -0.094, -0.044, -0.01, 0.003, -0.006, -0.043, -0.102",\
                 "-0.253, -0.247, -0.201, -0.137, -0.095, -0.058, -0.044, -0.052, -0.09, -0.148",\
                 "-0.315, -0.309, -0.26, -0.2, -0.148, -0.11, -0.098, -0.106, -0.144, -0.204",\
                 "-0.37, -0.365, -0.321, -0.257, -0.205, -0.167, -0.16, -0.163, -0.201, -0.259",\
                 "-0.42, -0.416, -0.375, -0.315, -0.268, -0.224, -0.21, -0.218, -0.257, -0.309",\
                 "-0.496, -0.494, -0.453, -0.395, -0.345, -0.3, -0.29, -0.286, -0.321, -0.366",\
                 "-0.584, -0.587, -0.553, -0.495, -0.452, -0.413, -0.393, -0.382, -0.421, -0.461",\
                 "-0.705, -0.712, -0.68, -0.629, -0.588, -0.536, -0.518, -0.511, -0.539, -0.573");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.372, -0.354, -0.326, -0.319, -0.332, -0.372, -0.423, -0.507, -0.61, -0.742",\
                 "-0.377, -0.366, -0.332, -0.322, -0.339, -0.378, -0.433, -0.516, -0.618, -0.75",\
                 "-0.388, -0.379, -0.346, -0.338, -0.348, -0.387, -0.449, -0.528, -0.63, -0.762",\
                 "-0.407, -0.392, -0.363, -0.352, -0.364, -0.401, -0.453, -0.533, -0.641, -0.769",\
                 "-0.419, -0.409, -0.373, -0.363, -0.37, -0.399, -0.459, -0.535, -0.636, -0.764",\
                 "-0.411, -0.401, -0.372, -0.359, -0.363, -0.394, -0.443, -0.516, -0.62, -0.744",\
                 "-0.378, -0.364, -0.338, -0.325, -0.33, -0.359, -0.412, -0.481, -0.588, -0.709",\
                 "-0.313, -0.303, -0.273, -0.255, -0.264, -0.3, -0.348, -0.429, -0.53, -0.653",\
                 "-0.202, -0.194, -0.164, -0.155, -0.158, -0.198, -0.257, -0.334, -0.436, -0.56",\
                 "-0.059, -0.046, -0.02, -0.013, -0.028, -0.058, -0.118, -0.2, -0.305, -0.44");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.155, -0.149, -0.1, -0.047, 0.003, 0.037, 0.049, 0.042, 0.003, -0.055",\
                 "-0.166, -0.159, -0.113, -0.052, -0.008, 0.023, 0.038, 0.028, -0.008, -0.069",\
                 "-0.205, -0.195, -0.149, -0.094, -0.044, -0.01, 0.003, -0.006, -0.043, -0.102",\
                 "-0.253, -0.247, -0.201, -0.137, -0.095, -0.058, -0.044, -0.052, -0.09, -0.148",\
                 "-0.315, -0.309, -0.26, -0.2, -0.148, -0.11, -0.098, -0.106, -0.144, -0.204",\
                 "-0.37, -0.365, -0.321, -0.256, -0.205, -0.173, -0.16, -0.163, -0.201, -0.259",\
                 "-0.42, -0.416, -0.375, -0.315, -0.268, -0.224, -0.21, -0.218, -0.257, -0.309",\
                 "-0.496, -0.494, -0.453, -0.403, -0.345, -0.3, -0.29, -0.286, -0.321, -0.366",\
                 "-0.584, -0.587, -0.553, -0.495, -0.452, -0.407, -0.393, -0.382, -0.413, -0.461",\
                 "-0.705, -0.712, -0.685, -0.629, -0.582, -0.53, -0.511, -0.503, -0.539, -0.578");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.372, -0.354, -0.326, -0.319, -0.332, -0.372, -0.423, -0.507, -0.61, -0.742",\
                 "-0.377, -0.366, -0.332, -0.322, -0.339, -0.378, -0.433, -0.516, -0.618, -0.75",\
                 "-0.393, -0.379, -0.346, -0.337, -0.348, -0.387, -0.449, -0.528, -0.63, -0.762",\
                 "-0.407, -0.392, -0.363, -0.352, -0.364, -0.401, -0.453, -0.533, -0.641, -0.769",\
                 "-0.419, -0.409, -0.373, -0.363, -0.37, -0.399, -0.459, -0.535, -0.636, -0.764",\
                 "-0.417, -0.401, -0.372, -0.351, -0.363, -0.394, -0.443, -0.516, -0.62, -0.744",\
                 "-0.378, -0.364, -0.338, -0.325, -0.33, -0.359, -0.412, -0.481, -0.588, -0.709",\
                 "-0.313, -0.303, -0.267, -0.255, -0.264, -0.3, -0.348, -0.429, -0.523, -0.653",\
                 "-0.21, -0.194, -0.164, -0.154, -0.158, -0.198, -0.257, -0.334, -0.436, -0.56",\
                 "-0.064, -0.046, -0.02, -0.014, -0.028, -0.058, -0.118, -0.2, -0.305, -0.44");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.899, 0.887, 0.82, 0.729, 0.653, 0.602, 0.567, 0.56, 0.578, 0.639",\
                 "0.91, 0.897, 0.835, 0.746, 0.671, 0.613, 0.578, 0.569, 0.601, 0.651",\
                 "0.946, 0.935, 0.874, 0.779, 0.705, 0.649, 0.613, 0.609, 0.638, 0.693",\
                 "0.999, 0.99, 0.926, 0.835, 0.761, 0.702, 0.664, 0.66, 0.684, 0.742",\
                 "1.097, 1.081, 1.017, 0.924, 0.848, 0.793, 0.756, 0.751, 0.778, 0.83",\
                 "1.251, 1.231, 1.17, 1.083, 1.003, 0.945, 0.908, 0.904, 0.918, 0.977",\
                 "1.474, 1.461, 1.398, 1.304, 1.223, 1.167, 1.122, 1.106, 1.125, 1.166",\
                 "1.771, 1.753, 1.691, 1.592, 1.508, 1.437, 1.393, 1.368, 1.374, 1.419",\
                 "2.12, 2.104, 2.033, 1.937, 1.843, 1.764, 1.705, 1.678, 1.688, 1.722",\
                 "2.511, 2.494, 2.424, 2.314, 2.221, 2.14, 2.074, 2.044, 2.043, 2.073");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.75, 0.737, 0.68, 0.62, 0.563, 0.562, 0.592, 0.649, 0.745, 0.863",\
                 "0.76, 0.746, 0.687, 0.611, 0.571, 0.566, 0.596, 0.659, 0.746, 0.866",\
                 "0.774, 0.758, 0.701, 0.628, 0.583, 0.585, 0.613, 0.671, 0.763, 0.886",\
                 "0.79, 0.777, 0.723, 0.651, 0.602, 0.599, 0.624, 0.687, 0.772, 0.893",\
                 "0.807, 0.803, 0.739, 0.676, 0.619, 0.618, 0.636, 0.691, 0.778, 0.896",\
                 "0.819, 0.807, 0.756, 0.681, 0.635, 0.615, 0.638, 0.685, 0.772, 0.886",\
                 "0.816, 0.801, 0.746, 0.675, 0.622, 0.608, 0.622, 0.667, 0.747, 0.859",\
                 "0.78, 0.768, 0.709, 0.643, 0.583, 0.57, 0.583, 0.624, 0.699, 0.813",\
                 "0.719, 0.699, 0.644, 0.574, 0.518, 0.496, 0.505, 0.55, 0.63, 0.74",\
                 "0.622, 0.602, 0.547, 0.479, 0.416, 0.401, 0.404, 0.448, 0.521, 0.63");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.899, 0.887, 0.82, 0.729, 0.653, 0.602, 0.567, 0.56, 0.578, 0.639",\
                 "0.91, 0.897, 0.835, 0.746, 0.671, 0.613, 0.578, 0.569, 0.601, 0.651",\
                 "0.946, 0.935, 0.874, 0.779, 0.705, 0.649, 0.613, 0.609, 0.638, 0.693",\
                 "0.999, 0.99, 0.926, 0.835, 0.761, 0.702, 0.664, 0.66, 0.684, 0.742",\
                 "1.097, 1.081, 1.017, 0.924, 0.848, 0.793, 0.756, 0.751, 0.778, 0.842",\
                 "1.251, 1.231, 1.17, 1.083, 1.003, 0.945, 0.908, 0.904, 0.924, 0.977",\
                 "1.474, 1.461, 1.398, 1.304, 1.223, 1.167, 1.122, 1.106, 1.125, 1.166",\
                 "1.771, 1.753, 1.691, 1.592, 1.508, 1.437, 1.393, 1.368, 1.374, 1.419",\
                 "2.12, 2.104, 2.033, 1.928, 1.843, 1.764, 1.705, 1.678, 1.68, 1.722",\
                 "2.511, 2.494, 2.424, 2.319, 2.221, 2.14, 2.074, 2.044, 2.043, 2.073");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.75, 0.737, 0.686, 0.61, 0.563, 0.562, 0.592, 0.649, 0.745, 0.863",\
                 "0.753, 0.746, 0.687, 0.611, 0.571, 0.566, 0.596, 0.659, 0.746, 0.866",\
                 "0.769, 0.758, 0.701, 0.628, 0.583, 0.585, 0.613, 0.671, 0.763, 0.886",\
                 "0.79, 0.777, 0.723, 0.644, 0.602, 0.599, 0.624, 0.687, 0.772, 0.893",\
                 "0.814, 0.803, 0.739, 0.67, 0.619, 0.618, 0.636, 0.691, 0.778, 0.896",\
                 "0.819, 0.807, 0.749, 0.681, 0.635, 0.615, 0.638, 0.685, 0.772, 0.886",\
                 "0.808, 0.801, 0.746, 0.675, 0.622, 0.608, 0.622, 0.667, 0.747, 0.859",\
                 "0.774, 0.768, 0.709, 0.643, 0.583, 0.57, 0.583, 0.624, 0.699, 0.813",\
                 "0.711, 0.699, 0.644, 0.574, 0.518, 0.496, 0.505, 0.55, 0.63, 0.74",\
                 "0.611, 0.602, 0.547, 0.473, 0.416, 0.401, 0.404, 0.448, 0.521, 0.63");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.436 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.2932, 0.2813, 0.2665, 0.2598, 0.2564, 0.2546, 0.2535, 0.2527, 0.2523, 0.252",\
                 "0.2934, 0.2813, 0.2667, 0.2598, 0.2565, 0.2545, 0.2535, 0.2526, 0.2523, 0.252",\
                 "0.2934, 0.2813, 0.2668, 0.2598, 0.2565, 0.2545, 0.2535, 0.2528, 0.2523, 0.252",\
                 "0.2941, 0.282, 0.2674, 0.2605, 0.2572, 0.2552, 0.2541, 0.2534, 0.253, 0.2527",\
                 "0.2951, 0.2829, 0.2683, 0.2615, 0.258, 0.2563, 0.2553, 0.2545, 0.254, 0.2537",\
                 "0.2962, 0.2842, 0.2695, 0.2627, 0.2593, 0.2574, 0.2563, 0.2556, 0.2552, 0.2549",\
                 "0.2977, 0.2857, 0.2711, 0.2645, 0.261, 0.2591, 0.258, 0.2571, 0.2567, 0.2564",\
                 "0.2992, 0.2871, 0.2724, 0.2657, 0.2622, 0.2605, 0.2592, 0.2585, 0.2581, 0.2577",\
                 "0.3007, 0.2886, 0.2739, 0.2673, 0.2638, 0.262, 0.2607, 0.2601, 0.2596, 0.2594",\
                 "0.3025, 0.2904, 0.2758, 0.2691, 0.2657, 0.264, 0.2626, 0.2618, 0.2613, 0.2611");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.2604, 0.2531, 0.2441, 0.2406, 0.2397, 0.2415, 0.2432, 0.2463, 0.249, 0.2668",\
                 "0.2605, 0.2532, 0.2444, 0.2407, 0.2398, 0.2419, 0.2432, 0.246, 0.2494, 0.2681",\
                 "0.2604, 0.2531, 0.2441, 0.2402, 0.2397, 0.2416, 0.2433, 0.2455, 0.2499, 0.2688",\
                 "0.261, 0.2533, 0.2446, 0.2405, 0.2411, 0.2436, 0.2437, 0.2468, 0.2502, 0.2693",\
                 "0.262, 0.2544, 0.2453, 0.2415, 0.241, 0.2437, 0.2461, 0.2476, 0.251, 0.2718",\
                 "0.2625, 0.2555, 0.2459, 0.2429, 0.2419, 0.2444, 0.2454, 0.2486, 0.2531, 0.2796",\
                 "0.2644, 0.2567, 0.248, 0.2437, 0.244, 0.2472, 0.2475, 0.2502, 0.2546, 0.2875",\
                 "0.2662, 0.259, 0.2498, 0.2455, 0.2445, 0.2478, 0.2521, 0.2538, 0.2558, 0.2998",\
                 "0.2685, 0.2612, 0.2519, 0.2479, 0.2468, 0.2471, 0.2511, 0.259, 0.2666, 0.3237",\
                 "0.2712, 0.2638, 0.2549, 0.2503, 0.2498, 0.2489, 0.251, 0.2588, 0.2734, 0.3651");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.2933, 0.2812, 0.2665, 0.2597, 0.2563, 0.2545, 0.2533, 0.2527, 0.2522, 0.2519",\
                 "0.2934, 0.2813, 0.2666, 0.2599, 0.2562, 0.2546, 0.2533, 0.2526, 0.2522, 0.2519",\
                 "0.2934, 0.2813, 0.2668, 0.26, 0.2565, 0.2548, 0.2535, 0.2528, 0.2523, 0.2521",\
                 "0.294, 0.2819, 0.2673, 0.2605, 0.2571, 0.2552, 0.2541, 0.2534, 0.2529, 0.2527",\
                 "0.2951, 0.2828, 0.2683, 0.2615, 0.258, 0.2564, 0.2553, 0.2545, 0.254, 0.2537",\
                 "0.2962, 0.2842, 0.2696, 0.2628, 0.2593, 0.2575, 0.2563, 0.2557, 0.2551, 0.2548",\
                 "0.2977, 0.2856, 0.2712, 0.2643, 0.2609, 0.2591, 0.2579, 0.257, 0.2566, 0.2564",\
                 "0.2992, 0.2871, 0.2725, 0.2658, 0.2623, 0.2606, 0.2594, 0.2587, 0.2581, 0.2578",\
                 "0.3009, 0.2888, 0.2742, 0.2675, 0.2639, 0.2623, 0.261, 0.2602, 0.2597, 0.2594",\
                 "0.3025, 0.2905, 0.2759, 0.2692, 0.2658, 0.2638, 0.2627, 0.262, 0.2615, 0.2612");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.2606, 0.2531, 0.2442, 0.2406, 0.2403, 0.2425, 0.2432, 0.246, 0.25, 0.2665",\
                 "0.2606, 0.253, 0.2446, 0.2409, 0.2407, 0.2425, 0.2439, 0.246, 0.249, 0.2668",\
                 "0.2605, 0.2529, 0.2441, 0.2404, 0.2403, 0.2427, 0.2437, 0.2462, 0.2496, 0.2685",\
                 "0.2612, 0.2537, 0.2447, 0.2412, 0.2413, 0.243, 0.2437, 0.2468, 0.2503, 0.2716",\
                 "0.262, 0.2545, 0.2456, 0.2416, 0.241, 0.2428, 0.2468, 0.2473, 0.2508, 0.2738",\
                 "0.2626, 0.2556, 0.2461, 0.2432, 0.2423, 0.2439, 0.2459, 0.2484, 0.2522, 0.2777",\
                 "0.2642, 0.2569, 0.2474, 0.2429, 0.2446, 0.2462, 0.2479, 0.2503, 0.2544, 0.2875",\
                 "0.2663, 0.259, 0.2497, 0.2459, 0.2456, 0.2471, 0.2524, 0.2551, 0.2564, 0.2994",\
                 "0.2687, 0.2613, 0.2521, 0.2477, 0.2469, 0.2476, 0.2522, 0.2579, 0.2654, 0.3252",\
                 "0.2716, 0.2641, 0.255, 0.2506, 0.2497, 0.251, 0.2503, 0.2595, 0.2755, 0.3651");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.2934, 0.2813, 0.2667, 0.2599, 0.2565, 0.2546, 0.2537, 0.2527, 0.2523, 0.252",\
                 "0.2934, 0.2813, 0.2666, 0.2599, 0.2566, 0.2544, 0.2534, 0.2527, 0.2523, 0.252",\
                 "0.2935, 0.2814, 0.2667, 0.26, 0.2566, 0.2547, 0.2535, 0.2528, 0.2525, 0.2521",\
                 "0.2942, 0.2821, 0.2674, 0.2606, 0.2573, 0.2555, 0.2541, 0.2534, 0.253, 0.2527",\
                 "0.2951, 0.283, 0.2686, 0.2616, 0.2582, 0.2565, 0.2555, 0.2546, 0.2541, 0.2538",\
                 "0.2964, 0.2843, 0.2696, 0.2629, 0.2594, 0.2575, 0.2563, 0.2557, 0.2552, 0.2549",\
                 "0.2978, 0.2855, 0.2711, 0.2644, 0.2609, 0.2589, 0.2578, 0.2571, 0.2566, 0.2564",\
                 "0.2994, 0.2871, 0.2726, 0.2658, 0.2623, 0.2606, 0.2594, 0.2588, 0.2582, 0.2579",\
                 "0.301, 0.2886, 0.2741, 0.2675, 0.2639, 0.2624, 0.2611, 0.2601, 0.2597, 0.2594",\
                 "0.3025, 0.2906, 0.2758, 0.2691, 0.2658, 0.2638, 0.2628, 0.2619, 0.2614, 0.2611");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.2604, 0.2531, 0.2444, 0.2406, 0.2399, 0.2418, 0.2438, 0.2457, 0.2493, 0.2684",\
                 "0.2604, 0.2531, 0.2446, 0.241, 0.2407, 0.2415, 0.2436, 0.2464, 0.2494, 0.2675",\
                 "0.2604, 0.2532, 0.2441, 0.2404, 0.2403, 0.2417, 0.2437, 0.2462, 0.2496, 0.2685",\
                 "0.2612, 0.2538, 0.2447, 0.2412, 0.2413, 0.243, 0.2437, 0.2468, 0.2502, 0.2716",\
                 "0.262, 0.2546, 0.2455, 0.2416, 0.2408, 0.2428, 0.2445, 0.248, 0.2518, 0.2722",\
                 "0.2628, 0.2553, 0.2464, 0.2434, 0.2424, 0.2445, 0.2455, 0.2484, 0.2522, 0.2783",\
                 "0.2644, 0.2571, 0.2478, 0.2434, 0.2444, 0.247, 0.2474, 0.2497, 0.2545, 0.2873",\
                 "0.2663, 0.2591, 0.2503, 0.2458, 0.2446, 0.2477, 0.2511, 0.2541, 0.258, 0.3001",\
                 "0.2687, 0.2614, 0.2521, 0.2482, 0.247, 0.2472, 0.2525, 0.2579, 0.2648, 0.3258",\
                 "0.2717, 0.2643, 0.2555, 0.2502, 0.2494, 0.2493, 0.2523, 0.2578, 0.2738, 0.3654");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&SE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.2934, 0.2814, 0.2666, 0.2599, 0.2564, 0.2547, 0.2534, 0.2527, 0.2523, 0.252",\
                 "0.2934, 0.2813, 0.2666, 0.2597, 0.2562, 0.2546, 0.2534, 0.2527, 0.2522, 0.252",\
                 "0.2935, 0.2814, 0.2667, 0.2599, 0.2566, 0.2547, 0.2537, 0.2529, 0.2524, 0.2521",\
                 "0.2943, 0.2821, 0.2674, 0.2606, 0.2572, 0.2555, 0.2543, 0.2535, 0.2531, 0.2527",\
                 "0.2952, 0.283, 0.2686, 0.2616, 0.2582, 0.2565, 0.2554, 0.2546, 0.254, 0.2537",\
                 "0.2963, 0.2844, 0.2695, 0.2627, 0.2594, 0.2575, 0.2563, 0.2557, 0.2553, 0.2549",\
                 "0.2978, 0.2857, 0.271, 0.2643, 0.2609, 0.2591, 0.2579, 0.2572, 0.2566, 0.2564",\
                 "0.2994, 0.2872, 0.2726, 0.2658, 0.2625, 0.2607, 0.2595, 0.2588, 0.2583, 0.2579",\
                 "0.3009, 0.2888, 0.2742, 0.2674, 0.2641, 0.2621, 0.2608, 0.2601, 0.2597, 0.2594",\
                 "0.3026, 0.2906, 0.2759, 0.2691, 0.2656, 0.2639, 0.2626, 0.2618, 0.2614, 0.2611");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.2604, 0.2532, 0.2443, 0.2408, 0.2403, 0.2418, 0.2448, 0.2463, 0.2493, 0.2668",\
                 "0.2606, 0.2532, 0.2446, 0.2402, 0.2399, 0.2415, 0.2448, 0.2463, 0.249, 0.2678",\
                 "0.2604, 0.2531, 0.2443, 0.2403, 0.2403, 0.242, 0.2447, 0.2461, 0.2499, 0.2682",\
                 "0.261, 0.2534, 0.2447, 0.2405, 0.2411, 0.2437, 0.2437, 0.2468, 0.2502, 0.2693",\
                 "0.2617, 0.2543, 0.2454, 0.2414, 0.2408, 0.2437, 0.2451, 0.2469, 0.251, 0.2718",\
                 "0.2626, 0.2554, 0.2463, 0.2429, 0.2421, 0.2438, 0.2458, 0.2486, 0.2521, 0.2799",\
                 "0.2641, 0.257, 0.2476, 0.2428, 0.2443, 0.2465, 0.2476, 0.2499, 0.2543, 0.2872",\
                 "0.2662, 0.2589, 0.25, 0.2458, 0.2442, 0.2468, 0.2511, 0.2551, 0.2564, 0.2998",\
                 "0.2687, 0.2614, 0.2521, 0.2479, 0.2471, 0.2472, 0.2518, 0.2598, 0.2641, 0.3264",\
                 "0.2713, 0.2637, 0.255, 0.2503, 0.2491, 0.2506, 0.252, 0.2588, 0.2741, 0.3654");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("1.001, 1.047, 1.159, 1.317, 1.525, 1.799, 2.155, 2.603, 3.15, 3.801",\
                 "1.014, 1.061, 1.173, 1.331, 1.538, 1.813, 2.169, 2.616, 3.163, 3.815",\
                 "1.065, 1.111, 1.224, 1.381, 1.589, 1.863, 2.219, 2.667, 3.214, 3.865",\
                 "1.14, 1.186, 1.298, 1.456, 1.663, 1.938, 2.294, 2.742, 3.288, 3.941",\
                 "1.201, 1.247, 1.359, 1.517, 1.725, 1.999, 2.355, 2.803, 3.349, 4.001",\
                 "1.247, 1.294, 1.406, 1.564, 1.771, 2.046, 2.402, 2.849, 3.396, 4.048",\
                 "1.276, 1.323, 1.435, 1.593, 1.8, 2.074, 2.43, 2.878, 3.425, 4.077",\
                 "1.282, 1.329, 1.441, 1.599, 1.806, 2.08, 2.437, 2.884, 3.431, 4.082",\
                 "1.263, 1.309, 1.422, 1.579, 1.787, 2.061, 2.417, 2.865, 3.411, 4.063",\
                 "1.216, 1.263, 1.375, 1.533, 1.74, 2.014, 2.37, 2.818, 3.365, 4.016");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.937, 0.9841, 1.114, 1.339, 1.687, 2.177, 2.822, 3.634, 4.628, 5.808",\
                 "0.9509, 0.9979, 1.128, 1.352, 1.701, 2.191, 2.835, 3.648, 4.64, 5.824",\
                 "1.001, 1.048, 1.178, 1.402, 1.751, 2.24, 2.885, 3.698, 4.69, 5.874",\
                 "1.075, 1.122, 1.252, 1.476, 1.825, 2.315, 2.959, 3.772, 4.763, 5.948",\
                 "1.137, 1.184, 1.314, 1.538, 1.887, 2.376, 3.021, 3.833, 4.826, 6.007",\
                 "1.184, 1.232, 1.362, 1.586, 1.934, 2.424, 3.069, 3.881, 4.874, 6.054",\
                 "1.215, 1.262, 1.393, 1.617, 1.965, 2.455, 3.099, 3.912, 4.904, 6.087",\
                 "1.226, 1.273, 1.403, 1.627, 1.976, 2.466, 3.109, 3.921, 4.913, 6.098",\
                 "1.212, 1.259, 1.389, 1.613, 1.962, 2.452, 3.096, 3.908, 4.9, 6.081",\
                 "1.172, 1.219, 1.349, 1.574, 1.922, 2.412, 3.057, 3.869, 4.86, 6.041");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1219, 0.1644, 0.2772, 0.4598, 0.7502, 1.183, 1.772, 2.524, 3.441, 4.543",\
                 "0.122, 0.1646, 0.2768, 0.4598, 0.7508, 1.185, 1.773, 2.523, 3.444, 4.544",\
                 "0.1218, 0.1646, 0.277, 0.4598, 0.751, 1.183, 1.774, 2.524, 3.443, 4.544",\
                 "0.122, 0.1646, 0.2772, 0.4598, 0.7508, 1.183, 1.774, 2.524, 3.445, 4.542",\
                 "0.122, 0.1646, 0.2768, 0.4596, 0.7504, 1.183, 1.774, 2.524, 3.445, 4.544",\
                 "0.1222, 0.1644, 0.2768, 0.4596, 0.7508, 1.185, 1.774, 2.524, 3.442, 4.542",\
                 "0.122, 0.1644, 0.2768, 0.4604, 0.7508, 1.184, 1.772, 2.523, 3.442, 4.54",\
                 "0.122, 0.1644, 0.277, 0.4598, 0.7506, 1.185, 1.772, 2.522, 3.437, 4.533",\
                 "0.122, 0.1646, 0.277, 0.46, 0.7502, 1.184, 1.772, 2.521, 3.438, 4.531",\
                 "0.1222, 0.1646, 0.277, 0.4596, 0.7502, 1.183, 1.772, 2.524, 3.441, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1086, 0.1653, 0.349, 0.7274, 1.343, 2.206, 3.339, 4.774, 6.52, 8.606",\
                 "0.1085, 0.1656, 0.35, 0.7276, 1.342, 2.206, 3.346, 4.774, 6.523, 8.613",\
                 "0.1084, 0.1656, 0.3492, 0.7286, 1.342, 2.206, 3.346, 4.774, 6.524, 8.612",\
                 "0.109, 0.1654, 0.3492, 0.7274, 1.341, 2.206, 3.339, 4.774, 6.525, 8.61",\
                 "0.1092, 0.1646, 0.3492, 0.7286, 1.341, 2.206, 3.346, 4.773, 6.524, 8.613",\
                 "0.1086, 0.1654, 0.3494, 0.7282, 1.341, 2.205, 3.346, 4.772, 6.523, 8.604",\
                 "0.1088, 0.1656, 0.3498, 0.7276, 1.342, 2.203, 3.344, 4.773, 6.524, 8.609",\
                 "0.1088, 0.1656, 0.3492, 0.728, 1.342, 2.203, 3.339, 4.775, 6.517, 8.603",\
                 "0.1094, 0.166, 0.3502, 0.7276, 1.342, 2.203, 3.339, 4.771, 6.519, 8.599",\
                 "0.1094, 0.1658, 0.3496, 0.7276, 1.342, 2.206, 3.34, 4.773, 6.517, 8.598");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("1.001, 1.047, 1.159, 1.317, 1.525, 1.799, 2.155, 2.603, 3.15, 3.802",\
                 "1.014, 1.061, 1.173, 1.331, 1.538, 1.813, 2.169, 2.616, 3.163, 3.815",\
                 "1.065, 1.111, 1.224, 1.381, 1.589, 1.863, 2.219, 2.667, 3.214, 3.865",\
                 "1.14, 1.186, 1.298, 1.456, 1.663, 1.938, 2.294, 2.742, 3.288, 3.94",\
                 "1.201, 1.247, 1.359, 1.517, 1.724, 1.999, 2.355, 2.803, 3.349, 4.002",\
                 "1.247, 1.294, 1.406, 1.564, 1.771, 2.046, 2.402, 2.85, 3.396, 4.048",\
                 "1.276, 1.323, 1.435, 1.593, 1.8, 2.074, 2.43, 2.878, 3.425, 4.077",\
                 "1.282, 1.329, 1.441, 1.599, 1.806, 2.08, 2.436, 2.884, 3.431, 4.082",\
                 "1.263, 1.31, 1.422, 1.58, 1.787, 2.062, 2.417, 2.865, 3.412, 4.064",\
                 "1.216, 1.263, 1.375, 1.533, 1.74, 2.014, 2.371, 2.818, 3.365, 4.016");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.9369, 0.9839, 1.114, 1.339, 1.688, 2.177, 2.822, 3.635, 4.627, 5.809",\
                 "0.9509, 0.9976, 1.128, 1.353, 1.701, 2.191, 2.836, 3.648, 4.641, 5.82",\
                 "1.001, 1.048, 1.178, 1.402, 1.751, 2.24, 2.885, 3.698, 4.691, 5.872",\
                 "1.075, 1.122, 1.252, 1.476, 1.825, 2.315, 2.959, 3.771, 4.764, 5.948",\
                 "1.137, 1.184, 1.314, 1.538, 1.887, 2.377, 3.021, 3.834, 4.827, 6.008",\
                 "1.184, 1.231, 1.361, 1.586, 1.934, 2.424, 3.069, 3.881, 4.874, 6.054",\
                 "1.215, 1.262, 1.392, 1.617, 1.966, 2.455, 3.099, 3.912, 4.905, 6.087",\
                 "1.226, 1.273, 1.403, 1.627, 1.976, 2.465, 3.11, 3.922, 4.913, 6.096",\
                 "1.212, 1.259, 1.389, 1.614, 1.962, 2.452, 3.096, 3.908, 4.899, 6.08",\
                 "1.173, 1.219, 1.35, 1.574, 1.923, 2.412, 3.057, 3.869, 4.86, 6.042");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1219, 0.1646, 0.277, 0.4598, 0.7526, 1.185, 1.774, 2.524, 3.443, 4.539",\
                 "0.122, 0.1646, 0.2768, 0.4598, 0.7502, 1.185, 1.774, 2.524, 3.444, 4.544",\
                 "0.1218, 0.1646, 0.277, 0.4604, 0.7506, 1.183, 1.774, 2.523, 3.444, 4.544",\
                 "0.122, 0.1644, 0.2768, 0.4598, 0.7502, 1.184, 1.774, 2.524, 3.445, 4.541",\
                 "0.122, 0.1648, 0.2766, 0.4606, 0.7504, 1.185, 1.774, 2.524, 3.445, 4.541",\
                 "0.1218, 0.1644, 0.277, 0.4598, 0.7504, 1.184, 1.774, 2.524, 3.444, 4.543",\
                 "0.1218, 0.1644, 0.2768, 0.4604, 0.7508, 1.184, 1.772, 2.523, 3.442, 4.543",\
                 "0.1218, 0.1644, 0.277, 0.4606, 0.7504, 1.185, 1.773, 2.522, 3.437, 4.532",\
                 "0.1218, 0.1646, 0.277, 0.4604, 0.7522, 1.185, 1.772, 2.524, 3.439, 4.53",\
                 "0.122, 0.1646, 0.2768, 0.4598, 0.7502, 1.185, 1.773, 2.524, 3.438, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1086, 0.1652, 0.3492, 0.7274, 1.342, 2.205, 3.338, 4.774, 6.523, 8.609",\
                 "0.1086, 0.1652, 0.3498, 0.7278, 1.343, 2.206, 3.341, 4.774, 6.524, 8.604",\
                 "0.1092, 0.1652, 0.349, 0.7294, 1.342, 2.206, 3.341, 4.772, 6.52, 8.607",\
                 "0.1094, 0.1656, 0.3492, 0.7276, 1.342, 2.206, 3.346, 4.773, 6.523, 8.613",\
                 "0.1092, 0.165, 0.349, 0.7294, 1.342, 2.203, 3.341, 4.771, 6.52, 8.609",\
                 "0.1088, 0.1656, 0.3496, 0.728, 1.34, 2.204, 3.341, 4.773, 6.524, 8.607",\
                 "0.1094, 0.1654, 0.3492, 0.7286, 1.341, 2.203, 3.342, 4.771, 6.524, 8.609",\
                 "0.109, 0.1652, 0.3494, 0.7276, 1.342, 2.205, 3.339, 4.771, 6.52, 8.605",\
                 "0.109, 0.1656, 0.35, 0.7274, 1.341, 2.204, 3.342, 4.77, 6.519, 8.601",\
                 "0.109, 0.1654, 0.35, 0.728, 1.342, 2.205, 3.344, 4.771, 6.516, 8.598");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("1.001, 1.047, 1.16, 1.317, 1.525, 1.799, 2.155, 2.603, 3.149, 3.802",\
                 "1.014, 1.061, 1.173, 1.331, 1.538, 1.812, 2.169, 2.616, 3.163, 3.815",\
                 "1.065, 1.112, 1.224, 1.382, 1.589, 1.863, 2.219, 2.667, 3.214, 3.865",\
                 "1.14, 1.186, 1.298, 1.456, 1.663, 1.938, 2.294, 2.742, 3.288, 3.94",\
                 "1.201, 1.247, 1.359, 1.517, 1.725, 1.999, 2.355, 2.803, 3.349, 4.001",\
                 "1.248, 1.294, 1.406, 1.564, 1.771, 2.046, 2.402, 2.849, 3.396, 4.048",\
                 "1.276, 1.322, 1.435, 1.592, 1.8, 2.074, 2.43, 2.878, 3.424, 4.077",\
                 "1.282, 1.329, 1.441, 1.599, 1.806, 2.08, 2.436, 2.884, 3.431, 4.083",\
                 "1.263, 1.309, 1.422, 1.579, 1.787, 2.061, 2.417, 2.865, 3.412, 4.063",\
                 "1.216, 1.263, 1.375, 1.533, 1.74, 2.015, 2.37, 2.818, 3.365, 4.017");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.9372, 0.9839, 1.114, 1.339, 1.687, 2.177, 2.822, 3.634, 4.627, 5.81",\
                 "0.9506, 0.9978, 1.128, 1.353, 1.701, 2.191, 2.835, 3.648, 4.641, 5.823",\
                 "1.001, 1.048, 1.178, 1.402, 1.751, 2.241, 2.885, 3.698, 4.691, 5.872",\
                 "1.075, 1.122, 1.252, 1.476, 1.825, 2.315, 2.959, 3.771, 4.764, 5.948",\
                 "1.137, 1.184, 1.314, 1.538, 1.887, 2.377, 3.021, 3.834, 4.825, 6.01",\
                 "1.184, 1.232, 1.362, 1.586, 1.934, 2.424, 3.069, 3.881, 4.875, 6.056",\
                 "1.215, 1.262, 1.392, 1.617, 1.966, 2.455, 3.099, 3.911, 4.905, 6.088",\
                 "1.226, 1.273, 1.403, 1.627, 1.976, 2.465, 3.11, 3.922, 4.913, 6.098",\
                 "1.212, 1.259, 1.389, 1.613, 1.962, 2.452, 3.096, 3.908, 4.899, 6.08",\
                 "1.173, 1.22, 1.35, 1.574, 1.923, 2.412, 3.057, 3.869, 4.86, 6.042");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1218, 0.1644, 0.277, 0.4596, 0.7512, 1.185, 1.775, 2.524, 3.444, 4.541",\
                 "0.122, 0.1646, 0.277, 0.4598, 0.7508, 1.183, 1.774, 2.525, 3.443, 4.544",\
                 "0.122, 0.1644, 0.2772, 0.4598, 0.7502, 1.185, 1.774, 2.524, 3.445, 4.544",\
                 "0.122, 0.1648, 0.2772, 0.4604, 0.7508, 1.183, 1.774, 2.522, 3.442, 4.543",\
                 "0.122, 0.1646, 0.2772, 0.4596, 0.7506, 1.183, 1.774, 2.524, 3.441, 4.544",\
                 "0.122, 0.1648, 0.2768, 0.4598, 0.7506, 1.184, 1.774, 2.525, 3.444, 4.543",\
                 "0.1224, 0.1646, 0.2766, 0.4604, 0.7506, 1.183, 1.772, 2.522, 3.443, 4.542",\
                 "0.1222, 0.1646, 0.2768, 0.4608, 0.7504, 1.185, 1.772, 2.522, 3.437, 4.532",\
                 "0.122, 0.1648, 0.2768, 0.4608, 0.7508, 1.185, 1.772, 2.52, 3.438, 4.53",\
                 "0.122, 0.1648, 0.277, 0.4602, 0.7506, 1.185, 1.773, 2.523, 3.442, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1092, 0.165, 0.3492, 0.7274, 1.342, 2.204, 3.341, 4.774, 6.524, 8.612",\
                 "0.1091, 0.165, 0.35, 0.7278, 1.343, 2.206, 3.341, 4.773, 6.522, 8.609",\
                 "0.1092, 0.1652, 0.349, 0.7294, 1.342, 2.205, 3.341, 4.772, 6.52, 8.607",\
                 "0.1094, 0.1656, 0.3492, 0.7276, 1.342, 2.206, 3.346, 4.773, 6.523, 8.613",\
                 "0.109, 0.165, 0.3494, 0.729, 1.343, 2.206, 3.339, 4.773, 6.523, 8.609",\
                 "0.109, 0.1652, 0.3498, 0.728, 1.341, 2.206, 3.346, 4.773, 6.521, 8.609",\
                 "0.109, 0.1656, 0.3496, 0.7286, 1.342, 2.203, 3.344, 4.78, 6.524, 8.607",\
                 "0.1088, 0.1652, 0.3492, 0.7276, 1.342, 2.205, 3.339, 4.775, 6.517, 8.605",\
                 "0.1092, 0.1654, 0.3496, 0.728, 1.342, 2.204, 3.341, 4.77, 6.519, 8.601",\
                 "0.1094, 0.1654, 0.3504, 0.7278, 1.343, 2.205, 3.34, 4.771, 6.518, 8.6");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("1.001, 1.047, 1.16, 1.317, 1.525, 1.799, 2.155, 2.603, 3.15, 3.802",\
                 "1.015, 1.061, 1.173, 1.331, 1.538, 1.813, 2.169, 2.616, 3.163, 3.815",\
                 "1.065, 1.112, 1.224, 1.382, 1.589, 1.863, 2.219, 2.667, 3.214, 3.866",\
                 "1.14, 1.186, 1.298, 1.456, 1.663, 1.938, 2.294, 2.742, 3.289, 3.94",\
                 "1.201, 1.247, 1.359, 1.517, 1.725, 1.999, 2.355, 2.803, 3.349, 4.001",\
                 "1.248, 1.294, 1.406, 1.564, 1.771, 2.046, 2.402, 2.85, 3.396, 4.048",\
                 "1.276, 1.322, 1.434, 1.592, 1.8, 2.074, 2.43, 2.878, 3.425, 4.077",\
                 "1.282, 1.329, 1.441, 1.599, 1.806, 2.08, 2.436, 2.884, 3.431, 4.082",\
                 "1.263, 1.309, 1.422, 1.579, 1.787, 2.061, 2.417, 2.865, 3.411, 4.063",\
                 "1.216, 1.263, 1.375, 1.533, 1.74, 2.014, 2.371, 2.819, 3.365, 4.017");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.937, 0.984, 1.114, 1.339, 1.687, 2.177, 2.822, 3.634, 4.627, 5.808",\
                 "0.9508, 0.9978, 1.128, 1.352, 1.701, 2.19, 2.836, 3.648, 4.641, 5.821",\
                 "1.001, 1.048, 1.178, 1.402, 1.751, 2.241, 2.885, 3.698, 4.691, 5.872",\
                 "1.075, 1.122, 1.252, 1.476, 1.825, 2.315, 2.959, 3.772, 4.763, 5.948",\
                 "1.137, 1.184, 1.314, 1.538, 1.887, 2.376, 3.021, 3.833, 4.826, 6.008",\
                 "1.184, 1.232, 1.362, 1.586, 1.934, 2.424, 3.069, 3.882, 4.875, 6.054",\
                 "1.215, 1.263, 1.392, 1.617, 1.966, 2.455, 3.099, 3.913, 4.904, 6.088",\
                 "1.226, 1.273, 1.403, 1.627, 1.976, 2.465, 3.109, 3.922, 4.913, 6.096",\
                 "1.212, 1.259, 1.389, 1.613, 1.962, 2.452, 3.096, 3.908, 4.899, 6.08",\
                 "1.172, 1.219, 1.349, 1.574, 1.922, 2.412, 3.057, 3.868, 4.86, 6.042");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1219, 0.1646, 0.2772, 0.46, 0.7506, 1.185, 1.774, 2.524, 3.444, 4.541",\
                 "0.122, 0.1644, 0.2768, 0.46, 0.7504, 1.185, 1.774, 2.523, 3.444, 4.543",\
                 "0.122, 0.1644, 0.2772, 0.4598, 0.7508, 1.185, 1.774, 2.523, 3.444, 4.541",\
                 "0.122, 0.1648, 0.277, 0.4598, 0.7512, 1.183, 1.774, 2.522, 3.444, 4.543",\
                 "0.122, 0.1646, 0.277, 0.46, 0.7504, 1.184, 1.774, 2.524, 3.44, 4.544",\
                 "0.122, 0.1644, 0.2772, 0.4596, 0.7508, 1.185, 1.774, 2.524, 3.443, 4.543",\
                 "0.1222, 0.1648, 0.2768, 0.46, 0.7512, 1.184, 1.772, 2.523, 3.442, 4.537",\
                 "0.1222, 0.1646, 0.277, 0.4596, 0.751, 1.184, 1.772, 2.522, 3.437, 4.531",\
                 "0.122, 0.1646, 0.277, 0.4598, 0.7504, 1.184, 1.771, 2.521, 3.438, 4.532",\
                 "0.1222, 0.1648, 0.277, 0.46, 0.7508, 1.185, 1.773, 2.523, 3.441, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1086, 0.1653, 0.3492, 0.728, 1.34, 2.205, 3.34, 4.772, 6.521, 8.608",\
                 "0.1086, 0.1648, 0.3498, 0.7274, 1.342, 2.207, 3.341, 4.772, 6.52, 8.607",\
                 "0.1084, 0.1656, 0.3492, 0.7292, 1.341, 2.204, 3.34, 4.772, 6.521, 8.608",\
                 "0.109, 0.1654, 0.3492, 0.7274, 1.341, 2.206, 3.339, 4.774, 6.525, 8.61",\
                 "0.1088, 0.1648, 0.3494, 0.7286, 1.343, 2.206, 3.345, 4.779, 6.524, 8.614",\
                 "0.1088, 0.1646, 0.3498, 0.7278, 1.34, 2.205, 3.346, 4.772, 6.524, 8.604",\
                 "0.1086, 0.165, 0.3496, 0.7286, 1.342, 2.203, 3.344, 4.774, 6.524, 8.605",\
                 "0.1088, 0.1656, 0.3494, 0.7276, 1.342, 2.206, 3.339, 4.771, 6.52, 8.605",\
                 "0.1094, 0.1656, 0.3496, 0.7274, 1.342, 2.203, 3.339, 4.771, 6.517, 8.599",\
                 "0.1094, 0.1654, 0.3496, 0.7276, 1.342, 2.204, 3.34, 4.771, 6.519, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("1.001, 1.047, 1.16, 1.317, 1.525, 1.799, 2.155, 2.603, 3.149, 3.802",\
                 "1.014, 1.061, 1.173, 1.331, 1.538, 1.812, 2.169, 2.616, 3.163, 3.815",\
                 "1.065, 1.112, 1.224, 1.382, 1.589, 1.863, 2.219, 2.667, 3.214, 3.865",\
                 "1.14, 1.186, 1.298, 1.456, 1.663, 1.938, 2.294, 2.742, 3.288, 3.94",\
                 "1.201, 1.247, 1.359, 1.517, 1.725, 1.999, 2.355, 2.803, 3.349, 4.001",\
                 "1.248, 1.294, 1.406, 1.564, 1.771, 2.046, 2.402, 2.849, 3.396, 4.048",\
                 "1.276, 1.322, 1.435, 1.592, 1.8, 2.074, 2.43, 2.878, 3.424, 4.077",\
                 "1.282, 1.329, 1.441, 1.599, 1.806, 2.08, 2.436, 2.884, 3.431, 4.083",\
                 "1.263, 1.309, 1.422, 1.579, 1.787, 2.061, 2.417, 2.865, 3.412, 4.063",\
                 "1.216, 1.263, 1.375, 1.533, 1.74, 2.015, 2.37, 2.818, 3.365, 4.017");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.9372, 0.9839, 1.114, 1.339, 1.687, 2.177, 2.822, 3.634, 4.627, 5.81",\
                 "0.9506, 0.9978, 1.128, 1.353, 1.701, 2.191, 2.835, 3.648, 4.641, 5.823",\
                 "1.001, 1.048, 1.178, 1.402, 1.751, 2.241, 2.885, 3.698, 4.691, 5.872",\
                 "1.075, 1.122, 1.252, 1.476, 1.825, 2.315, 2.959, 3.771, 4.764, 5.948",\
                 "1.137, 1.184, 1.314, 1.538, 1.887, 2.377, 3.021, 3.834, 4.825, 6.01",\
                 "1.184, 1.232, 1.362, 1.586, 1.934, 2.424, 3.069, 3.881, 4.875, 6.056",\
                 "1.215, 1.262, 1.392, 1.617, 1.966, 2.455, 3.099, 3.911, 4.905, 6.088",\
                 "1.226, 1.273, 1.403, 1.627, 1.976, 2.465, 3.11, 3.922, 4.913, 6.098",\
                 "1.212, 1.259, 1.389, 1.613, 1.962, 2.452, 3.096, 3.908, 4.899, 6.08",\
                 "1.173, 1.22, 1.35, 1.574, 1.923, 2.412, 3.057, 3.869, 4.86, 6.042");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1218, 0.1644, 0.277, 0.4596, 0.7512, 1.185, 1.775, 2.524, 3.444, 4.541",\
                 "0.122, 0.1646, 0.277, 0.4598, 0.7508, 1.183, 1.774, 2.525, 3.443, 4.544",\
                 "0.122, 0.1644, 0.2772, 0.4598, 0.7502, 1.185, 1.774, 2.524, 3.445, 4.544",\
                 "0.122, 0.1648, 0.2772, 0.4604, 0.7508, 1.183, 1.774, 2.522, 3.442, 4.543",\
                 "0.122, 0.1646, 0.2772, 0.4596, 0.7506, 1.183, 1.774, 2.524, 3.441, 4.544",\
                 "0.122, 0.1648, 0.2768, 0.4598, 0.7506, 1.184, 1.774, 2.525, 3.444, 4.543",\
                 "0.1224, 0.1646, 0.2766, 0.4604, 0.7506, 1.183, 1.772, 2.522, 3.443, 4.542",\
                 "0.1222, 0.1646, 0.2768, 0.4608, 0.7504, 1.185, 1.772, 2.522, 3.437, 4.532",\
                 "0.122, 0.1648, 0.2768, 0.4608, 0.7508, 1.185, 1.772, 2.52, 3.438, 4.53",\
                 "0.122, 0.1648, 0.277, 0.4602, 0.7506, 1.185, 1.773, 2.523, 3.442, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04568, 0.1121, 0.2155, 0.3607, 0.5517, 0.7923, 1.086, 1.436");
          values("0.1086, 0.1653, 0.3492, 0.728, 1.34, 2.205, 3.34, 4.772, 6.521, 8.608",\
                 "0.1086, 0.1648, 0.3498, 0.7274, 1.342, 2.207, 3.341, 4.772, 6.52, 8.607",\
                 "0.1084, 0.1656, 0.3492, 0.7292, 1.341, 2.204, 3.34, 4.772, 6.521, 8.608",\
                 "0.109, 0.1654, 0.3492, 0.7274, 1.341, 2.206, 3.339, 4.774, 6.525, 8.61",\
                 "0.1088, 0.1648, 0.3494, 0.7286, 1.343, 2.206, 3.345, 4.779, 6.524, 8.614",\
                 "0.1088, 0.1646, 0.3498, 0.7278, 1.34, 2.205, 3.346, 4.772, 6.524, 8.604",\
                 "0.1086, 0.165, 0.3496, 0.7286, 1.342, 2.203, 3.344, 4.774, 6.524, 8.605",\
                 "0.1088, 0.1656, 0.3494, 0.7276, 1.342, 2.206, 3.339, 4.771, 6.52, 8.605",\
                 "0.1094, 0.1656, 0.3496, 0.7274, 1.342, 2.203, 3.339, 4.771, 6.517, 8.599",\
                 "0.1094, 0.1654, 0.3496, 0.7276, 1.342, 2.204, 3.34, 4.771, 6.519, 8.599");
        }
      }
    }

    pin(SE) {
      capacitance : 0.00584 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04987, 0.04929, 0.05061, 0.05594, 0.06605, 0.08143, 0.1025, \
                 0.1297, 0.1634, 0.2039");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001667, 0.001429, 0.002227, 0.006253, 0.01456, 0.02762, 0.04585, \
                 0.0694, 0.09859, 0.1337");
        }
      }

      internal_power() {
        when : "!CLK&!D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1646, 0.1637, 0.1643, 0.1697, 0.183, 0.2066, 0.2413, 0.2884, \
                 0.3479, 0.4197");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07182, 0.07166, 0.07208, 0.07673, 0.08853, 0.1089, 0.1385, 0.1779, \
                 0.2275, 0.2879");
        }
      }

      internal_power() {
        when : "!CLK&D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1286, 0.1281, 0.1295, 0.135, 0.1451, 0.1606, 0.182, 0.2097, \
                 0.2441, 0.2857");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1246, 0.1244, 0.1248, 0.1282, 0.1356, 0.1482, 0.166, 0.1893, \
                 0.2185, 0.2545");
        }
      }

      internal_power() {
        when : "!CLK&D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05082, 0.05027, 0.05175, 0.05717, 0.0674, 0.08292, 0.1041, 0.1314, \
                 0.1651, 0.2057");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002604, 0.002319, 0.003116, 0.00706, 0.01532, 0.02831, 0.04643, \
                 0.06995, 0.09915, 0.1343");
        }
      }

      internal_power() {
        when : "CLK&!D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04934, 0.04877, 0.05007, 0.05541, 0.06554, 0.08089, 0.102, 0.1293, \
                 0.163, 0.2035");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001066, 0.0008189, 0.001619, 0.005652, 0.014, 0.02707, 0.04531, \
                 0.06887, 0.09811, 0.1333");
        }
      }

      internal_power() {
        when : "CLK&!D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06617, 0.06554, 0.0669, 0.07244, 0.08342, 0.1001, 0.1225, 0.1509, \
                 0.1854, 0.2263");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001021, -0.00133, -0.0009355, 0.003034, 0.01201, 0.02644, 0.0461, \
                 0.07073, 0.1007, 0.1364");
        }
      }

      internal_power() {
        when : "CLK&D&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05322, 0.0527, 0.05401, 0.05928, 0.06925, 0.08443, 0.1054, 0.1324, \
                 0.1659, 0.2063");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01979, 0.01952, 0.02033, 0.02421, 0.03243, 0.04541, 0.0639, \
                 0.08821, 0.1174, 0.1525");
        }
      }

      internal_power() {
        when : "CLK&D&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.04989, 0.04934, 0.05086, 0.05626, 0.06646, 0.08201, 0.1032, \
                 0.1305, 0.1643, 0.205");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002097, 0.001815, 0.002606, 0.006561, 0.01481, 0.0278, 0.04596, \
                 0.06948, 0.09868, 0.1339");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.074, -0.061, -0.015, 0.053, 0.092, 0.129, 0.142, 0.136, 0.099, 0.038",\
                 "-0.084, -0.072, -0.024, 0.035, 0.085, 0.117, 0.133, 0.123, 0.089, 0.025",\
                 "-0.13, -0.118, -0.071, -0.007, 0.043, 0.079, 0.094, 0.081, 0.048, -0.016",\
                 "-0.208, -0.189, -0.143, -0.076, -0.032, 0.001, 0.016, 0.009, -0.029, -0.087",\
                 "-0.3, -0.294, -0.243, -0.179, -0.134, -0.092, -0.075, -0.084, -0.116, -0.174",\
                 "-0.422, -0.418, -0.366, -0.3, -0.258, -0.216, -0.194, -0.196, -0.232, -0.285",\
                 "-0.563, -0.553, -0.501, -0.435, -0.399, -0.352, -0.331, -0.335, -0.363, -0.409",\
                 "-0.721, -0.715, -0.665, -0.609, -0.567, -0.511, -0.495, -0.492, -0.517, -0.565",\
                 "-0.911, -0.908, -0.859, -0.801, -0.774, -0.722, -0.695, -0.692, -0.716, -0.767",\
                 "-1.142, -1.142, -1.093, -1.061, -1.023, -0.963, -0.946, -0.934, -0.963, -1.008");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.309, -0.293, -0.267, -0.256, -0.265, -0.303, -0.356, -0.436, -0.538, -0.664",\
                 "-0.316, -0.302, -0.273, -0.264, -0.278, -0.313, -0.365, -0.45, -0.546, -0.677",\
                 "-0.35, -0.337, -0.307, -0.297, -0.305, -0.342, -0.395, -0.472, -0.572, -0.703",\
                 "-0.389, -0.372, -0.346, -0.329, -0.343, -0.372, -0.423, -0.492, -0.597, -0.719",\
                 "-0.427, -0.417, -0.382, -0.369, -0.37, -0.39, -0.441, -0.513, -0.608, -0.74",\
                 "-0.451, -0.436, -0.404, -0.381, -0.381, -0.405, -0.45, -0.516, -0.615, -0.737",\
                 "-0.437, -0.424, -0.393, -0.375, -0.376, -0.392, -0.436, -0.501, -0.6, -0.716",\
                 "-0.396, -0.38, -0.348, -0.329, -0.33, -0.351, -0.397, -0.463, -0.557, -0.677",\
                 "-0.306, -0.29, -0.255, -0.242, -0.244, -0.271, -0.316, -0.388, -0.483, -0.596",\
                 "-0.173, -0.156, -0.128, -0.114, -0.117, -0.148, -0.197, -0.272, -0.368, -0.491");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.498, -0.484, -0.455, -0.446, -0.459, -0.493, -0.55, -0.631, -0.729, -0.862",\
                 "-0.514, -0.501, -0.474, -0.457, -0.471, -0.513, -0.57, -0.647, -0.746, -0.876",\
                 "-0.581, -0.574, -0.543, -0.529, -0.539, -0.578, -0.631, -0.715, -0.821, -0.944",\
                 "-0.698, -0.681, -0.659, -0.643, -0.66, -0.694, -0.753, -0.826, -0.929, -1.06",\
                 "-0.851, -0.834, -0.808, -0.796, -0.807, -0.837, -0.893, -0.972, -1.072, -1.205",\
                 "-1.032, -1.02, -0.991, -0.98, -0.985, -1.026, -1.076, -1.156, -1.259, -1.384",\
                 "-1.246, -1.239, -1.208, -1.194, -1.205, -1.234, -1.292, -1.359, -1.468, -1.594",\
                 "-1.5, -1.485, -1.454, -1.444, -1.448, -1.479, -1.529, -1.608, -1.705, -1.834",\
                 "-1.778, -1.767, -1.736, -1.727, -1.729, -1.759, -1.811, -1.88, -1.984, -2.109",\
                 "-2.105, -2.09, -2.058, -2.045, -2.047, -2.075, -2.123, -2.195, -2.296, -2.42");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.195, -0.184, -0.143, -0.083, -0.027, 0.002, 0.015, 0.007, -0.029, -0.092",\
                 "-0.207, -0.199, -0.154, -0.091, -0.046, -0.006, 0.004, -0.002, -0.04, -0.1",\
                 "-0.243, -0.231, -0.189, -0.129, -0.078, -0.042, -0.033, -0.037, -0.076, -0.14",\
                 "-0.271, -0.266, -0.218, -0.16, -0.111, -0.072, -0.054, -0.072, -0.108, -0.165",\
                 "-0.293, -0.278, -0.234, -0.179, -0.127, -0.092, -0.075, -0.084, -0.125, -0.18",\
                 "-0.278, -0.265, -0.219, -0.161, -0.109, -0.076, -0.066, -0.07, -0.106, -0.168",\
                 "-0.226, -0.219, -0.175, -0.115, -0.067, -0.029, -0.016, -0.022, -0.062, -0.117",\
                 "-0.148, -0.141, -0.093, -0.029, 0.018, 0.053, 0.071, 0.057, 0.023, -0.039",\
                 "-0.027, -0.017, 0.026, 0.09, 0.135, 0.174, 0.186, 0.179, 0.14, 0.089",\
                 "0.123, 0.132, 0.178, 0.238, 0.288, 0.324, 0.338, 0.334, 0.298, 0.241");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.796, 0.778, 0.718, 0.62, 0.548, 0.493, 0.457, 0.454, 0.482, 0.535",\
                 "0.801, 0.786, 0.723, 0.63, 0.563, 0.507, 0.476, 0.462, 0.481, 0.541",\
                 "0.839, 0.829, 0.764, 0.674, 0.601, 0.54, 0.513, 0.504, 0.523, 0.58",\
                 "0.917, 0.903, 0.839, 0.743, 0.671, 0.621, 0.584, 0.573, 0.597, 0.658",\
                 "1.045, 1.027, 0.965, 0.876, 0.801, 0.75, 0.711, 0.706, 0.731, 0.783",\
                 "1.245, 1.231, 1.164, 1.076, 1.003, 0.945, 0.908, 0.904, 0.924, 0.977",\
                 "1.508, 1.495, 1.426, 1.334, 1.263, 1.201, 1.163, 1.145, 1.161, 1.209",\
                 "1.83, 1.813, 1.753, 1.652, 1.575, 1.513, 1.461, 1.442, 1.455, 1.491",\
                 "2.208, 2.192, 2.124, 2.024, 1.937, 1.869, 1.817, 1.792, 1.797, 1.83",\
                 "2.636, 2.62, 2.558, 2.454, 2.358, 2.282, 2.224, 2.195, 2.197, 2.226");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.687, 0.675, 0.616, 0.547, 0.496, 0.493, 0.525, 0.578, 0.665, 0.784",\
                 "0.698, 0.683, 0.622, 0.553, 0.509, 0.501, 0.536, 0.593, 0.681, 0.797",\
                 "0.721, 0.716, 0.661, 0.581, 0.54, 0.534, 0.558, 0.622, 0.705, 0.827",\
                 "0.771, 0.758, 0.7, 0.628, 0.581, 0.57, 0.594, 0.647, 0.737, 0.848",\
                 "0.822, 0.811, 0.748, 0.676, 0.633, 0.618, 0.631, 0.677, 0.759, 0.872",\
                 "0.86, 0.848, 0.794, 0.717, 0.67, 0.648, 0.652, 0.702, 0.772, 0.886",\
                 "0.875, 0.861, 0.801, 0.735, 0.68, 0.655, 0.662, 0.706, 0.771, 0.881",\
                 "0.862, 0.846, 0.796, 0.717, 0.657, 0.637, 0.641, 0.675, 0.746, 0.853",\
                 "0.807, 0.795, 0.735, 0.661, 0.613, 0.58, 0.582, 0.618, 0.692, 0.785",\
                 "0.715, 0.701, 0.649, 0.574, 0.511, 0.485, 0.483, 0.52, 0.593, 0.691");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.876, 0.867, 0.814, 0.738, 0.69, 0.689, 0.718, 0.773, 0.864, 0.982",\
                 "0.903, 0.882, 0.823, 0.756, 0.71, 0.702, 0.733, 0.79, 0.882, 0.997",\
                 "0.968, 0.953, 0.897, 0.825, 0.775, 0.77, 0.803, 0.858, 0.953, 1.068",\
                 "1.089, 1.067, 1.007, 0.935, 0.893, 0.892, 0.913, 0.974, 1.069, 1.184",\
                 "1.231, 1.22, 1.165, 1.087, 1.043, 1.039, 1.065, 1.121, 1.214, 1.331",\
                 "1.418, 1.402, 1.343, 1.266, 1.222, 1.22, 1.244, 1.3, 1.39, 1.507",\
                 "1.626, 1.615, 1.561, 1.484, 1.44, 1.43, 1.461, 1.516, 1.604, 1.723",\
                 "1.883, 1.861, 1.809, 1.732, 1.686, 1.682, 1.705, 1.757, 1.847, 1.962",\
                 "2.16, 2.152, 2.091, 2.024, 1.975, 1.963, 1.988, 2.035, 2.124, 2.235",\
                 "2.491, 2.473, 2.418, 2.347, 2.298, 2.289, 2.302, 2.355, 2.44, 2.549");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.933, 0.921, 0.857, 0.765, 0.697, 0.637, 0.6, 0.59, 0.625, 0.686",\
                 "0.951, 0.937, 0.871, 0.785, 0.702, 0.649, 0.613, 0.605, 0.633, 0.687",\
                 "0.984, 0.971, 0.905, 0.819, 0.74, 0.687, 0.649, 0.64, 0.663, 0.72",\
                 "1.008, 0.99, 0.932, 0.835, 0.761, 0.709, 0.674, 0.667, 0.693, 0.748",\
                 "1.015, 0.996, 0.939, 0.845, 0.774, 0.715, 0.682, 0.677, 0.703, 0.759",\
                 "1.004, 0.99, 0.928, 0.842, 0.766, 0.707, 0.672, 0.668, 0.693, 0.751",\
                 "0.959, 0.947, 0.882, 0.795, 0.72, 0.669, 0.63, 0.628, 0.653, 0.709",\
                 "0.88, 0.864, 0.802, 0.717, 0.642, 0.595, 0.553, 0.549, 0.577, 0.63",\
                 "0.767, 0.747, 0.685, 0.6, 0.528, 0.475, 0.44, 0.435, 0.459, 0.515",\
                 "0.611, 0.597, 0.536, 0.451, 0.38, 0.33, 0.29, 0.288, 0.314, 0.369");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002646 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008432, 0.008361, 0.008357, 0.008365, 0.008371, 0.008374, 0.008369, \
                 0.008366, 0.008361, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008157, -0.00815, -0.008161, -0.008202, -0.008239, -0.008272, \
                 -0.008276, -0.008287, -0.008292, -0.008299");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1351, 0.1348, 0.1344, 0.1342, 0.1369, 0.1454, 0.1616, 0.1861, \
                 0.2179, 0.2566");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06985, 0.06934, 0.06878, 0.06905, 0.07217, 0.07983, 0.09303, \
                 0.1122, 0.1376, 0.1693");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008368, 0.008381, 0.008358, 0.008354, 0.008375, 0.008374, 0.00837, \
                 0.008369, 0.008366, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007471, -0.007837, -0.008145, -0.008215, -0.008248, -0.008259, \
                 -0.008286, -0.008289, -0.008288, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1351, 0.1348, 0.1343, 0.1342, 0.1369, 0.1454, 0.1616, 0.1861, \
                 0.218, 0.2567");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06983, 0.06932, 0.06879, 0.06905, 0.07215, 0.07983, 0.09303, \
                 0.1122, 0.1376, 0.1693");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008411, 0.008386, 0.008359, 0.00836, 0.008377, 0.008371, 0.008367, \
                 0.008367, 0.008367, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008161, -0.008152, -0.008161, -0.008212, -0.008246, -0.008263, \
                 -0.008276, -0.008285, -0.008291, -0.008298");
        }
      }

      internal_power() {
        when : "CLK&!D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02825, 0.02823, 0.02826, 0.02819, 0.02817, 0.02818, 0.02818, \
                 0.02818, 0.02822, 0.0282");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00645, -0.006737, -0.007102, -0.007426, -0.007664, -0.007771, \
                 -0.007879, -0.00794, -0.007983, -0.008013");
        }
      }

      internal_power() {
        when : "CLK&D&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008366, 0.008373, 0.008359, 0.008364, 0.008369, 0.008371, 0.008371, \
                 0.008374, 0.008365, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007562, -0.007871, -0.008146, -0.008204, -0.008235, -0.008265, \
                 -0.008282, -0.008284, -0.008291, -0.008299");
        }
      }

      internal_power() {
        when : "CLK&D&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02825, 0.02823, 0.02826, 0.02819, 0.02817, 0.02818, 0.02818, \
                 0.02819, 0.02822, 0.0282");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00645, -0.006737, -0.007103, -0.007426, -0.007664, -0.007771, \
                 -0.007877, -0.007939, -0.00798, -0.008011");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.155, -0.143, -0.1, -0.037, 0.003, 0.037, 0.057, 0.042, 0.003, -0.055",\
                 "-0.166, -0.159, -0.107, -0.052, -0.008, 0.029, 0.038, 0.034, -0.008, -0.064",\
                 "-0.2, -0.189, -0.141, -0.082, -0.035, -0.004, 0.013, -0, -0.035, -0.097",\
                 "-0.253, -0.237, -0.189, -0.13, -0.084, -0.05, -0.034, -0.045, -0.081, -0.142",\
                 "-0.308, -0.301, -0.251, -0.19, -0.141, -0.101, -0.093, -0.099, -0.135, -0.192",\
                 "-0.365, -0.354, -0.302, -0.243, -0.197, -0.162, -0.146, -0.154, -0.196, -0.252",\
                 "-0.42, -0.416, -0.356, -0.295, -0.262, -0.217, -0.202, -0.208, -0.245, -0.302",\
                 "-0.49, -0.488, -0.435, -0.375, -0.338, -0.292, -0.28, -0.28, -0.314, -0.358",\
                 "-0.577, -0.587, -0.528, -0.479, -0.442, -0.402, -0.381, -0.375, -0.413, -0.452",\
                 "-0.699, -0.702, -0.648, -0.601, -0.576, -0.523, -0.504, -0.495, -0.53, -0.568");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.361, -0.348, -0.32, -0.31, -0.325, -0.36, -0.423, -0.501, -0.602, -0.737",\
                 "-0.371, -0.358, -0.326, -0.312, -0.332, -0.366, -0.425, -0.51, -0.61, -0.74",\
                 "-0.382, -0.373, -0.338, -0.332, -0.348, -0.38, -0.44, -0.522, -0.622, -0.756",\
                 "-0.398, -0.392, -0.363, -0.353, -0.359, -0.394, -0.453, -0.533, -0.632, -0.764",\
                 "-0.412, -0.402, -0.373, -0.358, -0.37, -0.399, -0.453, -0.528, -0.627, -0.758",\
                 "-0.411, -0.401, -0.366, -0.351, -0.354, -0.389, -0.436, -0.516, -0.615, -0.737",\
                 "-0.378, -0.364, -0.329, -0.315, -0.324, -0.359, -0.404, -0.481, -0.582, -0.709",\
                 "-0.307, -0.297, -0.267, -0.255, -0.264, -0.292, -0.348, -0.423, -0.523, -0.645",\
                 "-0.202, -0.194, -0.156, -0.155, -0.158, -0.193, -0.251, -0.328, -0.428, -0.56",\
                 "-0.054, -0.046, -0.015, -0.008, -0.022, -0.058, -0.118, -0.2, -0.305, -0.435");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.155, -0.143, -0.095, -0.047, 0.003, 0.037, 0.057, 0.042, 0.003, -0.055",\
                 "-0.166, -0.159, -0.107, -0.052, -0.008, 0.029, 0.038, 0.034, -0.008, -0.064",\
                 "-0.2, -0.189, -0.141, -0.088, -0.035, -0.004, 0.013, -0, -0.035, -0.097",\
                 "-0.253, -0.237, -0.189, -0.137, -0.084, -0.05, -0.034, -0.045, -0.082, -0.142",\
                 "-0.308, -0.301, -0.251, -0.196, -0.141, -0.101, -0.093, -0.099, -0.135, -0.192",\
                 "-0.365, -0.354, -0.302, -0.249, -0.197, -0.162, -0.146, -0.154, -0.196, -0.252",\
                 "-0.42, -0.416, -0.356, -0.316, -0.262, -0.217, -0.202, -0.208, -0.245, -0.302",\
                 "-0.49, -0.488, -0.435, -0.389, -0.338, -0.292, -0.28, -0.28, -0.314, -0.358",\
                 "-0.577, -0.579, -0.528, -0.495, -0.442, -0.397, -0.381, -0.375, -0.413, -0.452",\
                 "-0.694, -0.707, -0.648, -0.629, -0.582, -0.53, -0.511, -0.503, -0.53, -0.568");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.361, -0.348, -0.32, -0.31, -0.325, -0.36, -0.423, -0.501, -0.602, -0.732",\
                 "-0.371, -0.358, -0.326, -0.312, -0.332, -0.366, -0.425, -0.51, -0.61, -0.74",\
                 "-0.382, -0.373, -0.338, -0.332, -0.348, -0.38, -0.44, -0.522, -0.622, -0.756",\
                 "-0.398, -0.392, -0.363, -0.352, -0.359, -0.394, -0.453, -0.533, -0.632, -0.764",\
                 "-0.412, -0.402, -0.373, -0.358, -0.37, -0.399, -0.453, -0.528, -0.627, -0.758",\
                 "-0.411, -0.401, -0.366, -0.351, -0.354, -0.389, -0.436, -0.516, -0.615, -0.737",\
                 "-0.378, -0.364, -0.329, -0.315, -0.324, -0.359, -0.404, -0.481, -0.582, -0.709",\
                 "-0.307, -0.297, -0.267, -0.255, -0.264, -0.292, -0.348, -0.423, -0.523, -0.645",\
                 "-0.202, -0.194, -0.156, -0.154, -0.158, -0.193, -0.251, -0.328, -0.428, -0.56",\
                 "-0.054, -0.046, -0.015, -0.008, -0.022, -0.058, -0.118, -0.2, -0.305, -0.435");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.899, 0.887, 0.82, 0.729, 0.66, 0.602, 0.567, 0.56, 0.586, 0.649",\
                 "0.91, 0.897, 0.829, 0.737, 0.664, 0.613, 0.578, 0.569, 0.593, 0.651",\
                 "0.941, 0.929, 0.866, 0.773, 0.705, 0.649, 0.613, 0.603, 0.63, 0.682",\
                 "0.999, 0.98, 0.915, 0.827, 0.75, 0.702, 0.664, 0.653, 0.676, 0.736",\
                 "1.089, 1.073, 1.008, 0.918, 0.848, 0.793, 0.751, 0.743, 0.769, 0.836",\
                 "1.24, 1.231, 1.164, 1.076, 1.003, 0.945, 0.908, 0.895, 0.918, 0.977",\
                 "1.474, 1.461, 1.398, 1.304, 1.223, 1.16, 1.122, 1.106, 1.119, 1.166",\
                 "1.765, 1.753, 1.684, 1.592, 1.501, 1.437, 1.383, 1.362, 1.374, 1.411",\
                 "2.112, 2.096, 2.033, 1.928, 1.833, 1.759, 1.705, 1.678, 1.68, 1.722",\
                 "2.506, 2.494, 2.424, 2.314, 2.215, 2.134, 2.074, 2.044, 2.043, 2.068");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.744, 0.73, 0.675, 0.601, 0.556, 0.55, 0.584, 0.643, 0.737, 0.852",\
                 "0.746, 0.731, 0.681, 0.602, 0.556, 0.56, 0.587, 0.647, 0.738, 0.86",\
                 "0.764, 0.752, 0.693, 0.622, 0.575, 0.572, 0.604, 0.665, 0.754, 0.875",\
                 "0.79, 0.768, 0.723, 0.644, 0.597, 0.592, 0.624, 0.68, 0.772, 0.887",\
                 "0.807, 0.795, 0.739, 0.66, 0.613, 0.609, 0.631, 0.684, 0.769, 0.89",\
                 "0.814, 0.801, 0.743, 0.673, 0.626, 0.61, 0.631, 0.685, 0.761, 0.88",\
                 "0.808, 0.801, 0.746, 0.665, 0.617, 0.601, 0.614, 0.667, 0.741, 0.852",\
                 "0.774, 0.762, 0.709, 0.63, 0.583, 0.562, 0.573, 0.618, 0.692, 0.805",\
                 "0.704, 0.699, 0.644, 0.565, 0.509, 0.491, 0.499, 0.543, 0.622, 0.731",\
                 "0.606, 0.597, 0.547, 0.462, 0.41, 0.394, 0.404, 0.448, 0.521, 0.625");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.899, 0.887, 0.82, 0.729, 0.653, 0.602, 0.567, 0.56, 0.578, 0.639",\
                 "0.91, 0.897, 0.835, 0.737, 0.664, 0.613, 0.578, 0.569, 0.593, 0.661",\
                 "0.946, 0.929, 0.866, 0.773, 0.705, 0.649, 0.613, 0.603, 0.622, 0.682",\
                 "0.999, 0.98, 0.915, 0.828, 0.75, 0.694, 0.664, 0.653, 0.676, 0.736",\
                 "1.089, 1.073, 1.008, 0.918, 0.848, 0.793, 0.751, 0.743, 0.769, 0.824",\
                 "1.245, 1.231, 1.164, 1.076, 1.003, 0.939, 0.901, 0.895, 0.918, 0.977",\
                 "1.474, 1.461, 1.398, 1.304, 1.223, 1.16, 1.122, 1.106, 1.119, 1.166",\
                 "1.765, 1.753, 1.684, 1.592, 1.501, 1.437, 1.383, 1.362, 1.367, 1.411",\
                 "2.112, 2.096, 2.033, 1.928, 1.833, 1.759, 1.705, 1.678, 1.68, 1.722",\
                 "2.506, 2.494, 2.424, 2.314, 2.215, 2.134, 2.074, 2.044, 2.043, 2.068");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.739, 0.73, 0.675, 0.61, 0.556, 0.55, 0.584, 0.643, 0.737, 0.852",\
                 "0.753, 0.731, 0.681, 0.611, 0.556, 0.56, 0.587, 0.647, 0.738, 0.86",\
                 "0.764, 0.752, 0.701, 0.622, 0.575, 0.572, 0.604, 0.665, 0.754, 0.875",\
                 "0.79, 0.768, 0.723, 0.644, 0.597, 0.592, 0.624, 0.68, 0.772, 0.887",\
                 "0.807, 0.795, 0.739, 0.66, 0.613, 0.609, 0.631, 0.684, 0.769, 0.89",\
                 "0.819, 0.801, 0.749, 0.673, 0.626, 0.61, 0.631, 0.685, 0.761, 0.88",\
                 "0.808, 0.801, 0.746, 0.665, 0.617, 0.601, 0.614, 0.667, 0.741, 0.852",\
                 "0.774, 0.762, 0.709, 0.636, 0.583, 0.562, 0.573, 0.618, 0.692, 0.805",\
                 "0.719, 0.699, 0.644, 0.565, 0.509, 0.491, 0.499, 0.543, 0.622, 0.731",\
                 "0.606, 0.597, 0.547, 0.462, 0.41, 0.394, 0.404, 0.44, 0.521, 0.625");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffrnq_1) {
    area : 94.393600 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SI" ;
      value : "0.000194733" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SI" ;
      value : "0.0001952808" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SI" ;
      value : "0.000210441" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SI" ;
      value : "0.0002201529" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SI" ;
      value : "0.000195492" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SI" ;
      value : "0.0001960365" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SI" ;
      value : "0.0002111967" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SI" ;
      value : "0.0002542089" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SI" ;
      value : "0.0001922679" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SI" ;
      value : "0.0001922679" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SI" ;
      value : "0.0002272776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SI" ;
      value : "0.0002059299" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SI" ;
      value : "0.0002263206" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SI" ;
      value : "0.0002263206" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SI" ;
      value : "0.0002280333" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SI" ;
      value : "0.0002399859" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SI" ;
      value : "0.0001857075" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SI" ;
      value : "0.000185724" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SI" ;
      value : "0.0001851927" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SI" ;
      value : "0.0001863609" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SI" ;
      value : "0.0002054646" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SI" ;
      value : "0.0002054613" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SI" ;
      value : "0.0002048706" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SI" ;
      value : "0.0003068439" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SI" ;
      value : "0.0001869417" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SI" ;
      value : "0.000186945" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SI" ;
      value : "0.0001852587" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SI" ;
      value : "0.0001863675" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SI" ;
      value : "0.0002927298" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SI" ;
      value : "0.0002927265" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SI" ;
      value : "0.0002048673" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SI" ;
      value : "0.0002999997" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003068439" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003558 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.394 ;
      min_pulse_width_high : 0.629 ;
      min_pulse_width_low : 1.201 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.144, 0.1436, 0.1443, 0.1505, 0.1629, 0.1825, 0.2099, 0.2457, \
                 0.2904, 0.3441");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.0976, 0.09808, 0.103, 0.1133, 0.1302, 0.1547, 0.1865, \
                 0.226, 0.2738");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.144, 0.1435, 0.1443, 0.1505, 0.1629, 0.1825, 0.2099, 0.2457, \
                 0.2904, 0.3441");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.09761, 0.09808, 0.103, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.226, 0.2738");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1514, 0.1509, 0.1516, 0.1578, 0.1703, 0.1899, 0.2172, 0.2531, \
                 0.2977, 0.3513");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09788, 0.0976, 0.09807, 0.103, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2009, 0.2004, 0.2011, 0.2078, 0.2214, 0.2426, 0.2721, 0.3106, \
                 0.3584, 0.4156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1997, 0.1994, 0.1997, 0.2054, 0.2172, 0.2363, 0.2633, 0.2984, \
                 0.3419, 0.3939");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1206, 0.1266, 0.1391, 0.1588, 0.1863, 0.2222, \
                 0.2668, 0.3205");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09789, 0.0976, 0.09807, 0.103, 0.1133, 0.1304, 0.1546, 0.1865, \
                 0.226, 0.2739");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1197, 0.1206, 0.1267, 0.1392, 0.1588, 0.1863, 0.2221, \
                 0.2669, 0.3206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09787, 0.0976, 0.09807, 0.103, 0.1133, 0.1304, 0.1546, 0.1865, \
                 0.226, 0.2738");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1205, 0.1267, 0.1392, 0.1588, 0.1863, 0.2221, \
                 0.2669, 0.3206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09793, 0.09759, 0.09805, 0.1029, 0.1133, 0.1303, 0.1546, 0.1865, \
                 0.226, 0.2738");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.1195, 0.1203, 0.1264, 0.1389, 0.1585, 0.186, 0.2219, 0.2665, \
                 0.3203");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0959, 0.09559, 0.09608, 0.1009, 0.1112, 0.1284, 0.1527, 0.1845, \
                 0.2241, 0.2719");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1906, 0.19, 0.1908, 0.1975, 0.2111, 0.2322, 0.2617, 0.3001, \
                 0.3477, 0.4049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1997, 0.1993, 0.1997, 0.2054, 0.2172, 0.2362, 0.2632, 0.2984, \
                 0.3418, 0.3939");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1906, 0.1901, 0.1908, 0.1975, 0.2111, 0.2322, 0.2617, 0.3001, \
                 0.3477, 0.4049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1997, 0.1993, 0.1996, 0.2054, 0.2172, 0.2362, 0.2632, 0.2984, \
                 0.3418, 0.3939");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1589, 0.1584, 0.1592, 0.1652, 0.1776, 0.1972, 0.2246, 0.2605, \
                 0.305, 0.3587");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09788, 0.0976, 0.09807, 0.103, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1955, 0.195, 0.1958, 0.2024, 0.216, 0.2372, 0.2668, 0.3052, \
                 0.3529, 0.4101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1996, 0.1993, 0.1997, 0.2055, 0.2173, 0.2364, 0.2634, 0.2985, \
                 0.3419, 0.394");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1201, 0.1195, 0.1203, 0.1264, 0.1389, 0.1585, 0.186, 0.2219, \
                 0.2666, 0.3203");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09588, 0.0955, 0.09599, 0.1009, 0.1113, 0.1283, 0.1526, 0.1844, \
                 0.2241, 0.2719");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.1195, 0.1203, 0.1265, 0.1389, 0.1585, 0.1861, 0.2219, \
                 0.2666, 0.3203");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09589, 0.09551, 0.09599, 0.1009, 0.1112, 0.1282, 0.1526, 0.1844, \
                 0.2241, 0.2719");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1206, 0.1267, 0.1392, 0.1588, 0.1862, 0.2222, \
                 0.2668, 0.3205");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09795, 0.09759, 0.09808, 0.103, 0.1133, 0.1304, 0.1546, 0.1865, \
                 0.2261, 0.2738");
        }
      }

      internal_power() {
        when : "D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.1195, 0.1203, 0.1264, 0.1389, 0.1586, 0.186, 0.2219, 0.2666, \
                 0.3203");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09592, 0.09556, 0.09605, 0.101, 0.1113, 0.1283, 0.1526, 0.1846, \
                 0.2242, 0.272");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("1.07");
        }

        rise_constraint(scalar) {
          values("0.587");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("1.07");
        }

        rise_constraint(scalar) {
          values("0.587");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.102");
        }

        rise_constraint(scalar) {
          values("0.587");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.932");
        }

        rise_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.84");
        }

        rise_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.84");
        }

        rise_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.201");
        }

        rise_constraint(scalar) {
          values("0.587");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.886");
        }

        rise_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&!SI" ;

        rise_constraint(scalar) {
          values("2.14");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SI" ;

        rise_constraint(scalar) {
          values("2.14");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.193");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SI" ;

        rise_constraint(scalar) {
          values("1.851");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&!SI" ;

        rise_constraint(scalar) {
          values("1.662");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SI" ;

        rise_constraint(scalar) {
          values("1.662");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.394");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SI" ;

        rise_constraint(scalar) {
          values("1.756");
        }
      }
    }

    pin(D) {
      capacitance : 0.002726 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1363, 0.136, 0.1351, 0.1347, 0.1372, 0.1447, 0.1579, 0.1774, \
                 0.2028, 0.2337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07011, 0.07019, 0.0698, 0.06997, 0.07296, 0.0797, 0.09092, 0.1067, \
                 0.1273, 0.1527");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1363, 0.136, 0.1351, 0.1347, 0.1372, 0.1447, 0.1579, 0.1774, \
                 0.2028, 0.2337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07011, 0.07019, 0.0698, 0.06998, 0.07299, 0.0797, 0.09096, 0.1067, \
                 0.1273, 0.1527");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00841, 0.008418, 0.008425, 0.008416, 0.00841, 0.008408, 0.008405, \
                 0.008396, 0.008393, 0.00839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007958, -0.007962, -0.007964, -0.00803, -0.008085, -0.008133, \
                 -0.008161, -0.008185, -0.008207, -0.008233");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004335, 0.004317, 0.004314, 0.004324, 0.004317, 0.004329, 0.004328, \
                 0.004319, 0.004311, 0.004301");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003057, -0.003052, -0.003044, -0.003047, -0.003054, -0.003056, \
                 -0.003059, -0.00306, -0.003061, -0.003062");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1319, 0.1316, 0.1307, 0.1303, 0.1328, 0.1402, 0.1533, 0.1726, \
                 0.1979, 0.2287");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07254, 0.07264, 0.07226, 0.07242, 0.07539, 0.08219, 0.09332, \
                 0.1092, 0.1297, 0.155");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1319, 0.1316, 0.1307, 0.1303, 0.1328, 0.1402, 0.1533, 0.1726, \
                 0.1979, 0.2287");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07254, 0.07263, 0.07224, 0.07242, 0.07539, 0.0822, 0.09333, \
                 0.1092, 0.1297, 0.155");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008414, 0.008419, 0.008421, 0.008413, 0.008407, 0.008412, 0.008406, \
                 0.008399, 0.008394, 0.008387");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007965, -0.00796, -0.007969, -0.008026, -0.008081, -0.008129, \
                 -0.008159, -0.008185, -0.008207, -0.008233");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004326, 0.004326, 0.004327, 0.00432, 0.004332, 0.004314, 0.004323, \
                 0.004318, 0.00431, 0.004302");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003054, -0.003051, -0.003047, -0.003048, -0.003062, -0.003052, \
                 -0.00306, -0.00306, -0.003063, -0.003062");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00938, 0.009197, 0.009145, 0.009125, 0.009119, 0.009136, 0.009129, \
                 0.009135, 0.00913, 0.009124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006272, -0.006286, -0.006763, -0.007276, -0.007591, -0.007785, \
                 -0.007883, -0.007955, -0.007996, -0.008024");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009378, 0.009197, 0.009145, 0.009125, 0.009119, 0.009136, 0.009132, \
                 0.009135, 0.009132, 0.009121");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006272, -0.006286, -0.006763, -0.007282, -0.007591, -0.00778, \
                 -0.007883, -0.007955, -0.007997, -0.008026");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008325, 0.008459, 0.008524, 0.008527, 0.008523, 0.008535, 0.008514, \
                 0.008494, 0.008465, 0.008424");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00805, -0.008049, -0.008036, -0.008087, -0.008148, -0.008195, \
                 -0.008215, -0.008228, -0.008238, -0.008244");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004116, 0.004117, 0.004123, 0.004138, 0.004133, 0.004142, 0.004146, \
                 0.004142, 0.004143, 0.004142");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005086, -0.004841, -0.004649, -0.004591, -0.00456, -0.00456, \
                 -0.004549, -0.00454, -0.004535, -0.004533");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02311, 0.02313, 0.02313, 0.02308, 0.02308, 0.02308, 0.0231, \
                 0.02309, 0.0231, 0.0231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006274, -0.006312, -0.006756, -0.007277, -0.00761, -0.007788, \
                 -0.007889, -0.007942, -0.007996, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02312, 0.02313, 0.02313, 0.02309, 0.02307, 0.02307, 0.0231, \
                 0.02311, 0.0231, 0.02309");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006276, -0.006312, -0.006756, -0.007276, -0.00761, -0.007785, \
                 -0.007889, -0.007947, -0.007991, -0.00803");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008371, 0.008387, 0.008377, 0.008366, 0.008364, 0.008371, 0.008367, \
                 0.008364, 0.008362, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008047, -0.008033, -0.008024, -0.008081, -0.008152, -0.008176, \
                 -0.008216, -0.008226, -0.008236, -0.008246");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004114, 0.004116, 0.004114, 0.004118, 0.004115, 0.004124, 0.004129, \
                 0.004128, 0.004127, 0.004125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003109, -0.003113, -0.003112, -0.003113, -0.003117, -0.003122, \
                 -0.003121, -0.003119, -0.003114, -0.003112");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.12, -0.108, -0.063, -0.001, 0.055, 0.088, 0.099, 0.089, 0.059, -0.008",\
                 "-0.131, -0.12, -0.072, -0.013, 0.039, 0.076, 0.09, 0.081, 0.048, -0.017",\
                 "-0.173, -0.16, -0.11, -0.048, 0.008, 0.041, 0.058, 0.044, 0.007, -0.059",\
                 "-0.235, -0.228, -0.178, -0.114, -0.063, -0.029, -0.014, -0.025, -0.055, -0.12",\
                 "-0.315, -0.301, -0.251, -0.189, -0.134, -0.101, -0.093, -0.099, -0.135, -0.198",\
                 "-0.393, -0.377, -0.334, -0.271, -0.223, -0.189, -0.18, -0.188, -0.222, -0.284",\
                 "-0.479, -0.467, -0.42, -0.366, -0.319, -0.285, -0.274, -0.286, -0.322, -0.381",\
                 "-0.591, -0.577, -0.534, -0.489, -0.441, -0.41, -0.397, -0.412, -0.436, -0.501",\
                 "-0.728, -0.716, -0.677, -0.635, -0.594, -0.559, -0.553, -0.571, -0.592, -0.659",\
                 "-0.897, -0.88, -0.852, -0.819, -0.778, -0.756, -0.746, -0.767, -0.782, -0.849");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.354, -0.32, -0.301, -0.317, -0.355, -0.406, -0.489, -0.586, -0.716",\
                 "-0.377, -0.366, -0.332, -0.323, -0.332, -0.366, -0.416, -0.498, -0.602, -0.724",\
                 "-0.409, -0.391, -0.362, -0.349, -0.357, -0.393, -0.449, -0.522, -0.622, -0.751",\
                 "-0.453, -0.44, -0.404, -0.39, -0.396, -0.423, -0.473, -0.546, -0.65, -0.769",\
                 "-0.494, -0.479, -0.451, -0.428, -0.43, -0.451, -0.499, -0.572, -0.665, -0.788",\
                 "-0.526, -0.513, -0.475, -0.454, -0.451, -0.475, -0.517, -0.575, -0.672, -0.789",\
                 "-0.521, -0.51, -0.474, -0.445, -0.45, -0.466, -0.509, -0.569, -0.665, -0.78",\
                 "-0.485, -0.47, -0.435, -0.416, -0.412, -0.435, -0.475, -0.544, -0.632, -0.749",\
                 "-0.409, -0.394, -0.354, -0.338, -0.338, -0.365, -0.411, -0.476, -0.568, -0.686",\
                 "-0.288, -0.272, -0.24, -0.226, -0.224, -0.252, -0.297, -0.368, -0.467, -0.583");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.12, -0.108, -0.063, -0.001, 0.055, 0.088, 0.099, 0.089, 0.059, -0.008",\
                 "-0.131, -0.12, -0.072, -0.013, 0.047, 0.076, 0.09, 0.081, 0.048, -0.017",\
                 "-0.173, -0.16, -0.11, -0.048, 0.008, 0.041, 0.058, 0.044, 0.007, -0.054",\
                 "-0.235, -0.228, -0.178, -0.114, -0.063, -0.029, -0.014, -0.025, -0.055, -0.12",\
                 "-0.315, -0.301, -0.251, -0.189, -0.134, -0.101, -0.093, -0.099, -0.135, -0.198",\
                 "-0.393, -0.377, -0.334, -0.271, -0.223, -0.189, -0.18, -0.188, -0.222, -0.285",\
                 "-0.479, -0.467, -0.42, -0.365, -0.319, -0.285, -0.274, -0.286, -0.322, -0.381",\
                 "-0.591, -0.577, -0.534, -0.489, -0.441, -0.41, -0.397, -0.412, -0.436, -0.501",\
                 "-0.728, -0.716, -0.677, -0.635, -0.594, -0.559, -0.553, -0.577, -0.592, -0.659",\
                 "-0.902, -0.885, -0.852, -0.819, -0.778, -0.75, -0.746, -0.767, -0.782, -0.849");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.354, -0.32, -0.301, -0.317, -0.355, -0.406, -0.489, -0.586, -0.716",\
                 "-0.377, -0.366, -0.332, -0.312, -0.332, -0.366, -0.416, -0.498, -0.602, -0.724",\
                 "-0.409, -0.391, -0.362, -0.349, -0.357, -0.393, -0.449, -0.522, -0.622, -0.751",\
                 "-0.453, -0.44, -0.404, -0.39, -0.396, -0.423, -0.473, -0.546, -0.65, -0.769",\
                 "-0.494, -0.479, -0.451, -0.427, -0.43, -0.451, -0.499, -0.572, -0.665, -0.788",\
                 "-0.526, -0.513, -0.475, -0.454, -0.451, -0.475, -0.517, -0.575, -0.672, -0.789",\
                 "-0.521, -0.51, -0.474, -0.445, -0.45, -0.466, -0.509, -0.569, -0.665, -0.78",\
                 "-0.485, -0.47, -0.435, -0.416, -0.412, -0.435, -0.475, -0.544, -0.632, -0.749",\
                 "-0.409, -0.394, -0.354, -0.338, -0.338, -0.365, -0.411, -0.476, -0.568, -0.686",\
                 "-0.288, -0.272, -0.24, -0.226, -0.224, -0.252, -0.297, -0.368, -0.467, -0.583");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.939, 0.928, 0.868, 0.783, 0.705, 0.654, 0.617, 0.613, 0.641, 0.686",\
                 "0.951, 0.937, 0.877, 0.794, 0.718, 0.666, 0.63, 0.623, 0.649, 0.693",\
                 "0.989, 0.977, 0.921, 0.831, 0.757, 0.7, 0.667, 0.659, 0.688, 0.736",\
                 "1.061, 1.046, 0.99, 0.904, 0.829, 0.775, 0.744, 0.733, 0.754, 0.809",\
                 "1.186, 1.174, 1.113, 1.024, 0.956, 0.899, 0.865, 0.862, 0.882, 0.932",\
                 "1.378, 1.367, 1.304, 1.222, 1.143, 1.09, 1.056, 1.047, 1.065, 1.119",\
                 "1.651, 1.632, 1.57, 1.484, 1.412, 1.356, 1.316, 1.311, 1.32, 1.366",\
                 "1.978, 1.968, 1.908, 1.819, 1.738, 1.682, 1.637, 1.625, 1.637, 1.675",\
                 "2.375, 2.361, 2.298, 2.208, 2.127, 2.058, 2.018, 1.995, 2.007, 2.046",\
                 "2.824, 2.808, 2.745, 2.65, 2.566, 2.496, 2.445, 2.427, 2.431, 2.462");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.744, 0.737, 0.68, 0.61, 0.563, 0.562, 0.592, 0.655, 0.745, 0.863",\
                 "0.76, 0.746, 0.693, 0.621, 0.579, 0.578, 0.604, 0.665, 0.762, 0.876",\
                 "0.79, 0.775, 0.724, 0.651, 0.61, 0.604, 0.64, 0.696, 0.787, 0.902",\
                 "0.834, 0.826, 0.764, 0.697, 0.655, 0.643, 0.674, 0.727, 0.816, 0.927",\
                 "0.896, 0.88, 0.826, 0.755, 0.707, 0.697, 0.711, 0.765, 0.845, 0.955",\
                 "0.94, 0.925, 0.87, 0.798, 0.749, 0.734, 0.746, 0.786, 0.866, 0.97",\
                 "0.959, 0.947, 0.891, 0.825, 0.771, 0.756, 0.759, 0.803, 0.877, 0.981",\
                 "0.957, 0.947, 0.889, 0.817, 0.768, 0.747, 0.749, 0.79, 0.861, 0.957",\
                 "0.918, 0.907, 0.859, 0.783, 0.736, 0.706, 0.706, 0.746, 0.817, 0.92",\
                 "0.845, 0.838, 0.777, 0.708, 0.654, 0.634, 0.632, 0.671, 0.737, 0.834");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.939, 0.928, 0.868, 0.783, 0.705, 0.654, 0.626, 0.613, 0.641, 0.686",\
                 "0.951, 0.937, 0.877, 0.794, 0.718, 0.666, 0.63, 0.623, 0.649, 0.698",\
                 "0.989, 0.977, 0.921, 0.831, 0.757, 0.7, 0.667, 0.659, 0.688, 0.736",\
                 "1.061, 1.046, 0.99, 0.904, 0.829, 0.775, 0.744, 0.733, 0.754, 0.809",\
                 "1.186, 1.174, 1.113, 1.029, 0.949, 0.899, 0.865, 0.862, 0.882, 0.932",\
                 "1.378, 1.367, 1.304, 1.222, 1.143, 1.09, 1.056, 1.047, 1.065, 1.119",\
                 "1.651, 1.632, 1.57, 1.484, 1.412, 1.356, 1.316, 1.311, 1.32, 1.366",\
                 "1.978, 1.968, 1.908, 1.819, 1.738, 1.682, 1.637, 1.625, 1.637, 1.675",\
                 "2.375, 2.361, 2.298, 2.208, 2.127, 2.058, 2.018, 1.995, 2.007, 2.046",\
                 "2.824, 2.808, 2.745, 2.65, 2.566, 2.496, 2.445, 2.427, 2.431, 2.462");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.744, 0.737, 0.675, 0.61, 0.563, 0.562, 0.592, 0.655, 0.745, 0.863",\
                 "0.76, 0.746, 0.693, 0.621, 0.579, 0.578, 0.604, 0.665, 0.762, 0.876",\
                 "0.785, 0.775, 0.724, 0.651, 0.61, 0.604, 0.64, 0.696, 0.787, 0.902",\
                 "0.834, 0.826, 0.764, 0.697, 0.65, 0.65, 0.674, 0.727, 0.816, 0.927",\
                 "0.896, 0.88, 0.826, 0.75, 0.707, 0.697, 0.711, 0.765, 0.845, 0.955",\
                 "0.94, 0.925, 0.87, 0.805, 0.749, 0.734, 0.746, 0.786, 0.866, 0.97",\
                 "0.959, 0.947, 0.891, 0.825, 0.771, 0.756, 0.759, 0.803, 0.877, 0.973",\
                 "0.957, 0.947, 0.889, 0.817, 0.768, 0.747, 0.749, 0.79, 0.861, 0.957",\
                 "0.918, 0.907, 0.859, 0.783, 0.736, 0.706, 0.706, 0.746, 0.817, 0.92",\
                 "0.845, 0.838, 0.777, 0.708, 0.654, 0.634, 0.632, 0.671, 0.737, 0.834");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3584 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&RN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1343, 0.133, 0.1313, 0.1305, 0.1301, 0.1299, 0.1297, 0.1297, 0.1296, 0.1296",\
                 "0.1342, 0.1329, 0.1312, 0.1304, 0.1301, 0.1298, 0.1297, 0.1296, 0.1295, 0.1295",\
                 "0.1344, 0.133, 0.1314, 0.1305, 0.1301, 0.1299, 0.1298, 0.1297, 0.1296, 0.1296",\
                 "0.1349, 0.1337, 0.132, 0.1311, 0.1308, 0.1306, 0.1304, 0.1303, 0.1303, 0.1302",\
                 "0.1359, 0.1346, 0.1329, 0.1321, 0.1318, 0.1315, 0.1314, 0.1313, 0.1312, 0.1312",\
                 "0.1369, 0.1356, 0.134, 0.1332, 0.1328, 0.1325, 0.1324, 0.1323, 0.1323, 0.1322",\
                 "0.1383, 0.1369, 0.1352, 0.1344, 0.134, 0.1338, 0.1337, 0.1336, 0.1335, 0.1335",\
                 "0.1396, 0.1383, 0.1366, 0.1358, 0.1354, 0.1352, 0.1351, 0.135, 0.1349, 0.1349",\
                 "0.1411, 0.1398, 0.1381, 0.1373, 0.1369, 0.1367, 0.1365, 0.1364, 0.1364, 0.1364",\
                 "0.1427, 0.1414, 0.1398, 0.1389, 0.1386, 0.1383, 0.1382, 0.1381, 0.138, 0.138");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1495, 0.1481, 0.1461, 0.1451, 0.1447, 0.145, 0.1454, 0.146, 0.1467, 0.1508",\
                 "0.1494, 0.1479, 0.1459, 0.1447, 0.1445, 0.1448, 0.1452, 0.1459, 0.1471, 0.1504",\
                 "0.1494, 0.1479, 0.1459, 0.1447, 0.1445, 0.1448, 0.1452, 0.1458, 0.1467, 0.151",\
                 "0.1497, 0.1483, 0.1463, 0.1452, 0.145, 0.1452, 0.1456, 0.1466, 0.1473, 0.152",\
                 "0.1506, 0.1492, 0.1472, 0.146, 0.1458, 0.146, 0.1463, 0.147, 0.1484, 0.153",\
                 "0.1512, 0.1499, 0.1478, 0.147, 0.1465, 0.1469, 0.1475, 0.1479, 0.1491, 0.1555",\
                 "0.1528, 0.1513, 0.1492, 0.1481, 0.1481, 0.1485, 0.1487, 0.1493, 0.1503, 0.1584",\
                 "0.1544, 0.1529, 0.1509, 0.1498, 0.1496, 0.1501, 0.1512, 0.1515, 0.1518, 0.163",\
                 "0.1564, 0.1549, 0.1527, 0.1518, 0.1512, 0.1515, 0.1525, 0.1541, 0.1559, 0.1709",\
                 "0.1587, 0.1573, 0.1552, 0.1538, 0.1535, 0.1533, 0.154, 0.1555, 0.1598, 0.1827");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&!SE&SI | !D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1343, 0.1329, 0.1313, 0.1304, 0.13, 0.1299, 0.1297, 0.1296, 0.1296, 0.1295",\
                 "0.1342, 0.1329, 0.1313, 0.1304, 0.13, 0.1298, 0.1297, 0.1296, 0.1295, 0.1295",\
                 "0.1344, 0.133, 0.1313, 0.1305, 0.1302, 0.13, 0.1298, 0.1297, 0.1297, 0.1297",\
                 "0.135, 0.1337, 0.132, 0.1312, 0.1308, 0.1306, 0.1305, 0.1304, 0.1303, 0.1303",\
                 "0.1359, 0.1346, 0.1329, 0.1321, 0.1317, 0.1315, 0.1314, 0.1313, 0.1312, 0.1312",\
                 "0.137, 0.1357, 0.134, 0.1333, 0.1328, 0.1326, 0.1325, 0.1325, 0.1324, 0.1324",\
                 "0.1383, 0.137, 0.1354, 0.1346, 0.1342, 0.134, 0.1338, 0.1337, 0.1337, 0.1336",\
                 "0.1397, 0.1383, 0.1366, 0.1358, 0.1354, 0.1352, 0.1351, 0.135, 0.1349, 0.1349",\
                 "0.1411, 0.1398, 0.1382, 0.1373, 0.1369, 0.1367, 0.1366, 0.1364, 0.1364, 0.1363",\
                 "0.1427, 0.1414, 0.1398, 0.1389, 0.1385, 0.1383, 0.1382, 0.1381, 0.138, 0.138");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1495, 0.148, 0.146, 0.1448, 0.1446, 0.1449, 0.1455, 0.1459, 0.1472, 0.1508",\
                 "0.1495, 0.148, 0.1459, 0.1448, 0.1446, 0.1449, 0.1455, 0.146, 0.1472, 0.1511",\
                 "0.1494, 0.1479, 0.1459, 0.1449, 0.1446, 0.1449, 0.1454, 0.1458, 0.1467, 0.1507",\
                 "0.1498, 0.1484, 0.1463, 0.1452, 0.145, 0.1453, 0.146, 0.1463, 0.1472, 0.1521",\
                 "0.1505, 0.1491, 0.147, 0.1459, 0.1456, 0.1459, 0.1463, 0.1469, 0.1479, 0.1529",\
                 "0.1515, 0.15, 0.148, 0.147, 0.1466, 0.1469, 0.1476, 0.1479, 0.1494, 0.1554",\
                 "0.1527, 0.1512, 0.1492, 0.148, 0.1481, 0.1485, 0.1488, 0.1493, 0.1508, 0.1584",\
                 "0.1545, 0.153, 0.151, 0.1499, 0.1496, 0.1502, 0.1514, 0.1516, 0.1521, 0.1633",\
                 "0.1564, 0.1549, 0.1529, 0.152, 0.1513, 0.1516, 0.1526, 0.1541, 0.1556, 0.171",\
                 "0.1587, 0.1571, 0.1552, 0.1538, 0.1535, 0.1536, 0.1541, 0.1555, 0.1595, 0.1827");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&SE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1343, 0.1329, 0.1313, 0.1304, 0.1301, 0.1299, 0.1297, 0.1296, 0.1296, 0.1295",\
                 "0.1342, 0.1329, 0.1312, 0.1304, 0.1301, 0.1298, 0.1297, 0.1296, 0.1295, 0.1295",\
                 "0.1344, 0.133, 0.1313, 0.1305, 0.1301, 0.1299, 0.1298, 0.1297, 0.1297, 0.1296",\
                 "0.135, 0.1337, 0.132, 0.1311, 0.1308, 0.1306, 0.1304, 0.1303, 0.1303, 0.1302",\
                 "0.1359, 0.1346, 0.1329, 0.1321, 0.1317, 0.1315, 0.1313, 0.1313, 0.1312, 0.1311",\
                 "0.1369, 0.1356, 0.134, 0.1332, 0.1328, 0.1326, 0.1324, 0.1324, 0.1323, 0.1323",\
                 "0.1383, 0.137, 0.1354, 0.1346, 0.1342, 0.134, 0.1338, 0.1337, 0.1337, 0.1336",\
                 "0.1397, 0.1383, 0.1367, 0.1358, 0.1354, 0.1352, 0.1351, 0.135, 0.1349, 0.1349",\
                 "0.1411, 0.1397, 0.1381, 0.1372, 0.1369, 0.1367, 0.1365, 0.1364, 0.1363, 0.1363",\
                 "0.1427, 0.1414, 0.1398, 0.1389, 0.1385, 0.1383, 0.1382, 0.1381, 0.138, 0.138");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1495, 0.1481, 0.1461, 0.145, 0.1447, 0.145, 0.1454, 0.146, 0.1467, 0.1508",\
                 "0.1495, 0.148, 0.146, 0.1448, 0.1446, 0.1449, 0.1454, 0.1458, 0.1465, 0.1505",\
                 "0.1495, 0.1479, 0.1458, 0.1447, 0.1445, 0.1448, 0.1454, 0.1458, 0.1472, 0.151",\
                 "0.1498, 0.1484, 0.1464, 0.1452, 0.1449, 0.1453, 0.1457, 0.1463, 0.1471, 0.1517",\
                 "0.1505, 0.1491, 0.147, 0.1459, 0.1456, 0.1459, 0.1462, 0.1469, 0.1484, 0.1532",\
                 "0.1513, 0.1499, 0.1479, 0.147, 0.1466, 0.1469, 0.1475, 0.148, 0.1492, 0.1556",\
                 "0.1529, 0.1513, 0.1492, 0.1481, 0.1483, 0.1486, 0.1489, 0.1495, 0.151, 0.1585",\
                 "0.1544, 0.1529, 0.1508, 0.1497, 0.1495, 0.15, 0.1511, 0.1515, 0.1517, 0.1632",\
                 "0.1564, 0.1549, 0.1527, 0.1517, 0.151, 0.1514, 0.1524, 0.1537, 0.1559, 0.1709",\
                 "0.1586, 0.1573, 0.1552, 0.1539, 0.1537, 0.1539, 0.154, 0.1558, 0.1598, 0.1833");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1343, 0.133, 0.1313, 0.1304, 0.1301, 0.1299, 0.1297, 0.1297, 0.1296, 0.1296",\
                 "0.1342, 0.1329, 0.1312, 0.1304, 0.1301, 0.1298, 0.1297, 0.1296, 0.1295, 0.1295",\
                 "0.1343, 0.133, 0.1314, 0.1304, 0.1301, 0.1299, 0.1298, 0.1297, 0.1296, 0.1296",\
                 "0.135, 0.1336, 0.132, 0.1311, 0.1307, 0.1305, 0.1304, 0.1303, 0.1302, 0.1302",\
                 "0.1359, 0.1345, 0.1328, 0.1321, 0.1317, 0.1315, 0.1313, 0.1312, 0.1312, 0.1311",\
                 "0.1369, 0.1356, 0.134, 0.1331, 0.1328, 0.1325, 0.1324, 0.1323, 0.1322, 0.1322",\
                 "0.1383, 0.1371, 0.1354, 0.1344, 0.134, 0.1339, 0.1337, 0.1336, 0.1336, 0.1336",\
                 "0.1396, 0.1383, 0.1366, 0.1358, 0.1354, 0.1352, 0.1351, 0.135, 0.1349, 0.1349",\
                 "0.1412, 0.1398, 0.1382, 0.1373, 0.1369, 0.1367, 0.1366, 0.1365, 0.1364, 0.1364",\
                 "0.1426, 0.1413, 0.1397, 0.1388, 0.1384, 0.1382, 0.1381, 0.138, 0.1379, 0.1379");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1495, 0.148, 0.146, 0.1449, 0.1446, 0.1449, 0.1453, 0.1459, 0.1472, 0.1508",\
                 "0.1495, 0.148, 0.146, 0.1448, 0.1446, 0.1449, 0.1455, 0.146, 0.1472, 0.1511",\
                 "0.1494, 0.1479, 0.1459, 0.1448, 0.1446, 0.1449, 0.1454, 0.1458, 0.1467, 0.1511",\
                 "0.1497, 0.1483, 0.1464, 0.1452, 0.1449, 0.1452, 0.1459, 0.1463, 0.1476, 0.1517",\
                 "0.1505, 0.149, 0.1469, 0.1458, 0.1455, 0.1458, 0.1463, 0.1468, 0.1478, 0.1529",\
                 "0.1514, 0.1499, 0.1479, 0.1469, 0.1466, 0.1469, 0.1475, 0.1478, 0.1493, 0.1556",\
                 "0.1528, 0.1513, 0.1492, 0.148, 0.1481, 0.1485, 0.1488, 0.1493, 0.1508, 0.1584",\
                 "0.1543, 0.153, 0.1509, 0.1499, 0.1496, 0.1502, 0.1513, 0.1514, 0.152, 0.1639",\
                 "0.1564, 0.1549, 0.1528, 0.1517, 0.1512, 0.1516, 0.1526, 0.1539, 0.1557, 0.1705",\
                 "0.1587, 0.1572, 0.1552, 0.1538, 0.1535, 0.1536, 0.1541, 0.1555, 0.1598, 0.1841");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1302, 0.129, 0.1275, 0.1266, 0.1262, 0.126, 0.1258, 0.1257, 0.1257, 0.1256",\
                 "0.1303, 0.129, 0.1276, 0.1267, 0.1263, 0.126, 0.1259, 0.1258, 0.1257, 0.1257",\
                 "0.131, 0.1297, 0.1281, 0.1273, 0.1269, 0.1267, 0.1266, 0.1265, 0.1264, 0.1264",\
                 "0.1371, 0.1355, 0.1333, 0.1319, 0.1313, 0.131, 0.1308, 0.1307, 0.1306, 0.1306",\
                 "0.151, 0.1487, 0.1453, 0.1429, 0.1416, 0.1409, 0.1405, 0.1403, 0.1401, 0.14",\
                 "0.1716, 0.1686, 0.1636, 0.1601, 0.158, 0.1567, 0.156, 0.1555, 0.1552, 0.155",\
                 "0.1988, 0.1952, 0.1886, 0.1836, 0.1804, 0.1784, 0.1772, 0.1764, 0.1759, 0.1755",\
                 "0.2317, 0.2273, 0.2191, 0.2125, 0.2081, 0.2053, 0.2034, 0.2022, 0.2014, 0.2008",\
                 "0.2694, 0.2645, 0.2545, 0.2463, 0.2406, 0.2367, 0.2342, 0.2325, 0.2313, 0.2305",\
                 "0.3114, 0.3057, 0.2943, 0.2845, 0.2774, 0.2724, 0.2688, 0.2666, 0.265, 0.264");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1302, 0.129, 0.1275, 0.1266, 0.1262, 0.126, 0.1258, 0.1257, 0.1257, 0.1256",\
                 "0.1303, 0.129, 0.1276, 0.1267, 0.1263, 0.126, 0.1259, 0.1258, 0.1257, 0.1257",\
                 "0.131, 0.1297, 0.1281, 0.1273, 0.1269, 0.1267, 0.1266, 0.1265, 0.1264, 0.1264",\
                 "0.1371, 0.1355, 0.1333, 0.1319, 0.1313, 0.131, 0.1308, 0.1307, 0.1306, 0.1306",\
                 "0.151, 0.1487, 0.1453, 0.1429, 0.1416, 0.1409, 0.1405, 0.1403, 0.1401, 0.14",\
                 "0.1716, 0.1686, 0.1636, 0.1601, 0.158, 0.1567, 0.156, 0.1555, 0.1552, 0.155",\
                 "0.1988, 0.1952, 0.1886, 0.1836, 0.1804, 0.1784, 0.1772, 0.1764, 0.1759, 0.1755",\
                 "0.2317, 0.2273, 0.2191, 0.2125, 0.2081, 0.2053, 0.2034, 0.2022, 0.2014, 0.2008",\
                 "0.2694, 0.2645, 0.2545, 0.2463, 0.2406, 0.2367, 0.2342, 0.2325, 0.2313, 0.2305",\
                 "0.3114, 0.3057, 0.2943, 0.2845, 0.2774, 0.2724, 0.2688, 0.2666, 0.265, 0.264");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1302, 0.129, 0.1275, 0.1266, 0.1262, 0.126, 0.1258, 0.1257, 0.1257, 0.1256",\
                 "0.1303, 0.129, 0.1276, 0.1267, 0.1263, 0.126, 0.1259, 0.1258, 0.1257, 0.1257",\
                 "0.131, 0.1297, 0.1281, 0.1273, 0.1269, 0.1267, 0.1266, 0.1265, 0.1264, 0.1264",\
                 "0.1371, 0.1355, 0.1333, 0.1319, 0.1313, 0.131, 0.1308, 0.1307, 0.1306, 0.1306",\
                 "0.151, 0.1488, 0.1453, 0.1429, 0.1416, 0.1409, 0.1405, 0.1403, 0.1401, 0.14",\
                 "0.1716, 0.1686, 0.1636, 0.1601, 0.158, 0.1567, 0.156, 0.1555, 0.1552, 0.155",\
                 "0.1988, 0.1952, 0.1886, 0.1836, 0.1803, 0.1784, 0.1772, 0.1764, 0.1759, 0.1755",\
                 "0.2316, 0.2273, 0.2191, 0.2125, 0.2081, 0.2053, 0.2034, 0.2022, 0.2014, 0.2009",\
                 "0.2694, 0.2645, 0.2545, 0.2463, 0.2405, 0.2367, 0.2341, 0.2324, 0.2313, 0.2305",\
                 "0.3114, 0.3059, 0.2943, 0.2845, 0.2774, 0.2724, 0.2688, 0.2666, 0.265, 0.264");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1302, 0.129, 0.1275, 0.1266, 0.1262, 0.126, 0.1258, 0.1257, 0.1257, 0.1256",\
                 "0.1303, 0.129, 0.1276, 0.1267, 0.1263, 0.126, 0.1259, 0.1258, 0.1257, 0.1257",\
                 "0.131, 0.1297, 0.1281, 0.1273, 0.1269, 0.1267, 0.1266, 0.1265, 0.1264, 0.1264",\
                 "0.1371, 0.1355, 0.1333, 0.1319, 0.1313, 0.131, 0.1308, 0.1307, 0.1306, 0.1306",\
                 "0.151, 0.1488, 0.1453, 0.1429, 0.1416, 0.1409, 0.1405, 0.1403, 0.1401, 0.14",\
                 "0.1716, 0.1686, 0.1636, 0.1601, 0.158, 0.1567, 0.156, 0.1555, 0.1552, 0.155",\
                 "0.1988, 0.1952, 0.1886, 0.1836, 0.1803, 0.1784, 0.1772, 0.1764, 0.1759, 0.1755",\
                 "0.2316, 0.2273, 0.2191, 0.2125, 0.2081, 0.2053, 0.2034, 0.2022, 0.2014, 0.2009",\
                 "0.2694, 0.2645, 0.2545, 0.2463, 0.2405, 0.2367, 0.2341, 0.2324, 0.2313, 0.2305",\
                 "0.3114, 0.3059, 0.2943, 0.2845, 0.2774, 0.2724, 0.2688, 0.2666, 0.265, 0.264");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1302, 0.129, 0.1275, 0.1266, 0.1262, 0.126, 0.1258, 0.1257, 0.1257, 0.1256",\
                 "0.1303, 0.129, 0.1276, 0.1267, 0.1263, 0.1261, 0.1259, 0.1258, 0.1258, 0.1257",\
                 "0.131, 0.1297, 0.1281, 0.1273, 0.1269, 0.1267, 0.1266, 0.1265, 0.1264, 0.1264",\
                 "0.1371, 0.1354, 0.1333, 0.1319, 0.1313, 0.1309, 0.1308, 0.1307, 0.1306, 0.1305",\
                 "0.151, 0.1488, 0.1453, 0.1429, 0.1416, 0.1409, 0.1405, 0.1403, 0.1401, 0.14",\
                 "0.1716, 0.1686, 0.1636, 0.1601, 0.158, 0.1567, 0.156, 0.1555, 0.1552, 0.155",\
                 "0.1988, 0.1952, 0.1886, 0.1835, 0.1803, 0.1784, 0.1772, 0.1764, 0.1759, 0.1755",\
                 "0.2316, 0.2272, 0.2191, 0.2125, 0.2082, 0.2053, 0.2035, 0.2022, 0.2014, 0.2008",\
                 "0.2694, 0.2645, 0.2545, 0.2463, 0.2406, 0.2367, 0.2342, 0.2325, 0.2314, 0.2306",\
                 "0.3114, 0.3058, 0.2942, 0.2844, 0.2774, 0.2724, 0.2689, 0.2666, 0.265, 0.264");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1302, 0.129, 0.1275, 0.1266, 0.1262, 0.126, 0.1258, 0.1257, 0.1257, 0.1256",\
                 "0.1303, 0.129, 0.1276, 0.1267, 0.1263, 0.1261, 0.1259, 0.1258, 0.1258, 0.1257",\
                 "0.131, 0.1297, 0.1281, 0.1273, 0.1269, 0.1267, 0.1266, 0.1265, 0.1264, 0.1264",\
                 "0.1371, 0.1354, 0.1333, 0.1319, 0.1313, 0.1309, 0.1308, 0.1307, 0.1306, 0.1305",\
                 "0.151, 0.1488, 0.1453, 0.1429, 0.1416, 0.1409, 0.1405, 0.1403, 0.1401, 0.14",\
                 "0.1716, 0.1686, 0.1636, 0.1601, 0.158, 0.1567, 0.156, 0.1555, 0.1552, 0.155",\
                 "0.1988, 0.1952, 0.1886, 0.1835, 0.1803, 0.1784, 0.1772, 0.1764, 0.1759, 0.1755",\
                 "0.2316, 0.2272, 0.2191, 0.2125, 0.2082, 0.2053, 0.2035, 0.2022, 0.2014, 0.2008",\
                 "0.2694, 0.2645, 0.2545, 0.2463, 0.2406, 0.2367, 0.2342, 0.2325, 0.2314, 0.2306",\
                 "0.3114, 0.3058, 0.2942, 0.2844, 0.2774, 0.2724, 0.2689, 0.2666, 0.265, 0.264");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1374, 0.1362, 0.1348, 0.1339, 0.1334, 0.1332, 0.133, 0.133, 0.1329, 0.1329",\
                 "0.1377, 0.1365, 0.135, 0.1342, 0.1338, 0.1335, 0.1334, 0.1333, 0.1332, 0.1332",\
                 "0.1384, 0.1372, 0.1356, 0.1348, 0.1344, 0.1341, 0.134, 0.1339, 0.1339, 0.1338",\
                 "0.1445, 0.1429, 0.1407, 0.1394, 0.1388, 0.1384, 0.1382, 0.1381, 0.1381, 0.138",\
                 "0.1584, 0.1561, 0.1526, 0.1503, 0.149, 0.1483, 0.1479, 0.1476, 0.1475, 0.1474",\
                 "0.1791, 0.1762, 0.1712, 0.1676, 0.1655, 0.1643, 0.1635, 0.1631, 0.1628, 0.1625",\
                 "0.2062, 0.2026, 0.196, 0.1909, 0.1878, 0.1859, 0.1847, 0.1839, 0.1834, 0.183",\
                 "0.2391, 0.2347, 0.2265, 0.2199, 0.2154, 0.2126, 0.2109, 0.2096, 0.2088, 0.2083",\
                 "0.2768, 0.2719, 0.2619, 0.2538, 0.248, 0.2441, 0.2416, 0.2399, 0.2387, 0.2379",\
                 "0.3189, 0.3132, 0.3017, 0.2919, 0.2847, 0.2799, 0.2764, 0.2742, 0.2725, 0.2714");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1374, 0.1362, 0.1348, 0.1339, 0.1334, 0.1332, 0.133, 0.133, 0.1329, 0.1329",\
                 "0.1377, 0.1365, 0.135, 0.1342, 0.1338, 0.1335, 0.1334, 0.1333, 0.1332, 0.1332",\
                 "0.1384, 0.1372, 0.1356, 0.1348, 0.1344, 0.1341, 0.134, 0.1339, 0.1339, 0.1338",\
                 "0.1445, 0.1429, 0.1407, 0.1394, 0.1388, 0.1384, 0.1382, 0.1381, 0.1381, 0.138",\
                 "0.1584, 0.1561, 0.1526, 0.1503, 0.149, 0.1483, 0.1479, 0.1476, 0.1475, 0.1474",\
                 "0.1791, 0.1762, 0.1712, 0.1676, 0.1655, 0.1643, 0.1635, 0.1631, 0.1628, 0.1625",\
                 "0.2062, 0.2026, 0.196, 0.1909, 0.1878, 0.1859, 0.1847, 0.1839, 0.1834, 0.183",\
                 "0.2391, 0.2347, 0.2265, 0.2199, 0.2154, 0.2126, 0.2109, 0.2096, 0.2088, 0.2083",\
                 "0.2768, 0.2719, 0.2619, 0.2538, 0.248, 0.2441, 0.2416, 0.2399, 0.2387, 0.2379",\
                 "0.3189, 0.3132, 0.3017, 0.2919, 0.2847, 0.2799, 0.2764, 0.2742, 0.2725, 0.2714");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1374, 0.1362, 0.1347, 0.1339, 0.1335, 0.1332, 0.1331, 0.133, 0.1329, 0.1329",\
                 "0.1377, 0.1365, 0.135, 0.1341, 0.1337, 0.1335, 0.1333, 0.1333, 0.1332, 0.1332",\
                 "0.1384, 0.1372, 0.1356, 0.1347, 0.1344, 0.1341, 0.134, 0.1339, 0.1339, 0.1338",\
                 "0.1445, 0.143, 0.1407, 0.1394, 0.1388, 0.1384, 0.1382, 0.1381, 0.1381, 0.138",\
                 "0.1584, 0.1561, 0.1527, 0.1503, 0.149, 0.1483, 0.1479, 0.1477, 0.1475, 0.1474",\
                 "0.1791, 0.1762, 0.1712, 0.1676, 0.1655, 0.1642, 0.1635, 0.163, 0.1627, 0.1625",\
                 "0.2063, 0.2026, 0.1959, 0.191, 0.1878, 0.1859, 0.1847, 0.1839, 0.1834, 0.183",\
                 "0.2391, 0.2347, 0.2265, 0.2198, 0.2154, 0.2126, 0.2108, 0.2096, 0.2088, 0.2082",\
                 "0.2769, 0.2719, 0.262, 0.2538, 0.2481, 0.2442, 0.2415, 0.2399, 0.2387, 0.2379",\
                 "0.3188, 0.3132, 0.3017, 0.2919, 0.2847, 0.2798, 0.2765, 0.2742, 0.2725, 0.2714");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1374, 0.1362, 0.1347, 0.1339, 0.1335, 0.1332, 0.1331, 0.133, 0.1329, 0.1329",\
                 "0.1377, 0.1365, 0.135, 0.1341, 0.1337, 0.1335, 0.1333, 0.1333, 0.1332, 0.1332",\
                 "0.1384, 0.1372, 0.1356, 0.1347, 0.1344, 0.1341, 0.134, 0.1339, 0.1339, 0.1338",\
                 "0.1445, 0.143, 0.1407, 0.1394, 0.1388, 0.1384, 0.1382, 0.1381, 0.1381, 0.138",\
                 "0.1584, 0.1561, 0.1527, 0.1503, 0.149, 0.1483, 0.1479, 0.1477, 0.1475, 0.1474",\
                 "0.1791, 0.1762, 0.1712, 0.1676, 0.1655, 0.1642, 0.1635, 0.163, 0.1627, 0.1625",\
                 "0.2063, 0.2026, 0.1959, 0.191, 0.1878, 0.1859, 0.1847, 0.1839, 0.1834, 0.183",\
                 "0.2391, 0.2347, 0.2265, 0.2198, 0.2154, 0.2126, 0.2108, 0.2096, 0.2088, 0.2082",\
                 "0.2769, 0.2719, 0.262, 0.2538, 0.2481, 0.2442, 0.2415, 0.2399, 0.2387, 0.2379",\
                 "0.3188, 0.3132, 0.3017, 0.2919, 0.2847, 0.2798, 0.2765, 0.2742, 0.2725, 0.2714");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1374, 0.1362, 0.1347, 0.1339, 0.1335, 0.1332, 0.1331, 0.133, 0.1329, 0.1329",\
                 "0.1377, 0.1365, 0.135, 0.1341, 0.1337, 0.1335, 0.1333, 0.1333, 0.1332, 0.1332",\
                 "0.1384, 0.1372, 0.1356, 0.1347, 0.1344, 0.1341, 0.134, 0.1339, 0.1339, 0.1338",\
                 "0.1445, 0.143, 0.1407, 0.1394, 0.1388, 0.1384, 0.1382, 0.1381, 0.1381, 0.138",\
                 "0.1584, 0.1562, 0.1527, 0.1503, 0.149, 0.1483, 0.1479, 0.1477, 0.1475, 0.1474",\
                 "0.1791, 0.1762, 0.1712, 0.1676, 0.1655, 0.1642, 0.1635, 0.163, 0.1627, 0.1625",\
                 "0.2063, 0.2026, 0.1959, 0.1909, 0.1878, 0.1859, 0.1847, 0.1839, 0.1834, 0.1831",\
                 "0.2391, 0.2347, 0.2265, 0.2198, 0.2154, 0.2126, 0.2108, 0.2096, 0.2088, 0.2082",\
                 "0.2769, 0.2719, 0.262, 0.2538, 0.2481, 0.2442, 0.2416, 0.2399, 0.2387, 0.2379",\
                 "0.3188, 0.3132, 0.3017, 0.2919, 0.2847, 0.2798, 0.2765, 0.2742, 0.2725, 0.2714");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1374, 0.1362, 0.1347, 0.1339, 0.1335, 0.1332, 0.1331, 0.133, 0.1329, 0.1329",\
                 "0.1377, 0.1365, 0.135, 0.1341, 0.1337, 0.1335, 0.1333, 0.1333, 0.1332, 0.1332",\
                 "0.1384, 0.1372, 0.1356, 0.1347, 0.1344, 0.1341, 0.134, 0.1339, 0.1339, 0.1338",\
                 "0.1445, 0.143, 0.1407, 0.1394, 0.1388, 0.1384, 0.1382, 0.1381, 0.1381, 0.138",\
                 "0.1584, 0.1562, 0.1527, 0.1503, 0.149, 0.1483, 0.1479, 0.1477, 0.1475, 0.1474",\
                 "0.1791, 0.1762, 0.1712, 0.1676, 0.1655, 0.1642, 0.1635, 0.163, 0.1627, 0.1625",\
                 "0.2063, 0.2026, 0.1959, 0.1909, 0.1878, 0.1859, 0.1847, 0.1839, 0.1834, 0.1831",\
                 "0.2391, 0.2347, 0.2265, 0.2198, 0.2154, 0.2126, 0.2108, 0.2096, 0.2088, 0.2082",\
                 "0.2769, 0.2719, 0.262, 0.2538, 0.2481, 0.2442, 0.2416, 0.2399, 0.2387, 0.2379",\
                 "0.3188, 0.3132, 0.3017, 0.2919, 0.2847, 0.2798, 0.2765, 0.2742, 0.2725, 0.2714");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1302, 0.129, 0.1275, 0.1266, 0.1262, 0.126, 0.1258, 0.1257, 0.1257, 0.1256",\
                 "0.1303, 0.129, 0.1276, 0.1267, 0.1263, 0.126, 0.1259, 0.1258, 0.1257, 0.1257",\
                 "0.131, 0.1297, 0.1282, 0.1273, 0.1269, 0.1267, 0.1266, 0.1265, 0.1264, 0.1264",\
                 "0.1371, 0.1355, 0.1333, 0.1319, 0.1313, 0.131, 0.1308, 0.1307, 0.1306, 0.1306",\
                 "0.151, 0.1487, 0.1452, 0.1428, 0.1416, 0.1409, 0.1405, 0.1403, 0.1401, 0.14",\
                 "0.1716, 0.1686, 0.1636, 0.1601, 0.158, 0.1567, 0.156, 0.1555, 0.1552, 0.155",\
                 "0.1988, 0.1952, 0.1886, 0.1836, 0.1804, 0.1784, 0.1772, 0.1764, 0.1759, 0.1755",\
                 "0.2317, 0.2272, 0.2191, 0.2124, 0.208, 0.2053, 0.2034, 0.2023, 0.2014, 0.2009",\
                 "0.2693, 0.2645, 0.2545, 0.2463, 0.2406, 0.2367, 0.2342, 0.2325, 0.2313, 0.2305",\
                 "0.3115, 0.3059, 0.2943, 0.2845, 0.2774, 0.2724, 0.2689, 0.2666, 0.2651, 0.2639");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1302, 0.129, 0.1275, 0.1266, 0.1262, 0.126, 0.1258, 0.1257, 0.1257, 0.1256",\
                 "0.1303, 0.129, 0.1276, 0.1267, 0.1263, 0.126, 0.1259, 0.1258, 0.1257, 0.1257",\
                 "0.131, 0.1297, 0.1282, 0.1273, 0.1269, 0.1267, 0.1266, 0.1265, 0.1264, 0.1264",\
                 "0.1371, 0.1355, 0.1333, 0.1319, 0.1313, 0.131, 0.1308, 0.1307, 0.1306, 0.1306",\
                 "0.151, 0.1487, 0.1452, 0.1428, 0.1416, 0.1409, 0.1405, 0.1403, 0.1401, 0.14",\
                 "0.1716, 0.1686, 0.1636, 0.1601, 0.158, 0.1567, 0.156, 0.1555, 0.1552, 0.155",\
                 "0.1988, 0.1952, 0.1886, 0.1836, 0.1804, 0.1784, 0.1772, 0.1764, 0.1759, 0.1755",\
                 "0.2317, 0.2272, 0.2191, 0.2124, 0.208, 0.2053, 0.2034, 0.2023, 0.2014, 0.2009",\
                 "0.2693, 0.2645, 0.2545, 0.2463, 0.2406, 0.2367, 0.2342, 0.2325, 0.2313, 0.2305",\
                 "0.3115, 0.3059, 0.2943, 0.2845, 0.2774, 0.2724, 0.2689, 0.2666, 0.2651, 0.2639");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1374, 0.1362, 0.1347, 0.1339, 0.1334, 0.1332, 0.133, 0.1329, 0.1329, 0.1328",\
                 "0.1377, 0.1365, 0.135, 0.1342, 0.1338, 0.1335, 0.1334, 0.1333, 0.1332, 0.1332",\
                 "0.1384, 0.1372, 0.1356, 0.1348, 0.1344, 0.1341, 0.134, 0.1339, 0.1339, 0.1338",\
                 "0.1445, 0.1429, 0.1407, 0.1394, 0.1388, 0.1384, 0.1382, 0.1381, 0.1381, 0.138",\
                 "0.1585, 0.1561, 0.1526, 0.1503, 0.149, 0.1483, 0.1479, 0.1477, 0.1475, 0.1474",\
                 "0.1792, 0.1762, 0.1712, 0.1676, 0.1655, 0.1643, 0.1635, 0.1631, 0.1627, 0.1625",\
                 "0.2062, 0.2025, 0.196, 0.191, 0.1878, 0.1859, 0.1847, 0.1838, 0.1834, 0.183",\
                 "0.2391, 0.2347, 0.2265, 0.2198, 0.2155, 0.2126, 0.2108, 0.2096, 0.2089, 0.2083",\
                 "0.2767, 0.2719, 0.2619, 0.2538, 0.2481, 0.2442, 0.2416, 0.2399, 0.2388, 0.238",\
                 "0.3189, 0.3132, 0.3017, 0.2919, 0.2848, 0.2798, 0.2765, 0.2741, 0.2726, 0.2714");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1374, 0.1362, 0.1347, 0.1339, 0.1334, 0.1332, 0.133, 0.1329, 0.1329, 0.1328",\
                 "0.1377, 0.1365, 0.135, 0.1342, 0.1338, 0.1335, 0.1334, 0.1333, 0.1332, 0.1332",\
                 "0.1384, 0.1372, 0.1356, 0.1348, 0.1344, 0.1341, 0.134, 0.1339, 0.1339, 0.1338",\
                 "0.1445, 0.1429, 0.1407, 0.1394, 0.1388, 0.1384, 0.1382, 0.1381, 0.1381, 0.138",\
                 "0.1585, 0.1561, 0.1526, 0.1503, 0.149, 0.1483, 0.1479, 0.1477, 0.1475, 0.1474",\
                 "0.1792, 0.1762, 0.1712, 0.1676, 0.1655, 0.1643, 0.1635, 0.1631, 0.1627, 0.1625",\
                 "0.2062, 0.2025, 0.196, 0.191, 0.1878, 0.1859, 0.1847, 0.1838, 0.1834, 0.183",\
                 "0.2391, 0.2347, 0.2265, 0.2198, 0.2155, 0.2126, 0.2108, 0.2096, 0.2089, 0.2083",\
                 "0.2767, 0.2719, 0.2619, 0.2538, 0.2481, 0.2442, 0.2416, 0.2399, 0.2388, 0.238",\
                 "0.3189, 0.3132, 0.3017, 0.2919, 0.2848, 0.2798, 0.2765, 0.2741, 0.2726, 0.2714");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2217, 0.2204, 0.2188, 0.2179, 0.2175, 0.2172, 0.217, 0.2169, 0.2169, 0.2168",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2173, 0.2172",\
                 "0.2227, 0.2214, 0.2197, 0.2189, 0.2184, 0.2182, 0.218, 0.2179, 0.2179, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2711, 0.2699, 0.269, 0.2685, 0.2682, 0.268",\
                 "0.3317, 0.3279, 0.3211, 0.316, 0.3127, 0.3106, 0.3094, 0.3085, 0.3079, 0.3075",\
                 "0.3885, 0.3843, 0.3758, 0.3691, 0.3645, 0.3615, 0.3596, 0.3583, 0.3575, 0.3569",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4258, 0.4218, 0.419, 0.4173, 0.4161, 0.4152",\
                 "0.5297, 0.5245, 0.5129, 0.5027, 0.4953, 0.4901, 0.4866, 0.4841, 0.4824, 0.4812");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2217, 0.2204, 0.2188, 0.2179, 0.2175, 0.2172, 0.217, 0.2169, 0.2169, 0.2168",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2173, 0.2172",\
                 "0.2227, 0.2214, 0.2197, 0.2189, 0.2184, 0.2182, 0.218, 0.2179, 0.2179, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2711, 0.2699, 0.269, 0.2685, 0.2682, 0.268",\
                 "0.3317, 0.3279, 0.3211, 0.316, 0.3127, 0.3106, 0.3094, 0.3085, 0.3079, 0.3075",\
                 "0.3885, 0.3843, 0.3758, 0.3691, 0.3645, 0.3615, 0.3596, 0.3583, 0.3575, 0.3569",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4258, 0.4218, 0.419, 0.4173, 0.4161, 0.4152",\
                 "0.5297, 0.5245, 0.5129, 0.5027, 0.4953, 0.4901, 0.4866, 0.4841, 0.4824, 0.4812");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2217, 0.2205, 0.2189, 0.218, 0.2175, 0.2172, 0.217, 0.2169, 0.2169, 0.2168",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2173, 0.2172",\
                 "0.2227, 0.2214, 0.2197, 0.2189, 0.2184, 0.2182, 0.218, 0.2179, 0.2179, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2711, 0.2698, 0.269, 0.2685, 0.2682, 0.268",\
                 "0.3317, 0.3279, 0.3211, 0.3159, 0.3127, 0.3106, 0.3094, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3843, 0.3758, 0.369, 0.3645, 0.3615, 0.3595, 0.3583, 0.3575, 0.3569",\
                 "0.4551, 0.4503, 0.4402, 0.4318, 0.4259, 0.4217, 0.4191, 0.4173, 0.4161, 0.4152",\
                 "0.5297, 0.5245, 0.5129, 0.5026, 0.4955, 0.4901, 0.4866, 0.4841, 0.4824, 0.4813");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2217, 0.2205, 0.2189, 0.218, 0.2175, 0.2172, 0.217, 0.2169, 0.2169, 0.2168",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2173, 0.2172",\
                 "0.2227, 0.2214, 0.2197, 0.2189, 0.2184, 0.2182, 0.218, 0.2179, 0.2179, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2711, 0.2698, 0.269, 0.2685, 0.2682, 0.268",\
                 "0.3317, 0.3279, 0.3211, 0.3159, 0.3127, 0.3106, 0.3094, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3843, 0.3758, 0.369, 0.3645, 0.3615, 0.3595, 0.3583, 0.3575, 0.3569",\
                 "0.4551, 0.4503, 0.4402, 0.4318, 0.4259, 0.4217, 0.4191, 0.4173, 0.4161, 0.4152",\
                 "0.5297, 0.5245, 0.5129, 0.5026, 0.4955, 0.4901, 0.4866, 0.4841, 0.4824, 0.4813");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2217, 0.2204, 0.2188, 0.2179, 0.2175, 0.2172, 0.217, 0.2169, 0.2169, 0.2168",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2173, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2189, 0.2184, 0.2181, 0.218, 0.2179, 0.2179, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.224",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2711, 0.2698, 0.2691, 0.2686, 0.2682, 0.268",\
                 "0.3317, 0.3279, 0.3211, 0.316, 0.3127, 0.3106, 0.3094, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3842, 0.3758, 0.3691, 0.3645, 0.3615, 0.3596, 0.3584, 0.3574, 0.3569",\
                 "0.4551, 0.4503, 0.4402, 0.4318, 0.4259, 0.4218, 0.4191, 0.4173, 0.4161, 0.4152",\
                 "0.5297, 0.5245, 0.5128, 0.5027, 0.4953, 0.4901, 0.4866, 0.4841, 0.4824, 0.4812");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2217, 0.2204, 0.2188, 0.2179, 0.2175, 0.2172, 0.217, 0.2169, 0.2169, 0.2168",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2173, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2189, 0.2184, 0.2181, 0.218, 0.2179, 0.2179, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.224",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2711, 0.2698, 0.2691, 0.2686, 0.2682, 0.268",\
                 "0.3317, 0.3279, 0.3211, 0.316, 0.3127, 0.3106, 0.3094, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3842, 0.3758, 0.3691, 0.3645, 0.3615, 0.3596, 0.3584, 0.3574, 0.3569",\
                 "0.4551, 0.4503, 0.4402, 0.4318, 0.4259, 0.4218, 0.4191, 0.4173, 0.4161, 0.4152",\
                 "0.5297, 0.5245, 0.5128, 0.5027, 0.4953, 0.4901, 0.4866, 0.4841, 0.4824, 0.4812");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2218, 0.2205, 0.2189, 0.218, 0.2175, 0.2173, 0.2171, 0.217, 0.2169, 0.2169",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2711, 0.2698, 0.269, 0.2686, 0.2682, 0.268",\
                 "0.3317, 0.328, 0.3211, 0.316, 0.3127, 0.3106, 0.3093, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3843, 0.3757, 0.369, 0.3645, 0.3615, 0.3596, 0.3584, 0.3575, 0.3569",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4258, 0.4219, 0.4191, 0.4173, 0.4161, 0.4153",\
                 "0.5298, 0.5246, 0.5128, 0.5029, 0.4954, 0.4902, 0.4866, 0.4842, 0.4825, 0.4813");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2218, 0.2205, 0.2189, 0.218, 0.2175, 0.2173, 0.2171, 0.217, 0.2169, 0.2169",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2711, 0.2698, 0.269, 0.2686, 0.2682, 0.268",\
                 "0.3317, 0.328, 0.3211, 0.316, 0.3127, 0.3106, 0.3093, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3843, 0.3757, 0.369, 0.3645, 0.3615, 0.3596, 0.3584, 0.3575, 0.3569",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4258, 0.4219, 0.4191, 0.4173, 0.4161, 0.4153",\
                 "0.5298, 0.5246, 0.5128, 0.5029, 0.4954, 0.4902, 0.4866, 0.4842, 0.4825, 0.4813");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2218, 0.2205, 0.2189, 0.218, 0.2175, 0.2173, 0.2171, 0.217, 0.2169, 0.2169",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2492, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2734, 0.2712, 0.2698, 0.2691, 0.2686, 0.2682, 0.268",\
                 "0.3317, 0.328, 0.3211, 0.316, 0.3127, 0.3107, 0.3094, 0.3085, 0.308, 0.3076",\
                 "0.3886, 0.3843, 0.3758, 0.3691, 0.3646, 0.3616, 0.3597, 0.3584, 0.3575, 0.3569",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4259, 0.4219, 0.4191, 0.4174, 0.4162, 0.4153",\
                 "0.5299, 0.5247, 0.5128, 0.5028, 0.4954, 0.4902, 0.4867, 0.4842, 0.4825, 0.4813");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2218, 0.2205, 0.2189, 0.218, 0.2175, 0.2173, 0.2171, 0.217, 0.2169, 0.2169",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2492, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2734, 0.2712, 0.2698, 0.2691, 0.2686, 0.2682, 0.268",\
                 "0.3317, 0.328, 0.3211, 0.316, 0.3127, 0.3107, 0.3094, 0.3085, 0.308, 0.3076",\
                 "0.3886, 0.3843, 0.3758, 0.3691, 0.3646, 0.3616, 0.3597, 0.3584, 0.3575, 0.3569",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4259, 0.4219, 0.4191, 0.4174, 0.4162, 0.4153",\
                 "0.5299, 0.5247, 0.5128, 0.5028, 0.4954, 0.4902, 0.4867, 0.4842, 0.4825, 0.4813");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2218, 0.2205, 0.2188, 0.218, 0.2175, 0.2173, 0.2171, 0.217, 0.2169, 0.2169",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2492, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2734, 0.2712, 0.2698, 0.2691, 0.2686, 0.2682, 0.268",\
                 "0.3317, 0.328, 0.3211, 0.316, 0.3127, 0.3106, 0.3094, 0.3085, 0.308, 0.3076",\
                 "0.3886, 0.3843, 0.3757, 0.3691, 0.3646, 0.3616, 0.3596, 0.3584, 0.3575, 0.3569",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4259, 0.4219, 0.4191, 0.4174, 0.4162, 0.4153",\
                 "0.5299, 0.5246, 0.5128, 0.5028, 0.4954, 0.4902, 0.4867, 0.4842, 0.4825, 0.4813");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2218, 0.2205, 0.2188, 0.218, 0.2175, 0.2173, 0.2171, 0.217, 0.2169, 0.2169",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2492, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2734, 0.2712, 0.2698, 0.2691, 0.2686, 0.2682, 0.268",\
                 "0.3317, 0.328, 0.3211, 0.316, 0.3127, 0.3106, 0.3094, 0.3085, 0.308, 0.3076",\
                 "0.3886, 0.3843, 0.3757, 0.3691, 0.3646, 0.3616, 0.3596, 0.3584, 0.3575, 0.3569",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4259, 0.4219, 0.4191, 0.4174, 0.4162, 0.4153",\
                 "0.5299, 0.5246, 0.5128, 0.5028, 0.4954, 0.4902, 0.4867, 0.4842, 0.4825, 0.4813");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2217, 0.2204, 0.2188, 0.2179, 0.2175, 0.2172, 0.217, 0.2169, 0.2169, 0.2168",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2214, 0.2197, 0.2189, 0.2184, 0.2182, 0.218, 0.2179, 0.2179, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2517, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2852, 0.2822, 0.277, 0.2733, 0.2711, 0.2698, 0.269, 0.2685, 0.2682, 0.268",\
                 "0.3317, 0.3279, 0.3211, 0.316, 0.3127, 0.3106, 0.3094, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3843, 0.3759, 0.3691, 0.3645, 0.3615, 0.3596, 0.3584, 0.3575, 0.3569",\
                 "0.4551, 0.4503, 0.4402, 0.4319, 0.4259, 0.4218, 0.419, 0.4174, 0.4161, 0.4153",\
                 "0.5297, 0.5245, 0.5129, 0.5028, 0.4953, 0.4902, 0.4866, 0.4841, 0.4825, 0.4812");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2217, 0.2204, 0.2188, 0.2179, 0.2175, 0.2172, 0.217, 0.2169, 0.2169, 0.2168",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2214, 0.2197, 0.2189, 0.2184, 0.2182, 0.218, 0.2179, 0.2179, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2517, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2852, 0.2822, 0.277, 0.2733, 0.2711, 0.2698, 0.269, 0.2685, 0.2682, 0.268",\
                 "0.3317, 0.3279, 0.3211, 0.316, 0.3127, 0.3106, 0.3094, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3843, 0.3759, 0.3691, 0.3645, 0.3615, 0.3596, 0.3584, 0.3575, 0.3569",\
                 "0.4551, 0.4503, 0.4402, 0.4319, 0.4259, 0.4218, 0.419, 0.4174, 0.4161, 0.4153",\
                 "0.5297, 0.5245, 0.5129, 0.5028, 0.4953, 0.4902, 0.4866, 0.4841, 0.4825, 0.4812");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2218, 0.2205, 0.2189, 0.218, 0.2175, 0.2173, 0.2171, 0.217, 0.2169, 0.2169",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2712, 0.2698, 0.269, 0.2685, 0.2682, 0.268",\
                 "0.3317, 0.328, 0.3211, 0.316, 0.3127, 0.3106, 0.3093, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3843, 0.3757, 0.3691, 0.3645, 0.3615, 0.3596, 0.3583, 0.3575, 0.3568",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4259, 0.4218, 0.4192, 0.4173, 0.4161, 0.4153",\
                 "0.5298, 0.5246, 0.5128, 0.5028, 0.4954, 0.4902, 0.4866, 0.4842, 0.4826, 0.4814");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.2218, 0.2205, 0.2189, 0.218, 0.2175, 0.2173, 0.2171, 0.217, 0.2169, 0.2169",\
                 "0.2221, 0.2208, 0.2192, 0.2183, 0.2179, 0.2176, 0.2174, 0.2173, 0.2172, 0.2172",\
                 "0.2227, 0.2213, 0.2197, 0.2188, 0.2184, 0.2181, 0.218, 0.2179, 0.2178, 0.2178",\
                 "0.2308, 0.2291, 0.2268, 0.2255, 0.2248, 0.2244, 0.2242, 0.2241, 0.224, 0.2239",\
                 "0.2516, 0.2493, 0.2456, 0.2432, 0.2419, 0.2411, 0.2407, 0.2404, 0.2402, 0.2401",\
                 "0.2853, 0.2822, 0.277, 0.2733, 0.2712, 0.2698, 0.269, 0.2685, 0.2682, 0.268",\
                 "0.3317, 0.328, 0.3211, 0.316, 0.3127, 0.3106, 0.3093, 0.3085, 0.3079, 0.3075",\
                 "0.3886, 0.3843, 0.3757, 0.3691, 0.3645, 0.3615, 0.3596, 0.3583, 0.3575, 0.3568",\
                 "0.4552, 0.4503, 0.4402, 0.4318, 0.4259, 0.4218, 0.4192, 0.4173, 0.4161, 0.4153",\
                 "0.5298, 0.5246, 0.5128, 0.5028, 0.4954, 0.4902, 0.4866, 0.4842, 0.4826, 0.4814");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.953, 0.9899, 1.091, 1.238, 1.44, 1.713, 2.069, 2.517, 3.064, 3.716",\
                 "0.9667, 1.004, 1.104, 1.252, 1.454, 1.726, 2.082, 2.531, 3.078, 3.729",\
                 "1.018, 1.054, 1.155, 1.303, 1.505, 1.777, 2.133, 2.581, 3.129, 3.781",\
                 "1.093, 1.13, 1.231, 1.379, 1.581, 1.853, 2.209, 2.657, 3.205, 3.856",\
                 "1.157, 1.194, 1.295, 1.442, 1.644, 1.917, 2.272, 2.721, 3.268, 3.92",\
                 "1.206, 1.242, 1.343, 1.491, 1.693, 1.965, 2.321, 2.769, 3.317, 3.969",\
                 "1.236, 1.273, 1.374, 1.521, 1.723, 1.996, 2.351, 2.8, 3.347, 3.999",\
                 "1.245, 1.282, 1.383, 1.53, 1.732, 2.005, 2.361, 2.809, 3.356, 4.008",\
                 "1.228, 1.265, 1.366, 1.514, 1.715, 1.988, 2.344, 2.792, 3.339, 3.991",\
                 "1.184, 1.222, 1.322, 1.47, 1.672, 1.944, 2.3, 2.748, 3.295, 3.947");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.9908, 1.037, 1.176, 1.408, 1.757, 2.245, 2.887, 3.695, 4.683, 5.859",\
                 "1.004, 1.05, 1.189, 1.422, 1.77, 2.258, 2.9, 3.708, 4.696, 5.874",\
                 "1.054, 1.1, 1.239, 1.472, 1.82, 2.308, 2.95, 3.759, 4.747, 5.921",\
                 "1.129, 1.175, 1.314, 1.546, 1.895, 2.383, 3.025, 3.833, 4.82, 5.999",\
                 "1.191, 1.237, 1.376, 1.609, 1.957, 2.445, 3.087, 3.896, 4.883, 6.06",\
                 "1.239, 1.286, 1.424, 1.657, 2.006, 2.494, 3.135, 3.943, 4.93, 6.109",\
                 "1.27, 1.317, 1.455, 1.688, 2.037, 2.524, 3.165, 3.975, 4.963, 6.139",\
                 "1.281, 1.327, 1.466, 1.698, 2.047, 2.535, 3.176, 3.984, 4.971, 6.149",\
                 "1.267, 1.313, 1.452, 1.685, 2.033, 2.521, 3.162, 3.97, 4.957, 6.132",\
                 "1.228, 1.275, 1.413, 1.646, 1.995, 2.482, 3.124, 3.932, 4.919, 6.094");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1282, 0.165, 0.272, 0.4522, 0.7492, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1281, 0.1652, 0.272, 0.4522, 0.7494, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1286, 0.165, 0.272, 0.4534, 0.7506, 1.19, 1.784, 2.537, 3.457, 4.558",\
                 "0.1282, 0.1652, 0.272, 0.4528, 0.749, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1278, 0.1648, 0.272, 0.4528, 0.7498, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1278, 0.1648, 0.272, 0.453, 0.749, 1.19, 1.783, 2.534, 3.46, 4.55",\
                 "0.128, 0.165, 0.272, 0.4522, 0.7492, 1.191, 1.782, 2.534, 3.455, 4.555",\
                 "0.1284, 0.1646, 0.272, 0.4524, 0.7492, 1.192, 1.781, 2.533, 3.45, 4.545",\
                 "0.128, 0.1646, 0.272, 0.4524, 0.749, 1.19, 1.781, 2.534, 3.453, 4.544",\
                 "0.128, 0.1646, 0.272, 0.4522, 0.7494, 1.19, 1.783, 2.536, 3.451, 4.548");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1589, 0.2184, 0.4128, 0.7772, 1.377, 2.235, 3.366, 4.791, 6.534, 8.614",\
                 "0.1592, 0.2186, 0.4128, 0.7766, 1.376, 2.233, 3.364, 4.791, 6.532, 8.609",\
                 "0.1584, 0.2186, 0.4128, 0.7766, 1.377, 2.235, 3.364, 4.791, 6.535, 8.609",\
                 "0.1588, 0.2182, 0.4126, 0.7764, 1.376, 2.233, 3.365, 4.791, 6.531, 8.605",\
                 "0.158, 0.2186, 0.4126, 0.7766, 1.376, 2.234, 3.364, 4.791, 6.533, 8.618",\
                 "0.1592, 0.2186, 0.4126, 0.778, 1.379, 2.234, 3.364, 4.79, 6.529, 8.608",\
                 "0.159, 0.218, 0.4124, 0.7778, 1.377, 2.233, 3.367, 4.79, 6.534, 8.614",\
                 "0.1588, 0.2184, 0.4128, 0.777, 1.377, 2.232, 3.362, 4.791, 6.532, 8.61",\
                 "0.1582, 0.2186, 0.4122, 0.7768, 1.379, 2.234, 3.366, 4.787, 6.528, 8.6",\
                 "0.1586, 0.2184, 0.4132, 0.7766, 1.376, 2.233, 3.364, 4.789, 6.526, 8.6");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.953, 0.9898, 1.091, 1.239, 1.44, 1.713, 2.069, 2.517, 3.064, 3.716",\
                 "0.9667, 1.004, 1.104, 1.252, 1.454, 1.726, 2.082, 2.531, 3.078, 3.729",\
                 "1.017, 1.054, 1.155, 1.303, 1.505, 1.777, 2.133, 2.581, 3.129, 3.781",\
                 "1.093, 1.13, 1.231, 1.379, 1.581, 1.853, 2.209, 2.657, 3.205, 3.856",\
                 "1.157, 1.194, 1.295, 1.442, 1.644, 1.917, 2.272, 2.721, 3.268, 3.921",\
                 "1.206, 1.242, 1.343, 1.491, 1.693, 1.965, 2.321, 2.769, 3.317, 3.969",\
                 "1.236, 1.273, 1.374, 1.521, 1.723, 1.996, 2.352, 2.799, 3.346, 3.999",\
                 "1.245, 1.282, 1.383, 1.53, 1.732, 2.005, 2.361, 2.809, 3.356, 4.007",\
                 "1.228, 1.265, 1.366, 1.514, 1.716, 1.988, 2.344, 2.792, 3.339, 3.991",\
                 "1.184, 1.221, 1.322, 1.47, 1.672, 1.944, 2.3, 2.748, 3.295, 3.947");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.9905, 1.037, 1.176, 1.408, 1.757, 2.245, 2.887, 3.695, 4.683, 5.86",\
                 "1.004, 1.05, 1.189, 1.422, 1.77, 2.258, 2.9, 3.708, 4.695, 5.874",\
                 "1.054, 1.1, 1.239, 1.472, 1.82, 2.308, 2.95, 3.759, 4.747, 5.921",\
                 "1.129, 1.175, 1.314, 1.546, 1.895, 2.383, 3.024, 3.833, 4.82, 5.998",\
                 "1.191, 1.238, 1.376, 1.609, 1.957, 2.445, 3.087, 3.896, 4.884, 6.059",\
                 "1.239, 1.286, 1.424, 1.657, 2.005, 2.493, 3.135, 3.944, 4.931, 6.109",\
                 "1.271, 1.317, 1.456, 1.688, 2.037, 2.524, 3.166, 3.975, 4.962, 6.139",\
                 "1.281, 1.327, 1.466, 1.698, 2.047, 2.535, 3.176, 3.984, 4.971, 6.147",\
                 "1.267, 1.313, 1.452, 1.685, 2.033, 2.521, 3.162, 3.971, 4.957, 6.132",\
                 "1.228, 1.274, 1.413, 1.646, 1.995, 2.482, 3.124, 3.932, 4.919, 6.095");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1282, 0.165, 0.2718, 0.4522, 0.7492, 1.191, 1.784, 2.537, 3.453, 4.558",\
                 "0.1282, 0.1652, 0.272, 0.4522, 0.749, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1282, 0.1652, 0.272, 0.4524, 0.7492, 1.191, 1.784, 2.536, 3.458, 4.558",\
                 "0.1282, 0.1648, 0.272, 0.4522, 0.749, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1278, 0.1648, 0.272, 0.4528, 0.749, 1.19, 1.784, 2.534, 3.459, 4.555",\
                 "0.1278, 0.165, 0.272, 0.4524, 0.749, 1.19, 1.784, 2.535, 3.46, 4.551",\
                 "0.1278, 0.1652, 0.272, 0.4522, 0.7492, 1.19, 1.781, 2.532, 3.453, 4.55",\
                 "0.128, 0.1646, 0.272, 0.4524, 0.7494, 1.191, 1.781, 2.534, 3.45, 4.547",\
                 "0.1284, 0.165, 0.272, 0.4522, 0.7492, 1.191, 1.781, 2.534, 3.453, 4.543",\
                 "0.128, 0.165, 0.272, 0.4522, 0.7496, 1.191, 1.781, 2.536, 3.453, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1591, 0.2186, 0.4128, 0.7774, 1.377, 2.234, 3.365, 4.791, 6.533, 8.609",\
                 "0.159, 0.2184, 0.4126, 0.7764, 1.376, 2.233, 3.363, 4.791, 6.531, 8.608",\
                 "0.159, 0.2186, 0.4128, 0.777, 1.377, 2.237, 3.365, 4.791, 6.535, 8.608",\
                 "0.1588, 0.2184, 0.4124, 0.7766, 1.376, 2.233, 3.363, 4.791, 6.532, 8.609",\
                 "0.158, 0.2182, 0.4126, 0.7772, 1.377, 2.236, 3.366, 4.791, 6.534, 8.611",\
                 "0.1588, 0.2184, 0.4124, 0.778, 1.376, 2.233, 3.364, 4.792, 6.534, 8.607",\
                 "0.158, 0.218, 0.4122, 0.7766, 1.378, 2.233, 3.368, 4.79, 6.534, 8.616",\
                 "0.1582, 0.2184, 0.4122, 0.777, 1.377, 2.232, 3.362, 4.789, 6.531, 8.602",\
                 "0.159, 0.218, 0.4128, 0.7772, 1.379, 2.234, 3.367, 4.787, 6.526, 8.602",\
                 "0.159, 0.2182, 0.4128, 0.7768, 1.376, 2.235, 3.364, 4.793, 6.525, 8.6");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.9531, 0.99, 1.091, 1.239, 1.44, 1.713, 2.069, 2.517, 3.064, 3.716",\
                 "0.9667, 1.004, 1.104, 1.252, 1.454, 1.726, 2.082, 2.53, 3.078, 3.73",\
                 "1.017, 1.054, 1.155, 1.303, 1.505, 1.777, 2.133, 2.581, 3.129, 3.78",\
                 "1.094, 1.131, 1.231, 1.379, 1.581, 1.853, 2.209, 2.657, 3.205, 3.857",\
                 "1.157, 1.194, 1.295, 1.442, 1.644, 1.917, 2.273, 2.721, 3.268, 3.921",\
                 "1.206, 1.243, 1.343, 1.491, 1.693, 1.965, 2.321, 2.77, 3.317, 3.969",\
                 "1.237, 1.273, 1.374, 1.522, 1.724, 1.996, 2.352, 2.8, 3.347, 3.999",\
                 "1.245, 1.282, 1.383, 1.53, 1.732, 2.005, 2.361, 2.809, 3.356, 4.008",\
                 "1.228, 1.265, 1.366, 1.514, 1.715, 1.988, 2.344, 2.792, 3.339, 3.991",\
                 "1.184, 1.221, 1.322, 1.47, 1.672, 1.944, 2.3, 2.748, 3.295, 3.947");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.9905, 1.037, 1.176, 1.408, 1.757, 2.245, 2.886, 3.695, 4.682, 5.86",\
                 "1.004, 1.05, 1.189, 1.422, 1.77, 2.258, 2.9, 3.708, 4.695, 5.874",\
                 "1.054, 1.1, 1.239, 1.472, 1.82, 2.308, 2.95, 3.759, 4.747, 5.921",\
                 "1.129, 1.175, 1.314, 1.546, 1.895, 2.383, 3.024, 3.834, 4.822, 5.999",\
                 "1.191, 1.238, 1.376, 1.609, 1.957, 2.445, 3.087, 3.896, 4.884, 6.059",\
                 "1.239, 1.286, 1.424, 1.657, 2.005, 2.493, 3.135, 3.944, 4.932, 6.107",\
                 "1.271, 1.317, 1.455, 1.688, 2.037, 2.524, 3.166, 3.975, 4.962, 6.139",\
                 "1.281, 1.327, 1.466, 1.698, 2.047, 2.535, 3.176, 3.984, 4.971, 6.149",\
                 "1.267, 1.313, 1.452, 1.685, 2.033, 2.521, 3.162, 3.971, 4.957, 6.132",\
                 "1.228, 1.274, 1.413, 1.646, 1.995, 2.482, 3.124, 3.932, 4.919, 6.094");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1282, 0.1651, 0.272, 0.4524, 0.75, 1.191, 1.784, 2.537, 3.457, 4.557",\
                 "0.1283, 0.165, 0.272, 0.4532, 0.7508, 1.19, 1.783, 2.538, 3.458, 4.557",\
                 "0.128, 0.1652, 0.2722, 0.453, 0.7496, 1.19, 1.783, 2.538, 3.453, 4.557",\
                 "0.128, 0.165, 0.272, 0.4522, 0.7506, 1.191, 1.784, 2.534, 3.457, 4.553",\
                 "0.1276, 0.165, 0.2722, 0.453, 0.7492, 1.191, 1.782, 2.537, 3.459, 4.556",\
                 "0.1284, 0.165, 0.272, 0.4532, 0.7498, 1.19, 1.784, 2.535, 3.459, 4.552",\
                 "0.128, 0.1648, 0.2722, 0.4522, 0.749, 1.19, 1.782, 2.534, 3.455, 4.556",\
                 "0.1286, 0.1648, 0.272, 0.4524, 0.7492, 1.192, 1.782, 2.532, 3.449, 4.547",\
                 "0.1278, 0.1648, 0.272, 0.4522, 0.749, 1.191, 1.782, 2.535, 3.453, 4.543",\
                 "0.1278, 0.1648, 0.272, 0.4524, 0.7492, 1.191, 1.781, 2.535, 3.454, 4.546");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1591, 0.2186, 0.4128, 0.7764, 1.376, 2.236, 3.363, 4.791, 6.533, 8.609",\
                 "0.159, 0.2184, 0.4126, 0.7764, 1.376, 2.233, 3.363, 4.791, 6.531, 8.608",\
                 "0.1588, 0.2184, 0.4128, 0.777, 1.377, 2.236, 3.365, 4.791, 6.535, 8.609",\
                 "0.1588, 0.2182, 0.4124, 0.7764, 1.376, 2.234, 3.363, 4.79, 6.534, 8.606",\
                 "0.1578, 0.2182, 0.4126, 0.7772, 1.377, 2.236, 3.366, 4.791, 6.534, 8.614",\
                 "0.1588, 0.2182, 0.4124, 0.7782, 1.376, 2.235, 3.364, 4.792, 6.534, 8.613",\
                 "0.158, 0.218, 0.4124, 0.7764, 1.377, 2.233, 3.368, 4.79, 6.534, 8.616",\
                 "0.1586, 0.218, 0.4122, 0.777, 1.377, 2.232, 3.363, 4.791, 6.527, 8.606",\
                 "0.1582, 0.2182, 0.4122, 0.7772, 1.379, 2.234, 3.367, 4.788, 6.53, 8.6",\
                 "0.159, 0.2182, 0.4126, 0.7768, 1.376, 2.235, 3.364, 4.793, 6.526, 8.6");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.9529, 0.9899, 1.091, 1.238, 1.44, 1.713, 2.069, 2.517, 3.064, 3.716",\
                 "0.9667, 1.004, 1.104, 1.252, 1.454, 1.726, 2.082, 2.531, 3.078, 3.73",\
                 "1.017, 1.054, 1.155, 1.303, 1.505, 1.777, 2.133, 2.581, 3.128, 3.78",\
                 "1.094, 1.13, 1.231, 1.379, 1.581, 1.853, 2.209, 2.657, 3.205, 3.857",\
                 "1.157, 1.194, 1.295, 1.442, 1.644, 1.917, 2.272, 2.721, 3.268, 3.92",\
                 "1.205, 1.243, 1.343, 1.491, 1.693, 1.965, 2.321, 2.769, 3.317, 3.969",\
                 "1.237, 1.274, 1.374, 1.522, 1.724, 1.996, 2.352, 2.8, 3.347, 4",\
                 "1.245, 1.282, 1.383, 1.53, 1.732, 2.005, 2.361, 2.809, 3.356, 4.008",\
                 "1.228, 1.265, 1.366, 1.514, 1.715, 1.988, 2.344, 2.792, 3.339, 3.991",\
                 "1.184, 1.221, 1.322, 1.47, 1.672, 1.944, 2.3, 2.748, 3.295, 3.947");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.9908, 1.037, 1.176, 1.408, 1.757, 2.245, 2.887, 3.695, 4.684, 5.859",\
                 "1.004, 1.05, 1.189, 1.422, 1.77, 2.258, 2.9, 3.709, 4.698, 5.871",\
                 "1.054, 1.1, 1.239, 1.472, 1.82, 2.308, 2.95, 3.758, 4.746, 5.923",\
                 "1.129, 1.175, 1.314, 1.546, 1.895, 2.383, 3.025, 3.834, 4.822, 5.997",\
                 "1.191, 1.238, 1.376, 1.609, 1.957, 2.445, 3.087, 3.895, 4.882, 6.06",\
                 "1.239, 1.286, 1.424, 1.657, 2.006, 2.494, 3.135, 3.943, 4.93, 6.109",\
                 "1.271, 1.317, 1.456, 1.688, 2.037, 2.525, 3.166, 3.975, 4.962, 6.139",\
                 "1.281, 1.327, 1.466, 1.698, 2.047, 2.535, 3.176, 3.984, 4.971, 6.149",\
                 "1.267, 1.313, 1.452, 1.685, 2.033, 2.521, 3.163, 3.971, 4.957, 6.133",\
                 "1.228, 1.274, 1.413, 1.645, 1.994, 2.482, 3.123, 3.932, 4.919, 6.095");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1279, 0.165, 0.2722, 0.4522, 0.7504, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1282, 0.1652, 0.272, 0.4528, 0.7492, 1.191, 1.784, 2.537, 3.456, 4.558",\
                 "0.1282, 0.165, 0.2722, 0.4526, 0.7498, 1.19, 1.783, 2.537, 3.458, 4.557",\
                 "0.1278, 0.165, 0.272, 0.4522, 0.7504, 1.191, 1.784, 2.534, 3.457, 4.553",\
                 "0.1278, 0.1648, 0.272, 0.4528, 0.7496, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1282, 0.1648, 0.2722, 0.4522, 0.749, 1.19, 1.783, 2.534, 3.459, 4.552",\
                 "0.128, 0.1652, 0.272, 0.4522, 0.7498, 1.189, 1.781, 2.533, 3.454, 4.548",\
                 "0.1286, 0.1646, 0.272, 0.4522, 0.749, 1.191, 1.782, 2.533, 3.45, 4.547",\
                 "0.1282, 0.165, 0.272, 0.4524, 0.7492, 1.191, 1.782, 2.534, 3.45, 4.543",\
                 "0.128, 0.1646, 0.272, 0.4524, 0.7494, 1.191, 1.783, 2.536, 3.451, 4.548");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1588, 0.2184, 0.4128, 0.777, 1.377, 2.235, 3.365, 4.791, 6.534, 8.614",\
                 "0.159, 0.2184, 0.4128, 0.7772, 1.377, 2.237, 3.365, 4.79, 6.535, 8.607",\
                 "0.1584, 0.2186, 0.4128, 0.7766, 1.376, 2.233, 3.363, 4.791, 6.532, 8.609",\
                 "0.159, 0.2182, 0.4126, 0.7764, 1.377, 2.236, 3.366, 4.791, 6.534, 8.612",\
                 "0.1578, 0.2184, 0.4126, 0.7772, 1.377, 2.233, 3.364, 4.791, 6.532, 8.609",\
                 "0.1592, 0.2184, 0.4126, 0.7778, 1.379, 2.234, 3.364, 4.79, 6.529, 8.608",\
                 "0.158, 0.2186, 0.4124, 0.777, 1.376, 2.233, 3.368, 4.79, 6.534, 8.617",\
                 "0.1588, 0.2184, 0.4128, 0.7768, 1.377, 2.232, 3.362, 4.789, 6.532, 8.604",\
                 "0.159, 0.2184, 0.413, 0.7778, 1.376, 2.234, 3.369, 4.788, 6.528, 8.6",\
                 "0.158, 0.2186, 0.413, 0.7766, 1.376, 2.235, 3.365, 4.787, 6.526, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.9529, 0.9899, 1.091, 1.238, 1.44, 1.713, 2.069, 2.517, 3.064, 3.716",\
                 "0.9667, 1.004, 1.104, 1.252, 1.454, 1.726, 2.082, 2.531, 3.078, 3.73",\
                 "1.017, 1.054, 1.155, 1.303, 1.505, 1.777, 2.133, 2.581, 3.128, 3.78",\
                 "1.094, 1.13, 1.231, 1.379, 1.581, 1.853, 2.209, 2.657, 3.205, 3.857",\
                 "1.157, 1.194, 1.295, 1.442, 1.644, 1.917, 2.272, 2.721, 3.268, 3.92",\
                 "1.205, 1.243, 1.343, 1.491, 1.693, 1.965, 2.321, 2.769, 3.317, 3.969",\
                 "1.237, 1.274, 1.374, 1.522, 1.724, 1.996, 2.352, 2.8, 3.347, 4",\
                 "1.245, 1.282, 1.383, 1.53, 1.732, 2.005, 2.361, 2.809, 3.356, 4.008",\
                 "1.228, 1.265, 1.366, 1.514, 1.715, 1.988, 2.344, 2.792, 3.339, 3.991",\
                 "1.184, 1.221, 1.322, 1.47, 1.672, 1.944, 2.3, 2.748, 3.295, 3.947");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.9905, 1.037, 1.176, 1.408, 1.757, 2.245, 2.886, 3.695, 4.682, 5.86",\
                 "1.004, 1.05, 1.189, 1.422, 1.77, 2.258, 2.9, 3.708, 4.695, 5.874",\
                 "1.054, 1.1, 1.239, 1.472, 1.82, 2.308, 2.95, 3.759, 4.747, 5.921",\
                 "1.129, 1.175, 1.314, 1.546, 1.895, 2.383, 3.024, 3.834, 4.822, 5.999",\
                 "1.191, 1.238, 1.376, 1.609, 1.957, 2.445, 3.087, 3.896, 4.884, 6.059",\
                 "1.239, 1.286, 1.424, 1.657, 2.005, 2.493, 3.135, 3.944, 4.932, 6.107",\
                 "1.271, 1.317, 1.455, 1.688, 2.037, 2.524, 3.166, 3.975, 4.962, 6.139",\
                 "1.281, 1.327, 1.466, 1.698, 2.047, 2.535, 3.176, 3.984, 4.971, 6.149",\
                 "1.267, 1.313, 1.452, 1.685, 2.033, 2.521, 3.162, 3.971, 4.957, 6.132",\
                 "1.228, 1.274, 1.413, 1.646, 1.995, 2.482, 3.124, 3.932, 4.919, 6.094");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1282, 0.165, 0.272, 0.4522, 0.7492, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1281, 0.1652, 0.272, 0.4522, 0.7494, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1286, 0.165, 0.272, 0.4534, 0.7506, 1.19, 1.784, 2.537, 3.457, 4.558",\
                 "0.1282, 0.1652, 0.272, 0.4528, 0.749, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1278, 0.1648, 0.272, 0.4528, 0.7498, 1.191, 1.784, 2.537, 3.454, 4.558",\
                 "0.1278, 0.1648, 0.272, 0.453, 0.749, 1.19, 1.783, 2.534, 3.46, 4.55",\
                 "0.128, 0.165, 0.272, 0.4522, 0.7492, 1.191, 1.782, 2.534, 3.455, 4.555",\
                 "0.1284, 0.1646, 0.272, 0.4524, 0.7492, 1.192, 1.781, 2.533, 3.45, 4.545",\
                 "0.128, 0.1646, 0.272, 0.4524, 0.749, 1.19, 1.781, 2.534, 3.453, 4.544",\
                 "0.128, 0.1646, 0.272, 0.4522, 0.7494, 1.19, 1.783, 2.536, 3.451, 4.548");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1589, 0.2184, 0.4128, 0.7772, 1.377, 2.235, 3.366, 4.791, 6.534, 8.614",\
                 "0.1592, 0.2186, 0.4128, 0.7766, 1.376, 2.233, 3.364, 4.791, 6.532, 8.609",\
                 "0.1584, 0.2186, 0.4128, 0.7766, 1.377, 2.235, 3.364, 4.791, 6.535, 8.609",\
                 "0.1588, 0.2182, 0.4126, 0.7764, 1.376, 2.233, 3.365, 4.791, 6.531, 8.605",\
                 "0.158, 0.2186, 0.4126, 0.7766, 1.376, 2.234, 3.364, 4.791, 6.533, 8.618",\
                 "0.1592, 0.2186, 0.4126, 0.778, 1.379, 2.234, 3.364, 4.79, 6.529, 8.608",\
                 "0.159, 0.218, 0.4124, 0.7778, 1.377, 2.233, 3.367, 4.79, 6.534, 8.614",\
                 "0.1588, 0.2184, 0.4128, 0.777, 1.377, 2.232, 3.362, 4.791, 6.532, 8.61",\
                 "0.1582, 0.2186, 0.4122, 0.7768, 1.379, 2.234, 3.366, 4.787, 6.528, 8.6",\
                 "0.1586, 0.2184, 0.4132, 0.7766, 1.376, 2.233, 3.364, 4.789, 6.526, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.347, 0.3844, 0.4849, 0.633, 0.8331, 1.104, 1.459, 1.907, 2.454, 3.106",\
                 "0.3638, 0.4013, 0.5018, 0.6499, 0.85, 1.121, 1.476, 1.924, 2.471, 3.123",\
                 "0.431, 0.4684, 0.5687, 0.7168, 0.917, 1.188, 1.543, 1.991, 2.538, 3.192",\
                 "0.5645, 0.6019, 0.7025, 0.8506, 1.05, 1.321, 1.676, 2.124, 2.672, 3.323",\
                 "0.7373, 0.7783, 0.8852, 1.037, 1.237, 1.507, 1.862, 2.309, 2.857, 3.509",\
                 "0.9407, 0.9856, 1.1, 1.257, 1.458, 1.727, 2.081, 2.528, 3.075, 3.728",\
                 "1.177, 1.225, 1.348, 1.511, 1.712, 1.98, 2.333, 2.78, 3.326, 3.978",\
                 "1.445, 1.497, 1.63, 1.799, 2, 2.267, 2.619, 3.065, 3.611, 4.262",\
                 "1.747, 1.804, 1.946, 2.122, 2.323, 2.588, 2.939, 3.384, 3.929, 4.58",\
                 "2.085, 2.146, 2.296, 2.479, 2.68, 2.943, 3.293, 3.737, 4.281, 4.93");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.13, 0.1654, 0.2721, 0.4497, 0.7415, 1.183, 1.778, 2.532, 3.449, 4.551",\
                 "0.1301, 0.1657, 0.2719, 0.45, 0.7419, 1.182, 1.778, 2.532, 3.449, 4.551",\
                 "0.13, 0.1658, 0.2719, 0.4498, 0.7415, 1.182, 1.776, 2.532, 3.454, 4.555",\
                 "0.1367, 0.171, 0.2758, 0.4512, 0.7418, 1.183, 1.778, 2.531, 3.451, 4.549",\
                 "0.1604, 0.196, 0.2972, 0.462, 0.744, 1.183, 1.778, 2.53, 3.454, 4.55",\
                 "0.1864, 0.223, 0.322, 0.4786, 0.7496, 1.183, 1.777, 2.529, 3.455, 4.555",\
                 "0.216, 0.2556, 0.353, 0.4958, 0.7548, 1.186, 1.778, 2.528, 3.45, 4.548",\
                 "0.2462, 0.289, 0.3882, 0.5158, 0.76, 1.187, 1.777, 2.529, 3.446, 4.543",\
                 "0.2788, 0.3238, 0.4256, 0.538, 0.7668, 1.187, 1.78, 2.531, 3.45, 4.541",\
                 "0.3118, 0.361, 0.4642, 0.5608, 0.7732, 1.188, 1.779, 2.533, 3.45, 4.541");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3469, 0.3844, 0.4849, 0.633, 0.8331, 1.104, 1.459, 1.907, 2.454, 3.106",\
                 "0.3638, 0.4013, 0.5018, 0.6499, 0.85, 1.121, 1.476, 1.924, 2.471, 3.123",\
                 "0.431, 0.4684, 0.5687, 0.7168, 0.917, 1.188, 1.543, 1.991, 2.538, 3.192",\
                 "0.5645, 0.6019, 0.7025, 0.8506, 1.05, 1.321, 1.676, 2.124, 2.672, 3.323",\
                 "0.7373, 0.7783, 0.8852, 1.037, 1.237, 1.507, 1.862, 2.309, 2.857, 3.509",\
                 "0.9407, 0.9856, 1.1, 1.257, 1.458, 1.727, 2.081, 2.528, 3.075, 3.728",\
                 "1.177, 1.225, 1.348, 1.511, 1.712, 1.98, 2.333, 2.78, 3.326, 3.978",\
                 "1.444, 1.498, 1.63, 1.799, 2, 2.267, 2.619, 3.065, 3.611, 4.262",\
                 "1.747, 1.804, 1.946, 2.122, 2.323, 2.588, 2.939, 3.384, 3.929, 4.58",\
                 "2.085, 2.146, 2.296, 2.479, 2.68, 2.943, 3.293, 3.736, 4.281, 4.93");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1301, 0.1653, 0.2721, 0.4496, 0.7415, 1.183, 1.778, 2.532, 3.449, 4.552",\
                 "0.13, 0.1657, 0.2719, 0.45, 0.7419, 1.182, 1.778, 2.532, 3.449, 4.551",\
                 "0.13, 0.1658, 0.2719, 0.4499, 0.7415, 1.183, 1.776, 2.532, 3.454, 4.555",\
                 "0.1367, 0.171, 0.2758, 0.4512, 0.7418, 1.183, 1.778, 2.531, 3.451, 4.549",\
                 "0.1604, 0.196, 0.2972, 0.462, 0.7442, 1.183, 1.778, 2.53, 3.454, 4.55",\
                 "0.1864, 0.223, 0.322, 0.4786, 0.7498, 1.183, 1.777, 2.529, 3.455, 4.555",\
                 "0.216, 0.2556, 0.353, 0.4958, 0.7544, 1.185, 1.778, 2.528, 3.45, 4.548",\
                 "0.247, 0.2888, 0.3882, 0.5156, 0.7598, 1.186, 1.778, 2.529, 3.446, 4.544",\
                 "0.2788, 0.3234, 0.4256, 0.538, 0.7666, 1.187, 1.78, 2.53, 3.45, 4.543",\
                 "0.3118, 0.3598, 0.4642, 0.5608, 0.7732, 1.189, 1.778, 2.531, 3.448, 4.543");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.347, 0.3844, 0.4849, 0.633, 0.8331, 1.104, 1.459, 1.907, 2.454, 3.106",\
                 "0.3638, 0.4013, 0.5018, 0.6499, 0.85, 1.121, 1.476, 1.924, 2.471, 3.123",\
                 "0.431, 0.4684, 0.5687, 0.7168, 0.917, 1.188, 1.543, 1.991, 2.538, 3.192",\
                 "0.5645, 0.6019, 0.7025, 0.8506, 1.05, 1.321, 1.676, 2.124, 2.672, 3.323",\
                 "0.7373, 0.7783, 0.8852, 1.037, 1.237, 1.507, 1.862, 2.309, 2.857, 3.509",\
                 "0.9407, 0.9856, 1.1, 1.257, 1.458, 1.727, 2.081, 2.528, 3.075, 3.728",\
                 "1.177, 1.225, 1.348, 1.511, 1.712, 1.98, 2.333, 2.78, 3.326, 3.978",\
                 "1.445, 1.497, 1.63, 1.799, 2, 2.267, 2.619, 3.065, 3.611, 4.262",\
                 "1.747, 1.804, 1.946, 2.122, 2.323, 2.588, 2.939, 3.384, 3.929, 4.58",\
                 "2.085, 2.145, 2.297, 2.479, 2.68, 2.944, 3.293, 3.737, 4.281, 4.932");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1299, 0.1653, 0.2721, 0.45, 0.7415, 1.183, 1.778, 2.532, 3.449, 4.552",\
                 "0.1301, 0.1657, 0.2719, 0.45, 0.7419, 1.182, 1.778, 2.532, 3.449, 4.551",\
                 "0.13, 0.1658, 0.2719, 0.4499, 0.7417, 1.183, 1.776, 2.532, 3.454, 4.555",\
                 "0.1367, 0.171, 0.2758, 0.4512, 0.7418, 1.183, 1.778, 2.531, 3.451, 4.549",\
                 "0.1604, 0.196, 0.2972, 0.462, 0.744, 1.183, 1.778, 2.53, 3.454, 4.55",\
                 "0.1864, 0.223, 0.322, 0.4786, 0.7496, 1.183, 1.777, 2.529, 3.455, 4.553",\
                 "0.216, 0.2556, 0.353, 0.4958, 0.7546, 1.185, 1.778, 2.528, 3.45, 4.548",\
                 "0.247, 0.2888, 0.388, 0.5152, 0.76, 1.186, 1.779, 2.529, 3.446, 4.544",\
                 "0.278, 0.323, 0.4252, 0.538, 0.7668, 1.187, 1.78, 2.531, 3.45, 4.541",\
                 "0.3122, 0.3608, 0.4634, 0.5608, 0.7734, 1.188, 1.778, 2.534, 3.448, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3471, 0.3843, 0.4849, 0.633, 0.8331, 1.104, 1.459, 1.907, 2.454, 3.107",\
                 "0.3639, 0.4013, 0.5018, 0.6499, 0.85, 1.121, 1.476, 1.924, 2.471, 3.123",\
                 "0.4311, 0.4682, 0.5687, 0.7168, 0.917, 1.188, 1.543, 1.991, 2.538, 3.192",\
                 "0.5645, 0.6021, 0.7025, 0.8504, 1.05, 1.321, 1.676, 2.124, 2.672, 3.323",\
                 "0.7371, 0.7785, 0.8852, 1.037, 1.237, 1.507, 1.862, 2.309, 2.857, 3.507",\
                 "0.9406, 0.9856, 1.1, 1.257, 1.457, 1.727, 2.081, 2.528, 3.075, 3.728",\
                 "1.176, 1.225, 1.348, 1.511, 1.712, 1.98, 2.333, 2.78, 3.326, 3.978",\
                 "1.445, 1.497, 1.63, 1.799, 2, 2.267, 2.619, 3.065, 3.611, 4.262",\
                 "1.747, 1.804, 1.946, 2.122, 2.323, 2.588, 2.939, 3.384, 3.929, 4.58",\
                 "2.085, 2.146, 2.297, 2.479, 2.68, 2.944, 3.293, 3.737, 4.281, 4.931");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.13, 0.1654, 0.272, 0.4497, 0.7416, 1.183, 1.778, 2.532, 3.452, 4.554",\
                 "0.1301, 0.1653, 0.272, 0.45, 0.7414, 1.183, 1.778, 2.532, 3.449, 4.551",\
                 "0.13, 0.1655, 0.2721, 0.4499, 0.7415, 1.183, 1.778, 2.532, 3.453, 4.555",\
                 "0.1366, 0.1708, 0.2756, 0.451, 0.7416, 1.183, 1.778, 2.53, 3.451, 4.55",\
                 "0.1612, 0.1954, 0.2964, 0.4622, 0.744, 1.183, 1.778, 2.529, 3.453, 4.552",\
                 "0.1876, 0.2228, 0.3226, 0.4782, 0.7494, 1.183, 1.778, 2.529, 3.454, 4.554",\
                 "0.2162, 0.2546, 0.3526, 0.495, 0.7546, 1.185, 1.777, 2.53, 3.446, 4.549",\
                 "0.246, 0.2892, 0.388, 0.5156, 0.76, 1.186, 1.778, 2.529, 3.447, 4.544",\
                 "0.2782, 0.324, 0.4254, 0.538, 0.7662, 1.188, 1.778, 2.53, 3.447, 4.54",\
                 "0.3112, 0.36, 0.4638, 0.5608, 0.7732, 1.188, 1.779, 2.533, 3.45, 4.541");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.347, 0.3844, 0.4849, 0.633, 0.8331, 1.104, 1.459, 1.907, 2.454, 3.106",\
                 "0.3639, 0.4014, 0.5018, 0.6499, 0.85, 1.121, 1.476, 1.924, 2.471, 3.123",\
                 "0.4311, 0.4682, 0.5687, 0.7168, 0.917, 1.188, 1.543, 1.991, 2.538, 3.192",\
                 "0.5645, 0.6021, 0.7025, 0.8504, 1.05, 1.321, 1.676, 2.124, 2.671, 3.323",\
                 "0.7372, 0.7784, 0.8851, 1.037, 1.237, 1.507, 1.861, 2.309, 2.856, 3.509",\
                 "0.9405, 0.9856, 1.1, 1.257, 1.457, 1.727, 2.081, 2.528, 3.075, 3.728",\
                 "1.176, 1.225, 1.348, 1.511, 1.712, 1.98, 2.333, 2.78, 3.326, 3.977",\
                 "1.445, 1.497, 1.63, 1.799, 2, 2.267, 2.619, 3.065, 3.611, 4.262",\
                 "1.747, 1.804, 1.946, 2.122, 2.323, 2.588, 2.939, 3.384, 3.929, 4.58",\
                 "2.085, 2.146, 2.296, 2.479, 2.68, 2.944, 3.293, 3.737, 4.281, 4.931");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1301, 0.1653, 0.2719, 0.45, 0.7414, 1.183, 1.778, 2.531, 3.449, 4.549",\
                 "0.13, 0.1654, 0.2719, 0.45, 0.7414, 1.183, 1.778, 2.532, 3.449, 4.552",\
                 "0.13, 0.1655, 0.2721, 0.4499, 0.7415, 1.183, 1.778, 2.532, 3.453, 4.555",\
                 "0.1367, 0.1708, 0.2756, 0.451, 0.7416, 1.183, 1.778, 2.531, 3.45, 4.55",\
                 "0.1608, 0.1956, 0.297, 0.4622, 0.7442, 1.183, 1.777, 2.532, 3.452, 4.554",\
                 "0.1868, 0.2228, 0.3226, 0.4778, 0.7494, 1.183, 1.778, 2.529, 3.454, 4.554",\
                 "0.2162, 0.2546, 0.3528, 0.4954, 0.7546, 1.185, 1.777, 2.529, 3.449, 4.548",\
                 "0.247, 0.2892, 0.3878, 0.5152, 0.76, 1.186, 1.778, 2.528, 3.446, 4.544",\
                 "0.2782, 0.324, 0.4252, 0.538, 0.7664, 1.188, 1.78, 2.532, 3.448, 4.541",\
                 "0.3112, 0.3602, 0.4638, 0.5602, 0.7732, 1.188, 1.779, 2.533, 3.448, 4.541");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.347, 0.3844, 0.4849, 0.633, 0.8331, 1.104, 1.459, 1.907, 2.455, 3.107",\
                 "0.3639, 0.4014, 0.5018, 0.6499, 0.85, 1.121, 1.476, 1.924, 2.471, 3.123",\
                 "0.4311, 0.4682, 0.5687, 0.7168, 0.917, 1.188, 1.543, 1.991, 2.538, 3.192",\
                 "0.5645, 0.6021, 0.7025, 0.8504, 1.05, 1.321, 1.676, 2.124, 2.671, 3.323",\
                 "0.7372, 0.7784, 0.8851, 1.037, 1.237, 1.507, 1.861, 2.309, 2.856, 3.509",\
                 "0.9405, 0.9856, 1.1, 1.257, 1.457, 1.727, 2.081, 2.528, 3.075, 3.728",\
                 "1.176, 1.225, 1.348, 1.511, 1.712, 1.98, 2.333, 2.78, 3.326, 3.978",\
                 "1.445, 1.497, 1.63, 1.799, 2, 2.267, 2.619, 3.065, 3.611, 4.262",\
                 "1.747, 1.804, 1.946, 2.122, 2.323, 2.588, 2.939, 3.384, 3.929, 4.58",\
                 "2.085, 2.146, 2.296, 2.479, 2.68, 2.944, 3.293, 3.737, 4.281, 4.931");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1301, 0.1653, 0.2721, 0.4496, 0.7414, 1.183, 1.778, 2.53, 3.452, 4.551",\
                 "0.13, 0.1656, 0.2719, 0.4497, 0.7414, 1.183, 1.778, 2.532, 3.449, 4.552",\
                 "0.13, 0.1655, 0.2721, 0.4499, 0.7415, 1.183, 1.778, 2.532, 3.453, 4.555",\
                 "0.1367, 0.1708, 0.2756, 0.451, 0.7416, 1.183, 1.778, 2.531, 3.45, 4.55",\
                 "0.1608, 0.1956, 0.297, 0.4622, 0.7442, 1.183, 1.777, 2.532, 3.452, 4.554",\
                 "0.1868, 0.2228, 0.3226, 0.478, 0.7494, 1.183, 1.778, 2.529, 3.454, 4.554",\
                 "0.2162, 0.2546, 0.3528, 0.495, 0.7546, 1.185, 1.778, 2.529, 3.446, 4.549",\
                 "0.247, 0.2892, 0.3878, 0.5152, 0.76, 1.186, 1.778, 2.528, 3.446, 4.544",\
                 "0.2796, 0.324, 0.4252, 0.538, 0.7668, 1.187, 1.778, 2.532, 3.448, 4.541",\
                 "0.3112, 0.36, 0.4638, 0.5602, 0.7732, 1.188, 1.779, 2.533, 3.448, 4.543");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3469, 0.3842, 0.4849, 0.633, 0.8331, 1.104, 1.459, 1.907, 2.454, 3.107",\
                 "0.3639, 0.4013, 0.5018, 0.6499, 0.85, 1.121, 1.476, 1.924, 2.471, 3.123",\
                 "0.431, 0.4684, 0.5687, 0.7168, 0.917, 1.188, 1.543, 1.991, 2.538, 3.192",\
                 "0.5645, 0.6019, 0.7025, 0.8506, 1.05, 1.321, 1.676, 2.124, 2.672, 3.323",\
                 "0.7373, 0.7783, 0.8852, 1.037, 1.237, 1.507, 1.862, 2.309, 2.857, 3.509",\
                 "0.9407, 0.9856, 1.1, 1.257, 1.458, 1.727, 2.081, 2.528, 3.075, 3.728",\
                 "1.177, 1.225, 1.348, 1.511, 1.712, 1.98, 2.333, 2.78, 3.326, 3.978",\
                 "1.445, 1.497, 1.63, 1.799, 2, 2.267, 2.619, 3.065, 3.611, 4.262",\
                 "1.747, 1.804, 1.946, 2.122, 2.323, 2.588, 2.939, 3.384, 3.929, 4.58",\
                 "2.085, 2.145, 2.297, 2.479, 2.68, 2.944, 3.293, 3.737, 4.281, 4.932");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1304, 0.1655, 0.272, 0.45, 0.7414, 1.183, 1.778, 2.532, 3.449, 4.554",\
                 "0.1298, 0.1657, 0.2719, 0.45, 0.7419, 1.182, 1.778, 2.532, 3.449, 4.551",\
                 "0.13, 0.1658, 0.2721, 0.45, 0.7419, 1.182, 1.776, 2.532, 3.454, 4.555",\
                 "0.1367, 0.171, 0.2758, 0.4512, 0.7418, 1.183, 1.778, 2.531, 3.451, 4.549",\
                 "0.1604, 0.1958, 0.2972, 0.462, 0.7442, 1.183, 1.778, 2.53, 3.454, 4.55",\
                 "0.1864, 0.223, 0.322, 0.4786, 0.7496, 1.183, 1.777, 2.53, 3.455, 4.553",\
                 "0.216, 0.2556, 0.353, 0.4958, 0.7548, 1.185, 1.777, 2.53, 3.449, 4.548",\
                 "0.2464, 0.2888, 0.3882, 0.5154, 0.7598, 1.186, 1.779, 2.529, 3.446, 4.544",\
                 "0.2784, 0.324, 0.425, 0.5378, 0.7668, 1.187, 1.779, 2.531, 3.447, 4.54",\
                 "0.312, 0.3612, 0.4638, 0.5606, 0.773, 1.188, 1.778, 2.533, 3.45, 4.542");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3471, 0.3843, 0.4849, 0.633, 0.8331, 1.104, 1.459, 1.907, 2.454, 3.107",\
                 "0.3639, 0.4013, 0.5018, 0.6499, 0.85, 1.121, 1.476, 1.924, 2.471, 3.123",\
                 "0.4311, 0.4682, 0.5687, 0.7168, 0.917, 1.188, 1.543, 1.991, 2.538, 3.192",\
                 "0.5645, 0.6021, 0.7025, 0.8504, 1.05, 1.321, 1.676, 2.124, 2.672, 3.323",\
                 "0.7371, 0.7785, 0.8852, 1.037, 1.237, 1.507, 1.862, 2.309, 2.857, 3.509",\
                 "0.9406, 0.9856, 1.1, 1.257, 1.457, 1.727, 2.081, 2.528, 3.075, 3.728",\
                 "1.176, 1.225, 1.348, 1.511, 1.712, 1.98, 2.333, 2.78, 3.326, 3.977",\
                 "1.445, 1.497, 1.63, 1.799, 2, 2.267, 2.619, 3.065, 3.611, 4.262",\
                 "1.747, 1.804, 1.946, 2.122, 2.323, 2.588, 2.939, 3.384, 3.929, 4.58",\
                 "2.085, 2.146, 2.297, 2.479, 2.68, 2.943, 3.293, 3.737, 4.281, 4.931");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.13, 0.1654, 0.272, 0.4497, 0.7416, 1.183, 1.778, 2.532, 3.452, 4.554",\
                 "0.1301, 0.1653, 0.272, 0.45, 0.7414, 1.183, 1.778, 2.532, 3.449, 4.551",\
                 "0.13, 0.1655, 0.2721, 0.4499, 0.7415, 1.183, 1.778, 2.532, 3.453, 4.555",\
                 "0.1367, 0.1709, 0.2756, 0.451, 0.7416, 1.183, 1.778, 2.529, 3.451, 4.55",\
                 "0.1614, 0.1956, 0.2964, 0.4622, 0.7442, 1.182, 1.777, 2.529, 3.454, 4.549",\
                 "0.187, 0.2228, 0.3226, 0.4782, 0.7494, 1.183, 1.778, 2.529, 3.454, 4.554",\
                 "0.2162, 0.2548, 0.3528, 0.4952, 0.7546, 1.186, 1.778, 2.529, 3.449, 4.548",\
                 "0.246, 0.289, 0.3882, 0.5152, 0.76, 1.187, 1.779, 2.529, 3.446, 4.543",\
                 "0.2794, 0.3234, 0.4254, 0.538, 0.7668, 1.188, 1.778, 2.53, 3.447, 4.541",\
                 "0.3112, 0.36, 0.464, 0.5602, 0.7726, 1.188, 1.779, 2.53, 3.449, 4.543");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3475, 0.3854, 0.4879, 0.6368, 0.8399, 1.115, 1.471, 1.919, 2.465, 3.118",\
                 "0.3644, 0.4023, 0.5048, 0.6537, 0.8568, 1.132, 1.488, 1.936, 2.482, 3.135",\
                 "0.4315, 0.4695, 0.5717, 0.7207, 0.9238, 1.199, 1.555, 2.002, 2.549, 3.201",\
                 "0.5649, 0.6031, 0.7057, 0.8548, 1.058, 1.332, 1.688, 2.135, 2.682, 3.334",\
                 "0.7376, 0.7798, 0.8891, 1.043, 1.247, 1.52, 1.875, 2.322, 2.869, 3.521",\
                 "0.9417, 0.9877, 1.105, 1.266, 1.473, 1.744, 2.098, 2.545, 3.091, 3.743",\
                 "1.179, 1.229, 1.356, 1.524, 1.733, 2.003, 2.357, 2.803, 3.349, 4",\
                 "1.448, 1.502, 1.64, 1.818, 2.029, 2.298, 2.65, 3.096, 3.641, 4.292",\
                 "1.751, 1.81, 1.958, 2.147, 2.361, 2.628, 2.979, 3.424, 3.97, 4.62",\
                 "2.089, 2.153, 2.312, 2.511, 2.728, 2.995, 3.344, 3.788, 4.332, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1308, 0.1681, 0.2747, 0.4547, 0.7549, 1.194, 1.781, 2.531, 3.451, 4.549",\
                 "0.1311, 0.1681, 0.275, 0.4547, 0.7549, 1.194, 1.78, 2.53, 3.451, 4.549",\
                 "0.131, 0.1683, 0.275, 0.4547, 0.7549, 1.193, 1.779, 2.529, 3.448, 4.543",\
                 "0.1378, 0.1742, 0.2788, 0.4574, 0.7548, 1.191, 1.78, 2.531, 3.451, 4.548",\
                 "0.1634, 0.1996, 0.3012, 0.4714, 0.7576, 1.189, 1.779, 2.531, 3.45, 4.547",\
                 "0.1902, 0.2288, 0.3286, 0.4926, 0.765, 1.19, 1.778, 2.531, 3.449, 4.547",\
                 "0.2202, 0.2628, 0.363, 0.5166, 0.7726, 1.191, 1.778, 2.53, 3.447, 4.549",\
                 "0.2522, 0.2982, 0.4028, 0.5464, 0.7832, 1.192, 1.78, 2.529, 3.447, 4.544",\
                 "0.2866, 0.3364, 0.4458, 0.5802, 0.795, 1.195, 1.779, 2.531, 3.447, 4.542",\
                 "0.3212, 0.3758, 0.4914, 0.6156, 0.8092, 1.197, 1.78, 2.531, 3.447, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3476, 0.3855, 0.488, 0.6368, 0.8399, 1.115, 1.471, 1.919, 2.465, 3.118",\
                 "0.3644, 0.4023, 0.5048, 0.6537, 0.8568, 1.132, 1.488, 1.936, 2.482, 3.135",\
                 "0.4315, 0.4695, 0.5717, 0.7207, 0.9238, 1.199, 1.555, 2.002, 2.549, 3.201",\
                 "0.5649, 0.6031, 0.7057, 0.8548, 1.058, 1.332, 1.688, 2.135, 2.682, 3.334",\
                 "0.7376, 0.7798, 0.8891, 1.043, 1.247, 1.52, 1.875, 2.322, 2.869, 3.521",\
                 "0.9417, 0.9877, 1.105, 1.266, 1.473, 1.744, 2.098, 2.545, 3.091, 3.743",\
                 "1.179, 1.229, 1.356, 1.524, 1.733, 2.003, 2.357, 2.803, 3.349, 4",\
                 "1.448, 1.502, 1.64, 1.818, 2.029, 2.298, 2.65, 3.096, 3.642, 4.293",\
                 "1.751, 1.81, 1.958, 2.147, 2.361, 2.628, 2.979, 3.424, 3.97, 4.62",\
                 "2.089, 2.153, 2.312, 2.511, 2.728, 2.995, 3.344, 3.788, 4.332, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1306, 0.1683, 0.2746, 0.4547, 0.7549, 1.194, 1.781, 2.531, 3.451, 4.549",\
                 "0.1311, 0.1681, 0.275, 0.4547, 0.7549, 1.194, 1.78, 2.53, 3.451, 4.549",\
                 "0.131, 0.1683, 0.275, 0.4547, 0.7549, 1.193, 1.779, 2.529, 3.448, 4.543",\
                 "0.1378, 0.1742, 0.2788, 0.4574, 0.7548, 1.191, 1.78, 2.531, 3.451, 4.548",\
                 "0.1634, 0.1996, 0.3012, 0.4714, 0.7576, 1.189, 1.779, 2.531, 3.45, 4.547",\
                 "0.1902, 0.2288, 0.3286, 0.4926, 0.765, 1.189, 1.778, 2.531, 3.449, 4.547",\
                 "0.2202, 0.2628, 0.363, 0.5166, 0.773, 1.191, 1.778, 2.53, 3.45, 4.549",\
                 "0.2516, 0.2984, 0.4028, 0.5464, 0.7826, 1.192, 1.779, 2.529, 3.446, 4.54",\
                 "0.2864, 0.3364, 0.4458, 0.5802, 0.7944, 1.194, 1.78, 2.531, 3.447, 4.541",\
                 "0.3212, 0.3758, 0.4914, 0.6152, 0.8098, 1.197, 1.78, 2.532, 3.449, 4.542");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3475, 0.3855, 0.4879, 0.6368, 0.8399, 1.115, 1.471, 1.919, 2.465, 3.118",\
                 "0.3644, 0.4023, 0.5048, 0.6537, 0.8568, 1.132, 1.488, 1.936, 2.483, 3.135",\
                 "0.4315, 0.4695, 0.5717, 0.7207, 0.9238, 1.199, 1.555, 2.002, 2.549, 3.201",\
                 "0.5649, 0.6031, 0.7057, 0.8548, 1.058, 1.332, 1.688, 2.135, 2.682, 3.334",\
                 "0.7376, 0.7798, 0.8891, 1.043, 1.247, 1.52, 1.875, 2.322, 2.869, 3.521",\
                 "0.9417, 0.9877, 1.105, 1.266, 1.473, 1.744, 2.098, 2.545, 3.092, 3.743",\
                 "1.179, 1.229, 1.356, 1.524, 1.733, 2.003, 2.357, 2.803, 3.349, 4",\
                 "1.447, 1.502, 1.64, 1.818, 2.029, 2.298, 2.65, 3.096, 3.642, 4.292",\
                 "1.751, 1.81, 1.958, 2.147, 2.361, 2.628, 2.979, 3.424, 3.969, 4.62",\
                 "2.089, 2.153, 2.312, 2.511, 2.728, 2.995, 3.344, 3.788, 4.332, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1309, 0.1683, 0.275, 0.4547, 0.7549, 1.194, 1.781, 2.531, 3.451, 4.549",\
                 "0.1309, 0.1683, 0.2747, 0.4545, 0.7548, 1.194, 1.781, 2.53, 3.446, 4.545",\
                 "0.131, 0.1683, 0.275, 0.4547, 0.7549, 1.193, 1.779, 2.529, 3.448, 4.543",\
                 "0.1378, 0.1742, 0.2788, 0.4574, 0.7548, 1.191, 1.779, 2.531, 3.451, 4.549",\
                 "0.1634, 0.1996, 0.3012, 0.4714, 0.7578, 1.189, 1.779, 2.531, 3.451, 4.547",\
                 "0.1902, 0.2288, 0.3286, 0.4926, 0.765, 1.19, 1.777, 2.529, 3.451, 4.548",\
                 "0.2202, 0.2628, 0.363, 0.5166, 0.7732, 1.191, 1.779, 2.53, 3.45, 4.549",\
                 "0.2536, 0.2988, 0.4026, 0.5464, 0.7832, 1.193, 1.78, 2.529, 3.446, 4.54",\
                 "0.2864, 0.3364, 0.4458, 0.5802, 0.7952, 1.195, 1.779, 2.531, 3.448, 4.542",\
                 "0.3212, 0.376, 0.4918, 0.6158, 0.8092, 1.197, 1.779, 2.531, 3.449, 4.542");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3476, 0.3855, 0.488, 0.6368, 0.8399, 1.115, 1.471, 1.919, 2.466, 3.117",\
                 "0.3644, 0.4023, 0.5048, 0.6537, 0.8568, 1.132, 1.488, 1.936, 2.482, 3.135",\
                 "0.4315, 0.4695, 0.5717, 0.7207, 0.9238, 1.199, 1.555, 2.002, 2.549, 3.201",\
                 "0.5649, 0.6031, 0.7058, 0.8548, 1.058, 1.332, 1.688, 2.135, 2.682, 3.334",\
                 "0.7377, 0.7797, 0.889, 1.043, 1.247, 1.52, 1.875, 2.322, 2.869, 3.521",\
                 "0.9417, 0.9877, 1.105, 1.266, 1.473, 1.744, 2.098, 2.545, 3.092, 3.743",\
                 "1.178, 1.229, 1.356, 1.524, 1.733, 2.003, 2.356, 2.803, 3.349, 4",\
                 "1.447, 1.502, 1.64, 1.818, 2.029, 2.298, 2.65, 3.096, 3.642, 4.292",\
                 "1.751, 1.81, 1.958, 2.147, 2.36, 2.628, 2.979, 3.424, 3.969, 4.62",\
                 "2.089, 2.152, 2.312, 2.511, 2.728, 2.995, 3.344, 3.788, 4.332, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1307, 0.1684, 0.2746, 0.4547, 0.7547, 1.194, 1.781, 2.529, 3.45, 4.545",\
                 "0.1309, 0.1683, 0.275, 0.4544, 0.755, 1.194, 1.781, 2.53, 3.451, 4.549",\
                 "0.131, 0.1683, 0.275, 0.4547, 0.7549, 1.193, 1.78, 2.529, 3.448, 4.543",\
                 "0.1379, 0.1741, 0.2788, 0.4572, 0.7546, 1.191, 1.778, 2.528, 3.451, 4.549",\
                 "0.1624, 0.1996, 0.301, 0.4712, 0.7578, 1.189, 1.777, 2.529, 3.451, 4.549",\
                 "0.1902, 0.2286, 0.3288, 0.4926, 0.765, 1.19, 1.779, 2.53, 3.452, 4.549",\
                 "0.2204, 0.2628, 0.3628, 0.5164, 0.7726, 1.191, 1.778, 2.53, 3.45, 4.549",\
                 "0.252, 0.2984, 0.4028, 0.5468, 0.7828, 1.192, 1.78, 2.529, 3.446, 4.543",\
                 "0.286, 0.3366, 0.4456, 0.58, 0.795, 1.194, 1.78, 2.532, 3.45, 4.542",\
                 "0.3224, 0.3766, 0.4916, 0.6154, 0.8088, 1.197, 1.78, 2.533, 3.449, 4.542");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3476, 0.3855, 0.4879, 0.6368, 0.8399, 1.115, 1.471, 1.919, 2.466, 3.118",\
                 "0.3644, 0.4023, 0.5048, 0.6537, 0.8568, 1.132, 1.488, 1.936, 2.482, 3.135",\
                 "0.4315, 0.4695, 0.5717, 0.7207, 0.9238, 1.199, 1.555, 2.002, 2.549, 3.201",\
                 "0.5649, 0.6031, 0.7058, 0.8548, 1.058, 1.332, 1.688, 2.135, 2.682, 3.334",\
                 "0.7377, 0.7797, 0.889, 1.043, 1.247, 1.52, 1.875, 2.322, 2.869, 3.52",\
                 "0.9417, 0.9877, 1.105, 1.266, 1.473, 1.744, 2.098, 2.545, 3.092, 3.743",\
                 "1.178, 1.229, 1.356, 1.524, 1.733, 2.003, 2.356, 2.803, 3.349, 4",\
                 "1.448, 1.502, 1.64, 1.818, 2.029, 2.298, 2.65, 3.096, 3.642, 4.292",\
                 "1.751, 1.81, 1.958, 2.147, 2.36, 2.628, 2.979, 3.424, 3.969, 4.62",\
                 "2.089, 2.153, 2.312, 2.511, 2.728, 2.995, 3.344, 3.788, 4.332, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1307, 0.1683, 0.2749, 0.4547, 0.7547, 1.194, 1.781, 2.529, 3.451, 4.548",\
                 "0.1309, 0.1683, 0.275, 0.4544, 0.755, 1.194, 1.781, 2.53, 3.451, 4.549",\
                 "0.131, 0.1683, 0.275, 0.4547, 0.7549, 1.193, 1.78, 2.529, 3.448, 4.543",\
                 "0.1379, 0.1741, 0.2788, 0.4572, 0.7546, 1.191, 1.778, 2.528, 3.451, 4.549",\
                 "0.1624, 0.1996, 0.301, 0.4712, 0.7574, 1.189, 1.777, 2.53, 3.448, 4.545",\
                 "0.1902, 0.2286, 0.3288, 0.4926, 0.7652, 1.19, 1.779, 2.53, 3.452, 4.55",\
                 "0.2204, 0.2628, 0.3628, 0.5164, 0.7726, 1.191, 1.778, 2.53, 3.447, 4.546",\
                 "0.2518, 0.299, 0.4028, 0.5466, 0.7826, 1.193, 1.781, 2.529, 3.446, 4.544",\
                 "0.2862, 0.3364, 0.4456, 0.5796, 0.7952, 1.194, 1.78, 2.532, 3.449, 4.54",\
                 "0.3224, 0.3766, 0.4916, 0.6154, 0.8088, 1.197, 1.78, 2.533, 3.449, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3476, 0.3855, 0.4879, 0.6368, 0.8399, 1.115, 1.471, 1.919, 2.466, 3.117",\
                 "0.3644, 0.4023, 0.5048, 0.6537, 0.8568, 1.132, 1.488, 1.936, 2.482, 3.135",\
                 "0.4315, 0.4695, 0.5717, 0.7207, 0.9238, 1.199, 1.555, 2.002, 2.549, 3.201",\
                 "0.5649, 0.6031, 0.7058, 0.8548, 1.058, 1.332, 1.688, 2.135, 2.682, 3.334",\
                 "0.7377, 0.7797, 0.889, 1.043, 1.247, 1.52, 1.875, 2.322, 2.869, 3.52",\
                 "0.9417, 0.9877, 1.105, 1.266, 1.473, 1.744, 2.098, 2.545, 3.092, 3.743",\
                 "1.178, 1.229, 1.356, 1.524, 1.733, 2.003, 2.356, 2.803, 3.349, 4",\
                 "1.448, 1.502, 1.639, 1.818, 2.029, 2.298, 2.65, 3.096, 3.642, 4.292",\
                 "1.751, 1.809, 1.958, 2.147, 2.36, 2.628, 2.979, 3.424, 3.969, 4.62",\
                 "2.089, 2.153, 2.312, 2.511, 2.728, 2.995, 3.344, 3.788, 4.332, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1307, 0.1683, 0.2749, 0.4546, 0.7547, 1.194, 1.781, 2.529, 3.45, 4.546",\
                 "0.1309, 0.1683, 0.275, 0.4545, 0.755, 1.194, 1.781, 2.53, 3.451, 4.549",\
                 "0.131, 0.1683, 0.275, 0.4547, 0.7549, 1.193, 1.78, 2.529, 3.448, 4.543",\
                 "0.1379, 0.1741, 0.2788, 0.4572, 0.7546, 1.191, 1.778, 2.528, 3.451, 4.549",\
                 "0.1624, 0.1996, 0.301, 0.4712, 0.7574, 1.189, 1.779, 2.53, 3.448, 4.545",\
                 "0.1902, 0.2286, 0.3288, 0.4926, 0.7652, 1.189, 1.779, 2.53, 3.452, 4.55",\
                 "0.2204, 0.2628, 0.3628, 0.5164, 0.7726, 1.191, 1.778, 2.53, 3.447, 4.546",\
                 "0.2518, 0.299, 0.4026, 0.5462, 0.7826, 1.193, 1.78, 2.529, 3.446, 4.543",\
                 "0.2866, 0.3366, 0.4456, 0.5796, 0.7952, 1.194, 1.78, 2.532, 3.449, 4.54",\
                 "0.3228, 0.3766, 0.4918, 0.6154, 0.8088, 1.197, 1.78, 2.533, 3.449, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3475, 0.3855, 0.4879, 0.6368, 0.8399, 1.115, 1.471, 1.919, 2.465, 3.118",\
                 "0.3644, 0.4023, 0.5048, 0.6537, 0.8568, 1.132, 1.488, 1.936, 2.482, 3.135",\
                 "0.4315, 0.4695, 0.5717, 0.7207, 0.9238, 1.199, 1.555, 2.002, 2.549, 3.201",\
                 "0.5649, 0.6031, 0.7057, 0.8548, 1.058, 1.332, 1.688, 2.135, 2.682, 3.334",\
                 "0.7376, 0.7798, 0.8891, 1.043, 1.247, 1.52, 1.875, 2.322, 2.869, 3.521",\
                 "0.9417, 0.9877, 1.105, 1.266, 1.473, 1.744, 2.098, 2.545, 3.092, 3.743",\
                 "1.179, 1.229, 1.356, 1.524, 1.733, 2.003, 2.357, 2.803, 3.349, 4",\
                 "1.447, 1.502, 1.64, 1.818, 2.029, 2.298, 2.65, 3.096, 3.641, 4.292",\
                 "1.751, 1.81, 1.958, 2.147, 2.36, 2.628, 2.979, 3.424, 3.969, 4.62",\
                 "2.089, 2.153, 2.312, 2.511, 2.728, 2.995, 3.344, 3.788, 4.332, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1309, 0.1683, 0.275, 0.4547, 0.7549, 1.194, 1.781, 2.531, 3.451, 4.549",\
                 "0.1311, 0.1681, 0.2749, 0.4547, 0.7549, 1.194, 1.781, 2.53, 3.451, 4.549",\
                 "0.131, 0.1683, 0.275, 0.4547, 0.7549, 1.193, 1.779, 2.529, 3.448, 4.543",\
                 "0.1378, 0.1742, 0.2788, 0.4574, 0.7548, 1.191, 1.779, 2.531, 3.451, 4.549",\
                 "0.1634, 0.1998, 0.3012, 0.4714, 0.7578, 1.189, 1.779, 2.531, 3.451, 4.547",\
                 "0.1902, 0.2288, 0.3286, 0.4926, 0.765, 1.19, 1.777, 2.529, 3.452, 4.549",\
                 "0.2196, 0.2628, 0.363, 0.5164, 0.7732, 1.191, 1.778, 2.53, 3.45, 4.549",\
                 "0.2536, 0.299, 0.4026, 0.5462, 0.7832, 1.192, 1.78, 2.529, 3.446, 4.542",\
                 "0.2862, 0.3366, 0.4458, 0.58, 0.795, 1.195, 1.781, 2.531, 3.448, 4.542",\
                 "0.3212, 0.376, 0.4918, 0.6154, 0.8094, 1.197, 1.779, 2.533, 3.449, 4.542");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3476, 0.3855, 0.488, 0.6368, 0.8399, 1.115, 1.471, 1.919, 2.466, 3.117",\
                 "0.3644, 0.4023, 0.5048, 0.6537, 0.8568, 1.132, 1.488, 1.936, 2.482, 3.135",\
                 "0.4315, 0.4695, 0.5717, 0.7207, 0.9238, 1.199, 1.555, 2.002, 2.549, 3.201",\
                 "0.5649, 0.6031, 0.7058, 0.8548, 1.058, 1.332, 1.688, 2.135, 2.682, 3.334",\
                 "0.7374, 0.7797, 0.889, 1.043, 1.247, 1.52, 1.875, 2.322, 2.869, 3.521",\
                 "0.9417, 0.9877, 1.105, 1.266, 1.473, 1.744, 2.098, 2.545, 3.092, 3.743",\
                 "1.178, 1.229, 1.356, 1.524, 1.733, 2.003, 2.357, 2.803, 3.349, 4",\
                 "1.448, 1.502, 1.639, 1.818, 2.029, 2.298, 2.65, 3.096, 3.641, 4.292",\
                 "1.751, 1.81, 1.958, 2.147, 2.36, 2.628, 2.979, 3.424, 3.97, 4.62",\
                 "2.089, 2.153, 2.312, 2.511, 2.728, 2.995, 3.344, 3.788, 4.332, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1307, 0.1684, 0.2746, 0.4547, 0.7547, 1.194, 1.781, 2.529, 3.45, 4.545",\
                 "0.1309, 0.1683, 0.275, 0.4544, 0.755, 1.194, 1.781, 2.53, 3.451, 4.549",\
                 "0.131, 0.1683, 0.275, 0.4547, 0.7549, 1.193, 1.78, 2.529, 3.448, 4.543",\
                 "0.1379, 0.1741, 0.2788, 0.4572, 0.7546, 1.191, 1.778, 2.528, 3.451, 4.549",\
                 "0.1636, 0.1996, 0.301, 0.4712, 0.7578, 1.189, 1.777, 2.529, 3.451, 4.549",\
                 "0.1902, 0.2286, 0.3288, 0.4926, 0.765, 1.189, 1.779, 2.529, 3.452, 4.549",\
                 "0.2204, 0.2628, 0.3628, 0.5164, 0.7726, 1.191, 1.778, 2.53, 3.446, 4.545",\
                 "0.2518, 0.2988, 0.4028, 0.5466, 0.7828, 1.192, 1.78, 2.529, 3.446, 4.544",\
                 "0.286, 0.3364, 0.4458, 0.58, 0.7952, 1.194, 1.78, 2.529, 3.449, 4.541",\
                 "0.3212, 0.3766, 0.4918, 0.6154, 0.8088, 1.197, 1.78, 2.533, 3.449, 4.542");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.3476, 0.3855, 0.488, 0.6368, 0.8399, 1.115, 1.471, 1.919, 2.466, 3.117",\
                 "0.3644, 0.4023, 0.5048, 0.6537, 0.8568, 1.132, 1.488, 1.936, 2.482, 3.135",\
                 "0.4315, 0.4695, 0.5717, 0.7207, 0.9238, 1.199, 1.555, 2.002, 2.549, 3.201",\
                 "0.5649, 0.6031, 0.7058, 0.8548, 1.058, 1.332, 1.688, 2.135, 2.682, 3.334",\
                 "0.7377, 0.7797, 0.889, 1.043, 1.247, 1.52, 1.875, 2.322, 2.869, 3.521",\
                 "0.9417, 0.9877, 1.105, 1.266, 1.473, 1.744, 2.098, 2.545, 3.092, 3.743",\
                 "1.178, 1.229, 1.356, 1.524, 1.733, 2.003, 2.356, 2.803, 3.349, 4",\
                 "1.447, 1.502, 1.64, 1.818, 2.029, 2.298, 2.65, 3.096, 3.642, 4.292",\
                 "1.751, 1.81, 1.958, 2.147, 2.36, 2.628, 2.979, 3.424, 3.969, 4.62",\
                 "2.089, 2.152, 2.312, 2.511, 2.728, 2.995, 3.344, 3.788, 4.332, 4.983");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003467, 0.01213, 0.02866, 0.05442, 0.09057, 0.1381, 0.198, 0.2712, 0.3584");
          values("0.1301, 0.1653, 0.2719, 0.45, 0.7414, 1.183, 1.778, 2.531, 3.449, 4.549",\
                 "0.13, 0.1654, 0.2719, 0.45, 0.7414, 1.183, 1.778, 2.532, 3.449, 4.552",\
                 "0.13, 0.1655, 0.2721, 0.4499, 0.7415, 1.183, 1.778, 2.532, 3.453, 4.555",\
                 "0.1367, 0.1708, 0.2756, 0.451, 0.7416, 1.183, 1.778, 2.531, 3.45, 4.55",\
                 "0.1608, 0.1956, 0.297, 0.4622, 0.7442, 1.183, 1.777, 2.532, 3.452, 4.554",\
                 "0.1868, 0.2228, 0.3226, 0.4778, 0.7494, 1.183, 1.778, 2.529, 3.454, 4.554",\
                 "0.2162, 0.2546, 0.3528, 0.4954, 0.7546, 1.185, 1.777, 2.529, 3.449, 4.548",\
                 "0.247, 0.2892, 0.3878, 0.5152, 0.76, 1.186, 1.778, 2.528, 3.446, 4.544",\
                 "0.2782, 0.324, 0.4252, 0.538, 0.7664, 1.188, 1.78, 2.532, 3.448, 4.541",\
                 "0.3112, 0.3602, 0.4638, 0.5602, 0.7732, 1.188, 1.779, 2.533, 3.448, 4.541");
        }
      }
    }

    pin(RN) {
      capacitance : 0.006002 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.623 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01757, 0.01698, 0.01674, 0.01669, 0.0167, 0.01675, 0.01675, \
                 0.01675, 0.01675, 0.01676");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.01669, -0.01666, -0.01665, -0.01665, -0.0167, -0.0167, \
                 -0.0167, -0.01669, -0.01668");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01757, 0.01698, 0.01674, 0.01669, 0.0167, 0.01676, 0.01676, \
                 0.01674, 0.01673, 0.01675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.01669, -0.01666, -0.01665, -0.01664, -0.0167, -0.0167, \
                 -0.01671, -0.01669, -0.01669");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01757, 0.01697, 0.01674, 0.01672, 0.0167, 0.01676, 0.01675, \
                 0.01674, 0.01672, 0.01675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.01669, -0.01666, -0.01665, -0.01665, -0.0167, -0.0167, \
                 -0.0167, -0.01669, -0.01669");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01687, 0.01615, 0.01575, 0.01566, 0.01568, 0.01561, 0.01565, \
                 0.01563, 0.01563, 0.01562");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01544, -0.01562, -0.01597, -0.01618, -0.0163, -0.01642, -0.01644, \
                 -0.01647, -0.01649, -0.0165");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01688, 0.01615, 0.01576, 0.01566, 0.01568, 0.01563, 0.01565, \
                 0.01564, 0.01563, 0.01562");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01544, -0.01562, -0.01597, -0.01618, -0.0163, -0.01642, -0.01644, \
                 -0.01647, -0.01649, -0.01651");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01688, 0.01615, 0.01576, 0.01566, 0.01568, 0.01563, 0.01565, \
                 0.01564, 0.01563, 0.01563");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01544, -0.01562, -0.01597, -0.01618, -0.0163, -0.01642, -0.01644, \
                 -0.01647, -0.01649, -0.01651");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01757, 0.01698, 0.01674, 0.0167, 0.01673, 0.01676, 0.01674, \
                 0.01673, 0.01675, 0.01673");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.01669, -0.01666, -0.01665, -0.01665, -0.01671, -0.0167, \
                 -0.0167, -0.01669, -0.0167");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01688, 0.01615, 0.01575, 0.01566, 0.01568, 0.01561, 0.01565, \
                 0.01563, 0.01563, 0.01561");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01544, -0.01562, -0.01597, -0.01618, -0.0163, -0.01642, -0.01645, \
                 -0.01647, -0.01649, -0.0165");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0182, 0.01706, 0.01674, 0.0167, 0.01675, 0.01673, 0.01675, 0.01675, \
                 0.01675, 0.01674");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.0167, -0.01667, -0.01666, -0.01664, -0.01671, -0.01671, \
                 -0.0167, -0.01669, -0.0167");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0182, 0.01706, 0.01674, 0.01671, 0.01676, 0.01674, 0.01675, \
                 0.01675, 0.01675, 0.01674");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.0167, -0.01667, -0.01666, -0.01665, -0.01671, -0.01671, \
                 -0.0167, -0.01669, -0.0167");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0182, 0.01706, 0.01676, 0.0167, 0.01673, 0.01673, 0.01675, 0.01676, \
                 0.01674, 0.01675");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.0167, -0.01667, -0.01666, -0.01664, -0.01671, -0.01671, \
                 -0.0167, -0.01669, -0.0167");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01813, 0.01703, 0.01675, 0.01671, 0.01674, 0.01675, 0.01674, \
                 0.01674, 0.01674, 0.01672");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.0167, -0.01667, -0.01666, -0.01664, -0.01671, -0.01671, \
                 -0.0167, -0.0167, -0.0167");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01813, 0.01703, 0.01674, 0.0167, 0.01675, 0.01674, 0.01674, \
                 0.01673, 0.01674, 0.01673");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.0167, -0.01667, -0.01666, -0.01664, -0.01671, -0.01671, \
                 -0.0167, -0.01669, -0.0167");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01813, 0.01703, 0.01674, 0.0167, 0.01675, 0.01674, 0.01674, \
                 0.01674, 0.01674, 0.01673");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.0167, -0.01667, -0.01666, -0.01665, -0.01671, -0.01671, \
                 -0.0167, -0.0167, -0.0167");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0182, 0.01706, 0.01673, 0.01671, 0.01673, 0.01676, 0.01674, \
                 0.01675, 0.01675, 0.01674");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.0167, -0.01667, -0.01666, -0.01664, -0.01671, -0.01671, \
                 -0.0167, -0.01669, -0.0167");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01813, 0.01703, 0.01675, 0.0167, 0.01675, 0.01675, 0.01674, \
                 0.01674, 0.01673, 0.01673");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01674, -0.0167, -0.01667, -0.01666, -0.01664, -0.01671, -0.01671, \
                 -0.0167, -0.0167, -0.0167");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.338, -0.35, -0.404, -0.48, -0.531, -0.572, -0.588, -0.573, -0.521, -0.46",\
                 "-0.341, -0.358, -0.408, -0.479, -0.541, -0.577, -0.587, -0.583, -0.531, -0.471",\
                 "-0.353, -0.362, -0.417, -0.496, -0.547, -0.589, -0.601, -0.596, -0.545, -0.492",\
                 "-0.31, -0.322, -0.378, -0.451, -0.516, -0.549, -0.575, -0.569, -0.521, -0.472",\
                 "-0.101, -0.123, -0.183, -0.259, -0.329, -0.372, -0.399, -0.39, -0.348, -0.302",\
                 "0.244, 0.229, 0.156, 0.081, 0.004, -0.054, -0.082, -0.073, -0.035, 0.007",\
                 "0.749, 0.724, 0.638, 0.535, 0.445, 0.386, 0.355, 0.345, 0.375, 0.453",\
                 "1.376, 1.341, 1.256, 1.131, 1.02, 0.941, 0.905, 0.91, 0.935, 0.981",\
                 "2.16, 2.08, 2.009, 1.841, 1.72, 1.644, 1.598, 1.59, 1.688, 1.668",\
                 "3.095, 3.013, 2.896, 2.695, 2.584, 2.509, 2.431, 2.403, 2.44, 2.508");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.343, -0.35, -0.404, -0.48, -0.531, -0.572, -0.588, -0.573, -0.521, -0.46",\
                 "-0.341, -0.358, -0.408, -0.479, -0.541, -0.577, -0.587, -0.583, -0.531, -0.471",\
                 "-0.353, -0.362, -0.417, -0.496, -0.547, -0.583, -0.601, -0.596, -0.545, -0.492",\
                 "-0.31, -0.322, -0.378, -0.451, -0.516, -0.549, -0.575, -0.569, -0.521, -0.472",\
                 "-0.101, -0.123, -0.183, -0.253, -0.329, -0.372, -0.393, -0.39, -0.348, -0.308",\
                 "0.244, 0.235, 0.156, 0.067, 0.004, -0.054, -0.082, -0.073, -0.035, 0.007",\
                 "0.732, 0.724, 0.638, 0.535, 0.445, 0.386, 0.355, 0.364, 0.375, 0.431",\
                 "1.376, 1.335, 1.256, 1.124, 1.02, 0.941, 0.905, 0.91, 0.935, 0.997",\
                 "2.168, 2.08, 2.009, 1.841, 1.72, 1.686, 1.598, 1.59, 1.618, 1.668",\
                 "3.095, 3.013, 2.896, 2.706, 2.614, 2.509, 2.431, 2.395, 2.44, 2.549");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.343, -0.35, -0.404, -0.48, -0.531, -0.572, -0.588, -0.573, -0.521, -0.46",\
                 "-0.341, -0.358, -0.408, -0.479, -0.541, -0.577, -0.587, -0.583, -0.531, -0.471",\
                 "-0.353, -0.362, -0.417, -0.491, -0.547, -0.583, -0.601, -0.596, -0.545, -0.492",\
                 "-0.31, -0.322, -0.378, -0.451, -0.516, -0.549, -0.575, -0.569, -0.521, -0.472",\
                 "-0.101, -0.123, -0.183, -0.259, -0.329, -0.372, -0.393, -0.39, -0.348, -0.308",\
                 "0.25, 0.235, 0.156, 0.067, 0.004, -0.054, -0.082, -0.073, -0.035, 0.013",\
                 "0.732, 0.707, 0.638, 0.535, 0.445, 0.386, 0.355, 0.345, 0.41, 0.431",\
                 "1.376, 1.335, 1.256, 1.124, 1.02, 0.983, 0.905, 0.91, 0.969, 0.973",\
                 "2.168, 2.08, 2.009, 1.867, 1.72, 1.644, 1.604, 1.59, 1.618, 1.668",\
                 "3.095, 3.013, 2.896, 2.695, 2.584, 2.496, 2.431, 2.395, 2.431, 2.508");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.338, -0.35, -0.404, -0.48, -0.531, -0.572, -0.588, -0.573, -0.521, -0.46",\
                 "-0.341, -0.358, -0.408, -0.479, -0.541, -0.577, -0.587, -0.583, -0.539, -0.471",\
                 "-0.353, -0.362, -0.417, -0.491, -0.547, -0.589, -0.601, -0.596, -0.553, -0.492",\
                 "-0.301, -0.322, -0.378, -0.451, -0.511, -0.556, -0.575, -0.569, -0.53, -0.472",\
                 "-0.101, -0.123, -0.183, -0.264, -0.329, -0.372, -0.399, -0.397, -0.357, -0.302",\
                 "0.244, 0.235, 0.156, 0.081, 0.004, -0.054, -0.082, -0.073, -0.056, 0.007",\
                 "0.732, 0.724, 0.647, 0.555, 0.445, 0.386, 0.355, 0.364, 0.41, 0.453",\
                 "1.376, 1.341, 1.256, 1.124, 1.02, 0.983, 0.905, 0.91, 0.935, 0.973",\
                 "2.168, 2.088, 2.009, 1.841, 1.72, 1.686, 1.616, 1.59, 1.688, 1.668",\
                 "3.095, 3.013, 2.912, 2.706, 2.578, 2.535, 2.431, 2.395, 2.44, 2.549");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.561, 0.575, 0.629, 0.707, 0.769, 0.814, 0.85, 0.862, 0.847, 0.814",\
                 "0.566, 0.58, 0.627, 0.71, 0.772, 0.819, 0.852, 0.864, 0.851, 0.817",\
                 "0.589, 0.604, 0.654, 0.729, 0.791, 0.839, 0.873, 0.889, 0.875, 0.836",\
                 "0.656, 0.669, 0.721, 0.797, 0.86, 0.907, 0.935, 0.95, 0.941, 0.898",\
                 "0.779, 0.795, 0.844, 0.914, 0.976, 1.021, 1.051, 1.064, 1.048, 1.011",\
                 "0.942, 0.955, 1, 1.074, 1.135, 1.182, 1.207, 1.219, 1.209, 1.17",\
                 "1.14, 1.153, 1.202, 1.273, 1.328, 1.372, 1.405, 1.422, 1.409, 1.374",\
                 "1.369, 1.381, 1.43, 1.502, 1.558, 1.603, 1.633, 1.648, 1.637, 1.613",\
                 "1.636, 1.653, 1.697, 1.768, 1.819, 1.867, 1.893, 1.914, 1.906, 1.881",\
                 "1.94, 1.95, 2.001, 2.062, 2.123, 2.167, 2.194, 2.209, 2.208, 2.185");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.561, 0.575, 0.629, 0.708, 0.769, 0.814, 0.85, 0.862, 0.847, 0.814",\
                 "0.566, 0.58, 0.627, 0.71, 0.772, 0.819, 0.852, 0.864, 0.851, 0.817",\
                 "0.589, 0.604, 0.653, 0.729, 0.791, 0.839, 0.873, 0.889, 0.875, 0.836",\
                 "0.656, 0.669, 0.721, 0.797, 0.86, 0.907, 0.935, 0.95, 0.941, 0.898",\
                 "0.779, 0.795, 0.844, 0.914, 0.976, 1.021, 1.051, 1.064, 1.048, 1.011",\
                 "0.942, 0.955, 1, 1.074, 1.135, 1.182, 1.207, 1.219, 1.209, 1.17",\
                 "1.14, 1.153, 1.202, 1.273, 1.328, 1.372, 1.405, 1.422, 1.409, 1.374",\
                 "1.369, 1.381, 1.43, 1.502, 1.558, 1.603, 1.633, 1.648, 1.637, 1.613",\
                 "1.636, 1.645, 1.697, 1.768, 1.819, 1.867, 1.893, 1.914, 1.906, 1.881",\
                 "1.935, 1.95, 1.996, 2.062, 2.123, 2.167, 2.194, 2.209, 2.208, 2.185");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.561, 0.575, 0.629, 0.708, 0.769, 0.814, 0.85, 0.862, 0.847, 0.814",\
                 "0.566, 0.58, 0.627, 0.709, 0.772, 0.819, 0.852, 0.864, 0.851, 0.817",\
                 "0.589, 0.604, 0.653, 0.729, 0.791, 0.839, 0.873, 0.889, 0.875, 0.836",\
                 "0.656, 0.669, 0.721, 0.797, 0.86, 0.907, 0.935, 0.95, 0.941, 0.898",\
                 "0.779, 0.795, 0.844, 0.914, 0.976, 1.021, 1.051, 1.064, 1.048, 1.011",\
                 "0.942, 0.955, 1, 1.074, 1.135, 1.182, 1.207, 1.219, 1.209, 1.17",\
                 "1.14, 1.153, 1.202, 1.273, 1.328, 1.372, 1.405, 1.422, 1.409, 1.374",\
                 "1.369, 1.381, 1.43, 1.502, 1.558, 1.603, 1.633, 1.648, 1.637, 1.613",\
                 "1.636, 1.645, 1.697, 1.768, 1.819, 1.867, 1.893, 1.914, 1.906, 1.881",\
                 "1.935, 1.95, 1.996, 2.062, 2.123, 2.167, 2.194, 2.209, 2.208, 2.185");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.561, 0.575, 0.624, 0.708, 0.769, 0.814, 0.85, 0.862, 0.855, 0.814",\
                 "0.566, 0.58, 0.627, 0.71, 0.772, 0.819, 0.852, 0.864, 0.851, 0.817",\
                 "0.589, 0.604, 0.654, 0.729, 0.791, 0.845, 0.873, 0.889, 0.875, 0.836",\
                 "0.656, 0.669, 0.721, 0.797, 0.86, 0.907, 0.945, 0.95, 0.941, 0.898",\
                 "0.779, 0.787, 0.844, 0.914, 0.976, 1.021, 1.051, 1.064, 1.048, 1.011",\
                 "0.936, 0.955, 1, 1.074, 1.135, 1.182, 1.214, 1.219, 1.209, 1.17",\
                 "1.14, 1.153, 1.202, 1.273, 1.328, 1.379, 1.405, 1.422, 1.409, 1.374",\
                 "1.369, 1.381, 1.43, 1.502, 1.558, 1.603, 1.633, 1.648, 1.644, 1.613",\
                 "1.636, 1.645, 1.697, 1.768, 1.829, 1.867, 1.899, 1.914, 1.906, 1.881",\
                 "1.935, 1.95, 1.996, 2.068, 2.123, 2.167, 2.201, 2.217, 2.208, 2.185");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.529");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }
    }

    pin(SE) {
      capacitance : 0.00599 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05659, 0.05607, 0.05729, 0.06246, 0.07235, 0.08757, 0.1084, \
                 0.1355, 0.1691, 0.2094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0012, 0.0009495, 0.001722, 0.005495, 0.01354, 0.02631, 0.04427, \
                 0.06764, 0.09669, 0.1317");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1902, 0.1894, 0.1899, 0.1947, 0.2073, 0.2305, 0.2658, 0.3152, \
                 0.3782, 0.4548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08035, 0.07963, 0.07977, 0.08392, 0.09528, 0.1156, 0.1462, 0.1879, \
                 0.2409, 0.3058");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0566, 0.05606, 0.05728, 0.06244, 0.07232, 0.08755, 0.1084, 0.1355, \
                 0.169, 0.2094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001182, 0.0009681, 0.001701, 0.005501, 0.01355, 0.02633, 0.04426, \
                 0.06761, 0.09668, 0.1317");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1858, 0.1849, 0.1854, 0.1903, 0.2029, 0.2259, 0.2613, 0.3105, \
                 0.3734, 0.4496");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08281, 0.08206, 0.08222, 0.08636, 0.09772, 0.118, 0.1487, 0.1903, \
                 0.2433, 0.3081");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1355, 0.135, 0.1361, 0.1411, 0.1509, 0.1659, 0.1871, 0.2147, \
                 0.2491, 0.2907");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1434, 0.1433, 0.1439, 0.1473, 0.1549, 0.1672, 0.1849, 0.208, \
                 0.2371, 0.2724");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0575, 0.05701, 0.05834, 0.06358, 0.07366, 0.08904, 0.1101, 0.1373, \
                 0.171, 0.2115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001631, -0.002422, -0.002093, 0.001647, 0.009685, 0.02248, \
                 0.04048, 0.06389, 0.09299, 0.1281");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1379, 0.1374, 0.1386, 0.1436, 0.1533, 0.1684, 0.1895, 0.2171, \
                 0.2516, 0.2931");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1388, 0.1387, 0.1393, 0.1428, 0.1502, 0.1627, 0.1804, 0.2035, \
                 0.2326, 0.2679");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05749, 0.05691, 0.05828, 0.06359, 0.07367, 0.08901, 0.1101, \
                 0.1373, 0.171, 0.2115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001632, -0.002418, -0.002064, 0.001656, 0.009648, 0.02256, \
                 0.04049, 0.06388, 0.093, 0.128");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05706, 0.05675, 0.05807, 0.06324, 0.07316, 0.08833, 0.1092, \
                 0.1363, 0.1698, 0.2101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001117, 0.0008943, 0.001611, 0.00542, 0.01349, 0.02629, 0.04424, \
                 0.0676, 0.09665, 0.1317");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05743, 0.05671, 0.05789, 0.06306, 0.07299, 0.08821, 0.1092, \
                 0.1362, 0.1698, 0.2102");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001196, -0.001699, -0.001326, 0.002359, 0.01081, 0.02449, 0.04348, \
                 0.06757, 0.09692, 0.132");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05657, 0.05603, 0.05722, 0.0624, 0.07233, 0.08742, 0.1084, 0.1355, \
                 0.169, 0.2094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001125, 0.0008887, 0.001626, 0.005437, 0.01343, 0.02627, 0.04424, \
                 0.0676, 0.09667, 0.1317");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07713, 0.07659, 0.07789, 0.08328, 0.09383, 0.1103, 0.1324, 0.1606, \
                 0.1949, 0.2358");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001192, -0.001703, -0.001301, 0.002358, 0.01074, 0.02449, 0.04347, \
                 0.06754, 0.09691, 0.132");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05825, 0.05772, 0.05888, 0.06385, 0.07355, 0.0886, 0.1094, 0.1363, \
                 0.1698, 0.2101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002258, 0.002008, 0.002747, 0.00646, 0.01449, 0.02725, 0.04519, \
                 0.06852, 0.09757, 0.1326");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05985, 0.05932, 0.06059, 0.06575, 0.07565, 0.09088, 0.1118, \
                 0.1389, 0.1725, 0.2129");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00232, -0.00286, -0.002388, 0.001346, 0.009393, 0.02214, 0.04013, \
                 0.0635, 0.09259, 0.1276");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05892, 0.05839, 0.05956, 0.0646, 0.07429, 0.08933, 0.1101, 0.1371, \
                 0.1705, 0.2108");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01688, 0.01665, 0.01739, 0.02109, 0.0291, 0.04191, 0.05987, \
                 0.0832, 0.1122, 0.1473");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05747, 0.05693, 0.0583, 0.06358, 0.07362, 0.08904, 0.1101, 0.1373, \
                 0.171, 0.2114");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00206, -0.00264, -0.002214, 0.001527, 0.009571, 0.02238, 0.04035, \
                 0.06381, 0.09288, 0.128");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.137, -0.122, -0.079, -0.019, 0.033, 0.071, 0.083, 0.071, 0.043, -0.024",\
                 "-0.152, -0.136, -0.089, -0.033, 0.023, 0.058, 0.073, 0.063, 0.024, -0.038",\
                 "-0.184, -0.166, -0.118, -0.059, -0.009, 0.028, 0.049, 0.031, -0.002, -0.065",\
                 "-0.226, -0.209, -0.166, -0.099, -0.047, -0.014, -0.004, -0.012, -0.047, -0.109",\
                 "-0.27, -0.255, -0.208, -0.147, -0.094, -0.066, -0.052, -0.069, -0.097, -0.168",\
                 "-0.324, -0.306, -0.258, -0.198, -0.153, -0.124, -0.113, -0.129, -0.169, -0.233",\
                 "-0.361, -0.347, -0.302, -0.245, -0.204, -0.17, -0.169, -0.188, -0.222, -0.288",\
                 "-0.39, -0.374, -0.329, -0.282, -0.234, -0.208, -0.212, -0.229, -0.267, -0.334",\
                 "-0.401, -0.386, -0.346, -0.312, -0.263, -0.245, -0.245, -0.267, -0.304, -0.37",\
                 "-0.429, -0.413, -0.374, -0.338, -0.308, -0.291, -0.289, -0.32, -0.359, -0.424");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.384, -0.368, -0.337, -0.328, -0.34, -0.383, -0.44, -0.519, -0.626, -0.758",\
                 "-0.391, -0.374, -0.35, -0.332, -0.347, -0.39, -0.45, -0.528, -0.634, -0.766",\
                 "-0.42, -0.408, -0.378, -0.366, -0.374, -0.419, -0.477, -0.553, -0.655, -0.789",\
                 "-0.462, -0.45, -0.421, -0.405, -0.417, -0.453, -0.503, -0.579, -0.684, -0.808",\
                 "-0.516, -0.502, -0.469, -0.458, -0.464, -0.486, -0.539, -0.609, -0.703, -0.829",\
                 "-0.56, -0.548, -0.513, -0.49, -0.494, -0.518, -0.557, -0.626, -0.725, -0.841",\
                 "-0.58, -0.561, -0.528, -0.505, -0.507, -0.527, -0.573, -0.637, -0.73, -0.852",\
                 "-0.567, -0.553, -0.516, -0.502, -0.501, -0.519, -0.563, -0.635, -0.726, -0.845",\
                 "-0.521, -0.507, -0.478, -0.461, -0.461, -0.486, -0.535, -0.604, -0.701, -0.821",\
                 "-0.449, -0.434, -0.401, -0.388, -0.397, -0.42, -0.475, -0.543, -0.638, -0.767");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.544, -0.532, -0.503, -0.483, -0.496, -0.533, -0.583, -0.666, -0.769, -0.893",\
                 "-0.562, -0.549, -0.516, -0.506, -0.517, -0.549, -0.605, -0.683, -0.779, -0.908",\
                 "-0.629, -0.616, -0.582, -0.569, -0.583, -0.616, -0.667, -0.752, -0.845, -0.976",\
                 "-0.744, -0.729, -0.699, -0.681, -0.697, -0.73, -0.783, -0.86, -0.964, -1.088",\
                 "-0.888, -0.873, -0.842, -0.828, -0.841, -0.872, -0.927, -1.002, -1.109, -1.235",\
                 "-1.061, -1.049, -1.017, -1.002, -1.011, -1.047, -1.103, -1.182, -1.28, -1.403",\
                 "-1.271, -1.256, -1.226, -1.214, -1.222, -1.255, -1.308, -1.379, -1.486, -1.608",\
                 "-1.517, -1.503, -1.473, -1.458, -1.463, -1.496, -1.549, -1.625, -1.725, -1.85",\
                 "-1.794, -1.783, -1.752, -1.736, -1.739, -1.775, -1.823, -1.901, -2, -2.118",\
                 "-2.115, -2.101, -2.069, -2.05, -2.059, -2.088, -2.138, -2.211, -2.305, -2.43");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.177, -0.163, -0.116, -0.056, -0.005, 0.025, 0.04, 0.024, -0.005, -0.071",\
                 "-0.193, -0.183, -0.137, -0.071, -0.023, 0.011, 0.021, 0.01, -0.024, -0.09",\
                 "-0.237, -0.225, -0.173, -0.117, -0.061, -0.029, -0.015, -0.031, -0.068, -0.129",\
                 "-0.271, -0.257, -0.213, -0.153, -0.105, -0.065, -0.054, -0.065, -0.099, -0.165",\
                 "-0.293, -0.278, -0.234, -0.174, -0.127, -0.092, -0.081, -0.091, -0.125, -0.186",\
                 "-0.284, -0.271, -0.226, -0.161, -0.109, -0.081, -0.066, -0.078, -0.112, -0.175",\
                 "-0.234, -0.227, -0.175, -0.115, -0.067, -0.035, -0.024, -0.032, -0.068, -0.131",\
                 "-0.16, -0.147, -0.099, -0.041, 0.01, 0.045, 0.062, 0.04, 0.01, -0.055",\
                 "-0.043, -0.033, 0.018, 0.073, 0.125, 0.159, 0.168, 0.159, 0.124, 0.062",\
                 "0.108, 0.121, 0.167, 0.227, 0.282, 0.311, 0.324, 0.31, 0.28, 0.215");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.956, 0.942, 0.884, 0.801, 0.727, 0.671, 0.634, 0.631, 0.657, 0.706",\
                 "0.972, 0.953, 0.894, 0.814, 0.733, 0.684, 0.647, 0.641, 0.665, 0.714",\
                 "1, 0.983, 0.929, 0.837, 0.766, 0.712, 0.676, 0.671, 0.696, 0.746",\
                 "1.053, 1.038, 0.973, 0.889, 0.814, 0.76, 0.724, 0.72, 0.746, 0.792",\
                 "1.134, 1.12, 1.061, 0.977, 0.902, 0.855, 0.814, 0.81, 0.826, 0.878",\
                 "1.291, 1.278, 1.215, 1.134, 1.056, 1.004, 0.968, 0.963, 0.976, 1.029",\
                 "1.499, 1.487, 1.426, 1.345, 1.263, 1.207, 1.163, 1.155, 1.167, 1.216",\
                 "1.753, 1.741, 1.678, 1.585, 1.501, 1.446, 1.402, 1.379, 1.394, 1.435",\
                 "2.049, 2.04, 1.976, 1.876, 1.786, 1.717, 1.669, 1.651, 1.657, 1.695",\
                 "2.387, 2.373, 2.306, 2.202, 2.114, 2.037, 1.988, 1.964, 1.962, 2.001");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.784, 0.771, 0.718, 0.647, 0.601, 0.602, 0.634, 0.696, 0.793, 0.909",\
                 "0.794, 0.778, 0.723, 0.659, 0.61, 0.607, 0.638, 0.7, 0.794, 0.918",\
                 "0.823, 0.811, 0.756, 0.686, 0.644, 0.636, 0.667, 0.734, 0.829, 0.945",\
                 "0.871, 0.855, 0.799, 0.728, 0.687, 0.68, 0.704, 0.767, 0.859, 0.971",\
                 "0.933, 0.919, 0.861, 0.792, 0.747, 0.741, 0.751, 0.803, 0.892, 1.003",\
                 "0.986, 0.978, 0.921, 0.849, 0.802, 0.783, 0.8, 0.845, 0.924, 1.029",\
                 "1.027, 1.024, 0.964, 0.895, 0.84, 0.824, 0.832, 0.872, 0.948, 1.052",\
                 "1.057, 1.043, 0.988, 0.924, 0.871, 0.848, 0.856, 0.887, 0.962, 1.06",\
                 "1.054, 1.044, 0.991, 0.923, 0.868, 0.842, 0.848, 0.881, 0.957, 1.055",\
                 "1.033, 1.026, 0.965, 0.898, 0.845, 0.821, 0.825, 0.855, 0.927, 1.024");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.927, 0.914, 0.857, 0.792, 0.749, 0.746, 0.777, 0.832, 0.928, 1.045",\
                 "0.944, 0.929, 0.877, 0.804, 0.764, 0.76, 0.793, 0.85, 0.938, 1.059",\
                 "1.01, 1, 0.945, 0.871, 0.827, 0.827, 0.857, 0.92, 1.011, 1.127",\
                 "1.126, 1.115, 1.054, 0.988, 0.94, 0.943, 0.972, 1.034, 1.13, 1.24",\
                 "1.267, 1.258, 1.2, 1.13, 1.084, 1.083, 1.117, 1.172, 1.27, 1.384",\
                 "1.447, 1.432, 1.375, 1.31, 1.266, 1.263, 1.292, 1.35, 1.442, 1.559",\
                 "1.659, 1.641, 1.589, 1.524, 1.474, 1.47, 1.502, 1.565, 1.651, 1.765",\
                 "1.901, 1.891, 1.833, 1.765, 1.716, 1.715, 1.744, 1.797, 1.887, 2.002",\
                 "2.184, 2.176, 2.116, 2.05, 2.004, 1.995, 2.018, 2.076, 2.163, 2.28",\
                 "2.506, 2.494, 2.44, 2.37, 2.322, 2.315, 2.338, 2.395, 2.485, 2.595");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.116, 1.099, 1.04, 0.938, 0.854, 0.792, 0.752, 0.737, 0.753, 0.805",\
                 "1.136, 1.12, 1.054, 0.958, 0.88, 0.814, 0.776, 0.754, 0.77, 0.824",\
                 "1.177, 1.166, 1.102, 0.999, 0.923, 0.859, 0.812, 0.796, 0.82, 0.864",\
                 "1.208, 1.192, 1.129, 1.034, 0.951, 0.884, 0.843, 0.827, 0.842, 0.893",\
                 "1.216, 1.197, 1.139, 1.04, 0.956, 0.899, 0.854, 0.84, 0.864, 0.908",\
                 "1.211, 1.196, 1.132, 1.032, 0.95, 0.891, 0.847, 0.836, 0.855, 0.906",\
                 "1.17, 1.161, 1.099, 1.005, 0.914, 0.857, 0.816, 0.803, 0.818, 0.866",\
                 "1.092, 1.079, 1.019, 0.924, 0.842, 0.781, 0.739, 0.727, 0.746, 0.797",\
                 "0.982, 0.972, 0.908, 0.81, 0.736, 0.674, 0.635, 0.618, 0.638, 0.686",\
                 "0.835, 0.822, 0.756, 0.663, 0.583, 0.524, 0.483, 0.472, 0.494, 0.538");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002642 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008397, 0.008371, 0.008365, 0.008359, 0.008355, 0.008379, 0.008365, \
                 0.008364, 0.008367, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008175, -0.008141, -0.008168, -0.008208, -0.008236, -0.008269, \
                 -0.008282, -0.008286, -0.008297, -0.008294");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1563, 0.1559, 0.1555, 0.1553, 0.1572, 0.1644, 0.1787, 0.2018, \
                 0.2331, 0.2718");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07894, 0.07847, 0.07794, 0.07798, 0.08074, 0.08765, 0.1, 0.1183, \
                 0.1427, 0.1737");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008395, 0.008365, 0.008363, 0.008354, 0.008343, 0.008372, 0.008371, \
                 0.008367, 0.008364, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008171, -0.008161, -0.008166, -0.008215, -0.008236, -0.008273, \
                 -0.008285, -0.008285, -0.00829, -0.008291");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1518, 0.1514, 0.151, 0.1507, 0.1528, 0.1598, 0.174, 0.197, 0.2281, \
                 0.2666");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08136, 0.08086, 0.08038, 0.08042, 0.08318, 0.09009, 0.1024, \
                 0.1206, 0.1451, 0.176");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008375, 0.008362, 0.008364, 0.008358, 0.008354, 0.008376, 0.008368, \
                 0.008365, 0.008371, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007496, -0.007827, -0.008147, -0.00821, -0.008235, -0.008272, \
                 -0.008284, -0.008289, -0.008292, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1594, 0.1591, 0.1586, 0.1584, 0.1605, 0.1681, 0.1832, 0.2068, \
                 0.2382, 0.277");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07405, 0.07355, 0.07301, 0.0731, 0.07584, 0.08285, 0.09536, \
                 0.114, 0.1389, 0.1703");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008365, 0.008349, 0.008368, 0.008362, 0.008367, 0.008354, 0.008368, \
                 0.008368, 0.008364, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007467, -0.007854, -0.008148, -0.008201, -0.00824, -0.008236, \
                 -0.008282, -0.008289, -0.00829, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1548, 0.1545, 0.1541, 0.1538, 0.1559, 0.1635, 0.1785, 0.2019, \
                 0.2333, 0.2718");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07647, 0.07599, 0.07544, 0.07554, 0.07831, 0.08525, 0.09776, \
                 0.1163, 0.1413, 0.1726");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008368, 0.008362, 0.008364, 0.008357, 0.008354, 0.008381, 0.008365, \
                 0.008364, 0.008368, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008169, -0.00814, -0.008169, -0.008205, -0.008237, -0.008273, \
                 -0.008282, -0.008286, -0.008293, -0.008295");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009005, 0.008996, 0.009005, 0.008993, 0.009004, 0.009008, 0.008996, \
                 0.00899, 0.009008, 0.008997");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006499, -0.006741, -0.00707, -0.007356, -0.007571, -0.007739, \
                 -0.007839, -0.007904, -0.00795, -0.007984");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00837, 0.00837, 0.008352, 0.008365, 0.008367, 0.008371, 0.008372, \
                 0.008369, 0.008364, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008163, -0.008158, -0.008164, -0.008206, -0.008245, -0.008264, \
                 -0.008281, -0.008284, -0.008294, -0.008295");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03502, 0.035, 0.03502, 0.03498, 0.03495, 0.03496, 0.03495, 0.03496, \
                 0.03497, 0.03499");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006484, -0.006746, -0.007066, -0.007354, -0.007597, -0.007713, \
                 -0.007841, -0.007902, -0.007949, -0.007985");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008381, 0.008362, 0.008364, 0.00836, 0.008354, 0.00838, 0.008368, \
                 0.008365, 0.008366, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007671, -0.007923, -0.008154, -0.008209, -0.008235, -0.008273, \
                 -0.008281, -0.008288, -0.008291, -0.008297");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009058, 0.009051, 0.009056, 0.009049, 0.009035, 0.009056, 0.009052, \
                 0.009053, 0.009058, 0.009042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006476, -0.006733, -0.0071, -0.007421, -0.007637, -0.007793, \
                 -0.007873, -0.007936, -0.007972, -0.008008");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008366, 0.008359, 0.008351, 0.008365, 0.008354, 0.008379, 0.008368, \
                 0.008369, 0.008364, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007521, -0.007849, -0.00816, -0.008218, -0.008229, -0.008263, \
                 -0.008284, -0.008278, -0.008287, -0.008295");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02938, 0.02938, 0.02939, 0.02933, 0.02932, 0.02933, 0.02933, \
                 0.02934, 0.02936, 0.02935");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006466, -0.006743, -0.007102, -0.007423, -0.007625, -0.007786, \
                 -0.007874, -0.007932, -0.007975, -0.008009");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.189, -0.177, -0.133, -0.074, -0.027, 0.014, 0.024, 0.012, -0.021, -0.086",\
                 "-0.2, -0.183, -0.143, -0.081, -0.038, -0.001, 0.013, 0.004, -0.032, -0.095",\
                 "-0.237, -0.225, -0.173, -0.117, -0.07, -0.036, -0.015, -0.031, -0.068, -0.129",\
                 "-0.289, -0.266, -0.23, -0.168, -0.116, -0.08, -0.064, -0.085, -0.117, -0.182",\
                 "-0.337, -0.324, -0.277, -0.221, -0.174, -0.136, -0.127, -0.143, -0.173, -0.24",\
                 "-0.382, -0.371, -0.321, -0.264, -0.223, -0.194, -0.187, -0.205, -0.237, -0.304",\
                 "-0.411, -0.39, -0.347, -0.295, -0.256, -0.231, -0.226, -0.247, -0.281, -0.352",\
                 "-0.425, -0.416, -0.373, -0.322, -0.279, -0.258, -0.26, -0.28, -0.314, -0.382",\
                 "-0.441, -0.427, -0.387, -0.348, -0.31, -0.297, -0.299, -0.321, -0.358, -0.425",\
                 "-0.47, -0.455, -0.423, -0.395, -0.361, -0.349, -0.354, -0.384, -0.413, -0.486");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.441, -0.43, -0.396, -0.383, -0.399, -0.441, -0.499, -0.584, -0.689, -0.826",\
                 "-0.446, -0.43, -0.403, -0.389, -0.401, -0.443, -0.502, -0.587, -0.698, -0.829",\
                 "-0.463, -0.45, -0.417, -0.408, -0.418, -0.457, -0.522, -0.603, -0.713, -0.842",\
                 "-0.48, -0.469, -0.439, -0.421, -0.438, -0.475, -0.533, -0.613, -0.719, -0.853",\
                 "-0.501, -0.487, -0.451, -0.443, -0.45, -0.486, -0.539, -0.617, -0.722, -0.853",\
                 "-0.503, -0.489, -0.455, -0.439, -0.451, -0.48, -0.53, -0.609, -0.709, -0.841",\
                 "-0.479, -0.467, -0.429, -0.416, -0.427, -0.46, -0.509, -0.579, -0.683, -0.809",\
                 "-0.425, -0.41, -0.379, -0.362, -0.375, -0.402, -0.456, -0.532, -0.632, -0.757",\
                 "-0.33, -0.314, -0.28, -0.268, -0.281, -0.313, -0.37, -0.449, -0.545, -0.677",\
                 "-0.189, -0.183, -0.149, -0.143, -0.147, -0.181, -0.24, -0.32, -0.431, -0.557");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.137, -0.129, -0.079, -0.019, 0.025, 0.06, 0.074, 0.06, 0.027, -0.034",\
                 "-0.152, -0.136, -0.089, -0.033, 0.016, 0.047, 0.064, 0.052, 0.016, -0.048",\
                 "-0.184, -0.177, -0.126, -0.071, -0.018, 0.015, 0.031, 0.013, -0.018, -0.081",\
                 "-0.235, -0.228, -0.178, -0.114, -0.069, -0.036, -0.024, -0.031, -0.073, -0.131",\
                 "-0.285, -0.27, -0.225, -0.163, -0.114, -0.083, -0.075, -0.091, -0.125, -0.186",\
                 "-0.313, -0.306, -0.258, -0.198, -0.153, -0.124, -0.119, -0.137, -0.175, -0.233",\
                 "-0.335, -0.322, -0.275, -0.225, -0.182, -0.15, -0.145, -0.159, -0.204, -0.267",\
                 "-0.343, -0.339, -0.292, -0.242, -0.205, -0.174, -0.173, -0.189, -0.226, -0.286",\
                 "-0.362, -0.362, -0.313, -0.268, -0.234, -0.213, -0.21, -0.233, -0.265, -0.325",\
                 "-0.392, -0.392, -0.342, -0.317, -0.278, -0.258, -0.261, -0.288, -0.323, -0.378");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.429, -0.416, -0.385, -0.374, -0.392, -0.43, -0.482, -0.566, -0.673, -0.805",\
                 "-0.439, -0.422, -0.391, -0.38, -0.394, -0.431, -0.493, -0.575, -0.674, -0.808",\
                 "-0.452, -0.438, -0.409, -0.395, -0.409, -0.451, -0.504, -0.59, -0.697, -0.826",\
                 "-0.471, -0.459, -0.433, -0.413, -0.433, -0.467, -0.523, -0.599, -0.702, -0.836",\
                 "-0.494, -0.479, -0.443, -0.432, -0.444, -0.478, -0.533, -0.609, -0.712, -0.835",\
                 "-0.491, -0.477, -0.449, -0.432, -0.442, -0.475, -0.524, -0.601, -0.699, -0.821",\
                 "-0.47, -0.45, -0.42, -0.406, -0.416, -0.446, -0.501, -0.569, -0.671, -0.795",\
                 "-0.408, -0.398, -0.366, -0.355, -0.36, -0.393, -0.446, -0.521, -0.618, -0.741",\
                 "-0.314, -0.298, -0.272, -0.259, -0.272, -0.303, -0.364, -0.436, -0.537, -0.668",\
                 "-0.173, -0.162, -0.133, -0.125, -0.141, -0.174, -0.24, -0.32, -0.422, -0.552");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.076, 1.065, 1.002, 0.91, 0.831, 0.775, 0.744, 0.731, 0.745, 0.8",\
                 "1.088, 1.072, 1.013, 0.92, 0.841, 0.784, 0.75, 0.742, 0.762, 0.813",\
                 "1.123, 1.107, 1.047, 0.952, 0.879, 0.821, 0.785, 0.771, 0.796, 0.843",\
                 "1.18, 1.163, 1.1, 1.011, 0.93, 0.87, 0.843, 0.827, 0.851, 0.893",\
                 "1.261, 1.251, 1.191, 1.098, 1.016, 0.96, 0.922, 0.914, 0.93, 0.985",\
                 "1.412, 1.396, 1.336, 1.244, 1.17, 1.107, 1.069, 1.064, 1.075, 1.126",\
                 "1.634, 1.615, 1.561, 1.464, 1.383, 1.322, 1.284, 1.272, 1.279, 1.323",\
                 "1.919, 1.909, 1.846, 1.752, 1.664, 1.597, 1.549, 1.528, 1.536, 1.579",\
                 "2.272, 2.256, 2.191, 2.094, 2.004, 1.927, 1.876, 1.846, 1.851, 1.884",\
                 "2.673, 2.662, 2.595, 2.487, 2.388, 2.315, 2.252, 2.219, 2.215, 2.247");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.842, 0.826, 0.777, 0.71, 0.66, 0.66, 0.693, 0.755, 0.856, 0.972",\
                 "0.849, 0.834, 0.782, 0.708, 0.664, 0.666, 0.698, 0.76, 0.858, 0.981",\
                 "0.866, 0.852, 0.795, 0.726, 0.688, 0.681, 0.712, 0.777, 0.878, 0.998",\
                 "0.89, 0.874, 0.816, 0.751, 0.703, 0.702, 0.734, 0.794, 0.894, 1.011",\
                 "0.911, 0.904, 0.843, 0.771, 0.727, 0.723, 0.745, 0.803, 0.901, 1.015",\
                 "0.929, 0.919, 0.858, 0.79, 0.749, 0.734, 0.753, 0.811, 0.897, 1.009",\
                 "0.934, 0.921, 0.864, 0.795, 0.748, 0.736, 0.751, 0.803, 0.883, 0.995",\
                 "0.91, 0.905, 0.845, 0.777, 0.731, 0.713, 0.719, 0.767, 0.847, 0.957",\
                 "0.863, 0.859, 0.801, 0.731, 0.679, 0.659, 0.665, 0.712, 0.793, 0.893",\
                 "0.788, 0.775, 0.724, 0.652, 0.606, 0.582, 0.59, 0.631, 0.701, 0.804");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.082, 1.072, 1.008, 0.91, 0.824, 0.763, 0.727, 0.708, 0.729, 0.774",\
                 "1.095, 1.08, 1.019, 0.92, 0.841, 0.772, 0.733, 0.718, 0.738, 0.782",\
                 "1.129, 1.119, 1.055, 0.958, 0.87, 0.808, 0.767, 0.752, 0.771, 0.821",\
                 "1.18, 1.173, 1.106, 1.011, 0.924, 0.862, 0.823, 0.807, 0.824, 0.871",\
                 "1.276, 1.259, 1.191, 1.093, 1.01, 0.951, 0.911, 0.891, 0.911, 0.961",\
                 "1.424, 1.408, 1.343, 1.251, 1.17, 1.101, 1.056, 1.047, 1.055, 1.1",\
                 "1.651, 1.641, 1.58, 1.484, 1.389, 1.322, 1.276, 1.262, 1.267, 1.309",\
                 "1.954, 1.938, 1.871, 1.772, 1.679, 1.606, 1.559, 1.528, 1.529, 1.563",\
                 "2.311, 2.296, 2.232, 2.121, 2.023, 1.942, 1.882, 1.853, 1.844, 1.875",\
                 "2.72, 2.709, 2.638, 2.527, 2.423, 2.334, 2.266, 2.227, 2.215, 2.242");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.83, 0.812, 0.761, 0.692, 0.645, 0.642, 0.676, 0.737, 0.832, 0.951",\
                 "0.835, 0.818, 0.764, 0.698, 0.656, 0.649, 0.681, 0.742, 0.842, 0.955",\
                 "0.849, 0.84, 0.787, 0.715, 0.67, 0.668, 0.703, 0.758, 0.854, 0.977",\
                 "0.871, 0.864, 0.804, 0.735, 0.692, 0.687, 0.714, 0.78, 0.877, 0.988",\
                 "0.903, 0.888, 0.835, 0.76, 0.714, 0.706, 0.734, 0.788, 0.882, 0.997",\
                 "0.923, 0.907, 0.851, 0.776, 0.731, 0.718, 0.739, 0.794, 0.882, 0.996",\
                 "0.926, 0.912, 0.855, 0.785, 0.737, 0.716, 0.735, 0.784, 0.865, 0.981",\
                 "0.898, 0.893, 0.833, 0.763, 0.716, 0.696, 0.71, 0.75, 0.834, 0.941",\
                 "0.855, 0.851, 0.793, 0.722, 0.669, 0.648, 0.659, 0.699, 0.778, 0.884",\
                 "0.783, 0.77, 0.713, 0.646, 0.6, 0.575, 0.582, 0.623, 0.692, 0.793");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(RN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        clear : !RN ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffrnq_2) {
    area : 98.784000 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SI" ;
      value : "0.0002060619" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SI" ;
      value : "0.0002066097" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SI" ;
      value : "0.0002217699" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SI" ;
      value : "0.0002314818" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SI" ;
      value : "0.0002061642" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SI" ;
      value : "0.000206712" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SI" ;
      value : "0.0002218689" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SI" ;
      value : "0.0002648811" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SI" ;
      value : "0.0002035968" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SI" ;
      value : "0.0002035968" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SI" ;
      value : "0.0002386065" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SI" ;
      value : "0.0002172588" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SI" ;
      value : "0.0002370027" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SI" ;
      value : "0.0002370027" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SI" ;
      value : "0.0002387088" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SI" ;
      value : "0.0002506581" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SI" ;
      value : "0.0001970364" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SI" ;
      value : "0.0001970529" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SI" ;
      value : "0.0001965216" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SI" ;
      value : "0.0001976865" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SI" ;
      value : "0.0002161302" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SI" ;
      value : "0.0002161335" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SI" ;
      value : "0.0002155428" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SI" ;
      value : "0.0003180507" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SI" ;
      value : "0.0001982706" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SI" ;
      value : "0.0001982706" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SI" ;
      value : "0.0001965876" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SI" ;
      value : "0.0001976964" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SI" ;
      value : "0.0003039399" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SI" ;
      value : "0.0003039432" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SI" ;
      value : "0.0002155428" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SI" ;
      value : "0.0003112032" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003180507" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003558 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.418 ;
      min_pulse_width_high : 0.697 ;
      min_pulse_width_low : 1.214 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1441, 0.1436, 0.1443, 0.1504, 0.1629, 0.1825, 0.2099, 0.2457, \
                 0.2904, 0.344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.09759, 0.09807, 0.103, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1441, 0.1435, 0.1443, 0.1504, 0.1629, 0.1825, 0.2099, 0.2457, \
                 0.2904, 0.3441");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.0976, 0.09807, 0.103, 0.1132, 0.1303, 0.1547, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1514, 0.1509, 0.1516, 0.1577, 0.1702, 0.1898, 0.2173, 0.2531, \
                 0.2977, 0.3513");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09792, 0.0976, 0.09808, 0.103, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2009, 0.2004, 0.2011, 0.2078, 0.2213, 0.2426, 0.2722, 0.3107, \
                 0.3584, 0.4155");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1999, 0.1996, 0.2, 0.2057, 0.2174, 0.2364, 0.2635, 0.2987, 0.342, \
                 0.3941");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1205, 0.1267, 0.1392, 0.1587, 0.1863, 0.2222, \
                 0.2668, 0.3205");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09794, 0.0976, 0.09807, 0.1029, 0.1133, 0.1303, 0.1546, 0.1864, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1206, 0.1267, 0.1392, 0.1587, 0.1863, 0.2222, \
                 0.2668, 0.3206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.09759, 0.09807, 0.103, 0.1133, 0.1303, 0.1546, 0.1865, \
                 0.226, 0.2739");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1206, 0.1267, 0.1392, 0.1588, 0.1863, 0.2222, \
                 0.2669, 0.3205");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09788, 0.0976, 0.09808, 0.103, 0.1133, 0.1304, 0.1546, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.1195, 0.1203, 0.1264, 0.1389, 0.1585, 0.186, 0.2218, 0.2665, \
                 0.3204");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09593, 0.09554, 0.09604, 0.1009, 0.1113, 0.1284, 0.1526, 0.1845, \
                 0.2241, 0.2719");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1906, 0.1901, 0.1908, 0.1974, 0.2111, 0.2322, 0.2616, 0.3001, \
                 0.3478, 0.4049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1999, 0.1996, 0.1999, 0.2056, 0.2174, 0.2364, 0.2634, 0.2985, \
                 0.342, 0.3941");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1906, 0.1901, 0.1908, 0.1974, 0.2111, 0.2322, 0.2616, 0.3001, \
                 0.3478, 0.4049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1999, 0.1996, 0.1999, 0.2056, 0.2174, 0.2364, 0.2635, 0.2985, \
                 0.342, 0.394");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1589, 0.1584, 0.1592, 0.1652, 0.1776, 0.1972, 0.2247, 0.2604, \
                 0.3051, 0.3587");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09788, 0.0976, 0.09807, 0.1029, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1955, 0.195, 0.1958, 0.2024, 0.216, 0.2372, 0.2667, 0.3052, \
                 0.353, 0.4101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1999, 0.1995, 0.1999, 0.2057, 0.2175, 0.2365, 0.2636, 0.2987, \
                 0.3421, 0.3942");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1201, 0.1195, 0.1203, 0.1264, 0.1389, 0.1585, 0.186, 0.2219, \
                 0.2666, 0.3203");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09586, 0.09554, 0.09601, 0.1009, 0.1112, 0.1284, 0.1527, 0.1845, \
                 0.2241, 0.2719");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1201, 0.1196, 0.1203, 0.1264, 0.1389, 0.1586, 0.1861, 0.2219, \
                 0.2665, 0.3203");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09588, 0.09552, 0.09601, 0.1009, 0.1112, 0.1284, 0.1526, 0.1845, \
                 0.2241, 0.2719");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1205, 0.1267, 0.1392, 0.1587, 0.1864, 0.2221, \
                 0.2668, 0.3206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09788, 0.09758, 0.09808, 0.1029, 0.1133, 0.1304, 0.1546, 0.1864, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.1195, 0.1203, 0.1264, 0.1389, 0.1585, 0.186, 0.2219, 0.2666, \
                 0.3204");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0959, 0.09556, 0.09604, 0.1009, 0.1112, 0.1284, 0.1526, 0.1845, \
                 0.2242, 0.2719");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("1.083");
        }

        rise_constraint(scalar) {
          values("0.602");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("1.083");
        }

        rise_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.115");
        }

        rise_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.945");
        }

        rise_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.853");
        }

        rise_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.853");
        }

        rise_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.214");
        }

        rise_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.899");
        }

        rise_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&!SI" ;

        rise_constraint(scalar) {
          values("2.158");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SI" ;

        rise_constraint(scalar) {
          values("2.164");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.217");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SI" ;

        rise_constraint(scalar) {
          values("1.874");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&!SI" ;

        rise_constraint(scalar) {
          values("1.679");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SI" ;

        rise_constraint(scalar) {
          values("1.679");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.418");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SI" ;

        rise_constraint(scalar) {
          values("1.774");
        }
      }
    }

    pin(D) {
      capacitance : 0.002725 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1363, 0.1359, 0.1351, 0.1347, 0.1371, 0.1447, 0.1579, 0.1774, \
                 0.2027, 0.2337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0701, 0.07019, 0.0698, 0.06997, 0.07296, 0.0797, 0.09093, 0.1067, \
                 0.1273, 0.1527");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1363, 0.1359, 0.1351, 0.1347, 0.1371, 0.1447, 0.1579, 0.1774, \
                 0.2028, 0.2337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0701, 0.07019, 0.0698, 0.06997, 0.07298, 0.0797, 0.09097, 0.1067, \
                 0.1273, 0.1527");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008413, 0.008413, 0.008425, 0.008409, 0.008407, 0.008408, 0.008405, \
                 0.008398, 0.008392, 0.00839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007958, -0.007962, -0.007966, -0.008029, -0.008079, -0.008136, \
                 -0.008158, -0.008185, -0.008207, -0.008234");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004332, 0.004316, 0.004314, 0.00432, 0.004316, 0.004329, 0.004326, \
                 0.004318, 0.00431, 0.0043");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003058, -0.00305, -0.003045, -0.003046, -0.003055, -0.003056, \
                 -0.003061, -0.00306, -0.003062, -0.003062");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1318, 0.1315, 0.1307, 0.1302, 0.1327, 0.1402, 0.1533, 0.1726, \
                 0.1979, 0.2286");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07254, 0.07263, 0.07227, 0.07243, 0.07545, 0.08213, 0.09333, \
                 0.1091, 0.1297, 0.155");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1318, 0.1315, 0.1307, 0.1302, 0.1327, 0.1402, 0.1532, 0.1726, \
                 0.1979, 0.2286");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07254, 0.07263, 0.07226, 0.07243, 0.07545, 0.08216, 0.09338, \
                 0.1091, 0.1297, 0.1549");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00841, 0.008414, 0.008412, 0.008412, 0.008408, 0.008408, 0.008403, \
                 0.008395, 0.008393, 0.008388");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007968, -0.00796, -0.007964, -0.00802, -0.008085, -0.00813, \
                 -0.008159, -0.008189, -0.008209, -0.008232");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004335, 0.004323, 0.00432, 0.004322, 0.004334, 0.004327, 0.004325, \
                 0.004321, 0.004313, 0.0043");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003053, -0.003049, -0.003042, -0.003048, -0.003061, -0.003063, \
                 -0.003061, -0.003061, -0.003061, -0.003063");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009376, 0.009195, 0.009143, 0.009123, 0.009117, 0.009133, 0.009127, \
                 0.009135, 0.00913, 0.009123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006276, -0.006288, -0.006765, -0.007279, -0.007592, -0.007784, \
                 -0.007886, -0.007955, -0.007995, -0.008026");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009376, 0.009195, 0.009143, 0.009123, 0.009117, 0.009141, 0.009126, \
                 0.009135, 0.009127, 0.009123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006277, -0.006288, -0.006766, -0.007285, -0.007592, -0.007782, \
                 -0.007888, -0.007954, -0.007995, -0.008027");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008327, 0.008458, 0.008524, 0.008529, 0.008523, 0.008531, 0.008515, \
                 0.008494, 0.008464, 0.008424");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008047, -0.008049, -0.008035, -0.008087, -0.008147, -0.008193, \
                 -0.008216, -0.008228, -0.008238, -0.008243");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004126, 0.004119, 0.004127, 0.004132, 0.004134, 0.004146, 0.004146, \
                 0.004145, 0.004145, 0.004144");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005083, -0.004843, -0.004652, -0.004592, -0.004566, -0.004562, \
                 -0.004553, -0.004542, -0.004538, -0.004535");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02308, 0.02308, 0.0231, 0.02304, 0.02303, 0.02305, 0.02306, \
                 0.02305, 0.02306, 0.02306");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006277, -0.006305, -0.006761, -0.007276, -0.007602, -0.007784, \
                 -0.007883, -0.007948, -0.007993, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02307, 0.02309, 0.0231, 0.02304, 0.02303, 0.02304, 0.02306, \
                 0.02305, 0.02306, 0.02306");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006279, -0.006305, -0.006761, -0.007276, -0.007602, -0.007786, \
                 -0.007884, -0.007952, -0.007993, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008376, 0.008381, 0.008381, 0.008369, 0.008357, 0.00837, 0.008368, \
                 0.008367, 0.008361, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008048, -0.008045, -0.00802, -0.008079, -0.008154, -0.008194, \
                 -0.008215, -0.008223, -0.008234, -0.008245");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004112, 0.004111, 0.004113, 0.004118, 0.004128, 0.004112, 0.004128, \
                 0.004128, 0.004126, 0.004128");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003109, -0.003117, -0.00311, -0.003112, -0.00312, -0.003114, \
                 -0.00312, -0.00312, -0.003117, -0.003112");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.095, -0.047, 0.017, 0.07, 0.106, 0.116, 0.101, 0.067, 0.002",\
                 "-0.111, -0.104, -0.06, 0.006, 0.062, 0.094, 0.107, 0.093, 0.056, -0.006",\
                 "-0.152, -0.142, -0.094, -0.036, 0.026, 0.054, 0.067, 0.056, 0.015, -0.049",\
                 "-0.217, -0.209, -0.16, -0.091, -0.042, -0.007, 0.006, -0.012, -0.047, -0.109",\
                 "-0.285, -0.278, -0.225, -0.168, -0.114, -0.083, -0.07, -0.084, -0.116, -0.18",\
                 "-0.353, -0.348, -0.302, -0.242, -0.188, -0.157, -0.146, -0.163, -0.206, -0.265",\
                 "-0.428, -0.416, -0.375, -0.316, -0.267, -0.237, -0.234, -0.257, -0.298, -0.359",\
                 "-0.514, -0.512, -0.472, -0.422, -0.367, -0.343, -0.339, -0.366, -0.409, -0.47",\
                 "-0.624, -0.627, -0.594, -0.548, -0.51, -0.486, -0.482, -0.51, -0.561, -0.614",\
                 "-0.762, -0.764, -0.744, -0.707, -0.659, -0.653, -0.653, -0.695, -0.737, -0.798");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.355, -0.341, -0.315, -0.301, -0.317, -0.349, -0.406, -0.483, -0.586, -0.711",\
                 "-0.371, -0.358, -0.326, -0.312, -0.324, -0.36, -0.416, -0.498, -0.594, -0.724",\
                 "-0.398, -0.385, -0.354, -0.343, -0.357, -0.387, -0.44, -0.522, -0.622, -0.751",\
                 "-0.444, -0.43, -0.398, -0.382, -0.39, -0.423, -0.473, -0.546, -0.641, -0.769",\
                 "-0.486, -0.471, -0.443, -0.422, -0.423, -0.451, -0.498, -0.565, -0.665, -0.782",\
                 "-0.514, -0.501, -0.468, -0.446, -0.442, -0.47, -0.51, -0.575, -0.667, -0.782",\
                 "-0.513, -0.493, -0.465, -0.445, -0.445, -0.46, -0.501, -0.569, -0.659, -0.773",\
                 "-0.473, -0.458, -0.429, -0.41, -0.404, -0.427, -0.465, -0.538, -0.625, -0.741",\
                 "-0.393, -0.378, -0.346, -0.329, -0.329, -0.355, -0.399, -0.469, -0.561, -0.677",\
                 "-0.267, -0.256, -0.224, -0.209, -0.218, -0.245, -0.289, -0.36, -0.458, -0.578");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.095, -0.047, 0.017, 0.07, 0.106, 0.116, 0.101, 0.067, 0.002",\
                 "-0.111, -0.104, -0.06, 0.006, 0.062, 0.094, 0.107, 0.093, 0.056, -0.006",\
                 "-0.152, -0.142, -0.094, -0.036, 0.026, 0.054, 0.067, 0.056, 0.015, -0.049",\
                 "-0.217, -0.209, -0.16, -0.091, -0.042, -0.007, 0.006, -0.012, -0.047, -0.109",\
                 "-0.285, -0.278, -0.225, -0.168, -0.114, -0.083, -0.07, -0.084, -0.116, -0.18",\
                 "-0.353, -0.348, -0.302, -0.242, -0.188, -0.157, -0.146, -0.171, -0.206, -0.265",\
                 "-0.428, -0.416, -0.375, -0.316, -0.267, -0.237, -0.234, -0.257, -0.298, -0.359",\
                 "-0.514, -0.512, -0.472, -0.422, -0.367, -0.351, -0.339, -0.366, -0.409, -0.47",\
                 "-0.624, -0.627, -0.594, -0.548, -0.51, -0.486, -0.482, -0.517, -0.561, -0.614",\
                 "-0.762, -0.77, -0.744, -0.714, -0.659, -0.653, -0.661, -0.695, -0.737, -0.803");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.355, -0.341, -0.315, -0.301, -0.317, -0.349, -0.406, -0.483, -0.586, -0.711",\
                 "-0.371, -0.358, -0.326, -0.312, -0.324, -0.36, -0.416, -0.498, -0.594, -0.724",\
                 "-0.398, -0.385, -0.354, -0.343, -0.357, -0.387, -0.44, -0.522, -0.622, -0.751",\
                 "-0.444, -0.43, -0.398, -0.382, -0.39, -0.423, -0.473, -0.546, -0.641, -0.769",\
                 "-0.486, -0.471, -0.443, -0.422, -0.423, -0.451, -0.498, -0.565, -0.665, -0.782",\
                 "-0.514, -0.501, -0.468, -0.446, -0.442, -0.47, -0.51, -0.575, -0.667, -0.782",\
                 "-0.513, -0.493, -0.465, -0.445, -0.445, -0.46, -0.501, -0.569, -0.659, -0.773",\
                 "-0.473, -0.458, -0.429, -0.41, -0.404, -0.427, -0.465, -0.538, -0.625, -0.741",\
                 "-0.393, -0.378, -0.346, -0.329, -0.329, -0.355, -0.399, -0.469, -0.561, -0.677",\
                 "-0.267, -0.256, -0.224, -0.209, -0.218, -0.245, -0.289, -0.36, -0.458, -0.578");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.95, 0.935, 0.873, 0.792, 0.72, 0.666, 0.634, 0.625, 0.649, 0.712",\
                 "0.958, 0.945, 0.883, 0.804, 0.725, 0.672, 0.647, 0.635, 0.665, 0.714",\
                 "1, 0.983, 0.921, 0.837, 0.766, 0.719, 0.685, 0.678, 0.705, 0.752",\
                 "1.071, 1.057, 0.996, 0.912, 0.834, 0.789, 0.754, 0.747, 0.771, 0.837",\
                 "1.194, 1.181, 1.121, 1.035, 0.963, 0.916, 0.882, 0.869, 0.892, 0.949",\
                 "1.389, 1.379, 1.311, 1.229, 1.161, 1.101, 1.069, 1.064, 1.081, 1.132",\
                 "1.659, 1.641, 1.579, 1.494, 1.417, 1.369, 1.332, 1.321, 1.332, 1.387",\
                 "1.99, 1.98, 1.914, 1.825, 1.753, 1.69, 1.656, 1.637, 1.651, 1.691",\
                 "2.383, 2.377, 2.306, 2.216, 2.136, 2.073, 2.03, 2.008, 2.015, 2.055",\
                 "2.834, 2.819, 2.756, 2.661, 2.572, 2.509, 2.459, 2.434, 2.44, 2.472");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.756, 0.737, 0.686, 0.62, 0.571, 0.568, 0.6, 0.655, 0.745, 0.863",\
                 "0.767, 0.754, 0.699, 0.63, 0.587, 0.578, 0.613, 0.665, 0.754, 0.871",\
                 "0.796, 0.781, 0.732, 0.663, 0.618, 0.61, 0.64, 0.696, 0.787, 0.902",\
                 "0.844, 0.826, 0.77, 0.705, 0.66, 0.65, 0.674, 0.727, 0.816, 0.927",\
                 "0.903, 0.888, 0.835, 0.76, 0.714, 0.697, 0.716, 0.765, 0.845, 0.955",\
                 "0.946, 0.931, 0.877, 0.805, 0.758, 0.739, 0.746, 0.786, 0.866, 0.97",\
                 "0.976, 0.964, 0.909, 0.835, 0.782, 0.763, 0.767, 0.803, 0.877, 0.973",\
                 "0.969, 0.959, 0.907, 0.83, 0.783, 0.755, 0.758, 0.79, 0.861, 0.957",\
                 "0.942, 0.924, 0.867, 0.801, 0.745, 0.716, 0.718, 0.753, 0.817, 0.92",\
                 "0.871, 0.859, 0.799, 0.725, 0.672, 0.647, 0.64, 0.671, 0.746, 0.84");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.95, 0.935, 0.873, 0.792, 0.72, 0.666, 0.634, 0.625, 0.657, 0.712",\
                 "0.958, 0.945, 0.883, 0.804, 0.725, 0.672, 0.647, 0.635, 0.665, 0.714",\
                 "1, 0.983, 0.921, 0.837, 0.766, 0.712, 0.685, 0.678, 0.705, 0.757",\
                 "1.071, 1.057, 0.996, 0.912, 0.834, 0.789, 0.754, 0.747, 0.771, 0.826",\
                 "1.194, 1.182, 1.121, 1.035, 0.963, 0.916, 0.882, 0.869, 0.892, 0.949",\
                 "1.389, 1.379, 1.317, 1.229, 1.161, 1.101, 1.069, 1.064, 1.081, 1.132",\
                 "1.659, 1.641, 1.579, 1.494, 1.417, 1.369, 1.332, 1.321, 1.332, 1.38",\
                 "1.99, 1.98, 1.914, 1.832, 1.753, 1.69, 1.656, 1.637, 1.651, 1.691",\
                 "2.383, 2.377, 2.306, 2.216, 2.136, 2.073, 2.03, 2.008, 2.015, 2.055",\
                 "2.834, 2.819, 2.756, 2.661, 2.572, 2.509, 2.459, 2.434, 2.44, 2.477");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.756, 0.737, 0.686, 0.62, 0.571, 0.568, 0.6, 0.655, 0.745, 0.863",\
                 "0.767, 0.754, 0.699, 0.63, 0.587, 0.578, 0.613, 0.665, 0.754, 0.871",\
                 "0.796, 0.781, 0.732, 0.657, 0.618, 0.61, 0.64, 0.696, 0.787, 0.902",\
                 "0.844, 0.826, 0.77, 0.705, 0.66, 0.65, 0.674, 0.727, 0.816, 0.927",\
                 "0.903, 0.888, 0.835, 0.76, 0.714, 0.697, 0.716, 0.765, 0.845, 0.955",\
                 "0.946, 0.931, 0.877, 0.812, 0.758, 0.739, 0.746, 0.794, 0.861, 0.97",\
                 "0.976, 0.955, 0.909, 0.835, 0.782, 0.763, 0.767, 0.803, 0.871, 0.973",\
                 "0.974, 0.959, 0.901, 0.83, 0.783, 0.755, 0.758, 0.79, 0.861, 0.957",\
                 "0.942, 0.924, 0.867, 0.801, 0.745, 0.716, 0.718, 0.753, 0.817, 0.92",\
                 "0.871, 0.853, 0.799, 0.725, 0.672, 0.647, 0.64, 0.671, 0.746, 0.84");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.7184 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&RN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1865, 0.1823, 0.1774, 0.1755, 0.1747, 0.1742, 0.1739, 0.1737, 0.1736, 0.1735",\
                 "0.1865, 0.1822, 0.1774, 0.1754, 0.1746, 0.1741, 0.1738, 0.1736, 0.1735, 0.1735",\
                 "0.1866, 0.1823, 0.1775, 0.1755, 0.1747, 0.1742, 0.1739, 0.1737, 0.1736, 0.1735",\
                 "0.1873, 0.1829, 0.1781, 0.176, 0.1753, 0.1748, 0.1745, 0.1743, 0.1742, 0.1741",\
                 "0.1882, 0.1837, 0.179, 0.1771, 0.1762, 0.1758, 0.1755, 0.1753, 0.1752, 0.1751",\
                 "0.1891, 0.1848, 0.1801, 0.1781, 0.1772, 0.1767, 0.1765, 0.1763, 0.1762, 0.1761",\
                 "0.1907, 0.1862, 0.1816, 0.1794, 0.1786, 0.1782, 0.1779, 0.1777, 0.1776, 0.1776",\
                 "0.1919, 0.1874, 0.1827, 0.1808, 0.1799, 0.1794, 0.1791, 0.1789, 0.1788, 0.1787",\
                 "0.1933, 0.189, 0.1842, 0.1822, 0.1813, 0.1809, 0.1805, 0.1804, 0.1803, 0.1802",\
                 "0.1948, 0.1905, 0.1858, 0.1838, 0.1828, 0.1824, 0.182, 0.1819, 0.1817, 0.1816");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2003, 0.1955, 0.1897, 0.1866, 0.1856, 0.1862, 0.187, 0.1876, 0.1895, 0.1995",\
                 "0.2003, 0.1956, 0.1897, 0.1869, 0.1856, 0.1861, 0.187, 0.1884, 0.1896, 0.1997",\
                 "0.2002, 0.1955, 0.1897, 0.1867, 0.1855, 0.1861, 0.187, 0.1875, 0.1898, 0.1999",\
                 "0.2003, 0.1957, 0.1899, 0.187, 0.1859, 0.1863, 0.187, 0.1883, 0.1899, 0.1995",\
                 "0.201, 0.1964, 0.1905, 0.1874, 0.1864, 0.1873, 0.1876, 0.1885, 0.1908, 0.2035",\
                 "0.2019, 0.1969, 0.1912, 0.1885, 0.1873, 0.1879, 0.1886, 0.1898, 0.1918, 0.2055",\
                 "0.2031, 0.1985, 0.1924, 0.1895, 0.1892, 0.1899, 0.1901, 0.1909, 0.1931, 0.2101",\
                 "0.2048, 0.2, 0.1941, 0.1908, 0.1895, 0.1914, 0.1929, 0.1937, 0.1953, 0.2196",\
                 "0.2067, 0.2019, 0.1961, 0.1931, 0.1916, 0.192, 0.1942, 0.1966, 0.1997, 0.2309",\
                 "0.2089, 0.2041, 0.1985, 0.1954, 0.194, 0.1932, 0.1946, 0.1976, 0.2054, 0.2539");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&!SE&SI | !D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1867, 0.1823, 0.1775, 0.1755, 0.1747, 0.1742, 0.1739, 0.1738, 0.1736, 0.1736",\
                 "0.1865, 0.1822, 0.1774, 0.1754, 0.1746, 0.1741, 0.1739, 0.1737, 0.1735, 0.1734",\
                 "0.1866, 0.1823, 0.1775, 0.1755, 0.1747, 0.1742, 0.1739, 0.1737, 0.1736, 0.1735",\
                 "0.1873, 0.1828, 0.1782, 0.1761, 0.1753, 0.1748, 0.1745, 0.1743, 0.1742, 0.1741",\
                 "0.1882, 0.1837, 0.1791, 0.1772, 0.1763, 0.1758, 0.1755, 0.1753, 0.1752, 0.1751",\
                 "0.1891, 0.1848, 0.1801, 0.1782, 0.1772, 0.1767, 0.1764, 0.1763, 0.1762, 0.1761",\
                 "0.1905, 0.1861, 0.1814, 0.1794, 0.1785, 0.178, 0.1777, 0.1775, 0.1774, 0.1774",\
                 "0.1918, 0.1875, 0.1827, 0.1807, 0.1798, 0.1794, 0.1791, 0.1789, 0.1788, 0.1787",\
                 "0.1933, 0.189, 0.1841, 0.1822, 0.1813, 0.1808, 0.1805, 0.1803, 0.1802, 0.1802",\
                 "0.1949, 0.1905, 0.1858, 0.1838, 0.1829, 0.1824, 0.1821, 0.1819, 0.1818, 0.1817");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2002, 0.1954, 0.1897, 0.1865, 0.1857, 0.1865, 0.1868, 0.1877, 0.1896, 0.1979",\
                 "0.2003, 0.1955, 0.1897, 0.1867, 0.1855, 0.1862, 0.1874, 0.1877, 0.19, 0.1998",\
                 "0.2002, 0.1955, 0.1895, 0.1867, 0.1856, 0.1859, 0.1869, 0.1876, 0.1898, 0.1999",\
                 "0.2004, 0.1956, 0.1898, 0.187, 0.1858, 0.1863, 0.187, 0.1883, 0.1898, 0.1995",\
                 "0.201, 0.1963, 0.1905, 0.1874, 0.1866, 0.1868, 0.1877, 0.1892, 0.1908, 0.2015",\
                 "0.2018, 0.1971, 0.1911, 0.1885, 0.1874, 0.1877, 0.1893, 0.1895, 0.1915, 0.205",\
                 "0.2032, 0.1985, 0.1926, 0.1895, 0.1894, 0.1898, 0.1901, 0.192, 0.1937, 0.2117",\
                 "0.2047, 0.2001, 0.1943, 0.1909, 0.1894, 0.191, 0.1929, 0.1937, 0.1953, 0.2179",\
                 "0.2067, 0.2022, 0.1962, 0.1932, 0.1915, 0.1919, 0.1942, 0.1973, 0.2001, 0.2301",\
                 "0.2088, 0.2043, 0.1985, 0.1952, 0.1938, 0.1933, 0.1945, 0.1976, 0.2051, 0.2531");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&SE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1866, 0.1823, 0.1775, 0.1756, 0.1747, 0.1742, 0.1739, 0.1738, 0.1736, 0.1736",\
                 "0.1865, 0.1822, 0.1774, 0.1754, 0.1746, 0.1741, 0.1739, 0.1737, 0.1736, 0.1735",\
                 "0.1866, 0.1823, 0.1775, 0.1755, 0.1747, 0.1742, 0.1739, 0.1737, 0.1736, 0.1736",\
                 "0.1873, 0.1828, 0.1782, 0.1761, 0.1753, 0.1748, 0.1745, 0.1744, 0.1742, 0.1741",\
                 "0.1883, 0.1839, 0.1791, 0.1772, 0.1763, 0.1759, 0.1756, 0.1754, 0.1753, 0.1752",\
                 "0.1892, 0.1848, 0.1801, 0.1781, 0.1772, 0.1767, 0.1764, 0.1763, 0.1762, 0.1761",\
                 "0.1905, 0.1861, 0.1814, 0.1794, 0.1785, 0.1781, 0.1778, 0.1776, 0.1775, 0.1774",\
                 "0.1919, 0.1875, 0.1828, 0.1807, 0.1799, 0.1794, 0.1792, 0.179, 0.1789, 0.1788",\
                 "0.1933, 0.1888, 0.1841, 0.1822, 0.1812, 0.1808, 0.1805, 0.1803, 0.1802, 0.1801",\
                 "0.1948, 0.1905, 0.1859, 0.1838, 0.1829, 0.1824, 0.1821, 0.1819, 0.1818, 0.1817");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2002, 0.1955, 0.1897, 0.1866, 0.1856, 0.1861, 0.187, 0.1883, 0.1906, 0.1982",\
                 "0.2003, 0.1956, 0.1897, 0.1869, 0.1856, 0.1861, 0.187, 0.1883, 0.1896, 0.1997",\
                 "0.2002, 0.1955, 0.1895, 0.1866, 0.1856, 0.1859, 0.1868, 0.1882, 0.1898, 0.1985",\
                 "0.2004, 0.1957, 0.1901, 0.1871, 0.1859, 0.1864, 0.1873, 0.1886, 0.1895, 0.1995",\
                 "0.201, 0.1964, 0.1905, 0.1874, 0.1865, 0.1869, 0.1876, 0.1888, 0.1908, 0.2017",\
                 "0.202, 0.1971, 0.1915, 0.1886, 0.1874, 0.188, 0.1886, 0.1902, 0.1915, 0.2071",\
                 "0.2032, 0.1983, 0.1924, 0.1894, 0.1893, 0.1897, 0.1901, 0.1909, 0.194, 0.2101",\
                 "0.2048, 0.1999, 0.1941, 0.1908, 0.1899, 0.1913, 0.1928, 0.1933, 0.1952, 0.2196",\
                 "0.2067, 0.2018, 0.1958, 0.193, 0.1912, 0.1914, 0.1941, 0.1963, 0.1994, 0.232",\
                 "0.2089, 0.2041, 0.1985, 0.1954, 0.194, 0.1932, 0.1946, 0.1976, 0.2058, 0.2528");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1866, 0.1821, 0.1774, 0.1754, 0.1746, 0.1741, 0.1739, 0.1737, 0.1735, 0.1735",\
                 "0.1865, 0.1822, 0.1774, 0.1754, 0.1745, 0.1741, 0.1738, 0.1737, 0.1735, 0.1735",\
                 "0.1866, 0.1823, 0.1775, 0.1755, 0.1747, 0.1742, 0.1739, 0.1737, 0.1736, 0.1735",\
                 "0.1873, 0.1828, 0.1782, 0.1761, 0.1753, 0.1749, 0.1746, 0.1744, 0.1742, 0.1742",\
                 "0.1882, 0.1838, 0.179, 0.1771, 0.1762, 0.1758, 0.1755, 0.1753, 0.1752, 0.1751",\
                 "0.1893, 0.1849, 0.1802, 0.1782, 0.1773, 0.1768, 0.1765, 0.1764, 0.1763, 0.1762",\
                 "0.1906, 0.1862, 0.1816, 0.1796, 0.1787, 0.1783, 0.178, 0.1778, 0.1777, 0.1776",\
                 "0.1919, 0.1874, 0.1828, 0.1808, 0.1799, 0.1794, 0.1791, 0.179, 0.1788, 0.1787",\
                 "0.1932, 0.1889, 0.1842, 0.1821, 0.1813, 0.1808, 0.1805, 0.1803, 0.1802, 0.1801",\
                 "0.1948, 0.1904, 0.1858, 0.1838, 0.1828, 0.1824, 0.1821, 0.1819, 0.1817, 0.1816");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2003, 0.1955, 0.1899, 0.1866, 0.1857, 0.1865, 0.1868, 0.188, 0.1896, 0.1983",\
                 "0.2002, 0.1955, 0.1899, 0.1869, 0.1856, 0.1864, 0.1867, 0.188, 0.1896, 0.1979",\
                 "0.2002, 0.1955, 0.1896, 0.1866, 0.1856, 0.1861, 0.1869, 0.1876, 0.1895, 0.2002",\
                 "0.2004, 0.1956, 0.1898, 0.187, 0.1858, 0.1863, 0.187, 0.1883, 0.1898, 0.1995",\
                 "0.201, 0.1963, 0.1906, 0.1875, 0.1867, 0.1872, 0.188, 0.1892, 0.1915, 0.2015",\
                 "0.2018, 0.197, 0.1911, 0.1884, 0.1873, 0.1877, 0.1893, 0.1898, 0.1915, 0.205",\
                 "0.2031, 0.1983, 0.1925, 0.1894, 0.1894, 0.1896, 0.1901, 0.1912, 0.193, 0.2117",\
                 "0.2047, 0.1999, 0.1941, 0.1909, 0.1895, 0.1914, 0.1929, 0.1937, 0.1959, 0.2178",\
                 "0.2068, 0.2022, 0.1963, 0.1933, 0.1914, 0.1916, 0.1939, 0.197, 0.1998, 0.2301",\
                 "0.2089, 0.204, 0.1983, 0.1953, 0.194, 0.1931, 0.1945, 0.1976, 0.2051, 0.2531");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1845, 0.1804, 0.1763, 0.1743, 0.1734, 0.1729, 0.1726, 0.1724, 0.1723, 0.1722",\
                 "0.1847, 0.1806, 0.1765, 0.1745, 0.1736, 0.1731, 0.1728, 0.1726, 0.1725, 0.1724",\
                 "0.1855, 0.1812, 0.1769, 0.175, 0.1742, 0.1737, 0.1734, 0.1732, 0.1731, 0.1731",\
                 "0.195, 0.1899, 0.184, 0.1809, 0.1795, 0.1788, 0.1784, 0.1782, 0.178, 0.1779",\
                 "0.2167, 0.21, 0.2008, 0.1955, 0.1928, 0.1913, 0.1903, 0.1898, 0.1896, 0.1893",\
                 "0.247, 0.239, 0.2262, 0.2183, 0.2139, 0.2114, 0.2099, 0.209, 0.2083, 0.2079",\
                 "0.2867, 0.2772, 0.261, 0.25, 0.2434, 0.2394, 0.2369, 0.2354, 0.2344, 0.2337",\
                 "0.3345, 0.3237, 0.3038, 0.2893, 0.2803, 0.2744, 0.2709, 0.2686, 0.267, 0.2658",\
                 "0.3896, 0.3775, 0.3538, 0.3359, 0.3241, 0.3163, 0.3112, 0.3079, 0.3057, 0.3041",\
                 "0.4504, 0.4372, 0.4099, 0.3886, 0.3737, 0.3639, 0.3573, 0.3525, 0.3495, 0.3474");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1845, 0.1804, 0.1763, 0.1743, 0.1734, 0.1729, 0.1726, 0.1724, 0.1723, 0.1722",\
                 "0.1847, 0.1806, 0.1765, 0.1745, 0.1736, 0.1731, 0.1728, 0.1726, 0.1725, 0.1724",\
                 "0.1855, 0.1812, 0.1769, 0.175, 0.1742, 0.1737, 0.1734, 0.1732, 0.1731, 0.1731",\
                 "0.195, 0.1899, 0.184, 0.1809, 0.1795, 0.1788, 0.1784, 0.1782, 0.178, 0.1779",\
                 "0.2167, 0.21, 0.2008, 0.1955, 0.1928, 0.1913, 0.1903, 0.1898, 0.1896, 0.1893",\
                 "0.247, 0.239, 0.2262, 0.2183, 0.2139, 0.2114, 0.2099, 0.209, 0.2083, 0.2079",\
                 "0.2867, 0.2772, 0.261, 0.25, 0.2434, 0.2394, 0.2369, 0.2354, 0.2344, 0.2337",\
                 "0.3345, 0.3237, 0.3038, 0.2893, 0.2803, 0.2744, 0.2709, 0.2686, 0.267, 0.2658",\
                 "0.3896, 0.3775, 0.3538, 0.3359, 0.3241, 0.3163, 0.3112, 0.3079, 0.3057, 0.3041",\
                 "0.4504, 0.4372, 0.4099, 0.3886, 0.3737, 0.3639, 0.3573, 0.3525, 0.3495, 0.3474");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1845, 0.1804, 0.1763, 0.1743, 0.1734, 0.1729, 0.1726, 0.1724, 0.1723, 0.1722",\
                 "0.1847, 0.1806, 0.1765, 0.1745, 0.1736, 0.1731, 0.1728, 0.1726, 0.1725, 0.1724",\
                 "0.1855, 0.1812, 0.1769, 0.175, 0.1742, 0.1737, 0.1734, 0.1732, 0.1731, 0.1731",\
                 "0.195, 0.1899, 0.184, 0.1809, 0.1795, 0.1788, 0.1784, 0.1782, 0.1781, 0.178",\
                 "0.2167, 0.21, 0.2008, 0.1955, 0.1927, 0.1913, 0.1903, 0.1898, 0.1895, 0.1893",\
                 "0.247, 0.239, 0.2262, 0.2183, 0.2139, 0.2113, 0.2098, 0.2089, 0.2083, 0.2079",\
                 "0.2867, 0.2772, 0.261, 0.25, 0.2434, 0.2394, 0.2369, 0.2354, 0.2344, 0.2337",\
                 "0.3346, 0.3237, 0.3038, 0.2894, 0.2803, 0.2745, 0.2708, 0.2686, 0.267, 0.2658",\
                 "0.3895, 0.3775, 0.3538, 0.336, 0.3241, 0.3163, 0.3112, 0.3079, 0.3057, 0.3041",\
                 "0.4504, 0.4372, 0.4099, 0.3886, 0.3737, 0.3638, 0.3572, 0.3525, 0.3495, 0.3474");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1845, 0.1804, 0.1763, 0.1743, 0.1734, 0.1729, 0.1726, 0.1724, 0.1723, 0.1722",\
                 "0.1847, 0.1806, 0.1765, 0.1745, 0.1736, 0.1731, 0.1728, 0.1726, 0.1725, 0.1724",\
                 "0.1855, 0.1812, 0.1769, 0.175, 0.1742, 0.1737, 0.1734, 0.1732, 0.1731, 0.1731",\
                 "0.195, 0.1899, 0.184, 0.1809, 0.1795, 0.1788, 0.1784, 0.1782, 0.1781, 0.178",\
                 "0.2167, 0.21, 0.2008, 0.1955, 0.1927, 0.1913, 0.1903, 0.1898, 0.1895, 0.1893",\
                 "0.247, 0.239, 0.2262, 0.2183, 0.2139, 0.2113, 0.2098, 0.2089, 0.2083, 0.2079",\
                 "0.2867, 0.2772, 0.261, 0.25, 0.2434, 0.2394, 0.2369, 0.2354, 0.2344, 0.2337",\
                 "0.3346, 0.3237, 0.3038, 0.2894, 0.2803, 0.2745, 0.2708, 0.2686, 0.267, 0.2658",\
                 "0.3895, 0.3775, 0.3538, 0.336, 0.3241, 0.3163, 0.3112, 0.3079, 0.3057, 0.3041",\
                 "0.4504, 0.4372, 0.4099, 0.3886, 0.3737, 0.3638, 0.3572, 0.3525, 0.3495, 0.3474");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1845, 0.1804, 0.1763, 0.1743, 0.1734, 0.1729, 0.1726, 0.1724, 0.1723, 0.1722",\
                 "0.1847, 0.1806, 0.1765, 0.1745, 0.1736, 0.1731, 0.1728, 0.1726, 0.1725, 0.1724",\
                 "0.1855, 0.1812, 0.1768, 0.175, 0.1742, 0.1737, 0.1734, 0.1732, 0.1731, 0.1731",\
                 "0.1949, 0.1899, 0.184, 0.1809, 0.1795, 0.1788, 0.1784, 0.1782, 0.178, 0.1779",\
                 "0.2167, 0.2101, 0.2008, 0.1955, 0.1927, 0.1912, 0.1903, 0.1898, 0.1896, 0.1893",\
                 "0.247, 0.2389, 0.2262, 0.2183, 0.2139, 0.2113, 0.2098, 0.2089, 0.2083, 0.2079",\
                 "0.2867, 0.2772, 0.261, 0.25, 0.2433, 0.2394, 0.2369, 0.2353, 0.2344, 0.2337",\
                 "0.3345, 0.3238, 0.3036, 0.2892, 0.2803, 0.2744, 0.2709, 0.2685, 0.2669, 0.2659",\
                 "0.3895, 0.3775, 0.3537, 0.3359, 0.3241, 0.3163, 0.3112, 0.3079, 0.3057, 0.3041",\
                 "0.4505, 0.4371, 0.4098, 0.3883, 0.3739, 0.3638, 0.3572, 0.3526, 0.3496, 0.3475");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1845, 0.1804, 0.1763, 0.1743, 0.1734, 0.1729, 0.1726, 0.1724, 0.1723, 0.1722",\
                 "0.1847, 0.1806, 0.1765, 0.1745, 0.1736, 0.1731, 0.1728, 0.1726, 0.1725, 0.1724",\
                 "0.1855, 0.1812, 0.1768, 0.175, 0.1742, 0.1737, 0.1734, 0.1732, 0.1731, 0.1731",\
                 "0.1949, 0.1899, 0.184, 0.1809, 0.1795, 0.1788, 0.1784, 0.1782, 0.178, 0.1779",\
                 "0.2167, 0.2101, 0.2008, 0.1955, 0.1927, 0.1912, 0.1903, 0.1898, 0.1896, 0.1893",\
                 "0.247, 0.2389, 0.2262, 0.2183, 0.2139, 0.2113, 0.2098, 0.2089, 0.2083, 0.2079",\
                 "0.2867, 0.2772, 0.261, 0.25, 0.2433, 0.2394, 0.2369, 0.2353, 0.2344, 0.2337",\
                 "0.3345, 0.3238, 0.3036, 0.2892, 0.2803, 0.2744, 0.2709, 0.2685, 0.2669, 0.2659",\
                 "0.3895, 0.3775, 0.3537, 0.3359, 0.3241, 0.3163, 0.3112, 0.3079, 0.3057, 0.3041",\
                 "0.4505, 0.4371, 0.4098, 0.3883, 0.3739, 0.3638, 0.3572, 0.3526, 0.3496, 0.3475");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1917, 0.1877, 0.1835, 0.1816, 0.1807, 0.1802, 0.1799, 0.1797, 0.1796, 0.1795",\
                 "0.1921, 0.1881, 0.1839, 0.1819, 0.181, 0.1805, 0.1802, 0.18, 0.1799, 0.1798",\
                 "0.1929, 0.1887, 0.1844, 0.1824, 0.1816, 0.1811, 0.1809, 0.1807, 0.1806, 0.1805",\
                 "0.2023, 0.1973, 0.1914, 0.1884, 0.187, 0.1862, 0.1858, 0.1856, 0.1855, 0.1854",\
                 "0.2242, 0.2175, 0.2082, 0.203, 0.2002, 0.1987, 0.1979, 0.1974, 0.197, 0.1968",\
                 "0.2545, 0.2463, 0.2337, 0.2258, 0.2214, 0.2188, 0.2173, 0.2164, 0.2158, 0.2154",\
                 "0.2942, 0.2847, 0.2685, 0.2575, 0.2508, 0.2468, 0.2443, 0.2428, 0.2418, 0.2411",\
                 "0.342, 0.3311, 0.3112, 0.2965, 0.2877, 0.2819, 0.2782, 0.2759, 0.2744, 0.2733",\
                 "0.3967, 0.3848, 0.361, 0.3434, 0.3315, 0.3237, 0.3186, 0.3153, 0.313, 0.3115",\
                 "0.4577, 0.4446, 0.4172, 0.396, 0.3813, 0.3713, 0.3645, 0.3599, 0.3569, 0.3547");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1917, 0.1877, 0.1835, 0.1816, 0.1807, 0.1802, 0.1799, 0.1797, 0.1796, 0.1795",\
                 "0.1921, 0.1881, 0.1839, 0.1819, 0.181, 0.1805, 0.1802, 0.18, 0.1799, 0.1798",\
                 "0.1929, 0.1887, 0.1844, 0.1824, 0.1816, 0.1811, 0.1809, 0.1807, 0.1806, 0.1805",\
                 "0.2023, 0.1973, 0.1914, 0.1884, 0.187, 0.1862, 0.1858, 0.1856, 0.1855, 0.1854",\
                 "0.2242, 0.2175, 0.2082, 0.203, 0.2002, 0.1987, 0.1979, 0.1974, 0.197, 0.1968",\
                 "0.2545, 0.2463, 0.2337, 0.2258, 0.2214, 0.2188, 0.2173, 0.2164, 0.2158, 0.2154",\
                 "0.2942, 0.2847, 0.2685, 0.2575, 0.2508, 0.2468, 0.2443, 0.2428, 0.2418, 0.2411",\
                 "0.342, 0.3311, 0.3112, 0.2965, 0.2877, 0.2819, 0.2782, 0.2759, 0.2744, 0.2733",\
                 "0.3967, 0.3848, 0.361, 0.3434, 0.3315, 0.3237, 0.3186, 0.3153, 0.313, 0.3115",\
                 "0.4577, 0.4446, 0.4172, 0.396, 0.3813, 0.3713, 0.3645, 0.3599, 0.3569, 0.3547");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1917, 0.1877, 0.1835, 0.1816, 0.1807, 0.1802, 0.1799, 0.1797, 0.1796, 0.1795",\
                 "0.1921, 0.1881, 0.1839, 0.1819, 0.1811, 0.1805, 0.1802, 0.18, 0.1799, 0.1798",\
                 "0.1929, 0.1887, 0.1844, 0.1824, 0.1816, 0.1811, 0.1809, 0.1807, 0.1806, 0.1805",\
                 "0.2023, 0.1973, 0.1913, 0.1884, 0.187, 0.1862, 0.1858, 0.1856, 0.1855, 0.1854",\
                 "0.2242, 0.2175, 0.2083, 0.2029, 0.2002, 0.1987, 0.1978, 0.1973, 0.197, 0.1968",\
                 "0.2544, 0.2465, 0.2336, 0.2258, 0.2215, 0.2189, 0.2174, 0.2164, 0.2158, 0.2154",\
                 "0.2942, 0.2848, 0.2683, 0.2575, 0.2508, 0.2468, 0.2444, 0.2428, 0.2418, 0.2411",\
                 "0.3419, 0.3311, 0.3112, 0.2968, 0.2877, 0.2819, 0.2783, 0.276, 0.2744, 0.2733",\
                 "0.3968, 0.3848, 0.3612, 0.3433, 0.3316, 0.3237, 0.3187, 0.3154, 0.3131, 0.3115",\
                 "0.4577, 0.4447, 0.4172, 0.3958, 0.3813, 0.3712, 0.3645, 0.3601, 0.357, 0.3548");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1917, 0.1877, 0.1835, 0.1816, 0.1807, 0.1802, 0.1799, 0.1797, 0.1796, 0.1795",\
                 "0.1921, 0.1881, 0.1839, 0.1819, 0.1811, 0.1805, 0.1802, 0.18, 0.1799, 0.1798",\
                 "0.1929, 0.1887, 0.1844, 0.1824, 0.1816, 0.1811, 0.1809, 0.1807, 0.1806, 0.1805",\
                 "0.2023, 0.1973, 0.1913, 0.1884, 0.187, 0.1862, 0.1858, 0.1856, 0.1855, 0.1854",\
                 "0.2242, 0.2175, 0.2083, 0.2029, 0.2002, 0.1987, 0.1978, 0.1973, 0.197, 0.1968",\
                 "0.2544, 0.2465, 0.2336, 0.2258, 0.2215, 0.2189, 0.2174, 0.2164, 0.2158, 0.2154",\
                 "0.2942, 0.2848, 0.2683, 0.2575, 0.2508, 0.2468, 0.2444, 0.2428, 0.2418, 0.2411",\
                 "0.3419, 0.3311, 0.3112, 0.2968, 0.2877, 0.2819, 0.2783, 0.276, 0.2744, 0.2733",\
                 "0.3968, 0.3848, 0.3612, 0.3433, 0.3316, 0.3237, 0.3187, 0.3154, 0.3131, 0.3115",\
                 "0.4577, 0.4447, 0.4172, 0.3958, 0.3813, 0.3712, 0.3645, 0.3601, 0.357, 0.3548");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1917, 0.1877, 0.1835, 0.1816, 0.1807, 0.1802, 0.1799, 0.1797, 0.1796, 0.1795",\
                 "0.1921, 0.1881, 0.1839, 0.1819, 0.1811, 0.1805, 0.1802, 0.18, 0.1799, 0.1798",\
                 "0.1929, 0.1887, 0.1844, 0.1824, 0.1816, 0.1811, 0.1809, 0.1807, 0.1806, 0.1805",\
                 "0.2024, 0.1973, 0.1913, 0.1884, 0.187, 0.1862, 0.1858, 0.1856, 0.1855, 0.1854",\
                 "0.2242, 0.2175, 0.2083, 0.2029, 0.2002, 0.1987, 0.1979, 0.1973, 0.197, 0.1968",\
                 "0.2545, 0.2464, 0.2337, 0.2259, 0.2214, 0.2188, 0.2173, 0.2164, 0.2158, 0.2154",\
                 "0.2942, 0.2848, 0.2683, 0.2575, 0.2508, 0.2468, 0.2444, 0.2428, 0.2418, 0.2411",\
                 "0.3419, 0.3312, 0.3112, 0.2968, 0.2877, 0.2819, 0.2783, 0.276, 0.2744, 0.2733",\
                 "0.3968, 0.3847, 0.3612, 0.3432, 0.3316, 0.3237, 0.3186, 0.3153, 0.3131, 0.3115",\
                 "0.4577, 0.4447, 0.4172, 0.3958, 0.3813, 0.3712, 0.3645, 0.3601, 0.357, 0.3548");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1917, 0.1877, 0.1835, 0.1816, 0.1807, 0.1802, 0.1799, 0.1797, 0.1796, 0.1795",\
                 "0.1921, 0.1881, 0.1839, 0.1819, 0.1811, 0.1805, 0.1802, 0.18, 0.1799, 0.1798",\
                 "0.1929, 0.1887, 0.1844, 0.1824, 0.1816, 0.1811, 0.1809, 0.1807, 0.1806, 0.1805",\
                 "0.2024, 0.1973, 0.1913, 0.1884, 0.187, 0.1862, 0.1858, 0.1856, 0.1855, 0.1854",\
                 "0.2242, 0.2175, 0.2083, 0.2029, 0.2002, 0.1987, 0.1979, 0.1973, 0.197, 0.1968",\
                 "0.2545, 0.2464, 0.2337, 0.2259, 0.2214, 0.2188, 0.2173, 0.2164, 0.2158, 0.2154",\
                 "0.2942, 0.2848, 0.2683, 0.2575, 0.2508, 0.2468, 0.2444, 0.2428, 0.2418, 0.2411",\
                 "0.3419, 0.3312, 0.3112, 0.2968, 0.2877, 0.2819, 0.2783, 0.276, 0.2744, 0.2733",\
                 "0.3968, 0.3847, 0.3612, 0.3432, 0.3316, 0.3237, 0.3186, 0.3153, 0.3131, 0.3115",\
                 "0.4577, 0.4447, 0.4172, 0.3958, 0.3813, 0.3712, 0.3645, 0.3601, 0.357, 0.3548");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1845, 0.1804, 0.1763, 0.1743, 0.1734, 0.1729, 0.1726, 0.1724, 0.1723, 0.1722",\
                 "0.1847, 0.1807, 0.1765, 0.1745, 0.1736, 0.1731, 0.1728, 0.1726, 0.1725, 0.1724",\
                 "0.1854, 0.1812, 0.1768, 0.175, 0.1741, 0.1737, 0.1734, 0.1732, 0.1731, 0.1731",\
                 "0.1949, 0.1899, 0.184, 0.1809, 0.1795, 0.1788, 0.1784, 0.1782, 0.178, 0.1779",\
                 "0.2167, 0.21, 0.2008, 0.1955, 0.1927, 0.1912, 0.1903, 0.1898, 0.1895, 0.1893",\
                 "0.247, 0.2389, 0.2262, 0.2183, 0.214, 0.2113, 0.2098, 0.2089, 0.2083, 0.2079",\
                 "0.2867, 0.2772, 0.261, 0.25, 0.2434, 0.2394, 0.2369, 0.2354, 0.2344, 0.2337",\
                 "0.3345, 0.3238, 0.3039, 0.2892, 0.2803, 0.2745, 0.2709, 0.2686, 0.2669, 0.2659",\
                 "0.3895, 0.3775, 0.3538, 0.336, 0.3241, 0.3163, 0.3112, 0.3079, 0.3057, 0.3041",\
                 "0.4505, 0.4372, 0.4098, 0.3886, 0.3738, 0.3639, 0.357, 0.3526, 0.3494, 0.3473");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1845, 0.1804, 0.1763, 0.1743, 0.1734, 0.1729, 0.1726, 0.1724, 0.1723, 0.1722",\
                 "0.1847, 0.1807, 0.1765, 0.1745, 0.1736, 0.1731, 0.1728, 0.1726, 0.1725, 0.1724",\
                 "0.1854, 0.1812, 0.1768, 0.175, 0.1741, 0.1737, 0.1734, 0.1732, 0.1731, 0.1731",\
                 "0.1949, 0.1899, 0.184, 0.1809, 0.1795, 0.1788, 0.1784, 0.1782, 0.178, 0.1779",\
                 "0.2167, 0.21, 0.2008, 0.1955, 0.1927, 0.1912, 0.1903, 0.1898, 0.1895, 0.1893",\
                 "0.247, 0.2389, 0.2262, 0.2183, 0.214, 0.2113, 0.2098, 0.2089, 0.2083, 0.2079",\
                 "0.2867, 0.2772, 0.261, 0.25, 0.2434, 0.2394, 0.2369, 0.2354, 0.2344, 0.2337",\
                 "0.3345, 0.3238, 0.3039, 0.2892, 0.2803, 0.2745, 0.2709, 0.2686, 0.2669, 0.2659",\
                 "0.3895, 0.3775, 0.3538, 0.336, 0.3241, 0.3163, 0.3112, 0.3079, 0.3057, 0.3041",\
                 "0.4505, 0.4372, 0.4098, 0.3886, 0.3738, 0.3639, 0.357, 0.3526, 0.3494, 0.3473");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1917, 0.1877, 0.1835, 0.1816, 0.1807, 0.1802, 0.1799, 0.1797, 0.1796, 0.1795",\
                 "0.1921, 0.1881, 0.1839, 0.1819, 0.181, 0.1805, 0.1802, 0.18, 0.1799, 0.1798",\
                 "0.1929, 0.1887, 0.1844, 0.1824, 0.1816, 0.1811, 0.1809, 0.1807, 0.1806, 0.1805",\
                 "0.2024, 0.1973, 0.1913, 0.1884, 0.187, 0.1862, 0.1858, 0.1856, 0.1855, 0.1854",\
                 "0.2242, 0.2174, 0.2082, 0.203, 0.2002, 0.1987, 0.1979, 0.1974, 0.197, 0.1968",\
                 "0.2545, 0.2463, 0.2337, 0.2258, 0.2214, 0.2188, 0.2173, 0.2164, 0.2158, 0.2154",\
                 "0.2942, 0.2847, 0.2684, 0.2575, 0.2508, 0.2468, 0.2444, 0.2428, 0.2418, 0.2411",\
                 "0.342, 0.3312, 0.3112, 0.2966, 0.2877, 0.2819, 0.2783, 0.276, 0.2744, 0.2733",\
                 "0.3968, 0.3848, 0.361, 0.3433, 0.3315, 0.3237, 0.3186, 0.3153, 0.313, 0.3115",\
                 "0.4579, 0.4446, 0.4172, 0.3961, 0.3813, 0.3713, 0.3646, 0.3601, 0.3569, 0.3548");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1917, 0.1877, 0.1835, 0.1816, 0.1807, 0.1802, 0.1799, 0.1797, 0.1796, 0.1795",\
                 "0.1921, 0.1881, 0.1839, 0.1819, 0.181, 0.1805, 0.1802, 0.18, 0.1799, 0.1798",\
                 "0.1929, 0.1887, 0.1844, 0.1824, 0.1816, 0.1811, 0.1809, 0.1807, 0.1806, 0.1805",\
                 "0.2024, 0.1973, 0.1913, 0.1884, 0.187, 0.1862, 0.1858, 0.1856, 0.1855, 0.1854",\
                 "0.2242, 0.2174, 0.2082, 0.203, 0.2002, 0.1987, 0.1979, 0.1974, 0.197, 0.1968",\
                 "0.2545, 0.2463, 0.2337, 0.2258, 0.2214, 0.2188, 0.2173, 0.2164, 0.2158, 0.2154",\
                 "0.2942, 0.2847, 0.2684, 0.2575, 0.2508, 0.2468, 0.2444, 0.2428, 0.2418, 0.2411",\
                 "0.342, 0.3312, 0.3112, 0.2966, 0.2877, 0.2819, 0.2783, 0.276, 0.2744, 0.2733",\
                 "0.3968, 0.3848, 0.361, 0.3433, 0.3315, 0.3237, 0.3186, 0.3153, 0.313, 0.3115",\
                 "0.4579, 0.4446, 0.4172, 0.3961, 0.3813, 0.3713, 0.3646, 0.3601, 0.3569, 0.3548");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.263, 0.2629, 0.2628",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2638, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2727, 0.2681, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2728, 0.272, 0.2716, 0.2713, 0.2712, 0.271",\
                 "0.3174, 0.3106, 0.3011, 0.2957, 0.2929, 0.2913, 0.2904, 0.2899, 0.2895, 0.2893",\
                 "0.3607, 0.3525, 0.3395, 0.3314, 0.3269, 0.3242, 0.3226, 0.3216, 0.321, 0.3205",\
                 "0.4198, 0.4101, 0.3935, 0.3824, 0.3756, 0.3715, 0.369, 0.3673, 0.3663, 0.3655",\
                 "0.4923, 0.4816, 0.4613, 0.4466, 0.4374, 0.4314, 0.4276, 0.4251, 0.4235, 0.4223",\
                 "0.5773, 0.5656, 0.5413, 0.5233, 0.5111, 0.5031, 0.4977, 0.4943, 0.4919, 0.4902",\
                 "0.673, 0.6604, 0.6332, 0.611, 0.5959, 0.5855, 0.5784, 0.5737, 0.5704, 0.5681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.263, 0.2629, 0.2628",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2638, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2727, 0.2681, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2728, 0.272, 0.2716, 0.2713, 0.2712, 0.271",\
                 "0.3174, 0.3106, 0.3011, 0.2957, 0.2929, 0.2913, 0.2904, 0.2899, 0.2895, 0.2893",\
                 "0.3607, 0.3525, 0.3395, 0.3314, 0.3269, 0.3242, 0.3226, 0.3216, 0.321, 0.3205",\
                 "0.4198, 0.4101, 0.3935, 0.3824, 0.3756, 0.3715, 0.369, 0.3673, 0.3663, 0.3655",\
                 "0.4923, 0.4816, 0.4613, 0.4466, 0.4374, 0.4314, 0.4276, 0.4251, 0.4235, 0.4223",\
                 "0.5773, 0.5656, 0.5413, 0.5233, 0.5111, 0.5031, 0.4977, 0.4943, 0.4919, 0.4902",\
                 "0.673, 0.6604, 0.6332, 0.611, 0.5959, 0.5855, 0.5784, 0.5737, 0.5704, 0.5681");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.263, 0.2629, 0.2628",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2638, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2727, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2743, 0.2727, 0.272, 0.2716, 0.2713, 0.2712, 0.271",\
                 "0.3174, 0.3106, 0.3011, 0.2957, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2893",\
                 "0.3607, 0.3525, 0.3395, 0.3314, 0.3269, 0.3242, 0.3226, 0.3217, 0.321, 0.3206",\
                 "0.4197, 0.4101, 0.3935, 0.3824, 0.3756, 0.3715, 0.3689, 0.3673, 0.3662, 0.3655",\
                 "0.4923, 0.4816, 0.4613, 0.4466, 0.4373, 0.4313, 0.4276, 0.4251, 0.4235, 0.4223",\
                 "0.5773, 0.5656, 0.5413, 0.5234, 0.5111, 0.5031, 0.4977, 0.4943, 0.4919, 0.4902",\
                 "0.673, 0.6605, 0.6332, 0.611, 0.5958, 0.5854, 0.5784, 0.5737, 0.5704, 0.5681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.263, 0.2629, 0.2628",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2638, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2727, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2743, 0.2727, 0.272, 0.2716, 0.2713, 0.2712, 0.271",\
                 "0.3174, 0.3106, 0.3011, 0.2957, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2893",\
                 "0.3607, 0.3525, 0.3395, 0.3314, 0.3269, 0.3242, 0.3226, 0.3217, 0.321, 0.3206",\
                 "0.4197, 0.4101, 0.3935, 0.3824, 0.3756, 0.3715, 0.3689, 0.3673, 0.3662, 0.3655",\
                 "0.4923, 0.4816, 0.4613, 0.4466, 0.4373, 0.4313, 0.4276, 0.4251, 0.4235, 0.4223",\
                 "0.5773, 0.5656, 0.5413, 0.5234, 0.5111, 0.5031, 0.4977, 0.4943, 0.4919, 0.4902",\
                 "0.673, 0.6605, 0.6332, 0.611, 0.5958, 0.5854, 0.5784, 0.5737, 0.5704, 0.5681");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.263, 0.2629, 0.2628",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2651, 0.2647, 0.2644, 0.2642, 0.264, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2727, 0.272, 0.2715, 0.2713, 0.2711, 0.271",\
                 "0.3173, 0.3106, 0.301, 0.2956, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2892",\
                 "0.3607, 0.3525, 0.3395, 0.3313, 0.3269, 0.3242, 0.3226, 0.3217, 0.3211, 0.3206",\
                 "0.4197, 0.4101, 0.3935, 0.3825, 0.3756, 0.3714, 0.3689, 0.3673, 0.3662, 0.3655",\
                 "0.4923, 0.4817, 0.4613, 0.4468, 0.4372, 0.4314, 0.4276, 0.4252, 0.4235, 0.4223",\
                 "0.5773, 0.5655, 0.5414, 0.5234, 0.5111, 0.5029, 0.4978, 0.4943, 0.4919, 0.4903",\
                 "0.673, 0.6604, 0.6332, 0.611, 0.5959, 0.5855, 0.5784, 0.5737, 0.5705, 0.5681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.263, 0.2629, 0.2628",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2651, 0.2647, 0.2644, 0.2642, 0.264, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2727, 0.272, 0.2715, 0.2713, 0.2711, 0.271",\
                 "0.3173, 0.3106, 0.301, 0.2956, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2892",\
                 "0.3607, 0.3525, 0.3395, 0.3313, 0.3269, 0.3242, 0.3226, 0.3217, 0.3211, 0.3206",\
                 "0.4197, 0.4101, 0.3935, 0.3825, 0.3756, 0.3714, 0.3689, 0.3673, 0.3662, 0.3655",\
                 "0.4923, 0.4817, 0.4613, 0.4468, 0.4372, 0.4314, 0.4276, 0.4252, 0.4235, 0.4223",\
                 "0.5773, 0.5655, 0.5414, 0.5234, 0.5111, 0.5029, 0.4978, 0.4943, 0.4919, 0.4903",\
                 "0.673, 0.6604, 0.6332, 0.611, 0.5959, 0.5855, 0.5784, 0.5737, 0.5705, 0.5681");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.2631, 0.2629, 0.2629",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2728, 0.272, 0.2716, 0.2713, 0.2711, 0.271",\
                 "0.3174, 0.3105, 0.301, 0.2957, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2892",\
                 "0.3607, 0.3526, 0.3396, 0.3315, 0.3269, 0.3242, 0.3227, 0.3217, 0.321, 0.3206",\
                 "0.4198, 0.4104, 0.3936, 0.3824, 0.3756, 0.3715, 0.369, 0.3673, 0.3663, 0.3655",\
                 "0.4923, 0.4816, 0.4612, 0.4466, 0.4373, 0.4313, 0.4274, 0.4251, 0.4234, 0.4223",\
                 "0.5773, 0.5656, 0.5416, 0.5233, 0.5111, 0.503, 0.4977, 0.4942, 0.4919, 0.4902",\
                 "0.6731, 0.6604, 0.633, 0.6111, 0.5958, 0.5854, 0.5784, 0.5737, 0.5704, 0.5681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.2631, 0.2629, 0.2629",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2728, 0.272, 0.2716, 0.2713, 0.2711, 0.271",\
                 "0.3174, 0.3105, 0.301, 0.2957, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2892",\
                 "0.3607, 0.3526, 0.3396, 0.3315, 0.3269, 0.3242, 0.3227, 0.3217, 0.321, 0.3206",\
                 "0.4198, 0.4104, 0.3936, 0.3824, 0.3756, 0.3715, 0.369, 0.3673, 0.3663, 0.3655",\
                 "0.4923, 0.4816, 0.4612, 0.4466, 0.4373, 0.4313, 0.4274, 0.4251, 0.4234, 0.4223",\
                 "0.5773, 0.5656, 0.5416, 0.5233, 0.5111, 0.503, 0.4977, 0.4942, 0.4919, 0.4902",\
                 "0.6731, 0.6604, 0.633, 0.6111, 0.5958, 0.5854, 0.5784, 0.5737, 0.5704, 0.5681");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.2631, 0.2629, 0.2629",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2773, 0.2743, 0.2728, 0.272, 0.2716, 0.2713, 0.2712, 0.271",\
                 "0.3174, 0.3105, 0.3011, 0.2956, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2892",\
                 "0.3607, 0.3526, 0.3395, 0.3315, 0.3269, 0.3243, 0.3227, 0.3217, 0.321, 0.3206",\
                 "0.4198, 0.4104, 0.3937, 0.3823, 0.3756, 0.3716, 0.369, 0.3673, 0.3663, 0.3656",\
                 "0.4924, 0.4816, 0.4613, 0.4468, 0.4373, 0.4314, 0.4276, 0.4252, 0.4235, 0.4223",\
                 "0.5772, 0.5655, 0.5416, 0.5234, 0.5111, 0.5032, 0.4978, 0.4944, 0.4919, 0.4903",\
                 "0.6732, 0.6605, 0.633, 0.6112, 0.5958, 0.5854, 0.5784, 0.5738, 0.5705, 0.5682");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.2631, 0.2629, 0.2629",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2773, 0.2743, 0.2728, 0.272, 0.2716, 0.2713, 0.2712, 0.271",\
                 "0.3174, 0.3105, 0.3011, 0.2956, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2892",\
                 "0.3607, 0.3526, 0.3395, 0.3315, 0.3269, 0.3243, 0.3227, 0.3217, 0.321, 0.3206",\
                 "0.4198, 0.4104, 0.3937, 0.3823, 0.3756, 0.3716, 0.369, 0.3673, 0.3663, 0.3656",\
                 "0.4924, 0.4816, 0.4613, 0.4468, 0.4373, 0.4314, 0.4276, 0.4252, 0.4235, 0.4223",\
                 "0.5772, 0.5655, 0.5416, 0.5234, 0.5111, 0.5032, 0.4978, 0.4944, 0.4919, 0.4903",\
                 "0.6732, 0.6605, 0.633, 0.6112, 0.5958, 0.5854, 0.5784, 0.5738, 0.5705, 0.5682");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.2631, 0.2629, 0.2629",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2727, 0.272, 0.2716, 0.2713, 0.2712, 0.271",\
                 "0.3174, 0.3106, 0.3011, 0.2956, 0.2929, 0.2913, 0.2904, 0.2899, 0.2895, 0.2893",\
                 "0.3607, 0.3525, 0.3395, 0.3315, 0.3269, 0.3243, 0.3227, 0.3217, 0.321, 0.3206",\
                 "0.4198, 0.4104, 0.3937, 0.3824, 0.3756, 0.3715, 0.369, 0.3673, 0.3663, 0.3656",\
                 "0.4924, 0.4816, 0.4613, 0.4468, 0.4374, 0.4314, 0.4276, 0.4252, 0.4234, 0.4223",\
                 "0.5773, 0.5655, 0.5416, 0.5234, 0.5111, 0.5031, 0.4978, 0.4943, 0.4919, 0.4903",\
                 "0.6732, 0.6604, 0.633, 0.6112, 0.5958, 0.5854, 0.5784, 0.5738, 0.5706, 0.5681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.2631, 0.2629, 0.2629",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2727, 0.272, 0.2716, 0.2713, 0.2712, 0.271",\
                 "0.3174, 0.3106, 0.3011, 0.2956, 0.2929, 0.2913, 0.2904, 0.2899, 0.2895, 0.2893",\
                 "0.3607, 0.3525, 0.3395, 0.3315, 0.3269, 0.3243, 0.3227, 0.3217, 0.321, 0.3206",\
                 "0.4198, 0.4104, 0.3937, 0.3824, 0.3756, 0.3715, 0.369, 0.3673, 0.3663, 0.3656",\
                 "0.4924, 0.4816, 0.4613, 0.4468, 0.4374, 0.4314, 0.4276, 0.4252, 0.4234, 0.4223",\
                 "0.5773, 0.5655, 0.5416, 0.5234, 0.5111, 0.5031, 0.4978, 0.4943, 0.4919, 0.4903",\
                 "0.6732, 0.6604, 0.633, 0.6112, 0.5958, 0.5854, 0.5784, 0.5738, 0.5706, 0.5681");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.263, 0.2629, 0.2628",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2887, 0.2835, 0.2773, 0.2743, 0.2728, 0.272, 0.2716, 0.2713, 0.2712, 0.2711",\
                 "0.3174, 0.3107, 0.3011, 0.2957, 0.2929, 0.2913, 0.2904, 0.2899, 0.2895, 0.2893",\
                 "0.3607, 0.3525, 0.3395, 0.3314, 0.3269, 0.3242, 0.3226, 0.3217, 0.321, 0.3206",\
                 "0.4197, 0.4102, 0.3935, 0.3825, 0.3756, 0.3715, 0.3689, 0.3673, 0.3662, 0.3655",\
                 "0.4923, 0.4816, 0.4613, 0.4467, 0.4373, 0.4314, 0.4276, 0.4252, 0.4235, 0.4223",\
                 "0.5773, 0.5656, 0.5414, 0.5234, 0.511, 0.5031, 0.4978, 0.4943, 0.4919, 0.4903",\
                 "0.673, 0.6605, 0.6332, 0.611, 0.596, 0.5856, 0.5785, 0.5737, 0.5705, 0.5681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.263, 0.2629, 0.2628",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2887, 0.2835, 0.2773, 0.2743, 0.2728, 0.272, 0.2716, 0.2713, 0.2712, 0.2711",\
                 "0.3174, 0.3107, 0.3011, 0.2957, 0.2929, 0.2913, 0.2904, 0.2899, 0.2895, 0.2893",\
                 "0.3607, 0.3525, 0.3395, 0.3314, 0.3269, 0.3242, 0.3226, 0.3217, 0.321, 0.3206",\
                 "0.4197, 0.4102, 0.3935, 0.3825, 0.3756, 0.3715, 0.3689, 0.3673, 0.3662, 0.3655",\
                 "0.4923, 0.4816, 0.4613, 0.4467, 0.4373, 0.4314, 0.4276, 0.4252, 0.4235, 0.4223",\
                 "0.5773, 0.5656, 0.5414, 0.5234, 0.511, 0.5031, 0.4978, 0.4943, 0.4919, 0.4903",\
                 "0.673, 0.6605, 0.6332, 0.611, 0.596, 0.5856, 0.5785, 0.5737, 0.5705, 0.5681");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.2631, 0.2629, 0.2629",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2728, 0.272, 0.2715, 0.2713, 0.2711, 0.271",\
                 "0.3174, 0.3105, 0.3011, 0.2957, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2892",\
                 "0.3607, 0.3526, 0.3396, 0.3315, 0.3269, 0.3242, 0.3227, 0.3217, 0.321, 0.3206",\
                 "0.4198, 0.4104, 0.3937, 0.3824, 0.3756, 0.3715, 0.369, 0.3673, 0.3663, 0.3655",\
                 "0.4924, 0.4816, 0.4612, 0.4467, 0.4374, 0.4314, 0.4275, 0.4251, 0.4235, 0.4223",\
                 "0.5773, 0.5656, 0.5416, 0.5234, 0.5112, 0.5031, 0.4977, 0.4942, 0.4919, 0.4902",\
                 "0.6731, 0.6604, 0.633, 0.6112, 0.5958, 0.5854, 0.5784, 0.5737, 0.5704, 0.5681");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.2757, 0.2715, 0.2671, 0.2651, 0.2642, 0.2636, 0.2633, 0.2631, 0.2629, 0.2629",\
                 "0.2762, 0.272, 0.2675, 0.2655, 0.2646, 0.2641, 0.2637, 0.2635, 0.2634, 0.2633",\
                 "0.2769, 0.2726, 0.268, 0.2661, 0.2652, 0.2647, 0.2644, 0.2642, 0.2641, 0.264",\
                 "0.2886, 0.2834, 0.2772, 0.2742, 0.2728, 0.272, 0.2715, 0.2713, 0.2711, 0.271",\
                 "0.3174, 0.3105, 0.3011, 0.2957, 0.2929, 0.2913, 0.2904, 0.2898, 0.2895, 0.2892",\
                 "0.3607, 0.3526, 0.3396, 0.3315, 0.3269, 0.3242, 0.3227, 0.3217, 0.321, 0.3206",\
                 "0.4198, 0.4104, 0.3937, 0.3824, 0.3756, 0.3715, 0.369, 0.3673, 0.3663, 0.3655",\
                 "0.4924, 0.4816, 0.4612, 0.4467, 0.4374, 0.4314, 0.4275, 0.4251, 0.4235, 0.4223",\
                 "0.5773, 0.5656, 0.5416, 0.5234, 0.5112, 0.5031, 0.4977, 0.4942, 0.4919, 0.4902",\
                 "0.6731, 0.6604, 0.633, 0.6112, 0.5958, 0.5854, 0.5784, 0.5737, 0.5704, 0.5681");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.9518, 0.9938, 1.099, 1.25, 1.453, 1.726, 2.084, 2.534, 3.083, 3.737",\
                 "0.9654, 1.007, 1.113, 1.263, 1.467, 1.74, 2.098, 2.548, 3.097, 3.752",\
                 "1.016, 1.058, 1.164, 1.314, 1.517, 1.791, 2.148, 2.598, 3.148, 3.802",\
                 "1.092, 1.134, 1.24, 1.39, 1.593, 1.867, 2.224, 2.674, 3.224, 3.879",\
                 "1.156, 1.198, 1.304, 1.454, 1.657, 1.93, 2.288, 2.738, 3.287, 3.942",\
                 "1.205, 1.247, 1.352, 1.503, 1.706, 1.979, 2.337, 2.787, 3.337, 3.991",\
                 "1.236, 1.277, 1.383, 1.534, 1.737, 2.01, 2.368, 2.818, 3.367, 4.022",\
                 "1.244, 1.286, 1.392, 1.542, 1.745, 2.019, 2.376, 2.826, 3.375, 4.03",\
                 "1.228, 1.27, 1.375, 1.526, 1.729, 2.002, 2.36, 2.809, 3.359, 4.013",\
                 "1.184, 1.226, 1.332, 1.482, 1.685, 1.959, 2.316, 2.766, 3.316, 3.97");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("1.037, 1.088, 1.232, 1.466, 1.816, 2.305, 2.95, 3.761, 4.753, 5.933",\
                 "1.051, 1.102, 1.245, 1.48, 1.83, 2.319, 2.963, 3.775, 4.767, 5.946",\
                 "1.101, 1.152, 1.295, 1.529, 1.879, 2.369, 3.013, 3.825, 4.817, 5.997",\
                 "1.174, 1.226, 1.369, 1.604, 1.954, 2.443, 3.087, 3.898, 4.89, 6.072",\
                 "1.237, 1.288, 1.431, 1.666, 2.016, 2.505, 3.149, 3.961, 4.953, 6.133",\
                 "1.285, 1.336, 1.48, 1.714, 2.064, 2.554, 3.197, 4.01, 5.001, 6.183",\
                 "1.316, 1.367, 1.51, 1.745, 2.095, 2.584, 3.228, 4.041, 5.033, 6.214",\
                 "1.327, 1.378, 1.521, 1.756, 2.106, 2.595, 3.239, 4.05, 5.041, 6.222",\
                 "1.314, 1.365, 1.508, 1.743, 2.093, 2.583, 3.226, 4.038, 5.028, 6.208",\
                 "1.275, 1.326, 1.47, 1.704, 2.054, 2.544, 3.188, 3.999, 4.99, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1078, 0.148, 0.2582, 0.4396, 0.7388, 1.181, 1.777, 2.531, 3.454, 4.561",\
                 "0.1078, 0.1482, 0.2582, 0.4396, 0.7388, 1.179, 1.777, 2.533, 3.458, 4.562",\
                 "0.1078, 0.1482, 0.2584, 0.44, 0.7388, 1.181, 1.777, 2.533, 3.454, 4.562",\
                 "0.108, 0.148, 0.2584, 0.4394, 0.7378, 1.181, 1.777, 2.533, 3.456, 4.562",\
                 "0.1076, 0.1476, 0.2582, 0.44, 0.739, 1.181, 1.775, 2.531, 3.456, 4.558",\
                 "0.108, 0.1474, 0.2582, 0.44, 0.7382, 1.179, 1.775, 2.532, 3.458, 4.56",\
                 "0.1078, 0.1478, 0.2586, 0.4398, 0.7378, 1.181, 1.775, 2.53, 3.454, 4.558",\
                 "0.108, 0.1478, 0.2584, 0.4402, 0.7378, 1.179, 1.776, 2.528, 3.449, 4.55",\
                 "0.1076, 0.1478, 0.258, 0.4402, 0.7382, 1.18, 1.775, 2.53, 3.452, 4.547",\
                 "0.1078, 0.148, 0.2582, 0.4394, 0.7378, 1.18, 1.775, 2.532, 3.452, 4.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1304, 0.1906, 0.3874, 0.751, 1.352, 2.212, 3.348, 4.777, 6.528, 8.61",\
                 "0.1306, 0.1904, 0.3872, 0.751, 1.353, 2.211, 3.348, 4.777, 6.526, 8.608",\
                 "0.1302, 0.1904, 0.3872, 0.7514, 1.354, 2.212, 3.348, 4.778, 6.524, 8.61",\
                 "0.1294, 0.1906, 0.3872, 0.751, 1.353, 2.214, 3.353, 4.784, 6.528, 8.62",\
                 "0.13, 0.1908, 0.3872, 0.7514, 1.354, 2.215, 3.353, 4.778, 6.525, 8.61",\
                 "0.129, 0.1904, 0.3866, 0.752, 1.354, 2.211, 3.353, 4.78, 6.528, 8.614",\
                 "0.13, 0.1908, 0.3864, 0.7516, 1.354, 2.21, 3.345, 4.778, 6.528, 8.608",\
                 "0.13, 0.1908, 0.3866, 0.7512, 1.353, 2.211, 3.347, 4.778, 6.533, 8.603",\
                 "0.13, 0.1906, 0.387, 0.752, 1.351, 2.212, 3.345, 4.776, 6.526, 8.617",\
                 "0.1296, 0.1902, 0.3868, 0.7514, 1.352, 2.211, 3.348, 4.775, 6.522, 8.602");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.9519, 0.9937, 1.099, 1.25, 1.453, 1.726, 2.084, 2.534, 3.083, 3.738",\
                 "0.9656, 1.007, 1.113, 1.263, 1.467, 1.74, 2.097, 2.548, 3.097, 3.752",\
                 "1.016, 1.058, 1.164, 1.314, 1.517, 1.791, 2.148, 2.598, 3.148, 3.802",\
                 "1.092, 1.134, 1.24, 1.39, 1.594, 1.867, 2.224, 2.674, 3.224, 3.878",\
                 "1.156, 1.198, 1.304, 1.454, 1.657, 1.931, 2.288, 2.738, 3.287, 3.942",\
                 "1.205, 1.246, 1.352, 1.503, 1.706, 1.979, 2.337, 2.787, 3.336, 3.991",\
                 "1.236, 1.278, 1.383, 1.534, 1.737, 2.01, 2.367, 2.818, 3.367, 4.022",\
                 "1.244, 1.286, 1.392, 1.542, 1.745, 2.019, 2.376, 2.826, 3.375, 4.03",\
                 "1.228, 1.27, 1.375, 1.526, 1.729, 2.002, 2.36, 2.809, 3.359, 4.013",\
                 "1.184, 1.226, 1.332, 1.482, 1.685, 1.959, 2.316, 2.766, 3.316, 3.97");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("1.037, 1.088, 1.232, 1.466, 1.816, 2.305, 2.949, 3.76, 4.753, 5.934",\
                 "1.051, 1.102, 1.245, 1.48, 1.83, 2.319, 2.963, 3.774, 4.766, 5.948",\
                 "1.101, 1.152, 1.295, 1.53, 1.879, 2.369, 3.013, 3.825, 4.817, 5.996",\
                 "1.175, 1.226, 1.369, 1.604, 1.954, 2.443, 3.087, 3.898, 4.89, 6.072",\
                 "1.237, 1.288, 1.431, 1.666, 2.016, 2.505, 3.149, 3.961, 4.951, 6.136",\
                 "1.285, 1.336, 1.479, 1.714, 2.064, 2.554, 3.198, 4.009, 5.002, 6.181",\
                 "1.316, 1.367, 1.511, 1.745, 2.095, 2.584, 3.228, 4.04, 5.033, 6.212",\
                 "1.327, 1.378, 1.521, 1.756, 2.106, 2.595, 3.239, 4.05, 5.041, 6.224",\
                 "1.314, 1.365, 1.508, 1.743, 2.093, 2.582, 3.227, 4.038, 5.027, 6.207",\
                 "1.275, 1.326, 1.47, 1.705, 2.054, 2.544, 3.188, 3.999, 4.989, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1078, 0.1479, 0.2582, 0.4394, 0.7388, 1.179, 1.777, 2.533, 3.459, 4.559",\
                 "0.1078, 0.1482, 0.2584, 0.4396, 0.7386, 1.181, 1.777, 2.533, 3.458, 4.562",\
                 "0.1078, 0.1482, 0.2584, 0.4404, 0.738, 1.181, 1.777, 2.533, 3.454, 4.562",\
                 "0.108, 0.148, 0.2582, 0.4398, 0.7378, 1.181, 1.777, 2.533, 3.454, 4.562",\
                 "0.1078, 0.1478, 0.2582, 0.4402, 0.7394, 1.181, 1.777, 2.533, 3.456, 4.562",\
                 "0.1078, 0.1476, 0.2582, 0.4402, 0.7378, 1.179, 1.775, 2.533, 3.458, 4.559",\
                 "0.1078, 0.1476, 0.2582, 0.4408, 0.7382, 1.179, 1.774, 2.529, 3.454, 4.553",\
                 "0.1076, 0.1478, 0.2582, 0.44, 0.7376, 1.181, 1.776, 2.529, 3.449, 4.55",\
                 "0.1076, 0.1478, 0.2582, 0.4396, 0.738, 1.179, 1.775, 2.528, 3.452, 4.547",\
                 "0.1078, 0.148, 0.2582, 0.4394, 0.7378, 1.181, 1.775, 2.532, 3.452, 4.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1294, 0.1902, 0.3866, 0.7512, 1.351, 2.215, 3.353, 4.784, 6.528, 8.611",\
                 "0.1296, 0.1904, 0.3866, 0.7514, 1.354, 2.215, 3.353, 4.784, 6.527, 8.612",\
                 "0.13, 0.1908, 0.3868, 0.7518, 1.351, 2.212, 3.348, 4.777, 6.526, 8.608",\
                 "0.1302, 0.1906, 0.3872, 0.751, 1.353, 2.214, 3.353, 4.784, 6.528, 8.62",\
                 "0.1298, 0.1902, 0.3868, 0.7516, 1.352, 2.215, 3.351, 4.779, 6.524, 8.609",\
                 "0.1296, 0.1908, 0.387, 0.751, 1.352, 2.214, 3.347, 4.777, 6.528, 8.614",\
                 "0.1292, 0.1906, 0.387, 0.7514, 1.353, 2.211, 3.346, 4.779, 6.526, 8.608",\
                 "0.1294, 0.1908, 0.387, 0.7514, 1.353, 2.211, 3.346, 4.78, 6.521, 8.611",\
                 "0.1296, 0.1908, 0.3874, 0.7522, 1.352, 2.213, 3.348, 4.776, 6.523, 8.62",\
                 "0.1296, 0.1904, 0.3872, 0.7512, 1.352, 2.212, 3.348, 4.775, 6.52, 8.603");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.9518, 0.9937, 1.099, 1.25, 1.453, 1.726, 2.084, 2.534, 3.083, 3.739",\
                 "0.9655, 1.007, 1.113, 1.263, 1.467, 1.74, 2.098, 2.548, 3.097, 3.752",\
                 "1.016, 1.058, 1.164, 1.314, 1.518, 1.791, 2.148, 2.598, 3.148, 3.803",\
                 "1.092, 1.134, 1.24, 1.39, 1.594, 1.867, 2.224, 2.674, 3.224, 3.879",\
                 "1.156, 1.198, 1.304, 1.454, 1.657, 1.931, 2.288, 2.738, 3.287, 3.942",\
                 "1.205, 1.246, 1.352, 1.503, 1.706, 1.979, 2.337, 2.787, 3.337, 3.991",\
                 "1.235, 1.277, 1.383, 1.533, 1.736, 2.01, 2.367, 2.817, 3.366, 4.022",\
                 "1.244, 1.286, 1.392, 1.542, 1.745, 2.019, 2.376, 2.826, 3.375, 4.03",\
                 "1.228, 1.269, 1.375, 1.526, 1.729, 2.002, 2.36, 2.809, 3.359, 4.013",\
                 "1.184, 1.226, 1.332, 1.482, 1.685, 1.959, 2.316, 2.766, 3.316, 3.97");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("1.037, 1.088, 1.232, 1.466, 1.816, 2.305, 2.949, 3.762, 4.753, 5.933",\
                 "1.051, 1.102, 1.245, 1.48, 1.83, 2.319, 2.963, 3.775, 4.767, 5.947",\
                 "1.101, 1.152, 1.295, 1.53, 1.879, 2.369, 3.013, 3.825, 4.817, 5.997",\
                 "1.175, 1.226, 1.369, 1.604, 1.954, 2.443, 3.087, 3.898, 4.89, 6.072",\
                 "1.237, 1.288, 1.431, 1.666, 2.016, 2.505, 3.15, 3.961, 4.952, 6.136",\
                 "1.285, 1.336, 1.479, 1.714, 2.064, 2.554, 3.198, 4.008, 5.001, 6.181",\
                 "1.316, 1.367, 1.511, 1.745, 2.095, 2.584, 3.228, 4.04, 5.032, 6.211",\
                 "1.327, 1.378, 1.521, 1.756, 2.106, 2.595, 3.239, 4.05, 5.04, 6.224",\
                 "1.314, 1.365, 1.509, 1.743, 2.093, 2.583, 3.227, 4.037, 5.028, 6.207",\
                 "1.275, 1.327, 1.47, 1.704, 2.055, 2.544, 3.188, 3.999, 4.989, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1078, 0.1482, 0.2582, 0.44, 0.7394, 1.18, 1.777, 2.533, 3.459, 4.56",\
                 "0.1079, 0.1482, 0.2584, 0.4396, 0.7394, 1.181, 1.777, 2.533, 3.458, 4.56",\
                 "0.1078, 0.1482, 0.2582, 0.4406, 0.7396, 1.18, 1.777, 2.533, 3.454, 4.554",\
                 "0.108, 0.1478, 0.2582, 0.4396, 0.7378, 1.179, 1.776, 2.531, 3.456, 4.557",\
                 "0.1076, 0.1478, 0.2582, 0.4408, 0.7396, 1.181, 1.777, 2.533, 3.457, 4.562",\
                 "0.108, 0.1476, 0.258, 0.4404, 0.7388, 1.179, 1.777, 2.532, 3.458, 4.56",\
                 "0.1076, 0.148, 0.2584, 0.4398, 0.7384, 1.179, 1.774, 2.528, 3.454, 4.552",\
                 "0.1076, 0.148, 0.2582, 0.4406, 0.7382, 1.179, 1.775, 2.529, 3.449, 4.551",\
                 "0.1076, 0.148, 0.2582, 0.4406, 0.7376, 1.179, 1.775, 2.529, 3.451, 4.547",\
                 "0.108, 0.148, 0.2582, 0.4396, 0.7378, 1.18, 1.775, 2.532, 3.452, 4.549");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1296, 0.1908, 0.387, 0.7514, 1.351, 2.215, 3.353, 4.777, 6.528, 8.615",\
                 "0.1306, 0.1904, 0.3872, 0.7512, 1.354, 2.213, 3.347, 4.778, 6.525, 8.61",\
                 "0.13, 0.1906, 0.3874, 0.7518, 1.352, 2.214, 3.347, 4.778, 6.525, 8.609",\
                 "0.1298, 0.1906, 0.3872, 0.751, 1.353, 2.214, 3.353, 4.784, 6.528, 8.62",\
                 "0.1298, 0.1906, 0.3874, 0.7514, 1.352, 2.215, 3.348, 4.78, 6.532, 8.614",\
                 "0.13, 0.191, 0.3872, 0.7512, 1.352, 2.213, 3.348, 4.786, 6.528, 8.616",\
                 "0.1294, 0.1898, 0.387, 0.7512, 1.354, 2.211, 3.347, 4.778, 6.528, 8.608",\
                 "0.1294, 0.1902, 0.3862, 0.7512, 1.351, 2.213, 3.347, 4.779, 6.524, 8.611",\
                 "0.129, 0.1902, 0.3862, 0.7512, 1.352, 2.213, 3.346, 4.776, 6.524, 8.619",\
                 "0.1296, 0.1908, 0.3874, 0.7518, 1.353, 2.212, 3.348, 4.775, 6.52, 8.603");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.9517, 0.9935, 1.099, 1.25, 1.453, 1.726, 2.084, 2.534, 3.083, 3.739",\
                 "0.9654, 1.007, 1.113, 1.264, 1.467, 1.74, 2.097, 2.548, 3.097, 3.752",\
                 "1.016, 1.058, 1.164, 1.314, 1.517, 1.791, 2.148, 2.598, 3.147, 3.802",\
                 "1.092, 1.134, 1.24, 1.39, 1.594, 1.867, 2.224, 2.674, 3.224, 3.879",\
                 "1.156, 1.198, 1.303, 1.454, 1.657, 1.93, 2.288, 2.738, 3.287, 3.942",\
                 "1.205, 1.246, 1.352, 1.503, 1.706, 1.979, 2.336, 2.787, 3.337, 3.991",\
                 "1.235, 1.277, 1.383, 1.533, 1.736, 2.01, 2.367, 2.817, 3.366, 4.022",\
                 "1.244, 1.286, 1.392, 1.542, 1.745, 2.019, 2.376, 2.826, 3.375, 4.03",\
                 "1.228, 1.27, 1.375, 1.526, 1.729, 2.002, 2.36, 2.81, 3.359, 4.013",\
                 "1.184, 1.226, 1.332, 1.482, 1.685, 1.959, 2.316, 2.766, 3.316, 3.97");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("1.037, 1.088, 1.232, 1.466, 1.816, 2.306, 2.949, 3.761, 4.751, 5.936",\
                 "1.051, 1.102, 1.245, 1.48, 1.83, 2.319, 2.963, 3.775, 4.767, 5.946",\
                 "1.101, 1.152, 1.295, 1.53, 1.879, 2.369, 3.013, 3.825, 4.816, 5.999",\
                 "1.174, 1.226, 1.369, 1.603, 1.954, 2.443, 3.087, 3.899, 4.891, 6.071",\
                 "1.237, 1.288, 1.431, 1.666, 2.016, 2.505, 3.149, 3.96, 4.953, 6.133",\
                 "1.285, 1.336, 1.48, 1.714, 2.064, 2.553, 3.197, 4.009, 5.002, 6.18",\
                 "1.316, 1.366, 1.511, 1.745, 2.095, 2.584, 3.228, 4.04, 5.031, 6.214",\
                 "1.327, 1.378, 1.521, 1.756, 2.106, 2.595, 3.239, 4.05, 5.041, 6.222",\
                 "1.314, 1.365, 1.508, 1.743, 2.093, 2.582, 3.227, 4.037, 5.027, 6.207",\
                 "1.275, 1.326, 1.47, 1.704, 2.054, 2.544, 3.188, 3.999, 4.989, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1078, 0.148, 0.2582, 0.4396, 0.7394, 1.181, 1.777, 2.533, 3.459, 4.56",\
                 "0.1078, 0.1482, 0.2582, 0.44, 0.7388, 1.18, 1.777, 2.533, 3.453, 4.557",\
                 "0.1078, 0.1482, 0.2582, 0.4404, 0.7382, 1.18, 1.775, 2.533, 3.459, 4.562",\
                 "0.108, 0.1478, 0.2582, 0.4396, 0.7378, 1.179, 1.776, 2.53, 3.456, 4.557",\
                 "0.1076, 0.1478, 0.2582, 0.44, 0.7388, 1.181, 1.776, 2.531, 3.455, 4.559",\
                 "0.1078, 0.148, 0.2582, 0.4402, 0.7386, 1.179, 1.777, 2.533, 3.457, 4.559",\
                 "0.1076, 0.1478, 0.2582, 0.44, 0.7384, 1.179, 1.774, 2.53, 3.454, 4.553",\
                 "0.108, 0.1478, 0.2584, 0.4396, 0.7378, 1.18, 1.776, 2.53, 3.449, 4.548",\
                 "0.1076, 0.148, 0.2582, 0.44, 0.7376, 1.181, 1.776, 2.529, 3.453, 4.548",\
                 "0.1078, 0.148, 0.258, 0.4396, 0.7378, 1.18, 1.775, 2.532, 3.452, 4.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1302, 0.1902, 0.3864, 0.7516, 1.353, 2.211, 3.351, 4.779, 6.524, 8.608",\
                 "0.1304, 0.1904, 0.3872, 0.751, 1.353, 2.211, 3.348, 4.777, 6.526, 8.608",\
                 "0.13, 0.1908, 0.3874, 0.7518, 1.351, 2.215, 3.348, 4.779, 6.529, 8.613",\
                 "0.1302, 0.1906, 0.387, 0.7512, 1.354, 2.211, 3.348, 4.776, 6.526, 8.62",\
                 "0.1292, 0.1908, 0.3872, 0.751, 1.352, 2.213, 3.353, 4.786, 6.528, 8.616",\
                 "0.129, 0.1902, 0.3866, 0.7524, 1.351, 2.212, 3.348, 4.777, 6.526, 8.608",\
                 "0.1298, 0.1902, 0.387, 0.7516, 1.353, 2.211, 3.349, 4.777, 6.528, 8.615",\
                 "0.1302, 0.1906, 0.3866, 0.7512, 1.354, 2.211, 3.347, 4.774, 6.532, 8.603",\
                 "0.1292, 0.1908, 0.3872, 0.7512, 1.354, 2.213, 3.35, 4.776, 6.527, 8.602",\
                 "0.1296, 0.1902, 0.3868, 0.7514, 1.352, 2.211, 3.348, 4.775, 6.52, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.9517, 0.9935, 1.099, 1.25, 1.453, 1.726, 2.084, 2.534, 3.083, 3.739",\
                 "0.9654, 1.007, 1.113, 1.264, 1.467, 1.74, 2.097, 2.548, 3.097, 3.752",\
                 "1.016, 1.058, 1.164, 1.314, 1.517, 1.791, 2.148, 2.598, 3.147, 3.802",\
                 "1.092, 1.134, 1.24, 1.39, 1.594, 1.867, 2.224, 2.674, 3.224, 3.879",\
                 "1.156, 1.198, 1.303, 1.454, 1.657, 1.93, 2.288, 2.738, 3.287, 3.942",\
                 "1.205, 1.246, 1.352, 1.503, 1.706, 1.979, 2.336, 2.787, 3.337, 3.991",\
                 "1.235, 1.277, 1.383, 1.533, 1.736, 2.01, 2.367, 2.817, 3.366, 4.022",\
                 "1.244, 1.286, 1.392, 1.542, 1.745, 2.019, 2.376, 2.826, 3.375, 4.03",\
                 "1.228, 1.27, 1.375, 1.526, 1.729, 2.002, 2.36, 2.81, 3.359, 4.013",\
                 "1.184, 1.226, 1.332, 1.482, 1.685, 1.959, 2.316, 2.766, 3.316, 3.97");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("1.037, 1.088, 1.232, 1.466, 1.816, 2.305, 2.949, 3.762, 4.753, 5.933",\
                 "1.051, 1.102, 1.245, 1.48, 1.83, 2.319, 2.963, 3.775, 4.767, 5.947",\
                 "1.101, 1.152, 1.295, 1.53, 1.879, 2.369, 3.013, 3.825, 4.817, 5.997",\
                 "1.175, 1.226, 1.369, 1.604, 1.954, 2.443, 3.087, 3.898, 4.89, 6.072",\
                 "1.237, 1.288, 1.431, 1.666, 2.016, 2.505, 3.15, 3.961, 4.952, 6.136",\
                 "1.285, 1.336, 1.479, 1.714, 2.064, 2.554, 3.198, 4.008, 5.001, 6.181",\
                 "1.316, 1.367, 1.511, 1.745, 2.095, 2.584, 3.228, 4.04, 5.032, 6.211",\
                 "1.327, 1.378, 1.521, 1.756, 2.106, 2.595, 3.239, 4.05, 5.04, 6.224",\
                 "1.314, 1.365, 1.509, 1.743, 2.093, 2.583, 3.227, 4.037, 5.028, 6.207",\
                 "1.275, 1.327, 1.47, 1.704, 2.055, 2.544, 3.188, 3.999, 4.989, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1078, 0.148, 0.2582, 0.4396, 0.7394, 1.181, 1.777, 2.533, 3.459, 4.56",\
                 "0.1078, 0.1482, 0.2582, 0.44, 0.7388, 1.18, 1.777, 2.533, 3.453, 4.557",\
                 "0.1078, 0.1482, 0.2582, 0.4404, 0.7382, 1.18, 1.775, 2.533, 3.459, 4.562",\
                 "0.108, 0.1478, 0.2582, 0.4396, 0.7378, 1.179, 1.776, 2.53, 3.456, 4.557",\
                 "0.1076, 0.1478, 0.2582, 0.44, 0.7388, 1.181, 1.776, 2.531, 3.455, 4.559",\
                 "0.1078, 0.148, 0.2582, 0.4402, 0.7386, 1.179, 1.777, 2.533, 3.457, 4.559",\
                 "0.1076, 0.1478, 0.2582, 0.44, 0.7384, 1.179, 1.774, 2.53, 3.454, 4.553",\
                 "0.108, 0.1478, 0.2584, 0.4396, 0.7378, 1.18, 1.776, 2.53, 3.449, 4.548",\
                 "0.1076, 0.148, 0.2582, 0.44, 0.7376, 1.181, 1.776, 2.529, 3.453, 4.548",\
                 "0.1078, 0.148, 0.258, 0.4396, 0.7378, 1.18, 1.775, 2.532, 3.452, 4.55");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1296, 0.1908, 0.387, 0.7514, 1.351, 2.215, 3.353, 4.777, 6.528, 8.615",\
                 "0.1306, 0.1904, 0.3872, 0.7512, 1.354, 2.213, 3.347, 4.778, 6.525, 8.61",\
                 "0.13, 0.1906, 0.3874, 0.7518, 1.352, 2.214, 3.347, 4.778, 6.525, 8.609",\
                 "0.1298, 0.1906, 0.3872, 0.751, 1.353, 2.214, 3.353, 4.784, 6.528, 8.62",\
                 "0.1298, 0.1906, 0.3874, 0.7514, 1.352, 2.215, 3.348, 4.78, 6.532, 8.614",\
                 "0.13, 0.191, 0.3872, 0.7512, 1.352, 2.213, 3.348, 4.786, 6.528, 8.616",\
                 "0.1294, 0.1898, 0.387, 0.7512, 1.354, 2.211, 3.347, 4.778, 6.528, 8.608",\
                 "0.1294, 0.1902, 0.3862, 0.7512, 1.351, 2.213, 3.347, 4.779, 6.524, 8.611",\
                 "0.129, 0.1902, 0.3862, 0.7512, 1.352, 2.213, 3.346, 4.776, 6.524, 8.619",\
                 "0.1296, 0.1908, 0.3874, 0.7518, 1.353, 2.212, 3.348, 4.775, 6.52, 8.603");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3243, 0.3673, 0.473, 0.6239, 0.8254, 1.097, 1.454, 1.904, 2.453, 3.109",\
                 "0.341, 0.384, 0.4898, 0.6407, 0.8423, 1.114, 1.471, 1.92, 2.47, 3.124",\
                 "0.4074, 0.4502, 0.5558, 0.7066, 0.9082, 1.18, 1.537, 1.986, 2.536, 3.191",\
                 "0.5375, 0.5807, 0.6864, 0.8372, 1.038, 1.31, 1.667, 2.116, 2.665, 3.321",\
                 "0.699, 0.747, 0.8602, 1.016, 1.217, 1.488, 1.843, 2.293, 2.842, 3.497",\
                 "0.8859, 0.9381, 1.059, 1.221, 1.423, 1.693, 2.049, 2.497, 3.046, 3.701",\
                 "1.101, 1.157, 1.288, 1.455, 1.658, 1.927, 2.281, 2.73, 3.278, 3.932",\
                 "1.343, 1.404, 1.544, 1.719, 1.922, 2.189, 2.542, 2.99, 3.537, 4.191",\
                 "1.613, 1.679, 1.829, 2.011, 2.214, 2.48, 2.832, 3.278, 3.825, 4.478",\
                 "1.912, 1.981, 2.142, 2.332, 2.535, 2.799, 3.149, 3.594, 4.141, 4.793");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.109, 0.1486, 0.258, 0.4379, 0.73, 1.172, 1.769, 2.526, 3.451, 4.557",\
                 "0.1093, 0.149, 0.2579, 0.4382, 0.7307, 1.172, 1.767, 2.524, 3.45, 4.55",\
                 "0.1095, 0.1487, 0.2581, 0.4379, 0.73, 1.172, 1.769, 2.526, 3.45, 4.557",\
                 "0.1172, 0.1551, 0.262, 0.4398, 0.7304, 1.171, 1.769, 2.526, 3.451, 4.557",\
                 "0.1414, 0.1816, 0.2848, 0.4524, 0.7334, 1.172, 1.768, 2.526, 3.45, 4.557",\
                 "0.1646, 0.2086, 0.312, 0.47, 0.7392, 1.173, 1.768, 2.524, 3.45, 4.551",\
                 "0.1918, 0.2388, 0.3426, 0.4894, 0.745, 1.175, 1.769, 2.523, 3.448, 4.548",\
                 "0.2202, 0.2712, 0.3786, 0.5112, 0.7512, 1.176, 1.771, 2.525, 3.444, 4.546",\
                 "0.2508, 0.3044, 0.4166, 0.536, 0.758, 1.177, 1.771, 2.524, 3.444, 4.544",\
                 "0.2816, 0.3422, 0.4572, 0.5622, 0.7664, 1.179, 1.77, 2.526, 3.446, 4.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3244, 0.3673, 0.473, 0.6239, 0.8254, 1.097, 1.454, 1.904, 2.453, 3.109",\
                 "0.341, 0.384, 0.4898, 0.6407, 0.8423, 1.114, 1.471, 1.92, 2.47, 3.124",\
                 "0.4074, 0.4502, 0.5558, 0.7066, 0.9082, 1.18, 1.537, 1.986, 2.536, 3.191",\
                 "0.5375, 0.5807, 0.6864, 0.8372, 1.038, 1.31, 1.667, 2.116, 2.665, 3.321",\
                 "0.699, 0.747, 0.8602, 1.016, 1.217, 1.488, 1.844, 2.293, 2.842, 3.497",\
                 "0.886, 0.938, 1.059, 1.221, 1.423, 1.693, 2.049, 2.497, 3.046, 3.701",\
                 "1.101, 1.157, 1.288, 1.455, 1.658, 1.927, 2.281, 2.73, 3.278, 3.932",\
                 "1.343, 1.404, 1.544, 1.719, 1.922, 2.189, 2.542, 2.99, 3.537, 4.191",\
                 "1.613, 1.679, 1.829, 2.011, 2.214, 2.48, 2.832, 3.278, 3.825, 4.478",\
                 "1.912, 1.981, 2.142, 2.332, 2.535, 2.799, 3.149, 3.594, 4.141, 4.793");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1089, 0.1485, 0.258, 0.4379, 0.73, 1.172, 1.769, 2.526, 3.451, 4.557",\
                 "0.1093, 0.149, 0.2579, 0.4382, 0.7307, 1.172, 1.767, 2.524, 3.45, 4.55",\
                 "0.1095, 0.1487, 0.2581, 0.4379, 0.73, 1.172, 1.769, 2.526, 3.45, 4.557",\
                 "0.1172, 0.1551, 0.262, 0.4398, 0.7304, 1.171, 1.769, 2.526, 3.451, 4.557",\
                 "0.1414, 0.1816, 0.2848, 0.4524, 0.7334, 1.172, 1.769, 2.526, 3.452, 4.557",\
                 "0.165, 0.2086, 0.3122, 0.4698, 0.7392, 1.173, 1.768, 2.523, 3.45, 4.551",\
                 "0.1918, 0.2388, 0.3426, 0.4894, 0.745, 1.175, 1.769, 2.523, 3.448, 4.548",\
                 "0.22, 0.2706, 0.3786, 0.5116, 0.751, 1.176, 1.77, 2.524, 3.444, 4.542",\
                 "0.2512, 0.3044, 0.4172, 0.536, 0.758, 1.177, 1.771, 2.524, 3.444, 4.544",\
                 "0.2816, 0.3422, 0.4572, 0.5624, 0.7664, 1.179, 1.77, 2.526, 3.446, 4.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3242, 0.3673, 0.473, 0.6239, 0.8254, 1.097, 1.454, 1.904, 2.453, 3.107",\
                 "0.341, 0.384, 0.4898, 0.6407, 0.8423, 1.114, 1.471, 1.92, 2.47, 3.124",\
                 "0.4074, 0.4502, 0.5558, 0.7066, 0.9082, 1.18, 1.537, 1.986, 2.536, 3.191",\
                 "0.5375, 0.5807, 0.6864, 0.8372, 1.038, 1.31, 1.667, 2.116, 2.665, 3.321",\
                 "0.699, 0.747, 0.8602, 1.016, 1.217, 1.488, 1.844, 2.293, 2.842, 3.497",\
                 "0.886, 0.9381, 1.059, 1.221, 1.423, 1.693, 2.049, 2.497, 3.046, 3.702",\
                 "1.101, 1.157, 1.288, 1.455, 1.658, 1.927, 2.281, 2.73, 3.278, 3.932",\
                 "1.343, 1.404, 1.544, 1.719, 1.922, 2.189, 2.542, 2.99, 3.538, 4.191",\
                 "1.613, 1.679, 1.828, 2.011, 2.214, 2.48, 2.832, 3.278, 3.825, 4.478",\
                 "1.912, 1.982, 2.142, 2.332, 2.535, 2.799, 3.149, 3.594, 4.141, 4.793");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1093, 0.1489, 0.2579, 0.4377, 0.7302, 1.171, 1.769, 2.526, 3.448, 4.553",\
                 "0.1093, 0.149, 0.2579, 0.4382, 0.7307, 1.172, 1.767, 2.524, 3.45, 4.55",\
                 "0.1095, 0.1487, 0.258, 0.4379, 0.73, 1.172, 1.769, 2.526, 3.45, 4.557",\
                 "0.1172, 0.1551, 0.262, 0.4398, 0.7304, 1.171, 1.769, 2.526, 3.451, 4.557",\
                 "0.1414, 0.1816, 0.2848, 0.4522, 0.7334, 1.172, 1.769, 2.526, 3.448, 4.557",\
                 "0.165, 0.2086, 0.312, 0.47, 0.7394, 1.173, 1.768, 2.524, 3.45, 4.553",\
                 "0.1918, 0.2388, 0.3426, 0.4896, 0.745, 1.175, 1.769, 2.523, 3.448, 4.548",\
                 "0.221, 0.2704, 0.3786, 0.511, 0.751, 1.176, 1.771, 2.525, 3.444, 4.543",\
                 "0.2512, 0.3046, 0.4172, 0.536, 0.758, 1.177, 1.771, 2.524, 3.444, 4.544",\
                 "0.2824, 0.3392, 0.4572, 0.5622, 0.7658, 1.179, 1.769, 2.526, 3.447, 4.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3244, 0.3672, 0.473, 0.6239, 0.8254, 1.097, 1.454, 1.903, 2.453, 3.108",\
                 "0.3411, 0.384, 0.4898, 0.6407, 0.8422, 1.114, 1.471, 1.92, 2.469, 3.126",\
                 "0.4074, 0.4502, 0.5558, 0.7066, 0.9082, 1.18, 1.537, 1.986, 2.536, 3.19",\
                 "0.5374, 0.5806, 0.6863, 0.8371, 1.038, 1.31, 1.666, 2.116, 2.666, 3.319",\
                 "0.699, 0.747, 0.86, 1.015, 1.217, 1.488, 1.844, 2.293, 2.842, 3.496",\
                 "0.8861, 0.9384, 1.059, 1.221, 1.423, 1.694, 2.049, 2.498, 3.047, 3.702",\
                 "1.101, 1.157, 1.287, 1.456, 1.658, 1.927, 2.282, 2.73, 3.278, 3.932",\
                 "1.343, 1.404, 1.544, 1.719, 1.922, 2.189, 2.542, 2.99, 3.538, 4.191",\
                 "1.613, 1.679, 1.828, 2.011, 2.215, 2.48, 2.832, 3.278, 3.825, 4.478",\
                 "1.912, 1.982, 2.142, 2.332, 2.536, 2.799, 3.149, 3.595, 4.141, 4.793");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1092, 0.149, 0.2578, 0.4382, 0.7307, 1.172, 1.768, 2.525, 3.451, 4.548",\
                 "0.1093, 0.1489, 0.258, 0.4378, 0.7301, 1.171, 1.769, 2.526, 3.451, 4.557",\
                 "0.1092, 0.1488, 0.2581, 0.4382, 0.7303, 1.172, 1.768, 2.524, 3.447, 4.555",\
                 "0.1167, 0.155, 0.262, 0.4398, 0.7304, 1.172, 1.769, 2.524, 3.447, 4.554",\
                 "0.1412, 0.1812, 0.2846, 0.4524, 0.7334, 1.172, 1.769, 2.523, 3.448, 4.555",\
                 "0.1658, 0.208, 0.3114, 0.4702, 0.7392, 1.173, 1.768, 2.524, 3.447, 4.557",\
                 "0.1916, 0.2386, 0.343, 0.4894, 0.7452, 1.175, 1.769, 2.523, 3.448, 4.552",\
                 "0.2204, 0.271, 0.3786, 0.5112, 0.7512, 1.176, 1.771, 2.525, 3.444, 4.545",\
                 "0.2508, 0.3048, 0.4172, 0.5364, 0.758, 1.177, 1.77, 2.524, 3.446, 4.544",\
                 "0.2824, 0.34, 0.4574, 0.5624, 0.7658, 1.178, 1.77, 2.526, 3.445, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3243, 0.3672, 0.473, 0.6239, 0.8254, 1.097, 1.454, 1.903, 2.453, 3.108",\
                 "0.3412, 0.384, 0.4898, 0.6407, 0.8422, 1.114, 1.471, 1.92, 2.47, 3.125",\
                 "0.4074, 0.4502, 0.5558, 0.7066, 0.9082, 1.18, 1.537, 1.986, 2.536, 3.19",\
                 "0.5375, 0.5806, 0.6863, 0.8371, 1.038, 1.31, 1.666, 2.116, 2.665, 3.321",\
                 "0.6991, 0.7469, 0.8602, 1.016, 1.217, 1.488, 1.844, 2.293, 2.842, 3.497",\
                 "0.8861, 0.9384, 1.059, 1.221, 1.423, 1.694, 2.049, 2.498, 3.047, 3.702",\
                 "1.101, 1.157, 1.288, 1.456, 1.658, 1.927, 2.282, 2.73, 3.278, 3.932",\
                 "1.343, 1.404, 1.544, 1.719, 1.922, 2.189, 2.542, 2.99, 3.538, 4.191",\
                 "1.613, 1.679, 1.829, 2.011, 2.214, 2.48, 2.832, 3.278, 3.825, 4.478",\
                 "1.912, 1.982, 2.141, 2.332, 2.536, 2.799, 3.149, 3.595, 4.141, 4.793");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1093, 0.149, 0.2578, 0.4382, 0.7307, 1.172, 1.768, 2.525, 3.451, 4.548",\
                 "0.109, 0.1489, 0.258, 0.4378, 0.7301, 1.171, 1.769, 2.526, 3.45, 4.557",\
                 "0.1092, 0.1488, 0.2581, 0.4382, 0.7303, 1.172, 1.768, 2.524, 3.447, 4.555",\
                 "0.1167, 0.155, 0.2622, 0.4398, 0.7304, 1.171, 1.767, 2.524, 3.45, 4.557",\
                 "0.1406, 0.181, 0.2848, 0.4522, 0.733, 1.172, 1.769, 2.526, 3.45, 4.553",\
                 "0.1658, 0.208, 0.3114, 0.4704, 0.7394, 1.173, 1.768, 2.524, 3.449, 4.552",\
                 "0.1916, 0.238, 0.3422, 0.4894, 0.7452, 1.175, 1.769, 2.523, 3.444, 4.55",\
                 "0.22, 0.271, 0.3788, 0.5114, 0.7512, 1.176, 1.771, 2.525, 3.444, 4.542",\
                 "0.2508, 0.305, 0.417, 0.536, 0.7584, 1.177, 1.771, 2.526, 3.445, 4.544",\
                 "0.2816, 0.3396, 0.4576, 0.5626, 0.766, 1.179, 1.771, 2.524, 3.445, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3243, 0.3672, 0.473, 0.6239, 0.8254, 1.097, 1.454, 1.903, 2.453, 3.108",\
                 "0.3412, 0.384, 0.4898, 0.6407, 0.8422, 1.114, 1.471, 1.92, 2.47, 3.125",\
                 "0.4074, 0.4502, 0.5558, 0.7066, 0.9082, 1.18, 1.537, 1.986, 2.536, 3.19",\
                 "0.5375, 0.5806, 0.6863, 0.8371, 1.038, 1.31, 1.666, 2.116, 2.665, 3.321",\
                 "0.6991, 0.747, 0.8602, 1.016, 1.217, 1.488, 1.844, 2.293, 2.842, 3.497",\
                 "0.8861, 0.9384, 1.059, 1.221, 1.423, 1.694, 2.049, 2.498, 3.047, 3.701",\
                 "1.101, 1.157, 1.288, 1.456, 1.658, 1.927, 2.282, 2.73, 3.278, 3.932",\
                 "1.343, 1.404, 1.544, 1.719, 1.922, 2.189, 2.542, 2.99, 3.538, 4.191",\
                 "1.613, 1.679, 1.829, 2.011, 2.214, 2.48, 2.832, 3.278, 3.825, 4.478",\
                 "1.912, 1.982, 2.141, 2.332, 2.535, 2.799, 3.149, 3.595, 4.141, 4.793");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1093, 0.149, 0.2578, 0.4382, 0.7307, 1.172, 1.768, 2.525, 3.451, 4.548",\
                 "0.109, 0.1489, 0.258, 0.4378, 0.7301, 1.171, 1.769, 2.526, 3.45, 4.557",\
                 "0.1092, 0.1488, 0.2581, 0.4382, 0.7303, 1.172, 1.768, 2.524, 3.447, 4.555",\
                 "0.1167, 0.155, 0.2622, 0.4398, 0.7306, 1.171, 1.767, 2.524, 3.45, 4.557",\
                 "0.1406, 0.181, 0.2848, 0.4522, 0.733, 1.172, 1.769, 2.526, 3.45, 4.553",\
                 "0.1658, 0.208, 0.3114, 0.4704, 0.7392, 1.173, 1.768, 2.524, 3.45, 4.549",\
                 "0.1916, 0.238, 0.3422, 0.4894, 0.7452, 1.175, 1.769, 2.523, 3.444, 4.55",\
                 "0.22, 0.2714, 0.3788, 0.5114, 0.7512, 1.176, 1.771, 2.525, 3.444, 4.542",\
                 "0.2506, 0.305, 0.417, 0.5362, 0.7586, 1.177, 1.769, 2.526, 3.445, 4.544",\
                 "0.2816, 0.3396, 0.4578, 0.5626, 0.7658, 1.179, 1.771, 2.524, 3.447, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3242, 0.3672, 0.473, 0.6239, 0.8254, 1.097, 1.454, 1.904, 2.453, 3.107",\
                 "0.341, 0.384, 0.4898, 0.6407, 0.8423, 1.114, 1.471, 1.92, 2.47, 3.124",\
                 "0.4074, 0.4502, 0.5558, 0.7066, 0.9082, 1.18, 1.537, 1.986, 2.536, 3.191",\
                 "0.5375, 0.5807, 0.6864, 0.8372, 1.038, 1.31, 1.667, 2.116, 2.665, 3.321",\
                 "0.699, 0.747, 0.8602, 1.016, 1.217, 1.488, 1.843, 2.293, 2.842, 3.497",\
                 "0.886, 0.9381, 1.059, 1.221, 1.423, 1.693, 2.049, 2.497, 3.046, 3.701",\
                 "1.101, 1.157, 1.288, 1.455, 1.658, 1.927, 2.281, 2.73, 3.278, 3.932",\
                 "1.343, 1.404, 1.544, 1.718, 1.922, 2.189, 2.542, 2.99, 3.537, 4.191",\
                 "1.613, 1.679, 1.828, 2.011, 2.214, 2.48, 2.832, 3.278, 3.825, 4.478",\
                 "1.912, 1.982, 2.142, 2.332, 2.535, 2.799, 3.149, 3.594, 4.141, 4.793");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1093, 0.1487, 0.2579, 0.4377, 0.7302, 1.171, 1.769, 2.526, 3.448, 4.553",\
                 "0.1093, 0.149, 0.2579, 0.4382, 0.7307, 1.172, 1.767, 2.524, 3.45, 4.55",\
                 "0.1095, 0.1487, 0.258, 0.4379, 0.73, 1.172, 1.769, 2.526, 3.45, 4.557",\
                 "0.1172, 0.1551, 0.262, 0.4398, 0.7304, 1.171, 1.769, 2.526, 3.451, 4.557",\
                 "0.1414, 0.1816, 0.2848, 0.4524, 0.7336, 1.172, 1.768, 2.524, 3.449, 4.557",\
                 "0.165, 0.2086, 0.312, 0.47, 0.7392, 1.173, 1.768, 2.523, 3.45, 4.551",\
                 "0.1918, 0.2388, 0.3426, 0.4894, 0.745, 1.175, 1.769, 2.523, 3.448, 4.548",\
                 "0.22, 0.2712, 0.3786, 0.5116, 0.751, 1.177, 1.771, 2.525, 3.444, 4.544",\
                 "0.2512, 0.3046, 0.4172, 0.536, 0.7584, 1.177, 1.772, 2.525, 3.445, 4.542",\
                 "0.2822, 0.34, 0.4572, 0.5622, 0.766, 1.179, 1.771, 2.524, 3.446, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3244, 0.3672, 0.473, 0.6239, 0.8254, 1.097, 1.454, 1.903, 2.453, 3.108",\
                 "0.3411, 0.384, 0.4898, 0.6407, 0.8422, 1.114, 1.471, 1.92, 2.469, 3.126",\
                 "0.4074, 0.4502, 0.5558, 0.7066, 0.9082, 1.18, 1.537, 1.986, 2.536, 3.19",\
                 "0.5375, 0.5806, 0.6863, 0.8371, 1.038, 1.31, 1.666, 2.116, 2.665, 3.321",\
                 "0.699, 0.747, 0.8599, 1.016, 1.217, 1.488, 1.844, 2.293, 2.842, 3.497",\
                 "0.8861, 0.9384, 1.059, 1.221, 1.423, 1.694, 2.049, 2.498, 3.047, 3.702",\
                 "1.101, 1.157, 1.287, 1.456, 1.658, 1.927, 2.282, 2.73, 3.278, 3.932",\
                 "1.343, 1.404, 1.544, 1.719, 1.922, 2.189, 2.542, 2.99, 3.538, 4.191",\
                 "1.613, 1.679, 1.828, 2.011, 2.215, 2.48, 2.832, 3.278, 3.825, 4.478",\
                 "1.912, 1.982, 2.142, 2.332, 2.536, 2.799, 3.149, 3.595, 4.141, 4.793");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1092, 0.149, 0.2578, 0.4382, 0.7307, 1.172, 1.768, 2.525, 3.451, 4.548",\
                 "0.1093, 0.1489, 0.258, 0.4378, 0.7301, 1.171, 1.769, 2.526, 3.451, 4.557",\
                 "0.1092, 0.1488, 0.2581, 0.4382, 0.7303, 1.172, 1.768, 2.524, 3.447, 4.555",\
                 "0.1167, 0.155, 0.2622, 0.4398, 0.7304, 1.171, 1.767, 2.524, 3.45, 4.557",\
                 "0.1414, 0.1812, 0.285, 0.4522, 0.7334, 1.172, 1.768, 2.525, 3.452, 4.55",\
                 "0.1658, 0.208, 0.3114, 0.4702, 0.7392, 1.173, 1.768, 2.523, 3.451, 4.556",\
                 "0.1916, 0.2386, 0.343, 0.4894, 0.7452, 1.175, 1.769, 2.523, 3.444, 4.55",\
                 "0.2204, 0.271, 0.3786, 0.5114, 0.7512, 1.176, 1.771, 2.525, 3.444, 4.544",\
                 "0.2506, 0.305, 0.417, 0.536, 0.758, 1.178, 1.77, 2.523, 3.448, 4.543",\
                 "0.2824, 0.3408, 0.4564, 0.5622, 0.7664, 1.178, 1.77, 2.526, 3.446, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3245, 0.3675, 0.475, 0.6261, 0.8303, 1.107, 1.464, 1.913, 2.462, 3.117",\
                 "0.3413, 0.3844, 0.4918, 0.6429, 0.8471, 1.123, 1.481, 1.93, 2.479, 3.134",\
                 "0.4075, 0.4504, 0.5577, 0.7089, 0.9133, 1.189, 1.547, 1.996, 2.545, 3.199",\
                 "0.5375, 0.5809, 0.6883, 0.8397, 1.044, 1.319, 1.676, 2.126, 2.674, 3.329",\
                 "0.6987, 0.7472, 0.8624, 1.019, 1.225, 1.499, 1.855, 2.304, 2.853, 3.507",\
                 "0.8859, 0.9385, 1.063, 1.227, 1.436, 1.709, 2.065, 2.513, 3.061, 3.715",\
                 "1.101, 1.158, 1.292, 1.464, 1.677, 1.949, 2.304, 2.752, 3.3, 3.954",\
                 "1.343, 1.405, 1.55, 1.733, 1.95, 2.222, 2.576, 3.023, 3.57, 4.224",\
                 "1.612, 1.68, 1.836, 2.03, 2.256, 2.528, 2.88, 3.326, 3.873, 4.526",\
                 "1.911, 1.983, 2.151, 2.358, 2.593, 2.867, 3.218, 3.663, 4.208, 4.861");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1086, 0.1499, 0.26, 0.4413, 0.7424, 1.184, 1.773, 2.523, 3.448, 4.55",\
                 "0.109, 0.1497, 0.26, 0.4413, 0.7425, 1.184, 1.773, 2.524, 3.445, 4.548",\
                 "0.1091, 0.15, 0.2601, 0.4416, 0.7425, 1.183, 1.772, 2.525, 3.449, 4.549",\
                 "0.1168, 0.1565, 0.2644, 0.4438, 0.743, 1.182, 1.77, 2.525, 3.446, 4.551",\
                 "0.1412, 0.1834, 0.2882, 0.4596, 0.7472, 1.18, 1.771, 2.524, 3.448, 4.551",\
                 "0.165, 0.211, 0.3164, 0.4832, 0.7582, 1.182, 1.771, 2.525, 3.446, 4.546",\
                 "0.1924, 0.2428, 0.35, 0.5098, 0.7702, 1.185, 1.77, 2.522, 3.448, 4.551",\
                 "0.2214, 0.2764, 0.3896, 0.5448, 0.787, 1.189, 1.772, 2.523, 3.444, 4.544",\
                 "0.2536, 0.3136, 0.4336, 0.587, 0.812, 1.196, 1.774, 2.524, 3.446, 4.544",\
                 "0.2866, 0.3514, 0.4808, 0.6348, 0.8456, 1.207, 1.775, 2.527, 3.447, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3245, 0.3675, 0.475, 0.6261, 0.8303, 1.107, 1.464, 1.913, 2.462, 3.117",\
                 "0.3413, 0.3844, 0.4918, 0.6429, 0.8471, 1.123, 1.481, 1.93, 2.479, 3.134",\
                 "0.4075, 0.4504, 0.5577, 0.7089, 0.9133, 1.189, 1.547, 1.996, 2.545, 3.199",\
                 "0.5375, 0.5809, 0.6883, 0.8396, 1.044, 1.319, 1.676, 2.126, 2.674, 3.329",\
                 "0.6987, 0.7472, 0.8625, 1.019, 1.225, 1.499, 1.855, 2.304, 2.853, 3.507",\
                 "0.8859, 0.9385, 1.063, 1.227, 1.436, 1.709, 2.065, 2.513, 3.061, 3.716",\
                 "1.101, 1.158, 1.292, 1.464, 1.677, 1.949, 2.304, 2.752, 3.3, 3.954",\
                 "1.343, 1.405, 1.55, 1.733, 1.95, 2.222, 2.576, 3.023, 3.57, 4.224",\
                 "1.612, 1.68, 1.836, 2.031, 2.256, 2.528, 2.88, 3.326, 3.873, 4.526",\
                 "1.911, 1.983, 2.151, 2.358, 2.593, 2.867, 3.218, 3.663, 4.208, 4.861");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1086, 0.1499, 0.26, 0.4413, 0.7424, 1.184, 1.773, 2.523, 3.448, 4.55",\
                 "0.109, 0.1497, 0.26, 0.4413, 0.7425, 1.184, 1.773, 2.524, 3.445, 4.548",\
                 "0.1091, 0.15, 0.2601, 0.4416, 0.7425, 1.183, 1.772, 2.525, 3.449, 4.549",\
                 "0.1168, 0.1565, 0.2644, 0.4438, 0.743, 1.182, 1.77, 2.525, 3.446, 4.546",\
                 "0.1412, 0.1834, 0.288, 0.4596, 0.747, 1.18, 1.77, 2.524, 3.448, 4.545",\
                 "0.165, 0.211, 0.3164, 0.4828, 0.7578, 1.182, 1.771, 2.525, 3.445, 4.547",\
                 "0.1924, 0.2428, 0.3498, 0.5098, 0.7698, 1.185, 1.771, 2.524, 3.444, 4.546",\
                 "0.2214, 0.2764, 0.39, 0.5448, 0.7872, 1.189, 1.772, 2.523, 3.444, 4.545",\
                 "0.2536, 0.3136, 0.4336, 0.5868, 0.812, 1.196, 1.773, 2.526, 3.446, 4.544",\
                 "0.2866, 0.3514, 0.4808, 0.6348, 0.845, 1.207, 1.775, 2.527, 3.447, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3245, 0.3675, 0.475, 0.6261, 0.8303, 1.107, 1.464, 1.913, 2.462, 3.117",\
                 "0.3413, 0.3844, 0.4918, 0.6429, 0.8471, 1.123, 1.481, 1.93, 2.479, 3.134",\
                 "0.4075, 0.4504, 0.5577, 0.7089, 0.9133, 1.189, 1.547, 1.996, 2.545, 3.199",\
                 "0.5375, 0.5809, 0.6883, 0.8396, 1.044, 1.319, 1.676, 2.126, 2.675, 3.329",\
                 "0.6988, 0.7472, 0.8624, 1.019, 1.225, 1.499, 1.855, 2.304, 2.853, 3.507",\
                 "0.8859, 0.9385, 1.063, 1.227, 1.436, 1.709, 2.065, 2.513, 3.061, 3.716",\
                 "1.1, 1.158, 1.292, 1.464, 1.677, 1.949, 2.304, 2.752, 3.3, 3.954",\
                 "1.343, 1.405, 1.55, 1.733, 1.95, 2.222, 2.576, 3.023, 3.57, 4.224",\
                 "1.612, 1.68, 1.836, 2.03, 2.256, 2.528, 2.88, 3.326, 3.873, 4.526",\
                 "1.911, 1.983, 2.151, 2.358, 2.593, 2.868, 3.218, 3.663, 4.209, 4.861");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1086, 0.1499, 0.26, 0.4413, 0.7424, 1.184, 1.773, 2.523, 3.448, 4.55",\
                 "0.109, 0.1497, 0.26, 0.4413, 0.7425, 1.184, 1.773, 2.524, 3.445, 4.548",\
                 "0.1091, 0.15, 0.2601, 0.4416, 0.7425, 1.183, 1.772, 2.525, 3.449, 4.549",\
                 "0.1168, 0.1565, 0.2642, 0.4438, 0.743, 1.181, 1.772, 2.525, 3.449, 4.552",\
                 "0.1412, 0.1834, 0.2882, 0.4596, 0.747, 1.18, 1.77, 2.525, 3.449, 4.55",\
                 "0.165, 0.211, 0.3164, 0.4832, 0.758, 1.182, 1.771, 2.525, 3.446, 4.547",\
                 "0.1922, 0.2428, 0.35, 0.5102, 0.7702, 1.185, 1.77, 2.522, 3.448, 4.551",\
                 "0.2214, 0.2762, 0.3894, 0.545, 0.787, 1.189, 1.772, 2.523, 3.445, 4.545",\
                 "0.2536, 0.3136, 0.4336, 0.587, 0.8116, 1.196, 1.774, 2.524, 3.446, 4.544",\
                 "0.2866, 0.3518, 0.481, 0.6348, 0.8456, 1.207, 1.774, 2.528, 3.447, 4.542");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3245, 0.3676, 0.475, 0.6261, 0.8303, 1.107, 1.464, 1.913, 2.462, 3.117",\
                 "0.3413, 0.3843, 0.4917, 0.6429, 0.8471, 1.123, 1.481, 1.93, 2.479, 3.134",\
                 "0.4075, 0.4504, 0.5577, 0.7089, 0.9133, 1.189, 1.547, 1.996, 2.545, 3.199",\
                 "0.5376, 0.5809, 0.6884, 0.8397, 1.044, 1.319, 1.676, 2.126, 2.674, 3.329",\
                 "0.6989, 0.7473, 0.8625, 1.019, 1.225, 1.499, 1.855, 2.304, 2.853, 3.507",\
                 "0.8858, 0.9385, 1.063, 1.227, 1.436, 1.709, 2.065, 2.513, 3.061, 3.716",\
                 "1.101, 1.158, 1.292, 1.464, 1.677, 1.949, 2.304, 2.752, 3.3, 3.954",\
                 "1.343, 1.405, 1.55, 1.733, 1.95, 2.222, 2.575, 3.023, 3.57, 4.224",\
                 "1.613, 1.68, 1.836, 2.031, 2.256, 2.528, 2.88, 3.326, 3.873, 4.526",\
                 "1.911, 1.983, 2.151, 2.358, 2.593, 2.867, 3.218, 3.663, 4.209, 4.862");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1086, 0.1497, 0.2601, 0.4414, 0.7424, 1.184, 1.772, 2.525, 3.448, 4.547",\
                 "0.1086, 0.1498, 0.2599, 0.4414, 0.7424, 1.184, 1.773, 2.524, 3.445, 4.549",\
                 "0.1091, 0.15, 0.2601, 0.4416, 0.7425, 1.183, 1.772, 2.525, 3.449, 4.55",\
                 "0.1166, 0.1565, 0.2644, 0.4438, 0.7428, 1.182, 1.77, 2.525, 3.448, 4.549",\
                 "0.1408, 0.183, 0.288, 0.4598, 0.7472, 1.18, 1.77, 2.524, 3.446, 4.546",\
                 "0.1648, 0.2112, 0.3164, 0.483, 0.758, 1.182, 1.771, 2.525, 3.447, 4.548",\
                 "0.1928, 0.2434, 0.3502, 0.5102, 0.7702, 1.185, 1.771, 2.522, 3.448, 4.551",\
                 "0.2218, 0.2768, 0.39, 0.545, 0.7868, 1.189, 1.772, 2.524, 3.444, 4.545",\
                 "0.2544, 0.3132, 0.434, 0.587, 0.812, 1.196, 1.774, 2.526, 3.445, 4.545",\
                 "0.2864, 0.3514, 0.4814, 0.6356, 0.845, 1.207, 1.774, 2.525, 3.445, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3245, 0.3676, 0.475, 0.6261, 0.8303, 1.107, 1.464, 1.913, 2.462, 3.117",\
                 "0.3414, 0.3844, 0.4917, 0.6429, 0.8471, 1.123, 1.481, 1.93, 2.479, 3.134",\
                 "0.4075, 0.4504, 0.5577, 0.7089, 0.9133, 1.189, 1.547, 1.996, 2.545, 3.199",\
                 "0.5375, 0.5809, 0.6884, 0.8397, 1.044, 1.319, 1.676, 2.126, 2.675, 3.329",\
                 "0.6988, 0.7473, 0.8625, 1.019, 1.225, 1.499, 1.855, 2.304, 2.853, 3.507",\
                 "0.8858, 0.9385, 1.063, 1.227, 1.436, 1.709, 2.065, 2.513, 3.061, 3.716",\
                 "1.1, 1.158, 1.292, 1.464, 1.677, 1.949, 2.304, 2.752, 3.3, 3.954",\
                 "1.343, 1.405, 1.55, 1.733, 1.95, 2.222, 2.575, 3.023, 3.57, 4.224",\
                 "1.612, 1.68, 1.836, 2.031, 2.256, 2.528, 2.88, 3.326, 3.873, 4.526",\
                 "1.911, 1.983, 2.151, 2.358, 2.593, 2.867, 3.218, 3.663, 4.209, 4.862");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1086, 0.1497, 0.2601, 0.4414, 0.7422, 1.184, 1.772, 2.525, 3.448, 4.547",\
                 "0.1086, 0.1498, 0.2599, 0.4414, 0.7424, 1.184, 1.773, 2.524, 3.445, 4.549",\
                 "0.1091, 0.15, 0.2601, 0.4416, 0.7425, 1.183, 1.772, 2.525, 3.449, 4.55",\
                 "0.117, 0.1565, 0.2644, 0.4438, 0.743, 1.182, 1.771, 2.523, 3.449, 4.546",\
                 "0.142, 0.183, 0.2878, 0.4596, 0.7472, 1.18, 1.77, 2.523, 3.448, 4.548",\
                 "0.1648, 0.2112, 0.3164, 0.483, 0.758, 1.182, 1.771, 2.525, 3.447, 4.548",\
                 "0.1926, 0.2432, 0.3502, 0.5102, 0.7702, 1.185, 1.771, 2.522, 3.448, 4.551",\
                 "0.2218, 0.2768, 0.3896, 0.5452, 0.7868, 1.189, 1.773, 2.523, 3.444, 4.546",\
                 "0.2538, 0.313, 0.433, 0.5868, 0.8124, 1.196, 1.773, 2.526, 3.446, 4.545",\
                 "0.2868, 0.3512, 0.4804, 0.6354, 0.845, 1.207, 1.775, 2.527, 3.447, 4.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3245, 0.3676, 0.475, 0.6261, 0.8303, 1.107, 1.464, 1.913, 2.462, 3.117",\
                 "0.3413, 0.3843, 0.4917, 0.6429, 0.8471, 1.123, 1.481, 1.93, 2.479, 3.134",\
                 "0.4075, 0.4504, 0.5577, 0.7089, 0.9133, 1.189, 1.547, 1.996, 2.545, 3.199",\
                 "0.5375, 0.5809, 0.6884, 0.8397, 1.044, 1.319, 1.676, 2.126, 2.675, 3.329",\
                 "0.6988, 0.7473, 0.8624, 1.019, 1.225, 1.499, 1.855, 2.304, 2.853, 3.507",\
                 "0.8858, 0.9385, 1.063, 1.227, 1.436, 1.709, 2.065, 2.513, 3.061, 3.716",\
                 "1.1, 1.158, 1.292, 1.464, 1.677, 1.949, 2.304, 2.752, 3.3, 3.954",\
                 "1.343, 1.405, 1.55, 1.733, 1.95, 2.222, 2.576, 3.023, 3.57, 4.224",\
                 "1.613, 1.68, 1.836, 2.031, 2.256, 2.528, 2.88, 3.326, 3.873, 4.526",\
                 "1.911, 1.984, 2.151, 2.358, 2.593, 2.867, 3.218, 3.663, 4.209, 4.862");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1086, 0.1497, 0.2601, 0.4414, 0.7424, 1.184, 1.772, 2.525, 3.448, 4.547",\
                 "0.1086, 0.1498, 0.2599, 0.4414, 0.7424, 1.184, 1.773, 2.524, 3.445, 4.549",\
                 "0.1091, 0.15, 0.2601, 0.4416, 0.7425, 1.183, 1.772, 2.525, 3.449, 4.55",\
                 "0.117, 0.1565, 0.2644, 0.4438, 0.7428, 1.182, 1.771, 2.523, 3.446, 4.55",\
                 "0.142, 0.183, 0.288, 0.4596, 0.7468, 1.18, 1.77, 2.524, 3.448, 4.549",\
                 "0.1648, 0.2112, 0.3164, 0.483, 0.758, 1.182, 1.771, 2.525, 3.447, 4.548",\
                 "0.1926, 0.2432, 0.3502, 0.51, 0.7702, 1.185, 1.771, 2.522, 3.448, 4.551",\
                 "0.2218, 0.2768, 0.3896, 0.545, 0.7868, 1.189, 1.773, 2.523, 3.444, 4.546",\
                 "0.2538, 0.313, 0.433, 0.5868, 0.8124, 1.196, 1.773, 2.526, 3.446, 4.544",\
                 "0.2868, 0.351, 0.4804, 0.6354, 0.8456, 1.207, 1.775, 2.527, 3.447, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3245, 0.3675, 0.475, 0.6261, 0.8303, 1.107, 1.464, 1.913, 2.462, 3.117",\
                 "0.3413, 0.3844, 0.4918, 0.6429, 0.8471, 1.123, 1.481, 1.93, 2.479, 3.134",\
                 "0.4075, 0.4504, 0.5577, 0.7089, 0.9133, 1.189, 1.547, 1.996, 2.545, 3.199",\
                 "0.5375, 0.5809, 0.6883, 0.8396, 1.044, 1.319, 1.676, 2.126, 2.674, 3.329",\
                 "0.6988, 0.7471, 0.8624, 1.019, 1.225, 1.499, 1.855, 2.304, 2.853, 3.507",\
                 "0.8859, 0.9385, 1.063, 1.227, 1.436, 1.709, 2.065, 2.513, 3.061, 3.715",\
                 "1.101, 1.158, 1.292, 1.464, 1.677, 1.949, 2.304, 2.752, 3.3, 3.954",\
                 "1.343, 1.405, 1.55, 1.733, 1.95, 2.222, 2.576, 3.023, 3.57, 4.224",\
                 "1.612, 1.68, 1.836, 2.03, 2.256, 2.528, 2.88, 3.326, 3.873, 4.526",\
                 "1.911, 1.983, 2.151, 2.358, 2.593, 2.868, 3.218, 3.663, 4.209, 4.861");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1086, 0.1499, 0.26, 0.4413, 0.7424, 1.184, 1.773, 2.523, 3.448, 4.55",\
                 "0.109, 0.1497, 0.26, 0.4413, 0.7425, 1.184, 1.773, 2.524, 3.445, 4.548",\
                 "0.1091, 0.15, 0.2601, 0.4416, 0.7425, 1.183, 1.772, 2.525, 3.449, 4.549",\
                 "0.1168, 0.1565, 0.2644, 0.4438, 0.743, 1.182, 1.771, 2.525, 3.445, 4.55",\
                 "0.1412, 0.1832, 0.2882, 0.4596, 0.747, 1.18, 1.77, 2.525, 3.449, 4.551",\
                 "0.165, 0.211, 0.3164, 0.4834, 0.758, 1.182, 1.771, 2.524, 3.448, 4.549",\
                 "0.1924, 0.2432, 0.35, 0.5098, 0.77, 1.185, 1.771, 2.522, 3.448, 4.551",\
                 "0.2214, 0.2762, 0.3894, 0.5448, 0.7874, 1.189, 1.772, 2.524, 3.444, 4.545",\
                 "0.2538, 0.3134, 0.4334, 0.587, 0.8116, 1.196, 1.772, 2.524, 3.445, 4.545",\
                 "0.2866, 0.3514, 0.4804, 0.6348, 0.8454, 1.207, 1.775, 2.524, 3.447, 4.546");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3245, 0.3676, 0.475, 0.6261, 0.8303, 1.107, 1.464, 1.913, 2.462, 3.117",\
                 "0.3413, 0.3843, 0.4917, 0.6429, 0.8471, 1.123, 1.481, 1.93, 2.479, 3.134",\
                 "0.4075, 0.4504, 0.5577, 0.7089, 0.9133, 1.189, 1.547, 1.996, 2.545, 3.199",\
                 "0.5375, 0.5809, 0.6884, 0.8397, 1.044, 1.319, 1.676, 2.126, 2.675, 3.329",\
                 "0.6989, 0.7473, 0.8625, 1.019, 1.225, 1.499, 1.855, 2.304, 2.853, 3.507",\
                 "0.8858, 0.9385, 1.063, 1.227, 1.436, 1.709, 2.065, 2.513, 3.061, 3.715",\
                 "1.1, 1.158, 1.292, 1.464, 1.677, 1.949, 2.304, 2.752, 3.3, 3.954",\
                 "1.343, 1.405, 1.55, 1.733, 1.95, 2.222, 2.575, 3.023, 3.57, 4.224",\
                 "1.613, 1.68, 1.836, 2.031, 2.256, 2.528, 2.88, 3.326, 3.873, 4.526",\
                 "1.911, 1.983, 2.151, 2.358, 2.593, 2.867, 3.218, 3.663, 4.209, 4.861");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1086, 0.1497, 0.2601, 0.4414, 0.7424, 1.184, 1.772, 2.525, 3.448, 4.547",\
                 "0.1086, 0.1498, 0.2599, 0.4414, 0.7424, 1.184, 1.773, 2.525, 3.446, 4.549",\
                 "0.1091, 0.15, 0.2601, 0.4416, 0.7425, 1.183, 1.772, 2.525, 3.449, 4.55",\
                 "0.117, 0.1565, 0.2642, 0.4438, 0.7428, 1.181, 1.77, 2.525, 3.449, 4.549",\
                 "0.1408, 0.183, 0.2884, 0.4598, 0.7472, 1.18, 1.77, 2.524, 3.449, 4.551",\
                 "0.1648, 0.2112, 0.3164, 0.483, 0.758, 1.182, 1.771, 2.525, 3.448, 4.549",\
                 "0.1926, 0.2434, 0.3502, 0.5098, 0.7702, 1.185, 1.771, 2.522, 3.448, 4.551",\
                 "0.2218, 0.2768, 0.3894, 0.545, 0.7868, 1.189, 1.774, 2.524, 3.444, 4.545",\
                 "0.2544, 0.3132, 0.433, 0.5866, 0.8116, 1.196, 1.772, 2.524, 3.446, 4.544",\
                 "0.2864, 0.3512, 0.4808, 0.6348, 0.8456, 1.207, 1.774, 2.525, 3.445, 4.546");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.3245, 0.3676, 0.475, 0.6261, 0.8303, 1.107, 1.464, 1.913, 2.462, 3.117",\
                 "0.3413, 0.3843, 0.4917, 0.6429, 0.8471, 1.123, 1.481, 1.93, 2.479, 3.134",\
                 "0.4075, 0.4504, 0.5577, 0.7089, 0.9133, 1.189, 1.547, 1.996, 2.545, 3.199",\
                 "0.5376, 0.5809, 0.6884, 0.8397, 1.044, 1.319, 1.676, 2.126, 2.674, 3.329",\
                 "0.6989, 0.7473, 0.8625, 1.019, 1.225, 1.499, 1.855, 2.304, 2.853, 3.507",\
                 "0.8858, 0.9385, 1.063, 1.227, 1.436, 1.709, 2.065, 2.513, 3.061, 3.716",\
                 "1.101, 1.158, 1.292, 1.464, 1.677, 1.949, 2.304, 2.752, 3.3, 3.954",\
                 "1.343, 1.405, 1.55, 1.733, 1.95, 2.222, 2.575, 3.023, 3.57, 4.224",\
                 "1.613, 1.68, 1.836, 2.031, 2.256, 2.528, 2.88, 3.326, 3.873, 4.526",\
                 "1.911, 1.983, 2.151, 2.358, 2.593, 2.867, 3.218, 3.663, 4.209, 4.862");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005952, 0.02333, 0.05652, 0.1082, 0.1808, 0.2763, 0.3965, 0.5434, 0.7184");
          values("0.1089, 0.1485, 0.258, 0.4379, 0.73, 1.172, 1.769, 2.526, 3.451, 4.557",\
                 "0.1093, 0.149, 0.2579, 0.4382, 0.7307, 1.172, 1.767, 2.524, 3.45, 4.55",\
                 "0.1095, 0.1487, 0.2581, 0.4379, 0.73, 1.172, 1.769, 2.526, 3.45, 4.557",\
                 "0.1172, 0.1551, 0.262, 0.4398, 0.7304, 1.171, 1.769, 2.526, 3.451, 4.557",\
                 "0.1414, 0.1816, 0.2848, 0.4524, 0.7334, 1.172, 1.769, 2.526, 3.452, 4.557",\
                 "0.165, 0.2086, 0.3122, 0.4698, 0.7392, 1.173, 1.768, 2.523, 3.45, 4.551",\
                 "0.1918, 0.2388, 0.3426, 0.4894, 0.745, 1.175, 1.769, 2.523, 3.448, 4.548",\
                 "0.22, 0.2706, 0.3786, 0.5116, 0.751, 1.176, 1.77, 2.524, 3.444, 4.542",\
                 "0.2512, 0.3044, 0.4172, 0.536, 0.758, 1.177, 1.771, 2.524, 3.444, 4.544",\
                 "0.2816, 0.3422, 0.4572, 0.5624, 0.7664, 1.179, 1.77, 2.526, 3.446, 4.545");
        }
      }
    }

    pin(RN) {
      capacitance : 0.006785 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.629 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02176, 0.02088, 0.02058, 0.02055, 0.02056, 0.0206, 0.02059, \
                 0.0206, 0.0206, 0.02062");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02058, -0.02056, -0.02051, -0.02049, -0.02048, -0.02055, -0.02055, \
                 -0.02056, -0.02054, -0.02054");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02176, 0.02088, 0.02058, 0.02054, 0.02056, 0.0206, 0.02058, \
                 0.02058, 0.0206, 0.02063");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02058, -0.02056, -0.02051, -0.02049, -0.02048, -0.02055, -0.02055, \
                 -0.02056, -0.02054, -0.02054");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02176, 0.02088, 0.02058, 0.02057, 0.02057, 0.02061, 0.0206, \
                 0.02061, 0.02061, 0.02058");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02058, -0.02056, -0.02051, -0.02049, -0.02048, -0.02055, -0.02055, \
                 -0.02056, -0.02055, -0.02054");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02104, 0.02007, 0.0196, 0.01952, 0.01951, 0.01952, 0.01951, \
                 0.01951, 0.0195, 0.01949");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01929, -0.01948, -0.01982, -0.02002, -0.02014, -0.02026, -0.02031, \
                 -0.02032, -0.02034, -0.02035");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02104, 0.02007, 0.01961, 0.01953, 0.01952, 0.01952, 0.0195, \
                 0.0195, 0.01949, 0.01949");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01929, -0.01948, -0.01982, -0.02002, -0.02014, -0.02026, -0.0203, \
                 -0.02032, -0.02034, -0.02035");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02104, 0.02007, 0.01961, 0.01952, 0.01951, 0.01951, 0.0195, \
                 0.0195, 0.0195, 0.01949");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01929, -0.01948, -0.01982, -0.02002, -0.02014, -0.02026, -0.02031, \
                 -0.02032, -0.02034, -0.02035");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02175, 0.02087, 0.0206, 0.02056, 0.02057, 0.02062, 0.02059, \
                 0.02058, 0.02061, 0.02062");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02058, -0.02056, -0.02051, -0.02049, -0.02048, -0.02055, -0.02055, \
                 -0.02056, -0.02054, -0.02054");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02104, 0.02007, 0.01961, 0.01952, 0.01952, 0.01953, 0.01952, \
                 0.0195, 0.01949, 0.01949");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01929, -0.01948, -0.01982, -0.02002, -0.02014, -0.02026, -0.02031, \
                 -0.02032, -0.02033, -0.02035");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02238, 0.02099, 0.02059, 0.02058, 0.02058, 0.02061, 0.02062, \
                 0.02061, 0.02062, 0.02059");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02059, -0.02057, -0.02052, -0.02052, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02055, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02238, 0.02099, 0.02061, 0.02058, 0.02058, 0.02061, 0.02061, \
                 0.02062, 0.02063, 0.0206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02059, -0.02057, -0.02052, -0.02052, -0.0205, -0.02056, -0.02056, \
                 -0.02055, -0.02054, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02237, 0.02099, 0.02063, 0.02058, 0.02061, 0.02061, 0.02062, \
                 0.02061, 0.0206, 0.02062");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02059, -0.02057, -0.02052, -0.02052, -0.0205, -0.02056, -0.02056, \
                 -0.02056, -0.02055, -0.02056");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02231, 0.02096, 0.02059, 0.02058, 0.02057, 0.02063, 0.02061, \
                 0.02062, 0.02062, 0.02061");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02059, -0.02057, -0.02052, -0.02052, -0.0205, -0.02056, -0.02056, \
                 -0.02055, -0.02055, -0.02056");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02231, 0.02096, 0.02059, 0.02057, 0.02056, 0.02062, 0.0206, \
                 0.02062, 0.0206, 0.02062");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02059, -0.02057, -0.02052, -0.02052, -0.0205, -0.02055, -0.02056, \
                 -0.02056, -0.02055, -0.02056");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02231, 0.02096, 0.02059, 0.02058, 0.02057, 0.02063, 0.0206, \
                 0.02061, 0.0206, 0.02062");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02059, -0.02057, -0.02052, -0.02052, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02055, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02238, 0.02099, 0.02061, 0.02056, 0.02057, 0.02062, 0.02061, \
                 0.0206, 0.02058, 0.02059");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02059, -0.02057, -0.02052, -0.02052, -0.0205, -0.02056, -0.02056, \
                 -0.02055, -0.02055, -0.02056");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02231, 0.02096, 0.02059, 0.02059, 0.02057, 0.02063, 0.02061, \
                 0.02061, 0.02061, 0.02062");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02059, -0.02057, -0.02052, -0.02052, -0.0205, -0.02056, -0.02056, \
                 -0.02055, -0.02055, -0.02056");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.315, -0.336, -0.388, -0.453, -0.509, -0.549, -0.555, -0.549, -0.497, -0.429",\
                 "-0.32, -0.342, -0.391, -0.459, -0.51, -0.554, -0.561, -0.553, -0.507, -0.439",\
                 "-0.331, -0.35, -0.401, -0.473, -0.521, -0.557, -0.574, -0.565, -0.528, -0.46",\
                 "-0.292, -0.312, -0.372, -0.436, -0.495, -0.534, -0.555, -0.549, -0.504, -0.444",\
                 "-0.079, -0.1, -0.165, -0.243, -0.303, -0.346, -0.37, -0.367, -0.338, -0.278",\
                 "0.296, 0.282, 0.207, 0.118, 0.048, -0.005, -0.035, -0.039, -0.004, 0.046",\
                 "0.825, 0.81, 0.719, 0.615, 0.537, 0.48, 0.436, 0.442, 0.458, 0.51",\
                 "1.523, 1.508, 1.374, 1.251, 1.168, 1.126, 1.061, 1.042, 1.077, 1.124",\
                 "2.359, 2.313, 2.191, 2.059, 1.966, 1.906, 1.817, 1.786, 1.836, 1.902",\
                 "3.376, 3.338, 3.196, 3.053, 2.906, 2.839, 2.752, 2.69, 2.755, 2.856");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.315, -0.336, -0.388, -0.453, -0.509, -0.549, -0.555, -0.549, -0.497, -0.429",\
                 "-0.32, -0.342, -0.391, -0.459, -0.51, -0.554, -0.561, -0.553, -0.507, -0.439",\
                 "-0.331, -0.35, -0.401, -0.479, -0.521, -0.557, -0.574, -0.565, -0.52, -0.46",\
                 "-0.292, -0.312, -0.372, -0.436, -0.495, -0.534, -0.555, -0.549, -0.504, -0.444",\
                 "-0.079, -0.1, -0.165, -0.243, -0.302, -0.346, -0.37, -0.367, -0.338, -0.284",\
                 "0.296, 0.265, 0.207, 0.118, 0.048, -0.005, -0.035, -0.039, -0.004, 0.046",\
                 "0.825, 0.81, 0.719, 0.615, 0.537, 0.48, 0.436, 0.442, 0.458, 0.51",\
                 "1.523, 1.508, 1.374, 1.251, 1.168, 1.101, 1.061, 1.042, 1.077, 1.132",\
                 "2.367, 2.313, 2.191, 2.059, 1.966, 1.906, 1.811, 1.786, 1.836, 1.875",\
                 "3.376, 3.338, 3.196, 2.991, 2.906, 2.839, 2.752, 2.698, 2.764, 2.81");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.315, -0.336, -0.388, -0.453, -0.509, -0.549, -0.555, -0.549, -0.497, -0.429",\
                 "-0.32, -0.342, -0.391, -0.459, -0.51, -0.554, -0.561, -0.553, -0.507, -0.439",\
                 "-0.331, -0.35, -0.401, -0.479, -0.521, -0.557, -0.574, -0.572, -0.52, -0.46",\
                 "-0.292, -0.312, -0.372, -0.436, -0.495, -0.534, -0.555, -0.549, -0.504, -0.444",\
                 "-0.087, -0.1, -0.165, -0.243, -0.302, -0.346, -0.37, -0.367, -0.338, -0.278",\
                 "0.296, 0.282, 0.207, 0.118, 0.048, -0.005, -0.035, -0.039, -0.004, 0.059",\
                 "0.825, 0.81, 0.719, 0.615, 0.537, 0.48, 0.436, 0.442, 0.458, 0.51",\
                 "1.523, 1.508, 1.374, 1.251, 1.168, 1.101, 1.061, 1.036, 1.077, 1.124",\
                 "2.367, 2.321, 2.191, 2.059, 1.966, 1.864, 1.817, 1.786, 1.836, 1.911",\
                 "3.376, 3.338, 3.18, 2.991, 2.9, 2.826, 2.752, 2.698, 2.755, 2.856");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.315, -0.336, -0.388, -0.453, -0.508, -0.549, -0.555, -0.549, -0.505, -0.434",\
                 "-0.32, -0.334, -0.391, -0.459, -0.51, -0.554, -0.561, -0.559, -0.507, -0.439",\
                 "-0.331, -0.35, -0.401, -0.473, -0.521, -0.557, -0.574, -0.565, -0.528, -0.46",\
                 "-0.292, -0.312, -0.372, -0.436, -0.501, -0.534, -0.555, -0.549, -0.504, -0.444",\
                 "-0.087, -0.1, -0.165, -0.243, -0.302, -0.337, -0.37, -0.367, -0.329, -0.278",\
                 "0.296, 0.288, 0.207, 0.118, 0.048, -0.005, -0.035, -0.039, -0.004, 0.059",\
                 "0.825, 0.81, 0.719, 0.615, 0.548, 0.48, 0.436, 0.442, 0.487, 0.531",\
                 "1.523, 1.508, 1.374, 1.258, 1.168, 1.101, 1.061, 1.036, 1.077, 1.132",\
                 "2.367, 2.313, 2.191, 2.059, 1.966, 1.906, 1.858, 1.786, 1.836, 1.875",\
                 "3.376, 3.338, 3.18, 2.991, 2.906, 2.839, 2.744, 2.698, 2.755, 2.856");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.555, 0.568, 0.619, 0.699, 0.755, 0.808, 0.841, 0.85, 0.839, 0.804",\
                 "0.559, 0.572, 0.621, 0.7, 0.757, 0.807, 0.844, 0.852, 0.843, 0.806",\
                 "0.584, 0.592, 0.646, 0.723, 0.782, 0.832, 0.864, 0.876, 0.867, 0.831",\
                 "0.647, 0.669, 0.715, 0.789, 0.85, 0.9, 0.935, 0.937, 0.932, 0.893",\
                 "0.772, 0.78, 0.836, 0.903, 0.969, 1.012, 1.04, 1.049, 1.039, 1",\
                 "0.93, 0.943, 0.993, 1.067, 1.126, 1.171, 1.201, 1.21, 1.198, 1.157",\
                 "1.123, 1.135, 1.183, 1.263, 1.316, 1.359, 1.389, 1.402, 1.391, 1.36",\
                 "1.351, 1.363, 1.411, 1.482, 1.543, 1.586, 1.623, 1.631, 1.624, 1.597",\
                 "1.62, 1.629, 1.681, 1.75, 1.8, 1.846, 1.876, 1.894, 1.89, 1.863",\
                 "1.914, 1.929, 1.98, 2.046, 2.099, 2.141, 2.172, 2.193, 2.19, 2.165");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.555, 0.568, 0.619, 0.699, 0.755, 0.808, 0.841, 0.85, 0.839, 0.804",\
                 "0.559, 0.572, 0.621, 0.7, 0.757, 0.807, 0.844, 0.852, 0.843, 0.806",\
                 "0.584, 0.592, 0.646, 0.723, 0.782, 0.832, 0.864, 0.876, 0.867, 0.831",\
                 "0.647, 0.669, 0.715, 0.789, 0.85, 0.9, 0.935, 0.937, 0.932, 0.887",\
                 "0.772, 0.78, 0.836, 0.903, 0.962, 1.012, 1.04, 1.049, 1.039, 1",\
                 "0.93, 0.943, 0.993, 1.067, 1.126, 1.171, 1.201, 1.21, 1.198, 1.157",\
                 "1.123, 1.135, 1.183, 1.263, 1.316, 1.359, 1.389, 1.402, 1.391, 1.36",\
                 "1.351, 1.363, 1.411, 1.482, 1.543, 1.586, 1.623, 1.631, 1.624, 1.597",\
                 "1.62, 1.629, 1.681, 1.742, 1.8, 1.846, 1.876, 1.894, 1.89, 1.863",\
                 "1.914, 1.929, 1.974, 2.045, 2.099, 2.141, 2.172, 2.193, 2.19, 2.165");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.555, 0.568, 0.619, 0.699, 0.755, 0.808, 0.841, 0.85, 0.839, 0.804",\
                 "0.559, 0.572, 0.621, 0.7, 0.757, 0.807, 0.844, 0.852, 0.843, 0.806",\
                 "0.584, 0.592, 0.646, 0.723, 0.782, 0.832, 0.864, 0.876, 0.867, 0.831",\
                 "0.647, 0.669, 0.715, 0.789, 0.85, 0.9, 0.935, 0.937, 0.932, 0.887",\
                 "0.772, 0.78, 0.836, 0.903, 0.962, 1.012, 1.04, 1.049, 1.039, 1",\
                 "0.93, 0.943, 0.993, 1.067, 1.126, 1.171, 1.201, 1.21, 1.198, 1.157",\
                 "1.123, 1.135, 1.183, 1.263, 1.316, 1.359, 1.389, 1.402, 1.391, 1.36",\
                 "1.351, 1.363, 1.411, 1.482, 1.543, 1.586, 1.623, 1.631, 1.624, 1.597",\
                 "1.62, 1.629, 1.681, 1.742, 1.8, 1.846, 1.876, 1.894, 1.89, 1.863",\
                 "1.914, 1.929, 1.974, 2.045, 2.099, 2.141, 2.172, 2.193, 2.19, 2.165");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.555, 0.568, 0.619, 0.699, 0.755, 0.808, 0.841, 0.85, 0.839, 0.804",\
                 "0.559, 0.572, 0.621, 0.7, 0.757, 0.807, 0.844, 0.858, 0.843, 0.806",\
                 "0.584, 0.592, 0.646, 0.723, 0.782, 0.832, 0.864, 0.876, 0.867, 0.831",\
                 "0.647, 0.659, 0.715, 0.789, 0.85, 0.9, 0.935, 0.944, 0.932, 0.893",\
                 "0.764, 0.78, 0.836, 0.903, 0.969, 1.012, 1.04, 1.049, 1.039, 1",\
                 "0.925, 0.943, 0.993, 1.067, 1.126, 1.171, 1.201, 1.21, 1.198, 1.164",\
                 "1.123, 1.135, 1.183, 1.263, 1.316, 1.359, 1.397, 1.402, 1.391, 1.36",\
                 "1.351, 1.363, 1.411, 1.482, 1.543, 1.586, 1.623, 1.631, 1.624, 1.597",\
                 "1.612, 1.629, 1.681, 1.75, 1.8, 1.846, 1.876, 1.894, 1.89, 1.863",\
                 "1.914, 1.929, 1.974, 2.046, 2.099, 2.141, 2.172, 2.193, 2.19, 2.165");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.466");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.623");
        }
      }
    }

    pin(SE) {
      capacitance : 0.005991 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05658, 0.05606, 0.05728, 0.06246, 0.07235, 0.08754, 0.1084, \
                 0.1355, 0.1691, 0.2094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001201, 0.0009503, 0.001695, 0.005495, 0.01354, 0.02633, 0.04427, \
                 0.06764, 0.09669, 0.1317");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1902, 0.1893, 0.1899, 0.1947, 0.2072, 0.2304, 0.2658, 0.3152, \
                 0.3783, 0.4548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08035, 0.07961, 0.07976, 0.08392, 0.09528, 0.1156, 0.1462, 0.1879, \
                 0.2409, 0.3058");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05658, 0.05605, 0.05729, 0.06244, 0.07233, 0.0875, 0.1084, 0.1355, \
                 0.1691, 0.2094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001198, 0.0009599, 0.001706, 0.005502, 0.01353, 0.02632, 0.04428, \
                 0.0676, 0.09666, 0.1317");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1857, 0.1848, 0.1854, 0.1902, 0.2028, 0.2259, 0.2613, 0.3105, \
                 0.3733, 0.4496");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08282, 0.08208, 0.08221, 0.08636, 0.09775, 0.118, 0.1487, 0.1903, \
                 0.2433, 0.3081");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1355, 0.135, 0.1361, 0.1411, 0.1508, 0.1659, 0.1871, 0.2147, \
                 0.2491, 0.2907");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1434, 0.1432, 0.1438, 0.1473, 0.1548, 0.1672, 0.1849, 0.208, \
                 0.237, 0.2723");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0575, 0.057, 0.05834, 0.06358, 0.07365, 0.08903, 0.1101, 0.1373, \
                 0.171, 0.2115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001632, -0.002422, -0.002094, 0.00164, 0.009684, 0.02247, 0.04049, \
                 0.06388, 0.09299, 0.1281");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.138, 0.1374, 0.1386, 0.1435, 0.1533, 0.1684, 0.1895, 0.2171, \
                 0.2515, 0.2932");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1388, 0.1387, 0.1393, 0.1427, 0.1503, 0.1627, 0.1804, 0.2035, \
                 0.2326, 0.2678");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0575, 0.0569, 0.05828, 0.06355, 0.07365, 0.08905, 0.1101, 0.1373, \
                 0.171, 0.2115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001633, -0.002417, -0.002065, 0.001641, 0.009675, 0.0225, 0.04048, \
                 0.06389, 0.093, 0.1281");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05706, 0.05675, 0.05808, 0.06321, 0.07315, 0.08832, 0.1092, \
                 0.1362, 0.1698, 0.2101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001117, 0.0008966, 0.001618, 0.00542, 0.01349, 0.02628, 0.04424, \
                 0.06762, 0.09666, 0.1317");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05743, 0.05671, 0.05789, 0.06304, 0.07298, 0.08821, 0.1091, \
                 0.1362, 0.1698, 0.2102");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001195, -0.001704, -0.001324, 0.002361, 0.01081, 0.02449, 0.04348, \
                 0.06756, 0.09692, 0.132");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05657, 0.05602, 0.05722, 0.0624, 0.07231, 0.08747, 0.1084, 0.1355, \
                 0.169, 0.2094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001098, 0.0008993, 0.00163, 0.005426, 0.0135, 0.0263, 0.04425, \
                 0.06761, 0.09664, 0.1317");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0771, 0.07655, 0.0779, 0.08324, 0.09385, 0.1101, 0.1323, 0.1605, \
                 0.1949, 0.2357");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001191, -0.001701, -0.001311, 0.002348, 0.01079, 0.02449, 0.04349, \
                 0.06754, 0.09691, 0.132");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05825, 0.05771, 0.05889, 0.06384, 0.07353, 0.08859, 0.1094, \
                 0.1364, 0.1698, 0.2101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002256, 0.002006, 0.002745, 0.006457, 0.01449, 0.02725, 0.04519, \
                 0.06852, 0.09758, 0.1326");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05984, 0.05931, 0.06058, 0.06574, 0.07564, 0.09087, 0.1118, \
                 0.1389, 0.1725, 0.2129");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002318, -0.002857, -0.002385, 0.001344, 0.009402, 0.02214, \
                 0.04014, 0.0635, 0.0926, 0.1276");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05892, 0.05839, 0.05955, 0.06461, 0.07428, 0.08931, 0.1101, \
                 0.137, 0.1705, 0.2108");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01684, 0.0166, 0.01735, 0.02107, 0.02905, 0.04188, 0.05983, \
                 0.08317, 0.1122, 0.1473");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05745, 0.0569, 0.05825, 0.06358, 0.07365, 0.08895, 0.1101, 0.1373, \
                 0.1709, 0.2115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002064, -0.00266, -0.002214, 0.001549, 0.009571, 0.02243, 0.04036, \
                 0.06379, 0.09288, 0.128");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.12, -0.108, -0.063, -0.001, 0.055, 0.088, 0.099, 0.083, 0.051, -0.014",\
                 "-0.131, -0.12, -0.077, -0.013, 0.039, 0.076, 0.09, 0.075, 0.04, -0.027",\
                 "-0.162, -0.154, -0.102, -0.042, 0.017, 0.047, 0.058, 0.044, 0.007, -0.054",\
                 "-0.208, -0.189, -0.149, -0.084, -0.026, 0.001, 0.016, 0.002, -0.038, -0.103",\
                 "-0.248, -0.232, -0.19, -0.126, -0.074, -0.04, -0.035, -0.054, -0.088, -0.156",\
                 "-0.29, -0.283, -0.232, -0.176, -0.126, -0.097, -0.093, -0.112, -0.154, -0.22",\
                 "-0.327, -0.313, -0.266, -0.215, -0.164, -0.143, -0.137, -0.159, -0.204, -0.274",\
                 "-0.331, -0.327, -0.286, -0.228, -0.182, -0.166, -0.163, -0.2, -0.247, -0.31",\
                 "-0.33, -0.322, -0.288, -0.243, -0.196, -0.187, -0.192, -0.226, -0.273, -0.343",\
                 "-0.319, -0.319, -0.289, -0.248, -0.212, -0.213, -0.218, -0.264, -0.314, -0.383");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.372, -0.361, -0.331, -0.319, -0.34, -0.378, -0.432, -0.519, -0.626, -0.753",\
                 "-0.384, -0.366, -0.344, -0.332, -0.347, -0.384, -0.442, -0.528, -0.634, -0.761",\
                 "-0.409, -0.397, -0.37, -0.361, -0.374, -0.412, -0.467, -0.553, -0.655, -0.783",\
                 "-0.453, -0.44, -0.415, -0.405, -0.417, -0.445, -0.503, -0.579, -0.676, -0.808",\
                 "-0.509, -0.494, -0.469, -0.448, -0.457, -0.478, -0.533, -0.602, -0.703, -0.829",\
                 "-0.549, -0.536, -0.506, -0.483, -0.486, -0.513, -0.557, -0.626, -0.72, -0.841",\
                 "-0.563, -0.553, -0.519, -0.495, -0.502, -0.527, -0.565, -0.637, -0.73, -0.845",\
                 "-0.549, -0.542, -0.509, -0.497, -0.493, -0.511, -0.563, -0.629, -0.719, -0.837",\
                 "-0.505, -0.491, -0.462, -0.451, -0.452, -0.481, -0.529, -0.598, -0.693, -0.812",\
                 "-0.429, -0.413, -0.391, -0.378, -0.385, -0.413, -0.461, -0.535, -0.638, -0.762");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.538, -0.525, -0.498, -0.474, -0.496, -0.527, -0.583, -0.66, -0.761, -0.888",\
                 "-0.555, -0.541, -0.51, -0.496, -0.509, -0.543, -0.596, -0.677, -0.779, -0.908",\
                 "-0.618, -0.61, -0.574, -0.563, -0.574, -0.61, -0.667, -0.746, -0.845, -0.976",\
                 "-0.735, -0.72, -0.694, -0.673, -0.691, -0.723, -0.783, -0.86, -0.955, -1.088",\
                 "-0.881, -0.865, -0.834, -0.823, -0.834, -0.872, -0.922, -1.002, -1.1, -1.229",\
                 "-1.055, -1.043, -1.011, -0.995, -1.011, -1.042, -1.096, -1.173, -1.28, -1.403",\
                 "-1.263, -1.256, -1.226, -1.204, -1.217, -1.248, -1.308, -1.379, -1.48, -1.608",\
                 "-1.511, -1.497, -1.466, -1.451, -1.463, -1.488, -1.539, -1.619, -1.719, -1.842",\
                 "-1.786, -1.775, -1.744, -1.727, -1.739, -1.77, -1.823, -1.894, -1.992, -2.118",\
                 "-2.105, -2.09, -2.064, -2.045, -2.053, -2.082, -2.13, -2.203, -2.305, -2.43");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.149, -0.1, -0.037, 0.01, 0.042, 0.057, 0.042, 0.003, -0.06",\
                 "-0.179, -0.167, -0.119, -0.062, -0.008, 0.029, 0.038, 0.022, -0.016, -0.079",\
                 "-0.216, -0.207, -0.157, -0.1, -0.044, -0.017, -0.006, -0.019, -0.059, -0.118",\
                 "-0.253, -0.247, -0.201, -0.137, -0.084, -0.05, -0.034, -0.052, -0.09, -0.154",\
                 "-0.278, -0.263, -0.217, -0.158, -0.107, -0.075, -0.064, -0.076, -0.116, -0.174",\
                 "-0.261, -0.253, -0.207, -0.148, -0.091, -0.059, -0.052, -0.062, -0.101, -0.162",\
                 "-0.217, -0.21, -0.157, -0.095, -0.05, -0.015, -0.008, -0.022, -0.062, -0.117",\
                 "-0.142, -0.13, -0.081, -0.021, 0.032, 0.062, 0.071, 0.057, 0.023, -0.039",\
                 "-0.019, -0.009, 0.035, 0.099, 0.144, 0.179, 0.186, 0.172, 0.14, 0.08",\
                 "0.134, 0.142, 0.189, 0.25, 0.3, 0.33, 0.346, 0.326, 0.289, 0.231");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.968, 0.955, 0.89, 0.801, 0.735, 0.683, 0.651, 0.643, 0.673, 0.727",\
                 "0.978, 0.969, 0.906, 0.814, 0.741, 0.69, 0.664, 0.653, 0.681, 0.735",\
                 "1.01, 0.994, 0.937, 0.848, 0.775, 0.725, 0.694, 0.684, 0.705, 0.768",\
                 "1.062, 1.047, 0.984, 0.896, 0.824, 0.775, 0.744, 0.733, 0.763, 0.815",\
                 "1.149, 1.135, 1.069, 0.982, 0.909, 0.864, 0.825, 0.817, 0.845, 0.896",\
                 "1.303, 1.29, 1.222, 1.141, 1.064, 1.015, 0.982, 0.971, 0.992, 1.042",\
                 "1.508, 1.495, 1.435, 1.354, 1.269, 1.214, 1.179, 1.164, 1.179, 1.23",\
                 "1.765, 1.753, 1.691, 1.598, 1.516, 1.454, 1.412, 1.391, 1.401, 1.451",\
                 "2.065, 2.048, 1.984, 1.884, 1.796, 1.733, 1.681, 1.657, 1.665, 1.704",\
                 "2.397, 2.384, 2.316, 2.213, 2.12, 2.05, 1.995, 1.972, 1.98, 2.011");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.796, 0.778, 0.729, 0.656, 0.615, 0.608, 0.634, 0.696, 0.785, 0.909",\
                 "0.801, 0.794, 0.735, 0.669, 0.625, 0.613, 0.647, 0.7, 0.794, 0.913",\
                 "0.833, 0.817, 0.764, 0.692, 0.653, 0.649, 0.676, 0.734, 0.829, 0.939",\
                 "0.88, 0.864, 0.81, 0.743, 0.697, 0.687, 0.714, 0.767, 0.851, 0.971",\
                 "0.941, 0.927, 0.878, 0.808, 0.754, 0.741, 0.756, 0.803, 0.892, 1.003",\
                 "0.998, 0.984, 0.928, 0.864, 0.81, 0.793, 0.8, 0.845, 0.918, 1.029",\
                 "1.044, 1.032, 0.973, 0.905, 0.857, 0.83, 0.84, 0.872, 0.948, 1.052",\
                 "1.075, 1.055, 1.001, 0.93, 0.879, 0.856, 0.856, 0.893, 0.962, 1.06",\
                 "1.078, 1.068, 1.008, 0.932, 0.887, 0.858, 0.854, 0.888, 0.957, 1.055",\
                 "1.064, 1.042, 0.992, 0.915, 0.863, 0.841, 0.839, 0.863, 0.927, 1.024");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.939, 0.921, 0.868, 0.801, 0.757, 0.746, 0.777, 0.832, 0.928, 1.04",\
                 "0.951, 0.937, 0.877, 0.814, 0.772, 0.76, 0.793, 0.85, 0.938, 1.059",\
                 "1.021, 1.006, 0.945, 0.877, 0.836, 0.834, 0.866, 0.92, 1.011, 1.127",\
                 "1.135, 1.125, 1.065, 0.996, 0.951, 0.95, 0.973, 1.034, 1.121, 1.24",\
                 "1.276, 1.266, 1.217, 1.135, 1.097, 1.091, 1.117, 1.173, 1.27, 1.384",\
                 "1.458, 1.438, 1.387, 1.317, 1.275, 1.268, 1.292, 1.35, 1.442, 1.559",\
                 "1.668, 1.65, 1.598, 1.524, 1.48, 1.477, 1.502, 1.565, 1.645, 1.765",\
                 "1.913, 1.897, 1.84, 1.772, 1.73, 1.724, 1.744, 1.803, 1.887, 2.002",\
                 "2.192, 2.176, 2.124, 2.059, 2.013, 2, 2.024, 2.076, 2.163, 2.28",\
                 "2.517, 2.499, 2.44, 2.375, 2.328, 2.321, 2.345, 2.395, 2.476, 2.589");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.128, 1.113, 1.045, 0.947, 0.868, 0.809, 0.769, 0.755, 0.769, 0.821",\
                 "1.143, 1.136, 1.066, 0.968, 0.888, 0.825, 0.784, 0.772, 0.786, 0.845",\
                 "1.188, 1.172, 1.11, 1.01, 0.931, 0.866, 0.83, 0.814, 0.829, 0.886",\
                 "1.217, 1.202, 1.135, 1.042, 0.956, 0.899, 0.863, 0.84, 0.868, 0.915",\
                 "1.231, 1.212, 1.148, 1.05, 0.969, 0.907, 0.865, 0.854, 0.882, 0.92",\
                 "1.217, 1.208, 1.138, 1.046, 0.968, 0.901, 0.867, 0.853, 0.876, 0.925",\
                 "1.179, 1.17, 1.108, 1.005, 0.925, 0.864, 0.824, 0.813, 0.83, 0.888",\
                 "1.104, 1.091, 1.026, 0.93, 0.857, 0.797, 0.758, 0.738, 0.76, 0.813",\
                 "0.99, 0.98, 0.917, 0.827, 0.745, 0.685, 0.647, 0.631, 0.653, 0.704",\
                 "0.845, 0.832, 0.767, 0.674, 0.594, 0.537, 0.497, 0.488, 0.512, 0.558");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002641 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008406, 0.008369, 0.008366, 0.008358, 0.008354, 0.008375, 0.008368, \
                 0.008364, 0.008369, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008176, -0.008146, -0.008171, -0.008209, -0.008237, -0.008269, \
                 -0.008284, -0.008286, -0.008293, -0.008294");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1563, 0.1559, 0.1555, 0.1553, 0.1572, 0.1644, 0.1787, 0.2017, \
                 0.233, 0.2718");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07894, 0.07846, 0.07794, 0.07798, 0.08074, 0.08765, 0.1, 0.1183, \
                 0.1428, 0.1737");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008386, 0.00838, 0.008352, 0.008348, 0.008356, 0.00837, 0.008366, \
                 0.008369, 0.008366, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008172, -0.008163, -0.008172, -0.008195, -0.00824, -0.008268, \
                 -0.008279, -0.008286, -0.008292, -0.008294");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1517, 0.1514, 0.1509, 0.1507, 0.1527, 0.1598, 0.174, 0.1969, \
                 0.2281, 0.2666");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08136, 0.08087, 0.08035, 0.08041, 0.08317, 0.09008, 0.1024, \
                 0.1206, 0.1452, 0.176");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008357, 0.008361, 0.008364, 0.008361, 0.008354, 0.008381, 0.008368, \
                 0.008365, 0.00837, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007483, -0.007827, -0.008142, -0.008209, -0.008235, -0.00827, \
                 -0.008283, -0.00829, -0.008294, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1593, 0.159, 0.1586, 0.1583, 0.1605, 0.1681, 0.1832, 0.2068, \
                 0.2382, 0.277");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07405, 0.07355, 0.07301, 0.0731, 0.07584, 0.08284, 0.09535, \
                 0.114, 0.1389, 0.1703");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00836, 0.008366, 0.008358, 0.008371, 0.008372, 0.008377, 0.008371, \
                 0.008368, 0.008366, 0.008372");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007475, -0.007852, -0.008147, -0.008209, -0.008242, -0.008271, \
                 -0.008284, -0.008291, -0.00829, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1548, 0.1545, 0.154, 0.1538, 0.1559, 0.1635, 0.1784, 0.2019, \
                 0.2332, 0.2718");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07647, 0.07598, 0.07546, 0.07554, 0.07835, 0.08526, 0.09777, \
                 0.1164, 0.1412, 0.1727");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008359, 0.008363, 0.008365, 0.00836, 0.008354, 0.008375, 0.008368, \
                 0.008364, 0.008367, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008175, -0.008147, -0.008167, -0.008205, -0.008237, -0.008269, \
                 -0.008285, -0.008285, -0.008293, -0.008297");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009008, 0.008995, 0.009004, 0.008993, 0.009001, 0.00901, 0.008994, \
                 0.008992, 0.009003, 0.008994");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0065, -0.006741, -0.007071, -0.007362, -0.007571, -0.007741, \
                 -0.007838, -0.007904, -0.00795, -0.007983");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008361, 0.008355, 0.008349, 0.008351, 0.008355, 0.008375, 0.008373, \
                 0.008365, 0.008367, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008167, -0.008162, -0.008164, -0.008211, -0.008241, -0.008268, \
                 -0.00828, -0.008287, -0.008292, -0.008294");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03498, 0.03498, 0.03497, 0.03495, 0.03493, 0.03489, 0.03491, \
                 0.03492, 0.03492, 0.03494");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006489, -0.006764, -0.007068, -0.00736, -0.007595, -0.007741, \
                 -0.007837, -0.007902, -0.007948, -0.007986");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008358, 0.008363, 0.008365, 0.008352, 0.008353, 0.008375, 0.008371, \
                 0.008366, 0.00837, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007681, -0.007923, -0.008153, -0.008209, -0.008235, -0.008272, \
                 -0.008281, -0.008287, -0.008293, -0.008297");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009055, 0.009045, 0.009054, 0.009047, 0.009039, 0.00905, 0.009051, \
                 0.009049, 0.00905, 0.009044");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006477, -0.006736, -0.007101, -0.007425, -0.007638, -0.007788, \
                 -0.00788, -0.007936, -0.007977, -0.008007");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00836, 0.008361, 0.008342, 0.008356, 0.008366, 0.008365, 0.00837, \
                 0.008371, 0.008364, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007514, -0.007859, -0.008152, -0.008226, -0.00823, -0.008253, \
                 -0.008275, -0.008288, -0.008287, -0.008298");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02936, 0.02936, 0.02936, 0.0293, 0.02929, 0.02928, 0.0293, 0.02929, \
                 0.02933, 0.02931");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006468, -0.00674, -0.007102, -0.007418, -0.007633, -0.007788, \
                 -0.00787, -0.007933, -0.007975, -0.008003");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.172, -0.156, -0.116, -0.056, -0.005, 0.031, 0.04, 0.024, -0.013, -0.076",\
                 "-0.179, -0.167, -0.125, -0.062, -0.015, 0.017, 0.03, 0.016, -0.024, -0.085",\
                 "-0.216, -0.207, -0.157, -0.1, -0.052, -0.017, -0.006, -0.019, -0.06, -0.118",\
                 "-0.262, -0.257, -0.207, -0.145, -0.095, -0.065, -0.054, -0.072, -0.108, -0.17",\
                 "-0.315, -0.301, -0.26, -0.2, -0.148, -0.118, -0.11, -0.128, -0.163, -0.228",\
                 "-0.347, -0.342, -0.296, -0.234, -0.188, -0.167, -0.16, -0.179, -0.222, -0.285",\
                 "-0.361, -0.356, -0.311, -0.255, -0.21, -0.19, -0.194, -0.218, -0.263, -0.331",\
                 "-0.366, -0.362, -0.317, -0.269, -0.227, -0.208, -0.212, -0.246, -0.294, -0.358",\
                 "-0.362, -0.354, -0.321, -0.277, -0.245, -0.229, -0.24, -0.273, -0.319, -0.388",\
                 "-0.356, -0.356, -0.326, -0.311, -0.26, -0.258, -0.275, -0.32, -0.368, -0.445");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.429, -0.416, -0.39, -0.374, -0.392, -0.435, -0.499, -0.578, -0.689, -0.821",\
                 "-0.439, -0.422, -0.397, -0.38, -0.401, -0.443, -0.502, -0.587, -0.69, -0.824",\
                 "-0.452, -0.438, -0.409, -0.401, -0.418, -0.457, -0.513, -0.603, -0.705, -0.842",\
                 "-0.471, -0.459, -0.433, -0.421, -0.433, -0.467, -0.523, -0.613, -0.719, -0.847",\
                 "-0.486, -0.479, -0.451, -0.432, -0.444, -0.478, -0.538, -0.617, -0.722, -0.847",\
                 "-0.491, -0.477, -0.449, -0.432, -0.442, -0.475, -0.53, -0.601, -0.709, -0.834",\
                 "-0.47, -0.45, -0.42, -0.405, -0.422, -0.453, -0.501, -0.579, -0.683, -0.809",\
                 "-0.414, -0.398, -0.366, -0.355, -0.36, -0.393, -0.446, -0.526, -0.632, -0.757",\
                 "-0.314, -0.298, -0.272, -0.259, -0.272, -0.308, -0.364, -0.442, -0.545, -0.668",\
                 "-0.173, -0.162, -0.133, -0.125, -0.141, -0.174, -0.232, -0.32, -0.422, -0.552");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.12, -0.108, -0.063, -0.001, 0.047, 0.077, 0.091, 0.077, 0.035, -0.024",\
                 "-0.131, -0.12, -0.077, -0.013, 0.039, 0.07, 0.081, 0.063, 0.024, -0.038",\
                 "-0.168, -0.154, -0.11, -0.048, -0, 0.034, 0.049, 0.031, -0.01, -0.07",\
                 "-0.217, -0.199, -0.16, -0.091, -0.047, -0.014, -0.004, -0.018, -0.055, -0.12",\
                 "-0.255, -0.247, -0.199, -0.137, -0.087, -0.057, -0.052, -0.069, -0.106, -0.174",\
                 "-0.278, -0.271, -0.226, -0.161, -0.118, -0.097, -0.093, -0.112, -0.154, -0.213",\
                 "-0.285, -0.279, -0.23, -0.175, -0.136, -0.109, -0.113, -0.13, -0.18, -0.245",\
                 "-0.284, -0.273, -0.236, -0.175, -0.138, -0.124, -0.124, -0.154, -0.199, -0.262",\
                 "-0.274, -0.274, -0.238, -0.181, -0.149, -0.145, -0.145, -0.179, -0.226, -0.289",\
                 "-0.272, -0.272, -0.246, -0.199, -0.177, -0.168, -0.182, -0.224, -0.269, -0.332");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.424, -0.409, -0.379, -0.365, -0.384, -0.424, -0.482, -0.566, -0.666, -0.8",\
                 "-0.425, -0.414, -0.385, -0.37, -0.394, -0.431, -0.485, -0.569, -0.674, -0.808",\
                 "-0.447, -0.432, -0.401, -0.39, -0.409, -0.444, -0.504, -0.584, -0.688, -0.821",\
                 "-0.462, -0.45, -0.427, -0.413, -0.427, -0.46, -0.513, -0.599, -0.702, -0.836",\
                 "-0.479, -0.471, -0.443, -0.428, -0.437, -0.469, -0.527, -0.602, -0.703, -0.835",\
                 "-0.48, -0.471, -0.443, -0.424, -0.433, -0.47, -0.517, -0.592, -0.693, -0.821",\
                 "-0.454, -0.441, -0.411, -0.395, -0.41, -0.439, -0.492, -0.569, -0.665, -0.795",\
                 "-0.396, -0.38, -0.354, -0.343, -0.353, -0.385, -0.436, -0.521, -0.618, -0.741",\
                 "-0.298, -0.282, -0.255, -0.251, -0.263, -0.297, -0.358, -0.436, -0.537, -0.659",\
                 "-0.158, -0.146, -0.122, -0.114, -0.135, -0.168, -0.232, -0.312, -0.413, -0.547");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.088, 1.072, 1.008, 0.92, 0.839, 0.786, 0.752, 0.743, 0.761, 0.821",\
                 "1.095, 1.088, 1.019, 0.929, 0.849, 0.796, 0.767, 0.754, 0.778, 0.829",\
                 "1.129, 1.119, 1.055, 0.964, 0.888, 0.834, 0.794, 0.789, 0.812, 0.87",\
                 "1.189, 1.173, 1.106, 1.019, 0.94, 0.884, 0.853, 0.847, 0.868, 0.921",\
                 "1.276, 1.259, 1.2, 1.103, 1.03, 0.977, 0.934, 0.928, 0.949, 1.003",\
                 "1.424, 1.408, 1.343, 1.258, 1.178, 1.123, 1.083, 1.072, 1.091, 1.139",\
                 "1.642, 1.632, 1.57, 1.474, 1.394, 1.335, 1.292, 1.282, 1.291, 1.344",\
                 "1.936, 1.92, 1.852, 1.765, 1.679, 1.614, 1.568, 1.545, 1.549, 1.595",\
                 "2.287, 2.272, 2.199, 2.103, 2.013, 1.937, 1.888, 1.86, 1.867, 1.902",\
                 "2.688, 2.677, 2.606, 2.499, 2.4, 2.328, 2.266, 2.235, 2.233, 2.262");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.853, 0.839, 0.788, 0.719, 0.675, 0.666, 0.693, 0.755, 0.856, 0.972",\
                 "0.862, 0.842, 0.794, 0.727, 0.679, 0.672, 0.707, 0.76, 0.858, 0.976",\
                 "0.876, 0.864, 0.811, 0.738, 0.696, 0.687, 0.721, 0.777, 0.878, 0.993",\
                 "0.899, 0.883, 0.828, 0.758, 0.713, 0.709, 0.734, 0.794, 0.885, 1.011",\
                 "0.926, 0.904, 0.861, 0.781, 0.74, 0.732, 0.751, 0.803, 0.901, 1.015",\
                 "0.946, 0.925, 0.877, 0.798, 0.758, 0.745, 0.759, 0.811, 0.897, 1.009",\
                 "0.943, 0.93, 0.882, 0.815, 0.76, 0.743, 0.759, 0.803, 0.883, 0.995",\
                 "0.933, 0.917, 0.864, 0.79, 0.746, 0.722, 0.729, 0.773, 0.854, 0.957",\
                 "0.887, 0.883, 0.826, 0.749, 0.698, 0.674, 0.677, 0.719, 0.793, 0.893",\
                 "0.825, 0.811, 0.75, 0.675, 0.624, 0.601, 0.597, 0.639, 0.71, 0.804");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.093, 1.079, 1.013, 0.919, 0.839, 0.775, 0.735, 0.725, 0.745, 0.795",\
                 "1.108, 1.096, 1.025, 0.929, 0.849, 0.784, 0.75, 0.736, 0.754, 0.803",\
                 "1.139, 1.125, 1.063, 0.964, 0.879, 0.821, 0.785, 0.765, 0.787, 0.838",\
                 "1.198, 1.182, 1.112, 1.019, 0.935, 0.87, 0.833, 0.82, 0.842, 0.893",\
                 "1.283, 1.274, 1.2, 1.103, 1.023, 0.96, 0.917, 0.906, 0.93, 0.979",\
                 "1.435, 1.42, 1.355, 1.258, 1.178, 1.112, 1.069, 1.055, 1.07, 1.119",\
                 "1.659, 1.65, 1.589, 1.484, 1.4, 1.335, 1.292, 1.272, 1.279, 1.323",\
                 "1.96, 1.95, 1.883, 1.779, 1.693, 1.623, 1.568, 1.539, 1.543, 1.579",\
                 "2.327, 2.313, 2.24, 2.138, 2.042, 1.958, 1.894, 1.867, 1.859, 1.893",\
                 "2.735, 2.724, 2.649, 2.538, 2.435, 2.347, 2.281, 2.243, 2.233, 2.257");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.836, 0.826, 0.766, 0.701, 0.653, 0.648, 0.676, 0.737, 0.832, 0.951",\
                 "0.842, 0.826, 0.776, 0.708, 0.664, 0.654, 0.681, 0.742, 0.834, 0.955",\
                 "0.86, 0.846, 0.795, 0.721, 0.679, 0.674, 0.703, 0.765, 0.854, 0.972",\
                 "0.89, 0.874, 0.81, 0.751, 0.703, 0.694, 0.724, 0.78, 0.868, 0.988",\
                 "0.911, 0.896, 0.843, 0.771, 0.727, 0.715, 0.734, 0.795, 0.882, 0.997",\
                 "0.929, 0.913, 0.858, 0.79, 0.74, 0.729, 0.746, 0.794, 0.882, 0.99",\
                 "0.934, 0.921, 0.864, 0.795, 0.748, 0.729, 0.743, 0.784, 0.865, 0.981",\
                 "0.921, 0.905, 0.852, 0.777, 0.731, 0.713, 0.719, 0.755, 0.834, 0.941",\
                 "0.879, 0.867, 0.809, 0.74, 0.688, 0.664, 0.665, 0.705, 0.778, 0.884",\
                 "0.819, 0.796, 0.745, 0.669, 0.624, 0.595, 0.59, 0.631, 0.701, 0.799");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(RN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        clear : !RN ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffrnq_4) {
    area : 107.564800 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      clear : "(!RN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SI" ;
      value : "0.0002291256" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SI" ;
      value : "0.0002296734" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SI" ;
      value : "0.0002448303" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SI" ;
      value : "0.0002545455" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SI" ;
      value : "0.0002292279" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SI" ;
      value : "0.0002297757" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SI" ;
      value : "0.0002449326" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SI" ;
      value : "0.0002879514" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SI" ;
      value : "0.0002266605" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SI" ;
      value : "0.0002266605" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SI" ;
      value : "0.0002616702" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SI" ;
      value : "0.0002403225" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SI" ;
      value : "0.0002600664" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SI" ;
      value : "0.0002600664" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SI" ;
      value : "0.0002617725" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SI" ;
      value : "0.0002737251" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SI" ;
      value : "0.0002201001" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SI" ;
      value : "0.0002201166" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SI" ;
      value : "0.0002195853" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SI" ;
      value : "0.0002207502" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SI" ;
      value : "0.0002392005" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SI" ;
      value : "0.0002391972" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SI" ;
      value : "0.0002386065" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SI" ;
      value : "0.00034023" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SI" ;
      value : "0.0002213343" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SI" ;
      value : "0.0002213343" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SI" ;
      value : "0.0002196513" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SI" ;
      value : "0.0002207601" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SI" ;
      value : "0.0003261093" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SI" ;
      value : "0.000326106" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SI" ;
      value : "0.0002386065" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SI" ;
      value : "0.000333366" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.00034023" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.00357 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.412 ;
      min_pulse_width_high : 0.818 ;
      min_pulse_width_low : 1.207 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1441, 0.1436, 0.1443, 0.1504, 0.1629, 0.1825, 0.2099, 0.2458, \
                 0.2904, 0.344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.0976, 0.09808, 0.1029, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.226, 0.2739");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1441, 0.1436, 0.1443, 0.1505, 0.1629, 0.1825, 0.21, 0.2458, \
                 0.2904, 0.344");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.09758, 0.09808, 0.103, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.226, 0.2739");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1514, 0.1509, 0.1517, 0.1578, 0.1703, 0.1899, 0.2173, 0.2531, \
                 0.2977, 0.3513");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.0976, 0.09807, 0.103, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2009, 0.2004, 0.2011, 0.2077, 0.2213, 0.2425, 0.2722, 0.3106, \
                 0.3583, 0.4156");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1999, 0.1996, 0.2, 0.2057, 0.2174, 0.2364, 0.2634, 0.2986, 0.3421, \
                 0.3941");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1205, 0.1267, 0.1391, 0.1588, 0.1863, 0.2221, \
                 0.2668, 0.3206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09794, 0.09758, 0.09807, 0.103, 0.1133, 0.1304, 0.1547, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1205, 0.1267, 0.1391, 0.1588, 0.1862, 0.2222, \
                 0.2669, 0.3206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09794, 0.09756, 0.09806, 0.103, 0.1133, 0.1304, 0.1546, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1206, 0.1267, 0.1391, 0.1588, 0.1863, 0.2222, \
                 0.2668, 0.3205");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09789, 0.09758, 0.09805, 0.103, 0.1133, 0.1304, 0.1546, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.1195, 0.1203, 0.1264, 0.1389, 0.1586, 0.1861, 0.2219, \
                 0.2666, 0.3203");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0959, 0.09558, 0.09605, 0.1009, 0.1112, 0.1283, 0.1526, 0.1844, \
                 0.2241, 0.2719");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1906, 0.19, 0.1908, 0.1974, 0.211, 0.2322, 0.2616, 0.3001, 0.3478, \
                 0.4048");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1999, 0.1996, 0.1999, 0.2056, 0.2174, 0.2364, 0.2634, 0.2985, \
                 0.342, 0.3941");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1906, 0.19, 0.1908, 0.1975, 0.211, 0.2322, 0.2616, 0.3001, 0.3478, \
                 0.4048");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1999, 0.1996, 0.1999, 0.2056, 0.2174, 0.2364, 0.2634, 0.2985, \
                 0.342, 0.3941");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1589, 0.1584, 0.1592, 0.1652, 0.1777, 0.1972, 0.2246, 0.2605, \
                 0.3051, 0.3586");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.09761, 0.09809, 0.103, 0.1133, 0.1303, 0.1547, 0.1865, \
                 0.226, 0.2739");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1955, 0.195, 0.1958, 0.2024, 0.216, 0.2371, 0.2668, 0.3052, \
                 0.3529, 0.4101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1999, 0.1995, 0.1999, 0.2057, 0.2175, 0.2366, 0.2635, 0.2987, \
                 0.3421, 0.3942");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.1195, 0.1203, 0.1264, 0.1389, 0.1586, 0.186, 0.2219, 0.2666, \
                 0.3204");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09589, 0.09552, 0.096, 0.1009, 0.1112, 0.1283, 0.1526, 0.1845, \
                 0.224, 0.2719");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1201, 0.1195, 0.1203, 0.1265, 0.1389, 0.1585, 0.186, 0.222, \
                 0.2666, 0.3204");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09589, 0.09552, 0.09601, 0.1009, 0.1113, 0.1283, 0.1526, 0.1845, \
                 0.224, 0.2719");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1203, 0.1198, 0.1205, 0.1267, 0.1392, 0.1587, 0.1862, 0.2222, \
                 0.2668, 0.3206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0979, 0.09756, 0.09807, 0.103, 0.1133, 0.1303, 0.1546, 0.1865, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.12, 0.1195, 0.1203, 0.1264, 0.1389, 0.1586, 0.1861, 0.2219, \
                 0.2665, 0.3204");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09593, 0.09556, 0.09606, 0.1009, 0.1113, 0.1284, 0.1527, 0.1845, \
                 0.2242, 0.2719");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("1.083");
        }

        rise_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("1.083");
        }

        rise_constraint(scalar) {
          values("0.734");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.109");
        }

        rise_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.945");
        }

        rise_constraint(scalar) {
          values("0.818");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.853");
        }

        rise_constraint(scalar) {
          values("0.818");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.853");
        }

        rise_constraint(scalar) {
          values("0.818");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("1.207");
        }

        rise_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.899");
        }

        rise_constraint(scalar) {
          values("0.818");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&!SI" ;

        rise_constraint(scalar) {
          values("2.158");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SI" ;

        rise_constraint(scalar) {
          values("2.158");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.217");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SI" ;

        rise_constraint(scalar) {
          values("1.88");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&!SI" ;

        rise_constraint(scalar) {
          values("1.774");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SI" ;

        rise_constraint(scalar) {
          values("1.774");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&!SI" ;

        rise_constraint(scalar) {
          values("2.412");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SI" ;

        rise_constraint(scalar) {
          values("1.821");
        }
      }
    }

    pin(D) {
      capacitance : 0.002726 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1363, 0.136, 0.1351, 0.1347, 0.1372, 0.1447, 0.1579, 0.1774, \
                 0.2028, 0.2337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07011, 0.07022, 0.0698, 0.06998, 0.07296, 0.07974, 0.09097, \
                 0.1067, 0.1273, 0.1527");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1363, 0.136, 0.1351, 0.1347, 0.1372, 0.1447, 0.1579, 0.1774, \
                 0.2028, 0.2337");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07011, 0.0702, 0.0698, 0.06997, 0.07298, 0.07974, 0.09096, 0.1067, \
                 0.1273, 0.1527");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008413, 0.008412, 0.008425, 0.008414, 0.008412, 0.008407, 0.008404, \
                 0.008396, 0.008393, 0.008388");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00796, -0.007962, -0.007966, -0.008031, -0.008082, -0.008133, \
                 -0.008158, -0.008184, -0.008207, -0.008231");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004329, 0.004316, 0.004314, 0.004323, 0.004316, 0.004328, 0.004324, \
                 0.00432, 0.004311, 0.004302");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003057, -0.003048, -0.003044, -0.003049, -0.003056, -0.003058, \
                 -0.003059, -0.003061, -0.003062, -0.003062");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1319, 0.1316, 0.1307, 0.1303, 0.1328, 0.1402, 0.1533, 0.1727, \
                 0.1979, 0.2287");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07252, 0.07265, 0.07227, 0.07243, 0.07544, 0.08217, 0.09328, \
                 0.1091, 0.1297, 0.155");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1319, 0.1316, 0.1307, 0.1303, 0.1328, 0.1402, 0.1533, 0.1727, \
                 0.1979, 0.2287");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07255, 0.07265, 0.07227, 0.07242, 0.07543, 0.08215, 0.09328, \
                 0.1091, 0.1297, 0.155");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008409, 0.008419, 0.008424, 0.008418, 0.008412, 0.008409, 0.008406, \
                 0.008399, 0.008394, 0.008388");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007963, -0.00796, -0.007968, -0.008029, -0.008082, -0.008132, \
                 -0.008162, -0.008185, -0.008211, -0.008233");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004331, 0.004326, 0.004324, 0.00432, 0.00433, 0.004317, 0.004326, \
                 0.00432, 0.004311, 0.004302");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00305, -0.003049, -0.003044, -0.003047, -0.003058, -0.003051, \
                 -0.00306, -0.003064, -0.003061, -0.003064");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009384, 0.009195, 0.009144, 0.009121, 0.009118, 0.009136, 0.009125, \
                 0.009135, 0.00913, 0.009122");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006269, -0.006286, -0.006764, -0.00728, -0.007592, -0.007787, \
                 -0.007886, -0.007952, -0.007997, -0.008024");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009386, 0.009195, 0.009144, 0.009121, 0.009118, 0.009136, 0.009127, \
                 0.009136, 0.009131, 0.009124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006269, -0.006286, -0.006764, -0.007285, -0.007592, -0.007784, \
                 -0.007885, -0.007955, -0.007994, -0.008027");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008322, 0.008457, 0.00852, 0.008526, 0.008523, 0.008531, 0.008513, \
                 0.008491, 0.008464, 0.008422");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00805, -0.008048, -0.008035, -0.008087, -0.008147, -0.008191, \
                 -0.008217, -0.008228, -0.008235, -0.008245");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004125, 0.004118, 0.004125, 0.004132, 0.004133, 0.004141, 0.004143, \
                 0.004144, 0.004144, 0.004143");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005083, -0.004842, -0.004651, -0.00459, -0.004565, -0.004562, \
                 -0.004551, -0.00454, -0.004536, -0.004535");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0231, 0.0231, 0.02312, 0.02306, 0.02304, 0.02306, 0.02308, 0.02307, \
                 0.02308, 0.02307");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006269, -0.006303, -0.00676, -0.007274, -0.007597, -0.007783, \
                 -0.007884, -0.007947, -0.007995, -0.008029");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0231, 0.0231, 0.02311, 0.02306, 0.02306, 0.02306, 0.02307, 0.02306, \
                 0.02308, 0.02307");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006276, -0.006303, -0.00676, -0.007274, -0.0076, -0.007782, \
                 -0.007884, -0.007948, -0.007996, -0.00803");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008377, 0.008381, 0.00838, 0.008372, 0.008354, 0.008371, 0.008366, \
                 0.008364, 0.008363, 0.008361");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008046, -0.008041, -0.008023, -0.008086, -0.008154, -0.008191, \
                 -0.008211, -0.008228, -0.008236, -0.008246");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004115, 0.004115, 0.00411, 0.00412, 0.004114, 0.004122, 0.004131, \
                 0.00413, 0.004128, 0.004126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003109, -0.003105, -0.00311, -0.003117, -0.003118, -0.003122, \
                 -0.003121, -0.00312, -0.003115, -0.003114");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.095, -0.047, 0.017, 0.07, 0.1, 0.116, 0.101, 0.067, -0.003",\
                 "-0.118, -0.104, -0.06, 0.006, 0.062, 0.094, 0.107, 0.093, 0.056, -0.011",\
                 "-0.157, -0.142, -0.094, -0.03, 0.026, 0.054, 0.067, 0.05, 0.015, -0.049",\
                 "-0.217, -0.209, -0.16, -0.091, -0.037, -0.014, 0.006, -0.012, -0.047, -0.114",\
                 "-0.285, -0.278, -0.234, -0.163, -0.107, -0.083, -0.07, -0.084, -0.116, -0.186",\
                 "-0.359, -0.348, -0.302, -0.234, -0.18, -0.162, -0.153, -0.171, -0.206, -0.272",\
                 "-0.428, -0.424, -0.384, -0.315, -0.262, -0.251, -0.234, -0.257, -0.293, -0.359",\
                 "-0.514, -0.512, -0.478, -0.409, -0.36, -0.359, -0.348, -0.372, -0.409, -0.478",\
                 "-0.624, -0.627, -0.594, -0.539, -0.49, -0.502, -0.494, -0.523, -0.553, -0.623",\
                 "-0.767, -0.775, -0.75, -0.703, -0.647, -0.678, -0.668, -0.703, -0.737, -0.813");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.361, -0.348, -0.315, -0.301, -0.317, -0.349, -0.406, -0.483, -0.586, -0.711",\
                 "-0.371, -0.358, -0.326, -0.312, -0.324, -0.36, -0.416, -0.498, -0.594, -0.724",\
                 "-0.398, -0.391, -0.354, -0.343, -0.357, -0.387, -0.44, -0.522, -0.622, -0.751",\
                 "-0.444, -0.43, -0.398, -0.382, -0.39, -0.423, -0.473, -0.546, -0.641, -0.769",\
                 "-0.486, -0.479, -0.443, -0.427, -0.423, -0.451, -0.499, -0.565, -0.665, -0.782",\
                 "-0.514, -0.507, -0.468, -0.446, -0.442, -0.47, -0.51, -0.575, -0.667, -0.782",\
                 "-0.513, -0.501, -0.465, -0.446, -0.445, -0.466, -0.501, -0.569, -0.659, -0.773",\
                 "-0.473, -0.464, -0.429, -0.409, -0.404, -0.427, -0.475, -0.538, -0.625, -0.741",\
                 "-0.393, -0.386, -0.346, -0.339, -0.329, -0.355, -0.405, -0.469, -0.561, -0.677",\
                 "-0.272, -0.261, -0.224, -0.215, -0.218, -0.245, -0.289, -0.368, -0.458, -0.578");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.095, -0.047, 0.017, 0.07, 0.1, 0.116, 0.101, 0.067, -0.003",\
                 "-0.118, -0.104, -0.06, 0.006, 0.062, 0.094, 0.107, 0.093, 0.056, -0.011",\
                 "-0.157, -0.142, -0.094, -0.03, 0.026, 0.054, 0.067, 0.05, 0.015, -0.049",\
                 "-0.217, -0.209, -0.16, -0.091, -0.037, -0.014, 0.006, -0.012, -0.047, -0.114",\
                 "-0.285, -0.278, -0.234, -0.164, -0.107, -0.083, -0.07, -0.084, -0.116, -0.186",\
                 "-0.359, -0.348, -0.302, -0.235, -0.179, -0.162, -0.153, -0.171, -0.206, -0.272",\
                 "-0.428, -0.424, -0.384, -0.315, -0.262, -0.251, -0.234, -0.257, -0.298, -0.367",\
                 "-0.514, -0.512, -0.478, -0.416, -0.36, -0.351, -0.348, -0.372, -0.409, -0.478",\
                 "-0.624, -0.627, -0.594, -0.549, -0.49, -0.502, -0.494, -0.523, -0.553, -0.623",\
                 "-0.767, -0.775, -0.744, -0.714, -0.647, -0.672, -0.661, -0.703, -0.737, -0.813");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.361, -0.348, -0.315, -0.301, -0.317, -0.349, -0.406, -0.483, -0.586, -0.711",\
                 "-0.371, -0.358, -0.326, -0.312, -0.324, -0.36, -0.416, -0.498, -0.594, -0.724",\
                 "-0.398, -0.391, -0.354, -0.343, -0.357, -0.387, -0.44, -0.522, -0.622, -0.751",\
                 "-0.444, -0.43, -0.398, -0.382, -0.39, -0.423, -0.473, -0.546, -0.641, -0.769",\
                 "-0.486, -0.479, -0.443, -0.428, -0.423, -0.451, -0.498, -0.565, -0.665, -0.782",\
                 "-0.514, -0.507, -0.468, -0.446, -0.442, -0.47, -0.51, -0.575, -0.667, -0.782",\
                 "-0.513, -0.501, -0.465, -0.445, -0.445, -0.466, -0.509, -0.569, -0.659, -0.773",\
                 "-0.473, -0.464, -0.429, -0.41, -0.404, -0.427, -0.475, -0.538, -0.625, -0.741",\
                 "-0.393, -0.386, -0.346, -0.329, -0.329, -0.355, -0.399, -0.469, -0.561, -0.677",\
                 "-0.272, -0.261, -0.224, -0.215, -0.218, -0.245, -0.289, -0.368, -0.458, -0.578");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.945, 0.935, 0.873, 0.792, 0.72, 0.66, 0.634, 0.625, 0.649, 0.706",\
                 "0.958, 0.945, 0.883, 0.804, 0.725, 0.672, 0.647, 0.629, 0.665, 0.714",\
                 "1, 0.983, 0.929, 0.837, 0.766, 0.712, 0.685, 0.671, 0.705, 0.752",\
                 "1.071, 1.057, 0.996, 0.912, 0.84, 0.782, 0.754, 0.74, 0.771, 0.826",\
                 "1.194, 1.182, 1.121, 1.035, 0.963, 0.907, 0.876, 0.869, 0.892, 0.949",\
                 "1.389, 1.373, 1.317, 1.229, 1.161, 1.101, 1.069, 1.055, 1.081, 1.132",\
                 "1.651, 1.641, 1.579, 1.494, 1.417, 1.362, 1.332, 1.321, 1.332, 1.38",\
                 "1.99, 1.974, 1.914, 1.825, 1.753, 1.69, 1.656, 1.631, 1.651, 1.691",\
                 "2.383, 2.369, 2.306, 2.217, 2.136, 2.068, 2.03, 2.008, 2.015, 2.055",\
                 "2.829, 2.814, 2.756, 2.661, 2.572, 2.502, 2.459, 2.434, 2.44, 2.472");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.756, 0.737, 0.686, 0.62, 0.571, 0.568, 0.6, 0.655, 0.745, 0.863",\
                 "0.767, 0.754, 0.693, 0.63, 0.587, 0.578, 0.613, 0.665, 0.754, 0.876",\
                 "0.796, 0.781, 0.724, 0.657, 0.61, 0.61, 0.64, 0.696, 0.787, 0.902",\
                 "0.843, 0.825, 0.769, 0.705, 0.655, 0.65, 0.674, 0.727, 0.816, 0.927",\
                 "0.896, 0.888, 0.826, 0.76, 0.714, 0.697, 0.711, 0.765, 0.845, 0.949",\
                 "0.946, 0.931, 0.871, 0.805, 0.758, 0.734, 0.746, 0.786, 0.861, 0.97",\
                 "0.968, 0.955, 0.9, 0.835, 0.782, 0.756, 0.767, 0.803, 0.871, 0.973",\
                 "0.969, 0.953, 0.901, 0.83, 0.783, 0.755, 0.758, 0.79, 0.861, 0.957",\
                 "0.934, 0.924, 0.867, 0.792, 0.745, 0.711, 0.718, 0.746, 0.817, 0.911",\
                 "0.871, 0.848, 0.799, 0.725, 0.672, 0.64, 0.64, 0.671, 0.746, 0.834");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.945, 0.935, 0.873, 0.783, 0.72, 0.66, 0.634, 0.625, 0.649, 0.706",\
                 "0.958, 0.945, 0.883, 0.794, 0.725, 0.672, 0.647, 0.629, 0.657, 0.714",\
                 "1, 0.983, 0.929, 0.837, 0.766, 0.712, 0.685, 0.671, 0.705, 0.752",\
                 "1.071, 1.057, 0.996, 0.904, 0.835, 0.782, 0.754, 0.74, 0.772, 0.826",\
                 "1.194, 1.182, 1.122, 1.035, 0.963, 0.907, 0.876, 0.869, 0.892, 0.949",\
                 "1.389, 1.373, 1.317, 1.229, 1.161, 1.101, 1.069, 1.055, 1.081, 1.132",\
                 "1.651, 1.641, 1.58, 1.494, 1.423, 1.362, 1.332, 1.321, 1.338, 1.387",\
                 "1.99, 1.974, 1.914, 1.825, 1.753, 1.69, 1.656, 1.631, 1.651, 1.691",\
                 "2.383, 2.369, 2.306, 2.216, 2.136, 2.068, 2.03, 2.008, 2.015, 2.055",\
                 "2.829, 2.814, 2.756, 2.655, 2.578, 2.509, 2.459, 2.434, 2.44, 2.477");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.756, 0.737, 0.68, 0.62, 0.571, 0.568, 0.6, 0.655, 0.745, 0.863",\
                 "0.767, 0.754, 0.693, 0.63, 0.587, 0.578, 0.613, 0.665, 0.754, 0.871",\
                 "0.796, 0.781, 0.724, 0.657, 0.61, 0.61, 0.64, 0.696, 0.787, 0.902",\
                 "0.843, 0.825, 0.77, 0.697, 0.655, 0.65, 0.674, 0.727, 0.816, 0.927",\
                 "0.896, 0.888, 0.835, 0.76, 0.714, 0.697, 0.711, 0.758, 0.845, 0.955",\
                 "0.946, 0.931, 0.877, 0.805, 0.758, 0.734, 0.746, 0.786, 0.866, 0.97",\
                 "0.968, 0.955, 0.9, 0.835, 0.782, 0.756, 0.767, 0.803, 0.871, 0.973",\
                 "0.969, 0.953, 0.901, 0.83, 0.783, 0.755, 0.758, 0.79, 0.861, 0.957",\
                 "0.934, 0.924, 0.867, 0.792, 0.745, 0.711, 0.718, 0.746, 0.817, 0.911",\
                 "0.871, 0.853, 0.799, 0.725, 0.672, 0.64, 0.64, 0.671, 0.746, 0.834");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.433 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&RN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3152, 0.3, 0.278, 0.2677, 0.2623, 0.2593, 0.2574, 0.2563, 0.2554, 0.2548",\
                 "0.3152, 0.2999, 0.278, 0.2675, 0.2623, 0.2593, 0.2574, 0.2562, 0.2554, 0.2549",\
                 "0.3153, 0.3, 0.278, 0.2676, 0.2623, 0.2594, 0.2575, 0.2563, 0.2555, 0.2549",\
                 "0.3158, 0.3006, 0.2787, 0.2682, 0.2629, 0.2599, 0.2581, 0.2568, 0.2561, 0.2555",\
                 "0.3167, 0.3014, 0.2796, 0.2692, 0.264, 0.2608, 0.259, 0.2578, 0.257, 0.2565",\
                 "0.3177, 0.3024, 0.2807, 0.27, 0.2649, 0.2618, 0.2599, 0.2587, 0.2579, 0.2574",\
                 "0.319, 0.3037, 0.2822, 0.2717, 0.2664, 0.2633, 0.2611, 0.26, 0.2592, 0.2586",\
                 "0.3205, 0.3052, 0.2832, 0.2728, 0.2675, 0.2645, 0.2626, 0.2614, 0.2606, 0.26",\
                 "0.3217, 0.3065, 0.2846, 0.2743, 0.2689, 0.2658, 0.2639, 0.2627, 0.2619, 0.2613",\
                 "0.3234, 0.3081, 0.2863, 0.2758, 0.2705, 0.2675, 0.2656, 0.2644, 0.2635, 0.263");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.328, 0.3103, 0.2895, 0.2775, 0.2713, 0.269, 0.2692, 0.2709, 0.2737, 0.2905",\
                 "0.3278, 0.3101, 0.2894, 0.2774, 0.272, 0.269, 0.2695, 0.2709, 0.2734, 0.2928",\
                 "0.3278, 0.3103, 0.2894, 0.2775, 0.2714, 0.2688, 0.2694, 0.2701, 0.2755, 0.2915",\
                 "0.3282, 0.3108, 0.2896, 0.2778, 0.2715, 0.2696, 0.2697, 0.2715, 0.2733, 0.2943",\
                 "0.3288, 0.3109, 0.2902, 0.2778, 0.2719, 0.2705, 0.27, 0.2707, 0.2752, 0.2979",\
                 "0.3297, 0.3115, 0.2911, 0.2792, 0.2728, 0.2712, 0.2717, 0.2715, 0.2757, 0.303",\
                 "0.331, 0.3132, 0.2919, 0.28, 0.2748, 0.2727, 0.2722, 0.2728, 0.2773, 0.3135",\
                 "0.3325, 0.3146, 0.2935, 0.2808, 0.2758, 0.2749, 0.276, 0.2773, 0.2797, 0.3288",\
                 "0.3345, 0.3165, 0.2959, 0.283, 0.276, 0.2751, 0.2779, 0.2812, 0.2859, 0.3523",\
                 "0.3366, 0.3187, 0.2978, 0.2853, 0.2789, 0.2761, 0.2756, 0.2817, 0.2986, 0.4026");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&!SE&SI | !D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3153, 0.3, 0.278, 0.2675, 0.2623, 0.2593, 0.2575, 0.2563, 0.2555, 0.2549",\
                 "0.3153, 0.2999, 0.2779, 0.2675, 0.2623, 0.2593, 0.2574, 0.2562, 0.2554, 0.2548",\
                 "0.3153, 0.3, 0.2781, 0.2676, 0.2624, 0.2594, 0.2575, 0.2563, 0.2556, 0.255",\
                 "0.3159, 0.3006, 0.2787, 0.2682, 0.263, 0.2599, 0.2581, 0.2569, 0.2561, 0.2555",\
                 "0.3168, 0.3015, 0.2796, 0.2692, 0.2639, 0.2609, 0.259, 0.2578, 0.257, 0.2565",\
                 "0.3178, 0.3025, 0.2806, 0.2702, 0.2648, 0.2617, 0.2599, 0.2587, 0.2579, 0.2573",\
                 "0.319, 0.3037, 0.2821, 0.2716, 0.2662, 0.2631, 0.2612, 0.2599, 0.2591, 0.2586",\
                 "0.3203, 0.3051, 0.2832, 0.2728, 0.2675, 0.2644, 0.2626, 0.2614, 0.2605, 0.2599",\
                 "0.3219, 0.3066, 0.2848, 0.2744, 0.2689, 0.2659, 0.264, 0.2628, 0.2619, 0.2614",\
                 "0.3236, 0.3083, 0.2863, 0.2758, 0.2705, 0.2675, 0.2656, 0.2645, 0.2636, 0.263");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.328, 0.3104, 0.2894, 0.2779, 0.2719, 0.269, 0.2695, 0.2722, 0.2737, 0.2905",\
                 "0.3279, 0.3104, 0.2895, 0.2774, 0.2712, 0.269, 0.2695, 0.2706, 0.2757, 0.2905",\
                 "0.3279, 0.3103, 0.2894, 0.2773, 0.2712, 0.2699, 0.2694, 0.2708, 0.2732, 0.2916",\
                 "0.3281, 0.3106, 0.2896, 0.2773, 0.2722, 0.2699, 0.2697, 0.2715, 0.2729, 0.2943",\
                 "0.3287, 0.3109, 0.2901, 0.2777, 0.2726, 0.2704, 0.27, 0.2707, 0.2765, 0.2978",\
                 "0.3295, 0.3118, 0.2911, 0.279, 0.273, 0.2709, 0.2711, 0.2721, 0.2774, 0.305",\
                 "0.3306, 0.3126, 0.2916, 0.2797, 0.2753, 0.2723, 0.2722, 0.2728, 0.2773, 0.3132",\
                 "0.3322, 0.314, 0.2936, 0.2815, 0.2749, 0.2748, 0.2763, 0.2759, 0.2796, 0.3287",\
                 "0.3345, 0.3167, 0.2961, 0.2831, 0.276, 0.2752, 0.278, 0.2812, 0.286, 0.3524",\
                 "0.3368, 0.3191, 0.298, 0.2853, 0.2793, 0.2745, 0.276, 0.2817, 0.2956, 0.4023");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&SE" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3152, 0.2999, 0.278, 0.2676, 0.2623, 0.2593, 0.2574, 0.2562, 0.2555, 0.2549",\
                 "0.3152, 0.2999, 0.2781, 0.2675, 0.2623, 0.2593, 0.2574, 0.2562, 0.2554, 0.2548",\
                 "0.3153, 0.3, 0.2781, 0.2676, 0.2623, 0.2594, 0.2575, 0.2562, 0.2555, 0.2549",\
                 "0.3158, 0.3006, 0.2787, 0.2681, 0.2629, 0.26, 0.2581, 0.2569, 0.2561, 0.2555",\
                 "0.3168, 0.3015, 0.2796, 0.2692, 0.2639, 0.2609, 0.259, 0.2578, 0.257, 0.2564",\
                 "0.3176, 0.3025, 0.2807, 0.2702, 0.2648, 0.2617, 0.26, 0.2588, 0.2578, 0.2574",\
                 "0.3191, 0.3039, 0.282, 0.2715, 0.2661, 0.2631, 0.2611, 0.2599, 0.2591, 0.2585",\
                 "0.3204, 0.3052, 0.2833, 0.2729, 0.2675, 0.2645, 0.2626, 0.2614, 0.2606, 0.26",\
                 "0.3216, 0.3063, 0.2849, 0.2742, 0.2689, 0.2659, 0.264, 0.2628, 0.2619, 0.2614",\
                 "0.3234, 0.308, 0.2863, 0.2757, 0.2705, 0.2674, 0.2655, 0.2644, 0.2635, 0.2629");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.328, 0.3104, 0.2896, 0.2774, 0.2713, 0.269, 0.2701, 0.2722, 0.274, 0.2905",\
                 "0.3278, 0.3101, 0.2894, 0.2775, 0.2713, 0.269, 0.2692, 0.2712, 0.273, 0.2911",\
                 "0.3278, 0.3103, 0.2894, 0.2775, 0.2708, 0.2688, 0.2697, 0.2701, 0.2745, 0.2915",\
                 "0.3285, 0.3106, 0.2898, 0.2777, 0.2716, 0.2702, 0.2697, 0.2708, 0.2763, 0.2937",\
                 "0.3288, 0.3107, 0.2901, 0.2779, 0.2718, 0.2704, 0.2699, 0.2717, 0.2739, 0.2981",\
                 "0.3295, 0.3118, 0.291, 0.2789, 0.2725, 0.2708, 0.2713, 0.2717, 0.2757, 0.3053",\
                 "0.3306, 0.313, 0.2916, 0.2795, 0.2749, 0.2726, 0.2724, 0.2744, 0.2766, 0.3141",\
                 "0.3324, 0.3145, 0.2934, 0.2807, 0.2757, 0.2748, 0.276, 0.2775, 0.2796, 0.3287",\
                 "0.3344, 0.3164, 0.2958, 0.2828, 0.2759, 0.275, 0.2778, 0.281, 0.2861, 0.3522",\
                 "0.3366, 0.3187, 0.2979, 0.2853, 0.279, 0.2761, 0.2757, 0.2817, 0.297, 0.4026");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3153, 0.2999, 0.278, 0.2676, 0.2622, 0.2592, 0.2574, 0.2562, 0.2554, 0.2549",\
                 "0.3152, 0.2999, 0.2779, 0.2676, 0.2623, 0.2593, 0.2574, 0.2562, 0.2554, 0.2548",\
                 "0.3153, 0.3, 0.2781, 0.2676, 0.2623, 0.2593, 0.2575, 0.2563, 0.2555, 0.2549",\
                 "0.3159, 0.3006, 0.2787, 0.2682, 0.263, 0.2599, 0.258, 0.2568, 0.256, 0.2554",\
                 "0.3167, 0.3015, 0.2796, 0.2692, 0.2639, 0.2609, 0.259, 0.2578, 0.257, 0.2565",\
                 "0.3178, 0.3025, 0.2808, 0.2703, 0.2649, 0.2619, 0.26, 0.2588, 0.258, 0.2574",\
                 "0.319, 0.3036, 0.2817, 0.2713, 0.266, 0.263, 0.2611, 0.2599, 0.2591, 0.2585",\
                 "0.3204, 0.3049, 0.2832, 0.2728, 0.2675, 0.2645, 0.2626, 0.2614, 0.2605, 0.2599",\
                 "0.3217, 0.3065, 0.2846, 0.274, 0.2688, 0.2658, 0.2638, 0.2627, 0.2619, 0.2613",\
                 "0.3234, 0.3081, 0.2863, 0.2759, 0.2705, 0.2675, 0.2656, 0.2644, 0.2635, 0.263");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.328, 0.31, 0.2894, 0.2775, 0.2708, 0.269, 0.2695, 0.2706, 0.273, 0.2905",\
                 "0.3279, 0.3104, 0.2895, 0.2774, 0.2713, 0.269, 0.2692, 0.2713, 0.2731, 0.2912",\
                 "0.3281, 0.3102, 0.2895, 0.2774, 0.2712, 0.2689, 0.2694, 0.2711, 0.2733, 0.2916",\
                 "0.3281, 0.3102, 0.2897, 0.2773, 0.2718, 0.2695, 0.2697, 0.2715, 0.2729, 0.2943",\
                 "0.3287, 0.3111, 0.2902, 0.2779, 0.272, 0.2705, 0.272, 0.2707, 0.2736, 0.2998",\
                 "0.3295, 0.3118, 0.2908, 0.2789, 0.2727, 0.2712, 0.2717, 0.2721, 0.2758, 0.305",\
                 "0.3307, 0.313, 0.2916, 0.2796, 0.2755, 0.2727, 0.2725, 0.2741, 0.2777, 0.3129",\
                 "0.3324, 0.3145, 0.2935, 0.2807, 0.2742, 0.2758, 0.2756, 0.2772, 0.2793, 0.3284",\
                 "0.3345, 0.3166, 0.2961, 0.2826, 0.2769, 0.2735, 0.2766, 0.2812, 0.2863, 0.352",\
                 "0.3366, 0.3187, 0.298, 0.2852, 0.279, 0.2745, 0.2757, 0.2817, 0.299, 0.4023");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3134, 0.2983, 0.2766, 0.266, 0.2605, 0.2573, 0.2553, 0.254, 0.2532, 0.2526",\
                 "0.3136, 0.2985, 0.2768, 0.2663, 0.2608, 0.2575, 0.2556, 0.2543, 0.2535, 0.2529",\
                 "0.314, 0.2989, 0.2772, 0.2665, 0.261, 0.2579, 0.256, 0.2547, 0.2539, 0.2534",\
                 "0.3218, 0.3061, 0.2831, 0.2713, 0.2653, 0.2619, 0.2598, 0.2585, 0.2577, 0.2571",\
                 "0.3558, 0.3376, 0.308, 0.2907, 0.2814, 0.276, 0.2727, 0.2706, 0.2693, 0.2683",\
                 "0.4045, 0.3834, 0.3454, 0.3217, 0.3079, 0.2996, 0.2944, 0.2911, 0.2888, 0.2873",\
                 "0.4637, 0.44, 0.3945, 0.3635, 0.3443, 0.3326, 0.3251, 0.3201, 0.3168, 0.3146",\
                 "0.5346, 0.5083, 0.4547, 0.4161, 0.3912, 0.375, 0.3646, 0.3576, 0.3528, 0.3495",\
                 "0.6154, 0.5868, 0.5254, 0.4787, 0.4476, 0.4266, 0.4125, 0.403, 0.3965, 0.392",\
                 "0.705, 0.6738, 0.6049, 0.5506, 0.5125, 0.4864, 0.4682, 0.4559, 0.4472, 0.4411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3134, 0.2983, 0.2766, 0.266, 0.2605, 0.2573, 0.2553, 0.254, 0.2532, 0.2526",\
                 "0.3136, 0.2985, 0.2768, 0.2663, 0.2608, 0.2575, 0.2556, 0.2543, 0.2535, 0.2529",\
                 "0.314, 0.2989, 0.2772, 0.2665, 0.261, 0.2579, 0.256, 0.2547, 0.2539, 0.2534",\
                 "0.3218, 0.3061, 0.2831, 0.2713, 0.2653, 0.2619, 0.2598, 0.2585, 0.2577, 0.2571",\
                 "0.3558, 0.3376, 0.308, 0.2907, 0.2814, 0.276, 0.2727, 0.2706, 0.2693, 0.2683",\
                 "0.4045, 0.3834, 0.3454, 0.3217, 0.3079, 0.2996, 0.2944, 0.2911, 0.2888, 0.2873",\
                 "0.4637, 0.44, 0.3945, 0.3635, 0.3443, 0.3326, 0.3251, 0.3201, 0.3168, 0.3146",\
                 "0.5346, 0.5083, 0.4547, 0.4161, 0.3912, 0.375, 0.3646, 0.3576, 0.3528, 0.3495",\
                 "0.6154, 0.5868, 0.5254, 0.4787, 0.4476, 0.4266, 0.4125, 0.403, 0.3965, 0.392",\
                 "0.705, 0.6738, 0.6049, 0.5506, 0.5125, 0.4864, 0.4682, 0.4559, 0.4472, 0.4411");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3134, 0.2983, 0.2765, 0.266, 0.2605, 0.2573, 0.2553, 0.254, 0.2532, 0.2526",\
                 "0.3136, 0.2985, 0.2768, 0.2663, 0.2608, 0.2575, 0.2556, 0.2543, 0.2535, 0.2529",\
                 "0.314, 0.2989, 0.2772, 0.2665, 0.261, 0.2579, 0.256, 0.2547, 0.2539, 0.2534",\
                 "0.3218, 0.3061, 0.2832, 0.2713, 0.2653, 0.2619, 0.2598, 0.2585, 0.2577, 0.2571",\
                 "0.3558, 0.3376, 0.308, 0.2908, 0.2814, 0.276, 0.2727, 0.2706, 0.2693, 0.2683",\
                 "0.4045, 0.3832, 0.3455, 0.3217, 0.3078, 0.2995, 0.2943, 0.291, 0.2888, 0.2872",\
                 "0.4637, 0.44, 0.3944, 0.3634, 0.3443, 0.3326, 0.3251, 0.3202, 0.3169, 0.3146",\
                 "0.5345, 0.5083, 0.4548, 0.4161, 0.3911, 0.3752, 0.3646, 0.3576, 0.3528, 0.3495",\
                 "0.6155, 0.5868, 0.5253, 0.4788, 0.4475, 0.4269, 0.4125, 0.403, 0.3965, 0.392",\
                 "0.705, 0.6737, 0.6049, 0.5506, 0.5125, 0.4864, 0.4682, 0.4559, 0.4472, 0.4411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3134, 0.2983, 0.2765, 0.266, 0.2605, 0.2573, 0.2553, 0.254, 0.2532, 0.2526",\
                 "0.3136, 0.2985, 0.2768, 0.2663, 0.2608, 0.2575, 0.2556, 0.2543, 0.2535, 0.2529",\
                 "0.314, 0.2989, 0.2772, 0.2665, 0.261, 0.2579, 0.256, 0.2547, 0.2539, 0.2534",\
                 "0.3218, 0.3061, 0.2832, 0.2713, 0.2653, 0.2619, 0.2598, 0.2585, 0.2577, 0.2571",\
                 "0.3558, 0.3376, 0.308, 0.2908, 0.2814, 0.276, 0.2727, 0.2706, 0.2693, 0.2683",\
                 "0.4045, 0.3832, 0.3455, 0.3217, 0.3078, 0.2995, 0.2943, 0.291, 0.2888, 0.2872",\
                 "0.4637, 0.44, 0.3944, 0.3634, 0.3443, 0.3326, 0.3251, 0.3202, 0.3169, 0.3146",\
                 "0.5345, 0.5083, 0.4548, 0.4161, 0.3911, 0.3752, 0.3646, 0.3576, 0.3528, 0.3495",\
                 "0.6155, 0.5868, 0.5253, 0.4788, 0.4475, 0.4269, 0.4125, 0.403, 0.3965, 0.392",\
                 "0.705, 0.6737, 0.6049, 0.5506, 0.5125, 0.4864, 0.4682, 0.4559, 0.4472, 0.4411");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3134, 0.2983, 0.2766, 0.266, 0.2605, 0.2573, 0.2553, 0.254, 0.2532, 0.2526",\
                 "0.3136, 0.2985, 0.2768, 0.2663, 0.2608, 0.2575, 0.2556, 0.2543, 0.2535, 0.2529",\
                 "0.314, 0.2989, 0.2772, 0.2665, 0.261, 0.2579, 0.256, 0.2547, 0.2539, 0.2534",\
                 "0.3218, 0.3061, 0.2831, 0.2713, 0.2653, 0.2619, 0.2598, 0.2585, 0.2577, 0.2571",\
                 "0.3558, 0.3376, 0.308, 0.2908, 0.2814, 0.276, 0.2727, 0.2706, 0.2693, 0.2683",\
                 "0.4045, 0.3833, 0.3455, 0.3217, 0.3078, 0.2995, 0.2943, 0.2911, 0.2888, 0.2873",\
                 "0.4639, 0.44, 0.3945, 0.3634, 0.3443, 0.3326, 0.3251, 0.3202, 0.3168, 0.3145",\
                 "0.5347, 0.5083, 0.4547, 0.4162, 0.3912, 0.3749, 0.3646, 0.3576, 0.3528, 0.3494",\
                 "0.6155, 0.5868, 0.5252, 0.4788, 0.4475, 0.4265, 0.4125, 0.403, 0.3965, 0.3919",\
                 "0.7051, 0.6737, 0.6047, 0.5506, 0.5125, 0.4863, 0.4682, 0.4559, 0.4472, 0.4411");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3134, 0.2983, 0.2766, 0.266, 0.2605, 0.2573, 0.2553, 0.254, 0.2532, 0.2526",\
                 "0.3136, 0.2985, 0.2768, 0.2663, 0.2608, 0.2575, 0.2556, 0.2543, 0.2535, 0.2529",\
                 "0.314, 0.2989, 0.2772, 0.2665, 0.261, 0.2579, 0.256, 0.2547, 0.2539, 0.2534",\
                 "0.3218, 0.3061, 0.2831, 0.2713, 0.2653, 0.2619, 0.2598, 0.2585, 0.2577, 0.2571",\
                 "0.3558, 0.3376, 0.308, 0.2908, 0.2814, 0.276, 0.2727, 0.2706, 0.2693, 0.2683",\
                 "0.4045, 0.3833, 0.3455, 0.3217, 0.3078, 0.2995, 0.2943, 0.2911, 0.2888, 0.2873",\
                 "0.4639, 0.44, 0.3945, 0.3634, 0.3443, 0.3326, 0.3251, 0.3202, 0.3168, 0.3145",\
                 "0.5347, 0.5083, 0.4547, 0.4162, 0.3912, 0.3749, 0.3646, 0.3576, 0.3528, 0.3494",\
                 "0.6155, 0.5868, 0.5252, 0.4788, 0.4475, 0.4265, 0.4125, 0.403, 0.3965, 0.3919",\
                 "0.7051, 0.6737, 0.6047, 0.5506, 0.5125, 0.4863, 0.4682, 0.4559, 0.4472, 0.4411");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3206, 0.3055, 0.2839, 0.2732, 0.2677, 0.2645, 0.2626, 0.2613, 0.2604, 0.2599",\
                 "0.3211, 0.306, 0.2842, 0.2737, 0.2682, 0.265, 0.263, 0.2617, 0.2609, 0.2603",\
                 "0.3215, 0.3063, 0.2847, 0.274, 0.2685, 0.2654, 0.2634, 0.2622, 0.2614, 0.2608",\
                 "0.3291, 0.3135, 0.2905, 0.2787, 0.2728, 0.2693, 0.2672, 0.2659, 0.2651, 0.2644",\
                 "0.3633, 0.3449, 0.3154, 0.2983, 0.2889, 0.2834, 0.2801, 0.278, 0.2767, 0.2757",\
                 "0.4119, 0.3908, 0.353, 0.3293, 0.3153, 0.307, 0.3018, 0.2985, 0.2963, 0.2948",\
                 "0.4713, 0.4475, 0.402, 0.3709, 0.3519, 0.34, 0.3325, 0.3276, 0.3243, 0.3221",\
                 "0.542, 0.5156, 0.4619, 0.4234, 0.3987, 0.3826, 0.3721, 0.3651, 0.3604, 0.3571",\
                 "0.6227, 0.5941, 0.533, 0.4863, 0.4549, 0.4339, 0.4201, 0.4104, 0.404, 0.3993",\
                 "0.7125, 0.6811, 0.6124, 0.5575, 0.5197, 0.4934, 0.4753, 0.4629, 0.4543, 0.4484");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3206, 0.3055, 0.2839, 0.2732, 0.2677, 0.2645, 0.2626, 0.2613, 0.2604, 0.2599",\
                 "0.3211, 0.306, 0.2842, 0.2737, 0.2682, 0.265, 0.263, 0.2617, 0.2609, 0.2603",\
                 "0.3215, 0.3063, 0.2847, 0.274, 0.2685, 0.2654, 0.2634, 0.2622, 0.2614, 0.2608",\
                 "0.3291, 0.3135, 0.2905, 0.2787, 0.2728, 0.2693, 0.2672, 0.2659, 0.2651, 0.2644",\
                 "0.3633, 0.3449, 0.3154, 0.2983, 0.2889, 0.2834, 0.2801, 0.278, 0.2767, 0.2757",\
                 "0.4119, 0.3908, 0.353, 0.3293, 0.3153, 0.307, 0.3018, 0.2985, 0.2963, 0.2948",\
                 "0.4713, 0.4475, 0.402, 0.3709, 0.3519, 0.34, 0.3325, 0.3276, 0.3243, 0.3221",\
                 "0.542, 0.5156, 0.4619, 0.4234, 0.3987, 0.3826, 0.3721, 0.3651, 0.3604, 0.3571",\
                 "0.6227, 0.5941, 0.533, 0.4863, 0.4549, 0.4339, 0.4201, 0.4104, 0.404, 0.3993",\
                 "0.7125, 0.6811, 0.6124, 0.5575, 0.5197, 0.4934, 0.4753, 0.4629, 0.4543, 0.4484");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3205, 0.3055, 0.2839, 0.2732, 0.2677, 0.2645, 0.2625, 0.2613, 0.2604, 0.2598",\
                 "0.3211, 0.306, 0.2842, 0.2737, 0.2682, 0.265, 0.263, 0.2618, 0.2609, 0.2603",\
                 "0.3215, 0.3063, 0.2847, 0.274, 0.2685, 0.2654, 0.2634, 0.2622, 0.2614, 0.2608",\
                 "0.3291, 0.3135, 0.2906, 0.2787, 0.2727, 0.2693, 0.2672, 0.2659, 0.2651, 0.2645",\
                 "0.3632, 0.3449, 0.3153, 0.2982, 0.2889, 0.2834, 0.2801, 0.278, 0.2767, 0.2757",\
                 "0.4119, 0.3908, 0.3529, 0.3292, 0.3153, 0.3069, 0.3018, 0.2985, 0.2963, 0.2948",\
                 "0.4712, 0.4475, 0.4017, 0.3707, 0.3519, 0.34, 0.3325, 0.3275, 0.3242, 0.322",\
                 "0.5421, 0.5157, 0.4619, 0.4236, 0.3987, 0.3826, 0.3721, 0.3651, 0.3604, 0.3571",\
                 "0.6228, 0.594, 0.533, 0.4866, 0.4549, 0.4339, 0.4201, 0.4106, 0.404, 0.3993",\
                 "0.7124, 0.681, 0.6127, 0.5574, 0.5197, 0.4934, 0.4752, 0.4629, 0.4544, 0.4483");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3205, 0.3055, 0.2839, 0.2732, 0.2677, 0.2645, 0.2625, 0.2613, 0.2604, 0.2598",\
                 "0.3211, 0.306, 0.2842, 0.2737, 0.2682, 0.265, 0.263, 0.2618, 0.2609, 0.2603",\
                 "0.3215, 0.3063, 0.2847, 0.274, 0.2685, 0.2654, 0.2634, 0.2622, 0.2614, 0.2608",\
                 "0.3291, 0.3135, 0.2906, 0.2787, 0.2727, 0.2693, 0.2672, 0.2659, 0.2651, 0.2645",\
                 "0.3632, 0.3449, 0.3153, 0.2982, 0.2889, 0.2834, 0.2801, 0.278, 0.2767, 0.2757",\
                 "0.4119, 0.3908, 0.3529, 0.3292, 0.3153, 0.3069, 0.3018, 0.2985, 0.2963, 0.2948",\
                 "0.4712, 0.4475, 0.4017, 0.3707, 0.3519, 0.34, 0.3325, 0.3275, 0.3242, 0.322",\
                 "0.5421, 0.5157, 0.4619, 0.4236, 0.3987, 0.3826, 0.3721, 0.3651, 0.3604, 0.3571",\
                 "0.6228, 0.594, 0.533, 0.4866, 0.4549, 0.4339, 0.4201, 0.4106, 0.404, 0.3993",\
                 "0.7124, 0.681, 0.6127, 0.5574, 0.5197, 0.4934, 0.4752, 0.4629, 0.4544, 0.4483");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3205, 0.3055, 0.2839, 0.2732, 0.2677, 0.2645, 0.2625, 0.2613, 0.2604, 0.2598",\
                 "0.3211, 0.306, 0.2842, 0.2737, 0.2682, 0.265, 0.263, 0.2618, 0.2609, 0.2603",\
                 "0.3215, 0.3063, 0.2847, 0.274, 0.2685, 0.2654, 0.2634, 0.2622, 0.2614, 0.2608",\
                 "0.3291, 0.3135, 0.2906, 0.2787, 0.2727, 0.2693, 0.2672, 0.2659, 0.2651, 0.2644",\
                 "0.3633, 0.345, 0.3153, 0.2981, 0.2887, 0.2833, 0.2801, 0.278, 0.2767, 0.2757",\
                 "0.4119, 0.3908, 0.3529, 0.3292, 0.3153, 0.3069, 0.3018, 0.2985, 0.2962, 0.2947",\
                 "0.4711, 0.4475, 0.4017, 0.3707, 0.3519, 0.34, 0.3325, 0.3275, 0.3242, 0.322",\
                 "0.5421, 0.5157, 0.4619, 0.4236, 0.3987, 0.3826, 0.3721, 0.3651, 0.3604, 0.3571",\
                 "0.6227, 0.5939, 0.533, 0.4866, 0.4549, 0.4339, 0.42, 0.4105, 0.4039, 0.3993",\
                 "0.7124, 0.681, 0.6124, 0.5574, 0.5197, 0.4934, 0.4752, 0.4629, 0.4543, 0.4484");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3205, 0.3055, 0.2839, 0.2732, 0.2677, 0.2645, 0.2625, 0.2613, 0.2604, 0.2598",\
                 "0.3211, 0.306, 0.2842, 0.2737, 0.2682, 0.265, 0.263, 0.2618, 0.2609, 0.2603",\
                 "0.3215, 0.3063, 0.2847, 0.274, 0.2685, 0.2654, 0.2634, 0.2622, 0.2614, 0.2608",\
                 "0.3291, 0.3135, 0.2906, 0.2787, 0.2727, 0.2693, 0.2672, 0.2659, 0.2651, 0.2644",\
                 "0.3633, 0.345, 0.3153, 0.2981, 0.2887, 0.2833, 0.2801, 0.278, 0.2767, 0.2757",\
                 "0.4119, 0.3908, 0.3529, 0.3292, 0.3153, 0.3069, 0.3018, 0.2985, 0.2962, 0.2947",\
                 "0.4711, 0.4475, 0.4017, 0.3707, 0.3519, 0.34, 0.3325, 0.3275, 0.3242, 0.322",\
                 "0.5421, 0.5157, 0.4619, 0.4236, 0.3987, 0.3826, 0.3721, 0.3651, 0.3604, 0.3571",\
                 "0.6227, 0.5939, 0.533, 0.4866, 0.4549, 0.4339, 0.42, 0.4105, 0.4039, 0.3993",\
                 "0.7124, 0.681, 0.6124, 0.5574, 0.5197, 0.4934, 0.4752, 0.4629, 0.4543, 0.4484");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3134, 0.2983, 0.2765, 0.266, 0.2605, 0.2573, 0.2553, 0.254, 0.2532, 0.2526",\
                 "0.3136, 0.2985, 0.2768, 0.2663, 0.2608, 0.2575, 0.2556, 0.2543, 0.2535, 0.2529",\
                 "0.314, 0.2989, 0.2772, 0.2665, 0.261, 0.2579, 0.256, 0.2547, 0.2539, 0.2534",\
                 "0.3217, 0.3061, 0.2831, 0.2712, 0.2653, 0.2619, 0.2598, 0.2585, 0.2577, 0.2571",\
                 "0.3558, 0.3376, 0.3081, 0.2907, 0.2815, 0.276, 0.2727, 0.2706, 0.2693, 0.2683",\
                 "0.4045, 0.3833, 0.3455, 0.3217, 0.3079, 0.2995, 0.2943, 0.291, 0.2888, 0.2873",\
                 "0.4637, 0.44, 0.3945, 0.3635, 0.3444, 0.3327, 0.3251, 0.3202, 0.3169, 0.3146",\
                 "0.5346, 0.5083, 0.4545, 0.4162, 0.3912, 0.375, 0.3646, 0.3576, 0.3528, 0.3495",\
                 "0.6155, 0.5868, 0.5253, 0.4787, 0.4479, 0.4269, 0.4125, 0.403, 0.3965, 0.3919",\
                 "0.7051, 0.6738, 0.6052, 0.5506, 0.5125, 0.4863, 0.4682, 0.4559, 0.4472, 0.4412");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3134, 0.2983, 0.2765, 0.266, 0.2605, 0.2573, 0.2553, 0.254, 0.2532, 0.2526",\
                 "0.3136, 0.2985, 0.2768, 0.2663, 0.2608, 0.2575, 0.2556, 0.2543, 0.2535, 0.2529",\
                 "0.314, 0.2989, 0.2772, 0.2665, 0.261, 0.2579, 0.256, 0.2547, 0.2539, 0.2534",\
                 "0.3217, 0.3061, 0.2831, 0.2712, 0.2653, 0.2619, 0.2598, 0.2585, 0.2577, 0.2571",\
                 "0.3558, 0.3376, 0.3081, 0.2907, 0.2815, 0.276, 0.2727, 0.2706, 0.2693, 0.2683",\
                 "0.4045, 0.3833, 0.3455, 0.3217, 0.3079, 0.2995, 0.2943, 0.291, 0.2888, 0.2873",\
                 "0.4637, 0.44, 0.3945, 0.3635, 0.3444, 0.3327, 0.3251, 0.3202, 0.3169, 0.3146",\
                 "0.5346, 0.5083, 0.4545, 0.4162, 0.3912, 0.375, 0.3646, 0.3576, 0.3528, 0.3495",\
                 "0.6155, 0.5868, 0.5253, 0.4787, 0.4479, 0.4269, 0.4125, 0.403, 0.3965, 0.3919",\
                 "0.7051, 0.6738, 0.6052, 0.5506, 0.5125, 0.4863, 0.4682, 0.4559, 0.4472, 0.4412");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3206, 0.3055, 0.2839, 0.2732, 0.2677, 0.2645, 0.2626, 0.2613, 0.2604, 0.2598",\
                 "0.3211, 0.306, 0.2842, 0.2737, 0.2682, 0.265, 0.263, 0.2617, 0.2609, 0.2603",\
                 "0.3215, 0.3063, 0.2847, 0.274, 0.2685, 0.2654, 0.2634, 0.2622, 0.2614, 0.2608",\
                 "0.3291, 0.3135, 0.2906, 0.2787, 0.2727, 0.2693, 0.2672, 0.2659, 0.2651, 0.2645",\
                 "0.3633, 0.3451, 0.3154, 0.2983, 0.2888, 0.2834, 0.2801, 0.278, 0.2766, 0.2758",\
                 "0.412, 0.3908, 0.353, 0.3292, 0.3154, 0.307, 0.3018, 0.2985, 0.2963, 0.2947",\
                 "0.4711, 0.4475, 0.4017, 0.3707, 0.3519, 0.34, 0.3325, 0.3275, 0.3242, 0.322",\
                 "0.5423, 0.5156, 0.4619, 0.4236, 0.3986, 0.3826, 0.372, 0.365, 0.3602, 0.3569",\
                 "0.6228, 0.5941, 0.5325, 0.4864, 0.455, 0.434, 0.4199, 0.4105, 0.4039, 0.3994",\
                 "0.7124, 0.6811, 0.6124, 0.5576, 0.5198, 0.4935, 0.4755, 0.463, 0.4544, 0.4484");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.3206, 0.3055, 0.2839, 0.2732, 0.2677, 0.2645, 0.2626, 0.2613, 0.2604, 0.2598",\
                 "0.3211, 0.306, 0.2842, 0.2737, 0.2682, 0.265, 0.263, 0.2617, 0.2609, 0.2603",\
                 "0.3215, 0.3063, 0.2847, 0.274, 0.2685, 0.2654, 0.2634, 0.2622, 0.2614, 0.2608",\
                 "0.3291, 0.3135, 0.2906, 0.2787, 0.2727, 0.2693, 0.2672, 0.2659, 0.2651, 0.2645",\
                 "0.3633, 0.3451, 0.3154, 0.2983, 0.2888, 0.2834, 0.2801, 0.278, 0.2766, 0.2758",\
                 "0.412, 0.3908, 0.353, 0.3292, 0.3154, 0.307, 0.3018, 0.2985, 0.2963, 0.2947",\
                 "0.4711, 0.4475, 0.4017, 0.3707, 0.3519, 0.34, 0.3325, 0.3275, 0.3242, 0.322",\
                 "0.5423, 0.5156, 0.4619, 0.4236, 0.3986, 0.3826, 0.372, 0.365, 0.3602, 0.3569",\
                 "0.6228, 0.5941, 0.5325, 0.4864, 0.455, 0.434, 0.4199, 0.4105, 0.4039, 0.3994",\
                 "0.7124, 0.6811, 0.6124, 0.5576, 0.5198, 0.4935, 0.4755, 0.463, 0.4544, 0.4484");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.3699, 0.3593, 0.3536, 0.3502, 0.3482, 0.3468, 0.346, 0.3454",\
                 "0.408, 0.3927, 0.3706, 0.3598, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4084, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.3491, 0.3478, 0.3469, 0.3463",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3568, 0.3547, 0.3533, 0.3524, 0.3518",\
                 "0.4592, 0.4407, 0.4105, 0.393, 0.3833, 0.3777, 0.3744, 0.3722, 0.3708, 0.3698",\
                 "0.5206, 0.499, 0.4608, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5971, 0.5734, 0.5279, 0.497, 0.4777, 0.4656, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6883, 0.6624, 0.6105, 0.5726, 0.5476, 0.5313, 0.5205, 0.5135, 0.5086, 0.5052",\
                 "0.7928, 0.7652, 0.7072, 0.6623, 0.6312, 0.6102, 0.5959, 0.5863, 0.5797, 0.5749",\
                 "0.9104, 0.8811, 0.8172, 0.7652, 0.7278, 0.7016, 0.6832, 0.6708, 0.6621, 0.6559");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.3699, 0.3593, 0.3536, 0.3502, 0.3482, 0.3468, 0.346, 0.3454",\
                 "0.408, 0.3927, 0.3706, 0.3598, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4084, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.3491, 0.3478, 0.3469, 0.3463",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3568, 0.3547, 0.3533, 0.3524, 0.3518",\
                 "0.4592, 0.4407, 0.4105, 0.393, 0.3833, 0.3777, 0.3744, 0.3722, 0.3708, 0.3698",\
                 "0.5206, 0.499, 0.4608, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5971, 0.5734, 0.5279, 0.497, 0.4777, 0.4656, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6883, 0.6624, 0.6105, 0.5726, 0.5476, 0.5313, 0.5205, 0.5135, 0.5086, 0.5052",\
                 "0.7928, 0.7652, 0.7072, 0.6623, 0.6312, 0.6102, 0.5959, 0.5863, 0.5797, 0.5749",\
                 "0.9104, 0.8811, 0.8172, 0.7652, 0.7278, 0.7016, 0.6832, 0.6708, 0.6621, 0.6559");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.3699, 0.3593, 0.3536, 0.3502, 0.3482, 0.3468, 0.346, 0.3454",\
                 "0.408, 0.3927, 0.3705, 0.3597, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4084, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.349, 0.3478, 0.3469, 0.3463",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3568, 0.3547, 0.3533, 0.3524, 0.3518",\
                 "0.4592, 0.4407, 0.4105, 0.393, 0.3834, 0.3777, 0.3743, 0.3722, 0.3708, 0.3698",\
                 "0.5206, 0.499, 0.4607, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5971, 0.5734, 0.5279, 0.497, 0.4777, 0.4656, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6883, 0.6624, 0.6105, 0.5726, 0.5476, 0.5313, 0.5205, 0.5135, 0.5086, 0.5052",\
                 "0.7929, 0.7652, 0.7074, 0.6623, 0.6312, 0.6102, 0.5959, 0.5862, 0.5797, 0.5749",\
                 "0.9104, 0.8811, 0.8172, 0.7653, 0.7277, 0.7016, 0.6832, 0.6708, 0.6621, 0.6559");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.3699, 0.3593, 0.3536, 0.3502, 0.3482, 0.3468, 0.346, 0.3454",\
                 "0.408, 0.3927, 0.3705, 0.3597, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4084, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.349, 0.3478, 0.3469, 0.3463",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3568, 0.3547, 0.3533, 0.3524, 0.3518",\
                 "0.4592, 0.4407, 0.4105, 0.393, 0.3834, 0.3777, 0.3743, 0.3722, 0.3708, 0.3698",\
                 "0.5206, 0.499, 0.4607, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5971, 0.5734, 0.5279, 0.497, 0.4777, 0.4656, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6883, 0.6624, 0.6105, 0.5726, 0.5476, 0.5313, 0.5205, 0.5135, 0.5086, 0.5052",\
                 "0.7929, 0.7652, 0.7074, 0.6623, 0.6312, 0.6102, 0.5959, 0.5862, 0.5797, 0.5749",\
                 "0.9104, 0.8811, 0.8172, 0.7653, 0.7277, 0.7016, 0.6832, 0.6708, 0.6621, 0.6559");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.3699, 0.3593, 0.3536, 0.3502, 0.3482, 0.3468, 0.346, 0.3454",\
                 "0.4079, 0.3927, 0.3705, 0.3597, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4083, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.349, 0.3477, 0.3469, 0.3462",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3568, 0.3547, 0.3533, 0.3524, 0.3518",\
                 "0.4591, 0.4408, 0.4104, 0.393, 0.3834, 0.3778, 0.3743, 0.3722, 0.3707, 0.3697",\
                 "0.5205, 0.499, 0.4608, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5971, 0.5733, 0.5281, 0.497, 0.4777, 0.4657, 0.4579, 0.4529, 0.4495, 0.4471",\
                 "0.6883, 0.6623, 0.6105, 0.5725, 0.5475, 0.5312, 0.5205, 0.5134, 0.5086, 0.5052",\
                 "0.7932, 0.7651, 0.707, 0.6623, 0.6312, 0.6101, 0.5958, 0.5862, 0.5798, 0.5752",\
                 "0.9104, 0.8811, 0.8173, 0.7652, 0.7278, 0.7015, 0.6833, 0.6708, 0.662, 0.6558");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.3699, 0.3593, 0.3536, 0.3502, 0.3482, 0.3468, 0.346, 0.3454",\
                 "0.4079, 0.3927, 0.3705, 0.3597, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4083, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.349, 0.3477, 0.3469, 0.3462",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3568, 0.3547, 0.3533, 0.3524, 0.3518",\
                 "0.4591, 0.4408, 0.4104, 0.393, 0.3834, 0.3778, 0.3743, 0.3722, 0.3707, 0.3697",\
                 "0.5205, 0.499, 0.4608, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5971, 0.5733, 0.5281, 0.497, 0.4777, 0.4657, 0.4579, 0.4529, 0.4495, 0.4471",\
                 "0.6883, 0.6623, 0.6105, 0.5725, 0.5475, 0.5312, 0.5205, 0.5134, 0.5086, 0.5052",\
                 "0.7932, 0.7651, 0.707, 0.6623, 0.6312, 0.6101, 0.5958, 0.5862, 0.5798, 0.5752",\
                 "0.9104, 0.8811, 0.8173, 0.7652, 0.7278, 0.7015, 0.6833, 0.6708, 0.662, 0.6558");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.37, 0.3593, 0.3537, 0.3503, 0.3482, 0.3469, 0.346, 0.3454",\
                 "0.4079, 0.3927, 0.3705, 0.3597, 0.3541, 0.3508, 0.3487, 0.3474, 0.3466, 0.3459",\
                 "0.4083, 0.3931, 0.3708, 0.3599, 0.3543, 0.351, 0.349, 0.3477, 0.3468, 0.3462",\
                 "0.4179, 0.4021, 0.3786, 0.3664, 0.3603, 0.3567, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4592, 0.4407, 0.4105, 0.3929, 0.3833, 0.3776, 0.3742, 0.3721, 0.3707, 0.3697",\
                 "0.5205, 0.4991, 0.4608, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5971, 0.5735, 0.5278, 0.497, 0.4777, 0.4655, 0.4579, 0.4528, 0.4494, 0.447",\
                 "0.6882, 0.6623, 0.6105, 0.5725, 0.5475, 0.5312, 0.5206, 0.5135, 0.5086, 0.5053",\
                 "0.793, 0.7651, 0.7072, 0.6622, 0.631, 0.6099, 0.5959, 0.5863, 0.5798, 0.5751",\
                 "0.9108, 0.8813, 0.8171, 0.7652, 0.7276, 0.7014, 0.6831, 0.6707, 0.6619, 0.6557");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.37, 0.3593, 0.3537, 0.3503, 0.3482, 0.3469, 0.346, 0.3454",\
                 "0.4079, 0.3927, 0.3705, 0.3597, 0.3541, 0.3508, 0.3487, 0.3474, 0.3466, 0.3459",\
                 "0.4083, 0.3931, 0.3708, 0.3599, 0.3543, 0.351, 0.349, 0.3477, 0.3468, 0.3462",\
                 "0.4179, 0.4021, 0.3786, 0.3664, 0.3603, 0.3567, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4592, 0.4407, 0.4105, 0.3929, 0.3833, 0.3776, 0.3742, 0.3721, 0.3707, 0.3697",\
                 "0.5205, 0.4991, 0.4608, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5971, 0.5735, 0.5278, 0.497, 0.4777, 0.4655, 0.4579, 0.4528, 0.4494, 0.447",\
                 "0.6882, 0.6623, 0.6105, 0.5725, 0.5475, 0.5312, 0.5206, 0.5135, 0.5086, 0.5053",\
                 "0.793, 0.7651, 0.7072, 0.6622, 0.631, 0.6099, 0.5959, 0.5863, 0.5798, 0.5751",\
                 "0.9108, 0.8813, 0.8171, 0.7652, 0.7276, 0.7014, 0.6831, 0.6707, 0.6619, 0.6557");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.37, 0.3593, 0.3537, 0.3503, 0.3482, 0.3469, 0.346, 0.3454",\
                 "0.4079, 0.3928, 0.3706, 0.3598, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4083, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.349, 0.3478, 0.3469, 0.3462",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3567, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4593, 0.4407, 0.4105, 0.3929, 0.3833, 0.3776, 0.3743, 0.3721, 0.3707, 0.3697",\
                 "0.5206, 0.4991, 0.4609, 0.4368, 0.4225, 0.414, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5972, 0.5734, 0.5278, 0.4969, 0.4777, 0.4657, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6884, 0.6623, 0.6105, 0.5725, 0.5475, 0.5312, 0.5206, 0.5134, 0.5086, 0.5053",\
                 "0.7932, 0.7652, 0.7074, 0.6622, 0.6313, 0.6102, 0.5961, 0.5863, 0.5798, 0.5752",\
                 "0.9104, 0.8811, 0.8171, 0.7652, 0.7276, 0.7014, 0.6832, 0.6706, 0.6619, 0.6558");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.37, 0.3593, 0.3537, 0.3503, 0.3482, 0.3469, 0.346, 0.3454",\
                 "0.4079, 0.3928, 0.3706, 0.3598, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4083, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.349, 0.3478, 0.3469, 0.3462",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3567, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4593, 0.4407, 0.4105, 0.3929, 0.3833, 0.3776, 0.3743, 0.3721, 0.3707, 0.3697",\
                 "0.5206, 0.4991, 0.4609, 0.4368, 0.4225, 0.414, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5972, 0.5734, 0.5278, 0.4969, 0.4777, 0.4657, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6884, 0.6623, 0.6105, 0.5725, 0.5475, 0.5312, 0.5206, 0.5134, 0.5086, 0.5053",\
                 "0.7932, 0.7652, 0.7074, 0.6622, 0.6313, 0.6102, 0.5961, 0.5863, 0.5798, 0.5752",\
                 "0.9104, 0.8811, 0.8171, 0.7652, 0.7276, 0.7014, 0.6832, 0.6706, 0.6619, 0.6558");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.37, 0.3593, 0.3537, 0.3503, 0.3482, 0.3469, 0.346, 0.3454",\
                 "0.4079, 0.3928, 0.3706, 0.3598, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4083, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.349, 0.3478, 0.3469, 0.3462",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3567, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4593, 0.4407, 0.4105, 0.3929, 0.3834, 0.3777, 0.3743, 0.3721, 0.3707, 0.3697",\
                 "0.5206, 0.4991, 0.4609, 0.4368, 0.4225, 0.414, 0.4087, 0.4052, 0.4029, 0.4013",\
                 "0.5972, 0.5734, 0.5278, 0.4969, 0.4777, 0.4657, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6884, 0.6624, 0.6105, 0.5726, 0.5475, 0.5312, 0.5206, 0.5135, 0.5086, 0.5052",\
                 "0.7931, 0.7652, 0.7074, 0.6622, 0.6313, 0.61, 0.5961, 0.5863, 0.5798, 0.5752",\
                 "0.9104, 0.8813, 0.8172, 0.7653, 0.7276, 0.7014, 0.6833, 0.6706, 0.6619, 0.6558");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.37, 0.3593, 0.3537, 0.3503, 0.3482, 0.3469, 0.346, 0.3454",\
                 "0.4079, 0.3928, 0.3706, 0.3598, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4083, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.349, 0.3478, 0.3469, 0.3462",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3567, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4593, 0.4407, 0.4105, 0.3929, 0.3834, 0.3777, 0.3743, 0.3721, 0.3707, 0.3697",\
                 "0.5206, 0.4991, 0.4609, 0.4368, 0.4225, 0.414, 0.4087, 0.4052, 0.4029, 0.4013",\
                 "0.5972, 0.5734, 0.5278, 0.4969, 0.4777, 0.4657, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6884, 0.6624, 0.6105, 0.5726, 0.5475, 0.5312, 0.5206, 0.5135, 0.5086, 0.5052",\
                 "0.7931, 0.7652, 0.7074, 0.6622, 0.6313, 0.61, 0.5961, 0.5863, 0.5798, 0.5752",\
                 "0.9104, 0.8813, 0.8172, 0.7653, 0.7276, 0.7014, 0.6833, 0.6706, 0.6619, 0.6558");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3921, 0.3699, 0.3592, 0.3536, 0.3502, 0.3482, 0.3468, 0.346, 0.3454",\
                 "0.4079, 0.3927, 0.3705, 0.3597, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4084, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.3491, 0.3477, 0.3469, 0.3463",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3568, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4591, 0.4407, 0.4104, 0.393, 0.3834, 0.3777, 0.3743, 0.3721, 0.3707, 0.3697",\
                 "0.5205, 0.499, 0.4608, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.597, 0.5733, 0.5279, 0.497, 0.4777, 0.4656, 0.4579, 0.4527, 0.4494, 0.447",\
                 "0.6883, 0.6623, 0.6104, 0.5725, 0.5475, 0.5312, 0.5205, 0.5134, 0.5086, 0.5052",\
                 "0.793, 0.7653, 0.7071, 0.6623, 0.6313, 0.61, 0.5959, 0.5863, 0.5796, 0.5751",\
                 "0.9103, 0.8811, 0.8173, 0.7652, 0.7277, 0.7015, 0.6834, 0.6708, 0.662, 0.6558");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3921, 0.3699, 0.3592, 0.3536, 0.3502, 0.3482, 0.3468, 0.346, 0.3454",\
                 "0.4079, 0.3927, 0.3705, 0.3597, 0.3541, 0.3508, 0.3487, 0.3474, 0.3465, 0.3459",\
                 "0.4084, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.3491, 0.3477, 0.3469, 0.3463",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3568, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4591, 0.4407, 0.4104, 0.393, 0.3834, 0.3777, 0.3743, 0.3721, 0.3707, 0.3697",\
                 "0.5205, 0.499, 0.4608, 0.4368, 0.4225, 0.4139, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.597, 0.5733, 0.5279, 0.497, 0.4777, 0.4656, 0.4579, 0.4527, 0.4494, 0.447",\
                 "0.6883, 0.6623, 0.6104, 0.5725, 0.5475, 0.5312, 0.5205, 0.5134, 0.5086, 0.5052",\
                 "0.793, 0.7653, 0.7071, 0.6623, 0.6313, 0.61, 0.5959, 0.5863, 0.5796, 0.5751",\
                 "0.9103, 0.8811, 0.8173, 0.7652, 0.7277, 0.7015, 0.6834, 0.6708, 0.662, 0.6558");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.3699, 0.3593, 0.3536, 0.3503, 0.3482, 0.3469, 0.346, 0.3454",\
                 "0.4079, 0.3927, 0.3706, 0.3597, 0.3542, 0.3508, 0.3487, 0.3474, 0.3466, 0.3459",\
                 "0.4084, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.3491, 0.3478, 0.3469, 0.3463",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3567, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4593, 0.4407, 0.4105, 0.393, 0.3834, 0.3777, 0.3743, 0.3721, 0.3707, 0.3697",\
                 "0.5206, 0.4991, 0.4609, 0.4368, 0.4225, 0.414, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5972, 0.5734, 0.5278, 0.4969, 0.4777, 0.4656, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6883, 0.6624, 0.6106, 0.5726, 0.5475, 0.5313, 0.5206, 0.5134, 0.5086, 0.5053",\
                 "0.7932, 0.7652, 0.7075, 0.6623, 0.631, 0.6102, 0.5959, 0.5863, 0.5798, 0.5751",\
                 "0.9107, 0.8811, 0.8173, 0.7652, 0.7277, 0.7014, 0.6831, 0.6708, 0.662, 0.6558");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4074, 0.3922, 0.3699, 0.3593, 0.3536, 0.3503, 0.3482, 0.3469, 0.346, 0.3454",\
                 "0.4079, 0.3927, 0.3706, 0.3597, 0.3542, 0.3508, 0.3487, 0.3474, 0.3466, 0.3459",\
                 "0.4084, 0.3931, 0.3708, 0.3599, 0.3544, 0.3511, 0.3491, 0.3478, 0.3469, 0.3463",\
                 "0.418, 0.4022, 0.3786, 0.3664, 0.3603, 0.3567, 0.3546, 0.3533, 0.3524, 0.3518",\
                 "0.4593, 0.4407, 0.4105, 0.393, 0.3834, 0.3777, 0.3743, 0.3721, 0.3707, 0.3697",\
                 "0.5206, 0.4991, 0.4609, 0.4368, 0.4225, 0.414, 0.4086, 0.4052, 0.4029, 0.4013",\
                 "0.5972, 0.5734, 0.5278, 0.4969, 0.4777, 0.4656, 0.4579, 0.4528, 0.4494, 0.4471",\
                 "0.6883, 0.6624, 0.6106, 0.5726, 0.5475, 0.5313, 0.5206, 0.5134, 0.5086, 0.5053",\
                 "0.7932, 0.7652, 0.7075, 0.6623, 0.631, 0.6102, 0.5959, 0.5863, 0.5798, 0.5751",\
                 "0.9107, 0.8811, 0.8173, 0.7652, 0.7277, 0.7014, 0.6831, 0.6708, 0.662, 0.6558");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.076, 1.127, 1.249, 1.418, 1.633, 1.912, 2.271, 2.72, 3.269, 3.923",\
                 "1.09, 1.14, 1.262, 1.431, 1.647, 1.926, 2.284, 2.734, 3.283, 3.937",\
                 "1.141, 1.191, 1.313, 1.482, 1.698, 1.977, 2.335, 2.785, 3.334, 3.988",\
                 "1.217, 1.267, 1.389, 1.558, 1.774, 2.053, 2.411, 2.861, 3.41, 4.064",\
                 "1.281, 1.331, 1.453, 1.622, 1.837, 2.116, 2.475, 2.924, 3.473, 4.127",\
                 "1.329, 1.379, 1.501, 1.67, 1.886, 2.165, 2.524, 2.973, 3.522, 4.176",\
                 "1.36, 1.41, 1.532, 1.701, 1.917, 2.196, 2.554, 3.004, 3.553, 4.207",\
                 "1.369, 1.419, 1.541, 1.71, 1.926, 2.205, 2.563, 3.013, 3.561, 4.215",\
                 "1.352, 1.402, 1.524, 1.693, 1.909, 2.188, 2.547, 2.996, 3.545, 4.199",\
                 "1.309, 1.359, 1.481, 1.65, 1.866, 2.144, 2.503, 2.953, 3.501, 4.155");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.206, 1.263, 1.419, 1.665, 2.018, 2.506, 3.149, 3.96, 4.951, 6.129",\
                 "1.219, 1.277, 1.433, 1.679, 2.032, 2.52, 3.163, 3.974, 4.965, 6.141",\
                 "1.269, 1.327, 1.483, 1.729, 2.082, 2.57, 3.213, 4.023, 5.013, 6.194",\
                 "1.343, 1.401, 1.557, 1.803, 2.156, 2.644, 3.287, 4.098, 5.089, 6.266",\
                 "1.406, 1.463, 1.619, 1.865, 2.218, 2.706, 3.349, 4.159, 5.15, 6.33",\
                 "1.453, 1.511, 1.667, 1.913, 2.266, 2.754, 3.397, 4.207, 5.196, 6.379",\
                 "1.484, 1.542, 1.697, 1.944, 2.297, 2.785, 3.427, 4.237, 5.227, 6.409",\
                 "1.495, 1.553, 1.708, 1.955, 2.308, 2.796, 3.438, 4.248, 5.237, 6.416",\
                 "1.482, 1.54, 1.696, 1.942, 2.295, 2.783, 3.426, 4.236, 5.224, 6.403",\
                 "1.443, 1.501, 1.657, 1.903, 2.256, 2.745, 3.388, 4.197, 5.186, 6.365");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1418, 0.1884, 0.3084, 0.4938, 0.7796, 1.207, 1.791, 2.541, 3.463, 4.566",\
                 "0.1418, 0.1886, 0.3084, 0.4936, 0.7794, 1.207, 1.791, 2.542, 3.464, 4.565",\
                 "0.1418, 0.1886, 0.3084, 0.4938, 0.7794, 1.207, 1.791, 2.542, 3.464, 4.565",\
                 "0.1418, 0.1888, 0.3084, 0.4936, 0.7798, 1.205, 1.789, 2.542, 3.462, 4.565",\
                 "0.1416, 0.1886, 0.3086, 0.4944, 0.7794, 1.205, 1.79, 2.542, 3.461, 4.565",\
                 "0.1416, 0.1888, 0.308, 0.4936, 0.7794, 1.207, 1.79, 2.542, 3.46, 4.56",\
                 "0.1418, 0.1888, 0.3084, 0.4944, 0.7798, 1.205, 1.788, 2.539, 3.46, 4.566",\
                 "0.1414, 0.1884, 0.3084, 0.4944, 0.7798, 1.206, 1.789, 2.538, 3.457, 4.559",\
                 "0.1414, 0.1884, 0.3082, 0.4936, 0.779, 1.205, 1.79, 2.54, 3.457, 4.555",\
                 "0.1416, 0.1884, 0.3082, 0.4936, 0.7798, 1.207, 1.791, 2.54, 3.46, 4.558");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.159, 0.2218, 0.4246, 0.7826, 1.369, 2.219, 3.348, 4.78, 6.525, 8.611",\
                 "0.159, 0.222, 0.4248, 0.7826, 1.366, 2.219, 3.353, 4.788, 6.525, 8.607",\
                 "0.1592, 0.2222, 0.425, 0.7824, 1.368, 2.219, 3.353, 4.781, 6.527, 8.616",\
                 "0.1596, 0.222, 0.4252, 0.783, 1.369, 2.219, 3.348, 4.78, 6.525, 8.61",\
                 "0.1584, 0.222, 0.4242, 0.7826, 1.368, 2.219, 3.351, 4.785, 6.527, 8.617",\
                 "0.1598, 0.2214, 0.4236, 0.7824, 1.369, 2.218, 3.355, 4.783, 6.526, 8.604",\
                 "0.159, 0.2212, 0.4244, 0.7822, 1.366, 2.217, 3.349, 4.783, 6.528, 8.607",\
                 "0.1586, 0.222, 0.4244, 0.7826, 1.367, 2.216, 3.348, 4.782, 6.529, 8.61",\
                 "0.1586, 0.2218, 0.4244, 0.7826, 1.367, 2.217, 3.348, 4.776, 6.532, 8.595",\
                 "0.1594, 0.2216, 0.424, 0.7826, 1.367, 2.22, 3.35, 4.776, 6.521, 8.602");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.076, 1.127, 1.249, 1.417, 1.633, 1.912, 2.271, 2.72, 3.269, 3.923",\
                 "1.09, 1.14, 1.262, 1.431, 1.647, 1.926, 2.285, 2.734, 3.283, 3.937",\
                 "1.141, 1.191, 1.313, 1.482, 1.698, 1.977, 2.335, 2.785, 3.334, 3.988",\
                 "1.217, 1.267, 1.389, 1.558, 1.774, 2.053, 2.411, 2.861, 3.41, 4.064",\
                 "1.281, 1.331, 1.453, 1.622, 1.837, 2.116, 2.475, 2.924, 3.473, 4.127",\
                 "1.329, 1.379, 1.501, 1.67, 1.886, 2.165, 2.523, 2.973, 3.522, 4.176",\
                 "1.36, 1.41, 1.532, 1.701, 1.917, 2.196, 2.554, 3.004, 3.553, 4.207",\
                 "1.369, 1.419, 1.541, 1.71, 1.926, 2.205, 2.563, 3.013, 3.562, 4.215",\
                 "1.352, 1.402, 1.524, 1.693, 1.909, 2.188, 2.547, 2.996, 3.545, 4.199",\
                 "1.309, 1.359, 1.481, 1.65, 1.866, 2.144, 2.503, 2.953, 3.501, 4.155");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.206, 1.263, 1.419, 1.665, 2.018, 2.506, 3.15, 3.96, 4.951, 6.127",\
                 "1.219, 1.277, 1.433, 1.679, 2.032, 2.52, 3.163, 3.974, 4.965, 6.141",\
                 "1.269, 1.327, 1.482, 1.728, 2.081, 2.57, 3.213, 4.024, 5.014, 6.192",\
                 "1.343, 1.401, 1.557, 1.803, 2.156, 2.644, 3.287, 4.098, 5.089, 6.264",\
                 "1.406, 1.463, 1.619, 1.865, 2.218, 2.706, 3.349, 4.159, 5.148, 6.328",\
                 "1.454, 1.511, 1.667, 1.913, 2.266, 2.755, 3.397, 4.207, 5.196, 6.379",\
                 "1.484, 1.542, 1.698, 1.944, 2.297, 2.785, 3.427, 4.237, 5.226, 6.41",\
                 "1.495, 1.553, 1.708, 1.954, 2.308, 2.796, 3.439, 4.248, 5.238, 6.416",\
                 "1.482, 1.54, 1.696, 1.942, 2.295, 2.783, 3.426, 4.236, 5.224, 6.403",\
                 "1.443, 1.501, 1.657, 1.903, 2.256, 2.745, 3.388, 4.197, 5.186, 6.365");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1418, 0.1886, 0.3084, 0.4938, 0.78, 1.207, 1.79, 2.541, 3.464, 4.565",\
                 "0.1418, 0.1886, 0.3084, 0.4942, 0.7794, 1.207, 1.789, 2.542, 3.464, 4.565",\
                 "0.1418, 0.1886, 0.3084, 0.4936, 0.7794, 1.207, 1.791, 2.542, 3.463, 4.565",\
                 "0.1416, 0.189, 0.3084, 0.4936, 0.7796, 1.207, 1.791, 2.541, 3.464, 4.56",\
                 "0.1414, 0.1884, 0.3082, 0.4944, 0.7806, 1.207, 1.789, 2.542, 3.462, 4.566",\
                 "0.1416, 0.189, 0.3086, 0.4934, 0.7794, 1.206, 1.791, 2.541, 3.464, 4.563",\
                 "0.1418, 0.1888, 0.3082, 0.4936, 0.7806, 1.205, 1.788, 2.541, 3.46, 4.566",\
                 "0.1414, 0.1886, 0.3084, 0.4944, 0.7794, 1.207, 1.79, 2.538, 3.458, 4.557",\
                 "0.1414, 0.1884, 0.3082, 0.4938, 0.7792, 1.206, 1.789, 2.539, 3.46, 4.555",\
                 "0.1416, 0.1884, 0.3082, 0.494, 0.7798, 1.207, 1.791, 2.54, 3.46, 4.558");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1584, 0.222, 0.4248, 0.7826, 1.367, 2.219, 3.349, 4.78, 6.523, 8.603",\
                 "0.1584, 0.222, 0.4242, 0.7832, 1.368, 2.219, 3.349, 4.78, 6.523, 8.605",\
                 "0.159, 0.2222, 0.4246, 0.7826, 1.368, 2.219, 3.349, 4.78, 6.525, 8.606",\
                 "0.1596, 0.2222, 0.425, 0.7828, 1.368, 2.219, 3.348, 4.78, 6.524, 8.603",\
                 "0.1584, 0.2216, 0.4244, 0.7824, 1.368, 2.219, 3.35, 4.786, 6.525, 8.609",\
                 "0.1582, 0.2214, 0.424, 0.7832, 1.368, 2.217, 3.354, 4.778, 6.523, 8.607",\
                 "0.1586, 0.2212, 0.4244, 0.7828, 1.366, 2.219, 3.348, 4.781, 6.525, 8.604",\
                 "0.1586, 0.222, 0.425, 0.783, 1.366, 2.217, 3.348, 4.78, 6.533, 8.606",\
                 "0.159, 0.2216, 0.4242, 0.7826, 1.366, 2.218, 3.348, 4.776, 6.532, 8.601",\
                 "0.1592, 0.2216, 0.4246, 0.7828, 1.367, 2.22, 3.35, 4.776, 6.521, 8.602");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.077, 1.127, 1.249, 1.417, 1.633, 1.912, 2.271, 2.72, 3.269, 3.924",\
                 "1.09, 1.14, 1.262, 1.431, 1.647, 1.926, 2.284, 2.734, 3.283, 3.937",\
                 "1.141, 1.191, 1.313, 1.482, 1.698, 1.977, 2.335, 2.785, 3.334, 3.988",\
                 "1.217, 1.267, 1.389, 1.558, 1.774, 2.053, 2.411, 2.861, 3.41, 4.064",\
                 "1.281, 1.331, 1.453, 1.622, 1.837, 2.116, 2.475, 2.924, 3.473, 4.128",\
                 "1.329, 1.379, 1.501, 1.67, 1.886, 2.165, 2.523, 2.973, 3.522, 4.176",\
                 "1.36, 1.41, 1.532, 1.701, 1.917, 2.196, 2.554, 3.004, 3.553, 4.207",\
                 "1.369, 1.419, 1.541, 1.71, 1.926, 2.205, 2.563, 3.013, 3.562, 4.215",\
                 "1.352, 1.402, 1.525, 1.694, 1.909, 2.188, 2.547, 2.997, 3.545, 4.199",\
                 "1.309, 1.359, 1.481, 1.65, 1.866, 2.145, 2.503, 2.953, 3.501, 4.156");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.206, 1.264, 1.419, 1.665, 2.018, 2.507, 3.15, 3.96, 4.951, 6.129",\
                 "1.219, 1.277, 1.433, 1.679, 2.032, 2.52, 3.163, 3.974, 4.963, 6.144",\
                 "1.269, 1.327, 1.483, 1.728, 2.081, 2.57, 3.213, 4.024, 5.014, 6.192",\
                 "1.343, 1.401, 1.557, 1.803, 2.156, 2.645, 3.287, 4.098, 5.089, 6.265",\
                 "1.406, 1.463, 1.619, 1.865, 2.218, 2.706, 3.349, 4.159, 5.15, 6.33",\
                 "1.454, 1.511, 1.667, 1.913, 2.266, 2.754, 3.397, 4.208, 5.197, 6.379",\
                 "1.484, 1.542, 1.698, 1.944, 2.296, 2.785, 3.427, 4.237, 5.227, 6.409",\
                 "1.495, 1.553, 1.709, 1.955, 2.308, 2.796, 3.438, 4.248, 5.237, 6.417",\
                 "1.482, 1.54, 1.696, 1.942, 2.295, 2.783, 3.426, 4.236, 5.224, 6.403",\
                 "1.444, 1.502, 1.657, 1.903, 2.256, 2.745, 3.388, 4.197, 5.186, 6.365");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1418, 0.1886, 0.3086, 0.4938, 0.779, 1.206, 1.791, 2.542, 3.463, 4.566",\
                 "0.1422, 0.1886, 0.3082, 0.4936, 0.7794, 1.207, 1.791, 2.542, 3.462, 4.565",\
                 "0.142, 0.1888, 0.3084, 0.4938, 0.7794, 1.207, 1.791, 2.54, 3.464, 4.566",\
                 "0.1414, 0.189, 0.3082, 0.4936, 0.7796, 1.205, 1.79, 2.542, 3.461, 4.565",\
                 "0.1416, 0.1884, 0.3084, 0.4944, 0.7802, 1.207, 1.79, 2.542, 3.463, 4.566",\
                 "0.1416, 0.1886, 0.3082, 0.4934, 0.7788, 1.205, 1.792, 2.541, 3.464, 4.565",\
                 "0.1418, 0.1888, 0.3084, 0.4936, 0.781, 1.205, 1.788, 2.538, 3.46, 4.56",\
                 "0.1416, 0.1884, 0.3082, 0.4936, 0.78, 1.207, 1.792, 2.539, 3.458, 4.557",\
                 "0.142, 0.1884, 0.3082, 0.4938, 0.78, 1.207, 1.79, 2.54, 3.459, 4.555",\
                 "0.1418, 0.1884, 0.3084, 0.4936, 0.7792, 1.207, 1.792, 2.54, 3.458, 4.558");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1594, 0.2218, 0.425, 0.7828, 1.366, 2.219, 3.349, 4.78, 6.526, 8.611",\
                 "0.1584, 0.222, 0.4246, 0.7826, 1.369, 2.219, 3.351, 4.78, 6.527, 8.619",\
                 "0.1594, 0.2218, 0.4248, 0.7826, 1.369, 2.219, 3.349, 4.788, 6.525, 8.611",\
                 "0.1596, 0.2224, 0.425, 0.7826, 1.366, 2.218, 3.348, 4.78, 6.523, 8.604",\
                 "0.1584, 0.2218, 0.4242, 0.7826, 1.367, 2.219, 3.351, 4.786, 6.527, 8.618",\
                 "0.158, 0.2216, 0.4238, 0.7832, 1.369, 2.22, 3.351, 4.78, 6.532, 8.609",\
                 "0.1586, 0.2216, 0.4244, 0.783, 1.366, 2.219, 3.352, 4.782, 6.527, 8.607",\
                 "0.1588, 0.222, 0.4248, 0.7822, 1.367, 2.22, 3.348, 4.779, 6.53, 8.603",\
                 "0.159, 0.2214, 0.4244, 0.7832, 1.367, 2.217, 3.348, 4.776, 6.532, 8.595",\
                 "0.1584, 0.221, 0.4246, 0.7834, 1.367, 2.22, 3.351, 4.776, 6.521, 8.602");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.076, 1.127, 1.249, 1.417, 1.633, 1.912, 2.271, 2.72, 3.269, 3.923",\
                 "1.09, 1.14, 1.262, 1.431, 1.647, 1.926, 2.284, 2.734, 3.283, 3.937",\
                 "1.141, 1.191, 1.313, 1.482, 1.698, 1.977, 2.335, 2.785, 3.334, 3.988",\
                 "1.217, 1.267, 1.389, 1.558, 1.774, 2.053, 2.411, 2.861, 3.41, 4.064",\
                 "1.281, 1.331, 1.453, 1.622, 1.837, 2.116, 2.475, 2.924, 3.473, 4.128",\
                 "1.329, 1.379, 1.501, 1.67, 1.886, 2.165, 2.523, 2.973, 3.522, 4.176",\
                 "1.36, 1.41, 1.532, 1.701, 1.917, 2.196, 2.554, 3.004, 3.553, 4.207",\
                 "1.369, 1.419, 1.541, 1.71, 1.926, 2.205, 2.563, 3.013, 3.561, 4.215",\
                 "1.352, 1.402, 1.525, 1.693, 1.909, 2.188, 2.547, 2.996, 3.545, 4.199",\
                 "1.309, 1.359, 1.481, 1.65, 1.866, 2.144, 2.503, 2.953, 3.501, 4.156");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.206, 1.264, 1.419, 1.665, 2.018, 2.506, 3.15, 3.96, 4.949, 6.129",\
                 "1.219, 1.277, 1.433, 1.679, 2.032, 2.52, 3.163, 3.974, 4.965, 6.142",\
                 "1.269, 1.327, 1.483, 1.729, 2.082, 2.57, 3.212, 4.023, 5.014, 6.193",\
                 "1.343, 1.401, 1.557, 1.803, 2.156, 2.644, 3.287, 4.098, 5.088, 6.268",\
                 "1.405, 1.463, 1.619, 1.865, 2.218, 2.706, 3.349, 4.16, 5.151, 6.328",\
                 "1.454, 1.511, 1.667, 1.913, 2.266, 2.755, 3.397, 4.207, 5.196, 6.379",\
                 "1.484, 1.542, 1.697, 1.944, 2.296, 2.785, 3.427, 4.239, 5.229, 6.408",\
                 "1.495, 1.553, 1.708, 1.955, 2.308, 2.796, 3.438, 4.248, 5.237, 6.417",\
                 "1.482, 1.54, 1.696, 1.942, 2.295, 2.783, 3.426, 4.236, 5.224, 6.403",\
                 "1.443, 1.501, 1.657, 1.903, 2.256, 2.745, 3.388, 4.197, 5.186, 6.365");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1418, 0.1886, 0.3084, 0.4938, 0.7796, 1.207, 1.79, 2.541, 3.464, 4.565",\
                 "0.1418, 0.1888, 0.3084, 0.4936, 0.779, 1.207, 1.791, 2.542, 3.464, 4.566",\
                 "0.1418, 0.1886, 0.3084, 0.4936, 0.7798, 1.206, 1.79, 2.542, 3.462, 4.565",\
                 "0.1418, 0.1888, 0.3084, 0.4936, 0.779, 1.207, 1.791, 2.541, 3.464, 4.565",\
                 "0.1414, 0.1884, 0.3084, 0.4946, 0.7802, 1.207, 1.79, 2.542, 3.463, 4.566",\
                 "0.1414, 0.1888, 0.3084, 0.4936, 0.7788, 1.205, 1.792, 2.541, 3.464, 4.565",\
                 "0.1414, 0.1884, 0.3084, 0.4934, 0.7798, 1.205, 1.788, 2.538, 3.462, 4.566",\
                 "0.1416, 0.1884, 0.3084, 0.4936, 0.7798, 1.206, 1.789, 2.538, 3.457, 4.559",\
                 "0.1416, 0.1884, 0.3086, 0.494, 0.78, 1.207, 1.79, 2.54, 3.457, 4.555",\
                 "0.1414, 0.1884, 0.3084, 0.4936, 0.779, 1.207, 1.793, 2.54, 3.458, 4.556");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1584, 0.2218, 0.4246, 0.7826, 1.368, 2.219, 3.35, 4.781, 6.53, 8.611",\
                 "0.1588, 0.2224, 0.425, 0.7822, 1.369, 2.219, 3.35, 4.78, 6.523, 8.606",\
                 "0.1592, 0.2222, 0.4248, 0.7822, 1.367, 2.219, 3.354, 4.783, 6.527, 8.61",\
                 "0.1592, 0.222, 0.4244, 0.7826, 1.367, 2.219, 3.351, 4.78, 6.527, 8.619",\
                 "0.1586, 0.2218, 0.4248, 0.7828, 1.369, 2.219, 3.349, 4.78, 6.524, 8.607",\
                 "0.1582, 0.2214, 0.4238, 0.7832, 1.367, 2.218, 3.353, 4.778, 6.522, 8.607",\
                 "0.1594, 0.2212, 0.4244, 0.7828, 1.366, 2.219, 3.347, 4.78, 6.536, 8.609",\
                 "0.1588, 0.222, 0.4244, 0.7826, 1.367, 2.216, 3.348, 4.782, 6.531, 8.612",\
                 "0.1586, 0.2218, 0.4244, 0.7826, 1.367, 2.217, 3.348, 4.776, 6.532, 8.595",\
                 "0.1592, 0.2218, 0.424, 0.7826, 1.367, 2.22, 3.35, 4.776, 6.519, 8.602");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.077, 1.127, 1.249, 1.417, 1.633, 1.912, 2.271, 2.72, 3.269, 3.924",\
                 "1.09, 1.14, 1.262, 1.431, 1.647, 1.926, 2.284, 2.734, 3.283, 3.937",\
                 "1.141, 1.191, 1.313, 1.482, 1.698, 1.977, 2.335, 2.785, 3.334, 3.988",\
                 "1.217, 1.267, 1.389, 1.558, 1.774, 2.053, 2.411, 2.861, 3.41, 4.064",\
                 "1.281, 1.331, 1.453, 1.622, 1.837, 2.116, 2.475, 2.924, 3.473, 4.128",\
                 "1.329, 1.379, 1.501, 1.67, 1.886, 2.165, 2.523, 2.973, 3.522, 4.176",\
                 "1.36, 1.41, 1.532, 1.701, 1.917, 2.196, 2.554, 3.004, 3.553, 4.207",\
                 "1.369, 1.419, 1.541, 1.71, 1.926, 2.205, 2.563, 3.013, 3.562, 4.215",\
                 "1.352, 1.402, 1.525, 1.694, 1.909, 2.188, 2.547, 2.997, 3.545, 4.199",\
                 "1.309, 1.359, 1.481, 1.65, 1.866, 2.145, 2.503, 2.953, 3.501, 4.156");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("1.206, 1.264, 1.419, 1.665, 2.018, 2.506, 3.15, 3.96, 4.949, 6.129",\
                 "1.219, 1.277, 1.433, 1.679, 2.032, 2.52, 3.163, 3.974, 4.965, 6.142",\
                 "1.269, 1.327, 1.483, 1.729, 2.082, 2.57, 3.212, 4.023, 5.014, 6.193",\
                 "1.343, 1.401, 1.557, 1.803, 2.156, 2.644, 3.287, 4.098, 5.088, 6.268",\
                 "1.405, 1.463, 1.619, 1.865, 2.218, 2.706, 3.349, 4.16, 5.151, 6.328",\
                 "1.454, 1.511, 1.667, 1.913, 2.266, 2.755, 3.397, 4.207, 5.196, 6.379",\
                 "1.484, 1.542, 1.697, 1.944, 2.296, 2.785, 3.427, 4.239, 5.229, 6.408",\
                 "1.495, 1.553, 1.708, 1.955, 2.308, 2.796, 3.438, 4.248, 5.237, 6.417",\
                 "1.482, 1.54, 1.696, 1.942, 2.295, 2.783, 3.426, 4.236, 5.224, 6.403",\
                 "1.443, 1.501, 1.657, 1.903, 2.256, 2.745, 3.388, 4.197, 5.186, 6.365");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1418, 0.1886, 0.3084, 0.4938, 0.7796, 1.207, 1.79, 2.541, 3.464, 4.565",\
                 "0.1418, 0.1888, 0.3084, 0.4936, 0.779, 1.207, 1.791, 2.542, 3.464, 4.566",\
                 "0.1418, 0.1886, 0.3084, 0.4936, 0.7798, 1.206, 1.79, 2.542, 3.462, 4.565",\
                 "0.1418, 0.1888, 0.3084, 0.4936, 0.779, 1.207, 1.791, 2.541, 3.464, 4.565",\
                 "0.1414, 0.1884, 0.3084, 0.4946, 0.7802, 1.207, 1.79, 2.542, 3.463, 4.566",\
                 "0.1414, 0.1888, 0.3084, 0.4936, 0.7788, 1.205, 1.792, 2.541, 3.464, 4.565",\
                 "0.1414, 0.1884, 0.3084, 0.4934, 0.7798, 1.205, 1.788, 2.538, 3.462, 4.566",\
                 "0.1416, 0.1884, 0.3084, 0.4936, 0.7798, 1.206, 1.789, 2.538, 3.457, 4.559",\
                 "0.1416, 0.1884, 0.3086, 0.494, 0.78, 1.207, 1.79, 2.54, 3.457, 4.555",\
                 "0.1414, 0.1884, 0.3084, 0.4936, 0.779, 1.207, 1.793, 2.54, 3.458, 4.556");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1594, 0.2218, 0.425, 0.7828, 1.366, 2.219, 3.349, 4.78, 6.526, 8.611",\
                 "0.1584, 0.222, 0.4246, 0.7826, 1.369, 2.219, 3.351, 4.78, 6.527, 8.619",\
                 "0.1594, 0.2218, 0.4248, 0.7826, 1.369, 2.219, 3.349, 4.788, 6.525, 8.611",\
                 "0.1596, 0.2224, 0.425, 0.7826, 1.366, 2.218, 3.348, 4.78, 6.523, 8.604",\
                 "0.1584, 0.2218, 0.4242, 0.7826, 1.367, 2.219, 3.351, 4.786, 6.527, 8.618",\
                 "0.158, 0.2216, 0.4238, 0.7832, 1.369, 2.22, 3.351, 4.78, 6.532, 8.609",\
                 "0.1586, 0.2216, 0.4244, 0.783, 1.366, 2.219, 3.352, 4.782, 6.527, 8.607",\
                 "0.1588, 0.222, 0.4248, 0.7822, 1.367, 2.22, 3.348, 4.779, 6.53, 8.603",\
                 "0.159, 0.2214, 0.4244, 0.7832, 1.367, 2.217, 3.348, 4.776, 6.532, 8.595",\
                 "0.1584, 0.221, 0.4246, 0.7834, 1.367, 2.22, 3.351, 4.776, 6.521, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4442, 0.4956, 0.6184, 0.7869, 0.9954, 1.268, 1.623, 2.072, 2.62, 3.275",\
                 "0.4612, 0.5125, 0.6353, 0.8039, 1.012, 1.285, 1.64, 2.089, 2.637, 3.292",\
                 "0.5269, 0.578, 0.7007, 0.8693, 1.078, 1.35, 1.706, 2.154, 2.702, 3.358",\
                 "0.6601, 0.7111, 0.8332, 1.001, 1.21, 1.482, 1.837, 2.286, 2.834, 3.489",\
                 "0.8495, 0.9036, 1.03, 1.199, 1.407, 1.678, 2.033, 2.481, 3.029, 3.684",\
                 "1.062, 1.12, 1.256, 1.433, 1.643, 1.913, 2.266, 2.714, 3.261, 3.914",\
                 "1.303, 1.366, 1.511, 1.695, 1.906, 2.175, 2.528, 2.974, 3.521, 4.174",\
                 "1.575, 1.642, 1.796, 1.987, 2.2, 2.467, 2.818, 3.263, 3.809, 4.461",\
                 "1.876, 1.947, 2.111, 2.31, 2.523, 2.788, 3.137, 3.581, 4.126, 4.778",\
                 "2.208, 2.284, 2.456, 2.664, 2.877, 3.14, 3.487, 3.93, 4.473, 5.123");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1455, 0.1924, 0.31, 0.4849, 0.7529, 1.18, 1.772, 2.527, 3.453, 4.551",\
                 "0.1457, 0.1925, 0.3096, 0.4848, 0.7529, 1.179, 1.772, 2.528, 3.453, 4.554",\
                 "0.1452, 0.1923, 0.3101, 0.4847, 0.7528, 1.18, 1.772, 2.528, 3.453, 4.554",\
                 "0.1458, 0.1932, 0.3112, 0.4854, 0.7526, 1.179, 1.773, 2.528, 3.453, 4.556",\
                 "0.1706, 0.217, 0.3284, 0.4944, 0.7554, 1.179, 1.773, 2.528, 3.453, 4.556",\
                 "0.1988, 0.25, 0.364, 0.5206, 0.7644, 1.183, 1.772, 2.529, 3.453, 4.555",\
                 "0.2282, 0.2832, 0.4002, 0.5468, 0.7758, 1.187, 1.772, 2.527, 3.448, 4.553",\
                 "0.2634, 0.3196, 0.4408, 0.5738, 0.787, 1.189, 1.774, 2.525, 3.445, 4.546",\
                 "0.2974, 0.358, 0.4846, 0.6042, 0.7988, 1.192, 1.774, 2.529, 3.448, 4.543",\
                 "0.3352, 0.3996, 0.5296, 0.6356, 0.8112, 1.196, 1.778, 2.53, 3.449, 4.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4441, 0.4954, 0.6183, 0.7869, 0.9954, 1.267, 1.623, 2.072, 2.62, 3.275",\
                 "0.4612, 0.5125, 0.6353, 0.8039, 1.012, 1.285, 1.64, 2.089, 2.637, 3.292",\
                 "0.5269, 0.578, 0.7007, 0.8693, 1.078, 1.35, 1.706, 2.154, 2.702, 3.358",\
                 "0.6601, 0.7111, 0.8333, 1.001, 1.21, 1.482, 1.837, 2.286, 2.834, 3.489",\
                 "0.8495, 0.9036, 1.03, 1.199, 1.407, 1.678, 2.033, 2.481, 3.029, 3.684",\
                 "1.062, 1.121, 1.256, 1.433, 1.643, 1.913, 2.266, 2.714, 3.261, 3.915",\
                 "1.303, 1.366, 1.511, 1.695, 1.906, 2.175, 2.528, 2.974, 3.521, 4.174",\
                 "1.575, 1.642, 1.796, 1.987, 2.199, 2.467, 2.818, 3.263, 3.809, 4.461",\
                 "1.876, 1.947, 2.111, 2.31, 2.523, 2.789, 3.137, 3.581, 4.126, 4.778",\
                 "2.208, 2.283, 2.456, 2.664, 2.877, 3.14, 3.487, 3.93, 4.473, 5.123");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1455, 0.1931, 0.3096, 0.4844, 0.7529, 1.179, 1.771, 2.528, 3.453, 4.55",\
                 "0.1457, 0.1925, 0.3096, 0.4848, 0.7529, 1.179, 1.772, 2.528, 3.453, 4.554",\
                 "0.1452, 0.1923, 0.3101, 0.4847, 0.7528, 1.18, 1.772, 2.528, 3.453, 4.554",\
                 "0.1456, 0.1932, 0.311, 0.4854, 0.7524, 1.179, 1.773, 2.528, 3.453, 4.556",\
                 "0.1706, 0.217, 0.3284, 0.4942, 0.7548, 1.179, 1.773, 2.528, 3.453, 4.556",\
                 "0.2002, 0.2504, 0.3638, 0.5202, 0.7644, 1.182, 1.772, 2.528, 3.453, 4.556",\
                 "0.2286, 0.2832, 0.4002, 0.5468, 0.7762, 1.186, 1.772, 2.526, 3.447, 4.553",\
                 "0.2628, 0.3198, 0.44, 0.5738, 0.787, 1.19, 1.774, 2.525, 3.446, 4.548",\
                 "0.2982, 0.358, 0.4844, 0.6034, 0.7982, 1.193, 1.776, 2.529, 3.448, 4.544",\
                 "0.3356, 0.3994, 0.5296, 0.6356, 0.811, 1.196, 1.778, 2.531, 3.449, 4.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4442, 0.4955, 0.6184, 0.7869, 0.9954, 1.268, 1.623, 2.072, 2.62, 3.275",\
                 "0.4612, 0.5125, 0.6353, 0.8039, 1.012, 1.285, 1.64, 2.089, 2.637, 3.292",\
                 "0.5269, 0.578, 0.7007, 0.8693, 1.078, 1.35, 1.706, 2.154, 2.702, 3.358",\
                 "0.6601, 0.7111, 0.8332, 1.001, 1.21, 1.482, 1.837, 2.286, 2.834, 3.489",\
                 "0.8495, 0.9036, 1.03, 1.199, 1.407, 1.678, 2.033, 2.481, 3.029, 3.684",\
                 "1.062, 1.121, 1.256, 1.433, 1.643, 1.913, 2.266, 2.714, 3.261, 3.915",\
                 "1.303, 1.366, 1.511, 1.695, 1.906, 2.175, 2.528, 2.974, 3.521, 4.174",\
                 "1.575, 1.642, 1.796, 1.988, 2.199, 2.467, 2.818, 3.263, 3.809, 4.461",\
                 "1.876, 1.947, 2.111, 2.31, 2.523, 2.788, 3.137, 3.581, 4.126, 4.778",\
                 "2.209, 2.283, 2.457, 2.664, 2.877, 3.14, 3.487, 3.93, 4.473, 5.123");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1455, 0.1924, 0.31, 0.4849, 0.7529, 1.18, 1.772, 2.527, 3.453, 4.551",\
                 "0.1457, 0.1925, 0.3096, 0.4848, 0.7529, 1.179, 1.772, 2.528, 3.453, 4.554",\
                 "0.1452, 0.1923, 0.3101, 0.4847, 0.7528, 1.18, 1.772, 2.528, 3.453, 4.554",\
                 "0.1458, 0.1932, 0.3112, 0.4854, 0.7528, 1.18, 1.772, 2.528, 3.453, 4.556",\
                 "0.1706, 0.217, 0.3284, 0.4944, 0.7556, 1.179, 1.773, 2.528, 3.453, 4.556",\
                 "0.1988, 0.2496, 0.3636, 0.5204, 0.7644, 1.183, 1.772, 2.528, 3.452, 4.556",\
                 "0.2282, 0.2832, 0.4002, 0.5464, 0.7766, 1.187, 1.772, 2.527, 3.448, 4.553",\
                 "0.2634, 0.3198, 0.4404, 0.5738, 0.7872, 1.189, 1.775, 2.526, 3.446, 4.548",\
                 "0.2982, 0.358, 0.484, 0.6044, 0.7988, 1.193, 1.775, 2.529, 3.446, 4.544",\
                 "0.3344, 0.3994, 0.5302, 0.6356, 0.8112, 1.196, 1.778, 2.53, 3.449, 4.547");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4443, 0.4956, 0.6184, 0.7869, 0.9954, 1.268, 1.623, 2.072, 2.62, 3.275",\
                 "0.4612, 0.5126, 0.6353, 0.804, 1.012, 1.285, 1.64, 2.089, 2.637, 3.292",\
                 "0.5267, 0.578, 0.7007, 0.8694, 1.078, 1.35, 1.705, 2.154, 2.703, 3.358",\
                 "0.66, 0.711, 0.8331, 1.001, 1.209, 1.481, 1.837, 2.285, 2.833, 3.489",\
                 "0.8493, 0.9035, 1.03, 1.199, 1.407, 1.678, 2.033, 2.481, 3.029, 3.684",\
                 "1.062, 1.121, 1.256, 1.433, 1.643, 1.913, 2.266, 2.714, 3.261, 3.915",\
                 "1.303, 1.366, 1.511, 1.695, 1.906, 2.175, 2.528, 2.974, 3.521, 4.174",\
                 "1.575, 1.642, 1.796, 1.988, 2.2, 2.467, 2.818, 3.263, 3.809, 4.461",\
                 "1.876, 1.948, 2.111, 2.311, 2.523, 2.788, 3.138, 3.581, 4.127, 4.778",\
                 "2.208, 2.284, 2.457, 2.664, 2.877, 3.14, 3.487, 3.929, 4.473, 5.124");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1456, 0.1923, 0.3101, 0.4849, 0.753, 1.179, 1.772, 2.528, 3.453, 4.553",\
                 "0.146, 0.1923, 0.3099, 0.4848, 0.7528, 1.18, 1.772, 2.528, 3.453, 4.553",\
                 "0.1456, 0.193, 0.3098, 0.4846, 0.753, 1.18, 1.771, 2.526, 3.451, 4.556",\
                 "0.1458, 0.1932, 0.3108, 0.4854, 0.7524, 1.179, 1.772, 2.528, 3.453, 4.556",\
                 "0.17, 0.2168, 0.3284, 0.4944, 0.7554, 1.179, 1.773, 2.528, 3.453, 4.556",\
                 "0.1992, 0.2498, 0.364, 0.5202, 0.7646, 1.182, 1.772, 2.525, 3.452, 4.555",\
                 "0.2286, 0.2834, 0.4002, 0.5466, 0.7762, 1.186, 1.772, 2.526, 3.449, 4.548",\
                 "0.2626, 0.3202, 0.4408, 0.5736, 0.7872, 1.189, 1.774, 2.525, 3.446, 4.546",\
                 "0.2978, 0.359, 0.4846, 0.6034, 0.798, 1.192, 1.775, 2.529, 3.448, 4.543",\
                 "0.336, 0.3992, 0.53, 0.6354, 0.8108, 1.197, 1.777, 2.53, 3.45, 4.547");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4443, 0.4956, 0.6184, 0.7869, 0.9954, 1.268, 1.623, 2.072, 2.62, 3.275",\
                 "0.4612, 0.5126, 0.6354, 0.804, 1.012, 1.285, 1.64, 2.089, 2.637, 3.292",\
                 "0.5267, 0.578, 0.7007, 0.8694, 1.078, 1.35, 1.705, 2.154, 2.703, 3.358",\
                 "0.66, 0.711, 0.8331, 1.001, 1.209, 1.481, 1.837, 2.286, 2.833, 3.489",\
                 "0.8494, 0.9034, 1.03, 1.199, 1.407, 1.678, 2.033, 2.481, 3.029, 3.684",\
                 "1.062, 1.12, 1.256, 1.433, 1.643, 1.913, 2.266, 2.714, 3.261, 3.915",\
                 "1.303, 1.366, 1.511, 1.695, 1.906, 2.175, 2.528, 2.974, 3.521, 4.174",\
                 "1.575, 1.642, 1.796, 1.988, 2.199, 2.467, 2.818, 3.263, 3.809, 4.461",\
                 "1.876, 1.947, 2.111, 2.311, 2.523, 2.788, 3.138, 3.582, 4.126, 4.778",\
                 "2.209, 2.284, 2.457, 2.664, 2.877, 3.14, 3.487, 3.929, 4.473, 5.124");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1456, 0.1923, 0.3101, 0.4849, 0.753, 1.179, 1.772, 2.528, 3.453, 4.553",\
                 "0.146, 0.1923, 0.3099, 0.4848, 0.753, 1.18, 1.772, 2.528, 3.453, 4.556",\
                 "0.1456, 0.193, 0.3098, 0.4846, 0.753, 1.18, 1.771, 2.526, 3.451, 4.556",\
                 "0.1458, 0.1932, 0.311, 0.4854, 0.753, 1.18, 1.772, 2.528, 3.453, 4.556",\
                 "0.1698, 0.2168, 0.3286, 0.4942, 0.7554, 1.18, 1.773, 2.528, 3.453, 4.556",\
                 "0.1992, 0.25, 0.3638, 0.5204, 0.7648, 1.183, 1.772, 2.525, 3.452, 4.556",\
                 "0.229, 0.283, 0.4002, 0.547, 0.7764, 1.186, 1.772, 2.526, 3.451, 4.548",\
                 "0.2616, 0.3204, 0.4408, 0.5738, 0.7874, 1.189, 1.775, 2.525, 3.446, 4.546",\
                 "0.2974, 0.3588, 0.4844, 0.6036, 0.7988, 1.192, 1.775, 2.526, 3.447, 4.544",\
                 "0.3344, 0.3992, 0.5302, 0.6354, 0.8108, 1.197, 1.777, 2.53, 3.448, 4.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4443, 0.4956, 0.6184, 0.7869, 0.9954, 1.268, 1.623, 2.072, 2.62, 3.275",\
                 "0.4612, 0.5126, 0.6354, 0.804, 1.012, 1.285, 1.64, 2.089, 2.637, 3.292",\
                 "0.5267, 0.578, 0.7007, 0.8694, 1.078, 1.35, 1.705, 2.154, 2.703, 3.358",\
                 "0.66, 0.711, 0.8331, 1.001, 1.209, 1.481, 1.837, 2.286, 2.834, 3.489",\
                 "0.8494, 0.9034, 1.03, 1.199, 1.407, 1.678, 2.033, 2.481, 3.029, 3.684",\
                 "1.062, 1.121, 1.256, 1.433, 1.643, 1.913, 2.266, 2.714, 3.261, 3.915",\
                 "1.303, 1.366, 1.511, 1.695, 1.906, 2.175, 2.528, 2.974, 3.521, 4.174",\
                 "1.575, 1.642, 1.796, 1.988, 2.2, 2.467, 2.818, 3.263, 3.809, 4.461",\
                 "1.876, 1.947, 2.111, 2.311, 2.523, 2.788, 3.138, 3.582, 4.126, 4.778",\
                 "2.209, 2.284, 2.457, 2.664, 2.877, 3.14, 3.487, 3.929, 4.473, 5.124");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1456, 0.1923, 0.3101, 0.4849, 0.753, 1.179, 1.772, 2.528, 3.453, 4.553",\
                 "0.146, 0.1923, 0.3099, 0.4848, 0.753, 1.18, 1.772, 2.528, 3.453, 4.556",\
                 "0.1456, 0.193, 0.3098, 0.4846, 0.753, 1.18, 1.771, 2.526, 3.451, 4.556",\
                 "0.1458, 0.1932, 0.311, 0.4854, 0.753, 1.18, 1.771, 2.528, 3.453, 4.551",\
                 "0.1698, 0.2168, 0.3286, 0.4946, 0.7554, 1.179, 1.773, 2.528, 3.452, 4.557",\
                 "0.1992, 0.2498, 0.3638, 0.5204, 0.7648, 1.183, 1.773, 2.528, 3.453, 4.555",\
                 "0.229, 0.283, 0.4002, 0.547, 0.7764, 1.186, 1.772, 2.526, 3.451, 4.548",\
                 "0.2616, 0.3204, 0.4408, 0.5738, 0.7872, 1.189, 1.775, 2.525, 3.446, 4.546",\
                 "0.2978, 0.3588, 0.4844, 0.6036, 0.7988, 1.192, 1.775, 2.526, 3.447, 4.544",\
                 "0.3344, 0.3992, 0.53, 0.6354, 0.8108, 1.197, 1.777, 2.53, 3.448, 4.547");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4442, 0.4955, 0.6184, 0.7869, 0.9954, 1.268, 1.623, 2.072, 2.62, 3.275",\
                 "0.4612, 0.5125, 0.6353, 0.8039, 1.012, 1.285, 1.64, 2.089, 2.637, 3.292",\
                 "0.5269, 0.578, 0.7007, 0.8693, 1.078, 1.35, 1.706, 2.154, 2.702, 3.358",\
                 "0.6601, 0.7111, 0.8332, 1.001, 1.21, 1.482, 1.837, 2.286, 2.834, 3.489",\
                 "0.8495, 0.9036, 1.03, 1.199, 1.407, 1.678, 2.033, 2.481, 3.029, 3.684",\
                 "1.062, 1.121, 1.256, 1.433, 1.643, 1.913, 2.266, 2.714, 3.261, 3.915",\
                 "1.303, 1.366, 1.511, 1.695, 1.906, 2.175, 2.528, 2.974, 3.521, 4.174",\
                 "1.575, 1.642, 1.796, 1.988, 2.199, 2.467, 2.818, 3.263, 3.809, 4.461",\
                 "1.876, 1.947, 2.111, 2.31, 2.523, 2.789, 3.137, 3.581, 4.126, 4.777",\
                 "2.209, 2.283, 2.456, 2.664, 2.877, 3.14, 3.487, 3.93, 4.473, 5.123");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1455, 0.1924, 0.31, 0.4849, 0.7529, 1.18, 1.772, 2.527, 3.453, 4.551",\
                 "0.1457, 0.1925, 0.3096, 0.4848, 0.7529, 1.179, 1.772, 2.528, 3.453, 4.554",\
                 "0.1452, 0.1923, 0.3101, 0.4847, 0.7528, 1.18, 1.772, 2.528, 3.453, 4.554",\
                 "0.1458, 0.1932, 0.3112, 0.4854, 0.7528, 1.179, 1.772, 2.528, 3.453, 4.556",\
                 "0.1706, 0.217, 0.3284, 0.4944, 0.7556, 1.179, 1.773, 2.528, 3.453, 4.556",\
                 "0.199, 0.2498, 0.3638, 0.5204, 0.765, 1.182, 1.772, 2.528, 3.453, 4.555",\
                 "0.2286, 0.2832, 0.4002, 0.5468, 0.7758, 1.186, 1.772, 2.526, 3.447, 4.553",\
                 "0.2634, 0.3198, 0.4408, 0.574, 0.7872, 1.189, 1.775, 2.525, 3.446, 4.547",\
                 "0.2982, 0.358, 0.484, 0.6038, 0.7988, 1.193, 1.776, 2.529, 3.448, 4.544",\
                 "0.3344, 0.3994, 0.53, 0.6356, 0.811, 1.196, 1.778, 2.53, 3.449, 4.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4443, 0.4956, 0.6184, 0.7869, 0.9954, 1.268, 1.623, 2.072, 2.62, 3.274",\
                 "0.4612, 0.5126, 0.6353, 0.804, 1.012, 1.285, 1.64, 2.089, 2.637, 3.292",\
                 "0.5267, 0.578, 0.7007, 0.8694, 1.078, 1.35, 1.705, 2.154, 2.703, 3.358",\
                 "0.66, 0.711, 0.8331, 1.001, 1.209, 1.481, 1.837, 2.286, 2.834, 3.488",\
                 "0.8495, 0.9033, 1.03, 1.199, 1.407, 1.678, 2.033, 2.481, 3.029, 3.684",\
                 "1.062, 1.121, 1.256, 1.433, 1.643, 1.913, 2.267, 2.714, 3.261, 3.914",\
                 "1.303, 1.366, 1.511, 1.695, 1.906, 2.175, 2.528, 2.974, 3.521, 4.174",\
                 "1.575, 1.642, 1.796, 1.988, 2.2, 2.467, 2.818, 3.263, 3.809, 4.461",\
                 "1.876, 1.948, 2.111, 2.311, 2.523, 2.788, 3.138, 3.581, 4.127, 4.778",\
                 "2.209, 2.284, 2.457, 2.664, 2.877, 3.14, 3.487, 3.929, 4.473, 5.124");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1456, 0.1923, 0.3101, 0.4849, 0.753, 1.179, 1.772, 2.527, 3.452, 4.553",\
                 "0.146, 0.1923, 0.3099, 0.4848, 0.7528, 1.18, 1.772, 2.528, 3.453, 4.553",\
                 "0.1456, 0.193, 0.3098, 0.4846, 0.753, 1.18, 1.771, 2.526, 3.451, 4.556",\
                 "0.1458, 0.193, 0.3108, 0.4852, 0.7528, 1.179, 1.772, 2.528, 3.453, 4.556",\
                 "0.1702, 0.2166, 0.3284, 0.4944, 0.7554, 1.179, 1.772, 2.528, 3.451, 4.557",\
                 "0.1986, 0.25, 0.3638, 0.5204, 0.7644, 1.182, 1.773, 2.529, 3.453, 4.556",\
                 "0.229, 0.283, 0.4002, 0.547, 0.7764, 1.186, 1.772, 2.526, 3.449, 4.548",\
                 "0.2618, 0.3196, 0.44, 0.5742, 0.7878, 1.188, 1.773, 2.525, 3.446, 4.546",\
                 "0.2978, 0.3576, 0.4846, 0.604, 0.7986, 1.193, 1.776, 2.529, 3.447, 4.543",\
                 "0.3344, 0.3992, 0.53, 0.6354, 0.8112, 1.197, 1.776, 2.528, 3.45, 4.547");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.444, 0.4957, 0.6202, 0.7906, 1.006, 1.282, 1.638, 2.086, 2.634, 3.287",\
                 "0.4611, 0.5126, 0.6372, 0.8077, 1.023, 1.299, 1.654, 2.103, 2.651, 3.305",\
                 "0.5268, 0.5784, 0.7028, 0.8731, 1.088, 1.363, 1.719, 2.167, 2.715, 3.369",\
                 "0.6603, 0.7116, 0.8354, 1.005, 1.218, 1.492, 1.848, 2.296, 2.844, 3.498",\
                 "0.8507, 0.9051, 1.033, 1.203, 1.413, 1.685, 2.039, 2.487, 3.035, 3.689",\
                 "1.064, 1.123, 1.26, 1.437, 1.646, 1.916, 2.27, 2.718, 3.265, 3.918",\
                 "1.307, 1.37, 1.516, 1.698, 1.907, 2.176, 2.529, 2.975, 3.522, 4.175",\
                 "1.579, 1.647, 1.802, 1.989, 2.198, 2.466, 2.818, 3.263, 3.81, 4.462",\
                 "1.881, 1.952, 2.117, 2.311, 2.521, 2.788, 3.138, 3.583, 4.128, 4.78",\
                 "2.213, 2.289, 2.464, 2.666, 2.878, 3.144, 3.492, 3.936, 4.48, 5.132");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1453, 0.1934, 0.3127, 0.4965, 0.7723, 1.189, 1.774, 2.527, 3.45, 4.551",\
                 "0.1455, 0.1933, 0.3127, 0.4968, 0.7723, 1.189, 1.773, 2.526, 3.451, 4.552",\
                 "0.1456, 0.1935, 0.3127, 0.4961, 0.7706, 1.188, 1.774, 2.527, 3.449, 4.546",\
                 "0.1462, 0.1946, 0.314, 0.4946, 0.7654, 1.185, 1.773, 2.527, 3.451, 4.551",\
                 "0.1716, 0.219, 0.3314, 0.4984, 0.7598, 1.181, 1.771, 2.527, 3.451, 4.553",\
                 "0.2014, 0.2528, 0.3662, 0.5172, 0.763, 1.182, 1.771, 2.528, 3.452, 4.553",\
                 "0.2312, 0.2856, 0.4008, 0.537, 0.771, 1.185, 1.772, 2.526, 3.448, 4.552",\
                 "0.2652, 0.322, 0.4384, 0.5576, 0.7792, 1.187, 1.773, 2.525, 3.445, 4.547",\
                 "0.2996, 0.3618, 0.48, 0.5844, 0.7894, 1.191, 1.775, 2.528, 3.447, 4.543",\
                 "0.3392, 0.4032, 0.5266, 0.6184, 0.8038, 1.195, 1.776, 2.528, 3.449, 4.546");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.444, 0.4957, 0.6202, 0.7906, 1.006, 1.282, 1.638, 2.086, 2.634, 3.287",\
                 "0.4611, 0.5126, 0.6373, 0.8077, 1.023, 1.299, 1.654, 2.103, 2.651, 3.305",\
                 "0.5268, 0.5784, 0.7028, 0.8731, 1.088, 1.363, 1.719, 2.167, 2.715, 3.369",\
                 "0.6603, 0.7116, 0.8354, 1.005, 1.218, 1.492, 1.848, 2.296, 2.844, 3.498",\
                 "0.8508, 0.9051, 1.033, 1.203, 1.413, 1.685, 2.039, 2.487, 3.035, 3.689",\
                 "1.064, 1.123, 1.26, 1.437, 1.646, 1.916, 2.27, 2.718, 3.265, 3.918",\
                 "1.307, 1.37, 1.516, 1.698, 1.907, 2.176, 2.529, 2.976, 3.522, 4.175",\
                 "1.579, 1.647, 1.802, 1.989, 2.198, 2.466, 2.818, 3.263, 3.81, 4.462",\
                 "1.881, 1.952, 2.117, 2.311, 2.521, 2.788, 3.138, 3.583, 4.129, 4.78",\
                 "2.213, 2.289, 2.464, 2.666, 2.878, 3.144, 3.492, 3.936, 4.48, 5.132");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1453, 0.1934, 0.3127, 0.4965, 0.7723, 1.189, 1.774, 2.527, 3.45, 4.551",\
                 "0.1455, 0.1934, 0.3126, 0.4968, 0.7723, 1.189, 1.773, 2.526, 3.451, 4.552",\
                 "0.1456, 0.1935, 0.3127, 0.4961, 0.7706, 1.188, 1.774, 2.527, 3.449, 4.552",\
                 "0.1462, 0.1946, 0.314, 0.4946, 0.7654, 1.185, 1.773, 2.527, 3.451, 4.551",\
                 "0.1716, 0.219, 0.3314, 0.4984, 0.76, 1.181, 1.771, 2.528, 3.452, 4.553",\
                 "0.2014, 0.2528, 0.3662, 0.5172, 0.763, 1.182, 1.772, 2.528, 3.452, 4.553",\
                 "0.2314, 0.2856, 0.4008, 0.537, 0.771, 1.185, 1.772, 2.526, 3.447, 4.55",\
                 "0.2652, 0.322, 0.4384, 0.5586, 0.7792, 1.187, 1.773, 2.525, 3.445, 4.547",\
                 "0.2998, 0.3618, 0.4798, 0.5844, 0.7894, 1.191, 1.775, 2.529, 3.447, 4.544",\
                 "0.3392, 0.4032, 0.5266, 0.6184, 0.8036, 1.195, 1.775, 2.53, 3.449, 4.546");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.444, 0.4957, 0.6202, 0.7906, 1.006, 1.282, 1.638, 2.086, 2.634, 3.288",\
                 "0.4612, 0.5126, 0.6373, 0.8077, 1.023, 1.299, 1.654, 2.103, 2.651, 3.305",\
                 "0.5268, 0.5784, 0.7028, 0.8731, 1.088, 1.363, 1.719, 2.167, 2.715, 3.369",\
                 "0.6603, 0.7115, 0.8354, 1.005, 1.218, 1.492, 1.848, 2.296, 2.844, 3.498",\
                 "0.8508, 0.9053, 1.033, 1.203, 1.413, 1.685, 2.039, 2.488, 3.036, 3.689",\
                 "1.064, 1.123, 1.26, 1.437, 1.646, 1.916, 2.27, 2.718, 3.265, 3.918",\
                 "1.306, 1.37, 1.516, 1.698, 1.907, 2.176, 2.529, 2.976, 3.523, 4.175",\
                 "1.579, 1.647, 1.802, 1.989, 2.198, 2.466, 2.818, 3.263, 3.81, 4.462",\
                 "1.881, 1.953, 2.117, 2.311, 2.521, 2.788, 3.138, 3.583, 4.128, 4.78",\
                 "2.213, 2.289, 2.464, 2.666, 2.878, 3.144, 3.492, 3.936, 4.48, 5.131");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1453, 0.1934, 0.3127, 0.4964, 0.7723, 1.189, 1.774, 2.527, 3.45, 4.546",\
                 "0.1453, 0.1933, 0.3126, 0.4967, 0.7723, 1.189, 1.773, 2.526, 3.451, 4.552",\
                 "0.1456, 0.1935, 0.3127, 0.4961, 0.7706, 1.188, 1.774, 2.527, 3.449, 4.552",\
                 "0.1462, 0.1946, 0.314, 0.4946, 0.7654, 1.185, 1.773, 2.526, 3.451, 4.553",\
                 "0.1718, 0.2188, 0.331, 0.4984, 0.7598, 1.181, 1.771, 2.525, 3.451, 4.551",\
                 "0.2014, 0.2528, 0.3662, 0.5176, 0.763, 1.182, 1.772, 2.528, 3.452, 4.553",\
                 "0.231, 0.286, 0.4006, 0.537, 0.7704, 1.184, 1.772, 2.526, 3.449, 4.552",\
                 "0.2652, 0.3222, 0.438, 0.5586, 0.779, 1.188, 1.773, 2.525, 3.445, 4.548",\
                 "0.3004, 0.361, 0.4798, 0.5852, 0.79, 1.191, 1.775, 2.528, 3.447, 4.543",\
                 "0.3392, 0.4036, 0.5264, 0.6182, 0.8032, 1.195, 1.776, 2.53, 3.447, 4.548");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4441, 0.4957, 0.6202, 0.7906, 1.006, 1.282, 1.637, 2.086, 2.634, 3.288",\
                 "0.4612, 0.5126, 0.6372, 0.8077, 1.023, 1.299, 1.654, 2.103, 2.651, 3.305",\
                 "0.5268, 0.5784, 0.7028, 0.8731, 1.088, 1.363, 1.719, 2.167, 2.715, 3.369",\
                 "0.6604, 0.7116, 0.8355, 1.005, 1.218, 1.492, 1.848, 2.296, 2.844, 3.498",\
                 "0.8508, 0.9049, 1.033, 1.203, 1.413, 1.684, 2.039, 2.488, 3.036, 3.689",\
                 "1.064, 1.123, 1.261, 1.437, 1.646, 1.916, 2.27, 2.718, 3.265, 3.918",\
                 "1.307, 1.37, 1.516, 1.698, 1.907, 2.176, 2.529, 2.976, 3.522, 4.175",\
                 "1.579, 1.647, 1.802, 1.989, 2.198, 2.466, 2.818, 3.263, 3.81, 4.462",\
                 "1.881, 1.952, 2.117, 2.311, 2.521, 2.788, 3.138, 3.583, 4.128, 4.78",\
                 "2.213, 2.289, 2.464, 2.666, 2.878, 3.144, 3.492, 3.935, 4.48, 5.131");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1452, 0.1934, 0.3127, 0.4969, 0.7725, 1.189, 1.774, 2.525, 3.451, 4.552",\
                 "0.1453, 0.1932, 0.3127, 0.4968, 0.7722, 1.189, 1.773, 2.526, 3.451, 4.552",\
                 "0.1456, 0.1935, 0.3127, 0.4961, 0.7706, 1.188, 1.774, 2.524, 3.449, 4.552",\
                 "0.146, 0.1946, 0.3136, 0.4948, 0.7652, 1.184, 1.773, 2.527, 3.451, 4.552",\
                 "0.1716, 0.219, 0.3312, 0.4984, 0.7598, 1.182, 1.773, 2.525, 3.451, 4.551",\
                 "0.2016, 0.253, 0.3662, 0.5172, 0.7636, 1.182, 1.772, 2.528, 3.451, 4.553",\
                 "0.2318, 0.2862, 0.401, 0.5368, 0.7704, 1.185, 1.772, 2.525, 3.449, 4.552",\
                 "0.2654, 0.3226, 0.4384, 0.5586, 0.7792, 1.187, 1.775, 2.525, 3.445, 4.547",\
                 "0.3006, 0.3616, 0.4802, 0.5844, 0.79, 1.191, 1.775, 2.529, 3.448, 4.543",\
                 "0.3398, 0.4038, 0.5268, 0.6188, 0.8034, 1.195, 1.776, 2.529, 3.448, 4.546");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4441, 0.4957, 0.6202, 0.7906, 1.006, 1.282, 1.637, 2.086, 2.634, 3.288",\
                 "0.4612, 0.5126, 0.6373, 0.8077, 1.023, 1.299, 1.654, 2.103, 2.651, 3.305",\
                 "0.5268, 0.5784, 0.7028, 0.8731, 1.088, 1.363, 1.719, 2.167, 2.715, 3.369",\
                 "0.6604, 0.7117, 0.8355, 1.005, 1.218, 1.492, 1.848, 2.296, 2.844, 3.498",\
                 "0.8508, 0.905, 1.033, 1.203, 1.413, 1.684, 2.039, 2.487, 3.035, 3.689",\
                 "1.064, 1.123, 1.261, 1.437, 1.646, 1.916, 2.27, 2.718, 3.265, 3.918",\
                 "1.307, 1.37, 1.516, 1.698, 1.907, 2.176, 2.529, 2.975, 3.522, 4.175",\
                 "1.579, 1.647, 1.802, 1.989, 2.198, 2.466, 2.818, 3.263, 3.81, 4.462",\
                 "1.881, 1.952, 2.117, 2.311, 2.521, 2.788, 3.138, 3.583, 4.128, 4.78",\
                 "2.213, 2.288, 2.464, 2.666, 2.878, 3.144, 3.492, 3.936, 4.48, 5.131");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1452, 0.1934, 0.3127, 0.4969, 0.7725, 1.189, 1.774, 2.525, 3.451, 4.552",\
                 "0.1453, 0.1933, 0.3126, 0.4967, 0.7723, 1.189, 1.773, 2.526, 3.451, 4.552",\
                 "0.1456, 0.1935, 0.3127, 0.4961, 0.7706, 1.188, 1.774, 2.524, 3.449, 4.553",\
                 "0.146, 0.1946, 0.3136, 0.4946, 0.7652, 1.184, 1.773, 2.527, 3.451, 4.552",\
                 "0.1714, 0.2196, 0.3312, 0.4984, 0.7598, 1.181, 1.771, 2.527, 3.452, 4.553",\
                 "0.2016, 0.253, 0.3664, 0.5172, 0.7636, 1.182, 1.772, 2.528, 3.451, 4.553",\
                 "0.2318, 0.2858, 0.401, 0.5372, 0.7704, 1.185, 1.772, 2.526, 3.447, 4.55",\
                 "0.2654, 0.3226, 0.4384, 0.5576, 0.7792, 1.187, 1.773, 2.525, 3.445, 4.547",\
                 "0.3004, 0.361, 0.48, 0.5846, 0.7898, 1.191, 1.774, 2.529, 3.447, 4.543",\
                 "0.3384, 0.4036, 0.5268, 0.6184, 0.804, 1.195, 1.776, 2.53, 3.45, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4441, 0.4957, 0.6202, 0.7906, 1.006, 1.282, 1.637, 2.086, 2.634, 3.288",\
                 "0.4612, 0.5126, 0.6373, 0.8077, 1.023, 1.299, 1.654, 2.103, 2.651, 3.305",\
                 "0.5268, 0.5784, 0.7028, 0.8731, 1.088, 1.363, 1.719, 2.167, 2.715, 3.369",\
                 "0.6604, 0.7116, 0.8355, 1.005, 1.218, 1.492, 1.848, 2.296, 2.844, 3.498",\
                 "0.8508, 0.9049, 1.033, 1.203, 1.413, 1.685, 2.039, 2.488, 3.036, 3.689",\
                 "1.064, 1.123, 1.261, 1.437, 1.646, 1.916, 2.27, 2.718, 3.265, 3.918",\
                 "1.307, 1.37, 1.516, 1.698, 1.907, 2.176, 2.529, 2.976, 3.522, 4.175",\
                 "1.579, 1.647, 1.802, 1.989, 2.198, 2.466, 2.818, 3.263, 3.81, 4.462",\
                 "1.881, 1.952, 2.117, 2.311, 2.521, 2.788, 3.138, 3.583, 4.128, 4.78",\
                 "2.213, 2.289, 2.464, 2.666, 2.878, 3.144, 3.492, 3.936, 4.48, 5.131");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1452, 0.1934, 0.3127, 0.4969, 0.7725, 1.189, 1.774, 2.525, 3.451, 4.552",\
                 "0.1453, 0.1933, 0.3126, 0.4968, 0.7723, 1.189, 1.773, 2.526, 3.451, 4.552",\
                 "0.1456, 0.1935, 0.3127, 0.4961, 0.7706, 1.188, 1.774, 2.524, 3.449, 4.553",\
                 "0.146, 0.1946, 0.3136, 0.4946, 0.7652, 1.184, 1.773, 2.527, 3.451, 4.552",\
                 "0.1714, 0.2192, 0.3312, 0.4982, 0.7598, 1.182, 1.773, 2.525, 3.451, 4.55",\
                 "0.2016, 0.253, 0.3666, 0.5172, 0.7636, 1.183, 1.772, 2.528, 3.451, 4.553",\
                 "0.2318, 0.2858, 0.401, 0.5372, 0.7704, 1.185, 1.772, 2.526, 3.447, 4.55",\
                 "0.2654, 0.3226, 0.4384, 0.5576, 0.7792, 1.187, 1.773, 2.525, 3.445, 4.547",\
                 "0.3004, 0.361, 0.48, 0.5846, 0.7898, 1.191, 1.774, 2.529, 3.447, 4.543",\
                 "0.3384, 0.4032, 0.5268, 0.6184, 0.804, 1.195, 1.776, 2.53, 3.448, 4.544");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.444, 0.4957, 0.6202, 0.7906, 1.006, 1.282, 1.638, 2.086, 2.634, 3.288",\
                 "0.4612, 0.5126, 0.6373, 0.8077, 1.023, 1.299, 1.654, 2.103, 2.651, 3.305",\
                 "0.5268, 0.5784, 0.7028, 0.8731, 1.088, 1.363, 1.719, 2.167, 2.715, 3.369",\
                 "0.6603, 0.7116, 0.8354, 1.005, 1.218, 1.492, 1.848, 2.296, 2.844, 3.498",\
                 "0.8508, 0.905, 1.033, 1.203, 1.413, 1.685, 2.039, 2.487, 3.036, 3.689",\
                 "1.064, 1.123, 1.26, 1.437, 1.646, 1.916, 2.27, 2.718, 3.265, 3.918",\
                 "1.307, 1.37, 1.516, 1.698, 1.907, 2.176, 2.529, 2.975, 3.522, 4.175",\
                 "1.579, 1.647, 1.802, 1.989, 2.198, 2.466, 2.818, 3.263, 3.81, 4.462",\
                 "1.881, 1.953, 2.117, 2.311, 2.521, 2.788, 3.138, 3.583, 4.128, 4.78",\
                 "2.213, 2.288, 2.464, 2.666, 2.878, 3.144, 3.492, 3.936, 4.48, 5.131");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1453, 0.1934, 0.3127, 0.4964, 0.7723, 1.189, 1.774, 2.527, 3.45, 4.546",\
                 "0.1453, 0.1933, 0.3126, 0.4967, 0.7723, 1.189, 1.773, 2.526, 3.451, 4.552",\
                 "0.1456, 0.1935, 0.3127, 0.4961, 0.7706, 1.188, 1.774, 2.527, 3.449, 4.552",\
                 "0.1462, 0.1946, 0.314, 0.4946, 0.7654, 1.185, 1.773, 2.527, 3.451, 4.551",\
                 "0.1718, 0.2192, 0.3312, 0.4984, 0.7598, 1.182, 1.773, 2.528, 3.451, 4.551",\
                 "0.2012, 0.2528, 0.3662, 0.5176, 0.763, 1.182, 1.772, 2.528, 3.451, 4.553",\
                 "0.2314, 0.286, 0.4008, 0.537, 0.7712, 1.186, 1.772, 2.526, 3.446, 4.55",\
                 "0.2652, 0.322, 0.4382, 0.5586, 0.779, 1.188, 1.773, 2.525, 3.446, 4.548",\
                 "0.3002, 0.3614, 0.48, 0.5848, 0.7896, 1.191, 1.775, 2.529, 3.448, 4.543",\
                 "0.3392, 0.4038, 0.5264, 0.618, 0.8032, 1.195, 1.778, 2.53, 3.447, 4.546");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.4441, 0.4957, 0.6202, 0.7906, 1.006, 1.282, 1.637, 2.086, 2.634, 3.288",\
                 "0.4611, 0.5126, 0.6372, 0.8077, 1.023, 1.299, 1.654, 2.103, 2.651, 3.305",\
                 "0.5268, 0.5784, 0.7028, 0.8731, 1.088, 1.363, 1.719, 2.167, 2.715, 3.369",\
                 "0.6604, 0.7116, 0.8355, 1.005, 1.218, 1.492, 1.848, 2.296, 2.844, 3.498",\
                 "0.8508, 0.905, 1.033, 1.203, 1.413, 1.684, 2.039, 2.488, 3.036, 3.689",\
                 "1.064, 1.123, 1.261, 1.437, 1.646, 1.916, 2.27, 2.718, 3.265, 3.918",\
                 "1.307, 1.37, 1.516, 1.698, 1.907, 2.176, 2.529, 2.976, 3.522, 4.175",\
                 "1.579, 1.647, 1.802, 1.989, 2.198, 2.466, 2.818, 3.263, 3.81, 4.462",\
                 "1.881, 1.952, 2.118, 2.311, 2.521, 2.788, 3.138, 3.583, 4.129, 4.78",\
                 "2.213, 2.289, 2.464, 2.666, 2.878, 3.144, 3.492, 3.936, 4.48, 5.131");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1452, 0.1934, 0.3127, 0.4969, 0.7725, 1.189, 1.774, 2.525, 3.451, 4.552",\
                 "0.1453, 0.1932, 0.3127, 0.4968, 0.7723, 1.189, 1.773, 2.526, 3.451, 4.552",\
                 "0.1456, 0.1935, 0.3127, 0.4961, 0.7706, 1.188, 1.774, 2.524, 3.449, 4.551",\
                 "0.146, 0.1946, 0.3136, 0.4948, 0.7652, 1.184, 1.773, 2.527, 3.451, 4.552",\
                 "0.1714, 0.2188, 0.3312, 0.4984, 0.7596, 1.182, 1.773, 2.525, 3.451, 4.551",\
                 "0.2016, 0.253, 0.3662, 0.5172, 0.7632, 1.182, 1.772, 2.528, 3.451, 4.553",\
                 "0.2318, 0.2852, 0.401, 0.5368, 0.7704, 1.185, 1.772, 2.525, 3.449, 4.553",\
                 "0.2662, 0.3226, 0.4384, 0.5578, 0.7786, 1.187, 1.774, 2.526, 3.446, 4.546",\
                 "0.3004, 0.361, 0.4802, 0.5842, 0.7896, 1.191, 1.775, 2.529, 3.447, 4.543",\
                 "0.3392, 0.4026, 0.5266, 0.6182, 0.8036, 1.195, 1.776, 2.529, 3.447, 4.546");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.444, 0.4957, 0.6202, 0.7906, 1.006, 1.282, 1.638, 2.086, 2.634, 3.287",\
                 "0.4611, 0.5126, 0.6373, 0.8077, 1.023, 1.299, 1.654, 2.103, 2.651, 3.305",\
                 "0.5268, 0.5784, 0.7028, 0.8731, 1.088, 1.363, 1.719, 2.167, 2.715, 3.369",\
                 "0.6603, 0.7116, 0.8354, 1.005, 1.218, 1.492, 1.848, 2.296, 2.844, 3.498",\
                 "0.8508, 0.9051, 1.033, 1.203, 1.413, 1.685, 2.039, 2.487, 3.035, 3.689",\
                 "1.064, 1.123, 1.26, 1.437, 1.646, 1.916, 2.27, 2.718, 3.265, 3.918",\
                 "1.307, 1.37, 1.516, 1.698, 1.907, 2.176, 2.529, 2.976, 3.522, 4.175",\
                 "1.579, 1.647, 1.802, 1.989, 2.198, 2.466, 2.818, 3.263, 3.81, 4.462",\
                 "1.881, 1.952, 2.117, 2.311, 2.521, 2.788, 3.138, 3.583, 4.129, 4.78",\
                 "2.213, 2.289, 2.464, 2.666, 2.878, 3.144, 3.492, 3.936, 4.48, 5.132");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01089, 0.04559, 0.1119, 0.2151, 0.36, 0.5506, 0.7907, 1.084, 1.433");
          values("0.1456, 0.1923, 0.3101, 0.4849, 0.753, 1.179, 1.772, 2.527, 3.452, 4.553",\
                 "0.146, 0.1923, 0.3099, 0.4848, 0.7528, 1.18, 1.772, 2.528, 3.453, 4.553",\
                 "0.1456, 0.193, 0.3098, 0.4846, 0.753, 1.18, 1.771, 2.526, 3.451, 4.556",\
                 "0.1458, 0.193, 0.3108, 0.4852, 0.7528, 1.179, 1.772, 2.528, 3.453, 4.556",\
                 "0.1702, 0.2166, 0.3284, 0.4944, 0.7554, 1.179, 1.772, 2.528, 3.451, 4.557",\
                 "0.1986, 0.25, 0.3638, 0.5204, 0.7644, 1.182, 1.773, 2.529, 3.453, 4.556",\
                 "0.229, 0.283, 0.4002, 0.547, 0.7764, 1.186, 1.772, 2.526, 3.449, 4.548",\
                 "0.2618, 0.3196, 0.44, 0.5742, 0.7878, 1.188, 1.773, 2.525, 3.446, 4.546",\
                 "0.2978, 0.3576, 0.4846, 0.604, 0.7986, 1.193, 1.776, 2.529, 3.447, 4.543",\
                 "0.3344, 0.3992, 0.53, 0.6354, 0.8112, 1.197, 1.776, 2.528, 3.45, 4.547");
        }
      }
    }

    pin(RN) {
      capacitance : 0.006771 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.629 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02175, 0.0209, 0.0206, 0.02054, 0.02059, 0.02061, 0.02061, 0.02061, \
                 0.0206, 0.02061");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02058, -0.02057, -0.02052, -0.0205, -0.02048, -0.02056, -0.02056, \
                 -0.02055, -0.02055, -0.02058");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02174, 0.0209, 0.0206, 0.02054, 0.02058, 0.02062, 0.02061, 0.02061, \
                 0.0206, 0.02061");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02058, -0.02057, -0.02052, -0.0205, -0.02048, -0.02056, -0.02056, \
                 -0.02055, -0.02055, -0.02058");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02174, 0.0209, 0.0206, 0.02054, 0.02058, 0.02062, 0.02062, 0.02061, \
                 0.0206, 0.02062");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02058, -0.02057, -0.02052, -0.0205, -0.02048, -0.02056, -0.02055, \
                 -0.02055, -0.02055, -0.02058");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02104, 0.02006, 0.01961, 0.01955, 0.01953, 0.01948, 0.01951, \
                 0.01951, 0.01948, 0.01948");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0193, -0.0195, -0.01983, -0.02003, -0.02015, -0.02026, -0.02028, \
                 -0.02033, -0.02033, -0.02035");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02107, 0.02006, 0.01961, 0.01953, 0.01954, 0.01948, 0.01951, \
                 0.0195, 0.01949, 0.01949");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0193, -0.0195, -0.01983, -0.02003, -0.02015, -0.02026, -0.02028, \
                 -0.02032, -0.02033, -0.02035");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02107, 0.02006, 0.01961, 0.01953, 0.01954, 0.01948, 0.01951, \
                 0.0195, 0.0195, 0.0195");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0193, -0.0195, -0.01983, -0.02003, -0.02015, -0.02026, -0.02029, \
                 -0.02031, -0.02033, -0.02035");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02175, 0.0209, 0.0206, 0.02054, 0.02056, 0.02064, 0.02059, 0.0206, \
                 0.0206, 0.02061");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02058, -0.02057, -0.02052, -0.0205, -0.02049, -0.02056, -0.02055, \
                 -0.02055, -0.02055, -0.02058");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02104, 0.02006, 0.01961, 0.01954, 0.01952, 0.01948, 0.01951, \
                 0.0195, 0.01948, 0.01948");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0193, -0.0195, -0.01983, -0.02003, -0.02015, -0.02026, -0.02031, \
                 -0.02033, -0.02033, -0.02035");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02238, 0.021, 0.02062, 0.02058, 0.02058, 0.02061, 0.0206, 0.0206, \
                 0.02062, 0.0206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02061, -0.02057, -0.02054, -0.02053, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02057, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02238, 0.021, 0.02062, 0.02058, 0.02059, 0.02061, 0.0206, 0.0206, \
                 0.02062, 0.0206");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02061, -0.02057, -0.02054, -0.02053, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02057, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02238, 0.021, 0.02064, 0.02057, 0.02059, 0.02061, 0.02061, 0.02061, \
                 0.02061, 0.02061");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02061, -0.02057, -0.02054, -0.02053, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02057, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0223, 0.02093, 0.02063, 0.02058, 0.02059, 0.02062, 0.0206, 0.02061, \
                 0.02062, 0.02061");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02061, -0.02057, -0.02054, -0.02053, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02057, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0223, 0.02095, 0.02061, 0.02057, 0.02061, 0.0206, 0.02061, 0.02061, \
                 0.02061, 0.02063");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02061, -0.02057, -0.02054, -0.02053, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02057, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0223, 0.02095, 0.02061, 0.02057, 0.02061, 0.02059, 0.02061, \
                 0.0206, 0.02061, 0.02059");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02061, -0.02057, -0.02054, -0.02053, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02057, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02238, 0.021, 0.02062, 0.02058, 0.0206, 0.02061, 0.02061, 0.02062, \
                 0.02061, 0.02061");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02061, -0.02057, -0.02054, -0.02053, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02057, -0.02055");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02231, 0.02094, 0.0206, 0.02057, 0.02056, 0.02061, 0.02061, \
                 0.02059, 0.0206, 0.02061");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02061, -0.02057, -0.02054, -0.02053, -0.0205, -0.02055, -0.02056, \
                 -0.02055, -0.02057, -0.02055");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.309, -0.33, -0.382, -0.453, -0.501, -0.537, -0.546, -0.532, -0.489, -0.423",\
                 "-0.313, -0.334, -0.385, -0.459, -0.51, -0.548, -0.553, -0.553, -0.499, -0.439",\
                 "-0.331, -0.344, -0.393, -0.468, -0.521, -0.557, -0.565, -0.565, -0.52, -0.45",\
                 "-0.292, -0.312, -0.366, -0.436, -0.495, -0.534, -0.545, -0.549, -0.504, -0.444",\
                 "-0.079, -0.1, -0.157, -0.237, -0.302, -0.354, -0.364, -0.367, -0.329, -0.278",\
                 "0.342, 0.318, 0.258, 0.162, 0.092, 0.038, 0.019, 0.003, 0.043, 0.085",\
                 "0.943, 0.921, 0.837, 0.735, 0.657, 0.601, 0.573, 0.54, 0.582, 0.631",\
                 "1.718, 1.688, 1.591, 1.465, 1.39, 1.32, 1.295, 1.242, 1.3, 1.34",\
                 "2.693, 2.634, 2.522, 2.391, 2.288, 2.215, 2.16, 2.13, 2.194, 2.235",\
                 "3.829, 3.773, 3.62, 3.467, 3.371, 3.298, 3.237, 3.153, 3.286, 3.296");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.309, -0.33, -0.382, -0.453, -0.501, -0.543, -0.546, -0.532, -0.489, -0.423",\
                 "-0.313, -0.326, -0.385, -0.459, -0.51, -0.548, -0.553, -0.548, -0.499, -0.439",\
                 "-0.331, -0.344, -0.393, -0.467, -0.521, -0.557, -0.565, -0.565, -0.52, -0.45",\
                 "-0.292, -0.312, -0.366, -0.444, -0.495, -0.534, -0.545, -0.549, -0.504, -0.444",\
                 "-0.079, -0.1, -0.157, -0.237, -0.302, -0.354, -0.364, -0.367, -0.329, -0.278",\
                 "0.342, 0.324, 0.258, 0.169, 0.092, 0.038, 0.019, 0.003, 0.043, 0.085",\
                 "0.943, 0.921, 0.837, 0.755, 0.657, 0.601, 0.573, 0.54, 0.582, 0.631",\
                 "1.718, 1.682, 1.591, 1.465, 1.39, 1.311, 1.295, 1.242, 1.293, 1.34",\
                 "2.693, 2.634, 2.522, 2.426, 2.288, 2.215, 2.16, 2.13, 2.194, 2.217",\
                 "3.829, 3.783, 3.62, 3.523, 3.371, 3.298, 3.223, 3.161, 3.277, 3.296");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.309, -0.33, -0.382, -0.453, -0.501, -0.543, -0.546, -0.538, -0.489, -0.423",\
                 "-0.32, -0.334, -0.385, -0.45, -0.51, -0.548, -0.553, -0.548, -0.499, -0.439",\
                 "-0.331, -0.344, -0.393, -0.473, -0.521, -0.557, -0.565, -0.565, -0.52, -0.45",\
                 "-0.292, -0.312, -0.366, -0.444, -0.495, -0.534, -0.545, -0.549, -0.504, -0.444",\
                 "-0.079, -0.092, -0.157, -0.237, -0.302, -0.337, -0.37, -0.367, -0.338, -0.278",\
                 "0.342, 0.318, 0.258, 0.162, 0.092, 0.038, 0.012, 0.003, 0.043, 0.085",\
                 "0.943, 0.921, 0.828, 0.735, 0.651, 0.601, 0.573, 0.54, 0.582, 0.631",\
                 "1.718, 1.682, 1.597, 1.465, 1.39, 1.311, 1.295, 1.242, 1.3, 1.34",\
                 "2.693, 2.634, 2.522, 2.444, 2.288, 2.215, 2.16, 2.13, 2.186, 2.226",\
                 "3.829, 3.773, 3.62, 3.467, 3.371, 3.298, 3.237, 3.145, 3.286, 3.296");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.309, -0.33, -0.382, -0.453, -0.501, -0.543, -0.546, -0.538, -0.489, -0.429",\
                 "-0.313, -0.334, -0.385, -0.45, -0.51, -0.548, -0.561, -0.553, -0.499, -0.439",\
                 "-0.331, -0.344, -0.393, -0.468, -0.521, -0.557, -0.574, -0.565, -0.52, -0.45",\
                 "-0.292, -0.312, -0.366, -0.444, -0.495, -0.541, -0.545, -0.549, -0.504, -0.444",\
                 "-0.079, -0.1, -0.157, -0.237, -0.302, -0.354, -0.37, -0.376, -0.338, -0.278",\
                 "0.342, 0.324, 0.258, 0.162, 0.092, 0.038, 0.019, 0.003, 0.043, 0.085",\
                 "0.943, 0.921, 0.837, 0.735, 0.657, 0.601, 0.565, 0.54, 0.582, 0.631",\
                 "1.724, 1.688, 1.597, 1.465, 1.39, 1.32, 1.295, 1.242, 1.3, 1.34",\
                 "2.693, 2.642, 2.522, 2.391, 2.288, 2.215, 2.16, 2.11, 2.186, 2.226",\
                 "3.829, 3.794, 3.62, 3.467, 3.371, 3.284, 3.23, 3.161, 3.277, 3.296");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.555, 0.568, 0.619, 0.699, 0.755, 0.808, 0.841, 0.85, 0.839, 0.804",\
                 "0.559, 0.572, 0.621, 0.7, 0.757, 0.807, 0.844, 0.852, 0.843, 0.806",\
                 "0.584, 0.592, 0.646, 0.723, 0.782, 0.832, 0.864, 0.876, 0.867, 0.831",\
                 "0.647, 0.669, 0.715, 0.789, 0.85, 0.9, 0.935, 0.944, 0.932, 0.893",\
                 "0.772, 0.78, 0.836, 0.903, 0.969, 1.012, 1.04, 1.049, 1.039, 1",\
                 "0.93, 0.943, 0.993, 1.067, 1.126, 1.171, 1.201, 1.21, 1.198, 1.157",\
                 "1.123, 1.135, 1.183, 1.263, 1.316, 1.359, 1.389, 1.402, 1.391, 1.36",\
                 "1.351, 1.363, 1.417, 1.482, 1.543, 1.586, 1.623, 1.631, 1.624, 1.597",\
                 "1.62, 1.629, 1.681, 1.75, 1.8, 1.846, 1.876, 1.894, 1.89, 1.863",\
                 "1.919, 1.929, 1.98, 2.045, 2.099, 2.141, 2.172, 2.193, 2.19, 2.165");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.555, 0.568, 0.619, 0.699, 0.755, 0.808, 0.841, 0.85, 0.839, 0.804",\
                 "0.559, 0.572, 0.621, 0.7, 0.757, 0.807, 0.844, 0.852, 0.843, 0.806",\
                 "0.584, 0.592, 0.646, 0.723, 0.782, 0.832, 0.864, 0.876, 0.867, 0.831",\
                 "0.647, 0.669, 0.715, 0.789, 0.85, 0.9, 0.935, 0.944, 0.932, 0.893",\
                 "0.772, 0.78, 0.836, 0.903, 0.969, 1.012, 1.04, 1.049, 1.039, 1",\
                 "0.93, 0.943, 0.993, 1.067, 1.126, 1.171, 1.201, 1.21, 1.198, 1.157",\
                 "1.123, 1.135, 1.183, 1.263, 1.316, 1.359, 1.389, 1.402, 1.391, 1.36",\
                 "1.351, 1.363, 1.411, 1.482, 1.543, 1.586, 1.623, 1.631, 1.624, 1.597",\
                 "1.62, 1.629, 1.681, 1.742, 1.8, 1.846, 1.876, 1.894, 1.89, 1.863",\
                 "1.914, 1.929, 1.974, 2.045, 2.099, 2.141, 2.172, 2.193, 2.19, 2.165");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.555, 0.568, 0.619, 0.699, 0.755, 0.808, 0.841, 0.85, 0.839, 0.804",\
                 "0.559, 0.572, 0.621, 0.7, 0.757, 0.807, 0.844, 0.852, 0.843, 0.806",\
                 "0.584, 0.592, 0.646, 0.723, 0.782, 0.832, 0.864, 0.876, 0.867, 0.831",\
                 "0.647, 0.669, 0.715, 0.789, 0.85, 0.9, 0.935, 0.944, 0.932, 0.893",\
                 "0.772, 0.78, 0.836, 0.903, 0.969, 1.012, 1.04, 1.049, 1.039, 1",\
                 "0.93, 0.943, 0.993, 1.067, 1.126, 1.171, 1.201, 1.21, 1.198, 1.157",\
                 "1.123, 1.135, 1.183, 1.263, 1.316, 1.359, 1.389, 1.402, 1.391, 1.36",\
                 "1.351, 1.363, 1.411, 1.482, 1.543, 1.586, 1.623, 1.631, 1.624, 1.597",\
                 "1.62, 1.629, 1.681, 1.742, 1.8, 1.846, 1.876, 1.894, 1.89, 1.863",\
                 "1.914, 1.929, 1.974, 2.045, 2.099, 2.141, 2.172, 2.193, 2.19, 2.165");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.555, 0.568, 0.619, 0.699, 0.755, 0.808, 0.841, 0.85, 0.847, 0.804",\
                 "0.559, 0.572, 0.621, 0.7, 0.765, 0.807, 0.844, 0.858, 0.843, 0.806",\
                 "0.584, 0.592, 0.646, 0.723, 0.782, 0.832, 0.864, 0.876, 0.867, 0.831",\
                 "0.647, 0.659, 0.715, 0.789, 0.85, 0.9, 0.935, 0.944, 0.932, 0.893",\
                 "0.764, 0.78, 0.836, 0.903, 0.969, 1.012, 1.04, 1.057, 1.039, 1",\
                 "0.925, 0.943, 0.993, 1.067, 1.126, 1.171, 1.201, 1.21, 1.198, 1.164",\
                 "1.123, 1.135, 1.183, 1.263, 1.316, 1.359, 1.397, 1.402, 1.397, 1.36",\
                 "1.351, 1.363, 1.411, 1.482, 1.543, 1.586, 1.623, 1.631, 1.624, 1.597",\
                 "1.612, 1.629, 1.681, 1.75, 1.8, 1.846, 1.876, 1.894, 1.89, 1.863",\
                 "1.914, 1.929, 1.974, 2.045, 2.099, 2.141, 2.172, 2.193, 2.19, 2.165");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.555");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.629");
        }
      }
    }

    pin(SE) {
      capacitance : 0.00599 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05659, 0.05607, 0.05729, 0.06246, 0.07236, 0.08757, 0.1084, \
                 0.1355, 0.1691, 0.2095");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001215, 0.0009508, 0.001699, 0.005494, 0.01354, 0.02629, 0.04427, \
                 0.06764, 0.09669, 0.1317");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1902, 0.1894, 0.1899, 0.1947, 0.2073, 0.2305, 0.2658, 0.3153, \
                 0.3782, 0.4548");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08037, 0.07961, 0.07976, 0.08392, 0.09528, 0.1156, 0.1462, 0.1879, \
                 0.2409, 0.3058");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05659, 0.05607, 0.05726, 0.06244, 0.07234, 0.08755, 0.1084, \
                 0.1355, 0.1691, 0.2094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001176, 0.0009895, 0.001721, 0.0055, 0.01351, 0.02633, 0.04425, \
                 0.06762, 0.09666, 0.1317");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1858, 0.1849, 0.1854, 0.1902, 0.2028, 0.2259, 0.2613, 0.3105, \
                 0.3733, 0.4496");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0828, 0.08208, 0.08222, 0.08634, 0.09773, 0.118, 0.1487, 0.1903, \
                 0.2433, 0.3081");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1355, 0.135, 0.1361, 0.1411, 0.1508, 0.1659, 0.1871, 0.2147, \
                 0.2491, 0.2906");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1434, 0.1433, 0.1439, 0.1473, 0.1548, 0.1672, 0.1849, 0.208, \
                 0.2371, 0.2724");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0575, 0.05701, 0.05835, 0.06358, 0.07366, 0.08904, 0.1101, 0.1373, \
                 0.171, 0.2115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001632, -0.002422, -0.002093, 0.001633, 0.009684, 0.02248, \
                 0.04049, 0.06388, 0.09298, 0.1281");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1379, 0.1374, 0.1386, 0.1436, 0.1533, 0.1684, 0.1896, 0.2171, \
                 0.2515, 0.2931");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1389, 0.1387, 0.1393, 0.1428, 0.1502, 0.1628, 0.1804, 0.2035, \
                 0.2326, 0.2679");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0575, 0.05691, 0.05828, 0.06358, 0.07368, 0.08899, 0.1101, 0.1373, \
                 0.171, 0.2115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001633, -0.002419, -0.002065, 0.00163, 0.009639, 0.02253, 0.04048, \
                 0.06388, 0.09297, 0.1281");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05707, 0.05676, 0.05808, 0.06326, 0.07316, 0.08834, 0.1092, \
                 0.1363, 0.1698, 0.2101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001117, 0.0008969, 0.00163, 0.00542, 0.01349, 0.02627, 0.04424, \
                 0.06762, 0.09665, 0.1317");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05743, 0.05671, 0.0579, 0.06307, 0.07299, 0.08821, 0.1092, 0.1362, \
                 0.1698, 0.2102");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001196, -0.001698, -0.001321, 0.002361, 0.01081, 0.02449, 0.04348, \
                 0.06757, 0.09691, 0.132");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05658, 0.05603, 0.05722, 0.06242, 0.07234, 0.08748, 0.1084, \
                 0.1355, 0.169, 0.2094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001124, 0.0008806, 0.00164, 0.005438, 0.0135, 0.0263, 0.04425, \
                 0.0676, 0.09664, 0.1317");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07712, 0.07659, 0.07794, 0.08324, 0.09382, 0.1102, 0.1323, 0.1605, \
                 0.1949, 0.2357");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001192, -0.001701, -0.001314, 0.002349, 0.01079, 0.02448, 0.04348, \
                 0.06754, 0.09691, 0.132");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05826, 0.05772, 0.0589, 0.06385, 0.07353, 0.08859, 0.1094, 0.1363, \
                 0.1698, 0.2101");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002253, 0.002007, 0.002746, 0.006457, 0.01449, 0.02725, 0.04518, \
                 0.06852, 0.09758, 0.1326");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05985, 0.05932, 0.06059, 0.06574, 0.07564, 0.09088, 0.1118, \
                 0.139, 0.1725, 0.2129");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002319, -0.002858, -0.002386, 0.001342, 0.009394, 0.02214, \
                 0.04013, 0.06349, 0.0926, 0.1276");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05892, 0.0584, 0.05956, 0.06462, 0.07429, 0.08934, 0.1101, 0.1371, \
                 0.1705, 0.2108");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01686, 0.01664, 0.01738, 0.02105, 0.02909, 0.04184, 0.05979, \
                 0.08318, 0.1123, 0.1473");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05747, 0.05693, 0.05829, 0.06356, 0.07361, 0.08904, 0.1101, \
                 0.1373, 0.171, 0.2115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00206, -0.002666, -0.00221, 0.001514, 0.009564, 0.02239, 0.04039, \
                 0.06379, 0.09289, 0.128");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.12, -0.108, -0.063, -0.001, 0.055, 0.083, 0.099, 0.083, 0.051, -0.019",\
                 "-0.131, -0.12, -0.077, -0.013, 0.039, 0.07, 0.09, 0.069, 0.04, -0.027",\
                 "-0.162, -0.154, -0.11, -0.042, 0.008, 0.041, 0.058, 0.044, 0.007, -0.059",\
                 "-0.208, -0.199, -0.149, -0.084, -0.032, 0.001, 0.016, -0.005, -0.038, -0.103",\
                 "-0.248, -0.232, -0.19, -0.127, -0.074, -0.048, -0.035, -0.054, -0.088, -0.156",\
                 "-0.29, -0.283, -0.232, -0.176, -0.126, -0.103, -0.093, -0.112, -0.154, -0.226",\
                 "-0.327, -0.313, -0.275, -0.215, -0.17, -0.15, -0.145, -0.169, -0.204, -0.274",\
                 "-0.337, -0.327, -0.286, -0.235, -0.182, -0.174, -0.173, -0.2, -0.24, -0.318",\
                 "-0.33, -0.322, -0.288, -0.242, -0.196, -0.198, -0.192, -0.233, -0.273, -0.343",\
                 "-0.324, -0.324, -0.294, -0.254, -0.212, -0.226, -0.225, -0.272, -0.314, -0.394");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.378, -0.361, -0.331, -0.319, -0.34, -0.378, -0.432, -0.519, -0.626, -0.753",\
                 "-0.384, -0.374, -0.344, -0.332, -0.347, -0.384, -0.442, -0.528, -0.634, -0.761",\
                 "-0.415, -0.402, -0.37, -0.361, -0.374, -0.412, -0.468, -0.553, -0.655, -0.783",\
                 "-0.462, -0.45, -0.415, -0.405, -0.417, -0.445, -0.503, -0.579, -0.676, -0.808",\
                 "-0.509, -0.502, -0.469, -0.453, -0.457, -0.486, -0.533, -0.602, -0.703, -0.829",\
                 "-0.549, -0.542, -0.506, -0.49, -0.486, -0.513, -0.557, -0.626, -0.72, -0.841",\
                 "-0.563, -0.553, -0.519, -0.506, -0.502, -0.527, -0.565, -0.637, -0.73, -0.845",\
                 "-0.555, -0.542, -0.509, -0.496, -0.493, -0.519, -0.563, -0.629, -0.719, -0.837",\
                 "-0.513, -0.499, -0.462, -0.451, -0.452, -0.481, -0.529, -0.598, -0.693, -0.812",\
                 "-0.434, -0.424, -0.391, -0.383, -0.385, -0.413, -0.461, -0.535, -0.638, -0.762");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.538, -0.525, -0.498, -0.483, -0.496, -0.533, -0.583, -0.666, -0.761, -0.893",\
                 "-0.555, -0.541, -0.51, -0.496, -0.509, -0.549, -0.596, -0.677, -0.779, -0.908",\
                 "-0.624, -0.61, -0.574, -0.563, -0.574, -0.616, -0.667, -0.746, -0.845, -0.976",\
                 "-0.735, -0.72, -0.694, -0.681, -0.691, -0.723, -0.783, -0.86, -0.955, -1.088",\
                 "-0.88, -0.865, -0.834, -0.823, -0.834, -0.872, -0.927, -1.002, -1.1, -1.229",\
                 "-1.055, -1.049, -1.011, -1.002, -1.011, -1.047, -1.096, -1.173, -1.28, -1.403",\
                 "-1.263, -1.256, -1.226, -1.204, -1.217, -1.255, -1.308, -1.379, -1.48, -1.608",\
                 "-1.511, -1.497, -1.466, -1.451, -1.463, -1.496, -1.549, -1.619, -1.719, -1.842",\
                 "-1.786, -1.775, -1.744, -1.727, -1.739, -1.77, -1.823, -1.894, -1.992, -2.118",\
                 "-2.105, -2.096, -2.064, -2.05, -2.053, -2.088, -2.13, -2.211, -2.305, -2.43");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.149, -0.1, -0.037, 0.018, 0.042, 0.057, 0.036, 0.003, -0.066",\
                 "-0.179, -0.167, -0.119, -0.052, -0, 0.023, 0.038, 0.022, -0.016, -0.079",\
                 "-0.216, -0.207, -0.165, -0.1, -0.044, -0.017, -0.006, -0.019, -0.051, -0.124",\
                 "-0.253, -0.247, -0.201, -0.137, -0.084, -0.058, -0.044, -0.058, -0.09, -0.154",\
                 "-0.278, -0.263, -0.217, -0.158, -0.1, -0.075, -0.064, -0.076, -0.106, -0.174",\
                 "-0.261, -0.253, -0.207, -0.139, -0.091, -0.065, -0.052, -0.062, -0.101, -0.168",\
                 "-0.217, -0.21, -0.157, -0.096, -0.05, -0.022, -0.008, -0.022, -0.056, -0.124",\
                 "-0.142, -0.13, -0.081, -0.021, 0.032, 0.062, 0.071, 0.057, 0.023, -0.039",\
                 "-0.027, -0.009, 0.035, 0.099, 0.154, 0.174, 0.186, 0.172, 0.14, 0.071",\
                 "0.128, 0.142, 0.189, 0.255, 0.306, 0.33, 0.338, 0.326, 0.289, 0.226");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.962, 0.949, 0.89, 0.801, 0.735, 0.677, 0.651, 0.637, 0.665, 0.722",\
                 "0.978, 0.961, 0.906, 0.814, 0.749, 0.69, 0.664, 0.653, 0.681, 0.735",\
                 "1.005, 0.994, 0.937, 0.842, 0.775, 0.719, 0.694, 0.678, 0.705, 0.768",\
                 "1.053, 1.038, 0.984, 0.896, 0.824, 0.767, 0.744, 0.727, 0.763, 0.815",\
                 "1.142, 1.135, 1.069, 0.982, 0.915, 0.855, 0.825, 0.817, 0.845, 0.896",\
                 "1.297, 1.284, 1.228, 1.134, 1.064, 1.009, 0.982, 0.963, 0.992, 1.042",\
                 "1.508, 1.495, 1.435, 1.344, 1.269, 1.214, 1.179, 1.164, 1.179, 1.23",\
                 "1.765, 1.747, 1.691, 1.592, 1.516, 1.454, 1.412, 1.385, 1.401, 1.443",\
                 "2.057, 2.04, 1.984, 1.884, 1.796, 1.727, 1.681, 1.657, 1.665, 1.704",\
                 "2.397, 2.379, 2.316, 2.213, 2.126, 2.05, 1.995, 1.972, 1.98, 2.011");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.796, 0.778, 0.729, 0.656, 0.615, 0.602, 0.634, 0.696, 0.785, 0.904",\
                 "0.801, 0.786, 0.735, 0.669, 0.625, 0.613, 0.647, 0.7, 0.794, 0.913",\
                 "0.833, 0.817, 0.764, 0.692, 0.653, 0.642, 0.676, 0.734, 0.82, 0.939",\
                 "0.889, 0.864, 0.81, 0.743, 0.697, 0.687, 0.714, 0.767, 0.851, 0.971",\
                 "0.941, 0.927, 0.878, 0.802, 0.754, 0.741, 0.756, 0.803, 0.892, 1.003",\
                 "0.998, 0.984, 0.928, 0.856, 0.81, 0.788, 0.8, 0.845, 0.918, 1.029",\
                 "1.044, 1.024, 0.973, 0.905, 0.851, 0.83, 0.84, 0.872, 0.948, 1.052",\
                 "1.069, 1.055, 1.001, 0.93, 0.879, 0.856, 0.856, 0.893, 0.962, 1.06",\
                 "1.078, 1.06, 1.008, 0.932, 0.887, 0.852, 0.854, 0.888, 0.957, 1.055",\
                 "1.064, 1.042, 0.992, 0.915, 0.863, 0.834, 0.832, 0.863, 0.927, 1.024");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.933, 0.921, 0.863, 0.792, 0.757, 0.746, 0.777, 0.832, 0.928, 1.04",\
                 "0.951, 0.937, 0.877, 0.814, 0.772, 0.76, 0.793, 0.85, 0.938, 1.059",\
                 "1.016, 1.006, 0.953, 0.877, 0.836, 0.827, 0.866, 0.92, 1.011, 1.127",\
                 "1.135, 1.115, 1.06, 0.996, 0.951, 0.943, 0.973, 1.034, 1.121, 1.24",\
                 "1.276, 1.259, 1.207, 1.135, 1.097, 1.091, 1.117, 1.173, 1.27, 1.384",\
                 "1.452, 1.438, 1.381, 1.31, 1.275, 1.263, 1.292, 1.35, 1.437, 1.559",\
                 "1.668, 1.65, 1.589, 1.524, 1.48, 1.477, 1.502, 1.555, 1.645, 1.765",\
                 "1.907, 1.891, 1.84, 1.772, 1.73, 1.715, 1.744, 1.797, 1.887, 2.002",\
                 "2.192, 2.176, 2.124, 2.05, 2.013, 1.995, 2.024, 2.076, 2.163, 2.28",\
                 "2.517, 2.499, 2.445, 2.37, 2.328, 2.315, 2.338, 2.395, 2.476, 2.589");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.122, 1.106, 1.045, 0.947, 0.868, 0.804, 0.761, 0.749, 0.769, 0.816",\
                 "1.143, 1.128, 1.066, 0.968, 0.888, 0.819, 0.784, 0.766, 0.786, 0.839",\
                 "1.182, 1.172, 1.11, 1.005, 0.931, 0.859, 0.83, 0.808, 0.829, 0.88",\
                 "1.217, 1.202, 1.135, 1.042, 0.956, 0.892, 0.863, 0.84, 0.868, 0.91",\
                 "1.223, 1.212, 1.148, 1.05, 0.969, 0.907, 0.865, 0.854, 0.873, 0.926",\
                 "1.217, 1.202, 1.138, 1.039, 0.968, 0.896, 0.861, 0.845, 0.871, 0.925",\
                 "1.179, 1.161, 1.108, 1.005, 0.925, 0.864, 0.824, 0.813, 0.83, 0.888",\
                 "1.104, 1.085, 1.026, 0.93, 0.857, 0.789, 0.758, 0.738, 0.76, 0.813",\
                 "0.99, 0.972, 0.917, 0.818, 0.745, 0.679, 0.647, 0.631, 0.653, 0.704",\
                 "0.84, 0.827, 0.767, 0.674, 0.594, 0.537, 0.497, 0.488, 0.512, 0.553");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002641 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008395, 0.008369, 0.008366, 0.008348, 0.008354, 0.008375, 0.008367, \
                 0.008366, 0.008368, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008171, -0.008146, -0.008175, -0.008209, -0.00824, -0.008273, \
                 -0.008282, -0.008285, -0.008298, -0.008293");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1563, 0.1559, 0.1555, 0.1553, 0.1573, 0.1644, 0.1787, 0.2017, \
                 0.233, 0.2718");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07893, 0.07847, 0.07794, 0.07799, 0.08074, 0.08765, 0.09999, \
                 0.1182, 0.1427, 0.1737");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008407, 0.008384, 0.008339, 0.008354, 0.008359, 0.008364, 0.00836, \
                 0.008366, 0.008368, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008164, -0.008161, -0.008166, -0.00821, -0.008237, -0.008269, \
                 -0.008279, -0.008284, -0.008289, -0.0083");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1518, 0.1514, 0.151, 0.1508, 0.1527, 0.1598, 0.1741, 0.197, \
                 0.2281, 0.2666");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08137, 0.08085, 0.08037, 0.08042, 0.08316, 0.09009, 0.1023, \
                 0.1206, 0.1451, 0.176");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008367, 0.008361, 0.008365, 0.008351, 0.008357, 0.008382, 0.008367, \
                 0.008362, 0.008366, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007484, -0.007833, -0.008154, -0.008209, -0.008235, -0.00827, \
                 -0.00828, -0.008288, -0.008293, -0.008293");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1594, 0.1591, 0.1586, 0.1584, 0.1605, 0.1682, 0.1832, 0.2067, \
                 0.2382, 0.277");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07403, 0.07356, 0.073, 0.0731, 0.07587, 0.08287, 0.09535, 0.114, \
                 0.1389, 0.1703");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008369, 0.008381, 0.008358, 0.008365, 0.008366, 0.008359, 0.008364, \
                 0.008368, 0.008366, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007475, -0.007856, -0.008146, -0.008218, -0.008245, -0.008238, \
                 -0.008281, -0.008291, -0.008293, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1548, 0.1545, 0.1541, 0.1538, 0.156, 0.1635, 0.1785, 0.2019, \
                 0.2333, 0.2718");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0765, 0.07598, 0.07544, 0.07554, 0.0783, 0.08525, 0.09775, 0.1164, \
                 0.1413, 0.1727");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008367, 0.008361, 0.008365, 0.008353, 0.008354, 0.008377, 0.008367, \
                 0.008367, 0.008368, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00817, -0.008147, -0.008165, -0.008206, -0.008234, -0.008272, \
                 -0.008285, -0.008284, -0.008295, -0.008295");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009009, 0.008996, 0.009005, 0.008989, 0.009006, 0.009006, 0.008996, \
                 0.009, 0.008999, 0.008994");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006501, -0.006739, -0.00707, -0.007357, -0.00757, -0.007734, \
                 -0.007839, -0.007901, -0.00795, -0.007988");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008371, 0.008355, 0.008349, 0.008357, 0.008361, 0.00837, 0.008367, \
                 0.008366, 0.008363, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008166, -0.008156, -0.008164, -0.008207, -0.008239, -0.008266, \
                 -0.008283, -0.008287, -0.008293, -0.008294");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03499, 0.035, 0.03497, 0.03497, 0.03493, 0.03494, 0.03492, 0.03494, \
                 0.03495, 0.03496");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006486, -0.006763, -0.007066, -0.007357, -0.007593, -0.007738, \
                 -0.007851, -0.007903, -0.007951, -0.007989");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008367, 0.008361, 0.008365, 0.008348, 0.008359, 0.008381, 0.008367, \
                 0.008366, 0.008368, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007675, -0.007929, -0.008161, -0.008209, -0.008235, -0.008269, \
                 -0.008279, -0.00829, -0.008295, -0.008293");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00906, 0.009043, 0.009055, 0.009048, 0.009038, 0.009049, 0.00905, \
                 0.00905, 0.009055, 0.009045");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006473, -0.006729, -0.0071, -0.007424, -0.00764, -0.00779, \
                 -0.007876, -0.007928, -0.007975, -0.008005");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008371, 0.008365, 0.008338, 0.008362, 0.008368, 0.008374, 0.00837, \
                 0.008366, 0.008366, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007521, -0.007857, -0.008149, -0.008211, -0.008243, -0.008267, \
                 -0.008276, -0.008289, -0.008291, -0.008289");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02936, 0.02938, 0.02935, 0.0293, 0.0293, 0.02931, 0.02931, 0.02933, \
                 0.02934, 0.02932");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006467, -0.006734, -0.007101, -0.007419, -0.007629, -0.00779, \
                 -0.007872, -0.007933, -0.007975, -0.008007");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.172, -0.156, -0.116, -0.056, -0.005, 0.025, 0.04, 0.024, -0.013, -0.076",\
                 "-0.179, -0.167, -0.125, -0.071, -0.015, 0.011, 0.03, 0.016, -0.024, -0.085",\
                 "-0.216, -0.207, -0.157, -0.1, -0.052, -0.017, -0.006, -0.019, -0.051, -0.124",\
                 "-0.262, -0.257, -0.213, -0.153, -0.1, -0.065, -0.054, -0.072, -0.108, -0.17",\
                 "-0.315, -0.301, -0.26, -0.2, -0.148, -0.118, -0.11, -0.128, -0.163, -0.228",\
                 "-0.347, -0.342, -0.296, -0.235, -0.188, -0.173, -0.16, -0.188, -0.222, -0.291",\
                 "-0.361, -0.356, -0.311, -0.255, -0.216, -0.197, -0.194, -0.218, -0.263, -0.331",\
                 "-0.366, -0.362, -0.323, -0.269, -0.227, -0.216, -0.212, -0.252, -0.287, -0.366",\
                 "-0.362, -0.362, -0.321, -0.277, -0.244, -0.245, -0.24, -0.28, -0.319, -0.397",\
                 "-0.366, -0.361, -0.332, -0.299, -0.267, -0.278, -0.282, -0.328, -0.368, -0.455");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.429, -0.423, -0.39, -0.384, -0.392, -0.435, -0.499, -0.584, -0.689, -0.821",\
                 "-0.439, -0.43, -0.397, -0.38, -0.401, -0.443, -0.502, -0.587, -0.69, -0.829",\
                 "-0.452, -0.444, -0.409, -0.401, -0.418, -0.457, -0.513, -0.603, -0.705, -0.842",\
                 "-0.471, -0.459, -0.433, -0.421, -0.433, -0.467, -0.533, -0.613, -0.719, -0.853",\
                 "-0.494, -0.479, -0.443, -0.437, -0.444, -0.478, -0.539, -0.617, -0.722, -0.847",\
                 "-0.491, -0.483, -0.449, -0.439, -0.442, -0.475, -0.53, -0.609, -0.709, -0.834",\
                 "-0.47, -0.459, -0.429, -0.416, -0.422, -0.453, -0.501, -0.579, -0.683, -0.809",\
                 "-0.414, -0.404, -0.366, -0.356, -0.367, -0.393, -0.456, -0.532, -0.632, -0.757",\
                 "-0.314, -0.306, -0.272, -0.259, -0.272, -0.308, -0.364, -0.442, -0.545, -0.677",\
                 "-0.179, -0.167, -0.133, -0.131, -0.141, -0.174, -0.232, -0.32, -0.422, -0.557");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.12, -0.108, -0.063, -0.001, 0.047, 0.077, 0.091, 0.071, 0.043, -0.029",\
                 "-0.131, -0.12, -0.077, -0.013, 0.031, 0.064, 0.081, 0.063, 0.024, -0.038",\
                 "-0.168, -0.154, -0.11, -0.053, -0, 0.028, 0.049, 0.025, -0.01, -0.075",\
                 "-0.217, -0.199, -0.16, -0.099, -0.047, -0.021, -0.004, -0.018, -0.055, -0.12",\
                 "-0.255, -0.247, -0.199, -0.142, -0.094, -0.066, -0.058, -0.076, -0.106, -0.174",\
                 "-0.278, -0.271, -0.226, -0.168, -0.118, -0.103, -0.093, -0.112, -0.154, -0.22",\
                 "-0.285, -0.279, -0.239, -0.185, -0.136, -0.116, -0.113, -0.14, -0.18, -0.245",\
                 "-0.284, -0.279, -0.242, -0.188, -0.145, -0.132, -0.124, -0.16, -0.193, -0.27",\
                 "-0.282, -0.274, -0.238, -0.198, -0.149, -0.161, -0.151, -0.186, -0.218, -0.298",\
                 "-0.278, -0.277, -0.251, -0.233, -0.183, -0.187, -0.19, -0.232, -0.269, -0.342");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.424, -0.409, -0.379, -0.365, -0.384, -0.424, -0.482, -0.566, -0.666, -0.8",\
                 "-0.432, -0.414, -0.385, -0.38, -0.394, -0.431, -0.485, -0.569, -0.674, -0.808",\
                 "-0.447, -0.432, -0.401, -0.395, -0.409, -0.444, -0.504, -0.584, -0.688, -0.821",\
                 "-0.471, -0.459, -0.427, -0.413, -0.427, -0.46, -0.513, -0.599, -0.702, -0.836",\
                 "-0.486, -0.471, -0.443, -0.432, -0.437, -0.469, -0.527, -0.602, -0.703, -0.835",\
                 "-0.486, -0.471, -0.443, -0.432, -0.433, -0.47, -0.517, -0.592, -0.693, -0.821",\
                 "-0.454, -0.45, -0.411, -0.405, -0.41, -0.446, -0.492, -0.569, -0.665, -0.795",\
                 "-0.396, -0.386, -0.354, -0.349, -0.353, -0.393, -0.436, -0.521, -0.618, -0.741",\
                 "-0.298, -0.29, -0.255, -0.25, -0.263, -0.303, -0.358, -0.436, -0.537, -0.659",\
                 "-0.163, -0.151, -0.122, -0.12, -0.135, -0.174, -0.232, -0.312, -0.413, -0.547");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.082, 1.072, 1.008, 0.919, 0.839, 0.781, 0.752, 0.737, 0.761, 0.816",\
                 "1.095, 1.08, 1.019, 0.929, 0.849, 0.79, 0.767, 0.748, 0.778, 0.829",\
                 "1.129, 1.113, 1.055, 0.964, 0.888, 0.827, 0.794, 0.783, 0.812, 0.859",\
                 "1.189, 1.173, 1.106, 1.019, 0.94, 0.877, 0.853, 0.833, 0.868, 0.921",\
                 "1.276, 1.259, 1.2, 1.103, 1.03, 0.969, 0.934, 0.921, 0.949, 0.997",\
                 "1.418, 1.408, 1.343, 1.251, 1.178, 1.117, 1.083, 1.072, 1.091, 1.139",\
                 "1.642, 1.624, 1.57, 1.474, 1.394, 1.329, 1.292, 1.272, 1.291, 1.337",\
                 "1.93, 1.914, 1.852, 1.759, 1.679, 1.606, 1.568, 1.534, 1.549, 1.595",\
                 "2.279, 2.264, 2.199, 2.103, 2.013, 1.937, 1.888, 1.86, 1.867, 1.902",\
                 "2.683, 2.667, 2.606, 2.499, 2.4, 2.321, 2.266, 2.235, 2.233, 2.257");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.853, 0.839, 0.782, 0.719, 0.675, 0.66, 0.693, 0.755, 0.848, 0.972",\
                 "0.862, 0.842, 0.788, 0.717, 0.679, 0.666, 0.698, 0.76, 0.858, 0.976",\
                 "0.876, 0.858, 0.811, 0.738, 0.696, 0.687, 0.721, 0.777, 0.878, 0.998",\
                 "0.899, 0.883, 0.828, 0.758, 0.713, 0.702, 0.734, 0.794, 0.885, 1.005",\
                 "0.926, 0.904, 0.852, 0.787, 0.734, 0.723, 0.751, 0.803, 0.901, 1.015",\
                 "0.935, 0.925, 0.87, 0.798, 0.758, 0.739, 0.759, 0.811, 0.892, 1.009",\
                 "0.943, 0.93, 0.882, 0.805, 0.76, 0.736, 0.751, 0.803, 0.883, 0.995",\
                 "0.933, 0.911, 0.858, 0.79, 0.746, 0.722, 0.729, 0.773, 0.847, 0.957",\
                 "0.887, 0.875, 0.817, 0.749, 0.698, 0.669, 0.677, 0.719, 0.793, 0.893",\
                 "0.825, 0.801, 0.745, 0.674, 0.624, 0.595, 0.597, 0.631, 0.71, 0.804");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SE" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.093, 1.079, 1.013, 0.919, 0.839, 0.769, 0.735, 0.714, 0.737, 0.79",\
                 "1.102, 1.088, 1.025, 0.929, 0.849, 0.784, 0.75, 0.73, 0.754, 0.803",\
                 "1.139, 1.125, 1.063, 0.964, 0.888, 0.815, 0.785, 0.765, 0.787, 0.838",\
                 "1.189, 1.173, 1.112, 1.019, 0.935, 0.87, 0.833, 0.814, 0.842, 0.893",\
                 "1.276, 1.266, 1.2, 1.103, 1.023, 0.96, 0.917, 0.899, 0.93, 0.979",\
                 "1.435, 1.414, 1.355, 1.258, 1.178, 1.107, 1.069, 1.055, 1.07, 1.119",\
                 "1.659, 1.65, 1.58, 1.484, 1.4, 1.335, 1.292, 1.272, 1.279, 1.323",\
                 "1.96, 1.944, 1.883, 1.779, 1.693, 1.623, 1.568, 1.534, 1.543, 1.579",\
                 "2.319, 2.305, 2.24, 2.129, 2.042, 1.953, 1.9, 1.86, 1.859, 1.893",\
                 "2.73, 2.714, 2.649, 2.532, 2.435, 2.341, 2.281, 2.235, 2.233, 2.257");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.842, 0.819, 0.761, 0.701, 0.653, 0.648, 0.676, 0.737, 0.832, 0.951",\
                 "0.842, 0.826, 0.77, 0.708, 0.656, 0.649, 0.681, 0.742, 0.834, 0.955",\
                 "0.86, 0.846, 0.787, 0.721, 0.679, 0.668, 0.703, 0.758, 0.854, 0.972",\
                 "0.89, 0.874, 0.81, 0.743, 0.697, 0.687, 0.724, 0.78, 0.868, 0.988",\
                 "0.911, 0.896, 0.843, 0.771, 0.727, 0.715, 0.734, 0.788, 0.882, 0.997",\
                 "0.929, 0.913, 0.858, 0.79, 0.74, 0.723, 0.746, 0.794, 0.876, 0.99",\
                 "0.943, 0.921, 0.864, 0.795, 0.748, 0.729, 0.743, 0.784, 0.865, 0.973",\
                 "0.921, 0.905, 0.852, 0.777, 0.731, 0.705, 0.719, 0.755, 0.834, 0.941",\
                 "0.879, 0.867, 0.809, 0.74, 0.688, 0.659, 0.665, 0.705, 0.778, 0.884",\
                 "0.809, 0.801, 0.74, 0.669, 0.618, 0.595, 0.59, 0.631, 0.701, 0.793");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(RN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        clear : !RN ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffrsnq_1) {
    area : 105.369600 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : L ;
      clear_preset_var2 : H ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002117841" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SETN&SI" ;
      value : "0.0002123319" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SETN&!SI" ;
      value : "0.0002170509" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SETN&SI" ;
      value : "0.0002175987" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SETN&!SI" ;
      value : "0.0002275086" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SETN&SI" ;
      value : "0.0002354154" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SETN&!SI" ;
      value : "0.0002327754" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SETN&SI" ;
      value : "0.0002479125" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SETN&!SI" ;
      value : "0.0002059233" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SETN&SI" ;
      value : "0.0002064711" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SETN&!SI" ;
      value : "0.000299409" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SETN&SI" ;
      value : "0.0002999568" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SETN&!SI" ;
      value : "0.0002216478" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SETN&SI" ;
      value : "0.0002289045" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SETN&!SI" ;
      value : "0.0003151302" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SETN&SI" ;
      value : "0.0003135627" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002075304" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SETN&SI" ;
      value : "0.0002075304" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SETN&!SI" ;
      value : "0.0002200275" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SETN&SI" ;
      value : "0.0002200275" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SETN&!SI" ;
      value : "0.0002443617" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SETN&SI" ;
      value : "0.0002211924" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SETN&!SI" ;
      value : "0.0002496285" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SETN&SI" ;
      value : "0.0002336895" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SETN&!SI" ;
      value : "0.0002010162" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SETN&SI" ;
      value : "0.0002010162" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SETN&!SI" ;
      value : "0.0002856744" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SETN&SI" ;
      value : "0.0002856744" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SETN&!SI" ;
      value : "0.0002385009" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SETN&SI" ;
      value : "0.0002146782" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SETN&!SI" ;
      value : "0.00033198" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SETN&SI" ;
      value : "0.0002993364" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002197965" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SETN&SI" ;
      value : "0.000219813" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SETN&!SI" ;
      value : "0.0002083092" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SETN&SI" ;
      value : "0.0002083257" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SETN&!SI" ;
      value : "0.0002192817" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SETN&SI" ;
      value : "0.0002204961" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SETN&!SI" ;
      value : "0.0002077944" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SETN&SI" ;
      value : "0.0002090088" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SETN&!SI" ;
      value : "0.000201168" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SETN&SI" ;
      value : "0.000201168" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SETN&!SI" ;
      value : "0.0002274657" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SETN&SI" ;
      value : "0.0002274657" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SETN&!SI" ;
      value : "0.0002005773" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SETN&SI" ;
      value : "0.0002012043" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SETN&!SI" ;
      value : "0.000226875" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SETN&SI" ;
      value : "0.00036498" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002210802" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SETN&SI" ;
      value : "0.0002210802" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SETN&!SI" ;
      value : "0.0002095896" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SETN&SI" ;
      value : "0.0002095896" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SETN&!SI" ;
      value : "0.000219351" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SETN&SI" ;
      value : "0.000220506" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SETN&!SI" ;
      value : "0.0002078604" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SETN&SI" ;
      value : "0.0002090154" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SETN&!SI" ;
      value : "0.0002017851" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SETN&SI" ;
      value : "0.0002017851" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SETN&!SI" ;
      value : "0.000350856" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SETN&SI" ;
      value : "0.000350856" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SETN&!SI" ;
      value : "0.0002005773" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SETN&SI" ;
      value : "0.0002012109" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SETN&!SI" ;
      value : "0.000226875" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SETN&SI" ;
      value : "0.000358116" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.00036498" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003528 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.719 ;
      min_pulse_width_high : 0.734 ;
      min_pulse_width_low : 1.365 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1589, 0.1584, 0.1591, 0.1648, 0.1769, 0.1962, 0.2232, 0.2589, \
                 0.3032, 0.3567");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1073, 0.107, 0.1074, 0.1122, 0.1221, 0.1391, 0.1632, 0.1947, \
                 0.2343, 0.282");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1589, 0.1585, 0.1591, 0.1648, 0.177, 0.1962, 0.2232, 0.2589, \
                 0.3032, 0.3567");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1073, 0.107, 0.1074, 0.1122, 0.1222, 0.1391, 0.1632, 0.1948, \
                 0.2343, 0.282");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1574, 0.157, 0.1575, 0.1634, 0.1756, 0.1949, 0.222, 0.2577, \
                 0.3021, 0.3557");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1029, 0.1026, 0.103, 0.1078, 0.1178, 0.1345, 0.1584, 0.1901, \
                 0.2295, 0.2771");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1574, 0.157, 0.1576, 0.1634, 0.1756, 0.1949, 0.2221, 0.2577, \
                 0.3021, 0.3555");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1029, 0.1026, 0.103, 0.1078, 0.1177, 0.1344, 0.1584, 0.1901, \
                 0.2295, 0.2771");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1662, 0.1658, 0.1664, 0.1721, 0.1843, 0.2035, 0.2306, 0.2662, \
                 0.3105, 0.364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1073, 0.107, 0.1074, 0.1122, 0.1221, 0.1391, 0.1632, 0.1947, \
                 0.2343, 0.282");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1731, 0.1726, 0.1732, 0.1793, 0.1924, 0.2129, 0.2416, 0.2792, \
                 0.3258, 0.382");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.151, 0.1507, 0.1511, 0.1562, 0.1669, 0.1847, 0.21, 0.2431, 0.2843, \
                 0.3339");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1647, 0.1643, 0.1649, 0.1707, 0.1829, 0.2022, 0.2294, 0.2651, \
                 0.3094, 0.363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1029, 0.1026, 0.103, 0.1078, 0.1178, 0.1345, 0.1585, 0.1901, \
                 0.2295, 0.2771");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2309, 0.2304, 0.231, 0.2374, 0.2508, 0.2717, 0.3011, 0.3393, \
                 0.3868, 0.444");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2077, 0.2074, 0.2077, 0.2133, 0.2249, 0.2437, 0.2705, 0.3054, \
                 0.3487, 0.4007");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2058, 0.2053, 0.2059, 0.2118, 0.2239, 0.2433, 0.2704, 0.306, \
                 0.3505, 0.4042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1345, 0.1341, 0.1346, 0.1394, 0.1496, 0.1666, 0.1909, 0.2226, \
                 0.2622, 0.3101");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2058, 0.2053, 0.2059, 0.2118, 0.2239, 0.2433, 0.2704, 0.306, \
                 0.3504, 0.4042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1345, 0.1341, 0.1346, 0.1394, 0.1496, 0.1666, 0.1909, 0.2226, \
                 0.2622, 0.3101");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1398, 0.152, 0.1713, 0.1986, 0.2342, \
                 0.2787, 0.3323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1029, 0.1026, 0.103, 0.1077, 0.1177, 0.1345, 0.1586, 0.1901, \
                 0.2295, 0.2771");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1398, 0.152, 0.1713, 0.1985, 0.2341, \
                 0.2786, 0.3323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1029, 0.1026, 0.103, 0.1077, 0.1177, 0.1345, 0.1585, 0.1901, \
                 0.2295, 0.2771");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.213, 0.2125, 0.2132, 0.219, 0.2312, 0.2506, 0.2776, 0.3133, \
                 0.3578, 0.4114");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1345, 0.1342, 0.1346, 0.1395, 0.1497, 0.1666, 0.1909, 0.2226, \
                 0.2622, 0.3101");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1505, 0.15, 0.1506, 0.1564, 0.1687, 0.188, 0.2151, 0.2508, 0.2952, \
                 0.3488");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1092, 0.1089, 0.1093, 0.1141, 0.1241, 0.1408, 0.1648, 0.1963, \
                 0.2357, 0.2834");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1397, 0.152, 0.1712, 0.1985, 0.2342, \
                 0.2786, 0.3323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1029, 0.1026, 0.103, 0.1078, 0.1177, 0.1345, 0.1586, 0.1901, \
                 0.2295, 0.2771");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1335, 0.1331, 0.1337, 0.1396, 0.1518, 0.1712, 0.1983, 0.234, \
                 0.2784, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1092, 0.1089, 0.1093, 0.1141, 0.1241, 0.1408, 0.1648, 0.1963, \
                 0.2357, 0.2834");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1649, 0.1644, 0.165, 0.1711, 0.1842, 0.2047, 0.2334, 0.271, \
                 0.3176, 0.3738");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.151, 0.1507, 0.151, 0.1562, 0.1669, 0.1847, 0.2099, 0.243, 0.2843, \
                 0.3339");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1649, 0.1644, 0.165, 0.1711, 0.1842, 0.2047, 0.2333, 0.271, \
                 0.3176, 0.3738");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.151, 0.1507, 0.151, 0.1562, 0.1669, 0.1847, 0.2099, 0.243, 0.2843, \
                 0.3339");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.221, 0.2205, 0.2211, 0.2275, 0.2408, 0.2618, 0.2911, 0.3293, \
                 0.3766, 0.4335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2077, 0.2073, 0.2077, 0.2132, 0.2248, 0.2436, 0.2704, 0.3054, \
                 0.3487, 0.4007");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.221, 0.2205, 0.2211, 0.2275, 0.2408, 0.2618, 0.2911, 0.3293, \
                 0.3766, 0.4335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2076, 0.2072, 0.2077, 0.2132, 0.2248, 0.2436, 0.2705, 0.3054, \
                 0.3487, 0.4007");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1736, 0.1732, 0.1737, 0.1795, 0.1916, 0.2109, 0.2379, 0.2735, \
                 0.3179, 0.3714");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1073, 0.107, 0.1074, 0.1122, 0.1223, 0.1391, 0.1632, 0.1947, \
                 0.2343, 0.282");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1688, 0.1683, 0.1689, 0.1751, 0.1881, 0.2086, 0.2373, 0.2749, \
                 0.3216, 0.3777");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.151, 0.1507, 0.1511, 0.1562, 0.167, 0.1847, 0.21, 0.2431, 0.2844, \
                 0.3339");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1722, 0.1717, 0.1723, 0.1781, 0.1903, 0.2096, 0.2368, 0.2724, \
                 0.3168, 0.3702");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.1026, 0.103, 0.1078, 0.1178, 0.1345, 0.1584, 0.1901, \
                 0.2295, 0.2771");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2257, 0.2253, 0.2259, 0.2322, 0.2456, 0.2666, 0.2959, 0.3341, \
                 0.3816, 0.4386");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2075, 0.2073, 0.2076, 0.2133, 0.2249, 0.2438, 0.2706, 0.3055, \
                 0.3489, 0.4008");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1422, 0.1417, 0.1424, 0.1482, 0.1604, 0.1798, 0.2069, 0.2425, \
                 0.287, 0.3406");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1092, 0.1089, 0.1093, 0.114, 0.1241, 0.1408, 0.1648, 0.1963, \
                 0.2357, 0.2834");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1422, 0.1417, 0.1424, 0.1482, 0.1604, 0.1798, 0.2069, 0.2425, \
                 0.287, 0.3406");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1092, 0.1089, 0.1093, 0.114, 0.1241, 0.1407, 0.1648, 0.1963, \
                 0.2357, 0.2834");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1518, 0.1712, 0.1984, 0.234, \
                 0.2786, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1092, 0.1089, 0.1092, 0.114, 0.124, 0.1409, 0.1647, 0.1963, \
                 0.2357, 0.2834");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1518, 0.1711, 0.1984, 0.234, \
                 0.2784, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1091, 0.1089, 0.1093, 0.114, 0.124, 0.1409, 0.1647, 0.1963, \
                 0.2357, 0.2833");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2202, 0.2197, 0.2203, 0.2262, 0.2384, 0.2578, 0.2848, 0.3205, \
                 0.365, 0.4186");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1345, 0.1341, 0.1346, 0.1394, 0.1496, 0.1666, 0.1908, 0.2226, \
                 0.2622, 0.3101");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1461, 0.1456, 0.1462, 0.152, 0.1643, 0.1836, 0.2108, 0.2464, \
                 0.2908, 0.3445");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1092, 0.1089, 0.1093, 0.1141, 0.1241, 0.1408, 0.1648, 0.1964, \
                 0.2357, 0.2834");
        }
      }

      internal_power() {
        when : "D&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1397, 0.152, 0.1713, 0.1985, 0.2342, \
                 0.2787, 0.3322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1029, 0.1026, 0.103, 0.1078, 0.1177, 0.1345, 0.1586, 0.1901, \
                 0.2295, 0.2771");
        }
      }

      internal_power() {
        when : "D&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1517, 0.1711, 0.1983, 0.2339, \
                 0.2785, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1092, 0.1089, 0.1093, 0.114, 0.124, 0.1408, 0.1648, 0.1963, \
                 0.2357, 0.2833");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.227");
        }

        rise_constraint(scalar) {
          values("0.66");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.227");
        }

        rise_constraint(scalar) {
          values("0.66");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.26");
        }

        rise_constraint(scalar) {
          values("0.66");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.05");
        }

        rise_constraint(scalar) {
          values("0.734");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.958");
        }

        rise_constraint(scalar) {
          values("0.734");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.958");
        }

        rise_constraint(scalar) {
          values("0.734");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.365");
        }

        rise_constraint(scalar) {
          values("0.655");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.004");
        }

        rise_constraint(scalar) {
          values("0.734");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.453");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.453");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.512");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.069");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("1.892");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.898");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.719");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.992");
        }
      }
    }

    pin(D) {
      capacitance : 0.002633 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09802, 0.09767, 0.09685, 0.09641, 0.09813, 0.1038, 0.1143, 0.13, \
                 0.1506, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.0294, 0.02905, 0.02896, 0.03071, 0.03554, 0.044, 0.05651, \
                 0.07325, 0.09435");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09802, 0.09767, 0.09686, 0.0964, 0.09813, 0.1038, 0.1143, 0.13, \
                 0.1506, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.0294, 0.02905, 0.02897, 0.03071, 0.03554, 0.04401, \
                 0.05652, 0.07325, 0.09435");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1369, 0.1365, 0.1357, 0.1353, 0.1376, 0.1447, 0.1574, 0.1762, \
                 0.2009, 0.2311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08679, 0.08691, 0.08649, 0.08661, 0.08933, 0.09576, 0.1065, \
                 0.1219, 0.1421, 0.167");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1369, 0.1365, 0.1357, 0.1353, 0.1376, 0.1447, 0.1574, 0.1762, \
                 0.2009, 0.231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08683, 0.08688, 0.08652, 0.08661, 0.08936, 0.09569, 0.1065, \
                 0.1219, 0.1421, 0.167");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00841, 0.008417, 0.00842, 0.008417, 0.00842, 0.008409, 0.008404, \
                 0.0084, 0.008392, 0.008389");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007954, -0.007957, -0.007962, -0.008017, -0.008092, -0.00813, \
                 -0.008156, -0.008187, -0.008208, -0.008233");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00433, 0.004319, 0.004319, 0.004316, 0.004328, 0.004327, 0.004322, \
                 0.004317, 0.004307, 0.004298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00305, -0.00305, -0.003049, -0.003049, -0.003061, -0.003064, \
                 -0.003062, -0.003066, -0.003066, -0.003066");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008413, 0.008415, 0.008423, 0.008411, 0.008408, 0.008407, 0.008405, \
                 0.008396, 0.008395, 0.008389");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007961, -0.007956, -0.007962, -0.008022, -0.008081, -0.008135, \
                 -0.008157, -0.008184, -0.008208, -0.008233");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004329, 0.004319, 0.00432, 0.004318, 0.004331, 0.004327, 0.004323, \
                 0.004318, 0.004309, 0.004299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00305, -0.003054, -0.00305, -0.00305, -0.003062, -0.003061, \
                 -0.003062, -0.003065, -0.003063, -0.003066");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09802, 0.09767, 0.09686, 0.0964, 0.09809, 0.1038, 0.1143, 0.13, \
                 0.1506, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.02941, 0.02905, 0.02897, 0.0307, 0.03553, 0.04402, \
                 0.05651, 0.07324, 0.09432");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09802, 0.09767, 0.09686, 0.09641, 0.0981, 0.1038, 0.1143, 0.13, \
                 0.1506, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.02941, 0.02905, 0.02897, 0.03072, 0.03553, 0.04402, \
                 0.05652, 0.07327, 0.09433");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1325, 0.1321, 0.1344, 0.1415, 0.1541, 0.1728, \
                 0.1974, 0.2274");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08945, 0.08951, 0.08916, 0.08925, 0.092, 0.09836, 0.1091, 0.1245, \
                 0.1447, 0.1696");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1334, 0.1325, 0.1321, 0.1344, 0.1415, 0.1541, 0.1728, \
                 0.1974, 0.2274");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08945, 0.08951, 0.08916, 0.08926, 0.092, 0.09836, 0.1091, 0.1245, \
                 0.1447, 0.1696");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008407, 0.008414, 0.008428, 0.008415, 0.008405, 0.008408, 0.008407, \
                 0.008397, 0.008393, 0.008391");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007961, -0.007959, -0.007971, -0.008025, -0.008075, -0.008131, \
                 -0.008161, -0.008185, -0.008207, -0.008234");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004328, 0.004319, 0.004317, 0.004316, 0.004316, 0.004326, 0.004321, \
                 0.004316, 0.00431, 0.004298");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003056, -0.003052, -0.003049, -0.00305, -0.003056, -0.003061, \
                 -0.003062, -0.003061, -0.003064, -0.003064");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008411, 0.008412, 0.008423, 0.008425, 0.008407, 0.008402, 0.008404, \
                 0.008401, 0.008394, 0.008392");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007967, -0.007961, -0.007967, -0.008024, -0.008084, -0.008115, \
                 -0.008164, -0.008184, -0.008209, -0.008231");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004326, 0.004314, 0.004317, 0.004316, 0.004321, 0.004318, 0.004324, \
                 0.004318, 0.00431, 0.0043");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003059, -0.003046, -0.003046, -0.00305, -0.003055, -0.003055, \
                 -0.003063, -0.003062, -0.003064, -0.003064");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009438, 0.009248, 0.009192, 0.009174, 0.009187, 0.009181, 0.009177, \
                 0.009186, 0.009183, 0.009184");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006269, -0.006304, -0.006768, -0.007291, -0.007617, -0.007789, \
                 -0.007889, -0.007956, -0.007997, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009438, 0.009248, 0.009192, 0.009175, 0.009188, 0.009177, 0.009174, \
                 0.009186, 0.009182, 0.009184");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006268, -0.006309, -0.006768, -0.00729, -0.007618, -0.00779, \
                 -0.007885, -0.007959, -0.007998, -0.00803");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00945, 0.009249, 0.009196, 0.009172, 0.009171, 0.009185, 0.009191, \
                 0.009188, 0.009182, 0.009183");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006274, -0.006301, -0.006771, -0.007289, -0.007603, -0.007784, \
                 -0.007891, -0.007953, -0.007998, -0.008027");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009449, 0.009249, 0.009196, 0.009172, 0.009174, 0.009178, 0.009191, \
                 0.009187, 0.009181, 0.009184");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006268, -0.0063, -0.006775, -0.007294, -0.007603, -0.007791, \
                 -0.007891, -0.007952, -0.007997, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008316, 0.008467, 0.008529, 0.00853, 0.008541, 0.008537, 0.00852, \
                 0.0085, 0.008468, 0.008426");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008047, -0.008049, -0.008028, -0.008084, -0.00816, -0.008193, \
                 -0.008213, -0.008226, -0.008238, -0.008247");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004126, 0.004123, 0.004137, 0.004142, 0.004148, 0.004151, 0.004148, \
                 0.004148, 0.004148, 0.004146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00507, -0.004828, -0.004663, -0.004592, -0.004577, -0.004561, \
                 -0.004553, -0.004542, -0.004542, -0.004534");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008321, 0.008461, 0.008522, 0.00854, 0.008528, 0.008535, 0.008521, \
                 0.008497, 0.008469, 0.008433");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008051, -0.008042, -0.00804, -0.008083, -0.008145, -0.008196, \
                 -0.00822, -0.008226, -0.008238, -0.008245");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00413, 0.004125, 0.004132, 0.00413, 0.004135, 0.004148, 0.004149, \
                 0.004148, 0.004149, 0.004148");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005082, -0.004836, -0.004661, -0.004593, -0.00457, -0.004566, \
                 -0.004554, -0.004544, -0.004538, -0.004534");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009204, 0.0092, 0.00919, 0.009184, 0.009176, 0.00919, 0.009193, \
                 0.009188, 0.009183, 0.009182");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006275, -0.006294, -0.006771, -0.00729, -0.007603, -0.007785, \
                 -0.007893, -0.007955, -0.007997, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009213, 0.0092, 0.00919, 0.009189, 0.009176, 0.00919, 0.009193, \
                 0.009187, 0.009183, 0.009182");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006275, -0.006294, -0.006771, -0.007286, -0.007605, -0.007786, \
                 -0.007893, -0.007956, -0.007996, -0.008029");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02297, 0.02297, 0.02298, 0.02294, 0.02292, 0.02294, 0.02294, \
                 0.02294, 0.02295, 0.02294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006286, -0.006307, -0.006763, -0.007282, -0.007615, -0.007788, \
                 -0.007887, -0.007956, -0.007998, -0.008029");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02297, 0.02299, 0.02294, 0.02292, 0.02294, 0.02294, \
                 0.02295, 0.02295, 0.02294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006286, -0.006302, -0.006763, -0.007282, -0.007615, -0.007788, \
                 -0.007882, -0.007956, -0.007995, -0.008028");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008372, 0.008376, 0.008378, 0.00837, 0.008356, 0.008368, 0.008365, \
                 0.008367, 0.008365, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008053, -0.008056, -0.008039, -0.008079, -0.008148, -0.008191, \
                 -0.00821, -0.00823, -0.008237, -0.008247");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004121, 0.004127, 0.004135, 0.004138, 0.004135, 0.00415, 0.004147, \
                 0.00415, 0.004148, 0.00415");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005071, -0.004844, -0.004657, -0.004599, -0.004574, -0.004564, \
                 -0.004553, -0.004546, -0.004543, -0.004536");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008369, 0.008374, 0.008382, 0.008361, 0.008371, 0.00837, 0.008369, \
                 0.008363, 0.008363, 0.00836");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00804, -0.008036, -0.008032, -0.008079, -0.008149, -0.008193, \
                 -0.008213, -0.008229, -0.008237, -0.008245");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004114, 0.004108, 0.00411, 0.004114, 0.004114, 0.004125, 0.004127, \
                 0.004123, 0.004125, 0.004123");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003113, -0.003118, -0.003114, -0.003118, -0.00312, -0.003125, \
                 -0.003122, -0.003118, -0.003117, -0.003113");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.109, -0.095, -0.052, 0.017, 0.077, 0.117, 0.142, 0.136, 0.099, 0.044",\
                 "-0.118, -0.104, -0.06, 0.006, 0.07, 0.111, 0.133, 0.123, 0.097, 0.036",\
                 "-0.162, -0.148, -0.102, -0.03, 0.035, 0.073, 0.094, 0.087, 0.056, -0",\
                 "-0.226, -0.209, -0.166, -0.099, -0.031, 0.008, 0.026, 0.022, -0.012, -0.07",\
                 "-0.307, -0.294, -0.243, -0.179, -0.114, -0.075, -0.058, -0.062, -0.088, -0.144",\
                 "-0.393, -0.383, -0.334, -0.264, -0.206, -0.167, -0.146, -0.154, -0.185, -0.239",\
                 "-0.496, -0.476, -0.438, -0.375, -0.307, -0.271, -0.258, -0.257, -0.293, -0.345",\
                 "-0.62, -0.601, -0.572, -0.509, -0.442, -0.41, -0.387, -0.395, -0.429, -0.478",\
                 "-0.776, -0.756, -0.727, -0.67, -0.603, -0.58, -0.559, -0.564, -0.599, -0.65",\
                 "-0.97, -0.948, -0.927, -0.882, -0.815, -0.788, -0.768, -0.767, -0.809, -0.859");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.355, -0.348, -0.31, -0.292, -0.302, -0.326, -0.381, -0.448, -0.546, -0.664",\
                 "-0.371, -0.358, -0.326, -0.303, -0.309, -0.342, -0.39, -0.462, -0.554, -0.677",\
                 "-0.398, -0.385, -0.354, -0.337, -0.339, -0.368, -0.413, -0.491, -0.581, -0.703",\
                 "-0.444, -0.43, -0.398, -0.375, -0.38, -0.401, -0.443, -0.512, -0.606, -0.724",\
                 "-0.486, -0.471, -0.434, -0.416, -0.41, -0.425, -0.47, -0.535, -0.617, -0.734",\
                 "-0.514, -0.501, -0.462, -0.432, -0.424, -0.443, -0.476, -0.542, -0.625, -0.737",\
                 "-0.504, -0.493, -0.456, -0.425, -0.427, -0.439, -0.476, -0.53, -0.618, -0.723",\
                 "-0.467, -0.458, -0.416, -0.395, -0.39, -0.402, -0.436, -0.498, -0.584, -0.693",\
                 "-0.386, -0.37, -0.338, -0.312, -0.31, -0.329, -0.37, -0.429, -0.514, -0.623",\
                 "-0.257, -0.251, -0.214, -0.192, -0.188, -0.213, -0.254, -0.32, -0.413, -0.527");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.109, -0.095, -0.052, 0.017, 0.077, 0.117, 0.142, 0.136, 0.099, 0.044",\
                 "-0.118, -0.104, -0.06, 0.006, 0.07, 0.111, 0.133, 0.123, 0.097, 0.036",\
                 "-0.162, -0.148, -0.102, -0.03, 0.035, 0.073, 0.094, 0.087, 0.056, -0",\
                 "-0.226, -0.209, -0.166, -0.099, -0.031, 0.008, 0.026, 0.022, -0.012, -0.07",\
                 "-0.307, -0.294, -0.243, -0.179, -0.114, -0.075, -0.058, -0.062, -0.088, -0.144",\
                 "-0.393, -0.383, -0.334, -0.264, -0.206, -0.167, -0.146, -0.154, -0.185, -0.239",\
                 "-0.496, -0.476, -0.438, -0.375, -0.307, -0.271, -0.25, -0.257, -0.293, -0.345",\
                 "-0.62, -0.601, -0.565, -0.509, -0.434, -0.41, -0.387, -0.395, -0.429, -0.478",\
                 "-0.776, -0.756, -0.727, -0.679, -0.603, -0.58, -0.559, -0.564, -0.599, -0.65",\
                 "-0.97, -0.948, -0.927, -0.875, -0.815, -0.788, -0.768, -0.767, -0.809, -0.859");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.355, -0.341, -0.31, -0.292, -0.302, -0.326, -0.381, -0.448, -0.546, -0.664",\
                 "-0.371, -0.358, -0.326, -0.303, -0.309, -0.342, -0.39, -0.462, -0.554, -0.677",\
                 "-0.398, -0.385, -0.354, -0.337, -0.339, -0.368, -0.413, -0.491, -0.581, -0.703",\
                 "-0.444, -0.43, -0.398, -0.375, -0.38, -0.401, -0.443, -0.512, -0.606, -0.724",\
                 "-0.486, -0.471, -0.434, -0.416, -0.41, -0.425, -0.47, -0.535, -0.617, -0.734",\
                 "-0.514, -0.501, -0.462, -0.432, -0.424, -0.443, -0.476, -0.542, -0.625, -0.737",\
                 "-0.504, -0.493, -0.456, -0.435, -0.428, -0.439, -0.476, -0.53, -0.618, -0.723",\
                 "-0.467, -0.452, -0.416, -0.395, -0.39, -0.402, -0.436, -0.498, -0.578, -0.693",\
                 "-0.386, -0.37, -0.338, -0.312, -0.31, -0.329, -0.37, -0.429, -0.514, -0.623",\
                 "-0.257, -0.246, -0.214, -0.192, -0.188, -0.213, -0.254, -0.32, -0.413, -0.527");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.03, 1.017, 0.954, 0.865, 0.787, 0.723, 0.685, 0.672, 0.689, 0.738",\
                 "1.04, 1.025, 0.96, 0.872, 0.795, 0.731, 0.69, 0.677, 0.706, 0.75",\
                 "1.08, 1.06, 1, 0.906, 0.836, 0.77, 0.731, 0.721, 0.738, 0.789",\
                 "1.153, 1.134, 1.077, 0.98, 0.903, 0.841, 0.803, 0.787, 0.807, 0.865",\
                 "1.276, 1.259, 1.2, 1.103, 1.023, 0.969, 0.928, 0.914, 0.93, 0.973",\
                 "1.464, 1.455, 1.394, 1.295, 1.213, 1.15, 1.11, 1.097, 1.107, 1.158",\
                 "1.735, 1.727, 1.661, 1.564, 1.48, 1.41, 1.365, 1.35, 1.356, 1.402",\
                 "2.072, 2.058, 1.995, 1.899, 1.812, 1.741, 1.686, 1.66, 1.671, 1.699",\
                 "2.471, 2.457, 2.389, 2.286, 2.202, 2.115, 2.065, 2.029, 2.03, 2.055",\
                 "2.918, 2.903, 2.837, 2.728, 2.638, 2.548, 2.495, 2.458, 2.449, 2.472");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.836, 0.819, 0.761, 0.683, 0.63, 0.608, 0.626, 0.672, 0.745, 0.857",\
                 "0.849, 0.834, 0.776, 0.698, 0.641, 0.619, 0.638, 0.683, 0.762, 0.866",\
                 "0.876, 0.864, 0.811, 0.726, 0.67, 0.649, 0.667, 0.715, 0.796, 0.897",\
                 "0.917, 0.903, 0.85, 0.774, 0.713, 0.694, 0.703, 0.747, 0.824, 0.921",\
                 "0.977, 0.964, 0.912, 0.828, 0.774, 0.741, 0.745, 0.788, 0.854, 0.949",\
                 "1.021, 1.007, 0.953, 0.871, 0.819, 0.783, 0.786, 0.811, 0.876, 0.97",\
                 "1.044, 1.032, 0.973, 0.895, 0.84, 0.803, 0.799, 0.833, 0.889, 0.981",\
                 "1.039, 1.025, 0.97, 0.89, 0.834, 0.797, 0.788, 0.813, 0.874, 0.965",\
                 "0.998, 0.98, 0.925, 0.853, 0.792, 0.753, 0.753, 0.773, 0.832, 0.92",\
                 "0.924, 0.906, 0.847, 0.77, 0.714, 0.679, 0.668, 0.695, 0.755, 0.84");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.03, 1.017, 0.954, 0.856, 0.787, 0.717, 0.685, 0.672, 0.689, 0.738",\
                 "1.04, 1.025, 0.96, 0.872, 0.795, 0.731, 0.69, 0.677, 0.706, 0.75",\
                 "1.08, 1.06, 1, 0.906, 0.836, 0.77, 0.731, 0.721, 0.738, 0.789",\
                 "1.153, 1.144, 1.077, 0.98, 0.903, 0.841, 0.803, 0.787, 0.807, 0.865",\
                 "1.276, 1.266, 1.2, 1.098, 1.023, 0.969, 0.928, 0.914, 0.93, 0.973",\
                 "1.464, 1.455, 1.394, 1.295, 1.222, 1.155, 1.11, 1.097, 1.107, 1.158",\
                 "1.735, 1.718, 1.661, 1.564, 1.48, 1.41, 1.365, 1.35, 1.356, 1.402",\
                 "2.072, 2.058, 1.995, 1.899, 1.812, 1.741, 1.686, 1.66, 1.664, 1.699",\
                 "2.471, 2.457, 2.389, 2.286, 2.193, 2.12, 2.065, 2.029, 2.03, 2.055",\
                 "2.918, 2.908, 2.837, 2.728, 2.638, 2.554, 2.495, 2.458, 2.449, 2.472");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.836, 0.819, 0.761, 0.692, 0.63, 0.608, 0.626, 0.672, 0.753, 0.857",\
                 "0.842, 0.834, 0.776, 0.698, 0.641, 0.619, 0.638, 0.683, 0.762, 0.866",\
                 "0.882, 0.864, 0.811, 0.726, 0.67, 0.649, 0.667, 0.715, 0.796, 0.897",\
                 "0.917, 0.903, 0.85, 0.774, 0.713, 0.694, 0.704, 0.747, 0.816, 0.921",\
                 "0.977, 0.964, 0.903, 0.828, 0.774, 0.741, 0.745, 0.788, 0.854, 0.949",\
                 "1.021, 1.007, 0.953, 0.871, 0.819, 0.783, 0.786, 0.811, 0.876, 0.97",\
                 "1.044, 1.032, 0.973, 0.895, 0.84, 0.803, 0.799, 0.833, 0.889, 0.981",\
                 "1.039, 1.025, 0.97, 0.89, 0.834, 0.797, 0.788, 0.813, 0.874, 0.965",\
                 "0.998, 0.988, 0.925, 0.853, 0.792, 0.753, 0.747, 0.773, 0.832, 0.92",\
                 "0.924, 0.906, 0.847, 0.775, 0.714, 0.679, 0.668, 0.695, 0.755, 0.84");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3599 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&RN&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1466, 0.1457, 0.1444, 0.1438, 0.1436, 0.1435, 0.1434, 0.1433, 0.1433, 0.1433",\
                 "0.1466, 0.1456, 0.1443, 0.1438, 0.1436, 0.1434, 0.1434, 0.1433, 0.1433, 0.1433",\
                 "0.1467, 0.1456, 0.1444, 0.1439, 0.1436, 0.1435, 0.1434, 0.1434, 0.1433, 0.1433",\
                 "0.1473, 0.1463, 0.145, 0.1445, 0.1443, 0.1441, 0.1441, 0.144, 0.144, 0.144",\
                 "0.1481, 0.1473, 0.1459, 0.1454, 0.1452, 0.1451, 0.145, 0.1449, 0.1449, 0.1449",\
                 "0.1493, 0.1483, 0.147, 0.1465, 0.1462, 0.1461, 0.146, 0.146, 0.1459, 0.1459",\
                 "0.1503, 0.1494, 0.1481, 0.1475, 0.1473, 0.1472, 0.1471, 0.1471, 0.147, 0.147",\
                 "0.1517, 0.1507, 0.1494, 0.1489, 0.1487, 0.1485, 0.1485, 0.1483, 0.1483, 0.1483",\
                 "0.1532, 0.1522, 0.1509, 0.1503, 0.1501, 0.1499, 0.1498, 0.1498, 0.1498, 0.1498",\
                 "0.1546, 0.1536, 0.1523, 0.1518, 0.1516, 0.1515, 0.1514, 0.1513, 0.1513, 0.1513");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1824, 0.1811, 0.179, 0.178, 0.1776, 0.1778, 0.1784, 0.179, 0.1798, 0.1844",\
                 "0.1824, 0.1811, 0.1789, 0.1779, 0.1775, 0.1778, 0.1785, 0.179, 0.1799, 0.1839",\
                 "0.1824, 0.1811, 0.179, 0.1779, 0.1776, 0.1779, 0.1785, 0.179, 0.1799, 0.1843",\
                 "0.1827, 0.1813, 0.1793, 0.1781, 0.1778, 0.178, 0.1787, 0.1792, 0.1799, 0.1851",\
                 "0.1832, 0.1818, 0.1797, 0.1786, 0.1783, 0.1786, 0.1789, 0.1798, 0.1805, 0.1859",\
                 "0.184, 0.1827, 0.1804, 0.1796, 0.1792, 0.1795, 0.1799, 0.1809, 0.182, 0.188",\
                 "0.185, 0.1837, 0.1816, 0.1804, 0.1808, 0.1808, 0.1811, 0.1819, 0.1832, 0.1919",\
                 "0.1866, 0.1853, 0.183, 0.1819, 0.1816, 0.1824, 0.1835, 0.1837, 0.1844, 0.1963",\
                 "0.1884, 0.1871, 0.185, 0.1837, 0.1833, 0.1836, 0.1847, 0.186, 0.1881, 0.2038",\
                 "0.1904, 0.1892, 0.187, 0.1857, 0.1853, 0.185, 0.1859, 0.1878, 0.1916, 0.2167");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&!SE&SETN&SI | !D&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1467, 0.1457, 0.1443, 0.1438, 0.1436, 0.1434, 0.1434, 0.1433, 0.1433, 0.1433",\
                 "0.1466, 0.1457, 0.1444, 0.1438, 0.1436, 0.1435, 0.1434, 0.1434, 0.1433, 0.1433",\
                 "0.1466, 0.1457, 0.1444, 0.1439, 0.1436, 0.1435, 0.1434, 0.1434, 0.1433, 0.1433",\
                 "0.1473, 0.1463, 0.145, 0.1445, 0.1442, 0.1441, 0.144, 0.144, 0.144, 0.144",\
                 "0.1482, 0.1472, 0.1459, 0.1453, 0.1451, 0.145, 0.1449, 0.1448, 0.1448, 0.1448",\
                 "0.1493, 0.1484, 0.1471, 0.1465, 0.1463, 0.1461, 0.1461, 0.146, 0.146, 0.146",\
                 "0.1503, 0.1493, 0.148, 0.1475, 0.1473, 0.1471, 0.147, 0.147, 0.147, 0.1469",\
                 "0.1518, 0.1507, 0.1495, 0.149, 0.1487, 0.1486, 0.1485, 0.1484, 0.1484, 0.1484",\
                 "0.1533, 0.1523, 0.151, 0.1505, 0.1502, 0.1501, 0.15, 0.1499, 0.1499, 0.1499",\
                 "0.1547, 0.1537, 0.1524, 0.1519, 0.1516, 0.1515, 0.1514, 0.1514, 0.1513, 0.1513");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1825, 0.1812, 0.1791, 0.178, 0.1777, 0.1779, 0.1785, 0.1791, 0.1797, 0.1841",\
                 "0.1825, 0.181, 0.1789, 0.1778, 0.1776, 0.1778, 0.1785, 0.1789, 0.1799, 0.184",\
                 "0.1825, 0.1811, 0.179, 0.1779, 0.1776, 0.1779, 0.1783, 0.179, 0.1799, 0.1844",\
                 "0.1827, 0.1815, 0.1793, 0.1782, 0.1779, 0.1782, 0.1785, 0.1792, 0.18, 0.1848",\
                 "0.1832, 0.1819, 0.1797, 0.1787, 0.1783, 0.1786, 0.179, 0.1799, 0.1806, 0.186",\
                 "0.184, 0.1827, 0.1806, 0.1797, 0.1793, 0.1795, 0.1803, 0.1805, 0.1818, 0.1882",\
                 "0.1851, 0.1839, 0.1819, 0.1807, 0.1809, 0.1811, 0.1812, 0.182, 0.1831, 0.1914",\
                 "0.1867, 0.1853, 0.1832, 0.1821, 0.1817, 0.1826, 0.1835, 0.1836, 0.1847, 0.1963",\
                 "0.1885, 0.1872, 0.185, 0.1838, 0.1833, 0.1837, 0.185, 0.1861, 0.1879, 0.204",\
                 "0.1906, 0.1892, 0.1873, 0.1859, 0.1856, 0.1851, 0.1861, 0.188, 0.1914, 0.2157");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&SE&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1467, 0.1457, 0.1443, 0.1439, 0.1436, 0.1435, 0.1434, 0.1434, 0.1433, 0.1433",\
                 "0.1467, 0.1457, 0.1444, 0.1439, 0.1436, 0.1435, 0.1434, 0.1434, 0.1433, 0.1433",\
                 "0.1467, 0.1457, 0.1444, 0.1439, 0.1436, 0.1435, 0.1434, 0.1434, 0.1433, 0.1433",\
                 "0.1473, 0.1463, 0.145, 0.1445, 0.1442, 0.1441, 0.144, 0.144, 0.144, 0.1439",\
                 "0.1481, 0.1472, 0.1459, 0.1453, 0.1452, 0.145, 0.145, 0.1449, 0.1449, 0.1449",\
                 "0.1493, 0.1482, 0.1469, 0.1464, 0.1462, 0.1461, 0.146, 0.146, 0.1459, 0.1459",\
                 "0.1503, 0.1493, 0.148, 0.1475, 0.1472, 0.1471, 0.147, 0.147, 0.147, 0.1469",\
                 "0.1517, 0.1507, 0.1494, 0.1489, 0.1487, 0.1485, 0.1484, 0.1484, 0.1483, 0.1483",\
                 "0.1531, 0.1521, 0.1508, 0.1503, 0.1501, 0.15, 0.1499, 0.1499, 0.1498, 0.1498",\
                 "0.1547, 0.1537, 0.1524, 0.1519, 0.1516, 0.1515, 0.1514, 0.1514, 0.1513, 0.1513");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1825, 0.1812, 0.179, 0.178, 0.1776, 0.178, 0.1785, 0.179, 0.1796, 0.1837",\
                 "0.1824, 0.1811, 0.1789, 0.1779, 0.1776, 0.1779, 0.1783, 0.179, 0.1799, 0.1839",\
                 "0.1824, 0.1811, 0.1789, 0.178, 0.1776, 0.1779, 0.1784, 0.179, 0.1798, 0.1844",\
                 "0.1827, 0.1814, 0.1792, 0.1781, 0.1778, 0.1781, 0.1785, 0.1792, 0.1799, 0.1851",\
                 "0.1834, 0.182, 0.18, 0.1788, 0.1785, 0.1788, 0.1793, 0.1799, 0.1806, 0.1867",\
                 "0.1839, 0.1825, 0.1805, 0.1795, 0.1791, 0.1794, 0.1799, 0.1803, 0.1813, 0.1883",\
                 "0.185, 0.1837, 0.1815, 0.1803, 0.1807, 0.1808, 0.1813, 0.1815, 0.1825, 0.1914",\
                 "0.1865, 0.1853, 0.183, 0.1818, 0.1815, 0.1825, 0.183, 0.1836, 0.1843, 0.1957",\
                 "0.1885, 0.1872, 0.185, 0.1839, 0.1834, 0.1836, 0.1848, 0.186, 0.1878, 0.2038",\
                 "0.1906, 0.1894, 0.1871, 0.1859, 0.1856, 0.1857, 0.1862, 0.1876, 0.1923, 0.2163");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1467, 0.1456, 0.1444, 0.1438, 0.1436, 0.1435, 0.1433, 0.1433, 0.1433, 0.1433",\
                 "0.1467, 0.1456, 0.1444, 0.1439, 0.1436, 0.1435, 0.1434, 0.1434, 0.1433, 0.1433",\
                 "0.1467, 0.1457, 0.1444, 0.1439, 0.1436, 0.1435, 0.1435, 0.1434, 0.1434, 0.1434",\
                 "0.1473, 0.1463, 0.145, 0.1445, 0.1443, 0.1441, 0.144, 0.144, 0.144, 0.144",\
                 "0.1481, 0.1473, 0.1459, 0.1454, 0.1452, 0.145, 0.145, 0.1449, 0.1449, 0.1449",\
                 "0.1492, 0.1482, 0.147, 0.1464, 0.1462, 0.1461, 0.146, 0.1459, 0.1459, 0.1459",\
                 "0.1503, 0.1493, 0.148, 0.1475, 0.1472, 0.1471, 0.147, 0.147, 0.1469, 0.1469",\
                 "0.1516, 0.1507, 0.1494, 0.1489, 0.1486, 0.1485, 0.1484, 0.1484, 0.1483, 0.1483",\
                 "0.1531, 0.1522, 0.1509, 0.1504, 0.1501, 0.15, 0.1499, 0.1498, 0.1498, 0.1498",\
                 "0.1546, 0.1536, 0.1523, 0.1518, 0.1516, 0.1514, 0.1513, 0.1513, 0.1512, 0.1512");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1824, 0.1811, 0.1791, 0.178, 0.1777, 0.1777, 0.1785, 0.179, 0.1797, 0.1841",\
                 "0.1824, 0.1811, 0.1789, 0.1779, 0.1775, 0.1779, 0.1783, 0.1789, 0.1798, 0.184",\
                 "0.1824, 0.1812, 0.179, 0.1779, 0.1776, 0.1779, 0.1782, 0.1789, 0.1798, 0.1841",\
                 "0.1828, 0.1814, 0.1792, 0.1781, 0.1778, 0.1782, 0.1785, 0.1792, 0.1799, 0.1851",\
                 "0.1832, 0.1819, 0.1798, 0.1787, 0.1783, 0.1786, 0.179, 0.1799, 0.1806, 0.186",\
                 "0.1838, 0.1826, 0.1803, 0.1794, 0.179, 0.1793, 0.1797, 0.1803, 0.1815, 0.1882",\
                 "0.1851, 0.1838, 0.1817, 0.1805, 0.1808, 0.1809, 0.1811, 0.1816, 0.1825, 0.1914",\
                 "0.1865, 0.1851, 0.183, 0.1817, 0.1816, 0.1824, 0.1833, 0.1834, 0.1847, 0.196",\
                 "0.1885, 0.1872, 0.185, 0.1838, 0.1833, 0.1837, 0.185, 0.1861, 0.1879, 0.204",\
                 "0.1906, 0.1892, 0.1871, 0.1858, 0.1853, 0.1854, 0.1857, 0.1877, 0.1917, 0.2164");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1121, 0.1115, 0.1109, 0.1107, 0.1106, 0.1106, 0.1106, 0.1106, 0.1105, 0.1105",\
                 "0.1112, 0.1107, 0.11, 0.1099, 0.1098, 0.1098, 0.1097, 0.1097, 0.1097, 0.1097",\
                 "0.1119, 0.1113, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
                 "0.1188, 0.1177, 0.1161, 0.1154, 0.1151, 0.115, 0.1149, 0.1148, 0.1148, 0.1148",\
                 "0.1325, 0.1308, 0.1282, 0.1266, 0.1257, 0.1252, 0.125, 0.1249, 0.1248, 0.1247",\
                 "0.154, 0.1516, 0.1477, 0.1449, 0.1433, 0.1424, 0.1419, 0.1415, 0.1413, 0.1412",\
                 "0.1832, 0.1804, 0.1751, 0.1709, 0.1683, 0.1668, 0.1658, 0.1652, 0.1649, 0.1646",\
                 "0.2205, 0.2171, 0.2103, 0.2047, 0.201, 0.1987, 0.1972, 0.1963, 0.1957, 0.1952",\
                 "0.266, 0.262, 0.2538, 0.2469, 0.2419, 0.2386, 0.2365, 0.2351, 0.2342, 0.2335",\
                 "0.32, 0.3155, 0.306, 0.2975, 0.2911, 0.2869, 0.2841, 0.2821, 0.2808, 0.2798");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.05836, 0.05729, 0.05604, 0.05563, 0.05576, 0.05641, 0.05677, 0.05746, 0.05856, 0.06212",\
                 "0.0576, 0.05662, 0.05533, 0.05483, 0.05506, 0.05562, 0.05614, 0.05664, 0.05744, 0.0608",\
                 "0.05676, 0.05578, 0.05442, 0.05391, 0.05401, 0.05466, 0.05515, 0.05565, 0.05681, 0.06005",\
                 "0.06077, 0.05964, 0.05779, 0.05691, 0.05681, 0.0573, 0.05786, 0.05838, 0.05912, 0.06331",\
                 "0.07078, 0.06928, 0.06708, 0.06569, 0.0649, 0.06506, 0.06545, 0.06597, 0.06712, 0.07176",\
                 "0.08802, 0.08626, 0.08289, 0.08057, 0.07995, 0.07935, 0.07921, 0.0797, 0.08057, 0.08643",\
                 "0.1126, 0.1104, 0.1064, 0.103, 0.1011, 0.1012, 0.1004, 0.1, 0.1007, 0.1076",\
                 "0.1444, 0.1418, 0.1371, 0.1325, 0.1297, 0.1282, 0.1286, 0.1282, 0.1283, 0.1368",\
                 "0.1837, 0.1807, 0.1749, 0.1698, 0.1659, 0.1632, 0.1626, 0.1635, 0.1639, 0.1764",\
                 "0.2307, 0.2272, 0.2206, 0.2144, 0.2097, 0.2067, 0.2041, 0.2039, 0.208, 0.2265");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1121, 0.1115, 0.1109, 0.1107, 0.1106, 0.1106, 0.1106, 0.1105, 0.1105, 0.1105",\
                 "0.1112, 0.1107, 0.11, 0.1099, 0.1098, 0.1098, 0.1097, 0.1097, 0.1097, 0.1097",\
                 "0.1119, 0.1113, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
                 "0.1188, 0.1177, 0.1161, 0.1154, 0.1151, 0.115, 0.1149, 0.1148, 0.1148, 0.1148",\
                 "0.1325, 0.1308, 0.1282, 0.1266, 0.1257, 0.1253, 0.125, 0.1249, 0.1248, 0.1247",\
                 "0.154, 0.1516, 0.1477, 0.1449, 0.1433, 0.1424, 0.1419, 0.1415, 0.1413, 0.1412",\
                 "0.1832, 0.1804, 0.1751, 0.1709, 0.1683, 0.1668, 0.1658, 0.1652, 0.1649, 0.1646",\
                 "0.2205, 0.217, 0.2103, 0.2047, 0.201, 0.1987, 0.1972, 0.1963, 0.1957, 0.1952",\
                 "0.266, 0.2621, 0.2538, 0.2469, 0.2419, 0.2386, 0.2365, 0.2351, 0.2342, 0.2335",\
                 "0.32, 0.3155, 0.306, 0.2975, 0.2912, 0.2869, 0.2841, 0.2821, 0.2808, 0.2798");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.05836, 0.05729, 0.05604, 0.05563, 0.05576, 0.05641, 0.05677, 0.05746, 0.05856, 0.06212",\
                 "0.05759, 0.05662, 0.05533, 0.05483, 0.05506, 0.05562, 0.05614, 0.05664, 0.05744, 0.0608",\
                 "0.05676, 0.05578, 0.05442, 0.05391, 0.05401, 0.05466, 0.05515, 0.05565, 0.05681, 0.06005",\
                 "0.06077, 0.05964, 0.05779, 0.05691, 0.05681, 0.0573, 0.05786, 0.05838, 0.05912, 0.06331",\
                 "0.07074, 0.06928, 0.06708, 0.06569, 0.0649, 0.06503, 0.06545, 0.06597, 0.06712, 0.07176",\
                 "0.08803, 0.08627, 0.08289, 0.08057, 0.07978, 0.07928, 0.07921, 0.0797, 0.08057, 0.08643",\
                 "0.1126, 0.1104, 0.1065, 0.103, 0.1012, 0.1011, 0.1004, 0.09996, 0.1006, 0.1072",\
                 "0.1444, 0.1418, 0.1371, 0.1325, 0.1297, 0.1282, 0.1288, 0.1284, 0.1284, 0.137",\
                 "0.1837, 0.1806, 0.1748, 0.1695, 0.1659, 0.1632, 0.1626, 0.1635, 0.1637, 0.1764",\
                 "0.2307, 0.2272, 0.2206, 0.2144, 0.2097, 0.2066, 0.204, 0.2039, 0.208, 0.2265");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1417, 0.1411, 0.1405, 0.1403, 0.1402, 0.1401, 0.1401, 0.1401, 0.14, 0.14",\
                 "0.1418, 0.1413, 0.1407, 0.1405, 0.1403, 0.1403, 0.1402, 0.1402, 0.1402, 0.1402",\
                 "0.1426, 0.142, 0.1413, 0.141, 0.141, 0.1409, 0.1409, 0.1409, 0.1409, 0.1409",\
                 "0.1497, 0.1485, 0.147, 0.1462, 0.1458, 0.1457, 0.1456, 0.1456, 0.1455, 0.1455",\
                 "0.164, 0.1623, 0.1595, 0.1578, 0.1568, 0.1564, 0.1561, 0.156, 0.1559, 0.1558",\
                 "0.186, 0.1835, 0.1793, 0.1763, 0.1747, 0.1737, 0.1732, 0.1729, 0.1726, 0.1725",\
                 "0.215, 0.2117, 0.206, 0.2016, 0.1989, 0.1973, 0.1963, 0.1957, 0.1952, 0.195",\
                 "0.2501, 0.2462, 0.2388, 0.2329, 0.229, 0.2266, 0.2251, 0.2241, 0.2234, 0.2229",\
                 "0.2906, 0.2862, 0.2771, 0.2696, 0.2644, 0.261, 0.2588, 0.2573, 0.2564, 0.2557",\
                 "0.3352, 0.3302, 0.3194, 0.3102, 0.3037, 0.2991, 0.2962, 0.2941, 0.2927, 0.2918");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1417, 0.1411, 0.1405, 0.1403, 0.1402, 0.1401, 0.1401, 0.1401, 0.14, 0.14",\
                 "0.1418, 0.1413, 0.1407, 0.1405, 0.1403, 0.1403, 0.1402, 0.1402, 0.1402, 0.1402",\
                 "0.1426, 0.142, 0.1413, 0.141, 0.141, 0.1409, 0.1409, 0.1409, 0.1409, 0.1409",\
                 "0.1497, 0.1485, 0.147, 0.1462, 0.1458, 0.1457, 0.1456, 0.1456, 0.1455, 0.1455",\
                 "0.164, 0.1623, 0.1595, 0.1578, 0.1568, 0.1564, 0.1561, 0.156, 0.1559, 0.1558",\
                 "0.186, 0.1835, 0.1793, 0.1763, 0.1747, 0.1737, 0.1732, 0.1729, 0.1726, 0.1725",\
                 "0.215, 0.2117, 0.206, 0.2016, 0.1989, 0.1973, 0.1963, 0.1957, 0.1952, 0.195",\
                 "0.2501, 0.2462, 0.2388, 0.2329, 0.229, 0.2266, 0.2251, 0.2241, 0.2234, 0.2229",\
                 "0.2906, 0.2862, 0.2771, 0.2696, 0.2644, 0.261, 0.2588, 0.2573, 0.2564, 0.2557",\
                 "0.3352, 0.3302, 0.3194, 0.3102, 0.3037, 0.2991, 0.2962, 0.2941, 0.2927, 0.2918");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1417, 0.1411, 0.1405, 0.1403, 0.1402, 0.1401, 0.1401, 0.1401, 0.14, 0.14",\
                 "0.1418, 0.1413, 0.1407, 0.1405, 0.1403, 0.1403, 0.1402, 0.1402, 0.1402, 0.1402",\
                 "0.1426, 0.142, 0.1413, 0.141, 0.141, 0.1409, 0.1409, 0.1409, 0.1409, 0.1409",\
                 "0.1497, 0.1485, 0.147, 0.1462, 0.1458, 0.1457, 0.1456, 0.1455, 0.1455, 0.1455",\
                 "0.164, 0.1623, 0.1595, 0.1578, 0.1568, 0.1564, 0.1561, 0.156, 0.1559, 0.1558",\
                 "0.1861, 0.1835, 0.1793, 0.1763, 0.1747, 0.1737, 0.1732, 0.1729, 0.1727, 0.1725",\
                 "0.215, 0.2117, 0.206, 0.2016, 0.1989, 0.1973, 0.1963, 0.1957, 0.1953, 0.195",\
                 "0.2501, 0.2462, 0.2388, 0.2329, 0.229, 0.2266, 0.2251, 0.2241, 0.2234, 0.2229",\
                 "0.2906, 0.2862, 0.2771, 0.2696, 0.2644, 0.261, 0.2588, 0.2573, 0.2564, 0.2557",\
                 "0.3352, 0.3302, 0.3194, 0.3102, 0.3037, 0.2991, 0.2962, 0.2941, 0.2927, 0.2918");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1417, 0.1411, 0.1405, 0.1403, 0.1402, 0.1401, 0.1401, 0.1401, 0.14, 0.14",\
                 "0.1418, 0.1413, 0.1407, 0.1405, 0.1403, 0.1403, 0.1402, 0.1402, 0.1402, 0.1402",\
                 "0.1426, 0.142, 0.1413, 0.141, 0.141, 0.1409, 0.1409, 0.1409, 0.1409, 0.1409",\
                 "0.1497, 0.1485, 0.147, 0.1462, 0.1458, 0.1457, 0.1456, 0.1455, 0.1455, 0.1455",\
                 "0.164, 0.1623, 0.1595, 0.1578, 0.1568, 0.1564, 0.1561, 0.156, 0.1559, 0.1558",\
                 "0.1861, 0.1835, 0.1793, 0.1763, 0.1747, 0.1737, 0.1732, 0.1729, 0.1727, 0.1725",\
                 "0.215, 0.2117, 0.206, 0.2016, 0.1989, 0.1973, 0.1963, 0.1957, 0.1953, 0.195",\
                 "0.2501, 0.2462, 0.2388, 0.2329, 0.229, 0.2266, 0.2251, 0.2241, 0.2234, 0.2229",\
                 "0.2906, 0.2862, 0.2771, 0.2696, 0.2644, 0.261, 0.2588, 0.2573, 0.2564, 0.2557",\
                 "0.3352, 0.3302, 0.3194, 0.3102, 0.3037, 0.2991, 0.2962, 0.2941, 0.2927, 0.2918");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1121, 0.1115, 0.1109, 0.1107, 0.1106, 0.1106, 0.1106, 0.1106, 0.1105, 0.1105",\
                 "0.1112, 0.1107, 0.11, 0.1099, 0.1098, 0.1098, 0.1097, 0.1097, 0.1097, 0.1097",\
                 "0.1119, 0.1113, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
                 "0.1188, 0.1177, 0.1161, 0.1154, 0.1151, 0.115, 0.1149, 0.1148, 0.1148, 0.1148",\
                 "0.1325, 0.1308, 0.1282, 0.1265, 0.1257, 0.1252, 0.125, 0.1249, 0.1248, 0.1247",\
                 "0.154, 0.1516, 0.1477, 0.1449, 0.1433, 0.1424, 0.1419, 0.1416, 0.1413, 0.1412",\
                 "0.1832, 0.1804, 0.1751, 0.1709, 0.1683, 0.1668, 0.1659, 0.1652, 0.1648, 0.1646",\
                 "0.2205, 0.217, 0.2103, 0.2047, 0.201, 0.1987, 0.1972, 0.1963, 0.1957, 0.1952",\
                 "0.266, 0.2621, 0.2538, 0.2469, 0.2419, 0.2386, 0.2365, 0.2351, 0.2342, 0.2335",\
                 "0.32, 0.3155, 0.306, 0.2975, 0.2912, 0.2869, 0.2841, 0.2821, 0.2808, 0.2798");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.05836, 0.05729, 0.05604, 0.05563, 0.05576, 0.05641, 0.05677, 0.05746, 0.05856, 0.06212",\
                 "0.0576, 0.05662, 0.05533, 0.05483, 0.05506, 0.05562, 0.05614, 0.05663, 0.05744, 0.0608",\
                 "0.05676, 0.05578, 0.05442, 0.05391, 0.05401, 0.05466, 0.05515, 0.05564, 0.05681, 0.06005",\
                 "0.06077, 0.05964, 0.05779, 0.05691, 0.05681, 0.0573, 0.05786, 0.05838, 0.05912, 0.06331",\
                 "0.07078, 0.06928, 0.06708, 0.06582, 0.0649, 0.06506, 0.06568, 0.06604, 0.06705, 0.07176",\
                 "0.08796, 0.08627, 0.08296, 0.08054, 0.07985, 0.07935, 0.07924, 0.0796, 0.08103, 0.0861",\
                 "0.1125, 0.1103, 0.1064, 0.1032, 0.1012, 0.101, 0.1004, 0.1008, 0.1004, 0.1076",\
                 "0.1444, 0.1418, 0.1371, 0.1325, 0.1297, 0.1282, 0.1287, 0.1284, 0.1283, 0.1368",\
                 "0.1837, 0.1806, 0.1748, 0.1695, 0.1661, 0.1632, 0.1626, 0.1635, 0.1637, 0.1764",\
                 "0.2306, 0.2272, 0.2205, 0.2144, 0.2097, 0.2064, 0.204, 0.2039, 0.208, 0.2265");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1117, 0.1111, 0.1105, 0.1104, 0.1103, 0.1102, 0.1102, 0.1102, 0.1101, 0.1101",\
                 "0.1112, 0.1107, 0.11, 0.1099, 0.1098, 0.1097, 0.1097, 0.1097, 0.1097, 0.1097",\
                 "0.1119, 0.1113, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
                 "0.1188, 0.1177, 0.1161, 0.1154, 0.1151, 0.115, 0.1149, 0.1148, 0.1148, 0.1148",\
                 "0.1326, 0.1309, 0.1283, 0.1266, 0.1258, 0.1253, 0.125, 0.1249, 0.1248, 0.1247",\
                 "0.1541, 0.1516, 0.1478, 0.1449, 0.1433, 0.1425, 0.1419, 0.1416, 0.1414, 0.1412",\
                 "0.1833, 0.1803, 0.175, 0.1709, 0.1683, 0.1668, 0.1659, 0.1653, 0.1649, 0.1646",\
                 "0.2205, 0.2171, 0.2103, 0.2048, 0.2011, 0.1987, 0.1973, 0.1963, 0.1957, 0.1952",\
                 "0.266, 0.2621, 0.2538, 0.2468, 0.2419, 0.2386, 0.2365, 0.2351, 0.2342, 0.2336",\
                 "0.3199, 0.3156, 0.306, 0.2975, 0.2912, 0.2869, 0.2841, 0.2821, 0.2807, 0.2798");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.05832, 0.05725, 0.056, 0.05559, 0.05572, 0.05638, 0.05673, 0.05742, 0.05852, 0.06212",\
                 "0.05755, 0.05657, 0.05528, 0.0548, 0.05499, 0.05558, 0.0561, 0.0566, 0.05737, 0.0608",\
                 "0.05671, 0.05573, 0.05437, 0.05387, 0.05397, 0.05459, 0.05508, 0.05554, 0.05674, 0.06005",\
                 "0.06072, 0.05959, 0.05774, 0.05688, 0.05674, 0.05723, 0.05782, 0.05831, 0.05905, 0.06331",\
                 "0.07078, 0.06937, 0.06698, 0.06575, 0.06499, 0.06506, 0.06571, 0.0664, 0.06705, 0.07175",\
                 "0.08805, 0.08627, 0.08299, 0.08044, 0.07997, 0.07934, 0.0794, 0.07963, 0.08056, 0.08577",\
                 "0.1125, 0.1103, 0.1063, 0.1027, 0.101, 0.101, 0.1007, 0.1003, 0.1007, 0.1072",\
                 "0.1443, 0.1418, 0.1367, 0.1326, 0.1295, 0.1283, 0.1287, 0.1283, 0.1284, 0.1368",\
                 "0.1837, 0.1807, 0.175, 0.1698, 0.1655, 0.1634, 0.1626, 0.1638, 0.1637, 0.1767",\
                 "0.2306, 0.2271, 0.2205, 0.2144, 0.2097, 0.2066, 0.204, 0.2038, 0.2079, 0.2265");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1417, 0.1411, 0.1405, 0.1403, 0.1402, 0.1401, 0.1401, 0.1401, 0.14, 0.14",\
                 "0.1418, 0.1413, 0.1407, 0.1404, 0.1403, 0.1403, 0.1402, 0.1402, 0.1402, 0.1402",\
                 "0.1426, 0.142, 0.1413, 0.141, 0.141, 0.1409, 0.1409, 0.1409, 0.1409, 0.1409",\
                 "0.1497, 0.1485, 0.147, 0.1462, 0.1458, 0.1457, 0.1456, 0.1456, 0.1455, 0.1455",\
                 "0.164, 0.1623, 0.1595, 0.1578, 0.1568, 0.1564, 0.1561, 0.156, 0.1559, 0.1558",\
                 "0.1861, 0.1835, 0.1794, 0.1764, 0.1747, 0.1738, 0.1732, 0.1729, 0.1727, 0.1725",\
                 "0.215, 0.2117, 0.206, 0.2016, 0.1989, 0.1973, 0.1963, 0.1956, 0.1952, 0.195",\
                 "0.2501, 0.2462, 0.2388, 0.2329, 0.229, 0.2266, 0.225, 0.2241, 0.2234, 0.2229",\
                 "0.2906, 0.2862, 0.2771, 0.2695, 0.2644, 0.261, 0.2588, 0.2573, 0.2564, 0.2557",\
                 "0.3352, 0.3302, 0.3194, 0.3102, 0.3037, 0.2991, 0.2962, 0.2941, 0.2927, 0.2918");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1417, 0.1411, 0.1405, 0.1403, 0.1402, 0.1401, 0.1401, 0.1401, 0.14, 0.14",\
                 "0.1418, 0.1413, 0.1407, 0.1404, 0.1403, 0.1403, 0.1402, 0.1402, 0.1402, 0.1402",\
                 "0.1426, 0.142, 0.1413, 0.141, 0.141, 0.1409, 0.1409, 0.1409, 0.1409, 0.1409",\
                 "0.1497, 0.1485, 0.147, 0.1462, 0.1458, 0.1457, 0.1456, 0.1456, 0.1455, 0.1455",\
                 "0.164, 0.1623, 0.1595, 0.1578, 0.1568, 0.1564, 0.1561, 0.156, 0.1559, 0.1558",\
                 "0.1861, 0.1835, 0.1794, 0.1764, 0.1747, 0.1738, 0.1732, 0.1729, 0.1727, 0.1725",\
                 "0.215, 0.2117, 0.206, 0.2016, 0.1989, 0.1973, 0.1963, 0.1956, 0.1952, 0.195",\
                 "0.2501, 0.2462, 0.2388, 0.2329, 0.229, 0.2266, 0.225, 0.2241, 0.2234, 0.2229",\
                 "0.2906, 0.2862, 0.2771, 0.2695, 0.2644, 0.261, 0.2588, 0.2573, 0.2564, 0.2557",\
                 "0.3352, 0.3302, 0.3194, 0.3102, 0.3037, 0.2991, 0.2962, 0.2941, 0.2927, 0.2918");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1428, 0.1423, 0.1417, 0.1415, 0.1413, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1431, 0.1425, 0.1419, 0.1417, 0.1416, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415",\
                 "0.144, 0.1434, 0.1426, 0.1424, 0.1423, 0.1423, 0.1423, 0.1422, 0.1422, 0.1422",\
                 "0.151, 0.1498, 0.1483, 0.1475, 0.1471, 0.147, 0.1469, 0.1468, 0.1468, 0.1468",\
                 "0.1654, 0.1636, 0.1609, 0.1591, 0.1582, 0.1577, 0.1574, 0.1573, 0.1572, 0.1571",\
                 "0.1874, 0.1849, 0.1806, 0.1777, 0.176, 0.175, 0.1745, 0.1742, 0.1739, 0.1738",\
                 "0.2163, 0.213, 0.2073, 0.2029, 0.2003, 0.1986, 0.1977, 0.197, 0.1966, 0.1964",\
                 "0.2514, 0.2475, 0.2402, 0.2342, 0.2304, 0.228, 0.2264, 0.2255, 0.2247, 0.2242",\
                 "0.2919, 0.2875, 0.2784, 0.2708, 0.2657, 0.2623, 0.2601, 0.2586, 0.2576, 0.257",\
                 "0.3365, 0.3314, 0.3208, 0.3115, 0.305, 0.3005, 0.2975, 0.2955, 0.2941, 0.2931");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1428, 0.1423, 0.1417, 0.1415, 0.1413, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1431, 0.1425, 0.1419, 0.1417, 0.1416, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415",\
                 "0.144, 0.1434, 0.1426, 0.1424, 0.1423, 0.1423, 0.1423, 0.1422, 0.1422, 0.1422",\
                 "0.151, 0.1498, 0.1483, 0.1475, 0.1471, 0.147, 0.1469, 0.1468, 0.1468, 0.1468",\
                 "0.1654, 0.1636, 0.1609, 0.1591, 0.1582, 0.1577, 0.1574, 0.1573, 0.1572, 0.1571",\
                 "0.1874, 0.1849, 0.1806, 0.1777, 0.176, 0.175, 0.1745, 0.1742, 0.1739, 0.1738",\
                 "0.2163, 0.213, 0.2073, 0.2029, 0.2003, 0.1986, 0.1977, 0.197, 0.1966, 0.1964",\
                 "0.2514, 0.2475, 0.2402, 0.2342, 0.2304, 0.228, 0.2264, 0.2255, 0.2247, 0.2242",\
                 "0.2919, 0.2875, 0.2784, 0.2708, 0.2657, 0.2623, 0.2601, 0.2586, 0.2576, 0.257",\
                 "0.3365, 0.3314, 0.3208, 0.3115, 0.305, 0.3005, 0.2975, 0.2955, 0.2941, 0.2931");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1117, 0.1111, 0.1105, 0.1104, 0.1103, 0.1102, 0.1102, 0.1102, 0.1101, 0.1101",\
                 "0.1112, 0.1107, 0.11, 0.1099, 0.1098, 0.1097, 0.1097, 0.1097, 0.1097, 0.1097",\
                 "0.1119, 0.1113, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
                 "0.1188, 0.1177, 0.1161, 0.1154, 0.1151, 0.115, 0.1149, 0.1148, 0.1148, 0.1148",\
                 "0.1325, 0.1309, 0.1282, 0.1266, 0.1257, 0.1252, 0.125, 0.1248, 0.1248, 0.1247",\
                 "0.1541, 0.1517, 0.1477, 0.1449, 0.1433, 0.1424, 0.1419, 0.1416, 0.1414, 0.1412",\
                 "0.1833, 0.1803, 0.175, 0.1709, 0.1683, 0.1668, 0.1658, 0.1653, 0.1649, 0.1646",\
                 "0.2205, 0.2172, 0.2103, 0.2048, 0.2011, 0.1987, 0.1973, 0.1963, 0.1957, 0.1952",\
                 "0.266, 0.2621, 0.2538, 0.2468, 0.2419, 0.2386, 0.2365, 0.2351, 0.2342, 0.2336",\
                 "0.3199, 0.3157, 0.306, 0.2975, 0.2912, 0.2869, 0.2841, 0.2821, 0.2807, 0.2799");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.05832, 0.05725, 0.056, 0.05556, 0.05572, 0.05638, 0.0567, 0.05742, 0.05852, 0.06212",\
                 "0.05755, 0.05657, 0.05529, 0.0548, 0.055, 0.05559, 0.05611, 0.0566, 0.05737, 0.0608",\
                 "0.05671, 0.05573, 0.05437, 0.05388, 0.05397, 0.0546, 0.05508, 0.05554, 0.05674, 0.06005",\
                 "0.06072, 0.05959, 0.05774, 0.05688, 0.05674, 0.05724, 0.05782, 0.05832, 0.05905, 0.06331",\
                 "0.07073, 0.06937, 0.06694, 0.06576, 0.06499, 0.06506, 0.06558, 0.066, 0.06715, 0.07142",\
                 "0.08798, 0.08627, 0.08284, 0.08044, 0.07988, 0.07921, 0.07914, 0.07963, 0.0805, 0.08643",\
                 "0.1125, 0.1103, 0.1063, 0.1028, 0.101, 0.101, 0.1007, 0.1003, 0.1008, 0.1079",\
                 "0.1443, 0.1416, 0.1369, 0.1326, 0.1293, 0.1281, 0.1287, 0.1284, 0.1282, 0.1367",\
                 "0.1837, 0.1806, 0.1751, 0.1698, 0.1656, 0.1635, 0.1622, 0.1634, 0.1637, 0.1765",\
                 "0.2306, 0.2271, 0.2205, 0.2144, 0.2097, 0.2066, 0.204, 0.2038, 0.2079, 0.2262");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1117, 0.1111, 0.1105, 0.1104, 0.1103, 0.1102, 0.1102, 0.1102, 0.1101, 0.1101",\
                 "0.1112, 0.1107, 0.11, 0.1099, 0.1098, 0.1097, 0.1097, 0.1097, 0.1097, 0.1097",\
                 "0.1119, 0.1113, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
                 "0.1188, 0.1177, 0.1161, 0.1154, 0.1151, 0.115, 0.1149, 0.1148, 0.1148, 0.1148",\
                 "0.1325, 0.1309, 0.1282, 0.1266, 0.1257, 0.1252, 0.125, 0.1248, 0.1248, 0.1247",\
                 "0.1541, 0.1517, 0.1477, 0.1449, 0.1433, 0.1425, 0.1419, 0.1416, 0.1414, 0.1412",\
                 "0.1833, 0.1803, 0.175, 0.1709, 0.1683, 0.1668, 0.1659, 0.1653, 0.1649, 0.1646",\
                 "0.2205, 0.2172, 0.2103, 0.2048, 0.2011, 0.1987, 0.1973, 0.1963, 0.1957, 0.1952",\
                 "0.266, 0.2621, 0.2538, 0.2468, 0.2419, 0.2386, 0.2365, 0.2351, 0.2342, 0.2336",\
                 "0.3199, 0.3157, 0.306, 0.2975, 0.2912, 0.2869, 0.2841, 0.2821, 0.2808, 0.2799");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.05832, 0.05725, 0.056, 0.05556, 0.05572, 0.05638, 0.0567, 0.05743, 0.05852, 0.06212",\
                 "0.05755, 0.05657, 0.05529, 0.0548, 0.055, 0.05559, 0.05611, 0.0566, 0.05737, 0.0608",\
                 "0.05671, 0.05573, 0.05437, 0.05388, 0.05397, 0.0546, 0.05508, 0.05554, 0.05674, 0.06005",\
                 "0.06072, 0.05959, 0.05774, 0.05688, 0.05674, 0.05724, 0.05782, 0.05832, 0.05905, 0.06331",\
                 "0.07073, 0.06937, 0.06695, 0.06576, 0.06499, 0.06509, 0.06541, 0.06604, 0.06715, 0.07142",\
                 "0.08798, 0.08626, 0.08284, 0.08047, 0.07971, 0.07921, 0.07914, 0.07963, 0.0805, 0.08643",\
                 "0.1125, 0.1103, 0.1063, 0.1027, 0.101, 0.101, 0.1007, 0.1003, 0.1008, 0.1079",\
                 "0.1443, 0.1416, 0.1369, 0.1326, 0.1293, 0.1281, 0.1287, 0.1279, 0.1282, 0.1367",\
                 "0.1837, 0.1807, 0.1751, 0.1698, 0.1656, 0.1635, 0.1622, 0.1634, 0.1637, 0.1768",\
                 "0.2306, 0.2271, 0.2205, 0.2144, 0.2097, 0.2066, 0.204, 0.2038, 0.2079, 0.2267");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1428, 0.1423, 0.1417, 0.1415, 0.1413, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1431, 0.1425, 0.142, 0.1417, 0.1416, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415",\
                 "0.144, 0.1434, 0.1426, 0.1424, 0.1423, 0.1423, 0.1422, 0.1422, 0.1422, 0.1422",\
                 "0.151, 0.1498, 0.1483, 0.1475, 0.1471, 0.147, 0.1469, 0.1468, 0.1468, 0.1468",\
                 "0.1653, 0.1636, 0.1609, 0.1591, 0.1581, 0.1577, 0.1574, 0.1572, 0.1571, 0.1571",\
                 "0.1874, 0.1849, 0.1806, 0.1777, 0.176, 0.1751, 0.1745, 0.1742, 0.174, 0.1738",\
                 "0.2163, 0.213, 0.2073, 0.2029, 0.2003, 0.1987, 0.1977, 0.197, 0.1966, 0.1963",\
                 "0.2514, 0.2476, 0.2402, 0.2342, 0.2303, 0.228, 0.2264, 0.2254, 0.2247, 0.2242",\
                 "0.2919, 0.2875, 0.2784, 0.2708, 0.2657, 0.2623, 0.2601, 0.2586, 0.2576, 0.2569",\
                 "0.3365, 0.3315, 0.3208, 0.3116, 0.305, 0.3006, 0.2975, 0.2955, 0.2942, 0.2931");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1428, 0.1423, 0.1417, 0.1415, 0.1413, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1431, 0.1425, 0.142, 0.1417, 0.1416, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415",\
                 "0.144, 0.1434, 0.1426, 0.1424, 0.1423, 0.1423, 0.1422, 0.1422, 0.1422, 0.1422",\
                 "0.151, 0.1498, 0.1483, 0.1475, 0.1471, 0.147, 0.1469, 0.1468, 0.1468, 0.1468",\
                 "0.1653, 0.1636, 0.1609, 0.1591, 0.1581, 0.1577, 0.1574, 0.1572, 0.1571, 0.1571",\
                 "0.1874, 0.1849, 0.1806, 0.1777, 0.176, 0.1751, 0.1745, 0.1742, 0.174, 0.1738",\
                 "0.2163, 0.213, 0.2073, 0.2029, 0.2003, 0.1987, 0.1977, 0.197, 0.1966, 0.1963",\
                 "0.2514, 0.2476, 0.2402, 0.2342, 0.2303, 0.228, 0.2264, 0.2254, 0.2247, 0.2242",\
                 "0.2919, 0.2875, 0.2784, 0.2708, 0.2657, 0.2623, 0.2601, 0.2586, 0.2576, 0.2569",\
                 "0.3365, 0.3315, 0.3208, 0.3116, 0.305, 0.3006, 0.2975, 0.2955, 0.2942, 0.2931");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1428, 0.1423, 0.1417, 0.1415, 0.1413, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1431, 0.1425, 0.142, 0.1417, 0.1416, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415",\
                 "0.144, 0.1434, 0.1426, 0.1424, 0.1423, 0.1423, 0.1422, 0.1422, 0.1422, 0.1422",\
                 "0.151, 0.1498, 0.1483, 0.1475, 0.1471, 0.147, 0.1469, 0.1468, 0.1468, 0.1468",\
                 "0.1654, 0.1636, 0.1609, 0.1591, 0.1581, 0.1577, 0.1574, 0.1572, 0.1571, 0.1571",\
                 "0.1874, 0.1849, 0.1806, 0.1777, 0.176, 0.175, 0.1745, 0.1742, 0.1739, 0.1738",\
                 "0.2164, 0.213, 0.2073, 0.2029, 0.2003, 0.1986, 0.1977, 0.197, 0.1966, 0.1964",\
                 "0.2514, 0.2476, 0.2402, 0.2342, 0.2303, 0.2279, 0.2264, 0.2254, 0.2247, 0.2242",\
                 "0.2919, 0.2875, 0.2784, 0.2708, 0.2657, 0.2623, 0.2601, 0.2586, 0.2577, 0.2569",\
                 "0.3365, 0.3315, 0.3207, 0.3116, 0.305, 0.3006, 0.2975, 0.2954, 0.2941, 0.2931");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1428, 0.1423, 0.1417, 0.1415, 0.1413, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1431, 0.1425, 0.142, 0.1417, 0.1416, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415",\
                 "0.144, 0.1434, 0.1426, 0.1424, 0.1423, 0.1423, 0.1422, 0.1422, 0.1422, 0.1422",\
                 "0.151, 0.1498, 0.1483, 0.1475, 0.1471, 0.147, 0.1469, 0.1468, 0.1468, 0.1468",\
                 "0.1654, 0.1636, 0.1609, 0.1591, 0.1581, 0.1577, 0.1574, 0.1572, 0.1571, 0.1571",\
                 "0.1874, 0.1849, 0.1806, 0.1777, 0.176, 0.175, 0.1745, 0.1742, 0.1739, 0.1738",\
                 "0.2164, 0.213, 0.2073, 0.2029, 0.2003, 0.1986, 0.1977, 0.197, 0.1966, 0.1964",\
                 "0.2514, 0.2476, 0.2402, 0.2342, 0.2303, 0.2279, 0.2264, 0.2254, 0.2247, 0.2242",\
                 "0.2919, 0.2875, 0.2784, 0.2708, 0.2657, 0.2623, 0.2601, 0.2586, 0.2577, 0.2569",\
                 "0.3365, 0.3315, 0.3207, 0.3116, 0.305, 0.3006, 0.2975, 0.2954, 0.2941, 0.2931");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1121, 0.1115, 0.1109, 0.1107, 0.1106, 0.1106, 0.1106, 0.1106, 0.1105, 0.1105",\
                 "0.1112, 0.1107, 0.11, 0.1099, 0.1098, 0.1098, 0.1097, 0.1097, 0.1097, 0.1097",\
                 "0.1119, 0.1113, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
                 "0.1188, 0.1177, 0.1161, 0.1154, 0.1151, 0.115, 0.1149, 0.1148, 0.1148, 0.1148",\
                 "0.1325, 0.1308, 0.1282, 0.1265, 0.1257, 0.1252, 0.125, 0.1249, 0.1248, 0.1247",\
                 "0.154, 0.1516, 0.1477, 0.1449, 0.1433, 0.1424, 0.1419, 0.1415, 0.1413, 0.1412",\
                 "0.1832, 0.1804, 0.175, 0.1709, 0.1683, 0.1668, 0.1659, 0.1652, 0.1648, 0.1646",\
                 "0.2205, 0.217, 0.2103, 0.2047, 0.201, 0.1987, 0.1972, 0.1963, 0.1957, 0.1952",\
                 "0.266, 0.2621, 0.2538, 0.2468, 0.2419, 0.2386, 0.2365, 0.2351, 0.2342, 0.2335",\
                 "0.3199, 0.3155, 0.306, 0.2975, 0.2912, 0.2869, 0.2841, 0.2821, 0.2808, 0.2798");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.05836, 0.05729, 0.05604, 0.05563, 0.05576, 0.05641, 0.05677, 0.05746, 0.05856, 0.06212",\
                 "0.0576, 0.05662, 0.05533, 0.05483, 0.05506, 0.05562, 0.05614, 0.05663, 0.05744, 0.0608",\
                 "0.05676, 0.05578, 0.05442, 0.05391, 0.05401, 0.05466, 0.05515, 0.05564, 0.05681, 0.06005",\
                 "0.06077, 0.05964, 0.05779, 0.05691, 0.05681, 0.0573, 0.05786, 0.05838, 0.05912, 0.06331",\
                 "0.07072, 0.06937, 0.06708, 0.06569, 0.0649, 0.06503, 0.06545, 0.06597, 0.06712, 0.07176",\
                 "0.08796, 0.08624, 0.08296, 0.08061, 0.07985, 0.07935, 0.07924, 0.0796, 0.08103, 0.0861",\
                 "0.1126, 0.1105, 0.1064, 0.1031, 0.1012, 0.101, 0.1004, 0.1008, 0.1008, 0.1079",\
                 "0.1444, 0.1418, 0.1371, 0.1325, 0.1297, 0.1282, 0.1288, 0.1284, 0.1284, 0.1368",\
                 "0.1837, 0.1806, 0.1749, 0.1697, 0.1659, 0.1634, 0.1626, 0.1635, 0.1637, 0.1764",\
                 "0.2306, 0.2272, 0.2205, 0.2144, 0.2097, 0.2066, 0.204, 0.2039, 0.208, 0.2265");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1117, 0.1111, 0.1105, 0.1104, 0.1103, 0.1102, 0.1102, 0.1102, 0.1101, 0.1101",\
                 "0.1112, 0.1107, 0.11, 0.1099, 0.1098, 0.1097, 0.1097, 0.1097, 0.1097, 0.1097",\
                 "0.1119, 0.1113, 0.1106, 0.1104, 0.1104, 0.1103, 0.1103, 0.1103, 0.1103, 0.1103",\
                 "0.1188, 0.1177, 0.1161, 0.1154, 0.1151, 0.115, 0.1149, 0.1148, 0.1148, 0.1148",\
                 "0.1326, 0.1309, 0.1282, 0.1266, 0.1257, 0.1252, 0.125, 0.1248, 0.1248, 0.1247",\
                 "0.154, 0.1517, 0.1477, 0.1449, 0.1433, 0.1425, 0.1419, 0.1416, 0.1413, 0.1412",\
                 "0.1833, 0.1804, 0.175, 0.1709, 0.1683, 0.1667, 0.1659, 0.1653, 0.1649, 0.1646",\
                 "0.2205, 0.2172, 0.2103, 0.2048, 0.2011, 0.1987, 0.1973, 0.1963, 0.1957, 0.1952",\
                 "0.266, 0.2621, 0.2538, 0.2468, 0.2419, 0.2386, 0.2365, 0.2351, 0.2342, 0.2336",\
                 "0.3199, 0.3156, 0.306, 0.2975, 0.2912, 0.2869, 0.284, 0.2821, 0.2807, 0.2799");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.05832, 0.05725, 0.056, 0.05559, 0.05572, 0.05638, 0.05673, 0.05742, 0.05852, 0.06212",\
                 "0.05755, 0.05657, 0.05528, 0.0548, 0.05499, 0.05558, 0.0561, 0.0566, 0.05737, 0.0608",\
                 "0.05671, 0.05573, 0.05437, 0.05387, 0.05397, 0.05459, 0.05508, 0.05554, 0.05674, 0.06005",\
                 "0.06072, 0.05959, 0.05774, 0.05688, 0.05674, 0.05723, 0.05782, 0.05831, 0.05905, 0.06331",\
                 "0.07073, 0.06937, 0.06698, 0.06575, 0.06499, 0.06506, 0.06571, 0.0664, 0.06705, 0.07175",\
                 "0.08804, 0.08627, 0.08299, 0.08047, 0.07997, 0.07934, 0.0794, 0.07963, 0.08056, 0.08577",\
                 "0.1125, 0.1103, 0.1063, 0.1028, 0.101, 0.1011, 0.1005, 0.1003, 0.1006, 0.1079",\
                 "0.1443, 0.1416, 0.1367, 0.1326, 0.1296, 0.1282, 0.1286, 0.1281, 0.1283, 0.1364",\
                 "0.1837, 0.1806, 0.175, 0.1698, 0.1659, 0.1633, 0.1625, 0.1638, 0.1637, 0.1762",\
                 "0.2306, 0.2271, 0.2205, 0.2144, 0.2097, 0.2066, 0.204, 0.2038, 0.2079, 0.2262");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1417, 0.1411, 0.1405, 0.1403, 0.1402, 0.1401, 0.1401, 0.1401, 0.1401, 0.14",\
                 "0.1418, 0.1413, 0.1407, 0.1404, 0.1403, 0.1403, 0.1402, 0.1402, 0.1402, 0.1402",\
                 "0.1426, 0.142, 0.1413, 0.141, 0.141, 0.1409, 0.1409, 0.1409, 0.1409, 0.1409",\
                 "0.1497, 0.1485, 0.147, 0.1462, 0.1458, 0.1457, 0.1456, 0.1455, 0.1455, 0.1455",\
                 "0.164, 0.1623, 0.1595, 0.1578, 0.1568, 0.1564, 0.1561, 0.156, 0.1559, 0.1558",\
                 "0.1861, 0.1835, 0.1793, 0.1763, 0.1747, 0.1737, 0.1732, 0.1729, 0.1727, 0.1725",\
                 "0.215, 0.2117, 0.206, 0.2016, 0.1989, 0.1973, 0.1963, 0.1957, 0.1952, 0.195",\
                 "0.2501, 0.2462, 0.2388, 0.2329, 0.229, 0.2266, 0.225, 0.2241, 0.2234, 0.2229",\
                 "0.2906, 0.2862, 0.2771, 0.2696, 0.2644, 0.2609, 0.2588, 0.2573, 0.2564, 0.2557",\
                 "0.3352, 0.3302, 0.3194, 0.3102, 0.3037, 0.2991, 0.2962, 0.2941, 0.2927, 0.2918");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1417, 0.1411, 0.1405, 0.1403, 0.1402, 0.1401, 0.1401, 0.1401, 0.1401, 0.14",\
                 "0.1418, 0.1413, 0.1407, 0.1404, 0.1403, 0.1403, 0.1402, 0.1402, 0.1402, 0.1402",\
                 "0.1426, 0.142, 0.1413, 0.141, 0.141, 0.1409, 0.1409, 0.1409, 0.1409, 0.1409",\
                 "0.1497, 0.1485, 0.147, 0.1462, 0.1458, 0.1457, 0.1456, 0.1455, 0.1455, 0.1455",\
                 "0.164, 0.1623, 0.1595, 0.1578, 0.1568, 0.1564, 0.1561, 0.156, 0.1559, 0.1558",\
                 "0.1861, 0.1835, 0.1793, 0.1763, 0.1747, 0.1737, 0.1732, 0.1729, 0.1727, 0.1725",\
                 "0.215, 0.2117, 0.206, 0.2016, 0.1989, 0.1973, 0.1963, 0.1957, 0.1952, 0.195",\
                 "0.2501, 0.2462, 0.2388, 0.2329, 0.229, 0.2266, 0.225, 0.2241, 0.2234, 0.2229",\
                 "0.2906, 0.2862, 0.2771, 0.2696, 0.2644, 0.2609, 0.2588, 0.2573, 0.2564, 0.2557",\
                 "0.3352, 0.3302, 0.3194, 0.3102, 0.3037, 0.2991, 0.2962, 0.2941, 0.2927, 0.2918");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1428, 0.1423, 0.1417, 0.1415, 0.1413, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1431, 0.1425, 0.142, 0.1417, 0.1416, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415",\
                 "0.144, 0.1434, 0.1426, 0.1424, 0.1423, 0.1423, 0.1422, 0.1422, 0.1422, 0.1422",\
                 "0.151, 0.1498, 0.1483, 0.1474, 0.1471, 0.1469, 0.1469, 0.1468, 0.1468, 0.1468",\
                 "0.1654, 0.1636, 0.1608, 0.159, 0.1581, 0.1577, 0.1574, 0.1573, 0.1572, 0.1571",\
                 "0.1874, 0.1849, 0.1806, 0.1777, 0.176, 0.1751, 0.1745, 0.1742, 0.1739, 0.1738",\
                 "0.2163, 0.213, 0.2073, 0.203, 0.2002, 0.1986, 0.1977, 0.1971, 0.1966, 0.1963",\
                 "0.2514, 0.2475, 0.2401, 0.2342, 0.2304, 0.228, 0.2264, 0.2254, 0.2247, 0.2243",\
                 "0.2919, 0.2875, 0.2784, 0.2708, 0.2657, 0.2623, 0.2601, 0.2587, 0.2576, 0.2569",\
                 "0.3365, 0.3315, 0.3208, 0.3116, 0.305, 0.3006, 0.2976, 0.2955, 0.2941, 0.2932");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1428, 0.1423, 0.1417, 0.1415, 0.1413, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1431, 0.1425, 0.142, 0.1417, 0.1416, 0.1415, 0.1415, 0.1415, 0.1415, 0.1415",\
                 "0.144, 0.1434, 0.1426, 0.1424, 0.1423, 0.1423, 0.1422, 0.1422, 0.1422, 0.1422",\
                 "0.151, 0.1498, 0.1483, 0.1474, 0.1471, 0.1469, 0.1469, 0.1468, 0.1468, 0.1468",\
                 "0.1654, 0.1636, 0.1608, 0.159, 0.1581, 0.1577, 0.1574, 0.1573, 0.1572, 0.1571",\
                 "0.1874, 0.1849, 0.1806, 0.1777, 0.176, 0.1751, 0.1745, 0.1742, 0.1739, 0.1738",\
                 "0.2163, 0.213, 0.2073, 0.203, 0.2002, 0.1986, 0.1977, 0.1971, 0.1966, 0.1963",\
                 "0.2514, 0.2475, 0.2401, 0.2342, 0.2304, 0.228, 0.2264, 0.2254, 0.2247, 0.2243",\
                 "0.2919, 0.2875, 0.2784, 0.2708, 0.2657, 0.2623, 0.2601, 0.2587, 0.2576, 0.2569",\
                 "0.3365, 0.3315, 0.3208, 0.3116, 0.305, 0.3006, 0.2976, 0.2955, 0.2941, 0.2932");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1743, 0.1737, 0.1732, 0.173, 0.1729, 0.1728, 0.1728, 0.1728, 0.1728, 0.1728",\
                 "0.1735, 0.173, 0.1724, 0.1722, 0.1721, 0.172, 0.172, 0.172, 0.172, 0.172",\
                 "0.174, 0.1734, 0.1727, 0.1725, 0.1725, 0.1724, 0.1724, 0.1724, 0.1724, 0.1724",\
                 "0.1817, 0.1806, 0.1791, 0.1784, 0.178, 0.1779, 0.1778, 0.1778, 0.1778, 0.1777",\
                 "0.2, 0.1984, 0.1957, 0.194, 0.1932, 0.1927, 0.1925, 0.1923, 0.1923, 0.1922",\
                 "0.2315, 0.2292, 0.2253, 0.2224, 0.2208, 0.2199, 0.2193, 0.219, 0.2188, 0.2187",\
                 "0.2771, 0.2741, 0.2688, 0.2647, 0.262, 0.2605, 0.2596, 0.259, 0.2586, 0.2584",\
                 "0.3366, 0.3331, 0.3264, 0.321, 0.3171, 0.3148, 0.3134, 0.3124, 0.3118, 0.3113",\
                 "0.4104, 0.4064, 0.3982, 0.3912, 0.3863, 0.3829, 0.3809, 0.3794, 0.3785, 0.3779",\
                 "0.4987, 0.4943, 0.4848, 0.4763, 0.47, 0.4656, 0.4627, 0.4608, 0.4595, 0.4585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.09757, 0.09667, 0.09535, 0.09484, 0.095, 0.09569, 0.09608, 0.09657, 0.0977, 0.1006",\
                 "0.09674, 0.09567, 0.09434, 0.09395, 0.09414, 0.09453, 0.09515, 0.09611, 0.09655, 0.1002",\
                 "0.09575, 0.09476, 0.09338, 0.09289, 0.09309, 0.09351, 0.09413, 0.09469, 0.09543, 0.0997",\
                 "0.1009, 0.09985, 0.09807, 0.09708, 0.09698, 0.0975, 0.09779, 0.09839, 0.09935, 0.103",\
                 "0.1153, 0.1139, 0.1114, 0.1101, 0.1094, 0.1094, 0.1099, 0.1103, 0.1112, 0.1161",\
                 "0.1411, 0.1394, 0.1361, 0.1338, 0.133, 0.1325, 0.1324, 0.1327, 0.1341, 0.139",\
                 "0.179, 0.1768, 0.1727, 0.1694, 0.1674, 0.1674, 0.1667, 0.1666, 0.1671, 0.1737",\
                 "0.2294, 0.2269, 0.2221, 0.2175, 0.2146, 0.2132, 0.2138, 0.2132, 0.2136, 0.2217",\
                 "0.2927, 0.2895, 0.2839, 0.2785, 0.2745, 0.2724, 0.2713, 0.2723, 0.2725, 0.2852",\
                 "0.3688, 0.3652, 0.3586, 0.3526, 0.3475, 0.3448, 0.3422, 0.3424, 0.3451, 0.3648");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1743, 0.1737, 0.1732, 0.173, 0.1729, 0.1728, 0.1728, 0.1728, 0.1728, 0.1728",\
                 "0.1735, 0.173, 0.1724, 0.1722, 0.1721, 0.172, 0.172, 0.172, 0.172, 0.172",\
                 "0.174, 0.1734, 0.1727, 0.1725, 0.1725, 0.1724, 0.1724, 0.1724, 0.1724, 0.1724",\
                 "0.1817, 0.1806, 0.1791, 0.1784, 0.178, 0.1779, 0.1778, 0.1778, 0.1778, 0.1777",\
                 "0.2001, 0.1984, 0.1957, 0.194, 0.1932, 0.1927, 0.1925, 0.1923, 0.1923, 0.1922",\
                 "0.2315, 0.2292, 0.2253, 0.2224, 0.2208, 0.2199, 0.2193, 0.219, 0.2188, 0.2187",\
                 "0.277, 0.2741, 0.2689, 0.2647, 0.262, 0.2605, 0.2596, 0.259, 0.2586, 0.2584",\
                 "0.3366, 0.3332, 0.3264, 0.321, 0.3171, 0.3148, 0.3134, 0.3124, 0.3118, 0.3113",\
                 "0.4104, 0.4064, 0.3982, 0.3913, 0.3863, 0.3829, 0.3809, 0.3794, 0.3785, 0.3779",\
                 "0.4987, 0.4943, 0.4848, 0.4763, 0.4699, 0.4656, 0.4627, 0.4608, 0.4594, 0.4585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.09757, 0.09667, 0.09535, 0.09484, 0.095, 0.09569, 0.09608, 0.09657, 0.0977, 0.1006",\
                 "0.09674, 0.09567, 0.09434, 0.09395, 0.09414, 0.09453, 0.09515, 0.09611, 0.09655, 0.1002",\
                 "0.09576, 0.09478, 0.09336, 0.09289, 0.09309, 0.09351, 0.09416, 0.09462, 0.09539, 0.1",\
                 "0.1009, 0.09985, 0.09806, 0.09708, 0.09698, 0.0975, 0.09779, 0.09839, 0.09935, 0.103",\
                 "0.1153, 0.1139, 0.1114, 0.1101, 0.1094, 0.1095, 0.1101, 0.1104, 0.1112, 0.1161",\
                 "0.1411, 0.1394, 0.1361, 0.1338, 0.133, 0.1325, 0.1324, 0.1327, 0.1341, 0.139",\
                 "0.179, 0.1768, 0.1729, 0.1694, 0.1674, 0.1674, 0.1667, 0.1666, 0.1671, 0.1737",\
                 "0.2294, 0.2269, 0.2221, 0.2175, 0.2145, 0.2132, 0.2137, 0.2132, 0.2134, 0.2217",\
                 "0.2927, 0.2895, 0.2837, 0.2782, 0.2748, 0.272, 0.2711, 0.2722, 0.2729, 0.2849",\
                 "0.3688, 0.3652, 0.3586, 0.3526, 0.3481, 0.3448, 0.3422, 0.3424, 0.3451, 0.3648");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2347, 0.2341, 0.2335, 0.2332, 0.2331, 0.2331, 0.233, 0.233, 0.233, 0.233",\
                 "0.2355, 0.2348, 0.234, 0.2338, 0.2337, 0.2337, 0.2337, 0.2336, 0.2336, 0.2336",\
                 "0.2442, 0.243, 0.2414, 0.2406, 0.2402, 0.2401, 0.24, 0.2399, 0.2399, 0.2399",\
                 "0.2644, 0.2626, 0.2598, 0.2581, 0.2571, 0.2566, 0.2564, 0.2562, 0.2561, 0.256",\
                 "0.2986, 0.296, 0.2919, 0.2889, 0.2872, 0.2862, 0.2856, 0.2853, 0.285, 0.2849",\
                 "0.3467, 0.3435, 0.3377, 0.3333, 0.3306, 0.3289, 0.328, 0.3273, 0.3269, 0.3266",\
                 "0.4075, 0.4036, 0.3962, 0.3903, 0.3863, 0.3839, 0.3824, 0.3813, 0.3806, 0.3802",\
                 "0.4799, 0.4756, 0.4665, 0.4591, 0.4538, 0.4503, 0.4481, 0.4467, 0.4457, 0.445",\
                 "0.5624, 0.5576, 0.547, 0.5379, 0.5313, 0.5267, 0.5237, 0.5216, 0.5202, 0.5193");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2347, 0.2341, 0.2335, 0.2332, 0.2331, 0.2331, 0.233, 0.233, 0.233, 0.233",\
                 "0.2355, 0.2348, 0.234, 0.2338, 0.2337, 0.2337, 0.2337, 0.2336, 0.2336, 0.2336",\
                 "0.2442, 0.243, 0.2414, 0.2406, 0.2402, 0.2401, 0.24, 0.2399, 0.2399, 0.2399",\
                 "0.2644, 0.2626, 0.2598, 0.2581, 0.2571, 0.2566, 0.2564, 0.2562, 0.2561, 0.256",\
                 "0.2986, 0.296, 0.2919, 0.2889, 0.2872, 0.2862, 0.2856, 0.2853, 0.285, 0.2849",\
                 "0.3467, 0.3435, 0.3377, 0.3333, 0.3306, 0.3289, 0.328, 0.3273, 0.3269, 0.3266",\
                 "0.4075, 0.4036, 0.3962, 0.3903, 0.3863, 0.3839, 0.3824, 0.3813, 0.3806, 0.3802",\
                 "0.4799, 0.4756, 0.4665, 0.4591, 0.4538, 0.4503, 0.4481, 0.4467, 0.4457, 0.445",\
                 "0.5624, 0.5576, 0.547, 0.5379, 0.5313, 0.5267, 0.5237, 0.5216, 0.5202, 0.5193");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2347, 0.2341, 0.2335, 0.2332, 0.2331, 0.2331, 0.233, 0.233, 0.233, 0.233",\
                 "0.2355, 0.2348, 0.234, 0.2338, 0.2337, 0.2337, 0.2337, 0.2336, 0.2336, 0.2336",\
                 "0.2442, 0.243, 0.2414, 0.2406, 0.2403, 0.2401, 0.24, 0.2399, 0.2399, 0.2399",\
                 "0.2644, 0.2626, 0.2597, 0.258, 0.2571, 0.2566, 0.2563, 0.2562, 0.2561, 0.256",\
                 "0.2986, 0.2961, 0.2918, 0.2889, 0.2872, 0.2862, 0.2856, 0.2853, 0.2851, 0.2849",\
                 "0.3467, 0.3434, 0.3377, 0.3333, 0.3306, 0.3289, 0.328, 0.3273, 0.3269, 0.3266",\
                 "0.4075, 0.4036, 0.3961, 0.3903, 0.3863, 0.3839, 0.3824, 0.3813, 0.3807, 0.3802",\
                 "0.4799, 0.4756, 0.4665, 0.4591, 0.4539, 0.4504, 0.4481, 0.4467, 0.4457, 0.445",\
                 "0.5624, 0.5576, 0.547, 0.5378, 0.5313, 0.5267, 0.5237, 0.5216, 0.5202, 0.5192");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2347, 0.2341, 0.2335, 0.2332, 0.2331, 0.2331, 0.233, 0.233, 0.233, 0.233",\
                 "0.2355, 0.2348, 0.234, 0.2338, 0.2337, 0.2337, 0.2337, 0.2336, 0.2336, 0.2336",\
                 "0.2442, 0.243, 0.2414, 0.2406, 0.2403, 0.2401, 0.24, 0.2399, 0.2399, 0.2399",\
                 "0.2644, 0.2626, 0.2597, 0.258, 0.2571, 0.2566, 0.2563, 0.2562, 0.2561, 0.256",\
                 "0.2986, 0.2961, 0.2918, 0.2889, 0.2872, 0.2862, 0.2856, 0.2853, 0.2851, 0.2849",\
                 "0.3467, 0.3434, 0.3377, 0.3333, 0.3306, 0.3289, 0.328, 0.3273, 0.3269, 0.3266",\
                 "0.4075, 0.4036, 0.3961, 0.3903, 0.3863, 0.3839, 0.3824, 0.3813, 0.3807, 0.3802",\
                 "0.4799, 0.4756, 0.4665, 0.4591, 0.4539, 0.4504, 0.4481, 0.4467, 0.4457, 0.445",\
                 "0.5624, 0.5576, 0.547, 0.5378, 0.5313, 0.5267, 0.5237, 0.5216, 0.5202, 0.5192");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1743, 0.1737, 0.1732, 0.173, 0.1729, 0.1728, 0.1728, 0.1728, 0.1728, 0.1728",\
                 "0.1735, 0.173, 0.1724, 0.1722, 0.1721, 0.172, 0.172, 0.172, 0.172, 0.172",\
                 "0.174, 0.1734, 0.1727, 0.1725, 0.1725, 0.1724, 0.1724, 0.1724, 0.1724, 0.1724",\
                 "0.1817, 0.1806, 0.1791, 0.1784, 0.178, 0.1779, 0.1778, 0.1778, 0.1778, 0.1777",\
                 "0.2, 0.1984, 0.1957, 0.194, 0.1932, 0.1927, 0.1925, 0.1923, 0.1923, 0.1922",\
                 "0.2315, 0.2292, 0.2253, 0.2224, 0.2208, 0.2199, 0.2194, 0.219, 0.2188, 0.2187",\
                 "0.2771, 0.2741, 0.2689, 0.2647, 0.2621, 0.2605, 0.2596, 0.259, 0.2586, 0.2584",\
                 "0.3366, 0.3331, 0.3264, 0.321, 0.3171, 0.3148, 0.3133, 0.3124, 0.3118, 0.3113",\
                 "0.4104, 0.4065, 0.3982, 0.3912, 0.3863, 0.383, 0.3809, 0.3794, 0.3785, 0.3779",\
                 "0.4987, 0.4943, 0.4848, 0.4763, 0.47, 0.4656, 0.4627, 0.4608, 0.4595, 0.4585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.09757, 0.09654, 0.09535, 0.09484, 0.095, 0.09569, 0.09608, 0.09657, 0.09774, 0.1006",\
                 "0.09674, 0.09567, 0.09434, 0.09395, 0.09414, 0.09453, 0.09515, 0.09611, 0.09655, 0.1002",\
                 "0.0958, 0.09481, 0.09336, 0.09286, 0.09305, 0.09351, 0.0942, 0.09462, 0.09543, 0.0997",\
                 "0.1009, 0.09985, 0.09806, 0.09708, 0.09698, 0.0975, 0.09779, 0.09839, 0.09939, 0.103",\
                 "0.1153, 0.1138, 0.1114, 0.1102, 0.1094, 0.1094, 0.1099, 0.1103, 0.1112, 0.1161",\
                 "0.1411, 0.1393, 0.1361, 0.1338, 0.133, 0.1324, 0.1322, 0.133, 0.1336, 0.139",\
                 "0.179, 0.1768, 0.1727, 0.1693, 0.1675, 0.1673, 0.1668, 0.1666, 0.1671, 0.1737",\
                 "0.2293, 0.2268, 0.2221, 0.2175, 0.2146, 0.2132, 0.2137, 0.2132, 0.2136, 0.2217",\
                 "0.2927, 0.2895, 0.2838, 0.2783, 0.2747, 0.2722, 0.2712, 0.2722, 0.2731, 0.2852",\
                 "0.3688, 0.3652, 0.3585, 0.3526, 0.3476, 0.3448, 0.3422, 0.3425, 0.3451, 0.3648");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1743, 0.1737, 0.1732, 0.173, 0.1729, 0.1728, 0.1728, 0.1728, 0.1728, 0.1728",\
                 "0.1735, 0.173, 0.1724, 0.1722, 0.1721, 0.172, 0.172, 0.172, 0.172, 0.172",\
                 "0.174, 0.1734, 0.1727, 0.1725, 0.1725, 0.1724, 0.1724, 0.1724, 0.1724, 0.1724",\
                 "0.1817, 0.1806, 0.1791, 0.1784, 0.178, 0.1779, 0.1778, 0.1778, 0.1778, 0.1777",\
                 "0.2001, 0.1984, 0.1957, 0.194, 0.1932, 0.1927, 0.1925, 0.1923, 0.1923, 0.1922",\
                 "0.2315, 0.2292, 0.2253, 0.2224, 0.2208, 0.2199, 0.2194, 0.219, 0.2188, 0.2187",\
                 "0.277, 0.2741, 0.2688, 0.2647, 0.2621, 0.2605, 0.2596, 0.259, 0.2586, 0.2584",\
                 "0.3366, 0.3332, 0.3264, 0.321, 0.3171, 0.3148, 0.3133, 0.3124, 0.3118, 0.3113",\
                 "0.4104, 0.4065, 0.3982, 0.3912, 0.3862, 0.383, 0.3809, 0.3795, 0.3785, 0.3779",\
                 "0.4987, 0.4943, 0.4848, 0.4763, 0.47, 0.4657, 0.4628, 0.4608, 0.4595, 0.4585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.09757, 0.09654, 0.09535, 0.09484, 0.095, 0.09569, 0.09608, 0.09657, 0.09727, 0.1009",\
                 "0.09674, 0.09567, 0.09434, 0.09395, 0.09414, 0.09453, 0.09515, 0.09611, 0.09655, 0.1002",\
                 "0.09582, 0.09483, 0.0934, 0.09286, 0.09305, 0.09348, 0.09416, 0.09466, 0.09543, 0.0997",\
                 "0.1009, 0.09985, 0.09796, 0.09708, 0.09698, 0.0975, 0.09779, 0.09839, 0.09935, 0.103",\
                 "0.1153, 0.1138, 0.1114, 0.1101, 0.1093, 0.1094, 0.1099, 0.1104, 0.1117, 0.1155",\
                 "0.1411, 0.1394, 0.1361, 0.1337, 0.133, 0.1324, 0.1322, 0.1328, 0.1334, 0.1384",\
                 "0.179, 0.1768, 0.1728, 0.1694, 0.1675, 0.1674, 0.1667, 0.1669, 0.1669, 0.1737",\
                 "0.2294, 0.2269, 0.2221, 0.2174, 0.2145, 0.2132, 0.2134, 0.2132, 0.2136, 0.2217",\
                 "0.2927, 0.2894, 0.2838, 0.2785, 0.2748, 0.2722, 0.2712, 0.2721, 0.2729, 0.2849",\
                 "0.3688, 0.3652, 0.3586, 0.3526, 0.3478, 0.3448, 0.3422, 0.3421, 0.3451, 0.3648");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2344, 0.2337, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2347, 0.2341, 0.2335, 0.2332, 0.2331, 0.2331, 0.2331, 0.233, 0.233, 0.233",\
                 "0.2355, 0.2348, 0.234, 0.2338, 0.2337, 0.2337, 0.2337, 0.2337, 0.2336, 0.2336",\
                 "0.2442, 0.243, 0.2414, 0.2406, 0.2402, 0.2401, 0.24, 0.2399, 0.2399, 0.2399",\
                 "0.2644, 0.2626, 0.2598, 0.2581, 0.2572, 0.2566, 0.2564, 0.2562, 0.2561, 0.256",\
                 "0.2986, 0.296, 0.2918, 0.2889, 0.2871, 0.2862, 0.2856, 0.2853, 0.285, 0.2849",\
                 "0.3467, 0.3434, 0.3377, 0.3333, 0.3306, 0.3289, 0.328, 0.3273, 0.3269, 0.3267",\
                 "0.4074, 0.4036, 0.3961, 0.3903, 0.3863, 0.3839, 0.3823, 0.3813, 0.3806, 0.3802",\
                 "0.4799, 0.4756, 0.4665, 0.459, 0.4539, 0.4504, 0.4481, 0.4466, 0.4457, 0.445",\
                 "0.5623, 0.5577, 0.547, 0.5379, 0.5313, 0.5267, 0.5237, 0.5217, 0.5202, 0.5192");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2344, 0.2337, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2347, 0.2341, 0.2335, 0.2332, 0.2331, 0.2331, 0.2331, 0.233, 0.233, 0.233",\
                 "0.2355, 0.2348, 0.234, 0.2338, 0.2337, 0.2337, 0.2337, 0.2337, 0.2336, 0.2336",\
                 "0.2442, 0.243, 0.2414, 0.2406, 0.2402, 0.2401, 0.24, 0.2399, 0.2399, 0.2399",\
                 "0.2644, 0.2626, 0.2598, 0.2581, 0.2572, 0.2566, 0.2564, 0.2562, 0.2561, 0.256",\
                 "0.2986, 0.296, 0.2918, 0.2889, 0.2871, 0.2862, 0.2856, 0.2853, 0.285, 0.2849",\
                 "0.3467, 0.3434, 0.3377, 0.3333, 0.3306, 0.3289, 0.328, 0.3273, 0.3269, 0.3267",\
                 "0.4074, 0.4036, 0.3961, 0.3903, 0.3863, 0.3839, 0.3823, 0.3813, 0.3806, 0.3802",\
                 "0.4799, 0.4756, 0.4665, 0.459, 0.4539, 0.4504, 0.4481, 0.4466, 0.4457, 0.445",\
                 "0.5623, 0.5577, 0.547, 0.5379, 0.5313, 0.5267, 0.5237, 0.5217, 0.5202, 0.5192");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.234, 0.2334, 0.2328, 0.2325, 0.2324, 0.2323, 0.2323, 0.2323, 0.2323, 0.2323",\
                 "0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2351, 0.2344, 0.2337, 0.2335, 0.2334, 0.2333, 0.2333, 0.2333, 0.2333, 0.2333",\
                 "0.2439, 0.2427, 0.2411, 0.2404, 0.24, 0.2398, 0.2397, 0.2397, 0.2396, 0.2396",\
                 "0.2644, 0.2626, 0.2598, 0.258, 0.2571, 0.2566, 0.2563, 0.2562, 0.2561, 0.256",\
                 "0.2988, 0.2963, 0.292, 0.2891, 0.2874, 0.2864, 0.2859, 0.2855, 0.2853, 0.2851",\
                 "0.347, 0.3438, 0.338, 0.3336, 0.3309, 0.3293, 0.3283, 0.3276, 0.3272, 0.3269",\
                 "0.4077, 0.4039, 0.3964, 0.3906, 0.3867, 0.3842, 0.3827, 0.3816, 0.3809, 0.3805",\
                 "0.4803, 0.476, 0.4668, 0.4594, 0.4542, 0.4508, 0.4485, 0.447, 0.446, 0.4453",\
                 "0.5628, 0.5579, 0.5473, 0.5381, 0.5316, 0.5271, 0.524, 0.522, 0.5205, 0.5195");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.234, 0.2334, 0.2328, 0.2325, 0.2324, 0.2323, 0.2323, 0.2323, 0.2323, 0.2323",\
                 "0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2351, 0.2344, 0.2337, 0.2335, 0.2334, 0.2333, 0.2333, 0.2333, 0.2333, 0.2333",\
                 "0.2439, 0.2427, 0.2411, 0.2404, 0.24, 0.2398, 0.2397, 0.2397, 0.2396, 0.2396",\
                 "0.2644, 0.2626, 0.2598, 0.258, 0.2571, 0.2566, 0.2563, 0.2562, 0.2561, 0.256",\
                 "0.2988, 0.2963, 0.292, 0.2891, 0.2874, 0.2864, 0.2859, 0.2855, 0.2853, 0.2851",\
                 "0.347, 0.3438, 0.338, 0.3336, 0.3309, 0.3293, 0.3283, 0.3276, 0.3272, 0.3269",\
                 "0.4077, 0.4039, 0.3964, 0.3906, 0.3867, 0.3842, 0.3827, 0.3816, 0.3809, 0.3805",\
                 "0.4803, 0.476, 0.4668, 0.4594, 0.4542, 0.4508, 0.4485, 0.447, 0.446, 0.4453",\
                 "0.5628, 0.5579, 0.5473, 0.5381, 0.5316, 0.5271, 0.524, 0.522, 0.5205, 0.5195");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1743, 0.1737, 0.1732, 0.173, 0.1729, 0.1728, 0.1728, 0.1728, 0.1728, 0.1728",\
                 "0.1735, 0.173, 0.1724, 0.1722, 0.1721, 0.172, 0.172, 0.172, 0.172, 0.172",\
                 "0.174, 0.1734, 0.1727, 0.1725, 0.1725, 0.1724, 0.1724, 0.1724, 0.1724, 0.1724",\
                 "0.1817, 0.1806, 0.1791, 0.1784, 0.178, 0.1779, 0.1778, 0.1778, 0.1778, 0.1777",\
                 "0.2, 0.1984, 0.1957, 0.194, 0.1932, 0.1927, 0.1925, 0.1923, 0.1923, 0.1922",\
                 "0.2315, 0.2292, 0.2253, 0.2224, 0.2208, 0.2199, 0.2194, 0.219, 0.2188, 0.2187",\
                 "0.2771, 0.2741, 0.2689, 0.2647, 0.262, 0.2605, 0.2596, 0.259, 0.2586, 0.2583",\
                 "0.3366, 0.3331, 0.3264, 0.321, 0.3171, 0.3148, 0.3134, 0.3124, 0.3118, 0.3113",\
                 "0.4104, 0.4065, 0.3982, 0.3913, 0.3862, 0.3829, 0.3809, 0.3795, 0.3785, 0.3779",\
                 "0.4987, 0.4943, 0.4848, 0.4763, 0.47, 0.4656, 0.4628, 0.4608, 0.4595, 0.4585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.09757, 0.09667, 0.09535, 0.09484, 0.095, 0.09569, 0.09608, 0.09657, 0.0977, 0.1006",\
                 "0.09674, 0.09567, 0.09434, 0.09395, 0.09414, 0.09453, 0.09515, 0.09611, 0.09655, 0.1002",\
                 "0.09575, 0.09476, 0.09338, 0.09289, 0.09308, 0.09351, 0.09413, 0.09469, 0.09543, 0.1",\
                 "0.1009, 0.09985, 0.09796, 0.09708, 0.09698, 0.0975, 0.09779, 0.09839, 0.09935, 0.103",\
                 "0.1153, 0.1139, 0.1114, 0.1102, 0.1094, 0.1095, 0.1099, 0.1104, 0.1117, 0.1155",\
                 "0.1411, 0.1394, 0.136, 0.1338, 0.133, 0.1325, 0.1324, 0.1327, 0.1341, 0.139",\
                 "0.179, 0.1768, 0.1727, 0.1694, 0.1676, 0.1673, 0.1669, 0.1667, 0.1672, 0.1737",\
                 "0.2294, 0.2269, 0.2221, 0.2175, 0.2146, 0.2132, 0.2138, 0.2132, 0.2136, 0.2214",\
                 "0.2927, 0.2895, 0.2839, 0.2785, 0.2745, 0.272, 0.2712, 0.2722, 0.2727, 0.2852",\
                 "0.3688, 0.3652, 0.3586, 0.3526, 0.3476, 0.3448, 0.3423, 0.3425, 0.3448, 0.3648");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1743, 0.1737, 0.1732, 0.173, 0.1729, 0.1728, 0.1728, 0.1728, 0.1728, 0.1728",\
                 "0.1735, 0.173, 0.1724, 0.1722, 0.1721, 0.172, 0.172, 0.172, 0.172, 0.172",\
                 "0.174, 0.1734, 0.1727, 0.1725, 0.1725, 0.1724, 0.1724, 0.1724, 0.1724, 0.1724",\
                 "0.1817, 0.1806, 0.1791, 0.1784, 0.178, 0.1779, 0.1778, 0.1778, 0.1778, 0.1777",\
                 "0.2001, 0.1984, 0.1957, 0.194, 0.1932, 0.1927, 0.1925, 0.1923, 0.1923, 0.1922",\
                 "0.2315, 0.2292, 0.2253, 0.2224, 0.2208, 0.2199, 0.2194, 0.219, 0.2188, 0.2187",\
                 "0.2771, 0.2741, 0.2689, 0.2647, 0.262, 0.2605, 0.2596, 0.259, 0.2586, 0.2583",\
                 "0.3366, 0.3332, 0.3264, 0.321, 0.3171, 0.3148, 0.3134, 0.3124, 0.3118, 0.3113",\
                 "0.4104, 0.4065, 0.3982, 0.3913, 0.3862, 0.383, 0.3809, 0.3795, 0.3785, 0.3779",\
                 "0.4987, 0.4943, 0.4848, 0.4763, 0.47, 0.4657, 0.4628, 0.4608, 0.4595, 0.4585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.09757, 0.09667, 0.09535, 0.09484, 0.095, 0.09569, 0.09608, 0.09657, 0.09774, 0.1006",\
                 "0.09674, 0.09567, 0.09434, 0.09395, 0.09414, 0.09453, 0.09515, 0.09611, 0.09655, 0.1002",\
                 "0.09576, 0.09481, 0.09336, 0.09286, 0.09309, 0.09351, 0.09416, 0.09462, 0.09539, 0.1",\
                 "0.1009, 0.09985, 0.09806, 0.09708, 0.09698, 0.0975, 0.09779, 0.09839, 0.09935, 0.103",\
                 "0.1153, 0.1139, 0.1114, 0.1101, 0.1093, 0.1094, 0.1099, 0.1104, 0.1117, 0.1155",\
                 "0.1411, 0.1394, 0.136, 0.1338, 0.133, 0.1326, 0.1324, 0.1327, 0.1341, 0.139",\
                 "0.179, 0.1768, 0.1728, 0.1694, 0.1674, 0.1673, 0.1667, 0.167, 0.1669, 0.1737",\
                 "0.2294, 0.2269, 0.2221, 0.2175, 0.2146, 0.2132, 0.2137, 0.2132, 0.2136, 0.2214",\
                 "0.2927, 0.2895, 0.2836, 0.2782, 0.2745, 0.272, 0.2712, 0.2722, 0.2729, 0.2849",\
                 "0.3688, 0.3652, 0.3586, 0.3526, 0.3476, 0.3448, 0.3423, 0.3425, 0.3451, 0.3648");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.234, 0.2334, 0.2328, 0.2325, 0.2324, 0.2323, 0.2323, 0.2323, 0.2323, 0.2323",\
                 "0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2351, 0.2344, 0.2337, 0.2335, 0.2334, 0.2333, 0.2333, 0.2333, 0.2333, 0.2333",\
                 "0.2439, 0.2427, 0.2411, 0.2404, 0.24, 0.2398, 0.2397, 0.2397, 0.2396, 0.2396",\
                 "0.2644, 0.2626, 0.2598, 0.258, 0.2571, 0.2566, 0.2563, 0.2561, 0.256, 0.256",\
                 "0.2988, 0.2963, 0.292, 0.2891, 0.2874, 0.2864, 0.2859, 0.2855, 0.2853, 0.2851",\
                 "0.347, 0.3438, 0.338, 0.3337, 0.3309, 0.3293, 0.3283, 0.3276, 0.3272, 0.3269",\
                 "0.4077, 0.4039, 0.3965, 0.3906, 0.3866, 0.3842, 0.3827, 0.3817, 0.381, 0.3805",\
                 "0.4803, 0.4759, 0.4669, 0.4594, 0.4542, 0.4508, 0.4485, 0.447, 0.446, 0.4453",\
                 "0.5627, 0.5579, 0.5473, 0.5382, 0.5316, 0.5271, 0.524, 0.5219, 0.5205, 0.5195");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.234, 0.2334, 0.2328, 0.2325, 0.2324, 0.2323, 0.2323, 0.2323, 0.2323, 0.2323",\
                 "0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2351, 0.2344, 0.2337, 0.2335, 0.2334, 0.2333, 0.2333, 0.2333, 0.2333, 0.2333",\
                 "0.2439, 0.2427, 0.2411, 0.2404, 0.24, 0.2398, 0.2397, 0.2397, 0.2396, 0.2396",\
                 "0.2644, 0.2626, 0.2598, 0.258, 0.2571, 0.2566, 0.2563, 0.2561, 0.256, 0.256",\
                 "0.2988, 0.2963, 0.292, 0.2891, 0.2874, 0.2864, 0.2859, 0.2855, 0.2853, 0.2851",\
                 "0.347, 0.3438, 0.338, 0.3337, 0.3309, 0.3293, 0.3283, 0.3276, 0.3272, 0.3269",\
                 "0.4077, 0.4039, 0.3965, 0.3906, 0.3866, 0.3842, 0.3827, 0.3817, 0.381, 0.3805",\
                 "0.4803, 0.4759, 0.4669, 0.4594, 0.4542, 0.4508, 0.4485, 0.447, 0.446, 0.4453",\
                 "0.5627, 0.5579, 0.5473, 0.5382, 0.5316, 0.5271, 0.524, 0.5219, 0.5205, 0.5195");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.234, 0.2334, 0.2328, 0.2325, 0.2324, 0.2323, 0.2323, 0.2323, 0.2323, 0.2323",\
                 "0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2351, 0.2344, 0.2337, 0.2335, 0.2334, 0.2333, 0.2333, 0.2333, 0.2333, 0.2333",\
                 "0.2439, 0.2427, 0.2411, 0.2404, 0.24, 0.2398, 0.2397, 0.2397, 0.2396, 0.2396",\
                 "0.2644, 0.2626, 0.2598, 0.258, 0.2571, 0.2566, 0.2563, 0.2561, 0.2561, 0.256",\
                 "0.2988, 0.2963, 0.292, 0.2891, 0.2874, 0.2864, 0.2859, 0.2855, 0.2853, 0.2851",\
                 "0.347, 0.3438, 0.338, 0.3337, 0.3309, 0.3293, 0.3283, 0.3276, 0.3272, 0.3269",\
                 "0.4077, 0.4039, 0.3964, 0.3906, 0.3866, 0.3842, 0.3826, 0.3817, 0.381, 0.3805",\
                 "0.4803, 0.4759, 0.4669, 0.4594, 0.4541, 0.4507, 0.4485, 0.447, 0.446, 0.4453",\
                 "0.5627, 0.5579, 0.5473, 0.5382, 0.5316, 0.5271, 0.524, 0.522, 0.5205, 0.5196");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.234, 0.2334, 0.2328, 0.2325, 0.2324, 0.2323, 0.2323, 0.2323, 0.2323, 0.2323",\
                 "0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2351, 0.2344, 0.2337, 0.2335, 0.2334, 0.2333, 0.2333, 0.2333, 0.2333, 0.2333",\
                 "0.2439, 0.2427, 0.2411, 0.2404, 0.24, 0.2398, 0.2397, 0.2397, 0.2396, 0.2396",\
                 "0.2644, 0.2626, 0.2598, 0.258, 0.2571, 0.2566, 0.2563, 0.2561, 0.2561, 0.256",\
                 "0.2988, 0.2963, 0.292, 0.2891, 0.2874, 0.2864, 0.2859, 0.2855, 0.2853, 0.2851",\
                 "0.347, 0.3438, 0.338, 0.3337, 0.3309, 0.3293, 0.3283, 0.3276, 0.3272, 0.3269",\
                 "0.4077, 0.4039, 0.3964, 0.3906, 0.3866, 0.3842, 0.3826, 0.3817, 0.381, 0.3805",\
                 "0.4803, 0.4759, 0.4669, 0.4594, 0.4541, 0.4507, 0.4485, 0.447, 0.446, 0.4453",\
                 "0.5627, 0.5579, 0.5473, 0.5382, 0.5316, 0.5271, 0.524, 0.522, 0.5205, 0.5196");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1743, 0.1737, 0.1732, 0.173, 0.1729, 0.1728, 0.1728, 0.1728, 0.1728, 0.1728",\
                 "0.1735, 0.173, 0.1724, 0.1722, 0.1721, 0.172, 0.172, 0.172, 0.172, 0.172",\
                 "0.174, 0.1734, 0.1727, 0.1725, 0.1725, 0.1724, 0.1724, 0.1724, 0.1724, 0.1724",\
                 "0.1817, 0.1806, 0.1791, 0.1784, 0.178, 0.1779, 0.1778, 0.1778, 0.1778, 0.1777",\
                 "0.2, 0.1984, 0.1957, 0.194, 0.1932, 0.1927, 0.1925, 0.1923, 0.1923, 0.1922",\
                 "0.2315, 0.2292, 0.2253, 0.2224, 0.2208, 0.2199, 0.2193, 0.219, 0.2188, 0.2187",\
                 "0.2771, 0.2741, 0.2688, 0.2648, 0.262, 0.2605, 0.2596, 0.259, 0.2586, 0.2584",\
                 "0.3366, 0.3331, 0.3264, 0.321, 0.3171, 0.3148, 0.3133, 0.3124, 0.3118, 0.3113",\
                 "0.4104, 0.4064, 0.3982, 0.3912, 0.3863, 0.3829, 0.3809, 0.3795, 0.3785, 0.3779",\
                 "0.4987, 0.4943, 0.4847, 0.4763, 0.47, 0.4656, 0.4627, 0.4608, 0.4595, 0.4585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.09757, 0.09654, 0.09535, 0.09484, 0.095, 0.09569, 0.09608, 0.09657, 0.09774, 0.1006",\
                 "0.09674, 0.09567, 0.09434, 0.09395, 0.09414, 0.09453, 0.09515, 0.09611, 0.09655, 0.1002",\
                 "0.0958, 0.09481, 0.09336, 0.09286, 0.09305, 0.09351, 0.0942, 0.09462, 0.09543, 0.0997",\
                 "0.1009, 0.09985, 0.09806, 0.09708, 0.09698, 0.0975, 0.09779, 0.09839, 0.09935, 0.103",\
                 "0.1153, 0.1138, 0.1114, 0.1102, 0.1094, 0.1095, 0.1099, 0.1104, 0.1117, 0.1155",\
                 "0.1411, 0.1393, 0.1361, 0.1337, 0.133, 0.1324, 0.1322, 0.133, 0.1336, 0.139",\
                 "0.179, 0.1768, 0.1728, 0.1693, 0.1675, 0.1674, 0.1668, 0.1666, 0.1673, 0.174",\
                 "0.2294, 0.2269, 0.2221, 0.2175, 0.2146, 0.2132, 0.2137, 0.2132, 0.2136, 0.2217",\
                 "0.2927, 0.2895, 0.2838, 0.2785, 0.2746, 0.2722, 0.2711, 0.2724, 0.2727, 0.2852",\
                 "0.3688, 0.3652, 0.3585, 0.3526, 0.3478, 0.3448, 0.3422, 0.3421, 0.3451, 0.3648");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1743, 0.1737, 0.1732, 0.173, 0.1729, 0.1728, 0.1728, 0.1728, 0.1728, 0.1728",\
                 "0.1735, 0.173, 0.1724, 0.1722, 0.1721, 0.172, 0.172, 0.172, 0.172, 0.172",\
                 "0.174, 0.1734, 0.1727, 0.1725, 0.1725, 0.1724, 0.1724, 0.1724, 0.1724, 0.1724",\
                 "0.1817, 0.1806, 0.1791, 0.1784, 0.178, 0.1779, 0.1778, 0.1778, 0.1778, 0.1777",\
                 "0.2, 0.1984, 0.1957, 0.194, 0.1932, 0.1927, 0.1925, 0.1923, 0.1923, 0.1922",\
                 "0.2315, 0.2292, 0.2253, 0.2224, 0.2208, 0.2199, 0.2194, 0.219, 0.2188, 0.2187",\
                 "0.2771, 0.2741, 0.2688, 0.2648, 0.2621, 0.2605, 0.2596, 0.259, 0.2586, 0.2583",\
                 "0.3367, 0.3332, 0.3264, 0.321, 0.3171, 0.3148, 0.3133, 0.3124, 0.3118, 0.3113",\
                 "0.4104, 0.4065, 0.3982, 0.3912, 0.3862, 0.383, 0.3809, 0.3795, 0.3785, 0.3779",\
                 "0.4987, 0.4943, 0.4848, 0.4763, 0.47, 0.4657, 0.4628, 0.4608, 0.4595, 0.4585");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.09757, 0.09654, 0.09535, 0.09484, 0.095, 0.09569, 0.09608, 0.09657, 0.09727, 0.1009",\
                 "0.09674, 0.09567, 0.09434, 0.09395, 0.09414, 0.09453, 0.09515, 0.09611, 0.09655, 0.1002",\
                 "0.09582, 0.09482, 0.0934, 0.09286, 0.09305, 0.09348, 0.09416, 0.09466, 0.09543, 0.0997",\
                 "0.1009, 0.09985, 0.09806, 0.09705, 0.09698, 0.0975, 0.09779, 0.09839, 0.09939, 0.103",\
                 "0.1153, 0.1139, 0.1114, 0.1101, 0.1093, 0.1094, 0.1099, 0.1104, 0.1117, 0.1155",\
                 "0.1411, 0.1393, 0.1361, 0.1337, 0.133, 0.1324, 0.1322, 0.1328, 0.1334, 0.1384",\
                 "0.179, 0.1768, 0.1728, 0.1694, 0.1674, 0.1673, 0.167, 0.1666, 0.1671, 0.1739",\
                 "0.2294, 0.2269, 0.2221, 0.2175, 0.2146, 0.2132, 0.2137, 0.2132, 0.2136, 0.2217",\
                 "0.2927, 0.2895, 0.2839, 0.2783, 0.2746, 0.2722, 0.2711, 0.2724, 0.2729, 0.2849",\
                 "0.3688, 0.3652, 0.3586, 0.3526, 0.3478, 0.3441, 0.3423, 0.3421, 0.3451, 0.3648");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2347, 0.2341, 0.2335, 0.2332, 0.2331, 0.2331, 0.2331, 0.233, 0.233, 0.233",\
                 "0.2355, 0.2348, 0.234, 0.2338, 0.2337, 0.2337, 0.2337, 0.2336, 0.2336, 0.2336",\
                 "0.2442, 0.243, 0.2414, 0.2406, 0.2402, 0.24, 0.2399, 0.2399, 0.2398, 0.2398",\
                 "0.2645, 0.2626, 0.2598, 0.2581, 0.2571, 0.2566, 0.2564, 0.2562, 0.2561, 0.256",\
                 "0.2986, 0.2961, 0.2919, 0.2889, 0.2872, 0.2862, 0.2857, 0.2853, 0.2851, 0.2849",\
                 "0.3467, 0.3435, 0.3376, 0.3334, 0.3306, 0.329, 0.328, 0.3273, 0.3269, 0.3266",\
                 "0.4074, 0.4035, 0.3961, 0.3903, 0.3863, 0.3839, 0.3823, 0.3813, 0.3806, 0.3802",\
                 "0.4799, 0.4756, 0.4665, 0.4591, 0.4539, 0.4504, 0.4482, 0.4467, 0.4457, 0.445",\
                 "0.5624, 0.5576, 0.547, 0.5378, 0.5313, 0.5268, 0.5237, 0.5216, 0.5203, 0.5192");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2347, 0.2341, 0.2335, 0.2332, 0.2331, 0.2331, 0.2331, 0.233, 0.233, 0.233",\
                 "0.2355, 0.2348, 0.234, 0.2338, 0.2337, 0.2337, 0.2337, 0.2336, 0.2336, 0.2336",\
                 "0.2442, 0.243, 0.2414, 0.2406, 0.2402, 0.24, 0.2399, 0.2399, 0.2398, 0.2398",\
                 "0.2645, 0.2626, 0.2598, 0.2581, 0.2571, 0.2566, 0.2564, 0.2562, 0.2561, 0.256",\
                 "0.2986, 0.2961, 0.2919, 0.2889, 0.2872, 0.2862, 0.2857, 0.2853, 0.2851, 0.2849",\
                 "0.3467, 0.3435, 0.3376, 0.3334, 0.3306, 0.329, 0.328, 0.3273, 0.3269, 0.3266",\
                 "0.4074, 0.4035, 0.3961, 0.3903, 0.3863, 0.3839, 0.3823, 0.3813, 0.3806, 0.3802",\
                 "0.4799, 0.4756, 0.4665, 0.4591, 0.4539, 0.4504, 0.4482, 0.4467, 0.4457, 0.445",\
                 "0.5624, 0.5576, 0.547, 0.5378, 0.5313, 0.5268, 0.5237, 0.5216, 0.5203, 0.5192");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.234, 0.2334, 0.2328, 0.2325, 0.2324, 0.2324, 0.2323, 0.2323, 0.2322, 0.2322",\
                 "0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2351, 0.2344, 0.2337, 0.2335, 0.2334, 0.2333, 0.2333, 0.2333, 0.2333, 0.2333",\
                 "0.2439, 0.2427, 0.2411, 0.2403, 0.24, 0.2398, 0.2397, 0.2396, 0.2396, 0.2396",\
                 "0.2644, 0.2626, 0.2598, 0.258, 0.2571, 0.2566, 0.2563, 0.2562, 0.2561, 0.256",\
                 "0.2988, 0.2963, 0.292, 0.2891, 0.2874, 0.2864, 0.2858, 0.2855, 0.2853, 0.2851",\
                 "0.347, 0.3438, 0.338, 0.3336, 0.3309, 0.3293, 0.3283, 0.3276, 0.3272, 0.3269",\
                 "0.4077, 0.4038, 0.3965, 0.3906, 0.3867, 0.3842, 0.3827, 0.3817, 0.381, 0.3805",\
                 "0.4802, 0.4759, 0.4668, 0.4593, 0.4541, 0.4507, 0.4485, 0.447, 0.446, 0.4453",\
                 "0.5628, 0.5579, 0.5473, 0.5382, 0.5316, 0.527, 0.524, 0.5219, 0.5205, 0.5195");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.234, 0.2334, 0.2328, 0.2325, 0.2324, 0.2324, 0.2323, 0.2323, 0.2322, 0.2322",\
                 "0.2344, 0.2338, 0.2331, 0.2329, 0.2328, 0.2327, 0.2327, 0.2326, 0.2326, 0.2326",\
                 "0.2351, 0.2344, 0.2337, 0.2335, 0.2334, 0.2333, 0.2333, 0.2333, 0.2333, 0.2333",\
                 "0.2439, 0.2427, 0.2411, 0.2403, 0.24, 0.2398, 0.2397, 0.2396, 0.2396, 0.2396",\
                 "0.2644, 0.2626, 0.2598, 0.258, 0.2571, 0.2566, 0.2563, 0.2562, 0.2561, 0.256",\
                 "0.2988, 0.2963, 0.292, 0.2891, 0.2874, 0.2864, 0.2858, 0.2855, 0.2853, 0.2851",\
                 "0.347, 0.3438, 0.338, 0.3336, 0.3309, 0.3293, 0.3283, 0.3276, 0.3272, 0.3269",\
                 "0.4077, 0.4038, 0.3965, 0.3906, 0.3867, 0.3842, 0.3827, 0.3817, 0.381, 0.3805",\
                 "0.4802, 0.4759, 0.4668, 0.4593, 0.4541, 0.4507, 0.4485, 0.447, 0.446, 0.4453",\
                 "0.5628, 0.5579, 0.5473, 0.5382, 0.5316, 0.527, 0.524, 0.5219, 0.5205, 0.5195");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1745, 0.1733, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1711, 0.1722, 0.1758",\
                 "0.1744, 0.1731, 0.1712, 0.1699, 0.1696, 0.1698, 0.1704, 0.1713, 0.172, 0.1758",\
                 "0.175, 0.1737, 0.1717, 0.1704, 0.1701, 0.1704, 0.1709, 0.1719, 0.1726, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1738, 0.1734, 0.1735, 0.1742, 0.1747, 0.1755, 0.18",\
                 "0.1871, 0.1858, 0.1836, 0.1822, 0.1818, 0.1822, 0.1826, 0.183, 0.1845, 0.1898",\
                 "0.2013, 0.2, 0.1978, 0.1963, 0.1958, 0.196, 0.1965, 0.1972, 0.1985, 0.2054",\
                 "0.2218, 0.2205, 0.2179, 0.2164, 0.2162, 0.2161, 0.2166, 0.2171, 0.2186, 0.2282",\
                 "0.2487, 0.2472, 0.2448, 0.2428, 0.2423, 0.2426, 0.2428, 0.2431, 0.2445, 0.2595",\
                 "0.2791, 0.2775, 0.2749, 0.2726, 0.2715, 0.2718, 0.2729, 0.2731, 0.2755, 0.2983",\
                 "0.3123, 0.3107, 0.3078, 0.3057, 0.3044, 0.3036, 0.3045, 0.3066, 0.3106, 0.3501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1745, 0.1733, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1711, 0.1722, 0.1758",\
                 "0.1744, 0.1731, 0.1712, 0.1699, 0.1696, 0.1698, 0.1704, 0.1713, 0.172, 0.1758",\
                 "0.175, 0.1737, 0.1717, 0.1704, 0.1701, 0.1704, 0.1709, 0.1719, 0.1726, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1738, 0.1734, 0.1735, 0.1742, 0.1747, 0.1755, 0.18",\
                 "0.1871, 0.1858, 0.1836, 0.1822, 0.1818, 0.1822, 0.1826, 0.183, 0.1845, 0.1898",\
                 "0.2013, 0.2, 0.1978, 0.1963, 0.1958, 0.196, 0.1965, 0.1972, 0.1985, 0.2054",\
                 "0.2218, 0.2205, 0.2179, 0.2164, 0.2162, 0.2161, 0.2166, 0.2171, 0.2186, 0.2282",\
                 "0.2487, 0.2472, 0.2448, 0.2428, 0.2423, 0.2426, 0.2428, 0.2431, 0.2445, 0.2595",\
                 "0.2791, 0.2775, 0.2749, 0.2726, 0.2715, 0.2718, 0.2729, 0.2731, 0.2755, 0.2983",\
                 "0.3123, 0.3107, 0.3078, 0.3057, 0.3044, 0.3036, 0.3045, 0.3066, 0.3106, 0.3501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1745, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1711, 0.1722, 0.1758",\
                 "0.1744, 0.1731, 0.1712, 0.1699, 0.1696, 0.1698, 0.1704, 0.1713, 0.172, 0.1758",\
                 "0.175, 0.1737, 0.1717, 0.1704, 0.1701, 0.1704, 0.1709, 0.1718, 0.1726, 0.1762",\
                 "0.1783, 0.1771, 0.175, 0.1738, 0.1734, 0.1736, 0.1742, 0.1748, 0.1755, 0.1801",\
                 "0.187, 0.1857, 0.1836, 0.1822, 0.1819, 0.1821, 0.1827, 0.1831, 0.1844, 0.1908",\
                 "0.2013, 0.2, 0.1978, 0.1964, 0.1958, 0.1961, 0.1967, 0.1972, 0.1981, 0.2057",\
                 "0.2218, 0.2204, 0.2182, 0.2167, 0.2163, 0.2163, 0.2164, 0.2171, 0.2188, 0.2285",\
                 "0.2487, 0.2472, 0.2446, 0.2427, 0.2422, 0.2428, 0.2428, 0.2431, 0.2446, 0.2596",\
                 "0.2791, 0.2775, 0.2748, 0.2726, 0.2716, 0.2718, 0.273, 0.2732, 0.2755, 0.2984",\
                 "0.3124, 0.3107, 0.3079, 0.3057, 0.3044, 0.3035, 0.3047, 0.3065, 0.3109, 0.3501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1745, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1711, 0.1722, 0.1758",\
                 "0.1744, 0.1731, 0.1712, 0.1699, 0.1696, 0.1698, 0.1704, 0.1713, 0.172, 0.1758",\
                 "0.175, 0.1737, 0.1717, 0.1704, 0.1701, 0.1704, 0.1709, 0.1718, 0.1726, 0.1762",\
                 "0.1783, 0.1771, 0.175, 0.1738, 0.1734, 0.1736, 0.1742, 0.1748, 0.1755, 0.1801",\
                 "0.187, 0.1857, 0.1836, 0.1822, 0.1819, 0.1821, 0.1827, 0.1831, 0.1844, 0.1908",\
                 "0.2013, 0.2, 0.1978, 0.1964, 0.1958, 0.1961, 0.1967, 0.1972, 0.1981, 0.2057",\
                 "0.2218, 0.2204, 0.2182, 0.2167, 0.2163, 0.2163, 0.2164, 0.2171, 0.2188, 0.2285",\
                 "0.2487, 0.2472, 0.2446, 0.2427, 0.2422, 0.2428, 0.2428, 0.2431, 0.2446, 0.2596",\
                 "0.2791, 0.2775, 0.2748, 0.2726, 0.2716, 0.2718, 0.273, 0.2732, 0.2755, 0.2984",\
                 "0.3124, 0.3107, 0.3079, 0.3057, 0.3044, 0.3035, 0.3047, 0.3065, 0.3109, 0.3501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1745, 0.1732, 0.1712, 0.1701, 0.1698, 0.17, 0.1705, 0.1711, 0.1719, 0.1759",\
                 "0.1744, 0.1731, 0.1712, 0.1699, 0.1696, 0.1698, 0.1704, 0.1713, 0.172, 0.1758",\
                 "0.175, 0.1737, 0.1716, 0.1704, 0.1701, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1737, 0.1734, 0.1736, 0.1742, 0.1748, 0.1755, 0.1801",\
                 "0.187, 0.1857, 0.1836, 0.1823, 0.1819, 0.1821, 0.1826, 0.1832, 0.1841, 0.1902",\
                 "0.2012, 0.1999, 0.1978, 0.1963, 0.1959, 0.1962, 0.1965, 0.1971, 0.1981, 0.2054",\
                 "0.2219, 0.2205, 0.218, 0.2164, 0.2162, 0.2162, 0.2166, 0.2171, 0.2183, 0.2282",\
                 "0.2487, 0.2472, 0.2449, 0.2426, 0.2424, 0.2427, 0.2428, 0.2432, 0.2446, 0.2599",\
                 "0.2791, 0.2776, 0.2748, 0.2726, 0.2715, 0.2716, 0.2732, 0.2734, 0.2755, 0.2983",\
                 "0.3124, 0.3108, 0.3079, 0.3057, 0.3044, 0.3035, 0.3044, 0.3066, 0.3115, 0.3501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1745, 0.1732, 0.1712, 0.1701, 0.1698, 0.17, 0.1705, 0.1711, 0.1719, 0.1759",\
                 "0.1744, 0.1731, 0.1712, 0.1699, 0.1696, 0.1698, 0.1704, 0.1713, 0.172, 0.1758",\
                 "0.175, 0.1737, 0.1716, 0.1704, 0.1701, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1737, 0.1734, 0.1736, 0.1742, 0.1748, 0.1755, 0.1801",\
                 "0.187, 0.1857, 0.1836, 0.1823, 0.1819, 0.1821, 0.1826, 0.1832, 0.1841, 0.1902",\
                 "0.2012, 0.1999, 0.1978, 0.1963, 0.1959, 0.1962, 0.1965, 0.1971, 0.1981, 0.2054",\
                 "0.2219, 0.2205, 0.218, 0.2164, 0.2162, 0.2162, 0.2166, 0.2171, 0.2183, 0.2282",\
                 "0.2487, 0.2472, 0.2449, 0.2426, 0.2424, 0.2427, 0.2428, 0.2432, 0.2446, 0.2599",\
                 "0.2791, 0.2776, 0.2748, 0.2726, 0.2715, 0.2716, 0.2732, 0.2734, 0.2755, 0.2983",\
                 "0.3124, 0.3108, 0.3079, 0.3057, 0.3044, 0.3035, 0.3044, 0.3066, 0.3115, 0.3501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1744, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1714, 0.1719, 0.1754",\
                 "0.1743, 0.173, 0.1709, 0.1698, 0.1695, 0.1698, 0.1703, 0.1712, 0.1715, 0.176",\
                 "0.1748, 0.1736, 0.1716, 0.1703, 0.17, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1736, 0.1735, 0.1735, 0.1741, 0.175, 0.1756, 0.1809",\
                 "0.1871, 0.1857, 0.1836, 0.1822, 0.1819, 0.1822, 0.1826, 0.1831, 0.1845, 0.1898",\
                 "0.2011, 0.1999, 0.1976, 0.1961, 0.1958, 0.1959, 0.197, 0.1969, 0.1982, 0.2054",\
                 "0.2218, 0.2205, 0.2181, 0.2165, 0.2163, 0.2162, 0.2165, 0.217, 0.2187, 0.2284",\
                 "0.2487, 0.2473, 0.2448, 0.2427, 0.2422, 0.2429, 0.2428, 0.2431, 0.2447, 0.2593",\
                 "0.2791, 0.2776, 0.2749, 0.2726, 0.2716, 0.2717, 0.2731, 0.2735, 0.2755, 0.2988",\
                 "0.3124, 0.3107, 0.3078, 0.3055, 0.3043, 0.3037, 0.3047, 0.3064, 0.3109, 0.3503");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1744, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1714, 0.1719, 0.1754",\
                 "0.1743, 0.173, 0.1709, 0.1698, 0.1695, 0.1698, 0.1703, 0.1712, 0.1715, 0.176",\
                 "0.1748, 0.1736, 0.1716, 0.1703, 0.17, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1736, 0.1735, 0.1735, 0.1741, 0.175, 0.1756, 0.1809",\
                 "0.1871, 0.1857, 0.1836, 0.1822, 0.1819, 0.1822, 0.1826, 0.1831, 0.1845, 0.1898",\
                 "0.2011, 0.1999, 0.1976, 0.1961, 0.1958, 0.1959, 0.197, 0.1969, 0.1982, 0.2054",\
                 "0.2218, 0.2205, 0.2181, 0.2165, 0.2163, 0.2162, 0.2165, 0.217, 0.2187, 0.2284",\
                 "0.2487, 0.2473, 0.2448, 0.2427, 0.2422, 0.2429, 0.2428, 0.2431, 0.2447, 0.2593",\
                 "0.2791, 0.2776, 0.2749, 0.2726, 0.2716, 0.2717, 0.2731, 0.2735, 0.2755, 0.2988",\
                 "0.3124, 0.3107, 0.3078, 0.3055, 0.3043, 0.3037, 0.3047, 0.3064, 0.3109, 0.3503");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1744, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1714, 0.1719, 0.1754",\
                 "0.1743, 0.173, 0.1709, 0.1698, 0.1695, 0.1698, 0.1703, 0.1712, 0.1715, 0.176",\
                 "0.1749, 0.1736, 0.1716, 0.1704, 0.1701, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1736, 0.1736, 0.1736, 0.1741, 0.175, 0.1756, 0.1809",\
                 "0.187, 0.1857, 0.1835, 0.1822, 0.1819, 0.1821, 0.1826, 0.183, 0.1845, 0.1897",\
                 "0.2011, 0.2, 0.1976, 0.1961, 0.1958, 0.1959, 0.1964, 0.1971, 0.1986, 0.2054",\
                 "0.2218, 0.2205, 0.218, 0.2165, 0.2163, 0.2162, 0.2165, 0.217, 0.2187, 0.2284",\
                 "0.2487, 0.2473, 0.2448, 0.2427, 0.2422, 0.2429, 0.2428, 0.2431, 0.2447, 0.2597",\
                 "0.2791, 0.2777, 0.2748, 0.2728, 0.2716, 0.2713, 0.2731, 0.2735, 0.2755, 0.2993",\
                 "0.3124, 0.3108, 0.3079, 0.3055, 0.3043, 0.3037, 0.3044, 0.3065, 0.3109, 0.3503");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1744, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1714, 0.1719, 0.1754",\
                 "0.1743, 0.173, 0.1709, 0.1698, 0.1695, 0.1698, 0.1703, 0.1712, 0.1715, 0.176",\
                 "0.1749, 0.1736, 0.1716, 0.1704, 0.1701, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1736, 0.1736, 0.1736, 0.1741, 0.175, 0.1756, 0.1809",\
                 "0.187, 0.1857, 0.1835, 0.1822, 0.1819, 0.1821, 0.1826, 0.183, 0.1845, 0.1897",\
                 "0.2011, 0.2, 0.1976, 0.1961, 0.1958, 0.1959, 0.1964, 0.1971, 0.1986, 0.2054",\
                 "0.2218, 0.2205, 0.218, 0.2165, 0.2163, 0.2162, 0.2165, 0.217, 0.2187, 0.2284",\
                 "0.2487, 0.2473, 0.2448, 0.2427, 0.2422, 0.2429, 0.2428, 0.2431, 0.2447, 0.2597",\
                 "0.2791, 0.2777, 0.2748, 0.2728, 0.2716, 0.2713, 0.2731, 0.2735, 0.2755, 0.2993",\
                 "0.3124, 0.3108, 0.3079, 0.3055, 0.3043, 0.3037, 0.3044, 0.3065, 0.3109, 0.3503");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1744, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1714, 0.1719, 0.1754",\
                 "0.1743, 0.173, 0.1709, 0.1698, 0.1695, 0.1698, 0.1703, 0.1712, 0.1715, 0.176",\
                 "0.1749, 0.1736, 0.1716, 0.1704, 0.1701, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1736, 0.1736, 0.1736, 0.1742, 0.175, 0.1756, 0.1809",\
                 "0.187, 0.1857, 0.1835, 0.1821, 0.1818, 0.1821, 0.1826, 0.183, 0.1845, 0.1897",\
                 "0.2011, 0.2, 0.1976, 0.1961, 0.1958, 0.1961, 0.197, 0.1971, 0.1986, 0.2054",\
                 "0.2218, 0.2205, 0.218, 0.2165, 0.2163, 0.2162, 0.2165, 0.217, 0.2187, 0.2284",\
                 "0.2487, 0.2473, 0.2448, 0.2427, 0.2422, 0.2429, 0.2428, 0.2431, 0.2447, 0.2597",\
                 "0.2792, 0.2777, 0.2749, 0.2727, 0.2716, 0.2713, 0.2731, 0.2735, 0.2755, 0.2993",\
                 "0.3124, 0.3109, 0.3079, 0.3055, 0.3043, 0.3037, 0.3044, 0.3065, 0.3109, 0.3503");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1744, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1714, 0.1719, 0.1754",\
                 "0.1743, 0.173, 0.1709, 0.1698, 0.1695, 0.1698, 0.1703, 0.1712, 0.1715, 0.176",\
                 "0.1749, 0.1736, 0.1716, 0.1704, 0.1701, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1782, 0.177, 0.175, 0.1736, 0.1736, 0.1736, 0.1742, 0.175, 0.1756, 0.1809",\
                 "0.187, 0.1857, 0.1835, 0.1821, 0.1818, 0.1821, 0.1826, 0.183, 0.1845, 0.1897",\
                 "0.2011, 0.2, 0.1976, 0.1961, 0.1958, 0.1961, 0.197, 0.1971, 0.1986, 0.2054",\
                 "0.2218, 0.2205, 0.218, 0.2165, 0.2163, 0.2162, 0.2165, 0.217, 0.2187, 0.2284",\
                 "0.2487, 0.2473, 0.2448, 0.2427, 0.2422, 0.2429, 0.2428, 0.2431, 0.2447, 0.2597",\
                 "0.2792, 0.2777, 0.2749, 0.2727, 0.2716, 0.2713, 0.2731, 0.2735, 0.2755, 0.2993",\
                 "0.3124, 0.3109, 0.3079, 0.3055, 0.3043, 0.3037, 0.3044, 0.3065, 0.3109, 0.3503");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1745, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1711, 0.1722, 0.1758",\
                 "0.1744, 0.1731, 0.1712, 0.1699, 0.1696, 0.1698, 0.1704, 0.1713, 0.172, 0.1758",\
                 "0.175, 0.1737, 0.1716, 0.1704, 0.1701, 0.1704, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1783, 0.1771, 0.175, 0.1736, 0.1734, 0.1736, 0.1742, 0.1748, 0.1756, 0.1801",\
                 "0.187, 0.1857, 0.1836, 0.1822, 0.1818, 0.1822, 0.1827, 0.1831, 0.184, 0.1905",\
                 "0.2013, 0.2, 0.1978, 0.1962, 0.1958, 0.1959, 0.1965, 0.1972, 0.1985, 0.2054",\
                 "0.2219, 0.2206, 0.218, 0.2164, 0.2161, 0.2161, 0.2166, 0.2171, 0.2187, 0.2282",\
                 "0.2488, 0.2473, 0.2449, 0.2427, 0.2422, 0.2427, 0.2428, 0.2432, 0.2446, 0.2599",\
                 "0.279, 0.2774, 0.2748, 0.2725, 0.2714, 0.2718, 0.2729, 0.273, 0.2755, 0.2982",\
                 "0.3123, 0.3107, 0.3078, 0.3055, 0.3044, 0.3036, 0.3041, 0.3063, 0.3114, 0.3505");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1745, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1711, 0.1722, 0.1758",\
                 "0.1744, 0.1731, 0.1712, 0.1699, 0.1696, 0.1698, 0.1704, 0.1713, 0.172, 0.1758",\
                 "0.175, 0.1737, 0.1716, 0.1704, 0.1701, 0.1704, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1783, 0.1771, 0.175, 0.1736, 0.1734, 0.1736, 0.1742, 0.1748, 0.1756, 0.1801",\
                 "0.187, 0.1857, 0.1836, 0.1822, 0.1818, 0.1822, 0.1827, 0.1831, 0.184, 0.1905",\
                 "0.2013, 0.2, 0.1978, 0.1962, 0.1958, 0.1959, 0.1965, 0.1972, 0.1985, 0.2054",\
                 "0.2219, 0.2206, 0.218, 0.2164, 0.2161, 0.2161, 0.2166, 0.2171, 0.2187, 0.2282",\
                 "0.2488, 0.2473, 0.2449, 0.2427, 0.2422, 0.2427, 0.2428, 0.2432, 0.2446, 0.2599",\
                 "0.279, 0.2774, 0.2748, 0.2725, 0.2714, 0.2718, 0.2729, 0.273, 0.2755, 0.2982",\
                 "0.3123, 0.3107, 0.3078, 0.3055, 0.3044, 0.3036, 0.3041, 0.3063, 0.3114, 0.3505");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1744, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1714, 0.1719, 0.1754",\
                 "0.1743, 0.173, 0.171, 0.1698, 0.1695, 0.1698, 0.1703, 0.1713, 0.1715, 0.176",\
                 "0.175, 0.1736, 0.1716, 0.1703, 0.17, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1783, 0.177, 0.175, 0.1737, 0.1736, 0.1736, 0.1742, 0.1748, 0.1756, 0.1809",\
                 "0.187, 0.1857, 0.1835, 0.1822, 0.1819, 0.1822, 0.1826, 0.183, 0.1845, 0.1898",\
                 "0.2012, 0.1999, 0.1977, 0.1963, 0.1958, 0.1959, 0.1964, 0.1968, 0.1984, 0.2058",\
                 "0.2218, 0.2204, 0.2181, 0.2165, 0.2162, 0.2162, 0.2165, 0.217, 0.2187, 0.2284",\
                 "0.2488, 0.2473, 0.2445, 0.2428, 0.2422, 0.2427, 0.243, 0.2432, 0.2447, 0.2597",\
                 "0.2792, 0.2776, 0.275, 0.2727, 0.2717, 0.2718, 0.273, 0.2732, 0.2754, 0.2987",\
                 "0.3125, 0.3107, 0.3079, 0.3055, 0.3042, 0.3038, 0.3044, 0.3064, 0.3109, 0.3506");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1744, 0.1732, 0.1712, 0.17, 0.1697, 0.1698, 0.1705, 0.1714, 0.1719, 0.1754",\
                 "0.1743, 0.173, 0.171, 0.1698, 0.1695, 0.1698, 0.1703, 0.1713, 0.1715, 0.176",\
                 "0.175, 0.1736, 0.1716, 0.1703, 0.17, 0.1703, 0.1709, 0.1718, 0.1725, 0.1762",\
                 "0.1783, 0.177, 0.175, 0.1737, 0.1736, 0.1736, 0.1742, 0.1748, 0.1756, 0.1809",\
                 "0.187, 0.1857, 0.1835, 0.1822, 0.1819, 0.1822, 0.1826, 0.183, 0.1845, 0.1898",\
                 "0.2012, 0.1999, 0.1977, 0.1963, 0.1958, 0.1959, 0.1964, 0.1968, 0.1984, 0.2058",\
                 "0.2218, 0.2204, 0.2181, 0.2165, 0.2162, 0.2162, 0.2165, 0.217, 0.2187, 0.2284",\
                 "0.2488, 0.2473, 0.2445, 0.2428, 0.2422, 0.2427, 0.243, 0.2432, 0.2447, 0.2597",\
                 "0.2792, 0.2776, 0.275, 0.2727, 0.2717, 0.2718, 0.273, 0.2732, 0.2754, 0.2987",\
                 "0.3125, 0.3107, 0.3079, 0.3055, 0.3042, 0.3038, 0.3044, 0.3064, 0.3109, 0.3506");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.2607, 0.2586, 0.2575, 0.2571, 0.2574, 0.2577, 0.2588, 0.2598, 0.2629",\
                 "0.2616, 0.2602, 0.2581, 0.2569, 0.2566, 0.257, 0.2574, 0.2579, 0.2589, 0.2629",\
                 "0.2626, 0.2613, 0.2592, 0.2579, 0.2576, 0.258, 0.2585, 0.259, 0.26, 0.264",\
                 "0.2698, 0.2686, 0.2664, 0.2651, 0.2649, 0.2653, 0.2656, 0.2664, 0.2672, 0.2721",\
                 "0.2877, 0.2863, 0.2841, 0.2828, 0.2825, 0.2829, 0.2832, 0.2837, 0.2846, 0.2904",\
                 "0.3166, 0.3153, 0.3132, 0.3116, 0.3111, 0.3115, 0.3121, 0.3123, 0.3132, 0.3212",\
                 "0.3576, 0.3562, 0.3539, 0.3524, 0.3519, 0.3517, 0.3522, 0.3528, 0.3547, 0.3639",\
                 "0.4108, 0.4095, 0.4071, 0.4049, 0.4046, 0.4049, 0.4051, 0.4051, 0.407, 0.4226",\
                 "0.4713, 0.4697, 0.4669, 0.465, 0.4638, 0.4641, 0.465, 0.4655, 0.4679, 0.4917",\
                 "0.5367, 0.535, 0.5321, 0.5301, 0.5289, 0.5284, 0.5293, 0.531, 0.5357, 0.5767");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.2607, 0.2586, 0.2575, 0.2571, 0.2574, 0.2577, 0.2588, 0.2598, 0.2629",\
                 "0.2616, 0.2602, 0.2581, 0.2569, 0.2566, 0.257, 0.2574, 0.2579, 0.2589, 0.2629",\
                 "0.2626, 0.2613, 0.2592, 0.2579, 0.2576, 0.258, 0.2585, 0.259, 0.26, 0.264",\
                 "0.2698, 0.2686, 0.2664, 0.2651, 0.2649, 0.2653, 0.2656, 0.2664, 0.2672, 0.2721",\
                 "0.2877, 0.2863, 0.2841, 0.2828, 0.2825, 0.2829, 0.2832, 0.2837, 0.2846, 0.2904",\
                 "0.3166, 0.3153, 0.3132, 0.3116, 0.3111, 0.3115, 0.3121, 0.3123, 0.3132, 0.3212",\
                 "0.3576, 0.3562, 0.3539, 0.3524, 0.3519, 0.3517, 0.3522, 0.3528, 0.3547, 0.3639",\
                 "0.4108, 0.4095, 0.4071, 0.4049, 0.4046, 0.4049, 0.4051, 0.4051, 0.407, 0.4226",\
                 "0.4713, 0.4697, 0.4669, 0.465, 0.4638, 0.4641, 0.465, 0.4655, 0.4679, 0.4917",\
                 "0.5367, 0.535, 0.5321, 0.5301, 0.5289, 0.5284, 0.5293, 0.531, 0.5357, 0.5767");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.2607, 0.2586, 0.2575, 0.2571, 0.2574, 0.2577, 0.2588, 0.2598, 0.2629",\
                 "0.2616, 0.2602, 0.2581, 0.2569, 0.2566, 0.257, 0.2574, 0.2579, 0.2589, 0.2628",\
                 "0.2626, 0.2613, 0.2591, 0.2579, 0.2576, 0.258, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2699, 0.2686, 0.2664, 0.2651, 0.2649, 0.2651, 0.2656, 0.2663, 0.2672, 0.2721",\
                 "0.2876, 0.2863, 0.2841, 0.2828, 0.2824, 0.2829, 0.2832, 0.2837, 0.2846, 0.2903",\
                 "0.3166, 0.3153, 0.3132, 0.3116, 0.3111, 0.3115, 0.3121, 0.3123, 0.3132, 0.3212",\
                 "0.3576, 0.3563, 0.3538, 0.3523, 0.3519, 0.3518, 0.3523, 0.3528, 0.3542, 0.3639",\
                 "0.4109, 0.4095, 0.4071, 0.4049, 0.4046, 0.4049, 0.4051, 0.4051, 0.407, 0.4226",\
                 "0.4713, 0.4697, 0.4669, 0.4649, 0.4638, 0.4641, 0.465, 0.4655, 0.4679, 0.4917",\
                 "0.5367, 0.535, 0.5322, 0.5301, 0.5288, 0.5284, 0.529, 0.5307, 0.5357, 0.5764");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.2607, 0.2586, 0.2575, 0.2571, 0.2574, 0.2577, 0.2588, 0.2598, 0.2629",\
                 "0.2616, 0.2602, 0.2581, 0.2569, 0.2566, 0.257, 0.2574, 0.2579, 0.2589, 0.2628",\
                 "0.2626, 0.2613, 0.2591, 0.2579, 0.2576, 0.258, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2699, 0.2686, 0.2664, 0.2651, 0.2649, 0.2651, 0.2656, 0.2663, 0.2672, 0.2721",\
                 "0.2876, 0.2863, 0.2841, 0.2828, 0.2824, 0.2829, 0.2832, 0.2837, 0.2846, 0.2903",\
                 "0.3166, 0.3153, 0.3132, 0.3116, 0.3111, 0.3115, 0.3121, 0.3123, 0.3132, 0.3212",\
                 "0.3576, 0.3563, 0.3538, 0.3523, 0.3519, 0.3518, 0.3523, 0.3528, 0.3542, 0.3639",\
                 "0.4109, 0.4095, 0.4071, 0.4049, 0.4046, 0.4049, 0.4051, 0.4051, 0.407, 0.4226",\
                 "0.4713, 0.4697, 0.4669, 0.4649, 0.4638, 0.4641, 0.465, 0.4655, 0.4679, 0.4917",\
                 "0.5367, 0.535, 0.5322, 0.5301, 0.5288, 0.5284, 0.529, 0.5307, 0.5357, 0.5764");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.2607, 0.2586, 0.2575, 0.2571, 0.2574, 0.2577, 0.2588, 0.2598, 0.2629",\
                 "0.2616, 0.2602, 0.2581, 0.2569, 0.2566, 0.257, 0.2574, 0.2579, 0.2589, 0.2628",\
                 "0.2626, 0.2613, 0.2591, 0.2579, 0.2576, 0.258, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2698, 0.2686, 0.2665, 0.2651, 0.265, 0.265, 0.2657, 0.2663, 0.2672, 0.2721",\
                 "0.2876, 0.2863, 0.284, 0.2828, 0.2824, 0.2826, 0.2832, 0.2837, 0.2845, 0.2907",\
                 "0.3166, 0.3152, 0.3132, 0.3115, 0.311, 0.3114, 0.3117, 0.3123, 0.313, 0.3205",\
                 "0.3577, 0.3562, 0.3539, 0.3524, 0.352, 0.3519, 0.3523, 0.3528, 0.3547, 0.3639",\
                 "0.4108, 0.4094, 0.4071, 0.4049, 0.4045, 0.405, 0.4051, 0.4051, 0.407, 0.4226",\
                 "0.4713, 0.4696, 0.4667, 0.4648, 0.464, 0.4641, 0.4651, 0.4658, 0.4679, 0.4915",\
                 "0.5366, 0.5352, 0.5323, 0.5302, 0.5289, 0.5281, 0.5296, 0.5313, 0.536, 0.577");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.2607, 0.2586, 0.2575, 0.2571, 0.2574, 0.2577, 0.2588, 0.2598, 0.2629",\
                 "0.2616, 0.2602, 0.2581, 0.2569, 0.2566, 0.257, 0.2574, 0.2579, 0.2589, 0.2628",\
                 "0.2626, 0.2613, 0.2591, 0.2579, 0.2576, 0.258, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2698, 0.2686, 0.2665, 0.2651, 0.265, 0.265, 0.2657, 0.2663, 0.2672, 0.2721",\
                 "0.2876, 0.2863, 0.284, 0.2828, 0.2824, 0.2826, 0.2832, 0.2837, 0.2845, 0.2907",\
                 "0.3166, 0.3152, 0.3132, 0.3115, 0.311, 0.3114, 0.3117, 0.3123, 0.313, 0.3205",\
                 "0.3577, 0.3562, 0.3539, 0.3524, 0.352, 0.3519, 0.3523, 0.3528, 0.3547, 0.3639",\
                 "0.4108, 0.4094, 0.4071, 0.4049, 0.4045, 0.405, 0.4051, 0.4051, 0.407, 0.4226",\
                 "0.4713, 0.4696, 0.4667, 0.4648, 0.464, 0.4641, 0.4651, 0.4658, 0.4679, 0.4915",\
                 "0.5366, 0.5352, 0.5323, 0.5302, 0.5289, 0.5281, 0.5296, 0.5313, 0.536, 0.577");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2622, 0.2609, 0.2586, 0.2574, 0.2572, 0.2576, 0.258, 0.2586, 0.2591, 0.2632",\
                 "0.2616, 0.2603, 0.2582, 0.2569, 0.2566, 0.2571, 0.2575, 0.2579, 0.259, 0.2635",\
                 "0.2626, 0.2614, 0.2593, 0.258, 0.2577, 0.2581, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2698, 0.2686, 0.2664, 0.2652, 0.2649, 0.2653, 0.2657, 0.2661, 0.2669, 0.272",\
                 "0.2876, 0.2863, 0.2842, 0.2828, 0.2824, 0.2826, 0.2832, 0.2836, 0.2845, 0.2903",\
                 "0.3166, 0.3152, 0.3132, 0.3116, 0.3111, 0.3113, 0.3115, 0.3122, 0.3132, 0.3215",\
                 "0.3576, 0.3563, 0.3539, 0.3524, 0.352, 0.3518, 0.3525, 0.3528, 0.3539, 0.3645",\
                 "0.4108, 0.4094, 0.4068, 0.4048, 0.4044, 0.4049, 0.405, 0.4049, 0.407, 0.4222",\
                 "0.4712, 0.4696, 0.4669, 0.4647, 0.4638, 0.4638, 0.4652, 0.4655, 0.4682, 0.4917",\
                 "0.5366, 0.5349, 0.5322, 0.5301, 0.5288, 0.5282, 0.5289, 0.5306, 0.5357, 0.5773");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2622, 0.2609, 0.2586, 0.2574, 0.2572, 0.2576, 0.258, 0.2586, 0.2591, 0.2632",\
                 "0.2616, 0.2603, 0.2582, 0.2569, 0.2566, 0.2571, 0.2575, 0.2579, 0.259, 0.2635",\
                 "0.2626, 0.2614, 0.2593, 0.258, 0.2577, 0.2581, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2698, 0.2686, 0.2664, 0.2652, 0.2649, 0.2653, 0.2657, 0.2661, 0.2669, 0.272",\
                 "0.2876, 0.2863, 0.2842, 0.2828, 0.2824, 0.2826, 0.2832, 0.2836, 0.2845, 0.2903",\
                 "0.3166, 0.3152, 0.3132, 0.3116, 0.3111, 0.3113, 0.3115, 0.3122, 0.3132, 0.3215",\
                 "0.3576, 0.3563, 0.3539, 0.3524, 0.352, 0.3518, 0.3525, 0.3528, 0.3539, 0.3645",\
                 "0.4108, 0.4094, 0.4068, 0.4048, 0.4044, 0.4049, 0.405, 0.4049, 0.407, 0.4222",\
                 "0.4712, 0.4696, 0.4669, 0.4647, 0.4638, 0.4638, 0.4652, 0.4655, 0.4682, 0.4917",\
                 "0.5366, 0.5349, 0.5322, 0.5301, 0.5288, 0.5282, 0.5289, 0.5306, 0.5357, 0.5773");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2622, 0.2609, 0.2586, 0.2574, 0.2572, 0.2576, 0.258, 0.2586, 0.2591, 0.2632",\
                 "0.2616, 0.2603, 0.2582, 0.2569, 0.2566, 0.2571, 0.2575, 0.2579, 0.259, 0.2635",\
                 "0.2627, 0.2614, 0.2593, 0.258, 0.2577, 0.2582, 0.2585, 0.259, 0.2599, 0.2641",\
                 "0.2698, 0.2686, 0.2664, 0.2651, 0.2648, 0.2653, 0.2657, 0.2661, 0.2673, 0.272",\
                 "0.2876, 0.2863, 0.2842, 0.283, 0.2826, 0.2827, 0.2832, 0.2836, 0.2849, 0.2904",\
                 "0.3165, 0.3152, 0.3131, 0.3116, 0.3111, 0.3113, 0.3116, 0.3122, 0.3132, 0.3215",\
                 "0.3576, 0.3563, 0.3539, 0.3524, 0.352, 0.3518, 0.3525, 0.3528, 0.3539, 0.3645",\
                 "0.4108, 0.4094, 0.4068, 0.4048, 0.4044, 0.405, 0.4051, 0.405, 0.407, 0.422",\
                 "0.4711, 0.4696, 0.4669, 0.4648, 0.4639, 0.4637, 0.4652, 0.4654, 0.4676, 0.4921",\
                 "0.5366, 0.535, 0.5324, 0.53, 0.5287, 0.5285, 0.5295, 0.5306, 0.536, 0.5773");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2622, 0.2609, 0.2586, 0.2574, 0.2572, 0.2576, 0.258, 0.2586, 0.2591, 0.2632",\
                 "0.2616, 0.2603, 0.2582, 0.2569, 0.2566, 0.2571, 0.2575, 0.2579, 0.259, 0.2635",\
                 "0.2627, 0.2614, 0.2593, 0.258, 0.2577, 0.2582, 0.2585, 0.259, 0.2599, 0.2641",\
                 "0.2698, 0.2686, 0.2664, 0.2651, 0.2648, 0.2653, 0.2657, 0.2661, 0.2673, 0.272",\
                 "0.2876, 0.2863, 0.2842, 0.283, 0.2826, 0.2827, 0.2832, 0.2836, 0.2849, 0.2904",\
                 "0.3165, 0.3152, 0.3131, 0.3116, 0.3111, 0.3113, 0.3116, 0.3122, 0.3132, 0.3215",\
                 "0.3576, 0.3563, 0.3539, 0.3524, 0.352, 0.3518, 0.3525, 0.3528, 0.3539, 0.3645",\
                 "0.4108, 0.4094, 0.4068, 0.4048, 0.4044, 0.405, 0.4051, 0.405, 0.407, 0.422",\
                 "0.4711, 0.4696, 0.4669, 0.4648, 0.4639, 0.4637, 0.4652, 0.4654, 0.4676, 0.4921",\
                 "0.5366, 0.535, 0.5324, 0.53, 0.5287, 0.5285, 0.5295, 0.5306, 0.536, 0.5773");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2622, 0.2609, 0.2586, 0.2574, 0.2572, 0.2576, 0.258, 0.2586, 0.2591, 0.2632",\
                 "0.2616, 0.2603, 0.2582, 0.2569, 0.2566, 0.2571, 0.2575, 0.2579, 0.259, 0.2635",\
                 "0.2627, 0.2614, 0.2593, 0.258, 0.2577, 0.2582, 0.2585, 0.259, 0.2599, 0.2641",\
                 "0.2698, 0.2686, 0.2664, 0.2652, 0.2649, 0.2653, 0.2657, 0.2661, 0.2672, 0.272",\
                 "0.2876, 0.2863, 0.2842, 0.283, 0.2826, 0.2829, 0.2832, 0.2836, 0.2844, 0.2904",\
                 "0.3166, 0.3151, 0.3132, 0.3116, 0.3111, 0.3113, 0.3115, 0.3122, 0.3132, 0.3215",\
                 "0.3576, 0.3562, 0.3538, 0.3523, 0.3519, 0.3518, 0.3522, 0.3528, 0.3541, 0.3645",\
                 "0.4108, 0.4094, 0.4069, 0.4048, 0.4044, 0.405, 0.4051, 0.4054, 0.407, 0.422",\
                 "0.4711, 0.4696, 0.4669, 0.4647, 0.464, 0.4637, 0.4654, 0.4654, 0.4679, 0.4915",\
                 "0.5366, 0.535, 0.5322, 0.53, 0.5287, 0.5286, 0.529, 0.531, 0.5357, 0.5766");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2622, 0.2609, 0.2586, 0.2574, 0.2572, 0.2576, 0.258, 0.2586, 0.2591, 0.2632",\
                 "0.2616, 0.2603, 0.2582, 0.2569, 0.2566, 0.2571, 0.2575, 0.2579, 0.259, 0.2635",\
                 "0.2627, 0.2614, 0.2593, 0.258, 0.2577, 0.2582, 0.2585, 0.259, 0.2599, 0.2641",\
                 "0.2698, 0.2686, 0.2664, 0.2652, 0.2649, 0.2653, 0.2657, 0.2661, 0.2672, 0.272",\
                 "0.2876, 0.2863, 0.2842, 0.283, 0.2826, 0.2829, 0.2832, 0.2836, 0.2844, 0.2904",\
                 "0.3166, 0.3151, 0.3132, 0.3116, 0.3111, 0.3113, 0.3115, 0.3122, 0.3132, 0.3215",\
                 "0.3576, 0.3562, 0.3538, 0.3523, 0.3519, 0.3518, 0.3522, 0.3528, 0.3541, 0.3645",\
                 "0.4108, 0.4094, 0.4069, 0.4048, 0.4044, 0.405, 0.4051, 0.4054, 0.407, 0.422",\
                 "0.4711, 0.4696, 0.4669, 0.4647, 0.464, 0.4637, 0.4654, 0.4654, 0.4679, 0.4915",\
                 "0.5366, 0.535, 0.5322, 0.53, 0.5287, 0.5286, 0.529, 0.531, 0.5357, 0.5766");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.2607, 0.2586, 0.2575, 0.2571, 0.2574, 0.2577, 0.2588, 0.2598, 0.2629",\
                 "0.2616, 0.2602, 0.2581, 0.2569, 0.2566, 0.257, 0.2574, 0.2579, 0.2589, 0.2628",\
                 "0.2626, 0.2613, 0.2591, 0.2579, 0.2576, 0.258, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2699, 0.2686, 0.2665, 0.2652, 0.2649, 0.2651, 0.2657, 0.2663, 0.2672, 0.2721",\
                 "0.2876, 0.2863, 0.2841, 0.2828, 0.2824, 0.2829, 0.2832, 0.2836, 0.2844, 0.2903",\
                 "0.3166, 0.3152, 0.3132, 0.3115, 0.311, 0.3114, 0.3117, 0.3123, 0.313, 0.3205",\
                 "0.3576, 0.3563, 0.3536, 0.3523, 0.3519, 0.3518, 0.3523, 0.3527, 0.3539, 0.3639",\
                 "0.4108, 0.4095, 0.4071, 0.4049, 0.4046, 0.4049, 0.4051, 0.4051, 0.407, 0.4226",\
                 "0.4713, 0.4697, 0.4671, 0.4649, 0.4638, 0.4641, 0.465, 0.4655, 0.4679, 0.4917",\
                 "0.5366, 0.535, 0.5322, 0.53, 0.5289, 0.5281, 0.5291, 0.531, 0.536, 0.577");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.2607, 0.2586, 0.2575, 0.2571, 0.2574, 0.2577, 0.2588, 0.2598, 0.2629",\
                 "0.2616, 0.2602, 0.2581, 0.2569, 0.2566, 0.257, 0.2574, 0.2579, 0.2589, 0.2628",\
                 "0.2626, 0.2613, 0.2591, 0.2579, 0.2576, 0.258, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2699, 0.2686, 0.2665, 0.2652, 0.2649, 0.2651, 0.2657, 0.2663, 0.2672, 0.2721",\
                 "0.2876, 0.2863, 0.2841, 0.2828, 0.2824, 0.2829, 0.2832, 0.2836, 0.2844, 0.2903",\
                 "0.3166, 0.3152, 0.3132, 0.3115, 0.311, 0.3114, 0.3117, 0.3123, 0.313, 0.3205",\
                 "0.3576, 0.3563, 0.3536, 0.3523, 0.3519, 0.3518, 0.3523, 0.3527, 0.3539, 0.3639",\
                 "0.4108, 0.4095, 0.4071, 0.4049, 0.4046, 0.4049, 0.4051, 0.4051, 0.407, 0.4226",\
                 "0.4713, 0.4697, 0.4671, 0.4649, 0.4638, 0.4641, 0.465, 0.4655, 0.4679, 0.4917",\
                 "0.5366, 0.535, 0.5322, 0.53, 0.5289, 0.5281, 0.5291, 0.531, 0.536, 0.577");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.261, 0.2588, 0.2574, 0.2572, 0.2574, 0.2579, 0.2584, 0.2592, 0.2639",\
                 "0.2616, 0.2603, 0.2582, 0.2569, 0.2566, 0.2571, 0.2574, 0.2579, 0.259, 0.2635",\
                 "0.2626, 0.2614, 0.2593, 0.258, 0.2577, 0.2581, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2698, 0.2686, 0.2664, 0.2653, 0.2649, 0.2653, 0.2657, 0.2666, 0.2677, 0.2718",\
                 "0.2876, 0.2864, 0.2842, 0.2828, 0.2825, 0.2826, 0.2832, 0.2836, 0.2845, 0.2904",\
                 "0.3166, 0.3152, 0.3132, 0.3116, 0.3111, 0.3111, 0.3117, 0.3123, 0.3132, 0.3208",\
                 "0.3576, 0.3563, 0.3539, 0.3524, 0.352, 0.3518, 0.3525, 0.3528, 0.3539, 0.3645",\
                 "0.4108, 0.4094, 0.4068, 0.4048, 0.4044, 0.405, 0.4051, 0.4054, 0.407, 0.4223",\
                 "0.4711, 0.4696, 0.467, 0.4646, 0.4638, 0.4638, 0.4651, 0.4655, 0.4682, 0.4917",\
                 "0.5367, 0.5352, 0.5321, 0.5301, 0.5287, 0.5285, 0.5293, 0.5314, 0.5359, 0.577");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2621, 0.261, 0.2588, 0.2574, 0.2572, 0.2574, 0.2579, 0.2584, 0.2592, 0.2639",\
                 "0.2616, 0.2603, 0.2582, 0.2569, 0.2566, 0.2571, 0.2574, 0.2579, 0.259, 0.2635",\
                 "0.2626, 0.2614, 0.2593, 0.258, 0.2577, 0.2581, 0.2585, 0.259, 0.2599, 0.264",\
                 "0.2698, 0.2686, 0.2664, 0.2653, 0.2649, 0.2653, 0.2657, 0.2666, 0.2677, 0.2718",\
                 "0.2876, 0.2864, 0.2842, 0.2828, 0.2825, 0.2826, 0.2832, 0.2836, 0.2845, 0.2904",\
                 "0.3166, 0.3152, 0.3132, 0.3116, 0.3111, 0.3111, 0.3117, 0.3123, 0.3132, 0.3208",\
                 "0.3576, 0.3563, 0.3539, 0.3524, 0.352, 0.3518, 0.3525, 0.3528, 0.3539, 0.3645",\
                 "0.4108, 0.4094, 0.4068, 0.4048, 0.4044, 0.405, 0.4051, 0.4054, 0.407, 0.4223",\
                 "0.4711, 0.4696, 0.467, 0.4646, 0.4638, 0.4638, 0.4651, 0.4655, 0.4682, 0.4917",\
                 "0.5367, 0.5352, 0.5321, 0.5301, 0.5287, 0.5285, 0.5293, 0.5314, 0.5359, 0.577");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.029, 1.064, 1.156, 1.296, 1.493, 1.763, 2.116, 2.561, 3.104, 3.751",\
                 "1.043, 1.077, 1.17, 1.31, 1.507, 1.777, 2.13, 2.575, 3.118, 3.765",\
                 "1.094, 1.128, 1.221, 1.361, 1.558, 1.827, 2.181, 2.625, 3.168, 3.816",\
                 "1.176, 1.21, 1.302, 1.442, 1.64, 1.909, 2.262, 2.707, 3.25, 3.897",\
                 "1.246, 1.28, 1.372, 1.513, 1.71, 1.979, 2.332, 2.777, 3.32, 3.967",\
                 "1.301, 1.336, 1.428, 1.568, 1.766, 2.035, 2.388, 2.833, 3.376, 4.023",\
                 "1.339, 1.373, 1.466, 1.606, 1.803, 2.072, 2.425, 2.87, 3.413, 4.061",\
                 "1.356, 1.39, 1.482, 1.623, 1.82, 2.089, 2.442, 2.887, 3.43, 4.077",\
                 "1.347, 1.381, 1.474, 1.614, 1.811, 2.081, 2.434, 2.878, 3.421, 4.069",\
                 "1.312, 1.346, 1.438, 1.579, 1.776, 2.045, 2.398, 2.843, 3.386, 4.033");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.088, 1.135, 1.271, 1.505, 1.854, 2.342, 2.983, 3.792, 4.78, 5.956",\
                 "1.102, 1.148, 1.285, 1.518, 1.868, 2.356, 2.997, 3.805, 4.793, 5.972",\
                 "1.153, 1.199, 1.335, 1.569, 1.918, 2.406, 3.048, 3.856, 4.844, 6.022",\
                 "1.232, 1.278, 1.415, 1.648, 1.998, 2.485, 3.127, 3.936, 4.923, 6.101",\
                 "1.301, 1.346, 1.483, 1.716, 2.066, 2.554, 3.195, 4.004, 4.991, 6.167",\
                 "1.354, 1.4, 1.537, 1.77, 2.12, 2.608, 3.249, 4.058, 5.044, 6.222",\
                 "1.392, 1.437, 1.574, 1.808, 2.157, 2.645, 3.287, 4.095, 5.081, 6.26",\
                 "1.408, 1.454, 1.591, 1.824, 2.174, 2.661, 3.303, 4.111, 5.098, 6.277",\
                 "1.402, 1.447, 1.585, 1.818, 2.167, 2.655, 3.296, 4.105, 5.09, 6.266",\
                 "1.369, 1.415, 1.552, 1.785, 2.135, 2.622, 3.264, 4.072, 5.058, 6.234");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1182, 0.1512, 0.252, 0.4348, 0.7354, 1.176, 1.768, 2.516, 3.428, 4.52",\
                 "0.1182, 0.1514, 0.2518, 0.4346, 0.7352, 1.176, 1.767, 2.513, 3.429, 4.518",\
                 "0.1182, 0.1514, 0.2518, 0.4346, 0.735, 1.176, 1.766, 2.515, 3.43, 4.518",\
                 "0.118, 0.1514, 0.252, 0.4346, 0.7352, 1.176, 1.768, 2.516, 3.427, 4.52",\
                 "0.1178, 0.151, 0.252, 0.4346, 0.7352, 1.176, 1.766, 2.516, 3.429, 4.52",\
                 "0.1184, 0.1514, 0.252, 0.4342, 0.7338, 1.176, 1.768, 2.513, 3.429, 4.518",\
                 "0.1178, 0.1514, 0.2512, 0.4344, 0.7344, 1.176, 1.765, 2.512, 3.427, 4.516",\
                 "0.1184, 0.1512, 0.2512, 0.4346, 0.735, 1.177, 1.766, 2.512, 3.422, 4.512",\
                 "0.1178, 0.1508, 0.2516, 0.4338, 0.7348, 1.177, 1.766, 2.513, 3.422, 4.508",\
                 "0.1176, 0.1512, 0.252, 0.4346, 0.7346, 1.177, 1.766, 2.514, 3.426, 4.51");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1592, 0.2176, 0.4108, 0.7806, 1.381, 2.238, 3.365, 4.788, 6.532, 8.607",\
                 "0.1586, 0.2174, 0.4108, 0.7808, 1.381, 2.238, 3.37, 4.791, 6.532, 8.607",\
                 "0.1592, 0.2186, 0.4104, 0.7808, 1.381, 2.237, 3.37, 4.791, 6.532, 8.607",\
                 "0.1588, 0.2186, 0.4102, 0.7816, 1.38, 2.238, 3.364, 4.788, 6.532, 8.609",\
                 "0.1582, 0.2178, 0.4106, 0.7806, 1.379, 2.236, 3.366, 4.788, 6.532, 8.609",\
                 "0.1588, 0.218, 0.4106, 0.7808, 1.381, 2.234, 3.365, 4.788, 6.531, 8.615",\
                 "0.159, 0.218, 0.4108, 0.782, 1.379, 2.234, 3.368, 4.789, 6.529, 8.608",\
                 "0.159, 0.218, 0.4104, 0.7816, 1.381, 2.234, 3.364, 4.795, 6.531, 8.605",\
                 "0.159, 0.2178, 0.4106, 0.7814, 1.38, 2.235, 3.363, 4.786, 6.526, 8.601",\
                 "0.1588, 0.2176, 0.4108, 0.7816, 1.379, 2.236, 3.367, 4.787, 6.524, 8.598");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.029, 1.063, 1.156, 1.296, 1.493, 1.763, 2.116, 2.561, 3.103, 3.751",\
                 "1.043, 1.077, 1.17, 1.31, 1.507, 1.777, 2.13, 2.575, 3.118, 3.766",\
                 "1.094, 1.128, 1.221, 1.361, 1.558, 1.827, 2.181, 2.625, 3.168, 3.816",\
                 "1.176, 1.21, 1.302, 1.442, 1.64, 1.909, 2.262, 2.707, 3.25, 3.897",\
                 "1.246, 1.28, 1.372, 1.513, 1.71, 1.979, 2.332, 2.777, 3.32, 3.967",\
                 "1.302, 1.336, 1.428, 1.568, 1.765, 2.035, 2.388, 2.833, 3.376, 4.024",\
                 "1.339, 1.373, 1.466, 1.606, 1.803, 2.072, 2.426, 2.87, 3.413, 4.061",\
                 "1.356, 1.39, 1.482, 1.622, 1.82, 2.089, 2.442, 2.887, 3.43, 4.077",\
                 "1.347, 1.381, 1.474, 1.614, 1.811, 2.081, 2.434, 2.878, 3.422, 4.069",\
                 "1.312, 1.346, 1.438, 1.579, 1.776, 2.045, 2.398, 2.844, 3.386, 4.034");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.089, 1.135, 1.272, 1.505, 1.854, 2.342, 2.984, 3.791, 4.78, 5.954",\
                 "1.102, 1.149, 1.285, 1.518, 1.868, 2.356, 2.998, 3.806, 4.793, 5.972",\
                 "1.152, 1.198, 1.335, 1.568, 1.918, 2.406, 3.047, 3.855, 4.844, 6.022",\
                 "1.232, 1.278, 1.415, 1.648, 1.998, 2.486, 3.127, 3.935, 4.923, 6.101",\
                 "1.301, 1.346, 1.483, 1.716, 2.066, 2.554, 3.195, 4.004, 4.991, 6.167",\
                 "1.354, 1.401, 1.537, 1.77, 2.12, 2.608, 3.249, 4.058, 5.044, 6.223",\
                 "1.392, 1.438, 1.575, 1.808, 2.157, 2.645, 3.287, 4.096, 5.083, 6.261",\
                 "1.408, 1.454, 1.591, 1.824, 2.174, 2.661, 3.303, 4.111, 5.097, 6.277",\
                 "1.402, 1.448, 1.585, 1.818, 2.167, 2.655, 3.297, 4.104, 5.09, 6.266",\
                 "1.369, 1.415, 1.552, 1.785, 2.135, 2.622, 3.264, 4.072, 5.058, 6.234");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.118, 0.1508, 0.252, 0.434, 0.7352, 1.176, 1.768, 2.516, 3.428, 4.52",\
                 "0.1182, 0.1514, 0.2518, 0.4346, 0.7352, 1.176, 1.767, 2.513, 3.429, 4.514",\
                 "0.1182, 0.1514, 0.2518, 0.4346, 0.7352, 1.175, 1.766, 2.515, 3.43, 4.518",\
                 "0.118, 0.1514, 0.2516, 0.4346, 0.7352, 1.177, 1.768, 2.516, 3.427, 4.52",\
                 "0.1178, 0.151, 0.252, 0.4346, 0.7352, 1.177, 1.766, 2.516, 3.429, 4.52",\
                 "0.118, 0.151, 0.2516, 0.434, 0.734, 1.177, 1.768, 2.515, 3.43, 4.517",\
                 "0.118, 0.1512, 0.2516, 0.4346, 0.7352, 1.176, 1.766, 2.512, 3.427, 4.516",\
                 "0.1178, 0.1508, 0.2516, 0.4342, 0.735, 1.177, 1.767, 2.512, 3.421, 4.51",\
                 "0.118, 0.151, 0.2516, 0.4346, 0.7348, 1.177, 1.766, 2.511, 3.422, 4.508",\
                 "0.1182, 0.1512, 0.251, 0.4344, 0.7348, 1.177, 1.767, 2.515, 3.423, 4.508");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1586, 0.2184, 0.4102, 0.7806, 1.379, 2.238, 3.37, 4.791, 6.532, 8.6",\
                 "0.159, 0.218, 0.4108, 0.7812, 1.381, 2.237, 3.367, 4.789, 6.534, 8.604",\
                 "0.159, 0.218, 0.4104, 0.7808, 1.381, 2.237, 3.367, 4.79, 6.532, 8.608",\
                 "0.1584, 0.2186, 0.4104, 0.781, 1.382, 2.237, 3.367, 4.79, 6.533, 8.608",\
                 "0.1582, 0.2178, 0.4106, 0.7806, 1.379, 2.236, 3.366, 4.788, 6.532, 8.609",\
                 "0.1586, 0.2172, 0.4108, 0.781, 1.379, 2.235, 3.365, 4.791, 6.526, 8.607",\
                 "0.1584, 0.218, 0.4104, 0.7818, 1.379, 2.234, 3.368, 4.791, 6.535, 8.603",\
                 "0.159, 0.218, 0.4106, 0.7814, 1.38, 2.233, 3.364, 4.796, 6.528, 8.607",\
                 "0.1584, 0.2184, 0.4112, 0.7822, 1.379, 2.236, 3.365, 4.786, 6.532, 8.601",\
                 "0.1582, 0.2176, 0.4108, 0.7816, 1.379, 2.236, 3.366, 4.787, 6.524, 8.598");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.029, 1.063, 1.156, 1.296, 1.494, 1.763, 2.116, 2.561, 3.104, 3.751",\
                 "1.043, 1.077, 1.17, 1.31, 1.507, 1.777, 2.13, 2.575, 3.118, 3.765",\
                 "1.094, 1.128, 1.221, 1.361, 1.558, 1.827, 2.181, 2.625, 3.169, 3.816",\
                 "1.176, 1.21, 1.302, 1.443, 1.64, 1.909, 2.262, 2.707, 3.25, 3.898",\
                 "1.246, 1.28, 1.372, 1.513, 1.71, 1.979, 2.332, 2.777, 3.32, 3.967",\
                 "1.302, 1.336, 1.428, 1.569, 1.766, 2.035, 2.388, 2.833, 3.376, 4.024",\
                 "1.339, 1.373, 1.465, 1.606, 1.803, 2.072, 2.425, 2.87, 3.413, 4.061",\
                 "1.356, 1.39, 1.482, 1.623, 1.82, 2.089, 2.442, 2.887, 3.43, 4.077",\
                 "1.348, 1.382, 1.474, 1.615, 1.812, 2.081, 2.434, 2.879, 3.422, 4.069",\
                 "1.312, 1.346, 1.438, 1.579, 1.776, 2.045, 2.398, 2.843, 3.386, 4.033");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.089, 1.135, 1.271, 1.505, 1.854, 2.342, 2.983, 3.791, 4.78, 5.958",\
                 "1.102, 1.148, 1.285, 1.518, 1.868, 2.356, 2.997, 3.805, 4.793, 5.972",\
                 "1.153, 1.199, 1.335, 1.569, 1.918, 2.406, 3.048, 3.855, 4.844, 6.022",\
                 "1.232, 1.278, 1.415, 1.648, 1.998, 2.486, 3.127, 3.935, 4.923, 6.099",\
                 "1.301, 1.346, 1.483, 1.716, 2.066, 2.554, 3.195, 4.004, 4.991, 6.167",\
                 "1.355, 1.401, 1.538, 1.77, 2.12, 2.608, 3.249, 4.058, 5.044, 6.223",\
                 "1.392, 1.438, 1.575, 1.808, 2.157, 2.645, 3.286, 4.095, 5.082, 6.26",\
                 "1.409, 1.455, 1.591, 1.825, 2.174, 2.662, 3.303, 4.111, 5.098, 6.277",\
                 "1.402, 1.448, 1.585, 1.818, 2.167, 2.655, 3.297, 4.104, 5.09, 6.266",\
                 "1.369, 1.415, 1.552, 1.785, 2.134, 2.622, 3.263, 4.072, 5.058, 6.234");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1182, 0.1512, 0.2514, 0.4346, 0.7352, 1.176, 1.766, 2.515, 3.43, 4.519",\
                 "0.118, 0.1516, 0.252, 0.4346, 0.7352, 1.176, 1.766, 2.515, 3.43, 4.518",\
                 "0.118, 0.1514, 0.252, 0.4346, 0.7352, 1.176, 1.767, 2.513, 3.43, 4.514",\
                 "0.1182, 0.1514, 0.2518, 0.4346, 0.7352, 1.176, 1.767, 2.513, 3.429, 4.514",\
                 "0.1178, 0.151, 0.252, 0.4344, 0.7352, 1.177, 1.768, 2.516, 3.429, 4.52",\
                 "0.1182, 0.1514, 0.2522, 0.4344, 0.734, 1.176, 1.768, 2.515, 3.429, 4.514",\
                 "0.1182, 0.1512, 0.2514, 0.4346, 0.735, 1.176, 1.766, 2.513, 3.427, 4.515",\
                 "0.1178, 0.151, 0.2512, 0.4344, 0.7352, 1.176, 1.767, 2.513, 3.422, 4.51",\
                 "0.118, 0.1512, 0.2512, 0.4344, 0.735, 1.177, 1.766, 2.511, 3.425, 4.508",\
                 "0.118, 0.1512, 0.2512, 0.4346, 0.7348, 1.176, 1.767, 2.515, 3.424, 4.508");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1584, 0.2172, 0.4102, 0.7816, 1.38, 2.238, 3.37, 4.791, 6.532, 8.607",\
                 "0.159, 0.2186, 0.4104, 0.7808, 1.38, 2.238, 3.37, 4.791, 6.532, 8.609",\
                 "0.159, 0.2186, 0.4106, 0.7808, 1.381, 2.237, 3.367, 4.791, 6.532, 8.608",\
                 "0.159, 0.218, 0.4106, 0.7808, 1.381, 2.237, 3.367, 4.789, 6.533, 8.608",\
                 "0.1582, 0.2178, 0.4106, 0.7806, 1.379, 2.236, 3.366, 4.788, 6.532, 8.609",\
                 "0.1578, 0.2174, 0.4108, 0.7806, 1.379, 2.235, 3.364, 4.791, 6.527, 8.607",\
                 "0.158, 0.2182, 0.4104, 0.7814, 1.38, 2.235, 3.369, 4.789, 6.528, 8.608",\
                 "0.1584, 0.2172, 0.4104, 0.7816, 1.381, 2.234, 3.364, 4.797, 6.529, 8.602",\
                 "0.158, 0.2176, 0.4112, 0.7822, 1.379, 2.236, 3.365, 4.786, 6.532, 8.601",\
                 "0.1578, 0.2182, 0.4106, 0.7818, 1.378, 2.237, 3.365, 4.789, 6.524, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.029, 1.063, 1.156, 1.296, 1.494, 1.763, 2.116, 2.561, 3.104, 3.751",\
                 "1.043, 1.077, 1.17, 1.31, 1.507, 1.777, 2.13, 2.575, 3.118, 3.766",\
                 "1.094, 1.128, 1.221, 1.361, 1.558, 1.828, 2.181, 2.625, 3.169, 3.816",\
                 "1.176, 1.21, 1.302, 1.442, 1.64, 1.909, 2.262, 2.707, 3.25, 3.898",\
                 "1.246, 1.28, 1.372, 1.513, 1.71, 1.979, 2.332, 2.777, 3.32, 3.968",\
                 "1.302, 1.336, 1.428, 1.569, 1.766, 2.035, 2.388, 2.833, 3.376, 4.024",\
                 "1.339, 1.373, 1.465, 1.606, 1.803, 2.072, 2.425, 2.87, 3.413, 4.061",\
                 "1.356, 1.39, 1.482, 1.623, 1.82, 2.089, 2.442, 2.887, 3.43, 4.077",\
                 "1.347, 1.381, 1.474, 1.614, 1.811, 2.081, 2.434, 2.878, 3.421, 4.069",\
                 "1.312, 1.346, 1.438, 1.579, 1.776, 2.045, 2.398, 2.844, 3.386, 4.033");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.089, 1.135, 1.271, 1.505, 1.854, 2.342, 2.983, 3.792, 4.78, 5.958",\
                 "1.102, 1.148, 1.285, 1.518, 1.868, 2.356, 2.998, 3.805, 4.793, 5.972",\
                 "1.153, 1.199, 1.335, 1.569, 1.918, 2.406, 3.048, 3.855, 4.844, 6.022",\
                 "1.232, 1.278, 1.415, 1.648, 1.997, 2.485, 3.127, 3.935, 4.923, 6.101",\
                 "1.301, 1.347, 1.484, 1.717, 2.066, 2.554, 3.196, 4.004, 4.992, 6.167",\
                 "1.354, 1.4, 1.537, 1.77, 2.12, 2.608, 3.249, 4.058, 5.045, 6.22",\
                 "1.391, 1.437, 1.574, 1.807, 2.157, 2.645, 3.286, 4.095, 5.082, 6.261",\
                 "1.408, 1.454, 1.591, 1.824, 2.174, 2.661, 3.303, 4.111, 5.098, 6.276",\
                 "1.402, 1.448, 1.584, 1.818, 2.167, 2.655, 3.296, 4.105, 5.09, 6.266",\
                 "1.369, 1.415, 1.552, 1.785, 2.135, 2.623, 3.264, 4.072, 5.059, 6.235");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1182, 0.1518, 0.2514, 0.4342, 0.7352, 1.176, 1.766, 2.515, 3.43, 4.519",\
                 "0.1182, 0.1514, 0.2518, 0.4346, 0.7352, 1.176, 1.767, 2.513, 3.429, 4.514",\
                 "0.118, 0.1514, 0.252, 0.4346, 0.735, 1.176, 1.767, 2.515, 3.43, 4.519",\
                 "0.118, 0.1514, 0.252, 0.4346, 0.735, 1.176, 1.767, 2.513, 3.429, 4.514",\
                 "0.1178, 0.1512, 0.251, 0.4344, 0.735, 1.176, 1.767, 2.513, 3.429, 4.513",\
                 "0.118, 0.151, 0.252, 0.434, 0.734, 1.176, 1.766, 2.515, 3.425, 4.519",\
                 "0.1182, 0.1514, 0.2514, 0.4346, 0.7352, 1.175, 1.766, 2.513, 3.427, 4.515",\
                 "0.1184, 0.1514, 0.2512, 0.4346, 0.735, 1.177, 1.767, 2.512, 3.421, 4.509",\
                 "0.1178, 0.1508, 0.2512, 0.4346, 0.7348, 1.177, 1.767, 2.514, 3.425, 4.508",\
                 "0.1182, 0.1516, 0.2516, 0.4344, 0.7342, 1.177, 1.766, 2.514, 3.426, 4.508");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1588, 0.2178, 0.4106, 0.7816, 1.381, 2.237, 3.364, 4.789, 6.532, 8.609",\
                 "0.1588, 0.2184, 0.4104, 0.781, 1.378, 2.237, 3.366, 4.791, 6.531, 8.603",\
                 "0.159, 0.2184, 0.4106, 0.7816, 1.38, 2.238, 3.37, 4.791, 6.532, 8.607",\
                 "0.1586, 0.2182, 0.4106, 0.781, 1.381, 2.237, 3.366, 4.79, 6.532, 8.607",\
                 "0.1588, 0.218, 0.411, 0.7816, 1.381, 2.237, 3.365, 4.791, 6.532, 8.606",\
                 "0.1582, 0.2182, 0.4106, 0.7808, 1.379, 2.235, 3.369, 4.791, 6.533, 8.604",\
                 "0.1582, 0.2184, 0.4106, 0.782, 1.38, 2.234, 3.364, 4.791, 6.535, 8.604",\
                 "0.1588, 0.2174, 0.4102, 0.7816, 1.381, 2.234, 3.364, 4.794, 6.529, 8.607",\
                 "0.159, 0.218, 0.4106, 0.782, 1.38, 2.235, 3.363, 4.786, 6.528, 8.601",\
                 "0.1586, 0.2174, 0.4108, 0.7812, 1.38, 2.237, 3.365, 4.796, 6.525, 8.597");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.029, 1.063, 1.156, 1.296, 1.494, 1.763, 2.116, 2.561, 3.104, 3.751",\
                 "1.043, 1.077, 1.17, 1.31, 1.507, 1.777, 2.13, 2.575, 3.118, 3.765",\
                 "1.094, 1.128, 1.221, 1.361, 1.558, 1.827, 2.181, 2.625, 3.169, 3.816",\
                 "1.176, 1.21, 1.302, 1.443, 1.64, 1.909, 2.262, 2.707, 3.25, 3.898",\
                 "1.246, 1.28, 1.372, 1.513, 1.71, 1.979, 2.332, 2.777, 3.32, 3.967",\
                 "1.302, 1.336, 1.428, 1.569, 1.766, 2.035, 2.388, 2.833, 3.376, 4.024",\
                 "1.339, 1.373, 1.465, 1.606, 1.803, 2.072, 2.425, 2.87, 3.413, 4.061",\
                 "1.356, 1.39, 1.482, 1.623, 1.82, 2.089, 2.442, 2.887, 3.43, 4.077",\
                 "1.348, 1.382, 1.474, 1.615, 1.812, 2.081, 2.434, 2.879, 3.422, 4.069",\
                 "1.312, 1.346, 1.438, 1.579, 1.776, 2.045, 2.398, 2.843, 3.386, 4.033");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.089, 1.135, 1.271, 1.505, 1.854, 2.342, 2.983, 3.791, 4.78, 5.958",\
                 "1.102, 1.148, 1.285, 1.518, 1.868, 2.356, 2.997, 3.805, 4.793, 5.972",\
                 "1.153, 1.199, 1.335, 1.569, 1.918, 2.406, 3.048, 3.855, 4.844, 6.022",\
                 "1.232, 1.278, 1.415, 1.648, 1.998, 2.486, 3.127, 3.935, 4.923, 6.099",\
                 "1.301, 1.346, 1.483, 1.716, 2.066, 2.554, 3.195, 4.004, 4.991, 6.167",\
                 "1.355, 1.401, 1.538, 1.77, 2.12, 2.608, 3.249, 4.058, 5.044, 6.223",\
                 "1.392, 1.438, 1.575, 1.808, 2.157, 2.645, 3.286, 4.095, 5.082, 6.26",\
                 "1.409, 1.455, 1.591, 1.825, 2.174, 2.662, 3.303, 4.111, 5.098, 6.277",\
                 "1.402, 1.448, 1.585, 1.818, 2.167, 2.655, 3.297, 4.104, 5.09, 6.266",\
                 "1.369, 1.415, 1.552, 1.785, 2.134, 2.622, 3.263, 4.072, 5.058, 6.234");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1182, 0.1512, 0.252, 0.4348, 0.7354, 1.176, 1.768, 2.516, 3.428, 4.52",\
                 "0.1182, 0.1514, 0.2518, 0.4346, 0.7352, 1.176, 1.767, 2.513, 3.429, 4.518",\
                 "0.1182, 0.1514, 0.2518, 0.4346, 0.735, 1.176, 1.766, 2.515, 3.43, 4.518",\
                 "0.118, 0.1514, 0.252, 0.4346, 0.7352, 1.176, 1.768, 2.516, 3.427, 4.52",\
                 "0.1178, 0.151, 0.252, 0.4346, 0.7352, 1.176, 1.766, 2.516, 3.429, 4.52",\
                 "0.1184, 0.1514, 0.252, 0.4342, 0.7338, 1.176, 1.768, 2.513, 3.429, 4.518",\
                 "0.1178, 0.1514, 0.2512, 0.4344, 0.7344, 1.176, 1.765, 2.512, 3.427, 4.516",\
                 "0.1184, 0.1512, 0.2512, 0.4346, 0.735, 1.177, 1.766, 2.512, 3.422, 4.512",\
                 "0.1178, 0.1508, 0.2516, 0.4338, 0.7348, 1.177, 1.766, 2.513, 3.422, 4.508",\
                 "0.1176, 0.1512, 0.252, 0.4346, 0.7346, 1.177, 1.766, 2.514, 3.426, 4.51");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1592, 0.2176, 0.4108, 0.7806, 1.381, 2.238, 3.365, 4.788, 6.532, 8.607",\
                 "0.1586, 0.2174, 0.4108, 0.7808, 1.381, 2.238, 3.37, 4.791, 6.532, 8.607",\
                 "0.1592, 0.2186, 0.4104, 0.7808, 1.381, 2.237, 3.37, 4.791, 6.532, 8.607",\
                 "0.1588, 0.2186, 0.4102, 0.7816, 1.38, 2.238, 3.364, 4.788, 6.532, 8.609",\
                 "0.1582, 0.2178, 0.4106, 0.7806, 1.379, 2.236, 3.366, 4.788, 6.532, 8.609",\
                 "0.1588, 0.218, 0.4106, 0.7808, 1.381, 2.234, 3.365, 4.788, 6.531, 8.615",\
                 "0.159, 0.218, 0.4108, 0.782, 1.379, 2.234, 3.368, 4.789, 6.529, 8.608",\
                 "0.159, 0.218, 0.4104, 0.7816, 1.381, 2.234, 3.364, 4.795, 6.531, 8.605",\
                 "0.159, 0.2178, 0.4106, 0.7814, 1.38, 2.235, 3.363, 4.786, 6.526, 8.601",\
                 "0.1588, 0.2176, 0.4108, 0.7816, 1.379, 2.236, 3.367, 4.787, 6.524, 8.598");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2819, 0.315, 0.4051, 0.5423, 0.738, 1.007, 1.361, 1.806, 2.349, 2.996",\
                 "0.2992, 0.3323, 0.4223, 0.5596, 0.7553, 1.024, 1.378, 1.823, 2.366, 3.014",\
                 "0.3657, 0.3987, 0.4886, 0.6259, 0.8216, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.5198, 0.6117, 0.7499, 0.9456, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.625, 0.6629, 0.7616, 0.9054, 1.103, 1.372, 1.725, 2.17, 2.713, 3.36",\
                 "0.7813, 0.8239, 0.9311, 1.082, 1.282, 1.552, 1.905, 2.349, 2.892, 3.54",\
                 "0.9547, 1.001, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.324, 1.495, 1.71, 1.987, 2.342, 2.786, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.6, 3.048, 3.591, 4.238",\
                 "1.581, 1.641, 1.791, 1.987, 2.223, 2.514, 2.882, 3.337, 3.884, 4.532");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4086, 0.4537, 0.5892, 0.8198, 1.169, 1.657, 2.299, 3.108, 4.096, 5.275",\
                 "0.4181, 0.4631, 0.5985, 0.8289, 1.178, 1.666, 2.308, 3.118, 4.104, 5.279",\
                 "0.4442, 0.4892, 0.6244, 0.8548, 1.203, 1.692, 2.334, 3.144, 4.13, 5.309",\
                 "0.4968, 0.5423, 0.6777, 0.9075, 1.256, 1.744, 2.386, 3.194, 4.184, 5.362",\
                 "0.5542, 0.601, 0.7399, 0.9711, 1.319, 1.806, 2.448, 3.257, 4.245, 5.423",\
                 "0.6096, 0.6581, 0.7997, 1.032, 1.38, 1.866, 2.507, 3.315, 4.305, 5.483",\
                 "0.6547, 0.7057, 0.8525, 1.09, 1.438, 1.923, 2.563, 3.37, 4.357, 5.532",\
                 "0.6843, 0.7379, 0.8911, 1.135, 1.488, 1.974, 2.613, 3.419, 4.404, 5.581",\
                 "0.6951, 0.7518, 0.9112, 1.164, 1.525, 2.016, 2.656, 3.461, 4.446, 5.621",\
                 "0.6848, 0.745, 0.9115, 1.173, 1.542, 2.043, 2.69, 3.496, 4.48, 5.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1091, 0.1425, 0.2422, 0.4271, 0.7316, 1.174, 1.768, 2.516, 3.43, 4.519",\
                 "0.109, 0.1425, 0.2423, 0.4264, 0.7312, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1091, 0.1432, 0.2425, 0.4264, 0.7311, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1216, 0.1535, 0.2493, 0.4292, 0.7316, 1.177, 1.766, 2.516, 3.428, 4.52",\
                 "0.1438, 0.1764, 0.2718, 0.4438, 0.7378, 1.178, 1.767, 2.517, 3.43, 4.52",\
                 "0.171, 0.205, 0.2986, 0.4652, 0.7502, 1.181, 1.769, 2.516, 3.429, 4.518",\
                 "0.199, 0.2386, 0.334, 0.4958, 0.77, 1.191, 1.773, 2.515, 3.428, 4.517",\
                 "0.2298, 0.272, 0.373, 0.5326, 0.7996, 1.213, 1.784, 2.523, 3.428, 4.514",\
                 "0.2612, 0.31, 0.4164, 0.577, 0.8376, 1.245, 1.811, 2.539, 3.438, 4.515",\
                 "0.2938, 0.3438, 0.461, 0.623, 0.8776, 1.284, 1.85, 2.577, 3.461, 4.527");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1518, 0.211, 0.4015, 0.772, 1.376, 2.233, 3.365, 4.792, 6.534, 8.614",\
                 "0.1515, 0.2099, 0.4013, 0.7723, 1.376, 2.235, 3.366, 4.793, 6.542, 8.616",\
                 "0.151, 0.2098, 0.4012, 0.7721, 1.376, 2.233, 3.364, 4.792, 6.533, 8.613",\
                 "0.1556, 0.2138, 0.4037, 0.7728, 1.376, 2.234, 3.365, 4.789, 6.534, 8.609",\
                 "0.1652, 0.2244, 0.4146, 0.7784, 1.377, 2.236, 3.364, 4.792, 6.535, 8.614",\
                 "0.1782, 0.2374, 0.4268, 0.7856, 1.381, 2.238, 3.365, 4.79, 6.53, 8.613",\
                 "0.1946, 0.2538, 0.446, 0.8006, 1.386, 2.237, 3.365, 4.792, 6.53, 8.603",\
                 "0.2146, 0.2732, 0.469, 0.8256, 1.401, 2.244, 3.368, 4.792, 6.526, 8.602",\
                 "0.2354, 0.2958, 0.4942, 0.8554, 1.433, 2.266, 3.374, 4.791, 6.529, 8.61",\
                 "0.2584, 0.3218, 0.5196, 0.8854, 1.468, 2.303, 3.404, 4.801, 6.533, 8.601");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2819, 0.315, 0.4051, 0.5423, 0.738, 1.007, 1.361, 1.806, 2.349, 2.996",\
                 "0.2992, 0.3323, 0.4223, 0.5596, 0.7553, 1.024, 1.378, 1.823, 2.366, 3.014",\
                 "0.3657, 0.3987, 0.4886, 0.6259, 0.8216, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.5198, 0.6117, 0.7499, 0.9456, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.625, 0.6629, 0.7616, 0.9054, 1.103, 1.372, 1.725, 2.17, 2.713, 3.36",\
                 "0.7813, 0.8239, 0.9311, 1.082, 1.282, 1.552, 1.905, 2.349, 2.892, 3.54",\
                 "0.9547, 1.001, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.324, 1.495, 1.71, 1.987, 2.342, 2.786, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.6, 3.048, 3.591, 4.238",\
                 "1.581, 1.641, 1.791, 1.987, 2.223, 2.514, 2.882, 3.337, 3.884, 4.532");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4086, 0.4537, 0.5892, 0.8198, 1.169, 1.657, 2.299, 3.108, 4.096, 5.275",\
                 "0.4181, 0.4631, 0.5985, 0.8289, 1.178, 1.666, 2.308, 3.118, 4.104, 5.279",\
                 "0.4442, 0.4892, 0.6244, 0.8548, 1.203, 1.692, 2.334, 3.144, 4.13, 5.309",\
                 "0.4968, 0.5423, 0.6777, 0.9075, 1.256, 1.744, 2.386, 3.194, 4.184, 5.362",\
                 "0.5542, 0.601, 0.7399, 0.9711, 1.319, 1.806, 2.448, 3.257, 4.245, 5.423",\
                 "0.6096, 0.6581, 0.7997, 1.032, 1.38, 1.866, 2.507, 3.315, 4.305, 5.483",\
                 "0.6547, 0.7057, 0.8525, 1.09, 1.438, 1.923, 2.563, 3.37, 4.357, 5.532",\
                 "0.6843, 0.7379, 0.8911, 1.135, 1.488, 1.974, 2.613, 3.419, 4.404, 5.58",\
                 "0.695, 0.7517, 0.9106, 1.163, 1.525, 2.016, 2.656, 3.461, 4.446, 5.621",\
                 "0.6848, 0.745, 0.9115, 1.173, 1.542, 2.043, 2.69, 3.496, 4.48, 5.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1091, 0.1425, 0.2422, 0.4271, 0.7316, 1.174, 1.768, 2.516, 3.43, 4.519",\
                 "0.109, 0.1425, 0.2423, 0.4264, 0.7312, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1091, 0.1432, 0.2425, 0.4264, 0.7311, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1216, 0.1535, 0.2493, 0.4292, 0.7316, 1.177, 1.766, 2.516, 3.428, 4.52",\
                 "0.1438, 0.1764, 0.2718, 0.4438, 0.7378, 1.178, 1.767, 2.514, 3.43, 4.519",\
                 "0.171, 0.205, 0.2986, 0.4652, 0.7502, 1.182, 1.769, 2.516, 3.426, 4.518",\
                 "0.199, 0.237, 0.3334, 0.4958, 0.77, 1.191, 1.773, 2.516, 3.428, 4.517",\
                 "0.2298, 0.272, 0.373, 0.5326, 0.7996, 1.213, 1.784, 2.523, 3.428, 4.514",\
                 "0.261, 0.3076, 0.4164, 0.577, 0.8374, 1.245, 1.812, 2.539, 3.438, 4.516",\
                 "0.2938, 0.3438, 0.461, 0.623, 0.8794, 1.284, 1.852, 2.574, 3.461, 4.527");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1518, 0.211, 0.4015, 0.772, 1.376, 2.233, 3.365, 4.792, 6.534, 8.614",\
                 "0.1515, 0.2099, 0.4013, 0.7723, 1.376, 2.234, 3.366, 4.793, 6.542, 8.616",\
                 "0.151, 0.2098, 0.4012, 0.7721, 1.376, 2.233, 3.364, 4.792, 6.533, 8.613",\
                 "0.1556, 0.2138, 0.4037, 0.7728, 1.376, 2.234, 3.365, 4.789, 6.534, 8.609",\
                 "0.166, 0.2244, 0.4146, 0.7784, 1.377, 2.235, 3.364, 4.792, 6.535, 8.614",\
                 "0.1782, 0.2374, 0.4268, 0.7856, 1.38, 2.239, 3.365, 4.79, 6.53, 8.613",\
                 "0.1944, 0.2538, 0.446, 0.8006, 1.386, 2.237, 3.365, 4.793, 6.529, 8.605",\
                 "0.2146, 0.2732, 0.469, 0.8256, 1.401, 2.244, 3.367, 4.792, 6.532, 8.6",\
                 "0.2356, 0.2966, 0.494, 0.8546, 1.433, 2.266, 3.374, 4.791, 6.529, 8.61",\
                 "0.2584, 0.3218, 0.5196, 0.8854, 1.468, 2.304, 3.401, 4.801, 6.533, 8.601");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.282, 0.3153, 0.4056, 0.5438, 0.7415, 1.012, 1.366, 1.811, 2.354, 3.001",\
                 "0.2994, 0.3326, 0.4228, 0.5611, 0.7587, 1.03, 1.383, 1.828, 2.371, 3.018",\
                 "0.3659, 0.3991, 0.4892, 0.6275, 0.8252, 1.096, 1.45, 1.895, 2.438, 3.085",\
                 "0.4859, 0.5205, 0.6125, 0.7515, 0.949, 1.22, 1.573, 2.018, 2.561, 3.208",\
                 "0.6263, 0.6645, 0.7633, 0.9075, 1.106, 1.377, 1.73, 2.174, 2.717, 3.364",\
                 "0.7844, 0.8267, 0.9333, 1.084, 1.284, 1.554, 1.907, 2.351, 2.894, 3.54",\
                 "0.9592, 1.006, 1.122, 1.281, 1.483, 1.752, 2.104, 2.548, 3.09, 3.737",\
                 "1.152, 1.202, 1.329, 1.497, 1.703, 1.971, 2.322, 2.765, 3.306, 3.953",\
                 "1.362, 1.417, 1.553, 1.733, 1.942, 2.21, 2.559, 3.001, 3.542, 4.189",\
                 "1.592, 1.651, 1.798, 1.987, 2.2, 2.466, 2.815, 3.256, 3.796, 4.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1099, 0.1432, 0.2433, 0.4294, 0.7361, 1.178, 1.765, 2.51, 3.422, 4.508",\
                 "0.1099, 0.1434, 0.243, 0.43, 0.7365, 1.179, 1.766, 2.511, 3.42, 4.513",\
                 "0.1103, 0.1434, 0.2439, 0.43, 0.7361, 1.179, 1.766, 2.509, 3.421, 4.511",\
                 "0.1227, 0.154, 0.2504, 0.4328, 0.737, 1.178, 1.765, 2.511, 3.422, 4.509",\
                 "0.1456, 0.1776, 0.272, 0.4466, 0.741, 1.179, 1.765, 2.51, 3.423, 4.513",\
                 "0.1726, 0.2068, 0.2988, 0.4654, 0.7482, 1.18, 1.766, 2.51, 3.424, 4.507",\
                 "0.2018, 0.238, 0.3316, 0.489, 0.7564, 1.182, 1.766, 2.51, 3.422, 4.509",\
                 "0.2336, 0.2736, 0.368, 0.5192, 0.7678, 1.184, 1.766, 2.512, 3.421, 4.509",\
                 "0.2636, 0.3068, 0.4076, 0.5524, 0.7826, 1.187, 1.766, 2.51, 3.42, 4.506",\
                 "0.2948, 0.344, 0.4482, 0.5874, 0.796, 1.189, 1.768, 2.51, 3.424, 4.506");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.282, 0.3153, 0.4056, 0.5438, 0.7415, 1.012, 1.366, 1.811, 2.354, 3.001",\
                 "0.2994, 0.3326, 0.4228, 0.5611, 0.7587, 1.03, 1.383, 1.828, 2.371, 3.018",\
                 "0.3659, 0.3991, 0.4892, 0.6275, 0.8252, 1.096, 1.45, 1.895, 2.438, 3.085",\
                 "0.4859, 0.5205, 0.6125, 0.7516, 0.949, 1.22, 1.573, 2.018, 2.561, 3.208",\
                 "0.6263, 0.6645, 0.7633, 0.9075, 1.106, 1.377, 1.73, 2.174, 2.717, 3.364",\
                 "0.7844, 0.8267, 0.9333, 1.084, 1.284, 1.554, 1.907, 2.351, 2.894, 3.54",\
                 "0.9592, 1.006, 1.122, 1.281, 1.483, 1.752, 2.104, 2.548, 3.09, 3.737",\
                 "1.152, 1.203, 1.329, 1.497, 1.703, 1.971, 2.322, 2.765, 3.306, 3.953",\
                 "1.362, 1.417, 1.553, 1.733, 1.942, 2.21, 2.559, 3.001, 3.543, 4.189",\
                 "1.592, 1.651, 1.798, 1.987, 2.2, 2.466, 2.815, 3.256, 3.796, 4.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1099, 0.1432, 0.2433, 0.4294, 0.7361, 1.178, 1.765, 2.51, 3.422, 4.508",\
                 "0.1099, 0.1434, 0.243, 0.43, 0.7365, 1.179, 1.766, 2.511, 3.42, 4.513",\
                 "0.1103, 0.1434, 0.2439, 0.43, 0.7361, 1.179, 1.766, 2.509, 3.421, 4.511",\
                 "0.1227, 0.154, 0.2504, 0.4326, 0.7368, 1.178, 1.765, 2.511, 3.42, 4.513",\
                 "0.1456, 0.1776, 0.272, 0.4466, 0.741, 1.179, 1.765, 2.51, 3.423, 4.513",\
                 "0.1726, 0.2068, 0.2988, 0.4648, 0.7482, 1.18, 1.766, 2.51, 3.422, 4.511",\
                 "0.2018, 0.2376, 0.3316, 0.489, 0.7564, 1.181, 1.766, 2.51, 3.42, 4.513",\
                 "0.2336, 0.2724, 0.3688, 0.5192, 0.7678, 1.183, 1.767, 2.51, 3.421, 4.505",\
                 "0.2636, 0.3068, 0.4076, 0.5526, 0.7826, 1.187, 1.767, 2.51, 3.422, 4.506",\
                 "0.2948, 0.344, 0.4482, 0.5874, 0.796, 1.189, 1.768, 2.51, 3.421, 4.506");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2819, 0.315, 0.4049, 0.5423, 0.738, 1.007, 1.361, 1.806, 2.349, 2.996",\
                 "0.2992, 0.3323, 0.4223, 0.5596, 0.7553, 1.024, 1.378, 1.823, 2.366, 3.014",\
                 "0.3657, 0.3987, 0.4886, 0.6259, 0.8216, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.5198, 0.6117, 0.7499, 0.9456, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.625, 0.6629, 0.7616, 0.9054, 1.103, 1.372, 1.725, 2.17, 2.713, 3.36",\
                 "0.7813, 0.8239, 0.9311, 1.082, 1.282, 1.552, 1.905, 2.349, 2.892, 3.54",\
                 "0.9547, 1.001, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.324, 1.495, 1.71, 1.987, 2.342, 2.786, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.6, 3.048, 3.591, 4.238",\
                 "1.581, 1.641, 1.791, 1.987, 2.223, 2.514, 2.882, 3.337, 3.884, 4.532");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4086, 0.4537, 0.5892, 0.8198, 1.169, 1.657, 2.299, 3.108, 4.096, 5.275",\
                 "0.4181, 0.4631, 0.5985, 0.8289, 1.178, 1.666, 2.308, 3.118, 4.104, 5.279",\
                 "0.4442, 0.4892, 0.6244, 0.8548, 1.203, 1.692, 2.334, 3.144, 4.13, 5.309",\
                 "0.4968, 0.5423, 0.6777, 0.9075, 1.256, 1.744, 2.386, 3.194, 4.184, 5.362",\
                 "0.5542, 0.601, 0.7399, 0.9712, 1.319, 1.806, 2.447, 3.256, 4.245, 5.422",\
                 "0.6096, 0.6581, 0.7999, 1.032, 1.38, 1.867, 2.507, 3.317, 4.305, 5.481",\
                 "0.6542, 0.705, 0.8523, 1.09, 1.438, 1.923, 2.563, 3.37, 4.357, 5.533",\
                 "0.6841, 0.7379, 0.8911, 1.135, 1.488, 1.974, 2.613, 3.419, 4.404, 5.581",\
                 "0.695, 0.7517, 0.9106, 1.163, 1.525, 2.016, 2.656, 3.461, 4.446, 5.621",\
                 "0.6846, 0.745, 0.9112, 1.173, 1.542, 2.043, 2.69, 3.496, 4.48, 5.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1091, 0.1425, 0.2427, 0.4272, 0.7316, 1.174, 1.768, 2.516, 3.43, 4.519",\
                 "0.109, 0.1425, 0.2423, 0.4264, 0.7312, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1091, 0.1432, 0.2425, 0.4264, 0.7311, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1216, 0.1535, 0.2493, 0.4292, 0.7316, 1.177, 1.766, 2.516, 3.428, 4.52",\
                 "0.1438, 0.1764, 0.2718, 0.4438, 0.7378, 1.177, 1.769, 2.514, 3.429, 4.515",\
                 "0.171, 0.205, 0.2986, 0.4652, 0.7502, 1.181, 1.768, 2.514, 3.428, 4.518",\
                 "0.199, 0.2386, 0.3342, 0.4958, 0.7692, 1.191, 1.773, 2.516, 3.428, 4.513",\
                 "0.2298, 0.272, 0.373, 0.5326, 0.7996, 1.213, 1.784, 2.523, 3.428, 4.514",\
                 "0.261, 0.3076, 0.4164, 0.577, 0.8378, 1.246, 1.812, 2.538, 3.438, 4.515",\
                 "0.2918, 0.3438, 0.461, 0.623, 0.8794, 1.284, 1.85, 2.574, 3.461, 4.527");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1518, 0.211, 0.4015, 0.772, 1.376, 2.233, 3.365, 4.792, 6.534, 8.614",\
                 "0.1515, 0.2099, 0.4013, 0.7723, 1.376, 2.234, 3.366, 4.793, 6.542, 8.616",\
                 "0.151, 0.2098, 0.4012, 0.7721, 1.376, 2.233, 3.364, 4.792, 6.533, 8.613",\
                 "0.1556, 0.2138, 0.4037, 0.7728, 1.376, 2.234, 3.365, 4.789, 6.534, 8.609",\
                 "0.1652, 0.2244, 0.4146, 0.7786, 1.377, 2.234, 3.363, 4.792, 6.533, 8.61",\
                 "0.1778, 0.2374, 0.4272, 0.7856, 1.38, 2.236, 3.368, 4.791, 6.536, 8.608",\
                 "0.1952, 0.254, 0.446, 0.801, 1.386, 2.237, 3.365, 4.794, 6.531, 8.608",\
                 "0.2146, 0.2732, 0.469, 0.8256, 1.401, 2.244, 3.367, 4.792, 6.53, 8.604",\
                 "0.2364, 0.2956, 0.4938, 0.8534, 1.432, 2.265, 3.374, 4.791, 6.527, 8.61",\
                 "0.2586, 0.3218, 0.5214, 0.8854, 1.468, 2.304, 3.401, 4.801, 6.533, 8.601");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2819, 0.315, 0.4051, 0.5424, 0.738, 1.007, 1.361, 1.806, 2.349, 2.996",\
                 "0.2992, 0.3323, 0.4223, 0.5596, 0.7553, 1.024, 1.378, 1.823, 2.366, 3.014",\
                 "0.3657, 0.3987, 0.4886, 0.6259, 0.8216, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4854, 0.5197, 0.6117, 0.7499, 0.9456, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6248, 0.663, 0.7617, 0.9053, 1.103, 1.372, 1.725, 2.169, 2.713, 3.36",\
                 "0.7817, 0.8236, 0.9308, 1.082, 1.282, 1.552, 1.905, 2.349, 2.892, 3.539",\
                 "0.9548, 1.001, 1.118, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.324, 1.496, 1.71, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.353, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.592, 4.238",\
                 "1.581, 1.641, 1.791, 1.988, 2.223, 2.514, 2.882, 3.337, 3.884, 4.532");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4086, 0.4537, 0.5892, 0.8198, 1.169, 1.657, 2.299, 3.108, 4.096, 5.275",\
                 "0.4181, 0.4631, 0.5985, 0.8289, 1.178, 1.666, 2.308, 3.118, 4.105, 5.279",\
                 "0.4442, 0.4892, 0.6244, 0.8548, 1.203, 1.692, 2.334, 3.144, 4.13, 5.309",\
                 "0.4968, 0.5423, 0.6777, 0.9075, 1.256, 1.744, 2.386, 3.194, 4.184, 5.362",\
                 "0.5544, 0.6012, 0.7397, 0.9712, 1.319, 1.806, 2.448, 3.256, 4.246, 5.422",\
                 "0.6097, 0.658, 0.8002, 1.032, 1.38, 1.867, 2.507, 3.316, 4.305, 5.483",\
                 "0.6546, 0.7053, 0.8524, 1.089, 1.437, 1.923, 2.563, 3.37, 4.355, 5.533",\
                 "0.6839, 0.7382, 0.8905, 1.136, 1.488, 1.974, 2.613, 3.419, 4.405, 5.581",\
                 "0.6949, 0.7522, 0.9115, 1.164, 1.524, 2.016, 2.656, 3.461, 4.446, 5.621",\
                 "0.6846, 0.7453, 0.9112, 1.173, 1.542, 2.043, 2.69, 3.496, 4.48, 5.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1091, 0.1425, 0.2422, 0.4271, 0.7316, 1.174, 1.768, 2.516, 3.43, 4.519",\
                 "0.109, 0.1425, 0.2423, 0.4264, 0.7312, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1092, 0.1432, 0.2425, 0.4273, 0.7313, 1.175, 1.769, 2.515, 3.43, 4.517",\
                 "0.1216, 0.1534, 0.2492, 0.43, 0.7326, 1.176, 1.768, 2.516, 3.43, 4.52",\
                 "0.1444, 0.1762, 0.2716, 0.444, 0.7376, 1.178, 1.769, 2.513, 3.429, 4.516",\
                 "0.1708, 0.2054, 0.2982, 0.4652, 0.75, 1.181, 1.768, 2.516, 3.427, 4.52",\
                 "0.1994, 0.2368, 0.333, 0.495, 0.7688, 1.192, 1.773, 2.516, 3.428, 4.517",\
                 "0.2298, 0.2724, 0.3728, 0.534, 0.7994, 1.213, 1.784, 2.52, 3.427, 4.514",\
                 "0.2616, 0.308, 0.4164, 0.5758, 0.838, 1.245, 1.811, 2.538, 3.437, 4.515",\
                 "0.293, 0.3434, 0.4606, 0.6226, 0.8782, 1.282, 1.851, 2.574, 3.461, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1518, 0.211, 0.4015, 0.772, 1.376, 2.233, 3.365, 4.792, 6.534, 8.614",\
                 "0.1515, 0.21, 0.4013, 0.7723, 1.376, 2.234, 3.366, 4.793, 6.543, 8.617",\
                 "0.151, 0.2098, 0.4013, 0.7721, 1.376, 2.233, 3.364, 4.792, 6.532, 8.612",\
                 "0.1556, 0.2138, 0.4037, 0.773, 1.376, 2.234, 3.365, 4.789, 6.534, 8.609",\
                 "0.165, 0.2242, 0.4152, 0.7784, 1.377, 2.233, 3.364, 4.791, 6.532, 8.61",\
                 "0.1788, 0.2376, 0.4268, 0.786, 1.38, 2.238, 3.371, 4.794, 6.535, 8.609",\
                 "0.1958, 0.254, 0.446, 0.8014, 1.386, 2.236, 3.368, 4.789, 6.53, 8.609",\
                 "0.2148, 0.2744, 0.4694, 0.825, 1.401, 2.242, 3.369, 4.79, 6.53, 8.598",\
                 "0.2358, 0.2966, 0.4936, 0.8546, 1.432, 2.263, 3.377, 4.793, 6.529, 8.611",\
                 "0.2586, 0.3198, 0.5194, 0.8854, 1.468, 2.304, 3.401, 4.801, 6.533, 8.599");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.282, 0.3153, 0.4056, 0.5438, 0.7415, 1.012, 1.366, 1.811, 2.354, 3.001",\
                 "0.2994, 0.3326, 0.4228, 0.5611, 0.7587, 1.03, 1.383, 1.828, 2.371, 3.018",\
                 "0.3659, 0.3991, 0.4892, 0.6275, 0.8252, 1.096, 1.45, 1.895, 2.438, 3.085",\
                 "0.4859, 0.5204, 0.6125, 0.7515, 0.949, 1.22, 1.573, 2.018, 2.561, 3.208",\
                 "0.6263, 0.6645, 0.7633, 0.9075, 1.106, 1.377, 1.73, 2.174, 2.717, 3.364",\
                 "0.7846, 0.8267, 0.9334, 1.084, 1.284, 1.554, 1.907, 2.351, 2.894, 3.54",\
                 "0.9592, 1.006, 1.122, 1.281, 1.483, 1.752, 2.104, 2.548, 3.09, 3.737",\
                 "1.152, 1.202, 1.329, 1.497, 1.703, 1.971, 2.322, 2.765, 3.306, 3.953",\
                 "1.362, 1.417, 1.553, 1.733, 1.942, 2.209, 2.559, 3.001, 3.543, 4.189",\
                 "1.592, 1.651, 1.798, 1.987, 2.2, 2.466, 2.815, 3.256, 3.796, 4.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1099, 0.1432, 0.2433, 0.4294, 0.7361, 1.178, 1.765, 2.51, 3.422, 4.508",\
                 "0.1099, 0.1434, 0.243, 0.43, 0.7365, 1.179, 1.766, 2.511, 3.42, 4.513",\
                 "0.1103, 0.1434, 0.2439, 0.43, 0.7361, 1.179, 1.766, 2.509, 3.421, 4.511",\
                 "0.1225, 0.1542, 0.2503, 0.4328, 0.737, 1.178, 1.765, 2.511, 3.422, 4.509",\
                 "0.1456, 0.1776, 0.272, 0.4466, 0.741, 1.179, 1.765, 2.51, 3.423, 4.513",\
                 "0.1728, 0.2068, 0.2984, 0.4654, 0.7482, 1.18, 1.766, 2.511, 3.424, 4.507",\
                 "0.2018, 0.2376, 0.331, 0.489, 0.7564, 1.182, 1.766, 2.51, 3.421, 4.508",\
                 "0.2336, 0.274, 0.368, 0.5192, 0.7678, 1.184, 1.766, 2.51, 3.422, 4.505",\
                 "0.2636, 0.3068, 0.4076, 0.5524, 0.7826, 1.186, 1.767, 2.51, 3.421, 4.507",\
                 "0.2968, 0.344, 0.4482, 0.5874, 0.796, 1.189, 1.768, 2.511, 3.421, 4.506");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2821, 0.3153, 0.4056, 0.5439, 0.7415, 1.012, 1.366, 1.811, 2.354, 3.001",\
                 "0.2993, 0.3326, 0.4229, 0.5611, 0.7588, 1.03, 1.383, 1.828, 2.371, 3.018",\
                 "0.3659, 0.399, 0.4892, 0.6275, 0.8251, 1.096, 1.45, 1.895, 2.437, 3.085",\
                 "0.4858, 0.5204, 0.6125, 0.7515, 0.949, 1.22, 1.573, 2.018, 2.561, 3.208",\
                 "0.6262, 0.6644, 0.7632, 0.9075, 1.106, 1.376, 1.73, 2.174, 2.717, 3.364",\
                 "0.7842, 0.8267, 0.9334, 1.084, 1.284, 1.554, 1.907, 2.351, 2.893, 3.541",\
                 "0.9593, 1.006, 1.122, 1.281, 1.483, 1.752, 2.104, 2.548, 3.09, 3.737",\
                 "1.151, 1.203, 1.329, 1.497, 1.703, 1.971, 2.322, 2.765, 3.307, 3.953",\
                 "1.362, 1.418, 1.553, 1.733, 1.942, 2.209, 2.559, 3.001, 3.543, 4.189",\
                 "1.593, 1.651, 1.797, 1.987, 2.201, 2.466, 2.815, 3.256, 3.797, 4.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1099, 0.1436, 0.2435, 0.4299, 0.7365, 1.178, 1.766, 2.511, 3.42, 4.513",\
                 "0.1099, 0.1432, 0.2436, 0.4298, 0.7363, 1.178, 1.764, 2.51, 3.423, 4.513",\
                 "0.1103, 0.1436, 0.2437, 0.43, 0.7361, 1.179, 1.765, 2.508, 3.42, 4.512",\
                 "0.1228, 0.154, 0.2506, 0.4322, 0.737, 1.178, 1.765, 2.511, 3.423, 4.513",\
                 "0.146, 0.1774, 0.2724, 0.4464, 0.7414, 1.178, 1.765, 2.509, 3.423, 4.513",\
                 "0.1734, 0.2072, 0.2986, 0.4648, 0.7478, 1.181, 1.765, 2.51, 3.424, 4.513",\
                 "0.2022, 0.2374, 0.3308, 0.4896, 0.7564, 1.182, 1.766, 2.509, 3.421, 4.51",\
                 "0.2334, 0.2726, 0.3674, 0.5188, 0.7672, 1.183, 1.767, 2.511, 3.421, 4.509",\
                 "0.2646, 0.3082, 0.4082, 0.5526, 0.7824, 1.187, 1.768, 2.511, 3.42, 4.506",\
                 "0.2948, 0.3418, 0.4488, 0.5872, 0.7964, 1.189, 1.766, 2.511, 3.424, 4.506");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2819, 0.315, 0.405, 0.5424, 0.738, 1.007, 1.361, 1.806, 2.349, 2.996",\
                 "0.2992, 0.3323, 0.4223, 0.5596, 0.7553, 1.024, 1.378, 1.823, 2.366, 3.014",\
                 "0.3657, 0.3987, 0.4886, 0.6259, 0.8216, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4854, 0.5197, 0.6117, 0.7499, 0.9456, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6249, 0.6629, 0.7616, 0.9054, 1.103, 1.372, 1.725, 2.169, 2.713, 3.36",\
                 "0.7817, 0.8238, 0.9309, 1.082, 1.282, 1.552, 1.905, 2.349, 2.892, 3.539",\
                 "0.9548, 1.001, 1.119, 1.279, 1.485, 1.756, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.324, 1.496, 1.71, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.353, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.592, 4.238",\
                 "1.581, 1.64, 1.791, 1.988, 2.223, 2.514, 2.882, 3.337, 3.884, 4.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4086, 0.4537, 0.5892, 0.8198, 1.169, 1.657, 2.299, 3.108, 4.096, 5.275",\
                 "0.4181, 0.4631, 0.5985, 0.8289, 1.178, 1.666, 2.308, 3.118, 4.105, 5.279",\
                 "0.4442, 0.4892, 0.6244, 0.8548, 1.203, 1.692, 2.334, 3.144, 4.13, 5.309",\
                 "0.4968, 0.5423, 0.6777, 0.9075, 1.256, 1.744, 2.386, 3.194, 4.184, 5.362",\
                 "0.5544, 0.6012, 0.7397, 0.9712, 1.319, 1.806, 2.448, 3.257, 4.245, 5.421",\
                 "0.6096, 0.658, 0.7997, 1.032, 1.38, 1.866, 2.507, 3.315, 4.305, 5.483",\
                 "0.6546, 0.7055, 0.8524, 1.09, 1.437, 1.923, 2.563, 3.37, 4.357, 5.535",\
                 "0.6839, 0.7376, 0.8907, 1.136, 1.488, 1.974, 2.612, 3.419, 4.404, 5.58",\
                 "0.695, 0.7519, 0.9115, 1.164, 1.524, 2.016, 2.655, 3.461, 4.446, 5.621",\
                 "0.6846, 0.7453, 0.9111, 1.173, 1.542, 2.043, 2.69, 3.496, 4.48, 5.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1091, 0.1425, 0.2422, 0.4271, 0.7316, 1.174, 1.768, 2.516, 3.43, 4.519",\
                 "0.109, 0.1425, 0.2423, 0.4264, 0.7312, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1092, 0.1432, 0.2425, 0.4273, 0.7313, 1.175, 1.769, 2.515, 3.43, 4.517",\
                 "0.1216, 0.1534, 0.2492, 0.43, 0.7326, 1.176, 1.768, 2.516, 3.43, 4.52",\
                 "0.144, 0.1766, 0.2712, 0.4442, 0.7376, 1.178, 1.769, 2.513, 3.428, 4.516",\
                 "0.1708, 0.2052, 0.299, 0.4652, 0.75, 1.182, 1.769, 2.516, 3.427, 4.52",\
                 "0.1994, 0.2368, 0.334, 0.495, 0.7688, 1.192, 1.772, 2.516, 3.428, 4.517",\
                 "0.2298, 0.272, 0.3728, 0.534, 0.801, 1.213, 1.784, 2.52, 3.427, 4.514",\
                 "0.2616, 0.308, 0.416, 0.5758, 0.838, 1.246, 1.811, 2.538, 3.436, 4.515",\
                 "0.2938, 0.3444, 0.4606, 0.623, 0.8782, 1.284, 1.85, 2.574, 3.461, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1518, 0.211, 0.4015, 0.7722, 1.376, 2.233, 3.365, 4.792, 6.534, 8.614",\
                 "0.1515, 0.21, 0.4013, 0.7723, 1.376, 2.234, 3.366, 4.793, 6.543, 8.617",\
                 "0.151, 0.2098, 0.4013, 0.7721, 1.376, 2.233, 3.364, 4.792, 6.532, 8.612",\
                 "0.1556, 0.2138, 0.4037, 0.773, 1.376, 2.234, 3.365, 4.789, 6.534, 8.609",\
                 "0.1654, 0.2242, 0.4144, 0.7786, 1.377, 2.233, 3.365, 4.792, 6.535, 8.606",\
                 "0.1782, 0.2376, 0.4268, 0.786, 1.381, 2.239, 3.365, 4.79, 6.53, 8.613",\
                 "0.1958, 0.2546, 0.446, 0.7994, 1.386, 2.236, 3.368, 4.791, 6.53, 8.608",\
                 "0.2148, 0.2746, 0.469, 0.8246, 1.404, 2.242, 3.37, 4.792, 6.526, 8.603",\
                 "0.236, 0.296, 0.4938, 0.8546, 1.432, 2.263, 3.374, 4.791, 6.528, 8.612",\
                 "0.2586, 0.3198, 0.5198, 0.8854, 1.468, 2.304, 3.401, 4.801, 6.533, 8.601");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2819, 0.315, 0.405, 0.5424, 0.738, 1.007, 1.361, 1.806, 2.349, 2.996",\
                 "0.2992, 0.3323, 0.4223, 0.5596, 0.7553, 1.024, 1.378, 1.823, 2.366, 3.014",\
                 "0.3657, 0.3987, 0.4886, 0.6259, 0.8216, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4854, 0.5197, 0.6117, 0.7499, 0.9456, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6249, 0.6629, 0.7616, 0.9054, 1.103, 1.372, 1.725, 2.169, 2.713, 3.36",\
                 "0.7817, 0.8238, 0.9309, 1.082, 1.282, 1.552, 1.905, 2.349, 2.892, 3.539",\
                 "0.9548, 1.001, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.324, 1.496, 1.71, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.353, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.592, 4.238",\
                 "1.581, 1.64, 1.791, 1.988, 2.223, 2.514, 2.882, 3.337, 3.884, 4.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4086, 0.4537, 0.5892, 0.8198, 1.169, 1.657, 2.299, 3.108, 4.096, 5.275",\
                 "0.4181, 0.4631, 0.5985, 0.8289, 1.178, 1.666, 2.308, 3.118, 4.105, 5.279",\
                 "0.4442, 0.4892, 0.6244, 0.8548, 1.203, 1.692, 2.334, 3.144, 4.13, 5.309",\
                 "0.4968, 0.5423, 0.6777, 0.9075, 1.256, 1.744, 2.386, 3.194, 4.184, 5.362",\
                 "0.5544, 0.6012, 0.7397, 0.9713, 1.319, 1.806, 2.448, 3.256, 4.245, 5.423",\
                 "0.6096, 0.658, 0.7997, 1.032, 1.38, 1.866, 2.507, 3.315, 4.305, 5.483",\
                 "0.6546, 0.7055, 0.8524, 1.09, 1.437, 1.923, 2.563, 3.37, 4.357, 5.535",\
                 "0.6839, 0.7376, 0.8907, 1.136, 1.488, 1.973, 2.612, 3.419, 4.404, 5.58",\
                 "0.695, 0.7522, 0.9115, 1.164, 1.524, 2.016, 2.655, 3.461, 4.446, 5.621",\
                 "0.6846, 0.7453, 0.9111, 1.173, 1.542, 2.043, 2.69, 3.496, 4.48, 5.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1091, 0.1425, 0.2422, 0.4271, 0.7316, 1.174, 1.768, 2.516, 3.43, 4.519",\
                 "0.109, 0.1425, 0.2423, 0.4264, 0.7312, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1092, 0.1432, 0.2425, 0.4273, 0.7313, 1.175, 1.769, 2.515, 3.43, 4.517",\
                 "0.1216, 0.1534, 0.2492, 0.43, 0.7326, 1.176, 1.768, 2.516, 3.43, 4.52",\
                 "0.144, 0.1766, 0.2712, 0.4442, 0.7376, 1.178, 1.769, 2.513, 3.428, 4.516",\
                 "0.1708, 0.2052, 0.299, 0.4652, 0.75, 1.181, 1.769, 2.516, 3.427, 4.52",\
                 "0.1994, 0.2368, 0.334, 0.496, 0.7688, 1.191, 1.773, 2.516, 3.427, 4.517",\
                 "0.2298, 0.272, 0.3728, 0.534, 0.801, 1.213, 1.784, 2.52, 3.427, 4.514",\
                 "0.2616, 0.308, 0.4158, 0.5758, 0.838, 1.246, 1.811, 2.538, 3.436, 4.515",\
                 "0.2938, 0.3444, 0.4606, 0.623, 0.8782, 1.284, 1.851, 2.574, 3.461, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1518, 0.211, 0.4015, 0.7722, 1.376, 2.233, 3.365, 4.792, 6.534, 8.614",\
                 "0.1515, 0.21, 0.4013, 0.7723, 1.376, 2.234, 3.366, 4.793, 6.543, 8.617",\
                 "0.151, 0.2098, 0.4013, 0.7721, 1.376, 2.233, 3.364, 4.792, 6.532, 8.612",\
                 "0.1556, 0.2138, 0.4037, 0.773, 1.376, 2.234, 3.365, 4.789, 6.534, 8.609",\
                 "0.1654, 0.2242, 0.4144, 0.7786, 1.377, 2.234, 3.365, 4.792, 6.535, 8.613",\
                 "0.1782, 0.2376, 0.4268, 0.786, 1.38, 2.239, 3.365, 4.79, 6.53, 8.613",\
                 "0.1958, 0.2546, 0.446, 0.7994, 1.386, 2.236, 3.368, 4.791, 6.529, 8.608",\
                 "0.2148, 0.2746, 0.469, 0.8246, 1.404, 2.241, 3.37, 4.79, 6.526, 8.603",\
                 "0.2364, 0.2966, 0.4938, 0.8546, 1.432, 2.263, 3.374, 4.792, 6.528, 8.61",\
                 "0.2586, 0.3198, 0.5198, 0.8854, 1.468, 2.304, 3.401, 4.801, 6.533, 8.599");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2821, 0.3153, 0.4056, 0.5439, 0.7415, 1.012, 1.366, 1.811, 2.354, 3.001",\
                 "0.2993, 0.3326, 0.4229, 0.5611, 0.7588, 1.03, 1.383, 1.828, 2.371, 3.018",\
                 "0.3659, 0.399, 0.4892, 0.6275, 0.8251, 1.096, 1.45, 1.895, 2.437, 3.085",\
                 "0.4858, 0.5204, 0.6125, 0.7515, 0.949, 1.22, 1.573, 2.018, 2.561, 3.208",\
                 "0.6262, 0.6644, 0.7632, 0.9077, 1.106, 1.376, 1.729, 2.174, 2.717, 3.364",\
                 "0.7842, 0.8268, 0.9334, 1.084, 1.284, 1.554, 1.907, 2.351, 2.894, 3.541",\
                 "0.9592, 1.006, 1.122, 1.281, 1.483, 1.752, 2.104, 2.548, 3.09, 3.737",\
                 "1.151, 1.202, 1.329, 1.497, 1.703, 1.971, 2.322, 2.765, 3.306, 3.953",\
                 "1.362, 1.418, 1.553, 1.733, 1.942, 2.209, 2.559, 3.001, 3.543, 4.189",\
                 "1.593, 1.651, 1.798, 1.987, 2.201, 2.466, 2.815, 3.256, 3.796, 4.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1099, 0.1436, 0.2435, 0.4299, 0.7365, 1.178, 1.766, 2.511, 3.42, 4.513",\
                 "0.1099, 0.1432, 0.2436, 0.4299, 0.7363, 1.178, 1.764, 2.51, 3.423, 4.513",\
                 "0.1103, 0.1436, 0.2437, 0.43, 0.7361, 1.179, 1.765, 2.508, 3.42, 4.512",\
                 "0.1228, 0.1541, 0.2506, 0.4322, 0.737, 1.178, 1.765, 2.511, 3.423, 4.512",\
                 "0.146, 0.1774, 0.2724, 0.4464, 0.741, 1.178, 1.765, 2.51, 3.423, 4.513",\
                 "0.1734, 0.2062, 0.2986, 0.4648, 0.7484, 1.18, 1.765, 2.51, 3.424, 4.513",\
                 "0.202, 0.2374, 0.3312, 0.4896, 0.7564, 1.182, 1.766, 2.51, 3.421, 4.511",\
                 "0.2326, 0.2718, 0.3684, 0.5188, 0.768, 1.183, 1.766, 2.511, 3.421, 4.509",\
                 "0.264, 0.3062, 0.4082, 0.5526, 0.7816, 1.187, 1.768, 2.51, 3.42, 4.507",\
                 "0.2964, 0.3418, 0.448, 0.587, 0.7968, 1.19, 1.767, 2.51, 3.421, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2821, 0.3153, 0.4056, 0.5439, 0.7415, 1.012, 1.366, 1.811, 2.354, 3.001",\
                 "0.2993, 0.3326, 0.4229, 0.5611, 0.7588, 1.03, 1.383, 1.828, 2.371, 3.018",\
                 "0.3659, 0.399, 0.4892, 0.6275, 0.8251, 1.096, 1.45, 1.895, 2.437, 3.085",\
                 "0.4858, 0.5204, 0.6125, 0.7515, 0.949, 1.22, 1.573, 2.018, 2.561, 3.208",\
                 "0.6262, 0.6644, 0.7632, 0.9076, 1.106, 1.376, 1.729, 2.174, 2.717, 3.364",\
                 "0.7842, 0.8268, 0.9334, 1.084, 1.284, 1.554, 1.907, 2.351, 2.893, 3.541",\
                 "0.9592, 1.006, 1.122, 1.281, 1.483, 1.752, 2.104, 2.548, 3.09, 3.737",\
                 "1.151, 1.203, 1.329, 1.497, 1.703, 1.971, 2.322, 2.765, 3.307, 3.953",\
                 "1.362, 1.417, 1.553, 1.733, 1.942, 2.209, 2.559, 3.001, 3.543, 4.189",\
                 "1.593, 1.651, 1.798, 1.987, 2.201, 2.466, 2.815, 3.256, 3.796, 4.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1099, 0.1436, 0.2435, 0.4299, 0.7365, 1.178, 1.766, 2.511, 3.42, 4.513",\
                 "0.1099, 0.1432, 0.2436, 0.4299, 0.7363, 1.178, 1.764, 2.51, 3.423, 4.513",\
                 "0.1103, 0.1436, 0.2437, 0.43, 0.7361, 1.179, 1.765, 2.508, 3.42, 4.512",\
                 "0.1228, 0.1541, 0.2506, 0.4322, 0.737, 1.178, 1.765, 2.511, 3.423, 4.512",\
                 "0.146, 0.1774, 0.2724, 0.4464, 0.7408, 1.179, 1.765, 2.51, 3.423, 4.513",\
                 "0.1734, 0.2062, 0.2986, 0.4648, 0.7484, 1.181, 1.765, 2.511, 3.424, 4.513",\
                 "0.2036, 0.2374, 0.3308, 0.4896, 0.7564, 1.182, 1.766, 2.51, 3.421, 4.51",\
                 "0.2326, 0.2724, 0.3684, 0.5188, 0.768, 1.184, 1.767, 2.511, 3.421, 4.509",\
                 "0.264, 0.3068, 0.4082, 0.5526, 0.7818, 1.186, 1.768, 2.51, 3.42, 4.506",\
                 "0.2964, 0.3418, 0.448, 0.587, 0.7968, 1.19, 1.767, 2.51, 3.424, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2819, 0.315, 0.4049, 0.5423, 0.738, 1.007, 1.361, 1.806, 2.349, 2.996",\
                 "0.2992, 0.3323, 0.4223, 0.5596, 0.7553, 1.024, 1.378, 1.823, 2.366, 3.014",\
                 "0.3657, 0.3987, 0.4886, 0.6259, 0.8216, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.5198, 0.6117, 0.7499, 0.9456, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.625, 0.6629, 0.7616, 0.9054, 1.103, 1.372, 1.725, 2.17, 2.713, 3.36",\
                 "0.7813, 0.8239, 0.9311, 1.082, 1.282, 1.552, 1.905, 2.349, 2.892, 3.54",\
                 "0.9547, 1.001, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.324, 1.495, 1.71, 1.987, 2.342, 2.786, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.6, 3.048, 3.591, 4.238",\
                 "1.581, 1.641, 1.791, 1.987, 2.223, 2.514, 2.882, 3.337, 3.884, 4.532");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4086, 0.4537, 0.5892, 0.8198, 1.169, 1.657, 2.299, 3.108, 4.096, 5.275",\
                 "0.4181, 0.4631, 0.5985, 0.8289, 1.178, 1.666, 2.308, 3.118, 4.104, 5.279",\
                 "0.4442, 0.4892, 0.6244, 0.8548, 1.203, 1.692, 2.334, 3.144, 4.13, 5.309",\
                 "0.4968, 0.5423, 0.6777, 0.9075, 1.256, 1.744, 2.386, 3.194, 4.184, 5.362",\
                 "0.5542, 0.6011, 0.7399, 0.9711, 1.319, 1.806, 2.448, 3.257, 4.245, 5.423",\
                 "0.6096, 0.6581, 0.7999, 1.032, 1.38, 1.867, 2.507, 3.317, 4.305, 5.481",\
                 "0.6547, 0.7057, 0.8524, 1.09, 1.438, 1.923, 2.563, 3.37, 4.357, 5.534",\
                 "0.6843, 0.7379, 0.8911, 1.135, 1.488, 1.974, 2.613, 3.419, 4.404, 5.581",\
                 "0.695, 0.7517, 0.9112, 1.164, 1.525, 2.016, 2.656, 3.461, 4.446, 5.621",\
                 "0.6846, 0.745, 0.911, 1.173, 1.542, 2.043, 2.69, 3.496, 4.48, 5.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1091, 0.1425, 0.2427, 0.4272, 0.7316, 1.174, 1.768, 2.516, 3.43, 4.519",\
                 "0.109, 0.1425, 0.2423, 0.4264, 0.7312, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1091, 0.1432, 0.2425, 0.4264, 0.7311, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1216, 0.1535, 0.2493, 0.4292, 0.7316, 1.177, 1.766, 2.516, 3.428, 4.52",\
                 "0.1438, 0.1764, 0.2718, 0.4438, 0.7378, 1.177, 1.769, 2.514, 3.429, 4.515",\
                 "0.171, 0.205, 0.2986, 0.4652, 0.7502, 1.182, 1.768, 2.514, 3.429, 4.518",\
                 "0.199, 0.2386, 0.3342, 0.4958, 0.77, 1.191, 1.773, 2.516, 3.428, 4.517",\
                 "0.2298, 0.272, 0.373, 0.5326, 0.7996, 1.213, 1.785, 2.523, 3.428, 4.514",\
                 "0.2612, 0.308, 0.4164, 0.576, 0.8376, 1.246, 1.811, 2.54, 3.438, 4.515",\
                 "0.2918, 0.3438, 0.461, 0.6228, 0.8794, 1.284, 1.85, 2.577, 3.461, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1518, 0.211, 0.4015, 0.772, 1.376, 2.233, 3.365, 4.792, 6.534, 8.614",\
                 "0.1515, 0.2099, 0.4013, 0.7723, 1.376, 2.234, 3.366, 4.793, 6.542, 8.616",\
                 "0.151, 0.2098, 0.4012, 0.7721, 1.376, 2.233, 3.364, 4.792, 6.533, 8.613",\
                 "0.1556, 0.2138, 0.4037, 0.7728, 1.376, 2.234, 3.365, 4.789, 6.534, 8.609",\
                 "0.166, 0.2244, 0.4146, 0.7784, 1.377, 2.235, 3.364, 4.792, 6.535, 8.614",\
                 "0.1778, 0.2374, 0.4272, 0.7856, 1.38, 2.236, 3.368, 4.791, 6.536, 8.608",\
                 "0.1944, 0.254, 0.446, 0.8006, 1.386, 2.237, 3.366, 4.794, 6.531, 8.61",\
                 "0.2146, 0.2732, 0.469, 0.8256, 1.401, 2.244, 3.367, 4.792, 6.526, 8.604",\
                 "0.2364, 0.2966, 0.4942, 0.854, 1.433, 2.262, 3.374, 4.791, 6.527, 8.61",\
                 "0.2586, 0.3218, 0.5198, 0.8854, 1.468, 2.304, 3.401, 4.801, 6.533, 8.601");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2819, 0.315, 0.4051, 0.5424, 0.738, 1.007, 1.361, 1.806, 2.349, 2.996",\
                 "0.2992, 0.3323, 0.4223, 0.5596, 0.7553, 1.024, 1.378, 1.823, 2.366, 3.014",\
                 "0.3657, 0.3987, 0.4886, 0.6259, 0.8216, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4854, 0.5197, 0.6117, 0.7499, 0.9456, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.625, 0.6628, 0.7616, 0.9054, 1.103, 1.372, 1.725, 2.169, 2.713, 3.36",\
                 "0.7817, 0.8237, 0.9309, 1.082, 1.282, 1.552, 1.905, 2.349, 2.892, 3.54",\
                 "0.9548, 1.001, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.324, 1.496, 1.71, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.353, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.592, 4.238",\
                 "1.581, 1.641, 1.791, 1.988, 2.223, 2.514, 2.882, 3.337, 3.884, 4.532");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4086, 0.4537, 0.5892, 0.8198, 1.169, 1.657, 2.299, 3.108, 4.096, 5.275",\
                 "0.4181, 0.4631, 0.5985, 0.8289, 1.178, 1.666, 2.308, 3.118, 4.105, 5.279",\
                 "0.4442, 0.4892, 0.6244, 0.8548, 1.203, 1.692, 2.334, 3.144, 4.13, 5.309",\
                 "0.4968, 0.5423, 0.6777, 0.9075, 1.256, 1.744, 2.386, 3.194, 4.184, 5.362",\
                 "0.5544, 0.6012, 0.7397, 0.9712, 1.319, 1.806, 2.448, 3.256, 4.246, 5.422",\
                 "0.6097, 0.658, 0.8002, 1.032, 1.38, 1.867, 2.507, 3.316, 4.305, 5.483",\
                 "0.6546, 0.7055, 0.8524, 1.09, 1.437, 1.923, 2.563, 3.37, 4.357, 5.535",\
                 "0.6839, 0.7376, 0.8905, 1.136, 1.488, 1.974, 2.613, 3.419, 4.404, 5.581",\
                 "0.6949, 0.7518, 0.9115, 1.164, 1.524, 2.016, 2.656, 3.461, 4.446, 5.621",\
                 "0.6848, 0.7453, 0.9112, 1.173, 1.542, 2.043, 2.69, 3.496, 4.48, 5.655");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1091, 0.1425, 0.2422, 0.4271, 0.7316, 1.174, 1.768, 2.516, 3.43, 4.519",\
                 "0.109, 0.1425, 0.2423, 0.4264, 0.7312, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1092, 0.1432, 0.2425, 0.4273, 0.7313, 1.175, 1.769, 2.515, 3.43, 4.517",\
                 "0.1216, 0.1534, 0.2492, 0.43, 0.7326, 1.176, 1.768, 2.516, 3.43, 4.52",\
                 "0.1442, 0.1774, 0.2712, 0.4442, 0.7376, 1.178, 1.769, 2.513, 3.428, 4.516",\
                 "0.1702, 0.2054, 0.2996, 0.4652, 0.7506, 1.183, 1.769, 2.516, 3.428, 4.513",\
                 "0.1994, 0.2372, 0.334, 0.495, 0.77, 1.191, 1.773, 2.516, 3.428, 4.517",\
                 "0.2298, 0.272, 0.3728, 0.534, 0.7994, 1.213, 1.784, 2.52, 3.427, 4.514",\
                 "0.2616, 0.308, 0.4152, 0.5758, 0.838, 1.245, 1.812, 2.538, 3.437, 4.516",\
                 "0.293, 0.3434, 0.4606, 0.6224, 0.8782, 1.284, 1.851, 2.574, 3.461, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1518, 0.211, 0.4015, 0.772, 1.376, 2.233, 3.365, 4.792, 6.534, 8.614",\
                 "0.1515, 0.21, 0.4013, 0.7723, 1.376, 2.234, 3.366, 4.793, 6.543, 8.617",\
                 "0.151, 0.2098, 0.4013, 0.7721, 1.376, 2.233, 3.364, 4.792, 6.532, 8.612",\
                 "0.1556, 0.2138, 0.4037, 0.773, 1.376, 2.234, 3.365, 4.789, 6.534, 8.609",\
                 "0.1652, 0.2242, 0.4152, 0.7784, 1.377, 2.233, 3.364, 4.791, 6.532, 8.61",\
                 "0.1788, 0.2376, 0.4268, 0.786, 1.38, 2.238, 3.371, 4.794, 6.535, 8.609",\
                 "0.1958, 0.2546, 0.446, 0.8012, 1.386, 2.238, 3.368, 4.791, 6.531, 8.608",\
                 "0.2148, 0.2746, 0.4694, 0.825, 1.401, 2.242, 3.369, 4.791, 6.529, 8.602",\
                 "0.2358, 0.2958, 0.4936, 0.8546, 1.432, 2.265, 3.376, 4.793, 6.529, 8.62",\
                 "0.2584, 0.3198, 0.5194, 0.8854, 1.468, 2.304, 3.401, 4.801, 6.533, 8.599");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.282, 0.3153, 0.4056, 0.5438, 0.7415, 1.012, 1.366, 1.811, 2.354, 3.001",\
                 "0.2994, 0.3326, 0.4228, 0.5611, 0.7587, 1.03, 1.383, 1.828, 2.371, 3.018",\
                 "0.3659, 0.3991, 0.4892, 0.6275, 0.8252, 1.096, 1.45, 1.895, 2.438, 3.085",\
                 "0.4859, 0.5203, 0.6125, 0.7516, 0.949, 1.22, 1.573, 2.018, 2.561, 3.208",\
                 "0.6263, 0.6645, 0.7633, 0.9075, 1.106, 1.377, 1.73, 2.174, 2.717, 3.364",\
                 "0.7846, 0.8267, 0.9333, 1.084, 1.284, 1.554, 1.907, 2.351, 2.894, 3.54",\
                 "0.9592, 1.006, 1.122, 1.281, 1.483, 1.752, 2.104, 2.548, 3.09, 3.737",\
                 "1.152, 1.203, 1.329, 1.497, 1.703, 1.971, 2.322, 2.765, 3.306, 3.953",\
                 "1.362, 1.417, 1.553, 1.733, 1.942, 2.209, 2.559, 3.001, 3.543, 4.189",\
                 "1.592, 1.651, 1.798, 1.987, 2.2, 2.466, 2.815, 3.256, 3.796, 4.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1099, 0.1432, 0.2433, 0.4294, 0.7361, 1.178, 1.765, 2.51, 3.422, 4.508",\
                 "0.1099, 0.1434, 0.243, 0.43, 0.7365, 1.179, 1.766, 2.511, 3.42, 4.513",\
                 "0.1103, 0.1434, 0.2439, 0.43, 0.7361, 1.179, 1.766, 2.509, 3.421, 4.511",\
                 "0.1227, 0.1541, 0.2504, 0.4328, 0.7368, 1.178, 1.765, 2.511, 3.42, 4.513",\
                 "0.1456, 0.1776, 0.272, 0.4466, 0.741, 1.179, 1.765, 2.51, 3.423, 4.513",\
                 "0.1728, 0.2068, 0.2988, 0.4654, 0.7482, 1.18, 1.766, 2.51, 3.423, 4.507",\
                 "0.2018, 0.2376, 0.331, 0.489, 0.7558, 1.181, 1.766, 2.509, 3.421, 4.509",\
                 "0.2336, 0.2724, 0.368, 0.5192, 0.7678, 1.184, 1.766, 2.511, 3.422, 4.505",\
                 "0.2636, 0.3068, 0.4076, 0.5526, 0.7826, 1.187, 1.766, 2.511, 3.424, 4.507",\
                 "0.2968, 0.3424, 0.4482, 0.5874, 0.7968, 1.189, 1.768, 2.51, 3.421, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2821, 0.3153, 0.4056, 0.5439, 0.7415, 1.012, 1.366, 1.811, 2.354, 3.001",\
                 "0.2993, 0.3326, 0.4229, 0.5611, 0.7588, 1.03, 1.383, 1.828, 2.371, 3.018",\
                 "0.3659, 0.399, 0.4892, 0.6275, 0.8251, 1.096, 1.45, 1.895, 2.437, 3.085",\
                 "0.4859, 0.5204, 0.6124, 0.7516, 0.949, 1.22, 1.573, 2.018, 2.561, 3.208",\
                 "0.6265, 0.6646, 0.7632, 0.9075, 1.106, 1.377, 1.73, 2.174, 2.717, 3.364",\
                 "0.7842, 0.8267, 0.9334, 1.084, 1.284, 1.554, 1.907, 2.351, 2.894, 3.541",\
                 "0.9592, 1.006, 1.122, 1.281, 1.483, 1.752, 2.104, 2.548, 3.09, 3.737",\
                 "1.151, 1.203, 1.329, 1.497, 1.703, 1.971, 2.322, 2.765, 3.307, 3.953",\
                 "1.362, 1.418, 1.553, 1.733, 1.942, 2.209, 2.559, 3.001, 3.543, 4.189",\
                 "1.593, 1.651, 1.797, 1.987, 2.201, 2.467, 2.815, 3.256, 3.796, 4.442");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1099, 0.1436, 0.2435, 0.4299, 0.7365, 1.178, 1.766, 2.511, 3.42, 4.513",\
                 "0.1099, 0.1432, 0.2436, 0.4298, 0.7363, 1.178, 1.764, 2.51, 3.423, 4.513",\
                 "0.1103, 0.1436, 0.2437, 0.43, 0.7361, 1.179, 1.765, 2.508, 3.42, 4.512",\
                 "0.123, 0.1541, 0.2504, 0.4322, 0.7368, 1.178, 1.765, 2.51, 3.423, 4.51",\
                 "0.1458, 0.1776, 0.2724, 0.4464, 0.741, 1.178, 1.764, 2.509, 3.421, 4.513",\
                 "0.1726, 0.2068, 0.2988, 0.465, 0.7476, 1.18, 1.766, 2.511, 3.424, 4.513",\
                 "0.2018, 0.2374, 0.3316, 0.4892, 0.7566, 1.181, 1.766, 2.51, 3.421, 4.512",\
                 "0.2334, 0.2714, 0.3676, 0.5188, 0.7672, 1.183, 1.767, 2.511, 3.421, 4.509",\
                 "0.2646, 0.3082, 0.4082, 0.5526, 0.7826, 1.187, 1.768, 2.51, 3.421, 4.507",\
                 "0.2964, 0.3418, 0.4488, 0.587, 0.7966, 1.189, 1.766, 2.51, 3.42, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2822, 0.3153, 0.4052, 0.5425, 0.7381, 1.007, 1.361, 1.805, 2.348, 2.996",\
                 "0.2994, 0.3325, 0.4224, 0.5597, 0.7554, 1.025, 1.378, 1.823, 2.366, 3.013",\
                 "0.366, 0.3989, 0.4887, 0.626, 0.8218, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.52, 0.6117, 0.75, 0.9457, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6251, 0.663, 0.762, 0.9055, 1.103, 1.372, 1.725, 2.17, 2.712, 3.36",\
                 "0.7819, 0.8243, 0.9316, 1.082, 1.283, 1.552, 1.905, 2.349, 2.892, 3.539",\
                 "0.9551, 1.001, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.325, 1.496, 1.711, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.591, 4.238",\
                 "1.582, 1.641, 1.791, 1.988, 2.223, 2.515, 2.882, 3.337, 3.885, 4.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4117, 0.4569, 0.5921, 0.8227, 1.172, 1.66, 2.301, 3.111, 4.098, 5.275",\
                 "0.4208, 0.466, 0.6012, 0.8318, 1.181, 1.669, 2.311, 3.119, 4.106, 5.281",\
                 "0.4464, 0.4914, 0.6266, 0.857, 1.206, 1.693, 2.336, 3.144, 4.132, 5.307",\
                 "0.4979, 0.5437, 0.6791, 0.9087, 1.257, 1.745, 2.386, 3.196, 4.183, 5.36",\
                 "0.555, 0.6021, 0.7404, 0.9718, 1.32, 1.807, 2.448, 3.257, 4.244, 5.42",\
                 "0.6105, 0.6591, 0.8006, 1.034, 1.381, 1.867, 2.508, 3.316, 4.301, 5.478",\
                 "0.655, 0.7059, 0.8529, 1.09, 1.438, 1.923, 2.563, 3.371, 4.358, 5.534",\
                 "0.6849, 0.7387, 0.8918, 1.136, 1.489, 1.974, 2.613, 3.42, 4.405, 5.581",\
                 "0.6956, 0.7524, 0.9123, 1.165, 1.525, 2.016, 2.656, 3.462, 4.447, 5.622",\
                 "0.6861, 0.7463, 0.9118, 1.173, 1.542, 2.043, 2.69, 3.497, 4.481, 5.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1092, 0.1425, 0.2424, 0.4268, 0.7301, 1.175, 1.766, 2.512, 3.426, 4.515",\
                 "0.109, 0.1426, 0.2416, 0.4268, 0.73, 1.175, 1.766, 2.512, 3.425, 4.516",\
                 "0.1094, 0.143, 0.2427, 0.4262, 0.7307, 1.175, 1.766, 2.511, 3.427, 4.513",\
                 "0.1215, 0.1536, 0.249, 0.4294, 0.7322, 1.176, 1.766, 2.513, 3.427, 4.514",\
                 "0.1442, 0.1764, 0.2714, 0.4442, 0.7382, 1.177, 1.767, 2.512, 3.427, 4.516",\
                 "0.1706, 0.2054, 0.2994, 0.4648, 0.7496, 1.182, 1.769, 2.512, 3.427, 4.516",\
                 "0.199, 0.2372, 0.334, 0.4962, 0.7686, 1.191, 1.772, 2.516, 3.426, 4.512",\
                 "0.2296, 0.2718, 0.3724, 0.533, 0.7994, 1.213, 1.785, 2.522, 3.428, 4.514",\
                 "0.261, 0.3076, 0.4158, 0.5752, 0.836, 1.245, 1.811, 2.537, 3.436, 4.516",\
                 "0.2924, 0.343, 0.4606, 0.6224, 0.8772, 1.282, 1.851, 2.573, 3.461, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1519, 0.2109, 0.4015, 0.773, 1.377, 2.233, 3.365, 4.79, 6.532, 8.601",\
                 "0.1517, 0.2111, 0.4013, 0.7728, 1.378, 2.235, 3.363, 4.789, 6.533, 8.604",\
                 "0.1513, 0.21, 0.4016, 0.7731, 1.375, 2.234, 3.365, 4.792, 6.532, 8.607",\
                 "0.1557, 0.2141, 0.4036, 0.7746, 1.376, 2.233, 3.364, 4.789, 6.532, 8.603",\
                 "0.1654, 0.2242, 0.414, 0.7786, 1.378, 2.234, 3.365, 4.791, 6.532, 8.608",\
                 "0.1782, 0.2362, 0.427, 0.7868, 1.38, 2.239, 3.37, 4.79, 6.531, 8.6",\
                 "0.1956, 0.254, 0.4462, 0.7996, 1.386, 2.238, 3.366, 4.791, 6.527, 8.602",\
                 "0.2152, 0.2744, 0.4694, 0.8244, 1.401, 2.243, 3.367, 4.791, 6.529, 8.605",\
                 "0.237, 0.2968, 0.4936, 0.8538, 1.433, 2.265, 3.374, 4.791, 6.528, 8.613",\
                 "0.2578, 0.3192, 0.5204, 0.8854, 1.471, 2.304, 3.404, 4.803, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2822, 0.3153, 0.4052, 0.5425, 0.7381, 1.007, 1.361, 1.805, 2.348, 2.996",\
                 "0.2994, 0.3325, 0.4224, 0.5597, 0.7554, 1.025, 1.378, 1.823, 2.366, 3.013",\
                 "0.366, 0.3989, 0.4887, 0.626, 0.8218, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4855, 0.52, 0.6117, 0.75, 0.9457, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6251, 0.663, 0.762, 0.9055, 1.103, 1.372, 1.725, 2.17, 2.712, 3.36",\
                 "0.7819, 0.8243, 0.9316, 1.082, 1.283, 1.552, 1.905, 2.349, 2.892, 3.539",\
                 "0.9549, 1.001, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.197, 1.325, 1.496, 1.711, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.591, 4.238",\
                 "1.582, 1.641, 1.791, 1.988, 2.223, 2.514, 2.882, 3.337, 3.885, 4.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4117, 0.4569, 0.5921, 0.8227, 1.172, 1.66, 2.301, 3.111, 4.098, 5.275",\
                 "0.4208, 0.466, 0.6012, 0.8318, 1.181, 1.669, 2.311, 3.119, 4.106, 5.281",\
                 "0.4464, 0.4914, 0.6266, 0.857, 1.206, 1.693, 2.336, 3.145, 4.132, 5.307",\
                 "0.4979, 0.5437, 0.6791, 0.9087, 1.257, 1.745, 2.386, 3.196, 4.183, 5.36",\
                 "0.5549, 0.6021, 0.7404, 0.9718, 1.32, 1.807, 2.448, 3.257, 4.245, 5.42",\
                 "0.6105, 0.6591, 0.8006, 1.034, 1.381, 1.867, 2.508, 3.316, 4.301, 5.478",\
                 "0.6553, 0.7059, 0.8532, 1.09, 1.438, 1.923, 2.563, 3.371, 4.358, 5.534",\
                 "0.6849, 0.7387, 0.8917, 1.136, 1.489, 1.974, 2.613, 3.42, 4.405, 5.581",\
                 "0.6956, 0.7524, 0.9115, 1.165, 1.525, 2.016, 2.656, 3.462, 4.447, 5.621",\
                 "0.6861, 0.7463, 0.9118, 1.173, 1.542, 2.043, 2.69, 3.497, 4.481, 5.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1092, 0.1425, 0.2424, 0.4268, 0.7301, 1.175, 1.766, 2.512, 3.426, 4.515",\
                 "0.109, 0.1426, 0.2416, 0.4268, 0.73, 1.175, 1.766, 2.512, 3.425, 4.516",\
                 "0.1094, 0.143, 0.2427, 0.4262, 0.7307, 1.175, 1.766, 2.511, 3.427, 4.513",\
                 "0.1214, 0.1536, 0.249, 0.4296, 0.7322, 1.176, 1.766, 2.513, 3.427, 4.514",\
                 "0.1444, 0.1764, 0.2714, 0.4442, 0.7382, 1.177, 1.767, 2.512, 3.427, 4.516",\
                 "0.1706, 0.2054, 0.2994, 0.4648, 0.7496, 1.182, 1.769, 2.512, 3.427, 4.516",\
                 "0.199, 0.2372, 0.3336, 0.4962, 0.7686, 1.192, 1.772, 2.516, 3.426, 4.512",\
                 "0.2296, 0.2718, 0.3724, 0.5328, 0.7996, 1.213, 1.785, 2.522, 3.427, 4.513",\
                 "0.261, 0.3076, 0.4158, 0.5754, 0.836, 1.245, 1.811, 2.537, 3.436, 4.515",\
                 "0.2924, 0.3428, 0.4602, 0.6226, 0.8776, 1.282, 1.851, 2.574, 3.461, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1519, 0.2109, 0.4015, 0.773, 1.377, 2.233, 3.365, 4.79, 6.532, 8.602",\
                 "0.1517, 0.2111, 0.4013, 0.7728, 1.378, 2.235, 3.363, 4.789, 6.533, 8.604",\
                 "0.1512, 0.2103, 0.4015, 0.7731, 1.376, 2.233, 3.365, 4.791, 6.532, 8.607",\
                 "0.1557, 0.2141, 0.4036, 0.7746, 1.376, 2.233, 3.364, 4.789, 6.532, 8.603",\
                 "0.1656, 0.2242, 0.414, 0.7786, 1.378, 2.234, 3.366, 4.791, 6.53, 8.609",\
                 "0.1782, 0.2362, 0.427, 0.7868, 1.38, 2.238, 3.37, 4.79, 6.531, 8.6",\
                 "0.1946, 0.254, 0.446, 0.7996, 1.386, 2.237, 3.366, 4.791, 6.528, 8.602",\
                 "0.2152, 0.2744, 0.4692, 0.8244, 1.403, 2.243, 3.367, 4.791, 6.528, 8.605",\
                 "0.237, 0.297, 0.4942, 0.855, 1.432, 2.266, 3.378, 4.793, 6.528, 8.619",\
                 "0.2578, 0.3192, 0.5204, 0.8854, 1.468, 2.304, 3.404, 4.803, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2823, 0.3155, 0.406, 0.5446, 0.7414, 1.012, 1.369, 1.814, 2.357, 3.004",\
                 "0.2996, 0.3328, 0.4233, 0.5619, 0.7587, 1.03, 1.386, 1.831, 2.374, 3.021",\
                 "0.3661, 0.3992, 0.4896, 0.6282, 0.8252, 1.096, 1.452, 1.898, 2.441, 3.088",\
                 "0.486, 0.5204, 0.6128, 0.7523, 0.9493, 1.22, 1.576, 2.021, 2.564, 3.211",\
                 "0.6261, 0.6643, 0.7637, 0.9087, 1.108, 1.379, 1.734, 2.179, 2.721, 3.368",\
                 "0.7838, 0.8262, 0.934, 1.086, 1.288, 1.56, 1.914, 2.359, 2.901, 3.548",\
                 "0.9583, 1.005, 1.123, 1.285, 1.492, 1.764, 2.119, 2.563, 3.105, 3.752",\
                 "1.15, 1.201, 1.33, 1.503, 1.719, 1.994, 2.348, 2.792, 3.334, 3.98",\
                 "1.36, 1.416, 1.556, 1.742, 1.966, 2.248, 2.604, 3.047, 3.588, 4.234",\
                 "1.589, 1.649, 1.801, 1.999, 2.235, 2.525, 2.885, 3.329, 3.869, 4.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1097, 0.1432, 0.2439, 0.4294, 0.7338, 1.182, 1.773, 2.513, 3.422, 4.509",\
                 "0.1097, 0.143, 0.2439, 0.4295, 0.7339, 1.182, 1.773, 2.514, 3.423, 4.511",\
                 "0.1099, 0.1436, 0.244, 0.4295, 0.7342, 1.182, 1.772, 2.513, 3.423, 4.511",\
                 "0.1223, 0.1542, 0.2514, 0.4328, 0.7358, 1.182, 1.772, 2.512, 3.421, 4.508",\
                 "0.1448, 0.1776, 0.2738, 0.4478, 0.7426, 1.184, 1.771, 2.511, 3.422, 4.511",\
                 "0.172, 0.2066, 0.3014, 0.4686, 0.7532, 1.189, 1.773, 2.511, 3.422, 4.51",\
                 "0.2012, 0.2388, 0.3364, 0.499, 0.77, 1.194, 1.774, 2.513, 3.424, 4.506",\
                 "0.232, 0.2748, 0.3762, 0.5372, 0.7982, 1.208, 1.779, 2.515, 3.422, 4.509",\
                 "0.2638, 0.3104, 0.42, 0.5804, 0.8346, 1.232, 1.789, 2.517, 3.423, 4.507",\
                 "0.2968, 0.346, 0.4658, 0.6288, 0.8762, 1.266, 1.809, 2.525, 3.424, 4.506");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2823, 0.3155, 0.406, 0.5446, 0.7414, 1.012, 1.369, 1.814, 2.357, 3.004",\
                 "0.2996, 0.3328, 0.4233, 0.5619, 0.7587, 1.03, 1.386, 1.831, 2.374, 3.021",\
                 "0.3661, 0.3992, 0.4896, 0.6282, 0.8252, 1.096, 1.452, 1.898, 2.441, 3.088",\
                 "0.4859, 0.5204, 0.6128, 0.7523, 0.9493, 1.22, 1.576, 2.021, 2.564, 3.211",\
                 "0.6262, 0.6642, 0.7636, 0.9086, 1.108, 1.379, 1.734, 2.179, 2.721, 3.368",\
                 "0.7838, 0.8262, 0.934, 1.086, 1.288, 1.56, 1.914, 2.359, 2.901, 3.548",\
                 "0.9584, 1.005, 1.123, 1.285, 1.492, 1.764, 2.119, 2.563, 3.105, 3.752",\
                 "1.15, 1.201, 1.33, 1.503, 1.719, 1.994, 2.348, 2.792, 3.334, 3.98",\
                 "1.36, 1.416, 1.556, 1.742, 1.966, 2.248, 2.604, 3.047, 3.588, 4.234",\
                 "1.589, 1.649, 1.8, 1.999, 2.235, 2.525, 2.885, 3.329, 3.869, 4.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1097, 0.1432, 0.2439, 0.4294, 0.7338, 1.182, 1.773, 2.513, 3.422, 4.509",\
                 "0.1097, 0.143, 0.2439, 0.4295, 0.7339, 1.182, 1.773, 2.514, 3.423, 4.511",\
                 "0.1099, 0.1436, 0.244, 0.4295, 0.7342, 1.182, 1.772, 2.513, 3.423, 4.511",\
                 "0.1222, 0.1542, 0.2514, 0.4324, 0.7358, 1.182, 1.772, 2.512, 3.421, 4.508",\
                 "0.1448, 0.1782, 0.2738, 0.448, 0.7426, 1.183, 1.77, 2.512, 3.421, 4.509",\
                 "0.172, 0.2066, 0.3012, 0.4686, 0.7532, 1.189, 1.773, 2.512, 3.423, 4.511",\
                 "0.2008, 0.2392, 0.3364, 0.499, 0.77, 1.194, 1.774, 2.513, 3.421, 4.506",\
                 "0.232, 0.2748, 0.3762, 0.5372, 0.7982, 1.208, 1.779, 2.515, 3.422, 4.509",\
                 "0.2638, 0.3104, 0.42, 0.5798, 0.8344, 1.232, 1.789, 2.518, 3.422, 4.507",\
                 "0.2956, 0.3462, 0.466, 0.6292, 0.8766, 1.266, 1.809, 2.525, 3.423, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2822, 0.3153, 0.4052, 0.5425, 0.7381, 1.007, 1.361, 1.805, 2.348, 2.996",\
                 "0.2994, 0.3325, 0.4224, 0.5597, 0.7554, 1.025, 1.378, 1.823, 2.366, 3.013",\
                 "0.366, 0.3989, 0.4887, 0.626, 0.8218, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.52, 0.6117, 0.75, 0.9457, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6251, 0.663, 0.762, 0.9055, 1.103, 1.372, 1.725, 2.17, 2.712, 3.36",\
                 "0.7819, 0.8241, 0.9314, 1.082, 1.283, 1.552, 1.905, 2.349, 2.892, 3.539",\
                 "0.9551, 1.002, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.325, 1.496, 1.711, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.591, 4.238",\
                 "1.582, 1.641, 1.791, 1.988, 2.223, 2.515, 2.882, 3.337, 3.885, 4.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4117, 0.4566, 0.5921, 0.8227, 1.172, 1.66, 2.301, 3.111, 4.098, 5.275",\
                 "0.4208, 0.466, 0.6012, 0.8318, 1.181, 1.669, 2.311, 3.119, 4.106, 5.281",\
                 "0.4463, 0.4914, 0.6266, 0.8569, 1.206, 1.693, 2.336, 3.145, 4.132, 5.308",\
                 "0.4979, 0.5437, 0.6791, 0.9087, 1.257, 1.745, 2.386, 3.196, 4.183, 5.36",\
                 "0.5553, 0.6021, 0.7404, 0.9718, 1.32, 1.807, 2.448, 3.257, 4.244, 5.42",\
                 "0.6105, 0.6591, 0.8006, 1.034, 1.381, 1.867, 2.508, 3.316, 4.302, 5.478",\
                 "0.6551, 0.7059, 0.8529, 1.09, 1.438, 1.923, 2.563, 3.371, 4.358, 5.534",\
                 "0.6849, 0.7386, 0.8917, 1.136, 1.489, 1.974, 2.613, 3.42, 4.405, 5.581",\
                 "0.6956, 0.7524, 0.9121, 1.165, 1.525, 2.016, 2.656, 3.462, 4.447, 5.621",\
                 "0.6861, 0.7463, 0.912, 1.173, 1.542, 2.043, 2.69, 3.497, 4.481, 5.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1092, 0.1425, 0.2424, 0.4268, 0.7301, 1.175, 1.766, 2.512, 3.426, 4.515",\
                 "0.109, 0.1426, 0.2416, 0.4268, 0.73, 1.175, 1.766, 2.512, 3.425, 4.516",\
                 "0.1094, 0.143, 0.2427, 0.4262, 0.7307, 1.175, 1.766, 2.511, 3.427, 4.513",\
                 "0.1215, 0.1536, 0.249, 0.4294, 0.7322, 1.176, 1.766, 2.513, 3.427, 4.514",\
                 "0.1442, 0.1764, 0.2714, 0.4442, 0.7382, 1.177, 1.767, 2.512, 3.427, 4.516",\
                 "0.1706, 0.2052, 0.299, 0.4648, 0.7496, 1.182, 1.769, 2.512, 3.427, 4.515",\
                 "0.199, 0.2372, 0.3338, 0.4962, 0.7686, 1.19, 1.772, 2.516, 3.426, 4.512",\
                 "0.2296, 0.2718, 0.3724, 0.533, 0.7994, 1.213, 1.784, 2.521, 3.428, 4.514",\
                 "0.261, 0.3076, 0.4158, 0.5752, 0.836, 1.244, 1.811, 2.538, 3.435, 4.515",\
                 "0.2924, 0.3426, 0.4602, 0.6224, 0.8772, 1.282, 1.851, 2.574, 3.461, 4.53");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1519, 0.2113, 0.4015, 0.773, 1.377, 2.233, 3.365, 4.789, 6.532, 8.602",\
                 "0.1517, 0.2111, 0.4013, 0.7728, 1.378, 2.235, 3.363, 4.789, 6.533, 8.604",\
                 "0.1513, 0.2104, 0.4014, 0.7733, 1.376, 2.233, 3.365, 4.791, 6.529, 8.609",\
                 "0.1557, 0.2141, 0.4036, 0.7746, 1.376, 2.233, 3.364, 4.789, 6.532, 8.603",\
                 "0.1658, 0.2244, 0.414, 0.7784, 1.378, 2.234, 3.365, 4.791, 6.532, 8.608",\
                 "0.1782, 0.2368, 0.4268, 0.7868, 1.38, 2.238, 3.367, 4.788, 6.532, 8.6",\
                 "0.195, 0.254, 0.4462, 0.7998, 1.386, 2.237, 3.368, 4.79, 6.529, 8.603",\
                 "0.2142, 0.2732, 0.4692, 0.8244, 1.401, 2.243, 3.368, 4.791, 6.529, 8.605",\
                 "0.237, 0.2968, 0.4934, 0.8548, 1.432, 2.262, 3.374, 4.793, 6.528, 8.615",\
                 "0.2578, 0.3192, 0.52, 0.8854, 1.469, 2.304, 3.404, 4.803, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2822, 0.3153, 0.4052, 0.5425, 0.7381, 1.007, 1.361, 1.805, 2.348, 2.996",\
                 "0.2994, 0.3325, 0.4224, 0.5597, 0.7554, 1.025, 1.378, 1.823, 2.366, 3.013",\
                 "0.366, 0.3989, 0.4887, 0.626, 0.8218, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.52, 0.6117, 0.75, 0.9457, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6251, 0.663, 0.762, 0.9055, 1.103, 1.372, 1.725, 2.17, 2.712, 3.36",\
                 "0.7819, 0.8243, 0.9316, 1.082, 1.283, 1.552, 1.906, 2.35, 2.892, 3.54",\
                 "0.9549, 1.002, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.146, 1.196, 1.325, 1.496, 1.711, 1.987, 2.342, 2.786, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.6, 3.048, 3.591, 4.238",\
                 "1.582, 1.641, 1.791, 1.988, 2.223, 2.515, 2.882, 3.337, 3.885, 4.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4117, 0.4566, 0.5921, 0.8227, 1.172, 1.66, 2.301, 3.111, 4.098, 5.275",\
                 "0.4208, 0.466, 0.6012, 0.8318, 1.181, 1.669, 2.311, 3.119, 4.106, 5.281",\
                 "0.4463, 0.4915, 0.6266, 0.8569, 1.206, 1.693, 2.336, 3.144, 4.132, 5.309",\
                 "0.4979, 0.5437, 0.6791, 0.9087, 1.257, 1.745, 2.386, 3.196, 4.183, 5.36",\
                 "0.5553, 0.6021, 0.7405, 0.9717, 1.32, 1.807, 2.449, 3.256, 4.243, 5.419",\
                 "0.6105, 0.659, 0.8008, 1.033, 1.381, 1.867, 2.508, 3.317, 4.303, 5.479",\
                 "0.6551, 0.7059, 0.8529, 1.091, 1.438, 1.923, 2.563, 3.371, 4.358, 5.534",\
                 "0.6849, 0.7386, 0.8917, 1.136, 1.489, 1.974, 2.613, 3.42, 4.405, 5.581",\
                 "0.6956, 0.7524, 0.9119, 1.165, 1.525, 2.017, 2.656, 3.462, 4.447, 5.621",\
                 "0.6861, 0.7463, 0.9118, 1.173, 1.542, 2.043, 2.69, 3.497, 4.481, 5.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1092, 0.1425, 0.2424, 0.4268, 0.7301, 1.175, 1.766, 2.512, 3.426, 4.515",\
                 "0.109, 0.1426, 0.2416, 0.4268, 0.73, 1.175, 1.766, 2.512, 3.425, 4.516",\
                 "0.1094, 0.143, 0.2427, 0.4262, 0.7307, 1.175, 1.766, 2.511, 3.427, 4.513",\
                 "0.1219, 0.1536, 0.249, 0.4294, 0.7322, 1.176, 1.766, 2.513, 3.427, 4.514",\
                 "0.1442, 0.1764, 0.2714, 0.4442, 0.7382, 1.177, 1.767, 2.512, 3.427, 4.516",\
                 "0.1706, 0.2054, 0.2994, 0.4646, 0.7494, 1.182, 1.769, 2.515, 3.425, 4.517",\
                 "0.199, 0.237, 0.3346, 0.4952, 0.7694, 1.192, 1.772, 2.516, 3.425, 4.512",\
                 "0.2294, 0.2718, 0.3724, 0.5334, 0.8, 1.213, 1.783, 2.521, 3.428, 4.513",\
                 "0.261, 0.3076, 0.4158, 0.5752, 0.8364, 1.245, 1.813, 2.538, 3.436, 4.516",\
                 "0.2924, 0.343, 0.4602, 0.6222, 0.8774, 1.282, 1.851, 2.574, 3.461, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1519, 0.2113, 0.4015, 0.7728, 1.377, 2.233, 3.365, 4.789, 6.532, 8.602",\
                 "0.1517, 0.2111, 0.4013, 0.7728, 1.378, 2.235, 3.363, 4.789, 6.533, 8.604",\
                 "0.1513, 0.2108, 0.4013, 0.7733, 1.376, 2.238, 3.365, 4.791, 6.529, 8.609",\
                 "0.1557, 0.2141, 0.4036, 0.7746, 1.376, 2.233, 3.364, 4.789, 6.532, 8.603",\
                 "0.1658, 0.2244, 0.4144, 0.7784, 1.377, 2.234, 3.366, 4.79, 6.531, 8.607",\
                 "0.1782, 0.2366, 0.4266, 0.7852, 1.38, 2.235, 3.364, 4.791, 6.536, 8.611",\
                 "0.195, 0.254, 0.4462, 0.7994, 1.386, 2.238, 3.366, 4.787, 6.531, 8.602",\
                 "0.2152, 0.2748, 0.4692, 0.8244, 1.403, 2.243, 3.367, 4.791, 6.529, 8.605",\
                 "0.237, 0.297, 0.4936, 0.8542, 1.432, 2.265, 3.377, 4.793, 6.528, 8.599",\
                 "0.2578, 0.3192, 0.5204, 0.8854, 1.468, 2.304, 3.404, 4.802, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2823, 0.3155, 0.406, 0.5446, 0.7414, 1.012, 1.369, 1.814, 2.357, 3.004",\
                 "0.2996, 0.3328, 0.4233, 0.5619, 0.7587, 1.03, 1.386, 1.831, 2.374, 3.021",\
                 "0.3661, 0.3992, 0.4896, 0.6282, 0.8252, 1.096, 1.452, 1.898, 2.441, 3.088",\
                 "0.486, 0.5205, 0.6128, 0.7523, 0.9493, 1.22, 1.576, 2.021, 2.564, 3.211",\
                 "0.6261, 0.6643, 0.7637, 0.9087, 1.108, 1.379, 1.734, 2.179, 2.721, 3.368",\
                 "0.7838, 0.8262, 0.934, 1.086, 1.288, 1.56, 1.914, 2.359, 2.901, 3.548",\
                 "0.9583, 1.005, 1.123, 1.285, 1.492, 1.764, 2.119, 2.563, 3.105, 3.752",\
                 "1.15, 1.201, 1.33, 1.503, 1.719, 1.994, 2.348, 2.792, 3.334, 3.98",\
                 "1.36, 1.416, 1.556, 1.742, 1.966, 2.248, 2.604, 3.047, 3.588, 4.234",\
                 "1.589, 1.649, 1.8, 2, 2.235, 2.525, 2.885, 3.329, 3.869, 4.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1097, 0.1432, 0.2439, 0.4294, 0.7338, 1.182, 1.773, 2.513, 3.422, 4.509",\
                 "0.1097, 0.143, 0.2439, 0.4295, 0.7339, 1.182, 1.773, 2.513, 3.423, 4.511",\
                 "0.1099, 0.1436, 0.244, 0.4295, 0.734, 1.182, 1.772, 2.513, 3.423, 4.511",\
                 "0.1223, 0.1543, 0.2513, 0.4328, 0.7358, 1.182, 1.772, 2.512, 3.421, 4.508",\
                 "0.1448, 0.1776, 0.2738, 0.4478, 0.7424, 1.184, 1.771, 2.512, 3.422, 4.511",\
                 "0.172, 0.2066, 0.3018, 0.4686, 0.7532, 1.189, 1.773, 2.512, 3.423, 4.51",\
                 "0.2012, 0.2392, 0.3364, 0.499, 0.77, 1.194, 1.774, 2.513, 3.424, 4.506",\
                 "0.232, 0.2748, 0.3762, 0.5368, 0.7982, 1.208, 1.779, 2.515, 3.421, 4.509",\
                 "0.2638, 0.3104, 0.4198, 0.5804, 0.8348, 1.232, 1.789, 2.518, 3.422, 4.507",\
                 "0.2952, 0.3462, 0.466, 0.6292, 0.8766, 1.266, 1.809, 2.524, 3.424, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2823, 0.3156, 0.406, 0.5446, 0.7415, 1.012, 1.369, 1.814, 2.357, 3.004",\
                 "0.2996, 0.3328, 0.4232, 0.5619, 0.7587, 1.03, 1.386, 1.831, 2.374, 3.021",\
                 "0.3661, 0.3992, 0.4895, 0.6283, 0.8252, 1.096, 1.452, 1.898, 2.441, 3.088",\
                 "0.4858, 0.5205, 0.6128, 0.7523, 0.9493, 1.221, 1.576, 2.021, 2.564, 3.211",\
                 "0.6262, 0.6644, 0.7637, 0.9087, 1.108, 1.379, 1.734, 2.178, 2.721, 3.368",\
                 "0.7838, 0.8264, 0.9341, 1.086, 1.288, 1.56, 1.914, 2.359, 2.901, 3.548",\
                 "0.9583, 1.005, 1.123, 1.285, 1.492, 1.764, 2.119, 2.563, 3.105, 3.752",\
                 "1.15, 1.202, 1.33, 1.503, 1.719, 1.994, 2.348, 2.792, 3.334, 3.98",\
                 "1.36, 1.415, 1.556, 1.742, 1.966, 2.248, 2.604, 3.047, 3.588, 4.234",\
                 "1.589, 1.649, 1.8, 2, 2.235, 2.525, 2.885, 3.328, 3.869, 4.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1097, 0.143, 0.2436, 0.4295, 0.7338, 1.182, 1.773, 2.513, 3.422, 4.509",\
                 "0.1097, 0.1431, 0.2439, 0.4294, 0.734, 1.183, 1.772, 2.513, 3.423, 4.509",\
                 "0.1101, 0.1433, 0.2442, 0.4293, 0.734, 1.182, 1.772, 2.513, 3.423, 4.511",\
                 "0.1223, 0.1543, 0.2515, 0.4326, 0.7358, 1.182, 1.772, 2.512, 3.421, 4.507",\
                 "0.1448, 0.1774, 0.2738, 0.4478, 0.7422, 1.184, 1.771, 2.512, 3.422, 4.511",\
                 "0.172, 0.2066, 0.3012, 0.4688, 0.7532, 1.189, 1.773, 2.512, 3.421, 4.51",\
                 "0.2008, 0.239, 0.336, 0.4988, 0.7702, 1.194, 1.775, 2.513, 3.423, 4.507",\
                 "0.2322, 0.274, 0.3766, 0.5368, 0.7986, 1.208, 1.779, 2.515, 3.421, 4.509",\
                 "0.2634, 0.3106, 0.42, 0.5802, 0.8346, 1.232, 1.789, 2.518, 3.424, 4.506",\
                 "0.2958, 0.3464, 0.4658, 0.6292, 0.8762, 1.266, 1.809, 2.524, 3.424, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2822, 0.3153, 0.4052, 0.5425, 0.7381, 1.007, 1.361, 1.805, 2.348, 2.996",\
                 "0.2994, 0.3325, 0.4224, 0.5597, 0.7554, 1.025, 1.378, 1.823, 2.366, 3.013",\
                 "0.366, 0.3989, 0.4887, 0.626, 0.8218, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.52, 0.6117, 0.75, 0.9457, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6251, 0.663, 0.762, 0.9055, 1.103, 1.372, 1.725, 2.17, 2.712, 3.36",\
                 "0.7819, 0.8243, 0.9316, 1.082, 1.283, 1.552, 1.906, 2.35, 2.892, 3.54",\
                 "0.9552, 1.002, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.744",\
                 "1.145, 1.196, 1.325, 1.496, 1.711, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.591, 4.238",\
                 "1.581, 1.641, 1.791, 1.988, 2.223, 2.514, 2.882, 3.337, 3.885, 4.532");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4117, 0.4569, 0.5921, 0.8227, 1.172, 1.66, 2.301, 3.111, 4.098, 5.275",\
                 "0.4208, 0.466, 0.6012, 0.8318, 1.181, 1.669, 2.311, 3.119, 4.106, 5.281",\
                 "0.4464, 0.4914, 0.6266, 0.857, 1.206, 1.693, 2.336, 3.144, 4.132, 5.307",\
                 "0.4979, 0.5437, 0.6791, 0.9087, 1.257, 1.745, 2.386, 3.196, 4.183, 5.36",\
                 "0.555, 0.6021, 0.7405, 0.9718, 1.32, 1.807, 2.449, 3.256, 4.243, 5.419",\
                 "0.6105, 0.6591, 0.8006, 1.034, 1.381, 1.867, 2.508, 3.316, 4.301, 5.478",\
                 "0.6551, 0.7059, 0.8528, 1.091, 1.438, 1.923, 2.563, 3.371, 4.358, 5.534",\
                 "0.6849, 0.7387, 0.8918, 1.136, 1.489, 1.974, 2.613, 3.42, 4.405, 5.581",\
                 "0.6956, 0.7524, 0.9123, 1.165, 1.525, 2.016, 2.656, 3.462, 4.447, 5.621",\
                 "0.6861, 0.7463, 0.9118, 1.173, 1.542, 2.043, 2.69, 3.497, 4.481, 5.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1092, 0.1425, 0.2424, 0.4268, 0.7301, 1.175, 1.766, 2.512, 3.426, 4.515",\
                 "0.109, 0.1426, 0.2416, 0.4268, 0.73, 1.175, 1.766, 2.512, 3.425, 4.516",\
                 "0.1094, 0.143, 0.2427, 0.4262, 0.7307, 1.175, 1.766, 2.511, 3.427, 4.513",\
                 "0.1215, 0.1536, 0.249, 0.4294, 0.7322, 1.176, 1.766, 2.513, 3.427, 4.514",\
                 "0.1442, 0.1764, 0.2714, 0.444, 0.7382, 1.177, 1.767, 2.512, 3.427, 4.516",\
                 "0.1706, 0.2054, 0.2994, 0.4646, 0.75, 1.182, 1.769, 2.512, 3.425, 4.517",\
                 "0.1992, 0.2372, 0.3336, 0.4954, 0.7686, 1.192, 1.772, 2.516, 3.425, 4.516",\
                 "0.2296, 0.2724, 0.3724, 0.533, 0.799, 1.213, 1.784, 2.521, 3.428, 4.513",\
                 "0.261, 0.3076, 0.4158, 0.5754, 0.8352, 1.245, 1.812, 2.538, 3.436, 4.516",\
                 "0.2928, 0.343, 0.4594, 0.6224, 0.877, 1.282, 1.851, 2.574, 3.462, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1519, 0.2109, 0.4015, 0.773, 1.377, 2.233, 3.365, 4.79, 6.532, 8.601",\
                 "0.1517, 0.2111, 0.4013, 0.7728, 1.378, 2.235, 3.363, 4.789, 6.533, 8.604",\
                 "0.1513, 0.2101, 0.4015, 0.7731, 1.375, 2.234, 3.365, 4.792, 6.532, 8.607",\
                 "0.1557, 0.2141, 0.4036, 0.7746, 1.376, 2.233, 3.364, 4.789, 6.532, 8.603",\
                 "0.1654, 0.2242, 0.4138, 0.7786, 1.377, 2.234, 3.366, 4.79, 6.531, 8.607",\
                 "0.1782, 0.2362, 0.4268, 0.7868, 1.38, 2.239, 3.37, 4.79, 6.531, 8.6",\
                 "0.195, 0.254, 0.4466, 0.8004, 1.385, 2.238, 3.367, 4.791, 6.529, 8.606",\
                 "0.2152, 0.2744, 0.4694, 0.8244, 1.401, 2.243, 3.368, 4.79, 6.529, 8.605",\
                 "0.237, 0.2968, 0.4936, 0.8538, 1.433, 2.267, 3.374, 4.793, 6.528, 8.613",\
                 "0.2578, 0.3192, 0.5204, 0.8854, 1.469, 2.304, 3.402, 4.803, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2822, 0.3153, 0.4052, 0.5425, 0.7381, 1.007, 1.361, 1.805, 2.348, 2.996",\
                 "0.2994, 0.3325, 0.4224, 0.5597, 0.7554, 1.025, 1.378, 1.823, 2.366, 3.013",\
                 "0.366, 0.3989, 0.4887, 0.626, 0.8218, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4855, 0.52, 0.6117, 0.75, 0.9457, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6251, 0.663, 0.762, 0.9055, 1.103, 1.372, 1.725, 2.17, 2.712, 3.36",\
                 "0.782, 0.8243, 0.9316, 1.082, 1.283, 1.552, 1.906, 2.35, 2.892, 3.54",\
                 "0.9552, 1.002, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.743",\
                 "1.145, 1.196, 1.325, 1.496, 1.711, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.591, 4.238",\
                 "1.582, 1.641, 1.791, 1.988, 2.223, 2.515, 2.882, 3.337, 3.885, 4.532");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4117, 0.4569, 0.5921, 0.8227, 1.172, 1.66, 2.301, 3.111, 4.098, 5.275",\
                 "0.4208, 0.466, 0.6012, 0.8318, 1.181, 1.669, 2.311, 3.119, 4.106, 5.281",\
                 "0.4464, 0.4914, 0.6266, 0.8569, 1.206, 1.693, 2.336, 3.145, 4.132, 5.307",\
                 "0.4979, 0.5437, 0.6791, 0.9087, 1.257, 1.745, 2.386, 3.196, 4.183, 5.36",\
                 "0.555, 0.6021, 0.7405, 0.9717, 1.32, 1.807, 2.449, 3.256, 4.243, 5.419",\
                 "0.6105, 0.6591, 0.8006, 1.034, 1.381, 1.867, 2.508, 3.316, 4.301, 5.478",\
                 "0.6551, 0.7059, 0.8529, 1.091, 1.438, 1.923, 2.563, 3.371, 4.358, 5.534",\
                 "0.6849, 0.7387, 0.8918, 1.136, 1.489, 1.974, 2.613, 3.42, 4.405, 5.581",\
                 "0.6956, 0.7524, 0.9115, 1.165, 1.525, 2.016, 2.656, 3.462, 4.447, 5.621",\
                 "0.6861, 0.7463, 0.9118, 1.173, 1.542, 2.043, 2.69, 3.497, 4.481, 5.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1092, 0.1425, 0.2424, 0.4268, 0.7301, 1.175, 1.766, 2.512, 3.426, 4.515",\
                 "0.109, 0.1426, 0.2416, 0.4268, 0.73, 1.175, 1.766, 2.512, 3.425, 4.516",\
                 "0.1094, 0.143, 0.2427, 0.4262, 0.7307, 1.175, 1.766, 2.511, 3.427, 4.513",\
                 "0.1214, 0.1536, 0.2492, 0.4296, 0.7322, 1.176, 1.766, 2.513, 3.427, 4.514",\
                 "0.1444, 0.1764, 0.2714, 0.444, 0.7382, 1.177, 1.767, 2.512, 3.427, 4.516",\
                 "0.1706, 0.2054, 0.2994, 0.4646, 0.75, 1.182, 1.769, 2.515, 3.425, 4.517",\
                 "0.1992, 0.2372, 0.3336, 0.4954, 0.7692, 1.192, 1.772, 2.516, 3.425, 4.515",\
                 "0.2296, 0.2718, 0.3724, 0.533, 0.799, 1.212, 1.785, 2.521, 3.428, 4.513",\
                 "0.261, 0.3076, 0.4158, 0.5754, 0.8352, 1.246, 1.812, 2.538, 3.436, 4.516",\
                 "0.2924, 0.3426, 0.4594, 0.6224, 0.8774, 1.283, 1.851, 2.574, 3.462, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1519, 0.2109, 0.4015, 0.773, 1.377, 2.233, 3.365, 4.79, 6.532, 8.602",\
                 "0.1517, 0.2111, 0.4013, 0.7728, 1.378, 2.235, 3.363, 4.789, 6.533, 8.604",\
                 "0.1512, 0.2103, 0.4015, 0.7733, 1.376, 2.233, 3.365, 4.791, 6.532, 8.607",\
                 "0.1557, 0.2141, 0.4036, 0.7746, 1.376, 2.233, 3.364, 4.789, 6.532, 8.603",\
                 "0.1654, 0.2242, 0.4144, 0.7784, 1.377, 2.234, 3.366, 4.79, 6.531, 8.607",\
                 "0.1782, 0.2362, 0.4268, 0.7868, 1.38, 2.238, 3.37, 4.79, 6.531, 8.6",\
                 "0.195, 0.254, 0.4462, 0.7994, 1.386, 2.238, 3.366, 4.788, 6.531, 8.602",\
                 "0.2152, 0.2744, 0.4694, 0.8244, 1.401, 2.243, 3.368, 4.79, 6.529, 8.605",\
                 "0.237, 0.297, 0.4942, 0.855, 1.433, 2.267, 3.374, 4.793, 6.528, 8.599",\
                 "0.2578, 0.3192, 0.5204, 0.8854, 1.468, 2.304, 3.402, 4.803, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2823, 0.3156, 0.406, 0.5446, 0.7415, 1.012, 1.369, 1.814, 2.357, 3.004",\
                 "0.2996, 0.3328, 0.4232, 0.5619, 0.7587, 1.03, 1.386, 1.831, 2.374, 3.021",\
                 "0.3661, 0.3992, 0.4895, 0.6283, 0.8252, 1.096, 1.452, 1.898, 2.441, 3.088",\
                 "0.4858, 0.5205, 0.6129, 0.7523, 0.9493, 1.221, 1.576, 2.021, 2.564, 3.211",\
                 "0.6262, 0.6643, 0.7637, 0.9086, 1.108, 1.379, 1.734, 2.178, 2.721, 3.368",\
                 "0.7838, 0.8263, 0.9341, 1.086, 1.288, 1.56, 1.914, 2.359, 2.901, 3.548",\
                 "0.9584, 1.005, 1.123, 1.285, 1.492, 1.764, 2.119, 2.563, 3.105, 3.752",\
                 "1.15, 1.201, 1.33, 1.503, 1.718, 1.994, 2.348, 2.792, 3.334, 3.98",\
                 "1.36, 1.416, 1.556, 1.741, 1.966, 2.248, 2.604, 3.047, 3.588, 4.234",\
                 "1.589, 1.649, 1.8, 2, 2.235, 2.525, 2.885, 3.329, 3.869, 4.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1097, 0.143, 0.2436, 0.4295, 0.7338, 1.182, 1.773, 2.513, 3.421, 4.509",\
                 "0.1097, 0.1431, 0.2439, 0.4294, 0.734, 1.183, 1.772, 2.513, 3.423, 4.509",\
                 "0.1101, 0.1433, 0.2442, 0.4293, 0.7342, 1.182, 1.772, 2.513, 3.423, 4.511",\
                 "0.1223, 0.1543, 0.2512, 0.4326, 0.736, 1.183, 1.772, 2.512, 3.421, 4.51",\
                 "0.1448, 0.1774, 0.2738, 0.4478, 0.7428, 1.184, 1.77, 2.512, 3.42, 4.51",\
                 "0.172, 0.2068, 0.3012, 0.4688, 0.7532, 1.189, 1.773, 2.511, 3.423, 4.51",\
                 "0.2008, 0.239, 0.3362, 0.4988, 0.77, 1.194, 1.774, 2.513, 3.421, 4.509",\
                 "0.2318, 0.274, 0.3758, 0.5368, 0.7986, 1.208, 1.779, 2.516, 3.421, 4.509",\
                 "0.2634, 0.3098, 0.4196, 0.5806, 0.8344, 1.232, 1.789, 2.518, 3.424, 4.506",\
                 "0.295, 0.3464, 0.4662, 0.6288, 0.8764, 1.266, 1.809, 2.524, 3.424, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2823, 0.3156, 0.406, 0.5446, 0.7415, 1.012, 1.369, 1.814, 2.357, 3.004",\
                 "0.2996, 0.3328, 0.4232, 0.5619, 0.7587, 1.03, 1.386, 1.831, 2.374, 3.021",\
                 "0.3661, 0.3992, 0.4895, 0.6283, 0.8252, 1.096, 1.452, 1.898, 2.441, 3.088",\
                 "0.486, 0.5204, 0.6128, 0.7523, 0.9493, 1.221, 1.576, 2.021, 2.564, 3.211",\
                 "0.6262, 0.6644, 0.7637, 0.9086, 1.108, 1.379, 1.734, 2.178, 2.721, 3.368",\
                 "0.7838, 0.8263, 0.9339, 1.086, 1.288, 1.56, 1.914, 2.359, 2.901, 3.548",\
                 "0.9584, 1.005, 1.123, 1.285, 1.492, 1.764, 2.119, 2.563, 3.105, 3.752",\
                 "1.15, 1.201, 1.33, 1.503, 1.718, 1.994, 2.348, 2.792, 3.334, 3.98",\
                 "1.36, 1.416, 1.556, 1.741, 1.966, 2.248, 2.604, 3.047, 3.588, 4.234",\
                 "1.589, 1.649, 1.8, 2, 2.235, 2.525, 2.885, 3.329, 3.869, 4.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1097, 0.143, 0.2437, 0.4295, 0.7338, 1.182, 1.773, 2.513, 3.421, 4.509",\
                 "0.1097, 0.1431, 0.2439, 0.4294, 0.734, 1.183, 1.772, 2.513, 3.423, 4.509",\
                 "0.1101, 0.1433, 0.2442, 0.4293, 0.7342, 1.182, 1.772, 2.513, 3.423, 4.511",\
                 "0.1223, 0.1542, 0.2515, 0.4326, 0.7358, 1.182, 1.772, 2.512, 3.421, 4.507",\
                 "0.1448, 0.1774, 0.2738, 0.4478, 0.742, 1.184, 1.77, 2.512, 3.422, 4.51",\
                 "0.172, 0.2068, 0.3014, 0.4686, 0.7532, 1.188, 1.773, 2.512, 3.422, 4.509",\
                 "0.2008, 0.239, 0.3364, 0.499, 0.77, 1.194, 1.774, 2.513, 3.421, 4.509",\
                 "0.2318, 0.2744, 0.376, 0.5368, 0.7986, 1.208, 1.779, 2.515, 3.421, 4.509",\
                 "0.2634, 0.3098, 0.4198, 0.5806, 0.8344, 1.232, 1.789, 2.517, 3.423, 4.506",\
                 "0.2948, 0.3464, 0.4662, 0.6288, 0.8764, 1.266, 1.809, 2.525, 3.423, 4.506");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2822, 0.3153, 0.4052, 0.5425, 0.7381, 1.007, 1.361, 1.805, 2.348, 2.996",\
                 "0.2994, 0.3325, 0.4224, 0.5597, 0.7554, 1.025, 1.378, 1.823, 2.366, 3.013",\
                 "0.366, 0.3989, 0.4887, 0.626, 0.8218, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.52, 0.6117, 0.75, 0.9457, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6251, 0.663, 0.762, 0.9055, 1.103, 1.372, 1.725, 2.17, 2.712, 3.36",\
                 "0.7819, 0.8241, 0.9314, 1.082, 1.283, 1.552, 1.905, 2.349, 2.892, 3.539",\
                 "0.9549, 1.002, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.743",\
                 "1.145, 1.196, 1.325, 1.496, 1.711, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.591, 4.238",\
                 "1.582, 1.641, 1.791, 1.988, 2.223, 2.515, 2.882, 3.337, 3.885, 4.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4117, 0.4566, 0.5921, 0.8227, 1.172, 1.66, 2.301, 3.111, 4.098, 5.275",\
                 "0.4208, 0.466, 0.6012, 0.8318, 1.181, 1.669, 2.311, 3.119, 4.106, 5.281",\
                 "0.4463, 0.4914, 0.6266, 0.8569, 1.206, 1.693, 2.336, 3.145, 4.132, 5.308",\
                 "0.4979, 0.5437, 0.6791, 0.9087, 1.257, 1.745, 2.386, 3.196, 4.183, 5.36",\
                 "0.5553, 0.6021, 0.7405, 0.9718, 1.32, 1.807, 2.449, 3.256, 4.243, 5.419",\
                 "0.6105, 0.6589, 0.8007, 1.033, 1.381, 1.867, 2.508, 3.316, 4.302, 5.478",\
                 "0.6551, 0.7059, 0.8529, 1.09, 1.438, 1.923, 2.563, 3.371, 4.358, 5.535",\
                 "0.6849, 0.7387, 0.8918, 1.136, 1.489, 1.974, 2.613, 3.42, 4.405, 5.581",\
                 "0.6956, 0.7524, 0.9121, 1.165, 1.525, 2.016, 2.656, 3.462, 4.447, 5.621",\
                 "0.6861, 0.7463, 0.912, 1.173, 1.542, 2.043, 2.69, 3.497, 4.481, 5.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1092, 0.1425, 0.2424, 0.4268, 0.7301, 1.175, 1.766, 2.512, 3.426, 4.515",\
                 "0.109, 0.1426, 0.2416, 0.4268, 0.73, 1.175, 1.766, 2.512, 3.425, 4.516",\
                 "0.1094, 0.143, 0.2427, 0.4262, 0.7307, 1.175, 1.766, 2.511, 3.427, 4.513",\
                 "0.1215, 0.1536, 0.249, 0.4294, 0.7322, 1.176, 1.766, 2.513, 3.427, 4.514",\
                 "0.1442, 0.1764, 0.2714, 0.4442, 0.7382, 1.177, 1.767, 2.512, 3.427, 4.516",\
                 "0.1706, 0.2052, 0.299, 0.4648, 0.7496, 1.182, 1.769, 2.513, 3.427, 4.516",\
                 "0.1992, 0.2372, 0.3346, 0.496, 0.7692, 1.192, 1.772, 2.516, 3.425, 4.515",\
                 "0.2296, 0.2718, 0.3724, 0.533, 0.7994, 1.213, 1.784, 2.521, 3.428, 4.514",\
                 "0.261, 0.3076, 0.4158, 0.5752, 0.836, 1.245, 1.811, 2.537, 3.435, 4.516",\
                 "0.2924, 0.3426, 0.4602, 0.6224, 0.8772, 1.282, 1.851, 2.574, 3.461, 4.53");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1519, 0.2113, 0.4015, 0.773, 1.377, 2.233, 3.365, 4.789, 6.532, 8.602",\
                 "0.1517, 0.2111, 0.4013, 0.7728, 1.378, 2.235, 3.363, 4.789, 6.533, 8.604",\
                 "0.1513, 0.2104, 0.4014, 0.7733, 1.376, 2.233, 3.365, 4.791, 6.529, 8.609",\
                 "0.1557, 0.2141, 0.4036, 0.7746, 1.376, 2.233, 3.364, 4.789, 6.532, 8.603",\
                 "0.1658, 0.2244, 0.4138, 0.7786, 1.377, 2.233, 3.366, 4.79, 6.531, 8.607",\
                 "0.1782, 0.237, 0.4266, 0.7852, 1.38, 2.237, 3.367, 4.788, 6.532, 8.6",\
                 "0.195, 0.254, 0.4462, 0.8002, 1.385, 2.237, 3.368, 4.789, 6.529, 8.604",\
                 "0.2142, 0.2744, 0.4694, 0.8244, 1.401, 2.243, 3.368, 4.791, 6.529, 8.605",\
                 "0.237, 0.2968, 0.4934, 0.8534, 1.432, 2.262, 3.378, 4.791, 6.53, 8.615",\
                 "0.2578, 0.3192, 0.52, 0.8856, 1.47, 2.304, 3.404, 4.802, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2822, 0.3153, 0.4052, 0.5425, 0.7381, 1.007, 1.361, 1.805, 2.348, 2.996",\
                 "0.2994, 0.3325, 0.4224, 0.5597, 0.7554, 1.025, 1.378, 1.823, 2.366, 3.013",\
                 "0.366, 0.3989, 0.4887, 0.626, 0.8218, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4855, 0.52, 0.6117, 0.7499, 0.9457, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6251, 0.663, 0.762, 0.9055, 1.103, 1.372, 1.725, 2.17, 2.712, 3.36",\
                 "0.7818, 0.8243, 0.9316, 1.082, 1.283, 1.552, 1.906, 2.35, 2.892, 3.54",\
                 "0.9549, 1.002, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.743",\
                 "1.145, 1.196, 1.325, 1.496, 1.711, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.6, 3.048, 3.591, 4.238",\
                 "1.582, 1.641, 1.791, 1.988, 2.223, 2.515, 2.882, 3.337, 3.885, 4.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4117, 0.4566, 0.5921, 0.8227, 1.172, 1.66, 2.301, 3.111, 4.098, 5.275",\
                 "0.4208, 0.466, 0.6012, 0.8318, 1.181, 1.669, 2.311, 3.119, 4.106, 5.281",\
                 "0.4463, 0.4915, 0.6266, 0.8569, 1.206, 1.693, 2.336, 3.144, 4.132, 5.309",\
                 "0.4979, 0.5437, 0.6791, 0.9087, 1.257, 1.745, 2.386, 3.196, 4.183, 5.36",\
                 "0.555, 0.6021, 0.7404, 0.9717, 1.32, 1.807, 2.449, 3.256, 4.243, 5.419",\
                 "0.6105, 0.659, 0.8008, 1.033, 1.381, 1.867, 2.508, 3.317, 4.303, 5.479",\
                 "0.6551, 0.7059, 0.8529, 1.091, 1.438, 1.923, 2.563, 3.371, 4.358, 5.534",\
                 "0.6849, 0.7387, 0.8918, 1.136, 1.489, 1.974, 2.613, 3.42, 4.405, 5.581",\
                 "0.6956, 0.7524, 0.9123, 1.165, 1.525, 2.017, 2.656, 3.462, 4.447, 5.621",\
                 "0.6861, 0.7463, 0.9118, 1.173, 1.542, 2.043, 2.69, 3.497, 4.481, 5.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1092, 0.1425, 0.2424, 0.4268, 0.7301, 1.175, 1.766, 2.512, 3.426, 4.515",\
                 "0.109, 0.1426, 0.2416, 0.4268, 0.73, 1.175, 1.766, 2.512, 3.425, 4.516",\
                 "0.1094, 0.143, 0.2427, 0.4262, 0.7307, 1.175, 1.766, 2.511, 3.427, 4.513",\
                 "0.1215, 0.1536, 0.2492, 0.4294, 0.7322, 1.176, 1.766, 2.513, 3.427, 4.514",\
                 "0.1444, 0.1764, 0.2714, 0.444, 0.7382, 1.177, 1.767, 2.512, 3.427, 4.516",\
                 "0.1706, 0.2054, 0.2994, 0.4646, 0.75, 1.182, 1.769, 2.512, 3.426, 4.511",\
                 "0.1992, 0.237, 0.3346, 0.496, 0.7694, 1.191, 1.772, 2.516, 3.425, 4.515",\
                 "0.23, 0.2718, 0.3724, 0.533, 0.7994, 1.212, 1.784, 2.52, 3.428, 4.514",\
                 "0.261, 0.3076, 0.4158, 0.5752, 0.8352, 1.246, 1.813, 2.538, 3.436, 4.516",\
                 "0.2924, 0.343, 0.4594, 0.6224, 0.877, 1.282, 1.851, 2.573, 3.461, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1519, 0.2113, 0.4015, 0.7728, 1.377, 2.233, 3.365, 4.789, 6.532, 8.602",\
                 "0.1517, 0.2111, 0.4013, 0.7728, 1.378, 2.235, 3.363, 4.789, 6.533, 8.604",\
                 "0.1513, 0.2108, 0.4014, 0.7733, 1.376, 2.238, 3.365, 4.791, 6.529, 8.609",\
                 "0.1557, 0.2141, 0.4036, 0.7746, 1.376, 2.233, 3.364, 4.789, 6.532, 8.603",\
                 "0.1654, 0.2242, 0.414, 0.7784, 1.377, 2.234, 3.366, 4.79, 6.531, 8.607",\
                 "0.1782, 0.2366, 0.4266, 0.7852, 1.38, 2.237, 3.364, 4.791, 6.536, 8.611",\
                 "0.195, 0.254, 0.4462, 0.7994, 1.386, 2.238, 3.368, 4.791, 6.53, 8.608",\
                 "0.2152, 0.2744, 0.4694, 0.8244, 1.401, 2.243, 3.368, 4.791, 6.529, 8.605",\
                 "0.237, 0.2968, 0.494, 0.8548, 1.432, 2.265, 3.378, 4.791, 6.528, 8.601",\
                 "0.2578, 0.3192, 0.5204, 0.8854, 1.468, 2.304, 3.402, 4.802, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2823, 0.3155, 0.406, 0.5446, 0.7414, 1.012, 1.369, 1.814, 2.357, 3.004",\
                 "0.2996, 0.3328, 0.4233, 0.5619, 0.7587, 1.03, 1.386, 1.831, 2.374, 3.021",\
                 "0.3661, 0.3992, 0.4896, 0.6282, 0.8252, 1.096, 1.452, 1.898, 2.441, 3.088",\
                 "0.4859, 0.5204, 0.6128, 0.7523, 0.9493, 1.22, 1.576, 2.021, 2.564, 3.211",\
                 "0.6261, 0.6643, 0.7637, 0.9087, 1.108, 1.379, 1.734, 2.179, 2.721, 3.368",\
                 "0.7838, 0.8262, 0.934, 1.086, 1.288, 1.56, 1.914, 2.359, 2.901, 3.548",\
                 "0.9582, 1.005, 1.123, 1.285, 1.492, 1.764, 2.119, 2.563, 3.105, 3.752",\
                 "1.15, 1.201, 1.33, 1.503, 1.719, 1.994, 2.348, 2.792, 3.334, 3.98",\
                 "1.36, 1.416, 1.556, 1.742, 1.966, 2.248, 2.604, 3.047, 3.588, 4.234",\
                 "1.589, 1.649, 1.8, 1.999, 2.235, 2.525, 2.885, 3.329, 3.869, 4.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1097, 0.1432, 0.2439, 0.4294, 0.7338, 1.182, 1.773, 2.513, 3.422, 4.509",\
                 "0.1097, 0.143, 0.2439, 0.4295, 0.7339, 1.182, 1.773, 2.513, 3.423, 4.511",\
                 "0.1099, 0.1436, 0.244, 0.4295, 0.734, 1.182, 1.772, 2.513, 3.423, 4.511",\
                 "0.1226, 0.1545, 0.2514, 0.4326, 0.7358, 1.182, 1.771, 2.513, 3.42, 4.506",\
                 "0.1448, 0.1776, 0.2738, 0.4478, 0.7424, 1.184, 1.771, 2.512, 3.422, 4.51",\
                 "0.172, 0.2066, 0.3018, 0.4686, 0.7532, 1.189, 1.773, 2.512, 3.423, 4.51",\
                 "0.201, 0.2388, 0.336, 0.499, 0.77, 1.195, 1.775, 2.513, 3.422, 4.506",\
                 "0.232, 0.2748, 0.3762, 0.5368, 0.7982, 1.207, 1.779, 2.516, 3.421, 4.509",\
                 "0.2638, 0.3104, 0.4198, 0.5806, 0.8344, 1.232, 1.789, 2.518, 3.423, 4.506",\
                 "0.2954, 0.346, 0.466, 0.6292, 0.8764, 1.266, 1.809, 2.524, 3.424, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2823, 0.3155, 0.406, 0.5446, 0.7415, 1.012, 1.369, 1.814, 2.357, 3.004",\
                 "0.2996, 0.3328, 0.4232, 0.5619, 0.7587, 1.03, 1.386, 1.831, 2.374, 3.021",\
                 "0.3661, 0.3992, 0.4895, 0.6283, 0.8252, 1.096, 1.452, 1.898, 2.441, 3.088",\
                 "0.4858, 0.5204, 0.6128, 0.7523, 0.9493, 1.221, 1.576, 2.021, 2.564, 3.211",\
                 "0.6262, 0.6644, 0.7636, 0.9087, 1.108, 1.379, 1.734, 2.178, 2.721, 3.368",\
                 "0.7838, 0.8264, 0.9341, 1.086, 1.288, 1.56, 1.914, 2.359, 2.901, 3.548",\
                 "0.9583, 1.005, 1.123, 1.285, 1.492, 1.764, 2.119, 2.563, 3.105, 3.752",\
                 "1.15, 1.202, 1.33, 1.503, 1.718, 1.994, 2.348, 2.792, 3.334, 3.98",\
                 "1.36, 1.416, 1.556, 1.741, 1.966, 2.248, 2.604, 3.047, 3.588, 4.234",\
                 "1.589, 1.649, 1.8, 2, 2.235, 2.525, 2.885, 3.328, 3.869, 4.514");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1098, 0.143, 0.2437, 0.4295, 0.734, 1.182, 1.773, 2.512, 3.421, 4.506",\
                 "0.1097, 0.1431, 0.2439, 0.4294, 0.734, 1.183, 1.772, 2.513, 3.423, 4.509",\
                 "0.1101, 0.1433, 0.2442, 0.4293, 0.734, 1.182, 1.772, 2.513, 3.423, 4.511",\
                 "0.1223, 0.1542, 0.2515, 0.4326, 0.7358, 1.182, 1.772, 2.512, 3.421, 4.507",\
                 "0.1448, 0.1774, 0.2742, 0.4478, 0.7426, 1.184, 1.77, 2.511, 3.423, 4.509",\
                 "0.172, 0.2066, 0.3012, 0.4686, 0.7532, 1.189, 1.773, 2.512, 3.423, 4.51",\
                 "0.201, 0.2388, 0.336, 0.4992, 0.7702, 1.194, 1.775, 2.514, 3.424, 4.511",\
                 "0.2318, 0.274, 0.376, 0.5368, 0.7984, 1.208, 1.779, 2.515, 3.422, 4.509",\
                 "0.2634, 0.3102, 0.4202, 0.5806, 0.8346, 1.232, 1.789, 2.517, 3.423, 4.506",\
                 "0.2952, 0.3464, 0.4662, 0.6288, 0.8766, 1.266, 1.809, 2.524, 3.423, 4.506");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.2822, 0.3153, 0.4052, 0.5425, 0.7381, 1.007, 1.361, 1.805, 2.348, 2.996",\
                 "0.2994, 0.3325, 0.4224, 0.5597, 0.7554, 1.025, 1.378, 1.823, 2.366, 3.013",\
                 "0.366, 0.3989, 0.4887, 0.626, 0.8218, 1.091, 1.444, 1.889, 2.432, 3.08",\
                 "0.4853, 0.52, 0.6117, 0.75, 0.9457, 1.215, 1.568, 2.013, 2.556, 3.203",\
                 "0.6251, 0.663, 0.762, 0.9055, 1.103, 1.372, 1.725, 2.17, 2.712, 3.36",\
                 "0.7819, 0.8241, 0.9314, 1.082, 1.283, 1.552, 1.905, 2.349, 2.892, 3.539",\
                 "0.9549, 1.002, 1.119, 1.279, 1.485, 1.757, 2.11, 2.554, 3.097, 3.743",\
                 "1.145, 1.196, 1.325, 1.496, 1.711, 1.987, 2.342, 2.787, 3.329, 3.976",\
                 "1.354, 1.409, 1.548, 1.732, 1.956, 2.24, 2.601, 3.048, 3.591, 4.238",\
                 "1.582, 1.641, 1.791, 1.988, 2.223, 2.515, 2.882, 3.337, 3.885, 4.533");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.4117, 0.4566, 0.5921, 0.8227, 1.172, 1.66, 2.301, 3.111, 4.098, 5.275",\
                 "0.4208, 0.466, 0.6012, 0.8318, 1.181, 1.669, 2.311, 3.119, 4.106, 5.281",\
                 "0.4463, 0.4915, 0.6266, 0.8569, 1.206, 1.693, 2.336, 3.144, 4.132, 5.309",\
                 "0.4979, 0.5437, 0.6791, 0.9087, 1.257, 1.745, 2.386, 3.196, 4.183, 5.36",\
                 "0.555, 0.6021, 0.7404, 0.9717, 1.32, 1.807, 2.449, 3.256, 4.243, 5.419",\
                 "0.6105, 0.659, 0.8008, 1.033, 1.381, 1.867, 2.508, 3.317, 4.303, 5.479",\
                 "0.6551, 0.7059, 0.8529, 1.091, 1.438, 1.923, 2.563, 3.371, 4.358, 5.534",\
                 "0.6849, 0.7387, 0.8918, 1.136, 1.489, 1.974, 2.613, 3.42, 4.405, 5.581",\
                 "0.6956, 0.7524, 0.9123, 1.165, 1.525, 2.017, 2.656, 3.462, 4.447, 5.621",\
                 "0.6861, 0.7463, 0.9118, 1.173, 1.542, 2.043, 2.69, 3.497, 4.481, 5.656");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1091, 0.1425, 0.2422, 0.4271, 0.7316, 1.174, 1.768, 2.516, 3.43, 4.519",\
                 "0.109, 0.1425, 0.2423, 0.4264, 0.7312, 1.175, 1.769, 2.515, 3.43, 4.515",\
                 "0.1092, 0.1432, 0.2425, 0.4273, 0.7313, 1.175, 1.769, 2.515, 3.43, 4.517",\
                 "0.1216, 0.1534, 0.2492, 0.43, 0.7326, 1.176, 1.768, 2.516, 3.43, 4.52",\
                 "0.144, 0.1766, 0.2712, 0.4442, 0.7376, 1.178, 1.769, 2.513, 3.428, 4.516",\
                 "0.1708, 0.2052, 0.299, 0.4652, 0.75, 1.181, 1.769, 2.516, 3.427, 4.52",\
                 "0.1994, 0.2368, 0.334, 0.496, 0.7688, 1.191, 1.773, 2.516, 3.427, 4.517",\
                 "0.2298, 0.272, 0.3728, 0.534, 0.801, 1.213, 1.784, 2.52, 3.427, 4.514",\
                 "0.2616, 0.308, 0.4158, 0.5758, 0.838, 1.246, 1.811, 2.538, 3.436, 4.515",\
                 "0.2938, 0.3444, 0.4606, 0.623, 0.8782, 1.284, 1.851, 2.574, 3.461, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1518, 0.211, 0.4015, 0.772, 1.376, 2.233, 3.365, 4.792, 6.534, 8.614",\
                 "0.1515, 0.21, 0.4013, 0.7723, 1.376, 2.234, 3.366, 4.793, 6.543, 8.617",\
                 "0.151, 0.2098, 0.4013, 0.7721, 1.376, 2.233, 3.364, 4.792, 6.532, 8.612",\
                 "0.1556, 0.2138, 0.4037, 0.773, 1.376, 2.234, 3.365, 4.789, 6.534, 8.609",\
                 "0.1652, 0.2242, 0.4152, 0.7784, 1.377, 2.233, 3.364, 4.791, 6.532, 8.61",\
                 "0.1788, 0.2376, 0.4268, 0.786, 1.38, 2.238, 3.371, 4.794, 6.535, 8.609",\
                 "0.1958, 0.2546, 0.446, 0.8012, 1.386, 2.238, 3.368, 4.791, 6.531, 8.608",\
                 "0.2148, 0.2746, 0.4694, 0.825, 1.401, 2.242, 3.369, 4.791, 6.529, 8.602",\
                 "0.2358, 0.2958, 0.4936, 0.8546, 1.432, 2.265, 3.376, 4.793, 6.529, 8.62",\
                 "0.2584, 0.3198, 0.5194, 0.8854, 1.468, 2.304, 3.401, 4.801, 6.533, 8.599");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.9421, 0.9879, 1.124, 1.354, 1.702, 2.19, 2.832, 3.64, 4.629, 5.808",\
                 "0.9598, 1.006, 1.142, 1.372, 1.72, 2.208, 2.85, 3.657, 4.647, 5.821",\
                 "1.026, 1.072, 1.208, 1.438, 1.786, 2.274, 2.916, 3.723, 4.713, 5.888",\
                 "1.157, 1.203, 1.339, 1.569, 1.918, 2.405, 3.047, 3.855, 4.844, 6.018",\
                 "1.344, 1.39, 1.526, 1.756, 2.104, 2.591, 3.233, 4.043, 5.031, 6.209",\
                 "1.565, 1.611, 1.747, 1.977, 2.325, 2.812, 3.453, 4.262, 5.251, 6.43",\
                 "1.817, 1.863, 2, 2.23, 2.578, 3.065, 3.706, 4.515, 5.504, 6.683",\
                 "2.101, 2.147, 2.284, 2.514, 2.861, 3.348, 3.989, 4.797, 5.785, 6.963",\
                 "2.411, 2.457, 2.595, 2.824, 3.172, 3.658, 4.299, 5.107, 6.092, 7.269",\
                 "2.75, 2.796, 2.933, 3.164, 3.51, 3.996, 4.637, 5.446, 6.431, 7.607");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1582, 0.2172, 0.4076, 0.7754, 1.378, 2.238, 3.366, 4.791, 6.533, 8.61",\
                 "0.1587, 0.2174, 0.4072, 0.7752, 1.378, 2.238, 3.366, 4.791, 6.533, 8.617",\
                 "0.1586, 0.2176, 0.4068, 0.7762, 1.377, 2.238, 3.365, 4.79, 6.533, 8.617",\
                 "0.1588, 0.2176, 0.4074, 0.7752, 1.378, 2.238, 3.366, 4.791, 6.534, 8.615",\
                 "0.1588, 0.2176, 0.4074, 0.7758, 1.377, 2.234, 3.365, 4.791, 6.536, 8.611",\
                 "0.1604, 0.2184, 0.4086, 0.7758, 1.379, 2.234, 3.364, 4.791, 6.536, 8.608",\
                 "0.1616, 0.2204, 0.4106, 0.777, 1.378, 2.236, 3.365, 4.791, 6.535, 8.611",\
                 "0.1636, 0.2228, 0.4118, 0.778, 1.377, 2.234, 3.365, 4.79, 6.532, 8.609",\
                 "0.1662, 0.2246, 0.4136, 0.7804, 1.378, 2.233, 3.363, 4.788, 6.527, 8.6",\
                 "0.1684, 0.2266, 0.4154, 0.7804, 1.379, 2.238, 3.362, 4.787, 6.524, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.9421, 0.9877, 1.124, 1.354, 1.702, 2.19, 2.832, 3.64, 4.629, 5.808",\
                 "0.9598, 1.006, 1.142, 1.372, 1.72, 2.208, 2.85, 3.657, 4.647, 5.821",\
                 "1.026, 1.072, 1.208, 1.438, 1.786, 2.274, 2.916, 3.723, 4.713, 5.888",\
                 "1.157, 1.203, 1.339, 1.569, 1.918, 2.405, 3.047, 3.855, 4.844, 6.018",\
                 "1.344, 1.39, 1.526, 1.756, 2.104, 2.591, 3.233, 4.042, 5.029, 6.209",\
                 "1.565, 1.611, 1.747, 1.977, 2.325, 2.812, 3.454, 4.264, 5.251, 6.427",\
                 "1.817, 1.863, 2, 2.23, 2.578, 3.064, 3.706, 4.515, 5.504, 6.682",\
                 "2.101, 2.147, 2.283, 2.514, 2.861, 3.348, 3.989, 4.797, 5.784, 6.963",\
                 "2.411, 2.458, 2.595, 2.825, 3.172, 3.658, 4.299, 5.107, 6.093, 7.269",\
                 "2.75, 2.796, 2.933, 3.164, 3.51, 3.996, 4.637, 5.446, 6.432, 7.607");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1582, 0.2178, 0.4076, 0.7754, 1.378, 2.238, 3.366, 4.791, 6.533, 8.61",\
                 "0.1587, 0.2174, 0.4072, 0.7752, 1.378, 2.238, 3.366, 4.791, 6.533, 8.617",\
                 "0.1586, 0.2176, 0.4068, 0.7762, 1.377, 2.238, 3.365, 4.79, 6.533, 8.617",\
                 "0.1588, 0.2176, 0.4074, 0.7752, 1.378, 2.238, 3.366, 4.791, 6.534, 8.615",\
                 "0.1586, 0.218, 0.4074, 0.7758, 1.376, 2.234, 3.365, 4.792, 6.533, 8.612",\
                 "0.1604, 0.2182, 0.4086, 0.7776, 1.377, 2.236, 3.366, 4.792, 6.534, 8.621",\
                 "0.1618, 0.2202, 0.41, 0.7778, 1.379, 2.236, 3.367, 4.792, 6.535, 8.611",\
                 "0.1636, 0.222, 0.4122, 0.778, 1.379, 2.233, 3.366, 4.789, 6.533, 8.609",\
                 "0.166, 0.2248, 0.4132, 0.7788, 1.377, 2.233, 3.363, 4.787, 6.527, 8.6",\
                 "0.1684, 0.227, 0.4154, 0.7804, 1.379, 2.237, 3.363, 4.786, 6.526, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.9421, 0.9877, 1.124, 1.354, 1.703, 2.19, 2.832, 3.64, 4.63, 5.805",\
                 "0.9598, 1.006, 1.142, 1.372, 1.72, 2.208, 2.85, 3.657, 4.647, 5.821",\
                 "1.026, 1.072, 1.208, 1.438, 1.786, 2.274, 2.916, 3.723, 4.713, 5.888",\
                 "1.157, 1.203, 1.339, 1.569, 1.918, 2.405, 3.047, 3.855, 4.844, 6.018",\
                 "1.344, 1.39, 1.526, 1.756, 2.104, 2.591, 3.233, 4.041, 5.031, 6.207",\
                 "1.565, 1.611, 1.747, 1.977, 2.325, 2.812, 3.453, 4.263, 5.251, 6.43",\
                 "1.817, 1.863, 2, 2.23, 2.578, 3.065, 3.706, 4.515, 5.504, 6.683",\
                 "2.101, 2.147, 2.284, 2.513, 2.861, 3.348, 3.989, 4.797, 5.785, 6.963",\
                 "2.411, 2.458, 2.595, 2.825, 3.172, 3.659, 4.3, 5.107, 6.093, 7.27",\
                 "2.749, 2.796, 2.933, 3.164, 3.51, 3.997, 4.637, 5.446, 6.431, 7.606");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1582, 0.2178, 0.4076, 0.776, 1.378, 2.237, 3.365, 4.79, 6.53, 8.622",\
                 "0.1587, 0.2174, 0.4072, 0.7752, 1.378, 2.238, 3.366, 4.791, 6.533, 8.617",\
                 "0.1586, 0.2176, 0.4068, 0.7762, 1.377, 2.238, 3.365, 4.79, 6.533, 8.617",\
                 "0.1588, 0.2176, 0.4074, 0.7752, 1.378, 2.238, 3.366, 4.791, 6.534, 8.615",\
                 "0.1588, 0.2178, 0.4074, 0.7756, 1.379, 2.235, 3.364, 4.79, 6.53, 8.611",\
                 "0.16, 0.2182, 0.4084, 0.7774, 1.377, 2.234, 3.365, 4.79, 6.534, 8.61",\
                 "0.1616, 0.2204, 0.4106, 0.777, 1.378, 2.236, 3.365, 4.791, 6.534, 8.611",\
                 "0.1636, 0.2218, 0.412, 0.7776, 1.377, 2.234, 3.365, 4.79, 6.532, 8.609",\
                 "0.1664, 0.2248, 0.4134, 0.7794, 1.378, 2.236, 3.363, 4.789, 6.528, 8.603",\
                 "0.168, 0.2262, 0.4154, 0.7804, 1.379, 2.237, 3.362, 4.786, 6.524, 8.614");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.9424, 0.9882, 1.124, 1.354, 1.703, 2.19, 2.832, 3.64, 4.63, 5.804",\
                 "0.9601, 1.006, 1.142, 1.372, 1.72, 2.208, 2.85, 3.657, 4.646, 5.822",\
                 "1.026, 1.072, 1.208, 1.438, 1.787, 2.274, 2.916, 3.723, 4.714, 5.888",\
                 "1.158, 1.204, 1.34, 1.57, 1.918, 2.405, 3.047, 3.855, 4.845, 6.02",\
                 "1.345, 1.391, 1.526, 1.756, 2.105, 2.592, 3.233, 4.043, 5.031, 6.209",\
                 "1.565, 1.611, 1.747, 1.977, 2.325, 2.812, 3.454, 4.264, 5.252, 6.43",\
                 "1.818, 1.864, 2.001, 2.23, 2.578, 3.065, 3.707, 4.516, 5.504, 6.683",\
                 "2.101, 2.147, 2.284, 2.514, 2.861, 3.348, 3.989, 4.797, 5.783, 6.964",\
                 "2.411, 2.458, 2.595, 2.825, 3.172, 3.658, 4.3, 5.107, 6.093, 7.27",\
                 "2.749, 2.795, 2.933, 3.163, 3.511, 3.997, 4.637, 5.446, 6.432, 7.607");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1587, 0.2174, 0.407, 0.7762, 1.377, 2.238, 3.366, 4.79, 6.532, 8.619",\
                 "0.1587, 0.2174, 0.4068, 0.7754, 1.376, 2.238, 3.366, 4.79, 6.538, 8.605",\
                 "0.1588, 0.2174, 0.4068, 0.7764, 1.377, 2.238, 3.365, 4.79, 6.533, 8.617",\
                 "0.1586, 0.2174, 0.4074, 0.7752, 1.376, 2.233, 3.363, 4.789, 6.531, 8.621",\
                 "0.159, 0.218, 0.4078, 0.7756, 1.376, 2.234, 3.365, 4.792, 6.536, 8.612",\
                 "0.1598, 0.2184, 0.4088, 0.7764, 1.379, 2.234, 3.366, 4.789, 6.532, 8.607",\
                 "0.162, 0.2208, 0.41, 0.7768, 1.378, 2.236, 3.368, 4.792, 6.535, 8.608",\
                 "0.1634, 0.2226, 0.4118, 0.7776, 1.378, 2.234, 3.366, 4.79, 6.532, 8.606",\
                 "0.1654, 0.2246, 0.4132, 0.7788, 1.379, 2.234, 3.363, 4.787, 6.528, 8.604",\
                 "0.1678, 0.2264, 0.4156, 0.78, 1.38, 2.237, 3.362, 4.786, 6.524, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.9424, 0.9882, 1.124, 1.354, 1.703, 2.19, 2.832, 3.64, 4.63, 5.804",\
                 "0.9601, 1.006, 1.142, 1.372, 1.72, 2.208, 2.85, 3.657, 4.645, 5.822",\
                 "1.026, 1.072, 1.208, 1.438, 1.787, 2.274, 2.916, 3.723, 4.714, 5.888",\
                 "1.158, 1.204, 1.34, 1.57, 1.918, 2.405, 3.047, 3.855, 4.845, 6.02",\
                 "1.345, 1.391, 1.526, 1.756, 2.105, 2.592, 3.233, 4.043, 5.031, 6.209",\
                 "1.565, 1.611, 1.747, 1.977, 2.325, 2.813, 3.454, 4.264, 5.251, 6.429",\
                 "1.818, 1.864, 2.001, 2.23, 2.578, 3.065, 3.707, 4.516, 5.504, 6.683",\
                 "2.101, 2.147, 2.284, 2.514, 2.861, 3.348, 3.989, 4.797, 5.783, 6.961",\
                 "2.411, 2.458, 2.595, 2.825, 3.172, 3.658, 4.3, 5.107, 6.093, 7.27",\
                 "2.749, 2.796, 2.933, 3.163, 3.51, 3.997, 4.637, 5.445, 6.432, 7.607");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1587, 0.2174, 0.407, 0.7762, 1.377, 2.238, 3.366, 4.79, 6.532, 8.619",\
                 "0.1587, 0.2174, 0.4068, 0.7754, 1.376, 2.238, 3.366, 4.79, 6.538, 8.605",\
                 "0.1588, 0.2174, 0.4068, 0.7764, 1.377, 2.238, 3.365, 4.79, 6.533, 8.617",\
                 "0.1586, 0.2174, 0.4074, 0.7752, 1.376, 2.233, 3.363, 4.789, 6.531, 8.621",\
                 "0.1594, 0.218, 0.4078, 0.7756, 1.376, 2.234, 3.365, 4.792, 6.536, 8.612",\
                 "0.1598, 0.2188, 0.4088, 0.7756, 1.377, 2.235, 3.364, 4.792, 6.535, 8.612",\
                 "0.162, 0.2208, 0.41, 0.7768, 1.378, 2.236, 3.368, 4.792, 6.535, 8.608",\
                 "0.1634, 0.2226, 0.4118, 0.7776, 1.378, 2.234, 3.366, 4.79, 6.532, 8.608",\
                 "0.1664, 0.2248, 0.414, 0.7788, 1.379, 2.236, 3.363, 4.787, 6.528, 8.604",\
                 "0.1678, 0.2264, 0.4154, 0.7798, 1.379, 2.236, 3.369, 4.787, 6.526, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.9424, 0.9882, 1.124, 1.354, 1.703, 2.19, 2.832, 3.64, 4.63, 5.804",\
                 "0.9601, 1.006, 1.142, 1.372, 1.72, 2.208, 2.85, 3.657, 4.645, 5.822",\
                 "1.026, 1.072, 1.208, 1.438, 1.787, 2.274, 2.916, 3.723, 4.714, 5.888",\
                 "1.158, 1.204, 1.34, 1.57, 1.918, 2.405, 3.047, 3.855, 4.845, 6.02",\
                 "1.345, 1.391, 1.526, 1.756, 2.105, 2.592, 3.233, 4.043, 5.031, 6.209",\
                 "1.565, 1.611, 1.747, 1.977, 2.325, 2.812, 3.454, 4.264, 5.251, 6.428",\
                 "1.818, 1.864, 2.001, 2.23, 2.578, 3.065, 3.707, 4.516, 5.504, 6.683",\
                 "2.101, 2.147, 2.284, 2.514, 2.861, 3.348, 3.989, 4.797, 5.783, 6.961",\
                 "2.411, 2.458, 2.595, 2.825, 3.172, 3.658, 4.3, 5.107, 6.093, 7.27",\
                 "2.749, 2.796, 2.933, 3.163, 3.51, 3.997, 4.637, 5.445, 6.432, 7.607");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1587, 0.2174, 0.407, 0.7762, 1.377, 2.238, 3.366, 4.79, 6.532, 8.619",\
                 "0.1587, 0.2174, 0.4068, 0.7754, 1.376, 2.238, 3.366, 4.79, 6.538, 8.605",\
                 "0.1588, 0.2174, 0.4068, 0.7764, 1.377, 2.238, 3.365, 4.79, 6.533, 8.617",\
                 "0.1586, 0.2174, 0.4074, 0.7752, 1.376, 2.233, 3.363, 4.789, 6.531, 8.621",\
                 "0.159, 0.218, 0.4078, 0.7756, 1.376, 2.234, 3.365, 4.792, 6.536, 8.612",\
                 "0.1598, 0.2188, 0.4088, 0.7764, 1.38, 2.233, 3.366, 4.792, 6.535, 8.608",\
                 "0.162, 0.2208, 0.41, 0.7768, 1.378, 2.236, 3.368, 4.792, 6.535, 8.608",\
                 "0.1636, 0.2226, 0.4118, 0.7776, 1.378, 2.234, 3.366, 4.79, 6.532, 8.608",\
                 "0.1658, 0.2248, 0.4136, 0.7788, 1.379, 2.236, 3.363, 4.787, 6.528, 8.604",\
                 "0.1678, 0.2264, 0.4154, 0.7798, 1.379, 2.236, 3.369, 4.787, 6.526, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.9421, 0.9877, 1.124, 1.354, 1.702, 2.19, 2.832, 3.64, 4.629, 5.808",\
                 "0.9598, 1.006, 1.142, 1.372, 1.72, 2.208, 2.85, 3.657, 4.647, 5.821",\
                 "1.026, 1.072, 1.208, 1.438, 1.786, 2.274, 2.916, 3.723, 4.713, 5.888",\
                 "1.157, 1.203, 1.339, 1.569, 1.917, 2.405, 3.047, 3.855, 4.844, 6.018",\
                 "1.344, 1.39, 1.526, 1.756, 2.104, 2.591, 3.233, 4.042, 5.029, 6.209",\
                 "1.565, 1.611, 1.747, 1.977, 2.325, 2.812, 3.453, 4.262, 5.252, 6.43",\
                 "1.818, 1.863, 2, 2.23, 2.577, 3.064, 3.706, 4.515, 5.504, 6.683",\
                 "2.101, 2.147, 2.284, 2.514, 2.861, 3.348, 3.989, 4.797, 5.785, 6.963",\
                 "2.411, 2.457, 2.595, 2.824, 3.172, 3.658, 4.299, 5.107, 6.092, 7.269",\
                 "2.749, 2.796, 2.933, 3.163, 3.51, 3.996, 4.637, 5.446, 6.432, 7.606");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1582, 0.2178, 0.4076, 0.7766, 1.378, 2.238, 3.366, 4.791, 6.533, 8.61",\
                 "0.1587, 0.2174, 0.4072, 0.7752, 1.378, 2.238, 3.366, 4.791, 6.533, 8.617",\
                 "0.1586, 0.2176, 0.4068, 0.7762, 1.377, 2.238, 3.365, 4.79, 6.533, 8.617",\
                 "0.1586, 0.2164, 0.4074, 0.7754, 1.376, 2.238, 3.366, 4.791, 6.534, 8.615",\
                 "0.1584, 0.2176, 0.4074, 0.7756, 1.377, 2.233, 3.365, 4.792, 6.536, 8.612",\
                 "0.1604, 0.2184, 0.4086, 0.7758, 1.377, 2.237, 3.364, 4.791, 6.536, 8.61",\
                 "0.162, 0.22, 0.4102, 0.7766, 1.377, 2.236, 3.365, 4.791, 6.535, 8.611",\
                 "0.1636, 0.2228, 0.4118, 0.778, 1.379, 2.234, 3.365, 4.79, 6.532, 8.609",\
                 "0.166, 0.2246, 0.4136, 0.7804, 1.378, 2.233, 3.363, 4.788, 6.527, 8.6",\
                 "0.1684, 0.227, 0.4156, 0.78, 1.379, 2.235, 3.366, 4.786, 6.526, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.9424, 0.9882, 1.124, 1.354, 1.703, 2.19, 2.832, 3.64, 4.63, 5.804",\
                 "0.9601, 1.006, 1.142, 1.372, 1.72, 2.208, 2.85, 3.657, 4.645, 5.823",\
                 "1.026, 1.072, 1.208, 1.438, 1.787, 2.274, 2.916, 3.723, 4.714, 5.888",\
                 "1.158, 1.204, 1.34, 1.57, 1.918, 2.405, 3.047, 3.855, 4.845, 6.02",\
                 "1.345, 1.391, 1.526, 1.756, 2.105, 2.592, 3.233, 4.043, 5.031, 6.209",\
                 "1.565, 1.611, 1.747, 1.977, 2.326, 2.813, 3.454, 4.264, 5.25, 6.43",\
                 "1.818, 1.864, 2.001, 2.23, 2.578, 3.065, 3.707, 4.516, 5.504, 6.683",\
                 "2.101, 2.147, 2.284, 2.514, 2.862, 3.349, 3.99, 4.797, 5.785, 6.963",\
                 "2.411, 2.458, 2.595, 2.825, 3.172, 3.659, 4.299, 5.107, 6.093, 7.269",\
                 "2.75, 2.796, 2.933, 3.163, 3.51, 3.997, 4.637, 5.445, 6.432, 7.607");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1587, 0.2174, 0.407, 0.7762, 1.377, 2.238, 3.366, 4.79, 6.532, 8.619",\
                 "0.1587, 0.2174, 0.4068, 0.7754, 1.376, 2.233, 3.366, 4.79, 6.537, 8.605",\
                 "0.1586, 0.2174, 0.4072, 0.7764, 1.377, 2.238, 3.365, 4.79, 6.533, 8.617",\
                 "0.1586, 0.2174, 0.4074, 0.7752, 1.376, 2.233, 3.363, 4.789, 6.531, 8.621",\
                 "0.1594, 0.218, 0.4078, 0.7756, 1.376, 2.234, 3.365, 4.792, 6.536, 8.612",\
                 "0.1592, 0.2186, 0.4084, 0.7758, 1.379, 2.234, 3.364, 4.79, 6.532, 8.612",\
                 "0.162, 0.2208, 0.41, 0.7768, 1.378, 2.236, 3.368, 4.792, 6.535, 8.608",\
                 "0.1636, 0.2224, 0.4124, 0.778, 1.378, 2.234, 3.366, 4.788, 6.531, 8.61",\
                 "0.1656, 0.224, 0.4136, 0.7794, 1.378, 2.234, 3.362, 4.786, 6.528, 8.605",\
                 "0.1684, 0.2264, 0.4156, 0.7808, 1.381, 2.237, 3.369, 4.787, 6.526, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.012, 1.058, 1.194, 1.424, 1.772, 2.259, 2.901, 3.709, 4.695, 5.872",\
                 "1.03, 1.076, 1.211, 1.441, 1.79, 2.277, 2.918, 3.728, 4.715, 5.892",\
                 "1.096, 1.141, 1.277, 1.507, 1.855, 2.343, 2.984, 3.794, 4.781, 5.958",\
                 "1.228, 1.274, 1.409, 1.639, 1.987, 2.475, 3.117, 3.926, 4.913, 6.09",\
                 "1.424, 1.469, 1.605, 1.835, 2.183, 2.67, 3.312, 4.121, 5.108, 6.285",\
                 "1.657, 1.702, 1.838, 2.068, 2.416, 2.903, 3.545, 4.353, 5.341, 6.515",\
                 "1.92, 1.966, 2.102, 2.332, 2.679, 3.166, 3.808, 4.616, 5.603, 6.779",\
                 "2.215, 2.261, 2.398, 2.627, 2.974, 3.461, 4.102, 4.91, 5.899, 7.075",\
                 "2.537, 2.583, 2.719, 2.948, 3.296, 3.783, 4.423, 5.231, 6.217, 7.394",\
                 "2.884, 2.93, 3.066, 3.296, 3.643, 4.129, 4.77, 5.578, 6.565, 7.739");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1584, 0.2172, 0.4072, 0.7758, 1.378, 2.237, 3.365, 4.789, 6.53, 8.609",\
                 "0.1586, 0.2176, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.79, 6.531, 8.608",\
                 "0.1586, 0.2176, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.79, 6.531, 8.605",\
                 "0.1588, 0.2174, 0.4074, 0.775, 1.377, 2.234, 3.366, 4.791, 6.532, 8.607",\
                 "0.1588, 0.2176, 0.4074, 0.7746, 1.376, 2.233, 3.365, 4.792, 6.533, 8.604",\
                 "0.1588, 0.2178, 0.4078, 0.7758, 1.377, 2.238, 3.365, 4.792, 6.534, 8.604",\
                 "0.1612, 0.219, 0.4082, 0.7776, 1.376, 2.233, 3.369, 4.791, 6.532, 8.605",\
                 "0.162, 0.2208, 0.4102, 0.7768, 1.377, 2.235, 3.366, 4.791, 6.53, 8.607",\
                 "0.1636, 0.2224, 0.4116, 0.7776, 1.378, 2.235, 3.363, 4.786, 6.527, 8.6",\
                 "0.1656, 0.2234, 0.4132, 0.7784, 1.378, 2.234, 3.364, 4.787, 6.526, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.012, 1.058, 1.194, 1.424, 1.772, 2.259, 2.901, 3.709, 4.695, 5.872",\
                 "1.03, 1.076, 1.211, 1.441, 1.79, 2.277, 2.918, 3.728, 4.715, 5.892",\
                 "1.096, 1.141, 1.277, 1.507, 1.855, 2.343, 2.984, 3.794, 4.781, 5.958",\
                 "1.228, 1.274, 1.409, 1.639, 1.987, 2.475, 3.117, 3.926, 4.913, 6.09",\
                 "1.424, 1.469, 1.605, 1.835, 2.183, 2.67, 3.312, 4.121, 5.108, 6.285",\
                 "1.657, 1.702, 1.838, 2.068, 2.416, 2.903, 3.545, 4.353, 5.341, 6.515",\
                 "1.921, 1.966, 2.103, 2.332, 2.679, 3.166, 3.808, 4.615, 5.602, 6.78",\
                 "2.215, 2.261, 2.398, 2.627, 2.974, 3.461, 4.102, 4.91, 5.899, 7.075",\
                 "2.537, 2.583, 2.719, 2.948, 3.296, 3.783, 4.423, 5.231, 6.217, 7.394",\
                 "2.884, 2.93, 3.066, 3.296, 3.643, 4.129, 4.769, 5.577, 6.564, 7.739");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1584, 0.2172, 0.4072, 0.7758, 1.378, 2.237, 3.365, 4.789, 6.53, 8.609",\
                 "0.1586, 0.2176, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.79, 6.531, 8.608",\
                 "0.1586, 0.2176, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.79, 6.531, 8.605",\
                 "0.1586, 0.2174, 0.4074, 0.775, 1.377, 2.238, 3.365, 4.791, 6.532, 8.607",\
                 "0.1588, 0.2176, 0.4074, 0.7746, 1.376, 2.233, 3.365, 4.792, 6.533, 8.604",\
                 "0.1588, 0.2178, 0.4078, 0.7758, 1.377, 2.238, 3.365, 4.792, 6.534, 8.604",\
                 "0.1606, 0.22, 0.41, 0.7764, 1.377, 2.233, 3.364, 4.79, 6.529, 8.613",\
                 "0.1628, 0.2208, 0.4102, 0.7768, 1.377, 2.235, 3.366, 4.791, 6.53, 8.607",\
                 "0.1642, 0.2224, 0.4116, 0.7776, 1.378, 2.235, 3.363, 4.786, 6.527, 8.6",\
                 "0.1648, 0.223, 0.4128, 0.7782, 1.379, 2.233, 3.367, 4.786, 6.526, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.012, 1.058, 1.194, 1.424, 1.772, 2.259, 2.901, 3.709, 4.695, 5.872",\
                 "1.03, 1.076, 1.211, 1.441, 1.79, 2.277, 2.918, 3.728, 4.715, 5.892",\
                 "1.096, 1.141, 1.277, 1.507, 1.855, 2.343, 2.984, 3.794, 4.781, 5.958",\
                 "1.228, 1.274, 1.41, 1.639, 1.987, 2.475, 3.116, 3.926, 4.913, 6.09",\
                 "1.424, 1.469, 1.605, 1.835, 2.183, 2.67, 3.312, 4.12, 5.107, 6.285",\
                 "1.657, 1.702, 1.838, 2.068, 2.415, 2.903, 3.544, 4.353, 5.34, 6.518",\
                 "1.92, 1.966, 2.102, 2.332, 2.679, 3.166, 3.808, 4.616, 5.602, 6.78",\
                 "2.215, 2.261, 2.398, 2.627, 2.974, 3.461, 4.102, 4.91, 5.899, 7.075",\
                 "2.537, 2.583, 2.719, 2.948, 3.296, 3.783, 4.423, 5.231, 6.217, 7.393",\
                 "2.884, 2.931, 3.067, 3.296, 3.643, 4.129, 4.77, 5.578, 6.564, 7.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1584, 0.2172, 0.4072, 0.7758, 1.378, 2.237, 3.365, 4.789, 6.53, 8.609",\
                 "0.1586, 0.2176, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.79, 6.531, 8.608",\
                 "0.1586, 0.2176, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.79, 6.531, 8.605",\
                 "0.1584, 0.2174, 0.4064, 0.7752, 1.377, 2.238, 3.365, 4.791, 6.532, 8.607",\
                 "0.159, 0.2178, 0.4074, 0.7752, 1.376, 2.233, 3.364, 4.792, 6.532, 8.607",\
                 "0.1588, 0.2178, 0.4088, 0.7758, 1.376, 2.234, 3.365, 4.791, 6.538, 8.605",\
                 "0.1612, 0.2188, 0.4088, 0.7762, 1.376, 2.237, 3.364, 4.791, 6.53, 8.611",\
                 "0.162, 0.2208, 0.4102, 0.7778, 1.377, 2.233, 3.368, 4.791, 6.53, 8.607",\
                 "0.1636, 0.223, 0.412, 0.7772, 1.378, 2.234, 3.363, 4.79, 6.527, 8.598",\
                 "0.1654, 0.2234, 0.4124, 0.778, 1.378, 2.234, 3.366, 4.786, 6.526, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.013, 1.058, 1.194, 1.424, 1.772, 2.26, 2.901, 3.71, 4.697, 5.874",\
                 "1.03, 1.076, 1.212, 1.442, 1.79, 2.277, 2.918, 3.727, 4.715, 5.892",\
                 "1.096, 1.142, 1.278, 1.507, 1.855, 2.343, 2.984, 3.794, 4.781, 5.958",\
                 "1.228, 1.274, 1.409, 1.639, 1.988, 2.475, 3.116, 3.926, 4.913, 6.09",\
                 "1.424, 1.469, 1.605, 1.835, 2.183, 2.67, 3.312, 4.121, 5.107, 6.285",\
                 "1.657, 1.702, 1.838, 2.068, 2.416, 2.903, 3.545, 4.354, 5.341, 6.517",\
                 "1.921, 1.967, 2.103, 2.332, 2.68, 3.167, 3.808, 4.618, 5.605, 6.779",\
                 "2.216, 2.262, 2.397, 2.627, 2.974, 3.461, 4.102, 4.91, 5.898, 7.076",\
                 "2.537, 2.583, 2.719, 2.948, 3.296, 3.782, 4.423, 5.231, 6.217, 7.393",\
                 "2.884, 2.93, 3.067, 3.296, 3.643, 4.129, 4.77, 5.578, 6.564, 7.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1584, 0.217, 0.4072, 0.775, 1.377, 2.234, 3.364, 4.791, 6.537, 8.606",\
                 "0.1584, 0.2162, 0.407, 0.7748, 1.376, 2.233, 3.365, 4.794, 6.532, 8.61",\
                 "0.1586, 0.2172, 0.4068, 0.7746, 1.376, 2.233, 3.365, 4.792, 6.533, 8.609",\
                 "0.1584, 0.2174, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.792, 6.533, 8.603",\
                 "0.159, 0.2176, 0.4072, 0.7748, 1.376, 2.233, 3.364, 4.795, 6.536, 8.607",\
                 "0.159, 0.218, 0.4088, 0.7754, 1.376, 2.234, 3.364, 4.791, 6.532, 8.608",\
                 "0.1606, 0.2194, 0.4088, 0.7756, 1.376, 2.237, 3.364, 4.792, 6.534, 8.604",\
                 "0.1624, 0.2206, 0.4102, 0.777, 1.377, 2.235, 3.366, 4.791, 6.532, 8.609",\
                 "0.1636, 0.2224, 0.412, 0.7776, 1.378, 2.237, 3.364, 4.789, 6.525, 8.606",\
                 "0.165, 0.2234, 0.413, 0.7788, 1.377, 2.235, 3.361, 4.787, 6.526, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.013, 1.058, 1.194, 1.424, 1.772, 2.26, 2.901, 3.71, 4.697, 5.874",\
                 "1.03, 1.076, 1.212, 1.442, 1.79, 2.277, 2.918, 3.727, 4.715, 5.892",\
                 "1.096, 1.142, 1.278, 1.507, 1.855, 2.343, 2.984, 3.794, 4.781, 5.958",\
                 "1.228, 1.274, 1.409, 1.639, 1.988, 2.475, 3.116, 3.926, 4.913, 6.09",\
                 "1.424, 1.469, 1.605, 1.835, 2.183, 2.671, 3.311, 4.121, 5.108, 6.285",\
                 "1.657, 1.702, 1.839, 2.068, 2.416, 2.903, 3.545, 4.354, 5.341, 6.517",\
                 "1.921, 1.967, 2.103, 2.332, 2.68, 3.167, 3.808, 4.618, 5.605, 6.779",\
                 "2.215, 2.261, 2.397, 2.627, 2.974, 3.461, 4.102, 4.91, 5.898, 7.076",\
                 "2.537, 2.583, 2.719, 2.948, 3.295, 3.782, 4.423, 5.231, 6.217, 7.393",\
                 "2.884, 2.93, 3.067, 3.296, 3.643, 4.13, 4.77, 5.578, 6.565, 7.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1584, 0.217, 0.4072, 0.775, 1.377, 2.234, 3.364, 4.791, 6.537, 8.606",\
                 "0.1584, 0.2162, 0.407, 0.7748, 1.376, 2.233, 3.365, 4.794, 6.532, 8.61",\
                 "0.1586, 0.2172, 0.4068, 0.7746, 1.376, 2.233, 3.365, 4.792, 6.533, 8.609",\
                 "0.1584, 0.2174, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.791, 6.532, 8.604",\
                 "0.1588, 0.2178, 0.4074, 0.775, 1.377, 2.237, 3.364, 4.792, 6.532, 8.604",\
                 "0.159, 0.218, 0.4084, 0.7758, 1.376, 2.234, 3.363, 4.792, 6.532, 8.608",\
                 "0.1604, 0.2194, 0.4088, 0.7756, 1.376, 2.237, 3.364, 4.792, 6.534, 8.604",\
                 "0.1626, 0.2206, 0.4102, 0.777, 1.377, 2.235, 3.368, 4.791, 6.53, 8.606",\
                 "0.1642, 0.2228, 0.4118, 0.7776, 1.378, 2.236, 3.363, 4.789, 6.529, 8.598",\
                 "0.1652, 0.2238, 0.4126, 0.7782, 1.378, 2.233, 3.365, 4.786, 6.526, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.013, 1.058, 1.194, 1.424, 1.772, 2.26, 2.901, 3.71, 4.697, 5.874",\
                 "1.03, 1.076, 1.212, 1.442, 1.79, 2.277, 2.918, 3.727, 4.715, 5.892",\
                 "1.096, 1.142, 1.278, 1.507, 1.855, 2.343, 2.984, 3.794, 4.781, 5.958",\
                 "1.228, 1.274, 1.409, 1.639, 1.988, 2.475, 3.116, 3.926, 4.913, 6.09",\
                 "1.424, 1.469, 1.605, 1.835, 2.183, 2.67, 3.311, 4.121, 5.108, 6.285",\
                 "1.657, 1.702, 1.838, 2.068, 2.416, 2.903, 3.545, 4.354, 5.341, 6.517",\
                 "1.921, 1.966, 2.103, 2.332, 2.68, 3.167, 3.808, 4.617, 5.604, 6.778",\
                 "2.215, 2.262, 2.398, 2.627, 2.974, 3.461, 4.102, 4.91, 5.898, 7.076",\
                 "2.537, 2.583, 2.719, 2.949, 3.296, 3.782, 4.423, 5.231, 6.217, 7.394",\
                 "2.884, 2.93, 3.067, 3.296, 3.643, 4.129, 4.77, 5.578, 6.565, 7.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1584, 0.217, 0.4072, 0.775, 1.377, 2.234, 3.364, 4.791, 6.537, 8.606",\
                 "0.1584, 0.2162, 0.407, 0.7748, 1.376, 2.233, 3.365, 4.794, 6.532, 8.61",\
                 "0.1586, 0.2172, 0.4068, 0.7746, 1.376, 2.233, 3.365, 4.792, 6.533, 8.609",\
                 "0.1584, 0.2174, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.791, 6.532, 8.605",\
                 "0.1588, 0.2178, 0.4072, 0.775, 1.377, 2.234, 3.365, 4.792, 6.533, 8.605",\
                 "0.159, 0.218, 0.4088, 0.7754, 1.376, 2.234, 3.364, 4.791, 6.532, 8.608",\
                 "0.1612, 0.2196, 0.4088, 0.777, 1.376, 2.233, 3.366, 4.792, 6.534, 8.6",\
                 "0.1626, 0.2202, 0.4102, 0.7768, 1.378, 2.235, 3.368, 4.787, 6.53, 8.606",\
                 "0.1642, 0.2228, 0.4118, 0.7782, 1.378, 2.238, 3.363, 4.791, 6.527, 8.598",\
                 "0.1652, 0.2238, 0.413, 0.7782, 1.377, 2.233, 3.367, 4.786, 6.526, 8.612");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.012, 1.058, 1.194, 1.424, 1.772, 2.259, 2.901, 3.709, 4.695, 5.872",\
                 "1.03, 1.076, 1.211, 1.441, 1.79, 2.277, 2.918, 3.728, 4.715, 5.892",\
                 "1.096, 1.141, 1.277, 1.507, 1.855, 2.343, 2.984, 3.794, 4.781, 5.958",\
                 "1.228, 1.274, 1.41, 1.639, 1.987, 2.475, 3.116, 3.926, 4.913, 6.09",\
                 "1.424, 1.469, 1.605, 1.835, 2.183, 2.67, 3.311, 4.121, 5.108, 6.285",\
                 "1.657, 1.702, 1.838, 2.068, 2.415, 2.903, 3.544, 4.353, 5.34, 6.518",\
                 "1.92, 1.966, 2.102, 2.332, 2.679, 3.166, 3.808, 4.617, 5.604, 6.78",\
                 "2.215, 2.261, 2.398, 2.627, 2.974, 3.461, 4.102, 4.91, 5.899, 7.075",\
                 "2.537, 2.583, 2.719, 2.949, 3.296, 3.783, 4.423, 5.231, 6.217, 7.394",\
                 "2.884, 2.93, 3.067, 3.296, 3.643, 4.129, 4.77, 5.578, 6.564, 7.739");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1584, 0.2172, 0.4072, 0.7758, 1.378, 2.237, 3.365, 4.789, 6.53, 8.609",\
                 "0.1586, 0.2176, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.79, 6.531, 8.608",\
                 "0.1586, 0.2176, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.79, 6.531, 8.605",\
                 "0.1582, 0.2174, 0.4064, 0.7752, 1.377, 2.238, 3.365, 4.791, 6.532, 8.607",\
                 "0.159, 0.2176, 0.4074, 0.7752, 1.377, 2.234, 3.365, 4.792, 6.533, 8.605",\
                 "0.1588, 0.2178, 0.4088, 0.7758, 1.376, 2.234, 3.365, 4.791, 6.538, 8.605",\
                 "0.1608, 0.2194, 0.4092, 0.7762, 1.376, 2.232, 3.364, 4.791, 6.534, 8.612",\
                 "0.1622, 0.2208, 0.4102, 0.7768, 1.377, 2.235, 3.366, 4.791, 6.53, 8.607",\
                 "0.1636, 0.2222, 0.4114, 0.7788, 1.378, 2.235, 3.363, 4.786, 6.527, 8.6",\
                 "0.1654, 0.223, 0.4134, 0.778, 1.378, 2.234, 3.368, 4.787, 6.524, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.013, 1.058, 1.194, 1.424, 1.772, 2.259, 2.901, 3.71, 4.698, 5.874",\
                 "1.03, 1.076, 1.212, 1.442, 1.79, 2.277, 2.918, 3.727, 4.715, 5.892",\
                 "1.096, 1.142, 1.278, 1.507, 1.855, 2.343, 2.984, 3.794, 4.781, 5.958",\
                 "1.228, 1.274, 1.409, 1.639, 1.988, 2.475, 3.117, 3.924, 4.911, 6.088",\
                 "1.424, 1.469, 1.605, 1.835, 2.183, 2.67, 3.312, 4.121, 5.107, 6.285",\
                 "1.657, 1.702, 1.839, 2.068, 2.416, 2.903, 3.545, 4.353, 5.341, 6.514",\
                 "1.921, 1.967, 2.103, 2.332, 2.68, 3.167, 3.808, 4.618, 5.605, 6.779",\
                 "2.216, 2.262, 2.397, 2.627, 2.974, 3.461, 4.102, 4.91, 5.898, 7.076",\
                 "2.537, 2.583, 2.719, 2.948, 3.296, 3.782, 4.423, 5.231, 6.217, 7.393",\
                 "2.885, 2.931, 3.067, 3.297, 3.643, 4.13, 4.77, 5.579, 6.565, 7.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1579, 0.2166, 0.4066, 0.7752, 1.376, 2.233, 3.365, 4.792, 6.53, 8.61",\
                 "0.1584, 0.2162, 0.407, 0.7748, 1.376, 2.233, 3.365, 4.794, 6.532, 8.61",\
                 "0.1586, 0.2172, 0.4068, 0.7746, 1.376, 2.233, 3.365, 4.792, 6.533, 8.609",\
                 "0.1584, 0.2174, 0.4074, 0.775, 1.377, 2.234, 3.364, 4.789, 6.53, 8.606",\
                 "0.159, 0.2176, 0.4072, 0.7748, 1.376, 2.233, 3.364, 4.795, 6.536, 8.607",\
                 "0.1588, 0.218, 0.4088, 0.7754, 1.378, 2.238, 3.365, 4.792, 6.533, 8.602",\
                 "0.1606, 0.2194, 0.4088, 0.7756, 1.376, 2.237, 3.364, 4.792, 6.534, 8.606",\
                 "0.1624, 0.2206, 0.4102, 0.777, 1.377, 2.235, 3.366, 4.787, 6.532, 8.609",\
                 "0.1636, 0.2224, 0.4118, 0.7776, 1.378, 2.234, 3.363, 4.789, 6.525, 8.606",\
                 "0.1656, 0.2236, 0.4128, 0.778, 1.377, 2.233, 3.365, 4.788, 6.526, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("1.013, 1.058, 1.194, 1.424, 1.772, 2.26, 2.901, 3.71, 4.697, 5.874",\
                 "1.03, 1.076, 1.212, 1.442, 1.79, 2.277, 2.918, 3.727, 4.715, 5.892",\
                 "1.096, 1.142, 1.278, 1.507, 1.855, 2.343, 2.984, 3.794, 4.781, 5.958",\
                 "1.228, 1.274, 1.409, 1.639, 1.988, 2.475, 3.116, 3.926, 4.913, 6.09",\
                 "1.424, 1.469, 1.605, 1.835, 2.183, 2.67, 3.312, 4.121, 5.107, 6.285",\
                 "1.657, 1.702, 1.838, 2.068, 2.416, 2.903, 3.545, 4.354, 5.341, 6.517",\
                 "1.921, 1.967, 2.103, 2.332, 2.68, 3.167, 3.808, 4.618, 5.605, 6.779",\
                 "2.216, 2.262, 2.397, 2.627, 2.974, 3.461, 4.102, 4.91, 5.898, 7.076",\
                 "2.537, 2.583, 2.719, 2.948, 3.296, 3.782, 4.423, 5.231, 6.217, 7.393",\
                 "2.884, 2.93, 3.067, 3.296, 3.643, 4.129, 4.77, 5.578, 6.564, 7.74");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003477, 0.01217, 0.02877, 0.05464, 0.09094, 0.1387, 0.1989, 0.2723, 0.3599");
          values("0.1582, 0.2178, 0.4076, 0.776, 1.378, 2.237, 3.365, 4.79, 6.53, 8.622",\
                 "0.1587, 0.2174, 0.4072, 0.7752, 1.378, 2.238, 3.366, 4.791, 6.533, 8.617",\
                 "0.1586, 0.2176, 0.4068, 0.7762, 1.377, 2.238, 3.365, 4.79, 6.533, 8.617",\
                 "0.1588, 0.2176, 0.4074, 0.7752, 1.378, 2.238, 3.366, 4.791, 6.534, 8.615",\
                 "0.1588, 0.2178, 0.4074, 0.7756, 1.379, 2.235, 3.364, 4.79, 6.53, 8.611",\
                 "0.16, 0.2182, 0.4084, 0.7774, 1.377, 2.234, 3.365, 4.79, 6.534, 8.61",\
                 "0.1616, 0.2204, 0.4106, 0.777, 1.378, 2.236, 3.365, 4.791, 6.534, 8.611",\
                 "0.1636, 0.2218, 0.412, 0.7776, 1.377, 2.234, 3.365, 4.79, 6.532, 8.609",\
                 "0.1664, 0.2248, 0.4134, 0.7794, 1.378, 2.236, 3.363, 4.789, 6.528, 8.603",\
                 "0.168, 0.2262, 0.4154, 0.7804, 1.379, 2.237, 3.362, 4.786, 6.524, 8.614");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007149 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.692 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02125, 0.02061, 0.02049, 0.0205, 0.02051, 0.02052, 0.02055, \
                 0.02055, 0.02054, 0.02056");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02045, -0.02042, -0.02044, -0.0205, -0.02047, \
                 -0.02048, -0.02049, -0.02048");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02125, 0.02061, 0.02049, 0.0205, 0.02051, 0.02052, 0.02055, \
                 0.02055, 0.02054, 0.02055");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02045, -0.02042, -0.02044, -0.02049, -0.02047, \
                 -0.02048, -0.02049, -0.02049");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02125, 0.02061, 0.02049, 0.02051, 0.02051, 0.0205, 0.02055, \
                 0.02055, 0.02055, 0.02056");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02045, -0.02042, -0.02044, -0.02049, -0.02047, \
                 -0.02048, -0.02049, -0.0205");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02043, 0.01968, 0.0194, 0.01934, 0.01933, 0.01933, 0.01932, \
                 0.01931, 0.01931, 0.0193");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01912, -0.01932, -0.01968, -0.01991, -0.02008, -0.02016, -0.02022, \
                 -0.02024, -0.02025, -0.02028");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02043, 0.01968, 0.0194, 0.01934, 0.01935, 0.01932, 0.01933, \
                 0.01931, 0.01932, 0.0193");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01912, -0.01932, -0.01969, -0.01992, -0.02008, -0.02016, -0.02022, \
                 -0.02023, -0.02025, -0.02028");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02043, 0.01968, 0.0194, 0.01934, 0.01935, 0.01934, 0.01932, \
                 0.01931, 0.01931, 0.0193");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01912, -0.01932, -0.01969, -0.01992, -0.02008, -0.02017, -0.02022, \
                 -0.02023, -0.02026, -0.02028");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02125, 0.02061, 0.02049, 0.0205, 0.02053, 0.02052, 0.02055, \
                 0.02055, 0.02055, 0.02055");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02045, -0.02042, -0.02044, -0.02049, -0.02047, \
                 -0.02048, -0.02049, -0.02052");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02043, 0.01968, 0.0194, 0.01934, 0.01935, 0.01933, 0.01932, \
                 0.01931, 0.01932, 0.0193");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01912, -0.01932, -0.01968, -0.01991, -0.02008, -0.02017, -0.02021, \
                 -0.02024, -0.02026, -0.02028");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02185, 0.02075, 0.02053, 0.02048, 0.02052, 0.02052, 0.02053, \
                 0.02052, 0.02055, 0.02055");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02046, -0.02042, -0.02043, -0.02049, -0.0205, \
                 -0.02048, -0.02049, -0.02051");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02185, 0.02075, 0.02053, 0.02048, 0.02052, 0.02052, 0.02054, \
                 0.02053, 0.02055, 0.02054");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02046, -0.02042, -0.02044, -0.02049, -0.02047, \
                 -0.02049, -0.02049, -0.02051");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02186, 0.02075, 0.02051, 0.02049, 0.0205, 0.02055, 0.02052, \
                 0.02055, 0.02056, 0.02056");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02046, -0.02042, -0.02043, -0.02049, -0.02048, \
                 -0.02049, -0.02049, -0.0205");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02177, 0.02068, 0.02049, 0.02049, 0.02052, 0.02051, 0.02053, \
                 0.02053, 0.02054, 0.02054");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02046, -0.02042, -0.02043, -0.02049, -0.02048, \
                 -0.02049, -0.02049, -0.0205");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02177, 0.02068, 0.02049, 0.02049, 0.0205, 0.02052, 0.02052, \
                 0.02053, 0.02054, 0.02054");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02046, -0.02042, -0.02043, -0.02049, -0.02048, \
                 -0.02049, -0.02048, -0.02051");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02177, 0.02068, 0.02049, 0.02049, 0.02049, 0.02052, 0.02052, \
                 0.02053, 0.02054, 0.02054");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02046, -0.02042, -0.02044, -0.02049, -0.02048, \
                 -0.02049, -0.02049, -0.0205");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02185, 0.02075, 0.02053, 0.02049, 0.02052, 0.02051, 0.02053, \
                 0.02055, 0.02054, 0.02054");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02046, -0.02042, -0.02043, -0.02049, -0.0205, \
                 -0.02048, -0.02048, -0.02051");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02177, 0.02068, 0.02049, 0.02052, 0.02048, 0.02051, 0.02053, \
                 0.02053, 0.02056, 0.02054");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02053, -0.02049, -0.02046, -0.02042, -0.02043, -0.02049, -0.02048, \
                 -0.02049, -0.02049, -0.0205");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.378, -0.391, -0.447, -0.526, -0.59, -0.635, -0.656, -0.656, -0.632, -0.574",\
                 "-0.382, -0.39, -0.45, -0.527, -0.587, -0.642, -0.664, -0.667, -0.635, -0.581",\
                 "-0.39, -0.403, -0.456, -0.537, -0.599, -0.653, -0.682, -0.677, -0.652, -0.6",\
                 "-0.356, -0.37, -0.43, -0.505, -0.569, -0.622, -0.655, -0.656, -0.626, -0.584",\
                 "-0.153, -0.162, -0.226, -0.316, -0.383, -0.442, -0.467, -0.478, -0.442, -0.403",\
                 "0.204, 0.194, 0.124, 0.045, -0.048, -0.113, -0.15, -0.149, -0.124, -0.077",\
                 "0.707, 0.724, 0.647, 0.535, 0.417, 0.339, 0.331, 0.296, 0.322, 0.367",\
                 "1.364, 1.371, 1.287, 1.164, 1.042, 0.966, 0.905, 0.887, 0.915, 0.949",\
                 "2.176, 2.184, 2.067, 1.937, 1.777, 1.686, 1.669, 1.597, 1.634, 1.668",\
                 "3.147, 3.164, 3.014, 2.857, 2.714, 2.58, 2.538, 2.49, 2.512, 2.549");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SETN&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.378, -0.391, -0.447, -0.526, -0.59, -0.635, -0.656, -0.656, -0.632, -0.574",\
                 "-0.382, -0.39, -0.45, -0.527, -0.587, -0.642, -0.664, -0.667, -0.635, -0.581",\
                 "-0.39, -0.403, -0.456, -0.537, -0.599, -0.653, -0.673, -0.677, -0.652, -0.6",\
                 "-0.356, -0.37, -0.43, -0.505, -0.575, -0.622, -0.655, -0.656, -0.626, -0.579",\
                 "-0.153, -0.162, -0.226, -0.316, -0.383, -0.442, -0.467, -0.478, -0.442, -0.403",\
                 "0.204, 0.2, 0.124, 0.037, -0.031, -0.097, -0.15, -0.149, -0.124, -0.077",\
                 "0.707, 0.707, 0.647, 0.525, 0.417, 0.359, 0.331, 0.296, 0.322, 0.367",\
                 "1.364, 1.377, 1.287, 1.164, 1.042, 0.941, 0.915, 0.887, 0.908, 0.949",\
                 "2.176, 2.176, 2.067, 1.928, 1.777, 1.686, 1.669, 1.597, 1.634, 1.668",\
                 "3.147, 3.144, 3.03, 2.879, 2.68, 2.58, 2.538, 2.498, 2.476, 2.549");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.378, -0.391, -0.447, -0.526, -0.59, -0.635, -0.656, -0.656, -0.632, -0.574",\
                 "-0.382, -0.39, -0.45, -0.527, -0.587, -0.642, -0.664, -0.667, -0.635, -0.581",\
                 "-0.39, -0.403, -0.456, -0.537, -0.599, -0.653, -0.673, -0.677, -0.652, -0.6",\
                 "-0.356, -0.37, -0.43, -0.505, -0.575, -0.622, -0.655, -0.656, -0.626, -0.579",\
                 "-0.153, -0.162, -0.226, -0.316, -0.383, -0.442, -0.467, -0.478, -0.452, -0.403",\
                 "0.204, 0.2, 0.124, 0.037, -0.048, -0.113, -0.15, -0.149, -0.135, -0.077",\
                 "0.707, 0.724, 0.628, 0.535, 0.417, 0.359, 0.331, 0.296, 0.328, 0.367",\
                 "1.364, 1.377, 1.287, 1.131, 1.042, 0.966, 0.905, 0.887, 0.908, 0.949",\
                 "2.176, 2.184, 2.067, 1.937, 1.777, 1.665, 1.669, 1.597, 1.634, 1.668",\
                 "3.147, 3.144, 3.046, 2.879, 2.68, 2.58, 2.538, 2.49, 2.476, 2.549");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.378, -0.391, -0.447, -0.516, -0.59, -0.635, -0.656, -0.662, -0.632, -0.574",\
                 "-0.382, -0.39, -0.45, -0.527, -0.587, -0.642, -0.664, -0.667, -0.643, -0.581",\
                 "-0.39, -0.403, -0.456, -0.537, -0.599, -0.653, -0.682, -0.683, -0.652, -0.6",\
                 "-0.356, -0.37, -0.43, -0.505, -0.575, -0.629, -0.655, -0.656, -0.626, -0.584",\
                 "-0.161, -0.162, -0.226, -0.306, -0.383, -0.442, -0.467, -0.478, -0.452, -0.403",\
                 "0.215, 0.194, 0.124, 0.037, -0.048, -0.113, -0.15, -0.149, -0.124, -0.077",\
                 "0.715, 0.715, 0.647, 0.525, 0.417, 0.359, 0.331, 0.296, 0.322, 0.367",\
                 "1.364, 1.377, 1.262, 1.131, 1.042, 0.966, 0.915, 0.887, 0.908, 0.949",\
                 "2.168, 2.184, 2.042, 1.928, 1.777, 1.686, 1.669, 1.597, 1.634, 1.677",\
                 "3.12, 3.165, 3.03, 2.879, 2.68, 2.548, 2.538, 2.49, 2.512, 2.549");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.607, 0.616, 0.667, 0.753, 0.822, 0.877, 0.917, 0.939, 0.942, 0.913",\
                 "0.607, 0.619, 0.675, 0.758, 0.826, 0.884, 0.921, 0.941, 0.94, 0.911",\
                 "0.632, 0.646, 0.693, 0.775, 0.852, 0.902, 0.945, 0.963, 0.966, 0.933",\
                 "0.701, 0.708, 0.761, 0.843, 0.908, 0.966, 1.005, 1.024, 1.019, 0.993",\
                 "0.809, 0.826, 0.879, 0.955, 1.023, 1.082, 1.114, 1.138, 1.133, 1.101",\
                 "0.971, 0.984, 1.031, 1.111, 1.179, 1.236, 1.275, 1.294, 1.287, 1.261",\
                 "1.165, 1.178, 1.229, 1.313, 1.374, 1.426, 1.469, 1.49, 1.486, 1.46",\
                 "1.392, 1.405, 1.461, 1.535, 1.602, 1.653, 1.691, 1.717, 1.718, 1.701",\
                 "1.66, 1.669, 1.722, 1.794, 1.867, 1.914, 1.953, 1.982, 1.984, 1.971",\
                 "1.961, 1.971, 2.023, 2.096, 2.159, 2.212, 2.251, 2.281, 2.289, 2.272");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SETN&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.607, 0.616, 0.667, 0.753, 0.822, 0.877, 0.917, 0.939, 0.942, 0.913",\
                 "0.607, 0.619, 0.669, 0.758, 0.826, 0.884, 0.921, 0.941, 0.94, 0.911",\
                 "0.632, 0.646, 0.693, 0.775, 0.852, 0.902, 0.945, 0.963, 0.966, 0.933",\
                 "0.701, 0.708, 0.761, 0.843, 0.908, 0.966, 1.005, 1.024, 1.019, 0.993",\
                 "0.809, 0.826, 0.879, 0.955, 1.023, 1.082, 1.114, 1.138, 1.133, 1.101",\
                 "0.971, 0.984, 1.031, 1.111, 1.179, 1.236, 1.275, 1.294, 1.287, 1.261",\
                 "1.165, 1.178, 1.229, 1.313, 1.374, 1.426, 1.469, 1.49, 1.486, 1.46",\
                 "1.392, 1.405, 1.454, 1.535, 1.602, 1.653, 1.691, 1.717, 1.718, 1.701",\
                 "1.66, 1.669, 1.722, 1.794, 1.867, 1.914, 1.953, 1.982, 1.984, 1.962",\
                 "1.961, 1.971, 2.023, 2.096, 2.159, 2.212, 2.251, 2.281, 2.289, 2.272");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.607, 0.616, 0.667, 0.753, 0.822, 0.877, 0.917, 0.939, 0.942, 0.913",\
                 "0.607, 0.619, 0.669, 0.758, 0.826, 0.884, 0.921, 0.941, 0.94, 0.911",\
                 "0.632, 0.646, 0.693, 0.775, 0.852, 0.902, 0.945, 0.963, 0.966, 0.933",\
                 "0.701, 0.708, 0.761, 0.843, 0.908, 0.966, 1.005, 1.024, 1.019, 0.993",\
                 "0.809, 0.826, 0.879, 0.955, 1.023, 1.082, 1.114, 1.131, 1.133, 1.101",\
                 "0.971, 0.984, 1.031, 1.111, 1.179, 1.236, 1.275, 1.294, 1.287, 1.261",\
                 "1.165, 1.178, 1.229, 1.313, 1.374, 1.426, 1.469, 1.49, 1.486, 1.46",\
                 "1.392, 1.405, 1.454, 1.535, 1.602, 1.653, 1.691, 1.717, 1.718, 1.701",\
                 "1.66, 1.669, 1.722, 1.794, 1.867, 1.914, 1.953, 1.982, 1.984, 1.962",\
                 "1.961, 1.971, 2.023, 2.096, 2.159, 2.212, 2.251, 2.281, 2.289, 2.272");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.607, 0.616, 0.667, 0.753, 0.822, 0.877, 0.926, 0.939, 0.942, 0.913",\
                 "0.607, 0.619, 0.669, 0.758, 0.826, 0.884, 0.921, 0.941, 0.94, 0.911",\
                 "0.632, 0.646, 0.693, 0.775, 0.852, 0.902, 0.945, 0.963, 0.966, 0.933",\
                 "0.701, 0.708, 0.761, 0.843, 0.913, 0.966, 1.005, 1.024, 1.019, 0.993",\
                 "0.809, 0.826, 0.879, 0.955, 1.023, 1.082, 1.114, 1.138, 1.133, 1.101",\
                 "0.971, 0.984, 1.031, 1.111, 1.179, 1.236, 1.275, 1.294, 1.287, 1.261",\
                 "1.165, 1.178, 1.229, 1.313, 1.374, 1.426, 1.469, 1.49, 1.486, 1.46",\
                 "1.392, 1.405, 1.454, 1.535, 1.602, 1.653, 1.691, 1.717, 1.718, 1.701",\
                 "1.66, 1.669, 1.722, 1.794, 1.867, 1.914, 1.953, 1.982, 1.984, 1.971",\
                 "1.961, 1.971, 2.023, 2.096, 2.159, 2.212, 2.251, 2.281, 2.289, 2.272");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.492");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.049, 0.082, 0.135, 0.167, 0.186, 0.192, 0.178, 0.138, 0.075",\
                 "0.026, 0.039, 0.077, 0.122, 0.155, 0.176, 0.184, 0.171, 0.129, 0.067",\
                 "0.009, 0.018, 0.055, 0.103, 0.148, 0.168, 0.176, 0.162, 0.122, 0.059",\
                 "-0.008, 0.004, 0.037, 0.085, 0.121, 0.147, 0.156, 0.149, 0.111, 0.048",\
                 "-0.025, -0.016, 0.018, 0.064, 0.101, 0.127, 0.136, 0.124, 0.092, 0.028",\
                 "-0.042, -0.035, -0.002, 0.044, 0.084, 0.108, 0.123, 0.107, 0.066, 0.006",\
                 "-0.049, -0.039, -0.003, 0.034, 0.076, 0.099, 0.113, 0.095, 0.056, -0.01",\
                 "-0.036, -0.028, -0, 0.039, 0.077, 0.104, 0.11, 0.097, 0.057, -0.007",\
                 "-0.003, -0.001, 0.026, 0.064, 0.097, 0.122, 0.133, 0.118, 0.077, 0.017",\
                 "0.04, 0.043, 0.071, 0.104, 0.139, 0.162, 0.174, 0.159, 0.118, 0.052");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.049, 0.082, 0.135, 0.167, 0.186, 0.192, 0.178, 0.138, 0.075",\
                 "0.026, 0.039, 0.077, 0.122, 0.155, 0.176, 0.184, 0.171, 0.129, 0.067",\
                 "0.009, 0.018, 0.055, 0.103, 0.148, 0.168, 0.176, 0.162, 0.122, 0.059",\
                 "-0.008, 0.004, 0.037, 0.085, 0.121, 0.147, 0.156, 0.149, 0.111, 0.048",\
                 "-0.025, -0.016, 0.018, 0.064, 0.101, 0.127, 0.136, 0.124, 0.092, 0.028",\
                 "-0.042, -0.035, -0.002, 0.044, 0.084, 0.108, 0.123, 0.107, 0.066, 0.006",\
                 "-0.049, -0.039, -0.003, 0.034, 0.076, 0.099, 0.113, 0.095, 0.056, -0.01",\
                 "-0.036, -0.028, -0, 0.039, 0.077, 0.104, 0.11, 0.097, 0.057, -0.007",\
                 "-0.003, -0.001, 0.026, 0.064, 0.097, 0.122, 0.133, 0.118, 0.077, 0.017",\
                 "0.04, 0.043, 0.071, 0.104, 0.139, 0.162, 0.174, 0.159, 0.118, 0.052");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.049, 0.082, 0.135, 0.167, 0.186, 0.192, 0.178, 0.138, 0.075",\
                 "0.026, 0.039, 0.077, 0.122, 0.155, 0.176, 0.184, 0.171, 0.129, 0.067",\
                 "0.009, 0.018, 0.055, 0.103, 0.148, 0.168, 0.176, 0.162, 0.122, 0.059",\
                 "-0.008, 0.004, 0.037, 0.085, 0.121, 0.147, 0.156, 0.149, 0.111, 0.048",\
                 "-0.025, -0.016, 0.018, 0.064, 0.101, 0.127, 0.136, 0.124, 0.092, 0.028",\
                 "-0.042, -0.035, -0.002, 0.044, 0.084, 0.108, 0.123, 0.107, 0.066, 0.006",\
                 "-0.049, -0.039, -0.003, 0.034, 0.076, 0.099, 0.113, 0.095, 0.056, -0.01",\
                 "-0.036, -0.028, -0, 0.039, 0.077, 0.104, 0.11, 0.097, 0.057, -0.007",\
                 "-0.003, -0.001, 0.026, 0.064, 0.097, 0.122, 0.133, 0.118, 0.077, 0.017",\
                 "0.04, 0.043, 0.071, 0.104, 0.139, 0.162, 0.174, 0.159, 0.118, 0.052");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.049, 0.082, 0.135, 0.167, 0.186, 0.192, 0.178, 0.138, 0.075",\
                 "0.026, 0.039, 0.077, 0.122, 0.155, 0.176, 0.184, 0.171, 0.129, 0.067",\
                 "0.009, 0.018, 0.055, 0.103, 0.148, 0.168, 0.176, 0.162, 0.122, 0.059",\
                 "-0.008, 0.004, 0.037, 0.085, 0.121, 0.147, 0.156, 0.149, 0.111, 0.048",\
                 "-0.025, -0.016, 0.018, 0.064, 0.101, 0.127, 0.136, 0.124, 0.092, 0.028",\
                 "-0.042, -0.035, -0.002, 0.044, 0.084, 0.108, 0.123, 0.107, 0.066, 0.006",\
                 "-0.049, -0.039, -0.003, 0.034, 0.076, 0.099, 0.113, 0.095, 0.056, -0.01",\
                 "-0.036, -0.028, -0, 0.039, 0.077, 0.104, 0.11, 0.097, 0.057, -0.007",\
                 "-0.003, -0.001, 0.026, 0.064, 0.097, 0.122, 0.133, 0.118, 0.077, 0.017",\
                 "0.04, 0.043, 0.071, 0.104, 0.138, 0.162, 0.174, 0.159, 0.118, 0.052");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.049, 0.082, 0.135, 0.167, 0.186, 0.192, 0.178, 0.138, 0.075",\
                 "0.026, 0.039, 0.077, 0.122, 0.155, 0.176, 0.184, 0.171, 0.129, 0.067",\
                 "0.009, 0.018, 0.055, 0.103, 0.148, 0.168, 0.176, 0.162, 0.122, 0.059",\
                 "-0.008, 0.004, 0.037, 0.085, 0.121, 0.147, 0.156, 0.149, 0.111, 0.048",\
                 "-0.025, -0.016, 0.018, 0.064, 0.101, 0.127, 0.136, 0.124, 0.092, 0.028",\
                 "-0.042, -0.035, -0.002, 0.044, 0.084, 0.108, 0.123, 0.107, 0.066, 0.006",\
                 "-0.049, -0.039, -0.003, 0.034, 0.076, 0.099, 0.113, 0.095, 0.056, -0.01",\
                 "-0.036, -0.028, -0, 0.039, 0.077, 0.104, 0.11, 0.097, 0.057, -0.007",\
                 "-0.003, -0.001, 0.026, 0.064, 0.097, 0.122, 0.133, 0.118, 0.077, 0.017",\
                 "0.04, 0.043, 0.071, 0.104, 0.139, 0.162, 0.174, 0.159, 0.118, 0.052");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.049, 0.082, 0.135, 0.167, 0.186, 0.192, 0.178, 0.138, 0.075",\
                 "0.026, 0.039, 0.077, 0.122, 0.155, 0.176, 0.184, 0.171, 0.129, 0.067",\
                 "0.009, 0.018, 0.055, 0.103, 0.148, 0.168, 0.176, 0.162, 0.122, 0.059",\
                 "-0.008, 0.004, 0.037, 0.085, 0.121, 0.147, 0.156, 0.149, 0.111, 0.048",\
                 "-0.025, -0.016, 0.018, 0.064, 0.101, 0.127, 0.136, 0.124, 0.092, 0.028",\
                 "-0.042, -0.035, -0.002, 0.044, 0.084, 0.108, 0.123, 0.107, 0.066, 0.006",\
                 "-0.049, -0.039, -0.003, 0.034, 0.076, 0.099, 0.113, 0.095, 0.056, -0.01",\
                 "-0.036, -0.028, -0, 0.039, 0.077, 0.104, 0.11, 0.097, 0.057, -0.007",\
                 "-0.003, -0.001, 0.026, 0.064, 0.097, 0.122, 0.133, 0.118, 0.077, 0.017",\
                 "0.04, 0.043, 0.071, 0.104, 0.138, 0.162, 0.174, 0.159, 0.118, 0.052");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.049, 0.082, 0.135, 0.167, 0.186, 0.192, 0.178, 0.138, 0.075",\
                 "0.026, 0.039, 0.077, 0.122, 0.155, 0.176, 0.184, 0.171, 0.129, 0.067",\
                 "0.009, 0.018, 0.055, 0.103, 0.148, 0.168, 0.176, 0.162, 0.122, 0.059",\
                 "-0.008, 0.004, 0.037, 0.085, 0.121, 0.147, 0.156, 0.149, 0.111, 0.048",\
                 "-0.025, -0.016, 0.018, 0.064, 0.101, 0.127, 0.136, 0.124, 0.092, 0.028",\
                 "-0.042, -0.035, -0.002, 0.044, 0.084, 0.108, 0.123, 0.107, 0.066, 0.006",\
                 "-0.049, -0.039, -0.003, 0.034, 0.076, 0.099, 0.113, 0.095, 0.056, -0.01",\
                 "-0.036, -0.028, -0, 0.039, 0.077, 0.104, 0.11, 0.097, 0.057, -0.007",\
                 "-0.003, -0.001, 0.026, 0.064, 0.097, 0.122, 0.133, 0.118, 0.077, 0.017",\
                 "0.04, 0.043, 0.071, 0.104, 0.139, 0.162, 0.174, 0.159, 0.118, 0.052");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.049, 0.082, 0.135, 0.167, 0.186, 0.192, 0.178, 0.138, 0.075",\
                 "0.026, 0.039, 0.077, 0.122, 0.155, 0.176, 0.184, 0.171, 0.129, 0.067",\
                 "0.009, 0.018, 0.055, 0.103, 0.148, 0.168, 0.176, 0.162, 0.122, 0.059",\
                 "-0.008, 0.004, 0.037, 0.085, 0.121, 0.147, 0.156, 0.149, 0.111, 0.048",\
                 "-0.025, -0.016, 0.018, 0.064, 0.101, 0.127, 0.136, 0.124, 0.092, 0.028",\
                 "-0.042, -0.035, -0.002, 0.044, 0.084, 0.108, 0.123, 0.107, 0.066, 0.006",\
                 "-0.049, -0.039, -0.003, 0.033, 0.076, 0.099, 0.113, 0.095, 0.056, -0.01",\
                 "-0.036, -0.028, -0, 0.039, 0.077, 0.104, 0.11, 0.097, 0.057, -0.007",\
                 "-0.003, -0.001, 0.026, 0.064, 0.096, 0.122, 0.133, 0.118, 0.077, 0.017",\
                 "0.04, 0.043, 0.071, 0.104, 0.139, 0.162, 0.174, 0.159, 0.118, 0.052");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.04, -0.004, 0.044, 0.085, 0.111, 0.125, 0.119, 0.091, 0.049",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.106, 0.115, 0.111, 0.089, 0.041",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.043",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.102, 0.053",\
                 "-0.04, -0.031, 0.01, 0.053, 0.095, 0.127, 0.142, 0.138, 0.121, 0.07",\
                 "0.004, 0.012, 0.049, 0.095, 0.136, 0.167, 0.184, 0.174, 0.15, 0.097",\
                 "0.078, 0.081, 0.115, 0.164, 0.202, 0.234, 0.25, 0.241, 0.21, 0.162",\
                 "0.176, 0.181, 0.211, 0.252, 0.299, 0.331, 0.345, 0.338, 0.307, 0.256",\
                 "0.315, 0.32, 0.341, 0.387, 0.428, 0.457, 0.475, 0.476, 0.443, 0.386",\
                 "0.483, 0.488, 0.51, 0.552, 0.592, 0.628, 0.645, 0.646, 0.623, 0.563");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.04, -0.004, 0.044, 0.085, 0.111, 0.125, 0.119, 0.091, 0.049",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.106, 0.115, 0.111, 0.089, 0.041",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.043",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.102, 0.053",\
                 "-0.04, -0.031, 0.01, 0.053, 0.095, 0.127, 0.142, 0.138, 0.121, 0.07",\
                 "0.004, 0.012, 0.049, 0.095, 0.136, 0.167, 0.184, 0.174, 0.15, 0.097",\
                 "0.078, 0.081, 0.115, 0.164, 0.202, 0.234, 0.25, 0.241, 0.21, 0.162",\
                 "0.176, 0.181, 0.211, 0.252, 0.299, 0.331, 0.345, 0.338, 0.307, 0.256",\
                 "0.315, 0.32, 0.341, 0.387, 0.428, 0.457, 0.475, 0.476, 0.443, 0.386",\
                 "0.483, 0.488, 0.51, 0.552, 0.592, 0.628, 0.645, 0.646, 0.623, 0.563");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.04, -0.004, 0.044, 0.085, 0.111, 0.125, 0.119, 0.091, 0.049",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.106, 0.115, 0.111, 0.089, 0.041",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.043",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.102, 0.053",\
                 "-0.04, -0.031, 0.01, 0.053, 0.095, 0.127, 0.142, 0.138, 0.121, 0.07",\
                 "0.004, 0.012, 0.049, 0.095, 0.136, 0.167, 0.184, 0.174, 0.15, 0.097",\
                 "0.078, 0.081, 0.115, 0.164, 0.202, 0.234, 0.25, 0.241, 0.21, 0.162",\
                 "0.176, 0.181, 0.211, 0.252, 0.299, 0.331, 0.345, 0.338, 0.307, 0.256",\
                 "0.315, 0.32, 0.341, 0.387, 0.428, 0.457, 0.475, 0.476, 0.443, 0.386",\
                 "0.483, 0.488, 0.51, 0.552, 0.592, 0.628, 0.645, 0.646, 0.623, 0.563");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.04, -0.004, 0.044, 0.085, 0.111, 0.125, 0.119, 0.091, 0.049",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.106, 0.115, 0.111, 0.089, 0.041",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.043",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.102, 0.053",\
                 "-0.04, -0.031, 0.01, 0.053, 0.095, 0.127, 0.142, 0.138, 0.121, 0.07",\
                 "0.004, 0.012, 0.049, 0.095, 0.136, 0.167, 0.184, 0.174, 0.15, 0.097",\
                 "0.078, 0.081, 0.115, 0.164, 0.202, 0.234, 0.25, 0.241, 0.21, 0.162",\
                 "0.176, 0.181, 0.211, 0.252, 0.299, 0.331, 0.345, 0.338, 0.307, 0.256",\
                 "0.315, 0.32, 0.341, 0.387, 0.428, 0.457, 0.475, 0.476, 0.443, 0.386",\
                 "0.483, 0.488, 0.51, 0.552, 0.592, 0.628, 0.645, 0.646, 0.623, 0.563");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.04, -0.004, 0.044, 0.085, 0.111, 0.125, 0.119, 0.091, 0.049",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.106, 0.115, 0.111, 0.089, 0.041",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.043",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.102, 0.053",\
                 "-0.04, -0.031, 0.01, 0.053, 0.095, 0.127, 0.142, 0.138, 0.121, 0.07",\
                 "0.004, 0.012, 0.049, 0.095, 0.136, 0.167, 0.184, 0.174, 0.15, 0.097",\
                 "0.078, 0.081, 0.115, 0.164, 0.202, 0.234, 0.25, 0.241, 0.21, 0.162",\
                 "0.176, 0.181, 0.211, 0.252, 0.299, 0.331, 0.345, 0.338, 0.307, 0.256",\
                 "0.315, 0.32, 0.341, 0.387, 0.428, 0.457, 0.475, 0.476, 0.443, 0.386",\
                 "0.483, 0.488, 0.51, 0.552, 0.592, 0.628, 0.645, 0.646, 0.623, 0.563");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.04, -0.004, 0.044, 0.085, 0.111, 0.125, 0.119, 0.091, 0.049",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.106, 0.115, 0.111, 0.089, 0.041",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.043",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.102, 0.053",\
                 "-0.04, -0.031, 0.01, 0.053, 0.095, 0.127, 0.142, 0.138, 0.121, 0.07",\
                 "0.004, 0.012, 0.049, 0.095, 0.136, 0.167, 0.184, 0.174, 0.15, 0.097",\
                 "0.078, 0.081, 0.115, 0.164, 0.202, 0.234, 0.25, 0.241, 0.21, 0.162",\
                 "0.176, 0.181, 0.211, 0.252, 0.299, 0.331, 0.345, 0.338, 0.307, 0.256",\
                 "0.315, 0.32, 0.341, 0.387, 0.428, 0.457, 0.475, 0.476, 0.443, 0.386",\
                 "0.483, 0.488, 0.51, 0.552, 0.592, 0.628, 0.645, 0.646, 0.623, 0.563");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.04, -0.004, 0.044, 0.085, 0.111, 0.125, 0.119, 0.091, 0.049",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.106, 0.115, 0.111, 0.089, 0.041",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.043",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.102, 0.053",\
                 "-0.04, -0.031, 0.01, 0.053, 0.095, 0.127, 0.142, 0.138, 0.121, 0.07",\
                 "0.004, 0.012, 0.049, 0.095, 0.136, 0.167, 0.184, 0.174, 0.15, 0.097",\
                 "0.078, 0.081, 0.115, 0.164, 0.202, 0.234, 0.25, 0.241, 0.21, 0.162",\
                 "0.176, 0.181, 0.211, 0.252, 0.299, 0.331, 0.345, 0.338, 0.307, 0.256",\
                 "0.315, 0.32, 0.341, 0.387, 0.428, 0.457, 0.475, 0.476, 0.443, 0.386",\
                 "0.483, 0.488, 0.51, 0.552, 0.592, 0.628, 0.645, 0.646, 0.623, 0.563");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.04, -0.004, 0.044, 0.085, 0.111, 0.125, 0.119, 0.091, 0.049",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.106, 0.115, 0.111, 0.089, 0.041",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.112, 0.089, 0.043",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.11, 0.126, 0.122, 0.102, 0.053",\
                 "-0.04, -0.031, 0.01, 0.053, 0.095, 0.127, 0.142, 0.138, 0.121, 0.07",\
                 "0.004, 0.012, 0.049, 0.095, 0.136, 0.167, 0.184, 0.174, 0.15, 0.097",\
                 "0.078, 0.081, 0.115, 0.164, 0.202, 0.234, 0.25, 0.241, 0.21, 0.162",\
                 "0.176, 0.181, 0.211, 0.252, 0.299, 0.331, 0.345, 0.338, 0.307, 0.256",\
                 "0.315, 0.32, 0.341, 0.387, 0.428, 0.457, 0.475, 0.476, 0.443, 0.386",\
                 "0.483, 0.488, 0.51, 0.552, 0.592, 0.628, 0.645, 0.646, 0.623, 0.563");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.094, 0.085, 0.111, 0.176, 0.309, 0.516, 0.784, 1.127, 1.55",\
                 "0.11, 0.103, 0.095, 0.119, 0.193, 0.324, 0.527, 0.796, 1.147, 1.573",\
                 "0.136, 0.124, 0.118, 0.129, 0.192, 0.304, 0.486, 0.734, 1.044, 1.433",\
                 "0.162, 0.151, 0.138, 0.146, 0.18, 0.27, 0.424, 0.627, 0.894, 1.218",\
                 "0.167, 0.162, 0.139, 0.132, 0.155, 0.215, 0.327, 0.492, 0.703, 0.973",\
                 "0.175, 0.164, 0.149, 0.132, 0.144, 0.189, 0.288, 0.432, 0.62, 0.867",\
                 "0.167, 0.167, 0.148, 0.126, 0.131, 0.17, 0.25, 0.374, 0.552, 0.781",\
                 "0.154, 0.153, 0.137, 0.115, 0.116, 0.149, 0.231, 0.355, 0.53, 0.765",\
                 "0.13, 0.129, 0.106, 0.093, 0.092, 0.119, 0.198, 0.334, 0.521, 0.767",\
                 "0.085, 0.078, 0.064, 0.048, 0.04, 0.071, 0.154, 0.296, 0.503, 0.768");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.094, 0.085, 0.111, 0.176, 0.309, 0.516, 0.784, 1.127, 1.55",\
                 "0.11, 0.103, 0.095, 0.119, 0.193, 0.324, 0.527, 0.796, 1.147, 1.573",\
                 "0.136, 0.124, 0.118, 0.129, 0.192, 0.304, 0.486, 0.734, 1.052, 1.433",\
                 "0.162, 0.151, 0.138, 0.146, 0.18, 0.27, 0.424, 0.627, 0.894, 1.218",\
                 "0.167, 0.162, 0.139, 0.132, 0.155, 0.215, 0.327, 0.492, 0.703, 0.972",\
                 "0.175, 0.164, 0.149, 0.132, 0.144, 0.189, 0.288, 0.432, 0.62, 0.867",\
                 "0.167, 0.167, 0.148, 0.126, 0.131, 0.17, 0.25, 0.374, 0.552, 0.781",\
                 "0.154, 0.153, 0.137, 0.115, 0.116, 0.149, 0.231, 0.355, 0.53, 0.765",\
                 "0.13, 0.129, 0.106, 0.093, 0.092, 0.119, 0.198, 0.334, 0.521, 0.767",\
                 "0.085, 0.078, 0.064, 0.048, 0.04, 0.071, 0.154, 0.296, 0.503, 0.768");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.094, 0.085, 0.111, 0.176, 0.309, 0.516, 0.784, 1.135, 1.55",\
                 "0.11, 0.103, 0.095, 0.119, 0.193, 0.324, 0.527, 0.796, 1.147, 1.573",\
                 "0.136, 0.124, 0.118, 0.129, 0.192, 0.304, 0.486, 0.734, 1.052, 1.433",\
                 "0.162, 0.151, 0.138, 0.146, 0.18, 0.27, 0.424, 0.627, 0.894, 1.218",\
                 "0.167, 0.162, 0.139, 0.132, 0.155, 0.215, 0.327, 0.476, 0.703, 0.973",\
                 "0.175, 0.164, 0.149, 0.132, 0.144, 0.189, 0.288, 0.432, 0.62, 0.867",\
                 "0.167, 0.167, 0.148, 0.126, 0.131, 0.163, 0.25, 0.374, 0.552, 0.781",\
                 "0.154, 0.153, 0.137, 0.115, 0.116, 0.149, 0.231, 0.355, 0.53, 0.765",\
                 "0.13, 0.121, 0.106, 0.084, 0.083, 0.114, 0.192, 0.32, 0.513, 0.749",\
                 "0.085, 0.078, 0.064, 0.048, 0.04, 0.071, 0.154, 0.296, 0.503, 0.768");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.094, 0.085, 0.111, 0.176, 0.309, 0.516, 0.784, 1.135, 1.55",\
                 "0.11, 0.103, 0.095, 0.119, 0.185, 0.324, 0.527, 0.802, 1.147, 1.573",\
                 "0.136, 0.124, 0.118, 0.129, 0.192, 0.304, 0.486, 0.734, 1.044, 1.427",\
                 "0.162, 0.151, 0.138, 0.146, 0.18, 0.27, 0.424, 0.627, 0.894, 1.218",\
                 "0.167, 0.162, 0.139, 0.132, 0.155, 0.215, 0.327, 0.492, 0.703, 0.973",\
                 "0.175, 0.164, 0.149, 0.132, 0.144, 0.189, 0.288, 0.424, 0.62, 0.867",\
                 "0.167, 0.167, 0.148, 0.126, 0.131, 0.163, 0.25, 0.374, 0.552, 0.781",\
                 "0.16, 0.153, 0.131, 0.115, 0.116, 0.149, 0.231, 0.355, 0.537, 0.765",\
                 "0.13, 0.129, 0.106, 0.093, 0.092, 0.119, 0.198, 0.334, 0.521, 0.776",\
                 "0.08, 0.078, 0.064, 0.042, 0.04, 0.065, 0.147, 0.288, 0.485, 0.753");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.094, 0.085, 0.111, 0.176, 0.309, 0.516, 0.784, 1.127, 1.55",\
                 "0.11, 0.103, 0.095, 0.119, 0.185, 0.324, 0.527, 0.796, 1.147, 1.573",\
                 "0.136, 0.124, 0.118, 0.129, 0.192, 0.304, 0.486, 0.734, 1.052, 1.433",\
                 "0.162, 0.151, 0.138, 0.146, 0.18, 0.27, 0.424, 0.627, 0.894, 1.218",\
                 "0.167, 0.162, 0.139, 0.132, 0.155, 0.215, 0.327, 0.492, 0.703, 0.973",\
                 "0.175, 0.164, 0.149, 0.132, 0.144, 0.189, 0.288, 0.424, 0.62, 0.867",\
                 "0.167, 0.167, 0.148, 0.126, 0.131, 0.163, 0.25, 0.374, 0.552, 0.781",\
                 "0.16, 0.153, 0.137, 0.115, 0.116, 0.149, 0.231, 0.355, 0.53, 0.765",\
                 "0.13, 0.129, 0.106, 0.093, 0.092, 0.119, 0.198, 0.334, 0.521, 0.776",\
                 "0.08, 0.078, 0.064, 0.042, 0.04, 0.065, 0.147, 0.288, 0.485, 0.753");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.094, 0.085, 0.111, 0.176, 0.309, 0.516, 0.784, 1.135, 1.55",\
                 "0.11, 0.103, 0.095, 0.119, 0.185, 0.324, 0.527, 0.796, 1.147, 1.573",\
                 "0.136, 0.124, 0.118, 0.129, 0.192, 0.304, 0.486, 0.734, 1.044, 1.427",\
                 "0.162, 0.151, 0.138, 0.146, 0.18, 0.27, 0.424, 0.627, 0.894, 1.218",\
                 "0.167, 0.162, 0.139, 0.132, 0.155, 0.215, 0.327, 0.492, 0.703, 0.979",\
                 "0.175, 0.164, 0.149, 0.132, 0.144, 0.189, 0.288, 0.424, 0.62, 0.867",\
                 "0.167, 0.167, 0.148, 0.126, 0.131, 0.163, 0.25, 0.374, 0.552, 0.781",\
                 "0.16, 0.153, 0.137, 0.115, 0.116, 0.149, 0.231, 0.355, 0.537, 0.765",\
                 "0.13, 0.129, 0.106, 0.093, 0.092, 0.119, 0.198, 0.334, 0.521, 0.776",\
                 "0.08, 0.078, 0.064, 0.042, 0.04, 0.065, 0.147, 0.288, 0.485, 0.753");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.094, 0.085, 0.111, 0.176, 0.309, 0.516, 0.784, 1.127, 1.55",\
                 "0.11, 0.103, 0.095, 0.119, 0.193, 0.324, 0.527, 0.796, 1.147, 1.573",\
                 "0.136, 0.124, 0.118, 0.129, 0.192, 0.304, 0.486, 0.734, 1.044, 1.433",\
                 "0.162, 0.151, 0.138, 0.146, 0.18, 0.27, 0.424, 0.627, 0.894, 1.218",\
                 "0.167, 0.162, 0.139, 0.132, 0.155, 0.215, 0.327, 0.492, 0.703, 0.973",\
                 "0.175, 0.164, 0.149, 0.132, 0.144, 0.189, 0.288, 0.432, 0.62, 0.867",\
                 "0.167, 0.167, 0.148, 0.126, 0.131, 0.17, 0.25, 0.374, 0.552, 0.781",\
                 "0.154, 0.147, 0.131, 0.115, 0.109, 0.141, 0.222, 0.343, 0.523, 0.749",\
                 "0.13, 0.129, 0.106, 0.093, 0.092, 0.119, 0.198, 0.334, 0.521, 0.776",\
                 "0.085, 0.078, 0.064, 0.048, 0.04, 0.071, 0.154, 0.296, 0.503, 0.768");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.094, 0.085, 0.111, 0.176, 0.309, 0.516, 0.784, 1.135, 1.555",\
                 "0.11, 0.103, 0.095, 0.119, 0.185, 0.324, 0.527, 0.796, 1.147, 1.573",\
                 "0.136, 0.124, 0.118, 0.129, 0.192, 0.304, 0.486, 0.734, 1.052, 1.427",\
                 "0.162, 0.151, 0.138, 0.146, 0.18, 0.27, 0.424, 0.627, 0.894, 1.218",\
                 "0.167, 0.162, 0.139, 0.132, 0.155, 0.215, 0.327, 0.492, 0.692, 0.973",\
                 "0.175, 0.164, 0.149, 0.132, 0.144, 0.189, 0.288, 0.424, 0.62, 0.867",\
                 "0.167, 0.167, 0.148, 0.126, 0.131, 0.163, 0.25, 0.374, 0.558, 0.781",\
                 "0.16, 0.153, 0.137, 0.115, 0.116, 0.149, 0.231, 0.355, 0.537, 0.765",\
                 "0.13, 0.129, 0.106, 0.093, 0.092, 0.119, 0.198, 0.334, 0.521, 0.776",\
                 "0.08, 0.078, 0.064, 0.042, 0.04, 0.065, 0.147, 0.288, 0.485, 0.747");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.122, 0.106, 0.129, 0.199, 0.337, 0.55, 0.826, 1.19, 1.623",\
                 "0.131, 0.127, 0.113, 0.129, 0.2, 0.336, 0.544, 0.826, 1.179, 1.615",\
                 "0.146, 0.142, 0.126, 0.141, 0.201, 0.323, 0.513, 0.771, 1.093, 1.492",\
                 "0.162, 0.151, 0.138, 0.138, 0.18, 0.278, 0.434, 0.64, 0.912, 1.251",\
                 "0.144, 0.139, 0.122, 0.111, 0.135, 0.198, 0.316, 0.484, 0.712, 0.985",\
                 "0.111, 0.106, 0.086, 0.074, 0.083, 0.13, 0.227, 0.365, 0.562, 0.809",\
                 "0.049, 0.047, 0.022, 0.006, 0.01, 0.049, 0.129, 0.257, 0.428, 0.652",\
                 "-0.047, -0.05, -0.068, -0.085, -0.091, -0.062, 0.007, 0.12, 0.287, 0.502",\
                 "-0.172, -0.176, -0.192, -0.213, -0.211, -0.196, -0.133, -0.017, 0.155, 0.37",\
                 "-0.316, -0.321, -0.333, -0.349, -0.353, -0.336, -0.281, -0.158, 0.026, 0.261");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.122, 0.106, 0.129, 0.199, 0.337, 0.55, 0.826, 1.19, 1.623",\
                 "0.131, 0.127, 0.113, 0.129, 0.2, 0.336, 0.544, 0.826, 1.179, 1.615",\
                 "0.146, 0.142, 0.126, 0.141, 0.201, 0.323, 0.513, 0.771, 1.093, 1.497",\
                 "0.162, 0.151, 0.138, 0.138, 0.18, 0.278, 0.434, 0.64, 0.912, 1.251",\
                 "0.144, 0.139, 0.122, 0.111, 0.135, 0.198, 0.316, 0.484, 0.712, 0.985",\
                 "0.111, 0.106, 0.086, 0.074, 0.083, 0.13, 0.227, 0.365, 0.562, 0.809",\
                 "0.049, 0.047, 0.022, 0.006, 0.01, 0.049, 0.129, 0.257, 0.428, 0.652",\
                 "-0.047, -0.05, -0.068, -0.085, -0.091, -0.062, 0.007, 0.12, 0.287, 0.502",\
                 "-0.172, -0.176, -0.192, -0.213, -0.211, -0.196, -0.133, -0.017, 0.155, 0.37",\
                 "-0.316, -0.321, -0.333, -0.349, -0.353, -0.336, -0.281, -0.158, 0.026, 0.261");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.122, 0.106, 0.129, 0.199, 0.337, 0.55, 0.826, 1.19, 1.623",\
                 "0.131, 0.127, 0.113, 0.129, 0.2, 0.336, 0.544, 0.826, 1.179, 1.615",\
                 "0.146, 0.142, 0.126, 0.141, 0.201, 0.323, 0.513, 0.771, 1.102, 1.497",\
                 "0.162, 0.151, 0.138, 0.138, 0.18, 0.278, 0.434, 0.64, 0.912, 1.251",\
                 "0.144, 0.139, 0.122, 0.111, 0.135, 0.198, 0.316, 0.484, 0.712, 0.985",\
                 "0.111, 0.106, 0.086, 0.074, 0.083, 0.13, 0.227, 0.365, 0.562, 0.809",\
                 "0.049, 0.047, 0.022, 0.006, 0.01, 0.049, 0.129, 0.257, 0.428, 0.652",\
                 "-0.047, -0.05, -0.068, -0.085, -0.091, -0.062, 0.007, 0.12, 0.287, 0.502",\
                 "-0.172, -0.176, -0.192, -0.213, -0.211, -0.19, -0.133, -0.017, 0.155, 0.37",\
                 "-0.316, -0.321, -0.333, -0.349, -0.359, -0.336, -0.281, -0.158, 0.026, 0.261");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.122, 0.106, 0.129, 0.199, 0.337, 0.55, 0.826, 1.19, 1.623",\
                 "0.131, 0.127, 0.113, 0.129, 0.2, 0.336, 0.544, 0.826, 1.179, 1.615",\
                 "0.146, 0.142, 0.126, 0.141, 0.201, 0.323, 0.513, 0.771, 1.102, 1.497",\
                 "0.162, 0.151, 0.138, 0.138, 0.18, 0.278, 0.434, 0.64, 0.912, 1.251",\
                 "0.144, 0.139, 0.122, 0.111, 0.135, 0.198, 0.316, 0.484, 0.712, 0.985",\
                 "0.111, 0.106, 0.086, 0.074, 0.083, 0.13, 0.227, 0.365, 0.562, 0.802",\
                 "0.049, 0.047, 0.022, 0.006, 0.01, 0.049, 0.129, 0.247, 0.428, 0.652",\
                 "-0.047, -0.05, -0.068, -0.085, -0.091, -0.062, 0.007, 0.12, 0.287, 0.51",\
                 "-0.172, -0.176, -0.192, -0.213, -0.211, -0.19, -0.133, -0.017, 0.155, 0.37",\
                 "-0.316, -0.321, -0.333, -0.349, -0.359, -0.336, -0.274, -0.158, 0.026, 0.261");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.122, 0.106, 0.129, 0.199, 0.337, 0.55, 0.826, 1.19, 1.623",\
                 "0.131, 0.127, 0.113, 0.129, 0.2, 0.336, 0.544, 0.826, 1.179, 1.615",\
                 "0.146, 0.142, 0.126, 0.141, 0.201, 0.323, 0.513, 0.771, 1.093, 1.497",\
                 "0.162, 0.151, 0.138, 0.138, 0.18, 0.278, 0.434, 0.64, 0.912, 1.251",\
                 "0.144, 0.139, 0.122, 0.111, 0.135, 0.198, 0.316, 0.484, 0.712, 0.985",\
                 "0.111, 0.106, 0.086, 0.074, 0.083, 0.13, 0.227, 0.365, 0.562, 0.809",\
                 "0.049, 0.047, 0.022, 0.006, 0.01, 0.049, 0.129, 0.247, 0.428, 0.652",\
                 "-0.047, -0.05, -0.068, -0.085, -0.091, -0.062, 0.007, 0.12, 0.287, 0.502",\
                 "-0.172, -0.176, -0.192, -0.213, -0.211, -0.196, -0.133, -0.017, 0.155, 0.37",\
                 "-0.316, -0.321, -0.333, -0.349, -0.359, -0.336, -0.274, -0.158, 0.026, 0.261");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.122, 0.106, 0.129, 0.199, 0.337, 0.55, 0.826, 1.19, 1.623",\
                 "0.131, 0.127, 0.113, 0.129, 0.2, 0.336, 0.544, 0.826, 1.179, 1.615",\
                 "0.146, 0.142, 0.126, 0.141, 0.201, 0.323, 0.513, 0.771, 1.102, 1.497",\
                 "0.162, 0.151, 0.138, 0.138, 0.18, 0.278, 0.434, 0.64, 0.912, 1.251",\
                 "0.144, 0.139, 0.122, 0.111, 0.135, 0.198, 0.316, 0.484, 0.712, 0.985",\
                 "0.111, 0.106, 0.086, 0.074, 0.083, 0.13, 0.227, 0.365, 0.562, 0.809",\
                 "0.049, 0.047, 0.022, 0.006, 0.01, 0.049, 0.129, 0.247, 0.428, 0.652",\
                 "-0.047, -0.05, -0.068, -0.085, -0.091, -0.062, 0.007, 0.12, 0.287, 0.51",\
                 "-0.172, -0.176, -0.192, -0.213, -0.211, -0.196, -0.133, -0.017, 0.155, 0.37",\
                 "-0.316, -0.321, -0.333, -0.349, -0.359, -0.336, -0.274, -0.158, 0.026, 0.261");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.122, 0.106, 0.129, 0.199, 0.337, 0.55, 0.826, 1.19, 1.623",\
                 "0.131, 0.127, 0.113, 0.129, 0.2, 0.336, 0.544, 0.826, 1.179, 1.615",\
                 "0.146, 0.142, 0.126, 0.141, 0.201, 0.323, 0.513, 0.771, 1.102, 1.492",\
                 "0.162, 0.151, 0.138, 0.138, 0.18, 0.278, 0.434, 0.64, 0.912, 1.246",\
                 "0.144, 0.139, 0.122, 0.111, 0.135, 0.198, 0.316, 0.484, 0.712, 0.985",\
                 "0.111, 0.106, 0.086, 0.074, 0.083, 0.13, 0.227, 0.365, 0.562, 0.809",\
                 "0.049, 0.047, 0.022, 0.006, 0.01, 0.049, 0.129, 0.257, 0.428, 0.652",\
                 "-0.047, -0.05, -0.068, -0.085, -0.091, -0.062, 0.007, 0.12, 0.287, 0.502",\
                 "-0.172, -0.176, -0.192, -0.213, -0.211, -0.196, -0.133, -0.017, 0.155, 0.37",\
                 "-0.316, -0.321, -0.333, -0.349, -0.359, -0.336, -0.274, -0.158, 0.026, 0.261");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.122, 0.106, 0.129, 0.199, 0.337, 0.55, 0.826, 1.19, 1.623",\
                 "0.131, 0.127, 0.113, 0.129, 0.2, 0.336, 0.544, 0.826, 1.179, 1.615",\
                 "0.146, 0.142, 0.126, 0.141, 0.201, 0.323, 0.513, 0.771, 1.102, 1.497",\
                 "0.162, 0.151, 0.138, 0.138, 0.18, 0.278, 0.424, 0.64, 0.912, 1.251",\
                 "0.144, 0.139, 0.122, 0.111, 0.135, 0.198, 0.316, 0.484, 0.712, 0.985",\
                 "0.111, 0.106, 0.086, 0.074, 0.083, 0.13, 0.227, 0.365, 0.562, 0.809",\
                 "0.049, 0.047, 0.022, 0.006, 0.01, 0.049, 0.129, 0.257, 0.428, 0.652",\
                 "-0.047, -0.05, -0.068, -0.085, -0.091, -0.062, 0.007, 0.12, 0.287, 0.51",\
                 "-0.164, -0.168, -0.184, -0.204, -0.211, -0.185, -0.121, -0.004, 0.171, 0.398",\
                 "-0.316, -0.321, -0.333, -0.349, -0.359, -0.336, -0.274, -0.158, 0.026, 0.261");
        }
      }
    }

    pin(SE) {
      capacitance : 0.005989 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05609, 0.05557, 0.05677, 0.06198, 0.07192, 0.0871, 0.108, 0.1351, \
                 0.1687, 0.209");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001195, 0.0009901, 0.001713, 0.005516, 0.01349, 0.02638, 0.04433, \
                 0.06772, 0.09677, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1515, 0.1506, 0.1511, 0.1559, 0.1679, 0.1896, 0.2223, 0.2671, \
                 0.3244, 0.3947");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03857, 0.03784, 0.03807, 0.04202, 0.05208, 0.07042, 0.09813, \
                 0.1361, 0.185, 0.2451");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0561, 0.05555, 0.05677, 0.06192, 0.0719, 0.08709, 0.108, 0.1351, \
                 0.1687, 0.209");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001199, 0.0009636, 0.001697, 0.005535, 0.0136, 0.02639, 0.04434, \
                 0.06769, 0.09679, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1903, 0.1894, 0.19, 0.1948, 0.2073, 0.2302, 0.2651, 0.3136, \
                 0.3759, 0.4516");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09687, 0.09615, 0.09631, 0.1004, 0.1116, 0.1315, 0.1618, 0.2029, \
                 0.2556, 0.32");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0561, 0.05556, 0.05677, 0.06197, 0.07187, 0.08707, 0.108, 0.1351, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001199, 0.0009917, 0.001707, 0.005528, 0.01359, 0.02637, 0.04432, \
                 0.0677, 0.09677, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1514, 0.1506, 0.1511, 0.156, 0.1679, 0.1896, 0.2223, 0.2671, \
                 0.3244, 0.3947");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03857, 0.03786, 0.03807, 0.04202, 0.05211, 0.07037, 0.09815, \
                 0.1361, 0.185, 0.2452");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05609, 0.05556, 0.05677, 0.06196, 0.07187, 0.08709, 0.108, 0.1351, \
                 0.1686, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001207, 0.0009503, 0.001705, 0.005502, 0.01357, 0.02641, 0.04433, \
                 0.0677, 0.09675, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1871, 0.1863, 0.1868, 0.1916, 0.2041, 0.2269, 0.2619, 0.3103, \
                 0.3723, 0.4478");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09951, 0.09873, 0.09892, 0.103, 0.1142, 0.1341, 0.1644, 0.2055, \
                 0.2582, 0.3226");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0942, 0.09368, 0.09484, 0.09983, 0.1096, 0.1247, 0.1457, 0.1731, \
                 0.2073, 0.2486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1019, 0.1017, 0.1023, 0.1059, 0.1137, 0.1263, 0.1441, 0.1673, \
                 0.1964, 0.2316");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.057, 0.0564, 0.05781, 0.06311, 0.07323, 0.0886, 0.1097, 0.1369, \
                 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001629, -0.002419, -0.002097, 0.001671, 0.009676, 0.02253, \
                 0.04055, 0.06397, 0.0931, 0.1282");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1517, 0.1512, 0.1523, 0.1573, 0.1671, 0.1822, 0.2033, 0.2309, \
                 0.2652, 0.3067");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1434, 0.1432, 0.1438, 0.1474, 0.1549, 0.1674, 0.1851, 0.2082, \
                 0.2373, 0.2726");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.057, 0.0564, 0.05781, 0.0631, 0.07324, 0.08862, 0.1097, 0.1369, \
                 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001642, -0.002419, -0.002101, 0.001671, 0.009688, 0.02253, \
                 0.04055, 0.06398, 0.09307, 0.1282");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09421, 0.09367, 0.09483, 0.09985, 0.1096, 0.1246, 0.1457, 0.1731, \
                 0.2073, 0.2486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1019, 0.1017, 0.1023, 0.1058, 0.1137, 0.1263, 0.1441, 0.1673, \
                 0.1965, 0.2317");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05702, 0.05648, 0.05783, 0.06314, 0.07318, 0.08858, 0.1097, \
                 0.1369, 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001636, -0.002412, -0.002094, 0.001687, 0.009721, 0.02256, \
                 0.04055, 0.06396, 0.0931, 0.1282");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1544, 0.1538, 0.155, 0.16, 0.1697, 0.1848, 0.2059, 0.2335, 0.2678, \
                 0.3094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1402, 0.14, 0.1406, 0.1441, 0.1517, 0.1642, 0.1819, 0.205, 0.2341, \
                 0.2694");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05702, 0.05646, 0.05783, 0.06312, 0.07318, 0.08859, 0.1097, \
                 0.1369, 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001634, -0.002427, -0.002094, 0.001666, 0.009716, 0.02257, \
                 0.04055, 0.06398, 0.09307, 0.1282");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0566, 0.05625, 0.05756, 0.06278, 0.07273, 0.08788, 0.1088, 0.1359, \
                 0.1694, 0.2097");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001102, 0.0008854, 0.001625, 0.005448, 0.01346, 0.02635, 0.04429, \
                 0.06766, 0.09673, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05697, 0.05624, 0.05744, 0.06262, 0.07263, 0.08782, 0.1088, \
                 0.1359, 0.1694, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001191, -0.001696, -0.001326, 0.002389, 0.0108, 0.02457, 0.04356, \
                 0.06762, 0.09699, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05661, 0.05627, 0.05757, 0.06276, 0.07268, 0.0879, 0.1088, 0.1359, \
                 0.1694, 0.2097");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001105, 0.0008886, 0.001624, 0.005445, 0.01354, 0.02633, 0.0443, \
                 0.06768, 0.09676, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05697, 0.05626, 0.05746, 0.06266, 0.07255, 0.0878, 0.1088, 0.1359, \
                 0.1695, 0.2099");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001179, -0.001683, -0.001306, 0.002388, 0.01083, 0.02454, 0.04357, \
                 0.06763, 0.09701, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05606, 0.05551, 0.05674, 0.06193, 0.07184, 0.08706, 0.108, 0.1351, \
                 0.1686, 0.209");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001123, 0.0008964, 0.001658, 0.005448, 0.01353, 0.02635, 0.0443, \
                 0.06767, 0.09677, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05675, 0.05621, 0.05747, 0.06265, 0.07257, 0.08783, 0.1088, \
                 0.1359, 0.1694, 0.2099");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00119, -0.001708, -0.001303, 0.002367, 0.01085, 0.02455, 0.04356, \
                 0.06763, 0.09703, 0.1322");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05607, 0.05551, 0.05674, 0.06194, 0.07188, 0.08703, 0.108, 0.1351, \
                 0.1686, 0.209");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001117, 0.0008725, 0.001653, 0.005443, 0.01346, 0.02634, 0.04431, \
                 0.06767, 0.09676, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07649, 0.07596, 0.07733, 0.08263, 0.09323, 0.1096, 0.1318, 0.16, \
                 0.1944, 0.2352");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001198, -0.001708, -0.001274, 0.002389, 0.01077, 0.02454, 0.04355, \
                 0.06763, 0.09701, 0.1322");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05774, 0.05721, 0.05839, 0.06337, 0.07311, 0.08813, 0.109, 0.1359, \
                 0.1694, 0.2097");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002312, 0.002075, 0.00281, 0.006533, 0.0145, 0.02734, 0.0453, \
                 0.06868, 0.09774, 0.1328");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05934, 0.0588, 0.06004, 0.06524, 0.07517, 0.09041, 0.1114, 0.1385, \
                 0.1721, 0.2125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002312, -0.002856, -0.002381, 0.00137, 0.009395, 0.02222, 0.04022, \
                 0.06361, 0.09269, 0.1278");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05775, 0.05722, 0.05835, 0.06333, 0.07309, 0.08813, 0.1089, \
                 0.1359, 0.1694, 0.2097");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002307, 0.002077, 0.00282, 0.006545, 0.01457, 0.02735, 0.0453, \
                 0.06866, 0.09775, 0.1327");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05933, 0.05882, 0.06007, 0.06524, 0.07518, 0.09042, 0.1114, \
                 0.1385, 0.1721, 0.2125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002317, -0.002843, -0.002371, 0.001391, 0.00942, 0.02224, 0.0402, \
                 0.0636, 0.09271, 0.1278");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05774, 0.05721, 0.05837, 0.06334, 0.07305, 0.08815, 0.109, 0.1359, \
                 0.1694, 0.2097");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002307, 0.002077, 0.002821, 0.006528, 0.01455, 0.02731, 0.04531, \
                 0.06866, 0.09772, 0.1328");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05933, 0.0588, 0.06011, 0.06522, 0.07516, 0.09042, 0.1114, 0.1385, \
                 0.1721, 0.2125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002317, -0.002872, -0.002368, 0.001357, 0.009441, 0.0222, 0.04021, \
                 0.06359, 0.09269, 0.1278");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05843, 0.05788, 0.05905, 0.06413, 0.07389, 0.08889, 0.1097, \
                 0.1367, 0.1701, 0.2104");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01673, 0.01649, 0.01723, 0.02095, 0.02899, 0.04181, 0.05977, \
                 0.08313, 0.1122, 0.1473");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05695, 0.05643, 0.05779, 0.06308, 0.07317, 0.08854, 0.1097, \
                 0.1369, 0.1705, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002086, -0.002674, -0.002208, 0.001525, 0.009596, 0.02244, \
                 0.04044, 0.06386, 0.09299, 0.1281");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.126, -0.115, -0.068, -0.001, 0.062, 0.1, 0.125, 0.119, 0.083, 0.028",\
                 "-0.138, -0.128, -0.083, -0.013, 0.054, 0.088, 0.115, 0.105, 0.072, 0.02",\
                 "-0.168, -0.154, -0.11, -0.042, 0.026, 0.06, 0.085, 0.075, 0.048, -0.011",\
                 "-0.217, -0.199, -0.155, -0.084, -0.021, 0.015, 0.036, 0.029, -0.003, -0.059",\
                 "-0.263, -0.247, -0.199, -0.137, -0.074, -0.04, -0.018, -0.025, -0.059, -0.115",\
                 "-0.319, -0.306, -0.258, -0.19, -0.126, -0.103, -0.086, -0.095, -0.133, -0.188",\
                 "-0.369, -0.356, -0.311, -0.245, -0.187, -0.157, -0.137, -0.149, -0.192, -0.245",\
                 "-0.408, -0.392, -0.348, -0.289, -0.235, -0.199, -0.192, -0.206, -0.247, -0.302",\
                 "-0.441, -0.419, -0.379, -0.329, -0.273, -0.25, -0.24, -0.253, -0.296, -0.352",\
                 "-0.481, -0.46, -0.433, -0.383, -0.326, -0.31, -0.311, -0.32, -0.368, -0.424");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.372, -0.361, -0.331, -0.31, -0.325, -0.355, -0.406, -0.483, -0.578, -0.706",\
                 "-0.384, -0.366, -0.338, -0.322, -0.332, -0.366, -0.416, -0.492, -0.586, -0.714",\
                 "-0.414, -0.396, -0.37, -0.349, -0.357, -0.393, -0.44, -0.522, -0.614, -0.74",\
                 "-0.453, -0.44, -0.415, -0.398, -0.401, -0.423, -0.473, -0.546, -0.641, -0.764",\
                 "-0.509, -0.494, -0.46, -0.443, -0.437, -0.46, -0.504, -0.572, -0.665, -0.782",\
                 "-0.549, -0.53, -0.5, -0.476, -0.468, -0.486, -0.524, -0.584, -0.678, -0.795",\
                 "-0.563, -0.544, -0.51, -0.485, -0.485, -0.5, -0.533, -0.598, -0.683, -0.795",\
                 "-0.544, -0.53, -0.497, -0.476, -0.471, -0.486, -0.524, -0.589, -0.672, -0.789",\
                 "-0.497, -0.483, -0.454, -0.434, -0.423, -0.449, -0.494, -0.557, -0.646, -0.758",\
                 "-0.418, -0.403, -0.374, -0.361, -0.356, -0.381, -0.425, -0.495, -0.584, -0.706");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.538, -0.525, -0.492, -0.474, -0.481, -0.504, -0.558, -0.631, -0.721, -0.841",\
                 "-0.548, -0.541, -0.51, -0.486, -0.494, -0.525, -0.57, -0.647, -0.738, -0.86",\
                 "-0.618, -0.604, -0.574, -0.558, -0.557, -0.591, -0.64, -0.708, -0.804, -0.928",\
                 "-0.734, -0.72, -0.688, -0.666, -0.675, -0.701, -0.753, -0.826, -0.92, -1.038",\
                 "-0.873, -0.865, -0.834, -0.812, -0.82, -0.846, -0.893, -0.965, -1.062, -1.181",\
                 "-1.055, -1.043, -1.01, -0.988, -0.994, -1.02, -1.069, -1.139, -1.238, -1.352",\
                 "-1.263, -1.247, -1.217, -1.194, -1.199, -1.228, -1.276, -1.34, -1.439, -1.558",\
                 "-1.505, -1.491, -1.46, -1.438, -1.441, -1.471, -1.51, -1.585, -1.678, -1.794",\
                 "-1.786, -1.767, -1.736, -1.718, -1.72, -1.743, -1.788, -1.86, -1.953, -2.064",\
                 "-2.1, -2.085, -2.053, -2.033, -2.035, -2.056, -2.102, -2.171, -2.26, -2.379");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.166, -0.149, -0.106, -0.037, 0.025, 0.06, 0.074, 0.071, 0.035, -0.019",\
                 "-0.186, -0.167, -0.125, -0.062, -0, 0.041, 0.055, 0.052, 0.024, -0.038",\
                 "-0.227, -0.213, -0.165, -0.1, -0.035, 0.003, 0.022, 0.013, -0.018, -0.075",\
                 "-0.262, -0.247, -0.201, -0.137, -0.074, -0.036, -0.014, -0.025, -0.055, -0.109",\
                 "-0.285, -0.27, -0.225, -0.158, -0.094, -0.057, -0.041, -0.039, -0.078, -0.132",\
                 "-0.273, -0.259, -0.213, -0.147, -0.083, -0.049, -0.025, -0.028, -0.065, -0.116",\
                 "-0.226, -0.21, -0.166, -0.095, -0.04, -0.002, 0.016, 0.017, -0.021, -0.074",\
                 "-0.148, -0.136, -0.087, -0.021, 0.04, 0.078, 0.101, 0.092, 0.057, 0.001",\
                 "-0.035, -0.017, 0.026, 0.098, 0.154, 0.19, 0.209, 0.206, 0.171, 0.116",\
                 "0.118, 0.132, 0.178, 0.25, 0.306, 0.343, 0.36, 0.358, 0.325, 0.272");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.048, 1.037, 0.97, 0.874, 0.801, 0.735, 0.702, 0.69, 0.705, 0.758",\
                 "1.054, 1.048, 0.983, 0.891, 0.803, 0.749, 0.716, 0.7, 0.714, 0.766",\
                 "1.086, 1.077, 1.008, 0.912, 0.836, 0.783, 0.74, 0.734, 0.746, 0.795",\
                 "1.135, 1.125, 1.059, 0.965, 0.887, 0.826, 0.793, 0.78, 0.798, 0.843",\
                 "1.231, 1.212, 1.148, 1.05, 0.969, 0.916, 0.876, 0.862, 0.882, 0.926",\
                 "1.378, 1.367, 1.304, 1.207, 1.135, 1.069, 1.029, 1.005, 1.023, 1.074",\
                 "1.592, 1.581, 1.516, 1.414, 1.332, 1.268, 1.219, 1.194, 1.208, 1.245",\
                 "1.848, 1.831, 1.771, 1.665, 1.582, 1.505, 1.451, 1.425, 1.428, 1.459",\
                 "2.152, 2.136, 2.067, 1.963, 1.862, 1.785, 1.728, 1.691, 1.688, 1.713",\
                 "2.491, 2.478, 2.408, 2.292, 2.197, 2.108, 2.045, 2.004, 1.998, 2.016");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.876, 0.86, 0.804, 0.729, 0.667, 0.648, 0.668, 0.708, 0.793, 0.899",\
                 "0.883, 0.866, 0.806, 0.737, 0.679, 0.654, 0.673, 0.718, 0.802, 0.907",\
                 "0.909, 0.894, 0.842, 0.761, 0.705, 0.681, 0.703, 0.746, 0.829, 0.934",\
                 "0.953, 0.941, 0.886, 0.812, 0.75, 0.724, 0.744, 0.787, 0.859, 0.966",\
                 "1.023, 1.004, 0.948, 0.866, 0.814, 0.785, 0.785, 0.825, 0.901, 0.997",\
                 "1.073, 1.06, 1.004, 0.922, 0.872, 0.837, 0.834, 0.87, 0.929, 1.029",\
                 "1.12, 1.101, 1.045, 0.965, 0.903, 0.871, 0.864, 0.901, 0.96, 1.052",\
                 "1.134, 1.12, 1.063, 0.984, 0.931, 0.89, 0.895, 0.916, 0.976, 1.06",\
                 "1.133, 1.116, 1.066, 0.984, 0.925, 0.889, 0.883, 0.908, 0.972, 1.055",\
                 "1.101, 1.089, 1.035, 0.96, 0.898, 0.86, 0.854, 0.879, 0.936, 1.024");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.013, 1.003, 0.943, 0.865, 0.809, 0.786, 0.803, 0.849, 0.928, 1.034",\
                 "1.033, 1.017, 0.96, 0.881, 0.826, 0.802, 0.818, 0.868, 0.946, 1.049",\
                 "1.096, 1.083, 1.031, 0.947, 0.896, 0.872, 0.894, 0.939, 1.011, 1.116",\
                 "1.208, 1.202, 1.141, 1.065, 1.009, 0.987, 1.003, 1.047, 1.13, 1.229",\
                 "1.35, 1.344, 1.286, 1.209, 1.151, 1.135, 1.14, 1.188, 1.27, 1.378",\
                 "1.533, 1.52, 1.458, 1.383, 1.327, 1.306, 1.319, 1.367, 1.442, 1.546",\
                 "1.744, 1.727, 1.67, 1.594, 1.532, 1.511, 1.534, 1.574, 1.651, 1.758",\
                 "1.984, 1.974, 1.92, 1.839, 1.782, 1.758, 1.773, 1.814, 1.894, 1.994",\
                 "2.272, 2.256, 2.199, 2.12, 2.06, 2.037, 2.053, 2.096, 2.163, 2.271",\
                 "2.59, 2.578, 2.52, 2.443, 2.382, 2.36, 2.373, 2.411, 2.485, 2.584");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.208, 1.195, 1.126, 1.028, 0.943, 0.867, 0.82, 0.802, 0.816, 0.863",\
                 "1.225, 1.215, 1.149, 1.045, 0.957, 0.884, 0.836, 0.814, 0.834, 0.876",\
                 "1.268, 1.255, 1.189, 1.08, 1.001, 0.929, 0.885, 0.858, 0.878, 0.918",\
                 "1.298, 1.288, 1.216, 1.111, 1.025, 0.958, 0.913, 0.887, 0.903, 0.949",\
                 "1.313, 1.29, 1.226, 1.119, 1.036, 0.969, 0.917, 0.899, 0.92, 0.967",\
                 "1.297, 1.284, 1.221, 1.12, 1.038, 0.961, 0.921, 0.895, 0.908, 0.964",\
                 "1.263, 1.247, 1.181, 1.075, 0.994, 0.925, 0.872, 0.862, 0.877, 0.924",\
                 "1.181, 1.174, 1.106, 1.004, 0.923, 0.856, 0.807, 0.784, 0.8, 0.845",\
                 "1.07, 1.052, 0.991, 0.888, 0.811, 0.737, 0.694, 0.672, 0.692, 0.74",\
                 "0.924, 0.906, 0.842, 0.742, 0.66, 0.595, 0.54, 0.528, 0.548, 0.589");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006251 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.686 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1591, 0.16, 0.1665, 0.1808, 0.2048, 0.2393, 0.285, 0.3427, \
                 0.4127");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05808, 0.05762, 0.05841, 0.06375, 0.07579, 0.09618, 0.1259, \
                 0.1656, 0.2158, 0.2773");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1591, 0.16, 0.1665, 0.1808, 0.2048, 0.2393, 0.285, 0.3427, \
                 0.4128");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05808, 0.05762, 0.05841, 0.06374, 0.07579, 0.09619, 0.1259, \
                 0.1656, 0.2158, 0.2773");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1591, 0.16, 0.1665, 0.1809, 0.2048, 0.2393, 0.285, 0.3427, \
                 0.4128");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05808, 0.05762, 0.05841, 0.06375, 0.0758, 0.09618, 0.1259, 0.1656, \
                 0.2158, 0.2773");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1129, 0.1127, 0.1132, 0.116, 0.1226, 0.1337, 0.1501, 0.1722, \
                 0.2003, 0.2348");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03044, 0.03025, 0.03067, 0.03315, 0.03863, 0.04808, 0.0621, \
                 0.08112, 0.1055, 0.1355");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06796, 0.06762, 0.06799, 0.07162, 0.07937, 0.09209, 0.1101, \
                 0.1338, 0.1632, 0.1989");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01205, 0.01482, 0.02129, 0.03201, 0.04755, \
                 0.06813, 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06796, 0.06762, 0.068, 0.07158, 0.07939, 0.09209, 0.1101, 0.1337, \
                 0.1632, 0.1988");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01205, 0.01482, 0.02129, 0.03201, 0.04756, \
                 0.06813, 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06796, 0.06762, 0.06802, 0.07159, 0.07936, 0.09209, 0.1101, \
                 0.1337, 0.1632, 0.1988");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01206, 0.01482, 0.02129, 0.032, 0.04757, 0.06813, \
                 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01853, 0.0185, 0.01853, 0.01848, 0.0185, 0.01851, 0.01851, \
                 0.0185, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01287, -0.01288, -0.01293, -0.01295, \
                 -0.01295, -0.01297, -0.01298");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1129, 0.1127, 0.1132, 0.1161, 0.1225, 0.1337, 0.1501, 0.1722, \
                 0.2004, 0.2348");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03045, 0.03025, 0.03066, 0.03316, 0.03863, 0.04808, 0.06207, \
                 0.08112, 0.1055, 0.1355");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1129, 0.1127, 0.1132, 0.1161, 0.1225, 0.1337, 0.1501, 0.1722, \
                 0.2003, 0.2348");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03044, 0.03025, 0.03066, 0.03316, 0.03864, 0.04808, 0.06208, \
                 0.08112, 0.1055, 0.1355");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1591, 0.16, 0.1665, 0.1809, 0.2047, 0.2393, 0.285, 0.3427, \
                 0.4128");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05808, 0.05762, 0.05841, 0.06375, 0.07579, 0.09618, 0.1259, \
                 0.1656, 0.2158, 0.2773");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1129, 0.1127, 0.1132, 0.1161, 0.1226, 0.1337, 0.1501, 0.1722, \
                 0.2004, 0.2348");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03044, 0.03025, 0.03066, 0.03315, 0.03862, 0.04809, 0.0621, \
                 0.08114, 0.1055, 0.1355");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01853, 0.01847, 0.0185, 0.0185, 0.0185, 0.01851, 0.01851, \
                 0.01851, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01287, -0.01288, -0.01293, -0.01294, \
                 -0.01294, -0.01297, -0.01296");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01853, 0.01847, 0.0185, 0.01851, 0.01849, 0.01852, \
                 0.01851, 0.0185, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01288, -0.01287, -0.01293, -0.01294, \
                 -0.01294, -0.01297, -0.01298");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06796, 0.06762, 0.06802, 0.07158, 0.07938, 0.09213, 0.1101, \
                 0.1337, 0.1633, 0.1989");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01206, 0.01482, 0.02129, 0.032, 0.04757, 0.06812, \
                 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01853, 0.01849, 0.01848, 0.01849, 0.01848, 0.01852, \
                 0.01853, 0.01852, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01288, -0.01288, -0.01294, -0.01295, \
                 -0.01294, -0.01297, -0.01299");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1589, 0.16, 0.1668, 0.1816, 0.2058, 0.2405, 0.2863, \
                 0.344, 0.4141");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05603, 0.05555, 0.05638, 0.06184, 0.07413, 0.09477, 0.1246, \
                 0.1644, 0.2147, 0.2761");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1589, 0.16, 0.1668, 0.1816, 0.2059, 0.2405, 0.2863, \
                 0.344, 0.414");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05603, 0.05555, 0.05638, 0.06184, 0.07413, 0.09477, 0.1246, \
                 0.1644, 0.2147, 0.2761");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1589, 0.16, 0.1668, 0.1816, 0.2058, 0.2405, 0.2863, \
                 0.344, 0.414");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05603, 0.05555, 0.05638, 0.06183, 0.07413, 0.09478, 0.1246, \
                 0.1643, 0.2147, 0.2761");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1589, 0.16, 0.1668, 0.1816, 0.2058, 0.2405, 0.2863, \
                 0.344, 0.414");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05603, 0.05556, 0.05638, 0.06184, 0.07413, 0.09479, 0.1246, \
                 0.1643, 0.2147, 0.2761");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01854, 0.0185, 0.01849, 0.01849, 0.01853, 0.01853, \
                 0.01851, 0.01852, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01286, -0.01286, -0.01288, -0.01292, -0.01292, \
                 -0.01294, -0.01297, -0.01296");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01854, 0.01851, 0.01849, 0.01851, 0.01852, 0.01852, \
                 0.01851, 0.01852, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01286, -0.01287, -0.01288, -0.01292, -0.01292, \
                 -0.01294, -0.01297, -0.01296");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01854, 0.01851, 0.01848, 0.01852, 0.01853, 0.01852, \
                 0.01853, 0.01852, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01286, -0.01287, -0.01288, -0.01292, -0.01292, \
                 -0.01294, -0.01296, -0.01296");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01853, 0.01848, 0.0185, 0.0185, 0.0185, 0.01852, 0.01853, \
                 0.0185, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01286, -0.01287, -0.01289, -0.01292, -0.01292, \
                 -0.01293, -0.01296, -0.01296");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1589, 0.16, 0.1668, 0.1816, 0.2058, 0.2405, 0.2863, \
                 0.344, 0.4141");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05603, 0.05555, 0.05638, 0.06184, 0.07413, 0.09473, 0.1246, \
                 0.1644, 0.2147, 0.2761");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1589, 0.16, 0.1668, 0.1816, 0.2058, 0.2405, 0.2863, \
                 0.344, 0.414");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05603, 0.05556, 0.05638, 0.06185, 0.07413, 0.09473, 0.1246, \
                 0.1644, 0.2147, 0.2761");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1589, 0.16, 0.1668, 0.1816, 0.2058, 0.2405, 0.2863, \
                 0.344, 0.414");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05603, 0.05555, 0.05638, 0.06183, 0.07413, 0.09479, 0.1246, \
                 0.1643, 0.2147, 0.2761");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1589, 0.16, 0.1668, 0.1816, 0.2058, 0.2405, 0.2863, \
                 0.344, 0.414");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05603, 0.05556, 0.05638, 0.06184, 0.07413, 0.09476, 0.1246, \
                 0.1643, 0.2147, 0.2761");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01853, 0.01847, 0.01851, 0.0185, 0.01852, 0.01851, \
                 0.01851, 0.01853, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01286, -0.01286, -0.01288, -0.01292, -0.01292, \
                 -0.01294, -0.01297, -0.01296");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01853, 0.01847, 0.0185, 0.01849, 0.01853, 0.01854, \
                 0.01849, 0.01853, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01286, -0.01287, -0.01288, -0.01292, -0.01292, \
                 -0.01294, -0.01297, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01854, 0.01851, 0.01847, 0.01851, 0.01854, 0.01853, \
                 0.01852, 0.01851, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01286, -0.01286, -0.01288, -0.01292, -0.01292, \
                 -0.01294, -0.01295, -0.01296");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01854, 0.0185, 0.01849, 0.01848, 0.01853, 0.01852, \
                 0.01851, 0.01853, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01286, -0.01287, -0.01288, -0.01292, -0.01292, \
                 -0.01294, -0.01295, -0.01296");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&RN&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.034, -0.042, -0.103, -0.189, -0.255, -0.307, -0.335, -0.349, -0.33, -0.283",\
                 "-0.026, -0.032, -0.094, -0.17, -0.247, -0.3, -0.33, -0.339, -0.322, -0.272",\
                 "0.018, 0.005, -0.055, -0.137, -0.199, -0.258, -0.284, -0.298, -0.28, -0.235",\
                 "0.099, 0.093, 0.034, -0.053, -0.121, -0.168, -0.205, -0.215, -0.189, -0.148",\
                 "0.234, 0.224, 0.165, 0.074, 0.007, -0.039, -0.073, -0.087, -0.064, -0.017",\
                 "0.428, 0.418, 0.347, 0.257, 0.179, 0.119, 0.079, 0.07, 0.096, 0.143",\
                 "0.766, 0.75, 0.665, 0.545, 0.445, 0.372, 0.307, 0.286, 0.298, 0.346",\
                 "1.311, 1.282, 1.181, 1.031, 0.931, 0.823, 0.739, 0.687, 0.692, 0.709",\
                 "1.985, 2.032, 1.851, 1.649, 1.55, 1.45, 1.356, 1.313, 1.307, 1.325",\
                 "2.793, 2.814, 2.633, 2.465, 2.31, 2.173, 2.067, 2.004, 2.043, 2.068");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&RN&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.034, -0.042, -0.103, -0.189, -0.255, -0.307, -0.335, -0.349, -0.322, -0.283",\
                 "-0.026, -0.032, -0.094, -0.17, -0.247, -0.3, -0.33, -0.339, -0.322, -0.272",\
                 "0.018, 0.005, -0.055, -0.137, -0.199, -0.258, -0.284, -0.298, -0.28, -0.235",\
                 "0.099, 0.093, 0.028, -0.053, -0.121, -0.168, -0.205, -0.215, -0.189, -0.148",\
                 "0.234, 0.224, 0.165, 0.074, 0.007, -0.039, -0.073, -0.087, -0.064, -0.016",\
                 "0.428, 0.418, 0.341, 0.249, 0.179, 0.119, 0.079, 0.07, 0.096, 0.143",\
                 "0.766, 0.767, 0.656, 0.545, 0.445, 0.372, 0.307, 0.286, 0.298, 0.346",\
                 "1.311, 1.329, 1.181, 1.031, 0.931, 0.823, 0.739, 0.687, 0.692, 0.709",\
                 "1.985, 2.023, 1.851, 1.649, 1.55, 1.45, 1.356, 1.313, 1.307, 1.325",\
                 "2.793, 2.814, 2.633, 2.404, 2.316, 2.173, 2.067, 1.996, 2.043, 2.068");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.034, -0.042, -0.103, -0.18, -0.255, -0.307, -0.335, -0.349, -0.33, -0.283",\
                 "-0.026, -0.04, -0.094, -0.17, -0.247, -0.3, -0.33, -0.339, -0.322, -0.272",\
                 "0.018, 0, -0.055, -0.137, -0.199, -0.258, -0.284, -0.298, -0.28, -0.235",\
                 "0.099, 0.093, 0.028, -0.053, -0.121, -0.168, -0.205, -0.215, -0.189, -0.148",\
                 "0.234, 0.224, 0.165, 0.074, 0.007, -0.039, -0.073, -0.087, -0.064, -0.016",\
                 "0.428, 0.418, 0.347, 0.249, 0.179, 0.119, 0.079, 0.07, 0.096, 0.143",\
                 "0.766, 0.767, 0.665, 0.546, 0.445, 0.372, 0.307, 0.286, 0.298, 0.346",\
                 "1.311, 1.335, 1.193, 1.031, 0.931, 0.823, 0.749, 0.687, 0.692, 0.709",\
                 "1.993, 2.032, 1.851, 1.649, 1.578, 1.45, 1.362, 1.313, 1.307, 1.325",\
                 "2.793, 2.814, 2.617, 2.404, 2.316, 2.173, 2.067, 2.012, 2.043, 2.068");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.034, -0.042, -0.103, -0.189, -0.255, -0.307, -0.335, -0.349, -0.33, -0.283",\
                 "-0.026, -0.032, -0.094, -0.18, -0.247, -0.3, -0.33, -0.339, -0.322, -0.272",\
                 "0.018, 0.005, -0.055, -0.137, -0.199, -0.258, -0.284, -0.298, -0.28, -0.235",\
                 "0.099, 0.093, 0.028, -0.053, -0.121, -0.168, -0.205, -0.215, -0.189, -0.148",\
                 "0.234, 0.224, 0.165, 0.074, 0.007, -0.039, -0.073, -0.087, -0.064, -0.016",\
                 "0.428, 0.418, 0.347, 0.249, 0.179, 0.119, 0.079, 0.07, 0.096, 0.143",\
                 "0.766, 0.767, 0.665, 0.545, 0.445, 0.372, 0.307, 0.286, 0.298, 0.346",\
                 "1.311, 1.329, 1.193, 1.031, 0.931, 0.823, 0.739, 0.687, 0.692, 0.709",\
                 "1.985, 2.032, 1.851, 1.649, 1.578, 1.45, 1.356, 1.313, 1.307, 1.325",\
                 "2.793, 2.814, 2.617, 2.409, 2.31, 2.173, 2.067, 2.012, 2.043, 2.068");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&RN&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.429, 0.438, 0.49, 0.581, 0.643, 0.699, 0.74, 0.756, 0.743, 0.71",\
                 "0.415, 0.429, 0.485, 0.565, 0.633, 0.689, 0.732, 0.744, 0.739, 0.701",\
                 "0.38, 0.391, 0.441, 0.526, 0.6, 0.653, 0.692, 0.702, 0.693, 0.659",\
                 "0.311, 0.332, 0.379, 0.46, 0.528, 0.586, 0.625, 0.636, 0.626, 0.591",\
                 "0.236, 0.255, 0.305, 0.381, 0.451, 0.504, 0.542, 0.56, 0.546, 0.511",\
                 "0.159, 0.177, 0.227, 0.307, 0.373, 0.421, 0.46, 0.469, 0.459, 0.427",\
                 "0.095, 0.107, 0.16, 0.234, 0.299, 0.349, 0.38, 0.387, 0.369, 0.333",\
                 "0.053, 0.062, 0.112, 0.192, 0.247, 0.297, 0.315, 0.321, 0.3, 0.256",\
                 "0.02, 0.031, 0.084, 0.16, 0.22, 0.258, 0.28, 0.28, 0.256, 0.206",\
                 "0.004, 0.016, 0.065, 0.138, 0.199, 0.24, 0.26, 0.263, 0.235, 0.179");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&RN&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.429, 0.438, 0.49, 0.581, 0.643, 0.699, 0.74, 0.756, 0.743, 0.71",\
                 "0.415, 0.429, 0.485, 0.565, 0.633, 0.689, 0.732, 0.744, 0.739, 0.701",\
                 "0.38, 0.391, 0.441, 0.526, 0.6, 0.653, 0.692, 0.702, 0.693, 0.659",\
                 "0.311, 0.332, 0.379, 0.46, 0.528, 0.586, 0.625, 0.636, 0.626, 0.591",\
                 "0.236, 0.255, 0.305, 0.381, 0.451, 0.504, 0.542, 0.56, 0.546, 0.511",\
                 "0.159, 0.177, 0.227, 0.307, 0.373, 0.421, 0.46, 0.469, 0.459, 0.427",\
                 "0.095, 0.107, 0.16, 0.234, 0.299, 0.349, 0.38, 0.387, 0.369, 0.333",\
                 "0.053, 0.062, 0.112, 0.192, 0.247, 0.297, 0.315, 0.321, 0.3, 0.256",\
                 "0.02, 0.031, 0.084, 0.16, 0.22, 0.258, 0.28, 0.28, 0.256, 0.206",\
                 "0.004, 0.016, 0.065, 0.138, 0.199, 0.24, 0.26, 0.263, 0.235, 0.179");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.429, 0.438, 0.49, 0.581, 0.643, 0.699, 0.74, 0.756, 0.743, 0.71",\
                 "0.415, 0.429, 0.485, 0.565, 0.633, 0.689, 0.732, 0.744, 0.739, 0.701",\
                 "0.38, 0.391, 0.441, 0.526, 0.6, 0.653, 0.692, 0.702, 0.693, 0.659",\
                 "0.311, 0.332, 0.379, 0.46, 0.528, 0.586, 0.625, 0.636, 0.626, 0.591",\
                 "0.236, 0.255, 0.305, 0.381, 0.451, 0.504, 0.542, 0.56, 0.546, 0.511",\
                 "0.159, 0.177, 0.227, 0.307, 0.373, 0.421, 0.46, 0.469, 0.459, 0.427",\
                 "0.095, 0.107, 0.16, 0.234, 0.299, 0.349, 0.38, 0.387, 0.369, 0.333",\
                 "0.053, 0.062, 0.112, 0.192, 0.247, 0.297, 0.315, 0.321, 0.3, 0.256",\
                 "0.02, 0.031, 0.084, 0.16, 0.22, 0.258, 0.28, 0.28, 0.256, 0.206",\
                 "0.004, 0.016, 0.065, 0.138, 0.199, 0.24, 0.26, 0.263, 0.235, 0.179");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.429, 0.438, 0.49, 0.581, 0.643, 0.699, 0.74, 0.756, 0.743, 0.71",\
                 "0.415, 0.429, 0.485, 0.565, 0.633, 0.689, 0.732, 0.744, 0.739, 0.701",\
                 "0.38, 0.391, 0.441, 0.526, 0.6, 0.653, 0.692, 0.702, 0.693, 0.659",\
                 "0.311, 0.332, 0.379, 0.46, 0.528, 0.586, 0.625, 0.636, 0.626, 0.591",\
                 "0.236, 0.255, 0.305, 0.381, 0.451, 0.504, 0.542, 0.56, 0.546, 0.511",\
                 "0.159, 0.177, 0.227, 0.307, 0.373, 0.421, 0.46, 0.469, 0.459, 0.427",\
                 "0.095, 0.107, 0.16, 0.234, 0.299, 0.349, 0.38, 0.387, 0.369, 0.333",\
                 "0.053, 0.062, 0.112, 0.192, 0.247, 0.297, 0.315, 0.321, 0.3, 0.256",\
                 "0.02, 0.031, 0.084, 0.16, 0.22, 0.258, 0.28, 0.28, 0.256, 0.206",\
                 "0.004, 0.016, 0.065, 0.138, 0.199, 0.24, 0.26, 0.263, 0.235, 0.179");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.136, 0.162, 0.167, 0.175, 0.167, 0.154, 0.13, 0.085",\
                 "0.094, 0.103, 0.124, 0.151, 0.162, 0.164, 0.167, 0.153, 0.129, 0.078",\
                 "0.085, 0.095, 0.118, 0.138, 0.139, 0.149, 0.148, 0.137, 0.106, 0.064",\
                 "0.111, 0.119, 0.129, 0.146, 0.132, 0.132, 0.126, 0.115, 0.093, 0.048",\
                 "0.176, 0.193, 0.192, 0.18, 0.155, 0.144, 0.131, 0.116, 0.092, 0.04",\
                 "0.309, 0.324, 0.304, 0.27, 0.215, 0.189, 0.17, 0.149, 0.119, 0.071",\
                 "0.516, 0.527, 0.486, 0.424, 0.327, 0.288, 0.25, 0.231, 0.198, 0.154",\
                 "0.784, 0.796, 0.734, 0.627, 0.492, 0.432, 0.374, 0.355, 0.334, 0.296",\
                 "1.127, 1.147, 1.044, 0.894, 0.703, 0.62, 0.552, 0.53, 0.521, 0.503",\
                 "1.55, 1.573, 1.433, 1.218, 0.973, 0.867, 0.781, 0.765, 0.767, 0.768");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.136, 0.162, 0.167, 0.175, 0.167, 0.154, 0.13, 0.085",\
                 "0.094, 0.103, 0.124, 0.151, 0.162, 0.164, 0.167, 0.153, 0.129, 0.078",\
                 "0.085, 0.095, 0.118, 0.138, 0.139, 0.149, 0.148, 0.137, 0.106, 0.064",\
                 "0.111, 0.119, 0.129, 0.146, 0.132, 0.132, 0.126, 0.115, 0.093, 0.048",\
                 "0.176, 0.193, 0.192, 0.18, 0.155, 0.144, 0.131, 0.116, 0.092, 0.04",\
                 "0.309, 0.324, 0.304, 0.27, 0.215, 0.189, 0.17, 0.149, 0.119, 0.071",\
                 "0.516, 0.527, 0.486, 0.424, 0.327, 0.288, 0.25, 0.231, 0.198, 0.154",\
                 "0.784, 0.796, 0.734, 0.627, 0.492, 0.432, 0.374, 0.355, 0.334, 0.296",\
                 "1.127, 1.147, 1.052, 0.894, 0.703, 0.62, 0.552, 0.53, 0.521, 0.503",\
                 "1.55, 1.573, 1.433, 1.218, 0.972, 0.867, 0.781, 0.765, 0.767, 0.768");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.136, 0.162, 0.167, 0.175, 0.167, 0.154, 0.13, 0.085",\
                 "0.094, 0.103, 0.124, 0.151, 0.162, 0.164, 0.167, 0.153, 0.121, 0.078",\
                 "0.085, 0.095, 0.118, 0.138, 0.139, 0.149, 0.148, 0.137, 0.106, 0.064",\
                 "0.111, 0.119, 0.129, 0.146, 0.132, 0.132, 0.126, 0.115, 0.084, 0.048",\
                 "0.176, 0.193, 0.192, 0.18, 0.155, 0.144, 0.131, 0.116, 0.083, 0.04",\
                 "0.309, 0.324, 0.304, 0.27, 0.215, 0.189, 0.163, 0.149, 0.114, 0.071",\
                 "0.516, 0.527, 0.486, 0.424, 0.327, 0.288, 0.25, 0.231, 0.192, 0.154",\
                 "0.784, 0.796, 0.734, 0.627, 0.476, 0.432, 0.374, 0.355, 0.32, 0.296",\
                 "1.135, 1.147, 1.052, 0.894, 0.703, 0.62, 0.552, 0.53, 0.513, 0.503",\
                 "1.55, 1.573, 1.433, 1.218, 0.973, 0.867, 0.781, 0.765, 0.749, 0.768");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.136, 0.162, 0.167, 0.175, 0.167, 0.16, 0.13, 0.08",\
                 "0.094, 0.103, 0.124, 0.151, 0.162, 0.164, 0.167, 0.153, 0.129, 0.078",\
                 "0.085, 0.095, 0.118, 0.138, 0.139, 0.149, 0.148, 0.131, 0.106, 0.064",\
                 "0.111, 0.119, 0.129, 0.146, 0.132, 0.132, 0.126, 0.115, 0.093, 0.042",\
                 "0.176, 0.185, 0.192, 0.18, 0.155, 0.144, 0.131, 0.116, 0.092, 0.04",\
                 "0.309, 0.324, 0.304, 0.27, 0.215, 0.189, 0.163, 0.149, 0.119, 0.065",\
                 "0.516, 0.527, 0.486, 0.424, 0.327, 0.288, 0.25, 0.231, 0.198, 0.147",\
                 "0.784, 0.802, 0.734, 0.627, 0.492, 0.424, 0.374, 0.355, 0.334, 0.288",\
                 "1.135, 1.147, 1.044, 0.894, 0.703, 0.62, 0.552, 0.537, 0.521, 0.485",\
                 "1.55, 1.573, 1.427, 1.218, 0.973, 0.867, 0.781, 0.765, 0.776, 0.753");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.136, 0.162, 0.167, 0.175, 0.167, 0.16, 0.13, 0.08",\
                 "0.094, 0.103, 0.124, 0.151, 0.162, 0.164, 0.167, 0.153, 0.129, 0.078",\
                 "0.085, 0.095, 0.118, 0.138, 0.139, 0.149, 0.148, 0.137, 0.106, 0.064",\
                 "0.111, 0.119, 0.129, 0.146, 0.132, 0.132, 0.126, 0.115, 0.093, 0.042",\
                 "0.176, 0.185, 0.192, 0.18, 0.155, 0.144, 0.131, 0.116, 0.092, 0.04",\
                 "0.309, 0.324, 0.304, 0.27, 0.215, 0.189, 0.163, 0.149, 0.119, 0.065",\
                 "0.516, 0.527, 0.486, 0.424, 0.327, 0.288, 0.25, 0.231, 0.198, 0.147",\
                 "0.784, 0.796, 0.734, 0.627, 0.492, 0.424, 0.374, 0.355, 0.334, 0.288",\
                 "1.127, 1.147, 1.052, 0.894, 0.703, 0.62, 0.552, 0.53, 0.521, 0.485",\
                 "1.55, 1.573, 1.433, 1.218, 0.973, 0.867, 0.781, 0.765, 0.776, 0.753");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.136, 0.162, 0.167, 0.175, 0.167, 0.16, 0.13, 0.08",\
                 "0.094, 0.103, 0.124, 0.151, 0.162, 0.164, 0.167, 0.153, 0.129, 0.078",\
                 "0.085, 0.095, 0.118, 0.138, 0.139, 0.149, 0.148, 0.137, 0.106, 0.064",\
                 "0.111, 0.119, 0.129, 0.146, 0.132, 0.132, 0.126, 0.115, 0.093, 0.042",\
                 "0.176, 0.185, 0.192, 0.18, 0.155, 0.144, 0.131, 0.116, 0.092, 0.04",\
                 "0.309, 0.324, 0.304, 0.27, 0.215, 0.189, 0.163, 0.149, 0.119, 0.065",\
                 "0.516, 0.527, 0.486, 0.424, 0.327, 0.288, 0.25, 0.231, 0.198, 0.147",\
                 "0.784, 0.796, 0.734, 0.627, 0.492, 0.424, 0.374, 0.355, 0.334, 0.288",\
                 "1.135, 1.147, 1.044, 0.894, 0.703, 0.62, 0.552, 0.537, 0.521, 0.485",\
                 "1.55, 1.573, 1.427, 1.218, 0.979, 0.867, 0.781, 0.765, 0.776, 0.753");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.136, 0.162, 0.167, 0.175, 0.167, 0.154, 0.13, 0.085",\
                 "0.094, 0.103, 0.124, 0.151, 0.162, 0.164, 0.167, 0.147, 0.129, 0.078",\
                 "0.085, 0.095, 0.118, 0.138, 0.139, 0.149, 0.148, 0.131, 0.106, 0.064",\
                 "0.111, 0.119, 0.129, 0.146, 0.132, 0.132, 0.126, 0.115, 0.093, 0.048",\
                 "0.176, 0.193, 0.192, 0.18, 0.155, 0.144, 0.131, 0.109, 0.092, 0.04",\
                 "0.309, 0.324, 0.304, 0.27, 0.215, 0.189, 0.17, 0.141, 0.119, 0.071",\
                 "0.516, 0.527, 0.486, 0.424, 0.327, 0.288, 0.25, 0.222, 0.198, 0.154",\
                 "0.784, 0.796, 0.734, 0.627, 0.492, 0.432, 0.374, 0.343, 0.334, 0.296",\
                 "1.127, 1.147, 1.044, 0.894, 0.703, 0.62, 0.552, 0.523, 0.521, 0.503",\
                 "1.55, 1.573, 1.433, 1.218, 0.973, 0.867, 0.781, 0.749, 0.776, 0.768");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.11, 0.136, 0.162, 0.167, 0.175, 0.167, 0.16, 0.13, 0.08",\
                 "0.094, 0.103, 0.124, 0.151, 0.162, 0.164, 0.167, 0.153, 0.129, 0.078",\
                 "0.085, 0.095, 0.118, 0.138, 0.139, 0.149, 0.148, 0.137, 0.106, 0.064",\
                 "0.111, 0.119, 0.129, 0.146, 0.132, 0.132, 0.126, 0.115, 0.093, 0.042",\
                 "0.176, 0.185, 0.192, 0.18, 0.155, 0.144, 0.131, 0.116, 0.092, 0.04",\
                 "0.309, 0.324, 0.304, 0.27, 0.215, 0.189, 0.163, 0.149, 0.119, 0.065",\
                 "0.516, 0.527, 0.486, 0.424, 0.327, 0.288, 0.25, 0.231, 0.198, 0.147",\
                 "0.784, 0.796, 0.734, 0.627, 0.492, 0.424, 0.374, 0.355, 0.334, 0.288",\
                 "1.135, 1.147, 1.052, 0.894, 0.692, 0.62, 0.558, 0.537, 0.521, 0.485",\
                 "1.555, 1.573, 1.427, 1.218, 0.973, 0.867, 0.781, 0.765, 0.776, 0.747");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.131, 0.146, 0.162, 0.144, 0.111, 0.049, -0.047, -0.172, -0.316",\
                 "0.122, 0.127, 0.142, 0.151, 0.139, 0.106, 0.047, -0.05, -0.176, -0.321",\
                 "0.106, 0.113, 0.126, 0.138, 0.122, 0.086, 0.022, -0.068, -0.192, -0.333",\
                 "0.129, 0.129, 0.141, 0.138, 0.111, 0.074, 0.006, -0.085, -0.213, -0.349",\
                 "0.199, 0.2, 0.201, 0.18, 0.135, 0.083, 0.01, -0.091, -0.211, -0.353",\
                 "0.337, 0.336, 0.323, 0.278, 0.198, 0.13, 0.049, -0.062, -0.196, -0.336",\
                 "0.55, 0.544, 0.513, 0.434, 0.316, 0.227, 0.129, 0.007, -0.133, -0.281",\
                 "0.826, 0.826, 0.771, 0.64, 0.484, 0.365, 0.257, 0.12, -0.017, -0.158",\
                 "1.19, 1.179, 1.093, 0.912, 0.712, 0.562, 0.428, 0.287, 0.155, 0.026",\
                 "1.623, 1.615, 1.492, 1.251, 0.985, 0.809, 0.652, 0.502, 0.37, 0.261");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.131, 0.146, 0.162, 0.144, 0.111, 0.049, -0.047, -0.172, -0.316",\
                 "0.122, 0.127, 0.142, 0.151, 0.139, 0.106, 0.047, -0.05, -0.176, -0.321",\
                 "0.106, 0.113, 0.126, 0.138, 0.122, 0.086, 0.022, -0.068, -0.192, -0.333",\
                 "0.129, 0.129, 0.141, 0.138, 0.111, 0.074, 0.006, -0.085, -0.213, -0.349",\
                 "0.199, 0.2, 0.201, 0.18, 0.135, 0.083, 0.01, -0.091, -0.211, -0.353",\
                 "0.337, 0.336, 0.323, 0.278, 0.198, 0.13, 0.049, -0.062, -0.196, -0.336",\
                 "0.55, 0.544, 0.513, 0.434, 0.316, 0.227, 0.129, 0.007, -0.133, -0.281",\
                 "0.826, 0.826, 0.771, 0.64, 0.484, 0.365, 0.257, 0.12, -0.017, -0.158",\
                 "1.19, 1.179, 1.093, 0.912, 0.712, 0.562, 0.428, 0.287, 0.155, 0.026",\
                 "1.623, 1.615, 1.497, 1.251, 0.985, 0.809, 0.652, 0.502, 0.37, 0.261");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.131, 0.146, 0.162, 0.144, 0.111, 0.049, -0.047, -0.172, -0.316",\
                 "0.122, 0.127, 0.142, 0.151, 0.139, 0.106, 0.047, -0.05, -0.176, -0.321",\
                 "0.106, 0.113, 0.126, 0.138, 0.122, 0.086, 0.022, -0.068, -0.192, -0.333",\
                 "0.129, 0.129, 0.141, 0.138, 0.111, 0.074, 0.006, -0.085, -0.213, -0.349",\
                 "0.199, 0.2, 0.201, 0.18, 0.135, 0.083, 0.01, -0.091, -0.211, -0.359",\
                 "0.337, 0.336, 0.323, 0.278, 0.198, 0.13, 0.049, -0.062, -0.19, -0.336",\
                 "0.55, 0.544, 0.513, 0.434, 0.316, 0.227, 0.129, 0.007, -0.133, -0.281",\
                 "0.826, 0.826, 0.771, 0.64, 0.484, 0.365, 0.257, 0.12, -0.017, -0.158",\
                 "1.19, 1.179, 1.102, 0.912, 0.712, 0.562, 0.428, 0.287, 0.155, 0.026",\
                 "1.623, 1.615, 1.497, 1.251, 0.985, 0.809, 0.652, 0.502, 0.37, 0.261");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.131, 0.146, 0.162, 0.144, 0.111, 0.049, -0.047, -0.172, -0.316",\
                 "0.122, 0.127, 0.142, 0.151, 0.139, 0.106, 0.047, -0.05, -0.176, -0.321",\
                 "0.106, 0.113, 0.126, 0.138, 0.122, 0.086, 0.022, -0.068, -0.192, -0.333",\
                 "0.129, 0.129, 0.141, 0.138, 0.111, 0.074, 0.006, -0.085, -0.213, -0.349",\
                 "0.199, 0.2, 0.201, 0.18, 0.135, 0.083, 0.01, -0.091, -0.211, -0.359",\
                 "0.337, 0.336, 0.323, 0.278, 0.198, 0.13, 0.049, -0.062, -0.19, -0.336",\
                 "0.55, 0.544, 0.513, 0.434, 0.316, 0.227, 0.129, 0.007, -0.133, -0.274",\
                 "0.826, 0.826, 0.771, 0.64, 0.484, 0.365, 0.247, 0.12, -0.017, -0.158",\
                 "1.19, 1.179, 1.102, 0.912, 0.712, 0.562, 0.428, 0.287, 0.155, 0.026",\
                 "1.623, 1.615, 1.497, 1.251, 0.985, 0.802, 0.652, 0.51, 0.37, 0.261");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.131, 0.146, 0.162, 0.144, 0.111, 0.049, -0.047, -0.172, -0.316",\
                 "0.122, 0.127, 0.142, 0.151, 0.139, 0.106, 0.047, -0.05, -0.176, -0.321",\
                 "0.106, 0.113, 0.126, 0.138, 0.122, 0.086, 0.022, -0.068, -0.192, -0.333",\
                 "0.129, 0.129, 0.141, 0.138, 0.111, 0.074, 0.006, -0.085, -0.213, -0.349",\
                 "0.199, 0.2, 0.201, 0.18, 0.135, 0.083, 0.01, -0.091, -0.211, -0.359",\
                 "0.337, 0.336, 0.323, 0.278, 0.198, 0.13, 0.049, -0.062, -0.196, -0.336",\
                 "0.55, 0.544, 0.513, 0.434, 0.316, 0.227, 0.129, 0.007, -0.133, -0.274",\
                 "0.826, 0.826, 0.771, 0.64, 0.484, 0.365, 0.247, 0.12, -0.017, -0.158",\
                 "1.19, 1.179, 1.093, 0.912, 0.712, 0.562, 0.428, 0.287, 0.155, 0.026",\
                 "1.623, 1.615, 1.497, 1.251, 0.985, 0.809, 0.652, 0.502, 0.37, 0.261");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.131, 0.146, 0.162, 0.144, 0.111, 0.049, -0.047, -0.172, -0.316",\
                 "0.122, 0.127, 0.142, 0.151, 0.139, 0.106, 0.047, -0.05, -0.176, -0.321",\
                 "0.106, 0.113, 0.126, 0.138, 0.122, 0.086, 0.022, -0.068, -0.192, -0.333",\
                 "0.129, 0.129, 0.141, 0.138, 0.111, 0.074, 0.006, -0.085, -0.213, -0.349",\
                 "0.199, 0.2, 0.201, 0.18, 0.135, 0.083, 0.01, -0.091, -0.211, -0.359",\
                 "0.337, 0.336, 0.323, 0.278, 0.198, 0.13, 0.049, -0.062, -0.196, -0.336",\
                 "0.55, 0.544, 0.513, 0.434, 0.316, 0.227, 0.129, 0.007, -0.133, -0.274",\
                 "0.826, 0.826, 0.771, 0.64, 0.484, 0.365, 0.247, 0.12, -0.017, -0.158",\
                 "1.19, 1.179, 1.102, 0.912, 0.712, 0.562, 0.428, 0.287, 0.155, 0.026",\
                 "1.623, 1.615, 1.497, 1.251, 0.985, 0.809, 0.652, 0.51, 0.37, 0.261");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.131, 0.146, 0.162, 0.144, 0.111, 0.049, -0.047, -0.172, -0.316",\
                 "0.122, 0.127, 0.142, 0.151, 0.139, 0.106, 0.047, -0.05, -0.176, -0.321",\
                 "0.106, 0.113, 0.126, 0.138, 0.122, 0.086, 0.022, -0.068, -0.192, -0.333",\
                 "0.129, 0.129, 0.141, 0.138, 0.111, 0.074, 0.006, -0.085, -0.213, -0.349",\
                 "0.199, 0.2, 0.201, 0.18, 0.135, 0.083, 0.01, -0.091, -0.211, -0.359",\
                 "0.337, 0.336, 0.323, 0.278, 0.198, 0.13, 0.049, -0.062, -0.196, -0.336",\
                 "0.55, 0.544, 0.513, 0.434, 0.316, 0.227, 0.129, 0.007, -0.133, -0.274",\
                 "0.826, 0.826, 0.771, 0.64, 0.484, 0.365, 0.257, 0.12, -0.017, -0.158",\
                 "1.19, 1.179, 1.102, 0.912, 0.712, 0.562, 0.428, 0.287, 0.155, 0.026",\
                 "1.623, 1.615, 1.492, 1.246, 0.985, 0.809, 0.652, 0.502, 0.37, 0.261");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.126, 0.131, 0.146, 0.162, 0.144, 0.111, 0.049, -0.047, -0.164, -0.316",\
                 "0.122, 0.127, 0.142, 0.151, 0.139, 0.106, 0.047, -0.05, -0.168, -0.321",\
                 "0.106, 0.113, 0.126, 0.138, 0.122, 0.086, 0.022, -0.068, -0.184, -0.333",\
                 "0.129, 0.129, 0.141, 0.138, 0.111, 0.074, 0.006, -0.085, -0.204, -0.349",\
                 "0.199, 0.2, 0.201, 0.18, 0.135, 0.083, 0.01, -0.091, -0.211, -0.359",\
                 "0.337, 0.336, 0.323, 0.278, 0.198, 0.13, 0.049, -0.062, -0.185, -0.336",\
                 "0.55, 0.544, 0.513, 0.424, 0.316, 0.227, 0.129, 0.007, -0.121, -0.274",\
                 "0.826, 0.826, 0.771, 0.64, 0.484, 0.365, 0.257, 0.12, -0.004, -0.158",\
                 "1.19, 1.179, 1.102, 0.912, 0.712, 0.562, 0.428, 0.287, 0.171, 0.026",\
                 "1.623, 1.615, 1.497, 1.251, 0.985, 0.809, 0.652, 0.51, 0.398, 0.261");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.026, 0.009, -0.008, -0.025, -0.042, -0.049, -0.036, -0.003, 0.04",\
                 "0.049, 0.039, 0.018, 0.004, -0.016, -0.035, -0.039, -0.028, -0.001, 0.043",\
                 "0.082, 0.077, 0.055, 0.037, 0.018, -0.002, -0.003, 0, 0.026, 0.071",\
                 "0.135, 0.122, 0.103, 0.085, 0.064, 0.044, 0.034, 0.039, 0.064, 0.104",\
                 "0.167, 0.155, 0.148, 0.121, 0.101, 0.084, 0.076, 0.077, 0.097, 0.139",\
                 "0.186, 0.176, 0.168, 0.147, 0.127, 0.108, 0.099, 0.104, 0.122, 0.162",\
                 "0.192, 0.184, 0.176, 0.156, 0.136, 0.123, 0.113, 0.11, 0.133, 0.174",\
                 "0.178, 0.171, 0.162, 0.149, 0.124, 0.107, 0.095, 0.097, 0.118, 0.159",\
                 "0.138, 0.129, 0.122, 0.111, 0.092, 0.066, 0.056, 0.057, 0.077, 0.118",\
                 "0.075, 0.067, 0.059, 0.048, 0.028, 0.006, -0.01, -0.007, 0.017, 0.052");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.026, 0.009, -0.008, -0.025, -0.042, -0.049, -0.036, -0.003, 0.04",\
                 "0.049, 0.039, 0.018, 0.004, -0.016, -0.035, -0.039, -0.028, -0.001, 0.043",\
                 "0.082, 0.077, 0.055, 0.037, 0.018, -0.002, -0.003, 0, 0.026, 0.071",\
                 "0.135, 0.122, 0.103, 0.085, 0.064, 0.044, 0.034, 0.039, 0.064, 0.104",\
                 "0.167, 0.155, 0.148, 0.121, 0.101, 0.084, 0.076, 0.077, 0.097, 0.139",\
                 "0.186, 0.176, 0.168, 0.147, 0.127, 0.108, 0.099, 0.104, 0.122, 0.162",\
                 "0.192, 0.184, 0.176, 0.156, 0.136, 0.123, 0.113, 0.11, 0.133, 0.174",\
                 "0.178, 0.171, 0.162, 0.149, 0.124, 0.107, 0.095, 0.097, 0.118, 0.159",\
                 "0.138, 0.129, 0.122, 0.111, 0.092, 0.066, 0.056, 0.057, 0.077, 0.118",\
                 "0.075, 0.067, 0.059, 0.048, 0.028, 0.006, -0.01, -0.007, 0.017, 0.052");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.026, 0.009, -0.008, -0.025, -0.042, -0.049, -0.036, -0.003, 0.04",\
                 "0.049, 0.039, 0.018, 0.004, -0.016, -0.035, -0.039, -0.028, -0.001, 0.043",\
                 "0.082, 0.077, 0.055, 0.037, 0.018, -0.002, -0.003, 0, 0.026, 0.071",\
                 "0.135, 0.122, 0.103, 0.085, 0.064, 0.044, 0.034, 0.039, 0.064, 0.104",\
                 "0.167, 0.155, 0.148, 0.121, 0.101, 0.084, 0.076, 0.077, 0.097, 0.139",\
                 "0.186, 0.176, 0.168, 0.147, 0.127, 0.108, 0.099, 0.104, 0.122, 0.162",\
                 "0.192, 0.184, 0.176, 0.156, 0.136, 0.123, 0.113, 0.11, 0.133, 0.174",\
                 "0.178, 0.171, 0.162, 0.149, 0.124, 0.107, 0.095, 0.097, 0.118, 0.159",\
                 "0.138, 0.129, 0.122, 0.111, 0.092, 0.066, 0.056, 0.057, 0.077, 0.118",\
                 "0.075, 0.067, 0.059, 0.048, 0.028, 0.006, -0.01, -0.007, 0.017, 0.052");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.026, 0.009, -0.008, -0.025, -0.042, -0.049, -0.036, -0.003, 0.04",\
                 "0.049, 0.039, 0.018, 0.004, -0.016, -0.035, -0.039, -0.028, -0.001, 0.043",\
                 "0.082, 0.077, 0.055, 0.037, 0.018, -0.002, -0.003, 0, 0.026, 0.071",\
                 "0.135, 0.122, 0.103, 0.085, 0.064, 0.044, 0.034, 0.039, 0.064, 0.104",\
                 "0.167, 0.155, 0.148, 0.121, 0.101, 0.084, 0.076, 0.077, 0.097, 0.138",\
                 "0.186, 0.176, 0.168, 0.147, 0.127, 0.108, 0.099, 0.104, 0.122, 0.162",\
                 "0.192, 0.184, 0.176, 0.156, 0.136, 0.123, 0.113, 0.11, 0.133, 0.174",\
                 "0.178, 0.171, 0.162, 0.149, 0.124, 0.107, 0.095, 0.097, 0.118, 0.159",\
                 "0.138, 0.129, 0.122, 0.111, 0.092, 0.066, 0.056, 0.057, 0.077, 0.118",\
                 "0.075, 0.067, 0.059, 0.048, 0.028, 0.006, -0.01, -0.007, 0.017, 0.052");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.026, 0.009, -0.008, -0.025, -0.042, -0.049, -0.036, -0.003, 0.04",\
                 "0.049, 0.039, 0.018, 0.004, -0.016, -0.035, -0.039, -0.028, -0.001, 0.043",\
                 "0.082, 0.077, 0.055, 0.037, 0.018, -0.002, -0.003, 0, 0.026, 0.071",\
                 "0.135, 0.122, 0.103, 0.085, 0.064, 0.044, 0.034, 0.039, 0.064, 0.104",\
                 "0.167, 0.155, 0.148, 0.121, 0.101, 0.084, 0.076, 0.077, 0.097, 0.139",\
                 "0.186, 0.176, 0.168, 0.147, 0.127, 0.108, 0.099, 0.104, 0.122, 0.162",\
                 "0.192, 0.184, 0.176, 0.156, 0.136, 0.123, 0.113, 0.11, 0.133, 0.174",\
                 "0.178, 0.171, 0.162, 0.149, 0.124, 0.107, 0.095, 0.097, 0.118, 0.159",\
                 "0.138, 0.129, 0.122, 0.111, 0.092, 0.066, 0.056, 0.057, 0.077, 0.118",\
                 "0.075, 0.067, 0.059, 0.048, 0.028, 0.006, -0.01, -0.007, 0.017, 0.052");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.026, 0.009, -0.008, -0.025, -0.042, -0.049, -0.036, -0.003, 0.04",\
                 "0.049, 0.039, 0.018, 0.004, -0.016, -0.035, -0.039, -0.028, -0.001, 0.043",\
                 "0.082, 0.077, 0.055, 0.037, 0.018, -0.002, -0.003, 0, 0.026, 0.071",\
                 "0.135, 0.122, 0.103, 0.085, 0.064, 0.044, 0.034, 0.039, 0.064, 0.104",\
                 "0.167, 0.155, 0.148, 0.121, 0.101, 0.084, 0.076, 0.077, 0.097, 0.138",\
                 "0.186, 0.176, 0.168, 0.147, 0.127, 0.108, 0.099, 0.104, 0.122, 0.162",\
                 "0.192, 0.184, 0.176, 0.156, 0.136, 0.123, 0.113, 0.11, 0.133, 0.174",\
                 "0.178, 0.171, 0.162, 0.149, 0.124, 0.107, 0.095, 0.097, 0.118, 0.159",\
                 "0.138, 0.129, 0.122, 0.111, 0.092, 0.066, 0.056, 0.057, 0.077, 0.118",\
                 "0.075, 0.067, 0.059, 0.048, 0.028, 0.006, -0.01, -0.007, 0.017, 0.052");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.026, 0.009, -0.008, -0.025, -0.042, -0.049, -0.036, -0.003, 0.04",\
                 "0.049, 0.039, 0.018, 0.004, -0.016, -0.035, -0.039, -0.028, -0.001, 0.043",\
                 "0.082, 0.077, 0.055, 0.037, 0.018, -0.002, -0.003, 0, 0.026, 0.071",\
                 "0.135, 0.122, 0.103, 0.085, 0.064, 0.044, 0.034, 0.039, 0.064, 0.104",\
                 "0.167, 0.155, 0.148, 0.121, 0.101, 0.084, 0.076, 0.077, 0.097, 0.139",\
                 "0.186, 0.176, 0.168, 0.147, 0.127, 0.108, 0.099, 0.104, 0.122, 0.162",\
                 "0.192, 0.184, 0.176, 0.156, 0.136, 0.123, 0.113, 0.11, 0.133, 0.174",\
                 "0.178, 0.171, 0.162, 0.149, 0.124, 0.107, 0.095, 0.097, 0.118, 0.159",\
                 "0.138, 0.129, 0.122, 0.111, 0.092, 0.066, 0.056, 0.057, 0.077, 0.118",\
                 "0.075, 0.067, 0.059, 0.048, 0.028, 0.006, -0.01, -0.007, 0.017, 0.052");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.034, 0.026, 0.009, -0.008, -0.025, -0.042, -0.049, -0.036, -0.003, 0.04",\
                 "0.049, 0.039, 0.018, 0.004, -0.016, -0.035, -0.039, -0.028, -0.001, 0.043",\
                 "0.082, 0.077, 0.055, 0.037, 0.018, -0.002, -0.003, 0, 0.026, 0.071",\
                 "0.135, 0.122, 0.103, 0.085, 0.064, 0.044, 0.033, 0.039, 0.064, 0.104",\
                 "0.167, 0.155, 0.148, 0.121, 0.101, 0.084, 0.076, 0.077, 0.096, 0.139",\
                 "0.186, 0.176, 0.168, 0.147, 0.127, 0.108, 0.099, 0.104, 0.122, 0.162",\
                 "0.192, 0.184, 0.176, 0.156, 0.136, 0.123, 0.113, 0.11, 0.133, 0.174",\
                 "0.178, 0.171, 0.162, 0.149, 0.124, 0.107, 0.095, 0.097, 0.118, 0.159",\
                 "0.138, 0.129, 0.122, 0.111, 0.092, 0.066, 0.056, 0.057, 0.077, 0.118",\
                 "0.075, 0.067, 0.059, 0.048, 0.028, 0.006, -0.01, -0.007, 0.017, 0.052");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.04, 0.004, 0.078, 0.176, 0.315, 0.483",\
                 "-0.04, -0.04, -0.053, -0.045, -0.031, 0.012, 0.081, 0.181, 0.32, 0.488",\
                 "-0.004, -0.006, -0.016, -0.016, 0.01, 0.049, 0.115, 0.211, 0.341, 0.51",\
                 "0.044, 0.044, 0.034, 0.039, 0.053, 0.095, 0.164, 0.252, 0.387, 0.552",\
                 "0.085, 0.077, 0.078, 0.079, 0.095, 0.136, 0.202, 0.299, 0.428, 0.592",\
                 "0.111, 0.106, 0.105, 0.11, 0.127, 0.167, 0.234, 0.331, 0.457, 0.628",\
                 "0.125, 0.115, 0.121, 0.126, 0.142, 0.184, 0.25, 0.345, 0.475, 0.645",\
                 "0.119, 0.111, 0.112, 0.122, 0.138, 0.174, 0.241, 0.338, 0.476, 0.646",\
                 "0.091, 0.089, 0.089, 0.102, 0.121, 0.15, 0.21, 0.307, 0.443, 0.623",\
                 "0.049, 0.041, 0.043, 0.053, 0.07, 0.097, 0.162, 0.256, 0.386, 0.563");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.04, 0.004, 0.078, 0.176, 0.315, 0.483",\
                 "-0.04, -0.04, -0.053, -0.045, -0.031, 0.012, 0.081, 0.181, 0.32, 0.488",\
                 "-0.004, -0.006, -0.016, -0.016, 0.01, 0.049, 0.115, 0.211, 0.341, 0.51",\
                 "0.044, 0.044, 0.034, 0.039, 0.053, 0.095, 0.164, 0.252, 0.387, 0.552",\
                 "0.085, 0.077, 0.078, 0.079, 0.095, 0.136, 0.202, 0.299, 0.428, 0.592",\
                 "0.111, 0.106, 0.105, 0.11, 0.127, 0.167, 0.234, 0.331, 0.457, 0.628",\
                 "0.125, 0.115, 0.121, 0.126, 0.142, 0.184, 0.25, 0.345, 0.475, 0.645",\
                 "0.119, 0.111, 0.112, 0.122, 0.138, 0.174, 0.241, 0.338, 0.476, 0.646",\
                 "0.091, 0.089, 0.089, 0.102, 0.121, 0.15, 0.21, 0.307, 0.443, 0.623",\
                 "0.049, 0.041, 0.043, 0.053, 0.07, 0.097, 0.162, 0.256, 0.386, 0.563");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.04, 0.004, 0.078, 0.176, 0.315, 0.483",\
                 "-0.04, -0.04, -0.053, -0.045, -0.031, 0.012, 0.081, 0.181, 0.32, 0.488",\
                 "-0.004, -0.006, -0.016, -0.016, 0.01, 0.049, 0.115, 0.211, 0.341, 0.51",\
                 "0.044, 0.044, 0.034, 0.039, 0.053, 0.095, 0.164, 0.252, 0.387, 0.552",\
                 "0.085, 0.077, 0.078, 0.079, 0.095, 0.136, 0.202, 0.299, 0.428, 0.592",\
                 "0.111, 0.106, 0.105, 0.11, 0.127, 0.167, 0.234, 0.331, 0.457, 0.628",\
                 "0.125, 0.115, 0.121, 0.126, 0.142, 0.184, 0.25, 0.345, 0.475, 0.645",\
                 "0.119, 0.111, 0.112, 0.122, 0.138, 0.174, 0.241, 0.338, 0.476, 0.646",\
                 "0.091, 0.089, 0.089, 0.102, 0.121, 0.15, 0.21, 0.307, 0.443, 0.623",\
                 "0.049, 0.041, 0.043, 0.053, 0.07, 0.097, 0.162, 0.256, 0.386, 0.563");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.04, 0.004, 0.078, 0.176, 0.315, 0.483",\
                 "-0.04, -0.04, -0.053, -0.045, -0.031, 0.012, 0.081, 0.181, 0.32, 0.488",\
                 "-0.004, -0.006, -0.016, -0.016, 0.01, 0.049, 0.115, 0.211, 0.341, 0.51",\
                 "0.044, 0.044, 0.034, 0.039, 0.053, 0.095, 0.164, 0.252, 0.387, 0.552",\
                 "0.085, 0.077, 0.078, 0.079, 0.095, 0.136, 0.202, 0.299, 0.428, 0.592",\
                 "0.111, 0.106, 0.105, 0.11, 0.127, 0.167, 0.234, 0.331, 0.457, 0.628",\
                 "0.125, 0.115, 0.121, 0.126, 0.142, 0.184, 0.25, 0.345, 0.475, 0.645",\
                 "0.119, 0.111, 0.112, 0.122, 0.138, 0.174, 0.241, 0.338, 0.476, 0.646",\
                 "0.091, 0.089, 0.089, 0.102, 0.121, 0.15, 0.21, 0.307, 0.443, 0.623",\
                 "0.049, 0.041, 0.043, 0.053, 0.07, 0.097, 0.162, 0.256, 0.386, 0.563");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.04, 0.004, 0.078, 0.176, 0.315, 0.483",\
                 "-0.04, -0.04, -0.053, -0.045, -0.031, 0.012, 0.081, 0.181, 0.32, 0.488",\
                 "-0.004, -0.006, -0.016, -0.016, 0.01, 0.049, 0.115, 0.211, 0.341, 0.51",\
                 "0.044, 0.044, 0.034, 0.039, 0.053, 0.095, 0.164, 0.252, 0.387, 0.552",\
                 "0.085, 0.077, 0.078, 0.079, 0.095, 0.136, 0.202, 0.299, 0.428, 0.592",\
                 "0.111, 0.106, 0.105, 0.11, 0.127, 0.167, 0.234, 0.331, 0.457, 0.628",\
                 "0.125, 0.115, 0.121, 0.126, 0.142, 0.184, 0.25, 0.345, 0.475, 0.645",\
                 "0.119, 0.111, 0.112, 0.122, 0.138, 0.174, 0.241, 0.338, 0.476, 0.646",\
                 "0.091, 0.089, 0.089, 0.102, 0.121, 0.15, 0.21, 0.307, 0.443, 0.623",\
                 "0.049, 0.041, 0.043, 0.053, 0.07, 0.097, 0.162, 0.256, 0.386, 0.563");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.04, 0.004, 0.078, 0.176, 0.315, 0.483",\
                 "-0.04, -0.04, -0.053, -0.045, -0.031, 0.012, 0.081, 0.181, 0.32, 0.488",\
                 "-0.004, -0.006, -0.016, -0.016, 0.01, 0.049, 0.115, 0.211, 0.341, 0.51",\
                 "0.044, 0.044, 0.034, 0.039, 0.053, 0.095, 0.164, 0.252, 0.387, 0.552",\
                 "0.085, 0.077, 0.078, 0.079, 0.095, 0.136, 0.202, 0.299, 0.428, 0.592",\
                 "0.111, 0.106, 0.105, 0.11, 0.127, 0.167, 0.234, 0.331, 0.457, 0.628",\
                 "0.125, 0.115, 0.121, 0.126, 0.142, 0.184, 0.25, 0.345, 0.475, 0.645",\
                 "0.119, 0.111, 0.112, 0.122, 0.138, 0.174, 0.241, 0.338, 0.476, 0.646",\
                 "0.091, 0.089, 0.089, 0.102, 0.121, 0.15, 0.21, 0.307, 0.443, 0.623",\
                 "0.049, 0.041, 0.043, 0.053, 0.07, 0.097, 0.162, 0.256, 0.386, 0.563");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.04, 0.004, 0.078, 0.176, 0.315, 0.483",\
                 "-0.04, -0.04, -0.053, -0.045, -0.031, 0.012, 0.081, 0.181, 0.32, 0.488",\
                 "-0.004, -0.006, -0.016, -0.016, 0.01, 0.049, 0.115, 0.211, 0.341, 0.51",\
                 "0.044, 0.044, 0.034, 0.039, 0.053, 0.095, 0.164, 0.252, 0.387, 0.552",\
                 "0.085, 0.077, 0.078, 0.079, 0.095, 0.136, 0.202, 0.299, 0.428, 0.592",\
                 "0.111, 0.106, 0.105, 0.11, 0.127, 0.167, 0.234, 0.331, 0.457, 0.628",\
                 "0.125, 0.115, 0.121, 0.126, 0.142, 0.184, 0.25, 0.345, 0.475, 0.645",\
                 "0.119, 0.111, 0.112, 0.122, 0.138, 0.174, 0.241, 0.338, 0.476, 0.646",\
                 "0.091, 0.089, 0.089, 0.102, 0.121, 0.15, 0.21, 0.307, 0.443, 0.623",\
                 "0.049, 0.041, 0.043, 0.053, 0.07, 0.097, 0.162, 0.256, 0.386, 0.563");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.04, 0.004, 0.078, 0.176, 0.315, 0.483",\
                 "-0.04, -0.04, -0.053, -0.045, -0.031, 0.012, 0.081, 0.181, 0.32, 0.488",\
                 "-0.004, -0.006, -0.016, -0.016, 0.01, 0.049, 0.115, 0.211, 0.341, 0.51",\
                 "0.044, 0.044, 0.034, 0.039, 0.053, 0.095, 0.164, 0.252, 0.387, 0.552",\
                 "0.085, 0.077, 0.078, 0.079, 0.095, 0.136, 0.202, 0.299, 0.428, 0.592",\
                 "0.111, 0.106, 0.105, 0.11, 0.127, 0.167, 0.234, 0.331, 0.457, 0.628",\
                 "0.125, 0.115, 0.121, 0.126, 0.142, 0.184, 0.25, 0.345, 0.475, 0.645",\
                 "0.119, 0.111, 0.112, 0.122, 0.138, 0.174, 0.241, 0.338, 0.476, 0.646",\
                 "0.091, 0.089, 0.089, 0.102, 0.121, 0.15, 0.21, 0.307, 0.443, 0.623",\
                 "0.049, 0.041, 0.043, 0.053, 0.07, 0.097, 0.162, 0.256, 0.386, 0.563");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.686");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002641 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008397, 0.008376, 0.008368, 0.008343, 0.008365, 0.008377, 0.008368, \
                 0.008368, 0.008364, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008158, -0.008158, -0.008166, -0.008219, -0.008248, -0.008263, \
                 -0.008284, -0.008284, -0.008289, -0.008296");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008387, 0.008354, 0.008356, 0.008349, 0.00836, 0.008365, 0.008371, \
                 0.00837, 0.008365, 0.008362");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00818, -0.00816, -0.008169, -0.008212, -0.008229, -0.008277, \
                 -0.008277, -0.008287, -0.008289, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1161, 0.1157, 0.1153, 0.1151, 0.1166, 0.1222, 0.1339, 0.1525, \
                 0.1781, 0.2103");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0369, 0.03641, 0.03593, 0.03589, 0.03763, 0.04295, 0.05283, \
                 0.06792, 0.08847, 0.1147");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1565, 0.1562, 0.1557, 0.1555, 0.1574, 0.1642, 0.178, 0.2003, \
                 0.2307, 0.2686");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09537, 0.09488, 0.0944, 0.09441, 0.09699, 0.1036, 0.1156, 0.1334, \
                 0.1575, 0.188");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008403, 0.008359, 0.008348, 0.008346, 0.008339, 0.008379, 0.008375, \
                 0.008369, 0.008367, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008163, -0.00816, -0.008167, -0.008213, -0.008228, -0.008273, \
                 -0.008278, -0.008284, -0.008293, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008397, 0.00837, 0.008367, 0.008364, 0.008363, 0.008371, 0.008366, \
                 0.00837, 0.008369, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008175, -0.008146, -0.008172, -0.008226, -0.008232, -0.008254, \
                 -0.008281, -0.008281, -0.008289, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1161, 0.1157, 0.1153, 0.1151, 0.1166, 0.1222, 0.1339, 0.1525, \
                 0.1781, 0.2103");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0369, 0.0364, 0.03594, 0.03588, 0.03765, 0.04294, 0.05284, 0.06791, \
                 0.08847, 0.1147");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1533, 0.1529, 0.1525, 0.1523, 0.1541, 0.161, 0.1747, 0.1969, \
                 0.2272, 0.2648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.098, 0.09752, 0.09703, 0.09703, 0.0996, 0.1063, 0.1181, 0.136, \
                 0.16, 0.1905");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008356, 0.008347, 0.008344, 0.008351, 0.00837, 0.00837, 0.008357, \
                 0.008369, 0.008365, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007478, -0.007854, -0.00814, -0.008207, -0.008246, -0.008264, \
                 -0.008284, -0.008284, -0.008293, -0.008293");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008356, 0.008347, 0.008345, 0.008354, 0.008364, 0.008372, 0.008372, \
                 0.008366, 0.008367, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007473, -0.007856, -0.008147, -0.008205, -0.008246, -0.008265, \
                 -0.008285, -0.008287, -0.00829, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1179, 0.1175, 0.1171, 0.1169, 0.1185, 0.1247, 0.137, 0.1561, \
                 0.1819, 0.2142");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03252, 0.03201, 0.03149, 0.03142, 0.03314, 0.03847, 0.04846, \
                 0.06369, 0.08444, 0.1109");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1594, 0.159, 0.1586, 0.1584, 0.1604, 0.1678, 0.1823, 0.2051, \
                 0.2358, 0.2736");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09058, 0.09011, 0.08957, 0.08963, 0.09216, 0.09883, 0.111, 0.1291, \
                 0.1536, 0.1845");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008366, 0.008349, 0.008365, 0.008344, 0.008347, 0.008365, 0.008365, \
                 0.008371, 0.008368, 0.008357");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007485, -0.007855, -0.008146, -0.008212, -0.008237, -0.008268, \
                 -0.008281, -0.008279, -0.008291, -0.008293");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00836, 0.008369, 0.008366, 0.008361, 0.008362, 0.008359, 0.008371, \
                 0.00837, 0.008367, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007484, -0.007832, -0.008144, -0.008214, -0.008234, -0.008255, \
                 -0.008277, -0.008284, -0.008288, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1179, 0.1175, 0.1171, 0.1169, 0.1185, 0.1247, 0.1371, 0.1561, \
                 0.1819, 0.2142");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03251, 0.03201, 0.0315, 0.03143, 0.03316, 0.03847, 0.04849, \
                 0.0637, 0.08445, 0.1109");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1561, 0.1558, 0.1554, 0.1551, 0.1571, 0.1645, 0.179, 0.2017, \
                 0.2322, 0.2698");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09325, 0.09277, 0.0922, 0.09225, 0.0948, 0.1015, 0.1136, 0.1317, \
                 0.1561, 0.1871");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008364, 0.008374, 0.008362, 0.008354, 0.008369, 0.008368, 0.008374, \
                 0.008369, 0.008363, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008158, -0.008166, -0.008172, -0.008203, -0.008254, -0.008274, \
                 -0.008278, -0.008277, -0.008289, -0.008293");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008367, 0.00835, 0.008347, 0.00834, 0.00836, 0.008369, 0.008367, \
                 0.008371, 0.00837, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008176, -0.00816, -0.00816, -0.008214, -0.008232, -0.008271, \
                 -0.00828, -0.008285, -0.008288, -0.008292");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00905, 0.009057, 0.009036, 0.009044, 0.009043, 0.009043, 0.009052, \
                 0.009048, 0.009042, 0.009041");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006484, -0.006765, -0.007082, -0.007346, -0.007598, -0.007743, \
                 -0.007837, -0.007904, -0.007951, -0.007985");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009038, 0.009037, 0.009057, 0.009045, 0.009035, 0.009048, 0.009046, \
                 0.009046, 0.009042, 0.009043");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006488, -0.006759, -0.007071, -0.007366, -0.00757, -0.00774, \
                 -0.007847, -0.007908, -0.007949, -0.007983");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008356, 0.008365, 0.008354, 0.008354, 0.008355, 0.008371, 0.008374, \
                 0.008369, 0.008368, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00817, -0.008138, -0.008169, -0.008215, -0.00824, -0.00827, \
                 -0.008278, -0.008281, -0.008295, -0.008298");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008371, 0.008372, 0.008358, 0.008364, 0.008373, 0.008369, 0.008365, \
                 0.008369, 0.008363, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008173, -0.008152, -0.008164, -0.008216, -0.008248, -0.008265, \
                 -0.008277, -0.008286, -0.00829, -0.008299");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009049, 0.009048, 0.009052, 0.009041, 0.00904, 0.00905, 0.009043, \
                 0.009044, 0.009045, 0.00904");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006489, -0.006742, -0.007067, -0.007359, -0.007572, -0.007746, \
                 -0.007844, -0.007901, -0.007951, -0.007989");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03488, 0.03485, 0.03484, 0.03483, 0.03481, 0.03482, 0.03481, \
                 0.03481, 0.03482, 0.03486");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00649, -0.006763, -0.007076, -0.007357, -0.007586, -0.007742, \
                 -0.007837, -0.007902, -0.007952, -0.007984");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008364, 0.008368, 0.008364, 0.008354, 0.008363, 0.008366, 0.008371, \
                 0.008373, 0.008364, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007664, -0.007943, -0.008168, -0.008211, -0.008251, -0.008274, \
                 -0.00828, -0.008279, -0.008289, -0.008291");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008374, 0.008363, 0.008346, 0.00834, 0.008357, 0.008371, 0.008369, \
                 0.008366, 0.008369, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007676, -0.007941, -0.008156, -0.008207, -0.008229, -0.008278, \
                 -0.008276, -0.008286, -0.008287, -0.008296");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009113, 0.009111, 0.009097, 0.00909, 0.009105, 0.009104, 0.009109, \
                 0.009106, 0.009098, 0.009091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006465, -0.006756, -0.007112, -0.007429, -0.007659, -0.0078, \
                 -0.007878, -0.007936, -0.007978, -0.008012");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009091, 0.009106, 0.009113, 0.009082, 0.009091, 0.009098, 0.009104, \
                 0.009096, 0.009099, 0.009097");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006466, -0.006745, -0.007104, -0.007437, -0.007644, -0.007796, \
                 -0.007881, -0.007939, -0.007979, -0.008007");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008356, 0.008366, 0.008354, 0.008354, 0.008353, 0.008373, 0.008371, \
                 0.008369, 0.008367, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007676, -0.007927, -0.008166, -0.008213, -0.00824, -0.00827, \
                 -0.008282, -0.008278, -0.008292, -0.0083");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008371, 0.008371, 0.008351, 0.008376, 0.008354, 0.00837, 0.008367, \
                 0.008369, 0.008369, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00752, -0.007871, -0.008152, -0.008215, -0.008242, -0.008265, \
                 -0.00828, -0.008288, -0.008289, -0.008298");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009105, 0.009091, 0.009111, 0.009101, 0.00909, 0.009109, 0.009104, \
                 0.009101, 0.009098, 0.009097");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006473, -0.006731, -0.007106, -0.00743, -0.00764, -0.007794, \
                 -0.007882, -0.007935, -0.00799, -0.008007");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02924, 0.02923, 0.02925, 0.02918, 0.02917, 0.02919, 0.0292, \
                 0.02919, 0.02922, 0.02919");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006469, -0.006753, -0.007105, -0.007424, -0.007663, -0.007789, \
                 -0.00788, -0.007933, -0.007977, -0.008007");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.183, -0.17, -0.122, -0.056, 0.003, 0.042, 0.066, 0.054, 0.027, -0.029",\
                 "-0.193, -0.175, -0.137, -0.071, -0.008, 0.029, 0.047, 0.046, 0.016, -0.043",\
                 "-0.227, -0.213, -0.165, -0.106, -0.044, -0.004, 0.022, 0.013, -0.018, -0.075",\
                 "-0.28, -0.266, -0.218, -0.153, -0.09, -0.05, -0.034, -0.038, -0.073, -0.131",\
                 "-0.337, -0.324, -0.277, -0.21, -0.148, -0.11, -0.098, -0.099, -0.135, -0.192",\
                 "-0.388, -0.371, -0.328, -0.264, -0.205, -0.173, -0.16, -0.163, -0.201, -0.259",\
                 "-0.42, -0.407, -0.365, -0.305, -0.244, -0.217, -0.202, -0.218, -0.257, -0.317",\
                 "-0.449, -0.434, -0.398, -0.342, -0.279, -0.258, -0.251, -0.263, -0.301, -0.358",\
                 "-0.481, -0.467, -0.429, -0.391, -0.319, -0.303, -0.299, -0.314, -0.358, -0.416",\
                 "-0.533, -0.513, -0.482, -0.444, -0.398, -0.375, -0.375, -0.392, -0.431, -0.491");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.429, -0.416, -0.385, -0.365, -0.377, -0.412, -0.465, -0.548, -0.65, -0.774",\
                 "-0.432, -0.422, -0.391, -0.37, -0.386, -0.419, -0.476, -0.552, -0.65, -0.782",\
                 "-0.452, -0.438, -0.409, -0.39, -0.4, -0.438, -0.486, -0.572, -0.672, -0.794",\
                 "-0.471, -0.459, -0.427, -0.413, -0.417, -0.453, -0.503, -0.579, -0.676, -0.803",\
                 "-0.486, -0.479, -0.443, -0.427, -0.43, -0.46, -0.51, -0.58, -0.684, -0.806",\
                 "-0.491, -0.477, -0.443, -0.424, -0.424, -0.453, -0.503, -0.567, -0.667, -0.789",\
                 "-0.462, -0.45, -0.42, -0.395, -0.405, -0.426, -0.476, -0.54, -0.641, -0.759",\
                 "-0.408, -0.392, -0.36, -0.342, -0.345, -0.368, -0.417, -0.492, -0.584, -0.701",\
                 "-0.306, -0.29, -0.263, -0.242, -0.244, -0.276, -0.328, -0.402, -0.498, -0.623",\
                 "-0.163, -0.151, -0.122, -0.109, -0.117, -0.142, -0.197, -0.272, -0.377, -0.501");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.132, -0.115, -0.068, -0.001, 0.055, 0.094, 0.108, 0.107, 0.075, 0.018",\
                 "-0.138, -0.128, -0.083, -0.013, 0.039, 0.082, 0.098, 0.093, 0.064, 0.004",\
                 "-0.178, -0.16, -0.118, -0.048, 0.008, 0.047, 0.067, 0.062, 0.031, -0.027",\
                 "-0.226, -0.209, -0.166, -0.091, -0.042, -0.007, 0.016, 0.009, -0.02, -0.081",\
                 "-0.278, -0.263, -0.216, -0.148, -0.094, -0.057, -0.041, -0.047, -0.078, -0.138",\
                 "-0.319, -0.3, -0.258, -0.183, -0.135, -0.103, -0.093, -0.095, -0.133, -0.188",\
                 "-0.344, -0.322, -0.284, -0.215, -0.164, -0.136, -0.121, -0.13, -0.174, -0.231",\
                 "-0.366, -0.35, -0.317, -0.242, -0.197, -0.174, -0.163, -0.172, -0.213, -0.27",\
                 "-0.401, -0.386, -0.354, -0.277, -0.244, -0.219, -0.21, -0.219, -0.265, -0.316",\
                 "-0.455, -0.429, -0.407, -0.338, -0.315, -0.291, -0.282, -0.296, -0.332, -0.388");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.424, -0.409, -0.379, -0.366, -0.369, -0.401, -0.457, -0.53, -0.626, -0.753",\
                 "-0.425, -0.414, -0.385, -0.37, -0.378, -0.407, -0.459, -0.54, -0.634, -0.761",\
                 "-0.447, -0.432, -0.401, -0.384, -0.391, -0.425, -0.477, -0.553, -0.655, -0.778",\
                 "-0.462, -0.45, -0.421, -0.405, -0.412, -0.438, -0.493, -0.566, -0.667, -0.792",\
                 "-0.479, -0.471, -0.434, -0.422, -0.423, -0.451, -0.499, -0.572, -0.665, -0.788",\
                 "-0.48, -0.471, -0.436, -0.417, -0.416, -0.448, -0.49, -0.558, -0.657, -0.776",\
                 "-0.454, -0.441, -0.411, -0.385, -0.393, -0.419, -0.468, -0.53, -0.629, -0.745",\
                 "-0.39, -0.38, -0.348, -0.335, -0.338, -0.359, -0.407, -0.481, -0.571, -0.693",\
                 "-0.29, -0.274, -0.247, -0.233, -0.244, -0.271, -0.322, -0.395, -0.491, -0.605",\
                 "-0.147, -0.135, -0.106, -0.097, -0.111, -0.142, -0.197, -0.272, -0.368, -0.496");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.168, 1.154, 1.093, 0.992, 0.913, 0.838, 0.803, 0.79, 0.808, 0.852",\
                 "1.177, 1.168, 1.102, 1.007, 0.919, 0.855, 0.818, 0.796, 0.818, 0.866",\
                 "1.214, 1.202, 1.134, 1.034, 0.957, 0.891, 0.848, 0.833, 0.854, 0.897",\
                 "1.271, 1.26, 1.193, 1.088, 1.009, 0.943, 0.903, 0.887, 0.903, 0.949",\
                 "1.357, 1.344, 1.278, 1.177, 1.097, 1.03, 0.991, 0.973, 0.987, 1.027",\
                 "1.504, 1.491, 1.426, 1.324, 1.24, 1.177, 1.13, 1.114, 1.123, 1.171",\
                 "1.727, 1.709, 1.643, 1.544, 1.457, 1.383, 1.34, 1.311, 1.32, 1.359",\
                 "2.019, 2.004, 1.939, 1.832, 1.745, 1.665, 1.617, 1.574, 1.576, 1.611",\
                 "2.375, 2.361, 2.29, 2.182, 2.089, 1.995, 1.935, 1.894, 1.883, 1.911",\
                 "2.787, 2.772, 2.702, 2.582, 2.477, 2.38, 2.309, 2.267, 2.251, 2.267");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.933, 0.914, 0.857, 0.783, 0.72, 0.706, 0.727, 0.773, 0.856, 0.967",\
                 "0.937, 0.921, 0.865, 0.785, 0.733, 0.713, 0.733, 0.778, 0.866, 0.97",\
                 "0.957, 0.941, 0.882, 0.802, 0.749, 0.725, 0.749, 0.796, 0.878, 0.988",\
                 "0.98, 0.961, 0.903, 0.827, 0.766, 0.745, 0.764, 0.814, 0.894, 1.005",\
                 "1, 0.981, 0.93, 0.85, 0.794, 0.767, 0.779, 0.825, 0.901, 1.009",\
                 "1.015, 0.996, 0.941, 0.864, 0.81, 0.783, 0.793, 0.828, 0.903, 1.009",\
                 "1.019, 0.998, 0.945, 0.865, 0.811, 0.783, 0.783, 0.823, 0.889, 0.995",\
                 "0.992, 0.977, 0.92, 0.844, 0.79, 0.755, 0.758, 0.79, 0.861, 0.957",\
                 "0.942, 0.924, 0.867, 0.792, 0.736, 0.7, 0.7, 0.732, 0.801, 0.893",\
                 "0.856, 0.838, 0.783, 0.714, 0.654, 0.621, 0.618, 0.647, 0.71, 0.799");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.179, 1.167, 1.099, 0.992, 0.906, 0.838, 0.794, 0.767, 0.785, 0.826",\
                 "1.19, 1.175, 1.108, 1.007, 0.919, 0.849, 0.801, 0.784, 0.794, 0.845",\
                 "1.225, 1.208, 1.149, 1.039, 0.957, 0.885, 0.839, 0.821, 0.829, 0.88",\
                 "1.28, 1.26, 1.199, 1.088, 1.004, 0.936, 0.893, 0.867, 0.885, 0.927",\
                 "1.365, 1.359, 1.287, 1.177, 1.097, 1.021, 0.968, 0.951, 0.968, 1.015",\
                 "1.516, 1.497, 1.438, 1.331, 1.24, 1.171, 1.123, 1.097, 1.107, 1.151",\
                 "1.744, 1.727, 1.67, 1.564, 1.469, 1.389, 1.34, 1.311, 1.309, 1.352",\
                 "2.049, 2.034, 1.964, 1.859, 1.76, 1.682, 1.617, 1.574, 1.57, 1.603",\
                 "2.415, 2.401, 2.331, 2.208, 2.108, 2.016, 1.947, 1.907, 1.89, 1.902",\
                 "2.829, 2.814, 2.745, 2.622, 2.513, 2.412, 2.331, 2.283, 2.26, 2.267");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.916, 0.901, 0.847, 0.765, 0.712, 0.689, 0.71, 0.755, 0.84, 0.941",\
                 "0.917, 0.905, 0.853, 0.775, 0.718, 0.696, 0.716, 0.76, 0.842, 0.949",\
                 "0.941, 0.923, 0.866, 0.79, 0.731, 0.712, 0.731, 0.777, 0.862, 0.966",\
                 "0.962, 0.951, 0.886, 0.812, 0.755, 0.731, 0.754, 0.794, 0.877, 0.983",\
                 "0.985, 0.973, 0.913, 0.834, 0.781, 0.758, 0.768, 0.81, 0.892, 0.991",\
                 "1.004, 0.984, 0.928, 0.856, 0.793, 0.772, 0.773, 0.82, 0.887, 0.99",\
                 "1.002, 0.99, 0.936, 0.855, 0.794, 0.763, 0.775, 0.803, 0.877, 0.973",\
                 "0.98, 0.965, 0.914, 0.83, 0.775, 0.739, 0.749, 0.773, 0.841, 0.941",\
                 "0.934, 0.915, 0.859, 0.792, 0.726, 0.69, 0.688, 0.719, 0.785, 0.884",\
                 "0.851, 0.838, 0.777, 0.703, 0.648, 0.608, 0.611, 0.639, 0.701, 0.793");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(RN) {
        direction : input ;
      }

      pin(SETN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        clear : !RN ;
        preset : !SETN ;
        clear_preset_var1 : L ;
        clear_preset_var2 : H ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffrsnq_2) {
    area : 109.760000 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : L ;
      clear_preset_var2 : H ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002230965" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SETN&SI" ;
      value : "0.0002236476" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SETN&!SI" ;
      value : "0.0002285349" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SETN&SI" ;
      value : "0.000229086" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SETN&!SI" ;
      value : "0.000238821" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SETN&SI" ;
      value : "0.0002467146" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SETN&!SI" ;
      value : "0.0002442594" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SETN&SI" ;
      value : "0.00025938" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SETN&!SI" ;
      value : "0.0002171565" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SETN&SI" ;
      value : "0.0002177076" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SETN&!SI" ;
      value : "0.0003106422" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SETN&SI" ;
      value : "0.0003111933" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SETN&!SI" ;
      value : "0.000232881" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SETN&SI" ;
      value : "0.0002401212" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SETN&!SI" ;
      value : "0.0003263634" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SETN&SI" ;
      value : "0.0003247794" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002188263" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SETN&SI" ;
      value : "0.0002188263" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SETN&!SI" ;
      value : "0.000231495" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SETN&SI" ;
      value : "0.000231495" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SETN&!SI" ;
      value : "0.0002556741" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SETN&SI" ;
      value : "0.0002324883" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SETN&!SI" ;
      value : "0.0002611125" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SETN&SI" ;
      value : "0.000245157" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SETN&!SI" ;
      value : "0.0002122329" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SETN&SI" ;
      value : "0.0002122329" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SETN&!SI" ;
      value : "0.0002968944" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SETN&SI" ;
      value : "0.0002968911" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SETN&!SI" ;
      value : "0.0002497374" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SETN&SI" ;
      value : "0.0002258949" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SETN&!SI" ;
      value : "0.000343233" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SETN&SI" ;
      value : "0.0003105564" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002311122" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SETN&SI" ;
      value : "0.0002311287" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SETN&!SI" ;
      value : "0.0002197932" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SETN&SI" ;
      value : "0.0002198097" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SETN&!SI" ;
      value : "0.0002305974" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SETN&SI" ;
      value : "0.0002318976" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SETN&!SI" ;
      value : "0.0002192784" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SETN&SI" ;
      value : "0.0002205786" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SETN&!SI" ;
      value : "0.0002124012" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SETN&SI" ;
      value : "0.0002124012" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SETN&!SI" ;
      value : "0.0002388771" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SETN&SI" ;
      value : "0.0002388738" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SETN&!SI" ;
      value : "0.0002118105" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SETN&SI" ;
      value : "0.0002125233" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SETN&!SI" ;
      value : "0.0002382798" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SETN&SI" ;
      value : "0.0003762" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002324784" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SETN&SI" ;
      value : "0.0002324784" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SETN&!SI" ;
      value : "0.0002211594" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SETN&SI" ;
      value : "0.0002211594" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SETN&!SI" ;
      value : "0.0002306634" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SETN&SI" ;
      value : "0.0002319075" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SETN&!SI" ;
      value : "0.0002193477" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SETN&SI" ;
      value : "0.0002205885" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SETN&!SI" ;
      value : "0.0002131041" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SETN&SI" ;
      value : "0.0002131041" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SETN&!SI" ;
      value : "0.000362109" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SETN&SI" ;
      value : "0.000362109" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SETN&!SI" ;
      value : "0.0002118105" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SETN&SI" ;
      value : "0.0002125332" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SETN&!SI" ;
      value : "0.0002382798" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SETN&SI" ;
      value : "0.000369402" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0003762" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003528 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.742 ;
      min_pulse_width_high : 0.812 ;
      min_pulse_width_low : 1.371 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1589, 0.1585, 0.1591, 0.1648, 0.177, 0.1962, 0.2232, 0.2588, \
                 0.3033, 0.3567");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1074, 0.1071, 0.1075, 0.1122, 0.1223, 0.1392, 0.1632, 0.1949, \
                 0.2343, 0.282");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1589, 0.1585, 0.1591, 0.1648, 0.177, 0.1962, 0.2233, 0.2588, \
                 0.3033, 0.3567");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1074, 0.1071, 0.1075, 0.1122, 0.1223, 0.1392, 0.1632, 0.1949, \
                 0.2343, 0.282");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1574, 0.1569, 0.1576, 0.1634, 0.1756, 0.1949, 0.2221, 0.2577, \
                 0.3021, 0.3556");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.1027, 0.1031, 0.1079, 0.1178, 0.1346, 0.1586, 0.1902, \
                 0.2295, 0.2772");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1574, 0.1569, 0.1576, 0.1634, 0.1757, 0.1949, 0.2221, 0.2577, \
                 0.3021, 0.3556");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.1027, 0.1031, 0.1079, 0.1178, 0.1346, 0.1586, 0.1902, \
                 0.2295, 0.2772");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1662, 0.1658, 0.1664, 0.1721, 0.1843, 0.2036, 0.2306, 0.2662, \
                 0.3106, 0.364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1074, 0.1071, 0.1075, 0.1122, 0.1224, 0.1392, 0.1632, 0.1949, \
                 0.2344, 0.2821");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1731, 0.1726, 0.1732, 0.1793, 0.1924, 0.2129, 0.2415, 0.2791, \
                 0.3259, 0.3819");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1511, 0.1508, 0.1512, 0.1563, 0.167, 0.1848, 0.21, 0.2431, 0.2843, \
                 0.334");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1647, 0.1642, 0.1649, 0.1707, 0.183, 0.2022, 0.2294, 0.265, \
                 0.3094, 0.363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.1027, 0.1031, 0.1079, 0.1178, 0.1346, 0.1586, 0.1902, \
                 0.2295, 0.2772");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2308, 0.2303, 0.2309, 0.2372, 0.2507, 0.2715, 0.3009, 0.3391, \
                 0.3867, 0.4438");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.208, 0.2077, 0.208, 0.2136, 0.2252, 0.2439, 0.2707, 0.3057, \
                 0.349, 0.401");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2058, 0.2053, 0.206, 0.2117, 0.2239, 0.2433, 0.2704, 0.306, \
                 0.3504, 0.4042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1346, 0.1342, 0.1347, 0.1395, 0.1497, 0.1667, 0.191, 0.2226, \
                 0.2623, 0.3102");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2058, 0.2053, 0.206, 0.2117, 0.2239, 0.2433, 0.2704, 0.306, \
                 0.3505, 0.4042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1346, 0.1342, 0.1347, 0.1395, 0.1497, 0.1666, 0.191, 0.2227, \
                 0.2623, 0.3102");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1398, 0.152, 0.1713, 0.1985, 0.2341, \
                 0.2786, 0.3323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.1027, 0.1031, 0.1078, 0.1178, 0.1347, 0.1586, 0.1901, \
                 0.2295, 0.2773");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1398, 0.152, 0.1713, 0.1985, 0.2342, \
                 0.2786, 0.3323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.1027, 0.1031, 0.1078, 0.1178, 0.1347, 0.1586, 0.1902, \
                 0.2296, 0.2772");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.213, 0.2125, 0.2132, 0.219, 0.2312, 0.2506, 0.2776, 0.3133, \
                 0.3578, 0.4115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1346, 0.1343, 0.1347, 0.1395, 0.1498, 0.1667, 0.191, 0.2227, \
                 0.2623, 0.3102");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1504, 0.1499, 0.1506, 0.1563, 0.1686, 0.188, 0.2151, 0.2507, \
                 0.2952, 0.3487");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1093, 0.109, 0.1094, 0.1142, 0.1241, 0.1409, 0.1649, 0.1965, \
                 0.2359, 0.2835");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1338, 0.1333, 0.1339, 0.1397, 0.152, 0.1713, 0.1985, 0.2342, \
                 0.2787, 0.3323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.1027, 0.1031, 0.1079, 0.1178, 0.1346, 0.1586, 0.1902, \
                 0.2296, 0.2772");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1337, 0.1396, 0.1517, 0.1711, 0.1983, 0.234, \
                 0.2784, 0.332");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1093, 0.109, 0.1094, 0.1141, 0.1241, 0.1409, 0.1649, 0.1964, \
                 0.2358, 0.2835");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1648, 0.1644, 0.1649, 0.171, 0.1841, 0.2046, 0.2333, 0.2708, \
                 0.3176, 0.3737");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1511, 0.1507, 0.1511, 0.1562, 0.167, 0.1848, 0.21, 0.2431, 0.2843, \
                 0.3339");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1648, 0.1644, 0.1649, 0.171, 0.1841, 0.2046, 0.2333, 0.2708, \
                 0.3176, 0.3737");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1511, 0.1507, 0.1511, 0.1562, 0.167, 0.1848, 0.21, 0.2431, 0.2843, \
                 0.334");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2208, 0.2204, 0.221, 0.2273, 0.2407, 0.2616, 0.2909, 0.3291, \
                 0.3764, 0.4335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.208, 0.2076, 0.208, 0.2135, 0.2251, 0.2439, 0.2707, 0.3057, \
                 0.349, 0.401");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2208, 0.2204, 0.221, 0.2273, 0.2407, 0.2615, 0.291, 0.3292, \
                 0.3765, 0.4335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.208, 0.2076, 0.208, 0.2135, 0.2251, 0.2439, 0.2707, 0.3057, \
                 0.349, 0.401");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1736, 0.1732, 0.1738, 0.1795, 0.1917, 0.2109, 0.2379, 0.2735, \
                 0.3179, 0.3714");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1074, 0.1071, 0.1075, 0.1122, 0.1223, 0.1392, 0.1632, 0.1949, \
                 0.2343, 0.282");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1687, 0.1682, 0.1688, 0.1749, 0.1881, 0.2085, 0.2372, 0.2749, \
                 0.3216, 0.3777");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1511, 0.1507, 0.1511, 0.1563, 0.167, 0.1849, 0.2101, 0.2432, \
                 0.2844, 0.334");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1722, 0.1717, 0.1724, 0.1781, 0.1903, 0.2096, 0.2368, 0.2724, \
                 0.3168, 0.3703");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.1027, 0.1031, 0.1079, 0.1178, 0.1346, 0.1586, 0.1902, \
                 0.2295, 0.2772");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2256, 0.2252, 0.2258, 0.2321, 0.2455, 0.2664, 0.2957, 0.334, \
                 0.3814, 0.4386");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.208, 0.2076, 0.208, 0.2136, 0.2253, 0.244, 0.2708, 0.3058, 0.3491, \
                 0.4011");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1422, 0.1417, 0.1423, 0.1481, 0.1603, 0.1797, 0.2068, 0.2424, \
                 0.287, 0.3406");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1093, 0.109, 0.1094, 0.1141, 0.1241, 0.1409, 0.1649, 0.1964, \
                 0.2358, 0.2835");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1422, 0.1417, 0.1423, 0.1481, 0.1603, 0.1797, 0.2068, 0.2424, \
                 0.2869, 0.3406");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1093, 0.109, 0.1094, 0.1141, 0.1241, 0.1409, 0.1649, 0.1964, \
                 0.2358, 0.2835");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1518, 0.1711, 0.1983, 0.234, \
                 0.2785, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1093, 0.109, 0.1093, 0.1141, 0.1241, 0.1409, 0.1648, 0.1964, \
                 0.2358, 0.2833");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1518, 0.1711, 0.1984, 0.234, \
                 0.2785, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1093, 0.109, 0.1093, 0.1141, 0.1241, 0.1409, 0.1648, 0.1964, \
                 0.2358, 0.2833");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2202, 0.2197, 0.2204, 0.2261, 0.2384, 0.2578, 0.2848, 0.3204, \
                 0.365, 0.4187");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1346, 0.1342, 0.1347, 0.1395, 0.1497, 0.1667, 0.191, 0.2226, \
                 0.2623, 0.3102");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.146, 0.1455, 0.1462, 0.1519, 0.1642, 0.1836, 0.2107, 0.2463, \
                 0.2907, 0.3443");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1093, 0.109, 0.1094, 0.1142, 0.1241, 0.1408, 0.1649, 0.1964, \
                 0.2358, 0.2835");
        }
      }

      internal_power() {
        when : "D&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1397, 0.152, 0.1713, 0.1986, 0.2341, \
                 0.2787, 0.3323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.103, 0.1027, 0.1031, 0.1079, 0.1178, 0.1346, 0.1586, 0.1902, \
                 0.2296, 0.2772");
        }
      }

      internal_power() {
        when : "D&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1518, 0.1711, 0.1983, 0.2341, \
                 0.2784, 0.332");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1092, 0.1089, 0.1094, 0.1142, 0.1241, 0.1409, 0.1649, 0.1964, \
                 0.2358, 0.2835");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.24");
        }

        rise_constraint(scalar) {
          values("0.713");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.24");
        }

        rise_constraint(scalar) {
          values("0.713");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.273");
        }

        rise_constraint(scalar) {
          values("0.713");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.043");
        }

        rise_constraint(scalar) {
          values("0.812");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.958");
        }

        rise_constraint(scalar) {
          values("0.812");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.958");
        }

        rise_constraint(scalar) {
          values("0.812");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.371");
        }

        rise_constraint(scalar) {
          values("0.713");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.004");
        }

        rise_constraint(scalar) {
          values("0.812");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.477");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.477");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.542");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.069");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("1.892");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.892");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.742");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.981");
        }
      }
    }

    pin(D) {
      capacitance : 0.002653 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09802, 0.09767, 0.09685, 0.0964, 0.09812, 0.1038, 0.1143, 0.1299, \
                 0.1506, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02934, 0.02941, 0.02905, 0.02896, 0.03069, 0.03552, 0.04401, \
                 0.0565, 0.07325, 0.09436");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09802, 0.09767, 0.09685, 0.0964, 0.09813, 0.1038, 0.1143, 0.13, \
                 0.1506, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02934, 0.02941, 0.02906, 0.02896, 0.0307, 0.03553, 0.04401, \
                 0.05651, 0.07326, 0.09436");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1369, 0.1365, 0.1357, 0.1353, 0.1376, 0.1447, 0.1574, 0.1762, \
                 0.2009, 0.2311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08678, 0.08685, 0.08648, 0.08661, 0.08933, 0.09574, 0.1065, \
                 0.1219, 0.1421, 0.167");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1369, 0.1365, 0.1357, 0.1353, 0.1376, 0.1447, 0.1574, 0.1762, \
                 0.2009, 0.231");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08678, 0.08689, 0.08651, 0.08661, 0.08934, 0.09575, 0.1065, \
                 0.1219, 0.1421, 0.167");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008413, 0.008417, 0.008421, 0.008401, 0.008418, 0.008403, 0.008406, \
                 0.008399, 0.00839, 0.008387");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007963, -0.007967, -0.007963, -0.008027, -0.008094, -0.008126, \
                 -0.00816, -0.008185, -0.008208, -0.008234");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004331, 0.004323, 0.00432, 0.004318, 0.004333, 0.00433, 0.004327, \
                 0.00432, 0.004313, 0.004304");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003052, -0.003057, -0.003048, -0.003051, -0.00306, -0.003062, \
                 -0.003066, -0.003065, -0.003065, -0.003067");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008412, 0.008416, 0.00843, 0.008421, 0.008423, 0.008406, 0.008403, \
                 0.008398, 0.008394, 0.00839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007957, -0.007963, -0.00797, -0.008021, -0.008093, -0.008128, \
                 -0.008161, -0.008185, -0.008211, -0.008232");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004328, 0.004322, 0.004324, 0.004317, 0.004335, 0.004332, 0.004326, \
                 0.004316, 0.004312, 0.004302");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003052, -0.003053, -0.003047, -0.003051, -0.003061, -0.003064, \
                 -0.003066, -0.003063, -0.003065, -0.003068");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09802, 0.09767, 0.09686, 0.09639, 0.09812, 0.1038, 0.1143, 0.13, \
                 0.1506, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.02941, 0.02905, 0.02897, 0.03072, 0.03553, 0.04402, \
                 0.05651, 0.07327, 0.09433");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09802, 0.09767, 0.09685, 0.09639, 0.09812, 0.1038, 0.1143, 0.13, \
                 0.1506, 0.1761");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.02941, 0.02905, 0.02897, 0.03073, 0.03553, 0.04402, \
                 0.05652, 0.07327, 0.09433");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1334, 0.1325, 0.1321, 0.1344, 0.1415, 0.1541, 0.1729, \
                 0.1974, 0.2274");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08945, 0.08954, 0.08918, 0.08925, 0.092, 0.09836, 0.1091, 0.1245, \
                 0.1447, 0.1696");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1325, 0.1321, 0.1344, 0.1415, 0.1541, 0.1729, \
                 0.1974, 0.2274");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08945, 0.08954, 0.08918, 0.08926, 0.092, 0.09836, 0.1091, 0.1245, \
                 0.1447, 0.1696");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008404, 0.008418, 0.008427, 0.008416, 0.008414, 0.008408, 0.008405, \
                 0.008396, 0.008394, 0.00839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007961, -0.007959, -0.007971, -0.008024, -0.008079, -0.008133, \
                 -0.008158, -0.008185, -0.008208, -0.00823");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004338, 0.004322, 0.004321, 0.004324, 0.004321, 0.004328, 0.004325, \
                 0.004318, 0.004313, 0.004302");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003057, -0.003049, -0.003051, -0.003052, -0.003055, -0.00306, \
                 -0.003064, -0.003062, -0.003066, -0.003065");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00841, 0.00841, 0.008424, 0.008424, 0.008409, 0.008407, 0.008403, \
                 0.008403, 0.008394, 0.008392");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007967, -0.007963, -0.007957, -0.008029, -0.008079, -0.008122, \
                 -0.008161, -0.008186, -0.008211, -0.008235");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004337, 0.004328, 0.004325, 0.004321, 0.004321, 0.004331, 0.004327, \
                 0.004319, 0.00431, 0.004303");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00306, -0.003048, -0.003054, -0.003052, -0.003062, -0.003062, \
                 -0.003066, -0.003067, -0.003066, -0.003065");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009555, 0.009367, 0.009302, 0.009284, 0.009295, 0.009289, 0.009298, \
                 0.009291, 0.00929, 0.009294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006271, -0.006303, -0.00677, -0.007282, -0.00762, -0.007792, \
                 -0.007892, -0.007954, -0.007998, -0.008029");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009555, 0.009367, 0.009309, 0.009284, 0.009296, 0.009289, 0.009296, \
                 0.009291, 0.009292, 0.009293");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006271, -0.006303, -0.00677, -0.007286, -0.007617, -0.007789, \
                 -0.007895, -0.007951, -0.008, -0.00803");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009551, 0.009365, 0.0093, 0.00928, 0.009294, 0.009293, 0.009297, \
                 0.009289, 0.00929, 0.009292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006272, -0.006304, -0.006769, -0.007285, -0.007625, -0.007794, \
                 -0.007897, -0.007956, -0.008, -0.008028");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009551, 0.009365, 0.0093, 0.00928, 0.009295, 0.009293, 0.009297, \
                 0.00929, 0.009292, 0.009294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006272, -0.006304, -0.00677, -0.007287, -0.00762, -0.007796, \
                 -0.007893, -0.007954, -0.008, -0.008035");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008323, 0.008457, 0.008534, 0.008537, 0.008543, 0.008529, 0.008518, \
                 0.008502, 0.008471, 0.008427");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008046, -0.008052, -0.008035, -0.008086, -0.008162, -0.008199, \
                 -0.008215, -0.008227, -0.008238, -0.008248");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00413, 0.004127, 0.004137, 0.004137, 0.004146, 0.004146, 0.004146, \
                 0.004146, 0.004149, 0.004148");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005063, -0.004839, -0.004651, -0.004585, -0.004574, -0.004559, \
                 -0.004545, -0.004539, -0.004534, -0.004527");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008317, 0.008466, 0.008535, 0.00853, 0.008546, 0.008532, 0.008521, \
                 0.008499, 0.008471, 0.008434");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00805, -0.00805, -0.008045, -0.008077, -0.008157, -0.008194, \
                 -0.008215, -0.008229, -0.008239, -0.008248");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004124, 0.004122, 0.004136, 0.00414, 0.004145, 0.004142, 0.004146, \
                 0.004149, 0.004147, 0.004147");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005062, -0.004825, -0.004648, -0.004588, -0.004576, -0.004557, \
                 -0.004547, -0.00454, -0.004533, -0.004526");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009328, 0.009311, 0.009299, 0.009276, 0.00928, 0.009294, 0.0093, \
                 0.009296, 0.009294, 0.009293");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006276, -0.006293, -0.006771, -0.007283, -0.007608, -0.007787, \
                 -0.007892, -0.007955, -0.007998, -0.008022");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00932, 0.009311, 0.009299, 0.009276, 0.00928, 0.009295, 0.009298, \
                 0.009296, 0.009292, 0.00929");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006276, -0.006293, -0.006771, -0.007287, -0.007606, -0.007787, \
                 -0.007889, -0.007954, -0.007997, -0.008028");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02297, 0.02299, 0.02293, 0.02292, 0.02293, 0.02294, \
                 0.02294, 0.02295, 0.02294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006287, -0.006314, -0.006762, -0.007285, -0.007613, -0.00779, \
                 -0.007883, -0.007953, -0.007999, -0.008028");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02297, 0.02299, 0.02294, 0.02292, 0.02293, 0.02294, \
                 0.02294, 0.02295, 0.02294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006286, -0.006314, -0.006762, -0.007285, -0.007613, -0.00779, \
                 -0.007884, -0.007953, -0.007999, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008371, 0.008375, 0.008376, 0.008371, 0.008357, 0.008369, 0.008365, \
                 0.008368, 0.008364, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00805, -0.008058, -0.008039, -0.008081, -0.008149, -0.00819, \
                 -0.008218, -0.008229, -0.008238, -0.008247");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004119, 0.004121, 0.004137, 0.004137, 0.004129, 0.004147, 0.004145, \
                 0.004147, 0.004148, 0.004148");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005071, -0.004838, -0.004656, -0.004593, -0.004561, -0.004558, \
                 -0.004548, -0.00454, -0.004535, -0.004529");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008374, 0.008378, 0.008377, 0.00837, 0.008373, 0.008369, 0.008369, \
                 0.008367, 0.008368, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008035, -0.008044, -0.008036, -0.008078, -0.008155, -0.008174, \
                 -0.008211, -0.00823, -0.008239, -0.008248");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004117, 0.004121, 0.00411, 0.00412, 0.004116, 0.004125, 0.004131, \
                 0.00413, 0.004129, 0.004127");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003115, -0.003112, -0.003119, -0.003118, -0.003119, -0.003124, \
                 -0.003125, -0.003121, -0.003119, -0.003115");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.088, -0.041, 0.026, 0.085, 0.129, 0.15, 0.142, 0.107, 0.049",\
                 "-0.111, -0.096, -0.054, 0.016, 0.077, 0.117, 0.141, 0.129, 0.097, 0.041",\
                 "-0.152, -0.136, -0.086, -0.024, 0.043, 0.079, 0.094, 0.093, 0.056, -0",\
                 "-0.217, -0.209, -0.155, -0.084, -0.026, 0.015, 0.036, 0.029, -0.012, -0.064",\
                 "-0.293, -0.278, -0.234, -0.163, -0.1, -0.066, -0.047, -0.054, -0.088, -0.138",\
                 "-0.37, -0.365, -0.315, -0.249, -0.188, -0.151, -0.14, -0.146, -0.185, -0.233",\
                 "-0.462, -0.459, -0.411, -0.345, -0.284, -0.251, -0.242, -0.247, -0.287, -0.338",\
                 "-0.579, -0.571, -0.528, -0.469, -0.412, -0.376, -0.368, -0.378, -0.422, -0.47",\
                 "-0.72, -0.724, -0.677, -0.626, -0.585, -0.538, -0.535, -0.544, -0.592, -0.641",\
                 "-0.902, -0.895, -0.857, -0.82, -0.779, -0.737, -0.739, -0.751, -0.8, -0.849");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.349, -0.334, -0.304, -0.283, -0.295, -0.326, -0.373, -0.448, -0.538, -0.659",\
                 "-0.364, -0.35, -0.314, -0.304, -0.309, -0.337, -0.382, -0.456, -0.554, -0.672",\
                 "-0.393, -0.379, -0.346, -0.332, -0.331, -0.368, -0.413, -0.485, -0.581, -0.697",\
                 "-0.435, -0.421, -0.386, -0.367, -0.369, -0.394, -0.443, -0.512, -0.606, -0.719",\
                 "-0.479, -0.464, -0.425, -0.406, -0.403, -0.425, -0.464, -0.528, -0.617, -0.734",\
                 "-0.503, -0.489, -0.449, -0.424, -0.416, -0.437, -0.476, -0.533, -0.62, -0.731",\
                 "-0.496, -0.484, -0.447, -0.415, -0.416, -0.433, -0.468, -0.53, -0.612, -0.723",\
                 "-0.455, -0.44, -0.404, -0.382, -0.375, -0.393, -0.426, -0.492, -0.578, -0.685",\
                 "-0.37, -0.354, -0.321, -0.303, -0.3, -0.318, -0.358, -0.422, -0.506, -0.623",\
                 "-0.241, -0.23, -0.192, -0.181, -0.183, -0.2, -0.247, -0.312, -0.404, -0.522");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.088, -0.041, 0.026, 0.085, 0.129, 0.15, 0.142, 0.107, 0.049",\
                 "-0.111, -0.096, -0.054, 0.016, 0.077, 0.117, 0.141, 0.129, 0.097, 0.041",\
                 "-0.152, -0.136, -0.086, -0.024, 0.043, 0.079, 0.094, 0.093, 0.056, -0",\
                 "-0.217, -0.209, -0.155, -0.084, -0.026, 0.015, 0.036, 0.029, -0.012, -0.064",\
                 "-0.293, -0.278, -0.234, -0.163, -0.1, -0.066, -0.047, -0.054, -0.088, -0.144",\
                 "-0.376, -0.365, -0.315, -0.249, -0.188, -0.151, -0.14, -0.146, -0.185, -0.239",\
                 "-0.462, -0.459, -0.411, -0.345, -0.297, -0.251, -0.242, -0.247, -0.287, -0.345",\
                 "-0.579, -0.571, -0.528, -0.469, -0.412, -0.376, -0.368, -0.378, -0.422, -0.478",\
                 "-0.72, -0.716, -0.677, -0.626, -0.576, -0.544, -0.535, -0.544, -0.592, -0.65",\
                 "-0.902, -0.895, -0.857, -0.814, -0.76, -0.73, -0.739, -0.751, -0.8, -0.859");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.349, -0.334, -0.304, -0.283, -0.295, -0.326, -0.373, -0.448, -0.538, -0.659",\
                 "-0.364, -0.35, -0.314, -0.293, -0.309, -0.337, -0.382, -0.456, -0.554, -0.672",\
                 "-0.393, -0.379, -0.346, -0.332, -0.331, -0.368, -0.413, -0.485, -0.581, -0.697",\
                 "-0.435, -0.421, -0.386, -0.367, -0.369, -0.394, -0.443, -0.512, -0.606, -0.719",\
                 "-0.479, -0.464, -0.425, -0.406, -0.403, -0.425, -0.464, -0.528, -0.617, -0.734",\
                 "-0.503, -0.489, -0.449, -0.424, -0.416, -0.437, -0.476, -0.533, -0.62, -0.731",\
                 "-0.496, -0.484, -0.447, -0.415, -0.416, -0.433, -0.468, -0.53, -0.612, -0.723",\
                 "-0.455, -0.44, -0.404, -0.382, -0.375, -0.393, -0.426, -0.492, -0.578, -0.685",\
                 "-0.37, -0.354, -0.321, -0.303, -0.3, -0.318, -0.358, -0.422, -0.506, -0.623",\
                 "-0.241, -0.225, -0.192, -0.181, -0.183, -0.2, -0.247, -0.312, -0.404, -0.522");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.042, 1.031, 0.965, 0.874, 0.794, 0.729, 0.702, 0.684, 0.705, 0.758",\
                 "1.047, 1.04, 0.977, 0.881, 0.803, 0.743, 0.707, 0.694, 0.714, 0.761",\
                 "1.086, 1.077, 1.016, 0.918, 0.844, 0.783, 0.749, 0.734, 0.763, 0.805",\
                 "1.162, 1.153, 1.088, 0.996, 0.909, 0.855, 0.823, 0.807, 0.833, 0.871",\
                 "1.283, 1.274, 1.217, 1.114, 1.036, 0.977, 0.934, 0.921, 0.949, 0.991",\
                 "1.476, 1.467, 1.406, 1.31, 1.231, 1.166, 1.123, 1.106, 1.123, 1.171",\
                 "1.744, 1.735, 1.67, 1.574, 1.492, 1.423, 1.381, 1.36, 1.374, 1.409",\
                 "2.084, 2.07, 2.007, 1.906, 1.819, 1.749, 1.705, 1.677, 1.678, 1.715",\
                 "2.486, 2.473, 2.406, 2.304, 2.212, 2.131, 2.077, 2.049, 2.046, 2.073",\
                 "2.933, 2.924, 2.858, 2.745, 2.65, 2.567, 2.509, 2.474, 2.467, 2.482");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.83, 0.819, 0.761, 0.683, 0.623, 0.608, 0.626, 0.666, 0.745, 0.847",\
                 "0.842, 0.834, 0.77, 0.698, 0.633, 0.613, 0.63, 0.677, 0.754, 0.86",\
                 "0.871, 0.864, 0.803, 0.721, 0.67, 0.649, 0.667, 0.702, 0.787, 0.886",\
                 "0.917, 0.912, 0.845, 0.766, 0.708, 0.687, 0.704, 0.74, 0.816, 0.915",\
                 "0.978, 0.965, 0.903, 0.822, 0.767, 0.741, 0.739, 0.773, 0.845, 0.938",\
                 "1.021, 1.013, 0.947, 0.871, 0.81, 0.783, 0.78, 0.803, 0.866, 0.964",\
                 "1.044, 1.032, 0.973, 0.895, 0.834, 0.797, 0.799, 0.823, 0.877, 0.966",\
                 "1.039, 1.025, 0.97, 0.89, 0.827, 0.797, 0.788, 0.807, 0.868, 0.949",\
                 "0.998, 0.988, 0.933, 0.853, 0.792, 0.753, 0.742, 0.766, 0.824, 0.911",\
                 "0.924, 0.911, 0.858, 0.77, 0.714, 0.679, 0.668, 0.687, 0.746, 0.829");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.042, 1.031, 0.965, 0.874, 0.794, 0.729, 0.702, 0.684, 0.705, 0.764",\
                 "1.047, 1.04, 0.977, 0.881, 0.803, 0.743, 0.707, 0.694, 0.714, 0.761",\
                 "1.086, 1.077, 1.016, 0.923, 0.844, 0.783, 0.749, 0.734, 0.763, 0.805",\
                 "1.162, 1.153, 1.089, 0.996, 0.909, 0.855, 0.823, 0.807, 0.833, 0.882",\
                 "1.283, 1.274, 1.217, 1.114, 1.036, 0.969, 0.934, 0.921, 0.949, 0.991",\
                 "1.476, 1.467, 1.406, 1.31, 1.231, 1.166, 1.123, 1.106, 1.123, 1.177",\
                 "1.744, 1.735, 1.67, 1.574, 1.492, 1.423, 1.381, 1.36, 1.368, 1.409",\
                 "2.084, 2.07, 2.008, 1.906, 1.819, 1.749, 1.705, 1.677, 1.678, 1.715",\
                 "2.486, 2.473, 2.406, 2.304, 2.212, 2.131, 2.077, 2.049, 2.046, 2.073",\
                 "2.933, 2.924, 2.858, 2.745, 2.65, 2.567, 2.509, 2.474, 2.467, 2.492");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.83, 0.819, 0.761, 0.683, 0.623, 0.602, 0.626, 0.666, 0.745, 0.847",\
                 "0.842, 0.834, 0.77, 0.698, 0.633, 0.613, 0.63, 0.677, 0.754, 0.86",\
                 "0.871, 0.858, 0.803, 0.721, 0.67, 0.649, 0.667, 0.702, 0.787, 0.886",\
                 "0.917, 0.912, 0.845, 0.774, 0.708, 0.687, 0.704, 0.74, 0.816, 0.91",\
                 "0.978, 0.965, 0.903, 0.822, 0.767, 0.741, 0.739, 0.773, 0.845, 0.938",\
                 "1.021, 1.013, 0.953, 0.871, 0.81, 0.783, 0.78, 0.803, 0.866, 0.964",\
                 "1.044, 1.032, 0.973, 0.895, 0.834, 0.797, 0.799, 0.823, 0.877, 0.966",\
                 "1.039, 1.025, 0.97, 0.884, 0.827, 0.797, 0.788, 0.807, 0.861, 0.957",\
                 "0.998, 0.988, 0.933, 0.853, 0.792, 0.753, 0.742, 0.766, 0.824, 0.911",\
                 "0.924, 0.911, 0.858, 0.775, 0.714, 0.679, 0.668, 0.687, 0.746, 0.834");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.7207 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&RN&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2051, 0.2012, 0.1971, 0.1952, 0.1944, 0.194, 0.1937, 0.1935, 0.1934, 0.1934",\
                 "0.2051, 0.2012, 0.197, 0.1952, 0.1943, 0.1939, 0.1936, 0.1935, 0.1934, 0.1933",\
                 "0.2051, 0.2012, 0.197, 0.1951, 0.1944, 0.1939, 0.1937, 0.1935, 0.1934, 0.1934",\
                 "0.2057, 0.2019, 0.1976, 0.1959, 0.195, 0.1946, 0.1943, 0.1941, 0.194, 0.194",\
                 "0.2066, 0.2027, 0.1986, 0.1968, 0.1959, 0.1954, 0.1952, 0.195, 0.1949, 0.1949",\
                 "0.2074, 0.2035, 0.1994, 0.1976, 0.1967, 0.1963, 0.196, 0.1959, 0.1958, 0.1957",\
                 "0.2087, 0.2048, 0.2007, 0.1989, 0.198, 0.1976, 0.1973, 0.1972, 0.197, 0.197",\
                 "0.2099, 0.206, 0.2019, 0.2001, 0.1992, 0.1988, 0.1985, 0.1984, 0.1983, 0.1982",\
                 "0.2114, 0.2074, 0.2034, 0.2016, 0.2008, 0.2004, 0.2001, 0.1999, 0.1998, 0.1997",\
                 "0.2129, 0.2091, 0.2048, 0.203, 0.2022, 0.2017, 0.2014, 0.2013, 0.2012, 0.2011");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2448, 0.2396, 0.2331, 0.2296, 0.2281, 0.2282, 0.2289, 0.2298, 0.2317, 0.2401",\
                 "0.2448, 0.2397, 0.2331, 0.2294, 0.2278, 0.2282, 0.2285, 0.2297, 0.2314, 0.2414",\
                 "0.2448, 0.2397, 0.2331, 0.2296, 0.2278, 0.2283, 0.2284, 0.2296, 0.2313, 0.2408",\
                 "0.2449, 0.2399, 0.2334, 0.2301, 0.2282, 0.2286, 0.229, 0.2305, 0.2315, 0.2419",\
                 "0.2452, 0.2403, 0.2337, 0.23, 0.2284, 0.2288, 0.2292, 0.2301, 0.2331, 0.2443",\
                 "0.246, 0.2408, 0.2343, 0.2308, 0.2293, 0.2293, 0.2302, 0.2321, 0.2332, 0.2471",\
                 "0.2472, 0.2421, 0.2353, 0.2318, 0.231, 0.231, 0.2307, 0.2322, 0.2347, 0.2525",\
                 "0.2487, 0.2436, 0.2368, 0.2328, 0.2312, 0.2323, 0.2345, 0.234, 0.2373, 0.2603",\
                 "0.2504, 0.2453, 0.2389, 0.2347, 0.233, 0.2329, 0.235, 0.2371, 0.2406, 0.2733",\
                 "0.2525, 0.2474, 0.2409, 0.2367, 0.2353, 0.2351, 0.2358, 0.2379, 0.2462, 0.2977");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&!SE&SETN&SI | !D&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2051, 0.2013, 0.1971, 0.1953, 0.1944, 0.194, 0.1937, 0.1936, 0.1935, 0.1935",\
                 "0.2051, 0.2012, 0.1971, 0.1952, 0.1944, 0.1939, 0.1937, 0.1936, 0.1934, 0.1934",\
                 "0.2051, 0.2013, 0.1971, 0.1952, 0.1944, 0.194, 0.1937, 0.1936, 0.1935, 0.1935",\
                 "0.2057, 0.2018, 0.1977, 0.1958, 0.195, 0.1945, 0.1943, 0.1941, 0.194, 0.194",\
                 "0.2065, 0.2026, 0.1985, 0.1967, 0.1958, 0.1953, 0.1951, 0.195, 0.1949, 0.1948",\
                 "0.2076, 0.2036, 0.1994, 0.1975, 0.1967, 0.1963, 0.1961, 0.1959, 0.1958, 0.1957",\
                 "0.2086, 0.2046, 0.2005, 0.1987, 0.1979, 0.1975, 0.1972, 0.197, 0.1969, 0.1969",\
                 "0.2099, 0.206, 0.2019, 0.2001, 0.1992, 0.1988, 0.1985, 0.1984, 0.1982, 0.1982",\
                 "0.2115, 0.2076, 0.2033, 0.2016, 0.2008, 0.2003, 0.2, 0.1999, 0.1998, 0.1997",\
                 "0.2129, 0.209, 0.205, 0.2031, 0.2022, 0.2019, 0.2016, 0.2015, 0.2013, 0.2012");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2447, 0.2395, 0.2331, 0.2295, 0.228, 0.2283, 0.2289, 0.2294, 0.2314, 0.2401",\
                 "0.2447, 0.2397, 0.2331, 0.2294, 0.2278, 0.2283, 0.2288, 0.2294, 0.2314, 0.2397",\
                 "0.2447, 0.2395, 0.2332, 0.2293, 0.2278, 0.2281, 0.2285, 0.2297, 0.231, 0.2405",\
                 "0.2449, 0.2399, 0.2334, 0.2299, 0.2281, 0.2286, 0.229, 0.2306, 0.2316, 0.2416",\
                 "0.2452, 0.2401, 0.2337, 0.23, 0.2285, 0.2288, 0.2289, 0.2298, 0.2325, 0.2453",\
                 "0.2461, 0.2411, 0.2344, 0.2308, 0.2291, 0.2293, 0.2299, 0.2305, 0.2329, 0.2471",\
                 "0.2471, 0.2419, 0.2353, 0.2316, 0.231, 0.2309, 0.2311, 0.2326, 0.2344, 0.2523",\
                 "0.2486, 0.2437, 0.237, 0.2329, 0.2315, 0.2327, 0.2341, 0.2349, 0.2359, 0.2598",\
                 "0.2504, 0.2453, 0.2388, 0.2349, 0.2333, 0.2328, 0.2353, 0.2375, 0.2406, 0.2756",\
                 "0.2528, 0.2479, 0.2412, 0.2371, 0.2358, 0.2345, 0.2356, 0.2394, 0.247, 0.2982");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&SE&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2051, 0.2012, 0.197, 0.1951, 0.1943, 0.1939, 0.1937, 0.1935, 0.1934, 0.1934",\
                 "0.2051, 0.2013, 0.197, 0.1951, 0.1944, 0.194, 0.1937, 0.1936, 0.1935, 0.1934",\
                 "0.2051, 0.2013, 0.197, 0.1953, 0.1944, 0.194, 0.1937, 0.1936, 0.1935, 0.1934",\
                 "0.2057, 0.2019, 0.1976, 0.1957, 0.195, 0.1945, 0.1943, 0.1941, 0.194, 0.194",\
                 "0.2065, 0.2026, 0.1984, 0.1967, 0.1958, 0.1953, 0.1951, 0.195, 0.1949, 0.1948",\
                 "0.2074, 0.2036, 0.1994, 0.1974, 0.1967, 0.1964, 0.1961, 0.1959, 0.1958, 0.1957",\
                 "0.2086, 0.2046, 0.2004, 0.1987, 0.1979, 0.1975, 0.1972, 0.197, 0.1969, 0.1969",\
                 "0.2098, 0.206, 0.2018, 0.2, 0.1992, 0.1987, 0.1986, 0.1984, 0.1982, 0.1982",\
                 "0.2114, 0.2076, 0.2035, 0.2015, 0.2008, 0.2004, 0.2001, 0.1999, 0.1998, 0.1997",\
                 "0.2129, 0.2089, 0.2048, 0.203, 0.2021, 0.2017, 0.2014, 0.2012, 0.2011, 0.201");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2448, 0.2399, 0.2332, 0.2294, 0.2281, 0.2284, 0.2289, 0.2298, 0.2318, 0.2397",\
                 "0.2448, 0.2396, 0.2332, 0.2294, 0.2278, 0.2281, 0.2285, 0.2298, 0.2311, 0.2398",\
                 "0.2449, 0.2397, 0.2331, 0.2296, 0.228, 0.2283, 0.2291, 0.2296, 0.2313, 0.2408",\
                 "0.2448, 0.2397, 0.2332, 0.2296, 0.228, 0.2283, 0.2289, 0.2302, 0.2315, 0.2419",\
                 "0.2456, 0.2404, 0.234, 0.2302, 0.2287, 0.2289, 0.2292, 0.2301, 0.2322, 0.244",\
                 "0.2461, 0.241, 0.2345, 0.2308, 0.2293, 0.2294, 0.2299, 0.2321, 0.2332, 0.2487",\
                 "0.247, 0.242, 0.2353, 0.2316, 0.231, 0.2308, 0.231, 0.2322, 0.235, 0.2522",\
                 "0.2483, 0.2434, 0.2368, 0.2329, 0.2313, 0.2322, 0.2341, 0.2346, 0.2359, 0.26",\
                 "0.2504, 0.2453, 0.2388, 0.2345, 0.233, 0.2325, 0.2353, 0.2368, 0.241, 0.2752",\
                 "0.2525, 0.2474, 0.2409, 0.2369, 0.2355, 0.234, 0.2359, 0.2379, 0.2469, 0.2978");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.205, 0.2012, 0.197, 0.1954, 0.1944, 0.1939, 0.1937, 0.1935, 0.1934, 0.1934",\
                 "0.205, 0.2012, 0.197, 0.1952, 0.1943, 0.1939, 0.1936, 0.1935, 0.1934, 0.1934",\
                 "0.2051, 0.2012, 0.197, 0.1951, 0.1944, 0.1939, 0.1937, 0.1935, 0.1934, 0.1934",\
                 "0.2057, 0.2018, 0.1976, 0.1958, 0.195, 0.1945, 0.1943, 0.1941, 0.194, 0.194",\
                 "0.2065, 0.2027, 0.1986, 0.1968, 0.1959, 0.1954, 0.1951, 0.195, 0.1949, 0.1948",\
                 "0.2073, 0.2035, 0.1994, 0.1975, 0.1966, 0.1963, 0.1961, 0.1959, 0.1958, 0.1957",\
                 "0.2087, 0.2048, 0.2006, 0.1988, 0.198, 0.1975, 0.1973, 0.1971, 0.197, 0.197",\
                 "0.2101, 0.2062, 0.2019, 0.2001, 0.1994, 0.1989, 0.1986, 0.1985, 0.1984, 0.1983",\
                 "0.2114, 0.2076, 0.2034, 0.2016, 0.2008, 0.2004, 0.2001, 0.2, 0.1998, 0.1997",\
                 "0.2128, 0.209, 0.2047, 0.2029, 0.2021, 0.2016, 0.2014, 0.2013, 0.2011, 0.2011");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2448, 0.2396, 0.2331, 0.2296, 0.2279, 0.2282, 0.2286, 0.2301, 0.2321, 0.2401",\
                 "0.2446, 0.2395, 0.2332, 0.2294, 0.2278, 0.228, 0.2285, 0.2297, 0.2311, 0.2401",\
                 "0.2448, 0.2397, 0.2332, 0.2293, 0.2278, 0.2281, 0.2285, 0.2297, 0.231, 0.2405",\
                 "0.2451, 0.2398, 0.2333, 0.23, 0.2281, 0.2285, 0.2286, 0.2299, 0.2322, 0.2416",\
                 "0.2452, 0.2401, 0.2338, 0.23, 0.2285, 0.2288, 0.2289, 0.2298, 0.2325, 0.2453",\
                 "0.2461, 0.2409, 0.2344, 0.2308, 0.2291, 0.2293, 0.2299, 0.2308, 0.2329, 0.2471",\
                 "0.2471, 0.2419, 0.2354, 0.2316, 0.231, 0.2309, 0.2311, 0.2326, 0.2344, 0.2523",\
                 "0.2487, 0.2435, 0.2368, 0.2326, 0.2311, 0.2324, 0.2331, 0.234, 0.2356, 0.2602",\
                 "0.2504, 0.2453, 0.2386, 0.2345, 0.2329, 0.2333, 0.2343, 0.2371, 0.241, 0.2746",\
                 "0.2528, 0.2477, 0.2411, 0.2369, 0.2353, 0.2343, 0.236, 0.2397, 0.2466, 0.2982");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1647, 0.1621, 0.1597, 0.1588, 0.1584, 0.1582, 0.1581, 0.158, 0.1579, 0.1579",\
                 "0.1639, 0.1613, 0.159, 0.1581, 0.1576, 0.1574, 0.1573, 0.1572, 0.1572, 0.1571",\
                 "0.1646, 0.1619, 0.1593, 0.1584, 0.1581, 0.1579, 0.1578, 0.1578, 0.1577, 0.1577",\
                 "0.1748, 0.171, 0.1663, 0.1642, 0.1633, 0.1629, 0.1627, 0.1625, 0.1624, 0.1624",\
                 "0.1952, 0.1897, 0.1822, 0.1779, 0.1756, 0.1744, 0.1737, 0.1733, 0.1731, 0.1729",\
                 "0.2252, 0.2182, 0.2075, 0.2004, 0.1963, 0.1942, 0.1927, 0.1919, 0.1914, 0.1911",\
                 "0.2654, 0.2572, 0.2427, 0.2324, 0.2263, 0.2227, 0.2204, 0.2189, 0.2181, 0.2174",\
                 "0.3155, 0.306, 0.2882, 0.2746, 0.2658, 0.2605, 0.2571, 0.2548, 0.2533, 0.2521",\
                 "0.3756, 0.3652, 0.3439, 0.327, 0.3153, 0.3079, 0.3029, 0.2997, 0.2975, 0.296",\
                 "0.4461, 0.4349, 0.4105, 0.3899, 0.3754, 0.3656, 0.359, 0.3545, 0.3515, 0.3492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1082, 0.104, 0.09901, 0.09646, 0.09598, 0.09647, 0.09737, 0.09837, 0.09999, 0.1067",\
                 "0.1073, 0.1031, 0.09809, 0.09557, 0.09509, 0.09562, 0.09648, 0.09738, 0.09933, 0.1066",\
                 "0.1059, 0.1019, 0.09657, 0.09419, 0.09354, 0.0943, 0.09562, 0.09639, 0.09867, 0.1065",\
                 "0.1112, 0.1069, 0.1009, 0.09749, 0.09638, 0.09664, 0.09793, 0.09837, 0.09999, 0.1083",\
                 "0.1269, 0.1215, 0.1142, 0.1094, 0.1069, 0.1066, 0.1064, 0.1076, 0.1089, 0.1181",\
                 "0.1508, 0.1445, 0.1353, 0.1284, 0.125, 0.1229, 0.1225, 0.1234, 0.1241, 0.1357",\
                 "0.1845, 0.1769, 0.1655, 0.1558, 0.1515, 0.1497, 0.1476, 0.1471, 0.1483, 0.1635",\
                 "0.228, 0.2189, 0.2056, 0.1937, 0.1869, 0.1832, 0.1815, 0.1805, 0.181, 0.2003",\
                 "0.2805, 0.2704, 0.2545, 0.2417, 0.2314, 0.2246, 0.222, 0.2221, 0.2235, 0.2513",\
                 "0.3432, 0.3319, 0.3135, 0.2976, 0.2858, 0.2775, 0.2717, 0.2712, 0.2754, 0.3233");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1647, 0.1621, 0.1597, 0.1588, 0.1584, 0.1582, 0.1581, 0.158, 0.1579, 0.1579",\
                 "0.1639, 0.1613, 0.159, 0.1581, 0.1576, 0.1574, 0.1573, 0.1572, 0.1572, 0.1571",\
                 "0.1646, 0.1619, 0.1593, 0.1584, 0.1581, 0.1579, 0.1578, 0.1578, 0.1577, 0.1577",\
                 "0.1748, 0.171, 0.1663, 0.1642, 0.1633, 0.1629, 0.1627, 0.1625, 0.1624, 0.1624",\
                 "0.1952, 0.1898, 0.1822, 0.1779, 0.1756, 0.1745, 0.1738, 0.1734, 0.1732, 0.173",\
                 "0.2252, 0.2182, 0.2075, 0.2004, 0.1964, 0.1941, 0.1927, 0.1919, 0.1914, 0.1911",\
                 "0.2654, 0.2572, 0.2427, 0.2324, 0.2263, 0.2225, 0.2204, 0.2189, 0.218, 0.2174",\
                 "0.3155, 0.306, 0.2881, 0.2746, 0.2658, 0.2605, 0.2571, 0.2548, 0.2532, 0.2521",\
                 "0.3756, 0.3652, 0.3439, 0.327, 0.3153, 0.3079, 0.3029, 0.2997, 0.2974, 0.296",\
                 "0.4461, 0.4349, 0.4105, 0.3899, 0.3754, 0.3656, 0.359, 0.3545, 0.3514, 0.3492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1082, 0.104, 0.09901, 0.09646, 0.09598, 0.09647, 0.09737, 0.09903, 0.09999, 0.1071",\
                 "0.1073, 0.1031, 0.09809, 0.09557, 0.09509, 0.09565, 0.09648, 0.09738, 0.09933, 0.1066",\
                 "0.106, 0.1018, 0.09657, 0.09419, 0.09361, 0.09426, 0.09496, 0.09639, 0.099, 0.1069",\
                 "0.1112, 0.1069, 0.1009, 0.09749, 0.09638, 0.09664, 0.09793, 0.09837, 0.09999, 0.1083",\
                 "0.1269, 0.1215, 0.1141, 0.1093, 0.1069, 0.1065, 0.1063, 0.1076, 0.1089, 0.1185",\
                 "0.1508, 0.1445, 0.1353, 0.128, 0.125, 0.1229, 0.1225, 0.1234, 0.1241, 0.1357",\
                 "0.1845, 0.177, 0.1655, 0.1558, 0.1515, 0.1497, 0.1476, 0.1471, 0.1483, 0.1626",\
                 "0.2279, 0.2189, 0.2056, 0.1939, 0.1869, 0.183, 0.1815, 0.1805, 0.181, 0.2003",\
                 "0.2806, 0.2704, 0.2545, 0.2417, 0.2314, 0.2246, 0.222, 0.2221, 0.2235, 0.2509",\
                 "0.3432, 0.3321, 0.3135, 0.2976, 0.2858, 0.2769, 0.2732, 0.2712, 0.276, 0.3233");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1996, 0.1969, 0.1945, 0.1935, 0.1931, 0.1929, 0.1927, 0.1927, 0.1926, 0.1926",\
                 "0.1997, 0.197, 0.1946, 0.1936, 0.1931, 0.1929, 0.1928, 0.1927, 0.1927, 0.1926",\
                 "0.2004, 0.1976, 0.195, 0.194, 0.1936, 0.1934, 0.1933, 0.1932, 0.1932, 0.1932",\
                 "0.2106, 0.2066, 0.202, 0.1997, 0.1987, 0.1983, 0.198, 0.1979, 0.1977, 0.1977",\
                 "0.2316, 0.226, 0.2181, 0.2136, 0.2113, 0.2102, 0.2094, 0.209, 0.2088, 0.2085",\
                 "0.2627, 0.2552, 0.2438, 0.2364, 0.2323, 0.23, 0.2286, 0.2277, 0.2272, 0.2268",\
                 "0.3024, 0.2935, 0.2782, 0.2676, 0.2612, 0.2573, 0.255, 0.2535, 0.2524, 0.2519",\
                 "0.3498, 0.3397, 0.3205, 0.3064, 0.2973, 0.2916, 0.288, 0.2857, 0.2841, 0.283",\
                 "0.4043, 0.3931, 0.3701, 0.3523, 0.3403, 0.3325, 0.3273, 0.324, 0.3218, 0.3202",\
                 "0.4641, 0.4519, 0.4252, 0.4034, 0.3884, 0.3782, 0.3713, 0.3668, 0.3636, 0.3613");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1996, 0.1969, 0.1945, 0.1935, 0.1931, 0.1929, 0.1927, 0.1927, 0.1926, 0.1926",\
                 "0.1997, 0.197, 0.1946, 0.1936, 0.1931, 0.1929, 0.1928, 0.1927, 0.1927, 0.1926",\
                 "0.2004, 0.1976, 0.195, 0.194, 0.1936, 0.1934, 0.1933, 0.1932, 0.1932, 0.1932",\
                 "0.2106, 0.2066, 0.202, 0.1997, 0.1987, 0.1983, 0.198, 0.1979, 0.1977, 0.1977",\
                 "0.2316, 0.226, 0.2181, 0.2136, 0.2113, 0.2102, 0.2094, 0.209, 0.2088, 0.2085",\
                 "0.2627, 0.2552, 0.2438, 0.2364, 0.2323, 0.23, 0.2286, 0.2277, 0.2272, 0.2268",\
                 "0.3024, 0.2935, 0.2782, 0.2676, 0.2612, 0.2573, 0.255, 0.2535, 0.2524, 0.2519",\
                 "0.3498, 0.3397, 0.3205, 0.3064, 0.2973, 0.2916, 0.288, 0.2857, 0.2841, 0.283",\
                 "0.4043, 0.3931, 0.3701, 0.3523, 0.3403, 0.3325, 0.3273, 0.324, 0.3218, 0.3202",\
                 "0.4641, 0.4519, 0.4252, 0.4034, 0.3884, 0.3782, 0.3713, 0.3668, 0.3636, 0.3613");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1996, 0.1969, 0.1945, 0.1935, 0.1931, 0.1929, 0.1927, 0.1927, 0.1926, 0.1926",\
                 "0.1997, 0.197, 0.1946, 0.1936, 0.1931, 0.1929, 0.1928, 0.1927, 0.1927, 0.1926",\
                 "0.2004, 0.1976, 0.195, 0.194, 0.1936, 0.1934, 0.1933, 0.1932, 0.1932, 0.1932",\
                 "0.2107, 0.2067, 0.202, 0.1997, 0.1987, 0.1983, 0.198, 0.1978, 0.1978, 0.1977",\
                 "0.2317, 0.2261, 0.2182, 0.2136, 0.2113, 0.2101, 0.2094, 0.209, 0.2088, 0.2086",\
                 "0.2626, 0.2552, 0.2438, 0.2364, 0.2323, 0.23, 0.2285, 0.2277, 0.2271, 0.2267",\
                 "0.3024, 0.2935, 0.2782, 0.2676, 0.2612, 0.2573, 0.2549, 0.2534, 0.2524, 0.2518",\
                 "0.3498, 0.3397, 0.3205, 0.3065, 0.2973, 0.2917, 0.288, 0.2857, 0.2841, 0.283",\
                 "0.4043, 0.3931, 0.3701, 0.3523, 0.3403, 0.3325, 0.3273, 0.324, 0.3218, 0.3202",\
                 "0.4641, 0.4518, 0.4252, 0.4034, 0.3884, 0.3782, 0.3713, 0.3668, 0.3636, 0.3613");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1996, 0.1969, 0.1945, 0.1935, 0.1931, 0.1929, 0.1927, 0.1927, 0.1926, 0.1926",\
                 "0.1997, 0.197, 0.1946, 0.1936, 0.1931, 0.1929, 0.1928, 0.1927, 0.1927, 0.1926",\
                 "0.2004, 0.1976, 0.195, 0.194, 0.1936, 0.1934, 0.1933, 0.1932, 0.1932, 0.1932",\
                 "0.2107, 0.2067, 0.202, 0.1997, 0.1987, 0.1983, 0.198, 0.1978, 0.1978, 0.1977",\
                 "0.2317, 0.2261, 0.2182, 0.2136, 0.2113, 0.2101, 0.2094, 0.209, 0.2088, 0.2086",\
                 "0.2626, 0.2552, 0.2438, 0.2364, 0.2323, 0.23, 0.2285, 0.2277, 0.2271, 0.2267",\
                 "0.3024, 0.2935, 0.2782, 0.2676, 0.2612, 0.2573, 0.2549, 0.2534, 0.2524, 0.2518",\
                 "0.3498, 0.3397, 0.3205, 0.3065, 0.2973, 0.2917, 0.288, 0.2857, 0.2841, 0.283",\
                 "0.4043, 0.3931, 0.3701, 0.3523, 0.3403, 0.3325, 0.3273, 0.324, 0.3218, 0.3202",\
                 "0.4641, 0.4518, 0.4252, 0.4034, 0.3884, 0.3782, 0.3713, 0.3668, 0.3636, 0.3613");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1647, 0.1621, 0.1597, 0.1588, 0.1584, 0.1582, 0.1581, 0.158, 0.1579, 0.1579",\
                 "0.1639, 0.1613, 0.159, 0.1581, 0.1576, 0.1574, 0.1573, 0.1572, 0.1572, 0.1571",\
                 "0.1646, 0.1619, 0.1593, 0.1584, 0.1581, 0.1579, 0.1578, 0.1578, 0.1577, 0.1577",\
                 "0.1749, 0.171, 0.1663, 0.1642, 0.1633, 0.1629, 0.1627, 0.1625, 0.1624, 0.1624",\
                 "0.1952, 0.1897, 0.1822, 0.1779, 0.1756, 0.1744, 0.1737, 0.1733, 0.1731, 0.1729",\
                 "0.2253, 0.2183, 0.2075, 0.2004, 0.1965, 0.1941, 0.1927, 0.1919, 0.1914, 0.1911",\
                 "0.2654, 0.2572, 0.2427, 0.2325, 0.2263, 0.2226, 0.2204, 0.2189, 0.2179, 0.2174",\
                 "0.3154, 0.3061, 0.2883, 0.2747, 0.2658, 0.2603, 0.257, 0.2548, 0.2532, 0.2522",\
                 "0.3757, 0.3652, 0.3439, 0.327, 0.3153, 0.3079, 0.3029, 0.2996, 0.2975, 0.2959",\
                 "0.4461, 0.4349, 0.4105, 0.3899, 0.3754, 0.3656, 0.3591, 0.3545, 0.3514, 0.3492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1082, 0.104, 0.09901, 0.09646, 0.09598, 0.09647, 0.09737, 0.09837, 0.09999, 0.1071",\
                 "0.1073, 0.1031, 0.09809, 0.09557, 0.09509, 0.09565, 0.09648, 0.09738, 0.09933, 0.1066",\
                 "0.106, 0.1019, 0.09657, 0.09422, 0.09371, 0.09426, 0.09502, 0.09672, 0.09768, 0.1062",\
                 "0.1112, 0.1069, 0.1009, 0.09749, 0.09638, 0.09664, 0.09793, 0.09837, 0.09999, 0.1083",\
                 "0.1268, 0.1215, 0.1141, 0.1094, 0.1069, 0.1063, 0.1064, 0.1076, 0.1089, 0.1181",\
                 "0.1508, 0.1446, 0.1353, 0.1285, 0.1249, 0.1227, 0.1226, 0.1231, 0.1251, 0.1357",\
                 "0.1845, 0.177, 0.1654, 0.1558, 0.151, 0.1491, 0.1472, 0.1468, 0.148, 0.1632",\
                 "0.2279, 0.219, 0.2056, 0.1944, 0.1869, 0.183, 0.1826, 0.1805, 0.181, 0.2003",\
                 "0.2805, 0.2704, 0.2545, 0.2414, 0.2311, 0.2246, 0.2219, 0.222, 0.2238, 0.2514",\
                 "0.3432, 0.3321, 0.3135, 0.2976, 0.2858, 0.2774, 0.2717, 0.2712, 0.276, 0.3233");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1643, 0.1617, 0.1594, 0.1584, 0.158, 0.1578, 0.1576, 0.1576, 0.1575, 0.1575",\
                 "0.1639, 0.1613, 0.159, 0.1581, 0.1576, 0.1574, 0.1573, 0.1572, 0.1571, 0.1571",\
                 "0.1647, 0.1619, 0.1593, 0.1585, 0.1581, 0.1579, 0.1578, 0.1578, 0.1577, 0.1577",\
                 "0.1749, 0.171, 0.1663, 0.1642, 0.1634, 0.1629, 0.1627, 0.1625, 0.1624, 0.1624",\
                 "0.1952, 0.1898, 0.1822, 0.1778, 0.1755, 0.1744, 0.1738, 0.1734, 0.1731, 0.173",\
                 "0.2253, 0.2185, 0.2075, 0.2003, 0.1964, 0.1941, 0.1928, 0.1921, 0.1915, 0.1911",\
                 "0.2655, 0.2571, 0.2427, 0.2326, 0.2263, 0.2226, 0.2204, 0.2189, 0.218, 0.2174",\
                 "0.3155, 0.3061, 0.2881, 0.2746, 0.2658, 0.2604, 0.257, 0.2548, 0.2533, 0.2523",\
                 "0.3757, 0.3652, 0.344, 0.327, 0.3154, 0.3078, 0.303, 0.2996, 0.2976, 0.296",\
                 "0.4461, 0.435, 0.4107, 0.3901, 0.3755, 0.3656, 0.3591, 0.3545, 0.3514, 0.3492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1081, 0.104, 0.09897, 0.09643, 0.09595, 0.09644, 0.09733, 0.09836, 0.09998, 0.1067",\
                 "0.1072, 0.1031, 0.09805, 0.09554, 0.09506, 0.09558, 0.09641, 0.09737, 0.09932, 0.1062",\
                 "0.1059, 0.1018, 0.0966, 0.09409, 0.09357, 0.09409, 0.09529, 0.09605, 0.09767, 0.1062",\
                 "0.1112, 0.1068, 0.1008, 0.09745, 0.09634, 0.0966, 0.09789, 0.09836, 0.09998, 0.1079",\
                 "0.1267, 0.1212, 0.1142, 0.1094, 0.1067, 0.1063, 0.1062, 0.1069, 0.1089, 0.1181",\
                 "0.1507, 0.1442, 0.1352, 0.1283, 0.1248, 0.1228, 0.1224, 0.1231, 0.1245, 0.1358",\
                 "0.1844, 0.1769, 0.1655, 0.1562, 0.1516, 0.1496, 0.1475, 0.1465, 0.1483, 0.1622",\
                 "0.2278, 0.2189, 0.2052, 0.1942, 0.1863, 0.1826, 0.1823, 0.1805, 0.1807, 0.1995",\
                 "0.2806, 0.2704, 0.2545, 0.241, 0.2311, 0.2249, 0.2223, 0.2227, 0.2232, 0.2519",\
                 "0.3432, 0.332, 0.3134, 0.2975, 0.2858, 0.2768, 0.2716, 0.2711, 0.277, 0.323");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1996, 0.1969, 0.1945, 0.1935, 0.1931, 0.1928, 0.1927, 0.1927, 0.1926, 0.1926",\
                 "0.1996, 0.197, 0.1945, 0.1936, 0.1931, 0.1929, 0.1928, 0.1927, 0.1927, 0.1926",\
                 "0.2005, 0.1976, 0.1951, 0.194, 0.1936, 0.1934, 0.1933, 0.1933, 0.1932, 0.1932",\
                 "0.2106, 0.2067, 0.202, 0.1997, 0.1987, 0.1983, 0.198, 0.1978, 0.1978, 0.1977",\
                 "0.2317, 0.2261, 0.2183, 0.2137, 0.2114, 0.2101, 0.2095, 0.2091, 0.2088, 0.2086",\
                 "0.2626, 0.2553, 0.2438, 0.2365, 0.2324, 0.23, 0.2286, 0.2278, 0.2272, 0.2268",\
                 "0.3024, 0.2935, 0.2782, 0.2676, 0.2611, 0.2573, 0.2549, 0.2534, 0.2524, 0.2519",\
                 "0.3498, 0.3397, 0.3205, 0.3064, 0.2973, 0.2917, 0.288, 0.2857, 0.2841, 0.2831",\
                 "0.4043, 0.3931, 0.3701, 0.3523, 0.3403, 0.3325, 0.3274, 0.3241, 0.3218, 0.3202",\
                 "0.4641, 0.4518, 0.4251, 0.4035, 0.3884, 0.3782, 0.3713, 0.3667, 0.3636, 0.3613");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1996, 0.1969, 0.1945, 0.1935, 0.1931, 0.1928, 0.1927, 0.1927, 0.1926, 0.1926",\
                 "0.1996, 0.197, 0.1945, 0.1936, 0.1931, 0.1929, 0.1928, 0.1927, 0.1927, 0.1926",\
                 "0.2005, 0.1976, 0.1951, 0.194, 0.1936, 0.1934, 0.1933, 0.1933, 0.1932, 0.1932",\
                 "0.2106, 0.2067, 0.202, 0.1997, 0.1987, 0.1983, 0.198, 0.1978, 0.1978, 0.1977",\
                 "0.2317, 0.2261, 0.2183, 0.2137, 0.2114, 0.2101, 0.2095, 0.2091, 0.2088, 0.2086",\
                 "0.2626, 0.2553, 0.2438, 0.2365, 0.2324, 0.23, 0.2286, 0.2278, 0.2272, 0.2268",\
                 "0.3024, 0.2935, 0.2782, 0.2676, 0.2611, 0.2573, 0.2549, 0.2534, 0.2524, 0.2519",\
                 "0.3498, 0.3397, 0.3205, 0.3064, 0.2973, 0.2917, 0.288, 0.2857, 0.2841, 0.2831",\
                 "0.4043, 0.3931, 0.3701, 0.3523, 0.3403, 0.3325, 0.3274, 0.3241, 0.3218, 0.3202",\
                 "0.4641, 0.4518, 0.4251, 0.4035, 0.3884, 0.3782, 0.3713, 0.3667, 0.3636, 0.3613");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2007, 0.198, 0.1956, 0.1946, 0.1942, 0.194, 0.1938, 0.1937, 0.1937, 0.1937",\
                 "0.2009, 0.1982, 0.1958, 0.1949, 0.1944, 0.1942, 0.1941, 0.194, 0.1939, 0.1939",\
                 "0.2017, 0.199, 0.1963, 0.1954, 0.1949, 0.1947, 0.1946, 0.1946, 0.1946, 0.1945",\
                 "0.212, 0.208, 0.2033, 0.201, 0.2, 0.1996, 0.1993, 0.1991, 0.199, 0.199",\
                 "0.233, 0.2274, 0.2195, 0.215, 0.2127, 0.2115, 0.2108, 0.2104, 0.2101, 0.21",\
                 "0.2639, 0.2566, 0.245, 0.2378, 0.2336, 0.2312, 0.2299, 0.229, 0.2284, 0.2281",\
                 "0.3038, 0.2948, 0.2795, 0.269, 0.2625, 0.2586, 0.2563, 0.2548, 0.2537, 0.2531",\
                 "0.3512, 0.341, 0.3218, 0.3077, 0.2987, 0.293, 0.2893, 0.2871, 0.2855, 0.2843",\
                 "0.4056, 0.3943, 0.3715, 0.3536, 0.3417, 0.3338, 0.3287, 0.3253, 0.3231, 0.3214",\
                 "0.4655, 0.4532, 0.4265, 0.4048, 0.3897, 0.3796, 0.3726, 0.368, 0.3648, 0.3626");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2007, 0.198, 0.1956, 0.1946, 0.1942, 0.194, 0.1938, 0.1937, 0.1937, 0.1937",\
                 "0.2009, 0.1982, 0.1958, 0.1949, 0.1944, 0.1942, 0.1941, 0.194, 0.1939, 0.1939",\
                 "0.2017, 0.199, 0.1963, 0.1954, 0.1949, 0.1947, 0.1946, 0.1946, 0.1946, 0.1945",\
                 "0.212, 0.208, 0.2033, 0.201, 0.2, 0.1996, 0.1993, 0.1991, 0.199, 0.199",\
                 "0.233, 0.2274, 0.2195, 0.215, 0.2127, 0.2115, 0.2108, 0.2104, 0.2101, 0.21",\
                 "0.2639, 0.2566, 0.245, 0.2378, 0.2336, 0.2312, 0.2299, 0.229, 0.2284, 0.2281",\
                 "0.3038, 0.2948, 0.2795, 0.269, 0.2625, 0.2586, 0.2563, 0.2548, 0.2537, 0.2531",\
                 "0.3512, 0.341, 0.3218, 0.3077, 0.2987, 0.293, 0.2893, 0.2871, 0.2855, 0.2843",\
                 "0.4056, 0.3943, 0.3715, 0.3536, 0.3417, 0.3338, 0.3287, 0.3253, 0.3231, 0.3214",\
                 "0.4655, 0.4532, 0.4265, 0.4048, 0.3897, 0.3796, 0.3726, 0.368, 0.3648, 0.3626");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1643, 0.1617, 0.1592, 0.1584, 0.158, 0.1578, 0.1576, 0.1576, 0.1575, 0.1575",\
                 "0.1639, 0.1613, 0.159, 0.1581, 0.1576, 0.1574, 0.1573, 0.1572, 0.1571, 0.1571",\
                 "0.1646, 0.1619, 0.1593, 0.1585, 0.1581, 0.1579, 0.1578, 0.1578, 0.1577, 0.1577",\
                 "0.1748, 0.171, 0.1663, 0.1642, 0.1634, 0.1629, 0.1627, 0.1625, 0.1624, 0.1624",\
                 "0.1952, 0.1897, 0.1822, 0.1778, 0.1755, 0.1744, 0.1738, 0.1734, 0.1731, 0.173",\
                 "0.2253, 0.2184, 0.2074, 0.2003, 0.1964, 0.1942, 0.1929, 0.192, 0.1915, 0.1911",\
                 "0.2654, 0.2571, 0.2427, 0.2325, 0.2263, 0.2226, 0.2204, 0.2189, 0.218, 0.2174",\
                 "0.3155, 0.3061, 0.2882, 0.2746, 0.2658, 0.2604, 0.257, 0.2548, 0.2533, 0.2523",\
                 "0.3757, 0.3652, 0.344, 0.327, 0.3154, 0.3078, 0.303, 0.2996, 0.2976, 0.296",\
                 "0.4461, 0.4349, 0.4106, 0.3901, 0.3754, 0.3656, 0.3591, 0.3545, 0.3514, 0.3492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1081, 0.104, 0.09898, 0.09643, 0.09595, 0.09644, 0.0973, 0.09902, 0.1006, 0.1067",\
                 "0.1072, 0.1031, 0.09805, 0.09554, 0.09506, 0.09558, 0.09641, 0.09737, 0.09933, 0.1062",\
                 "0.1059, 0.1018, 0.0966, 0.09409, 0.09357, 0.0941, 0.09529, 0.09605, 0.09768, 0.1059",\
                 "0.1112, 0.1068, 0.1008, 0.09745, 0.09634, 0.0966, 0.09789, 0.09836, 0.09999, 0.1079",\
                 "0.1268, 0.1214, 0.1142, 0.1095, 0.1067, 0.1065, 0.1064, 0.1076, 0.1089, 0.1185",\
                 "0.1507, 0.1442, 0.1353, 0.1282, 0.1251, 0.1228, 0.1223, 0.1228, 0.1245, 0.1358",\
                 "0.1844, 0.1769, 0.1656, 0.1562, 0.1516, 0.1495, 0.1475, 0.1465, 0.1486, 0.1622",\
                 "0.2278, 0.2189, 0.2052, 0.1939, 0.1863, 0.1828, 0.1815, 0.1805, 0.1804, 0.1995",\
                 "0.2805, 0.2703, 0.2545, 0.2415, 0.2311, 0.2247, 0.2223, 0.222, 0.2242, 0.2509",\
                 "0.3432, 0.3318, 0.3134, 0.2976, 0.2858, 0.2774, 0.2716, 0.2712, 0.2774, 0.3217");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1643, 0.1617, 0.1594, 0.1585, 0.158, 0.1578, 0.1576, 0.1576, 0.1575, 0.1575",\
                 "0.1639, 0.1613, 0.159, 0.1581, 0.1576, 0.1574, 0.1573, 0.1572, 0.1571, 0.1571",\
                 "0.1646, 0.1619, 0.1593, 0.1585, 0.1581, 0.1579, 0.1578, 0.1578, 0.1577, 0.1577",\
                 "0.1748, 0.171, 0.1663, 0.1642, 0.1634, 0.1629, 0.1627, 0.1625, 0.1624, 0.1624",\
                 "0.1952, 0.1897, 0.1822, 0.1778, 0.1755, 0.1744, 0.1738, 0.1734, 0.1731, 0.173",\
                 "0.2253, 0.2184, 0.2074, 0.2004, 0.1964, 0.1942, 0.1929, 0.192, 0.1915, 0.1911",\
                 "0.2655, 0.2571, 0.2428, 0.2326, 0.2263, 0.2226, 0.2204, 0.219, 0.218, 0.2174",\
                 "0.3155, 0.3061, 0.2882, 0.2746, 0.2658, 0.2604, 0.257, 0.2548, 0.2533, 0.2523",\
                 "0.3757, 0.3652, 0.344, 0.327, 0.3154, 0.3078, 0.303, 0.2996, 0.2976, 0.296",\
                 "0.4461, 0.4349, 0.4106, 0.3901, 0.3754, 0.3656, 0.3591, 0.3545, 0.3514, 0.3492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1081, 0.104, 0.09898, 0.09643, 0.09595, 0.09644, 0.0973, 0.09902, 0.09999, 0.1067",\
                 "0.1072, 0.1031, 0.09805, 0.09554, 0.09506, 0.09558, 0.09641, 0.09737, 0.09933, 0.1062",\
                 "0.1059, 0.1018, 0.0966, 0.09409, 0.09357, 0.0941, 0.09529, 0.09605, 0.09768, 0.1062",\
                 "0.1112, 0.1068, 0.1008, 0.09745, 0.09634, 0.0966, 0.09789, 0.09836, 0.09999, 0.1079",\
                 "0.1268, 0.1214, 0.1142, 0.1095, 0.1067, 0.1065, 0.1064, 0.1076, 0.1089, 0.1185",\
                 "0.1507, 0.1442, 0.1353, 0.1282, 0.1249, 0.1228, 0.1223, 0.1228, 0.1245, 0.1358",\
                 "0.1844, 0.1769, 0.1656, 0.1562, 0.1516, 0.1494, 0.1475, 0.1465, 0.1486, 0.1622",\
                 "0.2278, 0.2189, 0.2052, 0.1939, 0.1863, 0.1834, 0.1815, 0.1805, 0.1804, 0.1995",\
                 "0.2806, 0.2703, 0.2545, 0.2415, 0.2311, 0.2247, 0.2223, 0.222, 0.2242, 0.2509",\
                 "0.3432, 0.332, 0.3134, 0.2976, 0.2858, 0.2768, 0.2732, 0.2712, 0.2774, 0.3217");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2007, 0.198, 0.1957, 0.1947, 0.1941, 0.1939, 0.1938, 0.1938, 0.1937, 0.1936",\
                 "0.2009, 0.1982, 0.1958, 0.1949, 0.1944, 0.1942, 0.1941, 0.194, 0.1939, 0.1939",\
                 "0.2017, 0.199, 0.1963, 0.1954, 0.1949, 0.1947, 0.1947, 0.1946, 0.1946, 0.1945",\
                 "0.212, 0.208, 0.2033, 0.201, 0.2, 0.1996, 0.1993, 0.1991, 0.199, 0.199",\
                 "0.233, 0.2274, 0.2195, 0.215, 0.2127, 0.2115, 0.2108, 0.2104, 0.2101, 0.2099",\
                 "0.264, 0.2565, 0.245, 0.2378, 0.2336, 0.2313, 0.2299, 0.229, 0.2284, 0.2281",\
                 "0.3037, 0.2948, 0.2795, 0.269, 0.2625, 0.2586, 0.2563, 0.2548, 0.2537, 0.2531",\
                 "0.3512, 0.3409, 0.3218, 0.3077, 0.2987, 0.293, 0.2894, 0.287, 0.2855, 0.2844",\
                 "0.4057, 0.3944, 0.3715, 0.3536, 0.3416, 0.3338, 0.3287, 0.3253, 0.3231, 0.3214",\
                 "0.4655, 0.4532, 0.4265, 0.4047, 0.3897, 0.3795, 0.3726, 0.368, 0.3649, 0.3627");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2007, 0.198, 0.1957, 0.1947, 0.1941, 0.1939, 0.1938, 0.1938, 0.1937, 0.1936",\
                 "0.2009, 0.1982, 0.1958, 0.1949, 0.1944, 0.1942, 0.1941, 0.194, 0.1939, 0.1939",\
                 "0.2017, 0.199, 0.1963, 0.1954, 0.1949, 0.1947, 0.1947, 0.1946, 0.1946, 0.1945",\
                 "0.212, 0.208, 0.2033, 0.201, 0.2, 0.1996, 0.1993, 0.1991, 0.199, 0.199",\
                 "0.233, 0.2274, 0.2195, 0.215, 0.2127, 0.2115, 0.2108, 0.2104, 0.2101, 0.2099",\
                 "0.264, 0.2565, 0.245, 0.2378, 0.2336, 0.2313, 0.2299, 0.229, 0.2284, 0.2281",\
                 "0.3037, 0.2948, 0.2795, 0.269, 0.2625, 0.2586, 0.2563, 0.2548, 0.2537, 0.2531",\
                 "0.3512, 0.3409, 0.3218, 0.3077, 0.2987, 0.293, 0.2894, 0.287, 0.2855, 0.2844",\
                 "0.4057, 0.3944, 0.3715, 0.3536, 0.3416, 0.3338, 0.3287, 0.3253, 0.3231, 0.3214",\
                 "0.4655, 0.4532, 0.4265, 0.4047, 0.3897, 0.3795, 0.3726, 0.368, 0.3649, 0.3627");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2007, 0.198, 0.1956, 0.1947, 0.1943, 0.194, 0.1938, 0.1937, 0.1936, 0.1936",\
                 "0.2009, 0.1982, 0.1958, 0.1949, 0.1944, 0.1942, 0.1941, 0.194, 0.1939, 0.1939",\
                 "0.2017, 0.199, 0.1963, 0.1954, 0.1949, 0.1947, 0.1947, 0.1946, 0.1946, 0.1945",\
                 "0.212, 0.208, 0.2033, 0.201, 0.2, 0.1996, 0.1993, 0.1991, 0.199, 0.199",\
                 "0.233, 0.2274, 0.2195, 0.215, 0.2127, 0.2115, 0.2108, 0.2104, 0.2101, 0.2099",\
                 "0.264, 0.2565, 0.245, 0.2378, 0.2336, 0.2313, 0.2299, 0.229, 0.2284, 0.2281",\
                 "0.3037, 0.2948, 0.2795, 0.269, 0.2625, 0.2586, 0.2563, 0.2548, 0.2537, 0.2531",\
                 "0.3512, 0.341, 0.3218, 0.3077, 0.2987, 0.2929, 0.2894, 0.287, 0.2855, 0.2844",\
                 "0.4057, 0.3944, 0.3715, 0.3536, 0.3416, 0.3337, 0.3287, 0.3253, 0.3231, 0.3214",\
                 "0.4655, 0.4531, 0.4265, 0.4047, 0.3897, 0.3795, 0.3727, 0.368, 0.3649, 0.3627");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2007, 0.198, 0.1956, 0.1947, 0.1943, 0.194, 0.1938, 0.1937, 0.1936, 0.1936",\
                 "0.2009, 0.1982, 0.1958, 0.1949, 0.1944, 0.1942, 0.1941, 0.194, 0.1939, 0.1939",\
                 "0.2017, 0.199, 0.1963, 0.1954, 0.1949, 0.1947, 0.1947, 0.1946, 0.1946, 0.1945",\
                 "0.212, 0.208, 0.2033, 0.201, 0.2, 0.1996, 0.1993, 0.1991, 0.199, 0.199",\
                 "0.233, 0.2274, 0.2195, 0.215, 0.2127, 0.2115, 0.2108, 0.2104, 0.2101, 0.2099",\
                 "0.264, 0.2565, 0.245, 0.2378, 0.2336, 0.2313, 0.2299, 0.229, 0.2284, 0.2281",\
                 "0.3037, 0.2948, 0.2795, 0.269, 0.2625, 0.2586, 0.2563, 0.2548, 0.2537, 0.2531",\
                 "0.3512, 0.341, 0.3218, 0.3077, 0.2987, 0.2929, 0.2894, 0.287, 0.2855, 0.2844",\
                 "0.4057, 0.3944, 0.3715, 0.3536, 0.3416, 0.3337, 0.3287, 0.3253, 0.3231, 0.3214",\
                 "0.4655, 0.4531, 0.4265, 0.4047, 0.3897, 0.3795, 0.3727, 0.368, 0.3649, 0.3627");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1647, 0.1621, 0.1597, 0.1588, 0.1584, 0.1582, 0.1581, 0.158, 0.1579, 0.1579",\
                 "0.1639, 0.1613, 0.159, 0.1581, 0.1576, 0.1574, 0.1573, 0.1572, 0.1572, 0.1571",\
                 "0.1646, 0.1619, 0.1593, 0.1584, 0.1581, 0.1579, 0.1578, 0.1578, 0.1577, 0.1577",\
                 "0.1749, 0.171, 0.1663, 0.1642, 0.1633, 0.1629, 0.1626, 0.1625, 0.1624, 0.1624",\
                 "0.1953, 0.1897, 0.1822, 0.1779, 0.1756, 0.1744, 0.1737, 0.1733, 0.1731, 0.1729",\
                 "0.2252, 0.2182, 0.2075, 0.2004, 0.1964, 0.1942, 0.1927, 0.1919, 0.1915, 0.1911",\
                 "0.2654, 0.2572, 0.2427, 0.2325, 0.2263, 0.2227, 0.2204, 0.2188, 0.218, 0.2174",\
                 "0.3154, 0.3061, 0.2881, 0.2746, 0.2658, 0.2605, 0.2571, 0.2548, 0.2532, 0.2521",\
                 "0.3757, 0.3652, 0.3439, 0.327, 0.3154, 0.3079, 0.3029, 0.2997, 0.2975, 0.296",\
                 "0.4461, 0.4349, 0.4106, 0.3899, 0.3755, 0.3656, 0.359, 0.3545, 0.3514, 0.3492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1082, 0.104, 0.09901, 0.09646, 0.09598, 0.09647, 0.09737, 0.09837, 0.09999, 0.1071",\
                 "0.1073, 0.1031, 0.09809, 0.09557, 0.09509, 0.09565, 0.09648, 0.09738, 0.09933, 0.1066",\
                 "0.106, 0.1019, 0.09657, 0.09422, 0.09371, 0.09426, 0.09502, 0.09672, 0.09768, 0.1062",\
                 "0.1112, 0.1069, 0.1009, 0.09749, 0.09638, 0.09664, 0.09793, 0.09837, 0.09999, 0.1083",\
                 "0.1268, 0.1215, 0.1141, 0.1092, 0.1069, 0.1065, 0.1063, 0.1076, 0.1089, 0.1185",\
                 "0.1508, 0.1446, 0.1353, 0.1279, 0.1249, 0.1228, 0.1224, 0.1225, 0.1241, 0.1357",\
                 "0.1844, 0.177, 0.1659, 0.1569, 0.1509, 0.1497, 0.1478, 0.1471, 0.1486, 0.1635",\
                 "0.2279, 0.219, 0.2056, 0.1939, 0.1869, 0.1829, 0.1826, 0.1805, 0.181, 0.2003",\
                 "0.2806, 0.2703, 0.2545, 0.2414, 0.2314, 0.2246, 0.223, 0.222, 0.2238, 0.2514",\
                 "0.3432, 0.3321, 0.3135, 0.2976, 0.2857, 0.2775, 0.2719, 0.2712, 0.276, 0.3233");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1643, 0.1617, 0.1594, 0.1584, 0.158, 0.1578, 0.1576, 0.1576, 0.1575, 0.1575",\
                 "0.1639, 0.1613, 0.159, 0.1581, 0.1576, 0.1574, 0.1573, 0.1572, 0.1571, 0.1571",\
                 "0.1647, 0.1619, 0.1593, 0.1585, 0.1581, 0.1579, 0.1578, 0.1578, 0.1577, 0.1577",\
                 "0.1749, 0.171, 0.1663, 0.1642, 0.1634, 0.1629, 0.1627, 0.1625, 0.1624, 0.1624",\
                 "0.1952, 0.1897, 0.1822, 0.1778, 0.1755, 0.1744, 0.1738, 0.1734, 0.1731, 0.173",\
                 "0.2253, 0.2185, 0.2074, 0.2004, 0.1964, 0.1942, 0.1929, 0.192, 0.1915, 0.1911",\
                 "0.2655, 0.2571, 0.2426, 0.2325, 0.2263, 0.2226, 0.2204, 0.2189, 0.218, 0.2174",\
                 "0.3155, 0.3061, 0.2882, 0.2746, 0.2659, 0.2604, 0.257, 0.2548, 0.2533, 0.2523",\
                 "0.3756, 0.3652, 0.344, 0.327, 0.3154, 0.3078, 0.303, 0.2997, 0.2976, 0.296",\
                 "0.4461, 0.4348, 0.4106, 0.39, 0.3755, 0.3656, 0.359, 0.3545, 0.3514, 0.3492");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1081, 0.104, 0.09897, 0.09643, 0.09595, 0.09644, 0.09733, 0.09836, 0.09999, 0.1067",\
                 "0.1072, 0.1031, 0.09805, 0.09554, 0.09506, 0.09558, 0.09641, 0.09737, 0.09933, 0.1062",\
                 "0.1059, 0.1018, 0.0966, 0.09409, 0.09357, 0.09409, 0.09529, 0.09605, 0.09768, 0.1062",\
                 "0.1112, 0.1068, 0.1008, 0.09745, 0.09634, 0.0966, 0.09789, 0.09836, 0.09999, 0.1079",\
                 "0.1268, 0.1212, 0.1142, 0.1094, 0.1067, 0.1065, 0.1064, 0.1076, 0.1089, 0.1185",\
                 "0.1507, 0.1442, 0.1349, 0.1284, 0.1249, 0.1228, 0.1226, 0.1228, 0.1245, 0.1357",\
                 "0.1845, 0.1768, 0.1656, 0.1567, 0.1516, 0.1496, 0.1475, 0.1471, 0.1483, 0.1635",\
                 "0.2278, 0.2189, 0.2053, 0.1935, 0.1861, 0.183, 0.1815, 0.1805, 0.1797, 0.2003",\
                 "0.2805, 0.2704, 0.2545, 0.2415, 0.231, 0.2247, 0.2221, 0.2227, 0.2235, 0.2512",\
                 "0.3431, 0.3317, 0.3134, 0.2976, 0.2858, 0.2766, 0.272, 0.2718, 0.2757, 0.3223");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1996, 0.1969, 0.1945, 0.1935, 0.1931, 0.1928, 0.1927, 0.1927, 0.1926, 0.1926",\
                 "0.1997, 0.197, 0.1945, 0.1936, 0.1931, 0.1929, 0.1928, 0.1927, 0.1927, 0.1926",\
                 "0.2005, 0.1977, 0.1951, 0.194, 0.1936, 0.1934, 0.1933, 0.1933, 0.1932, 0.1932",\
                 "0.2106, 0.2067, 0.2019, 0.1997, 0.1987, 0.1983, 0.198, 0.1979, 0.1978, 0.1977",\
                 "0.2317, 0.226, 0.2182, 0.2136, 0.2113, 0.2101, 0.2094, 0.209, 0.2088, 0.2086",\
                 "0.2626, 0.2553, 0.2438, 0.2365, 0.2324, 0.23, 0.2286, 0.2277, 0.2271, 0.2268",\
                 "0.3024, 0.2935, 0.2782, 0.2676, 0.2611, 0.2573, 0.2549, 0.2534, 0.2524, 0.2519",\
                 "0.3498, 0.3396, 0.3205, 0.3064, 0.2973, 0.2916, 0.288, 0.2857, 0.2841, 0.283",\
                 "0.4043, 0.3931, 0.3701, 0.3523, 0.3403, 0.3325, 0.3273, 0.324, 0.3218, 0.3202",\
                 "0.4641, 0.4518, 0.4252, 0.4034, 0.3884, 0.3782, 0.3713, 0.3667, 0.3636, 0.3614");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1996, 0.1969, 0.1945, 0.1935, 0.1931, 0.1928, 0.1927, 0.1927, 0.1926, 0.1926",\
                 "0.1997, 0.197, 0.1945, 0.1936, 0.1931, 0.1929, 0.1928, 0.1927, 0.1927, 0.1926",\
                 "0.2005, 0.1977, 0.1951, 0.194, 0.1936, 0.1934, 0.1933, 0.1933, 0.1932, 0.1932",\
                 "0.2106, 0.2067, 0.2019, 0.1997, 0.1987, 0.1983, 0.198, 0.1979, 0.1978, 0.1977",\
                 "0.2317, 0.226, 0.2182, 0.2136, 0.2113, 0.2101, 0.2094, 0.209, 0.2088, 0.2086",\
                 "0.2626, 0.2553, 0.2438, 0.2365, 0.2324, 0.23, 0.2286, 0.2277, 0.2271, 0.2268",\
                 "0.3024, 0.2935, 0.2782, 0.2676, 0.2611, 0.2573, 0.2549, 0.2534, 0.2524, 0.2519",\
                 "0.3498, 0.3396, 0.3205, 0.3064, 0.2973, 0.2916, 0.288, 0.2857, 0.2841, 0.283",\
                 "0.4043, 0.3931, 0.3701, 0.3523, 0.3403, 0.3325, 0.3273, 0.324, 0.3218, 0.3202",\
                 "0.4641, 0.4518, 0.4252, 0.4034, 0.3884, 0.3782, 0.3713, 0.3667, 0.3636, 0.3614");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2007, 0.198, 0.1956, 0.1946, 0.1942, 0.194, 0.1938, 0.1937, 0.1937, 0.1937",\
                 "0.2009, 0.1982, 0.1958, 0.1949, 0.1944, 0.1942, 0.1941, 0.194, 0.1939, 0.1939",\
                 "0.2017, 0.199, 0.1963, 0.1954, 0.1949, 0.1947, 0.1947, 0.1946, 0.1946, 0.1945",\
                 "0.2119, 0.2079, 0.2032, 0.201, 0.2, 0.1996, 0.1993, 0.1992, 0.1991, 0.199",\
                 "0.233, 0.2274, 0.2195, 0.215, 0.2127, 0.2115, 0.2108, 0.2104, 0.2101, 0.21",\
                 "0.2639, 0.2565, 0.2451, 0.2378, 0.2337, 0.2312, 0.2299, 0.229, 0.2285, 0.2281",\
                 "0.3037, 0.2947, 0.2795, 0.2691, 0.2625, 0.2586, 0.2563, 0.2547, 0.2537, 0.2531",\
                 "0.3512, 0.341, 0.3219, 0.3076, 0.2987, 0.293, 0.2893, 0.287, 0.2855, 0.2844",\
                 "0.4056, 0.3943, 0.3715, 0.3536, 0.3416, 0.3337, 0.3287, 0.3253, 0.323, 0.3214",\
                 "0.4655, 0.4532, 0.4265, 0.4047, 0.3898, 0.3796, 0.3726, 0.3681, 0.3649, 0.3627");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2007, 0.198, 0.1956, 0.1946, 0.1942, 0.194, 0.1938, 0.1937, 0.1937, 0.1937",\
                 "0.2009, 0.1982, 0.1958, 0.1949, 0.1944, 0.1942, 0.1941, 0.194, 0.1939, 0.1939",\
                 "0.2017, 0.199, 0.1963, 0.1954, 0.1949, 0.1947, 0.1947, 0.1946, 0.1946, 0.1945",\
                 "0.2119, 0.2079, 0.2032, 0.201, 0.2, 0.1996, 0.1993, 0.1992, 0.1991, 0.199",\
                 "0.233, 0.2274, 0.2195, 0.215, 0.2127, 0.2115, 0.2108, 0.2104, 0.2101, 0.21",\
                 "0.2639, 0.2565, 0.2451, 0.2378, 0.2337, 0.2312, 0.2299, 0.229, 0.2285, 0.2281",\
                 "0.3037, 0.2947, 0.2795, 0.2691, 0.2625, 0.2586, 0.2563, 0.2547, 0.2537, 0.2531",\
                 "0.3512, 0.341, 0.3219, 0.3076, 0.2987, 0.293, 0.2893, 0.287, 0.2855, 0.2844",\
                 "0.4056, 0.3943, 0.3715, 0.3536, 0.3416, 0.3337, 0.3287, 0.3253, 0.323, 0.3214",\
                 "0.4655, 0.4532, 0.4265, 0.4047, 0.3898, 0.3796, 0.3726, 0.3681, 0.3649, 0.3627");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2269, 0.2244, 0.222, 0.2211, 0.2206, 0.2204, 0.2203, 0.2202, 0.2201, 0.2201",\
                 "0.2262, 0.2236, 0.2213, 0.2203, 0.2199, 0.2197, 0.2196, 0.2195, 0.2195, 0.2194",\
                 "0.2267, 0.224, 0.2215, 0.2206, 0.2202, 0.22, 0.2199, 0.2198, 0.2198, 0.2198",\
                 "0.2378, 0.2339, 0.2294, 0.2272, 0.2262, 0.2258, 0.2256, 0.2254, 0.2253, 0.2253",\
                 "0.2627, 0.2572, 0.2497, 0.2454, 0.2431, 0.242, 0.2412, 0.2408, 0.2406, 0.2404",\
                 "0.3028, 0.2959, 0.2849, 0.2779, 0.2739, 0.2716, 0.2703, 0.2695, 0.269, 0.2686",\
                 "0.3592, 0.3509, 0.3365, 0.3262, 0.32, 0.3163, 0.3141, 0.3127, 0.3117, 0.3111",\
                 "0.4316, 0.4221, 0.4042, 0.3908, 0.3819, 0.3764, 0.373, 0.3707, 0.3693, 0.3682",\
                 "0.52, 0.5096, 0.4883, 0.4714, 0.4598, 0.4521, 0.4472, 0.444, 0.4418, 0.4402",\
                 "0.6248, 0.6136, 0.5892, 0.5687, 0.5542, 0.5443, 0.5376, 0.5331, 0.53, 0.5278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1475, 0.1434, 0.1384, 0.1357, 0.1353, 0.1358, 0.1365, 0.1378, 0.1397, 0.1458",\
                 "0.1464, 0.1423, 0.1374, 0.1347, 0.1342, 0.1347, 0.1355, 0.1368, 0.1384, 0.147",\
                 "0.145, 0.1409, 0.1357, 0.1331, 0.1327, 0.1332, 0.1339, 0.1351, 0.1368, 0.1459",\
                 "0.1514, 0.147, 0.1411, 0.1376, 0.1364, 0.137, 0.1373, 0.1388, 0.1397, 0.1483",\
                 "0.1712, 0.1659, 0.1586, 0.1538, 0.151, 0.1508, 0.1506, 0.1516, 0.153, 0.1624",\
                 "0.204, 0.1977, 0.188, 0.1813, 0.1782, 0.1762, 0.1756, 0.1764, 0.1774, 0.1883",\
                 "0.2511, 0.2435, 0.2319, 0.2229, 0.2176, 0.2161, 0.2139, 0.213, 0.2148, 0.2287",\
                 "0.3128, 0.3039, 0.2903, 0.2791, 0.2713, 0.2673, 0.2666, 0.2654, 0.2657, 0.2849",\
                 "0.3893, 0.3791, 0.3629, 0.3498, 0.3398, 0.3338, 0.3316, 0.3311, 0.3315, 0.36",\
                 "0.4812, 0.4698, 0.4513, 0.4358, 0.4235, 0.415, 0.4095, 0.4102, 0.4141, 0.4598");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2269, 0.2244, 0.222, 0.2211, 0.2206, 0.2204, 0.2203, 0.2202, 0.2201, 0.2201",\
                 "0.2262, 0.2236, 0.2213, 0.2203, 0.2199, 0.2197, 0.2196, 0.2195, 0.2195, 0.2194",\
                 "0.2267, 0.224, 0.2215, 0.2206, 0.2202, 0.22, 0.2199, 0.2198, 0.2198, 0.2198",\
                 "0.2378, 0.2339, 0.2294, 0.2272, 0.2262, 0.2258, 0.2256, 0.2254, 0.2253, 0.2253",\
                 "0.2627, 0.2572, 0.2497, 0.2454, 0.2431, 0.2419, 0.2412, 0.2408, 0.2406, 0.2404",\
                 "0.3029, 0.2959, 0.2849, 0.2779, 0.274, 0.2717, 0.2703, 0.2695, 0.269, 0.2686",\
                 "0.3592, 0.3509, 0.3365, 0.3262, 0.32, 0.3163, 0.3141, 0.3127, 0.3117, 0.3111",\
                 "0.4316, 0.4222, 0.4042, 0.3908, 0.3819, 0.3764, 0.373, 0.3707, 0.3693, 0.3682",\
                 "0.52, 0.5095, 0.4883, 0.4714, 0.4598, 0.4522, 0.4472, 0.444, 0.4418, 0.4402",\
                 "0.6248, 0.6136, 0.5893, 0.5687, 0.5542, 0.5443, 0.5377, 0.5331, 0.53, 0.5278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1475, 0.1434, 0.1384, 0.1357, 0.1353, 0.1358, 0.1365, 0.1378, 0.1397, 0.1458",\
                 "0.1464, 0.1423, 0.1374, 0.1347, 0.1342, 0.1347, 0.1355, 0.1368, 0.1384, 0.147",\
                 "0.145, 0.1408, 0.1358, 0.1332, 0.1325, 0.1332, 0.1346, 0.1351, 0.1368, 0.1443",\
                 "0.1514, 0.147, 0.1411, 0.1376, 0.1364, 0.137, 0.1373, 0.1388, 0.1397, 0.1483",\
                 "0.1712, 0.1659, 0.1586, 0.1538, 0.151, 0.1509, 0.1508, 0.1516, 0.1533, 0.1626",\
                 "0.204, 0.1976, 0.188, 0.1813, 0.1782, 0.1763, 0.1756, 0.1764, 0.1777, 0.1883",\
                 "0.2511, 0.2433, 0.2319, 0.2229, 0.2176, 0.2161, 0.2147, 0.2133, 0.2154, 0.229",\
                 "0.3128, 0.3037, 0.2905, 0.2791, 0.2711, 0.2673, 0.2666, 0.2657, 0.2657, 0.2852",\
                 "0.3893, 0.3792, 0.3628, 0.3498, 0.3398, 0.3335, 0.3316, 0.3314, 0.3315, 0.36",\
                 "0.4812, 0.4698, 0.4513, 0.4358, 0.4235, 0.4146, 0.4104, 0.4099, 0.4144, 0.4598");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2913, 0.2885, 0.286, 0.285, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.2916, 0.2888, 0.2862, 0.2853, 0.2848, 0.2846, 0.2845, 0.2843, 0.2843, 0.2842",\
                 "0.2923, 0.2894, 0.2866, 0.2857, 0.2853, 0.2851, 0.285, 0.2849, 0.2848, 0.2848",\
                 "0.3045, 0.3004, 0.2957, 0.2935, 0.2925, 0.292, 0.2917, 0.2915, 0.2914, 0.2914",\
                 "0.3316, 0.3259, 0.3179, 0.3134, 0.311, 0.3098, 0.3091, 0.3087, 0.3084, 0.3082",\
                 "0.3747, 0.3672, 0.3557, 0.3484, 0.3442, 0.3419, 0.3404, 0.3396, 0.339, 0.3386",\
                 "0.4336, 0.4248, 0.4093, 0.3988, 0.3924, 0.3884, 0.3861, 0.3845, 0.3835, 0.3828",\
                 "0.5069, 0.4969, 0.4777, 0.4637, 0.4545, 0.4488, 0.4452, 0.4429, 0.4413, 0.4402",\
                 "0.5941, 0.5831, 0.5603, 0.5426, 0.5305, 0.5227, 0.5175, 0.5141, 0.5118, 0.5102",\
                 "0.693, 0.6814, 0.6553, 0.6335, 0.6185, 0.6082, 0.6014, 0.5966, 0.5934, 0.5911");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2913, 0.2885, 0.286, 0.285, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.2916, 0.2888, 0.2862, 0.2853, 0.2848, 0.2846, 0.2845, 0.2843, 0.2843, 0.2842",\
                 "0.2923, 0.2894, 0.2866, 0.2857, 0.2853, 0.2851, 0.285, 0.2849, 0.2848, 0.2848",\
                 "0.3045, 0.3004, 0.2957, 0.2935, 0.2925, 0.292, 0.2917, 0.2915, 0.2914, 0.2914",\
                 "0.3316, 0.3259, 0.3179, 0.3134, 0.311, 0.3098, 0.3091, 0.3087, 0.3084, 0.3082",\
                 "0.3747, 0.3672, 0.3557, 0.3484, 0.3442, 0.3419, 0.3404, 0.3396, 0.339, 0.3386",\
                 "0.4336, 0.4248, 0.4093, 0.3988, 0.3924, 0.3884, 0.3861, 0.3845, 0.3835, 0.3828",\
                 "0.5069, 0.4969, 0.4777, 0.4637, 0.4545, 0.4488, 0.4452, 0.4429, 0.4413, 0.4402",\
                 "0.5941, 0.5831, 0.5603, 0.5426, 0.5305, 0.5227, 0.5175, 0.5141, 0.5118, 0.5102",\
                 "0.693, 0.6814, 0.6553, 0.6335, 0.6185, 0.6082, 0.6014, 0.5966, 0.5934, 0.5911");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2913, 0.2885, 0.286, 0.285, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.2916, 0.2888, 0.2862, 0.2853, 0.2848, 0.2846, 0.2845, 0.2843, 0.2843, 0.2842",\
                 "0.2923, 0.2894, 0.2866, 0.2857, 0.2853, 0.2851, 0.285, 0.2849, 0.2848, 0.2848",\
                 "0.3046, 0.3005, 0.2957, 0.2935, 0.2925, 0.292, 0.2917, 0.2915, 0.2914, 0.2914",\
                 "0.3316, 0.3259, 0.3179, 0.3134, 0.311, 0.3097, 0.3091, 0.3086, 0.3084, 0.3082",\
                 "0.3747, 0.3673, 0.3557, 0.3483, 0.3442, 0.3419, 0.3405, 0.3396, 0.339, 0.3386",\
                 "0.4336, 0.4248, 0.4094, 0.3988, 0.3923, 0.3884, 0.386, 0.3845, 0.3835, 0.3828",\
                 "0.5069, 0.497, 0.4777, 0.4637, 0.4545, 0.4488, 0.4452, 0.4429, 0.4413, 0.4402",\
                 "0.594, 0.5831, 0.5603, 0.5426, 0.5306, 0.5227, 0.5175, 0.5141, 0.5118, 0.5102",\
                 "0.6931, 0.6814, 0.6553, 0.6335, 0.6185, 0.6082, 0.6014, 0.5966, 0.5934, 0.5911");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2913, 0.2885, 0.286, 0.285, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.2916, 0.2888, 0.2862, 0.2853, 0.2848, 0.2846, 0.2845, 0.2843, 0.2843, 0.2842",\
                 "0.2923, 0.2894, 0.2866, 0.2857, 0.2853, 0.2851, 0.285, 0.2849, 0.2848, 0.2848",\
                 "0.3046, 0.3005, 0.2957, 0.2935, 0.2925, 0.292, 0.2917, 0.2915, 0.2914, 0.2914",\
                 "0.3316, 0.3259, 0.3179, 0.3134, 0.311, 0.3097, 0.3091, 0.3086, 0.3084, 0.3082",\
                 "0.3747, 0.3673, 0.3557, 0.3483, 0.3442, 0.3419, 0.3405, 0.3396, 0.339, 0.3386",\
                 "0.4336, 0.4248, 0.4094, 0.3988, 0.3923, 0.3884, 0.386, 0.3845, 0.3835, 0.3828",\
                 "0.5069, 0.497, 0.4777, 0.4637, 0.4545, 0.4488, 0.4452, 0.4429, 0.4413, 0.4402",\
                 "0.594, 0.5831, 0.5603, 0.5426, 0.5306, 0.5227, 0.5175, 0.5141, 0.5118, 0.5102",\
                 "0.6931, 0.6814, 0.6553, 0.6335, 0.6185, 0.6082, 0.6014, 0.5966, 0.5934, 0.5911");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2269, 0.2244, 0.222, 0.2211, 0.2206, 0.2204, 0.2203, 0.2202, 0.2201, 0.2201",\
                 "0.2262, 0.2236, 0.2213, 0.2203, 0.2199, 0.2197, 0.2196, 0.2195, 0.2195, 0.2194",\
                 "0.2267, 0.224, 0.2215, 0.2206, 0.2202, 0.22, 0.2199, 0.2198, 0.2198, 0.2198",\
                 "0.2378, 0.2339, 0.2294, 0.2272, 0.2262, 0.2258, 0.2256, 0.2254, 0.2253, 0.2253",\
                 "0.2627, 0.2572, 0.2497, 0.2454, 0.2431, 0.2419, 0.2412, 0.2408, 0.2406, 0.2404",\
                 "0.3029, 0.296, 0.285, 0.2779, 0.274, 0.2717, 0.2703, 0.2695, 0.269, 0.2686",\
                 "0.3592, 0.3509, 0.3365, 0.3262, 0.32, 0.3163, 0.3141, 0.3127, 0.3117, 0.3111",\
                 "0.4316, 0.4222, 0.4042, 0.3908, 0.3819, 0.3764, 0.373, 0.3707, 0.3692, 0.3682",\
                 "0.52, 0.5096, 0.4883, 0.4714, 0.4598, 0.4522, 0.4472, 0.4439, 0.4418, 0.4402",\
                 "0.6248, 0.6136, 0.5893, 0.5687, 0.5542, 0.5443, 0.5377, 0.5331, 0.53, 0.5278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1475, 0.1434, 0.1384, 0.1357, 0.1353, 0.1358, 0.1365, 0.1378, 0.1397, 0.1458",\
                 "0.1464, 0.1423, 0.1374, 0.1347, 0.1342, 0.1347, 0.1355, 0.1368, 0.1384, 0.147",\
                 "0.145, 0.1408, 0.1358, 0.1332, 0.1325, 0.1332, 0.1346, 0.1351, 0.1368, 0.1443",\
                 "0.1514, 0.147, 0.1411, 0.1376, 0.1364, 0.137, 0.1373, 0.1388, 0.1397, 0.1483",\
                 "0.1712, 0.1659, 0.1586, 0.1538, 0.151, 0.1508, 0.1506, 0.1516, 0.153, 0.1624",\
                 "0.204, 0.1976, 0.188, 0.1813, 0.1782, 0.1763, 0.1758, 0.1764, 0.1777, 0.1883",\
                 "0.2511, 0.2435, 0.2319, 0.2229, 0.2176, 0.2161, 0.214, 0.213, 0.2154, 0.229",\
                 "0.3128, 0.3037, 0.2904, 0.2789, 0.2711, 0.2676, 0.2666, 0.2657, 0.2657, 0.2852",\
                 "0.3894, 0.3791, 0.3629, 0.3499, 0.3398, 0.3334, 0.3316, 0.3314, 0.3322, 0.36",\
                 "0.4812, 0.4698, 0.4512, 0.4361, 0.4238, 0.415, 0.4095, 0.4102, 0.4144, 0.4598");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2269, 0.2244, 0.222, 0.2211, 0.2206, 0.2204, 0.2203, 0.2202, 0.2201, 0.2201",\
                 "0.2262, 0.2236, 0.2213, 0.2203, 0.2199, 0.2197, 0.2196, 0.2195, 0.2195, 0.2194",\
                 "0.2267, 0.224, 0.2215, 0.2206, 0.2202, 0.22, 0.2199, 0.2198, 0.2198, 0.2198",\
                 "0.2378, 0.2339, 0.2294, 0.2272, 0.2262, 0.2258, 0.2256, 0.2254, 0.2253, 0.2253",\
                 "0.2627, 0.2572, 0.2497, 0.2454, 0.2431, 0.2419, 0.2412, 0.2408, 0.2406, 0.2404",\
                 "0.3029, 0.2959, 0.2849, 0.278, 0.274, 0.2717, 0.2703, 0.2695, 0.269, 0.2686",\
                 "0.3592, 0.351, 0.3365, 0.3262, 0.32, 0.3163, 0.3141, 0.3127, 0.3117, 0.3111",\
                 "0.4316, 0.4222, 0.4042, 0.3908, 0.3819, 0.3765, 0.373, 0.3708, 0.3693, 0.3682",\
                 "0.5199, 0.5096, 0.4883, 0.4714, 0.4598, 0.4522, 0.4473, 0.4439, 0.4418, 0.4402",\
                 "0.6248, 0.6136, 0.5892, 0.5687, 0.5542, 0.5443, 0.5377, 0.5331, 0.53, 0.5278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1475, 0.1434, 0.1384, 0.1357, 0.1353, 0.1358, 0.1365, 0.1378, 0.1397, 0.1458",\
                 "0.1464, 0.1423, 0.1374, 0.1347, 0.1342, 0.1347, 0.1355, 0.1368, 0.1384, 0.147",\
                 "0.145, 0.1408, 0.1358, 0.1332, 0.1325, 0.1332, 0.1346, 0.1351, 0.1368, 0.1443",\
                 "0.1514, 0.147, 0.1411, 0.1376, 0.1364, 0.137, 0.1373, 0.1388, 0.1397, 0.1483",\
                 "0.1712, 0.1659, 0.1586, 0.1538, 0.151, 0.1508, 0.1506, 0.1516, 0.153, 0.1624",\
                 "0.2038, 0.1976, 0.1881, 0.1814, 0.178, 0.1759, 0.1758, 0.1761, 0.1777, 0.1883",\
                 "0.2511, 0.2435, 0.2318, 0.2228, 0.2176, 0.2157, 0.2147, 0.2133, 0.2154, 0.229",\
                 "0.3128, 0.304, 0.2902, 0.2794, 0.2711, 0.2679, 0.2674, 0.2657, 0.2657, 0.2852",\
                 "0.3894, 0.3791, 0.363, 0.3499, 0.3392, 0.3334, 0.3316, 0.3311, 0.3315, 0.3598",\
                 "0.4812, 0.4698, 0.4513, 0.4358, 0.4233, 0.4148, 0.4104, 0.4096, 0.4144, 0.4601");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2912, 0.2885, 0.2859, 0.285, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.2916, 0.2888, 0.2862, 0.2853, 0.2848, 0.2846, 0.2844, 0.2843, 0.2843, 0.2842",\
                 "0.2924, 0.2895, 0.2867, 0.2857, 0.2854, 0.2851, 0.285, 0.2849, 0.2849, 0.2848",\
                 "0.3045, 0.3004, 0.2958, 0.2934, 0.2924, 0.2919, 0.2917, 0.2915, 0.2914, 0.2913",\
                 "0.3317, 0.3259, 0.3179, 0.3134, 0.311, 0.3098, 0.3091, 0.3087, 0.3084, 0.3082",\
                 "0.3748, 0.3674, 0.3558, 0.3484, 0.3442, 0.3419, 0.3405, 0.3396, 0.3391, 0.3387",\
                 "0.4336, 0.4248, 0.4093, 0.3988, 0.3923, 0.3884, 0.3861, 0.3845, 0.3835, 0.3828",\
                 "0.5069, 0.4969, 0.4777, 0.4637, 0.4545, 0.4488, 0.4452, 0.4429, 0.4413, 0.4402",\
                 "0.5941, 0.5831, 0.5603, 0.5426, 0.5305, 0.5227, 0.5175, 0.5141, 0.5118, 0.5101",\
                 "0.6931, 0.6814, 0.6554, 0.6335, 0.6185, 0.6082, 0.6014, 0.5966, 0.5934, 0.5911");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2912, 0.2885, 0.2859, 0.285, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.2916, 0.2888, 0.2862, 0.2853, 0.2848, 0.2846, 0.2844, 0.2843, 0.2843, 0.2842",\
                 "0.2924, 0.2895, 0.2867, 0.2857, 0.2854, 0.2851, 0.285, 0.2849, 0.2849, 0.2848",\
                 "0.3045, 0.3004, 0.2958, 0.2934, 0.2924, 0.2919, 0.2917, 0.2915, 0.2914, 0.2913",\
                 "0.3317, 0.3259, 0.3179, 0.3134, 0.311, 0.3098, 0.3091, 0.3087, 0.3084, 0.3082",\
                 "0.3748, 0.3674, 0.3558, 0.3484, 0.3442, 0.3419, 0.3405, 0.3396, 0.3391, 0.3387",\
                 "0.4336, 0.4248, 0.4093, 0.3988, 0.3923, 0.3884, 0.3861, 0.3845, 0.3835, 0.3828",\
                 "0.5069, 0.4969, 0.4777, 0.4637, 0.4545, 0.4488, 0.4452, 0.4429, 0.4413, 0.4402",\
                 "0.5941, 0.5831, 0.5603, 0.5426, 0.5305, 0.5227, 0.5175, 0.5141, 0.5118, 0.5101",\
                 "0.6931, 0.6814, 0.6554, 0.6335, 0.6185, 0.6082, 0.6014, 0.5966, 0.5934, 0.5911");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2909, 0.2881, 0.2855, 0.2845, 0.2841, 0.2839, 0.2837, 0.2836, 0.2836, 0.2835",\
                 "0.2912, 0.2885, 0.2859, 0.2849, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.292, 0.2891, 0.2863, 0.2854, 0.285, 0.2848, 0.2847, 0.2846, 0.2845, 0.2845",\
                 "0.3043, 0.3002, 0.2955, 0.2932, 0.2922, 0.2917, 0.2915, 0.2913, 0.2912, 0.2911",\
                 "0.3317, 0.3259, 0.318, 0.3134, 0.3111, 0.3099, 0.3092, 0.3087, 0.3085, 0.3083",\
                 "0.3749, 0.3675, 0.3559, 0.3486, 0.3445, 0.342, 0.3407, 0.3398, 0.3392, 0.3388",\
                 "0.4339, 0.425, 0.4096, 0.3991, 0.3925, 0.3887, 0.3864, 0.3848, 0.3838, 0.3832",\
                 "0.5072, 0.4972, 0.478, 0.4639, 0.4548, 0.4491, 0.4455, 0.4432, 0.4416, 0.4404",\
                 "0.5944, 0.5834, 0.5606, 0.5429, 0.5308, 0.523, 0.5178, 0.5144, 0.5121, 0.5105",\
                 "0.6934, 0.6818, 0.6557, 0.6339, 0.6188, 0.6086, 0.6017, 0.597, 0.5938, 0.5914");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2909, 0.2881, 0.2855, 0.2845, 0.2841, 0.2839, 0.2837, 0.2836, 0.2836, 0.2835",\
                 "0.2912, 0.2885, 0.2859, 0.2849, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.292, 0.2891, 0.2863, 0.2854, 0.285, 0.2848, 0.2847, 0.2846, 0.2845, 0.2845",\
                 "0.3043, 0.3002, 0.2955, 0.2932, 0.2922, 0.2917, 0.2915, 0.2913, 0.2912, 0.2911",\
                 "0.3317, 0.3259, 0.318, 0.3134, 0.3111, 0.3099, 0.3092, 0.3087, 0.3085, 0.3083",\
                 "0.3749, 0.3675, 0.3559, 0.3486, 0.3445, 0.342, 0.3407, 0.3398, 0.3392, 0.3388",\
                 "0.4339, 0.425, 0.4096, 0.3991, 0.3925, 0.3887, 0.3864, 0.3848, 0.3838, 0.3832",\
                 "0.5072, 0.4972, 0.478, 0.4639, 0.4548, 0.4491, 0.4455, 0.4432, 0.4416, 0.4404",\
                 "0.5944, 0.5834, 0.5606, 0.5429, 0.5308, 0.523, 0.5178, 0.5144, 0.5121, 0.5105",\
                 "0.6934, 0.6818, 0.6557, 0.6339, 0.6188, 0.6086, 0.6017, 0.597, 0.5938, 0.5914");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2269, 0.2244, 0.222, 0.2211, 0.2206, 0.2204, 0.2203, 0.2202, 0.2201, 0.2201",\
                 "0.2262, 0.2236, 0.2213, 0.2203, 0.2199, 0.2197, 0.2196, 0.2195, 0.2195, 0.2194",\
                 "0.2267, 0.224, 0.2215, 0.2206, 0.2202, 0.22, 0.2199, 0.2198, 0.2198, 0.2198",\
                 "0.2378, 0.2339, 0.2294, 0.2272, 0.2262, 0.2258, 0.2256, 0.2254, 0.2253, 0.2253",\
                 "0.2627, 0.2572, 0.2497, 0.2454, 0.2431, 0.2419, 0.2412, 0.2408, 0.2406, 0.2404",\
                 "0.3029, 0.2959, 0.2849, 0.2779, 0.2739, 0.2716, 0.2703, 0.2695, 0.269, 0.2686",\
                 "0.3592, 0.3509, 0.3365, 0.3262, 0.32, 0.3163, 0.3141, 0.3127, 0.3117, 0.3111",\
                 "0.4316, 0.4221, 0.4042, 0.3908, 0.3819, 0.3765, 0.373, 0.3708, 0.3693, 0.3683",\
                 "0.52, 0.5096, 0.4883, 0.4714, 0.4598, 0.4521, 0.4472, 0.444, 0.4418, 0.4402",\
                 "0.6248, 0.6136, 0.5892, 0.5687, 0.5542, 0.5443, 0.5377, 0.5331, 0.53, 0.5278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1475, 0.1434, 0.1384, 0.1357, 0.1353, 0.1358, 0.1365, 0.1378, 0.1397, 0.1458",\
                 "0.1464, 0.1423, 0.1374, 0.1347, 0.1342, 0.1347, 0.1355, 0.1368, 0.1384, 0.147",\
                 "0.145, 0.1409, 0.1357, 0.1331, 0.1327, 0.1332, 0.1339, 0.1351, 0.1368, 0.1459",\
                 "0.1514, 0.147, 0.1411, 0.1376, 0.1364, 0.137, 0.1373, 0.1388, 0.1397, 0.1483",\
                 "0.1712, 0.1659, 0.1587, 0.1538, 0.151, 0.1506, 0.151, 0.1516, 0.1536, 0.1635",\
                 "0.204, 0.1977, 0.188, 0.1813, 0.1782, 0.1762, 0.1758, 0.1764, 0.1774, 0.1883",\
                 "0.2511, 0.2435, 0.2321, 0.2229, 0.2179, 0.2158, 0.2141, 0.2136, 0.2144, 0.2294",\
                 "0.3128, 0.3038, 0.2904, 0.279, 0.2714, 0.2676, 0.2674, 0.2654, 0.2657, 0.2862",\
                 "0.3894, 0.3791, 0.363, 0.35, 0.3392, 0.3329, 0.3309, 0.3311, 0.3315, 0.36",\
                 "0.4812, 0.4698, 0.4513, 0.4358, 0.4233, 0.415, 0.4095, 0.4096, 0.4141, 0.4598");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2269, 0.2244, 0.222, 0.2211, 0.2206, 0.2204, 0.2203, 0.2202, 0.2201, 0.2201",\
                 "0.2262, 0.2236, 0.2213, 0.2203, 0.2199, 0.2197, 0.2196, 0.2195, 0.2195, 0.2194",\
                 "0.2267, 0.224, 0.2215, 0.2206, 0.2202, 0.22, 0.2199, 0.2198, 0.2198, 0.2198",\
                 "0.2378, 0.2339, 0.2294, 0.2272, 0.2262, 0.2258, 0.2256, 0.2254, 0.2253, 0.2253",\
                 "0.2627, 0.2572, 0.2497, 0.2454, 0.2431, 0.2419, 0.2412, 0.2408, 0.2406, 0.2404",\
                 "0.3029, 0.2959, 0.2849, 0.2779, 0.2739, 0.2717, 0.2703, 0.2695, 0.269, 0.2686",\
                 "0.3592, 0.351, 0.3365, 0.3262, 0.32, 0.3163, 0.3141, 0.3127, 0.3117, 0.3111",\
                 "0.4315, 0.4221, 0.4042, 0.3908, 0.3819, 0.3765, 0.373, 0.3708, 0.3693, 0.3682",\
                 "0.52, 0.5096, 0.4883, 0.4714, 0.4598, 0.4522, 0.4472, 0.444, 0.4418, 0.4402",\
                 "0.6248, 0.6136, 0.5892, 0.5687, 0.5542, 0.5443, 0.5376, 0.5331, 0.53, 0.5278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1475, 0.1434, 0.1384, 0.1357, 0.1353, 0.1358, 0.1365, 0.1378, 0.1397, 0.1458",\
                 "0.1464, 0.1423, 0.1374, 0.1347, 0.1342, 0.1347, 0.1355, 0.1368, 0.1384, 0.147",\
                 "0.145, 0.1408, 0.1358, 0.1332, 0.1325, 0.1332, 0.1346, 0.1351, 0.1368, 0.1443",\
                 "0.1514, 0.147, 0.1411, 0.1376, 0.1364, 0.137, 0.1373, 0.1388, 0.1397, 0.1483",\
                 "0.1712, 0.1659, 0.1587, 0.1538, 0.151, 0.1506, 0.151, 0.1516, 0.1536, 0.1635",\
                 "0.204, 0.1976, 0.188, 0.1813, 0.1782, 0.1763, 0.1758, 0.1764, 0.1777, 0.1883",\
                 "0.2511, 0.2433, 0.2321, 0.2229, 0.2178, 0.216, 0.2147, 0.2133, 0.2154, 0.229",\
                 "0.3128, 0.3038, 0.2904, 0.279, 0.2719, 0.2675, 0.2672, 0.2657, 0.2657, 0.2849",\
                 "0.3894, 0.3791, 0.363, 0.35, 0.3399, 0.3335, 0.3316, 0.3314, 0.3315, 0.3591",\
                 "0.4812, 0.4698, 0.4513, 0.4358, 0.4233, 0.4153, 0.4104, 0.4099, 0.4144, 0.4595");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2909, 0.2881, 0.2855, 0.2845, 0.2841, 0.2839, 0.2837, 0.2836, 0.2836, 0.2835",\
                 "0.2912, 0.2885, 0.2859, 0.2849, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.292, 0.2891, 0.2863, 0.2854, 0.285, 0.2848, 0.2847, 0.2846, 0.2845, 0.2845",\
                 "0.3043, 0.3002, 0.2955, 0.2932, 0.2922, 0.2917, 0.2915, 0.2913, 0.2912, 0.2911",\
                 "0.3317, 0.3259, 0.3179, 0.3134, 0.3112, 0.3099, 0.3091, 0.3088, 0.3085, 0.3083",\
                 "0.3749, 0.3674, 0.3559, 0.3486, 0.3445, 0.342, 0.3407, 0.3398, 0.3392, 0.3388",\
                 "0.4339, 0.4251, 0.4096, 0.3991, 0.3926, 0.3886, 0.3864, 0.3848, 0.3838, 0.3832",\
                 "0.5073, 0.4972, 0.4781, 0.464, 0.4548, 0.4491, 0.4455, 0.4432, 0.4416, 0.4405",\
                 "0.5944, 0.5834, 0.5606, 0.5429, 0.5308, 0.523, 0.5178, 0.5145, 0.5122, 0.5105",\
                 "0.6935, 0.6816, 0.6556, 0.6339, 0.6188, 0.6086, 0.6016, 0.597, 0.5938, 0.5914");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2909, 0.2881, 0.2855, 0.2845, 0.2841, 0.2839, 0.2837, 0.2836, 0.2836, 0.2835",\
                 "0.2912, 0.2885, 0.2859, 0.2849, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.292, 0.2891, 0.2863, 0.2854, 0.285, 0.2848, 0.2847, 0.2846, 0.2845, 0.2845",\
                 "0.3043, 0.3002, 0.2955, 0.2932, 0.2922, 0.2917, 0.2915, 0.2913, 0.2912, 0.2911",\
                 "0.3317, 0.3259, 0.3179, 0.3134, 0.3112, 0.3099, 0.3091, 0.3088, 0.3085, 0.3083",\
                 "0.3749, 0.3674, 0.3559, 0.3486, 0.3445, 0.342, 0.3407, 0.3398, 0.3392, 0.3388",\
                 "0.4339, 0.4251, 0.4096, 0.3991, 0.3926, 0.3886, 0.3864, 0.3848, 0.3838, 0.3832",\
                 "0.5073, 0.4972, 0.4781, 0.464, 0.4548, 0.4491, 0.4455, 0.4432, 0.4416, 0.4405",\
                 "0.5944, 0.5834, 0.5606, 0.5429, 0.5308, 0.523, 0.5178, 0.5145, 0.5122, 0.5105",\
                 "0.6935, 0.6816, 0.6556, 0.6339, 0.6188, 0.6086, 0.6016, 0.597, 0.5938, 0.5914");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2909, 0.2881, 0.2855, 0.2845, 0.2841, 0.2839, 0.2837, 0.2836, 0.2836, 0.2835",\
                 "0.2912, 0.2885, 0.2859, 0.2849, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.292, 0.2891, 0.2863, 0.2854, 0.285, 0.2848, 0.2847, 0.2846, 0.2845, 0.2845",\
                 "0.3043, 0.3002, 0.2955, 0.2932, 0.2922, 0.2917, 0.2915, 0.2913, 0.2912, 0.2911",\
                 "0.3317, 0.326, 0.3179, 0.3135, 0.3111, 0.3099, 0.3091, 0.3088, 0.3085, 0.3083",\
                 "0.3749, 0.3675, 0.3559, 0.3486, 0.3445, 0.342, 0.3407, 0.3398, 0.3392, 0.3388",\
                 "0.4339, 0.4251, 0.4096, 0.3991, 0.3926, 0.3886, 0.3864, 0.3848, 0.3838, 0.3832",\
                 "0.5073, 0.4972, 0.4781, 0.4639, 0.4548, 0.4491, 0.4456, 0.4432, 0.4416, 0.4405",\
                 "0.5944, 0.5835, 0.5607, 0.5429, 0.5308, 0.523, 0.5179, 0.5145, 0.5122, 0.5105",\
                 "0.6935, 0.6816, 0.6556, 0.6339, 0.6187, 0.6085, 0.6016, 0.597, 0.5937, 0.5914");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2909, 0.2881, 0.2855, 0.2845, 0.2841, 0.2839, 0.2837, 0.2836, 0.2836, 0.2835",\
                 "0.2912, 0.2885, 0.2859, 0.2849, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.292, 0.2891, 0.2863, 0.2854, 0.285, 0.2848, 0.2847, 0.2846, 0.2845, 0.2845",\
                 "0.3043, 0.3002, 0.2955, 0.2932, 0.2922, 0.2917, 0.2915, 0.2913, 0.2912, 0.2911",\
                 "0.3317, 0.326, 0.3179, 0.3135, 0.3111, 0.3099, 0.3091, 0.3088, 0.3085, 0.3083",\
                 "0.3749, 0.3675, 0.3559, 0.3486, 0.3445, 0.342, 0.3407, 0.3398, 0.3392, 0.3388",\
                 "0.4339, 0.4251, 0.4096, 0.3991, 0.3926, 0.3886, 0.3864, 0.3848, 0.3838, 0.3832",\
                 "0.5073, 0.4972, 0.4781, 0.4639, 0.4548, 0.4491, 0.4456, 0.4432, 0.4416, 0.4405",\
                 "0.5944, 0.5835, 0.5607, 0.5429, 0.5308, 0.523, 0.5179, 0.5145, 0.5122, 0.5105",\
                 "0.6935, 0.6816, 0.6556, 0.6339, 0.6187, 0.6085, 0.6016, 0.597, 0.5937, 0.5914");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2269, 0.2244, 0.222, 0.2211, 0.2206, 0.2204, 0.2203, 0.2202, 0.2201, 0.2201",\
                 "0.2262, 0.2236, 0.2213, 0.2203, 0.2199, 0.2197, 0.2196, 0.2195, 0.2195, 0.2194",\
                 "0.2267, 0.224, 0.2215, 0.2206, 0.2202, 0.22, 0.2199, 0.2198, 0.2198, 0.2198",\
                 "0.2378, 0.2339, 0.2294, 0.2272, 0.2262, 0.2258, 0.2256, 0.2254, 0.2253, 0.2253",\
                 "0.2627, 0.2572, 0.2497, 0.2454, 0.2431, 0.2419, 0.2412, 0.2408, 0.2406, 0.2404",\
                 "0.3029, 0.2958, 0.285, 0.2779, 0.274, 0.2716, 0.2703, 0.2695, 0.269, 0.2686",\
                 "0.3591, 0.3509, 0.3365, 0.3262, 0.32, 0.3163, 0.3141, 0.3127, 0.3117, 0.3111",\
                 "0.4316, 0.4221, 0.4042, 0.3908, 0.3819, 0.3765, 0.373, 0.3708, 0.3693, 0.3682",\
                 "0.52, 0.5096, 0.4883, 0.4714, 0.4598, 0.4522, 0.4472, 0.444, 0.4418, 0.4402",\
                 "0.6248, 0.6135, 0.5893, 0.5687, 0.5542, 0.5443, 0.5377, 0.5331, 0.53, 0.5278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1475, 0.1434, 0.1384, 0.1357, 0.1353, 0.1358, 0.1365, 0.1378, 0.1397, 0.1458",\
                 "0.1464, 0.1423, 0.1374, 0.1347, 0.1342, 0.1347, 0.1355, 0.1368, 0.1384, 0.147",\
                 "0.145, 0.1408, 0.1358, 0.1332, 0.1325, 0.1332, 0.1346, 0.1351, 0.1368, 0.1443",\
                 "0.1514, 0.147, 0.1411, 0.1376, 0.1364, 0.137, 0.1373, 0.1388, 0.1397, 0.1483",\
                 "0.1712, 0.1659, 0.1586, 0.1538, 0.1511, 0.1509, 0.1508, 0.1516, 0.1533, 0.1626",\
                 "0.204, 0.1976, 0.1882, 0.1815, 0.178, 0.1761, 0.1758, 0.1764, 0.1777, 0.1883",\
                 "0.2511, 0.2435, 0.2321, 0.2229, 0.2179, 0.216, 0.2147, 0.2133, 0.2154, 0.229",\
                 "0.3128, 0.3038, 0.2903, 0.2797, 0.2717, 0.2679, 0.2671, 0.2661, 0.2657, 0.2849",\
                 "0.3894, 0.3791, 0.3629, 0.3499, 0.3399, 0.3335, 0.3312, 0.3308, 0.3318, 0.359",\
                 "0.4812, 0.4698, 0.4512, 0.4361, 0.4233, 0.415, 0.4095, 0.4089, 0.4141, 0.4598");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2269, 0.2244, 0.222, 0.2211, 0.2206, 0.2204, 0.2203, 0.2202, 0.2201, 0.2201",\
                 "0.2262, 0.2236, 0.2213, 0.2203, 0.2199, 0.2197, 0.2196, 0.2195, 0.2195, 0.2194",\
                 "0.2267, 0.224, 0.2215, 0.2206, 0.2202, 0.22, 0.2199, 0.2198, 0.2198, 0.2198",\
                 "0.2378, 0.234, 0.2294, 0.2272, 0.2262, 0.2258, 0.2256, 0.2254, 0.2253, 0.2253",\
                 "0.2627, 0.2572, 0.2497, 0.2454, 0.2431, 0.2418, 0.2412, 0.2408, 0.2406, 0.2404",\
                 "0.3029, 0.2959, 0.2849, 0.278, 0.274, 0.2717, 0.2703, 0.2695, 0.269, 0.2686",\
                 "0.3592, 0.3509, 0.3365, 0.3262, 0.32, 0.3163, 0.3141, 0.3127, 0.3117, 0.3111",\
                 "0.4316, 0.4222, 0.4042, 0.3908, 0.3819, 0.3765, 0.373, 0.3708, 0.3693, 0.3682",\
                 "0.5199, 0.5096, 0.4883, 0.4714, 0.4598, 0.4522, 0.4473, 0.4439, 0.4418, 0.4402",\
                 "0.6248, 0.6136, 0.5892, 0.5687, 0.5542, 0.5443, 0.5377, 0.5331, 0.53, 0.5278");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1475, 0.1434, 0.1384, 0.1357, 0.1353, 0.1358, 0.1365, 0.1378, 0.1397, 0.1458",\
                 "0.1464, 0.1423, 0.1374, 0.1347, 0.1342, 0.1347, 0.1355, 0.1368, 0.1384, 0.147",\
                 "0.145, 0.1408, 0.1358, 0.1332, 0.1325, 0.1332, 0.1346, 0.1351, 0.1368, 0.1443",\
                 "0.1514, 0.147, 0.1411, 0.1376, 0.1364, 0.137, 0.1373, 0.1388, 0.1397, 0.1483",\
                 "0.1712, 0.1659, 0.1586, 0.1538, 0.151, 0.1508, 0.1506, 0.1516, 0.153, 0.1624",\
                 "0.2038, 0.1975, 0.1881, 0.1814, 0.1779, 0.1759, 0.1755, 0.1764, 0.1777, 0.188",\
                 "0.2511, 0.2435, 0.2319, 0.2228, 0.2176, 0.2157, 0.2141, 0.2133, 0.2148, 0.2294",\
                 "0.3128, 0.304, 0.2902, 0.2793, 0.2711, 0.268, 0.2673, 0.2654, 0.2653, 0.2852",\
                 "0.3894, 0.3792, 0.363, 0.3499, 0.3399, 0.3336, 0.3303, 0.3314, 0.3319, 0.3594",\
                 "0.4812, 0.4698, 0.4513, 0.4361, 0.4239, 0.4149, 0.4098, 0.4099, 0.4148, 0.4598");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2913, 0.2885, 0.286, 0.285, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.2916, 0.2888, 0.2862, 0.2853, 0.2848, 0.2846, 0.2845, 0.2843, 0.2843, 0.2842",\
                 "0.2924, 0.2895, 0.2867, 0.2857, 0.2854, 0.2851, 0.285, 0.2849, 0.2849, 0.2848",\
                 "0.3045, 0.3004, 0.2957, 0.2934, 0.2924, 0.292, 0.2917, 0.2916, 0.2914, 0.2914",\
                 "0.3317, 0.3258, 0.3179, 0.3133, 0.311, 0.3098, 0.3091, 0.3087, 0.3084, 0.3082",\
                 "0.3748, 0.3673, 0.3558, 0.3485, 0.3442, 0.3419, 0.3405, 0.3396, 0.339, 0.3386",\
                 "0.4336, 0.4248, 0.4094, 0.3988, 0.3923, 0.3884, 0.3861, 0.3846, 0.3835, 0.3828",\
                 "0.5069, 0.4969, 0.4777, 0.4636, 0.4546, 0.4489, 0.4452, 0.4429, 0.4413, 0.4401",\
                 "0.5941, 0.5831, 0.5603, 0.5425, 0.5306, 0.5227, 0.5175, 0.5141, 0.5118, 0.5102",\
                 "0.6932, 0.6814, 0.6553, 0.6335, 0.6184, 0.6083, 0.6014, 0.5966, 0.5935, 0.5911");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2913, 0.2885, 0.286, 0.285, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.2916, 0.2888, 0.2862, 0.2853, 0.2848, 0.2846, 0.2845, 0.2843, 0.2843, 0.2842",\
                 "0.2924, 0.2895, 0.2867, 0.2857, 0.2854, 0.2851, 0.285, 0.2849, 0.2849, 0.2848",\
                 "0.3045, 0.3004, 0.2957, 0.2934, 0.2924, 0.292, 0.2917, 0.2916, 0.2914, 0.2914",\
                 "0.3317, 0.3258, 0.3179, 0.3133, 0.311, 0.3098, 0.3091, 0.3087, 0.3084, 0.3082",\
                 "0.3748, 0.3673, 0.3558, 0.3485, 0.3442, 0.3419, 0.3405, 0.3396, 0.339, 0.3386",\
                 "0.4336, 0.4248, 0.4094, 0.3988, 0.3923, 0.3884, 0.3861, 0.3846, 0.3835, 0.3828",\
                 "0.5069, 0.4969, 0.4777, 0.4636, 0.4546, 0.4489, 0.4452, 0.4429, 0.4413, 0.4401",\
                 "0.5941, 0.5831, 0.5603, 0.5425, 0.5306, 0.5227, 0.5175, 0.5141, 0.5118, 0.5102",\
                 "0.6932, 0.6814, 0.6553, 0.6335, 0.6184, 0.6083, 0.6014, 0.5966, 0.5935, 0.5911");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2909, 0.2881, 0.2855, 0.2845, 0.2841, 0.2839, 0.2837, 0.2836, 0.2836, 0.2835",\
                 "0.2913, 0.2885, 0.2859, 0.2849, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.292, 0.2891, 0.2863, 0.2854, 0.285, 0.2848, 0.2847, 0.2846, 0.2845, 0.2845",\
                 "0.3043, 0.3002, 0.2955, 0.2932, 0.2922, 0.2917, 0.2914, 0.2913, 0.2912, 0.2911",\
                 "0.3317, 0.3259, 0.3179, 0.3135, 0.3111, 0.3099, 0.3091, 0.3088, 0.3085, 0.3083",\
                 "0.3749, 0.3675, 0.356, 0.3486, 0.3445, 0.3421, 0.3407, 0.3398, 0.3392, 0.3388",\
                 "0.4339, 0.4251, 0.4096, 0.3991, 0.3925, 0.3887, 0.3864, 0.3848, 0.3839, 0.3831",\
                 "0.5073, 0.4973, 0.4781, 0.464, 0.4548, 0.4491, 0.4455, 0.4432, 0.4416, 0.4405",\
                 "0.5944, 0.5834, 0.5606, 0.5428, 0.5308, 0.523, 0.5178, 0.5144, 0.5121, 0.5105",\
                 "0.6935, 0.6818, 0.6556, 0.6339, 0.6187, 0.6086, 0.6017, 0.597, 0.5937, 0.5914");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2909, 0.2881, 0.2855, 0.2845, 0.2841, 0.2839, 0.2837, 0.2836, 0.2836, 0.2835",\
                 "0.2913, 0.2885, 0.2859, 0.2849, 0.2845, 0.2842, 0.2841, 0.284, 0.2839, 0.2839",\
                 "0.292, 0.2891, 0.2863, 0.2854, 0.285, 0.2848, 0.2847, 0.2846, 0.2845, 0.2845",\
                 "0.3043, 0.3002, 0.2955, 0.2932, 0.2922, 0.2917, 0.2914, 0.2913, 0.2912, 0.2911",\
                 "0.3317, 0.3259, 0.3179, 0.3135, 0.3111, 0.3099, 0.3091, 0.3088, 0.3085, 0.3083",\
                 "0.3749, 0.3675, 0.356, 0.3486, 0.3445, 0.3421, 0.3407, 0.3398, 0.3392, 0.3388",\
                 "0.4339, 0.4251, 0.4096, 0.3991, 0.3925, 0.3887, 0.3864, 0.3848, 0.3839, 0.3831",\
                 "0.5073, 0.4973, 0.4781, 0.464, 0.4548, 0.4491, 0.4455, 0.4432, 0.4416, 0.4405",\
                 "0.5944, 0.5834, 0.5606, 0.5428, 0.5308, 0.523, 0.5178, 0.5144, 0.5121, 0.5105",\
                 "0.6935, 0.6818, 0.6556, 0.6339, 0.6187, 0.6086, 0.6017, 0.597, 0.5937, 0.5914");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2308, 0.2244, 0.2204, 0.2188, 0.2189, 0.2196, 0.2205, 0.2224, 0.2322",\
                 "0.2354, 0.2307, 0.2243, 0.2203, 0.2189, 0.2191, 0.2196, 0.2211, 0.2221, 0.2305",\
                 "0.2359, 0.2312, 0.2245, 0.2209, 0.2194, 0.2197, 0.2199, 0.2214, 0.2231, 0.2324",\
                 "0.2391, 0.2345, 0.2279, 0.2241, 0.223, 0.2228, 0.2235, 0.2248, 0.2261, 0.2363",\
                 "0.2483, 0.2437, 0.2372, 0.233, 0.2315, 0.2316, 0.2323, 0.2332, 0.2349, 0.2467",\
                 "0.2638, 0.2588, 0.2525, 0.248, 0.2462, 0.2462, 0.2473, 0.2481, 0.2496, 0.265",\
                 "0.2856, 0.2806, 0.2736, 0.2692, 0.2675, 0.2669, 0.2671, 0.2683, 0.2705, 0.2922",\
                 "0.3146, 0.3095, 0.3022, 0.2968, 0.2953, 0.2956, 0.2953, 0.2962, 0.2996, 0.3301",\
                 "0.3485, 0.3431, 0.3353, 0.3296, 0.3266, 0.3258, 0.3286, 0.3294, 0.3339, 0.382",\
                 "0.3853, 0.3794, 0.3716, 0.3661, 0.363, 0.3611, 0.3623, 0.3652, 0.3755, 0.4576");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2308, 0.2244, 0.2204, 0.2188, 0.2189, 0.2196, 0.2205, 0.2224, 0.2322",\
                 "0.2354, 0.2307, 0.2243, 0.2203, 0.2189, 0.2191, 0.2196, 0.2211, 0.2221, 0.2305",\
                 "0.2359, 0.2312, 0.2245, 0.2209, 0.2194, 0.2197, 0.2199, 0.2214, 0.2231, 0.2324",\
                 "0.2391, 0.2345, 0.2279, 0.2241, 0.223, 0.2228, 0.2235, 0.2248, 0.2261, 0.2363",\
                 "0.2483, 0.2437, 0.2372, 0.233, 0.2315, 0.2316, 0.2323, 0.2332, 0.2349, 0.2467",\
                 "0.2638, 0.2588, 0.2525, 0.248, 0.2462, 0.2462, 0.2473, 0.2481, 0.2496, 0.265",\
                 "0.2856, 0.2806, 0.2736, 0.2692, 0.2675, 0.2669, 0.2671, 0.2683, 0.2705, 0.2922",\
                 "0.3146, 0.3095, 0.3022, 0.2968, 0.2953, 0.2956, 0.2953, 0.2962, 0.2996, 0.3301",\
                 "0.3485, 0.3431, 0.3353, 0.3296, 0.3266, 0.3258, 0.3286, 0.3294, 0.3339, 0.382",\
                 "0.3853, 0.3794, 0.3716, 0.3661, 0.363, 0.3611, 0.3623, 0.3652, 0.3755, 0.4576");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2308, 0.2244, 0.2204, 0.2188, 0.2189, 0.2196, 0.2205, 0.2224, 0.2322",\
                 "0.2354, 0.2307, 0.2243, 0.2203, 0.2189, 0.2191, 0.2196, 0.2211, 0.2221, 0.2305",\
                 "0.2359, 0.2312, 0.2245, 0.2209, 0.2194, 0.2197, 0.2199, 0.2214, 0.2231, 0.2324",\
                 "0.2392, 0.2345, 0.228, 0.2242, 0.2231, 0.2228, 0.2235, 0.2248, 0.2261, 0.2363",\
                 "0.2484, 0.2437, 0.2371, 0.233, 0.2315, 0.2316, 0.2323, 0.2332, 0.2349, 0.2467",\
                 "0.2637, 0.2589, 0.2524, 0.248, 0.2462, 0.2463, 0.2463, 0.2478, 0.2496, 0.2647",\
                 "0.2856, 0.2806, 0.2737, 0.2693, 0.2675, 0.267, 0.2675, 0.2687, 0.2709, 0.2916",\
                 "0.3145, 0.3095, 0.3021, 0.2967, 0.2952, 0.2956, 0.2953, 0.2961, 0.2996, 0.3301",\
                 "0.3484, 0.3431, 0.3349, 0.3296, 0.3266, 0.3259, 0.3289, 0.3287, 0.3329, 0.383",\
                 "0.3853, 0.3794, 0.3716, 0.3655, 0.3629, 0.3609, 0.3623, 0.3665, 0.3755, 0.4573");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2308, 0.2244, 0.2204, 0.2188, 0.2189, 0.2196, 0.2205, 0.2224, 0.2322",\
                 "0.2354, 0.2307, 0.2243, 0.2203, 0.2189, 0.2191, 0.2196, 0.2211, 0.2221, 0.2305",\
                 "0.2359, 0.2312, 0.2245, 0.2209, 0.2194, 0.2197, 0.2199, 0.2214, 0.2231, 0.2324",\
                 "0.2392, 0.2345, 0.228, 0.2242, 0.2231, 0.2228, 0.2235, 0.2248, 0.2261, 0.2363",\
                 "0.2484, 0.2437, 0.2371, 0.233, 0.2315, 0.2316, 0.2323, 0.2332, 0.2349, 0.2467",\
                 "0.2637, 0.2589, 0.2524, 0.248, 0.2462, 0.2463, 0.2463, 0.2478, 0.2496, 0.2647",\
                 "0.2856, 0.2806, 0.2737, 0.2693, 0.2675, 0.267, 0.2675, 0.2687, 0.2709, 0.2916",\
                 "0.3145, 0.3095, 0.3021, 0.2967, 0.2952, 0.2956, 0.2953, 0.2961, 0.2996, 0.3301",\
                 "0.3484, 0.3431, 0.3349, 0.3296, 0.3266, 0.3259, 0.3289, 0.3287, 0.3329, 0.383",\
                 "0.3853, 0.3794, 0.3716, 0.3655, 0.3629, 0.3609, 0.3623, 0.3665, 0.3755, 0.4573");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2355, 0.2308, 0.2242, 0.2206, 0.2188, 0.219, 0.2199, 0.2208, 0.2221, 0.2312",\
                 "0.2355, 0.2307, 0.2243, 0.2203, 0.2189, 0.2191, 0.2196, 0.2211, 0.2221, 0.2305",\
                 "0.2359, 0.2312, 0.2247, 0.2208, 0.2194, 0.2197, 0.2198, 0.2214, 0.223, 0.2324",\
                 "0.2393, 0.2345, 0.2279, 0.2241, 0.223, 0.2228, 0.2235, 0.2248, 0.2261, 0.2363",\
                 "0.2484, 0.2437, 0.2371, 0.233, 0.2314, 0.2315, 0.2322, 0.2335, 0.2348, 0.247",\
                 "0.2638, 0.2589, 0.2525, 0.248, 0.2459, 0.2461, 0.2463, 0.2481, 0.2496, 0.265",\
                 "0.2855, 0.2806, 0.2738, 0.2694, 0.2675, 0.2671, 0.2675, 0.2687, 0.2722, 0.2934",\
                 "0.3148, 0.3097, 0.3027, 0.2967, 0.2952, 0.2956, 0.2954, 0.2959, 0.3, 0.3315",\
                 "0.3484, 0.343, 0.3354, 0.3298, 0.3268, 0.3268, 0.3289, 0.329, 0.3333, 0.382",\
                 "0.3852, 0.3794, 0.3712, 0.3655, 0.3624, 0.3608, 0.3619, 0.3655, 0.3751, 0.4565");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2355, 0.2308, 0.2242, 0.2206, 0.2188, 0.219, 0.2199, 0.2208, 0.2221, 0.2312",\
                 "0.2355, 0.2307, 0.2243, 0.2203, 0.2189, 0.2191, 0.2196, 0.2211, 0.2221, 0.2305",\
                 "0.2359, 0.2312, 0.2247, 0.2208, 0.2194, 0.2197, 0.2198, 0.2214, 0.223, 0.2324",\
                 "0.2393, 0.2345, 0.2279, 0.2241, 0.223, 0.2228, 0.2235, 0.2248, 0.2261, 0.2363",\
                 "0.2484, 0.2437, 0.2371, 0.233, 0.2314, 0.2315, 0.2322, 0.2335, 0.2348, 0.247",\
                 "0.2638, 0.2589, 0.2525, 0.248, 0.2459, 0.2461, 0.2463, 0.2481, 0.2496, 0.265",\
                 "0.2855, 0.2806, 0.2738, 0.2694, 0.2675, 0.2671, 0.2675, 0.2687, 0.2722, 0.2934",\
                 "0.3148, 0.3097, 0.3027, 0.2967, 0.2952, 0.2956, 0.2954, 0.2959, 0.3, 0.3315",\
                 "0.3484, 0.343, 0.3354, 0.3298, 0.3268, 0.3268, 0.3289, 0.329, 0.3333, 0.382",\
                 "0.3852, 0.3794, 0.3712, 0.3655, 0.3624, 0.3608, 0.3619, 0.3655, 0.3751, 0.4565");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2307, 0.2247, 0.2203, 0.2188, 0.219, 0.2196, 0.221, 0.2216, 0.2303",\
                 "0.2354, 0.2306, 0.224, 0.2202, 0.2188, 0.219, 0.2195, 0.2207, 0.2227, 0.2304",\
                 "0.2359, 0.2312, 0.2248, 0.2208, 0.2194, 0.2196, 0.2199, 0.2214, 0.2227, 0.2311",\
                 "0.2392, 0.2346, 0.2282, 0.2241, 0.2224, 0.2231, 0.224, 0.2241, 0.226, 0.2363",\
                 "0.2482, 0.2435, 0.237, 0.2328, 0.2313, 0.2313, 0.2317, 0.2333, 0.2346, 0.2469",\
                 "0.2639, 0.2588, 0.2524, 0.248, 0.246, 0.2461, 0.2464, 0.2481, 0.2515, 0.2653",\
                 "0.2857, 0.2808, 0.2737, 0.2692, 0.2676, 0.2671, 0.2677, 0.2682, 0.2708, 0.2918",\
                 "0.3148, 0.3094, 0.3026, 0.2968, 0.2953, 0.2957, 0.2954, 0.2956, 0.2997, 0.3311",\
                 "0.3484, 0.343, 0.3355, 0.3297, 0.3269, 0.3259, 0.3284, 0.3288, 0.3331, 0.3821",\
                 "0.3854, 0.3796, 0.3713, 0.366, 0.362, 0.3605, 0.3624, 0.3656, 0.3753, 0.4582");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2307, 0.2247, 0.2203, 0.2188, 0.219, 0.2196, 0.221, 0.2216, 0.2303",\
                 "0.2354, 0.2306, 0.224, 0.2202, 0.2188, 0.219, 0.2195, 0.2207, 0.2227, 0.2304",\
                 "0.2359, 0.2312, 0.2248, 0.2208, 0.2194, 0.2196, 0.2199, 0.2214, 0.2227, 0.2311",\
                 "0.2392, 0.2346, 0.2282, 0.2241, 0.2224, 0.2231, 0.224, 0.2241, 0.226, 0.2363",\
                 "0.2482, 0.2435, 0.237, 0.2328, 0.2313, 0.2313, 0.2317, 0.2333, 0.2346, 0.2469",\
                 "0.2639, 0.2588, 0.2524, 0.248, 0.246, 0.2461, 0.2464, 0.2481, 0.2515, 0.2653",\
                 "0.2857, 0.2808, 0.2737, 0.2692, 0.2676, 0.2671, 0.2677, 0.2682, 0.2708, 0.2918",\
                 "0.3148, 0.3094, 0.3026, 0.2968, 0.2953, 0.2957, 0.2954, 0.2956, 0.2997, 0.3311",\
                 "0.3484, 0.343, 0.3355, 0.3297, 0.3269, 0.3259, 0.3284, 0.3288, 0.3331, 0.3821",\
                 "0.3854, 0.3796, 0.3713, 0.366, 0.362, 0.3605, 0.3624, 0.3656, 0.3753, 0.4582");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2307, 0.2247, 0.2203, 0.2188, 0.2191, 0.2196, 0.221, 0.2217, 0.2303",\
                 "0.2354, 0.2306, 0.224, 0.2202, 0.2188, 0.219, 0.2195, 0.2207, 0.2227, 0.2305",\
                 "0.2359, 0.2311, 0.2248, 0.2208, 0.2194, 0.2196, 0.2199, 0.2214, 0.2231, 0.2311",\
                 "0.2392, 0.2346, 0.2283, 0.2241, 0.2226, 0.2231, 0.224, 0.2241, 0.2261, 0.2363",\
                 "0.2482, 0.2436, 0.237, 0.2328, 0.2313, 0.2315, 0.2322, 0.233, 0.236, 0.2465",\
                 "0.2638, 0.2589, 0.2525, 0.2479, 0.2461, 0.2462, 0.2465, 0.2474, 0.2499, 0.2656",\
                 "0.2858, 0.2808, 0.2734, 0.2692, 0.2674, 0.2671, 0.2677, 0.2689, 0.2708, 0.2918",\
                 "0.3148, 0.3094, 0.3026, 0.2969, 0.2953, 0.2956, 0.2961, 0.2956, 0.2994, 0.3297",\
                 "0.3484, 0.3433, 0.3355, 0.3302, 0.327, 0.3264, 0.3287, 0.3292, 0.3334, 0.3824",\
                 "0.3853, 0.3799, 0.3716, 0.3656, 0.3624, 0.3609, 0.3611, 0.3656, 0.3749, 0.457");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2307, 0.2247, 0.2203, 0.2188, 0.2191, 0.2196, 0.221, 0.2217, 0.2303",\
                 "0.2354, 0.2306, 0.224, 0.2202, 0.2188, 0.219, 0.2195, 0.2207, 0.2227, 0.2305",\
                 "0.2359, 0.2311, 0.2248, 0.2208, 0.2194, 0.2196, 0.2199, 0.2214, 0.2231, 0.2311",\
                 "0.2392, 0.2346, 0.2283, 0.2241, 0.2226, 0.2231, 0.224, 0.2241, 0.2261, 0.2363",\
                 "0.2482, 0.2436, 0.237, 0.2328, 0.2313, 0.2315, 0.2322, 0.233, 0.236, 0.2465",\
                 "0.2638, 0.2589, 0.2525, 0.2479, 0.2461, 0.2462, 0.2465, 0.2474, 0.2499, 0.2656",\
                 "0.2858, 0.2808, 0.2734, 0.2692, 0.2674, 0.2671, 0.2677, 0.2689, 0.2708, 0.2918",\
                 "0.3148, 0.3094, 0.3026, 0.2969, 0.2953, 0.2956, 0.2961, 0.2956, 0.2994, 0.3297",\
                 "0.3484, 0.3433, 0.3355, 0.3302, 0.327, 0.3264, 0.3287, 0.3292, 0.3334, 0.3824",\
                 "0.3853, 0.3799, 0.3716, 0.3656, 0.3624, 0.3609, 0.3611, 0.3656, 0.3749, 0.457");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2307, 0.2247, 0.2203, 0.2188, 0.2191, 0.2196, 0.221, 0.2217, 0.2303",\
                 "0.2354, 0.2306, 0.224, 0.2202, 0.2188, 0.219, 0.2195, 0.2207, 0.2227, 0.2305",\
                 "0.2359, 0.2311, 0.2248, 0.2208, 0.2194, 0.2196, 0.2199, 0.2214, 0.2231, 0.2324",\
                 "0.2392, 0.2346, 0.2283, 0.2241, 0.2226, 0.2231, 0.224, 0.2241, 0.2261, 0.2363",\
                 "0.2482, 0.2437, 0.237, 0.2329, 0.2314, 0.2315, 0.2322, 0.233, 0.236, 0.2483",\
                 "0.2638, 0.2589, 0.2525, 0.2479, 0.2461, 0.2464, 0.2465, 0.2474, 0.2495, 0.2656",\
                 "0.2858, 0.2808, 0.2734, 0.2692, 0.2674, 0.2671, 0.2677, 0.2689, 0.2708, 0.2918",\
                 "0.3148, 0.3094, 0.3026, 0.2969, 0.2953, 0.2956, 0.2961, 0.2956, 0.2994, 0.3297",\
                 "0.3485, 0.3433, 0.3354, 0.3303, 0.327, 0.3264, 0.3287, 0.3292, 0.3334, 0.3815",\
                 "0.3854, 0.3799, 0.3717, 0.3656, 0.3621, 0.3609, 0.3611, 0.3656, 0.3749, 0.457");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2307, 0.2247, 0.2203, 0.2188, 0.2191, 0.2196, 0.221, 0.2217, 0.2303",\
                 "0.2354, 0.2306, 0.224, 0.2202, 0.2188, 0.219, 0.2195, 0.2207, 0.2227, 0.2305",\
                 "0.2359, 0.2311, 0.2248, 0.2208, 0.2194, 0.2196, 0.2199, 0.2214, 0.2231, 0.2324",\
                 "0.2392, 0.2346, 0.2283, 0.2241, 0.2226, 0.2231, 0.224, 0.2241, 0.2261, 0.2363",\
                 "0.2482, 0.2437, 0.237, 0.2329, 0.2314, 0.2315, 0.2322, 0.233, 0.236, 0.2483",\
                 "0.2638, 0.2589, 0.2525, 0.2479, 0.2461, 0.2464, 0.2465, 0.2474, 0.2495, 0.2656",\
                 "0.2858, 0.2808, 0.2734, 0.2692, 0.2674, 0.2671, 0.2677, 0.2689, 0.2708, 0.2918",\
                 "0.3148, 0.3094, 0.3026, 0.2969, 0.2953, 0.2956, 0.2961, 0.2956, 0.2994, 0.3297",\
                 "0.3485, 0.3433, 0.3354, 0.3303, 0.327, 0.3264, 0.3287, 0.3292, 0.3334, 0.3815",\
                 "0.3854, 0.3799, 0.3717, 0.3656, 0.3621, 0.3609, 0.3611, 0.3656, 0.3749, 0.457");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2308, 0.2241, 0.2204, 0.2188, 0.2189, 0.2196, 0.2205, 0.2224, 0.2322",\
                 "0.2354, 0.2307, 0.2243, 0.2203, 0.2189, 0.2191, 0.2196, 0.2211, 0.2221, 0.2305",\
                 "0.2359, 0.2312, 0.2245, 0.2209, 0.2194, 0.2197, 0.2199, 0.2214, 0.2231, 0.2324",\
                 "0.2393, 0.2345, 0.2279, 0.2241, 0.2231, 0.2228, 0.2232, 0.2248, 0.2261, 0.2363",\
                 "0.2484, 0.2437, 0.2371, 0.2329, 0.2315, 0.2316, 0.2323, 0.2335, 0.2352, 0.2463",\
                 "0.2638, 0.2588, 0.2525, 0.2479, 0.2461, 0.2462, 0.2462, 0.2477, 0.2492, 0.2658",\
                 "0.2855, 0.2807, 0.2736, 0.2692, 0.2675, 0.2671, 0.2672, 0.2687, 0.2706, 0.2915",\
                 "0.3146, 0.3095, 0.3022, 0.2968, 0.2953, 0.2957, 0.2954, 0.2962, 0.2996, 0.3301",\
                 "0.3484, 0.3431, 0.3351, 0.3296, 0.3266, 0.3258, 0.3286, 0.3287, 0.3329, 0.3806",\
                 "0.3852, 0.3796, 0.3712, 0.3658, 0.3624, 0.3609, 0.3623, 0.3658, 0.3752, 0.457");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2308, 0.2241, 0.2204, 0.2188, 0.2189, 0.2196, 0.2205, 0.2224, 0.2322",\
                 "0.2354, 0.2307, 0.2243, 0.2203, 0.2189, 0.2191, 0.2196, 0.2211, 0.2221, 0.2305",\
                 "0.2359, 0.2312, 0.2245, 0.2209, 0.2194, 0.2197, 0.2199, 0.2214, 0.2231, 0.2324",\
                 "0.2393, 0.2345, 0.2279, 0.2241, 0.2231, 0.2228, 0.2232, 0.2248, 0.2261, 0.2363",\
                 "0.2484, 0.2437, 0.2371, 0.2329, 0.2315, 0.2316, 0.2323, 0.2335, 0.2352, 0.2463",\
                 "0.2638, 0.2588, 0.2525, 0.2479, 0.2461, 0.2462, 0.2462, 0.2477, 0.2492, 0.2658",\
                 "0.2855, 0.2807, 0.2736, 0.2692, 0.2675, 0.2671, 0.2672, 0.2687, 0.2706, 0.2915",\
                 "0.3146, 0.3095, 0.3022, 0.2968, 0.2953, 0.2957, 0.2954, 0.2962, 0.2996, 0.3301",\
                 "0.3484, 0.3431, 0.3351, 0.3296, 0.3266, 0.3258, 0.3286, 0.3287, 0.3329, 0.3806",\
                 "0.3852, 0.3796, 0.3712, 0.3658, 0.3624, 0.3609, 0.3623, 0.3658, 0.3752, 0.457");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2307, 0.2247, 0.2203, 0.2188, 0.2191, 0.2196, 0.221, 0.2217, 0.2303",\
                 "0.2354, 0.2306, 0.224, 0.2202, 0.2188, 0.219, 0.2195, 0.2207, 0.2227, 0.2305",\
                 "0.2359, 0.2312, 0.225, 0.2209, 0.2194, 0.2196, 0.2199, 0.2208, 0.2228, 0.2311",\
                 "0.2392, 0.2346, 0.2282, 0.2241, 0.2224, 0.2231, 0.224, 0.2241, 0.226, 0.2363",\
                 "0.2483, 0.2436, 0.2371, 0.2329, 0.2314, 0.2316, 0.2326, 0.2333, 0.2363, 0.2475",\
                 "0.2639, 0.2589, 0.2524, 0.2481, 0.2461, 0.2463, 0.2473, 0.2477, 0.2505, 0.2661",\
                 "0.2857, 0.2807, 0.2737, 0.2692, 0.2675, 0.2671, 0.268, 0.2682, 0.2707, 0.2918",\
                 "0.3148, 0.3097, 0.3019, 0.2972, 0.2951, 0.2956, 0.2957, 0.2956, 0.2993, 0.3298",\
                 "0.3485, 0.3431, 0.3354, 0.3302, 0.3266, 0.326, 0.3281, 0.3289, 0.3331, 0.3821",\
                 "0.3854, 0.3796, 0.3713, 0.366, 0.3621, 0.3608, 0.3608, 0.3659, 0.3749, 0.4574");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2354, 0.2307, 0.2247, 0.2203, 0.2188, 0.2191, 0.2196, 0.221, 0.2217, 0.2303",\
                 "0.2354, 0.2306, 0.224, 0.2202, 0.2188, 0.219, 0.2195, 0.2207, 0.2227, 0.2305",\
                 "0.2359, 0.2312, 0.225, 0.2209, 0.2194, 0.2196, 0.2199, 0.2208, 0.2228, 0.2311",\
                 "0.2392, 0.2346, 0.2282, 0.2241, 0.2224, 0.2231, 0.224, 0.2241, 0.226, 0.2363",\
                 "0.2483, 0.2436, 0.2371, 0.2329, 0.2314, 0.2316, 0.2326, 0.2333, 0.2363, 0.2475",\
                 "0.2639, 0.2589, 0.2524, 0.2481, 0.2461, 0.2463, 0.2473, 0.2477, 0.2505, 0.2661",\
                 "0.2857, 0.2807, 0.2737, 0.2692, 0.2675, 0.2671, 0.268, 0.2682, 0.2707, 0.2918",\
                 "0.3148, 0.3097, 0.3019, 0.2972, 0.2951, 0.2956, 0.2957, 0.2956, 0.2993, 0.3298",\
                 "0.3485, 0.3431, 0.3354, 0.3302, 0.3266, 0.326, 0.3281, 0.3289, 0.3331, 0.3821",\
                 "0.3854, 0.3796, 0.3713, 0.366, 0.3621, 0.3608, 0.3608, 0.3659, 0.3749, 0.4574");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3233, 0.3188, 0.3124, 0.3082, 0.3066, 0.307, 0.3074, 0.3083, 0.3102, 0.3187",\
                 "0.3229, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3077, 0.3081, 0.309, 0.311, 0.3196",\
                 "0.3311, 0.3265, 0.32, 0.316, 0.3145, 0.3145, 0.315, 0.3166, 0.3183, 0.3276",\
                 "0.3492, 0.3447, 0.3382, 0.334, 0.3328, 0.3327, 0.3332, 0.3341, 0.3361, 0.3486",\
                 "0.3792, 0.3744, 0.3678, 0.3634, 0.3616, 0.3618, 0.3625, 0.3634, 0.3652, 0.382",\
                 "0.4216, 0.4168, 0.41, 0.4057, 0.4038, 0.4032, 0.4035, 0.4049, 0.4072, 0.4286",\
                 "0.4768, 0.4719, 0.4647, 0.4595, 0.458, 0.458, 0.4579, 0.4588, 0.4632, 0.4942",\
                 "0.5403, 0.535, 0.5275, 0.5222, 0.5198, 0.5194, 0.5219, 0.5217, 0.5256, 0.5774",\
                 "0.609, 0.6039, 0.596, 0.5907, 0.5876, 0.5861, 0.5869, 0.5901, 0.6002, 0.6875");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3233, 0.3188, 0.3124, 0.3082, 0.3066, 0.307, 0.3074, 0.3083, 0.3102, 0.3187",\
                 "0.3229, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3077, 0.3081, 0.309, 0.311, 0.3196",\
                 "0.3311, 0.3265, 0.32, 0.316, 0.3145, 0.3145, 0.315, 0.3166, 0.3183, 0.3276",\
                 "0.3492, 0.3447, 0.3382, 0.334, 0.3328, 0.3327, 0.3332, 0.3341, 0.3361, 0.3486",\
                 "0.3792, 0.3744, 0.3678, 0.3634, 0.3616, 0.3618, 0.3625, 0.3634, 0.3652, 0.382",\
                 "0.4216, 0.4168, 0.41, 0.4057, 0.4038, 0.4032, 0.4035, 0.4049, 0.4072, 0.4286",\
                 "0.4768, 0.4719, 0.4647, 0.4595, 0.458, 0.458, 0.4579, 0.4588, 0.4632, 0.4942",\
                 "0.5403, 0.535, 0.5275, 0.5222, 0.5198, 0.5194, 0.5219, 0.5217, 0.5256, 0.5774",\
                 "0.609, 0.6039, 0.596, 0.5907, 0.5876, 0.5861, 0.5869, 0.5901, 0.6002, 0.6875");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3233, 0.3188, 0.3124, 0.3082, 0.3066, 0.307, 0.3074, 0.3083, 0.3102, 0.3183",\
                 "0.3229, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3068, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3077, 0.3081, 0.309, 0.311, 0.3196",\
                 "0.3312, 0.3265, 0.32, 0.316, 0.3144, 0.3147, 0.315, 0.3166, 0.3179, 0.328",\
                 "0.3494, 0.3446, 0.3381, 0.3342, 0.3323, 0.3324, 0.3329, 0.3341, 0.3361, 0.3489",\
                 "0.3792, 0.3744, 0.3678, 0.3634, 0.3619, 0.3618, 0.3622, 0.3637, 0.3648, 0.3817",\
                 "0.4216, 0.4168, 0.41, 0.4058, 0.4038, 0.4033, 0.4035, 0.4046, 0.4072, 0.4304",\
                 "0.4767, 0.4719, 0.4648, 0.4595, 0.458, 0.4582, 0.4579, 0.4584, 0.4622, 0.495",\
                 "0.5403, 0.535, 0.5275, 0.5222, 0.5197, 0.5193, 0.5219, 0.5217, 0.5256, 0.5774",\
                 "0.609, 0.6038, 0.596, 0.5907, 0.5876, 0.5861, 0.5869, 0.5901, 0.6002, 0.6875");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3233, 0.3188, 0.3124, 0.3082, 0.3066, 0.307, 0.3074, 0.3083, 0.3102, 0.3183",\
                 "0.3229, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3068, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3077, 0.3081, 0.309, 0.311, 0.3196",\
                 "0.3312, 0.3265, 0.32, 0.316, 0.3144, 0.3147, 0.315, 0.3166, 0.3179, 0.328",\
                 "0.3494, 0.3446, 0.3381, 0.3342, 0.3323, 0.3324, 0.3329, 0.3341, 0.3361, 0.3489",\
                 "0.3792, 0.3744, 0.3678, 0.3634, 0.3619, 0.3618, 0.3622, 0.3637, 0.3648, 0.3817",\
                 "0.4216, 0.4168, 0.41, 0.4058, 0.4038, 0.4033, 0.4035, 0.4046, 0.4072, 0.4304",\
                 "0.4767, 0.4719, 0.4648, 0.4595, 0.458, 0.4582, 0.4579, 0.4584, 0.4622, 0.495",\
                 "0.5403, 0.535, 0.5275, 0.5222, 0.5197, 0.5193, 0.5219, 0.5217, 0.5256, 0.5774",\
                 "0.609, 0.6038, 0.596, 0.5907, 0.5876, 0.5861, 0.5869, 0.5901, 0.6002, 0.6875");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3233, 0.3188, 0.3124, 0.3082, 0.3066, 0.307, 0.3074, 0.3083, 0.3102, 0.3183",\
                 "0.3229, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3077, 0.3081, 0.309, 0.311, 0.3196",\
                 "0.3312, 0.3265, 0.32, 0.3158, 0.3144, 0.3148, 0.315, 0.3166, 0.3183, 0.3283",\
                 "0.3493, 0.3447, 0.3381, 0.334, 0.3325, 0.3327, 0.3332, 0.3341, 0.3358, 0.3482",\
                 "0.3792, 0.3744, 0.3678, 0.3635, 0.3615, 0.3619, 0.3622, 0.364, 0.3655, 0.3817",\
                 "0.4216, 0.4167, 0.41, 0.4057, 0.4038, 0.4033, 0.4035, 0.4049, 0.4072, 0.4286",\
                 "0.4767, 0.4719, 0.4647, 0.4595, 0.458, 0.4583, 0.4579, 0.4584, 0.4622, 0.494",\
                 "0.5402, 0.535, 0.5275, 0.5222, 0.5198, 0.5194, 0.5216, 0.5224, 0.5266, 0.5763",\
                 "0.6089, 0.6039, 0.596, 0.5904, 0.5877, 0.5869, 0.5879, 0.5902, 0.6006, 0.6867");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3233, 0.3188, 0.3124, 0.3082, 0.3066, 0.307, 0.3074, 0.3083, 0.3102, 0.3183",\
                 "0.3229, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3077, 0.3081, 0.309, 0.311, 0.3196",\
                 "0.3312, 0.3265, 0.32, 0.3158, 0.3144, 0.3148, 0.315, 0.3166, 0.3183, 0.3283",\
                 "0.3493, 0.3447, 0.3381, 0.334, 0.3325, 0.3327, 0.3332, 0.3341, 0.3358, 0.3482",\
                 "0.3792, 0.3744, 0.3678, 0.3635, 0.3615, 0.3619, 0.3622, 0.364, 0.3655, 0.3817",\
                 "0.4216, 0.4167, 0.41, 0.4057, 0.4038, 0.4033, 0.4035, 0.4049, 0.4072, 0.4286",\
                 "0.4767, 0.4719, 0.4647, 0.4595, 0.458, 0.4583, 0.4579, 0.4584, 0.4622, 0.494",\
                 "0.5402, 0.535, 0.5275, 0.5222, 0.5198, 0.5194, 0.5216, 0.5224, 0.5266, 0.5763",\
                 "0.6089, 0.6039, 0.596, 0.5904, 0.5877, 0.5869, 0.5879, 0.5902, 0.6006, 0.6867");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3235, 0.3188, 0.3123, 0.3083, 0.3068, 0.3069, 0.3077, 0.3086, 0.3102, 0.3201",\
                 "0.323, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3074, 0.3081, 0.3093, 0.3113, 0.3203",\
                 "0.3311, 0.3264, 0.32, 0.316, 0.3143, 0.3147, 0.315, 0.3166, 0.3179, 0.3286",\
                 "0.3493, 0.3447, 0.3383, 0.334, 0.3323, 0.3324, 0.3332, 0.3344, 0.3361, 0.3486",\
                 "0.3792, 0.3744, 0.3678, 0.3635, 0.3616, 0.3618, 0.3622, 0.3637, 0.3655, 0.381",\
                 "0.4216, 0.4169, 0.4099, 0.4055, 0.4038, 0.4034, 0.4038, 0.4046, 0.4085, 0.4283",\
                 "0.4767, 0.4718, 0.4646, 0.4592, 0.4578, 0.4582, 0.4579, 0.4584, 0.4622, 0.4944",\
                 "0.5402, 0.5351, 0.5278, 0.5222, 0.5195, 0.5189, 0.5213, 0.5214, 0.5263, 0.5774",\
                 "0.6089, 0.6035, 0.5962, 0.5909, 0.5873, 0.5864, 0.5876, 0.5902, 0.6009, 0.6867");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3235, 0.3188, 0.3123, 0.3083, 0.3068, 0.3069, 0.3077, 0.3086, 0.3102, 0.3201",\
                 "0.323, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3074, 0.3081, 0.3093, 0.3113, 0.3203",\
                 "0.3311, 0.3264, 0.32, 0.316, 0.3143, 0.3147, 0.315, 0.3166, 0.3179, 0.3286",\
                 "0.3493, 0.3447, 0.3383, 0.334, 0.3323, 0.3324, 0.3332, 0.3344, 0.3361, 0.3486",\
                 "0.3792, 0.3744, 0.3678, 0.3635, 0.3616, 0.3618, 0.3622, 0.3637, 0.3655, 0.381",\
                 "0.4216, 0.4169, 0.4099, 0.4055, 0.4038, 0.4034, 0.4038, 0.4046, 0.4085, 0.4283",\
                 "0.4767, 0.4718, 0.4646, 0.4592, 0.4578, 0.4582, 0.4579, 0.4584, 0.4622, 0.4944",\
                 "0.5402, 0.5351, 0.5278, 0.5222, 0.5195, 0.5189, 0.5213, 0.5214, 0.5263, 0.5774",\
                 "0.6089, 0.6035, 0.5962, 0.5909, 0.5873, 0.5864, 0.5876, 0.5902, 0.6009, 0.6867");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3235, 0.3188, 0.3123, 0.3083, 0.3068, 0.3069, 0.308, 0.3086, 0.3102, 0.3201",\
                 "0.323, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3074, 0.3081, 0.3093, 0.3113, 0.3203",\
                 "0.3311, 0.3265, 0.3201, 0.316, 0.3144, 0.3147, 0.315, 0.3166, 0.3179, 0.3286",\
                 "0.3494, 0.3446, 0.3381, 0.334, 0.3328, 0.3326, 0.3332, 0.3341, 0.3365, 0.3479",\
                 "0.3793, 0.3743, 0.3678, 0.3636, 0.3616, 0.362, 0.3622, 0.363, 0.3658, 0.381",\
                 "0.4214, 0.4166, 0.4096, 0.4055, 0.4037, 0.4031, 0.4035, 0.4046, 0.4085, 0.4283",\
                 "0.4767, 0.4718, 0.4647, 0.4597, 0.4579, 0.458, 0.4579, 0.4584, 0.4622, 0.4945",\
                 "0.5401, 0.5349, 0.5273, 0.5226, 0.5194, 0.519, 0.5213, 0.5214, 0.5263, 0.577",\
                 "0.609, 0.6037, 0.596, 0.5909, 0.5875, 0.5863, 0.587, 0.5911, 0.6002, 0.6867");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3235, 0.3188, 0.3123, 0.3083, 0.3068, 0.3069, 0.308, 0.3086, 0.3102, 0.3201",\
                 "0.323, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3074, 0.3081, 0.3093, 0.3113, 0.3203",\
                 "0.3311, 0.3265, 0.3201, 0.316, 0.3144, 0.3147, 0.315, 0.3166, 0.3179, 0.3286",\
                 "0.3494, 0.3446, 0.3381, 0.334, 0.3328, 0.3326, 0.3332, 0.3341, 0.3365, 0.3479",\
                 "0.3793, 0.3743, 0.3678, 0.3636, 0.3616, 0.362, 0.3622, 0.363, 0.3658, 0.381",\
                 "0.4214, 0.4166, 0.4096, 0.4055, 0.4037, 0.4031, 0.4035, 0.4046, 0.4085, 0.4283",\
                 "0.4767, 0.4718, 0.4647, 0.4597, 0.4579, 0.458, 0.4579, 0.4584, 0.4622, 0.4945",\
                 "0.5401, 0.5349, 0.5273, 0.5226, 0.5194, 0.519, 0.5213, 0.5214, 0.5263, 0.577",\
                 "0.609, 0.6037, 0.596, 0.5909, 0.5875, 0.5863, 0.587, 0.5911, 0.6002, 0.6867");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3235, 0.3188, 0.3123, 0.3083, 0.3068, 0.3069, 0.308, 0.3086, 0.3102, 0.3201",\
                 "0.323, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3074, 0.3081, 0.3093, 0.3113, 0.3203",\
                 "0.3311, 0.3265, 0.3201, 0.316, 0.3143, 0.3147, 0.315, 0.3166, 0.3179, 0.3286",\
                 "0.3494, 0.3446, 0.3381, 0.334, 0.3328, 0.3327, 0.3329, 0.3341, 0.3358, 0.3482",\
                 "0.3792, 0.3744, 0.3678, 0.3636, 0.3616, 0.3618, 0.3625, 0.3637, 0.3665, 0.3805",\
                 "0.4216, 0.4169, 0.4099, 0.4055, 0.4037, 0.4031, 0.4035, 0.4046, 0.4085, 0.4283",\
                 "0.4766, 0.4718, 0.4647, 0.4597, 0.4579, 0.458, 0.4579, 0.4591, 0.4629, 0.4958",\
                 "0.5401, 0.5351, 0.5276, 0.5222, 0.5197, 0.5191, 0.5213, 0.5214, 0.5263, 0.5771",\
                 "0.6089, 0.6037, 0.596, 0.5907, 0.5875, 0.5864, 0.5876, 0.5912, 0.6002, 0.6867");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3235, 0.3188, 0.3123, 0.3083, 0.3068, 0.3069, 0.308, 0.3086, 0.3102, 0.3201",\
                 "0.323, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3074, 0.3081, 0.3093, 0.3113, 0.3203",\
                 "0.3311, 0.3265, 0.3201, 0.316, 0.3143, 0.3147, 0.315, 0.3166, 0.3179, 0.3286",\
                 "0.3494, 0.3446, 0.3381, 0.334, 0.3328, 0.3327, 0.3329, 0.3341, 0.3358, 0.3482",\
                 "0.3792, 0.3744, 0.3678, 0.3636, 0.3616, 0.3618, 0.3625, 0.3637, 0.3665, 0.3805",\
                 "0.4216, 0.4169, 0.4099, 0.4055, 0.4037, 0.4031, 0.4035, 0.4046, 0.4085, 0.4283",\
                 "0.4766, 0.4718, 0.4647, 0.4597, 0.4579, 0.458, 0.4579, 0.4591, 0.4629, 0.4958",\
                 "0.5401, 0.5351, 0.5276, 0.5222, 0.5197, 0.5191, 0.5213, 0.5214, 0.5263, 0.5771",\
                 "0.6089, 0.6037, 0.596, 0.5907, 0.5875, 0.5864, 0.5876, 0.5912, 0.6002, 0.6867");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3233, 0.3188, 0.3124, 0.3082, 0.3066, 0.307, 0.3074, 0.3083, 0.3102, 0.3183",\
                 "0.3229, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3077, 0.3081, 0.309, 0.311, 0.3196",\
                 "0.3312, 0.3265, 0.32, 0.316, 0.3144, 0.3148, 0.315, 0.3166, 0.3183, 0.3283",\
                 "0.3494, 0.3447, 0.3381, 0.334, 0.3324, 0.3327, 0.3332, 0.3341, 0.3358, 0.3482",\
                 "0.3792, 0.3744, 0.3678, 0.3635, 0.3617, 0.3619, 0.3622, 0.3634, 0.3665, 0.3817",\
                 "0.4216, 0.4168, 0.41, 0.4057, 0.4038, 0.4033, 0.4035, 0.4049, 0.4072, 0.4286",\
                 "0.4767, 0.4716, 0.4645, 0.4595, 0.458, 0.4583, 0.4579, 0.4584, 0.4622, 0.4947",\
                 "0.5401, 0.535, 0.5275, 0.5223, 0.5192, 0.5194, 0.5213, 0.5214, 0.526, 0.5774",\
                 "0.609, 0.6038, 0.596, 0.5904, 0.5876, 0.5863, 0.587, 0.5902, 0.6009, 0.6867");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3233, 0.3188, 0.3124, 0.3082, 0.3066, 0.307, 0.3074, 0.3083, 0.3102, 0.3183",\
                 "0.3229, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.3239, 0.3193, 0.3129, 0.3088, 0.3072, 0.3077, 0.3081, 0.309, 0.311, 0.3196",\
                 "0.3312, 0.3265, 0.32, 0.316, 0.3144, 0.3148, 0.315, 0.3166, 0.3183, 0.3283",\
                 "0.3494, 0.3447, 0.3381, 0.334, 0.3324, 0.3327, 0.3332, 0.3341, 0.3358, 0.3482",\
                 "0.3792, 0.3744, 0.3678, 0.3635, 0.3617, 0.3619, 0.3622, 0.3634, 0.3665, 0.3817",\
                 "0.4216, 0.4168, 0.41, 0.4057, 0.4038, 0.4033, 0.4035, 0.4049, 0.4072, 0.4286",\
                 "0.4767, 0.4716, 0.4645, 0.4595, 0.458, 0.4583, 0.4579, 0.4584, 0.4622, 0.4947",\
                 "0.5401, 0.535, 0.5275, 0.5223, 0.5192, 0.5194, 0.5213, 0.5214, 0.526, 0.5774",\
                 "0.609, 0.6038, 0.596, 0.5904, 0.5876, 0.5863, 0.587, 0.5902, 0.6009, 0.6867");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3235, 0.3188, 0.3123, 0.3083, 0.3068, 0.3069, 0.3077, 0.3086, 0.3103, 0.3201",\
                 "0.323, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.324, 0.3194, 0.3129, 0.3088, 0.3072, 0.3074, 0.3081, 0.3094, 0.3113, 0.3203",\
                 "0.3311, 0.3264, 0.3201, 0.316, 0.3143, 0.3147, 0.315, 0.3166, 0.3179, 0.3286",\
                 "0.3494, 0.3447, 0.3383, 0.334, 0.3323, 0.3324, 0.3332, 0.3344, 0.3361, 0.3482",\
                 "0.3792, 0.3744, 0.3677, 0.3634, 0.3618, 0.3617, 0.3622, 0.3637, 0.3652, 0.3809",\
                 "0.4214, 0.4166, 0.4099, 0.4055, 0.4038, 0.4034, 0.4038, 0.405, 0.4085, 0.4283",\
                 "0.4767, 0.4718, 0.4646, 0.4597, 0.4579, 0.4584, 0.4586, 0.4584, 0.4622, 0.4944",\
                 "0.5402, 0.535, 0.5273, 0.5227, 0.5197, 0.5189, 0.5213, 0.5217, 0.5266, 0.5774",\
                 "0.609, 0.6037, 0.5958, 0.5905, 0.5871, 0.5863, 0.587, 0.5911, 0.6002, 0.6867");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.3235, 0.3188, 0.3123, 0.3083, 0.3068, 0.3069, 0.3077, 0.3086, 0.3103, 0.3201",\
                 "0.323, 0.3183, 0.3118, 0.3078, 0.3062, 0.3066, 0.3067, 0.308, 0.31, 0.3198",\
                 "0.324, 0.3194, 0.3129, 0.3088, 0.3072, 0.3074, 0.3081, 0.3094, 0.3113, 0.3203",\
                 "0.3311, 0.3264, 0.3201, 0.316, 0.3143, 0.3147, 0.315, 0.3166, 0.3179, 0.3286",\
                 "0.3494, 0.3447, 0.3383, 0.334, 0.3323, 0.3324, 0.3332, 0.3344, 0.3361, 0.3482",\
                 "0.3792, 0.3744, 0.3677, 0.3634, 0.3618, 0.3617, 0.3622, 0.3637, 0.3652, 0.3809",\
                 "0.4214, 0.4166, 0.4099, 0.4055, 0.4038, 0.4034, 0.4038, 0.405, 0.4085, 0.4283",\
                 "0.4767, 0.4718, 0.4646, 0.4597, 0.4579, 0.4584, 0.4586, 0.4584, 0.4622, 0.4944",\
                 "0.5402, 0.535, 0.5273, 0.5227, 0.5197, 0.5189, 0.5213, 0.5217, 0.5266, 0.5774",\
                 "0.609, 0.6037, 0.5958, 0.5905, 0.5871, 0.5863, 0.587, 0.5911, 0.6002, 0.6867");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.115, 1.215, 1.36, 1.56, 1.83, 2.185, 2.631, 3.176, 3.825",\
                 "1.089, 1.129, 1.229, 1.374, 1.574, 1.844, 2.198, 2.645, 3.189, 3.839",\
                 "1.14, 1.18, 1.28, 1.425, 1.625, 1.895, 2.249, 2.695, 3.24, 3.89",\
                 "1.221, 1.261, 1.361, 1.506, 1.706, 1.976, 2.331, 2.777, 3.321, 3.971",\
                 "1.292, 1.332, 1.432, 1.577, 1.776, 2.047, 2.401, 2.847, 3.392, 4.041",\
                 "1.347, 1.387, 1.487, 1.632, 1.832, 2.102, 2.456, 2.903, 3.447, 4.097",\
                 "1.385, 1.425, 1.525, 1.67, 1.869, 2.14, 2.494, 2.94, 3.485, 4.134",\
                 "1.401, 1.441, 1.542, 1.687, 1.886, 2.157, 2.511, 2.957, 3.502, 4.151",\
                 "1.394, 1.433, 1.534, 1.679, 1.879, 2.149, 2.503, 2.949, 3.494, 4.143",\
                 "1.358, 1.398, 1.499, 1.644, 1.843, 2.113, 2.468, 2.914, 3.459, 4.108");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.164, 1.216, 1.364, 1.604, 1.956, 2.446, 3.089, 3.899, 4.891, 6.072",\
                 "1.178, 1.23, 1.378, 1.618, 1.97, 2.459, 3.103, 3.914, 4.903, 6.082",\
                 "1.228, 1.281, 1.428, 1.668, 2.02, 2.51, 3.153, 3.964, 4.955, 6.135",\
                 "1.308, 1.36, 1.507, 1.747, 2.1, 2.589, 3.232, 4.044, 5.032, 6.214",\
                 "1.377, 1.429, 1.576, 1.816, 2.169, 2.658, 3.301, 4.113, 5.102, 6.285",\
                 "1.43, 1.483, 1.63, 1.87, 2.223, 2.712, 3.356, 4.167, 5.156, 6.338",\
                 "1.468, 1.52, 1.668, 1.908, 2.26, 2.75, 3.393, 4.204, 5.194, 6.376",\
                 "1.485, 1.537, 1.685, 1.925, 2.277, 2.766, 3.41, 4.22, 5.21, 6.391",\
                 "1.479, 1.531, 1.678, 1.918, 2.271, 2.76, 3.404, 4.214, 5.203, 6.382",\
                 "1.446, 1.499, 1.646, 1.886, 2.239, 2.728, 3.372, 4.182, 5.171, 6.351");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1076, 0.1442, 0.2482, 0.429, 0.7276, 1.168, 1.761, 2.508, 3.427, 4.515",\
                 "0.1078, 0.1446, 0.2478, 0.4294, 0.7268, 1.169, 1.761, 2.509, 3.427, 4.515",\
                 "0.1084, 0.1442, 0.2478, 0.4294, 0.7276, 1.169, 1.761, 2.509, 3.427, 4.515",\
                 "0.1076, 0.1444, 0.2476, 0.4294, 0.7276, 1.169, 1.76, 2.51, 3.423, 4.519",\
                 "0.1078, 0.1444, 0.2474, 0.4298, 0.7278, 1.168, 1.76, 2.508, 3.423, 4.519",\
                 "0.108, 0.1442, 0.2474, 0.429, 0.7264, 1.169, 1.761, 2.51, 3.422, 4.518",\
                 "0.1078, 0.1444, 0.2478, 0.4298, 0.7274, 1.168, 1.759, 2.508, 3.426, 4.519",\
                 "0.1078, 0.144, 0.248, 0.4294, 0.728, 1.169, 1.761, 2.507, 3.419, 4.513",\
                 "0.1076, 0.1442, 0.2478, 0.4296, 0.7268, 1.169, 1.76, 2.506, 3.42, 4.51",\
                 "0.1076, 0.1442, 0.2478, 0.4292, 0.7278, 1.168, 1.759, 2.511, 3.421, 4.51");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1422, 0.2042, 0.4026, 0.7696, 1.362, 2.217, 3.35, 4.787, 6.525, 8.609",\
                 "0.142, 0.2034, 0.4034, 0.769, 1.361, 2.219, 3.354, 4.78, 6.525, 8.602",\
                 "0.142, 0.2036, 0.4028, 0.7694, 1.361, 2.218, 3.351, 4.782, 6.523, 8.609",\
                 "0.1414, 0.2034, 0.4026, 0.7686, 1.362, 2.218, 3.354, 4.778, 6.524, 8.61",\
                 "0.1412, 0.2034, 0.4026, 0.7686, 1.363, 2.219, 3.355, 4.78, 6.521, 8.607",\
                 "0.1418, 0.203, 0.4028, 0.7696, 1.361, 2.218, 3.353, 4.779, 6.525, 8.609",\
                 "0.1424, 0.2028, 0.4024, 0.7694, 1.361, 2.218, 3.352, 4.777, 6.529, 8.605",\
                 "0.1418, 0.2032, 0.4028, 0.7698, 1.362, 2.217, 3.348, 4.776, 6.52, 8.61",\
                 "0.1412, 0.2032, 0.4028, 0.7688, 1.363, 2.217, 3.347, 4.776, 6.528, 8.601",\
                 "0.1416, 0.2034, 0.4024, 0.7696, 1.362, 2.218, 3.35, 4.783, 6.519, 8.602");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.115, 1.215, 1.36, 1.56, 1.83, 2.185, 2.631, 3.176, 3.825",\
                 "1.089, 1.129, 1.229, 1.374, 1.574, 1.844, 2.198, 2.644, 3.189, 3.839",\
                 "1.14, 1.18, 1.28, 1.425, 1.625, 1.895, 2.249, 2.695, 3.24, 3.89",\
                 "1.221, 1.261, 1.361, 1.506, 1.706, 1.976, 2.331, 2.777, 3.321, 3.971",\
                 "1.292, 1.332, 1.432, 1.577, 1.776, 2.047, 2.401, 2.847, 3.392, 4.041",\
                 "1.347, 1.387, 1.487, 1.632, 1.832, 2.102, 2.456, 2.902, 3.447, 4.097",\
                 "1.385, 1.425, 1.525, 1.67, 1.869, 2.14, 2.494, 2.94, 3.485, 4.135",\
                 "1.401, 1.441, 1.542, 1.687, 1.886, 2.157, 2.511, 2.957, 3.502, 4.151",\
                 "1.394, 1.433, 1.533, 1.679, 1.879, 2.149, 2.503, 2.949, 3.494, 4.143",\
                 "1.359, 1.398, 1.498, 1.643, 1.843, 2.113, 2.468, 2.914, 3.459, 4.108");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.164, 1.216, 1.364, 1.604, 1.956, 2.446, 3.089, 3.9, 4.891, 6.073",\
                 "1.178, 1.23, 1.378, 1.618, 1.97, 2.46, 3.103, 3.913, 4.905, 6.084",\
                 "1.228, 1.281, 1.428, 1.668, 2.02, 2.51, 3.153, 3.963, 4.955, 6.137",\
                 "1.308, 1.36, 1.507, 1.747, 2.1, 2.589, 3.233, 4.044, 5.034, 6.214",\
                 "1.377, 1.429, 1.576, 1.816, 2.169, 2.658, 3.302, 4.113, 5.102, 6.281",\
                 "1.43, 1.483, 1.63, 1.87, 2.223, 2.712, 3.355, 4.166, 5.157, 6.338",\
                 "1.468, 1.52, 1.668, 1.908, 2.26, 2.749, 3.393, 4.203, 5.194, 6.376",\
                 "1.485, 1.537, 1.684, 1.925, 2.277, 2.766, 3.41, 4.22, 5.209, 6.39",\
                 "1.479, 1.531, 1.678, 1.918, 2.271, 2.76, 3.403, 4.214, 5.203, 6.382",\
                 "1.447, 1.499, 1.647, 1.887, 2.239, 2.729, 3.372, 4.183, 5.172, 6.352");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1076, 0.1442, 0.248, 0.4296, 0.7278, 1.169, 1.76, 2.509, 3.426, 4.516",\
                 "0.1082, 0.144, 0.2478, 0.4294, 0.7268, 1.169, 1.761, 2.508, 3.427, 4.515",\
                 "0.1078, 0.1442, 0.2478, 0.4294, 0.7276, 1.169, 1.761, 2.509, 3.427, 4.515",\
                 "0.1078, 0.1444, 0.2478, 0.429, 0.7278, 1.169, 1.76, 2.511, 3.423, 4.519",\
                 "0.1078, 0.1444, 0.2474, 0.4298, 0.7278, 1.168, 1.76, 2.51, 3.423, 4.519",\
                 "0.1076, 0.144, 0.2478, 0.4288, 0.7264, 1.169, 1.761, 2.511, 3.425, 4.519",\
                 "0.1078, 0.144, 0.2478, 0.429, 0.727, 1.168, 1.759, 2.509, 3.424, 4.515",\
                 "0.1076, 0.1442, 0.2482, 0.4296, 0.7268, 1.168, 1.762, 2.507, 3.42, 4.513",\
                 "0.1076, 0.1442, 0.2478, 0.429, 0.727, 1.169, 1.758, 2.507, 3.421, 4.509",\
                 "0.1074, 0.1438, 0.2476, 0.4296, 0.7278, 1.168, 1.759, 2.511, 3.421, 4.51");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.142, 0.204, 0.403, 0.7694, 1.363, 2.219, 3.354, 4.779, 6.526, 8.604",\
                 "0.142, 0.2042, 0.4028, 0.7696, 1.361, 2.217, 3.35, 4.787, 6.526, 8.612",\
                 "0.1418, 0.2032, 0.4026, 0.7696, 1.364, 2.217, 3.349, 4.787, 6.526, 8.609",\
                 "0.1422, 0.2034, 0.4026, 0.7686, 1.362, 2.218, 3.354, 4.779, 6.525, 8.616",\
                 "0.1412, 0.2038, 0.4032, 0.7694, 1.363, 2.219, 3.349, 4.779, 6.523, 8.602",\
                 "0.1418, 0.203, 0.4026, 0.7696, 1.362, 2.218, 3.355, 4.781, 6.522, 8.609",\
                 "0.1416, 0.2038, 0.403, 0.7688, 1.361, 2.218, 3.353, 4.788, 6.526, 8.609",\
                 "0.1418, 0.2034, 0.403, 0.7694, 1.362, 2.217, 3.347, 4.786, 6.523, 8.606",\
                 "0.1426, 0.2032, 0.403, 0.7696, 1.361, 2.216, 3.352, 4.776, 6.53, 8.603",\
                 "0.1412, 0.203, 0.4028, 0.7698, 1.361, 2.219, 3.353, 4.779, 6.52, 8.6");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.115, 1.215, 1.36, 1.56, 1.83, 2.185, 2.631, 3.176, 3.825",\
                 "1.089, 1.129, 1.229, 1.374, 1.574, 1.844, 2.198, 2.645, 3.189, 3.839",\
                 "1.14, 1.18, 1.28, 1.425, 1.625, 1.895, 2.249, 2.696, 3.241, 3.89",\
                 "1.221, 1.261, 1.361, 1.507, 1.706, 1.976, 2.331, 2.777, 3.321, 3.971",\
                 "1.292, 1.332, 1.432, 1.577, 1.776, 2.047, 2.401, 2.847, 3.392, 4.041",\
                 "1.347, 1.387, 1.487, 1.632, 1.832, 2.102, 2.456, 2.902, 3.447, 4.096",\
                 "1.385, 1.425, 1.525, 1.67, 1.869, 2.14, 2.494, 2.94, 3.485, 4.135",\
                 "1.401, 1.441, 1.542, 1.687, 1.886, 2.157, 2.511, 2.957, 3.502, 4.151",\
                 "1.393, 1.433, 1.534, 1.679, 1.878, 2.149, 2.503, 2.949, 3.494, 4.143",\
                 "1.359, 1.399, 1.499, 1.644, 1.843, 2.114, 2.468, 2.914, 3.459, 4.108");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.164, 1.216, 1.364, 1.604, 1.956, 2.445, 3.089, 3.9, 4.891, 6.071",\
                 "1.178, 1.23, 1.378, 1.618, 1.97, 2.459, 3.103, 3.914, 4.904, 6.085",\
                 "1.228, 1.28, 1.428, 1.668, 2.02, 2.51, 3.153, 3.963, 4.955, 6.137",\
                 "1.308, 1.36, 1.507, 1.747, 2.1, 2.589, 3.232, 4.044, 5.033, 6.214",\
                 "1.377, 1.429, 1.576, 1.816, 2.169, 2.658, 3.302, 4.113, 5.102, 6.281",\
                 "1.43, 1.483, 1.63, 1.87, 2.223, 2.712, 3.355, 4.166, 5.157, 6.338",\
                 "1.468, 1.52, 1.668, 1.908, 2.26, 2.749, 3.393, 4.203, 5.194, 6.376",\
                 "1.485, 1.538, 1.685, 1.925, 2.277, 2.767, 3.41, 4.22, 5.21, 6.393",\
                 "1.479, 1.531, 1.678, 1.919, 2.271, 2.76, 3.403, 4.214, 5.203, 6.382",\
                 "1.447, 1.499, 1.647, 1.887, 2.239, 2.728, 3.371, 4.182, 5.172, 6.351");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1078, 0.1444, 0.2478, 0.4296, 0.7272, 1.169, 1.761, 2.508, 3.427, 4.515",\
                 "0.1084, 0.1442, 0.248, 0.4292, 0.7268, 1.169, 1.761, 2.508, 3.427, 4.515",\
                 "0.1078, 0.1442, 0.2476, 0.429, 0.7266, 1.169, 1.761, 2.509, 3.427, 4.515",\
                 "0.1082, 0.1442, 0.2476, 0.4292, 0.7274, 1.169, 1.761, 2.51, 3.423, 4.519",\
                 "0.1078, 0.1442, 0.2476, 0.4294, 0.7278, 1.167, 1.761, 2.508, 3.423, 4.519",\
                 "0.108, 0.1444, 0.248, 0.4288, 0.7264, 1.169, 1.759, 2.51, 3.424, 4.52",\
                 "0.1078, 0.144, 0.2482, 0.4294, 0.7274, 1.167, 1.758, 2.508, 3.425, 4.515",\
                 "0.1076, 0.144, 0.248, 0.4294, 0.7274, 1.169, 1.761, 2.507, 3.419, 4.513",\
                 "0.1078, 0.1438, 0.2476, 0.4296, 0.7272, 1.169, 1.759, 2.507, 3.424, 4.509",\
                 "0.1078, 0.1438, 0.248, 0.4296, 0.7268, 1.168, 1.759, 2.509, 3.421, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.142, 0.204, 0.4028, 0.7694, 1.362, 2.219, 3.353, 4.78, 6.523, 8.608",\
                 "0.142, 0.2036, 0.4022, 0.7696, 1.361, 2.218, 3.351, 4.782, 6.523, 8.609",\
                 "0.142, 0.2042, 0.4022, 0.7696, 1.364, 2.217, 3.349, 4.787, 6.526, 8.609",\
                 "0.1416, 0.2034, 0.4026, 0.7692, 1.364, 2.218, 3.354, 4.778, 6.522, 8.615",\
                 "0.1412, 0.2038, 0.4032, 0.7694, 1.363, 2.219, 3.349, 4.779, 6.523, 8.602",\
                 "0.1418, 0.2038, 0.4024, 0.7696, 1.361, 2.217, 3.354, 4.778, 6.523, 8.609",\
                 "0.1416, 0.2038, 0.4028, 0.7688, 1.361, 2.218, 3.353, 4.788, 6.526, 8.609",\
                 "0.1406, 0.203, 0.4028, 0.7688, 1.362, 2.215, 3.347, 4.781, 6.523, 8.607",\
                 "0.1412, 0.2032, 0.4032, 0.769, 1.364, 2.216, 3.347, 4.778, 6.528, 8.599",\
                 "0.141, 0.203, 0.4022, 0.7686, 1.362, 2.219, 3.35, 4.775, 6.521, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.115, 1.215, 1.36, 1.56, 1.83, 2.185, 2.631, 3.176, 3.825",\
                 "1.089, 1.129, 1.229, 1.374, 1.574, 1.844, 2.198, 2.644, 3.189, 3.839",\
                 "1.14, 1.18, 1.28, 1.425, 1.625, 1.895, 2.249, 2.696, 3.24, 3.89",\
                 "1.221, 1.261, 1.361, 1.506, 1.706, 1.976, 2.331, 2.777, 3.321, 3.971",\
                 "1.292, 1.332, 1.432, 1.577, 1.776, 2.047, 2.401, 2.847, 3.392, 4.041",\
                 "1.347, 1.387, 1.487, 1.632, 1.832, 2.102, 2.456, 2.902, 3.447, 4.096",\
                 "1.385, 1.425, 1.525, 1.67, 1.869, 2.14, 2.494, 2.94, 3.485, 4.135",\
                 "1.402, 1.442, 1.542, 1.687, 1.886, 2.157, 2.511, 2.957, 3.502, 4.151",\
                 "1.394, 1.434, 1.534, 1.679, 1.878, 2.149, 2.503, 2.949, 3.494, 4.143",\
                 "1.359, 1.398, 1.498, 1.643, 1.843, 2.113, 2.468, 2.914, 3.458, 4.108");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.164, 1.216, 1.364, 1.604, 1.956, 2.446, 3.089, 3.9, 4.889, 6.07",\
                 "1.178, 1.23, 1.378, 1.618, 1.97, 2.46, 3.103, 3.913, 4.905, 6.086",\
                 "1.228, 1.281, 1.428, 1.668, 2.02, 2.51, 3.153, 3.964, 4.955, 6.135",\
                 "1.308, 1.36, 1.507, 1.747, 2.1, 2.59, 3.233, 4.044, 5.032, 6.214",\
                 "1.377, 1.429, 1.577, 1.816, 2.169, 2.658, 3.302, 4.113, 5.102, 6.283",\
                 "1.43, 1.483, 1.63, 1.87, 2.223, 2.712, 3.355, 4.166, 5.157, 6.335",\
                 "1.468, 1.52, 1.667, 1.907, 2.26, 2.749, 3.392, 4.204, 5.194, 6.376",\
                 "1.485, 1.537, 1.685, 1.925, 2.277, 2.766, 3.41, 4.22, 5.21, 6.393",\
                 "1.479, 1.531, 1.678, 1.918, 2.271, 2.76, 3.404, 4.214, 5.203, 6.382",\
                 "1.446, 1.499, 1.646, 1.886, 2.239, 2.728, 3.372, 4.182, 5.173, 6.351");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.108, 0.1442, 0.248, 0.4292, 0.727, 1.169, 1.761, 2.511, 3.427, 4.514",\
                 "0.1076, 0.1444, 0.2478, 0.4292, 0.7268, 1.169, 1.761, 2.509, 3.427, 4.515",\
                 "0.1076, 0.1444, 0.2474, 0.4296, 0.7268, 1.169, 1.761, 2.508, 3.427, 4.515",\
                 "0.108, 0.1442, 0.2476, 0.429, 0.7276, 1.169, 1.761, 2.509, 3.423, 4.519",\
                 "0.1076, 0.1442, 0.2476, 0.4294, 0.7278, 1.168, 1.761, 2.508, 3.423, 4.519",\
                 "0.1074, 0.144, 0.2484, 0.429, 0.7268, 1.169, 1.76, 2.51, 3.425, 4.52",\
                 "0.1076, 0.1438, 0.2476, 0.4292, 0.7274, 1.167, 1.758, 2.509, 3.426, 4.514",\
                 "0.108, 0.1436, 0.2476, 0.4298, 0.7266, 1.167, 1.76, 2.507, 3.419, 4.513",\
                 "0.1076, 0.1442, 0.2476, 0.429, 0.7274, 1.168, 1.758, 2.506, 3.424, 4.509",\
                 "0.1078, 0.1442, 0.248, 0.4294, 0.7276, 1.167, 1.759, 2.511, 3.423, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.142, 0.2034, 0.4034, 0.7696, 1.362, 2.219, 3.35, 4.78, 6.524, 8.612",\
                 "0.142, 0.204, 0.4022, 0.7696, 1.364, 2.217, 3.35, 4.787, 6.526, 8.609",\
                 "0.1422, 0.2036, 0.4034, 0.7696, 1.361, 2.218, 3.351, 4.782, 6.523, 8.609",\
                 "0.1418, 0.204, 0.4034, 0.769, 1.361, 2.217, 3.351, 4.78, 6.525, 8.609",\
                 "0.1416, 0.2034, 0.4024, 0.7684, 1.363, 2.219, 3.355, 4.78, 6.525, 8.61",\
                 "0.1418, 0.2036, 0.4028, 0.7692, 1.361, 2.215, 3.355, 4.779, 6.525, 8.606",\
                 "0.1416, 0.2036, 0.403, 0.7694, 1.361, 2.217, 3.351, 4.778, 6.525, 8.607",\
                 "0.1416, 0.2038, 0.4026, 0.7698, 1.362, 2.217, 3.347, 4.779, 6.523, 8.607",\
                 "0.1416, 0.2034, 0.403, 0.7696, 1.362, 2.216, 3.347, 4.775, 6.53, 8.599",\
                 "0.1416, 0.2032, 0.4032, 0.7694, 1.362, 2.219, 3.35, 4.783, 6.521, 8.601");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.115, 1.215, 1.36, 1.56, 1.83, 2.185, 2.631, 3.176, 3.825",\
                 "1.089, 1.129, 1.229, 1.374, 1.574, 1.844, 2.198, 2.645, 3.189, 3.839",\
                 "1.14, 1.18, 1.28, 1.425, 1.625, 1.895, 2.249, 2.695, 3.24, 3.89",\
                 "1.221, 1.261, 1.361, 1.506, 1.706, 1.976, 2.331, 2.777, 3.321, 3.971",\
                 "1.292, 1.332, 1.432, 1.577, 1.776, 2.047, 2.401, 2.847, 3.392, 4.041",\
                 "1.347, 1.387, 1.487, 1.632, 1.832, 2.102, 2.456, 2.903, 3.447, 4.097",\
                 "1.385, 1.425, 1.525, 1.67, 1.869, 2.14, 2.494, 2.94, 3.485, 4.134",\
                 "1.401, 1.441, 1.542, 1.687, 1.886, 2.157, 2.511, 2.957, 3.502, 4.151",\
                 "1.394, 1.433, 1.534, 1.679, 1.879, 2.149, 2.503, 2.949, 3.494, 4.143",\
                 "1.358, 1.398, 1.499, 1.644, 1.843, 2.113, 2.468, 2.914, 3.459, 4.108");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.164, 1.216, 1.364, 1.604, 1.956, 2.445, 3.089, 3.9, 4.891, 6.071",\
                 "1.178, 1.23, 1.378, 1.618, 1.97, 2.459, 3.103, 3.914, 4.904, 6.085",\
                 "1.228, 1.28, 1.428, 1.668, 2.02, 2.51, 3.153, 3.963, 4.955, 6.137",\
                 "1.308, 1.36, 1.507, 1.747, 2.1, 2.589, 3.232, 4.044, 5.033, 6.214",\
                 "1.377, 1.429, 1.576, 1.816, 2.169, 2.658, 3.302, 4.113, 5.102, 6.281",\
                 "1.43, 1.483, 1.63, 1.87, 2.223, 2.712, 3.355, 4.166, 5.157, 6.338",\
                 "1.468, 1.52, 1.668, 1.908, 2.26, 2.749, 3.393, 4.203, 5.194, 6.376",\
                 "1.485, 1.538, 1.685, 1.925, 2.277, 2.767, 3.41, 4.22, 5.21, 6.393",\
                 "1.479, 1.531, 1.678, 1.919, 2.271, 2.76, 3.403, 4.214, 5.203, 6.382",\
                 "1.447, 1.499, 1.647, 1.887, 2.239, 2.728, 3.371, 4.182, 5.172, 6.351");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.108, 0.1442, 0.248, 0.4292, 0.727, 1.169, 1.761, 2.511, 3.427, 4.514",\
                 "0.1076, 0.1444, 0.2478, 0.4292, 0.7268, 1.169, 1.761, 2.509, 3.427, 4.515",\
                 "0.1076, 0.1444, 0.2474, 0.4296, 0.7268, 1.169, 1.761, 2.508, 3.427, 4.515",\
                 "0.108, 0.1442, 0.2476, 0.429, 0.7276, 1.169, 1.761, 2.509, 3.423, 4.519",\
                 "0.1076, 0.1442, 0.2476, 0.4294, 0.7278, 1.168, 1.761, 2.508, 3.423, 4.519",\
                 "0.1074, 0.144, 0.2484, 0.429, 0.7268, 1.169, 1.76, 2.51, 3.425, 4.52",\
                 "0.1076, 0.1438, 0.2476, 0.4292, 0.7274, 1.167, 1.758, 2.509, 3.426, 4.514",\
                 "0.108, 0.1436, 0.2476, 0.4298, 0.7266, 1.167, 1.76, 2.507, 3.419, 4.513",\
                 "0.1076, 0.1442, 0.2476, 0.429, 0.7274, 1.168, 1.758, 2.506, 3.424, 4.509",\
                 "0.1078, 0.1442, 0.248, 0.4294, 0.7276, 1.167, 1.759, 2.511, 3.423, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.142, 0.204, 0.403, 0.7694, 1.363, 2.219, 3.354, 4.779, 6.526, 8.604",\
                 "0.142, 0.2042, 0.4028, 0.7696, 1.361, 2.217, 3.35, 4.787, 6.526, 8.612",\
                 "0.1418, 0.2032, 0.4026, 0.7696, 1.364, 2.217, 3.349, 4.787, 6.526, 8.609",\
                 "0.1422, 0.2034, 0.4026, 0.7686, 1.362, 2.218, 3.354, 4.779, 6.525, 8.616",\
                 "0.1412, 0.2038, 0.4032, 0.7694, 1.363, 2.219, 3.349, 4.779, 6.523, 8.602",\
                 "0.1418, 0.203, 0.4026, 0.7696, 1.362, 2.218, 3.355, 4.781, 6.522, 8.609",\
                 "0.1416, 0.2038, 0.403, 0.7688, 1.361, 2.218, 3.353, 4.788, 6.526, 8.609",\
                 "0.1418, 0.2034, 0.403, 0.7694, 1.362, 2.217, 3.347, 4.786, 6.523, 8.606",\
                 "0.1426, 0.2032, 0.403, 0.7696, 1.361, 2.216, 3.352, 4.776, 6.53, 8.603",\
                 "0.1412, 0.203, 0.4028, 0.7698, 1.361, 2.219, 3.353, 4.779, 6.52, 8.6");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3216, 0.4194, 0.5617, 0.7596, 1.03, 1.384, 1.831, 2.376, 3.025",\
                 "0.3004, 0.3392, 0.4371, 0.5794, 0.7773, 1.048, 1.402, 1.848, 2.393, 3.043",\
                 "0.3664, 0.4053, 0.503, 0.6452, 0.8432, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4858, 0.5261, 0.6254, 0.7681, 0.9661, 1.236, 1.591, 2.037, 2.581, 3.231",\
                 "0.6198, 0.6646, 0.7722, 0.921, 1.121, 1.391, 1.745, 2.191, 2.736, 3.385",\
                 "0.7623, 0.8124, 0.9297, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9124, 0.9674, 1.096, 1.264, 1.473, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.45, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.235, 1.3, 1.453, 1.646, 1.874, 2.158, 2.519, 2.967, 3.511, 4.159",\
                 "1.41, 1.479, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4558, 0.5075, 0.6537, 0.8915, 1.243, 1.733, 2.376, 3.187, 4.18, 5.358",\
                 "0.4665, 0.5182, 0.6645, 0.9023, 1.254, 1.743, 2.387, 3.198, 4.191, 5.368",\
                 "0.5025, 0.5542, 0.6999, 0.9377, 1.29, 1.779, 2.423, 3.234, 4.223, 5.407",\
                 "0.5793, 0.6307, 0.7763, 1.013, 1.364, 1.853, 2.497, 3.307, 4.3, 5.478",\
                 "0.673, 0.727, 0.876, 1.115, 1.465, 1.953, 2.596, 3.408, 4.399, 5.579",\
                 "0.7687, 0.8253, 0.9783, 1.219, 1.57, 2.057, 2.699, 3.51, 4.501, 5.678",\
                 "0.8653, 0.9248, 1.082, 1.327, 1.678, 2.164, 2.805, 3.614, 4.602, 5.782",\
                 "0.9572, 1.02, 1.185, 1.436, 1.789, 2.274, 2.914, 3.721, 4.709, 5.887",\
                 "1.041, 1.108, 1.279, 1.539, 1.897, 2.384, 3.023, 3.83, 4.818, 5.995",\
                 "1.116, 1.187, 1.367, 1.634, 2.001, 2.494, 3.135, 3.941, 4.928, 6.105");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09772, 0.1347, 0.2382, 0.4211, 0.7231, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.09766, 0.1347, 0.2387, 0.4217, 0.7226, 1.168, 1.76, 2.509, 3.428, 4.52",\
                 "0.09758, 0.1349, 0.2386, 0.4206, 0.7231, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.1098, 0.1454, 0.2451, 0.4242, 0.7244, 1.167, 1.761, 2.511, 3.426, 4.521",\
                 "0.1332, 0.1712, 0.2694, 0.4406, 0.7314, 1.169, 1.76, 2.508, 3.425, 4.516",\
                 "0.161, 0.202, 0.3006, 0.465, 0.7446, 1.174, 1.762, 2.511, 3.428, 4.52",\
                 "0.1878, 0.2346, 0.3388, 0.498, 0.7662, 1.185, 1.766, 2.511, 3.425, 4.518",\
                 "0.2186, 0.2704, 0.3806, 0.5398, 0.7976, 1.206, 1.778, 2.516, 3.427, 4.515",\
                 "0.2498, 0.3062, 0.426, 0.5852, 0.8372, 1.239, 1.804, 2.534, 3.434, 4.517",\
                 "0.2802, 0.3424, 0.4728, 0.6372, 0.8808, 1.276, 1.839, 2.57, 3.46, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1354, 0.197, 0.395, 0.7602, 1.357, 2.214, 3.348, 4.778, 6.526, 8.62",\
                 "0.1354, 0.1971, 0.3949, 0.7604, 1.357, 2.215, 3.349, 4.778, 6.527, 8.618",\
                 "0.1351, 0.1973, 0.3948, 0.7598, 1.359, 2.219, 3.35, 4.78, 6.525, 8.611",\
                 "0.137, 0.1984, 0.3962, 0.7606, 1.357, 2.219, 3.35, 4.783, 6.528, 8.618",\
                 "0.1514, 0.2126, 0.4088, 0.7674, 1.359, 2.216, 3.353, 4.778, 6.527, 8.611",\
                 "0.1662, 0.2272, 0.4236, 0.7786, 1.365, 2.216, 3.353, 4.78, 6.526, 8.614",\
                 "0.1834, 0.2454, 0.4408, 0.7916, 1.37, 2.22, 3.355, 4.779, 6.524, 8.603",\
                 "0.2044, 0.2666, 0.464, 0.8144, 1.381, 2.223, 3.351, 4.782, 6.524, 8.605",\
                 "0.2256, 0.2924, 0.4908, 0.8442, 1.404, 2.234, 3.357, 4.78, 6.522, 8.606",\
                 "0.2502, 0.3186, 0.5184, 0.8752, 1.438, 2.261, 3.369, 4.783, 6.524, 8.603");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3216, 0.4194, 0.5616, 0.7596, 1.03, 1.384, 1.831, 2.376, 3.025",\
                 "0.3004, 0.3392, 0.4371, 0.5794, 0.7773, 1.048, 1.402, 1.848, 2.393, 3.043",\
                 "0.3664, 0.4053, 0.503, 0.6452, 0.8432, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4858, 0.5261, 0.6254, 0.7681, 0.9661, 1.236, 1.591, 2.037, 2.581, 3.231",\
                 "0.6198, 0.6649, 0.7723, 0.9211, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7622, 0.8124, 0.9297, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9124, 0.9674, 1.096, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.45, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.235, 1.3, 1.453, 1.646, 1.874, 2.158, 2.519, 2.967, 3.511, 4.16",\
                 "1.41, 1.479, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4558, 0.5075, 0.6537, 0.8915, 1.243, 1.733, 2.376, 3.187, 4.18, 5.358",\
                 "0.4665, 0.5182, 0.6645, 0.9023, 1.254, 1.743, 2.387, 3.198, 4.191, 5.368",\
                 "0.5024, 0.5539, 0.7002, 0.9379, 1.289, 1.779, 2.423, 3.235, 4.224, 5.408",\
                 "0.5793, 0.6307, 0.7763, 1.013, 1.364, 1.853, 2.497, 3.307, 4.3, 5.478",\
                 "0.673, 0.727, 0.876, 1.115, 1.465, 1.953, 2.596, 3.407, 4.398, 5.58",\
                 "0.7687, 0.8253, 0.9783, 1.219, 1.57, 2.057, 2.699, 3.51, 4.501, 5.678",\
                 "0.8653, 0.9248, 1.082, 1.327, 1.678, 2.164, 2.805, 3.614, 4.602, 5.786",\
                 "0.9572, 1.02, 1.185, 1.436, 1.789, 2.274, 2.914, 3.721, 4.709, 5.887",\
                 "1.041, 1.108, 1.279, 1.539, 1.897, 2.384, 3.023, 3.83, 4.818, 5.995",\
                 "1.116, 1.188, 1.367, 1.634, 2.001, 2.494, 3.136, 3.941, 4.928, 6.105");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09754, 0.1347, 0.2383, 0.421, 0.723, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.09766, 0.1347, 0.2387, 0.4217, 0.7226, 1.168, 1.76, 2.509, 3.428, 4.52",\
                 "0.09758, 0.1349, 0.2386, 0.4206, 0.7231, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.1098, 0.1454, 0.2451, 0.4242, 0.7244, 1.167, 1.761, 2.511, 3.426, 4.521",\
                 "0.1332, 0.1714, 0.2694, 0.4406, 0.7312, 1.169, 1.759, 2.511, 3.428, 4.514",\
                 "0.1608, 0.202, 0.3006, 0.465, 0.7446, 1.175, 1.762, 2.511, 3.424, 4.52",\
                 "0.1878, 0.2346, 0.3376, 0.498, 0.767, 1.185, 1.766, 2.51, 3.424, 4.519",\
                 "0.2186, 0.2704, 0.3806, 0.5398, 0.7976, 1.206, 1.778, 2.516, 3.426, 4.515",\
                 "0.2498, 0.3062, 0.426, 0.585, 0.837, 1.239, 1.803, 2.534, 3.434, 4.518",\
                 "0.2802, 0.3424, 0.4728, 0.6372, 0.8808, 1.275, 1.84, 2.567, 3.461, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1354, 0.1971, 0.395, 0.7602, 1.357, 2.214, 3.348, 4.779, 6.527, 8.619",\
                 "0.1354, 0.1971, 0.3949, 0.7604, 1.357, 2.215, 3.349, 4.778, 6.527, 8.618",\
                 "0.1353, 0.1974, 0.3947, 0.7598, 1.357, 2.215, 3.348, 4.78, 6.526, 8.613",\
                 "0.137, 0.1984, 0.3962, 0.7606, 1.357, 2.219, 3.35, 4.783, 6.528, 8.618",\
                 "0.1514, 0.2124, 0.4088, 0.7678, 1.359, 2.215, 3.348, 4.778, 6.529, 8.611",\
                 "0.1662, 0.2272, 0.4236, 0.778, 1.365, 2.216, 3.352, 4.78, 6.526, 8.614",\
                 "0.1834, 0.2454, 0.4408, 0.7916, 1.37, 2.22, 3.355, 4.779, 6.524, 8.611",\
                 "0.2044, 0.2666, 0.464, 0.8144, 1.381, 2.223, 3.351, 4.782, 6.524, 8.605",\
                 "0.2256, 0.2922, 0.4908, 0.8442, 1.406, 2.234, 3.357, 4.78, 6.522, 8.608",\
                 "0.2508, 0.3192, 0.5184, 0.8752, 1.438, 2.262, 3.37, 4.783, 6.524, 8.603");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3219, 0.42, 0.563, 0.7626, 1.035, 1.389, 1.836, 2.38, 3.029",\
                 "0.3003, 0.3395, 0.4377, 0.5807, 0.7803, 1.052, 1.407, 1.853, 2.398, 3.047",\
                 "0.3665, 0.4055, 0.5035, 0.6465, 0.8462, 1.118, 1.473, 1.919, 2.464, 3.113",\
                 "0.4861, 0.5268, 0.6262, 0.7697, 0.9692, 1.241, 1.596, 2.042, 2.586, 3.235",\
                 "0.6208, 0.6662, 0.7737, 0.9233, 1.124, 1.395, 1.749, 2.195, 2.739, 3.388",\
                 "0.765, 0.8153, 0.9322, 1.089, 1.292, 1.563, 1.917, 2.362, 2.906, 3.555",\
                 "0.9166, 0.9724, 1.1, 1.266, 1.473, 1.742, 2.095, 2.539, 3.083, 3.731",\
                 "1.076, 1.137, 1.276, 1.453, 1.663, 1.932, 2.283, 2.727, 3.27, 3.918",\
                 "1.245, 1.31, 1.46, 1.649, 1.864, 2.132, 2.482, 2.924, 3.467, 4.114",\
                 "1.423, 1.492, 1.652, 1.852, 2.073, 2.34, 2.688, 3.129, 3.671, 4.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09824, 0.1356, 0.2391, 0.4235, 0.727, 1.17, 1.758, 2.503, 3.419, 4.512",\
                 "0.0983, 0.1356, 0.2395, 0.4233, 0.7272, 1.17, 1.758, 2.503, 3.419, 4.508",\
                 "0.09888, 0.1362, 0.2392, 0.4238, 0.7273, 1.169, 1.758, 2.504, 3.416, 4.509",\
                 "0.111, 0.1461, 0.2457, 0.4264, 0.7276, 1.169, 1.757, 2.504, 3.417, 4.508",\
                 "0.1348, 0.1728, 0.2696, 0.4428, 0.733, 1.17, 1.757, 2.502, 3.416, 4.512",\
                 "0.1626, 0.204, 0.2994, 0.465, 0.7426, 1.172, 1.757, 2.504, 3.418, 4.512",\
                 "0.1922, 0.2374, 0.336, 0.4934, 0.7544, 1.174, 1.758, 2.504, 3.417, 4.511",\
                 "0.223, 0.2728, 0.3758, 0.5284, 0.7682, 1.177, 1.759, 2.505, 3.418, 4.507",\
                 "0.2538, 0.3094, 0.4188, 0.5668, 0.7868, 1.182, 1.759, 2.505, 3.417, 4.506",\
                 "0.286, 0.3452, 0.4626, 0.6084, 0.8054, 1.185, 1.76, 2.505, 3.42, 4.511");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3219, 0.42, 0.563, 0.7626, 1.035, 1.389, 1.836, 2.38, 3.029",\
                 "0.3003, 0.3395, 0.4377, 0.5807, 0.7803, 1.052, 1.407, 1.853, 2.398, 3.047",\
                 "0.3665, 0.4055, 0.5035, 0.6465, 0.8462, 1.118, 1.473, 1.919, 2.464, 3.113",\
                 "0.4861, 0.5268, 0.6262, 0.7697, 0.9691, 1.241, 1.596, 2.042, 2.586, 3.235",\
                 "0.621, 0.6662, 0.7738, 0.9233, 1.124, 1.395, 1.749, 2.195, 2.739, 3.388",\
                 "0.7647, 0.8153, 0.9322, 1.089, 1.292, 1.563, 1.917, 2.362, 2.906, 3.554",\
                 "0.9166, 0.9725, 1.1, 1.266, 1.473, 1.742, 2.095, 2.539, 3.083, 3.731",\
                 "1.076, 1.137, 1.276, 1.453, 1.663, 1.932, 2.283, 2.727, 3.27, 3.918",\
                 "1.245, 1.31, 1.46, 1.649, 1.864, 2.132, 2.482, 2.924, 3.467, 4.114",\
                 "1.423, 1.492, 1.652, 1.852, 2.073, 2.34, 2.688, 3.129, 3.671, 4.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09824, 0.1356, 0.2391, 0.4235, 0.727, 1.17, 1.758, 2.503, 3.419, 4.512",\
                 "0.0983, 0.1356, 0.2395, 0.4233, 0.7272, 1.17, 1.758, 2.503, 3.419, 4.508",\
                 "0.09888, 0.1362, 0.2392, 0.4238, 0.7273, 1.169, 1.758, 2.504, 3.416, 4.509",\
                 "0.111, 0.1461, 0.2457, 0.4264, 0.7274, 1.169, 1.757, 2.504, 3.42, 4.511",\
                 "0.135, 0.1726, 0.2696, 0.4428, 0.7338, 1.17, 1.757, 2.504, 3.42, 4.51",\
                 "0.1626, 0.2036, 0.2994, 0.4654, 0.7424, 1.172, 1.758, 2.502, 3.418, 4.512",\
                 "0.1922, 0.2378, 0.336, 0.4934, 0.7534, 1.175, 1.758, 2.504, 3.419, 4.512",\
                 "0.223, 0.2728, 0.3756, 0.5284, 0.7682, 1.177, 1.759, 2.504, 3.418, 4.509",\
                 "0.2538, 0.3086, 0.4188, 0.5668, 0.786, 1.181, 1.759, 2.505, 3.417, 4.506",\
                 "0.2856, 0.3452, 0.4626, 0.6084, 0.8058, 1.185, 1.76, 2.505, 3.42, 4.511");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3216, 0.4194, 0.5616, 0.7596, 1.03, 1.384, 1.831, 2.376, 3.025",\
                 "0.3004, 0.3392, 0.4371, 0.5794, 0.7773, 1.048, 1.402, 1.848, 2.393, 3.043",\
                 "0.3664, 0.4053, 0.503, 0.6452, 0.8432, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4858, 0.5261, 0.6254, 0.7681, 0.9661, 1.236, 1.591, 2.037, 2.581, 3.231",\
                 "0.62, 0.6646, 0.7722, 0.921, 1.121, 1.391, 1.745, 2.191, 2.736, 3.385",\
                 "0.7622, 0.8124, 0.9297, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9124, 0.9674, 1.096, 1.264, 1.473, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.45, 1.669, 1.946, 2.301, 2.747, 3.291, 3.94",\
                 "1.235, 1.3, 1.453, 1.646, 1.874, 2.158, 2.519, 2.967, 3.511, 4.159",\
                 "1.41, 1.479, 1.643, 1.85, 2.09, 2.381, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4558, 0.5075, 0.6537, 0.8915, 1.243, 1.733, 2.377, 3.187, 4.18, 5.358",\
                 "0.4665, 0.5182, 0.6645, 0.9023, 1.254, 1.743, 2.387, 3.198, 4.191, 5.368",\
                 "0.5025, 0.5542, 0.6999, 0.9378, 1.289, 1.779, 2.423, 3.234, 4.226, 5.408",\
                 "0.5793, 0.6307, 0.7763, 1.013, 1.364, 1.853, 2.497, 3.307, 4.3, 5.478",\
                 "0.6732, 0.727, 0.876, 1.115, 1.465, 1.953, 2.596, 3.408, 4.399, 5.579",\
                 "0.7687, 0.8253, 0.9783, 1.219, 1.569, 2.056, 2.699, 3.51, 4.501, 5.678",\
                 "0.8653, 0.9248, 1.082, 1.327, 1.677, 2.163, 2.804, 3.613, 4.602, 5.785",\
                 "0.9572, 1.02, 1.185, 1.436, 1.789, 2.274, 2.914, 3.721, 4.709, 5.887",\
                 "1.041, 1.108, 1.279, 1.539, 1.897, 2.384, 3.023, 3.83, 4.818, 5.995",\
                 "1.116, 1.188, 1.367, 1.634, 2.001, 2.494, 3.135, 3.941, 4.928, 6.105");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.0974, 0.1347, 0.2383, 0.421, 0.723, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.09766, 0.1347, 0.2387, 0.4217, 0.7226, 1.168, 1.76, 2.509, 3.428, 4.52",\
                 "0.09758, 0.1349, 0.2386, 0.4206, 0.7231, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.1098, 0.1454, 0.2451, 0.4242, 0.7244, 1.167, 1.761, 2.511, 3.426, 4.521",\
                 "0.1328, 0.1712, 0.2692, 0.4406, 0.7314, 1.169, 1.761, 2.511, 3.425, 4.516",\
                 "0.1608, 0.202, 0.3006, 0.465, 0.7456, 1.175, 1.762, 2.511, 3.425, 4.514",\
                 "0.1878, 0.2346, 0.3382, 0.498, 0.7674, 1.185, 1.766, 2.511, 3.423, 4.517",\
                 "0.219, 0.2702, 0.381, 0.5382, 0.798, 1.207, 1.779, 2.517, 3.426, 4.516",\
                 "0.2494, 0.3062, 0.426, 0.585, 0.8372, 1.239, 1.804, 2.533, 3.437, 4.517",\
                 "0.2802, 0.342, 0.4728, 0.6372, 0.8824, 1.275, 1.84, 2.568, 3.461, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1354, 0.1971, 0.395, 0.7602, 1.357, 2.214, 3.348, 4.778, 6.527, 8.619",\
                 "0.1354, 0.1971, 0.3949, 0.7604, 1.357, 2.215, 3.349, 4.778, 6.527, 8.618",\
                 "0.1348, 0.1973, 0.3948, 0.76, 1.358, 2.217, 3.349, 4.78, 6.529, 8.609",\
                 "0.137, 0.1984, 0.3962, 0.7606, 1.357, 2.219, 3.35, 4.783, 6.528, 8.618",\
                 "0.1504, 0.2124, 0.4088, 0.7674, 1.359, 2.215, 3.348, 4.778, 6.527, 8.611",\
                 "0.1662, 0.2272, 0.4236, 0.7786, 1.364, 2.219, 3.348, 4.779, 6.526, 8.614",\
                 "0.1834, 0.2454, 0.441, 0.7916, 1.371, 2.219, 3.356, 4.779, 6.524, 8.612",\
                 "0.2044, 0.2676, 0.4638, 0.8136, 1.381, 2.224, 3.351, 4.782, 6.524, 8.604",\
                 "0.2256, 0.2924, 0.4908, 0.844, 1.404, 2.234, 3.356, 4.78, 6.524, 8.603",\
                 "0.2508, 0.3192, 0.5184, 0.8752, 1.438, 2.261, 3.369, 4.783, 6.524, 8.603");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3216, 0.4194, 0.5617, 0.7596, 1.03, 1.384, 1.831, 2.376, 3.025",\
                 "0.3004, 0.3392, 0.4371, 0.5794, 0.7773, 1.048, 1.402, 1.848, 2.393, 3.043",\
                 "0.3664, 0.4053, 0.503, 0.6452, 0.8432, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4858, 0.5261, 0.6254, 0.7681, 0.9661, 1.236, 1.591, 2.037, 2.581, 3.231",\
                 "0.6194, 0.6644, 0.7721, 0.9211, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7623, 0.8123, 0.9297, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.553",\
                 "0.9125, 0.9671, 1.096, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.27, 1.45, 1.668, 1.946, 2.301, 2.747, 3.291, 3.939",\
                 "1.235, 1.3, 1.453, 1.646, 1.874, 2.158, 2.519, 2.967, 3.511, 4.159",\
                 "1.41, 1.479, 1.643, 1.849, 2.09, 2.381, 2.748, 3.202, 3.75, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4558, 0.5075, 0.6537, 0.8915, 1.243, 1.733, 2.376, 3.187, 4.18, 5.358",\
                 "0.4665, 0.5182, 0.6645, 0.9023, 1.254, 1.743, 2.387, 3.198, 4.191, 5.368",\
                 "0.5023, 0.554, 0.7001, 0.9379, 1.289, 1.779, 2.422, 3.235, 4.226, 5.407",\
                 "0.5793, 0.6307, 0.7763, 1.013, 1.364, 1.853, 2.497, 3.307, 4.3, 5.478",\
                 "0.6729, 0.7268, 0.8762, 1.115, 1.465, 1.953, 2.596, 3.406, 4.398, 5.58",\
                 "0.7687, 0.8247, 0.9782, 1.219, 1.57, 2.057, 2.699, 3.51, 4.499, 5.683",\
                 "0.8654, 0.9248, 1.082, 1.328, 1.678, 2.164, 2.805, 3.614, 4.604, 5.786",\
                 "0.9566, 1.02, 1.184, 1.435, 1.788, 2.274, 2.913, 3.721, 4.709, 5.889",\
                 "1.041, 1.108, 1.28, 1.538, 1.898, 2.384, 3.023, 3.83, 4.817, 5.995",\
                 "1.116, 1.188, 1.367, 1.634, 2.001, 2.494, 3.135, 3.941, 4.928, 6.105");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.0977, 0.1347, 0.2382, 0.4208, 0.7232, 1.168, 1.759, 2.508, 3.427, 4.518",\
                 "0.09766, 0.1347, 0.2387, 0.4217, 0.7226, 1.168, 1.76, 2.509, 3.428, 4.52",\
                 "0.09758, 0.1349, 0.2386, 0.4207, 0.7231, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.1097, 0.1454, 0.2451, 0.4242, 0.7246, 1.168, 1.761, 2.511, 3.426, 4.521",\
                 "0.1334, 0.1726, 0.269, 0.4404, 0.7312, 1.169, 1.76, 2.51, 3.425, 4.516",\
                 "0.1608, 0.2028, 0.2998, 0.465, 0.7452, 1.174, 1.763, 2.51, 3.423, 4.52",\
                 "0.1876, 0.2354, 0.3382, 0.498, 0.766, 1.184, 1.766, 2.511, 3.426, 4.517",\
                 "0.218, 0.2706, 0.3808, 0.5382, 0.7978, 1.208, 1.778, 2.517, 3.427, 4.514",\
                 "0.2494, 0.3064, 0.4264, 0.5844, 0.8364, 1.239, 1.803, 2.533, 3.435, 4.517",\
                 "0.2796, 0.342, 0.4728, 0.6358, 0.881, 1.276, 1.84, 2.566, 3.458, 4.533");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1354, 0.197, 0.395, 0.7602, 1.357, 2.214, 3.348, 4.778, 6.527, 8.619",\
                 "0.1354, 0.1971, 0.3949, 0.7604, 1.357, 2.215, 3.349, 4.778, 6.527, 8.618",\
                 "0.1353, 0.197, 0.3948, 0.7601, 1.357, 2.214, 3.353, 4.78, 6.529, 8.609",\
                 "0.137, 0.1984, 0.3962, 0.7608, 1.357, 2.219, 3.35, 4.783, 6.528, 8.618",\
                 "0.1522, 0.2122, 0.4078, 0.7676, 1.359, 2.216, 3.351, 4.777, 6.528, 8.612",\
                 "0.165, 0.2268, 0.4232, 0.7786, 1.364, 2.22, 3.352, 4.779, 6.526, 8.613",\
                 "0.1828, 0.2452, 0.441, 0.7926, 1.37, 2.219, 3.353, 4.786, 6.526, 8.611",\
                 "0.2046, 0.269, 0.4644, 0.8144, 1.382, 2.223, 3.352, 4.78, 6.523, 8.607",\
                 "0.2266, 0.291, 0.49, 0.8434, 1.404, 2.234, 3.356, 4.779, 6.527, 8.602",\
                 "0.251, 0.3192, 0.5184, 0.8754, 1.438, 2.262, 3.369, 4.783, 6.524, 8.603");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3219, 0.42, 0.563, 0.7626, 1.035, 1.389, 1.836, 2.38, 3.029",\
                 "0.3003, 0.3395, 0.4377, 0.5807, 0.7803, 1.052, 1.407, 1.853, 2.398, 3.047",\
                 "0.3665, 0.4055, 0.5035, 0.6465, 0.8462, 1.118, 1.473, 1.919, 2.464, 3.113",\
                 "0.4861, 0.5268, 0.6262, 0.7697, 0.9692, 1.241, 1.596, 2.042, 2.586, 3.235",\
                 "0.6208, 0.6662, 0.7737, 0.9232, 1.124, 1.395, 1.749, 2.195, 2.739, 3.388",\
                 "0.7647, 0.8153, 0.9322, 1.089, 1.292, 1.563, 1.917, 2.362, 2.906, 3.555",\
                 "0.9166, 0.9725, 1.1, 1.266, 1.472, 1.742, 2.095, 2.539, 3.083, 3.731",\
                 "1.076, 1.137, 1.276, 1.453, 1.663, 1.932, 2.283, 2.727, 3.27, 3.919",\
                 "1.245, 1.31, 1.46, 1.649, 1.864, 2.132, 2.482, 2.924, 3.467, 4.115",\
                 "1.423, 1.492, 1.652, 1.853, 2.073, 2.34, 2.688, 3.129, 3.671, 4.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09824, 0.1356, 0.2391, 0.4235, 0.727, 1.17, 1.758, 2.503, 3.419, 4.512",\
                 "0.0983, 0.1356, 0.2395, 0.4233, 0.7272, 1.17, 1.758, 2.503, 3.419, 4.508",\
                 "0.09886, 0.1362, 0.2392, 0.4238, 0.7273, 1.17, 1.757, 2.504, 3.416, 4.509",\
                 "0.111, 0.1461, 0.2457, 0.4264, 0.7276, 1.169, 1.757, 2.504, 3.42, 4.508",\
                 "0.1348, 0.1728, 0.2698, 0.4424, 0.734, 1.17, 1.757, 2.502, 3.419, 4.511",\
                 "0.1628, 0.2036, 0.299, 0.4646, 0.7426, 1.172, 1.758, 2.504, 3.419, 4.512",\
                 "0.1922, 0.2378, 0.336, 0.4934, 0.7532, 1.175, 1.758, 2.504, 3.417, 4.507",\
                 "0.223, 0.2728, 0.3758, 0.5284, 0.7682, 1.177, 1.759, 2.505, 3.418, 4.509",\
                 "0.2538, 0.3098, 0.4188, 0.5668, 0.7868, 1.182, 1.759, 2.505, 3.417, 4.507",\
                 "0.286, 0.3442, 0.4614, 0.6072, 0.8058, 1.185, 1.76, 2.505, 3.422, 4.509");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3219, 0.42, 0.563, 0.7626, 1.035, 1.39, 1.836, 2.38, 3.029",\
                 "0.3004, 0.3395, 0.4377, 0.5807, 0.7803, 1.052, 1.407, 1.853, 2.398, 3.047",\
                 "0.3665, 0.4055, 0.5036, 0.6465, 0.8463, 1.118, 1.473, 1.919, 2.464, 3.113",\
                 "0.4862, 0.5267, 0.6262, 0.7696, 0.9691, 1.241, 1.595, 2.042, 2.586, 3.235",\
                 "0.621, 0.6664, 0.7739, 0.9233, 1.124, 1.395, 1.749, 2.195, 2.739, 3.388",\
                 "0.7648, 0.8152, 0.9321, 1.089, 1.292, 1.563, 1.916, 2.361, 2.905, 3.554",\
                 "0.9167, 0.9723, 1.1, 1.266, 1.472, 1.742, 2.095, 2.539, 3.083, 3.731",\
                 "1.077, 1.137, 1.276, 1.453, 1.663, 1.932, 2.283, 2.727, 3.27, 3.918",\
                 "1.245, 1.31, 1.46, 1.649, 1.864, 2.132, 2.482, 2.924, 3.467, 4.115",\
                 "1.423, 1.492, 1.652, 1.852, 2.073, 2.34, 2.688, 3.129, 3.671, 4.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09826, 0.1356, 0.2395, 0.4235, 0.7271, 1.168, 1.757, 2.504, 3.42, 4.508",\
                 "0.09822, 0.1358, 0.2391, 0.4233, 0.7272, 1.169, 1.758, 2.504, 3.416, 4.507",\
                 "0.09838, 0.136, 0.2393, 0.4235, 0.7277, 1.17, 1.758, 2.502, 3.417, 4.508",\
                 "0.1106, 0.1462, 0.2457, 0.4264, 0.728, 1.168, 1.758, 2.504, 3.416, 4.507",\
                 "0.135, 0.1728, 0.2696, 0.4426, 0.7332, 1.169, 1.757, 2.504, 3.416, 4.513",\
                 "0.1626, 0.2044, 0.2998, 0.4648, 0.7424, 1.172, 1.758, 2.503, 3.418, 4.512",\
                 "0.1914, 0.238, 0.336, 0.4938, 0.754, 1.174, 1.759, 2.503, 3.417, 4.513",\
                 "0.223, 0.273, 0.3756, 0.528, 0.7682, 1.177, 1.758, 2.504, 3.417, 4.505",\
                 "0.2556, 0.309, 0.419, 0.567, 0.7864, 1.181, 1.759, 2.505, 3.418, 4.507",\
                 "0.2872, 0.3452, 0.4626, 0.6076, 0.8056, 1.185, 1.759, 2.504, 3.418, 4.506");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3216, 0.4196, 0.5617, 0.7596, 1.03, 1.384, 1.831, 2.376, 3.025",\
                 "0.3004, 0.3392, 0.4371, 0.5794, 0.7773, 1.048, 1.402, 1.848, 2.393, 3.043",\
                 "0.3664, 0.4053, 0.503, 0.6452, 0.8432, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4858, 0.5261, 0.6254, 0.7681, 0.9661, 1.236, 1.591, 2.037, 2.581, 3.231",\
                 "0.6194, 0.6643, 0.772, 0.9209, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7625, 0.8126, 0.9298, 1.086, 1.29, 1.561, 1.915, 2.36, 2.905, 3.553",\
                 "0.9124, 0.9671, 1.096, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.45, 1.668, 1.946, 2.301, 2.747, 3.291, 3.939",\
                 "1.235, 1.3, 1.453, 1.646, 1.874, 2.158, 2.519, 2.967, 3.511, 4.159",\
                 "1.41, 1.479, 1.643, 1.849, 2.09, 2.381, 2.748, 3.202, 3.75, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4558, 0.5074, 0.6537, 0.8915, 1.243, 1.733, 2.376, 3.187, 4.18, 5.359",\
                 "0.4665, 0.5182, 0.6645, 0.9023, 1.254, 1.743, 2.387, 3.198, 4.191, 5.368",\
                 "0.5023, 0.554, 0.7001, 0.9379, 1.289, 1.779, 2.422, 3.235, 4.226, 5.408",\
                 "0.5793, 0.6307, 0.7763, 1.013, 1.364, 1.853, 2.497, 3.307, 4.3, 5.478",\
                 "0.673, 0.727, 0.8762, 1.115, 1.465, 1.953, 2.596, 3.408, 4.398, 5.581",\
                 "0.7687, 0.8247, 0.9782, 1.219, 1.57, 2.057, 2.699, 3.51, 4.499, 5.683",\
                 "0.8654, 0.9248, 1.083, 1.328, 1.678, 2.164, 2.805, 3.614, 4.604, 5.786",\
                 "0.9566, 1.02, 1.184, 1.435, 1.788, 2.274, 2.913, 3.721, 4.709, 5.889",\
                 "1.041, 1.108, 1.28, 1.539, 1.898, 2.385, 3.024, 3.831, 4.818, 5.995",\
                 "1.116, 1.187, 1.367, 1.634, 2.001, 2.494, 3.135, 3.941, 4.928, 6.104");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09784, 0.1348, 0.2383, 0.4217, 0.7227, 1.168, 1.759, 2.508, 3.427, 4.519",\
                 "0.09766, 0.1347, 0.2387, 0.4217, 0.7226, 1.168, 1.76, 2.509, 3.428, 4.52",\
                 "0.09758, 0.1349, 0.2386, 0.4207, 0.7231, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.1097, 0.1454, 0.2451, 0.4242, 0.7246, 1.168, 1.761, 2.511, 3.426, 4.521",\
                 "0.1334, 0.1722, 0.2692, 0.4406, 0.7318, 1.168, 1.761, 2.51, 3.422, 4.516",\
                 "0.1594, 0.2016, 0.3002, 0.4648, 0.7442, 1.174, 1.761, 2.511, 3.426, 4.52",\
                 "0.1884, 0.2352, 0.3386, 0.4984, 0.7658, 1.185, 1.766, 2.51, 3.426, 4.513",\
                 "0.218, 0.2706, 0.3804, 0.5382, 0.7978, 1.208, 1.778, 2.517, 3.427, 4.514",\
                 "0.2494, 0.3064, 0.4264, 0.5846, 0.8364, 1.239, 1.803, 2.533, 3.434, 4.517",\
                 "0.2802, 0.3426, 0.4722, 0.6358, 0.8808, 1.275, 1.84, 2.566, 3.458, 4.533");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1354, 0.1971, 0.395, 0.76, 1.357, 2.214, 3.348, 4.779, 6.526, 8.621",\
                 "0.1354, 0.1971, 0.3949, 0.7604, 1.357, 2.215, 3.349, 4.778, 6.527, 8.618",\
                 "0.1353, 0.197, 0.3948, 0.7603, 1.357, 2.214, 3.353, 4.78, 6.529, 8.608",\
                 "0.137, 0.1984, 0.3962, 0.7608, 1.357, 2.219, 3.35, 4.783, 6.528, 8.618",\
                 "0.1522, 0.2126, 0.4078, 0.768, 1.359, 2.216, 3.351, 4.778, 6.529, 8.611",\
                 "0.165, 0.2268, 0.4232, 0.7788, 1.364, 2.22, 3.351, 4.78, 6.526, 8.613",\
                 "0.1828, 0.2452, 0.4406, 0.7926, 1.37, 2.219, 3.353, 4.786, 6.527, 8.611",\
                 "0.2046, 0.269, 0.4644, 0.8138, 1.382, 2.225, 3.351, 4.78, 6.525, 8.607",\
                 "0.226, 0.2922, 0.49, 0.844, 1.404, 2.234, 3.356, 4.78, 6.524, 8.603",\
                 "0.2502, 0.3186, 0.5184, 0.8754, 1.438, 2.261, 3.369, 4.783, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3216, 0.4195, 0.5617, 0.7596, 1.03, 1.384, 1.831, 2.376, 3.025",\
                 "0.3004, 0.3392, 0.4371, 0.5794, 0.7773, 1.048, 1.402, 1.848, 2.393, 3.043",\
                 "0.3664, 0.4053, 0.503, 0.6452, 0.8432, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4858, 0.5261, 0.6254, 0.7681, 0.9661, 1.236, 1.591, 2.037, 2.581, 3.231",\
                 "0.6195, 0.6643, 0.772, 0.9209, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7625, 0.8121, 0.9298, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.553",\
                 "0.9125, 0.9671, 1.096, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.45, 1.668, 1.946, 2.301, 2.747, 3.291, 3.939",\
                 "1.235, 1.3, 1.453, 1.646, 1.874, 2.158, 2.519, 2.967, 3.511, 4.159",\
                 "1.41, 1.479, 1.643, 1.849, 2.09, 2.381, 2.748, 3.202, 3.75, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4558, 0.5074, 0.6537, 0.8915, 1.243, 1.733, 2.376, 3.187, 4.18, 5.358",\
                 "0.4665, 0.5182, 0.6645, 0.9023, 1.254, 1.743, 2.387, 3.198, 4.191, 5.368",\
                 "0.5023, 0.554, 0.7001, 0.9379, 1.289, 1.779, 2.422, 3.235, 4.226, 5.407",\
                 "0.5793, 0.6307, 0.7763, 1.013, 1.364, 1.853, 2.497, 3.307, 4.3, 5.478",\
                 "0.673, 0.727, 0.8762, 1.115, 1.465, 1.953, 2.596, 3.408, 4.398, 5.581",\
                 "0.7687, 0.8247, 0.9782, 1.219, 1.57, 2.057, 2.699, 3.51, 4.499, 5.683",\
                 "0.8654, 0.9248, 1.083, 1.328, 1.678, 2.164, 2.805, 3.614, 4.604, 5.786",\
                 "0.9566, 1.02, 1.184, 1.435, 1.788, 2.274, 2.913, 3.721, 4.709, 5.889",\
                 "1.041, 1.108, 1.28, 1.539, 1.898, 2.385, 3.023, 3.831, 4.818, 5.995",\
                 "1.116, 1.188, 1.367, 1.634, 2.001, 2.494, 3.136, 3.941, 4.928, 6.104");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.0979, 0.1347, 0.2381, 0.4211, 0.7229, 1.168, 1.759, 2.508, 3.427, 4.519",\
                 "0.09766, 0.1347, 0.2387, 0.4217, 0.7226, 1.168, 1.76, 2.509, 3.428, 4.52",\
                 "0.09758, 0.1349, 0.2386, 0.4207, 0.7231, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.1097, 0.1454, 0.2451, 0.4242, 0.7246, 1.168, 1.761, 2.511, 3.426, 4.521",\
                 "0.1332, 0.1722, 0.2692, 0.4406, 0.7318, 1.168, 1.761, 2.51, 3.422, 4.516",\
                 "0.1594, 0.202, 0.3002, 0.4646, 0.7458, 1.174, 1.762, 2.511, 3.426, 4.52",\
                 "0.1876, 0.2354, 0.3384, 0.4984, 0.7658, 1.184, 1.766, 2.51, 3.426, 4.519",\
                 "0.218, 0.2706, 0.3804, 0.5382, 0.7978, 1.208, 1.778, 2.517, 3.427, 4.514",\
                 "0.2494, 0.3064, 0.4264, 0.5846, 0.8364, 1.239, 1.803, 2.533, 3.434, 4.518",\
                 "0.2802, 0.3426, 0.4722, 0.6358, 0.8822, 1.275, 1.84, 2.566, 3.458, 4.533");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1354, 0.197, 0.395, 0.7602, 1.357, 2.214, 3.348, 4.779, 6.526, 8.62",\
                 "0.1354, 0.1971, 0.3949, 0.7604, 1.357, 2.215, 3.349, 4.778, 6.527, 8.618",\
                 "0.1353, 0.197, 0.3948, 0.7603, 1.357, 2.214, 3.353, 4.78, 6.529, 8.609",\
                 "0.137, 0.1984, 0.3962, 0.7608, 1.357, 2.219, 3.35, 4.783, 6.528, 8.618",\
                 "0.1522, 0.2126, 0.4078, 0.768, 1.359, 2.216, 3.351, 4.778, 6.529, 8.611",\
                 "0.165, 0.2268, 0.4232, 0.7788, 1.365, 2.22, 3.351, 4.78, 6.526, 8.613",\
                 "0.1828, 0.2452, 0.4406, 0.7926, 1.37, 2.218, 3.353, 4.786, 6.527, 8.611",\
                 "0.2046, 0.269, 0.4644, 0.8138, 1.382, 2.224, 3.351, 4.782, 6.525, 8.607",\
                 "0.2258, 0.2922, 0.49, 0.844, 1.404, 2.234, 3.356, 4.78, 6.524, 8.603",\
                 "0.251, 0.3192, 0.5184, 0.8754, 1.438, 2.262, 3.37, 4.783, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3219, 0.4201, 0.563, 0.7627, 1.035, 1.39, 1.836, 2.38, 3.029",\
                 "0.3004, 0.3395, 0.4377, 0.5807, 0.7803, 1.052, 1.407, 1.853, 2.398, 3.047",\
                 "0.3665, 0.4055, 0.5036, 0.6465, 0.8463, 1.118, 1.473, 1.919, 2.464, 3.113",\
                 "0.4862, 0.5267, 0.6262, 0.7697, 0.9691, 1.241, 1.595, 2.042, 2.586, 3.235",\
                 "0.621, 0.6662, 0.7739, 0.9233, 1.124, 1.395, 1.749, 2.195, 2.739, 3.388",\
                 "0.7647, 0.8152, 0.9322, 1.089, 1.292, 1.563, 1.916, 2.361, 2.905, 3.554",\
                 "0.9167, 0.9723, 1.1, 1.266, 1.472, 1.742, 2.095, 2.54, 3.083, 3.731",\
                 "1.076, 1.137, 1.276, 1.453, 1.663, 1.932, 2.283, 2.727, 3.27, 3.918",\
                 "1.245, 1.31, 1.46, 1.649, 1.864, 2.132, 2.482, 2.924, 3.467, 4.115",\
                 "1.423, 1.492, 1.652, 1.852, 2.073, 2.34, 2.688, 3.129, 3.671, 4.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09824, 0.1358, 0.2394, 0.4233, 0.7272, 1.17, 1.758, 2.504, 3.417, 4.512",\
                 "0.09822, 0.1358, 0.2391, 0.4233, 0.7272, 1.169, 1.758, 2.504, 3.416, 4.507",\
                 "0.09838, 0.136, 0.2393, 0.4235, 0.7277, 1.17, 1.758, 2.502, 3.417, 4.508",\
                 "0.1106, 0.1462, 0.2456, 0.4264, 0.728, 1.169, 1.758, 2.504, 3.416, 4.507",\
                 "0.135, 0.1732, 0.2696, 0.4426, 0.7332, 1.169, 1.757, 2.504, 3.416, 4.513",\
                 "0.1622, 0.2038, 0.2994, 0.4648, 0.743, 1.172, 1.757, 2.504, 3.417, 4.512",\
                 "0.1914, 0.238, 0.336, 0.4938, 0.754, 1.174, 1.759, 2.504, 3.417, 4.513",\
                 "0.2234, 0.273, 0.3758, 0.5278, 0.7688, 1.177, 1.759, 2.505, 3.417, 4.506",\
                 "0.255, 0.3088, 0.4184, 0.567, 0.786, 1.181, 1.759, 2.504, 3.417, 4.506",\
                 "0.2872, 0.3456, 0.4624, 0.6078, 0.8054, 1.185, 1.76, 2.505, 3.418, 4.511");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3219, 0.4199, 0.5631, 0.7626, 1.035, 1.39, 1.836, 2.38, 3.029",\
                 "0.3004, 0.3395, 0.4377, 0.5807, 0.7803, 1.052, 1.407, 1.853, 2.398, 3.047",\
                 "0.3665, 0.4055, 0.5036, 0.6465, 0.8463, 1.118, 1.473, 1.919, 2.464, 3.113",\
                 "0.4862, 0.5267, 0.6262, 0.7696, 0.9691, 1.241, 1.595, 2.041, 2.586, 3.235",\
                 "0.621, 0.6664, 0.7739, 0.9233, 1.124, 1.395, 1.749, 2.195, 2.739, 3.388",\
                 "0.7647, 0.8152, 0.9321, 1.089, 1.292, 1.563, 1.916, 2.361, 2.905, 3.554",\
                 "0.9167, 0.9723, 1.1, 1.266, 1.472, 1.742, 2.094, 2.539, 3.083, 3.731",\
                 "1.077, 1.137, 1.276, 1.453, 1.663, 1.932, 2.283, 2.727, 3.27, 3.918",\
                 "1.245, 1.31, 1.46, 1.649, 1.864, 2.132, 2.482, 2.924, 3.467, 4.115",\
                 "1.423, 1.492, 1.652, 1.852, 2.073, 2.34, 2.688, 3.129, 3.671, 4.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09824, 0.1358, 0.2394, 0.4235, 0.7273, 1.168, 1.757, 2.503, 3.419, 4.51",\
                 "0.09822, 0.1358, 0.2391, 0.4233, 0.7272, 1.169, 1.758, 2.504, 3.416, 4.507",\
                 "0.09838, 0.136, 0.2393, 0.4235, 0.7277, 1.17, 1.758, 2.502, 3.417, 4.508",\
                 "0.1106, 0.1462, 0.2456, 0.4264, 0.728, 1.169, 1.758, 2.503, 3.416, 4.511",\
                 "0.135, 0.1728, 0.2696, 0.4426, 0.7332, 1.169, 1.757, 2.504, 3.416, 4.513",\
                 "0.1628, 0.2038, 0.299, 0.4648, 0.743, 1.172, 1.757, 2.504, 3.417, 4.511",\
                 "0.1914, 0.238, 0.336, 0.4938, 0.7534, 1.174, 1.758, 2.504, 3.418, 4.513",\
                 "0.2228, 0.273, 0.3758, 0.5276, 0.7688, 1.177, 1.758, 2.505, 3.418, 4.506",\
                 "0.255, 0.3088, 0.4184, 0.567, 0.786, 1.181, 1.759, 2.504, 3.417, 4.506",\
                 "0.2872, 0.3456, 0.4624, 0.6078, 0.8054, 1.185, 1.76, 2.505, 3.418, 4.511");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3216, 0.4194, 0.5616, 0.7596, 1.03, 1.384, 1.831, 2.376, 3.025",\
                 "0.3004, 0.3392, 0.4371, 0.5794, 0.7773, 1.048, 1.402, 1.848, 2.393, 3.043",\
                 "0.3664, 0.4053, 0.503, 0.6452, 0.8432, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4858, 0.5261, 0.6254, 0.7681, 0.9661, 1.236, 1.591, 2.037, 2.581, 3.231",\
                 "0.6197, 0.6646, 0.7722, 0.921, 1.121, 1.391, 1.745, 2.191, 2.736, 3.385",\
                 "0.7623, 0.8124, 0.9297, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9124, 0.9674, 1.096, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.45, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.235, 1.3, 1.453, 1.646, 1.874, 2.158, 2.519, 2.967, 3.511, 4.16",\
                 "1.41, 1.479, 1.643, 1.85, 2.09, 2.381, 2.748, 3.201, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4558, 0.5075, 0.6537, 0.8915, 1.243, 1.733, 2.377, 3.187, 4.18, 5.358",\
                 "0.4665, 0.5182, 0.6645, 0.9023, 1.254, 1.743, 2.387, 3.198, 4.191, 5.368",\
                 "0.5025, 0.5542, 0.6999, 0.9378, 1.289, 1.779, 2.423, 3.234, 4.226, 5.408",\
                 "0.5793, 0.6307, 0.7763, 1.013, 1.364, 1.853, 2.497, 3.307, 4.3, 5.478",\
                 "0.6732, 0.727, 0.876, 1.115, 1.465, 1.953, 2.596, 3.407, 4.398, 5.58",\
                 "0.7687, 0.8253, 0.9783, 1.219, 1.569, 2.057, 2.699, 3.509, 4.501, 5.677",\
                 "0.865, 0.9247, 1.083, 1.328, 1.678, 2.164, 2.805, 3.614, 4.603, 5.786",\
                 "0.9572, 1.02, 1.185, 1.436, 1.789, 2.274, 2.914, 3.721, 4.709, 5.887",\
                 "1.041, 1.108, 1.279, 1.539, 1.897, 2.384, 3.024, 3.83, 4.818, 5.995",\
                 "1.116, 1.188, 1.367, 1.634, 2.001, 2.494, 3.135, 3.941, 4.928, 6.105");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.0974, 0.1347, 0.2383, 0.421, 0.723, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.09766, 0.1347, 0.2387, 0.4217, 0.7226, 1.168, 1.76, 2.509, 3.428, 4.52",\
                 "0.09758, 0.1349, 0.2386, 0.4206, 0.7231, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.1098, 0.1454, 0.2451, 0.4242, 0.7244, 1.167, 1.761, 2.511, 3.426, 4.521",\
                 "0.133, 0.1712, 0.2692, 0.4406, 0.7314, 1.169, 1.761, 2.511, 3.425, 4.516",\
                 "0.1602, 0.202, 0.3006, 0.465, 0.7446, 1.175, 1.762, 2.511, 3.424, 4.52",\
                 "0.1878, 0.2346, 0.3388, 0.4982, 0.766, 1.185, 1.766, 2.511, 3.423, 4.519",\
                 "0.2184, 0.2702, 0.3806, 0.5398, 0.7976, 1.206, 1.778, 2.517, 3.426, 4.515",\
                 "0.2494, 0.3062, 0.426, 0.585, 0.8382, 1.239, 1.804, 2.534, 3.435, 4.517",\
                 "0.2802, 0.342, 0.4728, 0.6372, 0.8824, 1.275, 1.84, 2.569, 3.461, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1354, 0.1971, 0.395, 0.7602, 1.357, 2.214, 3.348, 4.778, 6.527, 8.619",\
                 "0.1354, 0.1971, 0.3949, 0.7604, 1.357, 2.215, 3.349, 4.778, 6.527, 8.618",\
                 "0.1348, 0.1973, 0.3948, 0.76, 1.358, 2.218, 3.349, 4.78, 6.529, 8.609",\
                 "0.137, 0.1984, 0.3962, 0.7606, 1.357, 2.219, 3.35, 4.783, 6.528, 8.618",\
                 "0.1504, 0.2124, 0.4088, 0.768, 1.359, 2.215, 3.348, 4.778, 6.529, 8.611",\
                 "0.1662, 0.2272, 0.4236, 0.7786, 1.364, 2.219, 3.349, 4.777, 6.528, 8.612",\
                 "0.1834, 0.245, 0.4414, 0.7928, 1.371, 2.219, 3.355, 4.779, 6.522, 8.611",\
                 "0.2044, 0.2688, 0.464, 0.8144, 1.381, 2.224, 3.351, 4.782, 6.524, 8.605",\
                 "0.2262, 0.2914, 0.4908, 0.844, 1.406, 2.234, 3.356, 4.78, 6.524, 8.603",\
                 "0.2502, 0.3192, 0.5184, 0.8752, 1.437, 2.261, 3.37, 4.783, 6.524, 8.603");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3216, 0.4194, 0.5617, 0.7596, 1.03, 1.384, 1.831, 2.376, 3.025",\
                 "0.3004, 0.3392, 0.4371, 0.5794, 0.7773, 1.048, 1.402, 1.848, 2.393, 3.043",\
                 "0.3664, 0.4053, 0.503, 0.6452, 0.8432, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4858, 0.5261, 0.6254, 0.7681, 0.9661, 1.236, 1.591, 2.037, 2.581, 3.231",\
                 "0.6195, 0.6643, 0.772, 0.9209, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7625, 0.8126, 0.9298, 1.086, 1.29, 1.561, 1.915, 2.36, 2.905, 3.553",\
                 "0.9126, 0.9671, 1.096, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.45, 1.668, 1.946, 2.301, 2.747, 3.291, 3.939",\
                 "1.235, 1.3, 1.453, 1.646, 1.874, 2.158, 2.519, 2.967, 3.511, 4.159",\
                 "1.411, 1.479, 1.643, 1.85, 2.09, 2.381, 2.748, 3.202, 3.75, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4558, 0.5075, 0.6537, 0.8915, 1.243, 1.733, 2.376, 3.187, 4.18, 5.358",\
                 "0.4665, 0.5182, 0.6645, 0.9023, 1.254, 1.743, 2.387, 3.198, 4.191, 5.368",\
                 "0.5023, 0.554, 0.7001, 0.9379, 1.289, 1.779, 2.422, 3.235, 4.226, 5.407",\
                 "0.5793, 0.6307, 0.7763, 1.013, 1.364, 1.853, 2.497, 3.307, 4.3, 5.478",\
                 "0.673, 0.7268, 0.8762, 1.115, 1.465, 1.953, 2.596, 3.408, 4.398, 5.581",\
                 "0.7687, 0.8247, 0.9778, 1.219, 1.57, 2.057, 2.699, 3.51, 4.5, 5.683",\
                 "0.8653, 0.925, 1.083, 1.328, 1.678, 2.164, 2.805, 3.614, 4.603, 5.785",\
                 "0.9566, 1.02, 1.184, 1.435, 1.788, 2.274, 2.913, 3.721, 4.708, 5.888",\
                 "1.041, 1.108, 1.28, 1.539, 1.897, 2.384, 3.023, 3.83, 4.817, 5.995",\
                 "1.116, 1.187, 1.367, 1.634, 2.001, 2.494, 3.135, 3.942, 4.928, 6.105");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.0977, 0.1347, 0.2382, 0.4208, 0.7232, 1.168, 1.759, 2.508, 3.427, 4.518",\
                 "0.09766, 0.1347, 0.2387, 0.4217, 0.7226, 1.168, 1.76, 2.509, 3.428, 4.52",\
                 "0.09758, 0.1349, 0.2386, 0.4207, 0.7231, 1.168, 1.761, 2.51, 3.427, 4.521",\
                 "0.1097, 0.1454, 0.2451, 0.4242, 0.7246, 1.168, 1.761, 2.511, 3.426, 4.521",\
                 "0.1332, 0.1722, 0.2692, 0.4406, 0.7316, 1.169, 1.76, 2.508, 3.425, 4.517",\
                 "0.1594, 0.2016, 0.3002, 0.4656, 0.7458, 1.174, 1.762, 2.511, 3.426, 4.52",\
                 "0.1878, 0.2354, 0.3378, 0.498, 0.767, 1.186, 1.767, 2.511, 3.426, 4.514",\
                 "0.218, 0.2706, 0.3804, 0.5382, 0.8, 1.208, 1.778, 2.517, 3.427, 4.514",\
                 "0.2496, 0.307, 0.4264, 0.5846, 0.8366, 1.239, 1.804, 2.533, 3.435, 4.517",\
                 "0.2796, 0.3426, 0.4722, 0.636, 0.881, 1.276, 1.84, 2.566, 3.458, 4.533");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1354, 0.197, 0.395, 0.7602, 1.357, 2.214, 3.348, 4.778, 6.527, 8.619",\
                 "0.1354, 0.1971, 0.3949, 0.7604, 1.357, 2.215, 3.349, 4.778, 6.527, 8.618",\
                 "0.1353, 0.197, 0.3948, 0.7601, 1.357, 2.214, 3.353, 4.78, 6.529, 8.609",\
                 "0.137, 0.1984, 0.3962, 0.7608, 1.357, 2.219, 3.35, 4.783, 6.528, 8.618",\
                 "0.151, 0.2122, 0.4078, 0.7676, 1.359, 2.216, 3.351, 4.778, 6.528, 8.611",\
                 "0.165, 0.2268, 0.4224, 0.7778, 1.365, 2.22, 3.352, 4.779, 6.533, 8.612",\
                 "0.1834, 0.244, 0.4406, 0.7924, 1.37, 2.219, 3.352, 4.78, 6.525, 8.611",\
                 "0.2046, 0.269, 0.4638, 0.8146, 1.38, 2.224, 3.351, 4.781, 6.535, 8.603",\
                 "0.2256, 0.2924, 0.49, 0.844, 1.406, 2.234, 3.355, 4.78, 6.523, 8.605",\
                 "0.25, 0.3184, 0.5184, 0.8754, 1.438, 2.262, 3.369, 4.786, 6.523, 8.603");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3219, 0.42, 0.563, 0.7626, 1.035, 1.389, 1.836, 2.38, 3.029",\
                 "0.3003, 0.3395, 0.4377, 0.5807, 0.7803, 1.052, 1.407, 1.853, 2.398, 3.047",\
                 "0.3665, 0.4055, 0.5035, 0.6465, 0.8462, 1.118, 1.473, 1.919, 2.464, 3.113",\
                 "0.4861, 0.5268, 0.6262, 0.7697, 0.9692, 1.241, 1.596, 2.042, 2.586, 3.235",\
                 "0.6208, 0.6662, 0.7737, 0.9232, 1.124, 1.395, 1.749, 2.195, 2.739, 3.388",\
                 "0.7647, 0.8153, 0.9322, 1.089, 1.292, 1.563, 1.917, 2.362, 2.906, 3.555",\
                 "0.9166, 0.9725, 1.1, 1.266, 1.472, 1.742, 2.095, 2.539, 3.083, 3.731",\
                 "1.076, 1.137, 1.276, 1.453, 1.663, 1.932, 2.283, 2.727, 3.27, 3.918",\
                 "1.245, 1.31, 1.46, 1.649, 1.864, 2.132, 2.482, 2.924, 3.467, 4.115",\
                 "1.423, 1.492, 1.652, 1.853, 2.073, 2.34, 2.688, 3.129, 3.671, 4.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09824, 0.1356, 0.2391, 0.4235, 0.727, 1.17, 1.758, 2.503, 3.419, 4.512",\
                 "0.0983, 0.1356, 0.2395, 0.4233, 0.7272, 1.17, 1.758, 2.503, 3.419, 4.508",\
                 "0.09886, 0.1362, 0.2392, 0.4238, 0.7273, 1.17, 1.757, 2.504, 3.416, 4.509",\
                 "0.111, 0.1461, 0.2456, 0.4264, 0.7276, 1.169, 1.757, 2.504, 3.42, 4.508",\
                 "0.1348, 0.1728, 0.2698, 0.4424, 0.733, 1.17, 1.757, 2.502, 3.419, 4.509",\
                 "0.1628, 0.2036, 0.299, 0.4646, 0.7426, 1.172, 1.758, 2.504, 3.419, 4.509",\
                 "0.1922, 0.2378, 0.336, 0.4938, 0.7534, 1.174, 1.758, 2.504, 3.418, 4.507",\
                 "0.223, 0.2726, 0.3758, 0.5284, 0.7682, 1.177, 1.758, 2.504, 3.418, 4.507",\
                 "0.2538, 0.3096, 0.4188, 0.5668, 0.786, 1.18, 1.759, 2.505, 3.417, 4.507",\
                 "0.2852, 0.3442, 0.4622, 0.6082, 0.806, 1.185, 1.76, 2.505, 3.42, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3219, 0.42, 0.563, 0.7626, 1.035, 1.39, 1.836, 2.38, 3.029",\
                 "0.3004, 0.3395, 0.4377, 0.5807, 0.7803, 1.052, 1.407, 1.853, 2.398, 3.047",\
                 "0.3665, 0.4055, 0.5036, 0.6465, 0.8463, 1.118, 1.473, 1.919, 2.464, 3.113",\
                 "0.4861, 0.5267, 0.6261, 0.7696, 0.9691, 1.241, 1.595, 2.041, 2.586, 3.235",\
                 "0.6209, 0.6662, 0.7739, 0.9233, 1.124, 1.395, 1.749, 2.195, 2.739, 3.388",\
                 "0.7648, 0.8151, 0.9323, 1.089, 1.292, 1.563, 1.916, 2.361, 2.905, 3.554",\
                 "0.9166, 0.9723, 1.1, 1.266, 1.473, 1.742, 2.095, 2.539, 3.083, 3.732",\
                 "1.077, 1.137, 1.276, 1.453, 1.664, 1.932, 2.284, 2.727, 3.27, 3.918",\
                 "1.245, 1.31, 1.46, 1.649, 1.864, 2.132, 2.482, 2.924, 3.467, 4.114",\
                 "1.423, 1.492, 1.652, 1.852, 2.073, 2.34, 2.688, 3.129, 3.671, 4.318");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09826, 0.1356, 0.2395, 0.4235, 0.7271, 1.168, 1.757, 2.504, 3.42, 4.508",\
                 "0.09822, 0.1358, 0.2391, 0.4233, 0.7272, 1.169, 1.758, 2.504, 3.416, 4.507",\
                 "0.09838, 0.136, 0.2393, 0.4235, 0.7277, 1.17, 1.758, 2.502, 3.417, 4.508",\
                 "0.1106, 0.1461, 0.2456, 0.4266, 0.728, 1.169, 1.757, 2.504, 3.419, 4.51",\
                 "0.1346, 0.1734, 0.2696, 0.4426, 0.7332, 1.169, 1.757, 2.504, 3.416, 4.513",\
                 "0.162, 0.2038, 0.2994, 0.4648, 0.7426, 1.171, 1.758, 2.504, 3.419, 4.512",\
                 "0.192, 0.238, 0.3356, 0.4932, 0.7534, 1.174, 1.759, 2.504, 3.417, 4.509",\
                 "0.223, 0.273, 0.3754, 0.528, 0.768, 1.178, 1.759, 2.505, 3.417, 4.507",\
                 "0.255, 0.3088, 0.4182, 0.567, 0.7856, 1.181, 1.758, 2.505, 3.42, 4.506",\
                 "0.2874, 0.3448, 0.4626, 0.6076, 0.8052, 1.185, 1.76, 2.505, 3.418, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.3219, 0.4197, 0.5619, 0.7598, 1.03, 1.385, 1.831, 2.376, 3.025",\
                 "0.3006, 0.3395, 0.4374, 0.5795, 0.7775, 1.048, 1.402, 1.848, 2.393, 3.042",\
                 "0.3667, 0.4056, 0.5032, 0.6454, 0.8433, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4861, 0.5264, 0.6256, 0.7684, 0.9662, 1.237, 1.591, 2.037, 2.582, 3.231",\
                 "0.6199, 0.6649, 0.7724, 0.9213, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7625, 0.8125, 0.9298, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9124, 0.9676, 1.097, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.131, 1.271, 1.451, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.236, 1.3, 1.453, 1.646, 1.874, 2.159, 2.519, 2.967, 3.512, 4.16",\
                 "1.41, 1.48, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4586, 0.5103, 0.6564, 0.8942, 1.246, 1.735, 2.379, 3.191, 4.181, 5.362",\
                 "0.4691, 0.5208, 0.6671, 0.905, 1.256, 1.746, 2.39, 3.2, 4.191, 5.369",\
                 "0.5043, 0.556, 0.7022, 0.94, 1.291, 1.781, 2.425, 3.235, 4.226, 5.404",\
                 "0.5804, 0.6319, 0.7775, 1.015, 1.365, 1.854, 2.498, 3.31, 4.3, 5.48",\
                 "0.6736, 0.7278, 0.877, 1.115, 1.465, 1.953, 2.596, 3.408, 4.398, 5.577",\
                 "0.7692, 0.8257, 0.9786, 1.22, 1.57, 2.057, 2.699, 3.51, 4.5, 5.681",\
                 "0.8664, 0.9255, 1.083, 1.328, 1.678, 2.164, 2.805, 3.615, 4.605, 5.785",\
                 "0.9578, 1.021, 1.185, 1.436, 1.789, 2.274, 2.913, 3.722, 4.71, 5.888",\
                 "1.042, 1.109, 1.28, 1.54, 1.898, 2.385, 3.024, 3.831, 4.818, 5.995",\
                 "1.117, 1.189, 1.367, 1.635, 2.002, 2.495, 3.136, 3.942, 4.928, 6.106");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09762, 0.1348, 0.2385, 0.4212, 0.7229, 1.167, 1.758, 2.508, 3.423, 4.518",\
                 "0.09758, 0.1348, 0.2385, 0.4208, 0.7224, 1.167, 1.759, 2.509, 3.422, 4.518",\
                 "0.09758, 0.1351, 0.2385, 0.4219, 0.7233, 1.167, 1.759, 2.509, 3.424, 4.513",\
                 "0.1097, 0.1454, 0.245, 0.4238, 0.7236, 1.166, 1.759, 2.507, 3.423, 4.515",\
                 "0.1336, 0.1714, 0.2692, 0.4402, 0.731, 1.168, 1.759, 2.509, 3.425, 4.513",\
                 "0.1596, 0.2016, 0.3004, 0.4644, 0.7438, 1.174, 1.762, 2.507, 3.424, 4.518",\
                 "0.1882, 0.2346, 0.3372, 0.4978, 0.7664, 1.186, 1.766, 2.511, 3.423, 4.517",\
                 "0.2182, 0.2704, 0.3804, 0.5382, 0.7976, 1.207, 1.778, 2.517, 3.426, 4.513",\
                 "0.2502, 0.306, 0.4258, 0.586, 0.8364, 1.237, 1.804, 2.532, 3.435, 4.517",\
                 "0.2804, 0.3418, 0.473, 0.6362, 0.883, 1.274, 1.84, 2.566, 3.462, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1351, 0.1972, 0.3949, 0.76, 1.358, 2.219, 3.349, 4.778, 6.525, 8.607",\
                 "0.1359, 0.1977, 0.3953, 0.7602, 1.357, 2.216, 3.349, 4.784, 6.526, 8.605",\
                 "0.1354, 0.1974, 0.395, 0.7602, 1.358, 2.217, 3.35, 4.783, 6.526, 8.603",\
                 "0.1372, 0.1992, 0.3962, 0.7616, 1.358, 2.215, 3.348, 4.779, 6.525, 8.609",\
                 "0.151, 0.212, 0.409, 0.7678, 1.36, 2.215, 3.348, 4.779, 6.526, 8.608",\
                 "0.1656, 0.2272, 0.4226, 0.7782, 1.364, 2.22, 3.354, 4.78, 6.526, 8.608",\
                 "0.1824, 0.2454, 0.441, 0.7926, 1.37, 2.218, 3.354, 4.786, 6.526, 8.605",\
                 "0.2038, 0.2674, 0.4636, 0.814, 1.381, 2.224, 3.352, 4.78, 6.532, 8.604",\
                 "0.2258, 0.2916, 0.4898, 0.8432, 1.404, 2.234, 3.355, 4.78, 6.525, 8.604",\
                 "0.25, 0.319, 0.519, 0.8756, 1.438, 2.26, 3.374, 4.784, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.3219, 0.4197, 0.5619, 0.7598, 1.03, 1.385, 1.831, 2.376, 3.025",\
                 "0.3006, 0.3395, 0.4374, 0.5795, 0.7775, 1.048, 1.402, 1.848, 2.393, 3.042",\
                 "0.3667, 0.4056, 0.5032, 0.6454, 0.8433, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4861, 0.5264, 0.6256, 0.7684, 0.9662, 1.237, 1.591, 2.037, 2.582, 3.231",\
                 "0.6199, 0.6649, 0.7724, 0.9213, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7627, 0.8126, 0.9298, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9124, 0.9676, 1.097, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.451, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.236, 1.3, 1.453, 1.646, 1.874, 2.159, 2.519, 2.967, 3.512, 4.16",\
                 "1.41, 1.48, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4586, 0.5103, 0.6564, 0.8942, 1.246, 1.735, 2.379, 3.191, 4.181, 5.362",\
                 "0.4691, 0.5208, 0.6671, 0.905, 1.256, 1.746, 2.39, 3.2, 4.191, 5.369",\
                 "0.5043, 0.556, 0.7022, 0.9399, 1.292, 1.781, 2.425, 3.236, 4.227, 5.406",\
                 "0.5804, 0.6319, 0.7775, 1.015, 1.365, 1.854, 2.498, 3.31, 4.3, 5.48",\
                 "0.6736, 0.7278, 0.877, 1.115, 1.465, 1.954, 2.596, 3.408, 4.398, 5.579",\
                 "0.7692, 0.8257, 0.9786, 1.22, 1.57, 2.057, 2.699, 3.511, 4.5, 5.681",\
                 "0.8664, 0.9253, 1.083, 1.328, 1.678, 2.164, 2.806, 3.615, 4.604, 5.784",\
                 "0.9576, 1.021, 1.185, 1.436, 1.789, 2.274, 2.913, 3.722, 4.71, 5.889",\
                 "1.042, 1.109, 1.28, 1.539, 1.898, 2.385, 3.024, 3.831, 4.818, 5.995",\
                 "1.117, 1.189, 1.367, 1.635, 2.002, 2.496, 3.137, 3.943, 4.929, 6.106");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09764, 0.1348, 0.2385, 0.4212, 0.7229, 1.167, 1.758, 2.508, 3.423, 4.518",\
                 "0.09758, 0.1348, 0.2385, 0.4208, 0.7224, 1.167, 1.759, 2.509, 3.422, 4.518",\
                 "0.09758, 0.1351, 0.2385, 0.4219, 0.7233, 1.167, 1.759, 2.509, 3.424, 4.513",\
                 "0.1097, 0.1454, 0.245, 0.4238, 0.7236, 1.166, 1.759, 2.507, 3.423, 4.515",\
                 "0.134, 0.1714, 0.2692, 0.4402, 0.731, 1.168, 1.759, 2.509, 3.424, 4.513",\
                 "0.1594, 0.202, 0.3004, 0.4644, 0.744, 1.174, 1.762, 2.507, 3.424, 4.518",\
                 "0.1882, 0.2344, 0.3372, 0.4978, 0.7664, 1.186, 1.766, 2.511, 3.423, 4.517",\
                 "0.2182, 0.2706, 0.3802, 0.5382, 0.7976, 1.207, 1.777, 2.517, 3.426, 4.513",\
                 "0.2502, 0.306, 0.4258, 0.586, 0.837, 1.238, 1.804, 2.532, 3.435, 4.517",\
                 "0.2804, 0.3418, 0.4724, 0.6362, 0.883, 1.274, 1.84, 2.566, 3.462, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1351, 0.1972, 0.3949, 0.76, 1.358, 2.219, 3.349, 4.778, 6.525, 8.607",\
                 "0.1359, 0.1977, 0.3953, 0.7602, 1.357, 2.216, 3.349, 4.784, 6.526, 8.605",\
                 "0.1354, 0.1973, 0.3953, 0.7601, 1.358, 2.219, 3.349, 4.779, 6.526, 8.608",\
                 "0.1372, 0.1992, 0.3962, 0.7616, 1.358, 2.215, 3.348, 4.779, 6.525, 8.609",\
                 "0.151, 0.212, 0.409, 0.7678, 1.36, 2.215, 3.352, 4.78, 6.527, 8.608",\
                 "0.1656, 0.2272, 0.4226, 0.7782, 1.364, 2.217, 3.354, 4.779, 6.526, 8.607",\
                 "0.1824, 0.2446, 0.441, 0.7926, 1.37, 2.218, 3.354, 4.782, 6.525, 8.612",\
                 "0.2048, 0.2678, 0.4638, 0.814, 1.38, 2.224, 3.352, 4.783, 6.525, 8.603",\
                 "0.226, 0.291, 0.49, 0.8426, 1.404, 2.233, 3.355, 4.779, 6.523, 8.604",\
                 "0.25, 0.319, 0.5174, 0.8756, 1.438, 2.263, 3.371, 4.788, 6.523, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.322, 0.4203, 0.5635, 0.7625, 1.035, 1.392, 1.839, 2.383, 3.032",\
                 "0.3006, 0.3396, 0.4379, 0.5811, 0.7802, 1.052, 1.409, 1.856, 2.401, 3.05",\
                 "0.3666, 0.4057, 0.5038, 0.6469, 0.8461, 1.118, 1.475, 1.922, 2.467, 3.116",\
                 "0.4862, 0.5265, 0.6263, 0.7701, 0.9692, 1.241, 1.598, 2.045, 2.589, 3.238",\
                 "0.6205, 0.6656, 0.7736, 0.9237, 1.125, 1.397, 1.753, 2.199, 2.743, 3.392",\
                 "0.7636, 0.8138, 0.932, 1.09, 1.295, 1.567, 1.923, 2.369, 2.913, 3.561",\
                 "0.9147, 0.9701, 1.099, 1.268, 1.478, 1.752, 2.107, 2.553, 3.096, 3.745",\
                 "1.073, 1.134, 1.275, 1.456, 1.675, 1.952, 2.307, 2.752, 3.295, 3.943",\
                 "1.24, 1.305, 1.459, 1.653, 1.882, 2.166, 2.523, 2.968, 3.51, 4.157",\
                 "1.416, 1.485, 1.65, 1.859, 2.1, 2.391, 2.754, 3.2, 3.741, 4.388");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09818, 0.135, 0.2393, 0.4233, 0.726, 1.173, 1.765, 2.507, 3.419, 4.51",\
                 "0.098, 0.1352, 0.2392, 0.4232, 0.7258, 1.174, 1.765, 2.506, 3.418, 4.51",\
                 "0.09832, 0.1353, 0.2395, 0.4233, 0.7263, 1.174, 1.765, 2.507, 3.419, 4.51",\
                 "0.1103, 0.1458, 0.2466, 0.4266, 0.7276, 1.174, 1.764, 2.506, 3.418, 4.509",\
                 "0.1336, 0.1718, 0.2714, 0.4436, 0.7352, 1.175, 1.763, 2.506, 3.419, 4.509",\
                 "0.1608, 0.2028, 0.302, 0.4676, 0.7482, 1.181, 1.765, 2.505, 3.416, 4.508",\
                 "0.1896, 0.2364, 0.3402, 0.5008, 0.7676, 1.189, 1.768, 2.508, 3.419, 4.506",\
                 "0.2198, 0.272, 0.3832, 0.5422, 0.798, 1.204, 1.775, 2.511, 3.418, 4.508",\
                 "0.251, 0.3084, 0.4298, 0.5896, 0.8364, 1.231, 1.788, 2.516, 3.422, 4.506",\
                 "0.2832, 0.3444, 0.4774, 0.6424, 0.8818, 1.268, 1.813, 2.528, 3.424, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.322, 0.4203, 0.5635, 0.7625, 1.035, 1.392, 1.839, 2.383, 3.032",\
                 "0.3006, 0.3396, 0.4379, 0.5811, 0.7802, 1.052, 1.409, 1.856, 2.401, 3.05",\
                 "0.3666, 0.4057, 0.5038, 0.6469, 0.8461, 1.118, 1.475, 1.922, 2.467, 3.116",\
                 "0.4862, 0.5265, 0.6263, 0.7701, 0.9692, 1.241, 1.598, 2.045, 2.589, 3.238",\
                 "0.6204, 0.6656, 0.7736, 0.9237, 1.125, 1.397, 1.753, 2.199, 2.743, 3.392",\
                 "0.7637, 0.8139, 0.9319, 1.09, 1.295, 1.567, 1.923, 2.369, 2.913, 3.561",\
                 "0.9146, 0.9701, 1.099, 1.268, 1.478, 1.752, 2.107, 2.553, 3.096, 3.745",\
                 "1.073, 1.134, 1.275, 1.456, 1.675, 1.952, 2.307, 2.752, 3.295, 3.943",\
                 "1.24, 1.305, 1.459, 1.653, 1.883, 2.166, 2.523, 2.968, 3.51, 4.157",\
                 "1.416, 1.485, 1.65, 1.859, 2.1, 2.391, 2.754, 3.2, 3.741, 4.388");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09818, 0.135, 0.2393, 0.4233, 0.726, 1.173, 1.765, 2.507, 3.419, 4.51",\
                 "0.098, 0.1352, 0.2392, 0.4232, 0.7258, 1.174, 1.765, 2.506, 3.418, 4.51",\
                 "0.09832, 0.1353, 0.2395, 0.4233, 0.7263, 1.174, 1.765, 2.507, 3.419, 4.51",\
                 "0.1102, 0.1458, 0.2466, 0.4266, 0.7276, 1.174, 1.764, 2.506, 3.418, 4.509",\
                 "0.1336, 0.1718, 0.2714, 0.4436, 0.7352, 1.175, 1.763, 2.505, 3.419, 4.509",\
                 "0.1606, 0.203, 0.3022, 0.4676, 0.7486, 1.181, 1.765, 2.506, 3.418, 4.507",\
                 "0.1892, 0.2364, 0.3402, 0.5006, 0.7676, 1.189, 1.769, 2.508, 3.419, 4.506",\
                 "0.2206, 0.272, 0.3832, 0.542, 0.7974, 1.204, 1.775, 2.511, 3.418, 4.508",\
                 "0.2518, 0.3084, 0.4298, 0.5896, 0.8362, 1.231, 1.788, 2.516, 3.42, 4.507",\
                 "0.283, 0.3444, 0.4774, 0.6424, 0.8824, 1.268, 1.813, 2.528, 3.424, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.3219, 0.4197, 0.5619, 0.7598, 1.03, 1.385, 1.831, 2.376, 3.025",\
                 "0.3006, 0.3395, 0.4374, 0.5795, 0.7775, 1.048, 1.402, 1.848, 2.393, 3.042",\
                 "0.3667, 0.4056, 0.5032, 0.6454, 0.8433, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4861, 0.5264, 0.6256, 0.7684, 0.9662, 1.237, 1.591, 2.037, 2.582, 3.231",\
                 "0.6199, 0.6649, 0.7724, 0.9213, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7627, 0.8126, 0.9301, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9124, 0.9676, 1.097, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.451, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.236, 1.301, 1.453, 1.646, 1.874, 2.159, 2.519, 2.967, 3.512, 4.16",\
                 "1.41, 1.48, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4586, 0.5103, 0.6564, 0.8942, 1.246, 1.735, 2.379, 3.191, 4.181, 5.362",\
                 "0.4691, 0.5208, 0.6671, 0.905, 1.256, 1.746, 2.39, 3.2, 4.191, 5.369",\
                 "0.5043, 0.556, 0.7022, 0.9399, 1.292, 1.781, 2.425, 3.236, 4.227, 5.406",\
                 "0.5804, 0.6319, 0.7775, 1.015, 1.365, 1.854, 2.498, 3.31, 4.3, 5.48",\
                 "0.6737, 0.7279, 0.877, 1.115, 1.465, 1.953, 2.596, 3.408, 4.398, 5.577",\
                 "0.7692, 0.8257, 0.9786, 1.22, 1.57, 2.057, 2.7, 3.511, 4.5, 5.681",\
                 "0.8659, 0.9255, 1.083, 1.328, 1.678, 2.164, 2.805, 3.615, 4.604, 5.784",\
                 "0.9576, 1.021, 1.185, 1.436, 1.789, 2.274, 2.914, 3.722, 4.71, 5.889",\
                 "1.042, 1.109, 1.28, 1.54, 1.898, 2.386, 3.024, 3.831, 4.818, 5.995",\
                 "1.117, 1.189, 1.367, 1.635, 2.002, 2.495, 3.136, 3.942, 4.929, 6.106");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09762, 0.1348, 0.2385, 0.4212, 0.7229, 1.167, 1.758, 2.508, 3.423, 4.518",\
                 "0.09758, 0.1348, 0.2385, 0.4208, 0.7224, 1.167, 1.759, 2.509, 3.422, 4.518",\
                 "0.09758, 0.1351, 0.2385, 0.4219, 0.7233, 1.167, 1.759, 2.509, 3.424, 4.513",\
                 "0.1097, 0.1454, 0.245, 0.4238, 0.7236, 1.166, 1.759, 2.507, 3.423, 4.515",\
                 "0.134, 0.1716, 0.2692, 0.4402, 0.731, 1.169, 1.759, 2.509, 3.424, 4.513",\
                 "0.1594, 0.202, 0.3002, 0.4644, 0.744, 1.174, 1.762, 2.507, 3.424, 4.518",\
                 "0.1882, 0.2344, 0.3372, 0.4978, 0.7664, 1.186, 1.766, 2.511, 3.423, 4.517",\
                 "0.2182, 0.27, 0.3802, 0.5382, 0.7976, 1.207, 1.778, 2.517, 3.426, 4.516",\
                 "0.2502, 0.306, 0.4258, 0.585, 0.8364, 1.237, 1.804, 2.534, 3.435, 4.517",\
                 "0.2804, 0.3418, 0.4724, 0.6362, 0.883, 1.274, 1.84, 2.566, 3.462, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1351, 0.1972, 0.3949, 0.76, 1.358, 2.219, 3.349, 4.778, 6.525, 8.607",\
                 "0.1359, 0.1977, 0.3953, 0.7602, 1.357, 2.216, 3.349, 4.784, 6.526, 8.605",\
                 "0.1355, 0.1972, 0.3953, 0.7601, 1.358, 2.219, 3.349, 4.78, 6.526, 8.608",\
                 "0.1372, 0.1992, 0.3962, 0.7616, 1.358, 2.215, 3.348, 4.779, 6.525, 8.609",\
                 "0.1508, 0.212, 0.409, 0.7678, 1.36, 2.215, 3.348, 4.779, 6.526, 8.608",\
                 "0.1656, 0.2272, 0.4226, 0.7782, 1.364, 2.217, 3.353, 4.779, 6.526, 8.607",\
                 "0.1838, 0.2454, 0.441, 0.7926, 1.37, 2.218, 3.355, 4.786, 6.525, 8.612",\
                 "0.2048, 0.2678, 0.4638, 0.8142, 1.38, 2.223, 3.351, 4.783, 6.525, 8.603",\
                 "0.226, 0.2916, 0.4898, 0.8428, 1.404, 2.235, 3.355, 4.78, 6.523, 8.604",\
                 "0.25, 0.319, 0.5172, 0.8748, 1.437, 2.26, 3.374, 4.784, 6.523, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.3219, 0.4197, 0.5619, 0.7598, 1.03, 1.385, 1.831, 2.376, 3.025",\
                 "0.3006, 0.3395, 0.4374, 0.5795, 0.7775, 1.048, 1.402, 1.848, 2.393, 3.042",\
                 "0.3667, 0.4056, 0.5032, 0.6454, 0.8433, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4861, 0.5264, 0.6256, 0.7684, 0.9662, 1.237, 1.591, 2.037, 2.582, 3.231",\
                 "0.6199, 0.6649, 0.7724, 0.9213, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7627, 0.8125, 0.9298, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9126, 0.9679, 1.097, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.451, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.236, 1.301, 1.453, 1.646, 1.874, 2.159, 2.519, 2.967, 3.511, 4.16",\
                 "1.41, 1.48, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4586, 0.5103, 0.6564, 0.8942, 1.246, 1.735, 2.379, 3.191, 4.181, 5.362",\
                 "0.4691, 0.5208, 0.6671, 0.905, 1.256, 1.746, 2.39, 3.2, 4.191, 5.369",\
                 "0.5043, 0.556, 0.7022, 0.9399, 1.292, 1.781, 2.425, 3.236, 4.227, 5.406",\
                 "0.5804, 0.6319, 0.7775, 1.015, 1.365, 1.854, 2.498, 3.31, 4.3, 5.48",\
                 "0.6736, 0.7278, 0.877, 1.115, 1.465, 1.953, 2.596, 3.408, 4.398, 5.577",\
                 "0.7692, 0.8256, 0.9785, 1.22, 1.57, 2.057, 2.7, 3.51, 4.499, 5.68",\
                 "0.8662, 0.9255, 1.083, 1.328, 1.678, 2.164, 2.806, 3.615, 4.604, 5.784",\
                 "0.958, 1.021, 1.185, 1.437, 1.789, 2.274, 2.914, 3.722, 4.71, 5.889",\
                 "1.042, 1.109, 1.28, 1.539, 1.898, 2.385, 3.024, 3.831, 4.818, 5.995",\
                 "1.117, 1.189, 1.367, 1.635, 2.002, 2.495, 3.137, 3.943, 4.929, 6.106");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09766, 0.1348, 0.2385, 0.4212, 0.7229, 1.167, 1.758, 2.508, 3.423, 4.518",\
                 "0.09758, 0.1348, 0.2385, 0.4208, 0.7224, 1.167, 1.759, 2.509, 3.422, 4.518",\
                 "0.09758, 0.1351, 0.2385, 0.4219, 0.7233, 1.167, 1.759, 2.509, 3.424, 4.513",\
                 "0.1097, 0.1454, 0.245, 0.4238, 0.7236, 1.166, 1.759, 2.507, 3.423, 4.515",\
                 "0.134, 0.1716, 0.2692, 0.4402, 0.731, 1.169, 1.758, 2.509, 3.424, 4.513",\
                 "0.1594, 0.2016, 0.3004, 0.4642, 0.744, 1.174, 1.762, 2.509, 3.424, 4.518",\
                 "0.1884, 0.2352, 0.3372, 0.4982, 0.7664, 1.186, 1.766, 2.511, 3.423, 4.517",\
                 "0.2188, 0.2706, 0.3804, 0.5382, 0.7976, 1.206, 1.777, 2.517, 3.427, 4.516",\
                 "0.2502, 0.3066, 0.4258, 0.5846, 0.8372, 1.237, 1.804, 2.533, 3.434, 4.517",\
                 "0.2804, 0.3418, 0.473, 0.6374, 0.883, 1.274, 1.84, 2.566, 3.462, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1351, 0.1972, 0.3949, 0.76, 1.358, 2.219, 3.349, 4.778, 6.525, 8.607",\
                 "0.1359, 0.1977, 0.3953, 0.7602, 1.357, 2.216, 3.349, 4.784, 6.526, 8.605",\
                 "0.1355, 0.1972, 0.3953, 0.7601, 1.358, 2.219, 3.35, 4.78, 6.526, 8.607",\
                 "0.1372, 0.1992, 0.3962, 0.7616, 1.358, 2.215, 3.348, 4.779, 6.525, 8.609",\
                 "0.151, 0.212, 0.409, 0.7678, 1.36, 2.215, 3.348, 4.779, 6.526, 8.608",\
                 "0.1656, 0.2266, 0.4236, 0.7784, 1.364, 2.215, 3.35, 4.78, 6.529, 8.608",\
                 "0.1832, 0.2454, 0.4416, 0.7918, 1.37, 2.219, 3.354, 4.782, 6.525, 8.612",\
                 "0.2044, 0.2682, 0.4646, 0.814, 1.381, 2.224, 3.351, 4.782, 6.531, 8.604",\
                 "0.2262, 0.2916, 0.4894, 0.843, 1.405, 2.233, 3.355, 4.779, 6.525, 8.604",\
                 "0.25, 0.319, 0.5174, 0.8756, 1.438, 2.261, 3.371, 4.786, 6.523, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.322, 0.4203, 0.5635, 0.7625, 1.035, 1.392, 1.839, 2.383, 3.032",\
                 "0.3006, 0.3396, 0.4379, 0.5811, 0.7802, 1.052, 1.409, 1.856, 2.401, 3.05",\
                 "0.3666, 0.4057, 0.5038, 0.6469, 0.8461, 1.118, 1.475, 1.922, 2.467, 3.116",\
                 "0.4862, 0.5265, 0.6263, 0.7701, 0.9692, 1.241, 1.598, 2.045, 2.589, 3.238",\
                 "0.6205, 0.6655, 0.7736, 0.9236, 1.125, 1.397, 1.753, 2.199, 2.743, 3.392",\
                 "0.7637, 0.8139, 0.9318, 1.09, 1.295, 1.567, 1.923, 2.369, 2.913, 3.561",\
                 "0.9147, 0.9701, 1.099, 1.268, 1.478, 1.752, 2.107, 2.553, 3.096, 3.745",\
                 "1.073, 1.134, 1.275, 1.456, 1.675, 1.952, 2.307, 2.752, 3.295, 3.943",\
                 "1.24, 1.305, 1.459, 1.653, 1.882, 2.166, 2.523, 2.968, 3.51, 4.157",\
                 "1.416, 1.485, 1.65, 1.859, 2.1, 2.391, 2.754, 3.2, 3.741, 4.388");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09818, 0.135, 0.2393, 0.4233, 0.726, 1.173, 1.765, 2.507, 3.419, 4.51",\
                 "0.098, 0.1352, 0.2392, 0.4232, 0.7258, 1.174, 1.765, 2.506, 3.418, 4.51",\
                 "0.09834, 0.1353, 0.2395, 0.4233, 0.7263, 1.174, 1.765, 2.507, 3.419, 4.51",\
                 "0.1103, 0.1458, 0.2465, 0.4266, 0.7276, 1.174, 1.764, 2.506, 3.418, 4.51",\
                 "0.1336, 0.172, 0.2712, 0.4434, 0.7352, 1.175, 1.763, 2.506, 3.419, 4.509",\
                 "0.1608, 0.2028, 0.302, 0.4676, 0.7486, 1.181, 1.765, 2.506, 3.417, 4.51",\
                 "0.1894, 0.2364, 0.3402, 0.5008, 0.7674, 1.189, 1.768, 2.508, 3.419, 4.506",\
                 "0.22, 0.2718, 0.3832, 0.5422, 0.7976, 1.204, 1.774, 2.511, 3.419, 4.508",\
                 "0.251, 0.3084, 0.4298, 0.5896, 0.8366, 1.231, 1.788, 2.516, 3.421, 4.507",\
                 "0.283, 0.3444, 0.4776, 0.6424, 0.8818, 1.268, 1.813, 2.528, 3.424, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.322, 0.4203, 0.5635, 0.7625, 1.035, 1.392, 1.839, 2.383, 3.032",\
                 "0.3006, 0.3397, 0.438, 0.5812, 0.7802, 1.052, 1.409, 1.856, 2.401, 3.05",\
                 "0.3667, 0.4056, 0.5038, 0.6469, 0.8461, 1.118, 1.475, 1.922, 2.467, 3.116",\
                 "0.4862, 0.5265, 0.6263, 0.7701, 0.9692, 1.241, 1.598, 2.045, 2.589, 3.238",\
                 "0.6204, 0.6655, 0.7736, 0.9237, 1.125, 1.397, 1.753, 2.199, 2.743, 3.392",\
                 "0.7636, 0.8139, 0.932, 1.09, 1.295, 1.568, 1.923, 2.369, 2.913, 3.561",\
                 "0.9148, 0.9699, 1.1, 1.268, 1.479, 1.752, 2.107, 2.553, 3.096, 3.744",\
                 "1.073, 1.134, 1.275, 1.456, 1.675, 1.952, 2.307, 2.752, 3.295, 3.943",\
                 "1.24, 1.305, 1.458, 1.653, 1.882, 2.166, 2.523, 2.968, 3.51, 4.157",\
                 "1.416, 1.485, 1.65, 1.859, 2.1, 2.391, 2.754, 3.2, 3.741, 4.388");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09826, 0.1351, 0.2393, 0.4233, 0.7258, 1.174, 1.765, 2.506, 3.419, 4.509",\
                 "0.0981, 0.1352, 0.2391, 0.4233, 0.7259, 1.174, 1.764, 2.507, 3.419, 4.51",\
                 "0.09834, 0.1356, 0.2394, 0.4234, 0.7263, 1.174, 1.764, 2.507, 3.419, 4.51",\
                 "0.1102, 0.1459, 0.2461, 0.4264, 0.7274, 1.174, 1.763, 2.506, 3.418, 4.511",\
                 "0.1336, 0.1722, 0.2712, 0.4436, 0.7352, 1.175, 1.763, 2.505, 3.419, 4.506",\
                 "0.1608, 0.2032, 0.302, 0.4674, 0.7482, 1.181, 1.765, 2.506, 3.416, 4.508",\
                 "0.1894, 0.2362, 0.3402, 0.5008, 0.7674, 1.188, 1.768, 2.508, 3.418, 4.511",\
                 "0.2202, 0.2724, 0.3838, 0.5422, 0.7976, 1.204, 1.774, 2.511, 3.418, 4.507",\
                 "0.2516, 0.3078, 0.43, 0.5896, 0.8368, 1.231, 1.788, 2.516, 3.42, 4.507",\
                 "0.2816, 0.3452, 0.4776, 0.6424, 0.882, 1.268, 1.813, 2.528, 3.423, 4.512");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.3219, 0.4197, 0.5619, 0.7598, 1.03, 1.385, 1.831, 2.376, 3.025",\
                 "0.3006, 0.3395, 0.4374, 0.5795, 0.7775, 1.048, 1.402, 1.848, 2.393, 3.042",\
                 "0.3667, 0.4056, 0.5032, 0.6454, 0.8433, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4861, 0.5264, 0.6256, 0.7684, 0.9662, 1.237, 1.591, 2.037, 2.582, 3.231",\
                 "0.6199, 0.6649, 0.7724, 0.9213, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7627, 0.8125, 0.9298, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9125, 0.9676, 1.097, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.451, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.236, 1.301, 1.453, 1.646, 1.875, 2.159, 2.519, 2.967, 3.512, 4.159",\
                 "1.41, 1.48, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4586, 0.5103, 0.6564, 0.8942, 1.246, 1.735, 2.379, 3.191, 4.181, 5.362",\
                 "0.4691, 0.5208, 0.6671, 0.905, 1.256, 1.746, 2.39, 3.2, 4.191, 5.369",\
                 "0.5043, 0.556, 0.7022, 0.94, 1.291, 1.781, 2.425, 3.235, 4.226, 5.404",\
                 "0.5804, 0.6319, 0.7775, 1.015, 1.365, 1.854, 2.498, 3.31, 4.3, 5.48",\
                 "0.6736, 0.7278, 0.8771, 1.115, 1.465, 1.954, 2.597, 3.407, 4.397, 5.579",\
                 "0.7692, 0.8257, 0.9786, 1.22, 1.57, 2.057, 2.7, 3.51, 4.5, 5.681",\
                 "0.8659, 0.9255, 1.083, 1.328, 1.678, 2.164, 2.805, 3.614, 4.605, 5.784",\
                 "0.9579, 1.021, 1.185, 1.436, 1.789, 2.274, 2.914, 3.722, 4.71, 5.889",\
                 "1.042, 1.109, 1.28, 1.539, 1.898, 2.385, 3.024, 3.831, 4.818, 5.996",\
                 "1.117, 1.189, 1.367, 1.635, 2.002, 2.495, 3.136, 3.943, 4.928, 6.106");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09764, 0.1348, 0.2385, 0.4212, 0.7229, 1.167, 1.758, 2.508, 3.423, 4.518",\
                 "0.09758, 0.1348, 0.2385, 0.4208, 0.7224, 1.167, 1.759, 2.509, 3.422, 4.518",\
                 "0.09758, 0.1351, 0.2385, 0.4219, 0.7233, 1.167, 1.759, 2.509, 3.424, 4.513",\
                 "0.1097, 0.1454, 0.245, 0.4238, 0.7236, 1.166, 1.759, 2.507, 3.423, 4.515",\
                 "0.134, 0.1716, 0.2692, 0.4402, 0.731, 1.169, 1.759, 2.509, 3.424, 4.513",\
                 "0.1594, 0.2016, 0.3004, 0.4644, 0.7448, 1.174, 1.762, 2.507, 3.424, 4.518",\
                 "0.1886, 0.2346, 0.3372, 0.4978, 0.7664, 1.186, 1.766, 2.511, 3.423, 4.517",\
                 "0.2182, 0.2706, 0.3804, 0.5386, 0.7976, 1.206, 1.778, 2.516, 3.427, 4.513",\
                 "0.2502, 0.3058, 0.4258, 0.585, 0.8366, 1.237, 1.804, 2.532, 3.435, 4.518",\
                 "0.2804, 0.3418, 0.473, 0.6374, 0.883, 1.274, 1.84, 2.566, 3.462, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1351, 0.1972, 0.3949, 0.76, 1.358, 2.219, 3.349, 4.778, 6.525, 8.607",\
                 "0.1359, 0.1977, 0.3953, 0.7602, 1.357, 2.216, 3.349, 4.784, 6.526, 8.605",\
                 "0.1354, 0.1974, 0.395, 0.7604, 1.358, 2.217, 3.35, 4.783, 6.526, 8.604",\
                 "0.1372, 0.1992, 0.3962, 0.7616, 1.358, 2.215, 3.348, 4.779, 6.525, 8.609",\
                 "0.151, 0.212, 0.4084, 0.7678, 1.36, 2.215, 3.35, 4.78, 6.531, 8.607",\
                 "0.1656, 0.2272, 0.4226, 0.7782, 1.364, 2.22, 3.354, 4.78, 6.526, 8.608",\
                 "0.1844, 0.2454, 0.4406, 0.7926, 1.37, 2.219, 3.352, 4.78, 6.526, 8.606",\
                 "0.204, 0.2674, 0.4642, 0.8144, 1.381, 2.223, 3.351, 4.781, 6.531, 8.6",\
                 "0.2256, 0.291, 0.4894, 0.8428, 1.405, 2.233, 3.357, 4.78, 6.525, 8.604",\
                 "0.25, 0.319, 0.5174, 0.8756, 1.438, 2.26, 3.374, 4.786, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.3219, 0.4197, 0.5619, 0.7598, 1.03, 1.385, 1.831, 2.376, 3.025",\
                 "0.3006, 0.3395, 0.4374, 0.5795, 0.7775, 1.048, 1.402, 1.848, 2.393, 3.042",\
                 "0.3667, 0.4056, 0.5032, 0.6454, 0.8433, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4861, 0.5264, 0.6256, 0.7684, 0.9662, 1.237, 1.591, 2.037, 2.582, 3.231",\
                 "0.6199, 0.6649, 0.7724, 0.9213, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7627, 0.8126, 0.9298, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9126, 0.9679, 1.097, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.451, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.236, 1.301, 1.453, 1.646, 1.874, 2.159, 2.519, 2.967, 3.512, 4.159",\
                 "1.41, 1.48, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4586, 0.5103, 0.6564, 0.8942, 1.246, 1.735, 2.379, 3.191, 4.181, 5.362",\
                 "0.4691, 0.5208, 0.6671, 0.905, 1.256, 1.746, 2.39, 3.2, 4.191, 5.369",\
                 "0.5043, 0.556, 0.7022, 0.9399, 1.292, 1.781, 2.425, 3.236, 4.227, 5.406",\
                 "0.5804, 0.6319, 0.7775, 1.015, 1.365, 1.854, 2.498, 3.31, 4.3, 5.48",\
                 "0.6736, 0.7278, 0.8771, 1.115, 1.465, 1.954, 2.596, 3.408, 4.397, 5.579",\
                 "0.7692, 0.8257, 0.9786, 1.22, 1.57, 2.057, 2.7, 3.511, 4.5, 5.681",\
                 "0.8658, 0.9253, 1.083, 1.328, 1.678, 2.165, 2.806, 3.615, 4.604, 5.784",\
                 "0.9579, 1.021, 1.185, 1.436, 1.789, 2.274, 2.915, 3.722, 4.71, 5.888",\
                 "1.042, 1.109, 1.28, 1.539, 1.898, 2.385, 3.024, 3.831, 4.818, 5.996",\
                 "1.117, 1.189, 1.367, 1.635, 2.002, 2.495, 3.137, 3.943, 4.929, 6.106");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09762, 0.1348, 0.2385, 0.4212, 0.7229, 1.167, 1.758, 2.508, 3.423, 4.518",\
                 "0.09758, 0.1348, 0.2385, 0.4208, 0.7224, 1.167, 1.759, 2.509, 3.422, 4.518",\
                 "0.09758, 0.1351, 0.2385, 0.4219, 0.7233, 1.167, 1.759, 2.509, 3.424, 4.513",\
                 "0.1097, 0.1454, 0.245, 0.4238, 0.7236, 1.166, 1.759, 2.507, 3.423, 4.515",\
                 "0.134, 0.1716, 0.2692, 0.4402, 0.731, 1.169, 1.759, 2.509, 3.424, 4.513",\
                 "0.1594, 0.202, 0.3004, 0.4644, 0.7448, 1.174, 1.762, 2.507, 3.424, 4.518",\
                 "0.1884, 0.2352, 0.3372, 0.4978, 0.7664, 1.186, 1.766, 2.511, 3.423, 4.517",\
                 "0.2182, 0.2706, 0.3802, 0.5382, 0.7976, 1.206, 1.778, 2.516, 3.427, 4.516",\
                 "0.2502, 0.3058, 0.4258, 0.585, 0.837, 1.237, 1.804, 2.532, 3.435, 4.518",\
                 "0.2804, 0.3418, 0.473, 0.6374, 0.883, 1.274, 1.84, 2.566, 3.46, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1351, 0.1972, 0.3949, 0.76, 1.358, 2.219, 3.349, 4.778, 6.525, 8.607",\
                 "0.1359, 0.1977, 0.3953, 0.7602, 1.357, 2.216, 3.349, 4.784, 6.526, 8.605",\
                 "0.1354, 0.1973, 0.3953, 0.7601, 1.358, 2.219, 3.349, 4.779, 6.526, 8.608",\
                 "0.1372, 0.1992, 0.3962, 0.7616, 1.358, 2.215, 3.348, 4.779, 6.525, 8.609",\
                 "0.151, 0.212, 0.4084, 0.7678, 1.36, 2.214, 3.354, 4.779, 6.531, 8.607",\
                 "0.1656, 0.2272, 0.4226, 0.7782, 1.364, 2.217, 3.354, 4.779, 6.526, 8.607",\
                 "0.1844, 0.2446, 0.4406, 0.7926, 1.37, 2.219, 3.354, 4.782, 6.525, 8.612",\
                 "0.204, 0.2674, 0.4642, 0.8144, 1.381, 2.223, 3.351, 4.782, 6.529, 8.604",\
                 "0.2256, 0.291, 0.4904, 0.8426, 1.405, 2.233, 3.355, 4.78, 6.525, 8.604",\
                 "0.25, 0.319, 0.5174, 0.8756, 1.438, 2.261, 3.371, 4.788, 6.523, 8.604");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.322, 0.4203, 0.5635, 0.7625, 1.035, 1.392, 1.839, 2.383, 3.032",\
                 "0.3006, 0.3397, 0.438, 0.5812, 0.7802, 1.052, 1.409, 1.856, 2.401, 3.05",\
                 "0.3667, 0.4056, 0.5038, 0.6469, 0.8461, 1.118, 1.475, 1.922, 2.467, 3.116",\
                 "0.4862, 0.5265, 0.6263, 0.7701, 0.9692, 1.241, 1.598, 2.045, 2.589, 3.238",\
                 "0.6205, 0.6655, 0.7735, 0.9236, 1.125, 1.397, 1.753, 2.199, 2.743, 3.392",\
                 "0.7638, 0.8138, 0.932, 1.09, 1.295, 1.568, 1.923, 2.369, 2.913, 3.561",\
                 "0.9148, 0.9699, 1.1, 1.268, 1.479, 1.752, 2.107, 2.553, 3.096, 3.744",\
                 "1.073, 1.134, 1.275, 1.456, 1.675, 1.952, 2.307, 2.752, 3.295, 3.943",\
                 "1.24, 1.305, 1.458, 1.653, 1.882, 2.166, 2.523, 2.968, 3.51, 4.157",\
                 "1.416, 1.485, 1.65, 1.859, 2.1, 2.391, 2.754, 3.2, 3.741, 4.388");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09826, 0.1351, 0.2393, 0.4233, 0.7258, 1.174, 1.765, 2.506, 3.419, 4.509",\
                 "0.0981, 0.1352, 0.2391, 0.4233, 0.7259, 1.174, 1.764, 2.507, 3.419, 4.51",\
                 "0.09834, 0.1355, 0.2394, 0.4234, 0.7265, 1.174, 1.764, 2.507, 3.419, 4.51",\
                 "0.1102, 0.1459, 0.2461, 0.4264, 0.7274, 1.174, 1.763, 2.506, 3.418, 4.511",\
                 "0.1336, 0.172, 0.271, 0.4434, 0.7352, 1.175, 1.763, 2.505, 3.419, 4.511",\
                 "0.1606, 0.2028, 0.302, 0.4674, 0.748, 1.181, 1.765, 2.506, 3.416, 4.508",\
                 "0.1892, 0.2362, 0.3402, 0.5006, 0.7674, 1.188, 1.768, 2.508, 3.42, 4.507",\
                 "0.22, 0.2724, 0.3832, 0.5422, 0.7978, 1.204, 1.774, 2.511, 3.419, 4.509",\
                 "0.2516, 0.3078, 0.4298, 0.5898, 0.8366, 1.231, 1.788, 2.515, 3.421, 4.507",\
                 "0.2828, 0.3438, 0.4776, 0.6424, 0.8824, 1.268, 1.813, 2.527, 3.425, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.322, 0.4203, 0.5635, 0.7625, 1.035, 1.392, 1.839, 2.383, 3.032",\
                 "0.3006, 0.3397, 0.438, 0.5812, 0.7802, 1.052, 1.409, 1.856, 2.401, 3.05",\
                 "0.3667, 0.4056, 0.5038, 0.6469, 0.8461, 1.118, 1.475, 1.922, 2.467, 3.116",\
                 "0.4862, 0.5264, 0.6263, 0.7701, 0.9692, 1.241, 1.598, 2.045, 2.589, 3.238",\
                 "0.6204, 0.6655, 0.7736, 0.9237, 1.125, 1.397, 1.753, 2.199, 2.743, 3.392",\
                 "0.7636, 0.8139, 0.9321, 1.09, 1.295, 1.568, 1.923, 2.369, 2.913, 3.561",\
                 "0.9148, 0.9699, 1.099, 1.268, 1.479, 1.752, 2.107, 2.553, 3.096, 3.744",\
                 "1.073, 1.134, 1.275, 1.456, 1.675, 1.952, 2.307, 2.752, 3.295, 3.943",\
                 "1.24, 1.305, 1.458, 1.653, 1.882, 2.166, 2.523, 2.968, 3.51, 4.157",\
                 "1.416, 1.485, 1.65, 1.859, 2.1, 2.391, 2.754, 3.2, 3.741, 4.388");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09826, 0.1351, 0.2393, 0.4233, 0.7258, 1.174, 1.765, 2.506, 3.419, 4.509",\
                 "0.0981, 0.1352, 0.2391, 0.4233, 0.7259, 1.174, 1.764, 2.507, 3.419, 4.51",\
                 "0.09834, 0.1355, 0.2394, 0.4234, 0.7265, 1.174, 1.764, 2.507, 3.419, 4.51",\
                 "0.1102, 0.1458, 0.2461, 0.4264, 0.7274, 1.174, 1.763, 2.506, 3.418, 4.511",\
                 "0.1336, 0.1722, 0.2712, 0.4436, 0.7352, 1.175, 1.763, 2.505, 3.418, 4.508",\
                 "0.1608, 0.203, 0.302, 0.4674, 0.748, 1.181, 1.765, 2.506, 3.416, 4.508",\
                 "0.1892, 0.2362, 0.3402, 0.501, 0.7674, 1.188, 1.768, 2.508, 3.418, 4.507",\
                 "0.22, 0.2724, 0.3832, 0.5418, 0.7978, 1.204, 1.774, 2.511, 3.419, 4.509",\
                 "0.2516, 0.3076, 0.4298, 0.5898, 0.8366, 1.231, 1.788, 2.515, 3.421, 4.507",\
                 "0.2828, 0.3438, 0.4776, 0.6424, 0.8824, 1.268, 1.813, 2.527, 3.424, 4.507");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.3219, 0.4197, 0.5619, 0.7598, 1.03, 1.385, 1.831, 2.376, 3.025",\
                 "0.3006, 0.3395, 0.4374, 0.5795, 0.7775, 1.048, 1.402, 1.848, 2.393, 3.042",\
                 "0.3667, 0.4056, 0.5032, 0.6454, 0.8433, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4861, 0.5264, 0.6256, 0.7684, 0.9662, 1.237, 1.591, 2.037, 2.582, 3.231",\
                 "0.6199, 0.6649, 0.7724, 0.9213, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7627, 0.8125, 0.9301, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9124, 0.9678, 1.097, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.451, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.236, 1.301, 1.453, 1.646, 1.874, 2.159, 2.519, 2.967, 3.512, 4.16",\
                 "1.41, 1.48, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4586, 0.5103, 0.6564, 0.8942, 1.246, 1.735, 2.379, 3.191, 4.181, 5.362",\
                 "0.4691, 0.5208, 0.6671, 0.905, 1.256, 1.746, 2.39, 3.2, 4.191, 5.369",\
                 "0.5043, 0.556, 0.7022, 0.9399, 1.292, 1.781, 2.425, 3.236, 4.227, 5.406",\
                 "0.5804, 0.6319, 0.7775, 1.015, 1.365, 1.854, 2.498, 3.31, 4.3, 5.48",\
                 "0.6736, 0.7278, 0.8771, 1.115, 1.465, 1.954, 2.596, 3.408, 4.398, 5.579",\
                 "0.7692, 0.8257, 0.9786, 1.22, 1.57, 2.057, 2.7, 3.511, 4.5, 5.681",\
                 "0.8662, 0.9255, 1.083, 1.328, 1.678, 2.165, 2.806, 3.615, 4.604, 5.784",\
                 "0.9578, 1.021, 1.185, 1.437, 1.79, 2.275, 2.914, 3.722, 4.71, 5.889",\
                 "1.042, 1.109, 1.28, 1.54, 1.898, 2.385, 3.024, 3.831, 4.818, 5.995",\
                 "1.117, 1.189, 1.367, 1.635, 2.002, 2.495, 3.136, 3.943, 4.929, 6.106");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09762, 0.1348, 0.2385, 0.4212, 0.7229, 1.167, 1.758, 2.508, 3.423, 4.518",\
                 "0.09758, 0.1348, 0.2385, 0.4208, 0.7224, 1.167, 1.759, 2.509, 3.422, 4.518",\
                 "0.09758, 0.1351, 0.2385, 0.4219, 0.7233, 1.167, 1.759, 2.509, 3.424, 4.513",\
                 "0.1097, 0.1454, 0.245, 0.4238, 0.7236, 1.166, 1.759, 2.507, 3.423, 4.515",\
                 "0.134, 0.1716, 0.2692, 0.4402, 0.7312, 1.169, 1.759, 2.509, 3.424, 4.513",\
                 "0.1594, 0.2016, 0.3002, 0.4644, 0.744, 1.175, 1.761, 2.507, 3.424, 4.518",\
                 "0.1882, 0.2344, 0.3372, 0.4978, 0.7664, 1.186, 1.766, 2.511, 3.423, 4.517",\
                 "0.2182, 0.27, 0.3804, 0.5382, 0.7976, 1.206, 1.777, 2.517, 3.427, 4.516",\
                 "0.2502, 0.306, 0.4258, 0.586, 0.8364, 1.237, 1.804, 2.533, 3.435, 4.517",\
                 "0.2804, 0.3418, 0.4724, 0.6362, 0.883, 1.274, 1.84, 2.566, 3.462, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1351, 0.1972, 0.3949, 0.76, 1.358, 2.219, 3.349, 4.778, 6.525, 8.607",\
                 "0.1359, 0.1977, 0.3953, 0.7602, 1.357, 2.216, 3.349, 4.784, 6.526, 8.605",\
                 "0.1355, 0.1972, 0.3953, 0.7601, 1.358, 2.219, 3.349, 4.78, 6.526, 8.608",\
                 "0.1372, 0.1992, 0.3962, 0.7616, 1.358, 2.215, 3.348, 4.779, 6.525, 8.609",\
                 "0.151, 0.212, 0.4092, 0.7678, 1.359, 2.215, 3.352, 4.78, 6.527, 8.608",\
                 "0.1656, 0.2272, 0.4226, 0.779, 1.365, 2.215, 3.353, 4.779, 6.526, 8.607",\
                 "0.1832, 0.2454, 0.441, 0.7926, 1.37, 2.219, 3.354, 4.782, 6.525, 8.612",\
                 "0.204, 0.268, 0.4642, 0.8136, 1.382, 2.222, 3.351, 4.782, 6.529, 8.602",\
                 "0.226, 0.2916, 0.4898, 0.8428, 1.405, 2.233, 3.355, 4.78, 6.525, 8.61",\
                 "0.25, 0.319, 0.5172, 0.8748, 1.438, 2.26, 3.374, 4.786, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.3219, 0.4197, 0.5619, 0.7598, 1.03, 1.385, 1.831, 2.376, 3.025",\
                 "0.3006, 0.3395, 0.4374, 0.5795, 0.7775, 1.048, 1.402, 1.848, 2.393, 3.042",\
                 "0.3667, 0.4056, 0.5032, 0.6454, 0.8433, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4861, 0.5264, 0.6257, 0.7684, 0.9662, 1.237, 1.591, 2.037, 2.582, 3.231",\
                 "0.6199, 0.6649, 0.7724, 0.9212, 1.121, 1.391, 1.745, 2.191, 2.735, 3.385",\
                 "0.7627, 0.8125, 0.9298, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9125, 0.9678, 1.097, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.451, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.236, 1.301, 1.453, 1.646, 1.874, 2.159, 2.519, 2.967, 3.511, 4.16",\
                 "1.41, 1.48, 1.643, 1.85, 2.09, 2.382, 2.748, 3.202, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4586, 0.5103, 0.6564, 0.8942, 1.246, 1.735, 2.379, 3.191, 4.181, 5.362",\
                 "0.4691, 0.5208, 0.6671, 0.905, 1.256, 1.746, 2.39, 3.2, 4.191, 5.369",\
                 "0.5043, 0.556, 0.7022, 0.9399, 1.292, 1.781, 2.425, 3.236, 4.227, 5.406",\
                 "0.5804, 0.6319, 0.7775, 1.015, 1.365, 1.854, 2.498, 3.31, 4.3, 5.48",\
                 "0.6736, 0.7278, 0.877, 1.115, 1.465, 1.953, 2.596, 3.408, 4.398, 5.577",\
                 "0.7692, 0.8259, 0.9785, 1.22, 1.57, 2.057, 2.699, 3.51, 4.5, 5.68",\
                 "0.8658, 0.9255, 1.083, 1.328, 1.678, 2.164, 2.805, 3.615, 4.603, 5.783",\
                 "0.9578, 1.021, 1.185, 1.437, 1.789, 2.275, 2.914, 3.722, 4.71, 5.89",\
                 "1.042, 1.109, 1.28, 1.54, 1.898, 2.385, 3.024, 3.831, 4.818, 5.996",\
                 "1.117, 1.189, 1.367, 1.635, 2.002, 2.495, 3.136, 3.942, 4.929, 6.106");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09766, 0.1348, 0.2385, 0.4212, 0.7229, 1.167, 1.758, 2.508, 3.423, 4.518",\
                 "0.09758, 0.1348, 0.2385, 0.4208, 0.7224, 1.167, 1.759, 2.509, 3.422, 4.518",\
                 "0.09758, 0.1351, 0.2385, 0.4219, 0.7233, 1.167, 1.759, 2.509, 3.424, 4.513",\
                 "0.1097, 0.1454, 0.2444, 0.4238, 0.7236, 1.166, 1.759, 2.507, 3.423, 4.515",\
                 "0.134, 0.1716, 0.2692, 0.4402, 0.731, 1.169, 1.758, 2.509, 3.424, 4.513",\
                 "0.1594, 0.2016, 0.3004, 0.4642, 0.744, 1.174, 1.761, 2.509, 3.424, 4.518",\
                 "0.1886, 0.2344, 0.3372, 0.4982, 0.7664, 1.186, 1.766, 2.511, 3.423, 4.517",\
                 "0.2182, 0.2706, 0.3802, 0.5382, 0.7976, 1.206, 1.778, 2.517, 3.426, 4.516",\
                 "0.2502, 0.3058, 0.4258, 0.5846, 0.8372, 1.237, 1.804, 2.533, 3.434, 4.517",\
                 "0.2804, 0.3418, 0.473, 0.6374, 0.883, 1.274, 1.84, 2.566, 3.46, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1351, 0.1972, 0.3949, 0.76, 1.358, 2.219, 3.349, 4.778, 6.525, 8.607",\
                 "0.1359, 0.1977, 0.3953, 0.7602, 1.357, 2.216, 3.349, 4.784, 6.526, 8.605",\
                 "0.1355, 0.1972, 0.3953, 0.7601, 1.358, 2.219, 3.35, 4.78, 6.526, 8.607",\
                 "0.1372, 0.1992, 0.3962, 0.7616, 1.358, 2.215, 3.348, 4.779, 6.525, 8.609",\
                 "0.151, 0.212, 0.409, 0.7678, 1.36, 2.215, 3.348, 4.779, 6.526, 8.608",\
                 "0.1656, 0.227, 0.4236, 0.7784, 1.365, 2.215, 3.355, 4.78, 6.532, 8.608",\
                 "0.1844, 0.2454, 0.441, 0.7918, 1.369, 2.219, 3.352, 4.782, 6.524, 8.61",\
                 "0.2038, 0.267, 0.4646, 0.8134, 1.381, 2.223, 3.351, 4.78, 6.534, 8.605",\
                 "0.226, 0.291, 0.4894, 0.8428, 1.405, 2.233, 3.355, 4.78, 6.525, 8.602",\
                 "0.25, 0.319, 0.5174, 0.8756, 1.438, 2.264, 3.368, 4.788, 6.523, 8.602");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.322, 0.4203, 0.5635, 0.7625, 1.035, 1.392, 1.839, 2.383, 3.032",\
                 "0.3006, 0.3396, 0.4379, 0.5811, 0.7802, 1.052, 1.409, 1.856, 2.401, 3.05",\
                 "0.3666, 0.4057, 0.5038, 0.6469, 0.8461, 1.118, 1.475, 1.922, 2.467, 3.116",\
                 "0.4862, 0.5265, 0.6263, 0.7701, 0.9692, 1.241, 1.598, 2.045, 2.589, 3.238",\
                 "0.6205, 0.6655, 0.7736, 0.9236, 1.125, 1.397, 1.753, 2.199, 2.743, 3.392",\
                 "0.7637, 0.8139, 0.932, 1.09, 1.295, 1.567, 1.923, 2.369, 2.912, 3.561",\
                 "0.9147, 0.9701, 1.099, 1.268, 1.478, 1.752, 2.107, 2.553, 3.096, 3.745",\
                 "1.073, 1.134, 1.275, 1.456, 1.675, 1.952, 2.307, 2.752, 3.295, 3.943",\
                 "1.24, 1.305, 1.459, 1.653, 1.883, 2.166, 2.523, 2.968, 3.51, 4.157",\
                 "1.416, 1.484, 1.65, 1.859, 2.1, 2.391, 2.754, 3.2, 3.741, 4.388");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09818, 0.135, 0.2393, 0.4233, 0.726, 1.173, 1.765, 2.507, 3.419, 4.51",\
                 "0.098, 0.1352, 0.2392, 0.4232, 0.7258, 1.174, 1.765, 2.506, 3.418, 4.51",\
                 "0.09832, 0.1353, 0.2395, 0.4233, 0.7263, 1.174, 1.765, 2.507, 3.419, 4.51",\
                 "0.1103, 0.1458, 0.2466, 0.4266, 0.7276, 1.174, 1.764, 2.506, 3.418, 4.511",\
                 "0.1336, 0.172, 0.2712, 0.4434, 0.7352, 1.175, 1.763, 2.506, 3.419, 4.509",\
                 "0.1612, 0.2028, 0.3022, 0.4674, 0.7486, 1.181, 1.765, 2.505, 3.418, 4.507",\
                 "0.1894, 0.2358, 0.3402, 0.5006, 0.7674, 1.189, 1.768, 2.508, 3.42, 4.507",\
                 "0.22, 0.2718, 0.3832, 0.5422, 0.7974, 1.204, 1.774, 2.511, 3.419, 4.509",\
                 "0.251, 0.3084, 0.4298, 0.5898, 0.8364, 1.231, 1.788, 2.515, 3.421, 4.507",\
                 "0.2826, 0.3448, 0.4774, 0.6424, 0.8818, 1.268, 1.813, 2.527, 3.424, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.283, 0.322, 0.4203, 0.5635, 0.7625, 1.035, 1.392, 1.839, 2.383, 3.032",\
                 "0.3006, 0.3396, 0.4379, 0.5811, 0.7802, 1.052, 1.409, 1.856, 2.401, 3.05",\
                 "0.3667, 0.4056, 0.5038, 0.6469, 0.8461, 1.118, 1.475, 1.922, 2.467, 3.116",\
                 "0.4862, 0.5266, 0.6263, 0.7701, 0.9692, 1.241, 1.598, 2.045, 2.589, 3.238",\
                 "0.6205, 0.6656, 0.7735, 0.9236, 1.125, 1.397, 1.753, 2.199, 2.743, 3.392",\
                 "0.7636, 0.8139, 0.932, 1.09, 1.295, 1.567, 1.923, 2.369, 2.913, 3.561",\
                 "0.9148, 0.9701, 1.1, 1.268, 1.478, 1.752, 2.107, 2.553, 3.096, 3.744",\
                 "1.073, 1.134, 1.275, 1.456, 1.675, 1.952, 2.307, 2.752, 3.295, 3.943",\
                 "1.24, 1.305, 1.459, 1.653, 1.882, 2.166, 2.523, 2.968, 3.51, 4.157",\
                 "1.416, 1.485, 1.65, 1.859, 2.1, 2.391, 2.754, 3.2, 3.741, 4.388");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09826, 0.1351, 0.2393, 0.4233, 0.7258, 1.174, 1.765, 2.506, 3.419, 4.51",\
                 "0.09834, 0.1352, 0.2393, 0.4231, 0.726, 1.174, 1.764, 2.507, 3.419, 4.509",\
                 "0.09834, 0.1356, 0.2394, 0.4234, 0.7263, 1.174, 1.764, 2.507, 3.419, 4.51",\
                 "0.1099, 0.1459, 0.2463, 0.4266, 0.7276, 1.174, 1.764, 2.506, 3.416, 4.51",\
                 "0.1336, 0.172, 0.271, 0.4434, 0.735, 1.175, 1.763, 2.505, 3.417, 4.51",\
                 "0.1608, 0.2032, 0.302, 0.4674, 0.748, 1.181, 1.765, 2.505, 3.418, 4.506",\
                 "0.1896, 0.2364, 0.3404, 0.5008, 0.7676, 1.188, 1.768, 2.508, 3.42, 4.506",\
                 "0.2198, 0.2724, 0.3834, 0.5422, 0.7978, 1.204, 1.774, 2.511, 3.419, 4.509",\
                 "0.2516, 0.3078, 0.4298, 0.5898, 0.8368, 1.231, 1.788, 2.516, 3.422, 4.507",\
                 "0.2828, 0.3444, 0.4776, 0.6424, 0.8824, 1.268, 1.813, 2.528, 3.424, 4.507");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.2827, 0.3216, 0.4194, 0.5616, 0.7596, 1.03, 1.384, 1.831, 2.376, 3.025",\
                 "0.3004, 0.3392, 0.4371, 0.5794, 0.7773, 1.048, 1.402, 1.848, 2.393, 3.043",\
                 "0.3664, 0.4053, 0.503, 0.6452, 0.8432, 1.114, 1.468, 1.914, 2.459, 3.108",\
                 "0.4858, 0.5261, 0.6254, 0.7681, 0.9661, 1.236, 1.591, 2.037, 2.581, 3.231",\
                 "0.6197, 0.6646, 0.7722, 0.921, 1.121, 1.391, 1.745, 2.191, 2.736, 3.385",\
                 "0.7623, 0.8124, 0.9297, 1.087, 1.29, 1.561, 1.915, 2.36, 2.905, 3.554",\
                 "0.9124, 0.9674, 1.096, 1.264, 1.474, 1.746, 2.1, 2.545, 3.089, 3.738",\
                 "1.07, 1.13, 1.271, 1.45, 1.669, 1.946, 2.302, 2.747, 3.291, 3.94",\
                 "1.235, 1.3, 1.453, 1.646, 1.874, 2.158, 2.519, 2.967, 3.511, 4.16",\
                 "1.41, 1.479, 1.643, 1.85, 2.09, 2.381, 2.748, 3.201, 3.751, 4.4");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.4586, 0.5103, 0.6564, 0.8942, 1.246, 1.735, 2.379, 3.191, 4.181, 5.362",\
                 "0.4691, 0.5208, 0.6671, 0.905, 1.256, 1.746, 2.39, 3.2, 4.191, 5.369",\
                 "0.5043, 0.556, 0.7022, 0.9399, 1.292, 1.781, 2.425, 3.236, 4.227, 5.406",\
                 "0.5804, 0.6319, 0.7775, 1.015, 1.365, 1.854, 2.498, 3.31, 4.3, 5.48",\
                 "0.6736, 0.7278, 0.877, 1.115, 1.465, 1.953, 2.596, 3.408, 4.398, 5.577",\
                 "0.7692, 0.8259, 0.9785, 1.22, 1.57, 2.057, 2.699, 3.51, 4.5, 5.68",\
                 "0.8658, 0.9255, 1.083, 1.328, 1.678, 2.164, 2.805, 3.615, 4.603, 5.783",\
                 "0.9578, 1.021, 1.185, 1.437, 1.789, 2.275, 2.914, 3.722, 4.71, 5.89",\
                 "1.042, 1.109, 1.28, 1.54, 1.898, 2.385, 3.024, 3.831, 4.818, 5.996",\
                 "1.117, 1.189, 1.367, 1.635, 2.002, 2.495, 3.136, 3.942, 4.929, 6.106");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.09766, 0.1348, 0.2385, 0.4212, 0.7229, 1.167, 1.758, 2.508, 3.423, 4.518",\
                 "0.09758, 0.1348, 0.2385, 0.4208, 0.7224, 1.167, 1.759, 2.509, 3.422, 4.518",\
                 "0.09758, 0.1351, 0.2385, 0.4219, 0.7233, 1.167, 1.759, 2.509, 3.424, 4.513",\
                 "0.1097, 0.1454, 0.2444, 0.4238, 0.7236, 1.166, 1.759, 2.507, 3.423, 4.515",\
                 "0.134, 0.1716, 0.2692, 0.4402, 0.731, 1.169, 1.758, 2.509, 3.424, 4.513",\
                 "0.1594, 0.2016, 0.3004, 0.4642, 0.744, 1.174, 1.761, 2.509, 3.424, 4.518",\
                 "0.1886, 0.2344, 0.3372, 0.4982, 0.7664, 1.186, 1.766, 2.511, 3.423, 4.517",\
                 "0.2182, 0.2706, 0.3802, 0.5382, 0.7976, 1.206, 1.778, 2.517, 3.426, 4.516",\
                 "0.2502, 0.3058, 0.4258, 0.5846, 0.8372, 1.237, 1.804, 2.533, 3.434, 4.517",\
                 "0.2804, 0.3418, 0.473, 0.6374, 0.883, 1.274, 1.84, 2.566, 3.46, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1354, 0.1971, 0.395, 0.76, 1.357, 2.214, 3.348, 4.779, 6.526, 8.621",\
                 "0.1354, 0.1971, 0.3949, 0.7604, 1.357, 2.215, 3.349, 4.778, 6.527, 8.618",\
                 "0.1353, 0.197, 0.3948, 0.7603, 1.357, 2.214, 3.353, 4.78, 6.529, 8.608",\
                 "0.137, 0.1984, 0.3962, 0.7608, 1.357, 2.219, 3.35, 4.783, 6.528, 8.618",\
                 "0.1522, 0.2126, 0.4078, 0.768, 1.359, 2.216, 3.351, 4.778, 6.529, 8.611",\
                 "0.165, 0.2268, 0.4232, 0.7788, 1.364, 2.22, 3.351, 4.78, 6.526, 8.613",\
                 "0.1828, 0.2452, 0.4406, 0.7926, 1.37, 2.219, 3.353, 4.786, 6.527, 8.611",\
                 "0.2046, 0.269, 0.4644, 0.8138, 1.382, 2.225, 3.351, 4.78, 6.525, 8.607",\
                 "0.226, 0.2922, 0.49, 0.844, 1.404, 2.234, 3.356, 4.78, 6.524, 8.603",\
                 "0.2502, 0.3186, 0.5184, 0.8754, 1.438, 2.261, 3.369, 4.783, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.007, 1.059, 1.205, 1.443, 1.795, 2.283, 2.927, 3.738, 4.728, 5.91",\
                 "1.024, 1.077, 1.223, 1.461, 1.812, 2.301, 2.945, 3.756, 4.748, 5.926",\
                 "1.091, 1.143, 1.289, 1.527, 1.878, 2.367, 3.01, 3.822, 4.813, 5.991",\
                 "1.222, 1.274, 1.421, 1.659, 2.01, 2.499, 3.142, 3.954, 4.945, 6.123",\
                 "1.411, 1.463, 1.61, 1.848, 2.199, 2.688, 3.331, 4.142, 5.134, 6.311",\
                 "1.636, 1.688, 1.835, 2.073, 2.424, 2.913, 3.556, 4.368, 5.359, 6.539",\
                 "1.893, 1.946, 2.093, 2.331, 2.681, 3.17, 3.813, 4.625, 5.616, 6.798",\
                 "2.183, 2.236, 2.383, 2.621, 2.972, 3.46, 4.103, 4.913, 5.904, 7.086",\
                 "2.501, 2.554, 2.701, 2.939, 3.289, 3.777, 4.42, 5.23, 6.219, 7.399",\
                 "2.847, 2.9, 3.048, 3.286, 3.636, 4.124, 4.766, 5.577, 6.566, 7.745");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1418, 0.2032, 0.401, 0.7642, 1.359, 2.217, 3.349, 4.777, 6.53, 8.611",\
                 "0.1416, 0.203, 0.4004, 0.7638, 1.359, 2.219, 3.352, 4.78, 6.526, 8.615",\
                 "0.141, 0.2028, 0.4012, 0.7638, 1.359, 2.219, 3.354, 4.78, 6.528, 8.607",\
                 "0.1412, 0.203, 0.401, 0.764, 1.359, 2.219, 3.353, 4.78, 6.527, 8.613",\
                 "0.1416, 0.2032, 0.4008, 0.7642, 1.359, 2.219, 3.353, 4.78, 6.527, 8.611",\
                 "0.1428, 0.204, 0.402, 0.765, 1.361, 2.218, 3.349, 4.778, 6.528, 8.611",\
                 "0.1442, 0.2054, 0.4038, 0.7654, 1.359, 2.217, 3.354, 4.779, 6.528, 8.609",\
                 "0.1458, 0.2068, 0.4054, 0.7668, 1.361, 2.216, 3.351, 4.778, 6.526, 8.61",\
                 "0.1482, 0.2086, 0.4062, 0.7682, 1.36, 2.217, 3.348, 4.778, 6.522, 8.601",\
                 "0.1514, 0.2106, 0.4082, 0.7702, 1.363, 2.216, 3.348, 4.775, 6.522, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.007, 1.059, 1.205, 1.443, 1.795, 2.283, 2.927, 3.738, 4.728, 5.91",\
                 "1.024, 1.077, 1.223, 1.461, 1.812, 2.301, 2.945, 3.756, 4.748, 5.926",\
                 "1.091, 1.143, 1.289, 1.527, 1.878, 2.367, 3.01, 3.822, 4.813, 5.991",\
                 "1.222, 1.274, 1.421, 1.659, 2.01, 2.499, 3.142, 3.954, 4.945, 6.123",\
                 "1.411, 1.464, 1.61, 1.848, 2.199, 2.688, 3.331, 4.142, 5.134, 6.311",\
                 "1.636, 1.689, 1.835, 2.073, 2.424, 2.913, 3.556, 4.367, 5.358, 6.54",\
                 "1.894, 1.946, 2.093, 2.331, 2.681, 3.17, 3.813, 4.625, 5.614, 6.798",\
                 "2.183, 2.236, 2.383, 2.621, 2.972, 3.46, 4.103, 4.913, 5.904, 7.086",\
                 "2.501, 2.554, 2.701, 2.939, 3.289, 3.778, 4.42, 5.23, 6.219, 7.399",\
                 "2.847, 2.9, 3.048, 3.286, 3.636, 4.124, 4.766, 5.577, 6.566, 7.745");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1418, 0.2032, 0.401, 0.7642, 1.359, 2.217, 3.349, 4.777, 6.53, 8.611",\
                 "0.1416, 0.203, 0.4004, 0.7638, 1.359, 2.219, 3.352, 4.78, 6.526, 8.615",\
                 "0.141, 0.2028, 0.4012, 0.7638, 1.359, 2.219, 3.354, 4.78, 6.528, 8.607",\
                 "0.142, 0.203, 0.4004, 0.7646, 1.359, 2.219, 3.353, 4.78, 6.527, 8.613",\
                 "0.1416, 0.2036, 0.401, 0.7642, 1.359, 2.219, 3.353, 4.78, 6.527, 8.611",\
                 "0.1426, 0.2036, 0.402, 0.7654, 1.362, 2.219, 3.355, 4.784, 6.527, 8.611",\
                 "0.1442, 0.2056, 0.4036, 0.766, 1.359, 2.216, 3.35, 4.778, 6.526, 8.613",\
                 "0.1458, 0.2068, 0.4054, 0.7668, 1.361, 2.216, 3.351, 4.778, 6.526, 8.61",\
                 "0.1482, 0.2086, 0.4062, 0.7682, 1.36, 2.217, 3.348, 4.776, 6.532, 8.599",\
                 "0.1514, 0.2106, 0.4082, 0.77, 1.363, 2.215, 3.35, 4.777, 6.52, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.007, 1.059, 1.205, 1.443, 1.795, 2.284, 2.927, 3.739, 4.73, 5.912",\
                 "1.024, 1.077, 1.223, 1.461, 1.812, 2.301, 2.945, 3.756, 4.748, 5.926",\
                 "1.091, 1.143, 1.29, 1.527, 1.878, 2.367, 3.01, 3.822, 4.813, 5.991",\
                 "1.222, 1.274, 1.421, 1.659, 2.01, 2.499, 3.142, 3.954, 4.945, 6.123",\
                 "1.411, 1.464, 1.61, 1.848, 2.199, 2.688, 3.331, 4.142, 5.134, 6.311",\
                 "1.636, 1.689, 1.836, 2.073, 2.424, 2.913, 3.556, 4.367, 5.359, 6.536",\
                 "1.894, 1.946, 2.093, 2.331, 2.682, 3.17, 3.813, 4.625, 5.613, 6.798",\
                 "2.183, 2.236, 2.383, 2.621, 2.971, 3.46, 4.103, 4.913, 5.904, 7.084",\
                 "2.501, 2.554, 2.701, 2.939, 3.29, 3.778, 4.42, 5.23, 6.219, 7.4",\
                 "2.847, 2.9, 3.047, 3.286, 3.636, 4.123, 4.766, 5.576, 6.566, 7.744");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1418, 0.2032, 0.401, 0.7642, 1.36, 2.215, 3.35, 4.779, 6.528, 8.607",\
                 "0.1416, 0.203, 0.4004, 0.7638, 1.359, 2.219, 3.352, 4.78, 6.526, 8.615",\
                 "0.141, 0.2028, 0.4006, 0.7638, 1.359, 2.219, 3.354, 4.78, 6.528, 8.607",\
                 "0.142, 0.203, 0.401, 0.764, 1.359, 2.219, 3.353, 4.78, 6.527, 8.613",\
                 "0.1414, 0.2036, 0.401, 0.7646, 1.359, 2.219, 3.353, 4.782, 6.528, 8.61",\
                 "0.1426, 0.2036, 0.4022, 0.7654, 1.359, 2.216, 3.354, 4.782, 6.528, 8.611",\
                 "0.1432, 0.2052, 0.4038, 0.7658, 1.359, 2.216, 3.35, 4.779, 6.523, 8.612",\
                 "0.1456, 0.2074, 0.4052, 0.7666, 1.361, 2.216, 3.347, 4.782, 6.526, 8.608",\
                 "0.148, 0.2092, 0.4062, 0.769, 1.361, 2.215, 3.348, 4.775, 6.529, 8.6",\
                 "0.1504, 0.2108, 0.4084, 0.7702, 1.363, 2.215, 3.349, 4.775, 6.522, 8.618");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.007, 1.059, 1.206, 1.444, 1.795, 2.284, 2.927, 3.739, 4.73, 5.908",\
                 "1.025, 1.077, 1.223, 1.461, 1.812, 2.302, 2.945, 3.757, 4.748, 5.927",\
                 "1.091, 1.143, 1.29, 1.527, 1.879, 2.367, 3.01, 3.822, 4.815, 5.994",\
                 "1.222, 1.275, 1.421, 1.659, 2.01, 2.499, 3.142, 3.953, 4.944, 6.123",\
                 "1.411, 1.464, 1.61, 1.848, 2.199, 2.688, 3.331, 4.142, 5.134, 6.316",\
                 "1.636, 1.689, 1.836, 2.073, 2.424, 2.913, 3.556, 4.368, 5.358, 6.539",\
                 "1.894, 1.947, 2.094, 2.331, 2.682, 3.171, 3.814, 4.625, 5.616, 6.798",\
                 "2.184, 2.236, 2.384, 2.621, 2.972, 3.46, 4.103, 4.913, 5.904, 7.085",\
                 "2.501, 2.554, 2.702, 2.94, 3.29, 3.778, 4.421, 5.23, 6.219, 7.399",\
                 "2.847, 2.9, 3.048, 3.286, 3.636, 4.124, 4.767, 5.577, 6.567, 7.746");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1414, 0.2028, 0.4004, 0.764, 1.359, 2.218, 3.352, 4.78, 6.526, 8.616",\
                 "0.1412, 0.2032, 0.401, 0.7638, 1.359, 2.219, 3.352, 4.78, 6.525, 8.619",\
                 "0.141, 0.2028, 0.4006, 0.7636, 1.359, 2.219, 3.355, 4.779, 6.528, 8.624",\
                 "0.1412, 0.2028, 0.4008, 0.7636, 1.359, 2.218, 3.355, 4.777, 6.534, 8.615",\
                 "0.1414, 0.2032, 0.4016, 0.7644, 1.359, 2.216, 3.354, 4.782, 6.527, 8.61",\
                 "0.143, 0.2036, 0.402, 0.7656, 1.362, 2.215, 3.349, 4.78, 6.527, 8.608",\
                 "0.1444, 0.2054, 0.4028, 0.7662, 1.359, 2.216, 3.35, 4.78, 6.528, 8.607",\
                 "0.146, 0.2072, 0.405, 0.767, 1.36, 2.214, 3.351, 4.785, 6.525, 8.61",\
                 "0.148, 0.2086, 0.4058, 0.7686, 1.362, 2.218, 3.348, 4.777, 6.519, 8.604",\
                 "0.1506, 0.2108, 0.4088, 0.7702, 1.364, 2.216, 3.349, 4.776, 6.522, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.007, 1.059, 1.206, 1.444, 1.795, 2.284, 2.927, 3.739, 4.73, 5.908",\
                 "1.025, 1.077, 1.223, 1.461, 1.812, 2.302, 2.945, 3.757, 4.748, 5.927",\
                 "1.091, 1.143, 1.29, 1.527, 1.879, 2.367, 3.01, 3.822, 4.813, 5.994",\
                 "1.222, 1.275, 1.421, 1.659, 2.01, 2.499, 3.142, 3.953, 4.944, 6.123",\
                 "1.411, 1.464, 1.61, 1.848, 2.199, 2.688, 3.331, 4.141, 5.131, 6.313",\
                 "1.636, 1.689, 1.836, 2.074, 2.425, 2.913, 3.557, 4.367, 5.359, 6.537",\
                 "1.894, 1.947, 2.094, 2.331, 2.682, 3.171, 3.814, 4.625, 5.616, 6.798",\
                 "2.184, 2.236, 2.384, 2.621, 2.972, 3.46, 4.103, 4.913, 5.903, 7.086",\
                 "2.501, 2.554, 2.702, 2.94, 3.29, 3.779, 4.421, 5.231, 6.22, 7.401",\
                 "2.847, 2.901, 3.048, 3.286, 3.636, 4.124, 4.766, 5.577, 6.566, 7.745");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1414, 0.2028, 0.4004, 0.764, 1.359, 2.218, 3.352, 4.78, 6.526, 8.616",\
                 "0.1412, 0.2032, 0.401, 0.7638, 1.359, 2.219, 3.352, 4.78, 6.525, 8.619",\
                 "0.141, 0.2028, 0.4006, 0.7636, 1.359, 2.219, 3.355, 4.779, 6.528, 8.624",\
                 "0.1412, 0.2028, 0.4008, 0.7636, 1.359, 2.218, 3.355, 4.777, 6.534, 8.615",\
                 "0.1414, 0.2032, 0.4016, 0.7646, 1.359, 2.219, 3.353, 4.782, 6.522, 8.619",\
                 "0.1426, 0.2038, 0.4026, 0.7654, 1.362, 2.218, 3.349, 4.776, 6.528, 8.604",\
                 "0.1444, 0.2054, 0.4036, 0.7662, 1.359, 2.216, 3.35, 4.778, 6.528, 8.607",\
                 "0.146, 0.207, 0.405, 0.767, 1.361, 2.216, 3.349, 4.777, 6.525, 8.61",\
                 "0.148, 0.2092, 0.4068, 0.7682, 1.362, 2.214, 3.348, 4.778, 6.53, 8.603",\
                 "0.1498, 0.2104, 0.4076, 0.7702, 1.362, 2.215, 3.348, 4.775, 6.52, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.007, 1.059, 1.206, 1.444, 1.795, 2.284, 2.927, 3.739, 4.73, 5.908",\
                 "1.025, 1.077, 1.223, 1.461, 1.812, 2.302, 2.945, 3.757, 4.748, 5.927",\
                 "1.091, 1.143, 1.29, 1.527, 1.879, 2.367, 3.01, 3.822, 4.813, 5.991",\
                 "1.222, 1.275, 1.421, 1.659, 2.01, 2.499, 3.142, 3.953, 4.944, 6.123",\
                 "1.411, 1.464, 1.61, 1.848, 2.199, 2.688, 3.331, 4.142, 5.131, 6.316",\
                 "1.636, 1.689, 1.836, 2.074, 2.425, 2.913, 3.557, 4.367, 5.358, 6.538",\
                 "1.894, 1.947, 2.094, 2.331, 2.682, 3.171, 3.814, 4.625, 5.616, 6.798",\
                 "2.184, 2.236, 2.384, 2.621, 2.972, 3.46, 4.103, 4.913, 5.903, 7.086",\
                 "2.501, 2.554, 2.702, 2.94, 3.29, 3.779, 4.421, 5.231, 6.219, 7.4",\
                 "2.847, 2.901, 3.048, 3.286, 3.636, 4.124, 4.766, 5.577, 6.566, 7.745");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1414, 0.2028, 0.4004, 0.764, 1.359, 2.218, 3.352, 4.78, 6.526, 8.616",\
                 "0.1412, 0.2032, 0.401, 0.7638, 1.359, 2.219, 3.352, 4.78, 6.525, 8.619",\
                 "0.141, 0.2028, 0.4006, 0.7636, 1.359, 2.219, 3.355, 4.779, 6.528, 8.607",\
                 "0.1412, 0.2028, 0.4008, 0.7636, 1.359, 2.218, 3.355, 4.777, 6.534, 8.615",\
                 "0.1414, 0.2032, 0.4016, 0.764, 1.359, 2.219, 3.354, 4.783, 6.523, 8.612",\
                 "0.1426, 0.2038, 0.4022, 0.7654, 1.362, 2.219, 3.349, 4.778, 6.534, 8.606",\
                 "0.1444, 0.2054, 0.4036, 0.7662, 1.359, 2.216, 3.35, 4.778, 6.528, 8.607",\
                 "0.146, 0.2072, 0.405, 0.767, 1.361, 2.216, 3.349, 4.78, 6.525, 8.61",\
                 "0.148, 0.2092, 0.4068, 0.7682, 1.362, 2.214, 3.348, 4.778, 6.519, 8.604",\
                 "0.1506, 0.2104, 0.4076, 0.7702, 1.361, 2.215, 3.348, 4.775, 6.52, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.007, 1.059, 1.205, 1.443, 1.795, 2.283, 2.927, 3.738, 4.728, 5.91",\
                 "1.024, 1.077, 1.223, 1.461, 1.812, 2.301, 2.945, 3.756, 4.748, 5.926",\
                 "1.091, 1.143, 1.289, 1.527, 1.878, 2.367, 3.01, 3.822, 4.813, 5.991",\
                 "1.222, 1.274, 1.421, 1.659, 2.01, 2.499, 3.142, 3.954, 4.945, 6.123",\
                 "1.411, 1.464, 1.61, 1.848, 2.199, 2.688, 3.331, 4.143, 5.135, 6.313",\
                 "1.636, 1.689, 1.836, 2.073, 2.424, 2.913, 3.556, 4.368, 5.36, 6.54",\
                 "1.894, 1.946, 2.093, 2.331, 2.681, 3.17, 3.813, 4.625, 5.616, 6.797",\
                 "2.183, 2.236, 2.383, 2.621, 2.972, 3.46, 4.103, 4.913, 5.904, 7.086",\
                 "2.501, 2.554, 2.701, 2.939, 3.289, 3.778, 4.42, 5.23, 6.219, 7.4",\
                 "2.847, 2.9, 3.047, 3.285, 3.636, 4.124, 4.766, 5.577, 6.566, 7.745");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1418, 0.2032, 0.401, 0.7642, 1.359, 2.217, 3.349, 4.777, 6.53, 8.611",\
                 "0.1416, 0.203, 0.4004, 0.7638, 1.359, 2.219, 3.352, 4.78, 6.526, 8.615",\
                 "0.141, 0.2028, 0.4012, 0.7638, 1.359, 2.219, 3.354, 4.78, 6.528, 8.607",\
                 "0.1416, 0.203, 0.4006, 0.764, 1.359, 2.219, 3.353, 4.78, 6.527, 8.613",\
                 "0.1416, 0.203, 0.4012, 0.7644, 1.359, 2.219, 3.353, 4.78, 6.525, 8.62",\
                 "0.142, 0.2038, 0.4022, 0.7654, 1.362, 2.219, 3.355, 4.78, 6.528, 8.609",\
                 "0.1432, 0.2048, 0.4032, 0.7652, 1.359, 2.217, 3.347, 4.78, 6.528, 8.611",\
                 "0.1458, 0.2074, 0.4054, 0.7666, 1.361, 2.216, 3.351, 4.778, 6.526, 8.61",\
                 "0.148, 0.2086, 0.4062, 0.7682, 1.36, 2.217, 3.348, 4.776, 6.532, 8.607",\
                 "0.1506, 0.2112, 0.4086, 0.7702, 1.363, 2.215, 3.35, 4.776, 6.52, 8.618");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.007, 1.059, 1.206, 1.444, 1.795, 2.284, 2.927, 3.739, 4.73, 5.908",\
                 "1.025, 1.077, 1.223, 1.461, 1.812, 2.302, 2.945, 3.757, 4.748, 5.927",\
                 "1.091, 1.143, 1.29, 1.527, 1.879, 2.367, 3.01, 3.823, 4.815, 5.994",\
                 "1.222, 1.275, 1.421, 1.659, 2.01, 2.499, 3.142, 3.953, 4.944, 6.123",\
                 "1.411, 1.464, 1.611, 1.848, 2.199, 2.688, 3.331, 4.143, 5.134, 6.312",\
                 "1.636, 1.689, 1.836, 2.074, 2.425, 2.913, 3.556, 4.367, 5.356, 6.541",\
                 "1.894, 1.947, 2.094, 2.331, 2.682, 3.171, 3.814, 4.625, 5.616, 6.799",\
                 "2.183, 2.236, 2.383, 2.621, 2.972, 3.46, 4.102, 4.913, 5.902, 7.087",\
                 "2.502, 2.554, 2.702, 2.94, 3.29, 3.778, 4.421, 5.231, 6.22, 7.401",\
                 "2.847, 2.901, 3.048, 3.286, 3.636, 4.124, 4.767, 5.577, 6.566, 7.746");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1414, 0.2028, 0.4004, 0.764, 1.359, 2.218, 3.352, 4.78, 6.526, 8.616",\
                 "0.1412, 0.2032, 0.401, 0.7638, 1.359, 2.219, 3.352, 4.78, 6.525, 8.619",\
                 "0.1412, 0.2028, 0.4006, 0.7636, 1.359, 2.219, 3.355, 4.78, 6.528, 8.624",\
                 "0.1412, 0.2028, 0.4008, 0.7636, 1.359, 2.218, 3.355, 4.777, 6.534, 8.613",\
                 "0.1414, 0.2032, 0.4006, 0.7648, 1.359, 2.219, 3.354, 4.783, 6.527, 8.606",\
                 "0.1426, 0.2036, 0.4022, 0.7654, 1.361, 2.219, 3.355, 4.784, 6.524, 8.612",\
                 "0.1444, 0.2054, 0.4028, 0.7662, 1.359, 2.216, 3.35, 4.779, 6.528, 8.607",\
                 "0.1464, 0.2074, 0.4044, 0.7672, 1.361, 2.216, 3.349, 4.779, 6.524, 8.607",\
                 "0.148, 0.2086, 0.407, 0.7682, 1.36, 2.218, 3.347, 4.776, 6.53, 8.601",\
                 "0.1506, 0.2114, 0.4088, 0.7694, 1.362, 2.215, 3.349, 4.776, 6.52, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.127, 1.274, 1.511, 1.862, 2.351, 2.994, 3.805, 4.794, 5.977",\
                 "1.093, 1.145, 1.292, 1.529, 1.88, 2.369, 3.012, 3.823, 4.814, 5.991",\
                 "1.159, 1.211, 1.357, 1.595, 1.946, 2.435, 3.078, 3.889, 4.879, 6.061",\
                 "1.291, 1.343, 1.489, 1.727, 2.078, 2.567, 3.21, 4.021, 5.012, 6.193",\
                 "1.488, 1.54, 1.686, 1.924, 2.275, 2.763, 3.407, 4.217, 5.209, 6.39",\
                 "1.724, 1.776, 1.923, 2.16, 2.511, 3, 3.643, 4.454, 5.446, 6.626",\
                 "1.992, 2.045, 2.191, 2.428, 2.779, 3.267, 3.91, 4.722, 5.712, 6.891",\
                 "2.292, 2.344, 2.49, 2.728, 3.078, 3.567, 4.209, 5.02, 6.01, 7.193",\
                 "2.618, 2.671, 2.817, 3.055, 3.405, 3.893, 4.536, 5.346, 6.335, 7.515",\
                 "2.971, 3.024, 3.17, 3.408, 3.757, 4.246, 4.888, 5.698, 6.687, 7.866");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1406, 0.2026, 0.4004, 0.7646, 1.36, 2.218, 3.355, 4.78, 6.524, 8.606",\
                 "0.1412, 0.2024, 0.4002, 0.7636, 1.359, 2.218, 3.355, 4.783, 6.527, 8.603",\
                 "0.1406, 0.2022, 0.4004, 0.7632, 1.359, 2.217, 3.349, 4.784, 6.531, 8.608",\
                 "0.141, 0.2022, 0.4, 0.7638, 1.358, 2.215, 3.352, 4.78, 6.527, 8.608",\
                 "0.1408, 0.2026, 0.4008, 0.764, 1.358, 2.219, 3.349, 4.784, 6.525, 8.607",\
                 "0.1416, 0.2042, 0.4016, 0.7644, 1.36, 2.219, 3.35, 4.784, 6.526, 8.607",\
                 "0.1424, 0.204, 0.4018, 0.7644, 1.359, 2.216, 3.355, 4.779, 6.527, 8.612",\
                 "0.1436, 0.205, 0.4032, 0.7652, 1.36, 2.217, 3.348, 4.785, 6.526, 8.606",\
                 "0.1456, 0.2068, 0.4042, 0.7674, 1.361, 2.217, 3.348, 4.781, 6.525, 8.602",\
                 "0.1458, 0.2078, 0.404, 0.7666, 1.362, 2.216, 3.352, 4.777, 6.52, 8.602");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.127, 1.274, 1.511, 1.862, 2.351, 2.994, 3.805, 4.794, 5.976",\
                 "1.093, 1.145, 1.292, 1.529, 1.88, 2.369, 3.012, 3.823, 4.814, 5.991",\
                 "1.159, 1.211, 1.357, 1.595, 1.946, 2.435, 3.078, 3.889, 4.879, 6.061",\
                 "1.291, 1.343, 1.489, 1.727, 2.078, 2.567, 3.21, 4.021, 5.012, 6.193",\
                 "1.488, 1.54, 1.686, 1.924, 2.275, 2.764, 3.407, 4.217, 5.209, 6.39",\
                 "1.724, 1.776, 1.923, 2.16, 2.511, 3, 3.643, 4.455, 5.446, 6.626",\
                 "1.992, 2.045, 2.191, 2.428, 2.779, 3.267, 3.91, 4.722, 5.713, 6.89",\
                 "2.291, 2.344, 2.49, 2.728, 3.078, 3.566, 4.209, 5.02, 6.009, 7.19",\
                 "2.618, 2.671, 2.817, 3.055, 3.405, 3.893, 4.536, 5.346, 6.335, 7.515",\
                 "2.971, 3.024, 3.17, 3.408, 3.757, 4.246, 4.888, 5.698, 6.687, 7.866");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1406, 0.2026, 0.4004, 0.7646, 1.36, 2.218, 3.355, 4.78, 6.524, 8.615",\
                 "0.1412, 0.2024, 0.4002, 0.7636, 1.359, 2.218, 3.355, 4.783, 6.527, 8.603",\
                 "0.1406, 0.2022, 0.4004, 0.7632, 1.359, 2.217, 3.349, 4.784, 6.531, 8.608",\
                 "0.1412, 0.2022, 0.4, 0.7638, 1.358, 2.218, 3.352, 4.78, 6.533, 8.604",\
                 "0.1414, 0.2028, 0.4008, 0.7638, 1.36, 2.214, 3.355, 4.78, 6.524, 8.607",\
                 "0.1416, 0.2032, 0.401, 0.7646, 1.359, 2.218, 3.354, 4.778, 6.526, 8.607",\
                 "0.1424, 0.2042, 0.4018, 0.7644, 1.359, 2.216, 3.355, 4.787, 6.527, 8.602",\
                 "0.1438, 0.2052, 0.4032, 0.7652, 1.361, 2.216, 3.348, 4.779, 6.524, 8.606",\
                 "0.1456, 0.2068, 0.4042, 0.7674, 1.361, 2.217, 3.348, 4.781, 6.525, 8.602",\
                 "0.1458, 0.2078, 0.404, 0.7666, 1.362, 2.216, 3.352, 4.777, 6.52, 8.602");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.127, 1.274, 1.511, 1.862, 2.351, 2.994, 3.805, 4.794, 5.976",\
                 "1.093, 1.145, 1.292, 1.529, 1.88, 2.369, 3.012, 3.823, 4.814, 5.991",\
                 "1.159, 1.211, 1.357, 1.595, 1.946, 2.435, 3.078, 3.889, 4.879, 6.061",\
                 "1.291, 1.343, 1.489, 1.727, 2.078, 2.567, 3.21, 4.021, 5.012, 6.193",\
                 "1.488, 1.54, 1.686, 1.924, 2.275, 2.763, 3.407, 4.219, 5.209, 6.389",\
                 "1.724, 1.776, 1.923, 2.161, 2.511, 3, 3.643, 4.454, 5.445, 6.626",\
                 "1.992, 2.044, 2.191, 2.428, 2.779, 3.267, 3.91, 4.722, 5.712, 6.891",\
                 "2.292, 2.344, 2.49, 2.728, 3.078, 3.567, 4.209, 5.02, 6.011, 7.19",\
                 "2.618, 2.671, 2.817, 3.055, 3.405, 3.893, 4.536, 5.346, 6.335, 7.516",\
                 "2.971, 3.024, 3.17, 3.408, 3.757, 4.245, 4.888, 5.698, 6.687, 7.866");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1406, 0.2026, 0.4004, 0.7646, 1.36, 2.218, 3.355, 4.781, 6.524, 8.614",\
                 "0.1412, 0.2024, 0.4002, 0.7636, 1.359, 2.218, 3.355, 4.783, 6.527, 8.603",\
                 "0.1406, 0.2022, 0.4004, 0.7632, 1.359, 2.217, 3.349, 4.784, 6.531, 8.608",\
                 "0.1412, 0.2024, 0.4004, 0.7636, 1.359, 2.217, 3.349, 4.779, 6.527, 8.605",\
                 "0.1414, 0.2026, 0.4006, 0.7646, 1.359, 2.217, 3.354, 4.778, 6.526, 8.609",\
                 "0.1416, 0.2032, 0.4016, 0.764, 1.359, 2.219, 3.35, 4.782, 6.527, 8.607",\
                 "0.1424, 0.2048, 0.4018, 0.7644, 1.359, 2.216, 3.355, 4.779, 6.527, 8.612",\
                 "0.1436, 0.205, 0.4032, 0.7652, 1.36, 2.215, 3.351, 4.779, 6.526, 8.61",\
                 "0.1456, 0.2068, 0.4042, 0.7664, 1.361, 2.217, 3.349, 4.777, 6.526, 8.607",\
                 "0.1458, 0.2078, 0.404, 0.7672, 1.363, 2.216, 3.35, 4.777, 6.52, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.128, 1.274, 1.511, 1.862, 2.351, 2.995, 3.806, 4.797, 5.975",\
                 "1.093, 1.145, 1.292, 1.529, 1.88, 2.369, 3.012, 3.823, 4.814, 5.992",\
                 "1.159, 1.211, 1.358, 1.595, 1.946, 2.435, 3.078, 3.889, 4.88, 6.061",\
                 "1.291, 1.343, 1.49, 1.727, 2.078, 2.567, 3.21, 4.022, 5.012, 6.193",\
                 "1.488, 1.54, 1.687, 1.924, 2.275, 2.764, 3.407, 4.218, 5.208, 6.389",\
                 "1.724, 1.776, 1.923, 2.161, 2.511, 3, 3.643, 4.455, 5.445, 6.626",\
                 "1.992, 2.045, 2.191, 2.429, 2.779, 3.268, 3.911, 4.721, 5.711, 6.892",\
                 "2.292, 2.344, 2.491, 2.728, 3.078, 3.567, 4.209, 5.02, 6.011, 7.19",\
                 "2.619, 2.671, 2.818, 3.055, 3.405, 3.893, 4.536, 5.346, 6.335, 7.515",\
                 "2.971, 3.024, 3.171, 3.408, 3.758, 4.246, 4.889, 5.699, 6.688, 7.867");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1412, 0.2024, 0.4004, 0.7636, 1.359, 2.215, 3.35, 4.779, 6.527, 8.607",\
                 "0.1412, 0.2024, 0.4002, 0.7638, 1.359, 2.218, 3.355, 4.783, 6.527, 8.603",\
                 "0.1408, 0.2022, 0.4006, 0.7632, 1.36, 2.217, 3.349, 4.779, 6.527, 8.606",\
                 "0.1408, 0.2024, 0.4, 0.7636, 1.358, 2.218, 3.352, 4.78, 6.532, 8.606",\
                 "0.1408, 0.2026, 0.4002, 0.7634, 1.359, 2.217, 3.349, 4.78, 6.528, 8.608",\
                 "0.1418, 0.2044, 0.4008, 0.7642, 1.36, 2.215, 3.349, 4.78, 6.527, 8.608",\
                 "0.1428, 0.2044, 0.4022, 0.7646, 1.359, 2.218, 3.354, 4.781, 6.522, 8.615",\
                 "0.1436, 0.2052, 0.4026, 0.7652, 1.36, 2.216, 3.348, 4.779, 6.526, 8.606",\
                 "0.1448, 0.206, 0.404, 0.7662, 1.361, 2.214, 3.347, 4.78, 6.524, 8.603",\
                 "0.146, 0.207, 0.4046, 0.7676, 1.362, 2.214, 3.35, 4.777, 6.522, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.128, 1.274, 1.511, 1.862, 2.351, 2.995, 3.806, 4.797, 5.975",\
                 "1.093, 1.145, 1.292, 1.529, 1.88, 2.369, 3.012, 3.823, 4.814, 5.992",\
                 "1.159, 1.211, 1.358, 1.595, 1.946, 2.435, 3.078, 3.889, 4.88, 6.061",\
                 "1.291, 1.343, 1.49, 1.727, 2.078, 2.567, 3.21, 4.022, 5.012, 6.193",\
                 "1.488, 1.54, 1.687, 1.924, 2.275, 2.764, 3.407, 4.217, 5.207, 6.389",\
                 "1.724, 1.776, 1.923, 2.161, 2.511, 3, 3.643, 4.454, 5.445, 6.626",\
                 "1.992, 2.044, 2.191, 2.429, 2.779, 3.267, 3.911, 4.721, 5.711, 6.892",\
                 "2.292, 2.344, 2.491, 2.728, 3.078, 3.567, 4.209, 5.02, 6.011, 7.193",\
                 "2.618, 2.671, 2.818, 3.055, 3.405, 3.894, 4.536, 5.346, 6.335, 7.516",\
                 "2.971, 3.024, 3.171, 3.408, 3.758, 4.246, 4.889, 5.699, 6.688, 7.867");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1412, 0.2024, 0.4004, 0.7636, 1.359, 2.215, 3.35, 4.779, 6.527, 8.607",\
                 "0.1412, 0.2024, 0.4002, 0.7638, 1.359, 2.218, 3.355, 4.783, 6.527, 8.603",\
                 "0.1408, 0.2022, 0.4006, 0.7632, 1.36, 2.217, 3.349, 4.779, 6.527, 8.606",\
                 "0.1408, 0.2024, 0.4, 0.7636, 1.358, 2.218, 3.352, 4.78, 6.531, 8.607",\
                 "0.1414, 0.2028, 0.4002, 0.7636, 1.358, 2.217, 3.349, 4.782, 6.524, 8.616",\
                 "0.1422, 0.2034, 0.4014, 0.7642, 1.359, 2.218, 3.353, 4.777, 6.527, 8.611",\
                 "0.1434, 0.2046, 0.4016, 0.7646, 1.36, 2.216, 3.354, 4.781, 6.522, 8.615",\
                 "0.1442, 0.2056, 0.4028, 0.766, 1.361, 2.216, 3.349, 4.776, 6.526, 8.606",\
                 "0.145, 0.2062, 0.4036, 0.7662, 1.36, 2.217, 3.347, 4.78, 6.524, 8.603",\
                 "0.1468, 0.207, 0.4048, 0.7674, 1.363, 2.216, 3.352, 4.776, 6.52, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.128, 1.274, 1.511, 1.862, 2.351, 2.995, 3.806, 4.797, 5.975",\
                 "1.093, 1.145, 1.292, 1.529, 1.88, 2.369, 3.012, 3.823, 4.814, 5.992",\
                 "1.159, 1.211, 1.358, 1.595, 1.946, 2.435, 3.078, 3.889, 4.88, 6.061",\
                 "1.291, 1.343, 1.49, 1.727, 2.078, 2.567, 3.21, 4.022, 5.012, 6.193",\
                 "1.488, 1.54, 1.687, 1.924, 2.275, 2.764, 3.407, 4.218, 5.209, 6.388",\
                 "1.724, 1.776, 1.923, 2.161, 2.511, 3, 3.643, 4.454, 5.443, 6.626",\
                 "1.992, 2.045, 2.191, 2.429, 2.779, 3.267, 3.911, 4.721, 5.711, 6.892",\
                 "2.292, 2.344, 2.491, 2.728, 3.078, 3.567, 4.209, 5.02, 6.01, 7.189",\
                 "2.618, 2.671, 2.818, 3.055, 3.405, 3.894, 4.536, 5.346, 6.335, 7.516",\
                 "2.971, 3.024, 3.171, 3.408, 3.758, 4.246, 4.889, 5.699, 6.688, 7.867");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1412, 0.2024, 0.4004, 0.7636, 1.359, 2.215, 3.35, 4.779, 6.527, 8.607",\
                 "0.1412, 0.2024, 0.4002, 0.7638, 1.359, 2.218, 3.355, 4.783, 6.527, 8.603",\
                 "0.1408, 0.2022, 0.4006, 0.7632, 1.36, 2.217, 3.349, 4.779, 6.527, 8.606",\
                 "0.1408, 0.2022, 0.4, 0.7636, 1.359, 2.218, 3.352, 4.78, 6.531, 8.607",\
                 "0.1414, 0.2028, 0.4002, 0.7636, 1.358, 2.218, 3.349, 4.784, 6.527, 8.614",\
                 "0.1422, 0.2032, 0.4012, 0.7642, 1.358, 2.215, 3.353, 4.781, 6.522, 8.608",\
                 "0.1428, 0.2044, 0.4022, 0.7646, 1.36, 2.216, 3.354, 4.781, 6.522, 8.615",\
                 "0.1434, 0.2056, 0.4024, 0.766, 1.361, 2.216, 3.347, 4.777, 6.524, 8.602",\
                 "0.1454, 0.2062, 0.4042, 0.766, 1.36, 2.217, 3.347, 4.78, 6.524, 8.603",\
                 "0.146, 0.207, 0.4048, 0.7672, 1.363, 2.214, 3.35, 4.776, 6.52, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.127, 1.274, 1.511, 1.862, 2.351, 2.994, 3.805, 4.794, 5.976",\
                 "1.093, 1.145, 1.292, 1.529, 1.88, 2.369, 3.012, 3.823, 4.814, 5.991",\
                 "1.159, 1.211, 1.357, 1.595, 1.946, 2.435, 3.078, 3.889, 4.879, 6.061",\
                 "1.291, 1.343, 1.489, 1.727, 2.078, 2.567, 3.21, 4.021, 5.012, 6.193",\
                 "1.488, 1.54, 1.686, 1.924, 2.275, 2.763, 3.407, 4.219, 5.209, 6.389",\
                 "1.724, 1.776, 1.923, 2.161, 2.511, 3, 3.643, 4.454, 5.443, 6.626",\
                 "1.992, 2.045, 2.191, 2.428, 2.779, 3.267, 3.91, 4.722, 5.713, 6.891",\
                 "2.291, 2.344, 2.491, 2.728, 3.078, 3.567, 4.209, 5.02, 6.011, 7.19",\
                 "2.618, 2.671, 2.818, 3.055, 3.405, 3.893, 4.536, 5.346, 6.335, 7.515",\
                 "2.971, 3.024, 3.17, 3.408, 3.757, 4.246, 4.888, 5.698, 6.687, 7.866");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1406, 0.2026, 0.4004, 0.7646, 1.36, 2.218, 3.355, 4.781, 6.524, 8.614",\
                 "0.1412, 0.2024, 0.4002, 0.7636, 1.359, 2.218, 3.355, 4.783, 6.527, 8.603",\
                 "0.1406, 0.2022, 0.4004, 0.7632, 1.359, 2.217, 3.349, 4.784, 6.531, 8.608",\
                 "0.1412, 0.2024, 0.4004, 0.7636, 1.359, 2.217, 3.349, 4.779, 6.527, 8.605",\
                 "0.1416, 0.2024, 0.4006, 0.7636, 1.358, 2.219, 3.348, 4.778, 6.525, 8.609",\
                 "0.1416, 0.2032, 0.4016, 0.764, 1.358, 2.218, 3.349, 4.786, 6.522, 8.607",\
                 "0.1432, 0.2042, 0.4018, 0.7644, 1.359, 2.216, 3.355, 4.779, 6.527, 8.612",\
                 "0.1438, 0.205, 0.4032, 0.7656, 1.36, 2.215, 3.348, 4.778, 6.526, 8.606",\
                 "0.1454, 0.2068, 0.404, 0.766, 1.361, 2.216, 3.348, 4.781, 6.519, 8.605",\
                 "0.1458, 0.2078, 0.404, 0.7672, 1.363, 2.216, 3.352, 4.777, 6.52, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.128, 1.274, 1.511, 1.862, 2.351, 2.995, 3.806, 4.797, 5.975",\
                 "1.093, 1.145, 1.292, 1.529, 1.88, 2.369, 3.012, 3.823, 4.814, 5.992",\
                 "1.159, 1.211, 1.358, 1.595, 1.946, 2.435, 3.078, 3.889, 4.88, 6.061",\
                 "1.291, 1.343, 1.49, 1.727, 2.078, 2.567, 3.21, 4.022, 5.012, 6.193",\
                 "1.488, 1.54, 1.687, 1.924, 2.275, 2.764, 3.407, 4.218, 5.208, 6.39",\
                 "1.724, 1.776, 1.923, 2.161, 2.511, 3, 3.643, 4.455, 5.445, 6.626",\
                 "1.992, 2.044, 2.191, 2.429, 2.779, 3.268, 3.911, 4.723, 5.711, 6.892",\
                 "2.292, 2.344, 2.491, 2.728, 3.079, 3.567, 4.21, 5.02, 6.011, 7.19",\
                 "2.618, 2.671, 2.818, 3.055, 3.405, 3.893, 4.536, 5.346, 6.335, 7.515",\
                 "2.971, 3.024, 3.17, 3.408, 3.758, 4.246, 4.889, 5.699, 6.688, 7.867");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1412, 0.2024, 0.4004, 0.7636, 1.359, 2.215, 3.35, 4.779, 6.527, 8.607",\
                 "0.1412, 0.2024, 0.4002, 0.7638, 1.359, 2.218, 3.355, 4.783, 6.527, 8.603",\
                 "0.1408, 0.2022, 0.4006, 0.7632, 1.36, 2.217, 3.349, 4.779, 6.527, 8.606",\
                 "0.1408, 0.2024, 0.4, 0.7636, 1.358, 2.218, 3.352, 4.78, 6.532, 8.606",\
                 "0.1414, 0.2028, 0.4002, 0.7634, 1.358, 2.217, 3.349, 4.78, 6.525, 8.603",\
                 "0.1422, 0.2032, 0.4018, 0.7642, 1.359, 2.216, 3.353, 4.78, 6.533, 8.608",\
                 "0.1434, 0.2046, 0.4022, 0.7646, 1.359, 2.218, 3.354, 4.778, 6.522, 8.615",\
                 "0.144, 0.2056, 0.403, 0.7658, 1.36, 2.215, 3.349, 4.783, 6.526, 8.607",\
                 "0.1452, 0.2068, 0.4042, 0.7664, 1.36, 2.216, 3.347, 4.779, 6.522, 8.603",\
                 "0.1468, 0.207, 0.4046, 0.7668, 1.363, 2.216, 3.352, 4.776, 6.52, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("1.075, 1.128, 1.274, 1.511, 1.862, 2.351, 2.995, 3.806, 4.797, 5.975",\
                 "1.093, 1.145, 1.292, 1.529, 1.88, 2.369, 3.012, 3.823, 4.814, 5.992",\
                 "1.159, 1.211, 1.358, 1.595, 1.946, 2.435, 3.078, 3.889, 4.88, 6.061",\
                 "1.291, 1.343, 1.49, 1.727, 2.078, 2.567, 3.21, 4.022, 5.012, 6.193",\
                 "1.488, 1.54, 1.687, 1.924, 2.275, 2.764, 3.407, 4.218, 5.208, 6.389",\
                 "1.724, 1.776, 1.923, 2.161, 2.511, 3, 3.643, 4.455, 5.445, 6.626",\
                 "1.992, 2.045, 2.191, 2.429, 2.779, 3.268, 3.911, 4.721, 5.711, 6.892",\
                 "2.292, 2.344, 2.491, 2.728, 3.078, 3.567, 4.209, 5.02, 6.011, 7.19",\
                 "2.619, 2.671, 2.818, 3.055, 3.405, 3.893, 4.536, 5.346, 6.335, 7.515",\
                 "2.971, 3.024, 3.171, 3.408, 3.758, 4.246, 4.889, 5.699, 6.688, 7.867");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005968, 0.02341, 0.05671, 0.1086, 0.1814, 0.2772, 0.3978, 0.5452, 0.7207");
          values("0.1414, 0.2028, 0.4004, 0.764, 1.359, 2.218, 3.352, 4.78, 6.526, 8.616",\
                 "0.1412, 0.2032, 0.401, 0.7638, 1.359, 2.219, 3.352, 4.78, 6.525, 8.619",\
                 "0.1412, 0.2028, 0.4006, 0.7636, 1.359, 2.219, 3.355, 4.78, 6.528, 8.624",\
                 "0.1412, 0.2028, 0.4008, 0.7636, 1.359, 2.218, 3.355, 4.777, 6.534, 8.613",\
                 "0.1414, 0.2032, 0.4006, 0.7648, 1.359, 2.219, 3.354, 4.783, 6.527, 8.606",\
                 "0.1426, 0.2036, 0.4022, 0.7654, 1.361, 2.219, 3.355, 4.784, 6.524, 8.612",\
                 "0.1444, 0.2054, 0.4028, 0.7662, 1.359, 2.216, 3.35, 4.779, 6.528, 8.607",\
                 "0.1464, 0.2074, 0.4044, 0.7672, 1.361, 2.216, 3.349, 4.779, 6.524, 8.607",\
                 "0.148, 0.2086, 0.407, 0.7682, 1.36, 2.218, 3.347, 4.776, 6.53, 8.601",\
                 "0.1506, 0.2114, 0.4088, 0.7694, 1.362, 2.215, 3.349, 4.776, 6.52, 8.606");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007621 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.702 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02517, 0.02463, 0.02457, 0.02457, 0.02462, 0.02463, 0.02462, \
                 0.02464, 0.02463, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02459, -0.02456, -0.02449, -0.02449, -0.02456, -0.02457, -0.02458, \
                 -0.02455, -0.02455, -0.02455");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02517, 0.02463, 0.02457, 0.02457, 0.02463, 0.02464, 0.02462, \
                 0.02463, 0.02463, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02459, -0.02456, -0.02449, -0.02449, -0.02456, -0.02457, -0.02457, \
                 -0.02457, -0.02456, -0.02456");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02517, 0.02466, 0.02455, 0.02458, 0.02457, 0.02461, 0.02463, \
                 0.02465, 0.02462, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02459, -0.02456, -0.02449, -0.02449, -0.02456, -0.02457, -0.02458, \
                 -0.02455, -0.02455, -0.02456");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02438, 0.02372, 0.02346, 0.02343, 0.02339, 0.02342, 0.02342, \
                 0.0234, 0.02339, 0.02339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0232, -0.02342, -0.02377, -0.02397, -0.02414, -0.02425, -0.02429, \
                 -0.02433, -0.02433, -0.02436");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02438, 0.02372, 0.02346, 0.02343, 0.02339, 0.02344, 0.02342, \
                 0.0234, 0.0234, 0.02339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0232, -0.02342, -0.02376, -0.02397, -0.02414, -0.02423, -0.02431, \
                 -0.02433, -0.02433, -0.02437");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02438, 0.02372, 0.02346, 0.02343, 0.02339, 0.02343, 0.02342, \
                 0.0234, 0.0234, 0.02339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0232, -0.02342, -0.02378, -0.02397, -0.02414, -0.02426, -0.02431, \
                 -0.02431, -0.02433, -0.02436");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02517, 0.02463, 0.02455, 0.02458, 0.02459, 0.02461, 0.02464, \
                 0.02465, 0.02463, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02459, -0.02456, -0.02449, -0.02449, -0.02456, -0.02458, -0.02457, \
                 -0.02454, -0.02457, -0.02456");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02438, 0.02372, 0.02346, 0.02342, 0.02338, 0.02342, 0.02341, \
                 0.0234, 0.02341, 0.02339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0232, -0.02342, -0.02376, -0.02397, -0.02414, -0.02424, -0.02429, \
                 -0.02432, -0.02433, -0.02437");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02577, 0.02476, 0.02462, 0.02458, 0.02461, 0.02461, 0.02464, \
                 0.02463, 0.02463, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.02449, -0.02455, -0.02458, -0.02456, \
                 -0.02459, -0.02458, -0.02456");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02577, 0.02476, 0.02462, 0.02458, 0.02462, 0.02461, 0.02464, \
                 0.02463, 0.02463, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.02449, -0.02455, -0.02458, -0.02456, \
                 -0.02456, -0.02458, -0.02455");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02578, 0.02477, 0.02459, 0.02461, 0.02459, 0.02456, 0.02464, \
                 0.02464, 0.02464, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.02451, -0.02455, -0.02458, -0.02456, \
                 -0.02456, -0.02458, -0.02456");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02571, 0.0247, 0.02459, 0.0246, 0.02457, 0.02461, 0.02463, 0.02464, \
                 0.02463, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.0245, -0.02455, -0.02458, -0.02456, \
                 -0.02456, -0.02458, -0.02456");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02571, 0.0247, 0.02459, 0.02462, 0.02458, 0.02461, 0.02463, \
                 0.02464, 0.02463, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.0245, -0.02455, -0.02458, -0.02456, \
                 -0.02456, -0.02458, -0.02459");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02571, 0.0247, 0.02459, 0.02462, 0.02458, 0.02461, 0.02463, \
                 0.02464, 0.02462, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.0245, -0.02455, -0.02458, -0.02456, \
                 -0.02456, -0.02458, -0.02457");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02577, 0.02476, 0.02459, 0.02458, 0.0246, 0.02461, 0.02463, \
                 0.02461, 0.02463, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.02451, -0.02455, -0.02458, -0.02456, \
                 -0.02456, -0.02458, -0.02457");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02571, 0.0247, 0.02459, 0.0246, 0.02458, 0.02462, 0.02463, 0.02463, \
                 0.02463, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.0245, -0.02455, -0.02458, -0.02456, \
                 -0.02457, -0.02458, -0.02457");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.377, -0.431, -0.507, -0.568, -0.618, -0.639, -0.65, -0.616, -0.559",\
                 "-0.368, -0.382, -0.432, -0.507, -0.579, -0.625, -0.647, -0.655, -0.627, -0.57",\
                 "-0.379, -0.391, -0.448, -0.526, -0.59, -0.634, -0.664, -0.665, -0.644, -0.584",\
                 "-0.337, -0.341, -0.401, -0.482, -0.553, -0.6, -0.625, -0.636, -0.617, -0.567",\
                 "-0.079, -0.1, -0.157, -0.243, -0.322, -0.363, -0.4, -0.42, -0.395, -0.355",\
                 "0.365, 0.365, 0.303, 0.213, 0.118, 0.065, 0.019, 0.003, 0.012, 0.059",\
                 "1.019, 1.024, 0.945, 0.835, 0.737, 0.662, 0.614, 0.589, 0.611, 0.652",\
                 "1.848, 1.849, 1.753, 1.632, 1.538, 1.446, 1.412, 1.351, 1.374, 1.419",\
                 "2.853, 2.859, 2.77, 2.61, 2.515, 2.409, 2.349, 2.299, 2.326, 2.37",\
                 "4.079, 4.098, 3.99, 3.807, 3.722, 3.562, 3.487, 3.44, 3.485, 3.511");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SETN&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.377, -0.431, -0.507, -0.568, -0.618, -0.639, -0.644, -0.616, -0.559",\
                 "-0.368, -0.382, -0.438, -0.507, -0.579, -0.625, -0.647, -0.649, -0.627, -0.57",\
                 "-0.379, -0.391, -0.448, -0.526, -0.59, -0.634, -0.655, -0.665, -0.636, -0.584",\
                 "-0.337, -0.341, -0.401, -0.482, -0.553, -0.6, -0.625, -0.636, -0.617, -0.567",\
                 "-0.079, -0.1, -0.157, -0.243, -0.322, -0.363, -0.4, -0.419, -0.404, -0.355",\
                 "0.37, 0.365, 0.29, 0.198, 0.127, 0.065, 0.019, 0.003, 0.012, 0.059",\
                 "1.019, 1.024, 0.954, 0.825, 0.737, 0.662, 0.614, 0.589, 0.611, 0.652",\
                 "1.848, 1.849, 1.771, 1.632, 1.538, 1.446, 1.412, 1.351, 1.374, 1.419",\
                 "2.853, 2.859, 2.77, 2.636, 2.515, 2.435, 2.355, 2.319, 2.326, 2.37",\
                 "4.079, 4.098, 3.99, 3.824, 3.662, 3.576, 3.5, 3.44, 3.449, 3.511");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.377, -0.431, -0.507, -0.576, -0.618, -0.639, -0.644, -0.616, -0.559",\
                 "-0.368, -0.382, -0.438, -0.507, -0.579, -0.625, -0.647, -0.655, -0.627, -0.57",\
                 "-0.379, -0.391, -0.448, -0.526, -0.59, -0.634, -0.655, -0.665, -0.636, -0.584",\
                 "-0.337, -0.341, -0.401, -0.482, -0.553, -0.6, -0.625, -0.636, -0.617, -0.567",\
                 "-0.079, -0.1, -0.157, -0.243, -0.322, -0.363, -0.4, -0.419, -0.404, -0.355",\
                 "0.376, 0.365, 0.309, 0.198, 0.118, 0.065, 0.019, 0.003, 0.028, 0.059",\
                 "1.019, 1.007, 0.946, 0.835, 0.737, 0.682, 0.614, 0.589, 0.623, 0.652",\
                 "1.848, 1.843, 1.759, 1.652, 1.538, 1.446, 1.412, 1.351, 1.394, 1.419",\
                 "2.853, 2.859, 2.77, 2.61, 2.515, 2.409, 2.349, 2.319, 2.326, 2.37",\
                 "4.079, 4.098, 3.99, 3.824, 3.691, 3.575, 3.487, 3.471, 3.449, 3.511");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.377, -0.431, -0.507, -0.568, -0.618, -0.639, -0.65, -0.616, -0.559",\
                 "-0.368, -0.382, -0.432, -0.507, -0.579, -0.625, -0.647, -0.655, -0.627, -0.57",\
                 "-0.379, -0.391, -0.448, -0.526, -0.59, -0.64, -0.664, -0.665, -0.636, -0.584",\
                 "-0.337, -0.341, -0.401, -0.482, -0.553, -0.6, -0.625, -0.636, -0.617, -0.567",\
                 "-0.079, -0.092, -0.157, -0.243, -0.322, -0.363, -0.399, -0.42, -0.405, -0.356",\
                 "0.376, 0.365, 0.303, 0.198, 0.127, 0.065, 0.019, 0.003, 0.012, 0.059",\
                 "1.019, 1.024, 0.954, 0.825, 0.737, 0.682, 0.614, 0.589, 0.611, 0.652",\
                 "1.848, 1.849, 1.753, 1.652, 1.538, 1.446, 1.412, 1.351, 1.367, 1.419",\
                 "2.861, 2.859, 2.77, 2.636, 2.515, 2.409, 2.349, 2.299, 2.357, 2.37",\
                 "4.079, 4.098, 3.99, 3.88, 3.668, 3.562, 3.487, 3.44, 3.485, 3.511");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.595, 0.609, 0.656, 0.744, 0.814, 0.865, 0.909, 0.933, 0.926, 0.903",\
                 "0.6, 0.611, 0.663, 0.739, 0.811, 0.872, 0.912, 0.935, 0.932, 0.901",\
                 "0.621, 0.634, 0.685, 0.763, 0.835, 0.896, 0.936, 0.957, 0.95, 0.922",\
                 "0.683, 0.698, 0.75, 0.827, 0.897, 0.959, 0.995, 1.017, 1.011, 0.982",\
                 "0.801, 0.81, 0.862, 0.94, 1.01, 1.064, 1.103, 1.123, 1.124, 1.089",\
                 "0.959, 0.973, 1.019, 1.095, 1.17, 1.22, 1.261, 1.277, 1.277, 1.248",\
                 "1.148, 1.161, 1.211, 1.293, 1.357, 1.413, 1.453, 1.471, 1.468, 1.446",\
                 "1.375, 1.387, 1.436, 1.515, 1.58, 1.636, 1.672, 1.694, 1.698, 1.677",\
                 "1.636, 1.653, 1.697, 1.777, 1.838, 1.888, 1.929, 1.955, 1.96, 1.944",\
                 "1.935, 1.945, 1.996, 2.068, 2.129, 2.186, 2.222, 2.257, 2.262, 2.247");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SETN&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.595, 0.609, 0.656, 0.743, 0.814, 0.865, 0.909, 0.933, 0.926, 0.903",\
                 "0.6, 0.611, 0.663, 0.739, 0.811, 0.872, 0.912, 0.935, 0.932, 0.901",\
                 "0.621, 0.634, 0.685, 0.764, 0.835, 0.896, 0.936, 0.957, 0.95, 0.922",\
                 "0.683, 0.698, 0.75, 0.826, 0.897, 0.959, 0.995, 1.017, 1.011, 0.982",\
                 "0.801, 0.81, 0.862, 0.94, 1.01, 1.064, 1.103, 1.123, 1.124, 1.089",\
                 "0.959, 0.973, 1.019, 1.095, 1.17, 1.22, 1.261, 1.277, 1.277, 1.248",\
                 "1.148, 1.161, 1.211, 1.293, 1.357, 1.413, 1.453, 1.471, 1.468, 1.446",\
                 "1.375, 1.387, 1.436, 1.515, 1.58, 1.636, 1.672, 1.694, 1.698, 1.677",\
                 "1.636, 1.653, 1.697, 1.777, 1.838, 1.888, 1.929, 1.955, 1.96, 1.944",\
                 "1.93, 1.945, 1.996, 2.067, 2.129, 2.186, 2.222, 2.249, 2.262, 2.247");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.595, 0.609, 0.656, 0.743, 0.814, 0.865, 0.909, 0.933, 0.926, 0.903",\
                 "0.6, 0.611, 0.663, 0.739, 0.811, 0.872, 0.912, 0.935, 0.932, 0.901",\
                 "0.621, 0.634, 0.685, 0.763, 0.835, 0.896, 0.936, 0.957, 0.95, 0.922",\
                 "0.683, 0.698, 0.75, 0.827, 0.897, 0.959, 0.995, 1.017, 1.011, 0.982",\
                 "0.801, 0.81, 0.862, 0.94, 1.01, 1.064, 1.103, 1.123, 1.124, 1.089",\
                 "0.959, 0.973, 1.019, 1.095, 1.17, 1.22, 1.261, 1.277, 1.277, 1.248",\
                 "1.148, 1.161, 1.211, 1.293, 1.357, 1.413, 1.453, 1.471, 1.468, 1.446",\
                 "1.375, 1.387, 1.436, 1.515, 1.58, 1.636, 1.672, 1.694, 1.698, 1.677",\
                 "1.636, 1.653, 1.697, 1.777, 1.838, 1.888, 1.929, 1.955, 1.96, 1.944",\
                 "1.93, 1.945, 1.996, 2.068, 2.129, 2.186, 2.222, 2.249, 2.262, 2.247");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.595, 0.609, 0.656, 0.744, 0.814, 0.871, 0.909, 0.933, 0.926, 0.903",\
                 "0.593, 0.611, 0.663, 0.739, 0.811, 0.872, 0.912, 0.935, 0.932, 0.901",\
                 "0.621, 0.634, 0.685, 0.764, 0.835, 0.896, 0.936, 0.957, 0.95, 0.922",\
                 "0.683, 0.698, 0.75, 0.827, 0.903, 0.959, 0.995, 1.017, 1.011, 0.982",\
                 "0.801, 0.81, 0.862, 0.94, 1.016, 1.064, 1.103, 1.123, 1.124, 1.089",\
                 "0.959, 0.973, 1.019, 1.095, 1.17, 1.22, 1.261, 1.277, 1.277, 1.248",\
                 "1.148, 1.161, 1.211, 1.293, 1.357, 1.413, 1.453, 1.471, 1.468, 1.446",\
                 "1.375, 1.387, 1.436, 1.515, 1.58, 1.636, 1.672, 1.7, 1.698, 1.677",\
                 "1.636, 1.645, 1.697, 1.777, 1.838, 1.893, 1.935, 1.955, 1.96, 1.944",\
                 "1.93, 1.945, 1.996, 2.067, 2.135, 2.186, 2.229, 2.257, 2.262, 2.247");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.424");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.424");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.424");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.424");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.424");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.424");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.424");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.424");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.697");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.05, 0.099, 0.129, 0.152, 0.158, 0.142, 0.107, 0.038",\
                 "-0.008, -0, 0.041, 0.083, 0.124, 0.141, 0.15, 0.135, 0.097, 0.031",\
                 "-0.039, -0.029, 0.008, 0.057, 0.095, 0.117, 0.13, 0.112, 0.073, 0.016",\
                 "-0.08, -0.073, -0.039, 0.016, 0.053, 0.081, 0.096, 0.082, 0.041, -0.019",\
                 "-0.129, -0.116, -0.086, -0.036, 0.007, 0.031, 0.045, 0.035, -0.002, -0.061",\
                 "-0.181, -0.171, -0.136, -0.088, -0.048, -0.022, -0.012, -0.019, -0.054, -0.116",\
                 "-0.226, -0.219, -0.193, -0.145, -0.107, -0.076, -0.065, -0.071, -0.109, -0.167",\
                 "-0.278, -0.273, -0.242, -0.202, -0.16, -0.132, -0.114, -0.126, -0.159, -0.222",\
                 "-0.322, -0.314, -0.288, -0.25, -0.215, -0.187, -0.169, -0.172, -0.21, -0.262",\
                 "-0.356, -0.35, -0.326, -0.293, -0.254, -0.226, -0.211, -0.216, -0.242, -0.307");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.05, 0.099, 0.129, 0.152, 0.158, 0.142, 0.107, 0.038",\
                 "-0.008, -0, 0.041, 0.083, 0.124, 0.141, 0.15, 0.135, 0.097, 0.031",\
                 "-0.039, -0.029, 0.008, 0.057, 0.095, 0.117, 0.13, 0.112, 0.073, 0.016",\
                 "-0.08, -0.073, -0.039, 0.016, 0.053, 0.081, 0.096, 0.082, 0.041, -0.019",\
                 "-0.129, -0.116, -0.086, -0.036, 0.007, 0.031, 0.045, 0.035, -0.002, -0.061",\
                 "-0.181, -0.171, -0.136, -0.088, -0.048, -0.022, -0.012, -0.019, -0.054, -0.116",\
                 "-0.226, -0.219, -0.193, -0.145, -0.107, -0.076, -0.065, -0.071, -0.109, -0.167",\
                 "-0.278, -0.273, -0.242, -0.202, -0.16, -0.132, -0.114, -0.126, -0.159, -0.222",\
                 "-0.322, -0.314, -0.288, -0.25, -0.215, -0.187, -0.169, -0.172, -0.21, -0.262",\
                 "-0.356, -0.35, -0.326, -0.293, -0.254, -0.226, -0.211, -0.216, -0.242, -0.307");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.05, 0.099, 0.129, 0.152, 0.158, 0.142, 0.107, 0.038",\
                 "-0.008, -0, 0.041, 0.083, 0.124, 0.141, 0.15, 0.135, 0.097, 0.031",\
                 "-0.039, -0.029, 0.008, 0.057, 0.095, 0.117, 0.13, 0.112, 0.073, 0.016",\
                 "-0.08, -0.073, -0.039, 0.016, 0.053, 0.081, 0.096, 0.082, 0.041, -0.019",\
                 "-0.129, -0.116, -0.086, -0.036, 0.007, 0.031, 0.045, 0.035, -0.002, -0.061",\
                 "-0.181, -0.171, -0.136, -0.088, -0.048, -0.022, -0.012, -0.019, -0.054, -0.116",\
                 "-0.226, -0.219, -0.193, -0.145, -0.107, -0.076, -0.065, -0.071, -0.109, -0.167",\
                 "-0.278, -0.273, -0.242, -0.202, -0.16, -0.132, -0.114, -0.126, -0.159, -0.222",\
                 "-0.322, -0.314, -0.288, -0.25, -0.215, -0.187, -0.169, -0.172, -0.21, -0.262",\
                 "-0.356, -0.35, -0.326, -0.293, -0.254, -0.226, -0.211, -0.216, -0.242, -0.307");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.05, 0.099, 0.129, 0.152, 0.158, 0.142, 0.107, 0.038",\
                 "-0.008, -0, 0.041, 0.083, 0.124, 0.141, 0.15, 0.129, 0.097, 0.031",\
                 "-0.039, -0.029, 0.008, 0.057, 0.095, 0.117, 0.13, 0.112, 0.073, 0.016",\
                 "-0.08, -0.073, -0.039, 0.016, 0.053, 0.081, 0.096, 0.082, 0.041, -0.019",\
                 "-0.129, -0.116, -0.086, -0.036, -0, 0.031, 0.045, 0.035, -0.002, -0.061",\
                 "-0.181, -0.171, -0.136, -0.088, -0.048, -0.021, -0.012, -0.019, -0.054, -0.116",\
                 "-0.226, -0.219, -0.193, -0.145, -0.107, -0.076, -0.065, -0.071, -0.109, -0.167",\
                 "-0.278, -0.273, -0.242, -0.202, -0.16, -0.132, -0.114, -0.126, -0.159, -0.222",\
                 "-0.322, -0.314, -0.288, -0.25, -0.215, -0.182, -0.169, -0.172, -0.21, -0.262",\
                 "-0.356, -0.35, -0.326, -0.293, -0.254, -0.226, -0.211, -0.216, -0.242, -0.307");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.05, 0.099, 0.129, 0.152, 0.158, 0.142, 0.107, 0.038",\
                 "-0.008, -0, 0.041, 0.083, 0.124, 0.141, 0.15, 0.129, 0.097, 0.031",\
                 "-0.039, -0.029, 0.008, 0.057, 0.095, 0.117, 0.13, 0.112, 0.073, 0.016",\
                 "-0.08, -0.073, -0.039, 0.016, 0.053, 0.081, 0.096, 0.082, 0.041, -0.019",\
                 "-0.129, -0.116, -0.086, -0.036, -0, 0.031, 0.045, 0.035, -0.002, -0.061",\
                 "-0.181, -0.171, -0.136, -0.088, -0.048, -0.021, -0.012, -0.019, -0.054, -0.116",\
                 "-0.226, -0.219, -0.193, -0.145, -0.107, -0.076, -0.065, -0.071, -0.109, -0.167",\
                 "-0.278, -0.273, -0.242, -0.202, -0.16, -0.132, -0.114, -0.126, -0.159, -0.222",\
                 "-0.322, -0.314, -0.288, -0.25, -0.215, -0.182, -0.169, -0.172, -0.21, -0.262",\
                 "-0.356, -0.35, -0.326, -0.293, -0.254, -0.226, -0.211, -0.216, -0.242, -0.307");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.05, 0.099, 0.129, 0.152, 0.158, 0.142, 0.107, 0.038",\
                 "-0.008, -0, 0.041, 0.083, 0.124, 0.141, 0.15, 0.129, 0.097, 0.031",\
                 "-0.039, -0.029, 0.008, 0.057, 0.095, 0.117, 0.13, 0.112, 0.073, 0.016",\
                 "-0.08, -0.073, -0.039, 0.016, 0.053, 0.081, 0.096, 0.082, 0.041, -0.019",\
                 "-0.129, -0.116, -0.086, -0.036, -0, 0.031, 0.045, 0.035, -0.002, -0.061",\
                 "-0.181, -0.171, -0.136, -0.088, -0.048, -0.021, -0.012, -0.019, -0.054, -0.116",\
                 "-0.226, -0.219, -0.193, -0.145, -0.107, -0.076, -0.065, -0.071, -0.109, -0.167",\
                 "-0.278, -0.273, -0.242, -0.202, -0.16, -0.132, -0.114, -0.126, -0.159, -0.222",\
                 "-0.322, -0.314, -0.288, -0.25, -0.215, -0.182, -0.169, -0.172, -0.21, -0.262",\
                 "-0.356, -0.35, -0.326, -0.293, -0.254, -0.226, -0.211, -0.216, -0.242, -0.307");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.05, 0.099, 0.129, 0.152, 0.158, 0.142, 0.107, 0.038",\
                 "-0.008, -0, 0.041, 0.083, 0.124, 0.141, 0.15, 0.135, 0.097, 0.031",\
                 "-0.039, -0.029, 0.008, 0.057, 0.095, 0.117, 0.13, 0.112, 0.073, 0.016",\
                 "-0.08, -0.073, -0.039, 0.016, 0.053, 0.081, 0.096, 0.082, 0.041, -0.019",\
                 "-0.129, -0.116, -0.086, -0.036, 0.007, 0.031, 0.045, 0.035, -0.002, -0.061",\
                 "-0.181, -0.171, -0.136, -0.088, -0.048, -0.022, -0.012, -0.019, -0.054, -0.116",\
                 "-0.226, -0.219, -0.193, -0.145, -0.107, -0.076, -0.065, -0.071, -0.109, -0.167",\
                 "-0.278, -0.273, -0.242, -0.202, -0.16, -0.132, -0.114, -0.126, -0.159, -0.222",\
                 "-0.322, -0.314, -0.288, -0.25, -0.215, -0.187, -0.169, -0.172, -0.21, -0.262",\
                 "-0.356, -0.35, -0.326, -0.293, -0.254, -0.226, -0.211, -0.216, -0.242, -0.307");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0, 0.015, 0.05, 0.099, 0.129, 0.152, 0.158, 0.142, 0.107, 0.038",\
                 "-0.008, -0, 0.041, 0.083, 0.124, 0.141, 0.15, 0.129, 0.097, 0.031",\
                 "-0.039, -0.029, 0.008, 0.057, 0.095, 0.117, 0.13, 0.112, 0.073, 0.016",\
                 "-0.08, -0.073, -0.039, 0.016, 0.053, 0.081, 0.096, 0.082, 0.041, -0.019",\
                 "-0.129, -0.116, -0.086, -0.036, -0, 0.031, 0.045, 0.035, -0.002, -0.061",\
                 "-0.181, -0.171, -0.136, -0.088, -0.048, -0.021, -0.012, -0.019, -0.054, -0.116",\
                 "-0.226, -0.219, -0.193, -0.145, -0.107, -0.076, -0.065, -0.071, -0.109, -0.167",\
                 "-0.278, -0.273, -0.242, -0.202, -0.16, -0.132, -0.114, -0.126, -0.159, -0.222",\
                 "-0.322, -0.314, -0.288, -0.25, -0.215, -0.182, -0.169, -0.172, -0.21, -0.262",\
                 "-0.356, -0.35, -0.326, -0.293, -0.254, -0.226, -0.211, -0.216, -0.242, -0.307");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.044, 0.085, 0.111, 0.125, 0.125, 0.107, 0.059",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.105, 0.124, 0.123, 0.097, 0.052",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.124, 0.098, 0.059",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.118, 0.136, 0.135, 0.111, 0.065",\
                 "-0.032, -0.023, 0.01, 0.059, 0.101, 0.136, 0.153, 0.153, 0.13, 0.082",\
                 "0.009, 0.018, 0.049, 0.102, 0.145, 0.173, 0.19, 0.191, 0.166, 0.116",\
                 "0.078, 0.09, 0.124, 0.164, 0.207, 0.241, 0.258, 0.261, 0.227, 0.176",\
                 "0.182, 0.187, 0.218, 0.266, 0.306, 0.34, 0.354, 0.355, 0.327, 0.272",\
                 "0.315, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.459, 0.413",\
                 "0.488, 0.493, 0.521, 0.563, 0.604, 0.641, 0.66, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.044, 0.085, 0.111, 0.125, 0.125, 0.107, 0.059",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.105, 0.124, 0.123, 0.097, 0.052",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.124, 0.098, 0.059",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.118, 0.136, 0.135, 0.111, 0.065",\
                 "-0.032, -0.023, 0.01, 0.059, 0.101, 0.136, 0.153, 0.153, 0.13, 0.082",\
                 "0.009, 0.018, 0.049, 0.102, 0.145, 0.173, 0.19, 0.191, 0.166, 0.116",\
                 "0.078, 0.09, 0.124, 0.164, 0.207, 0.241, 0.258, 0.261, 0.227, 0.176",\
                 "0.182, 0.187, 0.218, 0.266, 0.306, 0.34, 0.354, 0.355, 0.327, 0.272",\
                 "0.315, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.459, 0.413",\
                 "0.488, 0.493, 0.521, 0.563, 0.604, 0.641, 0.66, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.044, 0.085, 0.111, 0.125, 0.125, 0.107, 0.059",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.105, 0.124, 0.123, 0.097, 0.052",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.124, 0.098, 0.059",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.118, 0.136, 0.135, 0.111, 0.065",\
                 "-0.032, -0.023, 0.01, 0.059, 0.101, 0.136, 0.153, 0.153, 0.13, 0.082",\
                 "0.009, 0.018, 0.049, 0.102, 0.145, 0.173, 0.19, 0.191, 0.166, 0.116",\
                 "0.078, 0.09, 0.124, 0.164, 0.207, 0.241, 0.258, 0.261, 0.227, 0.176",\
                 "0.182, 0.187, 0.218, 0.266, 0.306, 0.34, 0.354, 0.355, 0.327, 0.272",\
                 "0.315, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.459, 0.413",\
                 "0.488, 0.493, 0.521, 0.563, 0.604, 0.641, 0.66, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.044, 0.085, 0.111, 0.125, 0.125, 0.107, 0.059",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.105, 0.124, 0.123, 0.097, 0.052",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.124, 0.098, 0.059",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.118, 0.136, 0.135, 0.111, 0.065",\
                 "-0.032, -0.023, 0.01, 0.059, 0.101, 0.136, 0.153, 0.153, 0.13, 0.082",\
                 "0.009, 0.018, 0.049, 0.102, 0.145, 0.173, 0.19, 0.191, 0.166, 0.116",\
                 "0.078, 0.09, 0.124, 0.164, 0.207, 0.241, 0.258, 0.261, 0.227, 0.176",\
                 "0.182, 0.187, 0.218, 0.266, 0.306, 0.34, 0.354, 0.355, 0.327, 0.272",\
                 "0.315, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.459, 0.413",\
                 "0.488, 0.493, 0.521, 0.563, 0.604, 0.641, 0.66, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.044, 0.085, 0.111, 0.125, 0.125, 0.107, 0.059",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.105, 0.124, 0.123, 0.097, 0.052",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.124, 0.098, 0.059",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.118, 0.136, 0.135, 0.111, 0.065",\
                 "-0.032, -0.023, 0.01, 0.059, 0.101, 0.136, 0.153, 0.153, 0.13, 0.082",\
                 "0.009, 0.018, 0.049, 0.102, 0.145, 0.173, 0.19, 0.191, 0.166, 0.116",\
                 "0.078, 0.09, 0.124, 0.164, 0.207, 0.241, 0.258, 0.261, 0.227, 0.176",\
                 "0.182, 0.187, 0.218, 0.266, 0.306, 0.34, 0.354, 0.355, 0.327, 0.272",\
                 "0.315, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.459, 0.413",\
                 "0.488, 0.493, 0.521, 0.563, 0.604, 0.641, 0.66, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.044, 0.085, 0.111, 0.125, 0.125, 0.107, 0.059",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.105, 0.124, 0.123, 0.097, 0.052",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.124, 0.098, 0.059",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.118, 0.136, 0.135, 0.111, 0.065",\
                 "-0.032, -0.023, 0.01, 0.059, 0.101, 0.136, 0.153, 0.153, 0.13, 0.082",\
                 "0.009, 0.018, 0.049, 0.102, 0.145, 0.173, 0.19, 0.191, 0.166, 0.116",\
                 "0.078, 0.09, 0.124, 0.164, 0.207, 0.241, 0.258, 0.261, 0.227, 0.176",\
                 "0.182, 0.187, 0.218, 0.266, 0.306, 0.34, 0.354, 0.355, 0.327, 0.272",\
                 "0.315, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.459, 0.413",\
                 "0.488, 0.493, 0.521, 0.563, 0.604, 0.641, 0.66, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.044, 0.085, 0.111, 0.125, 0.125, 0.107, 0.059",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.105, 0.124, 0.123, 0.097, 0.052",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.124, 0.098, 0.059",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.118, 0.136, 0.135, 0.111, 0.065",\
                 "-0.032, -0.023, 0.01, 0.059, 0.101, 0.136, 0.153, 0.153, 0.13, 0.082",\
                 "0.009, 0.018, 0.049, 0.102, 0.145, 0.173, 0.19, 0.191, 0.166, 0.116",\
                 "0.078, 0.09, 0.124, 0.164, 0.207, 0.241, 0.258, 0.261, 0.227, 0.176",\
                 "0.182, 0.187, 0.218, 0.266, 0.306, 0.34, 0.354, 0.355, 0.327, 0.272",\
                 "0.315, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.459, 0.413",\
                 "0.488, 0.493, 0.521, 0.563, 0.604, 0.641, 0.66, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.033, 0.002, 0.044, 0.085, 0.111, 0.125, 0.125, 0.107, 0.059",\
                 "-0.049, -0.04, -0.006, 0.044, 0.077, 0.105, 0.124, 0.123, 0.097, 0.052",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.105, 0.121, 0.124, 0.098, 0.059",\
                 "-0.053, -0.045, -0.016, 0.039, 0.079, 0.118, 0.136, 0.135, 0.111, 0.065",\
                 "-0.032, -0.023, 0.01, 0.059, 0.101, 0.136, 0.153, 0.153, 0.13, 0.082",\
                 "0.009, 0.018, 0.049, 0.102, 0.145, 0.173, 0.19, 0.191, 0.166, 0.116",\
                 "0.078, 0.09, 0.124, 0.164, 0.207, 0.241, 0.258, 0.261, 0.227, 0.176",\
                 "0.182, 0.187, 0.218, 0.266, 0.306, 0.34, 0.354, 0.355, 0.327, 0.272",\
                 "0.315, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.459, 0.413",\
                 "0.488, 0.493, 0.521, 0.563, 0.604, 0.641, 0.66, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.142, 0.133, 0.156, 0.228, 0.372, 0.592, 0.885, 1.254, 1.711",\
                 "0.158, 0.15, 0.142, 0.168, 0.239, 0.383, 0.604, 0.897, 1.268, 1.725",\
                 "0.189, 0.183, 0.173, 0.187, 0.253, 0.381, 0.577, 0.839, 1.176, 1.588",\
                 "0.235, 0.228, 0.213, 0.215, 0.254, 0.343, 0.494, 0.7, 0.973, 1.307",\
                 "0.271, 0.263, 0.243, 0.227, 0.243, 0.293, 0.408, 0.566, 0.778, 1.045",\
                 "0.301, 0.294, 0.271, 0.257, 0.258, 0.286, 0.369, 0.491, 0.667, 0.899",\
                 "0.344, 0.338, 0.311, 0.296, 0.279, 0.298, 0.363, 0.471, 0.623, 0.831",\
                 "0.384, 0.38, 0.361, 0.336, 0.323, 0.334, 0.387, 0.481, 0.631, 0.829",\
                 "0.425, 0.418, 0.404, 0.373, 0.357, 0.36, 0.405, 0.496, 0.645, 0.839",\
                 "0.455, 0.45, 0.434, 0.406, 0.386, 0.388, 0.426, 0.52, 0.674, 0.88");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.142, 0.133, 0.156, 0.228, 0.372, 0.592, 0.885, 1.254, 1.711",\
                 "0.158, 0.15, 0.142, 0.168, 0.239, 0.383, 0.604, 0.897, 1.268, 1.72",\
                 "0.189, 0.183, 0.173, 0.187, 0.253, 0.381, 0.577, 0.839, 1.176, 1.588",\
                 "0.235, 0.228, 0.213, 0.215, 0.254, 0.343, 0.494, 0.7, 0.973, 1.307",\
                 "0.271, 0.263, 0.243, 0.227, 0.243, 0.293, 0.408, 0.566, 0.778, 1.045",\
                 "0.301, 0.294, 0.271, 0.257, 0.258, 0.286, 0.369, 0.491, 0.667, 0.899",\
                 "0.344, 0.338, 0.311, 0.296, 0.279, 0.298, 0.363, 0.471, 0.623, 0.831",\
                 "0.384, 0.38, 0.361, 0.336, 0.323, 0.334, 0.387, 0.481, 0.631, 0.829",\
                 "0.425, 0.418, 0.404, 0.373, 0.357, 0.36, 0.405, 0.496, 0.645, 0.839",\
                 "0.455, 0.45, 0.434, 0.406, 0.386, 0.388, 0.426, 0.52, 0.674, 0.88");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.142, 0.133, 0.156, 0.228, 0.372, 0.592, 0.885, 1.254, 1.711",\
                 "0.158, 0.15, 0.142, 0.168, 0.239, 0.383, 0.604, 0.897, 1.268, 1.72",\
                 "0.189, 0.183, 0.173, 0.187, 0.253, 0.381, 0.577, 0.839, 1.176, 1.588",\
                 "0.235, 0.228, 0.213, 0.215, 0.254, 0.343, 0.494, 0.7, 0.973, 1.307",\
                 "0.271, 0.263, 0.243, 0.227, 0.243, 0.293, 0.408, 0.566, 0.758, 1.045",\
                 "0.301, 0.294, 0.271, 0.257, 0.258, 0.286, 0.369, 0.491, 0.667, 0.899",\
                 "0.344, 0.338, 0.311, 0.296, 0.279, 0.298, 0.363, 0.471, 0.623, 0.831",\
                 "0.384, 0.38, 0.361, 0.336, 0.323, 0.334, 0.387, 0.481, 0.631, 0.829",\
                 "0.425, 0.418, 0.404, 0.373, 0.357, 0.36, 0.405, 0.496, 0.645, 0.839",\
                 "0.455, 0.45, 0.434, 0.406, 0.386, 0.388, 0.426, 0.52, 0.674, 0.88");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.372, 0.592, 0.885, 1.262, 1.716",\
                 "0.158, 0.15, 0.142, 0.168, 0.239, 0.383, 0.604, 0.897, 1.268, 1.725",\
                 "0.189, 0.183, 0.173, 0.187, 0.253, 0.381, 0.577, 0.839, 1.176, 1.588",\
                 "0.235, 0.228, 0.213, 0.215, 0.254, 0.343, 0.494, 0.7, 0.973, 1.301",\
                 "0.271, 0.263, 0.243, 0.227, 0.243, 0.303, 0.402, 0.557, 0.778, 1.039",\
                 "0.301, 0.294, 0.271, 0.257, 0.25, 0.286, 0.369, 0.491, 0.667, 0.899",\
                 "0.344, 0.338, 0.321, 0.296, 0.279, 0.298, 0.363, 0.471, 0.623, 0.831",\
                 "0.384, 0.38, 0.361, 0.336, 0.323, 0.334, 0.387, 0.481, 0.631, 0.829",\
                 "0.425, 0.418, 0.395, 0.373, 0.357, 0.36, 0.405, 0.496, 0.645, 0.839",\
                 "0.455, 0.45, 0.434, 0.406, 0.386, 0.388, 0.426, 0.52, 0.665, 0.875");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.372, 0.592, 0.885, 1.254, 1.716",\
                 "0.158, 0.15, 0.142, 0.168, 0.239, 0.383, 0.604, 0.897, 1.268, 1.725",\
                 "0.189, 0.183, 0.173, 0.187, 0.253, 0.381, 0.577, 0.839, 1.176, 1.588",\
                 "0.235, 0.228, 0.213, 0.215, 0.254, 0.343, 0.494, 0.7, 0.973, 1.307",\
                 "0.263, 0.263, 0.243, 0.227, 0.243, 0.303, 0.402, 0.557, 0.778, 1.039",\
                 "0.301, 0.294, 0.271, 0.249, 0.25, 0.286, 0.369, 0.491, 0.667, 0.899",\
                 "0.344, 0.338, 0.32, 0.296, 0.279, 0.298, 0.363, 0.471, 0.623, 0.824",\
                 "0.384, 0.38, 0.361, 0.336, 0.323, 0.334, 0.387, 0.481, 0.631, 0.829",\
                 "0.425, 0.418, 0.395, 0.373, 0.357, 0.36, 0.405, 0.496, 0.645, 0.839",\
                 "0.455, 0.45, 0.434, 0.406, 0.386, 0.388, 0.426, 0.52, 0.665, 0.875");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.372, 0.592, 0.885, 1.262, 1.716",\
                 "0.158, 0.15, 0.142, 0.168, 0.239, 0.383, 0.604, 0.897, 1.268, 1.725",\
                 "0.189, 0.183, 0.173, 0.187, 0.253, 0.381, 0.577, 0.839, 1.176, 1.588",\
                 "0.235, 0.228, 0.213, 0.215, 0.254, 0.343, 0.494, 0.7, 0.973, 1.301",\
                 "0.263, 0.263, 0.243, 0.227, 0.243, 0.303, 0.402, 0.557, 0.777, 1.045",\
                 "0.301, 0.294, 0.271, 0.249, 0.25, 0.286, 0.369, 0.491, 0.667, 0.899",\
                 "0.344, 0.338, 0.32, 0.296, 0.279, 0.298, 0.363, 0.471, 0.623, 0.831",\
                 "0.384, 0.38, 0.361, 0.336, 0.323, 0.334, 0.387, 0.481, 0.631, 0.829",\
                 "0.425, 0.418, 0.395, 0.373, 0.357, 0.36, 0.405, 0.496, 0.645, 0.839",\
                 "0.455, 0.45, 0.434, 0.406, 0.386, 0.388, 0.426, 0.52, 0.665, 0.875");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.142, 0.133, 0.156, 0.228, 0.372, 0.592, 0.885, 1.254, 1.711",\
                 "0.158, 0.15, 0.142, 0.168, 0.239, 0.383, 0.604, 0.897, 1.268, 1.72",\
                 "0.189, 0.183, 0.173, 0.187, 0.253, 0.381, 0.577, 0.839, 1.176, 1.588",\
                 "0.235, 0.228, 0.213, 0.215, 0.254, 0.343, 0.494, 0.7, 0.973, 1.307",\
                 "0.271, 0.263, 0.243, 0.227, 0.243, 0.293, 0.408, 0.566, 0.778, 1.045",\
                 "0.301, 0.294, 0.271, 0.257, 0.258, 0.286, 0.369, 0.491, 0.667, 0.899",\
                 "0.344, 0.338, 0.311, 0.296, 0.279, 0.298, 0.363, 0.471, 0.623, 0.831",\
                 "0.384, 0.38, 0.361, 0.336, 0.323, 0.334, 0.387, 0.481, 0.631, 0.829",\
                 "0.425, 0.418, 0.404, 0.373, 0.357, 0.36, 0.405, 0.496, 0.645, 0.839",\
                 "0.455, 0.45, 0.434, 0.406, 0.386, 0.388, 0.426, 0.52, 0.674, 0.88");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.372, 0.592, 0.885, 1.254, 1.711",\
                 "0.158, 0.15, 0.142, 0.168, 0.239, 0.383, 0.604, 0.897, 1.268, 1.725",\
                 "0.189, 0.183, 0.173, 0.187, 0.253, 0.381, 0.577, 0.839, 1.176, 1.588",\
                 "0.235, 0.228, 0.213, 0.215, 0.254, 0.343, 0.494, 0.7, 0.973, 1.301",\
                 "0.263, 0.263, 0.243, 0.227, 0.243, 0.303, 0.402, 0.557, 0.778, 1.045",\
                 "0.301, 0.294, 0.271, 0.249, 0.25, 0.286, 0.369, 0.491, 0.667, 0.893",\
                 "0.344, 0.338, 0.32, 0.296, 0.279, 0.298, 0.363, 0.471, 0.623, 0.831",\
                 "0.384, 0.38, 0.361, 0.336, 0.323, 0.334, 0.387, 0.481, 0.631, 0.829",\
                 "0.425, 0.418, 0.395, 0.373, 0.357, 0.36, 0.405, 0.496, 0.645, 0.839",\
                 "0.455, 0.45, 0.434, 0.406, 0.386, 0.388, 0.426, 0.52, 0.665, 0.875");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.378, 0.6, 0.896, 1.27, 1.732",\
                 "0.158, 0.151, 0.142, 0.168, 0.239, 0.389, 0.613, 0.903, 1.284, 1.741",\
                 "0.179, 0.171, 0.166, 0.182, 0.253, 0.381, 0.586, 0.858, 1.201, 1.631",\
                 "0.19, 0.189, 0.173, 0.176, 0.217, 0.314, 0.474, 0.687, 0.964, 1.307",\
                 "0.159, 0.155, 0.139, 0.127, 0.148, 0.206, 0.31, 0.462, 0.674, 0.938",\
                 "0.106, 0.1, 0.079, 0.059, 0.066, 0.092, 0.167, 0.281, 0.441, 0.654",\
                 "0.032, 0.021, 0.003, -0.024, -0.035, -0.025, 0.024, 0.11, 0.251, 0.424",\
                 "-0.076, -0.08, -0.099, -0.132, -0.143, -0.137, -0.1, -0.029, 0.091, 0.255",\
                 "-0.204, -0.209, -0.233, -0.256, -0.277, -0.274, -0.251, -0.186, -0.086, 0.064",\
                 "-0.368, -0.373, -0.392, -0.417, -0.436, -0.44, -0.424, -0.374, -0.28, -0.153");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.378, 0.6, 0.896, 1.278, 1.732",\
                 "0.158, 0.151, 0.142, 0.168, 0.239, 0.389, 0.613, 0.903, 1.284, 1.741",\
                 "0.179, 0.171, 0.166, 0.182, 0.253, 0.381, 0.586, 0.858, 1.201, 1.631",\
                 "0.19, 0.189, 0.173, 0.176, 0.217, 0.314, 0.474, 0.687, 0.964, 1.307",\
                 "0.159, 0.155, 0.139, 0.127, 0.148, 0.206, 0.31, 0.462, 0.674, 0.938",\
                 "0.106, 0.1, 0.079, 0.059, 0.066, 0.092, 0.167, 0.281, 0.441, 0.654",\
                 "0.032, 0.021, 0.003, -0.024, -0.035, -0.025, 0.024, 0.11, 0.251, 0.424",\
                 "-0.076, -0.08, -0.099, -0.132, -0.143, -0.137, -0.1, -0.029, 0.091, 0.255",\
                 "-0.204, -0.209, -0.233, -0.256, -0.277, -0.274, -0.251, -0.186, -0.086, 0.064",\
                 "-0.368, -0.373, -0.392, -0.417, -0.436, -0.44, -0.424, -0.374, -0.28, -0.153");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.378, 0.6, 0.896, 1.278, 1.732",\
                 "0.158, 0.151, 0.142, 0.168, 0.239, 0.389, 0.613, 0.903, 1.284, 1.741",\
                 "0.179, 0.171, 0.166, 0.182, 0.253, 0.381, 0.586, 0.858, 1.201, 1.631",\
                 "0.19, 0.189, 0.173, 0.176, 0.217, 0.314, 0.474, 0.687, 0.964, 1.307",\
                 "0.159, 0.155, 0.139, 0.127, 0.148, 0.206, 0.31, 0.462, 0.674, 0.938",\
                 "0.106, 0.1, 0.079, 0.059, 0.066, 0.092, 0.167, 0.281, 0.441, 0.654",\
                 "0.032, 0.021, 0.003, -0.024, -0.035, -0.025, 0.024, 0.11, 0.251, 0.424",\
                 "-0.076, -0.08, -0.099, -0.132, -0.143, -0.137, -0.1, -0.029, 0.091, 0.255",\
                 "-0.204, -0.209, -0.233, -0.256, -0.277, -0.274, -0.251, -0.186, -0.086, 0.064",\
                 "-0.368, -0.368, -0.386, -0.411, -0.43, -0.433, -0.416, -0.366, -0.271, -0.138");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.378, 0.6, 0.896, 1.27, 1.732",\
                 "0.158, 0.151, 0.142, 0.168, 0.239, 0.389, 0.613, 0.903, 1.284, 1.741",\
                 "0.179, 0.171, 0.166, 0.182, 0.253, 0.381, 0.586, 0.858, 1.201, 1.631",\
                 "0.19, 0.189, 0.173, 0.176, 0.217, 0.314, 0.474, 0.687, 0.964, 1.307",\
                 "0.159, 0.155, 0.139, 0.127, 0.148, 0.206, 0.31, 0.462, 0.674, 0.938",\
                 "0.106, 0.1, 0.079, 0.059, 0.066, 0.092, 0.167, 0.281, 0.441, 0.654",\
                 "0.032, 0.021, 0.003, -0.024, -0.035, -0.025, 0.024, 0.11, 0.251, 0.424",\
                 "-0.076, -0.08, -0.099, -0.132, -0.143, -0.137, -0.1, -0.029, 0.091, 0.255",\
                 "-0.204, -0.209, -0.233, -0.256, -0.277, -0.274, -0.245, -0.186, -0.086, 0.064",\
                 "-0.368, -0.373, -0.392, -0.417, -0.436, -0.44, -0.424, -0.374, -0.28, -0.153");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.378, 0.6, 0.896, 1.278, 1.732",\
                 "0.158, 0.151, 0.142, 0.168, 0.239, 0.389, 0.613, 0.903, 1.284, 1.741",\
                 "0.179, 0.171, 0.166, 0.182, 0.253, 0.381, 0.586, 0.858, 1.201, 1.631",\
                 "0.19, 0.189, 0.173, 0.176, 0.217, 0.314, 0.474, 0.687, 0.964, 1.307",\
                 "0.159, 0.155, 0.139, 0.127, 0.148, 0.206, 0.31, 0.462, 0.674, 0.938",\
                 "0.106, 0.1, 0.079, 0.059, 0.066, 0.092, 0.167, 0.281, 0.441, 0.654",\
                 "0.032, 0.021, 0.003, -0.024, -0.035, -0.025, 0.024, 0.11, 0.251, 0.424",\
                 "-0.076, -0.08, -0.099, -0.132, -0.143, -0.137, -0.1, -0.029, 0.091, 0.255",\
                 "-0.204, -0.209, -0.233, -0.256, -0.277, -0.274, -0.251, -0.186, -0.086, 0.064",\
                 "-0.368, -0.368, -0.386, -0.411, -0.43, -0.433, -0.416, -0.366, -0.271, -0.138");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.378, 0.6, 0.896, 1.278, 1.737",\
                 "0.158, 0.151, 0.142, 0.168, 0.239, 0.389, 0.613, 0.903, 1.284, 1.741",\
                 "0.179, 0.171, 0.166, 0.182, 0.253, 0.381, 0.586, 0.858, 1.201, 1.631",\
                 "0.19, 0.189, 0.173, 0.176, 0.217, 0.314, 0.474, 0.687, 0.964, 1.307",\
                 "0.159, 0.155, 0.139, 0.127, 0.148, 0.206, 0.31, 0.462, 0.674, 0.938",\
                 "0.106, 0.1, 0.079, 0.059, 0.066, 0.092, 0.167, 0.281, 0.441, 0.654",\
                 "0.032, 0.021, 0.003, -0.024, -0.035, -0.025, 0.024, 0.11, 0.251, 0.424",\
                 "-0.076, -0.08, -0.099, -0.132, -0.143, -0.137, -0.1, -0.029, 0.091, 0.255",\
                 "-0.204, -0.209, -0.233, -0.256, -0.277, -0.274, -0.251, -0.186, -0.086, 0.064",\
                 "-0.368, -0.368, -0.386, -0.411, -0.43, -0.433, -0.416, -0.366, -0.271, -0.138");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.378, 0.6, 0.896, 1.278, 1.737",\
                 "0.158, 0.151, 0.142, 0.168, 0.239, 0.389, 0.613, 0.903, 1.284, 1.741",\
                 "0.179, 0.171, 0.166, 0.182, 0.253, 0.381, 0.586, 0.858, 1.201, 1.631",\
                 "0.19, 0.189, 0.173, 0.176, 0.217, 0.314, 0.474, 0.687, 0.964, 1.307",\
                 "0.159, 0.155, 0.139, 0.127, 0.148, 0.206, 0.31, 0.462, 0.674, 0.938",\
                 "0.106, 0.1, 0.079, 0.059, 0.066, 0.092, 0.167, 0.281, 0.441, 0.654",\
                 "0.032, 0.021, 0.003, -0.024, -0.035, -0.025, 0.024, 0.11, 0.251, 0.424",\
                 "-0.076, -0.08, -0.099, -0.132, -0.143, -0.137, -0.1, -0.029, 0.091, 0.255",\
                 "-0.204, -0.209, -0.233, -0.256, -0.277, -0.274, -0.251, -0.186, -0.086, 0.064",\
                 "-0.368, -0.368, -0.386, -0.411, -0.43, -0.433, -0.416, -0.366, -0.271, -0.143");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.142, 0.133, 0.156, 0.228, 0.378, 0.6, 0.896, 1.278, 1.732",\
                 "0.158, 0.151, 0.142, 0.168, 0.239, 0.389, 0.613, 0.903, 1.284, 1.741",\
                 "0.179, 0.171, 0.166, 0.182, 0.253, 0.381, 0.586, 0.858, 1.201, 1.631",\
                 "0.19, 0.189, 0.173, 0.176, 0.217, 0.314, 0.474, 0.687, 0.964, 1.307",\
                 "0.159, 0.155, 0.139, 0.127, 0.148, 0.206, 0.31, 0.462, 0.674, 0.938",\
                 "0.106, 0.1, 0.079, 0.059, 0.066, 0.092, 0.167, 0.281, 0.441, 0.654",\
                 "0.032, 0.021, 0.003, -0.024, -0.035, -0.025, 0.024, 0.11, 0.251, 0.424",\
                 "-0.076, -0.08, -0.099, -0.125, -0.136, -0.129, -0.1, -0.023, 0.098, 0.271",\
                 "-0.204, -0.209, -0.233, -0.256, -0.277, -0.274, -0.245, -0.186, -0.086, 0.064",\
                 "-0.368, -0.373, -0.392, -0.417, -0.436, -0.44, -0.416, -0.374, -0.28, -0.153");
        }
      }
    }

    pin(SE) {
      capacitance : 0.005982 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05615, 0.05563, 0.05687, 0.06202, 0.07198, 0.08713, 0.1081, \
                 0.1351, 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00118, 0.0009734, 0.001699, 0.005535, 0.0135, 0.02636, 0.04434, \
                 0.06771, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1515, 0.1506, 0.1512, 0.156, 0.168, 0.1897, 0.2223, 0.2671, \
                 0.3245, 0.3947");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03857, 0.03784, 0.03809, 0.04204, 0.05205, 0.07038, 0.09811, \
                 0.1362, 0.185, 0.2451");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05616, 0.05562, 0.05686, 0.06205, 0.07195, 0.08712, 0.108, 0.1351, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001203, 0.0009929, 0.001719, 0.005523, 0.01356, 0.02636, 0.04434, \
                 0.06768, 0.09673, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1904, 0.1895, 0.19, 0.1948, 0.2073, 0.2302, 0.2652, 0.3137, \
                 0.3759, 0.4516");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09687, 0.09614, 0.09631, 0.1004, 0.1115, 0.1315, 0.1617, 0.2029, \
                 0.2557, 0.32");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05616, 0.05563, 0.05686, 0.06202, 0.07189, 0.08712, 0.1081, \
                 0.1352, 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0012, 0.0009945, 0.001697, 0.005526, 0.01358, 0.02637, 0.04432, \
                 0.06768, 0.09675, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1515, 0.1506, 0.1512, 0.156, 0.1679, 0.1897, 0.2223, 0.2671, \
                 0.3245, 0.3947");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03857, 0.03785, 0.03808, 0.04202, 0.05211, 0.07036, 0.09814, \
                 0.1361, 0.185, 0.2451");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05615, 0.05563, 0.05684, 0.06207, 0.07192, 0.08711, 0.1081, \
                 0.1351, 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001198, 0.0009773, 0.001711, 0.005513, 0.01355, 0.0264, 0.04431, \
                 0.06769, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1872, 0.1863, 0.1869, 0.1917, 0.2041, 0.227, 0.2619, 0.3103, \
                 0.3724, 0.4479");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09952, 0.09877, 0.09894, 0.103, 0.1142, 0.1341, 0.1644, 0.2055, \
                 0.2581, 0.3226");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09426, 0.09373, 0.09491, 0.09992, 0.1097, 0.1247, 0.1457, 0.1732, \
                 0.2074, 0.2487");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1019, 0.1017, 0.1023, 0.1058, 0.1136, 0.1262, 0.144, 0.1673, \
                 0.1964, 0.2316");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05706, 0.05647, 0.05788, 0.06316, 0.0733, 0.08869, 0.1098, 0.137, \
                 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001637, -0.002424, -0.002088, 0.001669, 0.009686, 0.02253, \
                 0.04053, 0.06396, 0.09306, 0.1282");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1518, 0.1512, 0.1524, 0.1574, 0.1672, 0.1822, 0.2033, 0.2309, \
                 0.2653, 0.3068");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1434, 0.1432, 0.1438, 0.1474, 0.1549, 0.1674, 0.185, 0.2082, \
                 0.2373, 0.2725");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05703, 0.05647, 0.05784, 0.06317, 0.07328, 0.08864, 0.1098, \
                 0.137, 0.1706, 0.2112");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001633, -0.002414, -0.002099, 0.001686, 0.009688, 0.02254, \
                 0.04056, 0.06395, 0.09307, 0.1282");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09428, 0.09373, 0.0949, 0.09991, 0.1096, 0.1247, 0.1457, 0.1732, \
                 0.2074, 0.2487");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1019, 0.1017, 0.1023, 0.1058, 0.1137, 0.1263, 0.144, 0.1673, \
                 0.1964, 0.2316");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05708, 0.0565, 0.05788, 0.0632, 0.07324, 0.08862, 0.1098, 0.1369, \
                 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001637, -0.002418, -0.002096, 0.001684, 0.009714, 0.02254, \
                 0.04054, 0.06396, 0.09308, 0.1281");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1544, 0.1539, 0.155, 0.16, 0.1698, 0.1848, 0.206, 0.2335, 0.2679, \
                 0.3094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1402, 0.14, 0.1406, 0.1441, 0.1517, 0.1641, 0.1818, 0.205, 0.2341, \
                 0.2693");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05708, 0.05655, 0.05788, 0.06317, 0.07324, 0.08865, 0.1097, \
                 0.1369, 0.1706, 0.2112");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001636, -0.00242, -0.002102, 0.001674, 0.009706, 0.02254, 0.04053, \
                 0.06399, 0.09307, 0.1282");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05665, 0.05633, 0.05764, 0.06284, 0.07278, 0.08794, 0.1089, \
                 0.1359, 0.1694, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001116, 0.0008844, 0.001632, 0.005454, 0.01346, 0.02632, 0.04428, \
                 0.0677, 0.09672, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05713, 0.05639, 0.05757, 0.06279, 0.07271, 0.08797, 0.1089, \
                 0.136, 0.1696, 0.21");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001193, -0.001687, -0.001325, 0.0024, 0.0108, 0.02455, 0.04355, \
                 0.06762, 0.09701, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05664, 0.05632, 0.05762, 0.06285, 0.07278, 0.08795, 0.1088, \
                 0.1359, 0.1694, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001119, 0.0008972, 0.00162, 0.005447, 0.01348, 0.02634, 0.04429, \
                 0.06767, 0.09671, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05713, 0.05638, 0.05758, 0.06275, 0.07279, 0.08793, 0.1089, \
                 0.1361, 0.1696, 0.21");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00119, -0.001692, -0.001308, 0.002402, 0.01079, 0.02456, 0.04354, \
                 0.06762, 0.097, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05613, 0.05559, 0.05681, 0.06199, 0.07191, 0.08709, 0.108, 0.1351, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001122, 0.000863, 0.001658, 0.005443, 0.01353, 0.02632, 0.04429, \
                 0.06767, 0.09677, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05688, 0.05635, 0.05761, 0.06278, 0.0727, 0.08799, 0.1089, 0.136, \
                 0.1696, 0.21");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001191, -0.001708, -0.001303, 0.002379, 0.01085, 0.02454, 0.04355, \
                 0.06762, 0.09701, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05613, 0.05559, 0.05679, 0.06199, 0.07195, 0.08708, 0.1081, \
                 0.1352, 0.1687, 0.209");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001123, 0.0008725, 0.001657, 0.005439, 0.01347, 0.02631, 0.0443, \
                 0.06767, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07653, 0.076, 0.07734, 0.0827, 0.09331, 0.1097, 0.1318, 0.1601, \
                 0.1944, 0.2353");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001198, -0.001698, -0.001277, 0.002373, 0.01077, 0.02455, 0.04355, \
                 0.06762, 0.097, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05783, 0.05728, 0.05843, 0.06342, 0.07317, 0.08818, 0.109, 0.136, \
                 0.1694, 0.2097");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002421, 0.002201, 0.002908, 0.006658, 0.01464, 0.02744, 0.04541, \
                 0.06877, 0.09782, 0.1329");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05938, 0.05886, 0.06013, 0.06528, 0.07523, 0.09046, 0.1114, \
                 0.1385, 0.1722, 0.2126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002316, -0.002852, -0.002384, 0.001377, 0.009387, 0.0222, 0.0402, \
                 0.06358, 0.09268, 0.1278");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05781, 0.05727, 0.05845, 0.06344, 0.07317, 0.08817, 0.109, 0.136, \
                 0.1695, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002421, 0.00219, 0.002929, 0.006661, 0.01463, 0.02744, 0.04542, \
                 0.06878, 0.09785, 0.1329");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05939, 0.05884, 0.06011, 0.06526, 0.07525, 0.09046, 0.1115, \
                 0.1385, 0.1721, 0.2126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002315, -0.002856, -0.002358, 0.001376, 0.009379, 0.0222, 0.04019, \
                 0.06361, 0.09269, 0.1277");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05781, 0.05728, 0.05841, 0.06341, 0.07313, 0.08823, 0.109, 0.136, \
                 0.1695, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002421, 0.002165, 0.002916, 0.006658, 0.01466, 0.02741, 0.04541, \
                 0.06877, 0.09782, 0.1329");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05937, 0.05882, 0.06014, 0.06528, 0.0752, 0.09042, 0.1114, 0.1385, \
                 0.1721, 0.2126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002319, -0.002866, -0.002371, 0.001379, 0.009433, 0.02221, \
                 0.04021, 0.06359, 0.09266, 0.1277");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05849, 0.05795, 0.05913, 0.06419, 0.07393, 0.08893, 0.1097, \
                 0.1367, 0.1702, 0.2105");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01674, 0.0165, 0.01724, 0.02094, 0.02897, 0.04179, 0.05977, \
                 0.08315, 0.1122, 0.1472");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05703, 0.05649, 0.05786, 0.06314, 0.07325, 0.08866, 0.1097, \
                 0.1369, 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002079, -0.002663, -0.002218, 0.001526, 0.009594, 0.02243, \
                 0.04045, 0.06386, 0.09296, 0.1281");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.12, -0.108, -0.057, 0.008, 0.07, 0.111, 0.133, 0.125, 0.091, 0.028",\
                 "-0.131, -0.12, -0.072, -0.004, 0.062, 0.1, 0.115, 0.111, 0.08, 0.02",\
                 "-0.157, -0.148, -0.102, -0.03, 0.035, 0.073, 0.085, 0.081, 0.048, -0.011",\
                 "-0.198, -0.189, -0.143, -0.069, -0.01, 0.03, 0.046, 0.035, 0.006, -0.059",\
                 "-0.248, -0.24, -0.19, -0.121, -0.06, -0.022, -0.012, -0.017, -0.05, -0.115",\
                 "-0.301, -0.289, -0.245, -0.176, -0.118, -0.086, -0.079, -0.087, -0.127, -0.188",\
                 "-0.344, -0.339, -0.284, -0.225, -0.17, -0.136, -0.129, -0.14, -0.186, -0.245",\
                 "-0.372, -0.368, -0.317, -0.262, -0.205, -0.183, -0.173, -0.194, -0.233, -0.302",\
                 "-0.393, -0.386, -0.338, -0.294, -0.244, -0.219, -0.222, -0.24, -0.288, -0.352",\
                 "-0.418, -0.418, -0.374, -0.332, -0.297, -0.265, -0.289, -0.296, -0.359, -0.424");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.354, -0.32, -0.301, -0.317, -0.349, -0.406, -0.483, -0.578, -0.701",\
                 "-0.371, -0.358, -0.332, -0.312, -0.324, -0.36, -0.416, -0.492, -0.586, -0.708",\
                 "-0.404, -0.391, -0.362, -0.343, -0.357, -0.387, -0.44, -0.516, -0.614, -0.735",\
                 "-0.453, -0.44, -0.404, -0.39, -0.396, -0.423, -0.463, -0.539, -0.641, -0.758",\
                 "-0.501, -0.487, -0.451, -0.432, -0.43, -0.451, -0.499, -0.565, -0.655, -0.776",\
                 "-0.537, -0.524, -0.487, -0.469, -0.459, -0.48, -0.517, -0.584, -0.672, -0.789",\
                 "-0.546, -0.536, -0.501, -0.475, -0.473, -0.493, -0.533, -0.588, -0.683, -0.795",\
                 "-0.532, -0.518, -0.485, -0.462, -0.456, -0.477, -0.524, -0.584, -0.672, -0.781",\
                 "-0.481, -0.467, -0.429, -0.416, -0.414, -0.439, -0.482, -0.55, -0.638, -0.749",\
                 "-0.397, -0.382, -0.353, -0.338, -0.343, -0.368, -0.418, -0.487, -0.575, -0.701");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.532, -0.518, -0.481, -0.465, -0.474, -0.504, -0.55, -0.625, -0.721, -0.841",\
                 "-0.548, -0.533, -0.498, -0.476, -0.486, -0.519, -0.57, -0.641, -0.738, -0.855",\
                 "-0.613, -0.598, -0.566, -0.552, -0.557, -0.585, -0.631, -0.708, -0.804, -0.923",\
                 "-0.726, -0.71, -0.682, -0.658, -0.67, -0.701, -0.743, -0.82, -0.912, -1.038",\
                 "-0.873, -0.857, -0.825, -0.807, -0.814, -0.846, -0.893, -0.965, -1.062, -1.175",\
                 "-1.05, -1.031, -1.004, -0.98, -0.985, -1.02, -1.069, -1.139, -1.233, -1.352",\
                 "-1.254, -1.239, -1.208, -1.194, -1.199, -1.228, -1.268, -1.34, -1.439, -1.558",\
                 "-1.5, -1.485, -1.454, -1.431, -1.441, -1.463, -1.51, -1.579, -1.678, -1.794",\
                 "-1.778, -1.767, -1.727, -1.71, -1.71, -1.743, -1.788, -1.853, -1.946, -2.064",\
                 "-2.095, -2.08, -2.048, -2.028, -2.029, -2.056, -2.095, -2.163, -2.26, -2.379");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.155, -0.143, -0.095, -0.028, 0.033, 0.065, 0.083, 0.077, 0.043, -0.014",\
                 "-0.172, -0.159, -0.113, -0.042, 0.016, 0.052, 0.064, 0.057, 0.024, -0.032",\
                 "-0.216, -0.201, -0.157, -0.088, -0.026, 0.009, 0.022, 0.019, -0.018, -0.07",\
                 "-0.253, -0.237, -0.189, -0.122, -0.069, -0.028, -0.014, -0.018, -0.047, -0.103",\
                 "-0.27, -0.263, -0.208, -0.147, -0.087, -0.048, -0.035, -0.039, -0.069, -0.126",\
                 "-0.261, -0.247, -0.2, -0.132, -0.074, -0.038, -0.018, -0.028, -0.059, -0.116",\
                 "-0.217, -0.202, -0.157, -0.085, -0.033, 0.005, 0.024, 0.017, -0.021, -0.074",\
                 "-0.136, -0.124, -0.074, -0.008, 0.047, 0.087, 0.101, 0.097, 0.064, 0.009",\
                 "-0.019, -0.009, 0.043, 0.108, 0.163, 0.2, 0.215, 0.213, 0.179, 0.125",\
                 "0.134, 0.142, 0.194, 0.261, 0.318, 0.356, 0.367, 0.366, 0.334, 0.277");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.059, 1.044, 0.981, 0.892, 0.816, 0.752, 0.71, 0.702, 0.721, 0.779",\
                 "1.067, 1.056, 0.995, 0.9, 0.826, 0.76, 0.724, 0.718, 0.738, 0.782",\
                 "1.096, 1.089, 1.031, 0.929, 0.853, 0.789, 0.758, 0.74, 0.763, 0.811",\
                 "1.144, 1.134, 1.077, 0.98, 0.898, 0.841, 0.803, 0.787, 0.816, 0.865",\
                 "1.238, 1.228, 1.165, 1.066, 0.989, 0.925, 0.888, 0.877, 0.892, 0.955",\
                 "1.389, 1.379, 1.317, 1.222, 1.143, 1.08, 1.036, 1.022, 1.034, 1.087",\
                 "1.6, 1.59, 1.525, 1.434, 1.343, 1.275, 1.235, 1.213, 1.226, 1.259",\
                 "1.86, 1.849, 1.784, 1.679, 1.59, 1.522, 1.471, 1.436, 1.441, 1.475",\
                 "2.16, 2.144, 2.083, 1.972, 1.881, 1.796, 1.74, 1.705, 1.704, 1.722",\
                 "2.506, 2.494, 2.424, 2.314, 2.209, 2.121, 2.059, 2.02, 2.016, 2.022");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.87, 0.86, 0.804, 0.729, 0.667, 0.648, 0.659, 0.702, 0.785, 0.889",\
                 "0.876, 0.866, 0.812, 0.727, 0.671, 0.649, 0.664, 0.712, 0.794, 0.897",\
                 "0.909, 0.9, 0.842, 0.761, 0.705, 0.681, 0.694, 0.74, 0.82, 0.929",\
                 "0.953, 0.951, 0.88, 0.804, 0.745, 0.724, 0.734, 0.773, 0.851, 0.955",\
                 "1.015, 1.004, 0.948, 0.866, 0.808, 0.785, 0.785, 0.817, 0.892, 0.991",\
                 "1.073, 1.06, 1.004, 0.929, 0.863, 0.831, 0.827, 0.862, 0.918, 1.016",\
                 "1.111, 1.101, 1.045, 0.965, 0.903, 0.871, 0.864, 0.891, 0.948, 1.038",\
                 "1.134, 1.126, 1.063, 0.984, 0.931, 0.89, 0.885, 0.904, 0.962, 1.052",\
                 "1.133, 1.124, 1.066, 0.985, 0.925, 0.889, 0.883, 0.901, 0.957, 1.046",\
                 "1.106, 1.1, 1.04, 0.96, 0.904, 0.866, 0.854, 0.871, 0.927, 1.019");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.008, 1.003, 0.938, 0.865, 0.809, 0.786, 0.803, 0.843, 0.92, 1.029",\
                 "1.026, 1.017, 0.954, 0.872, 0.818, 0.802, 0.818, 0.856, 0.938, 1.038",\
                 "1.096, 1.083, 1.031, 0.947, 0.888, 0.866, 0.885, 0.926, 1.002, 1.111",\
                 "1.208, 1.202, 1.135, 1.057, 0.998, 0.979, 1.003, 1.041, 1.121, 1.223",\
                 "1.357, 1.344, 1.287, 1.203, 1.144, 1.126, 1.14, 1.188, 1.261, 1.366",\
                 "1.533, 1.52, 1.458, 1.383, 1.327, 1.301, 1.312, 1.359, 1.432, 1.539",\
                 "1.744, 1.727, 1.67, 1.594, 1.532, 1.511, 1.526, 1.565, 1.639, 1.744",\
                 "1.984, 1.974, 1.914, 1.832, 1.775, 1.758, 1.764, 1.808, 1.88, 1.986",\
                 "2.264, 2.256, 2.199, 2.12, 2.06, 2.037, 2.047, 2.083, 2.163, 2.262",\
                 "2.59, 2.578, 2.515, 2.437, 2.376, 2.354, 2.366, 2.403, 2.476, 2.574");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.219, 1.208, 1.142, 1.038, 0.95, 0.878, 0.828, 0.814, 0.832, 0.873",\
                 "1.238, 1.231, 1.161, 1.055, 0.965, 0.896, 0.853, 0.832, 0.85, 0.892",\
                 "1.279, 1.267, 1.205, 1.103, 1.01, 0.936, 0.885, 0.876, 0.887, 0.934",\
                 "1.308, 1.298, 1.233, 1.134, 1.035, 0.972, 0.923, 0.907, 0.929, 0.977",\
                 "1.32, 1.305, 1.243, 1.135, 1.05, 0.977, 0.934, 0.914, 0.939, 0.979",\
                 "1.309, 1.302, 1.234, 1.127, 1.047, 0.972, 0.928, 0.912, 0.924, 0.977",\
                 "1.271, 1.264, 1.199, 1.095, 1.005, 0.938, 0.896, 0.872, 0.895, 0.938",\
                 "1.193, 1.18, 1.119, 1.017, 0.931, 0.865, 0.817, 0.796, 0.814, 0.861",\
                 "1.078, 1.068, 1.008, 0.906, 0.821, 0.748, 0.706, 0.692, 0.708, 0.749",\
                 "0.934, 0.922, 0.858, 0.764, 0.672, 0.608, 0.561, 0.544, 0.566, 0.604");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006245 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.739 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1627, 0.1636, 0.1701, 0.1843, 0.208, 0.2423, 0.2879, \
                 0.3454, 0.4153");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06305, 0.06259, 0.06336, 0.06871, 0.08069, 0.101, 0.1306, 0.1701, \
                 0.2202, 0.2815");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1627, 0.1636, 0.1701, 0.1843, 0.2081, 0.2423, 0.2879, \
                 0.3454, 0.4153");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06305, 0.06259, 0.06335, 0.0687, 0.08069, 0.101, 0.1306, 0.1701, \
                 0.2202, 0.2815");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1627, 0.1636, 0.1701, 0.1843, 0.208, 0.2423, 0.2879, \
                 0.3454, 0.4153");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06305, 0.06259, 0.06336, 0.0687, 0.08069, 0.101, 0.1306, 0.1701, \
                 0.2202, 0.2815");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1165, 0.1163, 0.1168, 0.1197, 0.126, 0.137, 0.1532, 0.1751, \
                 0.2031, 0.2373");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03541, 0.03522, 0.03564, 0.03813, 0.04355, 0.05287, 0.06677, \
                 0.08565, 0.1099, 0.1398");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06796, 0.06762, 0.06799, 0.0716, 0.07935, 0.09205, 0.1102, 0.1338, \
                 0.1632, 0.1988");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01205, 0.01482, 0.02129, 0.03201, 0.04756, \
                 0.06811, 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06796, 0.06762, 0.06799, 0.07158, 0.07934, 0.09206, 0.1101, \
                 0.1338, 0.1632, 0.1988");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01205, 0.01482, 0.0213, 0.03201, 0.04757, \
                 0.06812, 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06796, 0.06762, 0.06803, 0.07159, 0.07939, 0.09208, 0.1101, \
                 0.1337, 0.1632, 0.1988");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01206, 0.01482, 0.02129, 0.03201, 0.04756, \
                 0.06811, 0.09392, 0.1253");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01853, 0.0185, 0.01849, 0.0185, 0.01852, 0.0185, 0.01852, \
                 0.01853, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01288, -0.01288, -0.01295, -0.01294, \
                 -0.01294, -0.01296, -0.01298");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1165, 0.1163, 0.1168, 0.1197, 0.126, 0.137, 0.1532, 0.1751, \
                 0.2031, 0.2373");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03541, 0.03522, 0.03564, 0.03813, 0.04355, 0.05289, 0.06676, \
                 0.08565, 0.1099, 0.1398");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1165, 0.1163, 0.1168, 0.1197, 0.126, 0.137, 0.1532, 0.175, 0.2031, \
                 0.2374");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03541, 0.03522, 0.03564, 0.03813, 0.04355, 0.05289, 0.06676, \
                 0.08565, 0.1098, 0.1398");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1627, 0.1636, 0.1701, 0.1843, 0.2081, 0.2423, 0.2879, \
                 0.3455, 0.4153");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06305, 0.06259, 0.06336, 0.06871, 0.08069, 0.101, 0.1306, 0.1701, \
                 0.2202, 0.2815");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1165, 0.1163, 0.1168, 0.1196, 0.126, 0.137, 0.1532, 0.1751, \
                 0.2031, 0.2374");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03541, 0.03522, 0.03562, 0.03813, 0.04354, 0.0529, 0.06677, \
                 0.08565, 0.1099, 0.1398");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01853, 0.01851, 0.01847, 0.01851, 0.01851, 0.0185, \
                 0.0185, 0.01854, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01287, -0.01287, -0.01293, -0.01294, \
                 -0.01295, -0.01299, -0.01297");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01853, 0.01851, 0.01847, 0.01849, 0.01851, 0.01851, \
                 0.0185, 0.01853, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01287, -0.01288, -0.01294, -0.01294, \
                 -0.01295, -0.01298, -0.01298");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06796, 0.06762, 0.06801, 0.0716, 0.07936, 0.09211, 0.1101, 0.1337, \
                 0.1632, 0.1988");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01205, 0.01482, 0.02129, 0.03201, 0.04758, \
                 0.06811, 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01853, 0.01848, 0.01851, 0.01849, 0.01852, 0.01853, \
                 0.01853, 0.01851, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01287, -0.01289, -0.01293, -0.01293, \
                 -0.01295, -0.01296, -0.01298");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1626, 0.1637, 0.1704, 0.1851, 0.2092, 0.2436, 0.2893, \
                 0.3468, 0.4166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.061, 0.06052, 0.06133, 0.06681, 0.07904, 0.09957, 0.1293, 0.169, \
                 0.2191, 0.2804");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1626, 0.1637, 0.1704, 0.1851, 0.2092, 0.2436, 0.2892, \
                 0.3468, 0.4166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.061, 0.06052, 0.06133, 0.06681, 0.07904, 0.09957, 0.1293, 0.1689, \
                 0.2191, 0.2804");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1626, 0.1637, 0.1704, 0.1851, 0.2092, 0.2435, 0.2893, \
                 0.3467, 0.4167");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.061, 0.06052, 0.06133, 0.06681, 0.07904, 0.09957, 0.1293, 0.1689, \
                 0.2191, 0.2804");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1626, 0.1637, 0.1704, 0.1851, 0.2092, 0.2435, 0.2893, \
                 0.3467, 0.4166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.061, 0.06052, 0.06133, 0.06681, 0.07904, 0.09958, 0.1293, 0.1689, \
                 0.2191, 0.2804");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01855, 0.01852, 0.0185, 0.0185, 0.01853, 0.01854, 0.01851, \
                 0.01853, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01289, -0.01293, -0.01293, \
                 -0.01294, -0.01295, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01855, 0.01852, 0.01851, 0.0185, 0.01853, 0.01853, \
                 0.01851, 0.01853, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01288, -0.01293, -0.01293, \
                 -0.01294, -0.01295, -0.01296");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01855, 0.01852, 0.0185, 0.0185, 0.01853, 0.01853, 0.01852, \
                 0.01852, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01288, -0.01293, -0.01293, \
                 -0.01294, -0.01295, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01855, 0.01852, 0.01851, 0.01849, 0.01852, 0.01853, \
                 0.01851, 0.01853, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01288, -0.01293, -0.01293, \
                 -0.01294, -0.01295, -0.01295");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1626, 0.1637, 0.1704, 0.1851, 0.2092, 0.2436, 0.2893, \
                 0.3466, 0.4166");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.061, 0.06052, 0.06133, 0.06681, 0.07904, 0.09957, 0.1293, 0.169, \
                 0.2191, 0.2804");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1626, 0.1637, 0.1704, 0.1851, 0.2092, 0.2435, 0.2893, \
                 0.3467, 0.4167");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.061, 0.06052, 0.06133, 0.06681, 0.07904, 0.09957, 0.1293, 0.169, \
                 0.2191, 0.2804");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1626, 0.1637, 0.1704, 0.1852, 0.2092, 0.2436, 0.2892, \
                 0.3467, 0.4167");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.061, 0.06052, 0.06133, 0.06681, 0.07904, 0.09958, 0.1293, 0.169, \
                 0.2191, 0.2804");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1632, 0.1626, 0.1637, 0.1704, 0.1851, 0.2092, 0.2435, 0.2893, \
                 0.3467, 0.4167");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.061, 0.06052, 0.06133, 0.06681, 0.07904, 0.09957, 0.1293, 0.169, \
                 0.2191, 0.2804");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01855, 0.01852, 0.0185, 0.01849, 0.01853, 0.01852, \
                 0.01852, 0.01853, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01287, -0.01293, -0.01293, \
                 -0.01294, -0.01295, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01855, 0.01852, 0.0185, 0.01849, 0.01854, 0.01853, \
                 0.01852, 0.01853, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01288, -0.01293, -0.01293, \
                 -0.01294, -0.01296, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01855, 0.01852, 0.0185, 0.01849, 0.01853, 0.01853, \
                 0.01853, 0.01852, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01288, -0.01293, -0.01293, \
                 -0.01294, -0.01296, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01855, 0.01848, 0.0185, 0.01849, 0.01854, 0.01852, \
                 0.01853, 0.01853, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01289, -0.01293, -0.01293, \
                 -0.01294, -0.01296, -0.01296");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&RN&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.023, -0.036, -0.093, -0.171, -0.248, -0.301, -0.335, -0.337, -0.322, -0.272",\
                 "-0.019, -0.024, -0.083, -0.17, -0.24, -0.289, -0.322, -0.333, -0.306, -0.261",\
                 "0.023, 0.017, -0.039, -0.131, -0.199, -0.251, -0.284, -0.292, -0.272, -0.224",\
                 "0.108, 0.102, 0.039, -0.038, -0.115, -0.168, -0.195, -0.208, -0.181, -0.142",\
                 "0.248, 0.232, 0.174, 0.085, 0.021, -0.03, -0.068, -0.071, -0.054, -0.004",\
                 "0.463, 0.459, 0.392, 0.286, 0.206, 0.146, 0.106, 0.095, 0.117, 0.162",\
                 "0.884, 0.887, 0.801, 0.685, 0.548, 0.453, 0.388, 0.354, 0.369, 0.403",\
                 "1.523, 1.532, 1.405, 1.271, 1.116, 1, 0.915, 0.864, 0.854, 0.845",\
                 "2.264, 2.305, 2.158, 1.972, 1.796, 1.686, 1.61, 1.543, 1.556, 1.613",\
                 "3.199, 3.228, 3.062, 2.812, 2.638, 2.522, 2.423, 2.339, 2.35, 2.416");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&RN&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.023, -0.036, -0.093, -0.171, -0.248, -0.301, -0.335, -0.337, -0.322, -0.272",\
                 "-0.019, -0.024, -0.083, -0.17, -0.24, -0.289, -0.322, -0.333, -0.314, -0.261",\
                 "0.023, 0.017, -0.039, -0.126, -0.199, -0.251, -0.284, -0.292, -0.272, -0.224",\
                 "0.108, 0.102, 0.039, -0.038, -0.115, -0.168, -0.195, -0.208, -0.181, -0.142",\
                 "0.248, 0.232, 0.174, 0.085, 0.021, -0.03, -0.068, -0.071, -0.054, -0.005",\
                 "0.463, 0.459, 0.392, 0.293, 0.206, 0.146, 0.106, 0.095, 0.117, 0.162",\
                 "0.884, 0.887, 0.801, 0.665, 0.548, 0.453, 0.38, 0.354, 0.369, 0.403",\
                 "1.523, 1.532, 1.405, 1.278, 1.153, 1.025, 0.915, 0.864, 0.854, 0.869",\
                 "2.264, 2.305, 2.158, 1.972, 1.796, 1.686, 1.61, 1.543, 1.556, 1.613",\
                 "3.199, 3.228, 3.062, 2.885, 2.644, 2.522, 2.381, 2.323, 2.35, 2.375");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.023, -0.036, -0.093, -0.18, -0.248, -0.301, -0.335, -0.337, -0.314, -0.272",\
                 "-0.019, -0.024, -0.083, -0.16, -0.232, -0.289, -0.322, -0.333, -0.314, -0.261",\
                 "0.023, 0.017, -0.039, -0.131, -0.199, -0.251, -0.284, -0.292, -0.272, -0.224",\
                 "0.108, 0.102, 0.039, -0.046, -0.115, -0.168, -0.195, -0.208, -0.181, -0.137",\
                 "0.248, 0.232, 0.174, 0.085, 0.021, -0.031, -0.068, -0.071, -0.054, -0.004",\
                 "0.463, 0.459, 0.392, 0.286, 0.206, 0.146, 0.106, 0.095, 0.117, 0.162",\
                 "0.884, 0.904, 0.801, 0.665, 0.537, 0.453, 0.388, 0.354, 0.369, 0.395",\
                 "1.523, 1.538, 1.405, 1.278, 1.116, 1, 0.915, 0.864, 0.854, 0.869",\
                 "2.264, 2.305, 2.158, 1.972, 1.796, 1.696, 1.61, 1.543, 1.556, 1.577",\
                 "3.22, 3.228, 3.062, 2.885, 2.656, 2.522, 2.423, 2.331, 2.35, 2.375");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.023, -0.036, -0.093, -0.18, -0.241, -0.301, -0.335, -0.337, -0.322, -0.272",\
                 "-0.019, -0.024, -0.083, -0.17, -0.24, -0.289, -0.322, -0.327, -0.306, -0.267",\
                 "0.023, 0.017, -0.039, -0.131, -0.199, -0.251, -0.284, -0.292, -0.272, -0.224",\
                 "0.108, 0.102, 0.039, -0.038, -0.115, -0.168, -0.195, -0.208, -0.181, -0.143",\
                 "0.248, 0.232, 0.174, 0.085, 0.021, -0.03, -0.068, -0.071, -0.054, -0.01",\
                 "0.463, 0.459, 0.392, 0.286, 0.206, 0.146, 0.106, 0.095, 0.117, 0.162",\
                 "0.884, 0.887, 0.801, 0.665, 0.548, 0.453, 0.388, 0.354, 0.369, 0.403",\
                 "1.523, 1.532, 1.399, 1.278, 1.153, 1, 0.915, 0.864, 0.854, 0.869",\
                 "2.264, 2.305, 2.158, 1.972, 1.824, 1.712, 1.61, 1.563, 1.556, 1.613",\
                 "3.199, 3.228, 3.062, 2.874, 2.656, 2.522, 2.381, 2.323, 2.35, 2.416");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&RN&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.432, 0.485, 0.571, 0.635, 0.693, 0.732, 0.744, 0.735, 0.7",\
                 "0.409, 0.421, 0.473, 0.556, 0.626, 0.683, 0.724, 0.738, 0.731, 0.691",\
                 "0.369, 0.385, 0.433, 0.515, 0.591, 0.641, 0.683, 0.696, 0.685, 0.649",\
                 "0.301, 0.312, 0.367, 0.444, 0.517, 0.571, 0.615, 0.623, 0.617, 0.579",\
                 "0.221, 0.239, 0.288, 0.365, 0.438, 0.495, 0.525, 0.546, 0.537, 0.499",\
                 "0.142, 0.153, 0.208, 0.285, 0.355, 0.405, 0.44, 0.452, 0.444, 0.407",\
                 "0.078, 0.09, 0.142, 0.214, 0.276, 0.328, 0.355, 0.368, 0.352, 0.311",\
                 "0.023, 0.038, 0.087, 0.165, 0.225, 0.272, 0.296, 0.298, 0.28, 0.233",\
                 "-0.011, -0.001, 0.051, 0.125, 0.192, 0.227, 0.251, 0.253, 0.233, 0.179",\
                 "-0.033, -0.02, 0.028, 0.104, 0.163, 0.201, 0.224, 0.231, 0.199, 0.149");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&RN&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.432, 0.485, 0.571, 0.635, 0.693, 0.732, 0.744, 0.735, 0.7",\
                 "0.409, 0.421, 0.473, 0.556, 0.626, 0.683, 0.724, 0.738, 0.731, 0.691",\
                 "0.369, 0.385, 0.433, 0.515, 0.591, 0.641, 0.683, 0.696, 0.685, 0.649",\
                 "0.301, 0.312, 0.367, 0.445, 0.517, 0.571, 0.615, 0.623, 0.617, 0.579",\
                 "0.221, 0.239, 0.288, 0.365, 0.438, 0.495, 0.525, 0.546, 0.537, 0.499",\
                 "0.142, 0.153, 0.208, 0.285, 0.355, 0.405, 0.44, 0.452, 0.444, 0.407",\
                 "0.078, 0.09, 0.142, 0.214, 0.276, 0.328, 0.355, 0.368, 0.352, 0.311",\
                 "0.023, 0.038, 0.087, 0.166, 0.225, 0.272, 0.296, 0.298, 0.28, 0.233",\
                 "-0.011, -0.001, 0.051, 0.125, 0.192, 0.227, 0.251, 0.253, 0.233, 0.179",\
                 "-0.033, -0.02, 0.028, 0.104, 0.163, 0.207, 0.224, 0.231, 0.199, 0.149");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.432, 0.485, 0.571, 0.635, 0.693, 0.732, 0.744, 0.735, 0.7",\
                 "0.409, 0.421, 0.473, 0.556, 0.626, 0.683, 0.724, 0.738, 0.731, 0.691",\
                 "0.369, 0.385, 0.433, 0.515, 0.591, 0.641, 0.683, 0.696, 0.685, 0.649",\
                 "0.301, 0.312, 0.367, 0.445, 0.517, 0.571, 0.615, 0.623, 0.617, 0.579",\
                 "0.221, 0.239, 0.288, 0.365, 0.438, 0.495, 0.525, 0.546, 0.537, 0.499",\
                 "0.142, 0.159, 0.208, 0.285, 0.355, 0.405, 0.44, 0.452, 0.444, 0.407",\
                 "0.078, 0.09, 0.142, 0.214, 0.276, 0.328, 0.355, 0.368, 0.352, 0.311",\
                 "0.023, 0.038, 0.087, 0.166, 0.225, 0.272, 0.296, 0.298, 0.28, 0.233",\
                 "-0.011, -0.001, 0.051, 0.125, 0.192, 0.227, 0.251, 0.253, 0.233, 0.179",\
                 "-0.033, -0.02, 0.028, 0.104, 0.163, 0.201, 0.224, 0.231, 0.199, 0.149");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.432, 0.485, 0.571, 0.635, 0.693, 0.732, 0.744, 0.735, 0.7",\
                 "0.409, 0.421, 0.473, 0.556, 0.626, 0.683, 0.724, 0.738, 0.731, 0.691",\
                 "0.369, 0.385, 0.433, 0.515, 0.591, 0.641, 0.683, 0.696, 0.685, 0.649",\
                 "0.301, 0.312, 0.367, 0.443, 0.517, 0.571, 0.615, 0.623, 0.617, 0.579",\
                 "0.221, 0.239, 0.288, 0.365, 0.438, 0.495, 0.525, 0.546, 0.537, 0.499",\
                 "0.142, 0.159, 0.208, 0.285, 0.355, 0.405, 0.44, 0.452, 0.444, 0.407",\
                 "0.078, 0.09, 0.142, 0.214, 0.276, 0.328, 0.355, 0.368, 0.352, 0.311",\
                 "0.023, 0.038, 0.087, 0.166, 0.225, 0.272, 0.296, 0.298, 0.28, 0.233",\
                 "-0.011, -0.001, 0.051, 0.125, 0.192, 0.227, 0.251, 0.253, 0.233, 0.179",\
                 "-0.033, -0.02, 0.028, 0.104, 0.163, 0.207, 0.224, 0.231, 0.199, 0.149");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.158, 0.189, 0.235, 0.271, 0.301, 0.344, 0.384, 0.425, 0.455",\
                 "0.142, 0.15, 0.183, 0.228, 0.263, 0.294, 0.338, 0.38, 0.418, 0.45",\
                 "0.133, 0.142, 0.173, 0.213, 0.243, 0.271, 0.311, 0.361, 0.404, 0.434",\
                 "0.156, 0.168, 0.187, 0.215, 0.227, 0.257, 0.296, 0.336, 0.373, 0.406",\
                 "0.228, 0.239, 0.253, 0.254, 0.243, 0.258, 0.279, 0.323, 0.357, 0.386",\
                 "0.372, 0.383, 0.381, 0.343, 0.293, 0.286, 0.298, 0.334, 0.36, 0.388",\
                 "0.592, 0.604, 0.577, 0.494, 0.408, 0.369, 0.363, 0.387, 0.405, 0.426",\
                 "0.885, 0.897, 0.839, 0.7, 0.566, 0.491, 0.471, 0.481, 0.496, 0.52",\
                 "1.254, 1.268, 1.176, 0.973, 0.778, 0.667, 0.623, 0.631, 0.645, 0.674",\
                 "1.711, 1.725, 1.588, 1.307, 1.045, 0.899, 0.831, 0.829, 0.839, 0.88");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.158, 0.189, 0.235, 0.271, 0.301, 0.344, 0.384, 0.425, 0.455",\
                 "0.142, 0.15, 0.183, 0.228, 0.263, 0.294, 0.338, 0.38, 0.418, 0.45",\
                 "0.133, 0.142, 0.173, 0.213, 0.243, 0.271, 0.311, 0.361, 0.404, 0.434",\
                 "0.156, 0.168, 0.187, 0.215, 0.227, 0.257, 0.296, 0.336, 0.373, 0.406",\
                 "0.228, 0.239, 0.253, 0.254, 0.243, 0.258, 0.279, 0.323, 0.357, 0.386",\
                 "0.372, 0.383, 0.381, 0.343, 0.293, 0.286, 0.298, 0.334, 0.36, 0.388",\
                 "0.592, 0.604, 0.577, 0.494, 0.408, 0.369, 0.363, 0.387, 0.405, 0.426",\
                 "0.885, 0.897, 0.839, 0.7, 0.566, 0.491, 0.471, 0.481, 0.496, 0.52",\
                 "1.254, 1.268, 1.176, 0.973, 0.778, 0.667, 0.623, 0.631, 0.645, 0.674",\
                 "1.711, 1.72, 1.588, 1.307, 1.045, 0.899, 0.831, 0.829, 0.839, 0.88");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.158, 0.189, 0.235, 0.271, 0.301, 0.344, 0.384, 0.425, 0.455",\
                 "0.142, 0.15, 0.183, 0.228, 0.263, 0.294, 0.338, 0.38, 0.418, 0.45",\
                 "0.133, 0.142, 0.173, 0.213, 0.243, 0.271, 0.311, 0.361, 0.404, 0.434",\
                 "0.156, 0.168, 0.187, 0.215, 0.227, 0.257, 0.296, 0.336, 0.373, 0.406",\
                 "0.228, 0.239, 0.253, 0.254, 0.243, 0.258, 0.279, 0.323, 0.357, 0.386",\
                 "0.372, 0.383, 0.381, 0.343, 0.293, 0.286, 0.298, 0.334, 0.36, 0.388",\
                 "0.592, 0.604, 0.577, 0.494, 0.408, 0.369, 0.363, 0.387, 0.405, 0.426",\
                 "0.885, 0.897, 0.839, 0.7, 0.566, 0.491, 0.471, 0.481, 0.496, 0.52",\
                 "1.254, 1.268, 1.176, 0.973, 0.758, 0.667, 0.623, 0.631, 0.645, 0.674",\
                 "1.711, 1.72, 1.588, 1.307, 1.045, 0.899, 0.831, 0.829, 0.839, 0.88");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.189, 0.235, 0.271, 0.301, 0.344, 0.384, 0.425, 0.455",\
                 "0.142, 0.15, 0.183, 0.228, 0.263, 0.294, 0.338, 0.38, 0.418, 0.45",\
                 "0.133, 0.142, 0.173, 0.213, 0.243, 0.271, 0.321, 0.361, 0.395, 0.434",\
                 "0.156, 0.168, 0.187, 0.215, 0.227, 0.257, 0.296, 0.336, 0.373, 0.406",\
                 "0.228, 0.239, 0.253, 0.254, 0.243, 0.25, 0.279, 0.323, 0.357, 0.386",\
                 "0.372, 0.383, 0.381, 0.343, 0.303, 0.286, 0.298, 0.334, 0.36, 0.388",\
                 "0.592, 0.604, 0.577, 0.494, 0.402, 0.369, 0.363, 0.387, 0.405, 0.426",\
                 "0.885, 0.897, 0.839, 0.7, 0.557, 0.491, 0.471, 0.481, 0.496, 0.52",\
                 "1.262, 1.268, 1.176, 0.973, 0.778, 0.667, 0.623, 0.631, 0.645, 0.665",\
                 "1.716, 1.725, 1.588, 1.301, 1.039, 0.899, 0.831, 0.829, 0.839, 0.875");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.189, 0.235, 0.263, 0.301, 0.344, 0.384, 0.425, 0.455",\
                 "0.142, 0.15, 0.183, 0.228, 0.263, 0.294, 0.338, 0.38, 0.418, 0.45",\
                 "0.133, 0.142, 0.173, 0.213, 0.243, 0.271, 0.32, 0.361, 0.395, 0.434",\
                 "0.156, 0.168, 0.187, 0.215, 0.227, 0.249, 0.296, 0.336, 0.373, 0.406",\
                 "0.228, 0.239, 0.253, 0.254, 0.243, 0.25, 0.279, 0.323, 0.357, 0.386",\
                 "0.372, 0.383, 0.381, 0.343, 0.303, 0.286, 0.298, 0.334, 0.36, 0.388",\
                 "0.592, 0.604, 0.577, 0.494, 0.402, 0.369, 0.363, 0.387, 0.405, 0.426",\
                 "0.885, 0.897, 0.839, 0.7, 0.557, 0.491, 0.471, 0.481, 0.496, 0.52",\
                 "1.254, 1.268, 1.176, 0.973, 0.778, 0.667, 0.623, 0.631, 0.645, 0.665",\
                 "1.716, 1.725, 1.588, 1.307, 1.039, 0.899, 0.824, 0.829, 0.839, 0.875");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.189, 0.235, 0.263, 0.301, 0.344, 0.384, 0.425, 0.455",\
                 "0.142, 0.15, 0.183, 0.228, 0.263, 0.294, 0.338, 0.38, 0.418, 0.45",\
                 "0.133, 0.142, 0.173, 0.213, 0.243, 0.271, 0.32, 0.361, 0.395, 0.434",\
                 "0.156, 0.168, 0.187, 0.215, 0.227, 0.249, 0.296, 0.336, 0.373, 0.406",\
                 "0.228, 0.239, 0.253, 0.254, 0.243, 0.25, 0.279, 0.323, 0.357, 0.386",\
                 "0.372, 0.383, 0.381, 0.343, 0.303, 0.286, 0.298, 0.334, 0.36, 0.388",\
                 "0.592, 0.604, 0.577, 0.494, 0.402, 0.369, 0.363, 0.387, 0.405, 0.426",\
                 "0.885, 0.897, 0.839, 0.7, 0.557, 0.491, 0.471, 0.481, 0.496, 0.52",\
                 "1.262, 1.268, 1.176, 0.973, 0.777, 0.667, 0.623, 0.631, 0.645, 0.665",\
                 "1.716, 1.725, 1.588, 1.301, 1.045, 0.899, 0.831, 0.829, 0.839, 0.875");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.143, 0.158, 0.189, 0.235, 0.271, 0.301, 0.344, 0.384, 0.425, 0.455",\
                 "0.142, 0.15, 0.183, 0.228, 0.263, 0.294, 0.338, 0.38, 0.418, 0.45",\
                 "0.133, 0.142, 0.173, 0.213, 0.243, 0.271, 0.311, 0.361, 0.404, 0.434",\
                 "0.156, 0.168, 0.187, 0.215, 0.227, 0.257, 0.296, 0.336, 0.373, 0.406",\
                 "0.228, 0.239, 0.253, 0.254, 0.243, 0.258, 0.279, 0.323, 0.357, 0.386",\
                 "0.372, 0.383, 0.381, 0.343, 0.293, 0.286, 0.298, 0.334, 0.36, 0.388",\
                 "0.592, 0.604, 0.577, 0.494, 0.408, 0.369, 0.363, 0.387, 0.405, 0.426",\
                 "0.885, 0.897, 0.839, 0.7, 0.566, 0.491, 0.471, 0.481, 0.496, 0.52",\
                 "1.254, 1.268, 1.176, 0.973, 0.778, 0.667, 0.623, 0.631, 0.645, 0.674",\
                 "1.711, 1.72, 1.588, 1.307, 1.045, 0.899, 0.831, 0.829, 0.839, 0.88");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.189, 0.235, 0.263, 0.301, 0.344, 0.384, 0.425, 0.455",\
                 "0.142, 0.15, 0.183, 0.228, 0.263, 0.294, 0.338, 0.38, 0.418, 0.45",\
                 "0.133, 0.142, 0.173, 0.213, 0.243, 0.271, 0.32, 0.361, 0.395, 0.434",\
                 "0.156, 0.168, 0.187, 0.215, 0.227, 0.249, 0.296, 0.336, 0.373, 0.406",\
                 "0.228, 0.239, 0.253, 0.254, 0.243, 0.25, 0.279, 0.323, 0.357, 0.386",\
                 "0.372, 0.383, 0.381, 0.343, 0.303, 0.286, 0.298, 0.334, 0.36, 0.388",\
                 "0.592, 0.604, 0.577, 0.494, 0.402, 0.369, 0.363, 0.387, 0.405, 0.426",\
                 "0.885, 0.897, 0.839, 0.7, 0.557, 0.491, 0.471, 0.481, 0.496, 0.52",\
                 "1.254, 1.268, 1.176, 0.973, 0.778, 0.667, 0.623, 0.631, 0.645, 0.665",\
                 "1.711, 1.725, 1.588, 1.301, 1.045, 0.893, 0.831, 0.829, 0.839, 0.875");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.179, 0.19, 0.159, 0.106, 0.032, -0.076, -0.204, -0.368",\
                 "0.142, 0.151, 0.171, 0.189, 0.155, 0.1, 0.021, -0.08, -0.209, -0.373",\
                 "0.133, 0.142, 0.166, 0.173, 0.139, 0.079, 0.003, -0.099, -0.233, -0.392",\
                 "0.156, 0.168, 0.182, 0.176, 0.127, 0.059, -0.024, -0.132, -0.256, -0.417",\
                 "0.228, 0.239, 0.253, 0.217, 0.148, 0.066, -0.035, -0.143, -0.277, -0.436",\
                 "0.378, 0.389, 0.381, 0.314, 0.206, 0.092, -0.025, -0.137, -0.274, -0.44",\
                 "0.6, 0.613, 0.586, 0.474, 0.31, 0.167, 0.024, -0.1, -0.251, -0.424",\
                 "0.896, 0.903, 0.858, 0.687, 0.462, 0.281, 0.11, -0.029, -0.186, -0.374",\
                 "1.27, 1.284, 1.201, 0.964, 0.674, 0.441, 0.251, 0.091, -0.086, -0.28",\
                 "1.732, 1.741, 1.631, 1.307, 0.938, 0.654, 0.424, 0.255, 0.064, -0.153");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.179, 0.19, 0.159, 0.106, 0.032, -0.076, -0.204, -0.368",\
                 "0.142, 0.151, 0.171, 0.189, 0.155, 0.1, 0.021, -0.08, -0.209, -0.373",\
                 "0.133, 0.142, 0.166, 0.173, 0.139, 0.079, 0.003, -0.099, -0.233, -0.392",\
                 "0.156, 0.168, 0.182, 0.176, 0.127, 0.059, -0.024, -0.132, -0.256, -0.417",\
                 "0.228, 0.239, 0.253, 0.217, 0.148, 0.066, -0.035, -0.143, -0.277, -0.436",\
                 "0.378, 0.389, 0.381, 0.314, 0.206, 0.092, -0.025, -0.137, -0.274, -0.44",\
                 "0.6, 0.613, 0.586, 0.474, 0.31, 0.167, 0.024, -0.1, -0.251, -0.424",\
                 "0.896, 0.903, 0.858, 0.687, 0.462, 0.281, 0.11, -0.029, -0.186, -0.374",\
                 "1.278, 1.284, 1.201, 0.964, 0.674, 0.441, 0.251, 0.091, -0.086, -0.28",\
                 "1.732, 1.741, 1.631, 1.307, 0.938, 0.654, 0.424, 0.255, 0.064, -0.153");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.179, 0.19, 0.159, 0.106, 0.032, -0.076, -0.204, -0.368",\
                 "0.142, 0.151, 0.171, 0.189, 0.155, 0.1, 0.021, -0.08, -0.209, -0.368",\
                 "0.133, 0.142, 0.166, 0.173, 0.139, 0.079, 0.003, -0.099, -0.233, -0.386",\
                 "0.156, 0.168, 0.182, 0.176, 0.127, 0.059, -0.024, -0.132, -0.256, -0.411",\
                 "0.228, 0.239, 0.253, 0.217, 0.148, 0.066, -0.035, -0.143, -0.277, -0.43",\
                 "0.378, 0.389, 0.381, 0.314, 0.206, 0.092, -0.025, -0.137, -0.274, -0.433",\
                 "0.6, 0.613, 0.586, 0.474, 0.31, 0.167, 0.024, -0.1, -0.251, -0.416",\
                 "0.896, 0.903, 0.858, 0.687, 0.462, 0.281, 0.11, -0.029, -0.186, -0.366",\
                 "1.278, 1.284, 1.201, 0.964, 0.674, 0.441, 0.251, 0.091, -0.086, -0.271",\
                 "1.732, 1.741, 1.631, 1.307, 0.938, 0.654, 0.424, 0.255, 0.064, -0.138");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.179, 0.19, 0.159, 0.106, 0.032, -0.076, -0.204, -0.368",\
                 "0.142, 0.151, 0.171, 0.189, 0.155, 0.1, 0.021, -0.08, -0.209, -0.373",\
                 "0.133, 0.142, 0.166, 0.173, 0.139, 0.079, 0.003, -0.099, -0.233, -0.392",\
                 "0.156, 0.168, 0.182, 0.176, 0.127, 0.059, -0.024, -0.132, -0.256, -0.417",\
                 "0.228, 0.239, 0.253, 0.217, 0.148, 0.066, -0.035, -0.143, -0.277, -0.436",\
                 "0.378, 0.389, 0.381, 0.314, 0.206, 0.092, -0.025, -0.137, -0.274, -0.44",\
                 "0.6, 0.613, 0.586, 0.474, 0.31, 0.167, 0.024, -0.1, -0.245, -0.424",\
                 "0.896, 0.903, 0.858, 0.687, 0.462, 0.281, 0.11, -0.029, -0.186, -0.374",\
                 "1.27, 1.284, 1.201, 0.964, 0.674, 0.441, 0.251, 0.091, -0.086, -0.28",\
                 "1.732, 1.741, 1.631, 1.307, 0.938, 0.654, 0.424, 0.255, 0.064, -0.153");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.179, 0.19, 0.159, 0.106, 0.032, -0.076, -0.204, -0.368",\
                 "0.142, 0.151, 0.171, 0.189, 0.155, 0.1, 0.021, -0.08, -0.209, -0.368",\
                 "0.133, 0.142, 0.166, 0.173, 0.139, 0.079, 0.003, -0.099, -0.233, -0.386",\
                 "0.156, 0.168, 0.182, 0.176, 0.127, 0.059, -0.024, -0.132, -0.256, -0.411",\
                 "0.228, 0.239, 0.253, 0.217, 0.148, 0.066, -0.035, -0.143, -0.277, -0.43",\
                 "0.378, 0.389, 0.381, 0.314, 0.206, 0.092, -0.025, -0.137, -0.274, -0.433",\
                 "0.6, 0.613, 0.586, 0.474, 0.31, 0.167, 0.024, -0.1, -0.251, -0.416",\
                 "0.896, 0.903, 0.858, 0.687, 0.462, 0.281, 0.11, -0.029, -0.186, -0.366",\
                 "1.278, 1.284, 1.201, 0.964, 0.674, 0.441, 0.251, 0.091, -0.086, -0.271",\
                 "1.732, 1.741, 1.631, 1.307, 0.938, 0.654, 0.424, 0.255, 0.064, -0.138");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.179, 0.19, 0.159, 0.106, 0.032, -0.076, -0.204, -0.368",\
                 "0.142, 0.151, 0.171, 0.189, 0.155, 0.1, 0.021, -0.08, -0.209, -0.368",\
                 "0.133, 0.142, 0.166, 0.173, 0.139, 0.079, 0.003, -0.099, -0.233, -0.386",\
                 "0.156, 0.168, 0.182, 0.176, 0.127, 0.059, -0.024, -0.132, -0.256, -0.411",\
                 "0.228, 0.239, 0.253, 0.217, 0.148, 0.066, -0.035, -0.143, -0.277, -0.43",\
                 "0.378, 0.389, 0.381, 0.314, 0.206, 0.092, -0.025, -0.137, -0.274, -0.433",\
                 "0.6, 0.613, 0.586, 0.474, 0.31, 0.167, 0.024, -0.1, -0.251, -0.416",\
                 "0.896, 0.903, 0.858, 0.687, 0.462, 0.281, 0.11, -0.029, -0.186, -0.366",\
                 "1.278, 1.284, 1.201, 0.964, 0.674, 0.441, 0.251, 0.091, -0.086, -0.271",\
                 "1.737, 1.741, 1.631, 1.307, 0.938, 0.654, 0.424, 0.255, 0.064, -0.138");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.179, 0.19, 0.159, 0.106, 0.032, -0.076, -0.204, -0.368",\
                 "0.142, 0.151, 0.171, 0.189, 0.155, 0.1, 0.021, -0.08, -0.209, -0.368",\
                 "0.133, 0.142, 0.166, 0.173, 0.139, 0.079, 0.003, -0.099, -0.233, -0.386",\
                 "0.156, 0.168, 0.182, 0.176, 0.127, 0.059, -0.024, -0.132, -0.256, -0.411",\
                 "0.228, 0.239, 0.253, 0.217, 0.148, 0.066, -0.035, -0.143, -0.277, -0.43",\
                 "0.378, 0.389, 0.381, 0.314, 0.206, 0.092, -0.025, -0.137, -0.274, -0.433",\
                 "0.6, 0.613, 0.586, 0.474, 0.31, 0.167, 0.024, -0.1, -0.251, -0.416",\
                 "0.896, 0.903, 0.858, 0.687, 0.462, 0.281, 0.11, -0.029, -0.186, -0.366",\
                 "1.278, 1.284, 1.201, 0.964, 0.674, 0.441, 0.251, 0.091, -0.086, -0.271",\
                 "1.737, 1.741, 1.631, 1.307, 0.938, 0.654, 0.424, 0.255, 0.064, -0.143");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.149, 0.158, 0.179, 0.19, 0.159, 0.106, 0.032, -0.076, -0.204, -0.368",\
                 "0.142, 0.151, 0.171, 0.189, 0.155, 0.1, 0.021, -0.08, -0.209, -0.373",\
                 "0.133, 0.142, 0.166, 0.173, 0.139, 0.079, 0.003, -0.099, -0.233, -0.392",\
                 "0.156, 0.168, 0.182, 0.176, 0.127, 0.059, -0.024, -0.125, -0.256, -0.417",\
                 "0.228, 0.239, 0.253, 0.217, 0.148, 0.066, -0.035, -0.136, -0.277, -0.436",\
                 "0.378, 0.389, 0.381, 0.314, 0.206, 0.092, -0.025, -0.129, -0.274, -0.44",\
                 "0.6, 0.613, 0.586, 0.474, 0.31, 0.167, 0.024, -0.1, -0.245, -0.416",\
                 "0.896, 0.903, 0.858, 0.687, 0.462, 0.281, 0.11, -0.023, -0.186, -0.374",\
                 "1.278, 1.284, 1.201, 0.964, 0.674, 0.441, 0.251, 0.098, -0.086, -0.28",\
                 "1.732, 1.741, 1.631, 1.307, 0.938, 0.654, 0.424, 0.271, 0.064, -0.153");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.008, -0.039, -0.08, -0.129, -0.181, -0.226, -0.278, -0.322, -0.356",\
                 "0.015, 0, -0.029, -0.073, -0.116, -0.171, -0.219, -0.273, -0.314, -0.35",\
                 "0.05, 0.041, 0.008, -0.039, -0.086, -0.136, -0.193, -0.242, -0.288, -0.326",\
                 "0.099, 0.083, 0.057, 0.016, -0.036, -0.088, -0.145, -0.202, -0.25, -0.293",\
                 "0.129, 0.124, 0.095, 0.053, 0.007, -0.048, -0.107, -0.16, -0.215, -0.254",\
                 "0.152, 0.141, 0.117, 0.081, 0.031, -0.022, -0.076, -0.132, -0.187, -0.226",\
                 "0.158, 0.15, 0.13, 0.096, 0.045, -0.012, -0.065, -0.114, -0.169, -0.211",\
                 "0.142, 0.135, 0.112, 0.082, 0.035, -0.019, -0.071, -0.126, -0.172, -0.216",\
                 "0.107, 0.097, 0.073, 0.041, -0.002, -0.054, -0.109, -0.159, -0.21, -0.242",\
                 "0.038, 0.031, 0.016, -0.019, -0.061, -0.116, -0.167, -0.222, -0.262, -0.307");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.008, -0.039, -0.08, -0.129, -0.181, -0.226, -0.278, -0.322, -0.356",\
                 "0.015, 0, -0.029, -0.073, -0.116, -0.171, -0.219, -0.273, -0.314, -0.35",\
                 "0.05, 0.041, 0.008, -0.039, -0.086, -0.136, -0.193, -0.242, -0.288, -0.326",\
                 "0.099, 0.083, 0.057, 0.016, -0.036, -0.088, -0.145, -0.202, -0.25, -0.293",\
                 "0.129, 0.124, 0.095, 0.053, 0.007, -0.048, -0.107, -0.16, -0.215, -0.254",\
                 "0.152, 0.141, 0.117, 0.081, 0.031, -0.022, -0.076, -0.132, -0.187, -0.226",\
                 "0.158, 0.15, 0.13, 0.096, 0.045, -0.012, -0.065, -0.114, -0.169, -0.211",\
                 "0.142, 0.135, 0.112, 0.082, 0.035, -0.019, -0.071, -0.126, -0.172, -0.216",\
                 "0.107, 0.097, 0.073, 0.041, -0.002, -0.054, -0.109, -0.159, -0.21, -0.242",\
                 "0.038, 0.031, 0.016, -0.019, -0.061, -0.116, -0.167, -0.222, -0.262, -0.307");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.008, -0.039, -0.08, -0.129, -0.181, -0.226, -0.278, -0.322, -0.356",\
                 "0.015, 0, -0.029, -0.073, -0.116, -0.171, -0.219, -0.273, -0.314, -0.35",\
                 "0.05, 0.041, 0.008, -0.039, -0.086, -0.136, -0.193, -0.242, -0.288, -0.326",\
                 "0.099, 0.083, 0.057, 0.016, -0.036, -0.088, -0.145, -0.202, -0.25, -0.293",\
                 "0.129, 0.124, 0.095, 0.053, 0.007, -0.048, -0.107, -0.16, -0.215, -0.254",\
                 "0.152, 0.141, 0.117, 0.081, 0.031, -0.022, -0.076, -0.132, -0.187, -0.226",\
                 "0.158, 0.15, 0.13, 0.096, 0.045, -0.012, -0.065, -0.114, -0.169, -0.211",\
                 "0.142, 0.135, 0.112, 0.082, 0.035, -0.019, -0.071, -0.126, -0.172, -0.216",\
                 "0.107, 0.097, 0.073, 0.041, -0.002, -0.054, -0.109, -0.159, -0.21, -0.242",\
                 "0.038, 0.031, 0.016, -0.019, -0.061, -0.116, -0.167, -0.222, -0.262, -0.307");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.008, -0.039, -0.08, -0.129, -0.181, -0.226, -0.278, -0.322, -0.356",\
                 "0.015, 0, -0.029, -0.073, -0.116, -0.171, -0.219, -0.273, -0.314, -0.35",\
                 "0.05, 0.041, 0.008, -0.039, -0.086, -0.136, -0.193, -0.242, -0.288, -0.326",\
                 "0.099, 0.083, 0.057, 0.016, -0.036, -0.088, -0.145, -0.202, -0.25, -0.293",\
                 "0.129, 0.124, 0.095, 0.053, 0, -0.048, -0.107, -0.16, -0.215, -0.254",\
                 "0.152, 0.141, 0.117, 0.081, 0.031, -0.021, -0.076, -0.132, -0.182, -0.226",\
                 "0.158, 0.15, 0.13, 0.096, 0.045, -0.012, -0.065, -0.114, -0.169, -0.211",\
                 "0.142, 0.129, 0.112, 0.082, 0.035, -0.019, -0.071, -0.126, -0.172, -0.216",\
                 "0.107, 0.097, 0.073, 0.041, -0.002, -0.054, -0.109, -0.159, -0.21, -0.242",\
                 "0.038, 0.031, 0.016, -0.019, -0.061, -0.116, -0.167, -0.222, -0.262, -0.307");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.008, -0.039, -0.08, -0.129, -0.181, -0.226, -0.278, -0.322, -0.356",\
                 "0.015, 0, -0.029, -0.073, -0.116, -0.171, -0.219, -0.273, -0.314, -0.35",\
                 "0.05, 0.041, 0.008, -0.039, -0.086, -0.136, -0.193, -0.242, -0.288, -0.326",\
                 "0.099, 0.083, 0.057, 0.016, -0.036, -0.088, -0.145, -0.202, -0.25, -0.293",\
                 "0.129, 0.124, 0.095, 0.053, 0, -0.048, -0.107, -0.16, -0.215, -0.254",\
                 "0.152, 0.141, 0.117, 0.081, 0.031, -0.021, -0.076, -0.132, -0.182, -0.226",\
                 "0.158, 0.15, 0.13, 0.096, 0.045, -0.012, -0.065, -0.114, -0.169, -0.211",\
                 "0.142, 0.129, 0.112, 0.082, 0.035, -0.019, -0.071, -0.126, -0.172, -0.216",\
                 "0.107, 0.097, 0.073, 0.041, -0.002, -0.054, -0.109, -0.159, -0.21, -0.242",\
                 "0.038, 0.031, 0.016, -0.019, -0.061, -0.116, -0.167, -0.222, -0.262, -0.307");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.008, -0.039, -0.08, -0.129, -0.181, -0.226, -0.278, -0.322, -0.356",\
                 "0.015, 0, -0.029, -0.073, -0.116, -0.171, -0.219, -0.273, -0.314, -0.35",\
                 "0.05, 0.041, 0.008, -0.039, -0.086, -0.136, -0.193, -0.242, -0.288, -0.326",\
                 "0.099, 0.083, 0.057, 0.016, -0.036, -0.088, -0.145, -0.202, -0.25, -0.293",\
                 "0.129, 0.124, 0.095, 0.053, 0, -0.048, -0.107, -0.16, -0.215, -0.254",\
                 "0.152, 0.141, 0.117, 0.081, 0.031, -0.021, -0.076, -0.132, -0.182, -0.226",\
                 "0.158, 0.15, 0.13, 0.096, 0.045, -0.012, -0.065, -0.114, -0.169, -0.211",\
                 "0.142, 0.129, 0.112, 0.082, 0.035, -0.019, -0.071, -0.126, -0.172, -0.216",\
                 "0.107, 0.097, 0.073, 0.041, -0.002, -0.054, -0.109, -0.159, -0.21, -0.242",\
                 "0.038, 0.031, 0.016, -0.019, -0.061, -0.116, -0.167, -0.222, -0.262, -0.307");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.008, -0.039, -0.08, -0.129, -0.181, -0.226, -0.278, -0.322, -0.356",\
                 "0.015, 0, -0.029, -0.073, -0.116, -0.171, -0.219, -0.273, -0.314, -0.35",\
                 "0.05, 0.041, 0.008, -0.039, -0.086, -0.136, -0.193, -0.242, -0.288, -0.326",\
                 "0.099, 0.083, 0.057, 0.016, -0.036, -0.088, -0.145, -0.202, -0.25, -0.293",\
                 "0.129, 0.124, 0.095, 0.053, 0.007, -0.048, -0.107, -0.16, -0.215, -0.254",\
                 "0.152, 0.141, 0.117, 0.081, 0.031, -0.022, -0.076, -0.132, -0.187, -0.226",\
                 "0.158, 0.15, 0.13, 0.096, 0.045, -0.012, -0.065, -0.114, -0.169, -0.211",\
                 "0.142, 0.135, 0.112, 0.082, 0.035, -0.019, -0.071, -0.126, -0.172, -0.216",\
                 "0.107, 0.097, 0.073, 0.041, -0.002, -0.054, -0.109, -0.159, -0.21, -0.242",\
                 "0.038, 0.031, 0.016, -0.019, -0.061, -0.116, -0.167, -0.222, -0.262, -0.307");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0, -0.008, -0.039, -0.08, -0.129, -0.181, -0.226, -0.278, -0.322, -0.356",\
                 "0.015, 0, -0.029, -0.073, -0.116, -0.171, -0.219, -0.273, -0.314, -0.35",\
                 "0.05, 0.041, 0.008, -0.039, -0.086, -0.136, -0.193, -0.242, -0.288, -0.326",\
                 "0.099, 0.083, 0.057, 0.016, -0.036, -0.088, -0.145, -0.202, -0.25, -0.293",\
                 "0.129, 0.124, 0.095, 0.053, 0, -0.048, -0.107, -0.16, -0.215, -0.254",\
                 "0.152, 0.141, 0.117, 0.081, 0.031, -0.021, -0.076, -0.132, -0.182, -0.226",\
                 "0.158, 0.15, 0.13, 0.096, 0.045, -0.012, -0.065, -0.114, -0.169, -0.211",\
                 "0.142, 0.129, 0.112, 0.082, 0.035, -0.019, -0.071, -0.126, -0.172, -0.216",\
                 "0.107, 0.097, 0.073, 0.041, -0.002, -0.054, -0.109, -0.159, -0.21, -0.242",\
                 "0.038, 0.031, 0.016, -0.019, -0.061, -0.116, -0.167, -0.222, -0.262, -0.307");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.032, 0.009, 0.078, 0.182, 0.315, 0.488",\
                 "-0.033, -0.04, -0.053, -0.045, -0.023, 0.018, 0.09, 0.187, 0.328, 0.493",\
                 "0.002, -0.006, -0.016, -0.016, 0.01, 0.049, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.044, 0.034, 0.039, 0.059, 0.102, 0.164, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.079, 0.101, 0.145, 0.207, 0.306, 0.438, 0.604",\
                 "0.111, 0.105, 0.105, 0.118, 0.136, 0.173, 0.241, 0.34, 0.473, 0.641",\
                 "0.125, 0.124, 0.121, 0.136, 0.153, 0.19, 0.258, 0.354, 0.493, 0.66",\
                 "0.125, 0.123, 0.124, 0.135, 0.153, 0.191, 0.261, 0.355, 0.489, 0.662",\
                 "0.107, 0.097, 0.098, 0.111, 0.13, 0.166, 0.227, 0.327, 0.459, 0.641",\
                 "0.059, 0.052, 0.059, 0.065, 0.082, 0.116, 0.176, 0.272, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.032, 0.009, 0.078, 0.182, 0.315, 0.488",\
                 "-0.033, -0.04, -0.053, -0.045, -0.023, 0.018, 0.09, 0.187, 0.328, 0.493",\
                 "0.002, -0.006, -0.016, -0.016, 0.01, 0.049, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.044, 0.034, 0.039, 0.059, 0.102, 0.164, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.079, 0.101, 0.145, 0.207, 0.306, 0.438, 0.604",\
                 "0.111, 0.105, 0.105, 0.118, 0.136, 0.173, 0.241, 0.34, 0.473, 0.641",\
                 "0.125, 0.124, 0.121, 0.136, 0.153, 0.19, 0.258, 0.354, 0.493, 0.66",\
                 "0.125, 0.123, 0.124, 0.135, 0.153, 0.191, 0.261, 0.355, 0.489, 0.662",\
                 "0.107, 0.097, 0.098, 0.111, 0.13, 0.166, 0.227, 0.327, 0.459, 0.641",\
                 "0.059, 0.052, 0.059, 0.065, 0.082, 0.116, 0.176, 0.272, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.032, 0.009, 0.078, 0.182, 0.315, 0.488",\
                 "-0.033, -0.04, -0.053, -0.045, -0.023, 0.018, 0.09, 0.187, 0.328, 0.493",\
                 "0.002, -0.006, -0.016, -0.016, 0.01, 0.049, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.044, 0.034, 0.039, 0.059, 0.102, 0.164, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.079, 0.101, 0.145, 0.207, 0.306, 0.438, 0.604",\
                 "0.111, 0.105, 0.105, 0.118, 0.136, 0.173, 0.241, 0.34, 0.473, 0.641",\
                 "0.125, 0.124, 0.121, 0.136, 0.153, 0.19, 0.258, 0.354, 0.493, 0.66",\
                 "0.125, 0.123, 0.124, 0.135, 0.153, 0.191, 0.261, 0.355, 0.489, 0.662",\
                 "0.107, 0.097, 0.098, 0.111, 0.13, 0.166, 0.227, 0.327, 0.459, 0.641",\
                 "0.059, 0.052, 0.059, 0.065, 0.082, 0.116, 0.176, 0.272, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.032, 0.009, 0.078, 0.182, 0.315, 0.488",\
                 "-0.033, -0.04, -0.053, -0.045, -0.023, 0.018, 0.09, 0.187, 0.328, 0.493",\
                 "0.002, -0.006, -0.016, -0.016, 0.01, 0.049, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.044, 0.034, 0.039, 0.059, 0.102, 0.164, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.079, 0.101, 0.145, 0.207, 0.306, 0.438, 0.604",\
                 "0.111, 0.105, 0.105, 0.118, 0.136, 0.173, 0.241, 0.34, 0.473, 0.641",\
                 "0.125, 0.124, 0.121, 0.136, 0.153, 0.19, 0.258, 0.354, 0.493, 0.66",\
                 "0.125, 0.123, 0.124, 0.135, 0.153, 0.191, 0.261, 0.355, 0.489, 0.662",\
                 "0.107, 0.097, 0.098, 0.111, 0.13, 0.166, 0.227, 0.327, 0.459, 0.641",\
                 "0.059, 0.052, 0.059, 0.065, 0.082, 0.116, 0.176, 0.272, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.032, 0.009, 0.078, 0.182, 0.315, 0.488",\
                 "-0.033, -0.04, -0.053, -0.045, -0.023, 0.018, 0.09, 0.187, 0.328, 0.493",\
                 "0.002, -0.006, -0.016, -0.016, 0.01, 0.049, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.044, 0.034, 0.039, 0.059, 0.102, 0.164, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.079, 0.101, 0.145, 0.207, 0.306, 0.438, 0.604",\
                 "0.111, 0.105, 0.105, 0.118, 0.136, 0.173, 0.241, 0.34, 0.473, 0.641",\
                 "0.125, 0.124, 0.121, 0.136, 0.153, 0.19, 0.258, 0.354, 0.493, 0.66",\
                 "0.125, 0.123, 0.124, 0.135, 0.153, 0.191, 0.261, 0.355, 0.489, 0.662",\
                 "0.107, 0.097, 0.098, 0.111, 0.13, 0.166, 0.227, 0.327, 0.459, 0.641",\
                 "0.059, 0.052, 0.059, 0.065, 0.082, 0.116, 0.176, 0.272, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.032, 0.009, 0.078, 0.182, 0.315, 0.488",\
                 "-0.033, -0.04, -0.053, -0.045, -0.023, 0.018, 0.09, 0.187, 0.328, 0.493",\
                 "0.002, -0.006, -0.016, -0.016, 0.01, 0.049, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.044, 0.034, 0.039, 0.059, 0.102, 0.164, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.079, 0.101, 0.145, 0.207, 0.306, 0.438, 0.604",\
                 "0.111, 0.105, 0.105, 0.118, 0.136, 0.173, 0.241, 0.34, 0.473, 0.641",\
                 "0.125, 0.124, 0.121, 0.136, 0.153, 0.19, 0.258, 0.354, 0.493, 0.66",\
                 "0.125, 0.123, 0.124, 0.135, 0.153, 0.191, 0.261, 0.355, 0.489, 0.662",\
                 "0.107, 0.097, 0.098, 0.111, 0.13, 0.166, 0.227, 0.327, 0.459, 0.641",\
                 "0.059, 0.052, 0.059, 0.065, 0.082, 0.116, 0.176, 0.272, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.032, 0.009, 0.078, 0.182, 0.315, 0.488",\
                 "-0.033, -0.04, -0.053, -0.045, -0.023, 0.018, 0.09, 0.187, 0.328, 0.493",\
                 "0.002, -0.006, -0.016, -0.016, 0.01, 0.049, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.044, 0.034, 0.039, 0.059, 0.102, 0.164, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.079, 0.101, 0.145, 0.207, 0.306, 0.438, 0.604",\
                 "0.111, 0.105, 0.105, 0.118, 0.136, 0.173, 0.241, 0.34, 0.473, 0.641",\
                 "0.125, 0.124, 0.121, 0.136, 0.153, 0.19, 0.258, 0.354, 0.493, 0.66",\
                 "0.125, 0.123, 0.124, 0.135, 0.153, 0.191, 0.261, 0.355, 0.489, 0.662",\
                 "0.107, 0.097, 0.098, 0.111, 0.13, 0.166, 0.227, 0.327, 0.459, 0.641",\
                 "0.059, 0.052, 0.059, 0.065, 0.082, 0.116, 0.176, 0.272, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.049, -0.06, -0.053, -0.032, 0.009, 0.078, 0.182, 0.315, 0.488",\
                 "-0.033, -0.04, -0.053, -0.045, -0.023, 0.018, 0.09, 0.187, 0.328, 0.493",\
                 "0.002, -0.006, -0.016, -0.016, 0.01, 0.049, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.044, 0.034, 0.039, 0.059, 0.102, 0.164, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.079, 0.101, 0.145, 0.207, 0.306, 0.438, 0.604",\
                 "0.111, 0.105, 0.105, 0.118, 0.136, 0.173, 0.241, 0.34, 0.473, 0.641",\
                 "0.125, 0.124, 0.121, 0.136, 0.153, 0.19, 0.258, 0.354, 0.493, 0.66",\
                 "0.125, 0.123, 0.124, 0.135, 0.153, 0.191, 0.261, 0.355, 0.489, 0.662",\
                 "0.107, 0.097, 0.098, 0.111, 0.13, 0.166, 0.227, 0.327, 0.459, 0.641",\
                 "0.059, 0.052, 0.059, 0.065, 0.082, 0.116, 0.176, 0.272, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.739");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.723");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.723");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.723");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.723");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.723");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.723");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.723");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.723");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002641 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008395, 0.008347, 0.008354, 0.008348, 0.00837, 0.008369, 0.008364, \
                 0.008362, 0.008364, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008161, -0.00816, -0.008155, -0.008213, -0.008255, -0.008268, \
                 -0.008286, -0.008286, -0.008292, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008402, 0.008369, 0.008346, 0.008355, 0.008369, 0.008379, 0.008366, \
                 0.008367, 0.008368, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008163, -0.008163, -0.008179, -0.00821, -0.008253, -0.008274, \
                 -0.008271, -0.008278, -0.00829, -0.008293");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1161, 0.1157, 0.1153, 0.1151, 0.1165, 0.1222, 0.1339, 0.1525, \
                 0.1781, 0.2103");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0369, 0.0364, 0.03594, 0.03589, 0.03764, 0.04296, 0.05285, 0.06791, \
                 0.08846, 0.1147");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1565, 0.1561, 0.1557, 0.1555, 0.1574, 0.1642, 0.178, 0.2003, \
                 0.2308, 0.2686");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09537, 0.09488, 0.09441, 0.09441, 0.09695, 0.1035, 0.1155, 0.1334, \
                 0.1575, 0.188");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008402, 0.008356, 0.00835, 0.008346, 0.008335, 0.008379, 0.00837, \
                 0.008367, 0.008367, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008163, -0.00816, -0.008166, -0.00821, -0.008225, -0.008272, \
                 -0.008283, -0.008283, -0.008293, -0.008301");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008395, 0.00837, 0.008366, 0.008352, 0.00836, 0.008366, 0.008363, \
                 0.008371, 0.008371, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008172, -0.008145, -0.00817, -0.008223, -0.008226, -0.008254, \
                 -0.00828, -0.008284, -0.008289, -0.0083");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1161, 0.1157, 0.1153, 0.115, 0.1165, 0.1222, 0.1339, 0.1525, \
                 0.1781, 0.2103");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0369, 0.0364, 0.03594, 0.03588, 0.03765, 0.04295, 0.05284, 0.06791, \
                 0.08847, 0.1147");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1533, 0.1529, 0.1525, 0.1523, 0.1541, 0.1609, 0.1747, 0.1969, \
                 0.2271, 0.2648");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.098, 0.09754, 0.09703, 0.09701, 0.09962, 0.1063, 0.1181, 0.136, \
                 0.16, 0.1905");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008369, 0.008367, 0.008356, 0.008353, 0.008361, 0.008368, 0.00837, \
                 0.008369, 0.00837, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007471, -0.007841, -0.008161, -0.008199, -0.008257, -0.00827, \
                 -0.008282, -0.008281, -0.00829, -0.008294");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008362, 0.008336, 0.00835, 0.008354, 0.008368, 0.008377, 0.00836, \
                 0.008366, 0.008361, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007472, -0.007862, -0.008147, -0.008198, -0.008254, -0.008267, \
                 -0.008284, -0.008287, -0.008293, -0.008292");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1179, 0.1175, 0.1171, 0.1169, 0.1185, 0.1247, 0.137, 0.1561, \
                 0.1819, 0.2142");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03251, 0.03201, 0.0315, 0.03142, 0.03314, 0.03846, 0.04847, \
                 0.06369, 0.08446, 0.1109");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1594, 0.159, 0.1586, 0.1584, 0.1604, 0.1678, 0.1823, 0.2051, \
                 0.2357, 0.2736");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0906, 0.09009, 0.08959, 0.08962, 0.09218, 0.09881, 0.111, 0.1292, \
                 0.1536, 0.1845");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008358, 0.00835, 0.00836, 0.008346, 0.00835, 0.008365, 0.008366, \
                 0.008365, 0.008366, 0.008362");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007486, -0.007854, -0.00814, -0.008212, -0.008237, -0.008268, \
                 -0.008277, -0.008288, -0.008295, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008358, 0.008366, 0.008362, 0.008369, 0.008362, 0.008373, 0.008367, \
                 0.008364, 0.008367, 0.00837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007484, -0.00783, -0.008154, -0.008211, -0.00823, -0.008269, \
                 -0.008279, -0.00828, -0.008296, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1179, 0.1175, 0.1171, 0.1169, 0.1185, 0.1247, 0.137, 0.1561, \
                 0.1819, 0.2141");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03251, 0.03201, 0.0315, 0.03143, 0.03316, 0.03847, 0.04849, \
                 0.06369, 0.08445, 0.1109");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1561, 0.1558, 0.1553, 0.1552, 0.1571, 0.1645, 0.179, 0.2017, \
                 0.2322, 0.2699");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0932, 0.09278, 0.0922, 0.09226, 0.0948, 0.1015, 0.1136, 0.1317, \
                 0.1561, 0.1871");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008362, 0.008334, 0.008351, 0.008354, 0.008371, 0.00836, 0.008363, \
                 0.008365, 0.008368, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008156, -0.008161, -0.008169, -0.008197, -0.008246, -0.008271, \
                 -0.008283, -0.008285, -0.008294, -0.008298");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008369, 0.008369, 0.008348, 0.008348, 0.008364, 0.008376, 0.008376, \
                 0.00837, 0.008367, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008158, -0.008162, -0.00818, -0.00821, -0.008248, -0.008265, \
                 -0.008276, -0.008279, -0.00829, -0.008289");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009141, 0.009144, 0.009127, 0.009132, 0.009152, 0.009136, 0.009136, \
                 0.009135, 0.009134, 0.009136");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006484, -0.00676, -0.007089, -0.007353, -0.007594, -0.007742, \
                 -0.007845, -0.007902, -0.007952, -0.007994");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009141, 0.009151, 0.009136, 0.009134, 0.009132, 0.009132, 0.00914, \
                 0.009139, 0.009133, 0.009132");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006481, -0.006765, -0.00708, -0.007359, -0.007593, -0.007745, \
                 -0.007843, -0.007904, -0.007953, -0.007984");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008365, 0.008369, 0.008355, 0.008366, 0.008358, 0.008371, 0.00837, \
                 0.008369, 0.008368, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00817, -0.008146, -0.008165, -0.00821, -0.008235, -0.008269, \
                 -0.008279, -0.00828, -0.008294, -0.008297");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008375, 0.008358, 0.008358, 0.008351, 0.00838, 0.008372, 0.00837, \
                 0.008368, 0.008364, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008167, -0.008158, -0.008163, -0.008215, -0.008244, -0.008271, \
                 -0.008277, -0.008284, -0.008292, -0.008296");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009129, 0.009135, 0.009144, 0.00915, 0.009136, 0.009137, 0.009131, \
                 0.009133, 0.009136, 0.009139");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006497, -0.006742, -0.007068, -0.00736, -0.007574, -0.007745, \
                 -0.007843, -0.007899, -0.007955, -0.007987");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03485, 0.03484, 0.03485, 0.03483, 0.03479, 0.03479, 0.03479, \
                 0.03481, 0.0348, 0.03483");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006494, -0.006755, -0.007092, -0.007355, -0.007592, -0.007716, \
                 -0.007843, -0.007906, -0.00795, -0.007985");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008362, 0.008334, 0.008348, 0.008357, 0.00837, 0.008371, 0.008364, \
                 0.008361, 0.008363, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00766, -0.007942, -0.008158, -0.008198, -0.008253, -0.008269, \
                 -0.008283, -0.008287, -0.008294, -0.008298");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008369, 0.008356, 0.008343, 0.008349, 0.008364, 0.008377, 0.008368, \
                 0.00837, 0.008365, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007668, -0.007943, -0.008172, -0.00821, -0.008247, -0.008273, \
                 -0.00828, -0.008285, -0.00829, -0.008293");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009212, 0.009201, 0.009187, 0.009192, 0.009202, 0.009203, 0.009202, \
                 0.009197, 0.009198, 0.009202");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006461, -0.006747, -0.007123, -0.007426, -0.007654, -0.00779, \
                 -0.007878, -0.007933, -0.007979, -0.008014");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009208, 0.009206, 0.009209, 0.009201, 0.009192, 0.009206, 0.009197, \
                 0.009205, 0.009198, 0.009195");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006465, -0.006752, -0.007116, -0.007435, -0.007658, -0.007795, \
                 -0.007885, -0.007935, -0.007982, -0.008011");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008365, 0.008368, 0.008355, 0.008369, 0.008354, 0.008371, 0.008368, \
                 0.008368, 0.008368, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007674, -0.007923, -0.008156, -0.008207, -0.00824, -0.00827, \
                 -0.008275, -0.008279, -0.008293, -0.008296");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008366, 0.008354, 0.008365, 0.008375, 0.008358, 0.008381, 0.008366, \
                 0.008372, 0.00837, 0.00837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007521, -0.007847, -0.008153, -0.008207, -0.008227, -0.008272, \
                 -0.008277, -0.008284, -0.008297, -0.008297");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009192, 0.009194, 0.00921, 0.009203, 0.009185, 0.009204, 0.009206, \
                 0.0092, 0.009194, 0.009192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006467, -0.006736, -0.007106, -0.007426, -0.007642, -0.00779, \
                 -0.007883, -0.007937, -0.007984, -0.008006");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02924, 0.02923, 0.02924, 0.02918, 0.02917, 0.02917, 0.02917, \
                 0.02919, 0.02921, 0.02918");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006471, -0.006758, -0.007105, -0.007425, -0.007664, -0.007793, \
                 -0.007881, -0.007939, -0.007977, -0.008008");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.172, -0.156, -0.111, -0.047, 0.01, 0.048, 0.066, 0.066, 0.027, -0.029",\
                 "-0.179, -0.167, -0.125, -0.062, -0, 0.041, 0.055, 0.052, 0.016, -0.043",\
                 "-0.216, -0.207, -0.157, -0.094, -0.035, 0.003, 0.022, 0.019, -0.018, -0.075",\
                 "-0.262, -0.257, -0.207, -0.137, -0.084, -0.043, -0.024, -0.032, -0.064, -0.126",\
                 "-0.322, -0.309, -0.26, -0.195, -0.141, -0.101, -0.087, -0.099, -0.125, -0.186",\
                 "-0.365, -0.354, -0.309, -0.25, -0.188, -0.157, -0.146, -0.154, -0.201, -0.259",\
                 "-0.395, -0.381, -0.338, -0.275, -0.228, -0.197, -0.194, -0.208, -0.251, -0.317",\
                 "-0.414, -0.404, -0.36, -0.302, -0.265, -0.233, -0.231, -0.246, -0.294, -0.358",\
                 "-0.433, -0.427, -0.387, -0.338, -0.301, -0.271, -0.281, -0.294, -0.351, -0.416",\
                 "-0.47, -0.466, -0.423, -0.384, -0.343, -0.329, -0.347, -0.368, -0.422, -0.491");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.424, -0.409, -0.374, -0.365, -0.377, -0.406, -0.465, -0.542, -0.642, -0.768",\
                 "-0.425, -0.414, -0.385, -0.37, -0.378, -0.413, -0.467, -0.552, -0.65, -0.777",\
                 "-0.447, -0.432, -0.401, -0.384, -0.391, -0.431, -0.486, -0.565, -0.663, -0.794",\
                 "-0.462, -0.45, -0.421, -0.405, -0.412, -0.445, -0.503, -0.579, -0.676, -0.803",\
                 "-0.479, -0.464, -0.434, -0.416, -0.423, -0.451, -0.504, -0.58, -0.674, -0.8",\
                 "-0.48, -0.465, -0.436, -0.417, -0.416, -0.448, -0.497, -0.567, -0.662, -0.782",\
                 "-0.454, -0.441, -0.402, -0.385, -0.393, -0.419, -0.468, -0.54, -0.635, -0.752",\
                 "-0.396, -0.38, -0.348, -0.329, -0.338, -0.359, -0.417, -0.486, -0.578, -0.701",\
                 "-0.29, -0.274, -0.247, -0.233, -0.234, -0.271, -0.322, -0.395, -0.491, -0.614",\
                 "-0.147, -0.13, -0.101, -0.092, -0.105, -0.135, -0.19, -0.272, -0.368, -0.496");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.115, -0.108, -0.057, 0.008, 0.062, 0.1, 0.116, 0.113, 0.075, 0.018",\
                 "-0.131, -0.12, -0.072, -0.004, 0.054, 0.088, 0.107, 0.099, 0.064, 0.01",\
                 "-0.162, -0.154, -0.102, -0.042, 0.017, 0.054, 0.076, 0.062, 0.031, -0.027",\
                 "-0.217, -0.199, -0.155, -0.091, -0.032, 0.008, 0.026, 0.015, -0.02, -0.075",\
                 "-0.263, -0.247, -0.199, -0.137, -0.08, -0.048, -0.035, -0.039, -0.078, -0.132",\
                 "-0.296, -0.283, -0.238, -0.176, -0.118, -0.086, -0.079, -0.095, -0.127, -0.188",\
                 "-0.31, -0.304, -0.257, -0.195, -0.147, -0.116, -0.113, -0.13, -0.168, -0.224",\
                 "-0.331, -0.327, -0.279, -0.228, -0.167, -0.14, -0.143, -0.16, -0.206, -0.262",\
                 "-0.354, -0.346, -0.305, -0.259, -0.206, -0.187, -0.192, -0.213, -0.249, -0.316",\
                 "-0.387, -0.387, -0.348, -0.304, -0.26, -0.245, -0.254, -0.28, -0.314, -0.388");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.412, -0.402, -0.369, -0.356, -0.362, -0.401, -0.449, -0.53, -0.626, -0.748",\
                 "-0.418, -0.406, -0.374, -0.361, -0.37, -0.407, -0.459, -0.534, -0.634, -0.756",\
                 "-0.436, -0.426, -0.393, -0.379, -0.383, -0.419, -0.477, -0.553, -0.647, -0.773",\
                 "-0.462, -0.45, -0.415, -0.398, -0.406, -0.438, -0.483, -0.566, -0.658, -0.786",\
                 "-0.471, -0.464, -0.425, -0.411, -0.417, -0.443, -0.499, -0.565, -0.665, -0.788",\
                 "-0.474, -0.46, -0.423, -0.41, -0.416, -0.443, -0.49, -0.558, -0.651, -0.77",\
                 "-0.445, -0.433, -0.393, -0.385, -0.387, -0.413, -0.46, -0.53, -0.623, -0.738",\
                 "-0.378, -0.368, -0.335, -0.322, -0.331, -0.359, -0.407, -0.475, -0.571, -0.685",\
                 "-0.274, -0.258, -0.23, -0.225, -0.234, -0.266, -0.316, -0.388, -0.483, -0.605",\
                 "-0.132, -0.12, -0.09, -0.086, -0.099, -0.129, -0.19, -0.264, -0.368, -0.491");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.179, 1.167, 1.104, 1.01, 0.921, 0.855, 0.82, 0.802, 0.824, 0.868",\
                 "1.19, 1.176, 1.114, 1.026, 0.934, 0.867, 0.827, 0.814, 0.834, 0.881",\
                 "1.225, 1.219, 1.157, 1.051, 0.966, 0.904, 0.866, 0.852, 0.87, 0.913",\
                 "1.28, 1.269, 1.204, 1.103, 1.019, 0.958, 0.913, 0.9, 0.92, 0.966",\
                 "1.372, 1.359, 1.295, 1.198, 1.11, 1.048, 0.997, 0.988, 1.005, 1.045",\
                 "1.516, 1.502, 1.445, 1.339, 1.257, 1.187, 1.143, 1.123, 1.138, 1.184",\
                 "1.735, 1.727, 1.661, 1.564, 1.469, 1.403, 1.356, 1.33, 1.338, 1.373",\
                 "2.031, 2.022, 1.952, 1.852, 1.753, 1.682, 1.627, 1.591, 1.59, 1.619",\
                 "2.391, 2.377, 2.315, 2.199, 2.098, 2.01, 1.947, 1.907, 1.906, 1.92",\
                 "2.798, 2.793, 2.719, 2.599, 2.489, 2.399, 2.331, 2.283, 2.269, 2.282");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.927, 0.921, 0.857, 0.783, 0.72, 0.7, 0.718, 0.767, 0.848, 0.961",\
                 "0.931, 0.921, 0.865, 0.785, 0.733, 0.702, 0.724, 0.772, 0.858, 0.965",\
                 "0.951, 0.941, 0.882, 0.802, 0.749, 0.725, 0.74, 0.789, 0.87, 0.977",\
                 "0.971, 0.961, 0.903, 0.82, 0.761, 0.745, 0.764, 0.807, 0.885, 0.994",\
                 "0.993, 0.988, 0.93, 0.845, 0.788, 0.767, 0.774, 0.817, 0.892, 1.003",\
                 "1.015, 1.001, 0.941, 0.864, 0.802, 0.783, 0.786, 0.82, 0.892, 1.003",\
                 "1.01, 1.007, 0.945, 0.865, 0.805, 0.776, 0.783, 0.813, 0.883, 0.981",\
                 "0.992, 0.983, 0.926, 0.844, 0.783, 0.755, 0.758, 0.784, 0.847, 0.949",\
                 "0.942, 0.932, 0.875, 0.801, 0.736, 0.706, 0.7, 0.726, 0.793, 0.884",\
                 "0.861, 0.853, 0.799, 0.714, 0.654, 0.621, 0.618, 0.639, 0.701, 0.793");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.191, 1.181, 1.11, 1.01, 0.921, 0.85, 0.803, 0.79, 0.808, 0.847",\
                 "1.204, 1.191, 1.125, 1.026, 0.934, 0.861, 0.818, 0.796, 0.818, 0.86",\
                 "1.236, 1.225, 1.165, 1.057, 0.966, 0.897, 0.857, 0.827, 0.854, 0.897",\
                 "1.289, 1.279, 1.21, 1.103, 1.014, 0.95, 0.903, 0.887, 0.903, 0.943",\
                 "1.38, 1.367, 1.304, 1.198, 1.104, 1.039, 0.985, 0.973, 0.987, 1.027",\
                 "1.527, 1.52, 1.451, 1.346, 1.257, 1.182, 1.137, 1.114, 1.123, 1.164",\
                 "1.76, 1.744, 1.679, 1.574, 1.48, 1.403, 1.356, 1.321, 1.326, 1.359",\
                 "2.06, 2.046, 1.983, 1.872, 1.775, 1.69, 1.627, 1.591, 1.59, 1.611",\
                 "2.423, 2.409, 2.348, 2.234, 2.127, 2.031, 1.959, 1.921, 1.906, 1.92",\
                 "2.845, 2.835, 2.762, 2.644, 2.525, 2.425, 2.345, 2.291, 2.278, 2.288");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.916, 0.901, 0.841, 0.765, 0.705, 0.683, 0.702, 0.749, 0.832, 0.935",\
                 "0.917, 0.913, 0.847, 0.775, 0.71, 0.69, 0.707, 0.754, 0.834, 0.939",\
                 "0.935, 0.929, 0.866, 0.784, 0.731, 0.706, 0.731, 0.771, 0.854, 0.956",\
                 "0.962, 0.951, 0.886, 0.812, 0.75, 0.731, 0.744, 0.787, 0.868, 0.977",\
                 "0.985, 0.973, 0.913, 0.839, 0.774, 0.75, 0.762, 0.803, 0.882, 0.985",\
                 "0.998, 0.99, 0.928, 0.849, 0.793, 0.766, 0.773, 0.803, 0.876, 0.983",\
                 "1.002, 0.99, 0.936, 0.855, 0.794, 0.763, 0.767, 0.794, 0.865, 0.966",\
                 "0.98, 0.971, 0.914, 0.83, 0.775, 0.747, 0.739, 0.767, 0.834, 0.933",\
                 "0.934, 0.924, 0.867, 0.783, 0.726, 0.69, 0.688, 0.712, 0.778, 0.866",\
                 "0.851, 0.843, 0.788, 0.708, 0.648, 0.614, 0.611, 0.631, 0.692, 0.783");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(RN) {
        direction : input ;
      }

      pin(SETN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        clear : !RN ;
        preset : !SETN ;
        clear_preset_var1 : L ;
        clear_preset_var2 : H ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffrsnq_4) {
    area : 118.540800 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      clear : "(!RN)" ;
      preset : "(!SETN)" ;
      clear_preset_var1 : L ;
      clear_preset_var2 : H ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002461635" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&!SETN&SI" ;
      value : "0.0002467113" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SETN&!SI" ;
      value : "0.0002516019" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&!SE&SETN&SI" ;
      value : "0.0002521497" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SETN&!SI" ;
      value : "0.000261888" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&!SETN&SI" ;
      value : "0.0002697816" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SETN&!SI" ;
      value : "0.0002673264" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!RN&SE&SETN&SI" ;
      value : "0.0002824503" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SETN&!SI" ;
      value : "0.0002393127" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&!SETN&SI" ;
      value : "0.0002398605" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SETN&!SI" ;
      value : "0.000332805" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&!SE&SETN&SI" ;
      value : "0.000333333" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SETN&!SI" ;
      value : "0.0002550372" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&!SETN&SI" ;
      value : "0.0002622774" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SETN&!SI" ;
      value : "0.000348513" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&RN&SE&SETN&SI" ;
      value : "0.000346929" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002418966" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&!SETN&SI" ;
      value : "0.0002418966" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SETN&!SI" ;
      value : "0.000254562" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&!SE&SETN&SI" ;
      value : "0.000254562" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SETN&!SI" ;
      value : "0.0002787411" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&!SETN&SI" ;
      value : "0.0002555586" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SETN&!SI" ;
      value : "0.0002841795" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!RN&SE&SETN&SI" ;
      value : "0.0002682273" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SETN&!SI" ;
      value : "0.0002343891" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&!SETN&SI" ;
      value : "0.0002343891" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SETN&!SI" ;
      value : "0.0003190506" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&!SE&SETN&SI" ;
      value : "0.0003190506" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SETN&!SI" ;
      value : "0.0002718903" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&!SETN&SI" ;
      value : "0.0002480544" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SETN&!SI" ;
      value : "0.000365376" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&RN&SE&SETN&SI" ;
      value : "0.000332706" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002541792" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&!SETN&SI" ;
      value : "0.0002541924" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SETN&!SI" ;
      value : "0.0002428602" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&!SE&SETN&SI" ;
      value : "0.0002428767" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SETN&!SI" ;
      value : "0.0002536611" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&!SETN&SI" ;
      value : "0.0002549547" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SETN&!SI" ;
      value : "0.0002423454" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!RN&SE&SETN&SI" ;
      value : "0.0002436357" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SETN&!SI" ;
      value : "0.0002345574" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&!SETN&SI" ;
      value : "0.0002345574" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SETN&!SI" ;
      value : "0.0002619441" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&!SE&SETN&SI" ;
      value : "0.0002619408" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SETN&!SI" ;
      value : "0.0002339634" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&!SETN&SI" ;
      value : "0.0002346696" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SETN&!SI" ;
      value : "0.0002613501" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&RN&SE&SETN&SI" ;
      value : "0.000398475" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SETN&!SI" ;
      value : "0.0002555355" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&!SETN&SI" ;
      value : "0.0002555355" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SETN&!SI" ;
      value : "0.0002442165" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&!SE&SETN&SI" ;
      value : "0.0002442165" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SETN&!SI" ;
      value : "0.0002537304" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&!SETN&SI" ;
      value : "0.0002549646" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SETN&!SI" ;
      value : "0.0002424114" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!RN&SE&SETN&SI" ;
      value : "0.0002436456" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SETN&!SI" ;
      value : "0.0002352504" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&!SETN&SI" ;
      value : "0.0002352504" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SETN&!SI" ;
      value : "0.000384318" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&!SE&SETN&SI" ;
      value : "0.000384318" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SETN&!SI" ;
      value : "0.0002339634" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&!SETN&SI" ;
      value : "0.0002346795" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SETN&!SI" ;
      value : "0.0002613501" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&RN&SE&SETN&SI" ;
      value : "0.000391611" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000398475" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.00353 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.736 ;
      min_pulse_width_high : 0.938 ;
      min_pulse_width_low : 1.371 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1589, 0.1585, 0.1591, 0.1648, 0.177, 0.1962, 0.2233, 0.2588, \
                 0.3032, 0.3567");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1075, 0.1072, 0.1076, 0.1124, 0.1224, 0.1393, 0.1633, 0.1949, \
                 0.2345, 0.2821");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1589, 0.1585, 0.1591, 0.1648, 0.177, 0.1962, 0.2233, 0.2588, \
                 0.3032, 0.3568");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1075, 0.1072, 0.1076, 0.1124, 0.1224, 0.1394, 0.1633, 0.1949, \
                 0.2345, 0.2821");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1574, 0.1569, 0.1576, 0.1634, 0.1756, 0.1949, 0.222, 0.2577, \
                 0.3021, 0.3557");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1031, 0.1028, 0.1032, 0.108, 0.1179, 0.1346, 0.1587, 0.1903, \
                 0.2296, 0.2773");
        }
      }

      internal_power() {
        when : "!D&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1574, 0.1569, 0.1576, 0.1634, 0.1756, 0.1949, 0.2221, 0.2576, \
                 0.3021, 0.3557");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1031, 0.1028, 0.1032, 0.108, 0.1179, 0.1347, 0.1587, 0.1902, \
                 0.2296, 0.2773");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1662, 0.1658, 0.1664, 0.1721, 0.1843, 0.2035, 0.2307, 0.2661, \
                 0.3105, 0.3641");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1075, 0.1072, 0.1076, 0.1124, 0.1224, 0.1393, 0.1633, 0.195, \
                 0.2345, 0.282");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.173, 0.1726, 0.1732, 0.1793, 0.1924, 0.2128, 0.2416, 0.279, \
                 0.3258, 0.3819");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1513, 0.1509, 0.1513, 0.1564, 0.1671, 0.1849, 0.2101, 0.2433, \
                 0.2845, 0.3341");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1647, 0.1642, 0.1649, 0.1707, 0.1829, 0.2022, 0.2294, 0.265, \
                 0.3094, 0.3629");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1031, 0.1028, 0.1032, 0.108, 0.1179, 0.1347, 0.1587, 0.1903, \
                 0.2296, 0.2774");
        }
      }

      internal_power() {
        when : "!D&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2308, 0.2303, 0.2309, 0.2372, 0.2506, 0.2716, 0.3009, 0.3391, \
                 0.3867, 0.4438");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.208, 0.2078, 0.2081, 0.2137, 0.2253, 0.244, 0.2708, 0.3058, \
                 0.3491, 0.4012");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2058, 0.2053, 0.206, 0.2117, 0.2239, 0.2433, 0.2704, 0.306, \
                 0.3505, 0.4041");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1347, 0.1343, 0.1348, 0.1396, 0.1499, 0.1667, 0.1911, 0.2227, \
                 0.2624, 0.3103");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2058, 0.2053, 0.206, 0.2117, 0.2239, 0.2433, 0.2704, 0.306, \
                 0.3505, 0.4042");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1346, 0.1343, 0.1348, 0.1396, 0.1499, 0.1668, 0.1911, 0.2227, \
                 0.2624, 0.3103");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1398, 0.152, 0.1713, 0.1985, 0.2342, \
                 0.2787, 0.3322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1031, 0.1028, 0.1032, 0.108, 0.1179, 0.1346, 0.1586, 0.1903, \
                 0.2296, 0.2773");
        }
      }

      internal_power() {
        when : "!D&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1397, 0.152, 0.1712, 0.1985, 0.2342, \
                 0.2786, 0.3323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1031, 0.1028, 0.1032, 0.108, 0.1179, 0.1346, 0.1587, 0.1903, \
                 0.2296, 0.2773");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.213, 0.2125, 0.2132, 0.219, 0.2312, 0.2506, 0.2776, 0.3133, \
                 0.3578, 0.4115");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1347, 0.1344, 0.1348, 0.1396, 0.1499, 0.1668, 0.191, 0.2227, \
                 0.2624, 0.3103");
        }
      }

      internal_power() {
        when : "!D&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1504, 0.1499, 0.1506, 0.1563, 0.1686, 0.188, 0.2151, 0.2507, \
                 0.2951, 0.3487");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1094, 0.1091, 0.1095, 0.1142, 0.1243, 0.141, 0.165, 0.1965, \
                 0.236, 0.2835");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.134, 0.1398, 0.152, 0.1714, 0.1985, 0.2342, \
                 0.2786, 0.3322");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1031, 0.1028, 0.1032, 0.108, 0.1179, 0.1347, 0.1587, 0.1902, \
                 0.2296, 0.2773");
        }
      }

      internal_power() {
        when : "!D&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1518, 0.1711, 0.1983, 0.234, \
                 0.2784, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1094, 0.109, 0.1095, 0.1142, 0.1242, 0.141, 0.1649, 0.1966, \
                 0.236, 0.2835");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1648, 0.1643, 0.1649, 0.171, 0.1841, 0.2046, 0.2333, 0.2708, \
                 0.3176, 0.3737");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1512, 0.1509, 0.1512, 0.1564, 0.1671, 0.1849, 0.2101, 0.2432, \
                 0.2845, 0.334");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1648, 0.1644, 0.1649, 0.171, 0.1842, 0.2046, 0.2333, 0.2708, \
                 0.3176, 0.3737");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1512, 0.1509, 0.1512, 0.1564, 0.1671, 0.1849, 0.2101, 0.2432, \
                 0.2844, 0.334");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2209, 0.2204, 0.221, 0.2273, 0.2407, 0.2617, 0.2909, 0.329, \
                 0.3764, 0.4335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2081, 0.2077, 0.2081, 0.2136, 0.2253, 0.244, 0.2708, 0.3057, \
                 0.3491, 0.4011");
        }
      }

      internal_power() {
        when : "D&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2209, 0.2204, 0.221, 0.2273, 0.2407, 0.2616, 0.2909, 0.329, \
                 0.3764, 0.4335");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2081, 0.2077, 0.2081, 0.2136, 0.2252, 0.244, 0.2708, 0.3057, \
                 0.3491, 0.4011");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1736, 0.1731, 0.1738, 0.1794, 0.1917, 0.2109, 0.2379, 0.2735, \
                 0.3179, 0.3713");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1075, 0.1072, 0.1076, 0.1124, 0.1224, 0.1393, 0.1633, 0.1948, \
                 0.2345, 0.2822");
        }
      }

      internal_power() {
        when : "D&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1687, 0.1683, 0.1688, 0.1749, 0.1881, 0.2085, 0.2372, 0.2748, \
                 0.3216, 0.3776");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1512, 0.1509, 0.1513, 0.1564, 0.1672, 0.1849, 0.2101, 0.2433, \
                 0.2845, 0.3341");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1722, 0.1717, 0.1724, 0.1781, 0.1903, 0.2096, 0.2367, 0.2723, \
                 0.3168, 0.3703");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1032, 0.1028, 0.1032, 0.108, 0.1179, 0.1346, 0.1587, 0.1903, \
                 0.2296, 0.2773");
        }
      }

      internal_power() {
        when : "D&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2256, 0.2252, 0.2258, 0.2321, 0.2455, 0.2664, 0.2957, 0.3341, \
                 0.3814, 0.4386");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2081, 0.2077, 0.2081, 0.2137, 0.2254, 0.2441, 0.2709, 0.3059, \
                 0.3492, 0.4012");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1422, 0.1417, 0.1423, 0.1481, 0.1603, 0.1797, 0.2069, 0.2425, \
                 0.2869, 0.3405");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1094, 0.1091, 0.1095, 0.1142, 0.1242, 0.141, 0.165, 0.1965, \
                 0.2359, 0.2835");
        }
      }

      internal_power() {
        when : "D&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1422, 0.1417, 0.1423, 0.1481, 0.1603, 0.1797, 0.2069, 0.2425, \
                 0.2869, 0.3405");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1094, 0.1091, 0.1094, 0.1142, 0.1243, 0.141, 0.165, 0.1965, \
                 0.2359, 0.2835");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1518, 0.1712, 0.1983, 0.234, \
                 0.2784, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1093, 0.109, 0.1094, 0.1142, 0.1242, 0.1409, 0.1649, 0.1965, \
                 0.2359, 0.2835");
        }
      }

      internal_power() {
        when : "D&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1518, 0.1711, 0.1984, 0.2339, \
                 0.2784, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1093, 0.109, 0.1094, 0.1142, 0.1242, 0.1409, 0.1649, 0.1965, \
                 0.2359, 0.2835");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2202, 0.2197, 0.2204, 0.2262, 0.2384, 0.2578, 0.2849, 0.3204, \
                 0.3649, 0.4186");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1346, 0.1343, 0.1348, 0.1396, 0.1499, 0.1668, 0.1911, 0.2227, \
                 0.2624, 0.3103");
        }
      }

      internal_power() {
        when : "D&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.146, 0.1455, 0.1462, 0.1519, 0.1642, 0.1836, 0.2107, 0.2463, \
                 0.2907, 0.3444");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1094, 0.1091, 0.1095, 0.1143, 0.1243, 0.1411, 0.165, 0.1966, \
                 0.2359, 0.2835");
        }
      }

      internal_power() {
        when : "D&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1337, 0.1333, 0.1339, 0.1398, 0.152, 0.1713, 0.1985, 0.2342, \
                 0.2787, 0.3323");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1031, 0.1028, 0.1032, 0.1079, 0.1179, 0.1346, 0.1587, 0.1902, \
                 0.2297, 0.2773");
        }
      }

      internal_power() {
        when : "D&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1336, 0.1331, 0.1338, 0.1396, 0.1518, 0.1711, 0.1983, 0.234, \
                 0.2784, 0.3321");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1094, 0.1091, 0.1095, 0.1142, 0.1242, 0.141, 0.1649, 0.1966, \
                 0.2359, 0.2836");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.234");
        }

        rise_constraint(scalar) {
          values("0.823");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.234");
        }

        rise_constraint(scalar) {
          values("0.823");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.273");
        }

        rise_constraint(scalar) {
          values("0.823");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&RN&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.037");
        }

        rise_constraint(scalar) {
          values("0.938");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.945");
        }

        rise_constraint(scalar) {
          values("0.938");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.951");
        }

        rise_constraint(scalar) {
          values("0.938");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.371");
        }

        rise_constraint(scalar) {
          values("0.823");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&RN&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.997");
        }

        rise_constraint(scalar) {
          values("0.938");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.477");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.477");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.53");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&RN&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.099");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.01");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.01");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.736");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&RN&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.046");
        }
      }
    }

    pin(D) {
      capacitance : 0.002654 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0982, 0.09787, 0.09704, 0.09658, 0.09828, 0.1039, 0.1144, 0.1301, \
                 0.1507, 0.1762");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.02942, 0.02905, 0.02896, 0.03072, 0.03552, 0.04399, \
                 0.0565, 0.07321, 0.09431");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09819, 0.09786, 0.09704, 0.09658, 0.09828, 0.1039, 0.1144, 0.1301, \
                 0.1507, 0.1762");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.02942, 0.02906, 0.02896, 0.03073, 0.03553, 0.044, 0.05651, \
                 0.07321, 0.09431");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1371, 0.1367, 0.1359, 0.1355, 0.1378, 0.1449, 0.1575, 0.1763, \
                 0.201, 0.2312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08678, 0.08691, 0.08651, 0.08661, 0.08938, 0.09575, 0.1065, \
                 0.1219, 0.1421, 0.167");
        }
      }

      internal_power() {
        when : "!CLK&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1371, 0.1367, 0.1359, 0.1355, 0.1378, 0.1449, 0.1575, 0.1763, \
                 0.201, 0.2312");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08678, 0.08688, 0.08651, 0.08661, 0.0894, 0.09579, 0.1065, 0.1219, \
                 0.1421, 0.167");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008408, 0.008416, 0.008426, 0.008419, 0.008409, 0.008409, 0.008404, \
                 0.008397, 0.00839, 0.008389");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007963, -0.007958, -0.007959, -0.008023, -0.008083, -0.008129, \
                 -0.008161, -0.008189, -0.008208, -0.008234");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00433, 0.004326, 0.004328, 0.004326, 0.004319, 0.004334, 0.004333, \
                 0.004323, 0.004315, 0.004307");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00305, -0.003053, -0.003049, -0.003048, -0.003053, -0.003061, \
                 -0.003062, -0.00306, -0.003061, -0.003064");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008411, 0.008414, 0.008423, 0.008421, 0.008409, 0.008409, 0.008402, \
                 0.008397, 0.008394, 0.008391");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007964, -0.007962, -0.007968, -0.008027, -0.008081, -0.008132, \
                 -0.008161, -0.008186, -0.008206, -0.008235");
        }
      }

      internal_power() {
        when : "!CLK&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004333, 0.004327, 0.004325, 0.004326, 0.004321, 0.004334, 0.00433, \
                 0.004324, 0.004318, 0.004308");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00305, -0.003053, -0.003045, -0.003053, -0.00305, -0.003061, \
                 -0.003061, -0.003062, -0.003063, -0.003063");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09821, 0.09785, 0.09704, 0.09657, 0.09826, 0.1039, 0.1144, 0.1301, \
                 0.1507, 0.1762");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.02941, 0.02905, 0.02897, 0.03072, 0.03552, 0.04399, \
                 0.05649, 0.07324, 0.0943");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0982, 0.09785, 0.09704, 0.09658, 0.09826, 0.1039, 0.1144, 0.1301, \
                 0.1507, 0.1762");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02933, 0.02941, 0.02905, 0.02896, 0.03073, 0.03553, 0.044, 0.05649, \
                 0.07325, 0.0943");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1339, 0.1335, 0.1327, 0.1323, 0.1346, 0.1417, 0.1542, 0.173, \
                 0.1975, 0.2275");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08949, 0.08955, 0.08917, 0.08926, 0.092, 0.09836, 0.1091, 0.1245, \
                 0.1447, 0.1696");
        }
      }

      internal_power() {
        when : "!CLK&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1339, 0.1335, 0.1327, 0.1323, 0.1346, 0.1417, 0.1542, 0.173, \
                 0.1975, 0.2275");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08948, 0.08955, 0.08917, 0.08926, 0.092, 0.09836, 0.1091, 0.1245, \
                 0.1447, 0.1696");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008403, 0.008418, 0.008428, 0.008423, 0.008409, 0.008408, 0.008405, \
                 0.008396, 0.008391, 0.008393");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007961, -0.007957, -0.00797, -0.00803, -0.008085, -0.008129, \
                 -0.00816, -0.008185, -0.008209, -0.008235");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004338, 0.004325, 0.004325, 0.004324, 0.004324, 0.004333, 0.004329, \
                 0.004322, 0.004315, 0.004306");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003056, -0.003046, -0.003048, -0.003049, -0.003055, -0.003058, \
                 -0.003062, -0.003064, -0.003066, -0.003064");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00841, 0.008411, 0.008418, 0.00842, 0.008408, 0.008403, 0.008402, \
                 0.008401, 0.008395, 0.008391");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007968, -0.007963, -0.007963, -0.008034, -0.008078, -0.008119, \
                 -0.00816, -0.008186, -0.008211, -0.008234");
        }
      }

      internal_power() {
        when : "!CLK&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004333, 0.004332, 0.004323, 0.00433, 0.004329, 0.004334, 0.004327, \
                 0.004324, 0.004318, 0.004307");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003057, -0.003051, -0.003041, -0.003047, -0.003052, -0.003059, \
                 -0.003063, -0.003059, -0.003062, -0.003063");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009549, 0.009354, 0.0093, 0.00928, 0.00928, 0.009286, 0.009292, \
                 0.009282, 0.009287, 0.009283");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006259, -0.006286, -0.006754, -0.007277, -0.007605, -0.007787, \
                 -0.007884, -0.00795, -0.007996, -0.00803");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009549, 0.009354, 0.0093, 0.009282, 0.009279, 0.009289, 0.00929, \
                 0.009281, 0.009287, 0.009281");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006259, -0.006286, -0.006755, -0.007277, -0.007599, -0.007786, \
                 -0.007885, -0.007952, -0.007993, -0.008027");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009546, 0.009353, 0.009293, 0.009281, 0.009275, 0.009291, 0.009292, \
                 0.00929, 0.00929, 0.009288");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006268, -0.00629, -0.006767, -0.007276, -0.007592, -0.007792, \
                 -0.007883, -0.007952, -0.007996, -0.00803");
        }
      }

      internal_power() {
        when : "CLK&!RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009544, 0.009353, 0.009293, 0.009282, 0.009275, 0.009291, 0.009289, \
                 0.00929, 0.00929, 0.009289");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006272, -0.006295, -0.006765, -0.007278, -0.00759, -0.007792, \
                 -0.007884, -0.007954, -0.007997, -0.008029");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008321, 0.008462, 0.00852, 0.008528, 0.008528, 0.008535, 0.008517, \
                 0.008498, 0.008466, 0.008431");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008051, -0.008054, -0.008036, -0.008087, -0.008146, -0.008197, \
                 -0.008216, -0.008231, -0.008238, -0.008244");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004106, 0.004111, 0.00412, 0.004121, 0.004122, 0.004136, 0.004132, \
                 0.004137, 0.004138, 0.004133");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005053, -0.004812, -0.004641, -0.004581, -0.00455, -0.004545, \
                 -0.004535, -0.004526, -0.004523, -0.004516");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00832, 0.008463, 0.008528, 0.008534, 0.00853, 0.008537, 0.008518, \
                 0.008501, 0.008469, 0.008428");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008048, -0.008053, -0.008034, -0.008082, -0.008145, -0.008194, \
                 -0.008214, -0.008228, -0.008239, -0.008242");
        }
      }

      internal_power() {
        when : "CLK&!RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004119, 0.004112, 0.004119, 0.004127, 0.004118, 0.004136, 0.004134, \
                 0.004135, 0.004137, 0.004135");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00507, -0.004816, -0.004636, -0.004583, -0.004555, -0.004549, \
                 -0.004534, -0.004527, -0.004521, -0.004515");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009309, 0.009301, 0.009295, 0.009273, 0.00928, 0.009285, 0.009295, \
                 0.009294, 0.009289, 0.009287");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006262, -0.00628, -0.006759, -0.00727, -0.007596, -0.007783, \
                 -0.007887, -0.007949, -0.007993, -0.008028");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009321, 0.009301, 0.009295, 0.009273, 0.009277, 0.009288, 0.009297, \
                 0.009294, 0.009291, 0.009287");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006258, -0.00628, -0.006759, -0.007271, -0.007595, -0.007783, \
                 -0.007889, -0.007951, -0.007993, -0.008029");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02313, 0.02314, 0.02315, 0.0231, 0.02309, 0.02309, 0.02312, \
                 0.02311, 0.02312, 0.02311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006266, -0.006303, -0.006749, -0.007279, -0.007608, -0.007784, \
                 -0.007889, -0.007948, -0.007993, -0.008033");
        }
      }

      internal_power() {
        when : "CLK&RN&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02313, 0.02314, 0.02316, 0.02311, 0.02309, 0.02309, 0.02311, \
                 0.02311, 0.02312, 0.02311");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006269, -0.0063, -0.006749, -0.007275, -0.007608, -0.007788, \
                 -0.00789, -0.007954, -0.007994, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008371, 0.008375, 0.008377, 0.008366, 0.008357, 0.008367, 0.008365, \
                 0.008367, 0.008365, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008056, -0.008058, -0.008038, -0.008081, -0.008149, -0.008192, \
                 -0.008216, -0.008228, -0.008235, -0.008243");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004108, 0.00411, 0.004125, 0.004123, 0.004126, 0.004138, 0.004138, \
                 0.004138, 0.004134, 0.004139");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005062, -0.004827, -0.004644, -0.004581, -0.004555, -0.004548, \
                 -0.004535, -0.004529, -0.004523, -0.004516");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008379, 0.008377, 0.008379, 0.00837, 0.008374, 0.008367, 0.008368, \
                 0.008363, 0.008365, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008038, -0.008043, -0.00803, -0.008085, -0.008151, -0.008173, \
                 -0.008212, -0.00823, -0.008235, -0.008244");
        }
      }

      internal_power() {
        when : "CLK&RN&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00411, 0.004117, 0.004122, 0.004123, 0.004123, 0.004137, 0.004131, \
                 0.004134, 0.004134, 0.004132");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003108, -0.003114, -0.003113, -0.003112, -0.003123, -0.003117, \
                 -0.003121, -0.003117, -0.003113, -0.003111");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.095, -0.047, 0.026, 0.085, 0.123, 0.142, 0.136, 0.107, 0.049",\
                 "-0.111, -0.104, -0.054, 0.016, 0.07, 0.117, 0.133, 0.129, 0.097, 0.036",\
                 "-0.151, -0.142, -0.094, -0.024, 0.035, 0.079, 0.094, 0.087, 0.056, -0",\
                 "-0.217, -0.209, -0.16, -0.091, -0.032, 0.008, 0.026, 0.022, -0.012, -0.064",\
                 "-0.293, -0.286, -0.234, -0.168, -0.107, -0.066, -0.052, -0.054, -0.088, -0.144",\
                 "-0.382, -0.371, -0.321, -0.256, -0.206, -0.157, -0.146, -0.146, -0.18, -0.239",\
                 "-0.47, -0.459, -0.411, -0.355, -0.302, -0.258, -0.25, -0.257, -0.287, -0.345",\
                 "-0.591, -0.583, -0.54, -0.482, -0.434, -0.385, -0.387, -0.383, -0.422, -0.478",\
                 "-0.736, -0.732, -0.685, -0.635, -0.594, -0.554, -0.559, -0.55, -0.592, -0.65",\
                 "-0.913, -0.916, -0.879, -0.83, -0.797, -0.756, -0.753, -0.751, -0.791, -0.859");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.349, -0.334, -0.304, -0.283, -0.295, -0.326, -0.373, -0.448, -0.538, -0.659",\
                 "-0.364, -0.35, -0.32, -0.303, -0.309, -0.337, -0.382, -0.456, -0.554, -0.672",\
                 "-0.393, -0.379, -0.346, -0.332, -0.331, -0.368, -0.413, -0.485, -0.581, -0.703",\
                 "-0.435, -0.421, -0.392, -0.367, -0.369, -0.394, -0.443, -0.512, -0.606, -0.719",\
                 "-0.479, -0.464, -0.434, -0.411, -0.403, -0.425, -0.464, -0.528, -0.617, -0.734",\
                 "-0.503, -0.489, -0.455, -0.432, -0.424, -0.437, -0.476, -0.533, -0.625, -0.737",\
                 "-0.496, -0.484, -0.447, -0.425, -0.416, -0.433, -0.468, -0.53, -0.612, -0.723",\
                 "-0.455, -0.44, -0.41, -0.382, -0.375, -0.393, -0.436, -0.492, -0.578, -0.685",\
                 "-0.37, -0.354, -0.321, -0.303, -0.3, -0.318, -0.364, -0.422, -0.506, -0.623",\
                 "-0.241, -0.23, -0.197, -0.181, -0.183, -0.2, -0.247, -0.312, -0.404, -0.522");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "RN&!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.103, -0.095, -0.047, 0.026, 0.085, 0.123, 0.142, 0.136, 0.107, 0.049",\
                 "-0.111, -0.104, -0.054, 0.016, 0.07, 0.117, 0.133, 0.129, 0.097, 0.041",\
                 "-0.151, -0.142, -0.094, -0.024, 0.035, 0.079, 0.094, 0.087, 0.056, -0",\
                 "-0.217, -0.209, -0.16, -0.091, -0.032, 0.008, 0.026, 0.022, -0.012, -0.064",\
                 "-0.293, -0.286, -0.234, -0.168, -0.107, -0.066, -0.052, -0.054, -0.088, -0.144",\
                 "-0.382, -0.371, -0.321, -0.256, -0.197, -0.157, -0.146, -0.146, -0.18, -0.239",\
                 "-0.47, -0.467, -0.411, -0.366, -0.302, -0.258, -0.25, -0.257, -0.287, -0.345",\
                 "-0.591, -0.583, -0.534, -0.482, -0.427, -0.385, -0.387, -0.383, -0.422, -0.478",\
                 "-0.736, -0.732, -0.685, -0.635, -0.594, -0.554, -0.553, -0.557, -0.592, -0.65",\
                 "-0.913, -0.916, -0.873, -0.836, -0.791, -0.756, -0.753, -0.759, -0.791, -0.859");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.349, -0.341, -0.304, -0.283, -0.295, -0.326, -0.373, -0.448, -0.538, -0.659",\
                 "-0.364, -0.35, -0.32, -0.303, -0.309, -0.337, -0.382, -0.456, -0.554, -0.672",\
                 "-0.393, -0.379, -0.346, -0.332, -0.331, -0.368, -0.413, -0.485, -0.581, -0.703",\
                 "-0.435, -0.421, -0.392, -0.367, -0.369, -0.394, -0.443, -0.512, -0.606, -0.719",\
                 "-0.479, -0.464, -0.434, -0.411, -0.403, -0.425, -0.464, -0.528, -0.617, -0.734",\
                 "-0.503, -0.495, -0.455, -0.432, -0.424, -0.437, -0.476, -0.533, -0.625, -0.737",\
                 "-0.496, -0.484, -0.447, -0.425, -0.416, -0.433, -0.468, -0.53, -0.612, -0.723",\
                 "-0.455, -0.446, -0.41, -0.382, -0.375, -0.393, -0.426, -0.492, -0.578, -0.685",\
                 "-0.37, -0.362, -0.321, -0.303, -0.3, -0.318, -0.364, -0.422, -0.514, -0.623",\
                 "-0.241, -0.235, -0.197, -0.181, -0.183, -0.2, -0.247, -0.312, -0.404, -0.522");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.042, 1.024, 0.965, 0.865, 0.794, 0.729, 0.693, 0.69, 0.705, 0.764",\
                 "1.047, 1.04, 0.971, 0.872, 0.803, 0.743, 0.707, 0.694, 0.714, 0.761",\
                 "1.086, 1.077, 1.016, 0.918, 0.844, 0.783, 0.74, 0.734, 0.754, 0.811",\
                 "1.162, 1.153, 1.083, 0.988, 0.914, 0.855, 0.823, 0.807, 0.824, 0.871",\
                 "1.283, 1.274, 1.208, 1.114, 1.036, 0.977, 0.934, 0.921, 0.949, 0.991",\
                 "1.476, 1.461, 1.4, 1.302, 1.231, 1.166, 1.123, 1.106, 1.123, 1.171",\
                 "1.744, 1.727, 1.67, 1.574, 1.486, 1.423, 1.381, 1.36, 1.368, 1.409",\
                 "2.084, 2.064, 2.007, 1.899, 1.819, 1.749, 1.705, 1.677, 1.678, 1.715",\
                 "2.486, 2.465, 2.406, 2.295, 2.212, 2.131, 2.071, 2.049, 2.046, 2.073",\
                 "2.933, 2.918, 2.853, 2.745, 2.65, 2.561, 2.509, 2.474, 2.467, 2.487");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.83, 0.812, 0.755, 0.683, 0.623, 0.602, 0.617, 0.666, 0.745, 0.847",\
                 "0.842, 0.826, 0.764, 0.698, 0.625, 0.613, 0.63, 0.671, 0.754, 0.86",\
                 "0.866, 0.858, 0.795, 0.721, 0.662, 0.642, 0.658, 0.702, 0.779, 0.886",\
                 "0.917, 0.903, 0.839, 0.765, 0.703, 0.687, 0.694, 0.74, 0.807, 0.915",\
                 "0.97, 0.95, 0.904, 0.823, 0.761, 0.741, 0.739, 0.773, 0.845, 0.938",\
                 "1.015, 1.001, 0.941, 0.864, 0.802, 0.772, 0.773, 0.803, 0.866, 0.964",\
                 "1.044, 1.024, 0.964, 0.895, 0.828, 0.797, 0.791, 0.823, 0.877, 0.966",\
                 "1.033, 1.019, 0.963, 0.884, 0.82, 0.789, 0.778, 0.807, 0.868, 0.957",\
                 "0.99, 0.98, 0.925, 0.845, 0.783, 0.748, 0.736, 0.766, 0.824, 0.911",\
                 "0.918, 0.901, 0.842, 0.77, 0.714, 0.679, 0.661, 0.687, 0.746, 0.829");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_RN_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "RN&!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.042, 1.024, 0.965, 0.865, 0.794, 0.729, 0.693, 0.684, 0.705, 0.753",\
                 "1.047, 1.04, 0.971, 0.881, 0.803, 0.737, 0.707, 0.694, 0.714, 0.761",\
                 "1.086, 1.077, 1.016, 0.918, 0.844, 0.783, 0.74, 0.734, 0.754, 0.8",\
                 "1.162, 1.144, 1.083, 0.988, 0.914, 0.855, 0.823, 0.807, 0.824, 0.871",\
                 "1.283, 1.274, 1.208, 1.114, 1.036, 0.977, 0.934, 0.921, 0.949, 0.991",\
                 "1.476, 1.467, 1.4, 1.31, 1.231, 1.166, 1.123, 1.106, 1.123, 1.171",\
                 "1.744, 1.727, 1.67, 1.574, 1.486, 1.423, 1.381, 1.36, 1.368, 1.409",\
                 "2.084, 2.064, 2.007, 1.899, 1.819, 1.749, 1.705, 1.677, 1.678, 1.707",\
                 "2.486, 2.465, 2.406, 2.295, 2.212, 2.131, 2.077, 2.049, 2.038, 2.073",\
                 "2.933, 2.918, 2.853, 2.745, 2.65, 2.567, 2.509, 2.474, 2.467, 2.487");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.83, 0.812, 0.755, 0.674, 0.623, 0.602, 0.617, 0.666, 0.745, 0.847",\
                 "0.842, 0.826, 0.764, 0.688, 0.625, 0.613, 0.63, 0.677, 0.754, 0.86",\
                 "0.866, 0.852, 0.803, 0.721, 0.662, 0.642, 0.658, 0.709, 0.779, 0.886",\
                 "0.917, 0.903, 0.844, 0.766, 0.703, 0.687, 0.694, 0.74, 0.807, 0.915",\
                 "0.97, 0.958, 0.904, 0.818, 0.761, 0.732, 0.734, 0.773, 0.845, 0.938",\
                 "1.015, 0.996, 0.941, 0.864, 0.802, 0.777, 0.773, 0.803, 0.866, 0.964",\
                 "1.044, 1.024, 0.964, 0.895, 0.828, 0.797, 0.791, 0.823, 0.877, 0.966",\
                 "1.033, 1.019, 0.963, 0.884, 0.82, 0.789, 0.788, 0.807, 0.868, 0.957",\
                 "0.998, 0.98, 0.925, 0.845, 0.783, 0.748, 0.736, 0.766, 0.824, 0.911",\
                 "0.924, 0.901, 0.842, 0.77, 0.714, 0.672, 0.661, 0.687, 0.746, 0.829");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.439 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&RN&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3282, 0.3147, 0.297, 0.2883, 0.2837, 0.2813, 0.2799, 0.279, 0.2783, 0.2779",\
                 "0.3282, 0.3148, 0.2969, 0.2883, 0.2838, 0.2813, 0.2798, 0.2789, 0.2783, 0.278",\
                 "0.3284, 0.3148, 0.297, 0.2884, 0.284, 0.2815, 0.28, 0.279, 0.2784, 0.278",\
                 "0.3289, 0.3154, 0.2976, 0.2889, 0.2845, 0.282, 0.2804, 0.2795, 0.2789, 0.2785",\
                 "0.3296, 0.3162, 0.2986, 0.2896, 0.2853, 0.2827, 0.2813, 0.2804, 0.2798, 0.2793",\
                 "0.3308, 0.317, 0.2995, 0.2908, 0.2864, 0.284, 0.2824, 0.2815, 0.2808, 0.2804",\
                 "0.3317, 0.3184, 0.3005, 0.2918, 0.2875, 0.285, 0.2834, 0.2824, 0.2818, 0.2814",\
                 "0.333, 0.3198, 0.3019, 0.2932, 0.2888, 0.2863, 0.2847, 0.2838, 0.2831, 0.2827",\
                 "0.3345, 0.3211, 0.3033, 0.2946, 0.2902, 0.2879, 0.2863, 0.2852, 0.2847, 0.2842",\
                 "0.3358, 0.3224, 0.3046, 0.296, 0.2916, 0.2891, 0.2876, 0.2866, 0.286, 0.2855");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3853, 0.3667, 0.3433, 0.3288, 0.3211, 0.3178, 0.3174, 0.3181, 0.3203, 0.3388",\
                 "0.3854, 0.367, 0.3434, 0.3292, 0.3215, 0.3178, 0.3174, 0.3171, 0.3203, 0.3392",\
                 "0.3853, 0.3667, 0.3433, 0.329, 0.3214, 0.3177, 0.3173, 0.317, 0.3196, 0.34",\
                 "0.3855, 0.3669, 0.3436, 0.3296, 0.3217, 0.3186, 0.3175, 0.3179, 0.3218, 0.3439",\
                 "0.3857, 0.3672, 0.3438, 0.3296, 0.322, 0.3191, 0.319, 0.3177, 0.3211, 0.3461",\
                 "0.3866, 0.3676, 0.3448, 0.3303, 0.3221, 0.3192, 0.3188, 0.3217, 0.3236, 0.3545",\
                 "0.3873, 0.3691, 0.3452, 0.3312, 0.3245, 0.3203, 0.3196, 0.3198, 0.3231, 0.3627",\
                 "0.3888, 0.3702, 0.3463, 0.332, 0.3237, 0.3237, 0.3229, 0.3231, 0.3261, 0.3788",\
                 "0.3908, 0.3721, 0.3484, 0.3338, 0.3255, 0.3216, 0.3238, 0.327, 0.333, 0.4046",\
                 "0.3927, 0.3741, 0.3504, 0.3362, 0.3274, 0.3242, 0.3221, 0.328, 0.3438, 0.4545");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&!SE&SETN&SI | !D&RN&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3282, 0.3147, 0.2969, 0.2882, 0.2839, 0.2814, 0.2799, 0.279, 0.2783, 0.2779",\
                 "0.3282, 0.3148, 0.297, 0.2883, 0.2838, 0.2813, 0.2798, 0.2789, 0.2784, 0.278",\
                 "0.3283, 0.3148, 0.2971, 0.2884, 0.2838, 0.2813, 0.2799, 0.279, 0.2785, 0.278",\
                 "0.3289, 0.3153, 0.2976, 0.2888, 0.2845, 0.2819, 0.2805, 0.2796, 0.279, 0.2785",\
                 "0.3297, 0.3162, 0.2984, 0.2898, 0.2852, 0.2827, 0.2813, 0.2804, 0.2798, 0.2793",\
                 "0.3307, 0.3172, 0.2996, 0.2909, 0.2864, 0.2839, 0.2824, 0.2814, 0.2808, 0.2804",\
                 "0.3318, 0.3185, 0.3005, 0.2918, 0.2875, 0.285, 0.2834, 0.2824, 0.2818, 0.2814",\
                 "0.3331, 0.3197, 0.302, 0.2933, 0.2888, 0.2863, 0.2848, 0.2839, 0.2832, 0.2827",\
                 "0.3344, 0.3212, 0.3034, 0.2946, 0.2902, 0.2876, 0.2862, 0.2852, 0.2846, 0.2841",\
                 "0.3358, 0.3223, 0.3045, 0.296, 0.2915, 0.2889, 0.2875, 0.2865, 0.2859, 0.2855");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3853, 0.3669, 0.3434, 0.3292, 0.3215, 0.3182, 0.3174, 0.3171, 0.3203, 0.3405",\
                 "0.3853, 0.3667, 0.3432, 0.329, 0.3215, 0.3178, 0.3174, 0.3174, 0.3206, 0.3395",\
                 "0.3852, 0.3667, 0.343, 0.329, 0.3214, 0.3177, 0.3173, 0.317, 0.3202, 0.3396",\
                 "0.3854, 0.3671, 0.3439, 0.3291, 0.3217, 0.319, 0.3175, 0.3182, 0.3205, 0.3423",\
                 "0.3857, 0.3672, 0.3438, 0.3296, 0.322, 0.3191, 0.3177, 0.3174, 0.3211, 0.3461",\
                 "0.3866, 0.3676, 0.3446, 0.3299, 0.3221, 0.3193, 0.3195, 0.3217, 0.3219, 0.3536",\
                 "0.3876, 0.3688, 0.3452, 0.3317, 0.3241, 0.32, 0.3196, 0.3201, 0.3234, 0.3627",\
                 "0.3887, 0.37, 0.3465, 0.3319, 0.3245, 0.3237, 0.3226, 0.3232, 0.3264, 0.3788",\
                 "0.3907, 0.3717, 0.3487, 0.3331, 0.3252, 0.3223, 0.3242, 0.3271, 0.3331, 0.404",\
                 "0.3928, 0.3742, 0.3507, 0.3359, 0.3273, 0.3225, 0.3215, 0.3277, 0.3418, 0.4533");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&RN&SE&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3282, 0.3147, 0.297, 0.2883, 0.2837, 0.2813, 0.2799, 0.279, 0.2783, 0.2779",\
                 "0.3282, 0.3148, 0.2969, 0.2883, 0.2838, 0.2813, 0.2799, 0.279, 0.2784, 0.278",\
                 "0.3282, 0.3147, 0.2971, 0.2884, 0.284, 0.2815, 0.28, 0.2791, 0.2785, 0.278",\
                 "0.3289, 0.3154, 0.2977, 0.289, 0.2845, 0.2818, 0.2805, 0.2795, 0.2789, 0.2785",\
                 "0.3297, 0.3162, 0.2985, 0.2898, 0.2852, 0.2826, 0.2813, 0.2804, 0.2798, 0.2793",\
                 "0.3308, 0.3173, 0.2995, 0.2908, 0.2864, 0.2839, 0.2824, 0.2814, 0.2808, 0.2804",\
                 "0.3318, 0.3183, 0.3006, 0.2917, 0.2875, 0.2849, 0.2834, 0.2824, 0.2818, 0.2814",\
                 "0.333, 0.3195, 0.3019, 0.2932, 0.2888, 0.2863, 0.2848, 0.2838, 0.2831, 0.2827",\
                 "0.3343, 0.3211, 0.3034, 0.2946, 0.29, 0.2876, 0.286, 0.2851, 0.2845, 0.2841",\
                 "0.3358, 0.3226, 0.3049, 0.2961, 0.2916, 0.2891, 0.2875, 0.2866, 0.2859, 0.2855");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3853, 0.3668, 0.3433, 0.3289, 0.3213, 0.3178, 0.3177, 0.3181, 0.3203, 0.3389",\
                 "0.3853, 0.3667, 0.3433, 0.3289, 0.3216, 0.3178, 0.3174, 0.3174, 0.3203, 0.3391",\
                 "0.3852, 0.3666, 0.3434, 0.329, 0.3214, 0.3177, 0.3172, 0.3176, 0.3208, 0.3412",\
                 "0.3854, 0.3668, 0.3435, 0.3295, 0.3216, 0.3185, 0.3175, 0.3182, 0.3201, 0.3412",\
                 "0.3857, 0.3673, 0.3441, 0.3293, 0.322, 0.3195, 0.3194, 0.3191, 0.3211, 0.3461",\
                 "0.3866, 0.3675, 0.3445, 0.3304, 0.3222, 0.3196, 0.3185, 0.3197, 0.3219, 0.3539",\
                 "0.3875, 0.369, 0.3454, 0.3309, 0.3242, 0.3203, 0.3199, 0.3205, 0.3248, 0.364",\
                 "0.3888, 0.3703, 0.3469, 0.3324, 0.3235, 0.3233, 0.3226, 0.3231, 0.3261, 0.3788",\
                 "0.3908, 0.3722, 0.3486, 0.3335, 0.3249, 0.322, 0.3238, 0.327, 0.3338, 0.4046",\
                 "0.3926, 0.374, 0.3506, 0.3364, 0.3279, 0.3231, 0.321, 0.3279, 0.343, 0.4543");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "RN&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3282, 0.315, 0.297, 0.2884, 0.284, 0.2815, 0.28, 0.279, 0.2784, 0.278",\
                 "0.3282, 0.3146, 0.2969, 0.2883, 0.2839, 0.2813, 0.2799, 0.2789, 0.2783, 0.278",\
                 "0.3283, 0.3148, 0.297, 0.2884, 0.2839, 0.2814, 0.2798, 0.2789, 0.2784, 0.278",\
                 "0.3289, 0.3154, 0.2976, 0.289, 0.2844, 0.2819, 0.2804, 0.2795, 0.279, 0.2785",\
                 "0.3297, 0.3163, 0.2985, 0.2897, 0.2852, 0.2827, 0.2812, 0.2803, 0.2797, 0.2793",\
                 "0.3307, 0.3171, 0.2995, 0.2908, 0.2864, 0.2838, 0.2823, 0.2814, 0.2808, 0.2804",\
                 "0.3317, 0.3184, 0.3006, 0.2918, 0.2875, 0.285, 0.2834, 0.2825, 0.2819, 0.2814",\
                 "0.3331, 0.3196, 0.3019, 0.2932, 0.2888, 0.2863, 0.2847, 0.2838, 0.2831, 0.2827",\
                 "0.3344, 0.321, 0.3033, 0.2946, 0.2903, 0.2877, 0.2863, 0.2852, 0.2846, 0.2842",\
                 "0.3357, 0.3223, 0.3046, 0.296, 0.2916, 0.2891, 0.2876, 0.2867, 0.286, 0.2855");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3854, 0.3668, 0.3435, 0.3292, 0.3209, 0.3182, 0.3174, 0.3181, 0.3203, 0.3405",\
                 "0.3852, 0.3667, 0.343, 0.3291, 0.3215, 0.3178, 0.3174, 0.3184, 0.3197, 0.3385",\
                 "0.3853, 0.3667, 0.3432, 0.329, 0.3215, 0.3177, 0.3173, 0.3183, 0.3199, 0.3403",\
                 "0.3854, 0.367, 0.3435, 0.3291, 0.3216, 0.318, 0.3172, 0.3186, 0.3205, 0.3426",\
                 "0.3857, 0.3672, 0.3438, 0.3296, 0.322, 0.3191, 0.3177, 0.3174, 0.3211, 0.3461",\
                 "0.3867, 0.3677, 0.3452, 0.3302, 0.3222, 0.3193, 0.3192, 0.3217, 0.3219, 0.3529",\
                 "0.3876, 0.3689, 0.3455, 0.3304, 0.324, 0.32, 0.3199, 0.3204, 0.3238, 0.3633",\
                 "0.389, 0.3703, 0.347, 0.3324, 0.3236, 0.323, 0.3223, 0.3228, 0.3268, 0.3788",\
                 "0.3907, 0.3717, 0.3487, 0.3343, 0.3256, 0.3217, 0.3245, 0.3271, 0.3327, 0.404",\
                 "0.3928, 0.3741, 0.3507, 0.3364, 0.3272, 0.3242, 0.3215, 0.327, 0.3418, 0.4544");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2812, 0.2699, 0.2559, 0.2493, 0.246, 0.2442, 0.243, 0.2423, 0.2418, 0.2415",\
                 "0.2803, 0.2692, 0.2552, 0.2485, 0.2452, 0.2434, 0.2422, 0.2415, 0.2411, 0.2407",\
                 "0.2807, 0.2693, 0.2552, 0.2487, 0.2454, 0.2436, 0.2425, 0.2418, 0.2414, 0.2411",\
                 "0.2914, 0.2791, 0.2624, 0.2542, 0.2502, 0.248, 0.2466, 0.2457, 0.2452, 0.2449",\
                 "0.3253, 0.3098, 0.2863, 0.2725, 0.2647, 0.2607, 0.2581, 0.2566, 0.2556, 0.2548",\
                 "0.372, 0.3537, 0.3219, 0.3017, 0.2895, 0.2826, 0.2782, 0.2754, 0.2737, 0.2724",\
                 "0.4321, 0.4111, 0.371, 0.3431, 0.3255, 0.315, 0.308, 0.3038, 0.3007, 0.2988",\
                 "0.5053, 0.482, 0.4339, 0.3974, 0.3739, 0.3586, 0.3487, 0.3422, 0.3375, 0.3345",\
                 "0.5909, 0.5656, 0.5105, 0.4653, 0.4344, 0.414, 0.4005, 0.3913, 0.3849, 0.3804",\
                 "0.6889, 0.6619, 0.6004, 0.5454, 0.5075, 0.4815, 0.464, 0.4514, 0.4426, 0.4365");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2398, 0.2229, 0.2027, 0.1899, 0.1838, 0.1819, 0.1821, 0.1828, 0.1863, 0.1997",\
                 "0.2389, 0.2219, 0.2019, 0.1892, 0.1829, 0.1812, 0.1815, 0.1838, 0.1853, 0.2007",\
                 "0.2379, 0.2212, 0.2003, 0.1879, 0.1818, 0.1799, 0.1801, 0.1815, 0.1843, 0.1996",\
                 "0.2412, 0.2246, 0.2037, 0.1898, 0.1834, 0.1816, 0.1815, 0.1825, 0.1854, 0.2024",\
                 "0.2642, 0.2459, 0.2223, 0.2059, 0.1956, 0.1915, 0.1904, 0.1911, 0.1913, 0.2136",\
                 "0.3001, 0.2794, 0.2503, 0.2312, 0.2186, 0.2109, 0.2088, 0.2062, 0.2089, 0.233",\
                 "0.3465, 0.3233, 0.2899, 0.2644, 0.2499, 0.2406, 0.2349, 0.2318, 0.2351, 0.2632",\
                 "0.4059, 0.3804, 0.3409, 0.3121, 0.2911, 0.2792, 0.2739, 0.2672, 0.269, 0.3087",\
                 "0.478, 0.4501, 0.4043, 0.3696, 0.3435, 0.3261, 0.3187, 0.3137, 0.3143, 0.3755",\
                 "0.5612, 0.5316, 0.479, 0.4399, 0.4093, 0.3855, 0.3712, 0.367, 0.374, 0.4787");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2812, 0.2699, 0.2559, 0.2494, 0.246, 0.2442, 0.243, 0.2423, 0.2418, 0.2415",\
                 "0.2803, 0.2692, 0.2552, 0.2485, 0.2452, 0.2434, 0.2422, 0.2415, 0.2411, 0.2407",\
                 "0.2807, 0.2693, 0.2552, 0.2487, 0.2454, 0.2436, 0.2425, 0.2418, 0.2414, 0.2411",\
                 "0.2914, 0.2791, 0.2624, 0.2542, 0.2502, 0.248, 0.2466, 0.2457, 0.2452, 0.2449",\
                 "0.3253, 0.3098, 0.2861, 0.2724, 0.265, 0.2607, 0.2582, 0.2566, 0.2556, 0.2549",\
                 "0.372, 0.3536, 0.322, 0.3017, 0.2895, 0.2825, 0.2781, 0.2754, 0.2737, 0.2724",\
                 "0.4321, 0.4112, 0.3712, 0.3431, 0.3255, 0.3149, 0.3081, 0.3037, 0.3008, 0.2988",\
                 "0.5052, 0.482, 0.4339, 0.3977, 0.374, 0.3586, 0.3487, 0.3422, 0.3375, 0.3345",\
                 "0.5909, 0.5657, 0.5105, 0.4652, 0.4347, 0.414, 0.4006, 0.3912, 0.3849, 0.3803",\
                 "0.6889, 0.6619, 0.6004, 0.5454, 0.5075, 0.4815, 0.4638, 0.4515, 0.4426, 0.4365");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2398, 0.2229, 0.2027, 0.1899, 0.1838, 0.1819, 0.1821, 0.1828, 0.1863, 0.1997",\
                 "0.2389, 0.2219, 0.2019, 0.1892, 0.1829, 0.1812, 0.1815, 0.1838, 0.1853, 0.2007",\
                 "0.2379, 0.2208, 0.2006, 0.188, 0.1821, 0.1796, 0.1801, 0.1815, 0.183, 0.2006",\
                 "0.2412, 0.2246, 0.2037, 0.1898, 0.1834, 0.1816, 0.1815, 0.1825, 0.1854, 0.2024",\
                 "0.2642, 0.2459, 0.2226, 0.2059, 0.1958, 0.1915, 0.1904, 0.1907, 0.1923, 0.214",\
                 "0.3001, 0.2794, 0.2506, 0.2313, 0.219, 0.2116, 0.2079, 0.2072, 0.2085, 0.233",\
                 "0.3465, 0.3233, 0.2899, 0.2644, 0.2499, 0.2406, 0.2349, 0.2325, 0.2351, 0.2632",\
                 "0.4059, 0.3802, 0.3409, 0.3116, 0.2904, 0.2789, 0.2735, 0.2675, 0.2666, 0.3091",\
                 "0.478, 0.4501, 0.4043, 0.3696, 0.3435, 0.3261, 0.3187, 0.3137, 0.3143, 0.3755",\
                 "0.5612, 0.5316, 0.479, 0.4399, 0.4093, 0.3855, 0.3712, 0.3673, 0.3743, 0.4771");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3172, 0.3055, 0.2912, 0.2845, 0.281, 0.2791, 0.278, 0.2771, 0.2766, 0.2763",\
                 "0.3172, 0.3055, 0.2912, 0.2845, 0.2811, 0.2792, 0.278, 0.2772, 0.2767, 0.2764",\
                 "0.3176, 0.3059, 0.2915, 0.2848, 0.2813, 0.2795, 0.2783, 0.2776, 0.277, 0.2768",\
                 "0.3284, 0.3157, 0.2987, 0.2903, 0.286, 0.2838, 0.2824, 0.2815, 0.2809, 0.2805",\
                 "0.3639, 0.3478, 0.3235, 0.3092, 0.3016, 0.2973, 0.2947, 0.2931, 0.292, 0.2912",\
                 "0.4128, 0.3937, 0.3609, 0.3399, 0.3277, 0.3203, 0.3159, 0.313, 0.3111, 0.3099",\
                 "0.4749, 0.4528, 0.4113, 0.3825, 0.3647, 0.3536, 0.3465, 0.3419, 0.339, 0.3368",\
                 "0.5481, 0.5237, 0.4734, 0.4361, 0.4119, 0.3962, 0.386, 0.3793, 0.3747, 0.3714",\
                 "0.631, 0.6044, 0.5462, 0.4999, 0.4686, 0.4478, 0.4337, 0.4244, 0.4178, 0.4131",\
                 "0.7225, 0.6938, 0.628, 0.5722, 0.5338, 0.5073, 0.4891, 0.4763, 0.4676, 0.4613");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3172, 0.3055, 0.2912, 0.2845, 0.281, 0.2791, 0.278, 0.2771, 0.2766, 0.2763",\
                 "0.3172, 0.3055, 0.2912, 0.2845, 0.2811, 0.2792, 0.278, 0.2772, 0.2767, 0.2764",\
                 "0.3176, 0.3059, 0.2915, 0.2848, 0.2813, 0.2795, 0.2783, 0.2776, 0.277, 0.2768",\
                 "0.3284, 0.3157, 0.2987, 0.2903, 0.286, 0.2838, 0.2824, 0.2815, 0.2809, 0.2805",\
                 "0.3639, 0.3478, 0.3235, 0.3092, 0.3016, 0.2973, 0.2947, 0.2931, 0.292, 0.2912",\
                 "0.4128, 0.3937, 0.3609, 0.3399, 0.3277, 0.3203, 0.3159, 0.313, 0.3111, 0.3099",\
                 "0.4749, 0.4528, 0.4113, 0.3825, 0.3647, 0.3536, 0.3465, 0.3419, 0.339, 0.3368",\
                 "0.5481, 0.5237, 0.4734, 0.4361, 0.4119, 0.3962, 0.386, 0.3793, 0.3747, 0.3714",\
                 "0.631, 0.6044, 0.5462, 0.4999, 0.4686, 0.4478, 0.4337, 0.4244, 0.4178, 0.4131",\
                 "0.7225, 0.6938, 0.628, 0.5722, 0.5338, 0.5073, 0.4891, 0.4763, 0.4676, 0.4613");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3172, 0.3055, 0.2912, 0.2845, 0.281, 0.2792, 0.278, 0.2771, 0.2766, 0.2763",\
                 "0.3172, 0.3055, 0.2912, 0.2845, 0.2811, 0.2792, 0.278, 0.2772, 0.2767, 0.2764",\
                 "0.3176, 0.3059, 0.2915, 0.2847, 0.2813, 0.2794, 0.2783, 0.2776, 0.277, 0.2767",\
                 "0.3284, 0.3157, 0.2987, 0.2903, 0.286, 0.2838, 0.2824, 0.2815, 0.2809, 0.2805",\
                 "0.3639, 0.3478, 0.3235, 0.3093, 0.3016, 0.2973, 0.2947, 0.2931, 0.292, 0.2913",\
                 "0.4129, 0.3938, 0.3609, 0.34, 0.3277, 0.3204, 0.3159, 0.3131, 0.3112, 0.3099",\
                 "0.4749, 0.4528, 0.4113, 0.3825, 0.3648, 0.3535, 0.3466, 0.3419, 0.339, 0.3368",\
                 "0.5482, 0.5237, 0.4734, 0.4361, 0.4119, 0.3962, 0.386, 0.3793, 0.3746, 0.3714",\
                 "0.631, 0.6044, 0.5463, 0.4999, 0.4686, 0.4477, 0.4338, 0.4244, 0.4178, 0.4132",\
                 "0.7224, 0.6939, 0.628, 0.5721, 0.5339, 0.5073, 0.4891, 0.4763, 0.4677, 0.4614");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3172, 0.3055, 0.2912, 0.2845, 0.281, 0.2792, 0.278, 0.2771, 0.2766, 0.2763",\
                 "0.3172, 0.3055, 0.2912, 0.2845, 0.2811, 0.2792, 0.278, 0.2772, 0.2767, 0.2764",\
                 "0.3176, 0.3059, 0.2915, 0.2847, 0.2813, 0.2794, 0.2783, 0.2776, 0.277, 0.2767",\
                 "0.3284, 0.3157, 0.2987, 0.2903, 0.286, 0.2838, 0.2824, 0.2815, 0.2809, 0.2805",\
                 "0.3639, 0.3478, 0.3235, 0.3093, 0.3016, 0.2973, 0.2947, 0.2931, 0.292, 0.2913",\
                 "0.4129, 0.3938, 0.3609, 0.34, 0.3277, 0.3204, 0.3159, 0.3131, 0.3112, 0.3099",\
                 "0.4749, 0.4528, 0.4113, 0.3825, 0.3648, 0.3535, 0.3466, 0.3419, 0.339, 0.3368",\
                 "0.5482, 0.5237, 0.4734, 0.4361, 0.4119, 0.3962, 0.386, 0.3793, 0.3746, 0.3714",\
                 "0.631, 0.6044, 0.5463, 0.4999, 0.4686, 0.4477, 0.4338, 0.4244, 0.4178, 0.4132",\
                 "0.7224, 0.6939, 0.628, 0.5721, 0.5339, 0.5073, 0.4891, 0.4763, 0.4677, 0.4614");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2812, 0.2699, 0.2559, 0.2494, 0.246, 0.2442, 0.243, 0.2423, 0.2418, 0.2415",\
                 "0.2803, 0.2692, 0.2552, 0.2485, 0.2452, 0.2434, 0.2422, 0.2415, 0.2411, 0.2407",\
                 "0.2807, 0.2693, 0.2552, 0.2487, 0.2454, 0.2436, 0.2425, 0.2418, 0.2414, 0.2411",\
                 "0.2914, 0.2791, 0.2624, 0.2542, 0.2502, 0.248, 0.2466, 0.2457, 0.2452, 0.2449",\
                 "0.3253, 0.3097, 0.2863, 0.2725, 0.2648, 0.2607, 0.2581, 0.2566, 0.2556, 0.2548",\
                 "0.372, 0.3536, 0.322, 0.3018, 0.2895, 0.2825, 0.2781, 0.2755, 0.2736, 0.2724",\
                 "0.4322, 0.4111, 0.3709, 0.3431, 0.3255, 0.3149, 0.3082, 0.3038, 0.3007, 0.2986",\
                 "0.5053, 0.482, 0.4339, 0.3974, 0.3737, 0.3586, 0.3487, 0.3422, 0.3375, 0.3345",\
                 "0.5909, 0.5656, 0.5106, 0.465, 0.4344, 0.414, 0.4007, 0.3913, 0.3849, 0.3803",\
                 "0.689, 0.6619, 0.6004, 0.5456, 0.5076, 0.4815, 0.4638, 0.4515, 0.4427, 0.4366");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2398, 0.2229, 0.2025, 0.1899, 0.1838, 0.1819, 0.1821, 0.1835, 0.1863, 0.1997",\
                 "0.239, 0.2219, 0.2019, 0.1892, 0.1829, 0.1812, 0.1814, 0.1838, 0.1853, 0.2007",\
                 "0.2378, 0.2212, 0.2003, 0.188, 0.1817, 0.1799, 0.1801, 0.1808, 0.184, 0.1996",\
                 "0.2412, 0.2246, 0.2037, 0.1898, 0.1834, 0.1816, 0.1814, 0.1825, 0.1854, 0.2024",\
                 "0.2641, 0.2459, 0.2226, 0.2059, 0.1958, 0.1915, 0.191, 0.1914, 0.1923, 0.213",\
                 "0.3001, 0.2794, 0.2506, 0.2313, 0.2189, 0.2109, 0.2088, 0.2062, 0.2089, 0.233",\
                 "0.3465, 0.3231, 0.2894, 0.2642, 0.2495, 0.24, 0.2346, 0.2325, 0.2328, 0.2635",\
                 "0.4059, 0.3805, 0.3409, 0.3121, 0.2903, 0.2779, 0.2735, 0.2675, 0.2666, 0.3091",\
                 "0.478, 0.4501, 0.4044, 0.3698, 0.3436, 0.3261, 0.3187, 0.313, 0.3143, 0.3762",\
                 "0.5612, 0.5316, 0.4792, 0.4399, 0.4093, 0.3868, 0.3722, 0.3673, 0.3743, 0.4777");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2808, 0.2696, 0.2555, 0.2491, 0.2456, 0.2437, 0.2426, 0.2419, 0.2415, 0.2412",\
                 "0.2803, 0.2691, 0.2552, 0.2484, 0.2452, 0.2434, 0.2422, 0.2415, 0.241, 0.2407",\
                 "0.2807, 0.2693, 0.2552, 0.2487, 0.2454, 0.2436, 0.2425, 0.2418, 0.2414, 0.2411",\
                 "0.2914, 0.2791, 0.2625, 0.2542, 0.2502, 0.248, 0.2467, 0.2458, 0.2452, 0.2449",\
                 "0.3255, 0.3098, 0.2862, 0.2723, 0.2649, 0.2607, 0.2582, 0.2566, 0.2556, 0.2548",\
                 "0.3721, 0.3536, 0.3221, 0.3015, 0.2896, 0.2825, 0.2782, 0.2754, 0.2736, 0.2724",\
                 "0.4323, 0.4111, 0.371, 0.343, 0.3256, 0.3149, 0.3082, 0.3036, 0.3008, 0.2988",\
                 "0.5054, 0.482, 0.434, 0.3977, 0.3739, 0.3587, 0.3488, 0.3422, 0.3377, 0.3345",\
                 "0.591, 0.5657, 0.5105, 0.4652, 0.4346, 0.4141, 0.4003, 0.3913, 0.3849, 0.3803",\
                 "0.689, 0.6619, 0.6005, 0.5454, 0.5077, 0.4816, 0.4637, 0.4515, 0.4428, 0.4365");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2398, 0.2229, 0.2022, 0.1899, 0.1837, 0.1819, 0.1821, 0.1828, 0.1863, 0.1994",\
                 "0.2389, 0.2219, 0.2019, 0.1892, 0.1829, 0.1812, 0.1814, 0.1838, 0.1853, 0.2007",\
                 "0.2379, 0.2208, 0.2005, 0.1876, 0.1816, 0.1799, 0.1801, 0.1808, 0.183, 0.1996",\
                 "0.2412, 0.2246, 0.2037, 0.1897, 0.1833, 0.1815, 0.1811, 0.1821, 0.1854, 0.2027",\
                 "0.2642, 0.2457, 0.2224, 0.2057, 0.1965, 0.1921, 0.1904, 0.1907, 0.1933, 0.214",\
                 "0.3, 0.279, 0.2506, 0.2313, 0.2184, 0.2109, 0.2085, 0.2066, 0.2089, 0.2336",\
                 "0.3465, 0.3231, 0.2902, 0.2643, 0.25, 0.2393, 0.2342, 0.2318, 0.2321, 0.2655",\
                 "0.406, 0.3805, 0.3414, 0.312, 0.2896, 0.2779, 0.2732, 0.2672, 0.269, 0.3091",\
                 "0.4777, 0.4501, 0.4041, 0.3703, 0.3444, 0.3254, 0.3184, 0.3137, 0.3153, 0.3739",\
                 "0.5611, 0.5316, 0.4796, 0.4394, 0.4089, 0.3865, 0.3709, 0.3696, 0.375, 0.4774");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3172, 0.3055, 0.2912, 0.2845, 0.281, 0.2791, 0.278, 0.2771, 0.2766, 0.2763",\
                 "0.3172, 0.3055, 0.2912, 0.2845, 0.2811, 0.2792, 0.278, 0.2772, 0.2767, 0.2764",\
                 "0.3177, 0.306, 0.2914, 0.2847, 0.2813, 0.2795, 0.2784, 0.2775, 0.2771, 0.2768",\
                 "0.3284, 0.3157, 0.2987, 0.2903, 0.286, 0.2837, 0.2823, 0.2815, 0.2809, 0.2805",\
                 "0.3639, 0.3478, 0.3236, 0.3093, 0.3016, 0.2974, 0.2947, 0.2931, 0.292, 0.2913",\
                 "0.4129, 0.3938, 0.3609, 0.3402, 0.3277, 0.3203, 0.3159, 0.313, 0.3111, 0.3099",\
                 "0.4749, 0.4528, 0.4112, 0.3826, 0.3646, 0.3537, 0.3465, 0.3419, 0.3389, 0.3369",\
                 "0.5482, 0.5235, 0.4734, 0.4361, 0.4119, 0.3962, 0.386, 0.3793, 0.3746, 0.3714",\
                 "0.6312, 0.6045, 0.5461, 0.4999, 0.4684, 0.4477, 0.4337, 0.4243, 0.4178, 0.4131",\
                 "0.7224, 0.6939, 0.628, 0.5721, 0.5338, 0.5073, 0.489, 0.4764, 0.4677, 0.4613");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3172, 0.3055, 0.2912, 0.2845, 0.281, 0.2791, 0.278, 0.2771, 0.2766, 0.2763",\
                 "0.3172, 0.3055, 0.2912, 0.2845, 0.2811, 0.2792, 0.278, 0.2772, 0.2767, 0.2764",\
                 "0.3177, 0.306, 0.2914, 0.2847, 0.2813, 0.2795, 0.2784, 0.2775, 0.2771, 0.2768",\
                 "0.3284, 0.3157, 0.2987, 0.2903, 0.286, 0.2837, 0.2823, 0.2815, 0.2809, 0.2805",\
                 "0.3639, 0.3478, 0.3236, 0.3093, 0.3016, 0.2974, 0.2947, 0.2931, 0.292, 0.2913",\
                 "0.4129, 0.3938, 0.3609, 0.3402, 0.3277, 0.3203, 0.3159, 0.313, 0.3111, 0.3099",\
                 "0.4749, 0.4528, 0.4112, 0.3826, 0.3646, 0.3537, 0.3465, 0.3419, 0.3389, 0.3369",\
                 "0.5482, 0.5235, 0.4734, 0.4361, 0.4119, 0.3962, 0.386, 0.3793, 0.3746, 0.3714",\
                 "0.6312, 0.6045, 0.5461, 0.4999, 0.4684, 0.4477, 0.4337, 0.4243, 0.4178, 0.4131",\
                 "0.7224, 0.6939, 0.628, 0.5721, 0.5338, 0.5073, 0.489, 0.4764, 0.4677, 0.4613");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3181, 0.3065, 0.2922, 0.2855, 0.2821, 0.2802, 0.2789, 0.2782, 0.2777, 0.2773",\
                 "0.3184, 0.3069, 0.2926, 0.2859, 0.2824, 0.2805, 0.2793, 0.2785, 0.278, 0.2776",\
                 "0.319, 0.3073, 0.2927, 0.2861, 0.2827, 0.2808, 0.2797, 0.2789, 0.2784, 0.2781",\
                 "0.3297, 0.3171, 0.2999, 0.2916, 0.2873, 0.285, 0.2836, 0.2828, 0.2822, 0.2818",\
                 "0.3652, 0.3492, 0.3248, 0.3106, 0.3029, 0.2986, 0.296, 0.2944, 0.2933, 0.2926",\
                 "0.4143, 0.3951, 0.3621, 0.3413, 0.3291, 0.3218, 0.3173, 0.3144, 0.3126, 0.3112",\
                 "0.4763, 0.4543, 0.4127, 0.3837, 0.366, 0.355, 0.3479, 0.3433, 0.3403, 0.3381",\
                 "0.5495, 0.525, 0.4748, 0.4374, 0.4131, 0.3975, 0.3873, 0.3805, 0.3759, 0.3727",\
                 "0.6324, 0.6057, 0.5477, 0.5009, 0.4698, 0.4491, 0.4352, 0.4256, 0.4193, 0.4145",\
                 "0.7237, 0.6952, 0.6295, 0.5734, 0.5351, 0.5087, 0.4903, 0.4776, 0.469, 0.4626");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3181, 0.3065, 0.2922, 0.2855, 0.2821, 0.2802, 0.2789, 0.2782, 0.2777, 0.2773",\
                 "0.3184, 0.3069, 0.2926, 0.2859, 0.2824, 0.2805, 0.2793, 0.2785, 0.278, 0.2776",\
                 "0.319, 0.3073, 0.2927, 0.2861, 0.2827, 0.2808, 0.2797, 0.2789, 0.2784, 0.2781",\
                 "0.3297, 0.3171, 0.2999, 0.2916, 0.2873, 0.285, 0.2836, 0.2828, 0.2822, 0.2818",\
                 "0.3652, 0.3492, 0.3248, 0.3106, 0.3029, 0.2986, 0.296, 0.2944, 0.2933, 0.2926",\
                 "0.4143, 0.3951, 0.3621, 0.3413, 0.3291, 0.3218, 0.3173, 0.3144, 0.3126, 0.3112",\
                 "0.4763, 0.4543, 0.4127, 0.3837, 0.366, 0.355, 0.3479, 0.3433, 0.3403, 0.3381",\
                 "0.5495, 0.525, 0.4748, 0.4374, 0.4131, 0.3975, 0.3873, 0.3805, 0.3759, 0.3727",\
                 "0.6324, 0.6057, 0.5477, 0.5009, 0.4698, 0.4491, 0.4352, 0.4256, 0.4193, 0.4145",\
                 "0.7237, 0.6952, 0.6295, 0.5734, 0.5351, 0.5087, 0.4903, 0.4776, 0.469, 0.4626");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2808, 0.2695, 0.2555, 0.2491, 0.2456, 0.2437, 0.2426, 0.2419, 0.2415, 0.2412",\
                 "0.2803, 0.2691, 0.2552, 0.2484, 0.2452, 0.2434, 0.2422, 0.2415, 0.241, 0.2407",\
                 "0.2807, 0.2693, 0.2552, 0.2487, 0.2454, 0.2436, 0.2425, 0.2418, 0.2414, 0.2411",\
                 "0.2914, 0.2791, 0.2625, 0.2542, 0.2502, 0.248, 0.2467, 0.2458, 0.2452, 0.2449",\
                 "0.3254, 0.31, 0.2862, 0.2723, 0.2649, 0.2606, 0.2581, 0.2565, 0.2555, 0.2548",\
                 "0.372, 0.3536, 0.322, 0.3014, 0.2895, 0.2825, 0.2781, 0.2754, 0.2736, 0.2724",\
                 "0.4322, 0.4111, 0.371, 0.343, 0.3256, 0.315, 0.3082, 0.3036, 0.3007, 0.2988",\
                 "0.5054, 0.482, 0.434, 0.3977, 0.3739, 0.3586, 0.3488, 0.3421, 0.3377, 0.3346",\
                 "0.591, 0.5657, 0.5104, 0.4652, 0.4346, 0.4141, 0.4003, 0.3913, 0.3848, 0.3803",\
                 "0.6889, 0.662, 0.6006, 0.5456, 0.5077, 0.4816, 0.4638, 0.4515, 0.4429, 0.4365");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2398, 0.2229, 0.2023, 0.1899, 0.1837, 0.1819, 0.1821, 0.1828, 0.1863, 0.1997",\
                 "0.2389, 0.2219, 0.2019, 0.1892, 0.1829, 0.1812, 0.1814, 0.1838, 0.1853, 0.2007",\
                 "0.2379, 0.2209, 0.2005, 0.1876, 0.1816, 0.1799, 0.1801, 0.1808, 0.183, 0.1996",\
                 "0.2412, 0.2246, 0.2037, 0.1897, 0.1833, 0.1816, 0.1811, 0.1821, 0.1854, 0.2027",\
                 "0.2642, 0.2458, 0.2224, 0.2057, 0.1965, 0.1918, 0.1907, 0.1907, 0.1936, 0.2127",\
                 "0.3001, 0.2793, 0.2506, 0.2312, 0.2187, 0.2109, 0.2085, 0.2066, 0.2089, 0.2336",\
                 "0.3465, 0.3234, 0.29, 0.2645, 0.2503, 0.2396, 0.2339, 0.2315, 0.2328, 0.2652",\
                 "0.4059, 0.3805, 0.341, 0.3125, 0.2902, 0.2786, 0.2732, 0.2685, 0.2666, 0.3077",\
                 "0.4777, 0.4499, 0.4041, 0.3703, 0.3444, 0.3261, 0.3194, 0.3137, 0.3143, 0.3775",\
                 "0.5611, 0.5313, 0.4788, 0.4398, 0.4088, 0.3865, 0.3709, 0.3696, 0.376, 0.4802");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2808, 0.2695, 0.2555, 0.2491, 0.2456, 0.2437, 0.2426, 0.2419, 0.2415, 0.2412",\
                 "0.2803, 0.2691, 0.2552, 0.2484, 0.2452, 0.2434, 0.2422, 0.2415, 0.241, 0.2407",\
                 "0.2807, 0.2693, 0.2552, 0.2487, 0.2454, 0.2436, 0.2425, 0.2418, 0.2414, 0.2411",\
                 "0.2914, 0.2791, 0.2625, 0.2542, 0.2502, 0.248, 0.2467, 0.2458, 0.2452, 0.2449",\
                 "0.3255, 0.31, 0.2862, 0.2723, 0.2649, 0.2606, 0.2581, 0.2565, 0.2555, 0.2548",\
                 "0.3721, 0.3536, 0.322, 0.3014, 0.2896, 0.2825, 0.2781, 0.2754, 0.2736, 0.2724",\
                 "0.4323, 0.4111, 0.371, 0.343, 0.3257, 0.315, 0.3082, 0.3036, 0.3007, 0.2988",\
                 "0.5054, 0.482, 0.434, 0.3977, 0.3739, 0.3586, 0.3488, 0.3422, 0.3377, 0.3345",\
                 "0.591, 0.5657, 0.5104, 0.4652, 0.4346, 0.4141, 0.4003, 0.3913, 0.3849, 0.3803",\
                 "0.6889, 0.662, 0.6004, 0.5456, 0.5077, 0.4816, 0.4637, 0.4515, 0.4428, 0.4365");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2398, 0.2229, 0.2023, 0.1899, 0.1837, 0.1819, 0.1821, 0.1828, 0.1863, 0.1994",\
                 "0.2389, 0.2219, 0.2019, 0.1892, 0.1829, 0.1812, 0.1814, 0.1838, 0.1853, 0.2007",\
                 "0.2379, 0.2209, 0.2005, 0.1876, 0.1816, 0.1799, 0.1801, 0.1808, 0.183, 0.1996",\
                 "0.2412, 0.2246, 0.2037, 0.1897, 0.1833, 0.1816, 0.1811, 0.1821, 0.1854, 0.2027",\
                 "0.2642, 0.2458, 0.2224, 0.2057, 0.1965, 0.1918, 0.1907, 0.1907, 0.1936, 0.2127",\
                 "0.3001, 0.2793, 0.2506, 0.2312, 0.2184, 0.2109, 0.2085, 0.2066, 0.2089, 0.2336",\
                 "0.3465, 0.3234, 0.2904, 0.2645, 0.2503, 0.2393, 0.2349, 0.2315, 0.2321, 0.2655",\
                 "0.4059, 0.3805, 0.3414, 0.3125, 0.2902, 0.2786, 0.2732, 0.2685, 0.2666, 0.3077",\
                 "0.4777, 0.4501, 0.4041, 0.3703, 0.3444, 0.3261, 0.3184, 0.3137, 0.3143, 0.3739",\
                 "0.5611, 0.5313, 0.4788, 0.4398, 0.4088, 0.3865, 0.3709, 0.3696, 0.3756, 0.4774");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3181, 0.3065, 0.2922, 0.2855, 0.2821, 0.2801, 0.279, 0.2782, 0.2777, 0.2773",\
                 "0.3184, 0.3068, 0.2926, 0.2859, 0.2824, 0.2805, 0.2793, 0.2785, 0.278, 0.2776",\
                 "0.319, 0.3073, 0.2927, 0.2861, 0.2827, 0.2808, 0.2797, 0.2789, 0.2784, 0.2781",\
                 "0.3297, 0.3171, 0.2999, 0.2916, 0.2873, 0.2851, 0.2836, 0.2827, 0.2822, 0.2818",\
                 "0.3652, 0.3492, 0.3249, 0.3107, 0.3029, 0.2985, 0.296, 0.2943, 0.2933, 0.2925",\
                 "0.4143, 0.3951, 0.3623, 0.3413, 0.3291, 0.3218, 0.3172, 0.3143, 0.3125, 0.3112",\
                 "0.4763, 0.4543, 0.4126, 0.3838, 0.366, 0.355, 0.348, 0.3433, 0.3403, 0.3382",\
                 "0.5494, 0.525, 0.4748, 0.4376, 0.4131, 0.3975, 0.3874, 0.3805, 0.3759, 0.3727",\
                 "0.6325, 0.6057, 0.5477, 0.501, 0.47, 0.4491, 0.4351, 0.4257, 0.4191, 0.4145",\
                 "0.7238, 0.6951, 0.6295, 0.5734, 0.5351, 0.5086, 0.4903, 0.4776, 0.469, 0.4627");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3181, 0.3065, 0.2922, 0.2855, 0.2821, 0.2801, 0.279, 0.2782, 0.2777, 0.2773",\
                 "0.3184, 0.3068, 0.2926, 0.2859, 0.2824, 0.2805, 0.2793, 0.2785, 0.278, 0.2776",\
                 "0.319, 0.3073, 0.2927, 0.2861, 0.2827, 0.2808, 0.2797, 0.2789, 0.2784, 0.2781",\
                 "0.3297, 0.3171, 0.2999, 0.2916, 0.2873, 0.2851, 0.2836, 0.2827, 0.2822, 0.2818",\
                 "0.3652, 0.3492, 0.3249, 0.3107, 0.3029, 0.2985, 0.296, 0.2943, 0.2933, 0.2925",\
                 "0.4143, 0.3951, 0.3623, 0.3413, 0.3291, 0.3218, 0.3172, 0.3143, 0.3125, 0.3112",\
                 "0.4763, 0.4543, 0.4126, 0.3838, 0.366, 0.355, 0.348, 0.3433, 0.3403, 0.3382",\
                 "0.5494, 0.525, 0.4748, 0.4376, 0.4131, 0.3975, 0.3874, 0.3805, 0.3759, 0.3727",\
                 "0.6325, 0.6057, 0.5477, 0.501, 0.47, 0.4491, 0.4351, 0.4257, 0.4191, 0.4145",\
                 "0.7238, 0.6951, 0.6295, 0.5734, 0.5351, 0.5086, 0.4903, 0.4776, 0.469, 0.4627");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3181, 0.3065, 0.2922, 0.2855, 0.2821, 0.2801, 0.279, 0.2782, 0.2777, 0.2773",\
                 "0.3184, 0.3068, 0.2926, 0.2859, 0.2824, 0.2805, 0.2793, 0.2785, 0.278, 0.2776",\
                 "0.319, 0.3073, 0.2927, 0.2861, 0.2827, 0.2808, 0.2797, 0.2789, 0.2784, 0.2781",\
                 "0.3297, 0.3171, 0.2999, 0.2916, 0.2873, 0.285, 0.2836, 0.2828, 0.2822, 0.2818",\
                 "0.3652, 0.3492, 0.3247, 0.3107, 0.3029, 0.2986, 0.296, 0.2944, 0.2933, 0.2926",\
                 "0.4143, 0.3951, 0.3623, 0.3413, 0.329, 0.3218, 0.3173, 0.3143, 0.3125, 0.3113",\
                 "0.4763, 0.4543, 0.4126, 0.3838, 0.366, 0.3549, 0.348, 0.3433, 0.3403, 0.3381",\
                 "0.5495, 0.5251, 0.4747, 0.4372, 0.4131, 0.3975, 0.3873, 0.3807, 0.3761, 0.3727",\
                 "0.6323, 0.6057, 0.5477, 0.501, 0.4699, 0.4491, 0.4351, 0.4258, 0.4191, 0.4146",\
                 "0.7237, 0.6952, 0.6294, 0.5734, 0.5351, 0.5087, 0.4903, 0.4777, 0.469, 0.4627");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3181, 0.3065, 0.2922, 0.2855, 0.2821, 0.2801, 0.279, 0.2782, 0.2777, 0.2773",\
                 "0.3184, 0.3068, 0.2926, 0.2859, 0.2824, 0.2805, 0.2793, 0.2785, 0.278, 0.2776",\
                 "0.319, 0.3073, 0.2927, 0.2861, 0.2827, 0.2808, 0.2797, 0.2789, 0.2784, 0.2781",\
                 "0.3297, 0.3171, 0.2999, 0.2916, 0.2873, 0.285, 0.2836, 0.2828, 0.2822, 0.2818",\
                 "0.3652, 0.3492, 0.3247, 0.3107, 0.3029, 0.2986, 0.296, 0.2944, 0.2933, 0.2926",\
                 "0.4143, 0.3951, 0.3623, 0.3413, 0.329, 0.3218, 0.3173, 0.3143, 0.3125, 0.3113",\
                 "0.4763, 0.4543, 0.4126, 0.3838, 0.366, 0.3549, 0.348, 0.3433, 0.3403, 0.3381",\
                 "0.5495, 0.5251, 0.4747, 0.4372, 0.4131, 0.3975, 0.3873, 0.3807, 0.3761, 0.3727",\
                 "0.6323, 0.6057, 0.5477, 0.501, 0.4699, 0.4491, 0.4351, 0.4258, 0.4191, 0.4146",\
                 "0.7237, 0.6952, 0.6294, 0.5734, 0.5351, 0.5087, 0.4903, 0.4777, 0.469, 0.4627");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2813, 0.2699, 0.2559, 0.2494, 0.246, 0.2442, 0.243, 0.2423, 0.2418, 0.2415",\
                 "0.2803, 0.2692, 0.2552, 0.2485, 0.2452, 0.2434, 0.2422, 0.2415, 0.2411, 0.2407",\
                 "0.2807, 0.2693, 0.2552, 0.2487, 0.2454, 0.2436, 0.2425, 0.2418, 0.2414, 0.2411",\
                 "0.2914, 0.2791, 0.2624, 0.2542, 0.2502, 0.248, 0.2466, 0.2457, 0.2452, 0.2448",\
                 "0.3253, 0.3097, 0.2863, 0.2725, 0.2648, 0.2607, 0.2581, 0.2566, 0.2556, 0.2548",\
                 "0.3721, 0.3535, 0.3216, 0.3018, 0.2895, 0.2826, 0.2783, 0.2754, 0.2737, 0.2724",\
                 "0.4323, 0.4111, 0.3711, 0.3431, 0.3255, 0.315, 0.3082, 0.3038, 0.3007, 0.2987",\
                 "0.5052, 0.482, 0.4339, 0.3974, 0.3737, 0.3586, 0.3487, 0.3422, 0.3376, 0.3345",\
                 "0.5908, 0.5657, 0.5105, 0.4651, 0.4344, 0.414, 0.4005, 0.3913, 0.3849, 0.3804",\
                 "0.6889, 0.662, 0.6004, 0.5454, 0.5075, 0.4815, 0.4638, 0.4514, 0.4427, 0.4366");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2398, 0.2229, 0.2025, 0.1899, 0.1838, 0.1819, 0.1821, 0.1835, 0.1863, 0.1997",\
                 "0.2389, 0.2219, 0.2019, 0.1892, 0.1829, 0.1812, 0.1814, 0.1838, 0.1853, 0.2007",\
                 "0.2378, 0.2212, 0.2003, 0.188, 0.1817, 0.1799, 0.1801, 0.1808, 0.184, 0.1996",\
                 "0.2412, 0.2246, 0.2037, 0.1898, 0.1834, 0.1816, 0.1814, 0.1825, 0.1854, 0.2027",\
                 "0.2641, 0.2459, 0.2222, 0.2059, 0.1958, 0.1915, 0.191, 0.1914, 0.1923, 0.213",\
                 "0.3001, 0.2793, 0.2506, 0.2313, 0.2189, 0.2116, 0.2078, 0.2072, 0.2089, 0.233",\
                 "0.3465, 0.3233, 0.2899, 0.2644, 0.2496, 0.24, 0.2349, 0.2325, 0.2328, 0.2635",\
                 "0.4059, 0.3802, 0.3409, 0.3121, 0.2904, 0.2779, 0.2735, 0.2675, 0.2666, 0.3091",\
                 "0.478, 0.4503, 0.4044, 0.3696, 0.3436, 0.3261, 0.3187, 0.313, 0.3143, 0.3755",\
                 "0.5612, 0.5312, 0.479, 0.4399, 0.4093, 0.3868, 0.3712, 0.3673, 0.3743, 0.4761");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2808, 0.2696, 0.2555, 0.2491, 0.2456, 0.2437, 0.2426, 0.2419, 0.2415, 0.2412",\
                 "0.2803, 0.2691, 0.2552, 0.2484, 0.2452, 0.2434, 0.2422, 0.2415, 0.241, 0.2407",\
                 "0.2807, 0.2693, 0.2552, 0.2487, 0.2454, 0.2436, 0.2425, 0.2418, 0.2414, 0.2411",\
                 "0.2914, 0.2791, 0.2625, 0.2542, 0.2502, 0.248, 0.2467, 0.2458, 0.2452, 0.2449",\
                 "0.3255, 0.31, 0.2862, 0.2723, 0.2649, 0.2606, 0.2581, 0.2565, 0.2555, 0.2548",\
                 "0.3721, 0.3536, 0.3221, 0.3014, 0.2896, 0.2825, 0.2781, 0.2754, 0.2736, 0.2724",\
                 "0.4324, 0.4112, 0.371, 0.3432, 0.3255, 0.3149, 0.3082, 0.3038, 0.3007, 0.2987",\
                 "0.5054, 0.4821, 0.4339, 0.3979, 0.3739, 0.3586, 0.349, 0.3421, 0.3376, 0.3345",\
                 "0.591, 0.5655, 0.5105, 0.4652, 0.4345, 0.414, 0.4003, 0.3912, 0.3848, 0.3803",\
                 "0.689, 0.6618, 0.6005, 0.5455, 0.5077, 0.4816, 0.4638, 0.4515, 0.4428, 0.4365");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2398, 0.2229, 0.2022, 0.1899, 0.1837, 0.1819, 0.1821, 0.1828, 0.1863, 0.1994",\
                 "0.2389, 0.2219, 0.2019, 0.1892, 0.1829, 0.1812, 0.1814, 0.1838, 0.1853, 0.2007",\
                 "0.2379, 0.2208, 0.2005, 0.1876, 0.1816, 0.1799, 0.1801, 0.1808, 0.183, 0.1996",\
                 "0.2412, 0.2246, 0.2037, 0.1897, 0.1833, 0.1816, 0.1811, 0.1821, 0.1854, 0.2027",\
                 "0.2642, 0.2456, 0.2224, 0.2057, 0.1965, 0.1918, 0.19, 0.1911, 0.1926, 0.215",\
                 "0.3, 0.2793, 0.2503, 0.2313, 0.218, 0.2109, 0.2088, 0.2066, 0.2089, 0.2336",\
                 "0.3465, 0.3234, 0.2901, 0.2647, 0.2501, 0.2396, 0.2339, 0.2312, 0.2328, 0.2642",\
                 "0.406, 0.3805, 0.3414, 0.3114, 0.2896, 0.2779, 0.2732, 0.2685, 0.2656, 0.3077",\
                 "0.4777, 0.4501, 0.4041, 0.3703, 0.3444, 0.3261, 0.3184, 0.3137, 0.3153, 0.3739",\
                 "0.5611, 0.5316, 0.4796, 0.4398, 0.4089, 0.3865, 0.3709, 0.3696, 0.3753, 0.4774");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3172, 0.3055, 0.2912, 0.2845, 0.281, 0.2791, 0.278, 0.2771, 0.2766, 0.2763",\
                 "0.3172, 0.3055, 0.2912, 0.2845, 0.2811, 0.2792, 0.278, 0.2772, 0.2767, 0.2764",\
                 "0.3176, 0.3059, 0.2913, 0.2847, 0.2813, 0.2795, 0.2783, 0.2775, 0.277, 0.2768",\
                 "0.3284, 0.3157, 0.2987, 0.2903, 0.286, 0.2837, 0.2823, 0.2814, 0.2809, 0.2805",\
                 "0.3639, 0.3478, 0.3236, 0.3093, 0.3016, 0.2974, 0.2947, 0.2931, 0.292, 0.2913",\
                 "0.4128, 0.3937, 0.3609, 0.3399, 0.3277, 0.3203, 0.3158, 0.313, 0.3111, 0.3098",\
                 "0.4749, 0.453, 0.4113, 0.3826, 0.3648, 0.3537, 0.3466, 0.342, 0.339, 0.3369",\
                 "0.5481, 0.5237, 0.4734, 0.4361, 0.4119, 0.3962, 0.3859, 0.3792, 0.3746, 0.3713",\
                 "0.6312, 0.6046, 0.5461, 0.4999, 0.4686, 0.4478, 0.4337, 0.4243, 0.4178, 0.4132",\
                 "0.7226, 0.6939, 0.628, 0.5721, 0.5339, 0.5073, 0.4891, 0.4764, 0.4675, 0.4613");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3172, 0.3055, 0.2912, 0.2845, 0.281, 0.2791, 0.278, 0.2771, 0.2766, 0.2763",\
                 "0.3172, 0.3055, 0.2912, 0.2845, 0.2811, 0.2792, 0.278, 0.2772, 0.2767, 0.2764",\
                 "0.3176, 0.3059, 0.2913, 0.2847, 0.2813, 0.2795, 0.2783, 0.2775, 0.277, 0.2768",\
                 "0.3284, 0.3157, 0.2987, 0.2903, 0.286, 0.2837, 0.2823, 0.2814, 0.2809, 0.2805",\
                 "0.3639, 0.3478, 0.3236, 0.3093, 0.3016, 0.2974, 0.2947, 0.2931, 0.292, 0.2913",\
                 "0.4128, 0.3937, 0.3609, 0.3399, 0.3277, 0.3203, 0.3158, 0.313, 0.3111, 0.3098",\
                 "0.4749, 0.453, 0.4113, 0.3826, 0.3648, 0.3537, 0.3466, 0.342, 0.339, 0.3369",\
                 "0.5481, 0.5237, 0.4734, 0.4361, 0.4119, 0.3962, 0.3859, 0.3792, 0.3746, 0.3713",\
                 "0.6312, 0.6046, 0.5461, 0.4999, 0.4686, 0.4478, 0.4337, 0.4243, 0.4178, 0.4132",\
                 "0.7226, 0.6939, 0.628, 0.5721, 0.5339, 0.5073, 0.4891, 0.4764, 0.4675, 0.4613");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "!CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3181, 0.3065, 0.2922, 0.2855, 0.2821, 0.2802, 0.279, 0.2782, 0.2777, 0.2773",\
                 "0.3184, 0.3069, 0.2926, 0.2859, 0.2824, 0.2805, 0.2792, 0.2785, 0.278, 0.2776",\
                 "0.319, 0.3073, 0.2927, 0.2861, 0.2827, 0.2808, 0.2797, 0.2789, 0.2784, 0.2781",\
                 "0.3297, 0.317, 0.2999, 0.2916, 0.2873, 0.285, 0.2836, 0.2828, 0.2822, 0.2818",\
                 "0.3652, 0.3492, 0.3249, 0.3107, 0.303, 0.2986, 0.296, 0.2944, 0.2933, 0.2926",\
                 "0.4142, 0.3952, 0.3624, 0.3413, 0.3291, 0.3217, 0.3173, 0.3144, 0.3125, 0.3112",\
                 "0.4764, 0.4544, 0.4126, 0.3839, 0.3659, 0.355, 0.3479, 0.3432, 0.3403, 0.3382",\
                 "0.5495, 0.5251, 0.4748, 0.4375, 0.4131, 0.3975, 0.3873, 0.3807, 0.376, 0.3727",\
                 "0.6324, 0.6057, 0.5477, 0.5009, 0.4699, 0.449, 0.4351, 0.4257, 0.4191, 0.4146",\
                 "0.7237, 0.6951, 0.6292, 0.5734, 0.5351, 0.5086, 0.4905, 0.4778, 0.4689, 0.4625");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3181, 0.3065, 0.2922, 0.2855, 0.2821, 0.2802, 0.279, 0.2782, 0.2777, 0.2773",\
                 "0.3184, 0.3069, 0.2926, 0.2859, 0.2824, 0.2805, 0.2792, 0.2785, 0.278, 0.2776",\
                 "0.319, 0.3073, 0.2927, 0.2861, 0.2827, 0.2808, 0.2797, 0.2789, 0.2784, 0.2781",\
                 "0.3297, 0.317, 0.2999, 0.2916, 0.2873, 0.285, 0.2836, 0.2828, 0.2822, 0.2818",\
                 "0.3652, 0.3492, 0.3249, 0.3107, 0.303, 0.2986, 0.296, 0.2944, 0.2933, 0.2926",\
                 "0.4142, 0.3952, 0.3624, 0.3413, 0.3291, 0.3217, 0.3173, 0.3144, 0.3125, 0.3112",\
                 "0.4764, 0.4544, 0.4126, 0.3839, 0.3659, 0.355, 0.3479, 0.3432, 0.3403, 0.3382",\
                 "0.5495, 0.5251, 0.4748, 0.4375, 0.4131, 0.3975, 0.3873, 0.3807, 0.376, 0.3727",\
                 "0.6324, 0.6057, 0.5477, 0.5009, 0.4699, 0.449, 0.4351, 0.4257, 0.4191, 0.4146",\
                 "0.7237, 0.6951, 0.6292, 0.5734, 0.5351, 0.5086, 0.4905, 0.4778, 0.4689, 0.4625");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3432, 0.332, 0.3182, 0.3116, 0.3084, 0.3063, 0.3052, 0.3046, 0.304, 0.3036",\
                 "0.3425, 0.3312, 0.3175, 0.311, 0.3076, 0.3056, 0.3045, 0.3037, 0.3032, 0.3029",\
                 "0.3427, 0.3314, 0.3173, 0.3108, 0.3074, 0.3056, 0.3045, 0.3038, 0.3034, 0.303",\
                 "0.3543, 0.342, 0.3254, 0.3171, 0.3131, 0.3108, 0.3095, 0.3087, 0.308, 0.3078",\
                 "0.3928, 0.3772, 0.3536, 0.3397, 0.3322, 0.3282, 0.3256, 0.3241, 0.323, 0.3223",\
                 "0.4496, 0.4312, 0.3995, 0.379, 0.367, 0.3601, 0.3557, 0.3529, 0.3512, 0.3499",\
                 "0.5261, 0.5049, 0.4648, 0.4369, 0.4194, 0.4088, 0.4019, 0.3975, 0.3945, 0.3924",\
                 "0.6214, 0.5981, 0.55, 0.5135, 0.4899, 0.4746, 0.4649, 0.4582, 0.4536, 0.4504",\
                 "0.7352, 0.7099, 0.6546, 0.6093, 0.5788, 0.5584, 0.5447, 0.5354, 0.529, 0.5244",\
                 "0.8675, 0.8407, 0.7792, 0.7242, 0.6864, 0.6604, 0.6423, 0.6299, 0.6211, 0.6148");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2793, 0.2629, 0.242, 0.2292, 0.2234, 0.221, 0.2212, 0.2219, 0.2244, 0.2395",\
                 "0.2785, 0.2615, 0.2412, 0.2283, 0.2225, 0.2203, 0.2209, 0.2212, 0.2234, 0.2391",\
                 "0.2771, 0.2607, 0.2393, 0.2269, 0.2209, 0.219, 0.2182, 0.2199, 0.2237, 0.239",\
                 "0.2815, 0.2649, 0.2438, 0.2304, 0.2236, 0.2216, 0.2215, 0.2219, 0.2251, 0.2421",\
                 "0.3086, 0.2901, 0.2671, 0.25, 0.2402, 0.2362, 0.2344, 0.2351, 0.2367, 0.2574",\
                 "0.3532, 0.3322, 0.3031, 0.2848, 0.2711, 0.2635, 0.2618, 0.2598, 0.2622, 0.2859",\
                 "0.4129, 0.3894, 0.3561, 0.3317, 0.3163, 0.3068, 0.3004, 0.3, 0.2989, 0.33",\
                 "0.4908, 0.4651, 0.4261, 0.397, 0.3749, 0.3635, 0.3582, 0.3518, 0.3526, 0.394",\
                 "0.5865, 0.5587, 0.5134, 0.4786, 0.4526, 0.4338, 0.4278, 0.4234, 0.425, 0.4869",\
                 "0.6993, 0.6696, 0.6165, 0.5779, 0.547, 0.5249, 0.5093, 0.5058, 0.5134, 0.6166");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3432, 0.332, 0.3182, 0.3116, 0.3084, 0.3063, 0.3052, 0.3046, 0.304, 0.3036",\
                 "0.3425, 0.3312, 0.3175, 0.311, 0.3076, 0.3056, 0.3045, 0.3037, 0.3032, 0.3029",\
                 "0.3427, 0.3314, 0.3173, 0.3108, 0.3074, 0.3056, 0.3045, 0.3038, 0.3034, 0.303",\
                 "0.3543, 0.342, 0.3254, 0.3171, 0.3131, 0.3108, 0.3095, 0.3087, 0.308, 0.3078",\
                 "0.3928, 0.3773, 0.3535, 0.3397, 0.3322, 0.3281, 0.3256, 0.3241, 0.323, 0.3223",\
                 "0.4496, 0.4312, 0.3995, 0.379, 0.367, 0.3601, 0.3557, 0.3529, 0.351, 0.3498",\
                 "0.5261, 0.5048, 0.4648, 0.4369, 0.4194, 0.4088, 0.4019, 0.3975, 0.3945, 0.3924",\
                 "0.6214, 0.5981, 0.5501, 0.5135, 0.4899, 0.4746, 0.4649, 0.4583, 0.4536, 0.4504",\
                 "0.7352, 0.7099, 0.6548, 0.6093, 0.5788, 0.5583, 0.5447, 0.5353, 0.529, 0.5244",\
                 "0.8675, 0.8406, 0.7791, 0.7243, 0.6864, 0.6604, 0.6423, 0.6299, 0.621, 0.6149");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2793, 0.2629, 0.242, 0.2292, 0.2234, 0.221, 0.2212, 0.2219, 0.2244, 0.2395",\
                 "0.2785, 0.2615, 0.2412, 0.2283, 0.2225, 0.2203, 0.2209, 0.2212, 0.2234, 0.2391",\
                 "0.2771, 0.2603, 0.2392, 0.2269, 0.2209, 0.219, 0.2182, 0.2199, 0.2237, 0.2387",\
                 "0.2815, 0.2649, 0.2438, 0.2304, 0.2236, 0.2216, 0.2215, 0.2219, 0.2251, 0.2421",\
                 "0.3086, 0.2901, 0.2671, 0.25, 0.2402, 0.2362, 0.2344, 0.2351, 0.2367, 0.2574",\
                 "0.3532, 0.3322, 0.3031, 0.2848, 0.2711, 0.2635, 0.2618, 0.2598, 0.2622, 0.2859",\
                 "0.4129, 0.3897, 0.3566, 0.3301, 0.3156, 0.3068, 0.3004, 0.3, 0.2989, 0.33",\
                 "0.4908, 0.4651, 0.4261, 0.397, 0.3744, 0.3645, 0.3578, 0.3518, 0.3536, 0.395",\
                 "0.5865, 0.5587, 0.5134, 0.4786, 0.4526, 0.4338, 0.4281, 0.4234, 0.425, 0.4869",\
                 "0.6993, 0.6696, 0.6165, 0.5779, 0.547, 0.5256, 0.5109, 0.5058, 0.5134, 0.6166");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4109, 0.3993, 0.3847, 0.3781, 0.3746, 0.3726, 0.3713, 0.3705, 0.37, 0.3697",\
                 "0.4113, 0.3997, 0.3852, 0.3785, 0.375, 0.373, 0.3717, 0.3709, 0.3704, 0.3701",\
                 "0.4118, 0.4, 0.3853, 0.3786, 0.3752, 0.3732, 0.372, 0.3713, 0.3708, 0.3704",\
                 "0.4242, 0.4115, 0.3942, 0.3857, 0.3815, 0.3791, 0.3777, 0.3769, 0.3763, 0.3759",\
                 "0.4659, 0.4497, 0.4251, 0.4108, 0.4032, 0.3988, 0.3962, 0.3945, 0.3934, 0.3927",\
                 "0.5269, 0.5078, 0.4745, 0.4535, 0.4411, 0.4337, 0.4293, 0.4265, 0.4245, 0.4232",\
                 "0.6074, 0.5854, 0.5434, 0.5145, 0.4965, 0.4854, 0.4783, 0.4737, 0.4707, 0.4685",\
                 "0.705, 0.6807, 0.6304, 0.5927, 0.5685, 0.5527, 0.5424, 0.5356, 0.5309, 0.5276",\
                 "0.8189, 0.7928, 0.7349, 0.6878, 0.6566, 0.6355, 0.6214, 0.6119, 0.6052, 0.6005",\
                 "0.9468, 0.9191, 0.8547, 0.7976, 0.7589, 0.7321, 0.7136, 0.7008, 0.6918, 0.6854");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4109, 0.3993, 0.3847, 0.3781, 0.3746, 0.3726, 0.3713, 0.3705, 0.37, 0.3697",\
                 "0.4113, 0.3997, 0.3852, 0.3785, 0.375, 0.373, 0.3717, 0.3709, 0.3704, 0.3701",\
                 "0.4118, 0.4, 0.3853, 0.3786, 0.3752, 0.3732, 0.372, 0.3713, 0.3708, 0.3704",\
                 "0.4242, 0.4115, 0.3942, 0.3857, 0.3815, 0.3791, 0.3777, 0.3769, 0.3763, 0.3759",\
                 "0.4659, 0.4497, 0.4251, 0.4108, 0.4032, 0.3988, 0.3962, 0.3945, 0.3934, 0.3927",\
                 "0.5269, 0.5078, 0.4745, 0.4535, 0.4411, 0.4337, 0.4293, 0.4265, 0.4245, 0.4232",\
                 "0.6074, 0.5854, 0.5434, 0.5145, 0.4965, 0.4854, 0.4783, 0.4737, 0.4707, 0.4685",\
                 "0.705, 0.6807, 0.6304, 0.5927, 0.5685, 0.5527, 0.5424, 0.5356, 0.5309, 0.5276",\
                 "0.8189, 0.7928, 0.7349, 0.6878, 0.6566, 0.6355, 0.6214, 0.6119, 0.6052, 0.6005",\
                 "0.9468, 0.9191, 0.8547, 0.7976, 0.7589, 0.7321, 0.7136, 0.7008, 0.6918, 0.6854");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4109, 0.3993, 0.3847, 0.3781, 0.3746, 0.3726, 0.3713, 0.3705, 0.37, 0.3697",\
                 "0.4113, 0.3997, 0.3852, 0.3785, 0.375, 0.373, 0.3717, 0.3709, 0.3704, 0.3701",\
                 "0.4118, 0.4, 0.3853, 0.3786, 0.3752, 0.3732, 0.372, 0.3713, 0.3708, 0.3704",\
                 "0.4242, 0.4115, 0.3942, 0.3858, 0.3815, 0.3791, 0.3777, 0.3769, 0.3763, 0.3759",\
                 "0.4659, 0.4497, 0.4251, 0.4108, 0.4031, 0.3988, 0.3962, 0.3945, 0.3934, 0.3927",\
                 "0.5269, 0.5078, 0.4745, 0.4535, 0.4411, 0.4337, 0.4292, 0.4264, 0.4245, 0.4233",\
                 "0.6073, 0.5854, 0.5434, 0.5145, 0.4965, 0.4854, 0.4783, 0.4737, 0.4706, 0.4685",\
                 "0.7049, 0.6807, 0.6304, 0.5927, 0.5684, 0.5527, 0.5424, 0.5356, 0.5309, 0.5275",\
                 "0.8189, 0.7928, 0.7349, 0.6877, 0.6565, 0.6355, 0.6214, 0.6119, 0.6053, 0.6005",\
                 "0.9469, 0.9191, 0.8547, 0.7976, 0.7589, 0.732, 0.7137, 0.7008, 0.6918, 0.6854");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4109, 0.3993, 0.3847, 0.3781, 0.3746, 0.3726, 0.3713, 0.3705, 0.37, 0.3697",\
                 "0.4113, 0.3997, 0.3852, 0.3785, 0.375, 0.373, 0.3717, 0.3709, 0.3704, 0.3701",\
                 "0.4118, 0.4, 0.3853, 0.3786, 0.3752, 0.3732, 0.372, 0.3713, 0.3708, 0.3704",\
                 "0.4242, 0.4115, 0.3942, 0.3858, 0.3815, 0.3791, 0.3777, 0.3769, 0.3763, 0.3759",\
                 "0.4659, 0.4497, 0.4251, 0.4108, 0.4031, 0.3988, 0.3962, 0.3945, 0.3934, 0.3927",\
                 "0.5269, 0.5078, 0.4745, 0.4535, 0.4411, 0.4337, 0.4292, 0.4264, 0.4245, 0.4233",\
                 "0.6073, 0.5854, 0.5434, 0.5145, 0.4965, 0.4854, 0.4783, 0.4737, 0.4706, 0.4685",\
                 "0.7049, 0.6807, 0.6304, 0.5927, 0.5684, 0.5527, 0.5424, 0.5356, 0.5309, 0.5275",\
                 "0.8189, 0.7928, 0.7349, 0.6877, 0.6565, 0.6355, 0.6214, 0.6119, 0.6053, 0.6005",\
                 "0.9469, 0.9191, 0.8547, 0.7976, 0.7589, 0.732, 0.7137, 0.7008, 0.6918, 0.6854");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3432, 0.332, 0.3182, 0.3116, 0.3084, 0.3063, 0.3052, 0.3046, 0.304, 0.3036",\
                 "0.3425, 0.3312, 0.3175, 0.311, 0.3076, 0.3056, 0.3045, 0.3037, 0.3032, 0.3029",\
                 "0.3427, 0.3314, 0.3173, 0.3108, 0.3074, 0.3056, 0.3045, 0.3038, 0.3034, 0.303",\
                 "0.3543, 0.342, 0.3254, 0.3171, 0.3131, 0.3108, 0.3095, 0.3087, 0.308, 0.3078",\
                 "0.3928, 0.3772, 0.3536, 0.34, 0.3323, 0.3282, 0.3256, 0.3241, 0.323, 0.3223",\
                 "0.4495, 0.4312, 0.3995, 0.3791, 0.3671, 0.3601, 0.3556, 0.3528, 0.3512, 0.3499",\
                 "0.5259, 0.5048, 0.4648, 0.4369, 0.4194, 0.4088, 0.4019, 0.3975, 0.3945, 0.3924",\
                 "0.6213, 0.5981, 0.5501, 0.5135, 0.4899, 0.4748, 0.4648, 0.4582, 0.4537, 0.4505",\
                 "0.7352, 0.7099, 0.6549, 0.6093, 0.5788, 0.5584, 0.5447, 0.5353, 0.5289, 0.5243",\
                 "0.8675, 0.8406, 0.7791, 0.7244, 0.6863, 0.6603, 0.6424, 0.6299, 0.6211, 0.6149");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2793, 0.2629, 0.242, 0.2292, 0.2234, 0.221, 0.2212, 0.2219, 0.2244, 0.2395",\
                 "0.2785, 0.2615, 0.2412, 0.2283, 0.2225, 0.2203, 0.2209, 0.2212, 0.2234, 0.2391",\
                 "0.2771, 0.2603, 0.2396, 0.2269, 0.2209, 0.219, 0.2182, 0.2199, 0.2234, 0.2387",\
                 "0.2815, 0.2649, 0.2438, 0.2304, 0.2236, 0.2216, 0.2215, 0.2219, 0.2251, 0.2421",\
                 "0.3086, 0.2901, 0.2671, 0.25, 0.2404, 0.2365, 0.2344, 0.2351, 0.237, 0.2574",\
                 "0.3532, 0.3321, 0.3031, 0.2848, 0.2711, 0.2635, 0.2615, 0.2598, 0.2622, 0.2859",\
                 "0.4128, 0.3894, 0.356, 0.332, 0.3166, 0.3068, 0.3011, 0.3, 0.2989, 0.33",\
                 "0.4907, 0.4651, 0.426, 0.3965, 0.3751, 0.3642, 0.3568, 0.3508, 0.3503, 0.395",\
                 "0.5865, 0.5587, 0.513, 0.4786, 0.4523, 0.4338, 0.4278, 0.4234, 0.425, 0.4869",\
                 "0.6993, 0.6694, 0.6169, 0.5777, 0.547, 0.5246, 0.5093, 0.5058, 0.5137, 0.6154");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3432, 0.332, 0.3182, 0.3116, 0.3084, 0.3063, 0.3052, 0.3046, 0.304, 0.3036",\
                 "0.3425, 0.3312, 0.3175, 0.311, 0.3076, 0.3056, 0.3045, 0.3037, 0.3032, 0.3029",\
                 "0.3427, 0.3314, 0.3173, 0.3108, 0.3074, 0.3056, 0.3045, 0.3038, 0.3034, 0.303",\
                 "0.3543, 0.342, 0.3254, 0.3171, 0.3131, 0.3108, 0.3095, 0.3087, 0.308, 0.3078",\
                 "0.3928, 0.3772, 0.3537, 0.34, 0.3322, 0.3281, 0.3256, 0.324, 0.323, 0.3223",\
                 "0.4497, 0.4312, 0.3995, 0.379, 0.367, 0.3599, 0.3557, 0.3529, 0.3511, 0.3498",\
                 "0.5261, 0.5048, 0.4649, 0.4369, 0.4193, 0.4086, 0.4018, 0.3974, 0.3945, 0.3924",\
                 "0.6214, 0.5981, 0.5501, 0.5136, 0.49, 0.4748, 0.4647, 0.4581, 0.4537, 0.4506",\
                 "0.7352, 0.71, 0.6548, 0.6093, 0.5785, 0.5583, 0.5447, 0.5353, 0.529, 0.5244",\
                 "0.8675, 0.8406, 0.779, 0.7244, 0.6864, 0.6604, 0.6422, 0.6299, 0.621, 0.6149");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2793, 0.2629, 0.242, 0.2292, 0.2234, 0.221, 0.2212, 0.2219, 0.2244, 0.2395",\
                 "0.2785, 0.2615, 0.2412, 0.2283, 0.2225, 0.2203, 0.2209, 0.2212, 0.2234, 0.2391",\
                 "0.2771, 0.2603, 0.2396, 0.2269, 0.2209, 0.219, 0.2182, 0.2199, 0.2234, 0.2387",\
                 "0.2815, 0.2649, 0.2438, 0.2304, 0.2236, 0.2216, 0.2215, 0.2219, 0.2251, 0.2421",\
                 "0.3086, 0.2905, 0.2671, 0.2496, 0.2403, 0.2365, 0.2344, 0.2351, 0.237, 0.257",\
                 "0.3531, 0.332, 0.3031, 0.2841, 0.2711, 0.2635, 0.2608, 0.2598, 0.2605, 0.2863",\
                 "0.4129, 0.3894, 0.3566, 0.3317, 0.3163, 0.3068, 0.3011, 0.3, 0.2989, 0.33",\
                 "0.4908, 0.4651, 0.4261, 0.3965, 0.3744, 0.3645, 0.3578, 0.3531, 0.353, 0.395",\
                 "0.5866, 0.5587, 0.5132, 0.4783, 0.4521, 0.4338, 0.4278, 0.4234, 0.4237, 0.4872",\
                 "0.6993, 0.6694, 0.617, 0.5781, 0.5469, 0.5256, 0.5093, 0.5058, 0.5137, 0.6166");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4109, 0.3993, 0.3847, 0.3781, 0.3746, 0.3725, 0.3713, 0.3705, 0.37, 0.3696",\
                 "0.4113, 0.3996, 0.3852, 0.3785, 0.375, 0.373, 0.3717, 0.3709, 0.3704, 0.37",\
                 "0.4118, 0.4, 0.3853, 0.3786, 0.3752, 0.3732, 0.372, 0.3713, 0.3708, 0.3704",\
                 "0.4242, 0.4115, 0.3942, 0.3857, 0.3815, 0.3791, 0.3777, 0.3769, 0.3763, 0.3759",\
                 "0.4659, 0.4497, 0.4251, 0.4108, 0.4032, 0.3988, 0.3962, 0.3945, 0.3934, 0.3927",\
                 "0.527, 0.5078, 0.4746, 0.4535, 0.4411, 0.4337, 0.4293, 0.4264, 0.4245, 0.4232",\
                 "0.6073, 0.5854, 0.5434, 0.5146, 0.4965, 0.4853, 0.4783, 0.4737, 0.4706, 0.4685",\
                 "0.705, 0.6807, 0.6304, 0.5929, 0.5684, 0.5528, 0.5424, 0.5356, 0.5309, 0.5275",\
                 "0.8189, 0.7928, 0.7349, 0.6877, 0.6565, 0.6355, 0.6215, 0.6119, 0.6053, 0.6005",\
                 "0.9468, 0.919, 0.8548, 0.7976, 0.7588, 0.732, 0.7136, 0.7008, 0.6918, 0.6854");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4109, 0.3993, 0.3847, 0.3781, 0.3746, 0.3725, 0.3713, 0.3705, 0.37, 0.3696",\
                 "0.4113, 0.3996, 0.3852, 0.3785, 0.375, 0.373, 0.3717, 0.3709, 0.3704, 0.37",\
                 "0.4118, 0.4, 0.3853, 0.3786, 0.3752, 0.3732, 0.372, 0.3713, 0.3708, 0.3704",\
                 "0.4242, 0.4115, 0.3942, 0.3857, 0.3815, 0.3791, 0.3777, 0.3769, 0.3763, 0.3759",\
                 "0.4659, 0.4497, 0.4251, 0.4108, 0.4032, 0.3988, 0.3962, 0.3945, 0.3934, 0.3927",\
                 "0.527, 0.5078, 0.4746, 0.4535, 0.4411, 0.4337, 0.4293, 0.4264, 0.4245, 0.4232",\
                 "0.6073, 0.5854, 0.5434, 0.5146, 0.4965, 0.4853, 0.4783, 0.4737, 0.4706, 0.4685",\
                 "0.705, 0.6807, 0.6304, 0.5929, 0.5684, 0.5528, 0.5424, 0.5356, 0.5309, 0.5275",\
                 "0.8189, 0.7928, 0.7349, 0.6877, 0.6565, 0.6355, 0.6215, 0.6119, 0.6053, 0.6005",\
                 "0.9468, 0.919, 0.8548, 0.7976, 0.7588, 0.732, 0.7136, 0.7008, 0.6918, 0.6854");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4106, 0.3989, 0.3845, 0.3777, 0.3743, 0.3722, 0.371, 0.3702, 0.3697, 0.3693",\
                 "0.4109, 0.3993, 0.3848, 0.3781, 0.3747, 0.3726, 0.3714, 0.3706, 0.3701, 0.3697",\
                 "0.4113, 0.3996, 0.3849, 0.3782, 0.3748, 0.3728, 0.3716, 0.3709, 0.3704, 0.37",\
                 "0.424, 0.4112, 0.394, 0.3855, 0.3813, 0.3789, 0.3775, 0.3766, 0.3761, 0.3757",\
                 "0.4659, 0.4497, 0.425, 0.4109, 0.4032, 0.3988, 0.3962, 0.3946, 0.3935, 0.3927",\
                 "0.5272, 0.5079, 0.4748, 0.4537, 0.4412, 0.4339, 0.4294, 0.4266, 0.4247, 0.4234",\
                 "0.6077, 0.5857, 0.5439, 0.5149, 0.4968, 0.4858, 0.4788, 0.4741, 0.471, 0.4689",\
                 "0.7053, 0.6811, 0.6307, 0.5932, 0.5688, 0.553, 0.5427, 0.5359, 0.5312, 0.5279",\
                 "0.8193, 0.7932, 0.7352, 0.6882, 0.6568, 0.6358, 0.6218, 0.6122, 0.6055, 0.6008",\
                 "0.9472, 0.9194, 0.855, 0.7979, 0.7592, 0.7324, 0.7139, 0.7011, 0.6921, 0.6856");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4106, 0.3989, 0.3845, 0.3777, 0.3743, 0.3722, 0.371, 0.3702, 0.3697, 0.3693",\
                 "0.4109, 0.3993, 0.3848, 0.3781, 0.3747, 0.3726, 0.3714, 0.3706, 0.3701, 0.3697",\
                 "0.4113, 0.3996, 0.3849, 0.3782, 0.3748, 0.3728, 0.3716, 0.3709, 0.3704, 0.37",\
                 "0.424, 0.4112, 0.394, 0.3855, 0.3813, 0.3789, 0.3775, 0.3766, 0.3761, 0.3757",\
                 "0.4659, 0.4497, 0.425, 0.4109, 0.4032, 0.3988, 0.3962, 0.3946, 0.3935, 0.3927",\
                 "0.5272, 0.5079, 0.4748, 0.4537, 0.4412, 0.4339, 0.4294, 0.4266, 0.4247, 0.4234",\
                 "0.6077, 0.5857, 0.5439, 0.5149, 0.4968, 0.4858, 0.4788, 0.4741, 0.471, 0.4689",\
                 "0.7053, 0.6811, 0.6307, 0.5932, 0.5688, 0.553, 0.5427, 0.5359, 0.5312, 0.5279",\
                 "0.8193, 0.7932, 0.7352, 0.6882, 0.6568, 0.6358, 0.6218, 0.6122, 0.6055, 0.6008",\
                 "0.9472, 0.9194, 0.855, 0.7979, 0.7592, 0.7324, 0.7139, 0.7011, 0.6921, 0.6856");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3432, 0.332, 0.3182, 0.3116, 0.3084, 0.3063, 0.3052, 0.3046, 0.304, 0.3036",\
                 "0.3425, 0.3312, 0.3175, 0.311, 0.3076, 0.3056, 0.3045, 0.3037, 0.3032, 0.3029",\
                 "0.3427, 0.3314, 0.3173, 0.3108, 0.3074, 0.3056, 0.3045, 0.3038, 0.3034, 0.303",\
                 "0.3543, 0.342, 0.3254, 0.3171, 0.3131, 0.3108, 0.3095, 0.3087, 0.308, 0.3078",\
                 "0.3928, 0.3772, 0.3536, 0.34, 0.3322, 0.3282, 0.3256, 0.3241, 0.323, 0.3223",\
                 "0.4496, 0.4312, 0.3995, 0.379, 0.367, 0.3601, 0.3557, 0.3528, 0.3511, 0.3498",\
                 "0.526, 0.5048, 0.4648, 0.4369, 0.4194, 0.4088, 0.4019, 0.3975, 0.3945, 0.3924",\
                 "0.6213, 0.5981, 0.5501, 0.5135, 0.4899, 0.4748, 0.4649, 0.4582, 0.4537, 0.4506",\
                 "0.7352, 0.7099, 0.6548, 0.6093, 0.5785, 0.5584, 0.5447, 0.5353, 0.529, 0.5244",\
                 "0.8675, 0.8407, 0.7792, 0.7242, 0.6864, 0.6604, 0.6423, 0.6298, 0.6211, 0.6148");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2793, 0.2629, 0.242, 0.2292, 0.2234, 0.221, 0.2212, 0.2219, 0.2244, 0.2395",\
                 "0.2785, 0.2615, 0.2412, 0.2283, 0.2225, 0.2203, 0.2209, 0.2212, 0.2234, 0.2391",\
                 "0.2771, 0.2607, 0.2393, 0.2269, 0.2209, 0.219, 0.2182, 0.2199, 0.2237, 0.239",\
                 "0.2815, 0.2649, 0.2438, 0.2304, 0.2236, 0.2216, 0.2215, 0.2219, 0.2251, 0.2421",\
                 "0.3086, 0.2901, 0.2666, 0.25, 0.2402, 0.2362, 0.2344, 0.2351, 0.2367, 0.2574",\
                 "0.3532, 0.3321, 0.3031, 0.2848, 0.2711, 0.2635, 0.2618, 0.2598, 0.2622, 0.2859",\
                 "0.4128, 0.3898, 0.3566, 0.3317, 0.3163, 0.3068, 0.3004, 0.3, 0.2989, 0.33",\
                 "0.4908, 0.4657, 0.4261, 0.397, 0.3744, 0.3635, 0.3582, 0.3518, 0.3536, 0.395",\
                 "0.5865, 0.5587, 0.513, 0.4783, 0.4521, 0.4338, 0.4278, 0.4234, 0.4247, 0.4869",\
                 "0.6993, 0.6694, 0.6169, 0.5779, 0.5471, 0.5242, 0.5093, 0.5058, 0.5134, 0.6166");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3432, 0.332, 0.3182, 0.3116, 0.3084, 0.3063, 0.3052, 0.3046, 0.304, 0.3036",\
                 "0.3425, 0.3312, 0.3175, 0.311, 0.3076, 0.3056, 0.3045, 0.3037, 0.3032, 0.3029",\
                 "0.3427, 0.3314, 0.3173, 0.3108, 0.3074, 0.3056, 0.3045, 0.3038, 0.3034, 0.303",\
                 "0.3543, 0.342, 0.3254, 0.3171, 0.3131, 0.3108, 0.3095, 0.3087, 0.308, 0.3078",\
                 "0.3928, 0.3772, 0.3537, 0.3397, 0.3322, 0.3281, 0.3256, 0.3241, 0.323, 0.3223",\
                 "0.4496, 0.4312, 0.3995, 0.379, 0.367, 0.3601, 0.3557, 0.3529, 0.3511, 0.3498",\
                 "0.526, 0.5048, 0.4649, 0.4369, 0.4194, 0.4086, 0.4019, 0.3974, 0.3945, 0.3924",\
                 "0.6213, 0.5981, 0.5501, 0.5135, 0.4899, 0.4748, 0.4648, 0.4582, 0.4537, 0.4506",\
                 "0.7352, 0.7099, 0.6548, 0.6093, 0.5785, 0.5583, 0.5447, 0.5353, 0.529, 0.5244",\
                 "0.8675, 0.8406, 0.7791, 0.7242, 0.6864, 0.6603, 0.6423, 0.6299, 0.621, 0.6149");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2793, 0.2629, 0.242, 0.2292, 0.2234, 0.221, 0.2212, 0.2219, 0.2244, 0.2395",\
                 "0.2785, 0.2615, 0.2412, 0.2283, 0.2225, 0.2203, 0.2209, 0.2212, 0.2234, 0.2391",\
                 "0.2771, 0.2603, 0.2392, 0.2269, 0.2209, 0.219, 0.2182, 0.2199, 0.2237, 0.2387",\
                 "0.2815, 0.2649, 0.2438, 0.2304, 0.2236, 0.2216, 0.2215, 0.2219, 0.2251, 0.2421",\
                 "0.3086, 0.2901, 0.2666, 0.25, 0.2402, 0.2362, 0.2344, 0.2351, 0.2367, 0.2574",\
                 "0.3532, 0.3321, 0.3031, 0.2848, 0.2711, 0.2635, 0.2618, 0.2598, 0.2622, 0.2859",\
                 "0.4129, 0.3898, 0.3566, 0.3317, 0.3168, 0.3068, 0.3004, 0.3, 0.2989, 0.33",\
                 "0.4908, 0.4657, 0.4261, 0.397, 0.3745, 0.3645, 0.3578, 0.3518, 0.3536, 0.395",\
                 "0.5865, 0.5587, 0.513, 0.4783, 0.4521, 0.4338, 0.4281, 0.4234, 0.4247, 0.4869",\
                 "0.6993, 0.6694, 0.6169, 0.5779, 0.5471, 0.5256, 0.5109, 0.5058, 0.5134, 0.6166");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4105, 0.3989, 0.3845, 0.3777, 0.3743, 0.3722, 0.371, 0.3702, 0.3697, 0.3693",\
                 "0.4109, 0.3993, 0.3848, 0.3782, 0.3747, 0.3726, 0.3714, 0.3706, 0.3701, 0.3697",\
                 "0.4113, 0.3996, 0.3849, 0.3782, 0.3748, 0.3728, 0.3717, 0.3709, 0.3704, 0.37",\
                 "0.424, 0.4113, 0.394, 0.3855, 0.3813, 0.3789, 0.3775, 0.3766, 0.3761, 0.3757",\
                 "0.4659, 0.4497, 0.4252, 0.4111, 0.4032, 0.3987, 0.3961, 0.3945, 0.3934, 0.3927",\
                 "0.5271, 0.5079, 0.4747, 0.4537, 0.4413, 0.4339, 0.4294, 0.4266, 0.4247, 0.4234",\
                 "0.6077, 0.5857, 0.5437, 0.5149, 0.4968, 0.4857, 0.4787, 0.4741, 0.471, 0.4689",\
                 "0.7053, 0.681, 0.6307, 0.5931, 0.5688, 0.553, 0.5427, 0.5359, 0.5312, 0.5279",\
                 "0.8192, 0.7931, 0.7353, 0.6882, 0.657, 0.6358, 0.6217, 0.6122, 0.6056, 0.6009",\
                 "0.9472, 0.9194, 0.855, 0.7979, 0.7592, 0.7324, 0.7139, 0.7012, 0.6922, 0.6856");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4105, 0.3989, 0.3845, 0.3777, 0.3743, 0.3722, 0.371, 0.3702, 0.3697, 0.3693",\
                 "0.4109, 0.3993, 0.3848, 0.3782, 0.3747, 0.3726, 0.3714, 0.3706, 0.3701, 0.3697",\
                 "0.4113, 0.3996, 0.3849, 0.3782, 0.3748, 0.3728, 0.3717, 0.3709, 0.3704, 0.37",\
                 "0.424, 0.4113, 0.394, 0.3855, 0.3813, 0.3789, 0.3775, 0.3766, 0.3761, 0.3757",\
                 "0.4659, 0.4497, 0.4252, 0.4111, 0.4032, 0.3987, 0.3961, 0.3945, 0.3934, 0.3927",\
                 "0.5271, 0.5079, 0.4747, 0.4537, 0.4413, 0.4339, 0.4294, 0.4266, 0.4247, 0.4234",\
                 "0.6077, 0.5857, 0.5437, 0.5149, 0.4968, 0.4857, 0.4787, 0.4741, 0.471, 0.4689",\
                 "0.7053, 0.681, 0.6307, 0.5931, 0.5688, 0.553, 0.5427, 0.5359, 0.5312, 0.5279",\
                 "0.8192, 0.7931, 0.7353, 0.6882, 0.657, 0.6358, 0.6217, 0.6122, 0.6056, 0.6009",\
                 "0.9472, 0.9194, 0.855, 0.7979, 0.7592, 0.7324, 0.7139, 0.7012, 0.6922, 0.6856");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4105, 0.3989, 0.3845, 0.3777, 0.3743, 0.3722, 0.371, 0.3702, 0.3697, 0.3693",\
                 "0.4109, 0.3993, 0.3848, 0.3782, 0.3747, 0.3726, 0.3714, 0.3706, 0.3701, 0.3697",\
                 "0.4113, 0.3996, 0.3849, 0.3782, 0.3748, 0.3728, 0.3717, 0.3709, 0.3704, 0.37",\
                 "0.424, 0.4113, 0.3939, 0.3855, 0.3813, 0.3789, 0.3775, 0.3766, 0.3761, 0.3757",\
                 "0.4659, 0.4497, 0.4252, 0.411, 0.4032, 0.3987, 0.3962, 0.3945, 0.3935, 0.3927",\
                 "0.5271, 0.5079, 0.4747, 0.4537, 0.4413, 0.4339, 0.4294, 0.4266, 0.4247, 0.4234",\
                 "0.6078, 0.5857, 0.5438, 0.5148, 0.4968, 0.4857, 0.4787, 0.474, 0.471, 0.4689",\
                 "0.7053, 0.681, 0.6307, 0.5932, 0.5688, 0.5531, 0.5428, 0.5359, 0.5312, 0.528",\
                 "0.8193, 0.7931, 0.7353, 0.6882, 0.6569, 0.6359, 0.6218, 0.6123, 0.6056, 0.6009",\
                 "0.9471, 0.9194, 0.855, 0.7979, 0.7592, 0.7324, 0.7139, 0.7011, 0.692, 0.6856");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4105, 0.3989, 0.3845, 0.3777, 0.3743, 0.3722, 0.371, 0.3702, 0.3697, 0.3693",\
                 "0.4109, 0.3993, 0.3848, 0.3782, 0.3747, 0.3726, 0.3714, 0.3706, 0.3701, 0.3697",\
                 "0.4113, 0.3996, 0.3849, 0.3782, 0.3748, 0.3728, 0.3717, 0.3709, 0.3704, 0.37",\
                 "0.424, 0.4113, 0.3939, 0.3855, 0.3813, 0.3789, 0.3775, 0.3766, 0.3761, 0.3757",\
                 "0.4659, 0.4497, 0.4252, 0.411, 0.4032, 0.3987, 0.3962, 0.3945, 0.3935, 0.3927",\
                 "0.5271, 0.5079, 0.4747, 0.4537, 0.4413, 0.4339, 0.4294, 0.4266, 0.4247, 0.4234",\
                 "0.6078, 0.5857, 0.5438, 0.5148, 0.4968, 0.4857, 0.4787, 0.474, 0.471, 0.4689",\
                 "0.7053, 0.681, 0.6307, 0.5932, 0.5688, 0.5531, 0.5428, 0.5359, 0.5312, 0.528",\
                 "0.8193, 0.7931, 0.7353, 0.6882, 0.6569, 0.6359, 0.6218, 0.6123, 0.6056, 0.6009",\
                 "0.9471, 0.9194, 0.855, 0.7979, 0.7592, 0.7324, 0.7139, 0.7011, 0.692, 0.6856");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3432, 0.332, 0.3182, 0.3116, 0.3084, 0.3063, 0.3052, 0.3046, 0.304, 0.3036",\
                 "0.3425, 0.3312, 0.3175, 0.311, 0.3076, 0.3056, 0.3045, 0.3037, 0.3032, 0.3029",\
                 "0.3427, 0.3314, 0.3173, 0.3108, 0.3074, 0.3056, 0.3045, 0.3038, 0.3034, 0.303",\
                 "0.3543, 0.342, 0.3254, 0.3171, 0.3131, 0.3108, 0.3095, 0.3087, 0.308, 0.3078",\
                 "0.3928, 0.3772, 0.3536, 0.34, 0.3322, 0.3282, 0.3256, 0.324, 0.323, 0.3223",\
                 "0.4495, 0.4312, 0.3995, 0.379, 0.367, 0.3601, 0.3556, 0.3529, 0.3511, 0.3498",\
                 "0.5259, 0.5048, 0.4648, 0.4369, 0.4194, 0.4088, 0.4019, 0.3975, 0.3945, 0.3924",\
                 "0.6214, 0.5981, 0.5501, 0.5135, 0.4899, 0.4748, 0.4648, 0.4582, 0.4537, 0.4505",\
                 "0.7352, 0.7099, 0.6548, 0.6093, 0.5788, 0.5583, 0.5447, 0.5353, 0.529, 0.5244",\
                 "0.8675, 0.8406, 0.7791, 0.7244, 0.6864, 0.6604, 0.6423, 0.6299, 0.621, 0.6149");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2793, 0.2629, 0.242, 0.2292, 0.2234, 0.221, 0.2212, 0.2219, 0.2244, 0.2395",\
                 "0.2785, 0.2615, 0.2412, 0.2283, 0.2225, 0.2203, 0.2209, 0.2212, 0.2234, 0.2391",\
                 "0.2771, 0.2603, 0.2396, 0.2269, 0.2209, 0.219, 0.2182, 0.2199, 0.2234, 0.2387",\
                 "0.2815, 0.2649, 0.2438, 0.2304, 0.2236, 0.2216, 0.2215, 0.2219, 0.2251, 0.2421",\
                 "0.3086, 0.2901, 0.2671, 0.25, 0.2402, 0.2362, 0.2347, 0.2351, 0.2367, 0.2574",\
                 "0.3532, 0.3321, 0.3035, 0.2848, 0.2719, 0.2642, 0.2618, 0.2598, 0.2622, 0.2859",\
                 "0.4129, 0.3897, 0.356, 0.332, 0.3166, 0.3071, 0.3011, 0.3, 0.2989, 0.33",\
                 "0.4907, 0.4651, 0.426, 0.3965, 0.3748, 0.3642, 0.3578, 0.3528, 0.3503, 0.395",\
                 "0.5865, 0.5587, 0.5132, 0.4786, 0.4523, 0.4338, 0.4278, 0.4234, 0.425, 0.4869",\
                 "0.6993, 0.6694, 0.6164, 0.5778, 0.5476, 0.5256, 0.5093, 0.5058, 0.5134, 0.6166");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&!SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3432, 0.332, 0.3182, 0.3116, 0.3084, 0.3063, 0.3052, 0.3046, 0.304, 0.3036",\
                 "0.3425, 0.3312, 0.3175, 0.311, 0.3076, 0.3056, 0.3045, 0.3037, 0.3032, 0.3029",\
                 "0.3427, 0.3314, 0.3173, 0.3108, 0.3074, 0.3056, 0.3045, 0.3038, 0.3034, 0.303",\
                 "0.3543, 0.342, 0.3254, 0.3171, 0.3131, 0.3108, 0.3095, 0.3087, 0.308, 0.3078",\
                 "0.3928, 0.3771, 0.3537, 0.34, 0.3322, 0.3281, 0.3256, 0.3241, 0.323, 0.3223",\
                 "0.4498, 0.4312, 0.3995, 0.379, 0.367, 0.3599, 0.3557, 0.3529, 0.3511, 0.3498",\
                 "0.526, 0.5049, 0.4648, 0.4369, 0.4194, 0.4087, 0.4019, 0.3975, 0.3945, 0.3924",\
                 "0.6213, 0.5981, 0.5501, 0.5136, 0.49, 0.4748, 0.4647, 0.4582, 0.4537, 0.4506",\
                 "0.7354, 0.71, 0.6548, 0.6093, 0.5785, 0.5583, 0.5447, 0.5353, 0.529, 0.5244",\
                 "0.8675, 0.8406, 0.7791, 0.7243, 0.6864, 0.6604, 0.6423, 0.6298, 0.621, 0.6149");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.2793, 0.2629, 0.242, 0.2292, 0.2234, 0.221, 0.2212, 0.2219, 0.2244, 0.2395",\
                 "0.2785, 0.2615, 0.2412, 0.2283, 0.2225, 0.2203, 0.2209, 0.2212, 0.2234, 0.2391",\
                 "0.2771, 0.2603, 0.2396, 0.2269, 0.2209, 0.219, 0.2182, 0.2199, 0.2234, 0.2387",\
                 "0.2815, 0.2649, 0.2438, 0.2304, 0.2236, 0.2216, 0.2215, 0.2219, 0.2251, 0.2421",\
                 "0.3086, 0.2905, 0.2671, 0.25, 0.2402, 0.2365, 0.2344, 0.2351, 0.237, 0.257",\
                 "0.353, 0.3322, 0.3032, 0.2847, 0.2711, 0.2645, 0.2608, 0.2608, 0.2642, 0.2863",\
                 "0.4129, 0.3898, 0.3566, 0.3314, 0.3164, 0.3068, 0.3011, 0.3, 0.2989, 0.33",\
                 "0.4908, 0.4656, 0.4261, 0.397, 0.3744, 0.3645, 0.3578, 0.3528, 0.353, 0.3953",\
                 "0.5865, 0.5587, 0.5132, 0.4783, 0.4521, 0.4338, 0.4281, 0.4234, 0.4247, 0.4869",\
                 "0.6994, 0.6691, 0.6166, 0.578, 0.5479, 0.5233, 0.5093, 0.5058, 0.5124, 0.6166");
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4109, 0.3993, 0.3847, 0.3781, 0.3746, 0.3726, 0.3713, 0.3705, 0.37, 0.3697",\
                 "0.4113, 0.3997, 0.3852, 0.3785, 0.375, 0.373, 0.3717, 0.3709, 0.3704, 0.3701",\
                 "0.4118, 0.4, 0.3853, 0.3786, 0.3752, 0.3732, 0.372, 0.3712, 0.3707, 0.3704",\
                 "0.4242, 0.4115, 0.3942, 0.3858, 0.3815, 0.3791, 0.3777, 0.3769, 0.3763, 0.3759",\
                 "0.4659, 0.4497, 0.4251, 0.4108, 0.4031, 0.3988, 0.3962, 0.3945, 0.3934, 0.3927",\
                 "0.5269, 0.5077, 0.4746, 0.4535, 0.4411, 0.4337, 0.4292, 0.4264, 0.4245, 0.4232",\
                 "0.6073, 0.5853, 0.5435, 0.5144, 0.4965, 0.4854, 0.4783, 0.4737, 0.4706, 0.4685",\
                 "0.7049, 0.6807, 0.6303, 0.5928, 0.5684, 0.5527, 0.5424, 0.5356, 0.5309, 0.5276",\
                 "0.8189, 0.7928, 0.7349, 0.6878, 0.6566, 0.6355, 0.6214, 0.6119, 0.6052, 0.6005",\
                 "0.9468, 0.9191, 0.8546, 0.7976, 0.7588, 0.7321, 0.7136, 0.7008, 0.6918, 0.6853");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4109, 0.3993, 0.3847, 0.3781, 0.3746, 0.3726, 0.3713, 0.3705, 0.37, 0.3697",\
                 "0.4113, 0.3997, 0.3852, 0.3785, 0.375, 0.373, 0.3717, 0.3709, 0.3704, 0.3701",\
                 "0.4118, 0.4, 0.3853, 0.3786, 0.3752, 0.3732, 0.372, 0.3712, 0.3707, 0.3704",\
                 "0.4242, 0.4115, 0.3942, 0.3858, 0.3815, 0.3791, 0.3777, 0.3769, 0.3763, 0.3759",\
                 "0.4659, 0.4497, 0.4251, 0.4108, 0.4031, 0.3988, 0.3962, 0.3945, 0.3934, 0.3927",\
                 "0.5269, 0.5077, 0.4746, 0.4535, 0.4411, 0.4337, 0.4292, 0.4264, 0.4245, 0.4232",\
                 "0.6073, 0.5853, 0.5435, 0.5144, 0.4965, 0.4854, 0.4783, 0.4737, 0.4706, 0.4685",\
                 "0.7049, 0.6807, 0.6303, 0.5928, 0.5684, 0.5527, 0.5424, 0.5356, 0.5309, 0.5276",\
                 "0.8189, 0.7928, 0.7349, 0.6878, 0.6566, 0.6355, 0.6214, 0.6119, 0.6052, 0.6005",\
                 "0.9468, 0.9191, 0.8546, 0.7976, 0.7588, 0.7321, 0.7136, 0.7008, 0.6918, 0.6853");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "RN" ;
        when : "CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4105, 0.3989, 0.3845, 0.3777, 0.3743, 0.3722, 0.371, 0.3702, 0.3697, 0.3693",\
                 "0.4109, 0.3993, 0.3848, 0.3781, 0.3747, 0.3726, 0.3714, 0.3706, 0.3701, 0.3697",\
                 "0.4114, 0.3996, 0.3849, 0.3782, 0.3748, 0.3728, 0.3716, 0.3709, 0.3704, 0.37",\
                 "0.424, 0.4112, 0.394, 0.3855, 0.3813, 0.3789, 0.3775, 0.3766, 0.3761, 0.3757",\
                 "0.4659, 0.4498, 0.4252, 0.411, 0.4031, 0.3988, 0.3961, 0.3945, 0.3934, 0.3927",\
                 "0.5271, 0.5079, 0.4748, 0.4537, 0.4413, 0.434, 0.4294, 0.4266, 0.4247, 0.4234",\
                 "0.6077, 0.5857, 0.5437, 0.5149, 0.4968, 0.4857, 0.4787, 0.4741, 0.471, 0.4689",\
                 "0.7053, 0.681, 0.6307, 0.5931, 0.5688, 0.553, 0.5428, 0.5359, 0.5312, 0.5279",\
                 "0.8193, 0.7931, 0.7351, 0.6882, 0.6568, 0.6358, 0.6218, 0.6122, 0.6056, 0.6008",\
                 "0.9472, 0.9194, 0.855, 0.7978, 0.7591, 0.7324, 0.714, 0.7011, 0.6921, 0.6856");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4105, 0.3989, 0.3845, 0.3777, 0.3743, 0.3722, 0.371, 0.3702, 0.3697, 0.3693",\
                 "0.4109, 0.3993, 0.3848, 0.3781, 0.3747, 0.3726, 0.3714, 0.3706, 0.3701, 0.3697",\
                 "0.4114, 0.3996, 0.3849, 0.3782, 0.3748, 0.3728, 0.3716, 0.3709, 0.3704, 0.37",\
                 "0.424, 0.4112, 0.394, 0.3855, 0.3813, 0.3789, 0.3775, 0.3766, 0.3761, 0.3757",\
                 "0.4659, 0.4498, 0.4252, 0.411, 0.4031, 0.3988, 0.3961, 0.3945, 0.3934, 0.3927",\
                 "0.5271, 0.5079, 0.4748, 0.4537, 0.4413, 0.434, 0.4294, 0.4266, 0.4247, 0.4234",\
                 "0.6077, 0.5857, 0.5437, 0.5149, 0.4968, 0.4857, 0.4787, 0.4741, 0.471, 0.4689",\
                 "0.7053, 0.681, 0.6307, 0.5931, 0.5688, 0.553, 0.5428, 0.5359, 0.5312, 0.5279",\
                 "0.8193, 0.7931, 0.7351, 0.6882, 0.6568, 0.6358, 0.6218, 0.6122, 0.6056, 0.6008",\
                 "0.9472, 0.9194, 0.855, 0.7978, 0.7591, 0.7324, 0.714, 0.7011, 0.6921, 0.6856");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3707, 0.3531, 0.3307, 0.3164, 0.3078, 0.3046, 0.3045, 0.3066, 0.3078, 0.3248",\
                 "0.3705, 0.3531, 0.3304, 0.3166, 0.3079, 0.305, 0.3046, 0.3069, 0.3075, 0.3271",\
                 "0.3711, 0.3538, 0.3312, 0.3161, 0.3083, 0.3053, 0.3048, 0.3062, 0.3074, 0.3279",\
                 "0.3743, 0.3569, 0.3344, 0.3197, 0.3116, 0.3093, 0.3079, 0.3096, 0.3115, 0.333",\
                 "0.3831, 0.3659, 0.3431, 0.328, 0.3201, 0.3177, 0.3162, 0.3169, 0.3209, 0.3443",\
                 "0.3988, 0.3815, 0.3584, 0.3431, 0.3345, 0.331, 0.3319, 0.3331, 0.3341, 0.3665",\
                 "0.4211, 0.4031, 0.3798, 0.3647, 0.3562, 0.3519, 0.3511, 0.352, 0.3545, 0.4003",\
                 "0.4511, 0.4329, 0.4092, 0.3921, 0.3834, 0.3802, 0.3787, 0.3786, 0.3848, 0.4522",\
                 "0.4877, 0.4692, 0.4447, 0.4279, 0.4162, 0.413, 0.4139, 0.414, 0.4219, 0.5286",\
                 "0.528, 0.5089, 0.4837, 0.4656, 0.4536, 0.4477, 0.4466, 0.4515, 0.4724, 0.6515");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3707, 0.3531, 0.3307, 0.3164, 0.3078, 0.3046, 0.3045, 0.3066, 0.3078, 0.3248",\
                 "0.3705, 0.3531, 0.3304, 0.3166, 0.3079, 0.305, 0.3046, 0.3069, 0.3075, 0.3271",\
                 "0.3711, 0.3538, 0.3312, 0.3161, 0.3083, 0.3053, 0.3048, 0.3062, 0.3074, 0.3279",\
                 "0.3743, 0.3569, 0.3344, 0.3197, 0.3116, 0.3093, 0.3079, 0.3096, 0.3115, 0.333",\
                 "0.3831, 0.3659, 0.3431, 0.328, 0.3201, 0.3177, 0.3162, 0.3169, 0.3209, 0.3443",\
                 "0.3988, 0.3815, 0.3584, 0.3431, 0.3345, 0.331, 0.3319, 0.3331, 0.3341, 0.3665",\
                 "0.4211, 0.4031, 0.3798, 0.3647, 0.3562, 0.3519, 0.3511, 0.352, 0.3545, 0.4003",\
                 "0.4511, 0.4329, 0.4092, 0.3921, 0.3834, 0.3802, 0.3787, 0.3786, 0.3848, 0.4522",\
                 "0.4877, 0.4692, 0.4447, 0.4279, 0.4162, 0.413, 0.4139, 0.414, 0.4219, 0.5286",\
                 "0.528, 0.5089, 0.4837, 0.4656, 0.4536, 0.4477, 0.4466, 0.4515, 0.4724, 0.6515");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3707, 0.3531, 0.3307, 0.316, 0.3081, 0.3047, 0.3039, 0.3066, 0.3075, 0.3248",\
                 "0.3705, 0.3531, 0.3304, 0.3166, 0.3079, 0.305, 0.3046, 0.3069, 0.3075, 0.3271",\
                 "0.3711, 0.3538, 0.3312, 0.3162, 0.3083, 0.3053, 0.3048, 0.3062, 0.3074, 0.3279",\
                 "0.3743, 0.3569, 0.3344, 0.3197, 0.3115, 0.3093, 0.3078, 0.3095, 0.3115, 0.333",\
                 "0.3832, 0.3659, 0.3432, 0.3281, 0.3201, 0.3177, 0.3182, 0.3169, 0.3209, 0.3443",\
                 "0.3989, 0.3815, 0.3585, 0.3429, 0.3345, 0.331, 0.3303, 0.3311, 0.3351, 0.3661",\
                 "0.4211, 0.4031, 0.3798, 0.3649, 0.356, 0.3523, 0.3508, 0.3514, 0.3558, 0.4006",\
                 "0.4508, 0.4323, 0.4093, 0.3921, 0.3837, 0.3801, 0.3787, 0.3783, 0.3848, 0.4521",\
                 "0.4877, 0.4692, 0.4447, 0.428, 0.4162, 0.413, 0.4139, 0.4127, 0.4219, 0.5267",\
                 "0.528, 0.5089, 0.4837, 0.4659, 0.4538, 0.4487, 0.4482, 0.4522, 0.4734, 0.6494");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3707, 0.3531, 0.3307, 0.316, 0.3081, 0.3047, 0.3039, 0.3066, 0.3075, 0.3248",\
                 "0.3705, 0.3531, 0.3304, 0.3166, 0.3079, 0.305, 0.3046, 0.3069, 0.3075, 0.3271",\
                 "0.3711, 0.3538, 0.3312, 0.3162, 0.3083, 0.3053, 0.3048, 0.3062, 0.3074, 0.3279",\
                 "0.3743, 0.3569, 0.3344, 0.3197, 0.3115, 0.3093, 0.3078, 0.3095, 0.3115, 0.333",\
                 "0.3832, 0.3659, 0.3432, 0.3281, 0.3201, 0.3177, 0.3182, 0.3169, 0.3209, 0.3443",\
                 "0.3989, 0.3815, 0.3585, 0.3429, 0.3345, 0.331, 0.3303, 0.3311, 0.3351, 0.3661",\
                 "0.4211, 0.4031, 0.3798, 0.3649, 0.356, 0.3523, 0.3508, 0.3514, 0.3558, 0.4006",\
                 "0.4508, 0.4323, 0.4093, 0.3921, 0.3837, 0.3801, 0.3787, 0.3783, 0.3848, 0.4521",\
                 "0.4877, 0.4692, 0.4447, 0.428, 0.4162, 0.413, 0.4139, 0.4127, 0.4219, 0.5267",\
                 "0.528, 0.5089, 0.4837, 0.4659, 0.4538, 0.4487, 0.4482, 0.4522, 0.4734, 0.6494");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3707, 0.3531, 0.3307, 0.316, 0.3081, 0.3047, 0.3046, 0.3049, 0.3075, 0.3252",\
                 "0.3705, 0.3532, 0.3307, 0.316, 0.3079, 0.305, 0.3046, 0.3069, 0.3075, 0.3271",\
                 "0.3711, 0.3538, 0.3312, 0.3161, 0.3083, 0.3053, 0.3048, 0.3062, 0.3074, 0.3279",\
                 "0.3743, 0.3569, 0.3344, 0.3197, 0.3116, 0.3093, 0.3079, 0.3096, 0.3115, 0.333",\
                 "0.3832, 0.3659, 0.3431, 0.3279, 0.3199, 0.3173, 0.3162, 0.3189, 0.319, 0.3459",\
                 "0.399, 0.3813, 0.3587, 0.3433, 0.3346, 0.3317, 0.3319, 0.3331, 0.3347, 0.3655",\
                 "0.4211, 0.4031, 0.3796, 0.3647, 0.3558, 0.3522, 0.3511, 0.352, 0.3545, 0.4003",\
                 "0.4513, 0.4323, 0.4089, 0.3921, 0.3832, 0.3805, 0.3787, 0.3779, 0.3848, 0.4521",\
                 "0.4877, 0.4692, 0.4447, 0.4279, 0.4164, 0.413, 0.4139, 0.4127, 0.4222, 0.5283",\
                 "0.528, 0.5089, 0.4834, 0.4653, 0.4541, 0.448, 0.4482, 0.4532, 0.4734, 0.6518");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3707, 0.3531, 0.3307, 0.316, 0.3081, 0.3047, 0.3046, 0.3049, 0.3075, 0.3252",\
                 "0.3705, 0.3532, 0.3307, 0.316, 0.3079, 0.305, 0.3046, 0.3069, 0.3075, 0.3271",\
                 "0.3711, 0.3538, 0.3312, 0.3161, 0.3083, 0.3053, 0.3048, 0.3062, 0.3074, 0.3279",\
                 "0.3743, 0.3569, 0.3344, 0.3197, 0.3116, 0.3093, 0.3079, 0.3096, 0.3115, 0.333",\
                 "0.3832, 0.3659, 0.3431, 0.3279, 0.3199, 0.3173, 0.3162, 0.3189, 0.319, 0.3459",\
                 "0.399, 0.3813, 0.3587, 0.3433, 0.3346, 0.3317, 0.3319, 0.3331, 0.3347, 0.3655",\
                 "0.4211, 0.4031, 0.3796, 0.3647, 0.3558, 0.3522, 0.3511, 0.352, 0.3545, 0.4003",\
                 "0.4513, 0.4323, 0.4089, 0.3921, 0.3832, 0.3805, 0.3787, 0.3779, 0.3848, 0.4521",\
                 "0.4877, 0.4692, 0.4447, 0.4279, 0.4164, 0.413, 0.4139, 0.4127, 0.4222, 0.5283",\
                 "0.528, 0.5089, 0.4834, 0.4653, 0.4541, 0.448, 0.4482, 0.4532, 0.4734, 0.6518");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3706, 0.3532, 0.3309, 0.3159, 0.3082, 0.3049, 0.3041, 0.3051, 0.3084, 0.3247",\
                 "0.3705, 0.3531, 0.3308, 0.316, 0.3078, 0.3049, 0.3045, 0.3068, 0.3074, 0.327",\
                 "0.371, 0.3534, 0.3312, 0.3165, 0.3082, 0.306, 0.3059, 0.3072, 0.3095, 0.3273",\
                 "0.3741, 0.3569, 0.3344, 0.3202, 0.3119, 0.3096, 0.3092, 0.3085, 0.3115, 0.3363",\
                 "0.383, 0.3659, 0.3431, 0.3279, 0.3204, 0.3168, 0.3184, 0.3188, 0.3214, 0.3514",\
                 "0.3988, 0.3813, 0.3586, 0.3433, 0.3347, 0.331, 0.3316, 0.3328, 0.335, 0.3668",\
                 "0.421, 0.4035, 0.3804, 0.3651, 0.3563, 0.3525, 0.3514, 0.3513, 0.357, 0.4005",\
                 "0.4511, 0.433, 0.4092, 0.3923, 0.3832, 0.3805, 0.3781, 0.3796, 0.3872, 0.4503",\
                 "0.4876, 0.4692, 0.4442, 0.4277, 0.4155, 0.4135, 0.414, 0.4145, 0.4233, 0.5273",\
                 "0.5282, 0.5093, 0.484, 0.4656, 0.4552, 0.4488, 0.4461, 0.4527, 0.4722, 0.6513");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3706, 0.3532, 0.3309, 0.3159, 0.3082, 0.3049, 0.3041, 0.3051, 0.3084, 0.3247",\
                 "0.3705, 0.3531, 0.3308, 0.316, 0.3078, 0.3049, 0.3045, 0.3068, 0.3074, 0.327",\
                 "0.371, 0.3534, 0.3312, 0.3165, 0.3082, 0.306, 0.3059, 0.3072, 0.3095, 0.3273",\
                 "0.3741, 0.3569, 0.3344, 0.3202, 0.3119, 0.3096, 0.3092, 0.3085, 0.3115, 0.3363",\
                 "0.383, 0.3659, 0.3431, 0.3279, 0.3204, 0.3168, 0.3184, 0.3188, 0.3214, 0.3514",\
                 "0.3988, 0.3813, 0.3586, 0.3433, 0.3347, 0.331, 0.3316, 0.3328, 0.335, 0.3668",\
                 "0.421, 0.4035, 0.3804, 0.3651, 0.3563, 0.3525, 0.3514, 0.3513, 0.357, 0.4005",\
                 "0.4511, 0.433, 0.4092, 0.3923, 0.3832, 0.3805, 0.3781, 0.3796, 0.3872, 0.4503",\
                 "0.4876, 0.4692, 0.4442, 0.4277, 0.4155, 0.4135, 0.414, 0.4145, 0.4233, 0.5273",\
                 "0.5282, 0.5093, 0.484, 0.4656, 0.4552, 0.4488, 0.4461, 0.4527, 0.4722, 0.6513");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3706, 0.3532, 0.3309, 0.3159, 0.3082, 0.3049, 0.3041, 0.3051, 0.3084, 0.3247",\
                 "0.3705, 0.3531, 0.3308, 0.316, 0.3078, 0.3049, 0.3045, 0.3068, 0.3074, 0.327",\
                 "0.371, 0.3534, 0.3312, 0.3165, 0.3082, 0.306, 0.3059, 0.3072, 0.3095, 0.3273",\
                 "0.3741, 0.3569, 0.3344, 0.3198, 0.3125, 0.3096, 0.3092, 0.3085, 0.3115, 0.3363",\
                 "0.383, 0.3659, 0.3431, 0.3279, 0.3204, 0.3168, 0.3181, 0.3188, 0.3214, 0.351",\
                 "0.3989, 0.3813, 0.3584, 0.3428, 0.3344, 0.331, 0.3296, 0.3315, 0.3341, 0.3677",\
                 "0.4212, 0.4035, 0.3798, 0.3648, 0.3563, 0.3525, 0.3514, 0.3513, 0.357, 0.4021",\
                 "0.4511, 0.4329, 0.4092, 0.3922, 0.3832, 0.3805, 0.3781, 0.3777, 0.3872, 0.4503",\
                 "0.4877, 0.4691, 0.4448, 0.4272, 0.4159, 0.4128, 0.4137, 0.4138, 0.4207, 0.5253",\
                 "0.528, 0.5089, 0.4835, 0.4649, 0.4539, 0.4491, 0.4487, 0.453, 0.4739, 0.6501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3706, 0.3532, 0.3309, 0.3159, 0.3082, 0.3049, 0.3041, 0.3051, 0.3084, 0.3247",\
                 "0.3705, 0.3531, 0.3308, 0.316, 0.3078, 0.3049, 0.3045, 0.3068, 0.3074, 0.327",\
                 "0.371, 0.3534, 0.3312, 0.3165, 0.3082, 0.306, 0.3059, 0.3072, 0.3095, 0.3273",\
                 "0.3741, 0.3569, 0.3344, 0.3198, 0.3125, 0.3096, 0.3092, 0.3085, 0.3115, 0.3363",\
                 "0.383, 0.3659, 0.3431, 0.3279, 0.3204, 0.3168, 0.3181, 0.3188, 0.3214, 0.351",\
                 "0.3989, 0.3813, 0.3584, 0.3428, 0.3344, 0.331, 0.3296, 0.3315, 0.3341, 0.3677",\
                 "0.4212, 0.4035, 0.3798, 0.3648, 0.3563, 0.3525, 0.3514, 0.3513, 0.357, 0.4021",\
                 "0.4511, 0.4329, 0.4092, 0.3922, 0.3832, 0.3805, 0.3781, 0.3777, 0.3872, 0.4503",\
                 "0.4877, 0.4691, 0.4448, 0.4272, 0.4159, 0.4128, 0.4137, 0.4138, 0.4207, 0.5253",\
                 "0.528, 0.5089, 0.4835, 0.4649, 0.4539, 0.4491, 0.4487, 0.453, 0.4739, 0.6501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3706, 0.3532, 0.3309, 0.3159, 0.3082, 0.3049, 0.3041, 0.3051, 0.3084, 0.3247",\
                 "0.3705, 0.3531, 0.3308, 0.316, 0.3078, 0.3049, 0.3045, 0.3068, 0.3074, 0.327",\
                 "0.371, 0.3534, 0.3312, 0.3165, 0.3082, 0.306, 0.3059, 0.3072, 0.3095, 0.3273",\
                 "0.3741, 0.3569, 0.3344, 0.3198, 0.3119, 0.3096, 0.3092, 0.3085, 0.3115, 0.3363",\
                 "0.383, 0.3659, 0.3431, 0.3279, 0.3204, 0.3168, 0.3177, 0.3188, 0.3214, 0.351",\
                 "0.3988, 0.3813, 0.3584, 0.3428, 0.3344, 0.3307, 0.3312, 0.3308, 0.3341, 0.3677",\
                 "0.4212, 0.4035, 0.3798, 0.3648, 0.3563, 0.3525, 0.3514, 0.3513, 0.357, 0.4005",\
                 "0.4511, 0.433, 0.4092, 0.3923, 0.3832, 0.3805, 0.3781, 0.3777, 0.3872, 0.4503",\
                 "0.4877, 0.4691, 0.4448, 0.4277, 0.4157, 0.4132, 0.4137, 0.4138, 0.4213, 0.5259",\
                 "0.528, 0.5089, 0.4835, 0.4649, 0.4539, 0.4491, 0.4487, 0.453, 0.4739, 0.6501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3706, 0.3532, 0.3309, 0.3159, 0.3082, 0.3049, 0.3041, 0.3051, 0.3084, 0.3247",\
                 "0.3705, 0.3531, 0.3308, 0.316, 0.3078, 0.3049, 0.3045, 0.3068, 0.3074, 0.327",\
                 "0.371, 0.3534, 0.3312, 0.3165, 0.3082, 0.306, 0.3059, 0.3072, 0.3095, 0.3273",\
                 "0.3741, 0.3569, 0.3344, 0.3198, 0.3119, 0.3096, 0.3092, 0.3085, 0.3115, 0.3363",\
                 "0.383, 0.3659, 0.3431, 0.3279, 0.3204, 0.3168, 0.3177, 0.3188, 0.3214, 0.351",\
                 "0.3988, 0.3813, 0.3584, 0.3428, 0.3344, 0.3307, 0.3312, 0.3308, 0.3341, 0.3677",\
                 "0.4212, 0.4035, 0.3798, 0.3648, 0.3563, 0.3525, 0.3514, 0.3513, 0.357, 0.4005",\
                 "0.4511, 0.433, 0.4092, 0.3923, 0.3832, 0.3805, 0.3781, 0.3777, 0.3872, 0.4503",\
                 "0.4877, 0.4691, 0.4448, 0.4277, 0.4157, 0.4132, 0.4137, 0.4138, 0.4213, 0.5259",\
                 "0.528, 0.5089, 0.4835, 0.4649, 0.4539, 0.4491, 0.4487, 0.453, 0.4739, 0.6501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3707, 0.3531, 0.3307, 0.316, 0.3081, 0.3047, 0.3039, 0.3066, 0.3075, 0.3248",\
                 "0.3705, 0.3531, 0.3304, 0.3166, 0.3079, 0.305, 0.3046, 0.3069, 0.3075, 0.3271",\
                 "0.3712, 0.3538, 0.3312, 0.3162, 0.3083, 0.3053, 0.3048, 0.3062, 0.3075, 0.3279",\
                 "0.3743, 0.3569, 0.3344, 0.3197, 0.3116, 0.3093, 0.3079, 0.3096, 0.3115, 0.333",\
                 "0.3832, 0.3659, 0.3431, 0.3279, 0.3199, 0.318, 0.3176, 0.3169, 0.319, 0.345",\
                 "0.399, 0.3812, 0.3585, 0.3432, 0.3343, 0.331, 0.3306, 0.3308, 0.3351, 0.3661",\
                 "0.4211, 0.4031, 0.3801, 0.365, 0.3566, 0.3523, 0.3515, 0.3517, 0.3581, 0.4019",\
                 "0.4509, 0.4327, 0.4093, 0.3921, 0.3841, 0.3801, 0.3787, 0.3783, 0.3845, 0.4512",\
                 "0.4877, 0.4692, 0.4447, 0.4279, 0.4164, 0.413, 0.4139, 0.414, 0.4219, 0.5303",\
                 "0.528, 0.5089, 0.4837, 0.4659, 0.454, 0.4483, 0.4486, 0.4519, 0.4734, 0.6487");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3707, 0.3531, 0.3307, 0.316, 0.3081, 0.3047, 0.3039, 0.3066, 0.3075, 0.3248",\
                 "0.3705, 0.3531, 0.3304, 0.3166, 0.3079, 0.305, 0.3046, 0.3069, 0.3075, 0.3271",\
                 "0.3712, 0.3538, 0.3312, 0.3162, 0.3083, 0.3053, 0.3048, 0.3062, 0.3075, 0.3279",\
                 "0.3743, 0.3569, 0.3344, 0.3197, 0.3116, 0.3093, 0.3079, 0.3096, 0.3115, 0.333",\
                 "0.3832, 0.3659, 0.3431, 0.3279, 0.3199, 0.318, 0.3176, 0.3169, 0.319, 0.345",\
                 "0.399, 0.3812, 0.3585, 0.3432, 0.3343, 0.331, 0.3306, 0.3308, 0.3351, 0.3661",\
                 "0.4211, 0.4031, 0.3801, 0.365, 0.3566, 0.3523, 0.3515, 0.3517, 0.3581, 0.4019",\
                 "0.4509, 0.4327, 0.4093, 0.3921, 0.3841, 0.3801, 0.3787, 0.3783, 0.3845, 0.4512",\
                 "0.4877, 0.4692, 0.4447, 0.4279, 0.4164, 0.413, 0.4139, 0.414, 0.4219, 0.5303",\
                 "0.528, 0.5089, 0.4837, 0.4659, 0.454, 0.4483, 0.4486, 0.4519, 0.4734, 0.6487");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3706, 0.3532, 0.3309, 0.3159, 0.3082, 0.3049, 0.3041, 0.3051, 0.3084, 0.3247",\
                 "0.3706, 0.3531, 0.3308, 0.316, 0.3078, 0.3049, 0.3045, 0.3069, 0.3074, 0.3271",\
                 "0.3709, 0.3533, 0.3311, 0.316, 0.3082, 0.3059, 0.3058, 0.3072, 0.3094, 0.3273",\
                 "0.3742, 0.3568, 0.3344, 0.3201, 0.3126, 0.3093, 0.3088, 0.3099, 0.3115, 0.3326",\
                 "0.383, 0.3656, 0.3431, 0.3277, 0.3202, 0.3165, 0.3184, 0.3188, 0.3214, 0.3514",\
                 "0.3988, 0.3811, 0.3586, 0.3434, 0.3343, 0.331, 0.3296, 0.3308, 0.3351, 0.3664",\
                 "0.421, 0.4035, 0.3804, 0.3651, 0.3563, 0.3521, 0.3514, 0.3513, 0.357, 0.4005",\
                 "0.4512, 0.433, 0.4087, 0.3922, 0.384, 0.3805, 0.3787, 0.3803, 0.3855, 0.4503",\
                 "0.4877, 0.4693, 0.4448, 0.4276, 0.4166, 0.4128, 0.4147, 0.4148, 0.423, 0.5256",\
                 "0.5282, 0.5093, 0.4837, 0.4654, 0.454, 0.4488, 0.4461, 0.4527, 0.4739, 0.6508");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3706, 0.3532, 0.3309, 0.3159, 0.3082, 0.3049, 0.3041, 0.3051, 0.3084, 0.3247",\
                 "0.3706, 0.3531, 0.3308, 0.316, 0.3078, 0.3049, 0.3045, 0.3069, 0.3074, 0.3271",\
                 "0.3709, 0.3533, 0.3311, 0.316, 0.3082, 0.3059, 0.3058, 0.3072, 0.3094, 0.3273",\
                 "0.3742, 0.3568, 0.3344, 0.3201, 0.3126, 0.3093, 0.3088, 0.3099, 0.3115, 0.3326",\
                 "0.383, 0.3656, 0.3431, 0.3277, 0.3202, 0.3165, 0.3184, 0.3188, 0.3214, 0.3514",\
                 "0.3988, 0.3811, 0.3586, 0.3434, 0.3343, 0.331, 0.3296, 0.3308, 0.3351, 0.3664",\
                 "0.421, 0.4035, 0.3804, 0.3651, 0.3563, 0.3521, 0.3514, 0.3513, 0.357, 0.4005",\
                 "0.4512, 0.433, 0.4087, 0.3922, 0.384, 0.3805, 0.3787, 0.3803, 0.3855, 0.4503",\
                 "0.4877, 0.4693, 0.4448, 0.4276, 0.4166, 0.4128, 0.4147, 0.4148, 0.423, 0.5256",\
                 "0.5282, 0.5093, 0.4837, 0.4654, 0.454, 0.4488, 0.4461, 0.4527, 0.4739, 0.6508");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3953, 0.4116",\
                 "0.4565, 0.4393, 0.4172, 0.4032, 0.3951, 0.3922, 0.3914, 0.3921, 0.3953, 0.4143",\
                 "0.4577, 0.4403, 0.4182, 0.4034, 0.3961, 0.3932, 0.3928, 0.3931, 0.3964, 0.4168",\
                 "0.4646, 0.4472, 0.4256, 0.4113, 0.4033, 0.4008, 0.3994, 0.4001, 0.4027, 0.4238",\
                 "0.4825, 0.4654, 0.4429, 0.4286, 0.4203, 0.418, 0.4179, 0.4172, 0.4203, 0.4468",\
                 "0.5125, 0.4949, 0.4728, 0.4573, 0.449, 0.446, 0.4452, 0.4461, 0.449, 0.4823",\
                 "0.5546, 0.5367, 0.5147, 0.5001, 0.4908, 0.4872, 0.4868, 0.489, 0.4909, 0.5374",\
                 "0.6097, 0.5914, 0.5685, 0.5526, 0.5453, 0.5414, 0.54, 0.5415, 0.5488, 0.6161",\
                 "0.6743, 0.6564, 0.633, 0.6169, 0.6062, 0.605, 0.6043, 0.6041, 0.616, 0.7262",\
                 "0.7446, 0.7264, 0.7029, 0.686, 0.6764, 0.672, 0.6706, 0.6774, 0.7, 0.8807");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3953, 0.4116",\
                 "0.4565, 0.4393, 0.4172, 0.4032, 0.3951, 0.3922, 0.3914, 0.3921, 0.3953, 0.4143",\
                 "0.4577, 0.4403, 0.4182, 0.4034, 0.3961, 0.3932, 0.3928, 0.3931, 0.3964, 0.4168",\
                 "0.4646, 0.4472, 0.4256, 0.4113, 0.4033, 0.4008, 0.3994, 0.4001, 0.4027, 0.4238",\
                 "0.4825, 0.4654, 0.4429, 0.4286, 0.4203, 0.418, 0.4179, 0.4172, 0.4203, 0.4468",\
                 "0.5125, 0.4949, 0.4728, 0.4573, 0.449, 0.446, 0.4452, 0.4461, 0.449, 0.4823",\
                 "0.5546, 0.5367, 0.5147, 0.5001, 0.4908, 0.4872, 0.4868, 0.489, 0.4909, 0.5374",\
                 "0.6097, 0.5914, 0.5685, 0.5526, 0.5453, 0.5414, 0.54, 0.5415, 0.5488, 0.6161",\
                 "0.6743, 0.6564, 0.633, 0.6169, 0.6062, 0.605, 0.6043, 0.6041, 0.616, 0.7262",\
                 "0.7446, 0.7264, 0.7029, 0.686, 0.6764, 0.672, 0.6706, 0.6774, 0.7, 0.8807");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4393, 0.4172, 0.4032, 0.3951, 0.3922, 0.3914, 0.3921, 0.3953, 0.4143",\
                 "0.4577, 0.4403, 0.4182, 0.4034, 0.3961, 0.3932, 0.3928, 0.3931, 0.3964, 0.4168",\
                 "0.4646, 0.4472, 0.4257, 0.4113, 0.4033, 0.4002, 0.3994, 0.4001, 0.4027, 0.4255",\
                 "0.4825, 0.4652, 0.4431, 0.428, 0.4203, 0.418, 0.4179, 0.4189, 0.4203, 0.4468",\
                 "0.5125, 0.495, 0.4727, 0.4573, 0.4493, 0.446, 0.4445, 0.4461, 0.4487, 0.4836",\
                 "0.5545, 0.5367, 0.5146, 0.5001, 0.491, 0.4876, 0.4865, 0.4874, 0.4909, 0.5384",\
                 "0.6097, 0.5914, 0.5685, 0.553, 0.5451, 0.5414, 0.5403, 0.5418, 0.5498, 0.6165",\
                 "0.6744, 0.656, 0.6331, 0.6171, 0.6061, 0.6044, 0.6043, 0.6044, 0.6143, 0.7262",\
                 "0.7448, 0.7263, 0.7029, 0.6865, 0.6763, 0.6717, 0.6726, 0.6761, 0.6986, 0.8827");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4393, 0.4172, 0.4032, 0.3951, 0.3922, 0.3914, 0.3921, 0.3953, 0.4143",\
                 "0.4577, 0.4403, 0.4182, 0.4034, 0.3961, 0.3932, 0.3928, 0.3931, 0.3964, 0.4168",\
                 "0.4646, 0.4472, 0.4257, 0.4113, 0.4033, 0.4002, 0.3994, 0.4001, 0.4027, 0.4255",\
                 "0.4825, 0.4652, 0.4431, 0.428, 0.4203, 0.418, 0.4179, 0.4189, 0.4203, 0.4468",\
                 "0.5125, 0.495, 0.4727, 0.4573, 0.4493, 0.446, 0.4445, 0.4461, 0.4487, 0.4836",\
                 "0.5545, 0.5367, 0.5146, 0.5001, 0.491, 0.4876, 0.4865, 0.4874, 0.4909, 0.5384",\
                 "0.6097, 0.5914, 0.5685, 0.553, 0.5451, 0.5414, 0.5403, 0.5418, 0.5498, 0.6165",\
                 "0.6744, 0.656, 0.6331, 0.6171, 0.6061, 0.6044, 0.6043, 0.6044, 0.6143, 0.7262",\
                 "0.7448, 0.7263, 0.7029, 0.6865, 0.6763, 0.6717, 0.6726, 0.6761, 0.6986, 0.8827");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4393, 0.4172, 0.4032, 0.3951, 0.3922, 0.3914, 0.3921, 0.3953, 0.4143",\
                 "0.4577, 0.4403, 0.4182, 0.4034, 0.3961, 0.3932, 0.3928, 0.3931, 0.3964, 0.4168",\
                 "0.4646, 0.4475, 0.4246, 0.4113, 0.4033, 0.4001, 0.3994, 0.4001, 0.4027, 0.4255",\
                 "0.4825, 0.4654, 0.4431, 0.4286, 0.4203, 0.418, 0.4179, 0.4172, 0.4203, 0.4468",\
                 "0.5125, 0.495, 0.4727, 0.4576, 0.449, 0.446, 0.4445, 0.4461, 0.45, 0.4846",\
                 "0.5546, 0.537, 0.5144, 0.4996, 0.4909, 0.4876, 0.4871, 0.4874, 0.4919, 0.538",\
                 "0.6098, 0.5915, 0.5689, 0.5532, 0.5453, 0.5414, 0.5403, 0.5399, 0.5464, 0.6165",\
                 "0.6741, 0.6559, 0.6333, 0.6163, 0.6061, 0.6054, 0.605, 0.6041, 0.6136, 0.7255",\
                 "0.7446, 0.7263, 0.7019, 0.6853, 0.6762, 0.672, 0.6722, 0.6764, 0.6983, 0.8815");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4393, 0.4172, 0.4032, 0.3951, 0.3922, 0.3914, 0.3921, 0.3953, 0.4143",\
                 "0.4577, 0.4403, 0.4182, 0.4034, 0.3961, 0.3932, 0.3928, 0.3931, 0.3964, 0.4168",\
                 "0.4646, 0.4475, 0.4246, 0.4113, 0.4033, 0.4001, 0.3994, 0.4001, 0.4027, 0.4255",\
                 "0.4825, 0.4654, 0.4431, 0.4286, 0.4203, 0.418, 0.4179, 0.4172, 0.4203, 0.4468",\
                 "0.5125, 0.495, 0.4727, 0.4576, 0.449, 0.446, 0.4445, 0.4461, 0.45, 0.4846",\
                 "0.5546, 0.537, 0.5144, 0.4996, 0.4909, 0.4876, 0.4871, 0.4874, 0.4919, 0.538",\
                 "0.6098, 0.5915, 0.5689, 0.5532, 0.5453, 0.5414, 0.5403, 0.5399, 0.5464, 0.6165",\
                 "0.6741, 0.6559, 0.6333, 0.6163, 0.6061, 0.6054, 0.605, 0.6041, 0.6136, 0.7255",\
                 "0.7446, 0.7263, 0.7019, 0.6853, 0.6762, 0.672, 0.6722, 0.6764, 0.6983, 0.8815");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4139",\
                 "0.4565, 0.4392, 0.4174, 0.4028, 0.395, 0.3922, 0.3914, 0.3921, 0.3957, 0.4119",\
                 "0.4577, 0.4404, 0.4183, 0.4035, 0.3962, 0.3932, 0.3924, 0.3931, 0.3964, 0.4168",\
                 "0.4647, 0.4475, 0.4256, 0.4108, 0.4033, 0.4004, 0.3994, 0.4017, 0.4027, 0.4261",\
                 "0.4828, 0.4654, 0.4427, 0.428, 0.4206, 0.4182, 0.4178, 0.4172, 0.4202, 0.4458",\
                 "0.5125, 0.4949, 0.4726, 0.4575, 0.449, 0.4463, 0.4452, 0.4461, 0.45, 0.482",\
                 "0.5545, 0.5368, 0.5146, 0.4994, 0.4905, 0.4876, 0.4875, 0.488, 0.4919, 0.5384",\
                 "0.6097, 0.5918, 0.5689, 0.5525, 0.5449, 0.5414, 0.5406, 0.5402, 0.5494, 0.6155",\
                 "0.6741, 0.6563, 0.6327, 0.6164, 0.6066, 0.6044, 0.6043, 0.6054, 0.614, 0.7261",\
                 "0.7446, 0.7263, 0.7026, 0.6867, 0.6764, 0.6717, 0.6716, 0.6758, 0.698, 0.8822");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4139",\
                 "0.4565, 0.4392, 0.4174, 0.4028, 0.395, 0.3922, 0.3914, 0.3921, 0.3957, 0.4119",\
                 "0.4577, 0.4404, 0.4183, 0.4035, 0.3962, 0.3932, 0.3924, 0.3931, 0.3964, 0.4168",\
                 "0.4647, 0.4475, 0.4256, 0.4108, 0.4033, 0.4004, 0.3994, 0.4017, 0.4027, 0.4261",\
                 "0.4828, 0.4654, 0.4427, 0.428, 0.4206, 0.4182, 0.4178, 0.4172, 0.4202, 0.4458",\
                 "0.5125, 0.4949, 0.4726, 0.4575, 0.449, 0.4463, 0.4452, 0.4461, 0.45, 0.482",\
                 "0.5545, 0.5368, 0.5146, 0.4994, 0.4905, 0.4876, 0.4875, 0.488, 0.4919, 0.5384",\
                 "0.6097, 0.5918, 0.5689, 0.5525, 0.5449, 0.5414, 0.5406, 0.5402, 0.5494, 0.6155",\
                 "0.6741, 0.6563, 0.6327, 0.6164, 0.6066, 0.6044, 0.6043, 0.6054, 0.614, 0.7261",\
                 "0.7446, 0.7263, 0.7026, 0.6867, 0.6764, 0.6717, 0.6716, 0.6758, 0.698, 0.8822");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4392, 0.4174, 0.4028, 0.395, 0.3922, 0.3914, 0.3921, 0.3957, 0.4119",\
                 "0.4577, 0.4404, 0.4183, 0.4034, 0.3962, 0.3932, 0.3924, 0.3931, 0.3964, 0.4168",\
                 "0.4647, 0.4472, 0.4253, 0.4108, 0.4033, 0.4005, 0.3994, 0.4017, 0.4027, 0.4261",\
                 "0.4825, 0.4652, 0.443, 0.4286, 0.4208, 0.4179, 0.4178, 0.4175, 0.4222, 0.4468",\
                 "0.5125, 0.4948, 0.4726, 0.4573, 0.449, 0.446, 0.4449, 0.4455, 0.449, 0.483",\
                 "0.5546, 0.5367, 0.5145, 0.4997, 0.4907, 0.4876, 0.4865, 0.488, 0.4928, 0.5384",\
                 "0.6097, 0.5916, 0.5693, 0.5527, 0.5451, 0.541, 0.5403, 0.5405, 0.5464, 0.6161",\
                 "0.6743, 0.6563, 0.6331, 0.6169, 0.6064, 0.6044, 0.6043, 0.6054, 0.614, 0.7262",\
                 "0.7442, 0.7261, 0.7029, 0.6857, 0.6761, 0.6714, 0.6719, 0.6758, 0.6979, 0.8801");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4392, 0.4174, 0.4028, 0.395, 0.3922, 0.3914, 0.3921, 0.3957, 0.4119",\
                 "0.4577, 0.4404, 0.4183, 0.4034, 0.3962, 0.3932, 0.3924, 0.3931, 0.3964, 0.4168",\
                 "0.4647, 0.4472, 0.4253, 0.4108, 0.4033, 0.4005, 0.3994, 0.4017, 0.4027, 0.4261",\
                 "0.4825, 0.4652, 0.443, 0.4286, 0.4208, 0.4179, 0.4178, 0.4175, 0.4222, 0.4468",\
                 "0.5125, 0.4948, 0.4726, 0.4573, 0.449, 0.446, 0.4449, 0.4455, 0.449, 0.483",\
                 "0.5546, 0.5367, 0.5145, 0.4997, 0.4907, 0.4876, 0.4865, 0.488, 0.4928, 0.5384",\
                 "0.6097, 0.5916, 0.5693, 0.5527, 0.5451, 0.541, 0.5403, 0.5405, 0.5464, 0.6161",\
                 "0.6743, 0.6563, 0.6331, 0.6169, 0.6064, 0.6044, 0.6043, 0.6054, 0.614, 0.7262",\
                 "0.7442, 0.7261, 0.7029, 0.6857, 0.6761, 0.6714, 0.6719, 0.6758, 0.6979, 0.8801");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.457, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4392, 0.4174, 0.4028, 0.395, 0.3922, 0.3914, 0.3921, 0.3957, 0.4119",\
                 "0.4577, 0.4404, 0.4183, 0.4035, 0.3962, 0.3932, 0.3925, 0.3932, 0.3964, 0.4168",\
                 "0.4646, 0.4472, 0.4253, 0.4108, 0.4033, 0.4005, 0.3994, 0.4017, 0.4027, 0.4261",\
                 "0.4826, 0.4653, 0.4431, 0.4289, 0.4208, 0.418, 0.4179, 0.4176, 0.4222, 0.4468",\
                 "0.5126, 0.4948, 0.4725, 0.4573, 0.4491, 0.4453, 0.4452, 0.4461, 0.4497, 0.4846",\
                 "0.5546, 0.5367, 0.5145, 0.4997, 0.491, 0.4876, 0.4865, 0.488, 0.4919, 0.5384",\
                 "0.6096, 0.5919, 0.5691, 0.5527, 0.5451, 0.541, 0.5399, 0.5415, 0.546, 0.6161",\
                 "0.6741, 0.6562, 0.6327, 0.6164, 0.6066, 0.6037, 0.6043, 0.6054, 0.614, 0.7262",\
                 "0.7446, 0.7265, 0.7021, 0.6864, 0.676, 0.6707, 0.6719, 0.6764, 0.7003, 0.8826");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.457, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4392, 0.4174, 0.4028, 0.395, 0.3922, 0.3914, 0.3921, 0.3957, 0.4119",\
                 "0.4577, 0.4404, 0.4183, 0.4035, 0.3962, 0.3932, 0.3925, 0.3932, 0.3964, 0.4168",\
                 "0.4646, 0.4472, 0.4253, 0.4108, 0.4033, 0.4005, 0.3994, 0.4017, 0.4027, 0.4261",\
                 "0.4826, 0.4653, 0.4431, 0.4289, 0.4208, 0.418, 0.4179, 0.4176, 0.4222, 0.4468",\
                 "0.5126, 0.4948, 0.4725, 0.4573, 0.4491, 0.4453, 0.4452, 0.4461, 0.4497, 0.4846",\
                 "0.5546, 0.5367, 0.5145, 0.4997, 0.491, 0.4876, 0.4865, 0.488, 0.4919, 0.5384",\
                 "0.6096, 0.5919, 0.5691, 0.5527, 0.5451, 0.541, 0.5399, 0.5415, 0.546, 0.6161",\
                 "0.6741, 0.6562, 0.6327, 0.6164, 0.6066, 0.6037, 0.6043, 0.6054, 0.614, 0.7262",\
                 "0.7446, 0.7265, 0.7021, 0.6864, 0.676, 0.6707, 0.6719, 0.6764, 0.7003, 0.8826");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4393, 0.4172, 0.4032, 0.3951, 0.3922, 0.3914, 0.3921, 0.3953, 0.4143",\
                 "0.4577, 0.4403, 0.4182, 0.4034, 0.3961, 0.3932, 0.3928, 0.3931, 0.3964, 0.4168",\
                 "0.4646, 0.4471, 0.4256, 0.4113, 0.4033, 0.4008, 0.3997, 0.4001, 0.4027, 0.4255",\
                 "0.4825, 0.4654, 0.4432, 0.4287, 0.4203, 0.418, 0.4179, 0.4172, 0.4203, 0.4468",\
                 "0.5126, 0.4949, 0.4728, 0.4578, 0.449, 0.446, 0.4452, 0.4461, 0.4504, 0.4829",\
                 "0.5546, 0.5367, 0.5144, 0.4993, 0.4911, 0.4872, 0.4868, 0.4877, 0.4928, 0.5371",\
                 "0.6096, 0.5917, 0.5689, 0.5533, 0.5452, 0.5417, 0.5403, 0.5405, 0.5464, 0.6165",\
                 "0.6744, 0.6564, 0.633, 0.6169, 0.6061, 0.6051, 0.6043, 0.6041, 0.616, 0.7262",\
                 "0.7447, 0.7266, 0.7021, 0.6869, 0.6761, 0.6717, 0.6706, 0.6774, 0.6997, 0.8811");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.4571, 0.4399, 0.418, 0.4035, 0.3952, 0.3921, 0.392, 0.3921, 0.3956, 0.4116",\
                 "0.4565, 0.4393, 0.4172, 0.4032, 0.3951, 0.3922, 0.3914, 0.3921, 0.3953, 0.4143",\
                 "0.4577, 0.4403, 0.4182, 0.4034, 0.3961, 0.3932, 0.3928, 0.3931, 0.3964, 0.4168",\
                 "0.4646, 0.4471, 0.4256, 0.4113, 0.4033, 0.4008, 0.3997, 0.4001, 0.4027, 0.4255",\
                 "0.4825, 0.4654, 0.4432, 0.4287, 0.4203, 0.418, 0.4179, 0.4172, 0.4203, 0.4468",\
                 "0.5126, 0.4949, 0.4728, 0.4578, 0.449, 0.446, 0.4452, 0.4461, 0.4504, 0.4829",\
                 "0.5546, 0.5367, 0.5144, 0.4993, 0.4911, 0.4872, 0.4868, 0.4877, 0.4928, 0.5371",\
                 "0.6096, 0.5917, 0.5689, 0.5533, 0.5452, 0.5417, 0.5403, 0.5405, 0.5464, 0.6165",\
                 "0.6744, 0.6564, 0.633, 0.6169, 0.6061, 0.6051, 0.6043, 0.6041, 0.616, 0.7262",\
                 "0.7447, 0.7266, 0.7021, 0.6869, 0.6761, 0.6717, 0.6706, 0.6774, 0.6997, 0.8811");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.457, 0.4398, 0.4178, 0.4034, 0.3951, 0.3921, 0.3917, 0.394, 0.3953, 0.4126",\
                 "0.4565, 0.4392, 0.4174, 0.4028, 0.395, 0.3922, 0.3914, 0.3921, 0.3957, 0.4119",\
                 "0.4577, 0.4404, 0.4183, 0.4035, 0.3962, 0.3932, 0.3924, 0.3931, 0.3964, 0.4168",\
                 "0.4647, 0.4475, 0.4256, 0.4108, 0.4033, 0.4005, 0.3994, 0.4017, 0.4027, 0.4261",\
                 "0.4828, 0.4653, 0.4428, 0.428, 0.4206, 0.4183, 0.4179, 0.4172, 0.4203, 0.4458",\
                 "0.5125, 0.4949, 0.4725, 0.4572, 0.449, 0.4453, 0.4452, 0.4481, 0.4497, 0.4836",\
                 "0.5546, 0.5368, 0.5146, 0.4994, 0.4905, 0.4872, 0.4878, 0.4877, 0.4918, 0.5397",\
                 "0.6097, 0.5918, 0.5688, 0.5525, 0.5445, 0.5414, 0.5396, 0.5415, 0.5474, 0.6168",\
                 "0.6742, 0.6562, 0.6327, 0.6167, 0.6068, 0.604, 0.6043, 0.6059, 0.6136, 0.7217",\
                 "0.7442, 0.7261, 0.7022, 0.6866, 0.6756, 0.6707, 0.6716, 0.6761, 0.6983, 0.8812");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.457, 0.4398, 0.4178, 0.4034, 0.3951, 0.3921, 0.3917, 0.394, 0.3953, 0.4126",\
                 "0.4565, 0.4392, 0.4174, 0.4028, 0.395, 0.3922, 0.3914, 0.3921, 0.3957, 0.4119",\
                 "0.4577, 0.4404, 0.4183, 0.4035, 0.3962, 0.3932, 0.3924, 0.3931, 0.3964, 0.4168",\
                 "0.4647, 0.4475, 0.4256, 0.4108, 0.4033, 0.4005, 0.3994, 0.4017, 0.4027, 0.4261",\
                 "0.4828, 0.4653, 0.4428, 0.428, 0.4206, 0.4183, 0.4179, 0.4172, 0.4203, 0.4458",\
                 "0.5125, 0.4949, 0.4725, 0.4572, 0.449, 0.4453, 0.4452, 0.4481, 0.4497, 0.4836",\
                 "0.5546, 0.5368, 0.5146, 0.4994, 0.4905, 0.4872, 0.4878, 0.4877, 0.4918, 0.5397",\
                 "0.6097, 0.5918, 0.5688, 0.5525, 0.5445, 0.5414, 0.5396, 0.5415, 0.5474, 0.6168",\
                 "0.6742, 0.6562, 0.6327, 0.6167, 0.6068, 0.604, 0.6043, 0.6059, 0.6136, 0.7217",\
                 "0.7442, 0.7261, 0.7022, 0.6866, 0.6756, 0.6707, 0.6716, 0.6761, 0.6983, 0.8812");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.243, 1.356, 1.516, 1.725, 1.999, 2.354, 2.8, 3.344, 3.994",\
                 "1.21, 1.256, 1.37, 1.53, 1.739, 2.013, 2.368, 2.813, 3.358, 4.007",\
                 "1.261, 1.307, 1.421, 1.581, 1.79, 2.064, 2.418, 2.864, 3.409, 4.058",\
                 "1.342, 1.389, 1.503, 1.663, 1.871, 2.145, 2.5, 2.946, 3.49, 4.14",\
                 "1.412, 1.459, 1.573, 1.733, 1.942, 2.215, 2.57, 3.016, 3.561, 4.21",\
                 "1.468, 1.514, 1.628, 1.788, 1.997, 2.271, 2.625, 3.071, 3.616, 4.265",\
                 "1.505, 1.552, 1.666, 1.826, 2.035, 2.308, 2.663, 3.109, 3.653, 4.302",\
                 "1.522, 1.569, 1.683, 1.843, 2.051, 2.325, 2.68, 3.126, 3.67, 4.319",\
                 "1.514, 1.561, 1.674, 1.835, 2.044, 2.318, 2.672, 3.118, 3.662, 4.312",\
                 "1.479, 1.526, 1.639, 1.799, 2.008, 2.282, 2.637, 3.083, 3.627, 4.276");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.356, 1.416, 1.576, 1.83, 2.188, 2.677, 3.32, 4.129, 5.12, 6.298",\
                 "1.37, 1.43, 1.59, 1.843, 2.202, 2.691, 3.334, 4.143, 5.134, 6.313",\
                 "1.42, 1.48, 1.64, 1.894, 2.252, 2.742, 3.384, 4.194, 5.184, 6.361",\
                 "1.5, 1.56, 1.72, 1.973, 2.332, 2.821, 3.464, 4.274, 5.262, 6.442",\
                 "1.568, 1.628, 1.788, 2.042, 2.4, 2.89, 3.532, 4.342, 5.332, 6.51",\
                 "1.622, 1.682, 1.842, 2.096, 2.454, 2.944, 3.586, 4.396, 5.386, 6.567",\
                 "1.659, 1.719, 1.879, 2.133, 2.491, 2.981, 3.623, 4.433, 5.423, 6.601",\
                 "1.676, 1.736, 1.896, 2.15, 2.508, 2.998, 3.64, 4.449, 5.439, 6.621",\
                 "1.67, 1.73, 1.89, 2.143, 2.502, 2.991, 3.633, 4.443, 5.432, 6.61",\
                 "1.638, 1.698, 1.858, 2.111, 2.469, 2.959, 3.601, 4.411, 5.4, 6.579");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.135, 0.177, 0.2882, 0.47, 0.7566, 1.183, 1.77, 2.518, 3.434, 4.525",\
                 "0.1348, 0.1772, 0.2884, 0.47, 0.7572, 1.185, 1.769, 2.518, 3.434, 4.528",\
                 "0.135, 0.177, 0.2884, 0.4702, 0.757, 1.186, 1.77, 2.518, 3.431, 4.526",\
                 "0.1354, 0.177, 0.2884, 0.4698, 0.7568, 1.186, 1.769, 2.518, 3.434, 4.521",\
                 "0.1352, 0.177, 0.2884, 0.47, 0.756, 1.185, 1.768, 2.517, 3.434, 4.526",\
                 "0.1348, 0.1768, 0.2882, 0.4706, 0.7572, 1.185, 1.771, 2.518, 3.431, 4.525",\
                 "0.1352, 0.1768, 0.2882, 0.4702, 0.7562, 1.183, 1.768, 2.516, 3.429, 4.528",\
                 "0.1348, 0.177, 0.288, 0.4706, 0.7572, 1.184, 1.768, 2.513, 3.428, 4.516",\
                 "0.1348, 0.1766, 0.288, 0.4702, 0.7562, 1.186, 1.768, 2.514, 3.427, 4.517",\
                 "0.1346, 0.1768, 0.2886, 0.47, 0.7562, 1.184, 1.771, 2.514, 3.429, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1756, 0.2398, 0.4448, 0.808, 1.386, 2.228, 3.356, 4.791, 6.526, 8.616",\
                 "0.1752, 0.2396, 0.445, 0.8088, 1.386, 2.228, 3.358, 4.789, 6.528, 8.62",\
                 "0.1746, 0.24, 0.445, 0.8086, 1.386, 2.229, 3.356, 4.786, 6.54, 8.611",\
                 "0.1754, 0.2402, 0.445, 0.8084, 1.386, 2.228, 3.357, 4.783, 6.535, 8.613",\
                 "0.1744, 0.2396, 0.445, 0.8086, 1.386, 2.228, 3.357, 4.787, 6.541, 8.614",\
                 "0.1744, 0.2386, 0.4442, 0.8088, 1.386, 2.225, 3.36, 4.791, 6.53, 8.609",\
                 "0.1746, 0.2398, 0.4448, 0.8082, 1.383, 2.227, 3.357, 4.788, 6.542, 8.613",\
                 "0.1748, 0.2394, 0.445, 0.808, 1.384, 2.226, 3.354, 4.786, 6.524, 8.612",\
                 "0.1746, 0.239, 0.4444, 0.8086, 1.384, 2.226, 3.354, 4.781, 6.536, 8.603",\
                 "0.1744, 0.2386, 0.4446, 0.8086, 1.384, 2.229, 3.357, 4.782, 6.525, 8.61");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.243, 1.356, 1.517, 1.725, 1.999, 2.354, 2.8, 3.344, 3.993",\
                 "1.21, 1.256, 1.37, 1.53, 1.739, 2.013, 2.367, 2.813, 3.358, 4.007",\
                 "1.261, 1.308, 1.421, 1.581, 1.79, 2.064, 2.418, 2.864, 3.409, 4.058",\
                 "1.342, 1.389, 1.503, 1.663, 1.871, 2.145, 2.5, 2.946, 3.49, 4.139",\
                 "1.412, 1.459, 1.573, 1.733, 1.941, 2.215, 2.57, 3.016, 3.561, 4.21",\
                 "1.468, 1.514, 1.628, 1.788, 1.997, 2.271, 2.625, 3.071, 3.616, 4.264",\
                 "1.505, 1.552, 1.666, 1.826, 2.035, 2.308, 2.663, 3.109, 3.654, 4.303",\
                 "1.522, 1.569, 1.683, 1.843, 2.051, 2.325, 2.68, 3.126, 3.67, 4.319",\
                 "1.514, 1.561, 1.674, 1.835, 2.044, 2.317, 2.672, 3.118, 3.662, 4.312",\
                 "1.479, 1.526, 1.639, 1.799, 2.008, 2.282, 2.637, 3.083, 3.627, 4.277");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.356, 1.416, 1.576, 1.83, 2.188, 2.677, 3.32, 4.13, 5.118, 6.299",\
                 "1.37, 1.43, 1.59, 1.843, 2.202, 2.691, 3.334, 4.144, 5.133, 6.31",\
                 "1.421, 1.48, 1.64, 1.894, 2.252, 2.742, 3.384, 4.194, 5.183, 6.364",\
                 "1.5, 1.56, 1.72, 1.973, 2.332, 2.821, 3.464, 4.274, 5.262, 6.444",\
                 "1.569, 1.628, 1.788, 2.042, 2.4, 2.89, 3.532, 4.342, 5.332, 6.51",\
                 "1.622, 1.682, 1.842, 2.096, 2.454, 2.944, 3.586, 4.396, 5.385, 6.566",\
                 "1.66, 1.719, 1.88, 2.133, 2.491, 2.981, 3.623, 4.433, 5.423, 6.604",\
                 "1.677, 1.736, 1.896, 2.15, 2.508, 2.998, 3.64, 4.449, 5.441, 6.617",\
                 "1.67, 1.73, 1.89, 2.144, 2.502, 2.992, 3.634, 4.443, 5.432, 6.61",\
                 "1.638, 1.698, 1.858, 2.112, 2.47, 2.96, 3.602, 4.412, 5.4, 6.579");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1348, 0.1768, 0.2884, 0.4702, 0.7572, 1.184, 1.769, 2.518, 3.432, 4.528",\
                 "0.135, 0.1766, 0.2884, 0.47, 0.7568, 1.185, 1.769, 2.518, 3.432, 4.521",\
                 "0.135, 0.1768, 0.2882, 0.47, 0.757, 1.185, 1.77, 2.515, 3.429, 4.528",\
                 "0.1356, 0.1768, 0.2882, 0.4702, 0.757, 1.184, 1.77, 2.518, 3.434, 4.528",\
                 "0.135, 0.177, 0.2886, 0.47, 0.7562, 1.184, 1.77, 2.516, 3.434, 4.522",\
                 "0.1348, 0.1768, 0.288, 0.4706, 0.7568, 1.184, 1.771, 2.517, 3.431, 4.528",\
                 "0.1352, 0.1768, 0.2882, 0.4698, 0.7564, 1.183, 1.768, 2.516, 3.429, 4.528",\
                 "0.1348, 0.1766, 0.288, 0.4706, 0.7572, 1.184, 1.768, 2.513, 3.428, 4.516",\
                 "0.1348, 0.1768, 0.288, 0.4704, 0.756, 1.185, 1.768, 2.514, 3.427, 4.517",\
                 "0.1344, 0.177, 0.2886, 0.47, 0.7562, 1.184, 1.771, 2.517, 3.429, 4.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1752, 0.2392, 0.4442, 0.8084, 1.384, 2.228, 3.355, 4.784, 6.531, 8.618",\
                 "0.1744, 0.2402, 0.4454, 0.8084, 1.386, 2.228, 3.356, 4.785, 6.54, 8.607",\
                 "0.1746, 0.2402, 0.4448, 0.8082, 1.383, 2.225, 3.356, 4.784, 6.526, 8.611",\
                 "0.1746, 0.2396, 0.4448, 0.8086, 1.383, 2.225, 3.356, 4.784, 6.527, 8.611",\
                 "0.1744, 0.2398, 0.445, 0.8086, 1.386, 2.229, 3.356, 4.786, 6.54, 8.611",\
                 "0.1742, 0.2386, 0.444, 0.8088, 1.384, 2.226, 3.36, 4.791, 6.527, 8.612",\
                 "0.1744, 0.2398, 0.4446, 0.8086, 1.385, 2.227, 3.359, 4.79, 6.53, 8.611",\
                 "0.1752, 0.2388, 0.4444, 0.8082, 1.384, 2.227, 3.354, 4.786, 6.528, 8.611",\
                 "0.1746, 0.2394, 0.445, 0.8082, 1.384, 2.228, 3.354, 4.782, 6.537, 8.617",\
                 "0.1748, 0.2392, 0.4448, 0.8086, 1.385, 2.229, 3.356, 4.782, 6.524, 8.602");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.243, 1.356, 1.517, 1.725, 1.999, 2.354, 2.8, 3.344, 3.994",\
                 "1.21, 1.256, 1.37, 1.53, 1.739, 2.013, 2.368, 2.813, 3.358, 4.007",\
                 "1.261, 1.307, 1.421, 1.581, 1.79, 2.064, 2.418, 2.864, 3.409, 4.058",\
                 "1.342, 1.389, 1.503, 1.663, 1.871, 2.145, 2.5, 2.946, 3.49, 4.139",\
                 "1.413, 1.459, 1.573, 1.733, 1.942, 2.215, 2.57, 3.016, 3.56, 4.21",\
                 "1.468, 1.514, 1.628, 1.788, 1.997, 2.271, 2.625, 3.071, 3.616, 4.265",\
                 "1.505, 1.552, 1.666, 1.826, 2.035, 2.308, 2.663, 3.109, 3.653, 4.302",\
                 "1.522, 1.569, 1.683, 1.843, 2.051, 2.325, 2.68, 3.126, 3.67, 4.319",\
                 "1.514, 1.561, 1.675, 1.835, 2.043, 2.317, 2.672, 3.118, 3.662, 4.311",\
                 "1.479, 1.526, 1.639, 1.799, 2.008, 2.282, 2.637, 3.083, 3.627, 4.277");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.356, 1.416, 1.576, 1.83, 2.188, 2.678, 3.32, 4.13, 5.118, 6.299",\
                 "1.37, 1.43, 1.59, 1.843, 2.202, 2.691, 3.334, 4.143, 5.134, 6.313",\
                 "1.42, 1.48, 1.64, 1.894, 2.252, 2.742, 3.384, 4.194, 5.184, 6.363",\
                 "1.5, 1.56, 1.72, 1.974, 2.332, 2.822, 3.464, 4.274, 5.263, 6.441",\
                 "1.569, 1.628, 1.788, 2.042, 2.4, 2.89, 3.532, 4.342, 5.332, 6.51",\
                 "1.622, 1.682, 1.842, 2.095, 2.454, 2.943, 3.586, 4.395, 5.384, 6.566",\
                 "1.659, 1.719, 1.879, 2.133, 2.491, 2.981, 3.623, 4.433, 5.423, 6.603",\
                 "1.676, 1.736, 1.896, 2.15, 2.508, 2.998, 3.64, 4.449, 5.439, 6.621",\
                 "1.67, 1.73, 1.89, 2.144, 2.502, 2.992, 3.634, 4.443, 5.432, 6.61",\
                 "1.638, 1.698, 1.858, 2.112, 2.47, 2.96, 3.602, 4.411, 5.4, 6.579");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1348, 0.1772, 0.2884, 0.47, 0.7572, 1.185, 1.769, 2.518, 3.434, 4.524",\
                 "0.1348, 0.177, 0.2884, 0.4698, 0.7572, 1.186, 1.77, 2.518, 3.434, 4.527",\
                 "0.1348, 0.1772, 0.2882, 0.47, 0.756, 1.185, 1.77, 2.518, 3.433, 4.528",\
                 "0.1352, 0.177, 0.2884, 0.4698, 0.7572, 1.185, 1.77, 2.518, 3.434, 4.528",\
                 "0.1348, 0.1768, 0.2884, 0.4706, 0.7562, 1.185, 1.77, 2.518, 3.433, 4.528",\
                 "0.1352, 0.1768, 0.288, 0.4704, 0.757, 1.185, 1.769, 2.516, 3.433, 4.525",\
                 "0.1348, 0.1768, 0.2886, 0.47, 0.757, 1.183, 1.768, 2.516, 3.429, 4.528",\
                 "0.1348, 0.1766, 0.2882, 0.4704, 0.757, 1.184, 1.768, 2.513, 3.427, 4.519",\
                 "0.1348, 0.1768, 0.2886, 0.47, 0.756, 1.186, 1.77, 2.513, 3.427, 4.516",\
                 "0.1346, 0.1768, 0.2884, 0.47, 0.756, 1.184, 1.768, 2.514, 3.43, 4.517");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1752, 0.2394, 0.4448, 0.8084, 1.386, 2.228, 3.357, 4.788, 6.531, 8.619",\
                 "0.1748, 0.24, 0.4448, 0.8084, 1.386, 2.228, 3.358, 4.788, 6.527, 8.617",\
                 "0.1756, 0.2402, 0.4456, 0.8084, 1.386, 2.228, 3.358, 4.789, 6.527, 8.619",\
                 "0.1748, 0.2394, 0.4444, 0.8086, 1.383, 2.229, 3.354, 4.783, 6.538, 8.605",\
                 "0.1744, 0.2398, 0.445, 0.8086, 1.386, 2.229, 3.356, 4.786, 6.54, 8.611",\
                 "0.1748, 0.239, 0.4446, 0.8086, 1.384, 2.226, 3.359, 4.79, 6.525, 8.612",\
                 "0.175, 0.2388, 0.4448, 0.8086, 1.383, 2.227, 3.358, 4.789, 6.529, 8.619",\
                 "0.1746, 0.2404, 0.4452, 0.8086, 1.385, 2.227, 3.354, 4.786, 6.538, 8.612",\
                 "0.1738, 0.2394, 0.445, 0.8086, 1.384, 2.226, 3.356, 4.781, 6.535, 8.615",\
                 "0.1746, 0.2398, 0.4448, 0.8086, 1.386, 2.229, 3.356, 4.782, 6.524, 8.612");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.243, 1.356, 1.517, 1.725, 1.999, 2.354, 2.8, 3.344, 3.994",\
                 "1.21, 1.256, 1.37, 1.53, 1.739, 2.013, 2.367, 2.813, 3.358, 4.007",\
                 "1.26, 1.307, 1.421, 1.581, 1.79, 2.064, 2.418, 2.864, 3.409, 4.058",\
                 "1.342, 1.389, 1.503, 1.663, 1.871, 2.145, 2.5, 2.946, 3.49, 4.139",\
                 "1.413, 1.459, 1.573, 1.733, 1.941, 2.215, 2.57, 3.016, 3.56, 4.21",\
                 "1.468, 1.514, 1.628, 1.788, 1.997, 2.271, 2.625, 3.071, 3.616, 4.265",\
                 "1.505, 1.552, 1.666, 1.826, 2.035, 2.308, 2.663, 3.109, 3.653, 4.302",\
                 "1.522, 1.569, 1.683, 1.843, 2.051, 2.325, 2.68, 3.126, 3.67, 4.319",\
                 "1.514, 1.561, 1.674, 1.835, 2.043, 2.317, 2.672, 3.118, 3.662, 4.311",\
                 "1.479, 1.526, 1.639, 1.799, 2.008, 2.282, 2.637, 3.082, 3.626, 4.276");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.356, 1.416, 1.576, 1.829, 2.188, 2.677, 3.32, 4.129, 5.12, 6.3",\
                 "1.37, 1.43, 1.59, 1.843, 2.202, 2.691, 3.334, 4.143, 5.134, 6.313",\
                 "1.42, 1.48, 1.64, 1.894, 2.252, 2.741, 3.384, 4.194, 5.182, 6.362",\
                 "1.5, 1.56, 1.72, 1.973, 2.332, 2.821, 3.464, 4.274, 5.263, 6.441",\
                 "1.568, 1.628, 1.789, 2.042, 2.4, 2.89, 3.532, 4.343, 5.331, 6.513",\
                 "1.622, 1.682, 1.842, 2.095, 2.454, 2.943, 3.586, 4.396, 5.383, 6.565",\
                 "1.659, 1.719, 1.879, 2.133, 2.491, 2.98, 3.623, 4.433, 5.423, 6.604",\
                 "1.676, 1.736, 1.896, 2.15, 2.508, 2.998, 3.64, 4.449, 5.439, 6.621",\
                 "1.67, 1.73, 1.89, 2.143, 2.502, 2.991, 3.633, 4.443, 5.431, 6.61",\
                 "1.637, 1.697, 1.858, 2.111, 2.47, 2.959, 3.601, 4.412, 5.4, 6.579");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1348, 0.177, 0.2886, 0.4698, 0.7566, 1.185, 1.77, 2.518, 3.433, 4.525",\
                 "0.1348, 0.1772, 0.2884, 0.4706, 0.7572, 1.185, 1.769, 2.518, 3.432, 4.528",\
                 "0.135, 0.1766, 0.2882, 0.4702, 0.756, 1.184, 1.77, 2.518, 3.433, 4.528",\
                 "0.135, 0.177, 0.2884, 0.4702, 0.7572, 1.185, 1.77, 2.517, 3.431, 4.527",\
                 "0.135, 0.1768, 0.2882, 0.4704, 0.7562, 1.184, 1.77, 2.518, 3.434, 4.527",\
                 "0.1348, 0.1768, 0.288, 0.4702, 0.7572, 1.184, 1.77, 2.518, 3.433, 4.528",\
                 "0.135, 0.1768, 0.2882, 0.47, 0.757, 1.183, 1.768, 2.517, 3.429, 4.528",\
                 "0.1348, 0.1766, 0.2884, 0.4698, 0.757, 1.184, 1.769, 2.513, 3.427, 4.52",\
                 "0.1348, 0.1768, 0.288, 0.4704, 0.756, 1.185, 1.768, 2.515, 3.427, 4.515",\
                 "0.1346, 0.1768, 0.288, 0.4704, 0.757, 1.183, 1.77, 2.515, 3.431, 4.521");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1744, 0.2396, 0.445, 0.8076, 1.386, 2.227, 3.359, 4.79, 6.529, 8.624",\
                 "0.1746, 0.24, 0.445, 0.809, 1.386, 2.228, 3.359, 4.789, 6.528, 8.621",\
                 "0.1746, 0.2396, 0.4444, 0.8086, 1.384, 2.226, 3.355, 4.784, 6.534, 8.614",\
                 "0.1746, 0.24, 0.445, 0.8082, 1.386, 2.228, 3.353, 4.782, 6.537, 8.608",\
                 "0.175, 0.2396, 0.445, 0.8086, 1.384, 2.226, 3.356, 4.784, 6.527, 8.611",\
                 "0.1744, 0.239, 0.4444, 0.8084, 1.386, 2.228, 3.356, 4.784, 6.532, 8.619",\
                 "0.1754, 0.2398, 0.4444, 0.8086, 1.385, 2.228, 3.359, 4.791, 6.53, 8.61",\
                 "0.175, 0.2398, 0.4444, 0.8082, 1.384, 2.227, 3.354, 4.786, 6.524, 8.612",\
                 "0.1746, 0.2392, 0.4446, 0.8086, 1.384, 2.226, 3.354, 4.781, 6.526, 8.604",\
                 "0.1746, 0.2398, 0.4448, 0.8084, 1.384, 2.226, 3.356, 4.782, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.243, 1.356, 1.517, 1.725, 1.999, 2.354, 2.8, 3.344, 3.994",\
                 "1.21, 1.256, 1.37, 1.53, 1.739, 2.013, 2.368, 2.813, 3.358, 4.007",\
                 "1.261, 1.307, 1.421, 1.581, 1.79, 2.064, 2.418, 2.864, 3.409, 4.058",\
                 "1.342, 1.389, 1.503, 1.663, 1.871, 2.145, 2.5, 2.946, 3.49, 4.139",\
                 "1.413, 1.459, 1.573, 1.733, 1.942, 2.215, 2.57, 3.016, 3.56, 4.21",\
                 "1.468, 1.514, 1.628, 1.788, 1.997, 2.271, 2.625, 3.071, 3.616, 4.265",\
                 "1.505, 1.552, 1.666, 1.826, 2.035, 2.308, 2.663, 3.109, 3.653, 4.302",\
                 "1.522, 1.569, 1.683, 1.843, 2.051, 2.325, 2.68, 3.126, 3.67, 4.319",\
                 "1.514, 1.561, 1.675, 1.835, 2.043, 2.317, 2.672, 3.118, 3.662, 4.311",\
                 "1.479, 1.526, 1.639, 1.799, 2.008, 2.282, 2.637, 3.083, 3.627, 4.277");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.356, 1.416, 1.576, 1.829, 2.188, 2.677, 3.32, 4.129, 5.12, 6.3",\
                 "1.37, 1.43, 1.59, 1.843, 2.202, 2.691, 3.334, 4.143, 5.134, 6.313",\
                 "1.42, 1.48, 1.64, 1.894, 2.252, 2.741, 3.384, 4.194, 5.182, 6.362",\
                 "1.5, 1.56, 1.72, 1.973, 2.332, 2.821, 3.464, 4.274, 5.263, 6.441",\
                 "1.568, 1.628, 1.789, 2.042, 2.4, 2.89, 3.532, 4.343, 5.331, 6.513",\
                 "1.622, 1.682, 1.842, 2.095, 2.454, 2.943, 3.586, 4.396, 5.383, 6.565",\
                 "1.659, 1.719, 1.879, 2.133, 2.491, 2.98, 3.623, 4.433, 5.423, 6.604",\
                 "1.676, 1.736, 1.896, 2.15, 2.508, 2.998, 3.64, 4.449, 5.439, 6.621",\
                 "1.67, 1.73, 1.89, 2.143, 2.502, 2.991, 3.633, 4.443, 5.431, 6.61",\
                 "1.637, 1.697, 1.858, 2.111, 2.47, 2.959, 3.601, 4.412, 5.4, 6.579");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1348, 0.1772, 0.2884, 0.47, 0.7572, 1.185, 1.769, 2.518, 3.434, 4.524",\
                 "0.1348, 0.177, 0.2884, 0.4698, 0.7572, 1.186, 1.77, 2.518, 3.434, 4.527",\
                 "0.1348, 0.1772, 0.2882, 0.47, 0.756, 1.185, 1.77, 2.518, 3.433, 4.528",\
                 "0.1352, 0.177, 0.2884, 0.4698, 0.7572, 1.185, 1.77, 2.518, 3.434, 4.528",\
                 "0.1348, 0.1768, 0.2884, 0.4706, 0.7562, 1.185, 1.77, 2.518, 3.433, 4.528",\
                 "0.1352, 0.1768, 0.288, 0.4704, 0.757, 1.185, 1.769, 2.516, 3.433, 4.525",\
                 "0.1348, 0.1768, 0.2886, 0.47, 0.757, 1.183, 1.768, 2.516, 3.429, 4.528",\
                 "0.1348, 0.1766, 0.2882, 0.4704, 0.757, 1.184, 1.768, 2.513, 3.427, 4.519",\
                 "0.1348, 0.1768, 0.2886, 0.47, 0.756, 1.186, 1.77, 2.513, 3.427, 4.516",\
                 "0.1346, 0.1768, 0.2884, 0.47, 0.756, 1.184, 1.768, 2.514, 3.43, 4.517");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1744, 0.2396, 0.445, 0.8076, 1.386, 2.227, 3.359, 4.79, 6.529, 8.624",\
                 "0.1746, 0.24, 0.445, 0.809, 1.386, 2.228, 3.359, 4.789, 6.528, 8.621",\
                 "0.1746, 0.2396, 0.4444, 0.8086, 1.384, 2.226, 3.355, 4.784, 6.534, 8.614",\
                 "0.1746, 0.24, 0.445, 0.8082, 1.386, 2.228, 3.353, 4.782, 6.537, 8.608",\
                 "0.175, 0.2396, 0.445, 0.8086, 1.384, 2.226, 3.356, 4.784, 6.527, 8.611",\
                 "0.1744, 0.239, 0.4444, 0.8084, 1.386, 2.228, 3.356, 4.784, 6.532, 8.619",\
                 "0.1754, 0.2398, 0.4444, 0.8086, 1.385, 2.228, 3.359, 4.791, 6.53, 8.61",\
                 "0.175, 0.2398, 0.4444, 0.8082, 1.384, 2.227, 3.354, 4.786, 6.524, 8.612",\
                 "0.1746, 0.2392, 0.4446, 0.8086, 1.384, 2.226, 3.354, 4.781, 6.526, 8.604",\
                 "0.1746, 0.2398, 0.4448, 0.8084, 1.384, 2.226, 3.356, 4.782, 6.525, 8.603");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3791, 0.4255, 0.5388, 0.6968, 0.9039, 1.178, 1.532, 1.979, 2.523, 3.173",\
                 "0.3969, 0.4432, 0.5565, 0.7145, 0.9217, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4625, 0.5088, 0.6221, 0.7801, 0.9873, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5913, 0.6375, 0.7502, 0.9079, 1.115, 1.389, 1.743, 2.19, 2.734, 3.383",\
                 "0.7537, 0.8042, 0.9239, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9252, 0.9804, 1.11, 1.282, 1.496, 1.77, 2.124, 2.57, 3.113, 3.762",\
                 "1.106, 1.166, 1.308, 1.49, 1.711, 1.988, 2.343, 2.787, 3.331, 3.979",\
                 "1.295, 1.361, 1.514, 1.709, 1.94, 2.223, 2.578, 3.023, 3.565, 4.212",\
                 "1.493, 1.563, 1.728, 1.937, 2.181, 2.471, 2.831, 3.275, 3.817, 4.465",\
                 "1.699, 1.774, 1.95, 2.174, 2.432, 2.731, 3.097, 3.546, 4.091, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6275, 0.6866, 0.8461, 1.098, 1.455, 1.945, 2.587, 3.399, 4.389, 5.57",\
                 "0.6386, 0.6978, 0.8575, 1.109, 1.466, 1.956, 2.599, 3.41, 4.4, 5.582",\
                 "0.6752, 0.7343, 0.8935, 1.145, 1.503, 1.992, 2.635, 3.446, 4.437, 5.617",\
                 "0.7529, 0.812, 0.9711, 1.222, 1.579, 2.069, 2.711, 3.522, 4.513, 5.694",\
                 "0.8709, 0.9315, 1.091, 1.343, 1.698, 2.186, 2.829, 3.639, 4.629, 5.809",\
                 "0.9935, 1.057, 1.221, 1.476, 1.833, 2.321, 2.961, 3.769, 4.757, 5.94",\
                 "1.118, 1.184, 1.353, 1.612, 1.97, 2.457, 3.096, 3.904, 4.892, 6.071",\
                 "1.243, 1.312, 1.486, 1.75, 2.111, 2.597, 3.235, 4.041, 5.027, 6.206",\
                 "1.362, 1.435, 1.617, 1.887, 2.252, 2.739, 3.376, 4.18, 5.165, 6.34",\
                 "1.473, 1.55, 1.741, 2.019, 2.392, 2.882, 3.518, 4.322, 5.305, 6.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1263, 0.1692, 0.2806, 0.4633, 0.7527, 1.184, 1.77, 2.515, 3.433, 4.522",\
                 "0.1261, 0.169, 0.2808, 0.4633, 0.7527, 1.184, 1.77, 2.516, 3.434, 4.525",\
                 "0.1261, 0.1691, 0.2809, 0.4634, 0.7523, 1.184, 1.768, 2.516, 3.434, 4.525",\
                 "0.1297, 0.1722, 0.2834, 0.4646, 0.7534, 1.184, 1.77, 2.518, 3.431, 4.525",\
                 "0.1566, 0.201, 0.3076, 0.4798, 0.7608, 1.186, 1.769, 2.517, 3.434, 4.527",\
                 "0.1858, 0.2346, 0.344, 0.5126, 0.7804, 1.194, 1.774, 2.518, 3.434, 4.527",\
                 "0.2188, 0.2718, 0.387, 0.5518, 0.8096, 1.211, 1.779, 2.518, 3.433, 4.526",\
                 "0.2558, 0.3112, 0.4358, 0.6004, 0.848, 1.235, 1.794, 2.524, 3.432, 4.522",\
                 "0.292, 0.3546, 0.4888, 0.6566, 0.8988, 1.272, 1.817, 2.538, 3.44, 4.524",\
                 "0.3302, 0.3972, 0.5436, 0.7186, 0.9568, 1.319, 1.854, 2.57, 3.457, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2337, 0.4384, 0.8003, 1.379, 2.227, 3.358, 4.793, 6.54, 8.611",\
                 "0.1689, 0.2334, 0.4386, 0.8007, 1.38, 2.227, 3.358, 4.785, 6.538, 8.611",\
                 "0.169, 0.2335, 0.439, 0.8002, 1.379, 2.227, 3.358, 4.783, 6.541, 8.612",\
                 "0.1686, 0.2332, 0.4386, 0.8016, 1.38, 2.226, 3.359, 4.785, 6.53, 8.614",\
                 "0.1802, 0.2432, 0.4448, 0.8058, 1.381, 2.225, 3.358, 4.784, 6.542, 8.613",\
                 "0.1972, 0.2626, 0.4638, 0.82, 1.389, 2.23, 3.359, 4.787, 6.527, 8.612",\
                 "0.2168, 0.2818, 0.4824, 0.8394, 1.4, 2.232, 3.359, 4.781, 6.53, 8.618",\
                 "0.2382, 0.305, 0.505, 0.8598, 1.414, 2.24, 3.36, 4.793, 6.534, 8.608",\
                 "0.2656, 0.3356, 0.5324, 0.888, 1.434, 2.25, 3.362, 4.785, 6.527, 8.616",\
                 "0.293, 0.365, 0.5644, 0.9244, 1.468, 2.269, 3.372, 4.787, 6.528, 8.609");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3791, 0.4255, 0.5388, 0.6968, 0.9039, 1.178, 1.532, 1.979, 2.523, 3.173",\
                 "0.3969, 0.4432, 0.5565, 0.7145, 0.9217, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4625, 0.5088, 0.6221, 0.7801, 0.9873, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5913, 0.6375, 0.7502, 0.9079, 1.115, 1.389, 1.743, 2.19, 2.734, 3.383",\
                 "0.7537, 0.8042, 0.9238, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9252, 0.9804, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.166, 1.308, 1.49, 1.711, 1.988, 2.343, 2.787, 3.33, 3.979",\
                 "1.295, 1.361, 1.514, 1.709, 1.94, 2.223, 2.578, 3.023, 3.565, 4.212",\
                 "1.493, 1.563, 1.728, 1.937, 2.181, 2.471, 2.83, 3.275, 3.818, 4.465",\
                 "1.699, 1.774, 1.95, 2.174, 2.432, 2.731, 3.097, 3.546, 4.091, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6275, 0.6866, 0.8461, 1.098, 1.455, 1.945, 2.587, 3.399, 4.389, 5.57",\
                 "0.6386, 0.6978, 0.8575, 1.109, 1.466, 1.956, 2.599, 3.41, 4.4, 5.582",\
                 "0.6752, 0.7343, 0.8937, 1.145, 1.503, 1.992, 2.635, 3.446, 4.437, 5.618",\
                 "0.7529, 0.812, 0.9711, 1.222, 1.579, 2.069, 2.711, 3.522, 4.513, 5.694",\
                 "0.8708, 0.9316, 1.092, 1.343, 1.698, 2.187, 2.828, 3.639, 4.629, 5.809",\
                 "0.9935, 1.057, 1.222, 1.476, 1.833, 2.321, 2.961, 3.77, 4.761, 5.939",\
                 "1.118, 1.184, 1.353, 1.612, 1.97, 2.457, 3.096, 3.904, 4.892, 6.071",\
                 "1.243, 1.312, 1.486, 1.75, 2.111, 2.597, 3.235, 4.041, 5.027, 6.206",\
                 "1.362, 1.435, 1.617, 1.887, 2.252, 2.739, 3.376, 4.18, 5.165, 6.34",\
                 "1.473, 1.55, 1.741, 2.019, 2.392, 2.882, 3.518, 4.322, 5.305, 6.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1263, 0.1692, 0.2806, 0.4633, 0.7525, 1.184, 1.77, 2.515, 3.433, 4.522",\
                 "0.1261, 0.169, 0.2808, 0.4633, 0.7527, 1.184, 1.77, 2.516, 3.434, 4.525",\
                 "0.1261, 0.1691, 0.2809, 0.4634, 0.7523, 1.184, 1.768, 2.516, 3.434, 4.525",\
                 "0.1297, 0.1722, 0.2834, 0.4646, 0.7534, 1.184, 1.77, 2.518, 3.431, 4.525",\
                 "0.1566, 0.2008, 0.3082, 0.4796, 0.7608, 1.186, 1.769, 2.516, 3.433, 4.526",\
                 "0.1858, 0.2348, 0.343, 0.5126, 0.7804, 1.194, 1.774, 2.519, 3.433, 4.527",\
                 "0.2188, 0.2724, 0.388, 0.552, 0.8096, 1.211, 1.779, 2.518, 3.431, 4.526",\
                 "0.2538, 0.3112, 0.4358, 0.602, 0.8484, 1.235, 1.794, 2.524, 3.432, 4.522",\
                 "0.2924, 0.3546, 0.4884, 0.6568, 0.8992, 1.272, 1.817, 2.538, 3.439, 4.523",\
                 "0.3302, 0.3972, 0.5436, 0.7186, 0.9566, 1.319, 1.852, 2.568, 3.457, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2337, 0.4382, 0.8001, 1.379, 2.227, 3.358, 4.794, 6.541, 8.612",\
                 "0.1689, 0.2334, 0.4386, 0.8007, 1.38, 2.227, 3.358, 4.785, 6.538, 8.611",\
                 "0.1691, 0.2336, 0.4382, 0.8004, 1.379, 2.227, 3.355, 4.784, 6.531, 8.611",\
                 "0.1686, 0.2332, 0.4386, 0.8016, 1.38, 2.226, 3.359, 4.785, 6.53, 8.614",\
                 "0.181, 0.2432, 0.4456, 0.8058, 1.381, 2.227, 3.358, 4.784, 6.53, 8.614",\
                 "0.1972, 0.2626, 0.464, 0.82, 1.389, 2.227, 3.36, 4.782, 6.53, 8.619",\
                 "0.2168, 0.2818, 0.4824, 0.8396, 1.4, 2.232, 3.359, 4.79, 6.53, 8.618",\
                 "0.2382, 0.3058, 0.505, 0.8616, 1.415, 2.238, 3.359, 4.792, 6.536, 8.608",\
                 "0.2656, 0.3356, 0.5324, 0.8896, 1.434, 2.25, 3.362, 4.785, 6.527, 8.616",\
                 "0.293, 0.365, 0.5644, 0.9244, 1.468, 2.269, 3.372, 4.787, 6.528, 8.61");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3794, 0.4262, 0.5398, 0.6983, 0.9059, 1.179, 1.533, 1.978, 2.522, 3.171",\
                 "0.3972, 0.4439, 0.5575, 0.716, 0.9236, 1.196, 1.551, 1.996, 2.54, 3.189",\
                 "0.4628, 0.5095, 0.6231, 0.7815, 0.9892, 1.262, 1.616, 2.062, 2.606, 3.254",\
                 "0.5919, 0.6384, 0.751, 0.9093, 1.117, 1.389, 1.743, 2.189, 2.733, 3.381",\
                 "0.7551, 0.8062, 0.9257, 1.088, 1.296, 1.568, 1.921, 2.366, 2.91, 3.559",\
                 "0.9279, 0.9838, 1.113, 1.285, 1.497, 1.768, 2.121, 2.565, 3.108, 3.756",\
                 "1.11, 1.171, 1.312, 1.493, 1.71, 1.98, 2.331, 2.775, 3.317, 3.964",\
                 "1.302, 1.367, 1.519, 1.712, 1.934, 2.203, 2.552, 2.994, 3.536, 4.183",\
                 "1.502, 1.572, 1.735, 1.94, 2.168, 2.437, 2.784, 3.224, 3.765, 4.412",\
                 "1.711, 1.786, 1.96, 2.178, 2.412, 2.68, 3.025, 3.463, 4.003, 4.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1273, 0.1704, 0.2814, 0.4646, 0.7495, 1.177, 1.76, 2.505, 3.421, 4.513",\
                 "0.1275, 0.1702, 0.2814, 0.4642, 0.75, 1.177, 1.76, 2.504, 3.421, 4.51",\
                 "0.1277, 0.1705, 0.2815, 0.4637, 0.75, 1.177, 1.76, 2.506, 3.421, 4.514",\
                 "0.1307, 0.1738, 0.2842, 0.4654, 0.7504, 1.177, 1.76, 2.506, 3.419, 4.513",\
                 "0.1588, 0.2026, 0.308, 0.4806, 0.7546, 1.178, 1.76, 2.506, 3.421, 4.511",\
                 "0.1884, 0.2368, 0.3434, 0.512, 0.7698, 1.18, 1.76, 2.506, 3.421, 4.512",\
                 "0.2228, 0.2754, 0.385, 0.5472, 0.788, 1.186, 1.761, 2.507, 3.421, 4.514",\
                 "0.2596, 0.3172, 0.4316, 0.59, 0.8084, 1.191, 1.764, 2.506, 3.418, 4.51",\
                 "0.296, 0.3582, 0.4814, 0.637, 0.8322, 1.197, 1.765, 2.507, 3.42, 4.507",\
                 "0.3362, 0.4012, 0.5338, 0.6864, 0.8596, 1.206, 1.767, 2.509, 3.421, 4.511");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3794, 0.4262, 0.5398, 0.6983, 0.9059, 1.179, 1.533, 1.978, 2.522, 3.171",\
                 "0.3972, 0.4439, 0.5575, 0.716, 0.9236, 1.196, 1.551, 1.996, 2.54, 3.189",\
                 "0.4628, 0.5096, 0.6231, 0.7816, 0.9892, 1.262, 1.616, 2.062, 2.606, 3.254",\
                 "0.5919, 0.6384, 0.751, 0.9093, 1.117, 1.389, 1.743, 2.189, 2.733, 3.381",\
                 "0.7553, 0.8063, 0.926, 1.088, 1.296, 1.568, 1.921, 2.366, 2.91, 3.558",\
                 "0.9279, 0.9839, 1.113, 1.285, 1.497, 1.768, 2.121, 2.565, 3.108, 3.756",\
                 "1.11, 1.171, 1.312, 1.493, 1.71, 1.98, 2.331, 2.774, 3.317, 3.964",\
                 "1.302, 1.367, 1.52, 1.712, 1.934, 2.203, 2.552, 2.994, 3.536, 4.183",\
                 "1.502, 1.572, 1.736, 1.94, 2.168, 2.437, 2.784, 3.224, 3.765, 4.411",\
                 "1.711, 1.786, 1.96, 2.177, 2.412, 2.68, 3.025, 3.463, 4.003, 4.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1273, 0.1704, 0.2814, 0.4646, 0.75, 1.176, 1.76, 2.505, 3.418, 4.511",\
                 "0.1275, 0.1702, 0.2814, 0.4642, 0.75, 1.177, 1.76, 2.504, 3.421, 4.51",\
                 "0.1277, 0.1705, 0.2815, 0.4637, 0.75, 1.177, 1.76, 2.506, 3.421, 4.514",\
                 "0.1307, 0.1738, 0.2842, 0.4654, 0.7504, 1.177, 1.76, 2.506, 3.419, 4.513",\
                 "0.159, 0.2028, 0.3078, 0.4804, 0.7554, 1.177, 1.76, 2.506, 3.421, 4.514",\
                 "0.1884, 0.237, 0.3442, 0.5124, 0.77, 1.18, 1.761, 2.505, 3.421, 4.514",\
                 "0.2228, 0.2754, 0.385, 0.5472, 0.7882, 1.186, 1.761, 2.505, 3.421, 4.513",\
                 "0.2584, 0.317, 0.4314, 0.59, 0.8084, 1.191, 1.764, 2.508, 3.418, 4.507",\
                 "0.296, 0.3582, 0.4818, 0.637, 0.8322, 1.198, 1.764, 2.507, 3.42, 4.508",\
                 "0.336, 0.401, 0.5338, 0.687, 0.8602, 1.206, 1.767, 2.509, 3.421, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3791, 0.4255, 0.5388, 0.6968, 0.9039, 1.178, 1.532, 1.979, 2.523, 3.173",\
                 "0.3969, 0.4432, 0.5565, 0.7145, 0.9217, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4625, 0.5088, 0.6221, 0.7801, 0.9873, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5913, 0.6375, 0.7502, 0.9079, 1.115, 1.389, 1.743, 2.19, 2.734, 3.383",\
                 "0.7537, 0.8043, 0.9239, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9252, 0.9807, 1.11, 1.282, 1.496, 1.771, 2.124, 2.57, 3.114, 3.762",\
                 "1.106, 1.166, 1.308, 1.49, 1.711, 1.988, 2.343, 2.787, 3.33, 3.978",\
                 "1.295, 1.361, 1.514, 1.709, 1.941, 2.223, 2.578, 3.022, 3.565, 4.212",\
                 "1.492, 1.563, 1.728, 1.937, 2.181, 2.471, 2.83, 3.275, 3.818, 4.465",\
                 "1.699, 1.774, 1.95, 2.174, 2.432, 2.731, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6273, 0.6866, 0.8461, 1.098, 1.455, 1.945, 2.587, 3.399, 4.389, 5.57",\
                 "0.6386, 0.6978, 0.8575, 1.109, 1.466, 1.956, 2.599, 3.41, 4.4, 5.582",\
                 "0.6749, 0.7341, 0.8935, 1.145, 1.503, 1.992, 2.635, 3.446, 4.437, 5.617",\
                 "0.7529, 0.812, 0.9711, 1.222, 1.579, 2.069, 2.711, 3.522, 4.513, 5.694",\
                 "0.871, 0.9316, 1.092, 1.343, 1.698, 2.187, 2.828, 3.639, 4.63, 5.808",\
                 "0.9935, 1.057, 1.222, 1.476, 1.833, 2.321, 2.961, 3.769, 4.757, 5.94",\
                 "1.118, 1.183, 1.353, 1.611, 1.97, 2.457, 3.096, 3.904, 4.891, 6.074",\
                 "1.243, 1.312, 1.486, 1.75, 2.111, 2.596, 3.235, 4.041, 5.027, 6.206",\
                 "1.362, 1.435, 1.617, 1.887, 2.252, 2.739, 3.376, 4.18, 5.165, 6.34",\
                 "1.473, 1.55, 1.741, 2.019, 2.392, 2.882, 3.518, 4.322, 5.305, 6.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1263, 0.1692, 0.2806, 0.4634, 0.7525, 1.184, 1.77, 2.515, 3.433, 4.522",\
                 "0.1261, 0.169, 0.2808, 0.4633, 0.7527, 1.184, 1.77, 2.516, 3.434, 4.525",\
                 "0.1261, 0.1691, 0.2809, 0.4634, 0.7523, 1.184, 1.768, 2.516, 3.434, 4.525",\
                 "0.1297, 0.1722, 0.2834, 0.4646, 0.7534, 1.184, 1.77, 2.518, 3.431, 4.525",\
                 "0.1566, 0.2004, 0.3076, 0.4798, 0.7608, 1.186, 1.769, 2.517, 3.434, 4.524",\
                 "0.1858, 0.2338, 0.343, 0.5124, 0.7804, 1.194, 1.773, 2.518, 3.434, 4.527",\
                 "0.219, 0.2726, 0.387, 0.5518, 0.8092, 1.211, 1.779, 2.519, 3.431, 4.52",\
                 "0.254, 0.3112, 0.4358, 0.6006, 0.8478, 1.235, 1.794, 2.524, 3.432, 4.522",\
                 "0.292, 0.3546, 0.4888, 0.6568, 0.9, 1.272, 1.815, 2.538, 3.441, 4.525",\
                 "0.3302, 0.3972, 0.5436, 0.719, 0.9572, 1.319, 1.853, 2.568, 3.458, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1697, 0.2337, 0.4381, 0.8001, 1.379, 2.227, 3.358, 4.783, 6.541, 8.612",\
                 "0.1689, 0.2334, 0.4386, 0.8007, 1.38, 2.227, 3.358, 4.785, 6.538, 8.611",\
                 "0.1701, 0.2342, 0.4384, 0.8004, 1.379, 2.227, 3.358, 4.793, 6.541, 8.612",\
                 "0.1686, 0.2332, 0.4386, 0.8016, 1.38, 2.226, 3.359, 4.785, 6.53, 8.614",\
                 "0.1806, 0.2432, 0.4456, 0.804, 1.381, 2.227, 3.359, 4.785, 6.53, 8.627",\
                 "0.1972, 0.2626, 0.464, 0.82, 1.389, 2.23, 3.359, 4.787, 6.527, 8.613",\
                 "0.2168, 0.2818, 0.4826, 0.8388, 1.4, 2.232, 3.359, 4.79, 6.533, 8.61",\
                 "0.2382, 0.3058, 0.505, 0.8598, 1.412, 2.239, 3.359, 4.792, 6.536, 8.608",\
                 "0.2656, 0.3356, 0.5324, 0.8896, 1.434, 2.25, 3.362, 4.788, 6.527, 8.613",\
                 "0.293, 0.365, 0.565, 0.9244, 1.468, 2.269, 3.374, 4.787, 6.528, 8.61");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3791, 0.4255, 0.5387, 0.6968, 0.9039, 1.178, 1.532, 1.979, 2.523, 3.173",\
                 "0.3969, 0.4432, 0.5565, 0.7145, 0.9217, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4625, 0.5088, 0.622, 0.7801, 0.9872, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5913, 0.6375, 0.75, 0.9079, 1.115, 1.389, 1.743, 2.19, 2.734, 3.383",\
                 "0.7538, 0.8045, 0.924, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.925, 0.9806, 1.11, 1.282, 1.496, 1.771, 2.124, 2.57, 3.113, 3.762",\
                 "1.106, 1.166, 1.308, 1.49, 1.711, 1.989, 2.343, 2.788, 3.33, 3.979",\
                 "1.295, 1.361, 1.513, 1.709, 1.94, 2.223, 2.578, 3.022, 3.565, 4.212",\
                 "1.493, 1.563, 1.727, 1.937, 2.181, 2.471, 2.83, 3.275, 3.817, 4.465",\
                 "1.699, 1.774, 1.95, 2.174, 2.432, 2.732, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6275, 0.6866, 0.8458, 1.098, 1.455, 1.945, 2.587, 3.399, 4.389, 5.57",\
                 "0.6386, 0.6978, 0.8575, 1.109, 1.466, 1.956, 2.599, 3.41, 4.4, 5.582",\
                 "0.6752, 0.7343, 0.8937, 1.145, 1.503, 1.992, 2.635, 3.445, 4.437, 5.617",\
                 "0.7529, 0.812, 0.9711, 1.222, 1.579, 2.069, 2.711, 3.522, 4.513, 5.694",\
                 "0.8708, 0.9312, 1.092, 1.343, 1.698, 2.187, 2.829, 3.639, 4.628, 5.81",\
                 "0.9932, 1.056, 1.221, 1.476, 1.833, 2.32, 2.961, 3.77, 4.759, 5.94",\
                 "1.118, 1.184, 1.353, 1.612, 1.97, 2.457, 3.096, 3.904, 4.893, 6.071",\
                 "1.243, 1.312, 1.486, 1.751, 2.111, 2.597, 3.235, 4.041, 5.027, 6.206",\
                 "1.362, 1.435, 1.617, 1.888, 2.253, 2.739, 3.375, 4.18, 5.165, 6.34",\
                 "1.473, 1.55, 1.741, 2.018, 2.392, 2.881, 3.518, 4.323, 5.306, 6.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1266, 0.1692, 0.2809, 0.4626, 0.753, 1.184, 1.77, 2.517, 3.432, 4.521",\
                 "0.126, 0.169, 0.2808, 0.4633, 0.7527, 1.184, 1.77, 2.516, 3.434, 4.525",\
                 "0.126, 0.1691, 0.2809, 0.4634, 0.7523, 1.184, 1.768, 2.516, 3.434, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4646, 0.7536, 1.184, 1.77, 2.518, 3.43, 4.525",\
                 "0.157, 0.2004, 0.308, 0.4794, 0.761, 1.187, 1.771, 2.515, 3.433, 4.521",\
                 "0.1864, 0.2348, 0.3442, 0.5122, 0.7802, 1.194, 1.773, 2.518, 3.434, 4.527",\
                 "0.2188, 0.272, 0.387, 0.5524, 0.8084, 1.21, 1.779, 2.519, 3.433, 4.526",\
                 "0.2536, 0.3116, 0.436, 0.6022, 0.8484, 1.235, 1.793, 2.524, 3.432, 4.522",\
                 "0.2916, 0.355, 0.4888, 0.6582, 0.8992, 1.271, 1.817, 2.538, 3.439, 4.523",\
                 "0.3302, 0.3974, 0.543, 0.7194, 0.9558, 1.319, 1.853, 2.566, 3.456, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.169, 0.2337, 0.4392, 0.8004, 1.379, 2.227, 3.358, 4.793, 6.539, 8.61",\
                 "0.1689, 0.2334, 0.4386, 0.8007, 1.38, 2.227, 3.358, 4.785, 6.538, 8.611",\
                 "0.169, 0.2333, 0.4386, 0.8012, 1.378, 2.227, 3.358, 4.784, 6.531, 8.613",\
                 "0.1686, 0.2332, 0.4386, 0.8016, 1.38, 2.226, 3.359, 4.785, 6.53, 8.614",\
                 "0.1804, 0.2434, 0.4458, 0.8044, 1.383, 2.227, 3.356, 4.792, 6.537, 8.612",\
                 "0.1968, 0.2622, 0.4642, 0.8204, 1.389, 2.23, 3.359, 4.784, 6.536, 8.614",\
                 "0.2162, 0.2816, 0.4824, 0.839, 1.4, 2.232, 3.355, 4.79, 6.542, 8.618",\
                 "0.239, 0.3072, 0.506, 0.8606, 1.416, 2.238, 3.359, 4.793, 6.535, 8.61",\
                 "0.2654, 0.3352, 0.5324, 0.8884, 1.434, 2.25, 3.363, 4.785, 6.535, 8.617",\
                 "0.293, 0.3662, 0.5662, 0.9236, 1.469, 2.27, 3.375, 4.788, 6.528, 8.611");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3794, 0.4262, 0.5398, 0.6983, 0.9059, 1.179, 1.533, 1.978, 2.522, 3.171",\
                 "0.3972, 0.4439, 0.5575, 0.716, 0.9236, 1.196, 1.551, 1.996, 2.54, 3.189",\
                 "0.4628, 0.5096, 0.6229, 0.7816, 0.9892, 1.262, 1.616, 2.061, 2.606, 3.254",\
                 "0.5919, 0.6384, 0.751, 0.9093, 1.117, 1.389, 1.743, 2.189, 2.733, 3.381",\
                 "0.7551, 0.8062, 0.9257, 1.088, 1.296, 1.568, 1.921, 2.366, 2.91, 3.559",\
                 "0.9278, 0.9837, 1.113, 1.285, 1.497, 1.768, 2.121, 2.565, 3.108, 3.756",\
                 "1.11, 1.171, 1.312, 1.493, 1.709, 1.98, 2.331, 2.774, 3.317, 3.965",\
                 "1.302, 1.367, 1.52, 1.712, 1.933, 2.203, 2.552, 2.994, 3.536, 4.183",\
                 "1.502, 1.572, 1.736, 1.94, 2.168, 2.437, 2.784, 3.224, 3.765, 4.412",\
                 "1.711, 1.786, 1.96, 2.178, 2.412, 2.68, 3.025, 3.463, 4.003, 4.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1273, 0.1704, 0.2814, 0.4646, 0.75, 1.177, 1.76, 2.505, 3.418, 4.511",\
                 "0.1275, 0.1702, 0.2814, 0.4642, 0.75, 1.177, 1.76, 2.504, 3.421, 4.51",\
                 "0.1277, 0.1706, 0.2818, 0.4647, 0.7495, 1.177, 1.759, 2.506, 3.421, 4.513",\
                 "0.1307, 0.1738, 0.2842, 0.4654, 0.7504, 1.177, 1.76, 2.506, 3.419, 4.513",\
                 "0.1588, 0.2026, 0.308, 0.4806, 0.7546, 1.178, 1.76, 2.506, 3.42, 4.513",\
                 "0.1886, 0.2384, 0.3442, 0.5122, 0.7698, 1.18, 1.76, 2.506, 3.421, 4.511",\
                 "0.2228, 0.2754, 0.3856, 0.5476, 0.7882, 1.186, 1.761, 2.507, 3.421, 4.512",\
                 "0.2584, 0.3154, 0.4316, 0.5894, 0.8082, 1.191, 1.764, 2.508, 3.419, 4.507",\
                 "0.2964, 0.358, 0.4822, 0.637, 0.8322, 1.198, 1.764, 2.507, 3.42, 4.507",\
                 "0.3362, 0.401, 0.5338, 0.6866, 0.8602, 1.206, 1.766, 2.509, 3.419, 4.511");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&!D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3794, 0.4261, 0.5398, 0.6983, 0.9059, 1.179, 1.533, 1.978, 2.522, 3.171",\
                 "0.3972, 0.4439, 0.5574, 0.716, 0.9236, 1.196, 1.55, 1.996, 2.54, 3.189",\
                 "0.4629, 0.5096, 0.6228, 0.7815, 0.9892, 1.262, 1.616, 2.061, 2.606, 3.254",\
                 "0.5919, 0.6384, 0.7512, 0.9095, 1.117, 1.39, 1.744, 2.189, 2.733, 3.382",\
                 "0.7554, 0.8063, 0.926, 1.088, 1.296, 1.568, 1.921, 2.366, 2.91, 3.559",\
                 "0.9281, 0.9838, 1.113, 1.285, 1.497, 1.769, 2.121, 2.565, 3.108, 3.756",\
                 "1.11, 1.171, 1.312, 1.493, 1.71, 1.98, 2.331, 2.774, 3.317, 3.964",\
                 "1.302, 1.367, 1.519, 1.712, 1.934, 2.203, 2.553, 2.995, 3.536, 4.183",\
                 "1.502, 1.573, 1.735, 1.94, 2.168, 2.436, 2.784, 3.225, 3.765, 4.412",\
                 "1.711, 1.786, 1.96, 2.177, 2.412, 2.68, 3.024, 3.463, 4.003, 4.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1274, 0.1705, 0.2814, 0.4641, 0.7499, 1.177, 1.76, 2.506, 3.421, 4.512",\
                 "0.1276, 0.1705, 0.2819, 0.4637, 0.7499, 1.176, 1.76, 2.507, 3.419, 4.513",\
                 "0.1273, 0.1702, 0.2817, 0.464, 0.7499, 1.176, 1.761, 2.506, 3.421, 4.513",\
                 "0.1308, 0.1734, 0.2842, 0.4652, 0.7504, 1.176, 1.76, 2.504, 3.421, 4.511",\
                 "0.159, 0.2028, 0.308, 0.4806, 0.755, 1.177, 1.76, 2.506, 3.42, 4.511",\
                 "0.1892, 0.2368, 0.344, 0.5118, 0.7702, 1.18, 1.761, 2.506, 3.418, 4.513",\
                 "0.2224, 0.275, 0.3844, 0.547, 0.7884, 1.186, 1.761, 2.507, 3.419, 4.514",\
                 "0.2594, 0.316, 0.4322, 0.5898, 0.808, 1.191, 1.764, 2.506, 3.418, 4.507",\
                 "0.2976, 0.358, 0.4818, 0.636, 0.8326, 1.197, 1.765, 2.506, 3.422, 4.509",\
                 "0.336, 0.4006, 0.5334, 0.6866, 0.8602, 1.206, 1.766, 2.508, 3.421, 4.509");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3791, 0.4254, 0.5387, 0.6968, 0.9039, 1.178, 1.532, 1.979, 2.523, 3.173",\
                 "0.3969, 0.4432, 0.5565, 0.7145, 0.9217, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4625, 0.5088, 0.622, 0.7801, 0.9872, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5913, 0.6375, 0.75, 0.9079, 1.115, 1.389, 1.743, 2.19, 2.734, 3.383",\
                 "0.7539, 0.8042, 0.9241, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.562",\
                 "0.9248, 0.9806, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.166, 1.308, 1.49, 1.711, 1.989, 2.343, 2.788, 3.33, 3.978",\
                 "1.295, 1.361, 1.513, 1.709, 1.94, 2.223, 2.578, 3.023, 3.565, 4.212",\
                 "1.493, 1.563, 1.728, 1.937, 2.181, 2.471, 2.83, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.95, 2.175, 2.432, 2.731, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6275, 0.6866, 0.8458, 1.098, 1.455, 1.945, 2.587, 3.399, 4.389, 5.57",\
                 "0.6386, 0.6978, 0.8575, 1.109, 1.466, 1.956, 2.599, 3.41, 4.4, 5.582",\
                 "0.6752, 0.7343, 0.8937, 1.145, 1.503, 1.992, 2.635, 3.445, 4.437, 5.617",\
                 "0.7529, 0.812, 0.9711, 1.222, 1.579, 2.069, 2.711, 3.522, 4.513, 5.694",\
                 "0.871, 0.9315, 1.092, 1.343, 1.698, 2.187, 2.829, 3.639, 4.629, 5.81",\
                 "0.9932, 1.056, 1.221, 1.476, 1.833, 2.32, 2.961, 3.77, 4.759, 5.94",\
                 "1.118, 1.184, 1.353, 1.612, 1.97, 2.457, 3.096, 3.903, 4.893, 6.071",\
                 "1.243, 1.312, 1.486, 1.751, 2.111, 2.597, 3.235, 4.041, 5.027, 6.206",\
                 "1.362, 1.435, 1.617, 1.888, 2.253, 2.739, 3.376, 4.18, 5.165, 6.34",\
                 "1.473, 1.551, 1.74, 2.018, 2.392, 2.881, 3.518, 4.323, 5.306, 6.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1266, 0.169, 0.2809, 0.4626, 0.753, 1.184, 1.77, 2.517, 3.432, 4.521",\
                 "0.126, 0.169, 0.2808, 0.4633, 0.7527, 1.184, 1.77, 2.516, 3.434, 4.525",\
                 "0.126, 0.1691, 0.2809, 0.4634, 0.7523, 1.184, 1.768, 2.516, 3.434, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4646, 0.7536, 1.184, 1.77, 2.518, 3.43, 4.525",\
                 "0.1566, 0.2008, 0.3076, 0.4796, 0.7602, 1.186, 1.771, 2.515, 3.433, 4.522",\
                 "0.186, 0.2348, 0.3442, 0.512, 0.7802, 1.194, 1.773, 2.518, 3.433, 4.527",\
                 "0.219, 0.272, 0.3872, 0.5518, 0.8084, 1.21, 1.779, 2.519, 3.429, 4.523",\
                 "0.2534, 0.3116, 0.436, 0.6022, 0.8484, 1.235, 1.793, 2.524, 3.432, 4.523",\
                 "0.2916, 0.355, 0.4886, 0.6582, 0.8992, 1.271, 1.817, 2.54, 3.44, 4.524",\
                 "0.3316, 0.3988, 0.543, 0.719, 0.9558, 1.319, 1.853, 2.566, 3.458, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.169, 0.2336, 0.4384, 0.8006, 1.379, 2.227, 3.358, 4.793, 6.54, 8.611",\
                 "0.1689, 0.2334, 0.4386, 0.8007, 1.38, 2.227, 3.358, 4.785, 6.538, 8.611",\
                 "0.1689, 0.2337, 0.4386, 0.8012, 1.378, 2.227, 3.358, 4.783, 6.531, 8.613",\
                 "0.1686, 0.2332, 0.4386, 0.8016, 1.38, 2.226, 3.359, 4.785, 6.53, 8.614",\
                 "0.1796, 0.2436, 0.4458, 0.8044, 1.383, 2.228, 3.355, 4.793, 6.538, 8.61",\
                 "0.1968, 0.2616, 0.4642, 0.8198, 1.389, 2.23, 3.359, 4.784, 6.536, 8.614",\
                 "0.2162, 0.2814, 0.482, 0.8386, 1.4, 2.232, 3.356, 4.79, 6.528, 8.616",\
                 "0.239, 0.3072, 0.506, 0.859, 1.413, 2.239, 3.36, 4.792, 6.536, 8.624",\
                 "0.2654, 0.3346, 0.5324, 0.8884, 1.434, 2.25, 3.362, 4.785, 6.527, 8.608",\
                 "0.293, 0.3646, 0.566, 0.924, 1.469, 2.27, 3.375, 4.788, 6.528, 8.61");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3791, 0.4254, 0.5387, 0.6968, 0.9039, 1.178, 1.532, 1.979, 2.523, 3.173",\
                 "0.3969, 0.4432, 0.5565, 0.7145, 0.9217, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4625, 0.5088, 0.622, 0.7801, 0.9872, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5913, 0.6375, 0.75, 0.9079, 1.115, 1.389, 1.743, 2.19, 2.734, 3.383",\
                 "0.7538, 0.8042, 0.9241, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.562",\
                 "0.925, 0.9806, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.166, 1.308, 1.49, 1.711, 1.989, 2.343, 2.788, 3.33, 3.979",\
                 "1.295, 1.361, 1.513, 1.709, 1.94, 2.223, 2.578, 3.022, 3.565, 4.212",\
                 "1.493, 1.563, 1.728, 1.937, 2.181, 2.471, 2.83, 3.276, 3.817, 4.465",\
                 "1.699, 1.774, 1.95, 2.175, 2.432, 2.731, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6275, 0.6866, 0.8458, 1.098, 1.455, 1.945, 2.587, 3.399, 4.389, 5.57",\
                 "0.6386, 0.6978, 0.8575, 1.109, 1.466, 1.956, 2.599, 3.41, 4.4, 5.582",\
                 "0.6752, 0.7343, 0.8937, 1.145, 1.503, 1.992, 2.635, 3.445, 4.437, 5.617",\
                 "0.7529, 0.812, 0.9711, 1.222, 1.579, 2.069, 2.711, 3.522, 4.513, 5.694",\
                 "0.871, 0.9315, 1.092, 1.343, 1.698, 2.187, 2.829, 3.639, 4.629, 5.81",\
                 "0.9932, 1.056, 1.221, 1.476, 1.833, 2.32, 2.961, 3.77, 4.759, 5.94",\
                 "1.118, 1.184, 1.353, 1.612, 1.971, 2.457, 3.096, 3.903, 4.893, 6.071",\
                 "1.243, 1.312, 1.486, 1.751, 2.111, 2.597, 3.235, 4.041, 5.027, 6.206",\
                 "1.362, 1.435, 1.617, 1.888, 2.253, 2.739, 3.375, 4.18, 5.165, 6.34",\
                 "1.473, 1.551, 1.74, 2.018, 2.392, 2.881, 3.518, 4.323, 5.306, 6.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1266, 0.169, 0.2809, 0.4626, 0.753, 1.184, 1.77, 2.517, 3.432, 4.521",\
                 "0.126, 0.169, 0.2808, 0.4633, 0.7527, 1.184, 1.77, 2.516, 3.434, 4.525",\
                 "0.126, 0.1691, 0.2809, 0.4634, 0.7523, 1.184, 1.768, 2.516, 3.434, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4646, 0.7536, 1.184, 1.77, 2.518, 3.43, 4.525",\
                 "0.157, 0.2008, 0.3076, 0.4796, 0.7602, 1.186, 1.771, 2.515, 3.433, 4.522",\
                 "0.1864, 0.2348, 0.3442, 0.512, 0.7802, 1.194, 1.773, 2.518, 3.43, 4.527",\
                 "0.2188, 0.272, 0.3872, 0.552, 0.8096, 1.21, 1.779, 2.519, 3.43, 4.521",\
                 "0.2534, 0.3116, 0.436, 0.6022, 0.8484, 1.235, 1.793, 2.525, 3.432, 4.523",\
                 "0.2916, 0.355, 0.4886, 0.6582, 0.8992, 1.271, 1.817, 2.54, 3.439, 4.523",\
                 "0.3316, 0.3988, 0.543, 0.719, 0.9558, 1.319, 1.853, 2.566, 3.456, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.169, 0.2336, 0.4384, 0.8004, 1.379, 2.227, 3.358, 4.793, 6.54, 8.611",\
                 "0.1689, 0.2334, 0.4386, 0.8007, 1.38, 2.227, 3.358, 4.785, 6.538, 8.611",\
                 "0.1689, 0.2337, 0.4386, 0.8012, 1.378, 2.227, 3.358, 4.783, 6.531, 8.613",\
                 "0.1686, 0.2332, 0.4386, 0.8016, 1.38, 2.226, 3.359, 4.785, 6.53, 8.614",\
                 "0.1796, 0.2436, 0.4458, 0.8044, 1.383, 2.228, 3.355, 4.793, 6.538, 8.61",\
                 "0.1968, 0.2616, 0.4642, 0.8198, 1.389, 2.23, 3.359, 4.784, 6.535, 8.614",\
                 "0.2162, 0.2814, 0.482, 0.8386, 1.401, 2.232, 3.36, 4.79, 6.542, 8.618",\
                 "0.239, 0.3072, 0.506, 0.8592, 1.413, 2.239, 3.36, 4.792, 6.536, 8.624",\
                 "0.2654, 0.3352, 0.5324, 0.8884, 1.434, 2.25, 3.364, 4.785, 6.529, 8.618",\
                 "0.293, 0.3646, 0.566, 0.924, 1.469, 2.27, 3.375, 4.788, 6.528, 8.611");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3794, 0.4261, 0.5398, 0.6983, 0.9059, 1.179, 1.533, 1.978, 2.522, 3.171",\
                 "0.3972, 0.444, 0.5574, 0.716, 0.9236, 1.196, 1.55, 1.996, 2.54, 3.189",\
                 "0.4629, 0.5096, 0.6228, 0.7815, 0.9892, 1.262, 1.616, 2.061, 2.606, 3.254",\
                 "0.5919, 0.6384, 0.7512, 0.9095, 1.117, 1.39, 1.744, 2.189, 2.733, 3.382",\
                 "0.7552, 0.8061, 0.9256, 1.088, 1.296, 1.568, 1.921, 2.366, 2.91, 3.559",\
                 "0.9282, 0.9838, 1.114, 1.285, 1.497, 1.768, 2.12, 2.564, 3.108, 3.756",\
                 "1.11, 1.171, 1.312, 1.493, 1.71, 1.98, 2.331, 2.774, 3.317, 3.965",\
                 "1.302, 1.367, 1.519, 1.712, 1.933, 2.203, 2.552, 2.994, 3.536, 4.183",\
                 "1.502, 1.573, 1.735, 1.94, 2.168, 2.437, 2.784, 3.224, 3.765, 4.412",\
                 "1.711, 1.786, 1.96, 2.177, 2.412, 2.679, 3.024, 3.463, 4.003, 4.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1274, 0.1705, 0.2814, 0.4642, 0.7499, 1.176, 1.76, 2.506, 3.421, 4.513",\
                 "0.1276, 0.1703, 0.2819, 0.4637, 0.7499, 1.176, 1.76, 2.505, 3.419, 4.513",\
                 "0.1273, 0.1702, 0.2817, 0.464, 0.7499, 1.176, 1.761, 2.506, 3.421, 4.513",\
                 "0.1308, 0.1734, 0.2842, 0.4656, 0.7504, 1.177, 1.76, 2.506, 3.419, 4.514",\
                 "0.1586, 0.203, 0.3076, 0.4804, 0.755, 1.176, 1.759, 2.506, 3.42, 4.514",\
                 "0.1886, 0.2368, 0.3434, 0.512, 0.77, 1.18, 1.761, 2.506, 3.418, 4.514",\
                 "0.2224, 0.275, 0.3846, 0.5472, 0.7878, 1.186, 1.761, 2.507, 3.422, 4.514",\
                 "0.2586, 0.316, 0.4322, 0.589, 0.8072, 1.191, 1.764, 2.507, 3.418, 4.51",\
                 "0.2966, 0.358, 0.4822, 0.6368, 0.8328, 1.198, 1.764, 2.507, 3.421, 4.508",\
                 "0.336, 0.401, 0.5334, 0.6864, 0.8602, 1.205, 1.766, 2.508, 3.421, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3794, 0.4261, 0.5398, 0.6983, 0.9059, 1.179, 1.533, 1.978, 2.522, 3.171",\
                 "0.3972, 0.444, 0.5574, 0.716, 0.9236, 1.196, 1.55, 1.996, 2.54, 3.189",\
                 "0.4629, 0.5096, 0.6228, 0.7815, 0.9892, 1.262, 1.616, 2.061, 2.606, 3.254",\
                 "0.5919, 0.6384, 0.7512, 0.9095, 1.117, 1.39, 1.744, 2.189, 2.733, 3.382",\
                 "0.7554, 0.8063, 0.9256, 1.088, 1.296, 1.568, 1.921, 2.366, 2.91, 3.559",\
                 "0.9282, 0.9835, 1.113, 1.285, 1.497, 1.768, 2.12, 2.565, 3.108, 3.756",\
                 "1.11, 1.171, 1.312, 1.493, 1.71, 1.98, 2.331, 2.774, 3.317, 3.964",\
                 "1.301, 1.367, 1.519, 1.712, 1.934, 2.203, 2.552, 2.994, 3.536, 4.183",\
                 "1.502, 1.573, 1.735, 1.94, 2.168, 2.437, 2.784, 3.224, 3.765, 4.412",\
                 "1.711, 1.786, 1.96, 2.177, 2.412, 2.679, 3.024, 3.463, 4.003, 4.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1274, 0.1705, 0.2814, 0.4642, 0.7499, 1.176, 1.761, 2.506, 3.421, 4.512",\
                 "0.1276, 0.1703, 0.2819, 0.4637, 0.7499, 1.176, 1.76, 2.505, 3.419, 4.513",\
                 "0.1273, 0.1702, 0.2817, 0.464, 0.7499, 1.176, 1.761, 2.506, 3.421, 4.513",\
                 "0.1308, 0.1734, 0.2842, 0.4656, 0.7504, 1.176, 1.76, 2.506, 3.419, 4.514",\
                 "0.159, 0.2028, 0.308, 0.4804, 0.755, 1.177, 1.759, 2.506, 3.42, 4.514",\
                 "0.1886, 0.2384, 0.3432, 0.5122, 0.7698, 1.18, 1.761, 2.506, 3.418, 4.514",\
                 "0.2224, 0.275, 0.3844, 0.5472, 0.7874, 1.187, 1.761, 2.507, 3.422, 4.514",\
                 "0.2588, 0.316, 0.4314, 0.5892, 0.8084, 1.192, 1.763, 2.507, 3.419, 4.51",\
                 "0.2968, 0.358, 0.482, 0.637, 0.8324, 1.198, 1.764, 2.506, 3.421, 4.508",\
                 "0.336, 0.401, 0.5332, 0.6864, 0.8602, 1.205, 1.766, 2.509, 3.423, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3791, 0.4255, 0.5388, 0.6968, 0.9039, 1.178, 1.532, 1.979, 2.523, 3.173",\
                 "0.3969, 0.4432, 0.5565, 0.7145, 0.9217, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4625, 0.5088, 0.6221, 0.7801, 0.9873, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5913, 0.6375, 0.7502, 0.9079, 1.115, 1.389, 1.743, 2.19, 2.734, 3.383",\
                 "0.7537, 0.8043, 0.9239, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.925, 0.9803, 1.11, 1.282, 1.496, 1.77, 2.124, 2.57, 3.113, 3.762",\
                 "1.106, 1.166, 1.308, 1.49, 1.711, 1.989, 2.343, 2.787, 3.331, 3.979",\
                 "1.295, 1.361, 1.514, 1.709, 1.941, 2.223, 2.578, 3.022, 3.565, 4.212",\
                 "1.492, 1.563, 1.728, 1.937, 2.181, 2.471, 2.831, 3.275, 3.818, 4.465",\
                 "1.699, 1.774, 1.95, 2.174, 2.432, 2.731, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6273, 0.6866, 0.8461, 1.098, 1.455, 1.945, 2.587, 3.399, 4.389, 5.57",\
                 "0.6386, 0.6978, 0.8575, 1.109, 1.466, 1.956, 2.599, 3.41, 4.4, 5.582",\
                 "0.6749, 0.7341, 0.8935, 1.145, 1.503, 1.992, 2.635, 3.446, 4.437, 5.617",\
                 "0.7529, 0.812, 0.9711, 1.222, 1.579, 2.069, 2.711, 3.522, 4.513, 5.694",\
                 "0.871, 0.9315, 1.091, 1.343, 1.698, 2.187, 2.828, 3.639, 4.63, 5.808",\
                 "0.9935, 1.057, 1.222, 1.476, 1.833, 2.321, 2.961, 3.77, 4.761, 5.939",\
                 "1.118, 1.184, 1.353, 1.612, 1.97, 2.457, 3.096, 3.904, 4.891, 6.074",\
                 "1.243, 1.312, 1.486, 1.75, 2.111, 2.596, 3.235, 4.041, 5.027, 6.206",\
                 "1.362, 1.435, 1.617, 1.887, 2.252, 2.739, 3.376, 4.18, 5.165, 6.34",\
                 "1.473, 1.55, 1.74, 2.019, 2.392, 2.882, 3.518, 4.322, 5.306, 6.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1263, 0.1692, 0.2806, 0.4634, 0.7525, 1.184, 1.77, 2.515, 3.433, 4.522",\
                 "0.1261, 0.169, 0.2808, 0.4633, 0.7527, 1.184, 1.77, 2.516, 3.434, 4.525",\
                 "0.1261, 0.1691, 0.2809, 0.4634, 0.7523, 1.184, 1.768, 2.516, 3.434, 4.525",\
                 "0.1297, 0.1722, 0.2834, 0.4646, 0.7534, 1.184, 1.77, 2.518, 3.431, 4.525",\
                 "0.1566, 0.2004, 0.3076, 0.4798, 0.7608, 1.186, 1.769, 2.517, 3.434, 4.524",\
                 "0.186, 0.2344, 0.3442, 0.5132, 0.7804, 1.194, 1.773, 2.517, 3.434, 4.527",\
                 "0.219, 0.2726, 0.3868, 0.552, 0.8096, 1.211, 1.78, 2.519, 3.431, 4.525",\
                 "0.2538, 0.3112, 0.4358, 0.6004, 0.848, 1.235, 1.794, 2.524, 3.432, 4.522",\
                 "0.292, 0.3546, 0.4888, 0.6566, 0.8988, 1.272, 1.816, 2.537, 3.439, 4.524",\
                 "0.3302, 0.3972, 0.5436, 0.7186, 0.9566, 1.319, 1.852, 2.57, 3.456, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1697, 0.2337, 0.4381, 0.8001, 1.379, 2.227, 3.358, 4.783, 6.541, 8.612",\
                 "0.1689, 0.2334, 0.4386, 0.8007, 1.38, 2.227, 3.358, 4.785, 6.538, 8.611",\
                 "0.1701, 0.2342, 0.4384, 0.8004, 1.379, 2.227, 3.358, 4.793, 6.541, 8.612",\
                 "0.1686, 0.2332, 0.4386, 0.8016, 1.38, 2.226, 3.359, 4.785, 6.53, 8.614",\
                 "0.1798, 0.2432, 0.4452, 0.804, 1.381, 2.227, 3.359, 4.785, 6.53, 8.627",\
                 "0.1972, 0.2626, 0.464, 0.82, 1.389, 2.227, 3.36, 4.782, 6.53, 8.619",\
                 "0.2168, 0.2818, 0.4824, 0.8396, 1.401, 2.232, 3.359, 4.79, 6.533, 8.609",\
                 "0.2384, 0.306, 0.505, 0.8598, 1.415, 2.239, 3.36, 4.792, 6.536, 8.608",\
                 "0.2656, 0.3356, 0.5324, 0.8896, 1.434, 2.25, 3.362, 4.788, 6.527, 8.616",\
                 "0.293, 0.3652, 0.5642, 0.9244, 1.468, 2.269, 3.372, 4.787, 6.528, 8.608");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3791, 0.4255, 0.5387, 0.6968, 0.9039, 1.178, 1.532, 1.979, 2.523, 3.173",\
                 "0.3969, 0.4432, 0.5565, 0.7145, 0.9217, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4625, 0.5088, 0.622, 0.7801, 0.9872, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5913, 0.6375, 0.75, 0.9079, 1.115, 1.389, 1.743, 2.19, 2.734, 3.383",\
                 "0.7538, 0.8042, 0.9241, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.562",\
                 "0.925, 0.9806, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.166, 1.307, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.978",\
                 "1.295, 1.361, 1.514, 1.709, 1.94, 2.223, 2.578, 3.023, 3.565, 4.212",\
                 "1.493, 1.563, 1.727, 1.937, 2.181, 2.471, 2.83, 3.275, 3.817, 4.465",\
                 "1.699, 1.774, 1.95, 2.175, 2.432, 2.732, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6275, 0.6866, 0.8458, 1.098, 1.455, 1.945, 2.587, 3.399, 4.389, 5.57",\
                 "0.6386, 0.6978, 0.8575, 1.109, 1.466, 1.956, 2.599, 3.41, 4.4, 5.582",\
                 "0.6752, 0.7343, 0.8937, 1.145, 1.503, 1.992, 2.635, 3.445, 4.437, 5.617",\
                 "0.7529, 0.812, 0.9711, 1.222, 1.579, 2.069, 2.711, 3.522, 4.513, 5.694",\
                 "0.871, 0.9313, 1.092, 1.343, 1.698, 2.187, 2.829, 3.639, 4.63, 5.806",\
                 "0.9932, 1.056, 1.221, 1.476, 1.833, 2.32, 2.961, 3.77, 4.759, 5.94",\
                 "1.118, 1.184, 1.353, 1.612, 1.971, 2.457, 3.096, 3.904, 4.893, 6.074",\
                 "1.243, 1.312, 1.486, 1.75, 2.111, 2.597, 3.235, 4.041, 5.027, 6.206",\
                 "1.362, 1.435, 1.617, 1.888, 2.253, 2.739, 3.375, 4.18, 5.165, 6.34",\
                 "1.473, 1.55, 1.741, 2.018, 2.392, 2.881, 3.518, 4.323, 5.306, 6.481");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1266, 0.1692, 0.2809, 0.4626, 0.753, 1.184, 1.77, 2.517, 3.432, 4.521",\
                 "0.126, 0.169, 0.2808, 0.4633, 0.7527, 1.184, 1.77, 2.516, 3.434, 4.525",\
                 "0.126, 0.1691, 0.2809, 0.4634, 0.7523, 1.184, 1.768, 2.516, 3.434, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4646, 0.7536, 1.184, 1.77, 2.518, 3.43, 4.525",\
                 "0.157, 0.2008, 0.3076, 0.4796, 0.7602, 1.186, 1.771, 2.515, 3.433, 4.522",\
                 "0.1864, 0.2348, 0.3442, 0.512, 0.7802, 1.194, 1.773, 2.518, 3.433, 4.527",\
                 "0.219, 0.2718, 0.3872, 0.552, 0.8082, 1.21, 1.78, 2.52, 3.432, 4.521",\
                 "0.2538, 0.3114, 0.4354, 0.602, 0.8494, 1.235, 1.793, 2.524, 3.432, 4.523",\
                 "0.2914, 0.355, 0.489, 0.657, 0.8996, 1.272, 1.817, 2.538, 3.44, 4.523",\
                 "0.33, 0.3974, 0.543, 0.7184, 0.9558, 1.319, 1.853, 2.566, 3.456, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.169, 0.2337, 0.4392, 0.8004, 1.379, 2.227, 3.358, 4.793, 6.539, 8.61",\
                 "0.1689, 0.2334, 0.4386, 0.8007, 1.38, 2.227, 3.358, 4.785, 6.538, 8.611",\
                 "0.169, 0.2333, 0.4386, 0.8012, 1.378, 2.227, 3.358, 4.784, 6.531, 8.613",\
                 "0.1686, 0.2332, 0.4386, 0.8016, 1.38, 2.226, 3.359, 4.785, 6.53, 8.614",\
                 "0.1796, 0.243, 0.4458, 0.8044, 1.383, 2.228, 3.36, 4.785, 6.529, 8.616",\
                 "0.1968, 0.2616, 0.4636, 0.8198, 1.389, 2.228, 3.359, 4.784, 6.536, 8.614",\
                 "0.2164, 0.2814, 0.482, 0.8386, 1.4, 2.232, 3.358, 4.79, 6.527, 8.611",\
                 "0.239, 0.3072, 0.506, 0.8604, 1.416, 2.238, 3.359, 4.792, 6.536, 8.624",\
                 "0.2654, 0.3352, 0.5324, 0.8884, 1.434, 2.25, 3.364, 4.785, 6.535, 8.618",\
                 "0.293, 0.3662, 0.5662, 0.924, 1.469, 2.27, 3.375, 4.788, 6.528, 8.611");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3794, 0.4262, 0.5398, 0.6983, 0.9059, 1.179, 1.533, 1.978, 2.522, 3.171",\
                 "0.3972, 0.4439, 0.5575, 0.716, 0.9236, 1.196, 1.551, 1.996, 2.54, 3.189",\
                 "0.4628, 0.5096, 0.6229, 0.7816, 0.9892, 1.262, 1.616, 2.061, 2.606, 3.254",\
                 "0.5919, 0.6384, 0.751, 0.9093, 1.117, 1.389, 1.743, 2.189, 2.733, 3.381",\
                 "0.7551, 0.8062, 0.9257, 1.088, 1.296, 1.568, 1.921, 2.366, 2.91, 3.559",\
                 "0.9278, 0.9837, 1.113, 1.285, 1.497, 1.768, 2.121, 2.565, 3.108, 3.756",\
                 "1.11, 1.171, 1.312, 1.493, 1.71, 1.98, 2.331, 2.774, 3.317, 3.964",\
                 "1.302, 1.367, 1.519, 1.712, 1.933, 2.203, 2.552, 2.994, 3.536, 4.183",\
                 "1.502, 1.572, 1.736, 1.94, 2.168, 2.437, 2.784, 3.225, 3.765, 4.412",\
                 "1.711, 1.786, 1.96, 2.178, 2.412, 2.68, 3.025, 3.463, 4.003, 4.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1273, 0.1704, 0.2814, 0.4646, 0.75, 1.177, 1.76, 2.505, 3.418, 4.511",\
                 "0.1275, 0.1702, 0.2814, 0.4642, 0.75, 1.177, 1.76, 2.504, 3.421, 4.51",\
                 "0.1277, 0.1706, 0.2818, 0.4647, 0.7498, 1.177, 1.759, 2.506, 3.421, 4.509",\
                 "0.1307, 0.1738, 0.2842, 0.4654, 0.7504, 1.177, 1.76, 2.506, 3.419, 4.513",\
                 "0.1588, 0.2026, 0.308, 0.4806, 0.7546, 1.178, 1.76, 2.506, 3.42, 4.513",\
                 "0.1886, 0.2384, 0.3442, 0.512, 0.7698, 1.18, 1.76, 2.506, 3.421, 4.512",\
                 "0.223, 0.2754, 0.3856, 0.5476, 0.7884, 1.186, 1.762, 2.507, 3.418, 4.512",\
                 "0.2584, 0.3156, 0.4316, 0.59, 0.8082, 1.191, 1.764, 2.508, 3.419, 4.507",\
                 "0.2964, 0.3586, 0.4822, 0.637, 0.8322, 1.198, 1.764, 2.506, 3.421, 4.507",\
                 "0.3362, 0.401, 0.5338, 0.6866, 0.8602, 1.206, 1.767, 2.509, 3.419, 4.512");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "!CLK&D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3794, 0.4261, 0.5398, 0.6983, 0.9059, 1.179, 1.533, 1.978, 2.522, 3.171",\
                 "0.3972, 0.4439, 0.5574, 0.716, 0.9236, 1.196, 1.55, 1.996, 2.54, 3.189",\
                 "0.4629, 0.5096, 0.6228, 0.7815, 0.9892, 1.262, 1.616, 2.061, 2.606, 3.254",\
                 "0.5919, 0.6384, 0.7512, 0.9095, 1.117, 1.39, 1.744, 2.189, 2.733, 3.382",\
                 "0.7552, 0.8061, 0.9256, 1.088, 1.296, 1.568, 1.921, 2.366, 2.91, 3.559",\
                 "0.9277, 0.9838, 1.113, 1.285, 1.497, 1.768, 2.121, 2.565, 3.108, 3.756",\
                 "1.11, 1.171, 1.312, 1.493, 1.71, 1.98, 2.331, 2.775, 3.317, 3.964",\
                 "1.301, 1.367, 1.519, 1.712, 1.934, 2.203, 2.552, 2.994, 3.536, 4.183",\
                 "1.502, 1.573, 1.735, 1.94, 2.168, 2.437, 2.784, 3.224, 3.765, 4.412",\
                 "1.711, 1.786, 1.96, 2.177, 2.412, 2.679, 3.025, 3.463, 4.003, 4.648");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1274, 0.1705, 0.2814, 0.4641, 0.7499, 1.177, 1.76, 2.506, 3.421, 4.512",\
                 "0.1276, 0.1705, 0.2819, 0.4637, 0.7499, 1.176, 1.76, 2.505, 3.419, 4.513",\
                 "0.1273, 0.1702, 0.2817, 0.464, 0.7499, 1.176, 1.761, 2.506, 3.421, 4.513",\
                 "0.1308, 0.1736, 0.2842, 0.4656, 0.7504, 1.176, 1.76, 2.506, 3.419, 4.512",\
                 "0.1586, 0.203, 0.3076, 0.4804, 0.755, 1.177, 1.759, 2.506, 3.42, 4.513",\
                 "0.189, 0.2374, 0.343, 0.5118, 0.7702, 1.18, 1.76, 2.507, 3.42, 4.511",\
                 "0.2226, 0.2752, 0.3846, 0.5472, 0.7876, 1.186, 1.761, 2.507, 3.419, 4.514",\
                 "0.2588, 0.316, 0.433, 0.5896, 0.808, 1.191, 1.764, 2.507, 3.419, 4.511",\
                 "0.2976, 0.358, 0.4818, 0.636, 0.8322, 1.198, 1.765, 2.507, 3.42, 4.508",\
                 "0.3352, 0.401, 0.534, 0.6866, 0.8602, 1.206, 1.765, 2.509, 3.421, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4256, 0.5389, 0.6969, 0.9041, 1.178, 1.533, 1.979, 2.523, 3.173",\
                 "0.397, 0.4435, 0.5567, 0.7146, 0.9219, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4627, 0.509, 0.6223, 0.7802, 0.9874, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5914, 0.6376, 0.7503, 0.908, 1.115, 1.389, 1.744, 2.19, 2.734, 3.384",\
                 "0.7538, 0.8043, 0.9241, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9253, 0.9808, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.166, 1.307, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.978",\
                 "1.295, 1.36, 1.513, 1.709, 1.94, 2.223, 2.578, 3.022, 3.565, 4.213",\
                 "1.493, 1.563, 1.728, 1.938, 2.181, 2.471, 2.831, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.95, 2.175, 2.432, 2.732, 3.097, 3.546, 4.091, 4.738");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6311, 0.6903, 0.8499, 1.102, 1.459, 1.948, 2.591, 3.401, 4.39, 5.571",\
                 "0.6425, 0.7019, 0.8612, 1.113, 1.47, 1.96, 2.602, 3.412, 4.401, 5.583",\
                 "0.6783, 0.7375, 0.8966, 1.148, 1.505, 1.995, 2.638, 3.449, 4.439, 5.619",\
                 "0.7547, 0.8139, 0.9729, 1.224, 1.581, 2.071, 2.713, 3.524, 4.515, 5.694",\
                 "0.872, 0.9325, 1.093, 1.344, 1.699, 2.187, 2.829, 3.638, 4.628, 5.809",\
                 "0.9942, 1.058, 1.222, 1.477, 1.833, 2.321, 2.962, 3.771, 4.759, 5.94",\
                 "1.119, 1.184, 1.354, 1.613, 1.971, 2.458, 3.097, 3.905, 4.894, 6.071",\
                 "1.244, 1.313, 1.488, 1.752, 2.111, 2.598, 3.236, 4.042, 5.028, 6.207",\
                 "1.363, 1.436, 1.618, 1.888, 2.254, 2.739, 3.377, 4.181, 5.166, 6.342",\
                 "1.475, 1.551, 1.742, 2.02, 2.393, 2.883, 3.519, 4.322, 5.307, 6.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1259, 0.1689, 0.2807, 0.4625, 0.7519, 1.182, 1.769, 2.517, 3.43, 4.524",\
                 "0.1259, 0.1689, 0.2808, 0.4625, 0.7521, 1.182, 1.767, 2.515, 3.428, 4.524",\
                 "0.126, 0.1691, 0.2808, 0.4626, 0.7521, 1.182, 1.768, 2.514, 3.43, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4642, 0.754, 1.183, 1.769, 2.517, 3.432, 4.526",\
                 "0.1566, 0.2006, 0.3078, 0.4792, 0.7604, 1.186, 1.77, 2.516, 3.432, 4.525",\
                 "0.1858, 0.2342, 0.3436, 0.512, 0.7804, 1.194, 1.773, 2.517, 3.433, 4.526",\
                 "0.2188, 0.2716, 0.3876, 0.552, 0.8088, 1.21, 1.779, 2.52, 3.431, 4.524",\
                 "0.2536, 0.3116, 0.4358, 0.6014, 0.848, 1.236, 1.792, 2.524, 3.432, 4.522",\
                 "0.2938, 0.3542, 0.4882, 0.6566, 0.8976, 1.272, 1.817, 2.538, 3.44, 4.524",\
                 "0.33, 0.3978, 0.543, 0.7184, 0.9564, 1.318, 1.854, 2.565, 3.457, 4.533");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2344, 0.4396, 0.8003, 1.381, 2.227, 3.358, 4.784, 6.529, 8.611",\
                 "0.1703, 0.2338, 0.4396, 0.8002, 1.381, 2.227, 3.359, 4.783, 6.527, 8.611",\
                 "0.1687, 0.234, 0.4383, 0.8014, 1.382, 2.227, 3.36, 4.785, 6.531, 8.609",\
                 "0.169, 0.2336, 0.4396, 0.8002, 1.381, 2.225, 3.359, 4.784, 6.529, 8.622",\
                 "0.1798, 0.2438, 0.4454, 0.8054, 1.383, 2.227, 3.36, 4.787, 6.528, 8.61",\
                 "0.198, 0.2618, 0.4644, 0.8202, 1.389, 2.229, 3.359, 4.787, 6.531, 8.61",\
                 "0.2156, 0.2812, 0.4818, 0.8384, 1.401, 2.231, 3.359, 4.784, 6.542, 8.617",\
                 "0.2394, 0.3052, 0.504, 0.8594, 1.413, 2.241, 3.36, 4.791, 6.525, 8.608",\
                 "0.2646, 0.334, 0.534, 0.8882, 1.435, 2.249, 3.362, 4.785, 6.535, 8.615",\
                 "0.2924, 0.3658, 0.5648, 0.9244, 1.469, 2.269, 3.374, 4.793, 6.528, 8.608");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4256, 0.5389, 0.6969, 0.9041, 1.178, 1.533, 1.979, 2.523, 3.173",\
                 "0.397, 0.4435, 0.5567, 0.7146, 0.9219, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4627, 0.509, 0.6223, 0.7802, 0.9874, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5914, 0.6376, 0.7503, 0.908, 1.115, 1.389, 1.744, 2.19, 2.734, 3.384",\
                 "0.7538, 0.8044, 0.9241, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9253, 0.9808, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.166, 1.307, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.978",\
                 "1.295, 1.36, 1.513, 1.709, 1.94, 2.223, 2.578, 3.022, 3.565, 4.213",\
                 "1.493, 1.563, 1.728, 1.938, 2.181, 2.472, 2.831, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.951, 2.175, 2.432, 2.732, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6311, 0.6903, 0.8499, 1.102, 1.459, 1.948, 2.591, 3.401, 4.39, 5.571",\
                 "0.6425, 0.7019, 0.8612, 1.113, 1.47, 1.96, 2.602, 3.412, 4.401, 5.583",\
                 "0.6783, 0.7375, 0.8966, 1.148, 1.505, 1.995, 2.638, 3.449, 4.439, 5.619",\
                 "0.7547, 0.8139, 0.9729, 1.224, 1.581, 2.071, 2.713, 3.524, 4.515, 5.694",\
                 "0.872, 0.9325, 1.093, 1.344, 1.699, 2.187, 2.829, 3.638, 4.628, 5.809",\
                 "0.9942, 1.058, 1.222, 1.477, 1.833, 2.321, 2.962, 3.771, 4.759, 5.94",\
                 "1.119, 1.184, 1.354, 1.612, 1.971, 2.458, 3.097, 3.905, 4.894, 6.071",\
                 "1.244, 1.313, 1.488, 1.752, 2.111, 2.598, 3.236, 4.042, 5.028, 6.206",\
                 "1.363, 1.436, 1.618, 1.888, 2.254, 2.739, 3.377, 4.181, 5.166, 6.342",\
                 "1.475, 1.551, 1.742, 2.02, 2.393, 2.883, 3.52, 4.322, 5.307, 6.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1259, 0.1689, 0.2807, 0.4625, 0.7519, 1.182, 1.769, 2.517, 3.43, 4.524",\
                 "0.1259, 0.1689, 0.2808, 0.4625, 0.7521, 1.182, 1.767, 2.515, 3.428, 4.524",\
                 "0.126, 0.1691, 0.2808, 0.4626, 0.7521, 1.182, 1.768, 2.514, 3.43, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4642, 0.754, 1.183, 1.769, 2.517, 3.432, 4.526",\
                 "0.1566, 0.2006, 0.3078, 0.4792, 0.7604, 1.186, 1.77, 2.516, 3.432, 4.525",\
                 "0.1858, 0.2342, 0.3436, 0.512, 0.7804, 1.194, 1.773, 2.518, 3.432, 4.52",\
                 "0.2188, 0.2716, 0.3876, 0.552, 0.8088, 1.21, 1.779, 2.52, 3.431, 4.524",\
                 "0.2536, 0.3116, 0.4366, 0.6014, 0.848, 1.236, 1.792, 2.524, 3.432, 4.522",\
                 "0.2938, 0.3546, 0.489, 0.6566, 0.8976, 1.274, 1.817, 2.537, 3.44, 4.524",\
                 "0.33, 0.3972, 0.5422, 0.7182, 0.9564, 1.318, 1.854, 2.567, 3.456, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2344, 0.4396, 0.8003, 1.381, 2.227, 3.358, 4.784, 6.529, 8.611",\
                 "0.1703, 0.2338, 0.4396, 0.8002, 1.381, 2.227, 3.359, 4.783, 6.527, 8.611",\
                 "0.1687, 0.2334, 0.4384, 0.8014, 1.382, 2.227, 3.36, 4.785, 6.531, 8.609",\
                 "0.169, 0.2336, 0.4396, 0.8002, 1.381, 2.225, 3.359, 4.784, 6.529, 8.622",\
                 "0.1798, 0.2438, 0.4454, 0.8054, 1.383, 2.227, 3.36, 4.787, 6.528, 8.61",\
                 "0.198, 0.2618, 0.4644, 0.8202, 1.389, 2.229, 3.359, 4.787, 6.531, 8.61",\
                 "0.2152, 0.2828, 0.482, 0.8402, 1.402, 2.231, 3.359, 4.784, 6.542, 8.617",\
                 "0.2394, 0.3052, 0.504, 0.8594, 1.413, 2.238, 3.361, 4.79, 6.534, 8.622",\
                 "0.2646, 0.334, 0.534, 0.8882, 1.435, 2.249, 3.365, 4.785, 6.535, 8.615",\
                 "0.2924, 0.3658, 0.5648, 0.9244, 1.469, 2.268, 3.373, 4.793, 6.528, 8.608");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4259, 0.5396, 0.6987, 0.9073, 1.183, 1.538, 1.984, 2.528, 3.176",\
                 "0.3971, 0.4436, 0.5574, 0.7165, 0.9251, 1.2, 1.556, 2.001, 2.545, 3.194",\
                 "0.4627, 0.5093, 0.623, 0.782, 0.9907, 1.266, 1.621, 2.067, 2.611, 3.259",\
                 "0.5917, 0.6381, 0.7512, 0.9101, 1.119, 1.393, 1.748, 2.194, 2.738, 3.386",\
                 "0.7549, 0.8058, 0.9259, 1.089, 1.299, 1.572, 1.926, 2.371, 2.915, 3.563",\
                 "0.9273, 0.9831, 1.113, 1.286, 1.501, 1.774, 2.127, 2.571, 3.115, 3.762",\
                 "1.109, 1.17, 1.311, 1.495, 1.716, 1.991, 2.343, 2.786, 3.329, 3.977",\
                 "1.299, 1.365, 1.519, 1.715, 1.945, 2.223, 2.575, 3.017, 3.558, 4.205",\
                 "1.498, 1.568, 1.734, 1.944, 2.187, 2.472, 2.823, 3.264, 3.804, 4.45",\
                 "1.705, 1.78, 1.957, 2.183, 2.44, 2.736, 3.089, 3.528, 4.067, 4.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1265, 0.1697, 0.2824, 0.4648, 0.7555, 1.185, 1.766, 2.507, 3.421, 4.512",\
                 "0.1265, 0.1695, 0.2828, 0.4654, 0.7556, 1.185, 1.766, 2.506, 3.419, 4.508",\
                 "0.1269, 0.1698, 0.2824, 0.4651, 0.7556, 1.185, 1.766, 2.507, 3.418, 4.512",\
                 "0.1304, 0.1734, 0.2852, 0.467, 0.7556, 1.183, 1.764, 2.507, 3.421, 4.512",\
                 "0.1578, 0.2022, 0.309, 0.4828, 0.7608, 1.183, 1.763, 2.507, 3.418, 4.511",\
                 "0.1884, 0.2366, 0.345, 0.5154, 0.7796, 1.188, 1.763, 2.506, 3.419, 4.512",\
                 "0.2216, 0.2746, 0.389, 0.554, 0.805, 1.198, 1.766, 2.508, 3.421, 4.513",\
                 "0.259, 0.315, 0.4382, 0.6024, 0.8404, 1.215, 1.771, 2.508, 3.418, 4.509",\
                 "0.2946, 0.358, 0.4912, 0.6584, 0.89, 1.243, 1.781, 2.511, 3.42, 4.509",\
                 "0.333, 0.4008, 0.548, 0.7212, 0.9508, 1.287, 1.8, 2.516, 3.422, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4259, 0.5396, 0.6987, 0.9073, 1.183, 1.538, 1.984, 2.528, 3.176",\
                 "0.3971, 0.4436, 0.5574, 0.7165, 0.9251, 1.2, 1.556, 2.001, 2.545, 3.194",\
                 "0.4627, 0.5093, 0.623, 0.782, 0.9907, 1.266, 1.621, 2.067, 2.611, 3.259",\
                 "0.5917, 0.6381, 0.7512, 0.9101, 1.119, 1.393, 1.748, 2.194, 2.738, 3.386",\
                 "0.7549, 0.8058, 0.9258, 1.089, 1.299, 1.572, 1.926, 2.371, 2.915, 3.563",\
                 "0.9273, 0.9831, 1.113, 1.286, 1.501, 1.775, 2.127, 2.571, 3.115, 3.762",\
                 "1.109, 1.17, 1.311, 1.495, 1.716, 1.991, 2.343, 2.786, 3.329, 3.976",\
                 "1.299, 1.365, 1.519, 1.715, 1.945, 2.224, 2.575, 3.017, 3.558, 4.205",\
                 "1.498, 1.568, 1.734, 1.944, 2.187, 2.472, 2.823, 3.264, 3.804, 4.45",\
                 "1.705, 1.78, 1.958, 2.183, 2.44, 2.736, 3.089, 3.528, 4.067, 4.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1265, 0.1698, 0.2824, 0.4648, 0.7555, 1.185, 1.766, 2.507, 3.421, 4.512",\
                 "0.1265, 0.1695, 0.2828, 0.4654, 0.7556, 1.185, 1.766, 2.506, 3.419, 4.508",\
                 "0.1269, 0.1698, 0.2824, 0.4651, 0.7556, 1.185, 1.766, 2.507, 3.418, 4.512",\
                 "0.1304, 0.1734, 0.2852, 0.467, 0.7556, 1.183, 1.764, 2.507, 3.421, 4.512",\
                 "0.1578, 0.2022, 0.309, 0.4828, 0.7608, 1.183, 1.763, 2.507, 3.418, 4.511",\
                 "0.1884, 0.2366, 0.345, 0.5154, 0.7796, 1.188, 1.763, 2.507, 3.418, 4.51",\
                 "0.2222, 0.2746, 0.389, 0.554, 0.8048, 1.198, 1.766, 2.508, 3.421, 4.509",\
                 "0.259, 0.3154, 0.4382, 0.6024, 0.8404, 1.215, 1.771, 2.508, 3.419, 4.509",\
                 "0.2946, 0.3582, 0.4912, 0.6588, 0.8904, 1.243, 1.781, 2.512, 3.421, 4.508",\
                 "0.3334, 0.4008, 0.5476, 0.7212, 0.9508, 1.287, 1.799, 2.516, 3.422, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4256, 0.5389, 0.6969, 0.9041, 1.178, 1.533, 1.979, 2.523, 3.173",\
                 "0.397, 0.4435, 0.5567, 0.7146, 0.9219, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4627, 0.509, 0.6223, 0.7802, 0.9874, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5914, 0.6376, 0.7503, 0.908, 1.115, 1.389, 1.744, 2.19, 2.734, 3.384",\
                 "0.7538, 0.8044, 0.9242, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9253, 0.9808, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.167, 1.307, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.978",\
                 "1.295, 1.36, 1.513, 1.709, 1.94, 2.223, 2.578, 3.022, 3.565, 4.212",\
                 "1.493, 1.563, 1.728, 1.938, 2.181, 2.472, 2.831, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.951, 2.175, 2.432, 2.732, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6311, 0.6903, 0.8499, 1.102, 1.459, 1.948, 2.591, 3.401, 4.39, 5.571",\
                 "0.6425, 0.7019, 0.8612, 1.113, 1.47, 1.96, 2.602, 3.412, 4.401, 5.583",\
                 "0.6783, 0.7375, 0.8966, 1.148, 1.505, 1.995, 2.638, 3.449, 4.439, 5.619",\
                 "0.7547, 0.8139, 0.9729, 1.224, 1.581, 2.071, 2.713, 3.524, 4.515, 5.694",\
                 "0.872, 0.9325, 1.093, 1.344, 1.699, 2.187, 2.83, 3.638, 4.628, 5.81",\
                 "0.9942, 1.058, 1.222, 1.477, 1.833, 2.321, 2.962, 3.771, 4.759, 5.94",\
                 "1.119, 1.184, 1.354, 1.613, 1.971, 2.458, 3.097, 3.905, 4.894, 6.071",\
                 "1.244, 1.313, 1.487, 1.751, 2.111, 2.597, 3.235, 4.041, 5.028, 6.205",\
                 "1.363, 1.436, 1.618, 1.888, 2.254, 2.739, 3.377, 4.181, 5.166, 6.342",\
                 "1.474, 1.552, 1.742, 2.02, 2.393, 2.883, 3.519, 4.322, 5.307, 6.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1259, 0.1689, 0.2807, 0.4625, 0.7519, 1.182, 1.769, 2.517, 3.43, 4.524",\
                 "0.1259, 0.1689, 0.2808, 0.4625, 0.7521, 1.182, 1.767, 2.515, 3.428, 4.524",\
                 "0.126, 0.1691, 0.2808, 0.4626, 0.7521, 1.182, 1.768, 2.514, 3.43, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4642, 0.754, 1.183, 1.769, 2.517, 3.432, 4.526",\
                 "0.1566, 0.2006, 0.3078, 0.4796, 0.7602, 1.186, 1.77, 2.516, 3.432, 4.525",\
                 "0.1858, 0.2342, 0.3436, 0.5126, 0.78, 1.194, 1.773, 2.517, 3.433, 4.526",\
                 "0.2196, 0.272, 0.3876, 0.552, 0.8088, 1.21, 1.779, 2.52, 3.431, 4.524",\
                 "0.2536, 0.3116, 0.4366, 0.6014, 0.848, 1.237, 1.792, 2.524, 3.432, 4.52",\
                 "0.2938, 0.354, 0.4878, 0.6566, 0.8976, 1.272, 1.817, 2.537, 3.44, 4.525",\
                 "0.33, 0.3972, 0.5422, 0.7184, 0.9558, 1.319, 1.853, 2.566, 3.458, 4.532");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2344, 0.4396, 0.8003, 1.381, 2.227, 3.358, 4.784, 6.529, 8.611",\
                 "0.1703, 0.2338, 0.4396, 0.8002, 1.381, 2.227, 3.359, 4.783, 6.527, 8.611",\
                 "0.1687, 0.2334, 0.4386, 0.8014, 1.382, 2.227, 3.36, 4.785, 6.531, 8.608",\
                 "0.169, 0.2336, 0.4396, 0.8002, 1.381, 2.225, 3.359, 4.784, 6.529, 8.622",\
                 "0.1798, 0.2438, 0.4454, 0.8054, 1.383, 2.227, 3.36, 4.786, 6.529, 8.609",\
                 "0.198, 0.2618, 0.4644, 0.8202, 1.389, 2.229, 3.358, 4.787, 6.531, 8.61",\
                 "0.2156, 0.2812, 0.4818, 0.8386, 1.401, 2.231, 3.355, 4.784, 6.542, 8.617",\
                 "0.2382, 0.3054, 0.5052, 0.8594, 1.414, 2.239, 3.361, 4.791, 6.534, 8.62",\
                 "0.2644, 0.334, 0.5324, 0.8882, 1.435, 2.249, 3.362, 4.785, 6.535, 8.615",\
                 "0.2932, 0.3644, 0.5642, 0.9244, 1.466, 2.269, 3.374, 4.793, 6.53, 8.604");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4256, 0.5389, 0.6969, 0.9041, 1.178, 1.533, 1.979, 2.523, 3.173",\
                 "0.397, 0.4435, 0.5567, 0.7146, 0.9219, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4627, 0.509, 0.6223, 0.7802, 0.9874, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5914, 0.6376, 0.7503, 0.908, 1.115, 1.389, 1.744, 2.19, 2.734, 3.384",\
                 "0.7538, 0.8044, 0.9241, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9255, 0.9808, 1.111, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.167, 1.308, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.979",\
                 "1.295, 1.36, 1.513, 1.709, 1.941, 2.223, 2.578, 3.022, 3.565, 4.213",\
                 "1.493, 1.563, 1.728, 1.938, 2.181, 2.471, 2.831, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.951, 2.175, 2.432, 2.732, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6311, 0.6903, 0.8499, 1.102, 1.459, 1.948, 2.591, 3.401, 4.39, 5.571",\
                 "0.6425, 0.7019, 0.8612, 1.113, 1.47, 1.96, 2.602, 3.412, 4.401, 5.583",\
                 "0.6783, 0.7375, 0.8967, 1.148, 1.505, 1.995, 2.638, 3.449, 4.439, 5.619",\
                 "0.7547, 0.8139, 0.9729, 1.224, 1.581, 2.071, 2.713, 3.524, 4.515, 5.694",\
                 "0.8721, 0.9326, 1.093, 1.343, 1.699, 2.187, 2.829, 3.639, 4.63, 5.81",\
                 "0.9941, 1.057, 1.222, 1.477, 1.833, 2.321, 2.962, 3.771, 4.761, 5.94",\
                 "1.119, 1.184, 1.354, 1.613, 1.971, 2.458, 3.097, 3.905, 4.894, 6.071",\
                 "1.244, 1.313, 1.488, 1.751, 2.111, 2.598, 3.236, 4.042, 5.028, 6.206",\
                 "1.363, 1.436, 1.618, 1.888, 2.254, 2.739, 3.377, 4.181, 5.166, 6.342",\
                 "1.475, 1.552, 1.742, 2.02, 2.393, 2.884, 3.519, 4.322, 5.307, 6.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1259, 0.1689, 0.2807, 0.4625, 0.7519, 1.182, 1.769, 2.517, 3.43, 4.524",\
                 "0.1259, 0.1689, 0.2808, 0.4625, 0.7521, 1.182, 1.767, 2.515, 3.428, 4.524",\
                 "0.126, 0.1691, 0.2808, 0.4626, 0.7521, 1.182, 1.768, 2.514, 3.43, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4642, 0.754, 1.183, 1.769, 2.517, 3.432, 4.526",\
                 "0.1568, 0.2006, 0.3074, 0.4796, 0.7604, 1.186, 1.77, 2.517, 3.432, 4.525",\
                 "0.1858, 0.2342, 0.3436, 0.5124, 0.78, 1.194, 1.773, 2.518, 3.432, 4.524",\
                 "0.2196, 0.272, 0.3868, 0.552, 0.8088, 1.21, 1.779, 2.519, 3.432, 4.524",\
                 "0.2536, 0.3116, 0.4366, 0.6012, 0.8484, 1.234, 1.792, 2.524, 3.432, 4.521",\
                 "0.2918, 0.3544, 0.489, 0.6566, 0.8986, 1.272, 1.817, 2.537, 3.44, 4.524",\
                 "0.33, 0.3976, 0.5432, 0.7184, 0.9564, 1.318, 1.853, 2.567, 3.458, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2344, 0.4396, 0.8003, 1.381, 2.227, 3.358, 4.784, 6.529, 8.611",\
                 "0.1703, 0.2338, 0.4396, 0.8002, 1.381, 2.227, 3.359, 4.783, 6.527, 8.611",\
                 "0.1687, 0.2334, 0.4386, 0.8014, 1.382, 2.227, 3.36, 4.785, 6.531, 8.608",\
                 "0.169, 0.2336, 0.4396, 0.8002, 1.381, 2.225, 3.359, 4.784, 6.529, 8.622",\
                 "0.1798, 0.244, 0.4454, 0.8056, 1.381, 2.227, 3.36, 4.784, 6.529, 8.607",\
                 "0.1968, 0.262, 0.4644, 0.8204, 1.389, 2.229, 3.359, 4.785, 6.54, 8.61",\
                 "0.2152, 0.2812, 0.482, 0.8384, 1.401, 2.231, 3.355, 4.784, 6.542, 8.617",\
                 "0.2394, 0.3052, 0.504, 0.86, 1.414, 2.238, 3.361, 4.785, 6.525, 8.62",\
                 "0.2652, 0.334, 0.5324, 0.8882, 1.435, 2.249, 3.362, 4.785, 6.535, 8.615",\
                 "0.2924, 0.3648, 0.5652, 0.9246, 1.467, 2.269, 3.374, 4.793, 6.53, 8.608");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4259, 0.5396, 0.6987, 0.9073, 1.183, 1.538, 1.984, 2.528, 3.176",\
                 "0.3971, 0.4436, 0.5574, 0.7165, 0.9251, 1.2, 1.556, 2.001, 2.545, 3.194",\
                 "0.4627, 0.5093, 0.623, 0.782, 0.9907, 1.266, 1.621, 2.067, 2.611, 3.259",\
                 "0.5918, 0.6381, 0.7512, 0.9101, 1.119, 1.393, 1.748, 2.194, 2.738, 3.386",\
                 "0.7549, 0.8058, 0.9258, 1.089, 1.299, 1.572, 1.926, 2.371, 2.915, 3.563",\
                 "0.9272, 0.9831, 1.113, 1.286, 1.501, 1.775, 2.127, 2.571, 3.115, 3.763",\
                 "1.109, 1.17, 1.312, 1.495, 1.716, 1.991, 2.343, 2.786, 3.329, 3.977",\
                 "1.299, 1.365, 1.519, 1.715, 1.946, 2.223, 2.575, 3.017, 3.558, 4.205",\
                 "1.498, 1.568, 1.734, 1.944, 2.187, 2.472, 2.823, 3.264, 3.804, 4.45",\
                 "1.705, 1.78, 1.958, 2.183, 2.44, 2.736, 3.089, 3.528, 4.067, 4.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1265, 0.1698, 0.2824, 0.4648, 0.7555, 1.185, 1.766, 2.507, 3.421, 4.512",\
                 "0.1265, 0.1695, 0.2828, 0.4654, 0.7556, 1.185, 1.766, 2.506, 3.419, 4.508",\
                 "0.1269, 0.1698, 0.2824, 0.4651, 0.7556, 1.185, 1.766, 2.507, 3.418, 4.512",\
                 "0.1305, 0.1734, 0.2852, 0.467, 0.7556, 1.183, 1.764, 2.507, 3.421, 4.512",\
                 "0.1578, 0.2022, 0.3088, 0.4828, 0.7608, 1.183, 1.763, 2.507, 3.418, 4.51",\
                 "0.1882, 0.2368, 0.346, 0.5158, 0.7796, 1.188, 1.763, 2.506, 3.419, 4.512",\
                 "0.2222, 0.2746, 0.3888, 0.554, 0.8048, 1.199, 1.766, 2.508, 3.421, 4.513",\
                 "0.259, 0.3154, 0.4384, 0.6022, 0.8406, 1.215, 1.771, 2.509, 3.419, 4.508",\
                 "0.2966, 0.3578, 0.4912, 0.6584, 0.8904, 1.243, 1.781, 2.512, 3.42, 4.507",\
                 "0.3332, 0.4008, 0.5476, 0.721, 0.951, 1.287, 1.8, 2.516, 3.422, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&!D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3792, 0.4257, 0.5396, 0.6987, 0.9073, 1.182, 1.538, 1.984, 2.528, 3.176",\
                 "0.397, 0.4436, 0.5574, 0.7165, 0.9251, 1.2, 1.556, 2.001, 2.545, 3.194",\
                 "0.4628, 0.5093, 0.6229, 0.782, 0.9907, 1.266, 1.621, 2.067, 2.611, 3.259",\
                 "0.5918, 0.6381, 0.7512, 0.9101, 1.119, 1.393, 1.748, 2.194, 2.738, 3.386",\
                 "0.755, 0.8058, 0.9258, 1.089, 1.299, 1.572, 1.926, 2.371, 2.914, 3.563",\
                 "0.9274, 0.9828, 1.113, 1.286, 1.501, 1.774, 2.127, 2.571, 3.114, 3.762",\
                 "1.109, 1.17, 1.312, 1.495, 1.716, 1.991, 2.343, 2.786, 3.329, 3.976",\
                 "1.299, 1.365, 1.519, 1.715, 1.946, 2.224, 2.575, 3.017, 3.558, 4.205",\
                 "1.498, 1.568, 1.734, 1.944, 2.187, 2.472, 2.823, 3.264, 3.804, 4.45",\
                 "1.705, 1.78, 1.958, 2.183, 2.44, 2.736, 3.089, 3.528, 4.067, 4.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1265, 0.1699, 0.2822, 0.4651, 0.7558, 1.185, 1.765, 2.508, 3.421, 4.512",\
                 "0.1264, 0.1694, 0.2824, 0.4651, 0.7554, 1.185, 1.766, 2.508, 3.418, 4.508",\
                 "0.1267, 0.1697, 0.2827, 0.465, 0.7556, 1.184, 1.765, 2.507, 3.418, 4.511",\
                 "0.1305, 0.1734, 0.2852, 0.4672, 0.7558, 1.183, 1.764, 2.507, 3.418, 4.509",\
                 "0.1582, 0.2024, 0.309, 0.4826, 0.761, 1.182, 1.762, 2.506, 3.419, 4.511",\
                 "0.1894, 0.2364, 0.3452, 0.5154, 0.7794, 1.188, 1.763, 2.507, 3.42, 4.512",\
                 "0.2218, 0.2746, 0.389, 0.5542, 0.8046, 1.198, 1.767, 2.508, 3.421, 4.513",\
                 "0.257, 0.3154, 0.4388, 0.6026, 0.8406, 1.215, 1.772, 2.508, 3.419, 4.509",\
                 "0.2962, 0.3578, 0.491, 0.6588, 0.89, 1.243, 1.781, 2.511, 3.421, 4.509",\
                 "0.335, 0.4008, 0.547, 0.721, 0.9506, 1.287, 1.8, 2.516, 3.421, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4256, 0.5389, 0.6969, 0.9041, 1.178, 1.533, 1.979, 2.523, 3.173",\
                 "0.397, 0.4435, 0.5567, 0.7146, 0.9219, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4627, 0.509, 0.6223, 0.7802, 0.9874, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5914, 0.6376, 0.7503, 0.908, 1.115, 1.389, 1.744, 2.19, 2.734, 3.384",\
                 "0.7538, 0.8044, 0.9242, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9253, 0.9808, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.167, 1.307, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.978",\
                 "1.295, 1.36, 1.513, 1.709, 1.94, 2.223, 2.578, 3.022, 3.565, 4.213",\
                 "1.493, 1.563, 1.728, 1.938, 2.181, 2.471, 2.831, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.95, 2.175, 2.432, 2.732, 3.097, 3.546, 4.091, 4.738");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6311, 0.6903, 0.8499, 1.102, 1.459, 1.948, 2.591, 3.401, 4.39, 5.571",\
                 "0.6425, 0.7019, 0.8612, 1.113, 1.47, 1.96, 2.602, 3.412, 4.401, 5.583",\
                 "0.6783, 0.7375, 0.8966, 1.148, 1.505, 1.995, 2.638, 3.449, 4.439, 5.619",\
                 "0.7547, 0.8139, 0.9729, 1.224, 1.581, 2.071, 2.713, 3.524, 4.515, 5.694",\
                 "0.8721, 0.9325, 1.092, 1.344, 1.699, 2.187, 2.829, 3.638, 4.628, 5.809",\
                 "0.9942, 1.058, 1.222, 1.477, 1.833, 2.321, 2.962, 3.771, 4.759, 5.94",\
                 "1.119, 1.185, 1.354, 1.613, 1.971, 2.458, 3.097, 3.905, 4.894, 6.071",\
                 "1.244, 1.313, 1.488, 1.752, 2.111, 2.598, 3.236, 4.042, 5.028, 6.206",\
                 "1.363, 1.436, 1.618, 1.888, 2.254, 2.739, 3.377, 4.181, 5.166, 6.342",\
                 "1.475, 1.551, 1.742, 2.02, 2.393, 2.883, 3.519, 4.322, 5.307, 6.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1259, 0.1689, 0.2807, 0.4625, 0.7519, 1.182, 1.769, 2.517, 3.43, 4.524",\
                 "0.1259, 0.1689, 0.2808, 0.4625, 0.7521, 1.182, 1.767, 2.515, 3.428, 4.524",\
                 "0.126, 0.1691, 0.2808, 0.4626, 0.7521, 1.182, 1.768, 2.514, 3.43, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4642, 0.754, 1.183, 1.769, 2.517, 3.432, 4.526",\
                 "0.1566, 0.2006, 0.3078, 0.4796, 0.7604, 1.186, 1.77, 2.516, 3.432, 4.525",\
                 "0.1858, 0.2342, 0.3436, 0.512, 0.7804, 1.194, 1.773, 2.517, 3.433, 4.526",\
                 "0.2196, 0.272, 0.3876, 0.552, 0.8088, 1.21, 1.779, 2.52, 3.431, 4.524",\
                 "0.2536, 0.3116, 0.4366, 0.601, 0.848, 1.236, 1.792, 2.524, 3.433, 4.522",\
                 "0.2918, 0.3546, 0.4888, 0.6566, 0.8986, 1.272, 1.817, 2.537, 3.44, 4.524",\
                 "0.33, 0.3978, 0.543, 0.7184, 0.9564, 1.318, 1.854, 2.565, 3.457, 4.533");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2344, 0.4396, 0.8003, 1.381, 2.227, 3.358, 4.784, 6.529, 8.611",\
                 "0.1703, 0.2338, 0.4396, 0.8002, 1.381, 2.227, 3.359, 4.783, 6.527, 8.611",\
                 "0.1687, 0.234, 0.4383, 0.8014, 1.382, 2.227, 3.36, 4.785, 6.531, 8.609",\
                 "0.169, 0.2336, 0.4396, 0.8002, 1.381, 2.225, 3.359, 4.784, 6.529, 8.622",\
                 "0.1798, 0.2438, 0.4458, 0.8054, 1.383, 2.227, 3.36, 4.787, 6.528, 8.61",\
                 "0.198, 0.2618, 0.4644, 0.8202, 1.389, 2.229, 3.359, 4.787, 6.531, 8.61",\
                 "0.215, 0.2822, 0.482, 0.8384, 1.401, 2.231, 3.359, 4.785, 6.542, 8.617",\
                 "0.2394, 0.3064, 0.504, 0.8594, 1.413, 2.241, 3.36, 4.791, 6.534, 8.622",\
                 "0.2646, 0.334, 0.5324, 0.8882, 1.435, 2.249, 3.362, 4.785, 6.535, 8.615",\
                 "0.2934, 0.365, 0.5642, 0.9244, 1.467, 2.269, 3.374, 4.793, 6.528, 8.608");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4256, 0.5389, 0.6969, 0.9041, 1.178, 1.533, 1.979, 2.523, 3.173",\
                 "0.397, 0.4435, 0.5567, 0.7146, 0.9219, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4627, 0.509, 0.6223, 0.7802, 0.9874, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5914, 0.6376, 0.7503, 0.908, 1.115, 1.389, 1.744, 2.19, 2.734, 3.384",\
                 "0.7538, 0.8044, 0.9241, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9253, 0.9808, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.167, 1.308, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.978",\
                 "1.295, 1.36, 1.513, 1.709, 1.94, 2.223, 2.578, 3.022, 3.565, 4.213",\
                 "1.493, 1.563, 1.728, 1.938, 2.181, 2.471, 2.831, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.951, 2.175, 2.432, 2.732, 3.097, 3.547, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6311, 0.6903, 0.8499, 1.102, 1.459, 1.948, 2.591, 3.401, 4.39, 5.571",\
                 "0.6425, 0.7019, 0.8612, 1.113, 1.47, 1.96, 2.602, 3.412, 4.401, 5.583",\
                 "0.6783, 0.7375, 0.8966, 1.148, 1.505, 1.995, 2.638, 3.449, 4.439, 5.619",\
                 "0.7547, 0.8139, 0.9729, 1.224, 1.581, 2.071, 2.713, 3.524, 4.515, 5.694",\
                 "0.8721, 0.9325, 1.092, 1.344, 1.699, 2.187, 2.829, 3.638, 4.628, 5.809",\
                 "0.9942, 1.058, 1.222, 1.477, 1.833, 2.321, 2.962, 3.771, 4.759, 5.94",\
                 "1.119, 1.185, 1.354, 1.613, 1.971, 2.458, 3.097, 3.905, 4.894, 6.071",\
                 "1.244, 1.313, 1.488, 1.752, 2.111, 2.598, 3.236, 4.042, 5.028, 6.206",\
                 "1.363, 1.436, 1.618, 1.888, 2.254, 2.739, 3.377, 4.181, 5.166, 6.342",\
                 "1.475, 1.551, 1.742, 2.02, 2.393, 2.883, 3.52, 4.322, 5.307, 6.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1259, 0.1689, 0.2807, 0.4625, 0.7519, 1.182, 1.769, 2.517, 3.43, 4.524",\
                 "0.1259, 0.1689, 0.2808, 0.4625, 0.7521, 1.182, 1.767, 2.515, 3.428, 4.524",\
                 "0.126, 0.1691, 0.2808, 0.4626, 0.7521, 1.182, 1.768, 2.514, 3.43, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4642, 0.754, 1.183, 1.769, 2.517, 3.432, 4.526",\
                 "0.1566, 0.2006, 0.308, 0.4792, 0.7604, 1.186, 1.77, 2.516, 3.432, 4.525",\
                 "0.1858, 0.2342, 0.3436, 0.512, 0.7804, 1.194, 1.773, 2.518, 3.433, 4.526",\
                 "0.2196, 0.272, 0.3868, 0.5524, 0.8088, 1.21, 1.779, 2.519, 3.432, 4.524",\
                 "0.2536, 0.3116, 0.4366, 0.601, 0.848, 1.236, 1.792, 2.524, 3.433, 4.522",\
                 "0.2918, 0.3546, 0.489, 0.6566, 0.8986, 1.272, 1.817, 2.537, 3.44, 4.524",\
                 "0.33, 0.3972, 0.5424, 0.7184, 0.9564, 1.318, 1.854, 2.565, 3.458, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2344, 0.4396, 0.8003, 1.381, 2.227, 3.358, 4.784, 6.529, 8.611",\
                 "0.1703, 0.2338, 0.4396, 0.8002, 1.381, 2.227, 3.359, 4.783, 6.527, 8.611",\
                 "0.1687, 0.2334, 0.4384, 0.8014, 1.382, 2.227, 3.36, 4.785, 6.531, 8.609",\
                 "0.169, 0.2336, 0.4396, 0.8002, 1.381, 2.225, 3.359, 4.784, 6.529, 8.622",\
                 "0.1798, 0.2438, 0.4458, 0.8054, 1.383, 2.227, 3.36, 4.787, 6.528, 8.61",\
                 "0.198, 0.2618, 0.4644, 0.8202, 1.389, 2.229, 3.359, 4.787, 6.531, 8.61",\
                 "0.2152, 0.2822, 0.482, 0.8384, 1.4, 2.231, 3.359, 4.785, 6.542, 8.617",\
                 "0.2394, 0.3064, 0.504, 0.8594, 1.414, 2.238, 3.361, 4.79, 6.534, 8.622",\
                 "0.2646, 0.334, 0.5324, 0.8882, 1.435, 2.249, 3.365, 4.785, 6.535, 8.615",\
                 "0.2934, 0.365, 0.5642, 0.9244, 1.467, 2.268, 3.373, 4.793, 6.528, 8.608");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3792, 0.4257, 0.5396, 0.6987, 0.9073, 1.182, 1.538, 1.984, 2.528, 3.176",\
                 "0.397, 0.4436, 0.5574, 0.7165, 0.9251, 1.2, 1.556, 2.001, 2.545, 3.194",\
                 "0.4628, 0.5093, 0.6229, 0.782, 0.9907, 1.266, 1.621, 2.067, 2.611, 3.259",\
                 "0.5918, 0.6382, 0.7513, 0.9101, 1.119, 1.393, 1.748, 2.194, 2.738, 3.386",\
                 "0.7547, 0.8058, 0.9259, 1.089, 1.299, 1.572, 1.926, 2.371, 2.915, 3.563",\
                 "0.9273, 0.9828, 1.113, 1.286, 1.501, 1.774, 2.127, 2.571, 3.114, 3.762",\
                 "1.109, 1.17, 1.312, 1.495, 1.716, 1.991, 2.343, 2.786, 3.329, 3.976",\
                 "1.299, 1.365, 1.519, 1.715, 1.946, 2.224, 2.575, 3.017, 3.558, 4.205",\
                 "1.498, 1.568, 1.734, 1.944, 2.187, 2.472, 2.823, 3.264, 3.804, 4.45",\
                 "1.705, 1.78, 1.958, 2.183, 2.44, 2.736, 3.089, 3.528, 4.067, 4.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1265, 0.17, 0.2825, 0.4651, 0.7557, 1.185, 1.766, 2.508, 3.419, 4.511",\
                 "0.1264, 0.1694, 0.2824, 0.4651, 0.7554, 1.185, 1.766, 2.508, 3.418, 4.508",\
                 "0.1267, 0.1697, 0.2827, 0.465, 0.7556, 1.184, 1.765, 2.507, 3.418, 4.511",\
                 "0.1305, 0.1732, 0.285, 0.467, 0.7554, 1.183, 1.764, 2.506, 3.42, 4.509",\
                 "0.1584, 0.2024, 0.309, 0.4824, 0.761, 1.183, 1.763, 2.507, 3.418, 4.51",\
                 "0.1884, 0.2364, 0.3452, 0.5154, 0.7794, 1.188, 1.763, 2.506, 3.42, 4.512",\
                 "0.2222, 0.2746, 0.3886, 0.554, 0.8046, 1.198, 1.767, 2.508, 3.419, 4.512",\
                 "0.257, 0.3146, 0.4388, 0.6026, 0.8406, 1.215, 1.771, 2.509, 3.419, 4.51",\
                 "0.2944, 0.3582, 0.4918, 0.6582, 0.89, 1.243, 1.78, 2.512, 3.421, 4.507",\
                 "0.3346, 0.4008, 0.5476, 0.721, 0.9508, 1.287, 1.8, 2.516, 3.421, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&!SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3792, 0.4257, 0.5396, 0.6987, 0.9073, 1.182, 1.538, 1.984, 2.528, 3.176",\
                 "0.397, 0.4436, 0.5574, 0.7165, 0.9251, 1.2, 1.556, 2.001, 2.545, 3.194",\
                 "0.4628, 0.5093, 0.6229, 0.782, 0.9907, 1.266, 1.621, 2.067, 2.611, 3.259",\
                 "0.5917, 0.6382, 0.7512, 0.9101, 1.119, 1.393, 1.748, 2.194, 2.738, 3.386",\
                 "0.7547, 0.8057, 0.9259, 1.089, 1.299, 1.572, 1.926, 2.371, 2.915, 3.563",\
                 "0.9273, 0.9828, 1.113, 1.286, 1.501, 1.774, 2.127, 2.571, 3.114, 3.762",\
                 "1.109, 1.17, 1.312, 1.495, 1.716, 1.991, 2.343, 2.786, 3.329, 3.976",\
                 "1.299, 1.365, 1.518, 1.715, 1.946, 2.224, 2.575, 3.017, 3.558, 4.205",\
                 "1.498, 1.568, 1.734, 1.944, 2.187, 2.472, 2.823, 3.264, 3.804, 4.45",\
                 "1.705, 1.78, 1.958, 2.183, 2.44, 2.736, 3.089, 3.528, 4.067, 4.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1265, 0.17, 0.2825, 0.4651, 0.7555, 1.185, 1.766, 2.508, 3.419, 4.511",\
                 "0.1264, 0.1694, 0.2824, 0.4651, 0.7554, 1.185, 1.766, 2.508, 3.418, 4.508",\
                 "0.1267, 0.1697, 0.2827, 0.465, 0.7556, 1.184, 1.765, 2.507, 3.418, 4.511",\
                 "0.1305, 0.1732, 0.2854, 0.467, 0.7554, 1.183, 1.763, 2.506, 3.419, 4.509",\
                 "0.1584, 0.2022, 0.309, 0.4824, 0.761, 1.183, 1.762, 2.506, 3.418, 4.51",\
                 "0.1884, 0.2364, 0.345, 0.5154, 0.7794, 1.188, 1.763, 2.506, 3.42, 4.512",\
                 "0.2226, 0.2746, 0.3886, 0.5542, 0.8046, 1.198, 1.767, 2.508, 3.421, 4.513",\
                 "0.2572, 0.3148, 0.4384, 0.6026, 0.8404, 1.215, 1.772, 2.509, 3.419, 4.508",\
                 "0.2968, 0.3578, 0.492, 0.6586, 0.8904, 1.243, 1.781, 2.511, 3.42, 4.509",\
                 "0.3344, 0.4008, 0.5476, 0.721, 0.9508, 1.287, 1.8, 2.515, 3.421, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4256, 0.5389, 0.6969, 0.9041, 1.178, 1.533, 1.979, 2.523, 3.173",\
                 "0.397, 0.4435, 0.5567, 0.7146, 0.9219, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4627, 0.509, 0.6223, 0.7802, 0.9874, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5914, 0.6376, 0.7503, 0.908, 1.115, 1.389, 1.744, 2.19, 2.734, 3.384",\
                 "0.7538, 0.8044, 0.9242, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9253, 0.9808, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.167, 1.307, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.978",\
                 "1.295, 1.36, 1.513, 1.709, 1.94, 2.223, 2.578, 3.022, 3.565, 4.212",\
                 "1.493, 1.563, 1.728, 1.938, 2.181, 2.471, 2.831, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.951, 2.175, 2.432, 2.732, 3.097, 3.547, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6311, 0.6903, 0.8499, 1.102, 1.459, 1.948, 2.591, 3.401, 4.39, 5.571",\
                 "0.6425, 0.7019, 0.8612, 1.113, 1.47, 1.96, 2.602, 3.412, 4.401, 5.583",\
                 "0.6783, 0.7375, 0.8966, 1.148, 1.505, 1.995, 2.638, 3.449, 4.439, 5.619",\
                 "0.7547, 0.8139, 0.9729, 1.224, 1.581, 2.071, 2.713, 3.524, 4.515, 5.694",\
                 "0.872, 0.9325, 1.093, 1.344, 1.699, 2.187, 2.83, 3.638, 4.628, 5.809",\
                 "0.9942, 1.058, 1.222, 1.477, 1.834, 2.321, 2.962, 3.771, 4.759, 5.94",\
                 "1.119, 1.184, 1.354, 1.613, 1.971, 2.458, 3.097, 3.905, 4.894, 6.071",\
                 "1.244, 1.313, 1.487, 1.751, 2.111, 2.597, 3.236, 4.042, 5.028, 6.205",\
                 "1.363, 1.436, 1.618, 1.888, 2.254, 2.739, 3.377, 4.181, 5.166, 6.342",\
                 "1.474, 1.552, 1.742, 2.02, 2.392, 2.883, 3.519, 4.322, 5.307, 6.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1259, 0.1689, 0.2807, 0.4625, 0.7519, 1.182, 1.769, 2.517, 3.43, 4.524",\
                 "0.1259, 0.1689, 0.2808, 0.4625, 0.7521, 1.182, 1.767, 2.515, 3.428, 4.524",\
                 "0.126, 0.1691, 0.2808, 0.4626, 0.7521, 1.182, 1.768, 2.514, 3.43, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4642, 0.754, 1.183, 1.769, 2.517, 3.432, 4.526",\
                 "0.1568, 0.2006, 0.3078, 0.4796, 0.7604, 1.186, 1.77, 2.517, 3.432, 4.525",\
                 "0.1858, 0.2342, 0.3436, 0.512, 0.7804, 1.194, 1.772, 2.518, 3.433, 4.526",\
                 "0.2196, 0.272, 0.3876, 0.552, 0.8088, 1.21, 1.779, 2.52, 3.431, 4.524",\
                 "0.2536, 0.3116, 0.4366, 0.6014, 0.848, 1.237, 1.792, 2.524, 3.432, 4.52",\
                 "0.2918, 0.3534, 0.4882, 0.6566, 0.8976, 1.273, 1.817, 2.537, 3.44, 4.524",\
                 "0.33, 0.3972, 0.5422, 0.7182, 0.9564, 1.318, 1.853, 2.565, 3.456, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2344, 0.4396, 0.8003, 1.381, 2.227, 3.358, 4.784, 6.529, 8.611",\
                 "0.1703, 0.2338, 0.4396, 0.8002, 1.381, 2.227, 3.359, 4.783, 6.527, 8.611",\
                 "0.1687, 0.2334, 0.4386, 0.8014, 1.382, 2.227, 3.36, 4.785, 6.531, 8.608",\
                 "0.169, 0.2336, 0.4396, 0.8002, 1.381, 2.225, 3.359, 4.784, 6.529, 8.622",\
                 "0.1798, 0.2438, 0.4454, 0.8054, 1.383, 2.227, 3.355, 4.787, 6.528, 8.61",\
                 "0.198, 0.2618, 0.464, 0.8202, 1.389, 2.229, 3.359, 4.787, 6.531, 8.61",\
                 "0.2152, 0.2828, 0.4818, 0.8386, 1.401, 2.232, 3.355, 4.784, 6.542, 8.617",\
                 "0.2382, 0.3052, 0.5052, 0.8594, 1.414, 2.239, 3.361, 4.787, 6.534, 8.62",\
                 "0.2644, 0.334, 0.5324, 0.8882, 1.435, 2.249, 3.362, 4.785, 6.535, 8.615",\
                 "0.2932, 0.3644, 0.5656, 0.9236, 1.466, 2.269, 3.374, 4.793, 6.528, 8.608");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b0 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&!SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4256, 0.5389, 0.6969, 0.9041, 1.178, 1.533, 1.979, 2.523, 3.173",\
                 "0.397, 0.4435, 0.5567, 0.7146, 0.9219, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4627, 0.509, 0.6223, 0.7802, 0.9874, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5914, 0.6376, 0.7503, 0.908, 1.115, 1.389, 1.744, 2.19, 2.734, 3.384",\
                 "0.7538, 0.8044, 0.9241, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9256, 0.9808, 1.111, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.167, 1.307, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.978",\
                 "1.295, 1.36, 1.513, 1.709, 1.941, 2.223, 2.578, 3.022, 3.565, 4.213",\
                 "1.493, 1.563, 1.728, 1.938, 2.181, 2.471, 2.831, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.95, 2.175, 2.432, 2.732, 3.097, 3.546, 4.09, 4.737");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6311, 0.6903, 0.8499, 1.102, 1.459, 1.948, 2.591, 3.401, 4.39, 5.571",\
                 "0.6425, 0.7019, 0.8612, 1.113, 1.47, 1.96, 2.602, 3.412, 4.401, 5.583",\
                 "0.6783, 0.7375, 0.8967, 1.148, 1.505, 1.995, 2.638, 3.449, 4.439, 5.619",\
                 "0.7547, 0.8139, 0.9729, 1.224, 1.581, 2.071, 2.713, 3.524, 4.515, 5.694",\
                 "0.8721, 0.9326, 1.093, 1.344, 1.699, 2.187, 2.829, 3.639, 4.63, 5.81",\
                 "0.9941, 1.057, 1.222, 1.477, 1.834, 2.321, 2.961, 3.771, 4.76, 5.94",\
                 "1.119, 1.185, 1.354, 1.613, 1.971, 2.458, 3.097, 3.905, 4.894, 6.071",\
                 "1.244, 1.313, 1.487, 1.752, 2.111, 2.598, 3.236, 4.042, 5.028, 6.206",\
                 "1.363, 1.436, 1.618, 1.888, 2.254, 2.739, 3.377, 4.181, 5.166, 6.342",\
                 "1.475, 1.551, 1.742, 2.02, 2.393, 2.883, 3.519, 4.322, 5.307, 6.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1259, 0.1689, 0.2807, 0.4625, 0.7519, 1.182, 1.769, 2.517, 3.43, 4.524",\
                 "0.1259, 0.1689, 0.2808, 0.4625, 0.7521, 1.182, 1.767, 2.515, 3.428, 4.524",\
                 "0.126, 0.1691, 0.2808, 0.4626, 0.7521, 1.182, 1.768, 2.514, 3.43, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4642, 0.754, 1.183, 1.769, 2.517, 3.432, 4.526",\
                 "0.1568, 0.2006, 0.308, 0.4796, 0.7604, 1.186, 1.77, 2.516, 3.432, 4.525",\
                 "0.1858, 0.2342, 0.3436, 0.5124, 0.78, 1.194, 1.773, 2.518, 3.433, 4.526",\
                 "0.2196, 0.272, 0.3876, 0.552, 0.8088, 1.21, 1.779, 2.52, 3.431, 4.524",\
                 "0.2536, 0.3116, 0.4366, 0.6012, 0.8484, 1.234, 1.792, 2.524, 3.432, 4.521",\
                 "0.2916, 0.354, 0.489, 0.6566, 0.8986, 1.272, 1.817, 2.537, 3.44, 4.524",\
                 "0.33, 0.3972, 0.5432, 0.7182, 0.9564, 1.318, 1.854, 2.565, 3.458, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1689, 0.2344, 0.4396, 0.8003, 1.381, 2.227, 3.358, 4.784, 6.529, 8.611",\
                 "0.1703, 0.2338, 0.4396, 0.8002, 1.381, 2.227, 3.359, 4.783, 6.527, 8.611",\
                 "0.1687, 0.2334, 0.4386, 0.8014, 1.382, 2.227, 3.36, 4.785, 6.531, 8.608",\
                 "0.169, 0.2336, 0.4396, 0.8002, 1.381, 2.225, 3.359, 4.784, 6.529, 8.622",\
                 "0.1798, 0.244, 0.4454, 0.8054, 1.383, 2.227, 3.36, 4.784, 6.529, 8.607",\
                 "0.1972, 0.2614, 0.4632, 0.82, 1.389, 2.227, 3.359, 4.783, 6.537, 8.612",\
                 "0.2152, 0.2822, 0.482, 0.8392, 1.401, 2.231, 3.355, 4.784, 6.542, 8.617",\
                 "0.2384, 0.306, 0.5042, 0.8594, 1.414, 2.238, 3.361, 4.787, 6.525, 8.622",\
                 "0.265, 0.334, 0.5324, 0.8882, 1.435, 2.249, 3.365, 4.785, 6.535, 8.615",\
                 "0.2942, 0.3642, 0.5638, 0.9242, 1.466, 2.271, 3.374, 4.793, 6.53, 8.608");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SETN&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4259, 0.5396, 0.6987, 0.9073, 1.183, 1.538, 1.984, 2.528, 3.176",\
                 "0.3971, 0.4436, 0.5574, 0.7165, 0.9251, 1.2, 1.556, 2.001, 2.545, 3.194",\
                 "0.4627, 0.5093, 0.623, 0.782, 0.9907, 1.266, 1.621, 2.067, 2.611, 3.259",\
                 "0.5918, 0.6381, 0.7512, 0.9101, 1.119, 1.393, 1.748, 2.194, 2.738, 3.386",\
                 "0.7549, 0.8058, 0.9258, 1.089, 1.299, 1.572, 1.926, 2.371, 2.915, 3.563",\
                 "0.9272, 0.9831, 1.114, 1.286, 1.501, 1.775, 2.127, 2.571, 3.115, 3.763",\
                 "1.109, 1.17, 1.312, 1.495, 1.716, 1.991, 2.343, 2.786, 3.329, 3.977",\
                 "1.299, 1.365, 1.518, 1.715, 1.946, 2.223, 2.575, 3.017, 3.558, 4.205",\
                 "1.498, 1.568, 1.734, 1.944, 2.187, 2.472, 2.823, 3.264, 3.804, 4.45",\
                 "1.704, 1.78, 1.957, 2.183, 2.44, 2.736, 3.089, 3.528, 4.067, 4.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1265, 0.1698, 0.2824, 0.4648, 0.7555, 1.185, 1.766, 2.507, 3.421, 4.512",\
                 "0.1265, 0.1695, 0.2828, 0.4654, 0.7556, 1.185, 1.766, 2.506, 3.419, 4.508",\
                 "0.1269, 0.1698, 0.2824, 0.4651, 0.7556, 1.185, 1.766, 2.507, 3.418, 4.512",\
                 "0.1305, 0.1734, 0.2852, 0.467, 0.7556, 1.183, 1.764, 2.507, 3.421, 4.512",\
                 "0.1578, 0.2022, 0.309, 0.4828, 0.7608, 1.183, 1.763, 2.507, 3.418, 4.508",\
                 "0.1882, 0.2368, 0.345, 0.5154, 0.7796, 1.188, 1.763, 2.506, 3.419, 4.512",\
                 "0.2222, 0.2752, 0.3888, 0.5542, 0.8048, 1.198, 1.766, 2.508, 3.421, 4.513",\
                 "0.259, 0.3154, 0.4386, 0.6022, 0.8406, 1.215, 1.771, 2.508, 3.419, 4.51",\
                 "0.2944, 0.358, 0.4912, 0.6588, 0.8904, 1.243, 1.781, 2.512, 3.421, 4.509",\
                 "0.3332, 0.4008, 0.5478, 0.7214, 0.951, 1.287, 1.8, 2.515, 3.422, 4.508");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SETN===1'b1 && SI===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : clear ;
        when : "CLK&D&SE&SETN&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3792, 0.4257, 0.5396, 0.6987, 0.9073, 1.182, 1.538, 1.984, 2.528, 3.176",\
                 "0.397, 0.4436, 0.5574, 0.7165, 0.9251, 1.2, 1.556, 2.001, 2.545, 3.194",\
                 "0.4628, 0.5093, 0.6229, 0.782, 0.9907, 1.266, 1.621, 2.067, 2.611, 3.259",\
                 "0.5917, 0.6381, 0.7512, 0.9101, 1.119, 1.393, 1.748, 2.194, 2.738, 3.386",\
                 "0.7547, 0.8059, 0.926, 1.089, 1.299, 1.572, 1.926, 2.371, 2.914, 3.563",\
                 "0.9273, 0.9828, 1.113, 1.286, 1.501, 1.774, 2.127, 2.571, 3.114, 3.762",\
                 "1.109, 1.17, 1.312, 1.495, 1.716, 1.991, 2.343, 2.786, 3.329, 3.976",\
                 "1.299, 1.365, 1.519, 1.715, 1.946, 2.224, 2.575, 3.017, 3.558, 4.205",\
                 "1.497, 1.568, 1.734, 1.944, 2.187, 2.472, 2.823, 3.264, 3.804, 4.451",\
                 "1.705, 1.78, 1.958, 2.183, 2.44, 2.736, 3.089, 3.528, 4.067, 4.712");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1265, 0.17, 0.2825, 0.4651, 0.7558, 1.185, 1.766, 2.507, 3.419, 4.512",\
                 "0.1264, 0.1694, 0.2824, 0.4651, 0.7554, 1.185, 1.766, 2.508, 3.418, 4.508",\
                 "0.1266, 0.1697, 0.2827, 0.465, 0.7556, 1.184, 1.765, 2.507, 3.418, 4.511",\
                 "0.1305, 0.1734, 0.2852, 0.4672, 0.7558, 1.183, 1.764, 2.507, 3.418, 4.509",\
                 "0.1584, 0.2022, 0.3092, 0.4826, 0.761, 1.183, 1.763, 2.506, 3.418, 4.51",\
                 "0.1884, 0.2364, 0.3452, 0.5154, 0.7796, 1.188, 1.763, 2.505, 3.42, 4.512",\
                 "0.2214, 0.2746, 0.3886, 0.554, 0.8046, 1.198, 1.766, 2.508, 3.42, 4.512",\
                 "0.2572, 0.3146, 0.438, 0.6024, 0.8406, 1.215, 1.772, 2.509, 3.419, 4.508",\
                 "0.2956, 0.3568, 0.4912, 0.6588, 0.8904, 1.243, 1.781, 2.511, 3.42, 4.508",\
                 "0.3326, 0.4006, 0.5476, 0.7216, 0.9512, 1.287, 1.8, 2.516, 3.421, 4.51");
        }
      }

      timing() {
        related_pin : "RN" ;
        timing_sense : positive_unate ;
        timing_type : clear ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.3793, 0.4256, 0.5389, 0.6969, 0.9041, 1.178, 1.533, 1.979, 2.523, 3.173",\
                 "0.397, 0.4435, 0.5567, 0.7146, 0.9219, 1.195, 1.55, 1.996, 2.541, 3.19",\
                 "0.4627, 0.509, 0.6223, 0.7802, 0.9874, 1.261, 1.616, 2.062, 2.607, 3.256",\
                 "0.5914, 0.6376, 0.7503, 0.908, 1.115, 1.389, 1.744, 2.19, 2.734, 3.384",\
                 "0.7538, 0.8044, 0.9242, 1.086, 1.295, 1.568, 1.922, 2.368, 2.912, 3.561",\
                 "0.9253, 0.9808, 1.11, 1.282, 1.496, 1.771, 2.125, 2.57, 3.113, 3.762",\
                 "1.106, 1.167, 1.307, 1.49, 1.711, 1.989, 2.343, 2.788, 3.331, 3.978",\
                 "1.295, 1.36, 1.513, 1.709, 1.94, 2.223, 2.578, 3.022, 3.565, 4.213",\
                 "1.493, 1.563, 1.728, 1.938, 2.181, 2.471, 2.831, 3.276, 3.818, 4.465",\
                 "1.699, 1.774, 1.95, 2.175, 2.432, 2.732, 3.097, 3.546, 4.091, 4.738");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.6311, 0.6903, 0.8499, 1.102, 1.459, 1.948, 2.591, 3.401, 4.39, 5.571",\
                 "0.6425, 0.7019, 0.8612, 1.113, 1.47, 1.96, 2.602, 3.412, 4.401, 5.583",\
                 "0.6783, 0.7375, 0.8967, 1.148, 1.505, 1.995, 2.638, 3.449, 4.439, 5.619",\
                 "0.7547, 0.8139, 0.9729, 1.224, 1.581, 2.071, 2.713, 3.524, 4.515, 5.694",\
                 "0.8721, 0.9326, 1.093, 1.344, 1.699, 2.187, 2.829, 3.639, 4.63, 5.81",\
                 "0.9941, 1.057, 1.222, 1.477, 1.834, 2.321, 2.961, 3.771, 4.76, 5.94",\
                 "1.119, 1.185, 1.354, 1.613, 1.971, 2.458, 3.097, 3.905, 4.894, 6.071",\
                 "1.244, 1.313, 1.487, 1.752, 2.111, 2.598, 3.236, 4.042, 5.028, 6.206",\
                 "1.363, 1.436, 1.618, 1.888, 2.254, 2.739, 3.377, 4.181, 5.166, 6.342",\
                 "1.475, 1.551, 1.742, 2.02, 2.393, 2.883, 3.519, 4.322, 5.307, 6.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1266, 0.1692, 0.2809, 0.4626, 0.753, 1.184, 1.77, 2.517, 3.432, 4.521",\
                 "0.126, 0.169, 0.2808, 0.4633, 0.7527, 1.184, 1.77, 2.516, 3.434, 4.525",\
                 "0.126, 0.1691, 0.2809, 0.4634, 0.7523, 1.184, 1.768, 2.516, 3.434, 4.525",\
                 "0.1297, 0.1722, 0.2836, 0.4646, 0.7536, 1.184, 1.77, 2.518, 3.43, 4.525",\
                 "0.157, 0.2008, 0.3076, 0.4796, 0.7602, 1.186, 1.771, 2.515, 3.433, 4.522",\
                 "0.1864, 0.2348, 0.3442, 0.512, 0.7802, 1.194, 1.773, 2.518, 3.433, 4.527",\
                 "0.219, 0.2718, 0.3872, 0.552, 0.8082, 1.21, 1.78, 2.52, 3.432, 4.521",\
                 "0.2538, 0.3114, 0.4354, 0.602, 0.8494, 1.235, 1.793, 2.524, 3.432, 4.523",\
                 "0.2914, 0.355, 0.489, 0.657, 0.8996, 1.272, 1.817, 2.538, 3.44, 4.523",\
                 "0.33, 0.3974, 0.543, 0.7184, 0.9558, 1.319, 1.853, 2.566, 3.456, 4.534");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1697, 0.2337, 0.4381, 0.8001, 1.379, 2.227, 3.358, 4.783, 6.541, 8.612",\
                 "0.1689, 0.2334, 0.4386, 0.8007, 1.38, 2.227, 3.358, 4.785, 6.538, 8.611",\
                 "0.1701, 0.2342, 0.4384, 0.8004, 1.379, 2.227, 3.358, 4.793, 6.541, 8.612",\
                 "0.1686, 0.2332, 0.4386, 0.8016, 1.38, 2.226, 3.359, 4.785, 6.53, 8.614",\
                 "0.1798, 0.2432, 0.4452, 0.804, 1.381, 2.227, 3.359, 4.785, 6.53, 8.627",\
                 "0.1972, 0.2626, 0.464, 0.82, 1.389, 2.227, 3.36, 4.782, 6.53, 8.619",\
                 "0.2168, 0.2818, 0.4824, 0.8396, 1.401, 2.232, 3.359, 4.79, 6.533, 8.609",\
                 "0.2384, 0.306, 0.505, 0.8598, 1.415, 2.239, 3.36, 4.792, 6.536, 8.608",\
                 "0.2656, 0.3356, 0.5324, 0.8896, 1.434, 2.25, 3.362, 4.788, 6.527, 8.616",\
                 "0.293, 0.3652, 0.5642, 0.9244, 1.468, 2.269, 3.372, 4.787, 6.528, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.256, 1.415, 1.667, 2.024, 2.513, 3.156, 3.966, 4.957, 6.133",\
                 "1.214, 1.274, 1.433, 1.685, 2.042, 2.531, 3.173, 3.984, 4.975, 6.151",\
                 "1.28, 1.34, 1.499, 1.751, 2.108, 2.597, 3.239, 4.05, 5.04, 6.221",\
                 "1.412, 1.471, 1.631, 1.882, 2.239, 2.728, 3.37, 4.181, 5.172, 6.352",\
                 "1.6, 1.66, 1.819, 2.071, 2.427, 2.917, 3.559, 4.369, 5.359, 6.541",\
                 "1.827, 1.887, 2.046, 2.298, 2.654, 3.143, 3.786, 4.595, 5.583, 6.767",\
                 "2.087, 2.146, 2.306, 2.557, 2.914, 3.403, 4.045, 4.855, 5.846, 7.026",\
                 "2.379, 2.439, 2.599, 2.851, 3.207, 3.695, 4.337, 5.147, 6.135, 7.319",\
                 "2.703, 2.763, 2.923, 3.175, 3.531, 4.019, 4.661, 5.47, 6.458, 7.638",\
                 "3.055, 3.115, 3.276, 3.527, 3.883, 4.371, 5.013, 5.821, 6.809, 7.988");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.174, 0.2382, 0.4434, 0.803, 1.383, 2.227, 3.355, 4.785, 6.53, 8.609",\
                 "0.1736, 0.238, 0.4428, 0.803, 1.383, 2.228, 3.356, 4.785, 6.53, 8.614",\
                 "0.1744, 0.238, 0.4424, 0.804, 1.381, 2.227, 3.354, 4.784, 6.541, 8.613",\
                 "0.1736, 0.2382, 0.4426, 0.8028, 1.383, 2.228, 3.356, 4.785, 6.53, 8.614",\
                 "0.1738, 0.2382, 0.4436, 0.8042, 1.381, 2.227, 3.354, 4.791, 6.538, 8.61",\
                 "0.1744, 0.2386, 0.4434, 0.8046, 1.382, 2.228, 3.358, 4.79, 6.53, 8.613",\
                 "0.1764, 0.2416, 0.4436, 0.8054, 1.383, 2.226, 3.359, 4.784, 6.541, 8.614",\
                 "0.1774, 0.241, 0.4456, 0.8068, 1.384, 2.224, 3.354, 4.783, 6.532, 8.612",\
                 "0.1794, 0.2432, 0.4476, 0.8074, 1.383, 2.226, 3.355, 4.786, 6.523, 8.623",\
                 "0.1818, 0.2448, 0.4486, 0.8094, 1.384, 2.225, 3.352, 4.782, 6.524, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.256, 1.415, 1.667, 2.024, 2.513, 3.155, 3.966, 4.953, 6.136",\
                 "1.214, 1.274, 1.433, 1.685, 2.042, 2.531, 3.173, 3.984, 4.975, 6.151",\
                 "1.28, 1.34, 1.499, 1.751, 2.108, 2.597, 3.239, 4.05, 5.04, 6.221",\
                 "1.412, 1.471, 1.631, 1.882, 2.239, 2.728, 3.37, 4.181, 5.172, 6.352",\
                 "1.6, 1.66, 1.819, 2.071, 2.427, 2.916, 3.559, 4.369, 5.359, 6.541",\
                 "1.827, 1.887, 2.046, 2.298, 2.654, 3.143, 3.785, 4.594, 5.586, 6.767",\
                 "2.087, 2.146, 2.306, 2.558, 2.914, 3.403, 4.045, 4.855, 5.846, 7.026",\
                 "2.379, 2.439, 2.599, 2.851, 3.207, 3.696, 4.337, 5.147, 6.135, 7.319",\
                 "2.703, 2.763, 2.923, 3.175, 3.531, 4.019, 4.661, 5.47, 6.458, 7.638",\
                 "3.055, 3.115, 3.276, 3.527, 3.883, 4.371, 5.013, 5.821, 6.81, 7.988");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.174, 0.2382, 0.4434, 0.8038, 1.381, 2.227, 3.36, 4.785, 6.527, 8.625",\
                 "0.1736, 0.238, 0.4428, 0.803, 1.383, 2.228, 3.356, 4.785, 6.53, 8.614",\
                 "0.1744, 0.238, 0.4424, 0.804, 1.381, 2.227, 3.354, 4.784, 6.541, 8.613",\
                 "0.1736, 0.2382, 0.4426, 0.8028, 1.383, 2.228, 3.356, 4.785, 6.53, 8.614",\
                 "0.1738, 0.2384, 0.4436, 0.8042, 1.381, 2.225, 3.355, 4.791, 6.538, 8.61",\
                 "0.1742, 0.2394, 0.4436, 0.8048, 1.381, 2.224, 3.358, 4.786, 6.539, 8.609",\
                 "0.1764, 0.2416, 0.4436, 0.8052, 1.381, 2.228, 3.355, 4.786, 6.53, 8.612",\
                 "0.1774, 0.2422, 0.4456, 0.8068, 1.384, 2.224, 3.354, 4.782, 6.532, 8.612",\
                 "0.1794, 0.2432, 0.4476, 0.808, 1.383, 2.226, 3.355, 4.784, 6.527, 8.609",\
                 "0.183, 0.2446, 0.4486, 0.809, 1.385, 2.227, 3.354, 4.782, 6.526, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.256, 1.415, 1.667, 2.024, 2.513, 3.155, 3.965, 4.953, 6.137",\
                 "1.214, 1.274, 1.433, 1.685, 2.042, 2.531, 3.173, 3.984, 4.975, 6.151",\
                 "1.28, 1.34, 1.499, 1.751, 2.108, 2.597, 3.239, 4.05, 5.04, 6.221",\
                 "1.412, 1.471, 1.631, 1.882, 2.239, 2.728, 3.37, 4.181, 5.172, 6.352",\
                 "1.6, 1.66, 1.819, 2.071, 2.427, 2.917, 3.559, 4.37, 5.36, 6.54",\
                 "1.827, 1.887, 2.046, 2.298, 2.654, 3.143, 3.786, 4.595, 5.585, 6.767",\
                 "2.087, 2.147, 2.306, 2.557, 2.914, 3.403, 4.045, 4.855, 5.846, 7.026",\
                 "2.38, 2.44, 2.6, 2.851, 3.207, 3.696, 4.337, 5.147, 6.135, 7.319",\
                 "2.703, 2.763, 2.923, 3.175, 3.531, 4.019, 4.661, 5.47, 6.458, 7.636",\
                 "3.055, 3.115, 3.275, 3.527, 3.883, 4.371, 5.013, 5.822, 6.81, 7.988");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1742, 0.2382, 0.4434, 0.8038, 1.381, 2.227, 3.359, 4.782, 6.528, 8.614",\
                 "0.1736, 0.238, 0.4428, 0.803, 1.383, 2.228, 3.356, 4.785, 6.53, 8.614",\
                 "0.1744, 0.238, 0.4424, 0.804, 1.381, 2.227, 3.354, 4.784, 6.541, 8.613",\
                 "0.1736, 0.2382, 0.4426, 0.8028, 1.383, 2.228, 3.356, 4.785, 6.53, 8.614",\
                 "0.1738, 0.2384, 0.4428, 0.8042, 1.382, 2.227, 3.353, 4.793, 6.542, 8.613",\
                 "0.1748, 0.2388, 0.4436, 0.8048, 1.381, 2.226, 3.358, 4.79, 6.535, 8.609",\
                 "0.1764, 0.2398, 0.4436, 0.8054, 1.382, 2.227, 3.358, 4.784, 6.541, 8.614",\
                 "0.1774, 0.2418, 0.4452, 0.8068, 1.383, 2.224, 3.353, 4.781, 6.532, 8.612",\
                 "0.1792, 0.2434, 0.4476, 0.8074, 1.383, 2.226, 3.355, 4.782, 6.523, 8.615",\
                 "0.1832, 0.246, 0.449, 0.8094, 1.385, 2.225, 3.354, 4.782, 6.526, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.256, 1.416, 1.667, 2.024, 2.513, 3.155, 3.965, 4.955, 6.138",\
                 "1.214, 1.274, 1.434, 1.685, 2.042, 2.531, 3.173, 3.984, 4.975, 6.15",\
                 "1.28, 1.34, 1.5, 1.751, 2.108, 2.597, 3.239, 4.05, 5.04, 6.218",\
                 "1.411, 1.471, 1.631, 1.882, 2.239, 2.728, 3.371, 4.18, 5.169, 6.353",\
                 "1.6, 1.66, 1.82, 2.071, 2.428, 2.917, 3.559, 4.369, 5.36, 6.541",\
                 "1.827, 1.887, 2.046, 2.298, 2.654, 3.143, 3.786, 4.596, 5.586, 6.767",\
                 "2.087, 2.147, 2.307, 2.558, 2.915, 3.403, 4.045, 4.855, 5.845, 7.023",\
                 "2.38, 2.44, 2.6, 2.851, 3.208, 3.696, 4.338, 5.148, 6.138, 7.318",\
                 "2.703, 2.763, 2.923, 3.175, 3.531, 4.02, 4.661, 5.47, 6.458, 7.639",\
                 "3.055, 3.116, 3.276, 3.527, 3.883, 4.371, 5.013, 5.822, 6.81, 7.988");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.174, 0.2384, 0.4426, 0.8036, 1.383, 2.224, 3.36, 4.783, 6.536, 8.61",\
                 "0.1736, 0.2378, 0.443, 0.8032, 1.383, 2.227, 3.357, 4.785, 6.53, 8.613",\
                 "0.1744, 0.2382, 0.4432, 0.8032, 1.381, 2.227, 3.357, 4.785, 6.531, 8.609",\
                 "0.1738, 0.2384, 0.442, 0.8048, 1.383, 2.224, 3.36, 4.782, 6.526, 8.609",\
                 "0.1748, 0.2384, 0.4428, 0.8044, 1.382, 2.227, 3.355, 4.791, 6.539, 8.611",\
                 "0.1746, 0.2394, 0.4438, 0.8048, 1.383, 2.228, 3.354, 4.792, 6.538, 8.613",\
                 "0.176, 0.2402, 0.444, 0.8042, 1.383, 2.227, 3.359, 4.785, 6.538, 8.608",\
                 "0.1772, 0.2418, 0.446, 0.806, 1.383, 2.224, 3.356, 4.784, 6.529, 8.621",\
                 "0.1792, 0.2432, 0.4464, 0.8076, 1.382, 2.226, 3.354, 4.787, 6.534, 8.61",\
                 "0.1822, 0.247, 0.449, 0.8086, 1.384, 2.226, 3.357, 4.781, 6.526, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.256, 1.416, 1.667, 2.024, 2.513, 3.155, 3.965, 4.955, 6.138",\
                 "1.214, 1.274, 1.434, 1.685, 2.042, 2.531, 3.173, 3.984, 4.975, 6.15",\
                 "1.28, 1.34, 1.5, 1.751, 2.108, 2.597, 3.239, 4.05, 5.04, 6.218",\
                 "1.411, 1.471, 1.631, 1.882, 2.239, 2.728, 3.371, 4.18, 5.169, 6.353",\
                 "1.6, 1.66, 1.819, 2.071, 2.428, 2.917, 3.559, 4.37, 5.36, 6.541",\
                 "1.827, 1.887, 2.047, 2.298, 2.655, 3.143, 3.786, 4.596, 5.587, 6.768",\
                 "2.087, 2.147, 2.306, 2.558, 2.915, 3.403, 4.045, 4.855, 5.845, 7.026",\
                 "2.38, 2.44, 2.6, 2.852, 3.208, 3.696, 4.338, 5.147, 6.138, 7.318",\
                 "2.703, 2.763, 2.923, 3.175, 3.531, 4.019, 4.66, 5.47, 6.458, 7.638",\
                 "3.055, 3.115, 3.276, 3.527, 3.883, 4.371, 5.013, 5.822, 6.81, 7.988");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1738, 0.2384, 0.4426, 0.8036, 1.383, 2.228, 3.36, 4.783, 6.536, 8.61",\
                 "0.1736, 0.2378, 0.443, 0.8032, 1.383, 2.227, 3.357, 4.785, 6.53, 8.613",\
                 "0.1744, 0.2382, 0.4432, 0.8032, 1.381, 2.227, 3.357, 4.785, 6.531, 8.609",\
                 "0.1738, 0.2384, 0.442, 0.8036, 1.383, 2.224, 3.36, 4.782, 6.527, 8.609",\
                 "0.1738, 0.2382, 0.4438, 0.8042, 1.381, 2.225, 3.358, 4.792, 6.541, 8.613",\
                 "0.1746, 0.2394, 0.4438, 0.8048, 1.381, 2.224, 3.36, 4.783, 6.53, 8.611",\
                 "0.1762, 0.2402, 0.4436, 0.805, 1.383, 2.227, 3.359, 4.785, 6.538, 8.612",\
                 "0.1772, 0.2418, 0.446, 0.8066, 1.383, 2.224, 3.356, 4.789, 6.531, 8.619",\
                 "0.1794, 0.2446, 0.447, 0.807, 1.385, 2.225, 3.355, 4.788, 6.531, 8.625",\
                 "0.1826, 0.2456, 0.45, 0.8092, 1.384, 2.227, 3.355, 4.781, 6.528, 8.614");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.256, 1.416, 1.667, 2.024, 2.513, 3.155, 3.965, 4.955, 6.138",\
                 "1.214, 1.274, 1.434, 1.685, 2.042, 2.531, 3.173, 3.984, 4.975, 6.15",\
                 "1.28, 1.34, 1.5, 1.751, 2.108, 2.597, 3.239, 4.05, 5.04, 6.218",\
                 "1.411, 1.471, 1.631, 1.882, 2.239, 2.728, 3.371, 4.18, 5.169, 6.353",\
                 "1.6, 1.66, 1.819, 2.071, 2.428, 2.917, 3.559, 4.37, 5.36, 6.541",\
                 "1.828, 1.887, 2.047, 2.298, 2.655, 3.143, 3.786, 4.595, 5.587, 6.768",\
                 "2.087, 2.147, 2.306, 2.558, 2.915, 3.403, 4.045, 4.855, 5.845, 7.023",\
                 "2.38, 2.44, 2.6, 2.852, 3.208, 3.696, 4.338, 5.147, 6.138, 7.318",\
                 "2.703, 2.763, 2.923, 3.175, 3.531, 4.019, 4.661, 5.47, 6.458, 7.639",\
                 "3.055, 3.115, 3.276, 3.527, 3.883, 4.371, 5.013, 5.822, 6.81, 7.988");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1738, 0.2384, 0.4426, 0.8036, 1.383, 2.228, 3.36, 4.783, 6.536, 8.61",\
                 "0.1736, 0.2378, 0.443, 0.8032, 1.383, 2.227, 3.357, 4.785, 6.53, 8.613",\
                 "0.1744, 0.2382, 0.4432, 0.8032, 1.381, 2.227, 3.357, 4.785, 6.531, 8.609",\
                 "0.1738, 0.2384, 0.442, 0.8036, 1.383, 2.224, 3.36, 4.782, 6.526, 8.609",\
                 "0.1738, 0.2382, 0.4438, 0.8042, 1.381, 2.225, 3.354, 4.792, 6.541, 8.613",\
                 "0.1748, 0.2394, 0.4438, 0.8048, 1.381, 2.228, 3.359, 4.781, 6.53, 8.613",\
                 "0.1762, 0.2402, 0.4436, 0.805, 1.383, 2.227, 3.359, 4.785, 6.538, 8.608",\
                 "0.1772, 0.2418, 0.446, 0.8066, 1.383, 2.224, 3.356, 4.789, 6.531, 8.619",\
                 "0.1794, 0.2446, 0.447, 0.8076, 1.384, 2.225, 3.355, 4.786, 6.532, 8.609",\
                 "0.1826, 0.2456, 0.45, 0.8092, 1.384, 2.227, 3.355, 4.781, 6.528, 8.614");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.256, 1.415, 1.667, 2.024, 2.513, 3.155, 3.966, 4.953, 6.136",\
                 "1.214, 1.274, 1.433, 1.685, 2.042, 2.531, 3.173, 3.984, 4.975, 6.151",\
                 "1.28, 1.34, 1.499, 1.751, 2.108, 2.597, 3.239, 4.05, 5.04, 6.221",\
                 "1.412, 1.471, 1.631, 1.882, 2.239, 2.728, 3.37, 4.181, 5.172, 6.352",\
                 "1.6, 1.66, 1.819, 2.071, 2.427, 2.916, 3.559, 4.369, 5.36, 6.541",\
                 "1.827, 1.887, 2.046, 2.298, 2.654, 3.143, 3.785, 4.596, 5.586, 6.767",\
                 "2.087, 2.147, 2.306, 2.558, 2.914, 3.403, 4.045, 4.855, 5.845, 7.021",\
                 "2.379, 2.439, 2.599, 2.851, 3.207, 3.696, 4.337, 5.147, 6.135, 7.319",\
                 "2.703, 2.763, 2.923, 3.175, 3.531, 4.019, 4.661, 5.47, 6.458, 7.638",\
                 "3.055, 3.115, 3.276, 3.527, 3.883, 4.371, 5.013, 5.821, 6.81, 7.988");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.174, 0.2382, 0.4434, 0.8038, 1.381, 2.227, 3.36, 4.785, 6.527, 8.625",\
                 "0.1736, 0.238, 0.4428, 0.803, 1.383, 2.228, 3.356, 4.785, 6.53, 8.614",\
                 "0.1744, 0.238, 0.4424, 0.804, 1.381, 2.227, 3.354, 4.784, 6.541, 8.613",\
                 "0.1736, 0.2382, 0.4426, 0.8028, 1.383, 2.228, 3.356, 4.785, 6.53, 8.614",\
                 "0.1748, 0.2384, 0.4436, 0.8042, 1.382, 2.225, 3.354, 4.793, 6.542, 8.612",\
                 "0.1748, 0.239, 0.4438, 0.8044, 1.384, 2.224, 3.358, 4.792, 6.539, 8.61",\
                 "0.1764, 0.2398, 0.4436, 0.8044, 1.381, 2.228, 3.358, 4.783, 6.531, 8.611",\
                 "0.1778, 0.2424, 0.4458, 0.8068, 1.382, 2.224, 3.354, 4.783, 6.529, 8.612",\
                 "0.1794, 0.2434, 0.4476, 0.8074, 1.383, 2.226, 3.355, 4.786, 6.527, 8.607",\
                 "0.183, 0.2456, 0.4486, 0.809, 1.384, 2.227, 3.356, 4.782, 6.526, 8.614");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.196, 1.256, 1.416, 1.667, 2.024, 2.513, 3.155, 3.965, 4.955, 6.138",\
                 "1.214, 1.274, 1.434, 1.685, 2.042, 2.531, 3.173, 3.984, 4.975, 6.15",\
                 "1.28, 1.34, 1.5, 1.751, 2.108, 2.597, 3.239, 4.05, 5.04, 6.218",\
                 "1.411, 1.471, 1.631, 1.882, 2.239, 2.728, 3.371, 4.181, 5.17, 6.351",\
                 "1.6, 1.66, 1.82, 2.071, 2.427, 2.917, 3.559, 4.369, 5.36, 6.541",\
                 "1.827, 1.887, 2.047, 2.298, 2.654, 3.143, 3.786, 4.596, 5.583, 6.767",\
                 "2.087, 2.147, 2.307, 2.558, 2.915, 3.403, 4.045, 4.855, 5.845, 7.023",\
                 "2.38, 2.44, 2.599, 2.851, 3.207, 3.696, 4.337, 5.147, 6.137, 7.317",\
                 "2.703, 2.763, 2.924, 3.175, 3.531, 4.02, 4.661, 5.47, 6.458, 7.639",\
                 "3.055, 3.116, 3.276, 3.527, 3.883, 4.371, 5.013, 5.822, 6.81, 7.989");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1738, 0.2384, 0.4426, 0.8036, 1.383, 2.224, 3.36, 4.783, 6.536, 8.61",\
                 "0.1736, 0.2378, 0.443, 0.8032, 1.383, 2.227, 3.357, 4.785, 6.53, 8.613",\
                 "0.1744, 0.2382, 0.4432, 0.804, 1.381, 2.227, 3.357, 4.785, 6.531, 8.609",\
                 "0.1738, 0.2382, 0.4434, 0.803, 1.381, 2.226, 3.36, 4.787, 6.534, 8.62",\
                 "0.1738, 0.2382, 0.4438, 0.804, 1.381, 2.227, 3.355, 4.791, 6.539, 8.611",\
                 "0.1748, 0.239, 0.443, 0.8046, 1.384, 2.228, 3.355, 4.792, 6.528, 8.613",\
                 "0.176, 0.2402, 0.444, 0.8044, 1.383, 2.228, 3.359, 4.784, 6.537, 8.608",\
                 "0.177, 0.2412, 0.4456, 0.8074, 1.382, 2.224, 3.354, 4.786, 6.536, 8.622",\
                 "0.1804, 0.244, 0.4474, 0.808, 1.384, 2.227, 3.354, 4.787, 6.534, 8.624",\
                 "0.1826, 0.247, 0.449, 0.809, 1.384, 2.226, 3.357, 4.781, 6.528, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.261, 1.32, 1.48, 1.731, 2.088, 2.577, 3.219, 4.029, 5.02, 6.196",\
                 "1.278, 1.338, 1.497, 1.748, 2.105, 2.594, 3.237, 4.047, 5.037, 6.215",\
                 "1.344, 1.403, 1.563, 1.814, 2.171, 2.66, 3.303, 4.113, 5.103, 6.28",\
                 "1.476, 1.535, 1.695, 1.946, 2.303, 2.792, 3.434, 4.243, 5.234, 6.412",\
                 "1.672, 1.732, 1.891, 2.142, 2.499, 2.988, 3.63, 4.44, 5.43, 6.611",\
                 "1.909, 1.969, 2.128, 2.379, 2.735, 3.224, 3.867, 4.676, 5.664, 6.847",\
                 "2.177, 2.237, 2.396, 2.648, 3.004, 3.493, 4.135, 4.946, 5.936, 7.112",\
                 "2.478, 2.537, 2.696, 2.948, 3.304, 3.792, 4.434, 5.245, 6.234, 7.415",\
                 "2.805, 2.865, 3.024, 3.275, 3.631, 4.12, 4.762, 5.571, 6.559, 7.739",\
                 "3.158, 3.218, 3.378, 3.628, 3.985, 4.473, 5.115, 5.924, 6.912, 8.091");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1724, 0.2372, 0.4404, 0.803, 1.381, 2.227, 3.358, 4.787, 6.53, 8.609",\
                 "0.1734, 0.2376, 0.442, 0.8038, 1.382, 2.226, 3.358, 4.792, 6.538, 8.613",\
                 "0.1734, 0.2374, 0.442, 0.8038, 1.38, 2.226, 3.358, 4.792, 6.538, 8.613",\
                 "0.1724, 0.237, 0.4412, 0.8038, 1.38, 2.226, 3.355, 4.784, 6.532, 8.609",\
                 "0.1728, 0.2372, 0.4416, 0.8024, 1.381, 2.227, 3.359, 4.783, 6.533, 8.61",\
                 "0.1728, 0.2368, 0.4426, 0.8044, 1.38, 2.226, 3.355, 4.786, 6.529, 8.61",\
                 "0.1736, 0.2372, 0.4426, 0.8026, 1.382, 2.224, 3.355, 4.785, 6.541, 8.61",\
                 "0.1744, 0.2386, 0.4434, 0.8042, 1.381, 2.225, 3.357, 4.785, 6.536, 8.611",\
                 "0.1758, 0.2394, 0.443, 0.8046, 1.384, 2.226, 3.356, 4.784, 6.533, 8.608",\
                 "0.1762, 0.2402, 0.4446, 0.8054, 1.382, 2.226, 3.359, 4.78, 6.528, 8.614");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.261, 1.32, 1.48, 1.731, 2.088, 2.577, 3.219, 4.029, 5.02, 6.196",\
                 "1.278, 1.338, 1.497, 1.748, 2.105, 2.594, 3.237, 4.047, 5.037, 6.215",\
                 "1.344, 1.403, 1.563, 1.814, 2.171, 2.66, 3.303, 4.113, 5.103, 6.28",\
                 "1.476, 1.535, 1.695, 1.946, 2.303, 2.792, 3.434, 4.243, 5.234, 6.415",\
                 "1.672, 1.732, 1.891, 2.142, 2.499, 2.988, 3.63, 4.441, 5.43, 6.611",\
                 "1.909, 1.969, 2.128, 2.379, 2.735, 3.224, 3.867, 4.677, 5.666, 6.848",\
                 "2.177, 2.237, 2.396, 2.648, 3.004, 3.493, 4.135, 4.945, 5.936, 7.112",\
                 "2.478, 2.537, 2.696, 2.948, 3.304, 3.792, 4.434, 5.245, 6.235, 7.415",\
                 "2.805, 2.865, 3.025, 3.276, 3.631, 4.12, 4.762, 5.571, 6.559, 7.74",\
                 "3.159, 3.218, 3.378, 3.628, 3.985, 4.473, 5.116, 5.925, 6.913, 8.091");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1724, 0.2372, 0.4406, 0.803, 1.381, 2.227, 3.358, 4.788, 6.53, 8.609",\
                 "0.1734, 0.2376, 0.442, 0.8038, 1.382, 2.226, 3.358, 4.792, 6.538, 8.613",\
                 "0.1734, 0.2374, 0.442, 0.8038, 1.38, 2.226, 3.358, 4.792, 6.538, 8.613",\
                 "0.1724, 0.237, 0.4414, 0.8038, 1.38, 2.226, 3.355, 4.785, 6.532, 8.611",\
                 "0.1728, 0.2376, 0.4414, 0.8032, 1.38, 2.227, 3.359, 4.785, 6.534, 8.61",\
                 "0.1734, 0.237, 0.4422, 0.8042, 1.381, 2.226, 3.36, 4.792, 6.534, 8.608",\
                 "0.1738, 0.2372, 0.4426, 0.8026, 1.382, 2.227, 3.353, 4.792, 6.541, 8.61",\
                 "0.1744, 0.2386, 0.4434, 0.8038, 1.38, 2.225, 3.355, 4.785, 6.53, 8.611",\
                 "0.176, 0.2394, 0.4444, 0.8046, 1.383, 2.226, 3.357, 4.784, 6.535, 8.608",\
                 "0.1766, 0.2402, 0.4442, 0.8042, 1.382, 2.227, 3.353, 4.782, 6.53, 8.61");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.261, 1.32, 1.48, 1.731, 2.088, 2.577, 3.219, 4.029, 5.02, 6.196",\
                 "1.278, 1.338, 1.497, 1.748, 2.105, 2.594, 3.237, 4.047, 5.037, 6.215",\
                 "1.344, 1.403, 1.563, 1.814, 2.171, 2.66, 3.303, 4.113, 5.103, 6.28",\
                 "1.476, 1.536, 1.695, 1.946, 2.303, 2.792, 3.434, 4.244, 5.234, 6.415",\
                 "1.672, 1.732, 1.891, 2.142, 2.499, 2.988, 3.63, 4.44, 5.43, 6.611",\
                 "1.909, 1.969, 2.128, 2.379, 2.735, 3.224, 3.867, 4.677, 5.667, 6.845",\
                 "2.177, 2.237, 2.397, 2.647, 3.004, 3.493, 4.135, 4.945, 5.936, 7.115",\
                 "2.478, 2.537, 2.697, 2.948, 3.304, 3.792, 4.434, 5.245, 6.233, 7.416",\
                 "2.805, 2.865, 3.025, 3.276, 3.631, 4.12, 4.762, 5.571, 6.559, 7.74",\
                 "3.158, 3.218, 3.377, 3.628, 3.985, 4.473, 5.116, 5.924, 6.913, 8.091");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1724, 0.2372, 0.4406, 0.803, 1.381, 2.227, 3.358, 4.788, 6.53, 8.61",\
                 "0.1734, 0.2376, 0.442, 0.8038, 1.382, 2.226, 3.358, 4.792, 6.538, 8.614",\
                 "0.1734, 0.2374, 0.442, 0.8038, 1.38, 2.226, 3.358, 4.792, 6.538, 8.613",\
                 "0.1724, 0.2368, 0.442, 0.8038, 1.38, 2.227, 3.356, 4.784, 6.533, 8.611",\
                 "0.1728, 0.2374, 0.4416, 0.8024, 1.382, 2.227, 3.359, 4.783, 6.533, 8.61",\
                 "0.173, 0.2372, 0.4424, 0.8034, 1.38, 2.226, 3.36, 4.792, 6.538, 8.614",\
                 "0.1748, 0.238, 0.4426, 0.8026, 1.38, 2.227, 3.361, 4.792, 6.53, 8.621",\
                 "0.1752, 0.238, 0.4424, 0.804, 1.38, 2.224, 3.354, 4.784, 6.528, 8.611",\
                 "0.1762, 0.2392, 0.4448, 0.804, 1.383, 2.227, 3.355, 4.789, 6.534, 8.622",\
                 "0.1762, 0.2398, 0.4448, 0.8054, 1.383, 2.226, 3.357, 4.782, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.261, 1.32, 1.48, 1.731, 2.088, 2.577, 3.219, 4.029, 5.02, 6.197",\
                 "1.278, 1.338, 1.497, 1.749, 2.105, 2.594, 3.237, 4.047, 5.038, 6.214",\
                 "1.344, 1.404, 1.563, 1.814, 2.171, 2.66, 3.303, 4.113, 5.103, 6.281",\
                 "1.476, 1.536, 1.695, 1.946, 2.303, 2.792, 3.434, 4.245, 5.236, 6.413",\
                 "1.672, 1.732, 1.891, 2.142, 2.499, 2.988, 3.63, 4.44, 5.43, 6.61",\
                 "1.909, 1.969, 2.128, 2.379, 2.736, 3.224, 3.867, 4.677, 5.668, 6.844",\
                 "2.177, 2.237, 2.397, 2.647, 3.004, 3.493, 4.135, 4.946, 5.936, 7.112",\
                 "2.478, 2.537, 2.697, 2.948, 3.304, 3.792, 4.434, 5.245, 6.234, 7.414",\
                 "2.805, 2.865, 3.025, 3.276, 3.631, 4.12, 4.762, 5.571, 6.559, 7.74",\
                 "3.159, 3.218, 3.378, 3.629, 3.985, 4.473, 5.116, 5.925, 6.913, 8.091");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1724, 0.2374, 0.4406, 0.803, 1.381, 2.227, 3.358, 4.788, 6.53, 8.611",\
                 "0.1738, 0.2374, 0.4418, 0.8034, 1.38, 2.226, 3.355, 4.793, 6.54, 8.609",\
                 "0.1734, 0.2374, 0.4422, 0.804, 1.382, 2.226, 3.358, 4.792, 6.537, 8.614",\
                 "0.1722, 0.237, 0.4418, 0.8022, 1.383, 2.227, 3.356, 4.785, 6.528, 8.614",\
                 "0.1734, 0.2372, 0.442, 0.8032, 1.382, 2.225, 3.359, 4.784, 6.532, 8.619",\
                 "0.1734, 0.2368, 0.4422, 0.8034, 1.383, 2.226, 3.354, 4.792, 6.54, 8.61",\
                 "0.1742, 0.2376, 0.4428, 0.8026, 1.382, 2.227, 3.359, 4.783, 6.53, 8.608",\
                 "0.1756, 0.238, 0.4432, 0.8046, 1.381, 2.225, 3.356, 4.785, 6.53, 8.617",\
                 "0.1764, 0.2402, 0.444, 0.805, 1.381, 2.226, 3.354, 4.787, 6.53, 8.608",\
                 "0.1764, 0.2402, 0.4444, 0.805, 1.382, 2.228, 3.356, 4.783, 6.526, 8.602");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.261, 1.32, 1.48, 1.731, 2.088, 2.577, 3.219, 4.029, 5.02, 6.197",\
                 "1.278, 1.338, 1.497, 1.749, 2.105, 2.594, 3.237, 4.047, 5.038, 6.214",\
                 "1.344, 1.404, 1.563, 1.814, 2.171, 2.66, 3.303, 4.113, 5.103, 6.281",\
                 "1.476, 1.535, 1.695, 1.946, 2.303, 2.792, 3.434, 4.245, 5.236, 6.413",\
                 "1.672, 1.732, 1.891, 2.142, 2.499, 2.988, 3.63, 4.441, 5.43, 6.611",\
                 "1.909, 1.969, 2.128, 2.379, 2.736, 3.224, 3.867, 4.677, 5.668, 6.846",\
                 "2.177, 2.237, 2.397, 2.648, 3.004, 3.493, 4.135, 4.946, 5.936, 7.115",\
                 "2.478, 2.537, 2.697, 2.948, 3.304, 3.792, 4.434, 5.245, 6.234, 7.416",\
                 "2.805, 2.865, 3.025, 3.276, 3.632, 4.12, 4.762, 5.571, 6.559, 7.74",\
                 "3.158, 3.218, 3.378, 3.629, 3.985, 4.473, 5.116, 5.925, 6.913, 8.091");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1724, 0.2374, 0.4406, 0.803, 1.381, 2.227, 3.358, 4.788, 6.53, 8.611",\
                 "0.1738, 0.2374, 0.4418, 0.8034, 1.38, 2.226, 3.355, 4.793, 6.54, 8.609",\
                 "0.1734, 0.2374, 0.4422, 0.804, 1.382, 2.226, 3.358, 4.792, 6.537, 8.614",\
                 "0.1722, 0.2368, 0.4422, 0.8022, 1.383, 2.227, 3.356, 4.785, 6.528, 8.614",\
                 "0.1728, 0.237, 0.4414, 0.8026, 1.38, 2.227, 3.359, 4.785, 6.536, 8.611",\
                 "0.1734, 0.2372, 0.4426, 0.8038, 1.38, 2.226, 3.354, 4.79, 6.53, 8.616",\
                 "0.1742, 0.2374, 0.4426, 0.8026, 1.381, 2.227, 3.354, 4.783, 6.539, 8.611",\
                 "0.175, 0.2378, 0.4436, 0.8038, 1.381, 2.224, 3.355, 4.784, 6.532, 8.611",\
                 "0.1762, 0.2392, 0.4442, 0.8046, 1.381, 2.226, 3.354, 4.787, 6.532, 8.608",\
                 "0.1766, 0.2408, 0.4444, 0.8044, 1.382, 2.226, 3.353, 4.782, 6.53, 8.614");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.261, 1.32, 1.48, 1.731, 2.088, 2.577, 3.219, 4.029, 5.02, 6.197",\
                 "1.278, 1.338, 1.497, 1.749, 2.105, 2.594, 3.237, 4.047, 5.038, 6.214",\
                 "1.344, 1.404, 1.563, 1.814, 2.171, 2.66, 3.303, 4.113, 5.103, 6.281",\
                 "1.476, 1.535, 1.695, 1.946, 2.303, 2.792, 3.434, 4.245, 5.236, 6.413",\
                 "1.672, 1.732, 1.891, 2.142, 2.499, 2.988, 3.63, 4.441, 5.43, 6.611",\
                 "1.909, 1.968, 2.128, 2.379, 2.735, 3.225, 3.867, 4.677, 5.666, 6.845",\
                 "2.177, 2.237, 2.397, 2.648, 3.004, 3.493, 4.135, 4.946, 5.936, 7.112",\
                 "2.478, 2.537, 2.697, 2.948, 3.304, 3.792, 4.434, 5.245, 6.234, 7.415",\
                 "2.805, 2.865, 3.025, 3.276, 3.631, 4.12, 4.762, 5.571, 6.559, 7.74",\
                 "3.159, 3.219, 3.378, 3.629, 3.985, 4.473, 5.115, 5.925, 6.913, 8.092");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1732, 0.2374, 0.4406, 0.803, 1.381, 2.227, 3.358, 4.788, 6.53, 8.611",\
                 "0.1738, 0.2374, 0.4418, 0.8034, 1.38, 2.226, 3.355, 4.793, 6.54, 8.609",\
                 "0.1734, 0.2374, 0.4422, 0.804, 1.382, 2.226, 3.358, 4.792, 6.537, 8.614",\
                 "0.1722, 0.237, 0.4422, 0.8022, 1.383, 2.227, 3.356, 4.785, 6.528, 8.614",\
                 "0.1728, 0.237, 0.4414, 0.8026, 1.38, 2.227, 3.359, 4.785, 6.536, 8.611",\
                 "0.1732, 0.2372, 0.4428, 0.8038, 1.382, 2.227, 3.355, 4.791, 6.534, 8.612",\
                 "0.1742, 0.2374, 0.4426, 0.8028, 1.382, 2.226, 3.357, 4.783, 6.53, 8.608",\
                 "0.175, 0.2392, 0.4436, 0.8034, 1.381, 2.224, 3.354, 4.785, 6.534, 8.611",\
                 "0.1762, 0.2402, 0.4442, 0.805, 1.382, 2.226, 3.354, 4.787, 6.532, 8.608",\
                 "0.1764, 0.24, 0.4442, 0.8042, 1.381, 2.226, 3.355, 4.783, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.261, 1.32, 1.48, 1.731, 2.088, 2.577, 3.219, 4.029, 5.02, 6.196",\
                 "1.278, 1.338, 1.497, 1.748, 2.105, 2.594, 3.237, 4.047, 5.037, 6.215",\
                 "1.344, 1.403, 1.563, 1.814, 2.171, 2.66, 3.303, 4.113, 5.103, 6.28",\
                 "1.476, 1.535, 1.695, 1.946, 2.303, 2.792, 3.434, 4.244, 5.234, 6.415",\
                 "1.672, 1.731, 1.891, 2.142, 2.499, 2.988, 3.63, 4.44, 5.43, 6.611",\
                 "1.909, 1.968, 2.128, 2.379, 2.735, 3.224, 3.867, 4.676, 5.668, 6.846",\
                 "2.177, 2.237, 2.397, 2.647, 3.004, 3.493, 4.135, 4.946, 5.936, 7.112",\
                 "2.478, 2.537, 2.697, 2.948, 3.304, 3.792, 4.434, 5.245, 6.236, 7.416",\
                 "2.805, 2.865, 3.024, 3.275, 3.631, 4.12, 4.762, 5.571, 6.559, 7.739",\
                 "3.158, 3.218, 3.377, 3.629, 3.985, 4.473, 5.115, 5.924, 6.913, 8.091");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1724, 0.2372, 0.4406, 0.803, 1.381, 2.227, 3.358, 4.788, 6.53, 8.61",\
                 "0.1734, 0.2376, 0.442, 0.8038, 1.382, 2.226, 3.358, 4.792, 6.538, 8.613",\
                 "0.1734, 0.2374, 0.442, 0.8038, 1.38, 2.226, 3.358, 4.792, 6.538, 8.613",\
                 "0.1724, 0.237, 0.441, 0.8034, 1.38, 2.227, 3.359, 4.783, 6.535, 8.611",\
                 "0.1728, 0.2378, 0.441, 0.8026, 1.382, 2.228, 3.359, 4.783, 6.532, 8.61",\
                 "0.1732, 0.2366, 0.4422, 0.8032, 1.383, 2.226, 3.355, 4.784, 6.531, 8.614",\
                 "0.1742, 0.2376, 0.4426, 0.8026, 1.382, 2.227, 3.354, 4.793, 6.54, 8.608",\
                 "0.1742, 0.2384, 0.4438, 0.8038, 1.381, 2.224, 3.353, 4.784, 6.528, 8.611",\
                 "0.176, 0.2394, 0.443, 0.8046, 1.382, 2.226, 3.356, 4.784, 6.533, 8.608",\
                 "0.1764, 0.2404, 0.4448, 0.8056, 1.383, 2.227, 3.359, 4.78, 6.524, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.261, 1.32, 1.48, 1.731, 2.087, 2.577, 3.219, 4.03, 5.02, 6.198",\
                 "1.278, 1.338, 1.497, 1.749, 2.105, 2.594, 3.237, 4.047, 5.038, 6.214",\
                 "1.344, 1.404, 1.563, 1.814, 2.171, 2.66, 3.303, 4.113, 5.103, 6.281",\
                 "1.476, 1.536, 1.695, 1.946, 2.303, 2.792, 3.434, 4.245, 5.236, 6.413",\
                 "1.672, 1.732, 1.891, 2.142, 2.499, 2.988, 3.63, 4.44, 5.43, 6.61",\
                 "1.909, 1.969, 2.128, 2.379, 2.735, 3.225, 3.867, 4.678, 5.666, 6.846",\
                 "2.177, 2.237, 2.397, 2.647, 3.004, 3.492, 4.135, 4.946, 5.936, 7.114",\
                 "2.478, 2.537, 2.697, 2.948, 3.304, 3.792, 4.434, 5.245, 6.234, 7.413",\
                 "2.805, 2.865, 3.024, 3.275, 3.632, 4.12, 4.762, 5.571, 6.559, 7.741",\
                 "3.158, 3.218, 3.378, 3.629, 3.985, 4.473, 5.116, 5.925, 6.913, 8.091");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1724, 0.2364, 0.4422, 0.803, 1.383, 2.227, 3.356, 4.785, 6.529, 8.616",\
                 "0.1738, 0.2374, 0.4418, 0.8034, 1.38, 2.226, 3.355, 4.793, 6.54, 8.609",\
                 "0.1734, 0.2374, 0.4422, 0.804, 1.382, 2.226, 3.358, 4.792, 6.537, 8.614",\
                 "0.1722, 0.237, 0.4418, 0.8022, 1.383, 2.227, 3.356, 4.785, 6.528, 8.614",\
                 "0.1734, 0.2376, 0.442, 0.8032, 1.382, 2.225, 3.359, 4.784, 6.532, 8.619",\
                 "0.1732, 0.2368, 0.4428, 0.804, 1.381, 2.227, 3.355, 4.793, 6.534, 8.612",\
                 "0.1742, 0.2376, 0.4428, 0.8026, 1.382, 2.224, 3.359, 4.793, 6.53, 8.618",\
                 "0.1756, 0.238, 0.4432, 0.8046, 1.38, 2.225, 3.354, 4.785, 6.538, 8.617",\
                 "0.1764, 0.2402, 0.4436, 0.8052, 1.382, 2.226, 3.354, 4.785, 6.534, 8.608",\
                 "0.1766, 0.2408, 0.4446, 0.806, 1.382, 2.226, 3.356, 4.783, 6.53, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("1.261, 1.32, 1.48, 1.731, 2.088, 2.577, 3.219, 4.029, 5.02, 6.197",\
                 "1.278, 1.338, 1.497, 1.749, 2.105, 2.594, 3.237, 4.047, 5.038, 6.214",\
                 "1.344, 1.404, 1.563, 1.814, 2.171, 2.66, 3.303, 4.113, 5.103, 6.281",\
                 "1.476, 1.535, 1.695, 1.946, 2.303, 2.792, 3.434, 4.245, 5.236, 6.413",\
                 "1.672, 1.732, 1.891, 2.142, 2.499, 2.988, 3.63, 4.441, 5.43, 6.611",\
                 "1.909, 1.968, 2.128, 2.379, 2.735, 3.225, 3.867, 4.677, 5.666, 6.845",\
                 "2.177, 2.237, 2.397, 2.648, 3.004, 3.493, 4.135, 4.946, 5.936, 7.112",\
                 "2.478, 2.537, 2.697, 2.948, 3.304, 3.792, 4.434, 5.245, 6.234, 7.415",\
                 "2.805, 2.865, 3.025, 3.276, 3.631, 4.12, 4.762, 5.571, 6.559, 7.74",\
                 "3.159, 3.219, 3.378, 3.629, 3.985, 4.473, 5.115, 5.925, 6.913, 8.092");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04576, 0.1123, 0.2159, 0.3613, 0.5527, 0.7937, 1.088, 1.439");
          values("0.1738, 0.2384, 0.4426, 0.8036, 1.383, 2.228, 3.36, 4.783, 6.536, 8.61",\
                 "0.1736, 0.2378, 0.443, 0.8032, 1.383, 2.227, 3.357, 4.785, 6.53, 8.613",\
                 "0.1744, 0.2382, 0.4432, 0.8032, 1.381, 2.227, 3.357, 4.785, 6.531, 8.609",\
                 "0.1738, 0.2384, 0.442, 0.8036, 1.383, 2.224, 3.36, 4.782, 6.527, 8.609",\
                 "0.1738, 0.2382, 0.4438, 0.8042, 1.381, 2.225, 3.358, 4.792, 6.541, 8.613",\
                 "0.1746, 0.2394, 0.4438, 0.8048, 1.381, 2.224, 3.36, 4.783, 6.53, 8.611",\
                 "0.1762, 0.2402, 0.4436, 0.805, 1.383, 2.227, 3.359, 4.785, 6.538, 8.612",\
                 "0.1772, 0.2418, 0.446, 0.8066, 1.383, 2.224, 3.356, 4.789, 6.531, 8.619",\
                 "0.1794, 0.2446, 0.447, 0.807, 1.385, 2.225, 3.355, 4.788, 6.531, 8.625",\
                 "0.1826, 0.2456, 0.45, 0.8092, 1.384, 2.227, 3.355, 4.781, 6.528, 8.614");
        }
      }
    }

    pin(RN) {
      capacitance : 0.007617 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.702 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02517, 0.02466, 0.02461, 0.02455, 0.02459, 0.02462, 0.02463, \
                 0.02463, 0.02463, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.02449, -0.02455, -0.02458, -0.02457, \
                 -0.02457, -0.02458, -0.02456");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02517, 0.02466, 0.02461, 0.02455, 0.0246, 0.02462, 0.02463, \
                 0.02462, 0.02463, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.02449, -0.02454, -0.02458, -0.02457, \
                 -0.02457, -0.02456, -0.02457");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02516, 0.02465, 0.02458, 0.02456, 0.02455, 0.02461, 0.02464, \
                 0.02462, 0.02462, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.02449, -0.02455, -0.02458, -0.02455, \
                 -0.02456, -0.02457, -0.02457");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02439, 0.02375, 0.02346, 0.02342, 0.0234, 0.0234, 0.0234, 0.0234, \
                 0.0234, 0.0234");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02322, -0.02342, -0.02378, -0.02403, -0.02412, -0.02424, -0.02429, \
                 -0.0243, -0.02433, -0.02437");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02439, 0.02375, 0.02346, 0.02342, 0.02341, 0.02341, 0.0234, \
                 0.02339, 0.0234, 0.0234");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02322, -0.02342, -0.02378, -0.02403, -0.0241, -0.02424, -0.02429, \
                 -0.02431, -0.02434, -0.02435");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02439, 0.02375, 0.02346, 0.02342, 0.0234, 0.0234, 0.02341, 0.0234, \
                 0.02339, 0.0234");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02322, -0.02342, -0.02378, -0.02404, -0.0241, -0.02424, -0.02429, \
                 -0.02431, -0.02434, -0.02436");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02517, 0.02467, 0.02461, 0.02456, 0.02455, 0.02464, 0.02461, \
                 0.02466, 0.02461, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0246, -0.02457, -0.02452, -0.02449, -0.02455, -0.02458, -0.02457, \
                 -0.02457, -0.02456, -0.02456");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02439, 0.02375, 0.02346, 0.02342, 0.0234, 0.0234, 0.02341, 0.02341, \
                 0.0234, 0.02339");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02322, -0.02342, -0.02378, -0.02403, -0.02412, -0.02425, -0.02429, \
                 -0.02431, -0.02434, -0.02437");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02576, 0.02477, 0.0246, 0.0246, 0.02461, 0.02461, 0.02463, 0.02463, \
                 0.02463, 0.02461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02459, -0.02453, -0.02452, -0.02451, -0.02455, -0.02458, \
                 -0.02457, -0.02456, -0.02457");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02576, 0.02477, 0.0246, 0.02458, 0.02462, 0.0246, 0.02464, 0.02464, \
                 0.02464, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02459, -0.02453, -0.02452, -0.0245, -0.02455, -0.02457, \
                 -0.02459, -0.02456, -0.02457");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02578, 0.02478, 0.0246, 0.02461, 0.0246, 0.02458, 0.02463, 0.02463, \
                 0.02463, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02459, -0.02453, -0.02451, -0.02451, -0.02455, -0.02458, \
                 -0.02458, -0.02456, -0.02458");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0257, 0.02471, 0.0246, 0.02458, 0.0246, 0.02462, 0.02461, 0.02462, \
                 0.02463, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02459, -0.02453, -0.02452, -0.02451, -0.02455, -0.02457, \
                 -0.02457, -0.02457, -0.02456");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0257, 0.02471, 0.0246, 0.02458, 0.02459, 0.02463, 0.02461, 0.02462, \
                 0.02463, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02459, -0.02453, -0.02452, -0.02451, -0.02455, -0.02456, \
                 -0.02457, -0.02457, -0.02456");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0257, 0.02471, 0.0246, 0.02458, 0.0246, 0.02463, 0.02461, 0.02461, \
                 0.02463, 0.02462");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02459, -0.02453, -0.02452, -0.02451, -0.02455, -0.02457, \
                 -0.02459, -0.02456, -0.02458");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02576, 0.02477, 0.02461, 0.02459, 0.02463, 0.02461, 0.02464, \
                 0.02464, 0.02462, 0.02463");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02459, -0.02453, -0.02452, -0.02451, -0.02455, -0.02456, \
                 -0.02457, -0.02456, -0.02456");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0257, 0.02471, 0.0246, 0.02458, 0.02459, 0.02463, 0.0246, 0.02461, \
                 0.02464, 0.02461");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.02461, -0.02459, -0.02453, -0.02452, -0.02451, -0.0246, -0.02458, \
                 -0.02458, -0.02457, -0.02459");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.355, -0.371, -0.425, -0.507, -0.568, -0.612, -0.639, -0.638, -0.608, -0.548",\
                 "-0.361, -0.374, -0.432, -0.507, -0.579, -0.619, -0.647, -0.643, -0.619, -0.56",\
                 "-0.374, -0.385, -0.441, -0.52, -0.59, -0.634, -0.655, -0.659, -0.627, -0.578",\
                 "-0.337, -0.351, -0.407, -0.49, -0.553, -0.6, -0.625, -0.636, -0.609, -0.556",\
                 "-0.094, -0.108, -0.165, -0.253, -0.329, -0.372, -0.416, -0.419, -0.404, -0.355",\
                 "0.382, 0.365, 0.303, 0.22, 0.127, 0.076, 0.032, 0.02, 0.038, 0.078",\
                 "1.103, 1.067, 0.991, 0.895, 0.794, 0.743, 0.702, 0.686, 0.694, 0.738",\
                 "1.99, 1.962, 1.896, 1.772, 1.664, 1.598, 1.559, 1.551, 1.563, 1.579",\
                 "3.115, 3.075, 2.977, 2.863, 2.761, 2.665, 2.609, 2.603, 2.622, 2.676",\
                 "4.433, 4.412, 4.29, 4.155, 4.038, 3.937, 3.858, 3.847, 3.89, 3.905");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SETN&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.355, -0.377, -0.425, -0.507, -0.568, -0.612, -0.639, -0.638, -0.608, -0.554",\
                 "-0.361, -0.374, -0.432, -0.507, -0.572, -0.619, -0.647, -0.643, -0.611, -0.56",\
                 "-0.374, -0.385, -0.441, -0.514, -0.59, -0.628, -0.655, -0.659, -0.627, -0.578",\
                 "-0.337, -0.351, -0.407, -0.49, -0.553, -0.6, -0.625, -0.636, -0.609, -0.556",\
                 "-0.094, -0.108, -0.165, -0.253, -0.329, -0.372, -0.416, -0.419, -0.404, -0.355",\
                 "0.382, 0.365, 0.303, 0.22, 0.136, 0.076, 0.032, 0.02, 0.038, 0.072",\
                 "1.094, 1.067, 0.991, 0.895, 0.794, 0.736, 0.702, 0.696, 0.694, 0.717",\
                 "2.001, 1.968, 1.896, 1.772, 1.679, 1.606, 1.559, 1.551, 1.556, 1.587",\
                 "3.115, 3.075, 2.977, 2.872, 2.751, 2.671, 2.609, 2.616, 2.622, 2.676",\
                 "4.433, 4.402, 4.29, 4.172, 4.044, 3.937, 3.879, 3.839, 3.881, 3.945");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&!SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.355, -0.371, -0.425, -0.507, -0.568, -0.612, -0.639, -0.638, -0.608, -0.548",\
                 "-0.361, -0.374, -0.432, -0.507, -0.572, -0.619, -0.647, -0.643, -0.611, -0.56",\
                 "-0.374, -0.385, -0.441, -0.52, -0.59, -0.634, -0.655, -0.659, -0.627, -0.578",\
                 "-0.337, -0.351, -0.407, -0.49, -0.553, -0.6, -0.625, -0.636, -0.609, -0.556",\
                 "-0.094, -0.108, -0.165, -0.253, -0.329, -0.372, -0.416, -0.419, -0.404, -0.355",\
                 "0.382, 0.365, 0.303, 0.213, 0.127, 0.076, 0.032, 0.02, 0.038, 0.078",\
                 "1.103, 1.067, 0.991, 0.895, 0.794, 0.736, 0.694, 0.696, 0.7, 0.738",\
                 "2.001, 1.968, 1.896, 1.772, 1.664, 1.606, 1.559, 1.551, 1.556, 1.579",\
                 "3.115, 3.075, 2.977, 2.846, 2.761, 2.671, 2.603, 2.616, 2.622, 2.64",\
                 "4.433, 4.402, 4.317, 4.144, 4.044, 3.937, 3.865, 3.901, 3.89, 3.945");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.355, -0.377, -0.425, -0.507, -0.568, -0.612, -0.639, -0.638, -0.608, -0.554",\
                 "-0.361, -0.374, -0.432, -0.507, -0.572, -0.619, -0.647, -0.649, -0.619, -0.56",\
                 "-0.374, -0.385, -0.441, -0.52, -0.59, -0.628, -0.655, -0.659, -0.627, -0.578",\
                 "-0.337, -0.351, -0.407, -0.49, -0.553, -0.6, -0.625, -0.636, -0.609, -0.556",\
                 "-0.094, -0.108, -0.165, -0.253, -0.329, -0.372, -0.416, -0.419, -0.405, -0.355",\
                 "0.382, 0.365, 0.303, 0.213, 0.127, 0.07, 0.032, 0.02, 0.033, 0.072",\
                 "1.094, 1.067, 0.991, 0.895, 0.8, 0.743, 0.694, 0.686, 0.694, 0.738",\
                 "2.001, 1.968, 1.896, 1.772, 1.664, 1.606, 1.549, 1.551, 1.563, 1.571",\
                 "3.123, 3.075, 2.977, 2.863, 2.742, 2.692, 2.603, 2.589, 2.614, 2.658",\
                 "4.433, 4.381, 4.29, 4.144, 4.014, 3.963, 3.858, 3.855, 3.89, 3.92");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.595, 0.609, 0.656, 0.744, 0.813, 0.865, 0.909, 0.933, 0.926, 0.903",\
                 "0.593, 0.611, 0.663, 0.739, 0.81, 0.872, 0.912, 0.929, 0.932, 0.901",\
                 "0.621, 0.634, 0.685, 0.764, 0.834, 0.896, 0.936, 0.957, 0.95, 0.922",\
                 "0.683, 0.698, 0.75, 0.827, 0.897, 0.959, 0.995, 1.017, 1.011, 0.982",\
                 "0.801, 0.81, 0.862, 0.94, 1.01, 1.064, 1.103, 1.123, 1.114, 1.089",\
                 "0.953, 0.967, 1.019, 1.095, 1.17, 1.22, 1.261, 1.277, 1.272, 1.248",\
                 "1.148, 1.161, 1.211, 1.293, 1.357, 1.413, 1.453, 1.471, 1.468, 1.446",\
                 "1.375, 1.387, 1.436, 1.514, 1.58, 1.636, 1.672, 1.694, 1.698, 1.677",\
                 "1.636, 1.645, 1.697, 1.768, 1.838, 1.888, 1.929, 1.955, 1.96, 1.944",\
                 "1.93, 1.945, 1.991, 2.062, 2.129, 2.18, 2.222, 2.249, 2.262, 2.247");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SETN&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.595, 0.609, 0.656, 0.743, 0.813, 0.865, 0.909, 0.933, 0.926, 0.903",\
                 "0.593, 0.611, 0.657, 0.739, 0.81, 0.872, 0.912, 0.929, 0.932, 0.901",\
                 "0.621, 0.634, 0.685, 0.764, 0.834, 0.896, 0.936, 0.957, 0.95, 0.922",\
                 "0.683, 0.698, 0.75, 0.827, 0.897, 0.959, 0.995, 1.017, 1.011, 0.982",\
                 "0.801, 0.81, 0.862, 0.94, 1.01, 1.064, 1.103, 1.123, 1.114, 1.089",\
                 "0.953, 0.967, 1.019, 1.096, 1.17, 1.22, 1.261, 1.277, 1.272, 1.248",\
                 "1.148, 1.161, 1.211, 1.293, 1.357, 1.413, 1.453, 1.471, 1.468, 1.446",\
                 "1.375, 1.387, 1.436, 1.508, 1.58, 1.636, 1.672, 1.694, 1.698, 1.677",\
                 "1.636, 1.645, 1.697, 1.768, 1.838, 1.888, 1.929, 1.955, 1.96, 1.944",\
                 "1.93, 1.945, 1.991, 2.062, 2.129, 2.18, 2.222, 2.249, 2.262, 2.247");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&!SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.595, 0.609, 0.656, 0.743, 0.813, 0.865, 0.909, 0.933, 0.926, 0.903",\
                 "0.593, 0.611, 0.663, 0.739, 0.81, 0.872, 0.912, 0.929, 0.932, 0.901",\
                 "0.621, 0.634, 0.685, 0.764, 0.834, 0.896, 0.936, 0.957, 0.95, 0.922",\
                 "0.683, 0.698, 0.75, 0.827, 0.897, 0.959, 0.995, 1.017, 1.011, 0.982",\
                 "0.801, 0.81, 0.862, 0.94, 1.01, 1.064, 1.103, 1.123, 1.114, 1.089",\
                 "0.953, 0.967, 1.019, 1.096, 1.17, 1.22, 1.261, 1.277, 1.272, 1.248",\
                 "1.148, 1.161, 1.211, 1.293, 1.357, 1.413, 1.453, 1.471, 1.468, 1.446",\
                 "1.375, 1.387, 1.436, 1.508, 1.58, 1.636, 1.672, 1.694, 1.698, 1.677",\
                 "1.636, 1.645, 1.697, 1.768, 1.838, 1.888, 1.929, 1.955, 1.96, 1.944",\
                 "1.93, 1.945, 1.991, 2.062, 2.129, 2.18, 2.222, 2.249, 2.262, 2.247");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&SETN&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.595, 0.609, 0.656, 0.743, 0.813, 0.865, 0.909, 0.933, 0.926, 0.903",\
                 "0.593, 0.611, 0.657, 0.739, 0.81, 0.872, 0.912, 0.935, 0.932, 0.901",\
                 "0.621, 0.634, 0.685, 0.764, 0.834, 0.896, 0.936, 0.957, 0.95, 0.922",\
                 "0.683, 0.698, 0.75, 0.827, 0.897, 0.959, 0.995, 1.017, 1.011, 0.982",\
                 "0.801, 0.81, 0.862, 0.94, 1.01, 1.064, 1.103, 1.123, 1.124, 1.089",\
                 "0.953, 0.967, 1.019, 1.096, 1.17, 1.22, 1.261, 1.277, 1.272, 1.248",\
                 "1.148, 1.161, 1.211, 1.293, 1.357, 1.413, 1.453, 1.471, 1.468, 1.446",\
                 "1.375, 1.387, 1.436, 1.515, 1.58, 1.636, 1.672, 1.694, 1.698, 1.677",\
                 "1.636, 1.645, 1.697, 1.768, 1.838, 1.888, 1.929, 1.955, 1.96, 1.944",\
                 "1.93, 1.94, 1.991, 2.062, 2.129, 2.18, 2.222, 2.249, 2.262, 2.247");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.545");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.702");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.088, -0.063, -0.019, 0.003, 0.014, 0.015, -0.005, -0.045, -0.112",\
                 "-0.111, -0.104, -0.072, -0.033, -0.008, 0.005, 0.004, -0.014, -0.056, -0.121",\
                 "-0.146, -0.136, -0.102, -0.071, -0.035, -0.023, -0.024, -0.037, -0.076, -0.145",\
                 "-0.208, -0.199, -0.166, -0.122, -0.095, -0.072, -0.064, -0.078, -0.116, -0.182",\
                 "-0.278, -0.27, -0.234, -0.195, -0.162, -0.136, -0.127, -0.136, -0.173, -0.234",\
                 "-0.347, -0.342, -0.315, -0.271, -0.232, -0.205, -0.194, -0.196, -0.232, -0.291",\
                 "-0.42, -0.416, -0.393, -0.345, -0.307, -0.278, -0.266, -0.266, -0.298, -0.352",\
                 "-0.502, -0.494, -0.466, -0.429, -0.39, -0.359, -0.339, -0.343, -0.368, -0.422",\
                 "-0.569, -0.563, -0.545, -0.504, -0.461, -0.434, -0.417, -0.415, -0.436, -0.488",\
                 "-0.637, -0.633, -0.616, -0.579, -0.534, -0.504, -0.482, -0.479, -0.503, -0.552");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.088, -0.063, -0.019, 0.003, 0.014, 0.015, -0.005, -0.045, -0.112",\
                 "-0.111, -0.104, -0.072, -0.033, -0.008, 0.005, 0.004, -0.014, -0.056, -0.121",\
                 "-0.146, -0.136, -0.102, -0.071, -0.035, -0.023, -0.024, -0.037, -0.076, -0.145",\
                 "-0.208, -0.199, -0.166, -0.122, -0.095, -0.072, -0.064, -0.078, -0.116, -0.182",\
                 "-0.278, -0.27, -0.234, -0.195, -0.162, -0.136, -0.127, -0.136, -0.173, -0.234",\
                 "-0.347, -0.342, -0.315, -0.271, -0.232, -0.205, -0.194, -0.196, -0.232, -0.291",\
                 "-0.42, -0.416, -0.393, -0.345, -0.307, -0.278, -0.266, -0.266, -0.298, -0.352",\
                 "-0.502, -0.494, -0.466, -0.429, -0.39, -0.359, -0.339, -0.343, -0.368, -0.422",\
                 "-0.569, -0.563, -0.545, -0.504, -0.461, -0.434, -0.417, -0.415, -0.436, -0.488",\
                 "-0.637, -0.633, -0.616, -0.579, -0.534, -0.504, -0.482, -0.479, -0.503, -0.552");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.088, -0.063, -0.019, 0.003, 0.014, 0.015, -0.005, -0.045, -0.112",\
                 "-0.111, -0.104, -0.072, -0.033, -0.008, 0.005, 0.004, -0.014, -0.056, -0.121",\
                 "-0.146, -0.136, -0.102, -0.071, -0.035, -0.023, -0.024, -0.037, -0.076, -0.145",\
                 "-0.208, -0.199, -0.166, -0.122, -0.095, -0.072, -0.064, -0.078, -0.116, -0.182",\
                 "-0.278, -0.27, -0.234, -0.195, -0.162, -0.136, -0.127, -0.135, -0.173, -0.234",\
                 "-0.347, -0.342, -0.315, -0.271, -0.232, -0.205, -0.194, -0.196, -0.232, -0.291",\
                 "-0.42, -0.416, -0.393, -0.345, -0.307, -0.278, -0.266, -0.266, -0.298, -0.352",\
                 "-0.502, -0.494, -0.466, -0.429, -0.39, -0.359, -0.339, -0.343, -0.368, -0.422",\
                 "-0.569, -0.563, -0.545, -0.504, -0.461, -0.434, -0.417, -0.415, -0.436, -0.488",\
                 "-0.642, -0.633, -0.616, -0.579, -0.534, -0.504, -0.482, -0.479, -0.503, -0.552");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.088, -0.063, -0.019, 0.003, 0.014, 0.015, -0.005, -0.045, -0.112",\
                 "-0.111, -0.104, -0.072, -0.033, -0.008, 0.005, 0.004, -0.014, -0.056, -0.121",\
                 "-0.146, -0.136, -0.102, -0.071, -0.035, -0.023, -0.024, -0.037, -0.076, -0.145",\
                 "-0.208, -0.199, -0.166, -0.122, -0.095, -0.072, -0.064, -0.078, -0.117, -0.182",\
                 "-0.278, -0.27, -0.234, -0.195, -0.162, -0.136, -0.127, -0.136, -0.173, -0.234",\
                 "-0.347, -0.342, -0.315, -0.271, -0.232, -0.205, -0.194, -0.196, -0.232, -0.291",\
                 "-0.42, -0.416, -0.393, -0.345, -0.307, -0.278, -0.266, -0.266, -0.298, -0.352",\
                 "-0.502, -0.494, -0.466, -0.429, -0.39, -0.359, -0.339, -0.343, -0.368, -0.422",\
                 "-0.569, -0.563, -0.545, -0.504, -0.461, -0.434, -0.417, -0.415, -0.436, -0.488",\
                 "-0.642, -0.633, -0.616, -0.579, -0.534, -0.504, -0.482, -0.479, -0.503, -0.552");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.088, -0.063, -0.019, 0.003, 0.014, 0.015, -0.005, -0.045, -0.112",\
                 "-0.111, -0.104, -0.072, -0.033, -0.008, 0.005, 0.004, -0.014, -0.056, -0.121",\
                 "-0.146, -0.136, -0.102, -0.071, -0.035, -0.023, -0.024, -0.037, -0.076, -0.145",\
                 "-0.208, -0.199, -0.166, -0.122, -0.095, -0.072, -0.064, -0.078, -0.117, -0.182",\
                 "-0.278, -0.27, -0.234, -0.195, -0.162, -0.136, -0.127, -0.136, -0.173, -0.234",\
                 "-0.347, -0.342, -0.315, -0.271, -0.232, -0.205, -0.194, -0.196, -0.232, -0.291",\
                 "-0.42, -0.416, -0.393, -0.345, -0.307, -0.278, -0.266, -0.266, -0.298, -0.352",\
                 "-0.502, -0.494, -0.466, -0.429, -0.39, -0.359, -0.339, -0.343, -0.368, -0.422",\
                 "-0.569, -0.563, -0.545, -0.504, -0.461, -0.434, -0.417, -0.415, -0.436, -0.488",\
                 "-0.637, -0.633, -0.616, -0.579, -0.534, -0.504, -0.482, -0.479, -0.503, -0.552");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.088, -0.063, -0.019, 0.003, 0.014, 0.015, -0.005, -0.045, -0.112",\
                 "-0.111, -0.104, -0.072, -0.033, -0.008, 0.005, 0.004, -0.014, -0.056, -0.121",\
                 "-0.146, -0.136, -0.102, -0.071, -0.035, -0.023, -0.024, -0.037, -0.076, -0.145",\
                 "-0.208, -0.199, -0.166, -0.122, -0.095, -0.072, -0.064, -0.078, -0.117, -0.182",\
                 "-0.278, -0.27, -0.234, -0.195, -0.162, -0.136, -0.127, -0.136, -0.173, -0.234",\
                 "-0.347, -0.342, -0.315, -0.271, -0.232, -0.205, -0.194, -0.196, -0.232, -0.291",\
                 "-0.42, -0.416, -0.393, -0.345, -0.307, -0.278, -0.266, -0.266, -0.298, -0.352",\
                 "-0.502, -0.494, -0.466, -0.429, -0.39, -0.359, -0.339, -0.343, -0.368, -0.422",\
                 "-0.569, -0.563, -0.545, -0.504, -0.461, -0.434, -0.417, -0.415, -0.436, -0.488",\
                 "-0.642, -0.633, -0.616, -0.579, -0.534, -0.504, -0.482, -0.479, -0.503, -0.552");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.088, -0.063, -0.019, 0.003, 0.014, 0.015, -0.005, -0.045, -0.112",\
                 "-0.111, -0.104, -0.072, -0.033, -0.008, 0.005, 0.004, -0.014, -0.056, -0.121",\
                 "-0.146, -0.136, -0.102, -0.071, -0.035, -0.023, -0.024, -0.037, -0.076, -0.145",\
                 "-0.208, -0.199, -0.166, -0.122, -0.095, -0.072, -0.064, -0.078, -0.116, -0.182",\
                 "-0.278, -0.27, -0.234, -0.195, -0.162, -0.136, -0.127, -0.136, -0.173, -0.234",\
                 "-0.347, -0.342, -0.315, -0.271, -0.232, -0.205, -0.194, -0.196, -0.232, -0.291",\
                 "-0.42, -0.416, -0.393, -0.345, -0.307, -0.278, -0.266, -0.266, -0.298, -0.352",\
                 "-0.502, -0.494, -0.466, -0.429, -0.39, -0.359, -0.339, -0.343, -0.368, -0.422",\
                 "-0.569, -0.563, -0.545, -0.504, -0.461, -0.434, -0.417, -0.415, -0.436, -0.488",\
                 "-0.637, -0.633, -0.616, -0.579, -0.534, -0.504, -0.482, -0.479, -0.503, -0.552");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.088, -0.063, -0.019, 0.003, 0.014, 0.015, -0.005, -0.045, -0.112",\
                 "-0.111, -0.104, -0.072, -0.033, -0.008, 0.005, 0.004, -0.014, -0.056, -0.121",\
                 "-0.146, -0.136, -0.102, -0.071, -0.035, -0.023, -0.024, -0.037, -0.076, -0.145",\
                 "-0.208, -0.199, -0.166, -0.122, -0.095, -0.072, -0.064, -0.078, -0.117, -0.182",\
                 "-0.278, -0.27, -0.234, -0.195, -0.162, -0.136, -0.127, -0.136, -0.173, -0.234",\
                 "-0.347, -0.342, -0.315, -0.271, -0.232, -0.205, -0.194, -0.196, -0.232, -0.291",\
                 "-0.42, -0.416, -0.393, -0.345, -0.307, -0.278, -0.266, -0.266, -0.298, -0.352",\
                 "-0.502, -0.494, -0.466, -0.429, -0.39, -0.359, -0.339, -0.343, -0.368, -0.422",\
                 "-0.569, -0.563, -0.545, -0.504, -0.461, -0.434, -0.417, -0.415, -0.436, -0.488",\
                 "-0.642, -0.633, -0.616, -0.579, -0.534, -0.504, -0.482, -0.479, -0.503, -0.552");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.04, -0.009, 0.044, 0.085, 0.117, 0.133, 0.136, 0.115, 0.07",\
                 "-0.056, -0.048, -0.012, 0.035, 0.077, 0.111, 0.133, 0.129, 0.105, 0.067",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.111, 0.13, 0.131, 0.114, 0.064",\
                 "-0.053, -0.045, -0.01, 0.039, 0.085, 0.118, 0.136, 0.142, 0.119, 0.076",\
                 "-0.032, -0.023, 0.01, 0.064, 0.108, 0.144, 0.159, 0.161, 0.14, 0.094",\
                 "0.009, 0.018, 0.055, 0.102, 0.145, 0.178, 0.197, 0.2, 0.171, 0.123",\
                 "0.086, 0.09, 0.124, 0.174, 0.213, 0.248, 0.266, 0.261, 0.233, 0.183",\
                 "0.182, 0.193, 0.218, 0.266, 0.306, 0.348, 0.364, 0.361, 0.334, 0.28",\
                 "0.323, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.466, 0.413",\
                 "0.493, 0.493, 0.521, 0.563, 0.604, 0.641, 0.667, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.04, -0.009, 0.044, 0.085, 0.117, 0.133, 0.136, 0.115, 0.07",\
                 "-0.056, -0.048, -0.012, 0.035, 0.077, 0.111, 0.133, 0.129, 0.105, 0.067",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.111, 0.13, 0.131, 0.114, 0.064",\
                 "-0.053, -0.045, -0.01, 0.039, 0.085, 0.118, 0.136, 0.142, 0.119, 0.076",\
                 "-0.032, -0.023, 0.01, 0.064, 0.108, 0.144, 0.159, 0.161, 0.14, 0.094",\
                 "0.009, 0.018, 0.055, 0.102, 0.145, 0.178, 0.197, 0.2, 0.171, 0.123",\
                 "0.086, 0.09, 0.124, 0.174, 0.213, 0.248, 0.266, 0.261, 0.233, 0.183",\
                 "0.182, 0.193, 0.218, 0.266, 0.314, 0.348, 0.364, 0.361, 0.334, 0.28",\
                 "0.323, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.466, 0.413",\
                 "0.493, 0.493, 0.521, 0.563, 0.604, 0.641, 0.667, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.04, -0.009, 0.044, 0.085, 0.117, 0.133, 0.136, 0.115, 0.07",\
                 "-0.056, -0.048, -0.012, 0.035, 0.077, 0.111, 0.133, 0.129, 0.105, 0.067",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.111, 0.13, 0.131, 0.114, 0.064",\
                 "-0.053, -0.045, -0.01, 0.039, 0.085, 0.118, 0.136, 0.142, 0.119, 0.076",\
                 "-0.032, -0.023, 0.01, 0.064, 0.108, 0.144, 0.159, 0.161, 0.14, 0.094",\
                 "0.009, 0.018, 0.055, 0.102, 0.145, 0.178, 0.197, 0.2, 0.171, 0.123",\
                 "0.086, 0.09, 0.124, 0.174, 0.213, 0.248, 0.266, 0.261, 0.233, 0.183",\
                 "0.182, 0.193, 0.218, 0.266, 0.306, 0.348, 0.364, 0.361, 0.334, 0.28",\
                 "0.323, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.466, 0.413",\
                 "0.493, 0.493, 0.521, 0.563, 0.604, 0.641, 0.667, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.04, -0.009, 0.044, 0.085, 0.117, 0.133, 0.136, 0.115, 0.07",\
                 "-0.056, -0.048, -0.012, 0.035, 0.077, 0.111, 0.133, 0.129, 0.105, 0.067",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.111, 0.13, 0.131, 0.114, 0.064",\
                 "-0.053, -0.045, -0.01, 0.039, 0.085, 0.118, 0.136, 0.142, 0.119, 0.076",\
                 "-0.032, -0.023, 0.01, 0.064, 0.108, 0.144, 0.159, 0.161, 0.14, 0.094",\
                 "0.009, 0.018, 0.055, 0.102, 0.145, 0.178, 0.197, 0.2, 0.171, 0.123",\
                 "0.086, 0.09, 0.124, 0.174, 0.213, 0.248, 0.266, 0.261, 0.233, 0.183",\
                 "0.182, 0.193, 0.218, 0.266, 0.314, 0.348, 0.364, 0.361, 0.334, 0.28",\
                 "0.323, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.466, 0.413",\
                 "0.493, 0.493, 0.521, 0.563, 0.604, 0.641, 0.667, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.04, -0.009, 0.044, 0.085, 0.117, 0.133, 0.136, 0.115, 0.07",\
                 "-0.056, -0.048, -0.012, 0.035, 0.077, 0.111, 0.133, 0.129, 0.105, 0.067",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.111, 0.13, 0.131, 0.114, 0.064",\
                 "-0.053, -0.045, -0.01, 0.039, 0.085, 0.118, 0.136, 0.142, 0.119, 0.076",\
                 "-0.032, -0.023, 0.01, 0.064, 0.108, 0.144, 0.159, 0.161, 0.14, 0.094",\
                 "0.009, 0.018, 0.055, 0.102, 0.145, 0.178, 0.197, 0.2, 0.171, 0.123",\
                 "0.086, 0.09, 0.124, 0.174, 0.213, 0.248, 0.266, 0.261, 0.233, 0.183",\
                 "0.182, 0.193, 0.218, 0.266, 0.314, 0.348, 0.364, 0.361, 0.334, 0.28",\
                 "0.323, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.466, 0.413",\
                 "0.493, 0.493, 0.521, 0.563, 0.604, 0.641, 0.667, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.04, -0.009, 0.044, 0.085, 0.117, 0.133, 0.136, 0.115, 0.07",\
                 "-0.056, -0.048, -0.012, 0.035, 0.077, 0.111, 0.133, 0.129, 0.105, 0.067",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.111, 0.13, 0.131, 0.114, 0.064",\
                 "-0.053, -0.045, -0.01, 0.039, 0.085, 0.118, 0.136, 0.142, 0.119, 0.076",\
                 "-0.032, -0.023, 0.01, 0.064, 0.108, 0.144, 0.159, 0.161, 0.14, 0.094",\
                 "0.009, 0.018, 0.055, 0.102, 0.145, 0.178, 0.197, 0.2, 0.171, 0.123",\
                 "0.086, 0.09, 0.124, 0.174, 0.213, 0.248, 0.266, 0.261, 0.233, 0.183",\
                 "0.182, 0.193, 0.218, 0.266, 0.314, 0.348, 0.364, 0.361, 0.334, 0.28",\
                 "0.323, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.466, 0.413",\
                 "0.493, 0.493, 0.521, 0.563, 0.604, 0.641, 0.667, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.04, -0.009, 0.044, 0.085, 0.117, 0.133, 0.136, 0.115, 0.07",\
                 "-0.056, -0.048, -0.012, 0.035, 0.077, 0.111, 0.133, 0.129, 0.105, 0.067",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.111, 0.13, 0.131, 0.114, 0.064",\
                 "-0.053, -0.045, -0.01, 0.039, 0.085, 0.118, 0.136, 0.142, 0.119, 0.076",\
                 "-0.032, -0.023, 0.01, 0.064, 0.108, 0.144, 0.159, 0.161, 0.14, 0.094",\
                 "0.009, 0.018, 0.055, 0.102, 0.145, 0.178, 0.197, 0.2, 0.171, 0.123",\
                 "0.086, 0.09, 0.124, 0.174, 0.213, 0.248, 0.266, 0.261, 0.233, 0.183",\
                 "0.182, 0.193, 0.218, 0.266, 0.306, 0.348, 0.364, 0.361, 0.334, 0.28",\
                 "0.323, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.466, 0.413",\
                 "0.493, 0.493, 0.521, 0.563, 0.604, 0.641, 0.667, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.04, -0.009, 0.044, 0.085, 0.117, 0.133, 0.136, 0.115, 0.07",\
                 "-0.056, -0.048, -0.012, 0.035, 0.077, 0.111, 0.133, 0.129, 0.105, 0.067",\
                 "-0.06, -0.053, -0.016, 0.034, 0.078, 0.111, 0.13, 0.131, 0.114, 0.064",\
                 "-0.053, -0.045, -0.01, 0.039, 0.085, 0.118, 0.136, 0.142, 0.119, 0.076",\
                 "-0.032, -0.023, 0.01, 0.064, 0.108, 0.144, 0.159, 0.161, 0.14, 0.094",\
                 "0.009, 0.018, 0.055, 0.102, 0.145, 0.178, 0.197, 0.2, 0.171, 0.123",\
                 "0.086, 0.09, 0.124, 0.174, 0.213, 0.248, 0.266, 0.261, 0.233, 0.183",\
                 "0.182, 0.193, 0.218, 0.266, 0.314, 0.348, 0.364, 0.361, 0.334, 0.28",\
                 "0.323, 0.328, 0.349, 0.396, 0.438, 0.473, 0.493, 0.489, 0.466, 0.413",\
                 "0.493, 0.493, 0.521, 0.563, 0.604, 0.641, 0.667, 0.662, 0.641, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.265, 0.262, 0.283, 0.362, 0.516, 0.761, 1.079, 1.485, 1.972",\
                 "0.281, 0.278, 0.273, 0.293, 0.378, 0.531, 0.767, 1.083, 1.484, 1.977",\
                 "0.318, 0.313, 0.307, 0.326, 0.401, 0.546, 0.767, 1.075, 1.457, 1.921",\
                 "0.39, 0.382, 0.376, 0.391, 0.444, 0.57, 0.764, 1.021, 1.366, 1.771",\
                 "0.449, 0.448, 0.435, 0.428, 0.458, 0.539, 0.676, 0.876, 1.147, 1.467",\
                 "0.503, 0.5, 0.481, 0.469, 0.477, 0.529, 0.625, 0.786, 0.997, 1.268",\
                 "0.563, 0.561, 0.547, 0.525, 0.519, 0.547, 0.622, 0.745, 0.924, 1.159",\
                 "0.632, 0.625, 0.609, 0.583, 0.575, 0.587, 0.641, 0.75, 0.915, 1.124",\
                 "0.696, 0.699, 0.677, 0.652, 0.641, 0.638, 0.682, 0.786, 0.933, 1.145",\
                 "0.762, 0.759, 0.74, 0.714, 0.696, 0.692, 0.725, 0.815, 0.963, 1.167");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.265, 0.262, 0.283, 0.362, 0.522, 0.761, 1.079, 1.477, 1.972",\
                 "0.281, 0.278, 0.273, 0.293, 0.378, 0.531, 0.767, 1.083, 1.484, 1.977",\
                 "0.318, 0.313, 0.307, 0.326, 0.401, 0.546, 0.767, 1.075, 1.457, 1.921",\
                 "0.39, 0.382, 0.376, 0.391, 0.444, 0.57, 0.764, 1.021, 1.357, 1.771",\
                 "0.449, 0.448, 0.435, 0.428, 0.458, 0.539, 0.676, 0.876, 1.147, 1.467",\
                 "0.503, 0.5, 0.481, 0.469, 0.477, 0.529, 0.625, 0.786, 0.997, 1.261",\
                 "0.563, 0.561, 0.547, 0.525, 0.519, 0.547, 0.622, 0.745, 0.924, 1.159",\
                 "0.632, 0.625, 0.609, 0.583, 0.575, 0.587, 0.641, 0.75, 0.915, 1.124",\
                 "0.696, 0.699, 0.677, 0.652, 0.641, 0.638, 0.682, 0.786, 0.933, 1.145",\
                 "0.762, 0.759, 0.74, 0.714, 0.696, 0.692, 0.725, 0.815, 0.963, 1.167");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.265, 0.262, 0.283, 0.362, 0.516, 0.761, 1.079, 1.477, 1.972",\
                 "0.281, 0.278, 0.273, 0.293, 0.378, 0.531, 0.767, 1.083, 1.484, 1.977",\
                 "0.318, 0.313, 0.307, 0.326, 0.401, 0.546, 0.776, 1.075, 1.457, 1.921",\
                 "0.39, 0.382, 0.376, 0.391, 0.444, 0.57, 0.764, 1.021, 1.357, 1.771",\
                 "0.449, 0.448, 0.435, 0.428, 0.458, 0.539, 0.676, 0.876, 1.147, 1.467",\
                 "0.503, 0.5, 0.481, 0.469, 0.477, 0.529, 0.625, 0.786, 0.997, 1.268",\
                 "0.563, 0.561, 0.547, 0.525, 0.519, 0.547, 0.622, 0.745, 0.924, 1.159",\
                 "0.632, 0.625, 0.609, 0.583, 0.575, 0.587, 0.641, 0.75, 0.915, 1.124",\
                 "0.696, 0.699, 0.677, 0.652, 0.641, 0.638, 0.682, 0.78, 0.933, 1.145",\
                 "0.762, 0.759, 0.74, 0.714, 0.696, 0.692, 0.725, 0.815, 0.963, 1.167");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.275, 0.265, 0.262, 0.283, 0.362, 0.516, 0.761, 1.068, 1.477, 1.972",\
                 "0.281, 0.278, 0.273, 0.293, 0.37, 0.531, 0.767, 1.083, 1.484, 1.977",\
                 "0.318, 0.313, 0.307, 0.326, 0.401, 0.546, 0.776, 1.075, 1.457, 1.921",\
                 "0.381, 0.382, 0.37, 0.383, 0.439, 0.555, 0.744, 1.007, 1.34, 1.744",\
                 "0.449, 0.448, 0.435, 0.428, 0.458, 0.538, 0.676, 0.884, 1.147, 1.48",\
                 "0.503, 0.5, 0.481, 0.469, 0.477, 0.529, 0.625, 0.777, 0.997, 1.268",\
                 "0.563, 0.561, 0.547, 0.525, 0.519, 0.547, 0.622, 0.745, 0.919, 1.159",\
                 "0.632, 0.625, 0.609, 0.583, 0.575, 0.587, 0.651, 0.75, 0.908, 1.132",\
                 "0.696, 0.691, 0.677, 0.652, 0.632, 0.638, 0.682, 0.773, 0.926, 1.136",\
                 "0.762, 0.759, 0.74, 0.714, 0.696, 0.692, 0.725, 0.815, 0.963, 1.167");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.265, 0.262, 0.283, 0.362, 0.516, 0.761, 1.068, 1.477, 1.972",\
                 "0.281, 0.278, 0.273, 0.293, 0.378, 0.531, 0.767, 1.083, 1.484, 1.977",\
                 "0.318, 0.313, 0.307, 0.326, 0.401, 0.546, 0.776, 1.075, 1.457, 1.921",\
                 "0.381, 0.382, 0.37, 0.383, 0.439, 0.555, 0.744, 1.007, 1.34, 1.744",\
                 "0.449, 0.448, 0.435, 0.428, 0.458, 0.538, 0.676, 0.884, 1.147, 1.48",\
                 "0.503, 0.5, 0.481, 0.469, 0.477, 0.529, 0.625, 0.777, 0.997, 1.274",\
                 "0.563, 0.561, 0.547, 0.525, 0.519, 0.547, 0.622, 0.745, 0.919, 1.159",\
                 "0.632, 0.625, 0.609, 0.583, 0.575, 0.587, 0.651, 0.755, 0.908, 1.132",\
                 "0.696, 0.691, 0.677, 0.652, 0.632, 0.638, 0.682, 0.773, 0.926, 1.136",\
                 "0.762, 0.759, 0.74, 0.714, 0.696, 0.692, 0.725, 0.815, 0.963, 1.167");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.275, 0.265, 0.262, 0.283, 0.362, 0.516, 0.761, 1.074, 1.477, 1.972",\
                 "0.281, 0.278, 0.273, 0.293, 0.378, 0.531, 0.767, 1.083, 1.484, 1.977",\
                 "0.318, 0.313, 0.307, 0.326, 0.401, 0.546, 0.776, 1.075, 1.457, 1.921",\
                 "0.381, 0.382, 0.37, 0.383, 0.439, 0.555, 0.744, 1.007, 1.34, 1.744",\
                 "0.449, 0.448, 0.435, 0.428, 0.458, 0.538, 0.676, 0.884, 1.147, 1.48",\
                 "0.503, 0.5, 0.481, 0.469, 0.477, 0.529, 0.625, 0.777, 0.997, 1.261",\
                 "0.563, 0.561, 0.547, 0.525, 0.519, 0.547, 0.622, 0.745, 0.919, 1.159",\
                 "0.632, 0.625, 0.609, 0.583, 0.575, 0.587, 0.651, 0.75, 0.908, 1.132",\
                 "0.696, 0.691, 0.677, 0.652, 0.632, 0.638, 0.682, 0.773, 0.926, 1.136",\
                 "0.762, 0.759, 0.74, 0.714, 0.696, 0.692, 0.725, 0.815, 0.963, 1.167");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.265, 0.262, 0.283, 0.362, 0.516, 0.761, 1.079, 1.477, 1.972",\
                 "0.281, 0.278, 0.273, 0.293, 0.378, 0.531, 0.767, 1.083, 1.484, 1.977",\
                 "0.318, 0.313, 0.307, 0.326, 0.401, 0.546, 0.767, 1.075, 1.457, 1.921",\
                 "0.39, 0.382, 0.376, 0.391, 0.444, 0.57, 0.764, 1.021, 1.366, 1.771",\
                 "0.449, 0.448, 0.435, 0.428, 0.458, 0.539, 0.676, 0.876, 1.147, 1.467",\
                 "0.503, 0.5, 0.481, 0.469, 0.477, 0.529, 0.625, 0.786, 0.997, 1.261",\
                 "0.563, 0.561, 0.547, 0.525, 0.519, 0.547, 0.622, 0.745, 0.924, 1.159",\
                 "0.632, 0.625, 0.609, 0.583, 0.575, 0.587, 0.641, 0.75, 0.915, 1.124",\
                 "0.696, 0.699, 0.677, 0.652, 0.641, 0.638, 0.682, 0.786, 0.933, 1.145",\
                 "0.762, 0.759, 0.74, 0.714, 0.696, 0.692, 0.725, 0.815, 0.963, 1.167");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.275, 0.265, 0.262, 0.283, 0.362, 0.516, 0.761, 1.079, 1.485, 1.972",\
                 "0.281, 0.278, 0.273, 0.293, 0.378, 0.531, 0.767, 1.083, 1.484, 1.977",\
                 "0.318, 0.313, 0.307, 0.326, 0.401, 0.546, 0.776, 1.075, 1.457, 1.921",\
                 "0.381, 0.382, 0.37, 0.383, 0.439, 0.555, 0.744, 1.007, 1.34, 1.744",\
                 "0.449, 0.448, 0.435, 0.428, 0.458, 0.538, 0.676, 0.884, 1.147, 1.48",\
                 "0.503, 0.5, 0.481, 0.469, 0.477, 0.529, 0.625, 0.777, 0.992, 1.268",\
                 "0.563, 0.561, 0.547, 0.525, 0.519, 0.547, 0.622, 0.745, 0.919, 1.159",\
                 "0.632, 0.625, 0.609, 0.583, 0.575, 0.587, 0.651, 0.755, 0.908, 1.132",\
                 "0.696, 0.691, 0.677, 0.652, 0.632, 0.638, 0.682, 0.773, 0.926, 1.136",\
                 "0.762, 0.759, 0.74, 0.714, 0.696, 0.692, 0.725, 0.815, 0.963, 1.167");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.217, 0.213, 0.247, 0.333, 0.499, 0.735, 1.062, 1.469, 1.966",\
                 "0.227, 0.222, 0.219, 0.254, 0.339, 0.507, 0.741, 1.065, 1.468, 1.966",\
                 "0.238, 0.236, 0.236, 0.268, 0.357, 0.508, 0.74, 1.038, 1.424, 1.899",\
                 "0.253, 0.247, 0.248, 0.268, 0.328, 0.453, 0.644, 0.9, 1.226, 1.632",\
                 "0.211, 0.209, 0.191, 0.19, 0.216, 0.285, 0.408, 0.588, 0.835, 1.116",\
                 "0.135, 0.129, 0.111, 0.096, 0.101, 0.135, 0.2, 0.323, 0.494, 0.712",\
                 "0.04, 0.03, 0.013, -0.014, -0.024, -0.012, 0.024, 0.101, 0.221, 0.388",\
                 "-0.082, -0.086, -0.106, -0.132, -0.15, -0.146, -0.12, -0.063, 0.037, 0.175",\
                 "-0.22, -0.225, -0.242, -0.274, -0.296, -0.3, -0.281, -0.233, -0.148, -0.017",\
                 "-0.388, -0.394, -0.408, -0.439, -0.466, -0.472, -0.459, -0.422, -0.352, -0.235");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.217, 0.213, 0.247, 0.333, 0.499, 0.735, 1.062, 1.469, 1.966",\
                 "0.227, 0.222, 0.219, 0.254, 0.339, 0.507, 0.741, 1.065, 1.468, 1.966",\
                 "0.238, 0.236, 0.236, 0.268, 0.357, 0.508, 0.74, 1.038, 1.424, 1.899",\
                 "0.253, 0.247, 0.248, 0.268, 0.328, 0.453, 0.644, 0.9, 1.226, 1.632",\
                 "0.211, 0.209, 0.191, 0.19, 0.216, 0.285, 0.408, 0.588, 0.835, 1.116",\
                 "0.135, 0.129, 0.111, 0.096, 0.101, 0.135, 0.2, 0.323, 0.494, 0.712",\
                 "0.04, 0.03, 0.013, -0.014, -0.024, -0.012, 0.024, 0.101, 0.221, 0.388",\
                 "-0.082, -0.086, -0.106, -0.132, -0.15, -0.146, -0.12, -0.063, 0.037, 0.175",\
                 "-0.22, -0.225, -0.242, -0.274, -0.296, -0.3, -0.281, -0.233, -0.148, -0.017",\
                 "-0.388, -0.394, -0.408, -0.439, -0.466, -0.472, -0.459, -0.422, -0.352, -0.24");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.217, 0.213, 0.247, 0.333, 0.499, 0.735, 1.062, 1.469, 1.966",\
                 "0.227, 0.222, 0.219, 0.254, 0.339, 0.507, 0.741, 1.065, 1.468, 1.966",\
                 "0.238, 0.236, 0.236, 0.268, 0.357, 0.508, 0.74, 1.038, 1.424, 1.899",\
                 "0.253, 0.247, 0.248, 0.268, 0.328, 0.453, 0.644, 0.894, 1.226, 1.632",\
                 "0.211, 0.209, 0.191, 0.19, 0.216, 0.285, 0.408, 0.588, 0.835, 1.116",\
                 "0.135, 0.129, 0.111, 0.096, 0.101, 0.135, 0.2, 0.323, 0.494, 0.712",\
                 "0.04, 0.03, 0.013, -0.014, -0.024, -0.012, 0.024, 0.101, 0.221, 0.388",\
                 "-0.082, -0.086, -0.106, -0.132, -0.15, -0.146, -0.12, -0.063, 0.037, 0.175",\
                 "-0.22, -0.225, -0.242, -0.274, -0.296, -0.3, -0.281, -0.233, -0.148, -0.017",\
                 "-0.388, -0.394, -0.413, -0.445, -0.466, -0.479, -0.466, -0.43, -0.352, -0.245");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.217, 0.213, 0.247, 0.333, 0.499, 0.735, 1.062, 1.469, 1.966",\
                 "0.227, 0.222, 0.219, 0.254, 0.339, 0.507, 0.741, 1.065, 1.468, 1.966",\
                 "0.238, 0.236, 0.236, 0.268, 0.357, 0.508, 0.74, 1.038, 1.424, 1.899",\
                 "0.253, 0.247, 0.248, 0.268, 0.328, 0.453, 0.644, 0.9, 1.226, 1.632",\
                 "0.211, 0.209, 0.191, 0.19, 0.216, 0.285, 0.408, 0.588, 0.835, 1.116",\
                 "0.135, 0.129, 0.111, 0.096, 0.101, 0.135, 0.2, 0.323, 0.494, 0.712",\
                 "0.04, 0.03, 0.013, -0.014, -0.024, -0.012, 0.024, 0.101, 0.221, 0.388",\
                 "-0.082, -0.086, -0.106, -0.132, -0.15, -0.146, -0.12, -0.063, 0.037, 0.175",\
                 "-0.22, -0.225, -0.242, -0.274, -0.296, -0.3, -0.281, -0.233, -0.148, -0.017",\
                 "-0.388, -0.394, -0.413, -0.445, -0.466, -0.479, -0.466, -0.43, -0.352, -0.25");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.217, 0.213, 0.247, 0.333, 0.499, 0.735, 1.062, 1.469, 1.966",\
                 "0.227, 0.222, 0.219, 0.254, 0.339, 0.507, 0.741, 1.065, 1.468, 1.966",\
                 "0.238, 0.236, 0.236, 0.268, 0.357, 0.508, 0.74, 1.038, 1.424, 1.899",\
                 "0.253, 0.247, 0.248, 0.268, 0.328, 0.453, 0.644, 0.9, 1.226, 1.632",\
                 "0.211, 0.209, 0.191, 0.19, 0.216, 0.285, 0.408, 0.588, 0.835, 1.116",\
                 "0.135, 0.129, 0.111, 0.096, 0.101, 0.135, 0.2, 0.323, 0.494, 0.712",\
                 "0.04, 0.03, 0.013, -0.014, -0.024, -0.012, 0.024, 0.101, 0.221, 0.388",\
                 "-0.082, -0.086, -0.106, -0.132, -0.15, -0.146, -0.12, -0.063, 0.037, 0.175",\
                 "-0.22, -0.225, -0.242, -0.274, -0.296, -0.3, -0.281, -0.233, -0.148, -0.017",\
                 "-0.388, -0.394, -0.413, -0.445, -0.466, -0.479, -0.466, -0.43, -0.352, -0.245");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.217, 0.213, 0.247, 0.333, 0.499, 0.735, 1.062, 1.469, 1.966",\
                 "0.227, 0.222, 0.219, 0.254, 0.339, 0.507, 0.741, 1.065, 1.468, 1.966",\
                 "0.238, 0.236, 0.236, 0.268, 0.357, 0.508, 0.74, 1.038, 1.424, 1.899",\
                 "0.253, 0.247, 0.248, 0.268, 0.328, 0.453, 0.644, 0.9, 1.226, 1.632",\
                 "0.211, 0.209, 0.191, 0.19, 0.216, 0.285, 0.408, 0.588, 0.835, 1.116",\
                 "0.135, 0.129, 0.111, 0.096, 0.101, 0.135, 0.2, 0.323, 0.494, 0.712",\
                 "0.04, 0.03, 0.013, -0.014, -0.024, -0.012, 0.024, 0.101, 0.221, 0.388",\
                 "-0.082, -0.086, -0.106, -0.132, -0.15, -0.146, -0.12, -0.063, 0.037, 0.175",\
                 "-0.22, -0.225, -0.242, -0.274, -0.296, -0.3, -0.281, -0.233, -0.148, -0.017",\
                 "-0.388, -0.394, -0.413, -0.445, -0.466, -0.479, -0.466, -0.43, -0.352, -0.245");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.217, 0.213, 0.247, 0.333, 0.499, 0.735, 1.062, 1.469, 1.966",\
                 "0.227, 0.222, 0.219, 0.254, 0.339, 0.507, 0.741, 1.065, 1.468, 1.966",\
                 "0.238, 0.236, 0.236, 0.268, 0.357, 0.508, 0.74, 1.038, 1.424, 1.899",\
                 "0.253, 0.247, 0.248, 0.268, 0.328, 0.453, 0.644, 0.894, 1.226, 1.632",\
                 "0.211, 0.209, 0.191, 0.19, 0.216, 0.285, 0.408, 0.588, 0.826, 1.116",\
                 "0.135, 0.129, 0.111, 0.096, 0.101, 0.135, 0.2, 0.323, 0.494, 0.712",\
                 "0.04, 0.03, 0.013, -0.014, -0.024, -0.012, 0.024, 0.101, 0.221, 0.388",\
                 "-0.082, -0.086, -0.106, -0.132, -0.15, -0.146, -0.12, -0.063, 0.037, 0.175",\
                 "-0.22, -0.225, -0.242, -0.274, -0.296, -0.3, -0.281, -0.233, -0.148, -0.017",\
                 "-0.388, -0.394, -0.413, -0.445, -0.466, -0.479, -0.466, -0.43, -0.352, -0.245");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.217, 0.213, 0.247, 0.333, 0.499, 0.735, 1.062, 1.469, 1.966",\
                 "0.227, 0.222, 0.219, 0.254, 0.339, 0.507, 0.741, 1.065, 1.468, 1.966",\
                 "0.238, 0.236, 0.236, 0.268, 0.357, 0.508, 0.74, 1.038, 1.424, 1.899",\
                 "0.253, 0.247, 0.248, 0.268, 0.328, 0.453, 0.644, 0.9, 1.226, 1.632",\
                 "0.211, 0.209, 0.191, 0.19, 0.216, 0.285, 0.408, 0.588, 0.835, 1.116",\
                 "0.135, 0.129, 0.111, 0.096, 0.101, 0.135, 0.2, 0.323, 0.494, 0.712",\
                 "0.04, 0.03, 0.013, -0.014, -0.024, -0.012, 0.024, 0.101, 0.221, 0.388",\
                 "-0.082, -0.086, -0.106, -0.132, -0.15, -0.146, -0.12, -0.063, 0.037, 0.175",\
                 "-0.22, -0.225, -0.242, -0.274, -0.296, -0.3, -0.281, -0.233, -0.148, -0.017",\
                 "-0.388, -0.394, -0.413, -0.445, -0.466, -0.479, -0.466, -0.43, -0.352, -0.25");
        }
      }
    }

    pin(SE) {
      capacitance : 0.005982 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05616, 0.05562, 0.05684, 0.06202, 0.07191, 0.0871, 0.1081, 0.1351, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001198, 0.0009618, 0.001716, 0.005539, 0.01356, 0.02636, 0.04434, \
                 0.0677, 0.09677, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1517, 0.1508, 0.1514, 0.1562, 0.1681, 0.1898, 0.2225, 0.2672, \
                 0.3246, 0.3948");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03857, 0.03784, 0.03808, 0.04201, 0.05211, 0.07034, 0.0981, \
                 0.1361, 0.185, 0.2451");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05616, 0.05563, 0.05687, 0.06202, 0.07195, 0.08713, 0.108, 0.1352, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001198, 0.0009662, 0.001711, 0.005518, 0.01359, 0.02636, 0.04433, \
                 0.0677, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1905, 0.1896, 0.1902, 0.1951, 0.2075, 0.2303, 0.2653, 0.3138, \
                 0.376, 0.4517");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09687, 0.09616, 0.09632, 0.1004, 0.1116, 0.1315, 0.1618, 0.2029, \
                 0.2556, 0.32");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05616, 0.05563, 0.05686, 0.06202, 0.07194, 0.08713, 0.1081, \
                 0.1352, 0.1688, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001199, 0.0009945, 0.001687, 0.005526, 0.01359, 0.02637, 0.04433, \
                 0.06767, 0.09675, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1517, 0.1508, 0.1514, 0.1562, 0.1681, 0.1898, 0.2225, 0.2673, \
                 0.3246, 0.3948");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03857, 0.03786, 0.03808, 0.04202, 0.05211, 0.07035, 0.09812, \
                 0.1361, 0.185, 0.2451");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05616, 0.05563, 0.05684, 0.06204, 0.07194, 0.08715, 0.1081, \
                 0.1352, 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001207, 0.0009689, 0.001701, 0.005503, 0.01357, 0.0264, 0.04433, \
                 0.06768, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1873, 0.1865, 0.187, 0.1918, 0.2043, 0.2272, 0.262, 0.3105, \
                 0.3724, 0.448");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09951, 0.09876, 0.09892, 0.103, 0.1142, 0.1341, 0.1644, 0.2055, \
                 0.2581, 0.3226");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09428, 0.09374, 0.09489, 0.09992, 0.1096, 0.1247, 0.1457, 0.1731, \
                 0.2073, 0.2487");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1021, 0.1019, 0.1025, 0.106, 0.1139, 0.1265, 0.1442, 0.1675, \
                 0.1966, 0.2318");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05709, 0.05649, 0.0579, 0.06318, 0.07323, 0.08871, 0.1098, 0.137, \
                 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001635, -0.002417, -0.002091, 0.001662, 0.009734, 0.02253, \
                 0.04055, 0.06399, 0.09307, 0.1281");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1518, 0.1513, 0.1524, 0.1574, 0.1672, 0.1822, 0.2033, 0.2309, \
                 0.2652, 0.3067");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1436, 0.1434, 0.144, 0.1475, 0.1552, 0.1676, 0.1853, 0.2084, \
                 0.2375, 0.2728");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05709, 0.05651, 0.05789, 0.06319, 0.07322, 0.0887, 0.1097, 0.1369, \
                 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001635, -0.002417, -0.002094, 0.001667, 0.009729, 0.02256, \
                 0.04055, 0.06398, 0.09307, 0.1282");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09428, 0.09373, 0.0949, 0.09991, 0.1096, 0.1247, 0.1457, 0.1731, \
                 0.2073, 0.2487");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1021, 0.1019, 0.1025, 0.106, 0.1139, 0.1265, 0.1442, 0.1675, \
                 0.1966, 0.2318");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05709, 0.05652, 0.05789, 0.0632, 0.0733, 0.08872, 0.1098, 0.1369, \
                 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001636, -0.002402, -0.002092, 0.001688, 0.009719, 0.02252, \
                 0.04054, 0.06395, 0.09309, 0.1281");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1544, 0.1539, 0.155, 0.16, 0.1698, 0.1849, 0.206, 0.2336, 0.2679, \
                 0.3094");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1403, 0.1402, 0.1408, 0.1443, 0.1519, 0.1644, 0.182, 0.2052, \
                 0.2343, 0.2695");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05709, 0.05649, 0.05787, 0.06317, 0.07328, 0.08871, 0.1098, \
                 0.137, 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001635, -0.00242, -0.002075, 0.001638, 0.009725, 0.02253, 0.04054, \
                 0.06398, 0.09306, 0.1281");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05667, 0.05632, 0.0576, 0.06281, 0.07274, 0.08795, 0.1089, 0.1359, \
                 0.1694, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001112, 0.0008783, 0.001637, 0.005445, 0.01351, 0.02633, 0.04427, \
                 0.06765, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05711, 0.0564, 0.05758, 0.06277, 0.07271, 0.08797, 0.1089, 0.136, \
                 0.1696, 0.21");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001185, -0.001692, -0.00131, 0.002387, 0.01084, 0.02454, 0.04355, \
                 0.06761, 0.09701, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05667, 0.05633, 0.05763, 0.06287, 0.07269, 0.08794, 0.1089, \
                 0.1359, 0.1694, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001102, 0.0008909, 0.001624, 0.005453, 0.01354, 0.02629, 0.04429, \
                 0.06764, 0.09676, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05711, 0.05637, 0.05757, 0.0628, 0.07271, 0.088, 0.1089, 0.136, \
                 0.1696, 0.21");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001201, -0.001686, -0.001322, 0.002398, 0.01085, 0.02452, 0.04351, \
                 0.06762, 0.09701, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05613, 0.05559, 0.05681, 0.06199, 0.07191, 0.08707, 0.108, 0.1351, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001121, 0.0008629, 0.001658, 0.005443, 0.01353, 0.0263, 0.04429, \
                 0.06767, 0.09677, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05688, 0.05634, 0.05761, 0.06277, 0.0727, 0.088, 0.1089, 0.1361, \
                 0.1696, 0.21");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001198, -0.001714, -0.001309, 0.002373, 0.01084, 0.02453, 0.04354, \
                 0.06761, 0.09701, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05613, 0.05559, 0.05681, 0.06202, 0.07195, 0.08706, 0.1081, \
                 0.1351, 0.1687, 0.209");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001123, 0.0008725, 0.001658, 0.005436, 0.01349, 0.02631, 0.0443, \
                 0.06766, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0767, 0.07616, 0.07755, 0.08283, 0.0935, 0.1098, 0.132, 0.1602, \
                 0.1946, 0.2354");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001204, -0.001705, -0.001283, 0.002357, 0.01076, 0.02453, 0.04356, \
                 0.06762, 0.09699, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05783, 0.05731, 0.05841, 0.06343, 0.07312, 0.08822, 0.109, 0.136, \
                 0.1695, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002411, 0.002176, 0.002928, 0.006648, 0.01468, 0.02744, 0.0454, \
                 0.06877, 0.09782, 0.1328");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0594, 0.05887, 0.06016, 0.0653, 0.07527, 0.09048, 0.1115, 0.1386, \
                 0.1722, 0.2126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002331, -0.00285, -0.00239, 0.00136, 0.009402, 0.02221, 0.04018, \
                 0.06359, 0.09269, 0.1277");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05783, 0.05729, 0.05844, 0.06341, 0.07312, 0.08819, 0.109, 0.136, \
                 0.1695, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002415, 0.002188, 0.002913, 0.006657, 0.01467, 0.02743, 0.0454, \
                 0.06876, 0.09779, 0.1329");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0594, 0.05884, 0.0601, 0.0653, 0.07529, 0.09049, 0.1115, 0.1385, \
                 0.1721, 0.2126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002331, -0.002867, -0.002393, 0.001372, 0.009406, 0.02218, \
                 0.04017, 0.06359, 0.09266, 0.1277");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05782, 0.0573, 0.05842, 0.06343, 0.07313, 0.08821, 0.109, 0.136, \
                 0.1694, 0.2097");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002408, 0.002171, 0.002911, 0.006653, 0.01466, 0.02741, 0.0454, \
                 0.06877, 0.09781, 0.1329");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05939, 0.05888, 0.06018, 0.0653, 0.07522, 0.09048, 0.1115, 0.1386, \
                 0.1722, 0.2126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002331, -0.002898, -0.002383, 0.001367, 0.00942, 0.02219, 0.04019, \
                 0.06358, 0.09265, 0.1277");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05851, 0.05796, 0.05914, 0.06421, 0.07394, 0.08897, 0.1098, \
                 0.1367, 0.1702, 0.2105");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01688, 0.01667, 0.0174, 0.02115, 0.02912, 0.04194, 0.0599, 0.08332, \
                 0.1124, 0.1474");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05702, 0.05649, 0.05786, 0.0632, 0.0732, 0.0886, 0.1097, 0.137, \
                 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002061, -0.002643, -0.002214, 0.001559, 0.009614, 0.02244, \
                 0.04044, 0.06389, 0.093, 0.1281");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.12, -0.108, -0.063, 0.008, 0.062, 0.106, 0.125, 0.119, 0.091, 0.028",\
                 "-0.131, -0.12, -0.072, -0.004, 0.054, 0.094, 0.115, 0.111, 0.08, 0.02",\
                 "-0.162, -0.148, -0.102, -0.036, 0.026, 0.066, 0.085, 0.081, 0.048, -0.011",\
                 "-0.208, -0.189, -0.143, -0.076, -0.016, 0.023, 0.036, 0.035, 0.006, -0.059",\
                 "-0.255, -0.24, -0.19, -0.126, -0.067, -0.031, -0.018, -0.025, -0.05, -0.115",\
                 "-0.307, -0.295, -0.245, -0.183, -0.126, -0.092, -0.079, -0.087, -0.127, -0.188",\
                 "-0.352, -0.339, -0.293, -0.225, -0.181, -0.143, -0.137, -0.149, -0.186, -0.245",\
                 "-0.384, -0.374, -0.323, -0.269, -0.219, -0.183, -0.182, -0.194, -0.24, -0.302",\
                 "-0.401, -0.394, -0.354, -0.303, -0.263, -0.229, -0.234, -0.246, -0.288, -0.352",\
                 "-0.434, -0.429, -0.385, -0.349, -0.321, -0.284, -0.297, -0.304, -0.359, -0.424");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.366, -0.354, -0.326, -0.31, -0.317, -0.349, -0.406, -0.483, -0.578, -0.701",\
                 "-0.377, -0.366, -0.332, -0.312, -0.324, -0.36, -0.416, -0.492, -0.586, -0.708",\
                 "-0.404, -0.391, -0.362, -0.349, -0.357, -0.387, -0.44, -0.516, -0.614, -0.735",\
                 "-0.453, -0.44, -0.41, -0.39, -0.396, -0.423, -0.473, -0.539, -0.641, -0.758",\
                 "-0.501, -0.487, -0.451, -0.437, -0.43, -0.451, -0.499, -0.565, -0.655, -0.776",\
                 "-0.537, -0.524, -0.487, -0.468, -0.459, -0.48, -0.524, -0.584, -0.672, -0.789",\
                 "-0.546, -0.536, -0.501, -0.475, -0.473, -0.493, -0.533, -0.588, -0.683, -0.795",\
                 "-0.532, -0.524, -0.485, -0.462, -0.464, -0.477, -0.524, -0.584, -0.672, -0.781",\
                 "-0.481, -0.475, -0.437, -0.416, -0.414, -0.444, -0.488, -0.55, -0.638, -0.749",\
                 "-0.397, -0.392, -0.353, -0.344, -0.35, -0.368, -0.418, -0.487, -0.584, -0.701");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.532, -0.518, -0.487, -0.465, -0.474, -0.504, -0.55, -0.625, -0.721, -0.841",\
                 "-0.548, -0.533, -0.504, -0.486, -0.486, -0.519, -0.57, -0.641, -0.738, -0.855",\
                 "-0.613, -0.604, -0.566, -0.552, -0.557, -0.585, -0.64, -0.708, -0.804, -0.923",\
                 "-0.725, -0.71, -0.682, -0.666, -0.67, -0.701, -0.743, -0.82, -0.912, -1.038",\
                 "-0.873, -0.857, -0.825, -0.807, -0.814, -0.846, -0.893, -0.965, -1.062, -1.181",\
                 "-1.05, -1.037, -1.004, -0.987, -0.985, -1.02, -1.069, -1.139, -1.233, -1.352",\
                 "-1.255, -1.247, -1.208, -1.194, -1.199, -1.228, -1.275, -1.34, -1.439, -1.558",\
                 "-1.5, -1.491, -1.454, -1.438, -1.441, -1.463, -1.51, -1.585, -1.678, -1.794",\
                 "-1.778, -1.767, -1.727, -1.71, -1.71, -1.743, -1.788, -1.853, -1.946, -2.064",\
                 "-2.095, -2.085, -2.048, -2.028, -2.03, -2.056, -2.102, -2.171, -2.26, -2.379");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.149, -0.1, -0.028, 0.025, 0.065, 0.083, 0.071, 0.043, -0.019",\
                 "-0.179, -0.167, -0.119, -0.052, 0.008, 0.047, 0.064, 0.058, 0.024, -0.032",\
                 "-0.216, -0.207, -0.157, -0.094, -0.035, 0.003, 0.022, 0.013, -0.018, -0.075",\
                 "-0.253, -0.237, -0.195, -0.13, -0.074, -0.029, -0.014, -0.018, -0.047, -0.109",\
                 "-0.278, -0.263, -0.217, -0.147, -0.094, -0.048, -0.035, -0.039, -0.069, -0.126",\
                 "-0.261, -0.253, -0.207, -0.139, -0.083, -0.043, -0.025, -0.028, -0.065, -0.116",\
                 "-0.217, -0.21, -0.157, -0.096, -0.039, 0.005, 0.016, 0.017, -0.021, -0.074",\
                 "-0.142, -0.13, -0.081, -0.015, 0.04, 0.078, 0.101, 0.092, 0.064, 0.001",\
                 "-0.019, -0.017, 0.035, 0.108, 0.154, 0.195, 0.209, 0.213, 0.179, 0.116",\
                 "0.128, 0.142, 0.189, 0.255, 0.312, 0.35, 0.367, 0.366, 0.334, 0.272");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.059, 1.044, 0.981, 0.883, 0.809, 0.746, 0.71, 0.696, 0.721, 0.764",\
                 "1.067, 1.056, 0.995, 0.9, 0.818, 0.76, 0.724, 0.712, 0.73, 0.782",\
                 "1.096, 1.089, 1.023, 0.929, 0.853, 0.783, 0.749, 0.74, 0.763, 0.816",\
                 "1.144, 1.134, 1.071, 0.973, 0.898, 0.841, 0.803, 0.787, 0.807, 0.854",\
                 "1.238, 1.228, 1.165, 1.066, 0.983, 0.925, 0.888, 0.877, 0.892, 0.938",\
                 "1.389, 1.373, 1.311, 1.222, 1.143, 1.08, 1.036, 1.022, 1.034, 1.087",\
                 "1.6, 1.59, 1.525, 1.424, 1.343, 1.275, 1.235, 1.213, 1.22, 1.259",\
                 "1.86, 1.849, 1.778, 1.672, 1.59, 1.522, 1.471, 1.436, 1.441, 1.475",\
                 "2.16, 2.152, 2.083, 1.972, 1.881, 1.796, 1.74, 1.705, 1.704, 1.722",\
                 "2.506, 2.489, 2.424, 2.303, 2.209, 2.121, 2.059, 2.012, 2.007, 2.022");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.87, 0.853, 0.793, 0.719, 0.66, 0.642, 0.659, 0.702, 0.785, 0.889",\
                 "0.876, 0.858, 0.8, 0.727, 0.664, 0.643, 0.664, 0.712, 0.794, 0.897",\
                 "0.903, 0.888, 0.835, 0.75, 0.696, 0.681, 0.694, 0.74, 0.82, 0.929",\
                 "0.953, 0.932, 0.88, 0.797, 0.74, 0.716, 0.734, 0.78, 0.851, 0.955",\
                 "1.008, 0.996, 0.939, 0.86, 0.808, 0.776, 0.774, 0.817, 0.892, 0.985",\
                 "1.067, 1.049, 0.992, 0.915, 0.863, 0.826, 0.827, 0.862, 0.924, 1.016",\
                 "1.103, 1.092, 1.036, 0.955, 0.897, 0.864, 0.864, 0.891, 0.948, 1.038",\
                 "1.134, 1.114, 1.057, 0.977, 0.923, 0.89, 0.885, 0.904, 0.962, 1.052",\
                 "1.133, 1.116, 1.057, 0.984, 0.925, 0.879, 0.877, 0.901, 0.957, 1.046",\
                 "1.101, 1.089, 1.035, 0.96, 0.898, 0.86, 0.854, 0.871, 0.927, 1.019");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.008, 0.99, 0.938, 0.856, 0.801, 0.781, 0.794, 0.843, 0.92, 1.024",\
                 "1.026, 1.009, 0.948, 0.872, 0.818, 0.796, 0.81, 0.856, 0.938, 1.044",\
                 "1.086, 1.077, 1.016, 0.941, 0.888, 0.859, 0.885, 0.926, 1.002, 1.111",\
                 "1.208, 1.192, 1.129, 1.057, 0.998, 0.979, 0.993, 1.041, 1.121, 1.223",\
                 "1.35, 1.335, 1.277, 1.197, 1.144, 1.126, 1.134, 1.18, 1.261, 1.366",\
                 "1.522, 1.508, 1.451, 1.375, 1.318, 1.295, 1.312, 1.359, 1.432, 1.539",\
                 "1.735, 1.718, 1.661, 1.584, 1.526, 1.504, 1.518, 1.565, 1.645, 1.744",\
                 "1.978, 1.968, 1.908, 1.832, 1.767, 1.758, 1.764, 1.803, 1.88, 1.986",\
                 "2.264, 2.248, 2.191, 2.112, 2.051, 2.031, 2.041, 2.083, 2.155, 2.262",\
                 "2.59, 2.572, 2.515, 2.437, 2.376, 2.354, 2.359, 2.403, 2.476, 2.574");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.219, 1.208, 1.142, 1.038, 0.95, 0.878, 0.837, 0.814, 0.824, 0.868",\
                 "1.238, 1.231, 1.155, 1.055, 0.965, 0.89, 0.853, 0.826, 0.85, 0.892",\
                 "1.279, 1.267, 1.197, 1.092, 1.01, 0.936, 0.894, 0.876, 0.887, 0.929",\
                 "1.308, 1.298, 1.228, 1.126, 1.041, 0.965, 0.923, 0.907, 0.92, 0.96",\
                 "1.32, 1.305, 1.235, 1.13, 1.05, 0.977, 0.934, 0.914, 0.93, 0.985",\
                 "1.309, 1.296, 1.228, 1.127, 1.047, 0.972, 0.928, 0.912, 0.924, 0.977",\
                 "1.271, 1.264, 1.19, 1.085, 1.005, 0.938, 0.896, 0.872, 0.889, 0.931",\
                 "1.193, 1.18, 1.113, 1.017, 0.931, 0.865, 0.817, 0.796, 0.814, 0.861",\
                 "1.078, 1.068, 1.008, 0.906, 0.821, 0.748, 0.706, 0.685, 0.708, 0.749",\
                 "0.929, 0.916, 0.858, 0.753, 0.672, 0.608, 0.561, 0.544, 0.566, 0.604");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006241 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.865 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1636, 0.1645, 0.1709, 0.1852, 0.2089, 0.2432, 0.2887, \
                 0.3462, 0.4161");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06305, 0.06259, 0.06337, 0.06871, 0.08078, 0.101, 0.1305, 0.1701, \
                 0.2202, 0.2814");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1636, 0.1645, 0.1709, 0.1852, 0.2089, 0.2431, 0.2887, \
                 0.3462, 0.4161");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06306, 0.06259, 0.06337, 0.06871, 0.08078, 0.101, 0.1306, 0.1701, \
                 0.2201, 0.2814");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1636, 0.1645, 0.1709, 0.1852, 0.2089, 0.2432, 0.2887, \
                 0.3462, 0.4161");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06305, 0.06259, 0.06337, 0.06871, 0.08078, 0.101, 0.1305, 0.1701, \
                 0.2201, 0.2814");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1174, 0.1172, 0.1177, 0.1205, 0.1268, 0.1378, 0.1539, 0.1759, \
                 0.2038, 0.238");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03541, 0.03521, 0.03564, 0.0381, 0.04361, 0.05286, 0.06673, \
                 0.08558, 0.1098, 0.1397");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06797, 0.06762, 0.06801, 0.07157, 0.07938, 0.09209, 0.1102, \
                 0.1337, 0.1632, 0.1988");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01206, 0.01482, 0.02128, 0.03201, 0.04757, \
                 0.06812, 0.09393, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06797, 0.06762, 0.06801, 0.0716, 0.07937, 0.09209, 0.1101, 0.1337, \
                 0.1632, 0.1989");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01206, 0.01482, 0.02128, 0.03201, 0.04757, \
                 0.06811, 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06796, 0.06762, 0.06801, 0.07158, 0.07937, 0.09209, 0.1101, \
                 0.1337, 0.1632, 0.1988");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01205, 0.01482, 0.02128, 0.03201, 0.04758, \
                 0.06811, 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01851, 0.01848, 0.01848, 0.01848, 0.01852, 0.01851, \
                 0.01851, 0.01853, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01287, -0.01288, -0.01294, -0.01295, \
                 -0.01294, -0.01297, -0.01298");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1174, 0.1172, 0.1177, 0.1205, 0.1269, 0.1378, 0.1539, 0.1759, \
                 0.2038, 0.2381");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03541, 0.03521, 0.03564, 0.0381, 0.04361, 0.05286, 0.06674, \
                 0.08558, 0.1098, 0.1397");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1174, 0.1172, 0.1177, 0.1205, 0.1268, 0.1378, 0.154, 0.1759, \
                 0.2038, 0.2381");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03541, 0.03521, 0.03564, 0.03809, 0.0436, 0.05286, 0.06674, \
                 0.08558, 0.1098, 0.1397");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1636, 0.1645, 0.1709, 0.1852, 0.2089, 0.2431, 0.2887, \
                 0.3461, 0.416");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06305, 0.06259, 0.06337, 0.06871, 0.08078, 0.101, 0.1306, 0.1701, \
                 0.2202, 0.2814");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1174, 0.1172, 0.1177, 0.1205, 0.1268, 0.1378, 0.154, 0.1758, \
                 0.2038, 0.2381");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03541, 0.03521, 0.03564, 0.0381, 0.04361, 0.05286, 0.06673, \
                 0.08558, 0.1098, 0.1397");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01851, 0.01848, 0.01848, 0.01848, 0.01852, 0.01851, \
                 0.01852, 0.01853, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01287, -0.01289, -0.01293, -0.01294, \
                 -0.01295, -0.01296, -0.01298");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.01851, 0.01848, 0.01848, 0.01848, 0.01852, 0.01851, \
                 0.01851, 0.01853, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01287, -0.01288, -0.01292, -0.01294, \
                 -0.01296, -0.01297, -0.01297");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06797, 0.06762, 0.068, 0.07158, 0.07938, 0.0921, 0.1101, 0.1337, \
                 0.1632, 0.1989");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01194, 0.01171, 0.01206, 0.01482, 0.02128, 0.03201, 0.04757, \
                 0.06811, 0.09392, 0.1252");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01857, 0.0185, 0.01851, 0.01848, 0.01849, 0.01852, 0.01851, \
                 0.01852, 0.01853, 0.01851");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01286, -0.01288, -0.01288, -0.01288, -0.01293, -0.01293, \
                 -0.01295, -0.01298, -0.01298");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1635, 0.1646, 0.1713, 0.1859, 0.21, 0.2443, 0.29, 0.3474, \
                 0.4174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06099, 0.06051, 0.06132, 0.06681, 0.07912, 0.09957, 0.1293, \
                 0.1689, 0.219, 0.2803");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1635, 0.1646, 0.1713, 0.1859, 0.21, 0.2444, 0.29, 0.3475, \
                 0.4174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06099, 0.06051, 0.06132, 0.06681, 0.07912, 0.09959, 0.1293, \
                 0.1689, 0.219, 0.2803");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1635, 0.1646, 0.1713, 0.186, 0.21, 0.2444, 0.29, 0.3475, \
                 0.4174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06099, 0.06051, 0.06132, 0.06681, 0.07912, 0.09958, 0.1293, \
                 0.1689, 0.2191, 0.2803");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1635, 0.1646, 0.1713, 0.1859, 0.21, 0.2443, 0.29, 0.3475, \
                 0.4174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06099, 0.06051, 0.06132, 0.06681, 0.07912, 0.09957, 0.1293, \
                 0.1689, 0.219, 0.2803");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01853, 0.0185, 0.01848, 0.01849, 0.01853, 0.01852, \
                 0.0185, 0.01852, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01284, -0.01287, -0.01292, -0.01293, \
                 -0.01294, -0.01295, -0.01298");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01853, 0.0185, 0.01848, 0.01849, 0.01854, 0.01852, \
                 0.0185, 0.01851, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01287, -0.01292, -0.01293, \
                 -0.01294, -0.01295, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01853, 0.0185, 0.01848, 0.01849, 0.01854, 0.01852, \
                 0.01849, 0.0185, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01284, -0.01287, -0.01292, -0.01293, \
                 -0.01293, -0.01295, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01853, 0.0185, 0.01852, 0.01854, 0.01852, 0.01852, \
                 0.01851, 0.01853, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01284, -0.01287, -0.01292, -0.01292, \
                 -0.01294, -0.01296, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1635, 0.1646, 0.1713, 0.1859, 0.21, 0.2444, 0.29, 0.3475, \
                 0.4174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06099, 0.06051, 0.06132, 0.06681, 0.07912, 0.09958, 0.1293, \
                 0.1689, 0.2191, 0.2803");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1635, 0.1646, 0.1713, 0.1859, 0.21, 0.2444, 0.29, 0.3475, \
                 0.4174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06099, 0.06051, 0.06132, 0.06681, 0.07912, 0.09958, 0.1293, \
                 0.1688, 0.219, 0.2803");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1635, 0.1646, 0.1713, 0.1859, 0.21, 0.2444, 0.29, 0.3475, \
                 0.4174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06099, 0.06051, 0.06132, 0.06681, 0.07913, 0.09958, 0.1293, \
                 0.1688, 0.219, 0.2803");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1641, 0.1635, 0.1646, 0.1713, 0.1859, 0.21, 0.2444, 0.29, 0.3475, \
                 0.4174");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06099, 0.06051, 0.06132, 0.06681, 0.07912, 0.09958, 0.1293, \
                 0.1689, 0.2191, 0.2803");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01853, 0.01851, 0.01851, 0.01855, 0.01852, 0.01852, \
                 0.0185, 0.01852, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01287, -0.01292, -0.01293, \
                 -0.01294, -0.01295, -0.01295");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01858, 0.01853, 0.01847, 0.01851, 0.01848, 0.01853, 0.01852, \
                 0.01853, 0.01852, 0.01852");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01287, -0.01292, -0.01292, \
                 -0.01294, -0.01295, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01853, 0.0185, 0.01848, 0.01849, 0.01854, 0.01852, \
                 0.01849, 0.01851, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01287, -0.01292, -0.01292, \
                 -0.01294, -0.01296, -0.01297");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01859, 0.01854, 0.0185, 0.01848, 0.01848, 0.01854, 0.01852, \
                 0.0185, 0.01853, 0.01853");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01289, -0.01287, -0.01286, -0.01285, -0.01287, -0.01292, -0.01292, \
                 -0.01293, -0.01295, -0.01298");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&RN&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.029, -0.042, -0.098, -0.18, -0.248, -0.301, -0.335, -0.337, -0.322, -0.272",\
                 "-0.019, -0.032, -0.089, -0.17, -0.24, -0.295, -0.322, -0.333, -0.314, -0.267",\
                 "0.023, 0.011, -0.047, -0.131, -0.199, -0.251, -0.284, -0.292, -0.272, -0.224",\
                 "0.108, 0.093, 0.034, -0.053, -0.115, -0.168, -0.195, -0.208, -0.189, -0.142",\
                 "0.241, 0.232, 0.174, 0.085, 0.014, -0.039, -0.068, -0.071, -0.054, -0.004",\
                 "0.474, 0.465, 0.392, 0.279, 0.206, 0.146, 0.106, 0.104, 0.117, 0.169",\
                 "0.909, 0.921, 0.801, 0.675, 0.571, 0.48, 0.404, 0.374, 0.381, 0.41",\
                 "1.553, 1.568, 1.43, 1.298, 1.168, 1.059, 0.954, 0.91, 0.908, 0.917",\
                 "2.359, 2.353, 2.191, 1.998, 1.9, 1.775, 1.675, 1.624, 1.634, 1.668",\
                 "3.298, 3.317, 3.105, 2.935, 2.763, 2.606, 2.488, 2.466, 2.458, 2.523");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&RN&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.029, -0.042, -0.098, -0.18, -0.248, -0.301, -0.335, -0.343, -0.322, -0.272",\
                 "-0.019, -0.032, -0.089, -0.17, -0.24, -0.289, -0.322, -0.333, -0.314, -0.267",\
                 "0.023, 0.011, -0.047, -0.131, -0.199, -0.251, -0.284, -0.292, -0.272, -0.224",\
                 "0.108, 0.093, 0.034, -0.046, -0.115, -0.168, -0.195, -0.208, -0.189, -0.142",\
                 "0.241, 0.232, 0.174, 0.085, 0.014, -0.039, -0.068, -0.071, -0.054, -0.005",\
                 "0.474, 0.465, 0.385, 0.279, 0.206, 0.146, 0.106, 0.104, 0.117, 0.169",\
                 "0.909, 0.921, 0.801, 0.685, 0.571, 0.48, 0.404, 0.374, 0.381, 0.41",\
                 "1.547, 1.574, 1.43, 1.318, 1.168, 1.059, 0.954, 0.91, 0.908, 0.917",\
                 "2.359, 2.353, 2.191, 2.059, 1.89, 1.775, 1.681, 1.624, 1.634, 1.658",\
                 "3.298, 3.317, 3.105, 2.935, 2.775, 2.619, 2.488, 2.419, 2.467, 2.508");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.029, -0.042, -0.098, -0.18, -0.248, -0.301, -0.335, -0.343, -0.322, -0.278",\
                 "-0.019, -0.032, -0.089, -0.17, -0.24, -0.289, -0.322, -0.333, -0.314, -0.267",\
                 "0.023, 0.011, -0.047, -0.131, -0.199, -0.251, -0.284, -0.292, -0.272, -0.224",\
                 "0.108, 0.093, 0.034, -0.046, -0.115, -0.168, -0.195, -0.208, -0.189, -0.142",\
                 "0.241, 0.232, 0.174, 0.085, 0.014, -0.039, -0.068, -0.071, -0.054, -0.01",\
                 "0.474, 0.465, 0.392, 0.279, 0.206, 0.146, 0.106, 0.104, 0.117, 0.169",\
                 "0.926, 0.921, 0.801, 0.675, 0.571, 0.48, 0.404, 0.374, 0.381, 0.41",\
                 "1.553, 1.568, 1.43, 1.271, 1.168, 1.059, 0.983, 0.91, 0.908, 0.893",\
                 "2.359, 2.361, 2.191, 2.024, 1.9, 1.79, 1.693, 1.624, 1.634, 1.658",\
                 "3.298, 3.317, 3.105, 2.885, 2.769, 2.619, 2.488, 2.419, 2.458, 2.477");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.029, -0.042, -0.098, -0.18, -0.248, -0.301, -0.335, -0.343, -0.322, -0.272",\
                 "-0.019, -0.032, -0.089, -0.17, -0.24, -0.289, -0.322, -0.333, -0.314, -0.267",\
                 "0.023, 0.011, -0.047, -0.131, -0.199, -0.251, -0.284, -0.292, -0.272, -0.224",\
                 "0.108, 0.093, 0.034, -0.053, -0.115, -0.168, -0.195, -0.208, -0.189, -0.142",\
                 "0.241, 0.232, 0.174, 0.085, 0.014, -0.039, -0.068, -0.071, -0.054, -0.01",\
                 "0.474, 0.465, 0.392, 0.279, 0.206, 0.146, 0.106, 0.104, 0.117, 0.169",\
                 "0.926, 0.921, 0.801, 0.675, 0.571, 0.48, 0.404, 0.384, 0.381, 0.417",\
                 "1.553, 1.58, 1.43, 1.311, 1.168, 1.059, 0.954, 0.91, 0.908, 0.893",\
                 "2.359, 2.369, 2.191, 1.998, 1.89, 1.775, 1.681, 1.624, 1.634, 1.668",\
                 "3.298, 3.317, 3.105, 2.935, 2.775, 2.606, 2.488, 2.506, 2.458, 2.508");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&RN&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.432, 0.485, 0.571, 0.635, 0.693, 0.732, 0.744, 0.735, 0.7",\
                 "0.409, 0.421, 0.473, 0.556, 0.626, 0.683, 0.724, 0.738, 0.731, 0.691",\
                 "0.369, 0.385, 0.433, 0.515, 0.591, 0.641, 0.683, 0.696, 0.685, 0.649",\
                 "0.301, 0.312, 0.367, 0.444, 0.517, 0.571, 0.605, 0.623, 0.617, 0.579",\
                 "0.221, 0.239, 0.288, 0.365, 0.438, 0.486, 0.525, 0.538, 0.537, 0.493",\
                 "0.142, 0.153, 0.208, 0.284, 0.354, 0.399, 0.44, 0.452, 0.438, 0.407",\
                 "0.078, 0.09, 0.142, 0.214, 0.276, 0.322, 0.355, 0.368, 0.352, 0.311",\
                 "0.023, 0.038, 0.087, 0.166, 0.225, 0.272, 0.296, 0.298, 0.273, 0.233",\
                 "-0.011, -0.001, 0.051, 0.125, 0.181, 0.227, 0.251, 0.253, 0.225, 0.179",\
                 "-0.038, -0.025, 0.028, 0.097, 0.163, 0.201, 0.224, 0.223, 0.199, 0.149");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&RN&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.432, 0.485, 0.571, 0.635, 0.693, 0.732, 0.744, 0.735, 0.7",\
                 "0.409, 0.421, 0.473, 0.556, 0.626, 0.683, 0.724, 0.738, 0.731, 0.691",\
                 "0.369, 0.385, 0.433, 0.515, 0.591, 0.641, 0.683, 0.696, 0.685, 0.649",\
                 "0.301, 0.312, 0.367, 0.445, 0.517, 0.571, 0.605, 0.623, 0.617, 0.579",\
                 "0.221, 0.239, 0.288, 0.365, 0.438, 0.486, 0.525, 0.538, 0.537, 0.493",\
                 "0.142, 0.153, 0.208, 0.285, 0.354, 0.399, 0.44, 0.452, 0.438, 0.407",\
                 "0.078, 0.09, 0.142, 0.214, 0.276, 0.322, 0.355, 0.368, 0.352, 0.311",\
                 "0.023, 0.038, 0.087, 0.166, 0.225, 0.272, 0.296, 0.298, 0.273, 0.233",\
                 "-0.011, -0.001, 0.051, 0.125, 0.182, 0.227, 0.251, 0.253, 0.225, 0.179",\
                 "-0.038, -0.025, 0.028, 0.098, 0.163, 0.201, 0.224, 0.223, 0.199, 0.149");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.432, 0.485, 0.571, 0.635, 0.693, 0.732, 0.744, 0.735, 0.7",\
                 "0.409, 0.421, 0.473, 0.556, 0.626, 0.683, 0.724, 0.738, 0.731, 0.691",\
                 "0.369, 0.385, 0.433, 0.515, 0.591, 0.641, 0.683, 0.696, 0.685, 0.649",\
                 "0.301, 0.312, 0.367, 0.445, 0.517, 0.571, 0.605, 0.623, 0.617, 0.579",\
                 "0.221, 0.239, 0.288, 0.365, 0.438, 0.495, 0.525, 0.538, 0.537, 0.493",\
                 "0.142, 0.153, 0.208, 0.285, 0.354, 0.399, 0.44, 0.452, 0.438, 0.407",\
                 "0.078, 0.09, 0.142, 0.214, 0.276, 0.322, 0.355, 0.368, 0.352, 0.311",\
                 "0.023, 0.038, 0.087, 0.165, 0.225, 0.272, 0.296, 0.298, 0.273, 0.233",\
                 "-0.011, -0.001, 0.051, 0.125, 0.182, 0.227, 0.251, 0.253, 0.225, 0.179",\
                 "-0.038, -0.025, 0.028, 0.098, 0.157, 0.201, 0.224, 0.223, 0.199, 0.149");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&RN&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.418, 0.432, 0.485, 0.571, 0.635, 0.693, 0.732, 0.744, 0.735, 0.7",\
                 "0.409, 0.421, 0.473, 0.556, 0.626, 0.683, 0.724, 0.738, 0.731, 0.691",\
                 "0.369, 0.385, 0.433, 0.515, 0.591, 0.641, 0.683, 0.696, 0.685, 0.649",\
                 "0.301, 0.312, 0.367, 0.444, 0.517, 0.571, 0.605, 0.623, 0.617, 0.579",\
                 "0.221, 0.239, 0.288, 0.365, 0.438, 0.486, 0.525, 0.538, 0.537, 0.493",\
                 "0.142, 0.153, 0.208, 0.285, 0.354, 0.399, 0.44, 0.452, 0.438, 0.407",\
                 "0.078, 0.09, 0.142, 0.214, 0.276, 0.322, 0.355, 0.368, 0.352, 0.311",\
                 "0.023, 0.038, 0.087, 0.166, 0.224, 0.272, 0.296, 0.298, 0.273, 0.233",\
                 "-0.011, -0.001, 0.051, 0.125, 0.181, 0.227, 0.251, 0.253, 0.225, 0.179",\
                 "-0.038, -0.025, 0.028, 0.098, 0.163, 0.201, 0.224, 0.223, 0.199, 0.149");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.281, 0.318, 0.39, 0.449, 0.503, 0.563, 0.632, 0.696, 0.762",\
                 "0.265, 0.278, 0.313, 0.382, 0.448, 0.5, 0.561, 0.625, 0.699, 0.759",\
                 "0.262, 0.273, 0.307, 0.376, 0.435, 0.481, 0.547, 0.609, 0.677, 0.74",\
                 "0.283, 0.293, 0.326, 0.391, 0.428, 0.469, 0.525, 0.583, 0.652, 0.714",\
                 "0.362, 0.378, 0.401, 0.444, 0.458, 0.477, 0.519, 0.575, 0.641, 0.696",\
                 "0.516, 0.531, 0.546, 0.57, 0.539, 0.529, 0.547, 0.587, 0.638, 0.692",\
                 "0.761, 0.767, 0.767, 0.764, 0.676, 0.625, 0.622, 0.641, 0.682, 0.725",\
                 "1.079, 1.083, 1.075, 1.021, 0.876, 0.786, 0.745, 0.75, 0.786, 0.815",\
                 "1.485, 1.484, 1.457, 1.366, 1.147, 0.997, 0.924, 0.915, 0.933, 0.963",\
                 "1.972, 1.977, 1.921, 1.771, 1.467, 1.268, 1.159, 1.124, 1.145, 1.167");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.281, 0.318, 0.39, 0.449, 0.503, 0.563, 0.632, 0.696, 0.762",\
                 "0.265, 0.278, 0.313, 0.382, 0.448, 0.5, 0.561, 0.625, 0.699, 0.759",\
                 "0.262, 0.273, 0.307, 0.376, 0.435, 0.481, 0.547, 0.609, 0.677, 0.74",\
                 "0.283, 0.293, 0.326, 0.391, 0.428, 0.469, 0.525, 0.583, 0.652, 0.714",\
                 "0.362, 0.378, 0.401, 0.444, 0.458, 0.477, 0.519, 0.575, 0.641, 0.696",\
                 "0.522, 0.531, 0.546, 0.57, 0.539, 0.529, 0.547, 0.587, 0.638, 0.692",\
                 "0.761, 0.767, 0.767, 0.764, 0.676, 0.625, 0.622, 0.641, 0.682, 0.725",\
                 "1.079, 1.083, 1.075, 1.021, 0.876, 0.786, 0.745, 0.75, 0.786, 0.815",\
                 "1.477, 1.484, 1.457, 1.357, 1.147, 0.997, 0.924, 0.915, 0.933, 0.963",\
                 "1.972, 1.977, 1.921, 1.771, 1.467, 1.261, 1.159, 1.124, 1.145, 1.167");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.281, 0.318, 0.39, 0.449, 0.503, 0.563, 0.632, 0.696, 0.762",\
                 "0.265, 0.278, 0.313, 0.382, 0.448, 0.5, 0.561, 0.625, 0.699, 0.759",\
                 "0.262, 0.273, 0.307, 0.376, 0.435, 0.481, 0.547, 0.609, 0.677, 0.74",\
                 "0.283, 0.293, 0.326, 0.391, 0.428, 0.469, 0.525, 0.583, 0.652, 0.714",\
                 "0.362, 0.378, 0.401, 0.444, 0.458, 0.477, 0.519, 0.575, 0.641, 0.696",\
                 "0.516, 0.531, 0.546, 0.57, 0.539, 0.529, 0.547, 0.587, 0.638, 0.692",\
                 "0.761, 0.767, 0.776, 0.764, 0.676, 0.625, 0.622, 0.641, 0.682, 0.725",\
                 "1.079, 1.083, 1.075, 1.021, 0.876, 0.786, 0.745, 0.75, 0.78, 0.815",\
                 "1.477, 1.484, 1.457, 1.357, 1.147, 0.997, 0.924, 0.915, 0.933, 0.963",\
                 "1.972, 1.977, 1.921, 1.771, 1.467, 1.268, 1.159, 1.124, 1.145, 1.167");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.275, 0.281, 0.318, 0.381, 0.449, 0.503, 0.563, 0.632, 0.696, 0.762",\
                 "0.265, 0.278, 0.313, 0.382, 0.448, 0.5, 0.561, 0.625, 0.691, 0.759",\
                 "0.262, 0.273, 0.307, 0.37, 0.435, 0.481, 0.547, 0.609, 0.677, 0.74",\
                 "0.283, 0.293, 0.326, 0.383, 0.428, 0.469, 0.525, 0.583, 0.652, 0.714",\
                 "0.362, 0.37, 0.401, 0.439, 0.458, 0.477, 0.519, 0.575, 0.632, 0.696",\
                 "0.516, 0.531, 0.546, 0.555, 0.538, 0.529, 0.547, 0.587, 0.638, 0.692",\
                 "0.761, 0.767, 0.776, 0.744, 0.676, 0.625, 0.622, 0.651, 0.682, 0.725",\
                 "1.068, 1.083, 1.075, 1.007, 0.884, 0.777, 0.745, 0.75, 0.773, 0.815",\
                 "1.477, 1.484, 1.457, 1.34, 1.147, 0.997, 0.919, 0.908, 0.926, 0.963",\
                 "1.972, 1.977, 1.921, 1.744, 1.48, 1.268, 1.159, 1.132, 1.136, 1.167");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.281, 0.318, 0.381, 0.449, 0.503, 0.563, 0.632, 0.696, 0.762",\
                 "0.265, 0.278, 0.313, 0.382, 0.448, 0.5, 0.561, 0.625, 0.691, 0.759",\
                 "0.262, 0.273, 0.307, 0.37, 0.435, 0.481, 0.547, 0.609, 0.677, 0.74",\
                 "0.283, 0.293, 0.326, 0.383, 0.428, 0.469, 0.525, 0.583, 0.652, 0.714",\
                 "0.362, 0.378, 0.401, 0.439, 0.458, 0.477, 0.519, 0.575, 0.632, 0.696",\
                 "0.516, 0.531, 0.546, 0.555, 0.538, 0.529, 0.547, 0.587, 0.638, 0.692",\
                 "0.761, 0.767, 0.776, 0.744, 0.676, 0.625, 0.622, 0.651, 0.682, 0.725",\
                 "1.068, 1.083, 1.075, 1.007, 0.884, 0.777, 0.745, 0.755, 0.773, 0.815",\
                 "1.477, 1.484, 1.457, 1.34, 1.147, 0.997, 0.919, 0.908, 0.926, 0.963",\
                 "1.972, 1.977, 1.921, 1.744, 1.48, 1.274, 1.159, 1.132, 1.136, 1.167");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.275, 0.281, 0.318, 0.381, 0.449, 0.503, 0.563, 0.632, 0.696, 0.762",\
                 "0.265, 0.278, 0.313, 0.382, 0.448, 0.5, 0.561, 0.625, 0.691, 0.759",\
                 "0.262, 0.273, 0.307, 0.37, 0.435, 0.481, 0.547, 0.609, 0.677, 0.74",\
                 "0.283, 0.293, 0.326, 0.383, 0.428, 0.469, 0.525, 0.583, 0.652, 0.714",\
                 "0.362, 0.378, 0.401, 0.439, 0.458, 0.477, 0.519, 0.575, 0.632, 0.696",\
                 "0.516, 0.531, 0.546, 0.555, 0.538, 0.529, 0.547, 0.587, 0.638, 0.692",\
                 "0.761, 0.767, 0.776, 0.744, 0.676, 0.625, 0.622, 0.651, 0.682, 0.725",\
                 "1.074, 1.083, 1.075, 1.007, 0.884, 0.777, 0.745, 0.75, 0.773, 0.815",\
                 "1.477, 1.484, 1.457, 1.34, 1.147, 0.997, 0.919, 0.908, 0.926, 0.963",\
                 "1.972, 1.977, 1.921, 1.744, 1.48, 1.261, 1.159, 1.132, 1.136, 1.167");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.269, 0.281, 0.318, 0.39, 0.449, 0.503, 0.563, 0.632, 0.696, 0.762",\
                 "0.265, 0.278, 0.313, 0.382, 0.448, 0.5, 0.561, 0.625, 0.699, 0.759",\
                 "0.262, 0.273, 0.307, 0.376, 0.435, 0.481, 0.547, 0.609, 0.677, 0.74",\
                 "0.283, 0.293, 0.326, 0.391, 0.428, 0.469, 0.525, 0.583, 0.652, 0.714",\
                 "0.362, 0.378, 0.401, 0.444, 0.458, 0.477, 0.519, 0.575, 0.641, 0.696",\
                 "0.516, 0.531, 0.546, 0.57, 0.539, 0.529, 0.547, 0.587, 0.638, 0.692",\
                 "0.761, 0.767, 0.767, 0.764, 0.676, 0.625, 0.622, 0.641, 0.682, 0.725",\
                 "1.079, 1.083, 1.075, 1.021, 0.876, 0.786, 0.745, 0.75, 0.786, 0.815",\
                 "1.477, 1.484, 1.457, 1.366, 1.147, 0.997, 0.924, 0.915, 0.933, 0.963",\
                 "1.972, 1.977, 1.921, 1.771, 1.467, 1.261, 1.159, 1.124, 1.145, 1.167");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.275, 0.281, 0.318, 0.381, 0.449, 0.503, 0.563, 0.632, 0.696, 0.762",\
                 "0.265, 0.278, 0.313, 0.382, 0.448, 0.5, 0.561, 0.625, 0.691, 0.759",\
                 "0.262, 0.273, 0.307, 0.37, 0.435, 0.481, 0.547, 0.609, 0.677, 0.74",\
                 "0.283, 0.293, 0.326, 0.383, 0.428, 0.469, 0.525, 0.583, 0.652, 0.714",\
                 "0.362, 0.378, 0.401, 0.439, 0.458, 0.477, 0.519, 0.575, 0.632, 0.696",\
                 "0.516, 0.531, 0.546, 0.555, 0.538, 0.529, 0.547, 0.587, 0.638, 0.692",\
                 "0.761, 0.767, 0.776, 0.744, 0.676, 0.625, 0.622, 0.651, 0.682, 0.725",\
                 "1.079, 1.083, 1.075, 1.007, 0.884, 0.777, 0.745, 0.755, 0.773, 0.815",\
                 "1.485, 1.484, 1.457, 1.34, 1.147, 0.992, 0.919, 0.908, 0.926, 0.963",\
                 "1.972, 1.977, 1.921, 1.744, 1.48, 1.268, 1.159, 1.132, 1.136, 1.167");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.227, 0.238, 0.253, 0.211, 0.135, 0.04, -0.082, -0.22, -0.388",\
                 "0.217, 0.222, 0.236, 0.247, 0.209, 0.129, 0.03, -0.086, -0.225, -0.394",\
                 "0.213, 0.219, 0.236, 0.248, 0.191, 0.111, 0.013, -0.106, -0.242, -0.408",\
                 "0.247, 0.254, 0.268, 0.268, 0.19, 0.096, -0.014, -0.132, -0.274, -0.439",\
                 "0.333, 0.339, 0.357, 0.328, 0.216, 0.101, -0.024, -0.15, -0.296, -0.466",\
                 "0.499, 0.507, 0.508, 0.453, 0.285, 0.135, -0.012, -0.146, -0.3, -0.472",\
                 "0.735, 0.741, 0.74, 0.644, 0.408, 0.2, 0.024, -0.12, -0.281, -0.459",\
                 "1.062, 1.065, 1.038, 0.9, 0.588, 0.323, 0.101, -0.063, -0.233, -0.422",\
                 "1.469, 1.468, 1.424, 1.226, 0.835, 0.494, 0.221, 0.037, -0.148, -0.352",\
                 "1.966, 1.966, 1.899, 1.632, 1.116, 0.712, 0.388, 0.175, -0.017, -0.235");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.227, 0.238, 0.253, 0.211, 0.135, 0.04, -0.082, -0.22, -0.388",\
                 "0.217, 0.222, 0.236, 0.247, 0.209, 0.129, 0.03, -0.086, -0.225, -0.394",\
                 "0.213, 0.219, 0.236, 0.248, 0.191, 0.111, 0.013, -0.106, -0.242, -0.408",\
                 "0.247, 0.254, 0.268, 0.268, 0.19, 0.096, -0.014, -0.132, -0.274, -0.439",\
                 "0.333, 0.339, 0.357, 0.328, 0.216, 0.101, -0.024, -0.15, -0.296, -0.466",\
                 "0.499, 0.507, 0.508, 0.453, 0.285, 0.135, -0.012, -0.146, -0.3, -0.472",\
                 "0.735, 0.741, 0.74, 0.644, 0.408, 0.2, 0.024, -0.12, -0.281, -0.459",\
                 "1.062, 1.065, 1.038, 0.9, 0.588, 0.323, 0.101, -0.063, -0.233, -0.422",\
                 "1.469, 1.468, 1.424, 1.226, 0.835, 0.494, 0.221, 0.037, -0.148, -0.352",\
                 "1.966, 1.966, 1.899, 1.632, 1.116, 0.712, 0.388, 0.175, -0.017, -0.24");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.227, 0.238, 0.253, 0.211, 0.135, 0.04, -0.082, -0.22, -0.388",\
                 "0.217, 0.222, 0.236, 0.247, 0.209, 0.129, 0.03, -0.086, -0.225, -0.394",\
                 "0.213, 0.219, 0.236, 0.248, 0.191, 0.111, 0.013, -0.106, -0.242, -0.413",\
                 "0.247, 0.254, 0.268, 0.268, 0.19, 0.096, -0.014, -0.132, -0.274, -0.445",\
                 "0.333, 0.339, 0.357, 0.328, 0.216, 0.101, -0.024, -0.15, -0.296, -0.466",\
                 "0.499, 0.507, 0.508, 0.453, 0.285, 0.135, -0.012, -0.146, -0.3, -0.479",\
                 "0.735, 0.741, 0.74, 0.644, 0.408, 0.2, 0.024, -0.12, -0.281, -0.466",\
                 "1.062, 1.065, 1.038, 0.894, 0.588, 0.323, 0.101, -0.063, -0.233, -0.43",\
                 "1.469, 1.468, 1.424, 1.226, 0.835, 0.494, 0.221, 0.037, -0.148, -0.352",\
                 "1.966, 1.966, 1.899, 1.632, 1.116, 0.712, 0.388, 0.175, -0.017, -0.245");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.227, 0.238, 0.253, 0.211, 0.135, 0.04, -0.082, -0.22, -0.388",\
                 "0.217, 0.222, 0.236, 0.247, 0.209, 0.129, 0.03, -0.086, -0.225, -0.394",\
                 "0.213, 0.219, 0.236, 0.248, 0.191, 0.111, 0.013, -0.106, -0.242, -0.413",\
                 "0.247, 0.254, 0.268, 0.268, 0.19, 0.096, -0.014, -0.132, -0.274, -0.445",\
                 "0.333, 0.339, 0.357, 0.328, 0.216, 0.101, -0.024, -0.15, -0.296, -0.466",\
                 "0.499, 0.507, 0.508, 0.453, 0.285, 0.135, -0.012, -0.146, -0.3, -0.479",\
                 "0.735, 0.741, 0.74, 0.644, 0.408, 0.2, 0.024, -0.12, -0.281, -0.466",\
                 "1.062, 1.065, 1.038, 0.9, 0.588, 0.323, 0.101, -0.063, -0.233, -0.43",\
                 "1.469, 1.468, 1.424, 1.226, 0.835, 0.494, 0.221, 0.037, -0.148, -0.352",\
                 "1.966, 1.966, 1.899, 1.632, 1.116, 0.712, 0.388, 0.175, -0.017, -0.25");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.227, 0.238, 0.253, 0.211, 0.135, 0.04, -0.082, -0.22, -0.388",\
                 "0.217, 0.222, 0.236, 0.247, 0.209, 0.129, 0.03, -0.086, -0.225, -0.394",\
                 "0.213, 0.219, 0.236, 0.248, 0.191, 0.111, 0.013, -0.106, -0.242, -0.413",\
                 "0.247, 0.254, 0.268, 0.268, 0.19, 0.096, -0.014, -0.132, -0.274, -0.445",\
                 "0.333, 0.339, 0.357, 0.328, 0.216, 0.101, -0.024, -0.15, -0.296, -0.466",\
                 "0.499, 0.507, 0.508, 0.453, 0.285, 0.135, -0.012, -0.146, -0.3, -0.479",\
                 "0.735, 0.741, 0.74, 0.644, 0.408, 0.2, 0.024, -0.12, -0.281, -0.466",\
                 "1.062, 1.065, 1.038, 0.9, 0.588, 0.323, 0.101, -0.063, -0.233, -0.43",\
                 "1.469, 1.468, 1.424, 1.226, 0.835, 0.494, 0.221, 0.037, -0.148, -0.352",\
                 "1.966, 1.966, 1.899, 1.632, 1.116, 0.712, 0.388, 0.175, -0.017, -0.245");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.227, 0.238, 0.253, 0.211, 0.135, 0.04, -0.082, -0.22, -0.388",\
                 "0.217, 0.222, 0.236, 0.247, 0.209, 0.129, 0.03, -0.086, -0.225, -0.394",\
                 "0.213, 0.219, 0.236, 0.248, 0.191, 0.111, 0.013, -0.106, -0.242, -0.413",\
                 "0.247, 0.254, 0.268, 0.268, 0.19, 0.096, -0.014, -0.132, -0.274, -0.445",\
                 "0.333, 0.339, 0.357, 0.328, 0.216, 0.101, -0.024, -0.15, -0.296, -0.466",\
                 "0.499, 0.507, 0.508, 0.453, 0.285, 0.135, -0.012, -0.146, -0.3, -0.479",\
                 "0.735, 0.741, 0.74, 0.644, 0.408, 0.2, 0.024, -0.12, -0.281, -0.466",\
                 "1.062, 1.065, 1.038, 0.9, 0.588, 0.323, 0.101, -0.063, -0.233, -0.43",\
                 "1.469, 1.468, 1.424, 1.226, 0.835, 0.494, 0.221, 0.037, -0.148, -0.352",\
                 "1.966, 1.966, 1.899, 1.632, 1.116, 0.712, 0.388, 0.175, -0.017, -0.245");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.227, 0.238, 0.253, 0.211, 0.135, 0.04, -0.082, -0.22, -0.388",\
                 "0.217, 0.222, 0.236, 0.247, 0.209, 0.129, 0.03, -0.086, -0.225, -0.394",\
                 "0.213, 0.219, 0.236, 0.248, 0.191, 0.111, 0.013, -0.106, -0.242, -0.413",\
                 "0.247, 0.254, 0.268, 0.268, 0.19, 0.096, -0.014, -0.132, -0.274, -0.445",\
                 "0.333, 0.339, 0.357, 0.328, 0.216, 0.101, -0.024, -0.15, -0.296, -0.466",\
                 "0.499, 0.507, 0.508, 0.453, 0.285, 0.135, -0.012, -0.146, -0.3, -0.479",\
                 "0.735, 0.741, 0.74, 0.644, 0.408, 0.2, 0.024, -0.12, -0.281, -0.466",\
                 "1.062, 1.065, 1.038, 0.894, 0.588, 0.323, 0.101, -0.063, -0.233, -0.43",\
                 "1.469, 1.468, 1.424, 1.226, 0.826, 0.494, 0.221, 0.037, -0.148, -0.352",\
                 "1.966, 1.966, 1.899, 1.632, 1.116, 0.712, 0.388, 0.175, -0.017, -0.245");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_hold_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.218, 0.227, 0.238, 0.253, 0.211, 0.135, 0.04, -0.082, -0.22, -0.388",\
                 "0.217, 0.222, 0.236, 0.247, 0.209, 0.129, 0.03, -0.086, -0.225, -0.394",\
                 "0.213, 0.219, 0.236, 0.248, 0.191, 0.111, 0.013, -0.106, -0.242, -0.413",\
                 "0.247, 0.254, 0.268, 0.268, 0.19, 0.096, -0.014, -0.132, -0.274, -0.445",\
                 "0.333, 0.339, 0.357, 0.328, 0.216, 0.101, -0.024, -0.15, -0.296, -0.466",\
                 "0.499, 0.507, 0.508, 0.453, 0.285, 0.135, -0.012, -0.146, -0.3, -0.479",\
                 "0.735, 0.741, 0.74, 0.644, 0.408, 0.2, 0.024, -0.12, -0.281, -0.466",\
                 "1.062, 1.065, 1.038, 0.9, 0.588, 0.323, 0.101, -0.063, -0.233, -0.43",\
                 "1.469, 1.468, 1.424, 1.226, 0.835, 0.494, 0.221, 0.037, -0.148, -0.352",\
                 "1.966, 1.966, 1.899, 1.632, 1.116, 0.712, 0.388, 0.175, -0.017, -0.25");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.111, -0.146, -0.208, -0.278, -0.347, -0.42, -0.502, -0.569, -0.637",\
                 "-0.088, -0.104, -0.136, -0.199, -0.27, -0.342, -0.416, -0.494, -0.563, -0.633",\
                 "-0.063, -0.072, -0.102, -0.166, -0.234, -0.315, -0.393, -0.466, -0.545, -0.616",\
                 "-0.019, -0.033, -0.071, -0.122, -0.195, -0.271, -0.345, -0.429, -0.504, -0.579",\
                 "0.003, -0.008, -0.035, -0.095, -0.162, -0.232, -0.307, -0.39, -0.461, -0.534",\
                 "0.014, 0.005, -0.023, -0.072, -0.136, -0.205, -0.278, -0.359, -0.434, -0.504",\
                 "0.015, 0.004, -0.024, -0.064, -0.127, -0.194, -0.266, -0.339, -0.417, -0.482",\
                 "-0.005, -0.014, -0.037, -0.078, -0.136, -0.196, -0.266, -0.343, -0.415, -0.479",\
                 "-0.045, -0.056, -0.076, -0.116, -0.173, -0.232, -0.298, -0.368, -0.436, -0.503",\
                 "-0.112, -0.121, -0.145, -0.182, -0.234, -0.291, -0.352, -0.422, -0.488, -0.552");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.111, -0.146, -0.208, -0.278, -0.347, -0.42, -0.502, -0.569, -0.637",\
                 "-0.088, -0.104, -0.136, -0.199, -0.27, -0.342, -0.416, -0.494, -0.563, -0.633",\
                 "-0.063, -0.072, -0.102, -0.166, -0.234, -0.315, -0.393, -0.466, -0.545, -0.616",\
                 "-0.019, -0.033, -0.071, -0.122, -0.195, -0.271, -0.345, -0.429, -0.504, -0.579",\
                 "0.003, -0.008, -0.035, -0.095, -0.162, -0.232, -0.307, -0.39, -0.461, -0.534",\
                 "0.014, 0.005, -0.023, -0.072, -0.136, -0.205, -0.278, -0.359, -0.434, -0.504",\
                 "0.015, 0.004, -0.024, -0.064, -0.127, -0.194, -0.266, -0.339, -0.417, -0.482",\
                 "-0.005, -0.014, -0.037, -0.078, -0.136, -0.196, -0.266, -0.343, -0.415, -0.479",\
                 "-0.045, -0.056, -0.076, -0.116, -0.173, -0.232, -0.298, -0.368, -0.436, -0.503",\
                 "-0.112, -0.121, -0.145, -0.182, -0.234, -0.291, -0.352, -0.422, -0.488, -0.552");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.111, -0.146, -0.208, -0.278, -0.347, -0.42, -0.502, -0.569, -0.642",\
                 "-0.088, -0.104, -0.136, -0.199, -0.27, -0.342, -0.416, -0.494, -0.563, -0.633",\
                 "-0.063, -0.072, -0.102, -0.166, -0.234, -0.315, -0.393, -0.466, -0.545, -0.616",\
                 "-0.019, -0.033, -0.071, -0.122, -0.195, -0.271, -0.345, -0.429, -0.504, -0.579",\
                 "0.003, -0.008, -0.035, -0.095, -0.162, -0.232, -0.307, -0.39, -0.461, -0.534",\
                 "0.014, 0.005, -0.023, -0.072, -0.136, -0.205, -0.278, -0.359, -0.434, -0.504",\
                 "0.015, 0.004, -0.024, -0.064, -0.127, -0.194, -0.266, -0.339, -0.417, -0.482",\
                 "-0.005, -0.014, -0.037, -0.078, -0.135, -0.196, -0.266, -0.343, -0.415, -0.479",\
                 "-0.045, -0.056, -0.076, -0.116, -0.173, -0.232, -0.298, -0.368, -0.436, -0.503",\
                 "-0.112, -0.121, -0.145, -0.182, -0.234, -0.291, -0.352, -0.422, -0.488, -0.552");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.111, -0.146, -0.208, -0.278, -0.347, -0.42, -0.502, -0.569, -0.642",\
                 "-0.088, -0.104, -0.136, -0.199, -0.27, -0.342, -0.416, -0.494, -0.563, -0.633",\
                 "-0.063, -0.072, -0.102, -0.166, -0.234, -0.315, -0.393, -0.466, -0.545, -0.616",\
                 "-0.019, -0.033, -0.071, -0.122, -0.195, -0.271, -0.345, -0.429, -0.504, -0.579",\
                 "0.003, -0.008, -0.035, -0.095, -0.162, -0.232, -0.307, -0.39, -0.461, -0.534",\
                 "0.014, 0.005, -0.023, -0.072, -0.136, -0.205, -0.278, -0.359, -0.434, -0.504",\
                 "0.015, 0.004, -0.024, -0.064, -0.127, -0.194, -0.266, -0.339, -0.417, -0.482",\
                 "-0.005, -0.014, -0.037, -0.078, -0.136, -0.196, -0.266, -0.343, -0.415, -0.479",\
                 "-0.045, -0.056, -0.076, -0.117, -0.173, -0.232, -0.298, -0.368, -0.436, -0.503",\
                 "-0.112, -0.121, -0.145, -0.182, -0.234, -0.291, -0.352, -0.422, -0.488, -0.552");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.111, -0.146, -0.208, -0.278, -0.347, -0.42, -0.502, -0.569, -0.637",\
                 "-0.088, -0.104, -0.136, -0.199, -0.27, -0.342, -0.416, -0.494, -0.563, -0.633",\
                 "-0.063, -0.072, -0.102, -0.166, -0.234, -0.315, -0.393, -0.466, -0.545, -0.616",\
                 "-0.019, -0.033, -0.071, -0.122, -0.195, -0.271, -0.345, -0.429, -0.504, -0.579",\
                 "0.003, -0.008, -0.035, -0.095, -0.162, -0.232, -0.307, -0.39, -0.461, -0.534",\
                 "0.014, 0.005, -0.023, -0.072, -0.136, -0.205, -0.278, -0.359, -0.434, -0.504",\
                 "0.015, 0.004, -0.024, -0.064, -0.127, -0.194, -0.266, -0.339, -0.417, -0.482",\
                 "-0.005, -0.014, -0.037, -0.078, -0.136, -0.196, -0.266, -0.343, -0.415, -0.479",\
                 "-0.045, -0.056, -0.076, -0.117, -0.173, -0.232, -0.298, -0.368, -0.436, -0.503",\
                 "-0.112, -0.121, -0.145, -0.182, -0.234, -0.291, -0.352, -0.422, -0.488, -0.552");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.111, -0.146, -0.208, -0.278, -0.347, -0.42, -0.502, -0.569, -0.642",\
                 "-0.088, -0.104, -0.136, -0.199, -0.27, -0.342, -0.416, -0.494, -0.563, -0.633",\
                 "-0.063, -0.072, -0.102, -0.166, -0.234, -0.315, -0.393, -0.466, -0.545, -0.616",\
                 "-0.019, -0.033, -0.071, -0.122, -0.195, -0.271, -0.345, -0.429, -0.504, -0.579",\
                 "0.003, -0.008, -0.035, -0.095, -0.162, -0.232, -0.307, -0.39, -0.461, -0.534",\
                 "0.014, 0.005, -0.023, -0.072, -0.136, -0.205, -0.278, -0.359, -0.434, -0.504",\
                 "0.015, 0.004, -0.024, -0.064, -0.127, -0.194, -0.266, -0.339, -0.417, -0.482",\
                 "-0.005, -0.014, -0.037, -0.078, -0.136, -0.196, -0.266, -0.343, -0.415, -0.479",\
                 "-0.045, -0.056, -0.076, -0.117, -0.173, -0.232, -0.298, -0.368, -0.436, -0.503",\
                 "-0.112, -0.121, -0.145, -0.182, -0.234, -0.291, -0.352, -0.422, -0.488, -0.552");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.111, -0.146, -0.208, -0.278, -0.347, -0.42, -0.502, -0.569, -0.637",\
                 "-0.088, -0.104, -0.136, -0.199, -0.27, -0.342, -0.416, -0.494, -0.563, -0.633",\
                 "-0.063, -0.072, -0.102, -0.166, -0.234, -0.315, -0.393, -0.466, -0.545, -0.616",\
                 "-0.019, -0.033, -0.071, -0.122, -0.195, -0.271, -0.345, -0.429, -0.504, -0.579",\
                 "0.003, -0.008, -0.035, -0.095, -0.162, -0.232, -0.307, -0.39, -0.461, -0.534",\
                 "0.014, 0.005, -0.023, -0.072, -0.136, -0.205, -0.278, -0.359, -0.434, -0.504",\
                 "0.015, 0.004, -0.024, -0.064, -0.127, -0.194, -0.266, -0.339, -0.417, -0.482",\
                 "-0.005, -0.014, -0.037, -0.078, -0.136, -0.196, -0.266, -0.343, -0.415, -0.479",\
                 "-0.045, -0.056, -0.076, -0.116, -0.173, -0.232, -0.298, -0.368, -0.436, -0.503",\
                 "-0.112, -0.121, -0.145, -0.182, -0.234, -0.291, -0.352, -0.422, -0.488, -0.552");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "!CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.097, -0.111, -0.146, -0.208, -0.278, -0.347, -0.42, -0.502, -0.569, -0.642",\
                 "-0.088, -0.104, -0.136, -0.199, -0.27, -0.342, -0.416, -0.494, -0.563, -0.633",\
                 "-0.063, -0.072, -0.102, -0.166, -0.234, -0.315, -0.393, -0.466, -0.545, -0.616",\
                 "-0.019, -0.033, -0.071, -0.122, -0.195, -0.271, -0.345, -0.429, -0.504, -0.579",\
                 "0.003, -0.008, -0.035, -0.095, -0.162, -0.232, -0.307, -0.39, -0.461, -0.534",\
                 "0.014, 0.005, -0.023, -0.072, -0.136, -0.205, -0.278, -0.359, -0.434, -0.504",\
                 "0.015, 0.004, -0.024, -0.064, -0.127, -0.194, -0.266, -0.339, -0.417, -0.482",\
                 "-0.005, -0.014, -0.037, -0.078, -0.136, -0.196, -0.266, -0.343, -0.415, -0.479",\
                 "-0.045, -0.056, -0.076, -0.117, -0.173, -0.232, -0.298, -0.368, -0.436, -0.503",\
                 "-0.112, -0.121, -0.145, -0.182, -0.234, -0.291, -0.352, -0.422, -0.488, -0.552");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.056, -0.06, -0.053, -0.032, 0.009, 0.086, 0.182, 0.323, 0.493",\
                 "-0.04, -0.048, -0.053, -0.045, -0.023, 0.018, 0.09, 0.193, 0.328, 0.493",\
                 "-0.009, -0.012, -0.016, -0.01, 0.01, 0.055, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.035, 0.034, 0.039, 0.064, 0.102, 0.174, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.085, 0.108, 0.145, 0.213, 0.306, 0.438, 0.604",\
                 "0.117, 0.111, 0.111, 0.118, 0.144, 0.178, 0.248, 0.348, 0.473, 0.641",\
                 "0.133, 0.133, 0.13, 0.136, 0.159, 0.197, 0.266, 0.364, 0.493, 0.667",\
                 "0.136, 0.129, 0.131, 0.142, 0.161, 0.2, 0.261, 0.361, 0.489, 0.662",\
                 "0.115, 0.105, 0.114, 0.119, 0.14, 0.171, 0.233, 0.334, 0.466, 0.641",\
                 "0.07, 0.067, 0.064, 0.076, 0.094, 0.123, 0.183, 0.28, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.056, -0.06, -0.053, -0.032, 0.009, 0.086, 0.182, 0.323, 0.493",\
                 "-0.04, -0.048, -0.053, -0.045, -0.023, 0.018, 0.09, 0.193, 0.328, 0.493",\
                 "-0.009, -0.012, -0.016, -0.01, 0.01, 0.055, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.035, 0.034, 0.039, 0.064, 0.102, 0.174, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.085, 0.108, 0.145, 0.213, 0.314, 0.438, 0.604",\
                 "0.117, 0.111, 0.111, 0.118, 0.144, 0.178, 0.248, 0.348, 0.473, 0.641",\
                 "0.133, 0.133, 0.13, 0.136, 0.159, 0.197, 0.266, 0.364, 0.493, 0.667",\
                 "0.136, 0.129, 0.131, 0.142, 0.161, 0.2, 0.261, 0.361, 0.489, 0.662",\
                 "0.115, 0.105, 0.114, 0.119, 0.14, 0.171, 0.233, 0.334, 0.466, 0.641",\
                 "0.07, 0.067, 0.064, 0.076, 0.094, 0.123, 0.183, 0.28, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.056, -0.06, -0.053, -0.032, 0.009, 0.086, 0.182, 0.323, 0.493",\
                 "-0.04, -0.048, -0.053, -0.045, -0.023, 0.018, 0.09, 0.193, 0.328, 0.493",\
                 "-0.009, -0.012, -0.016, -0.01, 0.01, 0.055, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.035, 0.034, 0.039, 0.064, 0.102, 0.174, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.085, 0.108, 0.145, 0.213, 0.306, 0.438, 0.604",\
                 "0.117, 0.111, 0.111, 0.118, 0.144, 0.178, 0.248, 0.348, 0.473, 0.641",\
                 "0.133, 0.133, 0.13, 0.136, 0.159, 0.197, 0.266, 0.364, 0.493, 0.667",\
                 "0.136, 0.129, 0.131, 0.142, 0.161, 0.2, 0.261, 0.361, 0.489, 0.662",\
                 "0.115, 0.105, 0.114, 0.119, 0.14, 0.171, 0.233, 0.334, 0.466, 0.641",\
                 "0.07, 0.067, 0.064, 0.076, 0.094, 0.123, 0.183, 0.28, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&!D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.056, -0.06, -0.053, -0.032, 0.009, 0.086, 0.182, 0.323, 0.493",\
                 "-0.04, -0.048, -0.053, -0.045, -0.023, 0.018, 0.09, 0.193, 0.328, 0.493",\
                 "-0.009, -0.012, -0.016, -0.01, 0.01, 0.055, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.035, 0.034, 0.039, 0.064, 0.102, 0.174, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.085, 0.108, 0.145, 0.213, 0.314, 0.438, 0.604",\
                 "0.117, 0.111, 0.111, 0.118, 0.144, 0.178, 0.248, 0.348, 0.473, 0.641",\
                 "0.133, 0.133, 0.13, 0.136, 0.159, 0.197, 0.266, 0.364, 0.493, 0.667",\
                 "0.136, 0.129, 0.131, 0.142, 0.161, 0.2, 0.261, 0.361, 0.489, 0.662",\
                 "0.115, 0.105, 0.114, 0.119, 0.14, 0.171, 0.233, 0.334, 0.466, 0.641",\
                 "0.07, 0.067, 0.064, 0.076, 0.094, 0.123, 0.183, 0.28, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.056, -0.06, -0.053, -0.032, 0.009, 0.086, 0.182, 0.323, 0.493",\
                 "-0.04, -0.048, -0.053, -0.045, -0.023, 0.018, 0.09, 0.193, 0.328, 0.493",\
                 "-0.009, -0.012, -0.016, -0.01, 0.01, 0.055, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.035, 0.034, 0.039, 0.064, 0.102, 0.174, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.085, 0.108, 0.145, 0.213, 0.314, 0.438, 0.604",\
                 "0.117, 0.111, 0.111, 0.118, 0.144, 0.178, 0.248, 0.348, 0.473, 0.641",\
                 "0.133, 0.133, 0.13, 0.136, 0.159, 0.197, 0.266, 0.364, 0.493, 0.667",\
                 "0.136, 0.129, 0.131, 0.142, 0.161, 0.2, 0.261, 0.361, 0.489, 0.662",\
                 "0.115, 0.105, 0.114, 0.119, 0.14, 0.171, 0.233, 0.334, 0.466, 0.641",\
                 "0.07, 0.067, 0.064, 0.076, 0.094, 0.123, 0.183, 0.28, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.056, -0.06, -0.053, -0.032, 0.009, 0.086, 0.182, 0.323, 0.493",\
                 "-0.04, -0.048, -0.053, -0.045, -0.023, 0.018, 0.09, 0.193, 0.328, 0.493",\
                 "-0.009, -0.012, -0.016, -0.01, 0.01, 0.055, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.035, 0.034, 0.039, 0.064, 0.102, 0.174, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.085, 0.108, 0.145, 0.213, 0.314, 0.438, 0.604",\
                 "0.117, 0.111, 0.111, 0.118, 0.144, 0.178, 0.248, 0.348, 0.473, 0.641",\
                 "0.133, 0.133, 0.13, 0.136, 0.159, 0.197, 0.266, 0.364, 0.493, 0.667",\
                 "0.136, 0.129, 0.131, 0.142, 0.161, 0.2, 0.261, 0.361, 0.489, 0.662",\
                 "0.115, 0.105, 0.114, 0.119, 0.14, 0.171, 0.233, 0.334, 0.466, 0.641",\
                 "0.07, 0.067, 0.064, 0.076, 0.094, 0.123, 0.183, 0.28, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.056, -0.06, -0.053, -0.032, 0.009, 0.086, 0.182, 0.323, 0.493",\
                 "-0.04, -0.048, -0.053, -0.045, -0.023, 0.018, 0.09, 0.193, 0.328, 0.493",\
                 "-0.009, -0.012, -0.016, -0.01, 0.01, 0.055, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.035, 0.034, 0.039, 0.064, 0.102, 0.174, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.085, 0.108, 0.145, 0.213, 0.306, 0.438, 0.604",\
                 "0.117, 0.111, 0.111, 0.118, 0.144, 0.178, 0.248, 0.348, 0.473, 0.641",\
                 "0.133, 0.133, 0.13, 0.136, 0.159, 0.197, 0.266, 0.364, 0.493, 0.667",\
                 "0.136, 0.129, 0.131, 0.142, 0.161, 0.2, 0.261, 0.361, 0.489, 0.662",\
                 "0.115, 0.105, 0.114, 0.119, 0.14, 0.171, 0.233, 0.334, 0.466, 0.641",\
                 "0.07, 0.067, 0.064, 0.076, 0.094, 0.123, 0.183, 0.28, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "RN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : non_seq_setup_rising ;
        when : "CLK&D&SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.052, -0.056, -0.06, -0.053, -0.032, 0.009, 0.086, 0.182, 0.323, 0.493",\
                 "-0.04, -0.048, -0.053, -0.045, -0.023, 0.018, 0.09, 0.193, 0.328, 0.493",\
                 "-0.009, -0.012, -0.016, -0.01, 0.01, 0.055, 0.124, 0.218, 0.349, 0.521",\
                 "0.044, 0.035, 0.034, 0.039, 0.064, 0.102, 0.174, 0.266, 0.396, 0.563",\
                 "0.085, 0.077, 0.078, 0.085, 0.108, 0.145, 0.213, 0.314, 0.438, 0.604",\
                 "0.117, 0.111, 0.111, 0.118, 0.144, 0.178, 0.248, 0.348, 0.473, 0.641",\
                 "0.133, 0.133, 0.13, 0.136, 0.159, 0.197, 0.266, 0.364, 0.493, 0.667",\
                 "0.136, 0.129, 0.131, 0.142, 0.161, 0.2, 0.261, 0.361, 0.489, 0.662",\
                 "0.115, 0.105, 0.114, 0.119, 0.14, 0.171, 0.233, 0.334, 0.466, 0.641",\
                 "0.07, 0.067, 0.064, 0.076, 0.094, 0.123, 0.183, 0.28, 0.413, 0.584");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.865");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.865");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.865");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.865");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.865");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.865");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.865");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.865");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.755");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.755");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.755");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.755");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.755");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.755");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.755");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_RN_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&RN&SE&SI" ;

        fall_constraint(scalar) {
          values("0.755");
        }
      }
    }

    pin(SI) {
      capacitance : 0.00264 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008394, 0.008385, 0.008346, 0.008355, 0.008351, 0.008374, 0.008363, \
                 0.008367, 0.008366, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008163, -0.00816, -0.008169, -0.00822, -0.00823, -0.008271, \
                 -0.008275, -0.008287, -0.008291, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008402, 0.008378, 0.008364, 0.00835, 0.008362, 0.008364, 0.008368, \
                 0.008368, 0.008367, 0.008362");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008164, -0.008164, -0.008167, -0.008211, -0.008229, -0.008268, \
                 -0.008282, -0.00829, -0.008289, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1163, 0.1159, 0.1155, 0.1152, 0.1167, 0.1224, 0.134, 0.1526, \
                 0.1782, 0.2104");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0369, 0.03641, 0.03593, 0.03589, 0.03764, 0.04294, 0.05283, \
                 0.06789, 0.08843, 0.1147");
        }
      }

      internal_power() {
        when : "!CLK&!D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1567, 0.1563, 0.1559, 0.1557, 0.1575, 0.1644, 0.1782, 0.2004, \
                 0.2308, 0.2687");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09537, 0.09489, 0.0944, 0.09442, 0.09698, 0.1036, 0.1155, 0.1334, \
                 0.1574, 0.1879");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008402, 0.008361, 0.00835, 0.008346, 0.00834, 0.008371, 0.008375, \
                 0.008369, 0.008363, 0.00836");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008162, -0.00816, -0.008162, -0.00821, -0.008231, -0.008274, \
                 -0.00828, -0.008285, -0.008292, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008393, 0.008376, 0.008368, 0.008362, 0.008347, 0.008365, 0.008368, \
                 0.008371, 0.008364, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008169, -0.008144, -0.008174, -0.008216, -0.008232, -0.008258, \
                 -0.00828, -0.00828, -0.008288, -0.008301");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1163, 0.1159, 0.1155, 0.1152, 0.1167, 0.1224, 0.1341, 0.1526, \
                 0.1782, 0.2104");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0369, 0.0364, 0.03594, 0.03588, 0.03765, 0.04293, 0.05285, 0.06789, \
                 0.08843, 0.1147");
        }
      }

      internal_power() {
        when : "!CLK&!D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1535, 0.1531, 0.1527, 0.1525, 0.1543, 0.1611, 0.1748, 0.197, \
                 0.2273, 0.2649");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09801, 0.09752, 0.09704, 0.09701, 0.09962, 0.1063, 0.1181, 0.136, \
                 0.16, 0.1904");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008363, 0.008348, 0.008356, 0.008341, 0.008356, 0.00837, 0.00837, \
                 0.008371, 0.008365, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007472, -0.00785, -0.008168, -0.008206, -0.008238, -0.008266, \
                 -0.00828, -0.00828, -0.008291, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008362, 0.008347, 0.008357, 0.008339, 0.008357, 0.008373, 0.008369, \
                 0.008367, 0.008367, 0.008361");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007473, -0.00785, -0.008151, -0.008209, -0.00824, -0.008263, \
                 -0.008282, -0.008287, -0.008293, -0.0083");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.118, 0.1177, 0.1173, 0.1171, 0.1187, 0.1249, 0.1372, 0.1562, \
                 0.182, 0.2143");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03251, 0.03201, 0.0315, 0.03142, 0.03316, 0.03846, 0.04845, \
                 0.06366, 0.08442, 0.1109");
        }
      }

      internal_power() {
        when : "!CLK&D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1596, 0.1592, 0.1588, 0.1585, 0.1606, 0.1679, 0.1824, 0.2052, \
                 0.2358, 0.2737");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0906, 0.09011, 0.08957, 0.08963, 0.09218, 0.09885, 0.111, 0.1292, \
                 0.1535, 0.1845");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008348, 0.00835, 0.008362, 0.008345, 0.008349, 0.008367, 0.008368, \
                 0.008372, 0.008368, 0.008358");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007482, -0.007854, -0.008144, -0.008208, -0.008237, -0.008267, \
                 -0.008283, -0.008287, -0.008292, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008363, 0.008347, 0.008351, 0.008353, 0.00837, 0.008376, 0.008365, \
                 0.008366, 0.00837, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007483, -0.007842, -0.008145, -0.008207, -0.008238, -0.008263, \
                 -0.008285, -0.008289, -0.008292, -0.008292");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.118, 0.1177, 0.1173, 0.117, 0.1187, 0.1249, 0.1372, 0.1562, \
                 0.182, 0.2143");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03251, 0.03201, 0.0315, 0.03143, 0.03316, 0.03847, 0.04847, \
                 0.06366, 0.08441, 0.1109");
        }
      }

      internal_power() {
        when : "!CLK&D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1563, 0.156, 0.1555, 0.1553, 0.1573, 0.1647, 0.1791, 0.2018, \
                 0.2323, 0.27");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09325, 0.09278, 0.09219, 0.09226, 0.0948, 0.1015, 0.1135, 0.1317, \
                 0.1561, 0.187");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008361, 0.008371, 0.008347, 0.008346, 0.00836, 0.008367, 0.008366, \
                 0.008367, 0.008367, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008161, -0.008157, -0.008168, -0.008214, -0.00824, -0.00827, \
                 -0.008278, -0.008287, -0.008291, -0.008299");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008341, 0.008371, 0.008365, 0.008347, 0.008361, 0.008363, 0.00837, \
                 0.008368, 0.008365, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008168, -0.008169, -0.00817, -0.008206, -0.008238, -0.008268, \
                 -0.008281, -0.008284, -0.008296, -0.008295");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009139, 0.009137, 0.00913, 0.009123, 0.009122, 0.009131, 0.009129, \
                 0.009129, 0.009121, 0.009124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006482, -0.006755, -0.007076, -0.007362, -0.007576, -0.007741, \
                 -0.007837, -0.007908, -0.007952, -0.007984");
        }
      }

      internal_power() {
        when : "CLK&!D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009146, 0.009127, 0.009136, 0.009123, 0.009125, 0.009121, 0.009132, \
                 0.009125, 0.009137, 0.00913");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006489, -0.006753, -0.007085, -0.007354, -0.007568, -0.007743, \
                 -0.007839, -0.007904, -0.00795, -0.007979");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008356, 0.008373, 0.008355, 0.008355, 0.008354, 0.008371, 0.008373, \
                 0.008368, 0.008369, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00817, -0.008153, -0.008167, -0.008211, -0.008236, -0.008268, \
                 -0.008277, -0.008284, -0.008291, -0.008297");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008366, 0.008381, 0.008358, 0.008358, 0.008376, 0.008378, 0.008369, \
                 0.008371, 0.008366, 0.00837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008165, -0.008162, -0.008163, -0.008216, -0.008244, -0.008269, \
                 -0.008276, -0.00829, -0.008291, -0.008297");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009121, 0.009129, 0.009136, 0.009136, 0.009125, 0.009127, 0.009124, \
                 0.009126, 0.009124, 0.009124");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00649, -0.006739, -0.007063, -0.007358, -0.00757, -0.007741, \
                 -0.007839, -0.0079, -0.007952, -0.007989");
        }
      }

      internal_power() {
        when : "CLK&!D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03501, 0.03502, 0.03499, 0.03498, 0.03497, 0.03495, 0.03496, \
                 0.03495, 0.03497, 0.03499");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006488, -0.00675, -0.007087, -0.007352, -0.007589, -0.007716, \
                 -0.007839, -0.007903, -0.00795, -0.007983");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008361, 0.008361, 0.008346, 0.008346, 0.008363, 0.008376, 0.008371, \
                 0.008367, 0.00837, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007661, -0.00794, -0.008158, -0.008216, -0.008225, -0.008267, \
                 -0.008278, -0.008287, -0.008288, -0.008299");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008337, 0.008366, 0.008365, 0.008347, 0.008354, 0.008368, 0.008366, \
                 0.008368, 0.008367, 0.008363");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007659, -0.007949, -0.00816, -0.008212, -0.008237, -0.008271, \
                 -0.008278, -0.00829, -0.008293, -0.008296");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009201, 0.009196, 0.00919, 0.009179, 0.009177, 0.009198, 0.009191, \
                 0.009199, 0.009191, 0.009182");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00646, -0.006744, -0.007094, -0.007424, -0.007638, -0.007783, \
                 -0.007878, -0.007935, -0.007977, -0.00801");
        }
      }

      internal_power() {
        when : "CLK&D&!RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009209, 0.00919, 0.009202, 0.009177, 0.009179, 0.009194, 0.009194, \
                 0.009193, 0.009192, 0.009188");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006462, -0.006738, -0.007116, -0.007423, -0.007635, -0.007791, \
                 -0.007876, -0.007935, -0.007976, -0.008005");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008356, 0.008373, 0.008354, 0.00836, 0.008353, 0.008371, 0.008367, \
                 0.00837, 0.008368, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007671, -0.007933, -0.008158, -0.008213, -0.008234, -0.00827, \
                 -0.008277, -0.008281, -0.008295, -0.008296");
        }
      }

      internal_power() {
        when : "CLK&D&RN&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008363, 0.008373, 0.008357, 0.008341, 0.008354, 0.008371, 0.008374, \
                 0.008366, 0.00837, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007511, -0.007864, -0.008158, -0.008204, -0.00825, -0.008269, \
                 -0.008277, -0.008279, -0.00829, -0.008291");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009185, 0.009182, 0.009203, 0.00919, 0.009182, 0.009198, 0.009191, \
                 0.00919, 0.009191, 0.009187");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006467, -0.006729, -0.007101, -0.007416, -0.007639, -0.007786, \
                 -0.00788, -0.007932, -0.007979, -0.008007");
        }
      }

      internal_power() {
        when : "CLK&D&RN&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0294, 0.0294, 0.02941, 0.02937, 0.02934, 0.02935, 0.02935, 0.02936, \
                 0.02938, 0.02936");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006465, -0.006752, -0.007099, -0.007426, -0.007653, -0.00779, \
                 -0.007875, -0.007935, -0.007977, -0.008005");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.172, -0.163, -0.116, -0.047, 0.003, 0.048, 0.066, 0.06, 0.027, -0.029",\
                 "-0.186, -0.175, -0.125, -0.062, -0.008, 0.035, 0.055, 0.052, 0.016, -0.043",\
                 "-0.221, -0.207, -0.157, -0.094, -0.035, 0.003, 0.022, 0.013, -0.018, -0.075",\
                 "-0.271, -0.257, -0.213, -0.145, -0.09, -0.043, -0.034, -0.032, -0.064, -0.126",\
                 "-0.322, -0.317, -0.26, -0.2, -0.148, -0.11, -0.093, -0.099, -0.125, -0.192",\
                 "-0.37, -0.359, -0.315, -0.249, -0.197, -0.162, -0.153, -0.163, -0.196, -0.259",\
                 "-0.403, -0.39, -0.338, -0.285, -0.239, -0.204, -0.202, -0.208, -0.251, -0.317",\
                 "-0.42, -0.416, -0.366, -0.315, -0.271, -0.242, -0.241, -0.252, -0.294, -0.358",\
                 "-0.441, -0.443, -0.396, -0.347, -0.31, -0.287, -0.293, -0.301, -0.351, -0.416",\
                 "-0.481, -0.481, -0.433, -0.4, -0.368, -0.342, -0.361, -0.376, -0.422, -0.496");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.424, -0.409, -0.379, -0.365, -0.377, -0.412, -0.465, -0.542, -0.642, -0.774",\
                 "-0.425, -0.414, -0.385, -0.37, -0.378, -0.419, -0.467, -0.552, -0.65, -0.777",\
                 "-0.447, -0.432, -0.401, -0.384, -0.391, -0.431, -0.486, -0.565, -0.663, -0.794",\
                 "-0.462, -0.45, -0.421, -0.405, -0.412, -0.445, -0.503, -0.579, -0.676, -0.803",\
                 "-0.479, -0.471, -0.434, -0.422, -0.423, -0.451, -0.504, -0.58, -0.674, -0.8",\
                 "-0.48, -0.465, -0.436, -0.417, -0.416, -0.448, -0.497, -0.567, -0.667, -0.782",\
                 "-0.454, -0.441, -0.411, -0.395, -0.393, -0.419, -0.468, -0.54, -0.635, -0.752",\
                 "-0.396, -0.38, -0.348, -0.335, -0.338, -0.359, -0.417, -0.486, -0.578, -0.701",\
                 "-0.29, -0.274, -0.247, -0.233, -0.234, -0.271, -0.322, -0.395, -0.498, -0.614",\
                 "-0.147, -0.135, -0.106, -0.097, -0.105, -0.135, -0.19, -0.272, -0.368, -0.496");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.12, -0.108, -0.063, -0.001, 0.055, 0.1, 0.116, 0.107, 0.075, 0.018",\
                 "-0.131, -0.12, -0.072, -0.013, 0.047, 0.088, 0.107, 0.099, 0.064, 0.01",\
                 "-0.168, -0.154, -0.11, -0.042, 0.008, 0.054, 0.067, 0.062, 0.031, -0.027",\
                 "-0.217, -0.209, -0.16, -0.091, -0.037, 0.001, 0.016, 0.015, -0.02, -0.075",\
                 "-0.263, -0.255, -0.208, -0.142, -0.087, -0.048, -0.041, -0.039, -0.078, -0.132",\
                 "-0.301, -0.289, -0.245, -0.183, -0.126, -0.097, -0.086, -0.087, -0.127, -0.188",\
                 "-0.319, -0.313, -0.266, -0.205, -0.159, -0.123, -0.121, -0.13, -0.168, -0.231",\
                 "-0.343, -0.333, -0.292, -0.235, -0.19, -0.157, -0.153, -0.16, -0.206, -0.262",\
                 "-0.362, -0.362, -0.313, -0.268, -0.225, -0.198, -0.204, -0.213, -0.249, -0.307",\
                 "-0.403, -0.398, -0.358, -0.327, -0.29, -0.258, -0.275, -0.272, -0.323, -0.383");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.412, -0.402, -0.374, -0.356, -0.362, -0.401, -0.449, -0.53, -0.626, -0.753",\
                 "-0.418, -0.406, -0.379, -0.361, -0.37, -0.407, -0.459, -0.534, -0.634, -0.756",\
                 "-0.436, -0.426, -0.393, -0.379, -0.383, -0.419, -0.477, -0.553, -0.647, -0.773",\
                 "-0.462, -0.45, -0.415, -0.398, -0.406, -0.438, -0.483, -0.566, -0.658, -0.786",\
                 "-0.479, -0.464, -0.434, -0.416, -0.417, -0.443, -0.499, -0.565, -0.665, -0.788",\
                 "-0.474, -0.46, -0.43, -0.41, -0.416, -0.443, -0.49, -0.558, -0.651, -0.77",\
                 "-0.445, -0.433, -0.402, -0.385, -0.388, -0.413, -0.46, -0.53, -0.623, -0.738",\
                 "-0.378, -0.368, -0.335, -0.322, -0.33, -0.359, -0.407, -0.475, -0.571, -0.685",\
                 "-0.274, -0.266, -0.23, -0.224, -0.234, -0.266, -0.316, -0.388, -0.483, -0.605",\
                 "-0.132, -0.125, -0.096, -0.086, -0.099, -0.135, -0.19, -0.264, -0.368, -0.491");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.179, 1.161, 1.099, 1.001, 0.921, 0.855, 0.82, 0.802, 0.824, 0.863",\
                 "1.19, 1.183, 1.114, 1.016, 0.934, 0.867, 0.827, 0.808, 0.834, 0.886",\
                 "1.225, 1.208, 1.149, 1.057, 0.966, 0.897, 0.866, 0.845, 0.862, 0.913",\
                 "1.28, 1.269, 1.199, 1.103, 1.019, 0.958, 0.913, 0.907, 0.92, 0.966",\
                 "1.372, 1.359, 1.287, 1.188, 1.104, 1.039, 0.991, 0.988, 1.005, 1.045",\
                 "1.516, 1.497, 1.438, 1.339, 1.257, 1.187, 1.137, 1.123, 1.138, 1.184",\
                 "1.735, 1.727, 1.652, 1.554, 1.469, 1.403, 1.356, 1.33, 1.338, 1.373",\
                 "2.031, 2.016, 1.952, 1.839, 1.753, 1.682, 1.627, 1.591, 1.59, 1.619",\
                 "2.383, 2.369, 2.306, 2.19, 2.098, 2.01, 1.947, 1.907, 1.906, 1.92",\
                 "2.798, 2.782, 2.713, 2.599, 2.489, 2.399, 2.323, 2.283, 2.269, 2.282");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.922, 0.908, 0.847, 0.774, 0.72, 0.694, 0.718, 0.767, 0.848, 0.956",\
                 "0.924, 0.913, 0.859, 0.785, 0.725, 0.702, 0.724, 0.772, 0.85, 0.965",\
                 "0.946, 0.929, 0.874, 0.796, 0.74, 0.719, 0.74, 0.789, 0.87, 0.982",\
                 "0.971, 0.951, 0.897, 0.82, 0.761, 0.738, 0.754, 0.8, 0.885, 0.994",\
                 "0.993, 0.973, 0.921, 0.839, 0.781, 0.758, 0.774, 0.817, 0.892, 1.003",\
                 "1.004, 0.99, 0.934, 0.864, 0.802, 0.777, 0.78, 0.82, 0.892, 0.996",\
                 "1.01, 0.99, 0.936, 0.865, 0.8, 0.77, 0.775, 0.813, 0.883, 0.981",\
                 "0.986, 0.971, 0.914, 0.837, 0.783, 0.755, 0.749, 0.784, 0.847, 0.949",\
                 "0.942, 0.924, 0.867, 0.792, 0.726, 0.7, 0.694, 0.726, 0.793, 0.884",\
                 "0.851, 0.838, 0.783, 0.708, 0.648, 0.621, 0.611, 0.639, 0.701, 0.793");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_RN_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&RN&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.191, 1.174, 1.11, 1.01, 0.921, 0.85, 0.803, 0.784, 0.8, 0.842",\
                 "1.204, 1.191, 1.125, 1.016, 0.934, 0.861, 0.81, 0.796, 0.81, 0.855",\
                 "1.236, 1.225, 1.157, 1.051, 0.966, 0.891, 0.848, 0.827, 0.845, 0.886",\
                 "1.289, 1.279, 1.21, 1.103, 1.019, 0.95, 0.903, 0.88, 0.903, 0.938",\
                 "1.38, 1.359, 1.295, 1.188, 1.104, 1.039, 0.985, 0.965, 0.987, 1.021",\
                 "1.527, 1.52, 1.445, 1.339, 1.257, 1.182, 1.137, 1.114, 1.123, 1.158",\
                 "1.76, 1.744, 1.679, 1.574, 1.48, 1.403, 1.348, 1.321, 1.326, 1.359",\
                 "2.06, 2.046, 1.976, 1.866, 1.775, 1.69, 1.627, 1.591, 1.59, 1.619",\
                 "2.423, 2.409, 2.34, 2.225, 2.127, 2.031, 1.959, 1.914, 1.906, 1.92",\
                 "2.845, 2.829, 2.756, 2.633, 2.531, 2.425, 2.338, 2.299, 2.278, 2.282");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.905, 0.894, 0.836, 0.756, 0.705, 0.683, 0.702, 0.749, 0.824, 0.935",\
                 "0.917, 0.897, 0.841, 0.765, 0.702, 0.69, 0.707, 0.754, 0.834, 0.939",\
                 "0.93, 0.917, 0.858, 0.779, 0.723, 0.706, 0.721, 0.765, 0.854, 0.956",\
                 "0.953, 0.941, 0.88, 0.804, 0.74, 0.724, 0.744, 0.787, 0.868, 0.977",\
                 "0.978, 0.965, 0.913, 0.829, 0.774, 0.75, 0.756, 0.803, 0.882, 0.985",\
                 "0.998, 0.978, 0.922, 0.849, 0.784, 0.756, 0.766, 0.803, 0.876, 0.983",\
                 "1.002, 0.981, 0.927, 0.845, 0.788, 0.763, 0.767, 0.794, 0.865, 0.966",\
                 "0.974, 0.959, 0.907, 0.83, 0.768, 0.739, 0.739, 0.767, 0.834, 0.933",\
                 "0.926, 0.916, 0.859, 0.775, 0.717, 0.685, 0.682, 0.712, 0.778, 0.875",\
                 "0.851, 0.838, 0.777, 0.708, 0.642, 0.608, 0.604, 0.631, 0.692, 0.783");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(RN) {
        direction : input ;
      }

      pin(SETN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        clear : !RN ;
        preset : !SETN ;
        clear_preset_var1 : L ;
        clear_preset_var2 : H ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffsnq_1) {
    area : 98.784000 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&!SETN&!SI" ;
      value : "0.000194469" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&!SETN&SI" ;
      value : "0.0001950168" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&SETN&!SI" ;
      value : "0.0003046989" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&SETN&SI" ;
      value : "0.00030525" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&!SETN&!SI" ;
      value : "0.0002101902" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&!SETN&SI" ;
      value : "0.0002174304" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&SETN&!SI" ;
      value : "0.0003204201" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&SETN&SI" ;
      value : "0.0003124605" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&!SETN&!SI" ;
      value : "0.0001895421" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&!SETN&SI" ;
      value : "0.0001895421" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&SETN&!SI" ;
      value : "0.0002845722" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&SETN&SI" ;
      value : "0.0002845722" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&!SETN&!SI" ;
      value : "0.0002270466" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&!SETN&SI" ;
      value : "0.0002032041" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&SETN&!SI" ;
      value : "0.000337293" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&SETN&SI" ;
      value : "0.0002982342" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&!SETN&!SI" ;
      value : "0.0001821765" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&!SETN&SI" ;
      value : "0.0001821765" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&SETN&!SI" ;
      value : "0.0002341746" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&SETN&SI" ;
      value : "0.0002341647" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&!SETN&!SI" ;
      value : "0.0001815858" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&!SETN&SI" ;
      value : "0.0001822986" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&SETN&!SI" ;
      value : "0.000233574" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&SETN&SI" ;
      value : "0.000333366" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&!SETN&!SI" ;
      value : "0.0001828794" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&!SETN&SI" ;
      value : "0.0001828794" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&SETN&!SI" ;
      value : "0.0003192651" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&SETN&SI" ;
      value : "0.0003192915" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&!SETN&!SI" ;
      value : "0.0001815858" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&!SETN&SI" ;
      value : "0.0001823085" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&SETN&!SI" ;
      value : "0.0002335806" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&SETN&SI" ;
      value : "0.0003265053" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000337293" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003529 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.512 ;
      min_pulse_width_high : 0.634 ;
      min_pulse_width_low : 1.26 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1952, 0.1946, 0.1953, 0.2012, 0.2134, 0.2327, 0.26, 0.2956, \
                 0.3402, 0.3938");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1313, 0.131, 0.1315, 0.1363, 0.1466, 0.1637, 0.1879, 0.2199, \
                 0.2596, 0.3075");
        }
      }

      internal_power() {
        when : "!D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1952, 0.1946, 0.1954, 0.2012, 0.2134, 0.2327, 0.26, 0.2955, \
                 0.3401, 0.3938");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1313, 0.131, 0.1315, 0.1363, 0.1466, 0.1637, 0.1879, 0.2199, \
                 0.2595, 0.3075");
        }
      }

      internal_power() {
        when : "!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.131, 0.1305, 0.1312, 0.1371, 0.1494, 0.1688, 0.196, 0.2318, \
                 0.2762, 0.3299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09908, 0.09878, 0.09924, 0.104, 0.1141, 0.131, 0.155, 0.1866, \
                 0.2261, 0.2738");
        }
      }

      internal_power() {
        when : "!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.131, 0.1305, 0.1312, 0.1371, 0.1493, 0.1688, 0.196, 0.2317, \
                 0.2762, 0.3299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09915, 0.09878, 0.09924, 0.104, 0.1141, 0.1309, 0.155, 0.1866, \
                 0.2261, 0.2738");
        }
      }

      internal_power() {
        when : "!D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2024, 0.2019, 0.2025, 0.2084, 0.2206, 0.24, 0.2673, 0.303, 0.3474, \
                 0.4011");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1314, 0.131, 0.1315, 0.1364, 0.1466, 0.1637, 0.1879, 0.2199, \
                 0.2596, 0.3075");
        }
      }

      internal_power() {
        when : "!D&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1472, 0.1466, 0.1474, 0.1532, 0.1655, 0.1849, 0.2122, 0.2478, \
                 0.2922, 0.3458");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1054, 0.1051, 0.1055, 0.1103, 0.1203, 0.1373, 0.1611, 0.1929, \
                 0.2322, 0.2801");
        }
      }

      internal_power() {
        when : "!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.131, 0.1305, 0.1312, 0.1371, 0.1494, 0.1688, 0.196, 0.2317, \
                 0.2763, 0.3299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0992, 0.09881, 0.09923, 0.104, 0.114, 0.131, 0.155, 0.1866, \
                 0.2261, 0.2739");
        }
      }

      internal_power() {
        when : "!D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1303, 0.1299, 0.1305, 0.1364, 0.1487, 0.168, 0.1954, 0.2311, \
                 0.2756, 0.3293");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1054, 0.1051, 0.1055, 0.1103, 0.1203, 0.1372, 0.1613, 0.1929, \
                 0.2324, 0.28");
        }
      }

      internal_power() {
        when : "D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1389, 0.1384, 0.1391, 0.145, 0.1573, 0.1767, 0.2039, 0.2396, \
                 0.284, 0.3376");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1054, 0.1051, 0.1055, 0.1103, 0.1203, 0.1372, 0.1611, 0.1928, \
                 0.2322, 0.28");
        }
      }

      internal_power() {
        when : "D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1389, 0.1384, 0.1391, 0.145, 0.1572, 0.1766, 0.204, 0.2396, \
                 0.284, 0.3377");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1054, 0.1051, 0.1055, 0.1103, 0.1203, 0.1373, 0.1611, 0.1928, \
                 0.2322, 0.28");
        }
      }

      internal_power() {
        when : "D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1304, 0.1299, 0.1306, 0.1364, 0.1487, 0.1681, 0.1954, 0.2311, \
                 0.2756, 0.3292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1054, 0.1051, 0.1055, 0.1103, 0.1203, 0.1372, 0.1612, 0.1929, \
                 0.2323, 0.28");
        }
      }

      internal_power() {
        when : "D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1304, 0.1299, 0.1306, 0.1364, 0.1487, 0.1681, 0.1954, 0.2311, \
                 0.2756, 0.3292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1054, 0.1051, 0.1055, 0.1103, 0.1203, 0.1372, 0.1612, 0.1929, \
                 0.2323, 0.28");
        }
      }

      internal_power() {
        when : "D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2096, 0.2091, 0.2097, 0.2156, 0.2278, 0.2472, 0.2745, 0.3101, \
                 0.3546, 0.4082");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1313, 0.131, 0.1315, 0.1363, 0.1466, 0.1637, 0.1879, 0.2199, \
                 0.2596, 0.3075");
        }
      }

      internal_power() {
        when : "D&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1427, 0.1422, 0.1429, 0.1488, 0.1611, 0.1805, 0.2078, 0.2434, \
                 0.2879, 0.3415");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1054, 0.1051, 0.1055, 0.1103, 0.1204, 0.1373, 0.1612, 0.1928, \
                 0.2323, 0.2799");
        }
      }

      internal_power() {
        when : "D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.131, 0.1305, 0.1312, 0.1371, 0.1493, 0.1688, 0.196, 0.2318, \
                 0.2763, 0.3299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09917, 0.09879, 0.09925, 0.104, 0.1141, 0.1309, 0.155, 0.1865, \
                 0.2261, 0.2738");
        }
      }

      internal_power() {
        when : "D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1303, 0.1298, 0.1305, 0.1364, 0.1487, 0.1681, 0.1954, 0.2311, \
                 0.2755, 0.3292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1054, 0.1051, 0.1055, 0.1103, 0.1203, 0.1372, 0.1612, 0.1929, \
                 0.2323, 0.2801");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.129");
        }

        rise_constraint(scalar) {
          values("0.634");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.129");
        }

        rise_constraint(scalar) {
          values("0.634");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.161");
        }

        rise_constraint(scalar) {
          values("0.634");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.01");
        }

        rise_constraint(scalar) {
          values("0.613");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.925");
        }

        rise_constraint(scalar) {
          values("0.618");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.932");
        }

        rise_constraint(scalar) {
          values("0.613");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.26");
        }

        rise_constraint(scalar) {
          values("0.634");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.965");
        }

        rise_constraint(scalar) {
          values("0.613");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.252");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.252");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.317");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.016");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("1.857");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.851");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.512");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.927");
        }
      }
    }

    pin(D) {
      capacitance : 0.002654 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09046, 0.0901, 0.08924, 0.08881, 0.09064, 0.09648, 0.1072, 0.1231, \
                 0.1439, 0.1696");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02934, 0.0294, 0.02904, 0.02896, 0.03079, 0.03575, 0.04443, \
                 0.05712, 0.07407, 0.09534");
        }
      }

      internal_power() {
        when : "!CLK&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09046, 0.0901, 0.08924, 0.08881, 0.09064, 0.09648, 0.1072, 0.1231, \
                 0.1439, 0.1695");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02934, 0.0294, 0.02905, 0.02896, 0.03079, 0.03576, 0.04442, \
                 0.05712, 0.07407, 0.09533");
        }
      }

      internal_power() {
        when : "!CLK&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1253, 0.1249, 0.1241, 0.1237, 0.1262, 0.1335, 0.1463, 0.1654, \
                 0.19, 0.2202");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08421, 0.08426, 0.0839, 0.08402, 0.08683, 0.09345, 0.1044, 0.12, \
                 0.1403, 0.1653");
        }
      }

      internal_power() {
        when : "!CLK&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1253, 0.1249, 0.1241, 0.1237, 0.1262, 0.1335, 0.1463, 0.1654, \
                 0.19, 0.2201");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08421, 0.08426, 0.0839, 0.08403, 0.08683, 0.09342, 0.1044, 0.12, \
                 0.1403, 0.1653");
        }
      }

      internal_power() {
        when : "!CLK&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008412, 0.008416, 0.008413, 0.008413, 0.008412, 0.008404, 0.0084, \
                 0.008398, 0.008393, 0.008391");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007962, -0.007959, -0.007962, -0.00802, -0.008091, -0.008128, \
                 -0.00816, -0.008186, -0.008207, -0.008229");
        }
      }

      internal_power() {
        when : "!CLK&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004337, 0.004326, 0.004318, 0.00432, 0.004331, 0.004329, 0.004326, \
                 0.004319, 0.004309, 0.004304");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003056, -0.003055, -0.003046, -0.003049, -0.00306, -0.003064, \
                 -0.003063, -0.003064, -0.003063, -0.003065");
        }
      }

      internal_power() {
        when : "!CLK&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008409, 0.008412, 0.008414, 0.008414, 0.008416, 0.008408, 0.008402, \
                 0.008397, 0.008397, 0.008389");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007961, -0.007961, -0.007965, -0.008027, -0.008078, -0.008119, \
                 -0.008161, -0.008183, -0.008207, -0.008233");
        }
      }

      internal_power() {
        when : "!CLK&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004329, 0.004317, 0.004321, 0.004328, 0.004323, 0.004332, 0.004327, \
                 0.004323, 0.004314, 0.004304");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003062, -0.003053, -0.003051, -0.003054, -0.003057, -0.003063, \
                 -0.003065, -0.003067, -0.003066, -0.003066");
        }
      }

      internal_power() {
        when : "CLK&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009327, 0.009325, 0.009303, 0.00928, 0.009303, 0.009282, 0.009299, \
                 0.009297, 0.009295, 0.009286");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00627, -0.006315, -0.006768, -0.00728, -0.007623, -0.007772, \
                 -0.007892, -0.007956, -0.008002, -0.008032");
        }
      }

      internal_power() {
        when : "CLK&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009327, 0.009325, 0.009303, 0.009281, 0.009299, 0.009282, 0.009297, \
                 0.009297, 0.009293, 0.009291");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00627, -0.006314, -0.006768, -0.007282, -0.007625, -0.007773, \
                 -0.007891, -0.007956, -0.007997, -0.008032");
        }
      }

      internal_power() {
        when : "CLK&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02297, 0.02298, 0.02293, 0.02292, 0.02293, 0.02294, \
                 0.02295, 0.02295, 0.02293");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006283, -0.006323, -0.006772, -0.007286, -0.007603, -0.007792, \
                 -0.007891, -0.007946, -0.007994, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02297, 0.02298, 0.02293, 0.02292, 0.02293, 0.02294, \
                 0.02295, 0.02295, 0.02294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006281, -0.006322, -0.006768, -0.007286, -0.007603, -0.007792, \
                 -0.007888, -0.007948, -0.007997, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008367, 0.008379, 0.008388, 0.008357, 0.00837, 0.008358, 0.008366, \
                 0.008367, 0.008363, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008048, -0.008063, -0.008044, -0.008085, -0.008165, -0.008176, \
                 -0.008216, -0.008227, -0.008235, -0.008245");
        }
      }

      internal_power() {
        when : "CLK&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004123, 0.004125, 0.004139, 0.004133, 0.004142, 0.004133, 0.004148, \
                 0.004146, 0.004145, 0.004147");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005064, -0.004833, -0.004652, -0.004586, -0.004575, -0.004545, \
                 -0.004546, -0.004539, -0.004534, -0.00453");
        }
      }

      internal_power() {
        when : "CLK&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008378, 0.008377, 0.008379, 0.008363, 0.008364, 0.008372, 0.008367, \
                 0.008366, 0.008362, 0.00836");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008038, -0.008043, -0.008026, -0.008082, -0.008158, -0.008195, \
                 -0.008211, -0.008226, -0.008237, -0.008245");
        }
      }

      internal_power() {
        when : "CLK&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004112, 0.004116, 0.004122, 0.004121, 0.004124, 0.004127, 0.00413, \
                 0.004129, 0.004127, 0.004127");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003116, -0.003118, -0.003118, -0.003115, -0.003121, -0.003124, \
                 -0.003121, -0.003122, -0.003119, -0.003117");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.143, -0.1, -0.028, 0.025, 0.071, 0.091, 0.095, 0.067, 0.012",\
                 "-0.172, -0.151, -0.107, -0.042, 0.016, 0.058, 0.081, 0.081, 0.056, 0.004",\
                 "-0.211, -0.195, -0.149, -0.082, -0.018, 0.022, 0.049, 0.044, 0.023, -0.038",\
                 "-0.28, -0.266, -0.218, -0.153, -0.09, -0.043, -0.014, -0.018, -0.038, -0.098",\
                 "-0.374, -0.363, -0.312, -0.247, -0.181, -0.136, -0.11, -0.106, -0.125, -0.18",\
                 "-0.503, -0.489, -0.443, -0.373, -0.31, -0.259, -0.227, -0.221, -0.243, -0.291",\
                 "-0.664, -0.647, -0.601, -0.535, -0.467, -0.413, -0.379, -0.364, -0.381, -0.431",\
                 "-0.856, -0.84, -0.795, -0.729, -0.672, -0.604, -0.573, -0.555, -0.557, -0.613",\
                 "-1.086, -1.069, -1.033, -0.967, -0.897, -0.842, -0.807, -0.78, -0.786, -0.83",\
                 "-1.366, -1.346, -1.308, -1.25, -1.183, -1.118, -1.074, -1.046, -1.044, -1.089");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.338, -0.32, -0.288, -0.274, -0.28, -0.309, -0.356, -0.43, -0.522, -0.638",\
                 "-0.35, -0.334, -0.302, -0.283, -0.293, -0.319, -0.365, -0.438, -0.53, -0.651",\
                 "-0.377, -0.367, -0.33, -0.314, -0.322, -0.348, -0.395, -0.466, -0.556, -0.681",\
                 "-0.416, -0.401, -0.375, -0.352, -0.354, -0.379, -0.423, -0.492, -0.58, -0.696",\
                 "-0.456, -0.448, -0.408, -0.39, -0.383, -0.399, -0.441, -0.506, -0.599, -0.71",\
                 "-0.486, -0.471, -0.436, -0.402, -0.398, -0.416, -0.45, -0.508, -0.599, -0.711",\
                 "-0.47, -0.459, -0.42, -0.395, -0.387, -0.406, -0.444, -0.501, -0.582, -0.695",\
                 "-0.431, -0.416, -0.379, -0.355, -0.345, -0.368, -0.397, -0.463, -0.544, -0.653",\
                 "-0.338, -0.33, -0.296, -0.268, -0.264, -0.287, -0.328, -0.388, -0.475, -0.587",\
                 "-0.21, -0.198, -0.165, -0.142, -0.141, -0.168, -0.211, -0.272, -0.368, -0.481");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.149, -0.1, -0.028, 0.025, 0.071, 0.091, 0.095, 0.067, 0.012",\
                 "-0.172, -0.159, -0.107, -0.042, 0.016, 0.058, 0.081, 0.081, 0.056, 0.004",\
                 "-0.211, -0.195, -0.149, -0.082, -0.018, 0.022, 0.049, 0.044, 0.023, -0.033",\
                 "-0.28, -0.266, -0.218, -0.153, -0.09, -0.043, -0.014, -0.018, -0.038, -0.098",\
                 "-0.374, -0.371, -0.312, -0.247, -0.181, -0.136, -0.11, -0.106, -0.125, -0.18",\
                 "-0.503, -0.495, -0.443, -0.373, -0.311, -0.259, -0.227, -0.221, -0.243, -0.291",\
                 "-0.664, -0.656, -0.601, -0.535, -0.467, -0.413, -0.379, -0.364, -0.381, -0.431",\
                 "-0.856, -0.852, -0.795, -0.729, -0.664, -0.604, -0.573, -0.555, -0.564, -0.605",\
                 "-1.086, -1.085, -1.033, -0.967, -0.906, -0.837, -0.807, -0.78, -0.786, -0.812",\
                 "-1.366, -1.362, -1.308, -1.244, -1.177, -1.118, -1.074, -1.046, -1.044, -1.079");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.338, -0.32, -0.288, -0.274, -0.28, -0.309, -0.356, -0.43, -0.522, -0.638",\
                 "-0.35, -0.334, -0.302, -0.283, -0.293, -0.319, -0.365, -0.438, -0.53, -0.651",\
                 "-0.377, -0.367, -0.33, -0.314, -0.322, -0.348, -0.395, -0.466, -0.556, -0.681",\
                 "-0.416, -0.401, -0.375, -0.352, -0.354, -0.379, -0.423, -0.492, -0.58, -0.696",\
                 "-0.456, -0.448, -0.408, -0.39, -0.383, -0.399, -0.441, -0.506, -0.599, -0.71",\
                 "-0.486, -0.471, -0.436, -0.411, -0.398, -0.416, -0.45, -0.508, -0.599, -0.711",\
                 "-0.47, -0.459, -0.42, -0.395, -0.387, -0.406, -0.444, -0.501, -0.582, -0.695",\
                 "-0.431, -0.416, -0.379, -0.355, -0.345, -0.368, -0.397, -0.463, -0.544, -0.653",\
                 "-0.338, -0.33, -0.296, -0.268, -0.263, -0.287, -0.328, -0.388, -0.475, -0.587",\
                 "-0.21, -0.198, -0.165, -0.142, -0.141, -0.168, -0.211, -0.272, -0.368, -0.481");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.956, 0.942, 0.879, 0.783, 0.712, 0.654, 0.617, 0.607, 0.633, 0.68",\
                 "0.965, 0.953, 0.883, 0.794, 0.718, 0.666, 0.63, 0.617, 0.633, 0.693",\
                 "1, 0.988, 0.929, 0.831, 0.766, 0.7, 0.667, 0.653, 0.68, 0.736",\
                 "1.08, 1.067, 0.996, 0.904, 0.835, 0.774, 0.734, 0.727, 0.745, 0.798",\
                 "1.201, 1.189, 1.121, 1.029, 0.956, 0.899, 0.854, 0.847, 0.864, 0.914",\
                 "1.389, 1.379, 1.311, 1.222, 1.143, 1.08, 1.049, 1.03, 1.049, 1.1",\
                 "1.651, 1.641, 1.579, 1.484, 1.406, 1.342, 1.3, 1.282, 1.291, 1.337",\
                 "1.984, 1.98, 1.908, 1.812, 1.73, 1.665, 1.617, 1.591, 1.597, 1.635",\
                 "2.383, 2.369, 2.298, 2.199, 2.117, 2.037, 1.988, 1.961, 1.953, 1.992",\
                 "2.824, 2.814, 2.745, 2.638, 2.543, 2.464, 2.409, 2.379, 2.368, 2.395");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.779, 0.778, 0.712, 0.638, 0.578, 0.568, 0.584, 0.631, 0.713, 0.811",\
                 "0.801, 0.786, 0.723, 0.65, 0.594, 0.578, 0.596, 0.635, 0.722, 0.824",\
                 "0.828, 0.811, 0.756, 0.68, 0.627, 0.61, 0.622, 0.665, 0.754, 0.854",\
                 "0.871, 0.863, 0.799, 0.72, 0.666, 0.65, 0.664, 0.7, 0.772, 0.876",\
                 "0.926, 0.911, 0.852, 0.776, 0.714, 0.697, 0.699, 0.736, 0.807, 0.902",\
                 "0.963, 0.954, 0.896, 0.82, 0.758, 0.729, 0.726, 0.761, 0.824, 0.919",\
                 "0.985, 0.972, 0.909, 0.835, 0.771, 0.743, 0.735, 0.764, 0.83, 0.916",\
                 "0.963, 0.947, 0.895, 0.817, 0.76, 0.722, 0.719, 0.744, 0.807, 0.893",\
                 "0.918, 0.899, 0.842, 0.766, 0.707, 0.674, 0.665, 0.692, 0.762, 0.839",\
                 "0.819, 0.811, 0.745, 0.674, 0.618, 0.582, 0.575, 0.6, 0.665, 0.753");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.956, 0.942, 0.879, 0.783, 0.712, 0.654, 0.617, 0.607, 0.633, 0.68",\
                 "0.965, 0.953, 0.883, 0.794, 0.718, 0.66, 0.63, 0.617, 0.641, 0.693",\
                 "1, 0.988, 0.929, 0.831, 0.766, 0.7, 0.667, 0.653, 0.68, 0.725",\
                 "1.08, 1.067, 0.996, 0.912, 0.835, 0.774, 0.734, 0.727, 0.745, 0.798",\
                 "1.201, 1.189, 1.121, 1.029, 0.956, 0.899, 0.854, 0.847, 0.864, 0.914",\
                 "1.389, 1.379, 1.311, 1.222, 1.143, 1.08, 1.049, 1.03, 1.049, 1.1",\
                 "1.651, 1.641, 1.579, 1.484, 1.406, 1.342, 1.3, 1.282, 1.291, 1.337",\
                 "1.984, 1.98, 1.908, 1.812, 1.73, 1.665, 1.617, 1.591, 1.597, 1.635",\
                 "2.383, 2.369, 2.298, 2.199, 2.117, 2.037, 1.988, 1.961, 1.953, 1.992",\
                 "2.824, 2.814, 2.745, 2.638, 2.543, 2.464, 2.409, 2.379, 2.377, 2.395");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.784, 0.771, 0.712, 0.638, 0.578, 0.562, 0.584, 0.631, 0.713, 0.811",\
                 "0.794, 0.786, 0.723, 0.65, 0.594, 0.578, 0.596, 0.641, 0.722, 0.824",\
                 "0.828, 0.817, 0.756, 0.68, 0.627, 0.61, 0.622, 0.665, 0.746, 0.854",\
                 "0.871, 0.864, 0.798, 0.72, 0.666, 0.65, 0.654, 0.7, 0.772, 0.876",\
                 "0.926, 0.911, 0.852, 0.776, 0.714, 0.697, 0.699, 0.736, 0.807, 0.902",\
                 "0.963, 0.954, 0.89, 0.82, 0.758, 0.729, 0.726, 0.761, 0.824, 0.919",\
                 "0.985, 0.972, 0.909, 0.835, 0.777, 0.743, 0.735, 0.764, 0.83, 0.916",\
                 "0.963, 0.953, 0.889, 0.817, 0.76, 0.722, 0.719, 0.744, 0.807, 0.901",\
                 "0.91, 0.899, 0.842, 0.766, 0.707, 0.674, 0.665, 0.692, 0.762, 0.839",\
                 "0.819, 0.811, 0.751, 0.674, 0.612, 0.582, 0.575, 0.6, 0.665, 0.753");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.3601 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1438, 0.1429, 0.1419, 0.1415, 0.1413, 0.1412, 0.1412, 0.1411, 0.1411, 0.1411",\
                 "0.1439, 0.1429, 0.1419, 0.1415, 0.1413, 0.1412, 0.1412, 0.1412, 0.1411, 0.1411",\
                 "0.1438, 0.143, 0.1419, 0.1415, 0.1414, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1444, 0.1436, 0.1425, 0.142, 0.1419, 0.1418, 0.1418, 0.1417, 0.1417, 0.1417",\
                 "0.1453, 0.1444, 0.1434, 0.143, 0.1428, 0.1427, 0.1426, 0.1426, 0.1426, 0.1426",\
                 "0.1463, 0.1455, 0.1444, 0.1439, 0.1438, 0.1437, 0.1436, 0.1436, 0.1436, 0.1436",\
                 "0.1475, 0.1466, 0.1456, 0.1452, 0.145, 0.1449, 0.1449, 0.1449, 0.1449, 0.1448",\
                 "0.1489, 0.148, 0.147, 0.1465, 0.1465, 0.1464, 0.1462, 0.1462, 0.1462, 0.1462",\
                 "0.1504, 0.1494, 0.1482, 0.1479, 0.1478, 0.1477, 0.1476, 0.1476, 0.1476, 0.1476",\
                 "0.1516, 0.1508, 0.1497, 0.1493, 0.1491, 0.149, 0.149, 0.149, 0.1489, 0.1489");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1732, 0.1725, 0.1716, 0.1716, 0.1719, 0.1726, 0.1733, 0.1739, 0.1749, 0.179",\
                 "0.1731, 0.1725, 0.1716, 0.1716, 0.1719, 0.1726, 0.1732, 0.1737, 0.1746, 0.179",\
                 "0.1732, 0.1726, 0.1717, 0.1717, 0.172, 0.1728, 0.1732, 0.174, 0.1742, 0.1787",\
                 "0.1735, 0.1727, 0.1719, 0.1719, 0.1723, 0.1729, 0.1734, 0.1745, 0.175, 0.1798",\
                 "0.1742, 0.1735, 0.1727, 0.1727, 0.1729, 0.1736, 0.1741, 0.1751, 0.1757, 0.1816",\
                 "0.1749, 0.1741, 0.1733, 0.1735, 0.1739, 0.1745, 0.1751, 0.1755, 0.1767, 0.1833",\
                 "0.1762, 0.1756, 0.1747, 0.1745, 0.1753, 0.1761, 0.1763, 0.177, 0.1781, 0.1864",\
                 "0.1779, 0.1774, 0.1762, 0.176, 0.1765, 0.1776, 0.1786, 0.1794, 0.1797, 0.1906",\
                 "0.1799, 0.1792, 0.1782, 0.1783, 0.1781, 0.1788, 0.1801, 0.1815, 0.1832, 0.1982",\
                 "0.1822, 0.1815, 0.1806, 0.1803, 0.1806, 0.1811, 0.1815, 0.183, 0.1878, 0.2104");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1439, 0.143, 0.142, 0.1415, 0.1414, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1438, 0.143, 0.1419, 0.1415, 0.1414, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1438, 0.143, 0.1419, 0.1415, 0.1414, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1445, 0.1436, 0.1425, 0.1421, 0.142, 0.1419, 0.1418, 0.1418, 0.1418, 0.1418",\
                 "0.1453, 0.1444, 0.1434, 0.143, 0.1428, 0.1427, 0.1426, 0.1426, 0.1426, 0.1426",\
                 "0.1463, 0.1454, 0.1443, 0.1439, 0.1438, 0.1437, 0.1436, 0.1436, 0.1436, 0.1436",\
                 "0.1475, 0.1467, 0.1456, 0.1452, 0.145, 0.1449, 0.1449, 0.1449, 0.1448, 0.1448",\
                 "0.1488, 0.148, 0.147, 0.1466, 0.1464, 0.1463, 0.1462, 0.1462, 0.1461, 0.1461",\
                 "0.1503, 0.1495, 0.1483, 0.1479, 0.1478, 0.1477, 0.1477, 0.1476, 0.1476, 0.1476",\
                 "0.1517, 0.1509, 0.1498, 0.1494, 0.1493, 0.1492, 0.1491, 0.149, 0.1491, 0.1491");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1733, 0.1726, 0.1717, 0.1717, 0.1721, 0.1727, 0.1734, 0.1739, 0.1748, 0.1782",\
                 "0.1733, 0.1727, 0.1717, 0.1717, 0.172, 0.1727, 0.1732, 0.1738, 0.1748, 0.1787",\
                 "0.1733, 0.1725, 0.1716, 0.1718, 0.1722, 0.1727, 0.1734, 0.1741, 0.1747, 0.1791",\
                 "0.1737, 0.1729, 0.1721, 0.1721, 0.1724, 0.1731, 0.1736, 0.1746, 0.1753, 0.1801",\
                 "0.1743, 0.1737, 0.1728, 0.1727, 0.1731, 0.1738, 0.1742, 0.1748, 0.1759, 0.1813",\
                 "0.175, 0.1744, 0.1733, 0.1735, 0.1738, 0.1743, 0.175, 0.1754, 0.1766, 0.183",\
                 "0.1764, 0.1757, 0.1747, 0.1745, 0.1753, 0.1763, 0.1765, 0.1773, 0.1781, 0.1864",\
                 "0.178, 0.1774, 0.1763, 0.1761, 0.1762, 0.1775, 0.1784, 0.179, 0.1797, 0.1912",\
                 "0.1799, 0.1793, 0.1783, 0.1782, 0.1782, 0.1787, 0.1801, 0.1817, 0.1832, 0.1989",\
                 "0.1821, 0.1814, 0.1804, 0.1803, 0.1805, 0.181, 0.1812, 0.183, 0.188, 0.2107");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&!SE&SETN&SI | !D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1438, 0.1429, 0.1418, 0.1414, 0.1412, 0.1411, 0.1411, 0.1411, 0.1411, 0.1411",\
                 "0.1438, 0.1429, 0.1419, 0.1415, 0.1414, 0.1412, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1439, 0.1431, 0.1419, 0.1415, 0.1414, 0.1413, 0.1413, 0.1412, 0.1412, 0.1412",\
                 "0.1445, 0.1435, 0.1425, 0.1421, 0.1419, 0.1418, 0.1418, 0.1418, 0.1417, 0.1417",\
                 "0.1454, 0.1445, 0.1436, 0.1432, 0.143, 0.1429, 0.1428, 0.1428, 0.1428, 0.1428",\
                 "0.1463, 0.1454, 0.1444, 0.1439, 0.1438, 0.1437, 0.1437, 0.1436, 0.1436, 0.1436",\
                 "0.1476, 0.1466, 0.1455, 0.1452, 0.145, 0.145, 0.1449, 0.1449, 0.1449, 0.1449",\
                 "0.1489, 0.148, 0.147, 0.1465, 0.1464, 0.1463, 0.1463, 0.1462, 0.1462, 0.1462",\
                 "0.1503, 0.1495, 0.1484, 0.148, 0.1478, 0.1477, 0.1477, 0.1476, 0.1476, 0.1476",\
                 "0.1516, 0.1508, 0.1497, 0.1492, 0.1492, 0.1491, 0.149, 0.1488, 0.1489, 0.1489");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1734, 0.1727, 0.1718, 0.1718, 0.1721, 0.1728, 0.1734, 0.1739, 0.1748, 0.1782",\
                 "0.1733, 0.1727, 0.1717, 0.1718, 0.1721, 0.1728, 0.1734, 0.1739, 0.1749, 0.1787",\
                 "0.1733, 0.1726, 0.1718, 0.1718, 0.1721, 0.1728, 0.1735, 0.1743, 0.1748, 0.1791",\
                 "0.1736, 0.1728, 0.1719, 0.172, 0.1723, 0.173, 0.1736, 0.1742, 0.1751, 0.1804",\
                 "0.1743, 0.1737, 0.1728, 0.1728, 0.1731, 0.1738, 0.1743, 0.1749, 0.1759, 0.1813",\
                 "0.175, 0.1743, 0.1733, 0.1735, 0.1738, 0.1743, 0.175, 0.1754, 0.1766, 0.183",\
                 "0.1763, 0.1757, 0.1748, 0.1747, 0.1754, 0.176, 0.1765, 0.1771, 0.1781, 0.1864",\
                 "0.1779, 0.1774, 0.1763, 0.1761, 0.1762, 0.1775, 0.1784, 0.179, 0.1797, 0.1912",\
                 "0.1799, 0.1793, 0.1783, 0.1782, 0.1782, 0.1787, 0.1801, 0.1815, 0.1832, 0.1983",\
                 "0.1821, 0.1813, 0.1804, 0.1801, 0.1805, 0.181, 0.1812, 0.183, 0.188, 0.2107");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&SE&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1438, 0.1429, 0.1419, 0.1414, 0.1412, 0.1412, 0.1411, 0.1411, 0.1411, 0.141",\
                 "0.1438, 0.1429, 0.1419, 0.1415, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1439, 0.143, 0.1419, 0.1415, 0.1414, 0.1413, 0.1412, 0.1412, 0.1412, 0.1412",\
                 "0.1445, 0.1436, 0.1425, 0.142, 0.1419, 0.1419, 0.1418, 0.1418, 0.1418, 0.1418",\
                 "0.1453, 0.1444, 0.1435, 0.1431, 0.1429, 0.1428, 0.1427, 0.1427, 0.1427, 0.1427",\
                 "0.1463, 0.1454, 0.1444, 0.1439, 0.1438, 0.1437, 0.1437, 0.1436, 0.1436, 0.1436",\
                 "0.1475, 0.1467, 0.1456, 0.1452, 0.145, 0.145, 0.1449, 0.1449, 0.1449, 0.1449",\
                 "0.149, 0.1481, 0.147, 0.1466, 0.1465, 0.1464, 0.1463, 0.1463, 0.1462, 0.1462",\
                 "0.1504, 0.1495, 0.1483, 0.148, 0.1478, 0.1477, 0.1477, 0.1477, 0.1476, 0.1476",\
                 "0.1517, 0.1509, 0.1498, 0.1494, 0.1493, 0.1491, 0.1491, 0.149, 0.149, 0.149");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1732, 0.1727, 0.1716, 0.1717, 0.172, 0.1727, 0.1733, 0.1739, 0.1748, 0.1785",\
                 "0.1733, 0.1727, 0.1717, 0.1717, 0.1721, 0.1727, 0.1732, 0.1738, 0.1748, 0.1787",\
                 "0.1732, 0.1726, 0.1716, 0.1716, 0.172, 0.1727, 0.1733, 0.1738, 0.1749, 0.1787",\
                 "0.1736, 0.1728, 0.172, 0.1721, 0.1724, 0.1731, 0.1737, 0.1742, 0.1751, 0.1804",\
                 "0.1743, 0.1736, 0.1728, 0.1726, 0.173, 0.1737, 0.1743, 0.1748, 0.1759, 0.1807",\
                 "0.1749, 0.1742, 0.1732, 0.1735, 0.1738, 0.1745, 0.175, 0.1754, 0.1765, 0.183",\
                 "0.1764, 0.1756, 0.1748, 0.1747, 0.1754, 0.1762, 0.1766, 0.177, 0.1782, 0.1864",\
                 "0.1779, 0.1774, 0.1762, 0.176, 0.1764, 0.1773, 0.1785, 0.1792, 0.1797, 0.1905",\
                 "0.18, 0.1792, 0.1783, 0.1781, 0.1781, 0.179, 0.18, 0.1814, 0.1829, 0.1984",\
                 "0.1821, 0.1816, 0.1805, 0.1804, 0.1804, 0.1806, 0.1817, 0.1829, 0.1872, 0.2104");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1686, 0.1678, 0.1668, 0.1667, 0.167, 0.1677, 0.1681, 0.1689, 0.1695, 0.1741",\
                 "0.1687, 0.168, 0.167, 0.1666, 0.1671, 0.1677, 0.1682, 0.1689, 0.1696, 0.1738",\
                 "0.1691, 0.1683, 0.1674, 0.1671, 0.1673, 0.1681, 0.1688, 0.1692, 0.17, 0.1748",\
                 "0.1726, 0.1718, 0.1709, 0.1705, 0.1707, 0.1715, 0.1722, 0.1727, 0.1736, 0.1785",\
                 "0.182, 0.1811, 0.1801, 0.1796, 0.1797, 0.1803, 0.1809, 0.1816, 0.1825, 0.1885",\
                 "0.197, 0.1961, 0.1947, 0.1945, 0.1943, 0.1949, 0.1951, 0.1962, 0.1969, 0.2047",\
                 "0.2188, 0.2179, 0.216, 0.2153, 0.2159, 0.2161, 0.2164, 0.2175, 0.2182, 0.2283",\
                 "0.2455, 0.2444, 0.2425, 0.2414, 0.2412, 0.2423, 0.2429, 0.2432, 0.2443, 0.2583",\
                 "0.2753, 0.274, 0.272, 0.2704, 0.2701, 0.2703, 0.2719, 0.2724, 0.275, 0.2957",\
                 "0.3077, 0.3063, 0.3039, 0.3025, 0.3018, 0.3015, 0.3025, 0.3047, 0.309, 0.3459");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1686, 0.1678, 0.1668, 0.1667, 0.167, 0.1677, 0.1681, 0.1689, 0.1695, 0.1741",\
                 "0.1687, 0.168, 0.167, 0.1666, 0.1671, 0.1677, 0.1682, 0.1689, 0.1696, 0.1738",\
                 "0.1691, 0.1683, 0.1674, 0.1671, 0.1673, 0.1681, 0.1688, 0.1692, 0.17, 0.1748",\
                 "0.1726, 0.1718, 0.1709, 0.1705, 0.1707, 0.1715, 0.1722, 0.1727, 0.1736, 0.1785",\
                 "0.182, 0.1811, 0.1801, 0.1796, 0.1797, 0.1803, 0.1809, 0.1816, 0.1825, 0.1885",\
                 "0.197, 0.1961, 0.1947, 0.1945, 0.1943, 0.1949, 0.1951, 0.1962, 0.1969, 0.2047",\
                 "0.2188, 0.2179, 0.216, 0.2153, 0.2159, 0.2161, 0.2164, 0.2175, 0.2182, 0.2283",\
                 "0.2455, 0.2444, 0.2425, 0.2414, 0.2412, 0.2423, 0.2429, 0.2432, 0.2443, 0.2583",\
                 "0.2753, 0.274, 0.272, 0.2704, 0.2701, 0.2703, 0.2719, 0.2724, 0.275, 0.2957",\
                 "0.3077, 0.3063, 0.3039, 0.3025, 0.3018, 0.3015, 0.3025, 0.3047, 0.309, 0.3459");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1686, 0.1679, 0.1668, 0.1667, 0.167, 0.1677, 0.1681, 0.1689, 0.1695, 0.1741",\
                 "0.1687, 0.168, 0.167, 0.1666, 0.1671, 0.1677, 0.1682, 0.1689, 0.1696, 0.1738",\
                 "0.1691, 0.1683, 0.1674, 0.1671, 0.1673, 0.1681, 0.1688, 0.1692, 0.17, 0.1748",\
                 "0.1726, 0.1718, 0.1709, 0.1705, 0.1707, 0.1715, 0.1722, 0.1727, 0.1736, 0.1785",\
                 "0.182, 0.1811, 0.18, 0.1795, 0.1797, 0.1804, 0.181, 0.1817, 0.1828, 0.1882",\
                 "0.1969, 0.1962, 0.1949, 0.1945, 0.1943, 0.1948, 0.1955, 0.196, 0.1967, 0.204",\
                 "0.2187, 0.2177, 0.2161, 0.2155, 0.216, 0.2161, 0.2165, 0.2175, 0.2183, 0.2285",\
                 "0.2455, 0.2443, 0.2424, 0.2412, 0.241, 0.2421, 0.2428, 0.2431, 0.2443, 0.2583",\
                 "0.2752, 0.274, 0.272, 0.2704, 0.2701, 0.2703, 0.2719, 0.2724, 0.275, 0.2957",\
                 "0.3077, 0.3063, 0.3039, 0.3024, 0.3018, 0.3015, 0.3026, 0.3047, 0.309, 0.3459");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1686, 0.1679, 0.1668, 0.1667, 0.167, 0.1677, 0.1681, 0.1689, 0.1695, 0.1741",\
                 "0.1687, 0.168, 0.167, 0.1666, 0.1671, 0.1677, 0.1682, 0.1689, 0.1696, 0.1738",\
                 "0.1691, 0.1683, 0.1674, 0.1671, 0.1673, 0.1681, 0.1688, 0.1692, 0.17, 0.1748",\
                 "0.1726, 0.1718, 0.1709, 0.1705, 0.1707, 0.1715, 0.1722, 0.1727, 0.1736, 0.1785",\
                 "0.182, 0.1811, 0.18, 0.1795, 0.1797, 0.1804, 0.181, 0.1817, 0.1828, 0.1882",\
                 "0.1969, 0.1962, 0.1949, 0.1945, 0.1943, 0.1948, 0.1955, 0.196, 0.1967, 0.204",\
                 "0.2187, 0.2177, 0.2161, 0.2155, 0.216, 0.2161, 0.2165, 0.2175, 0.2183, 0.2285",\
                 "0.2455, 0.2443, 0.2424, 0.2412, 0.241, 0.2421, 0.2428, 0.2431, 0.2443, 0.2583",\
                 "0.2752, 0.274, 0.272, 0.2704, 0.2701, 0.2703, 0.2719, 0.2724, 0.275, 0.2957",\
                 "0.3077, 0.3063, 0.3039, 0.3024, 0.3018, 0.3015, 0.3026, 0.3047, 0.309, 0.3459");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1687, 0.168, 0.1668, 0.1667, 0.167, 0.1677, 0.1682, 0.1691, 0.1697, 0.1738",\
                 "0.1687, 0.1679, 0.1669, 0.1666, 0.167, 0.1676, 0.1682, 0.1688, 0.1696, 0.1737",\
                 "0.1691, 0.1683, 0.1674, 0.1671, 0.1673, 0.1681, 0.1688, 0.1692, 0.17, 0.1748",\
                 "0.1726, 0.1718, 0.1709, 0.1705, 0.1707, 0.1715, 0.1722, 0.1727, 0.1736, 0.1785",\
                 "0.182, 0.1812, 0.18, 0.1796, 0.1797, 0.1803, 0.1808, 0.1818, 0.1827, 0.1889",\
                 "0.1971, 0.196, 0.1947, 0.1943, 0.1942, 0.1949, 0.1955, 0.1961, 0.1977, 0.2044",\
                 "0.2188, 0.2178, 0.2163, 0.2155, 0.2159, 0.2161, 0.2166, 0.2169, 0.2183, 0.2283",\
                 "0.2455, 0.2443, 0.2426, 0.2415, 0.2414, 0.2426, 0.2429, 0.2433, 0.2446, 0.2584",\
                 "0.2752, 0.2739, 0.2719, 0.2706, 0.27, 0.2705, 0.2719, 0.2728, 0.2747, 0.2965",\
                 "0.3077, 0.3063, 0.304, 0.3023, 0.3018, 0.3015, 0.3026, 0.3043, 0.309, 0.3459");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1687, 0.168, 0.1668, 0.1667, 0.167, 0.1677, 0.1682, 0.1691, 0.1697, 0.1738",\
                 "0.1687, 0.1679, 0.1669, 0.1666, 0.167, 0.1676, 0.1682, 0.1688, 0.1696, 0.1737",\
                 "0.1691, 0.1683, 0.1674, 0.1671, 0.1673, 0.1681, 0.1688, 0.1692, 0.17, 0.1748",\
                 "0.1726, 0.1718, 0.1709, 0.1705, 0.1707, 0.1715, 0.1722, 0.1727, 0.1736, 0.1785",\
                 "0.182, 0.1812, 0.18, 0.1796, 0.1797, 0.1803, 0.1808, 0.1818, 0.1827, 0.1889",\
                 "0.1971, 0.196, 0.1947, 0.1943, 0.1942, 0.1949, 0.1955, 0.1961, 0.1977, 0.2044",\
                 "0.2188, 0.2178, 0.2163, 0.2155, 0.2159, 0.2161, 0.2166, 0.2169, 0.2183, 0.2283",\
                 "0.2455, 0.2443, 0.2426, 0.2415, 0.2414, 0.2426, 0.2429, 0.2433, 0.2446, 0.2584",\
                 "0.2752, 0.2739, 0.2719, 0.2706, 0.27, 0.2705, 0.2719, 0.2728, 0.2747, 0.2965",\
                 "0.3077, 0.3063, 0.304, 0.3023, 0.3018, 0.3015, 0.3026, 0.3043, 0.309, 0.3459");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1682, 0.1675, 0.1664, 0.1662, 0.1663, 0.1671, 0.1677, 0.1683, 0.1691, 0.1733",\
                 "0.1681, 0.1674, 0.1663, 0.166, 0.1663, 0.167, 0.1676, 0.1682, 0.1689, 0.1736",\
                 "0.1685, 0.1677, 0.1668, 0.1665, 0.1667, 0.1674, 0.1681, 0.1686, 0.1694, 0.1737",\
                 "0.1722, 0.1714, 0.1704, 0.17, 0.1703, 0.171, 0.1718, 0.1726, 0.173, 0.1786",\
                 "0.1814, 0.1806, 0.1795, 0.179, 0.1795, 0.1801, 0.1803, 0.1812, 0.182, 0.1883",\
                 "0.1964, 0.1957, 0.1943, 0.1937, 0.194, 0.1946, 0.195, 0.1958, 0.1966, 0.2035",\
                 "0.2183, 0.2173, 0.2157, 0.2151, 0.2155, 0.2157, 0.2161, 0.2169, 0.2177, 0.2273",\
                 "0.245, 0.2439, 0.2421, 0.241, 0.2408, 0.2419, 0.2423, 0.2427, 0.244, 0.2579",\
                 "0.2748, 0.2736, 0.2717, 0.2704, 0.2699, 0.2701, 0.2714, 0.2721, 0.2741, 0.2955",\
                 "0.3073, 0.3062, 0.3038, 0.3023, 0.3015, 0.3011, 0.3023, 0.3043, 0.3087, 0.3452");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1682, 0.1675, 0.1664, 0.1662, 0.1663, 0.1671, 0.1677, 0.1683, 0.1691, 0.1733",\
                 "0.1681, 0.1674, 0.1663, 0.166, 0.1663, 0.167, 0.1676, 0.1682, 0.1689, 0.1736",\
                 "0.1685, 0.1677, 0.1668, 0.1665, 0.1667, 0.1674, 0.1681, 0.1686, 0.1694, 0.1737",\
                 "0.1722, 0.1714, 0.1704, 0.17, 0.1703, 0.171, 0.1718, 0.1726, 0.173, 0.1786",\
                 "0.1814, 0.1806, 0.1795, 0.179, 0.1795, 0.1801, 0.1803, 0.1812, 0.182, 0.1883",\
                 "0.1964, 0.1957, 0.1943, 0.1937, 0.194, 0.1946, 0.195, 0.1958, 0.1966, 0.2035",\
                 "0.2183, 0.2173, 0.2157, 0.2151, 0.2155, 0.2157, 0.2161, 0.2169, 0.2177, 0.2273",\
                 "0.245, 0.2439, 0.2421, 0.241, 0.2408, 0.2419, 0.2423, 0.2427, 0.244, 0.2579",\
                 "0.2748, 0.2736, 0.2717, 0.2704, 0.2699, 0.2701, 0.2714, 0.2721, 0.2741, 0.2955",\
                 "0.3073, 0.3062, 0.3038, 0.3023, 0.3015, 0.3011, 0.3023, 0.3043, 0.3087, 0.3452");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1681, 0.1674, 0.1664, 0.1661, 0.1663, 0.1671, 0.1675, 0.1686, 0.1687, 0.1733",\
                 "0.1681, 0.1674, 0.1663, 0.1661, 0.1663, 0.167, 0.1676, 0.1682, 0.1689, 0.1736",\
                 "0.1685, 0.1677, 0.1668, 0.1665, 0.1667, 0.1674, 0.1681, 0.1687, 0.1694, 0.1738",\
                 "0.1722, 0.1714, 0.1704, 0.17, 0.1702, 0.171, 0.1715, 0.1722, 0.173, 0.1783",\
                 "0.1814, 0.1806, 0.1795, 0.179, 0.1791, 0.1797, 0.1803, 0.1813, 0.1817, 0.1876",\
                 "0.1966, 0.1955, 0.1943, 0.1939, 0.1939, 0.1945, 0.195, 0.1958, 0.1964, 0.2035",\
                 "0.2183, 0.2173, 0.2157, 0.2149, 0.2153, 0.2154, 0.2159, 0.2171, 0.2179, 0.2282",\
                 "0.245, 0.244, 0.2421, 0.241, 0.2408, 0.2419, 0.2423, 0.2427, 0.244, 0.2579",\
                 "0.2749, 0.2736, 0.2714, 0.2704, 0.2696, 0.2699, 0.2713, 0.2717, 0.274, 0.2959",\
                 "0.3073, 0.306, 0.3039, 0.3021, 0.3013, 0.3012, 0.302, 0.3043, 0.3091, 0.3452");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1681, 0.1674, 0.1664, 0.1661, 0.1663, 0.1671, 0.1675, 0.1686, 0.1687, 0.1733",\
                 "0.1681, 0.1674, 0.1663, 0.1661, 0.1663, 0.167, 0.1676, 0.1682, 0.1689, 0.1736",\
                 "0.1685, 0.1677, 0.1668, 0.1665, 0.1667, 0.1674, 0.1681, 0.1687, 0.1694, 0.1738",\
                 "0.1722, 0.1714, 0.1704, 0.17, 0.1702, 0.171, 0.1715, 0.1722, 0.173, 0.1783",\
                 "0.1814, 0.1806, 0.1795, 0.179, 0.1791, 0.1797, 0.1803, 0.1813, 0.1817, 0.1876",\
                 "0.1966, 0.1955, 0.1943, 0.1939, 0.1939, 0.1945, 0.195, 0.1958, 0.1964, 0.2035",\
                 "0.2183, 0.2173, 0.2157, 0.2149, 0.2153, 0.2154, 0.2159, 0.2171, 0.2179, 0.2282",\
                 "0.245, 0.244, 0.2421, 0.241, 0.2408, 0.2419, 0.2423, 0.2427, 0.244, 0.2579",\
                 "0.2749, 0.2736, 0.2714, 0.2704, 0.2696, 0.2699, 0.2713, 0.2717, 0.274, 0.2959",\
                 "0.3073, 0.306, 0.3039, 0.3021, 0.3013, 0.3012, 0.302, 0.3043, 0.3091, 0.3452");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1682, 0.1674, 0.1664, 0.1661, 0.1663, 0.1671, 0.1678, 0.1682, 0.169, 0.1733",\
                 "0.1681, 0.1674, 0.1663, 0.1661, 0.1663, 0.167, 0.1676, 0.1682, 0.1689, 0.1736",\
                 "0.1685, 0.1677, 0.1668, 0.1665, 0.1667, 0.1674, 0.1681, 0.1687, 0.1694, 0.1738",\
                 "0.1722, 0.1714, 0.1704, 0.1702, 0.1702, 0.171, 0.1716, 0.1722, 0.1738, 0.1779",\
                 "0.1814, 0.1806, 0.1795, 0.179, 0.1791, 0.1797, 0.1803, 0.1813, 0.1817, 0.1876",\
                 "0.1965, 0.1957, 0.1943, 0.1939, 0.1939, 0.1944, 0.1949, 0.1957, 0.1964, 0.2035",\
                 "0.2183, 0.2172, 0.2157, 0.215, 0.2153, 0.2157, 0.2161, 0.2169, 0.2179, 0.2282",\
                 "0.245, 0.244, 0.2421, 0.241, 0.2408, 0.2419, 0.2423, 0.2427, 0.244, 0.2579",\
                 "0.2749, 0.2736, 0.2714, 0.2703, 0.2696, 0.2699, 0.2714, 0.2718, 0.2742, 0.2958",\
                 "0.3073, 0.306, 0.3039, 0.3023, 0.3013, 0.3012, 0.302, 0.3043, 0.3091, 0.3458");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1682, 0.1674, 0.1664, 0.1661, 0.1663, 0.1671, 0.1678, 0.1682, 0.169, 0.1733",\
                 "0.1681, 0.1674, 0.1663, 0.1661, 0.1663, 0.167, 0.1676, 0.1682, 0.1689, 0.1736",\
                 "0.1685, 0.1677, 0.1668, 0.1665, 0.1667, 0.1674, 0.1681, 0.1687, 0.1694, 0.1738",\
                 "0.1722, 0.1714, 0.1704, 0.1702, 0.1702, 0.171, 0.1716, 0.1722, 0.1738, 0.1779",\
                 "0.1814, 0.1806, 0.1795, 0.179, 0.1791, 0.1797, 0.1803, 0.1813, 0.1817, 0.1876",\
                 "0.1965, 0.1957, 0.1943, 0.1939, 0.1939, 0.1944, 0.1949, 0.1957, 0.1964, 0.2035",\
                 "0.2183, 0.2172, 0.2157, 0.215, 0.2153, 0.2157, 0.2161, 0.2169, 0.2179, 0.2282",\
                 "0.245, 0.244, 0.2421, 0.241, 0.2408, 0.2419, 0.2423, 0.2427, 0.244, 0.2579",\
                 "0.2749, 0.2736, 0.2714, 0.2703, 0.2696, 0.2699, 0.2714, 0.2718, 0.2742, 0.2958",\
                 "0.3073, 0.306, 0.3039, 0.3023, 0.3013, 0.3012, 0.302, 0.3043, 0.3091, 0.3458");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1688, 0.168, 0.1668, 0.1667, 0.167, 0.1677, 0.1682, 0.169, 0.1695, 0.1738",\
                 "0.1687, 0.1679, 0.1669, 0.1666, 0.167, 0.1676, 0.1682, 0.1688, 0.1696, 0.1737",\
                 "0.1691, 0.1683, 0.1674, 0.1671, 0.1673, 0.1681, 0.1688, 0.1692, 0.17, 0.1748",\
                 "0.1726, 0.1718, 0.1709, 0.1705, 0.1707, 0.1715, 0.1721, 0.1727, 0.1736, 0.1785",\
                 "0.182, 0.1812, 0.18, 0.1798, 0.1797, 0.1804, 0.181, 0.1816, 0.1828, 0.1885",\
                 "0.197, 0.196, 0.1947, 0.1944, 0.1942, 0.1949, 0.1956, 0.1962, 0.1971, 0.2041",\
                 "0.2187, 0.2177, 0.2159, 0.2156, 0.216, 0.216, 0.2166, 0.2174, 0.2178, 0.2283",\
                 "0.2454, 0.2443, 0.2423, 0.2415, 0.2412, 0.2423, 0.2428, 0.2432, 0.2443, 0.2589",\
                 "0.2752, 0.2739, 0.2719, 0.2705, 0.2699, 0.2705, 0.272, 0.2724, 0.2747, 0.2968",\
                 "0.3077, 0.3063, 0.3041, 0.3026, 0.3018, 0.3013, 0.3022, 0.3047, 0.3087, 0.3461");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1688, 0.168, 0.1668, 0.1667, 0.167, 0.1677, 0.1682, 0.169, 0.1695, 0.1738",\
                 "0.1687, 0.1679, 0.1669, 0.1666, 0.167, 0.1676, 0.1682, 0.1688, 0.1696, 0.1737",\
                 "0.1691, 0.1683, 0.1674, 0.1671, 0.1673, 0.1681, 0.1688, 0.1692, 0.17, 0.1748",\
                 "0.1726, 0.1718, 0.1709, 0.1705, 0.1707, 0.1715, 0.1721, 0.1727, 0.1736, 0.1785",\
                 "0.182, 0.1812, 0.18, 0.1798, 0.1797, 0.1804, 0.181, 0.1816, 0.1828, 0.1885",\
                 "0.197, 0.196, 0.1947, 0.1944, 0.1942, 0.1949, 0.1956, 0.1962, 0.1971, 0.2041",\
                 "0.2187, 0.2177, 0.2159, 0.2156, 0.216, 0.216, 0.2166, 0.2174, 0.2178, 0.2283",\
                 "0.2454, 0.2443, 0.2423, 0.2415, 0.2412, 0.2423, 0.2428, 0.2432, 0.2443, 0.2589",\
                 "0.2752, 0.2739, 0.2719, 0.2705, 0.2699, 0.2705, 0.272, 0.2724, 0.2747, 0.2968",\
                 "0.3077, 0.3063, 0.3041, 0.3026, 0.3018, 0.3013, 0.3022, 0.3047, 0.3087, 0.3461");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1682, 0.1675, 0.1664, 0.1662, 0.1664, 0.1671, 0.1677, 0.1683, 0.1691, 0.1733",\
                 "0.1681, 0.1674, 0.1663, 0.1661, 0.1663, 0.167, 0.1676, 0.1682, 0.1689, 0.1736",\
                 "0.1685, 0.1677, 0.1668, 0.1665, 0.1667, 0.1674, 0.1681, 0.1686, 0.1694, 0.1737",\
                 "0.172, 0.1714, 0.1703, 0.1701, 0.1704, 0.171, 0.1716, 0.1722, 0.173, 0.1786",\
                 "0.1814, 0.1806, 0.1795, 0.179, 0.1791, 0.1799, 0.1804, 0.1812, 0.182, 0.1883",\
                 "0.1966, 0.1956, 0.1943, 0.1938, 0.1938, 0.1943, 0.1949, 0.1961, 0.1963, 0.2041",\
                 "0.2182, 0.2174, 0.2156, 0.2149, 0.2155, 0.2157, 0.2161, 0.2169, 0.2178, 0.2276",\
                 "0.245, 0.2439, 0.2421, 0.241, 0.2408, 0.242, 0.2423, 0.2427, 0.2439, 0.2583",\
                 "0.2748, 0.2736, 0.2716, 0.2702, 0.2696, 0.2703, 0.2715, 0.272, 0.2743, 0.2954",\
                 "0.3072, 0.306, 0.3038, 0.3021, 0.3015, 0.301, 0.3017, 0.3043, 0.3085, 0.3455");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1682, 0.1675, 0.1664, 0.1662, 0.1664, 0.1671, 0.1677, 0.1683, 0.1691, 0.1733",\
                 "0.1681, 0.1674, 0.1663, 0.1661, 0.1663, 0.167, 0.1676, 0.1682, 0.1689, 0.1736",\
                 "0.1685, 0.1677, 0.1668, 0.1665, 0.1667, 0.1674, 0.1681, 0.1686, 0.1694, 0.1737",\
                 "0.172, 0.1714, 0.1703, 0.1701, 0.1704, 0.171, 0.1716, 0.1722, 0.173, 0.1786",\
                 "0.1814, 0.1806, 0.1795, 0.179, 0.1791, 0.1799, 0.1804, 0.1812, 0.182, 0.1883",\
                 "0.1966, 0.1956, 0.1943, 0.1938, 0.1938, 0.1943, 0.1949, 0.1961, 0.1963, 0.2041",\
                 "0.2182, 0.2174, 0.2156, 0.2149, 0.2155, 0.2157, 0.2161, 0.2169, 0.2178, 0.2276",\
                 "0.245, 0.2439, 0.2421, 0.241, 0.2408, 0.242, 0.2423, 0.2427, 0.2439, 0.2583",\
                 "0.2748, 0.2736, 0.2716, 0.2702, 0.2696, 0.2703, 0.2715, 0.272, 0.2743, 0.2954",\
                 "0.3072, 0.306, 0.3038, 0.3021, 0.3015, 0.301, 0.3017, 0.3043, 0.3085, 0.3455");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2486, 0.2476, 0.2473, 0.2477, 0.2482, 0.2489, 0.2495, 0.2504, 0.2543",\
                 "0.2488, 0.2481, 0.2472, 0.2468, 0.2471, 0.2478, 0.2483, 0.2493, 0.2497, 0.2536",\
                 "0.2499, 0.2491, 0.2483, 0.2479, 0.2481, 0.2488, 0.2494, 0.2503, 0.2507, 0.2551",\
                 "0.2573, 0.2566, 0.2557, 0.2552, 0.2554, 0.2562, 0.257, 0.2574, 0.2588, 0.2635",\
                 "0.2761, 0.2753, 0.274, 0.2737, 0.274, 0.2746, 0.2751, 0.2756, 0.2767, 0.2824",\
                 "0.3062, 0.3053, 0.3041, 0.3037, 0.3034, 0.304, 0.3046, 0.3056, 0.3062, 0.3132",\
                 "0.3489, 0.3478, 0.3464, 0.3458, 0.3461, 0.3464, 0.3467, 0.3472, 0.3483, 0.3583",\
                 "0.4007, 0.3996, 0.3978, 0.3968, 0.3967, 0.3979, 0.3982, 0.3984, 0.4002, 0.4142",\
                 "0.4581, 0.4569, 0.4549, 0.4536, 0.4532, 0.454, 0.4555, 0.4558, 0.458, 0.4798",\
                 "0.5202, 0.5192, 0.5169, 0.516, 0.5151, 0.5149, 0.5162, 0.5184, 0.5224, 0.5608");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2486, 0.2476, 0.2473, 0.2477, 0.2482, 0.2489, 0.2495, 0.2504, 0.2543",\
                 "0.2488, 0.2481, 0.2472, 0.2468, 0.2471, 0.2478, 0.2483, 0.2493, 0.2497, 0.2536",\
                 "0.2499, 0.2491, 0.2483, 0.2479, 0.2481, 0.2488, 0.2494, 0.2503, 0.2507, 0.2551",\
                 "0.2573, 0.2566, 0.2557, 0.2552, 0.2554, 0.2562, 0.257, 0.2574, 0.2588, 0.2635",\
                 "0.2761, 0.2753, 0.274, 0.2737, 0.274, 0.2746, 0.2751, 0.2756, 0.2767, 0.2824",\
                 "0.3062, 0.3053, 0.3041, 0.3037, 0.3034, 0.304, 0.3046, 0.3056, 0.3062, 0.3132",\
                 "0.3489, 0.3478, 0.3464, 0.3458, 0.3461, 0.3464, 0.3467, 0.3472, 0.3483, 0.3583",\
                 "0.4007, 0.3996, 0.3978, 0.3968, 0.3967, 0.3979, 0.3982, 0.3984, 0.4002, 0.4142",\
                 "0.4581, 0.4569, 0.4549, 0.4536, 0.4532, 0.454, 0.4555, 0.4558, 0.458, 0.4798",\
                 "0.5202, 0.5192, 0.5169, 0.516, 0.5151, 0.5149, 0.5162, 0.5184, 0.5224, 0.5608");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2486, 0.2477, 0.2472, 0.2476, 0.2482, 0.2489, 0.2494, 0.2503, 0.2543",\
                 "0.2488, 0.2481, 0.2472, 0.2468, 0.2471, 0.2478, 0.2483, 0.2493, 0.2498, 0.2537",\
                 "0.2499, 0.2491, 0.2483, 0.2478, 0.2481, 0.2488, 0.2494, 0.2503, 0.2507, 0.2551",\
                 "0.2573, 0.2566, 0.2556, 0.2552, 0.2554, 0.2562, 0.257, 0.2573, 0.2588, 0.2635",\
                 "0.276, 0.2753, 0.274, 0.2736, 0.274, 0.2746, 0.2751, 0.2755, 0.2767, 0.2824",\
                 "0.3062, 0.3052, 0.3042, 0.3037, 0.3036, 0.304, 0.3046, 0.3056, 0.306, 0.3144",\
                 "0.3489, 0.3478, 0.3461, 0.3457, 0.3461, 0.3463, 0.3467, 0.3475, 0.3483, 0.3583",\
                 "0.4007, 0.3996, 0.3978, 0.3968, 0.3967, 0.3979, 0.3982, 0.3983, 0.4002, 0.4142",\
                 "0.4581, 0.4568, 0.4548, 0.4538, 0.4533, 0.4539, 0.4555, 0.4557, 0.4579, 0.4798",\
                 "0.5203, 0.5192, 0.517, 0.5157, 0.5152, 0.5147, 0.5159, 0.5186, 0.5227, 0.5611");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2486, 0.2477, 0.2472, 0.2476, 0.2482, 0.2489, 0.2494, 0.2503, 0.2543",\
                 "0.2488, 0.2481, 0.2472, 0.2468, 0.2471, 0.2478, 0.2483, 0.2493, 0.2498, 0.2537",\
                 "0.2499, 0.2491, 0.2483, 0.2478, 0.2481, 0.2488, 0.2494, 0.2503, 0.2507, 0.2551",\
                 "0.2573, 0.2566, 0.2556, 0.2552, 0.2554, 0.2562, 0.257, 0.2573, 0.2588, 0.2635",\
                 "0.276, 0.2753, 0.274, 0.2736, 0.274, 0.2746, 0.2751, 0.2755, 0.2767, 0.2824",\
                 "0.3062, 0.3052, 0.3042, 0.3037, 0.3036, 0.304, 0.3046, 0.3056, 0.306, 0.3144",\
                 "0.3489, 0.3478, 0.3461, 0.3457, 0.3461, 0.3463, 0.3467, 0.3475, 0.3483, 0.3583",\
                 "0.4007, 0.3996, 0.3978, 0.3968, 0.3967, 0.3979, 0.3982, 0.3983, 0.4002, 0.4142",\
                 "0.4581, 0.4568, 0.4548, 0.4538, 0.4533, 0.4539, 0.4555, 0.4557, 0.4579, 0.4798",\
                 "0.5203, 0.5192, 0.517, 0.5157, 0.5152, 0.5147, 0.5159, 0.5186, 0.5227, 0.5611");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2493, 0.2485, 0.2475, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2503, 0.2549",\
                 "0.2488, 0.2481, 0.2472, 0.2468, 0.2471, 0.2478, 0.2484, 0.2493, 0.2498, 0.2537",\
                 "0.2499, 0.2491, 0.2483, 0.2478, 0.2481, 0.2488, 0.2494, 0.2503, 0.2507, 0.255",\
                 "0.2573, 0.2566, 0.2557, 0.2552, 0.2554, 0.2562, 0.257, 0.2573, 0.2588, 0.2635",\
                 "0.276, 0.2752, 0.274, 0.2736, 0.274, 0.2746, 0.2751, 0.2755, 0.2767, 0.2824",\
                 "0.3062, 0.3053, 0.3042, 0.3037, 0.3036, 0.3043, 0.3048, 0.3057, 0.3065, 0.3135",\
                 "0.3488, 0.348, 0.3463, 0.3457, 0.3461, 0.3463, 0.3467, 0.3477, 0.3483, 0.3589",\
                 "0.4007, 0.3996, 0.3979, 0.3968, 0.3967, 0.398, 0.3982, 0.3984, 0.4002, 0.4149",\
                 "0.458, 0.4569, 0.455, 0.4537, 0.4534, 0.4537, 0.4557, 0.4558, 0.4583, 0.4796",\
                 "0.5203, 0.5192, 0.5172, 0.5159, 0.5152, 0.5149, 0.5162, 0.518, 0.5224, 0.5608");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2493, 0.2485, 0.2475, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2503, 0.2549",\
                 "0.2488, 0.2481, 0.2472, 0.2468, 0.2471, 0.2478, 0.2484, 0.2493, 0.2498, 0.2537",\
                 "0.2499, 0.2491, 0.2483, 0.2478, 0.2481, 0.2488, 0.2494, 0.2503, 0.2507, 0.255",\
                 "0.2573, 0.2566, 0.2557, 0.2552, 0.2554, 0.2562, 0.257, 0.2573, 0.2588, 0.2635",\
                 "0.276, 0.2752, 0.274, 0.2736, 0.274, 0.2746, 0.2751, 0.2755, 0.2767, 0.2824",\
                 "0.3062, 0.3053, 0.3042, 0.3037, 0.3036, 0.3043, 0.3048, 0.3057, 0.3065, 0.3135",\
                 "0.3488, 0.348, 0.3463, 0.3457, 0.3461, 0.3463, 0.3467, 0.3477, 0.3483, 0.3589",\
                 "0.4007, 0.3996, 0.3979, 0.3968, 0.3967, 0.398, 0.3982, 0.3984, 0.4002, 0.4149",\
                 "0.458, 0.4569, 0.455, 0.4537, 0.4534, 0.4537, 0.4557, 0.4558, 0.4583, 0.4796",\
                 "0.5203, 0.5192, 0.5172, 0.5159, 0.5152, 0.5149, 0.5162, 0.518, 0.5224, 0.5608");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2485, 0.2475, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2503, 0.2549",\
                 "0.2489, 0.2482, 0.2472, 0.2468, 0.2471, 0.2477, 0.2485, 0.2489, 0.2498, 0.2537",\
                 "0.2498, 0.2491, 0.2482, 0.2478, 0.248, 0.2487, 0.2493, 0.2499, 0.2509, 0.2554",\
                 "0.2573, 0.2566, 0.2556, 0.2554, 0.2555, 0.2562, 0.2568, 0.2574, 0.2584, 0.2626",\
                 "0.2762, 0.2753, 0.2741, 0.2737, 0.274, 0.2747, 0.2752, 0.2756, 0.2768, 0.2825",\
                 "0.3062, 0.3053, 0.3042, 0.3036, 0.3036, 0.3041, 0.3048, 0.3056, 0.306, 0.3132",\
                 "0.3489, 0.3478, 0.3465, 0.3458, 0.3461, 0.3463, 0.3467, 0.3477, 0.3483, 0.358",\
                 "0.4008, 0.3997, 0.398, 0.397, 0.3967, 0.3978, 0.3982, 0.3989, 0.3999, 0.414",\
                 "0.458, 0.4569, 0.455, 0.4537, 0.4534, 0.4536, 0.4553, 0.4556, 0.4583, 0.4801",\
                 "0.5203, 0.5192, 0.5172, 0.5156, 0.5154, 0.5152, 0.5162, 0.5182, 0.5227, 0.5611");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2485, 0.2475, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2503, 0.2549",\
                 "0.2489, 0.2482, 0.2472, 0.2468, 0.2471, 0.2477, 0.2485, 0.2489, 0.2498, 0.2537",\
                 "0.2498, 0.2491, 0.2482, 0.2478, 0.248, 0.2487, 0.2493, 0.2499, 0.2509, 0.2554",\
                 "0.2573, 0.2566, 0.2556, 0.2554, 0.2555, 0.2562, 0.2568, 0.2574, 0.2584, 0.2626",\
                 "0.2762, 0.2753, 0.2741, 0.2737, 0.274, 0.2747, 0.2752, 0.2756, 0.2768, 0.2825",\
                 "0.3062, 0.3053, 0.3042, 0.3036, 0.3036, 0.3041, 0.3048, 0.3056, 0.306, 0.3132",\
                 "0.3489, 0.3478, 0.3465, 0.3458, 0.3461, 0.3463, 0.3467, 0.3477, 0.3483, 0.358",\
                 "0.4008, 0.3997, 0.398, 0.397, 0.3967, 0.3978, 0.3982, 0.3989, 0.3999, 0.414",\
                 "0.458, 0.4569, 0.455, 0.4537, 0.4534, 0.4536, 0.4553, 0.4556, 0.4583, 0.4801",\
                 "0.5203, 0.5192, 0.5172, 0.5156, 0.5154, 0.5152, 0.5162, 0.5182, 0.5227, 0.5611");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2486, 0.2477, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2502, 0.2543",\
                 "0.2489, 0.2481, 0.2472, 0.2468, 0.2472, 0.2478, 0.2483, 0.2493, 0.2497, 0.2537",\
                 "0.2498, 0.2491, 0.2482, 0.2478, 0.248, 0.2487, 0.2494, 0.2499, 0.2509, 0.2554",\
                 "0.2573, 0.2566, 0.2556, 0.2553, 0.2555, 0.2562, 0.2568, 0.2574, 0.2584, 0.2626",\
                 "0.276, 0.2753, 0.2741, 0.2737, 0.274, 0.2747, 0.2752, 0.2756, 0.2768, 0.2825",\
                 "0.3062, 0.3054, 0.3042, 0.3036, 0.3037, 0.3042, 0.3047, 0.3052, 0.307, 0.3135",\
                 "0.3488, 0.3479, 0.3463, 0.3456, 0.346, 0.3464, 0.3466, 0.3475, 0.3483, 0.3583",\
                 "0.4007, 0.3996, 0.3979, 0.3969, 0.3966, 0.3978, 0.3981, 0.3984, 0.4002, 0.4151",\
                 "0.4581, 0.4569, 0.455, 0.4537, 0.453, 0.4537, 0.4552, 0.4559, 0.458, 0.4796",\
                 "0.5204, 0.5191, 0.5171, 0.5157, 0.5153, 0.515, 0.516, 0.5182, 0.5224, 0.5606");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2486, 0.2477, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2502, 0.2543",\
                 "0.2489, 0.2481, 0.2472, 0.2468, 0.2472, 0.2478, 0.2483, 0.2493, 0.2497, 0.2537",\
                 "0.2498, 0.2491, 0.2482, 0.2478, 0.248, 0.2487, 0.2494, 0.2499, 0.2509, 0.2554",\
                 "0.2573, 0.2566, 0.2556, 0.2553, 0.2555, 0.2562, 0.2568, 0.2574, 0.2584, 0.2626",\
                 "0.276, 0.2753, 0.2741, 0.2737, 0.274, 0.2747, 0.2752, 0.2756, 0.2768, 0.2825",\
                 "0.3062, 0.3054, 0.3042, 0.3036, 0.3037, 0.3042, 0.3047, 0.3052, 0.307, 0.3135",\
                 "0.3488, 0.3479, 0.3463, 0.3456, 0.346, 0.3464, 0.3466, 0.3475, 0.3483, 0.3583",\
                 "0.4007, 0.3996, 0.3979, 0.3969, 0.3966, 0.3978, 0.3981, 0.3984, 0.4002, 0.4151",\
                 "0.4581, 0.4569, 0.455, 0.4537, 0.453, 0.4537, 0.4552, 0.4559, 0.458, 0.4796",\
                 "0.5204, 0.5191, 0.5171, 0.5157, 0.5153, 0.515, 0.516, 0.5182, 0.5224, 0.5606");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2493, 0.2486, 0.2475, 0.2472, 0.2476, 0.2482, 0.2488, 0.2496, 0.2503, 0.2546",\
                 "0.2489, 0.2481, 0.2472, 0.2468, 0.247, 0.2477, 0.2485, 0.249, 0.2503, 0.2543",\
                 "0.2498, 0.2491, 0.2482, 0.2478, 0.248, 0.2487, 0.2494, 0.2499, 0.2509, 0.2554",\
                 "0.2573, 0.2566, 0.2556, 0.2554, 0.2555, 0.2562, 0.2568, 0.2574, 0.2584, 0.2626",\
                 "0.276, 0.2753, 0.2741, 0.2737, 0.274, 0.2747, 0.2752, 0.2756, 0.2768, 0.2825",\
                 "0.3062, 0.3054, 0.3042, 0.3037, 0.3036, 0.3041, 0.3048, 0.3058, 0.3065, 0.3141",\
                 "0.3488, 0.3478, 0.3461, 0.3457, 0.346, 0.3463, 0.3468, 0.3475, 0.3483, 0.3589",\
                 "0.4006, 0.3997, 0.3978, 0.3967, 0.3967, 0.398, 0.3982, 0.3984, 0.4002, 0.4149",\
                 "0.4581, 0.4569, 0.455, 0.4536, 0.4531, 0.4537, 0.4552, 0.4559, 0.458, 0.4796",\
                 "0.5203, 0.5192, 0.5171, 0.5158, 0.5152, 0.5148, 0.5163, 0.518, 0.5231, 0.5611");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2493, 0.2486, 0.2475, 0.2472, 0.2476, 0.2482, 0.2488, 0.2496, 0.2503, 0.2546",\
                 "0.2489, 0.2481, 0.2472, 0.2468, 0.247, 0.2477, 0.2485, 0.249, 0.2503, 0.2543",\
                 "0.2498, 0.2491, 0.2482, 0.2478, 0.248, 0.2487, 0.2494, 0.2499, 0.2509, 0.2554",\
                 "0.2573, 0.2566, 0.2556, 0.2554, 0.2555, 0.2562, 0.2568, 0.2574, 0.2584, 0.2626",\
                 "0.276, 0.2753, 0.2741, 0.2737, 0.274, 0.2747, 0.2752, 0.2756, 0.2768, 0.2825",\
                 "0.3062, 0.3054, 0.3042, 0.3037, 0.3036, 0.3041, 0.3048, 0.3058, 0.3065, 0.3141",\
                 "0.3488, 0.3478, 0.3461, 0.3457, 0.346, 0.3463, 0.3468, 0.3475, 0.3483, 0.3589",\
                 "0.4006, 0.3997, 0.3978, 0.3967, 0.3967, 0.398, 0.3982, 0.3984, 0.4002, 0.4149",\
                 "0.4581, 0.4569, 0.455, 0.4536, 0.4531, 0.4537, 0.4552, 0.4559, 0.458, 0.4796",\
                 "0.5203, 0.5192, 0.5171, 0.5158, 0.5152, 0.5148, 0.5163, 0.518, 0.5231, 0.5611");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2493, 0.2486, 0.2475, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2503, 0.2543",\
                 "0.2488, 0.2481, 0.2472, 0.2468, 0.2471, 0.2478, 0.2483, 0.2493, 0.2498, 0.2537",\
                 "0.2499, 0.2491, 0.2483, 0.2478, 0.2481, 0.2488, 0.2494, 0.2503, 0.2507, 0.255",\
                 "0.2573, 0.2566, 0.2556, 0.2552, 0.2554, 0.2561, 0.257, 0.2573, 0.2588, 0.2635",\
                 "0.276, 0.2753, 0.274, 0.2736, 0.274, 0.2746, 0.2751, 0.2755, 0.2767, 0.2824",\
                 "0.3062, 0.3053, 0.3042, 0.3037, 0.3035, 0.304, 0.3047, 0.3056, 0.306, 0.3132",\
                 "0.3489, 0.3479, 0.3462, 0.3457, 0.3461, 0.3463, 0.3467, 0.3475, 0.3483, 0.3583",\
                 "0.4007, 0.3997, 0.3978, 0.397, 0.3966, 0.398, 0.3982, 0.3984, 0.4002, 0.4142",\
                 "0.4581, 0.4569, 0.4551, 0.4536, 0.453, 0.4537, 0.4551, 0.4555, 0.458, 0.4796",\
                 "0.5203, 0.5192, 0.5171, 0.5156, 0.5153, 0.5148, 0.5161, 0.5182, 0.5224, 0.5605");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2493, 0.2486, 0.2475, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2503, 0.2543",\
                 "0.2488, 0.2481, 0.2472, 0.2468, 0.2471, 0.2478, 0.2483, 0.2493, 0.2498, 0.2537",\
                 "0.2499, 0.2491, 0.2483, 0.2478, 0.2481, 0.2488, 0.2494, 0.2503, 0.2507, 0.255",\
                 "0.2573, 0.2566, 0.2556, 0.2552, 0.2554, 0.2561, 0.257, 0.2573, 0.2588, 0.2635",\
                 "0.276, 0.2753, 0.274, 0.2736, 0.274, 0.2746, 0.2751, 0.2755, 0.2767, 0.2824",\
                 "0.3062, 0.3053, 0.3042, 0.3037, 0.3035, 0.304, 0.3047, 0.3056, 0.306, 0.3132",\
                 "0.3489, 0.3479, 0.3462, 0.3457, 0.3461, 0.3463, 0.3467, 0.3475, 0.3483, 0.3583",\
                 "0.4007, 0.3997, 0.3978, 0.397, 0.3966, 0.398, 0.3982, 0.3984, 0.4002, 0.4142",\
                 "0.4581, 0.4569, 0.4551, 0.4536, 0.453, 0.4537, 0.4551, 0.4555, 0.458, 0.4796",\
                 "0.5203, 0.5192, 0.5171, 0.5156, 0.5153, 0.5148, 0.5161, 0.5182, 0.5224, 0.5605");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2485, 0.2475, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2503, 0.2549",\
                 "0.2489, 0.2482, 0.2472, 0.2468, 0.2471, 0.2477, 0.2484, 0.2489, 0.2497, 0.2536",\
                 "0.2498, 0.2491, 0.2482, 0.2478, 0.248, 0.2487, 0.2493, 0.2499, 0.2509, 0.2554",\
                 "0.2573, 0.2566, 0.2556, 0.2554, 0.2555, 0.2562, 0.2568, 0.2574, 0.2584, 0.2626",\
                 "0.2761, 0.2752, 0.2741, 0.2737, 0.2739, 0.2747, 0.2752, 0.2756, 0.2768, 0.2825",\
                 "0.3062, 0.3053, 0.3041, 0.3036, 0.3036, 0.3041, 0.3047, 0.3056, 0.3059, 0.3135",\
                 "0.3489, 0.3479, 0.3463, 0.3457, 0.3462, 0.3463, 0.3467, 0.3477, 0.3488, 0.358",\
                 "0.4008, 0.3997, 0.3979, 0.3968, 0.3967, 0.398, 0.398, 0.3983, 0.4002, 0.4143",\
                 "0.4581, 0.457, 0.4551, 0.4536, 0.4532, 0.454, 0.4557, 0.4558, 0.458, 0.4804",\
                 "0.5202, 0.5192, 0.5171, 0.5156, 0.5152, 0.515, 0.516, 0.5182, 0.5227, 0.5602");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.2494, 0.2485, 0.2475, 0.2473, 0.2476, 0.2483, 0.2488, 0.2496, 0.2503, 0.2549",\
                 "0.2489, 0.2482, 0.2472, 0.2468, 0.2471, 0.2477, 0.2484, 0.2489, 0.2497, 0.2536",\
                 "0.2498, 0.2491, 0.2482, 0.2478, 0.248, 0.2487, 0.2493, 0.2499, 0.2509, 0.2554",\
                 "0.2573, 0.2566, 0.2556, 0.2554, 0.2555, 0.2562, 0.2568, 0.2574, 0.2584, 0.2626",\
                 "0.2761, 0.2752, 0.2741, 0.2737, 0.2739, 0.2747, 0.2752, 0.2756, 0.2768, 0.2825",\
                 "0.3062, 0.3053, 0.3041, 0.3036, 0.3036, 0.3041, 0.3047, 0.3056, 0.3059, 0.3135",\
                 "0.3489, 0.3479, 0.3463, 0.3457, 0.3462, 0.3463, 0.3467, 0.3477, 0.3488, 0.358",\
                 "0.4008, 0.3997, 0.3979, 0.3968, 0.3967, 0.398, 0.398, 0.3983, 0.4002, 0.4143",\
                 "0.4581, 0.457, 0.4551, 0.4536, 0.4532, 0.454, 0.4557, 0.4558, 0.458, 0.4804",\
                 "0.5202, 0.5192, 0.5171, 0.5156, 0.5152, 0.515, 0.516, 0.5182, 0.5227, 0.5602");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.9918, 1.025, 1.116, 1.254, 1.45, 1.719, 2.073, 2.518, 3.061, 3.709",\
                 "1.006, 1.039, 1.129, 1.267, 1.464, 1.733, 2.086, 2.531, 3.075, 3.724",\
                 "1.057, 1.09, 1.18, 1.318, 1.515, 1.784, 2.137, 2.582, 3.126, 3.775",\
                 "1.136, 1.17, 1.26, 1.398, 1.595, 1.864, 2.217, 2.663, 3.206, 3.854",\
                 "1.206, 1.239, 1.329, 1.467, 1.664, 1.933, 2.286, 2.731, 3.275, 3.923",\
                 "1.26, 1.293, 1.383, 1.521, 1.718, 1.987, 2.34, 2.786, 3.329, 3.977",\
                 "1.296, 1.33, 1.42, 1.558, 1.754, 2.024, 2.377, 2.822, 3.365, 4.014",\
                 "1.311, 1.344, 1.434, 1.573, 1.769, 2.038, 2.392, 2.837, 3.38, 4.028",\
                 "1.301, 1.334, 1.424, 1.562, 1.759, 2.028, 2.381, 2.827, 3.37, 4.018",\
                 "1.264, 1.297, 1.387, 1.525, 1.721, 1.991, 2.344, 2.789, 3.333, 3.98");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.9077, 0.9473, 1.069, 1.294, 1.643, 2.131, 2.774, 3.582, 4.571, 5.747",\
                 "0.9215, 0.9612, 1.083, 1.308, 1.656, 2.145, 2.787, 3.596, 4.586, 5.763",\
                 "0.9721, 1.012, 1.133, 1.358, 1.707, 2.195, 2.838, 3.647, 4.635, 5.815",\
                 "1.051, 1.09, 1.212, 1.437, 1.786, 2.274, 2.917, 3.726, 4.714, 5.891",\
                 "1.12, 1.159, 1.281, 1.506, 1.854, 2.343, 2.985, 3.794, 4.783, 5.96",\
                 "1.173, 1.212, 1.334, 1.559, 1.908, 2.396, 3.038, 3.848, 4.837, 6.015",\
                 "1.21, 1.249, 1.371, 1.596, 1.944, 2.433, 3.075, 3.884, 4.873, 6.05",\
                 "1.225, 1.265, 1.387, 1.612, 1.96, 2.448, 3.091, 3.9, 4.887, 6.066",\
                 "1.218, 1.257, 1.379, 1.604, 1.953, 2.441, 3.083, 3.892, 4.879, 6.056",\
                 "1.184, 1.224, 1.346, 1.57, 1.919, 2.407, 3.049, 3.858, 4.846, 6.022");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1131, 0.146, 0.2454, 0.4288, 0.732, 1.177, 1.769, 2.517, 3.432, 4.523",\
                 "0.113, 0.1456, 0.245, 0.4294, 0.7322, 1.177, 1.767, 2.514, 3.431, 4.519",\
                 "0.1132, 0.146, 0.245, 0.4296, 0.7328, 1.176, 1.767, 2.515, 3.431, 4.52",\
                 "0.1132, 0.146, 0.245, 0.4286, 0.7322, 1.177, 1.769, 2.517, 3.432, 4.523",\
                 "0.113, 0.1462, 0.2446, 0.4296, 0.7318, 1.177, 1.767, 2.516, 3.432, 4.52",\
                 "0.113, 0.1456, 0.245, 0.4294, 0.7328, 1.176, 1.769, 2.517, 3.432, 4.521",\
                 "0.1128, 0.1456, 0.2448, 0.4288, 0.7318, 1.176, 1.766, 2.513, 3.427, 4.519",\
                 "0.1132, 0.1462, 0.2448, 0.4286, 0.7324, 1.176, 1.768, 2.513, 3.423, 4.511",\
                 "0.1134, 0.1462, 0.2448, 0.4286, 0.7322, 1.175, 1.767, 2.513, 3.424, 4.51",\
                 "0.1126, 0.1458, 0.2448, 0.4286, 0.732, 1.177, 1.767, 2.517, 3.427, 4.511");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1295, 0.1825, 0.3726, 0.7612, 1.373, 2.234, 3.363, 4.79, 6.535, 8.604",\
                 "0.1299, 0.1824, 0.3724, 0.7614, 1.373, 2.234, 3.362, 4.79, 6.529, 8.605",\
                 "0.1302, 0.1824, 0.3728, 0.7612, 1.371, 2.231, 3.363, 4.79, 6.531, 8.606",\
                 "0.13, 0.1822, 0.373, 0.7614, 1.371, 2.233, 3.362, 4.79, 6.533, 8.612",\
                 "0.13, 0.182, 0.3726, 0.7612, 1.373, 2.233, 3.36, 4.79, 6.529, 8.605",\
                 "0.1294, 0.1826, 0.3728, 0.7608, 1.372, 2.233, 3.361, 4.79, 6.532, 8.613",\
                 "0.1292, 0.1826, 0.3726, 0.7614, 1.371, 2.229, 3.363, 4.788, 6.535, 8.611",\
                 "0.1302, 0.1824, 0.3732, 0.7608, 1.371, 2.23, 3.362, 4.79, 6.528, 8.602",\
                 "0.1298, 0.1828, 0.373, 0.7604, 1.373, 2.231, 3.363, 4.786, 6.527, 8.605",\
                 "0.13, 0.1828, 0.3728, 0.7614, 1.371, 2.23, 3.361, 4.789, 6.527, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.992, 1.025, 1.115, 1.254, 1.45, 1.719, 2.073, 2.518, 3.061, 3.709",\
                 "1.006, 1.039, 1.129, 1.267, 1.464, 1.733, 2.086, 2.531, 3.075, 3.724",\
                 "1.057, 1.09, 1.18, 1.318, 1.515, 1.784, 2.137, 2.582, 3.126, 3.775",\
                 "1.137, 1.17, 1.26, 1.399, 1.595, 1.864, 2.217, 2.663, 3.206, 3.854",\
                 "1.206, 1.239, 1.329, 1.467, 1.664, 1.933, 2.286, 2.731, 3.275, 3.923",\
                 "1.26, 1.293, 1.383, 1.521, 1.718, 1.987, 2.34, 2.785, 3.329, 3.977",\
                 "1.296, 1.329, 1.42, 1.558, 1.754, 2.024, 2.377, 2.822, 3.365, 4.014",\
                 "1.311, 1.344, 1.434, 1.573, 1.769, 2.038, 2.392, 2.837, 3.38, 4.028",\
                 "1.301, 1.334, 1.424, 1.563, 1.759, 2.028, 2.381, 2.827, 3.37, 4.018",\
                 "1.264, 1.297, 1.387, 1.525, 1.721, 1.991, 2.344, 2.789, 3.333, 3.981");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.908, 0.9474, 1.069, 1.294, 1.643, 2.131, 2.773, 3.582, 4.572, 5.749",\
                 "0.9218, 0.9615, 1.083, 1.308, 1.657, 2.145, 2.787, 3.597, 4.585, 5.762",\
                 "0.9721, 1.011, 1.133, 1.358, 1.707, 2.195, 2.838, 3.647, 4.635, 5.812",\
                 "1.051, 1.091, 1.213, 1.438, 1.786, 2.275, 2.917, 3.726, 4.715, 5.89",\
                 "1.12, 1.159, 1.281, 1.506, 1.854, 2.343, 2.985, 3.795, 4.783, 5.962",\
                 "1.173, 1.212, 1.334, 1.559, 1.907, 2.396, 3.038, 3.848, 4.836, 6.015",\
                 "1.21, 1.249, 1.371, 1.596, 1.944, 2.433, 3.075, 3.884, 4.873, 6.048",\
                 "1.225, 1.265, 1.387, 1.612, 1.96, 2.448, 3.091, 3.9, 4.887, 6.065",\
                 "1.218, 1.257, 1.379, 1.604, 1.953, 2.441, 3.083, 3.892, 4.879, 6.056",\
                 "1.184, 1.223, 1.345, 1.57, 1.919, 2.407, 3.05, 3.858, 4.846, 6.022");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.113, 0.1462, 0.2446, 0.429, 0.7316, 1.177, 1.768, 2.516, 3.432, 4.524",\
                 "0.1132, 0.1462, 0.2452, 0.4298, 0.7324, 1.177, 1.767, 2.514, 3.431, 4.519",\
                 "0.1132, 0.146, 0.245, 0.4296, 0.7328, 1.176, 1.767, 2.515, 3.431, 4.52",\
                 "0.113, 0.1458, 0.2448, 0.429, 0.7324, 1.177, 1.769, 2.517, 3.432, 4.522",\
                 "0.1132, 0.1462, 0.245, 0.4296, 0.7316, 1.177, 1.767, 2.516, 3.432, 4.52",\
                 "0.113, 0.1456, 0.245, 0.4294, 0.7316, 1.176, 1.769, 2.515, 3.431, 4.521",\
                 "0.1128, 0.1458, 0.2454, 0.4296, 0.733, 1.175, 1.766, 2.513, 3.427, 4.518",\
                 "0.1128, 0.1456, 0.2452, 0.4296, 0.7318, 1.176, 1.767, 2.513, 3.424, 4.511",\
                 "0.113, 0.1456, 0.2448, 0.4292, 0.733, 1.177, 1.767, 2.513, 3.424, 4.51",\
                 "0.1132, 0.1456, 0.2448, 0.4292, 0.7316, 1.177, 1.767, 2.517, 3.427, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1294, 0.1824, 0.3726, 0.7614, 1.373, 2.234, 3.362, 4.79, 6.531, 8.612",\
                 "0.1294, 0.1823, 0.3728, 0.7612, 1.371, 2.233, 3.362, 4.786, 6.533, 8.612",\
                 "0.1302, 0.1822, 0.3726, 0.7612, 1.371, 2.234, 3.362, 4.789, 6.533, 8.612",\
                 "0.13, 0.1824, 0.373, 0.7612, 1.371, 2.233, 3.362, 4.79, 6.535, 8.604",\
                 "0.1298, 0.182, 0.373, 0.761, 1.372, 2.232, 3.362, 4.788, 6.531, 8.609",\
                 "0.1292, 0.1826, 0.3732, 0.761, 1.371, 2.23, 3.361, 4.788, 6.531, 8.604",\
                 "0.1294, 0.1822, 0.3732, 0.7608, 1.371, 2.229, 3.365, 4.79, 6.536, 8.604",\
                 "0.1296, 0.1824, 0.3726, 0.761, 1.372, 2.23, 3.361, 4.786, 6.527, 8.61",\
                 "0.1306, 0.1828, 0.3728, 0.7614, 1.373, 2.23, 3.362, 4.786, 6.527, 8.596",\
                 "0.13, 0.183, 0.3732, 0.7616, 1.373, 2.232, 3.363, 4.787, 6.529, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.9919, 1.025, 1.115, 1.254, 1.45, 1.719, 2.073, 2.518, 3.061, 3.71",\
                 "1.006, 1.039, 1.129, 1.267, 1.464, 1.733, 2.086, 2.531, 3.075, 3.724",\
                 "1.057, 1.09, 1.18, 1.319, 1.515, 1.784, 2.137, 2.582, 3.126, 3.775",\
                 "1.137, 1.17, 1.26, 1.399, 1.595, 1.864, 2.218, 2.663, 3.207, 3.855",\
                 "1.206, 1.239, 1.33, 1.468, 1.664, 1.933, 2.287, 2.732, 3.275, 3.924",\
                 "1.26, 1.293, 1.383, 1.521, 1.718, 1.987, 2.341, 2.786, 3.329, 3.977",\
                 "1.296, 1.33, 1.42, 1.558, 1.754, 2.024, 2.377, 2.822, 3.366, 4.014",\
                 "1.311, 1.344, 1.435, 1.573, 1.769, 2.038, 2.392, 2.837, 3.38, 4.028",\
                 "1.301, 1.334, 1.424, 1.563, 1.759, 2.028, 2.382, 2.827, 3.37, 4.018",\
                 "1.264, 1.297, 1.387, 1.525, 1.722, 1.991, 2.344, 2.789, 3.333, 3.981");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.908, 0.9477, 1.069, 1.294, 1.643, 2.131, 2.774, 3.582, 4.572, 5.749",\
                 "0.9218, 0.9615, 1.083, 1.308, 1.657, 2.145, 2.787, 3.596, 4.586, 5.763",\
                 "0.9721, 1.012, 1.134, 1.358, 1.707, 2.195, 2.838, 3.647, 4.636, 5.811",\
                 "1.051, 1.09, 1.212, 1.437, 1.786, 2.274, 2.917, 3.725, 4.715, 5.891",\
                 "1.12, 1.159, 1.281, 1.506, 1.854, 2.343, 2.985, 3.795, 4.783, 5.962",\
                 "1.173, 1.212, 1.334, 1.559, 1.907, 2.396, 3.038, 3.848, 4.836, 6.015",\
                 "1.209, 1.249, 1.371, 1.596, 1.944, 2.433, 3.075, 3.884, 4.873, 6.05",\
                 "1.226, 1.265, 1.387, 1.612, 1.96, 2.448, 3.091, 3.9, 4.887, 6.065",\
                 "1.218, 1.257, 1.379, 1.604, 1.953, 2.441, 3.083, 3.892, 4.879, 6.055",\
                 "1.184, 1.223, 1.345, 1.57, 1.919, 2.407, 3.05, 3.858, 4.846, 6.022");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1131, 0.146, 0.2448, 0.4294, 0.7316, 1.177, 1.769, 2.516, 3.432, 4.52",\
                 "0.113, 0.146, 0.2448, 0.4296, 0.7326, 1.175, 1.767, 2.514, 3.431, 4.52",\
                 "0.113, 0.146, 0.245, 0.4294, 0.7324, 1.175, 1.767, 2.515, 3.431, 4.52",\
                 "0.1132, 0.1456, 0.245, 0.429, 0.7316, 1.175, 1.767, 2.515, 3.431, 4.52",\
                 "0.1128, 0.1462, 0.245, 0.4296, 0.7318, 1.177, 1.766, 2.516, 3.432, 4.52",\
                 "0.113, 0.146, 0.245, 0.429, 0.7316, 1.176, 1.769, 2.517, 3.432, 4.521",\
                 "0.1132, 0.1458, 0.2448, 0.4296, 0.7318, 1.175, 1.766, 2.513, 3.428, 4.519",\
                 "0.1132, 0.1456, 0.2446, 0.4296, 0.7326, 1.177, 1.767, 2.514, 3.424, 4.511",\
                 "0.1134, 0.146, 0.2452, 0.4292, 0.7324, 1.176, 1.766, 2.515, 3.425, 4.51",\
                 "0.113, 0.1458, 0.2446, 0.4288, 0.732, 1.177, 1.767, 2.517, 3.427, 4.51");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1298, 0.1825, 0.373, 0.7612, 1.373, 2.234, 3.362, 4.79, 6.531, 8.612",\
                 "0.1294, 0.1823, 0.3726, 0.7614, 1.373, 2.234, 3.362, 4.79, 6.531, 8.613",\
                 "0.1298, 0.1824, 0.373, 0.7614, 1.371, 2.233, 3.362, 4.79, 6.535, 8.604",\
                 "0.1296, 0.1824, 0.3726, 0.7614, 1.373, 2.234, 3.363, 4.791, 6.53, 8.605",\
                 "0.1298, 0.182, 0.373, 0.7606, 1.372, 2.232, 3.362, 4.788, 6.531, 8.608",\
                 "0.1294, 0.1826, 0.3732, 0.761, 1.371, 2.23, 3.361, 4.789, 6.531, 8.605",\
                 "0.1298, 0.1822, 0.3732, 0.7606, 1.372, 2.229, 3.364, 4.788, 6.532, 8.615",\
                 "0.1296, 0.1824, 0.3726, 0.761, 1.372, 2.23, 3.361, 4.786, 6.527, 8.61",\
                 "0.1306, 0.1828, 0.3728, 0.7614, 1.373, 2.23, 3.362, 4.785, 6.527, 8.599",\
                 "0.13, 0.183, 0.3732, 0.7614, 1.373, 2.232, 3.363, 4.787, 6.529, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.992, 1.025, 1.115, 1.254, 1.45, 1.719, 2.072, 2.518, 3.061, 3.709",\
                 "1.006, 1.039, 1.129, 1.267, 1.464, 1.733, 2.086, 2.531, 3.075, 3.724",\
                 "1.057, 1.09, 1.18, 1.318, 1.515, 1.784, 2.137, 2.582, 3.126, 3.775",\
                 "1.137, 1.17, 1.26, 1.399, 1.595, 1.864, 2.218, 2.663, 3.206, 3.855",\
                 "1.206, 1.239, 1.329, 1.468, 1.664, 1.933, 2.287, 2.732, 3.276, 3.924",\
                 "1.26, 1.293, 1.383, 1.521, 1.718, 1.987, 2.34, 2.786, 3.329, 3.977",\
                 "1.296, 1.33, 1.42, 1.558, 1.754, 2.024, 2.377, 2.822, 3.365, 4.014",\
                 "1.311, 1.344, 1.435, 1.573, 1.769, 2.038, 2.392, 2.837, 3.38, 4.028",\
                 "1.301, 1.334, 1.424, 1.562, 1.759, 2.028, 2.382, 2.827, 3.37, 4.018",\
                 "1.264, 1.297, 1.387, 1.525, 1.722, 1.991, 2.344, 2.789, 3.333, 3.981");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.9078, 0.9478, 1.069, 1.294, 1.643, 2.131, 2.773, 3.582, 4.572, 5.75",\
                 "0.9218, 0.9615, 1.083, 1.308, 1.657, 2.145, 2.787, 3.597, 4.585, 5.765",\
                 "0.9722, 1.012, 1.133, 1.358, 1.707, 2.195, 2.838, 3.647, 4.636, 5.814",\
                 "1.051, 1.091, 1.213, 1.438, 1.786, 2.275, 2.917, 3.726, 4.715, 5.892",\
                 "1.12, 1.159, 1.281, 1.505, 1.854, 2.342, 2.985, 3.794, 4.783, 5.961",\
                 "1.173, 1.212, 1.334, 1.559, 1.908, 2.396, 3.039, 3.848, 4.835, 6.015",\
                 "1.21, 1.249, 1.371, 1.596, 1.945, 2.433, 3.075, 3.885, 4.874, 6.05",\
                 "1.225, 1.265, 1.387, 1.612, 1.96, 2.449, 3.091, 3.9, 4.887, 6.066",\
                 "1.218, 1.257, 1.379, 1.604, 1.952, 2.441, 3.083, 3.892, 4.879, 6.056",\
                 "1.184, 1.224, 1.346, 1.57, 1.919, 2.407, 3.05, 3.858, 4.846, 6.022");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.113, 0.1456, 0.245, 0.4288, 0.7316, 1.177, 1.768, 2.517, 3.431, 4.523",\
                 "0.1132, 0.146, 0.245, 0.4292, 0.7322, 1.177, 1.767, 2.515, 3.432, 4.519",\
                 "0.113, 0.146, 0.245, 0.4294, 0.7322, 1.176, 1.767, 2.515, 3.431, 4.52",\
                 "0.113, 0.1464, 0.2448, 0.4288, 0.7322, 1.176, 1.767, 2.515, 3.431, 4.52",\
                 "0.113, 0.146, 0.2452, 0.4296, 0.7324, 1.177, 1.767, 2.514, 3.429, 4.521",\
                 "0.113, 0.1456, 0.2448, 0.4294, 0.7318, 1.175, 1.769, 2.517, 3.432, 4.521",\
                 "0.1128, 0.1458, 0.245, 0.4296, 0.7318, 1.175, 1.766, 2.513, 3.427, 4.521",\
                 "0.1132, 0.1462, 0.245, 0.4296, 0.7324, 1.177, 1.768, 2.515, 3.424, 4.514",\
                 "0.1132, 0.1456, 0.245, 0.4294, 0.733, 1.177, 1.766, 2.512, 3.427, 4.51",\
                 "0.113, 0.146, 0.2446, 0.429, 0.7322, 1.176, 1.767, 2.515, 3.428, 4.513");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1295, 0.1823, 0.3724, 0.7614, 1.373, 2.234, 3.362, 4.791, 6.531, 8.613",\
                 "0.1296, 0.1825, 0.3726, 0.7612, 1.373, 2.233, 3.361, 4.787, 6.532, 8.611",\
                 "0.13, 0.1824, 0.3726, 0.7614, 1.373, 2.234, 3.362, 4.79, 6.531, 8.613",\
                 "0.1296, 0.1824, 0.3728, 0.7614, 1.373, 2.234, 3.363, 4.791, 6.53, 8.605",\
                 "0.1298, 0.182, 0.3732, 0.761, 1.37, 2.23, 3.362, 4.79, 6.53, 8.612",\
                 "0.1298, 0.1826, 0.3732, 0.7608, 1.372, 2.23, 3.362, 4.79, 6.528, 8.61",\
                 "0.1294, 0.1828, 0.373, 0.7614, 1.371, 2.229, 3.361, 4.787, 6.532, 8.613",\
                 "0.1302, 0.1824, 0.3732, 0.7608, 1.371, 2.232, 3.36, 4.791, 6.529, 8.602",\
                 "0.1296, 0.1826, 0.373, 0.7612, 1.373, 2.231, 3.364, 4.785, 6.527, 8.603",\
                 "0.13, 0.1828, 0.3728, 0.7616, 1.373, 2.234, 3.362, 4.791, 6.525, 8.599");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.9919, 1.025, 1.115, 1.254, 1.45, 1.719, 2.073, 2.518, 3.061, 3.71",\
                 "1.006, 1.039, 1.129, 1.267, 1.464, 1.733, 2.086, 2.531, 3.075, 3.724",\
                 "1.057, 1.09, 1.18, 1.319, 1.515, 1.784, 2.137, 2.582, 3.126, 3.775",\
                 "1.137, 1.17, 1.26, 1.399, 1.595, 1.864, 2.218, 2.663, 3.207, 3.855",\
                 "1.206, 1.239, 1.33, 1.468, 1.664, 1.933, 2.287, 2.732, 3.275, 3.924",\
                 "1.26, 1.293, 1.383, 1.521, 1.718, 1.987, 2.341, 2.786, 3.329, 3.977",\
                 "1.296, 1.33, 1.42, 1.558, 1.754, 2.024, 2.377, 2.822, 3.366, 4.014",\
                 "1.311, 1.344, 1.435, 1.573, 1.769, 2.038, 2.392, 2.837, 3.38, 4.028",\
                 "1.301, 1.334, 1.424, 1.563, 1.759, 2.028, 2.382, 2.827, 3.37, 4.018",\
                 "1.264, 1.297, 1.387, 1.525, 1.722, 1.991, 2.344, 2.789, 3.333, 3.981");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.9078, 0.9478, 1.069, 1.294, 1.643, 2.131, 2.773, 3.582, 4.572, 5.75",\
                 "0.9218, 0.9615, 1.083, 1.308, 1.657, 2.145, 2.787, 3.597, 4.585, 5.765",\
                 "0.9722, 1.012, 1.133, 1.358, 1.707, 2.195, 2.838, 3.647, 4.636, 5.814",\
                 "1.051, 1.091, 1.213, 1.438, 1.786, 2.275, 2.917, 3.726, 4.715, 5.892",\
                 "1.12, 1.159, 1.281, 1.505, 1.854, 2.342, 2.985, 3.794, 4.783, 5.961",\
                 "1.173, 1.212, 1.334, 1.559, 1.908, 2.396, 3.039, 3.848, 4.835, 6.015",\
                 "1.21, 1.249, 1.371, 1.596, 1.945, 2.433, 3.075, 3.885, 4.874, 6.05",\
                 "1.225, 1.265, 1.387, 1.612, 1.96, 2.449, 3.091, 3.9, 4.887, 6.066",\
                 "1.218, 1.257, 1.379, 1.604, 1.952, 2.441, 3.083, 3.892, 4.879, 6.056",\
                 "1.184, 1.224, 1.346, 1.57, 1.919, 2.407, 3.05, 3.858, 4.846, 6.022");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.113, 0.1462, 0.2446, 0.429, 0.7316, 1.177, 1.768, 2.516, 3.432, 4.524",\
                 "0.1132, 0.1462, 0.2452, 0.4298, 0.7324, 1.177, 1.767, 2.514, 3.431, 4.519",\
                 "0.1132, 0.146, 0.245, 0.4296, 0.7328, 1.176, 1.767, 2.515, 3.431, 4.52",\
                 "0.113, 0.1458, 0.2448, 0.429, 0.7324, 1.177, 1.769, 2.517, 3.432, 4.522",\
                 "0.1132, 0.1462, 0.245, 0.4296, 0.7316, 1.177, 1.767, 2.516, 3.432, 4.52",\
                 "0.113, 0.1456, 0.245, 0.4294, 0.7316, 1.176, 1.769, 2.515, 3.431, 4.521",\
                 "0.1128, 0.1458, 0.2454, 0.4296, 0.733, 1.175, 1.766, 2.513, 3.427, 4.518",\
                 "0.1128, 0.1456, 0.2452, 0.4296, 0.7318, 1.176, 1.767, 2.513, 3.424, 4.511",\
                 "0.113, 0.1456, 0.2448, 0.4292, 0.733, 1.177, 1.767, 2.513, 3.424, 4.51",\
                 "0.1132, 0.1456, 0.2448, 0.4292, 0.7316, 1.177, 1.767, 2.517, 3.427, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1298, 0.1825, 0.373, 0.7612, 1.373, 2.234, 3.362, 4.79, 6.531, 8.612",\
                 "0.1294, 0.1823, 0.3726, 0.7614, 1.373, 2.234, 3.362, 4.79, 6.531, 8.613",\
                 "0.1298, 0.1824, 0.373, 0.7614, 1.371, 2.233, 3.362, 4.79, 6.535, 8.604",\
                 "0.1296, 0.1824, 0.3726, 0.7614, 1.373, 2.234, 3.363, 4.791, 6.53, 8.605",\
                 "0.1298, 0.182, 0.373, 0.7606, 1.372, 2.232, 3.362, 4.788, 6.531, 8.608",\
                 "0.1294, 0.1826, 0.3732, 0.761, 1.371, 2.23, 3.361, 4.789, 6.531, 8.605",\
                 "0.1298, 0.1822, 0.3732, 0.7606, 1.372, 2.229, 3.364, 4.788, 6.532, 8.615",\
                 "0.1296, 0.1824, 0.3726, 0.761, 1.372, 2.23, 3.361, 4.786, 6.527, 8.61",\
                 "0.1306, 0.1828, 0.3728, 0.7614, 1.373, 2.23, 3.362, 4.785, 6.527, 8.599",\
                 "0.13, 0.183, 0.3732, 0.7614, 1.373, 2.232, 3.363, 4.787, 6.529, 8.599");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7869, 0.8262, 0.9475, 1.171, 1.519, 2.007, 2.65, 3.46, 4.448, 5.625",\
                 "0.8049, 0.8443, 0.9657, 1.189, 1.537, 2.025, 2.667, 3.478, 4.464, 5.645",\
                 "0.8711, 0.9105, 1.032, 1.255, 1.603, 2.091, 2.734, 3.545, 4.532, 5.712",\
                 "1.003, 1.042, 1.163, 1.387, 1.734, 2.223, 2.865, 3.676, 4.662, 5.843",\
                 "1.188, 1.228, 1.349, 1.572, 1.919, 2.408, 3.05, 3.859, 4.85, 6.026",\
                 "1.404, 1.444, 1.566, 1.789, 2.136, 2.624, 3.266, 4.077, 5.063, 6.244",\
                 "1.652, 1.692, 1.813, 2.036, 2.382, 2.87, 3.512, 4.322, 5.309, 6.487",\
                 "1.926, 1.967, 2.089, 2.31, 2.657, 3.145, 3.786, 4.595, 5.584, 6.764",\
                 "2.227, 2.268, 2.39, 2.611, 2.958, 3.445, 4.087, 4.896, 5.882, 7.059",\
                 "2.552, 2.593, 2.716, 2.937, 3.283, 3.77, 4.412, 5.221, 6.208, 7.384");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1309, 0.1831, 0.3711, 0.7582, 1.372, 2.23, 3.363, 4.792, 6.54, 8.607",\
                 "0.1313, 0.1831, 0.3711, 0.7586, 1.37, 2.231, 3.363, 4.79, 6.53, 8.613",\
                 "0.1312, 0.183, 0.3712, 0.7584, 1.37, 2.23, 3.362, 4.79, 6.533, 8.615",\
                 "0.1314, 0.183, 0.3712, 0.7586, 1.372, 2.229, 3.361, 4.792, 6.531, 8.614",\
                 "0.1316, 0.1842, 0.3716, 0.7584, 1.37, 2.23, 3.362, 4.788, 6.532, 8.623",\
                 "0.1346, 0.186, 0.3726, 0.7586, 1.372, 2.231, 3.362, 4.792, 6.53, 8.611",\
                 "0.1364, 0.1888, 0.3736, 0.759, 1.371, 2.232, 3.362, 4.791, 6.53, 8.61",\
                 "0.1404, 0.1918, 0.3752, 0.759, 1.371, 2.229, 3.362, 4.786, 6.531, 8.609",\
                 "0.1436, 0.1948, 0.3772, 0.7602, 1.371, 2.231, 3.363, 4.784, 6.53, 8.604",\
                 "0.1468, 0.1982, 0.3786, 0.7596, 1.372, 2.23, 3.363, 4.795, 6.525, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7869, 0.8263, 0.9475, 1.171, 1.519, 2.007, 2.65, 3.46, 4.448, 5.625",\
                 "0.8049, 0.8443, 0.9657, 1.189, 1.537, 2.025, 2.667, 3.478, 4.464, 5.645",\
                 "0.8711, 0.9105, 1.032, 1.255, 1.603, 2.091, 2.734, 3.545, 4.532, 5.712",\
                 "1.003, 1.042, 1.163, 1.387, 1.734, 2.223, 2.865, 3.676, 4.662, 5.843",\
                 "1.188, 1.228, 1.349, 1.572, 1.92, 2.407, 3.05, 3.861, 4.849, 6.029",\
                 "1.405, 1.445, 1.566, 1.789, 2.136, 2.624, 3.267, 4.077, 5.062, 6.243",\
                 "1.651, 1.691, 1.813, 2.036, 2.383, 2.87, 3.513, 4.322, 5.31, 6.492",\
                 "1.926, 1.967, 2.089, 2.31, 2.657, 3.145, 3.786, 4.595, 5.584, 6.763",\
                 "2.227, 2.268, 2.39, 2.611, 2.958, 3.445, 4.087, 4.896, 5.882, 7.059",\
                 "2.552, 2.593, 2.716, 2.937, 3.283, 3.77, 4.412, 5.221, 6.208, 7.384");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1309, 0.1831, 0.371, 0.7582, 1.372, 2.23, 3.363, 4.792, 6.54, 8.608",\
                 "0.1313, 0.1831, 0.3711, 0.7586, 1.37, 2.231, 3.363, 4.79, 6.53, 8.613",\
                 "0.1312, 0.183, 0.3712, 0.7584, 1.37, 2.23, 3.362, 4.79, 6.533, 8.615",\
                 "0.1314, 0.183, 0.3712, 0.7586, 1.372, 2.229, 3.361, 4.792, 6.531, 8.614",\
                 "0.1316, 0.1842, 0.3716, 0.7586, 1.372, 2.231, 3.363, 4.79, 6.537, 8.613",\
                 "0.1348, 0.186, 0.3726, 0.7586, 1.372, 2.23, 3.362, 4.791, 6.529, 8.61",\
                 "0.1368, 0.189, 0.3734, 0.759, 1.371, 2.232, 3.362, 4.792, 6.536, 8.614",\
                 "0.1404, 0.1918, 0.375, 0.759, 1.372, 2.229, 3.361, 4.786, 6.53, 8.611",\
                 "0.1436, 0.1948, 0.3772, 0.7602, 1.371, 2.231, 3.363, 4.784, 6.53, 8.604",\
                 "0.1468, 0.1982, 0.3786, 0.7596, 1.371, 2.23, 3.363, 4.795, 6.525, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7873, 0.8267, 0.9474, 1.171, 1.519, 2.007, 2.65, 3.459, 4.449, 5.623",\
                 "0.8049, 0.8443, 0.9657, 1.189, 1.537, 2.025, 2.667, 3.478, 4.464, 5.645",\
                 "0.8711, 0.9105, 1.032, 1.255, 1.603, 2.091, 2.734, 3.545, 4.532, 5.712",\
                 "1.003, 1.042, 1.163, 1.387, 1.734, 2.223, 2.865, 3.676, 4.662, 5.843",\
                 "1.188, 1.228, 1.349, 1.572, 1.919, 2.407, 3.05, 3.86, 4.849, 6.029",\
                 "1.405, 1.444, 1.566, 1.788, 2.136, 2.624, 3.266, 4.077, 5.066, 6.245",\
                 "1.652, 1.692, 1.814, 2.036, 2.383, 2.87, 3.512, 4.322, 5.31, 6.487",\
                 "1.926, 1.967, 2.089, 2.311, 2.658, 3.145, 3.787, 4.596, 5.583, 6.763",\
                 "2.227, 2.267, 2.39, 2.612, 2.958, 3.445, 4.087, 4.895, 5.883, 7.059",\
                 "2.552, 2.593, 2.716, 2.937, 3.283, 3.77, 4.412, 5.221, 6.208, 7.384");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.131, 0.1831, 0.3711, 0.7586, 1.372, 2.23, 3.363, 4.792, 6.534, 8.614",\
                 "0.1313, 0.1831, 0.3711, 0.7586, 1.37, 2.231, 3.363, 4.79, 6.53, 8.613",\
                 "0.1312, 0.183, 0.3712, 0.7584, 1.37, 2.23, 3.362, 4.79, 6.533, 8.615",\
                 "0.1314, 0.183, 0.3712, 0.7586, 1.372, 2.229, 3.361, 4.792, 6.531, 8.614",\
                 "0.1316, 0.1842, 0.3718, 0.7582, 1.371, 2.23, 3.363, 4.791, 6.536, 8.614",\
                 "0.1338, 0.1864, 0.3724, 0.7586, 1.371, 2.23, 3.363, 4.79, 6.536, 8.613",\
                 "0.1364, 0.1888, 0.3738, 0.7604, 1.37, 2.233, 3.362, 4.79, 6.536, 8.61",\
                 "0.1408, 0.1918, 0.375, 0.7592, 1.372, 2.23, 3.363, 4.788, 6.532, 8.613",\
                 "0.1432, 0.1952, 0.377, 0.7596, 1.372, 2.231, 3.361, 4.786, 6.53, 8.608",\
                 "0.1466, 0.1982, 0.3786, 0.7596, 1.371, 2.23, 3.363, 4.795, 6.525, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7876, 0.827, 0.9483, 1.172, 1.519, 2.007, 2.65, 3.461, 4.448, 5.629",\
                 "0.8053, 0.8447, 0.966, 1.189, 1.537, 2.025, 2.668, 3.479, 4.466, 5.646",\
                 "0.8716, 0.9109, 1.032, 1.255, 1.603, 2.092, 2.734, 3.545, 4.531, 5.712",\
                 "1.003, 1.042, 1.164, 1.387, 1.735, 2.223, 2.866, 3.676, 4.664, 5.844",\
                 "1.189, 1.228, 1.349, 1.572, 1.92, 2.408, 3.051, 3.859, 4.85, 6.026",\
                 "1.405, 1.445, 1.567, 1.789, 2.136, 2.625, 3.267, 4.077, 5.066, 6.245",\
                 "1.652, 1.692, 1.814, 2.036, 2.383, 2.871, 3.513, 4.323, 5.309, 6.491",\
                 "1.927, 1.967, 2.089, 2.311, 2.658, 3.146, 3.787, 4.596, 5.585, 6.765",\
                 "2.227, 2.268, 2.391, 2.612, 2.958, 3.446, 4.087, 4.896, 5.883, 7.06",\
                 "2.553, 2.595, 2.717, 2.938, 3.284, 3.771, 4.413, 5.221, 6.208, 7.385");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.131, 0.1829, 0.3712, 0.7582, 1.37, 2.23, 3.363, 4.79, 6.533, 8.615",\
                 "0.131, 0.1829, 0.3711, 0.7582, 1.37, 2.23, 3.363, 4.79, 6.534, 8.615",\
                 "0.131, 0.183, 0.3712, 0.758, 1.371, 2.229, 3.361, 4.792, 6.531, 8.614",\
                 "0.1312, 0.1832, 0.371, 0.7582, 1.371, 2.23, 3.362, 4.792, 6.535, 8.614",\
                 "0.1316, 0.1842, 0.3716, 0.7582, 1.372, 2.23, 3.363, 4.789, 6.533, 8.622",\
                 "0.1346, 0.1856, 0.3724, 0.7588, 1.372, 2.23, 3.362, 4.792, 6.535, 8.61",\
                 "0.1368, 0.189, 0.3738, 0.7594, 1.371, 2.23, 3.362, 4.792, 6.529, 8.613",\
                 "0.1404, 0.192, 0.376, 0.759, 1.371, 2.229, 3.361, 4.788, 6.53, 8.607",\
                 "0.1438, 0.1946, 0.3766, 0.7592, 1.371, 2.231, 3.366, 4.786, 6.534, 8.609",\
                 "0.1464, 0.1976, 0.3788, 0.7598, 1.371, 2.229, 3.362, 4.788, 6.524, 8.616");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7877, 0.8271, 0.9484, 1.172, 1.519, 2.008, 2.65, 3.461, 4.447, 5.626",\
                 "0.8053, 0.8447, 0.966, 1.189, 1.537, 2.025, 2.668, 3.479, 4.466, 5.646",\
                 "0.8716, 0.9109, 1.032, 1.255, 1.603, 2.092, 2.734, 3.545, 4.531, 5.712",\
                 "1.003, 1.042, 1.164, 1.387, 1.735, 2.223, 2.866, 3.676, 4.663, 5.844",\
                 "1.189, 1.228, 1.349, 1.572, 1.92, 2.408, 3.051, 3.861, 4.847, 6.028",\
                 "1.405, 1.445, 1.567, 1.789, 2.137, 2.625, 3.267, 4.077, 5.064, 6.245",\
                 "1.652, 1.692, 1.814, 2.036, 2.383, 2.87, 3.513, 4.323, 5.313, 6.488",\
                 "1.927, 1.967, 2.089, 2.311, 2.658, 3.146, 3.787, 4.596, 5.585, 6.765",\
                 "2.227, 2.268, 2.39, 2.612, 2.958, 3.445, 4.088, 4.896, 5.882, 7.059",\
                 "2.552, 2.594, 2.717, 2.938, 3.284, 3.771, 4.413, 5.222, 6.21, 7.386");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.131, 0.183, 0.371, 0.7584, 1.372, 2.229, 3.363, 4.793, 6.534, 8.607",\
                 "0.131, 0.1829, 0.3711, 0.7582, 1.37, 2.23, 3.363, 4.789, 6.534, 8.615",\
                 "0.131, 0.183, 0.3712, 0.758, 1.371, 2.229, 3.361, 4.792, 6.531, 8.614",\
                 "0.1312, 0.183, 0.3714, 0.758, 1.37, 2.23, 3.362, 4.792, 6.533, 8.614",\
                 "0.1316, 0.1844, 0.3718, 0.7586, 1.371, 2.229, 3.361, 4.793, 6.53, 8.612",\
                 "0.1338, 0.1864, 0.3726, 0.7586, 1.372, 2.23, 3.363, 4.792, 6.533, 8.609",\
                 "0.1372, 0.1882, 0.3738, 0.7602, 1.37, 2.231, 3.363, 4.792, 6.532, 8.618",\
                 "0.1404, 0.1922, 0.376, 0.7592, 1.371, 2.229, 3.361, 4.788, 6.53, 8.607",\
                 "0.1432, 0.1946, 0.3768, 0.7596, 1.371, 2.232, 3.362, 4.784, 6.537, 8.608",\
                 "0.1468, 0.198, 0.3784, 0.7606, 1.37, 2.231, 3.362, 4.785, 6.525, 8.612");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7876, 0.827, 0.9483, 1.172, 1.519, 2.007, 2.65, 3.461, 4.447, 5.628",\
                 "0.8053, 0.8447, 0.966, 1.189, 1.537, 2.025, 2.668, 3.479, 4.466, 5.646",\
                 "0.8716, 0.9109, 1.032, 1.255, 1.603, 2.092, 2.734, 3.545, 4.531, 5.712",\
                 "1.003, 1.042, 1.164, 1.387, 1.735, 2.223, 2.866, 3.676, 4.665, 5.844",\
                 "1.189, 1.228, 1.349, 1.572, 1.92, 2.408, 3.051, 3.861, 4.847, 6.028",\
                 "1.405, 1.445, 1.567, 1.789, 2.137, 2.625, 3.267, 4.077, 5.064, 6.245",\
                 "1.652, 1.692, 1.814, 2.036, 2.383, 2.871, 3.513, 4.322, 5.313, 6.488",\
                 "1.927, 1.967, 2.089, 2.311, 2.658, 3.146, 3.787, 4.596, 5.585, 6.765",\
                 "2.227, 2.268, 2.39, 2.612, 2.958, 3.445, 4.087, 4.896, 5.882, 7.06",\
                 "2.552, 2.594, 2.717, 2.938, 3.284, 3.771, 4.413, 5.222, 6.21, 7.386");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.131, 0.1829, 0.371, 0.7582, 1.37, 2.23, 3.362, 4.791, 6.532, 8.614",\
                 "0.131, 0.1829, 0.3711, 0.7582, 1.37, 2.23, 3.363, 4.789, 6.534, 8.615",\
                 "0.131, 0.183, 0.3712, 0.758, 1.371, 2.229, 3.361, 4.792, 6.531, 8.614",\
                 "0.1312, 0.1832, 0.3714, 0.7586, 1.37, 2.23, 3.361, 4.792, 6.536, 8.614",\
                 "0.1316, 0.1844, 0.3718, 0.7586, 1.371, 2.229, 3.361, 4.793, 6.53, 8.612",\
                 "0.1338, 0.1858, 0.3726, 0.7586, 1.372, 2.23, 3.363, 4.792, 6.533, 8.609",\
                 "0.1368, 0.1886, 0.3738, 0.7598, 1.37, 2.231, 3.362, 4.79, 6.532, 8.618",\
                 "0.1404, 0.1922, 0.376, 0.7592, 1.371, 2.229, 3.361, 4.788, 6.53, 8.607",\
                 "0.1432, 0.1946, 0.3768, 0.7596, 1.371, 2.232, 3.366, 4.786, 6.526, 8.598",\
                 "0.1468, 0.1976, 0.3784, 0.7598, 1.37, 2.231, 3.362, 4.785, 6.525, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7873, 0.8267, 0.9474, 1.171, 1.519, 2.007, 2.65, 3.46, 4.448, 5.623",\
                 "0.8049, 0.8443, 0.9657, 1.189, 1.537, 2.025, 2.667, 3.478, 4.464, 5.645",\
                 "0.8711, 0.9105, 1.032, 1.255, 1.603, 2.091, 2.734, 3.545, 4.532, 5.712",\
                 "1.003, 1.042, 1.163, 1.387, 1.734, 2.223, 2.865, 3.676, 4.662, 5.843",\
                 "1.188, 1.228, 1.349, 1.572, 1.92, 2.408, 3.05, 3.861, 4.849, 6.026",\
                 "1.405, 1.444, 1.566, 1.789, 2.136, 2.624, 3.266, 4.075, 5.066, 6.245",\
                 "1.651, 1.691, 1.813, 2.036, 2.383, 2.871, 3.513, 4.322, 5.31, 6.488",\
                 "1.926, 1.967, 2.088, 2.311, 2.658, 3.145, 3.787, 4.596, 5.584, 6.764",\
                 "2.227, 2.267, 2.39, 2.611, 2.958, 3.445, 4.087, 4.896, 5.882, 7.059",\
                 "2.552, 2.594, 2.716, 2.937, 3.283, 3.77, 4.412, 5.221, 6.208, 7.384");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1311, 0.1831, 0.3711, 0.7584, 1.372, 2.23, 3.363, 4.792, 6.54, 8.614",\
                 "0.1313, 0.1831, 0.3711, 0.7586, 1.37, 2.231, 3.363, 4.79, 6.53, 8.613",\
                 "0.1312, 0.183, 0.3712, 0.7584, 1.37, 2.23, 3.362, 4.79, 6.533, 8.615",\
                 "0.1314, 0.183, 0.3712, 0.7586, 1.372, 2.229, 3.361, 4.792, 6.531, 8.614",\
                 "0.1316, 0.1844, 0.3716, 0.7584, 1.37, 2.23, 3.363, 4.79, 6.537, 8.622",\
                 "0.1338, 0.1864, 0.3724, 0.7586, 1.37, 2.231, 3.363, 4.789, 6.535, 8.612",\
                 "0.1368, 0.189, 0.3734, 0.76, 1.37, 2.232, 3.361, 4.791, 6.535, 8.608",\
                 "0.1404, 0.1918, 0.3752, 0.7592, 1.372, 2.229, 3.361, 4.787, 6.531, 8.612",\
                 "0.1432, 0.1952, 0.3764, 0.7608, 1.372, 2.23, 3.362, 4.786, 6.525, 8.608",\
                 "0.1468, 0.1986, 0.3784, 0.7598, 1.37, 2.233, 3.363, 4.795, 6.525, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.7876, 0.827, 0.9483, 1.172, 1.519, 2.007, 2.65, 3.461, 4.448, 5.629",\
                 "0.8053, 0.8447, 0.966, 1.189, 1.537, 2.025, 2.668, 3.479, 4.466, 5.646",\
                 "0.8716, 0.9109, 1.032, 1.255, 1.603, 2.092, 2.734, 3.545, 4.531, 5.712",\
                 "1.003, 1.042, 1.164, 1.387, 1.735, 2.223, 2.865, 3.676, 4.664, 5.844",\
                 "1.189, 1.228, 1.349, 1.572, 1.92, 2.408, 3.051, 3.859, 4.85, 6.026",\
                 "1.405, 1.445, 1.566, 1.789, 2.136, 2.624, 3.267, 4.077, 5.063, 6.242",\
                 "1.652, 1.692, 1.814, 2.036, 2.383, 2.871, 3.513, 4.322, 5.311, 6.487",\
                 "1.927, 1.967, 2.09, 2.311, 2.658, 3.146, 3.788, 4.596, 5.585, 6.761",\
                 "2.227, 2.268, 2.39, 2.611, 2.958, 3.445, 4.087, 4.896, 5.883, 7.06",\
                 "2.553, 2.594, 2.717, 2.938, 3.284, 3.77, 4.412, 5.221, 6.208, 7.385");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.131, 0.1829, 0.3712, 0.7582, 1.37, 2.23, 3.363, 4.79, 6.533, 8.615",\
                 "0.131, 0.1829, 0.3711, 0.7582, 1.37, 2.23, 3.363, 4.79, 6.534, 8.615",\
                 "0.131, 0.183, 0.3712, 0.758, 1.371, 2.229, 3.361, 4.792, 6.531, 8.614",\
                 "0.1308, 0.1834, 0.371, 0.7582, 1.37, 2.231, 3.363, 4.789, 6.536, 8.615",\
                 "0.1316, 0.1842, 0.3716, 0.7582, 1.37, 2.229, 3.363, 4.789, 6.533, 8.622",\
                 "0.134, 0.1858, 0.3726, 0.7588, 1.372, 2.23, 3.362, 4.792, 6.531, 8.607",\
                 "0.1364, 0.1882, 0.3734, 0.76, 1.371, 2.232, 3.361, 4.79, 6.537, 8.614",\
                 "0.1404, 0.1922, 0.376, 0.7592, 1.371, 2.229, 3.363, 4.788, 6.53, 8.605",\
                 "0.1434, 0.195, 0.3766, 0.761, 1.372, 2.23, 3.364, 4.786, 6.53, 8.603",\
                 "0.1464, 0.1978, 0.378, 0.7606, 1.371, 2.229, 3.365, 4.79, 6.524, 8.6");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8357, 0.8749, 0.9959, 1.219, 1.567, 2.055, 2.697, 3.508, 4.496, 5.673",\
                 "0.8531, 0.8923, 1.014, 1.236, 1.584, 2.072, 2.715, 3.525, 4.513, 5.689",\
                 "0.919, 0.9581, 1.079, 1.302, 1.65, 2.138, 2.781, 3.591, 4.579, 5.755",\
                 "1.051, 1.09, 1.212, 1.434, 1.782, 2.27, 2.913, 3.724, 4.712, 5.887",\
                 "1.243, 1.282, 1.403, 1.626, 1.974, 2.462, 3.104, 3.914, 4.903, 6.081",\
                 "1.468, 1.508, 1.629, 1.851, 2.198, 2.686, 3.329, 4.137, 5.125, 6.304",\
                 "1.722, 1.762, 1.883, 2.105, 2.452, 2.94, 3.582, 4.391, 5.378, 6.558",\
                 "2.003, 2.043, 2.164, 2.386, 2.732, 3.22, 3.862, 4.671, 5.659, 6.839",\
                 "2.309, 2.348, 2.469, 2.691, 3.037, 3.525, 4.167, 4.975, 5.962, 7.14",\
                 "2.638, 2.678, 2.799, 3.021, 3.366, 3.854, 4.496, 5.304, 6.292, 7.468");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1304, 0.1821, 0.3703, 0.7582, 1.37, 2.23, 3.363, 4.79, 6.53, 8.613",\
                 "0.1304, 0.1823, 0.3703, 0.758, 1.372, 2.23, 3.362, 4.793, 6.534, 8.609",\
                 "0.1304, 0.1822, 0.3702, 0.758, 1.372, 2.23, 3.362, 4.793, 6.534, 8.609",\
                 "0.1304, 0.1824, 0.3704, 0.7584, 1.37, 2.23, 3.363, 4.79, 6.535, 8.604",\
                 "0.1306, 0.183, 0.371, 0.7578, 1.37, 2.231, 3.362, 4.792, 6.533, 8.608",\
                 "0.1324, 0.1848, 0.3718, 0.758, 1.371, 2.23, 3.362, 4.79, 6.529, 8.609",\
                 "0.134, 0.186, 0.3724, 0.7584, 1.37, 2.23, 3.362, 4.787, 6.529, 8.609",\
                 "0.1368, 0.1878, 0.373, 0.7596, 1.372, 2.229, 3.363, 4.79, 6.534, 8.61",\
                 "0.138, 0.1902, 0.3742, 0.7594, 1.37, 2.231, 3.36, 4.786, 6.528, 8.606",\
                 "0.14, 0.1914, 0.3744, 0.7586, 1.373, 2.233, 3.367, 4.788, 6.526, 8.61");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8357, 0.8749, 0.9959, 1.219, 1.567, 2.055, 2.698, 3.506, 4.495, 5.674",\
                 "0.8531, 0.8923, 1.014, 1.236, 1.584, 2.072, 2.715, 3.525, 4.513, 5.689",\
                 "0.919, 0.9581, 1.079, 1.302, 1.65, 2.138, 2.781, 3.591, 4.579, 5.755",\
                 "1.051, 1.09, 1.212, 1.434, 1.782, 2.27, 2.913, 3.724, 4.712, 5.887",\
                 "1.243, 1.282, 1.403, 1.626, 1.974, 2.462, 3.104, 3.914, 4.903, 6.081",\
                 "1.468, 1.507, 1.629, 1.851, 2.198, 2.686, 3.329, 4.137, 5.125, 6.304",\
                 "1.722, 1.762, 1.883, 2.105, 2.452, 2.94, 3.582, 4.391, 5.378, 6.559",\
                 "2.003, 2.043, 2.164, 2.386, 2.732, 3.22, 3.862, 4.671, 5.659, 6.839",\
                 "2.309, 2.348, 2.469, 2.691, 3.037, 3.525, 4.167, 4.975, 5.962, 7.139",\
                 "2.637, 2.678, 2.799, 3.02, 3.366, 3.854, 4.496, 5.304, 6.292, 7.468");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1304, 0.1821, 0.3706, 0.7582, 1.372, 2.23, 3.362, 4.788, 6.533, 8.606",\
                 "0.1304, 0.1823, 0.3703, 0.758, 1.372, 2.23, 3.362, 4.793, 6.534, 8.609",\
                 "0.1304, 0.1822, 0.3702, 0.758, 1.372, 2.23, 3.362, 4.793, 6.534, 8.609",\
                 "0.1304, 0.1824, 0.3704, 0.7584, 1.37, 2.23, 3.363, 4.79, 6.535, 8.604",\
                 "0.1312, 0.183, 0.371, 0.7578, 1.37, 2.231, 3.362, 4.792, 6.533, 8.608",\
                 "0.1324, 0.1848, 0.3716, 0.7586, 1.372, 2.229, 3.361, 4.79, 6.529, 8.609",\
                 "0.134, 0.186, 0.3724, 0.7588, 1.371, 2.232, 3.362, 4.79, 6.529, 8.605",\
                 "0.1368, 0.1878, 0.373, 0.7586, 1.372, 2.229, 3.363, 4.79, 6.534, 8.61",\
                 "0.138, 0.19, 0.3742, 0.7588, 1.372, 2.231, 3.36, 4.786, 6.528, 8.604",\
                 "0.1394, 0.191, 0.3746, 0.759, 1.372, 2.23, 3.365, 4.791, 6.526, 8.61");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8354, 0.8746, 0.9954, 1.219, 1.566, 2.055, 2.697, 3.507, 4.496, 5.674",\
                 "0.8531, 0.8923, 1.014, 1.236, 1.584, 2.072, 2.715, 3.525, 4.513, 5.689",\
                 "0.919, 0.9581, 1.079, 1.302, 1.65, 2.138, 2.781, 3.591, 4.579, 5.755",\
                 "1.051, 1.09, 1.212, 1.434, 1.782, 2.27, 2.913, 3.724, 4.712, 5.887",\
                 "1.243, 1.283, 1.403, 1.626, 1.974, 2.462, 3.104, 3.914, 4.903, 6.081",\
                 "1.468, 1.507, 1.629, 1.851, 2.198, 2.687, 3.329, 4.137, 5.128, 6.305",\
                 "1.722, 1.762, 1.883, 2.105, 2.452, 2.94, 3.582, 4.391, 5.378, 6.558",\
                 "2.003, 2.043, 2.164, 2.386, 2.733, 3.22, 3.862, 4.671, 5.659, 6.837",\
                 "2.308, 2.349, 2.47, 2.691, 3.038, 3.525, 4.167, 4.975, 5.963, 7.14",\
                 "2.638, 2.678, 2.799, 3.02, 3.366, 3.854, 4.495, 5.305, 6.292, 7.468");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1302, 0.1823, 0.3705, 0.758, 1.372, 2.231, 3.363, 4.79, 6.532, 8.612",\
                 "0.1304, 0.1823, 0.3703, 0.758, 1.372, 2.23, 3.362, 4.793, 6.534, 8.609",\
                 "0.1304, 0.1822, 0.3702, 0.758, 1.372, 2.23, 3.362, 4.793, 6.534, 8.609",\
                 "0.1304, 0.1824, 0.3704, 0.7584, 1.37, 2.23, 3.363, 4.79, 6.535, 8.604",\
                 "0.1314, 0.1832, 0.371, 0.7578, 1.37, 2.231, 3.362, 4.792, 6.533, 8.608",\
                 "0.1324, 0.185, 0.372, 0.7584, 1.372, 2.231, 3.362, 4.79, 6.534, 8.607",\
                 "0.1346, 0.1862, 0.3724, 0.7588, 1.37, 2.229, 3.361, 4.791, 6.531, 8.609",\
                 "0.1364, 0.1878, 0.373, 0.7582, 1.372, 2.23, 3.362, 4.787, 6.534, 8.606",\
                 "0.1384, 0.1896, 0.374, 0.7582, 1.371, 2.229, 3.361, 4.786, 6.528, 8.606",\
                 "0.1396, 0.1914, 0.3748, 0.759, 1.371, 2.23, 3.362, 4.792, 6.526, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8354, 0.8745, 0.9954, 1.219, 1.566, 2.055, 2.697, 3.507, 4.496, 5.674",\
                 "0.8531, 0.8926, 1.013, 1.236, 1.584, 2.073, 2.715, 3.524, 4.512, 5.691",\
                 "0.9189, 0.9581, 1.079, 1.302, 1.65, 2.138, 2.781, 3.591, 4.579, 5.754",\
                 "1.051, 1.091, 1.212, 1.434, 1.782, 2.27, 2.913, 3.723, 4.712, 5.888",\
                 "1.243, 1.282, 1.403, 1.626, 1.974, 2.462, 3.105, 3.914, 4.903, 6.081",\
                 "1.468, 1.508, 1.629, 1.851, 2.198, 2.686, 3.329, 4.138, 5.125, 6.304",\
                 "1.722, 1.762, 1.883, 2.105, 2.452, 2.94, 3.582, 4.391, 5.38, 6.557",\
                 "2.004, 2.044, 2.165, 2.386, 2.733, 3.22, 3.862, 4.671, 5.66, 6.838",\
                 "2.309, 2.348, 2.47, 2.691, 3.038, 3.525, 4.167, 4.976, 5.962, 7.14",\
                 "2.638, 2.678, 2.799, 3.02, 3.367, 3.854, 4.496, 5.305, 6.292, 7.469");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1298, 0.1823, 0.3705, 0.758, 1.372, 2.231, 3.363, 4.79, 6.533, 8.612",\
                 "0.1305, 0.1823, 0.3704, 0.7584, 1.372, 2.23, 3.363, 4.788, 6.537, 8.606",\
                 "0.1304, 0.1822, 0.3702, 0.7578, 1.371, 2.229, 3.361, 4.792, 6.536, 8.603",\
                 "0.1302, 0.1822, 0.3706, 0.7582, 1.37, 2.231, 3.363, 4.79, 6.531, 8.613",\
                 "0.1306, 0.1832, 0.3708, 0.7578, 1.372, 2.229, 3.362, 4.79, 6.533, 8.607",\
                 "0.1326, 0.1844, 0.372, 0.7586, 1.372, 2.23, 3.363, 4.791, 6.528, 8.609",\
                 "0.1342, 0.1864, 0.3724, 0.758, 1.37, 2.233, 3.362, 4.791, 6.533, 8.615",\
                 "0.1364, 0.188, 0.3732, 0.7586, 1.372, 2.229, 3.363, 4.787, 6.532, 8.613",\
                 "0.138, 0.1898, 0.3742, 0.7588, 1.372, 2.229, 3.36, 4.786, 6.528, 8.606",\
                 "0.1396, 0.1912, 0.3748, 0.7588, 1.371, 2.232, 3.363, 4.79, 6.527, 8.61");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8354, 0.8746, 0.9959, 1.219, 1.566, 2.055, 2.697, 3.507, 4.495, 5.674",\
                 "0.8531, 0.8923, 1.014, 1.236, 1.584, 2.072, 2.715, 3.525, 4.512, 5.689",\
                 "0.9189, 0.9581, 1.079, 1.302, 1.65, 2.138, 2.781, 3.591, 4.579, 5.754",\
                 "1.051, 1.091, 1.212, 1.434, 1.782, 2.27, 2.913, 3.723, 4.712, 5.888",\
                 "1.243, 1.282, 1.403, 1.626, 1.974, 2.462, 3.105, 3.914, 4.903, 6.081",\
                 "1.468, 1.508, 1.629, 1.851, 2.198, 2.686, 3.329, 4.139, 5.127, 6.301",\
                 "1.722, 1.762, 1.883, 2.105, 2.452, 2.94, 3.582, 4.391, 5.379, 6.559",\
                 "2.004, 2.043, 2.164, 2.386, 2.733, 3.22, 3.862, 4.671, 5.658, 6.838",\
                 "2.308, 2.348, 2.47, 2.69, 3.037, 3.525, 4.167, 4.975, 5.962, 7.14",\
                 "2.638, 2.678, 2.799, 3.02, 3.366, 3.854, 4.495, 5.306, 6.292, 7.468");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1298, 0.1825, 0.3702, 0.758, 1.373, 2.229, 3.361, 4.792, 6.538, 8.606",\
                 "0.1304, 0.1823, 0.3702, 0.7582, 1.372, 2.23, 3.362, 4.793, 6.533, 8.611",\
                 "0.1304, 0.1822, 0.3702, 0.7578, 1.371, 2.229, 3.361, 4.792, 6.536, 8.603",\
                 "0.1302, 0.1822, 0.3706, 0.7582, 1.37, 2.231, 3.363, 4.79, 6.531, 8.613",\
                 "0.1312, 0.1832, 0.3708, 0.7578, 1.372, 2.229, 3.362, 4.79, 6.533, 8.607",\
                 "0.1324, 0.1848, 0.3716, 0.7586, 1.372, 2.23, 3.361, 4.791, 6.535, 8.603",\
                 "0.1346, 0.1862, 0.3724, 0.7584, 1.371, 2.23, 3.363, 4.789, 6.53, 8.609",\
                 "0.1366, 0.1882, 0.3734, 0.7584, 1.372, 2.229, 3.362, 4.789, 6.532, 8.61",\
                 "0.1384, 0.1902, 0.374, 0.7586, 1.37, 2.229, 3.36, 4.786, 6.527, 8.6",\
                 "0.1402, 0.191, 0.3746, 0.7584, 1.37, 2.233, 3.366, 4.79, 6.525, 8.614");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8354, 0.8746, 0.9954, 1.218, 1.566, 2.055, 2.697, 3.507, 4.496, 5.671",\
                 "0.8531, 0.8923, 1.014, 1.236, 1.584, 2.072, 2.715, 3.526, 4.514, 5.689",\
                 "0.9189, 0.9581, 1.079, 1.302, 1.65, 2.138, 2.781, 3.591, 4.579, 5.754",\
                 "1.051, 1.091, 1.212, 1.434, 1.782, 2.27, 2.913, 3.723, 4.712, 5.888",\
                 "1.243, 1.282, 1.403, 1.626, 1.974, 2.462, 3.105, 3.914, 4.903, 6.081",\
                 "1.468, 1.508, 1.629, 1.851, 2.198, 2.687, 3.329, 4.139, 5.127, 6.304",\
                 "1.722, 1.762, 1.882, 2.105, 2.452, 2.94, 3.582, 4.391, 5.38, 6.557",\
                 "2.003, 2.044, 2.164, 2.386, 2.733, 3.22, 3.862, 4.671, 5.66, 6.839",\
                 "2.309, 2.348, 2.47, 2.69, 3.037, 3.525, 4.167, 4.975, 5.962, 7.14",\
                 "2.638, 2.678, 2.799, 3.02, 3.367, 3.854, 4.496, 5.306, 6.292, 7.468");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1302, 0.1823, 0.3704, 0.7584, 1.373, 2.23, 3.363, 4.79, 6.535, 8.605",\
                 "0.1304, 0.1823, 0.3702, 0.7582, 1.37, 2.229, 3.362, 4.79, 6.535, 8.604",\
                 "0.1304, 0.1822, 0.3702, 0.7578, 1.371, 2.229, 3.361, 4.792, 6.536, 8.603",\
                 "0.1302, 0.1822, 0.3706, 0.7582, 1.37, 2.231, 3.363, 4.79, 6.531, 8.613",\
                 "0.1312, 0.183, 0.3708, 0.7578, 1.372, 2.229, 3.362, 4.79, 6.533, 8.607",\
                 "0.1324, 0.1848, 0.3718, 0.7586, 1.372, 2.229, 3.363, 4.792, 6.533, 8.605",\
                 "0.1346, 0.186, 0.3724, 0.7582, 1.371, 2.23, 3.361, 4.788, 6.535, 8.617",\
                 "0.1364, 0.1882, 0.3732, 0.7582, 1.371, 2.229, 3.362, 4.787, 6.532, 8.612",\
                 "0.1384, 0.1902, 0.374, 0.7586, 1.371, 2.229, 3.36, 4.786, 6.527, 8.6",\
                 "0.1396, 0.1918, 0.3746, 0.7582, 1.371, 2.23, 3.362, 4.793, 6.525, 8.61");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8354, 0.8745, 0.9954, 1.219, 1.566, 2.055, 2.697, 3.507, 4.496, 5.674",\
                 "0.8531, 0.8923, 1.014, 1.236, 1.584, 2.072, 2.715, 3.525, 4.513, 5.689",\
                 "0.919, 0.9581, 1.079, 1.302, 1.65, 2.138, 2.781, 3.591, 4.579, 5.755",\
                 "1.051, 1.09, 1.212, 1.434, 1.782, 2.27, 2.913, 3.724, 4.712, 5.887",\
                 "1.243, 1.282, 1.403, 1.626, 1.974, 2.462, 3.104, 3.914, 4.903, 6.081",\
                 "1.468, 1.508, 1.629, 1.851, 2.198, 2.686, 3.329, 4.137, 5.125, 6.304",\
                 "1.722, 1.762, 1.883, 2.105, 2.452, 2.94, 3.582, 4.391, 5.379, 6.559",\
                 "2.003, 2.043, 2.164, 2.386, 2.732, 3.22, 3.862, 4.671, 5.659, 6.839",\
                 "2.308, 2.348, 2.47, 2.69, 3.037, 3.525, 4.167, 4.976, 5.962, 7.14",\
                 "2.637, 2.678, 2.799, 3.02, 3.367, 3.854, 4.495, 5.304, 6.292, 7.469");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1302, 0.1823, 0.3705, 0.758, 1.372, 2.231, 3.363, 4.79, 6.532, 8.612",\
                 "0.1304, 0.1823, 0.3703, 0.758, 1.372, 2.23, 3.362, 4.793, 6.534, 8.609",\
                 "0.1304, 0.1822, 0.3702, 0.758, 1.372, 2.23, 3.362, 4.793, 6.534, 8.609",\
                 "0.1304, 0.1824, 0.3704, 0.7584, 1.37, 2.23, 3.363, 4.79, 6.535, 8.604",\
                 "0.1306, 0.1832, 0.371, 0.7578, 1.37, 2.231, 3.362, 4.792, 6.533, 8.608",\
                 "0.1324, 0.1848, 0.3718, 0.7584, 1.372, 2.23, 3.362, 4.79, 6.53, 8.609",\
                 "0.1342, 0.1866, 0.3724, 0.7582, 1.371, 2.232, 3.361, 4.789, 6.531, 8.609",\
                 "0.1364, 0.1878, 0.373, 0.7586, 1.372, 2.229, 3.362, 4.787, 6.532, 8.61",\
                 "0.1382, 0.19, 0.3748, 0.7594, 1.372, 2.23, 3.36, 4.786, 6.529, 8.6",\
                 "0.1394, 0.191, 0.3744, 0.7586, 1.371, 2.229, 3.364, 4.789, 6.526, 8.606");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8354, 0.8745, 0.9954, 1.219, 1.566, 2.055, 2.697, 3.507, 4.496, 5.674",\
                 "0.8531, 0.8926, 1.013, 1.236, 1.584, 2.073, 2.715, 3.524, 4.512, 5.691",\
                 "0.9189, 0.9581, 1.079, 1.302, 1.65, 2.138, 2.781, 3.591, 4.579, 5.754",\
                 "1.051, 1.091, 1.212, 1.434, 1.782, 2.27, 2.913, 3.723, 4.712, 5.888",\
                 "1.243, 1.282, 1.403, 1.626, 1.974, 2.462, 3.105, 3.914, 4.903, 6.081",\
                 "1.468, 1.508, 1.628, 1.851, 2.198, 2.686, 3.329, 4.137, 5.125, 6.305",\
                 "1.722, 1.762, 1.883, 2.105, 2.452, 2.94, 3.582, 4.391, 5.381, 6.557",\
                 "2.004, 2.044, 2.164, 2.386, 2.733, 3.22, 3.862, 4.671, 5.659, 6.836",\
                 "2.309, 2.349, 2.47, 2.691, 3.037, 3.525, 4.167, 4.976, 5.963, 7.14",\
                 "2.638, 2.678, 2.799, 3.02, 3.367, 3.854, 4.496, 5.305, 6.292, 7.469");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1298, 0.1823, 0.3705, 0.758, 1.372, 2.231, 3.363, 4.79, 6.533, 8.612",\
                 "0.1305, 0.1823, 0.3704, 0.7584, 1.372, 2.23, 3.363, 4.788, 6.537, 8.606",\
                 "0.1304, 0.1822, 0.3702, 0.7578, 1.371, 2.229, 3.361, 4.792, 6.536, 8.603",\
                 "0.1302, 0.1822, 0.3706, 0.7582, 1.37, 2.231, 3.363, 4.79, 6.531, 8.613",\
                 "0.1306, 0.183, 0.3708, 0.7578, 1.372, 2.229, 3.362, 4.79, 6.533, 8.607",\
                 "0.1324, 0.1842, 0.3714, 0.7586, 1.372, 2.23, 3.362, 4.79, 6.529, 8.609",\
                 "0.1344, 0.1864, 0.3726, 0.7592, 1.371, 2.232, 3.362, 4.791, 6.536, 8.615",\
                 "0.1364, 0.188, 0.3732, 0.7582, 1.371, 2.229, 3.362, 4.789, 6.534, 8.602",\
                 "0.1384, 0.19, 0.374, 0.7586, 1.372, 2.231, 3.361, 4.786, 6.534, 8.605",\
                 "0.1394, 0.1916, 0.3746, 0.759, 1.371, 2.232, 3.365, 4.791, 6.527, 8.618");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.8354, 0.8745, 0.9954, 1.219, 1.566, 2.055, 2.697, 3.507, 4.496, 5.674",\
                 "0.8531, 0.8926, 1.013, 1.236, 1.584, 2.073, 2.715, 3.524, 4.512, 5.691",\
                 "0.9189, 0.9581, 1.079, 1.302, 1.65, 2.138, 2.781, 3.591, 4.579, 5.754",\
                 "1.051, 1.091, 1.212, 1.434, 1.782, 2.27, 2.913, 3.723, 4.712, 5.888",\
                 "1.243, 1.282, 1.403, 1.626, 1.974, 2.462, 3.105, 3.914, 4.903, 6.081",\
                 "1.468, 1.508, 1.629, 1.851, 2.198, 2.686, 3.329, 4.138, 5.125, 6.304",\
                 "1.722, 1.762, 1.883, 2.105, 2.452, 2.94, 3.582, 4.391, 5.38, 6.557",\
                 "2.004, 2.044, 2.165, 2.386, 2.733, 3.22, 3.862, 4.671, 5.66, 6.838",\
                 "2.309, 2.348, 2.47, 2.691, 3.038, 3.525, 4.167, 4.976, 5.962, 7.14",\
                 "2.638, 2.678, 2.799, 3.02, 3.367, 3.854, 4.496, 5.305, 6.292, 7.469");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.003479, 0.01218, 0.0288, 0.05468, 0.09101, 0.1388, 0.199, 0.2725, 0.3601");
          values("0.1309, 0.1831, 0.3711, 0.7582, 1.372, 2.23, 3.363, 4.792, 6.54, 8.607",\
                 "0.1313, 0.1831, 0.3711, 0.7586, 1.37, 2.231, 3.363, 4.79, 6.53, 8.613",\
                 "0.1312, 0.183, 0.3712, 0.7584, 1.37, 2.23, 3.362, 4.79, 6.533, 8.615",\
                 "0.1314, 0.183, 0.3712, 0.7586, 1.372, 2.229, 3.361, 4.792, 6.531, 8.614",\
                 "0.1316, 0.1842, 0.3716, 0.7584, 1.37, 2.23, 3.362, 4.788, 6.532, 8.623",\
                 "0.1346, 0.186, 0.3726, 0.7586, 1.372, 2.231, 3.362, 4.792, 6.53, 8.611",\
                 "0.1364, 0.1888, 0.3736, 0.759, 1.371, 2.232, 3.362, 4.791, 6.53, 8.61",\
                 "0.1404, 0.1918, 0.3752, 0.759, 1.371, 2.229, 3.362, 4.786, 6.531, 8.609",\
                 "0.1436, 0.1948, 0.3772, 0.7602, 1.371, 2.231, 3.363, 4.784, 6.53, 8.604",\
                 "0.1468, 0.1982, 0.3786, 0.7596, 1.372, 2.23, 3.363, 4.795, 6.525, 8.608");
        }
      }
    }

    pin(SE) {
      capacitance : 0.005984 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05617, 0.05562, 0.05684, 0.06202, 0.07197, 0.08714, 0.108, 0.1351, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001196, 0.0009573, 0.001708, 0.005514, 0.01354, 0.02635, 0.04433, \
                 0.06771, 0.09676, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1439, 0.143, 0.1435, 0.1484, 0.1605, 0.1823, 0.2153, 0.2603, \
                 0.3179, 0.3883");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03855, 0.03784, 0.03808, 0.04202, 0.05216, 0.07062, 0.09862, \
                 0.1369, 0.186, 0.2464");
        }
      }

      internal_power() {
        when : "!CLK&!D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05615, 0.05564, 0.05683, 0.062, 0.07196, 0.08713, 0.1081, 0.1352, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001198, 0.0009572, 0.001745, 0.005522, 0.01354, 0.02637, 0.04434, \
                 0.06771, 0.09677, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1788, 0.1779, 0.1784, 0.1833, 0.1958, 0.2189, 0.2541, 0.3029, \
                 0.3651, 0.4406");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09421, 0.09347, 0.09365, 0.09779, 0.109, 0.1292, 0.1597, 0.201, \
                 0.2539, 0.3185");
        }
      }

      internal_power() {
        when : "!CLK&D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09425, 0.09371, 0.09487, 0.09991, 0.1096, 0.1247, 0.1457, 0.1732, \
                 0.2074, 0.2488");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09445, 0.09426, 0.09482, 0.09832, 0.1061, 0.1187, 0.1365, 0.1598, \
                 0.1889, 0.2241");
        }
      }

      internal_power() {
        when : "!CLK&D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05708, 0.05647, 0.05786, 0.06316, 0.07328, 0.08869, 0.1097, \
                 0.137, 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001637, -0.002423, -0.00208, 0.001675, 0.009701, 0.02254, 0.04055, \
                 0.06399, 0.09307, 0.1281");
        }
      }

      internal_power() {
        when : "!CLK&D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1491, 0.1486, 0.1497, 0.1547, 0.1645, 0.1796, 0.2007, 0.2284, \
                 0.2627, 0.3043");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1318, 0.1316, 0.1322, 0.1357, 0.1433, 0.1557, 0.1734, 0.1966, \
                 0.2257, 0.261");
        }
      }

      internal_power() {
        when : "!CLK&D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05709, 0.05652, 0.05788, 0.06317, 0.07325, 0.08865, 0.1098, \
                 0.1369, 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001631, -0.002417, -0.002096, 0.001645, 0.009721, 0.02255, \
                 0.04055, 0.06397, 0.09306, 0.1281");
        }
      }

      internal_power() {
        when : "CLK&!D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05611, 0.05558, 0.05677, 0.06197, 0.07193, 0.08709, 0.108, 0.1351, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001111, 0.0008855, 0.001648, 0.005457, 0.01344, 0.02636, 0.04427, \
                 0.06766, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05687, 0.05634, 0.05758, 0.06277, 0.07277, 0.08794, 0.1089, \
                 0.136, 0.1696, 0.21");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001187, -0.001698, -0.001308, 0.002396, 0.01079, 0.02461, 0.04355, \
                 0.0676, 0.09699, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05613, 0.05558, 0.0568, 0.06201, 0.07193, 0.08708, 0.108, 0.1351, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001123, 0.0008986, 0.001635, 0.005425, 0.01354, 0.02634, 0.0443, \
                 0.06769, 0.09675, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07653, 0.07601, 0.07734, 0.08268, 0.09329, 0.1097, 0.1318, 0.1601, \
                 0.1945, 0.2353");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001189, -0.001697, -0.00131, 0.002395, 0.01083, 0.02453, 0.04353, \
                 0.06764, 0.09701, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05781, 0.05727, 0.05838, 0.06342, 0.07316, 0.08815, 0.109, 0.136, \
                 0.1694, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002414, 0.002198, 0.002933, 0.00665, 0.01462, 0.0275, 0.04541, \
                 0.06877, 0.09785, 0.1329");
        }
      }

      internal_power() {
        when : "CLK&D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05939, 0.05885, 0.0601, 0.0653, 0.07518, 0.09043, 0.1114, 0.1385, \
                 0.1722, 0.2126");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00232, -0.002861, -0.002385, 0.001397, 0.009379, 0.02227, 0.0402, \
                 0.06361, 0.09269, 0.1277");
        }
      }

      internal_power() {
        when : "CLK&D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05848, 0.05793, 0.05912, 0.0642, 0.07391, 0.08895, 0.1097, 0.1367, \
                 0.1702, 0.2105");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01672, 0.01648, 0.01723, 0.02094, 0.02898, 0.0418, 0.05976, \
                 0.08311, 0.1122, 0.1472");
        }
      }

      internal_power() {
        when : "CLK&D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05703, 0.05646, 0.05781, 0.06315, 0.07323, 0.08859, 0.1097, \
                 0.137, 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002066, -0.002676, -0.002207, 0.00151, 0.009592, 0.02243, 0.04043, \
                 0.06386, 0.09296, 0.1281");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.177, -0.163, -0.116, -0.047, 0.01, 0.054, 0.074, 0.071, 0.051, -0.008",\
                 "-0.186, -0.175, -0.125, -0.062, -0.008, 0.041, 0.064, 0.063, 0.04, -0.017",\
                 "-0.216, -0.207, -0.157, -0.088, -0.026, 0.015, 0.04, 0.037, 0.015, -0.043",\
                 "-0.262, -0.257, -0.201, -0.137, -0.074, -0.029, -0.004, -0.012, -0.029, -0.086",\
                 "-0.337, -0.325, -0.269, -0.2, -0.134, -0.092, -0.07, -0.069, -0.088, -0.15",\
                 "-0.422, -0.407, -0.353, -0.285, -0.224, -0.173, -0.153, -0.154, -0.175, -0.233",\
                 "-0.496, -0.484, -0.429, -0.365, -0.302, -0.251, -0.226, -0.227, -0.245, -0.302",\
                 "-0.585, -0.577, -0.522, -0.457, -0.39, -0.334, -0.319, -0.315, -0.328, -0.382",\
                 "-0.696, -0.692, -0.627, -0.565, -0.499, -0.449, -0.423, -0.422, -0.428, -0.479",\
                 "-0.829, -0.833, -0.771, -0.707, -0.641, -0.588, -0.561, -0.551, -0.548, -0.603");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.349, -0.341, -0.31, -0.292, -0.302, -0.337, -0.39, -0.46, -0.562, -0.685",\
                 "-0.357, -0.35, -0.314, -0.303, -0.309, -0.342, -0.39, -0.468, -0.57, -0.693",\
                 "-0.388, -0.379, -0.346, -0.332, -0.339, -0.368, -0.422, -0.497, -0.589, -0.719",\
                 "-0.435, -0.421, -0.392, -0.375, -0.375, -0.401, -0.453, -0.519, -0.615, -0.741",\
                 "-0.486, -0.471, -0.434, -0.416, -0.41, -0.434, -0.481, -0.543, -0.636, -0.758",\
                 "-0.52, -0.507, -0.468, -0.446, -0.442, -0.459, -0.497, -0.558, -0.651, -0.763",\
                 "-0.529, -0.51, -0.483, -0.455, -0.45, -0.466, -0.501, -0.569, -0.653, -0.766",\
                 "-0.508, -0.494, -0.46, -0.437, -0.434, -0.452, -0.495, -0.555, -0.645, -0.757",\
                 "-0.457, -0.443, -0.412, -0.39, -0.386, -0.413, -0.452, -0.517, -0.607, -0.722",\
                 "-0.377, -0.361, -0.326, -0.31, -0.314, -0.336, -0.382, -0.455, -0.548, -0.665");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.515, -0.498, -0.471, -0.446, -0.459, -0.487, -0.533, -0.607, -0.697, -0.821",\
                 "-0.528, -0.517, -0.486, -0.467, -0.471, -0.502, -0.553, -0.623, -0.714, -0.834",\
                 "-0.597, -0.586, -0.551, -0.534, -0.539, -0.572, -0.612, -0.69, -0.779, -0.901",\
                 "-0.707, -0.7, -0.665, -0.643, -0.654, -0.679, -0.733, -0.8, -0.894, -1.015",\
                 "-0.858, -0.842, -0.808, -0.791, -0.8, -0.828, -0.876, -0.943, -1.034, -1.157",\
                 "-1.032, -1.02, -0.985, -0.965, -0.968, -0.999, -1.049, -1.114, -1.212, -1.332",\
                 "-1.238, -1.23, -1.199, -1.174, -1.182, -1.207, -1.251, -1.32, -1.415, -1.537",\
                 "-1.482, -1.473, -1.435, -1.417, -1.419, -1.446, -1.49, -1.562, -1.658, -1.77",\
                 "-1.763, -1.751, -1.719, -1.692, -1.701, -1.723, -1.77, -1.833, -1.93, -2.046",\
                 "-2.079, -2.064, -2.032, -2.011, -2.012, -2.036, -2.08, -2.147, -2.242, -2.358");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.223, -0.204, -0.159, -0.092, -0.034, 0.008, 0.032, 0.03, 0.003, -0.05",\
                 "-0.241, -0.223, -0.178, -0.11, -0.054, -0.012, 0.013, 0.01, -0.016, -0.069",\
                 "-0.28, -0.266, -0.22, -0.158, -0.096, -0.048, -0.024, -0.031, -0.051, -0.113",\
                 "-0.317, -0.295, -0.253, -0.183, -0.132, -0.087, -0.064, -0.058, -0.082, -0.142",\
                 "-0.337, -0.325, -0.277, -0.21, -0.148, -0.11, -0.087, -0.084, -0.106, -0.162",\
                 "-0.324, -0.312, -0.264, -0.198, -0.135, -0.097, -0.072, -0.07, -0.096, -0.155",\
                 "-0.285, -0.27, -0.221, -0.155, -0.096, -0.056, -0.032, -0.032, -0.056, -0.11",\
                 "-0.207, -0.195, -0.143, -0.075, -0.019, 0.028, 0.052, 0.052, 0.023, -0.031",\
                 "-0.091, -0.081, -0.032, 0.038, 0.097, 0.138, 0.162, 0.165, 0.14, 0.089",\
                 "0.056, 0.069, 0.119, 0.182, 0.246, 0.291, 0.31, 0.318, 0.289, 0.236");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.968, 0.962, 0.89, 0.801, 0.727, 0.671, 0.634, 0.625, 0.641, 0.696",\
                 "0.985, 0.969, 0.906, 0.814, 0.741, 0.678, 0.647, 0.641, 0.657, 0.708",\
                 "1.01, 1, 0.937, 0.842, 0.766, 0.706, 0.676, 0.665, 0.688, 0.736",\
                 "1.062, 1.047, 0.984, 0.889, 0.814, 0.76, 0.724, 0.707, 0.737, 0.781",\
                 "1.149, 1.135, 1.078, 0.977, 0.909, 0.846, 0.808, 0.795, 0.816, 0.866",\
                 "1.303, 1.29, 1.228, 1.134, 1.056, 0.993, 0.955, 0.946, 0.96, 1.009",\
                 "1.508, 1.504, 1.435, 1.335, 1.257, 1.194, 1.147, 1.135, 1.143, 1.188",\
                 "1.765, 1.753, 1.684, 1.592, 1.501, 1.429, 1.383, 1.351, 1.354, 1.388",\
                 "2.057, 2.048, 1.976, 1.876, 1.777, 1.696, 1.64, 1.61, 1.61, 1.64",\
                 "2.397, 2.384, 2.311, 2.202, 2.102, 2.017, 1.96, 1.916, 1.917, 1.935");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.819, 0.812, 0.75, 0.674, 0.615, 0.602, 0.617, 0.666, 0.745, 0.852",\
                 "0.828, 0.81, 0.758, 0.679, 0.625, 0.607, 0.63, 0.671, 0.754, 0.866",\
                 "0.855, 0.846, 0.787, 0.709, 0.653, 0.636, 0.658, 0.702, 0.779, 0.886",\
                 "0.908, 0.893, 0.839, 0.758, 0.703, 0.68, 0.694, 0.74, 0.816, 0.915",\
                 "0.963, 0.95, 0.887, 0.813, 0.754, 0.732, 0.734, 0.773, 0.845, 0.949",\
                 "1.015, 0.996, 0.941, 0.864, 0.81, 0.777, 0.78, 0.811, 0.876, 0.97",\
                 "1.044, 1.032, 0.973, 0.895, 0.84, 0.81, 0.807, 0.833, 0.901, 0.988",\
                 "1.057, 1.043, 0.982, 0.91, 0.857, 0.823, 0.817, 0.847, 0.908, 0.997",\
                 "1.046, 1.028, 0.975, 0.897, 0.84, 0.805, 0.801, 0.827, 0.894, 0.983",\
                 "1.002, 0.99, 0.933, 0.854, 0.797, 0.763, 0.761, 0.783, 0.854, 0.942");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.962, 0.955, 0.89, 0.819, 0.757, 0.746, 0.761, 0.808, 0.888, 0.988",\
                 "0.985, 0.969, 0.912, 0.833, 0.772, 0.76, 0.776, 0.826, 0.906, 1.002",\
                 "1.048, 1.036, 0.976, 0.9, 0.844, 0.827, 0.848, 0.889, 0.969, 1.074",\
                 "1.162, 1.144, 1.094, 1.011, 0.961, 0.942, 0.963, 1.006, 1.086, 1.19",\
                 "1.305, 1.29, 1.235, 1.161, 1.104, 1.083, 1.1, 1.151, 1.223, 1.331",\
                 "1.481, 1.467, 1.413, 1.339, 1.283, 1.258, 1.278, 1.325, 1.4, 1.501",\
                 "1.693, 1.675, 1.616, 1.544, 1.486, 1.47, 1.486, 1.526, 1.604, 1.716",\
                 "1.942, 1.926, 1.871, 1.792, 1.738, 1.715, 1.725, 1.768, 1.847, 1.954",\
                 "2.224, 2.208, 2.158, 2.068, 2.013, 1.995, 2.006, 2.049, 2.124, 2.226",\
                 "2.543, 2.525, 2.467, 2.398, 2.334, 2.315, 2.323, 2.363, 2.44, 2.538");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.128, 1.12, 1.051, 0.947, 0.868, 0.798, 0.752, 0.731, 0.745, 0.795",\
                 "1.149, 1.136, 1.072, 0.968, 0.88, 0.814, 0.767, 0.754, 0.77, 0.813",\
                 "1.188, 1.178, 1.11, 1.01, 0.923, 0.853, 0.812, 0.796, 0.804, 0.854",\
                 "1.217, 1.211, 1.141, 1.042, 0.951, 0.884, 0.843, 0.827, 0.842, 0.887",\
                 "1.231, 1.22, 1.148, 1.045, 0.962, 0.899, 0.854, 0.84, 0.854, 0.902",\
                 "1.222, 1.208, 1.145, 1.047, 0.959, 0.891, 0.847, 0.836, 0.85, 0.893",\
                 "1.179, 1.17, 1.108, 1.005, 0.92, 0.85, 0.816, 0.794, 0.812, 0.859",\
                 "1.104, 1.096, 1.026, 0.93, 0.849, 0.781, 0.739, 0.721, 0.733, 0.789",\
                 "0.99, 0.98, 0.917, 0.818, 0.736, 0.664, 0.623, 0.611, 0.622, 0.677",\
                 "0.845, 0.832, 0.767, 0.669, 0.583, 0.517, 0.483, 0.464, 0.485, 0.527");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006148 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.576 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06283, 0.06244, 0.0629, 0.06664, 0.07461, 0.08748, 0.1055, 0.1292, \
                 0.1587, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01336, 0.01312, 0.01349, 0.01627, 0.02279, 0.03368, 0.04929, \
                 0.06988, 0.09566, 0.1269");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06283, 0.06244, 0.0629, 0.06664, 0.07461, 0.08748, 0.1056, 0.1292, \
                 0.1587, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01336, 0.01312, 0.01349, 0.01627, 0.02279, 0.03368, 0.04929, \
                 0.06987, 0.09566, 0.1269");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06281, 0.06247, 0.0629, 0.06663, 0.07458, 0.08742, 0.1055, 0.1292, \
                 0.1587, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01336, 0.01312, 0.01349, 0.01627, 0.02279, 0.03368, 0.04929, \
                 0.06987, 0.09566, 0.1269");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.0184, 0.01837, 0.01835, 0.01837, 0.01839, 0.01838, \
                 0.0184, 0.01838, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01152, -0.0115, -0.01149, -0.01153, -0.01156, -0.01158, -0.0116, \
                 -0.0116, -0.01163, -0.01165");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.0184, 0.01836, 0.01835, 0.01838, 0.01838, 0.01838, \
                 0.01839, 0.01839, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01152, -0.0115, -0.01149, -0.01153, -0.01157, -0.01158, -0.0116, \
                 -0.0116, -0.01163, -0.01165");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.0184, 0.01836, 0.01835, 0.01837, 0.0184, 0.01839, 0.01839, \
                 0.01839, 0.0184");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01152, -0.0115, -0.01149, -0.01153, -0.01157, -0.01158, -0.0116, \
                 -0.0116, -0.01163, -0.01165");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06282, 0.06247, 0.0629, 0.06666, 0.07461, 0.08746, 0.1056, 0.1292, \
                 0.1587, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01336, 0.01312, 0.01349, 0.01627, 0.02279, 0.03368, 0.04929, \
                 0.06989, 0.09566, 0.1269");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.0184, 0.01837, 0.01838, 0.01837, 0.01837, 0.0184, 0.01839, \
                 0.01839, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01152, -0.0115, -0.01149, -0.01154, -0.01156, -0.01158, -0.0116, \
                 -0.01159, -0.01163, -0.01164");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01845, 0.0184, 0.01836, 0.01835, 0.0184, 0.01839, 0.0184, 0.01839, \
                 0.01836, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.01151, -0.01151, -0.01153, -0.01159, -0.01154, -0.01159, \
                 -0.0116, -0.01162, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01845, 0.0184, 0.01837, 0.01837, 0.01841, 0.01838, 0.0184, 0.0184, \
                 0.01841, 0.01838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.01151, -0.01151, -0.01153, -0.01159, -0.01154, -0.01159, \
                 -0.01161, -0.0116, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01845, 0.0184, 0.01838, 0.01836, 0.01842, 0.01839, 0.01838, \
                 0.01838, 0.01838, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.01151, -0.01151, -0.01153, -0.01159, -0.01154, -0.01161, \
                 -0.01161, -0.01162, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.0184, 0.01836, 0.01836, 0.01836, 0.0184, 0.01839, 0.01839, \
                 0.01838, 0.01837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.01151, -0.01151, -0.01153, -0.01159, -0.01154, -0.01161, \
                 -0.0116, -0.01162, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.01839, 0.01835, 0.01836, 0.01837, 0.01841, 0.01837, \
                 0.0184, 0.01839, 0.01837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.01151, -0.01151, -0.01153, -0.01159, -0.01154, -0.0116, \
                 -0.0116, -0.01162, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.01839, 0.01835, 0.01836, 0.01838, 0.0184, 0.01837, \
                 0.01841, 0.01839, 0.01837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.01151, -0.01151, -0.01153, -0.01158, -0.01154, -0.01159, \
                 -0.01161, -0.01162, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01845, 0.0184, 0.01838, 0.01838, 0.01841, 0.01839, 0.01837, \
                 0.01838, 0.01839, 0.01838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.01151, -0.01151, -0.01153, -0.01158, -0.01154, -0.0116, \
                 -0.0116, -0.01161, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.01841, 0.01836, 0.01836, 0.01838, 0.0184, 0.01837, \
                 0.0184, 0.01838, 0.0184");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.01151, -0.01151, -0.01153, -0.01159, -0.01154, -0.0116, \
                 -0.01161, -0.0116, -0.01163");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.056, -0.119, -0.198, -0.263, -0.319, -0.344, -0.355, -0.33, -0.288",\
                 "-0.033, -0.048, -0.106, -0.189, -0.255, -0.306, -0.339, -0.344, -0.322, -0.282",\
                 "0.002, -0.006, -0.063, -0.149, -0.208, -0.27, -0.293, -0.304, -0.28, -0.24",\
                 "0.09, 0.083, 0.016, -0.061, -0.131, -0.183, -0.205, -0.215, -0.198, -0.153",\
                 "0.219, 0.209, 0.148, 0.069, -0.006, -0.056, -0.084, -0.093, -0.064, -0.022",\
                 "0.411, 0.406, 0.328, 0.235, 0.171, 0.103, 0.072, 0.062, 0.085, 0.136",\
                 "0.766, 0.767, 0.647, 0.545, 0.451, 0.352, 0.299, 0.286, 0.298, 0.338",\
                 "1.305, 1.323, 1.169, 1.084, 0.938, 0.823, 0.739, 0.704, 0.699, 0.709",\
                 "1.977, 2.007, 1.827, 1.692, 1.559, 1.424, 1.362, 1.313, 1.33, 1.325",\
                 "2.767, 2.793, 2.585, 2.415, 2.31, 2.147, 2.067, 2.012, 2.061, 2.068");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.056, -0.119, -0.198, -0.263, -0.319, -0.344, -0.355, -0.33, -0.288",\
                 "-0.033, -0.048, -0.106, -0.189, -0.255, -0.306, -0.339, -0.344, -0.322, -0.282",\
                 "0.002, -0.006, -0.063, -0.149, -0.208, -0.27, -0.293, -0.304, -0.28, -0.24",\
                 "0.09, 0.083, 0.016, -0.061, -0.131, -0.183, -0.205, -0.215, -0.198, -0.153",\
                 "0.219, 0.209, 0.148, 0.069, -0.006, -0.056, -0.084, -0.093, -0.064, -0.022",\
                 "0.411, 0.406, 0.328, 0.235, 0.171, 0.103, 0.072, 0.062, 0.085, 0.136",\
                 "0.766, 0.767, 0.647, 0.545, 0.445, 0.359, 0.299, 0.286, 0.298, 0.338",\
                 "1.305, 1.323, 1.175, 1.044, 0.931, 0.84, 0.739, 0.704, 0.685, 0.709",\
                 "1.977, 2.007, 1.827, 1.692, 1.559, 1.471, 1.362, 1.313, 1.33, 1.325",\
                 "2.767, 2.793, 2.585, 2.415, 2.298, 2.147, 2.067, 2.004, 2.061, 2.068");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.056, -0.119, -0.198, -0.263, -0.319, -0.344, -0.355, -0.33, -0.288",\
                 "-0.04, -0.048, -0.106, -0.189, -0.255, -0.306, -0.339, -0.344, -0.322, -0.282",\
                 "0.002, -0.006, -0.063, -0.149, -0.208, -0.27, -0.293, -0.304, -0.28, -0.24",\
                 "0.09, 0.083, 0.016, -0.061, -0.131, -0.183, -0.205, -0.215, -0.198, -0.153",\
                 "0.219, 0.209, 0.148, 0.063, -0.006, -0.056, -0.084, -0.086, -0.064, -0.022",\
                 "0.411, 0.406, 0.328, 0.235, 0.171, 0.103, 0.072, 0.062, 0.085, 0.136",\
                 "0.766, 0.767, 0.656, 0.555, 0.445, 0.359, 0.307, 0.286, 0.298, 0.338",\
                 "1.305, 1.323, 1.169, 1.044, 0.931, 0.823, 0.749, 0.704, 0.699, 0.717",\
                 "1.977, 2.007, 1.827, 1.692, 1.559, 1.424, 1.362, 1.333, 1.33, 1.325",\
                 "2.793, 2.793, 2.585, 2.415, 2.31, 2.16, 2.067, 2.012, 2.07, 2.068");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.046, -0.056, -0.119, -0.198, -0.263, -0.319, -0.344, -0.355, -0.33, -0.288",\
                 "-0.04, -0.048, -0.106, -0.189, -0.255, -0.306, -0.339, -0.344, -0.322, -0.282",\
                 "0.002, -0.006, -0.063, -0.149, -0.208, -0.27, -0.293, -0.304, -0.28, -0.24",\
                 "0.09, 0.083, 0.016, -0.061, -0.131, -0.183, -0.205, -0.215, -0.198, -0.153",\
                 "0.219, 0.209, 0.148, 0.069, -0.006, -0.056, -0.084, -0.093, -0.064, -0.022",\
                 "0.411, 0.406, 0.328, 0.235, 0.162, 0.103, 0.072, 0.062, 0.09, 0.136",\
                 "0.766, 0.767, 0.647, 0.545, 0.462, 0.359, 0.299, 0.286, 0.298, 0.338",\
                 "1.305, 1.323, 1.175, 1.051, 0.931, 0.823, 0.749, 0.704, 0.699, 0.709",\
                 "1.969, 2.007, 1.827, 1.692, 1.559, 1.424, 1.362, 1.333, 1.33, 1.325",\
                 "2.767, 2.793, 2.66, 2.415, 2.31, 2.16, 2.067, 2.004, 2.061, 2.068");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.338, 0.35, 0.404, 0.489, 0.554, 0.606, 0.648, 0.656, 0.648, 0.611",\
                 "0.327, 0.341, 0.396, 0.477, 0.541, 0.595, 0.638, 0.649, 0.634, 0.597",\
                 "0.288, 0.302, 0.354, 0.433, 0.504, 0.551, 0.592, 0.603, 0.594, 0.557",\
                 "0.211, 0.225, 0.274, 0.353, 0.422, 0.476, 0.515, 0.523, 0.513, 0.479",\
                 "0.132, 0.139, 0.192, 0.27, 0.337, 0.39, 0.422, 0.435, 0.423, 0.386",\
                 "0.055, 0.065, 0.119, 0.197, 0.259, 0.302, 0.332, 0.343, 0.334, 0.297",\
                 "-0.007, 0.004, 0.06, 0.134, 0.19, 0.234, 0.258, 0.27, 0.245, 0.204",\
                 "-0.06, -0.046, 0.006, 0.079, 0.136, 0.18, 0.208, 0.206, 0.185, 0.137",\
                 "-0.099, -0.081, -0.032, 0.038, 0.097, 0.143, 0.162, 0.165, 0.14, 0.089",\
                 "-0.121, -0.109, -0.058, 0.015, 0.074, 0.117, 0.139, 0.143, 0.118, 0.062");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.338, 0.35, 0.404, 0.489, 0.554, 0.606, 0.648, 0.656, 0.648, 0.611",\
                 "0.327, 0.341, 0.396, 0.477, 0.541, 0.595, 0.638, 0.649, 0.634, 0.597",\
                 "0.288, 0.302, 0.354, 0.433, 0.504, 0.551, 0.592, 0.603, 0.594, 0.557",\
                 "0.211, 0.225, 0.274, 0.353, 0.422, 0.476, 0.515, 0.523, 0.513, 0.479",\
                 "0.132, 0.139, 0.192, 0.27, 0.337, 0.39, 0.422, 0.435, 0.423, 0.386",\
                 "0.055, 0.065, 0.119, 0.197, 0.259, 0.302, 0.332, 0.343, 0.334, 0.297",\
                 "-0.007, 0.004, 0.06, 0.134, 0.19, 0.234, 0.258, 0.27, 0.245, 0.204",\
                 "-0.06, -0.046, 0.006, 0.079, 0.136, 0.18, 0.208, 0.206, 0.185, 0.137",\
                 "-0.099, -0.081, -0.032, 0.038, 0.097, 0.143, 0.162, 0.165, 0.14, 0.089",\
                 "-0.121, -0.109, -0.058, 0.015, 0.074, 0.117, 0.139, 0.143, 0.118, 0.062");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.338, 0.35, 0.404, 0.49, 0.554, 0.606, 0.648, 0.656, 0.648, 0.611",\
                 "0.327, 0.341, 0.396, 0.477, 0.541, 0.595, 0.638, 0.649, 0.634, 0.602",\
                 "0.288, 0.302, 0.354, 0.433, 0.504, 0.558, 0.592, 0.603, 0.594, 0.557",\
                 "0.211, 0.225, 0.274, 0.353, 0.422, 0.476, 0.515, 0.523, 0.513, 0.479",\
                 "0.132, 0.146, 0.192, 0.27, 0.337, 0.39, 0.422, 0.435, 0.423, 0.386",\
                 "0.055, 0.065, 0.119, 0.197, 0.259, 0.302, 0.332, 0.343, 0.334, 0.297",\
                 "-0.007, 0.004, 0.06, 0.134, 0.19, 0.234, 0.258, 0.27, 0.245, 0.204",\
                 "-0.06, -0.046, 0.006, 0.078, 0.136, 0.18, 0.208, 0.206, 0.185, 0.137",\
                 "-0.099, -0.081, -0.032, 0.038, 0.097, 0.143, 0.162, 0.165, 0.14, 0.089",\
                 "-0.121, -0.109, -0.058, 0.015, 0.074, 0.117, 0.139, 0.143, 0.118, 0.062");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.338, 0.35, 0.404, 0.49, 0.554, 0.606, 0.648, 0.656, 0.648, 0.611",\
                 "0.327, 0.341, 0.396, 0.477, 0.541, 0.595, 0.638, 0.649, 0.634, 0.597",\
                 "0.288, 0.302, 0.354, 0.433, 0.504, 0.551, 0.592, 0.603, 0.594, 0.557",\
                 "0.211, 0.225, 0.274, 0.353, 0.422, 0.476, 0.515, 0.523, 0.513, 0.479",\
                 "0.132, 0.139, 0.192, 0.27, 0.337, 0.39, 0.422, 0.435, 0.423, 0.386",\
                 "0.055, 0.065, 0.119, 0.197, 0.259, 0.302, 0.332, 0.343, 0.334, 0.297",\
                 "-0.007, 0.004, 0.06, 0.134, 0.19, 0.234, 0.258, 0.27, 0.245, 0.204",\
                 "-0.06, -0.046, 0.006, 0.079, 0.136, 0.18, 0.208, 0.206, 0.185, 0.137",\
                 "-0.099, -0.081, -0.032, 0.038, 0.097, 0.143, 0.162, 0.165, 0.14, 0.089",\
                 "-0.121, -0.109, -0.058, 0.015, 0.074, 0.117, 0.139, 0.143, 0.118, 0.062");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.576");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.571");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002641 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008403, 0.008349, 0.008354, 0.008349, 0.008375, 0.008374, 0.008364, \
                 0.00837, 0.008364, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008174, -0.008159, -0.008164, -0.008206, -0.00825, -0.008272, \
                 -0.008282, -0.008283, -0.00829, -0.008297");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008394, 0.008395, 0.008359, 0.00836, 0.008376, 0.008377, 0.008363, \
                 0.008368, 0.008365, 0.008361");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008164, -0.008157, -0.008164, -0.008211, -0.008241, -0.008266, \
                 -0.008276, -0.008286, -0.008298, -0.008296");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1085, 0.1082, 0.1077, 0.1075, 0.109, 0.1149, 0.1269, 0.1458, \
                 0.1716, 0.2039");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0369, 0.03641, 0.03594, 0.0359, 0.03772, 0.04321, 0.05332, 0.06862, \
                 0.08944, 0.116");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1449, 0.1445, 0.1441, 0.1439, 0.1459, 0.1529, 0.167, 0.1895, \
                 0.22, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09272, 0.09227, 0.09175, 0.09182, 0.09447, 0.1013, 0.1135, 0.1316, \
                 0.1559, 0.1866");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008366, 0.008355, 0.00835, 0.008353, 0.008361, 0.00838, 0.008375, \
                 0.008366, 0.008366, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007486, -0.007848, -0.008147, -0.008206, -0.008247, -0.008265, \
                 -0.008283, -0.00829, -0.008292, -0.008299");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008377, 0.00837, 0.008362, 0.008365, 0.00837, 0.008376, 0.00836, \
                 0.00837, 0.008368, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007476, -0.00783, -0.008138, -0.008214, -0.008232, -0.008271, \
                 -0.008282, -0.008282, -0.008291, -0.008299");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1103, 0.11, 0.1095, 0.1093, 0.1111, 0.1174, 0.13, 0.1494, 0.1754, \
                 0.2078");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03252, 0.03203, 0.0315, 0.03143, 0.03323, 0.03873, 0.04897, \
                 0.06444, 0.08545, 0.1122");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1477, 0.1473, 0.1469, 0.1467, 0.1489, 0.1565, 0.1713, 0.1943, \
                 0.2251, 0.2629");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08799, 0.08749, 0.08696, 0.08703, 0.08963, 0.09653, 0.1089, \
                 0.1273, 0.1521, 0.1833");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008358, 0.008349, 0.008353, 0.008367, 0.008365, 0.008356, 0.008375, \
                 0.008367, 0.008367, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008166, -0.008155, -0.008165, -0.008211, -0.008242, -0.008238, \
                 -0.008281, -0.008289, -0.008293, -0.008294");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008365, 0.008363, 0.008345, 0.008352, 0.008353, 0.008373, 0.008368, \
                 0.008372, 0.008365, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008165, -0.008172, -0.008166, -0.008203, -0.008237, -0.008262, \
                 -0.00828, -0.008286, -0.008292, -0.008294");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009137, 0.009134, 0.009132, 0.009119, 0.009139, 0.009128, 0.009142, \
                 0.009136, 0.009138, 0.009139");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006488, -0.006748, -0.007077, -0.007363, -0.007599, -0.007717, \
                 -0.007841, -0.007902, -0.007952, -0.007994");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03484, 0.03486, 0.03484, 0.03481, 0.03479, 0.03478, 0.03479, \
                 0.03479, 0.0348, 0.03483");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00649, -0.006764, -0.007078, -0.007357, -0.007595, -0.007743, \
                 -0.007839, -0.007906, -0.007952, -0.007984");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008358, 0.008349, 0.008353, 0.008367, 0.008365, 0.008366, 0.008373, \
                 0.008372, 0.00837, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007667, -0.007936, -0.008152, -0.008211, -0.008242, -0.008238, \
                 -0.008279, -0.00829, -0.008295, -0.008294");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00836, 0.008355, 0.008346, 0.008365, 0.00835, 0.008374, 0.008374, \
                 0.008365, 0.008367, 0.008368");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007523, -0.007865, -0.008156, -0.008213, -0.008242, -0.008267, \
                 -0.008283, -0.008287, -0.008294, -0.008298");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009209, 0.009206, 0.009187, 0.009186, 0.009205, 0.009196, 0.009199, \
                 0.009202, 0.009194, 0.009192");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006466, -0.006739, -0.007105, -0.007419, -0.007661, -0.007773, \
                 -0.007881, -0.007931, -0.007978, -0.008008");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02924, 0.02924, 0.02922, 0.02917, 0.02917, 0.02918, 0.02919, \
                 0.02919, 0.02918, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006472, -0.006749, -0.007109, -0.007423, -0.007633, -0.007789, \
                 -0.007876, -0.007936, -0.007977, -0.008007");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.235, -0.225, -0.17, -0.11, -0.057, -0.009, 0.015, 0.012, -0.013, -0.066",\
                 "-0.248, -0.231, -0.184, -0.119, -0.062, -0.024, 0.004, -0.002, -0.024, -0.079",\
                 "-0.28, -0.266, -0.22, -0.158, -0.096, -0.055, -0.033, -0.031, -0.051, -0.113",\
                 "-0.335, -0.315, -0.271, -0.206, -0.148, -0.102, -0.074, -0.085, -0.099, -0.159",\
                 "-0.404, -0.394, -0.338, -0.274, -0.215, -0.171, -0.144, -0.15, -0.163, -0.228",\
                 "-0.486, -0.477, -0.423, -0.359, -0.293, -0.248, -0.227, -0.222, -0.248, -0.304",\
                 "-0.572, -0.561, -0.51, -0.435, -0.376, -0.325, -0.307, -0.305, -0.322, -0.381",\
                 "-0.667, -0.661, -0.603, -0.537, -0.471, -0.418, -0.397, -0.395, -0.402, -0.462",\
                 "-0.791, -0.788, -0.727, -0.662, -0.594, -0.544, -0.511, -0.503, -0.506, -0.56",\
                 "-0.944, -0.948, -0.884, -0.819, -0.749, -0.698, -0.661, -0.647, -0.638, -0.69");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.406, -0.395, -0.363, -0.346, -0.354, -0.395, -0.449, -0.525, -0.626, -0.753",\
                 "-0.412, -0.398, -0.368, -0.351, -0.363, -0.401, -0.45, -0.534, -0.634, -0.756",\
                 "-0.431, -0.414, -0.385, -0.373, -0.383, -0.412, -0.468, -0.547, -0.647, -0.773",\
                 "-0.453, -0.44, -0.404, -0.39, -0.396, -0.431, -0.483, -0.559, -0.658, -0.78",\
                 "-0.464, -0.456, -0.416, -0.4, -0.41, -0.434, -0.487, -0.558, -0.655, -0.782",\
                 "-0.463, -0.454, -0.417, -0.395, -0.398, -0.426, -0.476, -0.542, -0.641, -0.763",\
                 "-0.437, -0.424, -0.393, -0.366, -0.376, -0.399, -0.444, -0.51, -0.612, -0.73",\
                 "-0.372, -0.362, -0.329, -0.309, -0.309, -0.343, -0.387, -0.463, -0.557, -0.677",\
                 "-0.274, -0.258, -0.222, -0.207, -0.215, -0.245, -0.293, -0.368, -0.467, -0.587",\
                 "-0.127, -0.115, -0.085, -0.069, -0.075, -0.109, -0.161, -0.24, -0.341, -0.47");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.183, -0.177, -0.127, -0.056, -0.005, 0.037, 0.066, 0.06, 0.035, -0.019",\
                 "-0.2, -0.183, -0.143, -0.071, -0.015, 0.029, 0.047, 0.046, 0.024, -0.027",\
                 "-0.232, -0.219, -0.173, -0.106, -0.052, -0.004, 0.022, 0.013, -0.01, -0.065",\
                 "-0.289, -0.276, -0.23, -0.16, -0.1, -0.05, -0.034, -0.032, -0.055, -0.109",\
                 "-0.352, -0.348, -0.295, -0.226, -0.161, -0.118, -0.093, -0.091, -0.116, -0.168",\
                 "-0.428, -0.418, -0.372, -0.3, -0.232, -0.189, -0.167, -0.163, -0.185, -0.233",\
                 "-0.504, -0.501, -0.447, -0.375, -0.314, -0.258, -0.234, -0.227, -0.251, -0.295",\
                 "-0.603, -0.595, -0.553, -0.476, -0.404, -0.351, -0.319, -0.315, -0.328, -0.366",\
                 "-0.728, -0.724, -0.677, -0.6, -0.527, -0.475, -0.435, -0.422, -0.428, -0.452",\
                 "-0.882, -0.88, -0.836, -0.753, -0.684, -0.614, -0.575, -0.559, -0.557, -0.583");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.401, -0.389, -0.358, -0.337, -0.347, -0.383, -0.432, -0.507, -0.61, -0.732",\
                 "-0.405, -0.39, -0.362, -0.341, -0.355, -0.39, -0.442, -0.516, -0.61, -0.735",\
                 "-0.425, -0.408, -0.378, -0.361, -0.374, -0.406, -0.458, -0.534, -0.63, -0.751",\
                 "-0.444, -0.43, -0.404, -0.382, -0.39, -0.423, -0.473, -0.546, -0.641, -0.764",\
                 "-0.456, -0.448, -0.417, -0.395, -0.403, -0.425, -0.476, -0.55, -0.646, -0.764",\
                 "-0.457, -0.442, -0.411, -0.388, -0.389, -0.421, -0.47, -0.533, -0.63, -0.75",\
                 "-0.428, -0.416, -0.384, -0.365, -0.364, -0.392, -0.436, -0.501, -0.6, -0.716",\
                 "-0.361, -0.35, -0.317, -0.303, -0.301, -0.334, -0.378, -0.452, -0.544, -0.661",\
                 "-0.258, -0.242, -0.214, -0.198, -0.206, -0.24, -0.287, -0.361, -0.459, -0.578",\
                 "-0.111, -0.099, -0.069, -0.058, -0.069, -0.103, -0.161, -0.232, -0.332, -0.46");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.088, 1.079, 1.013, 0.919, 0.839, 0.775, 0.735, 0.725, 0.737, 0.79",\
                 "1.102, 1.096, 1.025, 0.93, 0.849, 0.784, 0.75, 0.736, 0.754, 0.803",\
                 "1.134, 1.125, 1.063, 0.964, 0.879, 0.815, 0.776, 0.765, 0.787, 0.838",\
                 "1.189, 1.182, 1.112, 1.019, 0.935, 0.87, 0.833, 0.82, 0.833, 0.893",\
                 "1.276, 1.274, 1.2, 1.103, 1.023, 0.96, 0.917, 0.906, 0.92, 0.973",\
                 "1.424, 1.414, 1.349, 1.251, 1.17, 1.107, 1.063, 1.047, 1.055, 1.106",\
                 "1.651, 1.641, 1.57, 1.474, 1.383, 1.315, 1.268, 1.243, 1.261, 1.295",\
                 "1.936, 1.926, 1.858, 1.752, 1.664, 1.589, 1.539, 1.505, 1.502, 1.539",\
                 "2.287, 2.28, 2.207, 2.094, 2.004, 1.911, 1.858, 1.819, 1.805, 1.839",\
                 "2.694, 2.683, 2.606, 2.493, 2.388, 2.295, 2.224, 2.187, 2.17, 2.195");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.876, 0.86, 0.804, 0.729, 0.675, 0.66, 0.676, 0.725, 0.816, 0.925",\
                 "0.883, 0.866, 0.812, 0.737, 0.679, 0.666, 0.681, 0.736, 0.818, 0.928",\
                 "0.898, 0.888, 0.827, 0.75, 0.696, 0.681, 0.703, 0.746, 0.837, 0.945",\
                 "0.917, 0.912, 0.845, 0.774, 0.719, 0.702, 0.714, 0.767, 0.851, 0.955",\
                 "0.941, 0.927, 0.869, 0.792, 0.74, 0.723, 0.734, 0.78, 0.854, 0.967",\
                 "0.952, 0.948, 0.883, 0.805, 0.749, 0.729, 0.733, 0.777, 0.855, 0.957",\
                 "0.951, 0.938, 0.882, 0.805, 0.748, 0.722, 0.727, 0.764, 0.836, 0.938",\
                 "0.921, 0.911, 0.852, 0.77, 0.716, 0.688, 0.69, 0.727, 0.8, 0.893",\
                 "0.855, 0.835, 0.784, 0.705, 0.651, 0.622, 0.623, 0.658, 0.731, 0.821",\
                 "0.747, 0.738, 0.681, 0.602, 0.547, 0.524, 0.525, 0.552, 0.629, 0.722");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.099, 1.092, 1.018, 0.919, 0.831, 0.769, 0.727, 0.702, 0.721, 0.764",\
                 "1.115, 1.104, 1.031, 0.929, 0.849, 0.778, 0.733, 0.718, 0.73, 0.782",\
                 "1.145, 1.131, 1.063, 0.964, 0.879, 0.808, 0.767, 0.752, 0.771, 0.811",\
                 "1.198, 1.192, 1.117, 1.019, 0.93, 0.862, 0.823, 0.8, 0.816, 0.865",\
                 "1.29, 1.274, 1.208, 1.103, 1.023, 0.951, 0.905, 0.884, 0.901, 0.949",\
                 "1.441, 1.426, 1.362, 1.258, 1.17, 1.096, 1.056, 1.03, 1.044, 1.087",\
                 "1.668, 1.658, 1.589, 1.484, 1.394, 1.322, 1.268, 1.243, 1.244, 1.287",\
                 "1.966, 1.956, 1.889, 1.779, 1.679, 1.606, 1.539, 1.505, 1.502, 1.531",\
                 "2.327, 2.313, 2.249, 2.129, 2.023, 1.932, 1.864, 1.826, 1.813, 1.83",\
                 "2.741, 2.73, 2.654, 2.532, 2.423, 2.321, 2.245, 2.203, 2.179, 2.19");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.864, 0.853, 0.788, 0.719, 0.66, 0.642, 0.659, 0.708, 0.793, 0.899",\
                 "0.869, 0.858, 0.794, 0.727, 0.664, 0.649, 0.664, 0.718, 0.802, 0.907",\
                 "0.887, 0.876, 0.819, 0.738, 0.679, 0.668, 0.685, 0.734, 0.82, 0.923",\
                 "0.908, 0.903, 0.839, 0.766, 0.703, 0.687, 0.704, 0.747, 0.833, 0.938",\
                 "0.933, 0.927, 0.861, 0.787, 0.727, 0.706, 0.722, 0.765, 0.845, 0.943",\
                 "0.946, 0.931, 0.877, 0.798, 0.74, 0.713, 0.726, 0.761, 0.84, 0.938",\
                 "0.943, 0.921, 0.864, 0.795, 0.737, 0.709, 0.711, 0.745, 0.818, 0.924",\
                 "0.904, 0.893, 0.833, 0.757, 0.709, 0.68, 0.68, 0.71, 0.78, 0.877",\
                 "0.839, 0.835, 0.776, 0.696, 0.641, 0.611, 0.612, 0.645, 0.715, 0.812",\
                 "0.747, 0.733, 0.675, 0.596, 0.541, 0.511, 0.511, 0.544, 0.62, 0.707");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(SETN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        preset : !SETN ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffsnq_2) {
    area : 103.174400 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&!SETN&!SI" ;
      value : "0.0002055438" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&!SETN&SI" ;
      value : "0.0002060916" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&SETN&!SI" ;
      value : "0.0003158298" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&SETN&SI" ;
      value : "0.0003163776" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&!SETN&!SI" ;
      value : "0.0002212683" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&!SETN&SI" ;
      value : "0.0002285052" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&SETN&!SI" ;
      value : "0.000331551" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&SETN&SI" ;
      value : "0.0003235881" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&!SETN&!SI" ;
      value : "0.0002006169" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&!SETN&SI" ;
      value : "0.0002006169" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&SETN&!SI" ;
      value : "0.0002956998" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&SETN&SI" ;
      value : "0.0002956998" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&!SETN&!SI" ;
      value : "0.0002381214" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&!SETN&SI" ;
      value : "0.0002142822" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&SETN&!SI" ;
      value : "0.000348414" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&SETN&SI" ;
      value : "0.0003093618" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&!SETN&!SI" ;
      value : "0.0001932546" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&!SETN&SI" ;
      value : "0.0001932546" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&SETN&!SI" ;
      value : "0.0002455761" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&SETN&SI" ;
      value : "0.0002455794" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&!SETN&!SI" ;
      value : "0.0001926606" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&!SETN&SI" ;
      value : "0.0001933767" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&SETN&!SI" ;
      value : "0.0002449788" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&SETN&SI" ;
      value : "0.000344487" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&!SETN&!SI" ;
      value : "0.0001939542" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&!SETN&SI" ;
      value : "0.0001939542" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&SETN&!SI" ;
      value : "0.000330396" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&SETN&SI" ;
      value : "0.000330396" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&!SETN&!SI" ;
      value : "0.0001926606" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&!SETN&SI" ;
      value : "0.0001933833" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&SETN&!SI" ;
      value : "0.0002449887" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&SETN&SI" ;
      value : "0.000337656" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000348414" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.003529 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 2.53 ;
      min_pulse_width_high : 0.692 ;
      min_pulse_width_low : 1.266 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1951, 0.1946, 0.1953, 0.2012, 0.2134, 0.2327, 0.26, 0.2955, \
                 0.3401, 0.3937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1312, 0.1309, 0.1314, 0.1362, 0.1465, 0.1636, 0.1878, 0.2197, \
                 0.2594, 0.3074");
        }
      }

      internal_power() {
        when : "!D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1951, 0.1946, 0.1953, 0.2012, 0.2134, 0.2327, 0.26, 0.2955, \
                 0.34, 0.3937");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1312, 0.1309, 0.1314, 0.1362, 0.1465, 0.1636, 0.1878, 0.2197, \
                 0.2594, 0.3074");
        }
      }

      internal_power() {
        when : "!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.131, 0.1305, 0.1312, 0.1371, 0.1493, 0.1688, 0.196, 0.2318, \
                 0.2763, 0.3299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09899, 0.09873, 0.09913, 0.1039, 0.114, 0.1308, 0.1549, 0.1865, \
                 0.226, 0.2737");
        }
      }

      internal_power() {
        when : "!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.131, 0.1305, 0.1312, 0.1371, 0.1494, 0.1688, 0.1961, 0.2317, \
                 0.2763, 0.3299");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09905, 0.09868, 0.09914, 0.1039, 0.114, 0.1308, 0.1549, 0.1865, \
                 0.226, 0.2737");
        }
      }

      internal_power() {
        when : "!D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2023, 0.2018, 0.2026, 0.2084, 0.2206, 0.24, 0.2673, 0.3029, \
                 0.3474, 0.4011");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1313, 0.1309, 0.1314, 0.1363, 0.1465, 0.1636, 0.1878, 0.2197, \
                 0.2594, 0.3074");
        }
      }

      internal_power() {
        when : "!D&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1472, 0.1467, 0.1473, 0.1532, 0.1655, 0.1849, 0.2122, 0.2478, \
                 0.2922, 0.3458");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.105, 0.1055, 0.1102, 0.1202, 0.1371, 0.1611, 0.1928, \
                 0.2321, 0.2798");
        }
      }

      internal_power() {
        when : "!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.131, 0.1305, 0.1311, 0.1371, 0.1493, 0.1688, 0.196, 0.2318, \
                 0.2763, 0.33");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09901, 0.0987, 0.09914, 0.1039, 0.1139, 0.1308, 0.1549, 0.1865, \
                 0.226, 0.2736");
        }
      }

      internal_power() {
        when : "!D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1303, 0.1298, 0.1305, 0.1364, 0.1487, 0.1681, 0.1954, 0.231, \
                 0.2755, 0.3293");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.105, 0.1054, 0.1102, 0.1202, 0.1371, 0.1612, 0.1927, \
                 0.2322, 0.2799");
        }
      }

      internal_power() {
        when : "D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1389, 0.1384, 0.1391, 0.145, 0.1572, 0.1766, 0.2039, 0.2395, \
                 0.284, 0.3376");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.105, 0.1054, 0.1102, 0.1202, 0.1371, 0.1611, 0.1927, \
                 0.2321, 0.2798");
        }
      }

      internal_power() {
        when : "D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1389, 0.1384, 0.1391, 0.145, 0.1572, 0.1766, 0.2039, 0.2395, \
                 0.284, 0.3377");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.105, 0.1054, 0.1102, 0.1202, 0.1371, 0.1611, 0.1927, \
                 0.2321, 0.2798");
        }
      }

      internal_power() {
        when : "D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1304, 0.1299, 0.1306, 0.1364, 0.1487, 0.1681, 0.1954, 0.2311, \
                 0.2756, 0.3293");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.105, 0.1054, 0.1102, 0.1202, 0.1371, 0.1612, 0.1927, \
                 0.2322, 0.2799");
        }
      }

      internal_power() {
        when : "D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1304, 0.1299, 0.1306, 0.1364, 0.1487, 0.1681, 0.1954, 0.2311, \
                 0.2756, 0.3292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.105, 0.1054, 0.1102, 0.1202, 0.1371, 0.1612, 0.1927, \
                 0.2322, 0.2798");
        }
      }

      internal_power() {
        when : "D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2095, 0.209, 0.2097, 0.2156, 0.2278, 0.2471, 0.2744, 0.31, 0.3545, \
                 0.4083");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1312, 0.1309, 0.1314, 0.1362, 0.1465, 0.1636, 0.1878, 0.2197, \
                 0.2594, 0.3074");
        }
      }

      internal_power() {
        when : "D&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1427, 0.1423, 0.1429, 0.1488, 0.1611, 0.1805, 0.2078, 0.2434, \
                 0.2879, 0.3415");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.105, 0.1054, 0.1102, 0.1203, 0.1371, 0.1611, 0.1927, \
                 0.2322, 0.2798");
        }
      }

      internal_power() {
        when : "D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.131, 0.1305, 0.1312, 0.1371, 0.1494, 0.1688, 0.1961, 0.2318, \
                 0.2762, 0.33");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09902, 0.0987, 0.09914, 0.1039, 0.1139, 0.1308, 0.1549, 0.1865, \
                 0.226, 0.2736");
        }
      }

      internal_power() {
        when : "D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1303, 0.1298, 0.1305, 0.1364, 0.1486, 0.1681, 0.1953, 0.231, \
                 0.2756, 0.3291");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1053, 0.105, 0.1054, 0.1102, 0.1202, 0.1371, 0.1611, 0.1927, \
                 0.2322, 0.2799");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.135");
        }

        rise_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.135");
        }

        rise_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.168");
        }

        rise_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.017");
        }

        rise_constraint(scalar) {
          values("0.655");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.938");
        }

        rise_constraint(scalar) {
          values("0.655");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.932");
        }

        rise_constraint(scalar) {
          values("0.655");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.266");
        }

        rise_constraint(scalar) {
          values("0.692");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.978");
        }

        rise_constraint(scalar) {
          values("0.655");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.27");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.27");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.341");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("2.034");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("1.874");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.874");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("2.53");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.951");
        }
      }
    }

    pin(D) {
      capacitance : 0.002654 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09043, 0.09008, 0.08921, 0.08878, 0.09061, 0.09645, 0.1072, \
                 0.1231, 0.1439, 0.1696");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02934, 0.0294, 0.02905, 0.02896, 0.03079, 0.03575, 0.04443, \
                 0.05712, 0.07408, 0.09535");
        }
      }

      internal_power() {
        when : "!CLK&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09043, 0.09008, 0.08921, 0.08878, 0.09061, 0.09644, 0.1072, \
                 0.1231, 0.1439, 0.1695");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02934, 0.0294, 0.02905, 0.02896, 0.03079, 0.03576, 0.04443, \
                 0.05712, 0.07407, 0.09535");
        }
      }

      internal_power() {
        when : "!CLK&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1253, 0.1249, 0.1241, 0.1237, 0.1261, 0.1335, 0.1463, 0.1653, \
                 0.19, 0.2201");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0842, 0.08427, 0.08389, 0.08404, 0.08687, 0.09346, 0.1044, 0.12, \
                 0.1403, 0.1653");
        }
      }

      internal_power() {
        when : "!CLK&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1253, 0.1249, 0.1241, 0.1237, 0.1261, 0.1335, 0.1463, 0.1654, \
                 0.19, 0.2201");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0842, 0.08425, 0.08389, 0.08402, 0.08684, 0.09344, 0.1044, 0.12, \
                 0.1403, 0.1653");
        }
      }

      internal_power() {
        when : "!CLK&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008413, 0.00841, 0.008424, 0.008413, 0.008412, 0.008405, 0.008399, \
                 0.008395, 0.008392, 0.008391");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007962, -0.007961, -0.007963, -0.008014, -0.008088, -0.008131, \
                 -0.008158, -0.00818, -0.008207, -0.008232");
        }
      }

      internal_power() {
        when : "!CLK&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004327, 0.004326, 0.004318, 0.004324, 0.004329, 0.004331, 0.004327, \
                 0.00432, 0.004309, 0.004304");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003062, -0.003058, -0.003045, -0.003049, -0.003066, -0.003064, \
                 -0.003063, -0.003063, -0.003066, -0.003066");
        }
      }

      internal_power() {
        when : "!CLK&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008414, 0.008423, 0.008427, 0.008419, 0.008411, 0.00841, 0.008402, \
                 0.008401, 0.008393, 0.008389");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007964, -0.007962, -0.007962, -0.008033, -0.008075, -0.008117, \
                 -0.008159, -0.008184, -0.008209, -0.008232");
        }
      }

      internal_power() {
        when : "!CLK&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004329, 0.004326, 0.004324, 0.004324, 0.004324, 0.004332, 0.004327, \
                 0.00432, 0.004311, 0.004303");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003062, -0.003051, -0.003053, -0.003057, -0.003059, -0.003064, \
                 -0.003065, -0.003066, -0.003065, -0.003065");
        }
      }

      internal_power() {
        when : "CLK&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009327, 0.009325, 0.009303, 0.009288, 0.009297, 0.009281, 0.009298, \
                 0.009298, 0.009288, 0.009286");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00627, -0.006315, -0.006767, -0.007285, -0.007624, -0.007772, \
                 -0.00789, -0.007955, -0.007997, -0.008032");
        }
      }

      internal_power() {
        when : "CLK&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009327, 0.009325, 0.009303, 0.009285, 0.009298, 0.009283, 0.009297, \
                 0.009298, 0.00929, 0.009287");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00627, -0.006314, -0.006769, -0.007281, -0.007624, -0.007772, \
                 -0.00789, -0.007954, -0.007994, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02297, 0.02298, 0.02293, 0.02292, 0.02293, 0.02296, \
                 0.02294, 0.02295, 0.02294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006288, -0.006311, -0.00677, -0.007283, -0.007602, -0.007795, \
                 -0.007885, -0.007951, -0.007996, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02296, 0.02297, 0.02298, 0.02293, 0.02292, 0.02293, 0.02296, \
                 0.02294, 0.02295, 0.02294");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006283, -0.006311, -0.006769, -0.007282, -0.007602, -0.007794, \
                 -0.007888, -0.007951, -0.007994, -0.008031");
        }
      }

      internal_power() {
        when : "CLK&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008367, 0.008381, 0.008389, 0.008367, 0.008368, 0.008356, 0.008364, \
                 0.008367, 0.008363, 0.008366");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008048, -0.008054, -0.008047, -0.008083, -0.008164, -0.008175, \
                 -0.008218, -0.008229, -0.008236, -0.008247");
        }
      }

      internal_power() {
        when : "CLK&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004122, 0.004124, 0.004139, 0.004134, 0.004148, 0.004131, 0.004148, \
                 0.004146, 0.004147, 0.004147");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.005064, -0.004833, -0.004657, -0.004587, -0.004575, -0.004544, \
                 -0.004549, -0.004542, -0.004534, -0.00453");
        }
      }

      internal_power() {
        when : "CLK&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008378, 0.008374, 0.008386, 0.008365, 0.00836, 0.008373, 0.008369, \
                 0.008365, 0.008362, 0.008361");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008043, -0.008042, -0.008024, -0.008085, -0.008142, -0.008194, \
                 -0.008217, -0.008231, -0.008235, -0.008244");
        }
      }

      internal_power() {
        when : "CLK&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.004109, 0.00412, 0.004116, 0.004122, 0.004118, 0.004129, 0.004131, \
                 0.004128, 0.004128, 0.004129");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003116, -0.003116, -0.003116, -0.003118, -0.00312, -0.003124, \
                 -0.003123, -0.00312, -0.003119, -0.003118");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.143, -0.129, -0.09, -0.019, 0.04, 0.077, 0.099, 0.101, 0.075, 0.023",\
                 "-0.152, -0.143, -0.101, -0.033, 0.031, 0.07, 0.09, 0.093, 0.064, 0.01",\
                 "-0.194, -0.177, -0.134, -0.071, -0.009, 0.035, 0.058, 0.056, 0.031, -0.027",\
                 "-0.262, -0.247, -0.207, -0.137, -0.079, -0.036, -0.014, -0.012, -0.038, -0.086",\
                 "-0.36, -0.348, -0.303, -0.232, -0.168, -0.127, -0.098, -0.099, -0.116, -0.168",\
                 "-0.474, -0.465, -0.423, -0.351, -0.284, -0.243, -0.214, -0.205, -0.232, -0.278",\
                 "-0.622, -0.613, -0.574, -0.505, -0.446, -0.392, -0.363, -0.344, -0.369, -0.409",\
                 "-0.803, -0.798, -0.77, -0.697, -0.634, -0.578, -0.553, -0.532, -0.544, -0.589",\
                 "-1.022, -1.029, -0.991, -0.942, -0.859, -0.816, -0.777, -0.76, -0.771, -0.794",\
                 "-1.288, -1.283, -1.265, -1.194, -1.131, -1.086, -1.046, -1.014, -1.017, -1.054");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.326, -0.313, -0.283, -0.265, -0.273, -0.303, -0.356, -0.424, -0.514, -0.638",\
                 "-0.343, -0.326, -0.297, -0.274, -0.285, -0.319, -0.365, -0.438, -0.53, -0.651",\
                 "-0.372, -0.355, -0.322, -0.308, -0.313, -0.342, -0.395, -0.466, -0.556, -0.676",\
                 "-0.417, -0.401, -0.369, -0.344, -0.348, -0.372, -0.413, -0.486, -0.58, -0.696",\
                 "-0.449, -0.44, -0.408, -0.385, -0.376, -0.399, -0.441, -0.506, -0.589, -0.71",\
                 "-0.474, -0.46, -0.423, -0.395, -0.389, -0.41, -0.443, -0.508, -0.594, -0.705",\
                 "-0.462, -0.45, -0.411, -0.385, -0.382, -0.399, -0.436, -0.491, -0.582, -0.688",\
                 "-0.414, -0.404, -0.366, -0.342, -0.338, -0.359, -0.397, -0.458, -0.544, -0.653",\
                 "-0.322, -0.314, -0.28, -0.26, -0.253, -0.276, -0.322, -0.382, -0.467, -0.578",\
                 "-0.194, -0.183, -0.149, -0.131, -0.135, -0.161, -0.204, -0.272, -0.359, -0.475");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.143, -0.136, -0.084, -0.019, 0.04, 0.077, 0.099, 0.101, 0.075, 0.023",\
                 "-0.152, -0.143, -0.095, -0.033, 0.031, 0.07, 0.09, 0.093, 0.064, 0.01",\
                 "-0.189, -0.177, -0.134, -0.071, -0.009, 0.035, 0.058, 0.056, 0.031, -0.027",\
                 "-0.262, -0.247, -0.201, -0.137, -0.079, -0.036, -0.014, -0.012, -0.038, -0.087",\
                 "-0.36, -0.348, -0.295, -0.232, -0.168, -0.118, -0.098, -0.099, -0.116, -0.168",\
                 "-0.474, -0.465, -0.417, -0.351, -0.284, -0.243, -0.214, -0.205, -0.232, -0.278",\
                 "-0.622, -0.613, -0.565, -0.505, -0.439, -0.392, -0.363, -0.344, -0.369, -0.409",\
                 "-0.803, -0.804, -0.758, -0.696, -0.634, -0.578, -0.553, -0.532, -0.544, -0.581",\
                 "-1.022, -1.029, -0.983, -0.924, -0.869, -0.821, -0.777, -0.753, -0.763, -0.794",\
                 "-1.288, -1.288, -1.243, -1.2, -1.13, -1.092, -1.046, -1.014, -1.026, -1.054");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.326, -0.313, -0.283, -0.265, -0.273, -0.303, -0.356, -0.424, -0.514, -0.638",\
                 "-0.343, -0.326, -0.297, -0.274, -0.285, -0.319, -0.365, -0.438, -0.53, -0.651",\
                 "-0.372, -0.355, -0.322, -0.308, -0.313, -0.342, -0.395, -0.466, -0.556, -0.676",\
                 "-0.417, -0.401, -0.369, -0.344, -0.348, -0.372, -0.413, -0.486, -0.58, -0.696",\
                 "-0.449, -0.44, -0.408, -0.385, -0.376, -0.399, -0.441, -0.506, -0.589, -0.71",\
                 "-0.474, -0.46, -0.423, -0.395, -0.389, -0.41, -0.45, -0.508, -0.594, -0.705",\
                 "-0.462, -0.45, -0.411, -0.385, -0.382, -0.399, -0.436, -0.491, -0.582, -0.688",\
                 "-0.414, -0.404, -0.366, -0.342, -0.338, -0.359, -0.397, -0.458, -0.544, -0.653",\
                 "-0.33, -0.314, -0.28, -0.259, -0.253, -0.276, -0.322, -0.382, -0.467, -0.578",\
                 "-0.194, -0.183, -0.149, -0.131, -0.135, -0.161, -0.204, -0.272, -0.359, -0.475");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.962, 0.949, 0.89, 0.801, 0.72, 0.66, 0.626, 0.619, 0.641, 0.691",\
                 "0.972, 0.961, 0.9, 0.804, 0.733, 0.672, 0.638, 0.629, 0.657, 0.703",\
                 "1.016, 1, 0.937, 0.842, 0.775, 0.712, 0.676, 0.671, 0.688, 0.752",\
                 "1.089, 1.076, 1.007, 0.919, 0.84, 0.789, 0.744, 0.74, 0.763, 0.82",\
                 "1.209, 1.197, 1.13, 1.04, 0.969, 0.907, 0.871, 0.862, 0.882, 0.938",\
                 "1.401, 1.39, 1.324, 1.229, 1.161, 1.096, 1.056, 1.039, 1.06, 1.113",\
                 "1.668, 1.65, 1.589, 1.494, 1.412, 1.349, 1.308, 1.291, 1.303, 1.352",\
                 "2.001, 1.992, 1.92, 1.825, 1.745, 1.673, 1.627, 1.608, 1.61, 1.643",\
                 "2.391, 2.385, 2.315, 2.208, 2.127, 2.047, 2, 1.968, 1.968, 2.001",\
                 "2.839, 2.829, 2.756, 2.65, 2.566, 2.476, 2.423, 2.387, 2.386, 2.416");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.79, 0.771, 0.718, 0.638, 0.578, 0.562, 0.575, 0.625, 0.697, 0.805",\
                 "0.808, 0.786, 0.729, 0.65, 0.587, 0.572, 0.587, 0.635, 0.706, 0.818",\
                 "0.839, 0.817, 0.756, 0.686, 0.627, 0.598, 0.622, 0.665, 0.738, 0.843",\
                 "0.88, 0.855, 0.799, 0.728, 0.666, 0.643, 0.654, 0.693, 0.772, 0.871",\
                 "0.933, 0.919, 0.861, 0.781, 0.714, 0.688, 0.688, 0.728, 0.797, 0.89",\
                 "0.969, 0.954, 0.89, 0.82, 0.758, 0.723, 0.719, 0.752, 0.813, 0.906",\
                 "0.985, 0.964, 0.918, 0.835, 0.771, 0.736, 0.727, 0.764, 0.818, 0.909",\
                 "0.969, 0.953, 0.901, 0.817, 0.76, 0.722, 0.71, 0.744, 0.8, 0.893",\
                 "0.926, 0.907, 0.85, 0.766, 0.707, 0.669, 0.659, 0.692, 0.747, 0.839",\
                 "0.83, 0.817, 0.756, 0.68, 0.618, 0.582, 0.568, 0.6, 0.656, 0.747");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.962, 0.949, 0.89, 0.801, 0.72, 0.666, 0.626, 0.619, 0.649, 0.701",\
                 "0.972, 0.961, 0.9, 0.804, 0.733, 0.672, 0.638, 0.629, 0.657, 0.703",\
                 "1.01, 1, 0.937, 0.842, 0.775, 0.712, 0.676, 0.671, 0.688, 0.752",\
                 "1.089, 1.076, 1.007, 0.919, 0.84, 0.789, 0.744, 0.74, 0.763, 0.82",\
                 "1.209, 1.197, 1.13, 1.04, 0.969, 0.907, 0.865, 0.862, 0.882, 0.932",\
                 "1.401, 1.39, 1.324, 1.236, 1.152, 1.096, 1.056, 1.039, 1.06, 1.113",\
                 "1.668, 1.65, 1.589, 1.494, 1.412, 1.356, 1.316, 1.301, 1.303, 1.352",\
                 "2.001, 1.992, 1.92, 1.825, 1.738, 1.673, 1.627, 1.608, 1.61, 1.643",\
                 "2.391, 2.385, 2.315, 2.216, 2.127, 2.047, 2, 1.968, 1.976, 2.001",\
                 "2.839, 2.829, 2.756, 2.65, 2.555, 2.476, 2.423, 2.387, 2.386, 2.416");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.796, 0.771, 0.718, 0.638, 0.578, 0.562, 0.575, 0.619, 0.697, 0.805",\
                 "0.801, 0.794, 0.729, 0.65, 0.587, 0.572, 0.587, 0.635, 0.714, 0.818",\
                 "0.839, 0.817, 0.756, 0.68, 0.627, 0.604, 0.613, 0.665, 0.738, 0.843",\
                 "0.88, 0.855, 0.81, 0.728, 0.666, 0.643, 0.654, 0.693, 0.772, 0.871",\
                 "0.933, 0.911, 0.852, 0.776, 0.714, 0.688, 0.688, 0.728, 0.797, 0.896",\
                 "0.969, 0.954, 0.896, 0.82, 0.758, 0.723, 0.719, 0.752, 0.819, 0.906",\
                 "0.985, 0.972, 0.918, 0.835, 0.771, 0.736, 0.727, 0.764, 0.818, 0.909",\
                 "0.969, 0.959, 0.901, 0.823, 0.76, 0.722, 0.71, 0.744, 0.8, 0.893",\
                 "0.926, 0.907, 0.85, 0.766, 0.707, 0.674, 0.659, 0.685, 0.747, 0.839",\
                 "0.83, 0.817, 0.756, 0.68, 0.612, 0.582, 0.568, 0.6, 0.656, 0.747");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 0.7205 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2018, 0.1984, 0.1948, 0.1935, 0.1929, 0.1927, 0.1925, 0.1924, 0.1924, 0.1923",\
                 "0.2018, 0.1984, 0.1949, 0.1935, 0.193, 0.1927, 0.1925, 0.1924, 0.1924, 0.1924",\
                 "0.2018, 0.1984, 0.1949, 0.1936, 0.193, 0.1927, 0.1926, 0.1925, 0.1924, 0.1924",\
                 "0.2025, 0.199, 0.1955, 0.1942, 0.1935, 0.1933, 0.1931, 0.193, 0.193, 0.193",\
                 "0.2033, 0.1998, 0.1963, 0.195, 0.1944, 0.1941, 0.1939, 0.1938, 0.1938, 0.1937",\
                 "0.2043, 0.2008, 0.1972, 0.1958, 0.1954, 0.1951, 0.1949, 0.1948, 0.1947, 0.1948",\
                 "0.2055, 0.202, 0.1985, 0.197, 0.1965, 0.1963, 0.1961, 0.196, 0.1959, 0.1959",\
                 "0.2067, 0.2032, 0.1998, 0.1985, 0.1979, 0.1975, 0.1974, 0.1973, 0.1973, 0.1972",\
                 "0.2082, 0.2047, 0.2011, 0.1997, 0.1991, 0.1989, 0.1987, 0.1986, 0.1986, 0.1986",\
                 "0.2095, 0.206, 0.2024, 0.2011, 0.2005, 0.2002, 0.2, 0.2, 0.1999, 0.1999");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2237, 0.2218, 0.2194, 0.2192, 0.2198, 0.2212, 0.2226, 0.2235, 0.2256, 0.2334",\
                 "0.2237, 0.2214, 0.2194, 0.2193, 0.2197, 0.2212, 0.2225, 0.2235, 0.2256, 0.2333",\
                 "0.2238, 0.2218, 0.2195, 0.2193, 0.2199, 0.2214, 0.2225, 0.2235, 0.2259, 0.2333",\
                 "0.224, 0.2218, 0.2196, 0.2194, 0.22, 0.2214, 0.2226, 0.2236, 0.2261, 0.2345",\
                 "0.2245, 0.2225, 0.2203, 0.2198, 0.2204, 0.2219, 0.2235, 0.2245, 0.226, 0.2362",\
                 "0.2253, 0.223, 0.2211, 0.221, 0.2213, 0.2229, 0.2241, 0.2251, 0.2269, 0.24",\
                 "0.2266, 0.2245, 0.222, 0.2217, 0.223, 0.2248, 0.2255, 0.2264, 0.229, 0.2462",\
                 "0.2282, 0.2264, 0.2235, 0.2239, 0.2241, 0.2258, 0.2282, 0.2298, 0.2305, 0.2521",\
                 "0.2302, 0.2282, 0.2256, 0.2256, 0.2253, 0.2267, 0.2293, 0.2322, 0.2361, 0.2658",\
                 "0.2328, 0.2305, 0.2284, 0.2277, 0.2282, 0.2296, 0.2305, 0.2333, 0.2413, 0.2876");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2019, 0.1984, 0.1949, 0.1935, 0.1929, 0.1927, 0.1925, 0.1924, 0.1924, 0.1924",\
                 "0.2019, 0.1983, 0.1948, 0.1935, 0.1929, 0.1926, 0.1925, 0.1924, 0.1924, 0.1923",\
                 "0.2019, 0.1984, 0.1949, 0.1936, 0.193, 0.1927, 0.1926, 0.1925, 0.1924, 0.1924",\
                 "0.2025, 0.199, 0.1954, 0.1941, 0.1935, 0.1933, 0.1931, 0.193, 0.193, 0.1929",\
                 "0.2033, 0.1998, 0.1962, 0.195, 0.1943, 0.1941, 0.1939, 0.1938, 0.1938, 0.1938",\
                 "0.2043, 0.2008, 0.1972, 0.1959, 0.1954, 0.1951, 0.1949, 0.1948, 0.1948, 0.1948",\
                 "0.2055, 0.2019, 0.1985, 0.197, 0.1965, 0.1962, 0.1961, 0.196, 0.1959, 0.1959",\
                 "0.2066, 0.2032, 0.1996, 0.1983, 0.1978, 0.1975, 0.1973, 0.1973, 0.1972, 0.1971",\
                 "0.2081, 0.2046, 0.2013, 0.1997, 0.1991, 0.1989, 0.1987, 0.1986, 0.1986, 0.1986",\
                 "0.2095, 0.2061, 0.2026, 0.2012, 0.2006, 0.2004, 0.2002, 0.2, 0.2001, 0.2");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2238, 0.2217, 0.2196, 0.2195, 0.2199, 0.2214, 0.2223, 0.2236, 0.2264, 0.2326",\
                 "0.2237, 0.2219, 0.2195, 0.2194, 0.22, 0.2214, 0.2229, 0.2239, 0.2256, 0.2334",\
                 "0.2238, 0.2217, 0.2194, 0.2193, 0.2199, 0.2214, 0.2225, 0.2234, 0.2256, 0.2332",\
                 "0.2241, 0.222, 0.2198, 0.2196, 0.2202, 0.2217, 0.2227, 0.224, 0.2264, 0.2348",\
                 "0.2246, 0.2224, 0.2203, 0.22, 0.2206, 0.2219, 0.2232, 0.2242, 0.2273, 0.2355",\
                 "0.2253, 0.2232, 0.221, 0.2212, 0.2215, 0.2228, 0.2241, 0.2251, 0.2266, 0.24",\
                 "0.2265, 0.2243, 0.2219, 0.2215, 0.2228, 0.2246, 0.2255, 0.2264, 0.229, 0.2448",\
                 "0.2283, 0.2265, 0.2236, 0.2236, 0.2242, 0.2262, 0.2285, 0.2294, 0.2308, 0.2513",\
                 "0.2303, 0.2284, 0.226, 0.2256, 0.2255, 0.2269, 0.229, 0.2322, 0.2354, 0.2653",\
                 "0.2329, 0.2307, 0.2281, 0.2279, 0.2283, 0.2294, 0.2305, 0.2333, 0.2422, 0.288");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&!SE&SETN&SI | !D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2019, 0.1985, 0.1949, 0.1935, 0.193, 0.1927, 0.1925, 0.1924, 0.1924, 0.1924",\
                 "0.2019, 0.1985, 0.1949, 0.1936, 0.193, 0.1927, 0.1926, 0.1925, 0.1924, 0.1923",\
                 "0.2019, 0.1984, 0.1949, 0.1936, 0.193, 0.1927, 0.1926, 0.1925, 0.1924, 0.1924",\
                 "0.2025, 0.1991, 0.1955, 0.194, 0.1936, 0.1933, 0.1932, 0.1931, 0.193, 0.193",\
                 "0.2033, 0.1999, 0.1964, 0.195, 0.1945, 0.1942, 0.1941, 0.194, 0.1939, 0.1939",\
                 "0.2043, 0.2008, 0.1973, 0.1959, 0.1955, 0.1952, 0.1949, 0.1949, 0.1948, 0.1949",\
                 "0.2054, 0.2019, 0.1984, 0.1969, 0.1964, 0.1962, 0.1961, 0.196, 0.1959, 0.1959",\
                 "0.2067, 0.2033, 0.1997, 0.1984, 0.1978, 0.1975, 0.1974, 0.1973, 0.1973, 0.1972",\
                 "0.2081, 0.2047, 0.2011, 0.1999, 0.1992, 0.1989, 0.1987, 0.1986, 0.1986, 0.1986",\
                 "0.2096, 0.2062, 0.2026, 0.2013, 0.2006, 0.2004, 0.2003, 0.2, 0.2001, 0.2");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2238, 0.222, 0.2193, 0.2193, 0.2198, 0.2217, 0.2229, 0.2242, 0.2257, 0.2331",\
                 "0.2239, 0.2218, 0.2195, 0.2193, 0.2199, 0.2213, 0.2226, 0.2235, 0.2246, 0.2334",\
                 "0.2237, 0.2217, 0.2195, 0.2192, 0.2198, 0.2212, 0.2225, 0.2234, 0.2246, 0.2336",\
                 "0.2241, 0.2218, 0.2198, 0.2196, 0.2202, 0.2217, 0.2227, 0.224, 0.2264, 0.2348",\
                 "0.2246, 0.2226, 0.2202, 0.2199, 0.2204, 0.2221, 0.2232, 0.2242, 0.226, 0.2365",\
                 "0.2253, 0.2232, 0.221, 0.2211, 0.2215, 0.2228, 0.2241, 0.2251, 0.2266, 0.24",\
                 "0.2266, 0.2245, 0.2223, 0.2216, 0.2229, 0.2246, 0.2255, 0.2267, 0.229, 0.2445",\
                 "0.2283, 0.2265, 0.2241, 0.2238, 0.2241, 0.2261, 0.2285, 0.2297, 0.2308, 0.2525",\
                 "0.2303, 0.2284, 0.226, 0.2258, 0.2255, 0.2269, 0.229, 0.2322, 0.2354, 0.2653",\
                 "0.233, 0.231, 0.2287, 0.228, 0.2284, 0.2294, 0.2306, 0.2334, 0.242, 0.288");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&SE&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2018, 0.1984, 0.1948, 0.1935, 0.193, 0.1927, 0.1925, 0.1924, 0.1924, 0.1923",\
                 "0.2018, 0.1984, 0.1948, 0.1935, 0.193, 0.1926, 0.1925, 0.1924, 0.1924, 0.1924",\
                 "0.2019, 0.1984, 0.1949, 0.1936, 0.193, 0.1927, 0.1926, 0.1925, 0.1924, 0.1924",\
                 "0.2025, 0.199, 0.1955, 0.1941, 0.1935, 0.1933, 0.1931, 0.193, 0.193, 0.193",\
                 "0.2034, 0.1999, 0.1963, 0.195, 0.1945, 0.1943, 0.194, 0.1941, 0.194, 0.194",\
                 "0.2043, 0.2009, 0.1974, 0.196, 0.1955, 0.1952, 0.195, 0.1949, 0.1949, 0.1949",\
                 "0.2055, 0.2019, 0.1984, 0.197, 0.1965, 0.1963, 0.1961, 0.196, 0.1959, 0.1959",\
                 "0.2067, 0.2032, 0.1996, 0.1983, 0.1978, 0.1975, 0.1973, 0.1973, 0.1972, 0.1971",\
                 "0.2082, 0.2047, 0.2011, 0.1998, 0.1992, 0.1989, 0.1987, 0.1986, 0.1987, 0.1986",\
                 "0.2096, 0.2061, 0.2026, 0.2012, 0.2007, 0.2003, 0.2002, 0.2001, 0.2, 0.2");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2238, 0.2219, 0.2194, 0.2193, 0.2197, 0.2213, 0.2226, 0.2235, 0.2256, 0.2327",\
                 "0.2238, 0.2216, 0.2192, 0.2193, 0.2198, 0.2213, 0.2225, 0.2235, 0.2253, 0.2334",\
                 "0.2238, 0.2216, 0.2195, 0.2194, 0.2199, 0.2213, 0.2225, 0.2234, 0.2255, 0.2332",\
                 "0.2241, 0.2218, 0.2197, 0.2195, 0.2201, 0.2216, 0.2226, 0.2239, 0.2261, 0.2348",\
                 "0.2247, 0.2226, 0.2203, 0.2201, 0.2206, 0.2222, 0.2231, 0.2241, 0.226, 0.2365",\
                 "0.2255, 0.2231, 0.2207, 0.221, 0.2214, 0.2232, 0.2245, 0.2251, 0.2273, 0.2398",\
                 "0.2267, 0.2246, 0.2222, 0.2219, 0.2232, 0.2247, 0.2252, 0.2264, 0.2291, 0.2462",\
                 "0.2282, 0.2265, 0.2236, 0.2239, 0.2242, 0.2258, 0.2282, 0.2298, 0.2309, 0.2511",\
                 "0.2303, 0.2284, 0.2261, 0.2259, 0.2256, 0.2266, 0.2293, 0.2325, 0.2361, 0.266",\
                 "0.2328, 0.2307, 0.2283, 0.2278, 0.2284, 0.2291, 0.2298, 0.2336, 0.2419, 0.288");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2201, 0.2179, 0.2154, 0.2148, 0.2155, 0.2165, 0.2178, 0.219, 0.2208, 0.2299",\
                 "0.2199, 0.2178, 0.2155, 0.2148, 0.2153, 0.2166, 0.2178, 0.219, 0.2212, 0.2291",\
                 "0.2205, 0.2184, 0.2159, 0.215, 0.216, 0.2176, 0.2185, 0.2196, 0.2214, 0.2299",\
                 "0.2241, 0.2217, 0.2194, 0.2186, 0.2195, 0.2205, 0.2218, 0.2231, 0.2249, 0.2355",\
                 "0.2346, 0.2323, 0.2293, 0.2283, 0.2289, 0.23, 0.2314, 0.2327, 0.2345, 0.2473",\
                 "0.2515, 0.249, 0.2457, 0.2444, 0.2446, 0.246, 0.2469, 0.2482, 0.2504, 0.2658",\
                 "0.2759, 0.2732, 0.2695, 0.2673, 0.2686, 0.2689, 0.2697, 0.2709, 0.2733, 0.2921",\
                 "0.3056, 0.3027, 0.2982, 0.2958, 0.2951, 0.2971, 0.2985, 0.2988, 0.3026, 0.3309",\
                 "0.3388, 0.3355, 0.3307, 0.3274, 0.3262, 0.3269, 0.3301, 0.3316, 0.3351, 0.3785",\
                 "0.3751, 0.3716, 0.3662, 0.3625, 0.3607, 0.3603, 0.3621, 0.3665, 0.3753, 0.4501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2201, 0.2179, 0.2154, 0.2148, 0.2155, 0.2165, 0.2178, 0.219, 0.2208, 0.2299",\
                 "0.2199, 0.2178, 0.2155, 0.2148, 0.2153, 0.2166, 0.2178, 0.219, 0.2212, 0.2291",\
                 "0.2205, 0.2184, 0.2159, 0.215, 0.216, 0.2176, 0.2185, 0.2196, 0.2214, 0.2299",\
                 "0.2241, 0.2217, 0.2194, 0.2186, 0.2195, 0.2205, 0.2218, 0.2231, 0.2249, 0.2355",\
                 "0.2346, 0.2323, 0.2293, 0.2283, 0.2289, 0.23, 0.2314, 0.2327, 0.2345, 0.2473",\
                 "0.2515, 0.249, 0.2457, 0.2444, 0.2446, 0.246, 0.2469, 0.2482, 0.2504, 0.2658",\
                 "0.2759, 0.2732, 0.2695, 0.2673, 0.2686, 0.2689, 0.2697, 0.2709, 0.2733, 0.2921",\
                 "0.3056, 0.3027, 0.2982, 0.2958, 0.2951, 0.2971, 0.2985, 0.2988, 0.3026, 0.3309",\
                 "0.3388, 0.3355, 0.3307, 0.3274, 0.3262, 0.3269, 0.3301, 0.3316, 0.3351, 0.3785",\
                 "0.3751, 0.3716, 0.3662, 0.3625, 0.3607, 0.3603, 0.3621, 0.3665, 0.3753, 0.4501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2201, 0.2179, 0.2154, 0.2148, 0.2155, 0.2166, 0.2182, 0.2193, 0.2208, 0.2299",\
                 "0.2201, 0.2179, 0.2154, 0.215, 0.2154, 0.2165, 0.2181, 0.2191, 0.2208, 0.2301",\
                 "0.2205, 0.2184, 0.2159, 0.215, 0.216, 0.2176, 0.2185, 0.2196, 0.2214, 0.2299",\
                 "0.2241, 0.2217, 0.2194, 0.2186, 0.2195, 0.2205, 0.2218, 0.2231, 0.2249, 0.2355",\
                 "0.2346, 0.2323, 0.2293, 0.2283, 0.2286, 0.23, 0.231, 0.2324, 0.2345, 0.2473",\
                 "0.2516, 0.249, 0.2457, 0.2447, 0.2449, 0.246, 0.2472, 0.2482, 0.2514, 0.2649",\
                 "0.2758, 0.2731, 0.2695, 0.2675, 0.2682, 0.2689, 0.2693, 0.2709, 0.2736, 0.2921",\
                 "0.3056, 0.3027, 0.2985, 0.2959, 0.2955, 0.2974, 0.2985, 0.2991, 0.3026, 0.3292",\
                 "0.3388, 0.3357, 0.3305, 0.3275, 0.3263, 0.3272, 0.3304, 0.3312, 0.3362, 0.3782",\
                 "0.3751, 0.3716, 0.3659, 0.3625, 0.3615, 0.3603, 0.3621, 0.3665, 0.3753, 0.4501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2201, 0.2179, 0.2154, 0.2148, 0.2155, 0.2166, 0.2182, 0.2193, 0.2208, 0.2299",\
                 "0.2201, 0.2179, 0.2154, 0.215, 0.2154, 0.2165, 0.2181, 0.2191, 0.2208, 0.2301",\
                 "0.2205, 0.2184, 0.2159, 0.215, 0.216, 0.2176, 0.2185, 0.2196, 0.2214, 0.2299",\
                 "0.2241, 0.2217, 0.2194, 0.2186, 0.2195, 0.2205, 0.2218, 0.2231, 0.2249, 0.2355",\
                 "0.2346, 0.2323, 0.2293, 0.2283, 0.2286, 0.23, 0.231, 0.2324, 0.2345, 0.2473",\
                 "0.2516, 0.249, 0.2457, 0.2447, 0.2449, 0.246, 0.2472, 0.2482, 0.2514, 0.2649",\
                 "0.2758, 0.2731, 0.2695, 0.2675, 0.2682, 0.2689, 0.2693, 0.2709, 0.2736, 0.2921",\
                 "0.3056, 0.3027, 0.2985, 0.2959, 0.2955, 0.2974, 0.2985, 0.2991, 0.3026, 0.3292",\
                 "0.3388, 0.3357, 0.3305, 0.3275, 0.3263, 0.3272, 0.3304, 0.3312, 0.3362, 0.3782",\
                 "0.3751, 0.3716, 0.3659, 0.3625, 0.3615, 0.3603, 0.3621, 0.3665, 0.3753, 0.4501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2201, 0.218, 0.2154, 0.2148, 0.2155, 0.2166, 0.2181, 0.2193, 0.2208, 0.2299",\
                 "0.22, 0.2179, 0.2154, 0.2149, 0.2155, 0.2165, 0.218, 0.219, 0.2208, 0.2301",\
                 "0.2205, 0.2184, 0.2159, 0.215, 0.216, 0.2175, 0.2185, 0.2196, 0.2214, 0.2299",\
                 "0.2241, 0.2217, 0.2194, 0.2186, 0.2195, 0.2205, 0.2218, 0.2231, 0.225, 0.2355",\
                 "0.2346, 0.2323, 0.2293, 0.2283, 0.2286, 0.23, 0.231, 0.2323, 0.2345, 0.2473",\
                 "0.2517, 0.2491, 0.2458, 0.2445, 0.2445, 0.2458, 0.2472, 0.2479, 0.2501, 0.2639",\
                 "0.2758, 0.2731, 0.2694, 0.2676, 0.2685, 0.2692, 0.2697, 0.2713, 0.2743, 0.2921",\
                 "0.3056, 0.3027, 0.2987, 0.2961, 0.2954, 0.2978, 0.2985, 0.2991, 0.3019, 0.3296",\
                 "0.3388, 0.3357, 0.3307, 0.3275, 0.3266, 0.3273, 0.3304, 0.3312, 0.3355, 0.3795",\
                 "0.3751, 0.3716, 0.366, 0.3622, 0.3612, 0.3603, 0.3621, 0.3665, 0.3753, 0.4501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2201, 0.218, 0.2154, 0.2148, 0.2155, 0.2166, 0.2181, 0.2193, 0.2208, 0.2299",\
                 "0.22, 0.2179, 0.2154, 0.2149, 0.2155, 0.2165, 0.218, 0.219, 0.2208, 0.2301",\
                 "0.2205, 0.2184, 0.2159, 0.215, 0.216, 0.2175, 0.2185, 0.2196, 0.2214, 0.2299",\
                 "0.2241, 0.2217, 0.2194, 0.2186, 0.2195, 0.2205, 0.2218, 0.2231, 0.225, 0.2355",\
                 "0.2346, 0.2323, 0.2293, 0.2283, 0.2286, 0.23, 0.231, 0.2323, 0.2345, 0.2473",\
                 "0.2517, 0.2491, 0.2458, 0.2445, 0.2445, 0.2458, 0.2472, 0.2479, 0.2501, 0.2639",\
                 "0.2758, 0.2731, 0.2694, 0.2676, 0.2685, 0.2692, 0.2697, 0.2713, 0.2743, 0.2921",\
                 "0.3056, 0.3027, 0.2987, 0.2961, 0.2954, 0.2978, 0.2985, 0.2991, 0.3019, 0.3296",\
                 "0.3388, 0.3357, 0.3307, 0.3275, 0.3266, 0.3273, 0.3304, 0.3312, 0.3355, 0.3795",\
                 "0.3751, 0.3716, 0.366, 0.3622, 0.3612, 0.3603, 0.3621, 0.3665, 0.3753, 0.4501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2195, 0.2174, 0.2149, 0.2141, 0.2148, 0.2161, 0.2173, 0.2185, 0.2206, 0.2277",\
                 "0.2195, 0.2173, 0.2147, 0.214, 0.2149, 0.2159, 0.2171, 0.2185, 0.221, 0.2279",\
                 "0.2198, 0.2177, 0.2152, 0.2143, 0.2153, 0.2169, 0.2176, 0.2189, 0.2207, 0.2305",\
                 "0.2235, 0.2213, 0.2186, 0.2179, 0.2186, 0.2207, 0.2225, 0.2222, 0.2243, 0.2333",\
                 "0.2341, 0.2318, 0.2287, 0.2277, 0.2284, 0.2294, 0.2316, 0.2331, 0.2343, 0.2446",\
                 "0.2512, 0.2485, 0.2455, 0.2444, 0.2445, 0.2457, 0.2469, 0.2479, 0.2501, 0.2639",\
                 "0.2753, 0.2725, 0.2686, 0.2668, 0.2676, 0.2685, 0.2687, 0.2703, 0.273, 0.2915",\
                 "0.3053, 0.3023, 0.2977, 0.2952, 0.295, 0.297, 0.2981, 0.299, 0.3015, 0.3294",\
                 "0.3386, 0.3356, 0.3304, 0.3273, 0.3261, 0.3272, 0.3301, 0.3309, 0.3355, 0.3779",\
                 "0.3748, 0.3712, 0.3659, 0.363, 0.3612, 0.3606, 0.3628, 0.3664, 0.3753, 0.4496");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2195, 0.2174, 0.2149, 0.2141, 0.2148, 0.2161, 0.2173, 0.2185, 0.2206, 0.2277",\
                 "0.2195, 0.2173, 0.2147, 0.214, 0.2149, 0.2159, 0.2171, 0.2185, 0.221, 0.2279",\
                 "0.2198, 0.2177, 0.2152, 0.2143, 0.2153, 0.2169, 0.2176, 0.2189, 0.2207, 0.2305",\
                 "0.2235, 0.2213, 0.2186, 0.2179, 0.2186, 0.2207, 0.2225, 0.2222, 0.2243, 0.2333",\
                 "0.2341, 0.2318, 0.2287, 0.2277, 0.2284, 0.2294, 0.2316, 0.2331, 0.2343, 0.2446",\
                 "0.2512, 0.2485, 0.2455, 0.2444, 0.2445, 0.2457, 0.2469, 0.2479, 0.2501, 0.2639",\
                 "0.2753, 0.2725, 0.2686, 0.2668, 0.2676, 0.2685, 0.2687, 0.2703, 0.273, 0.2915",\
                 "0.3053, 0.3023, 0.2977, 0.2952, 0.295, 0.297, 0.2981, 0.299, 0.3015, 0.3294",\
                 "0.3386, 0.3356, 0.3304, 0.3273, 0.3261, 0.3272, 0.3301, 0.3309, 0.3355, 0.3779",\
                 "0.3748, 0.3712, 0.3659, 0.363, 0.3612, 0.3606, 0.3628, 0.3664, 0.3753, 0.4496");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2194, 0.2174, 0.2148, 0.214, 0.2149, 0.216, 0.2175, 0.2192, 0.2203, 0.2302",\
                 "0.2195, 0.2173, 0.2148, 0.214, 0.2149, 0.2159, 0.2171, 0.2185, 0.221, 0.2279",\
                 "0.2198, 0.2177, 0.2152, 0.2143, 0.2151, 0.2165, 0.218, 0.2189, 0.2207, 0.2302",\
                 "0.2235, 0.2213, 0.2186, 0.2179, 0.2186, 0.2207, 0.2225, 0.2222, 0.2244, 0.2333",\
                 "0.2341, 0.2318, 0.2288, 0.2277, 0.2284, 0.2294, 0.2317, 0.2331, 0.2343, 0.2446",\
                 "0.2512, 0.2486, 0.2455, 0.2443, 0.2445, 0.2453, 0.2469, 0.2476, 0.2501, 0.2656",\
                 "0.2752, 0.2725, 0.2686, 0.2672, 0.2679, 0.2685, 0.2694, 0.2716, 0.274, 0.2915",\
                 "0.3055, 0.3023, 0.2981, 0.2957, 0.2948, 0.2971, 0.2984, 0.2984, 0.3012, 0.3287",\
                 "0.3386, 0.3355, 0.3303, 0.3271, 0.3259, 0.3272, 0.3301, 0.3309, 0.3355, 0.3779",\
                 "0.3747, 0.3713, 0.3663, 0.3627, 0.3611, 0.3606, 0.3628, 0.3668, 0.3759, 0.4497");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2194, 0.2174, 0.2148, 0.214, 0.2149, 0.216, 0.2175, 0.2192, 0.2203, 0.2302",\
                 "0.2195, 0.2173, 0.2148, 0.214, 0.2149, 0.2159, 0.2171, 0.2185, 0.221, 0.2279",\
                 "0.2198, 0.2177, 0.2152, 0.2143, 0.2151, 0.2165, 0.218, 0.2189, 0.2207, 0.2302",\
                 "0.2235, 0.2213, 0.2186, 0.2179, 0.2186, 0.2207, 0.2225, 0.2222, 0.2244, 0.2333",\
                 "0.2341, 0.2318, 0.2288, 0.2277, 0.2284, 0.2294, 0.2317, 0.2331, 0.2343, 0.2446",\
                 "0.2512, 0.2486, 0.2455, 0.2443, 0.2445, 0.2453, 0.2469, 0.2476, 0.2501, 0.2656",\
                 "0.2752, 0.2725, 0.2686, 0.2672, 0.2679, 0.2685, 0.2694, 0.2716, 0.274, 0.2915",\
                 "0.3055, 0.3023, 0.2981, 0.2957, 0.2948, 0.2971, 0.2984, 0.2984, 0.3012, 0.3287",\
                 "0.3386, 0.3355, 0.3303, 0.3271, 0.3259, 0.3272, 0.3301, 0.3309, 0.3355, 0.3779",\
                 "0.3747, 0.3713, 0.3663, 0.3627, 0.3611, 0.3606, 0.3628, 0.3668, 0.3759, 0.4497");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2195, 0.2173, 0.2149, 0.214, 0.2147, 0.2165, 0.2175, 0.2185, 0.2203, 0.2294",\
                 "0.2194, 0.2173, 0.2147, 0.214, 0.2149, 0.2159, 0.2171, 0.2185, 0.221, 0.2279",\
                 "0.2198, 0.2177, 0.2152, 0.2145, 0.2151, 0.2166, 0.218, 0.2189, 0.2207, 0.2289",\
                 "0.2235, 0.2213, 0.2186, 0.2179, 0.2186, 0.2207, 0.2225, 0.2222, 0.2243, 0.2332",\
                 "0.2341, 0.2318, 0.2288, 0.2277, 0.2284, 0.2294, 0.2316, 0.2331, 0.2343, 0.2446",\
                 "0.2512, 0.2486, 0.2455, 0.2443, 0.2445, 0.2453, 0.2468, 0.2479, 0.2501, 0.2656",\
                 "0.2756, 0.2725, 0.2686, 0.2672, 0.2679, 0.2685, 0.2694, 0.2716, 0.273, 0.2915",\
                 "0.3055, 0.3023, 0.2981, 0.2957, 0.2948, 0.2971, 0.2984, 0.2983, 0.3012, 0.3287",\
                 "0.3386, 0.3355, 0.3304, 0.3273, 0.3259, 0.3272, 0.3301, 0.3309, 0.3355, 0.3779",\
                 "0.3747, 0.3713, 0.3663, 0.363, 0.3612, 0.3603, 0.3624, 0.3668, 0.3759, 0.4497");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2195, 0.2173, 0.2149, 0.214, 0.2147, 0.2165, 0.2175, 0.2185, 0.2203, 0.2294",\
                 "0.2194, 0.2173, 0.2147, 0.214, 0.2149, 0.2159, 0.2171, 0.2185, 0.221, 0.2279",\
                 "0.2198, 0.2177, 0.2152, 0.2145, 0.2151, 0.2166, 0.218, 0.2189, 0.2207, 0.2289",\
                 "0.2235, 0.2213, 0.2186, 0.2179, 0.2186, 0.2207, 0.2225, 0.2222, 0.2243, 0.2332",\
                 "0.2341, 0.2318, 0.2288, 0.2277, 0.2284, 0.2294, 0.2316, 0.2331, 0.2343, 0.2446",\
                 "0.2512, 0.2486, 0.2455, 0.2443, 0.2445, 0.2453, 0.2468, 0.2479, 0.2501, 0.2656",\
                 "0.2756, 0.2725, 0.2686, 0.2672, 0.2679, 0.2685, 0.2694, 0.2716, 0.273, 0.2915",\
                 "0.3055, 0.3023, 0.2981, 0.2957, 0.2948, 0.2971, 0.2984, 0.2983, 0.3012, 0.3287",\
                 "0.3386, 0.3355, 0.3304, 0.3273, 0.3259, 0.3272, 0.3301, 0.3309, 0.3355, 0.3779",\
                 "0.3747, 0.3713, 0.3663, 0.363, 0.3612, 0.3603, 0.3624, 0.3668, 0.3759, 0.4497");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2201, 0.218, 0.2154, 0.2147, 0.2155, 0.2166, 0.2181, 0.2193, 0.2208, 0.2299",\
                 "0.22, 0.2179, 0.2154, 0.215, 0.2155, 0.2165, 0.2178, 0.2191, 0.2208, 0.2301",\
                 "0.2205, 0.2184, 0.2159, 0.215, 0.216, 0.2176, 0.2185, 0.2196, 0.2214, 0.2299",\
                 "0.224, 0.2218, 0.2194, 0.2185, 0.2194, 0.2205, 0.2218, 0.2231, 0.2249, 0.2358",\
                 "0.2346, 0.2323, 0.2293, 0.2283, 0.2286, 0.23, 0.2311, 0.2327, 0.2345, 0.2473",\
                 "0.2516, 0.249, 0.2459, 0.2444, 0.2445, 0.2456, 0.2469, 0.2488, 0.2504, 0.2658",\
                 "0.2759, 0.2732, 0.2695, 0.2674, 0.2685, 0.2684, 0.2694, 0.2709, 0.2733, 0.2922",\
                 "0.3057, 0.3028, 0.2985, 0.296, 0.2953, 0.2975, 0.2985, 0.2987, 0.3029, 0.3296",\
                 "0.339, 0.3355, 0.3305, 0.3277, 0.3267, 0.327, 0.3304, 0.3312, 0.3358, 0.3782",\
                 "0.3751, 0.3716, 0.3659, 0.3625, 0.3612, 0.3602, 0.3621, 0.3664, 0.3753, 0.4501");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2201, 0.218, 0.2154, 0.2147, 0.2155, 0.2166, 0.2181, 0.2193, 0.2208, 0.2299",\
                 "0.22, 0.2179, 0.2154, 0.215, 0.2155, 0.2165, 0.2178, 0.2191, 0.2208, 0.2301",\
                 "0.2205, 0.2184, 0.2159, 0.215, 0.216, 0.2176, 0.2185, 0.2196, 0.2214, 0.2299",\
                 "0.224, 0.2218, 0.2194, 0.2185, 0.2194, 0.2205, 0.2218, 0.2231, 0.2249, 0.2358",\
                 "0.2346, 0.2323, 0.2293, 0.2283, 0.2286, 0.23, 0.2311, 0.2327, 0.2345, 0.2473",\
                 "0.2516, 0.249, 0.2459, 0.2444, 0.2445, 0.2456, 0.2469, 0.2488, 0.2504, 0.2658",\
                 "0.2759, 0.2732, 0.2695, 0.2674, 0.2685, 0.2684, 0.2694, 0.2709, 0.2733, 0.2922",\
                 "0.3057, 0.3028, 0.2985, 0.296, 0.2953, 0.2975, 0.2985, 0.2987, 0.3029, 0.3296",\
                 "0.339, 0.3355, 0.3305, 0.3277, 0.3267, 0.327, 0.3304, 0.3312, 0.3358, 0.3782",\
                 "0.3751, 0.3716, 0.3659, 0.3625, 0.3612, 0.3602, 0.3621, 0.3664, 0.3753, 0.4501");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2195, 0.2174, 0.2149, 0.2141, 0.2148, 0.2161, 0.2173, 0.2185, 0.2206, 0.2277",\
                 "0.2195, 0.2173, 0.2148, 0.214, 0.2149, 0.2159, 0.2171, 0.2185, 0.221, 0.2279",\
                 "0.2199, 0.2177, 0.2149, 0.2144, 0.2151, 0.2163, 0.2178, 0.2189, 0.221, 0.2289",\
                 "0.2235, 0.2213, 0.2186, 0.2179, 0.2186, 0.2207, 0.2225, 0.2222, 0.2244, 0.2333",\
                 "0.2341, 0.2318, 0.2287, 0.2277, 0.228, 0.2294, 0.2316, 0.2331, 0.2343, 0.2446",\
                 "0.2511, 0.2487, 0.2456, 0.2443, 0.2445, 0.2456, 0.247, 0.2476, 0.2494, 0.2656",\
                 "0.2753, 0.2727, 0.2685, 0.2669, 0.268, 0.2685, 0.2694, 0.2713, 0.273, 0.2918",\
                 "0.3053, 0.3022, 0.2976, 0.2955, 0.2947, 0.297, 0.2974, 0.2983, 0.3012, 0.3294",\
                 "0.3385, 0.3355, 0.3302, 0.3277, 0.3259, 0.3267, 0.3301, 0.3309, 0.3355, 0.3779",\
                 "0.3748, 0.3714, 0.3664, 0.363, 0.3613, 0.3607, 0.3625, 0.3665, 0.3753, 0.4489");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.2195, 0.2174, 0.2149, 0.2141, 0.2148, 0.2161, 0.2173, 0.2185, 0.2206, 0.2277",\
                 "0.2195, 0.2173, 0.2148, 0.214, 0.2149, 0.2159, 0.2171, 0.2185, 0.221, 0.2279",\
                 "0.2199, 0.2177, 0.2149, 0.2144, 0.2151, 0.2163, 0.2178, 0.2189, 0.221, 0.2289",\
                 "0.2235, 0.2213, 0.2186, 0.2179, 0.2186, 0.2207, 0.2225, 0.2222, 0.2244, 0.2333",\
                 "0.2341, 0.2318, 0.2287, 0.2277, 0.228, 0.2294, 0.2316, 0.2331, 0.2343, 0.2446",\
                 "0.2511, 0.2487, 0.2456, 0.2443, 0.2445, 0.2456, 0.247, 0.2476, 0.2494, 0.2656",\
                 "0.2753, 0.2727, 0.2685, 0.2669, 0.268, 0.2685, 0.2694, 0.2713, 0.273, 0.2918",\
                 "0.3053, 0.3022, 0.2976, 0.2955, 0.2947, 0.297, 0.2974, 0.2983, 0.3012, 0.3294",\
                 "0.3385, 0.3355, 0.3302, 0.3277, 0.3259, 0.3267, 0.3301, 0.3309, 0.3355, 0.3779",\
                 "0.3748, 0.3714, 0.3664, 0.363, 0.3613, 0.3607, 0.3625, 0.3665, 0.3753, 0.4489");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.299, 0.2967, 0.2958, 0.2964, 0.298, 0.2989, 0.2999, 0.302, 0.3081",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2975, 0.298, 0.2996, 0.3017, 0.308",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3094, 0.3071, 0.3046, 0.3039, 0.3043, 0.3055, 0.3069, 0.3079, 0.311, 0.3186",\
                 "0.3292, 0.327, 0.3238, 0.323, 0.3236, 0.3246, 0.3257, 0.327, 0.3292, 0.339",\
                 "0.3613, 0.3588, 0.3555, 0.3545, 0.3544, 0.3556, 0.3567, 0.358, 0.3599, 0.3735",\
                 "0.4063, 0.4035, 0.3999, 0.3983, 0.3987, 0.3993, 0.4, 0.4012, 0.4039, 0.4233",\
                 "0.4615, 0.4587, 0.4545, 0.4519, 0.4514, 0.4543, 0.4541, 0.455, 0.4578, 0.4861",\
                 "0.5225, 0.5195, 0.5149, 0.5118, 0.5108, 0.5112, 0.5151, 0.5156, 0.5202, 0.5635",\
                 "0.5888, 0.5855, 0.5806, 0.5776, 0.5763, 0.5759, 0.5778, 0.5815, 0.5907, 0.6677");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.299, 0.2967, 0.2958, 0.2964, 0.298, 0.2989, 0.2999, 0.302, 0.3081",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2975, 0.298, 0.2996, 0.3017, 0.308",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3094, 0.3071, 0.3046, 0.3039, 0.3043, 0.3055, 0.3069, 0.3079, 0.311, 0.3186",\
                 "0.3292, 0.327, 0.3238, 0.323, 0.3236, 0.3246, 0.3257, 0.327, 0.3292, 0.339",\
                 "0.3613, 0.3588, 0.3555, 0.3545, 0.3544, 0.3556, 0.3567, 0.358, 0.3599, 0.3735",\
                 "0.4063, 0.4035, 0.3999, 0.3983, 0.3987, 0.3993, 0.4, 0.4012, 0.4039, 0.4233",\
                 "0.4615, 0.4587, 0.4545, 0.4519, 0.4514, 0.4543, 0.4541, 0.455, 0.4578, 0.4861",\
                 "0.5225, 0.5195, 0.5149, 0.5118, 0.5108, 0.5112, 0.5151, 0.5156, 0.5202, 0.5635",\
                 "0.5888, 0.5855, 0.5806, 0.5776, 0.5763, 0.5759, 0.5778, 0.5815, 0.5907, 0.6677");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3011, 0.299, 0.2967, 0.2958, 0.2964, 0.298, 0.2989, 0.3002, 0.302, 0.3081",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2975, 0.298, 0.2996, 0.3017, 0.308",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3094, 0.3072, 0.3046, 0.3039, 0.3043, 0.3055, 0.3069, 0.3079, 0.311, 0.3186",\
                 "0.3292, 0.327, 0.324, 0.323, 0.3233, 0.3247, 0.3257, 0.327, 0.3292, 0.3394",\
                 "0.3613, 0.3588, 0.3559, 0.3546, 0.3546, 0.3559, 0.3567, 0.3579, 0.3599, 0.3739",\
                 "0.4063, 0.4035, 0.3996, 0.3983, 0.3987, 0.3993, 0.4, 0.4012, 0.4039, 0.423",\
                 "0.4615, 0.4587, 0.4545, 0.4519, 0.4514, 0.4543, 0.4541, 0.455, 0.4579, 0.4861",\
                 "0.5223, 0.5194, 0.5149, 0.5118, 0.5108, 0.5112, 0.5145, 0.5153, 0.5206, 0.5635",\
                 "0.5887, 0.5856, 0.5807, 0.5776, 0.5761, 0.5758, 0.5778, 0.5818, 0.5907, 0.6663");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3011, 0.299, 0.2967, 0.2958, 0.2964, 0.298, 0.2989, 0.3002, 0.302, 0.3081",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2975, 0.298, 0.2996, 0.3017, 0.308",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3094, 0.3072, 0.3046, 0.3039, 0.3043, 0.3055, 0.3069, 0.3079, 0.311, 0.3186",\
                 "0.3292, 0.327, 0.324, 0.323, 0.3233, 0.3247, 0.3257, 0.327, 0.3292, 0.3394",\
                 "0.3613, 0.3588, 0.3559, 0.3546, 0.3546, 0.3559, 0.3567, 0.3579, 0.3599, 0.3739",\
                 "0.4063, 0.4035, 0.3996, 0.3983, 0.3987, 0.3993, 0.4, 0.4012, 0.4039, 0.423",\
                 "0.4615, 0.4587, 0.4545, 0.4519, 0.4514, 0.4543, 0.4541, 0.455, 0.4579, 0.4861",\
                 "0.5223, 0.5194, 0.5149, 0.5118, 0.5108, 0.5112, 0.5145, 0.5153, 0.5206, 0.5635",\
                 "0.5887, 0.5856, 0.5807, 0.5776, 0.5761, 0.5758, 0.5778, 0.5818, 0.5907, 0.6663");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3011, 0.2991, 0.2967, 0.2958, 0.2964, 0.2976, 0.2986, 0.2999, 0.302, 0.3084",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2975, 0.298, 0.2996, 0.3017, 0.308",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3094, 0.3071, 0.3046, 0.3038, 0.3046, 0.3055, 0.3066, 0.3079, 0.311, 0.3186",\
                 "0.3291, 0.3269, 0.324, 0.3229, 0.3232, 0.3247, 0.326, 0.327, 0.3295, 0.3397",\
                 "0.3613, 0.3589, 0.3554, 0.3546, 0.3544, 0.3561, 0.3567, 0.358, 0.3606, 0.3735",\
                 "0.4063, 0.4038, 0.4, 0.3983, 0.3988, 0.3994, 0.4, 0.4012, 0.4039, 0.4224",\
                 "0.4615, 0.4586, 0.4545, 0.4518, 0.4514, 0.4542, 0.4541, 0.455, 0.4578, 0.4861",\
                 "0.5223, 0.5193, 0.5147, 0.5118, 0.5108, 0.5118, 0.5148, 0.5153, 0.5196, 0.5635",\
                 "0.5889, 0.5856, 0.5804, 0.5774, 0.576, 0.5759, 0.5778, 0.5815, 0.5907, 0.6673");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3011, 0.2991, 0.2967, 0.2958, 0.2964, 0.2976, 0.2986, 0.2999, 0.302, 0.3084",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2975, 0.298, 0.2996, 0.3017, 0.308",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3094, 0.3071, 0.3046, 0.3038, 0.3046, 0.3055, 0.3066, 0.3079, 0.311, 0.3186",\
                 "0.3291, 0.3269, 0.324, 0.3229, 0.3232, 0.3247, 0.326, 0.327, 0.3295, 0.3397",\
                 "0.3613, 0.3589, 0.3554, 0.3546, 0.3544, 0.3561, 0.3567, 0.358, 0.3606, 0.3735",\
                 "0.4063, 0.4038, 0.4, 0.3983, 0.3988, 0.3994, 0.4, 0.4012, 0.4039, 0.4224",\
                 "0.4615, 0.4586, 0.4545, 0.4518, 0.4514, 0.4542, 0.4541, 0.455, 0.4578, 0.4861",\
                 "0.5223, 0.5193, 0.5147, 0.5118, 0.5108, 0.5118, 0.5148, 0.5153, 0.5196, 0.5635",\
                 "0.5889, 0.5856, 0.5804, 0.5774, 0.576, 0.5759, 0.5778, 0.5815, 0.5907, 0.6673");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.2992, 0.2968, 0.2957, 0.2966, 0.2976, 0.2992, 0.3002, 0.302, 0.3091",\
                 "0.3007, 0.2985, 0.2961, 0.2951, 0.2955, 0.2972, 0.2983, 0.2996, 0.3017, 0.3083",\
                 "0.3018, 0.2996, 0.2972, 0.2964, 0.2967, 0.2981, 0.2994, 0.3007, 0.3034, 0.3103",\
                 "0.3093, 0.3071, 0.3046, 0.3037, 0.3046, 0.3056, 0.3069, 0.3082, 0.31, 0.3189",\
                 "0.3292, 0.327, 0.3239, 0.3228, 0.3233, 0.3247, 0.3257, 0.3273, 0.3292, 0.34",\
                 "0.3612, 0.3586, 0.3559, 0.3544, 0.3545, 0.3557, 0.357, 0.3577, 0.3599, 0.3742",\
                 "0.4063, 0.4037, 0.3997, 0.3985, 0.399, 0.3994, 0.3999, 0.4015, 0.4032, 0.4233",\
                 "0.4615, 0.4587, 0.4545, 0.4518, 0.4516, 0.4541, 0.4544, 0.455, 0.4578, 0.4861",\
                 "0.5224, 0.5194, 0.5146, 0.5118, 0.5109, 0.5112, 0.5145, 0.516, 0.5199, 0.5638",\
                 "0.5886, 0.5856, 0.5808, 0.5775, 0.5764, 0.5759, 0.5778, 0.5815, 0.5904, 0.6677");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.2992, 0.2968, 0.2957, 0.2966, 0.2976, 0.2992, 0.3002, 0.302, 0.3091",\
                 "0.3007, 0.2985, 0.2961, 0.2951, 0.2955, 0.2972, 0.2983, 0.2996, 0.3017, 0.3083",\
                 "0.3018, 0.2996, 0.2972, 0.2964, 0.2967, 0.2981, 0.2994, 0.3007, 0.3034, 0.3103",\
                 "0.3093, 0.3071, 0.3046, 0.3037, 0.3046, 0.3056, 0.3069, 0.3082, 0.31, 0.3189",\
                 "0.3292, 0.327, 0.3239, 0.3228, 0.3233, 0.3247, 0.3257, 0.3273, 0.3292, 0.34",\
                 "0.3612, 0.3586, 0.3559, 0.3544, 0.3545, 0.3557, 0.357, 0.3577, 0.3599, 0.3742",\
                 "0.4063, 0.4037, 0.3997, 0.3985, 0.399, 0.3994, 0.3999, 0.4015, 0.4032, 0.4233",\
                 "0.4615, 0.4587, 0.4545, 0.4518, 0.4516, 0.4541, 0.4544, 0.455, 0.4578, 0.4861",\
                 "0.5224, 0.5194, 0.5146, 0.5118, 0.5109, 0.5112, 0.5145, 0.516, 0.5199, 0.5638",\
                 "0.5886, 0.5856, 0.5808, 0.5775, 0.5764, 0.5759, 0.5778, 0.5815, 0.5904, 0.6677");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.2991, 0.2968, 0.2958, 0.2962, 0.2976, 0.2986, 0.2999, 0.3027, 0.3088",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2971, 0.2983, 0.2996, 0.3017, 0.308",\
                 "0.3018, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2994, 0.3007, 0.3034, 0.3103",\
                 "0.3094, 0.3071, 0.3046, 0.3038, 0.3045, 0.3056, 0.3069, 0.3082, 0.31, 0.3189",\
                 "0.3292, 0.3268, 0.324, 0.3232, 0.3234, 0.3247, 0.326, 0.327, 0.3292, 0.34",\
                 "0.3611, 0.3587, 0.3559, 0.3546, 0.3544, 0.3555, 0.3567, 0.358, 0.3599, 0.3738",\
                 "0.4062, 0.4037, 0.3998, 0.3983, 0.3992, 0.3994, 0.3999, 0.4012, 0.4039, 0.423",\
                 "0.4614, 0.4587, 0.4545, 0.4519, 0.4514, 0.4542, 0.4541, 0.455, 0.4585, 0.4861",\
                 "0.5225, 0.5195, 0.5151, 0.5124, 0.5109, 0.5119, 0.5151, 0.516, 0.5199, 0.5638",\
                 "0.5887, 0.5856, 0.5805, 0.5774, 0.5762, 0.5763, 0.5775, 0.5812, 0.5914, 0.6669");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.2991, 0.2968, 0.2958, 0.2962, 0.2976, 0.2986, 0.2999, 0.3027, 0.3088",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2971, 0.2983, 0.2996, 0.3017, 0.308",\
                 "0.3018, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2994, 0.3007, 0.3034, 0.3103",\
                 "0.3094, 0.3071, 0.3046, 0.3038, 0.3045, 0.3056, 0.3069, 0.3082, 0.31, 0.3189",\
                 "0.3292, 0.3268, 0.324, 0.3232, 0.3234, 0.3247, 0.326, 0.327, 0.3292, 0.34",\
                 "0.3611, 0.3587, 0.3559, 0.3546, 0.3544, 0.3555, 0.3567, 0.358, 0.3599, 0.3738",\
                 "0.4062, 0.4037, 0.3998, 0.3983, 0.3992, 0.3994, 0.3999, 0.4012, 0.4039, 0.423",\
                 "0.4614, 0.4587, 0.4545, 0.4519, 0.4514, 0.4542, 0.4541, 0.455, 0.4585, 0.4861",\
                 "0.5225, 0.5195, 0.5151, 0.5124, 0.5109, 0.5119, 0.5151, 0.516, 0.5199, 0.5638",\
                 "0.5887, 0.5856, 0.5805, 0.5774, 0.5762, 0.5763, 0.5775, 0.5812, 0.5914, 0.6669");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.2991, 0.2968, 0.2958, 0.2962, 0.2976, 0.2986, 0.2999, 0.303, 0.3088",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2972, 0.2983, 0.2996, 0.3017, 0.308",\
                 "0.3018, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2994, 0.3007, 0.3034, 0.3103",\
                 "0.3094, 0.3073, 0.3046, 0.3038, 0.3045, 0.3056, 0.3069, 0.3082, 0.31, 0.3189",\
                 "0.3292, 0.327, 0.324, 0.3229, 0.3233, 0.3251, 0.326, 0.327, 0.3292, 0.34",\
                 "0.3612, 0.3587, 0.3558, 0.3546, 0.3545, 0.3559, 0.3567, 0.358, 0.3592, 0.3742",\
                 "0.4062, 0.4037, 0.3998, 0.3985, 0.3989, 0.3993, 0.4003, 0.4015, 0.4039, 0.423",\
                 "0.4614, 0.4587, 0.4545, 0.4519, 0.4514, 0.4542, 0.4541, 0.455, 0.4585, 0.4879",\
                 "0.5226, 0.5195, 0.5151, 0.5124, 0.5106, 0.5119, 0.5151, 0.516, 0.5199, 0.5638",\
                 "0.5886, 0.5856, 0.5805, 0.5774, 0.5762, 0.5763, 0.5775, 0.5812, 0.5914, 0.6669");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.2991, 0.2968, 0.2958, 0.2962, 0.2976, 0.2986, 0.2999, 0.303, 0.3088",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2972, 0.2983, 0.2996, 0.3017, 0.308",\
                 "0.3018, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2994, 0.3007, 0.3034, 0.3103",\
                 "0.3094, 0.3073, 0.3046, 0.3038, 0.3045, 0.3056, 0.3069, 0.3082, 0.31, 0.3189",\
                 "0.3292, 0.327, 0.324, 0.3229, 0.3233, 0.3251, 0.326, 0.327, 0.3292, 0.34",\
                 "0.3612, 0.3587, 0.3558, 0.3546, 0.3545, 0.3559, 0.3567, 0.358, 0.3592, 0.3742",\
                 "0.4062, 0.4037, 0.3998, 0.3985, 0.3989, 0.3993, 0.4003, 0.4015, 0.4039, 0.423",\
                 "0.4614, 0.4587, 0.4545, 0.4519, 0.4514, 0.4542, 0.4541, 0.455, 0.4585, 0.4879",\
                 "0.5226, 0.5195, 0.5151, 0.5124, 0.5106, 0.5119, 0.5151, 0.516, 0.5199, 0.5638",\
                 "0.5886, 0.5856, 0.5805, 0.5774, 0.5762, 0.5763, 0.5775, 0.5812, 0.5914, 0.6669");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3011, 0.2991, 0.2967, 0.2958, 0.2964, 0.2976, 0.2986, 0.2999, 0.302, 0.3084",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2975, 0.298, 0.2996, 0.3017, 0.308",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3094, 0.3071, 0.3046, 0.3037, 0.3043, 0.3055, 0.3069, 0.3079, 0.311, 0.3186",\
                 "0.3291, 0.3269, 0.3242, 0.323, 0.3236, 0.3246, 0.326, 0.327, 0.3292, 0.3397",\
                 "0.3614, 0.3588, 0.3558, 0.3544, 0.3545, 0.3557, 0.3567, 0.358, 0.3599, 0.3742",\
                 "0.4063, 0.4035, 0.3999, 0.3982, 0.3988, 0.3994, 0.4003, 0.4012, 0.4042, 0.423",\
                 "0.4615, 0.4586, 0.4546, 0.4519, 0.4514, 0.4543, 0.4541, 0.455, 0.4579, 0.4861",\
                 "0.5223, 0.5193, 0.5148, 0.5118, 0.5108, 0.5117, 0.5148, 0.5153, 0.5196, 0.5635",\
                 "0.5886, 0.5856, 0.5807, 0.5776, 0.5763, 0.576, 0.5778, 0.5815, 0.5907, 0.6669");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3011, 0.2991, 0.2967, 0.2958, 0.2964, 0.2976, 0.2986, 0.2999, 0.302, 0.3084",\
                 "0.3007, 0.2986, 0.2962, 0.2956, 0.2957, 0.2975, 0.298, 0.2996, 0.3017, 0.308",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3094, 0.3071, 0.3046, 0.3037, 0.3043, 0.3055, 0.3069, 0.3079, 0.311, 0.3186",\
                 "0.3291, 0.3269, 0.3242, 0.323, 0.3236, 0.3246, 0.326, 0.327, 0.3292, 0.3397",\
                 "0.3614, 0.3588, 0.3558, 0.3544, 0.3545, 0.3557, 0.3567, 0.358, 0.3599, 0.3742",\
                 "0.4063, 0.4035, 0.3999, 0.3982, 0.3988, 0.3994, 0.4003, 0.4012, 0.4042, 0.423",\
                 "0.4615, 0.4586, 0.4546, 0.4519, 0.4514, 0.4543, 0.4541, 0.455, 0.4579, 0.4861",\
                 "0.5223, 0.5193, 0.5148, 0.5118, 0.5108, 0.5117, 0.5148, 0.5153, 0.5196, 0.5635",\
                 "0.5886, 0.5856, 0.5807, 0.5776, 0.5763, 0.576, 0.5778, 0.5815, 0.5907, 0.6669");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.2992, 0.2968, 0.2957, 0.2966, 0.2976, 0.2992, 0.3002, 0.302, 0.3091",\
                 "0.3007, 0.2986, 0.2961, 0.2951, 0.2956, 0.2972, 0.2983, 0.2996, 0.3017, 0.3083",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3093, 0.3071, 0.3046, 0.3037, 0.3045, 0.3056, 0.3069, 0.3082, 0.31, 0.3189",\
                 "0.3291, 0.3269, 0.324, 0.323, 0.3233, 0.3247, 0.326, 0.327, 0.3292, 0.34",\
                 "0.3612, 0.3587, 0.3558, 0.3545, 0.3545, 0.3556, 0.357, 0.3589, 0.3602, 0.3732",\
                 "0.4063, 0.4037, 0.3997, 0.3983, 0.3988, 0.3993, 0.3999, 0.4018, 0.4039, 0.4233",\
                 "0.4616, 0.4586, 0.454, 0.4517, 0.4514, 0.4538, 0.4541, 0.4556, 0.4578, 0.4861",\
                 "0.5225, 0.5195, 0.5147, 0.5119, 0.511, 0.512, 0.5154, 0.5156, 0.5199, 0.5638",\
                 "0.5885, 0.5856, 0.5806, 0.5769, 0.5759, 0.5756, 0.5772, 0.5818, 0.5904, 0.6658");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.3012, 0.2992, 0.2968, 0.2957, 0.2966, 0.2976, 0.2992, 0.3002, 0.302, 0.3091",\
                 "0.3007, 0.2986, 0.2961, 0.2951, 0.2956, 0.2972, 0.2983, 0.2996, 0.3017, 0.3083",\
                 "0.3017, 0.2995, 0.2972, 0.2964, 0.2967, 0.2981, 0.2993, 0.3006, 0.3034, 0.3103",\
                 "0.3093, 0.3071, 0.3046, 0.3037, 0.3045, 0.3056, 0.3069, 0.3082, 0.31, 0.3189",\
                 "0.3291, 0.3269, 0.324, 0.323, 0.3233, 0.3247, 0.326, 0.327, 0.3292, 0.34",\
                 "0.3612, 0.3587, 0.3558, 0.3545, 0.3545, 0.3556, 0.357, 0.3589, 0.3602, 0.3732",\
                 "0.4063, 0.4037, 0.3997, 0.3983, 0.3988, 0.3993, 0.3999, 0.4018, 0.4039, 0.4233",\
                 "0.4616, 0.4586, 0.454, 0.4517, 0.4514, 0.4538, 0.4541, 0.4556, 0.4578, 0.4861",\
                 "0.5225, 0.5195, 0.5147, 0.5119, 0.511, 0.512, 0.5154, 0.5156, 0.5199, 0.5638",\
                 "0.5885, 0.5856, 0.5806, 0.5769, 0.5759, 0.5756, 0.5772, 0.5818, 0.5904, 0.6658");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("1.045, 1.085, 1.185, 1.332, 1.536, 1.815, 2.18, 2.64, 3.202, 3.871",\
                 "1.059, 1.099, 1.199, 1.346, 1.55, 1.828, 2.194, 2.654, 3.215, 3.885",\
                 "1.11, 1.15, 1.25, 1.397, 1.601, 1.879, 2.245, 2.705, 3.266, 3.936",\
                 "1.19, 1.23, 1.33, 1.477, 1.681, 1.96, 2.325, 2.785, 3.347, 4.016",\
                 "1.259, 1.299, 1.399, 1.546, 1.75, 2.028, 2.394, 2.854, 3.415, 4.085",\
                 "1.313, 1.353, 1.453, 1.6, 1.804, 2.082, 2.448, 2.908, 3.469, 4.139",\
                 "1.35, 1.389, 1.489, 1.636, 1.84, 2.119, 2.484, 2.944, 3.506, 4.176",\
                 "1.364, 1.404, 1.504, 1.651, 1.855, 2.134, 2.499, 2.959, 3.521, 4.19",\
                 "1.355, 1.394, 1.494, 1.641, 1.845, 2.124, 2.489, 2.949, 3.511, 4.18",\
                 "1.317, 1.357, 1.457, 1.604, 1.808, 2.087, 2.452, 2.912, 3.474, 4.143");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.9162, 0.9589, 1.082, 1.307, 1.655, 2.145, 2.789, 3.6, 4.59, 5.772",\
                 "0.9299, 0.9721, 1.096, 1.321, 1.669, 2.159, 2.803, 3.613, 4.602, 5.786",\
                 "0.9807, 1.023, 1.146, 1.371, 1.72, 2.209, 2.853, 3.664, 4.653, 5.834",\
                 "1.06, 1.102, 1.225, 1.45, 1.799, 2.289, 2.932, 3.743, 4.732, 5.914",\
                 "1.128, 1.171, 1.294, 1.518, 1.867, 2.357, 3, 3.811, 4.802, 5.982",\
                 "1.182, 1.224, 1.348, 1.572, 1.921, 2.411, 3.054, 3.864, 4.856, 6.038",\
                 "1.219, 1.261, 1.385, 1.609, 1.958, 2.447, 3.091, 3.902, 4.893, 6.074",\
                 "1.235, 1.278, 1.401, 1.626, 1.975, 2.464, 3.107, 3.918, 4.908, 6.089",\
                 "1.228, 1.271, 1.394, 1.618, 1.967, 2.457, 3.101, 3.911, 4.901, 6.079",\
                 "1.195, 1.237, 1.361, 1.585, 1.934, 2.424, 3.068, 3.878, 4.868, 6.047");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1046, 0.1416, 0.2472, 0.4348, 0.7448, 1.203, 1.813, 2.585, 3.531, 4.656",\
                 "0.1044, 0.1416, 0.2472, 0.4356, 0.7448, 1.201, 1.811, 2.585, 3.528, 4.658",\
                 "0.1048, 0.1414, 0.2472, 0.4356, 0.7458, 1.202, 1.811, 2.585, 3.531, 4.656",\
                 "0.1048, 0.1412, 0.2472, 0.4354, 0.7452, 1.202, 1.813, 2.585, 3.531, 4.656",\
                 "0.1048, 0.1414, 0.2472, 0.4354, 0.7448, 1.203, 1.812, 2.586, 3.529, 4.652",\
                 "0.1046, 0.1416, 0.247, 0.4348, 0.7444, 1.203, 1.813, 2.586, 3.53, 4.657",\
                 "0.1048, 0.1416, 0.247, 0.4356, 0.7452, 1.202, 1.811, 2.584, 3.528, 4.653",\
                 "0.1046, 0.1414, 0.2472, 0.4356, 0.745, 1.203, 1.813, 2.584, 3.523, 4.649",\
                 "0.1046, 0.1416, 0.247, 0.4356, 0.745, 1.201, 1.813, 2.582, 3.528, 4.645",\
                 "0.1048, 0.1414, 0.2474, 0.4356, 0.7456, 1.203, 1.811, 2.582, 3.523, 4.649");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1023, 0.1555, 0.3432, 0.731, 1.344, 2.208, 3.339, 4.77, 6.515, 8.594",\
                 "0.1023, 0.1559, 0.343, 0.7312, 1.344, 2.208, 3.344, 4.768, 6.516, 8.594",\
                 "0.1018, 0.1556, 0.3432, 0.731, 1.345, 2.208, 3.344, 4.77, 6.516, 8.6",\
                 "0.102, 0.1556, 0.343, 0.7314, 1.345, 2.208, 3.345, 4.77, 6.515, 8.603",\
                 "0.1016, 0.155, 0.343, 0.732, 1.345, 2.207, 3.339, 4.767, 6.515, 8.599",\
                 "0.1016, 0.1558, 0.343, 0.7318, 1.345, 2.207, 3.339, 4.769, 6.514, 8.595",\
                 "0.1016, 0.1556, 0.3432, 0.7318, 1.344, 2.204, 3.341, 4.77, 6.515, 8.599",\
                 "0.1016, 0.1556, 0.3432, 0.732, 1.344, 2.205, 3.339, 4.769, 6.514, 8.594",\
                 "0.1022, 0.1554, 0.3432, 0.732, 1.344, 2.206, 3.34, 4.765, 6.512, 8.59",\
                 "0.102, 0.1564, 0.3436, 0.732, 1.343, 2.204, 3.339, 4.768, 6.512, 8.586");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("1.045, 1.085, 1.185, 1.332, 1.536, 1.815, 2.18, 2.64, 3.202, 3.871",\
                 "1.059, 1.099, 1.199, 1.346, 1.55, 1.828, 2.194, 2.654, 3.215, 3.885",\
                 "1.11, 1.15, 1.25, 1.397, 1.601, 1.879, 2.245, 2.705, 3.266, 3.936",\
                 "1.19, 1.23, 1.33, 1.477, 1.681, 1.96, 2.325, 2.785, 3.347, 4.016",\
                 "1.259, 1.299, 1.399, 1.546, 1.75, 2.028, 2.394, 2.854, 3.415, 4.086",\
                 "1.313, 1.353, 1.453, 1.6, 1.804, 2.082, 2.448, 2.908, 3.469, 4.139",\
                 "1.35, 1.389, 1.489, 1.636, 1.84, 2.119, 2.484, 2.944, 3.506, 4.176",\
                 "1.364, 1.404, 1.504, 1.651, 1.855, 2.134, 2.499, 2.959, 3.521, 4.19",\
                 "1.355, 1.394, 1.494, 1.641, 1.845, 2.124, 2.489, 2.949, 3.511, 4.18",\
                 "1.318, 1.357, 1.457, 1.604, 1.808, 2.087, 2.452, 2.912, 3.474, 4.143");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.9166, 0.9585, 1.082, 1.307, 1.656, 2.145, 2.789, 3.599, 4.59, 5.769",\
                 "0.9299, 0.9728, 1.096, 1.321, 1.67, 2.159, 2.803, 3.613, 4.604, 5.786",\
                 "0.9807, 1.023, 1.146, 1.371, 1.72, 2.21, 2.853, 3.664, 4.653, 5.834",\
                 "1.06, 1.102, 1.226, 1.45, 1.799, 2.289, 2.932, 3.744, 4.732, 5.913",\
                 "1.128, 1.17, 1.294, 1.518, 1.867, 2.357, 3, 3.812, 4.8, 5.98",\
                 "1.182, 1.224, 1.348, 1.572, 1.921, 2.41, 3.054, 3.865, 4.856, 6.038",\
                 "1.219, 1.261, 1.384, 1.609, 1.958, 2.448, 3.091, 3.902, 4.893, 6.075",\
                 "1.236, 1.278, 1.401, 1.626, 1.975, 2.464, 3.107, 3.918, 4.908, 6.088",\
                 "1.228, 1.271, 1.394, 1.618, 1.968, 2.457, 3.1, 3.911, 4.9, 6.079",\
                 "1.195, 1.237, 1.36, 1.585, 1.934, 2.424, 3.067, 3.878, 4.868, 6.047");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1048, 0.1416, 0.2472, 0.4348, 0.7454, 1.202, 1.813, 2.586, 3.528, 4.657",\
                 "0.1048, 0.1416, 0.2474, 0.4354, 0.7448, 1.202, 1.811, 2.585, 3.531, 4.656",\
                 "0.105, 0.1414, 0.2472, 0.4356, 0.7458, 1.202, 1.811, 2.584, 3.531, 4.656",\
                 "0.105, 0.1416, 0.2474, 0.4356, 0.7448, 1.202, 1.811, 2.585, 3.531, 4.656",\
                 "0.1048, 0.1414, 0.2472, 0.4356, 0.745, 1.201, 1.813, 2.586, 3.53, 4.651",\
                 "0.1046, 0.1416, 0.247, 0.4346, 0.7446, 1.202, 1.812, 2.583, 3.531, 4.656",\
                 "0.1048, 0.1414, 0.247, 0.4356, 0.7456, 1.202, 1.811, 2.584, 3.528, 4.652",\
                 "0.1046, 0.1412, 0.2472, 0.4354, 0.745, 1.203, 1.813, 2.582, 3.523, 4.649",\
                 "0.1044, 0.142, 0.247, 0.4356, 0.745, 1.201, 1.813, 2.582, 3.528, 4.645",\
                 "0.1046, 0.1414, 0.2472, 0.4352, 0.7456, 1.202, 1.811, 2.582, 3.526, 4.649");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1022, 0.1555, 0.3434, 0.7312, 1.343, 2.207, 3.344, 4.769, 6.517, 8.597",\
                 "0.1021, 0.1556, 0.3432, 0.731, 1.345, 2.208, 3.339, 4.769, 6.516, 8.598",\
                 "0.1018, 0.1556, 0.343, 0.731, 1.345, 2.208, 3.344, 4.77, 6.516, 8.599",\
                 "0.102, 0.1558, 0.3432, 0.7312, 1.345, 2.208, 3.344, 4.77, 6.516, 8.6",\
                 "0.1018, 0.1552, 0.3428, 0.7316, 1.345, 2.204, 3.344, 4.769, 6.517, 8.592",\
                 "0.1016, 0.1556, 0.3434, 0.732, 1.345, 2.205, 3.339, 4.769, 6.515, 8.593",\
                 "0.1018, 0.1558, 0.343, 0.7316, 1.344, 2.204, 3.344, 4.769, 6.516, 8.599",\
                 "0.102, 0.1556, 0.3434, 0.7324, 1.345, 2.204, 3.338, 4.768, 6.512, 8.591",\
                 "0.1022, 0.156, 0.3436, 0.731, 1.345, 2.205, 3.342, 4.765, 6.511, 8.592",\
                 "0.1022, 0.1558, 0.343, 0.7322, 1.346, 2.206, 3.338, 4.765, 6.51, 8.587");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("1.045, 1.085, 1.185, 1.332, 1.536, 1.815, 2.18, 2.64, 3.202, 3.872",\
                 "1.059, 1.099, 1.199, 1.346, 1.55, 1.828, 2.194, 2.654, 3.215, 3.885",\
                 "1.11, 1.15, 1.25, 1.397, 1.601, 1.879, 2.245, 2.705, 3.266, 3.936",\
                 "1.19, 1.23, 1.33, 1.477, 1.681, 1.96, 2.325, 2.785, 3.346, 4.016",\
                 "1.259, 1.299, 1.399, 1.546, 1.75, 2.029, 2.394, 2.854, 3.416, 4.085",\
                 "1.313, 1.353, 1.453, 1.6, 1.804, 2.083, 2.448, 2.908, 3.47, 4.14",\
                 "1.35, 1.389, 1.49, 1.636, 1.841, 2.119, 2.484, 2.944, 3.506, 4.176",\
                 "1.364, 1.404, 1.505, 1.651, 1.855, 2.134, 2.499, 2.959, 3.521, 4.19",\
                 "1.355, 1.394, 1.495, 1.641, 1.845, 2.124, 2.489, 2.949, 3.511, 4.18",\
                 "1.318, 1.357, 1.458, 1.604, 1.808, 2.087, 2.452, 2.912, 3.474, 4.143");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.9162, 0.959, 1.082, 1.306, 1.655, 2.145, 2.789, 3.6, 4.589, 5.77",\
                 "0.9303, 0.9728, 1.096, 1.321, 1.67, 2.159, 2.803, 3.613, 4.604, 5.786",\
                 "0.9806, 1.023, 1.146, 1.371, 1.72, 2.209, 2.853, 3.663, 4.654, 5.836",\
                 "1.06, 1.102, 1.226, 1.45, 1.799, 2.289, 2.932, 3.743, 4.732, 5.913",\
                 "1.128, 1.171, 1.294, 1.518, 1.867, 2.357, 3, 3.811, 4.802, 5.981",\
                 "1.182, 1.224, 1.348, 1.572, 1.921, 2.411, 3.054, 3.865, 4.856, 6.038",\
                 "1.219, 1.261, 1.385, 1.609, 1.958, 2.448, 3.091, 3.902, 4.891, 6.073",\
                 "1.236, 1.278, 1.401, 1.626, 1.975, 2.464, 3.107, 3.918, 4.908, 6.089",\
                 "1.228, 1.271, 1.394, 1.618, 1.968, 2.457, 3.1, 3.911, 4.9, 6.079",\
                 "1.195, 1.238, 1.361, 1.585, 1.934, 2.424, 3.067, 3.878, 4.868, 6.047");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1048, 0.1416, 0.2472, 0.4354, 0.7458, 1.202, 1.813, 2.585, 3.531, 4.654",\
                 "0.1046, 0.1416, 0.2472, 0.4356, 0.7458, 1.202, 1.812, 2.586, 3.53, 4.654",\
                 "0.105, 0.1416, 0.2474, 0.4356, 0.7456, 1.202, 1.812, 2.585, 3.531, 4.656",\
                 "0.1046, 0.1416, 0.247, 0.4346, 0.7448, 1.201, 1.812, 2.586, 3.53, 4.657",\
                 "0.1048, 0.1418, 0.2474, 0.4358, 0.745, 1.201, 1.812, 2.586, 3.53, 4.657",\
                 "0.1048, 0.1414, 0.247, 0.4348, 0.7444, 1.203, 1.813, 2.586, 3.531, 4.657",\
                 "0.1048, 0.1416, 0.2472, 0.4346, 0.7456, 1.202, 1.811, 2.582, 3.525, 4.652",\
                 "0.1044, 0.1412, 0.247, 0.4356, 0.7454, 1.202, 1.813, 2.582, 3.523, 4.648",\
                 "0.1044, 0.1414, 0.2472, 0.4356, 0.7452, 1.202, 1.812, 2.582, 3.528, 4.644",\
                 "0.1048, 0.1414, 0.247, 0.4356, 0.7456, 1.202, 1.811, 2.582, 3.524, 4.647");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1022, 0.1555, 0.343, 0.7318, 1.345, 2.205, 3.338, 4.77, 6.514, 8.602",\
                 "0.1021, 0.1556, 0.3432, 0.7318, 1.344, 2.205, 3.339, 4.769, 6.515, 8.592",\
                 "0.1022, 0.1556, 0.3432, 0.732, 1.344, 2.206, 3.339, 4.768, 6.514, 8.595",\
                 "0.102, 0.1556, 0.343, 0.731, 1.343, 2.208, 3.344, 4.77, 6.516, 8.6",\
                 "0.1016, 0.155, 0.3434, 0.732, 1.346, 2.207, 3.34, 4.767, 6.516, 8.599",\
                 "0.1016, 0.1556, 0.3434, 0.7318, 1.345, 2.205, 3.339, 4.769, 6.515, 8.593",\
                 "0.1016, 0.1554, 0.343, 0.7318, 1.343, 2.204, 3.343, 4.769, 6.514, 8.601",\
                 "0.102, 0.1556, 0.3428, 0.7314, 1.344, 2.205, 3.338, 4.772, 6.514, 8.594",\
                 "0.1022, 0.156, 0.3436, 0.732, 1.345, 2.205, 3.342, 4.765, 6.511, 8.592",\
                 "0.1022, 0.156, 0.3432, 0.7322, 1.346, 2.206, 3.338, 4.767, 6.51, 8.587");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("1.045, 1.085, 1.185, 1.332, 1.536, 1.815, 2.18, 2.64, 3.202, 3.871",\
                 "1.059, 1.099, 1.199, 1.346, 1.55, 1.828, 2.194, 2.654, 3.215, 3.885",\
                 "1.11, 1.15, 1.25, 1.397, 1.601, 1.879, 2.245, 2.705, 3.266, 3.936",\
                 "1.19, 1.23, 1.33, 1.477, 1.681, 1.96, 2.325, 2.785, 3.347, 4.016",\
                 "1.259, 1.299, 1.399, 1.546, 1.75, 2.029, 2.394, 2.854, 3.416, 4.086",\
                 "1.313, 1.353, 1.453, 1.6, 1.804, 2.083, 2.448, 2.908, 3.469, 4.139",\
                 "1.35, 1.389, 1.489, 1.636, 1.84, 2.119, 2.484, 2.944, 3.506, 4.176",\
                 "1.364, 1.404, 1.504, 1.651, 1.855, 2.134, 2.499, 2.959, 3.521, 4.19",\
                 "1.355, 1.394, 1.495, 1.641, 1.845, 2.124, 2.489, 2.949, 3.511, 4.181",\
                 "1.318, 1.357, 1.457, 1.604, 1.808, 2.087, 2.452, 2.912, 3.474, 4.144");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.9165, 0.959, 1.082, 1.307, 1.655, 2.145, 2.789, 3.6, 4.59, 5.77",\
                 "0.93, 0.9725, 1.096, 1.32, 1.669, 2.159, 2.802, 3.613, 4.604, 5.786",\
                 "0.9808, 1.023, 1.146, 1.371, 1.72, 2.209, 2.853, 3.664, 4.653, 5.834",\
                 "1.06, 1.102, 1.226, 1.45, 1.799, 2.289, 2.932, 3.744, 4.732, 5.913",\
                 "1.129, 1.171, 1.294, 1.519, 1.868, 2.357, 3.001, 3.812, 4.802, 5.981",\
                 "1.182, 1.224, 1.348, 1.572, 1.921, 2.411, 3.054, 3.866, 4.856, 6.035",\
                 "1.219, 1.261, 1.385, 1.609, 1.958, 2.448, 3.091, 3.902, 4.893, 6.074",\
                 "1.235, 1.278, 1.401, 1.626, 1.975, 2.465, 3.107, 3.918, 4.908, 6.089",\
                 "1.228, 1.271, 1.394, 1.618, 1.968, 2.457, 3.1, 3.911, 4.901, 6.08",\
                 "1.195, 1.237, 1.361, 1.585, 1.934, 2.424, 3.068, 3.878, 4.868, 6.047");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1046, 0.1416, 0.247, 0.4354, 0.7452, 1.203, 1.813, 2.585, 3.528, 4.657",\
                 "0.1044, 0.1416, 0.2474, 0.4356, 0.7458, 1.202, 1.811, 2.585, 3.531, 4.656",\
                 "0.1044, 0.1414, 0.2472, 0.4356, 0.7458, 1.202, 1.811, 2.585, 3.531, 4.656",\
                 "0.1052, 0.1416, 0.247, 0.4356, 0.7444, 1.202, 1.811, 2.584, 3.531, 4.655",\
                 "0.1048, 0.1412, 0.2474, 0.4346, 0.7448, 1.203, 1.813, 2.585, 3.53, 4.651",\
                 "0.1044, 0.1414, 0.2474, 0.4346, 0.7444, 1.203, 1.813, 2.586, 3.529, 4.658",\
                 "0.1048, 0.1414, 0.2474, 0.4356, 0.7452, 1.202, 1.811, 2.583, 3.528, 4.653",\
                 "0.1048, 0.141, 0.2472, 0.4348, 0.7452, 1.202, 1.813, 2.583, 3.523, 4.648",\
                 "0.1048, 0.1418, 0.2474, 0.4356, 0.7446, 1.202, 1.813, 2.582, 3.526, 4.645",\
                 "0.1044, 0.1414, 0.2474, 0.4352, 0.7454, 1.201, 1.812, 2.586, 3.528, 4.647");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1019, 0.1556, 0.3434, 0.731, 1.343, 2.208, 3.345, 4.77, 6.515, 8.605",\
                 "0.1024, 0.1558, 0.343, 0.7308, 1.343, 2.208, 3.339, 4.767, 6.515, 8.598",\
                 "0.102, 0.1556, 0.3432, 0.7312, 1.345, 2.208, 3.345, 4.77, 6.515, 8.602",\
                 "0.102, 0.1556, 0.343, 0.731, 1.345, 2.208, 3.344, 4.769, 6.516, 8.598",\
                 "0.1016, 0.155, 0.343, 0.732, 1.346, 2.207, 3.339, 4.766, 6.517, 8.599",\
                 "0.1018, 0.1556, 0.3434, 0.7316, 1.345, 2.205, 3.337, 4.766, 6.517, 8.598",\
                 "0.102, 0.1554, 0.3428, 0.732, 1.343, 2.204, 3.341, 4.77, 6.515, 8.599",\
                 "0.1016, 0.1556, 0.3432, 0.732, 1.344, 2.206, 3.339, 4.765, 6.512, 8.592",\
                 "0.1016, 0.1558, 0.3432, 0.7314, 1.344, 2.206, 3.34, 4.765, 6.514, 8.591",\
                 "0.1018, 0.1562, 0.3432, 0.731, 1.345, 2.206, 3.34, 4.766, 6.51, 8.586");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("1.045, 1.085, 1.185, 1.332, 1.536, 1.815, 2.18, 2.64, 3.202, 3.871",\
                 "1.059, 1.099, 1.199, 1.346, 1.55, 1.828, 2.194, 2.654, 3.215, 3.885",\
                 "1.11, 1.15, 1.25, 1.397, 1.601, 1.879, 2.245, 2.705, 3.266, 3.936",\
                 "1.19, 1.23, 1.33, 1.477, 1.681, 1.96, 2.325, 2.785, 3.347, 4.016",\
                 "1.259, 1.299, 1.399, 1.546, 1.75, 2.028, 2.394, 2.854, 3.415, 4.085",\
                 "1.313, 1.353, 1.453, 1.6, 1.804, 2.082, 2.448, 2.908, 3.469, 4.139",\
                 "1.35, 1.389, 1.489, 1.636, 1.84, 2.119, 2.484, 2.944, 3.506, 4.176",\
                 "1.364, 1.404, 1.504, 1.651, 1.855, 2.134, 2.499, 2.959, 3.521, 4.19",\
                 "1.355, 1.394, 1.494, 1.641, 1.845, 2.124, 2.489, 2.949, 3.511, 4.18",\
                 "1.317, 1.357, 1.457, 1.604, 1.808, 2.087, 2.452, 2.912, 3.474, 4.143");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.9165, 0.959, 1.082, 1.307, 1.655, 2.145, 2.789, 3.6, 4.59, 5.77",\
                 "0.93, 0.9725, 1.096, 1.32, 1.669, 2.159, 2.802, 3.613, 4.604, 5.786",\
                 "0.9808, 1.023, 1.146, 1.371, 1.72, 2.209, 2.853, 3.664, 4.653, 5.834",\
                 "1.06, 1.102, 1.226, 1.45, 1.799, 2.289, 2.932, 3.744, 4.732, 5.913",\
                 "1.129, 1.171, 1.294, 1.519, 1.868, 2.357, 3.001, 3.812, 4.802, 5.981",\
                 "1.182, 1.224, 1.348, 1.572, 1.921, 2.411, 3.054, 3.866, 4.856, 6.035",\
                 "1.219, 1.261, 1.385, 1.609, 1.958, 2.448, 3.091, 3.902, 4.893, 6.074",\
                 "1.235, 1.278, 1.401, 1.626, 1.975, 2.465, 3.107, 3.918, 4.908, 6.089",\
                 "1.228, 1.271, 1.394, 1.618, 1.968, 2.457, 3.1, 3.911, 4.901, 6.08",\
                 "1.195, 1.237, 1.361, 1.585, 1.934, 2.424, 3.068, 3.878, 4.868, 6.047");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1046, 0.1416, 0.247, 0.4354, 0.7452, 1.203, 1.813, 2.585, 3.528, 4.657",\
                 "0.1044, 0.1416, 0.2474, 0.4356, 0.7458, 1.202, 1.811, 2.585, 3.531, 4.656",\
                 "0.1044, 0.1414, 0.2472, 0.4356, 0.7458, 1.202, 1.811, 2.585, 3.531, 4.656",\
                 "0.1052, 0.1416, 0.247, 0.4356, 0.7444, 1.202, 1.811, 2.584, 3.531, 4.655",\
                 "0.1048, 0.1412, 0.2474, 0.4346, 0.7448, 1.203, 1.813, 2.585, 3.53, 4.651",\
                 "0.1044, 0.1414, 0.2474, 0.4346, 0.7444, 1.203, 1.813, 2.586, 3.529, 4.658",\
                 "0.1048, 0.1414, 0.2474, 0.4356, 0.7452, 1.202, 1.811, 2.583, 3.528, 4.653",\
                 "0.1048, 0.141, 0.2472, 0.4348, 0.7452, 1.202, 1.813, 2.583, 3.523, 4.648",\
                 "0.1048, 0.1418, 0.2474, 0.4356, 0.7446, 1.202, 1.813, 2.582, 3.526, 4.645",\
                 "0.1044, 0.1414, 0.2474, 0.4352, 0.7454, 1.201, 1.812, 2.586, 3.528, 4.647");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1019, 0.1556, 0.3434, 0.731, 1.343, 2.208, 3.345, 4.77, 6.515, 8.605",\
                 "0.1024, 0.1558, 0.343, 0.7308, 1.343, 2.208, 3.339, 4.767, 6.515, 8.598",\
                 "0.102, 0.1556, 0.3432, 0.7312, 1.345, 2.208, 3.345, 4.77, 6.515, 8.602",\
                 "0.102, 0.1556, 0.343, 0.731, 1.345, 2.208, 3.344, 4.769, 6.516, 8.598",\
                 "0.1016, 0.155, 0.343, 0.732, 1.346, 2.207, 3.339, 4.766, 6.517, 8.599",\
                 "0.1018, 0.1556, 0.3434, 0.7316, 1.345, 2.205, 3.337, 4.766, 6.517, 8.598",\
                 "0.102, 0.1554, 0.3428, 0.732, 1.343, 2.204, 3.341, 4.77, 6.515, 8.599",\
                 "0.1016, 0.1556, 0.3432, 0.732, 1.344, 2.206, 3.339, 4.765, 6.512, 8.592",\
                 "0.1016, 0.1558, 0.3432, 0.7314, 1.344, 2.206, 3.34, 4.765, 6.514, 8.591",\
                 "0.1018, 0.1562, 0.3432, 0.731, 1.345, 2.206, 3.34, 4.766, 6.51, 8.586");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.7829, 0.8254, 0.9482, 1.172, 1.52, 2.009, 2.653, 3.465, 4.456, 5.637",\
                 "0.8006, 0.8431, 0.9661, 1.189, 1.538, 2.027, 2.671, 3.483, 4.473, 5.656",\
                 "0.867, 0.9093, 1.032, 1.256, 1.604, 2.093, 2.738, 3.549, 4.539, 5.722",\
                 "0.9986, 1.041, 1.164, 1.387, 1.736, 2.225, 2.869, 3.681, 4.672, 5.852",\
                 "1.186, 1.229, 1.351, 1.574, 1.923, 2.412, 3.056, 3.867, 4.859, 6.039",\
                 "1.405, 1.448, 1.571, 1.793, 2.142, 2.631, 3.275, 4.086, 5.078, 6.258",\
                 "1.655, 1.698, 1.822, 2.044, 2.392, 2.88, 3.524, 4.335, 5.325, 6.508",\
                 "1.931, 1.975, 2.099, 2.321, 2.668, 3.157, 3.8, 4.61, 5.6, 6.783",\
                 "2.234, 2.278, 2.404, 2.624, 2.971, 3.46, 4.103, 4.913, 5.902, 7.081",\
                 "2.562, 2.608, 2.733, 2.953, 3.299, 3.787, 4.43, 5.241, 6.23, 7.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1035, 0.1565, 0.342, 0.73, 1.343, 2.207, 3.339, 4.769, 6.518, 8.599",\
                 "0.1032, 0.1566, 0.342, 0.73, 1.345, 2.205, 3.34, 4.771, 6.519, 8.598",\
                 "0.1032, 0.1566, 0.342, 0.73, 1.343, 2.204, 3.339, 4.771, 6.517, 8.6",\
                 "0.1036, 0.1562, 0.3422, 0.73, 1.343, 2.206, 3.338, 4.769, 6.518, 8.6",\
                 "0.1038, 0.1576, 0.3428, 0.7298, 1.343, 2.205, 3.34, 4.77, 6.516, 8.601",\
                 "0.1064, 0.1604, 0.3438, 0.7302, 1.344, 2.204, 3.34, 4.769, 6.516, 8.601",\
                 "0.1094, 0.1628, 0.3452, 0.7304, 1.343, 2.207, 3.338, 4.77, 6.518, 8.596",\
                 "0.1136, 0.167, 0.3468, 0.7314, 1.344, 2.204, 3.34, 4.766, 6.515, 8.598",\
                 "0.1178, 0.1704, 0.3492, 0.7314, 1.345, 2.207, 3.337, 4.765, 6.523, 8.595",\
                 "0.1214, 0.1736, 0.3506, 0.731, 1.343, 2.206, 3.339, 4.767, 6.509, 8.594");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.7829, 0.8254, 0.9482, 1.172, 1.52, 2.009, 2.653, 3.465, 4.457, 5.637",\
                 "0.8007, 0.8431, 0.9661, 1.19, 1.538, 2.027, 2.671, 3.483, 4.474, 5.655",\
                 "0.867, 0.9093, 1.032, 1.256, 1.604, 2.093, 2.738, 3.549, 4.539, 5.722",\
                 "0.9986, 1.041, 1.164, 1.387, 1.736, 2.225, 2.869, 3.681, 4.672, 5.852",\
                 "1.186, 1.229, 1.351, 1.574, 1.923, 2.412, 3.056, 3.867, 4.859, 6.039",\
                 "1.405, 1.448, 1.571, 1.794, 2.142, 2.631, 3.275, 4.086, 5.078, 6.26",\
                 "1.655, 1.698, 1.822, 2.044, 2.391, 2.88, 3.524, 4.335, 5.326, 6.508",\
                 "1.931, 1.975, 2.1, 2.322, 2.669, 3.158, 3.801, 4.61, 5.601, 6.782",\
                 "2.234, 2.279, 2.403, 2.624, 2.971, 3.46, 4.103, 4.913, 5.902, 7.081",\
                 "2.562, 2.607, 2.732, 2.953, 3.3, 3.787, 4.43, 5.241, 6.23, 7.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1036, 0.1565, 0.3421, 0.73, 1.343, 2.208, 3.337, 4.77, 6.518, 8.6",\
                 "0.1033, 0.1565, 0.3421, 0.7302, 1.343, 2.206, 3.338, 4.77, 6.517, 8.6",\
                 "0.1032, 0.1566, 0.342, 0.73, 1.343, 2.204, 3.339, 4.771, 6.517, 8.6",\
                 "0.1036, 0.1562, 0.3422, 0.73, 1.343, 2.206, 3.338, 4.769, 6.518, 8.6",\
                 "0.1038, 0.1576, 0.3426, 0.7294, 1.343, 2.205, 3.34, 4.768, 6.517, 8.601",\
                 "0.1068, 0.1602, 0.3438, 0.7304, 1.343, 2.208, 3.339, 4.769, 6.519, 8.6",\
                 "0.1092, 0.1628, 0.345, 0.7306, 1.343, 2.207, 3.338, 4.77, 6.519, 8.596",\
                 "0.1136, 0.167, 0.3468, 0.731, 1.344, 2.204, 3.34, 4.768, 6.517, 8.599",\
                 "0.1178, 0.1704, 0.3492, 0.7316, 1.344, 2.206, 3.34, 4.766, 6.516, 8.594",\
                 "0.1212, 0.1744, 0.3514, 0.731, 1.343, 2.207, 3.339, 4.767, 6.509, 8.594");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.7829, 0.8253, 0.9482, 1.172, 1.52, 2.009, 2.653, 3.465, 4.457, 5.637",\
                 "0.8008, 0.8431, 0.9661, 1.19, 1.538, 2.027, 2.671, 3.483, 4.474, 5.655",\
                 "0.867, 0.9093, 1.032, 1.256, 1.604, 2.093, 2.738, 3.549, 4.539, 5.722",\
                 "0.9986, 1.041, 1.164, 1.387, 1.736, 2.225, 2.869, 3.681, 4.672, 5.852",\
                 "1.186, 1.229, 1.351, 1.574, 1.923, 2.412, 3.056, 3.867, 4.859, 6.039",\
                 "1.405, 1.448, 1.571, 1.793, 2.142, 2.631, 3.275, 4.086, 5.077, 6.255",\
                 "1.654, 1.698, 1.822, 2.044, 2.392, 2.881, 3.524, 4.336, 5.327, 6.509",\
                 "1.931, 1.976, 2.1, 2.322, 2.669, 3.157, 3.801, 4.611, 5.601, 6.782",\
                 "2.234, 2.279, 2.404, 2.624, 2.971, 3.46, 4.103, 4.914, 5.902, 7.081",\
                 "2.562, 2.608, 2.732, 2.953, 3.299, 3.787, 4.43, 5.241, 6.23, 7.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1036, 0.1564, 0.3421, 0.7302, 1.343, 2.208, 3.337, 4.77, 6.517, 8.6",\
                 "0.103, 0.1565, 0.3421, 0.7302, 1.342, 2.207, 3.338, 4.769, 6.518, 8.599",\
                 "0.1032, 0.1566, 0.342, 0.73, 1.343, 2.204, 3.339, 4.771, 6.517, 8.6",\
                 "0.1036, 0.1562, 0.3422, 0.73, 1.343, 2.206, 3.338, 4.769, 6.518, 8.6",\
                 "0.1038, 0.1576, 0.3426, 0.7294, 1.343, 2.205, 3.34, 4.768, 6.517, 8.601",\
                 "0.1064, 0.1596, 0.3442, 0.7302, 1.345, 2.208, 3.34, 4.768, 6.517, 8.602",\
                 "0.1098, 0.163, 0.345, 0.731, 1.344, 2.207, 3.339, 4.769, 6.518, 8.595",\
                 "0.1138, 0.1664, 0.3472, 0.7308, 1.346, 2.204, 3.338, 4.769, 6.516, 8.599",\
                 "0.1176, 0.1704, 0.3492, 0.7314, 1.344, 2.206, 3.341, 4.765, 6.511, 8.596",\
                 "0.1206, 0.1734, 0.3508, 0.7312, 1.344, 2.207, 3.339, 4.767, 6.509, 8.594");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.7832, 0.8257, 0.9486, 1.172, 1.521, 2.01, 2.654, 3.465, 4.456, 5.638",\
                 "0.8011, 0.8435, 0.9664, 1.19, 1.538, 2.028, 2.672, 3.483, 4.475, 5.656",\
                 "0.8672, 0.9096, 1.033, 1.256, 1.605, 2.094, 2.738, 3.549, 4.54, 5.722",\
                 "0.9988, 1.041, 1.164, 1.387, 1.736, 2.226, 2.869, 3.68, 4.672, 5.849",\
                 "1.186, 1.229, 1.352, 1.574, 1.923, 2.412, 3.056, 3.868, 4.858, 6.041",\
                 "1.405, 1.448, 1.572, 1.794, 2.142, 2.631, 3.275, 4.087, 5.079, 6.26",\
                 "1.655, 1.698, 1.821, 2.043, 2.391, 2.88, 3.523, 4.335, 5.326, 6.508",\
                 "1.932, 1.976, 2.099, 2.322, 2.669, 3.158, 3.8, 4.611, 5.602, 6.783",\
                 "2.234, 2.279, 2.404, 2.625, 2.971, 3.46, 4.104, 4.913, 5.903, 7.082",\
                 "2.563, 2.608, 2.733, 2.955, 3.301, 3.789, 4.432, 5.242, 6.232, 7.411");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1031, 0.1565, 0.3419, 0.73, 1.345, 2.206, 3.34, 4.77, 6.519, 8.595",\
                 "0.1034, 0.1563, 0.3421, 0.7302, 1.343, 2.206, 3.34, 4.767, 6.519, 8.598",\
                 "0.1032, 0.1566, 0.342, 0.73, 1.343, 2.205, 3.34, 4.769, 6.519, 8.599",\
                 "0.1034, 0.1564, 0.3422, 0.73, 1.344, 2.209, 3.339, 4.769, 6.517, 8.6",\
                 "0.104, 0.1576, 0.3426, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.597",\
                 "0.1072, 0.1602, 0.3438, 0.7302, 1.343, 2.206, 3.339, 4.77, 6.515, 8.596",\
                 "0.1096, 0.1628, 0.345, 0.7304, 1.343, 2.205, 3.338, 4.771, 6.519, 8.598",\
                 "0.1136, 0.1668, 0.347, 0.731, 1.344, 2.204, 3.339, 4.764, 6.514, 8.601",\
                 "0.1174, 0.1698, 0.349, 0.7324, 1.344, 2.206, 3.338, 4.766, 6.512, 8.593",\
                 "0.1208, 0.1742, 0.3506, 0.7314, 1.344, 2.206, 3.338, 4.768, 6.51, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.7834, 0.8257, 0.9486, 1.172, 1.521, 2.01, 2.654, 3.465, 4.454, 5.638",\
                 "0.8011, 0.8435, 0.9664, 1.19, 1.538, 2.028, 2.672, 3.483, 4.475, 5.655",\
                 "0.8672, 0.9096, 1.033, 1.256, 1.605, 2.094, 2.738, 3.549, 4.541, 5.721",\
                 "0.9988, 1.041, 1.164, 1.387, 1.736, 2.226, 2.869, 3.68, 4.672, 5.849",\
                 "1.186, 1.229, 1.352, 1.574, 1.923, 2.412, 3.056, 3.868, 4.858, 6.041",\
                 "1.405, 1.448, 1.572, 1.794, 2.142, 2.631, 3.275, 4.086, 5.075, 6.26",\
                 "1.655, 1.698, 1.822, 2.044, 2.392, 2.881, 3.524, 4.335, 5.327, 6.509",\
                 "1.932, 1.976, 2.1, 2.322, 2.669, 3.158, 3.801, 4.611, 5.602, 6.781",\
                 "2.234, 2.279, 2.403, 2.624, 2.971, 3.46, 4.104, 4.913, 5.903, 7.082",\
                 "2.562, 2.608, 2.734, 2.955, 3.301, 3.789, 4.432, 5.242, 6.232, 7.41");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1034, 0.1565, 0.3423, 0.7296, 1.344, 2.208, 3.339, 4.771, 6.514, 8.601",\
                 "0.1034, 0.1563, 0.3421, 0.7302, 1.343, 2.206, 3.34, 4.767, 6.519, 8.598",\
                 "0.1032, 0.1566, 0.3424, 0.73, 1.345, 2.204, 3.337, 4.77, 6.517, 8.6",\
                 "0.1034, 0.1564, 0.3422, 0.73, 1.344, 2.209, 3.339, 4.769, 6.517, 8.6",\
                 "0.104, 0.1576, 0.3426, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.597",\
                 "0.1072, 0.1604, 0.3438, 0.73, 1.345, 2.208, 3.339, 4.77, 6.515, 8.601",\
                 "0.1098, 0.1632, 0.3452, 0.7302, 1.343, 2.206, 3.339, 4.769, 6.519, 8.595",\
                 "0.114, 0.1664, 0.347, 0.7306, 1.345, 2.203, 3.339, 4.768, 6.516, 8.59",\
                 "0.1172, 0.1698, 0.3486, 0.7318, 1.345, 2.206, 3.338, 4.766, 6.512, 8.593",\
                 "0.122, 0.1734, 0.3506, 0.7318, 1.344, 2.205, 3.339, 4.769, 6.509, 8.586");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.7834, 0.8257, 0.9486, 1.172, 1.521, 2.01, 2.654, 3.465, 4.455, 5.639",\
                 "0.8011, 0.8435, 0.9664, 1.19, 1.538, 2.028, 2.672, 3.483, 4.475, 5.655",\
                 "0.8672, 0.9096, 1.033, 1.256, 1.605, 2.094, 2.738, 3.549, 4.538, 5.722",\
                 "0.9988, 1.041, 1.164, 1.387, 1.736, 2.226, 2.869, 3.68, 4.672, 5.849",\
                 "1.186, 1.229, 1.352, 1.574, 1.923, 2.412, 3.056, 3.868, 4.858, 6.041",\
                 "1.405, 1.448, 1.572, 1.794, 2.142, 2.631, 3.275, 4.086, 5.075, 6.26",\
                 "1.655, 1.698, 1.822, 2.044, 2.392, 2.881, 3.524, 4.335, 5.328, 6.509",\
                 "1.932, 1.976, 2.1, 2.322, 2.669, 3.158, 3.801, 4.611, 5.602, 6.781",\
                 "2.234, 2.279, 2.404, 2.625, 2.971, 3.46, 4.104, 4.913, 5.903, 7.082",\
                 "2.562, 2.608, 2.734, 2.955, 3.301, 3.789, 4.432, 5.242, 6.232, 7.41");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1035, 0.1566, 0.3418, 0.73, 1.344, 2.205, 3.339, 4.771, 6.516, 8.601",\
                 "0.1034, 0.1563, 0.3421, 0.7302, 1.343, 2.206, 3.34, 4.767, 6.519, 8.598",\
                 "0.1032, 0.1566, 0.3422, 0.7302, 1.345, 2.203, 3.337, 4.77, 6.514, 8.596",\
                 "0.1034, 0.1564, 0.3422, 0.73, 1.344, 2.209, 3.339, 4.769, 6.517, 8.6",\
                 "0.104, 0.1576, 0.3426, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.597",\
                 "0.1072, 0.1604, 0.3438, 0.73, 1.345, 2.208, 3.339, 4.766, 6.515, 8.601",\
                 "0.1102, 0.1632, 0.3452, 0.7302, 1.343, 2.206, 3.339, 4.769, 6.514, 8.595",\
                 "0.114, 0.1664, 0.347, 0.7306, 1.345, 2.203, 3.339, 4.768, 6.516, 8.59",\
                 "0.1172, 0.1698, 0.349, 0.7324, 1.345, 2.206, 3.338, 4.766, 6.512, 8.593",\
                 "0.1204, 0.1734, 0.3506, 0.731, 1.344, 2.207, 3.34, 4.769, 6.509, 8.586");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.7829, 0.8253, 0.9482, 1.172, 1.52, 2.009, 2.653, 3.465, 4.457, 5.637",\
                 "0.8008, 0.8431, 0.9661, 1.19, 1.538, 2.027, 2.671, 3.483, 4.474, 5.655",\
                 "0.867, 0.9093, 1.032, 1.256, 1.604, 2.093, 2.738, 3.549, 4.539, 5.722",\
                 "0.9986, 1.041, 1.164, 1.387, 1.736, 2.225, 2.869, 3.681, 4.67, 5.854",\
                 "1.186, 1.229, 1.351, 1.574, 1.923, 2.412, 3.056, 3.867, 4.859, 6.039",\
                 "1.405, 1.448, 1.571, 1.794, 2.142, 2.631, 3.274, 4.085, 5.076, 6.259",\
                 "1.655, 1.698, 1.822, 2.044, 2.392, 2.88, 3.523, 4.335, 5.325, 6.509",\
                 "1.932, 1.976, 2.1, 2.322, 2.669, 3.157, 3.8, 4.611, 5.601, 6.782",\
                 "2.234, 2.279, 2.403, 2.624, 2.971, 3.459, 4.103, 4.914, 5.902, 7.081",\
                 "2.562, 2.608, 2.732, 2.953, 3.299, 3.787, 4.43, 5.241, 6.23, 7.409");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1036, 0.1564, 0.3421, 0.7302, 1.343, 2.208, 3.337, 4.77, 6.518, 8.6",\
                 "0.103, 0.1565, 0.3421, 0.7302, 1.343, 2.207, 3.339, 4.77, 6.518, 8.6",\
                 "0.1032, 0.1566, 0.342, 0.73, 1.343, 2.204, 3.339, 4.771, 6.517, 8.6",\
                 "0.1034, 0.1564, 0.342, 0.7296, 1.343, 2.208, 3.339, 4.769, 6.515, 8.601",\
                 "0.1038, 0.1576, 0.3428, 0.7298, 1.343, 2.205, 3.34, 4.77, 6.517, 8.601",\
                 "0.1064, 0.1602, 0.3438, 0.7298, 1.343, 2.207, 3.339, 4.768, 6.517, 8.601",\
                 "0.1092, 0.1628, 0.345, 0.7304, 1.344, 2.207, 3.338, 4.77, 6.518, 8.598",\
                 "0.1132, 0.1666, 0.3468, 0.731, 1.343, 2.204, 3.339, 4.767, 6.516, 8.601",\
                 "0.1168, 0.1704, 0.3488, 0.7314, 1.344, 2.204, 3.337, 4.766, 6.514, 8.592",\
                 "0.1208, 0.1746, 0.3508, 0.7316, 1.344, 2.207, 3.339, 4.767, 6.509, 8.594");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.7832, 0.8257, 0.9486, 1.172, 1.521, 2.01, 2.654, 3.465, 4.456, 5.638",\
                 "0.8011, 0.8435, 0.9664, 1.19, 1.538, 2.028, 2.672, 3.483, 4.475, 5.656",\
                 "0.8673, 0.9096, 1.032, 1.256, 1.605, 2.094, 2.738, 3.549, 4.54, 5.722",\
                 "0.9988, 1.041, 1.164, 1.387, 1.736, 2.226, 2.869, 3.68, 4.672, 5.849",\
                 "1.186, 1.229, 1.352, 1.575, 1.923, 2.412, 3.056, 3.868, 4.858, 6.041",\
                 "1.405, 1.448, 1.572, 1.794, 2.142, 2.631, 3.275, 4.087, 5.076, 6.259",\
                 "1.654, 1.698, 1.822, 2.044, 2.392, 2.881, 3.524, 4.335, 5.325, 6.508",\
                 "1.932, 1.976, 2.1, 2.322, 2.669, 3.157, 3.8, 4.612, 5.602, 6.783",\
                 "2.234, 2.279, 2.403, 2.625, 2.971, 3.46, 4.103, 4.914, 5.902, 7.082",\
                 "2.563, 2.608, 2.734, 2.955, 3.301, 3.788, 4.432, 5.242, 6.232, 7.411");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1031, 0.1565, 0.3419, 0.73, 1.345, 2.206, 3.34, 4.77, 6.519, 8.595",\
                 "0.1034, 0.1563, 0.3421, 0.7302, 1.343, 2.206, 3.34, 4.767, 6.519, 8.598",\
                 "0.1034, 0.1566, 0.342, 0.7298, 1.345, 2.206, 3.339, 4.77, 6.519, 8.597",\
                 "0.1034, 0.1564, 0.3422, 0.73, 1.344, 2.209, 3.339, 4.769, 6.517, 8.6",\
                 "0.1038, 0.1576, 0.3426, 0.7296, 1.343, 2.205, 3.34, 4.771, 6.519, 8.597",\
                 "0.1068, 0.16, 0.344, 0.7302, 1.345, 2.206, 3.339, 4.77, 6.518, 8.6",\
                 "0.1098, 0.1624, 0.3452, 0.7304, 1.344, 2.206, 3.339, 4.769, 6.517, 8.601",\
                 "0.113, 0.1668, 0.347, 0.731, 1.343, 2.204, 3.338, 4.768, 6.514, 8.601",\
                 "0.1174, 0.1702, 0.3488, 0.7312, 1.344, 2.207, 3.34, 4.766, 6.522, 8.591",\
                 "0.1208, 0.1734, 0.3506, 0.7314, 1.344, 2.204, 3.34, 4.767, 6.508, 8.602");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.8304, 0.8725, 0.9953, 1.219, 1.567, 2.056, 2.7, 3.511, 4.502, 5.68",\
                 "0.8482, 0.8901, 1.013, 1.236, 1.584, 2.074, 2.718, 3.529, 4.52, 5.697",\
                 "0.9141, 0.9559, 1.079, 1.302, 1.65, 2.14, 2.784, 3.595, 4.586, 5.763",\
                 "1.046, 1.088, 1.211, 1.434, 1.783, 2.272, 2.916, 3.727, 4.718, 5.895",\
                 "1.24, 1.282, 1.404, 1.628, 1.976, 2.465, 3.109, 3.92, 4.909, 6.089",\
                 "1.467, 1.509, 1.632, 1.855, 2.203, 2.692, 3.335, 4.147, 5.138, 6.317",\
                 "1.723, 1.766, 1.89, 2.111, 2.459, 2.948, 3.591, 4.403, 5.394, 6.574",\
                 "2.007, 2.051, 2.174, 2.395, 2.742, 3.231, 3.874, 4.685, 5.675, 6.854",\
                 "2.316, 2.359, 2.482, 2.703, 3.05, 3.539, 4.182, 4.992, 5.981, 7.161",\
                 "2.649, 2.693, 2.816, 3.037, 3.384, 3.872, 4.515, 5.325, 6.315, 7.494");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1021, 0.1553, 0.3416, 0.7298, 1.345, 2.204, 3.34, 4.771, 6.519, 8.595",\
                 "0.1024, 0.1557, 0.3417, 0.7296, 1.344, 2.204, 3.34, 4.771, 6.519, 8.593",\
                 "0.1024, 0.1556, 0.3416, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.592",\
                 "0.1028, 0.1558, 0.3416, 0.7296, 1.344, 2.206, 3.34, 4.769, 6.518, 8.594",\
                 "0.1036, 0.1562, 0.3418, 0.73, 1.343, 2.206, 3.34, 4.771, 6.516, 8.596",\
                 "0.1048, 0.1584, 0.3432, 0.7304, 1.345, 2.208, 3.339, 4.771, 6.518, 8.604",\
                 "0.107, 0.1608, 0.3438, 0.7298, 1.344, 2.204, 3.339, 4.77, 6.516, 8.6",\
                 "0.1106, 0.1626, 0.3456, 0.7298, 1.343, 2.204, 3.34, 4.769, 6.517, 8.595",\
                 "0.1128, 0.165, 0.3462, 0.7306, 1.343, 2.204, 3.337, 4.765, 6.513, 8.594",\
                 "0.1154, 0.167, 0.3466, 0.7304, 1.344, 2.207, 3.339, 4.769, 6.508, 8.596");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.8305, 0.8725, 0.9953, 1.219, 1.567, 2.056, 2.7, 3.511, 4.502, 5.68",\
                 "0.8482, 0.8901, 1.013, 1.236, 1.584, 2.074, 2.718, 3.529, 4.52, 5.697",\
                 "0.9141, 0.9559, 1.079, 1.302, 1.65, 2.14, 2.784, 3.595, 4.586, 5.763",\
                 "1.046, 1.088, 1.211, 1.434, 1.783, 2.272, 2.916, 3.727, 4.718, 5.895",\
                 "1.24, 1.282, 1.404, 1.627, 1.976, 2.465, 3.109, 3.92, 4.909, 6.09",\
                 "1.467, 1.509, 1.632, 1.855, 2.203, 2.692, 3.335, 4.146, 5.137, 6.316",\
                 "1.723, 1.766, 1.889, 2.111, 2.459, 2.948, 3.591, 4.403, 5.394, 6.572",\
                 "2.007, 2.051, 2.174, 2.395, 2.742, 3.231, 3.874, 4.685, 5.675, 6.854",\
                 "2.315, 2.359, 2.482, 2.703, 3.05, 3.539, 4.182, 4.992, 5.981, 7.161",\
                 "2.649, 2.693, 2.816, 3.037, 3.384, 3.872, 4.515, 5.325, 6.315, 7.493");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1024, 0.1553, 0.3416, 0.7298, 1.345, 2.205, 3.339, 4.771, 6.518, 8.597",\
                 "0.1024, 0.1557, 0.3417, 0.7296, 1.344, 2.204, 3.34, 4.771, 6.519, 8.593",\
                 "0.1024, 0.1556, 0.3416, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.592",\
                 "0.1028, 0.1558, 0.3416, 0.7296, 1.344, 2.206, 3.34, 4.769, 6.518, 8.594",\
                 "0.1032, 0.1566, 0.3422, 0.73, 1.344, 2.208, 3.34, 4.771, 6.516, 8.604",\
                 "0.1048, 0.1584, 0.3432, 0.7302, 1.345, 2.207, 3.338, 4.766, 6.523, 8.601",\
                 "0.107, 0.1608, 0.3438, 0.7298, 1.344, 2.203, 3.34, 4.769, 6.516, 8.597",\
                 "0.1106, 0.1626, 0.3456, 0.7298, 1.343, 2.204, 3.34, 4.769, 6.517, 8.595",\
                 "0.1126, 0.1654, 0.3462, 0.7306, 1.343, 2.204, 3.337, 4.765, 6.511, 8.594",\
                 "0.115, 0.167, 0.3468, 0.7304, 1.344, 2.207, 3.339, 4.769, 6.508, 8.604");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.8305, 0.8725, 0.9953, 1.219, 1.567, 2.056, 2.7, 3.511, 4.502, 5.679",\
                 "0.8482, 0.8901, 1.013, 1.236, 1.584, 2.074, 2.718, 3.529, 4.52, 5.697",\
                 "0.9141, 0.9559, 1.079, 1.302, 1.65, 2.14, 2.784, 3.595, 4.586, 5.763",\
                 "1.046, 1.088, 1.211, 1.434, 1.783, 2.272, 2.916, 3.727, 4.718, 5.895",\
                 "1.24, 1.282, 1.404, 1.627, 1.976, 2.465, 3.109, 3.919, 4.911, 6.088",\
                 "1.467, 1.51, 1.632, 1.855, 2.203, 2.692, 3.336, 4.147, 5.138, 6.315",\
                 "1.724, 1.767, 1.889, 2.111, 2.459, 2.948, 3.591, 4.403, 5.393, 6.571",\
                 "2.007, 2.051, 2.174, 2.395, 2.742, 3.231, 3.874, 4.685, 5.675, 6.854",\
                 "2.315, 2.359, 2.482, 2.703, 3.05, 3.539, 4.182, 4.992, 5.981, 7.161",\
                 "2.649, 2.693, 2.816, 3.037, 3.383, 3.872, 4.514, 5.325, 6.315, 7.494");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1024, 0.1557, 0.3416, 0.7298, 1.345, 2.203, 3.34, 4.771, 6.519, 8.592",\
                 "0.1024, 0.1557, 0.3417, 0.7296, 1.344, 2.204, 3.34, 4.771, 6.519, 8.593",\
                 "0.1024, 0.1556, 0.3416, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.592",\
                 "0.1028, 0.1558, 0.3416, 0.7296, 1.344, 2.206, 3.34, 4.769, 6.519, 8.594",\
                 "0.1034, 0.156, 0.342, 0.73, 1.344, 2.206, 3.34, 4.771, 6.519, 8.591",\
                 "0.1048, 0.158, 0.343, 0.7302, 1.345, 2.206, 3.34, 4.77, 6.519, 8.592",\
                 "0.1072, 0.1606, 0.3438, 0.7298, 1.344, 2.204, 3.34, 4.77, 6.516, 8.591",\
                 "0.1106, 0.1626, 0.3456, 0.7298, 1.343, 2.204, 3.34, 4.769, 6.517, 8.595",\
                 "0.1126, 0.1654, 0.3462, 0.7304, 1.343, 2.206, 3.337, 4.768, 6.511, 8.594",\
                 "0.1154, 0.1672, 0.3476, 0.7304, 1.344, 2.206, 3.339, 4.767, 6.509, 8.594");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.8305, 0.8729, 0.9954, 1.218, 1.567, 2.056, 2.7, 3.512, 4.503, 5.681",\
                 "0.8483, 0.8904, 1.013, 1.236, 1.584, 2.074, 2.718, 3.529, 4.52, 5.697",\
                 "0.9141, 0.9559, 1.079, 1.302, 1.65, 2.14, 2.784, 3.595, 4.586, 5.763",\
                 "1.046, 1.088, 1.211, 1.434, 1.783, 2.272, 2.916, 3.727, 4.718, 5.896",\
                 "1.24, 1.282, 1.404, 1.627, 1.976, 2.465, 3.109, 3.92, 4.911, 6.09",\
                 "1.467, 1.509, 1.632, 1.855, 2.203, 2.692, 3.335, 4.147, 5.138, 6.318",\
                 "1.724, 1.766, 1.889, 2.111, 2.459, 2.947, 3.591, 4.402, 5.392, 6.574",\
                 "2.007, 2.051, 2.174, 2.395, 2.743, 3.231, 3.874, 4.685, 5.675, 6.855",\
                 "2.315, 2.359, 2.482, 2.703, 3.05, 3.539, 4.182, 4.993, 5.982, 7.162",\
                 "2.648, 2.693, 2.816, 3.037, 3.384, 3.872, 4.515, 5.325, 6.315, 7.494");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1026, 0.1556, 0.3423, 0.73, 1.343, 2.207, 3.338, 4.769, 6.515, 8.6",\
                 "0.1025, 0.1556, 0.3415, 0.7296, 1.344, 2.205, 3.34, 4.771, 6.519, 8.593",\
                 "0.1024, 0.1556, 0.3416, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.592",\
                 "0.1026, 0.1558, 0.3418, 0.7296, 1.343, 2.207, 3.339, 4.769, 6.516, 8.599",\
                 "0.1038, 0.1564, 0.3418, 0.73, 1.344, 2.204, 3.34, 4.769, 6.514, 8.601",\
                 "0.1052, 0.1582, 0.3432, 0.7302, 1.345, 2.207, 3.338, 4.771, 6.514, 8.597",\
                 "0.1074, 0.161, 0.3438, 0.7298, 1.343, 2.207, 3.339, 4.766, 6.516, 8.595",\
                 "0.1102, 0.163, 0.345, 0.731, 1.345, 2.204, 3.34, 4.768, 6.515, 8.597",\
                 "0.1132, 0.1652, 0.346, 0.7306, 1.345, 2.207, 3.337, 4.766, 6.508, 8.593",\
                 "0.1144, 0.1672, 0.3476, 0.731, 1.344, 2.207, 3.339, 4.769, 6.51, 8.598");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.8305, 0.8725, 0.9953, 1.219, 1.567, 2.056, 2.7, 3.512, 4.502, 5.679",\
                 "0.8482, 0.8901, 1.013, 1.236, 1.584, 2.074, 2.718, 3.529, 4.52, 5.697",\
                 "0.9141, 0.9559, 1.079, 1.302, 1.65, 2.14, 2.784, 3.595, 4.586, 5.763",\
                 "1.046, 1.088, 1.211, 1.434, 1.783, 2.272, 2.916, 3.727, 4.718, 5.896",\
                 "1.24, 1.282, 1.404, 1.628, 1.976, 2.465, 3.109, 3.921, 4.911, 6.089",\
                 "1.467, 1.509, 1.632, 1.855, 2.203, 2.692, 3.336, 4.147, 5.138, 6.314",\
                 "1.723, 1.766, 1.889, 2.111, 2.459, 2.948, 3.591, 4.403, 5.394, 6.573",\
                 "2.007, 2.051, 2.174, 2.395, 2.742, 3.231, 3.874, 4.685, 5.676, 6.854",\
                 "2.316, 2.359, 2.483, 2.704, 3.051, 3.539, 4.183, 4.993, 5.982, 7.162",\
                 "2.649, 2.693, 2.816, 3.037, 3.384, 3.872, 4.514, 5.326, 6.315, 7.493");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1024, 0.1557, 0.3416, 0.7298, 1.343, 2.205, 3.34, 4.77, 6.519, 8.591",\
                 "0.1024, 0.1557, 0.3417, 0.7298, 1.344, 2.203, 3.34, 4.771, 6.519, 8.593",\
                 "0.1024, 0.1556, 0.3416, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.592",\
                 "0.1028, 0.1558, 0.3418, 0.7296, 1.343, 2.207, 3.339, 4.769, 6.516, 8.599",\
                 "0.1038, 0.1566, 0.3422, 0.7302, 1.345, 2.205, 3.34, 4.768, 6.517, 8.598",\
                 "0.1048, 0.1584, 0.3432, 0.7304, 1.345, 2.205, 3.34, 4.77, 6.517, 8.591",\
                 "0.1076, 0.1606, 0.3442, 0.7298, 1.343, 2.206, 3.34, 4.77, 6.517, 8.601",\
                 "0.1102, 0.1632, 0.3454, 0.7304, 1.343, 2.204, 3.34, 4.769, 6.515, 8.595",\
                 "0.113, 0.1648, 0.3466, 0.73, 1.345, 2.205, 3.338, 4.766, 6.508, 8.593",\
                 "0.1146, 0.1678, 0.3472, 0.7302, 1.344, 2.206, 3.339, 4.767, 6.509, 8.586");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.8305, 0.8725, 0.9953, 1.219, 1.567, 2.056, 2.7, 3.512, 4.502, 5.679",\
                 "0.8482, 0.8901, 1.013, 1.236, 1.584, 2.074, 2.718, 3.529, 4.52, 5.697",\
                 "0.9141, 0.9559, 1.079, 1.302, 1.65, 2.14, 2.784, 3.595, 4.586, 5.763",\
                 "1.046, 1.088, 1.211, 1.434, 1.783, 2.272, 2.916, 3.727, 4.718, 5.896",\
                 "1.24, 1.282, 1.404, 1.627, 1.976, 2.465, 3.109, 3.921, 4.911, 6.089",\
                 "1.467, 1.509, 1.632, 1.855, 2.202, 2.692, 3.335, 4.147, 5.137, 6.318",\
                 "1.723, 1.766, 1.889, 2.111, 2.459, 2.948, 3.592, 4.403, 5.394, 6.573",\
                 "2.007, 2.051, 2.174, 2.395, 2.742, 3.231, 3.874, 4.685, 5.676, 6.858",\
                 "2.316, 2.36, 2.483, 2.704, 3.051, 3.539, 4.183, 4.993, 5.982, 7.162",\
                 "2.649, 2.693, 2.816, 3.037, 3.384, 3.872, 4.514, 5.326, 6.315, 7.493");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1024, 0.1557, 0.3416, 0.7298, 1.343, 2.204, 3.34, 4.77, 6.519, 8.591",\
                 "0.1024, 0.1557, 0.3417, 0.7298, 1.344, 2.203, 3.34, 4.771, 6.519, 8.593",\
                 "0.1024, 0.1556, 0.3416, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.592",\
                 "0.1028, 0.1556, 0.3418, 0.7296, 1.343, 2.207, 3.339, 4.769, 6.516, 8.599",\
                 "0.1038, 0.1564, 0.342, 0.73, 1.344, 2.205, 3.339, 4.768, 6.517, 8.598",\
                 "0.1052, 0.1584, 0.343, 0.7304, 1.344, 2.204, 3.34, 4.768, 6.522, 8.594",\
                 "0.1076, 0.1606, 0.344, 0.7306, 1.343, 2.205, 3.339, 4.769, 6.517, 8.601",\
                 "0.1102, 0.1632, 0.3454, 0.7298, 1.343, 2.204, 3.34, 4.769, 6.515, 8.599",\
                 "0.1132, 0.165, 0.3462, 0.73, 1.342, 2.205, 3.338, 4.766, 6.508, 8.593",\
                 "0.1154, 0.1678, 0.3472, 0.7302, 1.344, 2.206, 3.339, 4.767, 6.509, 8.586");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.8305, 0.8725, 0.9953, 1.219, 1.567, 2.056, 2.7, 3.511, 4.502, 5.679",\
                 "0.8482, 0.8901, 1.013, 1.236, 1.584, 2.074, 2.718, 3.529, 4.52, 5.697",\
                 "0.9141, 0.9559, 1.079, 1.302, 1.65, 2.14, 2.784, 3.595, 4.586, 5.763",\
                 "1.046, 1.088, 1.211, 1.434, 1.783, 2.272, 2.916, 3.727, 4.718, 5.895",\
                 "1.24, 1.282, 1.404, 1.628, 1.976, 2.465, 3.109, 3.92, 4.91, 6.091",\
                 "1.467, 1.509, 1.632, 1.855, 2.202, 2.692, 3.336, 4.147, 5.138, 6.318",\
                 "1.723, 1.766, 1.889, 2.111, 2.459, 2.948, 3.591, 4.402, 5.393, 6.573",\
                 "2.007, 2.051, 2.174, 2.395, 2.742, 3.231, 3.874, 4.685, 5.675, 6.854",\
                 "2.315, 2.359, 2.482, 2.703, 3.05, 3.539, 4.182, 4.992, 5.981, 7.161",\
                 "2.648, 2.693, 2.816, 3.037, 3.384, 3.872, 4.515, 5.325, 6.315, 7.494");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1024, 0.1557, 0.3416, 0.7298, 1.345, 2.203, 3.34, 4.771, 6.519, 8.592",\
                 "0.1024, 0.1557, 0.3417, 0.7296, 1.344, 2.204, 3.34, 4.771, 6.519, 8.593",\
                 "0.1024, 0.1556, 0.3416, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.592",\
                 "0.1028, 0.1558, 0.3416, 0.7296, 1.344, 2.206, 3.34, 4.769, 6.518, 8.594",\
                 "0.1034, 0.1562, 0.342, 0.73, 1.343, 2.206, 3.34, 4.771, 6.516, 8.597",\
                 "0.1058, 0.1586, 0.343, 0.7302, 1.343, 2.208, 3.339, 4.77, 6.513, 8.593",\
                 "0.107, 0.1606, 0.3438, 0.7298, 1.344, 2.206, 3.339, 4.77, 6.519, 8.599",\
                 "0.1106, 0.1626, 0.3456, 0.7298, 1.343, 2.204, 3.34, 4.769, 6.517, 8.595",\
                 "0.1126, 0.1654, 0.3464, 0.7304, 1.343, 2.207, 3.337, 4.767, 6.509, 8.594",\
                 "0.1146, 0.1678, 0.3468, 0.7304, 1.344, 2.206, 3.343, 4.769, 6.508, 8.586");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.8305, 0.8729, 0.9954, 1.218, 1.567, 2.056, 2.7, 3.512, 4.503, 5.681",\
                 "0.8483, 0.8904, 1.013, 1.236, 1.584, 2.074, 2.718, 3.529, 4.52, 5.697",\
                 "0.9141, 0.9559, 1.079, 1.302, 1.65, 2.14, 2.784, 3.595, 4.586, 5.763",\
                 "1.046, 1.088, 1.211, 1.434, 1.783, 2.272, 2.916, 3.727, 4.718, 5.896",\
                 "1.24, 1.282, 1.404, 1.628, 1.976, 2.465, 3.109, 3.921, 4.911, 6.089",\
                 "1.467, 1.509, 1.632, 1.855, 2.203, 2.692, 3.335, 4.146, 5.136, 6.315",\
                 "1.724, 1.767, 1.889, 2.111, 2.459, 2.948, 3.591, 4.403, 5.394, 6.573",\
                 "2.008, 2.051, 2.173, 2.395, 2.742, 3.231, 3.874, 4.685, 5.676, 6.855",\
                 "2.315, 2.359, 2.482, 2.704, 3.051, 3.539, 4.183, 4.993, 5.982, 7.161",\
                 "2.648, 2.693, 2.816, 3.037, 3.383, 3.872, 4.515, 5.326, 6.315, 7.493");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1026, 0.1556, 0.3423, 0.73, 1.343, 2.207, 3.338, 4.769, 6.515, 8.6",\
                 "0.1025, 0.1556, 0.3415, 0.7296, 1.344, 2.205, 3.34, 4.771, 6.519, 8.593",\
                 "0.1024, 0.1556, 0.3416, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.592",\
                 "0.1026, 0.1558, 0.3418, 0.7296, 1.343, 2.207, 3.339, 4.769, 6.516, 8.599",\
                 "0.1036, 0.1568, 0.342, 0.73, 1.344, 2.203, 3.34, 4.768, 6.517, 8.598",\
                 "0.1054, 0.1584, 0.3428, 0.7304, 1.345, 2.207, 3.338, 4.769, 6.516, 8.596",\
                 "0.1076, 0.1606, 0.3438, 0.7306, 1.344, 2.205, 3.34, 4.769, 6.513, 8.601",\
                 "0.1102, 0.1626, 0.345, 0.7304, 1.344, 2.204, 3.34, 4.766, 6.511, 8.597",\
                 "0.1134, 0.1654, 0.346, 0.7304, 1.345, 2.205, 3.338, 4.767, 6.512, 8.593",\
                 "0.1144, 0.1672, 0.347, 0.7302, 1.343, 2.205, 3.339, 4.765, 6.509, 8.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.8305, 0.8729, 0.9954, 1.218, 1.567, 2.056, 2.7, 3.512, 4.503, 5.681",\
                 "0.8483, 0.8904, 1.013, 1.236, 1.584, 2.074, 2.718, 3.529, 4.52, 5.697",\
                 "0.9141, 0.9559, 1.079, 1.302, 1.65, 2.14, 2.784, 3.595, 4.586, 5.763",\
                 "1.046, 1.088, 1.211, 1.434, 1.783, 2.272, 2.916, 3.727, 4.718, 5.896",\
                 "1.24, 1.282, 1.404, 1.627, 1.976, 2.465, 3.109, 3.92, 4.911, 6.09",\
                 "1.467, 1.509, 1.632, 1.855, 2.203, 2.692, 3.335, 4.147, 5.138, 6.318",\
                 "1.724, 1.766, 1.889, 2.111, 2.459, 2.947, 3.591, 4.402, 5.392, 6.574",\
                 "2.007, 2.051, 2.174, 2.395, 2.743, 3.231, 3.874, 4.685, 5.675, 6.855",\
                 "2.315, 2.359, 2.482, 2.703, 3.05, 3.539, 4.182, 4.993, 5.982, 7.162",\
                 "2.648, 2.693, 2.816, 3.037, 3.384, 3.872, 4.515, 5.325, 6.315, 7.494");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005966, 0.0234, 0.05669, 0.1086, 0.1813, 0.2771, 0.3977, 0.545, 0.7205");
          values("0.1026, 0.1556, 0.3423, 0.73, 1.343, 2.207, 3.338, 4.769, 6.515, 8.6",\
                 "0.1025, 0.1556, 0.3415, 0.7296, 1.344, 2.205, 3.34, 4.771, 6.519, 8.593",\
                 "0.1024, 0.1556, 0.3416, 0.7296, 1.343, 2.205, 3.34, 4.77, 6.519, 8.592",\
                 "0.1026, 0.1558, 0.3418, 0.7296, 1.343, 2.207, 3.339, 4.769, 6.516, 8.599",\
                 "0.1036, 0.1568, 0.342, 0.73, 1.344, 2.203, 3.34, 4.768, 6.517, 8.598",\
                 "0.1054, 0.1584, 0.3428, 0.7304, 1.345, 2.207, 3.338, 4.769, 6.516, 8.596",\
                 "0.1076, 0.1606, 0.3438, 0.7306, 1.344, 2.205, 3.34, 4.769, 6.513, 8.601",\
                 "0.1102, 0.1626, 0.345, 0.7304, 1.344, 2.204, 3.34, 4.766, 6.511, 8.597",\
                 "0.1134, 0.1654, 0.346, 0.7304, 1.345, 2.205, 3.338, 4.767, 6.512, 8.593",\
                 "0.1144, 0.1672, 0.347, 0.7302, 1.343, 2.205, 3.339, 4.765, 6.509, 8.608");
        }
      }
    }

    pin(SE) {
      capacitance : 0.005981 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05617, 0.05561, 0.05684, 0.06203, 0.07197, 0.08713, 0.1081, \
                 0.1352, 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001205, 0.0009568, 0.001715, 0.005496, 0.01354, 0.02635, 0.04432, \
                 0.0677, 0.09675, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1439, 0.143, 0.1435, 0.1484, 0.1604, 0.1823, 0.2153, 0.2603, \
                 0.3178, 0.3883");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03855, 0.03784, 0.03808, 0.04202, 0.05216, 0.07063, 0.09861, \
                 0.1369, 0.186, 0.2464");
        }
      }

      internal_power() {
        when : "!CLK&!D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05615, 0.05564, 0.05686, 0.06202, 0.07194, 0.08714, 0.1081, \
                 0.1351, 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001204, 0.0009728, 0.001714, 0.005508, 0.01358, 0.02635, 0.04432, \
                 0.06767, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "!CLK&!D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1788, 0.1779, 0.1784, 0.1832, 0.1958, 0.2189, 0.2541, 0.3028, \
                 0.3651, 0.4406");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09418, 0.09345, 0.09365, 0.09776, 0.109, 0.1291, 0.1596, 0.201, \
                 0.2539, 0.3186");
        }
      }

      internal_power() {
        when : "!CLK&D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09425, 0.09371, 0.09487, 0.09988, 0.1096, 0.1247, 0.1457, 0.1732, \
                 0.2074, 0.2488");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09441, 0.09423, 0.09479, 0.09829, 0.1061, 0.1187, 0.1365, 0.1598, \
                 0.1888, 0.2241");
        }
      }

      internal_power() {
        when : "!CLK&D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05708, 0.05647, 0.05786, 0.06316, 0.07329, 0.08868, 0.1097, \
                 0.1369, 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001638, -0.002414, -0.00208, 0.001644, 0.009704, 0.02255, 0.04056, \
                 0.06398, 0.09307, 0.1282");
        }
      }

      internal_power() {
        when : "!CLK&D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1491, 0.1486, 0.1497, 0.1547, 0.1645, 0.1796, 0.2007, 0.2283, \
                 0.2628, 0.3044");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1318, 0.1316, 0.1322, 0.1357, 0.1432, 0.1557, 0.1734, 0.1966, \
                 0.2256, 0.2609");
        }
      }

      internal_power() {
        when : "!CLK&D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05709, 0.05654, 0.05788, 0.06318, 0.07322, 0.08865, 0.1097, \
                 0.137, 0.1706, 0.2112");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001636, -0.002427, -0.002096, 0.001664, 0.009706, 0.02255, \
                 0.04055, 0.06398, 0.09306, 0.1281");
        }
      }

      internal_power() {
        when : "CLK&!D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05612, 0.05558, 0.05679, 0.06199, 0.07191, 0.08709, 0.108, 0.1351, \
                 0.1687, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00111, 0.0008852, 0.001648, 0.005457, 0.01345, 0.02635, 0.04427, \
                 0.06765, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05687, 0.05634, 0.05758, 0.06275, 0.07274, 0.08795, 0.109, 0.136, \
                 0.1696, 0.21");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001187, -0.001697, -0.00131, 0.002397, 0.0108, 0.02461, 0.04353, \
                 0.06761, 0.097, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&!D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05613, 0.05559, 0.0568, 0.06198, 0.07189, 0.08711, 0.108, 0.1351, \
                 0.1686, 0.2091");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001123, 0.0009022, 0.001627, 0.005446, 0.01354, 0.02631, 0.04428, \
                 0.06766, 0.09674, 0.1318");
        }
      }

      internal_power() {
        when : "CLK&!D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.07653, 0.07598, 0.07737, 0.08266, 0.09327, 0.1097, 0.1319, 0.16, \
                 0.1945, 0.2353");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00119, -0.00171, -0.001315, 0.002378, 0.01082, 0.02455, 0.04354, \
                 0.06765, 0.09702, 0.1321");
        }
      }

      internal_power() {
        when : "CLK&D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05781, 0.05727, 0.0584, 0.06341, 0.07315, 0.08813, 0.109, 0.136, \
                 0.1694, 0.2098");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002414, 0.002198, 0.002904, 0.00665, 0.01462, 0.0275, 0.0454, \
                 0.06878, 0.09784, 0.1329");
        }
      }

      internal_power() {
        when : "CLK&D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05939, 0.05885, 0.06014, 0.0653, 0.07526, 0.09044, 0.1115, 0.1385, \
                 0.1721, 0.2125");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00232, -0.002861, -0.002374, 0.001372, 0.009379, 0.02227, 0.0402, \
                 0.0636, 0.09269, 0.1277");
        }
      }

      internal_power() {
        when : "CLK&D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05848, 0.05794, 0.05911, 0.0642, 0.07391, 0.08896, 0.1098, 0.1367, \
                 0.1702, 0.2105");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01672, 0.01647, 0.01723, 0.02095, 0.02897, 0.04181, 0.05976, \
                 0.08311, 0.1122, 0.1472");
        }
      }

      internal_power() {
        when : "CLK&D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05703, 0.05648, 0.05787, 0.06316, 0.07322, 0.08866, 0.1097, \
                 0.1369, 0.1706, 0.2111");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002076, -0.002684, -0.002207, 0.001518, 0.009588, 0.02242, \
                 0.04042, 0.06387, 0.09297, 0.1281");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.16, -0.149, -0.1, -0.037, 0.018, 0.06, 0.083, 0.083, 0.051, 0.002",\
                 "-0.172, -0.159, -0.113, -0.042, 0.008, 0.047, 0.073, 0.075, 0.04, -0.006",\
                 "-0.2, -0.189, -0.141, -0.077, -0.018, 0.022, 0.049, 0.044, 0.015, -0.038",\
                 "-0.244, -0.237, -0.189, -0.122, -0.063, -0.021, 0.006, 0.002, -0.029, -0.081",\
                 "-0.315, -0.301, -0.251, -0.179, -0.127, -0.083, -0.058, -0.062, -0.088, -0.138",\
                 "-0.393, -0.383, -0.334, -0.256, -0.205, -0.162, -0.14, -0.137, -0.169, -0.22",\
                 "-0.462, -0.45, -0.402, -0.325, -0.284, -0.237, -0.21, -0.208, -0.239, -0.288",\
                 "-0.538, -0.53, -0.485, -0.417, -0.367, -0.317, -0.3, -0.292, -0.321, -0.358",\
                 "-0.632, -0.627, -0.586, -0.513, -0.481, -0.428, -0.399, -0.388, -0.413, -0.452",\
                 "-0.757, -0.754, -0.712, -0.646, -0.611, -0.556, -0.525, -0.511, -0.539, -0.573");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.344, -0.334, -0.299, -0.283, -0.295, -0.332, -0.381, -0.46, -0.554, -0.68",\
                 "-0.35, -0.342, -0.308, -0.293, -0.309, -0.337, -0.39, -0.468, -0.562, -0.687",\
                 "-0.382, -0.367, -0.338, -0.326, -0.331, -0.368, -0.413, -0.491, -0.589, -0.714",\
                 "-0.426, -0.411, -0.386, -0.367, -0.375, -0.401, -0.443, -0.519, -0.615, -0.736",\
                 "-0.471, -0.464, -0.425, -0.411, -0.41, -0.434, -0.476, -0.543, -0.636, -0.752",\
                 "-0.509, -0.495, -0.462, -0.439, -0.433, -0.453, -0.49, -0.558, -0.646, -0.763",\
                 "-0.513, -0.501, -0.465, -0.445, -0.445, -0.46, -0.501, -0.559, -0.653, -0.759",\
                 "-0.496, -0.482, -0.447, -0.429, -0.427, -0.444, -0.485, -0.549, -0.638, -0.749",\
                 "-0.441, -0.427, -0.396, -0.382, -0.376, -0.402, -0.446, -0.51, -0.599, -0.713",\
                 "-0.356, -0.34, -0.315, -0.299, -0.302, -0.329, -0.375, -0.447, -0.539, -0.66");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.51, -0.491, -0.465, -0.446, -0.451, -0.481, -0.533, -0.601, -0.697, -0.815",\
                 "-0.521, -0.509, -0.48, -0.457, -0.471, -0.496, -0.545, -0.617, -0.714, -0.834",\
                 "-0.592, -0.58, -0.543, -0.529, -0.539, -0.565, -0.612, -0.683, -0.779, -0.901",\
                 "-0.707, -0.691, -0.659, -0.643, -0.649, -0.679, -0.723, -0.8, -0.894, -1.01",\
                 "-0.851, -0.834, -0.799, -0.786, -0.793, -0.819, -0.87, -0.943, -1.034, -1.157",\
                 "-1.027, -1.013, -0.979, -0.958, -0.968, -0.999, -1.042, -1.114, -1.212, -1.326",\
                 "-1.238, -1.221, -1.19, -1.164, -1.177, -1.201, -1.251, -1.32, -1.415, -1.53",\
                 "-1.476, -1.467, -1.435, -1.411, -1.419, -1.446, -1.49, -1.556, -1.651, -1.77",\
                 "-1.755, -1.743, -1.711, -1.692, -1.691, -1.717, -1.764, -1.833, -1.922, -2.037",\
                 "-2.074, -2.059, -2.026, -2.005, -2.006, -2.03, -2.073, -2.139, -2.233, -2.353");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.2, -0.19, -0.149, -0.083, -0.02, 0.019, 0.04, 0.036, 0.011, -0.04",\
                 "-0.22, -0.207, -0.166, -0.1, -0.038, -0.001, 0.021, 0.022, -0.008, -0.058",\
                 "-0.264, -0.254, -0.212, -0.14, -0.078, -0.042, -0.024, -0.018, -0.043, -0.102",\
                 "-0.298, -0.286, -0.242, -0.176, -0.116, -0.072, -0.054, -0.052, -0.082, -0.131",\
                 "-0.315, -0.309, -0.26, -0.195, -0.141, -0.101, -0.075, -0.076, -0.097, -0.156",\
                 "-0.307, -0.295, -0.251, -0.183, -0.126, -0.086, -0.066, -0.062, -0.091, -0.142",\
                 "-0.26, -0.253, -0.211, -0.135, -0.084, -0.042, -0.024, -0.022, -0.05, -0.095",\
                 "-0.184, -0.177, -0.13, -0.069, -0.005, 0.036, 0.062, 0.057, 0.03, -0.015",\
                 "-0.075, -0.065, -0.015, 0.047, 0.107, 0.148, 0.168, 0.172, 0.147, 0.098",\
                 "0.076, 0.085, 0.13, 0.199, 0.258, 0.298, 0.324, 0.326, 0.298, 0.246");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.979, 0.969, 0.906, 0.81, 0.742, 0.677, 0.643, 0.637, 0.665, 0.717",\
                 "0.992, 0.977, 0.918, 0.823, 0.749, 0.696, 0.656, 0.647, 0.673, 0.719",\
                 "1.021, 1.012, 0.945, 0.854, 0.775, 0.719, 0.685, 0.678, 0.705, 0.752",\
                 "1.071, 1.057, 0.996, 0.904, 0.829, 0.775, 0.734, 0.727, 0.746, 0.809",\
                 "1.164, 1.151, 1.087, 0.992, 0.915, 0.855, 0.819, 0.81, 0.835, 0.89",\
                 "1.314, 1.302, 1.241, 1.149, 1.073, 1.004, 0.968, 0.954, 0.971, 1.022",\
                 "1.524, 1.512, 1.444, 1.354, 1.269, 1.207, 1.163, 1.145, 1.155, 1.195",\
                 "1.777, 1.765, 1.697, 1.598, 1.516, 1.437, 1.393, 1.362, 1.367, 1.411",\
                 "2.073, 2.064, 1.992, 1.885, 1.796, 1.712, 1.657, 1.624, 1.626, 1.658",\
                 "2.413, 2.399, 2.322, 2.213, 2.114, 2.03, 1.967, 1.932, 1.926, 1.95");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.83, 0.812, 0.755, 0.683, 0.615, 0.596, 0.617, 0.66, 0.737, 0.847",\
                 "0.835, 0.818, 0.758, 0.679, 0.617, 0.601, 0.621, 0.665, 0.746, 0.855",\
                 "0.866, 0.852, 0.787, 0.709, 0.653, 0.636, 0.649, 0.696, 0.771, 0.886",\
                 "0.917, 0.903, 0.839, 0.766, 0.703, 0.68, 0.684, 0.727, 0.807, 0.91",\
                 "0.97, 0.958, 0.895, 0.813, 0.761, 0.732, 0.734, 0.773, 0.845, 0.938",\
                 "1.021, 1.007, 0.941, 0.864, 0.802, 0.772, 0.773, 0.811, 0.866, 0.964",\
                 "1.061, 1.041, 0.982, 0.905, 0.834, 0.803, 0.799, 0.833, 0.889, 0.988",\
                 "1.069, 1.049, 0.988, 0.917, 0.857, 0.823, 0.817, 0.841, 0.901, 0.989",\
                 "1.054, 1.036, 0.983, 0.906, 0.84, 0.805, 0.795, 0.827, 0.887, 0.983",\
                 "1.017, 1, 0.943, 0.859, 0.803, 0.776, 0.754, 0.791, 0.845, 0.937");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.973, 0.949, 0.89, 0.819, 0.757, 0.74, 0.752, 0.802, 0.88, 0.982",\
                 "0.992, 0.977, 0.912, 0.833, 0.772, 0.755, 0.776, 0.814, 0.898, 0.997",\
                 "1.059, 1.036, 0.984, 0.9, 0.844, 0.827, 0.839, 0.883, 0.961, 1.068",\
                 "1.171, 1.153, 1.094, 1.019, 0.956, 0.936, 0.953, 1.001, 1.078, 1.178",\
                 "1.313, 1.305, 1.243, 1.156, 1.104, 1.083, 1.094, 1.143, 1.214, 1.324",\
                 "1.487, 1.473, 1.419, 1.339, 1.275, 1.258, 1.265, 1.316, 1.39, 1.501",\
                 "1.701, 1.684, 1.625, 1.544, 1.486, 1.463, 1.478, 1.526, 1.598, 1.701",\
                 "1.948, 1.926, 1.865, 1.792, 1.73, 1.707, 1.725, 1.763, 1.84, 1.946",\
                 "2.224, 2.216, 2.149, 2.068, 2.013, 1.989, 2, 2.042, 2.116, 2.217",\
                 "2.548, 2.531, 2.467, 2.392, 2.334, 2.308, 2.316, 2.355, 2.431, 2.528");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.145, 1.133, 1.061, 0.965, 0.876, 0.804, 0.761, 0.749, 0.761, 0.811",\
                 "1.163, 1.152, 1.078, 0.978, 0.895, 0.825, 0.784, 0.766, 0.778, 0.829",\
                 "1.204, 1.19, 1.126, 1.022, 0.94, 0.866, 0.821, 0.808, 0.829, 0.88",\
                 "1.235, 1.221, 1.152, 1.049, 0.967, 0.892, 0.853, 0.834, 0.851, 0.899",\
                 "1.246, 1.228, 1.165, 1.056, 0.976, 0.907, 0.859, 0.854, 0.864, 0.914",\
                 "1.234, 1.225, 1.158, 1.054, 0.968, 0.901, 0.854, 0.845, 0.861, 0.912",\
                 "1.196, 1.187, 1.118, 1.015, 0.931, 0.864, 0.824, 0.813, 0.824, 0.874",\
                 "1.116, 1.108, 1.038, 0.944, 0.857, 0.789, 0.749, 0.733, 0.753, 0.797",\
                 "1.006, 0.988, 0.925, 0.827, 0.745, 0.679, 0.635, 0.618, 0.638, 0.686",\
                 "0.851, 0.843, 0.777, 0.68, 0.6, 0.53, 0.49, 0.48, 0.494, 0.538");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006159 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.608 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06282, 0.06245, 0.06288, 0.06662, 0.07457, 0.08744, 0.1056, \
                 0.1292, 0.1587, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01338, 0.01314, 0.0135, 0.01628, 0.02278, 0.03369, 0.0493, 0.06987, \
                 0.09566, 0.1269");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06282, 0.06244, 0.06288, 0.06662, 0.07456, 0.08744, 0.1056, \
                 0.1292, 0.1587, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01338, 0.01314, 0.0135, 0.01628, 0.02278, 0.03369, 0.0493, 0.06987, \
                 0.09567, 0.1269");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06281, 0.06246, 0.0629, 0.06661, 0.07457, 0.0874, 0.1055, 0.1292, \
                 0.1587, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01338, 0.01314, 0.0135, 0.01628, 0.02279, 0.03369, 0.0493, 0.06987, \
                 0.09567, 0.1269");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01843, 0.01841, 0.01835, 0.01835, 0.01837, 0.01838, 0.01839, \
                 0.01839, 0.01839, 0.0184");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01152, -0.01151, -0.01148, -0.01153, -0.01156, -0.01157, -0.01159, \
                 -0.01159, -0.01162, -0.01164");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.01841, 0.01835, 0.01835, 0.01836, 0.01838, 0.01838, \
                 0.01838, 0.0184, 0.0184");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01152, -0.01151, -0.01148, -0.01153, -0.01157, -0.01157, -0.01159, \
                 -0.01158, -0.01162, -0.01164");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.01841, 0.01835, 0.01836, 0.01837, 0.01838, 0.01837, \
                 0.01838, 0.0184, 0.0184");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01152, -0.01151, -0.01148, -0.01153, -0.01158, -0.01159, -0.01159, \
                 -0.01159, -0.01162, -0.01164");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06282, 0.06244, 0.06288, 0.06665, 0.07455, 0.08744, 0.1055, \
                 0.1292, 0.1587, 0.1943");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01338, 0.01314, 0.0135, 0.01628, 0.02278, 0.03369, 0.0493, 0.06987, \
                 0.09566, 0.1269");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01844, 0.0184, 0.01837, 0.01835, 0.01838, 0.0184, 0.01838, 0.01839, \
                 0.0184, 0.01837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01152, -0.01151, -0.01148, -0.01152, -0.01158, -0.01158, -0.01159, \
                 -0.01159, -0.01162, -0.01164");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01846, 0.01841, 0.01836, 0.01837, 0.01837, 0.01841, 0.01838, \
                 0.01838, 0.01839, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.0115, -0.01151, -0.01153, -0.01156, -0.01154, -0.01161, \
                 -0.01159, -0.0116, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01846, 0.01841, 0.01836, 0.01837, 0.01838, 0.0184, 0.01838, \
                 0.01837, 0.0184, 0.01838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.0115, -0.01151, -0.01153, -0.01156, -0.01154, -0.0116, \
                 -0.01159, -0.0116, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01846, 0.01841, 0.01836, 0.01838, 0.01838, 0.01839, 0.01837, \
                 0.01839, 0.0184, 0.01838");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.0115, -0.01151, -0.01153, -0.01157, -0.01153, -0.01162, \
                 -0.01159, -0.0116, -0.01163");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01845, 0.01842, 0.01834, 0.01836, 0.01838, 0.0184, 0.01839, \
                 0.01839, 0.01838, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.0115, -0.01151, -0.01153, -0.01157, -0.01153, -0.01159, \
                 -0.01159, -0.0116, -0.01162");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01845, 0.01842, 0.01834, 0.01836, 0.01838, 0.0184, 0.0184, 0.0184, \
                 0.01839, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.0115, -0.01151, -0.01153, -0.01156, -0.01153, -0.01161, \
                 -0.01159, -0.0116, -0.01164");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01845, 0.01842, 0.01834, 0.01836, 0.01838, 0.01841, 0.0184, \
                 0.0184, 0.01839, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.0115, -0.01151, -0.01153, -0.01156, -0.01154, -0.0116, \
                 -0.0116, -0.01159, -0.01162");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01846, 0.01841, 0.01837, 0.01837, 0.01838, 0.01839, 0.01839, \
                 0.01838, 0.01839, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.0115, -0.01151, -0.01153, -0.01157, -0.01154, -0.01161, \
                 -0.0116, -0.0116, -0.01164");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01845, 0.0184, 0.01838, 0.01837, 0.01839, 0.0184, 0.0184, 0.01839, \
                 0.01839, 0.01839");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.01153, -0.01149, -0.01151, -0.01153, -0.01156, -0.01153, -0.01161, \
                 -0.0116, -0.0116, -0.01163");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04, -0.049, -0.109, -0.189, -0.255, -0.307, -0.335, -0.343, -0.322, -0.278",\
                 "-0.033, -0.04, -0.1, -0.18, -0.247, -0.3, -0.33, -0.339, -0.314, -0.267",\
                 "0.012, 0, -0.055, -0.143, -0.208, -0.258, -0.284, -0.298, -0.272, -0.224",\
                 "0.099, 0.083, 0.022, -0.053, -0.126, -0.168, -0.205, -0.208, -0.189, -0.142",\
                 "0.234, 0.224, 0.165, 0.079, 0.007, -0.039, -0.073, -0.079, -0.054, -0.01",\
                 "0.457, 0.453, 0.373, 0.279, 0.206, 0.14, 0.099, 0.095, 0.117, 0.162",\
                 "0.909, 0.921, 0.801, 0.675, 0.565, 0.46, 0.396, 0.364, 0.375, 0.403",\
                 "1.529, 1.55, 1.405, 1.271, 1.153, 1.042, 0.954, 0.893, 0.868, 0.893",\
                 "2.319, 2.305, 2.133, 1.972, 1.862, 1.712, 1.634, 1.59, 1.587, 1.64",\
                 "3.22, 3.249, 2.998, 2.829, 2.721, 2.528, 2.431, 2.379, 2.404, 2.462");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04, -0.049, -0.109, -0.189, -0.255, -0.307, -0.335, -0.343, -0.322, -0.278",\
                 "-0.033, -0.04, -0.1, -0.18, -0.247, -0.3, -0.33, -0.339, -0.314, -0.267",\
                 "0.012, 0, -0.055, -0.143, -0.208, -0.258, -0.284, -0.298, -0.272, -0.224",\
                 "0.099, 0.083, 0.022, -0.053, -0.126, -0.168, -0.205, -0.208, -0.189, -0.142",\
                 "0.234, 0.224, 0.165, 0.074, 0.007, -0.039, -0.073, -0.08, -0.054, -0.01",\
                 "0.457, 0.453, 0.373, 0.279, 0.206, 0.13, 0.099, 0.095, 0.117, 0.162",\
                 "0.909, 0.921, 0.801, 0.675, 0.554, 0.48, 0.396, 0.364, 0.375, 0.403",\
                 "1.535, 1.544, 1.405, 1.278, 1.153, 1.025, 0.944, 0.893, 0.895, 0.893",\
                 "2.319, 2.305, 2.133, 1.972, 1.862, 1.712, 1.628, 1.59, 1.587, 1.64",\
                 "3.22, 3.249, 3.046, 2.829, 2.721, 2.522, 2.431, 2.379, 2.368, 2.462");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04, -0.049, -0.109, -0.189, -0.255, -0.307, -0.335, -0.343, -0.322, -0.278",\
                 "-0.033, -0.04, -0.1, -0.18, -0.247, -0.3, -0.33, -0.339, -0.314, -0.272",\
                 "0.012, 0, -0.055, -0.137, -0.208, -0.258, -0.284, -0.298, -0.272, -0.224",\
                 "0.099, 0.083, 0.022, -0.053, -0.126, -0.176, -0.205, -0.208, -0.189, -0.142",\
                 "0.234, 0.224, 0.165, 0.079, 0.007, -0.039, -0.073, -0.08, -0.054, -0.011",\
                 "0.463, 0.459, 0.373, 0.279, 0.206, 0.13, 0.106, 0.095, 0.111, 0.162",\
                 "0.909, 0.921, 0.792, 0.675, 0.571, 0.46, 0.396, 0.374, 0.375, 0.403",\
                 "1.541, 1.556, 1.399, 1.278, 1.153, 1.033, 0.944, 0.893, 0.888, 0.901",\
                 "2.319, 2.305, 2.125, 1.981, 1.862, 1.754, 1.634, 1.59, 1.587, 1.64",\
                 "3.22, 3.249, 3.046, 2.829, 2.721, 2.548, 2.431, 2.379, 2.422, 2.462");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.04, -0.049, -0.109, -0.189, -0.255, -0.307, -0.335, -0.343, -0.322, -0.278",\
                 "-0.033, -0.04, -0.1, -0.18, -0.247, -0.3, -0.33, -0.339, -0.314, -0.267",\
                 "0.012, 0, -0.055, -0.143, -0.208, -0.258, -0.284, -0.298, -0.272, -0.224",\
                 "0.099, 0.083, 0.022, -0.053, -0.126, -0.168, -0.205, -0.208, -0.189, -0.142",\
                 "0.234, 0.224, 0.165, 0.074, 0.007, -0.039, -0.073, -0.079, -0.054, -0.01",\
                 "0.463, 0.459, 0.373, 0.279, 0.197, 0.13, 0.099, 0.095, 0.111, 0.162",\
                 "0.909, 0.921, 0.801, 0.675, 0.565, 0.46, 0.396, 0.364, 0.363, 0.403",\
                 "1.535, 1.55, 1.405, 1.271, 1.153, 1.033, 0.954, 0.893, 0.868, 0.893",\
                 "2.319, 2.305, 2.125, 1.972, 1.862, 1.712, 1.634, 1.59, 1.587, 1.64",\
                 "3.22, 3.228, 3.014, 2.829, 2.68, 2.535, 2.431, 2.379, 2.422, 2.462");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.332, 0.343, 0.399, 0.48, 0.546, 0.601, 0.639, 0.65, 0.64, 0.601",\
                 "0.32, 0.333, 0.384, 0.468, 0.541, 0.589, 0.63, 0.643, 0.626, 0.591",\
                 "0.278, 0.29, 0.347, 0.422, 0.495, 0.545, 0.583, 0.597, 0.586, 0.547",\
                 "0.201, 0.216, 0.263, 0.345, 0.412, 0.469, 0.505, 0.516, 0.504, 0.467",\
                 "0.117, 0.131, 0.183, 0.259, 0.323, 0.372, 0.411, 0.427, 0.414, 0.374",\
                 "0.038, 0.053, 0.1, 0.175, 0.242, 0.286, 0.318, 0.334, 0.318, 0.278",\
                 "-0.024, -0.013, 0.042, 0.114, 0.172, 0.221, 0.242, 0.251, 0.227, 0.19",\
                 "-0.083, -0.07, -0.018, 0.059, 0.114, 0.163, 0.188, 0.189, 0.165, 0.121",\
                 "-0.123, -0.113, -0.065, 0.012, 0.069, 0.111, 0.139, 0.138, 0.116, 0.071",\
                 "-0.158, -0.141, -0.09, -0.019, 0.038, 0.085, 0.103, 0.111, 0.082, 0.031");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.332, 0.343, 0.399, 0.48, 0.546, 0.601, 0.639, 0.65, 0.64, 0.601",\
                 "0.32, 0.333, 0.384, 0.468, 0.541, 0.589, 0.63, 0.643, 0.626, 0.591",\
                 "0.278, 0.29, 0.347, 0.422, 0.495, 0.545, 0.583, 0.597, 0.586, 0.547",\
                 "0.201, 0.216, 0.263, 0.345, 0.412, 0.469, 0.505, 0.516, 0.504, 0.467",\
                 "0.117, 0.131, 0.183, 0.259, 0.323, 0.372, 0.411, 0.427, 0.414, 0.374",\
                 "0.038, 0.053, 0.1, 0.175, 0.242, 0.286, 0.318, 0.334, 0.318, 0.278",\
                 "-0.024, -0.013, 0.042, 0.114, 0.173, 0.221, 0.242, 0.251, 0.227, 0.19",\
                 "-0.083, -0.07, -0.018, 0.059, 0.114, 0.163, 0.188, 0.189, 0.165, 0.121",\
                 "-0.123, -0.113, -0.065, 0.012, 0.069, 0.111, 0.139, 0.138, 0.116, 0.071",\
                 "-0.158, -0.141, -0.09, -0.019, 0.038, 0.085, 0.103, 0.111, 0.082, 0.031");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.332, 0.343, 0.399, 0.48, 0.546, 0.601, 0.639, 0.65, 0.64, 0.601",\
                 "0.32, 0.333, 0.384, 0.468, 0.541, 0.589, 0.63, 0.643, 0.626, 0.591",\
                 "0.278, 0.29, 0.347, 0.422, 0.495, 0.545, 0.583, 0.597, 0.586, 0.547",\
                 "0.201, 0.216, 0.268, 0.345, 0.412, 0.469, 0.505, 0.516, 0.504, 0.467",\
                 "0.117, 0.131, 0.183, 0.259, 0.323, 0.372, 0.411, 0.427, 0.414, 0.374",\
                 "0.038, 0.053, 0.106, 0.182, 0.242, 0.286, 0.318, 0.334, 0.318, 0.278",\
                 "-0.024, -0.013, 0.042, 0.114, 0.173, 0.221, 0.242, 0.251, 0.227, 0.19",\
                 "-0.083, -0.07, -0.018, 0.059, 0.114, 0.163, 0.188, 0.189, 0.165, 0.121",\
                 "-0.123, -0.113, -0.065, 0.012, 0.069, 0.111, 0.139, 0.138, 0.116, 0.071",\
                 "-0.158, -0.141, -0.09, -0.019, 0.038, 0.085, 0.103, 0.111, 0.082, 0.031");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.332, 0.343, 0.399, 0.48, 0.546, 0.601, 0.639, 0.65, 0.64, 0.601",\
                 "0.32, 0.333, 0.384, 0.468, 0.541, 0.589, 0.63, 0.643, 0.626, 0.591",\
                 "0.278, 0.29, 0.347, 0.422, 0.495, 0.545, 0.583, 0.597, 0.586, 0.547",\
                 "0.201, 0.216, 0.263, 0.345, 0.412, 0.469, 0.505, 0.516, 0.504, 0.467",\
                 "0.117, 0.131, 0.183, 0.259, 0.323, 0.372, 0.411, 0.427, 0.414, 0.374",\
                 "0.038, 0.053, 0.1, 0.175, 0.242, 0.286, 0.318, 0.334, 0.318, 0.278",\
                 "-0.024, -0.013, 0.042, 0.114, 0.173, 0.221, 0.242, 0.251, 0.227, 0.19",\
                 "-0.083, -0.07, -0.018, 0.059, 0.114, 0.163, 0.188, 0.189, 0.165, 0.121",\
                 "-0.123, -0.113, -0.065, 0.012, 0.069, 0.111, 0.139, 0.138, 0.116, 0.071",\
                 "-0.158, -0.141, -0.09, -0.019, 0.038, 0.085, 0.103, 0.111, 0.082, 0.031");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.608");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.597");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.597");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.597");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.597");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.597");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.597");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.597");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.597");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002641 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008398, 0.00836, 0.008353, 0.008352, 0.008372, 0.008373, 0.008365, \
                 0.00837, 0.008364, 0.008371");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008174, -0.008167, -0.008164, -0.008206, -0.008247, -0.008272, \
                 -0.00828, -0.008285, -0.008293, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008404, 0.008364, 0.00835, 0.00835, 0.008361, 0.008378, 0.008371, \
                 0.008368, 0.008367, 0.00836");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00817, -0.008152, -0.008163, -0.008204, -0.008241, -0.008267, \
                 -0.008281, -0.008287, -0.008292, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1085, 0.1082, 0.1077, 0.1075, 0.109, 0.1149, 0.1268, 0.1457, \
                 0.1715, 0.2039");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0369, 0.03641, 0.03594, 0.03589, 0.03772, 0.04321, 0.05333, \
                 0.06862, 0.08944, 0.116");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1448, 0.1445, 0.144, 0.1438, 0.1458, 0.1529, 0.1669, 0.1895, \
                 0.22, 0.2578");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09271, 0.09225, 0.09174, 0.09181, 0.09446, 0.1013, 0.1135, 0.1316, \
                 0.1559, 0.1866");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008371, 0.008358, 0.008349, 0.008346, 0.008365, 0.008377, 0.008372, \
                 0.008364, 0.008363, 0.008369");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007489, -0.007847, -0.008147, -0.008208, -0.00825, -0.008269, \
                 -0.008276, -0.008285, -0.008292, -0.008296");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00838, 0.008366, 0.008368, 0.008367, 0.00836, 0.008375, 0.008367, \
                 0.008369, 0.008369, 0.008364");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007477, -0.00783, -0.008149, -0.008225, -0.008229, -0.008271, \
                 -0.008281, -0.008282, -0.008289, -0.008295");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1103, 0.11, 0.1095, 0.1093, 0.111, 0.1174, 0.13, 0.1493, 0.1754, \
                 0.2078");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03252, 0.03202, 0.0315, 0.03143, 0.03323, 0.03873, 0.04897, \
                 0.06444, 0.08545, 0.1122");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1477, 0.1473, 0.1469, 0.1467, 0.1488, 0.1564, 0.1712, 0.1943, \
                 0.225, 0.2628");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08797, 0.08745, 0.08694, 0.08703, 0.08967, 0.09652, 0.1089, \
                 0.1274, 0.1521, 0.1833");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008359, 0.008349, 0.008352, 0.008363, 0.008365, 0.008362, 0.008372, \
                 0.008368, 0.008368, 0.00837");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008163, -0.008156, -0.008161, -0.008211, -0.008241, -0.008238, \
                 -0.008281, -0.008289, -0.008294, -0.008292");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008365, 0.008366, 0.008347, 0.008354, 0.008357, 0.008365, 0.008367, \
                 0.008372, 0.008363, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.008174, -0.008176, -0.008161, -0.008203, -0.008237, -0.008262, \
                 -0.008283, -0.008282, -0.008291, -0.008296");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009145, 0.009135, 0.009134, 0.009121, 0.009136, 0.009128, 0.009136, \
                 0.009134, 0.009133, 0.009143");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006489, -0.006748, -0.007073, -0.007365, -0.007597, -0.00772, \
                 -0.007839, -0.007907, -0.007954, -0.007988");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03484, 0.03484, 0.03483, 0.03483, 0.03479, 0.03479, 0.03478, \
                 0.03481, 0.03481, 0.03481");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006493, -0.006759, -0.007069, -0.007358, -0.007567, -0.007743, \
                 -0.007837, -0.007901, -0.007951, -0.007985");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008358, 0.008349, 0.008352, 0.008362, 0.008365, 0.008362, 0.008368, \
                 0.008367, 0.008368, 0.008365");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007666, -0.007938, -0.008153, -0.008211, -0.008242, -0.008238, \
                 -0.00828, -0.008292, -0.008297, -0.008294");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.008372, 0.008359, 0.008346, 0.008366, 0.008347, 0.008375, 0.00837, \
                 0.008365, 0.008364, 0.008367");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.007522, -0.007871, -0.008158, -0.008227, -0.008245, -0.008265, \
                 -0.008274, -0.008288, -0.008293, -0.008292");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009209, 0.009213, 0.009186, 0.009185, 0.009202, 0.009193, 0.009202, \
                 0.009201, 0.009196, 0.009195");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006466, -0.006739, -0.007111, -0.007422, -0.007662, -0.007765, \
                 -0.007889, -0.007936, -0.007979, -0.008006");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02925, 0.02924, 0.02923, 0.02918, 0.02917, 0.02918, 0.02918, \
                 0.02919, 0.02921, 0.0292");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.006472, -0.006749, -0.007106, -0.007419, -0.007635, -0.007791, \
                 -0.007878, -0.007935, -0.007979, -0.008009");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.218, -0.204, -0.159, -0.092, -0.042, -0.004, 0.024, 0.024, -0.005, -0.06",\
                 "-0.227, -0.215, -0.172, -0.1, -0.054, -0.012, 0.013, 0.01, -0.016, -0.069",\
                 "-0.264, -0.248, -0.204, -0.14, -0.087, -0.042, -0.024, -0.025, -0.051, -0.102",\
                 "-0.317, -0.305, -0.259, -0.191, -0.137, -0.094, -0.074, -0.072, -0.099, -0.154",\
                 "-0.382, -0.371, -0.321, -0.253, -0.201, -0.153, -0.138, -0.136, -0.163, -0.21",\
                 "-0.457, -0.448, -0.398, -0.329, -0.275, -0.232, -0.214, -0.213, -0.243, -0.285",\
                 "-0.529, -0.519, -0.474, -0.405, -0.359, -0.312, -0.291, -0.276, -0.316, -0.359",\
                 "-0.608, -0.607, -0.559, -0.489, -0.457, -0.402, -0.378, -0.366, -0.395, -0.43",\
                 "-0.712, -0.716, -0.669, -0.618, -0.565, -0.512, -0.488, -0.469, -0.491, -0.524",\
                 "-0.85, -0.859, -0.814, -0.747, -0.713, -0.659, -0.625, -0.607, -0.629, -0.655");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.401, -0.389, -0.358, -0.337, -0.354, -0.389, -0.44, -0.525, -0.626, -0.748",\
                 "-0.405, -0.39, -0.362, -0.351, -0.355, -0.395, -0.45, -0.528, -0.626, -0.756",\
                 "-0.425, -0.408, -0.378, -0.366, -0.374, -0.412, -0.468, -0.541, -0.647, -0.773",\
                 "-0.444, -0.43, -0.398, -0.382, -0.39, -0.423, -0.473, -0.553, -0.658, -0.78",\
                 "-0.456, -0.44, -0.416, -0.395, -0.403, -0.434, -0.481, -0.558, -0.655, -0.776",\
                 "-0.457, -0.442, -0.411, -0.388, -0.398, -0.426, -0.47, -0.542, -0.641, -0.763",\
                 "-0.428, -0.416, -0.384, -0.365, -0.364, -0.392, -0.444, -0.51, -0.606, -0.73",\
                 "-0.361, -0.35, -0.317, -0.302, -0.308, -0.334, -0.378, -0.458, -0.55, -0.669",\
                 "-0.258, -0.242, -0.214, -0.198, -0.206, -0.24, -0.287, -0.361, -0.459, -0.587",\
                 "-0.111, -0.099, -0.069, -0.058, -0.069, -0.103, -0.154, -0.232, -0.332, -0.465");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.166, -0.156, -0.116, -0.047, 0.01, 0.048, 0.074, 0.071, 0.043, -0.014",\
                 "-0.179, -0.175, -0.125, -0.062, -0, 0.035, 0.055, 0.058, 0.032, -0.022",\
                 "-0.211, -0.207, -0.157, -0.094, -0.035, 0.003, 0.031, 0.025, -0.002, -0.059",\
                 "-0.262, -0.257, -0.213, -0.145, -0.084, -0.043, -0.024, -0.025, -0.055, -0.103",\
                 "-0.33, -0.325, -0.277, -0.205, -0.149, -0.101, -0.087, -0.084, -0.106, -0.162",\
                 "-0.393, -0.395, -0.347, -0.271, -0.214, -0.173, -0.153, -0.146, -0.175, -0.226",\
                 "-0.462, -0.467, -0.411, -0.345, -0.285, -0.237, -0.218, -0.208, -0.239, -0.281",\
                 "-0.544, -0.553, -0.509, -0.436, -0.376, -0.326, -0.3, -0.28, -0.307, -0.35",\
                 "-0.648, -0.659, -0.619, -0.549, -0.48, -0.434, -0.405, -0.382, -0.405, -0.443",\
                 "-0.783, -0.801, -0.766, -0.69, -0.617, -0.575, -0.539, -0.511, -0.53, -0.568");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.395, -0.382, -0.347, -0.329, -0.347, -0.378, -0.432, -0.507, -0.602, -0.727",\
                 "-0.398, -0.382, -0.356, -0.341, -0.347, -0.384, -0.433, -0.51, -0.61, -0.735",\
                 "-0.415, -0.402, -0.37, -0.355, -0.365, -0.399, -0.449, -0.528, -0.63, -0.751",\
                 "-0.435, -0.421, -0.392, -0.375, -0.385, -0.416, -0.463, -0.539, -0.641, -0.764",\
                 "-0.449, -0.44, -0.408, -0.39, -0.396, -0.425, -0.476, -0.543, -0.636, -0.764",\
                 "-0.445, -0.436, -0.404, -0.388, -0.389, -0.416, -0.463, -0.533, -0.625, -0.744",\
                 "-0.411, -0.399, -0.375, -0.355, -0.359, -0.386, -0.436, -0.501, -0.594, -0.716",\
                 "-0.349, -0.339, -0.304, -0.296, -0.302, -0.326, -0.378, -0.446, -0.537, -0.661",\
                 "-0.242, -0.226, -0.197, -0.189, -0.196, -0.234, -0.287, -0.355, -0.452, -0.569",\
                 "-0.095, -0.083, -0.058, -0.047, -0.063, -0.097, -0.154, -0.232, -0.332, -0.455");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.105, 1.092, 1.024, 0.929, 0.846, 0.781, 0.744, 0.737, 0.753, 0.811",\
                 "1.115, 1.104, 1.037, 0.939, 0.857, 0.796, 0.758, 0.748, 0.77, 0.818",\
                 "1.145, 1.136, 1.071, 0.97, 0.896, 0.827, 0.785, 0.777, 0.796, 0.854",\
                 "1.199, 1.192, 1.123, 1.026, 0.945, 0.884, 0.843, 0.834, 0.851, 0.899",\
                 "1.29, 1.282, 1.217, 1.114, 1.036, 0.969, 0.928, 0.921, 0.939, 0.991",\
                 "1.441, 1.426, 1.362, 1.266, 1.187, 1.117, 1.076, 1.064, 1.075, 1.126",\
                 "1.659, 1.65, 1.579, 1.484, 1.4, 1.329, 1.284, 1.262, 1.267, 1.309",\
                 "1.954, 1.938, 1.871, 1.765, 1.679, 1.606, 1.549, 1.517, 1.516, 1.555",\
                 "2.303, 2.296, 2.216, 2.112, 2.013, 1.927, 1.864, 1.833, 1.828, 1.848",\
                 "2.709, 2.698, 2.622, 2.51, 2.4, 2.308, 2.245, 2.203, 2.188, 2.206");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.882, 0.867, 0.814, 0.729, 0.675, 0.66, 0.668, 0.725, 0.808, 0.915",\
                 "0.89, 0.874, 0.817, 0.737, 0.679, 0.666, 0.673, 0.73, 0.81, 0.918",\
                 "0.909, 0.888, 0.827, 0.75, 0.696, 0.674, 0.694, 0.746, 0.829, 0.939",\
                 "0.926, 0.912, 0.851, 0.774, 0.719, 0.702, 0.714, 0.76, 0.842, 0.949",\
                 "0.956, 0.942, 0.878, 0.797, 0.747, 0.715, 0.728, 0.773, 0.845, 0.955",\
                 "0.963, 0.954, 0.89, 0.812, 0.749, 0.723, 0.733, 0.777, 0.845, 0.951",\
                 "0.959, 0.938, 0.891, 0.805, 0.748, 0.716, 0.719, 0.755, 0.83, 0.931",\
                 "0.933, 0.917, 0.852, 0.777, 0.716, 0.688, 0.69, 0.721, 0.787, 0.893",\
                 "0.863, 0.843, 0.793, 0.714, 0.651, 0.622, 0.617, 0.651, 0.723, 0.821",\
                 "0.773, 0.749, 0.697, 0.613, 0.553, 0.524, 0.518, 0.552, 0.62, 0.717");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.111, 1.099, 1.029, 0.929, 0.846, 0.775, 0.735, 0.714, 0.737, 0.79",\
                 "1.122, 1.112, 1.042, 0.939, 0.857, 0.784, 0.75, 0.73, 0.746, 0.797",\
                 "1.155, 1.148, 1.079, 0.976, 0.888, 0.821, 0.776, 0.765, 0.779, 0.827",\
                 "1.208, 1.202, 1.129, 1.026, 0.94, 0.87, 0.833, 0.814, 0.833, 0.882",\
                 "1.298, 1.29, 1.217, 1.114, 1.03, 0.96, 0.917, 0.899, 0.92, 0.967",\
                 "1.452, 1.438, 1.375, 1.273, 1.187, 1.107, 1.063, 1.047, 1.055, 1.1",\
                 "1.685, 1.667, 1.598, 1.494, 1.406, 1.329, 1.284, 1.262, 1.261, 1.302",\
                 "1.978, 1.968, 1.896, 1.792, 1.701, 1.614, 1.559, 1.517, 1.516, 1.555",\
                 "2.343, 2.329, 2.257, 2.147, 2.042, 1.948, 1.882, 1.84, 1.828, 1.848",\
                 "2.756, 2.745, 2.665, 2.549, 2.435, 2.334, 2.266, 2.211, 2.197, 2.201");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.876, 0.853, 0.798, 0.719, 0.66, 0.637, 0.659, 0.702, 0.785, 0.889",\
                 "0.876, 0.866, 0.8, 0.727, 0.664, 0.649, 0.656, 0.712, 0.786, 0.897",\
                 "0.898, 0.876, 0.819, 0.744, 0.688, 0.668, 0.676, 0.727, 0.804, 0.913",\
                 "0.917, 0.903, 0.839, 0.766, 0.703, 0.687, 0.694, 0.747, 0.824, 0.932",\
                 "0.941, 0.919, 0.861, 0.787, 0.727, 0.706, 0.716, 0.758, 0.835, 0.938",\
                 "0.952, 0.937, 0.877, 0.805, 0.74, 0.713, 0.719, 0.761, 0.829, 0.932",\
                 "0.951, 0.93, 0.873, 0.795, 0.737, 0.709, 0.711, 0.745, 0.812, 0.916",\
                 "0.921, 0.905, 0.839, 0.763, 0.709, 0.671, 0.671, 0.71, 0.773, 0.877",\
                 "0.855, 0.835, 0.776, 0.705, 0.641, 0.611, 0.606, 0.645, 0.708, 0.803",\
                 "0.757, 0.738, 0.681, 0.602, 0.547, 0.524, 0.518, 0.544, 0.611, 0.707");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(SETN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        preset : !SETN ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__sdffsnq_4) {
    area : 116.345600 ;

    ff(IQ1,IQN1) {
      clocked_on : "CLK" ;
      next_state : "((D&(!SE))|(SE&SI))" ;
      preset : "(!SETN)" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&!SETN&!SI" ;
      value : "0.0002381808" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&!SETN&SI" ;
      value : "0.0002385306" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&SETN&!SI" ;
      value : "0.000342705" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&!SE&SETN&SI" ;
      value : "0.000343068" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&!SETN&!SI" ;
      value : "0.0002539053" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&!SETN&SI" ;
      value : "0.0002622972" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&SETN&!SI" ;
      value : "0.000358479" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&!D&SE&SETN&SI" ;
      value : "0.000347655" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&!SETN&!SI" ;
      value : "0.0002339931" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&!SETN&SI" ;
      value : "0.0002339931" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&SETN&!SI" ;
      value : "0.0003193641" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&!SE&SETN&SI" ;
      value : "0.0003193641" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&!SETN&!SI" ;
      value : "0.0002702898" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&!SETN&SI" ;
      value : "0.0002479884" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&SETN&!SI" ;
      value : "0.000374814" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!CLK&D&SE&SETN&SI" ;
      value : "0.000333366" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&!SETN&!SI" ;
      value : "0.0002265945" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&!SETN&SI" ;
      value : "0.0002265945" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&SETN&!SI" ;
      value : "0.0002787444" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&!SE&SETN&SI" ;
      value : "0.0002787576" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&!SETN&!SI" ;
      value : "0.000226248" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&!SETN&SI" ;
      value : "0.0002272578" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&SETN&!SI" ;
      value : "0.0002783682" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&!D&SE&SETN&SI" ;
      value : "0.000335379" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&!SETN&!SI" ;
      value : "0.0002276571" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&!SETN&SI" ;
      value : "0.0002276571" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&SETN&!SI" ;
      value : "0.0003189087" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&!SE&SETN&SI" ;
      value : "0.0003189219" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&!SETN&!SI" ;
      value : "0.000226248" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&!SETN&SI" ;
      value : "0.0002272908" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&SETN&!SI" ;
      value : "0.000278388" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "CLK&D&SE&SETN&SI" ;
      value : "0.0003271488" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.000374814" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(CLK) {
      capacitance : 0.00325 ;
      clock : true ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_period : 4.012 ;
      min_pulse_width_high : 0.744 ;
      min_pulse_width_low : 2.008 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1908, 0.1903, 0.1908, 0.1963, 0.2079, 0.2261, 0.2517, 0.2851, \
                 0.3269, 0.3775");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1109, 0.1107, 0.1112, 0.1158, 0.1255, 0.1413, 0.164, 0.1937, \
                 0.2307, 0.2753");
        }
      }

      internal_power() {
        when : "!D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1908, 0.1903, 0.1908, 0.1963, 0.2079, 0.2261, 0.2517, 0.2851, \
                 0.3269, 0.3775");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1109, 0.1107, 0.1112, 0.1159, 0.1255, 0.1413, 0.164, 0.1937, \
                 0.2306, 0.2753");
        }
      }

      internal_power() {
        when : "!D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1255, 0.125, 0.1256, 0.1312, 0.1429, 0.1613, 0.187, 0.2207, \
                 0.2625, 0.313");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08605, 0.08578, 0.08625, 0.09081, 0.1003, 0.1159, 0.1384, 0.1678, \
                 0.2046, 0.249");
        }
      }

      internal_power() {
        when : "!D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1255, 0.125, 0.1256, 0.1312, 0.1429, 0.1613, 0.187, 0.2207, \
                 0.2625, 0.3131");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08605, 0.0858, 0.08629, 0.0908, 0.1003, 0.1159, 0.1384, 0.1679, \
                 0.2047, 0.2491");
        }
      }

      internal_power() {
        when : "!D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1982, 0.1977, 0.1983, 0.2038, 0.2154, 0.2336, 0.2592, 0.2926, \
                 0.3344, 0.385");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.111, 0.1108, 0.1113, 0.1159, 0.1256, 0.1414, 0.164, 0.1937, \
                 0.2307, 0.2753");
        }
      }

      internal_power() {
        when : "!D&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1372, 0.1367, 0.1373, 0.1429, 0.1546, 0.1729, 0.1986, 0.2321, \
                 0.274, 0.3245");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08972, 0.08948, 0.08995, 0.09451, 0.104, 0.1195, 0.142, 0.1714, \
                 0.2081, 0.2525");
        }
      }

      internal_power() {
        when : "!D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1255, 0.125, 0.1256, 0.1312, 0.1429, 0.1612, 0.187, 0.2207, \
                 0.2626, 0.3131");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0861, 0.08574, 0.08626, 0.09079, 0.1002, 0.1159, 0.1383, 0.1678, \
                 0.2046, 0.249");
        }
      }

      internal_power() {
        when : "!D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1263, 0.1258, 0.1264, 0.1319, 0.1437, 0.162, 0.1877, 0.2213, \
                 0.2632, 0.3137");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0897, 0.08947, 0.08998, 0.09451, 0.1039, 0.1196, 0.142, 0.1714, \
                 0.2081, 0.2525");
        }
      }

      internal_power() {
        when : "D&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.132, 0.1314, 0.132, 0.1376, 0.1493, 0.1677, 0.1934, 0.2269, \
                 0.2688, 0.3194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08971, 0.08949, 0.08993, 0.09449, 0.1039, 0.1195, 0.142, 0.1714, \
                 0.2081, 0.2525");
        }
      }

      internal_power() {
        when : "D&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.132, 0.1315, 0.132, 0.1376, 0.1493, 0.1677, 0.1934, 0.2269, \
                 0.2688, 0.3194");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08971, 0.08949, 0.08993, 0.09449, 0.1039, 0.1195, 0.142, 0.1714, \
                 0.2081, 0.2525");
        }
      }

      internal_power() {
        when : "D&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1263, 0.1258, 0.1264, 0.1319, 0.1437, 0.162, 0.1877, 0.2213, \
                 0.2633, 0.3138");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08971, 0.08948, 0.08993, 0.09449, 0.1039, 0.1195, 0.142, 0.1713, \
                 0.2081, 0.2525");
        }
      }

      internal_power() {
        when : "D&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1263, 0.1258, 0.1264, 0.1319, 0.1437, 0.162, 0.1878, 0.2213, \
                 0.2633, 0.3137");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08964, 0.08947, 0.08995, 0.09448, 0.1039, 0.1196, 0.142, 0.1714, \
                 0.2081, 0.2525");
        }
      }

      internal_power() {
        when : "D&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.2057, 0.2052, 0.2057, 0.2113, 0.2228, 0.241, 0.2667, 0.3001, \
                 0.3419, 0.3925");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.111, 0.1107, 0.1112, 0.1159, 0.1256, 0.1413, 0.164, 0.1937, \
                 0.2306, 0.2753");
        }
      }

      internal_power() {
        when : "D&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1345, 0.134, 0.1345, 0.1401, 0.1518, 0.1701, 0.1958, 0.2294, \
                 0.2714, 0.3218");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08969, 0.08948, 0.08998, 0.0945, 0.104, 0.1195, 0.142, 0.1714, \
                 0.2081, 0.2525");
        }
      }

      internal_power() {
        when : "D&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1255, 0.125, 0.1256, 0.1312, 0.1429, 0.1613, 0.187, 0.2206, \
                 0.2626, 0.313");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08608, 0.08579, 0.08627, 0.09081, 0.1003, 0.1159, 0.1384, 0.1678, \
                 0.2046, 0.249");
        }
      }

      internal_power() {
        when : "D&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1263, 0.1258, 0.1263, 0.1319, 0.1436, 0.162, 0.1877, 0.2213, \
                 0.2632, 0.3137");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08973, 0.08946, 0.08995, 0.09445, 0.104, 0.1195, 0.142, 0.1714, \
                 0.2082, 0.2525");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.745");
        }

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("1.745");
        }

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("1.837");
        }

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.682");
        }

        rise_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("0.637");
        }

        rise_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&!SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.637");
        }

        rise_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&SETN&!SI" ;

        fall_constraint(scalar) {
          values("2.008");
        }

        rise_constraint(scalar) {
          values("0.671");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "D&SE&SETN&SI" ;

        fall_constraint(scalar) {
          values("0.656");
        }

        rise_constraint(scalar) {
          values("0.744");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("3.486");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("3.486");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("3.675");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "!D&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.55");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("1.526");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&!SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.526");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&SETN&!SI" ;

        rise_constraint(scalar) {
          values("4.012");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : minimum_period ;
        when : "D&SE&SETN&SI" ;

        rise_constraint(scalar) {
          values("1.538");
        }
      }
    }

    pin(D) {
      capacitance : 0.002306 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08826, 0.0879, 0.08699, 0.08628, 0.08679, 0.08994, 0.09661, \
                 0.1071, 0.1211, 0.1386");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02682, 0.02691, 0.02677, 0.02683, 0.02805, 0.03121, 0.0367, \
                 0.04478, 0.05562, 0.06945");
        }
      }

      internal_power() {
        when : "!CLK&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08826, 0.0879, 0.08699, 0.08628, 0.08679, 0.08993, 0.09661, \
                 0.107, 0.1211, 0.1386");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02682, 0.02691, 0.02676, 0.02683, 0.02805, 0.03121, 0.0367, \
                 0.04479, 0.05561, 0.06945");
        }
      }

      internal_power() {
        when : "!CLK&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1368, 0.1364, 0.1355, 0.1348, 0.1354, 0.1396, 0.1485, 0.1613, \
                 0.1783, 0.2");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08197, 0.08207, 0.08188, 0.08245, 0.08515, 0.09059, 0.09909, \
                 0.1109, 0.126, 0.1449");
        }
      }

      internal_power() {
        when : "!CLK&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1368, 0.1364, 0.1355, 0.1348, 0.1354, 0.1396, 0.1485, 0.1613, \
                 0.1783, 0.2");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08197, 0.08206, 0.08188, 0.08245, 0.08515, 0.09059, 0.09911, \
                 0.1109, 0.126, 0.1449");
        }
      }

      internal_power() {
        when : "!CLK&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005111, 0.005114, 0.005117, 0.005115, 0.005109, 0.005108, 0.005104, \
                 0.005098, 0.005094, 0.005088");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004753, -0.004754, -0.004751, -0.004792, -0.004823, -0.004854, \
                 -0.00487, -0.004887, -0.004905, -0.004924");
        }
      }

      internal_power() {
        when : "!CLK&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002799, 0.002792, 0.002789, 0.00279, 0.002786, 0.002797, 0.002797, \
                 0.002792, 0.002791, 0.002787");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001794, -0.00179, -0.001781, -0.001782, -0.001786, -0.001793, \
                 -0.001791, -0.001793, -0.001793, -0.001792");
        }
      }

      internal_power() {
        when : "!CLK&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005114, 0.005121, 0.005122, 0.005113, 0.00511, 0.005112, 0.005103, \
                 0.005099, 0.005093, 0.00509");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004756, -0.004755, -0.004757, -0.004786, -0.004826, -0.004852, \
                 -0.00487, -0.004887, -0.004904, -0.004926");
        }
      }

      internal_power() {
        when : "!CLK&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002804, 0.0028, 0.002791, 0.002792, 0.002789, 0.002799, 0.002796, \
                 0.002794, 0.002791, 0.002788");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001796, -0.001791, -0.001781, -0.001784, -0.001789, -0.001794, \
                 -0.001792, -0.001792, -0.001792, -0.001792");
        }
      }

      internal_power() {
        when : "CLK&!SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006266, 0.006266, 0.006257, 0.006247, 0.006236, 0.00624, 0.006239, \
                 0.006243, 0.006242, 0.006241");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003478, -0.003456, -0.003718, -0.004086, -0.004363, -0.004541, \
                 -0.004642, -0.004704, -0.004744, -0.00477");
        }
      }

      internal_power() {
        when : "CLK&!SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.006266, 0.006266, 0.006257, 0.006245, 0.006238, 0.00624, 0.006238, \
                 0.006242, 0.006242, 0.006239");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003478, -0.003456, -0.003718, -0.004087, -0.004363, -0.004541, \
                 -0.00464, -0.004704, -0.004743, -0.004772");
        }
      }

      internal_power() {
        when : "CLK&!SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02051, 0.02051, 0.02053, 0.02051, 0.02048, 0.02048, 0.02047, \
                 0.02049, 0.02049, 0.0205");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003487, -0.003457, -0.00371, -0.00409, -0.004372, -0.00454, \
                 -0.00464, -0.004703, -0.004745, -0.004775");
        }
      }

      internal_power() {
        when : "CLK&!SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02051, 0.02051, 0.02053, 0.02051, 0.02049, 0.02048, 0.02048, \
                 0.02049, 0.02049, 0.0205");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003487, -0.003458, -0.003712, -0.00409, -0.004371, -0.004541, \
                 -0.00464, -0.004704, -0.004745, -0.004775");
        }
      }

      internal_power() {
        when : "CLK&SE&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00505, 0.005055, 0.005059, 0.005053, 0.005046, 0.005052, 0.005048, \
                 0.005049, 0.005045, 0.005047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004868, -0.004873, -0.004862, -0.004886, -0.00492, -0.004949, \
                 -0.004963, -0.004969, -0.004976, -0.00498");
        }
      }

      internal_power() {
        when : "CLK&SE&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002216, 0.002219, 0.002228, 0.002229, 0.002223, 0.002231, 0.002232, \
                 0.002232, 0.002231, 0.002232");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.002788, -0.002621, -0.002483, -0.002432, -0.002409, -0.0024, \
                 -0.002391, -0.002382, -0.002378, -0.002372");
        }
      }

      internal_power() {
        when : "CLK&SE&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005054, 0.005055, 0.005061, 0.00505, 0.005051, 0.005055, 0.005049, \
                 0.005048, 0.005046, 0.005046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004868, -0.004864, -0.004858, -0.004882, -0.00492, -0.004946, \
                 -0.004955, -0.004966, -0.004972, -0.004978");
        }
      }

      internal_power() {
        when : "CLK&SE&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002685, 0.002691, 0.002691, 0.002691, 0.002694, 0.0027, 0.002699, \
                 0.0027, 0.002701, 0.002704");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001804, -0.001804, -0.001802, -0.001805, -0.001807, -0.00181, \
                 -0.00181, -0.001807, -0.001806, -0.001805");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.721, -0.717, -0.669, -0.601, -0.541, -0.504, -0.482, -0.495, -0.53, -0.586",\
                 "-0.726, -0.724, -0.676, -0.602, -0.548, -0.507, -0.493, -0.504, -0.53, -0.593",\
                 "-0.758, -0.752, -0.7, -0.639, -0.574, -0.54, -0.522, -0.528, -0.564, -0.622",\
                 "-0.825, -0.816, -0.775, -0.72, -0.649, -0.613, -0.593, -0.599, -0.632, -0.691",\
                 "-0.955, -0.95, -0.903, -0.839, -0.78, -0.74, -0.722, -0.728, -0.759, -0.812",\
                 "-1.159, -1.155, -1.106, -1.046, -0.985, -0.95, -0.935, -0.937, -0.961, -1.009",\
                 "-1.44, -1.444, -1.398, -1.335, -1.285, -1.241, -1.227, -1.233, -1.262, -1.301",\
                 "-1.83, -1.831, -1.777, -1.718, -1.663, -1.631, -1.617, -1.619, -1.651, -1.69",\
                 "-2.28, -2.281, -2.24, -2.181, -2.127, -2.095, -2.089, -2.09, -2.117, -2.154",\
                 "-2.813, -2.824, -2.777, -2.722, -2.667, -2.631, -2.623, -2.633, -2.665, -2.696");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.195, -0.184, -0.154, -0.137, -0.146, -0.176, -0.229, -0.306, -0.403, -0.539",\
                 "-0.207, -0.191, -0.166, -0.148, -0.162, -0.189, -0.236, -0.319, -0.417, -0.551",\
                 "-0.237, -0.225, -0.197, -0.181, -0.191, -0.221, -0.268, -0.342, -0.448, -0.58",\
                 "-0.28, -0.266, -0.23, -0.214, -0.216, -0.241, -0.294, -0.366, -0.466, -0.596",\
                 "-0.293, -0.278, -0.243, -0.221, -0.222, -0.241, -0.293, -0.365, -0.466, -0.591",\
                 "-0.267, -0.253, -0.219, -0.198, -0.197, -0.216, -0.261, -0.331, -0.431, -0.556",\
                 "-0.184, -0.167, -0.139, -0.125, -0.124, -0.143, -0.186, -0.257, -0.358, -0.481",\
                 "-0.042, -0.028, -0.006, 0.005, -0.005, -0.023, -0.065, -0.137, -0.233, -0.358",\
                 "0.164, 0.176, 0.192, 0.195, 0.182, 0.153, 0.109, 0.037, -0.055, -0.181",\
                 "0.441, 0.457, 0.462, 0.451, 0.431, 0.395, 0.346, 0.271, 0.172, 0.046");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.716, -0.717, -0.669, -0.601, -0.533, -0.51, -0.482, -0.495, -0.538, -0.591",\
                 "-0.726, -0.724, -0.676, -0.602, -0.54, -0.513, -0.493, -0.504, -0.538, -0.593",\
                 "-0.753, -0.752, -0.7, -0.639, -0.574, -0.546, -0.522, -0.534, -0.572, -0.622",\
                 "-0.825, -0.826, -0.775, -0.712, -0.644, -0.621, -0.593, -0.599, -0.641, -0.691",\
                 "-0.955, -0.958, -0.903, -0.838, -0.773, -0.749, -0.722, -0.728, -0.769, -0.818",\
                 "-1.159, -1.155, -1.106, -1.046, -0.985, -0.955, -0.935, -0.937, -0.971, -1.015",\
                 "-1.44, -1.444, -1.389, -1.334, -1.275, -1.248, -1.227, -1.233, -1.267, -1.301",\
                 "-1.824, -1.819, -1.777, -1.718, -1.663, -1.639, -1.607, -1.625, -1.658, -1.698",\
                 "-2.28, -2.281, -2.232, -2.181, -2.117, -2.105, -2.083, -2.09, -2.124, -2.154",\
                 "-2.813, -2.824, -2.777, -2.723, -2.662, -2.644, -2.623, -2.633, -2.665, -2.696");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.195, -0.184, -0.154, -0.137, -0.146, -0.176, -0.229, -0.306, -0.411, -0.539",\
                 "-0.207, -0.191, -0.166, -0.148, -0.162, -0.189, -0.236, -0.319, -0.417, -0.551",\
                 "-0.237, -0.225, -0.197, -0.181, -0.191, -0.221, -0.268, -0.348, -0.448, -0.58",\
                 "-0.28, -0.266, -0.23, -0.214, -0.216, -0.241, -0.294, -0.366, -0.466, -0.596",\
                 "-0.293, -0.278, -0.243, -0.221, -0.222, -0.241, -0.293, -0.365, -0.466, -0.591",\
                 "-0.267, -0.253, -0.219, -0.198, -0.197, -0.216, -0.261, -0.331, -0.431, -0.556",\
                 "-0.184, -0.167, -0.139, -0.125, -0.124, -0.143, -0.186, -0.257, -0.358, -0.481",\
                 "-0.042, -0.028, -0.006, 0.005, -0.005, -0.023, -0.065, -0.137, -0.233, -0.358",\
                 "0.164, 0.184, 0.192, 0.195, 0.182, 0.153, 0.109, 0.037, -0.063, -0.181",\
                 "0.446, 0.457, 0.468, 0.451, 0.431, 0.395, 0.346, 0.271, 0.172, 0.046");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.74, 1.728, 1.662, 1.565, 1.494, 1.448, 1.435, 1.457, 1.541, 1.69",\
                 "1.744, 1.732, 1.676, 1.576, 1.498, 1.45, 1.444, 1.471, 1.541, 1.673",\
                 "1.773, 1.77, 1.7, 1.613, 1.531, 1.485, 1.473, 1.492, 1.582, 1.728",\
                 "1.844, 1.838, 1.767, 1.67, 1.6, 1.557, 1.543, 1.575, 1.646, 1.777",\
                 "1.968, 1.961, 1.895, 1.8, 1.723, 1.687, 1.666, 1.684, 1.762, 1.897",\
                 "2.178, 2.174, 2.102, 2.019, 1.932, 1.884, 1.871, 1.889, 1.961, 2.083",\
                 "2.502, 2.498, 2.422, 2.323, 2.252, 2.204, 2.188, 2.209, 2.266, 2.386",\
                 "2.922, 2.912, 2.847, 2.754, 2.671, 2.625, 2.603, 2.621, 2.684, 2.784",\
                 "3.442, 3.429, 3.365, 3.265, 3.196, 3.137, 3.117, 3.129, 3.19, 3.298",\
                 "4.063, 4.056, 3.984, 3.892, 3.806, 3.744, 3.729, 3.735, 3.791, 3.874");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.492, 0.47, 0.417, 0.347, 0.325, 0.343, 0.39, 0.46, 0.562, 0.691",\
                 "0.507, 0.484, 0.427, 0.36, 0.339, 0.354, 0.398, 0.468, 0.569, 0.698",\
                 "0.538, 0.515, 0.465, 0.39, 0.366, 0.381, 0.432, 0.497, 0.597, 0.73",\
                 "0.581, 0.565, 0.509, 0.437, 0.412, 0.416, 0.464, 0.526, 0.623, 0.753",\
                 "0.635, 0.618, 0.556, 0.486, 0.451, 0.452, 0.482, 0.543, 0.646, 0.765",\
                 "0.647, 0.63, 0.571, 0.498, 0.46, 0.448, 0.477, 0.542, 0.625, 0.751",\
                 "0.622, 0.604, 0.547, 0.466, 0.428, 0.413, 0.436, 0.491, 0.582, 0.702",\
                 "0.538, 0.523, 0.466, 0.383, 0.338, 0.326, 0.348, 0.401, 0.483, 0.606",\
                 "0.401, 0.378, 0.329, 0.25, 0.196, 0.182, 0.204, 0.253, 0.342, 0.461",\
                 "0.2, 0.183, 0.123, 0.048, -0.001, -0.026, -0.003, 0.049, 0.134, 0.251");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_SE_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!SE&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.74, 1.728, 1.662, 1.574, 1.494, 1.448, 1.435, 1.463, 1.533, 1.685",\
                 "1.744, 1.732, 1.67, 1.576, 1.505, 1.45, 1.444, 1.471, 1.541, 1.673",\
                 "1.773, 1.77, 1.7, 1.613, 1.531, 1.485, 1.482, 1.492, 1.582, 1.706",\
                 "1.844, 1.838, 1.767, 1.685, 1.6, 1.55, 1.543, 1.562, 1.637, 1.783",\
                 "1.968, 1.961, 1.895, 1.795, 1.723, 1.678, 1.666, 1.684, 1.762, 1.891",\
                 "2.178, 2.174, 2.102, 2.011, 1.932, 1.884, 1.871, 1.898, 1.977, 2.083",\
                 "2.502, 2.498, 2.422, 2.333, 2.252, 2.198, 2.188, 2.209, 2.272, 2.386",\
                 "2.922, 2.912, 2.846, 2.754, 2.671, 2.625, 2.603, 2.621, 2.684, 2.784",\
                 "3.442, 3.437, 3.365, 3.274, 3.187, 3.137, 3.117, 3.136, 3.19, 3.289",\
                 "4.063, 4.056, 3.984, 3.892, 3.8, 3.75, 3.722, 3.735, 3.8, 3.874");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.492, 0.47, 0.417, 0.347, 0.325, 0.337, 0.39, 0.46, 0.562, 0.691",\
                 "0.507, 0.484, 0.427, 0.36, 0.339, 0.354, 0.398, 0.468, 0.569, 0.698",\
                 "0.538, 0.515, 0.465, 0.39, 0.375, 0.381, 0.432, 0.497, 0.597, 0.73",\
                 "0.581, 0.565, 0.509, 0.437, 0.412, 0.424, 0.464, 0.526, 0.623, 0.753",\
                 "0.635, 0.618, 0.556, 0.486, 0.451, 0.452, 0.482, 0.543, 0.636, 0.765",\
                 "0.647, 0.63, 0.571, 0.498, 0.46, 0.448, 0.477, 0.542, 0.625, 0.751",\
                 "0.622, 0.604, 0.547, 0.476, 0.422, 0.413, 0.436, 0.491, 0.576, 0.702",\
                 "0.538, 0.523, 0.466, 0.383, 0.338, 0.326, 0.348, 0.401, 0.489, 0.606",\
                 "0.401, 0.378, 0.329, 0.25, 0.196, 0.182, 0.204, 0.253, 0.342, 0.461",\
                 "0.195, 0.183, 0.123, 0.048, -0.001, -0.019, -0.003, 0.049, 0.134, 0.251");
        }
      }
    }

    pin(Q) {
      direction : output ;
      function : "IQ1" ;
      max_capacitance : 1.446 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "CLK" ;
        when : "!D&SETN&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3235, 0.3156, 0.3081, 0.3053, 0.3043, 0.3038, 0.3036, 0.3034, 0.3033, 0.3033",\
                 "0.3235, 0.3156, 0.3082, 0.3053, 0.3044, 0.3038, 0.3036, 0.3034, 0.3033, 0.3033",\
                 "0.3235, 0.3157, 0.3082, 0.3054, 0.3042, 0.3037, 0.3035, 0.3033, 0.3033, 0.3033",\
                 "0.3238, 0.3158, 0.3084, 0.3056, 0.3046, 0.3042, 0.3039, 0.3038, 0.3037, 0.3036",\
                 "0.3243, 0.3164, 0.3091, 0.3061, 0.3052, 0.3046, 0.3044, 0.3043, 0.3043, 0.3042",\
                 "0.325, 0.317, 0.3094, 0.3068, 0.3057, 0.3054, 0.305, 0.3049, 0.305, 0.3049",\
                 "0.3255, 0.3175, 0.3103, 0.3074, 0.3065, 0.3059, 0.3057, 0.3055, 0.3055, 0.3054",\
                 "0.3261, 0.3181, 0.3109, 0.308, 0.307, 0.3065, 0.3062, 0.3061, 0.306, 0.3059",\
                 "0.3267, 0.3188, 0.3115, 0.3086, 0.3077, 0.3073, 0.3069, 0.3067, 0.3067, 0.3066",\
                 "0.3274, 0.3196, 0.3123, 0.3093, 0.3087, 0.308, 0.3077, 0.3076, 0.3074, 0.3074");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3443, 0.3389, 0.3335, 0.3317, 0.3319, 0.3354, 0.3379, 0.3402, 0.3432, 0.3601",\
                 "0.3444, 0.3389, 0.3331, 0.3317, 0.3321, 0.3353, 0.3378, 0.3401, 0.3435, 0.36",\
                 "0.3443, 0.3385, 0.3334, 0.3318, 0.332, 0.3354, 0.3379, 0.3399, 0.3437, 0.3604",\
                 "0.3444, 0.3392, 0.333, 0.3316, 0.3327, 0.3345, 0.3377, 0.34, 0.3421, 0.3626",\
                 "0.3448, 0.3391, 0.3328, 0.3318, 0.3332, 0.3353, 0.3385, 0.3405, 0.344, 0.3671",\
                 "0.3457, 0.3397, 0.3335, 0.333, 0.333, 0.3365, 0.3396, 0.342, 0.3462, 0.3718",\
                 "0.3467, 0.341, 0.3351, 0.3332, 0.3351, 0.3382, 0.3403, 0.3422, 0.3457, 0.3801",\
                 "0.3485, 0.3427, 0.3369, 0.3349, 0.3348, 0.3381, 0.3423, 0.3461, 0.3485, 0.3945",\
                 "0.3506, 0.3452, 0.3388, 0.3377, 0.3374, 0.3391, 0.3442, 0.35, 0.3578, 0.4171",\
                 "0.3533, 0.3475, 0.3414, 0.3397, 0.3401, 0.3399, 0.344, 0.3494, 0.3669, 0.4592");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "!SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3235, 0.3156, 0.3082, 0.3053, 0.3043, 0.3038, 0.3035, 0.3034, 0.3033, 0.3033",\
                 "0.3235, 0.3156, 0.3082, 0.3053, 0.3044, 0.3039, 0.3036, 0.3035, 0.3034, 0.3033",\
                 "0.3236, 0.3157, 0.3083, 0.3053, 0.3043, 0.3038, 0.3035, 0.3034, 0.3034, 0.3033",\
                 "0.3238, 0.316, 0.3085, 0.3056, 0.3046, 0.3041, 0.3038, 0.3037, 0.3037, 0.3036",\
                 "0.3243, 0.3164, 0.309, 0.3061, 0.3051, 0.3047, 0.3043, 0.3042, 0.3042, 0.3041",\
                 "0.325, 0.3171, 0.3094, 0.3068, 0.3058, 0.3053, 0.3051, 0.305, 0.305, 0.305",\
                 "0.3254, 0.3173, 0.3099, 0.3073, 0.3065, 0.3059, 0.3056, 0.3055, 0.3054, 0.3054",\
                 "0.3261, 0.3181, 0.3107, 0.308, 0.307, 0.3065, 0.3062, 0.3061, 0.3061, 0.306",\
                 "0.3267, 0.3189, 0.3116, 0.3088, 0.3078, 0.3073, 0.3071, 0.3069, 0.3068, 0.3068",\
                 "0.3277, 0.3197, 0.3122, 0.3096, 0.3087, 0.3082, 0.3079, 0.3077, 0.3075, 0.3075");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3443, 0.3389, 0.3335, 0.3319, 0.3321, 0.3354, 0.3378, 0.3402, 0.3432, 0.3601",\
                 "0.3444, 0.3386, 0.3335, 0.3317, 0.3325, 0.3353, 0.3377, 0.3401, 0.3435, 0.36",\
                 "0.3444, 0.3388, 0.3334, 0.3316, 0.3327, 0.3355, 0.3379, 0.3403, 0.3441, 0.3605",\
                 "0.3444, 0.3389, 0.3332, 0.332, 0.3324, 0.3352, 0.338, 0.34, 0.3425, 0.3639",\
                 "0.3448, 0.3391, 0.3333, 0.3322, 0.3325, 0.336, 0.3392, 0.3399, 0.3437, 0.3659",\
                 "0.3455, 0.3398, 0.3341, 0.333, 0.333, 0.3362, 0.3384, 0.342, 0.3439, 0.3689",\
                 "0.3465, 0.341, 0.3341, 0.3328, 0.3353, 0.3378, 0.34, 0.3422, 0.3477, 0.3805",\
                 "0.3486, 0.3427, 0.3367, 0.3358, 0.3356, 0.3395, 0.343, 0.3459, 0.3486, 0.3949",\
                 "0.3506, 0.3452, 0.3389, 0.3371, 0.3364, 0.339, 0.3432, 0.3497, 0.3577, 0.418",\
                 "0.3535, 0.3478, 0.3411, 0.3398, 0.3395, 0.3412, 0.344, 0.3484, 0.3666, 0.4585");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&!SE&SETN&SI | !D&SE&SETN&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3235, 0.3154, 0.3079, 0.3051, 0.3042, 0.3037, 0.3034, 0.3033, 0.3032, 0.3032",\
                 "0.3235, 0.3157, 0.3082, 0.3055, 0.3043, 0.3038, 0.3035, 0.3034, 0.3034, 0.3033",\
                 "0.3235, 0.3157, 0.3083, 0.3055, 0.3045, 0.3039, 0.3037, 0.3035, 0.3034, 0.3034",\
                 "0.3238, 0.3159, 0.3084, 0.3056, 0.3047, 0.3041, 0.3039, 0.3038, 0.3037, 0.3036",\
                 "0.3243, 0.3165, 0.309, 0.3061, 0.3052, 0.3048, 0.3044, 0.3043, 0.3042, 0.3043",\
                 "0.3249, 0.3169, 0.3095, 0.3067, 0.3058, 0.3053, 0.305, 0.305, 0.3049, 0.3048",\
                 "0.3255, 0.3176, 0.3102, 0.3075, 0.3064, 0.306, 0.3057, 0.3055, 0.3054, 0.3055",\
                 "0.3262, 0.3182, 0.3109, 0.308, 0.3071, 0.3065, 0.3063, 0.3062, 0.306, 0.306",\
                 "0.3268, 0.319, 0.3115, 0.3087, 0.3075, 0.3071, 0.3069, 0.3068, 0.3068, 0.3067",\
                 "0.3276, 0.3198, 0.3124, 0.3095, 0.3088, 0.3082, 0.3079, 0.3077, 0.3076, 0.3076");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3444, 0.3386, 0.3335, 0.3316, 0.3321, 0.3354, 0.3379, 0.3403, 0.3443, 0.3618",\
                 "0.3445, 0.3386, 0.3335, 0.3319, 0.3321, 0.3356, 0.3378, 0.3401, 0.3435, 0.36",\
                 "0.3443, 0.3387, 0.3334, 0.3316, 0.3327, 0.3354, 0.3379, 0.3403, 0.3437, 0.3605",\
                 "0.3443, 0.3385, 0.3332, 0.3318, 0.3323, 0.3349, 0.3377, 0.3397, 0.3431, 0.3623",\
                 "0.3447, 0.3391, 0.3331, 0.3329, 0.3326, 0.3354, 0.3389, 0.3409, 0.3454, 0.3665",\
                 "0.3457, 0.3401, 0.3339, 0.3332, 0.3331, 0.3365, 0.3387, 0.341, 0.3442, 0.3706",\
                 "0.3467, 0.3414, 0.335, 0.3334, 0.3357, 0.3382, 0.3407, 0.3419, 0.3457, 0.3802",\
                 "0.3487, 0.3431, 0.3369, 0.3348, 0.3343, 0.3382, 0.343, 0.3465, 0.3489, 0.3945",\
                 "0.3505, 0.3452, 0.3392, 0.3375, 0.3368, 0.3387, 0.3441, 0.3503, 0.3577, 0.418",\
                 "0.3533, 0.3478, 0.342, 0.3402, 0.3405, 0.3409, 0.344, 0.3487, 0.3662, 0.4585");
        }
      }

      internal_power() {
        related_pin : "CLK" ;
        when : "D&SE&SETN" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3235, 0.3156, 0.3081, 0.3053, 0.3043, 0.3037, 0.3035, 0.3034, 0.3033, 0.3033",\
                 "0.3235, 0.3156, 0.3082, 0.3053, 0.3044, 0.3038, 0.3036, 0.3034, 0.3033, 0.3033",\
                 "0.3235, 0.3157, 0.3083, 0.3054, 0.3043, 0.3037, 0.3035, 0.3034, 0.3033, 0.3033",\
                 "0.3238, 0.316, 0.3085, 0.3057, 0.3045, 0.304, 0.3038, 0.3037, 0.3036, 0.3036",\
                 "0.3243, 0.3164, 0.3089, 0.3061, 0.3052, 0.3046, 0.3043, 0.3044, 0.3042, 0.3042",\
                 "0.3248, 0.3171, 0.3097, 0.3067, 0.3058, 0.3053, 0.305, 0.305, 0.3049, 0.3048",\
                 "0.3254, 0.3176, 0.3101, 0.3073, 0.3063, 0.3059, 0.3056, 0.3054, 0.3053, 0.3053",\
                 "0.3261, 0.3181, 0.3109, 0.308, 0.307, 0.3065, 0.3062, 0.3061, 0.306, 0.3059",\
                 "0.3268, 0.3189, 0.3113, 0.3087, 0.3078, 0.3074, 0.3071, 0.3069, 0.3068, 0.3068",\
                 "0.3277, 0.3198, 0.3124, 0.3095, 0.3088, 0.3082, 0.3079, 0.3077, 0.3076, 0.3076");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3444, 0.3385, 0.3335, 0.3319, 0.3321, 0.3353, 0.3378, 0.3402, 0.3432, 0.3601",\
                 "0.3444, 0.3386, 0.3335, 0.3316, 0.3326, 0.335, 0.3378, 0.3401, 0.3435, 0.36",\
                 "0.3444, 0.3389, 0.3335, 0.3314, 0.332, 0.3355, 0.3379, 0.3403, 0.344, 0.3605",\
                 "0.3445, 0.3391, 0.3327, 0.3319, 0.333, 0.3349, 0.3374, 0.3407, 0.3428, 0.3644",\
                 "0.3446, 0.339, 0.333, 0.3317, 0.3323, 0.3353, 0.3381, 0.3404, 0.3443, 0.3664",\
                 "0.3456, 0.3401, 0.3341, 0.3334, 0.3335, 0.3362, 0.3387, 0.3417, 0.3443, 0.3706",\
                 "0.3462, 0.3414, 0.335, 0.3333, 0.3354, 0.3378, 0.3406, 0.3429, 0.3477, 0.3805",\
                 "0.3485, 0.343, 0.3375, 0.3351, 0.3347, 0.3395, 0.3426, 0.3465, 0.3486, 0.3949",\
                 "0.3507, 0.3452, 0.3393, 0.338, 0.3374, 0.338, 0.3435, 0.35, 0.356, 0.4173",\
                 "0.3533, 0.3477, 0.342, 0.3392, 0.3404, 0.3412, 0.344, 0.3487, 0.3669, 0.4595");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3628, 0.3564, 0.3488, 0.3443, 0.3443, 0.3468, 0.3496, 0.3513, 0.354, 0.3735",\
                 "0.3626, 0.3563, 0.3485, 0.345, 0.3458, 0.3472, 0.3493, 0.3517, 0.3544, 0.3736",\
                 "0.3627, 0.3567, 0.3486, 0.3449, 0.3464, 0.348, 0.3508, 0.3522, 0.3553, 0.373",\
                 "0.3655, 0.3595, 0.3509, 0.3477, 0.3485, 0.3499, 0.3523, 0.3557, 0.3578, 0.3789",\
                 "0.3766, 0.3698, 0.3623, 0.3583, 0.3579, 0.3601, 0.3636, 0.3646, 0.3701, 0.3912",\
                 "0.3986, 0.3915, 0.383, 0.378, 0.3773, 0.3794, 0.3815, 0.3841, 0.3872, 0.4183",\
                 "0.4275, 0.4206, 0.411, 0.4058, 0.4052, 0.4064, 0.4079, 0.4114, 0.4151, 0.4581",\
                 "0.4649, 0.4572, 0.4463, 0.4398, 0.439, 0.4414, 0.4419, 0.4441, 0.4505, 0.5115",\
                 "0.5089, 0.5006, 0.4885, 0.4822, 0.4779, 0.4793, 0.4831, 0.4862, 0.495, 0.5967",\
                 "0.5572, 0.5477, 0.5355, 0.5268, 0.5234, 0.5204, 0.5248, 0.5311, 0.5555, 0.7365");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3628, 0.3564, 0.3488, 0.3443, 0.3443, 0.3468, 0.3496, 0.3513, 0.354, 0.3735",\
                 "0.3626, 0.3563, 0.3485, 0.345, 0.3458, 0.3472, 0.3493, 0.3517, 0.3544, 0.3736",\
                 "0.3627, 0.3567, 0.3486, 0.3449, 0.3464, 0.348, 0.3508, 0.3522, 0.3553, 0.373",\
                 "0.3655, 0.3595, 0.3509, 0.3477, 0.3485, 0.3499, 0.3523, 0.3557, 0.3578, 0.3789",\
                 "0.3766, 0.3698, 0.3623, 0.3583, 0.3579, 0.3601, 0.3636, 0.3646, 0.3701, 0.3912",\
                 "0.3986, 0.3915, 0.383, 0.378, 0.3773, 0.3794, 0.3815, 0.3841, 0.3872, 0.4183",\
                 "0.4275, 0.4206, 0.411, 0.4058, 0.4052, 0.4064, 0.4079, 0.4114, 0.4151, 0.4581",\
                 "0.4649, 0.4572, 0.4463, 0.4398, 0.439, 0.4414, 0.4419, 0.4441, 0.4505, 0.5115",\
                 "0.5089, 0.5006, 0.4885, 0.4822, 0.4779, 0.4793, 0.4831, 0.4862, 0.495, 0.5967",\
                 "0.5572, 0.5477, 0.5355, 0.5268, 0.5234, 0.5204, 0.5248, 0.5311, 0.5555, 0.7365");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3628, 0.3564, 0.3488, 0.3443, 0.3443, 0.3468, 0.3496, 0.3513, 0.354, 0.3735",\
                 "0.3626, 0.3563, 0.3485, 0.345, 0.3458, 0.3472, 0.3493, 0.3517, 0.3544, 0.3736",\
                 "0.3627, 0.3567, 0.3486, 0.3449, 0.3464, 0.348, 0.3508, 0.3522, 0.3553, 0.373",\
                 "0.3655, 0.3593, 0.351, 0.3475, 0.3484, 0.3499, 0.3533, 0.355, 0.3598, 0.3779",\
                 "0.3765, 0.3703, 0.3624, 0.3578, 0.3578, 0.3608, 0.3627, 0.365, 0.3678, 0.3928",\
                 "0.3986, 0.3917, 0.383, 0.378, 0.3773, 0.3794, 0.3815, 0.3841, 0.3872, 0.4183",\
                 "0.4275, 0.4207, 0.4111, 0.406, 0.4048, 0.405, 0.4075, 0.4104, 0.4154, 0.4548",\
                 "0.4648, 0.457, 0.4465, 0.4402, 0.4391, 0.441, 0.4428, 0.4447, 0.4505, 0.5157",\
                 "0.5089, 0.4999, 0.4881, 0.4818, 0.478, 0.4794, 0.4835, 0.4866, 0.495, 0.5987",\
                 "0.5572, 0.548, 0.535, 0.5268, 0.5229, 0.521, 0.5248, 0.5311, 0.5555, 0.7365");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3628, 0.3564, 0.3488, 0.3443, 0.3443, 0.3468, 0.3496, 0.3513, 0.354, 0.3735",\
                 "0.3626, 0.3563, 0.3485, 0.345, 0.3458, 0.3472, 0.3493, 0.3517, 0.3544, 0.3736",\
                 "0.3627, 0.3567, 0.3486, 0.3449, 0.3464, 0.348, 0.3508, 0.3522, 0.3553, 0.373",\
                 "0.3655, 0.3593, 0.351, 0.3475, 0.3484, 0.3499, 0.3533, 0.355, 0.3598, 0.3779",\
                 "0.3765, 0.3703, 0.3624, 0.3578, 0.3578, 0.3608, 0.3627, 0.365, 0.3678, 0.3928",\
                 "0.3986, 0.3917, 0.383, 0.378, 0.3773, 0.3794, 0.3815, 0.3841, 0.3872, 0.4183",\
                 "0.4275, 0.4207, 0.4111, 0.406, 0.4048, 0.405, 0.4075, 0.4104, 0.4154, 0.4548",\
                 "0.4648, 0.457, 0.4465, 0.4402, 0.4391, 0.441, 0.4428, 0.4447, 0.4505, 0.5157",\
                 "0.5089, 0.4999, 0.4881, 0.4818, 0.478, 0.4794, 0.4835, 0.4866, 0.495, 0.5987",\
                 "0.5572, 0.548, 0.535, 0.5268, 0.5229, 0.521, 0.5248, 0.5311, 0.5555, 0.7365");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3627, 0.3564, 0.3483, 0.3443, 0.3443, 0.3468, 0.3496, 0.3513, 0.354, 0.3735",\
                 "0.3625, 0.3563, 0.3486, 0.345, 0.3457, 0.3471, 0.3493, 0.3516, 0.3544, 0.3735",\
                 "0.3627, 0.3567, 0.3486, 0.3449, 0.3464, 0.348, 0.3508, 0.3522, 0.3553, 0.373",\
                 "0.3654, 0.3589, 0.3513, 0.3475, 0.3484, 0.3498, 0.3533, 0.3553, 0.3594, 0.3782",\
                 "0.3765, 0.37, 0.3624, 0.3583, 0.3579, 0.3601, 0.3639, 0.3653, 0.3674, 0.3912",\
                 "0.3985, 0.3921, 0.3835, 0.3787, 0.3778, 0.3797, 0.3822, 0.3844, 0.3878, 0.419",\
                 "0.4274, 0.4206, 0.4102, 0.4062, 0.4051, 0.4061, 0.4082, 0.4101, 0.4144, 0.4577",\
                 "0.4645, 0.4569, 0.4461, 0.4402, 0.439, 0.4414, 0.4425, 0.4441, 0.4505, 0.5154",\
                 "0.5086, 0.5006, 0.4888, 0.4822, 0.4772, 0.4793, 0.4838, 0.4862, 0.4943, 0.5983",\
                 "0.5572, 0.5477, 0.535, 0.5268, 0.5232, 0.521, 0.5248, 0.5308, 0.5549, 0.7373");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3627, 0.3564, 0.3483, 0.3443, 0.3443, 0.3468, 0.3496, 0.3513, 0.354, 0.3735",\
                 "0.3625, 0.3563, 0.3486, 0.345, 0.3457, 0.3471, 0.3493, 0.3516, 0.3544, 0.3735",\
                 "0.3627, 0.3567, 0.3486, 0.3449, 0.3464, 0.348, 0.3508, 0.3522, 0.3553, 0.373",\
                 "0.3654, 0.3589, 0.3513, 0.3475, 0.3484, 0.3498, 0.3533, 0.3553, 0.3594, 0.3782",\
                 "0.3765, 0.37, 0.3624, 0.3583, 0.3579, 0.3601, 0.3639, 0.3653, 0.3674, 0.3912",\
                 "0.3985, 0.3921, 0.3835, 0.3787, 0.3778, 0.3797, 0.3822, 0.3844, 0.3878, 0.419",\
                 "0.4274, 0.4206, 0.4102, 0.4062, 0.4051, 0.4061, 0.4082, 0.4101, 0.4144, 0.4577",\
                 "0.4645, 0.4569, 0.4461, 0.4402, 0.439, 0.4414, 0.4425, 0.4441, 0.4505, 0.5154",\
                 "0.5086, 0.5006, 0.4888, 0.4822, 0.4772, 0.4793, 0.4838, 0.4862, 0.4943, 0.5983",\
                 "0.5572, 0.5477, 0.535, 0.5268, 0.5232, 0.521, 0.5248, 0.5308, 0.5549, 0.7373");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3619, 0.3558, 0.3479, 0.3446, 0.3447, 0.347, 0.3498, 0.3512, 0.3539, 0.3708",\
                 "0.3616, 0.3558, 0.3477, 0.3446, 0.344, 0.3467, 0.3492, 0.3512, 0.3539, 0.3701",\
                 "0.3621, 0.3559, 0.3482, 0.3446, 0.3444, 0.3475, 0.3496, 0.3516, 0.3554, 0.3715",\
                 "0.3648, 0.3584, 0.3506, 0.3466, 0.3468, 0.3504, 0.3529, 0.3546, 0.3587, 0.3778",\
                 "0.3758, 0.3697, 0.3617, 0.3576, 0.3572, 0.3593, 0.3631, 0.3645, 0.368, 0.3907",\
                 "0.3978, 0.391, 0.3825, 0.3774, 0.3773, 0.3791, 0.3812, 0.3838, 0.3872, 0.4207",\
                 "0.4268, 0.4198, 0.4104, 0.4045, 0.404, 0.4055, 0.4077, 0.4095, 0.4149, 0.4569",\
                 "0.4644, 0.4565, 0.4463, 0.4385, 0.4379, 0.4405, 0.4416, 0.4435, 0.4509, 0.5116",\
                 "0.5082, 0.4999, 0.4877, 0.4802, 0.4769, 0.4791, 0.4829, 0.485, 0.4941, 0.6019",\
                 "0.5564, 0.5476, 0.5352, 0.5268, 0.5223, 0.5213, 0.5245, 0.5327, 0.5552, 0.7347");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3619, 0.3558, 0.3479, 0.3446, 0.3447, 0.347, 0.3498, 0.3512, 0.3539, 0.3708",\
                 "0.3616, 0.3558, 0.3477, 0.3446, 0.344, 0.3467, 0.3492, 0.3512, 0.3539, 0.3701",\
                 "0.3621, 0.3559, 0.3482, 0.3446, 0.3444, 0.3475, 0.3496, 0.3516, 0.3554, 0.3715",\
                 "0.3648, 0.3584, 0.3506, 0.3466, 0.3468, 0.3504, 0.3529, 0.3546, 0.3587, 0.3778",\
                 "0.3758, 0.3697, 0.3617, 0.3576, 0.3572, 0.3593, 0.3631, 0.3645, 0.368, 0.3907",\
                 "0.3978, 0.391, 0.3825, 0.3774, 0.3773, 0.3791, 0.3812, 0.3838, 0.3872, 0.4207",\
                 "0.4268, 0.4198, 0.4104, 0.4045, 0.404, 0.4055, 0.4077, 0.4095, 0.4149, 0.4569",\
                 "0.4644, 0.4565, 0.4463, 0.4385, 0.4379, 0.4405, 0.4416, 0.4435, 0.4509, 0.5116",\
                 "0.5082, 0.4999, 0.4877, 0.4802, 0.4769, 0.4791, 0.4829, 0.485, 0.4941, 0.6019",\
                 "0.5564, 0.5476, 0.5352, 0.5268, 0.5223, 0.5213, 0.5245, 0.5327, 0.5552, 0.7347");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3622, 0.3556, 0.3479, 0.3446, 0.3444, 0.347, 0.3498, 0.3512, 0.3536, 0.3708",\
                 "0.3616, 0.3558, 0.3478, 0.3444, 0.3447, 0.3467, 0.3492, 0.3512, 0.3543, 0.3702",\
                 "0.362, 0.3559, 0.3481, 0.3446, 0.3443, 0.3471, 0.3496, 0.3516, 0.3554, 0.3714",\
                 "0.3648, 0.3583, 0.3507, 0.3467, 0.3468, 0.3504, 0.3529, 0.3546, 0.3587, 0.3778",\
                 "0.3758, 0.3697, 0.3617, 0.3576, 0.3572, 0.3593, 0.3631, 0.3642, 0.368, 0.3907",\
                 "0.3979, 0.3911, 0.3827, 0.3772, 0.3771, 0.3795, 0.3823, 0.3848, 0.3872, 0.4188",\
                 "0.427, 0.4197, 0.4096, 0.4054, 0.4047, 0.4058, 0.4077, 0.4095, 0.4145, 0.4575",\
                 "0.4643, 0.4562, 0.4458, 0.4395, 0.4388, 0.4405, 0.4416, 0.4432, 0.4503, 0.5136",\
                 "0.5082, 0.4999, 0.4877, 0.4809, 0.4774, 0.4791, 0.4826, 0.4846, 0.4974, 0.5981",\
                 "0.5567, 0.5474, 0.534, 0.5266, 0.5225, 0.521, 0.5261, 0.532, 0.5552, 0.7352");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3622, 0.3556, 0.3479, 0.3446, 0.3444, 0.347, 0.3498, 0.3512, 0.3536, 0.3708",\
                 "0.3616, 0.3558, 0.3478, 0.3444, 0.3447, 0.3467, 0.3492, 0.3512, 0.3543, 0.3702",\
                 "0.362, 0.3559, 0.3481, 0.3446, 0.3443, 0.3471, 0.3496, 0.3516, 0.3554, 0.3714",\
                 "0.3648, 0.3583, 0.3507, 0.3467, 0.3468, 0.3504, 0.3529, 0.3546, 0.3587, 0.3778",\
                 "0.3758, 0.3697, 0.3617, 0.3576, 0.3572, 0.3593, 0.3631, 0.3642, 0.368, 0.3907",\
                 "0.3979, 0.3911, 0.3827, 0.3772, 0.3771, 0.3795, 0.3823, 0.3848, 0.3872, 0.4188",\
                 "0.427, 0.4197, 0.4096, 0.4054, 0.4047, 0.4058, 0.4077, 0.4095, 0.4145, 0.4575",\
                 "0.4643, 0.4562, 0.4458, 0.4395, 0.4388, 0.4405, 0.4416, 0.4432, 0.4503, 0.5136",\
                 "0.5082, 0.4999, 0.4877, 0.4809, 0.4774, 0.4791, 0.4826, 0.4846, 0.4974, 0.5981",\
                 "0.5567, 0.5474, 0.534, 0.5266, 0.5225, 0.521, 0.5261, 0.532, 0.5552, 0.7352");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3617, 0.3558, 0.3483, 0.3441, 0.3443, 0.3464, 0.3488, 0.3518, 0.3559, 0.3705",\
                 "0.3616, 0.3558, 0.3478, 0.3446, 0.3447, 0.3467, 0.3492, 0.3512, 0.3543, 0.3702",\
                 "0.362, 0.3559, 0.3481, 0.3446, 0.3443, 0.3471, 0.3496, 0.3516, 0.3554, 0.3714",\
                 "0.3648, 0.3583, 0.3508, 0.3467, 0.3469, 0.3504, 0.3529, 0.3546, 0.3587, 0.3779",\
                 "0.3758, 0.3697, 0.3617, 0.3575, 0.3572, 0.3593, 0.3631, 0.3641, 0.3679, 0.3907",\
                 "0.398, 0.3912, 0.3827, 0.3779, 0.3772, 0.3791, 0.3812, 0.3854, 0.3869, 0.4194",\
                 "0.4268, 0.4201, 0.4104, 0.4054, 0.4047, 0.4055, 0.4077, 0.4109, 0.4142, 0.4572",\
                 "0.4643, 0.457, 0.4457, 0.4396, 0.4376, 0.4411, 0.4413, 0.4442, 0.4499, 0.5132",\
                 "0.5082, 0.4999, 0.4877, 0.4809, 0.4774, 0.4791, 0.4825, 0.4846, 0.4971, 0.6009",\
                 "0.5566, 0.5478, 0.5347, 0.5269, 0.5227, 0.5213, 0.5251, 0.5333, 0.5538, 0.7349");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3617, 0.3558, 0.3483, 0.3441, 0.3443, 0.3464, 0.3488, 0.3518, 0.3559, 0.3705",\
                 "0.3616, 0.3558, 0.3478, 0.3446, 0.3447, 0.3467, 0.3492, 0.3512, 0.3543, 0.3702",\
                 "0.362, 0.3559, 0.3481, 0.3446, 0.3443, 0.3471, 0.3496, 0.3516, 0.3554, 0.3714",\
                 "0.3648, 0.3583, 0.3508, 0.3467, 0.3469, 0.3504, 0.3529, 0.3546, 0.3587, 0.3779",\
                 "0.3758, 0.3697, 0.3617, 0.3575, 0.3572, 0.3593, 0.3631, 0.3641, 0.3679, 0.3907",\
                 "0.398, 0.3912, 0.3827, 0.3779, 0.3772, 0.3791, 0.3812, 0.3854, 0.3869, 0.4194",\
                 "0.4268, 0.4201, 0.4104, 0.4054, 0.4047, 0.4055, 0.4077, 0.4109, 0.4142, 0.4572",\
                 "0.4643, 0.457, 0.4457, 0.4396, 0.4376, 0.4411, 0.4413, 0.4442, 0.4499, 0.5132",\
                 "0.5082, 0.4999, 0.4877, 0.4809, 0.4774, 0.4791, 0.4825, 0.4846, 0.4971, 0.6009",\
                 "0.5566, 0.5478, 0.5347, 0.5269, 0.5227, 0.5213, 0.5251, 0.5333, 0.5538, 0.7349");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3628, 0.3564, 0.3483, 0.3443, 0.3443, 0.3468, 0.3496, 0.3513, 0.354, 0.3735",\
                 "0.3625, 0.3563, 0.3486, 0.345, 0.3457, 0.3472, 0.3493, 0.3516, 0.3544, 0.3736",\
                 "0.3627, 0.3567, 0.3486, 0.3449, 0.3464, 0.348, 0.3508, 0.3522, 0.3553, 0.373",\
                 "0.3654, 0.3592, 0.3509, 0.3475, 0.3484, 0.3501, 0.3533, 0.355, 0.3597, 0.3779",\
                 "0.3766, 0.3704, 0.3618, 0.3581, 0.3584, 0.3614, 0.3623, 0.3646, 0.3678, 0.3915",\
                 "0.3985, 0.3914, 0.3833, 0.3784, 0.3775, 0.3797, 0.3829, 0.3838, 0.3895, 0.4187",\
                 "0.4276, 0.4205, 0.4109, 0.4063, 0.4051, 0.406, 0.4088, 0.4097, 0.415, 0.458",\
                 "0.4649, 0.4571, 0.447, 0.4404, 0.4391, 0.4414, 0.4419, 0.4441, 0.4501, 0.516",\
                 "0.5088, 0.4998, 0.4883, 0.4819, 0.4783, 0.4797, 0.4835, 0.4855, 0.4954, 0.5983",\
                 "0.5572, 0.5477, 0.5354, 0.5272, 0.5232, 0.522, 0.5258, 0.5308, 0.5552, 0.7349");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3628, 0.3564, 0.3483, 0.3443, 0.3443, 0.3468, 0.3496, 0.3513, 0.354, 0.3735",\
                 "0.3625, 0.3563, 0.3486, 0.345, 0.3457, 0.3472, 0.3493, 0.3516, 0.3544, 0.3736",\
                 "0.3627, 0.3567, 0.3486, 0.3449, 0.3464, 0.348, 0.3508, 0.3522, 0.3553, 0.373",\
                 "0.3654, 0.3592, 0.3509, 0.3475, 0.3484, 0.3501, 0.3533, 0.355, 0.3597, 0.3779",\
                 "0.3766, 0.3704, 0.3618, 0.3581, 0.3584, 0.3614, 0.3623, 0.3646, 0.3678, 0.3915",\
                 "0.3985, 0.3914, 0.3833, 0.3784, 0.3775, 0.3797, 0.3829, 0.3838, 0.3895, 0.4187",\
                 "0.4276, 0.4205, 0.4109, 0.4063, 0.4051, 0.406, 0.4088, 0.4097, 0.415, 0.458",\
                 "0.4649, 0.4571, 0.447, 0.4404, 0.4391, 0.4414, 0.4419, 0.4441, 0.4501, 0.516",\
                 "0.5088, 0.4998, 0.4883, 0.4819, 0.4783, 0.4797, 0.4835, 0.4855, 0.4954, 0.5983",\
                 "0.5572, 0.5477, 0.5354, 0.5272, 0.5232, 0.522, 0.5258, 0.5308, 0.5552, 0.7349");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3619, 0.3558, 0.3477, 0.3442, 0.3447, 0.347, 0.3492, 0.3512, 0.3539, 0.3702",\
                 "0.3616, 0.3558, 0.3478, 0.3446, 0.3447, 0.3467, 0.3489, 0.3509, 0.3523, 0.3702",\
                 "0.362, 0.3559, 0.3481, 0.3446, 0.3444, 0.3471, 0.3496, 0.3516, 0.3554, 0.3714",\
                 "0.3648, 0.3585, 0.3506, 0.3469, 0.3469, 0.3497, 0.3512, 0.3546, 0.3567, 0.3778",\
                 "0.3758, 0.3693, 0.361, 0.3571, 0.3575, 0.3603, 0.3631, 0.3642, 0.3683, 0.3907",\
                 "0.3978, 0.3911, 0.3826, 0.378, 0.3772, 0.3791, 0.3812, 0.3838, 0.3872, 0.4184",\
                 "0.4268, 0.4193, 0.4099, 0.4046, 0.4045, 0.4055, 0.4073, 0.4099, 0.4145, 0.4572",\
                 "0.4643, 0.4563, 0.4462, 0.4393, 0.4383, 0.4405, 0.4413, 0.4432, 0.4506, 0.5142",\
                 "0.5082, 0.5001, 0.4882, 0.4812, 0.4772, 0.4797, 0.4839, 0.4846, 0.4945, 0.6006",\
                 "0.5568, 0.5478, 0.5347, 0.5269, 0.523, 0.521, 0.5255, 0.5321, 0.5542, 0.737");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.3619, 0.3558, 0.3477, 0.3442, 0.3447, 0.347, 0.3492, 0.3512, 0.3539, 0.3702",\
                 "0.3616, 0.3558, 0.3478, 0.3446, 0.3447, 0.3467, 0.3489, 0.3509, 0.3523, 0.3702",\
                 "0.362, 0.3559, 0.3481, 0.3446, 0.3444, 0.3471, 0.3496, 0.3516, 0.3554, 0.3714",\
                 "0.3648, 0.3585, 0.3506, 0.3469, 0.3469, 0.3497, 0.3512, 0.3546, 0.3567, 0.3778",\
                 "0.3758, 0.3693, 0.361, 0.3571, 0.3575, 0.3603, 0.3631, 0.3642, 0.3683, 0.3907",\
                 "0.3978, 0.3911, 0.3826, 0.378, 0.3772, 0.3791, 0.3812, 0.3838, 0.3872, 0.4184",\
                 "0.4268, 0.4193, 0.4099, 0.4046, 0.4045, 0.4055, 0.4073, 0.4099, 0.4145, 0.4572",\
                 "0.4643, 0.4563, 0.4462, 0.4393, 0.4383, 0.4405, 0.4413, 0.4432, 0.4506, 0.5142",\
                 "0.5082, 0.5001, 0.4882, 0.4812, 0.4772, 0.4797, 0.4839, 0.4846, 0.4945, 0.6006",\
                 "0.5568, 0.5478, 0.5347, 0.5269, 0.523, 0.521, 0.5255, 0.5321, 0.5542, 0.737");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4101, 0.4053, 0.3997, 0.3981, 0.3986, 0.4024, 0.4042, 0.4066, 0.4096, 0.4253",\
                 "0.4095, 0.4045, 0.399, 0.3981, 0.3993, 0.4011, 0.4033, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.4058, 0.4003, 0.3988, 0.4001, 0.4032, 0.405, 0.407, 0.4114, 0.4253",\
                 "0.42, 0.4148, 0.4092, 0.4083, 0.4093, 0.4114, 0.4142, 0.4165, 0.419, 0.4389",\
                 "0.4432, 0.4381, 0.4319, 0.4292, 0.4302, 0.4329, 0.435, 0.4407, 0.4432, 0.4637",\
                 "0.4792, 0.4743, 0.4671, 0.4645, 0.465, 0.4675, 0.4706, 0.472, 0.4765, 0.5047",\
                 "0.5275, 0.5219, 0.5144, 0.5114, 0.5131, 0.5144, 0.5172, 0.5187, 0.5223, 0.5606",\
                 "0.5818, 0.5765, 0.568, 0.564, 0.5634, 0.5678, 0.5693, 0.5715, 0.5787, 0.6313",\
                 "0.6392, 0.6333, 0.625, 0.6209, 0.6187, 0.6206, 0.6264, 0.6298, 0.6381, 0.72",\
                 "0.6995, 0.6936, 0.6842, 0.6803, 0.6791, 0.6787, 0.6828, 0.6914, 0.7075, 0.8475");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4101, 0.4053, 0.3997, 0.3981, 0.3986, 0.4024, 0.4042, 0.4066, 0.4096, 0.4253",\
                 "0.4095, 0.4045, 0.399, 0.3981, 0.3993, 0.4011, 0.4033, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.4058, 0.4003, 0.3988, 0.4001, 0.4032, 0.405, 0.407, 0.4114, 0.4253",\
                 "0.42, 0.4148, 0.4092, 0.4083, 0.4093, 0.4114, 0.4142, 0.4165, 0.419, 0.4389",\
                 "0.4432, 0.4381, 0.4319, 0.4292, 0.4302, 0.4329, 0.435, 0.4407, 0.4432, 0.4637",\
                 "0.4792, 0.4743, 0.4671, 0.4645, 0.465, 0.4675, 0.4706, 0.472, 0.4765, 0.5047",\
                 "0.5275, 0.5219, 0.5144, 0.5114, 0.5131, 0.5144, 0.5172, 0.5187, 0.5223, 0.5606",\
                 "0.5818, 0.5765, 0.568, 0.564, 0.5634, 0.5678, 0.5693, 0.5715, 0.5787, 0.6313",\
                 "0.6392, 0.6333, 0.625, 0.6209, 0.6187, 0.6206, 0.6264, 0.6298, 0.6381, 0.72",\
                 "0.6995, 0.6936, 0.6842, 0.6803, 0.6791, 0.6787, 0.6828, 0.6914, 0.7075, 0.8475");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4101, 0.4053, 0.3997, 0.3981, 0.3986, 0.4024, 0.4042, 0.4066, 0.4096, 0.4253",\
                 "0.4095, 0.4045, 0.399, 0.3981, 0.3993, 0.4011, 0.4033, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.4058, 0.4003, 0.3988, 0.4001, 0.4032, 0.405, 0.407, 0.4114, 0.4253",\
                 "0.42, 0.4148, 0.4092, 0.4083, 0.4093, 0.4114, 0.4142, 0.4165, 0.419, 0.4389",\
                 "0.4432, 0.4379, 0.4319, 0.4292, 0.4302, 0.4329, 0.435, 0.4407, 0.4432, 0.4637",\
                 "0.4792, 0.4743, 0.4671, 0.4645, 0.4647, 0.4675, 0.4706, 0.472, 0.4765, 0.5044",\
                 "0.5277, 0.5221, 0.5141, 0.5108, 0.513, 0.5144, 0.5165, 0.5207, 0.5229, 0.5609",\
                 "0.582, 0.5756, 0.568, 0.564, 0.5634, 0.5678, 0.5693, 0.5715, 0.5786, 0.6313",\
                 "0.6392, 0.6333, 0.625, 0.6209, 0.6194, 0.6206, 0.6264, 0.6298, 0.6381, 0.72",\
                 "0.6995, 0.6931, 0.6842, 0.68, 0.6786, 0.6784, 0.6825, 0.691, 0.7072, 0.8465");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4101, 0.4053, 0.3997, 0.3981, 0.3986, 0.4024, 0.4042, 0.4066, 0.4096, 0.4253",\
                 "0.4095, 0.4045, 0.399, 0.3981, 0.3993, 0.4011, 0.4033, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.4058, 0.4003, 0.3988, 0.4001, 0.4032, 0.405, 0.407, 0.4114, 0.4253",\
                 "0.42, 0.4148, 0.4092, 0.4083, 0.4093, 0.4114, 0.4142, 0.4165, 0.419, 0.4389",\
                 "0.4432, 0.4379, 0.4319, 0.4292, 0.4302, 0.4329, 0.435, 0.4407, 0.4432, 0.4637",\
                 "0.4792, 0.4743, 0.4671, 0.4645, 0.4647, 0.4675, 0.4706, 0.472, 0.4765, 0.5044",\
                 "0.5277, 0.5221, 0.5141, 0.5108, 0.513, 0.5144, 0.5165, 0.5207, 0.5229, 0.5609",\
                 "0.582, 0.5756, 0.568, 0.564, 0.5634, 0.5678, 0.5693, 0.5715, 0.5786, 0.6313",\
                 "0.6392, 0.6333, 0.625, 0.6209, 0.6194, 0.6206, 0.6264, 0.6298, 0.6381, 0.72",\
                 "0.6995, 0.6931, 0.6842, 0.68, 0.6786, 0.6784, 0.6825, 0.691, 0.7072, 0.8465");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.41, 0.4053, 0.3997, 0.3972, 0.3986, 0.4024, 0.4042, 0.4066, 0.4096, 0.4253",\
                 "0.4095, 0.4046, 0.399, 0.3981, 0.3993, 0.4012, 0.4033, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.4058, 0.4002, 0.3988, 0.4, 0.4031, 0.405, 0.407, 0.4113, 0.4253",\
                 "0.42, 0.4149, 0.4092, 0.4073, 0.4091, 0.4118, 0.4142, 0.4166, 0.4194, 0.4386",\
                 "0.4432, 0.4381, 0.4317, 0.4293, 0.4302, 0.4328, 0.435, 0.4406, 0.4431, 0.4637",\
                 "0.4792, 0.4742, 0.4676, 0.4651, 0.4649, 0.4675, 0.4699, 0.472, 0.4765, 0.5044",\
                 "0.5277, 0.5221, 0.5144, 0.5114, 0.5131, 0.514, 0.5162, 0.5187, 0.5223, 0.5606",\
                 "0.582, 0.5758, 0.568, 0.564, 0.5631, 0.5678, 0.5693, 0.5715, 0.5787, 0.6313",\
                 "0.6394, 0.6334, 0.6243, 0.621, 0.62, 0.621, 0.6274, 0.6315, 0.6378, 0.7194",\
                 "0.6992, 0.693, 0.6846, 0.6798, 0.6784, 0.678, 0.6825, 0.6897, 0.7055, 0.8454");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.41, 0.4053, 0.3997, 0.3972, 0.3986, 0.4024, 0.4042, 0.4066, 0.4096, 0.4253",\
                 "0.4095, 0.4046, 0.399, 0.3981, 0.3993, 0.4012, 0.4033, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.4058, 0.4002, 0.3988, 0.4, 0.4031, 0.405, 0.407, 0.4113, 0.4253",\
                 "0.42, 0.4149, 0.4092, 0.4073, 0.4091, 0.4118, 0.4142, 0.4166, 0.4194, 0.4386",\
                 "0.4432, 0.4381, 0.4317, 0.4293, 0.4302, 0.4328, 0.435, 0.4406, 0.4431, 0.4637",\
                 "0.4792, 0.4742, 0.4676, 0.4651, 0.4649, 0.4675, 0.4699, 0.472, 0.4765, 0.5044",\
                 "0.5277, 0.5221, 0.5144, 0.5114, 0.5131, 0.514, 0.5162, 0.5187, 0.5223, 0.5606",\
                 "0.582, 0.5758, 0.568, 0.564, 0.5631, 0.5678, 0.5693, 0.5715, 0.5787, 0.6313",\
                 "0.6394, 0.6334, 0.6243, 0.621, 0.62, 0.621, 0.6274, 0.6315, 0.6378, 0.7194",\
                 "0.6992, 0.693, 0.6846, 0.6798, 0.6784, 0.678, 0.6825, 0.6897, 0.7055, 0.8454");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4098, 0.4054, 0.3996, 0.3979, 0.3991, 0.4018, 0.4042, 0.4066, 0.4083, 0.425",\
                 "0.4094, 0.4045, 0.399, 0.3975, 0.3985, 0.4018, 0.4043, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.406, 0.4004, 0.3988, 0.4, 0.4025, 0.405, 0.407, 0.41, 0.4246",\
                 "0.4201, 0.415, 0.4094, 0.4081, 0.4093, 0.4114, 0.4142, 0.4166, 0.419, 0.439",\
                 "0.4431, 0.4379, 0.4317, 0.4295, 0.4301, 0.4335, 0.435, 0.438, 0.4432, 0.4637",\
                 "0.4793, 0.474, 0.4675, 0.4649, 0.4649, 0.4678, 0.4703, 0.4723, 0.4752, 0.5051",\
                 "0.5274, 0.5217, 0.5141, 0.5112, 0.5136, 0.5143, 0.5178, 0.5207, 0.5236, 0.5609",\
                 "0.5819, 0.5761, 0.5675, 0.5642, 0.563, 0.5688, 0.5696, 0.5712, 0.5764, 0.6307",\
                 "0.6391, 0.6334, 0.6254, 0.6216, 0.62, 0.6206, 0.628, 0.6301, 0.6374, 0.72",\
                 "0.6995, 0.6934, 0.6848, 0.6801, 0.6793, 0.6797, 0.6825, 0.6909, 0.7092, 0.8447");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4098, 0.4054, 0.3996, 0.3979, 0.3991, 0.4018, 0.4042, 0.4066, 0.4083, 0.425",\
                 "0.4094, 0.4045, 0.399, 0.3975, 0.3985, 0.4018, 0.4043, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.406, 0.4004, 0.3988, 0.4, 0.4025, 0.405, 0.407, 0.41, 0.4246",\
                 "0.4201, 0.415, 0.4094, 0.4081, 0.4093, 0.4114, 0.4142, 0.4166, 0.419, 0.439",\
                 "0.4431, 0.4379, 0.4317, 0.4295, 0.4301, 0.4335, 0.435, 0.438, 0.4432, 0.4637",\
                 "0.4793, 0.474, 0.4675, 0.4649, 0.4649, 0.4678, 0.4703, 0.4723, 0.4752, 0.5051",\
                 "0.5274, 0.5217, 0.5141, 0.5112, 0.5136, 0.5143, 0.5178, 0.5207, 0.5236, 0.5609",\
                 "0.5819, 0.5761, 0.5675, 0.5642, 0.563, 0.5688, 0.5696, 0.5712, 0.5764, 0.6307",\
                 "0.6391, 0.6334, 0.6254, 0.6216, 0.62, 0.6206, 0.628, 0.6301, 0.6374, 0.72",\
                 "0.6995, 0.6934, 0.6848, 0.6801, 0.6793, 0.6797, 0.6825, 0.6909, 0.7092, 0.8447");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4101, 0.4054, 0.3996, 0.3979, 0.3991, 0.4018, 0.4042, 0.4066, 0.4083, 0.425",\
                 "0.4094, 0.4045, 0.399, 0.3981, 0.3993, 0.4018, 0.4043, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.406, 0.4004, 0.3985, 0.4, 0.4025, 0.405, 0.407, 0.41, 0.4269",\
                 "0.42, 0.4148, 0.4089, 0.408, 0.4092, 0.4111, 0.4142, 0.4166, 0.419, 0.439",\
                 "0.4432, 0.4381, 0.4318, 0.4295, 0.4306, 0.4342, 0.4357, 0.438, 0.4425, 0.4611",\
                 "0.4793, 0.4738, 0.4671, 0.4655, 0.4649, 0.4675, 0.47, 0.4733, 0.4765, 0.5044",\
                 "0.5275, 0.522, 0.5142, 0.5112, 0.5136, 0.514, 0.5162, 0.5184, 0.5219, 0.5606",\
                 "0.5821, 0.5766, 0.5683, 0.5642, 0.5639, 0.5695, 0.5713, 0.5705, 0.5764, 0.6313",\
                 "0.6391, 0.6333, 0.6246, 0.6215, 0.6201, 0.6212, 0.627, 0.6294, 0.6374, 0.7191",\
                 "0.6994, 0.6931, 0.6848, 0.6799, 0.679, 0.6783, 0.6835, 0.6897, 0.7072, 0.8469");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4101, 0.4054, 0.3996, 0.3979, 0.3991, 0.4018, 0.4042, 0.4066, 0.4083, 0.425",\
                 "0.4094, 0.4045, 0.399, 0.3981, 0.3993, 0.4018, 0.4043, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.406, 0.4004, 0.3985, 0.4, 0.4025, 0.405, 0.407, 0.41, 0.4269",\
                 "0.42, 0.4148, 0.4089, 0.408, 0.4092, 0.4111, 0.4142, 0.4166, 0.419, 0.439",\
                 "0.4432, 0.4381, 0.4318, 0.4295, 0.4306, 0.4342, 0.4357, 0.438, 0.4425, 0.4611",\
                 "0.4793, 0.4738, 0.4671, 0.4655, 0.4649, 0.4675, 0.47, 0.4733, 0.4765, 0.5044",\
                 "0.5275, 0.522, 0.5142, 0.5112, 0.5136, 0.514, 0.5162, 0.5184, 0.5219, 0.5606",\
                 "0.5821, 0.5766, 0.5683, 0.5642, 0.5639, 0.5695, 0.5713, 0.5705, 0.5764, 0.6313",\
                 "0.6391, 0.6333, 0.6246, 0.6215, 0.6201, 0.6212, 0.627, 0.6294, 0.6374, 0.7191",\
                 "0.6994, 0.6931, 0.6848, 0.6799, 0.679, 0.6783, 0.6835, 0.6897, 0.7072, 0.8469");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4101, 0.4054, 0.3996, 0.3979, 0.3991, 0.4018, 0.4042, 0.4066, 0.4083, 0.425",\
                 "0.4094, 0.4045, 0.399, 0.3981, 0.3993, 0.4018, 0.4043, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.406, 0.4004, 0.3988, 0.4, 0.4025, 0.405, 0.407, 0.41, 0.4269",\
                 "0.42, 0.415, 0.4093, 0.408, 0.4092, 0.4111, 0.4142, 0.4166, 0.419, 0.439",\
                 "0.4432, 0.4381, 0.4318, 0.4294, 0.4303, 0.4342, 0.4357, 0.438, 0.4425, 0.4611",\
                 "0.4793, 0.4738, 0.4671, 0.4655, 0.4649, 0.4675, 0.4696, 0.472, 0.4752, 0.5044",\
                 "0.5277, 0.5221, 0.5144, 0.5109, 0.513, 0.515, 0.5165, 0.5207, 0.5256, 0.5626",\
                 "0.5819, 0.5762, 0.5683, 0.5649, 0.5635, 0.5681, 0.5696, 0.5709, 0.5783, 0.6316",\
                 "0.6391, 0.6332, 0.6246, 0.6215, 0.6192, 0.6212, 0.627, 0.6294, 0.6374, 0.7191",\
                 "0.6994, 0.6931, 0.685, 0.6799, 0.6786, 0.6784, 0.6835, 0.6897, 0.7072, 0.8469");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4101, 0.4054, 0.3996, 0.3979, 0.3991, 0.4018, 0.4042, 0.4066, 0.4083, 0.425",\
                 "0.4094, 0.4045, 0.399, 0.3981, 0.3993, 0.4018, 0.4043, 0.4063, 0.409, 0.4253",\
                 "0.4107, 0.406, 0.4004, 0.3988, 0.4, 0.4025, 0.405, 0.407, 0.41, 0.4269",\
                 "0.42, 0.415, 0.4093, 0.408, 0.4092, 0.4111, 0.4142, 0.4166, 0.419, 0.439",\
                 "0.4432, 0.4381, 0.4318, 0.4294, 0.4303, 0.4342, 0.4357, 0.438, 0.4425, 0.4611",\
                 "0.4793, 0.4738, 0.4671, 0.4655, 0.4649, 0.4675, 0.4696, 0.472, 0.4752, 0.5044",\
                 "0.5277, 0.5221, 0.5144, 0.5109, 0.513, 0.515, 0.5165, 0.5207, 0.5256, 0.5626",\
                 "0.5819, 0.5762, 0.5683, 0.5649, 0.5635, 0.5681, 0.5696, 0.5709, 0.5783, 0.6316",\
                 "0.6391, 0.6332, 0.6246, 0.6215, 0.6192, 0.6212, 0.627, 0.6294, 0.6374, 0.7191",\
                 "0.6994, 0.6931, 0.685, 0.6799, 0.6786, 0.6784, 0.6835, 0.6897, 0.7072, 0.8469");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.41, 0.4053, 0.3992, 0.3978, 0.3991, 0.4024, 0.4046, 0.4069, 0.4093, 0.426",\
                 "0.4095, 0.4045, 0.399, 0.3981, 0.3993, 0.4011, 0.4033, 0.4063, 0.409, 0.4253",\
                 "0.4108, 0.4058, 0.4003, 0.3988, 0.4001, 0.4032, 0.405, 0.407, 0.4114, 0.4253",\
                 "0.4198, 0.4148, 0.4095, 0.4076, 0.4091, 0.4114, 0.4142, 0.4162, 0.42, 0.4386",\
                 "0.4432, 0.4379, 0.4318, 0.4292, 0.4303, 0.4335, 0.4357, 0.438, 0.4425, 0.4611",\
                 "0.4792, 0.4738, 0.4672, 0.4645, 0.4647, 0.4675, 0.47, 0.472, 0.4759, 0.5038",\
                 "0.5276, 0.522, 0.5142, 0.5114, 0.5132, 0.514, 0.5162, 0.5204, 0.5239, 0.5633",\
                 "0.582, 0.576, 0.568, 0.564, 0.563, 0.5678, 0.5693, 0.5715, 0.5787, 0.6313",\
                 "0.6392, 0.633, 0.6245, 0.6208, 0.6195, 0.6212, 0.627, 0.6311, 0.6371, 0.7226",\
                 "0.6995, 0.6932, 0.6845, 0.6793, 0.6784, 0.6784, 0.6825, 0.691, 0.7072, 0.8469");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.41, 0.4053, 0.3992, 0.3978, 0.3991, 0.4024, 0.4046, 0.4069, 0.4093, 0.426",\
                 "0.4095, 0.4045, 0.399, 0.3981, 0.3993, 0.4011, 0.4033, 0.4063, 0.409, 0.4253",\
                 "0.4108, 0.4058, 0.4003, 0.3988, 0.4001, 0.4032, 0.405, 0.407, 0.4114, 0.4253",\
                 "0.4198, 0.4148, 0.4095, 0.4076, 0.4091, 0.4114, 0.4142, 0.4162, 0.42, 0.4386",\
                 "0.4432, 0.4379, 0.4318, 0.4292, 0.4303, 0.4335, 0.4357, 0.438, 0.4425, 0.4611",\
                 "0.4792, 0.4738, 0.4672, 0.4645, 0.4647, 0.4675, 0.47, 0.472, 0.4759, 0.5038",\
                 "0.5276, 0.522, 0.5142, 0.5114, 0.5132, 0.514, 0.5162, 0.5204, 0.5239, 0.5633",\
                 "0.582, 0.576, 0.568, 0.564, 0.563, 0.5678, 0.5693, 0.5715, 0.5787, 0.6313",\
                 "0.6392, 0.633, 0.6245, 0.6208, 0.6195, 0.6212, 0.627, 0.6311, 0.6371, 0.7226",\
                 "0.6995, 0.6932, 0.6845, 0.6793, 0.6784, 0.6784, 0.6825, 0.691, 0.7072, 0.8469");
        }
      }

      internal_power() {
        related_pin : "SETN" ;
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4098, 0.4051, 0.3996, 0.3979, 0.3991, 0.4018, 0.4042, 0.4066, 0.4083, 0.425",\
                 "0.4094, 0.4045, 0.399, 0.3975, 0.3985, 0.4018, 0.4043, 0.4063, 0.409, 0.4253",\
                 "0.4108, 0.406, 0.4004, 0.3988, 0.4001, 0.4025, 0.405, 0.407, 0.4101, 0.4246",\
                 "0.42, 0.415, 0.4092, 0.4081, 0.4092, 0.4117, 0.4142, 0.4165, 0.419, 0.4389",\
                 "0.4431, 0.4379, 0.4317, 0.4295, 0.4303, 0.4342, 0.435, 0.438, 0.4435, 0.463",\
                 "0.4792, 0.4736, 0.4671, 0.4655, 0.4649, 0.4675, 0.4696, 0.472, 0.4752, 0.5044",\
                 "0.5274, 0.5217, 0.5144, 0.5108, 0.513, 0.514, 0.5175, 0.5204, 0.5236, 0.5632",\
                 "0.5819, 0.5761, 0.5682, 0.5635, 0.5634, 0.5681, 0.5699, 0.5715, 0.5767, 0.631",\
                 "0.6391, 0.6333, 0.6248, 0.6206, 0.6198, 0.6209, 0.6274, 0.6294, 0.6371, 0.7204",\
                 "0.6994, 0.6931, 0.6849, 0.6799, 0.6786, 0.6783, 0.6831, 0.6904, 0.7092, 0.8447");
          /* SiliconSmart: placeholder for Liberty-required model for which no measurement is available. */
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.4098, 0.4051, 0.3996, 0.3979, 0.3991, 0.4018, 0.4042, 0.4066, 0.4083, 0.425",\
                 "0.4094, 0.4045, 0.399, 0.3975, 0.3985, 0.4018, 0.4043, 0.4063, 0.409, 0.4253",\
                 "0.4108, 0.406, 0.4004, 0.3988, 0.4001, 0.4025, 0.405, 0.407, 0.4101, 0.4246",\
                 "0.42, 0.415, 0.4092, 0.4081, 0.4092, 0.4117, 0.4142, 0.4165, 0.419, 0.4389",\
                 "0.4431, 0.4379, 0.4317, 0.4295, 0.4303, 0.4342, 0.435, 0.438, 0.4435, 0.463",\
                 "0.4792, 0.4736, 0.4671, 0.4655, 0.4649, 0.4675, 0.4696, 0.472, 0.4752, 0.5044",\
                 "0.5274, 0.5217, 0.5144, 0.5108, 0.513, 0.514, 0.5175, 0.5204, 0.5236, 0.5632",\
                 "0.5819, 0.5761, 0.5682, 0.5635, 0.5634, 0.5681, 0.5699, 0.5715, 0.5767, 0.631",\
                 "0.6391, 0.6333, 0.6248, 0.6206, 0.6198, 0.6209, 0.6274, 0.6294, 0.6371, 0.7204",\
                 "0.6994, 0.6931, 0.6849, 0.6799, 0.6786, 0.6783, 0.6831, 0.6904, 0.7092, 0.8447");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b0 && SI===1'b1" ;
        timing_type : rising_edge ;
        when : "!D&SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.082, 1.121, 1.217, 1.357, 1.555, 1.828, 2.186, 2.636, 3.187, 3.843",\
                 "1.096, 1.135, 1.231, 1.371, 1.569, 1.842, 2.2, 2.65, 3.201, 3.857",\
                 "1.147, 1.186, 1.281, 1.422, 1.62, 1.892, 2.25, 2.701, 3.251, 3.907",\
                 "1.222, 1.261, 1.357, 1.498, 1.696, 1.968, 2.326, 2.777, 3.327, 3.983",\
                 "1.283, 1.322, 1.418, 1.558, 1.756, 2.029, 2.387, 2.837, 3.388, 4.043",\
                 "1.324, 1.363, 1.459, 1.6, 1.798, 2.07, 2.428, 2.879, 3.429, 4.085",\
                 "1.343, 1.382, 1.478, 1.618, 1.816, 2.089, 2.447, 2.897, 3.448, 4.104",\
                 "1.336, 1.375, 1.471, 1.611, 1.809, 2.082, 2.44, 2.891, 3.441, 4.096",\
                 "1.3, 1.338, 1.434, 1.575, 1.772, 2.045, 2.403, 2.853, 3.404, 4.06",\
                 "1.231, 1.27, 1.366, 1.506, 1.705, 1.977, 2.335, 2.785, 3.336, 3.991");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.006, 1.049, 1.173, 1.397, 1.747, 2.238, 2.884, 3.699, 4.693, 5.876",\
                 "1.019, 1.063, 1.186, 1.411, 1.761, 2.252, 2.898, 3.713, 4.707, 5.89",\
                 "1.07, 1.113, 1.237, 1.462, 1.812, 2.303, 2.949, 3.763, 4.757, 5.941",\
                 "1.148, 1.191, 1.315, 1.539, 1.889, 2.381, 3.027, 3.841, 4.835, 6.02",\
                 "1.212, 1.255, 1.379, 1.603, 1.953, 2.445, 3.091, 3.905, 4.899, 6.084",\
                 "1.258, 1.301, 1.424, 1.648, 1.999, 2.49, 3.136, 3.951, 4.944, 6.129",\
                 "1.282, 1.326, 1.449, 1.673, 2.023, 2.514, 3.161, 3.975, 4.968, 6.153",\
                 "1.283, 1.326, 1.449, 1.674, 2.024, 2.515, 3.161, 3.975, 4.968, 6.155",\
                 "1.255, 1.298, 1.421, 1.646, 1.996, 2.487, 3.133, 3.948, 4.941, 6.124",\
                 "1.197, 1.24, 1.363, 1.588, 1.938, 2.429, 3.075, 3.889, 4.883, 6.067");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.0966, 0.1322, 0.233, 0.4164, 0.7248, 1.176, 1.774, 2.532, 3.457, 4.561",\
                 "0.097, 0.132, 0.2332, 0.4162, 0.7248, 1.175, 1.773, 2.532, 3.457, 4.562",\
                 "0.0966, 0.132, 0.233, 0.4166, 0.7244, 1.175, 1.775, 2.53, 3.455, 4.558",\
                 "0.0966, 0.1324, 0.2328, 0.4162, 0.725, 1.174, 1.773, 2.531, 3.458, 4.562",\
                 "0.0966, 0.132, 0.233, 0.4164, 0.7234, 1.176, 1.775, 2.53, 3.455, 4.558",\
                 "0.0968, 0.1318, 0.2328, 0.4162, 0.7234, 1.176, 1.774, 2.531, 3.456, 4.559",\
                 "0.0964, 0.132, 0.233, 0.4162, 0.7248, 1.173, 1.773, 2.53, 3.456, 4.562",\
                 "0.0966, 0.1318, 0.2328, 0.4162, 0.7234, 1.175, 1.772, 2.531, 3.45, 4.552",\
                 "0.0968, 0.132, 0.2326, 0.4162, 0.7238, 1.175, 1.772, 2.528, 3.451, 4.551",\
                 "0.0964, 0.1318, 0.2322, 0.4162, 0.724, 1.176, 1.773, 2.53, 3.454, 4.552");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.0988, 0.152, 0.3378, 0.7276, 1.344, 2.209, 3.349, 4.782, 6.533, 8.628",\
                 "0.0988, 0.152, 0.3378, 0.7276, 1.343, 2.209, 3.349, 4.782, 6.534, 8.628",\
                 "0.0988, 0.1524, 0.3378, 0.7278, 1.343, 2.209, 3.349, 4.782, 6.533, 8.628",\
                 "0.0986, 0.1524, 0.3382, 0.7276, 1.345, 2.208, 3.349, 4.781, 6.536, 8.623",\
                 "0.0986, 0.1524, 0.3382, 0.7278, 1.345, 2.207, 3.349, 4.782, 6.535, 8.624",\
                 "0.0988, 0.1524, 0.338, 0.7276, 1.345, 2.209, 3.348, 4.78, 6.536, 8.629",\
                 "0.0988, 0.1522, 0.3378, 0.7278, 1.344, 2.206, 3.346, 4.78, 6.536, 8.629",\
                 "0.0992, 0.1526, 0.338, 0.7276, 1.342, 2.209, 3.344, 4.781, 6.533, 8.624",\
                 "0.0992, 0.1522, 0.3384, 0.7272, 1.345, 2.209, 3.347, 4.779, 6.532, 8.619",\
                 "0.0994, 0.1534, 0.3386, 0.7272, 1.344, 2.208, 3.348, 4.78, 6.531, 8.617");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "SE===1'b0 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "!SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.082, 1.121, 1.217, 1.357, 1.555, 1.828, 2.186, 2.636, 3.187, 3.843",\
                 "1.096, 1.135, 1.231, 1.371, 1.569, 1.842, 2.2, 2.65, 3.201, 3.857",\
                 "1.147, 1.186, 1.281, 1.422, 1.62, 1.893, 2.251, 2.701, 3.252, 3.907",\
                 "1.222, 1.261, 1.357, 1.498, 1.696, 1.968, 2.326, 2.777, 3.327, 3.983",\
                 "1.283, 1.322, 1.418, 1.558, 1.756, 2.029, 2.386, 2.837, 3.387, 4.044",\
                 "1.324, 1.363, 1.459, 1.6, 1.798, 2.07, 2.428, 2.879, 3.429, 4.085",\
                 "1.343, 1.382, 1.478, 1.618, 1.816, 2.089, 2.447, 2.897, 3.448, 4.104",\
                 "1.336, 1.375, 1.471, 1.611, 1.809, 2.082, 2.44, 2.891, 3.441, 4.096",\
                 "1.3, 1.338, 1.434, 1.575, 1.773, 2.045, 2.403, 2.854, 3.404, 4.06",\
                 "1.231, 1.27, 1.366, 1.507, 1.705, 1.977, 2.335, 2.786, 3.336, 3.992");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.006, 1.049, 1.173, 1.397, 1.747, 2.238, 2.884, 3.699, 4.693, 5.876",\
                 "1.02, 1.063, 1.187, 1.411, 1.761, 2.252, 2.898, 3.713, 4.707, 5.89",\
                 "1.07, 1.114, 1.237, 1.461, 1.811, 2.303, 2.949, 3.763, 4.757, 5.941",\
                 "1.148, 1.191, 1.315, 1.539, 1.889, 2.381, 3.027, 3.841, 4.835, 6.021",\
                 "1.212, 1.255, 1.379, 1.603, 1.953, 2.445, 3.091, 3.905, 4.898, 6.085",\
                 "1.257, 1.3, 1.424, 1.648, 1.999, 2.49, 3.136, 3.95, 4.945, 6.129",\
                 "1.282, 1.325, 1.448, 1.673, 2.023, 2.514, 3.161, 3.975, 4.969, 6.154",\
                 "1.282, 1.326, 1.449, 1.674, 2.024, 2.515, 3.161, 3.975, 4.969, 6.156",\
                 "1.254, 1.298, 1.421, 1.646, 1.996, 2.487, 3.134, 3.948, 4.941, 6.124",\
                 "1.196, 1.24, 1.363, 1.588, 1.938, 2.429, 3.075, 3.889, 4.883, 6.067");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.0966, 0.1318, 0.2328, 0.4162, 0.724, 1.176, 1.774, 2.532, 3.457, 4.561",\
                 "0.097, 0.132, 0.2332, 0.4162, 0.7248, 1.175, 1.773, 2.532, 3.457, 4.562",\
                 "0.0966, 0.1322, 0.233, 0.4162, 0.7238, 1.175, 1.773, 2.53, 3.455, 4.558",\
                 "0.097, 0.132, 0.233, 0.4162, 0.7248, 1.175, 1.775, 2.53, 3.455, 4.558",\
                 "0.0968, 0.132, 0.2328, 0.4162, 0.725, 1.175, 1.774, 2.532, 3.457, 4.562",\
                 "0.0966, 0.1318, 0.2326, 0.416, 0.7234, 1.175, 1.774, 2.53, 3.456, 4.559",\
                 "0.0964, 0.1322, 0.2326, 0.4162, 0.7248, 1.173, 1.773, 2.528, 3.454, 4.561",\
                 "0.0966, 0.1318, 0.2326, 0.4162, 0.7248, 1.176, 1.773, 2.528, 3.451, 4.552",\
                 "0.0964, 0.132, 0.233, 0.416, 0.7238, 1.175, 1.772, 2.528, 3.454, 4.551",\
                 "0.0968, 0.132, 0.233, 0.416, 0.7248, 1.175, 1.773, 2.53, 3.454, 4.554");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.0988, 0.152, 0.3378, 0.7278, 1.343, 2.209, 3.349, 4.782, 6.534, 8.628",\
                 "0.0986, 0.1524, 0.3378, 0.7274, 1.343, 2.209, 3.349, 4.782, 6.533, 8.628",\
                 "0.0986, 0.152, 0.3378, 0.7274, 1.345, 2.209, 3.345, 4.782, 6.534, 8.628",\
                 "0.0988, 0.152, 0.3382, 0.727, 1.344, 2.209, 3.348, 4.785, 6.533, 8.625",\
                 "0.0984, 0.1524, 0.3382, 0.7278, 1.344, 2.209, 3.348, 4.79, 6.535, 8.621",\
                 "0.0988, 0.1522, 0.3378, 0.7272, 1.345, 2.209, 3.35, 4.781, 6.534, 8.62",\
                 "0.0986, 0.1524, 0.3382, 0.7276, 1.343, 2.206, 3.349, 4.786, 6.536, 8.629",\
                 "0.099, 0.1522, 0.3384, 0.7278, 1.344, 2.209, 3.345, 4.784, 6.53, 8.624",\
                 "0.099, 0.1528, 0.3384, 0.7272, 1.342, 2.209, 3.345, 4.779, 6.532, 8.62",\
                 "0.0996, 0.1532, 0.3386, 0.7272, 1.345, 2.21, 3.346, 4.78, 6.529, 8.617");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b0 && SI===1'b1 || D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_type : rising_edge ;
        when : "D&!SE&SI | !D&SE&!SI" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.082, 1.121, 1.217, 1.357, 1.555, 1.828, 2.186, 2.636, 3.187, 3.843",\
                 "1.096, 1.135, 1.231, 1.371, 1.569, 1.842, 2.2, 2.651, 3.201, 3.856",\
                 "1.147, 1.186, 1.282, 1.422, 1.62, 1.893, 2.251, 2.701, 3.251, 3.908",\
                 "1.222, 1.261, 1.357, 1.498, 1.696, 1.968, 2.326, 2.777, 3.327, 3.983",\
                 "1.283, 1.322, 1.418, 1.558, 1.756, 2.029, 2.387, 2.837, 3.387, 4.043",\
                 "1.324, 1.363, 1.459, 1.6, 1.798, 2.07, 2.428, 2.879, 3.429, 4.085",\
                 "1.343, 1.382, 1.478, 1.619, 1.817, 2.089, 2.447, 2.898, 3.448, 4.104",\
                 "1.336, 1.375, 1.471, 1.612, 1.809, 2.082, 2.44, 2.891, 3.441, 4.097",\
                 "1.3, 1.338, 1.434, 1.575, 1.773, 2.045, 2.403, 2.854, 3.404, 4.06",\
                 "1.231, 1.27, 1.366, 1.507, 1.705, 1.977, 2.335, 2.786, 3.336, 3.992");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.006, 1.049, 1.173, 1.397, 1.747, 2.239, 2.884, 3.699, 4.692, 5.878",\
                 "1.02, 1.063, 1.187, 1.411, 1.761, 2.252, 2.898, 3.713, 4.707, 5.89",\
                 "1.07, 1.114, 1.237, 1.461, 1.811, 2.303, 2.949, 3.763, 4.757, 5.941",\
                 "1.148, 1.191, 1.315, 1.539, 1.889, 2.381, 3.027, 3.841, 4.834, 6.021",\
                 "1.212, 1.255, 1.379, 1.603, 1.953, 2.445, 3.091, 3.905, 4.899, 6.083",\
                 "1.257, 1.301, 1.424, 1.649, 1.999, 2.49, 3.136, 3.95, 4.945, 6.129",\
                 "1.282, 1.326, 1.449, 1.673, 2.024, 2.515, 3.161, 3.975, 4.968, 6.155",\
                 "1.283, 1.326, 1.45, 1.674, 2.024, 2.515, 3.161, 3.975, 4.969, 6.156",\
                 "1.254, 1.298, 1.422, 1.646, 1.996, 2.487, 3.133, 3.948, 4.941, 6.125",\
                 "1.196, 1.24, 1.364, 1.588, 1.938, 2.429, 3.075, 3.889, 4.883, 6.067");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.097, 0.132, 0.233, 0.4162, 0.725, 1.175, 1.775, 2.531, 3.457, 4.562",\
                 "0.0968, 0.132, 0.233, 0.4166, 0.7246, 1.175, 1.775, 2.53, 3.455, 4.558",\
                 "0.0968, 0.132, 0.233, 0.4162, 0.7246, 1.176, 1.774, 2.532, 3.457, 4.561",\
                 "0.0968, 0.132, 0.2326, 0.4164, 0.7248, 1.176, 1.773, 2.531, 3.458, 4.562",\
                 "0.0966, 0.1322, 0.2326, 0.4162, 0.725, 1.176, 1.775, 2.53, 3.457, 4.561",\
                 "0.0966, 0.132, 0.233, 0.416, 0.7234, 1.174, 1.774, 2.531, 3.458, 4.562",\
                 "0.0966, 0.132, 0.2326, 0.4166, 0.7246, 1.173, 1.772, 2.529, 3.456, 4.561",\
                 "0.0966, 0.132, 0.2328, 0.4162, 0.7234, 1.175, 1.772, 2.531, 3.45, 4.552",\
                 "0.0964, 0.1322, 0.2326, 0.4162, 0.7244, 1.175, 1.773, 2.53, 3.454, 4.551",\
                 "0.097, 0.1318, 0.2328, 0.4162, 0.7242, 1.176, 1.773, 2.529, 3.454, 4.552");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.0988, 0.1524, 0.3378, 0.727, 1.345, 2.209, 3.349, 4.782, 6.536, 8.629",\
                 "0.0986, 0.1524, 0.3378, 0.7278, 1.343, 2.209, 3.349, 4.782, 6.534, 8.628",\
                 "0.0988, 0.152, 0.3378, 0.7276, 1.344, 2.209, 3.349, 4.782, 6.533, 8.628",\
                 "0.099, 0.152, 0.3382, 0.7274, 1.342, 2.208, 3.346, 4.79, 6.536, 8.624",\
                 "0.0984, 0.1524, 0.338, 0.728, 1.343, 2.207, 3.347, 4.781, 6.536, 8.629",\
                 "0.0984, 0.1524, 0.3378, 0.7276, 1.343, 2.209, 3.35, 4.782, 6.532, 8.621",\
                 "0.0988, 0.152, 0.338, 0.728, 1.343, 2.207, 3.348, 4.789, 6.536, 8.624",\
                 "0.098, 0.1526, 0.3382, 0.7274, 1.343, 2.21, 3.345, 4.782, 6.533, 8.626",\
                 "0.099, 0.1526, 0.3382, 0.7272, 1.345, 2.207, 3.35, 4.779, 6.532, 8.622",\
                 "0.1, 0.1526, 0.3386, 0.7272, 1.343, 2.209, 3.346, 4.78, 6.531, 8.618");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "D===1'b1 && SE===1'b1" ;
        timing_type : rising_edge ;
        when : "D&SE" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.082, 1.121, 1.217, 1.357, 1.555, 1.828, 2.186, 2.636, 3.187, 3.843",\
                 "1.096, 1.135, 1.231, 1.371, 1.569, 1.842, 2.2, 2.65, 3.201, 3.857",\
                 "1.147, 1.186, 1.282, 1.422, 1.62, 1.892, 2.25, 2.701, 3.252, 3.907",\
                 "1.222, 1.261, 1.357, 1.498, 1.696, 1.968, 2.326, 2.777, 3.327, 3.983",\
                 "1.283, 1.322, 1.417, 1.558, 1.756, 2.028, 2.386, 2.837, 3.387, 4.043",\
                 "1.324, 1.363, 1.459, 1.6, 1.798, 2.07, 2.428, 2.879, 3.429, 4.085",\
                 "1.343, 1.382, 1.478, 1.618, 1.816, 2.089, 2.447, 2.897, 3.448, 4.104",\
                 "1.336, 1.375, 1.471, 1.611, 1.809, 2.082, 2.44, 2.891, 3.441, 4.096",\
                 "1.3, 1.338, 1.434, 1.575, 1.773, 2.045, 2.403, 2.854, 3.404, 4.06",\
                 "1.231, 1.27, 1.366, 1.507, 1.705, 1.977, 2.335, 2.786, 3.336, 3.992");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.006, 1.049, 1.173, 1.397, 1.747, 2.238, 2.884, 3.699, 4.693, 5.876",\
                 "1.02, 1.063, 1.187, 1.411, 1.761, 2.252, 2.898, 3.713, 4.707, 5.89",\
                 "1.07, 1.114, 1.237, 1.461, 1.812, 2.303, 2.949, 3.763, 4.757, 5.941",\
                 "1.148, 1.191, 1.314, 1.539, 1.889, 2.381, 3.027, 3.841, 4.835, 6.02",\
                 "1.212, 1.255, 1.378, 1.603, 1.953, 2.445, 3.091, 3.905, 4.899, 6.082",\
                 "1.257, 1.301, 1.424, 1.648, 1.999, 2.49, 3.136, 3.95, 4.945, 6.129",\
                 "1.282, 1.325, 1.449, 1.673, 2.023, 2.515, 3.161, 3.975, 4.969, 6.154",\
                 "1.282, 1.326, 1.45, 1.674, 2.024, 2.515, 3.161, 3.975, 4.968, 6.155",\
                 "1.255, 1.298, 1.422, 1.646, 1.996, 2.488, 3.134, 3.948, 4.941, 6.125",\
                 "1.197, 1.24, 1.364, 1.588, 1.938, 2.43, 3.075, 3.889, 4.883, 6.067");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.0966, 0.1322, 0.2328, 0.4162, 0.7234, 1.176, 1.774, 2.532, 3.457, 4.561",\
                 "0.097, 0.132, 0.233, 0.4162, 0.725, 1.175, 1.773, 2.532, 3.457, 4.562",\
                 "0.0966, 0.132, 0.233, 0.4162, 0.7244, 1.175, 1.775, 2.53, 3.455, 4.558",\
                 "0.0964, 0.132, 0.233, 0.4166, 0.725, 1.175, 1.775, 2.53, 3.455, 4.559",\
                 "0.0968, 0.132, 0.2326, 0.4164, 0.7244, 1.176, 1.775, 2.53, 3.458, 4.562",\
                 "0.0966, 0.132, 0.2324, 0.416, 0.7234, 1.174, 1.774, 2.531, 3.458, 4.562",\
                 "0.0964, 0.1324, 0.2328, 0.4158, 0.7246, 1.173, 1.772, 2.53, 3.456, 4.562",\
                 "0.0966, 0.1318, 0.2326, 0.4164, 0.7234, 1.175, 1.772, 2.531, 3.451, 4.552",\
                 "0.0964, 0.132, 0.2324, 0.4164, 0.725, 1.175, 1.772, 2.528, 3.453, 4.551",\
                 "0.097, 0.1322, 0.2326, 0.4164, 0.724, 1.176, 1.773, 2.53, 3.453, 4.552");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.0988, 0.1524, 0.3378, 0.7278, 1.343, 2.209, 3.349, 4.782, 6.534, 8.628",\
                 "0.0988, 0.1524, 0.3378, 0.728, 1.345, 2.208, 3.349, 4.782, 6.534, 8.628",\
                 "0.0988, 0.1518, 0.3378, 0.7274, 1.343, 2.209, 3.349, 4.782, 6.534, 8.628",\
                 "0.0988, 0.152, 0.3382, 0.7272, 1.345, 2.207, 3.346, 4.78, 6.536, 8.629",\
                 "0.0984, 0.1524, 0.3382, 0.7272, 1.344, 2.208, 3.349, 4.782, 6.533, 8.628",\
                 "0.0986, 0.1526, 0.3378, 0.7276, 1.342, 2.21, 3.35, 4.778, 6.534, 8.62",\
                 "0.0986, 0.1524, 0.3384, 0.7278, 1.343, 2.206, 3.348, 4.781, 6.536, 8.629",\
                 "0.099, 0.1522, 0.3382, 0.727, 1.344, 2.209, 3.344, 4.781, 6.536, 8.624",\
                 "0.0984, 0.1526, 0.3382, 0.7272, 1.345, 2.208, 3.345, 4.779, 6.532, 8.624",\
                 "0.0994, 0.153, 0.3384, 0.7272, 1.345, 2.21, 3.348, 4.779, 6.531, 8.617");
        }
      }

      timing() {
        related_pin : "CLK" ;
        timing_type : rising_edge ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.082, 1.121, 1.217, 1.357, 1.555, 1.828, 2.186, 2.636, 3.187, 3.843",\
                 "1.096, 1.135, 1.231, 1.371, 1.569, 1.842, 2.2, 2.65, 3.201, 3.857",\
                 "1.147, 1.186, 1.282, 1.422, 1.62, 1.892, 2.25, 2.701, 3.252, 3.907",\
                 "1.222, 1.261, 1.357, 1.498, 1.696, 1.968, 2.326, 2.777, 3.327, 3.983",\
                 "1.283, 1.322, 1.417, 1.558, 1.756, 2.028, 2.386, 2.837, 3.387, 4.043",\
                 "1.324, 1.363, 1.459, 1.6, 1.798, 2.07, 2.428, 2.879, 3.429, 4.085",\
                 "1.343, 1.382, 1.478, 1.618, 1.816, 2.089, 2.447, 2.897, 3.448, 4.104",\
                 "1.336, 1.375, 1.471, 1.611, 1.809, 2.082, 2.44, 2.891, 3.441, 4.096",\
                 "1.3, 1.338, 1.434, 1.575, 1.773, 2.045, 2.403, 2.854, 3.404, 4.06",\
                 "1.231, 1.27, 1.366, 1.507, 1.705, 1.977, 2.335, 2.786, 3.336, 3.992");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("1.006, 1.049, 1.173, 1.397, 1.747, 2.238, 2.884, 3.699, 4.693, 5.876",\
                 "1.02, 1.063, 1.187, 1.411, 1.761, 2.252, 2.898, 3.713, 4.707, 5.89",\
                 "1.07, 1.114, 1.237, 1.461, 1.811, 2.303, 2.949, 3.763, 4.757, 5.941",\
                 "1.148, 1.191, 1.315, 1.539, 1.889, 2.381, 3.027, 3.841, 4.835, 6.021",\
                 "1.212, 1.255, 1.379, 1.603, 1.953, 2.445, 3.091, 3.905, 4.898, 6.085",\
                 "1.257, 1.3, 1.424, 1.648, 1.999, 2.49, 3.136, 3.95, 4.945, 6.129",\
                 "1.282, 1.325, 1.448, 1.673, 2.023, 2.514, 3.161, 3.975, 4.969, 6.154",\
                 "1.282, 1.326, 1.449, 1.674, 2.024, 2.515, 3.161, 3.975, 4.969, 6.156",\
                 "1.254, 1.298, 1.421, 1.646, 1.996, 2.487, 3.134, 3.948, 4.941, 6.124",\
                 "1.196, 1.24, 1.363, 1.588, 1.938, 2.429, 3.075, 3.889, 4.883, 6.067");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.097, 0.132, 0.233, 0.4162, 0.725, 1.175, 1.775, 2.531, 3.457, 4.562",\
                 "0.0968, 0.132, 0.233, 0.4166, 0.7246, 1.175, 1.775, 2.53, 3.455, 4.558",\
                 "0.0968, 0.132, 0.233, 0.4162, 0.7246, 1.176, 1.774, 2.532, 3.457, 4.561",\
                 "0.0968, 0.132, 0.2326, 0.4164, 0.7248, 1.176, 1.773, 2.531, 3.458, 4.562",\
                 "0.0966, 0.1322, 0.2326, 0.4162, 0.725, 1.176, 1.775, 2.53, 3.457, 4.561",\
                 "0.0966, 0.132, 0.233, 0.416, 0.7234, 1.174, 1.774, 2.531, 3.458, 4.562",\
                 "0.0966, 0.132, 0.2326, 0.4166, 0.7246, 1.173, 1.772, 2.529, 3.456, 4.561",\
                 "0.0966, 0.132, 0.2328, 0.4162, 0.7234, 1.175, 1.772, 2.531, 3.45, 4.552",\
                 "0.0964, 0.1322, 0.2326, 0.4162, 0.7244, 1.175, 1.773, 2.53, 3.454, 4.551",\
                 "0.097, 0.1318, 0.2328, 0.4162, 0.7242, 1.176, 1.773, 2.529, 3.454, 4.552");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.0988, 0.1524, 0.3378, 0.7278, 1.343, 2.209, 3.349, 4.782, 6.534, 8.628",\
                 "0.0988, 0.1524, 0.3378, 0.728, 1.345, 2.208, 3.349, 4.782, 6.534, 8.628",\
                 "0.0988, 0.1518, 0.3378, 0.7274, 1.343, 2.209, 3.349, 4.782, 6.534, 8.628",\
                 "0.0988, 0.152, 0.3382, 0.7272, 1.345, 2.207, 3.346, 4.78, 6.536, 8.629",\
                 "0.0984, 0.1524, 0.3382, 0.7272, 1.344, 2.208, 3.349, 4.782, 6.533, 8.628",\
                 "0.0986, 0.1526, 0.3378, 0.7276, 1.342, 2.21, 3.35, 4.778, 6.534, 8.62",\
                 "0.0986, 0.1524, 0.3384, 0.7278, 1.343, 2.206, 3.348, 4.781, 6.536, 8.629",\
                 "0.099, 0.1522, 0.3382, 0.727, 1.344, 2.209, 3.344, 4.781, 6.536, 8.624",\
                 "0.0984, 0.1526, 0.3382, 0.7272, 1.345, 2.208, 3.345, 4.779, 6.532, 8.624",\
                 "0.0994, 0.153, 0.3384, 0.7272, 1.345, 2.21, 3.348, 4.779, 6.531, 8.617");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.9694, 1.014, 1.138, 1.361, 1.71, 2.201, 2.848, 3.662, 4.655, 5.841",\
                 "0.9864, 1.031, 1.156, 1.379, 1.729, 2.219, 2.865, 3.679, 4.673, 5.859",\
                 "1.053, 1.097, 1.222, 1.445, 1.795, 2.286, 2.932, 3.746, 4.739, 5.925",\
                 "1.188, 1.233, 1.357, 1.58, 1.93, 2.421, 3.067, 3.881, 4.874, 6.06",\
                 "1.399, 1.443, 1.568, 1.791, 2.14, 2.631, 3.277, 4.091, 5.085, 6.27",\
                 "1.663, 1.707, 1.832, 2.055, 2.405, 2.895, 3.541, 4.354, 5.348, 6.534",\
                 "1.967, 2.012, 2.138, 2.36, 2.709, 3.199, 3.845, 4.659, 5.653, 6.839",\
                 "2.316, 2.362, 2.488, 2.71, 3.059, 3.549, 4.195, 5.008, 6.003, 7.188",\
                 "2.708, 2.755, 2.882, 3.104, 3.451, 3.941, 4.587, 5.4, 6.393, 7.579",\
                 "3.141, 3.188, 3.316, 3.537, 3.885, 4.374, 5.02, 5.834, 6.827, 8.011");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.1047, 0.1581, 0.3408, 0.7274, 1.343, 2.208, 3.349, 4.781, 6.536, 8.628",\
                 "0.1054, 0.1584, 0.3404, 0.7288, 1.346, 2.208, 3.345, 4.781, 6.536, 8.628",\
                 "0.1048, 0.1588, 0.3406, 0.7272, 1.345, 2.209, 3.346, 4.781, 6.536, 8.628",\
                 "0.1056, 0.1584, 0.3408, 0.7274, 1.345, 2.207, 3.345, 4.779, 6.537, 8.629",\
                 "0.1054, 0.1584, 0.3408, 0.729, 1.343, 2.207, 3.347, 4.781, 6.536, 8.621",\
                 "0.107, 0.161, 0.3428, 0.7272, 1.346, 2.207, 3.346, 4.781, 6.536, 8.628",\
                 "0.1104, 0.1628, 0.3438, 0.7272, 1.343, 2.209, 3.348, 4.78, 6.532, 8.625",\
                 "0.1136, 0.1666, 0.3458, 0.7292, 1.344, 2.209, 3.349, 4.784, 6.535, 8.626",\
                 "0.1174, 0.1708, 0.3484, 0.7294, 1.343, 2.208, 3.346, 4.781, 6.532, 8.619",\
                 "0.1212, 0.175, 0.351, 0.7292, 1.344, 2.209, 3.344, 4.78, 6.532, 8.622");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.9694, 1.014, 1.138, 1.361, 1.71, 2.201, 2.848, 3.662, 4.655, 5.841",\
                 "0.9864, 1.031, 1.156, 1.379, 1.729, 2.219, 2.865, 3.679, 4.673, 5.859",\
                 "1.053, 1.097, 1.222, 1.445, 1.795, 2.286, 2.932, 3.746, 4.739, 5.925",\
                 "1.188, 1.232, 1.357, 1.58, 1.93, 2.42, 3.067, 3.881, 4.875, 6.059",\
                 "1.399, 1.443, 1.568, 1.791, 2.141, 2.631, 3.277, 4.091, 5.085, 6.272",\
                 "1.663, 1.708, 1.832, 2.055, 2.405, 2.895, 3.541, 4.354, 5.348, 6.534",\
                 "1.967, 2.013, 2.138, 2.361, 2.709, 3.199, 3.845, 4.659, 5.653, 6.837",\
                 "2.316, 2.362, 2.488, 2.711, 3.059, 3.549, 4.195, 5.009, 6.002, 7.189",\
                 "2.708, 2.755, 2.882, 3.104, 3.452, 3.942, 4.587, 5.4, 6.393, 7.578",\
                 "3.141, 3.188, 3.316, 3.537, 3.885, 4.374, 5.02, 5.834, 6.827, 8.011");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.1047, 0.1581, 0.3408, 0.7274, 1.343, 2.208, 3.349, 4.781, 6.536, 8.628",\
                 "0.1054, 0.1584, 0.3404, 0.7288, 1.346, 2.208, 3.345, 4.781, 6.536, 8.628",\
                 "0.1048, 0.1588, 0.3406, 0.7272, 1.345, 2.209, 3.346, 4.781, 6.536, 8.628",\
                 "0.1056, 0.1584, 0.3408, 0.7276, 1.345, 2.208, 3.347, 4.781, 6.535, 8.627",\
                 "0.1052, 0.1584, 0.3406, 0.7276, 1.346, 2.209, 3.35, 4.784, 6.533, 8.625",\
                 "0.107, 0.1606, 0.3428, 0.7272, 1.346, 2.207, 3.346, 4.781, 6.536, 8.628",\
                 "0.1104, 0.1634, 0.3442, 0.7282, 1.343, 2.209, 3.35, 4.779, 6.535, 8.619",\
                 "0.1136, 0.1664, 0.3462, 0.7282, 1.344, 2.207, 3.347, 4.781, 6.535, 8.624",\
                 "0.117, 0.1708, 0.349, 0.7288, 1.344, 2.207, 3.346, 4.781, 6.534, 8.621",\
                 "0.1212, 0.1742, 0.3518, 0.7292, 1.344, 2.208, 3.344, 4.78, 6.532, 8.622");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.9694, 1.014, 1.138, 1.361, 1.71, 2.201, 2.848, 3.662, 4.655, 5.841",\
                 "0.9865, 1.031, 1.156, 1.379, 1.729, 2.219, 2.865, 3.679, 4.673, 5.859",\
                 "1.053, 1.097, 1.222, 1.445, 1.795, 2.286, 2.932, 3.746, 4.739, 5.925",\
                 "1.188, 1.232, 1.357, 1.58, 1.93, 2.421, 3.067, 3.881, 4.874, 6.059",\
                 "1.399, 1.443, 1.568, 1.791, 2.14, 2.631, 3.277, 4.092, 5.086, 6.27",\
                 "1.662, 1.708, 1.833, 2.055, 2.405, 2.895, 3.541, 4.355, 5.348, 6.534",\
                 "1.967, 2.012, 2.138, 2.36, 2.709, 3.199, 3.845, 4.659, 5.653, 6.837",\
                 "2.316, 2.362, 2.488, 2.711, 3.059, 3.549, 4.195, 5.008, 6.003, 7.186",\
                 "2.708, 2.755, 2.882, 3.104, 3.451, 3.941, 4.587, 5.4, 6.393, 7.578",\
                 "3.141, 3.188, 3.316, 3.537, 3.885, 4.374, 5.02, 5.833, 6.826, 8.01");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.1047, 0.1581, 0.3406, 0.7274, 1.343, 2.208, 3.349, 4.781, 6.536, 8.628",\
                 "0.1056, 0.1584, 0.3406, 0.7288, 1.346, 2.208, 3.345, 4.781, 6.536, 8.628",\
                 "0.1048, 0.1588, 0.3406, 0.7272, 1.345, 2.209, 3.346, 4.781, 6.536, 8.628",\
                 "0.1056, 0.1584, 0.3408, 0.7276, 1.344, 2.208, 3.346, 4.78, 6.536, 8.629",\
                 "0.1054, 0.1584, 0.3406, 0.729, 1.343, 2.207, 3.348, 4.782, 6.531, 8.621",\
                 "0.107, 0.1604, 0.3422, 0.7272, 1.346, 2.207, 3.345, 4.78, 6.536, 8.629",\
                 "0.1102, 0.1628, 0.3436, 0.7278, 1.343, 2.209, 3.349, 4.779, 6.532, 8.627",\
                 "0.114, 0.1668, 0.3456, 0.7288, 1.344, 2.208, 3.344, 4.781, 6.534, 8.628",\
                 "0.1178, 0.1702, 0.3484, 0.7294, 1.343, 2.208, 3.346, 4.781, 6.534, 8.621",\
                 "0.1212, 0.175, 0.3516, 0.7292, 1.344, 2.209, 3.344, 4.779, 6.534, 8.62");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.9694, 1.014, 1.139, 1.362, 1.712, 2.202, 2.848, 3.662, 4.656, 5.843",\
                 "0.9865, 1.031, 1.156, 1.379, 1.728, 2.219, 2.865, 3.68, 4.674, 5.857",\
                 "1.053, 1.097, 1.222, 1.445, 1.794, 2.285, 2.931, 3.746, 4.74, 5.923",\
                 "1.188, 1.232, 1.357, 1.58, 1.93, 2.421, 3.067, 3.881, 4.874, 6.06",\
                 "1.399, 1.444, 1.568, 1.791, 2.14, 2.631, 3.277, 4.091, 5.085, 6.269",\
                 "1.663, 1.708, 1.832, 2.055, 2.405, 2.895, 3.541, 4.355, 5.348, 6.534",\
                 "1.967, 2.012, 2.138, 2.36, 2.709, 3.2, 3.845, 4.66, 5.654, 6.837",\
                 "2.316, 2.362, 2.489, 2.71, 3.059, 3.549, 4.194, 5.009, 6.002, 7.188",\
                 "2.708, 2.755, 2.881, 3.103, 3.451, 3.941, 4.587, 5.401, 6.394, 7.58",\
                 "3.14, 3.188, 3.316, 3.537, 3.884, 4.374, 5.02, 5.833, 6.826, 8.01");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.1047, 0.1585, 0.3406, 0.7272, 1.344, 2.209, 3.349, 4.786, 6.534, 8.623",\
                 "0.105, 0.1584, 0.3406, 0.7274, 1.343, 2.209, 3.349, 4.782, 6.532, 8.623",\
                 "0.105, 0.1584, 0.3406, 0.7288, 1.343, 2.209, 3.348, 4.782, 6.534, 8.624",\
                 "0.1052, 0.1584, 0.3406, 0.7272, 1.345, 2.207, 3.345, 4.78, 6.537, 8.629",\
                 "0.1054, 0.159, 0.3408, 0.729, 1.343, 2.208, 3.348, 4.781, 6.535, 8.626",\
                 "0.107, 0.1604, 0.342, 0.7278, 1.345, 2.207, 3.345, 4.78, 6.536, 8.629",\
                 "0.1098, 0.163, 0.3444, 0.7278, 1.342, 2.209, 3.349, 4.782, 6.533, 8.624",\
                 "0.113, 0.167, 0.3464, 0.7284, 1.344, 2.209, 3.35, 4.784, 6.535, 8.625",\
                 "0.117, 0.1706, 0.3482, 0.7292, 1.344, 2.208, 3.346, 4.784, 6.533, 8.624",\
                 "0.122, 0.1754, 0.3508, 0.7294, 1.344, 2.208, 3.346, 4.781, 6.532, 8.62");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.9694, 1.014, 1.139, 1.362, 1.711, 2.202, 2.848, 3.662, 4.656, 5.843",\
                 "0.9865, 1.031, 1.156, 1.379, 1.728, 2.219, 2.865, 3.68, 4.673, 5.857",\
                 "1.053, 1.097, 1.222, 1.445, 1.794, 2.285, 2.931, 3.746, 4.74, 5.923",\
                 "1.188, 1.232, 1.357, 1.58, 1.93, 2.421, 3.067, 3.881, 4.874, 6.06",\
                 "1.399, 1.444, 1.568, 1.791, 2.14, 2.631, 3.277, 4.091, 5.085, 6.269",\
                 "1.663, 1.708, 1.833, 2.055, 2.405, 2.895, 3.541, 4.355, 5.348, 6.534",\
                 "1.967, 2.012, 2.138, 2.361, 2.709, 3.2, 3.845, 4.66, 5.654, 6.839",\
                 "2.316, 2.362, 2.488, 2.71, 3.059, 3.549, 4.195, 5.009, 6.003, 7.187",\
                 "2.708, 2.755, 2.881, 3.103, 3.451, 3.941, 4.586, 5.4, 6.393, 7.578",\
                 "3.14, 3.188, 3.315, 3.537, 3.885, 4.374, 5.02, 5.833, 6.826, 8.011");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.1053, 0.1584, 0.3404, 0.7272, 1.343, 2.209, 3.349, 4.785, 6.533, 8.623",\
                 "0.105, 0.1584, 0.3406, 0.7274, 1.343, 2.209, 3.348, 4.782, 6.533, 8.624",\
                 "0.105, 0.1584, 0.3406, 0.7288, 1.343, 2.209, 3.348, 4.782, 6.534, 8.624",\
                 "0.1052, 0.1584, 0.3404, 0.727, 1.345, 2.207, 3.346, 4.78, 6.536, 8.629",\
                 "0.1054, 0.159, 0.3408, 0.7292, 1.343, 2.208, 3.348, 4.782, 6.535, 8.626",\
                 "0.1072, 0.1602, 0.342, 0.7278, 1.346, 2.207, 3.347, 4.78, 6.536, 8.629",\
                 "0.1102, 0.1634, 0.344, 0.728, 1.343, 2.209, 3.349, 4.782, 6.534, 8.626",\
                 "0.1132, 0.1664, 0.346, 0.728, 1.344, 2.209, 3.35, 4.787, 6.535, 8.621",\
                 "0.117, 0.1706, 0.3482, 0.7292, 1.343, 2.208, 3.346, 4.784, 6.533, 8.622",\
                 "0.1226, 0.1748, 0.351, 0.7302, 1.343, 2.209, 3.344, 4.779, 6.536, 8.622");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.9691, 1.014, 1.139, 1.362, 1.711, 2.202, 2.848, 3.662, 4.656, 5.841",\
                 "0.9865, 1.031, 1.156, 1.379, 1.728, 2.219, 2.865, 3.68, 4.673, 5.857",\
                 "1.053, 1.097, 1.222, 1.445, 1.794, 2.285, 2.931, 3.746, 4.74, 5.923",\
                 "1.188, 1.232, 1.357, 1.58, 1.93, 2.421, 3.067, 3.881, 4.874, 6.06",\
                 "1.399, 1.444, 1.568, 1.791, 2.14, 2.631, 3.277, 4.091, 5.085, 6.269",\
                 "1.663, 1.708, 1.832, 2.055, 2.405, 2.895, 3.541, 4.355, 5.348, 6.535",\
                 "1.967, 2.012, 2.138, 2.361, 2.709, 3.2, 3.846, 4.659, 5.652, 6.839",\
                 "2.316, 2.362, 2.488, 2.711, 3.059, 3.549, 4.195, 5.008, 6.003, 7.187",\
                 "2.708, 2.755, 2.881, 3.103, 3.451, 3.941, 4.586, 5.4, 6.393, 7.579",\
                 "3.14, 3.188, 3.316, 3.537, 3.885, 4.375, 5.019, 5.834, 6.826, 8.01");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.1051, 0.158, 0.3412, 0.7274, 1.344, 2.207, 3.346, 4.78, 6.536, 8.628",\
                 "0.105, 0.1584, 0.3406, 0.7274, 1.343, 2.209, 3.348, 4.782, 6.533, 8.624",\
                 "0.105, 0.1584, 0.3406, 0.729, 1.343, 2.209, 3.348, 4.782, 6.534, 8.625",\
                 "0.1052, 0.1584, 0.3406, 0.7272, 1.345, 2.207, 3.346, 4.78, 6.536, 8.629",\
                 "0.1054, 0.159, 0.3408, 0.729, 1.343, 2.208, 3.348, 4.781, 6.535, 8.626",\
                 "0.107, 0.1606, 0.343, 0.7272, 1.346, 2.206, 3.345, 4.781, 6.535, 8.625",\
                 "0.1098, 0.1632, 0.3446, 0.7278, 1.343, 2.209, 3.348, 4.78, 6.535, 8.626",\
                 "0.113, 0.1668, 0.3458, 0.7286, 1.344, 2.207, 3.345, 4.779, 6.533, 8.62",\
                 "0.117, 0.1706, 0.3482, 0.7292, 1.343, 2.207, 3.345, 4.784, 6.533, 8.624",\
                 "0.1216, 0.175, 0.3508, 0.7302, 1.344, 2.21, 3.345, 4.78, 6.532, 8.622");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.9694, 1.014, 1.138, 1.361, 1.71, 2.201, 2.848, 3.662, 4.655, 5.841",\
                 "0.9865, 1.031, 1.156, 1.379, 1.729, 2.219, 2.865, 3.679, 4.673, 5.859",\
                 "1.053, 1.097, 1.222, 1.445, 1.795, 2.286, 2.932, 3.746, 4.739, 5.925",\
                 "1.188, 1.232, 1.357, 1.58, 1.93, 2.421, 3.066, 3.881, 4.875, 6.059",\
                 "1.399, 1.443, 1.568, 1.791, 2.141, 2.631, 3.277, 4.091, 5.084, 6.269",\
                 "1.662, 1.707, 1.833, 2.055, 2.404, 2.895, 3.541, 4.355, 5.348, 6.534",\
                 "1.967, 2.012, 2.138, 2.361, 2.709, 3.199, 3.845, 4.659, 5.653, 6.839",\
                 "2.316, 2.362, 2.489, 2.711, 3.058, 3.549, 4.195, 5.008, 6.002, 7.188",\
                 "2.708, 2.755, 2.882, 3.104, 3.452, 3.942, 4.587, 5.4, 6.393, 7.579",\
                 "3.141, 3.188, 3.316, 3.537, 3.885, 4.374, 5.02, 5.833, 6.826, 8.01");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.1047, 0.1581, 0.3406, 0.7274, 1.343, 2.208, 3.349, 4.781, 6.536, 8.628",\
                 "0.1054, 0.1584, 0.3406, 0.7288, 1.346, 2.208, 3.345, 4.781, 6.536, 8.628",\
                 "0.1048, 0.1588, 0.3406, 0.7272, 1.345, 2.209, 3.346, 4.781, 6.536, 8.628",\
                 "0.1056, 0.1584, 0.3408, 0.7276, 1.345, 2.208, 3.348, 4.781, 6.535, 8.627",\
                 "0.1054, 0.159, 0.3408, 0.727, 1.345, 2.206, 3.345, 4.781, 6.536, 8.626",\
                 "0.1072, 0.1608, 0.3422, 0.7278, 1.345, 2.207, 3.346, 4.779, 6.536, 8.629",\
                 "0.1098, 0.1636, 0.3436, 0.7282, 1.343, 2.209, 3.348, 4.779, 6.535, 8.625",\
                 "0.1136, 0.1664, 0.3456, 0.7278, 1.343, 2.209, 3.349, 4.783, 6.533, 8.626",\
                 "0.117, 0.1708, 0.349, 0.7286, 1.344, 2.207, 3.346, 4.783, 6.53, 8.623",\
                 "0.1212, 0.175, 0.3514, 0.729, 1.344, 2.206, 3.344, 4.78, 6.532, 8.622");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b0 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "!CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.9695, 1.014, 1.138, 1.361, 1.712, 2.202, 2.848, 3.662, 4.655, 5.842",\
                 "0.9865, 1.031, 1.156, 1.379, 1.728, 2.219, 2.865, 3.679, 4.674, 5.858",\
                 "1.053, 1.097, 1.222, 1.445, 1.794, 2.285, 2.931, 3.746, 4.74, 5.923",\
                 "1.188, 1.232, 1.357, 1.58, 1.93, 2.421, 3.067, 3.881, 4.874, 6.06",\
                 "1.399, 1.443, 1.568, 1.791, 2.141, 2.631, 3.277, 4.091, 5.085, 6.269",\
                 "1.663, 1.708, 1.832, 2.055, 2.405, 2.895, 3.541, 4.355, 5.348, 6.534",\
                 "1.967, 2.012, 2.138, 2.36, 2.709, 3.2, 3.845, 4.66, 5.653, 6.84",\
                 "2.316, 2.362, 2.488, 2.71, 3.059, 3.549, 4.194, 5.009, 6.002, 7.187",\
                 "2.708, 2.755, 2.881, 3.104, 3.451, 3.941, 4.587, 5.4, 6.394, 7.579",\
                 "3.14, 3.188, 3.316, 3.537, 3.885, 4.374, 5.02, 5.833, 6.827, 8.011");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.1048, 0.1586, 0.3404, 0.7288, 1.345, 2.209, 3.347, 4.781, 6.536, 8.626",\
                 "0.105, 0.1584, 0.3406, 0.7274, 1.343, 2.209, 3.349, 4.782, 6.532, 8.62",\
                 "0.105, 0.1584, 0.3406, 0.729, 1.343, 2.209, 3.348, 4.782, 6.534, 8.625",\
                 "0.1052, 0.1584, 0.3406, 0.7288, 1.343, 2.209, 3.345, 4.779, 6.536, 8.629",\
                 "0.1054, 0.1584, 0.341, 0.7274, 1.345, 2.209, 3.349, 4.782, 6.533, 8.625",\
                 "0.107, 0.1604, 0.3422, 0.7288, 1.345, 2.207, 3.344, 4.78, 6.536, 8.629",\
                 "0.1104, 0.1634, 0.3436, 0.7282, 1.343, 2.209, 3.35, 4.782, 6.537, 8.622",\
                 "0.1138, 0.1668, 0.3462, 0.7284, 1.344, 2.207, 3.35, 4.781, 6.533, 8.626",\
                 "0.1168, 0.1708, 0.348, 0.7284, 1.345, 2.208, 3.344, 4.785, 6.534, 8.625",\
                 "0.121, 0.1748, 0.3508, 0.7298, 1.344, 2.208, 3.348, 4.78, 6.53, 8.618");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.7947, 0.8374, 0.9601, 1.184, 1.534, 2.025, 2.672, 3.486, 4.48, 5.665",\
                 "0.8127, 0.8553, 0.978, 1.202, 1.552, 2.043, 2.689, 3.504, 4.498, 5.684",\
                 "0.8788, 0.9214, 1.044, 1.268, 1.618, 2.109, 2.756, 3.57, 4.563, 5.749",\
                 "1.006, 1.048, 1.171, 1.395, 1.745, 2.236, 2.883, 3.697, 4.692, 5.879",\
                 "1.177, 1.22, 1.342, 1.566, 1.916, 2.407, 3.053, 3.867, 4.861, 6.045",\
                 "1.37, 1.413, 1.535, 1.758, 2.108, 2.6, 3.246, 4.06, 5.055, 6.242",\
                 "1.58, 1.623, 1.746, 1.97, 2.319, 2.81, 3.456, 4.27, 5.265, 6.451",\
                 "1.804, 1.848, 1.97, 2.193, 2.542, 3.033, 3.679, 4.493, 5.487, 6.673",\
                 "2.039, 2.082, 2.205, 2.428, 2.777, 3.267, 3.914, 4.728, 5.721, 6.905",\
                 "2.284, 2.328, 2.451, 2.674, 3.023, 3.514, 4.159, 4.974, 5.967, 7.151");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.09638, 0.1493, 0.3356, 0.7266, 1.344, 2.208, 3.351, 4.783, 6.538, 8.627",\
                 "0.096, 0.1495, 0.3359, 0.7268, 1.342, 2.208, 3.352, 4.782, 6.537, 8.63",\
                 "0.0964, 0.1496, 0.3356, 0.7266, 1.342, 2.208, 3.351, 4.782, 6.535, 8.623",\
                 "0.0962, 0.1498, 0.3362, 0.7266, 1.343, 2.208, 3.344, 4.783, 6.536, 8.623",\
                 "0.0968, 0.1504, 0.3362, 0.726, 1.344, 2.207, 3.352, 4.783, 6.538, 8.624",\
                 "0.0988, 0.1516, 0.3368, 0.7258, 1.342, 2.206, 3.347, 4.782, 6.536, 8.621",\
                 "0.0994, 0.1532, 0.3378, 0.7268, 1.342, 2.207, 3.345, 4.779, 6.535, 8.624",\
                 "0.101, 0.154, 0.3378, 0.727, 1.344, 2.207, 3.345, 4.781, 6.536, 8.627",\
                 "0.102, 0.1554, 0.3392, 0.7268, 1.342, 2.208, 3.345, 4.779, 6.533, 8.622",\
                 "0.1028, 0.1558, 0.3396, 0.727, 1.343, 2.209, 3.346, 4.78, 6.531, 8.626");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.7947, 0.8374, 0.9601, 1.184, 1.534, 2.025, 2.672, 3.486, 4.48, 5.665",\
                 "0.8127, 0.8553, 0.978, 1.202, 1.552, 2.043, 2.689, 3.504, 4.498, 5.684",\
                 "0.8788, 0.9214, 1.044, 1.268, 1.618, 2.109, 2.756, 3.57, 4.563, 5.749",\
                 "1.006, 1.048, 1.171, 1.395, 1.745, 2.236, 2.883, 3.697, 4.692, 5.879",\
                 "1.177, 1.219, 1.342, 1.566, 1.916, 2.407, 3.053, 3.867, 4.861, 6.045",\
                 "1.37, 1.413, 1.535, 1.758, 2.108, 2.6, 3.246, 4.06, 5.055, 6.242",\
                 "1.58, 1.624, 1.746, 1.969, 2.319, 2.81, 3.456, 4.271, 5.265, 6.449",\
                 "1.804, 1.847, 1.97, 2.193, 2.542, 3.033, 3.679, 4.493, 5.487, 6.673",\
                 "2.039, 2.082, 2.205, 2.428, 2.777, 3.267, 3.914, 4.728, 5.721, 6.905",\
                 "2.284, 2.328, 2.451, 2.673, 3.021, 3.512, 4.158, 4.972, 5.966, 7.15");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.09638, 0.1493, 0.3356, 0.7266, 1.344, 2.208, 3.351, 4.783, 6.538, 8.627",\
                 "0.096, 0.1495, 0.3359, 0.7268, 1.342, 2.208, 3.352, 4.782, 6.537, 8.63",\
                 "0.0964, 0.1496, 0.3356, 0.7266, 1.342, 2.208, 3.351, 4.782, 6.535, 8.623",\
                 "0.0962, 0.1498, 0.3362, 0.7266, 1.343, 2.208, 3.344, 4.783, 6.536, 8.623",\
                 "0.0968, 0.1508, 0.3362, 0.7262, 1.344, 2.207, 3.352, 4.783, 6.538, 8.624",\
                 "0.0988, 0.1516, 0.3368, 0.7258, 1.344, 2.206, 3.347, 4.782, 6.536, 8.622",\
                 "0.1006, 0.1532, 0.3378, 0.7268, 1.342, 2.209, 3.347, 4.781, 6.536, 8.621",\
                 "0.1008, 0.1542, 0.3378, 0.727, 1.344, 2.207, 3.345, 4.781, 6.536, 8.627",\
                 "0.102, 0.1554, 0.3392, 0.7268, 1.344, 2.208, 3.345, 4.779, 6.533, 8.622",\
                 "0.1028, 0.1564, 0.3396, 0.727, 1.343, 2.209, 3.347, 4.779, 6.531, 8.628");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.7947, 0.8374, 0.9601, 1.184, 1.534, 2.025, 2.672, 3.486, 4.48, 5.665",\
                 "0.8127, 0.8553, 0.978, 1.202, 1.552, 2.043, 2.689, 3.504, 4.498, 5.684",\
                 "0.8788, 0.9214, 1.044, 1.268, 1.618, 2.109, 2.756, 3.57, 4.563, 5.749",\
                 "1.006, 1.048, 1.171, 1.395, 1.745, 2.236, 2.883, 3.697, 4.691, 5.878",\
                 "1.177, 1.22, 1.342, 1.566, 1.916, 2.407, 3.053, 3.867, 4.861, 6.045",\
                 "1.369, 1.413, 1.536, 1.759, 2.108, 2.6, 3.246, 4.06, 5.055, 6.242",\
                 "1.58, 1.624, 1.746, 1.969, 2.319, 2.81, 3.456, 4.27, 5.265, 6.452",\
                 "1.804, 1.847, 1.97, 2.193, 2.542, 3.033, 3.679, 4.493, 5.487, 6.673",\
                 "2.039, 2.083, 2.205, 2.428, 2.777, 3.268, 3.914, 4.728, 5.722, 6.906",\
                 "2.283, 2.328, 2.45, 2.673, 3.022, 3.513, 4.159, 4.973, 5.967, 7.151");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.09638, 0.1493, 0.3356, 0.7266, 1.344, 2.208, 3.351, 4.783, 6.538, 8.627",\
                 "0.096, 0.1495, 0.3359, 0.7268, 1.342, 2.208, 3.352, 4.782, 6.537, 8.63",\
                 "0.0964, 0.1496, 0.3356, 0.7266, 1.342, 2.208, 3.351, 4.782, 6.535, 8.623",\
                 "0.0962, 0.1498, 0.3364, 0.7268, 1.343, 2.209, 3.345, 4.782, 6.534, 8.626",\
                 "0.0968, 0.1504, 0.3364, 0.7268, 1.344, 2.207, 3.352, 4.783, 6.538, 8.624",\
                 "0.0984, 0.1514, 0.3376, 0.726, 1.343, 2.206, 3.348, 4.782, 6.536, 8.624",\
                 "0.1006, 0.1532, 0.3378, 0.7266, 1.342, 2.208, 3.344, 4.783, 6.535, 8.626",\
                 "0.1008, 0.1544, 0.338, 0.727, 1.344, 2.207, 3.345, 4.781, 6.536, 8.627",\
                 "0.1026, 0.1552, 0.3388, 0.7268, 1.342, 2.208, 3.345, 4.779, 6.542, 8.617",\
                 "0.1026, 0.1564, 0.339, 0.7268, 1.343, 2.209, 3.347, 4.779, 6.529, 8.63");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b0 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&!D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.7945, 0.8374, 0.96, 1.184, 1.534, 2.025, 2.672, 3.485, 4.48, 5.666",\
                 "0.8126, 0.8553, 0.978, 1.202, 1.552, 2.043, 2.689, 3.504, 4.498, 5.684",\
                 "0.8788, 0.9215, 1.044, 1.268, 1.618, 2.109, 2.756, 3.57, 4.564, 5.749",\
                 "1.006, 1.048, 1.171, 1.395, 1.745, 2.236, 2.883, 3.697, 4.692, 5.878",\
                 "1.177, 1.22, 1.342, 1.566, 1.916, 2.407, 3.053, 3.867, 4.861, 6.045",\
                 "1.37, 1.413, 1.535, 1.759, 2.108, 2.6, 3.246, 4.06, 5.055, 6.242",\
                 "1.58, 1.623, 1.746, 1.969, 2.319, 2.81, 3.456, 4.271, 5.265, 6.452",\
                 "1.803, 1.847, 1.97, 2.193, 2.542, 3.033, 3.679, 4.493, 5.487, 6.671",\
                 "2.039, 2.083, 2.205, 2.428, 2.777, 3.268, 3.914, 4.728, 5.721, 6.905",\
                 "2.284, 2.328, 2.451, 2.674, 3.022, 3.513, 4.159, 4.973, 5.967, 7.151");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.09594, 0.1494, 0.3358, 0.7266, 1.344, 2.21, 3.351, 4.781, 6.535, 8.626",\
                 "0.0964, 0.1495, 0.3355, 0.7266, 1.342, 2.208, 3.352, 4.782, 6.537, 8.63",\
                 "0.0964, 0.1494, 0.336, 0.7266, 1.342, 2.206, 3.351, 4.782, 6.538, 8.628",\
                 "0.0966, 0.1494, 0.336, 0.7262, 1.343, 2.208, 3.345, 4.781, 6.535, 8.625",\
                 "0.0968, 0.1506, 0.3366, 0.7268, 1.343, 2.206, 3.352, 4.781, 6.537, 8.624",\
                 "0.0988, 0.1514, 0.3368, 0.726, 1.342, 2.206, 3.35, 4.782, 6.536, 8.623",\
                 "0.1004, 0.1536, 0.338, 0.7268, 1.343, 2.208, 3.347, 4.78, 6.533, 8.628",\
                 "0.101, 0.1548, 0.338, 0.7266, 1.343, 2.208, 3.345, 4.784, 6.535, 8.622",\
                 "0.1022, 0.1554, 0.339, 0.7268, 1.343, 2.208, 3.346, 4.779, 6.543, 8.625",\
                 "0.1026, 0.1558, 0.3388, 0.727, 1.343, 2.206, 3.345, 4.779, 6.53, 8.634");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.7947, 0.8374, 0.96, 1.184, 1.534, 2.025, 2.672, 3.485, 4.48, 5.666",\
                 "0.8127, 0.8553, 0.978, 1.202, 1.552, 2.043, 2.689, 3.504, 4.498, 5.684",\
                 "0.8788, 0.9215, 1.044, 1.268, 1.618, 2.109, 2.756, 3.57, 4.564, 5.749",\
                 "1.006, 1.048, 1.171, 1.395, 1.745, 2.236, 2.883, 3.697, 4.692, 5.878",\
                 "1.177, 1.22, 1.342, 1.566, 1.916, 2.407, 3.053, 3.867, 4.861, 6.047",\
                 "1.37, 1.413, 1.535, 1.759, 2.108, 2.599, 3.246, 4.06, 5.055, 6.241",\
                 "1.58, 1.623, 1.746, 1.969, 2.319, 2.81, 3.456, 4.27, 5.265, 6.452",\
                 "1.804, 1.848, 1.97, 2.193, 2.543, 3.033, 3.679, 4.493, 5.487, 6.673",\
                 "2.038, 2.083, 2.205, 2.428, 2.778, 3.268, 3.914, 4.728, 5.721, 6.906",\
                 "2.284, 2.328, 2.451, 2.674, 3.022, 3.513, 4.159, 4.973, 5.966, 7.15");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.09632, 0.1494, 0.3358, 0.7266, 1.344, 2.21, 3.351, 4.782, 6.536, 8.626",\
                 "0.096, 0.1495, 0.3355, 0.727, 1.342, 2.208, 3.352, 4.782, 6.537, 8.63",\
                 "0.0964, 0.1494, 0.336, 0.7266, 1.342, 2.206, 3.351, 4.782, 6.538, 8.628",\
                 "0.0966, 0.1496, 0.336, 0.7264, 1.343, 2.209, 3.345, 4.783, 6.535, 8.624",\
                 "0.0968, 0.1504, 0.3364, 0.7266, 1.342, 2.209, 3.351, 4.781, 6.535, 8.626",\
                 "0.0988, 0.1516, 0.3368, 0.7258, 1.344, 2.21, 3.344, 4.782, 6.535, 8.626",\
                 "0.0994, 0.1528, 0.3374, 0.727, 1.342, 2.207, 3.344, 4.783, 6.536, 8.623",\
                 "0.101, 0.1538, 0.3384, 0.7276, 1.342, 2.208, 3.344, 4.778, 6.537, 8.63",\
                 "0.1024, 0.1556, 0.3386, 0.7264, 1.343, 2.206, 3.345, 4.779, 6.543, 8.617",\
                 "0.1032, 0.1564, 0.339, 0.727, 1.343, 2.208, 3.347, 4.782, 6.53, 8.628");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b0 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&!SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.7947, 0.8374, 0.96, 1.184, 1.534, 2.025, 2.672, 3.485, 4.48, 5.666",\
                 "0.8127, 0.8553, 0.978, 1.202, 1.552, 2.043, 2.689, 3.504, 4.498, 5.684",\
                 "0.8788, 0.9215, 1.044, 1.268, 1.618, 2.109, 2.756, 3.57, 4.564, 5.749",\
                 "1.006, 1.048, 1.171, 1.395, 1.745, 2.236, 2.883, 3.697, 4.692, 5.878",\
                 "1.177, 1.22, 1.342, 1.566, 1.916, 2.407, 3.053, 3.867, 4.861, 6.047",\
                 "1.37, 1.413, 1.535, 1.759, 2.108, 2.599, 3.246, 4.06, 5.054, 6.241",\
                 "1.58, 1.624, 1.746, 1.969, 2.319, 2.81, 3.456, 4.271, 5.264, 6.452",\
                 "1.804, 1.847, 1.97, 2.193, 2.542, 3.033, 3.679, 4.493, 5.487, 6.673",\
                 "2.038, 2.083, 2.205, 2.428, 2.777, 3.268, 3.914, 4.728, 5.721, 6.906",\
                 "2.284, 2.328, 2.451, 2.674, 3.023, 3.513, 4.159, 4.973, 5.966, 7.15");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.09632, 0.1494, 0.3358, 0.7266, 1.344, 2.21, 3.351, 4.782, 6.536, 8.626",\
                 "0.09598, 0.1495, 0.3355, 0.727, 1.342, 2.208, 3.352, 4.782, 6.537, 8.63",\
                 "0.0964, 0.1494, 0.336, 0.7266, 1.342, 2.206, 3.351, 4.782, 6.538, 8.628",\
                 "0.0966, 0.1494, 0.3362, 0.7264, 1.343, 2.209, 3.345, 4.783, 6.535, 8.624",\
                 "0.0968, 0.1504, 0.3364, 0.7268, 1.343, 2.209, 3.351, 4.781, 6.535, 8.626",\
                 "0.0988, 0.1516, 0.3368, 0.7258, 1.344, 2.21, 3.346, 4.782, 6.534, 8.626",\
                 "0.1006, 0.1534, 0.3376, 0.7266, 1.342, 2.207, 3.348, 4.781, 6.537, 8.63",\
                 "0.1008, 0.1542, 0.3382, 0.727, 1.343, 2.207, 3.344, 4.781, 6.536, 8.626",\
                 "0.1024, 0.1556, 0.3386, 0.7264, 1.344, 2.208, 3.345, 4.779, 6.543, 8.617",\
                 "0.1032, 0.1564, 0.339, 0.727, 1.343, 2.207, 3.347, 4.782, 6.53, 8.628");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&!SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.7947, 0.8374, 0.9597, 1.184, 1.534, 2.025, 2.672, 3.486, 4.481, 5.667",\
                 "0.8127, 0.8553, 0.978, 1.202, 1.552, 2.043, 2.689, 3.504, 4.498, 5.684",\
                 "0.8788, 0.9214, 1.044, 1.268, 1.618, 2.109, 2.756, 3.57, 4.563, 5.749",\
                 "1.006, 1.048, 1.171, 1.395, 1.745, 2.236, 2.883, 3.697, 4.691, 5.876",\
                 "1.177, 1.219, 1.342, 1.566, 1.916, 2.407, 3.053, 3.867, 4.861, 6.047",\
                 "1.369, 1.412, 1.535, 1.758, 2.108, 2.6, 3.246, 4.06, 5.054, 6.239",\
                 "1.58, 1.623, 1.746, 1.969, 2.319, 2.81, 3.456, 4.271, 5.265, 6.452",\
                 "1.804, 1.847, 1.97, 2.193, 2.542, 3.033, 3.679, 4.493, 5.487, 6.673",\
                 "2.039, 2.082, 2.205, 2.428, 2.777, 3.267, 3.914, 4.727, 5.721, 6.905",\
                 "2.284, 2.328, 2.451, 2.672, 3.022, 3.512, 4.158, 4.972, 5.966, 7.15");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.09626, 0.1495, 0.3358, 0.7262, 1.344, 2.209, 3.345, 4.783, 6.535, 8.624",\
                 "0.09602, 0.1495, 0.3359, 0.7268, 1.342, 2.208, 3.352, 4.782, 6.537, 8.63",\
                 "0.0964, 0.1496, 0.3356, 0.7266, 1.342, 2.208, 3.351, 4.782, 6.535, 8.623",\
                 "0.096, 0.1498, 0.3362, 0.7266, 1.343, 2.209, 3.351, 4.783, 6.537, 8.628",\
                 "0.0968, 0.1508, 0.3364, 0.726, 1.342, 2.208, 3.351, 4.781, 6.535, 8.626",\
                 "0.0984, 0.1516, 0.3368, 0.7258, 1.344, 2.207, 3.351, 4.783, 6.537, 8.628",\
                 "0.0996, 0.1532, 0.3374, 0.7264, 1.342, 2.208, 3.348, 4.781, 6.535, 8.628",\
                 "0.1008, 0.1544, 0.338, 0.727, 1.343, 2.207, 3.345, 4.781, 6.536, 8.627",\
                 "0.102, 0.1552, 0.3386, 0.7266, 1.342, 2.208, 3.345, 4.779, 6.544, 8.627",\
                 "0.1028, 0.1564, 0.3392, 0.727, 1.344, 2.209, 3.347, 4.779, 6.531, 8.63");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "CLK===1'b1 && D===1'b1 && SE===1'b1 && SI===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : preset ;
        when : "CLK&D&SE&SI" ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.7945, 0.8374, 0.96, 1.184, 1.534, 2.025, 2.672, 3.485, 4.48, 5.666",\
                 "0.8126, 0.8553, 0.978, 1.202, 1.552, 2.043, 2.689, 3.504, 4.498, 5.684",\
                 "0.8788, 0.9215, 1.044, 1.268, 1.618, 2.109, 2.756, 3.57, 4.564, 5.749",\
                 "1.006, 1.048, 1.171, 1.395, 1.745, 2.236, 2.883, 3.697, 4.692, 5.878",\
                 "1.177, 1.219, 1.342, 1.566, 1.916, 2.407, 3.053, 3.867, 4.861, 6.047",\
                 "1.37, 1.413, 1.535, 1.759, 2.108, 2.599, 3.246, 4.06, 5.054, 6.241",\
                 "1.58, 1.623, 1.746, 1.969, 2.319, 2.81, 3.456, 4.271, 5.265, 6.452",\
                 "1.803, 1.847, 1.97, 2.193, 2.542, 3.033, 3.679, 4.493, 5.487, 6.671",\
                 "2.038, 2.083, 2.205, 2.428, 2.778, 3.268, 3.915, 4.728, 5.721, 6.906",\
                 "2.284, 2.328, 2.451, 2.674, 3.023, 3.513, 4.159, 4.973, 5.967, 7.151");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.09594, 0.1495, 0.3358, 0.7266, 1.344, 2.21, 3.351, 4.781, 6.535, 8.626",\
                 "0.0964, 0.1495, 0.3355, 0.7266, 1.342, 2.208, 3.352, 4.782, 6.537, 8.63",\
                 "0.0964, 0.1494, 0.336, 0.7266, 1.342, 2.206, 3.351, 4.782, 6.538, 8.628",\
                 "0.0966, 0.1494, 0.3362, 0.7262, 1.342, 2.209, 3.345, 4.783, 6.535, 8.624",\
                 "0.0968, 0.1508, 0.3364, 0.7268, 1.343, 2.207, 3.352, 4.781, 6.537, 8.63",\
                 "0.0986, 0.1518, 0.3368, 0.7258, 1.344, 2.21, 3.346, 4.782, 6.534, 8.626",\
                 "0.1004, 0.1536, 0.338, 0.7266, 1.342, 2.208, 3.347, 4.781, 6.535, 8.628",\
                 "0.101, 0.1542, 0.3382, 0.7268, 1.343, 2.206, 3.344, 4.781, 6.535, 8.626",\
                 "0.102, 0.1554, 0.3392, 0.727, 1.343, 2.208, 3.35, 4.779, 6.543, 8.616",\
                 "0.1032, 0.1564, 0.339, 0.7272, 1.343, 2.207, 3.345, 4.778, 6.529, 8.632");
        }
      }

      timing() {
        related_pin : "SETN" ;
        timing_sense : negative_unate ;
        timing_type : preset ;

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.9694, 1.014, 1.139, 1.362, 1.711, 2.202, 2.848, 3.662, 4.656, 5.843",\
                 "0.9865, 1.031, 1.156, 1.379, 1.728, 2.219, 2.865, 3.68, 4.673, 5.857",\
                 "1.053, 1.097, 1.222, 1.445, 1.794, 2.285, 2.931, 3.746, 4.74, 5.923",\
                 "1.188, 1.232, 1.357, 1.58, 1.93, 2.421, 3.067, 3.881, 4.874, 6.06",\
                 "1.399, 1.444, 1.568, 1.791, 2.14, 2.631, 3.277, 4.091, 5.085, 6.269",\
                 "1.663, 1.708, 1.833, 2.055, 2.405, 2.895, 3.541, 4.355, 5.348, 6.534",\
                 "1.967, 2.012, 2.138, 2.361, 2.709, 3.2, 3.845, 4.66, 5.654, 6.839",\
                 "2.316, 2.362, 2.488, 2.71, 3.059, 3.549, 4.195, 5.009, 6.003, 7.187",\
                 "2.708, 2.755, 2.881, 3.103, 3.451, 3.941, 4.586, 5.4, 6.393, 7.578",\
                 "3.14, 3.188, 3.315, 3.537, 3.885, 4.374, 5.02, 5.833, 6.826, 8.011");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01097, 0.04597, 0.1128, 0.2169, 0.363, 0.5553, 0.7975, 1.093, 1.446");
          values("0.09594, 0.1494, 0.3358, 0.7266, 1.344, 2.21, 3.351, 4.781, 6.535, 8.626",\
                 "0.0964, 0.1495, 0.3355, 0.7266, 1.342, 2.208, 3.352, 4.782, 6.537, 8.63",\
                 "0.0964, 0.1494, 0.336, 0.7266, 1.342, 2.206, 3.351, 4.782, 6.538, 8.628",\
                 "0.0966, 0.1494, 0.336, 0.7262, 1.343, 2.208, 3.345, 4.781, 6.535, 8.625",\
                 "0.0968, 0.1506, 0.3366, 0.7268, 1.343, 2.206, 3.352, 4.781, 6.537, 8.624",\
                 "0.0988, 0.1514, 0.3368, 0.726, 1.342, 2.206, 3.35, 4.782, 6.536, 8.623",\
                 "0.1004, 0.1536, 0.338, 0.7268, 1.343, 2.208, 3.347, 4.78, 6.533, 8.628",\
                 "0.101, 0.1548, 0.338, 0.7266, 1.343, 2.208, 3.345, 4.784, 6.535, 8.622",\
                 "0.1022, 0.1554, 0.339, 0.7268, 1.343, 2.208, 3.346, 4.779, 6.543, 8.625",\
                 "0.1026, 0.1558, 0.3388, 0.727, 1.343, 2.206, 3.345, 4.779, 6.53, 8.634");
        }
      }
    }

    pin(SE) {
      capacitance : 0.005301 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05022, 0.0496, 0.05023, 0.05397, 0.06096, 0.07168, 0.08648, \
                 0.1058, 0.1299, 0.1591");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001206, 0.001135, 0.001711, 0.004229, 0.009576, 0.01815, 0.03036, \
                 0.04642, 0.06655, 0.0909");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1368, 0.1358, 0.1356, 0.1387, 0.1464, 0.161, 0.1835, 0.2149, \
                 0.2556, 0.3059");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03304, 0.03268, 0.03301, 0.03569, 0.04243, 0.05469, 0.07335, \
                 0.09916, 0.1324, 0.1736");
        }
      }

      internal_power() {
        when : "!CLK&!D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05022, 0.04959, 0.05026, 0.05398, 0.06094, 0.07166, 0.08652, \
                 0.1058, 0.1299, 0.1591");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001233, 0.001146, 0.00172, 0.004233, 0.009554, 0.01816, 0.03037, \
                 0.04643, 0.06654, 0.09089");
        }
      }

      internal_power() {
        when : "!CLK&!D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1853, 0.1843, 0.1841, 0.1872, 0.1951, 0.2105, 0.2348, 0.2686, \
                 0.3132, 0.3688");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08853, 0.08816, 0.08842, 0.09163, 0.1, 0.1147, 0.1367, 0.1664, \
                 0.2044, 0.2511");
        }
      }

      internal_power() {
        when : "!CLK&D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0826, 0.08198, 0.08262, 0.08629, 0.09328, 0.104, 0.1189, 0.1385, \
                 0.1631, 0.193");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.09511, 0.09509, 0.09552, 0.09775, 0.1028, 0.1112, 0.1232, 0.1391, \
                 0.1591, 0.1834");
        }
      }

      internal_power() {
        when : "!CLK&D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05074, 0.0501, 0.05083, 0.05463, 0.06166, 0.07246, 0.0874, 0.1068, \
                 0.131, 0.1602");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0004208, -0.0007985, -0.0004568, 0.002026, 0.00738, 0.01598, \
                 0.02822, 0.0443, 0.06445, 0.08884");
        }
      }

      internal_power() {
        when : "!CLK&D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1379, 0.1373, 0.1379, 0.1416, 0.1486, 0.1594, 0.1745, 0.1943, \
                 0.2192, 0.2495");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1502, 0.1502, 0.1506, 0.1529, 0.1578, 0.1653, 0.1771, 0.1925, \
                 0.212, 0.2363");
        }
      }

      internal_power() {
        when : "!CLK&D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05071, 0.05009, 0.05082, 0.05464, 0.06165, 0.07251, 0.08738, \
                 0.1068, 0.131, 0.1602");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0004181, -0.0007934, -0.0004669, 0.002031, 0.007328, 0.01596, \
                 0.02822, 0.04431, 0.06444, 0.08885");
        }
      }

      internal_power() {
        when : "CLK&!D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05015, 0.04953, 0.05018, 0.05393, 0.06089, 0.07165, 0.08641, \
                 0.1057, 0.1298, 0.159");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001096, 0.001026, 0.001611, 0.004147, 0.009494, 0.01808, 0.03031, \
                 0.04637, 0.0665, 0.09085");
        }
      }

      internal_power() {
        when : "CLK&!D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05092, 0.0503, 0.05094, 0.05472, 0.06168, 0.07248, 0.08728, \
                 0.1066, 0.1307, 0.1599");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0004453, -0.0006973, -0.0003318, 0.00216, 0.007827, 0.01702, \
                 0.02991, 0.04642, 0.0667, 0.09112");
        }
      }

      internal_power() {
        when : "CLK&!D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05017, 0.04954, 0.05018, 0.05393, 0.06091, 0.07163, 0.08646, \
                 0.1058, 0.1298, 0.159");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.001098, 0.001027, 0.001626, 0.00414, 0.00946, 0.01807, 0.03032, \
                 0.0464, 0.06652, 0.0909");
        }
      }

      internal_power() {
        when : "CLK&!D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06906, 0.06842, 0.06914, 0.07297, 0.0804, 0.0919, 0.1075, 0.1275, \
                 0.1521, 0.1815");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0004608, -0.0006941, -0.0003084, 0.002159, 0.007779, 0.01702, \
                 0.02992, 0.04641, 0.06672, 0.09116");
        }
      }

      internal_power() {
        when : "CLK&D&!SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.0514, 0.05075, 0.05136, 0.05498, 0.06182, 0.0725, 0.0872, 0.1064, \
                 0.1305, 0.1595");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.002531, 0.002446, 0.003039, 0.005487, 0.01083, 0.01939, 0.03163, \
                 0.04767, 0.0678, 0.09216");
        }
      }

      internal_power() {
        when : "CLK&D&!SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05253, 0.05193, 0.05258, 0.05631, 0.06331, 0.07405, 0.08887, \
                 0.1082, 0.1323, 0.1615");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.001241, -0.001532, -0.001117, 0.001363, 0.006702, 0.01529, \
                 0.02752, 0.04359, 0.06372, 0.0881");
        }
      }

      internal_power() {
        when : "CLK&D&SETN&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05208, 0.05146, 0.05211, 0.05575, 0.06268, 0.0733, 0.088, 0.1072, \
                 0.1312, 0.1603");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01716, 0.01709, 0.01768, 0.02015, 0.02545, 0.03406, 0.04629, \
                 0.06241, 0.0825, 0.1068");
        }
      }

      internal_power() {
        when : "CLK&D&SETN&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.05075, 0.05009, 0.05083, 0.05463, 0.06166, 0.07247, 0.08737, \
                 0.1068, 0.131, 0.1602");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0005593, -0.000874, -0.0005128, 0.001979, 0.007315, 0.01592, \
                 0.02817, 0.04428, 0.06442, 0.08881");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.739, -0.737, -0.685, -0.619, -0.555, -0.522, -0.499, -0.513, -0.546, -0.607",\
                 "-0.747, -0.747, -0.693, -0.621, -0.572, -0.531, -0.51, -0.522, -0.554, -0.614",\
                 "-0.763, -0.77, -0.716, -0.65, -0.591, -0.553, -0.531, -0.547, -0.572, -0.633",\
                 "-0.807, -0.806, -0.757, -0.689, -0.633, -0.599, -0.573, -0.586, -0.615, -0.674",\
                 "-0.903, -0.904, -0.851, -0.796, -0.733, -0.688, -0.676, -0.676, -0.712, -0.764",\
                 "-1.073, -1.073, -1.017, -0.958, -0.897, -0.858, -0.84, -0.845, -0.877, -0.925",\
                 "-1.305, -1.307, -1.253, -1.194, -1.142, -1.1, -1.082, -1.086, -1.108, -1.159",\
                 "-1.618, -1.616, -1.572, -1.511, -1.456, -1.412, -1.402, -1.408, -1.428, -1.467",\
                 "-1.993, -2.008, -1.951, -1.893, -1.833, -1.806, -1.794, -1.793, -1.813, -1.866",\
                 "-2.438, -2.452, -2.402, -2.348, -2.292, -2.256, -2.245, -2.258, -2.278, -2.323");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.195, -0.184, -0.154, -0.137, -0.153, -0.182, -0.238, -0.312, -0.419, -0.55",\
                 "-0.207, -0.191, -0.16, -0.148, -0.162, -0.195, -0.245, -0.325, -0.425, -0.562",\
                 "-0.237, -0.225, -0.197, -0.181, -0.191, -0.221, -0.268, -0.354, -0.457, -0.585",\
                 "-0.271, -0.257, -0.23, -0.214, -0.222, -0.248, -0.294, -0.372, -0.475, -0.607",\
                 "-0.293, -0.278, -0.243, -0.226, -0.228, -0.25, -0.298, -0.373, -0.475, -0.609",\
                 "-0.273, -0.259, -0.226, -0.205, -0.205, -0.232, -0.274, -0.348, -0.452, -0.576",\
                 "-0.201, -0.184, -0.157, -0.145, -0.147, -0.17, -0.21, -0.286, -0.387, -0.509",\
                 "-0.071, -0.058, -0.037, -0.028, -0.034, -0.056, -0.104, -0.177, -0.274, -0.398",\
                 "0.116, 0.135, 0.15, 0.15, 0.135, 0.101, 0.05, -0.024, -0.117, -0.244",\
                 "0.378, 0.389, 0.398, 0.378, 0.354, 0.317, 0.267, 0.191, 0.091, -0.035");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.458, -0.443, -0.417, -0.401, -0.407, -0.435, -0.491, -0.566, -0.666, -0.8",\
                 "-0.473, -0.461, -0.427, -0.409, -0.424, -0.449, -0.502, -0.581, -0.682, -0.813",\
                 "-0.543, -0.527, -0.496, -0.482, -0.487, -0.521, -0.567, -0.646, -0.754, -0.88",\
                 "-0.68, -0.662, -0.636, -0.62, -0.633, -0.657, -0.713, -0.786, -0.885, -1.021",\
                 "-0.866, -0.85, -0.825, -0.807, -0.82, -0.846, -0.899, -0.972, -1.072, -1.205",\
                 "-1.101, -1.09, -1.062, -1.046, -1.046, -1.079, -1.13, -1.207, -1.312, -1.436",\
                 "-1.389, -1.376, -1.344, -1.334, -1.337, -1.362, -1.413, -1.486, -1.592, -1.722",\
                 "-1.736, -1.724, -1.69, -1.671, -1.678, -1.707, -1.754, -1.831, -1.935, -2.065",\
                 "-2.129, -2.121, -2.083, -2.068, -2.07, -2.1, -2.148, -2.225, -2.327, -2.451",\
                 "-2.589, -2.573, -2.541, -2.526, -2.53, -2.554, -2.601, -2.673, -2.782, -2.911");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.801, -0.799, -0.75, -0.674, -0.615, -0.579, -0.558, -0.56, -0.586, -0.638",\
                 "-0.822, -0.819, -0.77, -0.698, -0.642, -0.596, -0.579, -0.581, -0.61, -0.661",\
                 "-0.855, -0.858, -0.803, -0.737, -0.67, -0.629, -0.612, -0.615, -0.647, -0.697",\
                 "-0.871, -0.874, -0.821, -0.766, -0.691, -0.643, -0.623, -0.633, -0.658, -0.708",\
                 "-0.851, -0.85, -0.799, -0.733, -0.68, -0.627, -0.613, -0.617, -0.646, -0.698",\
                 "-0.819, -0.819, -0.768, -0.703, -0.635, -0.594, -0.578, -0.584, -0.615, -0.666",\
                 "-0.732, -0.741, -0.682, -0.615, -0.553, -0.514, -0.492, -0.501, -0.529, -0.581",\
                 "-0.597, -0.601, -0.547, -0.476, -0.412, -0.368, -0.358, -0.36, -0.382, -0.438",\
                 "-0.401, -0.402, -0.354, -0.286, -0.215, -0.177, -0.163, -0.165, -0.195, -0.244",\
                 "-0.153, -0.156, -0.106, -0.037, 0.025, 0.072, 0.089, 0.087, 0.064, -0");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SETN_AND_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SETN&SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.758, 1.748, 1.684, 1.592, 1.509, 1.466, 1.452, 1.475, 1.549, 1.696",\
                 "1.765, 1.748, 1.688, 1.595, 1.521, 1.468, 1.461, 1.483, 1.557, 1.715",\
                 "1.789, 1.776, 1.708, 1.619, 1.54, 1.491, 1.482, 1.517, 1.582, 1.728",\
                 "1.826, 1.819, 1.755, 1.662, 1.584, 1.535, 1.523, 1.548, 1.628, 1.755",\
                 "1.923, 1.915, 1.843, 1.758, 1.676, 1.626, 1.62, 1.647, 1.725, 1.861",\
                 "2.103, 2.092, 2.025, 1.931, 1.853, 1.803, 1.79, 1.813, 1.888, 1.999",\
                 "2.359, 2.352, 2.286, 2.193, 2.115, 2.063, 2.051, 2.072, 2.13, 2.251",\
                 "2.721, 2.709, 2.648, 2.547, 2.471, 2.423, 2.408, 2.421, 2.481, 2.584",\
                 "3.187, 3.18, 3.109, 3.012, 2.931, 2.88, 2.857, 2.866, 2.925, 3.019",\
                 "3.751, 3.746, 3.668, 3.573, 3.484, 3.421, 3.394, 3.4, 3.449, 3.531");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.504, 0.484, 0.428, 0.356, 0.333, 0.349, 0.398, 0.472, 0.578, 0.706",\
                 "0.507, 0.492, 0.438, 0.37, 0.347, 0.36, 0.407, 0.48, 0.585, 0.714",\
                 "0.544, 0.527, 0.473, 0.402, 0.375, 0.393, 0.441, 0.51, 0.614, 0.741",\
                 "0.599, 0.575, 0.52, 0.452, 0.418, 0.431, 0.474, 0.54, 0.641, 0.77",\
                 "0.65, 0.626, 0.574, 0.501, 0.465, 0.461, 0.499, 0.566, 0.655, 0.783",\
                 "0.664, 0.648, 0.59, 0.52, 0.477, 0.47, 0.504, 0.559, 0.651, 0.776",\
                 "0.648, 0.63, 0.574, 0.505, 0.456, 0.446, 0.468, 0.53, 0.611, 0.738",\
                 "0.585, 0.565, 0.51, 0.436, 0.39, 0.376, 0.397, 0.452, 0.537, 0.654",\
                 "0.473, 0.45, 0.395, 0.32, 0.272, 0.25, 0.269, 0.327, 0.412, 0.524",\
                 "0.294, 0.272, 0.22, 0.143, 0.094, 0.078, 0.09, 0.145, 0.233, 0.348");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SETN_AND_NOT_SI === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&SETN&!SI" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.756, 0.737, 0.686, 0.61, 0.593, 0.602, 0.651, 0.719, 0.824, 0.951",\
                 "0.767, 0.754, 0.699, 0.63, 0.602, 0.619, 0.664, 0.736, 0.834, 0.965",\
                 "0.839, 0.823, 0.764, 0.697, 0.67, 0.687, 0.731, 0.808, 0.903, 1.036",\
                 "0.979, 0.961, 0.903, 0.835, 0.808, 0.826, 0.873, 0.94, 1.043, 1.173",\
                 "1.17, 1.15, 1.094, 1.023, 1.002, 1.012, 1.059, 1.127, 1.233, 1.361",\
                 "1.412, 1.385, 1.33, 1.266, 1.24, 1.247, 1.292, 1.367, 1.463, 1.598",\
                 "1.693, 1.684, 1.625, 1.554, 1.526, 1.537, 1.583, 1.652, 1.752, 1.88",\
                 "2.043, 2.028, 1.97, 1.899, 1.871, 1.884, 1.93, 1.992, 2.096, 2.225",\
                 "2.447, 2.433, 2.373, 2.304, 2.278, 2.283, 2.325, 2.393, 2.489, 2.622",\
                 "2.912, 2.892, 2.837, 2.762, 2.733, 2.742, 2.78, 2.849, 2.944, 3.076");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.987, 1.981, 1.904, 1.801, 1.71, 1.644, 1.621, 1.628, 1.692, 1.821",\
                 "2.004, 2.002, 1.925, 1.817, 1.729, 1.668, 1.633, 1.644, 1.717, 1.84",\
                 "2.046, 2.031, 1.96, 1.857, 1.766, 1.708, 1.673, 1.684, 1.747, 1.862",\
                 "2.062, 2.05, 1.975, 1.869, 1.779, 1.718, 1.692, 1.702, 1.768, 1.889",\
                 "2.042, 2.031, 1.956, 1.847, 1.763, 1.696, 1.666, 1.684, 1.744, 1.861",\
                 "1.982, 1.974, 1.898, 1.799, 1.704, 1.646, 1.615, 1.628, 1.694, 1.837",\
                 "1.904, 1.898, 1.824, 1.724, 1.623, 1.571, 1.542, 1.555, 1.616, 1.737",\
                 "1.748, 1.747, 1.672, 1.572, 1.486, 1.429, 1.412, 1.414, 1.482, 1.603",\
                 "1.555, 1.542, 1.471, 1.369, 1.285, 1.23, 1.208, 1.225, 1.299, 1.415",\
                 "1.298, 1.288, 1.212, 1.122, 1.029, 0.976, 0.954, 0.967, 1.026, 1.147");
        }
      }
    }

    pin(SETN) {
      capacitance : 0.006017 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      min_pulse_width_low : 0.797 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06315, 0.0628, 0.06358, 0.06801, 0.07754, 0.09261, 0.1135, 0.1405, \
                 0.1742, 0.2146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009422, 0.009005, 0.00934, 0.01283, 0.02084, 0.03384, 0.05228, \
                 0.07642, 0.1065, 0.1429");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06315, 0.0628, 0.06359, 0.06802, 0.0775, 0.09261, 0.1135, 0.1405, \
                 0.1741, 0.2146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009422, 0.009005, 0.00934, 0.01282, 0.02084, 0.03384, 0.05228, \
                 0.07642, 0.1065, 0.1429");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06315, 0.0628, 0.06357, 0.06805, 0.07756, 0.09261, 0.1135, 0.1405, \
                 0.1742, 0.2146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009423, 0.009006, 0.009341, 0.01283, 0.02084, 0.03385, 0.05228, \
                 0.07642, 0.1065, 0.1428");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01899, 0.01891, 0.01895, 0.01894, 0.01896, 0.01895, \
                 0.01895, 0.01895, 0.01896");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01327, -0.01325, -0.01324, -0.01324, -0.01332, -0.01333, \
                 -0.01333, -0.01334, -0.01338");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01898, 0.01894, 0.01892, 0.01892, 0.01892, 0.01895, \
                 0.01895, 0.01896, 0.01894");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01327, -0.01325, -0.01324, -0.01324, -0.01333, -0.01334, \
                 -0.01334, -0.01334, -0.01337");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01897, 0.01895, 0.0189, 0.01898, 0.01896, 0.01894, \
                 0.01896, 0.01897, 0.01895");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01327, -0.01325, -0.01324, -0.01324, -0.01333, -0.01333, \
                 -0.01333, -0.01334, -0.01337");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.06315, 0.0628, 0.06357, 0.06806, 0.07756, 0.0926, 0.1135, 0.1405, \
                 0.1742, 0.2146");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.009423, 0.009005, 0.009341, 0.01283, 0.02084, 0.03384, 0.05229, \
                 0.07642, 0.1065, 0.1429");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01898, 0.01895, 0.01893, 0.01892, 0.01897, 0.01895, \
                 0.01896, 0.01897, 0.01895");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01327, -0.01325, -0.01325, -0.01325, -0.01333, -0.01331, \
                 -0.01334, -0.01334, -0.01337");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01897, 0.01892, 0.01895, 0.01894, 0.01895, 0.01894, \
                 0.01896, 0.01898, 0.01895");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01326, -0.01325, -0.01326, -0.01324, -0.01333, -0.01332, \
                 -0.01334, -0.01334, -0.01338");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01897, 0.01892, 0.01895, 0.01894, 0.01895, 0.01895, \
                 0.01897, 0.01898, 0.01896");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01326, -0.01325, -0.01326, -0.01324, -0.01332, -0.01333, \
                 -0.01334, -0.01334, -0.01338");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01896, 0.01895, 0.01891, 0.01896, 0.01899, 0.01896, \
                 0.01897, 0.01894, 0.01895");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01326, -0.01325, -0.01326, -0.01324, -0.01333, -0.01332, \
                 -0.01334, -0.01334, -0.01338");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01899, 0.01893, 0.01891, 0.01894, 0.01895, 0.01896, \
                 0.01896, 0.01898, 0.01896");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01326, -0.01325, -0.01326, -0.01324, -0.01333, -0.01333, \
                 -0.01334, -0.01336, -0.01336");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01899, 0.01893, 0.01891, 0.01894, 0.01895, 0.01895, \
                 0.01896, 0.01898, 0.01897");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01326, -0.01325, -0.01326, -0.01324, -0.01333, -0.01332, \
                 -0.01334, -0.01334, -0.01336");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01899, 0.01893, 0.01891, 0.01894, 0.01895, 0.01896, \
                 0.01895, 0.01898, 0.01896");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01326, -0.01325, -0.01326, -0.01324, -0.01332, -0.01332, \
                 -0.01334, -0.01335, -0.01336");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01897, 0.0189, 0.01895, 0.01894, 0.01895, 0.01894, \
                 0.01896, 0.01897, 0.01894");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01326, -0.01325, -0.01326, -0.01325, -0.01333, -0.01333, \
                 -0.01334, -0.01334, -0.01338");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SI" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.01902, 0.01899, 0.01891, 0.01895, 0.01893, 0.01895, 0.01896, \
                 0.01898, 0.01898, 0.01896");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.0133, -0.01326, -0.01325, -0.01326, -0.01324, -0.01333, -0.01332, \
                 -0.01334, -0.01333, -0.01336");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.017, -0.029, -0.087, -0.162, -0.218, -0.255, -0.26, -0.243, -0.194, -0.106",\
                 "-0.006, -0.016, -0.077, -0.151, -0.216, -0.247, -0.253, -0.237, -0.186, -0.099",\
                 "0.034, 0.023, -0.039, -0.108, -0.173, -0.207, -0.211, -0.199, -0.147, -0.063",\
                 "0.117, 0.102, 0.051, -0.03, -0.089, -0.125, -0.135, -0.115, -0.067, 0.015",\
                 "0.271, 0.255, 0.2, 0.116, 0.048, 0.014, 0.002, 0.018, 0.069, 0.151",\
                 "0.589, 0.583, 0.507, 0.417, 0.32, 0.265, 0.241, 0.247, 0.305, 0.382",\
                 "1.162, 1.161, 1.072, 0.955, 0.834, 0.783, 0.711, 0.696, 0.759, 0.824",\
                 "1.907, 1.903, 1.809, 1.685, 1.538, 1.463, 1.432, 1.408, 1.455, 1.523",\
                 "2.805, 2.859, 2.737, 2.566, 2.392, 2.314, 2.325, 2.292, 2.365, 2.397",\
                 "3.928, 3.925, 3.786, 3.618, 3.43, 3.343, 3.33, 3.304, 3.395, 3.485");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.017, -0.029, -0.087, -0.162, -0.218, -0.255, -0.26, -0.243, -0.194, -0.106",\
                 "-0.006, -0.016, -0.077, -0.151, -0.216, -0.247, -0.253, -0.237, -0.186, -0.099",\
                 "0.034, 0.023, -0.039, -0.114, -0.173, -0.207, -0.211, -0.199, -0.147, -0.063",\
                 "0.117, 0.102, 0.051, -0.03, -0.089, -0.125, -0.135, -0.115, -0.067, 0.015",\
                 "0.271, 0.255, 0.2, 0.116, 0.048, 0.014, 0.002, 0.018, 0.069, 0.15",\
                 "0.589, 0.577, 0.507, 0.403, 0.32, 0.265, 0.241, 0.264, 0.305, 0.382",\
                 "1.162, 1.17, 1.072, 0.955, 0.834, 0.783, 0.711, 0.706, 0.759, 0.824",\
                 "1.901, 1.938, 1.809, 1.685, 1.538, 1.463, 1.432, 1.431, 1.475, 1.547",\
                 "2.805, 2.859, 2.704, 2.566, 2.392, 2.299, 2.313, 2.292, 2.365, 2.397",\
                 "3.928, 3.946, 3.797, 3.629, 3.442, 3.369, 3.33, 3.296, 3.395, 3.464");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.017, -0.029, -0.087, -0.162, -0.218, -0.255, -0.268, -0.243, -0.194, -0.106",\
                 "-0.006, -0.024, -0.077, -0.151, -0.216, -0.247, -0.253, -0.237, -0.178, -0.099",\
                 "0.034, 0.023, -0.039, -0.114, -0.173, -0.207, -0.211, -0.199, -0.147, -0.063",\
                 "0.117, 0.102, 0.051, -0.03, -0.089, -0.125, -0.135, -0.115, -0.067, 0.015",\
                 "0.271, 0.255, 0.2, 0.111, 0.048, 0.014, 0.002, 0.018, 0.069, 0.151",\
                 "0.589, 0.577, 0.507, 0.417, 0.32, 0.265, 0.241, 0.264, 0.305, 0.382",\
                 "1.162, 1.161, 1.081, 0.955, 0.834, 0.763, 0.711, 0.706, 0.759, 0.824",\
                 "1.907, 1.909, 1.809, 1.685, 1.538, 1.48, 1.442, 1.431, 1.475, 1.531",\
                 "2.813, 2.859, 2.704, 2.566, 2.411, 2.351, 2.284, 2.245, 2.357, 2.451",\
                 "3.928, 3.946, 3.813, 3.618, 3.43, 3.343, 3.28, 3.288, 3.395, 3.47");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : recovery_rising ;
        when : "D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.017, -0.029, -0.087, -0.162, -0.218, -0.255, -0.26, -0.248, -0.194, -0.106",\
                 "-0.006, -0.016, -0.077, -0.151, -0.216, -0.247, -0.253, -0.237, -0.186, -0.099",\
                 "0.034, 0.023, -0.039, -0.114, -0.173, -0.207, -0.211, -0.199, -0.147, -0.063",\
                 "0.117, 0.102, 0.051, -0.03, -0.089, -0.125, -0.135, -0.115, -0.067, 0.015",\
                 "0.271, 0.255, 0.2, 0.116, 0.048, 0.014, 0.002, 0.018, 0.069, 0.151",\
                 "0.589, 0.583, 0.507, 0.403, 0.32, 0.265, 0.248, 0.247, 0.305, 0.382",\
                 "1.162, 1.161, 1.081, 0.955, 0.834, 0.77, 0.711, 0.725, 0.759, 0.824",\
                 "1.907, 1.909, 1.809, 1.685, 1.538, 1.463, 1.432, 1.431, 1.475, 1.555",\
                 "2.821, 2.859, 2.737, 2.566, 2.392, 2.346, 2.272, 2.245, 2.365, 2.424",\
                 "3.928, 3.946, 3.77, 3.64, 3.436, 3.324, 3.28, 3.288, 3.385, 3.485");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&!SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.229, 0.247, 0.297, 0.371, 0.435, 0.474, 0.496, 0.49, 0.449, 0.382",\
                 "0.224, 0.238, 0.29, 0.363, 0.425, 0.465, 0.484, 0.475, 0.442, 0.371",\
                 "0.176, 0.19, 0.244, 0.318, 0.382, 0.424, 0.438, 0.435, 0.396, 0.327",\
                 "0.092, 0.11, 0.158, 0.23, 0.29, 0.337, 0.356, 0.349, 0.312, 0.244",\
                 "-0.002, 0.015, 0.07, 0.138, 0.196, 0.241, 0.256, 0.249, 0.215, 0.148",\
                 "-0.094, -0.082, -0.028, 0.044, 0.101, 0.14, 0.157, 0.149, 0.108, 0.045",\
                 "-0.192, -0.176, -0.121, -0.056, 0.002, 0.039, 0.057, 0.046, 0.003, -0.06",\
                 "-0.296, -0.279, -0.23, -0.155, -0.101, -0.056, -0.046, -0.057, -0.098, -0.166",\
                 "-0.401, -0.386, -0.338, -0.259, -0.206, -0.172, -0.151, -0.165, -0.203, -0.271",\
                 "-0.522, -0.508, -0.455, -0.383, -0.326, -0.284, -0.268, -0.28, -0.314, -0.388");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&!SE&SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.229, 0.247, 0.297, 0.371, 0.435, 0.474, 0.496, 0.49, 0.449, 0.382",\
                 "0.224, 0.238, 0.29, 0.363, 0.425, 0.465, 0.484, 0.475, 0.442, 0.371",\
                 "0.176, 0.19, 0.244, 0.318, 0.382, 0.417, 0.438, 0.435, 0.396, 0.327",\
                 "0.092, 0.11, 0.158, 0.23, 0.29, 0.337, 0.356, 0.349, 0.312, 0.244",\
                 "-0.002, 0.015, 0.07, 0.138, 0.196, 0.241, 0.256, 0.249, 0.215, 0.148",\
                 "-0.094, -0.082, -0.028, 0.044, 0.101, 0.14, 0.157, 0.149, 0.108, 0.045",\
                 "-0.192, -0.176, -0.121, -0.056, 0.002, 0.039, 0.057, 0.046, 0.003, -0.067",\
                 "-0.296, -0.279, -0.23, -0.155, -0.101, -0.056, -0.046, -0.057, -0.098, -0.166",\
                 "-0.401, -0.386, -0.338, -0.259, -0.206, -0.172, -0.151, -0.165, -0.203, -0.271",\
                 "-0.522, -0.508, -0.455, -0.384, -0.326, -0.284, -0.268, -0.28, -0.314, -0.388");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "!D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.229, 0.247, 0.297, 0.371, 0.435, 0.474, 0.496, 0.49, 0.449, 0.382",\
                 "0.224, 0.238, 0.29, 0.363, 0.425, 0.465, 0.484, 0.475, 0.442, 0.371",\
                 "0.176, 0.19, 0.244, 0.318, 0.382, 0.424, 0.438, 0.435, 0.395, 0.327",\
                 "0.092, 0.11, 0.158, 0.238, 0.29, 0.337, 0.356, 0.349, 0.312, 0.244",\
                 "0.005, 0.015, 0.07, 0.138, 0.196, 0.241, 0.256, 0.249, 0.215, 0.148",\
                 "-0.094, -0.082, -0.028, 0.044, 0.101, 0.14, 0.157, 0.149, 0.108, 0.045",\
                 "-0.192, -0.176, -0.121, -0.057, 0.002, 0.039, 0.057, 0.046, 0.003, -0.06",\
                 "-0.296, -0.279, -0.23, -0.155, -0.101, -0.056, -0.046, -0.057, -0.098, -0.166",\
                 "-0.401, -0.386, -0.338, -0.259, -0.206, -0.172, -0.151, -0.165, -0.203, -0.271",\
                 "-0.522, -0.508, -0.455, -0.384, -0.326, -0.284, -0.268, -0.28, -0.314, -0.388");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : removal_rising ;
        when : "D&SE&!SI" ;

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.229, 0.247, 0.297, 0.371, 0.435, 0.474, 0.496, 0.49, 0.449, 0.382",\
                 "0.224, 0.238, 0.29, 0.363, 0.425, 0.465, 0.484, 0.475, 0.442, 0.371",\
                 "0.176, 0.19, 0.244, 0.318, 0.382, 0.417, 0.438, 0.435, 0.396, 0.327",\
                 "0.092, 0.11, 0.158, 0.23, 0.29, 0.337, 0.356, 0.349, 0.312, 0.244",\
                 "-0.002, 0.015, 0.07, 0.138, 0.196, 0.241, 0.256, 0.249, 0.215, 0.148",\
                 "-0.094, -0.082, -0.028, 0.044, 0.101, 0.14, 0.157, 0.149, 0.108, 0.045",\
                 "-0.192, -0.176, -0.121, -0.056, 0.002, 0.039, 0.057, 0.046, 0.003, -0.067",\
                 "-0.296, -0.279, -0.23, -0.155, -0.101, -0.056, -0.046, -0.057, -0.098, -0.166",\
                 "-0.401, -0.386, -0.338, -0.259, -0.206, -0.172, -0.151, -0.165, -0.203, -0.271",\
                 "-0.522, -0.508, -0.455, -0.383, -0.326, -0.284, -0.268, -0.28, -0.314, -0.388");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_NOT_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "!CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.797");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_NOT_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&!D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&!SI" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_NOT_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&!SE&SI" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_NOT_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&!SI" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }

      timing() {
        related_pin : "SETN" ;
        sdf_cond : "ENABLE_CLK_AND_D_AND_SE_AND_SI === 1'b1" ;
        timing_type : min_pulse_width ;
        when : "CLK&D&SE&SI" ;

        fall_constraint(scalar) {
          values("0.497");
        }
      }
    }

    pin(SI) {
      capacitance : 0.002305 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      nextstate_type : data ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        when : "!CLK&!D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005097, 0.005058, 0.005047, 0.00504, 0.005039, 0.005052, 0.00505, \
                 0.005048, 0.005049, 0.005049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004923, -0.004913, -0.004924, -0.004947, -0.004968, -0.004986, \
                 -0.004995, -0.004999, -0.005002, -0.005005");
        }
      }

      internal_power() {
        when : "!CLK&!D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005101, 0.005056, 0.005043, 0.005041, 0.005044, 0.005053, 0.005046, \
                 0.005049, 0.005047, 0.005047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004928, -0.004924, -0.004924, -0.004949, -0.00497, -0.004981, \
                 -0.004995, -0.004999, -0.005, -0.005003");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1018, 0.1015, 0.101, 0.1006, 0.1011, 0.1043, 0.1117, 0.1241, \
                 0.1414, 0.1633");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.03162, 0.03135, 0.03108, 0.0311, 0.03234, 0.03585, 0.04234, \
                 0.05215, 0.06556, 0.08279");
        }
      }

      internal_power() {
        when : "!CLK&!D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.154, 0.1536, 0.1531, 0.1528, 0.1534, 0.1573, 0.1664, 0.1809, \
                 0.2012, 0.2276");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08732, 0.08704, 0.08673, 0.08713, 0.08952, 0.09489, 0.104, 0.1173, \
                 0.135, 0.1573");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005047, 0.005047, 0.005043, 0.005042, 0.00504, 0.005045, 0.005044, \
                 0.005046, 0.005048, 0.005047");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004444, -0.004684, -0.004905, -0.00495, -0.004962, -0.004989, \
                 -0.004994, -0.004998, -0.005003, -0.005008");
        }
      }

      internal_power() {
        when : "!CLK&D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.00503, 0.005034, 0.005046, 0.005036, 0.005051, 0.005052, 0.005047, \
                 0.005051, 0.005049, 0.005048");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004446, -0.004686, -0.004906, -0.004959, -0.004972, -0.004978, \
                 -0.004994, -0.004997, -0.005002, -0.005007");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1061, 0.1057, 0.1053, 0.1049, 0.1054, 0.1089, 0.1167, 0.1294, \
                 0.1468, 0.1688");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02886, 0.02858, 0.02829, 0.02829, 0.02948, 0.03298, 0.03947, \
                 0.04931, 0.06276, 0.08003");
        }
      }

      internal_power() {
        when : "!CLK&D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.1612, 0.1608, 0.1604, 0.16, 0.1606, 0.1647, 0.1741, 0.189, 0.2093, \
                 0.2354");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.08443, 0.08416, 0.08385, 0.08424, 0.08659, 0.09194, 0.1013, \
                 0.1148, 0.1328, 0.1554");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005053, 0.005051, 0.005046, 0.00505, 0.00504, 0.005051, 0.005046, \
                 0.005046, 0.005047, 0.005049");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004923, -0.004912, -0.00492, -0.00495, -0.004964, -0.004988, \
                 -0.004995, -0.004997, -0.005003, -0.005007");
        }
      }

      internal_power() {
        when : "CLK&!D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005032, 0.005043, 0.005034, 0.005045, 0.005044, 0.005052, 0.005052, \
                 0.00505, 0.005045, 0.00505");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004926, -0.004922, -0.004925, -0.004949, -0.004978, -0.004986, \
                 -0.004994, -0.005004, -0.005002, -0.005007");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005852, 0.005859, 0.005859, 0.005855, 0.005851, 0.005853, 0.005853, \
                 0.00585, 0.005849, 0.005847");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003769, -0.003937, -0.004147, -0.004321, -0.004464, -0.004585, \
                 -0.00466, -0.004713, -0.004748, -0.004777");
        }
      }

      internal_power() {
        when : "CLK&!D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02769, 0.02769, 0.02769, 0.0277, 0.02765, 0.02764, 0.02763, \
                 0.02764, 0.02764, 0.02765");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003772, -0.003943, -0.004138, -0.004313, -0.004464, -0.004587, \
                 -0.004654, -0.00471, -0.004753, -0.004775");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005053, 0.005051, 0.005046, 0.005056, 0.00504, 0.005049, 0.005051, \
                 0.005045, 0.005048, 0.005046");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.004546, -0.004739, -0.00491, -0.00495, -0.004962, -0.004987, \
                 -0.004995, -0.004997, -0.005002, -0.005008");
        }
      }

      internal_power() {
        when : "CLK&D&!SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005048, 0.005044, 0.005045, 0.005047, 0.005044, 0.005054, 0.005054, \
                 0.005048, 0.005047, 0.005048");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00446, -0.004697, -0.004909, -0.004953, -0.004969, -0.004993, \
                 -0.004994, -0.004996, -0.005003, -0.005007");
        }
      }

      internal_power() {
        when : "CLK&D&SE&!SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.005984, 0.005988, 0.005991, 0.005984, 0.005983, 0.005986, 0.005981, \
                 0.005981, 0.00598, 0.005974");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.00372, -0.003898, -0.004131, -0.004337, -0.004485, -0.004605, \
                 -0.004678, -0.004724, -0.00476, -0.004785");
        }
      }

      internal_power() {
        when : "CLK&D&SE&SETN" ;

        fall_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.02429, 0.02429, 0.0243, 0.02428, 0.02423, 0.02424, 0.02425, \
                 0.02425, 0.02426, 0.02427");
        }

        rise_power(pwr_tin_10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.003729, -0.00391, -0.004123, -0.004329, -0.00448, -0.004606, \
                 -0.004675, -0.004723, -0.004758, -0.004783");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "!D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.83, -0.826, -0.782, -0.71, -0.652, -0.614, -0.592, -0.601, -0.634, -0.696",\
                 "-0.842, -0.835, -0.788, -0.717, -0.656, -0.619, -0.605, -0.611, -0.642, -0.703",\
                 "-0.871, -0.864, -0.818, -0.749, -0.687, -0.648, -0.631, -0.646, -0.672, -0.73",\
                 "-0.916, -0.922, -0.873, -0.812, -0.744, -0.701, -0.683, -0.693, -0.719, -0.78",\
                 "-1.015, -1.012, -0.964, -0.897, -0.834, -0.793, -0.779, -0.787, -0.816, -0.871",\
                 "-1.17, -1.167, -1.119, -1.053, -0.994, -0.955, -0.935, -0.937, -0.971, -1.022",\
                 "-1.406, -1.41, -1.362, -1.294, -1.245, -1.207, -1.195, -1.194, -1.214, -1.266",\
                 "-1.747, -1.754, -1.703, -1.645, -1.589, -1.555, -1.539, -1.539, -1.563, -1.61",\
                 "-2.168, -2.185, -2.133, -2.068, -2.024, -1.979, -1.959, -1.968, -1.992, -2.028",\
                 "-2.672, -2.683, -2.632, -2.571, -2.518, -2.483, -2.466, -2.474, -2.503, -2.543");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.229, -0.211, -0.186, -0.174, -0.191, -0.222, -0.272, -0.359, -0.459, -0.597",\
                 "-0.234, -0.223, -0.19, -0.177, -0.193, -0.23, -0.279, -0.366, -0.474, -0.604",\
                 "-0.254, -0.243, -0.212, -0.198, -0.209, -0.246, -0.295, -0.385, -0.49, -0.622",\
                 "-0.271, -0.257, -0.23, -0.214, -0.227, -0.255, -0.314, -0.392, -0.501, -0.635",\
                 "-0.263, -0.255, -0.216, -0.21, -0.215, -0.241, -0.298, -0.38, -0.485, -0.621",\
                 "-0.227, -0.212, -0.181, -0.168, -0.17, -0.2, -0.254, -0.331, -0.437, -0.569",\
                 "-0.133, -0.116, -0.085, -0.075, -0.09, -0.116, -0.161, -0.237, -0.352, -0.481",\
                 "0.017, 0.032, 0.062, 0.065, 0.047, 0.028, -0.026, -0.103, -0.206, -0.342",\
                 "0.243, 0.256, 0.274, 0.265, 0.248, 0.221, 0.168, 0.084, -0.016, -0.145",\
                 "0.54, 0.551, 0.564, 0.541, 0.515, 0.479, 0.424, 0.342, 0.235, 0.103");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : hold_rising ;
        when : "D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.824, -0.826, -0.777, -0.701, -0.637, -0.608, -0.575, -0.584, -0.61, -0.67",\
                 "-0.835, -0.835, -0.782, -0.717, -0.648, -0.614, -0.587, -0.593, -0.626, -0.677",\
                 "-0.865, -0.864, -0.818, -0.743, -0.678, -0.648, -0.622, -0.628, -0.655, -0.708",\
                 "-0.916, -0.912, -0.867, -0.796, -0.734, -0.694, -0.673, -0.673, -0.702, -0.752",\
                 "-1.007, -1.004, -0.956, -0.891, -0.827, -0.793, -0.762, -0.765, -0.788, -0.841",\
                 "-1.17, -1.173, -1.125, -1.053, -0.994, -0.961, -0.928, -0.929, -0.955, -1.002",\
                 "-1.423, -1.427, -1.371, -1.314, -1.251, -1.214, -1.187, -1.194, -1.214, -1.258",\
                 "-1.771, -1.778, -1.727, -1.665, -1.605, -1.572, -1.549, -1.551, -1.57, -1.602",\
                 "-2.2, -2.209, -2.158, -2.094, -2.032, -2.005, -1.983, -1.988, -2.008, -2.037",\
                 "-2.704, -2.719, -2.67, -2.61, -2.548, -2.515, -2.487, -2.498, -2.503, -2.543");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("-0.24, -0.225, -0.197, -0.183, -0.198, -0.234, -0.288, -0.365, -0.475, -0.607",\
                 "-0.248, -0.231, -0.208, -0.197, -0.208, -0.236, -0.296, -0.372, -0.482, -0.614",\
                 "-0.264, -0.254, -0.22, -0.216, -0.226, -0.259, -0.314, -0.391, -0.498, -0.628",\
                 "-0.28, -0.266, -0.242, -0.229, -0.243, -0.27, -0.324, -0.406, -0.51, -0.646",\
                 "-0.278, -0.263, -0.234, -0.226, -0.235, -0.259, -0.321, -0.395, -0.504, -0.639",\
                 "-0.238, -0.224, -0.2, -0.183, -0.197, -0.221, -0.274, -0.356, -0.463, -0.595",\
                 "-0.142, -0.133, -0.103, -0.095, -0.113, -0.143, -0.194, -0.266, -0.375, -0.509",\
                 "0.011, 0.026, 0.044, 0.039, 0.025, -0.006, -0.056, -0.137, -0.24, -0.374",\
                 "0.243, 0.256, 0.258, 0.248, 0.22, 0.185, 0.127, 0.051, -0.055, -0.181",\
                 "0.54, 0.556, 0.553, 0.518, 0.479, 0.434, 0.374, 0.295, 0.19, 0.062");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_NOT_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "!D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("1.941, 1.933, 1.861, 1.765, 1.68, 1.621, 1.604, 1.628, 1.692, 1.815",\
                 "1.949, 1.938, 1.866, 1.768, 1.683, 1.627, 1.607, 1.632, 1.701, 1.846",\
                 "1.982, 1.966, 1.897, 1.799, 1.714, 1.663, 1.645, 1.666, 1.739, 1.862",\
                 "2.035, 2.031, 1.952, 1.853, 1.764, 1.711, 1.692, 1.709, 1.777, 1.906",\
                 "2.117, 2.108, 2.043, 1.942, 1.864, 1.801, 1.786, 1.802, 1.867, 1.986",\
                 "2.281, 2.269, 2.198, 2.107, 2.019, 1.965, 1.945, 1.965, 2.019, 2.141",\
                 "2.545, 2.541, 2.467, 2.363, 2.281, 2.225, 2.212, 2.218, 2.278, 2.393",\
                 "2.928, 2.918, 2.853, 2.747, 2.663, 2.608, 2.583, 2.587, 2.657, 2.752",\
                 "3.418, 3.421, 3.341, 3.239, 3.149, 3.09, 3.064, 3.075, 3.12, 3.217",\
                 "4.026, 4.014, 3.941, 3.847, 3.746, 3.686, 3.651, 3.655, 3.692, 3.792");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.538, 0.518, 0.466, 0.392, 0.377, 0.389, 0.44, 0.513, 0.617, 0.753",\
                 "0.548, 0.524, 0.474, 0.399, 0.378, 0.395, 0.441, 0.521, 0.625, 0.761",\
                 "0.565, 0.544, 0.488, 0.419, 0.401, 0.412, 0.459, 0.541, 0.647, 0.779",\
                 "0.59, 0.575, 0.515, 0.444, 0.418, 0.431, 0.484, 0.553, 0.658, 0.792",\
                 "0.605, 0.586, 0.529, 0.458, 0.431, 0.443, 0.482, 0.551, 0.655, 0.789",\
                 "0.601, 0.577, 0.526, 0.447, 0.416, 0.416, 0.456, 0.525, 0.62, 0.751",\
                 "0.555, 0.527, 0.474, 0.406, 0.365, 0.359, 0.396, 0.462, 0.552, 0.681",\
                 "0.449, 0.428, 0.373, 0.302, 0.257, 0.25, 0.28, 0.343, 0.435, 0.566",\
                 "0.29, 0.273, 0.222, 0.146, 0.102, 0.093, 0.115, 0.179, 0.272, 0.398",\
                 "0.07, 0.052, 0, -0.075, -0.109, -0.129, -0.103, -0.047, 0.044, 0.164");
        }
      }

      timing() {
        related_pin : "CLK" ;
        sdf_cond : "ENABLE_D_AND_SE_AND_SETN === 1'b1" ;
        timing_type : setup_rising ;
        when : "D&SE&SETN" ;

        fall_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("2.015, 2.008, 1.931, 1.837, 1.732, 1.673, 1.646, 1.658, 1.716, 1.836",\
                 "2.024, 2.01, 1.937, 1.836, 1.745, 1.68, 1.65, 1.668, 1.725, 1.861",\
                 "2.052, 2.043, 1.976, 1.862, 1.775, 1.708, 1.682, 1.697, 1.764, 1.873",\
                 "2.107, 2.099, 2.033, 1.915, 1.822, 1.762, 1.742, 1.742, 1.812, 1.945",\
                 "2.191, 2.185, 2.113, 2.011, 1.911, 1.854, 1.82, 1.832, 1.895, 2.004",\
                 "2.356, 2.351, 2.274, 2.172, 2.081, 2.013, 1.985, 1.99, 2.05, 2.167",\
                 "2.629, 2.627, 2.549, 2.443, 2.349, 2.285, 2.261, 2.258, 2.313, 2.415",\
                 "3.022, 3.013, 2.94, 2.834, 2.737, 2.675, 2.642, 2.644, 2.704, 2.792",\
                 "3.521, 3.509, 3.44, 3.326, 3.234, 3.168, 3.135, 3.136, 3.182, 3.271",\
                 "4.125, 4.119, 4.043, 3.931, 3.835, 3.763, 3.729, 3.719, 3.773, 3.838");
        }

        rise_constraint(cnst_ctin_rtin_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          values("0.55, 0.525, 0.471, 0.401, 0.385, 0.395, 0.449, 0.519, 0.625, 0.758",\
                 "0.555, 0.532, 0.48, 0.409, 0.386, 0.401, 0.45, 0.527, 0.633, 0.761",\
                 "0.576, 0.556, 0.504, 0.431, 0.41, 0.425, 0.468, 0.547, 0.647, 0.784",\
                 "0.599, 0.585, 0.526, 0.46, 0.428, 0.446, 0.494, 0.566, 0.667, 0.798",\
                 "0.621, 0.602, 0.548, 0.47, 0.444, 0.452, 0.493, 0.566, 0.665, 0.8",\
                 "0.612, 0.589, 0.539, 0.469, 0.434, 0.432, 0.47, 0.542, 0.635, 0.77",\
                 "0.563, 0.544, 0.493, 0.416, 0.376, 0.379, 0.412, 0.471, 0.57, 0.702",\
                 "0.467, 0.446, 0.392, 0.316, 0.279, 0.275, 0.3, 0.366, 0.456, 0.582",\
                 "0.306, 0.297, 0.238, 0.163, 0.121, 0.114, 0.139, 0.199, 0.295, 0.416",\
                 "0.096, 0.078, 0.026, -0.047, -0.091, -0.104, -0.081, -0.015, 0.071, 0.195");
        }
      }
    }

    test_cell() {

      pin(SI) {
        direction : input ;
        signal_type : test_scan_in ;
      }

      pin(SETN) {
        direction : input ;
      }

      pin(SE) {
        direction : input ;
        signal_type : test_scan_enable ;
      }

      ff(IQ1,IQN1) {
        clocked_on : CLK ;
        next_state : D ;
        preset : !SETN ;
      }

      pin(CLK) {
        clock : true ;
        direction : input ;
      }

      pin(D) {
        direction : input ;
      }

      pin(Q) {
        direction : output ;
        function : IQ1 ;
        signal_type : test_scan_out ;
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__tieh) {
    area : 8.780800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.178165e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(Z) {
      direction : output ;
      function : "1" ;
      max_capacitance : 0.4066 ;
      max_transition : 8.6 ;
      output_voltage : default ;
      related_power_pin : VDD ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__tiel) {
    area : 8.780800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "2.174865e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(ZN) {
      direction : output ;
      function : "0" ;
      max_capacitance : 0.7661 ;
      max_transition : 8.6 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xnor2_1) {
    area : 28.537600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "5.51496e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "8.76777e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "5.67534e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "9.09315e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "9.09315e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.006939 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.007344 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!(A1^A2))" ;
      max_capacitance : 0.1619 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("-0.001957, -0.001886, -0.001734, -0.001665, -0.001605, -0.001581, -0.001559, -0.001529, -0.001526, -0.001521",\
                 "-0.001921, -0.001775, -0.001481, -0.001236, -0.001106, -0.001011, -0.0009492, -0.0009161, -0.0008976, -0.0008671",\
                 "-0.000947, -0.000895, -0.0007305, -0.0005693, -0.0004587, -0.0003867, -0.0003416, -0.0003216, -0.0002958, -0.0002683",\
                 "0.003359, 0.003099, 0.002546, 0.002006, 0.001538, 0.001167, 0.0008942, 0.0006956, 0.000535, 0.0004146",\
                 "0.01274, 0.01211, 0.01044, 0.008563, 0.006843, 0.005467, 0.004364, 0.003491, 0.002818, 0.002298",\
                 "0.02809, 0.02705, 0.02408, 0.02037, 0.01686, 0.0139, 0.01143, 0.009436, 0.00782, 0.006521",\
                 "0.04971, 0.04829, 0.04413, 0.03845, 0.0327, 0.02756, 0.02326, 0.01962, 0.01659, 0.01413",\
                 "0.07796, 0.07622, 0.0709, 0.06336, 0.05513, 0.04753, 0.04087, 0.03514, 0.03026, 0.02614",\
                 "0.1132, 0.1112, 0.1049, 0.09553, 0.08493, 0.07452, 0.06508, 0.05684, 0.04969, 0.04349",\
                 "0.1557, 0.1534, 0.1463, 0.1353, 0.1223, 0.1091, 0.09663, 0.08551, 0.07565, 0.06701");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.06726, 0.06748, 0.06794, 0.06829, 0.06867, 0.069, 0.06939, 0.06977, 0.07021, 0.07191",\
                 "0.06548, 0.06578, 0.06655, 0.0674, 0.06804, 0.06861, 0.06909, 0.06944, 0.06995, 0.07182",\
                 "0.06558, 0.0656, 0.06585, 0.06639, 0.06718, 0.06792, 0.06853, 0.06918, 0.06982, 0.07143",\
                 "0.0714, 0.07101, 0.07012, 0.06927, 0.06887, 0.06891, 0.06926, 0.06937, 0.07, 0.07212",\
                 "0.08304, 0.08232, 0.08032, 0.07782, 0.07557, 0.07382, 0.07296, 0.07238, 0.07216, 0.07389",\
                 "0.101, 0.09996, 0.09683, 0.09277, 0.0887, 0.08481, 0.08177, 0.0795, 0.07805, 0.07933",\
                 "0.126, 0.1244, 0.1202, 0.1143, 0.1083, 0.1024, 0.09701, 0.0926, 0.08921, 0.08959",\
                 "0.1583, 0.1564, 0.151, 0.1433, 0.1351, 0.1272, 0.1195, 0.1123, 0.1067, 0.1069",\
                 "0.1984, 0.1962, 0.1897, 0.1802, 0.1697, 0.1593, 0.1494, 0.1402, 0.1321, 0.1333",\
                 "0.2469, 0.2444, 0.2368, 0.2257, 0.2129, 0.1998, 0.1873, 0.1756, 0.167, 0.1727");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.1099, 0.1095, 0.1082, 0.1063, 0.1045, 0.1029, 0.1018, 0.1009, 0.1003, 0.09984",\
                 "0.1096, 0.1091, 0.1079, 0.1061, 0.1042, 0.1026, 0.1015, 0.1006, 0.09999, 0.09953",\
                 "0.1101, 0.1098, 0.1087, 0.1071, 0.1053, 0.1038, 0.1025, 0.1016, 0.101, 0.1005",\
                 "0.1135, 0.1132, 0.1125, 0.1113, 0.1098, 0.1084, 0.1072, 0.1061, 0.1053, 0.1047",\
                 "0.1221, 0.1218, 0.1211, 0.12, 0.1187, 0.1174, 0.1162, 0.1151, 0.1142, 0.1135",\
                 "0.1367, 0.1364, 0.1354, 0.1342, 0.1329, 0.1316, 0.1303, 0.1292, 0.1282, 0.1274",\
                 "0.1578, 0.1573, 0.156, 0.1544, 0.1528, 0.1514, 0.15, 0.1488, 0.1476, 0.1467",\
                 "0.1854, 0.1848, 0.183, 0.1808, 0.1787, 0.1769, 0.1753, 0.1739, 0.1727, 0.1717",\
                 "0.2197, 0.2188, 0.2165, 0.2137, 0.211, 0.2087, 0.2068, 0.2051, 0.2038, 0.2025",\
                 "0.2611, 0.26, 0.257, 0.2535, 0.2501, 0.2471, 0.2447, 0.2427, 0.2411, 0.2396");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.0969, 0.09672, 0.09608, 0.09494, 0.09337, 0.09199, 0.09102, 0.09028, 0.09008, 0.08998",\
                 "0.09656, 0.09646, 0.09577, 0.09457, 0.09307, 0.09166, 0.09069, 0.09011, 0.08985, 0.08988",\
                 "0.09517, 0.09499, 0.09429, 0.09325, 0.09201, 0.0908, 0.08996, 0.08958, 0.08939, 0.08949",\
                 "0.09545, 0.09523, 0.09471, 0.09397, 0.0931, 0.09232, 0.09165, 0.0912, 0.0912, 0.0913",\
                 "0.1013, 0.1011, 0.1003, 0.09955, 0.09884, 0.09822, 0.09752, 0.09717, 0.09714, 0.09704",\
                 "0.1131, 0.1128, 0.1116, 0.1106, 0.1095, 0.109, 0.1085, 0.1079, 0.1075, 0.1077",\
                 "0.1307, 0.1302, 0.1289, 0.1273, 0.1258, 0.1245, 0.124, 0.1236, 0.1236, 0.1234",\
                 "0.1549, 0.1541, 0.1521, 0.1496, 0.1477, 0.1459, 0.1446, 0.144, 0.1443, 0.1441",\
                 "0.1853, 0.1847, 0.1822, 0.1788, 0.1753, 0.173, 0.1712, 0.1702, 0.1694, 0.1699",\
                 "0.2205, 0.2198, 0.2175, 0.2145, 0.2101, 0.2061, 0.2039, 0.2021, 0.2009, 0.2003");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.01268, 0.01266, 0.01267, 0.01267, 0.01268, 0.0127, 0.01269, 0.01271, 0.01271, 0.0127",\
                 "0.01186, 0.01189, 0.01189, 0.01193, 0.01194, 0.01196, 0.01198, 0.01196, 0.01197, 0.01197",\
                 "0.01197, 0.01191, 0.01182, 0.01168, 0.0116, 0.01154, 0.01151, 0.01149, 0.01147, 0.01146",\
                 "0.01613, 0.01584, 0.01508, 0.01418, 0.01346, 0.01289, 0.01247, 0.01218, 0.01197, 0.01181",\
                 "0.02638, 0.02567, 0.02374, 0.02139, 0.01921, 0.01746, 0.01612, 0.01505, 0.01425, 0.01366",\
                 "0.04364, 0.04249, 0.03922, 0.03489, 0.0306, 0.02689, 0.02386, 0.02146, 0.01957, 0.01808",\
                 "0.06847, 0.06688, 0.06222, 0.05574, 0.0489, 0.0426, 0.03726, 0.03289, 0.02926, 0.02633",\
                 "0.1012, 0.09923, 0.09335, 0.08469, 0.07506, 0.06575, 0.05752, 0.05047, 0.04456, 0.03963",\
                 "0.1421, 0.1399, 0.1329, 0.1222, 0.1098, 0.09731, 0.08579, 0.07552, 0.06671, 0.05918",\
                 "0.1917, 0.1892, 0.1812, 0.1687, 0.1536, 0.1379, 0.1227, 0.109, 0.09671, 0.08606");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.07807, 0.07824, 0.07865, 0.079, 0.0793, 0.07967, 0.07986, 0.0802, 0.08071, 0.0824",\
                 "0.07665, 0.07693, 0.07781, 0.07865, 0.07936, 0.0798, 0.08028, 0.08093, 0.08157, 0.08274",\
                 "0.07511, 0.07533, 0.07593, 0.0769, 0.07801, 0.07888, 0.07956, 0.08014, 0.08088, 0.08276",\
                 "0.07901, 0.07877, 0.07839, 0.07823, 0.07847, 0.07901, 0.07953, 0.0802, 0.08069, 0.08301",\
                 "0.09075, 0.09001, 0.08821, 0.08617, 0.08451, 0.08343, 0.08283, 0.08264, 0.08287, 0.08448",\
                 "0.111, 0.1097, 0.1064, 0.1021, 0.09814, 0.09468, 0.0919, 0.09003, 0.08884, 0.0903",\
                 "0.1397, 0.1381, 0.1333, 0.1267, 0.12, 0.1141, 0.1087, 0.1041, 0.1009, 0.1011",\
                 "0.1773, 0.1752, 0.1691, 0.1604, 0.1509, 0.1419, 0.1339, 0.1265, 0.1205, 0.1197",\
                 "0.2239, 0.2215, 0.2144, 0.2036, 0.1912, 0.1792, 0.1681, 0.1578, 0.1491, 0.1481",\
                 "0.28, 0.2774, 0.2693, 0.2567, 0.2417, 0.2263, 0.2119, 0.1987, 0.1878, 0.1897");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.0923, 0.0923, 0.0923, 0.09228, 0.09225, 0.09221, 0.09213, 0.09209, 0.09208, 0.09205",\
                 "0.09196, 0.09194, 0.09197, 0.09198, 0.09196, 0.0919, 0.09182, 0.09177, 0.09174, 0.09171",\
                 "0.09212, 0.09213, 0.09222, 0.09232, 0.09232, 0.09227, 0.09218, 0.09212, 0.09208, 0.09205",\
                 "0.09623, 0.09613, 0.09596, 0.09595, 0.09598, 0.09596, 0.09588, 0.09582, 0.09575, 0.0957",\
                 "0.1052, 0.1051, 0.1045, 0.1042, 0.1039, 0.1037, 0.1036, 0.1034, 0.1034, 0.1033",\
                 "0.12, 0.1196, 0.1186, 0.1177, 0.1171, 0.1167, 0.1163, 0.116, 0.1159, 0.1157",\
                 "0.1407, 0.1401, 0.1385, 0.137, 0.1358, 0.1349, 0.1343, 0.1338, 0.1335, 0.1333",\
                 "0.1677, 0.1668, 0.1647, 0.1623, 0.1604, 0.159, 0.158, 0.1572, 0.1567, 0.1562",\
                 "0.2011, 0.2, 0.1972, 0.194, 0.1913, 0.1892, 0.1876, 0.1864, 0.1856, 0.185",\
                 "0.2411, 0.2398, 0.2363, 0.2322, 0.2286, 0.2258, 0.2236, 0.222, 0.2208, 0.2199");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.08794, 0.08783, 0.08715, 0.08612, 0.08475, 0.08364, 0.08287, 0.08236, 0.08216, 0.08222",\
                 "0.08756, 0.08743, 0.08679, 0.08574, 0.08446, 0.08334, 0.08261, 0.08213, 0.08193, 0.08219",\
                 "0.08671, 0.08649, 0.08592, 0.08497, 0.0839, 0.08291, 0.08228, 0.08196, 0.0817, 0.0821",\
                 "0.08814, 0.08791, 0.08735, 0.08651, 0.08574, 0.08496, 0.08452, 0.08421, 0.08411, 0.08428",\
                 "0.09442, 0.09414, 0.09337, 0.09259, 0.09175, 0.09103, 0.09046, 0.09025, 0.09015, 0.09028",\
                 "0.1064, 0.106, 0.105, 0.1036, 0.1026, 0.1019, 0.1014, 0.101, 0.1007, 0.1007",\
                 "0.1237, 0.1232, 0.1218, 0.1199, 0.1183, 0.1172, 0.1163, 0.1163, 0.1157, 0.1156",\
                 "0.1464, 0.1458, 0.1442, 0.142, 0.1398, 0.138, 0.1367, 0.1361, 0.1361, 0.1362",\
                 "0.1748, 0.1741, 0.172, 0.1695, 0.1669, 0.1646, 0.1624, 0.1612, 0.1605, 0.1607",\
                 "0.209, 0.2082, 0.2058, 0.2027, 0.1997, 0.1964, 0.194, 0.1921, 0.191, 0.1905");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.09023, 0.1033, 0.1489, 0.2357, 0.3715, 0.5621, 0.8129, 1.129, 1.515, 1.974",\
                 "0.1032, 0.1164, 0.1624, 0.2497, 0.3857, 0.5764, 0.8273, 1.143, 1.529, 1.988",\
                 "0.1378, 0.1549, 0.2078, 0.296, 0.4318, 0.6225, 0.8731, 1.189, 1.575, 2.035",\
                 "0.1529, 0.1767, 0.2505, 0.3679, 0.5199, 0.7104, 0.9606, 1.276, 1.661, 2.121",\
                 "0.1386, 0.1703, 0.2662, 0.4164, 0.6091, 0.838, 1.099, 1.413, 1.797, 2.255",\
                 "0.0911, 0.13, 0.2493, 0.4348, 0.6692, 0.9452, 1.259, 1.605, 1.992, 2.448",\
                 "0.0068, 0.0532, 0.1957, 0.4175, 0.6962, 1.02, 1.386, 1.791, 2.231, 2.705",\
                 "-0.1164, -0.0625, 0.1029, 0.3605, 0.6858, 1.06, 1.48, 1.942, 2.443, 2.984",\
                 "-0.2816, -0.2202, -0.0316, 0.2613, 0.6319, 1.061, 1.536, 2.056, 2.618, 3.224",\
                 "-0.4908, -0.4223, -0.2104, 0.1183, 0.5325, 1.015, 1.55, 2.131, 2.756, 3.426");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.2085, 0.2412, 0.3548, 0.5685, 0.8998, 1.364, 1.974, 2.743, 3.681, 4.799",\
                 "0.2171, 0.2504, 0.3657, 0.5817, 0.914, 1.38, 1.991, 2.759, 3.697, 4.818",\
                 "0.2726, 0.3043, 0.4166, 0.6313, 0.9647, 1.431, 2.042, 2.813, 3.753, 4.869",\
                 "0.3876, 0.4236, 0.5401, 0.7486, 1.076, 1.539, 2.149, 2.917, 3.856, 4.976",\
                 "0.5398, 0.5815, 0.717, 0.9473, 1.271, 1.724, 2.329, 3.093, 4.026, 5.143",\
                 "0.7342, 0.782, 0.9347, 1.193, 1.551, 2.005, 2.599, 3.354, 4.282, 5.392",\
                 "0.9679, 1.024, 1.198, 1.484, 1.879, 2.375, 2.971, 3.716, 4.634, 5.736",\
                 "1.244, 1.309, 1.508, 1.826, 2.252, 2.795, 3.439, 4.189, 5.095, 6.187",\
                 "1.562, 1.636, 1.862, 2.217, 2.682, 3.262, 3.959, 4.762, 5.676, 6.754",\
                 "1.925, 2.008, 2.263, 2.659, 3.166, 3.786, 4.528, 5.391, 6.363, 7.448");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.1197, 0.142, 0.2207, 0.371, 0.6056, 0.9314, 1.359, 1.9, 2.559, 3.345",\
                 "0.1193, 0.142, 0.2211, 0.3711, 0.605, 0.9319, 1.359, 1.9, 2.559, 3.345",\
                 "0.1578, 0.1773, 0.2403, 0.3731, 0.6055, 0.9316, 1.36, 1.899, 2.559, 3.345",\
                 "0.2309, 0.255, 0.332, 0.4615, 0.6445, 0.9348, 1.359, 1.899, 2.559, 3.345",\
                 "0.3297, 0.3592, 0.4499, 0.5978, 0.8032, 1.059, 1.409, 1.906, 2.558, 3.342",\
                 "0.446, 0.4824, 0.592, 0.764, 0.992, 1.282, 1.627, 2.045, 2.61, 3.348",\
                 "0.5802, 0.625, 0.7564, 0.9592, 1.216, 1.532, 1.912, 2.352, 2.855, 3.496",\
                 "0.7332, 0.7844, 0.9414, 1.178, 1.47, 1.817, 2.226, 2.706, 3.249, 3.849",\
                 "0.8978, 0.9608, 1.144, 1.415, 1.752, 2.142, 2.58, 3.092, 3.675, 4.325",\
                 "1.073, 1.15, 1.366, 1.676, 2.056, 2.49, 2.976, 3.519, 4.134, 4.831");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.3099, 0.3658, 0.5621, 0.9338, 1.517, 2.329, 3.4, 4.751, 6.41, 8.356",\
                 "0.3097, 0.3656, 0.5623, 0.9347, 1.517, 2.333, 3.407, 4.754, 6.401, 8.37",\
                 "0.3108, 0.3653, 0.5609, 0.9355, 1.517, 2.331, 3.399, 4.754, 6.409, 8.356",\
                 "0.3729, 0.4237, 0.5889, 0.935, 1.516, 2.329, 3.403, 4.747, 6.399, 8.365",\
                 "0.4438, 0.4998, 0.6892, 1.01, 1.529, 2.33, 3.399, 4.752, 6.398, 8.368",\
                 "0.5466, 0.6024, 0.7978, 1.153, 1.648, 2.363, 3.405, 4.749, 6.409, 8.373",\
                 "0.6744, 0.7354, 0.9352, 1.302, 1.843, 2.53, 3.471, 4.762, 6.402, 8.376",\
                 "0.8202, 0.8884, 1.105, 1.476, 2.042, 2.785, 3.681, 4.857, 6.425, 8.36",\
                 "0.9848, 1.061, 1.3, 1.689, 2.26, 3.045, 3.997, 5.122, 6.561, 8.408",\
                 "1.164, 1.25, 1.517, 1.937, 2.52, 3.31, 4.32, 5.494, 6.868, 8.584");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.4224, 0.4375, 0.4876, 0.5778, 0.7143, 0.9039, 1.153, 1.468, 1.853, 2.313",\
                 "0.4387, 0.4539, 0.504, 0.5944, 0.7308, 0.9205, 1.17, 1.485, 1.87, 2.329",\
                 "0.5058, 0.521, 0.5717, 0.6624, 0.7991, 0.9888, 1.238, 1.553, 1.938, 2.397",\
                 "0.6351, 0.6506, 0.7024, 0.7944, 0.932, 1.122, 1.371, 1.686, 2.071, 2.53",\
                 "0.8066, 0.8232, 0.8772, 0.9713, 1.11, 1.3, 1.55, 1.865, 2.249, 2.708",\
                 "1.014, 1.031, 1.088, 1.185, 1.326, 1.517, 1.766, 2.08, 2.465, 2.923",\
                 "1.258, 1.277, 1.337, 1.437, 1.58, 1.773, 2.023, 2.337, 2.72, 3.178",\
                 "1.539, 1.559, 1.623, 1.728, 1.874, 2.069, 2.32, 2.635, 3.019, 3.476",\
                 "1.858, 1.88, 1.948, 2.058, 2.208, 2.406, 2.659, 2.975, 3.359, 3.817",\
                 "2.217, 2.241, 2.314, 2.43, 2.585, 2.786, 3.041, 3.359, 3.745, 4.204");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.4537, 0.4715, 0.5322, 0.644, 0.8156, 1.057, 1.376, 1.779, 2.271, 2.859",\
                 "0.462, 0.48, 0.5406, 0.6524, 0.824, 1.065, 1.384, 1.787, 2.279, 2.868",\
                 "0.4815, 0.4994, 0.56, 0.672, 0.8445, 1.086, 1.405, 1.808, 2.302, 2.89",\
                 "0.5106, 0.5285, 0.59, 0.7034, 0.877, 1.12, 1.44, 1.843, 2.337, 2.927",\
                 "0.5383, 0.5568, 0.6193, 0.7326, 0.905, 1.146, 1.466, 1.87, 2.364, 2.953",\
                 "0.5458, 0.5649, 0.6292, 0.7451, 0.919, 1.161, 1.479, 1.879, 2.372, 2.961",\
                 "0.5263, 0.5461, 0.6128, 0.7317, 0.9089, 1.152, 1.472, 1.873, 2.363, 2.949",\
                 "0.4744, 0.4948, 0.5637, 0.686, 0.868, 1.116, 1.439, 1.842, 2.333, 2.919",\
                 "0.3869, 0.4085, 0.4798, 0.6063, 0.7918, 1.045, 1.373, 1.782, 2.276, 2.863",\
                 "0.2622, 0.2848, 0.3582, 0.4878, 0.6782, 0.936, 1.271, 1.687, 2.188, 2.779");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.1963, 0.2178, 0.292, 0.434, 0.6586, 0.9796, 1.407, 1.945, 2.604, 3.39",\
                 "0.1963, 0.2177, 0.292, 0.434, 0.658, 0.9795, 1.406, 1.945, 2.604, 3.391",\
                 "0.1964, 0.2174, 0.2919, 0.4338, 0.6585, 0.9797, 1.405, 1.945, 2.605, 3.39",\
                 "0.2014, 0.2226, 0.295, 0.4354, 0.6592, 0.98, 1.405, 1.945, 2.604, 3.39",\
                 "0.2064, 0.227, 0.2984, 0.4372, 0.6604, 0.9812, 1.407, 1.946, 2.604, 3.391",\
                 "0.2192, 0.2378, 0.3054, 0.4396, 0.6578, 0.9754, 1.403, 1.943, 2.604, 3.39",\
                 "0.2408, 0.2588, 0.323, 0.4514, 0.6626, 0.9732, 1.397, 1.938, 2.598, 3.387",\
                 "0.2694, 0.2868, 0.3478, 0.471, 0.6764, 0.9814, 1.397, 1.932, 2.591, 3.38",\
                 "0.3012, 0.3188, 0.3786, 0.4962, 0.6958, 0.9954, 1.407, 1.936, 2.59, 3.376",\
                 "0.3372, 0.3548, 0.415, 0.5286, 0.721, 1.014, 1.422, 1.948, 2.598, 3.378");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.2851, 0.3141, 0.4145, 0.6071, 0.9127, 1.343, 1.911, 2.627, 3.5, 4.541",\
                 "0.2854, 0.3137, 0.4138, 0.6073, 0.912, 1.343, 1.911, 2.627, 3.5, 4.541",\
                 "0.2864, 0.3157, 0.4151, 0.6074, 0.9122, 1.343, 1.911, 2.626, 3.501, 4.541",\
                 "0.2839, 0.3133, 0.415, 0.6086, 0.913, 1.343, 1.911, 2.627, 3.5, 4.541",\
                 "0.2782, 0.3074, 0.4066, 0.5966, 0.9016, 1.336, 1.91, 2.627, 3.5, 4.54",\
                 "0.2894, 0.3182, 0.417, 0.602, 0.8982, 1.325, 1.896, 2.617, 3.495, 4.539",\
                 "0.3048, 0.3338, 0.4336, 0.619, 0.9112, 1.331, 1.893, 2.605, 3.485, 4.529",\
                 "0.3234, 0.3534, 0.4536, 0.64, 0.9346, 1.353, 1.907, 2.612, 3.479, 4.521",\
                 "0.3432, 0.374, 0.4766, 0.6644, 0.9612, 1.383, 1.94, 2.637, 3.493, 4.523",\
                 "0.3656, 0.3956, 0.5, 0.689, 0.9892, 1.416, 1.98, 2.681, 3.531, 4.548");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.1177, 0.1319, 0.1804, 0.2704, 0.4084, 0.6005, 0.8525, 1.169, 1.556, 2.016",\
                 "0.129, 0.1432, 0.1917, 0.2818, 0.4198, 0.612, 0.864, 1.181, 1.567, 2.028",\
                 "0.1708, 0.1866, 0.2365, 0.3259, 0.4638, 0.6559, 0.9077, 1.224, 1.611, 2.071",\
                 "0.204, 0.2256, 0.2934, 0.4049, 0.5518, 0.743, 0.9941, 1.31, 1.696, 2.156",\
                 "0.2131, 0.2408, 0.3273, 0.468, 0.6524, 0.8752, 1.133, 1.448, 1.832, 2.291",\
                 "0.1955, 0.229, 0.3351, 0.5059, 0.7276, 0.9943, 1.3, 1.642, 2.027, 2.485",\
                 "0.1497, 0.1889, 0.3133, 0.5146, 0.7762, 1.086, 1.441, 1.838, 2.272, 2.743",\
                 "0.075, 0.1201, 0.2612, 0.4922, 0.793, 1.149, 1.552, 2.002, 2.496, 3.03",\
                 "-0.0303, 0.0201, 0.178, 0.4378, 0.7771, 1.179, 1.635, 2.136, 2.686, 3.282",\
                 "-0.1678, -0.1119, 0.0637, 0.3497, 0.7264, 1.174, 1.681, 2.239, 2.845, 3.502");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.2551, 0.2878, 0.401, 0.6146, 0.9452, 1.41, 2.02, 2.788, 3.727, 4.845",\
                 "0.265, 0.2982, 0.4141, 0.63, 0.963, 1.428, 2.039, 2.81, 3.749, 4.863",\
                 "0.3021, 0.3349, 0.4494, 0.6662, 1.001, 1.468, 2.079, 2.849, 3.788, 4.908",\
                 "0.3732, 0.4085, 0.5274, 0.7405, 1.072, 1.537, 2.148, 2.919, 3.856, 4.977",\
                 "0.4835, 0.5214, 0.6466, 0.8718, 1.201, 1.659, 2.265, 3.031, 3.968, 5.083",\
                 "0.6313, 0.6746, 0.8123, 1.048, 1.394, 1.853, 2.449, 3.207, 4.137, 5.25",\
                 "0.8102, 0.8607, 1.017, 1.274, 1.632, 2.111, 2.713, 3.46, 4.38, 5.481",\
                 "1.019, 1.076, 1.255, 1.54, 1.924, 2.418, 3.042, 3.798, 4.706, 5.799",\
                 "1.257, 1.323, 1.525, 1.844, 2.262, 2.78, 3.422, 4.202, 5.123, 6.203",\
                 "1.528, 1.601, 1.827, 2.182, 2.641, 3.195, 3.859, 4.66, 5.608, 6.703");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.1616, 0.1848, 0.2647, 0.4155, 0.6495, 0.9762, 1.406, 1.946, 2.604, 3.391",\
                 "0.161, 0.1846, 0.2648, 0.4159, 0.6493, 0.9756, 1.406, 1.945, 2.604, 3.39",\
                 "0.1888, 0.2071, 0.2733, 0.4153, 0.6498, 0.9758, 1.406, 1.946, 2.605, 3.39",\
                 "0.2691, 0.2921, 0.3659, 0.4924, 0.6808, 0.9788, 1.406, 1.946, 2.605, 3.39",\
                 "0.3744, 0.4021, 0.4878, 0.6332, 0.8354, 1.092, 1.447, 1.95, 2.605, 3.39",\
                 "0.5042, 0.536, 0.639, 0.8032, 1.027, 1.313, 1.656, 2.08, 2.652, 3.396",\
                 "0.6538, 0.694, 0.8144, 1.004, 1.252, 1.564, 1.942, 2.382, 2.889, 3.533",\
                 "0.8254, 0.8726, 1.016, 1.235, 1.514, 1.849, 2.257, 2.734, 3.278, 3.881",\
                 "1.02, 1.076, 1.24, 1.494, 1.807, 2.177, 2.613, 3.116, 3.699, 4.353",\
                 "1.239, 1.302, 1.492, 1.778, 2.13, 2.542, 3.008, 3.542, 4.156, 4.851");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.3107, 0.3664, 0.5615, 0.9347, 1.516, 2.332, 3.402, 4.752, 6.398, 8.366",\
                 "0.3105, 0.3665, 0.5618, 0.9357, 1.516, 2.332, 3.399, 4.755, 6.404, 8.364",\
                 "0.3152, 0.3687, 0.5623, 0.9354, 1.517, 2.328, 3.403, 4.756, 6.398, 8.366",\
                 "0.3689, 0.4192, 0.5914, 0.9383, 1.516, 2.328, 3.406, 4.759, 6.403, 8.362",\
                 "0.44, 0.4892, 0.6694, 1.003, 1.538, 2.332, 3.404, 4.747, 6.395, 8.366",\
                 "0.5526, 0.601, 0.7696, 1.107, 1.63, 2.373, 3.408, 4.756, 6.398, 8.374",\
                 "0.6898, 0.7442, 0.916, 1.24, 1.764, 2.498, 3.479, 4.772, 6.406, 8.365",\
                 "0.843, 0.9018, 1.092, 1.418, 1.926, 2.666, 3.633, 4.869, 6.433, 8.374",\
                 "1.01, 1.074, 1.286, 1.639, 2.141, 2.865, 3.84, 5.056, 6.562, 8.433",\
                 "1.187, 1.26, 1.497, 1.883, 2.408, 3.109, 4.071, 5.306, 6.787, 8.584");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.3632, 0.3794, 0.4321, 0.5252, 0.664, 0.8553, 1.106, 1.422, 1.808, 2.267",\
                 "0.3797, 0.3959, 0.4485, 0.5417, 0.6806, 0.8719, 1.123, 1.438, 1.824, 2.284",\
                 "0.4452, 0.4613, 0.514, 0.6074, 0.7464, 0.9376, 1.188, 1.504, 1.89, 2.349",\
                 "0.5693, 0.5858, 0.6392, 0.7332, 0.8723, 1.064, 1.315, 1.63, 2.016, 2.476",\
                 "0.7264, 0.744, 0.7996, 0.895, 1.035, 1.227, 1.478, 1.793, 2.178, 2.638",\
                 "0.9133, 0.9323, 0.9904, 1.089, 1.23, 1.422, 1.672, 1.988, 2.373, 2.832",\
                 "1.128, 1.148, 1.21, 1.313, 1.457, 1.651, 1.901, 2.216, 2.601, 3.058",\
                 "1.369, 1.391, 1.459, 1.566, 1.715, 1.911, 2.162, 2.478, 2.862, 3.32",\
                 "1.64, 1.664, 1.736, 1.85, 2.003, 2.203, 2.457, 2.773, 3.158, 3.617",\
                 "1.941, 1.966, 2.043, 2.164, 2.323, 2.527, 2.784, 3.103, 3.49, 3.95");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.4389, 0.4568, 0.5174, 0.6292, 0.8013, 1.043, 1.362, 1.766, 2.259, 2.847",\
                 "0.4497, 0.4677, 0.5284, 0.6404, 0.8127, 1.054, 1.374, 1.778, 2.271, 2.859",\
                 "0.4888, 0.5065, 0.5674, 0.6797, 0.8526, 1.095, 1.415, 1.819, 2.311, 2.9",\
                 "0.5442, 0.5622, 0.6236, 0.737, 0.9107, 1.154, 1.474, 1.877, 2.372, 2.961",\
                 "0.5921, 0.6106, 0.6727, 0.7863, 0.9587, 1.201, 1.521, 1.925, 2.419, 3.008",\
                 "0.6243, 0.6434, 0.7069, 0.8211, 0.9954, 1.237, 1.555, 1.958, 2.451, 3.039",\
                 "0.6358, 0.6553, 0.7202, 0.8373, 1.013, 1.256, 1.574, 1.977, 2.467, 3.054",\
                 "0.6217, 0.6422, 0.7096, 0.8296, 1.008, 1.254, 1.575, 1.977, 2.469, 3.056",\
                 "0.5796, 0.6009, 0.6703, 0.7938, 0.9756, 1.225, 1.55, 1.956, 2.449, 3.036",\
                 "0.5074, 0.5291, 0.6012, 0.7279, 0.9135, 1.166, 1.496, 1.908, 2.406, 2.995");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.1608, 0.1804, 0.2519, 0.3918, 0.6154, 0.9344, 1.36, 1.9, 2.559, 3.344",\
                 "0.1609, 0.1805, 0.2519, 0.3912, 0.6149, 0.9343, 1.36, 1.898, 2.559, 3.345",\
                 "0.1611, 0.1808, 0.252, 0.3918, 0.6154, 0.9347, 1.36, 1.9, 2.559, 3.344",\
                 "0.1691, 0.1882, 0.2574, 0.3944, 0.6164, 0.9346, 1.361, 1.9, 2.558, 3.345",\
                 "0.187, 0.2054, 0.2708, 0.4028, 0.6204, 0.9372, 1.361, 1.9, 2.558, 3.345",\
                 "0.2132, 0.2294, 0.2908, 0.4178, 0.6298, 0.9406, 1.361, 1.9, 2.558, 3.342",\
                 "0.2454, 0.2612, 0.3194, 0.4398, 0.6452, 0.9498, 1.365, 1.9, 2.557, 3.343",\
                 "0.2818, 0.2968, 0.3522, 0.4686, 0.6676, 0.9666, 1.377, 1.905, 2.558, 3.342",\
                 "0.3198, 0.336, 0.3904, 0.502, 0.6932, 0.9882, 1.395, 1.918, 2.566, 3.344",\
                 "0.3596, 0.376, 0.4328, 0.5402, 0.7252, 1.013, 1.416, 1.939, 2.585, 3.359");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002111, 0.006009, 0.01345, 0.02505, 0.04133, 0.06275, 0.08973, 0.1227, 0.1619");
          values("0.285, 0.3136, 0.4138, 0.6066, 0.9114, 1.342, 1.91, 2.626, 3.5, 4.54",\
                 "0.2855, 0.3137, 0.4139, 0.6073, 0.9118, 1.343, 1.911, 2.627, 3.501, 4.54",\
                 "0.2856, 0.3148, 0.4146, 0.6071, 0.9121, 1.343, 1.911, 2.627, 3.501, 4.541",\
                 "0.2873, 0.3164, 0.4176, 0.6092, 0.9132, 1.343, 1.911, 2.626, 3.5, 4.541",\
                 "0.2802, 0.3094, 0.4092, 0.5996, 0.9068, 1.34, 1.91, 2.626, 3.5, 4.541",\
                 "0.288, 0.3164, 0.415, 0.6006, 0.9004, 1.33, 1.902, 2.621, 3.498, 4.54",\
                 "0.3036, 0.3328, 0.429, 0.614, 0.9078, 1.332, 1.896, 2.612, 3.49, 4.533",\
                 "0.3226, 0.352, 0.4496, 0.633, 0.9266, 1.347, 1.904, 2.613, 3.484, 4.527",\
                 "0.343, 0.3726, 0.472, 0.6558, 0.9482, 1.371, 1.929, 2.631, 3.492, 4.525",\
                 "0.3666, 0.396, 0.4954, 0.6804, 0.9736, 1.399, 1.961, 2.665, 3.519, 4.542");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xnor2_2) {
    area : 37.318400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "0.0001120416" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "7.83618e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "0.0001091244" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "7.83618e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001120416" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.007372 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.007322 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!(A1^A2))" ;
      max_capacitance : 0.7203 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1924, 0.1868, 0.1791, 0.1751, 0.1728, 0.1716, 0.1708, 0.1704, 0.17, 0.1698",\
                 "0.192, 0.1864, 0.1786, 0.1746, 0.1724, 0.1711, 0.1704, 0.1699, 0.1696, 0.1693",\
                 "0.1906, 0.1849, 0.1772, 0.1731, 0.1709, 0.1697, 0.1689, 0.1685, 0.1681, 0.1679",\
                 "0.1903, 0.1846, 0.177, 0.173, 0.1708, 0.1696, 0.1689, 0.1683, 0.168, 0.1678",\
                 "0.193, 0.1876, 0.1803, 0.1765, 0.1748, 0.1737, 0.173, 0.1726, 0.1724, 0.1722",\
                 "0.2016, 0.1963, 0.1893, 0.1859, 0.1841, 0.1831, 0.1825, 0.1821, 0.1819, 0.1817",\
                 "0.2168, 0.2115, 0.2044, 0.2009, 0.1991, 0.1981, 0.1975, 0.1972, 0.1969, 0.1968",\
                 "0.2385, 0.233, 0.2257, 0.2221, 0.2202, 0.2193, 0.2187, 0.2183, 0.218, 0.2178",\
                 "0.2667, 0.2612, 0.2535, 0.2496, 0.2476, 0.2467, 0.246, 0.2455, 0.2452, 0.245",\
                 "0.3013, 0.2955, 0.2874, 0.2833, 0.2813, 0.2802, 0.2796, 0.2791, 0.2788, 0.2786");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1972, 0.1954, 0.193, 0.1925, 0.1931, 0.1943, 0.1957, 0.1966, 0.1984, 0.2064",\
                 "0.1965, 0.1947, 0.1921, 0.1916, 0.1923, 0.1936, 0.1953, 0.1959, 0.1981, 0.2059",\
                 "0.1959, 0.194, 0.1917, 0.191, 0.1916, 0.1927, 0.1941, 0.1952, 0.1971, 0.2068",\
                 "0.1977, 0.1959, 0.1936, 0.1929, 0.1935, 0.1948, 0.1964, 0.1969, 0.1991, 0.2084",\
                 "0.2052, 0.2032, 0.2006, 0.2001, 0.2006, 0.2019, 0.2033, 0.2045, 0.2074, 0.2166",\
                 "0.219, 0.2168, 0.2141, 0.2138, 0.214, 0.2154, 0.2167, 0.2177, 0.22, 0.2332",\
                 "0.2402, 0.2374, 0.2344, 0.2329, 0.2345, 0.2355, 0.2364, 0.2374, 0.2399, 0.2563",\
                 "0.2683, 0.2656, 0.2622, 0.2605, 0.2598, 0.2625, 0.2634, 0.2645, 0.2681, 0.2935",\
                 "0.3033, 0.3003, 0.2962, 0.2941, 0.2931, 0.2942, 0.2972, 0.2997, 0.3037, 0.3453",\
                 "0.3453, 0.3422, 0.3377, 0.3353, 0.334, 0.3339, 0.3355, 0.3402, 0.3485, 0.4251");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1629, 0.1579, 0.1519, 0.1489, 0.1473, 0.1465, 0.146, 0.1456, 0.1454, 0.1452",\
                 "0.1618, 0.1568, 0.1507, 0.1479, 0.1463, 0.1455, 0.1449, 0.1445, 0.1443, 0.1442",\
                 "0.1613, 0.1563, 0.1501, 0.1473, 0.1458, 0.145, 0.1446, 0.1442, 0.1439, 0.1437",\
                 "0.169, 0.1636, 0.1563, 0.1528, 0.151, 0.1501, 0.1495, 0.1491, 0.1489, 0.1487",\
                 "0.1883, 0.1817, 0.172, 0.1667, 0.1638, 0.1622, 0.1613, 0.1607, 0.1604, 0.1601",\
                 "0.2157, 0.208, 0.1957, 0.1883, 0.1839, 0.1815, 0.1802, 0.1794, 0.1788, 0.1784",\
                 "0.2529, 0.2441, 0.2288, 0.2188, 0.2127, 0.2093, 0.207, 0.2058, 0.2048, 0.2043",\
                 "0.3005, 0.2906, 0.272, 0.259, 0.2509, 0.2459, 0.2428, 0.2408, 0.2394, 0.2385",\
                 "0.3582, 0.3474, 0.3255, 0.3093, 0.2989, 0.292, 0.2876, 0.2848, 0.2828, 0.2815",\
                 "0.4267, 0.4149, 0.39, 0.3702, 0.3571, 0.3482, 0.3423, 0.3386, 0.336, 0.3341");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.07206, 0.07059, 0.06967, 0.07031, 0.0714, 0.07287, 0.07406, 0.07604, 0.07725, 0.08348",\
                 "0.07161, 0.07004, 0.0693, 0.06991, 0.07097, 0.07241, 0.07386, 0.07505, 0.07692, 0.08348",\
                 "0.07266, 0.07092, 0.06957, 0.06998, 0.07097, 0.07254, 0.07376, 0.07538, 0.07692, 0.08575",\
                 "0.08113, 0.0787, 0.07582, 0.07473, 0.07526, 0.0763, 0.07776, 0.08, 0.08088, 0.08915",\
                 "0.09651, 0.09285, 0.0876, 0.08595, 0.0849, 0.08518, 0.08637, 0.08825, 0.08982, 0.09812",\
                 "0.1204, 0.1157, 0.1085, 0.1038, 0.1031, 0.1024, 0.102, 0.1028, 0.106, 0.1161",\
                 "0.1529, 0.1466, 0.1373, 0.1304, 0.1264, 0.127, 0.1266, 0.1265, 0.1275, 0.1396",\
                 "0.1943, 0.1864, 0.1751, 0.1658, 0.1604, 0.1571, 0.1585, 0.1588, 0.1589, 0.1739",\
                 "0.2449, 0.2353, 0.2212, 0.2099, 0.202, 0.1979, 0.1961, 0.1987, 0.199, 0.221",\
                 "0.3051, 0.2936, 0.2773, 0.2642, 0.2545, 0.2469, 0.243, 0.2423, 0.249, 0.2819");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1665, 0.1615, 0.1552, 0.1524, 0.1509, 0.15, 0.1495, 0.1492, 0.1489, 0.1487",\
                 "0.1666, 0.1616, 0.1555, 0.1525, 0.151, 0.1502, 0.1496, 0.1493, 0.149, 0.1489",\
                 "0.1668, 0.1617, 0.1555, 0.1527, 0.1511, 0.1503, 0.1497, 0.1493, 0.1492, 0.149",\
                 "0.1685, 0.1636, 0.1573, 0.1544, 0.1529, 0.152, 0.1514, 0.1511, 0.1508, 0.1507",\
                 "0.1736, 0.1686, 0.1623, 0.1593, 0.1579, 0.157, 0.1565, 0.1561, 0.1559, 0.1557",\
                 "0.1832, 0.1782, 0.1716, 0.1687, 0.1671, 0.1662, 0.1656, 0.1654, 0.165, 0.1649",\
                 "0.1977, 0.1926, 0.1857, 0.1824, 0.1808, 0.1799, 0.1793, 0.1789, 0.1786, 0.1784",\
                 "0.2173, 0.2119, 0.2047, 0.2011, 0.1994, 0.1984, 0.1978, 0.1974, 0.1972, 0.197",\
                 "0.242, 0.2364, 0.2289, 0.2252, 0.2232, 0.2222, 0.2215, 0.2211, 0.2208, 0.2206",\
                 "0.2721, 0.2663, 0.2585, 0.2543, 0.2523, 0.2512, 0.2504, 0.2499, 0.2496, 0.2494");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1902, 0.1882, 0.186, 0.1852, 0.1859, 0.1875, 0.1886, 0.1906, 0.1918, 0.1991",\
                 "0.189, 0.187, 0.1847, 0.184, 0.1847, 0.1862, 0.1873, 0.1886, 0.1902, 0.1978",\
                 "0.189, 0.1872, 0.1849, 0.1843, 0.1849, 0.1861, 0.1874, 0.1886, 0.1905, 0.1984",\
                 "0.1924, 0.1907, 0.1883, 0.1877, 0.1886, 0.1896, 0.1908, 0.1929, 0.1942, 0.2028",\
                 "0.2008, 0.1987, 0.1964, 0.1956, 0.196, 0.1973, 0.1987, 0.2002, 0.2021, 0.2143",\
                 "0.2131, 0.211, 0.2082, 0.2078, 0.2079, 0.2094, 0.2107, 0.2114, 0.214, 0.2293",\
                 "0.2314, 0.229, 0.2257, 0.2254, 0.2263, 0.2271, 0.2279, 0.2295, 0.2319, 0.2522",\
                 "0.256, 0.2535, 0.2499, 0.248, 0.2488, 0.2511, 0.2519, 0.2532, 0.2552, 0.2848",\
                 "0.2867, 0.2842, 0.2803, 0.2784, 0.2776, 0.2783, 0.2817, 0.2822, 0.2873, 0.3353",\
                 "0.324, 0.321, 0.3164, 0.3143, 0.3125, 0.3136, 0.315, 0.3193, 0.33, 0.4178");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1812, 0.1756, 0.168, 0.1639, 0.1617, 0.1605, 0.1597, 0.1592, 0.1589, 0.1586",\
                 "0.1803, 0.1747, 0.1668, 0.163, 0.1608, 0.1595, 0.1588, 0.1582, 0.1579, 0.1576",\
                 "0.1805, 0.1748, 0.1671, 0.1632, 0.161, 0.1598, 0.159, 0.1585, 0.1582, 0.158",\
                 "0.1875, 0.1817, 0.1733, 0.1688, 0.1664, 0.1652, 0.1644, 0.1638, 0.1635, 0.1633",\
                 "0.2073, 0.2005, 0.1898, 0.1833, 0.18, 0.1779, 0.1768, 0.1761, 0.1756, 0.1752",\
                 "0.2354, 0.2274, 0.2143, 0.2059, 0.201, 0.1983, 0.1967, 0.1956, 0.1949, 0.1944",\
                 "0.273, 0.2642, 0.2483, 0.2376, 0.231, 0.2271, 0.2247, 0.2232, 0.2222, 0.2215",\
                 "0.3212, 0.3114, 0.2927, 0.2791, 0.2706, 0.2653, 0.2619, 0.2597, 0.2583, 0.2572",\
                 "0.3801, 0.3694, 0.3478, 0.3312, 0.3202, 0.3131, 0.3084, 0.3055, 0.3034, 0.302",\
                 "0.4496, 0.4381, 0.4137, 0.3937, 0.3802, 0.371, 0.365, 0.361, 0.3582, 0.3562");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.07583, 0.07429, 0.07351, 0.07422, 0.07528, 0.07684, 0.078, 0.07971, 0.08159, 0.08814",\
                 "0.07589, 0.07441, 0.07357, 0.07425, 0.07551, 0.07665, 0.07797, 0.07971, 0.08159, 0.08895",\
                 "0.07665, 0.07493, 0.07375, 0.07408, 0.07538, 0.07658, 0.07794, 0.07971, 0.08159, 0.08909",\
                 "0.08318, 0.08086, 0.07854, 0.07794, 0.07858, 0.07991, 0.08127, 0.08301, 0.08489, 0.09283",\
                 "0.09718, 0.094, 0.08926, 0.08864, 0.08788, 0.08869, 0.08965, 0.09093, 0.0935, 0.1021",\
                 "0.1199, 0.1154, 0.1091, 0.1055, 0.1047, 0.1045, 0.1047, 0.1058, 0.1074, 0.1173",\
                 "0.1517, 0.146, 0.1378, 0.1315, 0.128, 0.129, 0.129, 0.1295, 0.1308, 0.142",\
                 "0.1923, 0.1851, 0.1752, 0.1667, 0.1612, 0.1596, 0.1609, 0.1615, 0.1623, 0.1765",\
                 "0.2423, 0.2337, 0.2211, 0.2115, 0.2036, 0.1989, 0.1982, 0.2008, 0.2023, 0.2235",\
                 "0.3019, 0.2919, 0.2771, 0.265, 0.2553, 0.2491, 0.2463, 0.246, 0.251, 0.2849");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.6476, 0.6956, 0.8146, 0.9814, 1.197, 1.476, 1.833, 2.28, 2.824, 3.473",\
                 "0.6603, 0.7083, 0.8273, 0.9941, 1.21, 1.489, 1.846, 2.292, 2.837, 3.486",\
                 "0.6998, 0.7479, 0.8668, 1.034, 1.25, 1.529, 1.886, 2.332, 2.876, 3.525",\
                 "0.7379, 0.7861, 0.905, 1.072, 1.288, 1.567, 1.924, 2.37, 2.914, 3.563",\
                 "0.761, 0.8069, 0.9229, 1.088, 1.304, 1.583, 1.94, 2.386, 2.931, 3.58",\
                 "0.7464, 0.7921, 0.9072, 1.072, 1.288, 1.567, 1.923, 2.37, 2.915, 3.564",\
                 "0.6937, 0.74, 0.8548, 1.02, 1.236, 1.515, 1.871, 2.318, 2.862, 3.511",\
                 "0.6049, 0.6508, 0.7663, 0.9322, 1.148, 1.427, 1.783, 2.229, 2.774, 3.422",\
                 "0.4765, 0.5228, 0.6388, 0.8047, 1.02, 1.299, 1.656, 2.101, 2.645, 3.294",\
                 "0.3069, 0.3533, 0.4696, 0.636, 0.8517, 1.13, 1.487, 1.932, 2.476, 3.124");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.783, 0.8239, 0.9453, 1.169, 1.518, 2.007, 2.651, 3.463, 4.453, 5.633",\
                 "0.7934, 0.8344, 0.9556, 1.18, 1.529, 2.018, 2.662, 3.473, 4.464, 5.644",\
                 "0.8321, 0.873, 0.9945, 1.218, 1.567, 2.056, 2.7, 3.512, 4.502, 5.682",\
                 "0.9203, 0.9613, 1.083, 1.307, 1.656, 2.145, 2.789, 3.6, 4.59, 5.771",\
                 "1.072, 1.113, 1.234, 1.458, 1.807, 2.297, 2.94, 3.751, 4.742, 5.92",\
                 "1.282, 1.323, 1.445, 1.669, 2.018, 2.507, 3.151, 3.962, 4.953, 6.133",\
                 "1.549, 1.59, 1.712, 1.936, 2.284, 2.773, 3.417, 4.228, 5.219, 6.397",\
                 "1.864, 1.906, 2.029, 2.252, 2.6, 3.089, 3.732, 4.542, 5.532, 6.71",\
                 "2.224, 2.267, 2.391, 2.614, 2.962, 3.451, 4.094, 4.905, 5.893, 7.071",\
                 "2.631, 2.675, 2.799, 3.023, 3.372, 3.861, 4.504, 5.315, 6.303, 7.482");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1366, 0.1821, 0.2988, 0.4886, 0.7784, 1.201, 1.777, 2.519, 3.432, 4.523",\
                 "0.1365, 0.1822, 0.2989, 0.4886, 0.7782, 1.201, 1.777, 2.519, 3.432, 4.523",\
                 "0.1369, 0.1825, 0.2991, 0.4888, 0.778, 1.201, 1.777, 2.519, 3.433, 4.523",\
                 "0.1366, 0.1818, 0.299, 0.4884, 0.7778, 1.2, 1.776, 2.52, 3.43, 4.519",\
                 "0.1312, 0.175, 0.2926, 0.4848, 0.7778, 1.2, 1.776, 2.52, 3.429, 4.523",\
                 "0.128, 0.172, 0.2914, 0.4842, 0.7748, 1.197, 1.777, 2.518, 3.433, 4.525",\
                 "0.1284, 0.1726, 0.2924, 0.4848, 0.7746, 1.197, 1.775, 2.515, 3.428, 4.517",\
                 "0.1298, 0.1738, 0.293, 0.4862, 0.7752, 1.199, 1.775, 2.517, 3.427, 4.515",\
                 "0.1316, 0.1762, 0.295, 0.4868, 0.7752, 1.197, 1.774, 2.515, 3.424, 4.513",\
                 "0.1338, 0.1782, 0.2974, 0.4878, 0.776, 1.196, 1.773, 2.511, 3.423, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.09566, 0.1489, 0.3395, 0.7294, 1.344, 2.203, 3.338, 4.767, 6.513, 8.593",\
                 "0.09526, 0.149, 0.3392, 0.7292, 1.344, 2.206, 3.336, 4.768, 6.513, 8.593",\
                 "0.0951, 0.149, 0.3394, 0.7288, 1.344, 2.202, 3.337, 4.767, 6.512, 8.596",\
                 "0.0958, 0.149, 0.3394, 0.7292, 1.345, 2.206, 3.336, 4.769, 6.519, 8.589",\
                 "0.0966, 0.15, 0.34, 0.7296, 1.345, 2.207, 3.336, 4.768, 6.515, 8.594",\
                 "0.0972, 0.1516, 0.3404, 0.7298, 1.344, 2.205, 3.337, 4.767, 6.511, 8.591",\
                 "0.1002, 0.154, 0.3414, 0.7298, 1.341, 2.202, 3.336, 4.765, 6.51, 8.594",\
                 "0.1036, 0.1576, 0.3436, 0.73, 1.345, 2.202, 3.336, 4.764, 6.511, 8.591",\
                 "0.1082, 0.1612, 0.3454, 0.7328, 1.346, 2.205, 3.336, 4.764, 6.508, 8.586",\
                 "0.112, 0.1654, 0.3486, 0.7346, 1.346, 2.203, 3.335, 4.763, 6.505, 8.592");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.3841, 0.4294, 0.544, 0.7082, 0.9229, 1.201, 1.558, 2.004, 2.548, 3.197",\
                 "0.395, 0.4403, 0.555, 0.719, 0.9338, 1.212, 1.569, 2.015, 2.559, 3.208",\
                 "0.448, 0.4933, 0.6078, 0.7717, 0.9865, 1.265, 1.621, 2.067, 2.612, 3.261",\
                 "0.571, 0.6159, 0.7299, 0.8937, 1.108, 1.387, 1.743, 2.19, 2.734, 3.383",\
                 "0.7404, 0.7873, 0.9048, 1.072, 1.289, 1.567, 1.924, 2.37, 2.913, 3.562",\
                 "0.947, 0.9976, 1.119, 1.29, 1.509, 1.79, 2.148, 2.593, 3.137, 3.785",\
                 "1.194, 1.248, 1.377, 1.552, 1.774, 2.056, 2.414, 2.862, 3.405, 4.054",\
                 "1.48, 1.538, 1.677, 1.859, 2.088, 2.372, 2.73, 3.177, 3.722, 4.37",\
                 "1.805, 1.867, 2.015, 2.208, 2.446, 2.737, 3.098, 3.545, 4.089, 4.738",\
                 "2.171, 2.236, 2.394, 2.599, 2.847, 3.147, 3.516, 3.967, 4.511, 5.159");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.2669, 0.311, 0.4411, 0.6683, 1.018, 1.508, 2.153, 2.963, 3.95, 5.133",\
                 "0.2795, 0.3236, 0.4537, 0.6809, 1.03, 1.521, 2.165, 2.975, 3.963, 5.146",\
                 "0.3251, 0.3691, 0.4984, 0.7253, 1.075, 1.565, 2.21, 3.018, 4.008, 5.194",\
                 "0.3859, 0.4309, 0.5611, 0.7874, 1.136, 1.626, 2.27, 3.083, 4.074, 5.251",\
                 "0.4274, 0.4742, 0.6058, 0.8319, 1.18, 1.669, 2.313, 3.124, 4.115, 5.296",\
                 "0.4453, 0.4946, 0.6302, 0.8565, 1.204, 1.692, 2.334, 3.146, 4.136, 5.318",\
                 "0.4327, 0.4856, 0.627, 0.8559, 1.203, 1.689, 2.332, 3.142, 4.132, 5.313",\
                 "0.3864, 0.4429, 0.591, 0.8247, 1.174, 1.662, 2.303, 3.113, 4.101, 5.279",\
                 "0.3043, 0.3649, 0.5199, 0.7589, 1.112, 1.605, 2.248, 3.056, 4.044, 5.223",\
                 "0.185, 0.2496, 0.4119, 0.6578, 1.014, 1.512, 2.16, 2.972, 3.959, 5.137");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1245, 0.1686, 0.2882, 0.481, 0.7723, 1.197, 1.775, 2.517, 3.432, 4.524",\
                 "0.1246, 0.1685, 0.2873, 0.4811, 0.7726, 1.197, 1.774, 2.519, 3.431, 4.523",\
                 "0.1245, 0.1683, 0.2874, 0.4811, 0.7726, 1.197, 1.776, 2.519, 3.429, 4.524",\
                 "0.1274, 0.171, 0.2898, 0.4824, 0.7732, 1.197, 1.775, 2.519, 3.432, 4.523",\
                 "0.1458, 0.189, 0.3046, 0.4936, 0.7806, 1.199, 1.775, 2.519, 3.429, 4.524",\
                 "0.1648, 0.2088, 0.3222, 0.5102, 0.7928, 1.209, 1.781, 2.521, 3.43, 4.523",\
                 "0.1882, 0.2354, 0.3474, 0.528, 0.8056, 1.218, 1.788, 2.526, 3.434, 4.522",\
                 "0.215, 0.2656, 0.3814, 0.5596, 0.8284, 1.232, 1.793, 2.529, 3.436, 4.521",\
                 "0.2442, 0.298, 0.4208, 0.599, 0.866, 1.259, 1.808, 2.536, 3.443, 4.525",\
                 "0.275, 0.3334, 0.4636, 0.644, 0.9102, 1.301, 1.844, 2.559, 3.451, 4.529");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1002, 0.1584, 0.3498, 0.7321, 1.345, 2.207, 3.343, 4.772, 6.517, 8.595",\
                 "0.1002, 0.1585, 0.3496, 0.7324, 1.345, 2.207, 3.342, 4.781, 6.527, 8.598",\
                 "0.09978, 0.1581, 0.3499, 0.7326, 1.345, 2.207, 3.342, 4.777, 6.529, 8.607",\
                 "0.1082, 0.1655, 0.356, 0.7332, 1.344, 2.21, 3.343, 4.775, 6.518, 8.609",\
                 "0.1202, 0.177, 0.3632, 0.739, 1.35, 2.21, 3.345, 4.771, 6.516, 8.601",\
                 "0.1372, 0.1928, 0.3756, 0.743, 1.351, 2.211, 3.346, 4.771, 6.519, 8.602",\
                 "0.1572, 0.212, 0.394, 0.755, 1.354, 2.213, 3.345, 4.776, 6.513, 8.595",\
                 "0.18, 0.2352, 0.4168, 0.7728, 1.37, 2.22, 3.346, 4.772, 6.526, 8.593",\
                 "0.2024, 0.2606, 0.4432, 0.794, 1.391, 2.242, 3.359, 4.776, 6.515, 8.591",\
                 "0.2264, 0.2856, 0.4682, 0.8162, 1.413, 2.273, 3.388, 4.795, 6.521, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.5763, 0.6215, 0.7361, 0.9003, 1.115, 1.393, 1.75, 2.196, 2.74, 3.389",\
                 "0.5907, 0.6359, 0.7504, 0.9148, 1.129, 1.408, 1.764, 2.21, 2.755, 3.403",\
                 "0.6341, 0.6794, 0.7937, 0.958, 1.173, 1.451, 1.808, 2.254, 2.798, 3.447",\
                 "0.6707, 0.716, 0.8305, 0.9946, 1.209, 1.488, 1.844, 2.29, 2.835, 3.483",\
                 "0.6784, 0.7232, 0.8374, 1.001, 1.215, 1.494, 1.85, 2.296, 2.841, 3.49",\
                 "0.6469, 0.6918, 0.8063, 0.9707, 1.185, 1.463, 1.819, 2.265, 2.809, 3.458",\
                 "0.5721, 0.6176, 0.7323, 0.8968, 1.112, 1.39, 1.746, 2.191, 2.735, 3.383",\
                 "0.4513, 0.497, 0.612, 0.7766, 0.9917, 1.27, 1.626, 2.071, 2.614, 3.263",\
                 "0.2803, 0.3258, 0.4419, 0.6075, 0.8226, 1.101, 1.456, 1.901, 2.444, 3.092",\
                 "0.0559, 0.1026, 0.2194, 0.385, 0.6002, 0.8784, 1.234, 1.679, 2.222, 2.87");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.7411, 0.7818, 0.9033, 1.127, 1.476, 1.965, 2.609, 3.42, 4.41, 5.589",\
                 "0.7501, 0.7908, 0.9123, 1.136, 1.485, 1.974, 2.618, 3.429, 4.418, 5.599",\
                 "0.8062, 0.8471, 0.9685, 1.192, 1.541, 2.031, 2.674, 3.486, 4.477, 5.655",\
                 "0.9398, 0.9807, 1.102, 1.326, 1.675, 2.165, 2.809, 3.618, 4.608, 5.789",\
                 "1.145, 1.186, 1.308, 1.532, 1.88, 2.37, 3.013, 3.824, 4.813, 5.995",\
                 "1.406, 1.446, 1.568, 1.792, 2.141, 2.63, 3.273, 4.085, 5.075, 6.255",\
                 "1.727, 1.768, 1.889, 2.114, 2.462, 2.951, 3.594, 4.406, 5.397, 6.577",\
                 "2.111, 2.153, 2.275, 2.498, 2.847, 3.336, 3.979, 4.789, 5.779, 6.961",\
                 "2.555, 2.599, 2.721, 2.944, 3.292, 3.78, 4.423, 5.233, 6.222, 7.402",\
                 "3.061, 3.105, 3.228, 3.451, 3.799, 4.287, 4.93, 5.74, 6.729, 7.908");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1247, 0.1692, 0.2876, 0.4811, 0.7735, 1.197, 1.775, 2.517, 3.431, 4.524",\
                 "0.1247, 0.1689, 0.288, 0.4806, 0.7723, 1.197, 1.775, 2.517, 3.431, 4.523",\
                 "0.1248, 0.1685, 0.2875, 0.4812, 0.7734, 1.198, 1.774, 2.519, 3.432, 4.524",\
                 "0.1246, 0.1682, 0.2876, 0.4804, 0.7724, 1.197, 1.775, 2.518, 3.431, 4.524",\
                 "0.1246, 0.1682, 0.2874, 0.479, 0.771, 1.195, 1.774, 2.519, 3.433, 4.521",\
                 "0.1258, 0.1696, 0.2888, 0.48, 0.771, 1.193, 1.772, 2.515, 3.432, 4.526",\
                 "0.1274, 0.1708, 0.29, 0.4822, 0.7728, 1.194, 1.771, 2.511, 3.426, 4.517",\
                 "0.129, 0.1728, 0.292, 0.4838, 0.774, 1.195, 1.769, 2.51, 3.423, 4.51",\
                 "0.1318, 0.1766, 0.2942, 0.4858, 0.7726, 1.195, 1.768, 2.509, 3.419, 4.508",\
                 "0.1342, 0.1782, 0.2978, 0.4872, 0.7758, 1.196, 1.77, 2.512, 3.419, 4.508");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.09518, 0.1491, 0.3396, 0.7293, 1.345, 2.202, 3.337, 4.768, 6.513, 8.596",\
                 "0.09512, 0.1488, 0.3392, 0.7294, 1.343, 2.203, 3.336, 4.768, 6.512, 8.592",\
                 "0.09524, 0.1489, 0.3392, 0.7294, 1.344, 2.202, 3.338, 4.766, 6.51, 8.596",\
                 "0.0962, 0.149, 0.3396, 0.7294, 1.343, 2.204, 3.338, 4.767, 6.511, 8.593",\
                 "0.0964, 0.1496, 0.34, 0.7296, 1.344, 2.207, 3.337, 4.765, 6.509, 8.593",\
                 "0.0974, 0.1512, 0.3404, 0.7292, 1.344, 2.207, 3.337, 4.767, 6.515, 8.595",\
                 "0.0994, 0.1532, 0.341, 0.7302, 1.343, 2.205, 3.337, 4.764, 6.512, 8.594",\
                 "0.1022, 0.1554, 0.3426, 0.73, 1.342, 2.203, 3.339, 4.766, 6.509, 8.592",\
                 "0.106, 0.1586, 0.3442, 0.7308, 1.343, 2.204, 3.335, 4.763, 6.517, 8.59",\
                 "0.1102, 0.163, 0.3472, 0.7312, 1.346, 2.203, 3.335, 4.763, 6.508, 8.602");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.4309, 0.4789, 0.5977, 0.7647, 0.9808, 1.26, 1.617, 2.063, 2.607, 3.256",\
                 "0.442, 0.4902, 0.6092, 0.7758, 0.9922, 1.271, 1.628, 2.074, 2.619, 3.268",\
                 "0.4977, 0.546, 0.6647, 0.8313, 1.048, 1.327, 1.683, 2.13, 2.674, 3.323",\
                 "0.6243, 0.672, 0.7902, 0.9568, 1.173, 1.452, 1.809, 2.255, 2.799, 3.448",\
                 "0.8077, 0.8578, 0.9791, 1.148, 1.364, 1.644, 2, 2.447, 2.991, 3.639",\
                 "1.032, 1.085, 1.211, 1.383, 1.604, 1.884, 2.242, 2.688, 3.232, 3.88",\
                 "1.304, 1.36, 1.492, 1.669, 1.891, 2.173, 2.532, 2.979, 3.523, 4.171",\
                 "1.624, 1.684, 1.825, 2.008, 2.234, 2.518, 2.875, 3.322, 3.867, 4.516",\
                 "1.992, 2.056, 2.206, 2.398, 2.631, 2.919, 3.278, 3.725, 4.269, 4.918",\
                 "2.41, 2.478, 2.638, 2.84, 3.083, 3.377, 3.74, 4.188, 4.732, 5.381");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.2809, 0.3253, 0.4552, 0.6826, 1.032, 1.522, 2.167, 2.978, 3.97, 5.151",\
                 "0.2922, 0.3366, 0.4664, 0.6937, 1.043, 1.533, 2.177, 2.988, 3.979, 5.159",\
                 "0.3203, 0.3643, 0.4938, 0.7208, 1.071, 1.56, 2.204, 3.016, 4.006, 5.186",\
                 "0.3577, 0.4032, 0.5339, 0.7608, 1.11, 1.599, 2.243, 3.056, 4.048, 5.224",\
                 "0.3812, 0.4284, 0.5615, 0.7887, 1.137, 1.626, 2.27, 3.081, 4.072, 5.253",\
                 "0.3777, 0.427, 0.565, 0.7939, 1.141, 1.629, 2.271, 3.081, 4.073, 5.25",\
                 "0.3396, 0.3922, 0.5359, 0.7685, 1.117, 1.605, 2.247, 3.056, 4.046, 5.228",\
                 "0.2621, 0.3187, 0.4689, 0.7068, 1.06, 1.55, 2.192, 3.001, 3.989, 5.167",\
                 "0.1438, 0.2042, 0.3607, 0.6047, 0.9626, 1.458, 2.104, 2.913, 3.901, 5.079",\
                 "-0.019, 0.0455, 0.209, 0.4598, 0.8217, 1.324, 1.978, 2.791, 3.779, 4.957");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1364, 0.1828, 0.2986, 0.4891, 0.7777, 1.2, 1.776, 2.517, 3.433, 4.521",\
                 "0.1369, 0.1823, 0.2992, 0.489, 0.7782, 1.199, 1.776, 2.519, 3.429, 4.52",\
                 "0.1372, 0.1821, 0.2994, 0.4888, 0.7774, 1.201, 1.776, 2.52, 3.433, 4.525",\
                 "0.1372, 0.1826, 0.3002, 0.4894, 0.7774, 1.201, 1.777, 2.52, 3.431, 4.519",\
                 "0.1552, 0.2, 0.3124, 0.498, 0.7842, 1.202, 1.778, 2.519, 3.433, 4.524",\
                 "0.173, 0.22, 0.3316, 0.5144, 0.7964, 1.21, 1.783, 2.52, 3.434, 4.521",\
                 "0.194, 0.2424, 0.3532, 0.5318, 0.8074, 1.219, 1.788, 2.525, 3.434, 4.518",\
                 "0.2184, 0.2708, 0.3836, 0.5554, 0.8254, 1.229, 1.794, 2.528, 3.436, 4.525",\
                 "0.245, 0.301, 0.4212, 0.5892, 0.853, 1.249, 1.804, 2.535, 3.44, 4.525",\
                 "0.2738, 0.3346, 0.4616, 0.6304, 0.8904, 1.278, 1.824, 2.543, 3.447, 4.528");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005965, 0.02339, 0.05667, 0.1085, 0.1813, 0.277, 0.3976, 0.5448, 0.7203");
          values("0.1002, 0.159, 0.3498, 0.7325, 1.345, 2.207, 3.344, 4.771, 6.522, 8.601",\
                 "0.1002, 0.1577, 0.35, 0.732, 1.345, 2.206, 3.347, 4.772, 6.519, 8.6",\
                 "0.1003, 0.158, 0.3495, 0.7327, 1.347, 2.207, 3.347, 4.771, 6.519, 8.6",\
                 "0.1072, 0.1658, 0.3547, 0.733, 1.347, 2.206, 3.341, 4.775, 6.521, 8.611",\
                 "0.1176, 0.1756, 0.3634, 0.7378, 1.349, 2.207, 3.341, 4.78, 6.519, 8.6",\
                 "0.1328, 0.1908, 0.3778, 0.7436, 1.348, 2.208, 3.339, 4.77, 6.523, 8.606",\
                 "0.1498, 0.2084, 0.3962, 0.7586, 1.357, 2.21, 3.342, 4.767, 6.509, 8.596",\
                 "0.1706, 0.2282, 0.4172, 0.7798, 1.375, 2.221, 3.344, 4.769, 6.522, 8.592",\
                 "0.1914, 0.251, 0.4408, 0.8012, 1.4, 2.248, 3.362, 4.776, 6.512, 8.601",\
                 "0.2136, 0.2752, 0.465, 0.8236, 1.424, 2.283, 3.397, 4.797, 6.524, 8.591");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xnor2_4) {
    area : 46.099200 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "0.0001341945" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "0.0001013694" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "0.0001322244" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "0.0001004586" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001341945" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.006894 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.007043 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!(A1^A2))" ;
      max_capacitance : 1.441 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3515, 0.333, 0.3003, 0.2805, 0.2693, 0.2629, 0.2588, 0.2561, 0.2541, 0.2528",\
                 "0.3512, 0.3328, 0.2998, 0.2802, 0.2692, 0.2626, 0.2585, 0.2558, 0.2539, 0.2525",\
                 "0.35, 0.3317, 0.2987, 0.279, 0.268, 0.2615, 0.2573, 0.2546, 0.2527, 0.2514",\
                 "0.3496, 0.3312, 0.2983, 0.2787, 0.2677, 0.2612, 0.2571, 0.2542, 0.2525, 0.2511",\
                 "0.3482, 0.3301, 0.2983, 0.2797, 0.2693, 0.2632, 0.2593, 0.2567, 0.2549, 0.2536",\
                 "0.3524, 0.3342, 0.3025, 0.2846, 0.2749, 0.2688, 0.2652, 0.2628, 0.261, 0.2599",\
                 "0.3624, 0.3444, 0.3129, 0.295, 0.2853, 0.2795, 0.2758, 0.2733, 0.2717, 0.2705",\
                 "0.3786, 0.3602, 0.3289, 0.3105, 0.3008, 0.2948, 0.2911, 0.2887, 0.287, 0.2858",\
                 "0.3999, 0.3817, 0.3494, 0.331, 0.3212, 0.315, 0.3112, 0.3089, 0.3071, 0.3059",\
                 "0.427, 0.4086, 0.3761, 0.357, 0.3466, 0.3404, 0.3367, 0.3341, 0.3323, 0.3309");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.2973, 0.2895, 0.2789, 0.2734, 0.2721, 0.2733, 0.2746, 0.2779, 0.2806, 0.2966",\
                 "0.2967, 0.2888, 0.2785, 0.2727, 0.2712, 0.2726, 0.2743, 0.2769, 0.2806, 0.2986",\
                 "0.2961, 0.2878, 0.2777, 0.2719, 0.2705, 0.2713, 0.2733, 0.2762, 0.2796, 0.2998",\
                 "0.2972, 0.2893, 0.2797, 0.2737, 0.272, 0.273, 0.275, 0.2769, 0.2826, 0.3009",\
                 "0.3034, 0.2958, 0.2851, 0.2789, 0.2781, 0.2786, 0.2803, 0.2825, 0.2863, 0.3092",\
                 "0.3142, 0.3058, 0.2949, 0.2888, 0.2869, 0.2882, 0.2902, 0.2919, 0.297, 0.3273",\
                 "0.33, 0.3215, 0.3098, 0.3041, 0.302, 0.3027, 0.304, 0.3068, 0.3107, 0.3535",\
                 "0.3532, 0.3442, 0.3324, 0.324, 0.3237, 0.3251, 0.3248, 0.3266, 0.3339, 0.4025",\
                 "0.3836, 0.374, 0.3606, 0.352, 0.3476, 0.3492, 0.3529, 0.3541, 0.365, 0.4755",\
                 "0.4204, 0.41, 0.3954, 0.3852, 0.3815, 0.3792, 0.3835, 0.3892, 0.4141, 0.6083");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3166, 0.2986, 0.2682, 0.2513, 0.242, 0.2366, 0.2331, 0.2308, 0.2291, 0.228",\
                 "0.3159, 0.298, 0.2676, 0.2506, 0.2415, 0.2359, 0.2325, 0.2301, 0.2285, 0.2274",\
                 "0.3151, 0.2973, 0.2668, 0.2498, 0.2406, 0.2351, 0.2318, 0.2295, 0.2279, 0.2267",\
                 "0.3195, 0.3015, 0.2707, 0.2532, 0.2439, 0.2385, 0.2351, 0.2329, 0.2311, 0.23",\
                 "0.3449, 0.3254, 0.2909, 0.2697, 0.2581, 0.2511, 0.2467, 0.2438, 0.2419, 0.2405",\
                 "0.3876, 0.3656, 0.3247, 0.2981, 0.2822, 0.2729, 0.2667, 0.263, 0.2604, 0.2586",\
                 "0.4394, 0.4156, 0.3687, 0.3357, 0.3158, 0.3034, 0.2955, 0.2903, 0.2867, 0.2843",\
                 "0.5044, 0.479, 0.4259, 0.3856, 0.3604, 0.3441, 0.3339, 0.3269, 0.3221, 0.3187",\
                 "0.5834, 0.5565, 0.4969, 0.4487, 0.4178, 0.3972, 0.3833, 0.3739, 0.3673, 0.3629",\
                 "0.6758, 0.6475, 0.5825, 0.525, 0.4871, 0.4616, 0.444, 0.4319, 0.4234, 0.4174");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1731, 0.1646, 0.1559, 0.1523, 0.1528, 0.1548, 0.1568, 0.1597, 0.1627, 0.1768",\
                 "0.1731, 0.1646, 0.1561, 0.153, 0.1531, 0.1551, 0.1565, 0.1597, 0.1654, 0.1791",\
                 "0.1736, 0.1651, 0.1562, 0.1528, 0.1527, 0.1548, 0.1568, 0.1597, 0.1651, 0.179",\
                 "0.186, 0.1765, 0.1651, 0.159, 0.1571, 0.1584, 0.1595, 0.163, 0.169, 0.1841",\
                 "0.2115, 0.1989, 0.1835, 0.1739, 0.1689, 0.1683, 0.169, 0.1712, 0.176, 0.1938",\
                 "0.2475, 0.2313, 0.2112, 0.1966, 0.1903, 0.1865, 0.1852, 0.1854, 0.1896, 0.2126",\
                 "0.2959, 0.2758, 0.2497, 0.2294, 0.2181, 0.2155, 0.2116, 0.2108, 0.2118, 0.2388",\
                 "0.3556, 0.3314, 0.2985, 0.2737, 0.2563, 0.2469, 0.2469, 0.245, 0.2446, 0.2781",\
                 "0.4268, 0.3989, 0.3594, 0.3294, 0.3082, 0.2947, 0.2868, 0.2896, 0.2901, 0.3375",\
                 "0.5085, 0.4779, 0.4302, 0.3969, 0.3698, 0.3508, 0.338, 0.3343, 0.3454, 0.416");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3229, 0.3048, 0.2745, 0.2575, 0.2482, 0.2427, 0.2393, 0.237, 0.2353, 0.2342",\
                 "0.3229, 0.305, 0.2746, 0.2576, 0.2484, 0.2428, 0.2393, 0.2371, 0.2355, 0.2344",\
                 "0.3229, 0.3051, 0.2746, 0.2576, 0.2484, 0.2429, 0.2394, 0.2371, 0.2355, 0.2343",\
                 "0.3238, 0.306, 0.2756, 0.2587, 0.2492, 0.2439, 0.2404, 0.238, 0.2364, 0.2354",\
                 "0.3265, 0.3088, 0.2786, 0.2614, 0.2527, 0.247, 0.2437, 0.2414, 0.2399, 0.2388",\
                 "0.3336, 0.3155, 0.2851, 0.2682, 0.2587, 0.2535, 0.2498, 0.2476, 0.2461, 0.2449",\
                 "0.3441, 0.3262, 0.2954, 0.278, 0.2687, 0.2632, 0.2595, 0.2573, 0.2557, 0.2545",\
                 "0.3589, 0.3407, 0.3096, 0.292, 0.2825, 0.2767, 0.2731, 0.2707, 0.2691, 0.2679",\
                 "0.3778, 0.3596, 0.328, 0.3096, 0.2997, 0.2941, 0.2905, 0.288, 0.2863, 0.2852",\
                 "0.4011, 0.3828, 0.3505, 0.3316, 0.3217, 0.3157, 0.3118, 0.3094, 0.3076, 0.3064");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.2924, 0.2847, 0.2739, 0.2684, 0.2671, 0.268, 0.2703, 0.2712, 0.276, 0.2923",\
                 "0.2909, 0.2829, 0.2731, 0.2671, 0.2656, 0.2667, 0.2694, 0.2706, 0.2747, 0.2933",\
                 "0.2909, 0.2832, 0.2732, 0.267, 0.2656, 0.267, 0.2687, 0.2712, 0.2744, 0.2932",\
                 "0.2934, 0.2854, 0.2752, 0.2693, 0.2681, 0.269, 0.2707, 0.2736, 0.2763, 0.2993",\
                 "0.2994, 0.2917, 0.2814, 0.2756, 0.2745, 0.2746, 0.2766, 0.2782, 0.2827, 0.3104",\
                 "0.3104, 0.3022, 0.2915, 0.2856, 0.2839, 0.2842, 0.2862, 0.2893, 0.2924, 0.3275",\
                 "0.3246, 0.3161, 0.305, 0.2989, 0.2963, 0.2967, 0.2994, 0.3011, 0.3058, 0.3515",\
                 "0.344, 0.3346, 0.3225, 0.3144, 0.3135, 0.3145, 0.3162, 0.317, 0.3255, 0.396",\
                 "0.3692, 0.3599, 0.3467, 0.3375, 0.3357, 0.3383, 0.34, 0.3415, 0.3557, 0.4729",\
                 "0.4004, 0.3905, 0.3766, 0.3676, 0.3632, 0.3621, 0.367, 0.3709, 0.4025, 0.6249");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3414, 0.323, 0.2902, 0.2703, 0.2595, 0.2531, 0.2488, 0.2461, 0.2442, 0.2429",\
                 "0.3406, 0.3222, 0.2895, 0.2698, 0.2587, 0.2523, 0.2481, 0.2453, 0.2434, 0.2421",\
                 "0.3406, 0.3223, 0.2894, 0.2695, 0.2586, 0.2522, 0.2481, 0.2453, 0.2434, 0.2421",\
                 "0.3451, 0.3267, 0.2936, 0.2735, 0.2626, 0.256, 0.2519, 0.2491, 0.2474, 0.246",\
                 "0.3686, 0.3492, 0.3127, 0.2899, 0.2767, 0.2688, 0.2639, 0.2607, 0.2585, 0.2571",\
                 "0.4116, 0.3898, 0.3479, 0.3196, 0.3022, 0.2919, 0.2854, 0.281, 0.2782, 0.2761",\
                 "0.4637, 0.4401, 0.393, 0.3581, 0.3369, 0.3238, 0.3151, 0.3095, 0.3057, 0.3031",\
                 "0.5276, 0.5029, 0.4502, 0.409, 0.3832, 0.3662, 0.3553, 0.3479, 0.3428, 0.3392",\
                 "0.6062, 0.5796, 0.5212, 0.4729, 0.4412, 0.4202, 0.4062, 0.3966, 0.3899, 0.3853",\
                 "0.6991, 0.6713, 0.6072, 0.5503, 0.5127, 0.4866, 0.4687, 0.4567, 0.4483, 0.4421");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1757, 0.1674, 0.1586, 0.1554, 0.1555, 0.1575, 0.1595, 0.162, 0.1674, 0.1811",\
                 "0.1761, 0.1676, 0.1589, 0.1558, 0.1558, 0.1578, 0.1608, 0.1627, 0.1671, 0.1804",\
                 "0.1762, 0.168, 0.1596, 0.1556, 0.1558, 0.1578, 0.1608, 0.1624, 0.1654, 0.1813",\
                 "0.1856, 0.1763, 0.1656, 0.1606, 0.1596, 0.1611, 0.1624, 0.1653, 0.1687, 0.1858",\
                 "0.2054, 0.1941, 0.18, 0.173, 0.1695, 0.1694, 0.1707, 0.1723, 0.1767, 0.1945",\
                 "0.2376, 0.2231, 0.2052, 0.1921, 0.1889, 0.1865, 0.1855, 0.1864, 0.1923, 0.214",\
                 "0.2821, 0.2645, 0.2414, 0.225, 0.2144, 0.2126, 0.21, 0.2099, 0.2118, 0.2385",\
                 "0.3383, 0.3169, 0.2878, 0.2669, 0.2516, 0.2439, 0.2463, 0.2444, 0.2429, 0.2744",\
                 "0.4053, 0.3807, 0.346, 0.3197, 0.3, 0.2885, 0.2849, 0.2876, 0.2884, 0.3359",\
                 "0.4839, 0.4564, 0.4145, 0.3834, 0.3603, 0.3436, 0.3337, 0.3318, 0.345, 0.4139");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.8076, 0.8651, 1.005, 1.197, 1.436, 1.73, 2.095, 2.545, 3.092, 3.742",\
                 "0.8212, 0.8788, 1.019, 1.211, 1.449, 1.744, 2.109, 2.559, 3.105, 3.756",\
                 "0.8606, 0.918, 1.058, 1.25, 1.489, 1.783, 2.148, 2.598, 3.145, 3.795",\
                 "0.8914, 0.9489, 1.089, 1.281, 1.519, 1.814, 2.179, 2.629, 3.175, 3.826",\
                 "0.8943, 0.9512, 1.089, 1.28, 1.518, 1.812, 2.177, 2.628, 3.174, 3.825",\
                 "0.8559, 0.911, 1.047, 1.236, 1.474, 1.768, 2.133, 2.583, 3.13, 3.781",\
                 "0.7646, 0.8201, 0.9557, 1.144, 1.382, 1.676, 2.041, 2.492, 3.039, 3.689",\
                 "0.6224, 0.6772, 0.8139, 1.004, 1.241, 1.535, 1.901, 2.351, 2.897, 3.547",\
                 "0.4261, 0.4824, 0.6178, 0.8077, 1.045, 1.339, 1.704, 2.153, 2.699, 3.349",\
                 "0.1735, 0.2292, 0.3657, 0.5554, 0.7935, 1.087, 1.45, 1.9, 2.444, 3.093");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("1.097, 1.143, 1.271, 1.495, 1.843, 2.332, 2.976, 3.788, 4.779, 5.962",\
                 "1.104, 1.15, 1.278, 1.502, 1.85, 2.34, 2.984, 3.795, 4.787, 5.968",\
                 "1.14, 1.185, 1.314, 1.538, 1.886, 2.375, 3.019, 3.831, 4.823, 6.004",\
                 "1.233, 1.279, 1.408, 1.632, 1.98, 2.469, 3.113, 3.926, 4.916, 6.1",\
                 "1.408, 1.455, 1.583, 1.806, 2.154, 2.644, 3.288, 4.1, 5.092, 6.275",\
                 "1.66, 1.706, 1.835, 2.059, 2.407, 2.896, 3.54, 4.353, 5.345, 6.527",\
                 "1.985, 2.031, 2.161, 2.385, 2.732, 3.222, 3.866, 4.678, 5.67, 6.853",\
                 "2.386, 2.433, 2.563, 2.786, 3.134, 3.622, 4.266, 5.078, 6.069, 7.25",\
                 "2.858, 2.906, 3.037, 3.26, 3.606, 4.095, 4.739, 5.55, 6.54, 7.723",\
                 "3.398, 3.447, 3.579, 3.802, 4.149, 4.637, 5.28, 6.092, 7.082, 8.263");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1883, 0.2423, 0.3741, 0.5738, 0.858, 1.267, 1.824, 2.556, 3.461, 4.553",\
                 "0.1879, 0.2423, 0.3737, 0.574, 0.859, 1.267, 1.824, 2.557, 3.46, 4.553",\
                 "0.1884, 0.2434, 0.3738, 0.5738, 0.8598, 1.267, 1.827, 2.555, 3.462, 4.553",\
                 "0.188, 0.2424, 0.3736, 0.5738, 0.8592, 1.267, 1.824, 2.553, 3.46, 4.553",\
                 "0.1834, 0.2364, 0.3678, 0.5716, 0.8564, 1.266, 1.823, 2.555, 3.463, 4.552",\
                 "0.1804, 0.2326, 0.3636, 0.5672, 0.8542, 1.264, 1.826, 2.555, 3.463, 4.552",\
                 "0.1796, 0.2318, 0.3636, 0.5674, 0.8542, 1.263, 1.822, 2.552, 3.461, 4.548",\
                 "0.1802, 0.233, 0.3642, 0.5686, 0.8552, 1.265, 1.824, 2.554, 3.457, 4.546",\
                 "0.1812, 0.234, 0.366, 0.5698, 0.8558, 1.263, 1.821, 2.548, 3.455, 4.544",\
                 "0.1828, 0.2354, 0.3674, 0.57, 0.8534, 1.259, 1.819, 2.545, 3.452, 4.541");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.114, 0.1694, 0.353, 0.7318, 1.346, 2.209, 3.347, 4.772, 6.523, 8.609",\
                 "0.114, 0.1696, 0.3528, 0.7314, 1.344, 2.209, 3.347, 4.783, 6.523, 8.606",\
                 "0.1144, 0.1696, 0.3528, 0.733, 1.347, 2.208, 3.343, 4.773, 6.523, 8.607",\
                 "0.1142, 0.1692, 0.3528, 0.7318, 1.344, 2.209, 3.346, 4.776, 6.52, 8.609",\
                 "0.1146, 0.1698, 0.353, 0.7332, 1.346, 2.209, 3.347, 4.782, 6.523, 8.607",\
                 "0.1154, 0.1708, 0.3544, 0.7318, 1.347, 2.209, 3.346, 4.776, 6.524, 8.608",\
                 "0.1172, 0.1726, 0.3554, 0.732, 1.344, 2.209, 3.344, 4.781, 6.524, 8.605",\
                 "0.1204, 0.1756, 0.3574, 0.7328, 1.344, 2.208, 3.347, 4.774, 6.522, 8.607",\
                 "0.1248, 0.179, 0.3606, 0.7334, 1.346, 2.208, 3.343, 4.779, 6.521, 8.608",\
                 "0.13, 0.185, 0.3646, 0.7356, 1.346, 2.208, 3.343, 4.772, 6.524, 8.608");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.5653, 0.6203, 0.7557, 0.9445, 1.181, 1.475, 1.839, 2.289, 2.836, 3.486",\
                 "0.578, 0.6328, 0.7684, 0.9572, 1.194, 1.487, 1.852, 2.302, 2.848, 3.498",\
                 "0.6297, 0.6844, 0.8198, 1.008, 1.245, 1.539, 1.903, 2.353, 2.9, 3.55",\
                 "0.7488, 0.8037, 0.9385, 1.127, 1.364, 1.657, 2.022, 2.472, 3.018, 3.668",\
                 "0.9418, 0.9975, 1.132, 1.321, 1.558, 1.851, 2.215, 2.665, 3.211, 3.861",\
                 "1.175, 1.233, 1.375, 1.567, 1.807, 2.102, 2.467, 2.916, 3.462, 4.112",\
                 "1.448, 1.51, 1.657, 1.855, 2.099, 2.397, 2.764, 3.214, 3.759, 4.409",\
                 "1.767, 1.832, 1.987, 2.192, 2.441, 2.741, 3.108, 3.559, 4.106, 4.755",\
                 "2.129, 2.197, 2.362, 2.576, 2.833, 3.137, 3.505, 3.956, 4.502, 5.153",\
                 "2.532, 2.605, 2.78, 3.005, 3.272, 3.585, 3.958, 4.41, 4.955, 5.604");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3772, 0.427, 0.5678, 0.8006, 1.151, 1.641, 2.287, 3.1, 4.091, 5.275",\
                 "0.3902, 0.4399, 0.5807, 0.8137, 1.164, 1.654, 2.3, 3.114, 4.105, 5.289",\
                 "0.436, 0.4856, 0.626, 0.8591, 1.209, 1.7, 2.345, 3.158, 4.152, 5.335",\
                 "0.5188, 0.5687, 0.7088, 0.9403, 1.29, 1.779, 2.425, 3.237, 4.229, 5.414",\
                 "0.5933, 0.6452, 0.7879, 1.02, 1.369, 1.857, 2.502, 3.314, 4.307, 5.486",\
                 "0.6457, 0.7003, 0.8463, 1.08, 1.427, 1.915, 2.557, 3.37, 4.362, 5.545",\
                 "0.6707, 0.7292, 0.8803, 1.116, 1.463, 1.948, 2.591, 3.4, 4.39, 5.575",\
                 "0.6633, 0.7259, 0.8839, 1.125, 1.473, 1.957, 2.597, 3.407, 4.396, 5.577",\
                 "0.6203, 0.6876, 0.8535, 1.102, 1.453, 1.939, 2.579, 3.387, 4.374, 5.554",\
                 "0.5394, 0.6103, 0.785, 1.041, 1.397, 1.886, 2.53, 3.337, 4.324, 5.503");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1774, 0.2298, 0.36, 0.5639, 0.852, 1.262, 1.821, 2.553, 3.462, 4.552",\
                 "0.1775, 0.2307, 0.3602, 0.5636, 0.852, 1.262, 1.822, 2.554, 3.462, 4.552",\
                 "0.1774, 0.2307, 0.3607, 0.5644, 0.8524, 1.262, 1.824, 2.554, 3.461, 4.552",\
                 "0.1768, 0.229, 0.3608, 0.5638, 0.8524, 1.262, 1.821, 2.555, 3.462, 4.552",\
                 "0.1898, 0.2408, 0.3684, 0.57, 0.856, 1.265, 1.822, 2.555, 3.459, 4.551",\
                 "0.2148, 0.2678, 0.3948, 0.5926, 0.8718, 1.273, 1.827, 2.553, 3.461, 4.553",\
                 "0.2396, 0.295, 0.4236, 0.6164, 0.8944, 1.29, 1.839, 2.562, 3.464, 4.55",\
                 "0.2678, 0.3268, 0.4584, 0.6466, 0.918, 1.308, 1.851, 2.57, 3.467, 4.552",\
                 "0.3032, 0.3644, 0.5014, 0.6892, 0.9534, 1.331, 1.864, 2.575, 3.474, 4.556",\
                 "0.3376, 0.4026, 0.5492, 0.7404, 1.002, 1.371, 1.893, 2.59, 3.48, 4.56");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1217, 0.1815, 0.3754, 0.7466, 1.354, 2.215, 3.35, 4.785, 6.543, 8.617",\
                 "0.1216, 0.1815, 0.3757, 0.748, 1.354, 2.216, 3.355, 4.785, 6.534, 8.619",\
                 "0.1209, 0.1812, 0.3762, 0.7461, 1.354, 2.214, 3.351, 4.787, 6.536, 8.621",\
                 "0.1261, 0.1852, 0.3784, 0.7474, 1.353, 2.216, 3.356, 4.792, 6.533, 8.62",\
                 "0.141, 0.1998, 0.391, 0.7544, 1.353, 2.212, 3.35, 4.788, 6.532, 8.624",\
                 "0.1618, 0.2172, 0.4058, 0.7624, 1.359, 2.219, 3.352, 4.791, 6.534, 8.622",\
                 "0.1858, 0.2426, 0.427, 0.7756, 1.364, 2.22, 3.355, 4.784, 6.537, 8.615",\
                 "0.2126, 0.2714, 0.453, 0.797, 1.375, 2.223, 3.357, 4.785, 6.528, 8.619",\
                 "0.2404, 0.3004, 0.4846, 0.8246, 1.397, 2.239, 3.36, 4.788, 6.531, 8.62",\
                 "0.2692, 0.3336, 0.5186, 0.8548, 1.423, 2.263, 3.384, 4.797, 6.533, 8.612");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.7524, 0.8077, 0.943, 1.132, 1.369, 1.662, 2.027, 2.477, 3.023, 3.673",\
                 "0.7671, 0.8221, 0.9577, 1.146, 1.383, 1.676, 2.041, 2.491, 3.037, 3.687",\
                 "0.8089, 0.8637, 0.9991, 1.188, 1.425, 1.718, 2.083, 2.533, 3.079, 3.729",\
                 "0.8385, 0.8934, 1.029, 1.217, 1.454, 1.747, 2.112, 2.562, 3.108, 3.758",\
                 "0.8304, 0.8853, 1.02, 1.208, 1.445, 1.738, 2.103, 2.553, 3.099, 3.75",\
                 "0.7772, 0.8312, 0.9668, 1.155, 1.392, 1.685, 2.049, 2.498, 3.045, 3.695",\
                 "0.6698, 0.7247, 0.8597, 1.048, 1.285, 1.578, 1.942, 2.392, 2.937, 3.587",\
                 "0.5048, 0.5598, 0.6949, 0.8839, 1.121, 1.414, 1.779, 2.228, 2.774, 3.423",\
                 "0.2783, 0.3337, 0.4693, 0.6586, 0.8952, 1.188, 1.552, 2, 2.545, 3.195",\
                 "-0.0127, 0.0417, 0.178, 0.3674, 0.6036, 0.8954, 1.259, 1.707, 2.252, 2.9");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("1.05, 1.096, 1.225, 1.449, 1.797, 2.286, 2.93, 3.742, 4.734, 5.918",\
                 "1.056, 1.101, 1.231, 1.454, 1.802, 2.291, 2.935, 3.748, 4.74, 5.922",\
                 "1.109, 1.155, 1.284, 1.507, 1.855, 2.345, 2.989, 3.801, 4.792, 5.972",\
                 "1.248, 1.294, 1.422, 1.646, 1.994, 2.484, 3.128, 3.94, 4.932, 6.112",\
                 "1.477, 1.524, 1.652, 1.876, 2.224, 2.713, 3.357, 4.169, 5.162, 6.343",\
                 "1.785, 1.831, 1.96, 2.184, 2.532, 3.021, 3.665, 4.478, 5.469, 6.65",\
                 "2.163, 2.209, 2.339, 2.563, 2.91, 3.399, 4.044, 4.855, 5.847, 7.031",\
                 "2.621, 2.667, 2.797, 3.02, 3.367, 3.856, 4.5, 5.312, 6.304, 7.487",\
                 "3.163, 3.211, 3.34, 3.564, 3.911, 4.399, 5.043, 5.855, 6.845, 8.027",\
                 "3.789, 3.836, 3.968, 4.191, 4.538, 5.026, 5.67, 6.482, 7.472, 8.653");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1774, 0.2299, 0.3604, 0.564, 0.852, 1.262, 1.822, 2.554, 3.462, 4.552",\
                 "0.1773, 0.2291, 0.3602, 0.5644, 0.8522, 1.262, 1.824, 2.554, 3.462, 4.552",\
                 "0.1779, 0.2306, 0.36, 0.5638, 0.8522, 1.261, 1.822, 2.554, 3.462, 4.552",\
                 "0.177, 0.2292, 0.3602, 0.5638, 0.8526, 1.262, 1.822, 2.552, 3.462, 4.552",\
                 "0.1764, 0.2282, 0.3586, 0.5628, 0.8512, 1.262, 1.821, 2.554, 3.46, 4.547",\
                 "0.1768, 0.229, 0.3596, 0.5636, 0.8494, 1.258, 1.819, 2.554, 3.461, 4.552",\
                 "0.1782, 0.2298, 0.361, 0.5642, 0.8506, 1.26, 1.819, 2.547, 3.455, 4.551",\
                 "0.1786, 0.2308, 0.3616, 0.5652, 0.852, 1.26, 1.819, 2.549, 3.453, 4.54",\
                 "0.18, 0.2324, 0.3644, 0.5662, 0.8512, 1.259, 1.816, 2.545, 3.45, 4.538",\
                 "0.1816, 0.2342, 0.3644, 0.5676, 0.8492, 1.254, 1.813, 2.543, 3.448, 4.538");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.114, 0.1696, 0.353, 0.7316, 1.345, 2.209, 3.347, 4.773, 6.521, 8.606",\
                 "0.114, 0.1694, 0.3532, 0.7312, 1.347, 2.207, 3.343, 4.776, 6.521, 8.61",\
                 "0.1146, 0.1698, 0.3526, 0.7318, 1.346, 2.209, 3.347, 4.773, 6.524, 8.605",\
                 "0.1142, 0.1696, 0.3528, 0.7334, 1.345, 2.209, 3.347, 4.772, 6.523, 8.608",\
                 "0.1146, 0.1698, 0.3534, 0.732, 1.347, 2.209, 3.347, 4.774, 6.522, 8.609",\
                 "0.1158, 0.171, 0.3542, 0.732, 1.347, 2.208, 3.346, 4.773, 6.523, 8.608",\
                 "0.1168, 0.1724, 0.3558, 0.7336, 1.346, 2.206, 3.346, 4.783, 6.524, 8.611",\
                 "0.1198, 0.1744, 0.3576, 0.7336, 1.344, 2.207, 3.344, 4.775, 6.519, 8.61",\
                 "0.1234, 0.1774, 0.3588, 0.7334, 1.346, 2.208, 3.341, 4.779, 6.518, 8.606",\
                 "0.1276, 0.182, 0.3616, 0.7352, 1.346, 2.207, 3.34, 4.77, 6.526, 8.604");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.6097, 0.6671, 0.8073, 0.999, 1.238, 1.532, 1.897, 2.347, 2.894, 3.544",\
                 "0.6217, 0.6792, 0.8192, 1.011, 1.25, 1.544, 1.909, 2.359, 2.906, 3.556",\
                 "0.6761, 0.7335, 0.8739, 1.065, 1.304, 1.599, 1.964, 2.414, 2.96, 3.611",\
                 "0.7978, 0.8554, 0.9953, 1.187, 1.425, 1.72, 2.085, 2.535, 3.081, 3.731",\
                 "0.9985, 1.056, 1.196, 1.387, 1.625, 1.919, 2.285, 2.734, 3.28, 3.93",\
                 "1.246, 1.307, 1.453, 1.648, 1.89, 2.185, 2.55, 2.999, 3.545, 4.195",\
                 "1.539, 1.603, 1.755, 1.956, 2.202, 2.5, 2.867, 3.317, 3.862, 4.511",\
                 "1.885, 1.952, 2.111, 2.317, 2.567, 2.868, 3.236, 3.686, 4.232, 4.882",\
                 "2.284, 2.354, 2.521, 2.736, 2.992, 3.295, 3.663, 4.115, 4.66, 5.309",\
                 "2.734, 2.808, 2.985, 3.21, 3.474, 3.783, 4.154, 4.605, 5.151, 5.8");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.3913, 0.4413, 0.5819, 0.8149, 1.165, 1.655, 2.301, 3.114, 4.108, 5.291",\
                 "0.4031, 0.4529, 0.5934, 0.8266, 1.177, 1.667, 2.313, 3.126, 4.116, 5.298",\
                 "0.4316, 0.4814, 0.6219, 0.8547, 1.205, 1.695, 2.341, 3.155, 4.147, 5.331",\
                 "0.4812, 0.5316, 0.6722, 0.9042, 1.254, 1.744, 2.389, 3.203, 4.193, 5.376",\
                 "0.5264, 0.5785, 0.7223, 0.9557, 1.305, 1.794, 2.437, 3.252, 4.244, 5.426",\
                 "0.5525, 0.6068, 0.7542, 0.9894, 1.338, 1.826, 2.469, 3.282, 4.271, 5.457",\
                 "0.5475, 0.605, 0.7577, 0.9975, 1.346, 1.832, 2.474, 3.285, 4.275, 5.458",\
                 "0.5053, 0.5668, 0.7249, 0.9706, 1.323, 1.809, 2.451, 3.26, 4.249, 5.429",\
                 "0.4214, 0.4871, 0.6519, 0.9043, 1.261, 1.752, 2.395, 3.203, 4.191, 5.371",\
                 "0.2939, 0.3633, 0.536, 0.795, 1.157, 1.653, 2.302, 3.112, 4.1, 5.279");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1877, 0.2423, 0.3743, 0.574, 0.859, 1.268, 1.827, 2.556, 3.463, 4.553",\
                 "0.1877, 0.2423, 0.3738, 0.5739, 0.86, 1.266, 1.824, 2.556, 3.463, 4.553",\
                 "0.1882, 0.2436, 0.3737, 0.574, 0.8588, 1.267, 1.826, 2.556, 3.463, 4.553",\
                 "0.1878, 0.242, 0.3738, 0.5738, 0.8598, 1.267, 1.825, 2.553, 3.463, 4.552",\
                 "0.1964, 0.2496, 0.3796, 0.5784, 0.8628, 1.269, 1.825, 2.556, 3.462, 4.553",\
                 "0.2214, 0.2772, 0.4052, 0.5986, 0.876, 1.277, 1.829, 2.558, 3.464, 4.553",\
                 "0.245, 0.3026, 0.434, 0.6234, 0.8988, 1.292, 1.84, 2.561, 3.464, 4.551",\
                 "0.2698, 0.3314, 0.4662, 0.6508, 0.9204, 1.308, 1.852, 2.568, 3.467, 4.552",\
                 "0.3008, 0.3642, 0.5042, 0.6866, 0.9496, 1.328, 1.864, 2.577, 3.474, 4.557",\
                 "0.3348, 0.4014, 0.5496, 0.7316, 0.989, 1.359, 1.881, 2.585, 3.479, 4.56");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01094, 0.04583, 0.1125, 0.2163, 0.3619, 0.5536, 0.7951, 1.09, 1.441");
          values("0.1217, 0.1813, 0.3753, 0.7462, 1.352, 2.217, 3.351, 4.788, 6.537, 8.62",\
                 "0.1213, 0.1813, 0.3763, 0.7462, 1.352, 2.216, 3.352, 4.785, 6.535, 8.627",\
                 "0.1207, 0.1811, 0.376, 0.7464, 1.354, 2.216, 3.352, 4.785, 6.531, 8.622",\
                 "0.1258, 0.1848, 0.3782, 0.7476, 1.354, 2.217, 3.352, 4.784, 6.543, 8.621",\
                 "0.1362, 0.1962, 0.3894, 0.7538, 1.355, 2.216, 3.351, 4.784, 6.534, 8.618",\
                 "0.1524, 0.211, 0.404, 0.7624, 1.357, 2.219, 3.348, 4.78, 6.53, 8.617",\
                 "0.1722, 0.2324, 0.425, 0.7782, 1.364, 2.218, 3.352, 4.784, 6.541, 8.622",\
                 "0.1966, 0.2558, 0.4478, 0.8008, 1.381, 2.226, 3.354, 4.782, 6.539, 8.628",\
                 "0.221, 0.2832, 0.474, 0.828, 1.406, 2.246, 3.365, 4.785, 6.528, 8.621",\
                 "0.2468, 0.3126, 0.5022, 0.856, 1.433, 2.279, 3.393, 4.799, 6.534, 8.611");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xnor3_1) {
    area : 52.684800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "0.000123288" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "0.0001248885" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "0.0001229184" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "0.0001261722" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "0.0001540737" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "0.0001573242" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "8.9166e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "9.07698e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001573242" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.005106 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.005145 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A3) {
      capacitance : 0.006807 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!(A1^A2^A3))" ;
      max_capacitance : 0.1668 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1534, 0.1527, 0.1508, 0.1487, 0.1468, 0.1455, 0.1445, 0.1438, 0.1432, 0.1429",\
                 "0.1532, 0.1525, 0.1506, 0.1485, 0.1466, 0.1453, 0.1443, 0.1436, 0.143, 0.1427",\
                 "0.153, 0.1522, 0.1503, 0.1482, 0.1463, 0.145, 0.144, 0.1433, 0.1428, 0.1424",\
                 "0.1541, 0.1534, 0.1515, 0.1494, 0.1476, 0.1462, 0.1452, 0.1445, 0.144, 0.1436",\
                 "0.1574, 0.1567, 0.1549, 0.1528, 0.1511, 0.1499, 0.1489, 0.1482, 0.1478, 0.1474",\
                 "0.164, 0.1633, 0.1616, 0.1596, 0.1579, 0.1567, 0.1558, 0.1551, 0.1547, 0.1543",\
                 "0.1744, 0.1737, 0.172, 0.1701, 0.1685, 0.1672, 0.1664, 0.1657, 0.1652, 0.1649",\
                 "0.189, 0.1883, 0.1865, 0.1846, 0.183, 0.1817, 0.1808, 0.1802, 0.1798, 0.1794",\
                 "0.2077, 0.207, 0.2052, 0.2032, 0.2016, 0.2003, 0.1995, 0.1988, 0.1983, 0.198",\
                 "0.2308, 0.2301, 0.2283, 0.2263, 0.2246, 0.2234, 0.2225, 0.2219, 0.2213, 0.221");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1506, 0.1506, 0.1509, 0.1515, 0.1523, 0.1532, 0.154, 0.1547, 0.1557, 0.1584",\
                 "0.1498, 0.1499, 0.1502, 0.1507, 0.1516, 0.1524, 0.1533, 0.154, 0.1548, 0.1578",\
                 "0.1492, 0.1493, 0.1496, 0.1501, 0.151, 0.1518, 0.1526, 0.1535, 0.1543, 0.1572",\
                 "0.1512, 0.1513, 0.1516, 0.1521, 0.1529, 0.1538, 0.1546, 0.1554, 0.1563, 0.1596",\
                 "0.1572, 0.1572, 0.1574, 0.1579, 0.1587, 0.1596, 0.1604, 0.1612, 0.1621, 0.1658",\
                 "0.1671, 0.1672, 0.1674, 0.168, 0.1687, 0.1695, 0.1704, 0.1712, 0.1722, 0.1769",\
                 "0.1816, 0.1816, 0.1817, 0.1823, 0.1831, 0.1838, 0.1847, 0.1855, 0.1867, 0.1929",\
                 "0.2007, 0.2007, 0.2008, 0.201, 0.2019, 0.2029, 0.2035, 0.2042, 0.2056, 0.2145",\
                 "0.2248, 0.2247, 0.2247, 0.2248, 0.2254, 0.2263, 0.2274, 0.2281, 0.2302, 0.2444",\
                 "0.2538, 0.2538, 0.2537, 0.2538, 0.2542, 0.2547, 0.2559, 0.2573, 0.2612, 0.2854");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1659, 0.1659, 0.1659, 0.1659, 0.166, 0.166, 0.1659, 0.1659, 0.1658, 0.1658",\
                 "0.1651, 0.1651, 0.1651, 0.1652, 0.1653, 0.1653, 0.1652, 0.1651, 0.1651, 0.165",\
                 "0.1645, 0.1645, 0.1645, 0.1646, 0.1646, 0.1646, 0.1645, 0.1645, 0.1644, 0.1644",\
                 "0.1665, 0.1665, 0.1665, 0.1665, 0.1666, 0.1666, 0.1665, 0.1664, 0.1664, 0.1664",\
                 "0.1723, 0.1724, 0.1723, 0.1724, 0.1725, 0.1725, 0.1724, 0.1723, 0.1723, 0.1722",\
                 "0.1823, 0.1823, 0.1824, 0.1824, 0.1825, 0.1825, 0.1825, 0.1824, 0.1823, 0.1823",\
                 "0.1968, 0.1967, 0.1968, 0.1969, 0.1969, 0.1969, 0.1969, 0.1968, 0.1968, 0.1967",\
                 "0.2159, 0.2159, 0.216, 0.2161, 0.216, 0.2162, 0.2161, 0.2161, 0.216, 0.2159",\
                 "0.24, 0.2401, 0.24, 0.24, 0.24, 0.2402, 0.2401, 0.24, 0.24, 0.2399",\
                 "0.2691, 0.2691, 0.2691, 0.2691, 0.2692, 0.2693, 0.2692, 0.2691, 0.2691, 0.269");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.2143, 0.2139, 0.2134, 0.2126, 0.2118, 0.2112, 0.2108, 0.2105, 0.2104, 0.2107",\
                 "0.2143, 0.214, 0.2132, 0.2124, 0.2116, 0.211, 0.2105, 0.2104, 0.2101, 0.2102",\
                 "0.2139, 0.2136, 0.2129, 0.2121, 0.2113, 0.2106, 0.2101, 0.2098, 0.2096, 0.2098",\
                 "0.2151, 0.2148, 0.2141, 0.2132, 0.2124, 0.2118, 0.2114, 0.211, 0.211, 0.2113",\
                 "0.2186, 0.2183, 0.2175, 0.2167, 0.2159, 0.2152, 0.2148, 0.2145, 0.2146, 0.2148",\
                 "0.2253, 0.2251, 0.2244, 0.2237, 0.2229, 0.2221, 0.2218, 0.2216, 0.2216, 0.2215",\
                 "0.2358, 0.2355, 0.2347, 0.2339, 0.233, 0.2326, 0.2322, 0.2318, 0.2318, 0.2319",\
                 "0.2504, 0.2502, 0.2495, 0.2485, 0.2477, 0.2467, 0.2464, 0.2464, 0.2468, 0.2466",\
                 "0.269, 0.2687, 0.2681, 0.2671, 0.2663, 0.2657, 0.2647, 0.2643, 0.2647, 0.2653",\
                 "0.292, 0.2917, 0.291, 0.2902, 0.2894, 0.2886, 0.2878, 0.2871, 0.287, 0.2871");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1372, 0.1366, 0.1349, 0.133, 0.1315, 0.1303, 0.1295, 0.1289, 0.1284, 0.1281",\
                 "0.137, 0.1363, 0.1346, 0.1328, 0.1312, 0.1301, 0.1292, 0.1286, 0.1282, 0.1279",\
                 "0.1368, 0.1361, 0.1345, 0.1326, 0.131, 0.1299, 0.1291, 0.1285, 0.128, 0.1277",\
                 "0.1387, 0.138, 0.1363, 0.1344, 0.1329, 0.1318, 0.1309, 0.1303, 0.1299, 0.1296",\
                 "0.1453, 0.1445, 0.1426, 0.1405, 0.1387, 0.1373, 0.1364, 0.1357, 0.1352, 0.1349",\
                 "0.1572, 0.1563, 0.154, 0.1513, 0.1489, 0.1472, 0.146, 0.1451, 0.1444, 0.1439",\
                 "0.1737, 0.1726, 0.1698, 0.1665, 0.1636, 0.1614, 0.1597, 0.1586, 0.1577, 0.157",\
                 "0.1955, 0.1944, 0.1909, 0.1869, 0.1832, 0.1803, 0.1782, 0.1767, 0.1755, 0.1747",\
                 "0.2231, 0.2216, 0.2176, 0.2127, 0.2082, 0.2045, 0.2018, 0.1997, 0.1982, 0.1971",\
                 "0.2563, 0.2547, 0.25, 0.2441, 0.2387, 0.2342, 0.2308, 0.2281, 0.2262, 0.2247");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.07383, 0.0739, 0.07423, 0.0749, 0.07582, 0.07668, 0.07746, 0.07819, 0.07908, 0.08147",\
                 "0.07368, 0.07371, 0.07405, 0.07475, 0.07565, 0.07655, 0.07733, 0.07806, 0.07888, 0.08111",\
                 "0.07385, 0.0739, 0.0742, 0.07485, 0.07575, 0.07665, 0.07743, 0.07816, 0.07905, 0.08173",\
                 "0.07604, 0.07603, 0.07606, 0.07646, 0.07717, 0.078, 0.07882, 0.07964, 0.08053, 0.08324",\
                 "0.08135, 0.08123, 0.08098, 0.08089, 0.08123, 0.08183, 0.08255, 0.0833, 0.08421, 0.08731",\
                 "0.09036, 0.09005, 0.08933, 0.08886, 0.08892, 0.08899, 0.08941, 0.09, 0.09088, 0.09455",\
                 "0.104, 0.1035, 0.1023, 0.101, 0.1003, 0.1003, 0.1005, 0.1006, 0.1013, 0.1056",\
                 "0.1224, 0.1217, 0.12, 0.1181, 0.1165, 0.1157, 0.1157, 0.1158, 0.1163, 0.1214",\
                 "0.1453, 0.1445, 0.1424, 0.1398, 0.1375, 0.1359, 0.1349, 0.1351, 0.1358, 0.1423",\
                 "0.1732, 0.1722, 0.1696, 0.1663, 0.1633, 0.1609, 0.159, 0.1586, 0.1595, 0.1694");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.08903, 0.08902, 0.08898, 0.08905, 0.08911, 0.08905, 0.08895, 0.08893, 0.08885, 0.08882",\
                 "0.08886, 0.08885, 0.08883, 0.0889, 0.08887, 0.08882, 0.08874, 0.08872, 0.08865, 0.0886",\
                 "0.08904, 0.08905, 0.089, 0.08903, 0.08908, 0.08906, 0.08899, 0.08893, 0.08888, 0.08885",\
                 "0.09133, 0.0913, 0.09125, 0.09133, 0.09136, 0.09132, 0.09126, 0.09119, 0.09114, 0.09109",\
                 "0.09647, 0.09642, 0.0964, 0.09641, 0.09645, 0.0964, 0.09633, 0.09627, 0.09621, 0.09615",\
                 "0.1051, 0.105, 0.1049, 0.1049, 0.105, 0.1049, 0.1049, 0.1048, 0.1047, 0.1047",\
                 "0.1178, 0.1177, 0.1175, 0.1175, 0.1174, 0.1175, 0.1174, 0.1173, 0.1172, 0.1172",\
                 "0.1347, 0.1346, 0.1343, 0.1342, 0.1342, 0.1341, 0.1341, 0.134, 0.134, 0.1339",\
                 "0.156, 0.1559, 0.1555, 0.1553, 0.1553, 0.1552, 0.1552, 0.155, 0.155, 0.155",\
                 "0.182, 0.1818, 0.1814, 0.1811, 0.1809, 0.1808, 0.1808, 0.1807, 0.1806, 0.1805");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1987, 0.1986, 0.1978, 0.1971, 0.1963, 0.1957, 0.1952, 0.195, 0.1948, 0.1952",\
                 "0.1986, 0.1983, 0.1975, 0.1968, 0.196, 0.1953, 0.1949, 0.1946, 0.1946, 0.1949",\
                 "0.1983, 0.1981, 0.1973, 0.1966, 0.1958, 0.1951, 0.1947, 0.1944, 0.1942, 0.1947",\
                 "0.2003, 0.2001, 0.1993, 0.1985, 0.1977, 0.1972, 0.1967, 0.1964, 0.1964, 0.1966",\
                 "0.2064, 0.2061, 0.2053, 0.2046, 0.2038, 0.2031, 0.2027, 0.2024, 0.2025, 0.2026",\
                 "0.2172, 0.2167, 0.216, 0.2153, 0.2144, 0.2137, 0.2134, 0.2131, 0.2134, 0.2132",\
                 "0.2322, 0.232, 0.2312, 0.2303, 0.2295, 0.229, 0.2285, 0.2284, 0.2282, 0.2282",\
                 "0.2522, 0.2519, 0.2509, 0.2501, 0.2492, 0.2486, 0.2484, 0.2482, 0.2483, 0.2482",\
                 "0.2777, 0.277, 0.2761, 0.2755, 0.2744, 0.2735, 0.2731, 0.2733, 0.2732, 0.2732",\
                 "0.3082, 0.3081, 0.3069, 0.3058, 0.3049, 0.3043, 0.3033, 0.3033, 0.3035, 0.3038");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1419, 0.1413, 0.1396, 0.1377, 0.1361, 0.135, 0.1342, 0.1336, 0.1332, 0.1328",\
                 "0.1421, 0.1414, 0.1398, 0.1379, 0.1363, 0.1352, 0.1344, 0.1337, 0.1333, 0.133",\
                 "0.1424, 0.1417, 0.1401, 0.1382, 0.1367, 0.1355, 0.1347, 0.1341, 0.1336, 0.1333",\
                 "0.1439, 0.1432, 0.1415, 0.1397, 0.1381, 0.1369, 0.1361, 0.1355, 0.1351, 0.1348",\
                 "0.1474, 0.1468, 0.1451, 0.1433, 0.1417, 0.1406, 0.1398, 0.1392, 0.1388, 0.1384",\
                 "0.1536, 0.1529, 0.1513, 0.1495, 0.1479, 0.1468, 0.1459, 0.1453, 0.1449, 0.1445",\
                 "0.1628, 0.1621, 0.1605, 0.1586, 0.1571, 0.1559, 0.155, 0.1544, 0.154, 0.1537",\
                 "0.1752, 0.1745, 0.1728, 0.1709, 0.1694, 0.1682, 0.1673, 0.1667, 0.1663, 0.166",\
                 "0.191, 0.1903, 0.1886, 0.1867, 0.1851, 0.1839, 0.183, 0.1824, 0.1819, 0.1816",\
                 "0.2103, 0.2096, 0.2079, 0.2059, 0.2043, 0.2032, 0.2023, 0.2016, 0.2012, 0.2009");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1462, 0.1462, 0.1465, 0.1471, 0.1479, 0.1488, 0.1496, 0.1503, 0.1512, 0.1539",\
                 "0.1452, 0.1452, 0.1455, 0.1461, 0.1469, 0.1478, 0.1486, 0.1494, 0.1502, 0.1531",\
                 "0.1455, 0.1456, 0.1458, 0.1463, 0.1472, 0.1481, 0.1489, 0.1497, 0.1505, 0.1535",\
                 "0.1484, 0.1484, 0.1487, 0.1493, 0.1501, 0.151, 0.1518, 0.1526, 0.1535, 0.1568",\
                 "0.1541, 0.1542, 0.1544, 0.155, 0.1559, 0.1567, 0.1575, 0.1583, 0.1592, 0.1631",\
                 "0.1629, 0.163, 0.1632, 0.1637, 0.1645, 0.1653, 0.1662, 0.1669, 0.1679, 0.1728",\
                 "0.175, 0.175, 0.1753, 0.1757, 0.1764, 0.1773, 0.178, 0.1789, 0.1801, 0.1866",\
                 "0.1909, 0.1909, 0.191, 0.1914, 0.1923, 0.1932, 0.1938, 0.1946, 0.1963, 0.2057",\
                 "0.2111, 0.211, 0.2111, 0.2113, 0.212, 0.2131, 0.2139, 0.2146, 0.217, 0.2324",\
                 "0.2356, 0.2355, 0.2356, 0.2358, 0.2362, 0.2368, 0.2378, 0.2392, 0.2439, 0.2708");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1614, 0.1614, 0.1615, 0.1615, 0.1616, 0.1615, 0.1615, 0.1615, 0.1614, 0.1613",\
                 "0.1604, 0.1604, 0.1605, 0.1605, 0.1606, 0.1606, 0.1605, 0.1604, 0.1604, 0.1603",\
                 "0.1607, 0.1607, 0.1607, 0.1608, 0.1608, 0.1608, 0.1608, 0.1607, 0.1607, 0.1606",\
                 "0.1635, 0.1636, 0.1636, 0.1636, 0.1637, 0.1637, 0.1636, 0.1636, 0.1635, 0.1635",\
                 "0.1693, 0.1693, 0.1694, 0.1695, 0.1696, 0.1696, 0.1694, 0.1694, 0.1693, 0.1693",\
                 "0.1781, 0.1781, 0.1782, 0.1782, 0.1783, 0.1783, 0.1782, 0.1782, 0.1781, 0.1781",\
                 "0.1902, 0.1902, 0.1902, 0.1903, 0.1903, 0.1904, 0.1903, 0.1902, 0.1902, 0.1901",\
                 "0.2062, 0.2062, 0.2062, 0.2063, 0.2063, 0.2064, 0.2064, 0.2063, 0.2062, 0.2062",\
                 "0.2263, 0.2263, 0.2264, 0.2264, 0.2265, 0.2264, 0.2264, 0.2264, 0.2264, 0.2263",\
                 "0.2509, 0.2509, 0.251, 0.251, 0.2511, 0.2511, 0.251, 0.2509, 0.2509, 0.2508");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.2033, 0.2031, 0.2025, 0.2018, 0.201, 0.2003, 0.1999, 0.1996, 0.1994, 0.1995",\
                 "0.2035, 0.2035, 0.2027, 0.202, 0.2012, 0.2005, 0.2001, 0.1997, 0.1997, 0.2",\
                 "0.204, 0.2037, 0.203, 0.2021, 0.2014, 0.2007, 0.2002, 0.2001, 0.1998, 0.2001",\
                 "0.2055, 0.2052, 0.2045, 0.2037, 0.2029, 0.2023, 0.2019, 0.2015, 0.2015, 0.2016",\
                 "0.2089, 0.2087, 0.208, 0.2072, 0.2064, 0.2057, 0.2053, 0.205, 0.2049, 0.2051",\
                 "0.2152, 0.2149, 0.2141, 0.2135, 0.2127, 0.212, 0.2116, 0.2112, 0.2114, 0.2112",\
                 "0.2243, 0.2242, 0.2234, 0.2225, 0.2215, 0.221, 0.2207, 0.2205, 0.2205, 0.2207",\
                 "0.2366, 0.2363, 0.2357, 0.2348, 0.234, 0.2333, 0.2326, 0.2328, 0.2329, 0.2332",\
                 "0.2523, 0.252, 0.2514, 0.2505, 0.2497, 0.2489, 0.2482, 0.2477, 0.2481, 0.2488",\
                 "0.2716, 0.2713, 0.2707, 0.2697, 0.269, 0.2681, 0.2675, 0.2668, 0.2669, 0.267");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1452, 0.1445, 0.1426, 0.1404, 0.1386, 0.1373, 0.1363, 0.1355, 0.135, 0.1346",\
                 "0.1449, 0.1442, 0.1423, 0.1401, 0.1383, 0.1369, 0.136, 0.1352, 0.1347, 0.1343",\
                 "0.145, 0.1443, 0.1424, 0.1402, 0.1384, 0.1371, 0.1361, 0.1354, 0.1349, 0.1345",\
                 "0.1472, 0.1464, 0.1446, 0.1424, 0.1406, 0.1392, 0.1383, 0.1376, 0.1371, 0.1366",\
                 "0.1539, 0.153, 0.1509, 0.1486, 0.1466, 0.1451, 0.144, 0.1432, 0.1426, 0.1422",\
                 "0.1663, 0.1654, 0.1628, 0.1599, 0.1574, 0.1555, 0.1541, 0.1531, 0.1523, 0.1518",\
                 "0.1833, 0.1822, 0.1792, 0.1758, 0.1727, 0.1703, 0.1686, 0.1673, 0.1663, 0.1656",\
                 "0.2059, 0.2046, 0.2012, 0.197, 0.1931, 0.1902, 0.1879, 0.1863, 0.1851, 0.1842",\
                 "0.2343, 0.2329, 0.2288, 0.2238, 0.2192, 0.2155, 0.2126, 0.2105, 0.209, 0.2078",\
                 "0.2686, 0.267, 0.2624, 0.2565, 0.2509, 0.2464, 0.2429, 0.2402, 0.2382, 0.2366");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.07647, 0.07654, 0.07687, 0.07757, 0.07846, 0.07936, 0.08014, 0.08087, 0.08161, 0.08392",\
                 "0.07659, 0.07666, 0.07699, 0.07768, 0.07866, 0.07949, 0.08027, 0.081, 0.08192, 0.08419",\
                 "0.07682, 0.07691, 0.0772, 0.07786, 0.07879, 0.07969, 0.08044, 0.0812, 0.08206, 0.0846",\
                 "0.07879, 0.0788, 0.0789, 0.07936, 0.08021, 0.08101, 0.08182, 0.08252, 0.08344, 0.08623",\
                 "0.08339, 0.08332, 0.08334, 0.08343, 0.08388, 0.08461, 0.08536, 0.08611, 0.08709, 0.09027",\
                 "0.09214, 0.09186, 0.09139, 0.0911, 0.09143, 0.0917, 0.09215, 0.09288, 0.09371, 0.09708",\
                 "0.1052, 0.1048, 0.1039, 0.1028, 0.1025, 0.1027, 0.1031, 0.1033, 0.1041, 0.1083",\
                 "0.123, 0.1225, 0.121, 0.1194, 0.1183, 0.1178, 0.1182, 0.1186, 0.119, 0.1239",\
                 "0.1456, 0.1449, 0.1431, 0.1408, 0.1389, 0.1378, 0.1373, 0.1377, 0.1385, 0.1448",\
                 "0.1734, 0.1725, 0.1701, 0.1674, 0.1646, 0.1628, 0.1615, 0.1611, 0.1626, 0.1719");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.09165, 0.09162, 0.09162, 0.09167, 0.09168, 0.09164, 0.09157, 0.0915, 0.09145, 0.09141",\
                 "0.09179, 0.09176, 0.09173, 0.09181, 0.0918, 0.0918, 0.09169, 0.09163, 0.09159, 0.09156",\
                 "0.09199, 0.09198, 0.09197, 0.09207, 0.09206, 0.09196, 0.09194, 0.09189, 0.09182, 0.09177",\
                 "0.09397, 0.09394, 0.09396, 0.09399, 0.09403, 0.09397, 0.09388, 0.09383, 0.09379, 0.09374",\
                 "0.09866, 0.09861, 0.09855, 0.09858, 0.0986, 0.09855, 0.09856, 0.09844, 0.09839, 0.09834",\
                 "0.107, 0.107, 0.1069, 0.107, 0.1069, 0.1069, 0.1069, 0.1068, 0.1067, 0.1066",\
                 "0.1195, 0.1194, 0.1193, 0.1193, 0.1193, 0.1192, 0.1192, 0.1191, 0.119, 0.119",\
                 "0.1363, 0.1362, 0.136, 0.1359, 0.1358, 0.1358, 0.1358, 0.1357, 0.1356, 0.1355",\
                 "0.1576, 0.1575, 0.1572, 0.157, 0.1569, 0.1569, 0.1569, 0.1568, 0.1567, 0.1566",\
                 "0.1836, 0.1835, 0.1831, 0.1829, 0.1828, 0.1827, 0.1826, 0.1824, 0.1824, 0.1823");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.2061, 0.2059, 0.2051, 0.2043, 0.2035, 0.2028, 0.2025, 0.2021, 0.2022, 0.2022",\
                 "0.2059, 0.2055, 0.2048, 0.204, 0.2032, 0.2026, 0.2021, 0.2017, 0.2019, 0.2018",\
                 "0.2058, 0.2056, 0.205, 0.2041, 0.2034, 0.2028, 0.2024, 0.2021, 0.202, 0.2023",\
                 "0.2082, 0.2079, 0.2072, 0.2063, 0.2056, 0.2049, 0.2045, 0.2042, 0.2041, 0.2044",\
                 "0.2144, 0.2141, 0.2134, 0.2126, 0.2118, 0.2113, 0.2109, 0.2105, 0.2105, 0.2105",\
                 "0.2256, 0.2253, 0.2246, 0.2237, 0.223, 0.2223, 0.2219, 0.2216, 0.2217, 0.2219",\
                 "0.2412, 0.241, 0.2402, 0.2393, 0.2386, 0.238, 0.2378, 0.2374, 0.2372, 0.2373",\
                 "0.2621, 0.2619, 0.2612, 0.2601, 0.2593, 0.2588, 0.2583, 0.2581, 0.2581, 0.2582",\
                 "0.2887, 0.2883, 0.2873, 0.2864, 0.2853, 0.2846, 0.2842, 0.2843, 0.2841, 0.2844",\
                 "0.3204, 0.32, 0.3191, 0.318, 0.317, 0.3161, 0.3157, 0.3155, 0.3159, 0.3158");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("-0.001378, -0.001312, -0.001164, -0.001077, -0.001031, -0.001013, -0.0009926, -0.0009825, -0.0009688, -0.0009631",\
                 "-0.001359, -0.001214, -0.0009184, -0.0006696, -0.0005158, -0.0004259, -0.0003779, -0.0003492, -0.0003322, -0.00029",\
                 "-0.0003991, -0.0003539, -0.0001738, -2.313e-05, 8.784e-05, 0.0001601, 0.0002259, 0.0002301, 0.0002636, 0.0002696",\
                 "0.003886, 0.003653, 0.003062, 0.002517, 0.002058, 0.001686, 0.001403, 0.001204, 0.001042, 0.0009382",\
                 "0.01327, 0.01263, 0.01092, 0.009007, 0.00731, 0.005894, 0.004823, 0.003991, 0.003312, 0.002785",\
                 "0.02859, 0.02755, 0.02451, 0.02074, 0.01722, 0.01424, 0.01179, 0.009792, 0.008205, 0.006928",\
                 "0.05019, 0.04873, 0.04446, 0.03872, 0.03293, 0.0278, 0.02348, 0.01986, 0.01687, 0.01442",\
                 "0.07843, 0.07665, 0.07125, 0.06352, 0.05526, 0.04758, 0.04092, 0.03519, 0.03035, 0.02621",\
                 "0.1137, 0.1116, 0.1051, 0.09563, 0.08484, 0.07434, 0.06492, 0.05667, 0.04952, 0.04335",\
                 "0.1562, 0.1539, 0.1465, 0.1353, 0.1222, 0.1088, 0.09631, 0.0851, 0.07525, 0.06665");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.06709, 0.06732, 0.06773, 0.0681, 0.06848, 0.06885, 0.06917, 0.06954, 0.07008, 0.07221",\
                 "0.06529, 0.06562, 0.06639, 0.0672, 0.06792, 0.06849, 0.06904, 0.06931, 0.06988, 0.0723",\
                 "0.06538, 0.06541, 0.06567, 0.0663, 0.06706, 0.0678, 0.06838, 0.06888, 0.06952, 0.07173",\
                 "0.07119, 0.07082, 0.06994, 0.06901, 0.06868, 0.06876, 0.06904, 0.06927, 0.07023, 0.07258",\
                 "0.08284, 0.08206, 0.08005, 0.07752, 0.07525, 0.07367, 0.07264, 0.07211, 0.07203, 0.07425",\
                 "0.1009, 0.09969, 0.09651, 0.09242, 0.08818, 0.0843, 0.08141, 0.0793, 0.0778, 0.07969",\
                 "0.1257, 0.1242, 0.1199, 0.1138, 0.1079, 0.1019, 0.09636, 0.092, 0.08894, 0.09051",\
                 "0.158, 0.1561, 0.1505, 0.1428, 0.1344, 0.1264, 0.1188, 0.1115, 0.1061, 0.1077",\
                 "0.1982, 0.1959, 0.1892, 0.1796, 0.169, 0.1585, 0.1485, 0.1391, 0.1314, 0.1348",\
                 "0.2466, 0.244, 0.2362, 0.2249, 0.212, 0.1988, 0.1863, 0.1745, 0.166, 0.1755");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1132, 0.1127, 0.1114, 0.1095, 0.1077, 0.1062, 0.1051, 0.1043, 0.1037, 0.1033",\
                 "0.1128, 0.1124, 0.1111, 0.1092, 0.1074, 0.1059, 0.1048, 0.104, 0.1034, 0.1029",\
                 "0.1134, 0.113, 0.1119, 0.1103, 0.1086, 0.107, 0.1059, 0.105, 0.1044, 0.1039",\
                 "0.1169, 0.1166, 0.1158, 0.1146, 0.1132, 0.1118, 0.1105, 0.1096, 0.1088, 0.1082",\
                 "0.1256, 0.1254, 0.1246, 0.1235, 0.1222, 0.1209, 0.1196, 0.1186, 0.1177, 0.117",\
                 "0.1403, 0.1399, 0.139, 0.1377, 0.1364, 0.1352, 0.134, 0.1328, 0.1318, 0.131",\
                 "0.1613, 0.1609, 0.1596, 0.1579, 0.1563, 0.1549, 0.1536, 0.1524, 0.1513, 0.1503",\
                 "0.1889, 0.1882, 0.1864, 0.1842, 0.1822, 0.1805, 0.1789, 0.1776, 0.1764, 0.1753",\
                 "0.2231, 0.2222, 0.2198, 0.2171, 0.2144, 0.2122, 0.2103, 0.2088, 0.2074, 0.2062",\
                 "0.2644, 0.2632, 0.2603, 0.2567, 0.2534, 0.2504, 0.2482, 0.2462, 0.2446, 0.2432");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.09163, 0.0914, 0.09086, 0.08963, 0.08811, 0.08677, 0.0857, 0.0853, 0.08505, 0.08507",\
                 "0.09123, 0.09102, 0.09037, 0.08924, 0.08775, 0.08637, 0.08547, 0.08494, 0.08466, 0.08467",\
                 "0.08984, 0.08968, 0.08891, 0.08792, 0.08669, 0.08561, 0.08484, 0.08425, 0.08416, 0.08421",\
                 "0.09014, 0.08986, 0.0894, 0.08865, 0.08785, 0.08706, 0.08652, 0.08613, 0.08594, 0.08632",\
                 "0.09609, 0.09573, 0.09509, 0.0945, 0.09379, 0.09314, 0.09256, 0.0921, 0.09218, 0.09216",\
                 "0.108, 0.1077, 0.1068, 0.1054, 0.1044, 0.104, 0.1033, 0.103, 0.1028, 0.1027",\
                 "0.1256, 0.1251, 0.1239, 0.1223, 0.1209, 0.1196, 0.1192, 0.119, 0.1188, 0.1187",\
                 "0.1495, 0.149, 0.1472, 0.1448, 0.1426, 0.1412, 0.1396, 0.1393, 0.1394, 0.1394",\
                 "0.1796, 0.1789, 0.1766, 0.1736, 0.1704, 0.1682, 0.1664, 0.1653, 0.1649, 0.1651",\
                 "0.2147, 0.2139, 0.2117, 0.2086, 0.2045, 0.2015, 0.1992, 0.1975, 0.1963, 0.1959");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1132, 0.1127, 0.1114, 0.1095, 0.1077, 0.1062, 0.105, 0.1043, 0.1037, 0.1033",\
                 "0.1128, 0.1124, 0.1111, 0.1093, 0.1074, 0.1059, 0.1048, 0.104, 0.1034, 0.1029",\
                 "0.1134, 0.113, 0.1119, 0.1103, 0.1086, 0.107, 0.1059, 0.105, 0.1044, 0.1039",\
                 "0.1169, 0.1166, 0.1158, 0.1146, 0.1132, 0.1118, 0.1105, 0.1096, 0.1088, 0.1082",\
                 "0.1256, 0.1254, 0.1246, 0.1235, 0.1222, 0.1209, 0.1196, 0.1186, 0.1177, 0.117",\
                 "0.1403, 0.1399, 0.139, 0.1377, 0.1364, 0.1352, 0.1339, 0.1328, 0.1318, 0.131",\
                 "0.1613, 0.1608, 0.1596, 0.1579, 0.1564, 0.1549, 0.1536, 0.1524, 0.1512, 0.1504",\
                 "0.1889, 0.1882, 0.1864, 0.1843, 0.1822, 0.1805, 0.1789, 0.1776, 0.1764, 0.1753",\
                 "0.223, 0.2222, 0.2198, 0.2171, 0.2144, 0.2121, 0.2103, 0.2087, 0.2074, 0.2062",\
                 "0.2643, 0.2632, 0.2603, 0.2567, 0.2534, 0.2505, 0.2482, 0.2463, 0.2446, 0.2433");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.09162, 0.09139, 0.09084, 0.08963, 0.08808, 0.08677, 0.0857, 0.08511, 0.08505, 0.08513",\
                 "0.09123, 0.09107, 0.09037, 0.08924, 0.08775, 0.08637, 0.08547, 0.08494, 0.08466, 0.08467",\
                 "0.08984, 0.08968, 0.08891, 0.08791, 0.08669, 0.08561, 0.08484, 0.08425, 0.08416, 0.08421",\
                 "0.09014, 0.08986, 0.08941, 0.08865, 0.08785, 0.0871, 0.08652, 0.08613, 0.08594, 0.08632",\
                 "0.09609, 0.09573, 0.09519, 0.09449, 0.09379, 0.0931, 0.09256, 0.09214, 0.09218, 0.0923",\
                 "0.108, 0.1077, 0.1068, 0.1054, 0.1044, 0.1039, 0.1033, 0.103, 0.1027, 0.1027",\
                 "0.1256, 0.1251, 0.1239, 0.1223, 0.1209, 0.1196, 0.1192, 0.119, 0.1188, 0.1187",\
                 "0.1495, 0.149, 0.1471, 0.1448, 0.1428, 0.1412, 0.1397, 0.1394, 0.1396, 0.1395",\
                 "0.1795, 0.1789, 0.1766, 0.1735, 0.1704, 0.1682, 0.1664, 0.1653, 0.1649, 0.1651",\
                 "0.2147, 0.2139, 0.2117, 0.2086, 0.2045, 0.2015, 0.1992, 0.1977, 0.1963, 0.196");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("-0.001381, -0.001316, -0.001165, -0.001079, -0.001033, -0.001007, -0.0009929, -0.0009827, -0.0009688, -0.0009632",\
                 "-0.001359, -0.001216, -0.0009183, -0.0006687, -0.0005137, -0.0004234, -0.0003759, -0.0003466, -0.0003346, -0.0002875",\
                 "-0.0004076, -0.0003554, -0.0001609, -2.24e-05, 9.346e-05, 0.0001607, 0.0002082, 0.0002368, 0.0002735, 0.0002742",\
                 "0.003819, 0.003598, 0.003079, 0.002525, 0.002064, 0.001692, 0.001423, 0.001213, 0.001066, 0.000948",\
                 "0.01326, 0.01262, 0.01093, 0.009001, 0.00731, 0.005898, 0.004814, 0.003985, 0.003308, 0.002801",\
                 "0.02859, 0.0275, 0.0245, 0.02074, 0.01722, 0.01424, 0.01179, 0.00979, 0.008224, 0.006938",\
                 "0.05023, 0.04874, 0.0445, 0.03872, 0.03293, 0.02779, 0.02348, 0.01985, 0.01687, 0.0144",\
                 "0.07846, 0.07665, 0.07124, 0.06351, 0.05527, 0.04754, 0.04092, 0.03519, 0.03033, 0.02624",\
                 "0.1137, 0.1116, 0.1051, 0.09562, 0.08488, 0.07436, 0.06493, 0.05667, 0.04953, 0.04338",\
                 "0.1562, 0.1538, 0.1465, 0.1353, 0.1222, 0.1088, 0.0963, 0.08511, 0.07525, 0.06661");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.06709, 0.0673, 0.06775, 0.06809, 0.06848, 0.06879, 0.06914, 0.06957, 0.07008, 0.072",\
                 "0.06529, 0.06562, 0.06642, 0.0672, 0.06792, 0.06846, 0.06901, 0.06947, 0.07008, 0.07217",\
                 "0.06538, 0.06541, 0.06568, 0.06629, 0.06707, 0.06773, 0.06835, 0.06901, 0.06975, 0.0717",\
                 "0.0712, 0.07083, 0.06994, 0.06901, 0.06872, 0.06869, 0.06901, 0.06944, 0.07013, 0.07258",\
                 "0.08285, 0.08209, 0.08007, 0.07752, 0.07528, 0.07361, 0.07261, 0.0723, 0.07196, 0.07419",\
                 "0.1009, 0.09965, 0.09652, 0.09232, 0.08815, 0.08433, 0.08125, 0.07923, 0.07804, 0.07983",\
                 "0.1257, 0.1242, 0.1198, 0.1138, 0.1077, 0.1019, 0.0964, 0.09194, 0.08878, 0.09034",\
                 "0.158, 0.1561, 0.1505, 0.1428, 0.1345, 0.1264, 0.1189, 0.1117, 0.1062, 0.1078",\
                 "0.1982, 0.1959, 0.1892, 0.1796, 0.169, 0.1585, 0.1485, 0.1391, 0.1315, 0.1348",\
                 "0.2466, 0.2441, 0.2363, 0.2249, 0.2119, 0.1988, 0.1861, 0.1744, 0.166, 0.1756");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.023, 1.049, 1.129, 1.261, 1.439, 1.662, 1.938, 2.272, 2.672, 3.147",\
                 "1.037, 1.063, 1.143, 1.275, 1.452, 1.676, 1.952, 2.286, 2.686, 3.161",\
                 "1.074, 1.1, 1.181, 1.312, 1.49, 1.714, 1.989, 2.323, 2.723, 3.198",\
                 "1.094, 1.119, 1.2, 1.332, 1.509, 1.733, 2.008, 2.342, 2.743, 3.218",\
                 "1.081, 1.106, 1.186, 1.317, 1.494, 1.718, 1.993, 2.327, 2.728, 3.202",\
                 "1.025, 1.05, 1.129, 1.259, 1.436, 1.659, 1.934, 2.268, 2.669, 3.144",\
                 "0.9166, 0.9415, 1.02, 1.151, 1.327, 1.55, 1.825, 2.159, 2.56, 3.035",\
                 "0.7559, 0.7811, 0.8599, 0.99, 1.167, 1.39, 1.665, 1.999, 2.4, 2.875",\
                 "0.5399, 0.5649, 0.6442, 0.7742, 0.951, 1.174, 1.449, 1.782, 2.183, 2.657",\
                 "0.2678, 0.2932, 0.3724, 0.5021, 0.68, 0.9015, 1.176, 1.509, 1.909, 2.383");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.105, 1.139, 1.256, 1.478, 1.822, 2.303, 2.934, 3.727, 4.696, 5.85",\
                 "1.111, 1.145, 1.263, 1.485, 1.829, 2.31, 2.94, 3.734, 4.703, 5.856",\
                 "1.148, 1.182, 1.3, 1.522, 1.866, 2.347, 2.977, 3.771, 4.739, 5.893",\
                 "1.245, 1.28, 1.397, 1.619, 1.963, 2.443, 3.075, 3.868, 4.837, 5.991",\
                 "1.42, 1.454, 1.571, 1.793, 2.137, 2.617, 3.249, 4.043, 5.011, 6.163",\
                 "1.666, 1.7, 1.818, 2.04, 2.383, 2.864, 3.495, 4.289, 5.257, 6.409",\
                 "1.984, 2.018, 2.135, 2.357, 2.7, 3.18, 3.812, 4.606, 5.574, 6.728",\
                 "2.37, 2.404, 2.521, 2.742, 3.086, 3.566, 4.196, 4.99, 5.959, 7.112",\
                 "2.821, 2.856, 2.973, 3.193, 3.536, 4.016, 4.646, 5.44, 6.407, 7.561",\
                 "3.337, 3.372, 3.49, 3.71, 4.052, 4.532, 5.163, 5.956, 6.924, 8.076");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3435, 0.3699, 0.4548, 0.601, 0.8202, 1.124, 1.532, 2.059, 2.717, 3.515",\
                 "0.3436, 0.3696, 0.455, 0.601, 0.8202, 1.124, 1.532, 2.059, 2.717, 3.515",\
                 "0.3436, 0.371, 0.4542, 0.6008, 0.8202, 1.123, 1.532, 2.059, 2.718, 3.515",\
                 "0.3438, 0.3702, 0.4544, 0.601, 0.819, 1.124, 1.532, 2.059, 2.718, 3.516",\
                 "0.3374, 0.364, 0.4494, 0.5976, 0.8174, 1.122, 1.531, 2.058, 2.717, 3.515",\
                 "0.333, 0.3588, 0.4438, 0.5934, 0.8138, 1.12, 1.529, 2.058, 2.717, 3.515",\
                 "0.3308, 0.358, 0.4426, 0.5924, 0.814, 1.119, 1.528, 2.057, 2.717, 3.516",\
                 "0.3324, 0.3586, 0.4436, 0.5928, 0.8146, 1.12, 1.529, 2.056, 2.717, 3.515",\
                 "0.333, 0.359, 0.4452, 0.5938, 0.8144, 1.119, 1.527, 2.055, 2.714, 3.512",\
                 "0.334, 0.3602, 0.4458, 0.5936, 0.8126, 1.117, 1.525, 2.052, 2.712, 3.51");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.331, 0.3844, 0.5774, 0.957, 1.556, 2.391, 3.501, 4.888, 6.582, 8.603",\
                 "0.3308, 0.3844, 0.5778, 0.9572, 1.556, 2.395, 3.501, 4.89, 6.585, 8.618",\
                 "0.3312, 0.3844, 0.5778, 0.9588, 1.556, 2.394, 3.5, 4.887, 6.586, 8.606",\
                 "0.3312, 0.3844, 0.5778, 0.9586, 1.554, 2.394, 3.5, 4.888, 6.586, 8.608",\
                 "0.3312, 0.3846, 0.5788, 0.9572, 1.557, 2.396, 3.501, 4.885, 6.581, 8.622",\
                 "0.3322, 0.3852, 0.5782, 0.9588, 1.556, 2.396, 3.494, 4.894, 6.594, 8.607",\
                 "0.3332, 0.3864, 0.5786, 0.9572, 1.554, 2.394, 3.496, 4.884, 6.586, 8.608",\
                 "0.3346, 0.388, 0.5796, 0.9592, 1.555, 2.394, 3.495, 4.884, 6.588, 8.614",\
                 "0.338, 0.391, 0.5812, 0.9598, 1.556, 2.392, 3.497, 4.885, 6.588, 8.616",\
                 "0.342, 0.3932, 0.5826, 0.9592, 1.556, 2.396, 3.497, 4.886, 6.582, 8.61");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.7191, 0.7357, 0.7901, 0.8862, 1.029, 1.226, 1.484, 1.809, 2.207, 2.681",\
                 "0.7312, 0.7478, 0.8023, 0.8978, 1.041, 1.238, 1.496, 1.822, 2.219, 2.693",\
                 "0.7733, 0.7902, 0.8444, 0.9404, 1.084, 1.281, 1.539, 1.864, 2.261, 2.734",\
                 "0.848, 0.8648, 0.9193, 1.015, 1.158, 1.355, 1.614, 1.939, 2.336, 2.81",\
                 "0.9126, 0.9295, 0.984, 1.08, 1.223, 1.42, 1.679, 2.004, 2.401, 2.875",\
                 "0.9505, 0.9674, 1.022, 1.119, 1.262, 1.459, 1.717, 2.042, 2.44, 2.913",\
                 "0.9563, 0.9733, 1.028, 1.125, 1.268, 1.465, 1.724, 2.049, 2.446, 2.919",\
                 "0.9233, 0.9402, 0.9958, 1.093, 1.236, 1.433, 1.692, 2.017, 2.414, 2.887",\
                 "0.8466, 0.8643, 0.9199, 1.017, 1.161, 1.358, 1.616, 1.942, 2.339, 2.812",\
                 "0.7242, 0.7413, 0.7977, 0.8954, 1.039, 1.236, 1.495, 1.82, 2.217, 2.69");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.15, 1.169, 1.233, 1.35, 1.528, 1.779, 2.108, 2.524, 3.032, 3.639",\
                 "1.164, 1.182, 1.246, 1.363, 1.542, 1.792, 2.121, 2.537, 3.046, 3.652",\
                 "1.217, 1.236, 1.299, 1.416, 1.595, 1.845, 2.174, 2.59, 3.098, 3.705",\
                 "1.339, 1.357, 1.421, 1.538, 1.717, 1.967, 2.297, 2.712, 3.221, 3.827",\
                 "1.544, 1.563, 1.626, 1.743, 1.922, 2.172, 2.502, 2.918, 3.426, 4.032",\
                 "1.817, 1.835, 1.898, 2.016, 2.194, 2.445, 2.774, 3.19, 3.699, 4.305",\
                 "2.141, 2.16, 2.224, 2.342, 2.519, 2.77, 3.1, 3.516, 4.023, 4.63",\
                 "2.523, 2.542, 2.606, 2.724, 2.902, 3.153, 3.482, 3.898, 4.406, 5.012",\
                 "2.962, 2.98, 3.044, 3.163, 3.341, 3.591, 3.921, 4.336, 4.845, 5.45",\
                 "3.453, 3.474, 3.538, 3.655, 3.835, 4.084, 4.414, 4.829, 5.338, 5.944");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.165, 0.1848, 0.2569, 0.3996, 0.63, 0.9592, 1.399, 1.953, 2.633, 3.443",\
                 "0.1648, 0.1851, 0.2567, 0.3996, 0.63, 0.959, 1.399, 1.953, 2.632, 3.443",\
                 "0.1649, 0.1849, 0.2569, 0.3996, 0.6302, 0.9592, 1.398, 1.954, 2.633, 3.442",\
                 "0.165, 0.1852, 0.2572, 0.3996, 0.6296, 0.9592, 1.398, 1.953, 2.633, 3.442",\
                 "0.1666, 0.1866, 0.258, 0.4002, 0.6296, 0.959, 1.398, 1.954, 2.633, 3.442",\
                 "0.1686, 0.188, 0.2594, 0.4014, 0.63, 0.959, 1.398, 1.954, 2.632, 3.442",\
                 "0.1712, 0.1904, 0.262, 0.4026, 0.6304, 0.9602, 1.399, 1.952, 2.631, 3.442",\
                 "0.1744, 0.1938, 0.264, 0.4038, 0.6316, 0.9602, 1.398, 1.953, 2.631, 3.439",\
                 "0.178, 0.1972, 0.2664, 0.4058, 0.6322, 0.9606, 1.398, 1.953, 2.632, 3.439",\
                 "0.1828, 0.2014, 0.2698, 0.4076, 0.634, 0.961, 1.398, 1.953, 2.631, 3.438");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.281, 0.3094, 0.4126, 0.6116, 0.9272, 1.373, 1.96, 2.697, 3.597, 4.669",\
                 "0.2802, 0.3096, 0.413, 0.6122, 0.9266, 1.373, 1.959, 2.697, 3.597, 4.668",\
                 "0.2802, 0.3094, 0.4124, 0.6122, 0.9264, 1.373, 1.96, 2.697, 3.597, 4.668",\
                 "0.2802, 0.309, 0.4134, 0.6116, 0.9274, 1.373, 1.96, 2.697, 3.596, 4.668",\
                 "0.2802, 0.31, 0.4136, 0.6114, 0.9266, 1.373, 1.96, 2.697, 3.597, 4.669",\
                 "0.28, 0.3104, 0.4122, 0.6114, 0.9266, 1.373, 1.959, 2.697, 3.596, 4.668",\
                 "0.2792, 0.3092, 0.4122, 0.6098, 0.9252, 1.371, 1.959, 2.696, 3.597, 4.668",\
                 "0.28, 0.3096, 0.4126, 0.6102, 0.9242, 1.371, 1.958, 2.696, 3.596, 4.668",\
                 "0.2806, 0.3112, 0.4134, 0.6098, 0.9228, 1.37, 1.957, 2.696, 3.595, 4.668",\
                 "0.2826, 0.3122, 0.414, 0.609, 0.922, 1.368, 1.956, 2.696, 3.595, 4.668");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.023, 1.049, 1.129, 1.261, 1.439, 1.662, 1.938, 2.272, 2.672, 3.147",\
                 "1.037, 1.063, 1.143, 1.275, 1.452, 1.676, 1.952, 2.286, 2.686, 3.161",\
                 "1.074, 1.1, 1.181, 1.312, 1.49, 1.714, 1.989, 2.323, 2.723, 3.198",\
                 "1.094, 1.119, 1.2, 1.332, 1.509, 1.733, 2.008, 2.342, 2.743, 3.218",\
                 "1.081, 1.106, 1.186, 1.317, 1.494, 1.718, 1.993, 2.327, 2.728, 3.202",\
                 "1.025, 1.05, 1.129, 1.259, 1.436, 1.659, 1.934, 2.268, 2.669, 3.144",\
                 "0.9166, 0.9415, 1.02, 1.151, 1.327, 1.55, 1.825, 2.159, 2.56, 3.035",\
                 "0.7559, 0.7811, 0.8599, 0.99, 1.167, 1.39, 1.665, 1.999, 2.4, 2.875",\
                 "0.5399, 0.5649, 0.6442, 0.7742, 0.951, 1.174, 1.449, 1.782, 2.183, 2.657",\
                 "0.2678, 0.2932, 0.3724, 0.5021, 0.68, 0.9015, 1.176, 1.509, 1.909, 2.383");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.105, 1.139, 1.256, 1.478, 1.822, 2.303, 2.934, 3.727, 4.696, 5.85",\
                 "1.111, 1.145, 1.263, 1.485, 1.829, 2.31, 2.94, 3.734, 4.703, 5.856",\
                 "1.148, 1.182, 1.3, 1.522, 1.866, 2.347, 2.977, 3.771, 4.739, 5.893",\
                 "1.245, 1.28, 1.397, 1.619, 1.963, 2.443, 3.075, 3.868, 4.837, 5.991",\
                 "1.42, 1.454, 1.571, 1.793, 2.137, 2.617, 3.249, 4.043, 5.011, 6.163",\
                 "1.666, 1.7, 1.818, 2.04, 2.383, 2.864, 3.495, 4.289, 5.257, 6.409",\
                 "1.984, 2.018, 2.135, 2.357, 2.7, 3.18, 3.812, 4.606, 5.574, 6.728",\
                 "2.37, 2.404, 2.521, 2.742, 3.086, 3.566, 4.196, 4.99, 5.959, 7.112",\
                 "2.821, 2.856, 2.973, 3.193, 3.536, 4.016, 4.646, 5.44, 6.407, 7.561",\
                 "3.337, 3.372, 3.49, 3.71, 4.052, 4.532, 5.163, 5.956, 6.924, 8.076");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3435, 0.3699, 0.4548, 0.601, 0.8202, 1.124, 1.532, 2.059, 2.717, 3.515",\
                 "0.3436, 0.3696, 0.455, 0.601, 0.8202, 1.124, 1.532, 2.059, 2.717, 3.515",\
                 "0.3436, 0.371, 0.4542, 0.6008, 0.8202, 1.123, 1.532, 2.059, 2.718, 3.515",\
                 "0.3438, 0.3702, 0.4544, 0.601, 0.819, 1.124, 1.532, 2.059, 2.718, 3.516",\
                 "0.3374, 0.364, 0.4494, 0.5976, 0.8174, 1.122, 1.531, 2.058, 2.717, 3.515",\
                 "0.333, 0.3588, 0.4438, 0.5934, 0.8138, 1.12, 1.529, 2.058, 2.717, 3.515",\
                 "0.3308, 0.358, 0.4426, 0.5924, 0.814, 1.119, 1.528, 2.057, 2.717, 3.516",\
                 "0.3324, 0.3586, 0.4436, 0.5928, 0.8146, 1.12, 1.529, 2.056, 2.717, 3.515",\
                 "0.333, 0.359, 0.4452, 0.5938, 0.8144, 1.119, 1.527, 2.055, 2.714, 3.512",\
                 "0.334, 0.3602, 0.4458, 0.5936, 0.8126, 1.117, 1.525, 2.052, 2.712, 3.51");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.331, 0.3844, 0.5774, 0.957, 1.556, 2.391, 3.501, 4.888, 6.582, 8.603",\
                 "0.3308, 0.3844, 0.5778, 0.9572, 1.556, 2.395, 3.501, 4.89, 6.585, 8.618",\
                 "0.3312, 0.3844, 0.5778, 0.9588, 1.556, 2.394, 3.5, 4.887, 6.586, 8.606",\
                 "0.3312, 0.3844, 0.5778, 0.9586, 1.554, 2.394, 3.5, 4.888, 6.586, 8.608",\
                 "0.3312, 0.3846, 0.5788, 0.9572, 1.557, 2.396, 3.501, 4.885, 6.581, 8.622",\
                 "0.3322, 0.3852, 0.5782, 0.9588, 1.556, 2.396, 3.494, 4.894, 6.594, 8.607",\
                 "0.3332, 0.3864, 0.5786, 0.9572, 1.554, 2.394, 3.496, 4.884, 6.586, 8.608",\
                 "0.3346, 0.388, 0.5796, 0.9592, 1.555, 2.394, 3.495, 4.884, 6.588, 8.614",\
                 "0.338, 0.391, 0.5812, 0.9598, 1.556, 2.392, 3.497, 4.885, 6.588, 8.616",\
                 "0.342, 0.3932, 0.5826, 0.9592, 1.556, 2.396, 3.497, 4.886, 6.582, 8.61");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.243, 1.26, 1.313, 1.409, 1.552, 1.749, 2.007, 2.332, 2.73, 3.203",\
                 "1.249, 1.266, 1.32, 1.415, 1.558, 1.755, 2.014, 2.339, 2.736, 3.21",\
                 "1.286, 1.303, 1.357, 1.453, 1.595, 1.793, 2.051, 2.376, 2.773, 3.247",\
                 "1.383, 1.4, 1.454, 1.55, 1.693, 1.89, 2.148, 2.473, 2.87, 3.344",\
                 "1.558, 1.575, 1.629, 1.724, 1.867, 2.064, 2.323, 2.648, 3.045, 3.519",\
                 "1.805, 1.821, 1.876, 1.971, 2.114, 2.312, 2.57, 2.895, 3.292, 3.766",\
                 "2.123, 2.139, 2.194, 2.289, 2.432, 2.629, 2.888, 3.213, 3.61, 4.083",\
                 "2.511, 2.528, 2.582, 2.679, 2.821, 3.018, 3.277, 3.602, 3.999, 4.472",\
                 "2.965, 2.982, 3.036, 3.131, 3.274, 3.472, 3.73, 4.055, 4.452, 4.926",\
                 "3.484, 3.501, 3.555, 3.651, 3.794, 3.991, 4.25, 4.575, 4.972, 5.446");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.393, 1.412, 1.476, 1.592, 1.771, 2.021, 2.351, 2.767, 3.275, 3.881",\
                 "1.407, 1.426, 1.49, 1.606, 1.785, 2.035, 2.365, 2.781, 3.289, 3.895",\
                 "1.444, 1.463, 1.527, 1.644, 1.822, 2.072, 2.402, 2.817, 3.326, 3.932",\
                 "1.464, 1.483, 1.546, 1.663, 1.842, 2.092, 2.421, 2.837, 3.345, 3.952",\
                 "1.449, 1.468, 1.531, 1.648, 1.827, 2.077, 2.407, 2.822, 3.33, 3.937",\
                 "1.392, 1.412, 1.475, 1.592, 1.77, 2.02, 2.35, 2.766, 3.274, 3.881",\
                 "1.284, 1.303, 1.366, 1.483, 1.662, 1.912, 2.242, 2.657, 3.166, 3.772",\
                 "1.124, 1.142, 1.206, 1.323, 1.502, 1.752, 2.081, 2.497, 3.005, 3.611",\
                 "0.9077, 0.9265, 0.9903, 1.107, 1.286, 1.536, 1.866, 2.281, 2.789, 3.395",\
                 "0.6358, 0.6548, 0.7186, 0.8352, 1.014, 1.265, 1.593, 2.01, 2.519, 3.124");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.162, 0.1818, 0.2546, 0.3988, 0.6288, 0.9592, 1.398, 1.953, 2.633, 3.442",\
                 "0.1618, 0.182, 0.2548, 0.3984, 0.6294, 0.9586, 1.398, 1.954, 2.633, 3.442",\
                 "0.1618, 0.182, 0.2552, 0.399, 0.6292, 0.9584, 1.398, 1.953, 2.633, 3.442",\
                 "0.1618, 0.1822, 0.255, 0.3986, 0.6292, 0.9592, 1.398, 1.954, 2.633, 3.442",\
                 "0.1618, 0.1822, 0.2552, 0.3988, 0.6286, 0.9586, 1.398, 1.954, 2.633, 3.442",\
                 "0.162, 0.182, 0.2552, 0.3984, 0.6296, 0.959, 1.398, 1.953, 2.633, 3.442",\
                 "0.162, 0.1826, 0.2554, 0.399, 0.6288, 0.9584, 1.398, 1.953, 2.632, 3.442",\
                 "0.1622, 0.1826, 0.2556, 0.399, 0.6292, 0.9586, 1.398, 1.952, 2.632, 3.445",\
                 "0.1628, 0.1828, 0.2556, 0.3986, 0.6284, 0.9586, 1.399, 1.953, 2.631, 3.44",\
                 "0.163, 0.1832, 0.2558, 0.3992, 0.6292, 0.9592, 1.398, 1.954, 2.631, 3.44");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.28, 0.3102, 0.4126, 0.6116, 0.9266, 1.373, 1.959, 2.697, 3.597, 4.668",\
                 "0.2792, 0.3104, 0.413, 0.6118, 0.9268, 1.373, 1.959, 2.697, 3.597, 4.668",\
                 "0.28, 0.3092, 0.4126, 0.6118, 0.9268, 1.373, 1.959, 2.697, 3.597, 4.668",\
                 "0.2792, 0.3104, 0.413, 0.6116, 0.9268, 1.373, 1.96, 2.697, 3.597, 4.668",\
                 "0.28, 0.3098, 0.413, 0.6112, 0.9264, 1.373, 1.96, 2.697, 3.597, 4.668",\
                 "0.2798, 0.3096, 0.4126, 0.611, 0.9262, 1.373, 1.959, 2.697, 3.596, 4.668",\
                 "0.2792, 0.3096, 0.4126, 0.611, 0.9262, 1.372, 1.959, 2.696, 3.596, 4.668",\
                 "0.2794, 0.3098, 0.413, 0.6112, 0.9272, 1.373, 1.959, 2.697, 3.596, 4.668",\
                 "0.2796, 0.3094, 0.413, 0.6108, 0.9268, 1.373, 1.959, 2.697, 3.597, 4.667",\
                 "0.2798, 0.3094, 0.4126, 0.611, 0.927, 1.373, 1.959, 2.697, 3.597, 4.669");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.7836, 0.8088, 0.8875, 1.017, 1.193, 1.416, 1.69, 2.024, 2.424, 2.899",\
                 "0.7973, 0.8223, 0.9008, 1.03, 1.206, 1.429, 1.703, 2.037, 2.437, 2.912",\
                 "0.8501, 0.8746, 0.9538, 1.083, 1.259, 1.482, 1.756, 2.09, 2.49, 2.965",\
                 "0.9717, 0.9972, 1.076, 1.205, 1.381, 1.604, 1.878, 2.212, 2.612, 3.087",\
                 "1.177, 1.202, 1.28, 1.409, 1.585, 1.807, 2.082, 2.415, 2.816, 3.29",\
                 "1.442, 1.468, 1.548, 1.68, 1.857, 2.081, 2.356, 2.69, 3.09, 3.564",\
                 "1.759, 1.785, 1.868, 2.003, 2.183, 2.41, 2.687, 3.022, 3.422, 3.897",\
                 "2.13, 2.158, 2.244, 2.383, 2.567, 2.797, 3.075, 3.411, 3.813, 4.287",\
                 "2.555, 2.584, 2.675, 2.82, 3.01, 3.244, 3.526, 3.863, 4.265, 4.74",\
                 "3.031, 3.062, 3.158, 3.311, 3.51, 3.751, 4.039, 4.38, 4.783, 5.258");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.5712, 0.6072, 0.7285, 0.9528, 1.298, 1.779, 2.409, 3.202, 4.172, 5.324",\
                 "0.5832, 0.6189, 0.7406, 0.9647, 1.31, 1.79, 2.421, 3.215, 4.183, 5.335",\
                 "0.6259, 0.6618, 0.7827, 1.007, 1.352, 1.833, 2.464, 3.257, 4.227, 5.381",\
                 "0.6978, 0.7334, 0.8538, 1.077, 1.421, 1.902, 2.533, 3.327, 4.296, 5.45",\
                 "0.7567, 0.7919, 0.9121, 1.134, 1.477, 1.956, 2.586, 3.381, 4.349, 5.501",\
                 "0.7885, 0.824, 0.9433, 1.164, 1.505, 1.983, 2.612, 3.405, 4.372, 5.526",\
                 "0.788, 0.8232, 0.9433, 1.164, 1.502, 1.977, 2.605, 3.396, 4.363, 5.516",\
                 "0.75, 0.7856, 0.9059, 1.127, 1.463, 1.936, 2.561, 3.351, 4.316, 5.468",\
                 "0.6694, 0.7051, 0.8265, 1.048, 1.384, 1.855, 2.478, 3.265, 4.229, 5.378",\
                 "0.5432, 0.5798, 0.7019, 0.9234, 1.26, 1.73, 2.352, 3.138, 4.1, 5.249");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3289, 0.3551, 0.4403, 0.5899, 0.8106, 1.116, 1.527, 2.054, 2.715, 3.514",\
                 "0.329, 0.3547, 0.4404, 0.5892, 0.8104, 1.116, 1.527, 2.055, 2.715, 3.514",\
                 "0.3291, 0.3548, 0.4398, 0.5892, 0.8104, 1.116, 1.527, 2.055, 2.715, 3.514",\
                 "0.3284, 0.3552, 0.4406, 0.5894, 0.8104, 1.117, 1.527, 2.055, 2.715, 3.513",\
                 "0.3342, 0.3602, 0.445, 0.5922, 0.8132, 1.119, 1.529, 2.057, 2.716, 3.514",\
                 "0.3564, 0.3826, 0.465, 0.6106, 0.8274, 1.128, 1.534, 2.06, 2.717, 3.514",\
                 "0.384, 0.4106, 0.4916, 0.6336, 0.8484, 1.146, 1.547, 2.069, 2.721, 3.517",\
                 "0.4178, 0.4434, 0.5248, 0.6644, 0.8732, 1.166, 1.563, 2.079, 2.73, 3.521",\
                 "0.4608, 0.4876, 0.5698, 0.7062, 0.9116, 1.197, 1.585, 2.094, 2.739, 3.529",\
                 "0.508, 0.5362, 0.6224, 0.759, 0.9622, 1.241, 1.622, 2.121, 2.756, 3.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3449, 0.3989, 0.5899, 0.9636, 1.558, 2.396, 3.502, 4.888, 6.595, 8.609",\
                 "0.345, 0.3992, 0.5907, 0.9624, 1.558, 2.394, 3.498, 4.885, 6.598, 8.614",\
                 "0.3451, 0.399, 0.5901, 0.9626, 1.557, 2.393, 3.502, 4.896, 6.593, 8.619",\
                 "0.3482, 0.4014, 0.5922, 0.9632, 1.557, 2.393, 3.498, 4.895, 6.591, 8.617",\
                 "0.3568, 0.4108, 0.5984, 0.9668, 1.559, 2.396, 3.499, 4.895, 6.589, 8.618",\
                 "0.3678, 0.4206, 0.6072, 0.9718, 1.559, 2.396, 3.501, 4.894, 6.587, 8.613",\
                 "0.3818, 0.4352, 0.6206, 0.981, 1.562, 2.394, 3.496, 4.894, 6.592, 8.603",\
                 "0.4, 0.4512, 0.6358, 0.993, 1.571, 2.399, 3.499, 4.885, 6.594, 8.609",\
                 "0.4214, 0.4722, 0.6548, 1.01, 1.583, 2.407, 3.504, 4.887, 6.582, 8.603",\
                 "0.446, 0.4944, 0.6732, 1.026, 1.597, 2.416, 3.511, 4.898, 6.585, 8.603");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.243, 1.26, 1.313, 1.409, 1.552, 1.749, 2.007, 2.332, 2.73, 3.203",\
                 "1.249, 1.266, 1.32, 1.415, 1.558, 1.755, 2.014, 2.339, 2.736, 3.21",\
                 "1.286, 1.303, 1.357, 1.453, 1.595, 1.793, 2.051, 2.376, 2.773, 3.247",\
                 "1.383, 1.4, 1.454, 1.55, 1.693, 1.89, 2.148, 2.473, 2.87, 3.344",\
                 "1.558, 1.575, 1.629, 1.724, 1.867, 2.064, 2.323, 2.648, 3.045, 3.519",\
                 "1.805, 1.821, 1.876, 1.971, 2.114, 2.312, 2.57, 2.895, 3.292, 3.766",\
                 "2.123, 2.139, 2.194, 2.289, 2.432, 2.629, 2.888, 3.213, 3.61, 4.083",\
                 "2.511, 2.528, 2.582, 2.679, 2.821, 3.018, 3.277, 3.602, 3.999, 4.472",\
                 "2.965, 2.982, 3.036, 3.131, 3.274, 3.472, 3.73, 4.055, 4.452, 4.926",\
                 "3.484, 3.501, 3.555, 3.651, 3.794, 3.991, 4.25, 4.575, 4.972, 5.446");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.5712, 0.6072, 0.7285, 0.9528, 1.298, 1.779, 2.409, 3.202, 4.172, 5.324",\
                 "0.5832, 0.6189, 0.7406, 0.9647, 1.31, 1.79, 2.421, 3.215, 4.183, 5.335",\
                 "0.6259, 0.6618, 0.7827, 1.007, 1.352, 1.833, 2.464, 3.257, 4.227, 5.381",\
                 "0.6978, 0.7334, 0.8538, 1.077, 1.421, 1.902, 2.533, 3.327, 4.296, 5.45",\
                 "0.7567, 0.7919, 0.9121, 1.134, 1.477, 1.956, 2.586, 3.381, 4.349, 5.501",\
                 "0.7885, 0.824, 0.9433, 1.164, 1.505, 1.983, 2.612, 3.405, 4.372, 5.526",\
                 "0.788, 0.8232, 0.9433, 1.164, 1.502, 1.977, 2.605, 3.396, 4.363, 5.516",\
                 "0.75, 0.7856, 0.9059, 1.127, 1.463, 1.936, 2.561, 3.351, 4.316, 5.468",\
                 "0.6694, 0.7051, 0.8265, 1.048, 1.384, 1.855, 2.478, 3.265, 4.229, 5.378",\
                 "0.5432, 0.5798, 0.7019, 0.9234, 1.26, 1.73, 2.352, 3.138, 4.1, 5.249");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3289, 0.3551, 0.4403, 0.5899, 0.8106, 1.116, 1.527, 2.054, 2.715, 3.514",\
                 "0.329, 0.3547, 0.4404, 0.5892, 0.8104, 1.116, 1.527, 2.055, 2.715, 3.514",\
                 "0.3291, 0.3548, 0.4398, 0.5892, 0.8104, 1.116, 1.527, 2.055, 2.715, 3.514",\
                 "0.3284, 0.3552, 0.4406, 0.5894, 0.8104, 1.117, 1.527, 2.055, 2.715, 3.513",\
                 "0.3342, 0.3602, 0.445, 0.5922, 0.8132, 1.119, 1.529, 2.057, 2.716, 3.514",\
                 "0.3564, 0.3826, 0.465, 0.6106, 0.8274, 1.128, 1.534, 2.06, 2.717, 3.514",\
                 "0.384, 0.4106, 0.4916, 0.6336, 0.8484, 1.146, 1.547, 2.069, 2.721, 3.517",\
                 "0.4178, 0.4434, 0.5248, 0.6644, 0.8732, 1.166, 1.563, 2.079, 2.73, 3.521",\
                 "0.4608, 0.4876, 0.5698, 0.7062, 0.9116, 1.197, 1.585, 2.094, 2.739, 3.529",\
                 "0.508, 0.5362, 0.6224, 0.759, 0.9622, 1.241, 1.622, 2.121, 2.756, 3.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3449, 0.3989, 0.5899, 0.9636, 1.558, 2.396, 3.502, 4.888, 6.595, 8.609",\
                 "0.345, 0.3992, 0.5907, 0.9624, 1.558, 2.394, 3.498, 4.885, 6.598, 8.614",\
                 "0.3451, 0.399, 0.5901, 0.9626, 1.557, 2.393, 3.502, 4.896, 6.593, 8.619",\
                 "0.3482, 0.4014, 0.5922, 0.9632, 1.557, 2.393, 3.498, 4.895, 6.591, 8.617",\
                 "0.3568, 0.4108, 0.5984, 0.9668, 1.559, 2.396, 3.499, 4.895, 6.589, 8.618",\
                 "0.3678, 0.4206, 0.6072, 0.9718, 1.559, 2.396, 3.501, 4.894, 6.587, 8.613",\
                 "0.3818, 0.4352, 0.6206, 0.981, 1.562, 2.394, 3.496, 4.894, 6.592, 8.603",\
                 "0.4, 0.4512, 0.6358, 0.993, 1.571, 2.399, 3.499, 4.885, 6.594, 8.609",\
                 "0.4214, 0.4722, 0.6548, 1.01, 1.583, 2.407, 3.504, 4.887, 6.582, 8.603",\
                 "0.446, 0.4944, 0.6732, 1.026, 1.597, 2.416, 3.511, 4.898, 6.585, 8.603");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.9692, 0.9944, 1.073, 1.202, 1.378, 1.601, 1.875, 2.209, 2.61, 3.084",\
                 "0.9835, 1.009, 1.087, 1.217, 1.393, 1.615, 1.89, 2.223, 2.624, 3.099",\
                 "1.021, 1.045, 1.124, 1.253, 1.429, 1.652, 1.926, 2.26, 2.661, 3.135",\
                 "1.035, 1.06, 1.139, 1.268, 1.444, 1.667, 1.941, 2.275, 2.675, 3.15",\
                 "1.011, 1.035, 1.114, 1.243, 1.419, 1.642, 1.916, 2.25, 2.65, 3.125",\
                 "0.9391, 0.9638, 1.042, 1.171, 1.347, 1.57, 1.844, 2.177, 2.577, 3.052",\
                 "0.8129, 0.8377, 0.9164, 1.046, 1.222, 1.444, 1.718, 2.052, 2.452, 2.926",\
                 "0.6272, 0.6521, 0.7311, 0.8605, 1.036, 1.259, 1.533, 1.867, 2.267, 2.741",\
                 "0.3793, 0.4041, 0.4831, 0.6128, 0.7891, 1.011, 1.285, 1.618, 2.017, 2.491",\
                 "0.0656, 0.0903, 0.1692, 0.2983, 0.4741, 0.6966, 0.9697, 1.302, 1.702, 2.176");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.059, 1.093, 1.21, 1.432, 1.776, 2.257, 2.888, 3.681, 4.65, 5.803",\
                 "1.064, 1.098, 1.215, 1.437, 1.782, 2.262, 2.893, 3.687, 4.654, 5.809",\
                 "1.121, 1.155, 1.272, 1.494, 1.838, 2.318, 2.95, 3.743, 4.712, 5.864",\
                 "1.263, 1.297, 1.415, 1.636, 1.981, 2.461, 3.092, 3.886, 4.854, 6.008",\
                 "1.487, 1.521, 1.639, 1.86, 2.205, 2.685, 3.316, 4.11, 5.078, 6.232",\
                 "1.779, 1.814, 1.931, 2.153, 2.496, 2.977, 3.608, 4.401, 5.37, 6.522",\
                 "2.142, 2.176, 2.294, 2.515, 2.858, 3.339, 3.97, 4.764, 5.732, 6.886",\
                 "2.584, 2.618, 2.736, 2.957, 3.3, 3.78, 4.411, 5.205, 6.173, 7.327",\
                 "3.106, 3.14, 3.258, 3.478, 3.822, 4.302, 4.933, 5.726, 6.693, 7.847",\
                 "3.708, 3.742, 3.86, 4.08, 4.422, 4.903, 5.533, 6.327, 7.294, 8.446");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3287, 0.3554, 0.4399, 0.5894, 0.8102, 1.116, 1.526, 2.055, 2.715, 3.514",\
                 "0.3284, 0.3553, 0.4398, 0.59, 0.81, 1.117, 1.527, 2.054, 2.715, 3.514",\
                 "0.3284, 0.3556, 0.44, 0.5892, 0.81, 1.116, 1.527, 2.055, 2.716, 3.514",\
                 "0.329, 0.355, 0.44, 0.589, 0.8104, 1.116, 1.527, 2.055, 2.716, 3.514",\
                 "0.328, 0.3532, 0.4384, 0.588, 0.8096, 1.116, 1.526, 2.054, 2.714, 3.514",\
                 "0.3282, 0.3544, 0.4392, 0.5886, 0.8092, 1.114, 1.524, 2.053, 2.715, 3.513",\
                 "0.3284, 0.3548, 0.4404, 0.5894, 0.8104, 1.116, 1.525, 2.052, 2.712, 3.511",\
                 "0.3302, 0.357, 0.441, 0.5902, 0.8114, 1.117, 1.526, 2.053, 2.713, 3.51",\
                 "0.3314, 0.3566, 0.4422, 0.5906, 0.8116, 1.115, 1.524, 2.051, 2.709, 3.507",\
                 "0.332, 0.3576, 0.442, 0.5908, 0.8094, 1.113, 1.52, 2.049, 2.708, 3.507");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.331, 0.3844, 0.5776, 0.957, 1.556, 2.395, 3.501, 4.887, 6.584, 8.623",\
                 "0.3306, 0.3844, 0.5786, 0.9586, 1.556, 2.395, 3.5, 4.888, 6.586, 8.603",\
                 "0.3308, 0.3842, 0.5786, 0.9566, 1.557, 2.394, 3.495, 4.891, 6.596, 8.606",\
                 "0.3306, 0.3842, 0.5774, 0.9574, 1.556, 2.391, 3.499, 4.892, 6.583, 8.613",\
                 "0.331, 0.3848, 0.5782, 0.9572, 1.555, 2.393, 3.498, 4.892, 6.586, 8.603",\
                 "0.3322, 0.3856, 0.5778, 0.9588, 1.555, 2.395, 3.498, 4.894, 6.596, 8.607",\
                 "0.3326, 0.3858, 0.5794, 0.9588, 1.556, 2.394, 3.501, 4.889, 6.587, 8.611",\
                 "0.3342, 0.3874, 0.5792, 0.959, 1.553, 2.391, 3.501, 4.891, 6.581, 8.613",\
                 "0.336, 0.3886, 0.58, 0.9594, 1.557, 2.391, 3.494, 4.89, 6.59, 8.616",\
                 "0.3384, 0.3916, 0.582, 0.9588, 1.555, 2.393, 3.499, 4.884, 6.584, 8.618");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.7325, 0.7493, 0.8037, 0.9, 1.043, 1.24, 1.498, 1.823, 2.221, 2.694",\
                 "0.7432, 0.7601, 0.8145, 0.9104, 1.053, 1.25, 1.509, 1.834, 2.231, 2.704",\
                 "0.768, 0.7845, 0.8391, 0.9349, 1.078, 1.275, 1.533, 1.858, 2.256, 2.729",\
                 "0.8106, 0.8272, 0.8816, 0.9777, 1.121, 1.318, 1.576, 1.901, 2.299, 2.772",\
                 "0.8463, 0.8632, 0.9176, 1.014, 1.157, 1.354, 1.612, 1.937, 2.335, 2.808",\
                 "0.8572, 0.8741, 0.929, 1.025, 1.168, 1.366, 1.624, 1.949, 2.346, 2.819",\
                 "0.8315, 0.8486, 0.9038, 1, 1.144, 1.341, 1.599, 1.924, 2.321, 2.794",\
                 "0.7613, 0.7785, 0.8338, 0.931, 1.074, 1.272, 1.53, 1.855, 2.252, 2.725",\
                 "0.6427, 0.6599, 0.7158, 0.8131, 0.9567, 1.154, 1.412, 1.737, 2.134, 2.607",\
                 "0.4716, 0.489, 0.5452, 0.6428, 0.7864, 0.9839, 1.242, 1.567, 1.964, 2.437");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.204, 1.223, 1.286, 1.403, 1.582, 1.832, 2.162, 2.577, 3.086, 3.692",\
                 "1.217, 1.235, 1.299, 1.416, 1.595, 1.845, 2.174, 2.59, 3.098, 3.704",\
                 "1.272, 1.291, 1.355, 1.472, 1.651, 1.901, 2.23, 2.646, 3.155, 3.761",\
                 "1.397, 1.416, 1.48, 1.597, 1.775, 2.025, 2.355, 2.771, 3.279, 3.886",\
                 "1.608, 1.627, 1.691, 1.808, 1.987, 2.237, 2.566, 2.982, 3.49, 4.097",\
                 "1.894, 1.913, 1.977, 2.093, 2.272, 2.523, 2.852, 3.268, 3.777, 4.383",\
                 "2.239, 2.258, 2.322, 2.439, 2.618, 2.868, 3.198, 3.614, 4.122, 4.728",\
                 "2.648, 2.667, 2.732, 2.849, 3.028, 3.278, 3.607, 4.023, 4.531, 5.138",\
                 "3.124, 3.143, 3.207, 3.325, 3.504, 3.754, 4.083, 4.498, 5.006, 5.612",\
                 "3.664, 3.684, 3.749, 3.866, 4.046, 4.295, 4.624, 5.04, 5.548, 6.154");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1648, 0.1849, 0.2568, 0.4, 0.6302, 0.9594, 1.398, 1.954, 2.633, 3.442",\
                 "0.1647, 0.1848, 0.2567, 0.4002, 0.6299, 0.9592, 1.398, 1.953, 2.633, 3.441",\
                 "0.165, 0.1847, 0.2567, 0.3996, 0.629, 0.9594, 1.398, 1.954, 2.633, 3.443",\
                 "0.1652, 0.1852, 0.257, 0.3998, 0.6302, 0.9586, 1.399, 1.954, 2.632, 3.443",\
                 "0.1664, 0.1858, 0.258, 0.4002, 0.6294, 0.9586, 1.398, 1.954, 2.633, 3.442",\
                 "0.1682, 0.188, 0.2596, 0.4014, 0.6304, 0.9598, 1.397, 1.953, 2.631, 3.44",\
                 "0.171, 0.19, 0.2612, 0.4028, 0.6312, 0.9602, 1.399, 1.956, 2.63, 3.443",\
                 "0.174, 0.1934, 0.2638, 0.404, 0.6316, 0.9598, 1.399, 1.953, 2.631, 3.441",\
                 "0.1774, 0.1964, 0.2662, 0.4054, 0.6324, 0.96, 1.399, 1.953, 2.63, 3.44",\
                 "0.1814, 0.1998, 0.2692, 0.4078, 0.633, 0.9604, 1.399, 1.953, 2.633, 3.442");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.28, 0.3098, 0.4132, 0.6112, 0.927, 1.373, 1.96, 2.697, 3.596, 4.668",\
                 "0.2794, 0.31, 0.4132, 0.6116, 0.9268, 1.373, 1.96, 2.697, 3.596, 4.668",\
                 "0.2804, 0.3098, 0.4124, 0.6116, 0.9268, 1.373, 1.959, 2.697, 3.597, 4.668",\
                 "0.2792, 0.3096, 0.413, 0.6116, 0.9262, 1.373, 1.96, 2.697, 3.597, 4.668",\
                 "0.2802, 0.3096, 0.4132, 0.6116, 0.927, 1.373, 1.96, 2.697, 3.597, 4.668",\
                 "0.2794, 0.3096, 0.412, 0.6104, 0.9262, 1.373, 1.959, 2.697, 3.597, 4.668",\
                 "0.2802, 0.3098, 0.413, 0.6098, 0.9246, 1.371, 1.958, 2.697, 3.597, 4.668",\
                 "0.2802, 0.3096, 0.4124, 0.6098, 0.9242, 1.37, 1.958, 2.696, 3.596, 4.668",\
                 "0.2808, 0.3112, 0.4124, 0.6094, 0.923, 1.37, 1.958, 2.696, 3.595, 4.667",\
                 "0.2832, 0.3134, 0.4142, 0.6094, 0.9224, 1.368, 1.956, 2.695, 3.597, 4.668");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.9692, 0.9944, 1.073, 1.202, 1.378, 1.601, 1.875, 2.209, 2.61, 3.084",\
                 "0.9835, 1.009, 1.087, 1.217, 1.393, 1.615, 1.89, 2.223, 2.624, 3.099",\
                 "1.021, 1.045, 1.124, 1.253, 1.429, 1.652, 1.926, 2.26, 2.661, 3.135",\
                 "1.035, 1.06, 1.139, 1.268, 1.444, 1.667, 1.941, 2.275, 2.675, 3.15",\
                 "1.011, 1.035, 1.114, 1.243, 1.419, 1.642, 1.916, 2.25, 2.65, 3.125",\
                 "0.9391, 0.9638, 1.042, 1.171, 1.347, 1.57, 1.844, 2.177, 2.577, 3.052",\
                 "0.8129, 0.8377, 0.9164, 1.046, 1.222, 1.444, 1.718, 2.052, 2.452, 2.926",\
                 "0.6272, 0.6521, 0.7311, 0.8605, 1.036, 1.259, 1.533, 1.867, 2.267, 2.741",\
                 "0.3793, 0.4041, 0.4831, 0.6128, 0.7891, 1.011, 1.285, 1.618, 2.017, 2.491",\
                 "0.0656, 0.0903, 0.1692, 0.2983, 0.4741, 0.6966, 0.9697, 1.302, 1.702, 2.176");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.059, 1.093, 1.21, 1.432, 1.776, 2.257, 2.888, 3.681, 4.65, 5.803",\
                 "1.064, 1.098, 1.215, 1.437, 1.782, 2.262, 2.893, 3.687, 4.654, 5.809",\
                 "1.121, 1.155, 1.272, 1.494, 1.838, 2.318, 2.95, 3.743, 4.712, 5.864",\
                 "1.263, 1.297, 1.415, 1.636, 1.981, 2.461, 3.092, 3.886, 4.854, 6.008",\
                 "1.487, 1.521, 1.639, 1.86, 2.205, 2.685, 3.316, 4.11, 5.078, 6.232",\
                 "1.779, 1.814, 1.931, 2.153, 2.496, 2.977, 3.608, 4.401, 5.37, 6.522",\
                 "2.142, 2.176, 2.294, 2.515, 2.858, 3.339, 3.97, 4.764, 5.732, 6.886",\
                 "2.584, 2.618, 2.736, 2.957, 3.3, 3.78, 4.411, 5.205, 6.173, 7.327",\
                 "3.106, 3.14, 3.258, 3.478, 3.822, 4.302, 4.933, 5.726, 6.693, 7.847",\
                 "3.708, 3.742, 3.86, 4.08, 4.422, 4.903, 5.533, 6.327, 7.294, 8.446");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3287, 0.3554, 0.4399, 0.5894, 0.8102, 1.116, 1.526, 2.055, 2.715, 3.514",\
                 "0.3284, 0.3553, 0.4398, 0.59, 0.81, 1.117, 1.527, 2.054, 2.715, 3.514",\
                 "0.3284, 0.3556, 0.44, 0.5892, 0.81, 1.116, 1.527, 2.055, 2.716, 3.514",\
                 "0.329, 0.355, 0.44, 0.589, 0.8104, 1.116, 1.527, 2.055, 2.716, 3.514",\
                 "0.328, 0.3532, 0.4384, 0.588, 0.8096, 1.116, 1.526, 2.054, 2.714, 3.514",\
                 "0.3282, 0.3544, 0.4392, 0.5886, 0.8092, 1.114, 1.524, 2.053, 2.715, 3.513",\
                 "0.3284, 0.3548, 0.4404, 0.5894, 0.8104, 1.116, 1.525, 2.052, 2.712, 3.511",\
                 "0.3302, 0.357, 0.441, 0.5902, 0.8114, 1.117, 1.526, 2.053, 2.713, 3.51",\
                 "0.3314, 0.3566, 0.4422, 0.5906, 0.8116, 1.115, 1.524, 2.051, 2.709, 3.507",\
                 "0.332, 0.3576, 0.442, 0.5908, 0.8094, 1.113, 1.52, 2.049, 2.708, 3.507");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.331, 0.3844, 0.5776, 0.957, 1.556, 2.395, 3.501, 4.887, 6.584, 8.623",\
                 "0.3306, 0.3844, 0.5786, 0.9586, 1.556, 2.395, 3.5, 4.888, 6.586, 8.603",\
                 "0.3308, 0.3842, 0.5786, 0.9566, 1.557, 2.394, 3.495, 4.891, 6.596, 8.606",\
                 "0.3306, 0.3842, 0.5774, 0.9574, 1.556, 2.391, 3.499, 4.892, 6.583, 8.613",\
                 "0.331, 0.3848, 0.5782, 0.9572, 1.555, 2.393, 3.498, 4.892, 6.586, 8.603",\
                 "0.3322, 0.3856, 0.5778, 0.9588, 1.555, 2.395, 3.498, 4.894, 6.596, 8.607",\
                 "0.3326, 0.3858, 0.5794, 0.9588, 1.556, 2.394, 3.501, 4.889, 6.587, 8.611",\
                 "0.3342, 0.3874, 0.5792, 0.959, 1.553, 2.391, 3.501, 4.891, 6.581, 8.613",\
                 "0.336, 0.3886, 0.58, 0.9594, 1.557, 2.391, 3.494, 4.89, 6.59, 8.616",\
                 "0.3384, 0.3916, 0.582, 0.9588, 1.555, 2.393, 3.499, 4.884, 6.584, 8.618");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.197, 1.213, 1.267, 1.363, 1.506, 1.703, 1.961, 2.286, 2.684, 3.157",\
                 "1.202, 1.218, 1.272, 1.368, 1.511, 1.708, 1.966, 2.292, 2.689, 3.162",\
                 "1.258, 1.275, 1.329, 1.425, 1.567, 1.765, 2.023, 2.348, 2.745, 3.219",\
                 "1.401, 1.417, 1.471, 1.567, 1.71, 1.907, 2.165, 2.491, 2.888, 3.361",\
                 "1.626, 1.642, 1.696, 1.792, 1.935, 2.132, 2.39, 2.715, 3.112, 3.586",\
                 "1.918, 1.934, 1.988, 2.085, 2.228, 2.424, 2.683, 3.008, 3.405, 3.879",\
                 "2.281, 2.298, 2.352, 2.448, 2.591, 2.787, 3.046, 3.371, 3.769, 4.242",\
                 "2.725, 2.741, 2.795, 2.891, 3.034, 3.231, 3.49, 3.815, 4.212, 4.685",\
                 "3.248, 3.265, 3.319, 3.415, 3.558, 3.755, 4.013, 4.339, 4.736, 5.209",\
                 "3.853, 3.87, 3.924, 4.02, 4.163, 4.36, 4.617, 4.943, 5.341, 5.813");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.336, 1.354, 1.419, 1.535, 1.714, 1.964, 2.294, 2.71, 3.217, 3.824",\
                 "1.35, 1.369, 1.433, 1.55, 1.728, 1.978, 2.308, 2.723, 3.232, 3.838",\
                 "1.387, 1.405, 1.469, 1.586, 1.765, 2.015, 2.345, 2.76, 3.268, 3.875",\
                 "1.402, 1.421, 1.484, 1.601, 1.78, 2.03, 2.359, 2.775, 3.284, 3.89",\
                 "1.376, 1.395, 1.459, 1.576, 1.754, 2.005, 2.334, 2.75, 3.258, 3.865",\
                 "1.305, 1.323, 1.387, 1.504, 1.683, 1.933, 2.262, 2.678, 3.187, 3.793",\
                 "1.179, 1.198, 1.262, 1.378, 1.557, 1.807, 2.137, 2.552, 3.06, 3.667",\
                 "0.9933, 1.012, 1.076, 1.192, 1.372, 1.622, 1.951, 2.367, 2.875, 3.481",\
                 "0.7456, 0.7648, 0.8286, 0.9455, 1.124, 1.374, 1.703, 2.119, 2.627, 3.234",\
                 "0.4316, 0.4506, 0.5145, 0.6317, 0.8105, 1.061, 1.39, 1.806, 2.314, 2.92");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1618, 0.1822, 0.255, 0.3984, 0.6294, 0.9592, 1.398, 1.953, 2.633, 3.441",\
                 "0.162, 0.182, 0.2552, 0.3984, 0.6292, 0.9582, 1.398, 1.954, 2.633, 3.441",\
                 "0.162, 0.1818, 0.255, 0.3984, 0.6296, 0.9592, 1.398, 1.952, 2.633, 3.442",\
                 "0.1618, 0.1822, 0.2552, 0.3986, 0.6296, 0.9592, 1.398, 1.954, 2.633, 3.442",\
                 "0.162, 0.1818, 0.255, 0.3986, 0.6292, 0.9584, 1.398, 1.954, 2.633, 3.442",\
                 "0.1622, 0.1822, 0.2556, 0.3994, 0.6296, 0.9588, 1.398, 1.954, 2.633, 3.442",\
                 "0.1618, 0.1824, 0.2552, 0.3992, 0.6288, 0.9586, 1.397, 1.954, 2.632, 3.44",\
                 "0.1624, 0.183, 0.2552, 0.3984, 0.6292, 0.9584, 1.398, 1.952, 2.63, 3.44",\
                 "0.1624, 0.183, 0.2554, 0.3986, 0.6292, 0.9588, 1.398, 1.955, 2.632, 3.44",\
                 "0.1624, 0.183, 0.2554, 0.3992, 0.6292, 0.9592, 1.398, 1.954, 2.631, 3.438");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.2804, 0.3102, 0.4124, 0.6122, 0.9272, 1.373, 1.96, 2.697, 3.597, 4.669",\
                 "0.2804, 0.3098, 0.4134, 0.6118, 0.927, 1.373, 1.959, 2.697, 3.597, 4.668",\
                 "0.2802, 0.3088, 0.4134, 0.6114, 0.9268, 1.373, 1.959, 2.697, 3.597, 4.668",\
                 "0.2792, 0.3096, 0.4136, 0.6122, 0.927, 1.374, 1.96, 2.697, 3.597, 4.668",\
                 "0.2804, 0.3102, 0.413, 0.611, 0.9272, 1.373, 1.96, 2.697, 3.597, 4.668",\
                 "0.2794, 0.3094, 0.4126, 0.612, 0.9266, 1.372, 1.96, 2.697, 3.597, 4.668",\
                 "0.2808, 0.3092, 0.4124, 0.6114, 0.9268, 1.373, 1.959, 2.697, 3.596, 4.668",\
                 "0.2792, 0.3096, 0.4126, 0.6112, 0.927, 1.373, 1.96, 2.698, 3.596, 4.669",\
                 "0.2794, 0.3092, 0.4132, 0.6118, 0.9272, 1.374, 1.96, 2.697, 3.596, 4.668",\
                 "0.2796, 0.31, 0.4136, 0.612, 0.9274, 1.373, 1.959, 2.697, 3.597, 4.668");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.8339, 0.8598, 0.9403, 1.072, 1.25, 1.473, 1.748, 2.082, 2.483, 2.958",\
                 "0.8464, 0.8723, 0.953, 1.084, 1.262, 1.486, 1.761, 2.095, 2.496, 2.97",\
                 "0.9025, 0.9283, 1.009, 1.14, 1.318, 1.542, 1.817, 2.151, 2.552, 3.026",\
                 "1.028, 1.053, 1.134, 1.266, 1.443, 1.667, 1.942, 2.276, 2.677, 3.151",\
                 "1.238, 1.263, 1.343, 1.475, 1.653, 1.876, 2.151, 2.485, 2.886, 3.36",\
                 "1.518, 1.544, 1.626, 1.76, 1.938, 2.163, 2.438, 2.772, 3.172, 3.647",\
                 "1.855, 1.882, 1.966, 2.103, 2.285, 2.513, 2.79, 3.124, 3.525, 3.999",\
                 "2.254, 2.283, 2.371, 2.511, 2.696, 2.926, 3.204, 3.54, 3.941, 4.415",\
                 "2.718, 2.747, 2.839, 2.985, 3.175, 3.408, 3.69, 4.027, 4.428, 4.902",\
                 "3.244, 3.275, 3.372, 3.524, 3.721, 3.961, 4.246, 4.585, 4.987, 5.462");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.5852, 0.6207, 0.7425, 0.9667, 1.311, 1.792, 2.423, 3.217, 4.185, 5.337",\
                 "0.5955, 0.6311, 0.7528, 0.9769, 1.322, 1.803, 2.434, 3.228, 4.196, 5.35",\
                 "0.6201, 0.6563, 0.7771, 1.001, 1.346, 1.827, 2.458, 3.251, 4.221, 5.374",\
                 "0.6606, 0.696, 0.8169, 1.041, 1.385, 1.865, 2.496, 3.289, 4.259, 5.413",\
                 "0.6904, 0.7257, 0.8467, 1.07, 1.413, 1.893, 2.523, 3.317, 4.286, 5.441",\
                 "0.6947, 0.7303, 0.8514, 1.074, 1.415, 1.894, 2.524, 3.317, 4.285, 5.44",\
                 "0.6619, 0.698, 0.8193, 1.041, 1.381, 1.858, 2.486, 3.278, 4.245, 5.397",\
                 "0.5859, 0.6217, 0.7439, 0.9659, 1.306, 1.781, 2.408, 3.198, 4.164, 5.316",\
                 "0.4626, 0.4984, 0.6203, 0.8433, 1.183, 1.658, 2.283, 3.072, 4.037, 5.187",\
                 "0.2876, 0.3242, 0.4466, 0.6708, 1.009, 1.485, 2.11, 2.898, 3.862, 5.012");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3445, 0.3706, 0.4548, 0.6017, 0.8196, 1.124, 1.532, 2.058, 2.717, 3.516",\
                 "0.3434, 0.3698, 0.4543, 0.6012, 0.8194, 1.124, 1.532, 2.058, 2.717, 3.516",\
                 "0.3436, 0.371, 0.4542, 0.6008, 0.8198, 1.123, 1.532, 2.059, 2.718, 3.515",\
                 "0.3436, 0.3706, 0.4546, 0.6018, 0.8202, 1.123, 1.532, 2.058, 2.718, 3.515",\
                 "0.3476, 0.374, 0.4574, 0.6042, 0.8218, 1.125, 1.532, 2.06, 2.717, 3.514",\
                 "0.37, 0.3952, 0.4772, 0.6198, 0.8332, 1.134, 1.538, 2.062, 2.719, 3.515",\
                 "0.3948, 0.4212, 0.5026, 0.6436, 0.8542, 1.151, 1.55, 2.07, 2.724, 3.518",\
                 "0.4258, 0.453, 0.5332, 0.671, 0.8776, 1.169, 1.564, 2.081, 2.731, 3.523",\
                 "0.4654, 0.492, 0.5736, 0.7084, 0.9092, 1.195, 1.582, 2.092, 2.739, 3.529",\
                 "0.5086, 0.5368, 0.6248, 0.757, 0.9522, 1.231, 1.611, 2.113, 2.752, 3.537");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3452, 0.3989, 0.5907, 0.9628, 1.558, 2.396, 3.499, 4.887, 6.598, 8.615",\
                 "0.3451, 0.399, 0.5905, 0.9627, 1.555, 2.394, 3.496, 4.895, 6.591, 8.617",\
                 "0.345, 0.399, 0.5904, 0.9623, 1.557, 2.392, 3.502, 4.888, 6.596, 8.626",\
                 "0.3474, 0.4016, 0.5912, 0.9648, 1.556, 2.395, 3.5, 4.888, 6.593, 8.622",\
                 "0.3556, 0.4094, 0.5968, 0.9674, 1.556, 2.396, 3.498, 4.895, 6.587, 8.619",\
                 "0.3656, 0.4192, 0.606, 0.9722, 1.558, 2.397, 3.501, 4.89, 6.588, 8.617",\
                 "0.3784, 0.4318, 0.6188, 0.9802, 1.562, 2.395, 3.495, 4.894, 6.594, 8.611",\
                 "0.3936, 0.4464, 0.6334, 0.9938, 1.573, 2.403, 3.498, 4.885, 6.592, 8.619",\
                 "0.4118, 0.4634, 0.649, 1.009, 1.585, 2.408, 3.505, 4.886, 6.58, 8.603",\
                 "0.433, 0.483, 0.6668, 1.025, 1.599, 2.425, 3.518, 4.896, 6.586, 8.605");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("1.197, 1.213, 1.267, 1.363, 1.506, 1.703, 1.961, 2.286, 2.684, 3.157",\
                 "1.202, 1.218, 1.272, 1.368, 1.511, 1.708, 1.966, 2.292, 2.689, 3.162",\
                 "1.258, 1.275, 1.329, 1.425, 1.567, 1.765, 2.023, 2.348, 2.745, 3.219",\
                 "1.401, 1.417, 1.471, 1.567, 1.71, 1.907, 2.165, 2.491, 2.888, 3.361",\
                 "1.626, 1.642, 1.696, 1.792, 1.935, 2.132, 2.39, 2.715, 3.112, 3.586",\
                 "1.918, 1.934, 1.988, 2.085, 2.228, 2.424, 2.683, 3.008, 3.405, 3.879",\
                 "2.281, 2.298, 2.352, 2.448, 2.591, 2.787, 3.046, 3.371, 3.769, 4.242",\
                 "2.725, 2.741, 2.795, 2.891, 3.034, 3.231, 3.49, 3.815, 4.212, 4.685",\
                 "3.248, 3.265, 3.319, 3.415, 3.558, 3.755, 4.013, 4.339, 4.736, 5.209",\
                 "3.853, 3.87, 3.924, 4.02, 4.163, 4.36, 4.617, 4.943, 5.341, 5.813");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.5852, 0.6207, 0.7425, 0.9667, 1.311, 1.792, 2.423, 3.217, 4.185, 5.337",\
                 "0.5955, 0.6311, 0.7528, 0.9769, 1.322, 1.803, 2.434, 3.228, 4.196, 5.35",\
                 "0.6201, 0.6563, 0.7771, 1.001, 1.346, 1.827, 2.458, 3.251, 4.221, 5.374",\
                 "0.6606, 0.696, 0.8169, 1.041, 1.385, 1.865, 2.496, 3.289, 4.259, 5.413",\
                 "0.6904, 0.7257, 0.8467, 1.07, 1.413, 1.893, 2.523, 3.317, 4.286, 5.441",\
                 "0.6947, 0.7303, 0.8514, 1.074, 1.415, 1.894, 2.524, 3.317, 4.285, 5.44",\
                 "0.6619, 0.698, 0.8193, 1.041, 1.381, 1.858, 2.486, 3.278, 4.245, 5.397",\
                 "0.5859, 0.6217, 0.7439, 0.9659, 1.306, 1.781, 2.408, 3.198, 4.164, 5.316",\
                 "0.4626, 0.4984, 0.6203, 0.8433, 1.183, 1.658, 2.283, 3.072, 4.037, 5.187",\
                 "0.2876, 0.3242, 0.4466, 0.6708, 1.009, 1.485, 2.11, 2.898, 3.862, 5.012");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3445, 0.3706, 0.4548, 0.6017, 0.8196, 1.124, 1.532, 2.058, 2.717, 3.516",\
                 "0.3434, 0.3698, 0.4543, 0.6012, 0.8194, 1.124, 1.532, 2.058, 2.717, 3.516",\
                 "0.3436, 0.371, 0.4542, 0.6008, 0.8198, 1.123, 1.532, 2.059, 2.718, 3.515",\
                 "0.3436, 0.3706, 0.4546, 0.6018, 0.8202, 1.123, 1.532, 2.058, 2.718, 3.515",\
                 "0.3476, 0.374, 0.4574, 0.6042, 0.8218, 1.125, 1.532, 2.06, 2.717, 3.514",\
                 "0.37, 0.3952, 0.4772, 0.6198, 0.8332, 1.134, 1.538, 2.062, 2.719, 3.515",\
                 "0.3948, 0.4212, 0.5026, 0.6436, 0.8542, 1.151, 1.55, 2.07, 2.724, 3.518",\
                 "0.4258, 0.453, 0.5332, 0.671, 0.8776, 1.169, 1.564, 2.081, 2.731, 3.523",\
                 "0.4654, 0.492, 0.5736, 0.7084, 0.9092, 1.195, 1.582, 2.092, 2.739, 3.529",\
                 "0.5086, 0.5368, 0.6248, 0.757, 0.9522, 1.231, 1.611, 2.113, 2.752, 3.537");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3452, 0.3989, 0.5907, 0.9628, 1.558, 2.396, 3.499, 4.887, 6.598, 8.615",\
                 "0.3451, 0.399, 0.5905, 0.9627, 1.555, 2.394, 3.496, 4.895, 6.591, 8.617",\
                 "0.345, 0.399, 0.5904, 0.9623, 1.557, 2.392, 3.502, 4.888, 6.596, 8.626",\
                 "0.3474, 0.4016, 0.5912, 0.9648, 1.556, 2.395, 3.5, 4.888, 6.593, 8.622",\
                 "0.3556, 0.4094, 0.5968, 0.9674, 1.556, 2.396, 3.498, 4.895, 6.587, 8.619",\
                 "0.3656, 0.4192, 0.606, 0.9722, 1.558, 2.397, 3.501, 4.89, 6.588, 8.617",\
                 "0.3784, 0.4318, 0.6188, 0.9802, 1.562, 2.395, 3.495, 4.894, 6.594, 8.611",\
                 "0.3936, 0.4464, 0.6334, 0.9938, 1.573, 2.403, 3.498, 4.885, 6.592, 8.619",\
                 "0.4118, 0.4634, 0.649, 1.009, 1.585, 2.408, 3.505, 4.886, 6.58, 8.603",\
                 "0.433, 0.483, 0.6668, 1.025, 1.599, 2.425, 3.518, 4.896, 6.586, 8.605");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.09071, 0.1041, 0.1511, 0.2406, 0.3805, 0.5769, 0.8353, 1.161, 1.558, 2.032",\
                 "0.1037, 0.1172, 0.1646, 0.2546, 0.3947, 0.591, 0.8497, 1.175, 1.573, 2.046",\
                 "0.1384, 0.1559, 0.2102, 0.3008, 0.4409, 0.6374, 0.8958, 1.221, 1.619, 2.092",\
                 "0.1538, 0.1783, 0.2538, 0.3738, 0.5289, 0.7251, 0.9828, 1.308, 1.705, 2.178",\
                 "0.1399, 0.172, 0.2705, 0.4241, 0.621, 0.8545, 1.121, 1.445, 1.84, 2.312",\
                 "0.0922, 0.132, 0.2545, 0.4439, 0.6833, 0.9647, 1.284, 1.638, 2.035, 2.505",\
                 "0.0085, 0.056, 0.2021, 0.4287, 0.713, 1.044, 1.417, 1.829, 2.278, 2.763",\
                 "-0.1145, -0.0591, 0.1105, 0.372, 0.7051, 1.087, 1.515, 1.985, 2.497, 3.048",\
                 "-0.2793, -0.2163, -0.0236, 0.2756, 0.6537, 1.09, 1.575, 2.105, 2.678, 3.296",\
                 "-0.4893, -0.4179, -0.2013, 0.1347, 0.5578, 1.049, 1.593, 2.186, 2.822, 3.505");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.2093, 0.2429, 0.3601, 0.58, 0.9211, 1.4, 2.028, 2.82, 3.785, 4.938",\
                 "0.2178, 0.252, 0.371, 0.5934, 0.9362, 1.416, 2.046, 2.836, 3.803, 4.958",\
                 "0.2734, 0.3063, 0.4217, 0.6433, 0.9865, 1.467, 2.097, 2.889, 3.855, 5.01",\
                 "0.3886, 0.4258, 0.5454, 0.76, 1.098, 1.574, 2.203, 2.994, 3.964, 5.116",\
                 "0.5415, 0.5838, 0.7229, 0.9589, 1.291, 1.76, 2.382, 3.168, 4.132, 5.282",\
                 "0.7348, 0.7851, 0.9416, 1.207, 1.573, 2.039, 2.652, 3.431, 4.386, 5.531",\
                 "0.9694, 1.028, 1.207, 1.498, 1.904, 2.411, 3.023, 3.791, 4.739, 5.875",\
                 "1.246, 1.312, 1.516, 1.842, 2.279, 2.834, 3.495, 4.263, 5.198, 6.323",\
                 "1.564, 1.64, 1.872, 2.236, 2.71, 3.304, 4.018, 4.84, 5.778, 6.891",\
                 "1.927, 2.012, 2.273, 2.679, 3.199, 3.832, 4.591, 5.474, 6.467, 7.583");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1204, 0.1433, 0.2245, 0.3801, 0.621, 0.9564, 1.397, 1.954, 2.633, 3.443",\
                 "0.12, 0.1433, 0.2248, 0.3795, 0.6198, 0.9558, 1.397, 1.954, 2.633, 3.443",\
                 "0.1582, 0.1784, 0.2432, 0.381, 0.6203, 0.9564, 1.397, 1.954, 2.633, 3.442",\
                 "0.2316, 0.2564, 0.3352, 0.4679, 0.6568, 0.9596, 1.397, 1.954, 2.633, 3.443",\
                 "0.3298, 0.3606, 0.4528, 0.6052, 0.8164, 1.079, 1.442, 1.959, 2.633, 3.442",\
                 "0.4464, 0.4842, 0.5968, 0.7736, 1.006, 1.302, 1.654, 2.088, 2.676, 3.444",\
                 "0.5814, 0.6264, 0.7622, 0.9692, 1.232, 1.554, 1.944, 2.395, 2.912, 3.579",\
                 "0.7346, 0.7888, 0.9464, 1.189, 1.489, 1.841, 2.264, 2.751, 3.306, 3.923",\
                 "0.8988, 0.9636, 1.151, 1.429, 1.77, 2.168, 2.619, 3.14, 3.738, 4.403",\
                 "1.077, 1.155, 1.377, 1.691, 2.081, 2.52, 3.018, 3.569, 4.201, 4.912");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.312, 0.3696, 0.572, 0.9566, 1.554, 2.392, 3.497, 4.887, 6.584, 8.604",\
                 "0.3116, 0.3696, 0.5715, 0.9569, 1.554, 2.397, 3.5, 4.892, 6.592, 8.617",\
                 "0.3127, 0.3684, 0.5713, 0.9555, 1.555, 2.395, 3.495, 4.888, 6.592, 8.606",\
                 "0.3742, 0.4265, 0.5975, 0.9557, 1.556, 2.392, 3.499, 4.882, 6.592, 8.611",\
                 "0.4462, 0.5032, 0.6982, 1.027, 1.566, 2.391, 3.494, 4.895, 6.583, 8.612",\
                 "0.5494, 0.6058, 0.8074, 1.171, 1.681, 2.425, 3.497, 4.889, 6.596, 8.604",\
                 "0.6766, 0.7386, 0.9432, 1.322, 1.877, 2.584, 3.561, 4.898, 6.585, 8.62",\
                 "0.8252, 0.8954, 1.116, 1.497, 2.081, 2.84, 3.762, 4.982, 6.607, 8.618",\
                 "0.9876, 1.065, 1.311, 1.71, 2.297, 3.098, 4.075, 5.238, 6.729, 8.637",\
                 "1.169, 1.256, 1.526, 1.958, 2.556, 3.372, 4.407, 5.608, 7.029, 8.804");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.09071, 0.1041, 0.151, 0.2405, 0.3804, 0.5767, 0.8353, 1.161, 1.558, 2.032",\
                 "0.1037, 0.1172, 0.1646, 0.2546, 0.3947, 0.591, 0.8497, 1.175, 1.573, 2.046",\
                 "0.1384, 0.1559, 0.2102, 0.3008, 0.4409, 0.6373, 0.8958, 1.221, 1.619, 2.093",\
                 "0.1536, 0.1782, 0.2537, 0.3737, 0.5289, 0.725, 0.9828, 1.308, 1.705, 2.178",\
                 "0.1398, 0.1722, 0.2705, 0.424, 0.621, 0.8543, 1.121, 1.444, 1.84, 2.312",\
                 "0.0921, 0.1321, 0.2545, 0.4439, 0.6833, 0.9648, 1.284, 1.638, 2.035, 2.505",\
                 "0.0086, 0.0561, 0.2021, 0.4287, 0.713, 1.044, 1.416, 1.829, 2.278, 2.763",\
                 "-0.1145, -0.0591, 0.1105, 0.3732, 0.7051, 1.087, 1.514, 1.985, 2.497, 3.048",\
                 "-0.2792, -0.2159, -0.0233, 0.2757, 0.654, 1.09, 1.576, 2.104, 2.679, 3.296",\
                 "-0.4892, -0.4176, -0.2009, 0.1347, 0.5579, 1.049, 1.593, 2.185, 2.823, 3.505");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.209, 0.2426, 0.3598, 0.5798, 0.9212, 1.399, 2.028, 2.82, 3.787, 4.938",\
                 "0.2175, 0.2518, 0.3707, 0.5931, 0.9361, 1.415, 2.045, 2.837, 3.805, 4.958",\
                 "0.2732, 0.3059, 0.4217, 0.6431, 0.9864, 1.466, 2.096, 2.89, 3.859, 5.008",\
                 "0.3885, 0.4258, 0.5452, 0.76, 1.098, 1.574, 2.203, 2.995, 3.963, 5.117",\
                 "0.541, 0.584, 0.723, 0.959, 1.292, 1.76, 2.381, 3.17, 4.131, 5.281",\
                 "0.7348, 0.7849, 0.9414, 1.206, 1.573, 2.039, 2.651, 3.43, 4.388, 5.531",\
                 "0.9695, 1.028, 1.207, 1.499, 1.903, 2.412, 3.024, 3.792, 4.739, 5.874",\
                 "1.246, 1.312, 1.517, 1.842, 2.279, 2.834, 3.495, 4.264, 5.199, 6.324",\
                 "1.564, 1.64, 1.872, 2.236, 2.711, 3.303, 4.018, 4.84, 5.779, 6.89",\
                 "1.928, 2.013, 2.274, 2.678, 3.199, 3.831, 4.59, 5.474, 6.467, 7.583");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1203, 0.1433, 0.2244, 0.3795, 0.6204, 0.9566, 1.397, 1.954, 2.633, 3.443",\
                 "0.1199, 0.1432, 0.2247, 0.3795, 0.6197, 0.9556, 1.397, 1.954, 2.633, 3.443",\
                 "0.1583, 0.1784, 0.2431, 0.381, 0.6203, 0.9568, 1.397, 1.954, 2.633, 3.443",\
                 "0.232, 0.2559, 0.3349, 0.4677, 0.657, 0.9595, 1.397, 1.954, 2.633, 3.442",\
                 "0.3299, 0.3611, 0.4535, 0.604, 0.8164, 1.078, 1.442, 1.959, 2.631, 3.44",\
                 "0.4464, 0.4838, 0.5968, 0.7736, 1.007, 1.302, 1.655, 2.089, 2.675, 3.445",\
                 "0.5814, 0.6272, 0.762, 0.9692, 1.232, 1.554, 1.944, 2.393, 2.912, 3.578",\
                 "0.735, 0.7886, 0.9486, 1.188, 1.487, 1.841, 2.262, 2.752, 3.306, 3.923",\
                 "0.8986, 0.9642, 1.152, 1.428, 1.774, 2.17, 2.616, 3.141, 3.738, 4.404",\
                 "1.077, 1.152, 1.375, 1.69, 2.079, 2.521, 3.016, 3.569, 4.202, 4.913");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.3115, 0.3694, 0.5724, 0.9556, 1.554, 2.395, 3.503, 4.886, 6.587, 8.626",\
                 "0.3113, 0.3693, 0.5722, 0.9573, 1.557, 2.396, 3.499, 4.895, 6.599, 8.62",\
                 "0.3124, 0.3685, 0.5704, 0.9574, 1.556, 2.397, 3.503, 4.896, 6.598, 8.619",\
                 "0.3742, 0.4267, 0.5972, 0.9579, 1.556, 2.397, 3.5, 4.89, 6.588, 8.618",\
                 "0.4464, 0.5046, 0.6978, 1.027, 1.564, 2.393, 3.499, 4.886, 6.583, 8.609",\
                 "0.5494, 0.6072, 0.8076, 1.173, 1.681, 2.428, 3.496, 4.885, 6.586, 8.62",\
                 "0.6766, 0.7392, 0.9432, 1.322, 1.878, 2.584, 3.562, 4.892, 6.586, 8.607",\
                 "0.8254, 0.8942, 1.116, 1.497, 2.08, 2.84, 3.762, 4.991, 6.6, 8.619",\
                 "0.988, 1.066, 1.31, 1.711, 2.299, 3.101, 4.077, 5.238, 6.736, 8.644",\
                 "1.167, 1.258, 1.524, 1.959, 2.555, 3.376, 4.41, 5.609, 7.029, 8.804");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.09071, 0.1041, 0.151, 0.2405, 0.3804, 0.5767, 0.8353, 1.161, 1.558, 2.032",\
                 "0.1037, 0.1172, 0.1646, 0.2546, 0.3947, 0.591, 0.8497, 1.175, 1.573, 2.046",\
                 "0.1384, 0.1559, 0.2102, 0.3008, 0.4409, 0.6373, 0.8958, 1.221, 1.619, 2.093",\
                 "0.1536, 0.1782, 0.2537, 0.3737, 0.5289, 0.725, 0.9828, 1.308, 1.705, 2.178",\
                 "0.1398, 0.1722, 0.2705, 0.424, 0.621, 0.8543, 1.121, 1.444, 1.84, 2.312",\
                 "0.0921, 0.1321, 0.2545, 0.4439, 0.6833, 0.9648, 1.284, 1.638, 2.035, 2.505",\
                 "0.0086, 0.0561, 0.2021, 0.4287, 0.713, 1.044, 1.416, 1.829, 2.278, 2.763",\
                 "-0.1145, -0.0591, 0.1105, 0.3732, 0.7051, 1.087, 1.514, 1.985, 2.497, 3.048",\
                 "-0.2792, -0.2159, -0.0233, 0.2757, 0.654, 1.09, 1.576, 2.104, 2.679, 3.296",\
                 "-0.4892, -0.4176, -0.2009, 0.1347, 0.5579, 1.049, 1.593, 2.185, 2.823, 3.505");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.209, 0.2426, 0.3598, 0.5798, 0.9212, 1.399, 2.028, 2.82, 3.787, 4.938",\
                 "0.2175, 0.2518, 0.3707, 0.5931, 0.9361, 1.415, 2.045, 2.837, 3.805, 4.958",\
                 "0.2732, 0.3059, 0.4217, 0.6431, 0.9864, 1.466, 2.096, 2.89, 3.859, 5.008",\
                 "0.3885, 0.4258, 0.5452, 0.76, 1.098, 1.574, 2.203, 2.995, 3.963, 5.117",\
                 "0.541, 0.584, 0.723, 0.959, 1.292, 1.76, 2.381, 3.17, 4.131, 5.281",\
                 "0.7348, 0.7849, 0.9414, 1.206, 1.573, 2.039, 2.651, 3.43, 4.388, 5.531",\
                 "0.9695, 1.028, 1.207, 1.499, 1.903, 2.412, 3.024, 3.792, 4.739, 5.874",\
                 "1.246, 1.312, 1.517, 1.842, 2.279, 2.834, 3.495, 4.264, 5.199, 6.324",\
                 "1.564, 1.64, 1.872, 2.236, 2.711, 3.303, 4.018, 4.84, 5.779, 6.89",\
                 "1.928, 2.013, 2.274, 2.678, 3.199, 3.831, 4.59, 5.474, 6.467, 7.583");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1203, 0.1433, 0.2244, 0.3795, 0.6204, 0.9566, 1.397, 1.954, 2.633, 3.443",\
                 "0.1199, 0.1432, 0.2247, 0.3795, 0.6197, 0.9556, 1.397, 1.954, 2.633, 3.443",\
                 "0.1583, 0.1784, 0.2431, 0.381, 0.6203, 0.9568, 1.397, 1.954, 2.633, 3.443",\
                 "0.232, 0.2559, 0.3349, 0.4677, 0.657, 0.9595, 1.397, 1.954, 2.633, 3.442",\
                 "0.3299, 0.3611, 0.4535, 0.604, 0.8164, 1.078, 1.442, 1.959, 2.631, 3.44",\
                 "0.4464, 0.4838, 0.5968, 0.7736, 1.007, 1.302, 1.655, 2.089, 2.675, 3.445",\
                 "0.5814, 0.6272, 0.762, 0.9692, 1.232, 1.554, 1.944, 2.393, 2.912, 3.578",\
                 "0.735, 0.7886, 0.9486, 1.188, 1.487, 1.841, 2.262, 2.752, 3.306, 3.923",\
                 "0.8986, 0.9642, 1.152, 1.428, 1.774, 2.17, 2.616, 3.141, 3.738, 4.404",\
                 "1.077, 1.152, 1.375, 1.69, 2.079, 2.521, 3.016, 3.569, 4.202, 4.913");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.312, 0.3696, 0.572, 0.9566, 1.554, 2.392, 3.497, 4.887, 6.584, 8.604",\
                 "0.3116, 0.3696, 0.5715, 0.9569, 1.554, 2.397, 3.5, 4.892, 6.592, 8.617",\
                 "0.3127, 0.3684, 0.5713, 0.9555, 1.555, 2.395, 3.495, 4.888, 6.592, 8.606",\
                 "0.3742, 0.4265, 0.5975, 0.9557, 1.556, 2.392, 3.499, 4.882, 6.592, 8.611",\
                 "0.4462, 0.5032, 0.6982, 1.027, 1.566, 2.391, 3.494, 4.895, 6.583, 8.612",\
                 "0.5494, 0.6058, 0.8074, 1.171, 1.681, 2.425, 3.497, 4.889, 6.596, 8.604",\
                 "0.6766, 0.7386, 0.9432, 1.322, 1.877, 2.584, 3.561, 4.898, 6.585, 8.62",\
                 "0.8252, 0.8954, 1.116, 1.497, 2.081, 2.84, 3.762, 4.982, 6.607, 8.618",\
                 "0.9876, 1.065, 1.311, 1.71, 2.297, 3.098, 4.075, 5.238, 6.729, 8.637",\
                 "1.169, 1.256, 1.526, 1.958, 2.556, 3.372, 4.407, 5.608, 7.029, 8.804");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.4141, 0.4296, 0.4813, 0.5746, 0.7157, 0.9122, 1.17, 1.496, 1.893, 2.367",\
                 "0.4305, 0.4461, 0.4977, 0.5912, 0.7323, 0.9288, 1.187, 1.512, 1.909, 2.383",\
                 "0.4977, 0.5134, 0.5655, 0.6593, 0.8009, 0.9973, 1.255, 1.581, 1.978, 2.452",\
                 "0.6267, 0.6428, 0.6959, 0.7914, 0.9335, 1.13, 1.388, 1.713, 2.111, 2.584",\
                 "0.7971, 0.8142, 0.8698, 0.9669, 1.111, 1.308, 1.566, 1.891, 2.288, 2.761",\
                 "1.003, 1.021, 1.079, 1.179, 1.325, 1.522, 1.78, 2.105, 2.502, 2.975",\
                 "1.246, 1.265, 1.326, 1.429, 1.577, 1.777, 2.035, 2.36, 2.755, 3.228",\
                 "1.525, 1.546, 1.611, 1.718, 1.869, 2.071, 2.33, 2.655, 3.052, 3.523",\
                 "1.843, 1.865, 1.935, 2.047, 2.202, 2.406, 2.668, 2.994, 3.39, 3.863",\
                 "2.2, 2.225, 2.299, 2.417, 2.577, 2.783, 3.047, 3.376, 3.774, 4.247");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.4474, 0.4657, 0.528, 0.6429, 0.8198, 1.068, 1.397, 1.812, 2.32, 2.926",\
                 "0.4555, 0.4739, 0.5362, 0.6511, 0.828, 1.077, 1.405, 1.82, 2.329, 2.934",\
                 "0.4738, 0.492, 0.5543, 0.6696, 0.847, 1.096, 1.426, 1.841, 2.349, 2.955",\
                 "0.5009, 0.5192, 0.5823, 0.6989, 0.8777, 1.128, 1.458, 1.874, 2.382, 2.988",\
                 "0.5265, 0.5457, 0.6098, 0.7267, 0.9038, 1.153, 1.482, 1.898, 2.406, 3.012",\
                 "0.5326, 0.5523, 0.6182, 0.7366, 0.9157, 1.165, 1.492, 1.905, 2.413, 3.019",\
                 "0.5105, 0.5314, 0.5997, 0.7216, 0.9038, 1.155, 1.484, 1.897, 2.402, 3.006",\
                 "0.457, 0.4781, 0.549, 0.6747, 0.8608, 1.117, 1.448, 1.864, 2.37, 2.974",\
                 "0.3681, 0.3901, 0.4631, 0.5927, 0.7833, 1.044, 1.382, 1.803, 2.312, 2.916",\
                 "0.2416, 0.2644, 0.3394, 0.4725, 0.667, 0.9336, 1.279, 1.707, 2.223, 2.831");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1967, 0.2195, 0.2971, 0.4458, 0.6806, 1.015, 1.458, 2.015, 2.695, 3.505",\
                 "0.1966, 0.2195, 0.2971, 0.4457, 0.6803, 1.015, 1.458, 2.014, 2.696, 3.506",\
                 "0.1968, 0.2191, 0.2973, 0.4459, 0.6807, 1.015, 1.458, 2.015, 2.695, 3.505",\
                 "0.2019, 0.2238, 0.3006, 0.4476, 0.6818, 1.016, 1.458, 2.015, 2.695, 3.506",\
                 "0.2056, 0.2268, 0.3024, 0.449, 0.6822, 1.017, 1.458, 2.015, 2.694, 3.506",\
                 "0.2174, 0.237, 0.3086, 0.451, 0.679, 1.011, 1.454, 2.012, 2.695, 3.505",\
                 "0.2384, 0.2576, 0.3248, 0.461, 0.6834, 1.008, 1.446, 2.005, 2.687, 3.501",\
                 "0.266, 0.2844, 0.3484, 0.479, 0.695, 1.014, 1.445, 1.999, 2.681, 3.495",\
                 "0.2968, 0.316, 0.3782, 0.5034, 0.7138, 1.027, 1.454, 2.002, 2.68, 3.489",\
                 "0.3318, 0.3508, 0.414, 0.5336, 0.7378, 1.045, 1.469, 2.014, 2.685, 3.49");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.2873, 0.3166, 0.4197, 0.6189, 0.9343, 1.378, 1.963, 2.699, 3.597, 4.669",\
                 "0.2871, 0.3167, 0.4205, 0.619, 0.9342, 1.378, 1.963, 2.699, 3.598, 4.669",\
                 "0.2874, 0.3174, 0.4211, 0.6193, 0.9336, 1.378, 1.962, 2.699, 3.598, 4.669",\
                 "0.2849, 0.3153, 0.4199, 0.6206, 0.9342, 1.378, 1.963, 2.699, 3.597, 4.669",\
                 "0.2822, 0.3116, 0.4132, 0.6084, 0.9232, 1.371, 1.961, 2.699, 3.597, 4.669",\
                 "0.2932, 0.3226, 0.4232, 0.6144, 0.9206, 1.36, 1.947, 2.69, 3.594, 4.669",\
                 "0.3092, 0.339, 0.44, 0.631, 0.9338, 1.367, 1.945, 2.678, 3.582, 4.658",\
                 "0.329, 0.3584, 0.4608, 0.6528, 0.9564, 1.388, 1.959, 2.684, 3.577, 4.65",\
                 "0.3484, 0.3798, 0.4838, 0.6774, 0.9834, 1.42, 1.992, 2.71, 3.592, 4.651",\
                 "0.3712, 0.4022, 0.507, 0.7028, 1.012, 1.453, 2.031, 2.754, 3.629, 4.676");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.4141, 0.4296, 0.4812, 0.5746, 0.7157, 0.9122, 1.17, 1.496, 1.893, 2.367",\
                 "0.4305, 0.4461, 0.4977, 0.591, 0.7323, 0.9288, 1.187, 1.512, 1.91, 2.383",\
                 "0.4977, 0.5134, 0.5655, 0.6593, 0.8008, 0.9973, 1.255, 1.58, 1.978, 2.452",\
                 "0.6267, 0.6428, 0.6959, 0.7912, 0.9335, 1.13, 1.388, 1.714, 2.111, 2.584",\
                 "0.7971, 0.8142, 0.8695, 0.9668, 1.11, 1.308, 1.566, 1.891, 2.288, 2.761",\
                 "1.003, 1.021, 1.079, 1.179, 1.325, 1.522, 1.78, 2.105, 2.502, 2.975",\
                 "1.246, 1.265, 1.326, 1.429, 1.577, 1.777, 2.035, 2.36, 2.756, 3.228",\
                 "1.525, 1.546, 1.611, 1.718, 1.869, 2.071, 2.33, 2.656, 3.052, 3.523",\
                 "1.843, 1.865, 1.935, 2.047, 2.202, 2.406, 2.667, 2.993, 3.39, 3.863",\
                 "2.2, 2.225, 2.299, 2.417, 2.577, 2.784, 3.048, 3.376, 3.774, 4.247");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.4473, 0.4657, 0.528, 0.6429, 0.8198, 1.068, 1.397, 1.812, 2.32, 2.927",\
                 "0.4555, 0.4738, 0.5361, 0.6511, 0.828, 1.077, 1.405, 1.82, 2.329, 2.934",\
                 "0.4738, 0.492, 0.5543, 0.6696, 0.847, 1.096, 1.426, 1.841, 2.349, 2.955",\
                 "0.5009, 0.5192, 0.5823, 0.6989, 0.8777, 1.128, 1.458, 1.874, 2.382, 2.988",\
                 "0.5265, 0.5457, 0.6097, 0.7267, 0.9038, 1.153, 1.482, 1.898, 2.406, 3.013",\
                 "0.5326, 0.5523, 0.6182, 0.7366, 0.9157, 1.165, 1.492, 1.905, 2.413, 3.019",\
                 "0.5105, 0.5314, 0.5997, 0.7216, 0.9038, 1.155, 1.484, 1.897, 2.402, 3.006",\
                 "0.457, 0.4781, 0.5489, 0.6747, 0.8607, 1.117, 1.449, 1.864, 2.37, 2.973",\
                 "0.3681, 0.3901, 0.4631, 0.5927, 0.7833, 1.044, 1.382, 1.803, 2.312, 2.916",\
                 "0.2416, 0.2644, 0.3394, 0.4725, 0.667, 0.9336, 1.279, 1.707, 2.223, 2.831");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1967, 0.2195, 0.2972, 0.4458, 0.6806, 1.015, 1.458, 2.015, 2.695, 3.505",\
                 "0.1965, 0.2195, 0.2971, 0.446, 0.6807, 1.015, 1.458, 2.014, 2.695, 3.505",\
                 "0.1968, 0.2191, 0.2972, 0.4459, 0.6808, 1.015, 1.458, 2.015, 2.695, 3.505",\
                 "0.2018, 0.2238, 0.3004, 0.4476, 0.6818, 1.015, 1.457, 2.015, 2.694, 3.506",\
                 "0.2056, 0.2268, 0.3024, 0.4492, 0.6822, 1.017, 1.458, 2.014, 2.694, 3.505",\
                 "0.2174, 0.237, 0.3088, 0.451, 0.6792, 1.011, 1.453, 2.012, 2.694, 3.505",\
                 "0.2382, 0.2576, 0.3248, 0.461, 0.6828, 1.008, 1.446, 2.006, 2.688, 3.501",\
                 "0.266, 0.2838, 0.3484, 0.479, 0.695, 1.014, 1.446, 1.999, 2.681, 3.495",\
                 "0.2968, 0.3164, 0.379, 0.504, 0.7138, 1.027, 1.454, 2.002, 2.68, 3.49",\
                 "0.3324, 0.3508, 0.414, 0.534, 0.7378, 1.046, 1.469, 2.013, 2.685, 3.489");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.2873, 0.3166, 0.4197, 0.6189, 0.9339, 1.378, 1.963, 2.699, 3.598, 4.669",\
                 "0.2871, 0.3165, 0.4205, 0.619, 0.9342, 1.378, 1.963, 2.699, 3.598, 4.669",\
                 "0.2873, 0.3174, 0.4211, 0.6193, 0.9336, 1.378, 1.962, 2.699, 3.598, 4.669",\
                 "0.2849, 0.3153, 0.4199, 0.6207, 0.9342, 1.378, 1.963, 2.699, 3.597, 4.669",\
                 "0.2822, 0.3116, 0.413, 0.6082, 0.9232, 1.371, 1.961, 2.698, 3.597, 4.669",\
                 "0.2926, 0.3226, 0.4232, 0.6142, 0.9204, 1.36, 1.947, 2.69, 3.594, 4.669",\
                 "0.3092, 0.339, 0.4404, 0.631, 0.9338, 1.367, 1.945, 2.678, 3.582, 4.658",\
                 "0.329, 0.3584, 0.4618, 0.6528, 0.9566, 1.388, 1.959, 2.684, 3.577, 4.65",\
                 "0.3484, 0.3798, 0.4838, 0.6772, 0.9832, 1.42, 1.992, 2.71, 3.592, 4.651",\
                 "0.3712, 0.4022, 0.5068, 0.7028, 1.012, 1.453, 2.031, 2.754, 3.629, 4.676");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.4141, 0.4296, 0.4813, 0.5746, 0.7157, 0.9122, 1.17, 1.496, 1.893, 2.367",\
                 "0.4305, 0.4461, 0.4977, 0.5912, 0.7323, 0.9288, 1.187, 1.512, 1.909, 2.383",\
                 "0.4977, 0.5134, 0.5655, 0.6593, 0.8009, 0.9973, 1.255, 1.581, 1.978, 2.452",\
                 "0.6267, 0.6428, 0.6959, 0.7914, 0.9335, 1.13, 1.388, 1.713, 2.111, 2.584",\
                 "0.7971, 0.8142, 0.8698, 0.9669, 1.111, 1.308, 1.566, 1.891, 2.288, 2.761",\
                 "1.003, 1.021, 1.079, 1.179, 1.325, 1.522, 1.78, 2.105, 2.502, 2.975",\
                 "1.246, 1.265, 1.326, 1.429, 1.577, 1.777, 2.035, 2.36, 2.755, 3.228",\
                 "1.525, 1.546, 1.611, 1.718, 1.869, 2.071, 2.33, 2.655, 3.052, 3.523",\
                 "1.843, 1.865, 1.935, 2.047, 2.202, 2.406, 2.668, 2.994, 3.39, 3.863",\
                 "2.2, 2.225, 2.299, 2.417, 2.577, 2.783, 3.047, 3.376, 3.774, 4.247");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.4473, 0.4657, 0.528, 0.6429, 0.8198, 1.068, 1.397, 1.812, 2.32, 2.927",\
                 "0.4555, 0.4738, 0.5361, 0.6511, 0.828, 1.077, 1.405, 1.82, 2.329, 2.934",\
                 "0.4738, 0.492, 0.5543, 0.6696, 0.847, 1.096, 1.426, 1.841, 2.349, 2.955",\
                 "0.5009, 0.5192, 0.5823, 0.6989, 0.8777, 1.128, 1.458, 1.874, 2.382, 2.988",\
                 "0.5265, 0.5457, 0.6097, 0.7267, 0.9038, 1.153, 1.482, 1.898, 2.406, 3.013",\
                 "0.5326, 0.5523, 0.6182, 0.7366, 0.9157, 1.165, 1.492, 1.905, 2.413, 3.019",\
                 "0.5105, 0.5314, 0.5997, 0.7216, 0.9038, 1.155, 1.484, 1.897, 2.402, 3.006",\
                 "0.457, 0.4781, 0.5489, 0.6747, 0.8607, 1.117, 1.449, 1.864, 2.37, 2.973",\
                 "0.3681, 0.3901, 0.4631, 0.5927, 0.7833, 1.044, 1.382, 1.803, 2.312, 2.916",\
                 "0.2416, 0.2644, 0.3394, 0.4725, 0.667, 0.9336, 1.279, 1.707, 2.223, 2.831");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.1967, 0.2195, 0.2972, 0.4458, 0.6806, 1.015, 1.458, 2.015, 2.695, 3.505",\
                 "0.1965, 0.2195, 0.2971, 0.446, 0.6807, 1.015, 1.458, 2.014, 2.695, 3.505",\
                 "0.1968, 0.2191, 0.2972, 0.4459, 0.6808, 1.015, 1.458, 2.015, 2.695, 3.505",\
                 "0.2018, 0.2238, 0.3004, 0.4476, 0.6818, 1.015, 1.457, 2.015, 2.694, 3.506",\
                 "0.2056, 0.2268, 0.3024, 0.4492, 0.6822, 1.017, 1.458, 2.014, 2.694, 3.505",\
                 "0.2174, 0.237, 0.3088, 0.451, 0.6792, 1.011, 1.453, 2.012, 2.694, 3.505",\
                 "0.2382, 0.2576, 0.3248, 0.461, 0.6828, 1.008, 1.446, 2.006, 2.688, 3.501",\
                 "0.266, 0.2838, 0.3484, 0.479, 0.695, 1.014, 1.446, 1.999, 2.681, 3.495",\
                 "0.2968, 0.3164, 0.379, 0.504, 0.7138, 1.027, 1.454, 2.002, 2.68, 3.49",\
                 "0.3324, 0.3508, 0.414, 0.534, 0.7378, 1.046, 1.469, 2.013, 2.685, 3.489");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002144, 0.006161, 0.01383, 0.02578, 0.04255, 0.06461, 0.0924, 0.1263, 0.1668");
          values("0.2873, 0.3166, 0.4197, 0.6189, 0.9339, 1.378, 1.963, 2.699, 3.598, 4.669",\
                 "0.2871, 0.3165, 0.4205, 0.619, 0.9342, 1.378, 1.963, 2.699, 3.598, 4.669",\
                 "0.2873, 0.3174, 0.4211, 0.6193, 0.9336, 1.378, 1.962, 2.699, 3.598, 4.669",\
                 "0.2849, 0.3153, 0.4199, 0.6207, 0.9342, 1.378, 1.963, 2.699, 3.597, 4.669",\
                 "0.2822, 0.3116, 0.413, 0.6082, 0.9232, 1.371, 1.961, 2.698, 3.597, 4.669",\
                 "0.2926, 0.3226, 0.4232, 0.6142, 0.9204, 1.36, 1.947, 2.69, 3.594, 4.669",\
                 "0.3092, 0.339, 0.4404, 0.631, 0.9338, 1.367, 1.945, 2.678, 3.582, 4.658",\
                 "0.329, 0.3584, 0.4618, 0.6528, 0.9566, 1.388, 1.959, 2.684, 3.577, 4.65",\
                 "0.3484, 0.3798, 0.4838, 0.6772, 0.9832, 1.42, 1.992, 2.71, 3.592, 4.651",\
                 "0.3712, 0.4022, 0.5068, 0.7028, 1.012, 1.453, 2.031, 2.754, 3.629, 4.676");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xnor3_2) {
    area : 61.465600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "0.0001801701" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "0.0001772529" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "0.0001136091" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "0.0001136091" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "0.0001447512" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "0.0001447512" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "0.0001460646" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "0.0001431507" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001801701" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004961 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.005062 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A3) {
      capacitance : 0.007209 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!(A1^A2^A3))" ;
      max_capacitance : 0.7182 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.3055, 0.3015, 0.296, 0.293, 0.2915, 0.2906, 0.2901, 0.2898, 0.2895, 0.2893",\
                 "0.3053, 0.3012, 0.2958, 0.2929, 0.2913, 0.2904, 0.2899, 0.2895, 0.2892, 0.289",\
                 "0.3049, 0.3009, 0.2956, 0.2926, 0.291, 0.2901, 0.2895, 0.2892, 0.2889, 0.2888",\
                 "0.3061, 0.3021, 0.2968, 0.2937, 0.2922, 0.2913, 0.2908, 0.2903, 0.2901, 0.2899",\
                 "0.3098, 0.3058, 0.3004, 0.2974, 0.2958, 0.295, 0.2944, 0.294, 0.2938, 0.2936",\
                 "0.317, 0.3131, 0.3075, 0.3046, 0.3031, 0.3021, 0.3016, 0.3012, 0.301, 0.3008",\
                 "0.328, 0.3239, 0.3185, 0.3157, 0.314, 0.3131, 0.3127, 0.3122, 0.312, 0.3118",\
                 "0.3432, 0.3392, 0.3336, 0.3307, 0.3293, 0.3283, 0.3277, 0.3274, 0.3271, 0.3269",\
                 "0.3628, 0.3589, 0.3533, 0.3505, 0.3489, 0.348, 0.3474, 0.347, 0.3468, 0.3466",\
                 "0.3868, 0.3829, 0.3776, 0.3745, 0.3729, 0.372, 0.3715, 0.3711, 0.3708, 0.3706");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2842, 0.2826, 0.2806, 0.28, 0.2807, 0.2818, 0.2832, 0.2841, 0.2855, 0.2962",\
                 "0.2834, 0.2819, 0.28, 0.2793, 0.28, 0.2813, 0.2825, 0.2835, 0.2848, 0.2955",\
                 "0.2829, 0.2812, 0.2794, 0.2786, 0.279, 0.2805, 0.2817, 0.2831, 0.2852, 0.2956",\
                 "0.2848, 0.2832, 0.2814, 0.2807, 0.2812, 0.2825, 0.2839, 0.2848, 0.2869, 0.2991",\
                 "0.291, 0.2894, 0.2874, 0.2871, 0.2877, 0.2887, 0.2901, 0.2911, 0.2935, 0.3061",\
                 "0.3012, 0.2995, 0.2978, 0.2971, 0.2976, 0.2989, 0.3, 0.3015, 0.3041, 0.3229",\
                 "0.3161, 0.3146, 0.3123, 0.3122, 0.3127, 0.3139, 0.3152, 0.3164, 0.3204, 0.3445",\
                 "0.336, 0.3345, 0.3323, 0.3316, 0.3329, 0.3339, 0.3347, 0.3365, 0.3408, 0.3791",\
                 "0.3608, 0.3594, 0.3571, 0.3566, 0.3571, 0.3591, 0.3607, 0.3621, 0.3688, 0.4325",\
                 "0.3909, 0.3894, 0.3876, 0.3871, 0.3871, 0.388, 0.3911, 0.3935, 0.4096, 0.5213");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2681, 0.2634, 0.2564, 0.2524, 0.2501, 0.2489, 0.248, 0.2475, 0.2471, 0.2469",\
                 "0.2674, 0.2627, 0.2557, 0.2517, 0.2494, 0.2481, 0.2473, 0.2468, 0.2464, 0.2462",\
                 "0.2667, 0.2621, 0.2552, 0.251, 0.2488, 0.2475, 0.2467, 0.2461, 0.2459, 0.2456",\
                 "0.2688, 0.2641, 0.2571, 0.2531, 0.2509, 0.2495, 0.2488, 0.2482, 0.2479, 0.2476",\
                 "0.2749, 0.2702, 0.2633, 0.2593, 0.2569, 0.2556, 0.2548, 0.2543, 0.2539, 0.2537",\
                 "0.2853, 0.2806, 0.2737, 0.2696, 0.2674, 0.2661, 0.2653, 0.2648, 0.2644, 0.2641",\
                 "0.3002, 0.2956, 0.2885, 0.2846, 0.2823, 0.2809, 0.2801, 0.2797, 0.2793, 0.279",\
                 "0.3202, 0.3156, 0.3086, 0.3046, 0.3023, 0.301, 0.3002, 0.2996, 0.2993, 0.299",\
                 "0.3454, 0.3407, 0.3336, 0.3294, 0.3271, 0.3259, 0.325, 0.3247, 0.3241, 0.3239",\
                 "0.3759, 0.3713, 0.3641, 0.3598, 0.3574, 0.3562, 0.3553, 0.3549, 0.3545, 0.3542");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.243, 0.2409, 0.2373, 0.2354, 0.2356, 0.237, 0.2378, 0.2386, 0.241, 0.2494",\
                 "0.2427, 0.2407, 0.2372, 0.2357, 0.2357, 0.2369, 0.2378, 0.2386, 0.241, 0.2509",\
                 "0.2424, 0.2403, 0.2365, 0.2352, 0.2352, 0.2365, 0.2374, 0.2383, 0.2403, 0.2509",\
                 "0.2438, 0.2414, 0.2381, 0.2363, 0.2365, 0.2374, 0.2386, 0.2399, 0.2416, 0.2531",\
                 "0.2472, 0.2448, 0.2418, 0.2398, 0.2399, 0.241, 0.2422, 0.2432, 0.2453, 0.2563",\
                 "0.2538, 0.2513, 0.2482, 0.2472, 0.2471, 0.2484, 0.2492, 0.2505, 0.2526, 0.2655",\
                 "0.2645, 0.2622, 0.2586, 0.2571, 0.2579, 0.2597, 0.2604, 0.2613, 0.2639, 0.2797",\
                 "0.2796, 0.2777, 0.2744, 0.2724, 0.2724, 0.2741, 0.277, 0.2778, 0.2804, 0.2997",\
                 "0.2994, 0.2972, 0.2938, 0.292, 0.2918, 0.2923, 0.2941, 0.2986, 0.3016, 0.3273",\
                 "0.3236, 0.3215, 0.3182, 0.3164, 0.3163, 0.3172, 0.3169, 0.3194, 0.3269, 0.3666");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2899, 0.2859, 0.2805, 0.2774, 0.2759, 0.275, 0.2744, 0.274, 0.2738, 0.2737",\
                 "0.2896, 0.2856, 0.2801, 0.2772, 0.2757, 0.2748, 0.2742, 0.2738, 0.2735, 0.2734",\
                 "0.2894, 0.2854, 0.2801, 0.2771, 0.2755, 0.2746, 0.2741, 0.2736, 0.2734, 0.2732",\
                 "0.2914, 0.2875, 0.2821, 0.2791, 0.2775, 0.2766, 0.276, 0.2757, 0.2754, 0.2753",\
                 "0.2975, 0.2935, 0.288, 0.2852, 0.2836, 0.2827, 0.2821, 0.2818, 0.2815, 0.2813",\
                 "0.3081, 0.3039, 0.2986, 0.2957, 0.2942, 0.2933, 0.2928, 0.2924, 0.2921, 0.2919",\
                 "0.3229, 0.3188, 0.3134, 0.3105, 0.3088, 0.3081, 0.3074, 0.307, 0.3068, 0.3066",\
                 "0.3425, 0.3384, 0.3329, 0.33, 0.3284, 0.3275, 0.3269, 0.3266, 0.3264, 0.3262",\
                 "0.3673, 0.3632, 0.3576, 0.3548, 0.353, 0.3523, 0.3517, 0.3513, 0.3511, 0.3509",\
                 "0.3974, 0.3934, 0.3878, 0.3848, 0.3831, 0.3822, 0.3817, 0.3814, 0.3811, 0.3809");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.205, 0.2036, 0.2014, 0.2008, 0.2017, 0.2028, 0.2042, 0.2054, 0.2071, 0.2144",\
                 "0.205, 0.2036, 0.2016, 0.2009, 0.2014, 0.203, 0.2041, 0.2051, 0.2075, 0.2145",\
                 "0.205, 0.2035, 0.2017, 0.201, 0.2014, 0.2029, 0.2044, 0.2048, 0.2065, 0.2161",\
                 "0.2072, 0.2056, 0.2038, 0.2034, 0.2036, 0.2048, 0.2061, 0.2074, 0.2091, 0.2191",\
                 "0.2123, 0.2107, 0.2087, 0.2081, 0.2086, 0.21, 0.2112, 0.2124, 0.2138, 0.2254",\
                 "0.2203, 0.2186, 0.2166, 0.2163, 0.2166, 0.2178, 0.2196, 0.2203, 0.2227, 0.2364",\
                 "0.2325, 0.231, 0.2285, 0.2277, 0.2294, 0.2302, 0.2311, 0.2331, 0.2347, 0.2541",\
                 "0.2486, 0.2473, 0.2449, 0.2439, 0.2443, 0.2468, 0.2486, 0.2499, 0.2519, 0.2742",\
                 "0.2695, 0.2679, 0.2654, 0.2647, 0.2648, 0.2659, 0.2684, 0.2717, 0.2749, 0.306",\
                 "0.2946, 0.2929, 0.2905, 0.2898, 0.29, 0.2915, 0.292, 0.2951, 0.3033, 0.3512");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1899, 0.185, 0.1779, 0.1736, 0.1711, 0.1698, 0.1689, 0.1683, 0.168, 0.1678",\
                 "0.1898, 0.1849, 0.1777, 0.1735, 0.171, 0.1696, 0.1688, 0.1682, 0.1679, 0.1676",\
                 "0.1899, 0.1851, 0.1779, 0.1736, 0.1712, 0.1698, 0.169, 0.1684, 0.168, 0.1678",\
                 "0.1923, 0.1874, 0.1802, 0.1759, 0.1735, 0.1721, 0.1713, 0.1707, 0.1704, 0.1701",\
                 "0.1984, 0.1935, 0.186, 0.1816, 0.1792, 0.1778, 0.1769, 0.1763, 0.1759, 0.1757",\
                 "0.208, 0.203, 0.1954, 0.1909, 0.1882, 0.1867, 0.1858, 0.1853, 0.1849, 0.1846",\
                 "0.2222, 0.2171, 0.2092, 0.2045, 0.2017, 0.2002, 0.1992, 0.1986, 0.1982, 0.1979",\
                 "0.2413, 0.2361, 0.2279, 0.2228, 0.2198, 0.2183, 0.2173, 0.2165, 0.2161, 0.2158",\
                 "0.2654, 0.2599, 0.251, 0.2457, 0.2424, 0.2406, 0.2398, 0.2391, 0.2387, 0.2383",\
                 "0.2941, 0.2884, 0.2792, 0.2735, 0.2701, 0.2681, 0.2669, 0.2662, 0.2658, 0.2654");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2263, 0.224, 0.2208, 0.2193, 0.2196, 0.2207, 0.222, 0.2229, 0.2246, 0.2343",\
                 "0.2259, 0.2236, 0.2207, 0.2194, 0.2193, 0.2209, 0.2218, 0.2226, 0.2246, 0.232",\
                 "0.2259, 0.2237, 0.2203, 0.219, 0.2192, 0.2202, 0.2216, 0.2232, 0.2246, 0.2334",\
                 "0.2275, 0.2254, 0.2222, 0.2208, 0.2209, 0.2227, 0.2234, 0.2242, 0.2266, 0.2353",\
                 "0.2342, 0.2319, 0.2285, 0.227, 0.227, 0.2282, 0.2293, 0.2305, 0.2326, 0.2437",\
                 "0.2464, 0.2441, 0.2408, 0.239, 0.2385, 0.2397, 0.241, 0.242, 0.2438, 0.2603",\
                 "0.2637, 0.2611, 0.2574, 0.2552, 0.2552, 0.2559, 0.257, 0.2585, 0.2618, 0.2819",\
                 "0.2866, 0.2838, 0.2799, 0.2768, 0.2765, 0.2779, 0.2783, 0.2793, 0.2821, 0.3144",\
                 "0.3157, 0.3125, 0.3079, 0.3042, 0.3029, 0.3043, 0.3061, 0.3066, 0.3123, 0.3653",\
                 "0.3504, 0.3475, 0.3422, 0.3381, 0.3359, 0.3357, 0.3378, 0.3403, 0.353, 0.4462");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2944, 0.2904, 0.2848, 0.282, 0.2804, 0.2796, 0.279, 0.2787, 0.2784, 0.2782",\
                 "0.2945, 0.2904, 0.2852, 0.2823, 0.2805, 0.2797, 0.2792, 0.2788, 0.2786, 0.2783",\
                 "0.2948, 0.2908, 0.2854, 0.2825, 0.2809, 0.28, 0.2795, 0.2791, 0.2788, 0.2786",\
                 "0.2964, 0.2924, 0.287, 0.284, 0.2824, 0.2816, 0.281, 0.2806, 0.2804, 0.2802",\
                 "0.3, 0.2961, 0.2908, 0.2878, 0.2862, 0.2853, 0.2848, 0.2844, 0.2841, 0.284",\
                 "0.3065, 0.3026, 0.2971, 0.2944, 0.2927, 0.2918, 0.2912, 0.2908, 0.2906, 0.2904",\
                 "0.3161, 0.3122, 0.3067, 0.3038, 0.3022, 0.3013, 0.3008, 0.3004, 0.3001, 0.3",\
                 "0.3292, 0.3251, 0.3196, 0.3168, 0.3152, 0.3143, 0.3138, 0.3134, 0.3131, 0.3129",\
                 "0.3456, 0.3414, 0.3361, 0.3331, 0.3317, 0.3308, 0.3303, 0.3298, 0.3296, 0.3294",\
                 "0.3659, 0.3618, 0.3564, 0.3535, 0.3518, 0.351, 0.3505, 0.35, 0.3499, 0.3496");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2796, 0.278, 0.2761, 0.2755, 0.2761, 0.2773, 0.2787, 0.2798, 0.2812, 0.2914",\
                 "0.2785, 0.2772, 0.2752, 0.2745, 0.2748, 0.2763, 0.2776, 0.2788, 0.2805, 0.2917",\
                 "0.2789, 0.2773, 0.2754, 0.2748, 0.2755, 0.2766, 0.2779, 0.2788, 0.2806, 0.2911",\
                 "0.2817, 0.2802, 0.2784, 0.2776, 0.2783, 0.2795, 0.2807, 0.2821, 0.2839, 0.2971",\
                 "0.2879, 0.2864, 0.2843, 0.2841, 0.2845, 0.2857, 0.2869, 0.2877, 0.2899, 0.3048",\
                 "0.297, 0.2957, 0.2937, 0.2932, 0.2935, 0.2948, 0.296, 0.2976, 0.2998, 0.318",\
                 "0.3095, 0.3081, 0.3063, 0.3054, 0.3061, 0.3072, 0.3086, 0.3108, 0.3125, 0.3395",\
                 "0.3261, 0.3245, 0.3227, 0.3219, 0.3231, 0.3241, 0.3251, 0.3265, 0.3306, 0.3722",\
                 "0.3469, 0.3457, 0.3433, 0.3428, 0.3435, 0.3459, 0.3469, 0.3482, 0.3561, 0.4276",\
                 "0.3723, 0.3707, 0.3687, 0.3679, 0.3682, 0.37, 0.3729, 0.3746, 0.3929, 0.5195");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2635, 0.2588, 0.2519, 0.2479, 0.2456, 0.2443, 0.2435, 0.2429, 0.2427, 0.2424",\
                 "0.2626, 0.2579, 0.251, 0.2469, 0.2447, 0.2434, 0.2426, 0.2421, 0.2417, 0.2415",\
                 "0.2628, 0.2581, 0.2512, 0.2472, 0.2449, 0.2436, 0.2428, 0.2422, 0.2419, 0.2416",\
                 "0.2658, 0.2611, 0.2542, 0.2502, 0.2479, 0.2465, 0.2457, 0.2452, 0.2449, 0.2447",\
                 "0.2719, 0.2672, 0.2602, 0.2562, 0.2539, 0.2527, 0.2518, 0.2513, 0.2509, 0.2507",\
                 "0.2809, 0.2762, 0.2694, 0.2653, 0.263, 0.2617, 0.2609, 0.2604, 0.26, 0.2598",\
                 "0.2935, 0.2889, 0.2819, 0.278, 0.2756, 0.2743, 0.2735, 0.273, 0.2726, 0.2724",\
                 "0.3103, 0.3056, 0.2985, 0.2946, 0.2922, 0.2909, 0.2902, 0.2896, 0.2892, 0.289",\
                 "0.3314, 0.3267, 0.3197, 0.3157, 0.3133, 0.312, 0.3113, 0.3107, 0.3103, 0.3101",\
                 "0.357, 0.3523, 0.3454, 0.3411, 0.339, 0.3376, 0.3368, 0.3364, 0.336, 0.3357");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2306, 0.2285, 0.2256, 0.224, 0.224, 0.2257, 0.2268, 0.2272, 0.2296, 0.2376",\
                 "0.2308, 0.2287, 0.2256, 0.2245, 0.2241, 0.2258, 0.2269, 0.2279, 0.2296, 0.2372",\
                 "0.2313, 0.2289, 0.2259, 0.2246, 0.2245, 0.2262, 0.227, 0.2279, 0.2302, 0.2387",\
                 "0.2328, 0.2305, 0.2273, 0.2261, 0.2261, 0.2278, 0.2286, 0.2292, 0.2316, 0.2404",\
                 "0.2364, 0.2343, 0.2308, 0.2294, 0.2299, 0.2313, 0.2319, 0.2325, 0.2352, 0.2469",\
                 "0.2428, 0.2407, 0.2371, 0.2364, 0.2364, 0.2375, 0.2385, 0.2397, 0.2418, 0.2541",\
                 "0.2524, 0.2504, 0.247, 0.2455, 0.246, 0.2477, 0.2488, 0.2499, 0.2518, 0.2672",\
                 "0.2655, 0.2633, 0.2601, 0.2586, 0.2583, 0.2597, 0.2635, 0.2638, 0.2657, 0.2838",\
                 "0.2821, 0.28, 0.2767, 0.2747, 0.2744, 0.2754, 0.2775, 0.2816, 0.2836, 0.3088",\
                 "0.3025, 0.3004, 0.2972, 0.2953, 0.2949, 0.2949, 0.2959, 0.2991, 0.3066, 0.3409");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.297, 0.2931, 0.2876, 0.2846, 0.283, 0.2822, 0.2817, 0.2812, 0.2809, 0.2808",\
                 "0.2967, 0.2926, 0.2872, 0.2844, 0.2827, 0.2819, 0.2813, 0.2809, 0.2806, 0.2805",\
                 "0.2968, 0.2928, 0.2873, 0.2845, 0.2829, 0.282, 0.2815, 0.2811, 0.2808, 0.2806",\
                 "0.2991, 0.2951, 0.2897, 0.2868, 0.2852, 0.2843, 0.2838, 0.2833, 0.2831, 0.2829",\
                 "0.3054, 0.3014, 0.2959, 0.293, 0.2914, 0.2906, 0.29, 0.2896, 0.2894, 0.2892",\
                 "0.3164, 0.3124, 0.3071, 0.3041, 0.3025, 0.3017, 0.3011, 0.3006, 0.3004, 0.3003",\
                 "0.332, 0.3279, 0.3224, 0.3196, 0.3179, 0.317, 0.3165, 0.3161, 0.3158, 0.3156",\
                 "0.3524, 0.3485, 0.3428, 0.34, 0.3384, 0.3375, 0.3369, 0.3365, 0.3363, 0.336",\
                 "0.3784, 0.3743, 0.3687, 0.3657, 0.3642, 0.3633, 0.3628, 0.3624, 0.3621, 0.3619",\
                 "0.4097, 0.4056, 0.4, 0.397, 0.3954, 0.3945, 0.394, 0.3936, 0.3934, 0.3932");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2078, 0.2064, 0.2042, 0.2036, 0.2042, 0.2055, 0.2068, 0.2081, 0.2101, 0.2173",\
                 "0.2081, 0.2064, 0.2043, 0.2037, 0.2045, 0.206, 0.2071, 0.2081, 0.2095, 0.2185",\
                 "0.2083, 0.2069, 0.2048, 0.2042, 0.2048, 0.206, 0.2072, 0.2084, 0.2105, 0.2194",\
                 "0.2101, 0.2085, 0.2065, 0.2059, 0.2063, 0.2078, 0.2094, 0.2097, 0.2115, 0.2224",\
                 "0.2147, 0.2132, 0.2112, 0.2108, 0.211, 0.2122, 0.2135, 0.2147, 0.2168, 0.2292",\
                 "0.2225, 0.221, 0.2191, 0.2185, 0.2191, 0.2203, 0.2216, 0.2229, 0.225, 0.2379",\
                 "0.2347, 0.233, 0.2306, 0.2301, 0.2316, 0.2326, 0.2334, 0.2348, 0.2373, 0.2529",\
                 "0.2507, 0.2491, 0.2467, 0.2462, 0.2468, 0.2487, 0.251, 0.2522, 0.2536, 0.275",\
                 "0.2714, 0.2699, 0.2675, 0.267, 0.2667, 0.2675, 0.2704, 0.2737, 0.2772, 0.3062",\
                 "0.2966, 0.295, 0.2927, 0.2922, 0.2923, 0.2927, 0.2943, 0.2974, 0.3055, 0.349");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1926, 0.1879, 0.1805, 0.1763, 0.1739, 0.1726, 0.1717, 0.1711, 0.1707, 0.1705",\
                 "0.1927, 0.1879, 0.1807, 0.1766, 0.174, 0.1727, 0.1719, 0.1713, 0.1709, 0.1706",\
                 "0.1931, 0.1882, 0.181, 0.1768, 0.1743, 0.173, 0.1721, 0.1716, 0.1712, 0.1709",\
                 "0.1951, 0.1902, 0.183, 0.1788, 0.1763, 0.175, 0.1741, 0.1736, 0.1732, 0.1729",\
                 "0.2005, 0.1957, 0.1882, 0.1838, 0.1814, 0.18, 0.1791, 0.1786, 0.1782, 0.1779",\
                 "0.2098, 0.2047, 0.1972, 0.1926, 0.1901, 0.1884, 0.1876, 0.187, 0.1867, 0.1864",\
                 "0.2238, 0.2187, 0.2106, 0.2059, 0.2032, 0.2017, 0.2007, 0.2001, 0.1997, 0.1994",\
                 "0.2426, 0.2373, 0.229, 0.2238, 0.2209, 0.2193, 0.2183, 0.2177, 0.2173, 0.217",\
                 "0.2662, 0.2608, 0.252, 0.2466, 0.2434, 0.2416, 0.2407, 0.24, 0.2396, 0.2392",\
                 "0.2948, 0.2892, 0.28, 0.2743, 0.271, 0.269, 0.2679, 0.2671, 0.2667, 0.2664");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2345, 0.2322, 0.229, 0.2273, 0.2272, 0.2285, 0.2295, 0.2303, 0.2324, 0.2422",\
                 "0.2344, 0.2319, 0.2288, 0.227, 0.2269, 0.2281, 0.2295, 0.2303, 0.2324, 0.2399",\
                 "0.2343, 0.2321, 0.2288, 0.227, 0.2271, 0.2283, 0.2296, 0.2303, 0.2324, 0.2409",\
                 "0.2367, 0.2343, 0.2311, 0.2293, 0.2295, 0.2308, 0.2315, 0.2323, 0.2344, 0.2452",\
                 "0.2431, 0.2407, 0.237, 0.2356, 0.2354, 0.2366, 0.238, 0.2389, 0.241, 0.2519",\
                 "0.2559, 0.2534, 0.2498, 0.2478, 0.2474, 0.2484, 0.2494, 0.2504, 0.2523, 0.2675",\
                 "0.2737, 0.2712, 0.2675, 0.2652, 0.2648, 0.2653, 0.2666, 0.2682, 0.2702, 0.2922",\
                 "0.2971, 0.2942, 0.2902, 0.2867, 0.2869, 0.2876, 0.2882, 0.2893, 0.2935, 0.3253",\
                 "0.3267, 0.3235, 0.3186, 0.3153, 0.3138, 0.3156, 0.3165, 0.3176, 0.3237, 0.3784",\
                 "0.3628, 0.3597, 0.3546, 0.3498, 0.3476, 0.348, 0.3512, 0.353, 0.3656, 0.4668");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2015, 0.1969, 0.1901, 0.1862, 0.1839, 0.1826, 0.1818, 0.1813, 0.181, 0.1807",\
                 "0.2011, 0.1964, 0.1897, 0.1857, 0.1834, 0.1821, 0.1813, 0.1808, 0.1805, 0.1802",\
                 "0.1997, 0.1951, 0.1881, 0.1843, 0.1819, 0.1807, 0.1799, 0.1793, 0.179, 0.1788",\
                 "0.1995, 0.1949, 0.188, 0.1841, 0.1819, 0.1806, 0.1799, 0.1793, 0.179, 0.1787",\
                 "0.2021, 0.1978, 0.1914, 0.1878, 0.1858, 0.1847, 0.1841, 0.1836, 0.1833, 0.1831",\
                 "0.2107, 0.2064, 0.2004, 0.1969, 0.1951, 0.1941, 0.1934, 0.193, 0.1927, 0.1925",\
                 "0.2256, 0.2212, 0.2152, 0.2119, 0.21, 0.2089, 0.2083, 0.208, 0.2076, 0.2074",\
                 "0.247, 0.2426, 0.2364, 0.2328, 0.231, 0.2298, 0.2292, 0.2288, 0.2285, 0.2282",\
                 "0.2749, 0.2705, 0.2639, 0.2601, 0.258, 0.2569, 0.2562, 0.2557, 0.2555, 0.2554",\
                 "0.3091, 0.3045, 0.2976, 0.2935, 0.2914, 0.2903, 0.2896, 0.289, 0.2887, 0.2885");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2139, 0.2125, 0.2107, 0.21, 0.2107, 0.2118, 0.2131, 0.2143, 0.216, 0.2233",\
                 "0.2133, 0.2118, 0.2098, 0.2093, 0.21, 0.2111, 0.2127, 0.2137, 0.2154, 0.2231",\
                 "0.2125, 0.211, 0.2091, 0.2085, 0.2089, 0.2104, 0.212, 0.2124, 0.2137, 0.2228",\
                 "0.2145, 0.2131, 0.2112, 0.2105, 0.2109, 0.2121, 0.2136, 0.2147, 0.217, 0.2243",\
                 "0.222, 0.2205, 0.2182, 0.2174, 0.218, 0.2193, 0.2204, 0.2213, 0.2243, 0.2344",\
                 "0.2356, 0.2338, 0.2312, 0.2311, 0.2312, 0.233, 0.2341, 0.2348, 0.2382, 0.2501",\
                 "0.2565, 0.2546, 0.2519, 0.2506, 0.2518, 0.2527, 0.2534, 0.2549, 0.2578, 0.275",\
                 "0.2842, 0.2821, 0.2794, 0.2772, 0.2771, 0.2796, 0.2807, 0.2816, 0.284, 0.3118",\
                 "0.3189, 0.3167, 0.3127, 0.3111, 0.3101, 0.3114, 0.3137, 0.3152, 0.32, 0.3618",\
                 "0.3608, 0.3585, 0.3544, 0.352, 0.3507, 0.3505, 0.3523, 0.356, 0.3657, 0.4423");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1701, 0.1661, 0.1608, 0.158, 0.1564, 0.1555, 0.1549, 0.1545, 0.1542, 0.1541",\
                 "0.169, 0.165, 0.1599, 0.157, 0.1553, 0.1545, 0.1539, 0.1535, 0.1533, 0.1531",\
                 "0.1685, 0.1645, 0.1591, 0.1564, 0.1548, 0.154, 0.1534, 0.153, 0.1528, 0.1526",\
                 "0.1757, 0.1713, 0.1651, 0.1616, 0.1599, 0.1588, 0.1582, 0.1578, 0.1576, 0.1574",\
                 "0.1945, 0.189, 0.1806, 0.1754, 0.1725, 0.171, 0.17, 0.1694, 0.169, 0.1687",\
                 "0.2213, 0.2148, 0.204, 0.1969, 0.1927, 0.1902, 0.1889, 0.1879, 0.1874, 0.1869",\
                 "0.2579, 0.2504, 0.2369, 0.2273, 0.2216, 0.218, 0.2156, 0.2143, 0.2134, 0.2128",\
                 "0.305, 0.2963, 0.2798, 0.2675, 0.2595, 0.2543, 0.2513, 0.2492, 0.2478, 0.2468",\
                 "0.3623, 0.3526, 0.333, 0.3177, 0.3074, 0.3007, 0.2962, 0.2932, 0.2913, 0.2899",\
                 "0.4304, 0.42, 0.3974, 0.3784, 0.3657, 0.3569, 0.351, 0.3469, 0.3442, 0.3424");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.09009, 0.08915, 0.08831, 0.0889, 0.09009, 0.0916, 0.09276, 0.09481, 0.09551, 0.1034",\
                 "0.08967, 0.08873, 0.08792, 0.08857, 0.08962, 0.09104, 0.09206, 0.09349, 0.09617, 0.1019",\
                 "0.09079, 0.08946, 0.08821, 0.0886, 0.08962, 0.09097, 0.09229, 0.09349, 0.0965, 0.1021",\
                 "0.09865, 0.09689, 0.09448, 0.09332, 0.09388, 0.09503, 0.09599, 0.09745, 0.1001, 0.1069",\
                 "0.1134, 0.1106, 0.106, 0.1041, 0.1031, 0.1039, 0.1043, 0.1057, 0.1087, 0.1162",\
                 "0.1368, 0.1329, 0.1264, 0.1221, 0.1215, 0.121, 0.1207, 0.1215, 0.1233, 0.1335",\
                 "0.1685, 0.1637, 0.1553, 0.1488, 0.1449, 0.1452, 0.1448, 0.145, 0.1471, 0.1584",\
                 "0.2092, 0.2032, 0.1931, 0.1845, 0.1785, 0.1761, 0.1769, 0.1766, 0.1775, 0.1926",\
                 "0.2588, 0.2514, 0.2391, 0.2286, 0.2214, 0.2163, 0.2145, 0.2159, 0.2182, 0.2402",\
                 "0.3184, 0.3095, 0.2956, 0.2816, 0.272, 0.2647, 0.2611, 0.2611, 0.2669, 0.3003");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1701, 0.1661, 0.1608, 0.158, 0.1564, 0.1555, 0.155, 0.1545, 0.1542, 0.1541",\
                 "0.169, 0.165, 0.1599, 0.157, 0.1554, 0.1545, 0.1539, 0.1534, 0.1532, 0.153",\
                 "0.1685, 0.1645, 0.1591, 0.1564, 0.1548, 0.154, 0.1534, 0.153, 0.1528, 0.1526",\
                 "0.1757, 0.1713, 0.1651, 0.1616, 0.1599, 0.1588, 0.1583, 0.1579, 0.1576, 0.1574",\
                 "0.1945, 0.189, 0.1806, 0.1753, 0.1725, 0.171, 0.17, 0.1694, 0.169, 0.1687",\
                 "0.2213, 0.2148, 0.204, 0.197, 0.1928, 0.1902, 0.1889, 0.1879, 0.1873, 0.1869",\
                 "0.2579, 0.2503, 0.2369, 0.2273, 0.2216, 0.218, 0.2156, 0.2143, 0.2135, 0.2128",\
                 "0.3049, 0.2964, 0.2796, 0.2676, 0.2595, 0.2544, 0.2512, 0.2491, 0.2478, 0.2469",\
                 "0.3622, 0.3527, 0.333, 0.3177, 0.3074, 0.3007, 0.2963, 0.2932, 0.2913, 0.2899",\
                 "0.4304, 0.4201, 0.3974, 0.3784, 0.3655, 0.3569, 0.351, 0.3469, 0.3442, 0.3423");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.09009, 0.08915, 0.08831, 0.0889, 0.09009, 0.0916, 0.09272, 0.09481, 0.09551, 0.1034",\
                 "0.08967, 0.08873, 0.08795, 0.0886, 0.08962, 0.09104, 0.09206, 0.09349, 0.09617, 0.1019",\
                 "0.09061, 0.08936, 0.08821, 0.0886, 0.08953, 0.09087, 0.0921, 0.09349, 0.0965, 0.1021",\
                 "0.09865, 0.09689, 0.09448, 0.09332, 0.09388, 0.09503, 0.09599, 0.09745, 0.1001, 0.1069",\
                 "0.1134, 0.1106, 0.106, 0.1041, 0.1031, 0.1039, 0.1043, 0.1057, 0.1087, 0.1162",\
                 "0.1368, 0.1328, 0.1271, 0.1222, 0.1214, 0.1208, 0.1207, 0.1215, 0.1229, 0.1332",\
                 "0.1686, 0.1635, 0.1553, 0.1488, 0.1449, 0.1451, 0.1446, 0.145, 0.1461, 0.1587",\
                 "0.2092, 0.2032, 0.1931, 0.1845, 0.1784, 0.1758, 0.1771, 0.1769, 0.1772, 0.1934",\
                 "0.2588, 0.2514, 0.2391, 0.2286, 0.2214, 0.2163, 0.2145, 0.2159, 0.2182, 0.2397",\
                 "0.3184, 0.3095, 0.2956, 0.2816, 0.272, 0.2647, 0.2611, 0.2611, 0.2673, 0.3001");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2017, 0.1971, 0.1902, 0.1863, 0.1839, 0.1826, 0.1818, 0.1813, 0.1809, 0.1807",\
                 "0.2012, 0.1965, 0.1898, 0.1858, 0.1835, 0.1821, 0.1814, 0.1808, 0.1804, 0.1802",\
                 "0.1999, 0.1951, 0.1883, 0.1843, 0.182, 0.1807, 0.1799, 0.1794, 0.179, 0.1788",\
                 "0.1997, 0.1951, 0.1882, 0.1842, 0.182, 0.1806, 0.1798, 0.1793, 0.1789, 0.1787",\
                 "0.2024, 0.1978, 0.1915, 0.1879, 0.1859, 0.1847, 0.1841, 0.1836, 0.1833, 0.1831",\
                 "0.2109, 0.2066, 0.2004, 0.1971, 0.1952, 0.1941, 0.1934, 0.193, 0.1927, 0.1925",\
                 "0.2258, 0.2213, 0.2151, 0.2118, 0.21, 0.2089, 0.2083, 0.2079, 0.2076, 0.2074",\
                 "0.2471, 0.2427, 0.2363, 0.2328, 0.2308, 0.2297, 0.229, 0.2287, 0.2284, 0.2282",\
                 "0.2748, 0.2703, 0.2639, 0.2601, 0.258, 0.2569, 0.2562, 0.2558, 0.2555, 0.2553",\
                 "0.3091, 0.3046, 0.2976, 0.2935, 0.2914, 0.2902, 0.2895, 0.2889, 0.2886, 0.2884");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.214, 0.2126, 0.2108, 0.2101, 0.2106, 0.2118, 0.2134, 0.214, 0.216, 0.2227",\
                 "0.2134, 0.2119, 0.2101, 0.2094, 0.2099, 0.2111, 0.2124, 0.2137, 0.2154, 0.2228",\
                 "0.2126, 0.2111, 0.2091, 0.2086, 0.2092, 0.2108, 0.2116, 0.213, 0.2144, 0.2224",\
                 "0.2146, 0.213, 0.2112, 0.2105, 0.211, 0.2122, 0.2137, 0.2147, 0.2161, 0.225",\
                 "0.222, 0.2206, 0.2184, 0.2176, 0.218, 0.2193, 0.2206, 0.2219, 0.224, 0.2351",\
                 "0.2356, 0.2339, 0.2312, 0.2311, 0.2312, 0.2325, 0.2339, 0.2348, 0.2379, 0.2498",\
                 "0.2563, 0.2544, 0.2514, 0.2504, 0.2518, 0.2525, 0.2537, 0.2545, 0.2574, 0.274",\
                 "0.2844, 0.2821, 0.2791, 0.2774, 0.2773, 0.2795, 0.2805, 0.2816, 0.284, 0.3124",\
                 "0.319, 0.3167, 0.3127, 0.3108, 0.3098, 0.3111, 0.3141, 0.3152, 0.32, 0.3633",\
                 "0.3608, 0.3585, 0.3543, 0.3519, 0.3507, 0.3506, 0.352, 0.3563, 0.366, 0.4428");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.511, 1.553, 1.663, 1.826, 2.041, 2.319, 2.675, 3.12, 3.663, 4.31",\
                 "1.525, 1.567, 1.677, 1.84, 2.054, 2.332, 2.688, 3.133, 3.676, 4.324",\
                 "1.563, 1.604, 1.715, 1.878, 2.092, 2.37, 2.726, 3.171, 3.714, 4.361",\
                 "1.585, 1.626, 1.737, 1.9, 2.114, 2.392, 2.748, 3.193, 3.737, 4.384",\
                 "1.576, 1.618, 1.729, 1.891, 2.105, 2.383, 2.739, 3.185, 3.728, 4.375",\
                 "1.527, 1.569, 1.679, 1.842, 2.057, 2.335, 2.69, 3.136, 3.679, 4.326",\
                 "1.426, 1.468, 1.579, 1.741, 1.956, 2.234, 2.589, 3.035, 3.578, 4.225",\
                 "1.275, 1.317, 1.427, 1.59, 1.804, 2.082, 2.438, 2.884, 3.426, 4.074",\
                 "1.071, 1.112, 1.223, 1.385, 1.601, 1.879, 2.235, 2.68, 3.223, 3.87",\
                 "0.8121, 0.8537, 0.9643, 1.127, 1.341, 1.62, 1.975, 2.421, 2.964, 3.611");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.663, 1.701, 1.821, 2.044, 2.393, 2.881, 3.523, 4.332, 5.32, 6.498",\
                 "1.67, 1.708, 1.829, 2.052, 2.4, 2.888, 3.53, 4.339, 5.327, 6.506",\
                 "1.708, 1.746, 1.866, 2.089, 2.437, 2.926, 3.568, 4.378, 5.366, 6.544",\
                 "1.803, 1.841, 1.961, 2.185, 2.533, 3.021, 3.664, 4.473, 5.461, 6.639",\
                 "1.975, 2.013, 2.134, 2.357, 2.705, 3.193, 3.836, 4.645, 5.634, 6.808",\
                 "2.218, 2.256, 2.376, 2.599, 2.947, 3.436, 4.078, 4.888, 5.877, 7.053",\
                 "2.529, 2.568, 2.688, 2.911, 3.26, 3.748, 4.39, 5.199, 6.188, 7.364",\
                 "2.91, 2.949, 3.068, 3.292, 3.639, 4.128, 4.77, 5.58, 6.568, 7.745",\
                 "3.354, 3.392, 3.512, 3.736, 4.084, 4.572, 5.214, 6.023, 7.01, 8.189",\
                 "3.861, 3.899, 4.019, 4.243, 4.591, 5.08, 5.722, 6.531, 7.518, 8.694");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1476, 0.187, 0.3038, 0.4954, 0.7858, 1.209, 1.786, 2.527, 3.439, 4.522",\
                 "0.1476, 0.187, 0.3038, 0.495, 0.7858, 1.209, 1.786, 2.526, 3.434, 4.523",\
                 "0.1466, 0.1872, 0.3038, 0.4958, 0.7864, 1.209, 1.784, 2.525, 3.438, 4.523",\
                 "0.1466, 0.1874, 0.304, 0.4952, 0.7854, 1.21, 1.786, 2.526, 3.438, 4.526",\
                 "0.1468, 0.187, 0.3036, 0.4952, 0.7858, 1.21, 1.784, 2.527, 3.438, 4.527",\
                 "0.1466, 0.1872, 0.3032, 0.495, 0.7876, 1.209, 1.784, 2.524, 3.438, 4.528",\
                 "0.147, 0.1874, 0.3032, 0.495, 0.7872, 1.208, 1.783, 2.525, 3.435, 4.525",\
                 "0.1466, 0.1868, 0.304, 0.4952, 0.7856, 1.209, 1.784, 2.523, 3.431, 4.52",\
                 "0.1466, 0.187, 0.3038, 0.4948, 0.7866, 1.208, 1.783, 2.524, 3.434, 4.517",\
                 "0.1466, 0.1872, 0.3042, 0.4952, 0.7854, 1.21, 1.786, 2.525, 3.432, 4.517");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1198, 0.1718, 0.3636, 0.753, 1.366, 2.227, 3.355, 4.779, 6.523, 8.598",\
                 "0.1198, 0.172, 0.3634, 0.753, 1.366, 2.227, 3.355, 4.779, 6.523, 8.598",\
                 "0.1198, 0.172, 0.3634, 0.753, 1.366, 2.226, 3.355, 4.782, 6.524, 8.597",\
                 "0.1198, 0.172, 0.3636, 0.7528, 1.367, 2.226, 3.355, 4.782, 6.524, 8.6",\
                 "0.12, 0.1718, 0.3636, 0.7528, 1.365, 2.222, 3.356, 4.783, 6.527, 8.593",\
                 "0.12, 0.172, 0.3636, 0.7522, 1.366, 2.228, 3.355, 4.78, 6.521, 8.602",\
                 "0.1198, 0.1718, 0.3634, 0.7528, 1.364, 2.226, 3.356, 4.783, 6.526, 8.602",\
                 "0.1196, 0.1724, 0.3636, 0.7524, 1.366, 2.223, 3.355, 4.781, 6.521, 8.6",\
                 "0.1198, 0.1724, 0.3638, 0.7526, 1.364, 2.223, 3.354, 4.782, 6.519, 8.604",\
                 "0.12, 0.1724, 0.3636, 0.7528, 1.366, 2.228, 3.354, 4.778, 6.528, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.8319, 0.8756, 0.9904, 1.156, 1.373, 1.652, 2.008, 2.454, 2.997, 3.644",\
                 "0.844, 0.8876, 1.003, 1.168, 1.385, 1.664, 2.02, 2.466, 3.009, 3.656",\
                 "0.8861, 0.9303, 1.045, 1.211, 1.427, 1.706, 2.063, 2.508, 3.052, 3.699",\
                 "0.9622, 1.006, 1.121, 1.287, 1.503, 1.782, 2.139, 2.584, 3.128, 3.775",\
                 "1.032, 1.076, 1.191, 1.357, 1.573, 1.853, 2.209, 2.654, 3.198, 3.845",\
                 "1.075, 1.119, 1.234, 1.4, 1.617, 1.896, 2.252, 2.698, 3.241, 3.888",\
                 "1.088, 1.132, 1.247, 1.413, 1.63, 1.909, 2.266, 2.711, 3.254, 3.902",\
                 "1.064, 1.109, 1.224, 1.391, 1.608, 1.887, 2.244, 2.689, 3.232, 3.879",\
                 "0.9983, 1.043, 1.158, 1.326, 1.543, 1.822, 2.179, 2.625, 3.168, 3.815",\
                 "0.886, 0.9311, 1.048, 1.215, 1.433, 1.713, 2.069, 2.515, 3.058, 3.705");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.9926, 1.036, 1.167, 1.393, 1.741, 2.229, 2.871, 3.679, 4.666, 5.842",\
                 "1.006, 1.05, 1.18, 1.406, 1.754, 2.242, 2.884, 3.693, 4.68, 5.857",\
                 "1.059, 1.103, 1.233, 1.459, 1.807, 2.295, 2.937, 3.746, 4.733, 5.911",\
                 "1.181, 1.225, 1.355, 1.581, 1.929, 2.417, 3.059, 3.868, 4.855, 6.032",\
                 "1.387, 1.43, 1.56, 1.786, 2.134, 2.622, 3.264, 4.072, 5.059, 6.238",\
                 "1.657, 1.701, 1.832, 2.058, 2.405, 2.893, 3.534, 4.343, 5.331, 6.506",\
                 "1.979, 2.024, 2.155, 2.38, 2.728, 3.215, 3.857, 4.666, 5.653, 6.83",\
                 "2.358, 2.402, 2.534, 2.76, 3.107, 3.594, 4.236, 5.044, 6.032, 7.208",\
                 "2.792, 2.837, 2.97, 3.195, 3.542, 4.029, 4.671, 5.478, 6.465, 7.641",\
                 "3.278, 3.324, 3.458, 3.684, 4.03, 4.517, 5.159, 5.966, 6.953, 8.129");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1624, 0.203, 0.3172, 0.5064, 0.7934, 1.215, 1.788, 2.528, 3.437, 4.524",\
                 "0.1621, 0.2034, 0.317, 0.5062, 0.7934, 1.214, 1.787, 2.527, 3.439, 4.528",\
                 "0.1622, 0.203, 0.3168, 0.5064, 0.7934, 1.215, 1.789, 2.526, 3.439, 4.527",\
                 "0.1628, 0.2034, 0.3174, 0.5066, 0.7946, 1.215, 1.789, 2.526, 3.439, 4.527",\
                 "0.1638, 0.2042, 0.318, 0.507, 0.795, 1.214, 1.787, 2.529, 3.439, 4.528",\
                 "0.1642, 0.2052, 0.3186, 0.5068, 0.7944, 1.214, 1.787, 2.528, 3.437, 4.527",\
                 "0.166, 0.2066, 0.3202, 0.509, 0.7942, 1.214, 1.786, 2.525, 3.435, 4.526",\
                 "0.1688, 0.2094, 0.3222, 0.5102, 0.796, 1.216, 1.788, 2.525, 3.433, 4.518",\
                 "0.1714, 0.2128, 0.325, 0.5126, 0.7972, 1.216, 1.789, 2.527, 3.436, 4.519",\
                 "0.1754, 0.216, 0.3276, 0.5144, 0.8004, 1.218, 1.789, 2.527, 3.433, 4.519");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1403, 0.1972, 0.3844, 0.7604, 1.369, 2.229, 3.36, 4.782, 6.525, 8.599",\
                 "0.1404, 0.197, 0.3842, 0.7602, 1.369, 2.229, 3.361, 4.793, 6.524, 8.602",\
                 "0.1402, 0.1964, 0.3842, 0.7604, 1.368, 2.23, 3.361, 4.784, 6.526, 8.602",\
                 "0.1404, 0.1974, 0.3842, 0.7604, 1.37, 2.229, 3.361, 4.793, 6.524, 8.602",\
                 "0.1404, 0.197, 0.3844, 0.7602, 1.368, 2.23, 3.357, 4.784, 6.524, 8.602",\
                 "0.1418, 0.1986, 0.386, 0.7614, 1.37, 2.227, 3.361, 4.78, 6.522, 8.599",\
                 "0.144, 0.2012, 0.3874, 0.761, 1.369, 2.229, 3.362, 4.791, 6.522, 8.595",\
                 "0.1474, 0.204, 0.3898, 0.762, 1.37, 2.23, 3.361, 4.782, 6.526, 8.602",\
                 "0.1516, 0.2074, 0.3928, 0.7634, 1.372, 2.228, 3.36, 4.786, 6.522, 8.597",\
                 "0.1566, 0.2128, 0.3982, 0.7648, 1.371, 2.231, 3.358, 4.782, 6.524, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.511, 1.553, 1.663, 1.826, 2.041, 2.319, 2.675, 3.12, 3.663, 4.31",\
                 "1.525, 1.567, 1.677, 1.84, 2.054, 2.332, 2.688, 3.133, 3.676, 4.324",\
                 "1.563, 1.604, 1.715, 1.878, 2.092, 2.37, 2.726, 3.171, 3.714, 4.361",\
                 "1.585, 1.626, 1.737, 1.9, 2.114, 2.392, 2.748, 3.193, 3.737, 4.384",\
                 "1.576, 1.618, 1.729, 1.891, 2.105, 2.383, 2.739, 3.185, 3.728, 4.375",\
                 "1.527, 1.569, 1.679, 1.842, 2.057, 2.335, 2.69, 3.136, 3.679, 4.326",\
                 "1.426, 1.468, 1.579, 1.741, 1.956, 2.234, 2.589, 3.035, 3.578, 4.225",\
                 "1.275, 1.317, 1.427, 1.59, 1.804, 2.082, 2.438, 2.884, 3.426, 4.074",\
                 "1.071, 1.112, 1.223, 1.385, 1.601, 1.879, 2.235, 2.68, 3.223, 3.87",\
                 "0.8121, 0.8537, 0.9643, 1.127, 1.341, 1.62, 1.975, 2.421, 2.964, 3.611");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.663, 1.701, 1.821, 2.044, 2.393, 2.881, 3.523, 4.332, 5.32, 6.498",\
                 "1.67, 1.708, 1.829, 2.052, 2.4, 2.888, 3.53, 4.339, 5.327, 6.506",\
                 "1.708, 1.746, 1.866, 2.089, 2.437, 2.926, 3.568, 4.378, 5.366, 6.544",\
                 "1.803, 1.841, 1.961, 2.185, 2.533, 3.021, 3.664, 4.473, 5.461, 6.639",\
                 "1.975, 2.013, 2.134, 2.357, 2.705, 3.193, 3.836, 4.645, 5.634, 6.808",\
                 "2.218, 2.256, 2.376, 2.599, 2.947, 3.436, 4.078, 4.888, 5.877, 7.053",\
                 "2.529, 2.568, 2.688, 2.911, 3.26, 3.748, 4.39, 5.199, 6.188, 7.364",\
                 "2.91, 2.949, 3.068, 3.292, 3.639, 4.128, 4.77, 5.58, 6.568, 7.745",\
                 "3.354, 3.392, 3.512, 3.736, 4.084, 4.572, 5.214, 6.023, 7.01, 8.189",\
                 "3.861, 3.899, 4.019, 4.243, 4.591, 5.08, 5.722, 6.531, 7.518, 8.694");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1624, 0.203, 0.3172, 0.5064, 0.7934, 1.215, 1.788, 2.528, 3.437, 4.524",\
                 "0.1621, 0.2034, 0.317, 0.5062, 0.7934, 1.214, 1.787, 2.527, 3.439, 4.528",\
                 "0.1622, 0.203, 0.3168, 0.5064, 0.7934, 1.215, 1.789, 2.526, 3.439, 4.527",\
                 "0.1628, 0.2034, 0.3174, 0.5066, 0.7946, 1.215, 1.789, 2.526, 3.439, 4.527",\
                 "0.1638, 0.2042, 0.318, 0.507, 0.795, 1.214, 1.787, 2.529, 3.439, 4.528",\
                 "0.1642, 0.2052, 0.3186, 0.5068, 0.7944, 1.214, 1.787, 2.528, 3.437, 4.527",\
                 "0.166, 0.2066, 0.3202, 0.509, 0.7942, 1.214, 1.786, 2.525, 3.435, 4.526",\
                 "0.1688, 0.2094, 0.3222, 0.5102, 0.796, 1.216, 1.788, 2.525, 3.433, 4.518",\
                 "0.1714, 0.2128, 0.325, 0.5126, 0.7972, 1.216, 1.789, 2.527, 3.436, 4.519",\
                 "0.1754, 0.216, 0.3276, 0.5144, 0.8004, 1.218, 1.789, 2.527, 3.433, 4.519");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1198, 0.1718, 0.3636, 0.753, 1.366, 2.227, 3.355, 4.779, 6.523, 8.598",\
                 "0.1198, 0.172, 0.3634, 0.753, 1.366, 2.227, 3.355, 4.779, 6.523, 8.598",\
                 "0.1198, 0.172, 0.3634, 0.753, 1.366, 2.226, 3.355, 4.782, 6.524, 8.597",\
                 "0.1198, 0.172, 0.3636, 0.7528, 1.367, 2.226, 3.355, 4.782, 6.524, 8.6",\
                 "0.12, 0.1718, 0.3636, 0.7528, 1.365, 2.222, 3.356, 4.783, 6.527, 8.593",\
                 "0.12, 0.172, 0.3636, 0.7522, 1.366, 2.228, 3.355, 4.78, 6.521, 8.602",\
                 "0.1198, 0.1718, 0.3634, 0.7528, 1.364, 2.226, 3.356, 4.783, 6.526, 8.602",\
                 "0.1196, 0.1724, 0.3636, 0.7524, 1.366, 2.223, 3.355, 4.781, 6.521, 8.6",\
                 "0.1198, 0.1724, 0.3638, 0.7526, 1.364, 2.223, 3.354, 4.782, 6.519, 8.604",\
                 "0.12, 0.1724, 0.3636, 0.7528, 1.366, 2.228, 3.354, 4.778, 6.528, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.34, 1.384, 1.499, 1.664, 1.88, 2.159, 2.516, 2.961, 3.505, 4.152",\
                 "1.347, 1.391, 1.506, 1.671, 1.888, 2.167, 2.523, 2.968, 3.512, 4.159",\
                 "1.385, 1.429, 1.543, 1.709, 1.925, 2.204, 2.561, 3.006, 3.549, 4.197",\
                 "1.481, 1.525, 1.639, 1.805, 2.021, 2.3, 2.656, 3.102, 3.645, 4.293",\
                 "1.652, 1.696, 1.81, 1.976, 2.192, 2.471, 2.828, 3.273, 3.816, 4.464",\
                 "1.895, 1.939, 2.053, 2.219, 2.435, 2.714, 3.07, 3.516, 4.059, 4.707",\
                 "2.206, 2.25, 2.364, 2.53, 2.747, 3.026, 3.382, 3.828, 4.371, 5.018",\
                 "2.585, 2.629, 2.743, 2.909, 3.125, 3.404, 3.761, 4.206, 4.749, 5.397",\
                 "3.027, 3.071, 3.186, 3.351, 3.568, 3.847, 4.203, 4.649, 5.191, 5.839",\
                 "3.533, 3.576, 3.691, 3.856, 4.072, 4.351, 4.708, 5.154, 5.697, 6.344");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.24, 1.284, 1.414, 1.64, 1.988, 2.476, 3.118, 3.927, 4.914, 6.091",\
                 "1.254, 1.298, 1.428, 1.654, 2.002, 2.49, 3.132, 3.94, 4.927, 6.103",\
                 "1.292, 1.336, 1.466, 1.692, 2.04, 2.528, 3.17, 3.978, 4.965, 6.142",\
                 "1.314, 1.358, 1.489, 1.714, 2.062, 2.55, 3.192, 4, 4.987, 6.164",\
                 "1.305, 1.348, 1.479, 1.705, 2.052, 2.54, 3.182, 3.99, 4.977, 6.156",\
                 "1.255, 1.298, 1.429, 1.655, 2.003, 2.491, 3.133, 3.941, 4.928, 6.107",\
                 "1.153, 1.197, 1.328, 1.554, 1.902, 2.39, 3.031, 3.84, 4.827, 6.005",\
                 "1.003, 1.047, 1.177, 1.403, 1.751, 2.239, 2.881, 3.689, 4.676, 5.852",\
                 "0.7983, 0.8425, 0.9723, 1.198, 1.547, 2.035, 2.676, 3.485, 4.471, 5.647",\
                 "0.5403, 0.5837, 0.714, 0.94, 1.288, 1.776, 2.417, 3.226, 4.213, 5.39");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.161, 0.2018, 0.316, 0.5052, 0.7924, 1.214, 1.788, 2.526, 3.439, 4.528",\
                 "0.161, 0.2016, 0.3162, 0.5048, 0.7926, 1.214, 1.788, 2.527, 3.438, 4.526",\
                 "0.161, 0.2018, 0.3158, 0.5048, 0.7924, 1.214, 1.788, 2.527, 3.439, 4.528",\
                 "0.161, 0.2016, 0.316, 0.505, 0.7932, 1.213, 1.788, 2.525, 3.439, 4.525",\
                 "0.1608, 0.2022, 0.3158, 0.5054, 0.7924, 1.213, 1.787, 2.528, 3.437, 4.525",\
                 "0.1606, 0.2016, 0.316, 0.5052, 0.7928, 1.213, 1.789, 2.528, 3.438, 4.527",\
                 "0.1612, 0.2016, 0.3162, 0.5042, 0.7934, 1.213, 1.786, 2.528, 3.439, 4.528",\
                 "0.1604, 0.2022, 0.3158, 0.5054, 0.7928, 1.212, 1.787, 2.525, 3.438, 4.528",\
                 "0.1608, 0.202, 0.3164, 0.5048, 0.7928, 1.213, 1.788, 2.524, 3.432, 4.523",\
                 "0.161, 0.202, 0.316, 0.5054, 0.7926, 1.212, 1.786, 2.526, 3.434, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1416, 0.1978, 0.3862, 0.7604, 1.369, 2.228, 3.357, 4.792, 6.525, 8.602",\
                 "0.1416, 0.1986, 0.385, 0.7606, 1.368, 2.23, 3.36, 4.793, 6.525, 8.601",\
                 "0.1414, 0.1986, 0.3852, 0.7606, 1.368, 2.23, 3.358, 4.793, 6.525, 8.601",\
                 "0.1412, 0.1982, 0.3854, 0.7606, 1.369, 2.229, 3.362, 4.784, 6.524, 8.602",\
                 "0.141, 0.1972, 0.385, 0.7604, 1.368, 2.227, 3.361, 4.784, 6.524, 8.601",\
                 "0.1404, 0.1968, 0.3846, 0.7614, 1.369, 2.229, 3.362, 4.784, 6.524, 8.597",\
                 "0.1402, 0.198, 0.385, 0.7602, 1.369, 2.226, 3.358, 4.79, 6.524, 8.599",\
                 "0.1406, 0.1966, 0.3848, 0.7602, 1.368, 2.227, 3.357, 4.783, 6.528, 8.596",\
                 "0.1402, 0.1972, 0.3848, 0.7604, 1.369, 2.226, 3.357, 4.781, 6.52, 8.592",\
                 "0.14, 0.1974, 0.3844, 0.7602, 1.369, 2.226, 3.36, 4.783, 6.519, 8.594");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.266, 1.308, 1.418, 1.581, 1.795, 2.074, 2.429, 2.875, 3.418, 4.065",\
                 "1.28, 1.321, 1.432, 1.594, 1.809, 2.087, 2.442, 2.888, 3.431, 4.079",\
                 "1.332, 1.374, 1.484, 1.647, 1.862, 2.14, 2.495, 2.941, 3.484, 4.132",\
                 "1.455, 1.497, 1.607, 1.77, 1.984, 2.262, 2.618, 3.064, 3.607, 4.254",\
                 "1.657, 1.699, 1.81, 1.972, 2.187, 2.465, 2.821, 3.266, 3.809, 4.457",\
                 "1.919, 1.96, 2.071, 2.234, 2.448, 2.726, 3.082, 3.528, 4.071, 4.718",\
                 "2.231, 2.273, 2.383, 2.546, 2.76, 3.039, 3.394, 3.84, 4.383, 5.03",\
                 "2.596, 2.637, 2.748, 2.911, 3.125, 3.403, 3.759, 4.204, 4.747, 5.394",\
                 "3.013, 3.054, 3.165, 3.327, 3.541, 3.82, 4.175, 4.621, 5.163, 5.811",\
                 "3.479, 3.521, 3.631, 3.794, 4.008, 4.286, 4.642, 5.087, 5.63, 6.277");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.157, 1.196, 1.316, 1.539, 1.888, 2.376, 3.018, 3.827, 4.816, 5.99",\
                 "1.17, 1.208, 1.328, 1.552, 1.9, 2.388, 3.03, 3.839, 4.828, 6.003",\
                 "1.212, 1.25, 1.37, 1.594, 1.942, 2.43, 3.072, 3.882, 4.869, 6.048",\
                 "1.291, 1.329, 1.449, 1.672, 2.021, 2.509, 3.151, 3.961, 4.95, 6.126",\
                 "1.367, 1.405, 1.525, 1.749, 2.097, 2.585, 3.227, 4.036, 5.024, 6.203",\
                 "1.417, 1.456, 1.576, 1.799, 2.147, 2.636, 3.278, 4.087, 5.076, 6.254",\
                 "1.439, 1.477, 1.597, 1.82, 2.168, 2.656, 3.298, 4.107, 5.095, 6.273",\
                 "1.424, 1.463, 1.583, 1.806, 2.154, 2.642, 3.284, 4.093, 5.08, 6.257",\
                 "1.368, 1.407, 1.526, 1.75, 2.098, 2.586, 3.229, 4.037, 5.024, 6.199",\
                 "1.268, 1.306, 1.426, 1.649, 1.997, 2.485, 3.128, 3.936, 4.924, 6.1");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1468, 0.1874, 0.3036, 0.4954, 0.7858, 1.209, 1.785, 2.526, 3.434, 4.527",\
                 "0.147, 0.1872, 0.3038, 0.4958, 0.7866, 1.21, 1.786, 2.527, 3.435, 4.526",\
                 "0.1476, 0.1874, 0.3038, 0.4958, 0.7852, 1.21, 1.786, 2.526, 3.436, 4.527",\
                 "0.1468, 0.1872, 0.3036, 0.4956, 0.7846, 1.209, 1.784, 2.525, 3.438, 4.524",\
                 "0.1474, 0.1868, 0.3038, 0.496, 0.7852, 1.21, 1.785, 2.527, 3.439, 4.528",\
                 "0.1468, 0.1872, 0.3042, 0.4958, 0.7858, 1.208, 1.784, 2.523, 3.436, 4.527",\
                 "0.1468, 0.1872, 0.3034, 0.495, 0.7858, 1.209, 1.786, 2.523, 3.435, 4.521",\
                 "0.1472, 0.1874, 0.304, 0.495, 0.7854, 1.207, 1.784, 2.525, 3.437, 4.524",\
                 "0.1468, 0.1872, 0.3036, 0.4958, 0.7854, 1.21, 1.784, 2.522, 3.432, 4.521",\
                 "0.1474, 0.1876, 0.3038, 0.496, 0.7848, 1.207, 1.784, 2.524, 3.432, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1202, 0.172, 0.3636, 0.7522, 1.365, 2.222, 3.356, 4.783, 6.527, 8.594",\
                 "0.1204, 0.172, 0.3634, 0.7528, 1.366, 2.223, 3.355, 4.783, 6.526, 8.596",\
                 "0.1196, 0.1724, 0.3634, 0.7528, 1.366, 2.227, 3.354, 4.782, 6.528, 8.595",\
                 "0.1202, 0.1722, 0.3638, 0.7528, 1.366, 2.225, 3.356, 4.781, 6.525, 8.602",\
                 "0.12, 0.172, 0.3636, 0.753, 1.367, 2.227, 3.355, 4.779, 6.523, 8.598",\
                 "0.1202, 0.172, 0.3636, 0.7526, 1.367, 2.226, 3.353, 4.783, 6.527, 8.596",\
                 "0.1204, 0.1724, 0.3634, 0.7536, 1.365, 2.223, 3.355, 4.782, 6.523, 8.599",\
                 "0.1206, 0.1726, 0.364, 0.7528, 1.364, 2.223, 3.354, 4.78, 6.517, 8.593",\
                 "0.1198, 0.1722, 0.3638, 0.7532, 1.366, 2.225, 3.355, 4.777, 6.518, 8.596",\
                 "0.1204, 0.1726, 0.3636, 0.7528, 1.365, 2.225, 3.354, 4.777, 6.516, 8.59");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.34, 1.384, 1.499, 1.664, 1.88, 2.159, 2.516, 2.961, 3.505, 4.152",\
                 "1.347, 1.391, 1.506, 1.671, 1.888, 2.167, 2.523, 2.968, 3.512, 4.159",\
                 "1.385, 1.429, 1.543, 1.709, 1.925, 2.204, 2.561, 3.006, 3.549, 4.197",\
                 "1.481, 1.525, 1.639, 1.805, 2.021, 2.3, 2.656, 3.102, 3.645, 4.293",\
                 "1.652, 1.696, 1.81, 1.976, 2.192, 2.471, 2.828, 3.273, 3.816, 4.464",\
                 "1.895, 1.939, 2.053, 2.219, 2.435, 2.714, 3.07, 3.516, 4.059, 4.707",\
                 "2.206, 2.25, 2.364, 2.53, 2.747, 3.026, 3.382, 3.828, 4.371, 5.018",\
                 "2.585, 2.629, 2.743, 2.909, 3.125, 3.404, 3.761, 4.206, 4.749, 5.397",\
                 "3.027, 3.071, 3.186, 3.351, 3.568, 3.847, 4.203, 4.649, 5.191, 5.839",\
                 "3.533, 3.576, 3.691, 3.856, 4.072, 4.351, 4.708, 5.154, 5.697, 6.344");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.157, 1.196, 1.316, 1.539, 1.888, 2.376, 3.018, 3.827, 4.816, 5.99",\
                 "1.17, 1.208, 1.328, 1.552, 1.9, 2.388, 3.03, 3.839, 4.828, 6.003",\
                 "1.212, 1.25, 1.37, 1.594, 1.942, 2.43, 3.072, 3.882, 4.869, 6.048",\
                 "1.291, 1.329, 1.449, 1.672, 2.021, 2.509, 3.151, 3.961, 4.95, 6.126",\
                 "1.367, 1.405, 1.525, 1.749, 2.097, 2.585, 3.227, 4.036, 5.024, 6.203",\
                 "1.417, 1.456, 1.576, 1.799, 2.147, 2.636, 3.278, 4.087, 5.076, 6.254",\
                 "1.439, 1.477, 1.597, 1.82, 2.168, 2.656, 3.298, 4.107, 5.095, 6.273",\
                 "1.424, 1.463, 1.583, 1.806, 2.154, 2.642, 3.284, 4.093, 5.08, 6.257",\
                 "1.368, 1.407, 1.526, 1.75, 2.098, 2.586, 3.229, 4.037, 5.024, 6.199",\
                 "1.268, 1.306, 1.426, 1.649, 1.997, 2.485, 3.128, 3.936, 4.924, 6.1");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.161, 0.2018, 0.316, 0.5052, 0.7924, 1.214, 1.788, 2.526, 3.439, 4.528",\
                 "0.161, 0.2016, 0.3162, 0.5048, 0.7926, 1.214, 1.788, 2.527, 3.438, 4.526",\
                 "0.161, 0.2018, 0.3158, 0.5048, 0.7924, 1.214, 1.788, 2.527, 3.439, 4.528",\
                 "0.161, 0.2016, 0.316, 0.505, 0.7932, 1.213, 1.788, 2.525, 3.439, 4.525",\
                 "0.1608, 0.2022, 0.3158, 0.5054, 0.7924, 1.213, 1.787, 2.528, 3.437, 4.525",\
                 "0.1606, 0.2016, 0.316, 0.5052, 0.7928, 1.213, 1.789, 2.528, 3.438, 4.527",\
                 "0.1612, 0.2016, 0.3162, 0.5042, 0.7934, 1.213, 1.786, 2.528, 3.439, 4.528",\
                 "0.1604, 0.2022, 0.3158, 0.5054, 0.7928, 1.212, 1.787, 2.525, 3.438, 4.528",\
                 "0.1608, 0.202, 0.3164, 0.5048, 0.7928, 1.213, 1.788, 2.524, 3.432, 4.523",\
                 "0.161, 0.202, 0.316, 0.5054, 0.7926, 1.212, 1.786, 2.526, 3.434, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1416, 0.1978, 0.3862, 0.7604, 1.369, 2.228, 3.357, 4.792, 6.525, 8.602",\
                 "0.1416, 0.1986, 0.385, 0.7606, 1.368, 2.23, 3.36, 4.793, 6.525, 8.601",\
                 "0.1414, 0.1986, 0.3852, 0.7606, 1.368, 2.23, 3.358, 4.793, 6.525, 8.601",\
                 "0.1412, 0.1982, 0.3854, 0.7606, 1.369, 2.229, 3.362, 4.784, 6.524, 8.602",\
                 "0.141, 0.1972, 0.385, 0.7604, 1.368, 2.227, 3.361, 4.784, 6.524, 8.601",\
                 "0.1404, 0.1968, 0.3846, 0.7614, 1.369, 2.229, 3.362, 4.784, 6.524, 8.597",\
                 "0.1402, 0.198, 0.385, 0.7602, 1.369, 2.226, 3.358, 4.79, 6.524, 8.599",\
                 "0.1406, 0.1966, 0.3848, 0.7602, 1.368, 2.227, 3.357, 4.783, 6.528, 8.596",\
                 "0.1402, 0.1972, 0.3848, 0.7604, 1.369, 2.226, 3.357, 4.781, 6.52, 8.592",\
                 "0.14, 0.1974, 0.3844, 0.7602, 1.369, 2.226, 3.36, 4.783, 6.519, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.455, 1.497, 1.608, 1.77, 1.985, 2.263, 2.619, 3.064, 3.607, 4.255",\
                 "1.47, 1.512, 1.622, 1.785, 1.999, 2.277, 2.633, 3.078, 3.621, 4.269",\
                 "1.508, 1.549, 1.66, 1.822, 2.037, 2.315, 2.671, 3.116, 3.659, 4.307",\
                 "1.526, 1.567, 1.678, 1.841, 2.055, 2.333, 2.689, 3.134, 3.677, 4.325",\
                 "1.506, 1.547, 1.657, 1.82, 2.035, 2.313, 2.668, 3.114, 3.657, 4.304",\
                 "1.439, 1.48, 1.591, 1.754, 1.968, 2.246, 2.602, 3.047, 3.591, 4.238",\
                 "1.32, 1.361, 1.472, 1.634, 1.849, 2.127, 2.483, 2.928, 3.471, 4.119",\
                 "1.142, 1.184, 1.294, 1.457, 1.672, 1.95, 2.305, 2.751, 3.294, 3.941",\
                 "0.9038, 0.9455, 1.056, 1.22, 1.433, 1.712, 2.068, 2.513, 3.056, 3.703",\
                 "0.6023, 0.6437, 0.7544, 0.9169, 1.131, 1.409, 1.766, 2.211, 2.754, 3.401");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.616, 1.655, 1.775, 1.998, 2.346, 2.834, 3.476, 4.286, 5.273, 6.452",\
                 "1.622, 1.661, 1.781, 2.004, 2.352, 2.84, 3.483, 4.292, 5.281, 6.458",\
                 "1.679, 1.717, 1.837, 2.061, 2.409, 2.897, 3.539, 4.348, 5.336, 6.515",\
                 "1.82, 1.858, 1.978, 2.201, 2.55, 3.038, 3.68, 4.49, 5.479, 6.656",\
                 "2.043, 2.081, 2.201, 2.425, 2.773, 3.261, 3.903, 4.713, 5.7, 6.879",\
                 "2.332, 2.37, 2.49, 2.714, 3.062, 3.55, 4.192, 5.002, 5.991, 7.167",\
                 "2.69, 2.729, 2.849, 3.072, 3.421, 3.909, 4.551, 5.359, 6.347, 7.526",\
                 "3.127, 3.165, 3.285, 3.508, 3.856, 4.345, 4.987, 5.796, 6.783, 7.963",\
                 "3.642, 3.681, 3.801, 4.024, 4.372, 4.86, 5.503, 6.31, 7.298, 8.477",\
                 "4.235, 4.274, 4.393, 4.616, 4.965, 5.453, 6.095, 6.904, 7.891, 9.068");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1476, 0.1874, 0.3036, 0.495, 0.7858, 1.209, 1.785, 2.527, 3.436, 4.526",\
                 "0.147, 0.1868, 0.304, 0.4946, 0.7856, 1.21, 1.786, 2.525, 3.436, 4.526",\
                 "0.1468, 0.1872, 0.3034, 0.4958, 0.7846, 1.209, 1.786, 2.524, 3.436, 4.527",\
                 "0.1476, 0.1874, 0.3042, 0.4954, 0.7858, 1.21, 1.784, 2.526, 3.434, 4.527",\
                 "0.1466, 0.1876, 0.3038, 0.4958, 0.7864, 1.21, 1.786, 2.525, 3.438, 4.523",\
                 "0.1466, 0.1868, 0.3034, 0.4956, 0.7856, 1.21, 1.784, 2.527, 3.437, 4.523",\
                 "0.1468, 0.1872, 0.3036, 0.4956, 0.7864, 1.209, 1.783, 2.523, 3.438, 4.528",\
                 "0.1468, 0.187, 0.3036, 0.495, 0.7848, 1.208, 1.785, 2.523, 3.433, 4.517",\
                 "0.147, 0.1872, 0.3044, 0.4952, 0.7854, 1.207, 1.786, 2.523, 3.432, 4.519",\
                 "0.1468, 0.1872, 0.304, 0.495, 0.7852, 1.209, 1.785, 2.522, 3.435, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1198, 0.1718, 0.3636, 0.753, 1.366, 2.228, 3.355, 4.779, 6.524, 8.598",\
                 "0.1202, 0.1718, 0.3636, 0.7526, 1.366, 2.228, 3.355, 4.78, 6.521, 8.602",\
                 "0.12, 0.172, 0.3634, 0.753, 1.367, 2.224, 3.356, 4.78, 6.524, 8.598",\
                 "0.1194, 0.1722, 0.3634, 0.7524, 1.366, 2.226, 3.355, 4.781, 6.523, 8.602",\
                 "0.1198, 0.172, 0.3634, 0.753, 1.367, 2.227, 3.355, 4.782, 6.527, 8.596",\
                 "0.1194, 0.1718, 0.3632, 0.753, 1.365, 2.222, 3.356, 4.783, 6.522, 8.603",\
                 "0.1196, 0.1718, 0.3636, 0.7526, 1.365, 2.228, 3.355, 4.781, 6.522, 8.599",\
                 "0.1198, 0.1718, 0.3636, 0.7526, 1.367, 2.225, 3.355, 4.779, 6.52, 8.595",\
                 "0.1196, 0.1724, 0.3636, 0.7528, 1.366, 2.225, 3.356, 4.78, 6.52, 8.602",\
                 "0.1196, 0.1718, 0.3638, 0.7526, 1.365, 2.222, 3.354, 4.778, 6.53, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.8455, 0.8895, 1.004, 1.17, 1.386, 1.666, 2.022, 2.468, 3.011, 3.658",\
                 "0.8558, 0.8996, 1.015, 1.181, 1.397, 1.676, 2.032, 2.478, 3.021, 3.669",\
                 "0.8808, 0.9246, 1.039, 1.205, 1.422, 1.701, 2.057, 2.503, 3.046, 3.693",\
                 "0.9242, 0.968, 1.083, 1.249, 1.465, 1.744, 2.101, 2.546, 3.089, 3.737",\
                 "0.9638, 1.008, 1.122, 1.288, 1.505, 1.784, 2.14, 2.586, 3.129, 3.776",\
                 "0.979, 1.023, 1.138, 1.304, 1.521, 1.8, 2.156, 2.602, 3.145, 3.793",\
                 "0.9608, 1.005, 1.12, 1.286, 1.503, 1.782, 2.139, 2.584, 3.127, 3.775",\
                 "0.8998, 0.9439, 1.06, 1.226, 1.443, 1.723, 2.079, 2.524, 3.068, 3.715",\
                 "0.7897, 0.8343, 0.9507, 1.118, 1.335, 1.615, 1.971, 2.417, 2.96, 3.607",\
                 "0.6283, 0.6733, 0.7902, 0.9579, 1.176, 1.455, 1.812, 2.258, 2.801, 3.448");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.044, 1.088, 1.219, 1.445, 1.792, 2.28, 2.922, 3.731, 4.718, 5.894",\
                 "1.057, 1.101, 1.231, 1.457, 1.805, 2.293, 2.935, 3.743, 4.73, 5.909",\
                 "1.113, 1.157, 1.287, 1.513, 1.861, 2.349, 2.991, 3.799, 4.786, 5.964",\
                 "1.238, 1.282, 1.412, 1.638, 1.986, 2.474, 3.116, 3.925, 4.912, 6.088",\
                 "1.449, 1.492, 1.623, 1.849, 2.197, 2.685, 3.327, 4.135, 5.123, 6.299",\
                 "1.734, 1.778, 1.908, 2.134, 2.482, 2.969, 3.611, 4.42, 5.407, 6.584",\
                 "2.076, 2.12, 2.251, 2.477, 2.824, 3.312, 3.953, 4.762, 5.749, 6.928",\
                 "2.481, 2.525, 2.657, 2.883, 3.23, 3.717, 4.359, 5.168, 6.155, 7.332",\
                 "2.952, 2.997, 3.13, 3.356, 3.703, 4.19, 4.831, 5.639, 6.625, 7.802",\
                 "3.487, 3.533, 3.667, 3.892, 4.238, 4.725, 5.367, 6.175, 7.162, 8.337");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1621, 0.2031, 0.3174, 0.5062, 0.7934, 1.213, 1.787, 2.526, 3.436, 4.528",\
                 "0.1622, 0.2034, 0.3169, 0.5062, 0.7948, 1.213, 1.787, 2.526, 3.435, 4.528",\
                 "0.1622, 0.2034, 0.317, 0.506, 0.7934, 1.214, 1.787, 2.527, 3.439, 4.528",\
                 "0.1624, 0.2034, 0.317, 0.5062, 0.7934, 1.215, 1.789, 2.525, 3.439, 4.528",\
                 "0.163, 0.2038, 0.3174, 0.5072, 0.795, 1.215, 1.788, 2.528, 3.435, 4.523",\
                 "0.1644, 0.2054, 0.3192, 0.508, 0.7934, 1.212, 1.789, 2.528, 3.437, 4.527",\
                 "0.166, 0.2072, 0.3196, 0.5092, 0.795, 1.215, 1.786, 2.525, 3.437, 4.527",\
                 "0.1692, 0.2094, 0.3228, 0.5104, 0.7972, 1.215, 1.787, 2.526, 3.433, 4.52",\
                 "0.172, 0.2124, 0.325, 0.5132, 0.7972, 1.216, 1.79, 2.527, 3.434, 4.519",\
                 "0.1754, 0.2158, 0.3278, 0.5154, 0.7992, 1.217, 1.791, 2.526, 3.435, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1416, 0.1984, 0.3852, 0.7622, 1.369, 2.227, 3.362, 4.793, 6.525, 8.602",\
                 "0.1414, 0.1986, 0.3852, 0.7608, 1.368, 2.226, 3.362, 4.784, 6.524, 8.601",\
                 "0.1416, 0.1986, 0.3854, 0.7606, 1.368, 2.226, 3.361, 4.784, 6.524, 8.602",\
                 "0.1416, 0.1984, 0.3854, 0.7608, 1.369, 2.228, 3.363, 4.793, 6.525, 8.602",\
                 "0.1416, 0.1984, 0.385, 0.7602, 1.369, 2.23, 3.361, 4.787, 6.525, 8.602",\
                 "0.1432, 0.1998, 0.3872, 0.761, 1.368, 2.228, 3.363, 4.792, 6.526, 8.6",\
                 "0.1454, 0.2016, 0.388, 0.7618, 1.37, 2.228, 3.36, 4.783, 6.523, 8.6",\
                 "0.1476, 0.2042, 0.3902, 0.763, 1.369, 2.227, 3.361, 4.788, 6.52, 8.6",\
                 "0.1516, 0.208, 0.3938, 0.7644, 1.369, 2.229, 3.36, 4.783, 6.524, 8.598",\
                 "0.156, 0.2122, 0.3974, 0.7644, 1.37, 2.23, 3.36, 4.784, 6.528, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.455, 1.497, 1.608, 1.77, 1.985, 2.263, 2.619, 3.064, 3.607, 4.255",\
                 "1.47, 1.512, 1.622, 1.785, 1.999, 2.277, 2.633, 3.078, 3.621, 4.269",\
                 "1.508, 1.549, 1.66, 1.822, 2.037, 2.315, 2.671, 3.116, 3.659, 4.307",\
                 "1.526, 1.567, 1.678, 1.841, 2.055, 2.333, 2.689, 3.134, 3.677, 4.325",\
                 "1.506, 1.547, 1.657, 1.82, 2.035, 2.313, 2.668, 3.114, 3.657, 4.304",\
                 "1.439, 1.48, 1.591, 1.754, 1.968, 2.246, 2.602, 3.047, 3.591, 4.238",\
                 "1.32, 1.361, 1.472, 1.634, 1.849, 2.127, 2.483, 2.928, 3.471, 4.119",\
                 "1.142, 1.184, 1.294, 1.457, 1.672, 1.95, 2.305, 2.751, 3.294, 3.941",\
                 "0.9038, 0.9455, 1.056, 1.22, 1.433, 1.712, 2.068, 2.513, 3.056, 3.703",\
                 "0.6023, 0.6437, 0.7544, 0.9169, 1.131, 1.409, 1.766, 2.211, 2.754, 3.401");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.616, 1.655, 1.775, 1.998, 2.346, 2.834, 3.476, 4.286, 5.273, 6.452",\
                 "1.622, 1.661, 1.781, 2.004, 2.352, 2.84, 3.483, 4.292, 5.281, 6.458",\
                 "1.679, 1.717, 1.837, 2.061, 2.409, 2.897, 3.539, 4.348, 5.336, 6.515",\
                 "1.82, 1.858, 1.978, 2.201, 2.55, 3.038, 3.68, 4.49, 5.479, 6.656",\
                 "2.043, 2.081, 2.201, 2.425, 2.773, 3.261, 3.903, 4.713, 5.7, 6.879",\
                 "2.332, 2.37, 2.49, 2.714, 3.062, 3.55, 4.192, 5.002, 5.991, 7.167",\
                 "2.69, 2.729, 2.849, 3.072, 3.421, 3.909, 4.551, 5.359, 6.347, 7.526",\
                 "3.127, 3.165, 3.285, 3.508, 3.856, 4.345, 4.987, 5.796, 6.783, 7.963",\
                 "3.642, 3.681, 3.801, 4.024, 4.372, 4.86, 5.503, 6.31, 7.298, 8.477",\
                 "4.235, 4.274, 4.393, 4.616, 4.965, 5.453, 6.095, 6.904, 7.891, 9.068");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1621, 0.2031, 0.3174, 0.5062, 0.7934, 1.213, 1.787, 2.526, 3.436, 4.528",\
                 "0.1622, 0.2034, 0.3169, 0.5062, 0.7948, 1.213, 1.787, 2.526, 3.435, 4.528",\
                 "0.1622, 0.2034, 0.317, 0.506, 0.7934, 1.214, 1.787, 2.527, 3.439, 4.528",\
                 "0.1624, 0.2034, 0.317, 0.5062, 0.7934, 1.215, 1.789, 2.525, 3.439, 4.528",\
                 "0.163, 0.2038, 0.3174, 0.5072, 0.795, 1.215, 1.788, 2.528, 3.435, 4.523",\
                 "0.1644, 0.2054, 0.3192, 0.508, 0.7934, 1.212, 1.789, 2.528, 3.437, 4.527",\
                 "0.166, 0.2072, 0.3196, 0.5092, 0.795, 1.215, 1.786, 2.525, 3.437, 4.527",\
                 "0.1692, 0.2094, 0.3228, 0.5104, 0.7972, 1.215, 1.787, 2.526, 3.433, 4.52",\
                 "0.172, 0.2124, 0.325, 0.5132, 0.7972, 1.216, 1.79, 2.527, 3.434, 4.519",\
                 "0.1754, 0.2158, 0.3278, 0.5154, 0.7992, 1.217, 1.791, 2.526, 3.435, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1198, 0.1718, 0.3636, 0.753, 1.366, 2.228, 3.355, 4.779, 6.524, 8.598",\
                 "0.1202, 0.1718, 0.3636, 0.7526, 1.366, 2.228, 3.355, 4.78, 6.521, 8.602",\
                 "0.12, 0.172, 0.3634, 0.753, 1.367, 2.224, 3.356, 4.78, 6.524, 8.598",\
                 "0.1194, 0.1722, 0.3634, 0.7524, 1.366, 2.226, 3.355, 4.781, 6.523, 8.602",\
                 "0.1198, 0.172, 0.3634, 0.753, 1.367, 2.227, 3.355, 4.782, 6.527, 8.596",\
                 "0.1194, 0.1718, 0.3632, 0.753, 1.365, 2.222, 3.356, 4.783, 6.522, 8.603",\
                 "0.1196, 0.1718, 0.3636, 0.7526, 1.365, 2.228, 3.355, 4.781, 6.522, 8.599",\
                 "0.1198, 0.1718, 0.3636, 0.7526, 1.367, 2.225, 3.355, 4.779, 6.52, 8.595",\
                 "0.1196, 0.1724, 0.3636, 0.7528, 1.366, 2.225, 3.356, 4.78, 6.52, 8.602",\
                 "0.1196, 0.1718, 0.3638, 0.7526, 1.365, 2.222, 3.354, 4.778, 6.53, 8.594");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.294, 1.338, 1.452, 1.618, 1.834, 2.113, 2.469, 2.915, 3.458, 4.106",\
                 "1.3, 1.343, 1.458, 1.624, 1.84, 2.119, 2.475, 2.921, 3.464, 4.111",\
                 "1.356, 1.4, 1.515, 1.68, 1.896, 2.175, 2.532, 2.977, 3.521, 4.168",\
                 "1.497, 1.541, 1.656, 1.821, 2.037, 2.317, 2.673, 3.119, 3.662, 4.309",\
                 "1.72, 1.764, 1.879, 2.044, 2.261, 2.539, 2.896, 3.341, 3.884, 4.532",\
                 "2.008, 2.052, 2.166, 2.332, 2.548, 2.827, 3.184, 3.629, 4.172, 4.82",\
                 "2.366, 2.41, 2.525, 2.69, 2.907, 3.186, 3.542, 3.988, 4.531, 5.178",\
                 "2.802, 2.846, 2.961, 3.126, 3.343, 3.622, 3.978, 4.423, 4.966, 5.614",\
                 "3.317, 3.36, 3.475, 3.641, 3.856, 4.136, 4.492, 4.937, 5.48, 6.127",\
                 "3.908, 3.952, 4.066, 4.232, 4.448, 4.727, 5.084, 5.529, 6.073, 6.72");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.182, 1.226, 1.356, 1.582, 1.93, 2.418, 3.06, 3.869, 4.856, 6.034",\
                 "1.196, 1.24, 1.37, 1.596, 1.944, 2.433, 3.074, 3.883, 4.87, 6.047",\
                 "1.234, 1.278, 1.408, 1.634, 1.982, 2.47, 3.112, 3.921, 4.909, 6.085",\
                 "1.252, 1.296, 1.426, 1.652, 2.001, 2.489, 3.13, 3.939, 4.926, 6.103",\
                 "1.231, 1.275, 1.405, 1.631, 1.98, 2.468, 3.109, 3.918, 4.905, 6.081",\
                 "1.165, 1.209, 1.339, 1.565, 1.913, 2.402, 3.043, 3.852, 4.84, 6.016",\
                 "1.046, 1.09, 1.22, 1.446, 1.794, 2.282, 2.924, 3.733, 4.72, 5.899",\
                 "0.8684, 0.9123, 1.042, 1.268, 1.617, 2.104, 2.746, 3.555, 4.542, 5.719",\
                 "0.6316, 0.6755, 0.8055, 1.032, 1.38, 1.867, 2.509, 3.317, 4.304, 5.48",\
                 "0.3304, 0.3742, 0.5043, 0.7305, 1.078, 1.566, 2.208, 3.016, 4.003, 5.179");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1612, 0.2016, 0.316, 0.5054, 0.7924, 1.214, 1.788, 2.527, 3.439, 4.528",\
                 "0.1614, 0.2018, 0.3154, 0.5056, 0.7934, 1.214, 1.789, 2.525, 3.439, 4.527",\
                 "0.1608, 0.202, 0.316, 0.5048, 0.7942, 1.214, 1.788, 2.527, 3.439, 4.528",\
                 "0.161, 0.2018, 0.3158, 0.5048, 0.792, 1.214, 1.788, 2.526, 3.438, 4.527",\
                 "0.161, 0.2016, 0.316, 0.505, 0.7928, 1.214, 1.788, 2.526, 3.438, 4.528",\
                 "0.1604, 0.2018, 0.3162, 0.5048, 0.793, 1.214, 1.788, 2.526, 3.436, 4.522",\
                 "0.1608, 0.2014, 0.3152, 0.5054, 0.7922, 1.213, 1.787, 2.525, 3.438, 4.526",\
                 "0.1608, 0.2018, 0.3162, 0.5044, 0.7934, 1.212, 1.787, 2.525, 3.437, 4.528",\
                 "0.1608, 0.202, 0.3156, 0.5048, 0.7924, 1.212, 1.788, 2.526, 3.433, 4.521",\
                 "0.1608, 0.202, 0.3166, 0.5048, 0.7922, 1.214, 1.787, 2.524, 3.432, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1404, 0.1966, 0.3844, 0.761, 1.368, 2.229, 3.361, 4.783, 6.524, 8.602",\
                 "0.1404, 0.1974, 0.3842, 0.76, 1.37, 2.229, 3.361, 4.783, 6.525, 8.602",\
                 "0.1404, 0.197, 0.3842, 0.7614, 1.371, 2.229, 3.36, 4.793, 6.524, 8.602",\
                 "0.1402, 0.1968, 0.3844, 0.76, 1.368, 2.229, 3.361, 4.793, 6.525, 8.603",\
                 "0.1396, 0.197, 0.3842, 0.7606, 1.368, 2.229, 3.362, 4.793, 6.523, 8.601",\
                 "0.1402, 0.197, 0.3844, 0.7602, 1.369, 2.23, 3.362, 4.787, 6.523, 8.601",\
                 "0.1394, 0.1974, 0.384, 0.7604, 1.368, 2.227, 3.363, 4.784, 6.525, 8.601",\
                 "0.1394, 0.1972, 0.3846, 0.7608, 1.369, 2.228, 3.359, 4.781, 6.523, 8.597",\
                 "0.1408, 0.1968, 0.3846, 0.7602, 1.368, 2.23, 3.359, 4.783, 6.52, 8.603",\
                 "0.1402, 0.1966, 0.3844, 0.76, 1.369, 2.229, 3.363, 4.783, 6.52, 8.593");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.315, 1.356, 1.467, 1.63, 1.844, 2.122, 2.478, 2.923, 3.467, 4.114",\
                 "1.328, 1.369, 1.48, 1.642, 1.856, 2.134, 2.49, 2.936, 3.479, 4.126",\
                 "1.383, 1.425, 1.536, 1.698, 1.913, 2.191, 2.546, 2.992, 3.535, 4.183",\
                 "1.509, 1.551, 1.661, 1.824, 2.038, 2.316, 2.672, 3.117, 3.66, 4.308",\
                 "1.718, 1.759, 1.87, 2.033, 2.247, 2.525, 2.881, 3.326, 3.87, 4.517",\
                 "1.994, 2.035, 2.146, 2.309, 2.523, 2.801, 3.157, 3.602, 4.146, 4.793",\
                 "2.327, 2.368, 2.478, 2.641, 2.855, 3.133, 3.489, 3.934, 4.478, 5.125",\
                 "2.721, 2.762, 2.873, 3.036, 3.25, 3.528, 3.883, 4.329, 4.872, 5.519",\
                 "3.177, 3.218, 3.329, 3.491, 3.706, 3.984, 4.34, 4.785, 5.328, 5.975",\
                 "3.694, 3.735, 3.846, 4.008, 4.222, 4.5, 4.856, 5.301, 5.844, 6.492");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.171, 1.21, 1.329, 1.553, 1.901, 2.389, 3.032, 3.841, 4.83, 6.004",\
                 "1.182, 1.22, 1.34, 1.563, 1.911, 2.4, 3.042, 3.852, 4.839, 6.018",\
                 "1.206, 1.245, 1.365, 1.588, 1.936, 2.424, 3.067, 3.876, 4.864, 6.043",\
                 "1.252, 1.29, 1.41, 1.634, 1.982, 2.47, 3.112, 3.922, 4.909, 6.088",\
                 "1.296, 1.334, 1.454, 1.677, 2.026, 2.514, 3.156, 3.966, 4.955, 6.132",\
                 "1.317, 1.356, 1.476, 1.698, 2.047, 2.535, 3.178, 3.987, 4.976, 6.152",\
                 "1.306, 1.344, 1.464, 1.687, 2.036, 2.524, 3.166, 3.975, 4.962, 6.139",\
                 "1.252, 1.291, 1.411, 1.634, 1.982, 2.47, 3.113, 3.921, 4.908, 6.085",\
                 "1.152, 1.191, 1.311, 1.534, 1.882, 2.37, 3.012, 3.821, 4.808, 5.984",\
                 "1, 1.039, 1.159, 1.383, 1.731, 2.218, 2.861, 3.67, 4.657, 5.834");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.147, 0.1872, 0.3038, 0.4954, 0.7846, 1.209, 1.786, 2.525, 3.438, 4.528",\
                 "0.1468, 0.1874, 0.3038, 0.496, 0.7862, 1.21, 1.784, 2.526, 3.438, 4.527",\
                 "0.1476, 0.1868, 0.3038, 0.496, 0.7868, 1.21, 1.784, 2.526, 3.438, 4.527",\
                 "0.1468, 0.1874, 0.3036, 0.495, 0.7856, 1.209, 1.785, 2.527, 3.434, 4.523",\
                 "0.1468, 0.1876, 0.3038, 0.4954, 0.7856, 1.209, 1.784, 2.526, 3.438, 4.527",\
                 "0.1468, 0.1874, 0.3036, 0.4956, 0.7852, 1.21, 1.784, 2.526, 3.438, 4.527",\
                 "0.1472, 0.187, 0.3038, 0.4958, 0.7854, 1.21, 1.785, 2.526, 3.437, 4.523",\
                 "0.1466, 0.1878, 0.3032, 0.4952, 0.7856, 1.207, 1.783, 2.525, 3.436, 4.525",\
                 "0.1476, 0.1872, 0.304, 0.4946, 0.7864, 1.208, 1.784, 2.523, 3.432, 4.52",\
                 "0.147, 0.1874, 0.3036, 0.4954, 0.785, 1.209, 1.782, 2.524, 3.43, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1204, 0.172, 0.3634, 0.7522, 1.366, 2.227, 3.356, 4.783, 6.527, 8.595",\
                 "0.12, 0.1722, 0.3636, 0.7524, 1.367, 2.223, 3.356, 4.782, 6.523, 8.598",\
                 "0.1202, 0.1722, 0.3634, 0.7526, 1.364, 2.228, 3.355, 4.782, 6.524, 8.599",\
                 "0.1204, 0.1722, 0.3638, 0.7528, 1.366, 2.227, 3.354, 4.782, 6.528, 8.595",\
                 "0.1198, 0.172, 0.3634, 0.7528, 1.366, 2.224, 3.356, 4.781, 6.522, 8.603",\
                 "0.1196, 0.1724, 0.3636, 0.7524, 1.366, 2.226, 3.355, 4.78, 6.521, 8.602",\
                 "0.12, 0.172, 0.3638, 0.7528, 1.365, 2.223, 3.353, 4.782, 6.523, 8.597",\
                 "0.1202, 0.173, 0.3636, 0.753, 1.366, 2.224, 3.354, 4.784, 6.521, 8.598",\
                 "0.1208, 0.1724, 0.3638, 0.7528, 1.365, 2.223, 3.354, 4.778, 6.519, 8.591",\
                 "0.1204, 0.1724, 0.3636, 0.7528, 1.364, 2.225, 3.354, 4.78, 6.52, 8.59");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.294, 1.338, 1.452, 1.618, 1.834, 2.113, 2.469, 2.915, 3.458, 4.106",\
                 "1.3, 1.343, 1.458, 1.624, 1.84, 2.119, 2.475, 2.921, 3.464, 4.111",\
                 "1.356, 1.4, 1.515, 1.68, 1.896, 2.175, 2.532, 2.977, 3.521, 4.168",\
                 "1.497, 1.541, 1.656, 1.821, 2.037, 2.317, 2.673, 3.119, 3.662, 4.309",\
                 "1.72, 1.764, 1.879, 2.044, 2.261, 2.539, 2.896, 3.341, 3.884, 4.532",\
                 "2.008, 2.052, 2.166, 2.332, 2.548, 2.827, 3.184, 3.629, 4.172, 4.82",\
                 "2.366, 2.41, 2.525, 2.69, 2.907, 3.186, 3.542, 3.988, 4.531, 5.178",\
                 "2.802, 2.846, 2.961, 3.126, 3.343, 3.622, 3.978, 4.423, 4.966, 5.614",\
                 "3.317, 3.36, 3.475, 3.641, 3.856, 4.136, 4.492, 4.937, 5.48, 6.127",\
                 "3.908, 3.952, 4.066, 4.232, 4.448, 4.727, 5.084, 5.529, 6.073, 6.72");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("1.171, 1.21, 1.329, 1.553, 1.901, 2.389, 3.032, 3.841, 4.83, 6.004",\
                 "1.182, 1.22, 1.34, 1.563, 1.911, 2.4, 3.042, 3.852, 4.839, 6.018",\
                 "1.206, 1.245, 1.365, 1.588, 1.936, 2.424, 3.067, 3.876, 4.864, 6.043",\
                 "1.252, 1.29, 1.41, 1.634, 1.982, 2.47, 3.112, 3.922, 4.909, 6.088",\
                 "1.296, 1.334, 1.454, 1.677, 2.026, 2.514, 3.156, 3.966, 4.955, 6.132",\
                 "1.317, 1.356, 1.476, 1.698, 2.047, 2.535, 3.178, 3.987, 4.976, 6.152",\
                 "1.306, 1.344, 1.464, 1.687, 2.036, 2.524, 3.166, 3.975, 4.962, 6.139",\
                 "1.252, 1.291, 1.411, 1.634, 1.982, 2.47, 3.113, 3.921, 4.908, 6.085",\
                 "1.152, 1.191, 1.311, 1.534, 1.882, 2.37, 3.012, 3.821, 4.808, 5.984",\
                 "1, 1.039, 1.159, 1.383, 1.731, 2.218, 2.861, 3.67, 4.657, 5.834");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1612, 0.2016, 0.316, 0.5054, 0.7924, 1.214, 1.788, 2.527, 3.439, 4.528",\
                 "0.1614, 0.2018, 0.3154, 0.5056, 0.7934, 1.214, 1.789, 2.525, 3.439, 4.527",\
                 "0.1608, 0.202, 0.316, 0.5048, 0.7942, 1.214, 1.788, 2.527, 3.439, 4.528",\
                 "0.161, 0.2018, 0.3158, 0.5048, 0.792, 1.214, 1.788, 2.526, 3.438, 4.527",\
                 "0.161, 0.2016, 0.316, 0.505, 0.7928, 1.214, 1.788, 2.526, 3.438, 4.528",\
                 "0.1604, 0.2018, 0.3162, 0.5048, 0.793, 1.214, 1.788, 2.526, 3.436, 4.522",\
                 "0.1608, 0.2014, 0.3152, 0.5054, 0.7922, 1.213, 1.787, 2.525, 3.438, 4.526",\
                 "0.1608, 0.2018, 0.3162, 0.5044, 0.7934, 1.212, 1.787, 2.525, 3.437, 4.528",\
                 "0.1608, 0.202, 0.3156, 0.5048, 0.7924, 1.212, 1.788, 2.526, 3.433, 4.521",\
                 "0.1608, 0.202, 0.3166, 0.5048, 0.7922, 1.214, 1.787, 2.524, 3.432, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1404, 0.1966, 0.3844, 0.761, 1.368, 2.229, 3.361, 4.783, 6.524, 8.602",\
                 "0.1404, 0.1974, 0.3842, 0.76, 1.37, 2.229, 3.361, 4.783, 6.525, 8.602",\
                 "0.1404, 0.197, 0.3842, 0.7614, 1.371, 2.229, 3.36, 4.793, 6.524, 8.602",\
                 "0.1402, 0.1968, 0.3844, 0.76, 1.368, 2.229, 3.361, 4.793, 6.525, 8.603",\
                 "0.1396, 0.197, 0.3842, 0.7606, 1.368, 2.229, 3.362, 4.793, 6.523, 8.601",\
                 "0.1402, 0.197, 0.3844, 0.7602, 1.369, 2.23, 3.362, 4.787, 6.523, 8.601",\
                 "0.1394, 0.1974, 0.384, 0.7604, 1.368, 2.227, 3.363, 4.784, 6.525, 8.601",\
                 "0.1394, 0.1972, 0.3846, 0.7608, 1.369, 2.228, 3.359, 4.781, 6.523, 8.597",\
                 "0.1408, 0.1968, 0.3846, 0.7602, 1.368, 2.23, 3.359, 4.783, 6.52, 8.603",\
                 "0.1402, 0.1966, 0.3844, 0.76, 1.369, 2.229, 3.363, 4.783, 6.52, 8.593");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.684, 0.7276, 0.8424, 1.008, 1.224, 1.503, 1.86, 2.305, 2.849, 3.496",\
                 "0.6966, 0.7405, 0.8554, 1.021, 1.237, 1.516, 1.872, 2.318, 2.861, 3.508",\
                 "0.7364, 0.7801, 0.8949, 1.06, 1.277, 1.556, 1.912, 2.358, 2.901, 3.548",\
                 "0.7751, 0.8188, 0.9337, 1.099, 1.315, 1.594, 1.951, 2.396, 2.939, 3.587",\
                 "0.7968, 0.839, 0.9514, 1.116, 1.331, 1.61, 1.967, 2.412, 2.956, 3.603",\
                 "0.7814, 0.8231, 0.9347, 1.099, 1.314, 1.593, 1.95, 2.395, 2.939, 3.586",\
                 "0.7286, 0.77, 0.8816, 1.046, 1.261, 1.54, 1.897, 2.343, 2.885, 3.533",\
                 "0.6379, 0.6799, 0.7916, 0.9562, 1.172, 1.451, 1.807, 2.252, 2.796, 3.443",\
                 "0.5084, 0.5502, 0.6629, 0.8282, 1.044, 1.322, 1.678, 2.123, 2.666, 3.313",\
                 "0.3363, 0.3788, 0.4919, 0.6571, 0.8731, 1.152, 1.508, 1.952, 2.494, 3.141");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.8159, 0.8544, 0.9745, 1.198, 1.546, 2.034, 2.676, 3.486, 4.475, 5.651",\
                 "0.8263, 0.8648, 0.9845, 1.208, 1.556, 2.045, 2.687, 3.497, 4.485, 5.662",\
                 "0.8644, 0.9028, 1.023, 1.246, 1.594, 2.082, 2.725, 3.534, 4.522, 5.7",\
                 "0.9518, 0.9904, 1.111, 1.334, 1.682, 2.17, 2.812, 3.622, 4.61, 5.785",\
                 "1.104, 1.142, 1.263, 1.486, 1.834, 2.322, 2.964, 3.774, 4.762, 5.94",\
                 "1.316, 1.354, 1.475, 1.698, 2.046, 2.535, 3.177, 3.986, 4.975, 6.15",\
                 "1.585, 1.624, 1.744, 1.966, 2.314, 2.802, 3.444, 4.253, 5.241, 6.416",\
                 "1.902, 1.941, 2.063, 2.285, 2.632, 3.12, 3.762, 4.571, 5.557, 6.738",\
                 "2.266, 2.306, 2.427, 2.65, 2.998, 3.485, 4.127, 4.935, 5.922, 7.098",\
                 "2.676, 2.717, 2.84, 3.062, 3.41, 3.898, 4.54, 5.348, 6.335, 7.511");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1601, 0.2021, 0.3159, 0.5046, 0.7922, 1.214, 1.789, 2.525, 3.439, 4.528",\
                 "0.161, 0.2015, 0.316, 0.5043, 0.794, 1.214, 1.788, 2.526, 3.439, 4.527",\
                 "0.1606, 0.202, 0.3157, 0.505, 0.7926, 1.212, 1.787, 2.527, 3.437, 4.527",\
                 "0.16, 0.2014, 0.3154, 0.5044, 0.7928, 1.213, 1.787, 2.527, 3.439, 4.528",\
                 "0.1538, 0.1936, 0.3092, 0.501, 0.792, 1.213, 1.788, 2.528, 3.439, 4.528",\
                 "0.1508, 0.1912, 0.3078, 0.4996, 0.7896, 1.211, 1.787, 2.528, 3.44, 4.525",\
                 "0.151, 0.1916, 0.3084, 0.5008, 0.7894, 1.211, 1.785, 2.524, 3.435, 4.523",\
                 "0.1522, 0.193, 0.3094, 0.502, 0.7922, 1.212, 1.785, 2.524, 3.432, 4.518",\
                 "0.1542, 0.1956, 0.3116, 0.503, 0.7906, 1.21, 1.784, 2.523, 3.43, 4.517",\
                 "0.1568, 0.1972, 0.3138, 0.5036, 0.792, 1.21, 1.784, 2.519, 3.429, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1198, 0.172, 0.364, 0.753, 1.364, 2.228, 3.356, 4.78, 6.521, 8.603",\
                 "0.1198, 0.172, 0.3638, 0.7528, 1.367, 2.226, 3.353, 4.782, 6.521, 8.603",\
                 "0.1202, 0.172, 0.3636, 0.753, 1.365, 2.227, 3.354, 4.782, 6.528, 8.595",\
                 "0.1202, 0.1718, 0.3638, 0.7522, 1.367, 2.224, 3.355, 4.783, 6.526, 8.599",\
                 "0.1204, 0.1728, 0.364, 0.7532, 1.367, 2.227, 3.354, 4.782, 6.524, 8.596",\
                 "0.1222, 0.1744, 0.3644, 0.7524, 1.366, 2.225, 3.355, 4.781, 6.526, 8.597",\
                 "0.124, 0.1766, 0.3654, 0.7528, 1.364, 2.224, 3.354, 4.782, 6.525, 8.594",\
                 "0.1278, 0.1802, 0.3676, 0.7538, 1.366, 2.223, 3.353, 4.78, 6.524, 8.597",\
                 "0.1322, 0.184, 0.369, 0.756, 1.368, 2.225, 3.352, 4.777, 6.529, 8.598",\
                 "0.1362, 0.1882, 0.3728, 0.7574, 1.369, 2.226, 3.358, 4.779, 6.516, 8.594");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.685, 0.7288, 0.8438, 1.01, 1.226, 1.505, 1.861, 2.307, 2.85, 3.497",\
                 "0.6979, 0.7418, 0.8567, 1.022, 1.239, 1.518, 1.874, 2.32, 2.863, 3.51",\
                 "0.7378, 0.7819, 0.8967, 1.062, 1.279, 1.558, 1.914, 2.36, 2.903, 3.55",\
                 "0.777, 0.8208, 0.9355, 1.101, 1.317, 1.596, 1.953, 2.398, 2.941, 3.589",\
                 "0.7988, 0.8411, 0.9533, 1.118, 1.334, 1.613, 1.97, 2.415, 2.958, 3.606",\
                 "0.7838, 0.8254, 0.9371, 1.101, 1.317, 1.596, 1.952, 2.398, 2.942, 3.589",\
                 "0.7307, 0.7719, 0.8841, 1.048, 1.264, 1.543, 1.899, 2.345, 2.888, 3.536",\
                 "0.64, 0.6824, 0.7939, 0.959, 1.175, 1.453, 1.81, 2.255, 2.798, 3.446",\
                 "0.51, 0.5521, 0.6653, 0.8302, 1.046, 1.324, 1.68, 2.125, 2.668, 3.315",\
                 "0.3378, 0.3804, 0.4935, 0.6586, 0.8749, 1.153, 1.509, 1.954, 2.497, 3.143");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.8175, 0.8562, 0.9762, 1.199, 1.548, 2.036, 2.678, 3.487, 4.477, 5.65",\
                 "0.8282, 0.8665, 0.9865, 1.21, 1.558, 2.046, 2.689, 3.498, 4.487, 5.663",\
                 "0.8659, 0.9042, 1.024, 1.248, 1.596, 2.084, 2.726, 3.536, 4.524, 5.7",\
                 "0.9533, 0.9915, 1.112, 1.335, 1.683, 2.171, 2.813, 3.623, 4.611, 5.787",\
                 "1.105, 1.144, 1.263, 1.487, 1.834, 2.323, 2.965, 3.775, 4.763, 5.94",\
                 "1.316, 1.355, 1.475, 1.698, 2.046, 2.534, 3.176, 3.986, 4.975, 6.15",\
                 "1.585, 1.624, 1.744, 1.967, 2.315, 2.802, 3.444, 4.253, 5.241, 6.417",\
                 "1.903, 1.942, 2.063, 2.285, 2.633, 3.12, 3.762, 4.57, 5.558, 6.737",\
                 "2.266, 2.306, 2.427, 2.65, 2.998, 3.485, 4.126, 4.935, 5.922, 7.099",\
                 "2.677, 2.717, 2.84, 3.062, 3.411, 3.898, 4.54, 5.349, 6.335, 7.511");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1611, 0.202, 0.316, 0.505, 0.793, 1.214, 1.789, 2.526, 3.439, 4.527",\
                 "0.1606, 0.2015, 0.3156, 0.5049, 0.7926, 1.214, 1.787, 2.526, 3.439, 4.528",\
                 "0.1613, 0.2013, 0.3158, 0.5054, 0.7932, 1.214, 1.789, 2.526, 3.439, 4.527",\
                 "0.1606, 0.202, 0.3156, 0.5054, 0.7934, 1.214, 1.788, 2.525, 3.437, 4.527",\
                 "0.1548, 0.1942, 0.3096, 0.5008, 0.7916, 1.213, 1.788, 2.526, 3.439, 4.528",\
                 "0.1512, 0.1918, 0.308, 0.5008, 0.79, 1.211, 1.787, 2.525, 3.438, 4.525",\
                 "0.1514, 0.192, 0.3088, 0.5004, 0.7908, 1.211, 1.786, 2.524, 3.433, 4.524",\
                 "0.1526, 0.1932, 0.3102, 0.502, 0.7916, 1.212, 1.785, 2.525, 3.432, 4.519",\
                 "0.1542, 0.1954, 0.3116, 0.5026, 0.7908, 1.211, 1.784, 2.522, 3.431, 4.517",\
                 "0.157, 0.1976, 0.314, 0.5034, 0.7906, 1.21, 1.783, 2.519, 3.428, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.12, 0.1719, 0.3632, 0.7522, 1.367, 2.226, 3.353, 4.783, 6.521, 8.593",\
                 "0.1201, 0.1721, 0.3639, 0.7528, 1.367, 2.226, 3.356, 4.78, 6.522, 8.602",\
                 "0.1202, 0.172, 0.3634, 0.7526, 1.366, 2.223, 3.356, 4.78, 6.523, 8.601",\
                 "0.12, 0.1722, 0.3638, 0.753, 1.366, 2.223, 3.355, 4.782, 6.528, 8.604",\
                 "0.121, 0.1728, 0.3638, 0.753, 1.367, 2.227, 3.355, 4.782, 6.522, 8.603",\
                 "0.1226, 0.1744, 0.3646, 0.7536, 1.366, 2.227, 3.354, 4.782, 6.526, 8.599",\
                 "0.1248, 0.1768, 0.3652, 0.7544, 1.364, 2.225, 3.353, 4.782, 6.524, 8.594",\
                 "0.1276, 0.1798, 0.3668, 0.7532, 1.364, 2.222, 3.354, 4.78, 6.521, 8.601",\
                 "0.1322, 0.1838, 0.3692, 0.7548, 1.365, 2.223, 3.352, 4.777, 6.529, 8.59",\
                 "0.1366, 0.188, 0.3718, 0.7574, 1.368, 2.227, 3.354, 4.778, 6.518, 8.602");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.685, 0.7288, 0.8438, 1.01, 1.226, 1.505, 1.861, 2.307, 2.85, 3.497",\
                 "0.6979, 0.7418, 0.8567, 1.022, 1.239, 1.518, 1.874, 2.32, 2.863, 3.51",\
                 "0.7378, 0.7819, 0.8967, 1.062, 1.279, 1.558, 1.914, 2.36, 2.903, 3.55",\
                 "0.777, 0.8208, 0.9355, 1.101, 1.317, 1.596, 1.953, 2.398, 2.941, 3.589",\
                 "0.7988, 0.8411, 0.9533, 1.118, 1.334, 1.613, 1.97, 2.415, 2.958, 3.606",\
                 "0.7838, 0.8254, 0.9371, 1.101, 1.317, 1.596, 1.952, 2.398, 2.942, 3.589",\
                 "0.7307, 0.7719, 0.8841, 1.048, 1.264, 1.543, 1.899, 2.345, 2.888, 3.536",\
                 "0.64, 0.6824, 0.7939, 0.959, 1.175, 1.453, 1.81, 2.255, 2.798, 3.446",\
                 "0.51, 0.5521, 0.6653, 0.8302, 1.046, 1.324, 1.68, 2.125, 2.668, 3.315",\
                 "0.3378, 0.3804, 0.4935, 0.6586, 0.8749, 1.153, 1.509, 1.954, 2.497, 3.143");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.8175, 0.8562, 0.9762, 1.199, 1.548, 2.036, 2.678, 3.487, 4.477, 5.65",\
                 "0.8282, 0.8665, 0.9865, 1.21, 1.558, 2.046, 2.689, 3.498, 4.487, 5.663",\
                 "0.8659, 0.9042, 1.024, 1.248, 1.596, 2.084, 2.726, 3.536, 4.524, 5.7",\
                 "0.9533, 0.9915, 1.112, 1.335, 1.683, 2.171, 2.813, 3.623, 4.611, 5.787",\
                 "1.105, 1.144, 1.263, 1.487, 1.834, 2.323, 2.965, 3.775, 4.763, 5.94",\
                 "1.316, 1.355, 1.475, 1.698, 2.046, 2.534, 3.176, 3.986, 4.975, 6.15",\
                 "1.585, 1.624, 1.744, 1.967, 2.315, 2.802, 3.444, 4.253, 5.241, 6.417",\
                 "1.903, 1.942, 2.063, 2.285, 2.633, 3.12, 3.762, 4.57, 5.558, 6.737",\
                 "2.266, 2.306, 2.427, 2.65, 2.998, 3.485, 4.126, 4.935, 5.922, 7.099",\
                 "2.677, 2.717, 2.84, 3.062, 3.411, 3.898, 4.54, 5.349, 6.335, 7.511");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1601, 0.2021, 0.3159, 0.5046, 0.7922, 1.214, 1.789, 2.525, 3.439, 4.528",\
                 "0.161, 0.2015, 0.316, 0.5043, 0.794, 1.214, 1.788, 2.526, 3.439, 4.527",\
                 "0.1606, 0.202, 0.3157, 0.505, 0.7926, 1.212, 1.787, 2.527, 3.437, 4.527",\
                 "0.16, 0.2014, 0.3154, 0.5044, 0.7928, 1.213, 1.787, 2.527, 3.439, 4.528",\
                 "0.1538, 0.1936, 0.3092, 0.501, 0.792, 1.213, 1.788, 2.528, 3.439, 4.528",\
                 "0.1508, 0.1912, 0.3078, 0.4996, 0.7896, 1.211, 1.787, 2.528, 3.44, 4.525",\
                 "0.151, 0.1916, 0.3084, 0.5008, 0.7894, 1.211, 1.785, 2.524, 3.435, 4.523",\
                 "0.1522, 0.193, 0.3094, 0.502, 0.7922, 1.212, 1.785, 2.524, 3.432, 4.518",\
                 "0.1542, 0.1956, 0.3116, 0.503, 0.7906, 1.21, 1.784, 2.523, 3.43, 4.517",\
                 "0.1568, 0.1972, 0.3138, 0.5036, 0.792, 1.21, 1.784, 2.519, 3.429, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.12, 0.1719, 0.3632, 0.7522, 1.367, 2.226, 3.353, 4.783, 6.521, 8.593",\
                 "0.1201, 0.1721, 0.3639, 0.7528, 1.367, 2.226, 3.356, 4.78, 6.522, 8.602",\
                 "0.1202, 0.172, 0.3634, 0.7526, 1.366, 2.223, 3.356, 4.78, 6.523, 8.601",\
                 "0.12, 0.1722, 0.3638, 0.753, 1.366, 2.223, 3.355, 4.782, 6.528, 8.604",\
                 "0.121, 0.1728, 0.3638, 0.753, 1.367, 2.227, 3.355, 4.782, 6.522, 8.603",\
                 "0.1226, 0.1744, 0.3646, 0.7536, 1.366, 2.227, 3.354, 4.782, 6.526, 8.599",\
                 "0.1248, 0.1768, 0.3652, 0.7544, 1.364, 2.225, 3.353, 4.782, 6.524, 8.594",\
                 "0.1276, 0.1798, 0.3668, 0.7532, 1.364, 2.222, 3.354, 4.78, 6.521, 8.601",\
                 "0.1322, 0.1838, 0.3692, 0.7548, 1.365, 2.223, 3.352, 4.777, 6.529, 8.59",\
                 "0.1366, 0.188, 0.3718, 0.7574, 1.368, 2.227, 3.354, 4.778, 6.518, 8.602");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.4146, 0.4561, 0.5672, 0.7299, 0.9446, 1.223, 1.579, 2.024, 2.567, 3.214",\
                 "0.4255, 0.467, 0.5778, 0.7409, 0.9555, 1.234, 1.59, 2.035, 2.578, 3.225",\
                 "0.4784, 0.5197, 0.6307, 0.7934, 1.008, 1.286, 1.642, 2.088, 2.631, 3.278",\
                 "0.6012, 0.6423, 0.7528, 0.9152, 1.13, 1.408, 1.764, 2.209, 2.752, 3.4",\
                 "0.7735, 0.8164, 0.9296, 1.095, 1.311, 1.59, 1.946, 2.391, 2.934, 3.581",\
                 "0.9829, 1.028, 1.145, 1.315, 1.534, 1.814, 2.171, 2.616, 3.159, 3.806",\
                 "1.233, 1.282, 1.405, 1.579, 1.8, 2.082, 2.44, 2.886, 3.428, 4.076",\
                 "1.523, 1.575, 1.707, 1.888, 2.115, 2.4, 2.757, 3.204, 3.747, 4.394",\
                 "1.852, 1.907, 2.048, 2.24, 2.476, 2.767, 3.127, 3.573, 4.117, 4.765",\
                 "2.22, 2.28, 2.431, 2.633, 2.88, 3.179, 3.547, 3.997, 4.54, 5.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2924, 0.3346, 0.4623, 0.6888, 1.038, 1.527, 2.169, 2.976, 3.964, 5.145",\
                 "0.3054, 0.3474, 0.4752, 0.7017, 1.051, 1.54, 2.18, 2.991, 3.978, 5.158",\
                 "0.3515, 0.3931, 0.5204, 0.7465, 1.095, 1.584, 2.227, 3.036, 4.023, 5.203",\
                 "0.4142, 0.4567, 0.585, 0.8104, 1.158, 1.647, 2.288, 3.098, 4.086, 5.265",\
                 "0.4587, 0.5021, 0.6316, 0.8571, 1.204, 1.692, 2.333, 3.143, 4.129, 5.31",\
                 "0.48, 0.5257, 0.6581, 0.8833, 1.23, 1.717, 2.358, 3.167, 4.155, 5.33",\
                 "0.4714, 0.5201, 0.6577, 0.8859, 1.23, 1.717, 2.358, 3.166, 4.154, 5.333",\
                 "0.4295, 0.481, 0.6247, 0.8571, 1.205, 1.692, 2.332, 3.139, 4.126, 5.303",\
                 "0.3514, 0.4062, 0.5564, 0.7945, 1.147, 1.638, 2.279, 3.086, 4.072, 5.247",\
                 "0.236, 0.2945, 0.4519, 0.6944, 1.05, 1.545, 2.194, 3.003, 3.988, 5.163");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1474, 0.1874, 0.3039, 0.4962, 0.7873, 1.21, 1.786, 2.527, 3.435, 4.527",\
                 "0.1468, 0.1874, 0.3039, 0.4964, 0.7878, 1.21, 1.784, 2.527, 3.438, 4.528",\
                 "0.1469, 0.1871, 0.3038, 0.4965, 0.7867, 1.209, 1.784, 2.527, 3.438, 4.527",\
                 "0.149, 0.189, 0.3058, 0.4974, 0.7874, 1.21, 1.785, 2.526, 3.435, 4.525",\
                 "0.1672, 0.2066, 0.3198, 0.5086, 0.795, 1.213, 1.786, 2.527, 3.436, 4.524",\
                 "0.1882, 0.2272, 0.3378, 0.5242, 0.807, 1.222, 1.79, 2.528, 3.438, 4.525",\
                 "0.212, 0.254, 0.3616, 0.5436, 0.8202, 1.231, 1.799, 2.532, 3.441, 4.524",\
                 "0.24, 0.2846, 0.396, 0.5738, 0.843, 1.243, 1.804, 2.537, 3.442, 4.526",\
                 "0.2702, 0.3186, 0.4362, 0.6138, 0.8808, 1.27, 1.821, 2.544, 3.447, 4.528",\
                 "0.3032, 0.3552, 0.4788, 0.658, 0.9254, 1.313, 1.854, 2.563, 3.458, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1266, 0.1826, 0.3741, 0.7565, 1.369, 2.228, 3.36, 4.784, 6.528, 8.607",\
                 "0.1271, 0.1833, 0.3742, 0.7561, 1.367, 2.227, 3.36, 4.786, 6.527, 8.603",\
                 "0.1268, 0.1836, 0.3744, 0.7567, 1.369, 2.228, 3.359, 4.786, 6.527, 8.603",\
                 "0.1344, 0.1907, 0.3795, 0.7574, 1.37, 2.227, 3.358, 4.787, 6.528, 8.6",\
                 "0.1454, 0.2008, 0.3874, 0.7628, 1.37, 2.226, 3.359, 4.787, 6.525, 8.602",\
                 "0.1628, 0.2172, 0.3996, 0.7674, 1.373, 2.231, 3.362, 4.785, 6.528, 8.607",\
                 "0.183, 0.236, 0.4174, 0.7786, 1.377, 2.233, 3.362, 4.793, 6.521, 8.604",\
                 "0.2056, 0.259, 0.4398, 0.7968, 1.391, 2.239, 3.365, 4.787, 6.537, 8.599",\
                 "0.2288, 0.285, 0.465, 0.8164, 1.412, 2.261, 3.376, 4.791, 6.527, 8.599",\
                 "0.2538, 0.3114, 0.492, 0.8414, 1.434, 2.288, 3.404, 4.809, 6.532, 8.602");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.4146, 0.4561, 0.5672, 0.7299, 0.9446, 1.223, 1.579, 2.024, 2.567, 3.214",\
                 "0.4255, 0.467, 0.5779, 0.7408, 0.9555, 1.234, 1.59, 2.035, 2.578, 3.225",\
                 "0.4784, 0.5197, 0.6307, 0.7934, 1.008, 1.286, 1.642, 2.088, 2.631, 3.278",\
                 "0.6012, 0.6423, 0.7529, 0.9152, 1.13, 1.408, 1.764, 2.209, 2.752, 3.4",\
                 "0.7735, 0.8164, 0.9296, 1.095, 1.311, 1.59, 1.946, 2.391, 2.934, 3.581",\
                 "0.9829, 1.028, 1.145, 1.314, 1.533, 1.815, 2.171, 2.616, 3.159, 3.806",\
                 "1.233, 1.282, 1.405, 1.579, 1.8, 2.082, 2.44, 2.886, 3.429, 4.076",\
                 "1.523, 1.575, 1.707, 1.888, 2.115, 2.4, 2.757, 3.203, 3.747, 4.394",\
                 "1.851, 1.907, 2.048, 2.24, 2.476, 2.767, 3.127, 3.573, 4.117, 4.765",\
                 "2.22, 2.281, 2.431, 2.633, 2.879, 3.179, 3.547, 3.997, 4.54, 5.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2924, 0.3346, 0.4623, 0.6888, 1.038, 1.527, 2.169, 2.976, 3.964, 5.145",\
                 "0.3054, 0.3474, 0.4751, 0.7017, 1.051, 1.54, 2.18, 2.991, 3.978, 5.158",\
                 "0.3513, 0.3931, 0.5204, 0.7465, 1.095, 1.585, 2.226, 3.036, 4.023, 5.203",\
                 "0.4142, 0.4567, 0.585, 0.8104, 1.158, 1.647, 2.288, 3.098, 4.086, 5.265",\
                 "0.4587, 0.5021, 0.6316, 0.8571, 1.204, 1.692, 2.333, 3.143, 4.129, 5.31",\
                 "0.48, 0.5256, 0.6585, 0.8833, 1.23, 1.717, 2.358, 3.168, 4.156, 5.331",\
                 "0.4716, 0.5198, 0.6577, 0.8859, 1.231, 1.717, 2.358, 3.166, 4.155, 5.329",\
                 "0.4294, 0.4811, 0.6247, 0.8571, 1.205, 1.692, 2.332, 3.139, 4.126, 5.302",\
                 "0.3514, 0.4062, 0.5564, 0.7945, 1.147, 1.638, 2.279, 3.086, 4.072, 5.247",\
                 "0.236, 0.2945, 0.4519, 0.6944, 1.05, 1.545, 2.194, 3.003, 3.988, 5.163");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1474, 0.1874, 0.3039, 0.4962, 0.7873, 1.21, 1.786, 2.527, 3.435, 4.527",\
                 "0.1467, 0.1873, 0.3043, 0.4964, 0.7877, 1.209, 1.784, 2.526, 3.438, 4.527",\
                 "0.1469, 0.1871, 0.3038, 0.4965, 0.7867, 1.209, 1.784, 2.527, 3.438, 4.527",\
                 "0.149, 0.1892, 0.306, 0.4974, 0.7872, 1.21, 1.785, 2.527, 3.435, 4.526",\
                 "0.1672, 0.2066, 0.3198, 0.5084, 0.7942, 1.213, 1.786, 2.528, 3.437, 4.526",\
                 "0.1882, 0.2272, 0.3378, 0.5244, 0.8072, 1.222, 1.79, 2.527, 3.438, 4.523",\
                 "0.212, 0.2534, 0.3616, 0.5438, 0.8202, 1.231, 1.799, 2.534, 3.44, 4.524",\
                 "0.2412, 0.2846, 0.3966, 0.5734, 0.8434, 1.244, 1.805, 2.537, 3.442, 4.524",\
                 "0.2708, 0.319, 0.4362, 0.6128, 0.8796, 1.27, 1.82, 2.545, 3.447, 4.528",\
                 "0.3032, 0.3552, 0.4788, 0.6588, 0.9256, 1.313, 1.853, 2.563, 3.458, 4.535");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1266, 0.1826, 0.3741, 0.7565, 1.369, 2.228, 3.36, 4.783, 6.528, 8.607",\
                 "0.1271, 0.1833, 0.3742, 0.7561, 1.367, 2.227, 3.359, 4.786, 6.527, 8.603",\
                 "0.1264, 0.1836, 0.3744, 0.7567, 1.367, 2.227, 3.357, 4.786, 6.527, 8.603",\
                 "0.1344, 0.1907, 0.3795, 0.7574, 1.37, 2.227, 3.357, 4.787, 6.528, 8.601",\
                 "0.1454, 0.2008, 0.3874, 0.7628, 1.37, 2.226, 3.359, 4.786, 6.525, 8.602",\
                 "0.1626, 0.217, 0.399, 0.7674, 1.373, 2.232, 3.362, 4.787, 6.528, 8.611",\
                 "0.1828, 0.2356, 0.4174, 0.7786, 1.377, 2.232, 3.362, 4.792, 6.526, 8.599",\
                 "0.2056, 0.259, 0.4398, 0.7968, 1.392, 2.24, 3.365, 4.787, 6.532, 8.596",\
                 "0.2288, 0.285, 0.465, 0.8164, 1.412, 2.261, 3.376, 4.791, 6.527, 8.611",\
                 "0.2538, 0.3114, 0.492, 0.8414, 1.434, 2.288, 3.404, 4.809, 6.534, 8.6");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.4146, 0.4561, 0.5672, 0.7299, 0.9446, 1.223, 1.579, 2.024, 2.567, 3.214",\
                 "0.4255, 0.467, 0.5779, 0.7408, 0.9555, 1.234, 1.59, 2.035, 2.578, 3.225",\
                 "0.4784, 0.5197, 0.6307, 0.7934, 1.008, 1.286, 1.642, 2.088, 2.631, 3.278",\
                 "0.6012, 0.6423, 0.7529, 0.9152, 1.13, 1.408, 1.764, 2.209, 2.752, 3.4",\
                 "0.7735, 0.8164, 0.9296, 1.095, 1.311, 1.59, 1.946, 2.391, 2.934, 3.581",\
                 "0.9829, 1.028, 1.145, 1.314, 1.533, 1.815, 2.171, 2.616, 3.159, 3.806",\
                 "1.233, 1.282, 1.405, 1.579, 1.8, 2.082, 2.44, 2.886, 3.429, 4.076",\
                 "1.523, 1.575, 1.707, 1.888, 2.115, 2.4, 2.757, 3.203, 3.747, 4.394",\
                 "1.851, 1.907, 2.048, 2.24, 2.476, 2.767, 3.127, 3.573, 4.117, 4.765",\
                 "2.22, 2.281, 2.431, 2.633, 2.879, 3.179, 3.547, 3.997, 4.54, 5.188");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.2924, 0.3346, 0.4623, 0.6888, 1.038, 1.527, 2.169, 2.976, 3.964, 5.145",\
                 "0.3054, 0.3474, 0.4752, 0.7017, 1.051, 1.54, 2.18, 2.991, 3.978, 5.158",\
                 "0.3515, 0.3931, 0.5204, 0.7465, 1.095, 1.584, 2.227, 3.036, 4.023, 5.203",\
                 "0.4142, 0.4567, 0.585, 0.8104, 1.158, 1.647, 2.288, 3.098, 4.086, 5.265",\
                 "0.4587, 0.5021, 0.6316, 0.8571, 1.204, 1.692, 2.333, 3.143, 4.129, 5.31",\
                 "0.48, 0.5257, 0.6581, 0.8833, 1.23, 1.717, 2.358, 3.167, 4.155, 5.33",\
                 "0.4714, 0.5201, 0.6577, 0.8859, 1.23, 1.717, 2.358, 3.166, 4.154, 5.333",\
                 "0.4295, 0.481, 0.6247, 0.8571, 1.205, 1.692, 2.332, 3.139, 4.126, 5.303",\
                 "0.3514, 0.4062, 0.5564, 0.7945, 1.147, 1.638, 2.279, 3.086, 4.072, 5.247",\
                 "0.236, 0.2945, 0.4519, 0.6944, 1.05, 1.545, 2.194, 3.003, 3.988, 5.163");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1474, 0.1874, 0.3039, 0.4962, 0.7873, 1.21, 1.786, 2.527, 3.435, 4.527",\
                 "0.1468, 0.1874, 0.3039, 0.4964, 0.7878, 1.21, 1.784, 2.527, 3.438, 4.528",\
                 "0.1469, 0.1871, 0.3038, 0.4965, 0.7867, 1.209, 1.784, 2.527, 3.438, 4.527",\
                 "0.149, 0.189, 0.3058, 0.4974, 0.7874, 1.21, 1.785, 2.526, 3.435, 4.525",\
                 "0.1672, 0.2066, 0.3198, 0.5086, 0.795, 1.213, 1.786, 2.527, 3.436, 4.524",\
                 "0.1882, 0.2272, 0.3378, 0.5242, 0.807, 1.222, 1.79, 2.528, 3.438, 4.525",\
                 "0.212, 0.254, 0.3616, 0.5436, 0.8202, 1.231, 1.799, 2.532, 3.441, 4.524",\
                 "0.24, 0.2846, 0.396, 0.5738, 0.843, 1.243, 1.804, 2.537, 3.442, 4.526",\
                 "0.2702, 0.3186, 0.4362, 0.6138, 0.8808, 1.27, 1.821, 2.544, 3.447, 4.528",\
                 "0.3032, 0.3552, 0.4788, 0.658, 0.9254, 1.313, 1.854, 2.563, 3.458, 4.536");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.00595, 0.02333, 0.05651, 0.1082, 0.1807, 0.2762, 0.3964, 0.5432, 0.7182");
          values("0.1266, 0.1826, 0.3741, 0.7565, 1.369, 2.228, 3.36, 4.783, 6.528, 8.607",\
                 "0.1271, 0.1833, 0.3742, 0.7561, 1.367, 2.227, 3.359, 4.786, 6.527, 8.603",\
                 "0.1264, 0.1836, 0.3744, 0.7567, 1.367, 2.227, 3.357, 4.786, 6.527, 8.603",\
                 "0.1344, 0.1907, 0.3795, 0.7574, 1.37, 2.227, 3.357, 4.787, 6.528, 8.601",\
                 "0.1454, 0.2008, 0.3874, 0.7628, 1.37, 2.226, 3.359, 4.786, 6.525, 8.602",\
                 "0.1626, 0.217, 0.399, 0.7674, 1.373, 2.232, 3.362, 4.787, 6.528, 8.611",\
                 "0.1828, 0.2356, 0.4174, 0.7786, 1.377, 2.232, 3.362, 4.792, 6.526, 8.599",\
                 "0.2056, 0.259, 0.4398, 0.7968, 1.392, 2.24, 3.365, 4.787, 6.532, 8.596",\
                 "0.2288, 0.285, 0.465, 0.8164, 1.412, 2.261, 3.376, 4.791, 6.527, 8.611",\
                 "0.2538, 0.3114, 0.492, 0.8414, 1.434, 2.288, 3.404, 4.809, 6.534, 8.6");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xnor3_4) {
    area : 70.246400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "0.0002023824" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "0.000200409" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "0.0001366167" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "0.0001357026" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "0.000167772" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "0.0001668579" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "0.0001681119" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "0.0001661352" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002023824" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004578 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.004841 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A3) {
      capacitance : 0.007019 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(ZN) {
      direction : output ;
      function : "(!(A1^A2^A3))" ;
      max_capacitance : 1.438 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.4565, 0.4402, 0.4115, 0.3948, 0.3854, 0.3799, 0.3763, 0.3739, 0.3723, 0.3712",\
                 "0.4563, 0.4401, 0.4114, 0.3943, 0.3849, 0.3797, 0.3762, 0.3739, 0.3721, 0.371",\
                 "0.456, 0.4397, 0.4109, 0.3942, 0.3848, 0.3792, 0.3757, 0.3733, 0.3716, 0.3705",\
                 "0.4572, 0.4408, 0.412, 0.3954, 0.386, 0.3803, 0.3768, 0.3745, 0.3729, 0.3716",\
                 "0.4607, 0.4444, 0.4156, 0.3988, 0.3894, 0.3838, 0.3804, 0.378, 0.3763, 0.3751",\
                 "0.4674, 0.4509, 0.4221, 0.4056, 0.3962, 0.3908, 0.3872, 0.3848, 0.3831, 0.3819",\
                 "0.4773, 0.4611, 0.4324, 0.4156, 0.4065, 0.4007, 0.3971, 0.3948, 0.3933, 0.3921",\
                 "0.4917, 0.4752, 0.4466, 0.4298, 0.4204, 0.4149, 0.4113, 0.409, 0.4073, 0.4061",\
                 "0.51, 0.4935, 0.4648, 0.4482, 0.4388, 0.4333, 0.4296, 0.4274, 0.4256, 0.4244",\
                 "0.5324, 0.5161, 0.4873, 0.4706, 0.4613, 0.4555, 0.452, 0.4496, 0.448, 0.4468");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.375, 0.3687, 0.3586, 0.3537, 0.3522, 0.3538, 0.3555, 0.3579, 0.3619, 0.3838",\
                 "0.3744, 0.3679, 0.3589, 0.3532, 0.3527, 0.3531, 0.3548, 0.3576, 0.3616, 0.3827",\
                 "0.3738, 0.3673, 0.3575, 0.3524, 0.3521, 0.3528, 0.3541, 0.3572, 0.3626, 0.383",\
                 "0.376, 0.3693, 0.3598, 0.3547, 0.3543, 0.3558, 0.3568, 0.3589, 0.3653, 0.3886",\
                 "0.382, 0.3756, 0.366, 0.361, 0.36, 0.3614, 0.3624, 0.365, 0.3713, 0.4006",\
                 "0.3919, 0.3854, 0.3762, 0.3708, 0.3703, 0.3709, 0.3723, 0.3756, 0.38, 0.4185",\
                 "0.4061, 0.3992, 0.3901, 0.3851, 0.3838, 0.3845, 0.3865, 0.3894, 0.3961, 0.4508",\
                 "0.4244, 0.4178, 0.408, 0.4029, 0.4022, 0.403, 0.4046, 0.4081, 0.4172, 0.501",\
                 "0.4478, 0.4415, 0.4319, 0.4257, 0.4248, 0.4294, 0.4291, 0.4313, 0.449, 0.588",\
                 "0.4765, 0.4697, 0.4597, 0.4543, 0.4523, 0.4541, 0.4601, 0.4629, 0.4979, 0.7478");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.4217, 0.4046, 0.3732, 0.3539, 0.3426, 0.3358, 0.3314, 0.3285, 0.3266, 0.3252",\
                 "0.4209, 0.4039, 0.3724, 0.3528, 0.3416, 0.3349, 0.3306, 0.3278, 0.3258, 0.3244",\
                 "0.4204, 0.4034, 0.3719, 0.3523, 0.341, 0.3344, 0.3301, 0.3272, 0.3253, 0.3238",\
                 "0.4225, 0.4055, 0.3739, 0.3543, 0.3432, 0.3365, 0.3322, 0.3294, 0.3274, 0.3259",\
                 "0.4285, 0.4115, 0.38, 0.3604, 0.3491, 0.3425, 0.3383, 0.3354, 0.3334, 0.3319",\
                 "0.4386, 0.4215, 0.3899, 0.3706, 0.3594, 0.3526, 0.3483, 0.3454, 0.3434, 0.342",\
                 "0.4525, 0.4357, 0.404, 0.3847, 0.3735, 0.3666, 0.3623, 0.3595, 0.3575, 0.3561",\
                 "0.4714, 0.4544, 0.423, 0.4034, 0.392, 0.3853, 0.381, 0.3782, 0.3763, 0.3748",\
                 "0.4952, 0.4781, 0.4467, 0.427, 0.4158, 0.409, 0.4046, 0.4017, 0.3998, 0.3984",\
                 "0.5242, 0.5069, 0.4753, 0.4557, 0.4445, 0.4376, 0.4332, 0.4303, 0.4283, 0.4269");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3584, 0.3475, 0.3335, 0.3242, 0.3195, 0.3192, 0.3208, 0.3226, 0.3262, 0.346",\
                 "0.358, 0.3475, 0.3331, 0.3239, 0.3204, 0.3185, 0.3198, 0.3216, 0.3239, 0.3443",\
                 "0.3579, 0.3471, 0.3325, 0.3235, 0.3195, 0.3198, 0.3208, 0.3229, 0.326, 0.3455",\
                 "0.3591, 0.3485, 0.3344, 0.325, 0.3207, 0.3205, 0.3218, 0.3233, 0.3253, 0.3539",\
                 "0.3624, 0.3516, 0.337, 0.3281, 0.3238, 0.3241, 0.3248, 0.3262, 0.33, 0.3605",\
                 "0.3674, 0.357, 0.3435, 0.334, 0.3298, 0.3294, 0.3307, 0.3337, 0.336, 0.369",\
                 "0.3768, 0.367, 0.3524, 0.3432, 0.3413, 0.3403, 0.3406, 0.3433, 0.348, 0.3848",\
                 "0.3908, 0.3805, 0.3663, 0.3569, 0.3524, 0.3548, 0.3575, 0.3594, 0.3627, 0.4082",\
                 "0.409, 0.3989, 0.3848, 0.3762, 0.3716, 0.3697, 0.3726, 0.3802, 0.3854, 0.4474",\
                 "0.4316, 0.4213, 0.4071, 0.3974, 0.3935, 0.3908, 0.3924, 0.3979, 0.4143, 0.502");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.441, 0.4246, 0.396, 0.3793, 0.3698, 0.3643, 0.3607, 0.3583, 0.3567, 0.3556",\
                 "0.4407, 0.4243, 0.3956, 0.3789, 0.3694, 0.3639, 0.3603, 0.358, 0.3563, 0.3551",\
                 "0.4404, 0.424, 0.3953, 0.3783, 0.3689, 0.3635, 0.3601, 0.3578, 0.3559, 0.3548",\
                 "0.4419, 0.4254, 0.3967, 0.38, 0.3705, 0.3649, 0.3613, 0.3592, 0.3573, 0.3562",\
                 "0.4464, 0.4299, 0.401, 0.3842, 0.3748, 0.3695, 0.366, 0.3637, 0.362, 0.3607",\
                 "0.4543, 0.4379, 0.4093, 0.3924, 0.3831, 0.3775, 0.3741, 0.3717, 0.3701, 0.3688",\
                 "0.4661, 0.4497, 0.4208, 0.404, 0.3948, 0.3892, 0.3857, 0.3833, 0.3817, 0.3805",\
                 "0.4813, 0.4648, 0.436, 0.4194, 0.4099, 0.4044, 0.4008, 0.3984, 0.3968, 0.3955",\
                 "0.5003, 0.484, 0.4553, 0.4384, 0.4293, 0.4236, 0.42, 0.4176, 0.416, 0.4148",\
                 "0.5238, 0.5076, 0.4787, 0.4621, 0.4527, 0.4468, 0.4432, 0.441, 0.4393, 0.4381");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3017, 0.295, 0.2857, 0.2805, 0.2794, 0.2804, 0.2821, 0.2848, 0.2885, 0.3058",\
                 "0.3018, 0.295, 0.2857, 0.2803, 0.2792, 0.2804, 0.2818, 0.2842, 0.2904, 0.3057",\
                 "0.3016, 0.2951, 0.2852, 0.2807, 0.2793, 0.2804, 0.2821, 0.2835, 0.2904, 0.3073",\
                 "0.3033, 0.2971, 0.2873, 0.2821, 0.281, 0.2821, 0.2837, 0.2865, 0.2905, 0.311",\
                 "0.3073, 0.3008, 0.2911, 0.2862, 0.2847, 0.286, 0.2877, 0.2898, 0.2942, 0.3186",\
                 "0.3136, 0.3066, 0.2975, 0.2919, 0.2903, 0.2916, 0.293, 0.2966, 0.3005, 0.3316",\
                 "0.3223, 0.3157, 0.3055, 0.3006, 0.3008, 0.3012, 0.3032, 0.3052, 0.3099, 0.35",\
                 "0.335, 0.3284, 0.3186, 0.3129, 0.3107, 0.3144, 0.3161, 0.318, 0.324, 0.3718",\
                 "0.3506, 0.344, 0.3342, 0.3283, 0.3265, 0.3276, 0.3316, 0.3369, 0.3441, 0.4119",\
                 "0.3698, 0.3634, 0.3538, 0.347, 0.3461, 0.3457, 0.3471, 0.3552, 0.3705, 0.4655");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3493, 0.3322, 0.3006, 0.2807, 0.2692, 0.2625, 0.2581, 0.2552, 0.2532, 0.2518",\
                 "0.3492, 0.3321, 0.3004, 0.2806, 0.269, 0.2622, 0.2579, 0.255, 0.253, 0.2516",\
                 "0.3491, 0.3321, 0.3004, 0.2805, 0.2691, 0.2624, 0.258, 0.2551, 0.2531, 0.2517",\
                 "0.3512, 0.334, 0.3023, 0.2825, 0.2709, 0.2642, 0.2598, 0.2568, 0.255, 0.2535",\
                 "0.3561, 0.3389, 0.307, 0.2871, 0.2757, 0.2687, 0.2643, 0.2613, 0.2593, 0.2578",\
                 "0.364, 0.3468, 0.3146, 0.2942, 0.2826, 0.2756, 0.2712, 0.2681, 0.2661, 0.2647",\
                 "0.3759, 0.3585, 0.3259, 0.305, 0.2932, 0.2861, 0.2816, 0.2784, 0.2764, 0.275",\
                 "0.3925, 0.3748, 0.3417, 0.3205, 0.3078, 0.3005, 0.2958, 0.2928, 0.2907, 0.2891",\
                 "0.4133, 0.3955, 0.3616, 0.3393, 0.3263, 0.3188, 0.3139, 0.3107, 0.3086, 0.307",\
                 "0.4384, 0.4203, 0.3853, 0.3625, 0.3489, 0.3409, 0.3358, 0.3325, 0.3302, 0.3286");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3395, 0.3289, 0.3156, 0.3064, 0.3027, 0.3021, 0.3035, 0.3059, 0.3082, 0.3275",\
                 "0.3392, 0.3288, 0.3152, 0.306, 0.3029, 0.3018, 0.3038, 0.3066, 0.3085, 0.3274",\
                 "0.3389, 0.3285, 0.3143, 0.3058, 0.3024, 0.3025, 0.3055, 0.3052, 0.3069, 0.3264",\
                 "0.3403, 0.3299, 0.3163, 0.3075, 0.3041, 0.3034, 0.3068, 0.3069, 0.3086, 0.3327",\
                 "0.3445, 0.3343, 0.3199, 0.3114, 0.3081, 0.3081, 0.3107, 0.3124, 0.3139, 0.3408",\
                 "0.3544, 0.3439, 0.3299, 0.3205, 0.317, 0.3173, 0.3196, 0.3203, 0.3226, 0.3591",\
                 "0.3702, 0.3599, 0.345, 0.3359, 0.3311, 0.3292, 0.3312, 0.3318, 0.3417, 0.3862",\
                 "0.3901, 0.3784, 0.3633, 0.3535, 0.3492, 0.3477, 0.3484, 0.3505, 0.3578, 0.4361",\
                 "0.415, 0.4034, 0.3876, 0.3762, 0.3708, 0.3698, 0.3705, 0.3708, 0.3865, 0.5201",\
                 "0.4461, 0.434, 0.4164, 0.4048, 0.3976, 0.3955, 0.3985, 0.4007, 0.4345, 0.6753");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.4459, 0.4294, 0.4007, 0.384, 0.3746, 0.3691, 0.3655, 0.3631, 0.3613, 0.3604",\
                 "0.4461, 0.4297, 0.4009, 0.384, 0.3747, 0.3691, 0.3656, 0.3632, 0.3615, 0.3604",\
                 "0.4463, 0.43, 0.4012, 0.3843, 0.375, 0.3694, 0.3659, 0.3638, 0.3618, 0.3607",\
                 "0.4479, 0.4317, 0.4028, 0.3862, 0.3768, 0.371, 0.3675, 0.3651, 0.3635, 0.3623",\
                 "0.4514, 0.435, 0.4062, 0.3897, 0.3804, 0.3744, 0.371, 0.3686, 0.3671, 0.3658",\
                 "0.4574, 0.441, 0.4122, 0.3955, 0.3863, 0.3807, 0.3771, 0.3748, 0.3732, 0.372",\
                 "0.4662, 0.4498, 0.4211, 0.4046, 0.3953, 0.3895, 0.386, 0.3836, 0.3819, 0.3807",\
                 "0.4782, 0.462, 0.4332, 0.4165, 0.4071, 0.4015, 0.398, 0.3956, 0.3939, 0.3927",\
                 "0.4936, 0.477, 0.4484, 0.4319, 0.4223, 0.4168, 0.413, 0.4109, 0.4092, 0.4081",\
                 "0.5124, 0.4961, 0.4673, 0.4506, 0.4413, 0.4358, 0.4319, 0.4295, 0.428, 0.4269");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3709, 0.3644, 0.3558, 0.35, 0.3486, 0.3492, 0.3515, 0.3536, 0.3576, 0.3812",\
                 "0.37, 0.3633, 0.3535, 0.3488, 0.3486, 0.3492, 0.3508, 0.3536, 0.3576, 0.3781",\
                 "0.3703, 0.3637, 0.3539, 0.3492, 0.3479, 0.3492, 0.3505, 0.3533, 0.3569, 0.3793",\
                 "0.373, 0.3666, 0.3571, 0.3522, 0.3515, 0.3518, 0.3538, 0.3559, 0.36, 0.3853",\
                 "0.3788, 0.3725, 0.3627, 0.3577, 0.3573, 0.3577, 0.3591, 0.3624, 0.3683, 0.3999",\
                 "0.3875, 0.3811, 0.371, 0.3665, 0.3659, 0.3663, 0.3677, 0.3713, 0.3754, 0.4167",\
                 "0.3994, 0.393, 0.3832, 0.3783, 0.3777, 0.3789, 0.3799, 0.3828, 0.3893, 0.4481",\
                 "0.4147, 0.4081, 0.3991, 0.3934, 0.3927, 0.3934, 0.3947, 0.3979, 0.4081, 0.503",\
                 "0.4343, 0.4278, 0.4194, 0.413, 0.4123, 0.4138, 0.4158, 0.4171, 0.4375, 0.5912",\
                 "0.458, 0.4517, 0.4423, 0.4354, 0.434, 0.4363, 0.4423, 0.4458, 0.4879, 0.7673");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.4175, 0.4003, 0.369, 0.3494, 0.3381, 0.3314, 0.3271, 0.3242, 0.3223, 0.3209",\
                 "0.4166, 0.3996, 0.3681, 0.3484, 0.3373, 0.3307, 0.3263, 0.3235, 0.3215, 0.3201",\
                 "0.4168, 0.3998, 0.3683, 0.3487, 0.3375, 0.3309, 0.3265, 0.3237, 0.3217, 0.3203",\
                 "0.4197, 0.4026, 0.3711, 0.3516, 0.3403, 0.3337, 0.3293, 0.3265, 0.3245, 0.3231",\
                 "0.4254, 0.4084, 0.3769, 0.3573, 0.346, 0.3394, 0.3351, 0.3322, 0.3303, 0.3289",\
                 "0.434, 0.417, 0.3855, 0.3661, 0.3547, 0.3482, 0.344, 0.341, 0.339, 0.3376",\
                 "0.4462, 0.4292, 0.3975, 0.378, 0.3669, 0.3601, 0.3557, 0.3528, 0.3508, 0.3494",\
                 "0.4616, 0.4446, 0.4131, 0.3936, 0.3823, 0.3756, 0.3712, 0.3684, 0.3664, 0.365",\
                 "0.4813, 0.4643, 0.4328, 0.4134, 0.4023, 0.3955, 0.3911, 0.3882, 0.3862, 0.3847",\
                 "0.5055, 0.4884, 0.4569, 0.4371, 0.4261, 0.4193, 0.415, 0.4119, 0.4102, 0.4087");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3444, 0.3342, 0.3201, 0.3114, 0.3075, 0.3071, 0.3088, 0.3112, 0.3132, 0.3346",\
                 "0.3446, 0.3342, 0.3207, 0.3114, 0.3085, 0.3081, 0.3088, 0.3115, 0.3135, 0.3336",\
                 "0.3449, 0.3344, 0.321, 0.3119, 0.3085, 0.3087, 0.3094, 0.3125, 0.3142, 0.3348",\
                 "0.3463, 0.3358, 0.3222, 0.3132, 0.3099, 0.3107, 0.3127, 0.3142, 0.3178, 0.3373",\
                 "0.35, 0.3396, 0.3254, 0.3167, 0.3135, 0.313, 0.3154, 0.3168, 0.3189, 0.3462",\
                 "0.3556, 0.3458, 0.3319, 0.3232, 0.3197, 0.3193, 0.3213, 0.3221, 0.3252, 0.357",\
                 "0.3648, 0.3544, 0.3401, 0.3306, 0.3289, 0.3285, 0.3289, 0.3322, 0.3362, 0.3699",\
                 "0.3769, 0.3667, 0.3527, 0.3432, 0.3388, 0.3407, 0.3437, 0.345, 0.3479, 0.3924",\
                 "0.3921, 0.3819, 0.3682, 0.3581, 0.3545, 0.3533, 0.3573, 0.3642, 0.368, 0.4232",\
                 "0.411, 0.4007, 0.3867, 0.3778, 0.3729, 0.3714, 0.3701, 0.3776, 0.3925, 0.4734");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.4479, 0.4317, 0.4029, 0.3864, 0.3769, 0.3712, 0.3675, 0.3653, 0.3636, 0.3626",\
                 "0.4478, 0.4313, 0.4026, 0.3857, 0.3764, 0.3708, 0.3672, 0.365, 0.3633, 0.3621",\
                 "0.4476, 0.4313, 0.4027, 0.3858, 0.3764, 0.3708, 0.3673, 0.3652, 0.3633, 0.3621",\
                 "0.4495, 0.4331, 0.4043, 0.3874, 0.3782, 0.3726, 0.369, 0.3667, 0.365, 0.3638",\
                 "0.4541, 0.4377, 0.409, 0.392, 0.3826, 0.3771, 0.3737, 0.3714, 0.3695, 0.3684",\
                 "0.4623, 0.4459, 0.4173, 0.4003, 0.3911, 0.3856, 0.382, 0.3796, 0.378, 0.3768",\
                 "0.4743, 0.4579, 0.4291, 0.4124, 0.4029, 0.3975, 0.3939, 0.3916, 0.39, 0.3889",\
                 "0.4902, 0.4738, 0.445, 0.4283, 0.419, 0.4134, 0.4098, 0.4073, 0.4058, 0.4046",\
                 "0.5099, 0.4936, 0.4646, 0.448, 0.4385, 0.433, 0.4295, 0.4271, 0.4256, 0.4243",\
                 "0.5343, 0.518, 0.4889, 0.4721, 0.463, 0.4573, 0.4537, 0.4513, 0.4497, 0.4484");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3046, 0.2976, 0.2882, 0.2834, 0.2817, 0.2831, 0.2857, 0.2872, 0.2931, 0.3091",\
                 "0.3047, 0.2979, 0.2885, 0.2831, 0.2822, 0.2834, 0.2851, 0.2875, 0.2931, 0.3094",\
                 "0.305, 0.2982, 0.2889, 0.2834, 0.2824, 0.2834, 0.2851, 0.2878, 0.2911, 0.3103",\
                 "0.3063, 0.2997, 0.2901, 0.285, 0.2846, 0.2854, 0.2864, 0.2895, 0.2931, 0.314",\
                 "0.3096, 0.3031, 0.2938, 0.2887, 0.288, 0.2883, 0.2897, 0.2931, 0.2991, 0.3203",\
                 "0.3156, 0.3091, 0.2998, 0.2937, 0.2931, 0.2943, 0.2963, 0.2987, 0.3032, 0.332",\
                 "0.3248, 0.3177, 0.3083, 0.3019, 0.3034, 0.3038, 0.3055, 0.3085, 0.3122, 0.3475",\
                 "0.337, 0.33, 0.3203, 0.3143, 0.3124, 0.3167, 0.3194, 0.32, 0.3252, 0.3714",\
                 "0.3524, 0.3458, 0.3365, 0.3298, 0.3269, 0.3299, 0.3332, 0.3382, 0.346, 0.4068",\
                 "0.3716, 0.3649, 0.3563, 0.3496, 0.3481, 0.3467, 0.3478, 0.3552, 0.374, 0.4599");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3519, 0.3349, 0.3031, 0.2832, 0.2718, 0.265, 0.2607, 0.2578, 0.2558, 0.2543",\
                 "0.352, 0.3349, 0.3032, 0.2834, 0.2719, 0.2652, 0.2608, 0.2579, 0.2559, 0.2544",\
                 "0.3524, 0.3352, 0.3034, 0.2836, 0.2722, 0.2655, 0.2611, 0.2582, 0.2562, 0.2547",\
                 "0.3539, 0.3367, 0.305, 0.2851, 0.2736, 0.2669, 0.2625, 0.2597, 0.2577, 0.2562",\
                 "0.3582, 0.3412, 0.3092, 0.2891, 0.2779, 0.271, 0.2665, 0.2635, 0.2615, 0.26",\
                 "0.3657, 0.3486, 0.3164, 0.2962, 0.2846, 0.2776, 0.2731, 0.2701, 0.268, 0.2666",\
                 "0.3774, 0.36, 0.3275, 0.3066, 0.2947, 0.2876, 0.283, 0.28, 0.2779, 0.2765",\
                 "0.3936, 0.3759, 0.3427, 0.3214, 0.3088, 0.3016, 0.2968, 0.2936, 0.2916, 0.2901",\
                 "0.4141, 0.3961, 0.362, 0.3397, 0.3269, 0.3192, 0.3143, 0.311, 0.309, 0.3074",\
                 "0.4385, 0.4203, 0.3855, 0.3621, 0.349, 0.3411, 0.336, 0.3326, 0.3303, 0.3287");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.35, 0.3393, 0.3248, 0.3153, 0.3117, 0.3109, 0.3129, 0.3144, 0.3167, 0.3379",\
                 "0.3497, 0.3391, 0.3247, 0.3153, 0.3112, 0.3102, 0.3119, 0.3137, 0.3157, 0.3349",\
                 "0.3495, 0.339, 0.3242, 0.3151, 0.3114, 0.3116, 0.3139, 0.314, 0.316, 0.3371",\
                 "0.3512, 0.3404, 0.3258, 0.3167, 0.3131, 0.3126, 0.3156, 0.3144, 0.3227, 0.3408",\
                 "0.3555, 0.3451, 0.3303, 0.3211, 0.3167, 0.3159, 0.3179, 0.3203, 0.3221, 0.3499",\
                 "0.3653, 0.3549, 0.3402, 0.3307, 0.3261, 0.3258, 0.3271, 0.3284, 0.3331, 0.3687",\
                 "0.3814, 0.3701, 0.3553, 0.3448, 0.3401, 0.339, 0.3403, 0.3426, 0.3486, 0.3993",\
                 "0.4019, 0.3906, 0.3744, 0.3637, 0.3593, 0.3574, 0.3588, 0.3603, 0.3673, 0.4501",\
                 "0.4269, 0.4153, 0.3988, 0.3866, 0.3813, 0.3809, 0.3809, 0.3818, 0.3988, 0.5381",\
                 "0.4579, 0.4456, 0.4281, 0.4152, 0.4088, 0.4066, 0.4093, 0.4103, 0.4502, 0.7111");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3599, 0.3428, 0.3114, 0.2921, 0.2809, 0.2743, 0.27, 0.2671, 0.2651, 0.2638",\
                 "0.3596, 0.3426, 0.3115, 0.292, 0.2807, 0.274, 0.2697, 0.2669, 0.2649, 0.2635",\
                 "0.3586, 0.3416, 0.3102, 0.2907, 0.2796, 0.273, 0.2686, 0.2658, 0.2638, 0.2624",\
                 "0.3583, 0.3413, 0.31, 0.2906, 0.2794, 0.2728, 0.2685, 0.2656, 0.2637, 0.2623",\
                 "0.3573, 0.3406, 0.3102, 0.2918, 0.2814, 0.2751, 0.2711, 0.2683, 0.2664, 0.2651",\
                 "0.3618, 0.345, 0.315, 0.297, 0.2873, 0.2811, 0.2773, 0.2748, 0.273, 0.2717",\
                 "0.3723, 0.3556, 0.3258, 0.3079, 0.2982, 0.2922, 0.2884, 0.2859, 0.2841, 0.2829",\
                 "0.3892, 0.3722, 0.3422, 0.3242, 0.3141, 0.3081, 0.3043, 0.302, 0.3004, 0.299",\
                 "0.4113, 0.3945, 0.364, 0.3457, 0.3357, 0.3296, 0.3257, 0.3231, 0.3212, 0.32",\
                 "0.4393, 0.4224, 0.3914, 0.3728, 0.3623, 0.3559, 0.3518, 0.3492, 0.3473, 0.3461");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3094, 0.3029, 0.2934, 0.2883, 0.2872, 0.2883, 0.2906, 0.2931, 0.296, 0.3125",\
                 "0.3088, 0.3024, 0.2928, 0.2877, 0.2867, 0.288, 0.289, 0.2924, 0.295, 0.3112",\
                 "0.3082, 0.3017, 0.2918, 0.2872, 0.2862, 0.288, 0.289, 0.2914, 0.2973, 0.3121",\
                 "0.3101, 0.3034, 0.294, 0.2885, 0.2875, 0.2886, 0.29, 0.2934, 0.2967, 0.3155",\
                 "0.3164, 0.3101, 0.2999, 0.2948, 0.2938, 0.2946, 0.2962, 0.2977, 0.3027, 0.3254",\
                 "0.3276, 0.3206, 0.3107, 0.3047, 0.3034, 0.3045, 0.3061, 0.3088, 0.3134, 0.3458",\
                 "0.3448, 0.3373, 0.3272, 0.3215, 0.3205, 0.3206, 0.322, 0.3249, 0.3294, 0.3723",\
                 "0.3684, 0.361, 0.3494, 0.3427, 0.3406, 0.3427, 0.3438, 0.3451, 0.3526, 0.417",\
                 "0.3995, 0.3914, 0.3794, 0.3714, 0.3676, 0.3691, 0.3738, 0.373, 0.3839, 0.4918",\
                 "0.437, 0.4284, 0.4156, 0.4055, 0.4011, 0.4005, 0.4038, 0.4091, 0.4338, 0.6267");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.324, 0.3076, 0.2787, 0.2621, 0.2527, 0.2471, 0.2435, 0.2412, 0.2396, 0.2383",\
                 "0.3233, 0.3068, 0.2782, 0.2614, 0.2519, 0.2464, 0.2429, 0.2405, 0.2388, 0.2377",\
                 "0.3225, 0.306, 0.2774, 0.2606, 0.2512, 0.2457, 0.2422, 0.2398, 0.2381, 0.2369",\
                 "0.3268, 0.3102, 0.2811, 0.264, 0.2545, 0.2489, 0.2454, 0.2431, 0.2415, 0.2403",\
                 "0.3515, 0.3337, 0.3009, 0.2802, 0.2685, 0.2615, 0.257, 0.254, 0.2521, 0.2507",\
                 "0.3935, 0.3732, 0.3348, 0.3084, 0.2926, 0.2833, 0.277, 0.273, 0.2706, 0.2685",\
                 "0.4451, 0.4231, 0.3786, 0.346, 0.3263, 0.3139, 0.3057, 0.3004, 0.2968, 0.2943",\
                 "0.5095, 0.4859, 0.4348, 0.3957, 0.3711, 0.3544, 0.3442, 0.3372, 0.3322, 0.3288",\
                 "0.5881, 0.5626, 0.506, 0.4588, 0.4279, 0.4073, 0.3936, 0.3841, 0.3777, 0.3731",\
                 "0.6805, 0.6535, 0.5912, 0.5355, 0.4979, 0.4723, 0.4546, 0.4423, 0.4337, 0.4276");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1887, 0.1816, 0.1733, 0.1703, 0.1704, 0.1724, 0.1741, 0.1775, 0.1801, 0.1933",\
                 "0.1887, 0.1817, 0.1732, 0.1702, 0.1703, 0.1724, 0.1741, 0.1775, 0.1801, 0.193",\
                 "0.1889, 0.1822, 0.1736, 0.1704, 0.1704, 0.1721, 0.1738, 0.1782, 0.1811, 0.1945",\
                 "0.201, 0.1932, 0.1821, 0.1761, 0.1747, 0.1757, 0.1767, 0.1795, 0.1841, 0.1984",\
                 "0.2255, 0.2147, 0.2006, 0.1911, 0.1859, 0.1856, 0.1857, 0.1891, 0.1927, 0.2087",\
                 "0.2607, 0.2469, 0.2278, 0.2133, 0.2074, 0.2034, 0.2022, 0.2033, 0.2063, 0.2274",\
                 "0.308, 0.2908, 0.2666, 0.2465, 0.2345, 0.2331, 0.2295, 0.227, 0.2285, 0.2562",\
                 "0.3671, 0.3457, 0.3159, 0.2913, 0.2735, 0.2655, 0.2645, 0.2625, 0.2643, 0.2961",\
                 "0.4378, 0.4126, 0.3766, 0.3464, 0.3233, 0.3114, 0.3038, 0.3054, 0.3068, 0.3542",\
                 "0.5191, 0.4912, 0.4468, 0.4131, 0.3874, 0.3684, 0.3536, 0.3525, 0.3628, 0.4341");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.324, 0.3076, 0.2787, 0.2621, 0.2527, 0.2471, 0.2435, 0.2412, 0.2396, 0.2383",\
                 "0.3233, 0.3068, 0.2782, 0.2614, 0.252, 0.2465, 0.2429, 0.2406, 0.2388, 0.2377",\
                 "0.3225, 0.3061, 0.2774, 0.2606, 0.2513, 0.2456, 0.2421, 0.2398, 0.2381, 0.2369",\
                 "0.3268, 0.3102, 0.2811, 0.2638, 0.2545, 0.2489, 0.2454, 0.2432, 0.2413, 0.2402",\
                 "0.3515, 0.3335, 0.301, 0.2801, 0.2685, 0.2615, 0.257, 0.254, 0.2521, 0.2507",\
                 "0.3935, 0.3732, 0.3348, 0.3084, 0.2926, 0.2833, 0.277, 0.2732, 0.2703, 0.2685",\
                 "0.4451, 0.4231, 0.3783, 0.3461, 0.326, 0.3137, 0.3056, 0.3004, 0.2969, 0.2943",\
                 "0.5095, 0.4859, 0.435, 0.3958, 0.3708, 0.3548, 0.3442, 0.3372, 0.3322, 0.329",\
                 "0.5881, 0.5626, 0.5061, 0.4588, 0.4279, 0.4073, 0.3936, 0.3841, 0.3777, 0.3731",\
                 "0.6805, 0.6535, 0.5912, 0.5355, 0.4977, 0.4723, 0.4546, 0.4422, 0.4337, 0.4276");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1887, 0.1816, 0.1733, 0.1703, 0.1704, 0.1724, 0.1741, 0.1775, 0.1801, 0.1933",\
                 "0.1887, 0.1817, 0.1732, 0.1702, 0.1703, 0.1724, 0.1741, 0.1775, 0.1801, 0.193",\
                 "0.1889, 0.182, 0.1736, 0.1703, 0.17, 0.1721, 0.1738, 0.1775, 0.1798, 0.1939",\
                 "0.201, 0.1932, 0.1821, 0.1763, 0.1744, 0.1757, 0.1777, 0.1805, 0.1834, 0.1993",\
                 "0.2255, 0.2147, 0.2006, 0.1912, 0.1859, 0.1856, 0.1857, 0.1891, 0.1927, 0.2087",\
                 "0.2606, 0.2469, 0.2271, 0.2137, 0.2079, 0.2034, 0.2025, 0.2019, 0.2063, 0.2268",\
                 "0.3081, 0.2908, 0.2659, 0.2463, 0.2355, 0.2331, 0.2292, 0.2282, 0.2295, 0.2565",\
                 "0.3671, 0.3459, 0.3158, 0.2913, 0.2734, 0.2655, 0.2649, 0.2625, 0.2639, 0.2961",\
                 "0.4378, 0.4126, 0.3763, 0.3464, 0.3233, 0.3114, 0.3038, 0.3058, 0.3068, 0.3542",\
                 "0.5191, 0.4912, 0.4469, 0.4131, 0.3867, 0.3684, 0.3549, 0.3525, 0.3628, 0.436");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3604, 0.3433, 0.3118, 0.2923, 0.2811, 0.2744, 0.2701, 0.2671, 0.2652, 0.2638",\
                 "0.3601, 0.3431, 0.3118, 0.2922, 0.2807, 0.2741, 0.2698, 0.267, 0.2649, 0.2636",\
                 "0.3591, 0.342, 0.3104, 0.291, 0.2797, 0.273, 0.2687, 0.2659, 0.2639, 0.2625",\
                 "0.3587, 0.3417, 0.3104, 0.2908, 0.2796, 0.273, 0.2686, 0.2657, 0.2637, 0.2623",\
                 "0.3578, 0.3411, 0.3105, 0.2919, 0.2816, 0.2752, 0.2711, 0.2684, 0.2665, 0.2652",\
                 "0.3622, 0.3454, 0.3154, 0.2974, 0.2875, 0.2813, 0.2774, 0.2749, 0.2731, 0.2719",\
                 "0.3727, 0.3559, 0.3262, 0.3084, 0.2983, 0.2924, 0.2886, 0.2859, 0.2842, 0.2829",\
                 "0.3894, 0.3724, 0.3426, 0.3246, 0.3141, 0.3085, 0.3046, 0.3021, 0.3003, 0.2991",\
                 "0.4116, 0.3948, 0.3642, 0.346, 0.3358, 0.3295, 0.3256, 0.3231, 0.3214, 0.3201",\
                 "0.4395, 0.4226, 0.3915, 0.3727, 0.362, 0.3559, 0.3519, 0.3491, 0.3474, 0.3461");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3095, 0.3032, 0.2932, 0.2885, 0.2873, 0.2886, 0.29, 0.2924, 0.2956, 0.3145",\
                 "0.3089, 0.3023, 0.2928, 0.2877, 0.2866, 0.288, 0.2893, 0.2924, 0.2943, 0.3112",\
                 "0.3081, 0.3017, 0.2923, 0.2874, 0.2858, 0.2873, 0.2883, 0.2914, 0.295, 0.3124",\
                 "0.3101, 0.3034, 0.294, 0.2888, 0.2875, 0.2886, 0.29, 0.2931, 0.296, 0.3155",\
                 "0.3165, 0.3099, 0.2999, 0.2946, 0.2941, 0.2942, 0.2959, 0.2993, 0.3027, 0.3247",\
                 "0.3275, 0.3213, 0.3115, 0.3056, 0.3032, 0.3048, 0.3058, 0.3088, 0.3127, 0.3441",\
                 "0.3445, 0.3378, 0.3265, 0.3216, 0.3204, 0.3203, 0.322, 0.3246, 0.329, 0.3719",\
                 "0.3684, 0.3614, 0.3502, 0.3426, 0.341, 0.3427, 0.3438, 0.3451, 0.3536, 0.4164",\
                 "0.3997, 0.3914, 0.3792, 0.3706, 0.3674, 0.3688, 0.3725, 0.374, 0.3835, 0.4883",\
                 "0.4373, 0.4285, 0.4157, 0.406, 0.4012, 0.4002, 0.4032, 0.4081, 0.4342, 0.623");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.891, 1.943, 2.076, 2.264, 2.5, 2.793, 3.157, 3.606, 4.151, 4.8",\
                 "1.905, 1.957, 2.089, 2.278, 2.514, 2.807, 3.171, 3.62, 4.165, 4.814",\
                 "1.939, 1.992, 2.124, 2.312, 2.548, 2.841, 3.205, 3.654, 4.199, 4.848",\
                 "1.957, 2.009, 2.142, 2.33, 2.566, 2.859, 3.223, 3.672, 4.217, 4.865",\
                 "1.942, 1.995, 2.127, 2.315, 2.551, 2.844, 3.208, 3.657, 4.202, 4.851",\
                 "1.895, 1.947, 2.08, 2.268, 2.504, 2.797, 3.161, 3.61, 4.155, 4.803",\
                 "1.789, 1.842, 1.974, 2.162, 2.399, 2.692, 3.056, 3.505, 4.05, 4.699",\
                 "1.63, 1.682, 1.815, 2.003, 2.239, 2.532, 2.896, 3.345, 3.89, 4.538",\
                 "1.416, 1.467, 1.599, 1.788, 2.023, 2.316, 2.68, 3.129, 3.674, 4.323",\
                 "1.144, 1.196, 1.329, 1.516, 1.752, 2.045, 2.409, 2.859, 3.403, 4.052");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.91, 1.954, 2.081, 2.304, 2.652, 3.14, 3.784, 4.594, 5.585, 6.765",\
                 "1.917, 1.961, 2.088, 2.311, 2.659, 3.147, 3.791, 4.6, 5.591, 6.772",\
                 "1.954, 1.998, 2.125, 2.348, 2.696, 3.184, 3.827, 4.638, 5.627, 6.808",\
                 "2.052, 2.096, 2.222, 2.446, 2.793, 3.282, 3.925, 4.736, 5.724, 6.906",\
                 "2.227, 2.271, 2.398, 2.621, 2.969, 3.457, 4.1, 4.911, 5.9, 7.082",\
                 "2.474, 2.518, 2.646, 2.869, 3.216, 3.705, 4.348, 5.158, 6.148, 7.329",\
                 "2.791, 2.835, 2.962, 3.186, 3.533, 4.022, 4.665, 5.476, 6.465, 7.646",\
                 "3.178, 3.222, 3.349, 3.573, 3.92, 4.408, 5.051, 5.862, 6.853, 8.033",\
                 "3.631, 3.675, 3.802, 4.024, 4.373, 4.861, 5.504, 6.314, 7.305, 8.486",\
                 "4.149, 4.194, 4.321, 4.543, 4.891, 5.379, 6.022, 6.833, 7.821, 9.001");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.191, 0.24, 0.3692, 0.5714, 0.8582, 1.268, 1.826, 2.554, 3.458, 4.545",\
                 "0.1908, 0.2404, 0.3696, 0.5728, 0.8584, 1.267, 1.827, 2.552, 3.458, 4.545",\
                 "0.1914, 0.2404, 0.369, 0.5714, 0.8586, 1.266, 1.824, 2.554, 3.459, 4.546",\
                 "0.1916, 0.2404, 0.37, 0.5718, 0.859, 1.267, 1.825, 2.554, 3.458, 4.546",\
                 "0.1908, 0.2402, 0.369, 0.5724, 0.858, 1.266, 1.824, 2.554, 3.456, 4.547",\
                 "0.1906, 0.2402, 0.369, 0.5722, 0.8592, 1.267, 1.827, 2.553, 3.458, 4.546",\
                 "0.191, 0.2406, 0.3692, 0.5726, 0.8578, 1.266, 1.824, 2.553, 3.459, 4.543",\
                 "0.191, 0.2404, 0.369, 0.571, 0.8586, 1.266, 1.824, 2.55, 3.454, 4.543",\
                 "0.191, 0.24, 0.3702, 0.5718, 0.8586, 1.266, 1.824, 2.551, 3.455, 4.539",\
                 "0.191, 0.2402, 0.3694, 0.5716, 0.8582, 1.266, 1.826, 2.554, 3.456, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.125, 0.18, 0.3642, 0.7426, 1.356, 2.217, 3.348, 4.782, 6.523, 8.605",\
                 "0.1252, 0.1798, 0.3642, 0.7426, 1.357, 2.217, 3.35, 4.778, 6.524, 8.607",\
                 "0.1258, 0.1804, 0.3634, 0.7424, 1.357, 2.217, 3.353, 4.778, 6.521, 8.605",\
                 "0.1256, 0.1804, 0.364, 0.7428, 1.357, 2.217, 3.353, 4.779, 6.521, 8.605",\
                 "0.1258, 0.1804, 0.3642, 0.7424, 1.355, 2.217, 3.353, 4.779, 6.519, 8.605",\
                 "0.1252, 0.1798, 0.3638, 0.7424, 1.357, 2.218, 3.354, 4.778, 6.524, 8.606",\
                 "0.1256, 0.1802, 0.364, 0.743, 1.356, 2.216, 3.354, 4.778, 6.521, 8.604",\
                 "0.125, 0.1804, 0.3636, 0.743, 1.353, 2.217, 3.353, 4.776, 6.526, 8.604",\
                 "0.1256, 0.1802, 0.3636, 0.7426, 1.354, 2.216, 3.35, 4.778, 6.524, 8.602",\
                 "0.1252, 0.1802, 0.3638, 0.7424, 1.355, 2.214, 3.348, 4.774, 6.528, 8.6");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.9869, 1.042, 1.18, 1.37, 1.609, 1.904, 2.269, 2.718, 3.263, 3.912",\
                 "0.999, 1.054, 1.191, 1.382, 1.621, 1.916, 2.28, 2.73, 3.275, 3.923",\
                 "1.041, 1.095, 1.233, 1.424, 1.663, 1.958, 2.322, 2.772, 3.316, 3.965",\
                 "1.113, 1.168, 1.305, 1.496, 1.735, 2.03, 2.394, 2.844, 3.389, 4.037",\
                 "1.172, 1.227, 1.364, 1.555, 1.794, 2.089, 2.453, 2.903, 3.448, 4.096",\
                 "1.196, 1.251, 1.388, 1.579, 1.818, 2.113, 2.478, 2.927, 3.472, 4.121",\
                 "1.18, 1.235, 1.373, 1.564, 1.803, 2.097, 2.462, 2.912, 3.456, 4.105",\
                 "1.118, 1.173, 1.311, 1.502, 1.741, 2.036, 2.401, 2.85, 3.395, 4.043",\
                 "1.002, 1.057, 1.195, 1.387, 1.626, 1.921, 2.286, 2.735, 3.28, 3.929",\
                 "0.8281, 0.8837, 1.022, 1.214, 1.454, 1.749, 2.114, 2.564, 3.109, 3.757");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.365, 1.415, 1.559, 1.792, 2.141, 2.629, 3.272, 4.082, 5.071, 6.25",\
                 "1.377, 1.428, 1.571, 1.805, 2.153, 2.641, 3.284, 4.094, 5.082, 6.261",\
                 "1.427, 1.478, 1.621, 1.855, 2.204, 2.692, 3.334, 4.144, 5.133, 6.313",\
                 "1.55, 1.601, 1.744, 1.978, 2.327, 2.815, 3.457, 4.267, 5.256, 6.436",\
                 "1.766, 1.817, 1.96, 2.194, 2.543, 3.03, 3.673, 4.483, 5.471, 6.652",\
                 "2.075, 2.126, 2.269, 2.503, 2.851, 3.339, 3.982, 4.792, 5.78, 6.96",\
                 "2.456, 2.507, 2.65, 2.884, 3.233, 3.72, 4.363, 5.172, 6.16, 7.341",\
                 "2.905, 2.956, 3.1, 3.334, 3.682, 4.169, 4.812, 5.621, 6.61, 7.79",\
                 "3.429, 3.48, 3.625, 3.859, 4.207, 4.694, 5.336, 6.145, 7.135, 8.313",\
                 "4.029, 4.081, 4.226, 4.461, 4.808, 5.295, 5.937, 6.746, 7.734, 8.913");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2042, 0.2556, 0.385, 0.5838, 0.8682, 1.275, 1.832, 2.557, 3.461, 4.547",\
                 "0.2042, 0.2556, 0.385, 0.5838, 0.8684, 1.275, 1.832, 2.557, 3.461, 4.548",\
                 "0.2042, 0.2556, 0.3846, 0.5842, 0.8686, 1.274, 1.829, 2.558, 3.462, 4.544",\
                 "0.2044, 0.2556, 0.3846, 0.5846, 0.8684, 1.274, 1.829, 2.557, 3.459, 4.548",\
                 "0.2038, 0.255, 0.3854, 0.584, 0.8694, 1.275, 1.831, 2.557, 3.462, 4.547",\
                 "0.2052, 0.2564, 0.386, 0.5844, 0.8684, 1.273, 1.83, 2.555, 3.459, 4.548",\
                 "0.2062, 0.2576, 0.3866, 0.5854, 0.869, 1.274, 1.829, 2.556, 3.461, 4.546",\
                 "0.2086, 0.2592, 0.3888, 0.5872, 0.8706, 1.274, 1.83, 2.555, 3.455, 4.541",\
                 "0.2114, 0.2622, 0.3918, 0.5902, 0.8722, 1.276, 1.83, 2.555, 3.458, 4.539",\
                 "0.2142, 0.265, 0.3944, 0.5922, 0.874, 1.279, 1.832, 2.556, 3.457, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1546, 0.2138, 0.4054, 0.7676, 1.365, 2.223, 3.355, 4.79, 6.539, 8.608",\
                 "0.1542, 0.2136, 0.4056, 0.7676, 1.367, 2.226, 3.354, 4.787, 6.537, 8.621",\
                 "0.1548, 0.2136, 0.4056, 0.7678, 1.368, 2.225, 3.356, 4.79, 6.538, 8.609",\
                 "0.1546, 0.2132, 0.4056, 0.7684, 1.366, 2.225, 3.356, 4.79, 6.538, 8.608",\
                 "0.154, 0.2132, 0.4056, 0.7674, 1.367, 2.223, 3.356, 4.788, 6.538, 8.605",\
                 "0.1544, 0.2138, 0.4062, 0.7692, 1.366, 2.224, 3.357, 4.789, 6.539, 8.606",\
                 "0.1572, 0.2154, 0.408, 0.7704, 1.368, 2.223, 3.359, 4.788, 6.537, 8.608",\
                 "0.1596, 0.2174, 0.4098, 0.771, 1.367, 2.226, 3.356, 4.789, 6.539, 8.616",\
                 "0.1618, 0.2212, 0.4128, 0.7724, 1.367, 2.223, 3.355, 4.788, 6.536, 8.622",\
                 "0.166, 0.2242, 0.4168, 0.7736, 1.368, 2.224, 3.356, 4.782, 6.53, 8.622");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.891, 1.943, 2.076, 2.264, 2.5, 2.793, 3.157, 3.606, 4.151, 4.8",\
                 "1.905, 1.957, 2.089, 2.278, 2.514, 2.807, 3.171, 3.62, 4.165, 4.814",\
                 "1.939, 1.992, 2.124, 2.312, 2.548, 2.841, 3.205, 3.654, 4.199, 4.848",\
                 "1.957, 2.009, 2.142, 2.33, 2.566, 2.859, 3.223, 3.672, 4.217, 4.865",\
                 "1.942, 1.995, 2.127, 2.315, 2.551, 2.844, 3.208, 3.657, 4.202, 4.851",\
                 "1.895, 1.947, 2.08, 2.268, 2.504, 2.797, 3.161, 3.61, 4.155, 4.803",\
                 "1.789, 1.842, 1.974, 2.162, 2.399, 2.692, 3.056, 3.505, 4.05, 4.699",\
                 "1.63, 1.682, 1.815, 2.003, 2.239, 2.532, 2.896, 3.345, 3.89, 4.538",\
                 "1.416, 1.467, 1.599, 1.788, 2.023, 2.316, 2.68, 3.129, 3.674, 4.323",\
                 "1.144, 1.196, 1.329, 1.516, 1.752, 2.045, 2.409, 2.859, 3.403, 4.052");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.91, 1.954, 2.081, 2.304, 2.652, 3.14, 3.784, 4.594, 5.585, 6.765",\
                 "1.917, 1.961, 2.088, 2.311, 2.659, 3.147, 3.791, 4.6, 5.591, 6.772",\
                 "1.954, 1.998, 2.125, 2.348, 2.696, 3.184, 3.827, 4.638, 5.627, 6.808",\
                 "2.052, 2.096, 2.222, 2.446, 2.793, 3.282, 3.925, 4.736, 5.724, 6.906",\
                 "2.227, 2.271, 2.398, 2.621, 2.969, 3.457, 4.1, 4.911, 5.9, 7.082",\
                 "2.474, 2.518, 2.646, 2.869, 3.216, 3.705, 4.348, 5.158, 6.148, 7.329",\
                 "2.791, 2.835, 2.962, 3.186, 3.533, 4.022, 4.665, 5.476, 6.465, 7.646",\
                 "3.178, 3.222, 3.349, 3.573, 3.92, 4.408, 5.051, 5.862, 6.853, 8.033",\
                 "3.631, 3.675, 3.802, 4.024, 4.373, 4.861, 5.504, 6.314, 7.305, 8.486",\
                 "4.149, 4.194, 4.321, 4.543, 4.891, 5.379, 6.022, 6.833, 7.821, 9.001");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2042, 0.2556, 0.385, 0.5838, 0.8682, 1.275, 1.832, 2.557, 3.461, 4.547",\
                 "0.2042, 0.2556, 0.385, 0.5838, 0.8684, 1.275, 1.832, 2.557, 3.461, 4.548",\
                 "0.2042, 0.2556, 0.3846, 0.5842, 0.8686, 1.274, 1.829, 2.558, 3.462, 4.544",\
                 "0.2044, 0.2556, 0.3846, 0.5846, 0.8684, 1.274, 1.829, 2.557, 3.459, 4.548",\
                 "0.2038, 0.255, 0.3854, 0.584, 0.8694, 1.275, 1.831, 2.557, 3.462, 4.547",\
                 "0.2052, 0.2564, 0.386, 0.5844, 0.8684, 1.273, 1.83, 2.555, 3.459, 4.548",\
                 "0.2062, 0.2576, 0.3866, 0.5854, 0.869, 1.274, 1.829, 2.556, 3.461, 4.546",\
                 "0.2086, 0.2592, 0.3888, 0.5872, 0.8706, 1.274, 1.83, 2.555, 3.455, 4.541",\
                 "0.2114, 0.2622, 0.3918, 0.5902, 0.8722, 1.276, 1.83, 2.555, 3.458, 4.539",\
                 "0.2142, 0.265, 0.3944, 0.5922, 0.874, 1.279, 1.832, 2.556, 3.457, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1546, 0.2138, 0.4054, 0.7676, 1.365, 2.223, 3.355, 4.79, 6.539, 8.608",\
                 "0.1542, 0.2136, 0.4056, 0.7676, 1.367, 2.226, 3.354, 4.787, 6.537, 8.621",\
                 "0.1548, 0.2136, 0.4056, 0.7678, 1.368, 2.225, 3.356, 4.79, 6.538, 8.609",\
                 "0.1546, 0.2132, 0.4056, 0.7684, 1.366, 2.225, 3.356, 4.79, 6.538, 8.608",\
                 "0.154, 0.2132, 0.4056, 0.7674, 1.367, 2.223, 3.356, 4.788, 6.538, 8.605",\
                 "0.1544, 0.2138, 0.4062, 0.7692, 1.366, 2.224, 3.357, 4.789, 6.539, 8.606",\
                 "0.1572, 0.2154, 0.408, 0.7704, 1.368, 2.223, 3.359, 4.788, 6.537, 8.608",\
                 "0.1596, 0.2174, 0.4098, 0.771, 1.367, 2.226, 3.356, 4.789, 6.539, 8.616",\
                 "0.1618, 0.2212, 0.4128, 0.7724, 1.367, 2.223, 3.355, 4.788, 6.536, 8.622",\
                 "0.166, 0.2242, 0.4168, 0.7736, 1.368, 2.224, 3.356, 4.782, 6.53, 8.622");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.496, 1.551, 1.689, 1.879, 2.118, 2.413, 2.777, 3.227, 3.772, 4.42",\
                 "1.503, 1.557, 1.695, 1.886, 2.125, 2.419, 2.784, 3.233, 3.778, 4.427",\
                 "1.54, 1.595, 1.732, 1.923, 2.162, 2.456, 2.821, 3.27, 3.815, 4.464",\
                 "1.638, 1.692, 1.83, 2.021, 2.259, 2.554, 2.919, 3.368, 3.913, 4.561",\
                 "1.812, 1.867, 2.004, 2.195, 2.434, 2.728, 3.093, 3.542, 4.087, 4.736",\
                 "2.059, 2.114, 2.251, 2.442, 2.681, 2.975, 3.34, 3.789, 4.334, 4.983",\
                 "2.375, 2.43, 2.568, 2.759, 2.997, 3.292, 3.657, 4.106, 4.651, 5.299",\
                 "2.761, 2.815, 2.953, 3.143, 3.382, 3.676, 4.042, 4.491, 5.036, 5.685",\
                 "3.211, 3.266, 3.403, 3.594, 3.833, 4.128, 4.493, 4.942, 5.487, 6.135",\
                 "3.726, 3.781, 3.918, 4.109, 4.348, 4.642, 5.008, 5.457, 6.002, 6.65");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.659, 1.709, 1.853, 2.087, 2.435, 2.923, 3.566, 4.376, 5.364, 6.543",\
                 "1.673, 1.724, 1.867, 2.101, 2.45, 2.937, 3.58, 4.39, 5.379, 6.558",\
                 "1.708, 1.759, 1.902, 2.136, 2.484, 2.972, 3.615, 4.425, 5.414, 6.593",\
                 "1.726, 1.777, 1.92, 2.154, 2.503, 2.99, 3.633, 4.443, 5.432, 6.612",\
                 "1.709, 1.76, 1.903, 2.137, 2.486, 2.974, 3.616, 4.426, 5.415, 6.595",\
                 "1.658, 1.708, 1.852, 2.085, 2.434, 2.921, 3.564, 4.375, 5.363, 6.543",\
                 "1.551, 1.601, 1.744, 1.978, 2.327, 2.815, 3.457, 4.267, 5.257, 6.436",\
                 "1.391, 1.441, 1.584, 1.818, 2.167, 2.655, 3.297, 4.107, 5.096, 6.274",\
                 "1.177, 1.226, 1.369, 1.603, 1.953, 2.44, 3.082, 3.893, 4.883, 6.061",\
                 "0.9058, 0.9561, 1.099, 1.333, 1.682, 2.169, 2.812, 3.622, 4.611, 5.79");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2032, 0.2548, 0.3842, 0.584, 0.8678, 1.274, 1.829, 2.555, 3.461, 4.547",\
                 "0.2034, 0.2548, 0.3838, 0.5832, 0.8672, 1.272, 1.828, 2.557, 3.462, 4.542",\
                 "0.2034, 0.2546, 0.3838, 0.5844, 0.868, 1.274, 1.831, 2.556, 3.462, 4.547",\
                 "0.2034, 0.2546, 0.384, 0.5834, 0.8684, 1.274, 1.828, 2.558, 3.461, 4.545",\
                 "0.204, 0.2546, 0.384, 0.5828, 0.8674, 1.274, 1.829, 2.558, 3.457, 4.546",\
                 "0.2028, 0.2544, 0.3842, 0.5836, 0.8688, 1.274, 1.831, 2.557, 3.461, 4.548",\
                 "0.2034, 0.2548, 0.3834, 0.5834, 0.8676, 1.273, 1.828, 2.556, 3.461, 4.548",\
                 "0.2032, 0.2548, 0.3842, 0.5832, 0.867, 1.272, 1.829, 2.556, 3.459, 4.546",\
                 "0.2036, 0.2548, 0.384, 0.5836, 0.8688, 1.275, 1.828, 2.554, 3.456, 4.541",\
                 "0.2034, 0.2548, 0.3848, 0.5834, 0.8676, 1.274, 1.829, 2.556, 3.456, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1564, 0.214, 0.4072, 0.7694, 1.368, 2.225, 3.358, 4.789, 6.529, 8.624",\
                 "0.156, 0.2142, 0.4076, 0.7698, 1.365, 2.226, 3.356, 4.789, 6.538, 8.609",\
                 "0.1572, 0.2146, 0.4076, 0.7684, 1.368, 2.224, 3.359, 4.789, 6.537, 8.609",\
                 "0.1564, 0.2148, 0.4066, 0.7692, 1.368, 2.225, 3.359, 4.79, 6.537, 8.609",\
                 "0.1562, 0.215, 0.4074, 0.7686, 1.368, 2.224, 3.357, 4.789, 6.536, 8.609",\
                 "0.1536, 0.2132, 0.4058, 0.768, 1.365, 2.226, 3.357, 4.789, 6.538, 8.607",\
                 "0.1546, 0.2132, 0.4056, 0.7678, 1.365, 2.223, 3.355, 4.785, 6.537, 8.61",\
                 "0.1548, 0.213, 0.4062, 0.7684, 1.365, 2.223, 3.355, 4.787, 6.529, 8.608",\
                 "0.1548, 0.2138, 0.4058, 0.7686, 1.368, 2.224, 3.36, 4.782, 6.528, 8.607",\
                 "0.1544, 0.2134, 0.4064, 0.7684, 1.367, 2.224, 3.354, 4.784, 6.53, 8.601");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.607, 1.659, 1.792, 1.98, 2.216, 2.509, 2.873, 3.322, 3.867, 4.516",\
                 "1.619, 1.671, 1.804, 1.992, 2.228, 2.521, 2.885, 3.334, 3.879, 4.528",\
                 "1.669, 1.721, 1.854, 2.042, 2.278, 2.571, 2.935, 3.384, 3.929, 4.577",\
                 "1.794, 1.846, 1.979, 2.166, 2.403, 2.696, 3.06, 3.509, 4.054, 4.702",\
                 "2.009, 2.061, 2.194, 2.382, 2.618, 2.911, 3.275, 3.724, 4.269, 4.918",\
                 "2.306, 2.359, 2.491, 2.679, 2.915, 3.208, 3.572, 4.021, 4.566, 5.215",\
                 "2.667, 2.719, 2.851, 3.039, 3.276, 3.568, 3.932, 4.381, 4.926, 5.575",\
                 "3.093, 3.146, 3.278, 3.466, 3.702, 3.995, 4.359, 4.808, 5.353, 6.002",\
                 "3.589, 3.643, 3.774, 3.963, 4.199, 4.492, 4.856, 5.304, 5.849, 6.497",\
                 "4.154, 4.206, 4.339, 4.528, 4.764, 5.055, 5.419, 5.868, 6.413, 7.061");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.404, 1.447, 1.575, 1.798, 2.146, 2.634, 3.277, 4.088, 5.077, 6.259",\
                 "1.416, 1.459, 1.587, 1.81, 2.157, 2.645, 3.289, 4.099, 5.088, 6.269",\
                 "1.457, 1.501, 1.628, 1.852, 2.199, 2.688, 3.33, 4.142, 5.13, 6.312",\
                 "1.533, 1.578, 1.705, 1.928, 2.275, 2.764, 3.407, 4.218, 5.207, 6.389",\
                 "1.601, 1.646, 1.772, 1.996, 2.343, 2.832, 3.475, 4.285, 5.276, 6.455",\
                 "1.636, 1.68, 1.807, 2.03, 2.377, 2.866, 3.509, 4.319, 5.31, 6.487",\
                 "1.631, 1.675, 1.802, 2.025, 2.372, 2.861, 3.504, 4.314, 5.305, 6.485",\
                 "1.581, 1.625, 1.752, 1.976, 2.323, 2.811, 3.454, 4.264, 5.253, 6.435",\
                 "1.478, 1.522, 1.65, 1.873, 2.22, 2.708, 3.351, 4.162, 5.15, 6.329",\
                 "1.319, 1.363, 1.491, 1.713, 2.06, 2.549, 3.192, 4.003, 4.992, 6.17");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1912, 0.2404, 0.369, 0.571, 0.8582, 1.267, 1.826, 2.555, 3.46, 4.545",\
                 "0.1912, 0.2414, 0.3696, 0.5722, 0.8582, 1.265, 1.827, 2.553, 3.46, 4.547",\
                 "0.1914, 0.2414, 0.3694, 0.571, 0.8586, 1.267, 1.824, 2.552, 3.458, 4.547",\
                 "0.1918, 0.2412, 0.3696, 0.5716, 0.8582, 1.265, 1.825, 2.554, 3.456, 4.547",\
                 "0.1918, 0.2404, 0.3694, 0.5708, 0.8584, 1.266, 1.825, 2.552, 3.458, 4.541",\
                 "0.191, 0.2406, 0.3692, 0.5716, 0.8594, 1.267, 1.826, 2.555, 3.459, 4.545",\
                 "0.1906, 0.24, 0.3688, 0.571, 0.86, 1.267, 1.824, 2.554, 3.46, 4.546",\
                 "0.191, 0.2406, 0.3694, 0.5714, 0.8578, 1.265, 1.826, 2.554, 3.457, 4.545",\
                 "0.191, 0.24, 0.3698, 0.5722, 0.8594, 1.266, 1.824, 2.551, 3.457, 4.543",\
                 "0.1912, 0.24, 0.3696, 0.571, 0.8576, 1.268, 1.824, 2.55, 3.456, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1266, 0.1804, 0.3636, 0.7446, 1.356, 2.218, 3.354, 4.778, 6.523, 8.603",\
                 "0.1256, 0.1806, 0.3638, 0.7444, 1.355, 2.218, 3.349, 4.779, 6.519, 8.611",\
                 "0.1264, 0.1804, 0.364, 0.7436, 1.356, 2.218, 3.354, 4.779, 6.52, 8.605",\
                 "0.1262, 0.1802, 0.3636, 0.7444, 1.356, 2.218, 3.354, 4.778, 6.523, 8.603",\
                 "0.126, 0.1798, 0.3638, 0.7444, 1.357, 2.218, 3.354, 4.781, 6.523, 8.605",\
                 "0.126, 0.1798, 0.3638, 0.7428, 1.355, 2.218, 3.351, 4.778, 6.524, 8.602",\
                 "0.1258, 0.1802, 0.364, 0.7426, 1.354, 2.217, 3.35, 4.784, 6.524, 8.608",\
                 "0.1262, 0.1806, 0.3638, 0.7422, 1.355, 2.218, 3.347, 4.774, 6.518, 8.605",\
                 "0.1258, 0.1804, 0.364, 0.7442, 1.357, 2.217, 3.347, 4.776, 6.519, 8.597",\
                 "0.1258, 0.1804, 0.3642, 0.743, 1.354, 2.215, 3.348, 4.78, 6.518, 8.597");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.607, 1.659, 1.792, 1.98, 2.216, 2.509, 2.873, 3.322, 3.867, 4.516",\
                 "1.619, 1.671, 1.804, 1.992, 2.228, 2.521, 2.885, 3.334, 3.879, 4.528",\
                 "1.669, 1.721, 1.854, 2.042, 2.278, 2.571, 2.935, 3.384, 3.929, 4.577",\
                 "1.794, 1.846, 1.979, 2.166, 2.403, 2.696, 3.06, 3.509, 4.054, 4.702",\
                 "2.009, 2.061, 2.194, 2.382, 2.618, 2.911, 3.275, 3.724, 4.269, 4.918",\
                 "2.306, 2.359, 2.491, 2.679, 2.915, 3.208, 3.572, 4.021, 4.566, 5.215",\
                 "2.667, 2.719, 2.851, 3.039, 3.276, 3.568, 3.932, 4.381, 4.926, 5.575",\
                 "3.093, 3.146, 3.278, 3.466, 3.702, 3.995, 4.359, 4.808, 5.353, 6.002",\
                 "3.589, 3.643, 3.774, 3.963, 4.199, 4.492, 4.856, 5.304, 5.849, 6.497",\
                 "4.154, 4.206, 4.339, 4.528, 4.764, 5.055, 5.419, 5.868, 6.413, 7.061");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.659, 1.709, 1.853, 2.087, 2.435, 2.923, 3.566, 4.376, 5.364, 6.543",\
                 "1.673, 1.724, 1.867, 2.101, 2.45, 2.937, 3.58, 4.39, 5.379, 6.558",\
                 "1.708, 1.759, 1.902, 2.136, 2.484, 2.972, 3.615, 4.425, 5.414, 6.593",\
                 "1.726, 1.777, 1.92, 2.154, 2.503, 2.99, 3.633, 4.443, 5.432, 6.612",\
                 "1.709, 1.76, 1.903, 2.137, 2.486, 2.974, 3.616, 4.426, 5.415, 6.595",\
                 "1.658, 1.708, 1.852, 2.085, 2.434, 2.921, 3.564, 4.375, 5.363, 6.543",\
                 "1.551, 1.601, 1.744, 1.978, 2.327, 2.815, 3.457, 4.267, 5.257, 6.436",\
                 "1.391, 1.441, 1.584, 1.818, 2.167, 2.655, 3.297, 4.107, 5.096, 6.274",\
                 "1.177, 1.226, 1.369, 1.603, 1.953, 2.44, 3.082, 3.893, 4.883, 6.061",\
                 "0.9058, 0.9561, 1.099, 1.333, 1.682, 2.169, 2.812, 3.622, 4.611, 5.79");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2032, 0.2548, 0.3842, 0.584, 0.8678, 1.274, 1.829, 2.555, 3.461, 4.547",\
                 "0.2034, 0.2548, 0.3838, 0.5832, 0.8672, 1.272, 1.828, 2.557, 3.462, 4.542",\
                 "0.2034, 0.2546, 0.3838, 0.5844, 0.868, 1.274, 1.831, 2.556, 3.462, 4.547",\
                 "0.2034, 0.2546, 0.384, 0.5834, 0.8684, 1.274, 1.828, 2.558, 3.461, 4.545",\
                 "0.204, 0.2546, 0.384, 0.5828, 0.8674, 1.274, 1.829, 2.558, 3.457, 4.546",\
                 "0.2028, 0.2544, 0.3842, 0.5836, 0.8688, 1.274, 1.831, 2.557, 3.461, 4.548",\
                 "0.2034, 0.2548, 0.3834, 0.5834, 0.8676, 1.273, 1.828, 2.556, 3.461, 4.548",\
                 "0.2032, 0.2548, 0.3842, 0.5832, 0.867, 1.272, 1.829, 2.556, 3.459, 4.546",\
                 "0.2036, 0.2548, 0.384, 0.5836, 0.8688, 1.275, 1.828, 2.554, 3.456, 4.541",\
                 "0.2034, 0.2548, 0.3848, 0.5834, 0.8676, 1.274, 1.829, 2.556, 3.456, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1564, 0.214, 0.4072, 0.7694, 1.368, 2.225, 3.358, 4.789, 6.529, 8.624",\
                 "0.156, 0.2142, 0.4076, 0.7698, 1.365, 2.226, 3.356, 4.789, 6.538, 8.609",\
                 "0.1572, 0.2146, 0.4076, 0.7684, 1.368, 2.224, 3.359, 4.789, 6.537, 8.609",\
                 "0.1564, 0.2148, 0.4066, 0.7692, 1.368, 2.225, 3.359, 4.79, 6.537, 8.609",\
                 "0.1562, 0.215, 0.4074, 0.7686, 1.368, 2.224, 3.357, 4.789, 6.536, 8.609",\
                 "0.1536, 0.2132, 0.4058, 0.768, 1.365, 2.226, 3.357, 4.789, 6.538, 8.607",\
                 "0.1546, 0.2132, 0.4056, 0.7678, 1.365, 2.223, 3.355, 4.785, 6.537, 8.61",\
                 "0.1548, 0.213, 0.4062, 0.7684, 1.365, 2.223, 3.355, 4.787, 6.529, 8.608",\
                 "0.1548, 0.2138, 0.4058, 0.7686, 1.368, 2.224, 3.36, 4.782, 6.528, 8.607",\
                 "0.1544, 0.2134, 0.4064, 0.7684, 1.367, 2.224, 3.354, 4.784, 6.53, 8.601");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.824, 1.877, 2.009, 2.197, 2.433, 2.726, 3.09, 3.539, 4.084, 4.733",\
                 "1.838, 1.89, 2.023, 2.211, 2.447, 2.74, 3.104, 3.553, 4.098, 4.747",\
                 "1.875, 1.927, 2.06, 2.247, 2.483, 2.777, 3.141, 3.59, 4.134, 4.783",\
                 "1.891, 1.943, 2.076, 2.263, 2.5, 2.793, 3.157, 3.606, 4.151, 4.799",\
                 "1.868, 1.92, 2.052, 2.24, 2.476, 2.769, 3.134, 3.582, 4.127, 4.776",\
                 "1.798, 1.85, 1.983, 2.171, 2.407, 2.7, 3.064, 3.513, 4.058, 4.707",\
                 "1.674, 1.726, 1.858, 2.046, 2.283, 2.576, 2.94, 3.389, 3.934, 4.583",\
                 "1.491, 1.543, 1.676, 1.863, 2.1, 2.393, 2.757, 3.206, 3.751, 4.399",\
                 "1.244, 1.296, 1.429, 1.616, 1.853, 2.146, 2.51, 2.959, 3.504, 4.152",\
                 "0.9314, 0.9837, 1.116, 1.304, 1.54, 1.833, 2.197, 2.646, 3.191, 3.84");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.867, 1.911, 2.038, 2.261, 2.609, 3.097, 3.74, 4.55, 5.541, 6.721",\
                 "1.872, 1.916, 2.043, 2.267, 2.614, 3.102, 3.746, 4.557, 5.546, 6.728",\
                 "1.929, 1.973, 2.1, 2.323, 2.671, 3.159, 3.802, 4.613, 5.603, 6.784",\
                 "2.07, 2.115, 2.241, 2.465, 2.812, 3.301, 3.944, 4.755, 5.744, 6.926",\
                 "2.296, 2.339, 2.466, 2.69, 3.037, 3.526, 4.169, 4.98, 5.969, 7.15",\
                 "2.588, 2.632, 2.758, 2.982, 3.329, 3.818, 4.461, 5.272, 6.261, 7.443",\
                 "2.951, 2.995, 3.122, 3.345, 3.693, 4.181, 4.824, 5.635, 6.625, 7.803",\
                 "3.393, 3.438, 3.565, 3.788, 4.135, 4.624, 5.267, 6.078, 7.068, 8.247",\
                 "3.916, 3.959, 4.087, 4.31, 4.657, 5.146, 5.789, 6.599, 7.588, 8.767",\
                 "4.518, 4.562, 4.689, 4.913, 5.26, 5.749, 6.392, 7.202, 8.19, 9.37");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1918, 0.2402, 0.3698, 0.5716, 0.8584, 1.265, 1.825, 2.554, 3.456, 4.544",\
                 "0.1914, 0.2406, 0.3694, 0.571, 0.8584, 1.267, 1.824, 2.554, 3.46, 4.545",\
                 "0.1916, 0.2406, 0.3698, 0.5716, 0.8584, 1.266, 1.824, 2.553, 3.459, 4.547",\
                 "0.191, 0.2404, 0.3698, 0.5718, 0.8584, 1.267, 1.824, 2.553, 3.457, 4.545",\
                 "0.1908, 0.24, 0.3686, 0.5716, 0.8582, 1.268, 1.824, 2.553, 3.459, 4.546",\
                 "0.1904, 0.24, 0.3686, 0.5724, 0.859, 1.267, 1.825, 2.554, 3.459, 4.547",\
                 "0.191, 0.2402, 0.3702, 0.5724, 0.8586, 1.266, 1.826, 2.554, 3.459, 4.547",\
                 "0.1914, 0.2404, 0.3696, 0.571, 0.8582, 1.266, 1.824, 2.551, 3.454, 4.543",\
                 "0.1906, 0.2398, 0.3688, 0.5712, 0.8594, 1.266, 1.825, 2.551, 3.453, 4.538",\
                 "0.191, 0.2402, 0.3696, 0.5712, 0.8592, 1.266, 1.826, 2.553, 3.456, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1258, 0.1798, 0.3644, 0.7424, 1.357, 2.217, 3.353, 4.783, 6.522, 8.606",\
                 "0.126, 0.1804, 0.3638, 0.7428, 1.356, 2.215, 3.352, 4.778, 6.523, 8.6",\
                 "0.1258, 0.1804, 0.3636, 0.7428, 1.356, 2.217, 3.348, 4.779, 6.525, 8.604",\
                 "0.1258, 0.1806, 0.364, 0.7444, 1.355, 2.216, 3.351, 4.779, 6.526, 8.601",\
                 "0.1258, 0.1798, 0.3638, 0.743, 1.355, 2.217, 3.354, 4.779, 6.519, 8.606",\
                 "0.1256, 0.1802, 0.3638, 0.7444, 1.355, 2.217, 3.349, 4.776, 6.526, 8.601",\
                 "0.1252, 0.18, 0.3634, 0.743, 1.355, 2.217, 3.352, 4.777, 6.524, 8.601",\
                 "0.1248, 0.1796, 0.3638, 0.7428, 1.354, 2.218, 3.347, 4.781, 6.523, 8.606",\
                 "0.125, 0.1796, 0.3636, 0.743, 1.354, 2.215, 3.352, 4.778, 6.523, 8.602",\
                 "0.125, 0.18, 0.3638, 0.7442, 1.356, 2.216, 3.35, 4.78, 6.526, 8.6");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.001, 1.056, 1.193, 1.384, 1.623, 1.917, 2.282, 2.732, 3.277, 3.925",\
                 "1.011, 1.066, 1.203, 1.394, 1.633, 1.928, 2.293, 2.742, 3.287, 3.935",\
                 "1.036, 1.09, 1.228, 1.419, 1.658, 1.952, 2.317, 2.766, 3.311, 3.96",\
                 "1.076, 1.131, 1.268, 1.459, 1.698, 1.993, 2.358, 2.807, 3.352, 4",\
                 "1.107, 1.162, 1.3, 1.49, 1.729, 2.024, 2.389, 2.838, 3.383, 4.031",\
                 "1.108, 1.163, 1.3, 1.491, 1.73, 2.025, 2.39, 2.839, 3.384, 4.033",\
                 "1.066, 1.121, 1.258, 1.45, 1.689, 1.983, 2.348, 2.797, 3.342, 3.991",\
                 "0.9724, 1.027, 1.165, 1.356, 1.596, 1.89, 2.255, 2.705, 3.249, 3.898",\
                 "0.8204, 0.8755, 1.014, 1.206, 1.445, 1.74, 2.105, 2.554, 3.099, 3.748",\
                 "0.6055, 0.6615, 0.8006, 0.9921, 1.232, 1.528, 1.893, 2.343, 2.888, 3.536");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.439, 1.49, 1.633, 1.867, 2.216, 2.704, 3.346, 4.156, 5.145, 6.325",\
                 "1.451, 1.502, 1.645, 1.879, 2.227, 2.715, 3.358, 4.168, 5.157, 6.336",\
                 "1.506, 1.557, 1.7, 1.934, 2.283, 2.771, 3.413, 4.223, 5.212, 6.392",\
                 "1.633, 1.684, 1.827, 2.061, 2.41, 2.898, 3.54, 4.35, 5.339, 6.518",\
                 "1.853, 1.904, 2.047, 2.281, 2.629, 3.117, 3.76, 4.57, 5.558, 6.738",\
                 "2.17, 2.221, 2.364, 2.598, 2.946, 3.434, 4.077, 4.886, 5.876, 7.053",\
                 "2.569, 2.62, 2.764, 2.998, 3.346, 3.833, 4.476, 5.286, 6.274, 7.453",\
                 "3.04, 3.091, 3.236, 3.469, 3.818, 4.305, 4.947, 5.756, 6.746, 7.925",\
                 "3.592, 3.644, 3.788, 4.023, 4.37, 4.857, 5.5, 6.309, 7.297, 8.476",\
                 "4.229, 4.282, 4.426, 4.661, 5.008, 5.496, 6.136, 6.945, 7.934, 9.113");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2037, 0.2554, 0.3846, 0.5836, 0.8678, 1.273, 1.832, 2.558, 3.461, 4.547",\
                 "0.2042, 0.2554, 0.3846, 0.584, 0.8682, 1.274, 1.829, 2.556, 3.46, 4.548",\
                 "0.205, 0.2562, 0.3846, 0.584, 0.8682, 1.275, 1.829, 2.558, 3.462, 4.545",\
                 "0.2052, 0.2554, 0.385, 0.5836, 0.8682, 1.274, 1.829, 2.558, 3.461, 4.548",\
                 "0.2044, 0.2554, 0.3848, 0.5844, 0.8688, 1.274, 1.829, 2.558, 3.462, 4.546",\
                 "0.2052, 0.256, 0.3854, 0.5846, 0.868, 1.274, 1.831, 2.555, 3.459, 4.545",\
                 "0.2068, 0.2572, 0.3872, 0.5856, 0.8694, 1.275, 1.829, 2.554, 3.459, 4.548",\
                 "0.2082, 0.2598, 0.3894, 0.588, 0.8706, 1.274, 1.83, 2.554, 3.456, 4.542",\
                 "0.2114, 0.2626, 0.3918, 0.5904, 0.874, 1.276, 1.833, 2.557, 3.457, 4.543",\
                 "0.2146, 0.266, 0.395, 0.5924, 0.8748, 1.278, 1.832, 2.558, 3.458, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1564, 0.2148, 0.4076, 0.77, 1.368, 2.223, 3.359, 4.79, 6.538, 8.607",\
                 "0.1564, 0.2148, 0.4068, 0.768, 1.368, 2.226, 3.357, 4.79, 6.538, 8.609",\
                 "0.1564, 0.2148, 0.4072, 0.7696, 1.368, 2.222, 3.357, 4.79, 6.538, 8.61",\
                 "0.1574, 0.2148, 0.4074, 0.7698, 1.368, 2.225, 3.355, 4.789, 6.536, 8.603",\
                 "0.1558, 0.215, 0.4074, 0.7698, 1.365, 2.226, 3.355, 4.788, 6.538, 8.613",\
                 "0.1558, 0.2152, 0.4072, 0.7696, 1.368, 2.224, 3.359, 4.789, 6.527, 8.624",\
                 "0.1586, 0.2174, 0.4094, 0.7708, 1.366, 2.227, 3.355, 4.789, 6.533, 8.622",\
                 "0.161, 0.2192, 0.4116, 0.7706, 1.368, 2.225, 3.359, 4.787, 6.538, 8.608",\
                 "0.1636, 0.222, 0.4138, 0.7722, 1.367, 2.224, 3.359, 4.784, 6.535, 8.618",\
                 "0.1678, 0.2256, 0.4172, 0.7738, 1.368, 2.226, 3.356, 4.784, 6.532, 8.61");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.824, 1.877, 2.009, 2.197, 2.433, 2.726, 3.09, 3.539, 4.084, 4.733",\
                 "1.838, 1.89, 2.023, 2.211, 2.447, 2.74, 3.104, 3.553, 4.098, 4.747",\
                 "1.875, 1.927, 2.06, 2.247, 2.483, 2.777, 3.141, 3.59, 4.134, 4.783",\
                 "1.891, 1.943, 2.076, 2.263, 2.5, 2.793, 3.157, 3.606, 4.151, 4.799",\
                 "1.868, 1.92, 2.052, 2.24, 2.476, 2.769, 3.134, 3.582, 4.127, 4.776",\
                 "1.798, 1.85, 1.983, 2.171, 2.407, 2.7, 3.064, 3.513, 4.058, 4.707",\
                 "1.674, 1.726, 1.858, 2.046, 2.283, 2.576, 2.94, 3.389, 3.934, 4.583",\
                 "1.491, 1.543, 1.676, 1.863, 2.1, 2.393, 2.757, 3.206, 3.751, 4.399",\
                 "1.244, 1.296, 1.429, 1.616, 1.853, 2.146, 2.51, 2.959, 3.504, 4.152",\
                 "0.9314, 0.9837, 1.116, 1.304, 1.54, 1.833, 2.197, 2.646, 3.191, 3.84");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.867, 1.911, 2.038, 2.261, 2.609, 3.097, 3.74, 4.55, 5.541, 6.721",\
                 "1.872, 1.916, 2.043, 2.267, 2.614, 3.102, 3.746, 4.557, 5.546, 6.728",\
                 "1.929, 1.973, 2.1, 2.323, 2.671, 3.159, 3.802, 4.613, 5.603, 6.784",\
                 "2.07, 2.115, 2.241, 2.465, 2.812, 3.301, 3.944, 4.755, 5.744, 6.926",\
                 "2.296, 2.339, 2.466, 2.69, 3.037, 3.526, 4.169, 4.98, 5.969, 7.15",\
                 "2.588, 2.632, 2.758, 2.982, 3.329, 3.818, 4.461, 5.272, 6.261, 7.443",\
                 "2.951, 2.995, 3.122, 3.345, 3.693, 4.181, 4.824, 5.635, 6.625, 7.803",\
                 "3.393, 3.438, 3.565, 3.788, 4.135, 4.624, 5.267, 6.078, 7.068, 8.247",\
                 "3.916, 3.959, 4.087, 4.31, 4.657, 5.146, 5.789, 6.599, 7.588, 8.767",\
                 "4.518, 4.562, 4.689, 4.913, 5.26, 5.749, 6.392, 7.202, 8.19, 9.37");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2037, 0.2554, 0.3846, 0.5836, 0.8678, 1.273, 1.832, 2.558, 3.461, 4.547",\
                 "0.2042, 0.2554, 0.3846, 0.584, 0.8682, 1.274, 1.829, 2.556, 3.46, 4.548",\
                 "0.205, 0.2562, 0.3846, 0.584, 0.8682, 1.275, 1.829, 2.558, 3.462, 4.545",\
                 "0.2052, 0.2554, 0.385, 0.5836, 0.8682, 1.274, 1.829, 2.558, 3.461, 4.548",\
                 "0.2044, 0.2554, 0.3848, 0.5844, 0.8688, 1.274, 1.829, 2.558, 3.462, 4.546",\
                 "0.2052, 0.256, 0.3854, 0.5846, 0.868, 1.274, 1.831, 2.555, 3.459, 4.545",\
                 "0.2068, 0.2572, 0.3872, 0.5856, 0.8694, 1.275, 1.829, 2.554, 3.459, 4.548",\
                 "0.2082, 0.2598, 0.3894, 0.588, 0.8706, 1.274, 1.83, 2.554, 3.456, 4.542",\
                 "0.2114, 0.2626, 0.3918, 0.5904, 0.874, 1.276, 1.833, 2.557, 3.457, 4.543",\
                 "0.2146, 0.266, 0.395, 0.5924, 0.8748, 1.278, 1.832, 2.558, 3.458, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1564, 0.2148, 0.4076, 0.77, 1.368, 2.223, 3.359, 4.79, 6.538, 8.607",\
                 "0.1564, 0.2148, 0.4068, 0.768, 1.368, 2.226, 3.357, 4.79, 6.538, 8.609",\
                 "0.1564, 0.2148, 0.4072, 0.7696, 1.368, 2.222, 3.357, 4.79, 6.538, 8.61",\
                 "0.1574, 0.2148, 0.4074, 0.7698, 1.368, 2.225, 3.355, 4.789, 6.536, 8.603",\
                 "0.1558, 0.215, 0.4074, 0.7698, 1.365, 2.226, 3.355, 4.788, 6.538, 8.613",\
                 "0.1558, 0.2152, 0.4072, 0.7696, 1.368, 2.224, 3.359, 4.789, 6.527, 8.624",\
                 "0.1586, 0.2174, 0.4094, 0.7708, 1.366, 2.227, 3.355, 4.789, 6.533, 8.622",\
                 "0.161, 0.2192, 0.4116, 0.7706, 1.368, 2.225, 3.359, 4.787, 6.538, 8.608",\
                 "0.1636, 0.222, 0.4138, 0.7722, 1.367, 2.224, 3.359, 4.784, 6.535, 8.618",\
                 "0.1678, 0.2256, 0.4172, 0.7738, 1.368, 2.226, 3.356, 4.784, 6.532, 8.61");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.453, 1.507, 1.645, 1.836, 2.075, 2.369, 2.734, 3.183, 3.728, 4.377",\
                 "1.458, 1.513, 1.651, 1.841, 2.08, 2.375, 2.739, 3.189, 3.734, 4.382",\
                 "1.515, 1.57, 1.707, 1.898, 2.137, 2.431, 2.796, 3.245, 3.79, 4.439",\
                 "1.657, 1.711, 1.849, 2.04, 2.279, 2.573, 2.938, 3.387, 3.932, 4.581",\
                 "1.881, 1.936, 2.073, 2.264, 2.503, 2.797, 3.162, 3.611, 4.156, 4.805",\
                 "2.173, 2.228, 2.365, 2.556, 2.795, 3.089, 3.454, 3.903, 4.448, 5.097",\
                 "2.535, 2.59, 2.727, 2.918, 3.157, 3.451, 3.816, 4.265, 4.81, 5.459",\
                 "2.976, 3.031, 3.169, 3.36, 3.598, 3.893, 4.258, 4.707, 5.252, 5.9",\
                 "3.497, 3.551, 3.689, 3.881, 4.119, 4.414, 4.779, 5.228, 5.773, 6.421",\
                 "4.098, 4.152, 4.289, 4.48, 4.719, 5.013, 5.378, 5.827, 6.373, 7.022");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.582, 1.633, 1.776, 2.01, 2.358, 2.846, 3.489, 4.299, 5.288, 6.466",\
                 "1.597, 1.647, 1.79, 2.024, 2.373, 2.861, 3.503, 4.313, 5.302, 6.482",\
                 "1.633, 1.683, 1.827, 2.06, 2.409, 2.897, 3.54, 4.35, 5.338, 6.518",\
                 "1.65, 1.7, 1.843, 2.077, 2.426, 2.913, 3.556, 4.366, 5.356, 6.535",\
                 "1.626, 1.676, 1.819, 2.053, 2.402, 2.89, 3.533, 4.343, 5.332, 6.511",\
                 "1.556, 1.606, 1.749, 1.983, 2.332, 2.82, 3.462, 4.272, 5.262, 6.44",\
                 "1.432, 1.482, 1.625, 1.859, 2.208, 2.696, 3.338, 4.149, 5.138, 6.317",\
                 "1.249, 1.3, 1.443, 1.677, 2.025, 2.513, 3.156, 3.966, 4.955, 6.133",\
                 "1.003, 1.053, 1.197, 1.43, 1.779, 2.267, 2.91, 3.719, 4.708, 5.887",\
                 "0.6917, 0.742, 0.8855, 1.119, 1.468, 1.955, 2.597, 3.407, 4.396, 5.575");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2034, 0.2548, 0.384, 0.5836, 0.8676, 1.274, 1.831, 2.557, 3.461, 4.547",\
                 "0.2036, 0.2546, 0.3838, 0.5832, 0.8682, 1.274, 1.829, 2.558, 3.462, 4.545",\
                 "0.2034, 0.2546, 0.3838, 0.5834, 0.8684, 1.273, 1.829, 2.558, 3.462, 4.545",\
                 "0.2034, 0.2548, 0.384, 0.5836, 0.8678, 1.272, 1.829, 2.557, 3.461, 4.547",\
                 "0.2034, 0.255, 0.384, 0.5836, 0.8674, 1.272, 1.829, 2.556, 3.46, 4.548",\
                 "0.2028, 0.2554, 0.3842, 0.5834, 0.8672, 1.275, 1.828, 2.558, 3.461, 4.548",\
                 "0.2028, 0.2544, 0.3844, 0.5832, 0.8684, 1.274, 1.828, 2.555, 3.461, 4.548",\
                 "0.2034, 0.2548, 0.3842, 0.583, 0.8672, 1.274, 1.829, 2.557, 3.461, 4.544",\
                 "0.2034, 0.2544, 0.3844, 0.5832, 0.8676, 1.273, 1.828, 2.553, 3.456, 4.543",\
                 "0.203, 0.2544, 0.3844, 0.583, 0.867, 1.272, 1.83, 2.558, 3.458, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1542, 0.2132, 0.406, 0.7692, 1.368, 2.226, 3.357, 4.79, 6.527, 8.605",\
                 "0.1546, 0.2132, 0.4058, 0.7682, 1.368, 2.225, 3.356, 4.789, 6.533, 8.61",\
                 "0.1542, 0.2132, 0.4054, 0.7692, 1.367, 2.223, 3.357, 4.788, 6.538, 8.602",\
                 "0.154, 0.2132, 0.4054, 0.768, 1.366, 2.224, 3.357, 4.788, 6.529, 8.609",\
                 "0.1546, 0.2132, 0.4056, 0.768, 1.367, 2.226, 3.358, 4.789, 6.538, 8.604",\
                 "0.154, 0.2128, 0.4056, 0.7678, 1.368, 2.225, 3.359, 4.789, 6.525, 8.605",\
                 "0.1542, 0.213, 0.4058, 0.7682, 1.365, 2.223, 3.354, 4.787, 6.536, 8.604",\
                 "0.1538, 0.2134, 0.4052, 0.769, 1.365, 2.224, 3.355, 4.789, 6.529, 8.621",\
                 "0.154, 0.2128, 0.4054, 0.7674, 1.365, 2.223, 3.355, 4.784, 6.527, 8.616",\
                 "0.1542, 0.2134, 0.4058, 0.7688, 1.367, 2.223, 3.359, 4.782, 6.526, 8.602");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.67, 1.722, 1.854, 2.042, 2.279, 2.572, 2.936, 3.385, 3.93, 4.578",\
                 "1.682, 1.734, 1.866, 2.054, 2.29, 2.583, 2.948, 3.396, 3.941, 4.59",\
                 "1.737, 1.789, 1.922, 2.109, 2.346, 2.639, 3.003, 3.452, 3.997, 4.645",\
                 "1.865, 1.917, 2.05, 2.237, 2.474, 2.767, 3.131, 3.58, 4.125, 4.773",\
                 "2.085, 2.137, 2.27, 2.457, 2.694, 2.987, 3.351, 3.8, 4.345, 4.993",\
                 "2.394, 2.446, 2.579, 2.767, 3.003, 3.296, 3.66, 4.109, 4.654, 5.302",\
                 "2.772, 2.824, 2.957, 3.144, 3.381, 3.673, 4.038, 4.487, 5.031, 5.68",\
                 "3.222, 3.274, 3.406, 3.594, 3.83, 4.123, 4.487, 4.936, 5.482, 6.13",\
                 "3.749, 3.801, 3.935, 4.122, 4.358, 4.651, 5.015, 5.464, 6.008, 6.657",\
                 "4.357, 4.409, 4.541, 4.729, 4.965, 5.258, 5.623, 6.072, 6.617, 7.265");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.418, 1.461, 1.588, 1.812, 2.159, 2.647, 3.291, 4.102, 5.09, 6.272",\
                 "1.428, 1.471, 1.599, 1.822, 2.169, 2.658, 3.301, 4.112, 5.1, 6.283",\
                 "1.453, 1.497, 1.624, 1.847, 2.194, 2.683, 3.326, 4.136, 5.126, 6.308",\
                 "1.496, 1.539, 1.667, 1.89, 2.238, 2.726, 3.369, 4.179, 5.17, 6.351",\
                 "1.533, 1.577, 1.705, 1.928, 2.275, 2.763, 3.406, 4.217, 5.205, 6.388",\
                 "1.541, 1.585, 1.712, 1.935, 2.283, 2.771, 3.415, 4.225, 5.215, 6.396",\
                 "1.509, 1.553, 1.68, 1.903, 2.251, 2.739, 3.383, 4.193, 5.184, 6.365",\
                 "1.426, 1.47, 1.597, 1.82, 2.168, 2.656, 3.299, 4.109, 5.098, 6.279",\
                 "1.287, 1.331, 1.459, 1.681, 2.028, 2.517, 3.159, 3.97, 4.959, 6.137",\
                 "1.085, 1.129, 1.257, 1.48, 1.829, 2.315, 2.96, 3.77, 4.759, 5.938");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1912, 0.2404, 0.3696, 0.571, 0.8582, 1.268, 1.824, 2.554, 3.459, 4.547",\
                 "0.191, 0.2406, 0.3692, 0.5708, 0.8584, 1.268, 1.827, 2.555, 3.459, 4.545",\
                 "0.1916, 0.2406, 0.3692, 0.572, 0.8586, 1.266, 1.824, 2.554, 3.459, 4.546",\
                 "0.1912, 0.2406, 0.3692, 0.5708, 0.8582, 1.266, 1.824, 2.554, 3.46, 4.544",\
                 "0.1912, 0.2406, 0.3692, 0.5724, 0.8584, 1.267, 1.826, 2.553, 3.456, 4.547",\
                 "0.1912, 0.241, 0.3692, 0.5716, 0.8584, 1.266, 1.824, 2.554, 3.46, 4.545",\
                 "0.1908, 0.24, 0.3684, 0.5714, 0.8596, 1.267, 1.824, 2.552, 3.459, 4.541",\
                 "0.1906, 0.2398, 0.369, 0.5706, 0.8584, 1.265, 1.825, 2.555, 3.459, 4.542",\
                 "0.1912, 0.2404, 0.3694, 0.5708, 0.858, 1.266, 1.825, 2.551, 3.458, 4.546",\
                 "0.191, 0.2402, 0.3688, 0.5704, 0.859, 1.266, 1.824, 2.55, 3.458, 4.542");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.126, 0.1802, 0.364, 0.7424, 1.354, 2.216, 3.351, 4.779, 6.521, 8.605",\
                 "0.1254, 0.1806, 0.3638, 0.7444, 1.355, 2.217, 3.353, 4.779, 6.521, 8.603",\
                 "0.1254, 0.1804, 0.364, 0.7446, 1.356, 2.218, 3.354, 4.778, 6.524, 8.603",\
                 "0.1264, 0.1804, 0.3634, 0.7428, 1.356, 2.217, 3.354, 4.776, 6.524, 8.604",\
                 "0.1264, 0.1798, 0.364, 0.7444, 1.357, 2.217, 3.349, 4.778, 6.522, 8.605",\
                 "0.1262, 0.1802, 0.3636, 0.7436, 1.357, 2.217, 3.352, 4.778, 6.524, 8.604",\
                 "0.1252, 0.1798, 0.3638, 0.7422, 1.353, 2.217, 3.353, 4.777, 6.524, 8.606",\
                 "0.1262, 0.1804, 0.3642, 0.7438, 1.354, 2.215, 3.348, 4.785, 6.519, 8.606",\
                 "0.1256, 0.1802, 0.364, 0.7426, 1.357, 2.217, 3.354, 4.775, 6.522, 8.599",\
                 "0.1264, 0.1802, 0.364, 0.7428, 1.357, 2.215, 3.35, 4.779, 6.521, 8.595");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.67, 1.722, 1.854, 2.042, 2.279, 2.572, 2.936, 3.385, 3.93, 4.578",\
                 "1.682, 1.734, 1.866, 2.054, 2.29, 2.583, 2.948, 3.396, 3.941, 4.59",\
                 "1.737, 1.789, 1.922, 2.109, 2.346, 2.639, 3.003, 3.452, 3.997, 4.645",\
                 "1.865, 1.917, 2.05, 2.237, 2.474, 2.767, 3.131, 3.58, 4.125, 4.773",\
                 "2.085, 2.137, 2.27, 2.457, 2.694, 2.987, 3.351, 3.8, 4.345, 4.993",\
                 "2.394, 2.446, 2.579, 2.767, 3.003, 3.296, 3.66, 4.109, 4.654, 5.302",\
                 "2.772, 2.824, 2.957, 3.144, 3.381, 3.673, 4.038, 4.487, 5.031, 5.68",\
                 "3.222, 3.274, 3.406, 3.594, 3.83, 4.123, 4.487, 4.936, 5.482, 6.13",\
                 "3.749, 3.801, 3.935, 4.122, 4.358, 4.651, 5.015, 5.464, 6.008, 6.657",\
                 "4.357, 4.409, 4.541, 4.729, 4.965, 5.258, 5.623, 6.072, 6.617, 7.265");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.582, 1.633, 1.776, 2.01, 2.358, 2.846, 3.489, 4.299, 5.288, 6.466",\
                 "1.597, 1.647, 1.79, 2.024, 2.373, 2.861, 3.503, 4.313, 5.302, 6.482",\
                 "1.633, 1.683, 1.827, 2.06, 2.409, 2.897, 3.54, 4.35, 5.338, 6.518",\
                 "1.65, 1.7, 1.843, 2.077, 2.426, 2.913, 3.556, 4.366, 5.356, 6.535",\
                 "1.626, 1.676, 1.819, 2.053, 2.402, 2.89, 3.533, 4.343, 5.332, 6.511",\
                 "1.556, 1.606, 1.749, 1.983, 2.332, 2.82, 3.462, 4.272, 5.262, 6.44",\
                 "1.432, 1.482, 1.625, 1.859, 2.208, 2.696, 3.338, 4.149, 5.138, 6.317",\
                 "1.249, 1.3, 1.443, 1.677, 2.025, 2.513, 3.156, 3.966, 4.955, 6.133",\
                 "1.003, 1.053, 1.197, 1.43, 1.779, 2.267, 2.91, 3.719, 4.708, 5.887",\
                 "0.6917, 0.742, 0.8855, 1.119, 1.468, 1.955, 2.597, 3.407, 4.396, 5.575");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2034, 0.2548, 0.384, 0.5836, 0.8676, 1.274, 1.831, 2.557, 3.461, 4.547",\
                 "0.2036, 0.2546, 0.3838, 0.5832, 0.8682, 1.274, 1.829, 2.558, 3.462, 4.545",\
                 "0.2034, 0.2546, 0.3838, 0.5834, 0.8684, 1.273, 1.829, 2.558, 3.462, 4.545",\
                 "0.2034, 0.2548, 0.384, 0.5836, 0.8678, 1.272, 1.829, 2.557, 3.461, 4.547",\
                 "0.2034, 0.255, 0.384, 0.5836, 0.8674, 1.272, 1.829, 2.556, 3.46, 4.548",\
                 "0.2028, 0.2554, 0.3842, 0.5834, 0.8672, 1.275, 1.828, 2.558, 3.461, 4.548",\
                 "0.2028, 0.2544, 0.3844, 0.5832, 0.8684, 1.274, 1.828, 2.555, 3.461, 4.548",\
                 "0.2034, 0.2548, 0.3842, 0.583, 0.8672, 1.274, 1.829, 2.557, 3.461, 4.544",\
                 "0.2034, 0.2544, 0.3844, 0.5832, 0.8676, 1.273, 1.828, 2.553, 3.456, 4.543",\
                 "0.203, 0.2544, 0.3844, 0.583, 0.867, 1.272, 1.83, 2.558, 3.458, 4.54");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1542, 0.2132, 0.406, 0.7692, 1.368, 2.226, 3.357, 4.79, 6.527, 8.605",\
                 "0.1546, 0.2132, 0.4058, 0.7682, 1.368, 2.225, 3.356, 4.789, 6.533, 8.61",\
                 "0.1542, 0.2132, 0.4054, 0.7692, 1.367, 2.223, 3.357, 4.788, 6.538, 8.602",\
                 "0.154, 0.2132, 0.4054, 0.768, 1.366, 2.224, 3.357, 4.788, 6.529, 8.609",\
                 "0.1546, 0.2132, 0.4056, 0.768, 1.367, 2.226, 3.358, 4.789, 6.538, 8.604",\
                 "0.154, 0.2128, 0.4056, 0.7678, 1.368, 2.225, 3.359, 4.789, 6.525, 8.605",\
                 "0.1542, 0.213, 0.4058, 0.7682, 1.365, 2.223, 3.354, 4.787, 6.536, 8.604",\
                 "0.1538, 0.2134, 0.4052, 0.769, 1.365, 2.224, 3.355, 4.789, 6.529, 8.621",\
                 "0.154, 0.2128, 0.4054, 0.7674, 1.365, 2.223, 3.355, 4.784, 6.527, 8.616",\
                 "0.1542, 0.2134, 0.4058, 0.7688, 1.367, 2.223, 3.359, 4.782, 6.526, 8.602");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.8335, 0.8879, 1.026, 1.216, 1.455, 1.75, 2.114, 2.564, 3.109, 3.757",\
                 "0.8468, 0.9015, 1.039, 1.23, 1.469, 1.763, 2.128, 2.577, 3.122, 3.771",\
                 "0.8866, 0.941, 1.079, 1.27, 1.508, 1.803, 2.168, 2.617, 3.162, 3.811",\
                 "0.9181, 0.9727, 1.111, 1.301, 1.54, 1.834, 2.199, 2.648, 3.193, 3.842",\
                 "0.9223, 0.9764, 1.112, 1.302, 1.54, 1.834, 2.199, 2.649, 3.194, 3.842",\
                 "0.8877, 0.94, 1.074, 1.262, 1.5, 1.794, 2.159, 2.608, 3.153, 3.802",\
                 "0.8009, 0.8528, 0.987, 1.175, 1.412, 1.707, 2.072, 2.521, 3.066, 3.715",\
                 "0.6658, 0.718, 0.8518, 1.041, 1.279, 1.572, 1.937, 2.387, 2.932, 3.581",\
                 "0.4779, 0.5308, 0.6653, 0.8546, 1.092, 1.386, 1.749, 2.198, 2.742, 3.391",\
                 "0.2361, 0.2899, 0.424, 0.6126, 0.85, 1.143, 1.506, 1.955, 2.499, 3.146");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.076, 1.12, 1.247, 1.471, 1.818, 2.306, 2.95, 3.759, 4.751, 5.932",\
                 "1.084, 1.127, 1.255, 1.478, 1.826, 2.314, 2.957, 3.767, 4.758, 5.939",\
                 "1.118, 1.163, 1.289, 1.513, 1.86, 2.349, 2.992, 3.803, 4.791, 5.973",\
                 "1.213, 1.257, 1.384, 1.607, 1.955, 2.443, 3.086, 3.897, 4.887, 6.068",\
                 "1.387, 1.431, 1.558, 1.781, 2.129, 2.617, 3.26, 4.071, 5.059, 6.241",\
                 "1.635, 1.679, 1.807, 2.03, 2.377, 2.866, 3.509, 4.319, 5.31, 6.49",\
                 "1.955, 1.999, 2.127, 2.351, 2.697, 3.185, 3.828, 4.639, 5.628, 6.807",\
                 "2.346, 2.391, 2.519, 2.742, 3.088, 3.576, 4.219, 5.03, 6.02, 7.198",\
                 "2.805, 2.851, 2.979, 3.202, 3.548, 4.036, 4.678, 5.488, 6.477, 7.657",\
                 "3.329, 3.376, 3.507, 3.729, 4.074, 4.562, 5.204, 6.013, 7.002, 8.18");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2028, 0.2551, 0.3835, 0.5824, 0.8672, 1.274, 1.828, 2.558, 3.461, 4.548",\
                 "0.2027, 0.2544, 0.3838, 0.5828, 0.8676, 1.274, 1.828, 2.556, 3.461, 4.548",\
                 "0.2032, 0.2546, 0.3838, 0.583, 0.8682, 1.273, 1.831, 2.556, 3.46, 4.548",\
                 "0.2036, 0.255, 0.3842, 0.5832, 0.8678, 1.274, 1.831, 2.556, 3.461, 4.547",\
                 "0.1978, 0.2488, 0.378, 0.5806, 0.8654, 1.273, 1.831, 2.555, 3.459, 4.548",\
                 "0.194, 0.2442, 0.3734, 0.5774, 0.8624, 1.27, 1.828, 2.557, 3.462, 4.548",\
                 "0.194, 0.2438, 0.3736, 0.5762, 0.8628, 1.27, 1.827, 2.553, 3.459, 4.545",\
                 "0.1944, 0.2448, 0.3742, 0.577, 0.8638, 1.272, 1.829, 2.553, 3.455, 4.541",\
                 "0.196, 0.2458, 0.375, 0.5776, 0.8644, 1.268, 1.826, 2.549, 3.453, 4.54",\
                 "0.1974, 0.247, 0.3764, 0.5794, 0.8638, 1.266, 1.824, 2.547, 3.451, 4.539");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1264, 0.1804, 0.3632, 0.7426, 1.357, 2.218, 3.352, 4.777, 6.524, 8.606",\
                 "0.1264, 0.1806, 0.3634, 0.7428, 1.354, 2.218, 3.353, 4.777, 6.523, 8.603",\
                 "0.126, 0.1802, 0.3634, 0.7428, 1.355, 2.217, 3.353, 4.779, 6.521, 8.605",\
                 "0.1256, 0.1804, 0.364, 0.7444, 1.356, 2.218, 3.354, 4.777, 6.523, 8.601",\
                 "0.1258, 0.1804, 0.364, 0.7428, 1.356, 2.217, 3.352, 4.775, 6.523, 8.605",\
                 "0.1274, 0.1818, 0.3652, 0.743, 1.355, 2.216, 3.351, 4.785, 6.523, 8.608",\
                 "0.1284, 0.1838, 0.3668, 0.7436, 1.354, 2.217, 3.353, 4.778, 6.524, 8.599",\
                 "0.1326, 0.1868, 0.3678, 0.7434, 1.354, 2.216, 3.352, 4.783, 6.52, 8.601",\
                 "0.1368, 0.1906, 0.3714, 0.7448, 1.357, 2.216, 3.347, 4.782, 6.52, 8.604",\
                 "0.1414, 0.196, 0.3754, 0.7464, 1.357, 2.216, 3.352, 4.774, 6.518, 8.596");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.8359, 0.8905, 1.028, 1.219, 1.458, 1.753, 2.117, 2.567, 3.112, 3.76",\
                 "0.8494, 0.9038, 1.042, 1.233, 1.471, 1.766, 2.131, 2.58, 3.125, 3.774",\
                 "0.8892, 0.9436, 1.081, 1.273, 1.511, 1.806, 2.171, 2.62, 3.165, 3.814",\
                 "0.9213, 0.9759, 1.114, 1.305, 1.544, 1.838, 2.203, 2.652, 3.197, 3.846",\
                 "0.9253, 0.9794, 1.115, 1.305, 1.544, 1.838, 2.203, 2.652, 3.197, 3.846",\
                 "0.8908, 0.9435, 1.077, 1.265, 1.503, 1.798, 2.163, 2.612, 3.157, 3.806",\
                 "0.8036, 0.856, 0.9898, 1.179, 1.416, 1.711, 2.075, 2.524, 3.069, 3.718",\
                 "0.6681, 0.7203, 0.8545, 1.043, 1.281, 1.575, 1.94, 2.39, 2.935, 3.584",\
                 "0.4803, 0.5332, 0.6676, 0.8571, 1.095, 1.389, 1.753, 2.202, 2.746, 3.395",\
                 "0.2377, 0.2918, 0.4253, 0.6143, 0.8521, 1.145, 1.51, 1.957, 2.501, 3.149");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.077, 1.121, 1.248, 1.472, 1.819, 2.307, 2.951, 3.761, 4.751, 5.93",\
                 "1.085, 1.128, 1.256, 1.479, 1.827, 2.315, 2.958, 3.768, 4.758, 5.94",\
                 "1.119, 1.164, 1.291, 1.514, 1.861, 2.349, 2.993, 3.803, 4.793, 5.975",\
                 "1.214, 1.258, 1.385, 1.608, 1.956, 2.444, 3.087, 3.898, 4.887, 6.069",\
                 "1.388, 1.431, 1.559, 1.782, 2.129, 2.618, 3.261, 4.071, 5.06, 6.241",\
                 "1.636, 1.68, 1.807, 2.031, 2.377, 2.866, 3.509, 4.32, 5.31, 6.487",\
                 "1.955, 2, 2.127, 2.35, 2.697, 3.185, 3.829, 4.639, 5.628, 6.807",\
                 "2.346, 2.391, 2.519, 2.742, 3.088, 3.576, 4.219, 5.03, 6.019, 7.198",\
                 "2.805, 2.85, 2.98, 3.202, 3.548, 4.036, 4.678, 5.488, 6.476, 7.656",\
                 "3.328, 3.375, 3.506, 3.728, 4.073, 4.561, 5.203, 6.012, 7.001, 8.179");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2032, 0.2546, 0.3839, 0.583, 0.8688, 1.274, 1.831, 2.557, 3.462, 4.548",\
                 "0.2031, 0.2558, 0.3843, 0.5834, 0.868, 1.274, 1.829, 2.555, 3.462, 4.548",\
                 "0.2042, 0.256, 0.3842, 0.5836, 0.8678, 1.274, 1.829, 2.558, 3.462, 4.543",\
                 "0.2034, 0.2552, 0.3842, 0.5844, 0.8686, 1.274, 1.832, 2.556, 3.46, 4.548",\
                 "0.1978, 0.2488, 0.3784, 0.5818, 0.8678, 1.273, 1.828, 2.557, 3.458, 4.548",\
                 "0.1946, 0.2448, 0.3738, 0.5764, 0.8632, 1.271, 1.829, 2.555, 3.462, 4.547",\
                 "0.1944, 0.2444, 0.374, 0.577, 0.8634, 1.271, 1.828, 2.553, 3.457, 4.546",\
                 "0.195, 0.2444, 0.3748, 0.5774, 0.8642, 1.273, 1.829, 2.553, 3.455, 4.541",\
                 "0.1964, 0.2458, 0.376, 0.5788, 0.8652, 1.269, 1.825, 2.55, 3.454, 4.539",\
                 "0.1978, 0.2476, 0.3776, 0.5794, 0.8624, 1.266, 1.822, 2.546, 3.453, 4.538");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1264, 0.1804, 0.3638, 0.7426, 1.357, 2.218, 3.349, 4.78, 6.524, 8.603",\
                 "0.1264, 0.1804, 0.364, 0.7428, 1.356, 2.218, 3.353, 4.776, 6.527, 8.601",\
                 "0.1266, 0.1802, 0.364, 0.7442, 1.357, 2.217, 3.354, 4.776, 6.524, 8.604",\
                 "0.1254, 0.1806, 0.3638, 0.7446, 1.356, 2.218, 3.354, 4.777, 6.525, 8.602",\
                 "0.1258, 0.1804, 0.364, 0.7426, 1.357, 2.218, 3.354, 4.778, 6.522, 8.613",\
                 "0.127, 0.1812, 0.3656, 0.743, 1.355, 2.216, 3.347, 4.779, 6.523, 8.602",\
                 "0.1286, 0.1828, 0.3662, 0.7428, 1.354, 2.217, 3.353, 4.778, 6.524, 8.599",\
                 "0.1328, 0.1868, 0.368, 0.744, 1.354, 2.215, 3.352, 4.786, 6.518, 8.599",\
                 "0.1358, 0.191, 0.371, 0.7448, 1.357, 2.218, 3.348, 4.781, 6.519, 8.602",\
                 "0.1416, 0.196, 0.3752, 0.7462, 1.357, 2.218, 3.349, 4.776, 6.52, 8.598");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.8359, 0.8905, 1.028, 1.219, 1.458, 1.753, 2.117, 2.567, 3.112, 3.76",\
                 "0.8494, 0.9038, 1.042, 1.233, 1.471, 1.766, 2.131, 2.58, 3.125, 3.774",\
                 "0.8892, 0.9436, 1.081, 1.273, 1.511, 1.806, 2.171, 2.62, 3.165, 3.814",\
                 "0.9213, 0.9759, 1.114, 1.305, 1.544, 1.838, 2.203, 2.652, 3.197, 3.846",\
                 "0.9253, 0.9794, 1.115, 1.305, 1.544, 1.838, 2.203, 2.652, 3.197, 3.846",\
                 "0.8908, 0.9435, 1.077, 1.265, 1.503, 1.798, 2.163, 2.612, 3.157, 3.806",\
                 "0.8036, 0.856, 0.9898, 1.179, 1.416, 1.711, 2.075, 2.524, 3.069, 3.718",\
                 "0.6681, 0.7203, 0.8545, 1.043, 1.281, 1.575, 1.94, 2.39, 2.935, 3.584",\
                 "0.4803, 0.5332, 0.6676, 0.8571, 1.095, 1.389, 1.753, 2.202, 2.746, 3.395",\
                 "0.2377, 0.2918, 0.4253, 0.6143, 0.8521, 1.145, 1.51, 1.957, 2.501, 3.149");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("1.076, 1.12, 1.247, 1.471, 1.818, 2.306, 2.95, 3.759, 4.751, 5.932",\
                 "1.084, 1.127, 1.255, 1.478, 1.826, 2.314, 2.957, 3.767, 4.758, 5.939",\
                 "1.118, 1.163, 1.289, 1.513, 1.86, 2.349, 2.992, 3.803, 4.791, 5.973",\
                 "1.213, 1.257, 1.384, 1.607, 1.955, 2.443, 3.086, 3.897, 4.887, 6.068",\
                 "1.387, 1.431, 1.558, 1.781, 2.129, 2.617, 3.26, 4.071, 5.059, 6.241",\
                 "1.635, 1.679, 1.807, 2.03, 2.377, 2.866, 3.509, 4.319, 5.31, 6.49",\
                 "1.955, 1.999, 2.127, 2.351, 2.697, 3.185, 3.828, 4.639, 5.628, 6.807",\
                 "2.346, 2.391, 2.519, 2.742, 3.088, 3.576, 4.219, 5.03, 6.02, 7.198",\
                 "2.805, 2.851, 2.979, 3.202, 3.548, 4.036, 4.678, 5.488, 6.477, 7.657",\
                 "3.329, 3.376, 3.507, 3.729, 4.074, 4.562, 5.204, 6.013, 7.002, 8.18");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.2028, 0.2551, 0.3835, 0.5824, 0.8672, 1.274, 1.828, 2.558, 3.461, 4.548",\
                 "0.2027, 0.2544, 0.3838, 0.5828, 0.8676, 1.274, 1.828, 2.556, 3.461, 4.548",\
                 "0.2032, 0.2546, 0.3838, 0.583, 0.8682, 1.273, 1.831, 2.556, 3.46, 4.548",\
                 "0.2036, 0.255, 0.3842, 0.5832, 0.8678, 1.274, 1.831, 2.556, 3.461, 4.547",\
                 "0.1978, 0.2488, 0.378, 0.5806, 0.8654, 1.273, 1.831, 2.555, 3.459, 4.548",\
                 "0.194, 0.2442, 0.3734, 0.5774, 0.8624, 1.27, 1.828, 2.557, 3.462, 4.548",\
                 "0.194, 0.2438, 0.3736, 0.5762, 0.8628, 1.27, 1.827, 2.553, 3.459, 4.545",\
                 "0.1944, 0.2448, 0.3742, 0.577, 0.8638, 1.272, 1.829, 2.553, 3.455, 4.541",\
                 "0.196, 0.2458, 0.375, 0.5776, 0.8644, 1.268, 1.826, 2.549, 3.453, 4.54",\
                 "0.1974, 0.247, 0.3764, 0.5794, 0.8638, 1.266, 1.824, 2.547, 3.451, 4.539");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1264, 0.1804, 0.3638, 0.7426, 1.357, 2.218, 3.349, 4.78, 6.524, 8.603",\
                 "0.1264, 0.1804, 0.364, 0.7428, 1.356, 2.218, 3.353, 4.776, 6.527, 8.601",\
                 "0.1266, 0.1802, 0.364, 0.7442, 1.357, 2.217, 3.354, 4.776, 6.524, 8.604",\
                 "0.1254, 0.1806, 0.3638, 0.7446, 1.356, 2.218, 3.354, 4.777, 6.525, 8.602",\
                 "0.1258, 0.1804, 0.364, 0.7426, 1.357, 2.218, 3.354, 4.778, 6.522, 8.613",\
                 "0.127, 0.1812, 0.3656, 0.743, 1.355, 2.216, 3.347, 4.779, 6.523, 8.602",\
                 "0.1286, 0.1828, 0.3662, 0.7428, 1.354, 2.217, 3.353, 4.778, 6.524, 8.599",\
                 "0.1328, 0.1868, 0.368, 0.744, 1.354, 2.215, 3.352, 4.786, 6.518, 8.599",\
                 "0.1358, 0.191, 0.371, 0.7448, 1.357, 2.218, 3.348, 4.781, 6.519, 8.602",\
                 "0.1416, 0.196, 0.3752, 0.7462, 1.357, 2.218, 3.349, 4.776, 6.52, 8.598");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.588, 0.64, 0.7731, 0.9611, 1.198, 1.491, 1.855, 2.304, 2.849, 3.498",\
                 "0.6006, 0.653, 0.7857, 0.9738, 1.21, 1.504, 1.868, 2.317, 2.862, 3.51",\
                 "0.652, 0.7043, 0.8372, 1.025, 1.262, 1.555, 1.919, 2.368, 2.913, 3.561",\
                 "0.771, 0.8232, 0.9557, 1.143, 1.38, 1.673, 2.037, 2.486, 3.031, 3.68",\
                 "0.9646, 1.018, 1.15, 1.337, 1.574, 1.867, 2.231, 2.68, 3.224, 3.873",\
                 "1.199, 1.255, 1.393, 1.584, 1.824, 2.119, 2.484, 2.933, 3.476, 4.125",\
                 "1.474, 1.533, 1.677, 1.874, 2.118, 2.416, 2.782, 3.231, 3.775, 4.423",\
                 "1.796, 1.857, 2.009, 2.212, 2.46, 2.761, 3.128, 3.577, 4.123, 4.77",\
                 "2.159, 2.224, 2.385, 2.598, 2.854, 3.159, 3.527, 3.977, 4.521, 5.169",\
                 "2.565, 2.634, 2.804, 3.028, 3.295, 3.607, 3.98, 4.432, 4.975, 5.623");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3938, 0.4419, 0.5814, 0.8139, 1.164, 1.653, 2.298, 3.108, 4.097, 5.279",\
                 "0.407, 0.4552, 0.5945, 0.827, 1.177, 1.666, 2.311, 3.121, 4.11, 5.292",\
                 "0.4531, 0.5012, 0.6402, 0.8725, 1.222, 1.711, 2.355, 3.166, 4.155, 5.337",\
                 "0.5369, 0.5851, 0.7235, 0.9546, 1.303, 1.792, 2.437, 3.247, 4.236, 5.418",\
                 "0.6133, 0.663, 0.8044, 1.036, 1.384, 1.871, 2.515, 3.324, 4.313, 5.496",\
                 "0.6681, 0.72, 0.8644, 1.097, 1.444, 1.931, 2.572, 3.381, 4.37, 5.551",\
                 "0.6954, 0.7512, 0.9004, 1.135, 1.481, 1.967, 2.607, 3.415, 4.402, 5.585",\
                 "0.691, 0.7504, 0.9062, 1.147, 1.494, 1.976, 2.616, 3.424, 4.412, 5.589",\
                 "0.6507, 0.7142, 0.878, 1.124, 1.475, 1.961, 2.598, 3.404, 4.392, 5.569",\
                 "0.5724, 0.6396, 0.8108, 1.066, 1.421, 1.91, 2.551, 3.357, 4.342, 5.519");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.192, 0.2421, 0.3693, 0.572, 0.8602, 1.268, 1.826, 2.555, 3.459, 4.545",\
                 "0.1916, 0.2406, 0.3695, 0.5722, 0.8592, 1.268, 1.825, 2.555, 3.46, 4.547",\
                 "0.1919, 0.2405, 0.3696, 0.5728, 0.8594, 1.268, 1.825, 2.555, 3.46, 4.547",\
                 "0.191, 0.2404, 0.3702, 0.5734, 0.8602, 1.268, 1.825, 2.555, 3.46, 4.544",\
                 "0.2034, 0.2508, 0.3774, 0.5782, 0.863, 1.27, 1.828, 2.555, 3.459, 4.543",\
                 "0.229, 0.2792, 0.404, 0.6008, 0.8796, 1.278, 1.83, 2.554, 3.461, 4.545",\
                 "0.2536, 0.306, 0.4334, 0.626, 0.9028, 1.296, 1.842, 2.563, 3.463, 4.542",\
                 "0.284, 0.34, 0.4666, 0.6562, 0.9272, 1.314, 1.857, 2.57, 3.466, 4.548",\
                 "0.317, 0.375, 0.5098, 0.6968, 0.9626, 1.337, 1.871, 2.578, 3.471, 4.549",\
                 "0.3532, 0.415, 0.559, 0.751, 1.011, 1.378, 1.896, 2.594, 3.478, 4.554");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1356, 0.1953, 0.388, 0.7584, 1.364, 2.225, 3.356, 4.787, 6.537, 8.613",\
                 "0.1357, 0.1951, 0.388, 0.7584, 1.364, 2.225, 3.356, 4.787, 6.537, 8.613",\
                 "0.1352, 0.195, 0.388, 0.7598, 1.364, 2.225, 3.358, 4.787, 6.532, 8.612",\
                 "0.1394, 0.198, 0.3908, 0.7592, 1.365, 2.225, 3.362, 4.786, 6.534, 8.611",\
                 "0.1548, 0.2122, 0.4032, 0.7662, 1.366, 2.225, 3.361, 4.791, 6.535, 8.614",\
                 "0.175, 0.2304, 0.4178, 0.7752, 1.369, 2.225, 3.358, 4.791, 6.535, 8.611",\
                 "0.1998, 0.2548, 0.4388, 0.7874, 1.374, 2.227, 3.362, 4.791, 6.537, 8.613",\
                 "0.2274, 0.2826, 0.466, 0.8082, 1.385, 2.232, 3.362, 4.789, 6.534, 8.624",\
                 "0.2562, 0.3134, 0.496, 0.836, 1.406, 2.247, 3.366, 4.79, 6.531, 8.625",\
                 "0.2848, 0.347, 0.5304, 0.8678, 1.431, 2.271, 3.387, 4.799, 6.535, 8.608");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.5881, 0.64, 0.7731, 0.9611, 1.198, 1.491, 1.855, 2.304, 2.849, 3.498",\
                 "0.6006, 0.653, 0.7859, 0.9738, 1.21, 1.504, 1.868, 2.317, 2.862, 3.51",\
                 "0.6519, 0.7042, 0.8372, 1.025, 1.261, 1.555, 1.919, 2.368, 2.913, 3.561",\
                 "0.7711, 0.8232, 0.9557, 1.143, 1.38, 1.673, 2.037, 2.486, 3.031, 3.68",\
                 "0.9647, 1.017, 1.15, 1.337, 1.574, 1.867, 2.231, 2.68, 3.225, 3.873",\
                 "1.199, 1.255, 1.393, 1.584, 1.824, 2.119, 2.484, 2.933, 3.477, 4.125",\
                 "1.474, 1.533, 1.677, 1.874, 2.119, 2.416, 2.783, 3.231, 3.775, 4.423",\
                 "1.796, 1.857, 2.009, 2.212, 2.461, 2.761, 3.128, 3.577, 4.123, 4.77",\
                 "2.159, 2.224, 2.385, 2.598, 2.854, 3.158, 3.527, 3.977, 4.521, 5.169",\
                 "2.565, 2.634, 2.804, 3.028, 3.295, 3.607, 3.98, 4.432, 4.975, 5.624");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3938, 0.4419, 0.5814, 0.8139, 1.164, 1.653, 2.298, 3.108, 4.097, 5.279",\
                 "0.407, 0.4552, 0.5945, 0.827, 1.177, 1.666, 2.311, 3.121, 4.11, 5.292",\
                 "0.4531, 0.5011, 0.6402, 0.8725, 1.222, 1.711, 2.356, 3.166, 4.156, 5.338",\
                 "0.5369, 0.585, 0.7235, 0.9545, 1.304, 1.792, 2.437, 3.247, 4.236, 5.418",\
                 "0.6133, 0.663, 0.8044, 1.036, 1.384, 1.871, 2.514, 3.325, 4.313, 5.496",\
                 "0.668, 0.72, 0.8639, 1.097, 1.444, 1.931, 2.572, 3.382, 4.37, 5.552",\
                 "0.6955, 0.7512, 0.9002, 1.136, 1.481, 1.966, 2.607, 3.415, 4.403, 5.586",\
                 "0.691, 0.7504, 0.9062, 1.147, 1.494, 1.976, 2.616, 3.424, 4.412, 5.589",\
                 "0.6507, 0.7142, 0.8777, 1.124, 1.475, 1.961, 2.598, 3.404, 4.392, 5.569",\
                 "0.5724, 0.6396, 0.8108, 1.066, 1.421, 1.91, 2.551, 3.357, 4.342, 5.519");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1913, 0.2421, 0.3693, 0.572, 0.8604, 1.268, 1.826, 2.555, 3.459, 4.545",\
                 "0.192, 0.2406, 0.3698, 0.5722, 0.86, 1.268, 1.825, 2.553, 3.46, 4.547",\
                 "0.1922, 0.2407, 0.37, 0.572, 0.8592, 1.268, 1.825, 2.554, 3.46, 4.547",\
                 "0.1908, 0.2402, 0.3698, 0.5724, 0.8604, 1.267, 1.825, 2.553, 3.457, 4.547",\
                 "0.2034, 0.251, 0.3774, 0.5782, 0.8634, 1.27, 1.829, 2.555, 3.46, 4.543",\
                 "0.229, 0.2792, 0.4036, 0.6006, 0.8796, 1.278, 1.83, 2.556, 3.461, 4.545",\
                 "0.2536, 0.3058, 0.4334, 0.626, 0.9018, 1.296, 1.842, 2.562, 3.463, 4.542",\
                 "0.284, 0.339, 0.4662, 0.6556, 0.9268, 1.313, 1.857, 2.571, 3.467, 4.547",\
                 "0.317, 0.375, 0.51, 0.6968, 0.9608, 1.338, 1.871, 2.578, 3.471, 4.549",\
                 "0.3532, 0.415, 0.559, 0.751, 1.01, 1.378, 1.896, 2.593, 3.478, 4.555");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1357, 0.1952, 0.388, 0.7584, 1.364, 2.225, 3.356, 4.787, 6.537, 8.612",\
                 "0.1357, 0.1951, 0.388, 0.7584, 1.364, 2.225, 3.356, 4.787, 6.537, 8.613",\
                 "0.1351, 0.1956, 0.388, 0.7584, 1.363, 2.225, 3.359, 4.787, 6.537, 8.613",\
                 "0.1394, 0.1978, 0.3908, 0.7594, 1.363, 2.225, 3.358, 4.787, 6.532, 8.614",\
                 "0.1548, 0.2122, 0.4032, 0.766, 1.366, 2.225, 3.361, 4.791, 6.535, 8.614",\
                 "0.174, 0.2304, 0.4178, 0.7748, 1.369, 2.227, 3.36, 4.794, 6.533, 8.61",\
                 "0.1998, 0.2548, 0.4386, 0.7876, 1.374, 2.228, 3.36, 4.789, 6.533, 8.612",\
                 "0.2274, 0.2828, 0.4654, 0.8082, 1.385, 2.232, 3.362, 4.789, 6.532, 8.624",\
                 "0.2562, 0.3134, 0.4964, 0.836, 1.406, 2.247, 3.366, 4.79, 6.531, 8.625",\
                 "0.2848, 0.347, 0.5304, 0.8678, 1.432, 2.271, 3.388, 4.799, 6.535, 8.608");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.5881, 0.64, 0.7731, 0.9611, 1.198, 1.491, 1.855, 2.304, 2.849, 3.498",\
                 "0.6006, 0.653, 0.7859, 0.9738, 1.21, 1.504, 1.868, 2.317, 2.862, 3.51",\
                 "0.6519, 0.7042, 0.8372, 1.025, 1.261, 1.555, 1.919, 2.368, 2.913, 3.561",\
                 "0.7711, 0.8232, 0.9557, 1.143, 1.38, 1.673, 2.037, 2.486, 3.031, 3.68",\
                 "0.9647, 1.017, 1.15, 1.337, 1.574, 1.867, 2.231, 2.68, 3.225, 3.873",\
                 "1.199, 1.255, 1.393, 1.584, 1.824, 2.119, 2.484, 2.933, 3.477, 4.125",\
                 "1.474, 1.533, 1.677, 1.874, 2.119, 2.416, 2.783, 3.231, 3.775, 4.423",\
                 "1.796, 1.857, 2.009, 2.212, 2.461, 2.761, 3.128, 3.577, 4.123, 4.77",\
                 "2.159, 2.224, 2.385, 2.598, 2.854, 3.158, 3.527, 3.977, 4.521, 5.169",\
                 "2.565, 2.634, 2.804, 3.028, 3.295, 3.607, 3.98, 4.432, 4.975, 5.624");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.3938, 0.4419, 0.5814, 0.8139, 1.164, 1.653, 2.298, 3.108, 4.097, 5.279",\
                 "0.407, 0.4552, 0.5945, 0.827, 1.177, 1.666, 2.311, 3.121, 4.11, 5.292",\
                 "0.4531, 0.5011, 0.6402, 0.8725, 1.222, 1.711, 2.356, 3.166, 4.156, 5.338",\
                 "0.5369, 0.585, 0.7235, 0.9545, 1.304, 1.792, 2.437, 3.247, 4.236, 5.418",\
                 "0.6133, 0.663, 0.8044, 1.036, 1.384, 1.871, 2.514, 3.325, 4.313, 5.496",\
                 "0.668, 0.72, 0.8639, 1.097, 1.444, 1.931, 2.572, 3.382, 4.37, 5.552",\
                 "0.6955, 0.7512, 0.9002, 1.136, 1.481, 1.966, 2.607, 3.415, 4.403, 5.586",\
                 "0.691, 0.7504, 0.9062, 1.147, 1.494, 1.976, 2.616, 3.424, 4.412, 5.589",\
                 "0.6507, 0.7142, 0.8777, 1.124, 1.475, 1.961, 2.598, 3.404, 4.392, 5.569",\
                 "0.5724, 0.6396, 0.8108, 1.066, 1.421, 1.91, 2.551, 3.357, 4.342, 5.519");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1913, 0.2421, 0.3693, 0.572, 0.8604, 1.268, 1.826, 2.555, 3.459, 4.545",\
                 "0.192, 0.2406, 0.3698, 0.5722, 0.86, 1.268, 1.825, 2.553, 3.46, 4.547",\
                 "0.1922, 0.2407, 0.37, 0.572, 0.8592, 1.268, 1.825, 2.554, 3.46, 4.547",\
                 "0.1908, 0.2402, 0.3698, 0.5724, 0.8604, 1.267, 1.825, 2.553, 3.457, 4.547",\
                 "0.2034, 0.251, 0.3774, 0.5782, 0.8634, 1.27, 1.829, 2.555, 3.46, 4.543",\
                 "0.229, 0.2792, 0.4036, 0.6006, 0.8796, 1.278, 1.83, 2.556, 3.461, 4.545",\
                 "0.2536, 0.3058, 0.4334, 0.626, 0.9018, 1.296, 1.842, 2.562, 3.463, 4.542",\
                 "0.284, 0.339, 0.4662, 0.6556, 0.9268, 1.313, 1.857, 2.571, 3.467, 4.547",\
                 "0.317, 0.375, 0.51, 0.6968, 0.9608, 1.338, 1.871, 2.578, 3.471, 4.549",\
                 "0.3532, 0.415, 0.559, 0.751, 1.01, 1.378, 1.896, 2.593, 3.478, 4.555");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01092, 0.04573, 0.1122, 0.2158, 0.3611, 0.5524, 0.7933, 1.087, 1.438");
          values("0.1357, 0.1952, 0.388, 0.7584, 1.364, 2.225, 3.356, 4.787, 6.537, 8.612",\
                 "0.1357, 0.1951, 0.388, 0.7584, 1.364, 2.225, 3.356, 4.787, 6.537, 8.613",\
                 "0.1351, 0.1956, 0.388, 0.7584, 1.363, 2.225, 3.359, 4.787, 6.537, 8.613",\
                 "0.1394, 0.1978, 0.3908, 0.7594, 1.363, 2.225, 3.358, 4.787, 6.532, 8.614",\
                 "0.1548, 0.2122, 0.4032, 0.766, 1.366, 2.225, 3.361, 4.791, 6.535, 8.614",\
                 "0.174, 0.2304, 0.4178, 0.7748, 1.369, 2.227, 3.36, 4.794, 6.533, 8.61",\
                 "0.1998, 0.2548, 0.4386, 0.7876, 1.374, 2.228, 3.36, 4.789, 6.533, 8.612",\
                 "0.2274, 0.2828, 0.4654, 0.8082, 1.385, 2.232, 3.362, 4.789, 6.532, 8.624",\
                 "0.2562, 0.3134, 0.4964, 0.836, 1.406, 2.247, 3.366, 4.79, 6.531, 8.625",\
                 "0.2848, 0.347, 0.5304, 0.8678, 1.432, 2.271, 3.388, 4.799, 6.535, 8.608");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xor2_1) {
    area : 26.342400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "8.98854e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "5.52948e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "8.60607e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "5.62056e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "8.98854e-05" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.007356 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.007336 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "(A1^A2)" ;
      max_capacitance : 0.1819 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.1244, 0.1236, 0.1216, 0.1187, 0.1157, 0.1133, 0.1114, 0.11, 0.1089, 0.1082",\
                 "0.1237, 0.1229, 0.121, 0.1181, 0.1151, 0.1127, 0.1109, 0.1096, 0.1085, 0.1077",\
                 "0.1228, 0.1221, 0.1202, 0.1174, 0.1145, 0.1122, 0.1104, 0.109, 0.108, 0.1073",\
                 "0.1245, 0.1238, 0.122, 0.1194, 0.1168, 0.1146, 0.1128, 0.1114, 0.1104, 0.1097",\
                 "0.1314, 0.1307, 0.129, 0.1266, 0.1242, 0.122, 0.1202, 0.1187, 0.1176, 0.1168",\
                 "0.1449, 0.1441, 0.1422, 0.1397, 0.1373, 0.135, 0.1331, 0.1315, 0.1302, 0.1293",\
                 "0.1651, 0.1642, 0.1619, 0.1591, 0.1563, 0.1539, 0.1518, 0.15, 0.1485, 0.1474",\
                 "0.192, 0.191, 0.1881, 0.1847, 0.1814, 0.1787, 0.1763, 0.1743, 0.1726, 0.1712",\
                 "0.2255, 0.2244, 0.2209, 0.2168, 0.2129, 0.2097, 0.2069, 0.2045, 0.2026, 0.201",\
                 "0.2661, 0.2647, 0.2608, 0.2558, 0.2512, 0.2472, 0.2439, 0.2412, 0.2389, 0.2371");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.08793, 0.0879, 0.08762, 0.08648, 0.08492, 0.08349, 0.08247, 0.08201, 0.08188, 0.08333",\
                 "0.08743, 0.08742, 0.08719, 0.08608, 0.08462, 0.08325, 0.08218, 0.08161, 0.08155, 0.083",\
                 "0.08605, 0.08598, 0.08572, 0.08513, 0.08426, 0.08325, 0.08247, 0.08204, 0.08191, 0.08327",\
                 "0.08565, 0.08565, 0.08557, 0.08549, 0.08531, 0.08494, 0.08458, 0.08438, 0.08439, 0.08626",\
                 "0.09017, 0.09004, 0.09011, 0.09003, 0.09006, 0.09009, 0.08996, 0.08999, 0.09019, 0.09234",\
                 "0.1, 0.09988, 0.09958, 0.09933, 0.0994, 0.09946, 0.0995, 0.0996, 0.09998, 0.1025",\
                 "0.1154, 0.1152, 0.1147, 0.1139, 0.1133, 0.1135, 0.1137, 0.114, 0.1141, 0.1174",\
                 "0.137, 0.1365, 0.1355, 0.1343, 0.1332, 0.1328, 0.1328, 0.133, 0.1335, 0.1376",\
                 "0.1646, 0.164, 0.1624, 0.1607, 0.1589, 0.1578, 0.1573, 0.1575, 0.1581, 0.1638",\
                 "0.1986, 0.1978, 0.1958, 0.1933, 0.1911, 0.1892, 0.1878, 0.1874, 0.1881, 0.1962");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("-0.003123, -0.003012, -0.002835, -0.002703, -0.002617, -0.002579, -0.002552, -0.00254, -0.00254, -0.002541",\
                 "-0.003849, -0.003643, -0.003203, -0.002866, -0.002634, -0.002529, -0.002446, -0.002405, -0.002373, -0.002345",\
                 "-0.003167, -0.003063, -0.002839, -0.002588, -0.002408, -0.002289, -0.002207, -0.002171, -0.002153, -0.002102",\
                 "0.001671, 0.001382, 0.0007356, 7.003e-05, -0.0004183, -0.0007698, -0.00103, -0.001239, -0.001397, -0.001489",\
                 "0.01217, 0.01136, 0.009287, 0.007083, 0.00519, 0.00367, 0.002496, 0.001604, 0.0009119, 0.0004004",\
                 "0.02903, 0.02774, 0.02413, 0.01977, 0.01583, 0.0125, 0.009832, 0.007687, 0.006049, 0.004682",\
                 "0.05265, 0.0509, 0.04592, 0.03928, 0.03272, 0.0271, 0.0223, 0.01837, 0.01516, 0.01251",\
                 "0.08343, 0.0813, 0.07501, 0.06621, 0.05688, 0.04835, 0.04102, 0.03476, 0.02949, 0.02503",\
                 "0.1216, 0.1192, 0.1118, 0.101, 0.08887, 0.07721, 0.06674, 0.05775, 0.04995, 0.04326",\
                 "0.1677, 0.165, 0.1566, 0.1439, 0.1292, 0.1143, 0.1004, 0.08819, 0.07748, 0.06811");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.06255, 0.0629, 0.06343, 0.06382, 0.06423, 0.06458, 0.06495, 0.06551, 0.06569, 0.06743",\
                 "0.061, 0.06142, 0.06238, 0.06326, 0.06397, 0.06458, 0.06518, 0.06544, 0.06605, 0.06786",\
                 "0.06181, 0.06179, 0.06201, 0.06252, 0.06334, 0.06402, 0.06472, 0.06518, 0.06585, 0.0682",\
                 "0.06853, 0.06807, 0.06684, 0.06569, 0.06512, 0.06521, 0.06542, 0.06567, 0.06627, 0.06831",\
                 "0.08148, 0.08055, 0.07797, 0.07502, 0.07235, 0.07055, 0.06944, 0.06888, 0.06875, 0.07039",\
                 "0.1012, 0.0998, 0.0958, 0.09087, 0.08621, 0.08187, 0.07855, 0.07624, 0.07487, 0.07615",\
                 "0.1283, 0.1264, 0.1211, 0.114, 0.1069, 0.1004, 0.09442, 0.0896, 0.0863, 0.08697",\
                 "0.1632, 0.1609, 0.1543, 0.1452, 0.1354, 0.1264, 0.118, 0.1102, 0.1044, 0.1048",\
                 "0.2065, 0.2039, 0.1959, 0.1847, 0.1724, 0.1604, 0.1494, 0.1392, 0.1306, 0.1323",\
                 "0.2585, 0.2556, 0.2466, 0.2334, 0.2185, 0.2036, 0.1893, 0.1765, 0.1667, 0.1739");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.1174, 0.1167, 0.1146, 0.1117, 0.109, 0.1068, 0.1051, 0.1039, 0.103, 0.1023",\
                 "0.116, 0.1153, 0.1133, 0.1106, 0.108, 0.1059, 0.1044, 0.1032, 0.1023, 0.1017",\
                 "0.116, 0.1154, 0.1135, 0.1109, 0.1084, 0.1063, 0.1048, 0.1036, 0.1028, 0.1021",\
                 "0.1191, 0.1185, 0.1168, 0.1144, 0.112, 0.11, 0.1084, 0.1072, 0.1063, 0.1056",\
                 "0.1268, 0.1261, 0.1244, 0.1221, 0.1196, 0.1175, 0.1158, 0.1145, 0.1134, 0.1126",\
                 "0.1392, 0.1384, 0.1363, 0.1338, 0.1314, 0.1292, 0.1273, 0.1257, 0.1246, 0.1236",\
                 "0.1569, 0.156, 0.1535, 0.1507, 0.1478, 0.1454, 0.1433, 0.1416, 0.1402, 0.139",\
                 "0.1805, 0.1794, 0.1763, 0.1728, 0.1695, 0.1666, 0.1642, 0.1622, 0.1606, 0.1593",\
                 "0.21, 0.2087, 0.2051, 0.2008, 0.1968, 0.1933, 0.1904, 0.1881, 0.1862, 0.1846",\
                 "0.2455, 0.2441, 0.24, 0.2347, 0.2298, 0.2257, 0.2223, 0.2195, 0.2172, 0.2154");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.06621, 0.06645, 0.06708, 0.06764, 0.06816, 0.06854, 0.06891, 0.06917, 0.06968, 0.0716",\
                 "0.06638, 0.06663, 0.06721, 0.06787, 0.06839, 0.0688, 0.06905, 0.06934, 0.06985, 0.07156",\
                 "0.06674, 0.06691, 0.06738, 0.06797, 0.06869, 0.06923, 0.06957, 0.0699, 0.07044, 0.07223",\
                 "0.06868, 0.06879, 0.06911, 0.06959, 0.0703, 0.07095, 0.07165, 0.07195, 0.07258, 0.07477",\
                 "0.07397, 0.07399, 0.07411, 0.07456, 0.07502, 0.0756, 0.07614, 0.07693, 0.07776, 0.08006",\
                 "0.08341, 0.08326, 0.08301, 0.08294, 0.0835, 0.08398, 0.08436, 0.08491, 0.0857, 0.08882",\
                 "0.09753, 0.09729, 0.09659, 0.09596, 0.09581, 0.09629, 0.09683, 0.09713, 0.0978, 0.1013",\
                 "0.1168, 0.1162, 0.1151, 0.1138, 0.1131, 0.1127, 0.1133, 0.114, 0.1141, 0.1182",\
                 "0.141, 0.1403, 0.1384, 0.1367, 0.1349, 0.134, 0.134, 0.1346, 0.1355, 0.1405",\
                 "0.1703, 0.1694, 0.1671, 0.1644, 0.1623, 0.1607, 0.1596, 0.1595, 0.161, 0.1685");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.000701, 0.0007917, 0.0009813, 0.001085, 0.001149, 0.00119, 0.001208, 0.001221, 0.001231, 0.001235",\
                 "0.0002355, 0.0004895, 0.001006, 0.001404, 0.00162, 0.001757, 0.001833, 0.001881, 0.001902, 0.001922",\
                 "0.0004988, 0.0007105, 0.001191, 0.001694, 0.002029, 0.002247, 0.002388, 0.002473, 0.002539, 0.002582",\
                 "0.004825, 0.004655, 0.004315, 0.004045, 0.003843, 0.003657, 0.003506, 0.003389, 0.003299, 0.003229",\
                 "0.01491, 0.01424, 0.01257, 0.01079, 0.009247, 0.008017, 0.007027, 0.006257, 0.005643, 0.00518",\
                 "0.03163, 0.03047, 0.02733, 0.02344, 0.0199, 0.01693, 0.01448, 0.01253, 0.01094, 0.009632",\
                 "0.0554, 0.0538, 0.04918, 0.04308, 0.03696, 0.03165, 0.0272, 0.02346, 0.02037, 0.01781",\
                 "0.08659, 0.08454, 0.07857, 0.07027, 0.06145, 0.05327, 0.04625, 0.04022, 0.03514, 0.03079",\
                 "0.1254, 0.1231, 0.1159, 0.1055, 0.09393, 0.08269, 0.07256, 0.06373, 0.0562, 0.04961",\
                 "0.1723, 0.1696, 0.1615, 0.1491, 0.1349, 0.1205, 0.107, 0.09495, 0.08449, 0.07524");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.07607, 0.07614, 0.07628, 0.07645, 0.07677, 0.07705, 0.07756, 0.07805, 0.07875, 0.08049",\
                 "0.07484, 0.07499, 0.07535, 0.07568, 0.07611, 0.07653, 0.077, 0.07746, 0.07823, 0.08034",\
                 "0.07583, 0.07578, 0.07569, 0.07574, 0.07604, 0.07643, 0.07687, 0.07746, 0.07815, 0.08012",\
                 "0.08267, 0.08217, 0.08095, 0.07951, 0.07875, 0.07818, 0.07805, 0.07835, 0.07888, 0.08097",\
                 "0.09592, 0.095, 0.09255, 0.08937, 0.0865, 0.08421, 0.08284, 0.08204, 0.08164, 0.08363",\
                 "0.1162, 0.115, 0.1112, 0.1063, 0.1012, 0.09639, 0.09287, 0.09016, 0.08833, 0.08962",\
                 "0.1441, 0.1425, 0.1377, 0.1307, 0.1232, 0.116, 0.1097, 0.1045, 0.1005, 0.1012",\
                 "0.18, 0.1782, 0.1724, 0.1636, 0.1536, 0.1438, 0.1346, 0.1262, 0.1199, 0.1201",\
                 "0.2244, 0.2223, 0.2158, 0.2054, 0.193, 0.1803, 0.1684, 0.1569, 0.1479, 0.1492",\
                 "0.2778, 0.2754, 0.2682, 0.2565, 0.2418, 0.2262, 0.211, 0.1968, 0.1858, 0.193");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.0885, 0.1034, 0.1553, 0.2537, 0.4066, 0.6212, 0.9032, 1.258, 1.692, 2.209",\
                 "0.1005, 0.1156, 0.168, 0.2667, 0.4197, 0.6344, 0.9168, 1.272, 1.705, 2.223",\
                 "0.132, 0.1519, 0.2125, 0.3122, 0.4652, 0.6799, 0.962, 1.318, 1.751, 2.268",\
                 "0.1451, 0.1725, 0.256, 0.3864, 0.5534, 0.7671, 1.048, 1.403, 1.837, 2.353",\
                 "0.1314, 0.1675, 0.2753, 0.4406, 0.6515, 0.9004, 1.187, 1.54, 1.972, 2.488",\
                 "0.0873, 0.1318, 0.2651, 0.4684, 0.7226, 1.022, 1.361, 1.736, 2.167, 2.68",\
                 "0.01, 0.0629, 0.2214, 0.464, 0.7648, 1.114, 1.508, 1.945, 2.42, 2.94",\
                 "-0.103, -0.0413, 0.1427, 0.4225, 0.7726, 1.174, 1.625, 2.121, 2.662, 3.244",\
                 "-0.2543, -0.1839, 0.0263, 0.3439, 0.7419, 1.2, 1.707, 2.264, 2.868, 3.521",\
                 "-0.4462, -0.3671, -0.1316, 0.2254, 0.6702, 1.184, 1.753, 2.372, 3.039, 3.76");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.1635, 0.1967, 0.3111, 0.5261, 0.8596, 1.326, 1.94, 2.714, 3.654, 4.778",\
                 "0.1724, 0.206, 0.322, 0.5393, 0.8736, 1.341, 1.956, 2.729, 3.673, 4.797",\
                 "0.2313, 0.2626, 0.3746, 0.5903, 0.9248, 1.393, 2.008, 2.781, 3.726, 4.854",\
                 "0.3379, 0.376, 0.498, 0.7078, 1.037, 1.502, 2.115, 2.886, 3.831, 4.955",\
                 "0.479, 0.5234, 0.6652, 0.9025, 1.23, 1.687, 2.294, 3.062, 4.002, 5.123",\
                 "0.6552, 0.7083, 0.8705, 1.138, 1.504, 1.963, 2.561, 3.32, 4.254, 5.371",\
                 "0.8664, 0.9289, 1.117, 1.415, 1.82, 2.325, 2.928, 3.678, 4.603, 5.711",\
                 "1.113, 1.185, 1.403, 1.738, 2.178, 2.731, 3.386, 4.144, 5.058, 6.156",\
                 "1.398, 1.481, 1.73, 2.107, 2.589, 3.181, 3.891, 4.706, 5.628, 6.715",\
                 "1.724, 1.817, 2.097, 2.518, 3.05, 3.685, 4.441, 5.317, 6.301, 7.399");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.1075, 0.1326, 0.2208, 0.3882, 0.6491, 1.016, 1.497, 2.104, 2.846, 3.729",\
                 "0.1074, 0.1325, 0.2205, 0.3883, 0.6485, 1.015, 1.498, 2.104, 2.846, 3.729",\
                 "0.1459, 0.1687, 0.2396, 0.3894, 0.65, 1.016, 1.497, 2.104, 2.847, 3.729",\
                 "0.2137, 0.2413, 0.3295, 0.474, 0.6825, 1.017, 1.496, 2.104, 2.845, 3.729",\
                 "0.3058, 0.3414, 0.4437, 0.6102, 0.839, 1.124, 1.53, 2.104, 2.845, 3.729",\
                 "0.416, 0.4592, 0.5856, 0.7754, 1.029, 1.351, 1.728, 2.213, 2.872, 3.731",\
                 "0.5428, 0.5946, 0.747, 0.9716, 1.253, 1.603, 2.023, 2.505, 3.078, 3.829",\
                 "0.6872, 0.7498, 0.928, 1.191, 1.512, 1.89, 2.342, 2.87, 3.467, 4.139",\
                 "0.8446, 0.9182, 1.126, 1.432, 1.796, 2.218, 2.7, 3.265, 3.908, 4.622",\
                 "1.014, 1.102, 1.347, 1.69, 2.106, 2.577, 3.1, 3.697, 4.376, 5.139");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.2521, 0.3092, 0.5084, 0.8839, 1.469, 2.289, 3.368, 4.723, 6.379, 8.349",\
                 "0.2506, 0.309, 0.5086, 0.8832, 1.467, 2.285, 3.366, 4.721, 6.372, 8.344",\
                 "0.2569, 0.3086, 0.5061, 0.8829, 1.467, 2.288, 3.366, 4.717, 6.371, 8.359",\
                 "0.3161, 0.3716, 0.5422, 0.8841, 1.468, 2.287, 3.363, 4.72, 6.377, 8.344",\
                 "0.3916, 0.448, 0.6408, 0.9674, 1.485, 2.284, 3.368, 4.723, 6.374, 8.356",\
                 "0.4968, 0.5564, 0.7514, 1.111, 1.613, 2.33, 3.366, 4.721, 6.386, 8.363",\
                 "0.6224, 0.6896, 0.8976, 1.265, 1.81, 2.502, 3.441, 4.729, 6.372, 8.346",\
                 "0.7646, 0.839, 1.072, 1.448, 2.012, 2.761, 3.661, 4.846, 6.403, 8.359",\
                 "0.9226, 1.008, 1.264, 1.67, 2.242, 3.023, 3.98, 5.109, 6.553, 8.397",\
                 "1.089, 1.189, 1.48, 1.923, 2.513, 3.306, 4.313, 5.496, 6.87, 8.594");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.6111, 0.6276, 0.6811, 0.769, 0.8886, 1.041, 1.228, 1.457, 1.733, 2.06",\
                 "0.6213, 0.6381, 0.6917, 0.7798, 0.8996, 1.052, 1.24, 1.469, 1.744, 2.071",\
                 "0.6595, 0.6763, 0.7297, 0.8184, 0.9381, 1.091, 1.279, 1.508, 1.783, 2.11",\
                 "0.7466, 0.7638, 0.8178, 0.9071, 1.028, 1.18, 1.368, 1.598, 1.873, 2.2",\
                 "0.8935, 0.912, 0.9686, 1.06, 1.183, 1.337, 1.526, 1.755, 2.031, 2.358",\
                 "1.1, 1.119, 1.178, 1.275, 1.401, 1.558, 1.748, 1.979, 2.254, 2.581",\
                 "1.359, 1.379, 1.443, 1.543, 1.675, 1.836, 2.03, 2.262, 2.537, 2.864",\
                 "1.664, 1.686, 1.754, 1.862, 2.002, 2.17, 2.37, 2.604, 2.882, 3.209",\
                 "2.014, 2.038, 2.111, 2.227, 2.376, 2.554, 2.763, 3.006, 3.289, 3.618",\
                 "2.411, 2.437, 2.515, 2.637, 2.796, 2.985, 3.205, 3.46, 3.753, 4.089");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.4359, 0.4685, 0.58, 0.7891, 1.114, 1.572, 2.18, 2.948, 3.888, 5.01",\
                 "0.4488, 0.4814, 0.5928, 0.8021, 1.127, 1.585, 2.193, 2.961, 3.901, 5.023",\
                 "0.4889, 0.5211, 0.6325, 0.844, 1.172, 1.632, 2.24, 3.008, 3.948, 5.071",\
                 "0.5272, 0.5593, 0.6714, 0.885, 1.216, 1.68, 2.29, 3.06, 4, 5.123",\
                 "0.5497, 0.582, 0.6949, 0.904, 1.231, 1.696, 2.308, 3.079, 4.021, 5.142",\
                 "0.5328, 0.5666, 0.6804, 0.8935, 1.223, 1.681, 2.291, 3.063, 4.006, 5.128",\
                 "0.4794, 0.5142, 0.629, 0.842, 1.172, 1.637, 2.243, 3.009, 3.952, 5.075",\
                 "0.3893, 0.4236, 0.5399, 0.7523, 1.083, 1.547, 2.158, 2.925, 3.859, 4.981",\
                 "0.2589, 0.294, 0.4106, 0.6236, 0.9522, 1.417, 2.028, 2.797, 3.736, 4.851",\
                 "0.0867, 0.1219, 0.2397, 0.4529, 0.7808, 1.244, 1.855, 2.625, 3.565, 4.684");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.2256, 0.2462, 0.3103, 0.4156, 0.5666, 0.7721, 1.047, 1.404, 1.851, 2.39",\
                 "0.2257, 0.2462, 0.31, 0.4157, 0.5664, 0.7724, 1.047, 1.405, 1.851, 2.391",\
                 "0.2264, 0.2466, 0.3105, 0.4159, 0.5663, 0.7724, 1.047, 1.404, 1.851, 2.39",\
                 "0.231, 0.2506, 0.3136, 0.4178, 0.5676, 0.773, 1.048, 1.405, 1.851, 2.391",\
                 "0.2362, 0.257, 0.322, 0.4268, 0.5758, 0.779, 1.051, 1.407, 1.852, 2.391",\
                 "0.2416, 0.2634, 0.3296, 0.4356, 0.5842, 0.7872, 1.058, 1.412, 1.854, 2.392",\
                 "0.2624, 0.2842, 0.3506, 0.4582, 0.6046, 0.8024, 1.069, 1.417, 1.857, 2.394",\
                 "0.289, 0.3128, 0.3836, 0.4934, 0.6408, 0.8362, 1.095, 1.434, 1.866, 2.396",\
                 "0.3186, 0.3438, 0.4206, 0.535, 0.6894, 0.888, 1.146, 1.477, 1.895, 2.413",\
                 "0.3524, 0.3788, 0.4572, 0.5786, 0.739, 0.9462, 1.21, 1.543, 1.955, 2.46");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.3351, 0.3901, 0.5864, 0.9621, 1.546, 2.365, 3.443, 4.8, 6.456, 8.43",\
                 "0.3354, 0.3909, 0.5865, 0.9622, 1.546, 2.365, 3.442, 4.8, 6.456, 8.43",\
                 "0.3361, 0.3908, 0.5865, 0.9621, 1.546, 2.365, 3.443, 4.799, 6.456, 8.43",\
                 "0.326, 0.3834, 0.5851, 0.9612, 1.546, 2.365, 3.443, 4.799, 6.455, 8.431",\
                 "0.3038, 0.3584, 0.553, 0.9366, 1.534, 2.364, 3.442, 4.8, 6.455, 8.43",\
                 "0.3002, 0.353, 0.541, 0.9156, 1.506, 2.34, 3.432, 4.799, 6.456, 8.429",\
                 "0.3074, 0.358, 0.5412, 0.9088, 1.494, 2.317, 3.408, 4.778, 6.449, 8.428",\
                 "0.3184, 0.3694, 0.5498, 0.9124, 1.49, 2.309, 3.39, 4.757, 6.426, 8.412",\
                 "0.332, 0.3834, 0.5626, 0.9196, 1.497, 2.311, 3.387, 4.746, 6.409, 8.394",\
                 "0.3482, 0.3998, 0.5788, 0.9306, 1.505, 2.321, 3.393, 4.743, 6.4, 8.379");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.1027, 0.1176, 0.1694, 0.2677, 0.4207, 0.6347, 0.9171, 1.272, 1.706, 2.222",\
                 "0.1129, 0.1281, 0.1807, 0.2796, 0.4325, 0.6474, 0.9292, 1.285, 1.719, 2.236",\
                 "0.1317, 0.1496, 0.2075, 0.3078, 0.4612, 0.6762, 0.9587, 1.314, 1.748, 2.266",\
                 "0.136, 0.1598, 0.2326, 0.3507, 0.5144, 0.7296, 1.011, 1.366, 1.801, 2.316",\
                 "0.1109, 0.1425, 0.2369, 0.3821, 0.571, 0.8076, 1.096, 1.451, 1.883, 2.4",\
                 "0.0507, 0.0899, 0.2084, 0.3875, 0.6118, 0.8791, 1.197, 1.569, 2.003, 2.518",\
                 "-0.0482, -0.0007, 0.1412, 0.3565, 0.6234, 0.9319, 1.284, 1.689, 2.152, 2.677",\
                 "-0.1874, -0.132, 0.0335, 0.2847, 0.5967, 0.9534, 1.351, 1.794, 2.292, 2.853",\
                 "-0.3703, -0.3078, -0.1187, 0.1694, 0.5259, 0.9341, 1.385, 1.877, 2.417, 3.015",\
                 "-0.6006, -0.5292, -0.317, 0.0074, 0.409, 0.8698, 1.376, 1.925, 2.516, 3.158");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.2137, 0.2463, 0.3595, 0.5742, 0.9075, 1.374, 1.988, 2.761, 3.705, 4.829",\
                 "0.2237, 0.2567, 0.371, 0.5866, 0.9203, 1.387, 2.001, 2.774, 3.718, 4.843",\
                 "0.2825, 0.3142, 0.4264, 0.6407, 0.974, 1.441, 2.054, 2.827, 3.771, 4.896",\
                 "0.4044, 0.4394, 0.5529, 0.7607, 1.089, 1.552, 2.163, 2.935, 3.877, 5.001",\
                 "0.5642, 0.6043, 0.7363, 0.9624, 1.285, 1.74, 2.345, 3.112, 4.051, 5.172",\
                 "0.7676, 0.8132, 0.9606, 1.214, 1.568, 2.02, 2.616, 3.375, 4.307, 5.422",\
                 "1.014, 1.067, 1.234, 1.511, 1.9, 2.393, 2.989, 3.736, 4.659, 5.765",\
                 "1.306, 1.367, 1.556, 1.862, 2.28, 2.817, 3.46, 4.209, 5.12, 6.216",\
                 "1.645, 1.714, 1.927, 2.267, 2.718, 3.29, 3.982, 4.784, 5.699, 6.781",\
                 "2.034, 2.11, 2.348, 2.725, 3.216, 3.823, 4.557, 5.416, 6.386, 7.474");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.1076, 0.1326, 0.2205, 0.3882, 0.6494, 1.015, 1.498, 2.105, 2.847, 3.727",\
                 "0.1074, 0.1326, 0.2205, 0.3884, 0.6484, 1.016, 1.497, 2.104, 2.847, 3.731",\
                 "0.1342, 0.1567, 0.2335, 0.3896, 0.6485, 1.014, 1.497, 2.103, 2.848, 3.732",\
                 "0.1959, 0.2187, 0.2959, 0.4439, 0.6731, 1.018, 1.496, 2.103, 2.845, 3.727",\
                 "0.2853, 0.3118, 0.397, 0.5434, 0.7716, 1.09, 1.525, 2.107, 2.845, 3.729",\
                 "0.394, 0.426, 0.5254, 0.6862, 0.914, 1.231, 1.651, 2.183, 2.874, 3.731",\
                 "0.52, 0.5578, 0.6746, 0.8588, 1.103, 1.419, 1.838, 2.365, 3.009, 3.811",\
                 "0.6596, 0.706, 0.8418, 1.055, 1.326, 1.659, 2.075, 2.601, 3.246, 4.008",\
                 "0.8078, 0.8644, 1.027, 1.271, 1.577, 1.94, 2.37, 2.89, 3.535, 4.3",\
                 "0.9664, 1.032, 1.227, 1.506, 1.851, 2.249, 2.711, 3.244, 3.878, 4.645");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.331, 0.3883, 0.586, 0.9619, 1.546, 2.365, 3.443, 4.799, 6.456, 8.431",\
                 "0.3308, 0.388, 0.5858, 0.9622, 1.546, 2.365, 3.442, 4.799, 6.456, 8.43",\
                 "0.3283, 0.3847, 0.585, 0.9618, 1.546, 2.365, 3.443, 4.799, 6.455, 8.43",\
                 "0.3839, 0.4349, 0.6059, 0.9615, 1.546, 2.365, 3.442, 4.799, 6.455, 8.429",\
                 "0.4544, 0.5126, 0.704, 1.029, 1.556, 2.365, 3.442, 4.799, 6.455, 8.429",\
                 "0.5498, 0.6084, 0.8104, 1.171, 1.672, 2.398, 3.443, 4.799, 6.455, 8.429",\
                 "0.6668, 0.7316, 0.942, 1.318, 1.866, 2.561, 3.507, 4.805, 6.455, 8.428",\
                 "0.8006, 0.8754, 1.101, 1.488, 2.063, 2.812, 3.718, 4.905, 6.471, 8.429",\
                 "0.9526, 1.035, 1.284, 1.69, 2.275, 3.069, 4.03, 5.166, 6.616, 8.463",\
                 "1.119, 1.21, 1.485, 1.924, 2.524, 3.332, 4.353, 5.54, 6.925, 8.65");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.5707, 0.587, 0.6404, 0.7288, 0.8484, 1.001, 1.189, 1.418, 1.694, 2.021",\
                 "0.5791, 0.5961, 0.6494, 0.7379, 0.858, 1.011, 1.199, 1.428, 1.704, 2.031",\
                 "0.6347, 0.6515, 0.7054, 0.7941, 0.9143, 1.067, 1.255, 1.485, 1.76, 2.087",\
                 "0.7678, 0.7844, 0.8384, 0.9279, 1.049, 1.201, 1.389, 1.619, 1.894, 2.221",\
                 "0.9699, 0.9879, 1.044, 1.135, 1.257, 1.411, 1.599, 1.829, 2.104, 2.431",\
                 "1.226, 1.245, 1.304, 1.399, 1.524, 1.681, 1.871, 2.101, 2.377, 2.703",\
                 "1.543, 1.562, 1.624, 1.723, 1.852, 2.01, 2.202, 2.434, 2.71, 3.038",\
                 "1.919, 1.94, 2.006, 2.109, 2.243, 2.406, 2.601, 2.834, 3.111, 3.438",\
                 "2.354, 2.377, 2.447, 2.558, 2.699, 2.868, 3.068, 3.304, 3.582, 3.91",\
                 "2.848, 2.873, 2.95, 3.068, 3.217, 3.395, 3.602, 3.844, 4.128, 4.458");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.3581, 0.3919, 0.507, 0.7229, 1.057, 1.524, 2.136, 2.909, 3.853, 4.978",\
                 "0.3726, 0.4061, 0.5214, 0.7379, 1.072, 1.539, 2.151, 2.924, 3.868, 4.99",\
                 "0.4173, 0.4506, 0.5651, 0.7814, 1.116, 1.584, 2.196, 2.969, 3.914, 5.036",\
                 "0.4566, 0.4895, 0.6031, 0.8191, 1.153, 1.622, 2.237, 3.009, 3.952, 5.077",\
                 "0.4656, 0.4989, 0.6126, 0.826, 1.158, 1.626, 2.24, 3.015, 3.96, 5.083",\
                 "0.4344, 0.4681, 0.5825, 0.7951, 1.126, 1.592, 2.205, 2.979, 3.923, 5.049",\
                 "0.3587, 0.3938, 0.5089, 0.7215, 1.052, 1.516, 2.128, 2.9, 3.844, 4.968",\
                 "0.2376, 0.2724, 0.3888, 0.6011, 0.9311, 1.394, 2.006, 2.776, 3.717, 4.84",\
                 "0.0656, 0.1009, 0.2176, 0.4311, 0.7588, 1.222, 1.834, 2.603, 3.544, 4.665",\
                 "-0.1598, -0.124, -0.0057, 0.2076, 0.5345, 0.9975, 1.608, 2.378, 3.318, 4.439");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.2267, 0.2476, 0.311, 0.4167, 0.566, 0.772, 1.047, 1.404, 1.85, 2.39",\
                 "0.2261, 0.2467, 0.3105, 0.4154, 0.5661, 0.7719, 1.047, 1.403, 1.851, 2.391",\
                 "0.2264, 0.2471, 0.3105, 0.4156, 0.5658, 0.7718, 1.047, 1.405, 1.85, 2.39",\
                 "0.229, 0.2492, 0.313, 0.4168, 0.5658, 0.7724, 1.047, 1.404, 1.851, 2.391",\
                 "0.2386, 0.259, 0.3228, 0.4262, 0.574, 0.777, 1.05, 1.406, 1.852, 2.391",\
                 "0.2462, 0.268, 0.3312, 0.4362, 0.5844, 0.7878, 1.059, 1.412, 1.854, 2.392",\
                 "0.2626, 0.284, 0.3484, 0.451, 0.5974, 0.7972, 1.066, 1.418, 1.86, 2.396",\
                 "0.289, 0.3126, 0.3764, 0.4792, 0.6228, 0.8166, 1.08, 1.425, 1.863, 2.399",\
                 "0.322, 0.3444, 0.4132, 0.5176, 0.6592, 0.8508, 1.107, 1.444, 1.875, 2.403",\
                 "0.3572, 0.3826, 0.4554, 0.5612, 0.7044, 0.8976, 1.151, 1.484, 1.904, 2.424");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002249, 0.006632, 0.015, 0.02804, 0.04634, 0.07042, 0.1008, 0.1378, 0.1819");
          values("0.2621, 0.3158, 0.51, 0.8845, 1.466, 2.285, 3.363, 4.722, 6.37, 8.345",\
                 "0.2621, 0.316, 0.5091, 0.8839, 1.469, 2.289, 3.36, 4.725, 6.372, 8.351",\
                 "0.263, 0.3167, 0.5102, 0.8847, 1.469, 2.289, 3.36, 4.726, 6.374, 8.348",\
                 "0.2642, 0.3173, 0.5092, 0.8846, 1.467, 2.289, 3.365, 4.723, 6.376, 8.345",\
                 "0.2744, 0.3246, 0.5104, 0.8792, 1.464, 2.285, 3.367, 4.722, 6.382, 8.351",\
                 "0.2876, 0.337, 0.5186, 0.8828, 1.462, 2.28, 3.359, 4.723, 6.371, 8.352",\
                 "0.3022, 0.3524, 0.5298, 0.89, 1.466, 2.279, 3.354, 4.721, 6.368, 8.345",\
                 "0.3176, 0.368, 0.5446, 0.8982, 1.473, 2.285, 3.357, 4.71, 6.37, 8.35",\
                 "0.3354, 0.3844, 0.5612, 0.9106, 1.482, 2.294, 3.364, 4.712, 6.362, 8.343",\
                 "0.3546, 0.4032, 0.5784, 0.9228, 1.493, 2.305, 3.375, 4.722, 6.367, 8.334");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xor2_2) {
    area : 39.513600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "7.82166e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "0.0001098339" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "7.89063e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "0.0001139985" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001139985" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.007041 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.007237 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "(A1^A2)" ;
      max_capacitance : 0.7186 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.173, 0.1672, 0.1592, 0.1551, 0.1528, 0.1516, 0.1507, 0.1502, 0.1498, 0.1495",\
                 "0.1716, 0.1659, 0.1578, 0.1538, 0.1516, 0.1502, 0.1494, 0.1489, 0.1485, 0.1482",\
                 "0.1709, 0.1651, 0.157, 0.1529, 0.1507, 0.1495, 0.1486, 0.148, 0.1477, 0.1475",\
                 "0.1769, 0.1707, 0.1621, 0.1575, 0.1551, 0.1536, 0.1528, 0.1522, 0.1519, 0.1516",\
                 "0.1953, 0.1881, 0.177, 0.1704, 0.1668, 0.1648, 0.1636, 0.1628, 0.1623, 0.162",\
                 "0.2213, 0.2131, 0.1995, 0.1909, 0.1858, 0.183, 0.1813, 0.1801, 0.1793, 0.1788",\
                 "0.256, 0.2469, 0.2305, 0.2195, 0.2128, 0.2088, 0.2061, 0.2045, 0.2034, 0.2027",\
                 "0.3007, 0.2907, 0.2712, 0.2573, 0.2485, 0.2429, 0.2394, 0.2369, 0.2355, 0.2344",\
                 "0.3555, 0.3446, 0.3222, 0.3049, 0.2936, 0.286, 0.2812, 0.2781, 0.2759, 0.2744",\
                 "0.4203, 0.4086, 0.3832, 0.3622, 0.3483, 0.339, 0.3325, 0.3283, 0.3253, 0.3232");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.07688, 0.07535, 0.07401, 0.07459, 0.07543, 0.07674, 0.07832, 0.07948, 0.08131, 0.08862",\
                 "0.07723, 0.07535, 0.07436, 0.07465, 0.07566, 0.07693, 0.07842, 0.07948, 0.08098, 0.08862",\
                 "0.07849, 0.07678, 0.075, 0.07518, 0.07602, 0.07769, 0.07918, 0.08047, 0.082, 0.08957",\
                 "0.08668, 0.08406, 0.08099, 0.07977, 0.07981, 0.08103, 0.08258, 0.0841, 0.08563, 0.0933",\
                 "0.1014, 0.09786, 0.09211, 0.0901, 0.08896, 0.08928, 0.09027, 0.09202, 0.09391, 0.1026",\
                 "0.1242, 0.1192, 0.1121, 0.1066, 0.1053, 0.105, 0.1049, 0.1055, 0.1081, 0.1178",\
                 "0.155, 0.1486, 0.139, 0.1318, 0.1274, 0.1275, 0.1271, 0.1263, 0.1276, 0.141",\
                 "0.1943, 0.1864, 0.1749, 0.1656, 0.159, 0.1561, 0.1564, 0.157, 0.1574, 0.1714",\
                 "0.2423, 0.2328, 0.2184, 0.2068, 0.1988, 0.1927, 0.1915, 0.1929, 0.1945, 0.2162",\
                 "0.2993, 0.288, 0.2714, 0.2582, 0.2473, 0.2393, 0.2355, 0.2348, 0.2395, 0.2716");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1898, 0.1859, 0.1816, 0.1795, 0.1784, 0.1779, 0.1777, 0.1775, 0.1775, 0.1774",\
                 "0.1894, 0.1855, 0.1812, 0.1792, 0.178, 0.1776, 0.1773, 0.1773, 0.1772, 0.177",\
                 "0.1881, 0.1842, 0.1798, 0.1779, 0.1768, 0.1763, 0.1759, 0.1757, 0.1757, 0.1756",\
                 "0.1886, 0.1847, 0.1802, 0.1781, 0.1772, 0.1766, 0.1763, 0.1762, 0.1761, 0.1761",\
                 "0.1937, 0.1899, 0.1857, 0.1835, 0.1825, 0.1821, 0.1818, 0.1817, 0.1816, 0.1815",\
                 "0.2058, 0.2018, 0.1973, 0.1952, 0.1942, 0.1937, 0.1934, 0.1932, 0.1932, 0.1931",\
                 "0.2241, 0.22, 0.2149, 0.2123, 0.2113, 0.2109, 0.2105, 0.2103, 0.2102, 0.2102",\
                 "0.2488, 0.2443, 0.2386, 0.2358, 0.2345, 0.2339, 0.2337, 0.2334, 0.2333, 0.2332",\
                 "0.2802, 0.2757, 0.2696, 0.2662, 0.2647, 0.2641, 0.2638, 0.2635, 0.2634, 0.2633",\
                 "0.3178, 0.3127, 0.3062, 0.3027, 0.3009, 0.3001, 0.2994, 0.2991, 0.2989, 0.2988");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1902, 0.1878, 0.1852, 0.1845, 0.185, 0.1861, 0.1873, 0.1888, 0.1906, 0.1983",\
                 "0.1899, 0.1875, 0.185, 0.1843, 0.1846, 0.186, 0.1873, 0.1884, 0.1903, 0.1985",\
                 "0.1907, 0.1883, 0.1856, 0.185, 0.1855, 0.1867, 0.1878, 0.1891, 0.191, 0.1994",\
                 "0.1945, 0.1921, 0.1894, 0.1887, 0.1892, 0.1906, 0.1915, 0.193, 0.1949, 0.203",\
                 "0.2031, 0.2008, 0.1982, 0.1975, 0.1979, 0.199, 0.2005, 0.2016, 0.2032, 0.2134",\
                 "0.2179, 0.2155, 0.2122, 0.2118, 0.2121, 0.2133, 0.2143, 0.2158, 0.2178, 0.2304",\
                 "0.2391, 0.2366, 0.2333, 0.2319, 0.2335, 0.2342, 0.2353, 0.2365, 0.2386, 0.2558",\
                 "0.2673, 0.2648, 0.261, 0.2592, 0.2597, 0.2622, 0.2629, 0.2639, 0.2662, 0.292",\
                 "0.3027, 0.2996, 0.2954, 0.2937, 0.2925, 0.2933, 0.2971, 0.2982, 0.3025, 0.3453",\
                 "0.3451, 0.3419, 0.3371, 0.3341, 0.3337, 0.3333, 0.335, 0.3403, 0.3491, 0.4207");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1839, 0.1781, 0.1702, 0.166, 0.1638, 0.1625, 0.1616, 0.1611, 0.1607, 0.1605",\
                 "0.1831, 0.1773, 0.1692, 0.1652, 0.1631, 0.1618, 0.1609, 0.1604, 0.16, 0.1597",\
                 "0.1812, 0.1754, 0.1672, 0.1632, 0.161, 0.1597, 0.1589, 0.1584, 0.158, 0.1577",\
                 "0.1856, 0.1795, 0.1707, 0.1663, 0.1638, 0.1623, 0.1614, 0.1609, 0.1605, 0.1602",\
                 "0.201, 0.1943, 0.1839, 0.1779, 0.1747, 0.1729, 0.1717, 0.171, 0.1705, 0.1701",\
                 "0.2265, 0.2191, 0.2066, 0.1991, 0.1946, 0.1921, 0.1906, 0.1896, 0.1889, 0.1884",\
                 "0.2641, 0.2558, 0.2408, 0.2307, 0.2249, 0.2212, 0.219, 0.2175, 0.2165, 0.2158",\
                 "0.3131, 0.304, 0.286, 0.2732, 0.2652, 0.2602, 0.257, 0.2551, 0.2535, 0.2524",\
                 "0.3733, 0.3631, 0.3426, 0.3266, 0.3163, 0.3096, 0.3053, 0.3023, 0.3004, 0.2989",\
                 "0.4444, 0.4336, 0.4104, 0.391, 0.3781, 0.3696, 0.3639, 0.3601, 0.3574, 0.3555");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.09312, 0.09094, 0.08893, 0.08867, 0.08958, 0.09069, 0.09204, 0.0934, 0.09493, 0.1019",\
                 "0.09224, 0.09024, 0.08807, 0.08785, 0.08878, 0.0898, 0.09115, 0.09241, 0.09493, 0.1012",\
                 "0.09231, 0.09033, 0.08781, 0.08742, 0.08809, 0.08973, 0.09056, 0.09208, 0.09493, 0.1002",\
                 "0.1002, 0.0976, 0.09372, 0.09201, 0.09189, 0.0929, 0.09452, 0.09538, 0.0979, 0.1046",\
                 "0.1157, 0.1118, 0.1064, 0.1037, 0.1021, 0.1021, 0.1033, 0.1046, 0.1065, 0.1142",\
                 "0.1401, 0.1351, 0.1278, 0.1219, 0.1207, 0.1197, 0.1202, 0.1201, 0.1217, 0.1323",\
                 "0.1739, 0.1678, 0.1585, 0.1508, 0.1461, 0.1457, 0.1455, 0.1452, 0.1465, 0.1578",\
                 "0.2177, 0.2102, 0.1984, 0.1894, 0.1823, 0.1786, 0.1789, 0.1795, 0.1799, 0.1955",\
                 "0.2714, 0.2622, 0.2485, 0.2368, 0.2283, 0.222, 0.22, 0.221, 0.2233, 0.2465",\
                 "0.3356, 0.3248, 0.3086, 0.2955, 0.2842, 0.2754, 0.2713, 0.2695, 0.2743, 0.3113");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1808, 0.1769, 0.1727, 0.1707, 0.1696, 0.1692, 0.169, 0.1687, 0.1686, 0.1685",\
                 "0.1805, 0.1765, 0.1723, 0.1702, 0.1691, 0.1687, 0.1683, 0.1683, 0.1682, 0.1681",\
                 "0.1797, 0.1757, 0.1714, 0.1695, 0.1684, 0.1679, 0.1675, 0.1674, 0.1673, 0.1672",\
                 "0.1813, 0.1773, 0.1728, 0.1707, 0.1696, 0.1691, 0.1689, 0.1688, 0.1687, 0.1686",\
                 "0.1869, 0.183, 0.1787, 0.1768, 0.1755, 0.1751, 0.1748, 0.1747, 0.1747, 0.1746",\
                 "0.1989, 0.1949, 0.1904, 0.1881, 0.1872, 0.1868, 0.1865, 0.1864, 0.1863, 0.1862",\
                 "0.2168, 0.2127, 0.2075, 0.2053, 0.204, 0.2036, 0.2032, 0.203, 0.203, 0.2029",\
                 "0.2406, 0.2362, 0.2307, 0.2282, 0.2268, 0.2263, 0.2258, 0.2256, 0.2256, 0.2255",\
                 "0.2702, 0.2654, 0.2592, 0.2563, 0.2549, 0.254, 0.2536, 0.2534, 0.2533, 0.2532",\
                 "0.3057, 0.3006, 0.2942, 0.2906, 0.289, 0.288, 0.2876, 0.2873, 0.2871, 0.287");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1728, 0.1707, 0.1688, 0.1687, 0.1698, 0.1712, 0.1723, 0.1742, 0.1767, 0.1826",\
                 "0.1724, 0.1704, 0.1684, 0.1684, 0.1692, 0.1706, 0.1718, 0.1742, 0.1754, 0.1824",\
                 "0.1727, 0.1707, 0.1687, 0.1687, 0.1695, 0.1709, 0.1722, 0.1742, 0.1757, 0.1831",\
                 "0.1766, 0.1745, 0.1725, 0.1723, 0.1732, 0.1744, 0.1761, 0.1772, 0.1794, 0.1876",\
                 "0.1858, 0.1837, 0.1817, 0.1811, 0.182, 0.1831, 0.1844, 0.1861, 0.1876, 0.1985",\
                 "0.2008, 0.1984, 0.1953, 0.1956, 0.196, 0.1971, 0.1981, 0.1993, 0.2015, 0.2149",\
                 "0.222, 0.2194, 0.2166, 0.2152, 0.2163, 0.2175, 0.2182, 0.2197, 0.2214, 0.239",\
                 "0.25, 0.2472, 0.2436, 0.2416, 0.2416, 0.2437, 0.2453, 0.2464, 0.2486, 0.2725",\
                 "0.2845, 0.2816, 0.2772, 0.275, 0.2745, 0.2745, 0.2782, 0.28, 0.2829, 0.3202",\
                 "0.3258, 0.3224, 0.3176, 0.3144, 0.3141, 0.3134, 0.3145, 0.3198, 0.3284, 0.3932");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.612, 0.6536, 0.755, 0.8997, 1.099, 1.369, 1.722, 2.167, 2.711, 3.358",\
                 "0.6204, 0.6621, 0.7632, 0.9081, 1.107, 1.377, 1.73, 2.175, 2.719, 3.367",\
                 "0.6399, 0.6815, 0.7828, 0.9275, 1.126, 1.396, 1.75, 2.195, 2.739, 3.385",\
                 "0.67, 0.7118, 0.8131, 0.9579, 1.157, 1.427, 1.78, 2.225, 2.769, 3.416",\
                 "0.6997, 0.7403, 0.8405, 0.9851, 1.184, 1.454, 1.807, 2.253, 2.796, 3.443",\
                 "0.7108, 0.7516, 0.8524, 0.9972, 1.196, 1.465, 1.818, 2.263, 2.806, 3.454",\
                 "0.695, 0.7362, 0.8381, 0.9836, 1.182, 1.452, 1.805, 2.249, 2.792, 3.439",\
                 "0.6472, 0.6893, 0.7919, 0.9381, 1.138, 1.41, 1.764, 2.208, 2.75, 3.398",\
                 "0.5637, 0.6073, 0.7109, 0.8578, 1.06, 1.334, 1.69, 2.137, 2.68, 3.327",\
                 "0.4429, 0.4865, 0.5918, 0.7402, 0.9439, 1.221, 1.58, 2.027, 2.569, 3.216");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.6259, 0.6717, 0.8046, 1.033, 1.381, 1.87, 2.511, 3.322, 4.31, 5.484",\
                 "0.6425, 0.6883, 0.8212, 1.049, 1.398, 1.887, 2.529, 3.338, 4.326, 5.502",\
                 "0.71, 0.7558, 0.8889, 1.117, 1.465, 1.954, 2.596, 3.406, 4.394, 5.568",\
                 "0.8414, 0.8872, 1.02, 1.248, 1.597, 2.085, 2.727, 3.538, 4.525, 5.703",\
                 "1.017, 1.063, 1.196, 1.424, 1.773, 2.261, 2.904, 3.713, 4.701, 5.876",\
                 "1.23, 1.276, 1.409, 1.637, 1.986, 2.474, 3.117, 3.927, 4.914, 6.091",\
                 "1.482, 1.528, 1.662, 1.889, 2.238, 2.727, 3.369, 4.178, 5.166, 6.343",\
                 "1.773, 1.82, 1.954, 2.182, 2.53, 3.019, 3.661, 4.47, 5.457, 6.634",\
                 "2.105, 2.152, 2.287, 2.514, 2.863, 3.351, 3.993, 4.802, 5.789, 6.965",\
                 "2.478, 2.526, 2.662, 2.889, 3.237, 3.724, 4.367, 5.176, 6.163, 7.339");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1121, 0.149, 0.2489, 0.4282, 0.7269, 1.167, 1.757, 2.506, 3.42, 4.51",\
                 "0.1121, 0.1487, 0.2491, 0.4285, 0.7268, 1.166, 1.756, 2.506, 3.421, 4.505",\
                 "0.1122, 0.1488, 0.2496, 0.4282, 0.7268, 1.167, 1.757, 2.506, 3.42, 4.511",\
                 "0.1126, 0.149, 0.249, 0.4282, 0.727, 1.168, 1.758, 2.506, 3.419, 4.51",\
                 "0.1094, 0.1458, 0.2476, 0.4268, 0.725, 1.167, 1.758, 2.506, 3.42, 4.51",\
                 "0.1108, 0.1474, 0.249, 0.4294, 0.7246, 1.163, 1.755, 2.503, 3.42, 4.508",\
                 "0.1144, 0.1512, 0.2518, 0.4306, 0.7262, 1.166, 1.755, 2.498, 3.409, 4.499",\
                 "0.118, 0.1542, 0.2556, 0.4336, 0.7308, 1.17, 1.756, 2.5, 3.409, 4.495",\
                 "0.122, 0.1584, 0.259, 0.4382, 0.7378, 1.181, 1.766, 2.505, 3.414, 4.495",\
                 "0.126, 0.1632, 0.2626, 0.4416, 0.7454, 1.191, 1.775, 2.507, 3.411, 4.498");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1099, 0.1693, 0.3595, 0.7363, 1.344, 2.204, 3.336, 4.762, 6.505, 8.573",\
                 "0.1097, 0.1685, 0.3599, 0.7363, 1.344, 2.204, 3.336, 4.76, 6.502, 8.578",\
                 "0.11, 0.1695, 0.3599, 0.7362, 1.344, 2.208, 3.338, 4.762, 6.505, 8.575",\
                 "0.11, 0.169, 0.3602, 0.7364, 1.345, 2.204, 3.336, 4.762, 6.505, 8.578",\
                 "0.11, 0.17, 0.3616, 0.7368, 1.347, 2.203, 3.334, 4.762, 6.504, 8.576",\
                 "0.1112, 0.1702, 0.3608, 0.7384, 1.347, 2.204, 3.334, 4.76, 6.503, 8.576",\
                 "0.1126, 0.1718, 0.3624, 0.7376, 1.345, 2.207, 3.337, 4.759, 6.501, 8.576",\
                 "0.1144, 0.174, 0.3636, 0.7382, 1.347, 2.204, 3.335, 4.765, 6.51, 8.574",\
                 "0.1168, 0.1772, 0.3668, 0.7396, 1.347, 2.203, 3.338, 4.759, 6.501, 8.568",\
                 "0.1204, 0.1798, 0.3692, 0.7398, 1.345, 2.206, 3.337, 4.761, 6.497, 8.578");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.4497, 0.4976, 0.618, 0.7887, 1.009, 1.29, 1.647, 2.093, 2.636, 3.283",\
                 "0.4608, 0.5087, 0.6291, 0.7999, 1.02, 1.301, 1.658, 2.104, 2.647, 3.294",\
                 "0.5122, 0.5597, 0.6801, 0.8507, 1.071, 1.352, 1.709, 2.155, 2.698, 3.345",\
                 "0.6352, 0.6826, 0.8025, 0.9726, 1.192, 1.474, 1.831, 2.277, 2.82, 3.468",\
                 "0.8164, 0.8661, 0.9889, 1.162, 1.382, 1.664, 2.021, 2.466, 3.009, 3.656",\
                 "1.037, 1.09, 1.218, 1.395, 1.62, 1.903, 2.261, 2.706, 3.249, 3.896",\
                 "1.304, 1.36, 1.494, 1.675, 1.903, 2.189, 2.548, 2.995, 3.537, 4.184",\
                 "1.617, 1.676, 1.818, 2.007, 2.24, 2.527, 2.887, 3.334, 3.878, 4.524",\
                 "1.973, 2.036, 2.188, 2.387, 2.629, 2.921, 3.283, 3.729, 4.273, 4.921",\
                 "2.374, 2.442, 2.604, 2.814, 3.067, 3.368, 3.735, 4.184, 4.727, 5.375");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.2738, 0.3191, 0.451, 0.6787, 1.028, 1.516, 2.159, 2.966, 3.957, 5.133",\
                 "0.2874, 0.3325, 0.4646, 0.6923, 1.041, 1.53, 2.173, 2.981, 3.967, 5.147",\
                 "0.3341, 0.379, 0.5103, 0.7377, 1.087, 1.575, 2.217, 3.028, 4.017, 5.194",\
                 "0.3973, 0.4427, 0.5745, 0.8015, 1.149, 1.638, 2.279, 3.09, 4.079, 5.256",\
                 "0.4395, 0.4869, 0.6201, 0.847, 1.195, 1.682, 2.324, 3.133, 4.122, 5.298",\
                 "0.4552, 0.505, 0.6422, 0.869, 1.215, 1.702, 2.343, 3.151, 4.14, 5.319",\
                 "0.4369, 0.4902, 0.6329, 0.863, 1.209, 1.694, 2.335, 3.143, 4.131, 5.308",\
                 "0.3817, 0.4391, 0.5888, 0.8238, 1.172, 1.659, 2.297, 3.105, 4.091, 5.266",\
                 "0.287, 0.3485, 0.5047, 0.7453, 1.097, 1.587, 2.229, 3.035, 4.021, 5.196",\
                 "0.151, 0.2161, 0.3809, 0.6282, 0.9828, 1.476, 2.124, 2.933, 3.918, 5.093");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1401, 0.1855, 0.3076, 0.5013, 0.7905, 1.208, 1.778, 2.517, 3.427, 4.516",\
                 "0.1401, 0.1856, 0.3067, 0.5018, 0.7903, 1.207, 1.78, 2.518, 3.429, 4.517",\
                 "0.1399, 0.1861, 0.3074, 0.501, 0.7908, 1.208, 1.779, 2.519, 3.429, 4.518",\
                 "0.1408, 0.1866, 0.3084, 0.502, 0.7904, 1.208, 1.778, 2.518, 3.425, 4.514",\
                 "0.1588, 0.204, 0.322, 0.512, 0.7956, 1.211, 1.782, 2.519, 3.428, 4.516",\
                 "0.1778, 0.2242, 0.3418, 0.5308, 0.8116, 1.221, 1.786, 2.52, 3.429, 4.518",\
                 "0.1994, 0.2482, 0.3648, 0.5502, 0.8256, 1.232, 1.793, 2.525, 3.431, 4.514",\
                 "0.2254, 0.2798, 0.3972, 0.5784, 0.8466, 1.243, 1.8, 2.53, 3.434, 4.516",\
                 "0.2534, 0.31, 0.4362, 0.6174, 0.8812, 1.268, 1.813, 2.534, 3.437, 4.519",\
                 "0.2838, 0.3446, 0.4786, 0.6624, 0.9268, 1.307, 1.843, 2.552, 3.447, 4.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1046, 0.1638, 0.3546, 0.7353, 1.343, 2.207, 3.335, 4.766, 6.502, 8.584",\
                 "0.1046, 0.1636, 0.3548, 0.734, 1.343, 2.207, 3.335, 4.768, 6.512, 8.583",\
                 "0.1041, 0.1629, 0.3554, 0.7355, 1.343, 2.205, 3.337, 4.764, 6.506, 8.585",\
                 "0.1118, 0.1701, 0.3601, 0.7348, 1.345, 2.203, 3.335, 4.764, 6.506, 8.579",\
                 "0.124, 0.181, 0.3686, 0.7408, 1.346, 2.207, 3.338, 4.762, 6.502, 8.581",\
                 "0.1412, 0.1968, 0.381, 0.7454, 1.349, 2.206, 3.335, 4.759, 6.505, 8.584",\
                 "0.162, 0.2166, 0.4, 0.7572, 1.354, 2.208, 3.338, 4.759, 6.498, 8.58",\
                 "0.1838, 0.2404, 0.4226, 0.776, 1.367, 2.215, 3.34, 4.763, 6.5, 8.577",\
                 "0.2056, 0.2646, 0.4498, 0.7966, 1.389, 2.235, 3.351, 4.767, 6.503, 8.582",\
                 "0.23, 0.292, 0.476, 0.821, 1.412, 2.263, 3.381, 4.782, 6.507, 8.575");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.5972, 0.6389, 0.7399, 0.8847, 1.084, 1.354, 1.707, 2.152, 2.696, 3.343",\
                 "0.6083, 0.6499, 0.751, 0.8959, 1.095, 1.365, 1.718, 2.163, 2.706, 3.354",\
                 "0.6471, 0.6889, 0.7903, 0.935, 1.134, 1.404, 1.757, 2.202, 2.746, 3.394",\
                 "0.7038, 0.7455, 0.847, 0.9916, 1.19, 1.46, 1.814, 2.259, 2.803, 3.45",\
                 "0.7532, 0.7939, 0.8943, 1.039, 1.238, 1.508, 1.861, 2.307, 2.85, 3.498",\
                 "0.788, 0.8288, 0.9296, 1.074, 1.273, 1.543, 1.896, 2.341, 2.884, 3.532",\
                 "0.8026, 0.8439, 0.945, 1.09, 1.289, 1.56, 1.912, 2.357, 2.9, 3.547",\
                 "0.793, 0.8348, 0.9366, 1.083, 1.282, 1.552, 1.905, 2.35, 2.893, 3.54",\
                 "0.7542, 0.7966, 0.9003, 1.047, 1.246, 1.516, 1.87, 2.315, 2.857, 3.505",\
                 "0.6861, 0.7294, 0.834, 0.9813, 1.181, 1.451, 1.805, 2.25, 2.793, 3.44");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.5649, 0.6102, 0.7422, 0.9698, 1.319, 1.807, 2.45, 3.259, 4.249, 5.426",\
                 "0.5814, 0.6268, 0.7587, 0.9864, 1.335, 1.823, 2.467, 3.276, 4.265, 5.443",\
                 "0.6471, 0.6924, 0.8246, 1.052, 1.4, 1.889, 2.532, 3.341, 4.331, 5.508",\
                 "0.773, 0.8183, 0.9504, 1.178, 1.527, 2.015, 2.657, 3.468, 4.456, 5.634",\
                 "0.9357, 0.9814, 1.113, 1.341, 1.689, 2.177, 2.821, 3.628, 4.619, 5.798",\
                 "1.131, 1.177, 1.309, 1.536, 1.884, 2.372, 3.015, 3.825, 4.81, 5.993",\
                 "1.356, 1.402, 1.536, 1.762, 2.11, 2.598, 3.24, 4.048, 5.038, 6.216",\
                 "1.611, 1.658, 1.792, 2.019, 2.367, 2.854, 3.495, 4.303, 5.29, 6.469",\
                 "1.897, 1.944, 2.079, 2.305, 2.652, 3.14, 3.781, 4.59, 5.576, 6.751",\
                 "2.213, 2.261, 2.397, 2.623, 2.971, 3.458, 4.099, 4.907, 5.893, 7.069");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1117, 0.1486, 0.2492, 0.4289, 0.7267, 1.167, 1.756, 2.504, 3.419, 4.509",\
                 "0.1121, 0.1487, 0.2491, 0.4283, 0.7268, 1.166, 1.756, 2.506, 3.421, 4.509",\
                 "0.1122, 0.1488, 0.2494, 0.4284, 0.7268, 1.167, 1.756, 2.505, 3.42, 4.508",\
                 "0.1126, 0.1496, 0.2496, 0.4288, 0.7266, 1.165, 1.758, 2.503, 3.419, 4.51",\
                 "0.11, 0.1462, 0.248, 0.428, 0.7274, 1.168, 1.756, 2.504, 3.419, 4.507",\
                 "0.1106, 0.1472, 0.249, 0.4284, 0.7258, 1.164, 1.756, 2.504, 3.419, 4.508",\
                 "0.1134, 0.1502, 0.2514, 0.43, 0.7262, 1.165, 1.755, 2.499, 3.412, 4.498",\
                 "0.1168, 0.1534, 0.2542, 0.4318, 0.7284, 1.167, 1.754, 2.5, 3.409, 4.496",\
                 "0.1206, 0.1572, 0.2572, 0.4352, 0.729, 1.168, 1.757, 2.501, 3.413, 4.499",\
                 "0.1246, 0.1614, 0.261, 0.4372, 0.7302, 1.169, 1.758, 2.5, 3.412, 4.498");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1069, 0.1654, 0.3567, 0.7344, 1.344, 2.205, 3.336, 4.762, 6.507, 8.58",\
                 "0.1071, 0.1655, 0.3567, 0.7344, 1.345, 2.207, 3.335, 4.765, 6.507, 8.579",\
                 "0.1067, 0.1654, 0.3569, 0.7342, 1.344, 2.207, 3.336, 4.762, 6.507, 8.579",\
                 "0.107, 0.1666, 0.3568, 0.734, 1.344, 2.207, 3.335, 4.764, 6.503, 8.581",\
                 "0.1076, 0.1668, 0.3576, 0.734, 1.343, 2.202, 3.336, 4.764, 6.505, 8.584",\
                 "0.1094, 0.1688, 0.359, 0.7342, 1.343, 2.203, 3.335, 4.762, 6.506, 8.582",\
                 "0.112, 0.172, 0.361, 0.7362, 1.343, 2.202, 3.336, 4.759, 6.504, 8.583",\
                 "0.1152, 0.1746, 0.3636, 0.7366, 1.343, 2.202, 3.332, 4.758, 6.499, 8.579",\
                 "0.1182, 0.1776, 0.3666, 0.7376, 1.344, 2.202, 3.332, 4.755, 6.508, 8.575",\
                 "0.1228, 0.1822, 0.3696, 0.7388, 1.344, 2.203, 3.331, 4.756, 6.497, 8.578");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.4955, 0.5433, 0.6636, 0.8344, 1.054, 1.335, 1.693, 2.138, 2.682, 3.329",\
                 "0.5086, 0.5565, 0.677, 0.8477, 1.067, 1.349, 1.706, 2.152, 2.695, 3.342",\
                 "0.5446, 0.5924, 0.7126, 0.8832, 1.103, 1.384, 1.742, 2.187, 2.73, 3.378",\
                 "0.6226, 0.6703, 0.7899, 0.9608, 1.181, 1.462, 1.819, 2.265, 2.808, 3.456",\
                 "0.7436, 0.7933, 0.9177, 1.092, 1.314, 1.596, 1.953, 2.399, 2.942, 3.589",\
                 "0.9106, 0.9626, 1.091, 1.271, 1.497, 1.782, 2.139, 2.585, 3.128, 3.775",\
                 "1.118, 1.172, 1.308, 1.494, 1.726, 2.013, 2.373, 2.819, 3.362, 4.009",\
                 "1.358, 1.416, 1.56, 1.756, 1.998, 2.291, 2.653, 3.1, 3.642, 4.29",\
                 "1.63, 1.692, 1.845, 2.051, 2.306, 2.61, 2.98, 3.428, 3.971, 4.618",\
                 "1.933, 1.999, 2.161, 2.379, 2.647, 2.965, 3.347, 3.804, 4.351, 4.998");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.3131, 0.3584, 0.4914, 0.7196, 1.069, 1.557, 2.2, 3.008, 3.997, 5.171",\
                 "0.3244, 0.37, 0.5027, 0.731, 1.08, 1.568, 2.211, 3.019, 4.006, 5.185",\
                 "0.3689, 0.4146, 0.5467, 0.7749, 1.124, 1.613, 2.254, 3.064, 4.051, 5.228",\
                 "0.4426, 0.4884, 0.6206, 0.8476, 1.196, 1.684, 2.326, 3.136, 4.121, 5.301",\
                 "0.5016, 0.5485, 0.6825, 0.9095, 1.257, 1.744, 2.386, 3.195, 4.181, 5.359",\
                 "0.5395, 0.5887, 0.7256, 0.9521, 1.298, 1.786, 2.427, 3.235, 4.222, 5.399",\
                 "0.5516, 0.6041, 0.7457, 0.9748, 1.321, 1.806, 2.448, 3.255, 4.241, 5.418",\
                 "0.5366, 0.5927, 0.7403, 0.9743, 1.322, 1.807, 2.447, 3.254, 4.24, 5.415",\
                 "0.4918, 0.5522, 0.7067, 0.9454, 1.297, 1.786, 2.426, 3.233, 4.218, 5.393",\
                 "0.4168, 0.4811, 0.6427, 0.8884, 1.242, 1.736, 2.382, 3.189, 4.173, 5.349");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1396, 0.1856, 0.3075, 0.5005, 0.7907, 1.208, 1.779, 2.519, 3.429, 4.513",\
                 "0.1403, 0.1859, 0.3065, 0.5019, 0.7903, 1.209, 1.78, 2.518, 3.429, 4.517",\
                 "0.1398, 0.1852, 0.3064, 0.5012, 0.7904, 1.207, 1.779, 2.518, 3.427, 4.517",\
                 "0.1422, 0.1874, 0.3084, 0.5034, 0.7906, 1.208, 1.779, 2.517, 3.428, 4.517",\
                 "0.1548, 0.2018, 0.3234, 0.5134, 0.7964, 1.212, 1.782, 2.519, 3.425, 4.514",\
                 "0.168, 0.2168, 0.3398, 0.5326, 0.8128, 1.22, 1.787, 2.519, 3.43, 4.516",\
                 "0.1894, 0.2394, 0.365, 0.556, 0.832, 1.234, 1.793, 2.523, 3.431, 4.517",\
                 "0.2136, 0.2672, 0.3982, 0.5934, 0.8668, 1.257, 1.805, 2.528, 3.431, 4.513",\
                 "0.239, 0.297, 0.4348, 0.6376, 0.9166, 1.302, 1.836, 2.544, 3.439, 4.515",\
                 "0.267, 0.3292, 0.474, 0.6834, 0.9722, 1.364, 1.892, 2.586, 3.457, 4.525");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005953, 0.02334, 0.05654, 0.1083, 0.1808, 0.2763, 0.3966, 0.5435, 0.7186");
          values("0.1077, 0.1676, 0.3587, 0.7359, 1.345, 2.204, 3.339, 4.761, 6.505, 8.573",\
                 "0.108, 0.1674, 0.3585, 0.7359, 1.345, 2.205, 3.338, 4.76, 6.498, 8.578",\
                 "0.1075, 0.1673, 0.359, 0.7362, 1.346, 2.206, 3.334, 4.762, 6.503, 8.581",\
                 "0.113, 0.1713, 0.3616, 0.7366, 1.345, 2.204, 3.337, 4.763, 6.498, 8.575",\
                 "0.124, 0.1814, 0.3698, 0.7418, 1.348, 2.203, 3.334, 4.761, 6.499, 8.578",\
                 "0.1382, 0.1954, 0.3808, 0.7466, 1.351, 2.208, 3.337, 4.757, 6.5, 8.577",\
                 "0.158, 0.2128, 0.3974, 0.7566, 1.354, 2.21, 3.34, 4.767, 6.5, 8.576",\
                 "0.178, 0.2356, 0.4178, 0.7734, 1.368, 2.217, 3.341, 4.763, 6.506, 8.572",\
                 "0.2, 0.2576, 0.4422, 0.7946, 1.386, 2.232, 3.351, 4.767, 6.502, 8.578",\
                 "0.2236, 0.2834, 0.4678, 0.817, 1.408, 2.263, 3.375, 4.778, 6.506, 8.576");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xor2_4) {
    area : 48.294400 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2" ;
      value : "0.0001012836" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2" ;
      value : "0.0001319868" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2" ;
      value : "0.0001010625" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2" ;
      value : "0.0001369632" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001369632" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.006742 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.007075 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "(A1^A2)" ;
      max_capacitance : 1.438 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.3419, 0.3226, 0.2874, 0.2656, 0.2538, 0.2465, 0.2419, 0.2387, 0.2366, 0.235",\
                 "0.3408, 0.3216, 0.2864, 0.2648, 0.2527, 0.2455, 0.2409, 0.2378, 0.2357, 0.234",\
                 "0.3399, 0.3206, 0.2853, 0.2637, 0.2517, 0.2445, 0.2398, 0.2369, 0.2347, 0.233",\
                 "0.3433, 0.3237, 0.2884, 0.2665, 0.2542, 0.2471, 0.2426, 0.2395, 0.2374, 0.2358",\
                 "0.3642, 0.344, 0.306, 0.2809, 0.2668, 0.2584, 0.2531, 0.2495, 0.2471, 0.2453",\
                 "0.4062, 0.3836, 0.3397, 0.309, 0.2908, 0.2796, 0.2725, 0.2678, 0.2644, 0.2622",\
                 "0.4567, 0.4323, 0.3824, 0.3457, 0.3232, 0.3088, 0.2997, 0.2935, 0.2893, 0.2864",\
                 "0.5178, 0.4918, 0.4364, 0.393, 0.3656, 0.3475, 0.3356, 0.3277, 0.3223, 0.3184",\
                 "0.5927, 0.5657, 0.5046, 0.4529, 0.42, 0.3973, 0.3818, 0.3719, 0.3646, 0.3596",\
                 "0.6817, 0.653, 0.5867, 0.5263, 0.4863, 0.4584, 0.4397, 0.4269, 0.4175, 0.4108");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.1784, 0.1694, 0.1603, 0.1566, 0.1567, 0.1583, 0.1613, 0.1633, 0.1669, 0.1798",\
                 "0.1788, 0.1697, 0.1609, 0.1572, 0.1566, 0.1583, 0.1603, 0.1633, 0.1666, 0.182",\
                 "0.1795, 0.1709, 0.1614, 0.1571, 0.157, 0.1583, 0.1606, 0.1623, 0.1663, 0.1817",\
                 "0.1912, 0.1816, 0.1694, 0.1628, 0.1606, 0.1616, 0.1626, 0.1656, 0.1692, 0.1871",\
                 "0.2162, 0.2037, 0.1875, 0.1776, 0.1725, 0.1718, 0.1718, 0.1745, 0.1775, 0.1971",\
                 "0.2514, 0.235, 0.2135, 0.1992, 0.1926, 0.1883, 0.1867, 0.188, 0.1911, 0.2142",\
                 "0.2986, 0.2787, 0.2519, 0.2308, 0.2188, 0.2153, 0.2121, 0.2095, 0.2116, 0.2377",\
                 "0.3564, 0.3321, 0.2993, 0.274, 0.2556, 0.2467, 0.2448, 0.2427, 0.2428, 0.2767",\
                 "0.4252, 0.3976, 0.3577, 0.3278, 0.3057, 0.2889, 0.2837, 0.2829, 0.2854, 0.3308",\
                 "0.5045, 0.4742, 0.4261, 0.3912, 0.3643, 0.3447, 0.3335, 0.3277, 0.3347, 0.4082");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.3144, 0.3008, 0.282, 0.272, 0.2669, 0.2641, 0.2623, 0.2612, 0.2604, 0.2599",\
                 "0.3142, 0.3008, 0.2817, 0.272, 0.2667, 0.2637, 0.2621, 0.261, 0.2603, 0.2597",\
                 "0.313, 0.2994, 0.2805, 0.2707, 0.2654, 0.2626, 0.2609, 0.2599, 0.2591, 0.2585",\
                 "0.3132, 0.2997, 0.2804, 0.2706, 0.2655, 0.2627, 0.261, 0.26, 0.2592, 0.2586",\
                 "0.3159, 0.3024, 0.2837, 0.2741, 0.269, 0.2665, 0.2648, 0.2639, 0.2631, 0.2627",\
                 "0.3254, 0.3119, 0.2927, 0.2831, 0.278, 0.2751, 0.2735, 0.2723, 0.2717, 0.2712",\
                 "0.3413, 0.3272, 0.3074, 0.2974, 0.2916, 0.2888, 0.2871, 0.286, 0.285, 0.2845",\
                 "0.3627, 0.3485, 0.3275, 0.3164, 0.3103, 0.3073, 0.3053, 0.3042, 0.3032, 0.3026",\
                 "0.3906, 0.3758, 0.3539, 0.3417, 0.335, 0.3317, 0.3298, 0.3285, 0.3277, 0.3271",\
                 "0.424, 0.4089, 0.3858, 0.3728, 0.3656, 0.3617, 0.3596, 0.3577, 0.3569, 0.3563");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.2912, 0.281, 0.2698, 0.2633, 0.2616, 0.2626, 0.2646, 0.2676, 0.2699, 0.2855",\
                 "0.2909, 0.281, 0.2695, 0.2629, 0.2613, 0.2622, 0.2643, 0.2653, 0.2696, 0.2858",\
                 "0.2913, 0.2814, 0.2697, 0.2633, 0.262, 0.2626, 0.2643, 0.2672, 0.2699, 0.289",\
                 "0.2948, 0.2848, 0.2728, 0.267, 0.2652, 0.2655, 0.2672, 0.2692, 0.2733, 0.2924",\
                 "0.3025, 0.2922, 0.28, 0.2741, 0.2723, 0.2728, 0.2742, 0.2771, 0.2799, 0.3053",\
                 "0.3143, 0.3043, 0.292, 0.2859, 0.2835, 0.2847, 0.2867, 0.2899, 0.2922, 0.3221",\
                 "0.3318, 0.3217, 0.31, 0.3026, 0.3004, 0.3012, 0.3025, 0.3047, 0.3109, 0.3499",\
                 "0.3563, 0.3457, 0.3326, 0.3239, 0.3235, 0.3246, 0.326, 0.3258, 0.3334, 0.3957",\
                 "0.3869, 0.376, 0.3622, 0.3532, 0.3492, 0.3507, 0.355, 0.3557, 0.3669, 0.4696",\
                 "0.4244, 0.4125, 0.3982, 0.3885, 0.3846, 0.384, 0.3854, 0.392, 0.4146, 0.5947");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.3528, 0.3333, 0.2981, 0.2766, 0.2646, 0.2573, 0.2527, 0.2497, 0.2475, 0.2458",\
                 "0.3523, 0.333, 0.2979, 0.2763, 0.2643, 0.257, 0.2523, 0.2493, 0.2471, 0.2455",\
                 "0.3506, 0.3312, 0.2961, 0.2743, 0.2623, 0.2552, 0.2506, 0.2474, 0.2453, 0.2437",\
                 "0.3527, 0.3333, 0.2978, 0.2759, 0.2637, 0.2565, 0.2519, 0.2487, 0.2466, 0.245",\
                 "0.3715, 0.3513, 0.3134, 0.289, 0.2753, 0.2668, 0.2615, 0.2581, 0.2556, 0.254",\
                 "0.405, 0.3834, 0.342, 0.3133, 0.297, 0.2869, 0.2804, 0.2763, 0.2732, 0.271",\
                 "0.4517, 0.4292, 0.3836, 0.3497, 0.3299, 0.3175, 0.3094, 0.304, 0.3002, 0.2976",\
                 "0.5155, 0.4913, 0.4407, 0.4006, 0.3759, 0.3601, 0.3496, 0.3425, 0.3377, 0.3343",\
                 "0.5946, 0.5691, 0.5133, 0.4658, 0.4354, 0.4153, 0.4017, 0.3929, 0.3864, 0.3816",\
                 "0.6878, 0.661, 0.6002, 0.5445, 0.5078, 0.4833, 0.4664, 0.4544, 0.446, 0.4401");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.1972, 0.1878, 0.1772, 0.1719, 0.171, 0.1722, 0.1745, 0.1768, 0.1798, 0.1943",\
                 "0.1964, 0.187, 0.1764, 0.171, 0.17, 0.1712, 0.1739, 0.1749, 0.1792, 0.193",\
                 "0.1961, 0.1869, 0.176, 0.1706, 0.1695, 0.1708, 0.1722, 0.1749, 0.1778, 0.1929",\
                 "0.2057, 0.1957, 0.1828, 0.1757, 0.1731, 0.1738, 0.1758, 0.1785, 0.1808, 0.198",\
                 "0.2312, 0.2184, 0.2028, 0.192, 0.1859, 0.1847, 0.1851, 0.1874, 0.1911, 0.2074",\
                 "0.2676, 0.2518, 0.2306, 0.215, 0.2079, 0.2035, 0.2013, 0.2036, 0.205, 0.2261",\
                 "0.3166, 0.2974, 0.2704, 0.2505, 0.2378, 0.2342, 0.2303, 0.2285, 0.2278, 0.2588",\
                 "0.3782, 0.3549, 0.3221, 0.2973, 0.2801, 0.2688, 0.2673, 0.2642, 0.2633, 0.2993",\
                 "0.4526, 0.4262, 0.3868, 0.3562, 0.3347, 0.3174, 0.3102, 0.311, 0.3125, 0.3622",\
                 "0.5392, 0.5098, 0.4632, 0.4286, 0.403, 0.3827, 0.3676, 0.361, 0.3715, 0.4506");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.3055, 0.2919, 0.273, 0.2634, 0.2581, 0.2551, 0.2535, 0.2524, 0.2517, 0.2511",\
                 "0.3053, 0.2917, 0.2729, 0.2629, 0.2579, 0.255, 0.2534, 0.2522, 0.2515, 0.251",\
                 "0.3047, 0.2912, 0.2721, 0.2624, 0.2571, 0.2541, 0.2526, 0.2514, 0.2507, 0.2501",\
                 "0.3058, 0.2922, 0.2731, 0.2632, 0.2581, 0.2553, 0.2535, 0.2524, 0.2517, 0.2511",\
                 "0.3093, 0.2959, 0.277, 0.2674, 0.2621, 0.2594, 0.2577, 0.2567, 0.256, 0.2555",\
                 "0.3187, 0.3051, 0.286, 0.2763, 0.2713, 0.2684, 0.2667, 0.2657, 0.265, 0.2645",\
                 "0.3342, 0.3203, 0.3004, 0.2902, 0.2847, 0.2819, 0.2802, 0.2791, 0.2783, 0.2778",\
                 "0.3555, 0.3411, 0.3203, 0.3095, 0.3034, 0.3004, 0.2983, 0.2971, 0.2964, 0.2959",\
                 "0.3817, 0.367, 0.3451, 0.3331, 0.3268, 0.3233, 0.3212, 0.3201, 0.3192, 0.3186",\
                 "0.4132, 0.3982, 0.3751, 0.3625, 0.3555, 0.3518, 0.3496, 0.348, 0.3472, 0.3465");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.2711, 0.2618, 0.251, 0.2463, 0.2457, 0.247, 0.2484, 0.2517, 0.2544, 0.2707",\
                 "0.2707, 0.261, 0.251, 0.2459, 0.245, 0.247, 0.2484, 0.251, 0.2547, 0.2729",\
                 "0.2708, 0.2615, 0.2512, 0.2459, 0.2453, 0.2464, 0.2487, 0.2504, 0.2547, 0.2715",\
                 "0.2738, 0.2645, 0.254, 0.2488, 0.248, 0.2493, 0.2514, 0.2534, 0.2577, 0.2763",\
                 "0.282, 0.2726, 0.2614, 0.2556, 0.2549, 0.2563, 0.2573, 0.26, 0.2647, 0.2871",\
                 "0.2951, 0.285, 0.2739, 0.2689, 0.2666, 0.2681, 0.2692, 0.2725, 0.2763, 0.305",\
                 "0.3139, 0.3039, 0.2911, 0.2851, 0.2841, 0.285, 0.2873, 0.2882, 0.2954, 0.3329",\
                 "0.3388, 0.328, 0.3151, 0.3066, 0.3051, 0.3077, 0.3088, 0.3093, 0.3162, 0.3773",\
                 "0.3701, 0.3588, 0.3447, 0.3355, 0.3324, 0.3328, 0.3382, 0.3395, 0.3486, 0.4443",\
                 "0.4076, 0.3956, 0.3811, 0.3714, 0.3653, 0.3645, 0.3669, 0.3771, 0.396, 0.5599");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.6998, 0.7497, 0.8682, 1.031, 1.241, 1.515, 1.87, 2.316, 2.86, 3.51",\
                 "0.709, 0.7585, 0.8773, 1.039, 1.25, 1.524, 1.879, 2.325, 2.869, 3.519",\
                 "0.7286, 0.7784, 0.8968, 1.059, 1.269, 1.544, 1.899, 2.345, 2.889, 3.538",\
                 "0.7555, 0.8051, 0.9238, 1.086, 1.296, 1.571, 1.926, 2.371, 2.916, 3.565",\
                 "0.7729, 0.8218, 0.9385, 1.1, 1.31, 1.585, 1.94, 2.386, 2.93, 3.579",\
                 "0.7624, 0.8111, 0.9282, 1.09, 1.299, 1.574, 1.928, 2.374, 2.919, 3.567",\
                 "0.7146, 0.7638, 0.8814, 1.044, 1.254, 1.529, 1.883, 2.329, 2.872, 3.521",\
                 "0.6246, 0.6744, 0.7929, 0.9563, 1.167, 1.442, 1.797, 2.243, 2.786, 3.434",\
                 "0.4886, 0.5388, 0.6587, 0.8228, 1.035, 1.312, 1.67, 2.118, 2.662, 3.31",\
                 "0.3028, 0.3535, 0.4745, 0.64, 0.8533, 1.134, 1.495, 1.944, 2.489, 3.136");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.8404, 0.8914, 1.035, 1.269, 1.619, 2.107, 2.751, 3.562, 4.551, 5.728",\
                 "0.8558, 0.907, 1.05, 1.285, 1.634, 2.123, 2.766, 3.578, 4.567, 5.744",\
                 "0.9233, 0.9745, 1.118, 1.352, 1.702, 2.19, 2.835, 3.644, 4.633, 5.81",\
                 "1.065, 1.116, 1.259, 1.493, 1.843, 2.332, 2.975, 3.786, 4.775, 5.952",\
                 "1.272, 1.324, 1.467, 1.701, 2.051, 2.54, 3.183, 3.994, 4.983, 6.159",\
                 "1.53, 1.581, 1.724, 1.96, 2.309, 2.798, 3.441, 4.251, 5.241, 6.418",\
                 "1.84, 1.891, 2.036, 2.27, 2.62, 3.109, 3.752, 4.562, 5.551, 6.731",\
                 "2.207, 2.259, 2.403, 2.637, 2.987, 3.475, 4.118, 4.928, 5.918, 7.096",\
                 "2.63, 2.682, 2.826, 3.062, 3.411, 3.9, 4.542, 5.352, 6.34, 7.518",\
                 "3.11, 3.163, 3.308, 3.543, 3.893, 4.381, 5.023, 5.834, 6.822, 8");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.1433, 0.1876, 0.298, 0.4775, 0.7628, 1.189, 1.772, 2.519, 3.433, 4.525",\
                 "0.1425, 0.1886, 0.2982, 0.4777, 0.7628, 1.189, 1.773, 2.518, 3.433, 4.522",\
                 "0.1425, 0.1876, 0.2983, 0.4776, 0.7628, 1.189, 1.772, 2.519, 3.434, 4.525",\
                 "0.1428, 0.1882, 0.2984, 0.4782, 0.7628, 1.189, 1.772, 2.519, 3.434, 4.526",\
                 "0.1404, 0.1846, 0.2948, 0.4752, 0.7636, 1.189, 1.773, 2.517, 3.434, 4.522",\
                 "0.1408, 0.185, 0.2956, 0.477, 0.7618, 1.185, 1.77, 2.515, 3.432, 4.528",\
                 "0.1436, 0.1882, 0.2986, 0.4788, 0.762, 1.187, 1.769, 2.512, 3.428, 4.519",\
                 "0.1468, 0.1914, 0.3024, 0.4814, 0.7648, 1.189, 1.77, 2.513, 3.424, 4.513",\
                 "0.1506, 0.1954, 0.3064, 0.485, 0.7706, 1.199, 1.78, 2.52, 3.429, 4.513",\
                 "0.1546, 0.2, 0.3108, 0.4892, 0.7774, 1.211, 1.795, 2.53, 3.432, 4.515");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.1313, 0.1912, 0.3862, 0.7524, 1.354, 2.211, 3.347, 4.772, 6.517, 8.592",\
                 "0.1307, 0.1909, 0.3862, 0.7522, 1.354, 2.213, 3.347, 4.772, 6.516, 8.594",\
                 "0.1304, 0.1906, 0.3866, 0.7526, 1.354, 2.213, 3.343, 4.773, 6.523, 8.59",\
                 "0.1302, 0.191, 0.3862, 0.7536, 1.354, 2.21, 3.344, 4.771, 6.522, 8.592",\
                 "0.1312, 0.1916, 0.3868, 0.7532, 1.354, 2.213, 3.345, 4.773, 6.515, 8.592",\
                 "0.1312, 0.1914, 0.387, 0.754, 1.354, 2.212, 3.347, 4.775, 6.515, 8.591",\
                 "0.1322, 0.1924, 0.3878, 0.7536, 1.352, 2.21, 3.348, 4.78, 6.516, 8.589",\
                 "0.1348, 0.1942, 0.3894, 0.7558, 1.354, 2.213, 3.346, 4.776, 6.514, 8.59",\
                 "0.1366, 0.1974, 0.392, 0.7558, 1.354, 2.212, 3.344, 4.772, 6.521, 8.594",\
                 "0.1408, 0.2, 0.3952, 0.7586, 1.356, 2.213, 3.344, 4.77, 6.514, 8.588");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.6509, 0.7086, 0.8508, 1.048, 1.292, 1.591, 1.959, 2.41, 2.955, 3.604",\
                 "0.6639, 0.7216, 0.8638, 1.06, 1.305, 1.604, 1.972, 2.423, 2.968, 3.616",\
                 "0.7141, 0.7718, 0.9137, 1.11, 1.355, 1.654, 2.022, 2.472, 3.018, 3.667",\
                 "0.8318, 0.8896, 1.031, 1.228, 1.472, 1.771, 2.139, 2.59, 3.135, 3.784",\
                 "1.031, 1.089, 1.23, 1.426, 1.67, 1.969, 2.337, 2.787, 3.332, 3.981",\
                 "1.279, 1.341, 1.488, 1.688, 1.935, 2.235, 2.602, 3.052, 3.597, 4.245",\
                 "1.571, 1.635, 1.789, 1.994, 2.246, 2.55, 2.92, 3.37, 3.915, 4.563",\
                 "1.913, 1.98, 2.14, 2.352, 2.609, 2.916, 3.288, 3.739, 4.284, 4.931",\
                 "2.305, 2.376, 2.544, 2.764, 3.028, 3.338, 3.711, 4.164, 4.71, 5.358",\
                 "2.745, 2.819, 2.998, 3.229, 3.502, 3.819, 4.196, 4.649, 5.194, 5.841");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.3828, 0.4331, 0.5758, 0.81, 1.16, 1.649, 2.293, 3.104, 4.095, 5.275",\
                 "0.3968, 0.4469, 0.5896, 0.8237, 1.174, 1.663, 2.307, 3.118, 4.107, 5.288",\
                 "0.4434, 0.4938, 0.6359, 0.87, 1.22, 1.709, 2.353, 3.164, 4.153, 5.333",\
                 "0.5271, 0.5775, 0.719, 0.9518, 1.301, 1.789, 2.433, 3.243, 4.234, 5.415",\
                 "0.6024, 0.6548, 0.7989, 1.032, 1.381, 1.867, 2.51, 3.321, 4.311, 5.491",\
                 "0.6527, 0.7077, 0.8547, 1.09, 1.436, 1.923, 2.564, 3.374, 4.363, 5.543",\
                 "0.6722, 0.7313, 0.8839, 1.121, 1.467, 1.951, 2.592, 3.4, 4.387, 5.568",\
                 "0.6563, 0.7196, 0.8791, 1.122, 1.469, 1.952, 2.59, 3.398, 4.385, 5.562",\
                 "0.6006, 0.6681, 0.8359, 1.086, 1.437, 1.921, 2.56, 3.363, 4.351, 5.526",\
                 "0.503, 0.5746, 0.7506, 1.009, 1.364, 1.852, 2.494, 3.298, 4.282, 5.458");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.197, 0.2529, 0.3872, 0.5945, 0.8822, 1.287, 1.837, 2.559, 3.462, 4.547",\
                 "0.1973, 0.253, 0.3872, 0.5936, 0.8814, 1.286, 1.839, 2.558, 3.458, 4.547",\
                 "0.1977, 0.2517, 0.3867, 0.5938, 0.8816, 1.287, 1.836, 2.561, 3.461, 4.547",\
                 "0.1974, 0.2512, 0.3868, 0.5932, 0.8824, 1.286, 1.836, 2.559, 3.458, 4.547",\
                 "0.204, 0.2578, 0.392, 0.5978, 0.8848, 1.288, 1.838, 2.561, 3.462, 4.547",\
                 "0.231, 0.2862, 0.4186, 0.6192, 0.8988, 1.296, 1.843, 2.563, 3.462, 4.546",\
                 "0.2552, 0.3134, 0.4478, 0.6458, 0.924, 1.316, 1.855, 2.568, 3.465, 4.546",\
                 "0.2818, 0.3434, 0.48, 0.6764, 0.9506, 1.335, 1.869, 2.576, 3.47, 4.551",\
                 "0.3152, 0.3788, 0.5212, 0.7148, 0.9826, 1.357, 1.886, 2.587, 3.476, 4.551",\
                 "0.3504, 0.4178, 0.5688, 0.7632, 1.028, 1.393, 1.907, 2.599, 3.484, 4.555");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.1249, 0.186, 0.3804, 0.7492, 1.352, 2.212, 3.344, 4.772, 6.518, 8.601",\
                 "0.1248, 0.186, 0.3808, 0.7488, 1.35, 2.209, 3.342, 4.773, 6.518, 8.597",\
                 "0.1244, 0.185, 0.3814, 0.7488, 1.352, 2.209, 3.344, 4.772, 6.529, 8.598",\
                 "0.1288, 0.188, 0.3832, 0.7496, 1.353, 2.208, 3.348, 4.776, 6.52, 8.601",\
                 "0.144, 0.2024, 0.3962, 0.7572, 1.352, 2.212, 3.347, 4.773, 6.519, 8.599",\
                 "0.164, 0.2208, 0.4102, 0.7668, 1.358, 2.215, 3.345, 4.778, 6.517, 8.596",\
                 "0.1894, 0.2464, 0.4324, 0.7806, 1.363, 2.216, 3.347, 4.776, 6.519, 8.596",\
                 "0.2164, 0.2742, 0.4584, 0.8018, 1.375, 2.218, 3.349, 4.773, 6.526, 8.605",\
                 "0.244, 0.3062, 0.4888, 0.8292, 1.396, 2.233, 3.353, 4.775, 6.516, 8.602",\
                 "0.2732, 0.34, 0.5234, 0.8596, 1.42, 2.257, 3.373, 4.785, 6.52, 8.591");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.6853, 0.735, 0.8533, 1.016, 1.226, 1.501, 1.855, 2.301, 2.845, 3.494",\
                 "0.6969, 0.7467, 0.8652, 1.028, 1.238, 1.512, 1.867, 2.313, 2.857, 3.506",\
                 "0.7358, 0.7855, 0.9043, 1.066, 1.277, 1.551, 1.906, 2.352, 2.896, 3.545",\
                 "0.7861, 0.836, 0.9544, 1.117, 1.327, 1.601, 1.956, 2.402, 2.946, 3.596",\
                 "0.821, 0.8698, 0.9872, 1.149, 1.359, 1.634, 1.989, 2.435, 2.979, 3.628",\
                 "0.8303, 0.8789, 0.996, 1.158, 1.368, 1.642, 1.997, 2.443, 2.987, 3.636",\
                 "0.8082, 0.8572, 0.9747, 1.137, 1.347, 1.622, 1.976, 2.422, 2.966, 3.614",\
                 "0.7508, 0.8003, 0.918, 1.081, 1.291, 1.566, 1.921, 2.367, 2.91, 3.558",\
                 "0.6529, 0.7024, 0.8219, 0.9855, 1.196, 1.471, 1.826, 2.272, 2.815, 3.464",\
                 "0.5123, 0.563, 0.6829, 0.8477, 1.059, 1.334, 1.689, 2.135, 2.678, 3.327");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.7649, 0.8156, 0.9585, 1.193, 1.542, 2.031, 2.675, 3.486, 4.475, 5.655",\
                 "0.7803, 0.831, 0.9739, 1.208, 1.558, 2.047, 2.69, 3.5, 4.492, 5.672",\
                 "0.8452, 0.8959, 1.039, 1.273, 1.622, 2.111, 2.755, 3.566, 4.553, 5.732",\
                 "0.9824, 1.033, 1.176, 1.41, 1.76, 2.249, 2.892, 3.704, 4.691, 5.87",\
                 "1.178, 1.229, 1.372, 1.605, 1.955, 2.444, 3.088, 3.899, 4.885, 6.07",\
                 "1.418, 1.469, 1.612, 1.846, 2.196, 2.684, 3.328, 4.139, 5.128, 6.307",\
                 "1.705, 1.756, 1.9, 2.134, 2.483, 2.971, 3.614, 4.425, 5.413, 6.59",\
                 "2.039, 2.091, 2.235, 2.469, 2.818, 3.306, 3.948, 4.757, 5.746, 6.924",\
                 "2.419, 2.471, 2.616, 2.851, 3.2, 3.687, 4.329, 5.138, 6.126, 7.305",\
                 "2.847, 2.9, 3.046, 3.281, 3.629, 4.117, 4.758, 5.568, 6.555, 7.733");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.1425, 0.1877, 0.2976, 0.4775, 0.7626, 1.189, 1.773, 2.518, 3.432, 4.52",\
                 "0.143, 0.1875, 0.298, 0.4774, 0.7626, 1.189, 1.773, 2.517, 3.434, 4.527",\
                 "0.1433, 0.1882, 0.2986, 0.4776, 0.7632, 1.189, 1.772, 2.519, 3.433, 4.527",\
                 "0.1426, 0.1878, 0.2976, 0.4778, 0.7628, 1.189, 1.773, 2.518, 3.433, 4.525",\
                 "0.1412, 0.1864, 0.2954, 0.4762, 0.7636, 1.19, 1.773, 2.518, 3.432, 4.526",\
                 "0.141, 0.185, 0.297, 0.4764, 0.7612, 1.187, 1.772, 2.517, 3.43, 4.528",\
                 "0.1434, 0.1882, 0.298, 0.4778, 0.7626, 1.189, 1.77, 2.513, 3.429, 4.521",\
                 "0.1462, 0.1904, 0.3008, 0.4802, 0.7634, 1.191, 1.77, 2.514, 3.425, 4.514",\
                 "0.1496, 0.194, 0.3042, 0.483, 0.7658, 1.191, 1.774, 2.516, 3.428, 4.514",\
                 "0.1532, 0.1982, 0.3094, 0.4864, 0.768, 1.191, 1.773, 2.518, 3.428, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.1271, 0.188, 0.3829, 0.7496, 1.353, 2.212, 3.35, 4.773, 6.528, 8.598",\
                 "0.1278, 0.1888, 0.3828, 0.7504, 1.351, 2.212, 3.342, 4.776, 6.52, 8.601",\
                 "0.127, 0.1882, 0.3832, 0.7502, 1.35, 2.209, 3.343, 4.771, 6.523, 8.605",\
                 "0.1284, 0.1882, 0.383, 0.75, 1.352, 2.21, 3.343, 4.772, 6.524, 8.611",\
                 "0.128, 0.1882, 0.384, 0.7504, 1.353, 2.213, 3.348, 4.78, 6.519, 8.599",\
                 "0.1298, 0.191, 0.3846, 0.7512, 1.352, 2.212, 3.348, 4.773, 6.518, 8.599",\
                 "0.1322, 0.1914, 0.3868, 0.7512, 1.35, 2.209, 3.342, 4.77, 6.519, 8.6",\
                 "0.134, 0.1944, 0.3894, 0.7528, 1.353, 2.208, 3.34, 4.77, 6.524, 8.588",\
                 "0.1388, 0.1986, 0.3924, 0.7546, 1.352, 2.211, 3.339, 4.767, 6.518, 8.585",\
                 "0.1414, 0.2012, 0.3964, 0.7578, 1.351, 2.209, 3.338, 4.767, 6.506, 8.59");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.6962, 0.7544, 0.8964, 1.093, 1.337, 1.637, 2.004, 2.455, 3, 3.649",\
                 "0.7118, 0.7698, 0.9116, 1.108, 1.353, 1.652, 2.02, 2.47, 3.016, 3.664",\
                 "0.7482, 0.8061, 0.948, 1.145, 1.389, 1.689, 2.056, 2.507, 3.052, 3.701",\
                 "0.8232, 0.881, 1.023, 1.219, 1.463, 1.763, 2.13, 2.581, 3.126, 3.775",\
                 "0.9547, 1.013, 1.156, 1.353, 1.598, 1.897, 2.264, 2.715, 3.26, 3.909",\
                 "1.132, 1.192, 1.339, 1.542, 1.791, 2.092, 2.46, 2.91, 3.455, 4.104",\
                 "1.357, 1.42, 1.571, 1.778, 2.033, 2.338, 2.709, 3.16, 3.704, 4.353",\
                 "1.625, 1.69, 1.849, 2.062, 2.323, 2.633, 3.006, 3.458, 4.004, 4.652",\
                 "1.927, 1.997, 2.164, 2.387, 2.658, 2.975, 3.353, 3.807, 4.353, 5.001",\
                 "2.265, 2.337, 2.513, 2.747, 3.03, 3.361, 3.748, 4.207, 4.753, 5.402");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.4247, 0.4755, 0.6185, 0.8531, 1.204, 1.692, 2.336, 3.147, 4.135, 5.313",\
                 "0.4361, 0.4869, 0.6299, 0.8645, 1.215, 1.704, 2.348, 3.158, 4.148, 5.325",\
                 "0.48, 0.5311, 0.6739, 0.9085, 1.259, 1.748, 2.392, 3.202, 4.191, 5.37",\
                 "0.567, 0.6176, 0.7597, 0.9931, 1.343, 1.831, 2.475, 3.285, 4.275, 5.451",\
                 "0.6561, 0.7085, 0.8525, 1.086, 1.434, 1.921, 2.564, 3.374, 4.362, 5.542",\
                 "0.7248, 0.7797, 0.9265, 1.161, 1.508, 1.994, 2.635, 3.445, 4.432, 5.609",\
                 "0.7694, 0.8278, 0.9789, 1.217, 1.562, 2.047, 2.688, 3.495, 4.482, 5.661",\
                 "0.7874, 0.8497, 1.007, 1.249, 1.597, 2.079, 2.718, 3.525, 4.511, 5.688",\
                 "0.7764, 0.843, 1.008, 1.256, 1.607, 2.09, 2.728, 3.533, 4.519, 5.695",\
                 "0.734, 0.805, 0.9784, 1.234, 1.589, 2.076, 2.715, 3.521, 4.505, 5.68");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.1971, 0.2514, 0.3871, 0.5936, 0.882, 1.286, 1.838, 2.561, 3.461, 4.547",\
                 "0.1968, 0.2513, 0.3871, 0.5936, 0.882, 1.286, 1.838, 2.561, 3.46, 4.547",\
                 "0.1971, 0.2515, 0.3868, 0.5944, 0.8812, 1.286, 1.839, 2.561, 3.459, 4.547",\
                 "0.1964, 0.2516, 0.387, 0.5938, 0.8814, 1.286, 1.837, 2.56, 3.462, 4.547",\
                 "0.2064, 0.2606, 0.3944, 0.5982, 0.8846, 1.288, 1.84, 2.558, 3.462, 4.545",\
                 "0.2214, 0.2772, 0.4144, 0.6178, 0.9002, 1.295, 1.845, 2.561, 3.462, 4.542",\
                 "0.2382, 0.2966, 0.436, 0.6416, 0.9246, 1.315, 1.855, 2.568, 3.466, 4.547",\
                 "0.2636, 0.3244, 0.4672, 0.6722, 0.9522, 1.338, 1.872, 2.577, 3.466, 4.548",\
                 "0.2932, 0.3566, 0.507, 0.7174, 0.9968, 1.373, 1.894, 2.59, 3.474, 4.549",\
                 "0.326, 0.3934, 0.5508, 0.7664, 1.054, 1.43, 1.94, 2.619, 3.488, 4.559");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.01091, 0.04572, 0.1122, 0.2157, 0.361, 0.5522, 0.793, 1.087, 1.438");
          values("0.1282, 0.1885, 0.3839, 0.7516, 1.351, 2.21, 3.344, 4.773, 6.521, 8.599",\
                 "0.1281, 0.1886, 0.3839, 0.7517, 1.351, 2.21, 3.344, 4.771, 6.516, 8.594",\
                 "0.1278, 0.1885, 0.3849, 0.7515, 1.354, 2.212, 3.35, 4.773, 6.515, 8.597",\
                 "0.1297, 0.1898, 0.3858, 0.753, 1.354, 2.213, 3.344, 4.773, 6.516, 8.592",\
                 "0.1442, 0.2028, 0.3958, 0.7578, 1.353, 2.212, 3.349, 4.776, 6.517, 8.594",\
                 "0.1624, 0.2202, 0.41, 0.7664, 1.359, 2.215, 3.344, 4.772, 6.52, 8.599",\
                 "0.185, 0.2428, 0.4292, 0.7794, 1.363, 2.216, 3.346, 4.776, 6.523, 8.59",\
                 "0.2098, 0.2692, 0.4542, 0.7982, 1.373, 2.22, 3.35, 4.774, 6.521, 8.599",\
                 "0.2376, 0.2998, 0.4822, 0.8248, 1.394, 2.233, 3.354, 4.778, 6.517, 8.596",\
                 "0.2672, 0.3312, 0.5154, 0.8542, 1.418, 2.255, 3.369, 4.787, 6.521, 8.593");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xor3_1) {
    area : 50.489600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "0.0001580073" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "0.0001541793" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "9.05355e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "9.14463e-05" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "0.0001216908" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "0.0001226016" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "0.0001239051" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "0.0001200771" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001580073" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004882 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.00523 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A3) {
      capacitance : 0.007321 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "(A1^A2^A3)" ;
      max_capacitance : 0.1873 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1941, 0.1935, 0.1917, 0.1892, 0.1868, 0.1848, 0.1832, 0.1821, 0.1812, 0.1806",\
                 "0.1934, 0.1928, 0.191, 0.1885, 0.1861, 0.1841, 0.1825, 0.1814, 0.1806, 0.1799",\
                 "0.1928, 0.1922, 0.1904, 0.1879, 0.1854, 0.1834, 0.1819, 0.1808, 0.1799, 0.1793",\
                 "0.1948, 0.1942, 0.1924, 0.1898, 0.1874, 0.1854, 0.1839, 0.1828, 0.1819, 0.1813",\
                 "0.2007, 0.2001, 0.1983, 0.1958, 0.1933, 0.1913, 0.1898, 0.1886, 0.1878, 0.1872",\
                 "0.2106, 0.2099, 0.2081, 0.2057, 0.2033, 0.2013, 0.1997, 0.1986, 0.1977, 0.1971",\
                 "0.2248, 0.2242, 0.2224, 0.22, 0.2175, 0.2155, 0.214, 0.2128, 0.212, 0.2113",\
                 "0.2438, 0.2432, 0.2414, 0.2389, 0.2366, 0.2345, 0.2329, 0.2318, 0.2309, 0.2303",\
                 "0.2676, 0.267, 0.2654, 0.2629, 0.2605, 0.2584, 0.2569, 0.2557, 0.2549, 0.2542",\
                 "0.2967, 0.2961, 0.2943, 0.2919, 0.2895, 0.2875, 0.2859, 0.2847, 0.2838, 0.2832");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.196, 0.196, 0.1962, 0.1967, 0.1974, 0.198, 0.1986, 0.1991, 0.2, 0.203",\
                 "0.1958, 0.1958, 0.196, 0.1964, 0.1972, 0.1977, 0.1984, 0.1989, 0.1997, 0.2028",\
                 "0.1955, 0.1955, 0.1956, 0.1961, 0.1968, 0.1974, 0.1981, 0.1987, 0.1994, 0.2027",\
                 "0.1966, 0.1966, 0.1967, 0.1972, 0.1979, 0.1985, 0.1991, 0.1997, 0.2006, 0.2039",\
                 "0.2, 0.2, 0.2002, 0.2006, 0.2014, 0.202, 0.2026, 0.2033, 0.204, 0.208",\
                 "0.2068, 0.2068, 0.207, 0.2075, 0.2081, 0.2088, 0.2094, 0.21, 0.2108, 0.2152",\
                 "0.2172, 0.2173, 0.2174, 0.2179, 0.2186, 0.2195, 0.22, 0.2205, 0.2214, 0.2265",\
                 "0.2318, 0.2318, 0.232, 0.2324, 0.2328, 0.2337, 0.2348, 0.2354, 0.2363, 0.2427",\
                 "0.2504, 0.2505, 0.2507, 0.2511, 0.2516, 0.2522, 0.2527, 0.254, 0.2555, 0.2638",\
                 "0.2735, 0.2736, 0.2738, 0.2743, 0.2747, 0.2752, 0.2756, 0.2764, 0.2789, 0.2909");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1461, 0.1454, 0.1435, 0.1417, 0.1403, 0.1393, 0.1386, 0.1381, 0.1377, 0.1374",\
                 "0.1459, 0.1451, 0.1433, 0.1415, 0.1401, 0.1391, 0.1384, 0.1379, 0.1375, 0.1371",\
                 "0.1456, 0.1448, 0.143, 0.1412, 0.1398, 0.1388, 0.1381, 0.1376, 0.1372, 0.1368",\
                 "0.1467, 0.1459, 0.1441, 0.1423, 0.141, 0.1399, 0.1392, 0.1387, 0.1383, 0.138",\
                 "0.1499, 0.1492, 0.1474, 0.1457, 0.1445, 0.1436, 0.1429, 0.1424, 0.142, 0.1417",\
                 "0.1565, 0.1557, 0.154, 0.1524, 0.1512, 0.1503, 0.1496, 0.1492, 0.1488, 0.1485",\
                 "0.1668, 0.1661, 0.1644, 0.1628, 0.1616, 0.1608, 0.1602, 0.1597, 0.1594, 0.159",\
                 "0.1813, 0.1807, 0.1789, 0.1773, 0.1761, 0.1752, 0.1746, 0.1741, 0.1739, 0.1736",\
                 "0.2001, 0.1993, 0.1976, 0.1959, 0.1948, 0.1939, 0.1933, 0.1928, 0.1925, 0.1922",\
                 "0.2232, 0.2224, 0.2206, 0.219, 0.2179, 0.2169, 0.2163, 0.2158, 0.2154, 0.2152");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.156, 0.1557, 0.1552, 0.1547, 0.1548, 0.1549, 0.1553, 0.1558, 0.1567, 0.1598",\
                 "0.1553, 0.155, 0.1545, 0.154, 0.154, 0.1542, 0.1545, 0.1551, 0.1559, 0.1591",\
                 "0.1546, 0.1544, 0.1539, 0.1534, 0.1534, 0.1536, 0.154, 0.1544, 0.1553, 0.1584",\
                 "0.1566, 0.1563, 0.1558, 0.1554, 0.1554, 0.1556, 0.1559, 0.1564, 0.1572, 0.161",\
                 "0.1626, 0.1623, 0.1617, 0.1612, 0.1612, 0.1614, 0.1617, 0.1623, 0.1631, 0.1673",\
                 "0.1726, 0.1723, 0.1716, 0.1711, 0.1711, 0.1713, 0.1716, 0.172, 0.1731, 0.1782",\
                 "0.1869, 0.1866, 0.1859, 0.1854, 0.1853, 0.1855, 0.1858, 0.1863, 0.1874, 0.1945",\
                 "0.206, 0.2059, 0.205, 0.2044, 0.2042, 0.2044, 0.2047, 0.2051, 0.2066, 0.2169",\
                 "0.2303, 0.23, 0.2291, 0.2283, 0.2278, 0.228, 0.2285, 0.229, 0.2313, 0.2475",\
                 "0.2597, 0.2592, 0.2583, 0.2573, 0.2568, 0.2565, 0.257, 0.2579, 0.2624, 0.2903");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1137, 0.1131, 0.1112, 0.1087, 0.1063, 0.1043, 0.1028, 0.1016, 0.1008, 0.1001",\
                 "0.1134, 0.1128, 0.1111, 0.1085, 0.1061, 0.1041, 0.1026, 0.1014, 0.1006, 0.09994",\
                 "0.1137, 0.1131, 0.1113, 0.1087, 0.1063, 0.1043, 0.1028, 0.1016, 0.1008, 0.1001",\
                 "0.1158, 0.1151, 0.1134, 0.1109, 0.1085, 0.1065, 0.1049, 0.1038, 0.1029, 0.1023",\
                 "0.1207, 0.1201, 0.1183, 0.116, 0.1136, 0.1115, 0.11, 0.1088, 0.1079, 0.1073",\
                 "0.1289, 0.1283, 0.1266, 0.1242, 0.1219, 0.1199, 0.1183, 0.1171, 0.1162, 0.1155",\
                 "0.1411, 0.1405, 0.1387, 0.1364, 0.1341, 0.1321, 0.1305, 0.1292, 0.1283, 0.1276",\
                 "0.1573, 0.1567, 0.155, 0.1528, 0.1505, 0.1485, 0.1468, 0.1456, 0.1446, 0.1439",\
                 "0.1781, 0.1774, 0.1757, 0.1734, 0.1713, 0.1692, 0.1676, 0.1663, 0.1653, 0.1646",\
                 "0.2033, 0.2026, 0.2009, 0.1987, 0.1965, 0.1945, 0.1929, 0.1915, 0.1906, 0.1897");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1806, 0.1807, 0.1809, 0.1814, 0.182, 0.1827, 0.1833, 0.1838, 0.1846, 0.1874",\
                 "0.1804, 0.1804, 0.1806, 0.1811, 0.1817, 0.1824, 0.183, 0.1835, 0.1843, 0.1872",\
                 "0.1802, 0.1803, 0.1805, 0.1809, 0.1816, 0.1823, 0.1829, 0.1835, 0.1842, 0.1873",\
                 "0.1822, 0.1823, 0.1825, 0.183, 0.1836, 0.1843, 0.1849, 0.1855, 0.1862, 0.1896",\
                 "0.1884, 0.1884, 0.1887, 0.189, 0.1897, 0.1904, 0.1911, 0.1917, 0.1924, 0.1964",\
                 "0.1991, 0.1991, 0.1992, 0.1996, 0.2002, 0.2008, 0.2014, 0.2021, 0.203, 0.208",\
                 "0.2139, 0.214, 0.2141, 0.2145, 0.215, 0.2156, 0.2162, 0.2168, 0.218, 0.2248",\
                 "0.2338, 0.2338, 0.2337, 0.2339, 0.2346, 0.2354, 0.2358, 0.2364, 0.2377, 0.2479",\
                 "0.2588, 0.2589, 0.2586, 0.2587, 0.2589, 0.2597, 0.2608, 0.2613, 0.2635, 0.279",\
                 "0.2891, 0.289, 0.289, 0.2889, 0.289, 0.2893, 0.2902, 0.2914, 0.2958, 0.3217");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1299, 0.1292, 0.1276, 0.1262, 0.125, 0.1242, 0.1237, 0.1232, 0.1229, 0.1226",\
                 "0.1297, 0.129, 0.1274, 0.1259, 0.1248, 0.124, 0.1234, 0.123, 0.1227, 0.1224",\
                 "0.1295, 0.1288, 0.1272, 0.1257, 0.1246, 0.1238, 0.1233, 0.1228, 0.1225, 0.1222",\
                 "0.1315, 0.1308, 0.1291, 0.1276, 0.1265, 0.1257, 0.1251, 0.1247, 0.1244, 0.1241",\
                 "0.138, 0.1372, 0.1353, 0.1335, 0.1321, 0.1312, 0.1306, 0.1301, 0.1297, 0.1294",\
                 "0.1502, 0.1492, 0.1468, 0.1443, 0.1424, 0.141, 0.1401, 0.1395, 0.139, 0.1385",\
                 "0.1668, 0.1657, 0.1627, 0.1595, 0.1571, 0.1552, 0.1539, 0.1529, 0.1522, 0.1517",\
                 "0.1888, 0.1875, 0.1839, 0.1799, 0.1767, 0.1742, 0.1724, 0.1711, 0.1701, 0.1694",\
                 "0.2165, 0.2149, 0.2106, 0.2058, 0.2017, 0.1985, 0.196, 0.1943, 0.193, 0.192",\
                 "0.2498, 0.248, 0.2432, 0.2373, 0.2322, 0.2282, 0.2251, 0.2228, 0.221, 0.2197");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.07541, 0.07508, 0.07459, 0.07431, 0.07442, 0.07459, 0.07499, 0.07556, 0.07625, 0.07885",\
                 "0.07519, 0.0749, 0.07444, 0.07412, 0.07422, 0.07439, 0.0748, 0.07539, 0.07605, 0.07875",\
                 "0.0754, 0.07517, 0.07463, 0.07427, 0.07432, 0.07452, 0.0749, 0.07542, 0.07612, 0.07899",\
                 "0.07814, 0.07781, 0.077, 0.07635, 0.0762, 0.07627, 0.07658, 0.07714, 0.07786, 0.0809",\
                 "0.08407, 0.08368, 0.08251, 0.0815, 0.08075, 0.08072, 0.08077, 0.08113, 0.08185, 0.08532",\
                 "0.09368, 0.09306, 0.09146, 0.09001, 0.08897, 0.08838, 0.0881, 0.08836, 0.08897, 0.09288",\
                 "0.1076, 0.1069, 0.1049, 0.1026, 0.101, 0.1002, 0.09955, 0.09935, 0.09984, 0.1042",\
                 "0.126, 0.1251, 0.1228, 0.1198, 0.1173, 0.1156, 0.115, 0.1147, 0.1147, 0.1207",\
                 "0.1491, 0.1481, 0.1454, 0.142, 0.1386, 0.136, 0.1346, 0.1339, 0.1343, 0.1423",\
                 "0.1768, 0.1757, 0.1726, 0.1687, 0.1647, 0.1613, 0.159, 0.1576, 0.1585, 0.1695");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1899, 0.1893, 0.1875, 0.185, 0.1826, 0.1805, 0.179, 0.1779, 0.177, 0.1764",\
                 "0.189, 0.1883, 0.1865, 0.184, 0.1816, 0.1796, 0.178, 0.1769, 0.1761, 0.1754",\
                 "0.1891, 0.1885, 0.1867, 0.1842, 0.1818, 0.1798, 0.1782, 0.1771, 0.1763, 0.1756",\
                 "0.1919, 0.1912, 0.1895, 0.187, 0.1845, 0.1825, 0.181, 0.1798, 0.179, 0.1784",\
                 "0.1977, 0.197, 0.1953, 0.1928, 0.1903, 0.1883, 0.1868, 0.1856, 0.1848, 0.1842",\
                 "0.2064, 0.2057, 0.2039, 0.2015, 0.199, 0.1971, 0.1956, 0.1944, 0.1935, 0.1928",\
                 "0.2184, 0.2177, 0.2159, 0.2134, 0.211, 0.209, 0.2074, 0.2063, 0.2055, 0.2048",\
                 "0.2342, 0.2336, 0.2318, 0.2294, 0.2269, 0.2249, 0.2233, 0.2222, 0.2214, 0.2207",\
                 "0.2543, 0.2536, 0.2518, 0.2493, 0.247, 0.2449, 0.2434, 0.2422, 0.2414, 0.2408",\
                 "0.2787, 0.2779, 0.2762, 0.2738, 0.2714, 0.2693, 0.2678, 0.2667, 0.2658, 0.2652");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1854, 0.1855, 0.1857, 0.1861, 0.1868, 0.1875, 0.1881, 0.1887, 0.1893, 0.1924",\
                 "0.1856, 0.1856, 0.1859, 0.1863, 0.187, 0.1876, 0.1882, 0.1888, 0.1896, 0.1926",\
                 "0.1859, 0.1859, 0.1861, 0.1866, 0.1873, 0.1879, 0.1885, 0.1891, 0.1899, 0.1931",\
                 "0.1873, 0.1873, 0.1875, 0.188, 0.1887, 0.1893, 0.1899, 0.1906, 0.1914, 0.1947",\
                 "0.1908, 0.1909, 0.1911, 0.1915, 0.1923, 0.1929, 0.1935, 0.1941, 0.195, 0.1988",\
                 "0.1969, 0.1969, 0.1971, 0.1977, 0.1984, 0.1991, 0.1996, 0.2001, 0.2009, 0.2053",\
                 "0.2061, 0.2062, 0.2063, 0.2068, 0.2075, 0.2085, 0.2088, 0.2093, 0.2102, 0.2154",\
                 "0.2184, 0.2185, 0.2187, 0.219, 0.2195, 0.2204, 0.2213, 0.222, 0.2227, 0.229",\
                 "0.2341, 0.2341, 0.2345, 0.2347, 0.2353, 0.2358, 0.2366, 0.2378, 0.2393, 0.2468",\
                 "0.2535, 0.2536, 0.2537, 0.2541, 0.2546, 0.255, 0.2555, 0.2563, 0.2587, 0.27");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1347, 0.134, 0.1324, 0.131, 0.1298, 0.129, 0.1284, 0.128, 0.1277, 0.1274",\
                 "0.1349, 0.1342, 0.1326, 0.1311, 0.13, 0.1292, 0.1286, 0.1282, 0.1278, 0.1275",\
                 "0.1352, 0.1345, 0.1329, 0.1314, 0.1303, 0.1295, 0.1289, 0.1285, 0.1281, 0.1279",\
                 "0.1366, 0.136, 0.1343, 0.1328, 0.1317, 0.1309, 0.1304, 0.1299, 0.1296, 0.1293",\
                 "0.1401, 0.1394, 0.1378, 0.1363, 0.1353, 0.1345, 0.1339, 0.1335, 0.1332, 0.1329",\
                 "0.1462, 0.1455, 0.1439, 0.1425, 0.1414, 0.1406, 0.14, 0.1396, 0.1392, 0.139",\
                 "0.1554, 0.1547, 0.1531, 0.1516, 0.1505, 0.1497, 0.1491, 0.1486, 0.1483, 0.148",\
                 "0.1678, 0.1671, 0.1654, 0.1639, 0.1628, 0.162, 0.1614, 0.1609, 0.1605, 0.1603",\
                 "0.1836, 0.1829, 0.1812, 0.1796, 0.1785, 0.1777, 0.1771, 0.1766, 0.1763, 0.176",\
                 "0.203, 0.2023, 0.2005, 0.1989, 0.1977, 0.1969, 0.1963, 0.1958, 0.1955, 0.1952");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1518, 0.1515, 0.151, 0.1505, 0.1505, 0.1507, 0.151, 0.1516, 0.1524, 0.1555",\
                 "0.1508, 0.1505, 0.15, 0.1495, 0.1495, 0.1497, 0.1501, 0.1506, 0.1514, 0.1543",\
                 "0.151, 0.1507, 0.1502, 0.1497, 0.1497, 0.1499, 0.1503, 0.1508, 0.1516, 0.1549",\
                 "0.1537, 0.1535, 0.1529, 0.1524, 0.1525, 0.1527, 0.153, 0.1536, 0.1544, 0.158",\
                 "0.1596, 0.1593, 0.1587, 0.1582, 0.1582, 0.1585, 0.1589, 0.1593, 0.1602, 0.1643",\
                 "0.1685, 0.1682, 0.1675, 0.167, 0.1669, 0.1671, 0.1674, 0.1678, 0.169, 0.1743",\
                 "0.1804, 0.1802, 0.1795, 0.179, 0.1789, 0.179, 0.1794, 0.1799, 0.1811, 0.1885",\
                 "0.1965, 0.1962, 0.1954, 0.1947, 0.1946, 0.1948, 0.1951, 0.1956, 0.1972, 0.2081",\
                 "0.2166, 0.2163, 0.2156, 0.2147, 0.2145, 0.2147, 0.2151, 0.2155, 0.2181, 0.2359",\
                 "0.2414, 0.2411, 0.2401, 0.2393, 0.2387, 0.2387, 0.2391, 0.2399, 0.2453, 0.2764");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1162, 0.1155, 0.1138, 0.1113, 0.1089, 0.1068, 0.1053, 0.1042, 0.1033, 0.1027",\
                 "0.1163, 0.1157, 0.1139, 0.1114, 0.109, 0.107, 0.1054, 0.1043, 0.1035, 0.1028",\
                 "0.1166, 0.1161, 0.1143, 0.1118, 0.1093, 0.1073, 0.1058, 0.1046, 0.1038, 0.1031",\
                 "0.1185, 0.1178, 0.1161, 0.1136, 0.1112, 0.1091, 0.1076, 0.1065, 0.1056, 0.105",\
                 "0.123, 0.1224, 0.1207, 0.1182, 0.1158, 0.1138, 0.1123, 0.1111, 0.1102, 0.1096",\
                 "0.131, 0.1304, 0.1286, 0.1262, 0.1239, 0.1219, 0.1203, 0.1191, 0.1182, 0.1175",\
                 "0.143, 0.1424, 0.1407, 0.1383, 0.136, 0.1339, 0.1324, 0.1311, 0.1302, 0.1295",\
                 "0.1593, 0.1587, 0.1569, 0.1547, 0.1524, 0.1503, 0.1487, 0.1474, 0.1465, 0.1457",\
                 "0.18, 0.1794, 0.1776, 0.1754, 0.1732, 0.1712, 0.1695, 0.1682, 0.1672, 0.1664",\
                 "0.2054, 0.2047, 0.203, 0.2008, 0.1987, 0.1966, 0.1949, 0.1936, 0.1926, 0.1918");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1874, 0.1875, 0.1877, 0.1881, 0.1888, 0.1895, 0.1901, 0.1907, 0.1914, 0.1943",\
                 "0.1871, 0.1872, 0.1874, 0.1878, 0.1885, 0.1892, 0.1898, 0.1903, 0.1911, 0.194",\
                 "0.1873, 0.1874, 0.1875, 0.188, 0.1886, 0.1893, 0.1899, 0.1905, 0.1913, 0.1944",\
                 "0.1897, 0.1896, 0.1899, 0.1903, 0.191, 0.1916, 0.1922, 0.1928, 0.1936, 0.197",\
                 "0.196, 0.196, 0.1962, 0.1966, 0.1973, 0.1979, 0.1986, 0.1992, 0.2, 0.204",\
                 "0.2072, 0.2072, 0.2074, 0.2077, 0.2083, 0.209, 0.2096, 0.2102, 0.2112, 0.2163",\
                 "0.2228, 0.2227, 0.2227, 0.2232, 0.2238, 0.2244, 0.225, 0.2255, 0.2267, 0.2337",\
                 "0.2436, 0.2435, 0.2435, 0.2437, 0.2442, 0.245, 0.2454, 0.2461, 0.2476, 0.2579",\
                 "0.2695, 0.2695, 0.2694, 0.2695, 0.2697, 0.2705, 0.2714, 0.2719, 0.2743, 0.2906",\
                 "0.3012, 0.301, 0.3009, 0.3007, 0.301, 0.3014, 0.3023, 0.3035, 0.3081, 0.3358");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1377, 0.1369, 0.135, 0.1333, 0.1319, 0.1309, 0.1302, 0.1297, 0.1293, 0.1289",\
                 "0.1374, 0.1366, 0.1347, 0.133, 0.1316, 0.1306, 0.1299, 0.1294, 0.1289, 0.1286",\
                 "0.1375, 0.1368, 0.1349, 0.1331, 0.1318, 0.1308, 0.1301, 0.1295, 0.1291, 0.1288",\
                 "0.1397, 0.139, 0.1371, 0.1353, 0.1339, 0.1329, 0.1323, 0.1317, 0.1313, 0.131",\
                 "0.1465, 0.1456, 0.1434, 0.1413, 0.1398, 0.1387, 0.1379, 0.1373, 0.1369, 0.1365",\
                 "0.159, 0.1579, 0.1553, 0.1526, 0.1506, 0.149, 0.148, 0.1473, 0.1467, 0.1462",\
                 "0.1763, 0.1751, 0.1719, 0.1686, 0.166, 0.164, 0.1625, 0.1615, 0.1607, 0.1601",\
                 "0.1989, 0.1975, 0.1938, 0.1897, 0.1864, 0.1838, 0.1819, 0.1805, 0.1795, 0.1787",\
                 "0.2274, 0.2259, 0.2216, 0.2166, 0.2124, 0.2091, 0.2067, 0.2049, 0.2035, 0.2024",\
                 "0.2618, 0.2601, 0.2552, 0.2493, 0.2442, 0.2401, 0.237, 0.2347, 0.2328, 0.2315");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.07792, 0.07768, 0.07714, 0.07686, 0.07694, 0.07714, 0.07751, 0.07808, 0.07863, 0.08153",\
                 "0.07801, 0.07782, 0.07729, 0.077, 0.07707, 0.07727, 0.07765, 0.07811, 0.07877, 0.0816",\
                 "0.07837, 0.07813, 0.07756, 0.07727, 0.0773, 0.0775, 0.07791, 0.07847, 0.07916, 0.08194",\
                 "0.08064, 0.08035, 0.07963, 0.07907, 0.07895, 0.07912, 0.07943, 0.07999, 0.08071, 0.08385",\
                 "0.08585, 0.0855, 0.08456, 0.08366, 0.08324, 0.08314, 0.08339, 0.08382, 0.0846, 0.08778",\
                 "0.09509, 0.09448, 0.09315, 0.09182, 0.09119, 0.0907, 0.09062, 0.09078, 0.09155, 0.09541",\
                 "0.1086, 0.108, 0.1062, 0.1042, 0.1027, 0.1022, 0.1019, 0.1018, 0.1022, 0.107",\
                 "0.1267, 0.1259, 0.1238, 0.1211, 0.119, 0.1177, 0.1171, 0.117, 0.1175, 0.123",\
                 "0.1495, 0.1486, 0.1461, 0.143, 0.1402, 0.1379, 0.1366, 0.1364, 0.137, 0.1445",\
                 "0.1772, 0.1762, 0.1734, 0.1697, 0.1659, 0.1634, 0.1614, 0.1603, 0.1613, 0.1717");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1227, 0.1221, 0.12, 0.117, 0.1141, 0.1117, 0.1099, 0.1086, 0.1076, 0.1069",\
                 "0.122, 0.1213, 0.1193, 0.1164, 0.1135, 0.1112, 0.1094, 0.1081, 0.1071, 0.1064",\
                 "0.1212, 0.1205, 0.1186, 0.1158, 0.113, 0.1107, 0.109, 0.1077, 0.1067, 0.106",\
                 "0.1231, 0.1224, 0.1207, 0.1181, 0.1155, 0.1133, 0.1116, 0.1103, 0.1094, 0.1086",\
                 "0.1303, 0.1297, 0.1279, 0.1256, 0.1232, 0.121, 0.1193, 0.1178, 0.1168, 0.116",\
                 "0.144, 0.1432, 0.1414, 0.1389, 0.1365, 0.1343, 0.1324, 0.1308, 0.1296, 0.1286",\
                 "0.1643, 0.1635, 0.1612, 0.1584, 0.1557, 0.1533, 0.1512, 0.1494, 0.148, 0.1469",\
                 "0.1914, 0.1903, 0.1875, 0.1841, 0.1809, 0.1782, 0.1758, 0.1738, 0.1722, 0.1709",\
                 "0.2251, 0.224, 0.2205, 0.2164, 0.2126, 0.2093, 0.2065, 0.2043, 0.2024, 0.2008",\
                 "0.2658, 0.2644, 0.2604, 0.2555, 0.2509, 0.247, 0.2438, 0.2411, 0.2389, 0.2371");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.08754, 0.08754, 0.08721, 0.08599, 0.08441, 0.08296, 0.08201, 0.08149, 0.08155, 0.08351",\
                 "0.08704, 0.08702, 0.08673, 0.08558, 0.08411, 0.08263, 0.08172, 0.08122, 0.08119, 0.08327",\
                 "0.08563, 0.08556, 0.08531, 0.08466, 0.08381, 0.08283, 0.08205, 0.08168, 0.08165, 0.08382",\
                 "0.08542, 0.08544, 0.08534, 0.0852, 0.08507, 0.08467, 0.08432, 0.08409, 0.08422, 0.08669",\
                 "0.09002, 0.08997, 0.08997, 0.08994, 0.08998, 0.08989, 0.08993, 0.08993, 0.09016, 0.09284",\
                 "0.09991, 0.09986, 0.09955, 0.09931, 0.09945, 0.09952, 0.0995, 0.09947, 0.09979, 0.103",\
                 "0.1156, 0.1152, 0.1147, 0.114, 0.1136, 0.1137, 0.1139, 0.1141, 0.1145, 0.1186",\
                 "0.1372, 0.1367, 0.1357, 0.1346, 0.1335, 0.1331, 0.1333, 0.1336, 0.1341, 0.1391",\
                 "0.1651, 0.1644, 0.163, 0.1612, 0.1596, 0.1582, 0.1577, 0.1581, 0.1588, 0.1659",\
                 "0.1992, 0.1983, 0.1963, 0.194, 0.1919, 0.1897, 0.1887, 0.188, 0.1891, 0.199");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("-0.001091, -0.0009938, -0.0008324, -0.0007362, -0.0007136, -0.0006629, -0.0006556, -0.000653, -0.0006526, -0.0006528",\
                 "-0.001853, -0.001637, -0.001191, -0.0008781, -0.0006995, -0.0005933, -0.0005335, -0.0005206, -0.0004853, -0.0004817",\
                 "-0.001198, -0.001124, -0.0008988, -0.0006373, -0.0004775, -0.0003733, -0.0003102, -0.0002721, -0.0002324, -0.0002101",\
                 "0.003656, 0.003336, 0.002631, 0.002026, 0.00151, 0.001161, 0.0008934, 0.0006965, 0.0005631, 0.0004529",\
                 "0.01409, 0.01328, 0.01119, 0.008965, 0.007033, 0.005525, 0.004386, 0.003494, 0.002833, 0.002302",\
                 "0.03093, 0.02959, 0.02595, 0.02154, 0.01758, 0.01429, 0.01163, 0.009524, 0.007844, 0.006517",\
                 "0.05456, 0.05277, 0.04769, 0.04093, 0.03437, 0.02871, 0.02396, 0.02005, 0.01684, 0.01425",\
                 "0.08529, 0.08311, 0.07674, 0.06776, 0.05835, 0.04982, 0.04247, 0.03622, 0.03097, 0.02658",\
                 "0.1235, 0.121, 0.1134, 0.1025, 0.0902, 0.07845, 0.068, 0.05899, 0.05121, 0.04453",\
                 "0.1695, 0.1667, 0.1582, 0.1453, 0.1304, 0.1153, 0.1014, 0.08911, 0.07846, 0.06909");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.06122, 0.06152, 0.06209, 0.06253, 0.06291, 0.06325, 0.06362, 0.06408, 0.06471, 0.06697",\
                 "0.05964, 0.06005, 0.06105, 0.06188, 0.06265, 0.06321, 0.06379, 0.06425, 0.06495, 0.06726",\
                 "0.06042, 0.0604, 0.06058, 0.06124, 0.06199, 0.06272, 0.06336, 0.06398, 0.06468, 0.06741",\
                 "0.0671, 0.06664, 0.06543, 0.06429, 0.0638, 0.06381, 0.06405, 0.06451, 0.06507, 0.0678",\
                 "0.08002, 0.07903, 0.07646, 0.07351, 0.07087, 0.06899, 0.06798, 0.06758, 0.06751, 0.06984",\
                 "0.09975, 0.09825, 0.09423, 0.08928, 0.08449, 0.08024, 0.07699, 0.07481, 0.07344, 0.07566",\
                 "0.1268, 0.1249, 0.1194, 0.1122, 0.1052, 0.09865, 0.0925, 0.08768, 0.08461, 0.08642",\
                 "0.1617, 0.1593, 0.1526, 0.1432, 0.1336, 0.1245, 0.116, 0.1083, 0.1025, 0.1044",\
                 "0.205, 0.2022, 0.1942, 0.1828, 0.1704, 0.1582, 0.1473, 0.137, 0.1285, 0.1327",\
                 "0.257, 0.2539, 0.2447, 0.2313, 0.2163, 0.2011, 0.1872, 0.1739, 0.1649, 0.1759");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("-0.001091, -0.0009937, -0.0008322, -0.0007359, -0.0007134, -0.0006626, -0.0006554, -0.0006528, -0.0006524, -0.0006526",\
                 "-0.001852, -0.001636, -0.00119, -0.0008781, -0.0006994, -0.0005931, -0.0005336, -0.000511, -0.0004983, -0.0004749",\
                 "-0.001198, -0.001124, -0.0008987, -0.0006371, -0.0004775, -0.0003733, -0.0002848, -0.0002585, -0.0002219, -0.0002222",\
                 "0.003652, 0.003323, 0.002628, 0.002028, 0.001504, 0.001161, 0.0008943, 0.0006855, 0.0005624, 0.0004576",\
                 "0.01409, 0.01328, 0.01119, 0.008947, 0.007029, 0.005526, 0.004392, 0.003507, 0.002822, 0.002302",\
                 "0.03093, 0.0296, 0.02594, 0.02157, 0.01758, 0.01429, 0.01164, 0.009526, 0.007859, 0.006517",\
                 "0.05456, 0.05276, 0.04768, 0.04093, 0.03438, 0.02871, 0.02397, 0.02005, 0.01684, 0.01422",\
                 "0.08529, 0.08312, 0.07673, 0.06776, 0.05834, 0.04982, 0.04248, 0.03622, 0.03096, 0.02658",\
                 "0.1235, 0.121, 0.1135, 0.1025, 0.0902, 0.07844, 0.068, 0.05897, 0.05121, 0.04455",\
                 "0.1695, 0.1667, 0.1582, 0.1453, 0.1303, 0.1153, 0.1014, 0.08911, 0.07848, 0.06909");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.06122, 0.06152, 0.06209, 0.06246, 0.06288, 0.06324, 0.06362, 0.06408, 0.06468, 0.06694",\
                 "0.05964, 0.06004, 0.06105, 0.06188, 0.06265, 0.06321, 0.06379, 0.06425, 0.06494, 0.06729",\
                 "0.06042, 0.0604, 0.0606, 0.06124, 0.06199, 0.06272, 0.06336, 0.06385, 0.06468, 0.06741",\
                 "0.0671, 0.06663, 0.06543, 0.0643, 0.06377, 0.06384, 0.06395, 0.06454, 0.06507, 0.06767",\
                 "0.08002, 0.07905, 0.07646, 0.07347, 0.07086, 0.06895, 0.06798, 0.06745, 0.06751, 0.07008",\
                 "0.09973, 0.09827, 0.09425, 0.08928, 0.08453, 0.08031, 0.07699, 0.07477, 0.07318, 0.07575",\
                 "0.1268, 0.1249, 0.1194, 0.1123, 0.1051, 0.09862, 0.09256, 0.08788, 0.08461, 0.08645",\
                 "0.1617, 0.1593, 0.1526, 0.1433, 0.1335, 0.1245, 0.116, 0.1083, 0.1025, 0.1045",\
                 "0.205, 0.2022, 0.1941, 0.1828, 0.1704, 0.1583, 0.1473, 0.137, 0.1286, 0.1327",\
                 "0.2571, 0.2539, 0.2447, 0.2313, 0.2162, 0.2012, 0.1871, 0.174, 0.1648, 0.1757");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1227, 0.122, 0.12, 0.117, 0.1141, 0.1117, 0.1099, 0.1086, 0.1076, 0.1069",\
                 "0.122, 0.1214, 0.1194, 0.1164, 0.1135, 0.1112, 0.1094, 0.1081, 0.1071, 0.1064",\
                 "0.1212, 0.1205, 0.1186, 0.1158, 0.113, 0.1107, 0.109, 0.1077, 0.1067, 0.106",\
                 "0.1231, 0.1224, 0.1206, 0.1181, 0.1156, 0.1133, 0.1116, 0.1103, 0.1093, 0.1086",\
                 "0.1303, 0.1297, 0.1279, 0.1255, 0.1232, 0.121, 0.1192, 0.1178, 0.1168, 0.116",\
                 "0.1439, 0.1432, 0.1413, 0.1389, 0.1365, 0.1342, 0.1323, 0.1308, 0.1296, 0.1286",\
                 "0.1643, 0.1635, 0.1612, 0.1584, 0.1557, 0.1532, 0.1512, 0.1494, 0.148, 0.1469",\
                 "0.1914, 0.1903, 0.1875, 0.1841, 0.181, 0.1782, 0.1757, 0.1738, 0.1722, 0.1708",\
                 "0.2251, 0.2239, 0.2205, 0.2164, 0.2126, 0.2093, 0.2066, 0.2043, 0.2024, 0.2008",\
                 "0.2657, 0.2643, 0.2604, 0.2555, 0.2509, 0.2469, 0.2438, 0.2411, 0.2389, 0.2371");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.08752, 0.0875, 0.08718, 0.08597, 0.08437, 0.08302, 0.08198, 0.08155, 0.08152, 0.08351",\
                 "0.08702, 0.08701, 0.08672, 0.08557, 0.08407, 0.08276, 0.08168, 0.08125, 0.08119, 0.08324",\
                 "0.0856, 0.08554, 0.08528, 0.08464, 0.08381, 0.08279, 0.08204, 0.08168, 0.08161, 0.08375",\
                 "0.08541, 0.08539, 0.08534, 0.08518, 0.08503, 0.08467, 0.08432, 0.08416, 0.08419, 0.08669",\
                 "0.09004, 0.09002, 0.08999, 0.08996, 0.08998, 0.08989, 0.08983, 0.0899, 0.09012, 0.09284",\
                 "0.1, 0.09988, 0.0996, 0.09938, 0.09945, 0.09952, 0.0995, 0.0996, 0.09995, 0.1031",\
                 "0.1155, 0.1154, 0.1146, 0.1141, 0.1136, 0.1137, 0.114, 0.1141, 0.1145, 0.1186",\
                 "0.1371, 0.1367, 0.1357, 0.1345, 0.1335, 0.1331, 0.1333, 0.1336, 0.1341, 0.1391",\
                 "0.165, 0.1645, 0.1628, 0.1611, 0.1596, 0.1583, 0.1577, 0.158, 0.1591, 0.166",\
                 "0.1991, 0.1983, 0.1964, 0.194, 0.1915, 0.1898, 0.1886, 0.188, 0.1892, 0.1992");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.9515, 0.9807, 1.069, 1.205, 1.39, 1.629, 1.929, 2.299, 2.747, 3.279",\
                 "0.9654, 0.9945, 1.083, 1.219, 1.404, 1.643, 1.943, 2.313, 2.761, 3.293",\
                 "1.003, 1.032, 1.12, 1.257, 1.441, 1.68, 1.981, 2.351, 2.799, 3.331",\
                 "1.025, 1.055, 1.142, 1.279, 1.464, 1.702, 2.003, 2.373, 2.821, 3.353",\
                 "1.016, 1.045, 1.132, 1.268, 1.452, 1.69, 1.991, 2.361, 2.809, 3.341",\
                 "0.9665, 0.9947, 1.08, 1.215, 1.399, 1.637, 1.937, 2.308, 2.756, 3.288",\
                 "0.8618, 0.8899, 0.9754, 1.11, 1.293, 1.532, 1.831, 2.202, 2.65, 3.182",\
                 "0.705, 0.7332, 0.8187, 0.953, 1.136, 1.375, 1.676, 2.046, 2.494, 3.026",\
                 "0.4926, 0.5206, 0.6063, 0.7412, 0.9247, 1.163, 1.463, 1.834, 2.281, 2.813",\
                 "0.224, 0.2523, 0.3377, 0.4725, 0.6571, 0.894, 1.194, 1.564, 2.011, 2.544");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.133, 1.166, 1.281, 1.5, 1.842, 2.321, 2.953, 3.749, 4.721, 5.88",\
                 "1.14, 1.173, 1.288, 1.507, 1.848, 2.328, 2.96, 3.755, 4.727, 5.886",\
                 "1.177, 1.209, 1.324, 1.543, 1.885, 2.364, 2.996, 3.792, 4.764, 5.923",\
                 "1.273, 1.306, 1.421, 1.64, 1.982, 2.462, 3.094, 3.888, 4.86, 6.02",\
                 "1.449, 1.482, 1.597, 1.815, 2.157, 2.637, 3.268, 4.064, 5.035, 6.195",\
                 "1.697, 1.73, 1.845, 2.063, 2.405, 2.885, 3.516, 4.312, 5.284, 6.442",\
                 "2.017, 2.049, 2.164, 2.382, 2.723, 3.203, 3.835, 4.63, 5.602, 6.76",\
                 "2.407, 2.441, 2.555, 2.773, 3.113, 3.592, 4.224, 5.02, 5.992, 7.15",\
                 "2.865, 2.898, 3.012, 3.229, 3.57, 4.049, 4.68, 5.475, 6.445, 7.604",\
                 "3.388, 3.421, 3.535, 3.753, 4.093, 4.571, 5.203, 5.997, 6.968, 8.125");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2686, 0.2928, 0.3742, 0.5248, 0.7676, 1.119, 1.59, 2.193, 2.943, 3.848",\
                 "0.2686, 0.2929, 0.3742, 0.5248, 0.7672, 1.119, 1.589, 2.193, 2.944, 3.847",\
                 "0.2688, 0.2932, 0.3742, 0.5242, 0.7674, 1.118, 1.589, 2.193, 2.944, 3.846",\
                 "0.2686, 0.2936, 0.3738, 0.5242, 0.7674, 1.118, 1.589, 2.193, 2.944, 3.848",\
                 "0.2632, 0.2878, 0.369, 0.521, 0.7658, 1.117, 1.589, 2.193, 2.941, 3.843",\
                 "0.2602, 0.2836, 0.3644, 0.5164, 0.7628, 1.116, 1.588, 2.192, 2.945, 3.848",\
                 "0.258, 0.2824, 0.3624, 0.5168, 0.7634, 1.116, 1.587, 2.191, 2.942, 3.845",\
                 "0.2586, 0.2826, 0.3634, 0.5174, 0.7638, 1.116, 1.586, 2.192, 2.941, 3.842",\
                 "0.2592, 0.2838, 0.3646, 0.5178, 0.7646, 1.116, 1.586, 2.193, 2.941, 3.841",\
                 "0.26, 0.2844, 0.3652, 0.5176, 0.7638, 1.115, 1.587, 2.189, 2.939, 3.841");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.3456, 0.402, 0.6018, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3458, 0.402, 0.602, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3462, 0.4024, 0.602, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.644, 8.676",\
                 "0.3454, 0.4018, 0.6018, 0.9878, 1.589, 2.432, 3.54, 4.938, 6.643, 8.676",\
                 "0.3464, 0.4028, 0.6018, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3462, 0.4026, 0.6024, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.675",\
                 "0.3472, 0.4034, 0.6028, 0.9876, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3482, 0.4046, 0.6036, 0.988, 1.589, 2.432, 3.541, 4.937, 6.643, 8.674",\
                 "0.3502, 0.4064, 0.6048, 0.989, 1.59, 2.432, 3.541, 4.937, 6.641, 8.674",\
                 "0.3528, 0.409, 0.606, 0.9904, 1.591, 2.434, 3.541, 4.936, 6.64, 8.672");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.9434, 0.9608, 1.016, 1.107, 1.23, 1.386, 1.579, 1.815, 2.099, 2.435",\
                 "0.9548, 0.9725, 1.028, 1.119, 1.242, 1.398, 1.592, 1.827, 2.111, 2.447",\
                 "0.998, 1.016, 1.071, 1.162, 1.285, 1.441, 1.634, 1.87, 2.154, 2.49",\
                 "1.077, 1.094, 1.149, 1.24, 1.364, 1.52, 1.713, 1.948, 2.232, 2.569",\
                 "1.152, 1.169, 1.225, 1.316, 1.44, 1.596, 1.789, 2.025, 2.308, 2.645",\
                 "1.202, 1.22, 1.276, 1.367, 1.491, 1.647, 1.841, 2.076, 2.36, 2.696",\
                 "1.224, 1.241, 1.297, 1.388, 1.512, 1.669, 1.862, 2.098, 2.381, 2.718",\
                 "1.208, 1.226, 1.282, 1.374, 1.499, 1.656, 1.849, 2.085, 2.369, 2.705",\
                 "1.152, 1.171, 1.227, 1.32, 1.445, 1.602, 1.796, 2.032, 2.315, 2.651",\
                 "1.052, 1.07, 1.127, 1.221, 1.346, 1.504, 1.698, 1.934, 2.217, 2.553");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.01, 1.045, 1.161, 1.382, 1.726, 2.207, 2.839, 3.635, 4.607, 5.763",\
                 "1.023, 1.058, 1.175, 1.396, 1.739, 2.22, 2.852, 3.648, 4.62, 5.776",\
                 "1.076, 1.111, 1.227, 1.449, 1.792, 2.273, 2.905, 3.701, 4.673, 5.829",\
                 "1.199, 1.233, 1.35, 1.571, 1.915, 2.396, 3.028, 3.824, 4.796, 5.952",\
                 "1.402, 1.436, 1.553, 1.773, 2.117, 2.598, 3.231, 4.027, 4.997, 6.154",\
                 "1.662, 1.696, 1.812, 2.033, 2.376, 2.857, 3.489, 4.286, 5.256, 6.415",\
                 "1.972, 2.007, 2.124, 2.344, 2.686, 3.166, 3.799, 4.595, 5.567, 6.725",\
                 "2.336, 2.37, 2.486, 2.706, 3.049, 3.529, 4.161, 4.957, 5.929, 7.087",\
                 "2.75, 2.785, 2.901, 3.12, 3.463, 3.942, 4.574, 5.37, 6.341, 7.498",\
                 "3.213, 3.248, 3.365, 3.584, 3.925, 4.405, 5.036, 5.832, 6.803, 7.96");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2299, 0.2505, 0.3142, 0.4204, 0.5736, 0.7856, 1.07, 1.438, 1.899, 2.456",\
                 "0.231, 0.2502, 0.3143, 0.4204, 0.5738, 0.7848, 1.07, 1.438, 1.899, 2.456",\
                 "0.2298, 0.2506, 0.3148, 0.4204, 0.5738, 0.7846, 1.069, 1.438, 1.898, 2.456",\
                 "0.2298, 0.2504, 0.314, 0.4204, 0.5736, 0.7856, 1.069, 1.439, 1.899, 2.456",\
                 "0.2306, 0.251, 0.3152, 0.421, 0.5738, 0.786, 1.07, 1.439, 1.9, 2.457",\
                 "0.231, 0.252, 0.3154, 0.4216, 0.5746, 0.7856, 1.07, 1.438, 1.899, 2.456",\
                 "0.2324, 0.253, 0.3168, 0.4224, 0.5758, 0.7866, 1.07, 1.439, 1.898, 2.456",\
                 "0.2348, 0.2552, 0.3178, 0.4238, 0.5762, 0.7874, 1.071, 1.44, 1.9, 2.457",\
                 "0.2346, 0.2558, 0.3194, 0.4254, 0.5782, 0.7886, 1.072, 1.44, 1.9, 2.457",\
                 "0.2362, 0.257, 0.3216, 0.4274, 0.5792, 0.79, 1.072, 1.44, 1.9, 2.457");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2716, 0.3249, 0.5192, 0.902, 1.505, 2.35, 3.456, 4.86, 6.566, 8.592",\
                 "0.2716, 0.3246, 0.5194, 0.9022, 1.504, 2.35, 3.456, 4.86, 6.566, 8.592",\
                 "0.2712, 0.3244, 0.5194, 0.9022, 1.505, 2.35, 3.455, 4.86, 6.566, 8.593",\
                 "0.2714, 0.3248, 0.5194, 0.9022, 1.504, 2.35, 3.456, 4.86, 6.566, 8.592",\
                 "0.272, 0.325, 0.5188, 0.902, 1.506, 2.347, 3.455, 4.851, 6.565, 8.592",\
                 "0.2734, 0.326, 0.519, 0.9018, 1.503, 2.347, 3.454, 4.857, 6.567, 8.598",\
                 "0.2752, 0.3278, 0.5196, 0.9014, 1.503, 2.348, 3.456, 4.859, 6.563, 8.588",\
                 "0.2782, 0.3302, 0.5204, 0.903, 1.503, 2.347, 3.46, 4.856, 6.561, 8.601",\
                 "0.282, 0.3332, 0.5222, 0.9012, 1.502, 2.345, 3.454, 4.849, 6.566, 8.603",\
                 "0.2864, 0.3372, 0.5242, 0.9022, 1.504, 2.345, 3.455, 4.851, 6.562, 8.598");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.9515, 0.9807, 1.069, 1.205, 1.39, 1.629, 1.929, 2.299, 2.747, 3.279",\
                 "0.9654, 0.9945, 1.083, 1.219, 1.404, 1.643, 1.943, 2.313, 2.761, 3.293",\
                 "1.003, 1.032, 1.12, 1.257, 1.441, 1.68, 1.981, 2.351, 2.799, 3.331",\
                 "1.025, 1.055, 1.142, 1.279, 1.464, 1.702, 2.003, 2.373, 2.821, 3.353",\
                 "1.016, 1.045, 1.132, 1.268, 1.452, 1.69, 1.991, 2.361, 2.809, 3.341",\
                 "0.9665, 0.9947, 1.08, 1.215, 1.399, 1.637, 1.937, 2.308, 2.756, 3.288",\
                 "0.8618, 0.8899, 0.9754, 1.11, 1.293, 1.532, 1.831, 2.202, 2.65, 3.182",\
                 "0.705, 0.7332, 0.8187, 0.953, 1.136, 1.375, 1.676, 2.046, 2.494, 3.026",\
                 "0.4926, 0.5206, 0.6063, 0.7412, 0.9247, 1.163, 1.463, 1.834, 2.281, 2.813",\
                 "0.224, 0.2523, 0.3377, 0.4725, 0.6571, 0.894, 1.194, 1.564, 2.011, 2.544");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.133, 1.166, 1.281, 1.5, 1.842, 2.321, 2.953, 3.749, 4.721, 5.88",\
                 "1.14, 1.173, 1.288, 1.507, 1.848, 2.328, 2.96, 3.755, 4.727, 5.886",\
                 "1.177, 1.209, 1.324, 1.543, 1.885, 2.364, 2.996, 3.792, 4.764, 5.923",\
                 "1.273, 1.306, 1.421, 1.64, 1.982, 2.462, 3.094, 3.888, 4.86, 6.02",\
                 "1.449, 1.482, 1.597, 1.815, 2.157, 2.637, 3.268, 4.064, 5.035, 6.195",\
                 "1.697, 1.73, 1.845, 2.063, 2.405, 2.885, 3.516, 4.312, 5.284, 6.442",\
                 "2.017, 2.049, 2.164, 2.382, 2.723, 3.203, 3.835, 4.63, 5.602, 6.76",\
                 "2.407, 2.441, 2.555, 2.773, 3.113, 3.592, 4.224, 5.02, 5.992, 7.15",\
                 "2.865, 2.898, 3.012, 3.229, 3.57, 4.049, 4.68, 5.475, 6.445, 7.604",\
                 "3.388, 3.421, 3.535, 3.753, 4.093, 4.571, 5.203, 5.997, 6.968, 8.125");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2686, 0.2928, 0.3742, 0.5248, 0.7676, 1.119, 1.59, 2.193, 2.943, 3.848",\
                 "0.2686, 0.2929, 0.3742, 0.5248, 0.7672, 1.119, 1.589, 2.193, 2.944, 3.847",\
                 "0.2688, 0.2932, 0.3742, 0.5242, 0.7674, 1.118, 1.589, 2.193, 2.944, 3.846",\
                 "0.2686, 0.2936, 0.3738, 0.5242, 0.7674, 1.118, 1.589, 2.193, 2.944, 3.848",\
                 "0.2632, 0.2878, 0.369, 0.521, 0.7658, 1.117, 1.589, 2.193, 2.941, 3.843",\
                 "0.2602, 0.2836, 0.3644, 0.5164, 0.7628, 1.116, 1.588, 2.192, 2.945, 3.848",\
                 "0.258, 0.2824, 0.3624, 0.5168, 0.7634, 1.116, 1.587, 2.191, 2.942, 3.845",\
                 "0.2586, 0.2826, 0.3634, 0.5174, 0.7638, 1.116, 1.586, 2.192, 2.941, 3.842",\
                 "0.2592, 0.2838, 0.3646, 0.5178, 0.7646, 1.116, 1.586, 2.193, 2.941, 3.841",\
                 "0.26, 0.2844, 0.3652, 0.5176, 0.7638, 1.115, 1.587, 2.189, 2.939, 3.841");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.3456, 0.402, 0.6018, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3458, 0.402, 0.602, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3462, 0.4024, 0.602, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.644, 8.676",\
                 "0.3454, 0.4018, 0.6018, 0.9878, 1.589, 2.432, 3.54, 4.938, 6.643, 8.676",\
                 "0.3464, 0.4028, 0.6018, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3462, 0.4026, 0.6024, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.675",\
                 "0.3472, 0.4034, 0.6028, 0.9876, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3482, 0.4046, 0.6036, 0.988, 1.589, 2.432, 3.541, 4.937, 6.643, 8.674",\
                 "0.3502, 0.4064, 0.6048, 0.989, 1.59, 2.432, 3.541, 4.937, 6.641, 8.674",\
                 "0.3528, 0.409, 0.606, 0.9904, 1.591, 2.434, 3.541, 4.936, 6.64, 8.672");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.489, 1.507, 1.562, 1.652, 1.775, 1.931, 2.123, 2.359, 2.642, 2.979",\
                 "1.496, 1.514, 1.568, 1.659, 1.781, 1.937, 2.13, 2.366, 2.649, 2.986",\
                 "1.532, 1.55, 1.605, 1.695, 1.818, 1.974, 2.167, 2.402, 2.686, 3.022",\
                 "1.629, 1.646, 1.702, 1.792, 1.915, 2.071, 2.264, 2.499, 2.783, 3.119",\
                 "1.805, 1.823, 1.878, 1.968, 2.091, 2.247, 2.44, 2.675, 2.959, 3.295",\
                 "2.054, 2.07, 2.126, 2.217, 2.34, 2.495, 2.688, 2.924, 3.207, 3.544",\
                 "2.373, 2.391, 2.446, 2.536, 2.659, 2.815, 3.008, 3.243, 3.527, 3.863",\
                 "2.766, 2.783, 2.838, 2.927, 3.051, 3.207, 3.4, 3.635, 3.918, 4.255",\
                 "3.223, 3.241, 3.296, 3.387, 3.51, 3.666, 3.859, 4.094, 4.378, 4.714",\
                 "3.749, 3.766, 3.821, 3.912, 4.035, 4.191, 4.384, 4.619, 4.903, 5.24");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.256, 1.291, 1.407, 1.628, 1.972, 2.453, 3.085, 3.881, 4.853, 6.009",\
                 "1.27, 1.305, 1.421, 1.642, 1.985, 2.466, 3.098, 3.895, 4.866, 6.023",\
                 "1.308, 1.342, 1.459, 1.68, 2.023, 2.504, 3.136, 3.932, 4.904, 6.061",\
                 "1.33, 1.364, 1.48, 1.702, 2.044, 2.525, 3.158, 3.954, 4.925, 6.082",\
                 "1.32, 1.354, 1.471, 1.691, 2.035, 2.516, 3.148, 3.944, 4.916, 6.074",\
                 "1.268, 1.301, 1.418, 1.639, 1.982, 2.463, 3.096, 3.891, 4.863, 6.02",\
                 "1.162, 1.196, 1.313, 1.534, 1.877, 2.358, 2.991, 3.787, 4.758, 5.915",\
                 "1.006, 1.04, 1.157, 1.378, 1.721, 2.202, 2.834, 3.63, 4.601, 5.759",\
                 "0.7934, 0.8277, 0.9448, 1.165, 1.509, 1.99, 2.621, 3.418, 4.388, 5.544",\
                 "0.5251, 0.5599, 0.6766, 0.8973, 1.24, 1.722, 2.354, 3.151, 4.122, 5.279");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.228, 0.2474, 0.312, 0.4186, 0.5718, 0.7844, 1.068, 1.437, 1.898, 2.456",\
                 "0.228, 0.2476, 0.312, 0.4188, 0.5718, 0.7838, 1.068, 1.438, 1.899, 2.456",\
                 "0.228, 0.2476, 0.312, 0.4186, 0.5718, 0.7844, 1.068, 1.438, 1.899, 2.456",\
                 "0.228, 0.2478, 0.312, 0.4186, 0.5718, 0.7844, 1.068, 1.438, 1.898, 2.456",\
                 "0.228, 0.2478, 0.312, 0.4184, 0.5718, 0.784, 1.068, 1.438, 1.898, 2.456",\
                 "0.2274, 0.2478, 0.3116, 0.4182, 0.5716, 0.7844, 1.068, 1.438, 1.898, 2.456",\
                 "0.227, 0.2476, 0.3114, 0.418, 0.572, 0.7836, 1.068, 1.438, 1.899, 2.456",\
                 "0.2272, 0.2482, 0.312, 0.4188, 0.572, 0.7842, 1.068, 1.438, 1.898, 2.456",\
                 "0.2276, 0.2478, 0.3122, 0.4184, 0.5722, 0.7842, 1.069, 1.438, 1.899, 2.456",\
                 "0.2276, 0.2486, 0.3124, 0.4182, 0.572, 0.7844, 1.069, 1.438, 1.897, 2.457");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2724, 0.3254, 0.5192, 0.9018, 1.504, 2.35, 3.46, 4.859, 6.564, 8.592",\
                 "0.273, 0.3252, 0.5188, 0.902, 1.504, 2.35, 3.46, 4.859, 6.564, 8.592",\
                 "0.2728, 0.3252, 0.5188, 0.9018, 1.503, 2.35, 3.46, 4.858, 6.562, 8.6",\
                 "0.2726, 0.3256, 0.5192, 0.9018, 1.505, 2.35, 3.456, 4.86, 6.567, 8.595",\
                 "0.2718, 0.3252, 0.519, 0.9034, 1.506, 2.347, 3.461, 4.852, 6.565, 8.588",\
                 "0.272, 0.325, 0.5198, 0.9026, 1.505, 2.349, 3.453, 4.86, 6.567, 8.597",\
                 "0.2718, 0.325, 0.5192, 0.9034, 1.503, 2.345, 3.454, 4.853, 6.565, 8.598",\
                 "0.2718, 0.3252, 0.5188, 0.9034, 1.504, 2.345, 3.454, 4.853, 6.557, 8.601",\
                 "0.2716, 0.3248, 0.5198, 0.902, 1.504, 2.347, 3.454, 4.849, 6.554, 8.587",\
                 "0.272, 0.3254, 0.5192, 0.9034, 1.506, 2.345, 3.458, 4.851, 6.554, 8.583");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.7097, 0.7378, 0.823, 0.957, 1.14, 1.378, 1.678, 2.048, 2.495, 3.028",\
                 "0.723, 0.7511, 0.8362, 0.9704, 1.153, 1.391, 1.691, 2.061, 2.509, 3.041",\
                 "0.7762, 0.8042, 0.8892, 1.023, 1.206, 1.444, 1.744, 2.114, 2.562, 3.094",\
                 "0.8985, 0.9269, 1.011, 1.145, 1.328, 1.566, 1.866, 2.236, 2.684, 3.216",\
                 "1.102, 1.13, 1.215, 1.349, 1.532, 1.769, 2.07, 2.44, 2.887, 3.419",\
                 "1.363, 1.393, 1.481, 1.618, 1.802, 2.041, 2.342, 2.711, 3.159, 3.69",\
                 "1.673, 1.704, 1.797, 1.938, 2.126, 2.366, 2.668, 3.038, 3.486, 4.017",\
                 "2.036, 2.069, 2.167, 2.315, 2.506, 2.748, 3.051, 3.422, 3.869, 4.401",\
                 "2.45, 2.485, 2.59, 2.746, 2.943, 3.189, 3.493, 3.865, 4.312, 4.844",\
                 "2.914, 2.951, 3.063, 3.228, 3.434, 3.686, 3.994, 4.368, 4.815, 5.347");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.5791, 0.6138, 0.733, 0.9546, 1.297, 1.777, 2.408, 3.205, 4.176, 5.332",\
                 "0.5911, 0.6259, 0.7451, 0.9665, 1.309, 1.789, 2.42, 3.217, 4.188, 5.346",\
                 "0.6339, 0.6688, 0.7878, 1.009, 1.351, 1.831, 2.463, 3.258, 4.229, 5.388",\
                 "0.711, 0.7457, 0.8636, 1.084, 1.425, 1.904, 2.535, 3.331, 4.303, 5.461",\
                 "0.7803, 0.8151, 0.9327, 1.152, 1.491, 1.97, 2.6, 3.395, 4.366, 5.524",\
                 "0.8233, 0.8582, 0.9761, 1.194, 1.532, 2.009, 2.638, 3.433, 4.403, 5.559",\
                 "0.8347, 0.8702, 0.9894, 1.207, 1.543, 2.018, 2.645, 3.438, 4.407, 5.564",\
                 "0.8086, 0.8445, 0.9658, 1.185, 1.521, 1.993, 2.619, 3.411, 4.378, 5.534",\
                 "0.7399, 0.7771, 0.9003, 1.123, 1.459, 1.932, 2.557, 3.345, 4.312, 5.467",\
                 "0.6251, 0.6633, 0.7893, 1.015, 1.354, 1.828, 2.455, 3.244, 4.209, 5.363");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2546, 0.2786, 0.3601, 0.5144, 0.7608, 1.114, 1.586, 2.193, 2.941, 3.842",\
                 "0.2546, 0.2786, 0.3601, 0.5143, 0.761, 1.113, 1.587, 2.192, 2.941, 3.843",\
                 "0.2549, 0.2786, 0.36, 0.5142, 0.761, 1.114, 1.586, 2.192, 2.941, 3.842",\
                 "0.2548, 0.2788, 0.3608, 0.5144, 0.7608, 1.114, 1.587, 2.191, 2.941, 3.844",\
                 "0.2622, 0.2856, 0.3648, 0.5178, 0.7628, 1.116, 1.587, 2.192, 2.941, 3.842",\
                 "0.2878, 0.3104, 0.3878, 0.533, 0.7738, 1.121, 1.591, 2.194, 2.942, 3.848",\
                 "0.315, 0.3384, 0.4134, 0.5548, 0.789, 1.134, 1.598, 2.2, 2.945, 3.844",\
                 "0.3512, 0.3728, 0.4484, 0.5832, 0.81, 1.148, 1.61, 2.206, 2.948, 3.849",\
                 "0.3898, 0.4142, 0.4914, 0.6238, 0.8396, 1.17, 1.624, 2.215, 2.954, 3.849",\
                 "0.4312, 0.4584, 0.5388, 0.6722, 0.8816, 1.201, 1.647, 2.23, 2.965, 3.853");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.3627, 0.4196, 0.616, 0.9939, 1.592, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3628, 0.4197, 0.616, 0.9941, 1.591, 2.434, 3.543, 4.941, 6.647, 8.68",\
                 "0.3631, 0.4196, 0.6155, 0.9938, 1.591, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3644, 0.4208, 0.617, 0.9942, 1.592, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.372, 0.4284, 0.6228, 0.9972, 1.592, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.381, 0.4372, 0.631, 1.003, 1.596, 2.437, 3.544, 4.941, 6.647, 8.679",\
                 "0.3942, 0.4506, 0.643, 1.01, 1.598, 2.438, 3.547, 4.942, 6.645, 8.679",\
                 "0.4108, 0.4672, 0.6602, 1.025, 1.607, 2.442, 3.548, 4.944, 6.647, 8.678",\
                 "0.4292, 0.4864, 0.6806, 1.043, 1.624, 2.454, 3.554, 4.945, 6.649, 8.681",\
                 "0.4496, 0.5076, 0.7014, 1.065, 1.644, 2.475, 3.572, 4.955, 6.652, 8.682");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.7097, 0.7378, 0.823, 0.957, 1.14, 1.378, 1.678, 2.048, 2.495, 3.028",\
                 "0.723, 0.7511, 0.8362, 0.9704, 1.153, 1.391, 1.691, 2.061, 2.509, 3.041",\
                 "0.7762, 0.8042, 0.8892, 1.023, 1.206, 1.444, 1.744, 2.114, 2.562, 3.094",\
                 "0.8985, 0.9269, 1.011, 1.145, 1.328, 1.566, 1.866, 2.236, 2.684, 3.216",\
                 "1.102, 1.13, 1.215, 1.349, 1.532, 1.769, 2.07, 2.44, 2.887, 3.419",\
                 "1.363, 1.393, 1.481, 1.618, 1.802, 2.041, 2.342, 2.711, 3.159, 3.69",\
                 "1.673, 1.704, 1.797, 1.938, 2.126, 2.366, 2.668, 3.038, 3.486, 4.017",\
                 "2.036, 2.069, 2.167, 2.315, 2.506, 2.748, 3.051, 3.422, 3.869, 4.401",\
                 "2.45, 2.485, 2.59, 2.746, 2.943, 3.189, 3.493, 3.865, 4.312, 4.844",\
                 "2.914, 2.951, 3.063, 3.228, 3.434, 3.686, 3.994, 4.368, 4.815, 5.347");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.256, 1.291, 1.407, 1.628, 1.972, 2.453, 3.085, 3.881, 4.853, 6.009",\
                 "1.27, 1.305, 1.421, 1.642, 1.985, 2.466, 3.098, 3.895, 4.866, 6.023",\
                 "1.308, 1.342, 1.459, 1.68, 2.023, 2.504, 3.136, 3.932, 4.904, 6.061",\
                 "1.33, 1.364, 1.48, 1.702, 2.044, 2.525, 3.158, 3.954, 4.925, 6.082",\
                 "1.32, 1.354, 1.471, 1.691, 2.035, 2.516, 3.148, 3.944, 4.916, 6.074",\
                 "1.268, 1.301, 1.418, 1.639, 1.982, 2.463, 3.096, 3.891, 4.863, 6.02",\
                 "1.162, 1.196, 1.313, 1.534, 1.877, 2.358, 2.991, 3.787, 4.758, 5.915",\
                 "1.006, 1.04, 1.157, 1.378, 1.721, 2.202, 2.834, 3.63, 4.601, 5.759",\
                 "0.7934, 0.8277, 0.9448, 1.165, 1.509, 1.99, 2.621, 3.418, 4.388, 5.544",\
                 "0.5251, 0.5599, 0.6766, 0.8973, 1.24, 1.722, 2.354, 3.151, 4.122, 5.279");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2546, 0.2786, 0.3601, 0.5144, 0.7608, 1.114, 1.586, 2.193, 2.941, 3.842",\
                 "0.2546, 0.2786, 0.3601, 0.5143, 0.761, 1.113, 1.587, 2.192, 2.941, 3.843",\
                 "0.2549, 0.2786, 0.36, 0.5142, 0.761, 1.114, 1.586, 2.192, 2.941, 3.842",\
                 "0.2548, 0.2788, 0.3608, 0.5144, 0.7608, 1.114, 1.587, 2.191, 2.941, 3.844",\
                 "0.2622, 0.2856, 0.3648, 0.5178, 0.7628, 1.116, 1.587, 2.192, 2.941, 3.842",\
                 "0.2878, 0.3104, 0.3878, 0.533, 0.7738, 1.121, 1.591, 2.194, 2.942, 3.848",\
                 "0.315, 0.3384, 0.4134, 0.5548, 0.789, 1.134, 1.598, 2.2, 2.945, 3.844",\
                 "0.3512, 0.3728, 0.4484, 0.5832, 0.81, 1.148, 1.61, 2.206, 2.948, 3.849",\
                 "0.3898, 0.4142, 0.4914, 0.6238, 0.8396, 1.17, 1.624, 2.215, 2.954, 3.849",\
                 "0.4312, 0.4584, 0.5388, 0.6722, 0.8816, 1.201, 1.647, 2.23, 2.965, 3.853");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.3627, 0.4196, 0.616, 0.9939, 1.592, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3628, 0.4197, 0.616, 0.9941, 1.591, 2.434, 3.543, 4.941, 6.647, 8.68",\
                 "0.3631, 0.4196, 0.6155, 0.9938, 1.591, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3644, 0.4208, 0.617, 0.9942, 1.592, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.372, 0.4284, 0.6228, 0.9972, 1.592, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.381, 0.4372, 0.631, 1.003, 1.596, 2.437, 3.544, 4.941, 6.647, 8.679",\
                 "0.3942, 0.4506, 0.643, 1.01, 1.598, 2.438, 3.547, 4.942, 6.645, 8.679",\
                 "0.4108, 0.4672, 0.6602, 1.025, 1.607, 2.442, 3.548, 4.944, 6.647, 8.678",\
                 "0.4292, 0.4864, 0.6806, 1.043, 1.624, 2.454, 3.554, 4.945, 6.649, 8.681",\
                 "0.4496, 0.5076, 0.7014, 1.065, 1.644, 2.475, 3.572, 4.955, 6.652, 8.682");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.9017, 0.9297, 1.015, 1.149, 1.332, 1.57, 1.87, 2.24, 2.687, 3.219",\
                 "0.916, 0.9444, 1.029, 1.163, 1.346, 1.584, 1.884, 2.254, 2.702, 3.234",\
                 "0.954, 0.9821, 1.067, 1.201, 1.384, 1.622, 1.922, 2.292, 2.74, 3.272",\
                 "0.9725, 1.001, 1.086, 1.22, 1.402, 1.64, 1.94, 2.31, 2.758, 3.29",\
                 "0.9519, 0.9797, 1.065, 1.198, 1.381, 1.619, 1.919, 2.289, 2.737, 3.269",\
                 "0.8838, 0.912, 0.9966, 1.13, 1.313, 1.551, 1.851, 2.221, 2.668, 3.201",\
                 "0.7622, 0.7903, 0.8753, 1.009, 1.192, 1.43, 1.729, 2.099, 2.547, 3.079",\
                 "0.5803, 0.6087, 0.6938, 0.8276, 1.011, 1.249, 1.549, 1.919, 2.366, 2.898",\
                 "0.3367, 0.365, 0.45, 0.5845, 0.7667, 1.005, 1.305, 1.675, 2.122, 2.654",\
                 "0.0271, 0.0556, 0.1406, 0.2753, 0.4582, 0.6951, 0.9945, 1.364, 1.812, 2.343");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.091, 1.124, 1.238, 1.457, 1.798, 2.278, 2.909, 3.706, 4.677, 5.836",\
                 "1.096, 1.128, 1.243, 1.462, 1.804, 2.284, 2.915, 3.711, 4.683, 5.841",\
                 "1.151, 1.184, 1.299, 1.518, 1.859, 2.339, 2.971, 3.766, 4.738, 5.897",\
                 "1.292, 1.326, 1.44, 1.659, 2.001, 2.481, 3.112, 3.908, 4.88, 6.037",\
                 "1.519, 1.552, 1.666, 1.885, 2.226, 2.706, 3.337, 4.134, 5.104, 6.264",\
                 "1.814, 1.847, 1.961, 2.18, 2.521, 3.001, 3.633, 4.429, 5.401, 6.558",\
                 "2.18, 2.213, 2.327, 2.546, 2.888, 3.367, 3.999, 4.794, 5.765, 6.925",\
                 "2.626, 2.659, 2.773, 2.991, 3.332, 3.811, 4.443, 5.239, 6.211, 7.369",\
                 "3.153, 3.186, 3.3, 3.518, 3.859, 4.338, 4.969, 5.764, 6.735, 7.893",\
                 "3.762, 3.794, 3.908, 4.125, 4.466, 4.945, 5.576, 6.371, 7.342, 8.499");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2553, 0.2787, 0.3603, 0.5136, 0.7606, 1.113, 1.586, 2.192, 2.943, 3.843",\
                 "0.2552, 0.2794, 0.3602, 0.5142, 0.7608, 1.114, 1.586, 2.193, 2.942, 3.847",\
                 "0.2552, 0.2788, 0.3602, 0.5142, 0.7608, 1.114, 1.586, 2.193, 2.941, 3.842",\
                 "0.2546, 0.2788, 0.3604, 0.5138, 0.761, 1.114, 1.586, 2.192, 2.941, 3.842",\
                 "0.2538, 0.2782, 0.3582, 0.5128, 0.76, 1.114, 1.586, 2.19, 2.94, 3.841",\
                 "0.2544, 0.2788, 0.3592, 0.5134, 0.7606, 1.113, 1.585, 2.191, 2.94, 3.843",\
                 "0.255, 0.2792, 0.3604, 0.5136, 0.7608, 1.114, 1.586, 2.189, 2.939, 3.841",\
                 "0.2568, 0.2804, 0.361, 0.5156, 0.7614, 1.116, 1.585, 2.189, 2.938, 3.84",\
                 "0.2574, 0.2814, 0.3632, 0.515, 0.7626, 1.114, 1.585, 2.189, 2.938, 3.839",\
                 "0.2582, 0.2824, 0.3632, 0.5158, 0.7612, 1.113, 1.583, 2.188, 2.937, 3.84");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.346, 0.4024, 0.6026, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.346, 0.4022, 0.602, 0.988, 1.589, 2.432, 3.541, 4.937, 6.643, 8.677",\
                 "0.3462, 0.4022, 0.602, 0.9878, 1.589, 2.431, 3.541, 4.938, 6.643, 8.676",\
                 "0.346, 0.4026, 0.6026, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3456, 0.402, 0.6022, 0.988, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3468, 0.4024, 0.6024, 0.9882, 1.589, 2.431, 3.541, 4.938, 6.643, 8.675",\
                 "0.347, 0.4028, 0.6026, 0.9876, 1.59, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.348, 0.4038, 0.6034, 0.9882, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3494, 0.405, 0.604, 0.9888, 1.59, 2.432, 3.541, 4.936, 6.642, 8.674",\
                 "0.3504, 0.4068, 0.6048, 0.9886, 1.589, 2.431, 3.54, 4.938, 6.64, 8.672");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.9565, 0.9741, 1.03, 1.121, 1.244, 1.4, 1.593, 1.829, 2.113, 2.449",\
                 "0.9669, 0.9846, 1.04, 1.131, 1.254, 1.41, 1.604, 1.839, 2.123, 2.459",\
                 "0.9921, 1.01, 1.065, 1.156, 1.279, 1.435, 1.629, 1.864, 2.148, 2.484",\
                 "1.037, 1.054, 1.11, 1.201, 1.324, 1.481, 1.674, 1.909, 2.193, 2.53",\
                 "1.081, 1.098, 1.154, 1.245, 1.368, 1.525, 1.718, 1.953, 2.237, 2.573",\
                 "1.102, 1.119, 1.175, 1.267, 1.39, 1.547, 1.74, 1.976, 2.259, 2.596",\
                 "1.09, 1.108, 1.164, 1.256, 1.38, 1.536, 1.73, 1.966, 2.249, 2.586",\
                 "1.037, 1.055, 1.112, 1.204, 1.329, 1.486, 1.679, 1.914, 2.198, 2.535",\
                 "0.9366, 0.9547, 1.011, 1.104, 1.23, 1.387, 1.58, 1.816, 2.1, 2.436",\
                 "0.7848, 0.8033, 0.8606, 0.954, 1.08, 1.238, 1.431, 1.667, 1.951, 2.287");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.058, 1.093, 1.21, 1.431, 1.774, 2.255, 2.887, 3.683, 4.655, 5.811",\
                 "1.071, 1.106, 1.222, 1.443, 1.786, 2.267, 2.899, 3.695, 4.666, 5.824",\
                 "1.127, 1.161, 1.278, 1.499, 1.842, 2.323, 2.955, 3.752, 4.723, 5.88",\
                 "1.253, 1.287, 1.404, 1.625, 1.968, 2.449, 3.081, 3.877, 4.849, 6.006",\
                 "1.462, 1.496, 1.612, 1.833, 2.176, 2.657, 3.29, 4.086, 5.057, 6.214",\
                 "1.737, 1.771, 1.888, 2.109, 2.452, 2.932, 3.564, 4.361, 5.332, 6.49",\
                 "2.069, 2.102, 2.218, 2.438, 2.782, 3.263, 3.895, 4.691, 5.663, 6.82",\
                 "2.461, 2.495, 2.612, 2.831, 3.174, 3.654, 4.286, 5.083, 6.054, 7.211",\
                 "2.914, 2.949, 3.065, 3.285, 3.626, 4.107, 4.738, 5.534, 6.505, 7.663",\
                 "3.428, 3.462, 3.579, 3.797, 4.139, 4.619, 5.25, 6.046, 7.017, 8.174");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.231, 0.2502, 0.3143, 0.42, 0.5738, 0.7858, 1.07, 1.438, 1.899, 2.456",\
                 "0.2308, 0.2502, 0.3142, 0.4204, 0.5738, 0.7854, 1.07, 1.438, 1.899, 2.456",\
                 "0.2298, 0.2504, 0.3144, 0.4204, 0.5736, 0.785, 1.07, 1.438, 1.899, 2.456",\
                 "0.231, 0.25, 0.3142, 0.4204, 0.5736, 0.785, 1.069, 1.438, 1.899, 2.456",\
                 "0.2302, 0.2508, 0.3148, 0.4214, 0.5738, 0.7858, 1.07, 1.439, 1.899, 2.456",\
                 "0.2312, 0.2514, 0.3156, 0.4218, 0.5742, 0.7858, 1.07, 1.438, 1.899, 2.456",\
                 "0.2324, 0.2526, 0.3166, 0.4224, 0.5756, 0.7874, 1.07, 1.438, 1.899, 2.456",\
                 "0.2336, 0.2542, 0.318, 0.4244, 0.5768, 0.7876, 1.072, 1.44, 1.899, 2.456",\
                 "0.2348, 0.2552, 0.32, 0.426, 0.5782, 0.7888, 1.072, 1.44, 1.9, 2.457",\
                 "0.2358, 0.2564, 0.321, 0.427, 0.5792, 0.7906, 1.073, 1.441, 1.9, 2.457");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2722, 0.3254, 0.5192, 0.902, 1.503, 2.35, 3.459, 4.86, 6.565, 8.592",\
                 "0.2726, 0.3258, 0.5198, 0.9028, 1.503, 2.35, 3.454, 4.86, 6.567, 8.597",\
                 "0.2726, 0.3252, 0.5186, 0.902, 1.503, 2.35, 3.46, 4.858, 6.563, 8.6",\
                 "0.2724, 0.3254, 0.5196, 0.9026, 1.506, 2.348, 3.461, 4.86, 6.566, 8.598",\
                 "0.273, 0.3254, 0.5198, 0.9018, 1.505, 2.35, 3.46, 4.86, 6.56, 8.592",\
                 "0.2744, 0.3268, 0.5198, 0.903, 1.506, 2.346, 3.46, 4.858, 6.553, 8.6",\
                 "0.276, 0.3284, 0.5208, 0.902, 1.503, 2.346, 3.461, 4.849, 6.556, 8.6",\
                 "0.279, 0.3304, 0.5208, 0.9022, 1.504, 2.345, 3.455, 4.851, 6.557, 8.602",\
                 "0.282, 0.333, 0.522, 0.902, 1.504, 2.345, 3.455, 4.853, 6.565, 8.602",\
                 "0.2866, 0.3374, 0.524, 0.9014, 1.502, 2.345, 3.453, 4.852, 6.562, 8.588");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.9017, 0.9297, 1.015, 1.149, 1.332, 1.57, 1.87, 2.24, 2.687, 3.219",\
                 "0.916, 0.9444, 1.029, 1.163, 1.346, 1.584, 1.884, 2.254, 2.702, 3.234",\
                 "0.954, 0.9821, 1.067, 1.201, 1.384, 1.622, 1.922, 2.292, 2.74, 3.272",\
                 "0.9725, 1.001, 1.086, 1.22, 1.402, 1.64, 1.94, 2.31, 2.758, 3.29",\
                 "0.9519, 0.9797, 1.065, 1.198, 1.381, 1.619, 1.919, 2.289, 2.737, 3.269",\
                 "0.8838, 0.912, 0.9966, 1.13, 1.313, 1.551, 1.851, 2.221, 2.668, 3.201",\
                 "0.7622, 0.7903, 0.8753, 1.009, 1.192, 1.43, 1.729, 2.099, 2.547, 3.079",\
                 "0.5803, 0.6087, 0.6938, 0.8276, 1.011, 1.249, 1.549, 1.919, 2.366, 2.898",\
                 "0.3367, 0.365, 0.45, 0.5845, 0.7667, 1.005, 1.305, 1.675, 2.122, 2.654",\
                 "0.0271, 0.0556, 0.1406, 0.2753, 0.4582, 0.6951, 0.9945, 1.364, 1.812, 2.343");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.091, 1.124, 1.238, 1.457, 1.798, 2.278, 2.909, 3.706, 4.677, 5.836",\
                 "1.096, 1.128, 1.243, 1.462, 1.804, 2.284, 2.915, 3.711, 4.683, 5.841",\
                 "1.151, 1.184, 1.299, 1.518, 1.859, 2.339, 2.971, 3.766, 4.738, 5.897",\
                 "1.292, 1.326, 1.44, 1.659, 2.001, 2.481, 3.112, 3.908, 4.88, 6.037",\
                 "1.519, 1.552, 1.666, 1.885, 2.226, 2.706, 3.337, 4.134, 5.104, 6.264",\
                 "1.814, 1.847, 1.961, 2.18, 2.521, 3.001, 3.633, 4.429, 5.401, 6.558",\
                 "2.18, 2.213, 2.327, 2.546, 2.888, 3.367, 3.999, 4.794, 5.765, 6.925",\
                 "2.626, 2.659, 2.773, 2.991, 3.332, 3.811, 4.443, 5.239, 6.211, 7.369",\
                 "3.153, 3.186, 3.3, 3.518, 3.859, 4.338, 4.969, 5.764, 6.735, 7.893",\
                 "3.762, 3.794, 3.908, 4.125, 4.466, 4.945, 5.576, 6.371, 7.342, 8.499");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2553, 0.2787, 0.3603, 0.5136, 0.7606, 1.113, 1.586, 2.192, 2.943, 3.843",\
                 "0.2552, 0.2794, 0.3602, 0.5142, 0.7608, 1.114, 1.586, 2.193, 2.942, 3.847",\
                 "0.2552, 0.2788, 0.3602, 0.5142, 0.7608, 1.114, 1.586, 2.193, 2.941, 3.842",\
                 "0.2546, 0.2788, 0.3604, 0.5138, 0.761, 1.114, 1.586, 2.192, 2.941, 3.842",\
                 "0.2538, 0.2782, 0.3582, 0.5128, 0.76, 1.114, 1.586, 2.19, 2.94, 3.841",\
                 "0.2544, 0.2788, 0.3592, 0.5134, 0.7606, 1.113, 1.585, 2.191, 2.94, 3.843",\
                 "0.255, 0.2792, 0.3604, 0.5136, 0.7608, 1.114, 1.586, 2.189, 2.939, 3.841",\
                 "0.2568, 0.2804, 0.361, 0.5156, 0.7614, 1.116, 1.585, 2.189, 2.938, 3.84",\
                 "0.2574, 0.2814, 0.3632, 0.515, 0.7626, 1.114, 1.585, 2.189, 2.938, 3.839",\
                 "0.2582, 0.2824, 0.3632, 0.5158, 0.7612, 1.113, 1.583, 2.188, 2.937, 3.84");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.346, 0.4024, 0.6026, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.346, 0.4022, 0.602, 0.988, 1.589, 2.432, 3.541, 4.937, 6.643, 8.677",\
                 "0.3462, 0.4022, 0.602, 0.9878, 1.589, 2.431, 3.541, 4.938, 6.643, 8.676",\
                 "0.346, 0.4026, 0.6026, 0.9878, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3456, 0.402, 0.6022, 0.988, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3468, 0.4024, 0.6024, 0.9882, 1.589, 2.431, 3.541, 4.938, 6.643, 8.675",\
                 "0.347, 0.4028, 0.6026, 0.9876, 1.59, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.348, 0.4038, 0.6034, 0.9882, 1.589, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3494, 0.405, 0.604, 0.9888, 1.59, 2.432, 3.541, 4.936, 6.642, 8.674",\
                 "0.3504, 0.4068, 0.6048, 0.9886, 1.589, 2.431, 3.54, 4.938, 6.64, 8.672");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.446, 1.464, 1.519, 1.609, 1.732, 1.888, 2.081, 2.316, 2.6, 2.936",\
                 "1.451, 1.468, 1.523, 1.614, 1.737, 1.892, 2.085, 2.321, 2.605, 2.941",\
                 "1.507, 1.524, 1.579, 1.67, 1.792, 1.949, 2.141, 2.377, 2.66, 2.997",\
                 "1.648, 1.666, 1.721, 1.811, 1.934, 2.09, 2.283, 2.518, 2.802, 3.138",\
                 "1.874, 1.892, 1.947, 2.037, 2.16, 2.316, 2.509, 2.744, 3.028, 3.364",\
                 "2.17, 2.187, 2.242, 2.333, 2.456, 2.612, 2.805, 3.04, 3.324, 3.66",\
                 "2.537, 2.554, 2.609, 2.7, 2.822, 2.978, 3.171, 3.407, 3.69, 4.027",\
                 "2.983, 3.001, 3.056, 3.146, 3.268, 3.425, 3.617, 3.853, 4.136, 4.473",\
                 "3.511, 3.529, 3.584, 3.675, 3.797, 3.953, 4.146, 4.381, 4.665, 5.002",\
                 "4.122, 4.138, 4.193, 4.284, 4.407, 4.563, 4.756, 4.992, 5.275, 5.611");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.202, 1.237, 1.353, 1.574, 1.917, 2.399, 3.031, 3.827, 4.798, 5.955",\
                 "1.216, 1.25, 1.368, 1.588, 1.932, 2.413, 3.045, 3.841, 4.813, 5.969",\
                 "1.254, 1.289, 1.405, 1.626, 1.97, 2.451, 3.083, 3.879, 4.851, 6.007",\
                 "1.273, 1.307, 1.424, 1.645, 1.988, 2.469, 3.101, 3.898, 4.869, 6.027",\
                 "1.252, 1.287, 1.403, 1.624, 1.968, 2.449, 3.081, 3.877, 4.848, 6.005",\
                 "1.184, 1.218, 1.335, 1.556, 1.899, 2.38, 3.013, 3.808, 4.779, 5.937",\
                 "1.063, 1.097, 1.214, 1.435, 1.778, 2.259, 2.891, 3.687, 4.658, 5.817",\
                 "0.881, 0.9156, 1.032, 1.253, 1.596, 2.077, 2.71, 3.506, 4.476, 5.633",\
                 "0.6364, 0.6707, 0.7878, 1.009, 1.353, 1.834, 2.466, 3.262, 4.233, 5.39",\
                 "0.3281, 0.3623, 0.4786, 0.6995, 1.043, 1.524, 2.156, 2.952, 3.923, 5.08");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.228, 0.2478, 0.3118, 0.4186, 0.572, 0.7844, 1.068, 1.438, 1.898, 2.456",\
                 "0.2272, 0.2478, 0.3118, 0.4186, 0.5714, 0.7842, 1.068, 1.438, 1.899, 2.456",\
                 "0.2272, 0.2474, 0.3118, 0.4186, 0.572, 0.7842, 1.068, 1.438, 1.898, 2.456",\
                 "0.2278, 0.2476, 0.312, 0.4182, 0.5716, 0.7836, 1.068, 1.438, 1.899, 2.456",\
                 "0.228, 0.2478, 0.3118, 0.4186, 0.5718, 0.7844, 1.068, 1.438, 1.898, 2.456",\
                 "0.2268, 0.2472, 0.3114, 0.4182, 0.5718, 0.7842, 1.068, 1.438, 1.899, 2.456",\
                 "0.2268, 0.2478, 0.3116, 0.4186, 0.572, 0.784, 1.068, 1.438, 1.898, 2.456",\
                 "0.2274, 0.248, 0.3124, 0.4188, 0.572, 0.7834, 1.069, 1.438, 1.898, 2.456",\
                 "0.2276, 0.2484, 0.3124, 0.4186, 0.572, 0.785, 1.068, 1.438, 1.898, 2.456",\
                 "0.2272, 0.2482, 0.3118, 0.4186, 0.5718, 0.7844, 1.07, 1.438, 1.899, 2.454");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2716, 0.3254, 0.5198, 0.9022, 1.504, 2.349, 3.461, 4.86, 6.563, 8.592",\
                 "0.2714, 0.3244, 0.5188, 0.9038, 1.506, 2.35, 3.456, 4.86, 6.566, 8.592",\
                 "0.2714, 0.325, 0.5194, 0.9022, 1.504, 2.35, 3.456, 4.86, 6.566, 8.592",\
                 "0.2714, 0.3244, 0.5186, 0.902, 1.503, 2.35, 3.46, 4.857, 6.559, 8.599",\
                 "0.272, 0.3246, 0.5196, 0.902, 1.506, 2.347, 3.461, 4.854, 6.565, 8.592",\
                 "0.2716, 0.3252, 0.5192, 0.9022, 1.505, 2.347, 3.46, 4.859, 6.564, 8.596",\
                 "0.2716, 0.3244, 0.5196, 0.903, 1.504, 2.348, 3.458, 4.857, 6.562, 8.593",\
                 "0.2716, 0.3252, 0.5188, 0.9022, 1.504, 2.346, 3.456, 4.851, 6.565, 8.6",\
                 "0.2714, 0.3248, 0.5192, 0.9028, 1.503, 2.35, 3.456, 4.851, 6.553, 8.59",\
                 "0.2716, 0.325, 0.519, 0.902, 1.504, 2.349, 3.46, 4.852, 6.554, 8.587");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.7542, 0.7837, 0.8711, 1.008, 1.193, 1.432, 1.732, 2.102, 2.55, 3.082",\
                 "0.7667, 0.7961, 0.884, 1.021, 1.205, 1.444, 1.745, 2.115, 2.562, 3.095",\
                 "0.8231, 0.8521, 0.9402, 1.077, 1.261, 1.5, 1.801, 2.171, 2.619, 3.151",\
                 "0.9483, 0.9774, 1.065, 1.202, 1.387, 1.625, 1.926, 2.296, 2.744, 3.276",\
                 "1.158, 1.187, 1.275, 1.411, 1.596, 1.834, 2.135, 2.505, 2.953, 3.485",\
                 "1.433, 1.464, 1.554, 1.694, 1.88, 2.119, 2.42, 2.79, 3.238, 3.769",\
                 "1.764, 1.796, 1.89, 2.035, 2.224, 2.465, 2.766, 3.137, 3.585, 4.116",\
                 "2.156, 2.189, 2.289, 2.439, 2.631, 2.874, 3.177, 3.548, 3.995, 4.527",\
                 "2.608, 2.645, 2.75, 2.908, 3.105, 3.35, 3.655, 4.026, 4.474, 5.004",\
                 "3.122, 3.161, 3.272, 3.439, 3.644, 3.894, 4.2, 4.573, 5.021, 5.552");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.5926, 0.6277, 0.7466, 0.9681, 1.311, 1.791, 2.422, 3.218, 4.19, 5.346",\
                 "0.603, 0.638, 0.7569, 0.9786, 1.321, 1.801, 2.432, 3.229, 4.2, 5.357",\
                 "0.6281, 0.6632, 0.7819, 1.003, 1.346, 1.826, 2.457, 3.253, 4.225, 5.381",\
                 "0.6721, 0.7069, 0.8253, 1.046, 1.387, 1.867, 2.499, 3.295, 4.266, 5.424",\
                 "0.7112, 0.7463, 0.8647, 1.085, 1.425, 1.904, 2.534, 3.33, 4.302, 5.459",\
                 "0.7263, 0.7613, 0.8806, 1.1, 1.439, 1.916, 2.546, 3.341, 4.312, 5.469",\
                 "0.7057, 0.7414, 0.8625, 1.083, 1.42, 1.896, 2.524, 3.317, 4.287, 5.444",\
                 "0.6413, 0.6779, 0.8008, 1.024, 1.363, 1.838, 2.464, 3.256, 4.224, 5.38",\
                 "0.529, 0.5665, 0.6916, 0.9174, 1.259, 1.736, 2.363, 3.153, 4.12, 5.275",\
                 "0.3652, 0.4037, 0.5314, 0.7594, 1.103, 1.585, 2.216, 3.008, 3.974, 5.128");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2687, 0.2932, 0.3743, 0.5242, 0.7676, 1.119, 1.59, 2.194, 2.941, 3.843",\
                 "0.2688, 0.2932, 0.3742, 0.5246, 0.7676, 1.119, 1.589, 2.193, 2.943, 3.848",\
                 "0.2686, 0.2929, 0.374, 0.5246, 0.7672, 1.118, 1.589, 2.193, 2.945, 3.848",\
                 "0.2688, 0.293, 0.3742, 0.5248, 0.7674, 1.118, 1.59, 2.194, 2.946, 3.847",\
                 "0.2738, 0.2978, 0.3776, 0.5284, 0.7696, 1.12, 1.59, 2.195, 2.946, 3.847",\
                 "0.2982, 0.3222, 0.398, 0.5424, 0.7794, 1.126, 1.594, 2.195, 2.945, 3.849",\
                 "0.3244, 0.3484, 0.4248, 0.5648, 0.7958, 1.137, 1.601, 2.202, 2.946, 3.844",\
                 "0.3554, 0.38, 0.4564, 0.5912, 0.8128, 1.15, 1.61, 2.208, 2.95, 3.849",\
                 "0.3924, 0.4176, 0.4946, 0.6266, 0.841, 1.169, 1.623, 2.215, 2.954, 3.849",\
                 "0.4336, 0.4596, 0.5414, 0.6714, 0.8762, 1.194, 1.642, 2.229, 2.962, 3.856");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.3633, 0.4197, 0.6158, 0.9941, 1.592, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.3634, 0.4197, 0.616, 0.9942, 1.592, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3625, 0.4195, 0.6161, 0.9938, 1.592, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.3644, 0.4208, 0.6172, 0.9942, 1.592, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3716, 0.4278, 0.6224, 0.997, 1.592, 2.435, 3.543, 4.942, 6.646, 8.68",\
                 "0.3802, 0.4376, 0.631, 1.002, 1.595, 2.436, 3.544, 4.941, 6.647, 8.679",\
                 "0.3928, 0.4506, 0.6444, 1.012, 1.599, 2.437, 3.545, 4.941, 6.646, 8.679",\
                 "0.4074, 0.4656, 0.6612, 1.029, 1.611, 2.443, 3.547, 4.943, 6.646, 8.677",\
                 "0.4234, 0.4812, 0.68, 1.048, 1.631, 2.461, 3.557, 4.946, 6.648, 8.678",\
                 "0.4422, 0.5006, 0.6998, 1.069, 1.654, 2.486, 3.582, 4.961, 6.652, 8.68");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.446, 1.464, 1.519, 1.609, 1.732, 1.888, 2.081, 2.316, 2.6, 2.936",\
                 "1.451, 1.468, 1.523, 1.614, 1.737, 1.892, 2.085, 2.321, 2.605, 2.941",\
                 "1.507, 1.524, 1.579, 1.67, 1.792, 1.949, 2.141, 2.377, 2.66, 2.997",\
                 "1.648, 1.666, 1.721, 1.811, 1.934, 2.09, 2.283, 2.518, 2.802, 3.138",\
                 "1.874, 1.892, 1.947, 2.037, 2.16, 2.316, 2.509, 2.744, 3.028, 3.364",\
                 "2.17, 2.187, 2.242, 2.333, 2.456, 2.612, 2.805, 3.04, 3.324, 3.66",\
                 "2.537, 2.554, 2.609, 2.7, 2.822, 2.978, 3.171, 3.407, 3.69, 4.027",\
                 "2.983, 3.001, 3.056, 3.146, 3.268, 3.425, 3.617, 3.853, 4.136, 4.473",\
                 "3.511, 3.529, 3.584, 3.675, 3.797, 3.953, 4.146, 4.381, 4.665, 5.002",\
                 "4.122, 4.138, 4.193, 4.284, 4.407, 4.563, 4.756, 4.992, 5.275, 5.611");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("1.202, 1.237, 1.353, 1.574, 1.917, 2.399, 3.031, 3.827, 4.798, 5.955",\
                 "1.216, 1.25, 1.368, 1.588, 1.932, 2.413, 3.045, 3.841, 4.813, 5.969",\
                 "1.254, 1.289, 1.405, 1.626, 1.97, 2.451, 3.083, 3.879, 4.851, 6.007",\
                 "1.273, 1.307, 1.424, 1.645, 1.988, 2.469, 3.101, 3.898, 4.869, 6.027",\
                 "1.252, 1.287, 1.403, 1.624, 1.968, 2.449, 3.081, 3.877, 4.848, 6.005",\
                 "1.184, 1.218, 1.335, 1.556, 1.899, 2.38, 3.013, 3.808, 4.779, 5.937",\
                 "1.063, 1.097, 1.214, 1.435, 1.778, 2.259, 2.891, 3.687, 4.658, 5.817",\
                 "0.881, 0.9156, 1.032, 1.253, 1.596, 2.077, 2.71, 3.506, 4.476, 5.633",\
                 "0.6364, 0.6707, 0.7878, 1.009, 1.353, 1.834, 2.466, 3.262, 4.233, 5.39",\
                 "0.3281, 0.3623, 0.4786, 0.6995, 1.043, 1.524, 2.156, 2.952, 3.923, 5.08");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2687, 0.2932, 0.3743, 0.5242, 0.7676, 1.119, 1.59, 2.194, 2.941, 3.843",\
                 "0.2688, 0.2932, 0.3742, 0.5246, 0.7676, 1.119, 1.589, 2.193, 2.943, 3.848",\
                 "0.2686, 0.2929, 0.374, 0.5246, 0.7672, 1.118, 1.589, 2.193, 2.945, 3.848",\
                 "0.2688, 0.293, 0.3742, 0.5248, 0.7674, 1.118, 1.59, 2.194, 2.946, 3.847",\
                 "0.2738, 0.2978, 0.3776, 0.5284, 0.7696, 1.12, 1.59, 2.195, 2.946, 3.847",\
                 "0.2982, 0.3222, 0.398, 0.5424, 0.7794, 1.126, 1.594, 2.195, 2.945, 3.849",\
                 "0.3244, 0.3484, 0.4248, 0.5648, 0.7958, 1.137, 1.601, 2.202, 2.946, 3.844",\
                 "0.3554, 0.38, 0.4564, 0.5912, 0.8128, 1.15, 1.61, 2.208, 2.95, 3.849",\
                 "0.3924, 0.4176, 0.4946, 0.6266, 0.841, 1.169, 1.623, 2.215, 2.954, 3.849",\
                 "0.4336, 0.4596, 0.5414, 0.6714, 0.8762, 1.194, 1.642, 2.229, 2.962, 3.856");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.3633, 0.4197, 0.6158, 0.9941, 1.592, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.3634, 0.4197, 0.616, 0.9942, 1.592, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3625, 0.4195, 0.6161, 0.9938, 1.592, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.3644, 0.4208, 0.6172, 0.9942, 1.592, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3716, 0.4278, 0.6224, 0.997, 1.592, 2.435, 3.543, 4.942, 6.646, 8.68",\
                 "0.3802, 0.4376, 0.631, 1.002, 1.595, 2.436, 3.544, 4.941, 6.647, 8.679",\
                 "0.3928, 0.4506, 0.6444, 1.012, 1.599, 2.437, 3.545, 4.941, 6.646, 8.679",\
                 "0.4074, 0.4656, 0.6612, 1.029, 1.611, 2.443, 3.547, 4.943, 6.646, 8.677",\
                 "0.4234, 0.4812, 0.68, 1.048, 1.631, 2.461, 3.557, 4.946, 6.648, 8.678",\
                 "0.4422, 0.5006, 0.6998, 1.069, 1.654, 2.486, 3.582, 4.961, 6.652, 8.68");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.08888, 0.1042, 0.1574, 0.2584, 0.4158, 0.6365, 0.9266, 1.292, 1.739, 2.271",\
                 "0.1009, 0.1165, 0.1701, 0.2718, 0.4293, 0.65, 0.9407, 1.306, 1.752, 2.285",\
                 "0.1329, 0.1533, 0.2153, 0.3174, 0.475, 0.6958, 0.9862, 1.351, 1.798, 2.331",\
                 "0.1465, 0.1747, 0.2596, 0.3931, 0.5632, 0.7833, 1.073, 1.438, 1.884, 2.416",\
                 "0.1333, 0.1701, 0.2803, 0.4493, 0.6643, 0.9182, 1.212, 1.575, 2.02, 2.55",\
                 "0.0892, 0.1348, 0.2715, 0.4787, 0.7378, 1.043, 1.389, 1.771, 2.215, 2.744",\
                 "0.0126, 0.0669, 0.2293, 0.476, 0.783, 1.139, 1.54, 1.986, 2.47, 3.003",\
                 "-0.1, -0.0366, 0.1512, 0.4375, 0.7935, 1.203, 1.661, 2.167, 2.719, 3.312",\
                 "-0.2505, -0.1786, 0.0362, 0.3601, 0.7651, 1.231, 1.749, 2.315, 2.932, 3.596",\
                 "-0.4418, -0.3609, -0.1201, 0.2439, 0.6974, 1.221, 1.799, 2.43, 3.11, 3.843");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1651, 0.1993, 0.3171, 0.5385, 0.8816, 1.362, 1.993, 2.789, 3.76, 4.919",\
                 "0.174, 0.2084, 0.3279, 0.5513, 0.8961, 1.377, 2.01, 2.806, 3.777, 4.933",\
                 "0.2327, 0.265, 0.3803, 0.6025, 0.9473, 1.429, 2.062, 2.858, 3.83, 4.989",\
                 "0.3396, 0.3789, 0.5039, 0.7196, 1.059, 1.537, 2.169, 2.964, 3.935, 5.094",\
                 "0.4809, 0.5265, 0.6718, 0.9151, 1.251, 1.721, 2.347, 3.138, 4.107, 5.261",\
                 "0.6573, 0.7118, 0.8786, 1.152, 1.526, 1.998, 2.613, 3.397, 4.358, 5.51",\
                 "0.8683, 0.9336, 1.126, 1.43, 1.845, 2.362, 2.98, 3.752, 4.705, 5.847",\
                 "1.116, 1.191, 1.413, 1.756, 2.206, 2.771, 3.441, 4.219, 5.159, 6.291",\
                 "1.403, 1.488, 1.741, 2.127, 2.618, 3.224, 3.951, 4.784, 5.729, 6.849",\
                 "1.728, 1.823, 2.11, 2.54, 3.08, 3.73, 4.504, 5.399, 6.405, 7.531");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1084, 0.1342, 0.2248, 0.3981, 0.6671, 1.046, 1.541, 2.167, 2.93, 3.84",\
                 "0.1083, 0.134, 0.2247, 0.3975, 0.6675, 1.044, 1.542, 2.166, 2.929, 3.84",\
                 "0.1469, 0.1704, 0.2433, 0.3989, 0.6674, 1.045, 1.541, 2.167, 2.93, 3.84",\
                 "0.2155, 0.2442, 0.3339, 0.4826, 0.697, 1.045, 1.541, 2.167, 2.929, 3.84",\
                 "0.3077, 0.3429, 0.4484, 0.6194, 0.8532, 1.146, 1.568, 2.167, 2.928, 3.837",\
                 "0.4184, 0.4624, 0.5918, 0.7868, 1.046, 1.374, 1.761, 2.266, 2.951, 3.839",\
                 "0.5458, 0.6002, 0.754, 0.9832, 1.272, 1.629, 2.059, 2.551, 3.146, 3.925",\
                 "0.6912, 0.7546, 0.9362, 1.205, 1.535, 1.92, 2.382, 2.922, 3.531, 4.226",\
                 "0.8488, 0.9256, 1.136, 1.447, 1.821, 2.251, 2.741, 3.319, 3.975, 4.706",\
                 "1.019, 1.109, 1.358, 1.71, 2.134, 2.609, 3.146, 3.754, 4.451, 5.233");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2548, 0.3134, 0.5177, 0.9049, 1.508, 2.348, 3.462, 4.852, 6.569, 8.604",\
                 "0.2532, 0.3131, 0.5186, 0.9056, 1.508, 2.352, 3.457, 4.86, 6.567, 8.6",\
                 "0.2593, 0.3125, 0.516, 0.9047, 1.508, 2.349, 3.463, 4.862, 6.571, 8.597",\
                 "0.319, 0.3747, 0.5506, 0.9056, 1.508, 2.352, 3.462, 4.854, 6.571, 8.597",\
                 "0.3948, 0.4522, 0.6494, 0.9854, 1.521, 2.348, 3.456, 4.853, 6.566, 8.602",\
                 "0.4996, 0.5604, 0.7596, 1.13, 1.644, 2.386, 3.463, 4.857, 6.568, 8.604",\
                 "0.6254, 0.6938, 0.9056, 1.283, 1.844, 2.554, 3.527, 4.865, 6.566, 8.594",\
                 "0.7674, 0.8456, 1.082, 1.468, 2.05, 2.815, 3.738, 4.968, 6.581, 8.598",\
                 "0.9252, 1.013, 1.278, 1.692, 2.28, 3.086, 4.062, 5.221, 6.719, 8.615",\
                 "1.095, 1.197, 1.491, 1.945, 2.549, 3.363, 4.399, 5.607, 7.024, 8.816");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.08888, 0.1042, 0.1574, 0.2584, 0.4158, 0.6365, 0.9266, 1.292, 1.739, 2.271",\
                 "0.1009, 0.1165, 0.1702, 0.2718, 0.4293, 0.65, 0.9407, 1.306, 1.753, 2.285",\
                 "0.1329, 0.1533, 0.2153, 0.3174, 0.475, 0.6958, 0.9862, 1.352, 1.798, 2.331",\
                 "0.1465, 0.1747, 0.2596, 0.3931, 0.5632, 0.7833, 1.073, 1.438, 1.884, 2.416",\
                 "0.1333, 0.1701, 0.2803, 0.4491, 0.6642, 0.9182, 1.212, 1.575, 2.02, 2.551",\
                 "0.0892, 0.1348, 0.2715, 0.4782, 0.738, 1.043, 1.389, 1.771, 2.215, 2.744",\
                 "0.0126, 0.0669, 0.2293, 0.476, 0.783, 1.139, 1.54, 1.986, 2.47, 3.002",\
                 "-0.1, -0.0366, 0.1513, 0.4375, 0.7934, 1.203, 1.661, 2.167, 2.719, 3.312",\
                 "-0.2505, -0.1786, 0.0362, 0.3601, 0.7651, 1.231, 1.75, 2.315, 2.932, 3.596",\
                 "-0.4418, -0.3609, -0.1201, 0.2439, 0.6974, 1.221, 1.799, 2.43, 3.11, 3.844");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1651, 0.1993, 0.3171, 0.5383, 0.8814, 1.361, 1.993, 2.789, 3.76, 4.918",\
                 "0.174, 0.2084, 0.3279, 0.5514, 0.8961, 1.377, 2.01, 2.806, 3.777, 4.933",\
                 "0.2327, 0.265, 0.3804, 0.6025, 0.9473, 1.429, 2.062, 2.857, 3.83, 4.989",\
                 "0.3396, 0.3789, 0.5039, 0.7196, 1.058, 1.538, 2.168, 2.965, 3.934, 5.093",\
                 "0.4809, 0.5268, 0.6718, 0.9147, 1.251, 1.721, 2.347, 3.138, 4.107, 5.262",\
                 "0.6573, 0.712, 0.8786, 1.152, 1.527, 1.998, 2.613, 3.397, 4.357, 5.509",\
                 "0.8692, 0.9334, 1.126, 1.431, 1.845, 2.362, 2.98, 3.754, 4.706, 5.847",\
                 "1.116, 1.191, 1.414, 1.756, 2.206, 2.771, 3.441, 4.219, 5.16, 6.291",\
                 "1.403, 1.488, 1.741, 2.127, 2.619, 3.224, 3.951, 4.783, 5.729, 6.849",\
                 "1.728, 1.824, 2.11, 2.54, 3.08, 3.73, 4.504, 5.399, 6.405, 7.532");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1084, 0.1342, 0.2248, 0.3981, 0.6671, 1.046, 1.541, 2.167, 2.93, 3.84",\
                 "0.1083, 0.134, 0.2248, 0.3975, 0.6675, 1.044, 1.541, 2.167, 2.93, 3.84",\
                 "0.1469, 0.1704, 0.2433, 0.3989, 0.6674, 1.045, 1.541, 2.166, 2.931, 3.84",\
                 "0.2153, 0.2439, 0.3338, 0.4825, 0.6963, 1.046, 1.541, 2.167, 2.929, 3.839",\
                 "0.3077, 0.3429, 0.4484, 0.6204, 0.8542, 1.147, 1.569, 2.167, 2.929, 3.838",\
                 "0.4184, 0.4624, 0.5918, 0.788, 1.047, 1.375, 1.761, 2.267, 2.951, 3.839",\
                 "0.5458, 0.6002, 0.754, 0.9832, 1.272, 1.629, 2.059, 2.551, 3.145, 3.924",\
                 "0.6912, 0.7546, 0.9358, 1.205, 1.535, 1.918, 2.382, 2.922, 3.531, 4.226",\
                 "0.8488, 0.9256, 1.136, 1.447, 1.82, 2.251, 2.741, 3.318, 3.976, 4.705",\
                 "1.019, 1.109, 1.358, 1.71, 2.134, 2.608, 3.148, 3.753, 4.451, 5.232");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2548, 0.3134, 0.5177, 0.905, 1.507, 2.35, 3.462, 4.851, 6.57, 8.606",\
                 "0.2531, 0.3131, 0.5186, 0.9057, 1.508, 2.352, 3.457, 4.86, 6.567, 8.596",\
                 "0.2593, 0.3126, 0.5162, 0.9047, 1.508, 2.349, 3.463, 4.856, 6.571, 8.598",\
                 "0.319, 0.3746, 0.5506, 0.9046, 1.507, 2.351, 3.459, 4.856, 6.567, 8.605",\
                 "0.3946, 0.451, 0.6494, 0.9854, 1.521, 2.35, 3.456, 4.854, 6.566, 8.595",\
                 "0.4996, 0.5612, 0.7596, 1.13, 1.644, 2.385, 3.463, 4.855, 6.558, 8.587",\
                 "0.6268, 0.6934, 0.9046, 1.284, 1.844, 2.553, 3.528, 4.856, 6.557, 8.592",\
                 "0.7676, 0.8454, 1.083, 1.471, 2.05, 2.814, 3.738, 4.966, 6.581, 8.602",\
                 "0.9254, 1.014, 1.278, 1.692, 2.279, 3.083, 4.062, 5.221, 6.719, 8.613",\
                 "1.096, 1.195, 1.493, 1.945, 2.551, 3.366, 4.4, 5.607, 7.026, 8.818");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.08888, 0.1042, 0.1574, 0.2584, 0.4158, 0.6365, 0.9266, 1.292, 1.739, 2.271",\
                 "0.1009, 0.1165, 0.1702, 0.2718, 0.4293, 0.65, 0.9407, 1.306, 1.753, 2.285",\
                 "0.1329, 0.1533, 0.2153, 0.3174, 0.475, 0.6958, 0.9862, 1.352, 1.798, 2.331",\
                 "0.1465, 0.1747, 0.2596, 0.3931, 0.5632, 0.7833, 1.073, 1.438, 1.884, 2.416",\
                 "0.1333, 0.1701, 0.2803, 0.4491, 0.6642, 0.9182, 1.212, 1.575, 2.02, 2.551",\
                 "0.0892, 0.1348, 0.2715, 0.4782, 0.738, 1.043, 1.389, 1.771, 2.215, 2.744",\
                 "0.0126, 0.0669, 0.2293, 0.476, 0.783, 1.139, 1.54, 1.986, 2.47, 3.002",\
                 "-0.1, -0.0366, 0.1513, 0.4375, 0.7934, 1.203, 1.661, 2.167, 2.719, 3.312",\
                 "-0.2505, -0.1786, 0.0362, 0.3601, 0.7651, 1.231, 1.75, 2.315, 2.932, 3.596",\
                 "-0.4418, -0.3609, -0.1201, 0.2439, 0.6974, 1.221, 1.799, 2.43, 3.11, 3.844");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1651, 0.1993, 0.3171, 0.5383, 0.8814, 1.361, 1.993, 2.789, 3.76, 4.918",\
                 "0.174, 0.2084, 0.3279, 0.5514, 0.8961, 1.377, 2.01, 2.806, 3.777, 4.933",\
                 "0.2327, 0.265, 0.3804, 0.6025, 0.9473, 1.429, 2.062, 2.857, 3.83, 4.989",\
                 "0.3396, 0.3789, 0.5039, 0.7196, 1.058, 1.538, 2.168, 2.965, 3.934, 5.093",\
                 "0.4809, 0.5268, 0.6718, 0.9147, 1.251, 1.721, 2.347, 3.138, 4.107, 5.262",\
                 "0.6573, 0.712, 0.8786, 1.152, 1.527, 1.998, 2.613, 3.397, 4.357, 5.509",\
                 "0.8692, 0.9334, 1.126, 1.431, 1.845, 2.362, 2.98, 3.754, 4.706, 5.847",\
                 "1.116, 1.191, 1.414, 1.756, 2.206, 2.771, 3.441, 4.219, 5.16, 6.291",\
                 "1.403, 1.488, 1.741, 2.127, 2.619, 3.224, 3.951, 4.783, 5.729, 6.849",\
                 "1.728, 1.824, 2.11, 2.54, 3.08, 3.73, 4.504, 5.399, 6.405, 7.532");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.1084, 0.1342, 0.2248, 0.3981, 0.6671, 1.046, 1.541, 2.167, 2.93, 3.84",\
                 "0.1083, 0.134, 0.2247, 0.3975, 0.6675, 1.044, 1.542, 2.166, 2.929, 3.84",\
                 "0.1469, 0.1704, 0.2433, 0.3989, 0.6674, 1.045, 1.541, 2.167, 2.93, 3.84",\
                 "0.2155, 0.2442, 0.3339, 0.4826, 0.697, 1.045, 1.541, 2.167, 2.929, 3.84",\
                 "0.3077, 0.3429, 0.4484, 0.6194, 0.8532, 1.146, 1.568, 2.167, 2.928, 3.837",\
                 "0.4184, 0.4624, 0.5918, 0.7868, 1.046, 1.374, 1.761, 2.266, 2.951, 3.839",\
                 "0.5458, 0.6002, 0.754, 0.9832, 1.272, 1.629, 2.059, 2.551, 3.146, 3.925",\
                 "0.6912, 0.7546, 0.9362, 1.205, 1.535, 1.92, 2.382, 2.922, 3.531, 4.226",\
                 "0.8488, 0.9256, 1.136, 1.447, 1.821, 2.251, 2.741, 3.319, 3.975, 4.706",\
                 "1.019, 1.109, 1.358, 1.71, 2.134, 2.609, 3.146, 3.754, 4.451, 5.233");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2548, 0.3134, 0.5177, 0.905, 1.507, 2.35, 3.462, 4.851, 6.57, 8.606",\
                 "0.2531, 0.3131, 0.5186, 0.9057, 1.508, 2.352, 3.457, 4.86, 6.567, 8.596",\
                 "0.2593, 0.3126, 0.5162, 0.9047, 1.508, 2.349, 3.463, 4.856, 6.571, 8.598",\
                 "0.319, 0.3746, 0.5506, 0.9046, 1.507, 2.351, 3.459, 4.856, 6.567, 8.605",\
                 "0.3946, 0.451, 0.6494, 0.9854, 1.521, 2.35, 3.456, 4.854, 6.566, 8.595",\
                 "0.4996, 0.5612, 0.7596, 1.13, 1.644, 2.385, 3.463, 4.855, 6.558, 8.587",\
                 "0.6268, 0.6934, 0.9046, 1.284, 1.844, 2.553, 3.528, 4.856, 6.557, 8.592",\
                 "0.7676, 0.8454, 1.083, 1.471, 2.05, 2.814, 3.738, 4.966, 6.581, 8.602",\
                 "0.9254, 1.014, 1.278, 1.692, 2.279, 3.083, 4.062, 5.221, 6.719, 8.613",\
                 "1.096, 1.195, 1.493, 1.945, 2.551, 3.366, 4.4, 5.607, 7.026, 8.818");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.5996, 0.6159, 0.6704, 0.7598, 0.8811, 1.036, 1.229, 1.464, 1.747, 2.083",\
                 "0.6094, 0.6266, 0.6809, 0.7702, 0.8919, 1.047, 1.24, 1.475, 1.758, 2.094",\
                 "0.6458, 0.6629, 0.7177, 0.8075, 0.9296, 1.085, 1.277, 1.513, 1.796, 2.132",\
                 "0.7332, 0.7505, 0.8059, 0.8967, 1.019, 1.175, 1.368, 1.603, 1.886, 2.222",\
                 "0.8812, 0.8993, 0.9569, 1.051, 1.175, 1.333, 1.526, 1.761, 2.045, 2.381",\
                 "1.087, 1.106, 1.167, 1.264, 1.393, 1.553, 1.747, 1.984, 2.267, 2.603",\
                 "1.344, 1.365, 1.429, 1.532, 1.666, 1.83, 2.028, 2.265, 2.548, 2.885",\
                 "1.646, 1.669, 1.739, 1.849, 1.99, 2.162, 2.365, 2.606, 2.891, 3.227",\
                 "1.993, 2.018, 2.092, 2.21, 2.361, 2.543, 2.756, 3.005, 3.295, 3.633",\
                 "2.388, 2.413, 2.493, 2.617, 2.779, 2.971, 3.196, 3.456, 3.756, 4.102");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.4366, 0.4699, 0.5849, 0.7996, 1.134, 1.607, 2.232, 3.023, 3.992, 5.147",\
                 "0.4492, 0.4828, 0.5976, 0.813, 1.148, 1.62, 2.245, 3.036, 4.004, 5.161",\
                 "0.4888, 0.522, 0.6369, 0.8546, 1.192, 1.666, 2.293, 3.084, 4.052, 5.208",\
                 "0.5262, 0.5593, 0.675, 0.8947, 1.235, 1.713, 2.341, 3.134, 4.103, 5.258",\
                 "0.5469, 0.581, 0.6967, 0.912, 1.25, 1.729, 2.359, 3.153, 4.122, 5.278",\
                 "0.5292, 0.5641, 0.6811, 0.9007, 1.24, 1.712, 2.341, 3.135, 4.105, 5.261",\
                 "0.4759, 0.5101, 0.6287, 0.8482, 1.189, 1.667, 2.29, 3.08, 4.05, 5.206",\
                 "0.3848, 0.4199, 0.5396, 0.7588, 1.099, 1.577, 2.206, 2.996, 3.958, 5.113",\
                 "0.2549, 0.2906, 0.4107, 0.63, 0.9697, 1.447, 2.076, 2.869, 3.834, 4.981",\
                 "0.0829, 0.1185, 0.2403, 0.4603, 0.7986, 1.275, 1.905, 2.697, 3.664, 4.816");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2257, 0.2462, 0.3109, 0.418, 0.5721, 0.7844, 1.068, 1.438, 1.898, 2.456",\
                 "0.2256, 0.2467, 0.3111, 0.418, 0.572, 0.7845, 1.068, 1.438, 1.898, 2.456",\
                 "0.2265, 0.2479, 0.3113, 0.4187, 0.5717, 0.7844, 1.068, 1.438, 1.899, 2.456",\
                 "0.2312, 0.2516, 0.3144, 0.4204, 0.5734, 0.7854, 1.069, 1.438, 1.899, 2.456",\
                 "0.2356, 0.257, 0.3222, 0.4292, 0.5816, 0.7908, 1.072, 1.44, 1.899, 2.456",\
                 "0.2432, 0.264, 0.33, 0.4386, 0.59, 0.7986, 1.079, 1.444, 1.902, 2.458",\
                 "0.2624, 0.2848, 0.3532, 0.4604, 0.6104, 0.8136, 1.089, 1.449, 1.905, 2.459",\
                 "0.2902, 0.3146, 0.3854, 0.4966, 0.6478, 0.848, 1.116, 1.466, 1.912, 2.461",\
                 "0.319, 0.345, 0.4212, 0.5382, 0.695, 0.9002, 1.165, 1.507, 1.942, 2.476",\
                 "0.352, 0.3794, 0.4592, 0.5816, 0.746, 0.959, 1.231, 1.575, 2.001, 2.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.3396, 0.3969, 0.5992, 0.9863, 1.588, 2.432, 3.541, 4.938, 6.643, 8.676",\
                 "0.3396, 0.3967, 0.599, 0.9865, 1.588, 2.431, 3.541, 4.938, 6.643, 8.675",\
                 "0.3403, 0.3975, 0.5998, 0.9864, 1.588, 2.431, 3.541, 4.938, 6.643, 8.676",\
                 "0.3299, 0.389, 0.5975, 0.9858, 1.588, 2.431, 3.541, 4.938, 6.643, 8.676",\
                 "0.3072, 0.3634, 0.566, 0.9606, 1.577, 2.431, 3.541, 4.937, 6.642, 8.676",\
                 "0.3034, 0.3566, 0.552, 0.9396, 1.548, 2.407, 3.531, 4.936, 6.643, 8.675",\
                 "0.3098, 0.362, 0.5524, 0.9312, 1.534, 2.384, 3.507, 4.917, 6.637, 8.674",\
                 "0.3206, 0.3738, 0.5604, 0.9338, 1.532, 2.376, 3.488, 4.896, 6.615, 8.66",\
                 "0.3342, 0.3882, 0.572, 0.9412, 1.536, 2.375, 3.484, 4.883, 6.597, 8.641",\
                 "0.3502, 0.4034, 0.5878, 0.9516, 1.545, 2.385, 3.489, 4.882, 6.586, 8.625");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.6009, 0.6173, 0.6719, 0.7614, 0.8828, 1.038, 1.231, 1.466, 1.749, 2.086",\
                 "0.6109, 0.6277, 0.6822, 0.7717, 0.8936, 1.049, 1.241, 1.477, 1.76, 2.096",\
                 "0.6472, 0.6647, 0.7189, 0.8089, 0.9311, 1.086, 1.279, 1.515, 1.798, 2.134",\
                 "0.734, 0.7517, 0.807, 0.8975, 1.02, 1.176, 1.369, 1.604, 1.888, 2.224",\
                 "0.8812, 0.8996, 0.9578, 1.051, 1.176, 1.333, 1.526, 1.762, 2.045, 2.381",\
                 "1.086, 1.106, 1.167, 1.265, 1.393, 1.553, 1.748, 1.984, 2.268, 2.604",\
                 "1.344, 1.365, 1.429, 1.532, 1.666, 1.83, 2.028, 2.265, 2.549, 2.885",\
                 "1.646, 1.669, 1.739, 1.849, 1.991, 2.162, 2.365, 2.606, 2.892, 3.228",\
                 "1.994, 2.018, 2.092, 2.21, 2.361, 2.543, 2.757, 3.005, 3.295, 3.634",\
                 "2.387, 2.413, 2.492, 2.617, 2.778, 2.971, 3.196, 3.457, 3.757, 4.102");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.4369, 0.4706, 0.5859, 0.8012, 1.136, 1.608, 2.234, 3.026, 3.994, 5.149",\
                 "0.4496, 0.4833, 0.5987, 0.8143, 1.149, 1.622, 2.248, 3.039, 4.007, 5.162",\
                 "0.4893, 0.5228, 0.6383, 0.8564, 1.194, 1.669, 2.295, 3.087, 4.055, 5.211",\
                 "0.527, 0.5603, 0.6768, 0.8971, 1.238, 1.716, 2.345, 3.136, 4.105, 5.261",\
                 "0.5484, 0.5825, 0.6989, 0.9146, 1.253, 1.732, 2.362, 3.155, 4.125, 5.279",\
                 "0.5309, 0.5655, 0.6833, 0.9035, 1.243, 1.714, 2.344, 3.138, 4.108, 5.264",\
                 "0.477, 0.5127, 0.6303, 0.851, 1.191, 1.67, 2.294, 3.083, 4.053, 5.209",\
                 "0.3854, 0.4215, 0.5414, 0.7607, 1.102, 1.58, 2.209, 2.998, 3.961, 5.117",\
                 "0.2557, 0.2924, 0.412, 0.6324, 0.9719, 1.449, 2.078, 2.871, 3.837, 4.985",\
                 "0.0839, 0.1204, 0.2425, 0.4624, 0.7995, 1.277, 1.906, 2.699, 3.667, 4.819");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2268, 0.2471, 0.3119, 0.4188, 0.5726, 0.7847, 1.069, 1.438, 1.899, 2.456",\
                 "0.2268, 0.2476, 0.3121, 0.4188, 0.5723, 0.7847, 1.069, 1.438, 1.899, 2.456",\
                 "0.2283, 0.248, 0.3121, 0.4195, 0.5723, 0.785, 1.069, 1.438, 1.899, 2.456",\
                 "0.232, 0.2522, 0.3156, 0.4208, 0.5738, 0.786, 1.07, 1.439, 1.899, 2.456",\
                 "0.2368, 0.258, 0.323, 0.4302, 0.5818, 0.7912, 1.073, 1.44, 1.9, 2.457",\
                 "0.2446, 0.2666, 0.3314, 0.439, 0.5904, 0.799, 1.08, 1.445, 1.903, 2.458",\
                 "0.2632, 0.2858, 0.354, 0.4604, 0.61, 0.8144, 1.089, 1.449, 1.905, 2.46",\
                 "0.2918, 0.3156, 0.3864, 0.4974, 0.6476, 0.8482, 1.115, 1.466, 1.913, 2.461",\
                 "0.3218, 0.3472, 0.4226, 0.5384, 0.696, 0.9008, 1.166, 1.508, 1.941, 2.476",\
                 "0.3552, 0.3818, 0.4602, 0.5822, 0.7468, 0.9584, 1.231, 1.575, 2.001, 2.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.3415, 0.3989, 0.6014, 0.9893, 1.591, 2.435, 3.545, 4.941, 6.647, 8.68",\
                 "0.3415, 0.3989, 0.6017, 0.9894, 1.591, 2.435, 3.544, 4.941, 6.647, 8.68",\
                 "0.3425, 0.3999, 0.6024, 0.9892, 1.591, 2.435, 3.544, 4.941, 6.647, 8.681",\
                 "0.3318, 0.3916, 0.6007, 0.9892, 1.591, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.3084, 0.3648, 0.568, 0.9638, 1.58, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3034, 0.3586, 0.5542, 0.9422, 1.551, 2.41, 3.534, 4.941, 6.645, 8.678",\
                 "0.3104, 0.3638, 0.5542, 0.9332, 1.537, 2.386, 3.51, 4.921, 6.641, 8.678",\
                 "0.3214, 0.3742, 0.5622, 0.9362, 1.533, 2.376, 3.492, 4.9, 6.618, 8.664",\
                 "0.3344, 0.3882, 0.574, 0.9442, 1.54, 2.377, 3.484, 4.888, 6.601, 8.646",\
                 "0.3502, 0.4038, 0.589, 0.9538, 1.546, 2.389, 3.49, 4.884, 6.589, 8.63");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.6009, 0.6173, 0.6719, 0.7614, 0.8828, 1.038, 1.231, 1.466, 1.749, 2.086",\
                 "0.6109, 0.6277, 0.6822, 0.7717, 0.8936, 1.049, 1.241, 1.477, 1.76, 2.096",\
                 "0.6472, 0.6647, 0.7189, 0.8089, 0.9311, 1.086, 1.279, 1.515, 1.798, 2.134",\
                 "0.734, 0.7517, 0.807, 0.8975, 1.02, 1.176, 1.369, 1.604, 1.888, 2.224",\
                 "0.8812, 0.8996, 0.9578, 1.051, 1.176, 1.333, 1.526, 1.762, 2.045, 2.381",\
                 "1.086, 1.106, 1.167, 1.265, 1.393, 1.553, 1.748, 1.984, 2.268, 2.604",\
                 "1.344, 1.365, 1.429, 1.532, 1.666, 1.83, 2.028, 2.265, 2.549, 2.885",\
                 "1.646, 1.669, 1.739, 1.849, 1.991, 2.162, 2.365, 2.606, 2.892, 3.228",\
                 "1.994, 2.018, 2.092, 2.21, 2.361, 2.543, 2.757, 3.005, 3.295, 3.634",\
                 "2.387, 2.413, 2.492, 2.617, 2.778, 2.971, 3.196, 3.457, 3.757, 4.102");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.4369, 0.4706, 0.5859, 0.8012, 1.136, 1.608, 2.234, 3.026, 3.994, 5.149",\
                 "0.4496, 0.4833, 0.5987, 0.8143, 1.149, 1.622, 2.248, 3.039, 4.007, 5.162",\
                 "0.4893, 0.5228, 0.6383, 0.8564, 1.194, 1.669, 2.295, 3.087, 4.055, 5.211",\
                 "0.527, 0.5603, 0.6768, 0.8971, 1.238, 1.716, 2.345, 3.136, 4.105, 5.261",\
                 "0.5484, 0.5825, 0.6989, 0.9146, 1.253, 1.732, 2.362, 3.155, 4.125, 5.279",\
                 "0.5309, 0.5655, 0.6833, 0.9035, 1.243, 1.714, 2.344, 3.138, 4.108, 5.264",\
                 "0.477, 0.5127, 0.6303, 0.851, 1.191, 1.67, 2.294, 3.083, 4.053, 5.209",\
                 "0.3854, 0.4215, 0.5414, 0.7607, 1.102, 1.58, 2.209, 2.998, 3.961, 5.117",\
                 "0.2557, 0.2924, 0.412, 0.6324, 0.9719, 1.449, 2.078, 2.871, 3.837, 4.985",\
                 "0.0839, 0.1204, 0.2425, 0.4624, 0.7995, 1.277, 1.906, 2.699, 3.667, 4.819");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.2268, 0.2471, 0.3119, 0.4188, 0.5726, 0.7847, 1.069, 1.438, 1.899, 2.456",\
                 "0.2268, 0.2476, 0.3121, 0.4188, 0.5723, 0.7847, 1.069, 1.438, 1.899, 2.456",\
                 "0.2283, 0.248, 0.3121, 0.4195, 0.5723, 0.785, 1.069, 1.438, 1.899, 2.456",\
                 "0.232, 0.2522, 0.3156, 0.4208, 0.5738, 0.786, 1.07, 1.439, 1.899, 2.456",\
                 "0.2368, 0.258, 0.323, 0.4302, 0.5818, 0.7912, 1.073, 1.44, 1.9, 2.457",\
                 "0.2446, 0.2666, 0.3314, 0.439, 0.5904, 0.799, 1.08, 1.445, 1.903, 2.458",\
                 "0.2632, 0.2858, 0.354, 0.4604, 0.61, 0.8144, 1.089, 1.449, 1.905, 2.46",\
                 "0.2918, 0.3156, 0.3864, 0.4974, 0.6476, 0.8482, 1.115, 1.466, 1.913, 2.461",\
                 "0.3218, 0.3472, 0.4226, 0.5384, 0.696, 0.9008, 1.166, 1.508, 1.941, 2.476",\
                 "0.3552, 0.3818, 0.4602, 0.5822, 0.7468, 0.9584, 1.231, 1.575, 2.001, 2.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.002286, 0.006799, 0.01542, 0.02884, 0.04768, 0.07247, 0.1037, 0.1418, 0.1873");
          values("0.3415, 0.3989, 0.6014, 0.9893, 1.591, 2.435, 3.545, 4.941, 6.647, 8.68",\
                 "0.3415, 0.3989, 0.6017, 0.9894, 1.591, 2.435, 3.544, 4.941, 6.647, 8.68",\
                 "0.3425, 0.3999, 0.6024, 0.9892, 1.591, 2.435, 3.544, 4.941, 6.647, 8.681",\
                 "0.3318, 0.3916, 0.6007, 0.9892, 1.591, 2.434, 3.544, 4.942, 6.647, 8.679",\
                 "0.3084, 0.3648, 0.568, 0.9638, 1.58, 2.434, 3.544, 4.941, 6.647, 8.679",\
                 "0.3034, 0.3586, 0.5542, 0.9422, 1.551, 2.41, 3.534, 4.941, 6.645, 8.678",\
                 "0.3104, 0.3638, 0.5542, 0.9332, 1.537, 2.386, 3.51, 4.921, 6.641, 8.678",\
                 "0.3214, 0.3742, 0.5622, 0.9362, 1.533, 2.376, 3.492, 4.9, 6.618, 8.664",\
                 "0.3344, 0.3882, 0.574, 0.9442, 1.54, 2.377, 3.484, 4.888, 6.601, 8.646",\
                 "0.3502, 0.4038, 0.589, 0.9538, 1.546, 2.389, 3.49, 4.884, 6.589, 8.63");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xor3_2) {
    area : 63.660800 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "0.0001463451" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "0.0001470348" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "0.0001450746" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "0.0001492359" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "0.0001762266" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "0.0001803912" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "0.000112233" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "0.0001129227" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0001803912" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004739 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.005181 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A3) {
      capacitance : 0.006801 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "(A1^A2^A3)" ;
      max_capacitance : 0.7173 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2639, 0.2591, 0.2521, 0.2483, 0.2462, 0.2449, 0.2442, 0.2437, 0.2434, 0.2431",\
                 "0.2632, 0.2584, 0.2514, 0.2476, 0.2455, 0.2443, 0.2435, 0.2429, 0.2425, 0.2424",\
                 "0.2626, 0.2578, 0.2508, 0.247, 0.2449, 0.2437, 0.2429, 0.2423, 0.2419, 0.2417",\
                 "0.2645, 0.2597, 0.2527, 0.2489, 0.2467, 0.2455, 0.2448, 0.2442, 0.2438, 0.2436",\
                 "0.2703, 0.2655, 0.2585, 0.2546, 0.2525, 0.2513, 0.2506, 0.2499, 0.2496, 0.2493",\
                 "0.2802, 0.2754, 0.2685, 0.2647, 0.2626, 0.2612, 0.2605, 0.2599, 0.2595, 0.2593",\
                 "0.2945, 0.2898, 0.2827, 0.2788, 0.2767, 0.2754, 0.2746, 0.2741, 0.2737, 0.2735",\
                 "0.3135, 0.3087, 0.3016, 0.2977, 0.2956, 0.2943, 0.2937, 0.2931, 0.2927, 0.2925",\
                 "0.3376, 0.3327, 0.3256, 0.3216, 0.3196, 0.3183, 0.3175, 0.317, 0.3166, 0.3163",\
                 "0.3667, 0.3619, 0.3547, 0.3508, 0.3486, 0.3473, 0.3466, 0.346, 0.3456, 0.3454");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2476, 0.245, 0.2407, 0.238, 0.2373, 0.238, 0.2389, 0.24, 0.2419, 0.2506",\
                 "0.2474, 0.2447, 0.2403, 0.2378, 0.2371, 0.2378, 0.2388, 0.24, 0.2419, 0.2503",\
                 "0.247, 0.2443, 0.2402, 0.2376, 0.2369, 0.2377, 0.2383, 0.2394, 0.2412, 0.2499",\
                 "0.2482, 0.2455, 0.2411, 0.2386, 0.2384, 0.2387, 0.2399, 0.2404, 0.2419, 0.2525",\
                 "0.2514, 0.2487, 0.2444, 0.2418, 0.2412, 0.242, 0.2432, 0.244, 0.2455, 0.2569",\
                 "0.2577, 0.2548, 0.251, 0.2488, 0.2477, 0.2485, 0.2494, 0.2503, 0.2525, 0.2655",\
                 "0.268, 0.2652, 0.261, 0.2581, 0.2582, 0.2596, 0.26, 0.2608, 0.2631, 0.279",\
                 "0.2821, 0.2795, 0.2753, 0.2722, 0.272, 0.2733, 0.2754, 0.2773, 0.2783, 0.2985",\
                 "0.3011, 0.2986, 0.2944, 0.2919, 0.291, 0.2903, 0.2931, 0.2967, 0.3002, 0.3258",\
                 "0.3241, 0.3215, 0.3171, 0.3148, 0.3134, 0.3133, 0.314, 0.3165, 0.3245, 0.3636");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.3113, 0.3083, 0.3048, 0.303, 0.3021, 0.3015, 0.3014, 0.3013, 0.301, 0.301",\
                 "0.3111, 0.3081, 0.3045, 0.3029, 0.3018, 0.3014, 0.3012, 0.301, 0.3009, 0.3009",\
                 "0.3108, 0.3079, 0.3043, 0.3026, 0.3015, 0.3011, 0.3009, 0.3008, 0.3007, 0.3007",\
                 "0.312, 0.309, 0.3054, 0.3036, 0.3025, 0.3023, 0.302, 0.3018, 0.3018, 0.3017",\
                 "0.3153, 0.3122, 0.3087, 0.3069, 0.306, 0.3056, 0.3054, 0.3052, 0.3051, 0.3051",\
                 "0.3219, 0.3191, 0.3156, 0.3137, 0.3127, 0.3123, 0.312, 0.3119, 0.3119, 0.3118",\
                 "0.3325, 0.3296, 0.3259, 0.3242, 0.3233, 0.3229, 0.3226, 0.3224, 0.3223, 0.3222",\
                 "0.3468, 0.3438, 0.3402, 0.3383, 0.3374, 0.3371, 0.3369, 0.3368, 0.3367, 0.3367",\
                 "0.3655, 0.3626, 0.3591, 0.3572, 0.3563, 0.3559, 0.3557, 0.3555, 0.3554, 0.3554",\
                 "0.3886, 0.3855, 0.3819, 0.3801, 0.3791, 0.3788, 0.3786, 0.3784, 0.3784, 0.3783");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2612, 0.2599, 0.2583, 0.2585, 0.2594, 0.2605, 0.2619, 0.2633, 0.2658, 0.2742",\
                 "0.2607, 0.2591, 0.2577, 0.258, 0.259, 0.26, 0.2614, 0.2623, 0.2641, 0.2739",\
                 "0.2598, 0.2587, 0.2573, 0.2573, 0.2584, 0.2594, 0.2608, 0.2617, 0.2635, 0.274",\
                 "0.2617, 0.2604, 0.2589, 0.2594, 0.2603, 0.261, 0.2623, 0.2633, 0.2655, 0.276",\
                 "0.2676, 0.2663, 0.2648, 0.2652, 0.266, 0.2668, 0.2681, 0.2693, 0.2718, 0.2848",\
                 "0.2776, 0.2761, 0.2747, 0.2747, 0.2758, 0.2767, 0.2781, 0.2791, 0.2827, 0.2991",\
                 "0.2921, 0.2907, 0.2889, 0.2894, 0.29, 0.2911, 0.2922, 0.2946, 0.2974, 0.3195",\
                 "0.311, 0.3096, 0.308, 0.308, 0.3097, 0.3108, 0.3115, 0.3128, 0.3168, 0.353",\
                 "0.3349, 0.3333, 0.332, 0.332, 0.3325, 0.3349, 0.3359, 0.3374, 0.344, 0.404",\
                 "0.3642, 0.3626, 0.3611, 0.3616, 0.3618, 0.3623, 0.3663, 0.3678, 0.3837, 0.4911");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1844, 0.1795, 0.1724, 0.1684, 0.166, 0.1648, 0.1639, 0.1635, 0.163, 0.1628",\
                 "0.1842, 0.1793, 0.1722, 0.1682, 0.1659, 0.1646, 0.1637, 0.1632, 0.1628, 0.1626",\
                 "0.1844, 0.1795, 0.1723, 0.1683, 0.166, 0.1648, 0.164, 0.1634, 0.1631, 0.1628",\
                 "0.1864, 0.1814, 0.1742, 0.1702, 0.1679, 0.1667, 0.1659, 0.1653, 0.1649, 0.1647",\
                 "0.1919, 0.187, 0.1795, 0.1754, 0.1732, 0.1717, 0.1709, 0.1703, 0.1699, 0.1697",\
                 "0.2011, 0.1961, 0.1885, 0.1841, 0.1819, 0.1803, 0.1795, 0.1789, 0.1785, 0.1783",\
                 "0.2151, 0.21, 0.2021, 0.1974, 0.195, 0.1935, 0.1926, 0.1921, 0.1917, 0.1914",\
                 "0.2339, 0.2286, 0.2204, 0.2155, 0.2129, 0.2114, 0.2105, 0.2098, 0.2094, 0.2091",\
                 "0.2575, 0.2521, 0.2435, 0.2385, 0.2356, 0.234, 0.233, 0.2323, 0.2319, 0.2316",\
                 "0.2862, 0.2807, 0.2716, 0.2663, 0.2631, 0.2614, 0.2603, 0.2596, 0.2591, 0.2588");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2305, 0.2278, 0.2239, 0.2215, 0.221, 0.2217, 0.2229, 0.2237, 0.2255, 0.2337",\
                 "0.2302, 0.2275, 0.2238, 0.2212, 0.2208, 0.2217, 0.2222, 0.2233, 0.2251, 0.2335",\
                 "0.23, 0.2273, 0.2235, 0.221, 0.2205, 0.2214, 0.2221, 0.2233, 0.2251, 0.2334",\
                 "0.2321, 0.2295, 0.2252, 0.2228, 0.2223, 0.2231, 0.2242, 0.226, 0.2268, 0.2368",\
                 "0.2386, 0.2359, 0.2317, 0.2292, 0.2288, 0.2294, 0.2303, 0.2319, 0.2334, 0.2458",\
                 "0.2508, 0.2479, 0.2439, 0.241, 0.2402, 0.2409, 0.2418, 0.2427, 0.245, 0.2604",\
                 "0.2681, 0.2652, 0.2601, 0.258, 0.2569, 0.257, 0.2577, 0.2589, 0.2613, 0.2824",\
                 "0.291, 0.2883, 0.2831, 0.2789, 0.278, 0.2788, 0.2796, 0.28, 0.2836, 0.3156",\
                 "0.3199, 0.3168, 0.3116, 0.3071, 0.3045, 0.3062, 0.3075, 0.3077, 0.3135, 0.367",\
                 "0.3552, 0.3516, 0.3459, 0.341, 0.3378, 0.3372, 0.3395, 0.342, 0.3545, 0.4475");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2953, 0.2924, 0.2888, 0.287, 0.2861, 0.2857, 0.2854, 0.2853, 0.2852, 0.2851",\
                 "0.2951, 0.2922, 0.2886, 0.2868, 0.2858, 0.2854, 0.2852, 0.2851, 0.285, 0.2849",\
                 "0.2949, 0.292, 0.2884, 0.2866, 0.2856, 0.2853, 0.285, 0.2849, 0.2848, 0.2848",\
                 "0.2968, 0.2939, 0.2903, 0.2886, 0.2875, 0.2871, 0.2869, 0.2868, 0.2867, 0.2867",\
                 "0.3029, 0.2999, 0.2963, 0.2947, 0.2935, 0.2932, 0.2929, 0.2928, 0.2927, 0.2926",\
                 "0.3136, 0.3107, 0.3071, 0.3053, 0.3044, 0.304, 0.3037, 0.3036, 0.3035, 0.3034",\
                 "0.3287, 0.3259, 0.3223, 0.3204, 0.3195, 0.3191, 0.3188, 0.3187, 0.3186, 0.3184",\
                 "0.3486, 0.3457, 0.342, 0.3403, 0.3393, 0.3388, 0.3386, 0.3384, 0.3384, 0.3383",\
                 "0.374, 0.371, 0.3672, 0.3655, 0.3643, 0.3641, 0.3638, 0.3637, 0.3637, 0.3636",\
                 "0.4045, 0.4015, 0.3978, 0.3959, 0.395, 0.3947, 0.3945, 0.3944, 0.3943, 0.3941");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1808, 0.1794, 0.178, 0.1779, 0.1789, 0.18, 0.1814, 0.1833, 0.1844, 0.192",\
                 "0.1806, 0.1793, 0.1778, 0.1778, 0.1785, 0.1798, 0.181, 0.1829, 0.1847, 0.1928",\
                 "0.1808, 0.1794, 0.1778, 0.178, 0.1788, 0.1799, 0.1813, 0.1826, 0.1841, 0.1931",\
                 "0.1832, 0.1816, 0.1801, 0.1804, 0.1814, 0.1822, 0.1836, 0.1849, 0.1871, 0.1978",\
                 "0.1884, 0.1868, 0.1855, 0.1852, 0.186, 0.1876, 0.1886, 0.1902, 0.1927, 0.2032",\
                 "0.1966, 0.1952, 0.1934, 0.1942, 0.1947, 0.1959, 0.1969, 0.1981, 0.2003, 0.2136",\
                 "0.2096, 0.2081, 0.2064, 0.206, 0.2075, 0.209, 0.2098, 0.2109, 0.2133, 0.2284",\
                 "0.2266, 0.2251, 0.2233, 0.2228, 0.2236, 0.2258, 0.2287, 0.2294, 0.2308, 0.2511",\
                 "0.2479, 0.2463, 0.2443, 0.2445, 0.2451, 0.2455, 0.2484, 0.2518, 0.2541, 0.2826",\
                 "0.2738, 0.2722, 0.2704, 0.2701, 0.2711, 0.271, 0.2722, 0.2749, 0.284, 0.3249");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2597, 0.2548, 0.2479, 0.244, 0.2419, 0.2407, 0.2399, 0.2393, 0.239, 0.2388",\
                 "0.2587, 0.2538, 0.2469, 0.2431, 0.241, 0.2397, 0.239, 0.2384, 0.238, 0.2378",\
                 "0.2589, 0.2541, 0.2471, 0.2433, 0.2411, 0.2399, 0.2392, 0.2385, 0.2382, 0.238",\
                 "0.2616, 0.2568, 0.2499, 0.2461, 0.2439, 0.2427, 0.2419, 0.2413, 0.2409, 0.2407",\
                 "0.2673, 0.2625, 0.2555, 0.2517, 0.2496, 0.2484, 0.2476, 0.247, 0.2466, 0.2464",\
                 "0.2762, 0.2714, 0.2644, 0.2604, 0.2584, 0.2572, 0.2564, 0.2558, 0.2554, 0.2552",\
                 "0.2881, 0.2834, 0.2764, 0.2726, 0.2703, 0.2691, 0.2683, 0.2677, 0.2674, 0.2672",\
                 "0.3039, 0.2992, 0.2921, 0.2883, 0.2861, 0.2849, 0.2841, 0.2836, 0.2832, 0.283",\
                 "0.3241, 0.3193, 0.3122, 0.3084, 0.306, 0.3049, 0.3041, 0.3036, 0.3032, 0.303",\
                 "0.3487, 0.3438, 0.3368, 0.3327, 0.3304, 0.3292, 0.3285, 0.328, 0.3276, 0.3273");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2357, 0.2329, 0.229, 0.2266, 0.226, 0.2269, 0.2276, 0.2286, 0.2301, 0.2386",\
                 "0.2357, 0.2331, 0.2292, 0.2267, 0.226, 0.2269, 0.2277, 0.2286, 0.2308, 0.2391",\
                 "0.236, 0.2333, 0.2295, 0.227, 0.2263, 0.2273, 0.228, 0.229, 0.2311, 0.2402",\
                 "0.2376, 0.2351, 0.2307, 0.2284, 0.2278, 0.2286, 0.2295, 0.231, 0.2321, 0.2422",\
                 "0.2411, 0.2386, 0.2343, 0.2319, 0.2313, 0.2321, 0.2332, 0.2346, 0.2358, 0.2471",\
                 "0.2472, 0.2445, 0.2405, 0.2382, 0.2374, 0.2383, 0.2394, 0.2409, 0.2424, 0.2556",\
                 "0.2565, 0.2537, 0.2495, 0.2468, 0.2469, 0.2482, 0.2484, 0.2494, 0.2513, 0.2674",\
                 "0.2686, 0.2661, 0.2617, 0.259, 0.2585, 0.2598, 0.2627, 0.2632, 0.2643, 0.2839",\
                 "0.2844, 0.2818, 0.2778, 0.2746, 0.2739, 0.2742, 0.2757, 0.2801, 0.2825, 0.3065",\
                 "0.3038, 0.3012, 0.2972, 0.2944, 0.2935, 0.2933, 0.2939, 0.2969, 0.3038, 0.339");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.3004, 0.2975, 0.2938, 0.2922, 0.2911, 0.2907, 0.2905, 0.2904, 0.2903, 0.2902",\
                 "0.3005, 0.2976, 0.294, 0.2924, 0.2913, 0.2909, 0.2906, 0.2905, 0.2904, 0.2903",\
                 "0.3008, 0.2979, 0.2944, 0.2927, 0.2916, 0.2912, 0.2909, 0.2908, 0.2907, 0.2907",\
                 "0.3023, 0.2994, 0.2958, 0.2942, 0.293, 0.2925, 0.2924, 0.2922, 0.2922, 0.2921",\
                 "0.3057, 0.3027, 0.2991, 0.2974, 0.2964, 0.296, 0.2957, 0.2956, 0.2955, 0.2955",\
                 "0.3119, 0.3089, 0.3053, 0.3034, 0.3026, 0.3021, 0.3019, 0.3018, 0.3017, 0.3016",\
                 "0.3211, 0.318, 0.3144, 0.3125, 0.3117, 0.3113, 0.3111, 0.3109, 0.3108, 0.3108",\
                 "0.3333, 0.3303, 0.3267, 0.3248, 0.3239, 0.3235, 0.3232, 0.3231, 0.323, 0.323",\
                 "0.3491, 0.346, 0.3424, 0.3406, 0.3398, 0.3393, 0.3391, 0.3389, 0.3388, 0.3388",\
                 "0.3682, 0.3653, 0.3618, 0.3599, 0.3591, 0.3587, 0.3582, 0.358, 0.3579, 0.3579");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.257, 0.2556, 0.2541, 0.2542, 0.2551, 0.2562, 0.2575, 0.259, 0.2615, 0.2694",\
                 "0.256, 0.2546, 0.2531, 0.2531, 0.2545, 0.2553, 0.2564, 0.258, 0.2595, 0.2696",\
                 "0.2564, 0.255, 0.2533, 0.2532, 0.2543, 0.2554, 0.2569, 0.258, 0.2605, 0.2692",\
                 "0.259, 0.2576, 0.256, 0.2565, 0.2574, 0.2581, 0.2595, 0.2607, 0.2638, 0.2738",\
                 "0.2647, 0.2632, 0.2619, 0.2622, 0.2633, 0.2639, 0.2653, 0.2663, 0.2691, 0.282",\
                 "0.2736, 0.272, 0.2705, 0.2709, 0.2719, 0.2726, 0.274, 0.2751, 0.2788, 0.2959",\
                 "0.2857, 0.2841, 0.2826, 0.2829, 0.2836, 0.2848, 0.2862, 0.2873, 0.2901, 0.3162",\
                 "0.3016, 0.3002, 0.2984, 0.2987, 0.3, 0.3009, 0.3016, 0.3034, 0.3086, 0.3465",\
                 "0.3215, 0.3202, 0.3186, 0.3187, 0.32, 0.3218, 0.3227, 0.3235, 0.3323, 0.3983",\
                 "0.3461, 0.3446, 0.3428, 0.3436, 0.3433, 0.3448, 0.3478, 0.3498, 0.3674, 0.4884");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.187, 0.1821, 0.1748, 0.1709, 0.1687, 0.1674, 0.1665, 0.166, 0.1656, 0.1654",\
                 "0.1871, 0.1822, 0.1749, 0.171, 0.1687, 0.1675, 0.1666, 0.1662, 0.1657, 0.1655",\
                 "0.1874, 0.1825, 0.1752, 0.1714, 0.169, 0.1677, 0.1669, 0.1664, 0.166, 0.1657",\
                 "0.1891, 0.1842, 0.1768, 0.173, 0.1707, 0.1694, 0.1686, 0.1681, 0.1677, 0.1674",\
                 "0.1941, 0.1891, 0.1817, 0.1775, 0.1752, 0.174, 0.1731, 0.1726, 0.1722, 0.172",\
                 "0.2029, 0.1978, 0.1901, 0.1861, 0.1837, 0.1822, 0.1813, 0.1807, 0.1803, 0.18",\
                 "0.2164, 0.2111, 0.2033, 0.1989, 0.1964, 0.195, 0.1941, 0.1934, 0.1931, 0.1928",\
                 "0.2349, 0.2295, 0.2214, 0.2165, 0.2139, 0.2124, 0.2114, 0.2108, 0.2104, 0.2102",\
                 "0.258, 0.2526, 0.2441, 0.2389, 0.2362, 0.2347, 0.2337, 0.2331, 0.2326, 0.2323",\
                 "0.2863, 0.2808, 0.272, 0.2666, 0.2636, 0.262, 0.2609, 0.2603, 0.2599, 0.2596");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2389, 0.2362, 0.232, 0.2293, 0.2286, 0.2295, 0.2303, 0.2314, 0.2333, 0.2413",\
                 "0.2386, 0.2359, 0.2315, 0.229, 0.2283, 0.229, 0.23, 0.2314, 0.2329, 0.2409",\
                 "0.2386, 0.236, 0.2318, 0.2292, 0.2285, 0.2293, 0.23, 0.2314, 0.2329, 0.2409",\
                 "0.2409, 0.2383, 0.2339, 0.2313, 0.2307, 0.2315, 0.2321, 0.2331, 0.2349, 0.245",\
                 "0.2475, 0.2447, 0.2403, 0.2378, 0.2371, 0.2378, 0.2391, 0.2397, 0.2419, 0.2526",\
                 "0.2604, 0.2576, 0.2529, 0.2503, 0.2492, 0.2499, 0.2506, 0.2522, 0.2538, 0.2695",\
                 "0.2781, 0.2753, 0.2701, 0.2671, 0.266, 0.2663, 0.267, 0.268, 0.2711, 0.2929",\
                 "0.3016, 0.2985, 0.2929, 0.2894, 0.2884, 0.2891, 0.289, 0.2901, 0.2937, 0.3278",\
                 "0.3312, 0.3279, 0.3223, 0.318, 0.3158, 0.3172, 0.3182, 0.319, 0.3243, 0.3809",\
                 "0.3673, 0.3636, 0.3577, 0.3529, 0.3498, 0.3495, 0.3522, 0.3541, 0.3682, 0.469");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.3026, 0.2996, 0.2961, 0.2942, 0.2933, 0.2929, 0.2927, 0.2926, 0.2925, 0.2925",\
                 "0.3022, 0.2993, 0.2958, 0.2939, 0.293, 0.2926, 0.2923, 0.2922, 0.2921, 0.2921",\
                 "0.3024, 0.2994, 0.2959, 0.2943, 0.2931, 0.2928, 0.2925, 0.2924, 0.2923, 0.2922",\
                 "0.3047, 0.3017, 0.2981, 0.2966, 0.2953, 0.2949, 0.2946, 0.2945, 0.2944, 0.2944",\
                 "0.3109, 0.3079, 0.3044, 0.3028, 0.3016, 0.3012, 0.301, 0.3009, 0.3008, 0.3007",\
                 "0.3221, 0.3191, 0.3156, 0.3137, 0.3128, 0.3124, 0.3122, 0.312, 0.3119, 0.3119",\
                 "0.3378, 0.3348, 0.3311, 0.3294, 0.3284, 0.328, 0.3277, 0.3276, 0.3275, 0.3275",\
                 "0.3585, 0.3555, 0.352, 0.3502, 0.3492, 0.349, 0.3485, 0.3484, 0.3484, 0.3483",\
                 "0.3848, 0.3817, 0.3781, 0.3765, 0.3754, 0.3749, 0.3748, 0.3746, 0.3745, 0.3745",\
                 "0.4167, 0.4137, 0.4099, 0.4081, 0.4073, 0.4068, 0.4066, 0.4065, 0.4064, 0.4063");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1834, 0.1821, 0.1805, 0.1806, 0.1813, 0.1827, 0.1839, 0.1856, 0.1877, 0.1955",\
                 "0.1835, 0.1821, 0.1805, 0.1807, 0.1816, 0.1828, 0.1844, 0.1853, 0.1871, 0.1948",\
                 "0.1838, 0.1825, 0.1808, 0.181, 0.1817, 0.183, 0.1842, 0.186, 0.1884, 0.1964",\
                 "0.1859, 0.1844, 0.1829, 0.1829, 0.184, 0.1853, 0.1864, 0.1879, 0.1904, 0.1996",\
                 "0.1905, 0.1891, 0.1874, 0.1875, 0.1883, 0.1896, 0.191, 0.1929, 0.1944, 0.2061",\
                 "0.1989, 0.1973, 0.1954, 0.1963, 0.1971, 0.1981, 0.1992, 0.2005, 0.202, 0.2168",\
                 "0.2113, 0.2098, 0.2079, 0.2073, 0.209, 0.2109, 0.2121, 0.2126, 0.2149, 0.2307",\
                 "0.2282, 0.2267, 0.2248, 0.2247, 0.2253, 0.2274, 0.23, 0.2308, 0.2322, 0.2516",\
                 "0.2493, 0.2478, 0.2461, 0.2455, 0.246, 0.2467, 0.2496, 0.2539, 0.2561, 0.2824",\
                 "0.2754, 0.2737, 0.2721, 0.2722, 0.2729, 0.274, 0.2743, 0.2772, 0.2853, 0.3232");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1768, 0.1721, 0.1652, 0.1616, 0.1594, 0.1583, 0.1575, 0.1569, 0.1566, 0.1563",\
                 "0.1754, 0.1707, 0.164, 0.1602, 0.1582, 0.157, 0.1561, 0.1557, 0.1553, 0.155",\
                 "0.1746, 0.1699, 0.163, 0.1594, 0.1573, 0.1561, 0.1553, 0.1548, 0.1544, 0.1542",\
                 "0.1805, 0.1756, 0.1682, 0.164, 0.1617, 0.1603, 0.1595, 0.1589, 0.1586, 0.1584",\
                 "0.1987, 0.1927, 0.183, 0.1769, 0.1735, 0.1715, 0.1704, 0.1696, 0.1691, 0.1688",\
                 "0.2241, 0.2172, 0.205, 0.1971, 0.1925, 0.1896, 0.188, 0.1869, 0.1861, 0.1856",\
                 "0.2585, 0.2506, 0.236, 0.2257, 0.2193, 0.2154, 0.2128, 0.2112, 0.2102, 0.2095",\
                 "0.3029, 0.294, 0.2766, 0.2634, 0.2548, 0.2495, 0.246, 0.2438, 0.2423, 0.2412",\
                 "0.3574, 0.3475, 0.327, 0.3108, 0.2998, 0.2927, 0.2879, 0.2849, 0.2827, 0.2813",\
                 "0.422, 0.4112, 0.3879, 0.3682, 0.3547, 0.3454, 0.3394, 0.335, 0.3322, 0.3302");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.08757, 0.0863, 0.08558, 0.08604, 0.08707, 0.08853, 0.08998, 0.09123, 0.09269, 0.1001",\
                 "0.08781, 0.08673, 0.08585, 0.08627, 0.08734, 0.08879, 0.08985, 0.09156, 0.09401, 0.1011",\
                 "0.08903, 0.08777, 0.08634, 0.08667, 0.0878, 0.08912, 0.09028, 0.09222, 0.09368, 0.1004",\
                 "0.09676, 0.09472, 0.09241, 0.09119, 0.09153, 0.09246, 0.09404, 0.09519, 0.09698, 0.1051",\
                 "0.1112, 0.1083, 0.1034, 0.1017, 0.1007, 0.1009, 0.102, 0.1031, 0.1053, 0.1144",\
                 "0.1334, 0.1294, 0.1227, 0.1186, 0.1173, 0.1166, 0.1165, 0.1176, 0.1188, 0.1307",\
                 "0.1636, 0.1588, 0.15, 0.143, 0.1393, 0.1391, 0.1388, 0.1378, 0.14, 0.1519",\
                 "0.2022, 0.1961, 0.1855, 0.1767, 0.1704, 0.1673, 0.1682, 0.1684, 0.1694, 0.1833",\
                 "0.2495, 0.2419, 0.2289, 0.2182, 0.2098, 0.2055, 0.203, 0.2047, 0.2061, 0.2277",\
                 "0.3062, 0.2968, 0.2819, 0.2695, 0.2588, 0.2519, 0.2465, 0.2466, 0.2532, 0.2851");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1889, 0.1861, 0.1824, 0.1806, 0.1796, 0.1791, 0.1789, 0.1788, 0.1787, 0.1786",\
                 "0.1886, 0.1857, 0.1821, 0.1803, 0.1792, 0.1788, 0.1787, 0.1785, 0.1784, 0.1783",\
                 "0.1871, 0.1842, 0.1806, 0.1789, 0.1778, 0.1776, 0.1773, 0.1771, 0.1769, 0.1769",\
                 "0.1876, 0.1847, 0.181, 0.1792, 0.1783, 0.1778, 0.1775, 0.1773, 0.1773, 0.1772",\
                 "0.193, 0.1901, 0.1867, 0.1847, 0.1838, 0.1834, 0.1833, 0.183, 0.183, 0.1829",\
                 "0.2051, 0.202, 0.1982, 0.1965, 0.1952, 0.195, 0.1947, 0.1945, 0.1944, 0.1943",\
                 "0.2235, 0.2201, 0.2159, 0.2137, 0.2125, 0.212, 0.2118, 0.2116, 0.2115, 0.2114",\
                 "0.2477, 0.2442, 0.2396, 0.2372, 0.2358, 0.2352, 0.2349, 0.2348, 0.2347, 0.2346",\
                 "0.2788, 0.275, 0.27, 0.2671, 0.2656, 0.2649, 0.2645, 0.2643, 0.2642, 0.2641",\
                 "0.3152, 0.3114, 0.3057, 0.3026, 0.3008, 0.3, 0.2994, 0.2992, 0.299, 0.2989");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2025, 0.2009, 0.1986, 0.1981, 0.1987, 0.1999, 0.201, 0.2025, 0.204, 0.2122",\
                 "0.2023, 0.2006, 0.1985, 0.1978, 0.1985, 0.1996, 0.2007, 0.2022, 0.2037, 0.212",\
                 "0.2031, 0.2013, 0.1991, 0.1986, 0.1993, 0.2004, 0.2014, 0.2029, 0.2043, 0.2136",\
                 "0.2068, 0.2051, 0.203, 0.2023, 0.2028, 0.2041, 0.2057, 0.2068, 0.2083, 0.2182",\
                 "0.2157, 0.214, 0.2117, 0.211, 0.2115, 0.2128, 0.2141, 0.2151, 0.2175, 0.2268",\
                 "0.2303, 0.2286, 0.2262, 0.2258, 0.2259, 0.2272, 0.2283, 0.2296, 0.2318, 0.2439",\
                 "0.2516, 0.2497, 0.2467, 0.2457, 0.2472, 0.2479, 0.2488, 0.251, 0.2523, 0.2701",\
                 "0.2799, 0.2778, 0.2746, 0.2727, 0.2732, 0.2754, 0.2769, 0.2777, 0.2805, 0.3062",\
                 "0.3148, 0.3126, 0.3092, 0.3073, 0.3064, 0.3081, 0.3111, 0.3126, 0.3175, 0.3572",\
                 "0.3574, 0.3546, 0.351, 0.348, 0.3479, 0.3471, 0.3497, 0.3541, 0.3628, 0.4353");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1889, 0.186, 0.1823, 0.1806, 0.1796, 0.1791, 0.1789, 0.1787, 0.1786, 0.1786",\
                 "0.1886, 0.1857, 0.1821, 0.1802, 0.1792, 0.179, 0.1785, 0.1786, 0.1783, 0.1784",\
                 "0.1871, 0.1842, 0.1806, 0.1789, 0.1778, 0.1776, 0.1772, 0.1771, 0.1769, 0.1769",\
                 "0.1876, 0.1847, 0.181, 0.1792, 0.1783, 0.1778, 0.1775, 0.1774, 0.1773, 0.1772",\
                 "0.193, 0.1901, 0.1867, 0.1847, 0.1838, 0.1834, 0.1833, 0.183, 0.183, 0.1829",\
                 "0.2051, 0.202, 0.1982, 0.1965, 0.1952, 0.1949, 0.1947, 0.1945, 0.1944, 0.1944",\
                 "0.2234, 0.2202, 0.2159, 0.2137, 0.2125, 0.212, 0.2118, 0.2116, 0.2115, 0.2114",\
                 "0.2477, 0.2442, 0.2396, 0.2372, 0.2358, 0.2353, 0.235, 0.2348, 0.2347, 0.2346",\
                 "0.2788, 0.275, 0.2701, 0.2671, 0.2656, 0.265, 0.2645, 0.2643, 0.2642, 0.2641",\
                 "0.3152, 0.3114, 0.3057, 0.3026, 0.3008, 0.3, 0.2994, 0.2992, 0.299, 0.2989");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2024, 0.2009, 0.1987, 0.1981, 0.1987, 0.1998, 0.2011, 0.2025, 0.2043, 0.2133",\
                 "0.2021, 0.2006, 0.1985, 0.1978, 0.1985, 0.1996, 0.2006, 0.2022, 0.2037, 0.212",\
                 "0.2031, 0.2013, 0.1991, 0.1986, 0.1993, 0.2004, 0.2014, 0.2029, 0.2043, 0.2136",\
                 "0.2069, 0.205, 0.2029, 0.2023, 0.2033, 0.2044, 0.2055, 0.2068, 0.2086, 0.2165",\
                 "0.2156, 0.2139, 0.2116, 0.211, 0.2117, 0.2129, 0.2143, 0.2154, 0.2175, 0.2268",\
                 "0.2304, 0.2286, 0.2262, 0.2258, 0.2259, 0.2272, 0.2283, 0.2296, 0.2315, 0.2447",\
                 "0.2519, 0.2498, 0.2467, 0.2456, 0.2473, 0.248, 0.2488, 0.251, 0.2537, 0.2701",\
                 "0.2799, 0.2778, 0.2746, 0.2727, 0.2732, 0.2754, 0.2769, 0.2777, 0.2805, 0.3062",\
                 "0.315, 0.3127, 0.3087, 0.3073, 0.3066, 0.3082, 0.3111, 0.3123, 0.3168, 0.3588",\
                 "0.3572, 0.3546, 0.351, 0.348, 0.3473, 0.3472, 0.3497, 0.3541, 0.3628, 0.4331");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1767, 0.1721, 0.1652, 0.1616, 0.1594, 0.1583, 0.1575, 0.157, 0.1566, 0.1563",\
                 "0.1754, 0.1707, 0.164, 0.1602, 0.1582, 0.157, 0.1561, 0.1556, 0.1552, 0.155",\
                 "0.1746, 0.1699, 0.1631, 0.1594, 0.1572, 0.1561, 0.1553, 0.1548, 0.1545, 0.1542",\
                 "0.1805, 0.1756, 0.1681, 0.164, 0.1617, 0.1603, 0.1595, 0.1589, 0.1586, 0.1584",\
                 "0.1987, 0.1926, 0.183, 0.1769, 0.1735, 0.1716, 0.1704, 0.1696, 0.1691, 0.1687",\
                 "0.2241, 0.2172, 0.2052, 0.1973, 0.1924, 0.1897, 0.188, 0.1869, 0.1861, 0.1856",\
                 "0.2586, 0.2506, 0.236, 0.2257, 0.2193, 0.2154, 0.2128, 0.2112, 0.2102, 0.2095",\
                 "0.3029, 0.2941, 0.2766, 0.2635, 0.2549, 0.2496, 0.246, 0.2438, 0.2423, 0.2412",\
                 "0.3574, 0.3474, 0.3269, 0.3107, 0.2999, 0.2927, 0.288, 0.2848, 0.2827, 0.2813",\
                 "0.4219, 0.4113, 0.3878, 0.3682, 0.3547, 0.3454, 0.3393, 0.3351, 0.3321, 0.3301");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.08762, 0.0863, 0.08558, 0.08604, 0.08708, 0.08843, 0.08988, 0.0909, 0.09269, 0.1001",\
                 "0.08781, 0.08673, 0.08585, 0.08634, 0.08734, 0.08876, 0.09015, 0.09123, 0.09401, 0.1008",\
                 "0.08897, 0.08773, 0.08631, 0.08661, 0.08777, 0.08912, 0.09041, 0.09189, 0.09434, 0.1014",\
                 "0.09694, 0.09492, 0.09245, 0.09126, 0.0916, 0.09256, 0.09381, 0.09585, 0.09764, 0.1048",\
                 "0.1112, 0.1083, 0.1033, 0.1017, 0.1006, 0.1008, 0.1019, 0.1031, 0.1049, 0.1131",\
                 "0.1333, 0.1295, 0.123, 0.1182, 0.1172, 0.1166, 0.1164, 0.117, 0.1194, 0.1304",\
                 "0.1637, 0.1587, 0.1501, 0.143, 0.1392, 0.1389, 0.139, 0.1388, 0.1403, 0.1519",\
                 "0.2022, 0.1961, 0.1857, 0.1766, 0.1709, 0.1672, 0.1682, 0.169, 0.1684, 0.183",\
                 "0.2496, 0.2418, 0.2294, 0.2176, 0.21, 0.2057, 0.2033, 0.2053, 0.2065, 0.2273",\
                 "0.306, 0.2971, 0.2821, 0.2682, 0.2579, 0.2521, 0.247, 0.2469, 0.2522, 0.2851");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.58, 1.617, 1.713, 1.855, 2.053, 2.323, 2.676, 3.121, 3.663, 4.31",\
                 "1.594, 1.631, 1.727, 1.869, 2.067, 2.337, 2.69, 3.134, 3.677, 4.324",\
                 "1.632, 1.669, 1.765, 1.907, 2.105, 2.375, 2.728, 3.172, 3.715, 4.361",\
                 "1.654, 1.691, 1.787, 1.929, 2.128, 2.397, 2.75, 3.195, 3.738, 4.385",\
                 "1.643, 1.679, 1.775, 1.918, 2.116, 2.385, 2.738, 3.183, 3.725, 4.372",\
                 "1.59, 1.627, 1.723, 1.866, 2.063, 2.333, 2.686, 3.13, 3.673, 4.32",\
                 "1.485, 1.522, 1.618, 1.76, 1.958, 2.228, 2.581, 3.025, 3.568, 4.215",\
                 "1.329, 1.365, 1.462, 1.604, 1.802, 2.071, 2.424, 2.869, 3.411, 4.058",\
                 "1.117, 1.154, 1.25, 1.392, 1.59, 1.86, 2.213, 2.657, 3.2, 3.847",\
                 "0.8501, 0.8857, 0.9816, 1.124, 1.322, 1.592, 1.945, 2.389, 2.933, 3.579");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.496, 1.539, 1.668, 1.894, 2.243, 2.731, 3.373, 4.18, 5.168, 6.344",\
                 "1.503, 1.546, 1.675, 1.901, 2.249, 2.737, 3.378, 4.187, 5.175, 6.347",\
                 "1.539, 1.582, 1.711, 1.938, 2.286, 2.774, 3.415, 4.223, 5.212, 6.384",\
                 "1.635, 1.678, 1.808, 2.034, 2.382, 2.87, 3.512, 4.32, 5.308, 6.48",\
                 "1.811, 1.853, 1.983, 2.209, 2.557, 3.045, 3.687, 4.496, 5.48, 6.659",\
                 "2.058, 2.101, 2.23, 2.456, 2.804, 3.293, 3.934, 4.743, 5.728, 6.905",\
                 "2.377, 2.42, 2.549, 2.776, 3.124, 3.612, 4.253, 5.06, 6.049, 7.223",\
                 "2.767, 2.811, 2.94, 3.166, 3.514, 4.002, 4.642, 5.451, 6.437, 7.613",\
                 "3.224, 3.267, 3.397, 3.623, 3.971, 4.458, 5.1, 5.907, 6.892, 8.07",\
                 "3.747, 3.79, 3.919, 4.146, 4.493, 4.98, 5.622, 6.431, 7.416, 8.591");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1238, 0.1574, 0.2576, 0.437, 0.7358, 1.177, 1.766, 2.514, 3.427, 4.513",\
                 "0.1238, 0.1574, 0.2562, 0.4368, 0.7368, 1.177, 1.767, 2.514, 3.422, 4.508",\
                 "0.124, 0.157, 0.2564, 0.4368, 0.7356, 1.175, 1.767, 2.514, 3.426, 4.514",\
                 "0.1242, 0.1572, 0.2568, 0.4362, 0.7358, 1.175, 1.766, 2.513, 3.427, 4.514",\
                 "0.1238, 0.1572, 0.257, 0.4366, 0.736, 1.177, 1.765, 2.514, 3.422, 4.511",\
                 "0.1242, 0.1572, 0.2568, 0.4364, 0.7368, 1.175, 1.767, 2.514, 3.424, 4.514",\
                 "0.124, 0.1574, 0.2572, 0.437, 0.7358, 1.176, 1.764, 2.509, 3.422, 4.508",\
                 "0.1238, 0.157, 0.257, 0.4368, 0.736, 1.176, 1.765, 2.512, 3.418, 4.505",\
                 "0.124, 0.1574, 0.2568, 0.4364, 0.7354, 1.177, 1.765, 2.512, 3.422, 4.505",\
                 "0.1238, 0.1572, 0.257, 0.4366, 0.7364, 1.176, 1.767, 2.511, 3.421, 4.504");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1286, 0.1854, 0.3762, 0.7546, 1.363, 2.222, 3.352, 4.778, 6.52, 8.59",\
                 "0.1288, 0.1854, 0.3756, 0.7544, 1.365, 2.226, 3.352, 4.781, 6.517, 8.584",\
                 "0.1292, 0.186, 0.3756, 0.7544, 1.363, 2.226, 3.352, 4.78, 6.516, 8.585",\
                 "0.1292, 0.1856, 0.376, 0.7542, 1.363, 2.222, 3.353, 4.783, 6.519, 8.593",\
                 "0.1286, 0.1858, 0.3758, 0.7542, 1.365, 2.221, 3.354, 4.777, 6.517, 8.586",\
                 "0.1288, 0.1856, 0.3758, 0.7548, 1.365, 2.221, 3.353, 4.779, 6.517, 8.59",\
                 "0.1286, 0.1856, 0.3764, 0.7544, 1.362, 2.222, 3.352, 4.775, 6.519, 8.599",\
                 "0.1284, 0.1856, 0.3758, 0.7546, 1.364, 2.222, 3.356, 4.777, 6.518, 8.59",\
                 "0.1286, 0.1862, 0.3758, 0.755, 1.365, 2.22, 3.351, 4.779, 6.511, 8.585",\
                 "0.1286, 0.1858, 0.3758, 0.7546, 1.365, 2.225, 3.352, 4.774, 6.514, 8.578");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.8252, 0.8687, 0.984, 1.152, 1.37, 1.649, 2.006, 2.451, 2.993, 3.64",\
                 "0.8372, 0.8808, 0.9961, 1.164, 1.382, 1.661, 2.018, 2.463, 3.006, 3.652",\
                 "0.8796, 0.9232, 1.038, 1.206, 1.424, 1.704, 2.06, 2.505, 3.048, 3.695",\
                 "0.9503, 0.9942, 1.11, 1.277, 1.495, 1.775, 2.131, 2.576, 3.119, 3.766",\
                 "1.009, 1.053, 1.168, 1.336, 1.554, 1.834, 2.19, 2.635, 3.178, 3.825",\
                 "1.041, 1.085, 1.201, 1.369, 1.587, 1.867, 2.223, 2.668, 3.211, 3.858",\
                 "1.042, 1.086, 1.202, 1.37, 1.589, 1.869, 2.225, 2.67, 3.213, 3.859",\
                 "1.005, 1.049, 1.165, 1.335, 1.553, 1.834, 2.19, 2.635, 3.178, 3.824",\
                 "0.9252, 0.9699, 1.087, 1.258, 1.477, 1.757, 2.114, 2.559, 3.102, 3.748",\
                 "0.8011, 0.8464, 0.9647, 1.135, 1.355, 1.636, 1.993, 2.438, 2.98, 3.627");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.055, 1.099, 1.229, 1.455, 1.803, 2.29, 2.931, 3.739, 4.725, 5.901",\
                 "1.068, 1.112, 1.243, 1.468, 1.816, 2.303, 2.945, 3.752, 4.737, 5.914",\
                 "1.121, 1.165, 1.296, 1.521, 1.869, 2.356, 2.997, 3.805, 4.791, 5.967",\
                 "1.243, 1.287, 1.417, 1.643, 1.991, 2.478, 3.119, 3.927, 4.913, 6.089",\
                 "1.448, 1.492, 1.622, 1.848, 2.196, 2.683, 3.324, 4.132, 5.118, 6.293",\
                 "1.719, 1.763, 1.893, 2.12, 2.467, 2.954, 3.595, 4.403, 5.389, 6.565",\
                 "2.043, 2.087, 2.218, 2.444, 2.791, 3.278, 3.919, 4.726, 5.712, 6.889",\
                 "2.425, 2.47, 2.6, 2.825, 3.172, 3.659, 4.299, 5.107, 6.092, 7.269",\
                 "2.863, 2.908, 3.039, 3.265, 3.611, 4.097, 4.737, 5.545, 6.53, 7.705",\
                 "3.355, 3.4, 3.532, 3.758, 4.103, 4.59, 5.231, 6.038, 7.023, 8.197");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1589, 0.2007, 0.318, 0.5098, 0.7972, 1.216, 1.787, 2.526, 3.436, 4.523",\
                 "0.159, 0.2005, 0.318, 0.51, 0.7984, 1.215, 1.787, 2.525, 3.436, 4.523",\
                 "0.1592, 0.2006, 0.318, 0.5096, 0.7986, 1.215, 1.787, 2.526, 3.433, 4.518",\
                 "0.1598, 0.2008, 0.3184, 0.5106, 0.7974, 1.214, 1.789, 2.527, 3.436, 4.524",\
                 "0.16, 0.202, 0.3196, 0.5108, 0.7982, 1.217, 1.787, 2.527, 3.432, 4.518",\
                 "0.1612, 0.203, 0.321, 0.5112, 0.7974, 1.216, 1.787, 2.526, 3.437, 4.524",\
                 "0.163, 0.2052, 0.3232, 0.5128, 0.8006, 1.215, 1.786, 2.524, 3.431, 4.522",\
                 "0.1652, 0.2078, 0.3248, 0.5156, 0.802, 1.218, 1.787, 2.523, 3.43, 4.515",\
                 "0.1682, 0.2104, 0.3282, 0.5178, 0.8028, 1.218, 1.79, 2.525, 3.432, 4.516",\
                 "0.1708, 0.2132, 0.3308, 0.5224, 0.8048, 1.22, 1.79, 2.524, 3.431, 4.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1412, 0.1984, 0.3858, 0.7606, 1.367, 2.226, 3.355, 4.774, 6.513, 8.588",\
                 "0.1414, 0.1982, 0.386, 0.7618, 1.367, 2.226, 3.358, 4.777, 6.516, 8.589",\
                 "0.141, 0.1984, 0.3858, 0.7618, 1.367, 2.226, 3.358, 4.777, 6.514, 8.588",\
                 "0.141, 0.197, 0.386, 0.7608, 1.366, 2.226, 3.356, 4.775, 6.512, 8.586",\
                 "0.1414, 0.1974, 0.3862, 0.7602, 1.366, 2.224, 3.354, 4.775, 6.513, 8.581",\
                 "0.1422, 0.199, 0.3874, 0.761, 1.367, 2.227, 3.357, 4.774, 6.513, 8.587",\
                 "0.144, 0.2002, 0.388, 0.7616, 1.367, 2.224, 3.357, 4.776, 6.512, 8.586",\
                 "0.1462, 0.202, 0.3898, 0.7624, 1.369, 2.223, 3.354, 4.784, 6.513, 8.584",\
                 "0.1492, 0.2054, 0.3918, 0.7634, 1.368, 2.225, 3.357, 4.774, 6.512, 8.584",\
                 "0.1548, 0.2104, 0.3952, 0.7642, 1.369, 2.227, 3.352, 4.778, 6.52, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.58, 1.617, 1.713, 1.855, 2.053, 2.323, 2.676, 3.121, 3.663, 4.31",\
                 "1.594, 1.631, 1.727, 1.869, 2.067, 2.337, 2.69, 3.134, 3.677, 4.324",\
                 "1.632, 1.669, 1.765, 1.907, 2.105, 2.375, 2.728, 3.172, 3.715, 4.361",\
                 "1.654, 1.691, 1.787, 1.929, 2.128, 2.397, 2.75, 3.195, 3.738, 4.385",\
                 "1.643, 1.679, 1.775, 1.918, 2.116, 2.385, 2.738, 3.183, 3.725, 4.372",\
                 "1.59, 1.627, 1.723, 1.866, 2.063, 2.333, 2.686, 3.13, 3.673, 4.32",\
                 "1.485, 1.522, 1.618, 1.76, 1.958, 2.228, 2.581, 3.025, 3.568, 4.215",\
                 "1.329, 1.365, 1.462, 1.604, 1.802, 2.071, 2.424, 2.869, 3.411, 4.058",\
                 "1.117, 1.154, 1.25, 1.392, 1.59, 1.86, 2.213, 2.657, 3.2, 3.847",\
                 "0.8501, 0.8857, 0.9816, 1.124, 1.322, 1.592, 1.945, 2.389, 2.933, 3.579");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.496, 1.539, 1.668, 1.894, 2.243, 2.731, 3.373, 4.18, 5.168, 6.344",\
                 "1.503, 1.546, 1.675, 1.901, 2.249, 2.737, 3.378, 4.187, 5.175, 6.347",\
                 "1.539, 1.582, 1.711, 1.938, 2.286, 2.774, 3.415, 4.223, 5.212, 6.384",\
                 "1.635, 1.678, 1.808, 2.034, 2.382, 2.87, 3.512, 4.32, 5.308, 6.48",\
                 "1.811, 1.853, 1.983, 2.209, 2.557, 3.045, 3.687, 4.496, 5.48, 6.659",\
                 "2.058, 2.101, 2.23, 2.456, 2.804, 3.293, 3.934, 4.743, 5.728, 6.905",\
                 "2.377, 2.42, 2.549, 2.776, 3.124, 3.612, 4.253, 5.06, 6.049, 7.223",\
                 "2.767, 2.811, 2.94, 3.166, 3.514, 4.002, 4.642, 5.451, 6.437, 7.613",\
                 "3.224, 3.267, 3.397, 3.623, 3.971, 4.458, 5.1, 5.907, 6.892, 8.07",\
                 "3.747, 3.79, 3.919, 4.146, 4.493, 4.98, 5.622, 6.431, 7.416, 8.591");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1589, 0.2007, 0.318, 0.5098, 0.7972, 1.216, 1.787, 2.526, 3.436, 4.523",\
                 "0.159, 0.2005, 0.318, 0.51, 0.7984, 1.215, 1.787, 2.525, 3.436, 4.523",\
                 "0.1592, 0.2006, 0.318, 0.5096, 0.7986, 1.215, 1.787, 2.526, 3.433, 4.518",\
                 "0.1598, 0.2008, 0.3184, 0.5106, 0.7974, 1.214, 1.789, 2.527, 3.436, 4.524",\
                 "0.16, 0.202, 0.3196, 0.5108, 0.7982, 1.217, 1.787, 2.527, 3.432, 4.518",\
                 "0.1612, 0.203, 0.321, 0.5112, 0.7974, 1.216, 1.787, 2.526, 3.437, 4.524",\
                 "0.163, 0.2052, 0.3232, 0.5128, 0.8006, 1.215, 1.786, 2.524, 3.431, 4.522",\
                 "0.1652, 0.2078, 0.3248, 0.5156, 0.802, 1.218, 1.787, 2.523, 3.43, 4.515",\
                 "0.1682, 0.2104, 0.3282, 0.5178, 0.8028, 1.218, 1.79, 2.525, 3.432, 4.516",\
                 "0.1708, 0.2132, 0.3308, 0.5224, 0.8048, 1.22, 1.79, 2.524, 3.431, 4.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1286, 0.1854, 0.3762, 0.7546, 1.363, 2.222, 3.352, 4.778, 6.52, 8.59",\
                 "0.1288, 0.1854, 0.3756, 0.7544, 1.365, 2.226, 3.352, 4.781, 6.517, 8.584",\
                 "0.1292, 0.186, 0.3756, 0.7544, 1.363, 2.226, 3.352, 4.78, 6.516, 8.585",\
                 "0.1292, 0.1856, 0.376, 0.7542, 1.363, 2.222, 3.353, 4.783, 6.519, 8.593",\
                 "0.1286, 0.1858, 0.3758, 0.7542, 1.365, 2.221, 3.354, 4.777, 6.517, 8.586",\
                 "0.1288, 0.1856, 0.3758, 0.7548, 1.365, 2.221, 3.353, 4.779, 6.517, 8.59",\
                 "0.1286, 0.1856, 0.3764, 0.7544, 1.362, 2.222, 3.352, 4.775, 6.519, 8.599",\
                 "0.1284, 0.1856, 0.3758, 0.7546, 1.364, 2.222, 3.356, 4.777, 6.518, 8.59",\
                 "0.1286, 0.1862, 0.3758, 0.755, 1.365, 2.22, 3.351, 4.779, 6.511, 8.585",\
                 "0.1286, 0.1858, 0.3758, 0.7546, 1.365, 2.225, 3.352, 4.774, 6.514, 8.578");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.387, 1.43, 1.545, 1.713, 1.93, 2.21, 2.567, 3.012, 3.554, 4.201",\
                 "1.394, 1.437, 1.552, 1.72, 1.937, 2.217, 2.573, 3.018, 3.561, 4.208",\
                 "1.43, 1.474, 1.589, 1.756, 1.974, 2.254, 2.61, 3.055, 3.598, 4.244",\
                 "1.527, 1.57, 1.685, 1.853, 2.07, 2.35, 2.706, 3.151, 3.694, 4.341",\
                 "1.701, 1.745, 1.86, 2.027, 2.245, 2.524, 2.881, 3.326, 3.868, 4.515",\
                 "1.948, 1.992, 2.107, 2.274, 2.492, 2.771, 3.128, 3.573, 4.115, 4.763",\
                 "2.267, 2.31, 2.425, 2.592, 2.81, 3.09, 3.446, 3.891, 4.434, 5.081",\
                 "2.654, 2.698, 2.813, 2.98, 3.198, 3.478, 3.834, 4.279, 4.822, 5.469",\
                 "3.109, 3.153, 3.268, 3.435, 3.653, 3.933, 4.289, 4.734, 5.276, 5.923",\
                 "3.63, 3.673, 3.788, 3.955, 4.172, 4.452, 4.809, 5.254, 5.797, 6.443");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.308, 1.352, 1.482, 1.708, 2.055, 2.543, 3.184, 3.991, 4.977, 6.153",\
                 "1.321, 1.365, 1.496, 1.722, 2.069, 2.556, 3.198, 4.005, 4.991, 6.167",\
                 "1.359, 1.403, 1.534, 1.76, 2.107, 2.595, 3.235, 4.043, 5.03, 6.205",\
                 "1.382, 1.426, 1.556, 1.782, 2.13, 2.617, 3.258, 4.066, 5.052, 6.227",\
                 "1.37, 1.414, 1.545, 1.771, 2.118, 2.605, 3.246, 4.054, 5.04, 6.217",\
                 "1.317, 1.36, 1.491, 1.717, 2.064, 2.552, 3.193, 4, 4.986, 6.162",\
                 "1.212, 1.255, 1.386, 1.612, 1.959, 2.446, 3.087, 3.895, 4.881, 6.057",\
                 "1.055, 1.098, 1.229, 1.455, 1.803, 2.29, 2.931, 3.738, 4.724, 5.898",\
                 "0.8431, 0.8874, 1.018, 1.244, 1.591, 2.078, 2.719, 3.527, 4.512, 5.687",\
                 "0.5749, 0.619, 0.7493, 0.9754, 1.323, 1.81, 2.451, 3.259, 4.244, 5.419");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1574, 0.199, 0.317, 0.5084, 0.7958, 1.216, 1.788, 2.527, 3.436, 4.523",\
                 "0.1576, 0.1992, 0.3168, 0.5094, 0.7958, 1.216, 1.789, 2.527, 3.436, 4.522",\
                 "0.1576, 0.199, 0.3168, 0.5094, 0.7968, 1.215, 1.789, 2.527, 3.437, 4.522",\
                 "0.1574, 0.1992, 0.3172, 0.5094, 0.7972, 1.215, 1.789, 2.527, 3.436, 4.523",\
                 "0.1578, 0.1996, 0.317, 0.5078, 0.7976, 1.214, 1.787, 2.527, 3.436, 4.524",\
                 "0.1572, 0.199, 0.3174, 0.5094, 0.7972, 1.215, 1.788, 2.526, 3.432, 4.523",\
                 "0.157, 0.1988, 0.3164, 0.5088, 0.7956, 1.216, 1.786, 2.525, 3.437, 4.524",\
                 "0.1576, 0.199, 0.3174, 0.509, 0.7964, 1.213, 1.786, 2.524, 3.436, 4.524",\
                 "0.1576, 0.1992, 0.3168, 0.5094, 0.797, 1.215, 1.787, 2.522, 3.43, 4.519",\
                 "0.1578, 0.1992, 0.3166, 0.5096, 0.7962, 1.214, 1.789, 2.525, 3.43, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1416, 0.199, 0.3864, 0.7604, 1.367, 2.226, 3.358, 4.777, 6.514, 8.588",\
                 "0.1416, 0.198, 0.3864, 0.7606, 1.367, 2.226, 3.357, 4.776, 6.513, 8.584",\
                 "0.1422, 0.199, 0.3864, 0.761, 1.367, 2.226, 3.351, 4.783, 6.515, 8.591",\
                 "0.1416, 0.1986, 0.3864, 0.761, 1.367, 2.226, 3.353, 4.781, 6.516, 8.588",\
                 "0.1416, 0.1986, 0.3862, 0.761, 1.367, 2.226, 3.354, 4.776, 6.512, 8.586",\
                 "0.1406, 0.198, 0.3856, 0.7602, 1.368, 2.226, 3.357, 4.777, 6.515, 8.589",\
                 "0.1406, 0.198, 0.386, 0.7604, 1.368, 2.223, 3.352, 4.784, 6.515, 8.588",\
                 "0.1412, 0.1978, 0.386, 0.7608, 1.367, 2.224, 3.351, 4.773, 6.52, 8.586",\
                 "0.1404, 0.1976, 0.3858, 0.7602, 1.368, 2.225, 3.353, 4.776, 6.51, 8.582",\
                 "0.141, 0.198, 0.386, 0.7602, 1.368, 2.224, 3.355, 4.774, 6.511, 8.579");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.329, 1.366, 1.462, 1.604, 1.802, 2.071, 2.425, 2.869, 3.412, 4.059",\
                 "1.342, 1.379, 1.475, 1.617, 1.815, 2.085, 2.438, 2.882, 3.425, 4.072",\
                 "1.395, 1.432, 1.528, 1.67, 1.868, 2.138, 2.491, 2.936, 3.478, 4.125",\
                 "1.517, 1.554, 1.65, 1.792, 1.99, 2.26, 2.613, 3.058, 3.6, 4.247",\
                 "1.722, 1.759, 1.855, 1.997, 2.195, 2.465, 2.818, 3.263, 3.805, 4.452",\
                 "1.995, 2.031, 2.128, 2.27, 2.467, 2.737, 3.09, 3.535, 4.077, 4.725",\
                 "2.32, 2.356, 2.453, 2.595, 2.793, 3.062, 3.416, 3.86, 4.403, 5.049",\
                 "2.701, 2.739, 2.834, 2.977, 3.174, 3.444, 3.797, 4.241, 4.784, 5.43",\
                 "3.141, 3.177, 3.273, 3.415, 3.614, 3.883, 4.236, 4.681, 5.223, 5.869",\
                 "3.633, 3.67, 3.766, 3.908, 4.106, 4.376, 4.729, 5.174, 5.717, 6.363");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.9386, 0.9816, 1.111, 1.337, 1.686, 2.174, 2.815, 3.624, 4.609, 5.787",\
                 "0.9506, 0.9936, 1.123, 1.349, 1.697, 2.186, 2.827, 3.637, 4.623, 5.8",\
                 "0.993, 1.036, 1.165, 1.392, 1.74, 2.227, 2.87, 3.678, 4.663, 5.84",\
                 "1.068, 1.111, 1.24, 1.466, 1.815, 2.302, 2.945, 3.754, 4.742, 5.919",\
                 "1.132, 1.175, 1.304, 1.531, 1.879, 2.367, 3.009, 3.818, 4.806, 5.983",\
                 "1.171, 1.214, 1.343, 1.569, 1.917, 2.405, 3.046, 3.857, 4.842, 6.02",\
                 "1.177, 1.22, 1.349, 1.576, 1.924, 2.411, 3.052, 3.86, 4.849, 6.024",\
                 "1.145, 1.188, 1.317, 1.543, 1.892, 2.379, 3.02, 3.828, 4.813, 5.99",\
                 "1.07, 1.113, 1.241, 1.468, 1.816, 2.304, 2.945, 3.752, 4.738, 5.912",\
                 "0.9478, 0.9907, 1.12, 1.346, 1.695, 2.182, 2.823, 3.631, 4.616, 5.791");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1242, 0.1574, 0.2566, 0.4366, 0.7358, 1.177, 1.767, 2.513, 3.425, 4.512",\
                 "0.124, 0.1576, 0.2572, 0.4368, 0.7362, 1.177, 1.768, 2.514, 3.422, 4.514",\
                 "0.1242, 0.1578, 0.257, 0.4368, 0.736, 1.177, 1.767, 2.512, 3.422, 4.51",\
                 "0.1242, 0.1572, 0.2564, 0.4368, 0.7358, 1.177, 1.765, 2.514, 3.427, 4.515",\
                 "0.124, 0.1572, 0.2566, 0.437, 0.736, 1.177, 1.767, 2.515, 3.423, 4.512",\
                 "0.1238, 0.1572, 0.257, 0.437, 0.7362, 1.175, 1.767, 2.511, 3.424, 4.509",\
                 "0.124, 0.1576, 0.2564, 0.437, 0.735, 1.177, 1.767, 2.513, 3.423, 4.513",\
                 "0.1238, 0.1572, 0.2566, 0.4364, 0.7362, 1.175, 1.765, 2.511, 3.424, 4.51",\
                 "0.1238, 0.157, 0.2564, 0.437, 0.737, 1.177, 1.765, 2.509, 3.42, 4.505",\
                 "0.1236, 0.1568, 0.2566, 0.4366, 0.7354, 1.177, 1.765, 2.511, 3.422, 4.506");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1288, 0.1857, 0.376, 0.755, 1.363, 2.222, 3.354, 4.779, 6.527, 8.591",\
                 "0.1289, 0.1856, 0.376, 0.7564, 1.364, 2.221, 3.353, 4.778, 6.519, 8.592",\
                 "0.1288, 0.1856, 0.376, 0.7542, 1.363, 2.221, 3.354, 4.78, 6.529, 8.611",\
                 "0.129, 0.1866, 0.3762, 0.755, 1.363, 2.221, 3.354, 4.781, 6.519, 8.596",\
                 "0.1294, 0.1858, 0.3758, 0.7544, 1.364, 2.223, 3.354, 4.78, 6.521, 8.595",\
                 "0.1296, 0.1862, 0.3764, 0.7546, 1.364, 2.225, 3.352, 4.779, 6.529, 8.594",\
                 "0.129, 0.1862, 0.3764, 0.7544, 1.363, 2.22, 3.356, 4.775, 6.513, 8.604",\
                 "0.1288, 0.1864, 0.376, 0.7548, 1.364, 2.221, 3.35, 4.777, 6.513, 8.582",\
                 "0.1296, 0.1866, 0.3762, 0.7548, 1.364, 2.223, 3.351, 4.773, 6.512, 8.582",\
                 "0.1294, 0.1868, 0.3766, 0.7554, 1.364, 2.222, 3.35, 4.775, 6.511, 8.581");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.387, 1.43, 1.545, 1.713, 1.93, 2.21, 2.567, 3.012, 3.554, 4.201",\
                 "1.394, 1.437, 1.552, 1.72, 1.937, 2.217, 2.573, 3.018, 3.561, 4.208",\
                 "1.43, 1.474, 1.589, 1.756, 1.974, 2.254, 2.61, 3.055, 3.598, 4.244",\
                 "1.527, 1.57, 1.685, 1.853, 2.07, 2.35, 2.706, 3.151, 3.694, 4.341",\
                 "1.701, 1.745, 1.86, 2.027, 2.245, 2.524, 2.881, 3.326, 3.868, 4.515",\
                 "1.948, 1.992, 2.107, 2.274, 2.492, 2.771, 3.128, 3.573, 4.115, 4.763",\
                 "2.267, 2.31, 2.425, 2.592, 2.81, 3.09, 3.446, 3.891, 4.434, 5.081",\
                 "2.654, 2.698, 2.813, 2.98, 3.198, 3.478, 3.834, 4.279, 4.822, 5.469",\
                 "3.109, 3.153, 3.268, 3.435, 3.653, 3.933, 4.289, 4.734, 5.276, 5.923",\
                 "3.63, 3.673, 3.788, 3.955, 4.172, 4.452, 4.809, 5.254, 5.797, 6.443");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.308, 1.352, 1.482, 1.708, 2.055, 2.543, 3.184, 3.991, 4.977, 6.153",\
                 "1.321, 1.365, 1.496, 1.722, 2.069, 2.556, 3.198, 4.005, 4.991, 6.167",\
                 "1.359, 1.403, 1.534, 1.76, 2.107, 2.595, 3.235, 4.043, 5.03, 6.205",\
                 "1.382, 1.426, 1.556, 1.782, 2.13, 2.617, 3.258, 4.066, 5.052, 6.227",\
                 "1.37, 1.414, 1.545, 1.771, 2.118, 2.605, 3.246, 4.054, 5.04, 6.217",\
                 "1.317, 1.36, 1.491, 1.717, 2.064, 2.552, 3.193, 4, 4.986, 6.162",\
                 "1.212, 1.255, 1.386, 1.612, 1.959, 2.446, 3.087, 3.895, 4.881, 6.057",\
                 "1.055, 1.098, 1.229, 1.455, 1.803, 2.29, 2.931, 3.738, 4.724, 5.898",\
                 "0.8431, 0.8874, 1.018, 1.244, 1.591, 2.078, 2.719, 3.527, 4.512, 5.687",\
                 "0.5749, 0.619, 0.7493, 0.9754, 1.323, 1.81, 2.451, 3.259, 4.244, 5.419");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1574, 0.199, 0.317, 0.5084, 0.7958, 1.216, 1.788, 2.527, 3.436, 4.523",\
                 "0.1576, 0.1992, 0.3168, 0.5094, 0.7958, 1.216, 1.789, 2.527, 3.436, 4.522",\
                 "0.1576, 0.199, 0.3168, 0.5094, 0.7968, 1.215, 1.789, 2.527, 3.437, 4.522",\
                 "0.1574, 0.1992, 0.3172, 0.5094, 0.7972, 1.215, 1.789, 2.527, 3.436, 4.523",\
                 "0.1578, 0.1996, 0.317, 0.5078, 0.7976, 1.214, 1.787, 2.527, 3.436, 4.524",\
                 "0.1572, 0.199, 0.3174, 0.5094, 0.7972, 1.215, 1.788, 2.526, 3.432, 4.523",\
                 "0.157, 0.1988, 0.3164, 0.5088, 0.7956, 1.216, 1.786, 2.525, 3.437, 4.524",\
                 "0.1576, 0.199, 0.3174, 0.509, 0.7964, 1.213, 1.786, 2.524, 3.436, 4.524",\
                 "0.1576, 0.1992, 0.3168, 0.5094, 0.797, 1.215, 1.787, 2.522, 3.43, 4.519",\
                 "0.1578, 0.1992, 0.3166, 0.5096, 0.7962, 1.214, 1.789, 2.525, 3.43, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1288, 0.1857, 0.376, 0.755, 1.363, 2.222, 3.354, 4.779, 6.527, 8.591",\
                 "0.1289, 0.1856, 0.376, 0.7564, 1.364, 2.221, 3.353, 4.778, 6.519, 8.592",\
                 "0.1288, 0.1856, 0.376, 0.7542, 1.363, 2.221, 3.354, 4.78, 6.529, 8.611",\
                 "0.129, 0.1866, 0.3762, 0.755, 1.363, 2.221, 3.354, 4.781, 6.519, 8.596",\
                 "0.1294, 0.1858, 0.3758, 0.7544, 1.364, 2.223, 3.354, 4.78, 6.521, 8.595",\
                 "0.1296, 0.1862, 0.3764, 0.7546, 1.364, 2.225, 3.352, 4.779, 6.529, 8.594",\
                 "0.129, 0.1862, 0.3764, 0.7544, 1.363, 2.22, 3.356, 4.775, 6.513, 8.604",\
                 "0.1288, 0.1864, 0.376, 0.7548, 1.364, 2.221, 3.35, 4.777, 6.513, 8.582",\
                 "0.1296, 0.1866, 0.3762, 0.7548, 1.364, 2.223, 3.351, 4.773, 6.512, 8.582",\
                 "0.1294, 0.1868, 0.3766, 0.7554, 1.364, 2.222, 3.35, 4.775, 6.511, 8.581");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.521, 1.558, 1.654, 1.797, 1.995, 2.264, 2.617, 3.062, 3.605, 4.252",\
                 "1.536, 1.572, 1.669, 1.811, 2.009, 2.278, 2.632, 3.076, 3.619, 4.266",\
                 "1.574, 1.611, 1.707, 1.849, 2.047, 2.317, 2.67, 3.114, 3.657, 4.304",\
                 "1.593, 1.629, 1.726, 1.868, 2.066, 2.336, 2.689, 3.133, 3.676, 4.323",\
                 "1.571, 1.608, 1.704, 1.846, 2.044, 2.314, 2.667, 3.112, 3.654, 4.301",\
                 "1.504, 1.541, 1.637, 1.779, 1.977, 2.247, 2.6, 3.044, 3.587, 4.234",\
                 "1.383, 1.419, 1.516, 1.658, 1.856, 2.125, 2.478, 2.923, 3.466, 4.113",\
                 "1.201, 1.238, 1.335, 1.477, 1.675, 1.944, 2.297, 2.742, 3.284, 3.931",\
                 "0.9583, 0.9946, 1.091, 1.233, 1.431, 1.701, 2.054, 2.498, 3.041, 3.687",\
                 "0.6499, 0.6867, 0.7828, 0.9252, 1.123, 1.393, 1.745, 2.189, 2.732, 3.378");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.451, 1.494, 1.623, 1.85, 2.198, 2.686, 3.328, 4.135, 5.123, 6.295",\
                 "1.456, 1.499, 1.628, 1.855, 2.203, 2.691, 3.332, 4.141, 5.129, 6.301",\
                 "1.512, 1.555, 1.684, 1.91, 2.259, 2.747, 3.388, 4.197, 5.184, 6.357",\
                 "1.653, 1.696, 1.825, 2.052, 2.4, 2.888, 3.53, 4.338, 5.325, 6.501",\
                 "1.879, 1.922, 2.051, 2.278, 2.626, 3.114, 3.755, 4.564, 5.548, 6.727",\
                 "2.175, 2.217, 2.346, 2.573, 2.921, 3.409, 4.051, 4.86, 5.845, 7.021",\
                 "2.54, 2.583, 2.712, 2.939, 3.287, 3.775, 4.416, 5.224, 6.212, 7.385",\
                 "2.986, 3.029, 3.158, 3.385, 3.733, 4.22, 4.861, 5.668, 6.654, 7.833",\
                 "3.513, 3.555, 3.685, 3.911, 4.26, 4.747, 5.389, 6.195, 7.182, 8.356",\
                 "4.121, 4.164, 4.293, 4.519, 4.868, 5.355, 5.996, 6.804, 7.789, 8.964");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1244, 0.1574, 0.2566, 0.4368, 0.7356, 1.177, 1.767, 2.511, 3.425, 4.509",\
                 "0.1238, 0.1572, 0.2564, 0.438, 0.7362, 1.177, 1.767, 2.515, 3.424, 4.513",\
                 "0.1242, 0.1576, 0.2566, 0.4372, 0.736, 1.177, 1.767, 2.513, 3.425, 4.512",\
                 "0.1244, 0.1574, 0.257, 0.437, 0.7362, 1.175, 1.766, 2.514, 3.426, 4.513",\
                 "0.124, 0.1572, 0.2564, 0.4368, 0.736, 1.176, 1.767, 2.512, 3.427, 4.515",\
                 "0.124, 0.1576, 0.2562, 0.4368, 0.7352, 1.176, 1.767, 2.511, 3.425, 4.515",\
                 "0.124, 0.1572, 0.2566, 0.4366, 0.7362, 1.177, 1.764, 2.51, 3.426, 4.51",\
                 "0.124, 0.1574, 0.2562, 0.4364, 0.7352, 1.175, 1.765, 2.509, 3.42, 4.506",\
                 "0.1242, 0.157, 0.256, 0.4362, 0.7358, 1.176, 1.766, 2.512, 3.42, 4.504",\
                 "0.1242, 0.1572, 0.2564, 0.4364, 0.7354, 1.178, 1.766, 2.512, 3.419, 4.504");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1286, 0.1856, 0.3756, 0.7544, 1.363, 2.223, 3.353, 4.778, 6.52, 8.594",\
                 "0.1288, 0.1856, 0.3758, 0.7548, 1.363, 2.223, 3.352, 4.779, 6.517, 8.585",\
                 "0.1288, 0.1858, 0.376, 0.755, 1.363, 2.221, 3.352, 4.778, 6.52, 8.597",\
                 "0.1284, 0.1858, 0.3756, 0.7542, 1.363, 2.222, 3.353, 4.778, 6.519, 8.588",\
                 "0.1288, 0.1856, 0.376, 0.7548, 1.364, 2.222, 3.356, 4.779, 6.515, 8.587",\
                 "0.1286, 0.1858, 0.3758, 0.7546, 1.363, 2.222, 3.353, 4.777, 6.518, 8.591",\
                 "0.1282, 0.1856, 0.376, 0.755, 1.364, 2.222, 3.353, 4.778, 6.515, 8.588",\
                 "0.1282, 0.1858, 0.3756, 0.7548, 1.364, 2.224, 3.351, 4.776, 6.514, 8.586",\
                 "0.129, 0.1862, 0.3758, 0.7544, 1.365, 2.222, 3.351, 4.782, 6.51, 8.584",\
                 "0.1282, 0.186, 0.376, 0.7552, 1.363, 2.222, 3.35, 4.772, 6.518, 8.586");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.8388, 0.8825, 0.9977, 1.166, 1.383, 1.663, 2.02, 2.465, 3.007, 3.654",\
                 "0.8491, 0.8928, 1.008, 1.176, 1.394, 1.673, 2.03, 2.475, 3.017, 3.664",\
                 "0.874, 0.9175, 1.033, 1.2, 1.418, 1.698, 2.055, 2.5, 3.042, 3.689",\
                 "0.9134, 0.9571, 1.072, 1.24, 1.458, 1.738, 2.094, 2.539, 3.082, 3.728",\
                 "0.9434, 0.9873, 1.102, 1.27, 1.488, 1.768, 2.124, 2.57, 3.112, 3.759",\
                 "0.9482, 0.9923, 1.108, 1.276, 1.494, 1.774, 2.131, 2.576, 3.118, 3.765",\
                 "0.9168, 0.961, 1.077, 1.246, 1.464, 1.744, 2.101, 2.546, 3.088, 3.735",\
                 "0.8422, 0.8868, 1.003, 1.173, 1.392, 1.672, 2.028, 2.473, 3.016, 3.662",\
                 "0.7196, 0.7642, 0.8813, 1.052, 1.271, 1.552, 1.909, 2.354, 2.896, 3.543",\
                 "0.546, 0.591, 0.7092, 0.8806, 1.101, 1.381, 1.738, 2.183, 2.726, 3.372");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.11, 1.153, 1.284, 1.51, 1.857, 2.345, 2.986, 3.793, 4.779, 5.956",\
                 "1.122, 1.166, 1.296, 1.522, 1.87, 2.357, 2.998, 3.806, 4.792, 5.968",\
                 "1.178, 1.222, 1.353, 1.578, 1.926, 2.413, 3.054, 3.862, 4.848, 6.023",\
                 "1.303, 1.347, 1.478, 1.703, 2.051, 2.538, 3.179, 3.987, 4.973, 6.149",\
                 "1.513, 1.557, 1.688, 1.914, 2.261, 2.748, 3.389, 4.197, 5.183, 6.359",\
                 "1.799, 1.843, 1.973, 2.199, 2.546, 3.033, 3.674, 4.482, 5.468, 6.644",\
                 "2.143, 2.188, 2.318, 2.543, 2.891, 3.377, 4.018, 4.825, 5.812, 6.987",\
                 "2.552, 2.596, 2.727, 2.953, 3.299, 3.786, 4.427, 5.234, 6.22, 7.397",\
                 "3.027, 3.072, 3.203, 3.428, 3.774, 4.261, 4.902, 5.709, 6.694, 7.87",\
                 "3.567, 3.613, 3.745, 3.97, 4.316, 4.801, 5.443, 6.25, 7.235, 8.409");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1591, 0.2006, 0.318, 0.5102, 0.7972, 1.217, 1.787, 2.526, 3.435, 4.522",\
                 "0.1591, 0.2006, 0.3179, 0.51, 0.7974, 1.216, 1.787, 2.525, 3.435, 4.521",\
                 "0.1588, 0.2006, 0.319, 0.5102, 0.797, 1.216, 1.787, 2.526, 3.436, 4.523",\
                 "0.1592, 0.2006, 0.318, 0.5102, 0.7972, 1.216, 1.787, 2.526, 3.436, 4.523",\
                 "0.1596, 0.2014, 0.3192, 0.5112, 0.798, 1.217, 1.789, 2.526, 3.436, 4.524",\
                 "0.1616, 0.2026, 0.32, 0.5112, 0.797, 1.215, 1.789, 2.524, 3.436, 4.524",\
                 "0.163, 0.2048, 0.3216, 0.514, 0.7988, 1.215, 1.786, 2.523, 3.433, 4.523",\
                 "0.1656, 0.207, 0.3252, 0.5154, 0.8018, 1.217, 1.789, 2.524, 3.43, 4.514",\
                 "0.1678, 0.21, 0.3286, 0.5178, 0.8034, 1.218, 1.791, 2.525, 3.431, 4.515",\
                 "0.17, 0.2126, 0.331, 0.5208, 0.8054, 1.219, 1.791, 2.525, 3.435, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1416, 0.198, 0.3862, 0.7602, 1.367, 2.225, 3.358, 4.777, 6.514, 8.587",\
                 "0.1416, 0.198, 0.3864, 0.7606, 1.367, 2.226, 3.357, 4.776, 6.512, 8.585",\
                 "0.1422, 0.1992, 0.3862, 0.761, 1.367, 2.226, 3.351, 4.776, 6.515, 8.589",\
                 "0.142, 0.1988, 0.3864, 0.761, 1.367, 2.226, 3.351, 4.783, 6.515, 8.587",\
                 "0.142, 0.1982, 0.3866, 0.7604, 1.367, 2.227, 3.354, 4.781, 6.516, 8.589",\
                 "0.1432, 0.1998, 0.3872, 0.7622, 1.367, 2.225, 3.358, 4.776, 6.513, 8.589",\
                 "0.1446, 0.2014, 0.3886, 0.7622, 1.369, 2.224, 3.357, 4.777, 6.513, 8.581",\
                 "0.1464, 0.2028, 0.3902, 0.7624, 1.368, 2.223, 3.356, 4.777, 6.512, 8.588",\
                 "0.1504, 0.206, 0.3924, 0.7628, 1.368, 2.225, 3.354, 4.778, 6.526, 8.582",\
                 "0.1536, 0.2094, 0.395, 0.7652, 1.369, 2.224, 3.353, 4.776, 6.518, 8.588");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.521, 1.558, 1.654, 1.797, 1.995, 2.264, 2.617, 3.062, 3.605, 4.252",\
                 "1.536, 1.572, 1.669, 1.811, 2.009, 2.278, 2.632, 3.076, 3.619, 4.266",\
                 "1.574, 1.611, 1.707, 1.849, 2.047, 2.317, 2.67, 3.114, 3.657, 4.304",\
                 "1.593, 1.629, 1.726, 1.868, 2.066, 2.336, 2.689, 3.133, 3.676, 4.323",\
                 "1.571, 1.608, 1.704, 1.846, 2.044, 2.314, 2.667, 3.112, 3.654, 4.301",\
                 "1.504, 1.541, 1.637, 1.779, 1.977, 2.247, 2.6, 3.044, 3.587, 4.234",\
                 "1.383, 1.419, 1.516, 1.658, 1.856, 2.125, 2.478, 2.923, 3.466, 4.113",\
                 "1.201, 1.238, 1.335, 1.477, 1.675, 1.944, 2.297, 2.742, 3.284, 3.931",\
                 "0.9583, 0.9946, 1.091, 1.233, 1.431, 1.701, 2.054, 2.498, 3.041, 3.687",\
                 "0.6499, 0.6867, 0.7828, 0.9252, 1.123, 1.393, 1.745, 2.189, 2.732, 3.378");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.451, 1.494, 1.623, 1.85, 2.198, 2.686, 3.328, 4.135, 5.123, 6.295",\
                 "1.456, 1.499, 1.628, 1.855, 2.203, 2.691, 3.332, 4.141, 5.129, 6.301",\
                 "1.512, 1.555, 1.684, 1.91, 2.259, 2.747, 3.388, 4.197, 5.184, 6.357",\
                 "1.653, 1.696, 1.825, 2.052, 2.4, 2.888, 3.53, 4.338, 5.325, 6.501",\
                 "1.879, 1.922, 2.051, 2.278, 2.626, 3.114, 3.755, 4.564, 5.548, 6.727",\
                 "2.175, 2.217, 2.346, 2.573, 2.921, 3.409, 4.051, 4.86, 5.845, 7.021",\
                 "2.54, 2.583, 2.712, 2.939, 3.287, 3.775, 4.416, 5.224, 6.212, 7.385",\
                 "2.986, 3.029, 3.158, 3.385, 3.733, 4.22, 4.861, 5.668, 6.654, 7.833",\
                 "3.513, 3.555, 3.685, 3.911, 4.26, 4.747, 5.389, 6.195, 7.182, 8.356",\
                 "4.121, 4.164, 4.293, 4.519, 4.868, 5.355, 5.996, 6.804, 7.789, 8.964");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1591, 0.2006, 0.318, 0.5102, 0.7972, 1.217, 1.787, 2.526, 3.435, 4.522",\
                 "0.1591, 0.2006, 0.3179, 0.51, 0.7974, 1.216, 1.787, 2.525, 3.435, 4.521",\
                 "0.1588, 0.2006, 0.319, 0.5102, 0.797, 1.216, 1.787, 2.526, 3.436, 4.523",\
                 "0.1592, 0.2006, 0.318, 0.5102, 0.7972, 1.216, 1.787, 2.526, 3.436, 4.523",\
                 "0.1596, 0.2014, 0.3192, 0.5112, 0.798, 1.217, 1.789, 2.526, 3.436, 4.524",\
                 "0.1616, 0.2026, 0.32, 0.5112, 0.797, 1.215, 1.789, 2.524, 3.436, 4.524",\
                 "0.163, 0.2048, 0.3216, 0.514, 0.7988, 1.215, 1.786, 2.523, 3.433, 4.523",\
                 "0.1656, 0.207, 0.3252, 0.5154, 0.8018, 1.217, 1.789, 2.524, 3.43, 4.514",\
                 "0.1678, 0.21, 0.3286, 0.5178, 0.8034, 1.218, 1.791, 2.525, 3.431, 4.515",\
                 "0.17, 0.2126, 0.331, 0.5208, 0.8054, 1.219, 1.791, 2.525, 3.435, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1286, 0.1856, 0.3756, 0.7544, 1.363, 2.223, 3.353, 4.778, 6.52, 8.594",\
                 "0.1288, 0.1856, 0.3758, 0.7548, 1.363, 2.223, 3.352, 4.779, 6.517, 8.585",\
                 "0.1288, 0.1858, 0.376, 0.755, 1.363, 2.221, 3.352, 4.778, 6.52, 8.597",\
                 "0.1284, 0.1858, 0.3756, 0.7542, 1.363, 2.222, 3.353, 4.778, 6.519, 8.588",\
                 "0.1288, 0.1856, 0.376, 0.7548, 1.364, 2.222, 3.356, 4.779, 6.515, 8.587",\
                 "0.1286, 0.1858, 0.3758, 0.7546, 1.363, 2.222, 3.353, 4.777, 6.518, 8.591",\
                 "0.1282, 0.1856, 0.376, 0.755, 1.364, 2.222, 3.353, 4.778, 6.515, 8.588",\
                 "0.1282, 0.1858, 0.3756, 0.7548, 1.364, 2.224, 3.351, 4.776, 6.514, 8.586",\
                 "0.129, 0.1862, 0.3758, 0.7544, 1.365, 2.222, 3.351, 4.782, 6.51, 8.584",\
                 "0.1282, 0.186, 0.376, 0.7552, 1.363, 2.222, 3.35, 4.772, 6.518, 8.586");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.342, 1.385, 1.501, 1.668, 1.885, 2.165, 2.522, 2.967, 3.509, 4.156",\
                 "1.347, 1.391, 1.506, 1.673, 1.891, 2.17, 2.527, 2.972, 3.514, 4.161",\
                 "1.403, 1.446, 1.561, 1.729, 1.946, 2.226, 2.582, 3.027, 3.57, 4.217",\
                 "1.545, 1.588, 1.703, 1.87, 2.088, 2.368, 2.724, 3.169, 3.712, 4.359",\
                 "1.77, 1.813, 1.928, 2.096, 2.313, 2.593, 2.949, 3.394, 3.937, 4.584",\
                 "2.065, 2.108, 2.223, 2.391, 2.608, 2.888, 3.244, 3.689, 4.232, 4.879",\
                 "2.43, 2.473, 2.588, 2.756, 2.974, 3.253, 3.61, 4.055, 4.598, 5.244",\
                 "2.874, 2.917, 3.032, 3.2, 3.417, 3.697, 4.054, 4.499, 5.042, 5.688",\
                 "3.399, 3.442, 3.556, 3.725, 3.942, 4.222, 4.578, 5.023, 5.566, 6.212",\
                 "4.004, 4.048, 4.163, 4.33, 4.547, 4.827, 5.184, 5.629, 6.171, 6.817");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.248, 1.291, 1.422, 1.648, 1.996, 2.483, 3.123, 3.932, 4.918, 6.094",\
                 "1.262, 1.306, 1.436, 1.662, 2.01, 2.497, 3.138, 3.946, 4.931, 6.107",\
                 "1.3, 1.344, 1.475, 1.701, 2.048, 2.535, 3.176, 3.984, 4.969, 6.146",\
                 "1.319, 1.363, 1.493, 1.719, 2.067, 2.554, 3.195, 4.003, 4.989, 6.165",\
                 "1.298, 1.342, 1.472, 1.698, 2.046, 2.533, 3.174, 3.982, 4.968, 6.144",\
                 "1.23, 1.274, 1.405, 1.63, 1.977, 2.465, 3.107, 3.914, 4.9, 6.075",\
                 "1.109, 1.153, 1.283, 1.509, 1.857, 2.344, 2.985, 3.793, 4.779, 5.955",\
                 "0.9279, 0.9718, 1.102, 1.328, 1.676, 2.162, 2.804, 3.611, 4.596, 5.773",\
                 "0.6845, 0.7278, 0.8585, 1.085, 1.432, 1.919, 2.561, 3.369, 4.354, 5.528",\
                 "0.3757, 0.4196, 0.5499, 0.776, 1.124, 1.611, 2.252, 3.059, 4.045, 5.22");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1576, 0.199, 0.3166, 0.5092, 0.7968, 1.215, 1.786, 2.527, 3.437, 4.523",\
                 "0.158, 0.1988, 0.3168, 0.5094, 0.7972, 1.216, 1.788, 2.527, 3.436, 4.522",\
                 "0.1574, 0.1992, 0.3168, 0.509, 0.7972, 1.215, 1.786, 2.527, 3.436, 4.522",\
                 "0.1576, 0.1992, 0.317, 0.5092, 0.7972, 1.215, 1.786, 2.527, 3.435, 4.523",\
                 "0.158, 0.1992, 0.317, 0.5084, 0.7958, 1.215, 1.789, 2.527, 3.437, 4.522",\
                 "0.1572, 0.1986, 0.3164, 0.509, 0.7962, 1.216, 1.787, 2.527, 3.437, 4.522",\
                 "0.1582, 0.1998, 0.3172, 0.5094, 0.7962, 1.216, 1.789, 2.524, 3.436, 4.524",\
                 "0.1572, 0.199, 0.3172, 0.5092, 0.7962, 1.215, 1.786, 2.526, 3.436, 4.523",\
                 "0.1572, 0.2, 0.3174, 0.5088, 0.796, 1.215, 1.786, 2.524, 3.433, 4.514",\
                 "0.1578, 0.1996, 0.3168, 0.5096, 0.796, 1.217, 1.786, 2.526, 3.43, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1414, 0.1984, 0.3858, 0.7618, 1.367, 2.226, 3.352, 4.781, 6.516, 8.588",\
                 "0.1412, 0.1982, 0.3858, 0.76, 1.369, 2.225, 3.358, 4.777, 6.515, 8.59",\
                 "0.1412, 0.1982, 0.386, 0.7602, 1.369, 2.225, 3.358, 4.777, 6.515, 8.589",\
                 "0.141, 0.197, 0.3858, 0.7606, 1.366, 2.226, 3.357, 4.775, 6.512, 8.585",\
                 "0.141, 0.198, 0.3858, 0.7602, 1.367, 2.227, 3.355, 4.773, 6.513, 8.587",\
                 "0.1408, 0.1972, 0.3858, 0.7604, 1.368, 2.225, 3.356, 4.773, 6.514, 8.59",\
                 "0.1402, 0.1976, 0.3856, 0.7614, 1.366, 2.224, 3.352, 4.777, 6.515, 8.589",\
                 "0.1412, 0.1974, 0.3858, 0.7614, 1.367, 2.223, 3.351, 4.777, 6.512, 8.588",\
                 "0.1406, 0.1974, 0.3858, 0.7604, 1.366, 2.226, 3.35, 4.775, 6.509, 8.599",\
                 "0.1406, 0.1974, 0.3856, 0.7616, 1.367, 2.226, 3.355, 4.775, 6.514, 8.582");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.382, 1.419, 1.515, 1.657, 1.855, 2.125, 2.478, 2.922, 3.465, 4.112",\
                 "1.395, 1.431, 1.527, 1.67, 1.868, 2.137, 2.49, 2.935, 3.478, 4.125",\
                 "1.451, 1.488, 1.584, 1.726, 1.924, 2.193, 2.546, 2.991, 3.534, 4.181",\
                 "1.576, 1.612, 1.708, 1.851, 2.049, 2.318, 2.671, 3.116, 3.658, 4.305",\
                 "1.786, 1.823, 1.919, 2.061, 2.26, 2.529, 2.882, 3.327, 3.87, 4.516",\
                 "2.072, 2.109, 2.205, 2.348, 2.545, 2.815, 3.168, 3.613, 4.155, 4.802",\
                 "2.417, 2.454, 2.55, 2.693, 2.891, 3.16, 3.513, 3.958, 4.501, 5.147",\
                 "2.827, 2.864, 2.96, 3.102, 3.3, 3.57, 3.922, 4.367, 4.91, 5.557",\
                 "3.303, 3.339, 3.435, 3.578, 3.776, 4.045, 4.398, 4.843, 5.385, 6.032",\
                 "3.843, 3.88, 3.976, 4.119, 4.316, 4.586, 4.939, 5.384, 5.926, 6.573");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.9525, 0.9954, 1.125, 1.351, 1.699, 2.188, 2.828, 3.639, 4.625, 5.802",\
                 "0.9625, 1.005, 1.135, 1.361, 1.71, 2.198, 2.839, 3.647, 4.633, 5.809",\
                 "0.9874, 1.03, 1.16, 1.386, 1.734, 2.222, 2.863, 3.674, 4.66, 5.836",\
                 "1.03, 1.073, 1.202, 1.429, 1.777, 2.265, 2.908, 3.716, 4.704, 5.881",\
                 "1.066, 1.109, 1.238, 1.465, 1.813, 2.301, 2.943, 3.752, 4.74, 5.916",\
                 "1.078, 1.12, 1.249, 1.476, 1.824, 2.312, 2.953, 3.763, 4.748, 5.928",\
                 "1.053, 1.095, 1.225, 1.451, 1.799, 2.287, 2.928, 3.736, 4.723, 5.896",\
                 "0.9833, 1.026, 1.155, 1.382, 1.73, 2.218, 2.859, 3.666, 4.651, 5.827",\
                 "0.8654, 0.9084, 1.037, 1.264, 1.612, 2.099, 2.74, 3.548, 4.534, 5.708",\
                 "0.6946, 0.7375, 0.8674, 1.094, 1.442, 1.93, 2.571, 3.378, 4.363, 5.538");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1242, 0.1574, 0.2566, 0.4366, 0.7354, 1.177, 1.767, 2.513, 3.422, 4.511",\
                 "0.1242, 0.1574, 0.2568, 0.4366, 0.735, 1.177, 1.767, 2.511, 3.425, 4.51",\
                 "0.124, 0.1572, 0.2566, 0.437, 0.7366, 1.177, 1.766, 2.514, 3.423, 4.508",\
                 "0.1246, 0.1582, 0.2568, 0.437, 0.7354, 1.177, 1.766, 2.513, 3.427, 4.515",\
                 "0.1238, 0.1574, 0.2566, 0.4368, 0.7366, 1.177, 1.767, 2.513, 3.427, 4.515",\
                 "0.124, 0.1572, 0.2572, 0.4368, 0.7362, 1.176, 1.767, 2.514, 3.423, 4.51",\
                 "0.1238, 0.1572, 0.2562, 0.437, 0.7364, 1.177, 1.767, 2.512, 3.426, 4.514",\
                 "0.1234, 0.157, 0.2564, 0.4368, 0.7354, 1.174, 1.764, 2.511, 3.424, 4.513",\
                 "0.1234, 0.157, 0.2564, 0.4372, 0.7354, 1.176, 1.767, 2.509, 3.419, 4.506",\
                 "0.1236, 0.157, 0.257, 0.4372, 0.7354, 1.177, 1.766, 2.51, 3.418, 4.504");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1288, 0.1857, 0.3758, 0.7562, 1.364, 2.223, 3.352, 4.778, 6.519, 8.591",\
                 "0.1292, 0.1858, 0.376, 0.7544, 1.363, 2.222, 3.353, 4.784, 6.523, 8.601",\
                 "0.1288, 0.1856, 0.3762, 0.7564, 1.364, 2.221, 3.353, 4.778, 6.519, 8.591",\
                 "0.1292, 0.1864, 0.376, 0.755, 1.364, 2.223, 3.352, 4.782, 6.52, 8.596",\
                 "0.1292, 0.1864, 0.3758, 0.755, 1.364, 2.222, 3.357, 4.782, 6.518, 8.594",\
                 "0.1286, 0.1866, 0.3762, 0.7542, 1.363, 2.222, 3.356, 4.778, 6.528, 8.596",\
                 "0.1286, 0.1862, 0.3768, 0.7544, 1.364, 2.222, 3.355, 4.776, 6.518, 8.587",\
                 "0.1288, 0.1864, 0.3758, 0.7562, 1.363, 2.221, 3.35, 4.775, 6.513, 8.584",\
                 "0.1296, 0.187, 0.3764, 0.755, 1.363, 2.223, 3.351, 4.775, 6.509, 8.585",\
                 "0.1296, 0.1868, 0.3774, 0.755, 1.365, 2.225, 3.35, 4.773, 6.51, 8.58");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.342, 1.385, 1.501, 1.668, 1.885, 2.165, 2.522, 2.967, 3.509, 4.156",\
                 "1.347, 1.391, 1.506, 1.673, 1.891, 2.17, 2.527, 2.972, 3.514, 4.161",\
                 "1.403, 1.446, 1.561, 1.729, 1.946, 2.226, 2.582, 3.027, 3.57, 4.217",\
                 "1.545, 1.588, 1.703, 1.87, 2.088, 2.368, 2.724, 3.169, 3.712, 4.359",\
                 "1.77, 1.813, 1.928, 2.096, 2.313, 2.593, 2.949, 3.394, 3.937, 4.584",\
                 "2.065, 2.108, 2.223, 2.391, 2.608, 2.888, 3.244, 3.689, 4.232, 4.879",\
                 "2.43, 2.473, 2.588, 2.756, 2.974, 3.253, 3.61, 4.055, 4.598, 5.244",\
                 "2.874, 2.917, 3.032, 3.2, 3.417, 3.697, 4.054, 4.499, 5.042, 5.688",\
                 "3.399, 3.442, 3.556, 3.725, 3.942, 4.222, 4.578, 5.023, 5.566, 6.212",\
                 "4.004, 4.048, 4.163, 4.33, 4.547, 4.827, 5.184, 5.629, 6.171, 6.817");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("1.248, 1.291, 1.422, 1.648, 1.996, 2.483, 3.123, 3.932, 4.918, 6.094",\
                 "1.262, 1.306, 1.436, 1.662, 2.01, 2.497, 3.138, 3.946, 4.931, 6.107",\
                 "1.3, 1.344, 1.475, 1.701, 2.048, 2.535, 3.176, 3.984, 4.969, 6.146",\
                 "1.319, 1.363, 1.493, 1.719, 2.067, 2.554, 3.195, 4.003, 4.989, 6.165",\
                 "1.298, 1.342, 1.472, 1.698, 2.046, 2.533, 3.174, 3.982, 4.968, 6.144",\
                 "1.23, 1.274, 1.405, 1.63, 1.977, 2.465, 3.107, 3.914, 4.9, 6.075",\
                 "1.109, 1.153, 1.283, 1.509, 1.857, 2.344, 2.985, 3.793, 4.779, 5.955",\
                 "0.9279, 0.9718, 1.102, 1.328, 1.676, 2.162, 2.804, 3.611, 4.596, 5.773",\
                 "0.6845, 0.7278, 0.8585, 1.085, 1.432, 1.919, 2.561, 3.369, 4.354, 5.528",\
                 "0.3757, 0.4196, 0.5499, 0.776, 1.124, 1.611, 2.252, 3.059, 4.045, 5.22");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1576, 0.199, 0.3166, 0.5092, 0.7968, 1.215, 1.786, 2.527, 3.437, 4.523",\
                 "0.158, 0.1988, 0.3168, 0.5094, 0.7972, 1.216, 1.788, 2.527, 3.436, 4.522",\
                 "0.1574, 0.1992, 0.3168, 0.509, 0.7972, 1.215, 1.786, 2.527, 3.436, 4.522",\
                 "0.1576, 0.1992, 0.317, 0.5092, 0.7972, 1.215, 1.786, 2.527, 3.435, 4.523",\
                 "0.158, 0.1992, 0.317, 0.5084, 0.7958, 1.215, 1.789, 2.527, 3.437, 4.522",\
                 "0.1572, 0.1986, 0.3164, 0.509, 0.7962, 1.216, 1.787, 2.527, 3.437, 4.522",\
                 "0.1582, 0.1998, 0.3172, 0.5094, 0.7962, 1.216, 1.789, 2.524, 3.436, 4.524",\
                 "0.1572, 0.199, 0.3172, 0.5092, 0.7962, 1.215, 1.786, 2.526, 3.436, 4.523",\
                 "0.1572, 0.2, 0.3174, 0.5088, 0.796, 1.215, 1.786, 2.524, 3.433, 4.514",\
                 "0.1578, 0.1996, 0.3168, 0.5096, 0.796, 1.217, 1.786, 2.526, 3.43, 4.514");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1288, 0.1857, 0.3758, 0.7562, 1.364, 2.223, 3.352, 4.778, 6.519, 8.591",\
                 "0.1292, 0.1858, 0.376, 0.7544, 1.363, 2.222, 3.353, 4.784, 6.523, 8.601",\
                 "0.1288, 0.1856, 0.3762, 0.7564, 1.364, 2.221, 3.353, 4.778, 6.519, 8.591",\
                 "0.1292, 0.1864, 0.376, 0.755, 1.364, 2.223, 3.352, 4.782, 6.52, 8.596",\
                 "0.1292, 0.1864, 0.3758, 0.755, 1.364, 2.222, 3.357, 4.782, 6.518, 8.594",\
                 "0.1286, 0.1866, 0.3762, 0.7542, 1.363, 2.222, 3.356, 4.778, 6.528, 8.596",\
                 "0.1286, 0.1862, 0.3768, 0.7544, 1.364, 2.222, 3.355, 4.776, 6.518, 8.587",\
                 "0.1288, 0.1864, 0.3758, 0.7562, 1.363, 2.221, 3.35, 4.775, 6.513, 8.584",\
                 "0.1296, 0.187, 0.3764, 0.755, 1.363, 2.223, 3.351, 4.775, 6.509, 8.585",\
                 "0.1296, 0.1868, 0.3774, 0.755, 1.365, 2.225, 3.35, 4.773, 6.51, 8.58");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.624, 0.6616, 0.7588, 0.9014, 1.099, 1.369, 1.722, 2.166, 2.709, 3.356",\
                 "0.632, 0.6698, 0.7669, 0.9097, 1.108, 1.377, 1.73, 2.175, 2.717, 3.364",\
                 "0.6505, 0.6881, 0.7854, 0.928, 1.126, 1.395, 1.748, 2.193, 2.736, 3.382",\
                 "0.679, 0.7168, 0.8142, 0.9567, 1.155, 1.424, 1.777, 2.221, 2.764, 3.411",\
                 "0.7073, 0.7441, 0.8408, 0.983, 1.181, 1.45, 1.803, 2.248, 2.79, 3.437",\
                 "0.7173, 0.7539, 0.8514, 0.9943, 1.192, 1.461, 1.813, 2.257, 2.8, 3.446",\
                 "0.7007, 0.7383, 0.8364, 0.9798, 1.178, 1.447, 1.799, 2.243, 2.785, 3.431",\
                 "0.6519, 0.6903, 0.789, 0.9336, 1.132, 1.403, 1.756, 2.2, 2.742, 3.388",\
                 "0.5684, 0.607, 0.7068, 0.852, 1.054, 1.327, 1.683, 2.128, 2.67, 3.317",\
                 "0.4466, 0.4858, 0.5869, 0.7334, 0.9365, 1.213, 1.569, 2.013, 2.555, 3.201");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.6333, 0.6764, 0.8065, 1.033, 1.382, 1.869, 2.511, 3.319, 4.307, 5.48",\
                 "0.6497, 0.6929, 0.8229, 1.05, 1.398, 1.886, 2.528, 3.336, 4.323, 5.497",\
                 "0.7174, 0.7606, 0.8906, 1.117, 1.466, 1.953, 2.595, 3.403, 4.391, 5.565",\
                 "0.8488, 0.8915, 1.022, 1.249, 1.597, 2.085, 2.727, 3.534, 4.522, 5.697",\
                 "1.024, 1.067, 1.197, 1.424, 1.773, 2.261, 2.902, 3.71, 4.697, 5.873",\
                 "1.236, 1.279, 1.409, 1.636, 1.985, 2.473, 3.115, 3.923, 4.909, 6.085",\
                 "1.487, 1.531, 1.662, 1.889, 2.237, 2.724, 3.366, 4.174, 5.16, 6.336",\
                 "1.778, 1.822, 1.953, 2.18, 2.528, 3.016, 3.657, 4.464, 5.451, 6.625",\
                 "2.109, 2.154, 2.285, 2.512, 2.859, 3.347, 3.988, 4.796, 5.782, 6.956",\
                 "2.482, 2.526, 2.659, 2.885, 3.233, 3.72, 4.362, 5.169, 6.154, 7.329");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1258, 0.1599, 0.2578, 0.4372, 0.7367, 1.177, 1.766, 2.512, 3.424, 4.512",\
                 "0.1265, 0.1601, 0.2579, 0.4374, 0.7368, 1.177, 1.767, 2.513, 3.426, 4.507",\
                 "0.1261, 0.1599, 0.2582, 0.4383, 0.7356, 1.176, 1.766, 2.513, 3.425, 4.513",\
                 "0.126, 0.16, 0.259, 0.4378, 0.7364, 1.177, 1.765, 2.514, 3.427, 4.515",\
                 "0.1234, 0.1578, 0.257, 0.436, 0.7346, 1.176, 1.767, 2.513, 3.427, 4.514",\
                 "0.125, 0.1596, 0.2594, 0.4378, 0.7338, 1.173, 1.762, 2.511, 3.425, 4.514",\
                 "0.1288, 0.1626, 0.2614, 0.44, 0.7354, 1.173, 1.762, 2.506, 3.416, 4.508",\
                 "0.1318, 0.1662, 0.2654, 0.4428, 0.74, 1.179, 1.765, 2.507, 3.417, 4.501",\
                 "0.136, 0.17, 0.2692, 0.4464, 0.748, 1.189, 1.774, 2.513, 3.42, 4.501",\
                 "0.1398, 0.1748, 0.2726, 0.4512, 0.7544, 1.196, 1.775, 2.51, 3.418, 4.499");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1318, 0.1892, 0.3789, 0.7572, 1.364, 2.226, 3.353, 4.777, 6.516, 8.588",\
                 "0.1316, 0.1892, 0.3791, 0.7572, 1.367, 2.225, 3.353, 4.777, 6.517, 8.589",\
                 "0.1316, 0.1893, 0.3792, 0.7572, 1.367, 2.226, 3.353, 4.777, 6.516, 8.59",\
                 "0.1318, 0.1894, 0.379, 0.757, 1.367, 2.223, 3.353, 4.777, 6.513, 8.592",\
                 "0.1316, 0.19, 0.3794, 0.7572, 1.366, 2.223, 3.357, 4.775, 6.517, 8.589",\
                 "0.1322, 0.1906, 0.3802, 0.7584, 1.366, 2.223, 3.354, 4.776, 6.516, 8.59",\
                 "0.1344, 0.1918, 0.3812, 0.758, 1.365, 2.225, 3.358, 4.775, 6.514, 8.588",\
                 "0.137, 0.1946, 0.3832, 0.7586, 1.365, 2.226, 3.352, 4.78, 6.515, 8.584",\
                 "0.14, 0.1968, 0.3856, 0.7598, 1.366, 2.224, 3.354, 4.775, 6.518, 8.597",\
                 "0.1426, 0.2006, 0.3882, 0.7598, 1.364, 2.224, 3.352, 4.779, 6.512, 8.59");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.624, 0.6614, 0.7588, 0.9014, 1.099, 1.369, 1.722, 2.166, 2.709, 3.356",\
                 "0.632, 0.6698, 0.7669, 0.9097, 1.108, 1.377, 1.73, 2.174, 2.717, 3.364",\
                 "0.6505, 0.6881, 0.7854, 0.928, 1.126, 1.395, 1.748, 2.193, 2.736, 3.382",\
                 "0.679, 0.7167, 0.8142, 0.9567, 1.155, 1.424, 1.777, 2.221, 2.764, 3.41",\
                 "0.7073, 0.7441, 0.8408, 0.983, 1.181, 1.45, 1.803, 2.248, 2.79, 3.437",\
                 "0.7173, 0.7542, 0.8514, 0.9943, 1.192, 1.461, 1.813, 2.257, 2.8, 3.447",\
                 "0.7006, 0.7383, 0.8364, 0.9798, 1.178, 1.447, 1.799, 2.243, 2.785, 3.431",\
                 "0.6519, 0.6903, 0.7895, 0.9335, 1.132, 1.403, 1.756, 2.2, 2.742, 3.388",\
                 "0.5684, 0.607, 0.7072, 0.852, 1.054, 1.327, 1.683, 2.128, 2.67, 3.317",\
                 "0.4466, 0.4858, 0.5869, 0.7334, 0.9365, 1.213, 1.569, 2.013, 2.555, 3.201");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.6331, 0.6764, 0.8064, 1.033, 1.382, 1.869, 2.51, 3.319, 4.305, 5.481",\
                 "0.6496, 0.6929, 0.8229, 1.05, 1.398, 1.886, 2.528, 3.335, 4.323, 5.497",\
                 "0.7174, 0.7606, 0.8906, 1.117, 1.466, 1.953, 2.595, 3.403, 4.39, 5.565",\
                 "0.8484, 0.8915, 1.022, 1.249, 1.597, 2.085, 2.727, 3.535, 4.521, 5.698",\
                 "1.024, 1.067, 1.197, 1.424, 1.773, 2.261, 2.902, 3.711, 4.697, 5.873",\
                 "1.236, 1.279, 1.409, 1.636, 1.985, 2.473, 3.115, 3.923, 4.91, 6.086",\
                 "1.488, 1.531, 1.661, 1.888, 2.236, 2.725, 3.366, 4.174, 5.16, 6.336",\
                 "1.778, 1.822, 1.953, 2.18, 2.528, 3.016, 3.657, 4.464, 5.451, 6.625",\
                 "2.109, 2.154, 2.285, 2.512, 2.859, 3.347, 3.988, 4.796, 5.782, 6.957",\
                 "2.482, 2.526, 2.659, 2.885, 3.232, 3.72, 4.362, 5.168, 6.154, 7.329");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1257, 0.1607, 0.258, 0.4369, 0.7372, 1.177, 1.766, 2.514, 3.422, 4.513",\
                 "0.1264, 0.1601, 0.2579, 0.4377, 0.7368, 1.175, 1.767, 2.511, 3.423, 4.51",\
                 "0.1261, 0.1599, 0.2582, 0.4381, 0.7356, 1.176, 1.766, 2.513, 3.425, 4.513",\
                 "0.126, 0.1598, 0.259, 0.4378, 0.7364, 1.176, 1.766, 2.512, 3.421, 4.514",\
                 "0.1234, 0.1578, 0.257, 0.436, 0.7348, 1.175, 1.767, 2.513, 3.427, 4.514",\
                 "0.125, 0.1596, 0.2594, 0.4378, 0.7338, 1.173, 1.763, 2.511, 3.425, 4.513",\
                 "0.1286, 0.1626, 0.2614, 0.44, 0.7354, 1.173, 1.763, 2.506, 3.416, 4.508",\
                 "0.1318, 0.1662, 0.2648, 0.4424, 0.7398, 1.179, 1.765, 2.507, 3.417, 4.501",\
                 "0.136, 0.17, 0.2682, 0.4464, 0.748, 1.19, 1.774, 2.513, 3.42, 4.501",\
                 "0.1412, 0.1748, 0.2726, 0.4512, 0.7544, 1.196, 1.775, 2.51, 3.418, 4.499");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1317, 0.189, 0.379, 0.7568, 1.364, 2.223, 3.358, 4.779, 6.514, 8.59",\
                 "0.132, 0.1892, 0.3791, 0.7573, 1.367, 2.225, 3.353, 4.777, 6.517, 8.589",\
                 "0.1316, 0.1893, 0.3793, 0.7574, 1.367, 2.226, 3.353, 4.777, 6.516, 8.59",\
                 "0.1318, 0.189, 0.3792, 0.757, 1.364, 2.223, 3.352, 4.778, 6.517, 8.589",\
                 "0.1318, 0.1894, 0.3796, 0.757, 1.365, 2.224, 3.353, 4.776, 6.517, 8.59",\
                 "0.1328, 0.1906, 0.3802, 0.7584, 1.366, 2.223, 3.354, 4.776, 6.517, 8.587",\
                 "0.1344, 0.1918, 0.3812, 0.7576, 1.365, 2.225, 3.358, 4.775, 6.511, 8.588",\
                 "0.137, 0.1946, 0.383, 0.7586, 1.365, 2.226, 3.352, 4.78, 6.515, 8.582",\
                 "0.1392, 0.197, 0.3858, 0.7596, 1.367, 2.224, 3.354, 4.774, 6.52, 8.583",\
                 "0.143, 0.2008, 0.3884, 0.76, 1.366, 2.223, 3.352, 4.778, 6.51, 8.586");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.624, 0.6614, 0.7588, 0.9014, 1.099, 1.369, 1.722, 2.166, 2.709, 3.356",\
                 "0.632, 0.6698, 0.7669, 0.9097, 1.108, 1.377, 1.73, 2.174, 2.717, 3.364",\
                 "0.6505, 0.6881, 0.7854, 0.928, 1.126, 1.395, 1.748, 2.193, 2.736, 3.382",\
                 "0.679, 0.7167, 0.8142, 0.9567, 1.155, 1.424, 1.777, 2.221, 2.764, 3.41",\
                 "0.7073, 0.7441, 0.8408, 0.983, 1.181, 1.45, 1.803, 2.248, 2.79, 3.437",\
                 "0.7173, 0.7542, 0.8514, 0.9943, 1.192, 1.461, 1.813, 2.257, 2.8, 3.447",\
                 "0.7006, 0.7383, 0.8364, 0.9798, 1.178, 1.447, 1.799, 2.243, 2.785, 3.431",\
                 "0.6519, 0.6903, 0.7895, 0.9335, 1.132, 1.403, 1.756, 2.2, 2.742, 3.388",\
                 "0.5684, 0.607, 0.7072, 0.852, 1.054, 1.327, 1.683, 2.128, 2.67, 3.317",\
                 "0.4466, 0.4858, 0.5869, 0.7334, 0.9365, 1.213, 1.569, 2.013, 2.555, 3.201");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.6331, 0.6764, 0.8064, 1.033, 1.382, 1.869, 2.51, 3.319, 4.305, 5.481",\
                 "0.6496, 0.6929, 0.8229, 1.05, 1.398, 1.886, 2.528, 3.335, 4.323, 5.497",\
                 "0.7174, 0.7606, 0.8906, 1.117, 1.466, 1.953, 2.595, 3.403, 4.39, 5.565",\
                 "0.8484, 0.8915, 1.022, 1.249, 1.597, 2.085, 2.727, 3.535, 4.521, 5.698",\
                 "1.024, 1.067, 1.197, 1.424, 1.773, 2.261, 2.902, 3.711, 4.697, 5.873",\
                 "1.236, 1.279, 1.409, 1.636, 1.985, 2.473, 3.115, 3.923, 4.91, 6.086",\
                 "1.488, 1.531, 1.661, 1.888, 2.236, 2.725, 3.366, 4.174, 5.16, 6.336",\
                 "1.778, 1.822, 1.953, 2.18, 2.528, 3.016, 3.657, 4.464, 5.451, 6.625",\
                 "2.109, 2.154, 2.285, 2.512, 2.859, 3.347, 3.988, 4.796, 5.782, 6.957",\
                 "2.482, 2.526, 2.659, 2.885, 3.232, 3.72, 4.362, 5.168, 6.154, 7.329");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1258, 0.1599, 0.2578, 0.4372, 0.7367, 1.177, 1.766, 2.512, 3.424, 4.512",\
                 "0.1265, 0.1601, 0.2579, 0.4374, 0.7368, 1.177, 1.767, 2.513, 3.426, 4.507",\
                 "0.1261, 0.1599, 0.2582, 0.4383, 0.7356, 1.176, 1.766, 2.513, 3.425, 4.513",\
                 "0.126, 0.16, 0.259, 0.4378, 0.7364, 1.177, 1.765, 2.514, 3.427, 4.515",\
                 "0.1234, 0.1578, 0.257, 0.436, 0.7346, 1.176, 1.767, 2.513, 3.427, 4.514",\
                 "0.125, 0.1596, 0.2594, 0.4378, 0.7338, 1.173, 1.762, 2.511, 3.425, 4.514",\
                 "0.1288, 0.1626, 0.2614, 0.44, 0.7354, 1.173, 1.762, 2.506, 3.416, 4.508",\
                 "0.1318, 0.1662, 0.2654, 0.4428, 0.74, 1.179, 1.765, 2.507, 3.417, 4.501",\
                 "0.136, 0.17, 0.2692, 0.4464, 0.748, 1.189, 1.774, 2.513, 3.42, 4.501",\
                 "0.1398, 0.1748, 0.2726, 0.4512, 0.7544, 1.196, 1.775, 2.51, 3.418, 4.499");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1318, 0.1892, 0.3789, 0.7572, 1.364, 2.226, 3.353, 4.777, 6.516, 8.588",\
                 "0.1316, 0.1892, 0.3791, 0.7572, 1.367, 2.225, 3.353, 4.777, 6.517, 8.589",\
                 "0.1316, 0.1893, 0.3792, 0.7572, 1.367, 2.226, 3.353, 4.777, 6.516, 8.59",\
                 "0.1318, 0.1894, 0.379, 0.757, 1.367, 2.223, 3.353, 4.777, 6.513, 8.592",\
                 "0.1316, 0.19, 0.3794, 0.7572, 1.366, 2.223, 3.357, 4.775, 6.517, 8.589",\
                 "0.1322, 0.1906, 0.3802, 0.7584, 1.366, 2.223, 3.354, 4.776, 6.516, 8.59",\
                 "0.1344, 0.1918, 0.3812, 0.758, 1.365, 2.225, 3.358, 4.775, 6.514, 8.588",\
                 "0.137, 0.1946, 0.3832, 0.7586, 1.365, 2.226, 3.352, 4.78, 6.515, 8.584",\
                 "0.14, 0.1968, 0.3856, 0.7598, 1.366, 2.224, 3.354, 4.775, 6.518, 8.597",\
                 "0.1426, 0.2006, 0.3882, 0.7598, 1.364, 2.224, 3.352, 4.779, 6.512, 8.59");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.4673, 0.5108, 0.6258, 0.7931, 1.011, 1.29, 1.647, 2.092, 2.634, 3.281",\
                 "0.4779, 0.5213, 0.6367, 0.804, 1.022, 1.301, 1.658, 2.103, 2.645, 3.291",\
                 "0.5291, 0.5722, 0.6874, 0.8546, 1.072, 1.352, 1.708, 2.153, 2.696, 3.342",\
                 "0.6518, 0.6951, 0.8097, 0.9767, 1.194, 1.474, 1.83, 2.275, 2.818, 3.465",\
                 "0.8334, 0.8782, 0.9956, 1.165, 1.384, 1.664, 2.02, 2.465, 3.007, 3.653",\
                 "1.055, 1.102, 1.223, 1.397, 1.62, 1.902, 2.259, 2.704, 3.246, 3.892",\
                 "1.323, 1.373, 1.5, 1.678, 1.903, 2.187, 2.546, 2.991, 3.533, 4.179",\
                 "1.635, 1.689, 1.824, 2.009, 2.239, 2.525, 2.884, 3.329, 3.873, 4.519",\
                 "1.992, 2.05, 2.194, 2.389, 2.628, 2.919, 3.279, 3.724, 4.268, 4.915",\
                 "2.395, 2.456, 2.61, 2.815, 3.065, 3.364, 3.731, 4.179, 4.721, 5.368");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2891, 0.3316, 0.4609, 0.6877, 1.036, 1.525, 2.167, 2.973, 3.96, 5.137",\
                 "0.3027, 0.3454, 0.4745, 0.7014, 1.05, 1.538, 2.18, 2.988, 3.974, 5.154",\
                 "0.349, 0.3914, 0.52, 0.7467, 1.095, 1.583, 2.225, 3.034, 4.021, 5.196",\
                 "0.4116, 0.4545, 0.5839, 0.8095, 1.157, 1.645, 2.286, 3.095, 4.08, 5.259",\
                 "0.4541, 0.4981, 0.6286, 0.8546, 1.202, 1.688, 2.329, 3.136, 4.126, 5.304",\
                 "0.4697, 0.516, 0.6491, 0.8755, 1.221, 1.708, 2.348, 3.156, 4.144, 5.321",\
                 "0.4524, 0.5015, 0.6403, 0.8683, 1.214, 1.699, 2.339, 3.146, 4.131, 5.31",\
                 "0.3979, 0.4503, 0.5951, 0.8281, 1.176, 1.661, 2.301, 3.107, 4.092, 5.265",\
                 "0.3041, 0.3598, 0.5108, 0.7495, 1.1, 1.591, 2.231, 3.037, 4.021, 5.195",\
                 "0.1686, 0.2285, 0.3866, 0.6317, 0.9848, 1.48, 2.127, 2.933, 3.917, 5.091");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1567, 0.1983, 0.3163, 0.5081, 0.7962, 1.216, 1.787, 2.527, 3.436, 4.52",\
                 "0.1573, 0.1984, 0.3169, 0.5084, 0.7968, 1.214, 1.786, 2.527, 3.435, 4.522",\
                 "0.1565, 0.1988, 0.3163, 0.508, 0.7964, 1.214, 1.786, 2.527, 3.436, 4.522",\
                 "0.1578, 0.1998, 0.3176, 0.5096, 0.7978, 1.215, 1.788, 2.527, 3.432, 4.52",\
                 "0.176, 0.2168, 0.3316, 0.519, 0.802, 1.218, 1.787, 2.524, 3.436, 4.524",\
                 "0.1952, 0.2374, 0.3504, 0.5382, 0.8182, 1.228, 1.794, 2.527, 3.436, 4.524",\
                 "0.2178, 0.2624, 0.3738, 0.5576, 0.8342, 1.239, 1.801, 2.533, 3.438, 4.523",\
                 "0.2456, 0.2916, 0.4054, 0.5858, 0.8524, 1.25, 1.809, 2.538, 3.441, 4.52",\
                 "0.2756, 0.3264, 0.4456, 0.6238, 0.8868, 1.274, 1.819, 2.542, 3.444, 4.525",\
                 "0.3066, 0.3614, 0.4878, 0.669, 0.9322, 1.314, 1.85, 2.558, 3.45, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1259, 0.1835, 0.3744, 0.7545, 1.363, 2.223, 3.353, 4.783, 6.524, 8.596",\
                 "0.1267, 0.1839, 0.3744, 0.7542, 1.363, 2.223, 3.359, 4.78, 6.521, 8.597",\
                 "0.1263, 0.1832, 0.3742, 0.7542, 1.364, 2.222, 3.359, 4.78, 6.517, 8.599",\
                 "0.1332, 0.1909, 0.3796, 0.7564, 1.366, 2.221, 3.354, 4.786, 6.53, 8.595",\
                 "0.145, 0.2002, 0.3874, 0.7608, 1.366, 2.221, 3.353, 4.782, 6.518, 8.596",\
                 "0.1618, 0.2168, 0.3994, 0.7652, 1.369, 2.225, 3.351, 4.778, 6.519, 8.596",\
                 "0.1826, 0.2364, 0.4182, 0.7772, 1.374, 2.228, 3.356, 4.777, 6.515, 8.585",\
                 "0.2058, 0.2602, 0.441, 0.7956, 1.387, 2.234, 3.358, 4.779, 6.525, 8.587",\
                 "0.2286, 0.2854, 0.4672, 0.816, 1.408, 2.255, 3.369, 4.783, 6.518, 8.601",\
                 "0.2554, 0.3108, 0.4936, 0.8396, 1.431, 2.285, 3.401, 4.8, 6.522, 8.587");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.4669, 0.5104, 0.6254, 0.7929, 1.01, 1.29, 1.647, 2.092, 2.634, 3.281",\
                 "0.4776, 0.521, 0.6364, 0.8038, 1.021, 1.301, 1.657, 2.103, 2.645, 3.291",\
                 "0.5289, 0.572, 0.6868, 0.8545, 1.072, 1.352, 1.708, 2.153, 2.696, 3.343",\
                 "0.652, 0.695, 0.8095, 0.9765, 1.194, 1.474, 1.831, 2.275, 2.818, 3.465",\
                 "0.8333, 0.8784, 0.9956, 1.165, 1.384, 1.664, 2.02, 2.465, 3.007, 3.654",\
                 "1.055, 1.102, 1.224, 1.398, 1.62, 1.902, 2.259, 2.703, 3.246, 3.893",\
                 "1.323, 1.372, 1.5, 1.677, 1.903, 2.187, 2.545, 2.991, 3.533, 4.179",\
                 "1.635, 1.689, 1.824, 2.008, 2.239, 2.525, 2.884, 3.33, 3.873, 4.519",\
                 "1.992, 2.05, 2.194, 2.389, 2.628, 2.919, 3.28, 3.725, 4.268, 4.915",\
                 "2.396, 2.456, 2.61, 2.815, 3.065, 3.365, 3.732, 4.179, 4.722, 5.369");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2891, 0.3315, 0.4609, 0.6877, 1.036, 1.525, 2.167, 2.973, 3.959, 5.137",\
                 "0.3027, 0.3454, 0.4744, 0.7014, 1.05, 1.538, 2.179, 2.986, 3.975, 5.154",\
                 "0.3489, 0.3915, 0.5199, 0.7465, 1.095, 1.583, 2.224, 3.034, 4.023, 5.196",\
                 "0.4119, 0.4547, 0.5839, 0.8096, 1.157, 1.644, 2.288, 3.096, 4.084, 5.261",\
                 "0.4542, 0.4981, 0.6283, 0.8546, 1.202, 1.688, 2.33, 3.138, 4.124, 5.298",\
                 "0.4698, 0.516, 0.6492, 0.8753, 1.221, 1.708, 2.348, 3.156, 4.141, 5.321",\
                 "0.4525, 0.5015, 0.6403, 0.8683, 1.214, 1.699, 2.339, 3.146, 4.132, 5.31",\
                 "0.3979, 0.4504, 0.5952, 0.8277, 1.176, 1.661, 2.301, 3.106, 4.091, 5.265",\
                 "0.3039, 0.3597, 0.5115, 0.7492, 1.1, 1.591, 2.231, 3.036, 4.021, 5.195",\
                 "0.1689, 0.2283, 0.3869, 0.6305, 0.9848, 1.481, 2.127, 2.934, 3.917, 5.091");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.157, 0.1982, 0.316, 0.5084, 0.7968, 1.216, 1.788, 2.526, 3.435, 4.522",\
                 "0.1574, 0.1985, 0.3164, 0.5091, 0.7968, 1.214, 1.786, 2.523, 3.436, 4.523",\
                 "0.1565, 0.1988, 0.3175, 0.5081, 0.7966, 1.215, 1.786, 2.527, 3.436, 4.521",\
                 "0.1578, 0.1994, 0.3176, 0.51, 0.7968, 1.216, 1.786, 2.527, 3.436, 4.523",\
                 "0.176, 0.2164, 0.332, 0.5194, 0.803, 1.217, 1.788, 2.524, 3.436, 4.524",\
                 "0.1952, 0.237, 0.3502, 0.5382, 0.8178, 1.228, 1.792, 2.528, 3.437, 4.524",\
                 "0.2176, 0.2616, 0.373, 0.5572, 0.833, 1.239, 1.801, 2.533, 3.436, 4.52",\
                 "0.2456, 0.292, 0.4066, 0.5858, 0.8528, 1.251, 1.808, 2.537, 3.44, 4.52",\
                 "0.2752, 0.3254, 0.4448, 0.6238, 0.8874, 1.275, 1.821, 2.542, 3.444, 4.524",\
                 "0.3086, 0.361, 0.4892, 0.6698, 0.934, 1.314, 1.85, 2.556, 3.454, 4.53");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1266, 0.1835, 0.3744, 0.7545, 1.363, 2.223, 3.353, 4.784, 6.526, 8.596",\
                 "0.1267, 0.1839, 0.3741, 0.7542, 1.363, 2.222, 3.356, 4.783, 6.52, 8.598",\
                 "0.1264, 0.1841, 0.3747, 0.7545, 1.364, 2.222, 3.355, 4.778, 6.522, 8.596",\
                 "0.1332, 0.1903, 0.3795, 0.7566, 1.366, 2.224, 3.355, 4.782, 6.522, 8.592",\
                 "0.1448, 0.2006, 0.3872, 0.761, 1.365, 2.226, 3.354, 4.78, 6.53, 8.604",\
                 "0.1618, 0.2168, 0.3996, 0.765, 1.37, 2.227, 3.352, 4.778, 6.516, 8.596",\
                 "0.1826, 0.2364, 0.4178, 0.7772, 1.374, 2.228, 3.356, 4.779, 6.515, 8.586",\
                 "0.2054, 0.26, 0.4406, 0.795, 1.387, 2.237, 3.358, 4.778, 6.516, 8.587",\
                 "0.2302, 0.2856, 0.4662, 0.815, 1.408, 2.256, 3.371, 4.782, 6.517, 8.605",\
                 "0.2556, 0.3124, 0.4946, 0.8388, 1.43, 2.281, 3.399, 4.801, 6.521, 8.587");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.4669, 0.5104, 0.6254, 0.7929, 1.01, 1.29, 1.647, 2.092, 2.634, 3.281",\
                 "0.4776, 0.521, 0.6364, 0.8038, 1.021, 1.301, 1.657, 2.103, 2.645, 3.291",\
                 "0.5289, 0.572, 0.6868, 0.8545, 1.072, 1.352, 1.708, 2.153, 2.696, 3.343",\
                 "0.652, 0.695, 0.8095, 0.9765, 1.194, 1.474, 1.831, 2.275, 2.818, 3.465",\
                 "0.8333, 0.8784, 0.9956, 1.165, 1.384, 1.664, 2.02, 2.465, 3.007, 3.654",\
                 "1.055, 1.102, 1.224, 1.398, 1.62, 1.902, 2.259, 2.703, 3.246, 3.893",\
                 "1.323, 1.372, 1.5, 1.677, 1.903, 2.187, 2.545, 2.991, 3.533, 4.179",\
                 "1.635, 1.689, 1.824, 2.008, 2.239, 2.525, 2.884, 3.33, 3.873, 4.519",\
                 "1.992, 2.05, 2.194, 2.389, 2.628, 2.919, 3.28, 3.725, 4.268, 4.915",\
                 "2.396, 2.456, 2.61, 2.815, 3.065, 3.365, 3.732, 4.179, 4.722, 5.369");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.2891, 0.3316, 0.4609, 0.6877, 1.036, 1.525, 2.167, 2.973, 3.96, 5.137",\
                 "0.3027, 0.3454, 0.4745, 0.7014, 1.05, 1.538, 2.18, 2.988, 3.974, 5.154",\
                 "0.349, 0.3914, 0.52, 0.7467, 1.095, 1.583, 2.225, 3.034, 4.021, 5.196",\
                 "0.4116, 0.4545, 0.5839, 0.8095, 1.157, 1.645, 2.286, 3.095, 4.08, 5.259",\
                 "0.4541, 0.4981, 0.6286, 0.8546, 1.202, 1.688, 2.329, 3.136, 4.126, 5.304",\
                 "0.4697, 0.516, 0.6491, 0.8755, 1.221, 1.708, 2.348, 3.156, 4.144, 5.321",\
                 "0.4524, 0.5015, 0.6403, 0.8683, 1.214, 1.699, 2.339, 3.146, 4.131, 5.31",\
                 "0.3979, 0.4503, 0.5951, 0.8281, 1.176, 1.661, 2.301, 3.107, 4.092, 5.265",\
                 "0.3041, 0.3598, 0.5108, 0.7495, 1.1, 1.591, 2.231, 3.037, 4.021, 5.195",\
                 "0.1686, 0.2285, 0.3866, 0.6317, 0.9848, 1.48, 2.127, 2.933, 3.917, 5.091");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1567, 0.1983, 0.3163, 0.5081, 0.7962, 1.216, 1.787, 2.527, 3.436, 4.52",\
                 "0.1573, 0.1984, 0.3169, 0.5084, 0.7968, 1.214, 1.786, 2.527, 3.435, 4.522",\
                 "0.1565, 0.1988, 0.3163, 0.508, 0.7964, 1.214, 1.786, 2.527, 3.436, 4.522",\
                 "0.1578, 0.1998, 0.3176, 0.5096, 0.7978, 1.215, 1.788, 2.527, 3.432, 4.52",\
                 "0.176, 0.2168, 0.3316, 0.519, 0.802, 1.218, 1.787, 2.524, 3.436, 4.524",\
                 "0.1952, 0.2374, 0.3504, 0.5382, 0.8182, 1.228, 1.794, 2.527, 3.436, 4.524",\
                 "0.2178, 0.2624, 0.3738, 0.5576, 0.8342, 1.239, 1.801, 2.533, 3.438, 4.523",\
                 "0.2456, 0.2916, 0.4054, 0.5858, 0.8524, 1.25, 1.809, 2.538, 3.441, 4.52",\
                 "0.2756, 0.3264, 0.4456, 0.6238, 0.8868, 1.274, 1.819, 2.542, 3.444, 4.525",\
                 "0.3066, 0.3614, 0.4878, 0.669, 0.9322, 1.314, 1.85, 2.558, 3.45, 4.531");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.005944, 0.0233, 0.05644, 0.1081, 0.1805, 0.2758, 0.3959, 0.5425, 0.7173");
          values("0.1266, 0.1835, 0.3744, 0.7545, 1.363, 2.223, 3.353, 4.784, 6.526, 8.596",\
                 "0.1267, 0.1839, 0.3741, 0.7542, 1.363, 2.222, 3.356, 4.783, 6.52, 8.598",\
                 "0.1264, 0.1841, 0.3747, 0.7545, 1.364, 2.222, 3.355, 4.778, 6.522, 8.596",\
                 "0.1332, 0.1903, 0.3795, 0.7566, 1.366, 2.224, 3.355, 4.782, 6.522, 8.592",\
                 "0.1448, 0.2006, 0.3872, 0.761, 1.365, 2.226, 3.354, 4.78, 6.53, 8.604",\
                 "0.1618, 0.2168, 0.3996, 0.765, 1.37, 2.227, 3.352, 4.778, 6.516, 8.596",\
                 "0.1826, 0.2364, 0.4178, 0.7772, 1.374, 2.228, 3.356, 4.779, 6.515, 8.586",\
                 "0.2054, 0.26, 0.4406, 0.795, 1.387, 2.237, 3.358, 4.778, 6.516, 8.587",\
                 "0.2302, 0.2856, 0.4662, 0.815, 1.408, 2.256, 3.371, 4.782, 6.517, 8.605",\
                 "0.2556, 0.3124, 0.4946, 0.8388, 1.43, 2.281, 3.399, 4.801, 6.521, 8.587");
        }
      }
    }
  }

/*--------EOF---------*/

  cell(gf180mcu_fd_sc_mcu7t5v0__xor3_4) {
    area : 72.441600 ;

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&!A3" ;
      value : "0.0001694748" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&!A2&A3" ;
      value : "0.0001692537" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&!A3" ;
      value : "0.0001672275" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "!A1&A2&A3" ;
      value : "0.0001721874" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&!A3" ;
      value : "0.0001983828" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&!A2&A3" ;
      value : "0.0002033427" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&!A3" ;
      value : "0.0001351977" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      when : "A1&A2&A3" ;
      value : "0.0001349766" ;
    }

    leakage_power() {
      related_pg_pin : "VDD" ;
      value : "0.0002033427" ;
    }

    pin(VDD) {
        direction : "inout";
      voltage_name : VDD ;
      pg_type : primary_power ;
    }

    pin(VSS) {
        direction : "inout";
      voltage_name : VSS ;
      pg_type : primary_ground ;
    }

    pin(A1) {
      capacitance : 0.004523 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A2) {
      capacitance : 0.004919 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(A3) {
      capacitance : 0.006647 ;
      direction : input ;
      driver_waveform_rise : driver_waveform_default_rise ;
      driver_waveform_fall : driver_waveform_default_fall ;
      input_voltage : default ;
      max_transition : 8.6 ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;
    }

    pin(Z) {
      direction : output ;
      function : "(A1^A2^A3)" ;
      max_capacitance : 1.436 ;
      max_transition : 8.6 ;
      min_capacitance : 0.001 ;
      output_voltage : default ;
      related_ground_pin : VSS ;
      related_power_pin : VDD ;

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.4256, 0.4079, 0.3745, 0.3534, 0.3417, 0.3342, 0.3295, 0.3263, 0.3242, 0.3226",\
                 "0.4249, 0.4069, 0.3737, 0.3527, 0.3407, 0.3335, 0.3287, 0.3257, 0.3236, 0.3219",\
                 "0.4243, 0.4064, 0.3732, 0.352, 0.3402, 0.3329, 0.3283, 0.3252, 0.323, 0.3213",\
                 "0.4265, 0.4085, 0.3753, 0.3541, 0.3424, 0.335, 0.3304, 0.3273, 0.3251, 0.3235",\
                 "0.4324, 0.4146, 0.3812, 0.3603, 0.3481, 0.341, 0.3364, 0.3332, 0.331, 0.3295",\
                 "0.4421, 0.4241, 0.3908, 0.3699, 0.3581, 0.3509, 0.3462, 0.3432, 0.341, 0.3393",\
                 "0.4563, 0.4385, 0.4051, 0.3842, 0.3723, 0.3648, 0.3603, 0.3572, 0.3551, 0.3535",\
                 "0.4749, 0.457, 0.4237, 0.4028, 0.3912, 0.3835, 0.379, 0.3758, 0.3737, 0.372",\
                 "0.4984, 0.4805, 0.4471, 0.426, 0.4144, 0.407, 0.4023, 0.3992, 0.397, 0.3953",\
                 "0.5269, 0.509, 0.4754, 0.4545, 0.4426, 0.4354, 0.4305, 0.4274, 0.4252, 0.4236");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3758, 0.3642, 0.348, 0.3363, 0.33, 0.3279, 0.3279, 0.3297, 0.3324, 0.3537",\
                 "0.3758, 0.3642, 0.3473, 0.3355, 0.3303, 0.3279, 0.3279, 0.3293, 0.3324, 0.3531",\
                 "0.3753, 0.3637, 0.3474, 0.3357, 0.3295, 0.3276, 0.3276, 0.329, 0.3308, 0.3539",\
                 "0.3763, 0.3648, 0.3481, 0.3368, 0.3311, 0.3289, 0.3285, 0.33, 0.3335, 0.3577",\
                 "0.3797, 0.3683, 0.3513, 0.3397, 0.3344, 0.3326, 0.3322, 0.3336, 0.3355, 0.361",\
                 "0.3846, 0.3734, 0.357, 0.3456, 0.34, 0.3385, 0.3391, 0.3401, 0.3448, 0.3731",\
                 "0.3943, 0.3827, 0.366, 0.3544, 0.3503, 0.3481, 0.348, 0.35, 0.3528, 0.3934",\
                 "0.4087, 0.3972, 0.381, 0.3692, 0.3622, 0.3633, 0.3655, 0.3652, 0.3695, 0.4168",\
                 "0.427, 0.4158, 0.3998, 0.3883, 0.3804, 0.3788, 0.3813, 0.386, 0.3909, 0.4549",\
                 "0.4495, 0.4385, 0.4217, 0.4094, 0.4044, 0.4009, 0.4015, 0.4056, 0.4212, 0.5123");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "!A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.433, 0.4209, 0.4035, 0.394, 0.389, 0.3864, 0.3847, 0.3836, 0.3829, 0.3825",\
                 "0.4328, 0.4206, 0.4031, 0.3938, 0.389, 0.3863, 0.3847, 0.3837, 0.3828, 0.3822",\
                 "0.4324, 0.4203, 0.4029, 0.3936, 0.3887, 0.386, 0.3844, 0.3834, 0.3825, 0.3819",\
                 "0.4336, 0.4214, 0.4041, 0.3947, 0.3899, 0.387, 0.3855, 0.3844, 0.3835, 0.383",\
                 "0.437, 0.4249, 0.4075, 0.3982, 0.3932, 0.3905, 0.389, 0.388, 0.3871, 0.3865",\
                 "0.4435, 0.4313, 0.4141, 0.4049, 0.3999, 0.3971, 0.3955, 0.3945, 0.3937, 0.3932",\
                 "0.4536, 0.4415, 0.4241, 0.415, 0.4101, 0.4072, 0.4055, 0.4044, 0.4037, 0.4031",\
                 "0.4679, 0.4557, 0.4385, 0.4292, 0.424, 0.4212, 0.4196, 0.4185, 0.4178, 0.4173",\
                 "0.486, 0.4738, 0.4564, 0.4474, 0.442, 0.4394, 0.4376, 0.4366, 0.4358, 0.4353",\
                 "0.5085, 0.4964, 0.4789, 0.4696, 0.4645, 0.4621, 0.4604, 0.4592, 0.4585, 0.4581");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3542, 0.3464, 0.3367, 0.3316, 0.331, 0.3325, 0.3338, 0.3356, 0.3397, 0.36",\
                 "0.3538, 0.346, 0.3363, 0.3312, 0.331, 0.3322, 0.3334, 0.3369, 0.339, 0.3593",\
                 "0.3532, 0.3455, 0.3352, 0.3306, 0.3297, 0.3319, 0.3348, 0.3359, 0.341, 0.3592",\
                 "0.3553, 0.3476, 0.3384, 0.3329, 0.3325, 0.3338, 0.3351, 0.3375, 0.3427, 0.3649",\
                 "0.3614, 0.3535, 0.3435, 0.3388, 0.3386, 0.3401, 0.3427, 0.3435, 0.3481, 0.3776",\
                 "0.3714, 0.3629, 0.3536, 0.3486, 0.3481, 0.35, 0.3503, 0.3539, 0.3587, 0.3942",\
                 "0.3855, 0.3773, 0.3677, 0.3628, 0.3617, 0.3629, 0.3648, 0.3674, 0.3735, 0.4246",\
                 "0.4039, 0.396, 0.3864, 0.3815, 0.3815, 0.3827, 0.3839, 0.3868, 0.3948, 0.4749",\
                 "0.4278, 0.4202, 0.4101, 0.404, 0.405, 0.4071, 0.4097, 0.4097, 0.4245, 0.5549",\
                 "0.4563, 0.4482, 0.4384, 0.4331, 0.4311, 0.4328, 0.4381, 0.4424, 0.4741, 0.703");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3538, 0.3359, 0.3025, 0.2813, 0.2692, 0.2619, 0.2572, 0.254, 0.2519, 0.2502",\
                 "0.3537, 0.3357, 0.3023, 0.2811, 0.269, 0.2616, 0.257, 0.2538, 0.2516, 0.25",\
                 "0.3537, 0.3358, 0.3024, 0.2812, 0.2691, 0.2617, 0.257, 0.2539, 0.2517, 0.2501",\
                 "0.355, 0.3371, 0.3036, 0.2823, 0.2703, 0.2631, 0.2584, 0.2552, 0.253, 0.2513",\
                 "0.359, 0.3409, 0.3073, 0.2861, 0.2741, 0.2667, 0.2619, 0.2588, 0.2567, 0.2548",\
                 "0.3662, 0.3481, 0.314, 0.2928, 0.2806, 0.2731, 0.2684, 0.2651, 0.2628, 0.2612",\
                 "0.3774, 0.3592, 0.3249, 0.303, 0.2906, 0.283, 0.2781, 0.2748, 0.2726, 0.271",\
                 "0.3929, 0.3747, 0.3399, 0.3174, 0.3046, 0.2968, 0.2919, 0.2886, 0.2864, 0.2846",\
                 "0.4129, 0.3944, 0.3592, 0.3361, 0.323, 0.3147, 0.3096, 0.3062, 0.3038, 0.3022",\
                 "0.437, 0.4185, 0.3825, 0.3587, 0.3451, 0.3366, 0.3314, 0.3278, 0.3255, 0.3237");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3574, 0.346, 0.3298, 0.3183, 0.313, 0.3112, 0.3115, 0.3129, 0.3147, 0.3349",\
                 "0.3572, 0.3457, 0.3293, 0.3181, 0.3127, 0.3112, 0.3112, 0.3126, 0.3157, 0.3352",\
                 "0.3568, 0.3454, 0.3296, 0.3178, 0.3124, 0.3109, 0.3108, 0.3123, 0.3154, 0.336",\
                 "0.3581, 0.3469, 0.3302, 0.3194, 0.3137, 0.3122, 0.3121, 0.3136, 0.3174, 0.3391",\
                 "0.3627, 0.3512, 0.335, 0.3238, 0.3181, 0.3168, 0.3178, 0.3172, 0.3204, 0.3482",\
                 "0.3724, 0.3611, 0.3449, 0.3332, 0.328, 0.3261, 0.3253, 0.3273, 0.3312, 0.3667",\
                 "0.3883, 0.3763, 0.3592, 0.3477, 0.3407, 0.3389, 0.3389, 0.3405, 0.3466, 0.396",\
                 "0.4081, 0.3961, 0.3774, 0.3649, 0.3593, 0.3568, 0.3554, 0.3572, 0.366, 0.442",\
                 "0.4328, 0.4204, 0.4024, 0.3891, 0.3803, 0.3789, 0.3788, 0.3789, 0.3941, 0.5291",\
                 "0.4639, 0.4514, 0.4319, 0.4178, 0.4086, 0.4046, 0.4075, 0.409, 0.4435, 0.6927");
        }
      }

      internal_power() {
        related_pin : "A1" ;
        when : "A2&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.4174, 0.4053, 0.3877, 0.3784, 0.3735, 0.3707, 0.3691, 0.3681, 0.3675, 0.367",\
                 "0.4171, 0.405, 0.3875, 0.3784, 0.3735, 0.3705, 0.3689, 0.3679, 0.3672, 0.3667",\
                 "0.4168, 0.4047, 0.3872, 0.3781, 0.373, 0.3702, 0.3685, 0.3675, 0.3668, 0.3663",\
                 "0.4182, 0.406, 0.3886, 0.3794, 0.3744, 0.3715, 0.3698, 0.3688, 0.3681, 0.3677",\
                 "0.4226, 0.4104, 0.393, 0.3836, 0.3787, 0.3758, 0.3742, 0.3732, 0.3725, 0.372",\
                 "0.4308, 0.4187, 0.4012, 0.3919, 0.387, 0.3844, 0.3827, 0.3817, 0.3808, 0.3804",\
                 "0.4427, 0.4306, 0.4131, 0.4038, 0.3989, 0.3961, 0.3946, 0.3934, 0.3926, 0.3921",\
                 "0.4582, 0.446, 0.4284, 0.4196, 0.4145, 0.4117, 0.4101, 0.409, 0.4079, 0.4076",\
                 "0.4776, 0.4656, 0.448, 0.4387, 0.4339, 0.4311, 0.4296, 0.4285, 0.4278, 0.4272",\
                 "0.502, 0.4894, 0.4718, 0.4626, 0.4576, 0.4549, 0.4533, 0.4522, 0.4514, 0.4508");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2818, 0.2739, 0.2643, 0.2591, 0.2585, 0.2597, 0.261, 0.2641, 0.2678, 0.2872",\
                 "0.2816, 0.2736, 0.2637, 0.2589, 0.2588, 0.26, 0.2606, 0.2637, 0.2688, 0.2865",\
                 "0.2818, 0.2739, 0.2642, 0.259, 0.2581, 0.2604, 0.2616, 0.2637, 0.2678, 0.2867",\
                 "0.2835, 0.2758, 0.266, 0.2608, 0.2607, 0.2617, 0.2626, 0.266, 0.2695, 0.2915",\
                 "0.2875, 0.2796, 0.2694, 0.2645, 0.2637, 0.2647, 0.2669, 0.2687, 0.2741, 0.2971",\
                 "0.2937, 0.2859, 0.2763, 0.2716, 0.2704, 0.2716, 0.2735, 0.2759, 0.2798, 0.3095",\
                 "0.3034, 0.2955, 0.2859, 0.2793, 0.2813, 0.2818, 0.2831, 0.2847, 0.2895, 0.3266",\
                 "0.3162, 0.3083, 0.2984, 0.2928, 0.2908, 0.2937, 0.2989, 0.3012, 0.3029, 0.3476",\
                 "0.3327, 0.3247, 0.3149, 0.309, 0.3071, 0.3069, 0.3128, 0.3187, 0.3243, 0.3856",\
                 "0.3525, 0.3444, 0.3346, 0.3289, 0.3278, 0.3283, 0.3273, 0.3337, 0.3506, 0.4369");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.4215, 0.4036, 0.3702, 0.3493, 0.3376, 0.3302, 0.3256, 0.3223, 0.3202, 0.3185",\
                 "0.4205, 0.4027, 0.3694, 0.3483, 0.3365, 0.3291, 0.3245, 0.3214, 0.3192, 0.3176",\
                 "0.4208, 0.4029, 0.3696, 0.3486, 0.3366, 0.3295, 0.3247, 0.3216, 0.3194, 0.318",\
                 "0.4238, 0.4057, 0.3724, 0.3513, 0.3394, 0.3322, 0.3276, 0.3246, 0.3223, 0.3206",\
                 "0.4294, 0.4116, 0.3781, 0.3573, 0.3455, 0.3382, 0.3334, 0.3301, 0.328, 0.3264",\
                 "0.4379, 0.4199, 0.3866, 0.3656, 0.3537, 0.3466, 0.3418, 0.3389, 0.3367, 0.335",\
                 "0.4496, 0.4318, 0.3987, 0.3776, 0.3658, 0.3584, 0.3536, 0.3505, 0.3484, 0.3467",\
                 "0.4651, 0.4475, 0.4138, 0.3932, 0.3811, 0.3739, 0.369, 0.3659, 0.3636, 0.3621",\
                 "0.4847, 0.467, 0.4335, 0.4125, 0.4004, 0.3933, 0.3887, 0.3856, 0.3833, 0.3817",\
                 "0.5086, 0.4908, 0.4573, 0.4363, 0.4243, 0.417, 0.4124, 0.4094, 0.4072, 0.4056");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3618, 0.3506, 0.3346, 0.3233, 0.3173, 0.3156, 0.3158, 0.3179, 0.3191, 0.3394",\
                 "0.3619, 0.3508, 0.3349, 0.3239, 0.3181, 0.3169, 0.3158, 0.3169, 0.3204, 0.3404",\
                 "0.3625, 0.351, 0.3346, 0.3237, 0.318, 0.3169, 0.3165, 0.3179, 0.3214, 0.3429",\
                 "0.3639, 0.3525, 0.336, 0.3252, 0.3195, 0.3179, 0.3178, 0.3196, 0.3227, 0.3457",\
                 "0.3675, 0.356, 0.3404, 0.3285, 0.3231, 0.3218, 0.3214, 0.3229, 0.3268, 0.3526",\
                 "0.3732, 0.3617, 0.3462, 0.3347, 0.3293, 0.3274, 0.3274, 0.3307, 0.3328, 0.3621",\
                 "0.3824, 0.3714, 0.3548, 0.3428, 0.3389, 0.3373, 0.3363, 0.3386, 0.3421, 0.3763",\
                 "0.3945, 0.3834, 0.3671, 0.3551, 0.3489, 0.3499, 0.3521, 0.3521, 0.3538, 0.4007",\
                 "0.4101, 0.3991, 0.3823, 0.3707, 0.364, 0.3621, 0.3643, 0.3706, 0.3742, 0.4301",\
                 "0.4289, 0.4177, 0.4015, 0.3903, 0.3834, 0.3812, 0.3795, 0.384, 0.4001, 0.4825");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "!A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.422, 0.4099, 0.3924, 0.3831, 0.3781, 0.3752, 0.3737, 0.3727, 0.3721, 0.3716",\
                 "0.4221, 0.41, 0.3925, 0.3834, 0.3784, 0.3754, 0.3738, 0.3728, 0.3721, 0.3716",\
                 "0.4224, 0.4102, 0.3928, 0.3837, 0.3786, 0.3757, 0.3741, 0.3731, 0.3724, 0.3719",\
                 "0.4239, 0.4118, 0.3944, 0.3852, 0.3802, 0.3773, 0.3756, 0.3746, 0.3739, 0.3734",\
                 "0.4274, 0.4153, 0.3979, 0.3887, 0.3837, 0.3808, 0.3791, 0.3782, 0.3775, 0.377",\
                 "0.4335, 0.4213, 0.4038, 0.3946, 0.3898, 0.3868, 0.3851, 0.384, 0.3833, 0.3828",\
                 "0.4421, 0.43, 0.4125, 0.4035, 0.3984, 0.3954, 0.3937, 0.3927, 0.3921, 0.3918",\
                 "0.4544, 0.4422, 0.4247, 0.4157, 0.4104, 0.4075, 0.406, 0.405, 0.4042, 0.4037",\
                 "0.4696, 0.4575, 0.44, 0.431, 0.4258, 0.4228, 0.4213, 0.4202, 0.4196, 0.4191",\
                 "0.4882, 0.4765, 0.4588, 0.4497, 0.4445, 0.4416, 0.44, 0.4389, 0.4383, 0.4378");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.35, 0.3423, 0.3331, 0.3277, 0.3265, 0.3286, 0.3305, 0.3323, 0.3363, 0.3561",\
                 "0.3494, 0.3416, 0.332, 0.3268, 0.3268, 0.3276, 0.3292, 0.3316, 0.3354, 0.3557",\
                 "0.3495, 0.3416, 0.332, 0.3271, 0.327, 0.3282, 0.3288, 0.3319, 0.3367, 0.3569",\
                 "0.3522, 0.3445, 0.3348, 0.3299, 0.3298, 0.3309, 0.3318, 0.3349, 0.34, 0.3626",\
                 "0.3583, 0.3507, 0.3407, 0.3363, 0.3356, 0.3365, 0.3381, 0.3402, 0.3454, 0.3762",\
                 "0.3669, 0.3593, 0.3495, 0.3443, 0.3442, 0.3451, 0.3466, 0.3496, 0.3545, 0.3914",\
                 "0.3788, 0.3708, 0.362, 0.3566, 0.3553, 0.3573, 0.3595, 0.3605, 0.3673, 0.421",\
                 "0.3943, 0.3869, 0.3763, 0.3717, 0.3717, 0.3721, 0.3737, 0.3775, 0.3857, 0.4713",\
                 "0.414, 0.4062, 0.3963, 0.39, 0.3906, 0.3939, 0.3952, 0.397, 0.4132, 0.5561",\
                 "0.4378, 0.4303, 0.4205, 0.4148, 0.4142, 0.4157, 0.4196, 0.4236, 0.4619, 0.7225");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&!A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3564, 0.3385, 0.305, 0.2838, 0.2716, 0.2644, 0.2597, 0.2566, 0.2545, 0.2528",\
                 "0.3566, 0.3386, 0.3051, 0.2839, 0.2719, 0.2646, 0.2599, 0.2567, 0.2545, 0.2529",\
                 "0.3566, 0.3388, 0.3054, 0.2841, 0.2721, 0.2648, 0.2601, 0.257, 0.2547, 0.2531",\
                 "0.3579, 0.3399, 0.3065, 0.2852, 0.2732, 0.2659, 0.2612, 0.258, 0.2559, 0.2543",\
                 "0.3617, 0.3436, 0.3099, 0.2885, 0.2767, 0.2693, 0.2645, 0.2612, 0.2592, 0.2575",\
                 "0.3682, 0.3502, 0.3162, 0.2947, 0.2827, 0.2751, 0.2704, 0.2671, 0.2649, 0.2633",\
                 "0.3788, 0.3608, 0.3264, 0.3046, 0.2923, 0.2848, 0.2798, 0.2765, 0.2742, 0.2727",\
                 "0.3939, 0.3756, 0.3408, 0.3185, 0.3059, 0.2981, 0.2931, 0.2898, 0.2873, 0.2857",\
                 "0.4132, 0.3947, 0.3595, 0.3365, 0.3236, 0.3152, 0.3101, 0.3068, 0.3045, 0.3027",\
                 "0.4366, 0.4181, 0.382, 0.3588, 0.3451, 0.3365, 0.3313, 0.3277, 0.3254, 0.3237");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3678, 0.3561, 0.3395, 0.328, 0.3216, 0.32, 0.3199, 0.3214, 0.3241, 0.3442",\
                 "0.3673, 0.3557, 0.3391, 0.3277, 0.3213, 0.3193, 0.3196, 0.321, 0.3238, 0.3422",\
                 "0.3675, 0.3557, 0.3394, 0.3277, 0.3214, 0.3196, 0.3196, 0.321, 0.3221, 0.3451",\
                 "0.369, 0.3573, 0.3404, 0.3286, 0.3236, 0.3216, 0.3212, 0.3227, 0.3252, 0.3488",\
                 "0.3736, 0.3618, 0.3454, 0.3335, 0.3275, 0.3256, 0.3268, 0.327, 0.3302, 0.3588",\
                 "0.3835, 0.3718, 0.355, 0.3429, 0.3364, 0.3345, 0.3348, 0.3354, 0.3399, 0.3773",\
                 "0.3992, 0.3873, 0.3707, 0.3575, 0.3511, 0.3487, 0.3486, 0.3496, 0.3551, 0.4088",\
                 "0.4197, 0.4073, 0.389, 0.3762, 0.3692, 0.3655, 0.3658, 0.3673, 0.3745, 0.4572",\
                 "0.4447, 0.4323, 0.4131, 0.3993, 0.3916, 0.3896, 0.3882, 0.3894, 0.406, 0.5475",\
                 "0.4755, 0.4626, 0.4431, 0.4289, 0.4193, 0.4163, 0.4183, 0.4203, 0.4587, 0.7212");
        }
      }

      internal_power() {
        related_pin : "A2" ;
        when : "A1&A3" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.4247, 0.4124, 0.3952, 0.3859, 0.3809, 0.3783, 0.3767, 0.3755, 0.3747, 0.3742",\
                 "0.4244, 0.4123, 0.3949, 0.3856, 0.3807, 0.378, 0.3764, 0.3754, 0.3745, 0.3739",\
                 "0.4245, 0.4123, 0.395, 0.3856, 0.3807, 0.378, 0.3765, 0.3754, 0.3745, 0.3739",\
                 "0.4261, 0.4139, 0.3965, 0.3873, 0.3822, 0.3796, 0.378, 0.3769, 0.3761, 0.3756",\
                 "0.4305, 0.4182, 0.4009, 0.3917, 0.3868, 0.3841, 0.3821, 0.3811, 0.3805, 0.3801",\
                 "0.4389, 0.4267, 0.4092, 0.3999, 0.395, 0.3921, 0.3905, 0.3894, 0.3888, 0.3883",\
                 "0.4513, 0.4391, 0.422, 0.4124, 0.4074, 0.4049, 0.4031, 0.402, 0.4013, 0.4008",\
                 "0.4672, 0.4552, 0.4376, 0.4284, 0.4233, 0.4204, 0.419, 0.4178, 0.4171, 0.4165",\
                 "0.4872, 0.4751, 0.4575, 0.4484, 0.4432, 0.4407, 0.4389, 0.4379, 0.4372, 0.4367",\
                 "0.5122, 0.4998, 0.4822, 0.4732, 0.4681, 0.4652, 0.4635, 0.4625, 0.4618, 0.4614");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2843, 0.2766, 0.2669, 0.2617, 0.261, 0.2624, 0.2636, 0.2671, 0.2708, 0.2895",\
                 "0.2846, 0.2769, 0.267, 0.2619, 0.2612, 0.2627, 0.264, 0.2671, 0.2705, 0.2901",\
                 "0.2848, 0.2769, 0.2673, 0.2621, 0.2614, 0.263, 0.2656, 0.2671, 0.2702, 0.2897",\
                 "0.2863, 0.2784, 0.2688, 0.2636, 0.2635, 0.2643, 0.2653, 0.2684, 0.2721, 0.2945",\
                 "0.2896, 0.2819, 0.2723, 0.2667, 0.2658, 0.2673, 0.2712, 0.2717, 0.2758, 0.2982",\
                 "0.2959, 0.2881, 0.2782, 0.2744, 0.2727, 0.2739, 0.2768, 0.2779, 0.2825, 0.309",\
                 "0.3053, 0.2974, 0.2873, 0.2818, 0.2825, 0.2845, 0.2844, 0.2877, 0.2912, 0.3271",\
                 "0.3178, 0.3103, 0.3001, 0.294, 0.2932, 0.296, 0.3006, 0.3022, 0.3045, 0.3459",\
                 "0.3343, 0.3261, 0.3157, 0.3099, 0.3086, 0.3089, 0.3128, 0.32, 0.3253, 0.3808",\
                 "0.3539, 0.346, 0.3354, 0.3306, 0.3286, 0.3274, 0.3293, 0.3354, 0.3529, 0.4311");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3465, 0.3286, 0.2954, 0.2745, 0.2628, 0.2554, 0.2508, 0.2478, 0.2455, 0.2438",\
                 "0.3454, 0.3276, 0.2944, 0.2737, 0.2616, 0.2544, 0.2499, 0.2467, 0.2446, 0.243",\
                 "0.3444, 0.3266, 0.2933, 0.2724, 0.2606, 0.2534, 0.2488, 0.2456, 0.2436, 0.242",\
                 "0.3478, 0.3298, 0.2964, 0.2752, 0.2634, 0.2562, 0.2516, 0.2484, 0.2463, 0.2447",\
                 "0.3684, 0.3494, 0.3136, 0.2895, 0.2757, 0.2673, 0.262, 0.2584, 0.2561, 0.2542",\
                 "0.4097, 0.3889, 0.3472, 0.3176, 0.2996, 0.2884, 0.2813, 0.2766, 0.2734, 0.271",\
                 "0.4597, 0.4371, 0.3898, 0.354, 0.3315, 0.3176, 0.3085, 0.3024, 0.2982, 0.2952",\
                 "0.5207, 0.4962, 0.4436, 0.4011, 0.3739, 0.3562, 0.3445, 0.3367, 0.3311, 0.3273",\
                 "0.5954, 0.5693, 0.5114, 0.4609, 0.4283, 0.4058, 0.3909, 0.3806, 0.3736, 0.3686",\
                 "0.6837, 0.6568, 0.5929, 0.5345, 0.4943, 0.4671, 0.4491, 0.4355, 0.4263, 0.4196");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1911, 0.1838, 0.1755, 0.1721, 0.1714, 0.1733, 0.1752, 0.1783, 0.1813, 0.1975",\
                 "0.1914, 0.1841, 0.1754, 0.1724, 0.1719, 0.1739, 0.1755, 0.1783, 0.182, 0.1962",\
                 "0.192, 0.1848, 0.1764, 0.1725, 0.1722, 0.1739, 0.1755, 0.1783, 0.1817, 0.1974",\
                 "0.2035, 0.1957, 0.1845, 0.1781, 0.1765, 0.1772, 0.1788, 0.1816, 0.1846, 0.2012",\
                 "0.2279, 0.2172, 0.2025, 0.1931, 0.1874, 0.1868, 0.1874, 0.1908, 0.1956, 0.2128",\
                 "0.2621, 0.2484, 0.2286, 0.2148, 0.2086, 0.2036, 0.2026, 0.2034, 0.2065, 0.2289",\
                 "0.3083, 0.2911, 0.2665, 0.2454, 0.2334, 0.2307, 0.2286, 0.2251, 0.226, 0.2534",\
                 "0.3653, 0.3438, 0.3133, 0.289, 0.271, 0.2607, 0.2616, 0.2583, 0.2595, 0.2904",\
                 "0.4337, 0.4089, 0.3717, 0.343, 0.3196, 0.3059, 0.2979, 0.2989, 0.3001, 0.3452",\
                 "0.5121, 0.484, 0.4403, 0.4055, 0.3784, 0.3591, 0.3458, 0.3414, 0.3524, 0.4237");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "!A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3146, 0.3024, 0.2851, 0.2757, 0.2705, 0.2676, 0.2658, 0.2649, 0.2641, 0.2636",\
                 "0.3144, 0.3024, 0.2848, 0.2755, 0.2703, 0.2674, 0.2656, 0.2645, 0.2638, 0.2633",\
                 "0.3132, 0.301, 0.2836, 0.2741, 0.269, 0.2661, 0.2645, 0.2635, 0.2627, 0.262",\
                 "0.3132, 0.3011, 0.2835, 0.274, 0.2691, 0.2661, 0.2646, 0.2635, 0.2627, 0.262",\
                 "0.3159, 0.3038, 0.2866, 0.2774, 0.2726, 0.2698, 0.2681, 0.267, 0.2664, 0.2659",\
                 "0.3251, 0.3128, 0.2955, 0.2858, 0.2808, 0.2781, 0.2764, 0.2753, 0.2746, 0.2741",\
                 "0.3406, 0.328, 0.3096, 0.2999, 0.294, 0.2913, 0.2894, 0.2883, 0.2876, 0.2869",\
                 "0.3612, 0.3484, 0.3288, 0.3179, 0.3124, 0.309, 0.307, 0.306, 0.3052, 0.3046",\
                 "0.3874, 0.3743, 0.354, 0.3423, 0.3357, 0.3323, 0.3303, 0.329, 0.3281, 0.3277",\
                 "0.4192, 0.4051, 0.3839, 0.3716, 0.3647, 0.3607, 0.3583, 0.3568, 0.3559, 0.3552");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3118, 0.3031, 0.2921, 0.2856, 0.2838, 0.2845, 0.2861, 0.2872, 0.2915, 0.3059",\
                 "0.3115, 0.3029, 0.2917, 0.2853, 0.2831, 0.2841, 0.2854, 0.2885, 0.2906, 0.3065",\
                 "0.3119, 0.3032, 0.2922, 0.2857, 0.284, 0.2845, 0.2864, 0.2875, 0.2922, 0.308",\
                 "0.3147, 0.3062, 0.2954, 0.2887, 0.2876, 0.2878, 0.2894, 0.2905, 0.2956, 0.3147",\
                 "0.3226, 0.3136, 0.3025, 0.2954, 0.2937, 0.2944, 0.296, 0.2971, 0.3016, 0.3249",\
                 "0.3339, 0.3253, 0.3141, 0.3075, 0.3053, 0.3056, 0.3072, 0.3095, 0.3136, 0.3429",\
                 "0.351, 0.3422, 0.3303, 0.3237, 0.3219, 0.3214, 0.3243, 0.325, 0.3299, 0.3724",\
                 "0.3742, 0.3655, 0.3527, 0.3449, 0.3432, 0.3449, 0.3455, 0.3471, 0.3531, 0.4174",\
                 "0.404, 0.3944, 0.3816, 0.3725, 0.3692, 0.3703, 0.3738, 0.375, 0.3877, 0.4906",\
                 "0.4398, 0.4295, 0.4162, 0.4058, 0.4023, 0.4016, 0.4055, 0.4104, 0.4341, 0.6178");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&!A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3146, 0.3024, 0.2851, 0.2757, 0.2705, 0.2676, 0.2658, 0.2649, 0.2641, 0.2636",\
                 "0.3144, 0.3023, 0.2848, 0.2756, 0.2703, 0.2674, 0.2656, 0.2645, 0.2638, 0.2633",\
                 "0.3132, 0.301, 0.2836, 0.2741, 0.269, 0.2661, 0.2645, 0.2635, 0.2627, 0.262",\
                 "0.3133, 0.3011, 0.2835, 0.274, 0.269, 0.2661, 0.2644, 0.2635, 0.2627, 0.2621",\
                 "0.3158, 0.3038, 0.2866, 0.2774, 0.2726, 0.2698, 0.2681, 0.267, 0.2664, 0.2659",\
                 "0.325, 0.3128, 0.2955, 0.2858, 0.2808, 0.2781, 0.2764, 0.2753, 0.2746, 0.2741",\
                 "0.3406, 0.328, 0.3096, 0.2996, 0.294, 0.2913, 0.2894, 0.2883, 0.2876, 0.287",\
                 "0.3612, 0.3484, 0.3288, 0.3179, 0.3124, 0.309, 0.307, 0.306, 0.3052, 0.3046",\
                 "0.3874, 0.3744, 0.3539, 0.3422, 0.3357, 0.3323, 0.3303, 0.329, 0.3281, 0.3277",\
                 "0.4192, 0.4051, 0.3839, 0.3716, 0.3647, 0.3607, 0.3583, 0.3568, 0.3559, 0.3552");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3117, 0.3031, 0.2921, 0.2854, 0.2836, 0.2848, 0.2861, 0.2875, 0.2906, 0.3071",\
                 "0.3114, 0.3029, 0.2917, 0.2853, 0.2831, 0.2841, 0.2854, 0.2885, 0.2906, 0.3065",\
                 "0.3119, 0.3031, 0.2922, 0.2856, 0.284, 0.2845, 0.2864, 0.2875, 0.2922, 0.308",\
                 "0.3149, 0.3059, 0.2956, 0.2889, 0.287, 0.2878, 0.2894, 0.2905, 0.2949, 0.3147",\
                 "0.3224, 0.3138, 0.3026, 0.2959, 0.2939, 0.2947, 0.296, 0.2981, 0.3012, 0.3242",\
                 "0.3342, 0.3253, 0.3143, 0.3075, 0.3051, 0.3059, 0.3085, 0.3115, 0.3136, 0.3453",\
                 "0.3509, 0.3421, 0.3303, 0.3235, 0.3216, 0.3214, 0.323, 0.3257, 0.3302, 0.3723",\
                 "0.3744, 0.3653, 0.3527, 0.345, 0.3432, 0.3452, 0.3448, 0.3461, 0.3521, 0.4171",\
                 "0.4038, 0.3943, 0.3818, 0.3721, 0.3694, 0.3706, 0.3748, 0.375, 0.3866, 0.4872",\
                 "0.4399, 0.43, 0.4163, 0.4058, 0.4024, 0.401, 0.4055, 0.4104, 0.4344, 0.6231");
        }
      }

      internal_power() {
        related_pin : "A3" ;
        when : "A1&A2" ;

        fall_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3465, 0.3286, 0.2955, 0.2745, 0.2626, 0.2555, 0.2507, 0.2476, 0.2455, 0.2438",\
                 "0.3455, 0.3276, 0.2943, 0.2738, 0.2618, 0.2544, 0.2499, 0.2468, 0.2446, 0.243",\
                 "0.3445, 0.3266, 0.2933, 0.2725, 0.2606, 0.2534, 0.2489, 0.2456, 0.2436, 0.242",\
                 "0.3477, 0.3297, 0.2964, 0.2751, 0.2634, 0.2562, 0.2515, 0.2485, 0.2463, 0.2448",\
                 "0.3685, 0.3496, 0.3137, 0.2895, 0.2757, 0.2673, 0.262, 0.2585, 0.2559, 0.2541",\
                 "0.4097, 0.3889, 0.3471, 0.3176, 0.2993, 0.2886, 0.2814, 0.2766, 0.2733, 0.2711",\
                 "0.4597, 0.4368, 0.3899, 0.354, 0.3318, 0.3178, 0.3085, 0.3024, 0.2982, 0.2952",\
                 "0.5206, 0.4965, 0.4437, 0.4012, 0.3739, 0.3562, 0.3447, 0.3368, 0.331, 0.3274",\
                 "0.5953, 0.5695, 0.5111, 0.4614, 0.4278, 0.4058, 0.3913, 0.3809, 0.3736, 0.3685",\
                 "0.6837, 0.6568, 0.5931, 0.5344, 0.4946, 0.4675, 0.4486, 0.4356, 0.4262, 0.4197");
        }

        rise_power(pwr_tin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1911, 0.1837, 0.1755, 0.1721, 0.1714, 0.1733, 0.1752, 0.1783, 0.1813, 0.1971",\
                 "0.1913, 0.1843, 0.1755, 0.1724, 0.1719, 0.1739, 0.1758, 0.1783, 0.182, 0.1958",\
                 "0.1921, 0.1851, 0.1765, 0.1725, 0.172, 0.1736, 0.1772, 0.1786, 0.1817, 0.1977",\
                 "0.2035, 0.1955, 0.1843, 0.1781, 0.1765, 0.1772, 0.1788, 0.1816, 0.1843, 0.2006",\
                 "0.2278, 0.2171, 0.2023, 0.193, 0.1873, 0.1868, 0.1871, 0.1908, 0.1936, 0.2135",\
                 "0.2621, 0.2484, 0.2288, 0.2146, 0.2083, 0.2036, 0.2026, 0.2034, 0.2065, 0.2289",\
                 "0.3083, 0.2908, 0.2665, 0.2452, 0.2337, 0.2307, 0.228, 0.2265, 0.2264, 0.2531",\
                 "0.3654, 0.3443, 0.3133, 0.2887, 0.271, 0.261, 0.262, 0.258, 0.2582, 0.2914",\
                 "0.4334, 0.4091, 0.3708, 0.3428, 0.3207, 0.3049, 0.2983, 0.2993, 0.2994, 0.3442",\
                 "0.512, 0.4843, 0.4398, 0.4063, 0.3792, 0.3594, 0.3465, 0.342, 0.3524, 0.423");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.909, 1.954, 2.068, 2.23, 2.439, 2.713, 3.068, 3.514, 4.058, 4.706",\
                 "1.922, 1.968, 2.082, 2.243, 2.453, 2.727, 3.082, 3.527, 4.071, 4.719",\
                 "1.958, 2.003, 2.118, 2.278, 2.488, 2.762, 3.117, 3.562, 4.106, 4.755",\
                 "1.975, 2.021, 2.136, 2.296, 2.506, 2.78, 3.135, 3.58, 4.124, 4.772",\
                 "1.959, 2.005, 2.119, 2.28, 2.489, 2.763, 3.118, 3.564, 4.108, 4.756",\
                 "1.908, 1.954, 2.068, 2.229, 2.438, 2.713, 3.068, 3.513, 4.057, 4.705",\
                 "1.802, 1.848, 1.962, 2.123, 2.332, 2.607, 2.961, 3.407, 3.951, 4.599",\
                 "1.642, 1.687, 1.803, 1.963, 2.173, 2.447, 2.802, 3.247, 3.791, 4.439",\
                 "1.428, 1.473, 1.588, 1.749, 1.958, 2.233, 2.587, 3.033, 3.576, 4.224",\
                 "1.157, 1.202, 1.316, 1.477, 1.686, 1.961, 2.316, 2.761, 3.305, 3.953");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.658, 1.707, 1.848, 2.081, 2.431, 2.919, 3.562, 4.373, 5.361, 6.539",\
                 "1.665, 1.714, 1.855, 2.088, 2.437, 2.926, 3.569, 4.379, 5.369, 6.547",\
                 "1.702, 1.751, 1.892, 2.125, 2.474, 2.963, 3.605, 4.417, 5.403, 6.584",\
                 "1.799, 1.848, 1.989, 2.222, 2.572, 3.06, 3.704, 4.514, 5.5, 6.681",\
                 "1.975, 2.023, 2.164, 2.398, 2.747, 3.235, 3.878, 4.689, 5.678, 6.856",\
                 "2.221, 2.269, 2.411, 2.644, 2.993, 3.481, 4.124, 4.935, 5.922, 7.102",\
                 "2.537, 2.586, 2.727, 2.96, 3.309, 3.797, 4.44, 5.251, 6.239, 7.418",\
                 "2.923, 2.971, 3.112, 3.346, 3.695, 4.183, 4.826, 5.635, 6.624, 7.801",\
                 "3.373, 3.422, 3.563, 3.796, 4.146, 4.634, 5.276, 6.085, 7.073, 8.253",\
                 "3.889, 3.937, 4.078, 4.311, 4.66, 5.149, 5.791, 6.6, 7.588, 8.765");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1518, 0.1934, 0.303, 0.4818, 0.767, 1.194, 1.778, 2.521, 3.438, 4.527",\
                 "0.1516, 0.1934, 0.3018, 0.4824, 0.768, 1.195, 1.778, 2.524, 3.438, 4.527",\
                 "0.1518, 0.1934, 0.302, 0.4824, 0.768, 1.195, 1.777, 2.524, 3.438, 4.528",\
                 "0.1518, 0.194, 0.3018, 0.482, 0.7684, 1.194, 1.777, 2.523, 3.438, 4.522",\
                 "0.152, 0.1934, 0.302, 0.4824, 0.7678, 1.193, 1.777, 2.524, 3.438, 4.528",\
                 "0.1528, 0.193, 0.302, 0.4826, 0.7684, 1.194, 1.776, 2.524, 3.433, 4.528",\
                 "0.152, 0.1932, 0.3022, 0.482, 0.7696, 1.195, 1.776, 2.522, 3.437, 4.528",\
                 "0.152, 0.1932, 0.3018, 0.482, 0.7674, 1.195, 1.778, 2.519, 3.431, 4.522",\
                 "0.1518, 0.193, 0.3016, 0.4822, 0.768, 1.196, 1.777, 2.52, 3.431, 4.518",\
                 "0.152, 0.193, 0.3016, 0.4818, 0.7678, 1.193, 1.778, 2.523, 3.433, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1412, 0.2012, 0.3958, 0.7614, 1.365, 2.22, 3.353, 4.781, 6.526, 8.603",\
                 "0.1418, 0.2012, 0.396, 0.7628, 1.363, 2.224, 3.354, 4.787, 6.528, 8.604",\
                 "0.1418, 0.2014, 0.3954, 0.7618, 1.362, 2.22, 3.354, 4.782, 6.529, 8.604",\
                 "0.1408, 0.2012, 0.3948, 0.7628, 1.362, 2.223, 3.353, 4.782, 6.528, 8.603",\
                 "0.1416, 0.2012, 0.3946, 0.7638, 1.363, 2.222, 3.354, 4.783, 6.525, 8.601",\
                 "0.1418, 0.202, 0.3948, 0.762, 1.363, 2.22, 3.358, 4.783, 6.531, 8.605",\
                 "0.1406, 0.2012, 0.3958, 0.762, 1.364, 2.223, 3.356, 4.787, 6.526, 8.602",\
                 "0.1414, 0.201, 0.3956, 0.7628, 1.362, 2.222, 3.353, 4.785, 6.53, 8.601",\
                 "0.141, 0.201, 0.3948, 0.7628, 1.363, 2.22, 3.352, 4.777, 6.535, 8.6",\
                 "0.1416, 0.2008, 0.3952, 0.7642, 1.364, 2.22, 3.35, 4.776, 6.53, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.023, 1.077, 1.216, 1.411, 1.655, 1.954, 2.321, 2.772, 3.317, 3.965",\
                 "1.034, 1.089, 1.228, 1.423, 1.667, 1.966, 2.333, 2.784, 3.329, 3.977",\
                 "1.076, 1.131, 1.27, 1.465, 1.709, 2.008, 2.375, 2.825, 3.37, 4.018",\
                 "1.142, 1.197, 1.335, 1.53, 1.774, 2.073, 2.441, 2.891, 3.436, 4.084",\
                 "1.188, 1.242, 1.381, 1.576, 1.82, 2.119, 2.487, 2.937, 3.482, 4.13",\
                 "1.198, 1.252, 1.391, 1.586, 1.831, 2.13, 2.497, 2.947, 3.492, 4.141",\
                 "1.167, 1.222, 1.361, 1.556, 1.8, 2.099, 2.467, 2.917, 3.462, 4.11",\
                 "1.087, 1.142, 1.281, 1.477, 1.721, 2.021, 2.388, 2.839, 3.383, 4.031",\
                 "0.9538, 1.009, 1.149, 1.345, 1.59, 1.889, 2.257, 2.707, 3.252, 3.9",\
                 "0.7644, 0.8201, 0.9605, 1.157, 1.403, 1.702, 2.07, 2.52, 3.066, 3.713");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.449, 1.5, 1.643, 1.876, 2.225, 2.712, 3.353, 4.162, 5.149, 6.328",\
                 "1.461, 1.512, 1.655, 1.888, 2.237, 2.724, 3.365, 4.174, 5.162, 6.34",\
                 "1.511, 1.562, 1.705, 1.938, 2.287, 2.774, 3.415, 4.224, 5.212, 6.39",\
                 "1.634, 1.685, 1.827, 2.061, 2.409, 2.896, 3.538, 4.347, 5.334, 6.513",\
                 "1.85, 1.901, 2.043, 2.277, 2.625, 3.112, 3.754, 4.563, 5.551, 6.727",\
                 "2.158, 2.208, 2.351, 2.585, 2.933, 3.419, 4.061, 4.87, 5.857, 7.035",\
                 "2.538, 2.589, 2.732, 2.966, 3.313, 3.8, 4.442, 5.25, 6.238, 7.414",\
                 "2.987, 3.038, 3.181, 3.415, 3.763, 4.25, 4.89, 5.699, 6.687, 7.865",\
                 "3.512, 3.564, 3.708, 3.942, 4.289, 4.775, 5.415, 6.223, 7.211, 8.389",\
                 "4.115, 4.167, 4.311, 4.545, 4.893, 5.378, 6.019, 6.827, 7.814, 8.992");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2107, 0.263, 0.3954, 0.6016, 0.8884, 1.292, 1.843, 2.566, 3.463, 4.55",\
                 "0.2122, 0.263, 0.3954, 0.6012, 0.8882, 1.293, 1.842, 2.566, 3.466, 4.549",\
                 "0.2108, 0.263, 0.3952, 0.6012, 0.8882, 1.294, 1.843, 2.564, 3.466, 4.55",\
                 "0.2112, 0.263, 0.3952, 0.6014, 0.8884, 1.292, 1.843, 2.565, 3.465, 4.544",\
                 "0.211, 0.2622, 0.3958, 0.6016, 0.8888, 1.293, 1.842, 2.564, 3.464, 4.55",\
                 "0.2122, 0.2632, 0.3966, 0.6016, 0.8886, 1.292, 1.843, 2.566, 3.463, 4.55",\
                 "0.2128, 0.2644, 0.3968, 0.6028, 0.889, 1.291, 1.843, 2.562, 3.462, 4.544",\
                 "0.2146, 0.266, 0.3992, 0.605, 0.8902, 1.294, 1.842, 2.565, 3.459, 4.546",\
                 "0.2172, 0.2688, 0.4014, 0.6066, 0.892, 1.294, 1.844, 2.566, 3.461, 4.542",\
                 "0.219, 0.2716, 0.4044, 0.6096, 0.8948, 1.296, 1.845, 2.564, 3.461, 4.543");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1628, 0.2192, 0.4116, 0.773, 1.37, 2.226, 3.355, 4.786, 6.532, 8.6",\
                 "0.1626, 0.2192, 0.4112, 0.772, 1.37, 2.226, 3.354, 4.786, 6.53, 8.597",\
                 "0.1626, 0.2192, 0.412, 0.7726, 1.37, 2.226, 3.354, 4.786, 6.53, 8.597",\
                 "0.1626, 0.219, 0.4112, 0.7726, 1.37, 2.226, 3.353, 4.786, 6.531, 8.599",\
                 "0.1626, 0.219, 0.4118, 0.7734, 1.37, 2.226, 3.357, 4.784, 6.52, 8.614",\
                 "0.1606, 0.2198, 0.4122, 0.7724, 1.368, 2.226, 3.354, 4.786, 6.529, 8.597",\
                 "0.1636, 0.2208, 0.4138, 0.7736, 1.367, 2.224, 3.357, 4.782, 6.521, 8.61",\
                 "0.1672, 0.2236, 0.4144, 0.7744, 1.368, 2.225, 3.355, 4.785, 6.531, 8.601",\
                 "0.1686, 0.2264, 0.4176, 0.7756, 1.37, 2.224, 3.354, 4.782, 6.53, 8.598",\
                 "0.1724, 0.2288, 0.4194, 0.7782, 1.369, 2.224, 3.352, 4.78, 6.528, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.909, 1.954, 2.068, 2.23, 2.439, 2.713, 3.068, 3.514, 4.058, 4.706",\
                 "1.922, 1.968, 2.082, 2.243, 2.453, 2.727, 3.082, 3.527, 4.071, 4.719",\
                 "1.958, 2.003, 2.118, 2.278, 2.488, 2.762, 3.117, 3.562, 4.106, 4.755",\
                 "1.975, 2.021, 2.136, 2.296, 2.506, 2.78, 3.135, 3.58, 4.124, 4.772",\
                 "1.959, 2.005, 2.119, 2.28, 2.489, 2.763, 3.118, 3.564, 4.108, 4.756",\
                 "1.908, 1.954, 2.068, 2.229, 2.438, 2.713, 3.068, 3.513, 4.057, 4.705",\
                 "1.802, 1.848, 1.962, 2.123, 2.332, 2.607, 2.961, 3.407, 3.951, 4.599",\
                 "1.642, 1.687, 1.803, 1.963, 2.173, 2.447, 2.802, 3.247, 3.791, 4.439",\
                 "1.428, 1.473, 1.588, 1.749, 1.958, 2.233, 2.587, 3.033, 3.576, 4.224",\
                 "1.157, 1.202, 1.316, 1.477, 1.686, 1.961, 2.316, 2.761, 3.305, 3.953");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.449, 1.5, 1.643, 1.876, 2.225, 2.712, 3.353, 4.162, 5.149, 6.328",\
                 "1.461, 1.512, 1.655, 1.888, 2.237, 2.724, 3.365, 4.174, 5.162, 6.34",\
                 "1.511, 1.562, 1.705, 1.938, 2.287, 2.774, 3.415, 4.224, 5.212, 6.39",\
                 "1.634, 1.685, 1.827, 2.061, 2.409, 2.896, 3.538, 4.347, 5.334, 6.513",\
                 "1.85, 1.901, 2.043, 2.277, 2.625, 3.112, 3.754, 4.563, 5.551, 6.727",\
                 "2.158, 2.208, 2.351, 2.585, 2.933, 3.419, 4.061, 4.87, 5.857, 7.035",\
                 "2.538, 2.589, 2.732, 2.966, 3.313, 3.8, 4.442, 5.25, 6.238, 7.414",\
                 "2.987, 3.038, 3.181, 3.415, 3.763, 4.25, 4.89, 5.699, 6.687, 7.865",\
                 "3.512, 3.564, 3.708, 3.942, 4.289, 4.775, 5.415, 6.223, 7.211, 8.389",\
                 "4.115, 4.167, 4.311, 4.545, 4.893, 5.378, 6.019, 6.827, 7.814, 8.992");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2107, 0.263, 0.3954, 0.6016, 0.8884, 1.292, 1.843, 2.566, 3.463, 4.55",\
                 "0.2122, 0.263, 0.3954, 0.6012, 0.8882, 1.293, 1.842, 2.566, 3.466, 4.549",\
                 "0.2108, 0.263, 0.3952, 0.6012, 0.8882, 1.294, 1.843, 2.564, 3.466, 4.55",\
                 "0.2112, 0.263, 0.3952, 0.6014, 0.8884, 1.292, 1.843, 2.565, 3.465, 4.544",\
                 "0.211, 0.2622, 0.3958, 0.6016, 0.8888, 1.293, 1.842, 2.564, 3.464, 4.55",\
                 "0.2122, 0.2632, 0.3966, 0.6016, 0.8886, 1.292, 1.843, 2.566, 3.463, 4.55",\
                 "0.2128, 0.2644, 0.3968, 0.6028, 0.889, 1.291, 1.843, 2.562, 3.462, 4.544",\
                 "0.2146, 0.266, 0.3992, 0.605, 0.8902, 1.294, 1.842, 2.565, 3.459, 4.546",\
                 "0.2172, 0.2688, 0.4014, 0.6066, 0.892, 1.294, 1.844, 2.566, 3.461, 4.542",\
                 "0.219, 0.2716, 0.4044, 0.6096, 0.8948, 1.296, 1.845, 2.564, 3.461, 4.543");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1628, 0.2192, 0.4116, 0.773, 1.37, 2.226, 3.355, 4.786, 6.532, 8.6",\
                 "0.1626, 0.2192, 0.4112, 0.772, 1.37, 2.226, 3.354, 4.786, 6.53, 8.597",\
                 "0.1626, 0.2192, 0.412, 0.7726, 1.37, 2.226, 3.354, 4.786, 6.53, 8.597",\
                 "0.1626, 0.219, 0.4112, 0.7726, 1.37, 2.226, 3.353, 4.786, 6.531, 8.599",\
                 "0.1626, 0.219, 0.4118, 0.7734, 1.37, 2.226, 3.357, 4.784, 6.52, 8.614",\
                 "0.1606, 0.2198, 0.4122, 0.7724, 1.368, 2.226, 3.354, 4.786, 6.529, 8.597",\
                 "0.1636, 0.2208, 0.4138, 0.7736, 1.367, 2.224, 3.357, 4.782, 6.521, 8.61",\
                 "0.1672, 0.2236, 0.4144, 0.7744, 1.368, 2.225, 3.355, 4.785, 6.531, 8.601",\
                 "0.1686, 0.2264, 0.4176, 0.7756, 1.37, 2.224, 3.354, 4.782, 6.53, 8.598",\
                 "0.1724, 0.2288, 0.4194, 0.7782, 1.369, 2.224, 3.352, 4.78, 6.528, 8.596");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b0 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A2&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.541, 1.595, 1.734, 1.929, 2.173, 2.472, 2.84, 3.29, 3.835, 4.483",\
                 "1.548, 1.602, 1.741, 1.936, 2.18, 2.479, 2.846, 3.296, 3.841, 4.49",\
                 "1.584, 1.639, 1.778, 1.973, 2.217, 2.516, 2.883, 3.333, 3.878, 4.527",\
                 "1.682, 1.737, 1.875, 2.07, 2.314, 2.613, 2.981, 3.431, 3.976, 4.624",\
                 "1.856, 1.911, 2.05, 2.245, 2.489, 2.787, 3.155, 3.605, 4.15, 4.798",\
                 "2.102, 2.157, 2.295, 2.49, 2.734, 3.033, 3.401, 3.851, 4.396, 5.044",\
                 "2.416, 2.471, 2.61, 2.805, 3.049, 3.348, 3.715, 4.165, 4.711, 5.359",\
                 "2.799, 2.854, 2.992, 3.187, 3.431, 3.73, 4.098, 4.548, 5.093, 5.741",\
                 "3.246, 3.3, 3.438, 3.634, 3.878, 4.177, 4.544, 4.994, 5.539, 6.187",\
                 "3.757, 3.811, 3.949, 4.144, 4.388, 4.687, 5.055, 5.505, 6.05, 6.698");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.738, 1.789, 1.932, 2.165, 2.513, 3, 3.642, 4.45, 5.438, 6.616",\
                 "1.752, 1.803, 1.945, 2.179, 2.527, 3.014, 3.655, 4.464, 5.451, 6.63",\
                 "1.787, 1.837, 1.981, 2.214, 2.562, 3.049, 3.69, 4.499, 5.487, 6.665",\
                 "1.805, 1.855, 1.998, 2.232, 2.58, 3.067, 3.708, 4.517, 5.504, 6.683",\
                 "1.787, 1.838, 1.981, 2.215, 2.563, 3.05, 3.691, 4.5, 5.487, 6.666",\
                 "1.732, 1.783, 1.926, 2.16, 2.508, 2.995, 3.636, 4.445, 5.433, 6.61",\
                 "1.625, 1.675, 1.818, 2.052, 2.4, 2.888, 3.529, 4.338, 5.325, 6.503",\
                 "1.465, 1.516, 1.659, 1.893, 2.241, 2.727, 3.369, 4.177, 5.165, 6.343",\
                 "1.252, 1.301, 1.444, 1.678, 2.026, 2.513, 3.155, 3.964, 4.951, 6.127",\
                 "0.9798, 1.032, 1.173, 1.407, 1.756, 2.243, 2.884, 3.693, 4.68, 5.857");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2106, 0.2622, 0.395, 0.6002, 0.888, 1.291, 1.842, 2.563, 3.462, 4.548",\
                 "0.2106, 0.2624, 0.3948, 0.6018, 0.888, 1.291, 1.843, 2.566, 3.461, 4.55",\
                 "0.2104, 0.2624, 0.395, 0.6006, 0.8882, 1.293, 1.842, 2.565, 3.465, 4.55",\
                 "0.2108, 0.2624, 0.3948, 0.6016, 0.888, 1.291, 1.843, 2.563, 3.466, 4.55",\
                 "0.2108, 0.2622, 0.3946, 0.6006, 0.8882, 1.292, 1.843, 2.566, 3.466, 4.549",\
                 "0.2102, 0.2618, 0.3946, 0.6006, 0.8882, 1.291, 1.842, 2.565, 3.462, 4.55",\
                 "0.2112, 0.262, 0.3952, 0.6008, 0.8882, 1.292, 1.842, 2.565, 3.464, 4.549",\
                 "0.2108, 0.2624, 0.3954, 0.6004, 0.8888, 1.29, 1.843, 2.564, 3.466, 4.549",\
                 "0.2106, 0.2624, 0.3958, 0.6, 0.8876, 1.291, 1.843, 2.563, 3.462, 4.548",\
                 "0.2106, 0.2626, 0.3952, 0.6002, 0.8876, 1.291, 1.845, 2.562, 3.458, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1624, 0.2206, 0.4118, 0.7734, 1.37, 2.226, 3.354, 4.786, 6.531, 8.599",\
                 "0.164, 0.2204, 0.4122, 0.7736, 1.368, 2.226, 3.354, 4.786, 6.532, 8.6",\
                 "0.1632, 0.2206, 0.4116, 0.7724, 1.37, 2.226, 3.352, 4.786, 6.532, 8.6",\
                 "0.1632, 0.2206, 0.4122, 0.7726, 1.368, 2.226, 3.353, 4.786, 6.532, 8.599",\
                 "0.1636, 0.2202, 0.412, 0.7734, 1.368, 2.226, 3.353, 4.786, 6.532, 8.6",\
                 "0.1616, 0.2202, 0.4114, 0.7726, 1.368, 2.226, 3.357, 4.786, 6.521, 8.606",\
                 "0.1618, 0.2198, 0.4116, 0.7726, 1.367, 2.222, 3.356, 4.785, 6.533, 8.594",\
                 "0.1622, 0.2196, 0.4116, 0.7728, 1.369, 2.223, 3.353, 4.782, 6.529, 8.597",\
                 "0.1608, 0.219, 0.4124, 0.7726, 1.367, 2.223, 3.354, 4.778, 6.521, 8.592",\
                 "0.1618, 0.219, 0.412, 0.7726, 1.369, 2.223, 3.352, 4.779, 6.519, 8.592");
        }
      }

      timing() {
        related_pin : "A1" ;
        sdf_cond : "A2===1'b1 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A2&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.628, 1.674, 1.789, 1.949, 2.159, 2.433, 2.788, 3.234, 3.777, 4.425",\
                 "1.641, 1.687, 1.801, 1.962, 2.171, 2.445, 2.8, 3.246, 3.79, 4.438",\
                 "1.691, 1.736, 1.851, 2.011, 2.221, 2.495, 2.85, 3.296, 3.84, 4.488",\
                 "1.813, 1.859, 1.973, 2.134, 2.343, 2.618, 2.973, 3.418, 3.962, 4.61",\
                 "2.029, 2.074, 2.189, 2.35, 2.559, 2.833, 3.188, 3.634, 4.178, 4.826",\
                 "2.334, 2.38, 2.494, 2.654, 2.864, 3.138, 3.493, 3.938, 4.483, 5.13",\
                 "2.707, 2.753, 2.867, 3.028, 3.237, 3.511, 3.866, 4.311, 4.855, 5.503",\
                 "3.148, 3.194, 3.308, 3.469, 3.678, 3.953, 4.307, 4.753, 5.296, 5.944",\
                 "3.663, 3.709, 3.824, 3.984, 4.193, 4.468, 4.822, 5.268, 5.812, 6.459",\
                 "4.252, 4.297, 4.411, 4.572, 4.781, 5.056, 5.41, 5.856, 6.399, 7.047");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.147, 1.196, 1.337, 1.571, 1.92, 2.408, 3.051, 3.862, 4.851, 6.031",\
                 "1.159, 1.208, 1.349, 1.582, 1.932, 2.42, 3.063, 3.873, 4.863, 6.043",\
                 "1.201, 1.25, 1.391, 1.624, 1.974, 2.462, 3.105, 3.916, 4.902, 6.079",\
                 "1.273, 1.322, 1.463, 1.696, 2.046, 2.534, 3.177, 3.988, 4.976, 6.156",\
                 "1.329, 1.378, 1.519, 1.752, 2.102, 2.59, 3.233, 4.043, 5.033, 6.213",\
                 "1.352, 1.401, 1.542, 1.775, 2.124, 2.613, 3.256, 4.067, 5.054, 6.232",\
                 "1.334, 1.382, 1.523, 1.756, 2.106, 2.594, 3.236, 4.046, 5.036, 6.215",\
                 "1.267, 1.316, 1.457, 1.69, 2.039, 2.527, 3.17, 3.978, 4.966, 6.146",\
                 "1.146, 1.195, 1.336, 1.569, 1.919, 2.407, 3.049, 3.858, 4.846, 6.023",\
                 "0.9683, 1.017, 1.158, 1.391, 1.741, 2.229, 2.871, 3.68, 4.668, 5.845");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1518, 0.194, 0.302, 0.4818, 0.768, 1.196, 1.779, 2.522, 3.434, 4.526",\
                 "0.152, 0.194, 0.3022, 0.4822, 0.7684, 1.194, 1.778, 2.523, 3.437, 4.523",\
                 "0.1518, 0.1938, 0.3022, 0.4822, 0.7694, 1.194, 1.779, 2.522, 3.438, 4.528",\
                 "0.1518, 0.1942, 0.3024, 0.4826, 0.7684, 1.195, 1.778, 2.523, 3.437, 4.523",\
                 "0.1518, 0.194, 0.302, 0.4824, 0.768, 1.193, 1.778, 2.521, 3.438, 4.524",\
                 "0.1524, 0.1936, 0.3026, 0.4816, 0.7672, 1.194, 1.778, 2.523, 3.438, 4.524",\
                 "0.1516, 0.1928, 0.3018, 0.4818, 0.7686, 1.195, 1.778, 2.522, 3.436, 4.522",\
                 "0.152, 0.1934, 0.3018, 0.4816, 0.7678, 1.195, 1.777, 2.521, 3.437, 4.523",\
                 "0.1512, 0.1928, 0.3018, 0.4824, 0.7688, 1.194, 1.776, 2.52, 3.432, 4.525",\
                 "0.1518, 0.1932, 0.3016, 0.4832, 0.7682, 1.193, 1.776, 2.522, 3.432, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.142, 0.2014, 0.395, 0.762, 1.365, 2.224, 3.358, 4.789, 6.526, 8.608",\
                 "0.1422, 0.2014, 0.395, 0.7616, 1.362, 2.22, 3.358, 4.788, 6.525, 8.603",\
                 "0.142, 0.2014, 0.395, 0.7622, 1.364, 2.223, 3.354, 4.782, 6.529, 8.612",\
                 "0.142, 0.2014, 0.395, 0.762, 1.363, 2.224, 3.358, 4.782, 6.526, 8.604",\
                 "0.1416, 0.2016, 0.3948, 0.762, 1.365, 2.219, 3.354, 4.789, 6.525, 8.605",\
                 "0.1414, 0.2014, 0.3956, 0.762, 1.362, 2.224, 3.353, 4.782, 6.535, 8.606",\
                 "0.1408, 0.201, 0.3956, 0.7628, 1.363, 2.22, 3.352, 4.779, 6.524, 8.606",\
                 "0.142, 0.2014, 0.3954, 0.762, 1.363, 2.222, 3.353, 4.781, 6.526, 8.599",\
                 "0.1418, 0.2016, 0.3958, 0.7622, 1.363, 2.221, 3.352, 4.777, 6.517, 8.599",\
                 "0.1424, 0.202, 0.3964, 0.7636, 1.362, 2.221, 3.351, 4.777, 6.521, 8.592");
        }
      }

      timing() {
        related_pin : "A1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.628, 1.674, 1.789, 1.949, 2.159, 2.433, 2.788, 3.234, 3.777, 4.425",\
                 "1.641, 1.687, 1.801, 1.962, 2.171, 2.445, 2.8, 3.246, 3.79, 4.438",\
                 "1.691, 1.736, 1.851, 2.011, 2.221, 2.495, 2.85, 3.296, 3.84, 4.488",\
                 "1.813, 1.859, 1.973, 2.134, 2.343, 2.618, 2.973, 3.418, 3.962, 4.61",\
                 "2.029, 2.074, 2.189, 2.35, 2.559, 2.833, 3.188, 3.634, 4.178, 4.826",\
                 "2.334, 2.38, 2.494, 2.654, 2.864, 3.138, 3.493, 3.938, 4.483, 5.13",\
                 "2.707, 2.753, 2.867, 3.028, 3.237, 3.511, 3.866, 4.311, 4.855, 5.503",\
                 "3.148, 3.194, 3.308, 3.469, 3.678, 3.953, 4.307, 4.753, 5.296, 5.944",\
                 "3.663, 3.709, 3.824, 3.984, 4.193, 4.468, 4.822, 5.268, 5.812, 6.459",\
                 "4.252, 4.297, 4.411, 4.572, 4.781, 5.056, 5.41, 5.856, 6.399, 7.047");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.738, 1.789, 1.932, 2.165, 2.513, 3, 3.642, 4.45, 5.438, 6.616",\
                 "1.752, 1.803, 1.945, 2.179, 2.527, 3.014, 3.655, 4.464, 5.451, 6.63",\
                 "1.787, 1.837, 1.981, 2.214, 2.562, 3.049, 3.69, 4.499, 5.487, 6.665",\
                 "1.805, 1.855, 1.998, 2.232, 2.58, 3.067, 3.708, 4.517, 5.504, 6.683",\
                 "1.787, 1.838, 1.981, 2.215, 2.563, 3.05, 3.691, 4.5, 5.487, 6.666",\
                 "1.732, 1.783, 1.926, 2.16, 2.508, 2.995, 3.636, 4.445, 5.433, 6.61",\
                 "1.625, 1.675, 1.818, 2.052, 2.4, 2.888, 3.529, 4.338, 5.325, 6.503",\
                 "1.465, 1.516, 1.659, 1.893, 2.241, 2.727, 3.369, 4.177, 5.165, 6.343",\
                 "1.252, 1.301, 1.444, 1.678, 2.026, 2.513, 3.155, 3.964, 4.951, 6.127",\
                 "0.9798, 1.032, 1.173, 1.407, 1.756, 2.243, 2.884, 3.693, 4.68, 5.857");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2106, 0.2622, 0.395, 0.6002, 0.888, 1.291, 1.842, 2.563, 3.462, 4.548",\
                 "0.2106, 0.2624, 0.3948, 0.6018, 0.888, 1.291, 1.843, 2.566, 3.461, 4.55",\
                 "0.2104, 0.2624, 0.395, 0.6006, 0.8882, 1.293, 1.842, 2.565, 3.465, 4.55",\
                 "0.2108, 0.2624, 0.3948, 0.6016, 0.888, 1.291, 1.843, 2.563, 3.466, 4.55",\
                 "0.2108, 0.2622, 0.3946, 0.6006, 0.8882, 1.292, 1.843, 2.566, 3.466, 4.549",\
                 "0.2102, 0.2618, 0.3946, 0.6006, 0.8882, 1.291, 1.842, 2.565, 3.462, 4.55",\
                 "0.2112, 0.262, 0.3952, 0.6008, 0.8882, 1.292, 1.842, 2.565, 3.464, 4.549",\
                 "0.2108, 0.2624, 0.3954, 0.6004, 0.8888, 1.29, 1.843, 2.564, 3.466, 4.549",\
                 "0.2106, 0.2624, 0.3958, 0.6, 0.8876, 1.291, 1.843, 2.563, 3.462, 4.548",\
                 "0.2106, 0.2626, 0.3952, 0.6002, 0.8876, 1.291, 1.845, 2.562, 3.458, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.142, 0.2014, 0.395, 0.762, 1.365, 2.224, 3.358, 4.789, 6.526, 8.608",\
                 "0.1422, 0.2014, 0.395, 0.7616, 1.362, 2.22, 3.358, 4.788, 6.525, 8.603",\
                 "0.142, 0.2014, 0.395, 0.7622, 1.364, 2.223, 3.354, 4.782, 6.529, 8.612",\
                 "0.142, 0.2014, 0.395, 0.762, 1.363, 2.224, 3.358, 4.782, 6.526, 8.604",\
                 "0.1416, 0.2016, 0.3948, 0.762, 1.365, 2.219, 3.354, 4.789, 6.525, 8.605",\
                 "0.1414, 0.2014, 0.3956, 0.762, 1.362, 2.224, 3.353, 4.782, 6.535, 8.606",\
                 "0.1408, 0.201, 0.3956, 0.7628, 1.363, 2.22, 3.352, 4.779, 6.524, 8.606",\
                 "0.142, 0.2014, 0.3954, 0.762, 1.363, 2.222, 3.353, 4.781, 6.526, 8.599",\
                 "0.1418, 0.2016, 0.3958, 0.7622, 1.363, 2.221, 3.352, 4.777, 6.517, 8.599",\
                 "0.1424, 0.202, 0.3964, 0.7636, 1.362, 2.221, 3.351, 4.777, 6.521, 8.592");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.836, 1.882, 1.996, 2.157, 2.366, 2.641, 2.995, 3.441, 3.985, 4.633",\
                 "1.85, 1.896, 2.01, 2.171, 2.38, 2.655, 3.009, 3.455, 3.999, 4.647",\
                 "1.887, 1.932, 2.047, 2.207, 2.417, 2.691, 3.046, 3.492, 4.036, 4.684",\
                 "1.903, 1.949, 2.063, 2.223, 2.433, 2.708, 3.062, 3.508, 4.052, 4.7",\
                 "1.879, 1.925, 2.039, 2.2, 2.409, 2.684, 3.039, 3.484, 4.028, 4.676",\
                 "1.809, 1.855, 1.969, 2.13, 2.339, 2.613, 2.968, 3.413, 3.957, 4.605",\
                 "1.684, 1.73, 1.845, 2.005, 2.215, 2.489, 2.844, 3.289, 3.833, 4.481",\
                 "1.502, 1.547, 1.662, 1.822, 2.032, 2.306, 2.661, 3.106, 3.65, 4.298",\
                 "1.256, 1.302, 1.415, 1.576, 1.785, 2.06, 2.415, 2.86, 3.404, 4.052",\
                 "0.9436, 0.9912, 1.104, 1.264, 1.474, 1.748, 2.103, 2.549, 3.093, 3.742");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.615, 1.664, 1.805, 2.038, 2.388, 2.876, 3.519, 4.33, 5.318, 6.497",\
                 "1.621, 1.669, 1.81, 2.044, 2.393, 2.882, 3.525, 4.335, 5.322, 6.5",\
                 "1.677, 1.726, 1.867, 2.1, 2.449, 2.938, 3.581, 4.391, 5.379, 6.559",\
                 "1.819, 1.868, 2.009, 2.242, 2.591, 3.08, 3.723, 4.534, 5.52, 6.701",\
                 "2.044, 2.092, 2.233, 2.466, 2.816, 3.304, 3.947, 4.757, 5.746, 6.925",\
                 "2.336, 2.384, 2.525, 2.758, 3.108, 3.596, 4.239, 5.05, 6.037, 7.217",\
                 "2.698, 2.746, 2.887, 3.12, 3.47, 3.958, 4.601, 5.409, 6.399, 7.578",\
                 "3.139, 3.188, 3.329, 3.562, 3.912, 4.399, 5.042, 5.852, 6.842, 8.017",\
                 "3.66, 3.709, 3.85, 4.083, 4.433, 4.921, 5.563, 6.371, 7.359, 8.54",\
                 "4.261, 4.309, 4.45, 4.683, 5.033, 5.522, 6.163, 6.973, 7.96, 9.138");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1518, 0.1936, 0.302, 0.4822, 0.768, 1.195, 1.779, 2.521, 3.438, 4.528",\
                 "0.1518, 0.194, 0.3022, 0.4832, 0.7674, 1.195, 1.778, 2.522, 3.437, 4.523",\
                 "0.152, 0.1934, 0.3022, 0.4822, 0.7692, 1.194, 1.779, 2.521, 3.438, 4.528",\
                 "0.1518, 0.1942, 0.3022, 0.4826, 0.7684, 1.195, 1.778, 2.523, 3.437, 4.523",\
                 "0.1518, 0.194, 0.3022, 0.4828, 0.7678, 1.193, 1.778, 2.521, 3.438, 4.525",\
                 "0.1518, 0.193, 0.3018, 0.4824, 0.7684, 1.196, 1.779, 2.523, 3.436, 4.527",\
                 "0.152, 0.193, 0.3018, 0.4822, 0.7678, 1.194, 1.775, 2.522, 3.433, 4.524",\
                 "0.1528, 0.1934, 0.3016, 0.4824, 0.7682, 1.195, 1.777, 2.519, 3.43, 4.522",\
                 "0.152, 0.1928, 0.3018, 0.482, 0.7682, 1.195, 1.776, 2.52, 3.432, 4.518",\
                 "0.152, 0.1934, 0.3018, 0.4818, 0.7676, 1.195, 1.777, 2.521, 3.433, 4.522");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1414, 0.2008, 0.395, 0.7632, 1.364, 2.224, 3.357, 4.782, 6.527, 8.604",\
                 "0.1418, 0.2014, 0.395, 0.7622, 1.362, 2.224, 3.353, 4.789, 6.533, 8.61",\
                 "0.142, 0.2014, 0.395, 0.7618, 1.362, 2.22, 3.359, 4.789, 6.527, 8.603",\
                 "0.1414, 0.201, 0.3948, 0.7634, 1.362, 2.224, 3.359, 4.781, 6.528, 8.603",\
                 "0.1418, 0.201, 0.3954, 0.7626, 1.363, 2.223, 3.356, 4.787, 6.527, 8.601",\
                 "0.142, 0.2014, 0.3948, 0.7616, 1.363, 2.224, 3.36, 4.783, 6.527, 8.604",\
                 "0.1416, 0.201, 0.3954, 0.7638, 1.364, 2.224, 3.354, 4.78, 6.525, 8.603",\
                 "0.1414, 0.2012, 0.3954, 0.7626, 1.361, 2.22, 3.358, 4.782, 6.524, 8.605",\
                 "0.1416, 0.201, 0.3948, 0.7618, 1.364, 2.222, 3.354, 4.782, 6.532, 8.6",\
                 "0.1416, 0.2012, 0.3948, 0.7638, 1.362, 2.218, 3.352, 4.78, 6.526, 8.596");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.036, 1.091, 1.23, 1.425, 1.669, 1.968, 2.335, 2.786, 3.331, 3.979",\
                 "1.047, 1.101, 1.24, 1.435, 1.679, 1.978, 2.345, 2.796, 3.341, 3.989",\
                 "1.071, 1.126, 1.265, 1.46, 1.703, 2.003, 2.37, 2.82, 3.365, 4.013",\
                 "1.107, 1.162, 1.3, 1.495, 1.739, 2.038, 2.406, 2.856, 3.401, 4.049",\
                 "1.128, 1.182, 1.321, 1.516, 1.76, 2.059, 2.426, 2.876, 3.422, 4.07",\
                 "1.115, 1.169, 1.308, 1.503, 1.747, 2.046, 2.413, 2.864, 3.409, 4.057",\
                 "1.056, 1.111, 1.25, 1.446, 1.69, 1.988, 2.355, 2.806, 3.351, 3.999",\
                 "0.9458, 1.001, 1.14, 1.336, 1.581, 1.88, 2.247, 2.697, 3.242, 3.89",\
                 "0.7769, 0.832, 0.9717, 1.168, 1.413, 1.713, 2.08, 2.531, 3.076, 3.724",\
                 "0.5473, 0.6029, 0.7429, 0.9398, 1.184, 1.484, 1.852, 2.302, 2.847, 3.495");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.528, 1.579, 1.722, 1.956, 2.303, 2.791, 3.432, 4.241, 5.228, 6.406",\
                 "1.54, 1.59, 1.734, 1.967, 2.315, 2.802, 3.443, 4.252, 5.24, 6.417",\
                 "1.595, 1.646, 1.788, 2.022, 2.37, 2.857, 3.498, 4.307, 5.294, 6.473",\
                 "1.721, 1.772, 1.915, 2.149, 2.497, 2.984, 3.625, 4.434, 5.422, 6.599",\
                 "1.941, 1.991, 2.135, 2.368, 2.716, 3.203, 3.844, 4.653, 5.641, 6.818",\
                 "2.258, 2.308, 2.452, 2.685, 3.033, 3.52, 4.161, 4.97, 5.958, 7.135",\
                 "2.656, 2.707, 2.85, 3.084, 3.431, 3.918, 4.559, 5.368, 6.356, 7.534",\
                 "3.128, 3.179, 3.323, 3.556, 3.904, 4.39, 5.031, 5.84, 6.827, 8.006",\
                 "3.682, 3.733, 3.877, 4.112, 4.459, 4.944, 5.585, 6.393, 7.381, 8.558",\
                 "4.322, 4.374, 4.518, 4.752, 5.1, 5.585, 6.226, 7.034, 8.021, 9.199");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2106, 0.263, 0.3954, 0.601, 0.8878, 1.291, 1.843, 2.566, 3.463, 4.544",\
                 "0.211, 0.2628, 0.3956, 0.6012, 0.8882, 1.292, 1.843, 2.564, 3.465, 4.55",\
                 "0.2116, 0.263, 0.3952, 0.6018, 0.8884, 1.292, 1.844, 2.564, 3.466, 4.55",\
                 "0.211, 0.2632, 0.3954, 0.6012, 0.8882, 1.293, 1.844, 2.566, 3.466, 4.55",\
                 "0.2108, 0.263, 0.3952, 0.6008, 0.8894, 1.293, 1.843, 2.566, 3.465, 4.546",\
                 "0.2116, 0.2634, 0.3962, 0.6026, 0.8882, 1.292, 1.843, 2.566, 3.461, 4.548",\
                 "0.2134, 0.265, 0.3972, 0.6024, 0.8896, 1.293, 1.842, 2.563, 3.463, 4.55",\
                 "0.215, 0.2664, 0.3992, 0.6046, 0.8916, 1.293, 1.843, 2.564, 3.461, 4.545",\
                 "0.2168, 0.2686, 0.4022, 0.6066, 0.8938, 1.294, 1.847, 2.566, 3.461, 4.546",\
                 "0.2196, 0.2716, 0.4042, 0.609, 0.8964, 1.296, 1.848, 2.564, 3.462, 4.542");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1634, 0.2202, 0.412, 0.7732, 1.37, 2.225, 3.356, 4.786, 6.528, 8.596",\
                 "0.1624, 0.2204, 0.4122, 0.7726, 1.37, 2.226, 3.354, 4.786, 6.524, 8.603",\
                 "0.164, 0.2206, 0.4118, 0.7724, 1.37, 2.226, 3.352, 4.786, 6.532, 8.6",\
                 "0.164, 0.2204, 0.4124, 0.7728, 1.368, 2.226, 3.354, 4.786, 6.526, 8.596",\
                 "0.1642, 0.2204, 0.4118, 0.7732, 1.37, 2.226, 3.354, 4.786, 6.523, 8.595",\
                 "0.1636, 0.2206, 0.4124, 0.773, 1.367, 2.225, 3.357, 4.784, 6.524, 8.595",\
                 "0.1654, 0.2228, 0.4136, 0.7734, 1.37, 2.223, 3.357, 4.781, 6.523, 8.601",\
                 "0.1664, 0.2248, 0.4162, 0.775, 1.368, 2.225, 3.357, 4.778, 6.532, 8.601",\
                 "0.1694, 0.2262, 0.4178, 0.776, 1.371, 2.226, 3.356, 4.78, 6.526, 8.6",\
                 "0.1726, 0.2288, 0.4198, 0.7776, 1.369, 2.226, 3.352, 4.78, 6.522, 8.612");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.836, 1.882, 1.996, 2.157, 2.366, 2.641, 2.995, 3.441, 3.985, 4.633",\
                 "1.85, 1.896, 2.01, 2.171, 2.38, 2.655, 3.009, 3.455, 3.999, 4.647",\
                 "1.887, 1.932, 2.047, 2.207, 2.417, 2.691, 3.046, 3.492, 4.036, 4.684",\
                 "1.903, 1.949, 2.063, 2.223, 2.433, 2.708, 3.062, 3.508, 4.052, 4.7",\
                 "1.879, 1.925, 2.039, 2.2, 2.409, 2.684, 3.039, 3.484, 4.028, 4.676",\
                 "1.809, 1.855, 1.969, 2.13, 2.339, 2.613, 2.968, 3.413, 3.957, 4.605",\
                 "1.684, 1.73, 1.845, 2.005, 2.215, 2.489, 2.844, 3.289, 3.833, 4.481",\
                 "1.502, 1.547, 1.662, 1.822, 2.032, 2.306, 2.661, 3.106, 3.65, 4.298",\
                 "1.256, 1.302, 1.415, 1.576, 1.785, 2.06, 2.415, 2.86, 3.404, 4.052",\
                 "0.9436, 0.9912, 1.104, 1.264, 1.474, 1.748, 2.103, 2.549, 3.093, 3.742");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.528, 1.579, 1.722, 1.956, 2.303, 2.791, 3.432, 4.241, 5.228, 6.406",\
                 "1.54, 1.59, 1.734, 1.967, 2.315, 2.802, 3.443, 4.252, 5.24, 6.417",\
                 "1.595, 1.646, 1.788, 2.022, 2.37, 2.857, 3.498, 4.307, 5.294, 6.473",\
                 "1.721, 1.772, 1.915, 2.149, 2.497, 2.984, 3.625, 4.434, 5.422, 6.599",\
                 "1.941, 1.991, 2.135, 2.368, 2.716, 3.203, 3.844, 4.653, 5.641, 6.818",\
                 "2.258, 2.308, 2.452, 2.685, 3.033, 3.52, 4.161, 4.97, 5.958, 7.135",\
                 "2.656, 2.707, 2.85, 3.084, 3.431, 3.918, 4.559, 5.368, 6.356, 7.534",\
                 "3.128, 3.179, 3.323, 3.556, 3.904, 4.39, 5.031, 5.84, 6.827, 8.006",\
                 "3.682, 3.733, 3.877, 4.112, 4.459, 4.944, 5.585, 6.393, 7.381, 8.558",\
                 "4.322, 4.374, 4.518, 4.752, 5.1, 5.585, 6.226, 7.034, 8.021, 9.199");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2106, 0.263, 0.3954, 0.601, 0.8878, 1.291, 1.843, 2.566, 3.463, 4.544",\
                 "0.211, 0.2628, 0.3956, 0.6012, 0.8882, 1.292, 1.843, 2.564, 3.465, 4.55",\
                 "0.2116, 0.263, 0.3952, 0.6018, 0.8884, 1.292, 1.844, 2.564, 3.466, 4.55",\
                 "0.211, 0.2632, 0.3954, 0.6012, 0.8882, 1.293, 1.844, 2.566, 3.466, 4.55",\
                 "0.2108, 0.263, 0.3952, 0.6008, 0.8894, 1.293, 1.843, 2.566, 3.465, 4.546",\
                 "0.2116, 0.2634, 0.3962, 0.6026, 0.8882, 1.292, 1.843, 2.566, 3.461, 4.548",\
                 "0.2134, 0.265, 0.3972, 0.6024, 0.8896, 1.293, 1.842, 2.563, 3.463, 4.55",\
                 "0.215, 0.2664, 0.3992, 0.6046, 0.8916, 1.293, 1.843, 2.564, 3.461, 4.545",\
                 "0.2168, 0.2686, 0.4022, 0.6066, 0.8938, 1.294, 1.847, 2.566, 3.461, 4.546",\
                 "0.2196, 0.2716, 0.4042, 0.609, 0.8964, 1.296, 1.848, 2.564, 3.462, 4.542");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1634, 0.2202, 0.412, 0.7732, 1.37, 2.225, 3.356, 4.786, 6.528, 8.596",\
                 "0.1624, 0.2204, 0.4122, 0.7726, 1.37, 2.226, 3.354, 4.786, 6.524, 8.603",\
                 "0.164, 0.2206, 0.4118, 0.7724, 1.37, 2.226, 3.352, 4.786, 6.532, 8.6",\
                 "0.164, 0.2204, 0.4124, 0.7728, 1.368, 2.226, 3.354, 4.786, 6.526, 8.596",\
                 "0.1642, 0.2204, 0.4118, 0.7732, 1.37, 2.226, 3.354, 4.786, 6.523, 8.595",\
                 "0.1636, 0.2206, 0.4124, 0.773, 1.367, 2.225, 3.357, 4.784, 6.524, 8.595",\
                 "0.1654, 0.2228, 0.4136, 0.7734, 1.37, 2.223, 3.357, 4.781, 6.523, 8.601",\
                 "0.1664, 0.2248, 0.4162, 0.775, 1.368, 2.225, 3.357, 4.778, 6.532, 8.601",\
                 "0.1694, 0.2262, 0.4178, 0.776, 1.371, 2.226, 3.356, 4.78, 6.526, 8.6",\
                 "0.1726, 0.2288, 0.4198, 0.7776, 1.369, 2.226, 3.352, 4.78, 6.522, 8.612");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b0 && A3===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&!A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.498, 1.553, 1.691, 1.886, 2.13, 2.429, 2.797, 3.247, 3.792, 4.44",\
                 "1.503, 1.558, 1.697, 1.892, 2.136, 2.434, 2.802, 3.252, 3.797, 4.446",\
                 "1.56, 1.615, 1.753, 1.948, 2.192, 2.491, 2.859, 3.309, 3.854, 4.502",\
                 "1.702, 1.757, 1.895, 2.09, 2.334, 2.633, 3, 3.451, 3.996, 4.644",\
                 "1.925, 1.98, 2.119, 2.314, 2.558, 2.857, 3.224, 3.674, 4.219, 4.868",\
                 "2.216, 2.271, 2.41, 2.605, 2.848, 3.147, 3.515, 3.965, 4.51, 5.158",\
                 "2.577, 2.632, 2.77, 2.965, 3.209, 3.508, 3.876, 4.326, 4.871, 5.519",\
                 "3.017, 3.071, 3.209, 3.405, 3.649, 3.948, 4.315, 4.765, 5.31, 5.959",\
                 "3.534, 3.589, 3.727, 3.922, 4.167, 4.465, 4.833, 5.283, 5.828, 6.476",\
                 "4.131, 4.186, 4.324, 4.518, 4.763, 5.063, 5.43, 5.88, 6.425, 7.073");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.657, 1.707, 1.85, 2.084, 2.432, 2.919, 3.56, 4.369, 5.357, 6.534",\
                 "1.671, 1.721, 1.864, 2.098, 2.446, 2.933, 3.575, 4.384, 5.372, 6.548",\
                 "1.707, 1.758, 1.901, 2.135, 2.483, 2.97, 3.611, 4.42, 5.408, 6.586",\
                 "1.723, 1.774, 1.917, 2.151, 2.499, 2.986, 3.627, 4.436, 5.424, 6.602",\
                 "1.699, 1.75, 1.893, 2.126, 2.475, 2.962, 3.603, 4.412, 5.4, 6.578",\
                 "1.629, 1.68, 1.823, 2.056, 2.404, 2.892, 3.533, 4.341, 5.33, 6.507",\
                 "1.506, 1.556, 1.699, 1.933, 2.281, 2.768, 3.409, 4.218, 5.206, 6.385",\
                 "1.323, 1.374, 1.517, 1.751, 2.099, 2.586, 3.227, 4.036, 5.023, 6.202",\
                 "1.078, 1.129, 1.271, 1.505, 1.853, 2.34, 2.981, 3.79, 4.777, 5.954",\
                 "0.7662, 0.8167, 0.9595, 1.193, 1.541, 2.028, 2.67, 3.478, 4.465, 5.643");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2104, 0.2622, 0.3954, 0.6004, 0.8878, 1.292, 1.844, 2.565, 3.465, 4.55",\
                 "0.2106, 0.2622, 0.3946, 0.6014, 0.8884, 1.293, 1.842, 2.566, 3.466, 4.55",\
                 "0.2116, 0.2624, 0.3948, 0.6012, 0.888, 1.294, 1.842, 2.565, 3.465, 4.548",\
                 "0.2116, 0.2622, 0.3948, 0.5996, 0.8872, 1.291, 1.842, 2.566, 3.464, 4.55",\
                 "0.2108, 0.262, 0.3948, 0.6002, 0.8886, 1.291, 1.842, 2.566, 3.465, 4.544",\
                 "0.21, 0.2618, 0.395, 0.6006, 0.8884, 1.293, 1.842, 2.566, 3.463, 4.55",\
                 "0.2106, 0.262, 0.395, 0.5998, 0.8872, 1.292, 1.844, 2.565, 3.466, 4.55",\
                 "0.2106, 0.2622, 0.3952, 0.6008, 0.8878, 1.291, 1.843, 2.563, 3.466, 4.547",\
                 "0.2112, 0.2622, 0.3954, 0.6006, 0.8876, 1.291, 1.841, 2.562, 3.462, 4.548",\
                 "0.21, 0.2624, 0.3952, 0.6002, 0.8882, 1.291, 1.842, 2.564, 3.464, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1608, 0.219, 0.4112, 0.7726, 1.367, 2.225, 3.355, 4.785, 6.521, 8.611",\
                 "0.1616, 0.2194, 0.4112, 0.7724, 1.368, 2.225, 3.355, 4.784, 6.52, 8.611",\
                 "0.1628, 0.2192, 0.4112, 0.7722, 1.37, 2.226, 3.354, 4.786, 6.53, 8.597",\
                 "0.1626, 0.219, 0.4112, 0.7724, 1.37, 2.226, 3.355, 4.786, 6.529, 8.596",\
                 "0.162, 0.2194, 0.411, 0.7722, 1.37, 2.226, 3.354, 4.786, 6.53, 8.597",\
                 "0.1602, 0.2184, 0.4112, 0.7724, 1.37, 2.224, 3.356, 4.784, 6.524, 8.601",\
                 "0.1604, 0.2184, 0.4112, 0.7722, 1.367, 2.224, 3.354, 4.782, 6.528, 8.602",\
                 "0.1604, 0.2182, 0.4112, 0.773, 1.369, 2.223, 3.355, 4.786, 6.531, 8.599",\
                 "0.1608, 0.2186, 0.412, 0.773, 1.368, 2.224, 3.353, 4.778, 6.526, 8.609",\
                 "0.1606, 0.218, 0.4104, 0.7728, 1.367, 2.223, 3.355, 4.778, 6.518, 8.593");
        }
      }

      timing() {
        related_pin : "A2" ;
        sdf_cond : "A1===1'b1 && A3===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&A3" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.699, 1.745, 1.859, 2.02, 2.229, 2.504, 2.858, 3.304, 3.848, 4.496",\
                 "1.711, 1.756, 1.871, 2.031, 2.241, 2.515, 2.87, 3.315, 3.859, 4.508",\
                 "1.766, 1.811, 1.925, 2.086, 2.296, 2.57, 2.925, 3.37, 3.914, 4.563",\
                 "1.892, 1.938, 2.052, 2.213, 2.422, 2.697, 3.052, 3.497, 4.041, 4.689",\
                 "2.111, 2.157, 2.271, 2.432, 2.641, 2.916, 3.271, 3.716, 4.26, 4.908",\
                 "2.425, 2.471, 2.585, 2.746, 2.955, 3.23, 3.585, 4.03, 4.574, 5.222",\
                 "2.817, 2.863, 2.977, 3.138, 3.347, 3.621, 3.976, 4.422, 4.965, 5.613",\
                 "3.28, 3.327, 3.441, 3.601, 3.811, 4.085, 4.439, 4.885, 5.429, 6.077",\
                 "3.825, 3.87, 3.984, 4.145, 4.354, 4.629, 4.983, 5.429, 5.972, 6.62",\
                 "4.454, 4.499, 4.612, 4.774, 4.983, 5.257, 5.612, 6.057, 6.601, 7.249");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.161, 1.21, 1.351, 1.584, 1.934, 2.422, 3.065, 3.876, 4.865, 6.044",\
                 "1.172, 1.22, 1.361, 1.595, 1.944, 2.432, 3.076, 3.886, 4.875, 6.054",\
                 "1.196, 1.245, 1.386, 1.619, 1.969, 2.457, 3.1, 3.911, 4.899, 6.078",\
                 "1.237, 1.286, 1.427, 1.66, 2.009, 2.498, 3.141, 3.951, 4.94, 6.119",\
                 "1.267, 1.315, 1.457, 1.69, 2.039, 2.528, 3.171, 3.982, 4.968, 6.145",\
                 "1.265, 1.314, 1.455, 1.688, 2.038, 2.526, 3.169, 3.98, 4.969, 6.147",\
                 "1.22, 1.269, 1.41, 1.643, 1.993, 2.481, 3.123, 3.933, 4.922, 6.102",\
                 "1.122, 1.171, 1.312, 1.545, 1.895, 2.383, 3.025, 3.834, 4.822, 5.999",\
                 "0.9671, 1.016, 1.156, 1.39, 1.739, 2.228, 2.87, 3.678, 4.666, 5.843",\
                 "0.7483, 0.7973, 0.9383, 1.171, 1.521, 2.009, 2.651, 3.46, 4.447, 5.625");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.152, 0.1928, 0.3018, 0.4824, 0.7684, 1.194, 1.776, 2.522, 3.438, 4.523",\
                 "0.1518, 0.1934, 0.3018, 0.4826, 0.7678, 1.195, 1.777, 2.524, 3.438, 4.528",\
                 "0.1516, 0.1942, 0.302, 0.4826, 0.7678, 1.195, 1.777, 2.524, 3.438, 4.528",\
                 "0.1518, 0.1938, 0.3022, 0.4822, 0.7694, 1.194, 1.777, 2.522, 3.436, 4.524",\
                 "0.1518, 0.193, 0.3018, 0.4832, 0.7686, 1.194, 1.777, 2.522, 3.438, 4.523",\
                 "0.152, 0.1934, 0.3022, 0.4826, 0.7696, 1.194, 1.778, 2.523, 3.437, 4.521",\
                 "0.1516, 0.193, 0.302, 0.4826, 0.769, 1.194, 1.777, 2.524, 3.433, 4.525",\
                 "0.1516, 0.193, 0.3018, 0.4816, 0.7674, 1.193, 1.777, 2.522, 3.437, 4.524",\
                 "0.1518, 0.1928, 0.3018, 0.4818, 0.7682, 1.195, 1.776, 2.52, 3.432, 4.525",\
                 "0.1512, 0.1924, 0.3016, 0.4828, 0.769, 1.194, 1.776, 2.52, 3.432, 4.52");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.142, 0.2014, 0.395, 0.762, 1.365, 2.224, 3.358, 4.782, 6.526, 8.604",\
                 "0.1416, 0.2014, 0.395, 0.762, 1.365, 2.224, 3.353, 4.782, 6.527, 8.603",\
                 "0.142, 0.2014, 0.395, 0.762, 1.365, 2.223, 3.353, 4.781, 6.537, 8.605",\
                 "0.142, 0.2012, 0.395, 0.762, 1.363, 2.224, 3.358, 4.79, 6.527, 8.604",\
                 "0.141, 0.202, 0.3954, 0.7624, 1.364, 2.219, 3.354, 4.782, 6.533, 8.615",\
                 "0.1412, 0.201, 0.3952, 0.7614, 1.363, 2.22, 3.354, 4.782, 6.527, 8.605",\
                 "0.1416, 0.2012, 0.3948, 0.7614, 1.363, 2.219, 3.354, 4.781, 6.533, 8.606",\
                 "0.1416, 0.2014, 0.3958, 0.7626, 1.362, 2.223, 3.351, 4.784, 6.516, 8.608",\
                 "0.142, 0.2018, 0.3954, 0.7628, 1.362, 2.22, 3.352, 4.779, 6.521, 8.592",\
                 "0.1418, 0.2026, 0.3958, 0.762, 1.362, 2.221, 3.351, 4.778, 6.521, 8.593");
        }
      }

      timing() {
        related_pin : "A2" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.699, 1.745, 1.859, 2.02, 2.229, 2.504, 2.858, 3.304, 3.848, 4.496",\
                 "1.711, 1.756, 1.871, 2.031, 2.241, 2.515, 2.87, 3.315, 3.859, 4.508",\
                 "1.766, 1.811, 1.925, 2.086, 2.296, 2.57, 2.925, 3.37, 3.914, 4.563",\
                 "1.892, 1.938, 2.052, 2.213, 2.422, 2.697, 3.052, 3.497, 4.041, 4.689",\
                 "2.111, 2.157, 2.271, 2.432, 2.641, 2.916, 3.271, 3.716, 4.26, 4.908",\
                 "2.425, 2.471, 2.585, 2.746, 2.955, 3.23, 3.585, 4.03, 4.574, 5.222",\
                 "2.817, 2.863, 2.977, 3.138, 3.347, 3.621, 3.976, 4.422, 4.965, 5.613",\
                 "3.28, 3.327, 3.441, 3.601, 3.811, 4.085, 4.439, 4.885, 5.429, 6.077",\
                 "3.825, 3.87, 3.984, 4.145, 4.354, 4.629, 4.983, 5.429, 5.972, 6.62",\
                 "4.454, 4.499, 4.612, 4.774, 4.983, 5.257, 5.612, 6.057, 6.601, 7.249");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("1.657, 1.707, 1.85, 2.084, 2.432, 2.919, 3.56, 4.369, 5.357, 6.534",\
                 "1.671, 1.721, 1.864, 2.098, 2.446, 2.933, 3.575, 4.384, 5.372, 6.548",\
                 "1.707, 1.758, 1.901, 2.135, 2.483, 2.97, 3.611, 4.42, 5.408, 6.586",\
                 "1.723, 1.774, 1.917, 2.151, 2.499, 2.986, 3.627, 4.436, 5.424, 6.602",\
                 "1.699, 1.75, 1.893, 2.126, 2.475, 2.962, 3.603, 4.412, 5.4, 6.578",\
                 "1.629, 1.68, 1.823, 2.056, 2.404, 2.892, 3.533, 4.341, 5.33, 6.507",\
                 "1.506, 1.556, 1.699, 1.933, 2.281, 2.768, 3.409, 4.218, 5.206, 6.385",\
                 "1.323, 1.374, 1.517, 1.751, 2.099, 2.586, 3.227, 4.036, 5.023, 6.202",\
                 "1.078, 1.129, 1.271, 1.505, 1.853, 2.34, 2.981, 3.79, 4.777, 5.954",\
                 "0.7662, 0.8167, 0.9595, 1.193, 1.541, 2.028, 2.67, 3.478, 4.465, 5.643");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2104, 0.2622, 0.3954, 0.6004, 0.8878, 1.292, 1.844, 2.565, 3.465, 4.55",\
                 "0.2106, 0.2622, 0.3946, 0.6014, 0.8884, 1.293, 1.842, 2.566, 3.466, 4.55",\
                 "0.2116, 0.2624, 0.3948, 0.6012, 0.888, 1.294, 1.842, 2.565, 3.465, 4.548",\
                 "0.2116, 0.2622, 0.3948, 0.5996, 0.8872, 1.291, 1.842, 2.566, 3.464, 4.55",\
                 "0.2108, 0.262, 0.3948, 0.6002, 0.8886, 1.291, 1.842, 2.566, 3.465, 4.544",\
                 "0.21, 0.2618, 0.395, 0.6006, 0.8884, 1.293, 1.842, 2.566, 3.463, 4.55",\
                 "0.2106, 0.262, 0.395, 0.5998, 0.8872, 1.292, 1.844, 2.565, 3.466, 4.55",\
                 "0.2106, 0.2622, 0.3952, 0.6008, 0.8878, 1.291, 1.843, 2.563, 3.466, 4.547",\
                 "0.2112, 0.2622, 0.3954, 0.6006, 0.8876, 1.291, 1.841, 2.562, 3.462, 4.548",\
                 "0.21, 0.2624, 0.3952, 0.6002, 0.8882, 1.291, 1.842, 2.564, 3.464, 4.544");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.142, 0.2014, 0.395, 0.762, 1.365, 2.224, 3.358, 4.782, 6.526, 8.604",\
                 "0.1416, 0.2014, 0.395, 0.762, 1.365, 2.224, 3.353, 4.782, 6.527, 8.603",\
                 "0.142, 0.2014, 0.395, 0.762, 1.365, 2.223, 3.353, 4.781, 6.537, 8.605",\
                 "0.142, 0.2012, 0.395, 0.762, 1.363, 2.224, 3.358, 4.79, 6.527, 8.604",\
                 "0.141, 0.202, 0.3954, 0.7624, 1.364, 2.219, 3.354, 4.782, 6.533, 8.615",\
                 "0.1412, 0.201, 0.3952, 0.7614, 1.363, 2.22, 3.354, 4.782, 6.527, 8.605",\
                 "0.1416, 0.2012, 0.3948, 0.7614, 1.363, 2.219, 3.354, 4.781, 6.533, 8.606",\
                 "0.1416, 0.2014, 0.3958, 0.7626, 1.362, 2.223, 3.351, 4.784, 6.516, 8.608",\
                 "0.142, 0.2018, 0.3954, 0.7628, 1.362, 2.22, 3.352, 4.779, 6.521, 8.592",\
                 "0.1418, 0.2026, 0.3958, 0.762, 1.362, 2.221, 3.351, 4.778, 6.521, 8.593");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b1" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "!A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.7143, 0.7612, 0.8772, 1.039, 1.248, 1.523, 1.877, 2.323, 2.867, 3.515",\
                 "0.7233, 0.7698, 0.8863, 1.048, 1.257, 1.532, 1.886, 2.332, 2.876, 3.524",\
                 "0.7418, 0.7888, 0.9048, 1.066, 1.276, 1.55, 1.905, 2.35, 2.894, 3.542",\
                 "0.7665, 0.8134, 0.9295, 1.091, 1.301, 1.575, 1.929, 2.375, 2.919, 3.567",\
                 "0.7816, 0.8277, 0.9424, 1.103, 1.313, 1.587, 1.942, 2.387, 2.931, 3.579",\
                 "0.768, 0.8135, 0.9284, 1.09, 1.299, 1.573, 1.927, 2.372, 2.916, 3.564",\
                 "0.7147, 0.7614, 0.877, 1.039, 1.248, 1.523, 1.877, 2.322, 2.865, 3.512",\
                 "0.6192, 0.6659, 0.7824, 0.9449, 1.155, 1.43, 1.785, 2.23, 2.773, 3.42",\
                 "0.4746, 0.5214, 0.6394, 0.8028, 1.015, 1.292, 1.65, 2.097, 2.64, 3.288",\
                 "0.2783, 0.3266, 0.4451, 0.6094, 0.8226, 1.103, 1.464, 1.913, 2.457, 3.104");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.8792, 0.9284, 1.07, 1.304, 1.654, 2.142, 2.785, 3.594, 4.583, 5.762",\
                 "0.8944, 0.9438, 1.085, 1.319, 1.669, 2.158, 2.8, 3.609, 4.598, 5.777",\
                 "0.9617, 1.011, 1.153, 1.387, 1.736, 2.225, 2.868, 3.677, 4.665, 5.844",\
                 "1.104, 1.154, 1.295, 1.529, 1.879, 2.367, 3.011, 3.82, 4.808, 5.987",\
                 "1.318, 1.367, 1.508, 1.742, 2.092, 2.58, 3.223, 4.032, 5.021, 6.2",\
                 "1.582, 1.631, 1.774, 2.008, 2.358, 2.846, 3.489, 4.298, 5.286, 6.462",\
                 "1.902, 1.951, 2.093, 2.328, 2.677, 3.166, 3.809, 4.618, 5.607, 6.785",\
                 "2.28, 2.33, 2.472, 2.706, 3.056, 3.544, 4.186, 4.996, 5.985, 7.161",\
                 "2.717, 2.767, 2.911, 3.145, 3.494, 3.982, 4.624, 5.434, 6.421, 7.6",\
                 "3.215, 3.265, 3.409, 3.643, 3.993, 4.48, 5.123, 5.932, 6.921, 8.098");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1542, 0.1958, 0.3057, 0.4843, 0.769, 1.193, 1.777, 2.523, 3.437, 4.528",\
                 "0.1534, 0.1969, 0.3053, 0.4839, 0.7696, 1.195, 1.776, 2.523, 3.438, 4.528",\
                 "0.1537, 0.1959, 0.3054, 0.4844, 0.77, 1.194, 1.778, 2.523, 3.438, 4.528",\
                 "0.154, 0.196, 0.3058, 0.4848, 0.7686, 1.194, 1.778, 2.522, 3.436, 4.529",\
                 "0.1512, 0.1926, 0.3024, 0.4816, 0.7682, 1.194, 1.778, 2.521, 3.437, 4.527",\
                 "0.1518, 0.194, 0.3038, 0.4828, 0.767, 1.191, 1.775, 2.519, 3.437, 4.527",\
                 "0.155, 0.1964, 0.3064, 0.4858, 0.7682, 1.192, 1.774, 2.516, 3.43, 4.522",\
                 "0.1576, 0.1998, 0.3098, 0.489, 0.7726, 1.195, 1.775, 2.519, 3.428, 4.515",\
                 "0.1616, 0.2054, 0.3146, 0.4918, 0.7762, 1.205, 1.786, 2.525, 3.433, 4.515",\
                 "0.1662, 0.208, 0.3174, 0.496, 0.7838, 1.217, 1.8, 2.532, 3.435, 4.518");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1456, 0.2053, 0.3996, 0.765, 1.367, 2.222, 3.354, 4.789, 6.524, 8.601",\
                 "0.1457, 0.205, 0.4, 0.765, 1.366, 2.221, 3.359, 4.786, 6.522, 8.6",\
                 "0.146, 0.2052, 0.3992, 0.7652, 1.367, 2.225, 3.354, 4.79, 6.524, 8.602",\
                 "0.1452, 0.2054, 0.3994, 0.7652, 1.365, 2.224, 3.354, 4.79, 6.527, 8.602",\
                 "0.1452, 0.2054, 0.4, 0.766, 1.366, 2.224, 3.354, 4.789, 6.525, 8.599",\
                 "0.1464, 0.2058, 0.4012, 0.7664, 1.367, 2.221, 3.353, 4.782, 6.521, 8.599",\
                 "0.1464, 0.2074, 0.4012, 0.7668, 1.365, 2.225, 3.355, 4.789, 6.525, 8.601",\
                 "0.1496, 0.2078, 0.4024, 0.768, 1.366, 2.222, 3.354, 4.787, 6.522, 8.599",\
                 "0.1514, 0.2106, 0.4056, 0.768, 1.368, 2.223, 3.354, 4.781, 6.527, 8.612",\
                 "0.1554, 0.2134, 0.4078, 0.771, 1.368, 2.224, 3.354, 4.781, 6.526, 8.608");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b0" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;
        when : "A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.7143, 0.7612, 0.8772, 1.039, 1.249, 1.523, 1.877, 2.323, 2.867, 3.515",\
                 "0.7233, 0.7701, 0.8861, 1.047, 1.257, 1.532, 1.886, 2.332, 2.876, 3.524",\
                 "0.7418, 0.7888, 0.9049, 1.066, 1.276, 1.55, 1.905, 2.35, 2.894, 3.542",\
                 "0.7665, 0.8134, 0.9296, 1.091, 1.301, 1.575, 1.93, 2.375, 2.919, 3.567",\
                 "0.7815, 0.8277, 0.9424, 1.103, 1.313, 1.587, 1.942, 2.387, 2.931, 3.579",\
                 "0.768, 0.8135, 0.9284, 1.09, 1.299, 1.573, 1.927, 2.372, 2.916, 3.564",\
                 "0.7147, 0.7614, 0.877, 1.039, 1.248, 1.523, 1.877, 2.322, 2.865, 3.513",\
                 "0.6192, 0.6659, 0.7824, 0.9448, 1.155, 1.43, 1.785, 2.23, 2.773, 3.42",\
                 "0.4746, 0.5215, 0.6394, 0.803, 1.015, 1.292, 1.65, 2.097, 2.64, 3.288",\
                 "0.2783, 0.3266, 0.4451, 0.6096, 0.8226, 1.103, 1.464, 1.913, 2.457, 3.104");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.8792, 0.9284, 1.07, 1.304, 1.654, 2.142, 2.785, 3.593, 4.583, 5.762",\
                 "0.8944, 0.9438, 1.085, 1.319, 1.669, 2.157, 2.8, 3.609, 4.598, 5.777",\
                 "0.9617, 1.011, 1.153, 1.387, 1.736, 2.225, 2.868, 3.677, 4.665, 5.844",\
                 "1.104, 1.153, 1.296, 1.529, 1.879, 2.367, 3.01, 3.819, 4.808, 5.986",\
                 "1.317, 1.367, 1.509, 1.742, 2.092, 2.58, 3.223, 4.032, 5.021, 6.2",\
                 "1.582, 1.631, 1.774, 2.008, 2.357, 2.846, 3.489, 4.299, 5.286, 6.463",\
                 "1.902, 1.951, 2.093, 2.327, 2.677, 3.166, 3.809, 4.618, 5.605, 6.783",\
                 "2.28, 2.33, 2.472, 2.706, 3.056, 3.544, 4.187, 4.996, 5.985, 7.161",\
                 "2.717, 2.767, 2.911, 3.145, 3.494, 3.982, 4.624, 5.434, 6.421, 7.599",\
                 "3.215, 3.265, 3.409, 3.643, 3.992, 4.48, 5.123, 5.932, 6.921, 8.098");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1542, 0.1958, 0.3057, 0.4844, 0.7696, 1.194, 1.778, 2.523, 3.437, 4.526",\
                 "0.1534, 0.1961, 0.3055, 0.4842, 0.7688, 1.195, 1.776, 2.523, 3.438, 4.528",\
                 "0.1538, 0.1959, 0.3052, 0.4842, 0.7698, 1.194, 1.778, 2.523, 3.438, 4.528",\
                 "0.1538, 0.196, 0.306, 0.4848, 0.7688, 1.194, 1.776, 2.522, 3.436, 4.529",\
                 "0.1516, 0.1926, 0.3024, 0.4816, 0.7682, 1.194, 1.778, 2.521, 3.437, 4.527",\
                 "0.1518, 0.194, 0.3038, 0.4828, 0.767, 1.191, 1.775, 2.519, 3.437, 4.527",\
                 "0.155, 0.1964, 0.3064, 0.4858, 0.7682, 1.192, 1.773, 2.516, 3.43, 4.52",\
                 "0.1576, 0.1998, 0.3098, 0.4874, 0.7726, 1.195, 1.775, 2.518, 3.428, 4.515",\
                 "0.1614, 0.2042, 0.314, 0.4916, 0.7762, 1.205, 1.786, 2.525, 3.433, 4.515",\
                 "0.1662, 0.208, 0.3174, 0.4958, 0.7838, 1.217, 1.8, 2.532, 3.435, 4.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1455, 0.2051, 0.3991, 0.7654, 1.366, 2.225, 3.36, 4.788, 6.523, 8.6",\
                 "0.1457, 0.2051, 0.3998, 0.7648, 1.366, 2.221, 3.359, 4.786, 6.522, 8.6",\
                 "0.146, 0.2052, 0.3992, 0.7652, 1.367, 2.225, 3.354, 4.789, 6.524, 8.602",\
                 "0.146, 0.2056, 0.3992, 0.7648, 1.367, 2.225, 3.354, 4.789, 6.524, 8.602",\
                 "0.1458, 0.2056, 0.3996, 0.7656, 1.367, 2.222, 3.354, 4.784, 6.521, 8.601",\
                 "0.1468, 0.2058, 0.4006, 0.7662, 1.365, 2.222, 3.355, 4.782, 6.522, 8.595",\
                 "0.1468, 0.2068, 0.402, 0.767, 1.365, 2.225, 3.353, 4.781, 6.533, 8.6",\
                 "0.1484, 0.2088, 0.4024, 0.7682, 1.366, 2.224, 3.353, 4.785, 6.518, 8.599",\
                 "0.1526, 0.2102, 0.4048, 0.7684, 1.366, 2.223, 3.355, 4.784, 6.528, 8.612",\
                 "0.1542, 0.2138, 0.4074, 0.771, 1.368, 2.223, 3.354, 4.78, 6.524, 8.604");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : negative_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.7143, 0.7612, 0.8772, 1.039, 1.249, 1.523, 1.877, 2.323, 2.867, 3.515",\
                 "0.7233, 0.7701, 0.8861, 1.047, 1.257, 1.532, 1.886, 2.332, 2.876, 3.524",\
                 "0.7418, 0.7888, 0.9049, 1.066, 1.276, 1.55, 1.905, 2.35, 2.894, 3.542",\
                 "0.7665, 0.8134, 0.9296, 1.091, 1.301, 1.575, 1.93, 2.375, 2.919, 3.567",\
                 "0.7815, 0.8277, 0.9424, 1.103, 1.313, 1.587, 1.942, 2.387, 2.931, 3.579",\
                 "0.768, 0.8135, 0.9284, 1.09, 1.299, 1.573, 1.927, 2.372, 2.916, 3.564",\
                 "0.7147, 0.7614, 0.877, 1.039, 1.248, 1.523, 1.877, 2.322, 2.865, 3.513",\
                 "0.6192, 0.6659, 0.7824, 0.9448, 1.155, 1.43, 1.785, 2.23, 2.773, 3.42",\
                 "0.4746, 0.5215, 0.6394, 0.803, 1.015, 1.292, 1.65, 2.097, 2.64, 3.288",\
                 "0.2783, 0.3266, 0.4451, 0.6096, 0.8226, 1.103, 1.464, 1.913, 2.457, 3.104");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.8792, 0.9284, 1.07, 1.304, 1.654, 2.142, 2.785, 3.593, 4.583, 5.762",\
                 "0.8944, 0.9438, 1.085, 1.319, 1.669, 2.157, 2.8, 3.609, 4.598, 5.777",\
                 "0.9617, 1.011, 1.153, 1.387, 1.736, 2.225, 2.868, 3.677, 4.665, 5.844",\
                 "1.104, 1.153, 1.296, 1.529, 1.879, 2.367, 3.01, 3.819, 4.808, 5.986",\
                 "1.317, 1.367, 1.509, 1.742, 2.092, 2.58, 3.223, 4.032, 5.021, 6.2",\
                 "1.582, 1.631, 1.774, 2.008, 2.357, 2.846, 3.489, 4.299, 5.286, 6.463",\
                 "1.902, 1.951, 2.093, 2.327, 2.677, 3.166, 3.809, 4.618, 5.605, 6.783",\
                 "2.28, 2.33, 2.472, 2.706, 3.056, 3.544, 4.187, 4.996, 5.985, 7.161",\
                 "2.717, 2.767, 2.911, 3.145, 3.494, 3.982, 4.624, 5.434, 6.421, 7.599",\
                 "3.215, 3.265, 3.409, 3.643, 3.992, 4.48, 5.123, 5.932, 6.921, 8.098");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1542, 0.1958, 0.3057, 0.4844, 0.7696, 1.194, 1.778, 2.523, 3.437, 4.526",\
                 "0.1534, 0.1961, 0.3055, 0.4842, 0.7688, 1.195, 1.776, 2.523, 3.438, 4.528",\
                 "0.1538, 0.1959, 0.3052, 0.4842, 0.7698, 1.194, 1.778, 2.523, 3.438, 4.528",\
                 "0.1538, 0.196, 0.306, 0.4848, 0.7688, 1.194, 1.776, 2.522, 3.436, 4.529",\
                 "0.1516, 0.1926, 0.3024, 0.4816, 0.7682, 1.194, 1.778, 2.521, 3.437, 4.527",\
                 "0.1518, 0.194, 0.3038, 0.4828, 0.767, 1.191, 1.775, 2.519, 3.437, 4.527",\
                 "0.155, 0.1964, 0.3064, 0.4858, 0.7682, 1.192, 1.773, 2.516, 3.43, 4.52",\
                 "0.1576, 0.1998, 0.3098, 0.4874, 0.7726, 1.195, 1.775, 2.518, 3.428, 4.515",\
                 "0.1614, 0.2042, 0.314, 0.4916, 0.7762, 1.205, 1.786, 2.525, 3.433, 4.515",\
                 "0.1662, 0.208, 0.3174, 0.4958, 0.7838, 1.217, 1.8, 2.532, 3.435, 4.516");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1455, 0.2051, 0.3991, 0.7654, 1.366, 2.225, 3.36, 4.788, 6.523, 8.6",\
                 "0.1457, 0.2051, 0.3998, 0.7648, 1.366, 2.221, 3.359, 4.786, 6.522, 8.6",\
                 "0.146, 0.2052, 0.3992, 0.7652, 1.367, 2.225, 3.354, 4.789, 6.524, 8.602",\
                 "0.146, 0.2056, 0.3992, 0.7648, 1.367, 2.225, 3.354, 4.789, 6.524, 8.602",\
                 "0.1458, 0.2056, 0.3996, 0.7656, 1.367, 2.222, 3.354, 4.784, 6.521, 8.601",\
                 "0.1468, 0.2058, 0.4006, 0.7662, 1.365, 2.222, 3.355, 4.782, 6.522, 8.595",\
                 "0.1468, 0.2068, 0.402, 0.767, 1.365, 2.225, 3.353, 4.781, 6.533, 8.6",\
                 "0.1484, 0.2088, 0.4024, 0.7682, 1.366, 2.224, 3.353, 4.785, 6.518, 8.599",\
                 "0.1526, 0.2102, 0.4048, 0.7684, 1.366, 2.223, 3.355, 4.784, 6.528, 8.612",\
                 "0.1542, 0.2138, 0.4074, 0.771, 1.368, 2.223, 3.354, 4.78, 6.524, 8.604");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b0 && A2===1'b0" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "!A1&!A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.6669, 0.7216, 0.8604, 1.056, 1.3, 1.598, 1.966, 2.416, 2.961, 3.609",\
                 "0.6799, 0.7346, 0.8736, 1.068, 1.312, 1.611, 1.979, 2.429, 2.974, 3.622",\
                 "0.7299, 0.7846, 0.9235, 1.119, 1.362, 1.661, 2.029, 2.479, 3.024, 3.672",\
                 "0.8478, 0.9024, 1.041, 1.236, 1.479, 1.778, 2.146, 2.596, 3.141, 3.789",\
                 "1.047, 1.101, 1.24, 1.434, 1.677, 1.976, 2.343, 2.794, 3.338, 3.986",\
                 "1.297, 1.354, 1.498, 1.696, 1.942, 2.242, 2.609, 3.059, 3.604, 4.251",\
                 "1.589, 1.649, 1.799, 2.003, 2.254, 2.558, 2.927, 3.377, 3.921, 4.569",\
                 "1.932, 1.995, 2.151, 2.361, 2.618, 2.924, 3.295, 3.746, 4.291, 4.937",\
                 "2.325, 2.392, 2.556, 2.773, 3.036, 3.347, 3.719, 4.171, 4.717, 5.364",\
                 "2.766, 2.837, 3.01, 3.239, 3.511, 3.828, 4.204, 4.657, 5.201, 5.848");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3957, 0.4441, 0.5849, 0.8183, 1.168, 1.657, 2.3, 3.111, 4.1, 5.279",\
                 "0.4097, 0.4578, 0.5987, 0.8322, 1.182, 1.67, 2.314, 3.125, 4.113, 5.292",\
                 "0.456, 0.5044, 0.645, 0.8782, 1.228, 1.716, 2.36, 3.171, 4.159, 5.334",\
                 "0.5401, 0.5887, 0.7283, 0.9604, 1.309, 1.797, 2.441, 3.251, 4.24, 5.419",\
                 "0.6164, 0.6661, 0.8083, 1.041, 1.389, 1.876, 2.518, 3.327, 4.316, 5.497",\
                 "0.6677, 0.72, 0.8651, 1.099, 1.446, 1.932, 2.572, 3.381, 4.371, 5.545",\
                 "0.6887, 0.7445, 0.8944, 1.131, 1.476, 1.96, 2.601, 3.408, 4.395, 5.575",\
                 "0.674, 0.7337, 0.8902, 1.132, 1.479, 1.961, 2.599, 3.406, 4.392, 5.569",\
                 "0.6197, 0.6834, 0.8476, 1.097, 1.447, 1.931, 2.568, 3.373, 4.358, 5.534",\
                 "0.5232, 0.5907, 0.7633, 1.02, 1.374, 1.862, 2.502, 3.307, 4.291, 5.466");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2103, 0.2619, 0.3953, 0.6014, 0.8882, 1.293, 1.842, 2.566, 3.465, 4.55",\
                 "0.2101, 0.262, 0.3944, 0.6011, 0.8878, 1.292, 1.842, 2.564, 3.466, 4.55",\
                 "0.2105, 0.2622, 0.3953, 0.6012, 0.888, 1.291, 1.842, 2.565, 3.463, 4.55",\
                 "0.2104, 0.2618, 0.3946, 0.601, 0.8878, 1.291, 1.842, 2.565, 3.465, 4.55",\
                 "0.2168, 0.2678, 0.3998, 0.6052, 0.891, 1.294, 1.843, 2.566, 3.466, 4.55",\
                 "0.2446, 0.2966, 0.4256, 0.6256, 0.9048, 1.302, 1.85, 2.568, 3.466, 4.548",\
                 "0.2708, 0.3248, 0.455, 0.6524, 0.93, 1.321, 1.86, 2.57, 3.468, 4.547",\
                 "0.2966, 0.353, 0.4876, 0.6832, 0.9566, 1.34, 1.874, 2.582, 3.474, 4.549",\
                 "0.33, 0.3896, 0.5288, 0.7196, 0.9882, 1.364, 1.889, 2.593, 3.478, 4.555",\
                 "0.3672, 0.4294, 0.5762, 0.7696, 1.034, 1.4, 1.911, 2.606, 3.487, 4.559");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1386, 0.1985, 0.3925, 0.7608, 1.362, 2.222, 3.352, 4.783, 6.526, 8.603",\
                 "0.1383, 0.1985, 0.392, 0.762, 1.362, 2.224, 3.353, 4.782, 6.527, 8.605",\
                 "0.1377, 0.1988, 0.393, 0.7608, 1.364, 2.222, 3.357, 4.783, 6.537, 8.613",\
                 "0.142, 0.2006, 0.3948, 0.7612, 1.364, 2.22, 3.352, 4.783, 6.527, 8.605",\
                 "0.157, 0.2156, 0.407, 0.7692, 1.364, 2.223, 3.357, 4.787, 6.524, 8.607",\
                 "0.1782, 0.2332, 0.4214, 0.7774, 1.37, 2.225, 3.355, 4.786, 6.526, 8.612",\
                 "0.202, 0.2582, 0.4426, 0.7918, 1.375, 2.227, 3.356, 4.78, 6.519, 8.603",\
                 "0.229, 0.2856, 0.4692, 0.813, 1.386, 2.23, 3.36, 4.784, 6.527, 8.605",\
                 "0.2584, 0.3184, 0.5, 0.84, 1.407, 2.245, 3.363, 4.787, 6.524, 8.614",\
                 "0.2888, 0.3512, 0.5342, 0.8718, 1.431, 2.269, 3.382, 4.793, 6.527, 8.6");
        }
      }

      timing() {
        related_pin : "A3" ;
        sdf_cond : "A1===1'b1 && A2===1'b1" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;
        when : "A1&A2" ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.6666, 0.7212, 0.8601, 1.055, 1.299, 1.598, 1.965, 2.416, 2.961, 3.609",\
                 "0.6796, 0.7343, 0.8732, 1.068, 1.312, 1.611, 1.979, 2.429, 2.974, 3.622",\
                 "0.7297, 0.7844, 0.9233, 1.118, 1.362, 1.661, 2.029, 2.479, 3.024, 3.672",\
                 "0.8476, 0.9023, 1.041, 1.236, 1.48, 1.778, 2.146, 2.596, 3.141, 3.79",\
                 "1.047, 1.101, 1.239, 1.434, 1.677, 1.976, 2.343, 2.793, 3.339, 3.987",\
                 "1.297, 1.354, 1.498, 1.696, 1.943, 2.242, 2.609, 3.059, 3.604, 4.252",\
                 "1.589, 1.65, 1.799, 2.003, 2.255, 2.558, 2.927, 3.377, 3.921, 4.568",\
                 "1.932, 1.995, 2.152, 2.361, 2.617, 2.924, 3.295, 3.746, 4.291, 4.938",\
                 "2.325, 2.392, 2.556, 2.774, 3.037, 3.347, 3.72, 4.171, 4.717, 5.365",\
                 "2.766, 2.837, 3.01, 3.239, 3.511, 3.828, 4.204, 4.656, 5.201, 5.848");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3956, 0.4441, 0.5849, 0.8183, 1.168, 1.657, 2.3, 3.111, 4.1, 5.279",\
                 "0.4095, 0.4582, 0.5987, 0.8321, 1.182, 1.67, 2.314, 3.125, 4.113, 5.292",\
                 "0.4562, 0.5046, 0.6448, 0.8782, 1.228, 1.717, 2.36, 3.171, 4.159, 5.337",\
                 "0.5401, 0.5885, 0.7282, 0.9603, 1.309, 1.797, 2.439, 3.251, 4.239, 5.417",\
                 "0.6163, 0.6661, 0.8082, 1.041, 1.389, 1.875, 2.517, 3.327, 4.317, 5.495",\
                 "0.6677, 0.72, 0.8651, 1.099, 1.446, 1.932, 2.572, 3.381, 4.371, 5.545",\
                 "0.6886, 0.7443, 0.8943, 1.13, 1.476, 1.961, 2.601, 3.408, 4.394, 5.575",\
                 "0.674, 0.7338, 0.8902, 1.132, 1.479, 1.961, 2.599, 3.406, 4.392, 5.569",\
                 "0.6195, 0.6835, 0.8473, 1.097, 1.447, 1.93, 2.569, 3.373, 4.357, 5.533",\
                 "0.5231, 0.5909, 0.7634, 1.02, 1.375, 1.863, 2.502, 3.308, 4.291, 5.466");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2104, 0.2619, 0.3953, 0.6013, 0.8884, 1.293, 1.842, 2.566, 3.463, 4.548",\
                 "0.2102, 0.262, 0.3944, 0.6012, 0.8894, 1.29, 1.843, 2.564, 3.466, 4.549",\
                 "0.2106, 0.2622, 0.3955, 0.6014, 0.8884, 1.292, 1.843, 2.564, 3.463, 4.55",\
                 "0.2104, 0.2618, 0.3946, 0.601, 0.8882, 1.292, 1.843, 2.566, 3.466, 4.549",\
                 "0.2182, 0.2678, 0.4, 0.604, 0.891, 1.294, 1.846, 2.566, 3.464, 4.55",\
                 "0.245, 0.2966, 0.4256, 0.6252, 0.9046, 1.303, 1.848, 2.568, 3.466, 4.547",\
                 "0.27, 0.324, 0.4552, 0.6522, 0.9314, 1.322, 1.86, 2.574, 3.469, 4.551",\
                 "0.298, 0.3544, 0.4886, 0.683, 0.9568, 1.34, 1.875, 2.582, 3.474, 4.552",\
                 "0.33, 0.39, 0.5282, 0.7204, 0.9888, 1.364, 1.889, 2.592, 3.479, 4.555",\
                 "0.3666, 0.4292, 0.5772, 0.77, 1.034, 1.401, 1.913, 2.606, 3.489, 4.559");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1385, 0.1985, 0.3925, 0.7606, 1.362, 2.222, 3.352, 4.783, 6.526, 8.602",\
                 "0.1384, 0.1983, 0.3921, 0.7611, 1.363, 2.222, 3.354, 4.783, 6.527, 8.605",\
                 "0.138, 0.1983, 0.3928, 0.7608, 1.361, 2.22, 3.354, 4.782, 6.537, 8.607",\
                 "0.1419, 0.201, 0.3948, 0.7618, 1.365, 2.219, 3.354, 4.782, 6.537, 8.621",\
                 "0.157, 0.215, 0.4068, 0.7694, 1.366, 2.223, 3.352, 4.787, 6.526, 8.603",\
                 "0.1782, 0.2332, 0.4212, 0.7776, 1.369, 2.225, 3.355, 4.786, 6.526, 8.611",\
                 "0.2026, 0.2578, 0.4428, 0.7908, 1.375, 2.226, 3.358, 4.785, 6.529, 8.6",\
                 "0.2288, 0.2864, 0.4694, 0.8122, 1.385, 2.231, 3.359, 4.782, 6.531, 8.6",\
                 "0.2586, 0.3186, 0.5004, 0.839, 1.406, 2.247, 3.366, 4.787, 6.524, 8.613",\
                 "0.2896, 0.3522, 0.535, 0.8714, 1.431, 2.268, 3.383, 4.794, 6.528, 8.599");
        }
      }

      timing() {
        related_pin : "A3" ;
        timing_sense : positive_unate ;
        timing_type : combinational ;

        cell_fall(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.6666, 0.7212, 0.8601, 1.055, 1.299, 1.598, 1.965, 2.416, 2.961, 3.609",\
                 "0.6796, 0.7343, 0.8732, 1.068, 1.312, 1.611, 1.979, 2.429, 2.974, 3.622",\
                 "0.7297, 0.7844, 0.9233, 1.118, 1.362, 1.661, 2.029, 2.479, 3.024, 3.672",\
                 "0.8476, 0.9023, 1.041, 1.236, 1.48, 1.778, 2.146, 2.596, 3.141, 3.79",\
                 "1.047, 1.101, 1.239, 1.434, 1.677, 1.976, 2.343, 2.793, 3.339, 3.987",\
                 "1.297, 1.354, 1.498, 1.696, 1.943, 2.242, 2.609, 3.059, 3.604, 4.252",\
                 "1.589, 1.65, 1.799, 2.003, 2.255, 2.558, 2.927, 3.377, 3.921, 4.568",\
                 "1.932, 1.995, 2.152, 2.361, 2.617, 2.924, 3.295, 3.746, 4.291, 4.938",\
                 "2.325, 2.392, 2.556, 2.774, 3.037, 3.347, 3.72, 4.171, 4.717, 5.365",\
                 "2.766, 2.837, 3.01, 3.239, 3.511, 3.828, 4.204, 4.656, 5.201, 5.848");
        }

        cell_rise(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.3957, 0.4441, 0.5849, 0.8183, 1.168, 1.657, 2.3, 3.111, 4.1, 5.279",\
                 "0.4097, 0.4578, 0.5987, 0.8322, 1.182, 1.67, 2.314, 3.125, 4.113, 5.292",\
                 "0.456, 0.5044, 0.645, 0.8782, 1.228, 1.716, 2.36, 3.171, 4.159, 5.334",\
                 "0.5401, 0.5887, 0.7283, 0.9604, 1.309, 1.797, 2.441, 3.251, 4.24, 5.419",\
                 "0.6164, 0.6661, 0.8083, 1.041, 1.389, 1.876, 2.518, 3.327, 4.316, 5.497",\
                 "0.6677, 0.72, 0.8651, 1.099, 1.446, 1.932, 2.572, 3.381, 4.371, 5.545",\
                 "0.6887, 0.7445, 0.8944, 1.131, 1.476, 1.96, 2.601, 3.408, 4.395, 5.575",\
                 "0.674, 0.7337, 0.8902, 1.132, 1.479, 1.961, 2.599, 3.406, 4.392, 5.569",\
                 "0.6197, 0.6834, 0.8476, 1.097, 1.447, 1.931, 2.568, 3.373, 4.358, 5.534",\
                 "0.5232, 0.5907, 0.7633, 1.02, 1.374, 1.862, 2.502, 3.307, 4.291, 5.466");
        }

        fall_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.2104, 0.2619, 0.3953, 0.6013, 0.8884, 1.293, 1.842, 2.566, 3.463, 4.548",\
                 "0.2102, 0.262, 0.3944, 0.6012, 0.8894, 1.29, 1.843, 2.564, 3.466, 4.549",\
                 "0.2106, 0.2622, 0.3955, 0.6014, 0.8884, 1.292, 1.843, 2.564, 3.463, 4.55",\
                 "0.2104, 0.2618, 0.3946, 0.601, 0.8882, 1.292, 1.843, 2.566, 3.466, 4.549",\
                 "0.2182, 0.2678, 0.4, 0.604, 0.891, 1.294, 1.846, 2.566, 3.464, 4.55",\
                 "0.245, 0.2966, 0.4256, 0.6252, 0.9046, 1.303, 1.848, 2.568, 3.466, 4.547",\
                 "0.27, 0.324, 0.4552, 0.6522, 0.9314, 1.322, 1.86, 2.574, 3.469, 4.551",\
                 "0.298, 0.3544, 0.4886, 0.683, 0.9568, 1.34, 1.875, 2.582, 3.474, 4.552",\
                 "0.33, 0.39, 0.5282, 0.7204, 0.9888, 1.364, 1.889, 2.592, 3.479, 4.555",\
                 "0.3666, 0.4292, 0.5772, 0.77, 1.034, 1.401, 1.913, 2.606, 3.489, 4.559");
        }

        rise_transition(tmg_ntin_oload_10x10) {
          index_1("0.02, 0.07922, 0.2871, 0.6841, 1.303, 2.17, 3.312, 4.751, 6.507, 8.6");
          index_2("0.001, 0.0109, 0.04567, 0.1121, 0.2155, 0.3606, 0.5516, 0.7922, 1.086, 1.436");
          values("0.1385, 0.1985, 0.3925, 0.7606, 1.362, 2.222, 3.352, 4.783, 6.526, 8.602",\
                 "0.1384, 0.1983, 0.3921, 0.7611, 1.363, 2.222, 3.354, 4.783, 6.527, 8.605",\
                 "0.138, 0.1983, 0.3928, 0.7608, 1.361, 2.22, 3.354, 4.782, 6.537, 8.607",\
                 "0.1419, 0.201, 0.3948, 0.7618, 1.365, 2.219, 3.354, 4.782, 6.537, 8.621",\
                 "0.157, 0.215, 0.4068, 0.7694, 1.366, 2.223, 3.352, 4.787, 6.526, 8.603",\
                 "0.1782, 0.2332, 0.4212, 0.7776, 1.369, 2.225, 3.355, 4.786, 6.526, 8.611",\
                 "0.2026, 0.2578, 0.4428, 0.7908, 1.375, 2.226, 3.358, 4.785, 6.529, 8.6",\
                 "0.2288, 0.2864, 0.4694, 0.8122, 1.385, 2.231, 3.359, 4.782, 6.531, 8.6",\
                 "0.2586, 0.3186, 0.5004, 0.839, 1.406, 2.247, 3.366, 4.787, 6.524, 8.613",\
                 "0.2896, 0.3522, 0.535, 0.8714, 1.431, 2.268, 3.383, 4.794, 6.528, 8.599");
        }
      }
    }
  }

/*--------EOF---------*/

}
